]> git.proxmox.com Git - ceph.git/commitdiff
import 15.2.2 octopus source
authorThomas Lamprecht <t.lamprecht@proxmox.com>
Fri, 22 May 2020 13:33:08 +0000 (15:33 +0200)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Fri, 22 May 2020 13:33:08 +0000 (15:33 +0200)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
367 files changed:
ceph/.github/CODEOWNERS
ceph/CMakeLists.txt
ceph/PendingReleaseNotes
ceph/alpine/APKBUILD
ceph/ceph.spec
ceph/ceph.spec.in
ceph/changelog.upstream
ceph/cmake/modules/FindFUSE.cmake [new file with mode: 0644]
ceph/cmake/modules/Findfuse.cmake [deleted file]
ceph/debian/cephadm.install
ceph/doc/cephadm/client-setup.rst [new file with mode: 0644]
ceph/doc/cephadm/drivegroups.rst
ceph/doc/cephadm/index.rst
ceph/doc/cephadm/install.rst
ceph/doc/cephadm/troubleshooting.rst
ceph/doc/cephadm/upgrade.rst
ceph/doc/cephfs/fs-volumes.rst
ceph/doc/dev/cephadm.rst [new file with mode: 0644]
ceph/doc/install/index.rst
ceph/doc/man/8/CMakeLists.txt
ceph/doc/man/8/cephadm.rst [new file with mode: 0644]
ceph/doc/mgr/orchestrator.rst
ceph/doc/releases/nautilus.rst
ceph/monitoring/grafana/dashboards/ceph-cluster.json
ceph/monitoring/grafana/dashboards/host-details.json
ceph/monitoring/grafana/dashboards/hosts-overview.json
ceph/monitoring/grafana/dashboards/osd-device-details.json
ceph/monitoring/grafana/dashboards/pool-detail.json
ceph/monitoring/prometheus/alerts/ceph_default_alerts.yml
ceph/qa/cephfs/begin.yaml
ceph/qa/distros/supported-random-distro$/centos_8.yaml [deleted symlink]
ceph/qa/distros/supported-random-distro$/centos_latest.yaml [new symlink]
ceph/qa/distros/supported-random-distro$/rhel_8.yaml [deleted symlink]
ceph/qa/distros/supported-random-distro$/rhel_latest.yaml [new symlink]
ceph/qa/distros/supported/centos_latest.yaml
ceph/qa/overrides/short_pg_log.yaml
ceph/qa/rgw_bucket_sharding/many.yaml [deleted file]
ceph/qa/standalone/mon/mon-last-epoch-clean.sh [new file with mode: 0755]
ceph/qa/standalone/osd/osd-backfill-stats.sh
ceph/qa/standalone/scrub/osd-scrub-repair.sh
ceph/qa/suites/fs/basic_functional/tasks/cephfs_scrub_tests.yaml
ceph/qa/suites/fs/basic_workload/tasks/cfuse_workunit_suites_fsx.yaml
ceph/qa/suites/kcephfs/cephfs/tasks/kclient_workunit_suites_fsx.yaml
ceph/qa/suites/multimds/basic/tasks/cfuse_workunit_suites_fsx.yaml
ceph/qa/suites/rados/cephadm/smoke-roleless/% [new file with mode: 0644]
ceph/qa/suites/rados/cephadm/smoke-roleless/.qa [new symlink]
ceph/qa/suites/rados/cephadm/smoke-roleless/distro [new symlink]
ceph/qa/suites/rados/cephadm/smoke-roleless/start.yaml [new file with mode: 0644]
ceph/qa/suites/rados/cephadm/upgrade/1-start.yaml
ceph/qa/suites/rados/dashboard/tasks/dashboard.yaml
ceph/qa/suites/rados/mgr/tasks/module_selftest.yaml
ceph/qa/suites/rados/rest/centos_latest.yaml [deleted symlink]
ceph/qa/suites/rados/rest/supported-random-distro$ [new symlink]
ceph/qa/suites/rados/singleton/all/osd-recovery.yaml
ceph/qa/suites/rados/thrash/workloads/radosbench-high-concurrency.yaml [new file with mode: 0644]
ceph/qa/suites/rgw/crypt/3-rgw/rgw.yaml
ceph/qa/suites/rgw/hadoop-s3a/overrides.yaml [new file with mode: 0644]
ceph/qa/suites/rgw/multifs/overrides.yaml
ceph/qa/suites/rgw/multisite/overrides.yaml
ceph/qa/suites/rgw/singleton/overrides.yaml
ceph/qa/suites/rgw/tempest/overrides.yaml [new file with mode: 0644]
ceph/qa/suites/rgw/thrash/civetweb.yaml
ceph/qa/suites/rgw/verify/overrides.yaml
ceph/qa/suites/rgw/website/overrides.yaml
ceph/qa/suites/upgrade/client-upgrade-octopus-pacific/octopus-client-x/.qa [new symlink]
ceph/qa/suites/upgrade/client-upgrade-octopus-pacific/octopus-client-x/rbd/% [new file with mode: 0644]
ceph/qa/suites/upgrade/client-upgrade-octopus-pacific/octopus-client-x/rbd/.qa [new symlink]
ceph/qa/suites/upgrade/client-upgrade-octopus-pacific/octopus-client-x/rbd/0-cluster/+ [new file with mode: 0644]
ceph/qa/suites/upgrade/client-upgrade-octopus-pacific/octopus-client-x/rbd/0-cluster/.qa [new symlink]
ceph/qa/suites/upgrade/client-upgrade-octopus-pacific/octopus-client-x/rbd/0-cluster/openstack.yaml [new file with mode: 0644]
ceph/qa/suites/upgrade/client-upgrade-octopus-pacific/octopus-client-x/rbd/0-cluster/start.yaml [new file with mode: 0644]
ceph/qa/suites/upgrade/client-upgrade-octopus-pacific/octopus-client-x/rbd/1-install/.qa [new symlink]
ceph/qa/suites/upgrade/client-upgrade-octopus-pacific/octopus-client-x/rbd/1-install/nautilus-client-x.yaml [new file with mode: 0644]
ceph/qa/suites/upgrade/client-upgrade-octopus-pacific/octopus-client-x/rbd/2-features/.qa [new symlink]
ceph/qa/suites/upgrade/client-upgrade-octopus-pacific/octopus-client-x/rbd/2-features/defaults.yaml [new file with mode: 0644]
ceph/qa/suites/upgrade/client-upgrade-octopus-pacific/octopus-client-x/rbd/2-features/layering.yaml [new file with mode: 0644]
ceph/qa/suites/upgrade/client-upgrade-octopus-pacific/octopus-client-x/rbd/3-workload/.qa [new symlink]
ceph/qa/suites/upgrade/client-upgrade-octopus-pacific/octopus-client-x/rbd/3-workload/rbd_notification_tests.yaml [new file with mode: 0644]
ceph/qa/suites/upgrade/client-upgrade-octopus-pacific/octopus-client-x/rbd/supported/.qa [new symlink]
ceph/qa/suites/upgrade/client-upgrade-octopus-pacific/octopus-client-x/rbd/supported/ubuntu_18.04.yaml [new symlink]
ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-parallel/% [new file with mode: 0644]
ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-parallel/point-to-point-upgrade.yaml [new file with mode: 0644]
ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-parallel/supported-all-distro/ubuntu_latest.yaml [new file with mode: 0644]
ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/% [new file with mode: 0644]
ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/0-cluster/+ [new file with mode: 0644]
ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/0-cluster/openstack.yaml [new file with mode: 0644]
ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/0-cluster/start.yaml [new file with mode: 0644]
ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/1-ceph-install/octopus.yaml [new file with mode: 0644]
ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/1.1.short_pg_log.yaml [new file with mode: 0644]
ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/2-partial-upgrade/firsthalf.yaml [new file with mode: 0644]
ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/3-thrash/default.yaml [new file with mode: 0644]
ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/4-workload/+ [new file with mode: 0644]
ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/4-workload/fsx.yaml [new file with mode: 0644]
ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/4-workload/radosbench.yaml [new file with mode: 0644]
ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/4-workload/rbd-cls.yaml [new file with mode: 0644]
ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/4-workload/rbd-import-export.yaml [new file with mode: 0644]
ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/4-workload/rbd_api.yaml [new file with mode: 0644]
ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/4-workload/readwrite.yaml [new file with mode: 0644]
ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/4-workload/snaps-few-objects.yaml [new file with mode: 0644]
ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/5-finish-upgrade.yaml [new file with mode: 0644]
ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/6-final-workload/+ [new file with mode: 0644]
ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/6-final-workload/rbd-python.yaml [new file with mode: 0644]
ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/6-final-workload/snaps-many-objects.yaml [new file with mode: 0644]
ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/objectstore/bluestore-bitmap.yaml [new file with mode: 0644]
ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/objectstore/bluestore-comp.yaml [new file with mode: 0644]
ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/objectstore/bluestore-stupid.yaml [new file with mode: 0644]
ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/objectstore/filestore-xfs.yaml [new file with mode: 0644]
ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/supported-all-distro/ubuntu_latest.yaml [new file with mode: 0644]
ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/thrashosds-health.yaml [new file with mode: 0644]
ceph/qa/tasks/cephadm.py
ceph/qa/tasks/cephfs/fuse_mount.py
ceph/qa/tasks/cephfs/kernel_mount.py
ceph/qa/tasks/cephfs/test_admin.py
ceph/qa/tasks/cephfs/test_data_scan.py
ceph/qa/tasks/cephfs/test_full.py
ceph/qa/tasks/cephfs/test_scrub_checks.py
ceph/qa/tasks/cephfs/test_volumes.py
ceph/qa/tasks/cephfs/xfstests_dev.py
ceph/qa/tasks/mgr/dashboard/test_perf_counters.py
ceph/qa/tasks/mgr/dashboard/test_rgw.py
ceph/qa/tasks/radosbench.py
ceph/qa/tasks/rgw.py
ceph/qa/tasks/vstart_runner.py
ceph/qa/workunits/cephadm/test_adoption.sh
ceph/qa/workunits/cephadm/test_cephadm.sh
ceph/qa/workunits/mon/pool_ops.sh
ceph/qa/workunits/rbd/rbd_mirror_ha.sh
ceph/qa/workunits/rbd/rbd_mirror_helpers.sh
ceph/qa/workunits/rbd/rbd_mirror_journal.sh
ceph/qa/workunits/rest/test_mgr_rest_api.py
ceph/src/.git_version
ceph/src/CMakeLists.txt
ceph/src/ceph-volume/ceph_volume/devices/lvm/batch.py
ceph/src/ceph-volume/ceph_volume/devices/simple/scan.py
ceph/src/ceph-volume/ceph_volume/tests/functional/batch/playbooks/test_explicit.yml
ceph/src/ceph-volume/ceph_volume/tests/functional/playbooks/deploy.yml
ceph/src/ceph.in
ceph/src/ceph_fuse.cc
ceph/src/cephadm/cephadm
ceph/src/cephadm/samples/rgw_ssl.json [new file with mode: 0644]
ceph/src/cephadm/tox.ini
ceph/src/client/Client.cc
ceph/src/client/fuse_ll.cc
ceph/src/cls/journal/cls_journal_types.h
ceph/src/cls/rbd/cls_rbd_types.cc
ceph/src/cls/rbd/cls_rbd_types.h
ceph/src/common/AsyncOpTracker.h
ceph/src/common/options.cc
ceph/src/include/ceph_fuse.h [new file with mode: 0644]
ceph/src/include/denc.h
ceph/src/include/rbd/librbd.h
ceph/src/kv/RocksDBStore.h
ceph/src/librbd/DeepCopyRequest.cc
ceph/src/librbd/DeepCopyRequest.h
ceph/src/librbd/api/Image.cc
ceph/src/librbd/api/Migration.cc
ceph/src/librbd/api/Mirror.cc
ceph/src/librbd/api/Trash.cc
ceph/src/librbd/deep_copy/Handler.h [new file with mode: 0644]
ceph/src/librbd/deep_copy/ImageCopyRequest.cc
ceph/src/librbd/deep_copy/ImageCopyRequest.h
ceph/src/librbd/deep_copy/ObjectCopyRequest.cc
ceph/src/librbd/deep_copy/ObjectCopyRequest.h
ceph/src/librbd/image/CloneRequest.cc
ceph/src/librbd/image/CreateRequest.cc
ceph/src/librbd/image/CreateRequest.h
ceph/src/librbd/image/Types.h [new file with mode: 0644]
ceph/src/librbd/internal.cc
ceph/src/librbd/io/CopyupRequest.cc
ceph/src/librbd/mirror/EnableRequest.cc
ceph/src/librbd/mirror/EnableRequest.h
ceph/src/librbd/mirror/snapshot/CreateNonPrimaryRequest.cc
ceph/src/librbd/mirror/snapshot/CreateNonPrimaryRequest.h
ceph/src/librbd/mirror/snapshot/CreatePrimaryRequest.cc
ceph/src/librbd/mirror/snapshot/CreatePrimaryRequest.h
ceph/src/librbd/mirror/snapshot/DemoteRequest.cc
ceph/src/librbd/mirror/snapshot/PromoteRequest.cc
ceph/src/librbd/mirror/snapshot/UnlinkPeerRequest.cc
ceph/src/librbd/operation/EnableFeaturesRequest.cc
ceph/src/librbd/operation/MigrateRequest.cc
ceph/src/mds/Locker.cc
ceph/src/mds/MDCache.cc
ceph/src/mds/Mutation.cc
ceph/src/mds/Mutation.h
ceph/src/mds/SimpleLock.cc
ceph/src/mds/SimpleLock.h
ceph/src/mgr/DaemonServer.cc
ceph/src/mgr/DaemonServer.h
ceph/src/mgr/PyModule.cc
ceph/src/mon/FSCommands.cc
ceph/src/mon/Monitor.cc
ceph/src/mon/OSDMonitor.cc
ceph/src/mon/OSDMonitor.h
ceph/src/os/CMakeLists.txt
ceph/src/os/FuseStore.cc
ceph/src/os/bluestore/BitmapFreelistManager.cc
ceph/src/os/bluestore/BitmapFreelistManager.h
ceph/src/os/bluestore/BlueFS.cc
ceph/src/os/bluestore/BlueFS.h
ceph/src/os/bluestore/BlueRocksEnv.cc
ceph/src/os/bluestore/BlueStore.cc
ceph/src/os/bluestore/BlueStore.h
ceph/src/os/bluestore/FreelistManager.h
ceph/src/os/bluestore/bluestore_tool.cc
ceph/src/os/bluestore/bluestore_types.h
ceph/src/osd/PeeringState.cc
ceph/src/osd/PeeringState.h
ceph/src/osd/PrimaryLogPG.cc
ceph/src/osd/PrimaryLogPG.h
ceph/src/pybind/mgr/cephadm/module.py
ceph/src/pybind/mgr/cephadm/nfs.py
ceph/src/pybind/mgr/cephadm/tests/fixtures.py
ceph/src/pybind/mgr/cephadm/tests/test_cephadm.py
ceph/src/pybind/mgr/cephadm/tests/test_spec.py [new file with mode: 0644]
ceph/src/pybind/mgr/cephadm/utils.py
ceph/src/pybind/mgr/dashboard/controllers/iscsi.py
ceph/src/pybind/mgr/dashboard/controllers/rbd.py
ceph/src/pybind/mgr/dashboard/frontend/dist/en-US/2.adb5a86b21cf4e105cd2.js [deleted file]
ceph/src/pybind/mgr/dashboard/frontend/dist/en-US/2.d36650ee0a92dfd05faa.js [new file with mode: 0644]
ceph/src/pybind/mgr/dashboard/frontend/dist/en-US/6.4299ba94dd69b0b04046.js [new file with mode: 0644]
ceph/src/pybind/mgr/dashboard/frontend/dist/en-US/6.fd03afd7d5e918275ed6.js [deleted file]
ceph/src/pybind/mgr/dashboard/frontend/dist/en-US/7.b9f7cf0935ea27ecc60a.js [deleted file]
ceph/src/pybind/mgr/dashboard/frontend/dist/en-US/7.cf5f8c70f123c771366b.js [new file with mode: 0644]
ceph/src/pybind/mgr/dashboard/frontend/dist/en-US/8.50be3ebee1410d3e6387.js [deleted file]
ceph/src/pybind/mgr/dashboard/frontend/dist/en-US/8.f45b72794d78f44d11b9.js [new file with mode: 0644]
ceph/src/pybind/mgr/dashboard/frontend/dist/en-US/9.827ca6d4c4df11fe3a62.js [deleted file]
ceph/src/pybind/mgr/dashboard/frontend/dist/en-US/9.a6e2f7400e0a62470111.js [new file with mode: 0644]
ceph/src/pybind/mgr/dashboard/frontend/dist/en-US/index.html
ceph/src/pybind/mgr/dashboard/frontend/dist/en-US/main.3101f12ca40b61271b1f.js [deleted file]
ceph/src/pybind/mgr/dashboard/frontend/dist/en-US/main.bbd2d62de0d7a670cae3.js [new file with mode: 0644]
ceph/src/pybind/mgr/dashboard/frontend/dist/en-US/runtime.2fd4e31a298ae797b302.js [new file with mode: 0644]
ceph/src/pybind/mgr/dashboard/frontend/dist/en-US/runtime.a1d3bd9700d820216e9a.js [deleted file]
ceph/src/pybind/mgr/dashboard/frontend/i18n.config.json
ceph/src/pybind/mgr/dashboard/frontend/src/app/ceph/block/iscsi-target-discovery-modal/iscsi-target-discovery-modal.component.html
ceph/src/pybind/mgr/dashboard/frontend/src/app/ceph/block/iscsi-target-discovery-modal/iscsi-target-discovery-modal.component.spec.ts
ceph/src/pybind/mgr/dashboard/frontend/src/app/ceph/block/iscsi-target-discovery-modal/iscsi-target-discovery-modal.component.ts
ceph/src/pybind/mgr/dashboard/frontend/src/app/ceph/block/iscsi-target-form/iscsi-target-form.component.html
ceph/src/pybind/mgr/dashboard/frontend/src/app/ceph/block/iscsi-target-form/iscsi-target-form.component.spec.ts
ceph/src/pybind/mgr/dashboard/frontend/src/app/ceph/block/iscsi-target-form/iscsi-target-form.component.ts
ceph/src/pybind/mgr/dashboard/frontend/src/app/ceph/block/mirroring/overview/overview.component.ts
ceph/src/pybind/mgr/dashboard/frontend/src/app/ceph/block/rbd-form/rbd-form.component.spec.ts
ceph/src/pybind/mgr/dashboard/frontend/src/app/ceph/block/rbd-form/rbd-form.component.ts
ceph/src/pybind/mgr/dashboard/frontend/src/app/ceph/block/rbd-trash-purge-modal/rbd-trash-purge-modal.component.spec.ts
ceph/src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/prometheus/rules-list/rules-list.component.html
ceph/src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/prometheus/rules-list/rules-list.component.spec.ts
ceph/src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/services/service-daemon-list/service-daemon-list.component.ts
ceph/src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/services/service-details/service-details.component.spec.ts
ceph/src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/services/services.component.spec.ts
ceph/src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/services/services.component.ts
ceph/src/pybind/mgr/dashboard/frontend/src/app/ceph/nfs/nfs-form/nfs-form.component.spec.ts
ceph/src/pybind/mgr/dashboard/frontend/src/app/ceph/nfs/nfs-list/nfs-list.component.spec.ts
ceph/src/pybind/mgr/dashboard/frontend/src/app/ceph/pool/pool-details/pool-details.component.spec.ts
ceph/src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/rgw-bucket-list/rgw-bucket-list.component.html
ceph/src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/rgw-bucket-list/rgw-bucket-list.component.ts
ceph/src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/rgw-user-list/rgw-user-list.component.html
ceph/src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/rgw-user-list/rgw-user-list.component.ts
ceph/src/pybind/mgr/dashboard/frontend/src/app/core/layouts/workbench-layout/workbench-layout.component.ts
ceph/src/pybind/mgr/dashboard/frontend/src/app/core/navigation/navigation/navigation.component.ts
ceph/src/pybind/mgr/dashboard/frontend/src/app/core/navigation/notifications/notifications.component.ts
ceph/src/pybind/mgr/dashboard/frontend/src/app/shared/api/ceph-service.service.ts
ceph/src/pybind/mgr/dashboard/frontend/src/app/shared/api/rbd-mirroring.service.spec.ts
ceph/src/pybind/mgr/dashboard/frontend/src/app/shared/api/rbd-mirroring.service.ts
ceph/src/pybind/mgr/dashboard/frontend/src/app/shared/components/notifications-sidebar/notifications-sidebar.component.ts
ceph/src/pybind/mgr/dashboard/frontend/src/app/shared/datatable/table/table.component.html
ceph/src/pybind/mgr/dashboard/frontend/src/app/shared/datatable/table/table.component.ts
ceph/src/pybind/mgr/dashboard/frontend/src/app/shared/enum/cell-template.enum.ts
ceph/src/pybind/mgr/dashboard/frontend/src/app/shared/models/service.interface.ts
ceph/src/pybind/mgr/dashboard/frontend/src/app/shared/pipes/pipes.module.ts
ceph/src/pybind/mgr/dashboard/frontend/src/app/shared/pipes/truncate.pipe.spec.ts [new file with mode: 0644]
ceph/src/pybind/mgr/dashboard/frontend/src/app/shared/pipes/truncate.pipe.ts [new file with mode: 0644]
ceph/src/pybind/mgr/dashboard/frontend/src/app/shared/services/feature-toggles.service.ts
ceph/src/pybind/mgr/dashboard/frontend/src/app/shared/services/summary.service.spec.ts
ceph/src/pybind/mgr/dashboard/frontend/src/app/shared/services/summary.service.ts
ceph/src/pybind/mgr/dashboard/frontend/src/app/shared/services/task-manager.service.spec.ts
ceph/src/pybind/mgr/dashboard/frontend/src/app/shared/services/task-manager.service.ts
ceph/src/pybind/mgr/dashboard/frontend/src/app/shared/services/timer.service.spec.ts [new file with mode: 0644]
ceph/src/pybind/mgr/dashboard/frontend/src/app/shared/services/timer.service.ts [new file with mode: 0644]
ceph/src/pybind/mgr/dashboard/frontend/src/locale/messages.cs.xlf
ceph/src/pybind/mgr/dashboard/frontend/src/locale/messages.de-DE.xlf
ceph/src/pybind/mgr/dashboard/frontend/src/locale/messages.es-ES.xlf
ceph/src/pybind/mgr/dashboard/frontend/src/locale/messages.fr-FR.xlf
ceph/src/pybind/mgr/dashboard/frontend/src/locale/messages.id-ID.xlf
ceph/src/pybind/mgr/dashboard/frontend/src/locale/messages.it-IT.xlf
ceph/src/pybind/mgr/dashboard/frontend/src/locale/messages.ja-JP.xlf
ceph/src/pybind/mgr/dashboard/frontend/src/locale/messages.ko-KR.xlf
ceph/src/pybind/mgr/dashboard/frontend/src/locale/messages.pl-PL.xlf
ceph/src/pybind/mgr/dashboard/frontend/src/locale/messages.pt-BR.xlf
ceph/src/pybind/mgr/dashboard/frontend/src/locale/messages.zh-CN.xlf
ceph/src/pybind/mgr/dashboard/frontend/src/locale/messages.zh-TW.xlf
ceph/src/pybind/mgr/dashboard/frontend/src/testing/unit-test-helper.ts
ceph/src/pybind/mgr/dashboard/module.py
ceph/src/pybind/mgr/dashboard/plugins/debug.py
ceph/src/pybind/mgr/dashboard/tests/test_iscsi.py
ceph/src/pybind/mgr/orchestrator/_interface.py
ceph/src/pybind/mgr/orchestrator/module.py
ceph/src/pybind/mgr/requirements.txt
ceph/src/pybind/mgr/rook/module.py
ceph/src/pybind/mgr/telegraf/module.py
ceph/src/pybind/mgr/test_orchestrator/dummy_data.json
ceph/src/pybind/mgr/test_orchestrator/module.py
ceph/src/pybind/mgr/tests/__init__.py
ceph/src/pybind/mgr/tox.ini
ceph/src/pybind/mgr/volumes/fs/operations/versions/subvolume_base.py
ceph/src/pybind/mgr/volumes/fs/volume.py
ceph/src/pybind/mgr/volumes/module.py
ceph/src/pybind/rbd/rbd.pyx
ceph/src/python-common/ceph/deployment/drive_group.py
ceph/src/python-common/ceph/deployment/service_spec.py
ceph/src/python-common/ceph/deployment/translate.py
ceph/src/python-common/ceph/tests/test_drive_group.py
ceph/src/python-common/ceph/tests/test_service_spec.py
ceph/src/python-common/requirements.txt
ceph/src/rbd_fuse/CMakeLists.txt
ceph/src/rbd_fuse/rbd-fuse.cc
ceph/src/rgw/rgw_admin.cc
ceph/src/rgw/rgw_bucket.cc
ceph/src/rgw/rgw_bucket.h
ceph/src/rgw/rgw_main.cc
ceph/src/rgw/rgw_op.cc
ceph/src/rgw/rgw_reshard.cc
ceph/src/rgw/rgw_sync_module_pubsub.cc
ceph/src/test/cli-integration/rbd/unmap.t
ceph/src/test/cli/rbd/help.t
ceph/src/test/libcephfs/deleg.cc
ceph/src/test/librbd/deep_copy/test_mock_ImageCopyRequest.cc
ceph/src/test/librbd/deep_copy/test_mock_ObjectCopyRequest.cc
ceph/src/test/librbd/image/test_mock_CloneRequest.cc
ceph/src/test/librbd/io/test_mock_CopyupRequest.cc
ceph/src/test/librbd/mirror/snapshot/test_mock_CreateNonPrimaryRequest.cc
ceph/src/test/librbd/mirror/snapshot/test_mock_CreatePrimaryRequest.cc
ceph/src/test/librbd/mirror/snapshot/test_mock_PromoteRequest.cc
ceph/src/test/librbd/mirror/snapshot/test_mock_Utils.cc
ceph/src/test/librbd/operation/test_mock_EnableFeaturesRequest.cc
ceph/src/test/librbd/test_librbd.cc
ceph/src/test/librbd/test_mock_DeepCopyRequest.cc
ceph/src/test/objectstore/store_test.cc
ceph/src/test/objectstore/test_bluefs.cc
ceph/src/test/objectstore/test_bluestore_types.cc
ceph/src/test/pybind/test_rbd.py
ceph/src/test/rbd_mirror/image_replayer/journal/test_mock_Replayer.cc
ceph/src/test/rbd_mirror/image_replayer/snapshot/test_mock_Replayer.cc
ceph/src/test/rbd_mirror/test_mock_ImageSync.cc
ceph/src/test/rbd_mirror/test_mock_InstanceReplayer.cc
ceph/src/tools/CMakeLists.txt
ceph/src/tools/cephfs/JournalTool.cc
ceph/src/tools/rbd/ArgumentTypes.cc
ceph/src/tools/rbd/ArgumentTypes.h
ceph/src/tools/rbd/Utils.cc
ceph/src/tools/rbd/action/MirrorPool.cc
ceph/src/tools/rbd/action/Snap.cc
ceph/src/tools/rbd_mirror/CMakeLists.txt
ceph/src/tools/rbd_mirror/ImageReplayer.cc
ceph/src/tools/rbd_mirror/ImageReplayer.h
ceph/src/tools/rbd_mirror/ImageSync.cc
ceph/src/tools/rbd_mirror/ImageSync.h
ceph/src/tools/rbd_mirror/InstanceReplayer.cc
ceph/src/tools/rbd_mirror/image_replayer/CreateImageRequest.cc
ceph/src/tools/rbd_mirror/image_replayer/OpenImageRequest.cc
ceph/src/tools/rbd_mirror/image_replayer/TimeRollingMean.cc [new file with mode: 0644]
ceph/src/tools/rbd_mirror/image_replayer/TimeRollingMean.h [new file with mode: 0644]
ceph/src/tools/rbd_mirror/image_replayer/journal/ReplayStatusFormatter.cc
ceph/src/tools/rbd_mirror/image_replayer/journal/ReplayStatusFormatter.h
ceph/src/tools/rbd_mirror/image_replayer/journal/Replayer.cc
ceph/src/tools/rbd_mirror/image_replayer/journal/Replayer.h
ceph/src/tools/rbd_mirror/image_replayer/snapshot/Replayer.cc
ceph/src/tools/rbd_mirror/image_replayer/snapshot/Replayer.h
ceph/test_cephadm.sh [deleted file]

index 97bc99147c96e9e95c29024452f83c931fe471de..86e37fa11c26b91de39c8e26f3bcff0ea19a3de5 100644 (file)
 /src/pybind/mgr/cephadm                         @ceph/orchestrators
 /src/pybind/mgr/test_orchestrator               @ceph/orchestrators
 /src/python-common/ceph/deployment              @ceph/orchestrators
-/qa/workunits/cephadm/test_cephadm.sh           @ceph/orchestrators
+/qa/workunits/cephadm                           @ceph/orchestrators
 /qa/tasks/cephadm.py                            @ceph/orchestrators
 /qa/tasks/mgr/test_orchestrator_cli.py          @ceph/orchestrators
 /qa/tasks/mgr/test_cephadm_orchestrator.py      @ceph/orchestrators
-/doc/mgr/orchestrator_cli.rst                   @ceph/orchestrators
+/qa/suites/rados/cephadm                        @ceph/orchestrators
+/doc/mgr/orchestrator.rst                       @ceph/orchestrators
 /doc/mgr/orchestrator_modules.rst               @ceph/orchestrators
+/doc/cephadm                                    @ceph/orchestrators
+/doc/dev/cephadm.rst                            @ceph/orchestrators
 
 #ceph-volume
 /src/ceph-volume                                @ceph/ceph-volume
index b2dc184e6ae0ff95f932542110259eef141cfe24..caf4ac4dd72ccdd6028a51d3e62179fa02087e8d 100644 (file)
@@ -159,7 +159,7 @@ endif()
 
 option(WITH_FUSE "Fuse is here" ON)
 if(WITH_FUSE)
-  find_package(fuse)
+  find_package(FUSE)
   set(HAVE_LIBFUSE ${FUSE_FOUND})
 endif()
 
@@ -667,4 +667,4 @@ add_custom_target(tags DEPENDS ctags)
 
 find_package(CppCheck)
 find_package(IWYU)
-set(VERSION 15.2.1)
+set(VERSION 15.2.2)
index c9fd4c79451858ebfc14b45b83b3ef7b8fc09050..6e07ce6d4e3faf855749841fa0a2805faedc71d4 100644 (file)
@@ -1,6 +1,8 @@
 >=15.0.0
 --------
 
+* CVE-2020-10736: Fixes an authorization bypass in monitor and manager daemons
+
 * The RGW "num_rados_handles" has been removed.
   * If you were using a value of "num_rados_handles" greater than 1
     multiply your current "objecter_inflight_ops" and 
index d3c76725b6d76fe9b7b021ac93b509e6a9b20594..78b1ffd01278a482ffdf5240ba5117ff32ac69b2 100644 (file)
@@ -1,7 +1,7 @@
 # Contributor: John Coyle <dx9err@gmail.com>
 # Maintainer: John Coyle <dx9err@gmail.com>
 pkgname=ceph
-pkgver=15.2.1
+pkgver=15.2.2
 pkgrel=0
 pkgdesc="Ceph is a distributed object store and file system"
 pkgusers="ceph"
@@ -63,7 +63,7 @@ makedepends="
        xmlstarlet
        yasm
 "
-source="ceph-15.2.1.tar.bz2"
+source="ceph-15.2.2.tar.bz2"
 subpackages="
        $pkgname-base
        $pkgname-common
@@ -116,7 +116,7 @@ _sysconfdir=/etc
 _udevrulesdir=/etc/udev/rules.d
 _python_sitelib=/usr/lib/python2.7/site-packages
 
-builddir=$srcdir/ceph-15.2.1
+builddir=$srcdir/ceph-15.2.2
 
 build() {
        export CEPH_BUILD_VIRTUALENV=$builddir
index fd2794f74c4b2eaec3960289e0bb477017db2d74..7946fad10d03ffbb454d99e23f5454e0a72ed143 100644 (file)
 %global _remote_tarball_prefix https://download.ceph.com/tarballs/
 %endif
 %if 0%{?suse_version}
-%bcond_with selinux
-%bcond_with cephfs_java
 %bcond_with amqp_endpoint
+%bcond_with cephfs_java
 %bcond_with kafka_endpoint
-#Compat macro for new _fillupdir macro introduced in Nov 2017
-%if ! %{defined _fillupdir}
-%global _fillupdir /var/adm/fillup-templates
-%endif
-%if 0%{?is_opensuse}
-%bcond_without libradosstriper
-%bcond_without ocf
-%else
 %bcond_with libradosstriper
-%bcond_with ocf
-%endif
 %ifarch x86_64 aarch64 ppc64le
 %bcond_without lttng
 %else
 %bcond_with lttng
 %endif
+%bcond_with ocf
+%bcond_with selinux
+#Compat macro for _fillupdir macro introduced in Nov 2017
+%if ! %{defined _fillupdir}
+%global _fillupdir /var/adm/fillup-templates
+%endif
 %endif
 %bcond_with seastar
 %if 0%{?fedora} || 0%{?suse_version} >= 1500
 # main package definition
 #################################################################################
 Name:          ceph
-Version:       15.2.1
+Version:       15.2.2
 Release:       0%{?dist}
 %if 0%{?fedora} || 0%{?rhel}
 Epoch:         2
@@ -119,7 +114,7 @@ License:    LGPL-2.1 and LGPL-3.0 and CC-BY-SA-3.0 and GPL-2.0 and BSL-1.0 and BSD-
 Group:         System/Filesystems
 %endif
 URL:           http://ceph.com/
-Source0:       %{?_remote_tarball_prefix}ceph-15.2.1.tar.bz2
+Source0:       %{?_remote_tarball_prefix}ceph-15.2.2.tar.bz2
 %if 0%{?suse_version}
 # _insert_obs_source_lines_here
 ExclusiveArch:  x86_64 aarch64 ppc64le s390x
@@ -526,12 +521,16 @@ Requires:       python%{python3_pkgversion}-cherrypy
 Requires:       python%{python3_pkgversion}-jwt
 Requires:       python%{python3_pkgversion}-routes
 Requires:       python%{python3_pkgversion}-werkzeug
+%if 0%{?weak_deps}
+Recommends:     python%{python3_pkgversion}-saml
+%endif
 %endif
 %if 0%{?suse_version}
 Requires:       python%{python3_pkgversion}-CherryPy
 Requires:       python%{python3_pkgversion}-PyJWT
 Requires:       python%{python3_pkgversion}-Routes
 Requires:       python%{python3_pkgversion}-Werkzeug
+Recommends:     python%{python3_pkgversion}-python3-saml
 %endif
 %description mgr-dashboard
 ceph-mgr-dashboard is a manager module, providing a web-based application
@@ -936,7 +935,7 @@ Summary:    Ceph distributed file system client library
 %if 0%{?suse_version}
 Group:         System/Libraries
 %endif
-Obsoletes:     libcephfs1
+Obsoletes:     libcephfs1 < %{_epoch_prefix}%{version}-%{release}
 %if 0%{?rhel} || 0%{?fedora}
 Obsoletes:     ceph-libs < %{_epoch_prefix}%{version}-%{release}
 Obsoletes:     ceph-libcephfs
@@ -1118,7 +1117,7 @@ This package provides Ceph’s default alerts for Prometheus.
 # common
 #################################################################################
 %prep
-%autosetup -p1 -n ceph-15.2.1
+%autosetup -p1 -n ceph-15.2.2
 
 %build
 # LTO can be enabled as soon as the following GCC bug is fixed:
@@ -1450,6 +1449,7 @@ exit 0
 
 %files -n cephadm
 %{_sbindir}/cephadm
+%{_mandir}/man8/cephadm.8*
 %{_sysconfdir}/sudoers.d/cephadm
 %attr(0700,cephadm,cephadm) %dir %{_sharedstatedir}/cephadm
 %attr(0700,cephadm,cephadm) %dir %{_sharedstatedir}/cephadm/.ssh
@@ -2325,8 +2325,7 @@ if [ $1 -eq 0 ]; then
     fi
 fi
 exit 0
-
-%endif # with selinux
+%endif
 
 %files grafana-dashboards
 %if 0%{?suse_version}
index 01e9ca5b7faca6805b5db087b2b6f1e74d6cee8b..2d20cd2bcb7bc7f6b9165f288a6f2ce721361c50 100644 (file)
 %global _remote_tarball_prefix https://download.ceph.com/tarballs/
 %endif
 %if 0%{?suse_version}
-%bcond_with selinux
-%bcond_with cephfs_java
 %bcond_with amqp_endpoint
+%bcond_with cephfs_java
 %bcond_with kafka_endpoint
-#Compat macro for new _fillupdir macro introduced in Nov 2017
-%if ! %{defined _fillupdir}
-%global _fillupdir /var/adm/fillup-templates
-%endif
-%if 0%{?is_opensuse}
-%bcond_without libradosstriper
-%bcond_without ocf
-%else
 %bcond_with libradosstriper
-%bcond_with ocf
-%endif
 %ifarch x86_64 aarch64 ppc64le
 %bcond_without lttng
 %else
 %bcond_with lttng
 %endif
+%bcond_with ocf
+%bcond_with selinux
+#Compat macro for _fillupdir macro introduced in Nov 2017
+%if ! %{defined _fillupdir}
+%global _fillupdir /var/adm/fillup-templates
+%endif
 %endif
 %bcond_with seastar
 %if 0%{?fedora} || 0%{?suse_version} >= 1500
@@ -526,12 +521,16 @@ Requires:       python%{python3_pkgversion}-cherrypy
 Requires:       python%{python3_pkgversion}-jwt
 Requires:       python%{python3_pkgversion}-routes
 Requires:       python%{python3_pkgversion}-werkzeug
+%if 0%{?weak_deps}
+Recommends:     python%{python3_pkgversion}-saml
+%endif
 %endif
 %if 0%{?suse_version}
 Requires:       python%{python3_pkgversion}-CherryPy
 Requires:       python%{python3_pkgversion}-PyJWT
 Requires:       python%{python3_pkgversion}-Routes
 Requires:       python%{python3_pkgversion}-Werkzeug
+Recommends:     python%{python3_pkgversion}-python3-saml
 %endif
 %description mgr-dashboard
 ceph-mgr-dashboard is a manager module, providing a web-based application
@@ -936,7 +935,7 @@ Summary:    Ceph distributed file system client library
 %if 0%{?suse_version}
 Group:         System/Libraries
 %endif
-Obsoletes:     libcephfs1
+Obsoletes:     libcephfs1 < %{_epoch_prefix}%{version}-%{release}
 %if 0%{?rhel} || 0%{?fedora}
 Obsoletes:     ceph-libs < %{_epoch_prefix}%{version}-%{release}
 Obsoletes:     ceph-libcephfs
@@ -1450,6 +1449,7 @@ exit 0
 
 %files -n cephadm
 %{_sbindir}/cephadm
+%{_mandir}/man8/cephadm.8*
 %{_sysconfdir}/sudoers.d/cephadm
 %attr(0700,cephadm,cephadm) %dir %{_sharedstatedir}/cephadm
 %attr(0700,cephadm,cephadm) %dir %{_sharedstatedir}/cephadm/.ssh
@@ -2325,8 +2325,7 @@ if [ $1 -eq 0 ]; then
     fi
 fi
 exit 0
-
-%endif # with selinux
+%endif
 
 %files grafana-dashboards
 %if 0%{?suse_version}
index 2bcd6d6793de08009e59d104f7906b3256adf89a..b11435736619075c35bd0b78e99985f2357d2d30 100644 (file)
@@ -1,7 +1,13 @@
-ceph (15.2.1-1bionic) bionic; urgency=medium
+ceph (15.2.2-1bionic) bionic; urgency=medium
 
 
- -- Jenkins Build Slave User <jenkins-build@braggi13.front.sepia.ceph.com>  Wed, 08 Apr 2020 18:04:14 +0000
+ -- Jenkins Build Slave User <jenkins-build@braggi13.front.sepia.ceph.com>  Mon, 18 May 2020 16:37:36 +0000
+
+ceph (15.2.2-1) stable; urgency=medium
+
+  * New upstream release
+
+ -- Ceph Release Team <ceph-maintainers@ceph.com>  Mon, 18 May 2020 16:25:10 +0000
 
 ceph (15.2.1-1) stable; urgency=medium
 
diff --git a/ceph/cmake/modules/FindFUSE.cmake b/ceph/cmake/modules/FindFUSE.cmake
new file mode 100644 (file)
index 0000000..1d0766f
--- /dev/null
@@ -0,0 +1,58 @@
+# This module can find FUSE Library
+#
+# The following variables will be defined for your use:
+# - FUSE_FOUND : was FUSE found?
+# - FUSE_INCLUDE_DIRS : FUSE include directory
+# - FUSE_LIBRARIES : FUSE library
+# - FUSE_VERSION : the version of the FUSE library found
+
+if(PACKAGE_FIND_VERSION AND PACKAGE_FIND_VERSION VERSION_LESS "3.0")
+  set(fuse_names fuse)
+  set(fuse_suffixes fuse)
+else()
+  set(fuse_names fuse3 fuse)
+  set(fuse_suffixes fuse3 fuse)
+endif()
+
+if(APPLE)
+  list(APPEND fuse_names libosxfuse.dylib)
+  list(APPEND fuse_suffixes osxfuse)
+endif()
+
+find_path(
+  FUSE_INCLUDE_DIR
+  NAMES fuse_common.h fuse_lowlevel.h fuse.h
+  PATH_SUFFIXES ${fuse_suffixes})
+
+find_library(FUSE_LIBRARIES
+  NAMES ${fuse_names}
+  PATHS /usr/local/lib64 /usr/local/lib)
+
+foreach(ver "MAJOR" "MINOR")
+  file(STRINGS "${FUSE_INCLUDE_DIR}/fuse_common.h" fuse_ver_${ver}_line
+    REGEX "^#define[\t ]+FUSE_${ver}_VERSION[\t ]+[0-9]+$")
+  string(REGEX REPLACE ".*#define[\t ]+FUSE_${ver}_VERSION[\t ]+([0-9]+)$"
+    "\\1" FUSE_VERSION_${ver} "${fuse_ver_${ver}_line}")
+endforeach()
+set(FUSE_VERSION
+  "${FUSE_VERSION_MAJOR}.${FUSE_VERSION_MINOR}")
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(FUSE
+  REQUIRED_VARS FUSE_LIBRARIES FUSE_INCLUDE_DIR
+  VERSION_VAR FUSE_VERSION)
+
+mark_as_advanced(
+  FUSE_INCLUDE_DIR)
+
+if(FUSE_FOUND)
+  set(FUSE_INCLUDE_DIRS ${FUSE_INCLUDE_DIR})
+  if(NOT TARGET FUSE::FUSE)
+    add_library(FUSE::FUSE UNKNOWN IMPORTED)
+    set_target_properties(FUSE::FUSE PROPERTIES
+      INTERFACE_INCLUDE_DIRECTORIES "${FUSE_INCLUDE_DIRS}"
+      IMPORTED_LINK_INTERFACE_LANGUAGES "C"
+      IMPORTED_LOCATION "${FUSE_LIBRARIES}"
+      VERSION "${FUSE_VERSION}")
+  endif()
+endif()
diff --git a/ceph/cmake/modules/Findfuse.cmake b/ceph/cmake/modules/Findfuse.cmake
deleted file mode 100644 (file)
index e7a7ff0..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-# This module can find FUSE Library
-#
-# The following variables will be defined for your use:
-# - FUSE_FOUND : was FUSE found?
-# - FUSE_INCLUDE_DIRS : FUSE include directory
-# - FUSE_LIBRARIES : FUSE library
-
-find_path(
-    FUSE_INCLUDE_DIRS
-    NAMES fuse_common.h fuse_lowlevel.h fuse.h
-    PATHS /usr/local/include/osxfuse /usr/local/include
-    PATH_SUFFIXES fuse)
-
-set(fuse_names fuse)
-if(APPLE)
-  list(APPEND fuse_names libosxfuse.dylib)
-endif()
-
-find_library(FUSE_LIBRARIES
-  NAMES ${fuse_names}
-  PATHS /usr/local/lib64 /usr/local/lib)
-
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(fuse DEFAULT_MSG
-  FUSE_INCLUDE_DIRS FUSE_LIBRARIES)
-
-mark_as_advanced(
-  FUSE_INCLUDE_DIRS FUSE_LIBRARIES)
index 262f3eec6ab52cee05eee9c21a6a26bd372d6fc1..49d6cc34de8895e5d2b6df826565d0ad5750102c 100644 (file)
@@ -1,2 +1,3 @@
 usr/sbin/cephadm
+usr/share/man/man8/cephadm.8
 etc/sudoers.d/cephadm
diff --git a/ceph/doc/cephadm/client-setup.rst b/ceph/doc/cephadm/client-setup.rst
new file mode 100644 (file)
index 0000000..dd0bc32
--- /dev/null
@@ -0,0 +1,36 @@
+=======================
+Basic Ceph Client Setup
+=======================
+Client machines need some basic configuration in order to interact with
+a cluster. This document describes how to configure a client machine
+for cluster interaction.
+
+.. note:: Most client machines only need the `ceph-common` package and
+          its dependencies installed. That will supply the basic `ceph`
+          and `rados` commands, as well as other commands like
+          `mount.ceph` and `rbd`.
+
+Config File Setup
+=================
+Client machines can generally get away with a smaller config file than
+a full-fledged cluster member. To generate a minimal config file, log
+into a host that is already configured as a client or running a cluster
+daemon, and then run::
+
+    ceph config generate-minimal-conf
+
+This will generate a minimal config file that will tell the client how to
+reach the Ceph Monitors. The contents of this file should typically be
+installed in `/etc/ceph/ceph.conf`.
+
+Keyring Setup
+=============
+Most Ceph clusters are run with authentication enabled, and the client will
+need keys in order to communicate with cluster machines. To generate a
+keyring file with credentials for `client.fs`, log into an extant cluster
+member and run::
+
+    ceph auth get-or-create client.fs
+
+The resulting output should be put into a keyring file, typically
+`/etc/ceph/ceph.keyring`.
index 181ff3ef8e32628da69ca011f495676b2103b3a2..ae9b9205fc85416b75cb94a96712b23c3a36a32a 100644 (file)
@@ -173,7 +173,7 @@ This example would deploy all OSDs with encryption enabled.
       host_pattern: '*'
     data_devices:
       all: true
-      encrypted: true
+    encrypted: true
 
 See a full list in the DriveGroupSpecs
 
index e1be17e8d2fdf340ba2fa421b63dba418880912e..4ffcab80abd832bb9e0923aea5e3875776fd0884 100644 (file)
@@ -34,5 +34,6 @@ versions of Ceph.
     Cephadm operations <operations>
     Cephadm monitoring <monitoring>
     Cephadm CLI <../mgr/orchestrator>
+    Client Setup <client-setup>
     DriveGroups <drivegroups>
     troubleshooting
index 65ac09d8c646bc71b938cefcb384fd3063cd6958..ca4ff970d640b075660cd45cb8c5547350228da4 100644 (file)
@@ -302,7 +302,9 @@ see :ref:`fs-volumes-and-subvolumes`.
 
 To deploy metadata servers::
 
-  # ceph orch apply mds *<fs-name>* *<num-daemons>* [*<host1>* ...]
+  # ceph orch apply mds *<fs-name>* --placement="*<num-daemons>* [*<host1>* ...]"
+
+See :ref:`orchestrator-cli-placement-spec` for details of the placement specification.
 
 Deploy RGWs
 ===========
@@ -332,7 +334,7 @@ Next create a zone::
 
 To deploy a set of radosgw daemons for a particular realm and zone::
 
-  # ceph orch apply rgw *<realm-name>* *<zone-name>* *<num-daemons>* [*<host1>* ...]
+  # ceph orch apply rgw *<realm-name>* *<zone-name>* --placement="*<num-daemons>* [*<host1>* ...]"
 
 For example, to deploy 2 rgw daemons serving the *myorg* realm and the *us-east-1*
 zone on *myhost1* and *myhost2*::
@@ -340,7 +342,9 @@ zone on *myhost1* and *myhost2*::
   # radosgw-admin realm create --rgw-realm=myorg --default
   # radosgw-admin zonegroup create --rgw-zonegroup=default --master --default
   # radosgw-admin zone create --rgw-zonegroup=default --rgw-zone=us-east-1 --master --default
-  # ceph orch apply rgw myorg us-east-1 2 myhost1 myhost2
+  # ceph orch apply rgw myorg us-east-1 --placement="2 myhost1 myhost2"
+
+See :ref:`orchestrator-cli-placement-spec` for details of the placement specification.
 
 Deploying NFS ganesha
 =====================
@@ -350,9 +354,12 @@ and optional *namespace*
 
 To deploy a NFS Ganesha gateway,::
 
-  # ceph orch apply nfs *<svc_id>* *<pool>* *<namespace>* *<num-daemons>* [*<host1>* ...]
+  # ceph orch apply nfs *<svc_id>* *<pool>* *<namespace>* --placement="*<num-daemons>* [*<host1>* ...]"
 
 For example, to deploy NFS with a service id of *foo*, that will use the
 RADOS pool *nfs-ganesha* and namespace *nfs-ns*,::
 
   # ceph orch apply nfs foo nfs-ganesha nfs-ns
+
+See :ref:`orchestrator-cli-placement-spec` for details of the placement specification.
+
index 93f42025f7fbebf87d860a804036c914954bfa46..da4f55317b62f24f17706dbca6bcfd1cd569368a 100644 (file)
@@ -102,3 +102,49 @@ Manually running containers
 Cephadm writes small wrappers that run a containers. Refer to
 ``/var/lib/ceph/<cluster-fsid>/<service-name>/unit.run`` for the
 container execution command.
+
+
+ssh errors
+----------
+
+Error message::
+
+  xxxxxx.gateway_bootstrap.HostNotFound: -F /tmp/cephadm-conf-kbqvkrkw root@10.10.1.2
+  raise OrchestratorError('Failed to connect to %s (%s).  Check that the host is reachable and accepts  connections using the cephadm SSH key' % (host, addr)) from
+  orchestrator._interface.OrchestratorError: Failed to connect to 10.10.1.2 (10.10.1.2).  Check that the host is reachable and accepts connections using the cephadm SSH key
+
+Things users can do:
+
+1. Ensure cephadm has an SSH identity key::
+      
+     [root@mon1~]# cephadm shell -- ceph config-key get mgr/cephadm/ssh_identity_key > key
+     INFO:cephadm:Inferring fsid f8edc08a-7f17-11ea-8707-000c2915dd98
+     INFO:cephadm:Using recent ceph image docker.io/ceph/ceph:v15 obtained 'mgr/cephadm/ssh_identity_key'
+     [root@mon1 ~] # chmod 0600 key
+
+ If this fails, cephadm doesn't have a key. Fix this by running the following command::
+   
+     [root@mon1 ~]# cephadm shell -- ceph cephadm generate-ssh-key
+
+ or::
+   
+     [root@mon1 ~]# cat key | cephadm shell -- ceph cephadm set-ssk-key -i -
+
+2. Ensure that the ssh config is correct::
+   
+     [root@mon1 ~]# cephadm shell -- ceph cephadm get-ssh-config > config
+
+3. Verify that we can connect to the host::
+    
+     [root@mon1 ~]# ssh -F config -i key root@mon1
+
+4. There is a limitation right now: the ssh user is always `root`.
+
+
+
+Verifying that the Public Key is Listed in the authorized_keys file
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+To verify that the public key is in the authorized_keys file, run the following commands::
+
+     [root@mon1 ~]# cephadm shell -- ceph config-key get mgr/cephadm/ssh_identity_pub > key.pub
+     [root@mon1 ~]# grep "`cat key.pub`"  /root/.ssh/authorized_keys
index ba194f7065767754717d0e784190bd5a5bca6923..64ba6dadbb524ae23d951fd85357fd4eab5d6d5a 100644 (file)
@@ -28,11 +28,11 @@ and your cluster is healthy.
 
 To upgrade (or downgrade) to a specific release::
 
-  # ceph orch upgrade start --version <version>
+  # ceph orch upgrade start --ceph-version <version>
 
 For example, to upgrade to v15.2.1::
 
-  # ceph orch upgrade start --version 15.2.1
+  # ceph orch upgrade start --ceph-version 15.2.1
 
 
 Monitoring the upgrade
@@ -99,7 +99,7 @@ one or more hosts in the cluster.
 You can cancel the existing upgrade and specify a different target version with::
 
   # ceph orch upgrade stop
-  # ceph orch upgrade start --version <version>
+  # ceph orch upgrade start --ceph-version <version>
 
 
 Using customized container images
index 62eb4ec0e5b748e0c9fb61529268ea990f017d1b..f602cc1063acacbad0305b75160e5fabf57d00ec 100644 (file)
@@ -152,6 +152,27 @@ Fetch the absolute path of a subvolume using::
 
     $ ceph fs subvolume getpath <vol_name> <subvol_name> [--group_name <subvol_group_name>]
 
+Fetch the metadata of a subvolume using::
+
+    $ ceph fs subvolume info <vol_name> <subvol_name> [--group_name <subvol_group_name>]
+
+The output format is json and contains fields as follows.
+
+* atime: access time of subvolume path in the format "YYYY-MM-DD HH:MM:SS"
+* mtime: modification time of subvolume path in the format "YYYY-MM-DD HH:MM:SS"
+* ctime: change time of subvolume path in the format "YYYY-MM-DD HH:MM:SS"
+* uid: uid of subvolume path
+* gid: gid of subvolume path
+* mode: mode of subvolume path
+* mon_addrs: list of monitor addresses
+* bytes_pcent: quota used in percentage if quota is set, else displays "undefined"
+* bytes_quota: quota size in bytes if quota is set, else displays "infinite"
+* bytes_used: current used size of the subvolume in bytes
+* created_at: time of creation of subvolume in the format "YYYY-MM-DD HH:MM:SS"
+* data_pool: data pool the subvolume belongs to
+* path: absolute path of a subvolume
+* type: subvolume type indicating whether it's clone or subvolume
+
 List subvolumes using::
 
     $ ceph fs subvolume ls <vol_name> [--group_name <subvol_group_name>]
diff --git a/ceph/doc/dev/cephadm.rst b/ceph/doc/dev/cephadm.rst
new file mode 100644 (file)
index 0000000..2fd475f
--- /dev/null
@@ -0,0 +1,87 @@
+=======================
+Developing with cephadm
+=======================
+
+There are several ways to develop with cephadm.  Which you use depends
+on what you're trying to accomplish.
+
+vstart --cephadm
+================
+
+- Start a cluster with vstart, with cephadm configured
+- Manage any additional daemons with cephadm
+
+In this case, the mon and manager at a minimum are running in the usual
+vstart way, not managed by cephadm.  But cephadm is enabled and the local
+host is added, so you can deploy additional daemons or add additional hosts.
+
+This works well for developing cephadm itself, because any mgr/cephadm
+or cephadm/cephadm code changes can be applied by kicking ceph-mgr
+with ``ceph mgr fail x``.  (When the mgr (re)starts, it loads the
+cephadm/cephadm script into memory.)
+
+::
+
+   MON=1 MGR=1 OSD=0 MDS=0 ../src/vstart.sh -d -n -x --cephadm
+
+- ``~/.ssh/id_dsa[.pub]`` is used as the cluster key.  It is assumed that
+  this key is authorized to ssh to root@`hostname`.
+- No service spec is defined for mon or mgr, which means that cephadm
+  does not try to manage them.
+- You'll see health warnings from cephadm about stray daemons--that's because
+  the vstart-launched mon and mgr aren't controlled by cephadm.
+- The default image is ``quay.io/ceph-ci/ceph:master``, but you can change
+  this by passing ``-o container_image=...`` or ``ceph config set global container_image ...``.
+
+
+cstart and cpatch
+=================
+
+The ``cstart.sh`` script will launch a cluster using cephadm and put the
+conf and keyring in your build dir, so that the ``bin/ceph ...`` CLI works
+(just like with vstart).  The ``ckill.sh`` script will tear it down.
+
+- A unique but stable fsid is stored in ``fsid`` (in the build dir).
+- The mon port is random, just like with vstart.
+- The container image is ``quay.io/ceph-ci/ceph:$tag`` where $tag is
+  the first 8 chars of the fsid.
+- If the container image doesn't exist yet when you run cstart for the
+  first time, it is built with cpatch.
+
+There are a few advantages here:
+
+- The cluster is a "normal" cephadm cluster that looks and behaves
+  just like a user's cluster would.  In contract, vstart and teuthology
+  clusters tend to be special in subtle (and not-so-subtle) ways.
+
+To start a test cluster::
+
+  sudo ../src/cstart.sh
+
+The last line of this will be a line you can cut+paste to update the
+container image.  For instance::
+
+  sudo ../src/script/cpach -t quay.io/ceph-ci/ceph:8f509f4e
+
+By default, cpatch will patch everything it can think of from the local
+build dir into the container image.  If you are working on a specific
+part of the system, though, can you get away with smaller changes so that
+cpatch runs faster.  For instance::
+
+  sudo ../src/script/cpach -t quay.io/ceph-ci/ceph:8f509f4e --py
+
+will update the mgr modules (minus the dashboard).  Or::
+
+  sudo ../src/script/cpach -t quay.io/ceph-ci/ceph:8f509f4e --core
+
+will do most binaries and libraries.  Pass ``-h`` to cpatch for all options.
+
+Once the container is updated, you can refresh/restart daemons by bouncing
+them with::
+
+  sudo systemctl restart ceph-`cat fsid`.target
+
+When you're done, you can tear down the cluster with::
+
+  sudo ../src/ckill.sh   # or,
+  sudo ../src/cephadm/cephadm rm-cluster --force --fsid `cat fsid`
index 507247ca90b26962b00a4217dd92961acad57c3d..df4390c585891a9700558623330bb2469fc31d13 100644 (file)
@@ -13,7 +13,7 @@ Recommended methods
 :ref:`Cephadm <cephadm>` installs and manages a Ceph cluster using containers and
 systemd, with tight integration with the CLI and dashboard GUI.
 
-* cephadm only supports only Octopus and newer releases.
+* cephadm only supports Octopus and newer releases.
 * cephadm is fully integrated with the new orchestration API and
   fully supports the new CLI and dashboard features to manage
   cluster deployment.
index 1fb6465ae3ff00f36e025fc9ba9131d84e49b81e..02655a8cd6dc5fa4153a385f935cf3da5299d917 100644 (file)
@@ -37,7 +37,8 @@ list(APPEND man_srcs
   ${osd_srcs}
   ${mon_srcs}
   ceph-mds.rst
-  librados-config.rst)
+  librados-config.rst
+  cephadm.rst)
 
 if(HAVE_LIBFUSE)
   list(APPEND man_srcs
diff --git a/ceph/doc/man/8/cephadm.rst b/ceph/doc/man/8/cephadm.rst
new file mode 100644 (file)
index 0000000..9c24d5e
--- /dev/null
@@ -0,0 +1,441 @@
+:orphan:
+
+=========================================
+ cephadm -- manage the local cephadm host
+=========================================
+
+.. program:: cephadm
+
+Synopsis
+========
+
+| **cephadm**** [-h] [--image IMAGE] [--docker] [--data-dir DATA_DIR]
+|               [--log-dir LOG_DIR] [--logrotate-dir LOGROTATE_DIR]
+|               [--unit-dir UNIT_DIR] [--verbose] [--timeout TIMEOUT]
+|               [--retry RETRY]
+|               {version,pull,inspect-image,ls,list-networks,adopt,rm-daemon,rm-cluster,run,shell,enter,ceph-volume,unit,logs,bootstrap,deploy,check-host,prepare-host,add-repo,rm-repo,install}
+|               ...
+
+
+| **cephadm** **pull**
+
+| **cephadm** **inspect-image**
+
+| **cephadm** **ls**
+
+| **cephadm** **list-networks**
+
+| **cephadm** **adopt** [-h] --name NAME --style STYLE [--cluster CLUSTER]
+|                       [--legacy-dir LEGACY_DIR] [--config-json CONFIG_JSON]
+|                       [--skip-firewalld] [--skip-pull]
+
+| **cephadm** **rm-daemon** [-h] --name NAME --fsid FSID [--force]
+|                           [--force-delete-data]
+
+| **cephadm** **rm-cluster** [-h] --fsid FSID [--force]
+
+| **cephadm** **run** [-h] --name NAME --fsid FSID
+
+| **cephadm** **shell** [-h] [--fsid FSID] [--name NAME] [--config CONFIG]
+                        [--keyring KEYRING] [--env ENV]
+                        [--] [command [command ...]]
+
+| **cephadm** **enter** [-h] [--fsid FSID] --name NAME [command [command ...]]
+
+| **cephadm** **ceph-volume** [-h] [--fsid FSID] [--config-json CONFIG_JSON]
+                              [--config CONFIG] [--keyring KEYRING]
+                              command [command ...]
+
+| **cephadm** **logs** [-h] [--fsid FSID] --name NAME [command [command ...]]
+
+| **cephadm** **bootstrap** [-h] [--config CONFIG] [--mon-id MON_ID]
+|                           [--mon-addrv MON_ADDRV] [--mon-ip MON_IP]
+|                           [--mgr-id MGR_ID] [--fsid FSID]
+|                           [--output-dir OUTPUT_DIR]
+|                           [--output-keyring OUTPUT_KEYRING]
+|                           [--output-config OUTPUT_CONFIG]
+|                           [--output-pub-ssh-key OUTPUT_PUB_SSH_KEY]
+|                           [--skip-ssh]
+|                           [--initial-dashboard-user INITIAL_DASHBOARD_USER]
+|                           [--initial-dashboard-password INITIAL_DASHBOARD_PASSWORD]
+|                           [--dashboard-key DASHBOARD_KEY]
+|                           [--dashboard-crt DASHBOARD_CRT] [--skip-mon-network]
+|                           [--skip-dashboard] [--dashboard-password-noupdate]
+|                           [--no-minimize-config] [--skip-ping-check]
+|                           [--skip-pull] [--skip-firewalld] [--allow-overwrite]
+|                           [--allow-fqdn-hostname] [--skip-prepare-host]
+|                           [--orphan-initial-daemons] [--skip-monitoring-stack]
+
+
+| **cephadm** **deploy** [-h] --name NAME --fsid FSID [--config CONFIG]
+|                        [--config-json CONFIG_JSON] [--keyring KEYRING]
+|                        [--key KEY] [--osd-fsid OSD_FSID] [--skip-firewalld]
+|                        [--reconfig] [--allow-ptrace]
+
+| **cephadm** **check-host** [-h] [--expect-hostname EXPECT_HOSTNAME]
+
+| **cephadm** **prepare-host**
+
+| **cephadm** **add-repo** [-h] [--release RELEASE] [--version VERSION]
+|                          [--dev DEV] [--dev-commit DEV_COMMIT]
+|                          [--gpg-url GPG_URL] [--repo-url REPO_URL]
+
+
+| **cephadm** **rm-repo**
+
+| **cephadm** **install** [-h] [packages [packages ...]]
+
+
+
+
+Description
+===========
+
+:program:`cephadm` is a command line tool to manage the local host for the cephadm orchestrator.
+
+It provides commands to investigate and modify the state of the current host.
+
+:program:`cephadm` is not required on all hosts, but useful when investigating a particular
+daemon.
+
+Options
+=======
+
+.. option:: --image IMAGE
+
+   container image. Can also be set via the
+   "CEPHADM_IMAGE" env var (default: None)
+
+.. option:: --docker
+
+   use docker instead of podman (default: False)
+.. option::data-dir DATA_DIR
+
+   base directory for daemon data (default:/var/lib/ceph)
+
+.. option:: --log-dir LOG_DIR
+
+   base directory for daemon logs (default:.. option:: /var/log/ceph)
+
+.. option:: --logrotate-dir LOGROTATE_DIR
+
+   location of logrotate configuration files (default: /etc/logrotate.d)
+
+.. option:: --unit-dir UNIT_DIR
+
+   base directory for systemd units (default: /etc/systemd/system)
+
+.. option:: --verbose, -v
+
+   Show debug-level log messages (default: False)
+
+.. option:: --timeout TIMEOUT
+
+   timeout in seconds (default: None)
+
+.. option:: --retry RETRY
+
+   max number of retries (default: 10)
+
+
+Commands
+========
+
+add-repo
+--------
+
+configure local package repository to also include the ceph repository.
+
+Arguments:
+
+* [--release RELEASE]       use latest version of a named release (e.g., octopus)
+* [--version VERSION]       use specific upstream version (x.y.z)
+* [--dev DEV]               use specified bleeding edge build from git branch or tag
+* [--dev-commit DEV_COMMIT] use specified bleeding edge build from git commit
+* [--gpg-url GPG_URL]       specify alternative GPG key location
+* [--repo-url REPO_URL]     specify alternative repo location
+
+
+adopt
+-----
+
+Adopt a daemon deployed with a different deployment tool.
+
+Arguments:
+
+* [--name NAME, -n NAME]       daemon name (type.id)
+* [--style STYLE]              deployment style (legacy, ...)
+* [--cluster CLUSTER]          cluster name
+* [--legacy-dir LEGACY_DIR]    base directory for legacy daemon data
+* [--config-json CONFIG_JSON]  Additional configuration information in JSON format
+* [--skip-firewalld]           Do not configure firewalld
+* [--skip-pull]                do not pull the latest image before adopting
+
+
+bootstrap
+---------
+
+Bootstrap a cluster on the local host. It deploys a MON and a MGR and then also automatically
+deploys the monitoring stack on this host (see --skip-monitoring-stack) and calls
+``ceph orch host add $(hostname)`` (see --skip-ssh).
+
+Arguments:
+
+* [--config CONFIG, -c CONFIG]    ceph conf file to incorporate
+* [--mon-id MON_ID]               mon id (default: local hostname)
+* [--mon-addrv MON_ADDRV]         mon IPs (e.g., [v2:localipaddr:3300,v1:localipaddr:6789])
+* [--mon-ip MON_IP]               mon IP
+* [--mgr-id MGR_ID]               mgr id (default: randomly generated)
+* [--fsid FSID]                   cluster FSID
+* [--output-dir OUTPUT_DIR]       directory to write config, keyring, and pub key files
+* [--output-keyring OUTPUT_KEYRING] location to write keyring file with new cluster admin and mon keys
+* [--output-config OUTPUT_CONFIG] location to write conf file to connect to new cluster
+* [--output-pub-ssh-key OUTPUT_PUB_SSH_KEY] location to write the cluster's public SSH key
+* [--skip-ssh                     skip setup of ssh key on local host
+* [--initial-dashboard-user INITIAL_DASHBOARD_USER] Initial user for the dashboard
+* [--initial-dashboard-password INITIAL_DASHBOARD_PASSWORD] Initial password for the initial dashboard user
+* [--dashboard-key DASHBOARD_KEY] Dashboard key
+* [--dashboard-crt DASHBOARD_CRT] Dashboard certificate
+* [--skip-mon-network]            set mon public_network based on bootstrap mon ip
+* [--skip-dashboard]              do not enable the Ceph Dashboard
+* [--dashboard-password-noupdate] stop forced dashboard password change
+* [--no-minimize-config]          do not assimilate and minimize the config file
+* [--skip-ping-check]             do not verify that mon IP is pingable
+* [--skip-pull]                   do not pull the latest image before bootstrapping
+* [--skip-firewalld]              Do not configure firewalld
+* [--allow-overwrite]             allow overwrite of existing --output-* config/keyring/ssh files
+* [--allow-fqdn-hostname]         allow hostname that is fully-qualified (contains ".")
+* [--skip-prepare-host]           Do not prepare host
+* [--orphan-initial-daemons]      Do not create initial mon, mgr, and crash service specs
+* [--skip-monitoring-stack]       Do not automatically provision monitoring stack] (prometheus, grafana, alertmanager, node-exporter)
+
+
+ceph-volume
+-----------
+
+Run ceph-volume inside a container::
+
+    cephadm ceph-volume inventory
+
+Positional arguments:
+* [command]               command
+
+Arguments:
+
+* [--fsid FSID]                    cluster FSID
+* [--config-json CONFIG_JSON]      JSON file with config and (client.bootrap-osd) key
+* [--config CONFIG, -c CONFIG]     ceph conf file
+* [--keyring KEYRING, -k KEYRING]  ceph.keyring to pass through to the container
+
+
+check-host
+----------
+
+check host configuration to be suitable for a Ceph cluster.
+
+Arguments:
+
+* [--expect-hostname EXPECT_HOSTNAME] Check that hostname matches an expected value
+
+
+deploy
+------
+
+deploy a daemon on the local host. Used by the orchestrator CLI::
+
+    cephadm shell -- ceph orch apply <type> ...
+
+Arguments:
+
+* [--name NAME]               daemon name (type.id)
+* [--fsid FSID]               cluster FSID
+* [--config CONFIG, -c CONFIG] config file for new daemon
+* [--config-json CONFIG_JSON] Additional configuration information in JSON format
+* [--keyring KEYRING]         keyring for new daemon
+* [--key KEY]                 key for new daemon
+* [--osd-fsid OSD_FSID]       OSD uuid, if creating an OSD container
+* [--skip-firewalld]          Do not configure firewalld
+* [--reconfig]                Reconfigure a previously deployed daemon
+* [--allow-ptrace]            Allow SYS_PTRACE on daemon container
+
+
+enter
+-----
+
+Run an interactive shell inside a running daemon container::
+
+    cephadm enter --name mgr.myhost.ysubfo
+
+Positional arguments:
+* [command]               command
+
+Arguments:
+
+* [--fsid FSID]           cluster FSID
+* [--name NAME, -n NAME]  daemon name (type.id)
+
+install
+-------
+
+install ceph package(s)
+
+Positional arguments:
+
+* [packages]    packages
+
+
+inspect-image
+-------------
+
+inspect local ceph container image.
+
+list-networks
+-------------
+
+list IP networks
+
+
+ls
+--
+
+list daemon instances known to cephadm on **this** host::
+
+    $ cephadm ls
+    [
+        {
+            "style": "cephadm:v1",
+            "name": "mgr.storage-14b-1.ysubfo",
+            "fsid": "5110cb22-8332-11ea-9148-0894ef7e8bdc",
+            "enabled": true,
+            "state": "running",
+            "container_id": "8562de72370a3836473ecfff8a22c9ccdd99815386b4692a2b30924fb5493c44",
+            "container_image_name": "docker.io/ceph/ceph:v15",
+            "container_image_id": "bc83a388465f0568dab4501fb7684398dca8b50ca12a342a57f21815721723c2",
+            "version": "15.2.1",
+            "started": "2020-04-21T01:16:41.831456",
+            "created": "2020-04-21T01:16:41.775024",
+            "deployed": "2020-04-21T01:16:41.415021",
+            "configured": "2020-04-21T01:16:41.775024"
+        },
+    ...
+
+logs
+----
+
+print journald logs for a daemon container::
+
+    cephadm logs --name mgr.myhost.ysubfo
+
+This is similar to::
+
+    journalctl -u mgr.myhost.ysubfo
+
+
+prepare-host
+------------
+
+prepare a host for cephadm use
+
+Arguments:
+
+* [--expect-hostname EXPECT_HOSTNAME] Set hostname
+
+
+pull
+----
+
+Pull the ceph image::
+
+    cephadm pull
+
+
+rm-daemon
+---------
+
+Remove a specific daemon instance
+
+Arguments:
+
+* [--name NAME, -n NAME]  daemon name (type.id)
+* [--fsid FSID]           cluster FSID
+* [--force]               proceed, even though this may destroy valuable data
+* [--force-delete-data]   delete valuable daemon data instead of making a backup
+
+
+rm-cluster
+----------
+
+remove all daemons for a cluster
+
+Arguments:
+
+* [--fsid FSID]  cluster FSID
+* [--force]      proceed, even though this may destroy valuable data
+
+rm-repo
+-------
+
+remove package repository configuration
+
+run
+---
+
+run a ceph daemon, in a container, in the foreground
+
+Arguments:
+
+* [--name NAME, -n NAME]  daemon name (type.id)
+* [--fsid FSID]           cluster FSID
+
+
+shell
+-----
+
+Run an interactive shell::
+
+    cephadm shell
+
+Or one specific command inside a container::
+
+    cephadm shell -- ceph orch ls
+
+
+Positional arguments:
+
+* [command]               command (optional)
+
+Arguments:
+
+* [--fsid FSID]                   cluster FSID
+* [--name NAME, -n NAME]          daemon name (type.id)
+* [--config CONFIG, -c CONFIG]    ceph.conf to pass through to the container
+* [--keyring KEYRING, -k KEYRING] ceph.keyring to pass through to the container
+* [--env ENV, -e ENV]             set environment variable
+
+
+unit
+----
+
+Operate on the daemon's systemd unit.
+
+Positional arguments:
+
+* [command]               systemd command (start, stop, restart, enable, disable, ...)
+
+Arguments:
+
+* [--fsid FSID]           cluster FSID
+* [--name NAME, -n NAME]  daemon name (type.id)
+
+
+Availability
+============
+
+:program:`cephadm` is part of Ceph, a massively scalable, open-source, distributed storage system. Please refer to
+the documentation at http://docs.ceph.com/ for more information.
+
+
+See also
+========
+
+:doc:`ceph-volume <ceph-volume>`\(8),
index 47545f7f9cd9efc8a7ef2a3cdc7703469dcc672d..440961f1b7dcea530a1c9828996f3e539594d691 100644 (file)
@@ -206,18 +206,29 @@ services of a particular type via optional --type parameter
 
 ::
 
-    ceph orch ps
-    ceph orch service ls [--host host] [--svc_type type] [--refresh]
+    ceph orch ls [--service_type type] [--service_name name] [--export] [--format f] [--refresh]
 
 Discover the status of a particular service or daemons::
 
-    ceph orch service ls --svc_type type --svc_id <name> [--refresh]
+    ceph orch ls --service_type type --service_name <name> [--refresh]
+    
+Export the service specs known to the orchestrator as yaml in format
+that is compatible to ``ceph orch apply -i``::
+
+    ceph orch ls --export
+
 
+Daemon Status
+=============
 
+Print a list of all daemons known to the orchestrator::
+
+    ceph orch ps [--hostname host] [--daemon_type type] [--service_name name] [--daemon_id id] [--format f] [--refresh]
+    
 Query the status of a particular service instance (mon, osd, mds, rgw).  For OSDs
 the id is the numeric OSD ID, for MDS services it is the file system name::
 
-    ceph orch daemon status <type> <instance-name> [--refresh]
+    ceph orch ps --daemon_type osd --daemon_id 0
 
 
 .. _orchestrator-cli-cephfs:
index 986403aee89e00fcc6aed112f195a2f204346817..87fb0bba2a5b5c46da899962a00d8aac25fd1a22 100644 (file)
@@ -1667,6 +1667,9 @@ Instructions
    and verify that each monitor has both a ``v2:`` and ``v1:`` address
    listed.
 
+   Running nautilus OSDs will not bind to their v2 address automatically.
+   They must be restarted for that to happen.
+
    .. important:: 
       Before this step is run, the following command must already have been run:
 
index 549bb1ea2f42855fa0a4fc84d1e9e63bb92cdd09..447dbb29322e599664eac167ea6510bf719d0e53 100644 (file)
         "#d44a3a"
       ],
       "datasource": "$datasource",
+      "decimals": 2,
       "format": "percentunit",
       "gauge": {
         "maxValue": 100,
index 6a9604715310b9b4447f2b450220ccb873e70371..67e759d918bcdf55e20a24590a4f50719737b605 100644 (file)
       "steppedLine": false,
       "targets": [
         {
-          "expr": "(irate(node_disk_writes_completed{instance=~\"($ceph_hosts).*\"}[5m]) or irate(node_disk_writes_completed_total{instance=~\"($ceph_hosts).*\"}[5m])) * on(instance, device) group_left(ceph_daemon) label_replace(label_replace(ceph_disk_occupation, \"device\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1\", \"instance\", \"(.*)\")",
+          "expr": "(irate(node_disk_writes_completed{instance=~\"($ceph_hosts).*\"}[5m]) or irate(node_disk_writes_completed_total{instance=~\"($ceph_hosts).*\"}[5m])) * on(instance, device) group_left(ceph_daemon) label_replace(label_replace(ceph_disk_occupation, \"device\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1\", \"instance\", \"([^:.]*).*\")",
           "format": "time_series",
           "intervalFactor": 1,
           "legendFormat": "{{device}}({{ceph_daemon}}) writes",
           "textEditor": true
         },
         {
-          "expr": "(irate(node_disk_reads_completed{instance=~\"($ceph_hosts).*\"}[5m]) or irate(node_disk_reads_completed_total{instance=~\"($ceph_hosts).*\"}[5m])) * on(instance, device) group_left(ceph_daemon) label_replace(label_replace(ceph_disk_occupation, \"device\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1\", \"instance\", \"(.*)\")",
+          "expr": "(irate(node_disk_reads_completed{instance=~\"($ceph_hosts).*\"}[5m]) or irate(node_disk_reads_completed_total{instance=~\"($ceph_hosts).*\"}[5m])) * on(instance, device) group_left(ceph_daemon) label_replace(label_replace(ceph_disk_occupation, \"device\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1\", \"instance\", \"([^:.]*).*\")",
           "format": "time_series",
           "hide": false,
           "intervalFactor": 1,
       "steppedLine": false,
       "targets": [
         {
-          "expr": "(irate(node_disk_bytes_written{instance=~\"($ceph_hosts).*\"}[5m]) or irate(node_disk_written_bytes_total{instance=~\"($ceph_hosts).*\"}[5m])) * on(instance, device) group_left(ceph_daemon) label_replace(label_replace(ceph_disk_occupation, \"device\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1\", \"instance\", \"(.*)\")",
+          "expr": "label_replace((irate(node_disk_bytes_written{instance=~\"($ceph_hosts).*\"}[5m]) or irate(node_disk_written_bytes_total{instance=~\"($ceph_hosts).*\"}[5m])), \"instance\", \"$1\", \"instance\", \"([^:.]*).*\") * on(instance, device) group_left(ceph_daemon) label_replace(label_replace(ceph_disk_occupation, \"device\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1\", \"instance\", \"([^:.]*).*\")",
           "format": "time_series",
           "intervalFactor": 1,
           "legendFormat": "{{device}}({{ceph_daemon}}) write",
           "refId": "B"
         },
         {
-          "expr": "(irate(node_disk_bytes_read{instance=~\"($ceph_hosts).*\"}[5m]) or irate(node_disk_read_bytes_total{instance=~\"($ceph_hosts).*\"}[5m])) * on(instance, device) group_left(ceph_daemon) label_replace(label_replace(ceph_disk_occupation, \"device\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1\", \"instance\", \"(.*)\")",
+          "expr": "label_replace((irate(node_disk_bytes_read{instance=~\"($ceph_hosts).*\"}[5m]) or irate(node_disk_read_bytes_total{instance=~\"($ceph_hosts).*\"}[5m])), \"instance\", \"$1\", \"instance\", \"([^:.]*).*\") * on(instance, device) group_left(ceph_daemon) label_replace(label_replace(ceph_disk_occupation, \"device\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1\", \"instance\", \"([^:.]*).*\")",
           "format": "time_series",
           "intervalFactor": 1,
           "legendFormat": "{{device}}({{ceph_daemon}}) read",
       "steppedLine": false,
       "targets": [
         {
-          "expr": "max by(instance,device) ((irate(node_disk_write_time_seconds_total{ instance=~\"($ceph_hosts).*\"}[5m]) )  / clamp_min(irate(node_disk_writes_completed_total{ instance=~\"($ceph_hosts).*\"}[5m]), 0.001) or   (irate(node_disk_read_time_seconds_total{ instance=~\"($ceph_hosts).*\"}[5m]) )  / clamp_min(irate(node_disk_reads_completed_total{ instance=~\"($ceph_hosts).*\"}[5m]), 0.001)  ) *  on(instance,device) group_left(ceph_daemon) label_replace(label_replace(ceph_disk_occupation{instance=~\"($ceph_hosts).*\"}, \"device\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1\", \"instance\", \"(.*)\")",
+          "expr": "max by(instance,device) (label_replace((irate(node_disk_write_time_seconds_total{ instance=~\"($ceph_hosts).*\"}[5m]) )  / clamp_min(irate(node_disk_writes_completed_total{ instance=~\"($ceph_hosts).*\"}[5m]), 0.001) or   (irate(node_disk_read_time_seconds_total{ instance=~\"($ceph_hosts).*\"}[5m]) )  / clamp_min(irate(node_disk_reads_completed_total{ instance=~\"($ceph_hosts).*\"}[5m]), 0.001), \"instance\", \"$1\", \"instance\", \"([^:.]*).*\")) *  on(instance,device) group_left(ceph_daemon) label_replace(label_replace(ceph_disk_occupation{instance=~\"($ceph_hosts).*\"}, \"device\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1\", \"instance\", \"([^:.]*).*\")",
           "format": "time_series",
           "hide": false,
           "intervalFactor": 1,
       "steppedLine": false,
       "targets": [
         {
-          "expr": "((irate(node_disk_io_time_ms{instance=~\"($ceph_hosts).*\"}[5m]) / 10 ) or  irate(node_disk_io_time_seconds_total{instance=~\"($ceph_hosts).*\"}[5m]) * 100)* on(instance, device) group_left(ceph_daemon) label_replace(label_replace(ceph_disk_occupation{instance=~\"($ceph_hosts).*\"}, \"device\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1\", \"instance\", \"(.*)\")",
+          "expr": "label_replace(((irate(node_disk_io_time_ms{instance=~\"($ceph_hosts).*\"}[5m]) / 10 ) or  irate(node_disk_io_time_seconds_total{instance=~\"($ceph_hosts).*\"}[5m]) * 100), \"instance\", \"$1\", \"instance\", \"([^:.]*).*\") * on(instance, device) group_left(ceph_daemon) label_replace(label_replace(ceph_disk_occupation{instance=~\"($ceph_hosts).*\"}, \"device\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1\", \"instance\", \"([^:.]*).*\")",
           "format": "time_series",
           "hide": false,
           "intervalFactor": 1,
         "options": [],
         "query": "label_values(node_scrape_collector_success, instance) ",
         "refresh": 1,
-        "regex": "([^:]*).*",
+        "regex": "([^.:]*).*",
         "skipUrlSync": false,
         "sort": 3,
         "tagValuesQuery": "",
index acaf9b740ac22f1328296adc8984777ed18f1186..d9f1fb29dbb90aff1647b35ab7ba26ae5ecc8362 100644 (file)
       "datasource": "$datasource",
       "decimals": 0,
       "description": "Average CPU busy across all hosts (OSD, RGW, MON etc) within the cluster",
+      "decimals": 2,
       "format": "percentunit",
       "gauge": {
         "maxValue": 100,
       "datasource": "$datasource",
       "decimals": 0,
       "description": "Average Memory Usage across all hosts in the cluster (excludes buffer/cache usage)",
+      "decimals": 2,
       "format": "percentunit",
       "gauge": {
         "maxValue": 100,
       "tableColumn": "",
       "targets": [
         {
-          "expr": "avg (((node_memory_MemTotal{instance=~\"($osd_hosts|$mon_hosts|$mds_hosts|$rgw_hosts).*\"} or node_memory_MemTotal_bytes{instance=~\"($osd_hosts|$mon_hosts|$mds_hosts|$rgw_hosts).*\"})- (\n  (node_memory_MemFree{instance=~\"($osd_hosts|$mon_hosts|$mds_hosts|$rgw_hosts).*\"} or node_memory_MemFree_bytes{instance=~\"($osd_hosts|$mon_hosts|$mds_hosts|$rgw_hosts).*\"})  + \n  (node_memory_Cached{instance=~\"($osd_hosts|$mon_hosts|$mds_hosts|$rgw_hosts).*\"} or node_memory_Cached_bytes{instance=~\"($osd_hosts|$mon_hosts|$mds_hosts|$rgw_hosts).*\"}) + \n  (node_memory_Buffers{instance=~\"($osd_hosts|$mon_hosts|$mds_hosts|$rgw_hosts).*\"} or node_memory_Buffers_bytes{instance=~\"($osd_hosts|$mon_hosts|$mds_hosts|$rgw_hosts).*\"}) +\n  (node_memory_Slab{instance=~\"($osd_hosts|$mon_hosts|$mds_hosts|$rgw_hosts).*\"} or node_memory_Slab_bytes{instance=~\"($osd_hosts|$mon_hosts|$mds_hosts|$rgw_hosts).*\"})\n  )) /\n (node_memory_MemTotal{instance=~\"($osd_hosts|$mon_hosts|$mds_hosts|$rgw_hosts).*\"} or node_memory_MemTotal_bytes{instance=~\"[[osd_hosts]]|[[rgw_hosts]]|[[mon_hosts]]|[[mds_hosts]].*\"} ))",
+          "expr": "avg (((node_memory_MemTotal{instance=~\"($osd_hosts|$mon_hosts|$mds_hosts|$rgw_hosts).*\"} or node_memory_MemTotal_bytes{instance=~\"($osd_hosts|$mon_hosts|$mds_hosts|$rgw_hosts).*\"})- (\n  (node_memory_MemFree{instance=~\"($osd_hosts|$mon_hosts|$mds_hosts|$rgw_hosts).*\"} or node_memory_MemFree_bytes{instance=~\"($osd_hosts|$mon_hosts|$mds_hosts|$rgw_hosts).*\"})  + \n  (node_memory_Cached{instance=~\"($osd_hosts|$mon_hosts|$mds_hosts|$rgw_hosts).*\"} or node_memory_Cached_bytes{instance=~\"($osd_hosts|$mon_hosts|$mds_hosts|$rgw_hosts).*\"}) + \n  (node_memory_Buffers{instance=~\"($osd_hosts|$mon_hosts|$mds_hosts|$rgw_hosts).*\"} or node_memory_Buffers_bytes{instance=~\"($osd_hosts|$mon_hosts|$mds_hosts|$rgw_hosts).*\"}) +\n  (node_memory_Slab{instance=~\"($osd_hosts|$mon_hosts|$mds_hosts|$rgw_hosts).*\"} or node_memory_Slab_bytes{instance=~\"($osd_hosts|$mon_hosts|$mds_hosts|$rgw_hosts).*\"})\n  )) /\n (node_memory_MemTotal{instance=~\"($osd_hosts|$mon_hosts|$mds_hosts|$rgw_hosts).*\"} or node_memory_MemTotal_bytes{instance=~\"($osd_hosts|$rgw_hosts|$mon_hosts|$mds_hosts).*\"} ))",
           "format": "time_series",
           "instant": true,
           "intervalFactor": 1,
       "tableColumn": "",
       "targets": [
         {
-          "expr" : "avg (\n  ((irate(node_disk_io_time_ms[5m]) / 10 ) or\n   (irate(node_disk_io_time_seconds_total[5m]) * 100)\n  ) *\n  on(instance, device) label_replace(label_replace(ceph_disk_occupation{instance=~\"($osd_hosts).*\"}, \"device\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1\", \"instance\", \"(.*)\")\n)",
+          "expr" : "avg (\n  label_replace((irate(node_disk_io_time_ms[5m]) / 10 ) or\n   (irate(node_disk_io_time_seconds_total[5m]) * 100), \"instance\", \"$1\", \"instance\", \"([^.:]*).*\"\n  ) *\n  on(instance, device) label_replace(label_replace(ceph_disk_occupation{instance=~\"($osd_hosts).*\"}, \"device\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1\", \"instance\", \"([^.:]*).*\")\n)",
           "format": "time_series",
           "instant": true,
           "intervalFactor": 1,
         "multi": false,
         "name": "osd_hosts",
         "options": [],
-        "query": "label_values(ceph_disk_occupation, instance)",
+        "query": "label_values(ceph_disk_occupation, exported_instance)",
         "refresh": 1,
         "regex": "([^.]*).*",
         "skipUrlSync": false,
index 6b70778df4231617ee12037236590ee767897a2e..8b819e90220655983ce3195301433d3beb69f182 100644 (file)
       "steppedLine": false,
       "targets": [
         {
-          "expr": "(irate(node_disk_read_time_seconds_total[1m]) / irate(node_disk_reads_completed_total[1m]) and on (instance, device) label_replace(label_replace(ceph_disk_occupation{ceph_daemon=~\"$osd\"}, \"device\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1\", \"instance\", \"(.*)\"))",
+          "expr": "(label_replace(irate(node_disk_read_time_seconds_total[1m]) / irate(node_disk_reads_completed_total[1m]), \"instance\", \"$1\", \"instance\", \"([^:.]*).*\") and on (instance, device) label_replace(label_replace(ceph_disk_occupation{ceph_daemon=~\"$osd\"}, \"device\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1\", \"instance\", \"([^:.]*).*\"))",
           "format": "time_series",
           "intervalFactor": 1,
           "legendFormat": "{{instance}}/{{device}} Reads",
           "refId": "A"
         },
         {
-          "expr": "(irate(node_disk_write_time_seconds_total[1m]) / irate(node_disk_writes_completed_total[1m]) and on (instance, device) label_replace(label_replace(ceph_disk_occupation{ceph_daemon=~\"$osd\"}, \"device\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1\", \"instance\", \"(.*)\"))",
+          "expr": "(label_replace(irate(node_disk_write_time_seconds_total[1m]) / irate(node_disk_writes_completed_total[1m]), \"instance\", \"$1\", \"instance\", \"([^:.]*).*\") and on (instance, device) label_replace(label_replace(ceph_disk_occupation{ceph_daemon=~\"$osd\"}, \"device\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1\", \"instance\", \"([^:.]*).*\"))",
           "format": "time_series",
           "intervalFactor": 1,
           "legendFormat": "{{instance}}/{{device}} Writes",
       "steppedLine": false,
       "targets": [
         {
-          "expr": "irate(node_disk_writes_completed_total[1m]) and on (instance, device) label_replace(label_replace(ceph_disk_occupation{ceph_daemon=~\"$osd\"}, \"device\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1\", \"instance\", \"(.*)\")",
+          "expr": "label_replace(irate(node_disk_writes_completed_total[1m]), \"instance\", \"$1\", \"instance\", \"([^:.]*).*\") and on (instance, device) label_replace(label_replace(ceph_disk_occupation{ceph_daemon=~\"$osd\"}, \"device\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1\", \"instance\", \"([^:.]*).*\")",
           "format": "time_series",
           "intervalFactor": 1,
           "legendFormat": "{{device}} on {{instance}} Writes",
           "refId": "A"
         },
         {
-          "expr": "irate(node_disk_reads_completed_total[1m]) and on (instance, device) label_replace(label_replace(ceph_disk_occupation{ceph_daemon=~\"$osd\"}, \"device\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1\", \"instance\", \"(.*)\")",
+          "expr": "label_replace(irate(node_disk_reads_completed_total[1m]), \"instance\", \"$1\", \"instance\", \"([^:.]*).*\") and on (instance, device) label_replace(label_replace(ceph_disk_occupation{ceph_daemon=~\"$osd\"}, \"device\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1\", \"instance\", \"([^:.]*).*\")",
           "format": "time_series",
           "intervalFactor": 1,
           "legendFormat": "{{device}} on {{instance}} Reads",
       "steppedLine": false,
       "targets": [
         {
-          "expr": "irate(node_disk_read_bytes_total[1m]) and on (instance, device) label_replace(label_replace(ceph_disk_occupation{ceph_daemon=~\"$osd\"}, \"device\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1\", \"instance\", \"(.*)\")",
+          "expr": "label_replace(irate(node_disk_read_bytes_total[1m]), \"instance\", \"$1\", \"instance\", \"([^:.]*).*\") and on (instance, device) label_replace(label_replace(ceph_disk_occupation{ceph_daemon=~\"$osd\"}, \"device\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1\", \"instance\", \"([^:.]*).*\")",
           "format": "time_series",
           "intervalFactor": 1,
           "legendFormat": "{{instance}} {{device}} Reads",
           "refId": "A"
         },
         {
-          "expr": "irate(node_disk_written_bytes_total[1m]) and on (instance, device) label_replace(label_replace(ceph_disk_occupation{ceph_daemon=~\"$osd\"}, \"device\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1\", \"instance\", \"(.*)\")",
+          "expr": "label_replace(irate(node_disk_written_bytes_total[1m]), \"instance\", \"$1\", \"instance\", \"([^:.]*).*\") and on (instance, device) label_replace(label_replace(ceph_disk_occupation{ceph_daemon=~\"$osd\"}, \"device\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1\", \"instance\", \"([^:.]*).*\")",
           "format": "time_series",
           "intervalFactor": 1,
           "legendFormat": "{{instance}} {{device}} Writes",
       "steppedLine": false,
       "targets": [
         {
-          "expr": "irate(node_disk_io_time_seconds_total[1m]) and on (instance, device) label_replace(label_replace(ceph_disk_occupation{ceph_daemon=~\"$osd\"}, \"device\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1\", \"instance\", \"(.*)\")",
+          "expr": "label_replace(irate(node_disk_io_time_seconds_total[1m]), \"instance\", \"$1\", \"instance\", \"([^:.]*).*\") and on (instance, device) label_replace(label_replace(ceph_disk_occupation{ceph_daemon=~\"$osd\"}, \"device\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1\", \"instance\", \"([^:.]*).*\")",
           "format": "time_series",
           "intervalFactor": 1,
           "legendFormat": "{{device}} on {{instance}}",
index 14e468a5274edf2a8cc873cbd7797b26d5eb63a4..41554ed30683e210379dd978515084eec310eb53 100644 (file)
@@ -50,6 +50,7 @@
         "#d44a3a"
       ],
       "datasource": "$datasource",
+      "decimals": 2,
       "format": "percentunit",
       "gauge": {
         "maxValue": 1,
       "tableColumn": "",
       "targets": [
         {
-          "expr": "(ceph_pool_stored / ceph_pool_max_avail) * on(pool_id) group_left(instance,name) ceph_pool_metadata{name=~\"$pool_name\"}",
+          "expr": "(ceph_pool_stored / (ceph_pool_stored + ceph_pool_max_avail)) * on(pool_id) group_left(instance,name) ceph_pool_metadata{name=~\"$pool_name\"}",
           "format": "time_series",
           "intervalFactor": 1,
           "refId": "A"
       "tableColumn": "",
       "targets": [
         {
-          "expr": "((ceph_pool_max_avail - ceph_pool_stored) / deriv(ceph_pool_stored[6h])) * on(pool_id) group_left(instance,name) ceph_pool_metadata{name=~\"$pool_name\"} > 0",
+          "expr": "(ceph_pool_max_avail / deriv(ceph_pool_stored[6h])) * on(pool_id) group_left(instance,name) ceph_pool_metadata{name=~\"$pool_name\"} > 0",
           "format": "time_series",
           "intervalFactor": 1,
           "refId": "A"
index a9b0560d4730b8ff9736d110c9377f39e25f44ec..aebd816156066196da0b4eec3374ceab36d0fe89 100644 (file)
@@ -166,6 +166,7 @@ groups:
     rules:
       - alert: root volume full
         expr: node_filesystem_avail_bytes{mountpoint="/"} / node_filesystem_size_bytes{mountpoint="/"} * 100 < 5
+        for: 5m
         labels:
           severity: critical
           type: ceph_default
@@ -199,15 +200,10 @@ groups:
             Node {{ $labels.instance }} experiences packet errors > 1
             packet/s on interface {{ $labels.device }}.
 
-      # predict fs fill-up times
-      - alert: storage filling
+      - alert: storage filling up
         expr: |
-          (
-            (
-              node_filesystem_free_bytes / deriv(node_filesystem_free_bytes[2d])
-              * on(instance) group_left(nodename) node_uname_info
-            ) <= 5
-          ) > 0
+          predict_linear(node_filesystem_free_bytes[2d], 3600 * 24 * 5) *
+          on(instance) group_left(nodename) node_uname_info < 0
         labels:
           severity: warning
           type: ceph_default
@@ -234,10 +230,9 @@ groups:
       - alert: pool filling up
         expr: |
           (
-            (
-              (ceph_pool_max_avail - ceph_pool_stored) / deriv(ceph_pool_max_avail[2d])
-            ) * on(pool_id) group_right ceph_pool_metadata <= 5
-          ) > 0
+            predict_linear(ceph_pool_stored[2d], 3600 * 24 * 5) >=
+            ceph_pool_max_avail
+          ) * on(pool_id) group_right(name) ceph_pool_metadata
         labels:
           severity: warning
           type: ceph_default
index 0f3beb8fbd03e0f057e976bc44167b40ed1d9d3a..b69eac9c6c442b6f7ac5dd36384cb38d2f72d5b3 100644 (file)
@@ -16,6 +16,11 @@ tasks:
         # for xfstests-dev
         - dump
         - indent
+        # for fsx
+        - libaio-dev
+        - libtool-bin
+        - uuid-dev
+        - xfslibs-dev
         rpm:
         - bison
         - flex
@@ -30,4 +35,9 @@ tasks:
         - xfsdump
         - xfsprogs
         - xfsprogs-devel
+        # for fsx
+        - libaio-devel
+        - libtool
+        - libuuid-devel
+        - xfsprogs-devel
   - ceph:
diff --git a/ceph/qa/distros/supported-random-distro$/centos_8.yaml b/ceph/qa/distros/supported-random-distro$/centos_8.yaml
deleted file mode 120000 (symlink)
index b7e6c9b..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../all/centos_8.yaml
\ No newline at end of file
diff --git a/ceph/qa/distros/supported-random-distro$/centos_latest.yaml b/ceph/qa/distros/supported-random-distro$/centos_latest.yaml
new file mode 120000 (symlink)
index 0000000..591d55b
--- /dev/null
@@ -0,0 +1 @@
+../all/centos_8.1.yaml
\ No newline at end of file
diff --git a/ceph/qa/distros/supported-random-distro$/rhel_8.yaml b/ceph/qa/distros/supported-random-distro$/rhel_8.yaml
deleted file mode 120000 (symlink)
index f803f09..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../all/rhel_8.yaml
\ No newline at end of file
diff --git a/ceph/qa/distros/supported-random-distro$/rhel_latest.yaml b/ceph/qa/distros/supported-random-distro$/rhel_latest.yaml
new file mode 120000 (symlink)
index 0000000..f803f09
--- /dev/null
@@ -0,0 +1 @@
+../all/rhel_8.yaml
\ No newline at end of file
index b7e6c9b4e546120d9e1d407382e2d8a94e2bc8a3..591d55ba555403dce8b2f4ce00137e6a7ef899a9 120000 (symlink)
@@ -1 +1 @@
-../all/centos_8.yaml
\ No newline at end of file
+../all/centos_8.1.yaml
\ No newline at end of file
index 20cc101dea1b31e8bfcab1f547999989aa827aeb..fa55e91ead4c315c7ecdb11fade53680ca844312 100644 (file)
@@ -4,3 +4,4 @@ overrides:
       global:
         osd_min_pg_log_entries: 1
         osd_max_pg_log_entries: 2
+        osd_pg_log_trim_min: 0
diff --git a/ceph/qa/rgw_bucket_sharding/many.yaml b/ceph/qa/rgw_bucket_sharding/many.yaml
deleted file mode 100644 (file)
index f42c9ad..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-overrides:
-  ceph:
-    conf:
-      global:
-        rgw override bucket index max shards: 1999
diff --git a/ceph/qa/standalone/mon/mon-last-epoch-clean.sh b/ceph/qa/standalone/mon/mon-last-epoch-clean.sh
new file mode 100755 (executable)
index 0000000..e38663c
--- /dev/null
@@ -0,0 +1,307 @@
+#!/usr/bin/env bash
+
+source $CEPH_ROOT/qa/standalone/ceph-helpers.sh
+
+
+function run() {
+    local dir=$1
+    shift
+
+    export CEPH_MON="127.0.0.1:7302" # git grep '\<7105\>' : there must be only one
+    export CEPH_ARGS
+    CEPH_ARGS+="--fsid=$(uuidgen) --auth-supported=none "
+    CEPH_ARGS+="--mon-host=$CEPH_MON "
+
+    local funcs=${@:-$(set | sed -n -e 's/^\(TEST_[0-9a-z_]*\) .*/\1/p')}
+    for func in $funcs ; do
+        setup $dir || return 1
+        $func $dir || return 1
+        teardown $dir || return 1
+    done
+}
+
+
+function check_lec_equals_pools() {
+
+  local pool_id=$1
+
+  report=$(ceph report)
+  lec=$(echo $report | \
+    jq '.osdmap_clean_epochs.min_last_epoch_clean')
+
+  if [[ -z "$pool_id" ]]; then
+    pools=($(echo $report | \
+      jq \
+      ".osdmap_clean_epochs.last_epoch_clean.per_pool[] |" \
+      " select(.floor == $lec) | .poolid"))
+
+    [[ ${#pools[*]} -eq 2 ]] || ( echo $report ; return 1 )
+  else
+    floor=($(echo $report | \
+      jq \
+      ".osdmap_clean_epochs.last_epoch_clean.per_pool[] |" \
+      " select(.poolid == $pool_id) | .floor"))
+
+    [[ $lec -eq $floor ]] || ( echo $report ; return 1 )
+  fi
+  return 0
+}
+
+function check_lec_lower_than_pool() {
+
+  local pool_id=$1
+  [[ -z "$pool_id" ]] && ( echo "expected pool_id as parameter" ; exit 1 )
+
+  report=$(ceph report)
+  lec=$(echo $report | \
+    jq '.osdmap_clean_epochs.min_last_epoch_clean')
+
+  floor=($(echo $report | \
+    jq \
+    ".osdmap_clean_epochs.last_epoch_clean.per_pool[] |" \
+    " select(.poolid == $pool_id) | .floor"))
+
+  [[ $lec -lt $floor ]] || ( echo $report ; return 1 )
+  return 0
+}
+
+function check_floor_pool_greater_than_pool() {
+
+  local pool_a=$1
+  local pool_b=$1
+  [[ -z "$pool_a" ]] && ( echo "expected id as first parameter" ; exit 1 )
+  [[ -z "$pool_b" ]] && ( echo "expected id as second parameter" ; exit 1 )
+
+  report=$(ceph report)
+
+  floor_a=($(echo $report | \
+    jq \
+    ".osdmap_clean_epochs.last_epoch_clean.per_pool[] |" \
+    " select(.poolid == $pool_a) | .floor"))
+
+  floor_b=($(echo $report | \
+    jq \
+    ".osdmap_clean_epochs.last_epoch_clean.per_pool[] |" \
+    " select(.poolid == $pool_b) | .floor"))
+
+  [[ $floor_a -gt $floor_b ]] || ( echo $report ; return 1 )
+  return 0
+}
+
+function check_lec_honours_osd() {
+
+  local osd=$1
+
+  report=$(ceph report)
+  lec=$(echo $report | \
+    jq '.osdmap_clean_epochs.min_last_epoch_clean')
+
+  if [[ -z "$osd" ]]; then
+    osds=($(echo $report | \
+      jq \
+      ".osdmap_clean_epochs.osd_epochs[] |" \
+      " select(.epoch >= $lec) | .id"))
+
+    [[ ${#osds[*]} -eq 3 ]] || ( echo $report ; return 1 )
+  else
+    epoch=($(echo $report | \
+      jq \
+      ".osdmap_clean_epochs.osd_epochs[] |" \
+      " select(.id == $id) | .epoch"))
+    [[ ${#epoch[*]} -eq 1 ]] || ( echo $report ; return 1 )
+    [[ ${epoch[0]} -ge $lec ]] || ( echo $report ; return 1 )
+  fi
+
+  return 0
+}
+
+function validate_fc() {
+  report=$(ceph report)
+  lec=$(echo $report | \
+    jq '.osdmap_clean_epochs.min_last_epoch_clean')
+  osdm_fc=$(echo $report | \
+    jq '.osdmap_first_committed')
+
+  [[ $lec -eq $osdm_fc ]] || ( echo $report ; return 1 )
+  return 0
+}
+
+function get_fc_lc_diff() {
+  report=$(ceph report)
+  osdm_fc=$(echo $report | \
+    jq '.osdmap_first_committed')
+  osdm_lc=$(echo $report | \
+    jq '.osdmap_last_committed')
+
+  echo $((osdm_lc - osdm_fc))
+}
+
+function get_pool_id() {
+
+  local pn=$1
+  [[ -z "$pn" ]] && ( echo "expected pool name as argument" ; exit 1 )
+
+  report=$(ceph report)
+  pool_id=$(echo $report | \
+    jq ".osdmap.pools[] | select(.pool_name == \"$pn\") | .pool")
+
+  [[ $pool_id -ge 0 ]] || \
+    ( echo "unexpected pool id for pool \'$pn\': $pool_id" ; return -1 )
+
+  echo $pool_id
+  return 0
+}
+
+function wait_for_total_num_maps() {
+  # rip wait_for_health, becaue it's easier than deduplicating the code
+  local -a delays=($(get_timeout_delays $TIMEOUT .1))
+  local -i loop=0
+  local -i v_diff=$1
+
+  while [[ $(get_fc_lc_diff) -gt $v_diff ]]; do
+    if (( $loop >= ${#delays[*]} )) ; then
+      echo "maps were not trimmed"
+      return 1
+    fi
+    sleep ${delays[$loop]}
+    loop+=1
+  done 
+}
+
+function TEST_mon_last_clean_epoch() {
+
+  local dir=$1
+
+  run_mon $dir a || return 1
+  run_mgr $dir x || return 1
+  run_osd $dir 0 || return 1
+  run_osd $dir 1 || return 1
+  run_osd $dir 2 || return 1
+  osd_pid=$(cat $dir/osd.2.pid)
+
+  sleep 5
+
+  ceph tell osd.* injectargs '--osd-beacon-report-interval 10' || exit 1
+  ceph tell mon.* injectargs \
+    '--mon-min-osdmap-epochs 2 --paxos-service-trim-min 1' || exit 1
+
+  create_pool foo 32
+  create_pool bar 32
+
+  foo_id=$(get_pool_id "foo")
+  bar_id=$(get_pool_id "bar")
+
+  [[ $foo_id -lt 0 ]] && ( echo "couldn't find pool 'foo' id" ; exit 1 )
+  [[ $bar_id -lt 0 ]] && ( echo "couldn't find pool 'bar' id" ; exit 1 )
+
+  # no real clue why we are getting these warnings, but let's make them go
+  # away so we can be happy.
+
+  ceph osd set-full-ratio 0.97
+  ceph osd set-backfillfull-ratio 0.97
+
+  wait_for_health_ok || exit 1
+
+  pre_map_diff=$(get_fc_lc_diff)
+  wait_for_total_num_maps 2
+  post_map_diff=$(get_fc_lc_diff)
+
+  [[ $post_map_diff -le $pre_map_diff ]] || exit 1
+
+  pre_map_diff=$post_map_diff
+
+  ceph osd pool set foo size 3
+  ceph osd pool set bar size 3
+
+  wait_for_health_ok || exit 1
+
+  check_lec_equals_pools || exit 1
+  check_lec_honours_osd || exit 1
+  validate_fc || exit 1
+
+  # down osd.2; expected result (because all pools' size equals 3):
+  # - number of committed maps increase over 2
+  # - lec equals fc
+  # - lec equals osd.2's epoch
+  # - all pools have floor equal to lec
+
+  while kill $osd_pid ; do sleep 1 ; done
+  ceph osd down 2
+  sleep 5 # seriously, just to make sure things settle; we may not need this.
+
+  # generate some maps
+  for ((i=0; i <= 10; ++i)); do
+    ceph osd set noup
+    sleep 1
+    ceph osd unset noup
+    sleep 1
+  done
+
+  post_map_diff=$(get_fc_lc_diff)
+  [[ $post_map_diff -gt 2 ]] || exit 1
+
+  validate_fc || exit 1
+  check_lec_equals_pools || exit 1
+  check_lec_honours_osd 2 || exit 1
+
+  # adjust pool 'bar' size to 2; expect:
+  # - number of committed maps still over 2
+  # - lec equals fc
+  # - lec equals pool 'foo' floor
+  # - pool 'bar' floor greater than pool 'foo'
+
+  ceph osd pool set bar size 2
+
+  diff_ver=$(get_fc_lc_diff)
+  [[ $diff_ver -gt 2 ]] || exit 1
+
+  validate_fc || exit 1
+
+  check_lec_equals_pools $foo_id || exit 1
+  check_lec_lower_than_pool $bar_id || exit 1
+
+  check_floor_pool_greater_than_pool $bar_id $foo_id || exit 1
+
+  # set pool 'foo' size to 2; expect:
+  # - health_ok
+  # - lec equals pools
+  # - number of committed maps decreases
+  # - lec equals fc
+
+  pre_map_diff=$(get_fc_lc_diff)
+
+  ceph osd pool set foo size 2 || exit 1
+  wait_for_clean || exit 1
+
+  check_lec_equals_pools || exit 1
+  validate_fc || exit 1
+
+  if ! wait_for_total_num_maps 2 ; then
+    post_map_diff=$(get_fc_lc_diff)
+    # number of maps is decreasing though, right?
+    [[ $post_map_diff -lt $pre_map_diff ]] || exit 1
+  fi
+
+  # bring back osd.2; expect:
+  # - health_ok
+  # - lec equals fc
+  # - number of committed maps equals 2
+  # - all pools have floor equal to lec
+
+  pre_map_diff=$(get_fc_lc_diff)
+
+  activate_osd $dir 2 || exit 1
+  wait_for_health_ok || exit 1
+  validate_fc || exit 1
+  check_lec_equals_pools || exit 1
+
+  if ! wait_for_total_num_maps 2 ; then
+    post_map_diff=$(get_fc_lc_diff)
+    # number of maps is decreasing though, right?
+    [[ $post_map_diff -lt $pre_map_diff ]] || exit 1
+  fi
+
+  return 0
+}
+
+main mon-last-clean-epoch "$@"
index ea43b00fe462598a0f1cb5712b0a6fdeba57eded..db8f4da668e6e02831e06037c9ff1e99f6c34df9 100755 (executable)
@@ -353,6 +353,7 @@ function TEST_backfill_out2() {
     sleep 2
     primary=$(get_primary $poolname obj1)
     ceph osd unset nobackfill
+    ceph tell osd.$primary get_latest_osdmap
     ceph tell osd.$primary debug kick_recovery_wq 0
     sleep 2
 
@@ -410,6 +411,7 @@ function TEST_backfill_sizeup4_allout() {
     sleep 2
     primary=$(get_primary $poolname obj1)
     ceph osd unset nobackfill
+    ceph tell osd.$primary get_latest_osdmap
     ceph tell osd.$primary debug kick_recovery_wq 0
     sleep 2
 
@@ -474,6 +476,7 @@ function TEST_backfill_remapped() {
     primary=$(get_primary $poolname obj1)
 
     ceph osd unset nobackfill
+    ceph tell osd.$primary get_latest_osdmap
     ceph tell osd.$primary debug kick_recovery_wq 0
 
     sleep 2
@@ -534,6 +537,7 @@ function TEST_backfill_ec_all_out() {
     sleep 2
     primary=$(get_primary $poolname obj1)
     ceph osd unset nobackfill
+    ceph tell osd.$primary get_latest_osdmap
     ceph tell osd.$primary debug kick_recovery_wq 0
     sleep 2
 
@@ -584,6 +588,7 @@ function TEST_backfill_ec_prim_out() {
     sleep 2
     primary=$(get_primary $poolname obj1)
     ceph osd unset nobackfill
+    ceph tell osd.$primary get_latest_osdmap
     ceph tell osd.$primary debug kick_recovery_wq 0
     sleep 2
 
@@ -642,6 +647,7 @@ function TEST_backfill_ec_down_all_out() {
     sleep 2
     primary=$(get_primary $poolname obj1)
     ceph osd unset nobackfill
+    ceph tell osd.$primary get_latest_osdmap
     ceph tell osd.$primary debug kick_recovery_wq 0
     sleep 2
     flush_pg_stats
@@ -726,6 +732,7 @@ function TEST_backfill_ec_down_out() {
     sleep 2
     primary=$(get_primary $poolname obj1)
     ceph osd unset nobackfill
+    ceph tell osd.$primary get_latest_osdmap
     ceph tell osd.$primary debug kick_recovery_wq 0
     sleep 2
 
index 12981dd8fae7245a1a6226554b11ff3c2215f26a..d5a5ee332d7d5c7aee956c5529de01385c5db266 100755 (executable)
@@ -494,8 +494,9 @@ function TEST_auto_repair_bluestore_failed() {
     repair $pgid
     sleep 2
 
+    flush_pg_stats
     ceph pg dump pgs
-    ceph pg dump pgs | grep -q "^$(pgid).* active+clean " || return 1
+    ceph pg dump pgs | grep -q -e "^${pgid}.* active+clean " -e "^${pgid}.* active+clean+wait " || return 1
     grep scrub_finish $dir/osd.${primary}.log
 
     # Tear down
index 7fdee84b1f8963ab4994aba357419374c82ac824..a86612149c4a39430af0a2d0a65d7834a8c1e9e3 100644 (file)
@@ -1,6 +1,7 @@
 overrides:
   ceph:
     log-whitelist:
+      - Replacing daemon mds
       - Scrub error on inode
       - Behind on trimming
       - Metadata damage detected
index 4b45dbf921340a76079743bcdb18004fdfa87d1c..b16cfb17d60045e63e6aae52ddc58e3f8bfd6c83 100644 (file)
@@ -1,16 +1,4 @@
 tasks:
-- install:
-    extra_system_packages:
-      deb:
-      - libaio-dev
-      - libtool-bin
-      - uuid-dev
-      - xfslibs-dev
-      rpm:
-      - libaio-devel
-      - libtool
-      - libuuid-devel
-      - xfsprogs-devel
 - check-counter:
     counters:
       mds:
index 67e63ba2e18a32dbb1d7617e1f51a661ae0844f7..8b2b1ab5c141432bab1916e8346c74eb72e27791 100644 (file)
@@ -1,16 +1,4 @@
 tasks:
-- install:
-    extra_system_packages:
-      deb:
-      - libaio-dev
-      - libtool-bin
-      - uuid-dev
-      - xfslibs-dev
-      rpm:
-      - libaio-devel
-      - libtool
-      - libuuid-devel
-      - xfsprogs-devel
 - workunit:
     clients:
       all:
index 67e63ba2e18a32dbb1d7617e1f51a661ae0844f7..8b2b1ab5c141432bab1916e8346c74eb72e27791 100644 (file)
@@ -1,16 +1,4 @@
 tasks:
-- install:
-    extra_system_packages:
-      deb:
-      - libaio-dev
-      - libtool-bin
-      - uuid-dev
-      - xfslibs-dev
-      rpm:
-      - libaio-devel
-      - libtool
-      - libuuid-devel
-      - xfsprogs-devel
 - workunit:
     clients:
       all:
diff --git a/ceph/qa/suites/rados/cephadm/smoke-roleless/% b/ceph/qa/suites/rados/cephadm/smoke-roleless/%
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/ceph/qa/suites/rados/cephadm/smoke-roleless/.qa b/ceph/qa/suites/rados/cephadm/smoke-roleless/.qa
new file mode 120000 (symlink)
index 0000000..fea2489
--- /dev/null
@@ -0,0 +1 @@
+../.qa
\ No newline at end of file
diff --git a/ceph/qa/suites/rados/cephadm/smoke-roleless/distro b/ceph/qa/suites/rados/cephadm/smoke-roleless/distro
new file mode 120000 (symlink)
index 0000000..d2dffb1
--- /dev/null
@@ -0,0 +1 @@
+../smoke/distro
\ No newline at end of file
diff --git a/ceph/qa/suites/rados/cephadm/smoke-roleless/start.yaml b/ceph/qa/suites/rados/cephadm/smoke-roleless/start.yaml
new file mode 100644 (file)
index 0000000..2ca0d0e
--- /dev/null
@@ -0,0 +1,32 @@
+tasks:
+- cephadm:
+    roleless: true
+- cephadm.shell:
+    host.a:
+      - ceph orch status
+      - ceph orch ps
+      - ceph orch ls
+      - ceph orch host ls
+      - ceph orch device ls
+roles:
+- - host.a
+  - osd.0
+  - osd.1
+  - osd.2
+  - osd.3
+  - client.0
+- - host.b
+  - osd.4
+  - osd.5
+  - osd.6
+  - osd.7
+  - client.1
+openstack:
+- volumes: # attached to each instance
+    count: 4
+    size: 10 # GB
+overrides:
+  ceph:
+    conf:
+      osd:
+        osd shutdown pgref assert: true
index 5b5d29adfd689d61e8cada34d814468b4ac7d0a1..56d68ff55a08dc83837418be31ce98498f0f4d4d 100644 (file)
@@ -1,4 +1,4 @@
 tasks:
 - cephadm:
-    image: quay.io/ceph-ci/ceph:wip-sage4-testing-2020-03-19-1456
-    cephadm_branch: wip-sage4-testing-2020-03-19-1456
+    image: docker.io/ceph/ceph:v15.2.0
+    cephadm_branch: v15.2.0
index bf99644817bfeb0b2bebe80143bebfa3088f05b3..e61294eeed9a3cff1aba54b694631190cf1c2536 100644 (file)
@@ -33,6 +33,7 @@ tasks:
         - tasks.mgr.dashboard.test_auth
         - tasks.mgr.dashboard.test_cephfs
         - tasks.mgr.dashboard.test_cluster_configuration
+        - tasks.mgr.dashboard.test_crush_rule
         - tasks.mgr.dashboard.test_erasure_code_profile
         - tasks.mgr.dashboard.test_ganesha
         - tasks.mgr.dashboard.test_health
index 17fa6b395c69fd08b21b089a8bc213a2c760a716..9fa956b7e8c2ed4cd9f94a9d7de27ba53f443db4 100644 (file)
@@ -18,6 +18,7 @@ tasks:
         - influxdb python module not found
         - \(MGR_ZABBIX_
         - foo bar
+        - Failed to open Telegraf
   - cephfs_test_runner:
       modules:
         - tasks.mgr.test_module_selftest
diff --git a/ceph/qa/suites/rados/rest/centos_latest.yaml b/ceph/qa/suites/rados/rest/centos_latest.yaml
deleted file mode 120000 (symlink)
index bd9854e..0000000
+++ /dev/null
@@ -1 +0,0 @@
-.qa/distros/supported/centos_latest.yaml
\ No newline at end of file
diff --git a/ceph/qa/suites/rados/rest/supported-random-distro$ b/ceph/qa/suites/rados/rest/supported-random-distro$
new file mode 120000 (symlink)
index 0000000..7cef21e
--- /dev/null
@@ -0,0 +1 @@
+../basic/supported-random-distro$
\ No newline at end of file
index e635364937550e9c3e8bb84940518dcfbdc72458..a5ffc3067d97bb26e1fbe424a7caca55d8a8a69c 100644 (file)
@@ -27,5 +27,6 @@ tasks:
     conf:
       osd:
         osd min pg log entries: 5
+        osd pg log trim min: 0
         osd_fast_fail_on_connection_refused: false
 - osd_recovery:
diff --git a/ceph/qa/suites/rados/thrash/workloads/radosbench-high-concurrency.yaml b/ceph/qa/suites/rados/thrash/workloads/radosbench-high-concurrency.yaml
new file mode 100644 (file)
index 0000000..902c4b5
--- /dev/null
@@ -0,0 +1,49 @@
+overrides:
+  ceph:
+    conf:
+      client.0:
+        debug ms: 1
+        debug objecter: 20
+        debug rados: 20
+tasks:
+- full_sequential:
+  - radosbench:
+      clients: [client.0]
+      concurrency: 128
+      size: 8192
+      time: 90
+  - radosbench:
+      clients: [client.0]
+      concurrency: 128
+      size: 8192
+      time: 90
+  - radosbench:
+      clients: [client.0]
+      concurrency: 128
+      size: 8192
+      time: 90
+  - radosbench:
+      clients: [client.0]
+      concurrency: 128
+      size: 8192
+      time: 90
+  - radosbench:
+      clients: [client.0]
+      concurrency: 128
+      size: 8192
+      time: 90
+  - radosbench:
+      clients: [client.0]
+      concurrency: 128
+      size: 8192
+      time: 90
+  - radosbench:
+      clients: [client.0]
+      concurrency: 128
+      size: 8192
+      time: 90
+  - radosbench:
+      clients: [client.0]
+      concurrency: 128
+      size: 8192
+      time: 90
index 4d14dcf04acbb5a6f2563e2a9249512283ca5ceb..ee8d62af05c83e1b1f4094455878167bf2959ca3 100644 (file)
@@ -2,6 +2,8 @@ overrides:
   ceph:
     conf:
       client:
+        setuser: ceph
+        setgroup: ceph
         rgw crypt require ssl: false
         debug rgw: 20
 
diff --git a/ceph/qa/suites/rgw/hadoop-s3a/overrides.yaml b/ceph/qa/suites/rgw/hadoop-s3a/overrides.yaml
new file mode 100644 (file)
index 0000000..d52080b
--- /dev/null
@@ -0,0 +1,6 @@
+overrides:
+  ceph:
+    conf:
+      client:
+        setuser: ceph
+        setgroup: ceph
index 038a9c9c69f848ddd72dd7efdcd9ee13b8ac0960..1cb489072f90562476d98ca781de1644afc4f9b1 100644 (file)
@@ -3,6 +3,8 @@ overrides:
     wait-for-scrub: false
     conf:
       client:
+        setuser: ceph
+        setgroup: ceph
         debug rgw: 20
         rgw crypt s3 kms backend: testing
         rgw crypt s3 kms encryption keys: testkey-1=YmluCmJvb3N0CmJvb3N0LWJ1aWxkCmNlcGguY29uZgo= testkey-2=aWIKTWFrZWZpbGUKbWFuCm91dApzcmMKVGVzdGluZwo=
index 9c383fc78daef426284e63d4d1748736e6575dff..54e3db24f24c8ad1492bc1488e5156768d359cbf 100644 (file)
@@ -3,6 +3,8 @@ overrides:
     wait-for-scrub: false
     conf:
       client:
+        setuser: ceph
+        setgroup: ceph
         debug rgw: 20
         rgw crypt s3 kms backend: testing
         rgw crypt s3 kms encryption keys: testkey-1=YmluCmJvb3N0CmJvb3N0LWJ1aWxkCmNlcGguY29uZgo=
index ed4ad591da993fa43af396e5fd51cae8a12ab7f1..d2aea790aecf913520fbf86150f5ea597b13e3ce 100644 (file)
@@ -3,4 +3,6 @@ overrides:
     wait-for-scrub: false
     conf:
       client:
+        setuser: ceph
+        setgroup: ceph
         debug rgw: 20
diff --git a/ceph/qa/suites/rgw/tempest/overrides.yaml b/ceph/qa/suites/rgw/tempest/overrides.yaml
new file mode 100644 (file)
index 0000000..d52080b
--- /dev/null
@@ -0,0 +1,6 @@
+overrides:
+  ceph:
+    conf:
+      client:
+        setuser: ceph
+        setgroup: ceph
index 5845a0e6c15cfa046dbf149d04e2e773a5cd45b1..db4b04339131d47aa53111775bb3fb3c2011d2eb 100644 (file)
@@ -1,3 +1,8 @@
 overrides:
+  ceph:
+    conf:
+      client:
+        setuser: ceph
+        setgroup: ceph
   rgw:
     frontend: civetweb 
index 12d32becaca0f26ee0db73fff7500b4a899f20c8..aefee7b70ecc6823393665d4c8295a1e33b239b0 100644 (file)
@@ -2,6 +2,8 @@ overrides:
   ceph:
     conf:
       client:
+        setuser: ceph
+        setgroup: ceph
         debug rgw: 20
         rgw crypt s3 kms backend: testing
         rgw crypt s3 kms encryption keys: testkey-1=YmluCmJvb3N0CmJvb3N0LWJ1aWxkCmNlcGguY29uZgo= testkey-2=aWIKTWFrZWZpbGUKbWFuCm91dApzcmMKVGVzdGluZwo=
index 57fb5d0338e3b39c6f3725672835465d3006ff07..0eb474980f57efbefa294d98aa5d4b637a2d481d 100644 (file)
@@ -11,6 +11,8 @@ overrides:
         osd_min_pg_log_entries: 10
         osd_max_pg_log_entries: 10
       client:
+        setuser: ceph
+        setgroup: ceph
         debug rgw: 20
         rgw crypt s3 kms backend: testing
         rgw crypt s3 kms encryption keys: testkey-1=YmluCmJvb3N0CmJvb3N0LWJ1aWxkCmNlcGguY29uZgo= testkey-2=aWIKTWFrZWZpbGUKbWFuCm91dApzcmMKVGVzdGluZwo=
diff --git a/ceph/qa/suites/upgrade/client-upgrade-octopus-pacific/octopus-client-x/.qa b/ceph/qa/suites/upgrade/client-upgrade-octopus-pacific/octopus-client-x/.qa
new file mode 120000 (symlink)
index 0000000..a602a03
--- /dev/null
@@ -0,0 +1 @@
+../.qa/
\ No newline at end of file
diff --git a/ceph/qa/suites/upgrade/client-upgrade-octopus-pacific/octopus-client-x/rbd/% b/ceph/qa/suites/upgrade/client-upgrade-octopus-pacific/octopus-client-x/rbd/%
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/ceph/qa/suites/upgrade/client-upgrade-octopus-pacific/octopus-client-x/rbd/.qa b/ceph/qa/suites/upgrade/client-upgrade-octopus-pacific/octopus-client-x/rbd/.qa
new file mode 120000 (symlink)
index 0000000..a602a03
--- /dev/null
@@ -0,0 +1 @@
+../.qa/
\ No newline at end of file
diff --git a/ceph/qa/suites/upgrade/client-upgrade-octopus-pacific/octopus-client-x/rbd/0-cluster/+ b/ceph/qa/suites/upgrade/client-upgrade-octopus-pacific/octopus-client-x/rbd/0-cluster/+
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/ceph/qa/suites/upgrade/client-upgrade-octopus-pacific/octopus-client-x/rbd/0-cluster/.qa b/ceph/qa/suites/upgrade/client-upgrade-octopus-pacific/octopus-client-x/rbd/0-cluster/.qa
new file mode 120000 (symlink)
index 0000000..a602a03
--- /dev/null
@@ -0,0 +1 @@
+../.qa/
\ No newline at end of file
diff --git a/ceph/qa/suites/upgrade/client-upgrade-octopus-pacific/octopus-client-x/rbd/0-cluster/openstack.yaml b/ceph/qa/suites/upgrade/client-upgrade-octopus-pacific/octopus-client-x/rbd/0-cluster/openstack.yaml
new file mode 100644 (file)
index 0000000..b0f3b9b
--- /dev/null
@@ -0,0 +1,4 @@
+openstack:
+  - volumes: # attached to each instance
+      count: 4
+      size: 30 # GB
diff --git a/ceph/qa/suites/upgrade/client-upgrade-octopus-pacific/octopus-client-x/rbd/0-cluster/start.yaml b/ceph/qa/suites/upgrade/client-upgrade-octopus-pacific/octopus-client-x/rbd/0-cluster/start.yaml
new file mode 100644 (file)
index 0000000..c631b0e
--- /dev/null
@@ -0,0 +1,21 @@
+meta:
+- desc: |
+   Insatll and run ceph on one node,
+   with a separate client 1.
+   Upgrade client 1 to octopus
+   Run tests against old cluster
+roles:
+- - mon.a
+  - mon.b
+  - mon.c
+  - osd.0
+  - osd.1
+  - osd.2
+  - client.0
+  - mgr.x
+- - client.1
+overrides:
+  ceph:
+    #log-whitelist:
+      #- failed to encode map
+    fs: xfs
diff --git a/ceph/qa/suites/upgrade/client-upgrade-octopus-pacific/octopus-client-x/rbd/1-install/.qa b/ceph/qa/suites/upgrade/client-upgrade-octopus-pacific/octopus-client-x/rbd/1-install/.qa
new file mode 120000 (symlink)
index 0000000..a602a03
--- /dev/null
@@ -0,0 +1 @@
+../.qa/
\ No newline at end of file
diff --git a/ceph/qa/suites/upgrade/client-upgrade-octopus-pacific/octopus-client-x/rbd/1-install/nautilus-client-x.yaml b/ceph/qa/suites/upgrade/client-upgrade-octopus-pacific/octopus-client-x/rbd/1-install/nautilus-client-x.yaml
new file mode 100644 (file)
index 0000000..e875802
--- /dev/null
@@ -0,0 +1,11 @@
+tasks:
+- install:
+    branch: octopus
+    exclude_packages: ['ceph-mgr','libcephfs2','libcephfs-devel','libcephfs-dev','python34-cephfs','python34-rados']
+- print: "**** done install octopus"
+- install.upgrade:
+   exclude_packages: ['ceph-test', 'ceph-test-dbg','libcephfs1', 'python-ceph']
+   client.1:
+- print: "**** done install.upgrade to -x on client.0"
+- ceph:
+- print: "**** done ceph task"
diff --git a/ceph/qa/suites/upgrade/client-upgrade-octopus-pacific/octopus-client-x/rbd/2-features/.qa b/ceph/qa/suites/upgrade/client-upgrade-octopus-pacific/octopus-client-x/rbd/2-features/.qa
new file mode 120000 (symlink)
index 0000000..a602a03
--- /dev/null
@@ -0,0 +1 @@
+../.qa/
\ No newline at end of file
diff --git a/ceph/qa/suites/upgrade/client-upgrade-octopus-pacific/octopus-client-x/rbd/2-features/defaults.yaml b/ceph/qa/suites/upgrade/client-upgrade-octopus-pacific/octopus-client-x/rbd/2-features/defaults.yaml
new file mode 100644 (file)
index 0000000..dff6623
--- /dev/null
@@ -0,0 +1,6 @@
+overrides:
+  ceph:
+    conf:
+      client:
+        rbd default features: 61
+
diff --git a/ceph/qa/suites/upgrade/client-upgrade-octopus-pacific/octopus-client-x/rbd/2-features/layering.yaml b/ceph/qa/suites/upgrade/client-upgrade-octopus-pacific/octopus-client-x/rbd/2-features/layering.yaml
new file mode 100644 (file)
index 0000000..5613d01
--- /dev/null
@@ -0,0 +1,6 @@
+overrides:
+  ceph:
+    conf:
+      client:
+        rbd default features: 1
+
diff --git a/ceph/qa/suites/upgrade/client-upgrade-octopus-pacific/octopus-client-x/rbd/3-workload/.qa b/ceph/qa/suites/upgrade/client-upgrade-octopus-pacific/octopus-client-x/rbd/3-workload/.qa
new file mode 120000 (symlink)
index 0000000..a602a03
--- /dev/null
@@ -0,0 +1 @@
+../.qa/
\ No newline at end of file
diff --git a/ceph/qa/suites/upgrade/client-upgrade-octopus-pacific/octopus-client-x/rbd/3-workload/rbd_notification_tests.yaml b/ceph/qa/suites/upgrade/client-upgrade-octopus-pacific/octopus-client-x/rbd/3-workload/rbd_notification_tests.yaml
new file mode 100644 (file)
index 0000000..10b8653
--- /dev/null
@@ -0,0 +1,36 @@
+tasks:
+- parallel:
+  - workunit:
+      branch: octopus
+      clients:
+        client.0:
+          - rbd/notify_master.sh
+      env:
+        RBD_FEATURES: "61"
+  - workunit:
+      #The line below to change to 'pacific'
+      branch: master
+      clients:
+        client.1:
+          - rbd/notify_slave.sh
+      env:
+        RBD_FEATURES: "61"
+- print: "**** done rbd: old librbd -> new librbd"
+- parallel:
+  - workunit:
+      #The line below to change to 'pacific'
+      branch: master
+      clients:
+        client.0:
+          - rbd/notify_slave.sh
+      env:
+        RBD_FEATURES: "61"
+  - workunit:
+      #The line below to change to 'pacific'
+      branch: master
+      clients:
+        client.1:
+          - rbd/notify_master.sh
+      env:
+        RBD_FEATURES: "61"
+- print: "**** done rbd: new librbd -> old librbd"
diff --git a/ceph/qa/suites/upgrade/client-upgrade-octopus-pacific/octopus-client-x/rbd/supported/.qa b/ceph/qa/suites/upgrade/client-upgrade-octopus-pacific/octopus-client-x/rbd/supported/.qa
new file mode 120000 (symlink)
index 0000000..a602a03
--- /dev/null
@@ -0,0 +1 @@
+../.qa/
\ No newline at end of file
diff --git a/ceph/qa/suites/upgrade/client-upgrade-octopus-pacific/octopus-client-x/rbd/supported/ubuntu_18.04.yaml b/ceph/qa/suites/upgrade/client-upgrade-octopus-pacific/octopus-client-x/rbd/supported/ubuntu_18.04.yaml
new file mode 120000 (symlink)
index 0000000..886e87f
--- /dev/null
@@ -0,0 +1 @@
+../../../../../../distros/all/ubuntu_18.04.yaml
\ No newline at end of file
diff --git a/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-parallel/% b/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-parallel/%
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-parallel/point-to-point-upgrade.yaml b/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-parallel/point-to-point-upgrade.yaml
new file mode 100644 (file)
index 0000000..1bcca4e
--- /dev/null
@@ -0,0 +1,177 @@
+meta:
+- desc: |
+   Run ceph on two nodes, using one of them as a client,
+   with a separate client-only node.
+   Use xfs beneath the osds.
+   install ceph/octopus v15.2.1 point version
+   run workload and upgrade-sequence in parallel
+   (every point release should be tested)
+   run workload and upgrade-sequence in parallel
+   install ceph/octopus  latest version
+   run workload and upgrade-sequence in parallel
+overrides:
+  ceph:
+    log-whitelist:
+    - reached quota
+    - scrub
+    - osd_map_max_advance
+    - wrongly marked
+    - FS_DEGRADED
+    - POOL_APP_NOT_ENABLED
+    - CACHE_POOL_NO_HIT_SET
+    - POOL_FULL
+    - SMALLER_PG
+    - pool\(s\) full
+    - OSD_DOWN
+    - missing hit_sets
+    - CACHE_POOL_NEAR_FULL
+    - PG_AVAILABILITY
+    - PG_DEGRADED
+    - application not enabled
+    - cache pools at or near target size
+    - filesystem is degraded
+    - OBJECT_MISPLACED
+    ### ref: https://tracker.ceph.com/issues/40251
+    #removed see ^ - failed to encode map
+
+    fs: xfs
+
+    conf:
+      global:
+        mon_warn_on_pool_no_app: false
+      mon:
+        mon debug unsafe allow tier with nonempty snaps: true
+      osd:
+        osd map max advance: 1000
+        osd_class_default_list: "*"
+        osd_class_load_list: "*"
+      client:
+        rgw_crypt_require_ssl: false
+        rgw crypt s3 kms backend: testing
+        rgw crypt s3 kms encryption keys: testkey-1=YmluCmJvb3N0CmJvb3N0LWJ1aWxkCmNlcGguY29uZgo= testkey-2=aWIKTWFrZWZpbGUKbWFuCm91dApzcmMKVGVzdGluZwo=
+roles:
+- - mon.a
+  - mds.a
+  - osd.0
+  - osd.1
+  - osd.2
+  - mgr.x
+- - mon.b
+  - mon.c
+  - osd.3
+  - osd.4
+  - osd.5
+  - client.0
+- - client.1
+openstack:
+- volumes: # attached to each instance
+    count: 3
+    size: 30 # GB
+tasks:
+- print: "****  done octopus v15.2.1 about to install"
+- install:
+    tag: v15.2.1
+    # line below can be removed its from jewel test
+    #exclude_packages: ['ceph-mgr','libcephfs2','libcephfs-devel','libcephfs-dev', 'librgw2']
+- print: "**** done v15.2.1 install"
+- ceph:
+   fs: xfs
+   add_osds_to_crush: true
+- print: "**** done ceph xfs"
+- sequential:
+   - workload
+- print: "**** done workload v15.2.1"
+
+
+#######  upgrade to v15.2.?? PLACEHOLDER
+#- install.upgrade:
+#    #exclude_packages: ['ceph-mgr','libcephfs2','libcephfs-devel','libcephfs-dev']
+#    mon.a:
+#      tag: v15.2.??
+#    mon.b:
+#      tag: v15.2.??
+#    # Note that client.a IS NOT upgraded at this point
+#- parallel:
+#   - workload_octopus
+#   - upgrade-sequence_octopus
+#- print: "**** done parallel octopus v15.2.??"
+
+####  upgrade to latest octopus
+- install.upgrade:
+    mon.a:
+    mon.b:
+- parallel:
+   - workload_octopus
+   - upgrade-sequence_octopus
+- print: "**** done parallel octopus branch"
+
+#######################
+workload:
+   sequential:
+   - workunit:
+       clients:
+         client.0:
+           - suites/blogbench.sh
+workload_octopus:
+   full_sequential:
+   - workunit:
+       branch: octopus
+       #tag: v15.2.1
+       clients:
+         client.1:
+         - rados/test.sh
+         - cls
+       env:
+         CLS_RBD_GTEST_FILTER: '*:-TestClsRbd.snapshots_namespaces'
+   - print: "**** done rados/test.sh &  cls workload_octopus"
+   - sequential:
+     - rgw: [client.0]
+     - print: "**** done rgw workload_octopus"
+     - s3tests:
+         client.0:
+           force-branch: ceph-octopus
+           rgw_server: client.0
+           scan_for_encryption_keys: false
+     - print: "**** done s3tests workload_octopus"
+     - rbd_fsx:
+         clients: [client.0]
+         size: 134217728
+     - print: "**** done rbd_fsx workload_octopus"
+
+upgrade-sequence_octopus:
+   sequential:
+   - print: "**** done branch: octopus install.upgrade"
+   - ceph.restart: [mds.a]
+   - sleep:
+       duration: 60
+   - ceph.restart: [osd.0]
+   - sleep:
+       duration: 30
+   - ceph.restart: [osd.1]
+   - sleep:
+       duration: 30
+   - ceph.restart: [osd.2]
+   - sleep:
+       duration: 30
+   - ceph.restart: [osd.3]
+   - sleep:
+       duration: 30
+   - ceph.restart: [osd.4]
+   - sleep:
+       duration: 30
+   - ceph.restart: [osd.5]
+   - sleep:
+       duration: 60
+   - ceph.restart: [mgr.x]
+   - sleep:
+       duration: 60
+   - ceph.restart: [mon.a]
+   - sleep:
+       duration: 60
+   - ceph.restart: [mon.b]
+   - sleep:
+       duration: 60
+   - ceph.restart: [mon.c]
+   - sleep:
+       duration: 60
+   - print: "**** done ceph.restart all octopus branch mds/osd/mon"
diff --git a/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-parallel/supported-all-distro/ubuntu_latest.yaml b/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-parallel/supported-all-distro/ubuntu_latest.yaml
new file mode 100644 (file)
index 0000000..4d44648
--- /dev/null
@@ -0,0 +1,2 @@
+os_type: ubuntu
+os_version: "18.04"
diff --git a/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/% b/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/%
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/0-cluster/+ b/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/0-cluster/+
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/0-cluster/openstack.yaml b/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/0-cluster/openstack.yaml
new file mode 100644 (file)
index 0000000..5caffc3
--- /dev/null
@@ -0,0 +1,6 @@
+openstack:
+  - machine:
+      disk: 100 # GB
+  - volumes: # attached to each instance
+      count: 4
+      size: 30 # GB
diff --git a/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/0-cluster/start.yaml b/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/0-cluster/start.yaml
new file mode 100644 (file)
index 0000000..5ebce3c
--- /dev/null
@@ -0,0 +1,33 @@
+meta:
+- desc: |
+   Run ceph on two nodes,
+   with a separate client-only node.
+   Use xfs beneath the osds.
+overrides:
+  ceph:
+    fs: xfs
+    log-whitelist:
+      - overall HEALTH_
+      - \(MON_DOWN\)
+      - \(MGR_DOWN\)
+      ### ref: https://tracker.ceph.com/issues/40251
+      #removed see ^ - failed to encode map
+    conf:
+      global:
+        enable experimental unrecoverable data corrupting features: "*"
+      mon:
+        mon warn on osd down out interval zero: false
+roles:
+- - mon.a
+  - mon.b
+  - mon.c
+  - mgr.x
+  - osd.0
+  - osd.1
+  - osd.2
+  - osd.3
+- - osd.4
+  - osd.5
+  - osd.6
+  - osd.7
+- - client.0
diff --git a/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/1-ceph-install/octopus.yaml b/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/1-ceph-install/octopus.yaml
new file mode 100644 (file)
index 0000000..e42fd35
--- /dev/null
@@ -0,0 +1,19 @@
+meta:
+- desc: install ceph/octopus v15.2.1
+tasks:
+- install:
+    tag: v15.2.1
+    exclude_packages: ['librados3']
+    extra_packages: ['librados2']
+- print: "**** done install octopus v15.2.1"
+- ceph:
+- exec:
+    osd.0:
+      - ceph osd require-osd-release octopus
+      - ceph osd set-require-min-compat-client octopus
+- print: "**** done ceph"
+overrides:
+  ceph:
+    conf:
+      mon:
+        mon warn on osd down out interval zero: false
diff --git a/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/1.1.short_pg_log.yaml b/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/1.1.short_pg_log.yaml
new file mode 100644 (file)
index 0000000..20cc101
--- /dev/null
@@ -0,0 +1,6 @@
+overrides:
+  ceph:
+    conf:
+      global:
+        osd_min_pg_log_entries: 1
+        osd_max_pg_log_entries: 2
diff --git a/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/2-partial-upgrade/firsthalf.yaml b/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/2-partial-upgrade/firsthalf.yaml
new file mode 100644 (file)
index 0000000..02ba5c1
--- /dev/null
@@ -0,0 +1,13 @@
+meta:
+- desc: |
+   install upgrade ceph/-x on one node only
+   1st half
+   restart : osd.0,1,2,3
+tasks:
+- install.upgrade:
+    osd.0:
+- print: "**** done install.upgrade osd.0"
+- ceph.restart:
+    daemons: [mon.a,mon.b,mon.c,mgr.x,osd.0,osd.1,osd.2,osd.3]
+    mon-health-to-clog: false
+- print: "**** done ceph.restart 1st half"
diff --git a/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/3-thrash/default.yaml b/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/3-thrash/default.yaml
new file mode 100644 (file)
index 0000000..49e6f84
--- /dev/null
@@ -0,0 +1,27 @@
+meta:
+- desc: |
+   randomly kill and revive osd
+   small chance to increase the number of pgs
+overrides:
+  ceph:
+    log-whitelist:
+    - but it is still running
+    - wrongly marked me down
+    - objects unfound and apparently lost
+    - log bound mismatch
+    ### ref: https://tracker.ceph.com/issues/40251
+    - failed to encode map
+tasks:
+- parallel:
+  - stress-tasks
+stress-tasks:
+- thrashosds:
+    timeout: 1200
+    chance_pgnum_grow: 1
+    chance_pgpnum_fix: 1
+    chance_thrash_cluster_full: 0
+    chance_thrash_pg_upmap: 0
+    chance_thrash_pg_upmap_items: 0
+    disable_objectstore_tool_tests: true
+    chance_force_recovery: 0
+- print: "**** done thrashosds 3-thrash"
diff --git a/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/4-workload/+ b/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/4-workload/+
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/4-workload/fsx.yaml b/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/4-workload/fsx.yaml
new file mode 100644 (file)
index 0000000..fd4081f
--- /dev/null
@@ -0,0 +1,8 @@
+meta:
+- desc: |
+   run basic fsx tests for rbd
+stress-tasks:
+- rbd_fsx:
+    clients: [client.0]
+    size: 134217728
+- print: "**** done rbd_fsx 4-workload"
diff --git a/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/4-workload/radosbench.yaml b/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/4-workload/radosbench.yaml
new file mode 100644 (file)
index 0000000..c545936
--- /dev/null
@@ -0,0 +1,52 @@
+meta:
+- desc: |
+   run randomized correctness test for rados operations
+   generate write load with rados bench
+stress-tasks:
+- full_sequential:
+  - radosbench:
+      clients: [client.0]
+      time: 90
+  - radosbench:
+      clients: [client.0]
+      time: 90
+  - radosbench:
+      clients: [client.0]
+      time: 90
+  - radosbench:
+      clients: [client.0]
+      time: 90
+  - radosbench:
+      clients: [client.0]
+      time: 90
+  - radosbench:
+      clients: [client.0]
+      time: 90
+  - radosbench:
+      clients: [client.0]
+      time: 90
+  - radosbench:
+      clients: [client.0]
+      time: 90
+  - radosbench:
+      clients: [client.0]
+      time: 90
+  - radosbench:
+      clients: [client.0]
+      time: 90
+  - radosbench:
+      clients: [client.0]
+      time: 90
+  - radosbench:
+      clients: [client.0]
+      time: 90
+  - radosbench:
+      clients: [client.0]
+      time: 90
+  - radosbench:
+      clients: [client.0]
+      time: 90
+  - radosbench:
+      clients: [client.0]
+      time: 90
+- print: "**** done radosbench 4-workload"
diff --git a/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/4-workload/rbd-cls.yaml b/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/4-workload/rbd-cls.yaml
new file mode 100644 (file)
index 0000000..86c0433
--- /dev/null
@@ -0,0 +1,10 @@
+meta:
+- desc: |
+   run basic cls tests for rbd
+stress-tasks:
+- workunit:
+    branch: octopus
+    clients:
+      client.0:
+        - cls/test_cls_rbd.sh
+- print: "**** done cls/test_cls_rbd.sh 4-workload"
diff --git a/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/4-workload/rbd-import-export.yaml b/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/4-workload/rbd-import-export.yaml
new file mode 100644 (file)
index 0000000..2f665b8
--- /dev/null
@@ -0,0 +1,12 @@
+meta:
+- desc: |
+   run basic import/export cli tests for rbd
+stress-tasks:
+- workunit:
+    branch: octopus
+    clients:
+      client.0:
+        - rbd/import_export.sh
+    env:
+      RBD_CREATE_ARGS: --new-format
+- print: "**** done rbd/import_export.sh 4-workload"
diff --git a/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/4-workload/rbd_api.yaml b/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/4-workload/rbd_api.yaml
new file mode 100644 (file)
index 0000000..95c8201
--- /dev/null
@@ -0,0 +1,10 @@
+meta:
+- desc: |
+   librbd C and C++ api tests
+stress-tasks:
+- workunit:
+     branch: octopus
+     clients:
+        client.0:
+           - rbd/test_librbd.sh
+- print: "**** done rbd/test_librbd.sh 4-workload"
diff --git a/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/4-workload/readwrite.yaml b/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/4-workload/readwrite.yaml
new file mode 100644 (file)
index 0000000..4568689
--- /dev/null
@@ -0,0 +1,16 @@
+meta:
+- desc: |
+   randomized correctness test for rados operations on a replicated pool,
+   using only reads, writes, and deletes
+stress-tasks:
+- full_sequential:
+  - rados:
+      clients: [client.0]
+      ops: 4000
+      objects: 500
+      write_append_excl: false
+      op_weights:
+        read: 45
+        write: 45
+        delete: 10
+- print: "**** done rados/readwrite 4-workload"
diff --git a/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/4-workload/snaps-few-objects.yaml b/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/4-workload/snaps-few-objects.yaml
new file mode 100644 (file)
index 0000000..ae232d8
--- /dev/null
@@ -0,0 +1,18 @@
+meta:
+- desc: |
+   randomized correctness test for rados operations on a replicated pool with snapshot operations
+stress-tasks:
+- full_sequential:
+  - rados:
+      clients: [client.0]
+      ops: 4000
+      objects: 50
+      write_append_excl: false
+      op_weights:
+        read: 100
+        write: 100
+        delete: 50
+        snap_create: 50
+        snap_remove: 50
+        rollback: 50
+- print: "**** done rados/snaps-few-objects 4-workload"
diff --git a/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/5-finish-upgrade.yaml b/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/5-finish-upgrade.yaml
new file mode 100644 (file)
index 0000000..803737c
--- /dev/null
@@ -0,0 +1,8 @@
+tasks:
+- install.upgrade:
+    osd.4:
+    client.0:
+- ceph.restart:
+    daemons: [osd.4, osd.5, osd.6, osd.7]
+    wait-for-healthy: false
+    wait-for-osds-up: true
diff --git a/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/6-final-workload/+ b/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/6-final-workload/+
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/6-final-workload/rbd-python.yaml b/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/6-final-workload/rbd-python.yaml
new file mode 100644 (file)
index 0000000..b03f5fa
--- /dev/null
@@ -0,0 +1,10 @@
+meta:
+- desc: |
+   librbd python api tests
+tasks:
+- workunit:
+    tag: v15.2.1
+    clients:
+      client.0:
+        - rbd/test_librbd_python.sh
+- print: "**** done rbd/test_librbd_python.sh 7-workload"
diff --git a/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/6-final-workload/snaps-many-objects.yaml b/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/6-final-workload/snaps-many-objects.yaml
new file mode 100644 (file)
index 0000000..805bf97
--- /dev/null
@@ -0,0 +1,16 @@
+meta:
+- desc: |
+   randomized correctness test for rados operations on a replicated pool with snapshot operations
+tasks:
+- rados:
+    clients: [client.0]
+    ops: 4000
+    objects: 500
+    write_append_excl: false
+    op_weights:
+      read: 100
+      write: 100
+      delete: 50
+      snap_create: 50
+      snap_remove: 50
+      rollback: 50
diff --git a/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/objectstore/bluestore-bitmap.yaml b/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/objectstore/bluestore-bitmap.yaml
new file mode 100644 (file)
index 0000000..b18e04b
--- /dev/null
@@ -0,0 +1,43 @@
+overrides:
+  thrashosds:
+    bdev_inject_crash: 2
+    bdev_inject_crash_probability: .5
+  ceph:
+    fs: xfs
+    conf:
+      osd:
+        osd objectstore: bluestore
+        bluestore block size: 96636764160
+        debug bluestore: 20
+        debug bluefs: 20
+        debug rocksdb: 10
+        bluestore fsck on mount: true
+        bluestore allocator: bitmap
+        # lower the full ratios since we can fill up a 100gb osd so quickly
+        mon osd full ratio: .9
+        mon osd backfillfull_ratio: .85
+        mon osd nearfull ratio: .8
+        osd failsafe full ratio: .95
+# this doesn't work with failures bc the log writes are not atomic across the two backends
+#        bluestore bluefs env mirror: true
+        bdev enable discard: true
+        bdev async discard: true
+  ceph-deploy:
+    fs: xfs
+    bluestore: yes
+    conf:
+      osd:
+        osd objectstore: bluestore
+        bluestore block size: 96636764160
+        debug bluestore: 20
+        debug bluefs: 20
+        debug rocksdb: 10
+        bluestore fsck on mount: true
+        # lower the full ratios since we can fill up a 100gb osd so quickly
+        mon osd full ratio: .9
+        mon osd backfillfull_ratio: .85
+        mon osd nearfull ratio: .8
+        osd failsafe full ratio: .95
+        bdev enable discard: true
+        bdev async discard: true
+
diff --git a/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/objectstore/bluestore-comp.yaml b/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/objectstore/bluestore-comp.yaml
new file mode 100644 (file)
index 0000000..b408032
--- /dev/null
@@ -0,0 +1,23 @@
+overrides:
+  thrashosds:
+    bdev_inject_crash: 2
+    bdev_inject_crash_probability: .5
+  ceph:
+    fs: xfs
+    conf:
+      osd:
+        osd objectstore: bluestore
+        bluestore block size: 96636764160
+        debug bluestore: 20
+        debug bluefs: 20
+        debug rocksdb: 10
+        bluestore compression mode: aggressive
+        bluestore fsck on mount: true
+        # lower the full ratios since we can fill up a 100gb osd so quickly
+        mon osd full ratio: .9
+        mon osd backfillfull_ratio: .85
+        mon osd nearfull ratio: .8
+        osd failsafe full ratio: .95
+
+# this doesn't work with failures bc the log writes are not atomic across the two backends
+#        bluestore bluefs env mirror: true
diff --git a/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/objectstore/bluestore-stupid.yaml b/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/objectstore/bluestore-stupid.yaml
new file mode 100644 (file)
index 0000000..ca811f1
--- /dev/null
@@ -0,0 +1,43 @@
+overrides:
+  thrashosds:
+    bdev_inject_crash: 2
+    bdev_inject_crash_probability: .5
+  ceph:
+    fs: xfs
+    conf:
+      osd:
+        osd objectstore: bluestore
+        bluestore block size: 96636764160
+        debug bluestore: 20
+        debug bluefs: 20
+        debug rocksdb: 10
+        bluestore fsck on mount: true
+        bluestore allocator: stupid
+        # lower the full ratios since we can fill up a 100gb osd so quickly
+        mon osd full ratio: .9
+        mon osd backfillfull_ratio: .85
+        mon osd nearfull ratio: .8
+        osd failsafe full ratio: .95
+# this doesn't work with failures bc the log writes are not atomic across the two backends
+#        bluestore bluefs env mirror: true
+        bdev enable discard: true
+        bdev async discard: true
+  ceph-deploy:
+    fs: xfs
+    bluestore: yes
+    conf:
+      osd:
+        osd objectstore: bluestore
+        bluestore block size: 96636764160
+        debug bluestore: 20
+        debug bluefs: 20
+        debug rocksdb: 10
+        bluestore fsck on mount: true
+        # lower the full ratios since we can fill up a 100gb osd so quickly
+        mon osd full ratio: .9
+        mon osd backfillfull_ratio: .85
+        mon osd nearfull ratio: .8
+        osd failsafe full ratio: .95
+        bdev enable discard: true
+        bdev async discard: true
+
diff --git a/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/objectstore/filestore-xfs.yaml b/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/objectstore/filestore-xfs.yaml
new file mode 100644 (file)
index 0000000..f7aa0dd
--- /dev/null
@@ -0,0 +1,15 @@
+overrides:
+  ceph:
+    fs: xfs
+    conf:
+      osd:
+        osd objectstore: filestore
+        osd sloppy crc: true
+  ceph-deploy:
+    fs: xfs
+    filestore: True
+    conf:
+      osd:
+        osd objectstore: filestore
+        osd sloppy crc: true
+
diff --git a/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/supported-all-distro/ubuntu_latest.yaml b/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/supported-all-distro/ubuntu_latest.yaml
new file mode 100644 (file)
index 0000000..4d44648
--- /dev/null
@@ -0,0 +1,2 @@
+os_type: ubuntu
+os_version: "18.04"
diff --git a/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/thrashosds-health.yaml b/ceph/qa/suites/upgrade/octopus-p2p/octopus-p2p-stress-split/thrashosds-health.yaml
new file mode 100644 (file)
index 0000000..914f6e2
--- /dev/null
@@ -0,0 +1,15 @@
+overrides:
+  ceph:
+    log-whitelist:
+      - overall HEALTH_
+      - \(OSDMAP_FLAGS\)
+      - \(OSD_
+      - \(PG_
+      - \(POOL_
+      - \(CACHE_POOL_
+      - \(SMALLER_PGP_NUM\)
+      - \(OBJECT_
+      - \(SLOW_OPS\)
+      - \(REQUEST_SLOW\)
+      - \(TOO_FEW_PGS\)
+      - slow request
index 2b076053a784cb1745a5db278b27b61e40efb4c0..2c64ca99725ec2063d6bf1e6bd0a5e446e907473 100644 (file)
@@ -291,25 +291,11 @@ def ceph_bootstrap(ctx, config):
     testdir = teuthology.get_testdir(ctx)
     fsid = ctx.ceph[cluster_name].fsid
 
+    bootstrap_remote = ctx.ceph[cluster_name].bootstrap_remote
+    first_mon = ctx.ceph[cluster_name].first_mon
+    first_mon_role = ctx.ceph[cluster_name].first_mon_role
     mons = ctx.ceph[cluster_name].mons
-    first_mon_role = sorted(mons.keys())[0]
-    _, _, first_mon = teuthology.split_role(first_mon_role)
-    (bootstrap_remote,) = ctx.cluster.only(first_mon_role).remotes.keys()
-    log.info('First mon is mon.%s on %s' % (first_mon,
-                                            bootstrap_remote.shortname))
-    ctx.ceph[cluster_name].bootstrap_remote = bootstrap_remote
-    ctx.ceph[cluster_name].first_mon = first_mon
-
-    others = ctx.cluster.remotes[bootstrap_remote]
-    log.info('others %s' % others)
-    mgrs = sorted([r for r in others
-                   if teuthology.is_type('mgr', cluster_name)(r)])
-    if not mgrs:
-        raise RuntimeError('no mgrs on the same host as first mon %s' % first_mon)
-    _, _, first_mgr = teuthology.split_role(mgrs[0])
-    log.info('First mgr is %s' % (first_mgr))
-    ctx.ceph[cluster_name].first_mgr = first_mgr
-
+    
     ctx.cluster.run(args=[
         'sudo', 'mkdir', '-p', '/etc/ceph',
         ]);
@@ -338,14 +324,16 @@ def ceph_bootstrap(ctx, config):
             wait=False,
             started=True,
         )
-        ctx.daemons.register_daemon(
-            bootstrap_remote, 'mgr', first_mgr,
-            cluster=cluster_name,
-            fsid=fsid,
-            logger=log.getChild('mgr.' + first_mgr),
-            wait=False,
-            started=True,
-        )
+        if not ctx.ceph[cluster_name].roleless:
+            first_mgr = ctx.ceph[cluster_name].first_mgr
+            ctx.daemons.register_daemon(
+                bootstrap_remote, 'mgr', first_mgr,
+                cluster=cluster_name,
+                fsid=fsid,
+                logger=log.getChild('mgr.' + first_mgr),
+                wait=False,
+                started=True,
+            )
 
         # bootstrap
         log.info('Bootstrapping...')
@@ -356,16 +344,19 @@ def ceph_bootstrap(ctx, config):
             '-v',
             'bootstrap',
             '--fsid', fsid,
-            '--mon-id', first_mon,
-            '--mgr-id', first_mgr,
-            '--orphan-initial-daemons',   # we will do it explicitly!
-            '--skip-monitoring-stack',    # we'll provision these explicitly
             '--config', '{}/seed.{}.conf'.format(testdir, cluster_name),
             '--output-config', '/etc/ceph/{}.conf'.format(cluster_name),
             '--output-keyring',
             '/etc/ceph/{}.client.admin.keyring'.format(cluster_name),
             '--output-pub-ssh-key', '{}/{}.pub'.format(testdir, cluster_name),
         ]
+        if not ctx.ceph[cluster_name].roleless:
+            cmd += [
+                '--mon-id', first_mon,
+                '--mgr-id', first_mgr,
+                '--orphan-initial-daemons',   # we will do it explicitly!
+                '--skip-monitoring-stack',    # we'll provision these explicitly
+            ]
         if mons[first_mon_role].startswith('['):
             cmd += ['--mon-addrv', mons[first_mon_role]]
         else:
@@ -421,7 +412,7 @@ def ceph_bootstrap(ctx, config):
         for remote in ctx.cluster.remotes.keys():
             if remote == bootstrap_remote:
                 continue
-            log.info('Writing conf and keyring to %s' % remote.shortname)
+            log.info('Writing (initial) conf and keyring to %s' % remote.shortname)
             teuthology.write_file(
                 remote=remote,
                 path='/etc/ceph/{}.conf'.format(cluster_name),
@@ -516,19 +507,18 @@ def ceph_mons(ctx, config):
                         if len(j['mons']) == num_mons:
                             break
 
-        # refresh ceph.conf files for all mons + first mgr
-        for remote, roles in ctx.cluster.remotes.items():
-            for mon in [r for r in roles
-                        if teuthology.is_type('mon', cluster_name)(r)]:
-                c_, _, id_ = teuthology.split_role(mon)
-                _shell(ctx, cluster_name, remote, [
-                    'ceph', 'orch', 'daemon', 'reconfig',
-                    'mon.' + id_,
-                ])
-        _shell(ctx, cluster_name, ctx.ceph[cluster_name].bootstrap_remote, [
-            'ceph', 'orch', 'daemon', 'reconfig',
-            'mgr.' + ctx.ceph[cluster_name].first_mgr,
-        ])
+        # refresh our (final) ceph.conf file
+        log.info('Generating final ceph.conf file...')
+        r = _shell(
+            ctx=ctx,
+            cluster_name=cluster_name,
+            remote=remote,
+            args=[
+                'ceph', 'config', 'generate-minimal-conf',
+            ],
+            stdout=BytesIO(),
+        )
+        ctx.ceph[cluster_name].config_file = r.stdout.getvalue()
 
         yield
 
@@ -583,6 +573,7 @@ def ceph_osds(ctx, config):
     """
     cluster_name = config['cluster']
     fsid = ctx.ceph[cluster_name].fsid
+
     try:
         log.info('Deploying OSDs...')
 
@@ -931,11 +922,34 @@ def restart(ctx, config):
             ctx.managers[cluster].wait_for_all_osds_up()
     yield
 
+@contextlib.contextmanager
+def distribute_config_and_admin_keyring(ctx, config):
+    """
+    Distribute a sufficient config and keyring for clients
+    """
+    cluster_name = config['cluster']
+    log.info('Distributing (final) config and client.admin keyring...')
+    for remote, roles in ctx.cluster.remotes.items():
+        teuthology.sudo_write_file(
+            remote=remote,
+            path='/etc/ceph/{}.conf'.format(cluster_name),
+            data=ctx.ceph[cluster_name].config_file)
+        teuthology.sudo_write_file(
+            remote=remote,
+            path='/etc/ceph/{}.client.admin.keyring'.format(cluster_name),
+            data=ctx.ceph[cluster_name].admin_keyring)
+    try:
+        yield
+    finally:
+        ctx.cluster.run(args=[
+            'sudo', 'rm', '-f',
+            '/etc/ceph/{}.conf'.format(cluster_name),
+            '/etc/ceph/{}.client.admin.keyring'.format(cluster_name),
+        ])
+
 @contextlib.contextmanager
 def crush_setup(ctx, config):
     cluster_name = config['cluster']
-    first_mon = teuthology.get_first_mon(ctx, config, cluster_name)
-    (mon_remote,) = ctx.cluster.only(first_mon).remotes.keys()
 
     profile = config.get('crush_tunables', 'default')
     log.info('Setting crush tunables to %s', profile)
@@ -972,6 +986,8 @@ def task(ctx, config):
     ctx.ceph[cluster_name].thrashers = []
     # fixme: setup watchdog, ala ceph.py
 
+    ctx.ceph[cluster_name].roleless = False  # see below
+
     # cephadm mode?
     if 'cephadm_mode' not in config:
         config['cephadm_mode'] = 'root'
@@ -1012,13 +1028,51 @@ def task(ctx, config):
     roles = [role_list for (remote, role_list) in remotes_and_roles]
     ips = [host for (host, port) in
            (remote.ssh.get_transport().getpeername() for (remote, role_list) in remotes_and_roles)]
+
+    if config.get('roleless', False):
+        # mons will be named after hosts
+        n = len(roles)
+        roles = []
+        first_mon = None
+        for remote, _ in remotes_and_roles:
+            roles.append(['mon.' + remote.shortname])
+            if not first_mon:
+                first_mon = remote.shortname
+                bootstrap_remote = remote
+        log.info('No roles; fabricating mons %s' % roles)
+        
     ctx.ceph[cluster_name].mons = get_mons(
         roles, ips, cluster_name,
         mon_bind_msgr2=config.get('mon_bind_msgr2', True),
         mon_bind_addrvec=config.get('mon_bind_addrvec', True),
-        )
+    )
     log.info('Monitor IPs: %s' % ctx.ceph[cluster_name].mons)
 
+    if config.get('roleless', False):
+        ctx.ceph[cluster_name].roleless = True
+        ctx.ceph[cluster_name].bootstrap_remote = bootstrap_remote
+        ctx.ceph[cluster_name].first_mon = first_mon
+        ctx.ceph[cluster_name].first_mon_role = 'mon.' + first_mon
+    else:
+        first_mon_role = sorted(ctx.ceph[cluster_name].mons.keys())[0]
+        _, _, first_mon = teuthology.split_role(first_mon_role)
+        (bootstrap_remote,) = ctx.cluster.only(first_mon_role).remotes.keys()
+        log.info('First mon is mon.%s on %s' % (first_mon,
+                                                bootstrap_remote.shortname))
+        ctx.ceph[cluster_name].bootstrap_remote = bootstrap_remote
+        ctx.ceph[cluster_name].first_mon = first_mon
+        ctx.ceph[cluster_name].first_mon_role = first_mon_role
+
+        others = ctx.cluster.remotes[bootstrap_remote]
+        mgrs = sorted([r for r in others
+                       if teuthology.is_type('mgr', cluster_name)(r)])
+        if not mgrs:
+            raise RuntimeError('no mgrs on the same host as first mon %s' % first_mon)
+        _, _, first_mgr = teuthology.split_role(mgrs[0])
+        log.info('First mgr is %s' % (first_mgr))
+        ctx.ceph[cluster_name].first_mgr = first_mgr
+        
+
     with contextutil.nested(
             lambda: ceph_initial(),
             lambda: normalize_hostnames(ctx=ctx),
@@ -1028,6 +1082,7 @@ def task(ctx, config):
             lambda: ceph_bootstrap(ctx=ctx, config=config),
             lambda: crush_setup(ctx=ctx, config=config),
             lambda: ceph_mons(ctx=ctx, config=config),
+            lambda: distribute_config_and_admin_keyring(ctx=ctx, config=config),
             lambda: ceph_mgrs(ctx=ctx, config=config),
             lambda: ceph_osds(ctx=ctx, config=config),
             lambda: ceph_mdss(ctx=ctx, config=config),
index 21a9a6d2f16b803833faf09a7fc6555cd4b8b932..6ca08a460b816350f78acc85636f29668bb4a170 100644 (file)
@@ -244,6 +244,9 @@ class FuseMount(CephFSMount):
         return self.client_remote.run(args=["ls", "-d", self.mountpoint], check_status=False, cwd=self.test_dir, timeout=(15*60)).exitstatus == 0
 
     def umount(self):
+        if not self.is_mounted():
+            return
+
         try:
             log.info('Running fusermount -u on {name}...'.format(name=self.client_remote.name))
             self.client_remote.run(
index 86a06006df752e084ccee6749e2976c7c48b8fac..8e4eeb66a96a30dd237b391874aa32e74ebb411d 100644 (file)
@@ -74,6 +74,9 @@ class KernelMount(CephFSMount):
         self.mounted = True
 
     def umount(self, force=False):
+        if not self.is_mounted():
+            return
+
         log.debug('Unmounting client client.{id}...'.format(id=self.client_id))
 
         cmd=['sudo', 'umount', self.mountpoint]
index 374f75a72cf0c3a9c57a05054ed134ea848056d9..c535489602a101e6403e919e312c77c1e0d86d32 100644 (file)
@@ -1,3 +1,5 @@
+import json
+
 from teuthology.orchestra.run import CommandFailedError
 
 from tasks.cephfs.cephfs_test_case import CephFSTestCase
@@ -30,6 +32,11 @@ class TestAdminCommands(CephFSTestCase):
         if overwrites:
             self.fs.mon_manager.raw_cluster_cmd('osd', 'pool', 'set', n+"-data", 'allow_ec_overwrites', 'true')
 
+    def _check_pool_application_metadata_key_value(self, pool, app, key, value):
+        output = self.fs.mon_manager.raw_cluster_cmd(
+            'osd', 'pool', 'application', 'get', pool, app, key)
+        self.assertEqual(str(output.strip()), value)
+
     def test_add_data_pool_root(self):
         """
         That a new data pool can be added and used for the root directory.
@@ -38,6 +45,19 @@ class TestAdminCommands(CephFSTestCase):
         p = self.fs.add_data_pool("foo")
         self.fs.set_dir_layout(self.mount_a, ".", FileLayout(pool=p))
 
+    def test_add_data_pool_application_metadata(self):
+        """
+        That the application metadata set on a newly added data pool is as expected.
+        """
+        pool_name = "foo"
+        mon_cmd = self.fs.mon_manager.raw_cluster_cmd
+        mon_cmd('osd', 'pool', 'create', pool_name, str(self.fs.pgs_per_fs_pool))
+        # Check whether https://tracker.ceph.com/issues/43061 is fixed
+        mon_cmd('osd', 'pool', 'application', 'enable', pool_name, 'cephfs')
+        self.fs.add_data_pool(pool_name, create=False)
+        self._check_pool_application_metadata_key_value(
+            pool_name, 'cephfs', 'data', self.fs.name)
+
     def test_add_data_pool_subdir(self):
         """
         That a new data pool can be added and used for a sub-directory.
@@ -112,6 +132,24 @@ class TestAdminCommands(CephFSTestCase):
         else:
             raise RuntimeError("expected failure")
 
+    def test_fs_new_pool_application_metadata(self):
+        """
+        That the application metadata set on the pools of a newly created filesystem are as expected.
+        """
+        self.fs.delete_all_filesystems()
+        fs_name = "test_fs_new_pool_application"
+        keys = ['metadata', 'data']
+        pool_names = [fs_name+'-'+key for key in keys]
+        mon_cmd = self.fs.mon_manager.raw_cluster_cmd
+        for p in pool_names:
+            mon_cmd('osd', 'pool', 'create', p, str(self.fs.pgs_per_fs_pool))
+            mon_cmd('osd', 'pool', 'application', 'enable', p, 'cephfs')
+        mon_cmd('fs', 'new', fs_name, pool_names[0], pool_names[1])
+        for i in range(2):
+            self._check_pool_application_metadata_key_value(
+                pool_names[i], 'cephfs', keys[i], fs_name)
+
+
 class TestConfigCommands(CephFSTestCase):
     """
     Test that daemons and clients respond to the otherwise rarely-used
index fe099838e38e15f0b1445716c673be13f4d61db2..512e4754122b0db7373b1f6bd79891e8e3bde6a8 100644 (file)
@@ -429,6 +429,10 @@ class TestDataScan(CephFSTestCase):
         file_count = 100
         file_names = ["%s" % n for n in range(0, file_count)]
 
+        # Make sure and disable dirfrag auto merging and splitting
+        self.fs.set_ceph_conf('mds', 'mds bal merge size', 0)
+        self.fs.set_ceph_conf('mds', 'mds bal split size', 100 * file_count)
+
         # Create a directory of `file_count` files, each named after its
         # decimal number and containing the string of its decimal number
         self.mount_a.run_python(dedent("""
@@ -483,6 +487,7 @@ class TestDataScan(CephFSTestCase):
         # by checking the omap now has the dentry's key again
         self.fs.data_scan(["scan_extents", self.fs.get_data_pool_name()])
         self.fs.data_scan(["scan_inodes", self.fs.get_data_pool_name()])
+        self.fs.data_scan(["scan_links"])
         self.assertIn(victim_key, self._dirfrag_keys(frag_obj_id))
 
         # Start the filesystem and check that the dentry we deleted is now once again visible
@@ -503,6 +508,14 @@ class TestDataScan(CephFSTestCase):
         keys = self._dirfrag_keys(frag_obj_id)
         self.assertListEqual(sorted(keys), sorted(["%s_head" % f for f in file_names]))
 
+        # run scrub to update and make sure rstat.rbytes info in subdir inode and dirfrag
+        # are matched
+        out_json = self.fs.rank_tell(["scrub", "start", "/subdir", "repair", "recursive"])
+        self.assertNotEqual(out_json, None)
+
+        # Remove the whole 'sudbdir' directory
+        self.mount_a.run_shell(["rm", "-rf", "subdir/"])
+
     @for_teuthology
     def test_parallel_execution(self):
         self._rebuild_metadata(ManyFilesWorkload(self.fs, self.mount_a, 25), workers=7)
index 112407de18c32e3185e8113bbd7d5321484e155d..3ba05af1db7cce0260606abfb3788617313f4135 100644 (file)
@@ -45,18 +45,26 @@ class FullnessTestCase(CephFSTestCase):
         epoch.
         """
 
-        # Sync up clients with initial MDS OSD map barrier
-        self.mount_a.open_no_data("foo")
-        self.mount_b.open_no_data("bar")
+        # script that sync up client with MDS OSD map barrier. The barrier should
+        # be updated by cap flush ack message.
+        pyscript = dedent("""
+            import os
+            fd = os.open("{path}", os.O_CREAT | os.O_RDWR, 0O600)
+            os.fchmod(fd, 0O666)
+            os.fsync(fd)
+            os.close(fd)
+            """)
+
+        # Sync up client with initial MDS OSD map barrier.
+        path = os.path.join(self.mount_a.mountpoint, "foo")
+        self.mount_a.run_python(pyscript.format(path=path))
 
         # Grab mounts' initial OSD epochs: later we will check that
         # it hasn't advanced beyond this point.
-        mount_a_initial_epoch = self.mount_a.get_osd_epoch()[0]
-        mount_b_initial_epoch = self.mount_b.get_osd_epoch()[0]
+        mount_a_initial_epoch, mount_a_initial_barrier = self.mount_a.get_osd_epoch()
 
         # Freshly mounted at start of test, should be up to date with OSD map
         self.assertGreaterEqual(mount_a_initial_epoch, self.initial_osd_epoch)
-        self.assertGreaterEqual(mount_b_initial_epoch, self.initial_osd_epoch)
 
         # Set and unset a flag to cause OSD epoch to increment
         self.fs.mon_manager.raw_cluster_cmd("osd", "set", "pause")
@@ -69,43 +77,28 @@ class FullnessTestCase(CephFSTestCase):
         # Do a metadata operation on clients, witness that they end up with
         # the old OSD map from startup time (nothing has prompted client
         # to update its map)
-        self.mount_a.open_no_data("alpha")
-        self.mount_b.open_no_data("bravo1")
-
-        # Sleep long enough that if the OSD map was propagating it would
-        # have done so (this is arbitrary because we are 'waiting' for something
-        # to *not* happen).
-        time.sleep(30)
-
+        path = os.path.join(self.mount_a.mountpoint, "foo")
+        self.mount_a.run_python(pyscript.format(path=path))
         mount_a_epoch, mount_a_barrier = self.mount_a.get_osd_epoch()
         self.assertEqual(mount_a_epoch, mount_a_initial_epoch)
-        mount_b_epoch, mount_b_barrier = self.mount_b.get_osd_epoch()
-        self.assertEqual(mount_b_epoch, mount_b_initial_epoch)
+        self.assertEqual(mount_a_barrier, mount_a_initial_barrier)
 
         # Set a barrier on the MDS
         self.fs.rank_asok(["osdmap", "barrier", new_epoch.__str__()])
 
-        # Do an operation on client B, witness that it ends up with
-        # the latest OSD map from the barrier.  This shouldn't generate any
-        # cap revokes to A because B was already the last one to touch
-        # a file in root.
-        self.mount_b.run_shell(["touch", "bravo2"])
-        self.mount_b.open_no_data("bravo2")
+        # Sync up client with new MDS OSD map barrier
+        path = os.path.join(self.mount_a.mountpoint, "baz")
+        self.mount_a.run_python(pyscript.format(path=path))
+        mount_a_epoch, mount_a_barrier = self.mount_a.get_osd_epoch()
+        self.assertEqual(mount_a_barrier, new_epoch)
 
         # Some time passes here because the metadata part of the operation
         # completes immediately, while the resulting OSD map update happens
         # asynchronously (it's an Objecter::_maybe_request_map) as a result
         # of seeing the new epoch barrier.
-        self.wait_until_equal(
-            lambda: self.mount_b.get_osd_epoch(),
-            (new_epoch, new_epoch),
-            30,
-            lambda x: x[0] > new_epoch or x[1] > new_epoch)
-
-        # ...and none of this should have affected the oblivious mount a,
-        # because it wasn't doing any data or metadata IO
-        mount_a_epoch, mount_a_barrier = self.mount_a.get_osd_epoch()
-        self.assertEqual(mount_a_epoch, mount_a_initial_epoch)
+        self.wait_until_true(
+            lambda: self.mount_a.get_osd_epoch()[0] >= new_epoch,
+            timeout=30)
 
     def _data_pool_name(self):
         data_pool_names = self.fs.get_data_pool_names()
index e3f5609afe50c6997d1e748990dfb690a422464e..012b6c009fda2884a278074bdac9dc8e3432359f 100644 (file)
@@ -16,7 +16,7 @@ class TestScrubControls(CephFSTestCase):
     Test basic scrub control operations such as abort, pause and resume.
     """
 
-    MDSS_REQUIRED = 1
+    MDSS_REQUIRED = 2
     CLIENTS_REQUIRED = 1
 
     def _abort_scrub(self, expected):
@@ -129,6 +129,34 @@ class TestScrubControls(CephFSTestCase):
         time.sleep(10)
         self._check_task_status("idle")
 
+    def test_scrub_task_status_on_mds_failover(self):
+        # sleep enough to fetch updated task status
+        time.sleep(10)
+
+        (original_active, ) = self.fs.get_active_names()
+        original_standbys = self.mds_cluster.get_standby_daemons()
+        self._check_task_status("idle")
+
+        # Kill the rank 0
+        self.fs.mds_stop(original_active)
+
+        grace = float(self.fs.get_config("mds_beacon_grace", service_type="mon"))
+
+        def promoted():
+            active = self.fs.get_active_names()
+            return active and active[0] in original_standbys
+
+        log.info("Waiting for promotion of one of the original standbys {0}".format(
+            original_standbys))
+        self.wait_until_true(promoted, timeout=grace*2)
+
+        mgr_beacon_grace = float(self.fs.get_config("mgr_service_beacon_grace", service_type="mon"))
+
+        def status_check():
+            task_status = self.fs.get_task_status("scrub status")
+            return original_active not in task_status
+        self.wait_until_true(status_check, timeout=mgr_beacon_grace*2)
+
 class TestScrubChecks(CephFSTestCase):
     """
     Run flush and scrub commands on the specified files in the filesystem. This
index 6f5bdec237a3ccf154499ed16b96af2fc309454e..9fca6de5646d47eaf92f20450db580acacebbfff 100644 (file)
@@ -156,6 +156,14 @@ class TestVolumes(CephFSTestCase):
         # remove the leading '/', and trailing whitespaces
         return path[1:].rstrip()
 
+    def  _get_subvolume_info(self, vol_name, subvol_name, group_name=None):
+        args = ["subvolume", "info", vol_name, subvol_name]
+        if group_name:
+            args.append(group_name)
+        args = tuple(args)
+        subvol_md = self._fs_cmd(*args)
+        return subvol_md
+
     def _delete_test_volume(self):
         self._fs_cmd("volume", "rm", self.volname, "--yes-i-really-mean-it")
 
@@ -733,6 +741,106 @@ class TestVolumes(CephFSTestCase):
             raise RuntimeError("expected filling subvolume {0} with {1} file of size {2}MB "
                                "to succeed".format(subvolname, number_of_files, file_size))
 
+    def test_subvolume_info(self):
+        # tests the 'fs subvolume info' command
+
+        subvol_md = ["atime", "bytes_pcent", "bytes_quota", "bytes_used", "created_at", "ctime",
+                     "data_pool", "gid", "mode", "mon_addrs", "mtime", "path", "type", "uid"]
+
+        # create subvolume
+        subvolume = self._generate_random_subvolume_name()
+        self._fs_cmd("subvolume", "create", self.volname, subvolume)
+
+        # get subvolume metadata
+        subvol_info = json.loads(self._get_subvolume_info(self.volname, subvolume))
+        if len(subvol_info) == 0:
+            raise RuntimeError("Expected the 'fs subvolume info' command to list metadata of subvolume")
+        for md in subvol_md:
+            if md not in subvol_info.keys():
+                raise RuntimeError("%s not present in the metadata of subvolume" % md)
+
+        if subvol_info["bytes_pcent"] != "undefined":
+            raise RuntimeError("bytes_pcent should be set to undefined if quota is not set")
+
+        if subvol_info["bytes_quota"] != "infinite":
+            raise RuntimeError("bytes_quota should be set to infinite if quota is not set")
+
+        nsize = self.DEFAULT_FILE_SIZE*1024*1024
+        try:
+            self._fs_cmd("subvolume", "resize", self.volname, subvolume, str(nsize))
+        except CommandFailedError:
+            raise RuntimeError("expected the 'fs subvolume resize' command to succeed")
+
+        # get subvolume metadata after quota set
+        subvol_info = json.loads(self._get_subvolume_info(self.volname, subvolume))
+        if len(subvol_info) == 0:
+            raise RuntimeError("Expected the 'fs subvolume info' command to list metadata of subvolume")
+        if subvol_info["bytes_pcent"] == "undefined":
+            raise RuntimeError("bytes_pcent should not be set to undefined if quota is set")
+
+        if subvol_info["bytes_quota"] == "infinite":
+            raise RuntimeError("bytes_quota should not be set to infinite if quota is set")
+
+        if subvol_info["type"] != "subvolume":
+            raise RuntimeError("type should be set to subvolume")
+
+        # remove subvolumes
+        self._fs_cmd("subvolume", "rm", self.volname, subvolume)
+
+        # verify trash dir is clean
+        self._wait_for_trash_empty()
+
+    def test_clone_subvolume_info(self):
+
+        # tests the 'fs subvolume info' command for a clone
+        subvol_md = ["atime", "bytes_pcent", "bytes_quota", "bytes_used", "created_at", "ctime",
+                     "data_pool", "gid", "mode", "mon_addrs", "mtime", "path", "type", "uid"]
+
+        subvolume = self._generate_random_subvolume_name()
+        snapshot = self._generate_random_snapshot_name()
+        clone = self._generate_random_clone_name()
+
+        # create subvolume
+        self._fs_cmd("subvolume", "create", self.volname, subvolume)
+
+        # do some IO
+        self._do_subvolume_io(subvolume, number_of_files=1)
+
+        # snapshot subvolume
+        self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolume, snapshot)
+
+        # now, protect snapshot
+        self._fs_cmd("subvolume", "snapshot", "protect", self.volname, subvolume, snapshot)
+
+        # schedule a clone
+        self._fs_cmd("subvolume", "snapshot", "clone", self.volname, subvolume, snapshot, clone)
+
+        # check clone status
+        self._wait_for_clone_to_complete(clone)
+
+        # now, unprotect snapshot
+        self._fs_cmd("subvolume", "snapshot", "unprotect", self.volname, subvolume, snapshot)
+
+        # remove snapshot
+        self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolume, snapshot)
+
+        subvol_info = json.loads(self._get_subvolume_info(self.volname, clone))
+        if len(subvol_info) == 0:
+            raise RuntimeError("Expected the 'fs subvolume info' command to list metadata of subvolume")
+        for md in subvol_md:
+            if md not in subvol_info.keys():
+                raise RuntimeError("%s not present in the metadata of subvolume" % md)
+        if subvol_info["type"] != "clone":
+            raise RuntimeError("type should be set to clone")
+
+        # remove subvolumes
+        self._fs_cmd("subvolume", "rm", self.volname, subvolume)
+        self._fs_cmd("subvolume", "rm", self.volname, clone)
+
+        # verify trash dir is clean
+        self._wait_for_trash_empty()
+
+
     ### subvolume group operations
 
     def test_subvolume_create_and_rm_in_group(self):
index 15ee52ca5e8c1faca6e8d7bc79b500db5ff37ea8..c11561fae764558e44292883fae5f8ba95f619b8 100644 (file)
@@ -15,7 +15,7 @@ logger = logging.getLogger(__name__)
 class XFSTestsDev(CephFSTestCase):
 
     def setUp(self):
-        CephFSTestCase.setUp(self)
+        super(XFSTestsDev, self).setUp()
         self.prepare_xfstests_dev()
 
     def prepare_xfstests_dev(self):
@@ -172,3 +172,5 @@ class XFSTestsDev(CephFSTestCase):
         self.mount_a.client_remote.run(args=['sudo', 'rm', '-rf',
                                              self.repo_path],
                                        omit_sudo=False, check_status=False)
+
+        super(XFSTestsDev, self).tearDown()
index c3191dc5e941642552f8b4d9cac46c6b28e70f78..c01368bce8db15556db9680751b98e3a507e5b76 100644 (file)
@@ -39,7 +39,7 @@ class PerfCountersControllerTest(DashboardTestCase):
         self._validate_perf(mon, 'mon', data, allow_empty=False)
 
     def test_perf_counters_mgr_get(self):
-        mgr = self.mgr_cluster.mgr_ids[0]
+        mgr = list(self.mgr_cluster.mgr_ids)[0]
         data = self._get('/api/perf_counters/mgr/{}'.format(mgr))
         self.assertStatus(200)
         self._validate_perf(mgr, 'mgr', data, allow_empty=False)
index 9cb3504b5ae3522d3b69ea1781dadc72d1330db3..47a6de2450ee872d1ec4669851c75104e8f69d91 100644 (file)
@@ -116,7 +116,7 @@ class RgwBucketTest(RgwTestCase):
 
     _mfa_token_serial = '1'
     _mfa_token_seed = '23456723'
-    _mfa_token_time_step = 3
+    _mfa_token_time_step = 2
 
     AUTH_ROLES = ['rgw-manager']
 
@@ -152,7 +152,7 @@ class RgwBucketTest(RgwTestCase):
         totp_key = base64.b32decode(self._mfa_token_seed)
         totp = TOTP(totp_key, 6, SHA1(), self._mfa_token_time_step, backend=default_backend(),
                     enforce_key_length=False)
-        time_value = time.time()
+        time_value = int(time.time())
         return totp.generate(time_value)
 
     def test_all(self):
@@ -241,7 +241,7 @@ class RgwBucketTest(RgwTestCase):
         self.assertEqual(data['mfa_delete'], 'Enabled')
 
         # Update bucket: disable versioning & MFA Delete.
-        time.sleep(self._mfa_token_time_step + 2)  # Required to get new TOTP pin.
+        time.sleep(self._mfa_token_time_step * 3)  # Required to get new TOTP pin.
         self._put(
             '/api/rgw/bucket/teuth-test-bucket',
             params={
index f840e646dd65ccedfb7f26617abfbde1a443e898..90b21a5d88b26620c7d35b917d1d85be81288944 100644 (file)
@@ -23,6 +23,7 @@ def task(ctx, config):
         time: <seconds to run>
         pool: <pool to use>
         size: write size to use
+        concurrency: max number of outstanding writes (16)
         objectsize: object size to use
         unique_pool: use a unique pool, defaults to False
         ec_pool: create an ec pool, defaults to False
@@ -83,6 +84,7 @@ def task(ctx, config):
                 pool = manager.create_pool_with_unique_name(erasure_code_profile_name=profile_name)
 
         size = config.get('size', 65536)
+        concurrency = config.get('concurrency', 16)
         osize = config.get('objectsize', 65536)
         sizeargs = ['-b', str(size)]
         if osize != 0 and osize != size:
@@ -102,6 +104,7 @@ def task(ctx, config):
                               '--no-log-to-stderr',
                               '--name', role]
                               + sizeargs +
+                              ['-t', str(concurrency)] +
                               ['-p' , pool,
                           'bench', str(60), "write", "--no-cleanup"
                           ]).format(tdir=testdir),
index df900d2c4505b4cedde25bc115130dfad5dd0aaf..2d99d9962f1cf5dcc6b11a7715c06fdef9987137 100644 (file)
@@ -132,10 +132,11 @@ def start_rgw(ctx, config, clients):
                 raise ConfigError('vault: no "root_token" specified')
             # create token on file
             ctx.cluster.only(client).run(args=['echo', '-n', ctx.vault.root_token, run.Raw('>'), token_path])
-            log.info("Restrict access to token file")
-            ctx.cluster.only(client).run(args=['chmod', '600', token_path])
             log.info("Token file content")
             ctx.cluster.only(client).run(args=['cat', token_path])
+            log.info("Restrict access to token file")
+            ctx.cluster.only(client).run(args=['chmod', '600', token_path])
+            ctx.cluster.only(client).run(args=['sudo', 'chown', 'ceph', token_path])
 
             rgw_cmd.extend([
                 '--rgw_crypt_vault_addr', "{}:{}".format(*ctx.vault.endpoints[vault_role]),
index 7055ebb7c9d8d71fe8eb5285704932e584e9c97b..df7005e9911abcc23824800b0abb597162bbe12f 100644 (file)
@@ -30,6 +30,7 @@ Alternative usage:
 
 """
 
+from six import StringIO
 from io import BytesIO
 from collections import defaultdict
 import getpass
@@ -150,6 +151,11 @@ else:
     SRC_PREFIX = "./"
 
 
+def rm_nonascii_chars(var):
+    var = var.replace('\xe2\x80\x98', '\'')
+    var = var.replace('\xe2\x80\x99', '\'')
+    return var
+
 class LocalRemoteProcess(object):
     def __init__(self, args, subproc, check_status, stdout, stderr):
         self.args = args
@@ -170,6 +176,7 @@ class LocalRemoteProcess(object):
                 return
 
         out, err = self.subproc.communicate()
+        out, err = rm_nonascii_chars(out), rm_nonascii_chars(err)
         self.stdout.write(out)
         self.stderr.write(err)
 
@@ -333,7 +340,7 @@ class LocalRemote(object):
 
         # Filter out helper tools that don't exist in a vstart environment
         args = [a for a in args if a not in {
-            'adjust-ulimits', 'ceph-coverage', 'timeout'}]
+            'adjust-ulimits', 'ceph-coverage'}]
 
         # Adjust binary path prefix if given a bare program name
         if "/" not in args[0]:
@@ -615,33 +622,6 @@ class LocalKernelMount(KernelMount):
         log.info("I think my launching pid was {0}".format(self.fuse_daemon.subproc.pid))
         return path
 
-    def umount(self, force=False):
-        log.debug('Unmounting client client.{id}...'.format(id=self.client_id))
-
-        cmd=['sudo', 'umount', self.mountpoint]
-        if force:
-            cmd.append('-f')
-
-        try:
-            self.client_remote.run(args=cmd, timeout=(15*60), omit_sudo=False)
-        except Exception as e:
-            self.client_remote.run(args=[
-                'sudo',
-                Raw('PATH=/usr/sbin:$PATH'),
-                'lsof',
-                Raw(';'),
-                'ps', 'auxf',
-            ], timeout=(15*60), omit_sudo=False)
-            raise e
-
-        rproc = self.client_remote.run(args=[
-                'rmdir',
-                '--',
-                self.mountpoint,
-            ])
-        rproc.wait()
-        self.mounted = False
-
     def mount(self, mount_path=None, mount_fs_name=None, mount_options=[]):
         self.setupfs(name=mount_fs_name)
 
@@ -803,10 +783,6 @@ class LocalFuseMount(FuseMount):
         log.info("I think my launching pid was {0}".format(self.fuse_daemon.subproc.pid))
         return path
 
-    def umount(self):
-        if self.is_mounted():
-            super(LocalFuseMount, self).umount()
-
     def mount(self, mount_path=None, mount_fs_name=None, mountpoint=None, mount_options=[]):
         if mountpoint is not None:
             self.mountpoint = mountpoint
@@ -935,7 +911,7 @@ class LocalCephManager(CephManager):
         if watch_channel is not None:
             args.append("--watch-channel")
             args.append(watch_channel)
-        proc = self.controller.run(args=args, wait=False, stdout=BytesIO())
+        proc = self.controller.run(args=args, wait=False, stdout=StringIO())
         return proc
 
     def raw_cluster_cmd(self, *args, **kwargs):
index 7960ede00054ff3934d699d5b14ebbc9db8dd926..83e11a40ace6409e683bd1bb8a97be8ba27438d3 100755 (executable)
@@ -3,6 +3,7 @@
 SCRIPT_NAME=$(basename ${BASH_SOURCE[0]})
 SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
 CEPHADM_SRC_DIR=${SCRIPT_DIR}/../../../src/cephadm
+CORPUS_COMMIT=50c5dd734638939facd1ed32295ce59c9a5986b4
 
 [ -z "$SUDO" ] && SUDO=sudo
 if [ -z "$CEPHADM" ]; then
@@ -54,9 +55,11 @@ CEPHADM="$SUDO $CEPHADM_BIN"
 CORPUS_GIT_SUBMOD="cephadm-adoption-corpus"
 TMPDIR=$(mktemp -d)
 git clone https://github.com/ceph/$CORPUS_GIT_SUBMOD $TMPDIR
-CORPUS_DIR=${TMPDIR}/archive
 trap "$SUDO rm -rf $TMPDIR" EXIT
 
+git -C $TMPDIR checkout $CORPUS_COMMIT
+CORPUS_DIR=${TMPDIR}/archive
+
 for subdir in `ls ${CORPUS_DIR}`; do
     for tarfile in `ls ${CORPUS_DIR}/${subdir} | grep .tgz`; do
        tarball=${CORPUS_DIR}/${subdir}/${tarfile}
index 1be330d80e6b485c23c168d4649927517466161e..42f195568dc76bcded498e123d6538ab0f66942f 100755 (executable)
@@ -3,22 +3,16 @@
 SCRIPT_NAME=$(basename ${BASH_SOURCE[0]})
 SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
 
+# cleanup during exit
+[ -z "$CLEANUP" ] && CLEANUP=true
+
 FSID='00000000-0000-0000-0000-0000deadbeef'
 
 # images that are used
-IMAGE_MASTER=${IMAGE_MASTER:-'quay.io/ceph-ci/ceph:octopus'} # octopus for octopus branch
+IMAGE_MASTER=${IMAGE_MASTER:-'docker.io/ceph/daemon-base:latest-octopus'}
 IMAGE_NAUTILUS=${IMAGE_NAUTILUS:-'docker.io/ceph/daemon-base:latest-nautilus'}
 IMAGE_MIMIC=${IMAGE_MIMIC:-'docker.io/ceph/daemon-base:latest-mimic'}
 
-TMPDIR=$(mktemp -d)
-
-function cleanup()
-{
-    dump_all_logs
-    rm -rf $TMPDIR
-}
-trap cleanup EXIT
-
 OSD_IMAGE_NAME="${SCRIPT_NAME%.*}_osd.img"
 OSD_IMAGE_SIZE='6G'
 OSD_TO_CREATE=2
@@ -86,6 +80,26 @@ if ! [ "$loopdev" = "" ]; then
     $SUDO losetup -d $loopdev
 fi
 
+# TMPDIR for test data
+[ -d "$TMPDIR" ] || TMPDIR=$(mktemp -d tmp.$SCRIPT_NAME.XXXXXX)
+
+function cleanup()
+{
+    if [ $CLEANUP = false ]; then
+        # preserve the TMPDIR state
+        echo "========================"
+        echo "!!! CLEANUP=$CLEANUP !!!"
+        echo
+        echo "TMPDIR=$TMPDIR"
+        echo "========================"
+        return
+    fi
+
+    dump_all_logs $FSID
+    rm -rf $TMPDIR
+}
+trap cleanup EXIT
+
 function expect_false()
 {
         set -x
@@ -114,8 +128,9 @@ function is_available()
 
 function dump_log()
 {
-    local name="$1"
-    local num_lines="$2"
+    local fsid="$1"
+    local name="$2"
+    local num_lines="$3"
 
     if [ -z $num_lines ]; then
         num_lines=100
@@ -125,16 +140,17 @@ function dump_log()
     echo 'dump daemon log:' $name
     echo '-------------------------'
 
-    $CEPHADM logs --name $name -- --no-pager -n $num_lines
+    $CEPHADM logs --fsid $fsid --name $name -- --no-pager -n $num_lines
 }
 
 function dump_all_logs()
 {
-    names=$($CEPHADM ls | jq -r '.[].name')
+    local fsid="$1"
+    local names=$($CEPHADM ls | jq -r '.[] | select(.fsid == "'$fsid'").name')
 
     echo 'dumping logs for daemons: ' $names
     for name in $names; do
-        dump_log $name
+        dump_log $fsid $name
     done
 }
 
@@ -288,16 +304,17 @@ done
 
 for id in `seq 0 $((--OSD_TO_CREATE))`; do
     device_name=/dev/$OSD_VG_NAME/$OSD_LV_NAME.$id
+    CEPH_VOLUME="$CEPHADM ceph-volume \
+                       --fsid $FSID \
+                       --config $CONFIG \
+                       --keyring $TMPDIR/keyring.bootstrap.osd --"
 
     # prepare the osd
-    $CEPHADM ceph-volume --config $CONFIG --keyring $TMPDIR/keyring.bootstrap.osd -- \
-            lvm prepare --bluestore --data $device_name --no-systemd
-    $CEPHADM ceph-volume --config $CONFIG --keyring $TMPDIR/keyring.bootstrap.osd -- \
-            lvm batch --no-auto $device_name --yes --no-systemd
+    $CEPH_VOLUME lvm prepare --bluestore --data $device_name --no-systemd
+    $CEPH_VOLUME lvm batch --no-auto $device_name --yes --no-systemd
 
     # osd id and osd fsid
-    $CEPHADM ceph-volume --config $CONFIG --keyring $TMPDIR/keyring.bootstrap.osd -- \
-            lvm list --format json $device_name > $TMPDIR/osd.map
+    $CEPH_VOLUME lvm list --format json $device_name > $TMPDIR/osd.map
     osd_id=$($SUDO cat $TMPDIR/osd.map | jq -cr '.. | ."ceph.osd_id"? | select(.)')
     osd_fsid=$($SUDO cat $TMPDIR/osd.map | jq -cr '.. | ."ceph.osd_fsid"? | select(.)')
 
@@ -363,8 +380,8 @@ $CEPHADM unit --fsid $FSID --name mon.a -- is-enabled
 ## shell
 $CEPHADM shell --fsid $FSID -- true
 $CEPHADM shell --fsid $FSID -- test -d /var/log/ceph
-expect_false $CEPHADM --timeout 1 shell --fsid $FSID -- sleep 10
-$CEPHADM --timeout 10 shell --fsid $FSID -- sleep 1
+expect_false $CEPHADM --timeout 10 shell --fsid $FSID -- sleep 60
+$CEPHADM --timeout 60 shell --fsid $FSID -- sleep 10
 
 ## enter
 expect_false $CEPHADM enter
@@ -374,13 +391,16 @@ $CEPHADM enter --fsid $FSID --name mon.a -- pidof ceph-mon
 expect_false $CEPHADM enter --fsid $FSID --name mgr.x -- pidof ceph-mon
 $CEPHADM enter --fsid $FSID --name mgr.x -- pidof ceph-mgr
 # this triggers a bug in older versions of podman, including 18.04's 1.6.2
-#expect_false $CEPHADM --timeout 1 enter --fsid $FSID --name mon.a -- sleep 10
-$CEPHADM --timeout 10 enter --fsid $FSID --name mon.a -- sleep 1
+#expect_false $CEPHADM --timeout 5 enter --fsid $FSID --name mon.a -- sleep 30
+$CEPHADM --timeout 60 enter --fsid $FSID --name mon.a -- sleep 10
 
 ## ceph-volume
 $CEPHADM ceph-volume --fsid $FSID -- inventory --format=json \
       | jq '.[]'
 
+## preserve test state
+[ $CLEANUP = false ] && exit 0
+
 ## rm-daemon
 # mon and osd require --force
 expect_false $CEPHADM rm-daemon --fsid $FSID --name mon.a
@@ -391,5 +411,4 @@ $CEPHADM rm-daemon --fsid $FSID --name mgr.x
 expect_false $CEPHADM rm-cluster --fsid $FSID
 $CEPHADM rm-cluster --fsid $FSID --force
 
-rm -rf $TMPDIR
 echo PASS
index 4098795b98923171a11ae7038b07cca964288348..b02077691f25b36710265cab00b08daef8e5972b 100755 (executable)
@@ -8,6 +8,41 @@ function expect_false()
        if "$@"; then return 1; else return 0; fi
 }
 
+function get_config_value_or_die()
+{
+  local pool_name config_opt raw val
+
+  pool_name=$1
+  config_opt=$2
+
+  raw="`$SUDO ceph osd pool get $pool_name $config_opt 2>/dev/null`"
+  if [[ $? -ne 0 ]]; then
+    echo "error obtaining config opt '$config_opt' from '$pool_name': $raw"
+    exit 1
+  fi
+
+  raw=`echo $raw | sed -e 's/[{} "]//g'`
+  val=`echo $raw | cut -f2 -d:`
+
+  echo "$val"
+  return 0
+}
+
+function expect_config_value()
+{
+  local pool_name config_opt expected_val val
+  pool_name=$1
+  config_opt=$2
+  expected_val=$3
+
+  val=$(get_config_value_or_die $pool_name $config_opt)
+
+  if [[ "$val" != "$expected_val" ]]; then
+    echo "expected '$expected_val', got '$val'"
+    exit 1
+  fi
+}
+
 # note: we need to pass the other args or ceph_argparse.py will take
 # 'invalid' that is not replicated|erasure and assume it is the next
 # argument, which is a string.
@@ -20,8 +55,11 @@ ceph osd pool create foooo 123
 ceph osd pool create foo 123 # idempotent
 
 ceph osd pool set foo size 1
+expect_config_value "foo" "min_size" 1
 ceph osd pool set foo size 4
+expect_config_value "foo" "min_size" 2
 ceph osd pool set foo size 10
+expect_config_value "foo" "min_size" 5
 expect_false ceph osd pool set foo size 0
 expect_false ceph osd pool set foo size 20
 
index 171ab56980927fd6b9aea811b574b7c42c04dc6f..37739a83da0245d2b16531b224036604d8e27df4 100755 (executable)
@@ -71,7 +71,7 @@ test_replay()
        wait_for_replay_complete ${CLUSTER1}:${LEADER} ${CLUSTER2} ${POOL} \
                                 ${image}
        wait_for_status_in_pool_dir ${CLUSTER1} ${POOL} ${image} 'up+replaying' \
-                                    'master_position' \
+                                    'primary_position' \
                                     "${MIRROR_USER_ID_PREFIX}${LEADER} on $(hostname -s)"
        if [ -z "${RBD_MIRROR_USE_RBD_MIRROR}" ]; then
            wait_for_status_in_pool_dir ${CLUSTER2} ${POOL} ${image} \
index 1ec70755bbbcefad53ff9963c6d6affd8662c109..b5c0a68c515ce7a3e4649cd26401fbfbdd35eb62 100755 (executable)
@@ -233,6 +233,43 @@ EOF
     done
 }
 
+peer_add()
+{
+    local cluster=$1 ; shift
+    local pool=$1 ; shift
+    local client_cluster=$1 ; shift
+
+    local uuid_var_name
+    if [ -n "$1" ]; then
+        uuid_var_name=$1 ; shift
+    fi
+
+    local error_code
+    local peer_uuid
+
+    for s in 1 2 4 8 16 32; do
+        set +e
+        peer_uuid=$(rbd --cluster ${cluster} mirror pool peer add \
+            ${pool} ${client_cluster} $@)
+        error_code=$?
+        set -e
+
+        if [ $error_code -eq 17 ]; then
+            # raced with a remote heartbeat ping -- remove and retry
+            sleep $s
+            rbd --cluster ${cluster} --pool ${pool} mirror pool peer remove ${peer_uuid}
+        else
+            test $error_code -eq 0
+            if [ -n "$uuid_var_name" ]; then
+                eval ${uuid_var_name}=${peer_uuid}
+            fi
+            return 0
+        fi
+    done
+
+    return 1
+}
+
 setup_pools()
 {
     local cluster=$1
@@ -264,8 +301,8 @@ setup_pools()
 
     if [ -z ${RBD_MIRROR_MANUAL_PEERS} ]; then
       if [ -z ${RBD_MIRROR_CONFIG_KEY} ]; then
-        rbd --cluster ${cluster} mirror pool peer add ${POOL} ${remote_cluster}
-        rbd --cluster ${cluster} mirror pool peer add ${PARENT_POOL} ${remote_cluster}
+        peer_add ${cluster} ${POOL} ${remote_cluster}
+        peer_add ${cluster} ${PARENT_POOL} ${remote_cluster}
       else
         mon_map_file=${TEMPDIR}/${remote_cluster}.monmap
         CEPH_ARGS='' ceph --cluster ${remote_cluster} mon getmap > ${mon_map_file}
@@ -275,12 +312,11 @@ setup_pools()
         admin_key_file=${TEMPDIR}/${remote_cluster}.client.${CEPH_ID}.key
         CEPH_ARGS='' ceph --cluster ${remote_cluster} auth get-key client.${CEPH_ID} > ${admin_key_file}
 
-        CEPH_ARGS='' rbd --cluster ${cluster} mirror pool peer add ${POOL} \
-            client.${CEPH_ID}@${remote_cluster}${PEER_CLUSTER_SUFFIX} \
+        CEPH_ARGS='' peer_add ${cluster} ${POOL} \
+            client.${CEPH_ID}@${remote_cluster}${PEER_CLUSTER_SUFFIX} '' \
             --remote-mon-host "${mon_addr}" --remote-key-file ${admin_key_file}
 
-        uuid=$(rbd --cluster ${cluster} mirror pool peer add ${PARENT_POOL} \
-            client.${CEPH_ID}@${remote_cluster}${PEER_CLUSTER_SUFFIX})
+        peer_add ${cluster} ${PARENT_POOL} client.${CEPH_ID}@${remote_cluster}${PEER_CLUSTER_SUFFIX} uuid
         CEPH_ARGS='' rbd --cluster ${cluster} mirror pool peer set ${PARENT_POOL} ${uuid} mon-host ${mon_addr}
         CEPH_ARGS='' rbd --cluster ${cluster} mirror pool peer set ${PARENT_POOL} ${uuid} key-file ${admin_key_file}
       fi
index 426edc42ff7ae7f2778fab749824cb92f1acc796..da856861b0c9587406b493d91909d22b4e0982ad 100755 (executable)
@@ -20,7 +20,7 @@ set_image_meta ${CLUSTER2} ${POOL} ${image} "key2" "value2"
 wait_for_image_replay_started ${CLUSTER1} ${POOL} ${image}
 write_image ${CLUSTER2} ${POOL} ${image} 100
 wait_for_replay_complete ${CLUSTER1} ${CLUSTER2} ${POOL} ${image}
-wait_for_status_in_pool_dir ${CLUSTER1} ${POOL} ${image} 'up+replaying' 'master_position'
+wait_for_status_in_pool_dir ${CLUSTER1} ${POOL} ${image} 'up+replaying' 'primary_position'
 if [ -z "${RBD_MIRROR_USE_RBD_MIRROR}" ]; then
   wait_for_status_in_pool_dir ${CLUSTER2} ${POOL} ${image} 'down+unknown'
 fi
@@ -36,7 +36,7 @@ write_image ${CLUSTER2} ${POOL} ${image1} 100
 start_mirrors ${CLUSTER1}
 wait_for_image_replay_started ${CLUSTER1} ${POOL} ${image1}
 wait_for_replay_complete ${CLUSTER1} ${CLUSTER2} ${POOL} ${image1}
-wait_for_status_in_pool_dir ${CLUSTER1} ${POOL} ${image1} 'up+replaying' 'master_position'
+wait_for_status_in_pool_dir ${CLUSTER1} ${POOL} ${image1} 'up+replaying' 'primary_position'
 if [ -z "${RBD_MIRROR_USE_RBD_MIRROR}" ]; then
   wait_for_status_in_pool_dir ${CLUSTER2} ${POOL} ${image1} 'down+unknown'
 fi
@@ -46,7 +46,7 @@ testlog "TEST: test the first image is replaying after restart"
 write_image ${CLUSTER2} ${POOL} ${image} 100
 wait_for_image_replay_started ${CLUSTER1} ${POOL} ${image}
 wait_for_replay_complete ${CLUSTER1} ${CLUSTER2} ${POOL} ${image}
-wait_for_status_in_pool_dir ${CLUSTER1} ${POOL} ${image} 'up+replaying' 'master_position'
+wait_for_status_in_pool_dir ${CLUSTER1} ${POOL} ${image} 'up+replaying' 'primary_position'
 compare_images ${POOL} ${image}
 
 if [ -z "${RBD_MIRROR_USE_RBD_MIRROR}" ]; then
@@ -151,7 +151,7 @@ wait_for_image_replay_started ${CLUSTER1} ${POOL} ${image}
 write_image ${CLUSTER2} ${POOL} ${image} 100
 wait_for_replay_complete ${CLUSTER1} ${CLUSTER2} ${POOL} ${image}
 wait_for_status_in_pool_dir ${CLUSTER2} ${POOL} ${image} 'up+stopped'
-wait_for_status_in_pool_dir ${CLUSTER1} ${POOL} ${image} 'up+replaying' 'master_position'
+wait_for_status_in_pool_dir ${CLUSTER1} ${POOL} ${image} 'up+replaying' 'primary_position'
 compare_images ${POOL} ${image}
 
 # failover (unmodified)
@@ -170,7 +170,7 @@ wait_for_status_in_pool_dir ${CLUSTER2} ${POOL} ${image} 'up+unknown'
 promote_image ${CLUSTER2} ${POOL} ${image}
 wait_for_image_replay_started ${CLUSTER1} ${POOL} ${image}
 wait_for_replay_complete ${CLUSTER1} ${CLUSTER2} ${POOL} ${image}
-wait_for_status_in_pool_dir ${CLUSTER1} ${POOL} ${image} 'up+replaying' 'master_position'
+wait_for_status_in_pool_dir ${CLUSTER1} ${POOL} ${image} 'up+replaying' 'primary_position'
 wait_for_status_in_pool_dir ${CLUSTER2} ${POOL} ${image} 'up+stopped'
 compare_images ${POOL} ${image}
 
@@ -184,7 +184,7 @@ wait_for_image_replay_started ${CLUSTER2} ${POOL} ${image}
 write_image ${CLUSTER1} ${POOL} ${image} 100
 wait_for_replay_complete ${CLUSTER2} ${CLUSTER1} ${POOL} ${image}
 wait_for_status_in_pool_dir ${CLUSTER1} ${POOL} ${image} 'up+stopped'
-wait_for_status_in_pool_dir ${CLUSTER2} ${POOL} ${image} 'up+replaying' 'master_position'
+wait_for_status_in_pool_dir ${CLUSTER2} ${POOL} ${image} 'up+replaying' 'primary_position'
 compare_images ${POOL} ${image}
 
 # failback
@@ -196,7 +196,7 @@ promote_image ${CLUSTER2} ${POOL} ${image}
 wait_for_image_replay_started ${CLUSTER1} ${POOL} ${image}
 write_image ${CLUSTER2} ${POOL} ${image} 100
 wait_for_replay_complete ${CLUSTER1} ${CLUSTER2} ${POOL} ${image}
-wait_for_status_in_pool_dir ${CLUSTER1} ${POOL} ${image} 'up+replaying' 'master_position'
+wait_for_status_in_pool_dir ${CLUSTER1} ${POOL} ${image} 'up+replaying' 'primary_position'
 wait_for_status_in_pool_dir ${CLUSTER2} ${POOL} ${image} 'up+stopped'
 compare_images ${POOL} ${image}
 
@@ -207,7 +207,7 @@ write_image ${CLUSTER2} ${POOL} ${force_promote_image} 100
 wait_for_image_replay_stopped ${CLUSTER2} ${POOL} ${force_promote_image}
 wait_for_image_replay_started ${CLUSTER1} ${POOL} ${force_promote_image}
 wait_for_replay_complete ${CLUSTER1} ${CLUSTER2} ${POOL} ${force_promote_image}
-wait_for_status_in_pool_dir ${CLUSTER1} ${POOL} ${force_promote_image} 'up+replaying' 'master_position'
+wait_for_status_in_pool_dir ${CLUSTER1} ${POOL} ${force_promote_image} 'up+replaying' 'primary_position'
 wait_for_status_in_pool_dir ${CLUSTER2} ${POOL} ${force_promote_image} 'up+stopped'
 promote_image ${CLUSTER1} ${POOL} ${force_promote_image} '--force'
 wait_for_image_replay_stopped ${CLUSTER1} ${POOL} ${force_promote_image}
@@ -233,12 +233,12 @@ write_image ${CLUSTER2} ${POOL} ${clone_image} 100
 enable_mirror ${CLUSTER2} ${PARENT_POOL} ${parent_image} journal
 wait_for_image_replay_started ${CLUSTER1} ${PARENT_POOL} ${parent_image}
 wait_for_replay_complete ${CLUSTER1} ${CLUSTER2} ${PARENT_POOL} ${parent_image}
-wait_for_status_in_pool_dir ${CLUSTER1} ${PARENT_POOL} ${parent_image} 'up+replaying' 'master_position'
+wait_for_status_in_pool_dir ${CLUSTER1} ${PARENT_POOL} ${parent_image} 'up+replaying' 'primary_position'
 compare_images ${PARENT_POOL} ${parent_image}
 
 wait_for_image_replay_started ${CLUSTER1} ${POOL} ${clone_image}
 wait_for_replay_complete ${CLUSTER1} ${CLUSTER2} ${POOL} ${clone_image}
-wait_for_status_in_pool_dir ${CLUSTER1} ${POOL} ${clone_image} 'up+replaying' 'master_position'
+wait_for_status_in_pool_dir ${CLUSTER1} ${POOL} ${clone_image} 'up+replaying' 'primary_position'
 compare_images ${POOL} ${clone_image}
 
 testlog " - clone v1"
@@ -291,7 +291,7 @@ write_image ${CLUSTER2} ${POOL} ${dp_image} 100
 create_snapshot ${CLUSTER2} ${POOL} ${dp_image} 'snap2'
 write_image ${CLUSTER2} ${POOL} ${dp_image} 100
 wait_for_replay_complete ${CLUSTER1} ${CLUSTER2} ${POOL} ${dp_image}
-wait_for_status_in_pool_dir ${CLUSTER1} ${POOL} ${dp_image} 'up+replaying' 'master_position'
+wait_for_status_in_pool_dir ${CLUSTER1} ${POOL} ${dp_image} 'up+replaying' 'primary_position'
 compare_images ${POOL} ${dp_image}@snap1
 compare_images ${POOL} ${dp_image}@snap2
 compare_images ${POOL} ${dp_image}
@@ -349,17 +349,17 @@ for cluster in ${CLUSTER1} ${CLUSTER2}; do
     CEPH_ARGS='' rbd --cluster ${cluster} pool init ${pool}
     rbd --cluster ${cluster} mirror pool enable ${pool} pool
 done
-rbd --cluster ${CLUSTER1} mirror pool peer add ${pool} ${CLUSTER2}
-rbd --cluster ${CLUSTER2} mirror pool peer add ${pool} ${CLUSTER1}
+peer_add ${CLUSTER1} ${pool} ${CLUSTER2}
+peer_add ${CLUSTER2} ${pool} ${CLUSTER1}
 rdp_image=test_remove_data_pool
 create_image ${CLUSTER2} ${pool} ${image} 128
 create_image ${CLUSTER2} ${POOL} ${rdp_image} 128 --data-pool ${pool}
 write_image ${CLUSTER2} ${pool} ${image} 100
 write_image ${CLUSTER2} ${POOL} ${rdp_image} 100
 wait_for_replay_complete ${CLUSTER1} ${CLUSTER2} ${pool} ${image}
-wait_for_status_in_pool_dir ${CLUSTER1} ${pool} ${image} 'up+replaying' 'master_position'
+wait_for_status_in_pool_dir ${CLUSTER1} ${pool} ${image} 'up+replaying' 'primary_position'
 wait_for_replay_complete ${CLUSTER1} ${CLUSTER2} ${POOL} ${rdp_image}
-wait_for_status_in_pool_dir ${CLUSTER1} ${POOL} ${rdp_image} 'up+replaying' 'master_position'
+wait_for_status_in_pool_dir ${CLUSTER1} ${POOL} ${rdp_image} 'up+replaying' 'primary_position'
 for cluster in ${CLUSTER1} ${CLUSTER2}; do
     CEPH_ARGS='' ceph --cluster ${cluster} osd pool rm ${pool} ${pool} --yes-i-really-really-mean-it
 done
@@ -405,8 +405,8 @@ write_image ${CLUSTER2} ${POOL}/${NS1} ${image} 100
 write_image ${CLUSTER2} ${POOL}/${NS2} ${image} 100
 wait_for_replay_complete ${CLUSTER1} ${CLUSTER2} ${POOL}/${NS1} ${image}
 wait_for_replay_complete ${CLUSTER1} ${CLUSTER2} ${POOL}/${NS2} ${image}
-wait_for_status_in_pool_dir ${CLUSTER1} ${POOL}/${NS1} ${image} 'up+replaying' 'master_position'
-wait_for_status_in_pool_dir ${CLUSTER1} ${POOL}/${NS2} ${image} 'up+replaying' 'master_position'
+wait_for_status_in_pool_dir ${CLUSTER1} ${POOL}/${NS1} ${image} 'up+replaying' 'primary_position'
+wait_for_status_in_pool_dir ${CLUSTER1} ${POOL}/${NS2} ${image} 'up+replaying' 'primary_position'
 compare_images ${POOL}/${NS1} ${image}
 compare_images ${POOL}/${NS2} ${image}
 
@@ -426,7 +426,7 @@ data_pool=$(get_image_data_pool ${CLUSTER1} ${POOL}/${NS1} ${dp_image})
 test "${data_pool}" = "${PARENT_POOL}"
 write_image ${CLUSTER2} ${POOL}/${NS1} ${dp_image} 100
 wait_for_replay_complete ${CLUSTER1} ${CLUSTER2} ${POOL}/${NS1} ${dp_image}
-wait_for_status_in_pool_dir ${CLUSTER1} ${POOL}/${NS1} ${dp_image} 'up+replaying' 'master_position'
+wait_for_status_in_pool_dir ${CLUSTER1} ${POOL}/${NS1} ${dp_image} 'up+replaying' 'primary_position'
 compare_images ${POOL}/${NS1} ${dp_image}
 
 testlog "TEST: simple image resync"
@@ -434,7 +434,7 @@ request_resync_image ${CLUSTER1} ${POOL} ${image} image_id
 wait_for_image_present ${CLUSTER1} ${POOL} ${image} 'deleted' ${image_id}
 wait_for_image_present ${CLUSTER1} ${POOL} ${image} 'present'
 wait_for_image_replay_started ${CLUSTER1} ${POOL} ${image}
-wait_for_status_in_pool_dir ${CLUSTER1} ${POOL} ${image} 'up+replaying' 'master_position'
+wait_for_status_in_pool_dir ${CLUSTER1} ${POOL} ${image} 'up+replaying' 'primary_position'
 compare_images ${POOL} ${image}
 
 testlog "TEST: image resync while replayer is stopped"
@@ -447,7 +447,7 @@ if [ -z "${RBD_MIRROR_USE_RBD_MIRROR}" ]; then
   admin_daemons ${CLUSTER1} rbd mirror start ${POOL}/${image}
   wait_for_image_present ${CLUSTER1} ${POOL} ${image} 'present'
   wait_for_image_replay_started ${CLUSTER1} ${POOL} ${image}
-  wait_for_status_in_pool_dir ${CLUSTER1} ${POOL} ${image} 'up+replaying' 'master_position'
+  wait_for_status_in_pool_dir ${CLUSTER1} ${POOL} ${image} 'up+replaying' 'primary_position'
   compare_images ${POOL} ${image}
 fi
 
@@ -458,7 +458,7 @@ start_mirrors ${CLUSTER1}
 wait_for_image_present ${CLUSTER1} ${POOL} ${image} 'deleted' ${image_id}
 wait_for_image_present ${CLUSTER1} ${POOL} ${image} 'present'
 wait_for_image_replay_started ${CLUSTER1} ${POOL} ${image}
-wait_for_status_in_pool_dir ${CLUSTER1} ${POOL} ${image} 'up+replaying' 'master_position'
+wait_for_status_in_pool_dir ${CLUSTER1} ${POOL} ${image} 'up+replaying' 'primary_position'
 compare_images ${POOL} ${image}
 
 testlog "TEST: client disconnect"
@@ -535,7 +535,7 @@ wait_for_status_in_pool_dir ${CLUSTER1} ${POOL} ${image} 'up+error' 'disconnecte
 testlog "TEST: split-brain"
 image=split-brain
 create_image ${CLUSTER2} ${POOL} ${image}
-wait_for_status_in_pool_dir ${CLUSTER1} ${POOL} ${image} 'up+replaying' 'master_position'
+wait_for_status_in_pool_dir ${CLUSTER1} ${POOL} ${image} 'up+replaying' 'primary_position'
 promote_image ${CLUSTER1} ${POOL} ${image} --force
 wait_for_image_replay_stopped ${CLUSTER1} ${POOL} ${image}
 wait_for_status_in_pool_dir ${CLUSTER1} ${POOL} ${image} 'up+stopped'
@@ -543,7 +543,7 @@ write_image ${CLUSTER1} ${POOL} ${image} 10
 demote_image ${CLUSTER1} ${POOL} ${image}
 wait_for_status_in_pool_dir ${CLUSTER1} ${POOL} ${image} 'up+error' 'split-brain'
 request_resync_image ${CLUSTER1} ${POOL} ${image} image_id
-wait_for_status_in_pool_dir ${CLUSTER1} ${POOL} ${image} 'up+replaying' 'master_position'
+wait_for_status_in_pool_dir ${CLUSTER1} ${POOL} ${image} 'up+replaying' 'primary_position'
 
 if [ -z "${RBD_MIRROR_USE_RBD_MIRROR}" ]; then
   # teuthology will trash the daemon
index 1ed6c757efcd8b2a0da26e2c9b5f632083a964e3..f8158af25314b6a829f6dfa35b298c09dd43e253 100755 (executable)
@@ -85,7 +85,7 @@ for method, endpoint, args in screenplay:
     print("URL = " + url)
     request = getattr(requests, method)(
         url,
-        data=json.dumps(args),
+        data=json.dumps(args) if args else None,
         headers=headers,
         verify=False,
         auth=auth)
index 03308b0a4234075b73e8d06c17825aa1c4ed017b..d84310f9b0694f94bf4ab68777f757a5b9c5ffb5 100644 (file)
@@ -1,2 +1,2 @@
-9fd2f65f91d9246fae2c841a6222d34d121680ee
-15.2.1
+0c857e985a29d90501a285f242ea9c008df49eb8
+15.2.2
index 5f370b8dbbbe594ab0b458a1103eda50a062117e..bb4a7812d1bfbab5728fc91afd2237dec09c3455 100644 (file)
@@ -552,7 +552,7 @@ add_dependencies(ceph-osd erasure_code_plugins)
 target_link_libraries(ceph-osd osd os global-static common
   ${BLKID_LIBRARIES})
 if(WITH_FUSE)
-  target_link_libraries(ceph-osd ${FUSE_LIBRARIES})
+  target_link_libraries(ceph-osd FUSE::FUSE)
 endif()
 set_target_properties(ceph-osd PROPERTIES
   POSITION_INDEPENDENT_CODE ${EXE_LINKER_USE_PIE}
@@ -705,10 +705,9 @@ if(WITH_FUSE)
     ceph_fuse.cc
     client/fuse_ll.cc)
   add_executable(ceph-fuse ${ceph_fuse_srcs})
-  target_link_libraries(ceph-fuse ${FUSE_LIBRARIES}
+  target_link_libraries(ceph-fuse FUSE::FUSE
     ${GSSAPI_LIBRARIES} client ceph-common global-static ${EXTRALIBS})
   set_target_properties(ceph-fuse PROPERTIES
-    COMPILE_FLAGS "-I${FUSE_INCLUDE_DIRS}"
     POSITION_INDEPENDENT_CODE ${EXE_LINKER_USE_PIE})
   install(TARGETS ceph-fuse DESTINATION bin)
   install(PROGRAMS mount.fuse.ceph DESTINATION ${CMAKE_INSTALL_SBINDIR})
index 27ee5bb47e006f4bc9d5aa5252c1b21a9f4c91c1..b7a4b35b2fd20bae25dcabb6e9c2de91622465c3 100644 (file)
@@ -106,9 +106,12 @@ def filter_devices(args):
     if len(unused_devices) == 1:
         last_device = unused_devices[0]
         if not last_device.rotational and last_device.is_lvm_member:
-            reason = "Used by ceph as a %s already and there are no devices left for data/block" % (
-                last_device.lvs[0].tags.get("ceph.type"),
-            )
+            if last_device.lvs:
+                reason = "Used by ceph as a %s already and there are no devices left for data/block" % (
+                    last_device.lvs[0].tags.get("ceph.type"),
+                )
+            else:
+                reason = "Disk is an LVM member already, skipping"
             filtered_devices[last_device.abspath] = {"reasons": [reason]}
             logger.info(reason + ": %s" % last_device.abspath)
             unused_devices = []
@@ -366,7 +369,12 @@ class Batch(object):
                 self.filtered_devices.update({d: used_reason for d in
                                               getattr(self.args, dev_list_prop)
                                               if d.used_by_ceph})
-                if self.args.yes and dev_list and devs != usable:
+                # only fail if non-interactive, this iteration concerns
+                # non-data devices, there are usable data devices (or not all
+                # data devices were filtered) and non-data devices were filtered
+                # so in short this branch is not taken if all data devices are
+                # filtered
+                if self.args.yes and dev_list and self.usable and devs != usable:
                     err = '{} devices were filtered in non-interactive mode, bailing out'
                     raise RuntimeError(err.format(len(devs) - len(usable)))
 
index 6e41f76ecb19831c8beced8be78b9945788b6b3c..1e3deae4ce1ec8c14d566109c6ef9079cc35bc57 100644 (file)
@@ -103,8 +103,9 @@ class Scan(object):
             file_json_key = file_
             if file_.endswith('_dmcrypt'):
                 file_json_key = file_.rstrip('_dmcrypt')
-                logger.info(('reading file {}, stripping _dmcrypt',
-                             'suffix').format(file_))
+                logger.info(
+                    'reading file {}, stripping _dmcrypt suffix'.format(file_)
+                )
             if os.path.islink(file_path):
                 if os.path.exists(file_path):
                     osd_metadata[file_json_key] = self.scan_device(file_path)
index ac01062a0503909ca182d567cab5a780f502a0eb..f3be4972af2ad627d615997efc99628f0190a17e 100644 (file)
@@ -9,7 +9,6 @@
         state: stopped
       with_items: "{{ osd_ids }}"
 
-
 - hosts: mons
   become: yes
   tasks:
@@ -21,7 +20,6 @@
       command: "ceph --cluster {{ cluster }} osd purge osd.{{ item }} --yes-i-really-mean-it"
       with_items: "{{ osd_ids }}"
 
-
 - hosts: osds
   become: yes
   tasks:
@@ -37,7 +35,7 @@
       environment:
         CEPH_VOLUME_DEBUG: 1
 
-    - name: ensure batch create is idempotent
+    - name: ensure batch create is idempotent when all data devices are filtered
       command: "ceph-volume --cluster {{ cluster }} lvm batch --yes --{{ osd_objectstore|default('bluestore') }} {{ '--dmcrypt' if dmcrypt|default(false) else '' }} {{ devices[:2] | join(' ') }} --db-devices {{ devices[2:] | join(' ') }}"
       register: batch_cmd
       failed_when: false
@@ -49,7 +47,6 @@
         msg: "lvm batch failed idempotency check"
       when:
          - batch_cmd.rc != 0
-         - "'strategy changed' not in batch_cmd.stderr"
 
     - name: run batch --report to see if devices get filtered
       command: "ceph-volume --cluster {{ cluster }} lvm batch --report --format=json --{{ osd_objectstore|default('bluestore') }} {{ '--dmcrypt' if dmcrypt|default(false) else '' }} {{ devices[:2] | join(' ') }} --db-devices {{ devices[2:] | join(' ') }}"
@@ -63,4 +60,3 @@
         msg: "lvm batch --report failed idempotency check"
       when:
          - report_cmd.rc != 0
-         - "'strategy changed' not in report_cmd.stderr"
index 12bca4f3237307ed8de5dc9631869caedd311895..0c1d13f8f1a2f8116d00e2a16043b80a9e354454 100644 (file)
@@ -90,6 +90,8 @@
   tasks:
     - import_role:
         name: ceph-defaults
+    - import_role:
+        name: ceph-facts
     - import_role:
         name: ceph-validate
 
index aedec606fb5ddf9ed0f8eb1ffa6a4e22a8f65bb4..369b9696540cb59b7085408ce6b6bd5e374fee1b 100755 (executable)
@@ -333,7 +333,7 @@ def parse_cmdargs(args=None, target=''):
                         help="make less verbose")
 
     parser.add_argument('-f', '--format', choices=['json', 'json-pretty',
-                        'xml', 'xml-pretty', 'plain'], dest='output_format')
+                        'xml', 'xml-pretty', 'plain', 'yaml'], dest='output_format')
 
     parser.add_argument('--connect-timeout', dest='cluster_timeout',
                         type=int,
index 5ac18116f12cddbc0157076745937e1850bea0e6..9d6141c1eaa4c5434b4d0174bbaffc53c100a6e0 100644 (file)
@@ -41,6 +41,7 @@
 #include <fcntl.h>
 
 #include <fuse.h>
+#include <fuse_lowlevel.h>
 
 #define dout_context g_ceph_context
 
@@ -51,7 +52,12 @@ static void fuse_usage()
     "-h",
   };
   struct fuse_args args = FUSE_ARGS_INIT(2, (char**)argv);
+#if FUSE_VERSION >= FUSE_MAKE_VERSION(3, 0)
+  struct fuse_cmdline_opts opts = {};
+  if (fuse_parse_cmdline(&args, &opts) == -1) {
+#else
   if (fuse_parse_cmdline(&args, nullptr, nullptr, nullptr) == -1) {
+#endif
     derr << "fuse_parse_cmdline failed." << dendl;
   }
   ceph_assert(args.allocated);
@@ -105,7 +111,12 @@ int main(int argc, const char **argv, const char *envp[]) {
       };
 
       struct fuse_args fargs = FUSE_ARGS_INIT(2, (char**)tmpargv);
+#if FUSE_VERSION >= FUSE_MAKE_VERSION(3, 0)
+      struct fuse_cmdline_opts opts = {};
+      if (fuse_parse_cmdline(&fargs, &opts) == -1) {
+#else
       if (fuse_parse_cmdline(&fargs, nullptr, nullptr, nullptr) == -1) {
+#endif
        derr << "fuse_parse_cmdline failed." << dendl;
       }
       ceph_assert(fargs.allocated);
index baccd7c050514e5385cab8f8af7d5f7636424dd6..32610e70216a8d04a3174b491501e83326f660b9 100755 (executable)
@@ -1,6 +1,8 @@
 #!/usr/bin/python3
 
 DEFAULT_IMAGE='docker.io/ceph/ceph:v15'
+DEFAULT_IMAGE_IS_MASTER=False
+LATEST_STABLE_RELEASE='octopus'
 DATA_DIR='/var/lib/ceph'
 LOG_DIR='/var/log/ceph'
 LOCK_DIR='/run/cephadm'
@@ -190,6 +192,8 @@ class NFSGanesha(object):
         # config-json options
         self.pool = json_get('pool', require=True)
         self.namespace = json_get('namespace')
+        self.userid = json_get('userid')
+        self.extra_args = json_get('extra_args', [])
         self.files = json_get('files', {})
 
         # validate the supplied args
@@ -264,6 +268,10 @@ class NFSGanesha(object):
             cname = '%s-%s' % (cname, desc)
         return cname
 
+    def get_daemon_args(self):
+        # type: () -> List[str]
+        return self.daemon_args + self.extra_args
+
     def get_file_content(self, fname):
         # type: (str) -> str
         """Normalize the json file content into a string"""
@@ -303,6 +311,8 @@ class NFSGanesha(object):
         args=['--pool', self.pool]
         if self.namespace:
             args += ['--ns', self.namespace]
+        if self.userid:
+            args += ['--userid', self.userid]
         args += [action, self.get_daemon_name()]
 
         data_dir = get_data_dir(self.fsid, self.daemon_type, self.daemon_id)
@@ -322,10 +332,135 @@ class NFSGanesha(object):
 
 ##################################
 
+class CephIscsi(object):
+    """Defines a Ceph-Iscsi container"""
+
+    daemon_type = 'iscsi'
+    entrypoint = '/usr/bin/rbd-target-api'
+
+    required_files = ['iscsi-gateway.cfg']
+
+    def __init__(self,
+                 fsid,
+                 daemon_id,
+                 config_json,
+                 image=DEFAULT_IMAGE):
+        # type: (str, Union[int, str], Dict, str) -> None
+        self.fsid = fsid
+        self.daemon_id = daemon_id
+        self.image = image
+
+        def json_get(key, default=None, require=False):
+            if require and not key in config_json.keys():
+                raise Error('{} missing from config-json'.format(key))
+            return config_json.get(key, default)
+
+        # config-json options
+        self.files = json_get('files', {})
+
+        # validate the supplied args
+        self.validate()
+
+    @classmethod
+    def init(cls, fsid, daemon_id):
+        # type: (str, Union[int, str]) -> CephIscsi
+        return cls(fsid, daemon_id, get_parm(args.config_json), args.image)
+
+    @staticmethod
+    def get_container_mounts(data_dir, log_dir):
+        # type: (str, str) -> Dict[str, str]
+        mounts = dict()
+        mounts[os.path.join(data_dir, 'config')] = '/etc/ceph/ceph.conf:z'
+        mounts[os.path.join(data_dir, 'keyring')] = '/etc/ceph/keyring:z'
+        mounts[os.path.join(data_dir, 'iscsi-gateway.cfg')] = '/etc/ceph/iscsi-gateway.cfg:z'
+        mounts[os.path.join(data_dir, 'configfs')] = '/sys/kernel/config:z'
+        mounts[log_dir] = '/var/log/rbd-target-api:z'
+        mounts['/dev/log'] = '/dev/log:z'
+        return mounts
+
+    @staticmethod
+    def get_version(container_id):
+        # type(str) -> Optional[str]
+        version = None
+        out, err, code = call(
+            [container_path, 'exec', container_id,
+             '/usr/bin/python3', '-c', "import pkg_resources; print(pkg_resources.require('ceph_iscsi')[0].version)"])
+        if code == 0:
+            version = out
+        return version
+
+    def validate(self):
+        # type () -> None
+        if not is_fsid(self.fsid):
+            raise Error('not an fsid: %s' % self.fsid)
+        if not self.daemon_id:
+            raise Error('invalid daemon_id: %s' % self.daemon_id)
+        if not self.image:
+            raise Error('invalid image: %s' % self.image)
+
+        # check for the required files
+        if self.required_files:
+            for fname in self.required_files:
+                if fname not in self.files:
+                    raise Error('required file missing from config-json: %s' % fname)
+
+    def get_daemon_name(self):
+        # type: () -> str
+        return '%s.%s' % (self.daemon_type, self.daemon_id)
+
+    def get_container_name(self, desc=None):
+        # type: (Optional[str]) -> str
+        cname = 'ceph-%s-%s' % (self.fsid, self.get_daemon_name())
+        if desc:
+            cname = '%s-%s' % (cname, desc)
+        return cname
+
+    def get_file_content(self, fname):
+        # type: (str) -> str
+        """Normalize the json file content into a string"""
+        content = self.files.get(fname)
+        if isinstance(content, list):
+            content = '\n'.join(content)
+        return content
+
+    def create_daemon_dirs(self, data_dir, uid, gid):
+        # type: (str, int, int) -> None
+        """Create files under the container data dir"""
+        if not os.path.isdir(data_dir):
+            raise OSError('data_dir is not a directory: %s' % (data_dir))
+
+        logger.info('Creating ceph-iscsi config...')
+        configfs_dir = os.path.join(data_dir, 'configfs')
+        makedirs(configfs_dir, uid, gid, 0o755)
+
+        # populate files from the config-json
+        for fname in self.files:
+            config_file = os.path.join(data_dir, fname)
+            config_content = self.get_file_content(fname)
+            logger.info('Write file: %s' % (config_file))
+            with open(config_file, 'w') as f:
+                os.fchown(f.fileno(), uid, gid)
+                os.fchmod(f.fileno(), 0o600)
+                f.write(config_content)
+
+    @staticmethod
+    def configfs_mount_umount(data_dir, mount=True):
+        mount_path = os.path.join(data_dir, 'configfs')
+        if mount:
+            cmd = "if ! grep -qs {0} /proc/mounts; then " \
+                  "mount -t configfs none {0}; fi".format(mount_path)
+        else:
+            cmd = "if grep -qs {0} /proc/mounts; then " \
+                  "umount {0}; fi".format(mount_path)
+        return cmd.split()
+
+##################################
+
 def get_supported_daemons():
     supported_daemons = list(Ceph.daemons)
     supported_daemons.extend(Monitoring.components)
     supported_daemons.append(NFSGanesha.daemon_type)
+    supported_daemons.append(CephIscsi.daemon_type)
     assert len(supported_daemons) == len(set(supported_daemons))
     return supported_daemons
 
@@ -366,6 +501,8 @@ def check_ip_port(ip, port):
         logger.info('Verifying IP %s port %d ...' % (ip, port))
         if ip.startswith('[') or '::' in ip:
             s = socket.socket(socket.AF_INET6, socket.SOCK_STREAM)
+            if ip.startswith('[') and ip.endswith(']'):
+                ip = ip[1:-1]
         else:
             s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
         try:
@@ -941,6 +1078,18 @@ def infer_fsid(func):
 
     return _infer_fsid
 
+def _get_default_image():
+    if DEFAULT_IMAGE_IS_MASTER:
+        yellow = '\033[93m'
+        end = '\033[0m'
+        warn = '''This is a development version of cephadm.
+For information regarding the latest stable release:
+    https://docs.ceph.com/docs/{}/cephadm/install
+'''.format(LATEST_STABLE_RELEASE)
+        for line in warn.splitlines():
+            logger.warning('{}{}{}'.format(yellow, line, end))
+    return DEFAULT_IMAGE
+
 def infer_image(func):
     """
     Use the most recent ceph image
@@ -952,7 +1101,7 @@ def infer_image(func):
         if not args.image:
             args.image = get_last_local_ceph_image()
         if not args.image:
-            args.image = DEFAULT_IMAGE
+            args.image = _get_default_image()
         return func()
 
     return _infer_image
@@ -968,7 +1117,8 @@ def default_image(func):
             if not args.image:
                 args.image = os.environ.get('CEPHADM_IMAGE')
             if not args.image:
-                args.image = DEFAULT_IMAGE
+                args.image = _get_default_image()
+
         return func()
 
     return _default_image
@@ -1274,13 +1424,13 @@ def get_daemon_args(fsid, daemon_type, daemon_id):
             for peer in peers:
                 r += ["--cluster.peer={}".format(peer)]
     elif daemon_type == NFSGanesha.daemon_type:
-        r += NFSGanesha.daemon_args
+        nfs_ganesha = NFSGanesha.init(fsid, daemon_id)
+        r += nfs_ganesha.get_daemon_args()
 
     return r
 
 def create_daemon_dirs(fsid, daemon_type, daemon_id, uid, gid,
-                       config=None, keyring=None,
-                       reconfig=False):
+                       config=None, keyring=None, reconfig=False):
     # type: (str, str, Union[int, str], int, int, Optional[str], Optional[str], Optional[bool]) ->  None
     data_dir = make_data_dir(fsid, daemon_type, daemon_id, uid=uid, gid=gid)
     make_log_dir(fsid, uid=uid, gid=gid)
@@ -1341,6 +1491,10 @@ def create_daemon_dirs(fsid, daemon_type, daemon_id, uid, gid,
         nfs_ganesha = NFSGanesha.init(fsid, daemon_id)
         nfs_ganesha.create_daemon_dirs(data_dir, uid, gid)
 
+    if daemon_type == CephIscsi.daemon_type:
+        ceph_iscsi = CephIscsi.init(fsid, daemon_id)
+        ceph_iscsi.create_daemon_dirs(data_dir, uid, gid)
+
 def get_parm(option):
     # type: (str) -> Dict[str, str]
 
@@ -1456,6 +1610,12 @@ def get_container_mounts(fsid, daemon_type, daemon_id,
         data_dir = get_data_dir(fsid, daemon_type, daemon_id)
         mounts.update(NFSGanesha.get_container_mounts(data_dir))
 
+    if daemon_type == CephIscsi.daemon_type:
+        assert daemon_id
+        data_dir = get_data_dir(fsid, daemon_type, daemon_id)
+        log_dir = get_log_dir(fsid)
+        mounts.update(CephIscsi.get_container_mounts(data_dir, log_dir))
+
     return mounts
 
 def get_container(fsid, daemon_type, daemon_id,
@@ -1484,6 +1644,9 @@ def get_container(fsid, daemon_type, daemon_id,
     elif daemon_type == NFSGanesha.daemon_type:
         entrypoint = NFSGanesha.entrypoint
         name = '%s.%s' % (daemon_type, daemon_id)
+    elif daemon_type == CephIscsi.daemon_type:
+        entrypoint = CephIscsi.entrypoint
+        name = '%s.%s' % (daemon_type, daemon_id)
     else:
         entrypoint = ''
         name = ''
@@ -1643,6 +1806,12 @@ def deploy_daemon_units(fsid, uid, gid, daemon_type, daemon_id, c,
             nfs_ganesha = NFSGanesha.init(fsid, daemon_id)
             prestart = nfs_ganesha.get_rados_grace_container('add')
             f.write(' '.join(prestart.run_cmd()) + '\n')
+        elif daemon_type == CephIscsi.daemon_type:
+            f.write(' '.join(CephIscsi.configfs_mount_umount(data_dir, mount=True)) + '\n')
+
+        if daemon_type in Ceph.daemons:
+            install_path = find_program('install')
+            f.write('{install_path} -d -m0770 -o {uid} -g {gid} /var/run/ceph/{fsid}\n'.format(install_path=install_path, fsid=fsid, uid=uid, gid=gid))
 
         # container run command
         f.write(' '.join(c.run_cmd()) + '\n')
@@ -1672,6 +1841,8 @@ def deploy_daemon_units(fsid, uid, gid, daemon_type, daemon_id, c,
             nfs_ganesha = NFSGanesha.init(fsid, daemon_id)
             poststop = nfs_ganesha.get_rados_grace_container('remove')
             f.write(' '.join(poststop.run_cmd()) + '\n')
+        elif daemon_type == CephIscsi.daemon_type:
+            f.write(' '.join(CephIscsi.configfs_mount_umount(data_dir, mount=False)) + '\n')
         os.fchmod(f.fileno(), 0o600)
         os.rename(data_dir + '/unit.poststop.new',
                   data_dir + '/unit.poststop')
@@ -1684,7 +1855,7 @@ def deploy_daemon_units(fsid, uid, gid, daemon_type, daemon_id, c,
 
     # systemd
     install_base_units(fsid)
-    unit = get_unit_file(fsid, uid, gid)
+    unit = get_unit_file(fsid)
     unit_file = 'ceph-%s@.service' % (fsid)
     with open(args.unit_dir + '/' + unit_file + '.new', 'w') as f:
         f.write(unit)
@@ -1821,9 +1992,8 @@ def install_base_units(fsid):
 }
 """ % fsid)
 
-def get_unit_file(fsid, uid, gid):
-    # type: (str, int, int) -> str
-    install_path = find_program('install')
+def get_unit_file(fsid):
+    # type: (str) -> str
     u = """# generated by cephadm
 [Unit]
 Description=Ceph %i for {fsid}
@@ -1843,7 +2013,6 @@ LimitNOFILE=1048576
 LimitNPROC=1048576
 EnvironmentFile=-/etc/environment
 ExecStartPre=-{container_path} rm ceph-{fsid}-%i
-ExecStartPre=-{install_path} -d -m0770 -o {uid} -g {gid} /var/run/ceph/{fsid}
 ExecStart=/bin/bash {data_dir}/{fsid}/%i/unit.run
 ExecStop=-{container_path} stop ceph-{fsid}-%i
 ExecStopPost=-/bin/bash {data_dir}/{fsid}/%i/unit.poststop
@@ -1859,10 +2028,7 @@ StartLimitBurst=5
 WantedBy=ceph-{fsid}.target
 """.format(
     container_path=container_path,
-    install_path=install_path,
     fsid=fsid,
-    uid=uid,
-    gid=gid,
     data_dir=args.data_dir)
     return u
 
@@ -2415,7 +2581,7 @@ def command_bootstrap():
         cmd = ['dashboard', 'ac-user-create', args.initial_dashboard_user, password, 'administrator', '--force-password']
         if not args.dashboard_password_noupdate:
             cmd.append('--pwd-update-required')
-        cli(cmd)   
+        cli(cmd)
         logger.info('Fetching dashboard port number...')
         out = cli(['config', 'get', 'mgr', 'mgr/dashboard/ssl_server_port'])
         port = int(out)
@@ -2521,6 +2687,13 @@ def command_deploy():
         deploy_daemon(args.fsid, daemon_type, daemon_id, c, uid, gid,
                       config=config, keyring=keyring,
                       reconfig=args.reconfig)
+    elif daemon_type == CephIscsi.daemon_type:
+        (config, keyring) = get_config_and_keyring()
+        (uid, gid) = extract_uid_gid()
+        c = get_container(args.fsid, daemon_type, daemon_id)
+        deploy_daemon(args.fsid, daemon_type, daemon_id, c, uid, gid,
+                      config=config, keyring=keyring,
+                      reconfig=args.reconfig)
     else:
         raise Error("{} not implemented in command_deploy function".format(daemon_type))
 
@@ -2621,8 +2794,12 @@ def command_enter():
             '-e', 'LANG=C',
             '-e', "PS1=%s" % CUSTOM_PS1,
         ]
-    c = get_container(args.fsid, daemon_type, daemon_id,
-                      container_args=container_args)
+    c = CephContainer(
+        image=args.image,
+        entrypoint='doesnotmatter',
+        container_args=container_args,
+        cname='ceph-%s-%s.%s' % (args.fsid, daemon_type, daemon_id),
+    )
     command = c.exec_cmd(command)
     return call_timeout(command, args.timeout)
 
@@ -2635,6 +2812,9 @@ def command_ceph_volume():
     if args.fsid:
         make_log_dir(args.fsid)
 
+        l = FileLock(args.fsid)
+        l.acquire()
+
     (uid, gid) = (0, 0) # ceph-volume runs as root
     mounts = get_container_mounts(args.fsid, 'osd', None)
 
@@ -2828,6 +3008,8 @@ def list_daemons(detail=True, legacy_dir=None):
                                 version = seen_versions.get(image_id, None)
                             if daemon_type == NFSGanesha.daemon_type:
                                 version = NFSGanesha.get_version(container_id)
+                            if daemon_type == CephIscsi.daemon_type:
+                                version = CephIscsi.get_version(container_id)
                             elif not version:
                                 if daemon_type in Ceph.daemons:
                                     out, err, code = call(
@@ -2926,6 +3108,84 @@ def command_adopt():
         raise Error('daemon type %s not recognized' % daemon_type)
 
 
+class AdoptOsd(object):
+    def __init__(self, osd_data_dir, osd_id):
+        # type: (str, str) -> None
+        self.osd_data_dir = osd_data_dir
+        self.osd_id = osd_id
+
+    def check_online_osd(self):
+        # type: () -> Tuple[Optional[str], Optional[str]]
+
+        osd_fsid, osd_type = None, None
+
+        path = os.path.join(self.osd_data_dir, 'fsid')
+        try:
+            with open(path, 'r') as f:
+                osd_fsid = f.read().strip()
+            logger.info("Found online OSD at %s" % path)
+            if os.path.exists(os.path.join(self.osd_data_dir, 'type')):
+                with open(os.path.join(self.osd_data_dir, 'type')) as f:
+                    osd_type = f.read().strip()
+            else:
+                logger.info('"type" file missing for OSD data dir')
+        except IOError:
+            logger.info('Unable to read OSD fsid from %s' % path)
+
+        return osd_fsid, osd_type
+
+    def check_offline_lvm_osd(self):
+        # type: () -> Tuple[Optional[str], Optional[str]]
+
+        osd_fsid, osd_type = None, None
+
+        c = CephContainer(
+            image=args.image,
+            entrypoint='/usr/sbin/ceph-volume',
+            args=['lvm', 'list', '--format=json'],
+            privileged=True
+        )
+        out, err, code = call_throws(c.run_cmd(), verbose=False)
+        if not code:
+            try:
+                js = json.loads(out)
+                if self.osd_id in js:
+                    logger.info("Found offline LVM OSD {}".format(self.osd_id))
+                    osd_fsid = js[self.osd_id][0]['tags']['ceph.osd_fsid']
+                    for device in js[self.osd_id]:
+                        if device['tags']['ceph.type'] == 'block':
+                            osd_type = 'bluestore'
+                            break
+                        if device['tags']['ceph.type'] == 'data':
+                            osd_type = 'filestore'
+                            break
+            except ValueError as e:
+                logger.info("Invalid JSON in ceph-volume lvm list: {}".format(e))
+
+        return osd_fsid, osd_type
+
+    def check_offline_simple_osd(self):
+        # type: () -> Tuple[Optional[str], Optional[str]]
+
+        osd_fsid, osd_type = None, None
+
+        osd_file = glob("/etc/ceph/osd/{}-[a-f0-9-]*.json".format(self.osd_id))
+        if len(osd_file) == 1:
+            with open(osd_file[0], 'r') as f:
+                try:
+                    js = json.loads(f.read())
+                    logger.info("Found offline simple OSD {}".format(self.osd_id))
+                    osd_fsid = js["fsid"]
+                    osd_type = js["type"]
+                    if osd_type != "filestore":
+                        # need this to be mounted for the adopt to work, as it
+                        # needs to move files from this directory
+                        call_throws(['mount', js["data"]["path"], self.osd_data_dir])
+                except ValueError as e:
+                    logger.info("Invalid JSON in {}: {}".format(osd_file, e))
+
+        return osd_fsid, osd_type
+
 
 def command_adopt_ceph(daemon_type, daemon_id, fsid):
     # type: (str, str, str) -> None
@@ -2936,22 +3196,23 @@ def command_adopt_ceph(daemon_type, daemon_id, fsid):
                     (daemon_type, args.cluster, daemon_id))
     data_dir_src = os.path.abspath(args.legacy_dir + data_dir_src)
 
+    if not os.path.exists(data_dir_src):
+        raise Error("{}.{} data directory '{}' does not exist.  "
+                    "Incorrect ID specified, or daemon alrady adopted?".format(
+                    daemon_type, daemon_id, data_dir_src))
+
     osd_fsid = None
     if daemon_type == 'osd':
-        path = os.path.join(data_dir_src, 'fsid')
-        try:
-            with open(path, 'r') as f:
-                osd_fsid = f.read().strip()
-        except IOError:
-            raise Error('unable to read OSD fsid from %s' % path)
-        os_type = None
-        if os.path.exists(os.path.join(data_dir_src, 'type')):
-            with open(os.path.join(data_dir_src, 'type')) as f:
-                os_type = f.read().strip()
-        else:
-            raise Error('"type" file missing for OSD data dir')
-        logger.info('objectstore_type is %s' % os_type)
-        if os_type == 'filestore':
+        adopt_osd = AdoptOsd(data_dir_src, daemon_id)
+        osd_fsid, osd_type = adopt_osd.check_online_osd()
+        if not osd_fsid:
+            osd_fsid, osd_type = adopt_osd.check_offline_lvm_osd()
+        if not osd_fsid:
+            osd_fsid, osd_type = adopt_osd.check_offline_simple_osd()
+        if not osd_fsid:
+            raise Error('Unable to find OSD {}'.format(daemon_id))
+        logger.info('objectstore_type is %s' % osd_type)
+        if osd_type == 'filestore':
             raise Error('FileStore is not supported by cephadm')
 
     # NOTE: implicit assumption here that the units correspond to the
@@ -3010,9 +3271,8 @@ def command_adopt_ceph(daemon_type, daemon_id, fsid):
             logger.info('Renaming %s -> %s', simple_fn, new_fn)
             os.rename(simple_fn, new_fn)
             logger.info('Disabling host unit ceph-volume@ simple unit...')
-            call_throws(['systemctl', 'disable',
-                         'ceph-volume@simple-%s-%s.service' % (
-                             daemon_id, osd_fsid)])
+            call(['systemctl', 'disable',
+                  'ceph-volume@simple-%s-%s.service' % (daemon_id, osd_fsid)])
         else:
             # assume this is an 'lvm' c-v for now, but don't error
             # out if it's not.
@@ -3041,7 +3301,7 @@ def command_adopt_ceph(daemon_type, daemon_id, fsid):
     c = get_container(fsid, daemon_type, daemon_id)
     deploy_daemon_units(fsid, uid, gid, daemon_type, daemon_id, c,
                         enable=True,  # unconditionally enable the new unit
-                        start=(state == 'running'),
+                        start=(state == 'running' or args.force_start),
                         osd_fsid=osd_fsid)
     update_firewalld(daemon_type)
 
@@ -3061,6 +3321,7 @@ def command_adopt_prometheus(daemon_id, fsid):
     config_src = '/etc/prometheus/prometheus.yml'
     config_src = os.path.abspath(args.legacy_dir + config_src)
     config_dst = os.path.join(data_dir_dst, 'etc/prometheus')
+    makedirs(config_dst, uid, gid, 0o755)
     copy_files([config_src], config_dst, uid=uid, gid=gid)
 
     # data
@@ -3283,6 +3544,19 @@ def command_rm_cluster():
     # rm logrotate config
     call_throws(['rm', '-f', args.logrotate_dir + '/ceph-%s' % args.fsid])
 
+    # clean up config, keyring, and pub key files
+    files = ['/etc/ceph/ceph.conf', '/etc/ceph/ceph.pub', '/etc/ceph/ceph.client.admin.keyring']
+
+    if os.path.exists(files[0]):
+        valid_fsid = False
+        with open(files[0]) as f:
+            if args.fsid in f.read():
+                valid_fsid = True
+        if valid_fsid:
+            for n in range(0, len(files)):
+                if os.path.exists(files[n]):
+                    os.remove(files[n])
+
 
 ##################################
 
@@ -3302,29 +3576,44 @@ def check_time_sync(enabler=None):
 
 def command_check_host():
     # type: () -> None
-    # caller already checked for docker/podman
-    logger.info('podman|docker (%s) is present' % container_path)
-
+    errors = []
     commands = ['systemctl', 'lvcreate']
 
+    if args.docker:
+            container_path = find_program('docker')
+    else:
+        for i in CONTAINER_PREFERENCE:
+            try:
+                container_path = find_program(i)
+                break
+            except Exception as e:
+                logger.debug('Could not locate %s: %s' % (i, e))
+        if not container_path:
+            errors.append('Unable to locate any of %s' % CONTAINER_PREFERENCE)
+        else:
+            logger.info('podman|docker (%s) is present' % container_path)
+
     for command in commands:
         try:
             find_program(command)
             logger.info('%s is present' % command)
         except ValueError:
-            raise Error('%s binary does not appear to be installed' % command)
+            errors.append('%s binary does not appear to be installed' % command)
 
     # check for configured+running chronyd or ntp
     if not check_time_sync():
-        raise Error('No time synchronization is active')
+        errors.append('No time synchronization is active')
 
     if 'expect_hostname' in args and args.expect_hostname:
-        if get_hostname() != args.expect_hostname:
-            raise Error('hostname "%s" does not match expected hostname "%s"' % (
+        if get_hostname().lower() != args.expect_hostname.lower():
+            errors.append('hostname "%s" does not match expected hostname "%s"' % (
                 get_hostname(), args.expect_hostname))
         logger.info('Hostname "%s" matches what is expected.',
                     args.expect_hostname)
 
+    if errors:
+        raise Error('\n'.join(errors))
+
     logger.info('Host looks OK')
 
 ##################################
@@ -3784,6 +4073,8 @@ def create_packager(stable=None, version=None, branch=None, commit=None):
 def command_add_repo():
     if args.version and args.release:
         raise Error('you can specify either --release or --version but not both')
+    if not args.version and not args.release and not args.dev and not args.dev_commit:
+        raise Error('please supply a --release, --version, --dev or --dev-commit argument')
     if args.version:
         try:
             (x, y, z) = args.version.split('.')
@@ -3910,6 +4201,10 @@ def _get_parser():
         '--skip-pull',
         action='store_true',
         help='do not pull the latest image before adopting')
+    parser_adopt.add_argument(
+        '--force-start',
+        action='store_true',
+        help="start newly adoped daemon, even if it wasn't running previously")
 
     parser_rm_daemon = subparsers.add_parser(
         'rm-daemon', help='remove daemon instance')
@@ -4204,7 +4499,7 @@ def _get_parser():
     parser_add_repo.set_defaults(func=command_add_repo)
     parser_add_repo.add_argument(
         '--release',
-        help='use latest version of a named release (e.g., octopus)')
+        help='use latest version of a named release (e.g., {})'.format(LATEST_STABLE_RELEASE))
     parser_add_repo.add_argument(
         '--version',
         help='use specific upstream version (x.y.z)')
@@ -4260,24 +4555,26 @@ if __name__ == "__main__":
         sys.stderr.write('ERROR: cephadm should be run as root\n')
         sys.exit(1)
 
-    # podman or docker?
-    if args.docker:
-        container_path = find_program('docker')
-    else:
-        for i in CONTAINER_PREFERENCE:
-            try:
-                container_path = find_program(i)
-                break
-            except Exception as e:
-                logger.debug('Could not locate %s: %s' % (i, e))
-        if not container_path and args.func != command_prepare_host:
-            sys.stderr.write('Unable to locate any of %s\n' % CONTAINER_PREFERENCE)
-            sys.exit(1)
-
     if 'func' not in args:
         sys.stderr.write('No command specified; pass -h or --help for usage\n')
         sys.exit(1)
 
+    # podman or docker?
+    if args.func != command_check_host:
+        if args.docker:
+            container_path = find_program('docker')
+        else:
+            for i in CONTAINER_PREFERENCE:
+                try:
+                    container_path = find_program(i)
+                    break
+                except Exception as e:
+                    logger.debug('Could not locate %s: %s' % (i, e))
+            if not container_path and args.func != command_prepare_host\
+                    and args.func != command_add_repo:
+                sys.stderr.write('Unable to locate any of %s\n' % CONTAINER_PREFERENCE)
+                sys.exit(1)
+
     try:
         r = args.func()
     except Error as e:
diff --git a/ceph/src/cephadm/samples/rgw_ssl.json b/ceph/src/cephadm/samples/rgw_ssl.json
new file mode 100644 (file)
index 0000000..d3c4511
--- /dev/null
@@ -0,0 +1,103 @@
+{
+  "rgw_realm": "default",
+  "rgw_zone": "default",
+  "service_type": "rgw",
+  "placement": {
+    "hosts": [{
+      "hostname": "ironic-moliver",
+      "name": "",
+      "network": ""
+    }],
+    "count": 1
+  },
+  "ssl": true,
+  "rgw_frontend_port": 4343,
+  "rgw_frontend_ssl_certificate": [
+      "-----BEGIN CERTIFICATE-----",
+      "MIIFmjCCA4KgAwIBAgIJAIZ2n35bmwXTMA0GCSqGSIb3DQEBCwUAMGIxCzAJBgNV",
+      "BAYTAkFVMQwwCgYDVQQIDANOU1cxHTAbBgNVBAoMFEV4YW1wbGUgUkdXIFNTTCBp",
+      "bmMuMSYwJAYDVQQDDB1yZ3ctZW5kcG9pbnQuZXhhbXBsZS1jZXBoLmNvbTAeFw0y",
+      "MDAyMDcwMDEzNTFaFw0zMDAyMDQwMDEzNTFaMGIxCzAJBgNVBAYTAkFVMQwwCgYD",
+      "VQQIDANOU1cxHTAbBgNVBAoMFEV4YW1wbGUgUkdXIFNTTCBpbmMuMSYwJAYDVQQD",
+      "DB1yZ3ctZW5kcG9pbnQuZXhhbXBsZS1jZXBoLmNvbTCCAiIwDQYJKoZIhvcNAQEB",
+      "BQADggIPADCCAgoCggIBAMptGJ523QkEbc37za8iuCTahj0Zr6hy+ToSX/Vfdzxj",
+      "iYHuD2PiZZyJB7t2eOqiA8sQ5N513EUtf2ZIBwtnnqFIzD5TqI3BxRajUTlOyXUX",
+      "onMwQwXu2ifDUy3LCmuQfzanOTWvVLac1NmkWbJHpJCXYbUnPb1Nvd0QjTTEH1jt",
+      "5bDHhfxwCIYK6PY+MqC72a09wB2ZF+EKsSdqghOKmibfJHtoJdsqGeLrysBLrzUJ",
+      "e/5ZW3V4Z85T2lja5KZnWgRofrUy5TmJV10HO4Hht92xvWvEi/rmjg2AVYZFUQQx",
+      "xKXpUBbF5T46eSVmaT7IH88Yp5ytgBTaigym7ETCjohp/DfCaK1DUehh0ce7iUq2",
+      "yCLviZsX4WdPYxzkoLflNrqm4YZP6iKcZSUR/A+qPKCzCXgMXFNA1JxilDwEq35F",
+      "zGN++ehJqdNmOQ1eQScsLwZQa6mC97d+upWdCvyntf1+S6vNcXhtRQpjNM4W37oW",
+      "r5nicsGA3/0rpDEHZW85KlkdWO1uCS/6ftgt8UUMaf5ew3PigzusqymBWTlMOjtW",
+      "uAQXxgZZvkRp+xdspn/uTCAP+bNShGD6Q+TO3U6IjTqHk83sGKCvg2dyU/dqgPr9",
+      "2IIzgQBFGk0W0nM/E83E8hUSwX17COLL3drhPZb4VRMChQ8PAa6u9nIymkX2wSVv",
+      "AgMBAAGjUzBRMB0GA1UdDgQWBBSsZHuY7KK80RrZHp+Gx+k16skuRDAfBgNVHSME",
+      "GDAWgBSsZHuY7KK80RrZHp+Gx+k16skuRDAPBgNVHRMBAf8EBTADAQH/MA0GCSqG",
+      "SIb3DQEBCwUAA4ICAQAE+BLtnu0p8FtK7vrBCRcCdvycWaSFGJUt7r5Nm8TD7sKw",
+      "bWeDLgXrRouyA7n6yt/JqQbXYcxt4MLAM0P6NQd5BlNrrnDk4rBnJiJgejppNE+S",
+      "BazR7Dv0uYcs8kPT4DPpwzv4aJ2aXCBaxYrq8Rx2xOqANCPVOrtPUk9yGpaQ5adU",
+      "GfxkVbpgIEz1c71PeQuK1KUU/Wpk7cpm+FQCizl9ftP2lHWsGhSLCuyWoMTjt68P",
+      "gYEWoV54eo/bzwj2ei6TcfNo+uHyzEiiG2qEvMh/cnYUFzs8O1t0mN19WPB1pSh1",
+      "faci5lGdtkRbLgP0g5RvpagE7Lw3mCc5Om8jmHs4mPfuVkssBVV23CrFpqLLrDX3",
+      "Acwb/zRGvA7T4WESBTJMYFOLgm0W0Y+AN8RcYNU9QbDhe++Te0uz/3Sy3GN2Xg5z",
+      "MxfD1+34x6KvMfCh8NjII2mFQ9ukcfrhcfO3oWDLlwsqlVbhkZxNiUOEIx9nzHcF",
+      "kWpZ2ypBDH45h2o3LyqvGjsu/BFkeG6JpEDCWbClKWcjKxOrLVDufhSDduffDjja",
+      "zOsgQJg0Yf//Ubb5p0c54GjHM/XDXEcV3m3sEtbmMYz6xGwuag4bx8P2E/QY8sFp",
+      "JxgIdS8vdl6YhDCjKJ2XzI30JwCdftgDIAiWSE0ivoDc+8+gG1nb11GT52HFzA==",
+      "-----END CERTIFICATE-----"
+       ],
+  "rgw_frontend_ssl_key": [
+      "-----BEGIN PRIVATE KEY-----",
+      "MIIJQwIBADANBgkqhkiG9w0BAQEFAASCCS0wggkpAgEAAoICAQDKbRiedt0JBG3N",
+      "+82vIrgk2oY9Ga+ocvk6El/1X3c8Y4mB7g9j4mWciQe7dnjqogPLEOTeddxFLX9m",
+      "SAcLZ56hSMw+U6iNwcUWo1E5Tsl1F6JzMEMF7tonw1MtywprkH82pzk1r1S2nNTZ",
+      "pFmyR6SQl2G1Jz29Tb3dEI00xB9Y7eWwx4X8cAiGCuj2PjKgu9mtPcAdmRfhCrEn",
+      "aoITipom3yR7aCXbKhni68rAS681CXv+WVt1eGfOU9pY2uSmZ1oEaH61MuU5iVdd",
+      "BzuB4bfdsb1rxIv65o4NgFWGRVEEMcSl6VAWxeU+OnklZmk+yB/PGKecrYAU2ooM",
+      "puxEwo6Iafw3wmitQ1HoYdHHu4lKtsgi74mbF+FnT2Mc5KC35Ta6puGGT+oinGUl",
+      "EfwPqjygswl4DFxTQNScYpQ8BKt+RcxjfvnoSanTZjkNXkEnLC8GUGupgve3frqV",
+      "nQr8p7X9fkurzXF4bUUKYzTOFt+6Fq+Z4nLBgN/9K6QxB2VvOSpZHVjtbgkv+n7Y",
+      "LfFFDGn+XsNz4oM7rKspgVk5TDo7VrgEF8YGWb5EafsXbKZ/7kwgD/mzUoRg+kPk",
+      "zt1OiI06h5PN7Bigr4NnclP3aoD6/diCM4EARRpNFtJzPxPNxPIVEsF9ewjiy93a",
+      "4T2W+FUTAoUPDwGurvZyMppF9sElbwIDAQABAoICAQC4sATwP563pXTRpNYq3lCI",
+      "P2COyqq70/qUA0PNygYt8Nr60srz5RG0WknVvefgm2U+lvFaDsqjyzkbhsf2ndnb",
+      "aWH/07BLdeluGB/5W2rvDFtJIVVlSmF8OffgJgohzbpjkPrfglKWMkz5LbwwrrD0",
+      "w0mAUIdB+nYqBfnvlKjNKHCSc9hJU6ZTNg0K7gCfKgUWzOpFlvJ0fp7XSZPYZHL0",
+      "2E6e0Y0Ig0cPBPb9r4/xoe+hRsHtUafUVik3PK+1K0K0FurUQ9VkQ2yUEg83F0v8",
+      "Vzht5OuaRVSB+P8O/JtIamfywAY0YOYhepQhjWikwU5UUzhJ+PqNDD87/+g9bA1B",
+      "xC25eoDxThiQlgDmRoH18ZsWDVf9TuJnm4cpxnZYX6ip+BLm/aidT39auZo0Fl+r",
+      "cJxRn0Qlm0Vm4Tc/6ZG6PQWB+Q6CjVFdoxeOvEQcTSuKA6VZBStLmqX++5In1Lmj",
+      "hVr3/aueHiZvXS5bNIdd2IfzatR+nP+uxzM/ryJRvGO2B2XTS00Cvv/lH84BDJYV",
+      "yt1PJIBoM9Dh7aUAHmKNVfRt83xzvcSPZx9VmSzA6wwqCQcO1GJk6keAuxOuligu",
+      "YdSFcfChOg90WvBcl+NzMblLkwrFSBQR7kgG0+dedv+Wkm4xO4T7B4W2G5+VIJKG",
+      "mrEAq6XQMFnfEJzNVg7JUQKCAQEA91eMvphoVVz+cxa4Ew7OokNXk5kSlvmQ8+Ij",
+      "ngFBvniXPZecxVzFEJglSthH5KI2ZqxwF3GJhKjxUihwf6K13Hx54EM7S/qV57ie",
+      "kVeKdAs+SGv+hRk1gQOoPBInbtKGKTni1V8T7iNginLueC/YikFugzv6IxiliBSG",
+      "3R7zjRepOW69aEoCPecx9amU4CkAwgeLJgBloBoqWD8sKM+bl7p5juQCU2sQ9D4/",
+      "kLnpG9+zPRUNjI4sog3L1wql3zthI6/4gf0TNuDhJTZ68vpMSi02pOUkVa0MmVOA",
+      "ex16luIp0BhxG/sUAeoevFL4KqR0CBbyAstbt2E/oPYOWMJ4MwKCAQEA0YMNXY7I",
+      "RNFOmiZ2Wn8kENCyJguqbOMd/li2+ercgp3MaSgTjC5KDFvZqTwXXlrURPu9hcyv",
+      "sJBSjp45g1T1LsUUq8UJgOIQgxykurIstGg33TAR+TN9VUu/xonLQF23GD8M6Vzd",
+      "EcZEVlBY33hgNXw4mRcBPnaoG5FZCBfHOgdBCExoYKW/RNKcmu0q+h9uhDBCbopv",
+      "04ROzw+HW1qc5qvNPR47buZ9+5QdonVK8s2bguMJ0phXwdSxL21wsjIsXyAO9m7w",
+      "qLHOq/hVokM0Fki09Exg4ppB8cLHC2ITpsVSgn4Dcz5zRtyvhozSKX4R9kMC64a0",
+      "AgMPVMllmGlR1QKCAQBIIGCrh7gNBIQyvXJKJGw/RxH3uZCBNB9/7vbh8Y3hZDr+",
+      "PAL8TpQsxaFCVRWJ53+jqy84tuQaKkXM5nv/zEvqEuZbbl+RRW6HVv/udC+srUap",
+      "Scy7tWEz0QQzGDwlhgCXbwjlnccrD2fsl51QsOsdTf1TCZ9ksqA6sXmua4MsJrUz",
+      "SUa0bbh/oraf46bFQ0+0RQzftQftixPEDg/rirbdpQQjlfvTpYoZHzncE0qV1ULo",
+      "UgZUcXU0gH9rovBBy4gFJyB5j3oV67fb6SorRrAOhWbE6QkSbtcYsw/pVuxTqXn1",
+      "89qwBSSNdl8mHa++h5xKa56BEBobvKEYaAhA+9yfAoIBAQDPFEE5n87Cdj7CjhGd",
+      "EN2M4Tmz8QPZ7AHRS85O5pxdXaqUpU/s1jPKU16nrwVJ9WypYkjI3q8oTP3MiQc/",
+      "j9FnENSFkpL6GHdJoB4Rido11myg6spZDVNr4xsCGWATlo1KIceZQHghAV66EWBG",
+      "QKyXMNigN+S64Hz4AomFPjtkV5cnpJ3mKO0MET9IwfIglsCdVzXSHHK7FaLvdeHL",
+      "oZxDQrvxFNiZnKgY6SUBVf1mT2LN06n5xSm4I4md3wXsmzrQKtefK7gihNxJjYLW",
+      "hqYNAIAalwOL9fwIAQTLc30I8S/EWtj+J1O5TpcO3lE7QahvR3yzXsi81Flq7ETG",
+      "iBKhAoIBAGHGpnjrLlCarNk9axh4Dw1OjgEvwPlEqsiWXt2tylLeab0OGC47MmJx",
+      "RmKwgVukMuxkQb8v4ANSRtih7R+E+qXfexjEFYtzh/uaRP1Z7ZrO/oqq0oLbPpsx",
+      "yTSRDL1i5/fgdIlKVH3N4IF7E8Pc3REgYIwLQxYjTdgVHEAM65XegQ2Lkpr4iae3",
+      "hm4IsD2PrsVITrlsLg65XnfcbsCs/OfQ5GuUp+xUBw5e0bQBmsWEiCaCjrq/EHJa",
+      "/oeJRqS7lyGYDC+wiSsE70x4dvu1um2F+V1Jw4LWjhu8Z8dNSXPSf8vLqXGkWAlk",
+      "805lq+iy7Mkhb+dlr4R9WhMWDyGwgYs=",
+      "-----END PRIVATE KEY-----"
+  ]
+}
index 66edfe99f2ac29919dc0a61fbb4926b2839df958..59d94a4c4c0f84c002189fe1031cde27f1ac6d60 100644 (file)
@@ -1,8 +1,8 @@
 [tox]
 envlist = py27, py3, mypy
+skipsdist=true
 
 [testenv]
-skipsdist=true
 skip_install=true
 deps =
   pytest
index 84fcf91d0d926ca5fa9a84c508daf260024cb361..d3dceee2e521192cc999d12c0a07a3f336ea1c40 100644 (file)
@@ -1844,7 +1844,7 @@ int Client::encode_inode_release(Inode *in, MetaRequest *req,
 {
   ldout(cct, 20) << __func__ << " enter(in:" << *in << ", req:" << req
           << " mds:" << mds << ", drop:" << drop << ", unless:" << unless
-          << ", have:" << ", force:" << force << ")" << dendl;
+          << ", force:" << force << ")" << dendl;
   int released = 0;
   auto it = in->caps.find(mds);
   if (it != in->caps.end()) {
@@ -1852,15 +1852,20 @@ int Client::encode_inode_release(Inode *in, MetaRequest *req,
     drop &= ~(in->dirty_caps | get_caps_used(in));
     if ((drop & cap.issued) &&
        !(unless & cap.issued)) {
-      ldout(cct, 25) << "Dropping caps. Initial " << ccap_string(cap.issued) << dendl;
+      ldout(cct, 25) << "dropping caps " << ccap_string(drop) << dendl;
       cap.issued &= ~drop;
       cap.implemented &= ~drop;
       released = 1;
-      ldout(cct, 25) << "Now have: " << ccap_string(cap.issued) << dendl;
     } else {
       released = force;
     }
     if (released) {
+      cap.wanted = in->caps_wanted();
+      if (&cap == in->auth_cap &&
+         !(cap.wanted & CEPH_CAP_ANY_FILE_WR)) {
+       in->requested_max_size = 0;
+       ldout(cct, 25) << "reset requested_max_size due to not wanting any file write cap" << dendl;
+      }
       ceph_mds_request_release rel;
       rel.ino = in->ino;
       rel.cap_id = cap.cap_id;
@@ -3234,13 +3239,16 @@ int Client::get_caps(Inode *in, int need, int want, int *phave, loff_t endoff)
     bool waitfor_commit = false;
 
     if (have & need & CEPH_CAP_FILE_WR) {
-      if (endoff > 0 &&
-         (endoff >= (loff_t)in->max_size ||
-          endoff > (loff_t)(in->size << 1)) &&
-         endoff > (loff_t)in->wanted_max_size) {
-       ldout(cct, 10) << "wanted_max_size " << in->wanted_max_size << " -> " << endoff << dendl;
-       in->wanted_max_size = endoff;
-       check_caps(in, 0);
+      if (endoff > 0) {
+        if ((endoff >= (loff_t)in->max_size ||
+             endoff > (loff_t)(in->size << 1)) &&
+            endoff > (loff_t)in->wanted_max_size) {
+          ldout(cct, 10) << "wanted_max_size " << in->wanted_max_size << " -> " << endoff << dendl;
+          in->wanted_max_size = endoff;
+        }
+        if (in->wanted_max_size > in->max_size &&
+            in->wanted_max_size > in->requested_max_size)
+          check_caps(in, 0);
       }
 
       if (endoff >= 0 && endoff > (loff_t)in->max_size) {
@@ -3424,9 +3432,14 @@ void Client::send_cap(Inode *in, MetaSession *session, Cap *cap,
   m->set_snap_follows(follows);
   cap->wanted = want;
   if (cap == in->auth_cap) {
-    m->set_max_size(in->wanted_max_size);
-    in->requested_max_size = in->wanted_max_size;
-    ldout(cct, 15) << "auth cap, setting max_size = " << in->requested_max_size << dendl;
+    if (want & CEPH_CAP_ANY_FILE_WR) {
+      m->set_max_size(in->wanted_max_size);
+      in->requested_max_size = in->wanted_max_size;
+      ldout(cct, 15) << "auth cap, requesting max_size " << in->requested_max_size << dendl;
+    } else {
+      in->requested_max_size = 0;
+      ldout(cct, 15) << "auth cap, reset requested_max_size due to not wanting any file write cap" << dendl;
+    }
   }
 
   if (!session->flushing_caps_tids.empty())
@@ -4901,8 +4914,10 @@ void Client::handle_cap_import(MetaSession *session, Inode *in, const MConstRef<
   SnapRealm *realm = NULL;
   update_snap_trace(m->snapbl, &realm);
 
+  int issued = m->get_caps();
+  int wanted = m->get_wanted();
   add_update_cap(in, session, m->get_cap_id(),
-                m->get_caps(), m->get_wanted(), m->get_seq(), m->get_mseq(),
+                issued, wanted, m->get_seq(), m->get_mseq(),
                 m->get_realm(), CEPH_CAP_FLAG_AUTH, cap_perms);
   
   if (cap && cap->cap_id == m->peer.cap_id) {
@@ -4913,6 +4928,11 @@ void Client::handle_cap_import(MetaSession *session, Inode *in, const MConstRef<
     put_snap_realm(realm);
   
   if (in->auth_cap && in->auth_cap->session == session) {
+    if (!(wanted & CEPH_CAP_ANY_FILE_WR) ||
+       in->requested_max_size > m->get_max_size()) {
+      in->requested_max_size = 0;
+      ldout(cct, 15) << "reset requested_max_size after cap import" << dendl;
+    }
     // reflush any/all caps (if we are now the auth_cap)
     kick_flushing_caps(in, session);
   }
index e21f27930e115dd0dee57fe30588db20e436d771..3aeda459c1cc441879ee702dd8881533d17a7184 100644 (file)
@@ -85,9 +85,13 @@ public:
   int fd_on_success;
   Client *client;
 
-  struct fuse_chan *ch;
   struct fuse_session *se;
+#if FUSE_VERSION >= FUSE_MAKE_VERSION(3, 0)
+  struct fuse_cmdline_opts opts;
+#else
+  struct fuse_chan *ch;
   char *mountpoint;
+#endif
 
   ceph::mutex stag_lock = ceph::make_mutex("fuse_ll.cc stag_lock");
   int last_stag;
@@ -418,7 +422,11 @@ static void fuse_ll_mkdir(fuse_req_t req, fuse_ino_t parent, const char *name,
   if (cfuse->fino_snap(parent) == CEPH_SNAPDIR &&
       fuse_multithreaded && fuse_syncfs_on_mksnap) {
     int err = 0;
+#if FUSE_VERSION >= FUSE_MAKE_VERSION(3, 0)
+    int fd = ::open(cfuse->opts.mountpoint, O_RDONLY | O_DIRECTORY | O_CLOEXEC);
+#else
     int fd = ::open(cfuse->mountpoint, O_RDONLY | O_DIRECTORY | O_CLOEXEC);
+#endif
     if (fd < 0) {
       err = errno;
     } else {
@@ -504,7 +512,11 @@ static void fuse_ll_symlink(fuse_req_t req, const char *existing,
 }
 
 static void fuse_ll_rename(fuse_req_t req, fuse_ino_t parent, const char *name,
-                          fuse_ino_t newparent, const char *newname)
+                          fuse_ino_t newparent, const char *newname
+#if FUSE_VERSION >= FUSE_MAKE_VERSION(3, 0)
+                           , unsigned int flags
+#endif
+                           )
 {
   CephFuse::Handle *cfuse = fuse_ll_req_prepare(req);
   const struct fuse_ctx *ctx = fuse_req_ctx(req);
@@ -916,8 +928,12 @@ static void ino_invalidate_cb(void *handle, vinodeno_t vino, int64_t off,
 #if FUSE_VERSION >= FUSE_MAKE_VERSION(2, 8)
   CephFuse::Handle *cfuse = (CephFuse::Handle *)handle;
   fuse_ino_t fino = cfuse->make_fake_ino(vino.ino, vino.snapid);
+#if FUSE_VERSION >= FUSE_MAKE_VERSION(3, 0)
+  fuse_lowlevel_notify_inval_inode(cfuse->se, fino, off, len);
+#else
   fuse_lowlevel_notify_inval_inode(cfuse->ch, fino, off, len);
 #endif
+#endif
 }
 
 static void dentry_invalidate_cb(void *handle, vinodeno_t dirino,
@@ -929,7 +945,11 @@ static void dentry_invalidate_cb(void *handle, vinodeno_t dirino,
   fuse_ino_t fino = 0;
   if (ino.ino != inodeno_t())
     fino = cfuse->make_fake_ino(ino.ino, ino.snapid);
+#if FUSE_VERSION >= FUSE_MAKE_VERSION(3, 0)
+  fuse_lowlevel_notify_delete(cfuse->se, fdirino, fino, name.c_str(), name.length());
+#else
   fuse_lowlevel_notify_delete(cfuse->ch, fdirino, fino, name.c_str(), name.length());
+#endif
 #elif FUSE_VERSION >= FUSE_MAKE_VERSION(2, 8)
   fuse_lowlevel_notify_inval_entry(cfuse->ch, fdirino, name.c_str(), name.length());
 #endif
@@ -941,7 +961,12 @@ static int remount_cb(void *handle)
   // trims all unused dentries in the file system
   char cmd[128+PATH_MAX];
   CephFuse::Handle *cfuse = (CephFuse::Handle *)handle;
-  snprintf(cmd, sizeof(cmd), "mount -i -o remount %s", cfuse->mountpoint);
+  snprintf(cmd, sizeof(cmd), "LIBMOUNT_FSTAB=/dev/null mount -i -o remount %s",
+#if FUSE_VERSION >= FUSE_MAKE_VERSION(3, 0)
+                  cfuse->opts.mountpoint);
+#else
+                  cfuse->mountpoint);
+#endif
   int r = system(cmd);
   if (r != 0 && r != -1) {
     r = WEXITSTATUS(r);
@@ -1043,14 +1068,19 @@ const static struct fuse_lowlevel_ops fuse_ll_oper = {
 CephFuse::Handle::Handle(Client *c, int fd) :
   fd_on_success(fd),
   client(c),
-  ch(NULL),
   se(NULL),
+#if FUSE_VERSION < FUSE_MAKE_VERSION(3, 0)
+  ch(NULL),
   mountpoint(NULL),
+#endif
   last_stag(0)
 {
   snap_stag_map[CEPH_NOSNAP] = 0;
   stag_snap_map[0] = CEPH_NOSNAP;
   memset(&args, 0, sizeof(args));
+#if FUSE_VERSION >= FUSE_MAKE_VERSION(3, 0)
+  memset(&opts, 0, sizeof(opts));
+#endif
 }
 
 CephFuse::Handle::~Handle()
@@ -1060,6 +1090,15 @@ CephFuse::Handle::~Handle()
 
 void CephFuse::Handle::finalize()
 {
+#if FUSE_VERSION >= FUSE_MAKE_VERSION(3, 0)
+  if (se) {
+    fuse_remove_signal_handlers(se);
+    fuse_session_unmount(se);
+    fuse_session_destroy(se);
+  }
+  if (opts.mountpoint)
+    free(opts.mountpoint);
+#else
   if (se)
     fuse_remove_signal_handlers(se);
   if (ch)
@@ -1068,6 +1107,7 @@ void CephFuse::Handle::finalize()
     fuse_session_destroy(se);
   if (ch)
     fuse_unmount(mountpoint, ch);
+#endif
 
   pthread_key_delete(fuse_req_key);
 }
@@ -1094,14 +1134,16 @@ int CephFuse::Handle::init(int argc, const char *argv[])
     "fuse_allow_other");
   auto fuse_default_permissions = client->cct->_conf.get_val<bool>(
     "fuse_default_permissions");
+#if FUSE_VERSION < FUSE_MAKE_VERSION(3, 0)
   auto fuse_big_writes = client->cct->_conf.get_val<bool>(
     "fuse_big_writes");
+  auto fuse_max_write = client->cct->_conf.get_val<Option::size_t>(
+    "fuse_max_write");
   auto fuse_atomic_o_trunc = client->cct->_conf.get_val<bool>(
     "fuse_atomic_o_trunc");
+#endif
   auto fuse_debug = client->cct->_conf.get_val<bool>(
     "fuse_debug");
-  auto fuse_max_write = client->cct->_conf.get_val<Option::size_t>(
-    "fuse_max_write");
 
   if (fuse_allow_other) {
     newargv[newargc++] = "-o";
@@ -1112,6 +1154,7 @@ int CephFuse::Handle::init(int argc, const char *argv[])
     newargv[newargc++] = "default_permissions";
   }
 #if defined(__linux__)
+#if FUSE_VERSION < FUSE_MAKE_VERSION(3, 0)
   if (fuse_big_writes) {
     newargv[newargc++] = "-o";
     newargv[newargc++] = "big_writes";
@@ -1127,6 +1170,7 @@ int CephFuse::Handle::init(int argc, const char *argv[])
     newargv[newargc++] = "-o";
     newargv[newargc++] = "atomic_o_trunc";
   }
+#endif
 #endif
   if (fuse_debug)
     newargv[newargc++] = "-d";
@@ -1138,7 +1182,11 @@ int CephFuse::Handle::init(int argc, const char *argv[])
   struct fuse_args a = FUSE_ARGS_INIT(newargc, (char**)newargv);
   args = a;  // Roundabout construction b/c FUSE_ARGS_INIT is for initialization not assignment
 
+#if FUSE_VERSION >= FUSE_MAKE_VERSION(3, 0)
+  if (fuse_parse_cmdline(&args, &opts) == -1) {
+#else
   if (fuse_parse_cmdline(&args, &mountpoint, NULL, NULL) == -1) {
+#endif
     derr << "fuse_parse_cmdline failed." << dendl;
     fuse_opt_free_args(&args);
     free(newargv);
@@ -1152,6 +1200,9 @@ int CephFuse::Handle::init(int argc, const char *argv[])
 
 int CephFuse::Handle::start()
 {
+#if FUSE_VERSION >= FUSE_MAKE_VERSION(3, 0)
+  se = fuse_session_new(&args, &fuse_ll_oper, sizeof(fuse_ll_oper), this);
+#else
   ch = fuse_mount(mountpoint, &args);
   if (!ch) {
     derr << "fuse_mount(mountpoint=" << mountpoint << ") failed." << dendl;
@@ -1159,6 +1210,7 @@ int CephFuse::Handle::start()
   }
 
   se = fuse_lowlevel_new(&args, &fuse_ll_oper, sizeof(fuse_ll_oper), this);
+#endif
   if (!se) {
     derr << "fuse_lowlevel_new failed" << dendl;
     return EDOM;
@@ -1171,7 +1223,14 @@ int CephFuse::Handle::start()
     return ENOSYS;
   }
 
+#if FUSE_VERSION >= FUSE_MAKE_VERSION(3, 0)
+  if (fuse_session_mount(se, opts.mountpoint) != 0) {
+    derr << "fuse_session_mount failed" << dendl;
+    return ENOSYS;
+  }
+#else
   fuse_session_add_chan(se, ch);
+#endif
 
 
   struct client_callback_args args = {
@@ -1197,7 +1256,11 @@ int CephFuse::Handle::loop()
   auto fuse_multithreaded = client->cct->_conf.get_val<bool>(
     "fuse_multithreaded");
   if (fuse_multithreaded) {
+#if FUSE_VERSION >= FUSE_MAKE_VERSION(3, 0)
+    return fuse_session_loop_mt(se, opts.clone_fd);
+#else
     return fuse_session_loop_mt(se);
+#endif
   } else {
     return fuse_session_loop(se);
   }
@@ -1327,8 +1390,13 @@ void CephFuse::finalize()
 
 std::string CephFuse::get_mount_point() const
 {
+#if FUSE_VERSION >= FUSE_MAKE_VERSION(3, 0)
+  if (_handle->opts.mountpoint) {
+    return _handle->opts.mountpoint;
+#else
   if (_handle->mountpoint) {
     return _handle->mountpoint;
+#endif
   } else {
     return "";
   }
index 705936a06d0457386ba4692dd4badac54996ddc7..f82d30c7e469419a06a00e5e0ef2537b91793caf 100644 (file)
@@ -35,6 +35,9 @@ struct ObjectPosition {
             tag_tid == rhs.tag_tid &&
             entry_tid == rhs.entry_tid);
   }
+  inline bool operator!=(const ObjectPosition& rhs) const {
+    return !(*this == rhs);
+  }
 
   void encode(ceph::buffer::list& bl) const;
   void decode(ceph::buffer::list::const_iterator& iter);
index 9071f3457fe5d8d6d1a6ad262a07624f0e3895b7..5f3c40b049f2f312a8d6b6696ef295b88958be70 100644 (file)
@@ -767,10 +767,14 @@ void MirrorSnapshotNamespace::dump(Formatter *f) const {
     f->dump_string("mirror_peer_uuid", peer);
   }
   f->close_section();
-  f->dump_string("primary_mirror_uuid", primary_mirror_uuid);
-  f->dump_unsigned("primary_snap_id", primary_snap_id);
-  f->dump_unsigned("last_copied_object_number", last_copied_object_number);
-  f->dump_stream("snap_seqs") << snap_seqs;
+  if (is_primary()) {
+    f->dump_unsigned("clean_since_snap_id", clean_since_snap_id);
+  } else {
+    f->dump_string("primary_mirror_uuid", primary_mirror_uuid);
+    f->dump_unsigned("primary_snap_id", primary_snap_id);
+    f->dump_unsigned("last_copied_object_number", last_copied_object_number);
+    f->dump_stream("snap_seqs") << snap_seqs;
+  }
 }
 
 class EncodeSnapshotNamespaceVisitor : public boost::static_visitor<void> {
index b2c155eb864a2378101b2e27addd94c742efce73..5ea37caf7d45ceaa93dd3b3b974fc7d84e9d7dde 100644 (file)
@@ -545,7 +545,10 @@ struct MirrorSnapshotNamespace {
   std::set<std::string> mirror_peer_uuids;
 
   std::string primary_mirror_uuid;
-  snapid_t primary_snap_id = CEPH_NOSNAP;
+  union {
+    snapid_t primary_snap_id = CEPH_NOSNAP;
+    snapid_t clean_since_snap_id;
+  };
   uint64_t last_copied_object_number = 0;
   SnapSeqs snap_seqs;
 
index d913032aa56a0af74ee43277a413a890c28b91f9..dfa913ad4a3a0f5ff6bcecaa8134f4881fe071a4 100644 (file)
@@ -5,8 +5,7 @@
 #define CEPH_ASYNC_OP_TRACKER_H
 
 #include "common/ceph_mutex.h"
-
-struct Context;
+#include "include/Context.h"
 
 class AsyncOpTracker {
 public:
@@ -27,4 +26,23 @@ private:
 
 };
 
+class C_TrackedOp : public Context {
+public:
+  C_TrackedOp(AsyncOpTracker& async_op_tracker, Context* on_finish)
+    : m_async_op_tracker(async_op_tracker), m_on_finish(on_finish) {
+    m_async_op_tracker.start_op();
+  }
+
+  void finish(int r) override {
+    if (m_on_finish != nullptr) {
+      m_on_finish->complete(r);
+    }
+    m_async_op_tracker.finish_op();
+  }
+
+private:
+  AsyncOpTracker& m_async_op_tracker;
+  Context* m_on_finish;
+};
+
 #endif // CEPH_ASYNC_OP_TRACKER_H
index 1354b133faed63837662b52d2e7070f3bdd7d051..bb3b3ef393bdbd17046a92c5b92cd172b77ff333 100644 (file)
@@ -3995,8 +3995,9 @@ std::vector<Option> get_global_options() {
     .set_description(""),
 
     Option("bluefs_buffered_io", Option::TYPE_BOOL, Option::LEVEL_ADVANCED)
-    .set_default(true)
-    .set_description(""),
+    .set_default(false)
+    .set_description("Enabled buffered IO for bluefs reads.")
+    .set_long_description("When this option is enabled, bluefs will in some cases perform buffered reads.  This allows the kernel page cache to act as a secondary cache for things like RocksDB compaction.  For example, if the rocksdb block cache isn't large enough to hold blocks from the compressed SST files itself, they can be read from page cache instead of from the disk.  This option previously was enabled by default, however in some test cases it appears to cause excessive swap utilization by the linux kernel and a large negative performance impact after several hours of run time.  Please exercise caution when enabling."),
 
     Option("bluefs_sync_write", Option::TYPE_BOOL, Option::LEVEL_ADVANCED)
     .set_default(false)
@@ -8323,7 +8324,7 @@ std::vector<Option> get_mds_client_options() {
     .set_flag(Option::FLAG_STARTUP),
 
     Option("fuse_big_writes", Option::TYPE_BOOL, Option::LEVEL_ADVANCED)
-    .set_default(false)
+    .set_default(true)
     .set_description("big_writes is deprecated in libfuse 3.0.0"),
 
     Option("fuse_max_write", Option::TYPE_SIZE, Option::LEVEL_ADVANCED)
diff --git a/ceph/src/include/ceph_fuse.h b/ceph/src/include/ceph_fuse.h
new file mode 100644 (file)
index 0000000..4588193
--- /dev/null
@@ -0,0 +1,32 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- 
+// vim: ts=8 sw=2 smarttab
+/*
+ * Ceph - scalable distributed file system
+ *
+ * Copyright (C) 2012 Inktank Storage, Inc.
+ * Copyright (C) 2014 Red Hat <contact@redhat.com>
+ *
+ * This is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software 
+ * Foundation.  See file COPYING.
+ */
+#ifndef CEPH_FUSE_H
+#define CEPH_FUSE_H
+
+#define FUSE_USE_VERSION 30
+#include "acconfig.h"
+#include <fuse.h>
+
+static inline int filler_compat(fuse_fill_dir_t filler,
+                                void *buf, const char *name,
+                                const struct stat *stbuf,
+                                off_t off)
+{
+  return filler(buf, name, stbuf, off
+#if FUSE_VERSION >= FUSE_MAKE_VERSION(3, 0)
+                , static_cast<enum fuse_fill_dir_flags>(0)
+#endif
+        );
+}
+#endif /* CEPH_FUSE_H */
index adb93ad16a1afbd2b37b4497652c4047b2246178..dfd5e923d388132aba3013790e24c6841f6819cb 100644 (file)
@@ -124,7 +124,7 @@ private:
     auto close_fd = make_scope_guard([fd] { ::close(fd); });
     if (auto bl_delta = appender.bl.length() - bl_offset; bl_delta > 0) {
       ceph::bufferlist dump_bl;
-      appender.bl.copy(bl_offset + space_offset, bl_delta - space_offset, dump_bl);
+      appender.bl.begin(bl_offset + space_offset).copy(bl_delta - space_offset, dump_bl);
       const size_t space_len = space_size();
       dump_bl.append(appender.get_pos() - space_len, space_len);
       dump_bl.write_fd(fd);
index 25068dbf4e59c659083d83708ebda0000977ef1c..d85cd36504b66def6c2599dbf1eae7f450f9ab6e 100644 (file)
@@ -292,6 +292,7 @@ enum {
   RBD_IMAGE_OPTION_DATA_POOL = 10,
   RBD_IMAGE_OPTION_FLATTEN = 11,
   RBD_IMAGE_OPTION_CLONE_FORMAT = 12,
+  RBD_IMAGE_OPTION_MIRROR_IMAGE_MODE = 13,
 };
 
 typedef enum {
index 6c9c3387e39dac6cd57c176b9f613ee413bf1d45..daceb4b08cb9db773bd6a865925ed3c6112651bb 100644 (file)
@@ -501,9 +501,6 @@ err:
     return 0;
   }
 
-  int set_cache_capacity(int64_t capacity);
-  int64_t get_cache_capacity();
-
   virtual std::shared_ptr<PriorityCache::PriCache> get_priority_cache() 
       const override {
     return dynamic_pointer_cast<PriorityCache::PriCache>(
index 90fde47b71dbf9dc0ed9a618ae9c5865be15189c..33f1b245befd29697fb1560f6cbfc43664b212a5 100644 (file)
@@ -33,13 +33,13 @@ DeepCopyRequest<I>::DeepCopyRequest(I *src_image_ctx, I *dst_image_ctx,
                                     bool flatten,
                                     const ObjectNumber &object_number,
                                     ContextWQ *work_queue, SnapSeqs *snap_seqs,
-                                    ProgressContext *prog_ctx,
+                                    deep_copy::Handler *handler,
                                     Context *on_finish)
   : RefCountedObject(dst_image_ctx->cct), m_src_image_ctx(src_image_ctx),
     m_dst_image_ctx(dst_image_ctx), m_src_snap_id_start(src_snap_id_start),
     m_src_snap_id_end(src_snap_id_end), m_dst_snap_id_start(dst_snap_id_start),
     m_flatten(flatten), m_object_number(object_number),
-    m_work_queue(work_queue), m_snap_seqs(snap_seqs), m_prog_ctx(prog_ctx),
+    m_work_queue(work_queue), m_snap_seqs(snap_seqs), m_handler(handler),
     m_on_finish(on_finish), m_cct(dst_image_ctx->cct),
     m_lock(ceph::make_mutex(unique_lock_name("DeepCopyRequest::m_lock", this))) {
 }
@@ -158,7 +158,7 @@ void DeepCopyRequest<I>::send_copy_image() {
     DeepCopyRequest<I>, &DeepCopyRequest<I>::handle_copy_image>(this);
   m_image_copy_request = ImageCopyRequest<I>::create(
     m_src_image_ctx, m_dst_image_ctx, m_src_snap_id_start, m_src_snap_id_end,
-    m_dst_snap_id_start, m_flatten, m_object_number, *m_snap_seqs, m_prog_ctx,
+    m_dst_snap_id_start, m_flatten, m_object_number, *m_snap_seqs, m_handler,
     ctx);
   m_image_copy_request->get();
   m_lock.unlock();
index 0348246e72249d5a05786980391cf7a7295362ae..201c86f700fe1c45cf61a435b0a8f7ccbbee27d9 100644 (file)
@@ -24,6 +24,7 @@ namespace deep_copy {
 
 template <typename> class ImageCopyRequest;
 template <typename> class SnapshotCopyRequest;
+struct Handler;
 
 }
 
@@ -39,11 +40,11 @@ public:
                                  const deep_copy::ObjectNumber &object_number,
                                  ContextWQ *work_queue,
                                  SnapSeqs *snap_seqs,
-                                 ProgressContext *prog_ctx,
+                                 deep_copy::Handler *handler,
                                  Context *on_finish) {
     return new DeepCopyRequest(src_image_ctx, dst_image_ctx, src_snap_id_start,
                                src_snap_id_end, dst_snap_id_start, flatten,
-                               object_number, work_queue, snap_seqs, prog_ctx,
+                               object_number, work_queue, snap_seqs, handler,
                                on_finish);
   }
 
@@ -53,7 +54,7 @@ public:
                   librados::snap_t dst_snap_id_start,
                   bool flatten, const deep_copy::ObjectNumber &object_number,
                   ContextWQ *work_queue, SnapSeqs *snap_seqs,
-                  ProgressContext *prog_ctx, Context *on_finish);
+                  deep_copy::Handler *handler, Context *on_finish);
   ~DeepCopyRequest();
 
   void send();
@@ -98,7 +99,7 @@ private:
   deep_copy::ObjectNumber m_object_number;
   ContextWQ *m_work_queue;
   SnapSeqs *m_snap_seqs;
-  ProgressContext *m_prog_ctx;
+  deep_copy::Handler *m_handler;
   Context *m_on_finish;
 
   CephContext *m_cct;
index 7b7be14acf1c41ea770f2398feeff36dde5e31fc..6b95ac696bcb97a09d7ba1d1bd8151c39d292c85 100644 (file)
@@ -16,6 +16,7 @@
 #include "librbd/Utils.h"
 #include "librbd/api/Config.h"
 #include "librbd/api/Trash.h"
+#include "librbd/deep_copy/Handler.h"
 #include "librbd/image/CloneRequest.h"
 #include "librbd/image/RemoveRequest.h"
 #include "librbd/image/PreRemoveRequest.h"
@@ -679,9 +680,10 @@ int Image<I>::deep_copy(I *src, I *dest, bool flatten,
 
   C_SaferCond cond;
   SnapSeqs snap_seqs;
-  auto req = DeepCopyRequest<I>::create(src, dest, snap_id_start, snap_id_end,
-                                        0U, flatten, boost::none, op_work_queue,
-                                        &snap_seqs, &prog_ctx, &cond);
+  deep_copy::ProgressHandler progress_handler{&prog_ctx};
+  auto req = DeepCopyRequest<I>::create(
+    src, dest, snap_id_start, snap_id_end, 0U, flatten, boost::none, op_work_queue,
+    &snap_seqs, &progress_handler, &cond);
   req->send();
   int r = cond.wait();
   if (r < 0) {
index f776ab7d024b113c93dc99e117e7755c4f57841f..a5c22418293932fc3504e6f675c8c5ff0b6caa8a 100644 (file)
@@ -29,6 +29,7 @@
 #include "librbd/image/DetachParentRequest.h"
 #include "librbd/image/ListWatchersRequest.h"
 #include "librbd/image/RemoveRequest.h"
+#include "librbd/image/Types.h"
 #include "librbd/internal.h"
 #include "librbd/io/ImageRequestWQ.h"
 #include "librbd/mirror/DisableRequest.h"
@@ -1226,13 +1227,22 @@ int Migration<I>::create_dst_image() {
   ConfigProxy config{m_cct->_conf};
   api::Config<I>::apply_pool_overrides(m_dst_io_ctx, &config);
 
+  uint64_t mirror_image_mode;
+  if (m_image_options.get(RBD_IMAGE_OPTION_MIRROR_IMAGE_MODE,
+                          &mirror_image_mode) == 0) {
+    m_mirroring = true;
+    m_mirror_image_mode = static_cast<cls::rbd::MirrorImageMode>(
+      mirror_image_mode);
+    m_image_options.unset(RBD_IMAGE_OPTION_MIRROR_IMAGE_MODE);
+  }
+
   int r;
   C_SaferCond on_create;
   librados::IoCtx parent_io_ctx;
   if (parent_spec.pool_id == -1) {
     auto *req = image::CreateRequest<I>::create(
       config, m_dst_io_ctx, m_dst_image_name, m_dst_image_id, size,
-      m_image_options, true /* skip_mirror_enable */,
+      m_image_options, image::CREATE_FLAG_SKIP_MIRROR_ENABLE,
       cls::rbd::MIRROR_IMAGE_MODE_JOURNAL, "", "", op_work_queue, &on_create);
     req->send();
   } else {
@@ -1495,7 +1505,7 @@ int Migration<I>::enable_mirroring(
 
   C_SaferCond ctx;
   auto req = mirror::EnableRequest<I>::create(
-    image_ctx, mirror_image_mode, &ctx);
+    image_ctx, mirror_image_mode, "", false, &ctx);
   req->send();
   r = ctx.wait();
   if (r < 0) {
index 304611dd9e01f11be705930e1fa35ac212522be9..ce92b854274418ebcfb04b0895fcd8508d7d2cda 100644 (file)
@@ -415,7 +415,7 @@ int Mirror<I>::image_enable(I *ictx, mirror_image_mode_t mode,
 
   C_SaferCond ctx;
   auto req = mirror::EnableRequest<ImageCtx>::create(
-    ictx, static_cast<cls::rbd::MirrorImageMode>(mode), &ctx);
+    ictx, static_cast<cls::rbd::MirrorImageMode>(mode), "", false, &ctx);
   req->send();
 
   r = ctx.wait();
@@ -669,21 +669,33 @@ void Mirror<I>::image_demote(I *ictx, Context *on_finish) {
   CephContext *cct = ictx->cct;
   ldout(cct, 20) << "ictx=" << ictx << dendl;
 
-  auto on_refresh = new LambdaContext([ictx, on_finish](int r) {
+  auto on_cleanup = new LambdaContext([ictx, on_finish](int r) {
+      ictx->image_lock.lock();
+      ictx->read_only_mask |= IMAGE_READ_ONLY_FLAG_NON_PRIMARY;
+      ictx->image_lock.unlock();
+
+      ictx->state->handle_update_notification();
+
+      on_finish->complete(r);
+    });
+  auto on_refresh = new LambdaContext([ictx, on_cleanup](int r) {
       if (r < 0) {
         lderr(ictx->cct) << "refresh failed: " << cpp_strerror(r) << dendl;
-        on_finish->complete(r);
+        on_cleanup->complete(r);
         return;
       }
 
-      auto req = mirror::DemoteRequest<>::create(*ictx, on_finish);
+      auto req = mirror::DemoteRequest<>::create(*ictx, on_cleanup);
       req->send();
     });
-  if (ictx->state->is_refresh_required()) {
-    ictx->state->refresh(on_refresh);
-  } else {
-    on_refresh->complete(0);
-  }
+
+  // ensure we can create a snapshot after setting the non-primary
+  // feature bit
+  ictx->image_lock.lock();
+  ictx->read_only_mask &= ~IMAGE_READ_ONLY_FLAG_NON_PRIMARY;
+  ictx->image_lock.unlock();
+
+  ictx->state->refresh(on_refresh);
 }
 
 template <typename I>
@@ -1474,7 +1486,7 @@ int Mirror<I>::peer_site_add(librados::IoCtx& io_ctx, std::string *uuid,
     if (r == -ESTALE) {
       ldout(cct, 5) << "duplicate UUID detected, retrying" << dendl;
     } else if (r < 0) {
-      lderr(cct) << "failed to add mirror peer '" << uuid << "': "
+      lderr(cct) << "failed to add mirror peer '" << site_name << "': "
                  << cpp_strerror(r) << dendl;
       return r;
     }
@@ -1985,7 +1997,7 @@ int Mirror<I>::image_snapshot_create(I *ictx, uint64_t *snap_id) {
 
   C_SaferCond on_finish;
   auto req = mirror::snapshot::CreatePrimaryRequest<I>::create(
-    ictx, mirror_image.global_image_id, 0U, snap_id, &on_finish);
+    ictx, mirror_image.global_image_id, CEPH_NOSNAP, 0U, snap_id, &on_finish);
   req->send();
   return on_finish.wait();
 }
index 720be6f55aa97c22a53f0dd567db5019b2578155..df1277b5f82ae64479a0a714643ca459e6ce22f3 100644 (file)
@@ -95,8 +95,8 @@ int enable_mirroring(IoCtx &io_ctx, const std::string &image_id) {
   ImageCtx::get_thread_pool_instance(cct, &thread_pool, &op_work_queue);
   C_SaferCond ctx;
   auto req = mirror::EnableRequest<I>::create(
-    io_ctx, image_id, cls::rbd::MIRROR_IMAGE_MODE_JOURNAL, "", op_work_queue,
-    &ctx);
+    io_ctx, image_id, cls::rbd::MIRROR_IMAGE_MODE_JOURNAL, "", false,
+    op_work_queue, &ctx);
   req->send();
   r = ctx.wait();
   if (r < 0) {
diff --git a/ceph/src/librbd/deep_copy/Handler.h b/ceph/src/librbd/deep_copy/Handler.h
new file mode 100644 (file)
index 0000000..fea553e
--- /dev/null
@@ -0,0 +1,50 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
+// vim: ts=8 sw=2 smarttab
+
+#ifndef CEPH_LIBRBD_DEEP_COPY_HANDLER_H
+#define CEPH_LIBRBD_DEEP_COPY_HANDLER_H
+
+#include "include/int_types.h"
+#include "include/rbd/librbd.hpp"
+
+namespace librbd {
+namespace deep_copy {
+
+struct Handler {
+  virtual ~Handler() {}
+
+  virtual void handle_read(uint64_t bytes_read) = 0;
+
+  virtual int update_progress(uint64_t object_number,
+                              uint64_t object_count) = 0;
+};
+
+struct NoOpHandler : public Handler {
+  void handle_read(uint64_t bytes_read) override {
+  }
+
+  int update_progress(uint64_t object_number,
+                      uint64_t object_count) override {
+    return 0;
+  }
+};
+
+class ProgressHandler : public NoOpHandler {
+public:
+  ProgressHandler(ProgressContext* progress_ctx)
+    : m_progress_ctx(progress_ctx) {
+  }
+
+  int update_progress(uint64_t object_number,
+                      uint64_t object_count) override {
+    return m_progress_ctx->update_progress(object_number, object_count);
+  }
+
+private:
+  librbd::ProgressContext* m_progress_ctx;
+};
+
+} // namespace deep_copy
+} // namespace librbd
+
+#endif // CEPH_LIBRBD_DEEP_COPY_HANDLER_H
index 09d51169f1a3b409233537d5c7d1e0b13c0962ef..739e55c33ccc240890434c5f1a962e8efc740e07 100644 (file)
@@ -5,6 +5,7 @@
 #include "ObjectCopyRequest.h"
 #include "common/errno.h"
 #include "librbd/Utils.h"
+#include "librbd/deep_copy/Handler.h"
 #include "librbd/deep_copy/Utils.h"
 #include "librbd/image/CloseRequest.h"
 #include "librbd/image/OpenRequest.h"
@@ -30,13 +31,13 @@ ImageCopyRequest<I>::ImageCopyRequest(I *src_image_ctx, I *dst_image_ctx,
                                       bool flatten,
                                       const ObjectNumber &object_number,
                                       const SnapSeqs &snap_seqs,
-                                      ProgressContext *prog_ctx,
+                                      Handler *handler,
                                       Context *on_finish)
   : RefCountedObject(dst_image_ctx->cct), m_src_image_ctx(src_image_ctx),
     m_dst_image_ctx(dst_image_ctx), m_src_snap_id_start(src_snap_id_start),
     m_src_snap_id_end(src_snap_id_end), m_dst_snap_id_start(dst_snap_id_start),
     m_flatten(flatten), m_object_number(object_number), m_snap_seqs(snap_seqs),
-    m_prog_ctx(prog_ctx), m_on_finish(on_finish), m_cct(dst_image_ctx->cct),
+    m_handler(handler), m_on_finish(on_finish), m_cct(dst_image_ctx->cct),
     m_lock(ceph::make_mutex(unique_lock_name("ImageCopyRequest::m_lock", this))) {
 }
 
@@ -161,9 +162,9 @@ int ImageCopyRequest<I>::send_next_object_copy() {
     [this, ono](int r) {
       handle_object_copy(ono, r);
     });
-  ObjectCopyRequest<I> *req = ObjectCopyRequest<I>::create(
+  auto req = ObjectCopyRequest<I>::create(
     m_src_image_ctx, m_dst_image_ctx, m_src_snap_id_start, m_dst_snap_id_start,
-    m_snap_map, ono, m_flatten, ctx);
+    m_snap_map, ono, m_flatten, m_handler, ctx);
   req->send();
   return 0;
 }
@@ -193,7 +194,7 @@ void ImageCopyRequest<I>::handle_object_copy(uint64_t object_no, int r) {
         uint64_t progress_object_no = *m_object_number + 1;
         m_updating_progress = true;
         m_lock.unlock();
-        m_prog_ctx->update_progress(progress_object_no, m_end_object_no);
+        m_handler->update_progress(progress_object_no, m_end_object_no);
         m_lock.lock();
         ceph_assert(m_updating_progress);
         m_updating_progress = false;
index 45967fdaf2a548378b2b3c2617de00b1e74f6666..63b4bf3daaf4e77188d36e6b33a68a201d99ec82 100644 (file)
@@ -22,10 +22,11 @@ class Context;
 namespace librbd {
 
 class ImageCtx;
-class ProgressContext;
 
 namespace deep_copy {
 
+class Handler;
+
 template <typename ImageCtxT = ImageCtx>
 class ImageCopyRequest : public RefCountedObject {
 public:
@@ -37,11 +38,11 @@ public:
                                   bool flatten,
                                   const ObjectNumber &object_number,
                                   const SnapSeqs &snap_seqs,
-                                  ProgressContext *prog_ctx,
+                                  Handler *handler,
                                   Context *on_finish) {
     return new ImageCopyRequest(src_image_ctx, dst_image_ctx, src_snap_id_start,
                                 src_snap_id_end, dst_snap_id_start, flatten,
-                                object_number, snap_seqs, prog_ctx, on_finish);
+                                object_number, snap_seqs, handler, on_finish);
   }
 
   ImageCopyRequest(ImageCtxT *src_image_ctx, ImageCtxT *dst_image_ctx,
@@ -49,7 +50,7 @@ public:
                    librados::snap_t src_snap_id_end,
                    librados::snap_t dst_snap_id_start,
                    bool flatten, const ObjectNumber &object_number,
-                   const SnapSeqs &snap_seqs, ProgressContext *prog_ctx,
+                   const SnapSeqs &snap_seqs, Handler *handler,
                    Context *on_finish);
 
   void send();
@@ -83,7 +84,7 @@ private:
   bool m_flatten;
   ObjectNumber m_object_number;
   SnapSeqs m_snap_seqs;
-  ProgressContext *m_prog_ctx;
+  Handler *m_handler;
   Context *m_on_finish;
 
   CephContext *m_cct;
index 23f31bae64ea8d463e27e9ece8c17d4efa2b9448..4e8d23d53fb6af103e1f258e5c7eeef3e7649496 100644 (file)
@@ -7,6 +7,7 @@
 #include "librbd/ExclusiveLock.h"
 #include "librbd/ObjectMap.h"
 #include "librbd/Utils.h"
+#include "librbd/deep_copy/Handler.h"
 #include "librbd/io/AioCompletion.h"
 #include "librbd/io/AsyncOperation.h"
 #include "librbd/io/ImageRequest.h"
@@ -47,13 +48,14 @@ ObjectCopyRequest<I>::ObjectCopyRequest(I *src_image_ctx,
                                         librados::snap_t dst_snap_id_start,
                                         const SnapMap &snap_map,
                                         uint64_t dst_object_number,
-                                        bool flatten, Context *on_finish)
+                                        bool flatten, Handler* handler,
+                                        Context *on_finish)
   : m_src_image_ctx(src_image_ctx),
     m_dst_image_ctx(dst_image_ctx), m_cct(dst_image_ctx->cct),
     m_src_snap_id_start(src_snap_id_start),
     m_dst_snap_id_start(dst_snap_id_start), m_snap_map(snap_map),
     m_dst_object_number(dst_object_number), m_flatten(flatten),
-    m_on_finish(on_finish) {
+    m_handler(handler), m_on_finish(on_finish) {
   ceph_assert(src_image_ctx->data_ctx.is_valid());
   ceph_assert(dst_image_ctx->data_ctx.is_valid());
   ceph_assert(!m_snap_map.empty());
@@ -222,6 +224,16 @@ void ObjectCopyRequest<I>::handle_read_object(int r) {
     return;
   }
 
+  if (m_handler != nullptr) {
+    uint64_t bytes_read = 0;
+
+    auto index = *m_read_snaps.begin();
+    for (auto &copy_op : m_read_ops[index]) {
+      bytes_read += copy_op.out_bl.length();
+    }
+    m_handler->handle_read(bytes_read);
+  }
+
   ceph_assert(!m_read_snaps.empty());
   m_read_snaps.erase(m_read_snaps.begin());
 
index 20f3ea37b252d50e2e0de236996b9cb3d3c96c3d..5d57a8b32c222c7ef8018a875f6b782f0d13328c 100644 (file)
@@ -24,6 +24,8 @@ namespace io { class AsyncOperation; }
 
 namespace deep_copy {
 
+struct Handler;
+
 template <typename ImageCtxT = librbd::ImageCtx>
 class ObjectCopyRequest {
 public:
@@ -33,16 +35,17 @@ public:
                                    librados::snap_t dst_snap_id_start,
                                    const SnapMap &snap_map,
                                    uint64_t object_number, bool flatten,
-                                   Context *on_finish) {
+                                   Handler* handler, Context *on_finish) {
     return new ObjectCopyRequest(src_image_ctx, dst_image_ctx,
                                  src_snap_id_start, dst_snap_id_start, snap_map,
-                                 object_number, flatten, on_finish);
+                                 object_number, flatten, handler, on_finish);
   }
 
   ObjectCopyRequest(ImageCtxT *src_image_ctx, ImageCtxT *dst_image_ctx,
                     librados::snap_t src_snap_id_start,
                     librados::snap_t dst_snap_id_start, const SnapMap &snap_map,
-                    uint64_t object_number, bool flatten, Context *on_finish);
+                    uint64_t object_number, bool flatten, Handler* handler,
+                    Context *on_finish);
 
   void send();
 
@@ -145,6 +148,7 @@ private:
   SnapMap m_snap_map;
   uint64_t m_dst_object_number;
   bool m_flatten;
+  Handler* m_handler;
   Context *m_on_finish;
 
   decltype(m_src_image_ctx->data_ctx) m_src_io_ctx;
index 0de9f78afa4dd473af8cde1f2eac1ee9d439aa8e..18c9929fda89e1244a2428ae2b890e2a4a6dd620 100644 (file)
@@ -14,6 +14,7 @@
 #include "librbd/image/CloneRequest.h"
 #include "librbd/image/CreateRequest.h"
 #include "librbd/image/RemoveRequest.h"
+#include "librbd/image/Types.h"
 #include "librbd/mirror/EnableRequest.h"
 
 #define dout_subsys ceph_subsys_rbd
@@ -285,8 +286,9 @@ void CloneRequest<I>::create_child() {
   Context *ctx = create_context_callback<
     klass, &klass::handle_create_child>(this);
 
-  CreateRequest<I> *req = CreateRequest<I>::create(
-    m_config, m_ioctx, m_name, m_id, m_size, m_opts, true,
+  auto req = CreateRequest<I>::create(
+    m_config, m_ioctx, m_name, m_id, m_size, m_opts,
+    image::CREATE_FLAG_SKIP_MIRROR_ENABLE,
     cls::rbd::MIRROR_IMAGE_MODE_JOURNAL, m_non_primary_global_image_id,
     m_primary_mirror_uuid, m_op_work_queue, ctx);
   req->send();
@@ -424,9 +426,16 @@ template <typename I>
 void CloneRequest<I>::get_mirror_mode() {
   ldout(m_cct, 15) << dendl;
 
+  uint64_t mirror_image_mode;
   if (!m_non_primary_global_image_id.empty()) {
     enable_mirror();
     return;
+  } else if (m_opts.get(RBD_IMAGE_OPTION_MIRROR_IMAGE_MODE,
+                        &mirror_image_mode) == 0) {
+    m_mirror_image_mode = static_cast<cls::rbd::MirrorImageMode>(
+      mirror_image_mode);
+    enable_mirror();
+    return;
   } else if (!m_imctx->test_features(RBD_FEATURE_JOURNALING)) {
     close_child();
     return;
@@ -459,6 +468,7 @@ void CloneRequest<I>::handle_get_mirror_mode(int r) {
 
     m_r_saved = r;
   } else if (m_mirror_mode == cls::rbd::MIRROR_MODE_POOL) {
+    m_mirror_image_mode = cls::rbd::MIRROR_IMAGE_MODE_JOURNAL;
     enable_mirror();
     return;
   }
@@ -474,8 +484,7 @@ void CloneRequest<I>::enable_mirror() {
   Context *ctx = create_context_callback<
     klass, &klass::handle_enable_mirror>(this);
   auto req = mirror::EnableRequest<I>::create(
-    m_imctx->md_ctx, m_id, m_mirror_image_mode, m_non_primary_global_image_id,
-    m_imctx->op_work_queue, ctx);
+    m_imctx, m_mirror_image_mode, m_non_primary_global_image_id, true, ctx);
   req->send();
 }
 
index 175565223c7e2a8763ca3a77b80cde621cd70e15..83c75141cc0d0b8c2b8b9f0cd904bb26bf41b0f9 100644 (file)
@@ -12,6 +12,7 @@
 #include "librbd/Journal.h"
 #include "librbd/ObjectMap.h"
 #include "librbd/Utils.h"
+#include "librbd/image/Types.h"
 #include "librbd/image/ValidatePoolRequest.h"
 #include "librbd/journal/CreateRequest.h"
 #include "librbd/journal/RemoveRequest.h"
@@ -114,13 +115,13 @@ CreateRequest<I>::CreateRequest(const ConfigProxy& config, IoCtx &ioctx,
                                 const std::string &image_name,
                                 const std::string &image_id, uint64_t size,
                                 const ImageOptions &image_options,
-                                bool skip_mirror_enable,
+                                uint32_t create_flags,
                                 cls::rbd::MirrorImageMode mirror_image_mode,
                                 const std::string &non_primary_global_image_id,
                                 const std::string &primary_mirror_uuid,
                                 ContextWQ *op_work_queue, Context *on_finish)
   : m_config(config), m_image_name(image_name), m_image_id(image_id),
-    m_size(size), m_skip_mirror_enable(skip_mirror_enable),
+    m_size(size), m_create_flags(create_flags),
     m_mirror_image_mode(mirror_image_mode),
     m_non_primary_global_image_id(non_primary_global_image_id),
     m_primary_mirror_uuid(primary_mirror_uuid),
@@ -132,7 +133,10 @@ CreateRequest<I>::CreateRequest(const ConfigProxy& config, IoCtx &ioctx,
   m_id_obj = util::id_obj_name(m_image_name);
   m_header_obj = util::header_name(m_image_id);
   m_objmap_name = ObjectMap<>::object_map_name(m_image_id, CEPH_NOSNAP);
-  m_force_non_primary = !non_primary_global_image_id.empty();
+  if (!non_primary_global_image_id.empty() &&
+      (m_create_flags & CREATE_FLAG_MIRROR_ENABLE_MASK) == 0) {
+    m_create_flags |= CREATE_FLAG_FORCE_MIRROR_ENABLE;
+  }
 
   if (image_options.get(RBD_IMAGE_OPTION_FEATURES, &m_features) != 0) {
     m_features = librbd::rbd_features_from_string(
@@ -602,7 +606,7 @@ void CreateRequest<I>::journal_create() {
   // only link to remote primary mirror uuid if in journal-based
   // mirroring mode
   bool use_primary_mirror_uuid = (
-    m_force_non_primary &&
+    !m_non_primary_global_image_id.empty() &&
     m_mirror_image_mode == cls::rbd::MIRROR_IMAGE_MODE_JOURNAL);
 
   librbd::journal::TagData tag_data;
@@ -634,8 +638,11 @@ void CreateRequest<I>::handle_journal_create(int r) {
 
 template<typename I>
 void CreateRequest<I>::mirror_image_enable() {
-  if (((m_mirror_mode != cls::rbd::MIRROR_MODE_POOL) && !m_force_non_primary) ||
-      m_skip_mirror_enable) {
+  auto mirror_enable_flag = (m_create_flags & CREATE_FLAG_MIRROR_ENABLE_MASK);
+
+  if ((m_mirror_mode != cls::rbd::MIRROR_MODE_POOL &&
+       mirror_enable_flag != CREATE_FLAG_FORCE_MIRROR_ENABLE) ||
+      (mirror_enable_flag == CREATE_FLAG_SKIP_MIRROR_ENABLE)) {
     complete(0);
     return;
   }
@@ -646,7 +653,7 @@ void CreateRequest<I>::mirror_image_enable() {
 
   auto req = mirror::EnableRequest<I>::create(
     m_io_ctx, m_image_id, m_mirror_image_mode,
-    m_non_primary_global_image_id, m_op_work_queue, ctx);
+    m_non_primary_global_image_id, true, m_op_work_queue, ctx);
   req->send();
 }
 
index 5a7bdac03e89186bbda407c53ea2c6be00c3ffd5..ce924e34ae31c5de22d337d2d24f5b43feae5cbf 100644 (file)
@@ -29,13 +29,13 @@ public:
                                const std::string &image_name,
                                const std::string &image_id, uint64_t size,
                                const ImageOptions &image_options,
-                               bool skip_mirror_enable,
+                               uint32_t create_flags,
                                cls::rbd::MirrorImageMode mirror_image_mode,
                                const std::string &non_primary_global_image_id,
                                const std::string &primary_mirror_uuid,
                                ContextWQ *op_work_queue, Context *on_finish) {
     return new CreateRequest(config, ioctx, image_name, image_id, size,
-                             image_options, skip_mirror_enable,
+                             image_options, create_flags,
                              mirror_image_mode, non_primary_global_image_id,
                              primary_mirror_uuid, op_work_queue, on_finish);
   }
@@ -91,7 +91,7 @@ private:
                 const std::string &image_name,
                 const std::string &image_id, uint64_t size,
                 const ImageOptions &image_options,
-                bool skip_mirror_enable,
+                uint32_t create_flags,
                 cls::rbd::MirrorImageMode mirror_image_mode,
                 const std::string &non_primary_global_image_id,
                 const std::string &primary_mirror_uuid,
@@ -112,7 +112,7 @@ private:
   std::string m_journal_pool;
   std::string m_data_pool;
   int64_t m_data_pool_id = -1;
-  bool m_skip_mirror_enable;
+  uint32_t m_create_flags;
   cls::rbd::MirrorImageMode m_mirror_image_mode;
   const std::string m_non_primary_global_image_id;
   const std::string m_primary_mirror_uuid;
@@ -123,7 +123,6 @@ private:
 
   CephContext *m_cct;
   int m_r_saved = 0;  // used to return actual error after cleanup
-  bool m_force_non_primary;
   file_layout_t m_layout;
   std::string m_id_obj, m_header_obj, m_objmap_name;
 
diff --git a/ceph/src/librbd/image/Types.h b/ceph/src/librbd/image/Types.h
new file mode 100644 (file)
index 0000000..44c66e2
--- /dev/null
@@ -0,0 +1,20 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
+// vim: ts=8 sw=2 smarttab
+
+#ifndef LIBRBD_IMAGE_TYPES_H
+#define LIBRBD_IMAGE_TYPES_H
+
+namespace librbd {
+namespace image {
+
+enum {
+  CREATE_FLAG_SKIP_MIRROR_ENABLE  = 1 << 0,
+  CREATE_FLAG_FORCE_MIRROR_ENABLE = 1 << 1,
+  CREATE_FLAG_MIRROR_ENABLE_MASK = (CREATE_FLAG_SKIP_MIRROR_ENABLE |
+                                    CREATE_FLAG_FORCE_MIRROR_ENABLE),
+};
+
+} // namespace image
+} // librbd
+
+#endif // LIBRBD_IMAGE_TYPES_H
index a68405ae26e62e881a7d99dec187f06d43665998..f4350c8ad27d9085abfcad926fe6ee2971cd4256 100644 (file)
@@ -40,6 +40,7 @@
 #include "librbd/image/CloneRequest.h"
 #include "librbd/image/CreateRequest.h"
 #include "librbd/image/GetMetadataRequest.h"
+#include "librbd/image/Types.h"
 #include "librbd/io/AioCompletion.h"
 #include "librbd/io/ImageRequest.h"
 #include "librbd/io/ImageRequestWQ.h"
@@ -310,6 +311,7 @@ int validate_pool(IoCtx &io_ctx, CephContext *cct) {
     {RBD_IMAGE_OPTION_DATA_POOL, STR},
     {RBD_IMAGE_OPTION_FLATTEN, UINT64},
     {RBD_IMAGE_OPTION_CLONE_FORMAT, UINT64},
+    {RBD_IMAGE_OPTION_MIRROR_IMAGE_MODE, UINT64},
   };
 
   std::string image_option_name(int optname) {
@@ -340,6 +342,8 @@ int validate_pool(IoCtx &io_ctx, CephContext *cct) {
       return "flatten";
     case RBD_IMAGE_OPTION_CLONE_FORMAT:
       return "clone_format";
+    case RBD_IMAGE_OPTION_MIRROR_IMAGE_MODE:
+      return "mirror_image_mode";
     default:
       return "unknown (" + stringify(optname) + ")";
     }
@@ -687,11 +691,20 @@ int validate_pool(IoCtx &io_ctx, CephContext *cct) {
       ConfigProxy config{cct->_conf};
       api::Config<>::apply_pool_overrides(io_ctx, &config);
 
+      uint32_t create_flags = 0U;
+      uint64_t mirror_image_mode = RBD_MIRROR_IMAGE_MODE_JOURNAL;
+      if (skip_mirror_enable) {
+        create_flags = image::CREATE_FLAG_SKIP_MIRROR_ENABLE;
+      } else if (opts.get(RBD_IMAGE_OPTION_MIRROR_IMAGE_MODE,
+                          &mirror_image_mode) == 0) {
+        create_flags = image::CREATE_FLAG_FORCE_MIRROR_ENABLE;
+      }
+
       C_SaferCond cond;
       image::CreateRequest<> *req = image::CreateRequest<>::create(
-        config, io_ctx, image_name, id, size, opts, skip_mirror_enable,
-        cls::rbd::MIRROR_IMAGE_MODE_JOURNAL, non_primary_global_image_id,
-        primary_mirror_uuid, op_work_queue, &cond);
+        config, io_ctx, image_name, id, size, opts, create_flags,
+        static_cast<cls::rbd::MirrorImageMode>(mirror_image_mode),
+        non_primary_global_image_id, primary_mirror_uuid, op_work_queue, &cond);
       req->send();
 
       r = cond.wait();
index 066d15f4eaa17f04e2c150e2d965c57d00a54a01..94b80ecca1e86e8f95e79209db9e9dbe62f2ae35 100644 (file)
@@ -241,7 +241,7 @@ void CopyupRequest<I>::deep_copy() {
     CopyupRequest<I>, &CopyupRequest<I>::handle_deep_copy>(this);
   auto req = deep_copy::ObjectCopyRequest<I>::create(
     m_image_ctx->parent, m_image_ctx, 0, 0,
-    m_image_ctx->migration_info.snap_map, m_object_no, m_flatten, ctx);
+    m_image_ctx->migration_info.snap_map, m_object_no, m_flatten, nullptr, ctx);
 
   req->send();
 }
index c2cbbbd322c7facfc1f5b453437bac3fe26de450..cd276fdfe852a05e7e355abea9a68594b63736f5 100644 (file)
@@ -28,10 +28,12 @@ EnableRequest<I>::EnableRequest(librados::IoCtx &io_ctx,
                                 I* image_ctx,
                                 cls::rbd::MirrorImageMode mode,
                                 const std::string &non_primary_global_image_id,
-                                ContextWQ *op_work_queue, Context *on_finish)
+                                bool image_clean, ContextWQ *op_work_queue,
+                                Context *on_finish)
   : m_io_ctx(io_ctx), m_image_id(image_id), m_image_ctx(image_ctx),
     m_mode(mode), m_non_primary_global_image_id(non_primary_global_image_id),
-    m_op_work_queue(op_work_queue), m_on_finish(on_finish),
+    m_image_clean(image_clean), m_op_work_queue(op_work_queue),
+    m_on_finish(on_finish),
     m_cct(reinterpret_cast<CephContext*>(io_ctx.cct())) {
 }
 
@@ -106,7 +108,7 @@ void EnableRequest<I>::handle_get_mirror_image(int r) {
 template <typename I>
 void EnableRequest<I>::get_tag_owner() {
   if (m_mirror_image.mode == cls::rbd::MIRROR_IMAGE_MODE_SNAPSHOT) {
-    create_primary_snapshot();
+    open_image();
     return;
   } else if (!m_non_primary_global_image_id.empty()) {
     image_state_update();
@@ -143,13 +145,44 @@ void EnableRequest<I>::handle_get_tag_owner(int r) {
 }
 
 template <typename I>
-void EnableRequest<I>::create_primary_snapshot() {
+void EnableRequest<I>::open_image() {
   if (!m_non_primary_global_image_id.empty()) {
     // special case for rbd-mirror creating a non-primary image
     enable_non_primary_feature();
     return;
+  } else if (m_image_ctx != nullptr) {
+    create_primary_snapshot();
+    return;
+  }
+
+  ldout(m_cct, 10) << dendl;
+
+  m_close_image = true;
+  m_image_ctx = I::create("", m_image_id, CEPH_NOSNAP, m_io_ctx, false);
+
+  auto ctx = create_context_callback<
+    EnableRequest<I>, &EnableRequest<I>::handle_open_image>(this);
+  m_image_ctx->state->open(OPEN_FLAG_SKIP_OPEN_PARENT |
+                           OPEN_FLAG_IGNORE_MIGRATING, ctx);
+}
+
+template <typename I>
+void EnableRequest<I>::handle_open_image(int r) {
+  ldout(m_cct, 10) << "r=" << r << dendl;
+
+  if (r < 0) {
+    lderr(m_cct) << "failed to open image: " << cpp_strerror(r) << dendl;
+    m_image_ctx->destroy();
+    m_image_ctx = nullptr;
+    finish(r);
+    return;
   }
 
+  create_primary_snapshot();
+}
+
+template <typename I>
+void EnableRequest<I>::create_primary_snapshot() {
   ldout(m_cct, 10) << dendl;
 
   ceph_assert(m_image_ctx != nullptr);
@@ -158,6 +191,7 @@ void EnableRequest<I>::create_primary_snapshot() {
     &EnableRequest<I>::handle_create_primary_snapshot>(this);
   auto req = snapshot::CreatePrimaryRequest<I>::create(
     m_image_ctx, m_mirror_image.global_image_id,
+    (m_image_clean ? 0 : CEPH_NOSNAP),
     snapshot::CREATE_PRIMARY_FLAG_IGNORE_EMPTY_PEERS, &m_snap_id, ctx);
   req->send();
 }
@@ -169,13 +203,53 @@ void EnableRequest<I>::handle_create_primary_snapshot(int r) {
   if (r < 0) {
     lderr(m_cct) << "failed to create initial primary snapshot: "
                  << cpp_strerror(r) << dendl;
-    finish(r);
+    m_ret_val = r;
+  }
+
+  close_image();
+}
+
+template <typename I>
+void EnableRequest<I>::close_image() {
+  if (!m_close_image) {
+    if (m_ret_val < 0) {
+      finish(m_ret_val);
+    } else {
+      image_state_update();
+    }
+    return;
+  }
+
+  ldout(m_cct, 10) << dendl;
+
+  auto ctx = create_context_callback<
+    EnableRequest<I>, &EnableRequest<I>::handle_close_image>(this);
+  m_image_ctx->state->close(ctx);
+}
+
+template <typename I>
+void EnableRequest<I>::handle_close_image(int r) {
+  ldout(m_cct, 10) << "r=" << r << dendl;
+
+  m_image_ctx->destroy();
+  m_image_ctx = nullptr;
+
+  if (r < 0) {
+    lderr(m_cct) << "failed to close image: " << cpp_strerror(r) << dendl;
+    if (m_ret_val == 0) {
+      m_ret_val = r;
+    }
+  }
+
+  if (m_ret_val < 0) {
+    finish(m_ret_val);
     return;
   }
 
   image_state_update();
 }
 
+
 template <typename I>
 void EnableRequest<I>::enable_non_primary_feature() {
   if (m_mirror_image.mode != cls::rbd::MIRROR_IMAGE_MODE_SNAPSHOT) {
index c9945d7b56c7dcd90dc1cae787df8e29d72446be..574dfe2bc03d091dd8107d375d1810385ac18c02 100644 (file)
@@ -24,18 +24,21 @@ class EnableRequest {
 public:
   static EnableRequest *create(ImageCtxT *image_ctx,
                                cls::rbd::MirrorImageMode mode,
-                               Context *on_finish) {
+                               const std::string &non_primary_global_image_id,
+                               bool image_clean, Context *on_finish) {
     return new EnableRequest(image_ctx->md_ctx, image_ctx->id, image_ctx, mode,
-                             "", image_ctx->op_work_queue, on_finish);
+                             non_primary_global_image_id, image_clean,
+                             image_ctx->op_work_queue, on_finish);
   }
   static EnableRequest *create(librados::IoCtx &io_ctx,
                                const std::string &image_id,
                                cls::rbd::MirrorImageMode mode,
                                const std::string &non_primary_global_image_id,
-                               ContextWQ *op_work_queue, Context *on_finish) {
+                               bool image_clean, ContextWQ *op_work_queue,
+                               Context *on_finish) {
     return new EnableRequest(io_ctx, image_id, nullptr, mode,
-                             non_primary_global_image_id, op_work_queue,
-                             on_finish);
+                             non_primary_global_image_id, image_clean,
+                             op_work_queue, on_finish);
   }
 
   void send();
@@ -53,8 +56,14 @@ private:
    * GET_TAG_OWNER  * * * * * * * *
    *    |                         *
    *    v (skip if not needed)    *
+   * OPEN_IMAGE                   *
+   *    |                         *
+   *    v (skip if not needed)    *
    * CREATE_PRIMARY_SNAPSHOT  * * *
    *    |                         *
+   *    v (skip of not opened)    *
+   * CLOSE_IMAGE                  *
+   *    |                         *
    *    v (skip if not needed)    *
    * ENABLE_NON_PRIMARY_FEATURE   *
    *    |                         *
@@ -70,13 +79,14 @@ private:
   EnableRequest(librados::IoCtx &io_ctx, const std::string &image_id,
                 ImageCtxT* image_ctx, cls::rbd::MirrorImageMode mode,
                 const std::string &non_primary_global_image_id,
-                ContextWQ *op_work_queue, Context *on_finish);
+                bool image_clean, ContextWQ *op_work_queue, Context *on_finish);
 
   librados::IoCtx &m_io_ctx;
   std::string m_image_id;
   ImageCtxT* m_image_ctx;
   cls::rbd::MirrorImageMode m_mode;
   std::string m_non_primary_global_image_id;
+  bool m_image_clean;
   ContextWQ *m_op_work_queue;
   Context *m_on_finish;
 
@@ -84,6 +94,9 @@ private:
   bufferlist m_out_bl;
   cls::rbd::MirrorImage m_mirror_image;
 
+  int m_ret_val = 0;
+  bool m_close_image = false;
+
   bool m_is_primary = false;
   uint64_t m_snap_id = CEPH_NOSNAP;
 
@@ -93,9 +106,15 @@ private:
   void get_tag_owner();
   void handle_get_tag_owner(int r);
 
+  void open_image();
+  void handle_open_image(int r);
+
   void create_primary_snapshot();
   void handle_create_primary_snapshot(int r);
 
+  void close_image();
+  void handle_close_image(int r);
+
   void enable_non_primary_feature();
   void handle_enable_non_primary_feature(int r);
 
index 7dffb92e97ec26272cdf6656ac635af6963a35de..6d5588d7f2c4667d93a650bc60bed203e5a40efb 100644 (file)
@@ -25,6 +25,19 @@ namespace snapshot {
 using librbd::util::create_context_callback;
 using librbd::util::create_rados_callback;
 
+template <typename I>
+CreateNonPrimaryRequest<I>::CreateNonPrimaryRequest(
+    I* image_ctx, bool demoted, const std::string &primary_mirror_uuid,
+    uint64_t primary_snap_id, const SnapSeqs& snap_seqs,
+    const ImageState &image_state, uint64_t *snap_id, Context *on_finish)
+  : m_image_ctx(image_ctx), m_demoted(demoted),
+    m_primary_mirror_uuid(primary_mirror_uuid),
+    m_primary_snap_id(primary_snap_id), m_snap_seqs(snap_seqs),
+    m_image_state(image_state), m_snap_id(snap_id), m_on_finish(on_finish) {
+  m_default_ns_ctx.dup(m_image_ctx->md_ctx);
+  m_default_ns_ctx.set_namespace("");
+}
+
 template <typename I>
 void CreateNonPrimaryRequest<I>::send() {
   refresh_image();
@@ -110,6 +123,56 @@ void CreateNonPrimaryRequest<I>::handle_get_mirror_image(int r) {
   m_snap_name = ".mirror.non_primary." + mirror_image.global_image_id + "." +
     uuid_gen.to_string();
 
+  get_mirror_peers();
+}
+
+template <typename I>
+void CreateNonPrimaryRequest<I>::get_mirror_peers() {
+  if (!m_demoted) {
+    create_snapshot();
+    return;
+  }
+
+  CephContext *cct = m_image_ctx->cct;
+  ldout(cct, 20) << dendl;
+
+  librados::ObjectReadOperation op;
+  cls_client::mirror_peer_list_start(&op);
+
+  auto aio_comp = create_rados_callback<
+    CreateNonPrimaryRequest<I>,
+    &CreateNonPrimaryRequest<I>::handle_get_mirror_peers>(this);
+  m_out_bl.clear();
+  int r = m_default_ns_ctx.aio_operate(RBD_MIRRORING, aio_comp, &op, &m_out_bl);
+  ceph_assert(r == 0);
+  aio_comp->release();
+}
+
+template <typename I>
+void CreateNonPrimaryRequest<I>::handle_get_mirror_peers(int r) {
+  CephContext *cct = m_image_ctx->cct;
+  ldout(cct, 20) << "r=" << r << dendl;
+
+  std::vector<cls::rbd::MirrorPeer> peers;
+  if (r == 0) {
+    auto iter = m_out_bl.cbegin();
+    r = cls_client::mirror_peer_list_finish(&iter, &peers);
+  }
+
+  if (r < 0) {
+    lderr(cct) << "failed to retrieve mirror peers: " << cpp_strerror(r)
+               << dendl;
+    finish(r);
+    return;
+  }
+
+  for (auto &peer : peers) {
+    if (peer.mirror_peer_direction == cls::rbd::MIRROR_PEER_DIRECTION_RX) {
+      continue;
+    }
+    m_mirror_peer_uuids.insert(peer.uuid);
+  }
+
   create_snapshot();
 }
 
@@ -121,6 +184,9 @@ void CreateNonPrimaryRequest<I>::create_snapshot() {
     (m_demoted ? cls::rbd::MIRROR_SNAPSHOT_STATE_NON_PRIMARY_DEMOTED :
                  cls::rbd::MIRROR_SNAPSHOT_STATE_NON_PRIMARY), {},
     m_primary_mirror_uuid, m_primary_snap_id};
+  if (m_demoted) {
+    ns.mirror_peer_uuids = m_mirror_peer_uuids;
+  }
   ns.snap_seqs = m_snap_seqs;
   ns.complete = is_orphan();
   ldout(cct, 20) << "ns=" << ns << dendl;
index 4a7113439802ff3956aa921c179d4603839259c5..32cb46d1aadbb7bfacdae0f327ae21a1c04d8b7f 100644 (file)
@@ -43,12 +43,7 @@ public:
                           uint64_t primary_snap_id,
                           const SnapSeqs& snap_seqs,
                           const ImageState &image_state, uint64_t *snap_id,
-                          Context *on_finish)
-    : m_image_ctx(image_ctx), m_demoted(demoted),
-      m_primary_mirror_uuid(primary_mirror_uuid),
-      m_primary_snap_id(primary_snap_id), m_snap_seqs(snap_seqs),
-      m_image_state(image_state), m_snap_id(snap_id), m_on_finish(on_finish) {
-  }
+                          Context *on_finish);
 
   void send();
 
@@ -64,6 +59,9 @@ private:
    *    v
    * GET_MIRROR_IMAGE
    *    |
+   *    v (skip if not needed)
+   * GET_MIRROR_PEERS
+   *    |
    *    v
    * CREATE_SNAPSHOT
    *    |
@@ -85,6 +83,9 @@ private:
   uint64_t *m_snap_id;
   Context *m_on_finish;
 
+  librados::IoCtx m_default_ns_ctx;
+  std::set<std::string> m_mirror_peer_uuids;
+
   std::string m_snap_name;
 
   bufferlist m_out_bl;
index 6c5cb5d9d50c3e975dd686dc1308e80d8040cfb4..c9937e6a6548dd8a6a9911059c1404713cd1feea 100644 (file)
@@ -27,10 +27,12 @@ using librbd::util::create_rados_callback;
 
 template <typename I>
 CreatePrimaryRequest<I>::CreatePrimaryRequest(
-    I *image_ctx, const std::string& global_image_id, uint32_t flags,
-    uint64_t *snap_id, Context *on_finish)
+    I *image_ctx, const std::string& global_image_id,
+    uint64_t clean_since_snap_id, uint32_t flags, uint64_t *snap_id,
+    Context *on_finish)
   : m_image_ctx(image_ctx), m_global_image_id(global_image_id),
-    m_flags(flags), m_snap_id(snap_id), m_on_finish(on_finish) {
+    m_clean_since_snap_id(clean_since_snap_id), m_flags(flags),
+    m_snap_id(snap_id), m_on_finish(on_finish) {
   m_default_ns_ctx.dup(m_image_ctx->md_ctx);
   m_default_ns_ctx.set_namespace("");
 }
@@ -111,7 +113,7 @@ void CreatePrimaryRequest<I>::create_snapshot() {
     ((m_flags & CREATE_PRIMARY_FLAG_DEMOTED) != 0 ?
       cls::rbd::MIRROR_SNAPSHOT_STATE_PRIMARY_DEMOTED :
       cls::rbd::MIRROR_SNAPSHOT_STATE_PRIMARY),
-    m_mirror_peer_uuids, "", CEPH_NOSNAP};
+    m_mirror_peer_uuids, "", m_clean_since_snap_id};
 
   CephContext *cct = m_image_ctx->cct;
   ldout(cct, 20) << "name=" << m_snap_name << ", "
index 69c0ed4470198423a80bad74b558599d657f4a14..94e85c9d9d447dd392784f86b9d4b761df590951 100644 (file)
@@ -26,15 +26,18 @@ class CreatePrimaryRequest {
 public:
   static CreatePrimaryRequest *create(ImageCtxT *image_ctx,
                                       const std::string& global_image_id,
+                                      uint64_t clean_since_snap_id,
                                       uint32_t flags, uint64_t *snap_id,
                                       Context *on_finish) {
-    return new CreatePrimaryRequest(image_ctx, global_image_id, flags, snap_id,
+    return new CreatePrimaryRequest(image_ctx, global_image_id,
+                                    clean_since_snap_id, flags, snap_id,
                                     on_finish);
   }
 
   CreatePrimaryRequest(ImageCtxT *image_ctx,
                        const std::string& global_image_id,
-                       uint32_t flags, uint64_t *snap_id, Context *on_finish);
+                       uint64_t clean_since_snap_id, uint32_t flags,
+                       uint64_t *snap_id, Context *on_finish);
 
   void send();
 
@@ -64,6 +67,7 @@ private:
 
   ImageCtxT *m_image_ctx;
   std::string m_global_image_id;
+  uint64_t m_clean_since_snap_id;
   const uint32_t m_flags;
   uint64_t *m_snap_id;
   Context *m_on_finish;
index 23cbd1d479766f4e455dd63f7601decad275d9be..17d157d41e17e4ada8709e6b5ef85cf4acb30a71 100644 (file)
@@ -72,7 +72,7 @@ void DemoteRequest<I>::create_snapshot() {
     DemoteRequest<I>, &DemoteRequest<I>::handle_create_snapshot>(this);
 
   auto req = CreatePrimaryRequest<I>::create(
-    m_image_ctx, m_global_image_id,
+    m_image_ctx, m_global_image_id, CEPH_NOSNAP,
     (snapshot::CREATE_PRIMARY_FLAG_IGNORE_EMPTY_PEERS |
      snapshot::CREATE_PRIMARY_FLAG_DEMOTED), nullptr, ctx);
   req->send();
index ef62c0813960bb285c054656a0f91bc5e6c276dc..f9cf4b5b973dd67d66dcf228bb1df16a978581f2 100644 (file)
@@ -295,7 +295,7 @@ void PromoteRequest<I>::create_promote_snapshot() {
     &PromoteRequest<I>::handle_create_promote_snapshot>(this);
 
   auto req = CreatePrimaryRequest<I>::create(
-    m_image_ctx, m_global_image_id,
+    m_image_ctx, m_global_image_id, CEPH_NOSNAP,
     (snapshot::CREATE_PRIMARY_FLAG_IGNORE_EMPTY_PEERS |
      snapshot::CREATE_PRIMARY_FLAG_FORCE), nullptr, ctx);
   req->send();
index 67f51dc4bd654e57447e08f8913d66889cf2740c..cb059c760c1cef47371d346e2ece3050d1bd383e 100644 (file)
@@ -72,12 +72,14 @@ void UnlinkPeerRequest<I>::unlink_peer() {
         &snap_it->second.snap_namespace);
     } else if (boost::get<cls::rbd::MirrorSnapshotNamespace>(
                  &snap_it->second.snap_namespace) != nullptr) {
+      ldout(cct, 20) << "located newer mirror snapshot" << dendl;
       newer_mirror_snapshots = true;
       break;
     }
   }
 
   if (r == -ENOENT) {
+    ldout(cct, 20) << "missing snapshot: snap_id=" << m_snap_id << dendl;
     m_image_ctx->image_lock.unlock_shared();
     finish(r);
     return;
@@ -100,7 +102,8 @@ void UnlinkPeerRequest<I>::unlink_peer() {
   }
   m_image_ctx->image_lock.unlock_shared();
 
-  ldout(cct, 20) << dendl;
+  ldout(cct, 20) << "snap_id=" << m_snap_id << ", "
+                 << "mirror_peer_uuid=" << m_mirror_peer_uuid << dendl;
   librados::ObjectWriteOperation op;
   librbd::cls_client::mirror_image_snapshot_unlink_peer(&op, m_snap_id,
                                                         m_mirror_peer_uuid);
@@ -175,6 +178,7 @@ void UnlinkPeerRequest<I>::remove_snapshot() {
   }
 
   if (r == -ENOENT) {
+    ldout(cct, 20) << "failed to locate snapshot " << m_snap_id << dendl;
     finish(0);
     return;
   }
@@ -185,6 +189,10 @@ void UnlinkPeerRequest<I>::remove_snapshot() {
 
   if (info->mirror_peer_uuids.size() > 1 ||
       info->mirror_peer_uuids.count(m_mirror_peer_uuid) == 0) {
+    ldout(cct, 20) << "skipping removal of snapshot: "
+                   << "snap_id=" << m_snap_id << ": "
+                   << "mirror_peer_uuid=" << m_mirror_peer_uuid << ", "
+                   << "mirror_peer_uuids=" << info->mirror_peer_uuids << dendl;
     finish(0);
     return;
   }
index 398724a09f36b1e5e3e8189c706b5321e6179b09..e2ca1f59be0c5e632dbd2911a2689833bafc2acb 100644 (file)
@@ -420,8 +420,8 @@ void EnableFeaturesRequest<I>::send_enable_mirror_image() {
     EnableFeaturesRequest<I>,
     &EnableFeaturesRequest<I>::handle_enable_mirror_image>(this);
 
-  mirror::EnableRequest<I> *req = mirror::EnableRequest<I>::create(
-    &image_ctx, cls::rbd::MIRROR_IMAGE_MODE_JOURNAL, ctx);
+  auto req = mirror::EnableRequest<I>::create(
+    &image_ctx, cls::rbd::MIRROR_IMAGE_MODE_JOURNAL, "", false, ctx);
   req->send();
 }
 
index 890d26c4b07b85bc086ba0fd494881194c443cf3..fdd7164d3c6cdb7cf8be7b172cc43d7a7dcdd525 100644 (file)
@@ -130,7 +130,7 @@ private:
 
       auto req = deep_copy::ObjectCopyRequest<I>::create(
         image_ctx.parent, &image_ctx, 0, 0, image_ctx.migration_info.snap_map,
-        m_object_no, image_ctx.migration_info.flatten, ctx);
+        m_object_no, image_ctx.migration_info.flatten, nullptr, ctx);
 
       ldout(cct, 20) << "deep copy object req " << req << ", object_no "
                      << m_object_no << dendl;
index a42945bb27a215c34bdfec103fb9b18147837c54..b811db4870cf315f59bcc160d4bc5ede125453fd 100644 (file)
@@ -802,6 +802,8 @@ void Locker::put_lock_cache(MDLockCache* lock_cache)
 
   ceph_assert(lock_cache->invalidating);
 
+  lock_cache->detach_locks();
+
   CInode *diri = lock_cache->get_dir_inode();
   for (auto dir : lock_cache->auth_pinned_dirfrags) {
     if (dir->get_inode() != diri)
@@ -832,7 +834,7 @@ void Locker::invalidate_lock_cache(MDLockCache *lock_cache)
     ceph_assert(!lock_cache->client_cap);
   } else {
     lock_cache->invalidating = true;
-    lock_cache->detach_all();
+    lock_cache->detach_dirfrags();
   }
 
   Capability *cap = lock_cache->client_cap;
@@ -880,8 +882,10 @@ void Locker::invalidate_lock_caches(CDir *dir)
 void Locker::invalidate_lock_caches(SimpleLock *lock)
 {
   dout(10) << "invalidate_lock_caches " << *lock << " on " << *lock->get_parent() << dendl;
-  while (lock->is_cached()) {
-    invalidate_lock_cache(lock->get_first_cache());
+  if (lock->is_cached()) {
+    auto&& lock_caches = lock->get_active_caches();
+    for (auto& lc : lock_caches)
+      invalidate_lock_cache(lc);
   }
 }
 
index ca9fd8d7ee9796f6d84e87181cbf44a57b8fc3c2..5d50b39765e4f7a9ab746b77f4025ddd32835594 100644 (file)
@@ -11455,7 +11455,7 @@ void MDCache::merge_dir(CInode *diri, frag_t frag)
 
   CDir *first = dirs.front();
   int bits = first->get_frag().bits() - frag.bits();
-  dout(10) << " we are merginb by " << bits << " bits" << dendl;
+  dout(10) << " we are merging by " << bits << " bits" << dendl;
 
   dirfrag_t basedirfrag(diri->ino(), frag);
   MDRequestRef mdr = request_start_internal(CEPH_MDS_OP_FRAGMENTDIR);
index 03555b4f09805246f4b578b0b622a0d6afb27f22..d9f3f7cadcc60b049014a2096d964b0027d5f56f 100644 (file)
@@ -578,7 +578,7 @@ void MDLockCache::attach_dirfrags(std::vector<CDir*>&& dfv)
   }
 }
 
-void MDLockCache::detach_all()
+void MDLockCache::detach_locks()
 {
   ceph_assert(items_lock);
   int i = 0;
@@ -588,9 +588,12 @@ void MDLockCache::detach_all()
     ++i;
   }
   items_lock.reset();
+}
 
+void MDLockCache::detach_dirfrags()
+{
   ceph_assert(items_dir);
-  i = 0;
+  int i = 0;
   for (auto dir : auth_pinned_dirfrags) {
     (void)dir;
     items_dir[i].item_dir.remove_myself();
index d79b430de6622efd1724a83b46a508d717aeca2c..0b4070420d3793c7bade40c3caf1fe6b145db83b 100644 (file)
@@ -496,7 +496,8 @@ struct MDLockCache : public MutationImpl {
 
   void attach_locks();
   void attach_dirfrags(std::vector<CDir*>&& dfv);
-  void detach_all();
+  void detach_locks();
+  void detach_dirfrags();
 
   CInode *diri;
   Capability *client_cap;
index 1f3b732169b7b751faeb71854075a67f7ce60811..7c447419bb6ee0c5a45c0cf0f760a18672b0d791 100644 (file)
@@ -95,12 +95,14 @@ void SimpleLock::remove_cache(MDLockCacheItem& item) {
   }
 }
 
-MDLockCache* SimpleLock::get_first_cache() {
+std::vector<MDLockCache*> SimpleLock::get_active_caches() {
+  std::vector<MDLockCache*> result;
   if (have_more()) {
-    auto& lock_caches = more()->lock_caches;
-    if (!lock_caches.empty()) {
-      return lock_caches.front()->parent;
+    for (auto it = more()->lock_caches.begin_use_current(); !it.end(); ++it) {
+      auto lock_cache = (*it)->parent;
+      if (!lock_cache->invalidating)
+       result.push_back(lock_cache);
     }
   }
-  return nullptr;
+  return result;
 }
index 1ad4cd91300450a4326bb6cfc7d0ada0b34b7722..37bdc8d20d94af625a42b59af6dad7ff7cd30644 100644 (file)
@@ -228,7 +228,7 @@ public:
   }
   void add_cache(MDLockCacheItem& item);
   void remove_cache(MDLockCacheItem& item);
-  MDLockCache* get_first_cache();
+  std::vector<MDLockCache*> get_active_caches();
 
   // state
   int get_state() const { return state; }
index becd428aca6da24cdd0719e013abc35eb155fc94..f695203abbbdfa6e38edce7b5f44cc7840390ca1 100644 (file)
@@ -389,9 +389,31 @@ static DaemonKey key_from_service(
   }
 }
 
+void DaemonServer::fetch_missing_metadata(const DaemonKey& key,
+                                         const entity_addr_t& addr)
+{
+  if (!daemon_state.is_updating(key) &&
+      (key.type == "osd" || key.type == "mds" || key.type == "mon")) {
+    std::ostringstream oss;
+    auto c = new MetadataUpdate(daemon_state, key);
+    if (key.type == "osd") {
+      oss << "{\"prefix\": \"osd metadata\", \"id\": "
+         << key.name<< "}";
+    } else if (key.type == "mds") {
+      c->set_default("addr", stringify(addr));
+      oss << "{\"prefix\": \"mds metadata\", \"who\": \""
+         << key.name << "\"}";
+    } else if (key.type == "mon") {
+      oss << "{\"prefix\": \"mon metadata\", \"id\": \""
+         << key.name << "\"}";
+    }
+    monc->start_mon_command({oss.str()}, {}, &c->outbl, &c->outs, c);
+  }
+}
+
 bool DaemonServer::handle_open(const ref_t<MMgrOpen>& m)
 {
-  std::lock_guard l(lock);
+  std::unique_lock l(lock);
 
   DaemonKey key = key_from_service(m->service_name,
                                   m->get_connection()->get_peer_type(),
@@ -421,6 +443,8 @@ bool DaemonServer::handle_open(const ref_t<MMgrOpen>& m)
       dout(2) << "ignoring open from " << key << " " << con->get_peer_addr()
               << "; not ready for session (expect reconnect)" << dendl;
       con->mark_down();
+      l.unlock();
+      fetch_missing_metadata(key, m->get_source_addr());
       return true;
     }
   }
@@ -553,29 +577,7 @@ bool DaemonServer::handle_report(const ref_t<MMgrReport>& m)
       dout(5) << "rejecting report from " << key << ", since we do not have its metadata now."
               << dendl;
       // issue metadata request in background
-      if (!daemon_state.is_updating(key) && 
-          (key.type == "osd" || key.type == "mds" || key.type == "mon")) {
-
-        std::ostringstream oss;
-        auto c = new MetadataUpdate(daemon_state, key);
-        if (key.type == "osd") {
-          oss << "{\"prefix\": \"osd metadata\", \"id\": "
-              << key.name<< "}";
-
-        } else if (key.type == "mds") {
-          c->set_default("addr", stringify(m->get_source_addr()));
-          oss << "{\"prefix\": \"mds metadata\", \"who\": \""
-              << key.name << "\"}";
-        } else if (key.type == "mon") {
-          oss << "{\"prefix\": \"mon metadata\", \"id\": \""
-              << key.name << "\"}";
-        } else {
-          ceph_abort();
-        }
-
-        monc->start_mon_command({oss.str()}, {}, &c->outbl, &c->outs, c);
-      }
+      fetch_missing_metadata(key, m->get_source_addr());
 
       locker.lock();
 
@@ -808,20 +810,12 @@ public:
 bool DaemonServer::handle_command(const ref_t<MCommand>& m)
 {
   std::lock_guard l(lock);
-  // a blank fsid in MCommand signals a legacy client sending a "mon-mgr" CLI
-  // command.
-  if (m->fsid != uuid_d()) {
-    cct->get_admin_socket()->queue_tell_command(m);
+  auto cmdctx = std::make_shared<CommandContext>(m);
+  try {
+    return _handle_command(cmdctx);
+  } catch (const bad_cmd_get& e) {
+    cmdctx->reply(-EINVAL, e.what());
     return true;
-  } else {
-    // legacy client; send to CLI processing
-    auto cmdctx = std::make_shared<CommandContext>(m);
-    try {
-      return _handle_command(cmdctx);
-    } catch (const bad_cmd_get& e) {
-      cmdctx->reply(-EINVAL, e.what());
-      return true;
-    }
   }
 }
 
@@ -853,8 +847,12 @@ bool DaemonServer::_handle_command(
   std::shared_ptr<CommandContext>& cmdctx)
 {
   MessageRef m;
+  bool admin_socket_cmd = false;
   if (cmdctx->m_tell) {
     m = cmdctx->m_tell;
+    // a blank fsid in MCommand signals a legacy client sending a "mon-mgr" CLI
+    // command.
+    admin_socket_cmd = (cmdctx->m_tell->fsid != uuid_d());
   } else {
     m = cmdctx->m_mgr;
   }
@@ -888,7 +886,10 @@ bool DaemonServer::_handle_command(
 
   dout(10) << "decoded-size=" << cmdctx->cmdmap.size() << " prefix=" << prefix  << dendl;
 
-  if (prefix == "get_command_descriptions") {
+  // this is just for mgr commands - admin socket commands will fall
+  // through and use the admin socket version of
+  // get_command_descriptions
+  if (prefix == "get_command_descriptions" && !admin_socket_cmd) {
     dout(10) << "reading commands from python modules" << dendl;
     const auto py_commands = py_modules.get_commands();
 
@@ -925,7 +926,10 @@ bool DaemonServer::_handle_command(
 
   bool is_allowed = false;
   ModuleCommand py_command;
-  if (!mgr_cmd) {
+  if (admin_socket_cmd) {
+    // admin socket commands require all capabilities
+    is_allowed = session->caps.is_allow_all();
+  } else if (!mgr_cmd) {
     // Resolve the command to the name of the module that will
     // handle it (if the command exists)
     auto py_commands = py_modules.get_py_commands();
@@ -958,6 +962,11 @@ bool DaemonServer::_handle_command(
     << "entity='" << session->entity_name << "' "
     << "cmd=" << cmdctx->cmd << ": dispatch";
 
+  if (admin_socket_cmd) {
+    cct->get_admin_socket()->queue_tell_command(cmdctx->m_tell);
+    return true;
+  }
+
   // ----------------
   // service map commands
   if (prefix == "service dump") {
@@ -2330,10 +2339,19 @@ void DaemonServer::_prune_pending_service_map()
     while (q != p->second.daemons.end()) {
       DaemonKey key{p->first, q->first};
       if (!daemon_state.exists(key)) {
-       derr << "missing key " << key << dendl;
-       ++q;
-       continue;
+        if (ServiceMap::is_normal_ceph_entity(p->first)) {
+          dout(10) << "daemon " << key << " in service map but not in daemon state "
+                   << "index -- force pruning" << dendl;
+          q = p->second.daemons.erase(q);
+          pending_service_map_dirty = pending_service_map.epoch;
+        } else {
+          derr << "missing key " << key << dendl;
+          ++q;
+        }
+
+        continue;
       }
+
       auto daemon = daemon_state.get(key);
       std::lock_guard l(daemon->lock);
       if (daemon->last_service_beacon == utime_t()) {
index 14514007efee10a81d11ccdbb68a7d5e8cf4492a..185d0d246c11848a5dc72e5ba1875ba8d1fee3fd 100644 (file)
@@ -168,6 +168,7 @@ public:
   void ms_handle_remote_reset(Connection *con) override {}
   bool ms_handle_refused(Connection *con) override;
 
+  void fetch_missing_metadata(const DaemonKey& key, const entity_addr_t& addr);
   bool handle_open(const ceph::ref_t<MMgrOpen>& m);
   bool handle_close(const ceph::ref_t<MMgrClose>& m);
   bool handle_report(const ceph::ref_t<MMgrReport>& m);
index 016a6cf7df5ec138fe96c772aa676a0b0f4cfaf8..6ebf2b9ad2be02fab2c27cc86f81da7feca4ac77 100644 (file)
@@ -43,6 +43,7 @@ std::string handle_pyerror()
     PyObject *exc, *val, *tb;
     object formatted_list, formatted;
     PyErr_Fetch(&exc, &val, &tb);
+    PyErr_NormalizeException(&exc, &val, &tb);
     handle<> hexc(exc), hval(allow_null(val)), htb(allow_null(tb));
     object traceback(import("traceback"));
     if (!tb) {
@@ -56,6 +57,7 @@ std::string handle_pyerror()
           std::stringstream ss;
           ss << PyUnicode_AsUTF8(name_attr) << ": " << PyUnicode_AsUTF8(val);
           Py_XDECREF(name_attr);
+          ss << "\nError processing exception object: " << peek_pyerror();
           return ss.str();
         }
     } else {
@@ -69,6 +71,7 @@ std::string handle_pyerror()
           std::stringstream ss;
           ss << PyUnicode_AsUTF8(name_attr) << ": " << PyUnicode_AsUTF8(val);
           Py_XDECREF(name_attr);
+          ss << "\nError processing exception object: " << peek_pyerror();
           return ss.str();
         }
     }
index 6581227b3b6720c1dda07017b5dd23c18c81a6c4..ab4329e8b87f3140b71f01fdfffece6c096f8009 100644 (file)
@@ -251,10 +251,10 @@ class FsNewHandler : public FileSystemCommandHandler
     }
     mon->osdmon()->do_application_enable(data,
                                         pg_pool_t::APPLICATION_NAME_CEPHFS,
-                                        "data", fs_name);
+                                        "data", fs_name, true);
     mon->osdmon()->do_application_enable(metadata,
                                         pg_pool_t::APPLICATION_NAME_CEPHFS,
-                                        "metadata", fs_name);
+                                        "metadata", fs_name, true);
     mon->osdmon()->do_set_pool_opt(metadata,
                                   pool_opts_t::RECOVERY_PRIORITY,
                                   static_cast<int64_t>(5));
@@ -690,7 +690,7 @@ class AddDataPoolHandler : public FileSystemCommandHandler
     }
     mon->osdmon()->do_application_enable(poolid,
                                         pg_pool_t::APPLICATION_NAME_CEPHFS,
-                                        "data", fs_name);
+                                        "data", fs_name, true);
     mon->osdmon()->propose_pending();
 
     fsmap.modify_filesystem(
index b7cb3eaee91337251b16eae6fca9df2d1a037a2e..eecd2f68c315af2efb9080e33d05d859ddac9489 100644 (file)
@@ -3226,34 +3226,6 @@ void Monitor::handle_command(MonOpRequestRef op)
     return;
   }
 
-  // compat kludge for legacy clients trying to tell commands that are
-  // new.  see bottom of MonCommands.h.  we need to handle both (1)
-  // pre-octopus clients and (2) octopus clients with a mix of pre-octopus
-  // and octopus mons.
-  if ((!HAVE_FEATURE(m->get_connection()->get_features(), SERVER_OCTOPUS) ||
-       monmap->min_mon_release < ceph_release_t::octopus) &&
-      (prefix == "injectargs" ||
-       prefix == "smart" ||
-       prefix == "mon_status" ||
-       prefix == "heap")) {
-    if (m->get_connection()->get_messenger() == 0) {
-      // Prior to octopus, monitors might forward these messages
-      // around. that was broken at baseline, and if we try to process
-      // this message now, it will assert out when we try to send a
-      // message in reply from the asok/tell worker (see
-      // AnonConnection).  Just reply with an error.
-      dout(5) << __func__ << " failing forwarded command from a (presumably) "
-             << "pre-octopus peer" << dendl;
-      reply_command(
-       op, -EBUSY,
-       "failing forwarded tell command in mixed-version mon cluster", 0);
-      return;
-    }
-    dout(5) << __func__ << " passing command to tell/asok" << dendl;
-    cct->get_admin_socket()->queue_tell_command(m);
-    return;
-  }
-
   string module;
   string err;
 
@@ -3368,6 +3340,34 @@ void Monitor::handle_command(MonOpRequestRef op)
       << "entity='" << session->entity_name << "' "
       << "cmd=" << m->cmd << ": dispatch";
 
+  // compat kludge for legacy clients trying to tell commands that are
+  // new.  see bottom of MonCommands.h.  we need to handle both (1)
+  // pre-octopus clients and (2) octopus clients with a mix of pre-octopus
+  // and octopus mons.
+  if ((!HAVE_FEATURE(m->get_connection()->get_features(), SERVER_OCTOPUS) ||
+       monmap->min_mon_release < ceph_release_t::octopus) &&
+      (prefix == "injectargs" ||
+       prefix == "smart" ||
+       prefix == "mon_status" ||
+       prefix == "heap")) {
+    if (m->get_connection()->get_messenger() == 0) {
+      // Prior to octopus, monitors might forward these messages
+      // around. that was broken at baseline, and if we try to process
+      // this message now, it will assert out when we try to send a
+      // message in reply from the asok/tell worker (see
+      // AnonConnection).  Just reply with an error.
+      dout(5) << __func__ << " failing forwarded command from a (presumably) "
+             << "pre-octopus peer" << dendl;
+      reply_command(
+       op, -EBUSY,
+       "failing forwarded tell command in mixed-version mon cluster", 0);
+      return;
+    }
+    dout(5) << __func__ << " passing command to tell/asok" << dendl;
+    cct->get_admin_socket()->queue_tell_command(m);
+    return;
+  }
+
   if (mon_cmd->is_mgr()) {
     const auto& hdr = m->get_header();
     uint64_t size = hdr.front_len + hdr.middle_len + hdr.data_len;
index b4cc322b9f0b5a350b544b3e33d161ac379a19fe..892580c3ff6e75e3d357d98a30ec5c5aaa4b9cff 100644 (file)
@@ -378,6 +378,19 @@ epoch_t LastEpochClean::get_lower_bound(const OSDMap& latest) const
   return floor;
 }
 
+void LastEpochClean::dump(Formatter *f) const
+{
+  f->open_array_section("per_pool");
+
+  for (auto& it : report_by_pool) {
+    f->open_object_section("pool");
+    f->dump_unsigned("poolid", it.first);
+    f->dump_unsigned("floor", it.second.floor);
+    f->close_section();
+  }
+
+  f->close_section();
+}
 
 class C_UpdateCreatingPGs : public Context {
 public:
@@ -2202,7 +2215,8 @@ epoch_t OSDMonitor::get_min_last_epoch_clean() const
   // also scan osd epochs
   // don't trim past the oldest reported osd epoch
   for (auto& osd_epoch : osd_epochs) {
-    if (osd_epoch.second < floor) {
+    if (osd_epoch.second < floor &&
+        osdmap.is_out(osd_epoch.first)) {
       floor = osd_epoch.second;
     }
   }
@@ -4722,7 +4736,8 @@ void OSDMonitor::check_pg_creates_sub(Subscription *sub)
 void OSDMonitor::do_application_enable(int64_t pool_id,
                                        const std::string &app_name,
                                       const std::string &app_key,
-                                      const std::string &app_value)
+                                      const std::string &app_value,
+                                      bool force)
 {
   ceph_assert(paxos->is_plugged() && is_writeable());
 
@@ -4742,7 +4757,11 @@ void OSDMonitor::do_application_enable(int64_t pool_id,
   if (app_key.empty()) {
     p.application_metadata.insert({app_name, {}});
   } else {
-    p.application_metadata.insert({app_name, {{app_key, app_value}}});
+    if (force) {
+      p.application_metadata[app_name][app_key] = app_value;
+    } else {
+      p.application_metadata.insert({app_name, {{app_key, app_value}}});
+    }
   }
   p.last_change = pending_inc.epoch;
   pending_inc.new_pools[pool_id] = p;
@@ -4929,6 +4948,28 @@ void OSDMonitor::tick()
   // always update osdmap manifest, regardless of being the leader.
   load_osdmap_manifest();
 
+  // always tune priority cache manager memory on leader and peons
+  if (ceph_using_tcmalloc() && mon_memory_autotune) {
+    std::lock_guard l(balancer_lock);
+    if (pcm != nullptr) {
+      pcm->tune_memory();
+      pcm->balance();
+      _set_new_cache_sizes();
+      dout(10) << "tick balancer "
+               << " inc cache_bytes: " << inc_cache->get_cache_bytes()
+               << " inc comtd_bytes: " << inc_cache->get_committed_size()
+               << " inc used_bytes: " << inc_cache->_get_used_bytes()
+               << " inc num_osdmaps: " << inc_cache->_get_num_osdmaps()
+               << dendl;
+      dout(10) << "tick balancer "
+               << " full cache_bytes: " << full_cache->get_cache_bytes()
+               << " full comtd_bytes: " << full_cache->get_committed_size()
+               << " full used_bytes: " << full_cache->_get_used_bytes()
+               << " full num_osdmaps: " << full_cache->_get_num_osdmaps()
+               << dendl;
+    }
+  }
+
   if (!mon->is_leader()) return;
 
   bool do_propose = false;
@@ -5061,27 +5102,6 @@ void OSDMonitor::tick()
   if (do_propose ||
       !pending_inc.new_pg_temp.empty())  // also propose if we adjusted pg_temp
     propose_pending();
-
-  {
-    std::lock_guard l(balancer_lock);
-    if (ceph_using_tcmalloc() && mon_memory_autotune && pcm != nullptr) {
-      pcm->tune_memory();
-      pcm->balance();
-      _set_new_cache_sizes();
-      dout(10) << "tick balancer "
-               << " inc cache_bytes: " << inc_cache->get_cache_bytes()
-               << " inc comtd_bytes: " << inc_cache->get_committed_size()
-               << " inc used_bytes: " << inc_cache->_get_used_bytes()
-               << " inc num_osdmaps: " << inc_cache->_get_num_osdmaps()
-               << dendl;
-      dout(10) << "tick balancer "
-               << " full cache_bytes: " << full_cache->get_cache_bytes()
-               << " full comtd_bytes: " << full_cache->get_committed_size()
-               << " full used_bytes: " << full_cache->_get_used_bytes()
-               << " full num_osdmaps: " << full_cache->_get_num_osdmaps()
-               << dendl;
-    }
-  }
 }
 
 void OSDMonitor::_set_new_cache_sizes()
@@ -5180,6 +5200,24 @@ void OSDMonitor::dump_info(Formatter *f)
   }
   f->close_section();
 
+  f->open_object_section("osdmap_clean_epochs");
+  f->dump_unsigned("min_last_epoch_clean", get_min_last_epoch_clean());
+
+  f->open_object_section("last_epoch_clean");
+  last_epoch_clean.dump(f);
+  f->close_section();
+
+  f->open_array_section("osd_epochs");
+  for (auto& osd_epoch : osd_epochs) {
+    f->open_object_section("osd");
+    f->dump_unsigned("id", osd_epoch.first);
+    f->dump_unsigned("epoch", osd_epoch.second);
+    f->close_section();
+  }
+  f->close_section(); // osd_epochs
+
+  f->close_section(); // osd_clean_epochs
+
   f->dump_unsigned("osdmap_first_committed", get_first_committed());
   f->dump_unsigned("osdmap_last_committed", get_last_committed());
 
@@ -7937,8 +7975,7 @@ int OSDMonitor::prepare_command_pool_set(const cmdmap_t& cmdmap,
       return r;
     }
     p.size = n;
-    if (n < p.min_size)
-      p.min_size = n;
+    p.min_size = g_conf().get_osd_pool_default_min_size(p.size);
   } else if (var == "min_size") {
     if (p.has_flag(pg_pool_t::FLAG_NOSIZECHANGE)) {
       ss << "pool min size change is disabled; you must unset nosizechange flag for the pool first";
index 2b3a47bfc1b1866baaacea822fe4c32fb7e07631..86878aa315ae70df7c27aeb15717b312d53284db 100644 (file)
@@ -127,6 +127,8 @@ public:
   void report(const pg_t& pg, epoch_t last_epoch_clean);
   void remove_pool(uint64_t pool);
   epoch_t get_lower_bound(const OSDMap& latest) const;
+
+  void dump(Formatter *f) const;
 };
 
 
@@ -758,7 +760,8 @@ public:
 
   void do_application_enable(int64_t pool_id, const std::string &app_name,
                             const std::string &app_key="",
-                            const std::string &app_value="");
+                            const std::string &app_value="",
+                            bool force=false);
   void do_set_pool_opt(int64_t pool_id, pool_opts_t::key_t opt,
                       pool_opts_t::value_t);
 
index 51894fd9a3c9560dd46922a598886d5061e1f7f2..c950ed9b85a5c331c8288f7a7a476167a3b770a1 100644 (file)
@@ -92,8 +92,7 @@ if(HAVE_LIBAIO)
 endif(HAVE_LIBAIO)
 
 if(WITH_FUSE)
-  target_include_directories(os SYSTEM PRIVATE ${FUSE_INCLUDE_DIRS})
-  target_link_libraries(os ${FUSE_LIBRARIES})
+  target_link_libraries(os FUSE::FUSE)
 endif()
 
 if(HAVE_LIBZFS)
index 2fcfb6cac1cbc5478e6a28b00c367c9cc2ad4efe..80b5f9aaa01b04af14086f1dc02f12a03fe30f83 100644 (file)
@@ -9,6 +9,8 @@
 
 #define FUSE_USE_VERSION 30
 #include <fuse.h>
+#include <fuse_lowlevel.h>
+#include "include/ceph_fuse.h"
 
 #include <sys/types.h>
 #include <sys/stat.h>
@@ -31,7 +33,9 @@
 struct fs_info {
   struct fuse_args args;
   struct fuse *f;
+#if FUSE_VERSION < FUSE_MAKE_VERSION(3, 0)
   struct fuse_chan *ch;
+#endif
   char *mountpoint;
 };
 
@@ -229,7 +233,11 @@ static int parse_fn(CephContext* cct, const char *path, coll_t *cid,
 }
 
 
-static int os_getattr(const char *path, struct stat *stbuf)
+static int os_getattr(const char *path, struct stat *stbuf
+#if FUSE_VERSION >= FUSE_MAKE_VERSION(3, 0)
+                      , struct fuse_file_info *fi
+#endif
+                      )
 {
   fuse_context *fc = fuse_get_context();
   FuseStore *fs = static_cast<FuseStore*>(fc->private_data);
@@ -386,7 +394,11 @@ static int os_readdir(const char *path,
                      void *buf,
                      fuse_fill_dir_t filler,
                      off_t offset,
-                     struct fuse_file_info *fi)
+                     struct fuse_file_info *fi
+#if FUSE_VERSION >= FUSE_MAKE_VERSION(3, 0)
+                      , enum fuse_readdir_flags
+#endif
+                      )
 {
   fuse_context *fc = fuse_get_context();
   FuseStore *fs = static_cast<FuseStore*>(fc->private_data);
@@ -411,11 +423,11 @@ static int os_readdir(const char *path,
   switch (t) {
   case FN_ROOT:
     {
-      filler(buf, "type", NULL, 0);
+      filler_compat(filler, buf, "type", NULL, 0);
       vector<coll_t> cls;
       fs->store->list_collections(cls);
       for (auto c : cls) {
-       int r = filler(buf, stringify(c).c_str(), NULL, 0);
+       int r = filler_compat(filler, buf, stringify(c).c_str(), NULL, 0);
        if (r > 0)
          break;
       }
@@ -427,28 +439,28 @@ static int os_readdir(const char *path,
       if (!ch) {
        return -ENOENT;
       }
-      filler(buf, "bitwise_hash_start", NULL, 0);
+      filler_compat(filler, buf, "bitwise_hash_start", NULL, 0);
       if (fs->store->collection_bits(ch) >= 0) {
-       filler(buf, "bitwise_hash_end", NULL, 0);
-       filler(buf, "bitwise_hash_bits", NULL, 0);
+       filler_compat(filler, buf, "bitwise_hash_end", NULL, 0);
+       filler_compat(filler, buf, "bitwise_hash_bits", NULL, 0);
       }
-      filler(buf, "all", NULL, 0);
-      filler(buf, "by_bitwise_hash", NULL, 0);
+      filler_compat(filler, buf, "all", NULL, 0);
+      filler_compat(filler, buf, "by_bitwise_hash", NULL, 0);
       spg_t pgid;
       if (cid.is_pg(&pgid) &&
          fs->store->exists(ch, pgid.make_pgmeta_oid())) {
-       filler(buf, "pgmeta", NULL, 0);
+       filler_compat(filler, buf, "pgmeta", NULL, 0);
       }
     }
     break;
 
   case FN_OBJECT:
     {
-      filler(buf, "bitwise_hash", NULL, 0);
-      filler(buf, "data", NULL, 0);
-      filler(buf, "omap", NULL, 0);
-      filler(buf, "attr", NULL, 0);
-      filler(buf, "omap_header", NULL, 0);
+      filler_compat(filler, buf, "bitwise_hash", NULL, 0);
+      filler_compat(filler, buf, "data", NULL, 0);
+      filler_compat(filler, buf, "omap", NULL, 0);
+      filler_compat(filler, buf, "attr", NULL, 0);
+      filler_compat(filler, buf, "omap_header", NULL, 0);
     }
     break;
 
@@ -503,7 +515,7 @@ static int os_readdir(const char *path,
          uint64_t cur_off = ((uint64_t)bitwise_hash << hash_shift) |
            (uint64_t)hashoff;
          string s = stringify(p);
-         r = filler(buf, s.c_str(), NULL, cur_off);
+         r = filler_compat(filler, buf, s.c_str(), NULL, cur_off);
          if (r)
            break;
        }
@@ -526,7 +538,7 @@ static int os_readdir(const char *path,
          continue;
        }
        ++offset;
-       int r = filler(buf, k.c_str(), NULL, offset);
+       int r = filler_compat(filler, buf, k.c_str(), NULL, offset);
        if (r)
          break;
       }
@@ -544,7 +556,7 @@ static int os_readdir(const char *path,
          continue;
        }
        ++offset;
-       int r = filler(buf, a.first.c_str(), NULL, offset);
+       int r = filler_compat(filler, buf, a.first.c_str(), NULL, offset);
        if (r)
          break;
       }
@@ -781,7 +793,11 @@ static int os_mkdir(const char *path, mode_t mode)
   return 0;
 }
 
-static int os_chmod(const char *path, mode_t mode)
+static int os_chmod(const char *path, mode_t mode
+#if FUSE_VERSION >= FUSE_MAKE_VERSION(3, 0)
+                    , struct fuse_file_info *fi
+#endif
+                    )
 {
   fuse_context *fc = fuse_get_context();
   FuseStore *fs = static_cast<FuseStore*>(fc->private_data);
@@ -1052,7 +1068,11 @@ static int os_unlink(const char *path)
   return 0;
 }
 
-static int os_truncate(const char *path, off_t size)
+static int os_truncate(const char *path, off_t size
+#if FUSE_VERSION >= FUSE_MAKE_VERSION(3, 0)
+                       , struct fuse_file_info *fi
+#endif
+                       )
 {
   fuse_context *fc = fuse_get_context();
   FuseStore *fs = static_cast<FuseStore*>(fc->private_data);
@@ -1118,7 +1138,9 @@ static int os_statfs(const char *path, struct statvfs *stbuf)
 static struct fuse_operations fs_oper = {
   getattr: os_getattr,
   readlink: 0,
+#if FUSE_VERSION < FUSE_MAKE_VERSION(3, 0)
   getdir: 0,
+#endif
   mknod: 0,
   mkdir: os_mkdir,
   unlink: os_unlink,
@@ -1129,7 +1151,9 @@ static struct fuse_operations fs_oper = {
   chmod: os_chmod,
   chown: 0,
   truncate: os_truncate,
+#if FUSE_VERSION < FUSE_MAKE_VERSION(3, 0)
   utime: 0,
+#endif
   open: os_open,
   read: os_read,
   write: os_write,
@@ -1178,16 +1202,38 @@ int FuseStore::start()
     "-d", // debug
   };
   int c = 3;
+#if FUSE_VERSION >= FUSE_MAKE_VERSION(3, 0)
+  int rc;
+  struct fuse_cmdline_opts opts = {};
+#endif
   auto fuse_debug = store->cct->_conf.get_val<bool>("fuse_debug");
   if (fuse_debug)
     ++c;
   fuse_args a = FUSE_ARGS_INIT(c, (char**)v);
   info->args = a;
+#if FUSE_VERSION >= FUSE_MAKE_VERSION(3, 0)
+  if (fuse_parse_cmdline(&info->args, &opts) == -1) {
+#else
   if (fuse_parse_cmdline(&info->args, &info->mountpoint, NULL, NULL) == -1) {
+#endif
     derr << __func__ << " failed to parse args" << dendl;
     return -EINVAL;
   }
 
+#if FUSE_VERSION >= FUSE_MAKE_VERSION(3, 0)
+  info->mountpoint = opts.mountpoint;
+  info->f = fuse_new(&info->args, &fs_oper, sizeof(fs_oper), (void*)this);
+  if (!info->f) {
+    derr << __func__ << " fuse_new failed" << dendl;
+    return -EIO;
+  }
+
+  rc = fuse_mount(info->f, info->mountpoint);
+  if (rc != 0) {
+    derr << __func__ << " fuse_mount failed" << dendl;
+    return -EIO;
+  }
+#else
   info->ch = fuse_mount(info->mountpoint, &info->args);
   if (!info->ch) {
     derr << __func__ << " fuse_mount failed" << dendl;
@@ -1201,6 +1247,7 @@ int FuseStore::start()
     derr << __func__ << " fuse_new failed" << dendl;
     return -EIO;
   }
+#endif
 
   fuse_thread.create("fusestore");
   dout(10) << __func__ << " done" << dendl;
@@ -1220,7 +1267,11 @@ int FuseStore::loop()
 int FuseStore::stop()
 {
   dout(10) << __func__ << " enter" << dendl;
+#if FUSE_VERSION >= FUSE_MAKE_VERSION(3, 0)
+  fuse_unmount(info->f);
+#else
   fuse_unmount(info->mountpoint, info->ch);
+#endif
   fuse_thread.join();
   fuse_destroy(info->f);
   dout(10) << __func__ << " exit" << dendl;
index 7dcef4384adb1058f8832581b8e08eb69fe4ec57..adf85e98a264def8a46bd0999943a526168ce2d9 100644 (file)
@@ -4,6 +4,7 @@
 #include "BitmapFreelistManager.h"
 #include "kv/KeyValueDB.h"
 #include "os/kv.h"
+#include "include/stringify.h"
 
 #include "common/debug.h"
 
@@ -66,9 +67,8 @@ int BitmapFreelistManager::create(uint64_t new_size, uint64_t granularity,
 
   _init_misc();
 
-  blocks = size / bytes_per_block;
-  if (blocks / blocks_per_key * blocks_per_key != blocks) {
-    blocks = (blocks / blocks_per_key + 1) * blocks_per_key;
+  blocks = size_2_block_count(size);
+  if (blocks * bytes_per_block > size) {
     dout(10) << __func__ << " rounding blocks up from 0x" << std::hex << size
             << " to 0x" << (blocks * bytes_per_block)
             << " (0x" << blocks << " blocks)" << std::dec << dendl;
@@ -104,28 +104,29 @@ int BitmapFreelistManager::create(uint64_t new_size, uint64_t granularity,
   return 0;
 }
 
-int BitmapFreelistManager::expand(uint64_t new_size, KeyValueDB::Transaction txn)
+int BitmapFreelistManager::_expand(uint64_t old_size, KeyValueDB* db)
 {
-  assert(new_size > size);
+  assert(old_size < size);
   ceph_assert(isp2(bytes_per_block));
 
-  uint64_t blocks0 = size / bytes_per_block;
-  if (blocks0 / blocks_per_key * blocks_per_key != blocks0) {
-    blocks0 = (blocks / blocks_per_key + 1) * blocks_per_key;
-    dout(10) << __func__ << " rounding blocks up from 0x" << std::hex << size
-            << " to 0x" << (blocks0 * bytes_per_block)
+  KeyValueDB::Transaction txn;
+  txn = db->get_transaction();
+
+  auto blocks0 = size_2_block_count(old_size);
+  if (blocks0 * bytes_per_block > old_size) {
+    dout(10) << __func__ << " rounding1 blocks up from 0x" << std::hex
+             << old_size << " to 0x" << (blocks0 * bytes_per_block)
             << " (0x" << blocks0 << " blocks)" << std::dec << dendl;
     // reset past-eof blocks to unallocated
-    _xor(size, blocks0 * bytes_per_block - size, txn);
+    _xor(old_size, blocks0 * bytes_per_block - old_size, txn);
   }
 
-  size = p2align(new_size, bytes_per_block);
-  blocks = size / bytes_per_block;
+  size = p2align(size, bytes_per_block);
+  blocks = size_2_block_count(size);
 
-  if (blocks / blocks_per_key * blocks_per_key != blocks) {
-    blocks = (blocks / blocks_per_key + 1) * blocks_per_key;
-    dout(10) << __func__ << " rounding blocks up from 0x" << std::hex << size
-            << " to 0x" << (blocks * bytes_per_block)
+  if (blocks * bytes_per_block > size) {
+    dout(10) << __func__ << " rounding2 blocks up from 0x" << std::hex
+             << size << " to 0x" << (blocks * bytes_per_block)
             << " (0x" << blocks << " blocks)" << std::dec << dendl;
     // set past-eof blocks as allocated
     _xor(size, blocks * bytes_per_block - size, txn);
@@ -147,13 +148,29 @@ int BitmapFreelistManager::expand(uint64_t new_size, KeyValueDB::Transaction txn
     encode(size, bl);
     txn->set(meta_prefix, "size", bl);
   }
+  db->submit_transaction_sync(txn);
+
   return 0;
 }
 
-int BitmapFreelistManager::init(KeyValueDB *kvdb)
+int BitmapFreelistManager::read_size_meta_from_db(KeyValueDB* kvdb,
+  uint64_t* res)
 {
-  dout(1) << __func__ << dendl;
+  bufferlist v;
+  int r = kvdb->get(meta_prefix, "size", &v);
+  if (r < 0) {
+    derr << __func__ << " missing size meta in DB" << dendl;
+    return ENOENT;
+  } else {
+    auto p = v.cbegin();
+    decode(*res, p);
+    r = 0;
+  }
+  return r;
+}
 
+void BitmapFreelistManager::_load_from_db(KeyValueDB* kvdb)
+{
   KeyValueDB::Iterator it = kvdb->get_iterator(meta_prefix);
   it->lower_bound(string());
 
@@ -165,31 +182,44 @@ int BitmapFreelistManager::init(KeyValueDB *kvdb)
       auto p = bl.cbegin();
       decode(bytes_per_block, p);
       dout(10) << __func__ << " bytes_per_block 0x" << std::hex
-              << bytes_per_block << std::dec << dendl;
+        << bytes_per_block << std::dec << dendl;
     } else if (k == "blocks") {
       bufferlist bl = it->value();
       auto p = bl.cbegin();
       decode(blocks, p);
       dout(10) << __func__ << " blocks 0x" << std::hex << blocks << std::dec
-              << dendl;
+        << dendl;
     } else if (k == "size") {
       bufferlist bl = it->value();
       auto p = bl.cbegin();
       decode(size, p);
       dout(10) << __func__ << " size 0x" << std::hex << size << std::dec
-              << dendl;
+        << dendl;
     } else if (k == "blocks_per_key") {
       bufferlist bl = it->value();
       auto p = bl.cbegin();
       decode(blocks_per_key, p);
       dout(10) << __func__ << " blocks_per_key 0x" << std::hex << blocks_per_key
-              << std::dec << dendl;
+        << std::dec << dendl;
     } else {
       derr << __func__ << " unrecognized meta " << k << dendl;
-      return -EIO;
     }
     it->next();
   }
+}
+
+
+int BitmapFreelistManager::init(const bluestore_bdev_label_t& label,
+  KeyValueDB *kvdb,
+  bool db_in_read_only)
+{
+  dout(1) << __func__ << dendl;
+  int r = _init_from_label(label);
+  if (r != 0) {
+    dout(1) << __func__ << " fall back to legacy meta repo" << dendl;
+    _load_from_db(kvdb);
+  }
+  _sync(kvdb, db_in_read_only);
 
   dout(10) << __func__ << std::hex
           << " size 0x" << size
@@ -201,6 +231,73 @@ int BitmapFreelistManager::init(KeyValueDB *kvdb)
   return 0;
 }
 
+int BitmapFreelistManager::_init_from_label(const bluestore_bdev_label_t& label)
+{
+  dout(1) << __func__ << dendl;
+
+  int r = ENOENT;
+  string err;
+
+  auto it = label.meta.find("bfm_size");
+  auto end = label.meta.end();
+  if (it != end) {
+    size = strict_iecstrtoll(it->second.c_str(), &err);
+    if (!err.empty()) {
+      derr << __func__ << " Failed to parse - "
+        << it->first << ":" << it->second
+        << ", error: " << err << dendl;
+      return r;
+    }
+  } else {
+    // this is expected for legacy deployed OSDs
+    dout(0) << __func__ << " bfm_size not found in bdev meta" << dendl;
+    return r;
+  }
+
+  it = label.meta.find("bfm_blocks");
+  if (it != end) {
+    blocks = strict_iecstrtoll(it->second.c_str(), &err);
+    if (!err.empty()) {
+      derr << __func__ << " Failed to parse - "
+        << it->first << ":" << it->second
+        << ", error: " << err << dendl;
+      return r;
+    }
+  } else {
+    derr << __func__ << " bfm_blocks not found in bdev meta" << dendl;
+    return r;
+  }
+
+  it = label.meta.find("bfm_bytes_per_block");
+  if (it != end) {
+    bytes_per_block = strict_iecstrtoll(it->second.c_str(), &err);
+    if (!err.empty()) {
+      derr << __func__ << " Failed to parse - "
+        << it->first << ":" << it->second
+        << ", error: " << err << dendl;
+      return r;
+    }
+  } else {
+    derr << __func__ << " bfm_bytes_per_block not found in bdev meta" << dendl;
+    return r;
+  }
+  it = label.meta.find("bfm_blocks_per_key");
+  if (it != end) {
+    blocks_per_key = strict_iecstrtoll(it->second.c_str(), &err);
+    if (!err.empty()) {
+      derr << __func__ << " Failed to parse - "
+        << it->first << ":" << it->second
+        << ", error: " << err << dendl;
+      return r;
+    }
+  } else {
+    derr << __func__ << " bfm_blocks_per_key not found in bdev meta" << dendl;
+    return r;
+  }
+  r = 0;
+  return 0;
+}
+
 void BitmapFreelistManager::_init_misc()
 {
   bufferptr z(blocks_per_key >> 3);
@@ -217,6 +314,31 @@ void BitmapFreelistManager::_init_misc()
           << dendl;
 }
 
+void BitmapFreelistManager::sync(KeyValueDB* kvdb)
+{
+  _sync(kvdb, true);
+}
+
+void BitmapFreelistManager::_sync(KeyValueDB* kvdb, bool read_only)
+{
+  dout(10) << __func__ << " checks if size sync is needed" << dendl;
+  uint64_t size_db = 0;
+  int r = read_size_meta_from_db(kvdb, &size_db);
+  ceph_assert(r >= 0);
+  if (!read_only && size_db < size) {
+    dout(1) << __func__ << " committing new size 0x" << std::hex << size
+      << std::dec << dendl;
+    r = _expand(size_db, kvdb);
+    ceph_assert(r == 0);
+  } else if (size_db > size) {
+    // this might hapen when OSD passed the following sequence:
+    // upgrade -> downgrade -> expand -> upgrade
+    // One needs to run expand once again to syncup
+    dout(1) << __func__ << " fall back to legacy meta repo" << dendl;
+    _load_from_db(kvdb);
+  }
+}
+
 void BitmapFreelistManager::shutdown()
 {
   dout(1) << __func__ << dendl;
@@ -598,3 +720,30 @@ void BitmapFreelistManager::_xor(
     }
   }
 }
+
+uint64_t BitmapFreelistManager::size_2_block_count(uint64_t target_size) const
+{
+  auto target_blocks = target_size / bytes_per_block;
+  if (target_blocks / blocks_per_key * blocks_per_key != target_blocks) {
+    target_blocks = (target_blocks / blocks_per_key + 1) * blocks_per_key;
+  }
+  return target_blocks;
+}
+
+void BitmapFreelistManager::get_meta(
+  uint64_t target_size,
+  std::vector<std::pair<string, string>>* res) const
+{
+  if (target_size == 0) {
+    res->emplace_back("bfm_blocks", stringify(blocks));
+    res->emplace_back("bfm_size", stringify(size));
+  } else {
+    target_size = p2align(target_size, bytes_per_block);
+    auto target_blocks = size_2_block_count(target_size);
+
+    res->emplace_back("bfm_blocks", stringify(target_blocks));
+    res->emplace_back("bfm_size", stringify(target_size));
+  }
+  res->emplace_back("bfm_bytes_per_block", stringify(bytes_per_block));
+  res->emplace_back("bfm_blocks_per_key", stringify(blocks_per_key));
+}
index 9f076e77f0a923ee912d4fcf736d45f2746053d4..61d6ad441f76072ef9ea0769bbb74d8ded4f992a 100644 (file)
@@ -46,6 +46,17 @@ class BitmapFreelistManager : public FreelistManager {
     uint64_t offset, uint64_t length,
     KeyValueDB::Transaction txn);
 
+  int _init_from_label(const bluestore_bdev_label_t& label);
+
+  int _expand(uint64_t new_size, KeyValueDB* db);
+
+  uint64_t size_2_block_count(uint64_t target_size) const;
+
+  int read_size_meta_from_db(KeyValueDB* kvdb, uint64_t* res);
+  void _sync(KeyValueDB* kvdb, bool read_only);
+
+  void _load_from_db(KeyValueDB* kvdb);
+
 public:
   BitmapFreelistManager(CephContext* cct, string meta_prefix,
                        string bitmap_prefix);
@@ -55,11 +66,12 @@ public:
   int create(uint64_t size, uint64_t granularity,
             KeyValueDB::Transaction txn) override;
 
-  int expand(uint64_t new_size,
-             KeyValueDB::Transaction txn) override;
+  int init(const bluestore_bdev_label_t& l,
+    KeyValueDB *kvdb,
+    bool db_in_read_only) override;
 
-  int init(KeyValueDB *kvdb) override;
   void shutdown() override;
+  void sync(KeyValueDB* kvdb) override;
 
   void dump(KeyValueDB *kvdb) override;
 
@@ -82,7 +94,8 @@ public:
   inline uint64_t get_alloc_size() const override {
     return bytes_per_block;
   }
-
+  void get_meta(uint64_t target_size,
+    std::vector<std::pair<string, string>>*) const override;
 };
 
 #endif
index 16a5b223f5613ca9562522ad5f3b99a75b81d1eb..4038fd4d3c1cba8c7496870f023e4110f1da5eae 100644 (file)
@@ -309,10 +309,12 @@ uint64_t BlueFS::get_block_device_size(unsigned id)
   return 0;
 }
 
-void BlueFS::_add_block_extent(unsigned id, uint64_t offset, uint64_t length)
+void BlueFS::_add_block_extent(unsigned id, uint64_t offset, uint64_t length,
+                               bool skip)
 {
   dout(1) << __func__ << " bdev " << id
          << " 0x" << std::hex << offset << "~" << length << std::dec
+         << " skip " << skip
          << dendl;
 
   ceph_assert(id < bdev.size());
@@ -321,7 +323,9 @@ void BlueFS::_add_block_extent(unsigned id, uint64_t offset, uint64_t length)
   block_all[id].insert(offset, length);
 
   if (id < alloc.size() && alloc[id]) {
-    log_t.op_alloc_add(id, offset, length);
+    if (!skip)
+      log_t.op_alloc_add(id, offset, length);
+
     alloc[id]->init_add_free(offset, length);
   }
 
@@ -431,12 +435,21 @@ void BlueFS::dump_block_extents(ostream& out)
     }
     auto owned = get_total(i);
     auto free = get_free(i);
+
     out << i << " : device size 0x" << std::hex << bdev[i]->get_size()
         << " : own 0x" << block_all[i]
         << " = 0x" << owned
         << " : using 0x" << owned - free
-       << std::dec << "(" << byte_u_t(owned - free) << ")"
-        << "\n";
+       << std::dec << "(" << byte_u_t(owned - free) << ")";
+    if (i == _get_slow_device_id()) {
+      ceph_assert(slow_dev_expander);
+      ceph_assert(alloc[i]);
+      free = slow_dev_expander->available_freespace(alloc_size[i]);
+      out << std::hex
+          << " : bluestore has 0x" << free
+          << std::dec << "(" << byte_u_t(free) << ") available";
+    }
+    out << "\n";
   }
 }
 
@@ -683,11 +696,11 @@ int BlueFS::maybe_verify_layout(const bluefs_layout_t& layout) const
   return 0;
 }
 
-void BlueFS::umount()
+void BlueFS::umount(bool avoid_compact)
 {
   dout(1) << __func__ << dendl;
 
-  sync_metadata();
+  sync_metadata(avoid_compact);
 
   _close_writer(log_writer);
   log_writer = NULL;
@@ -3011,9 +3024,9 @@ int BlueFS::_expand_slow_device(uint64_t need, PExtentVector& extents)
 {
   int r = -ENOSPC;
   if (slow_dev_expander) {
-    int id = _get_slow_device_id();
+    auto id = _get_slow_device_id();
     auto min_alloc_size = alloc_size[id];
-    ceph_assert(id <= (int)alloc.size() && alloc[id]);
+    ceph_assert(id <= alloc.size() && alloc[id]);
     auto min_need = round_up_to(need, min_alloc_size);
     need = std::max(need,
       slow_dev_expander->get_recommended_expansion_delta(
@@ -3166,7 +3179,7 @@ int BlueFS::_preallocate(FileRef f, uint64_t off, uint64_t len)
   return 0;
 }
 
-void BlueFS::sync_metadata()
+void BlueFS::sync_metadata(bool avoid_compact)
 {
   std::unique_lock l(lock);
   if (log_t.empty() && dirty_files.empty()) {
@@ -3179,7 +3192,7 @@ void BlueFS::sync_metadata()
     dout(10) << __func__ << " done in " << (ceph_clock_now() - start) << dendl;
   }
 
-  if (_should_compact_log()) {
+  if (!avoid_compact && _should_compact_log()) {
     if (cct->_conf->bluefs_compact_log_sync) {
       _compact_log_sync();
     } else {
index 8045f39c44963fa4e343195f32cdbf5c08e4a619..fa727715ca6a15111dbe9acf852ea378261bdb23 100644 (file)
@@ -341,7 +341,9 @@ private:
   FileRef _get_file(uint64_t ino);
   void _drop_link(FileRef f);
 
-  int _get_slow_device_id() { return bdev[BDEV_SLOW] ? BDEV_SLOW : BDEV_DB; }
+  unsigned _get_slow_device_id() {
+    return bdev[BDEV_SLOW] ? BDEV_SLOW : BDEV_DB;
+  }
   const char* get_device_name(unsigned id);
   int _expand_slow_device(uint64_t min_size, PExtentVector& extents);
   int _allocate(uint8_t bdev, uint64_t len,
@@ -431,7 +433,8 @@ private:
     return 4096;
   }
 
-  void _add_block_extent(unsigned bdev, uint64_t offset, uint64_t len);
+  void _add_block_extent(unsigned bdev, uint64_t offset, uint64_t len,
+                         bool skip=false);
 
 public:
   BlueFS(CephContext* cct);
@@ -441,7 +444,7 @@ public:
   int mkfs(uuid_d osd_uuid, const bluefs_layout_t& layout);
   int mount();
   int maybe_verify_layout(const bluefs_layout_t& layout) const;
-  void umount();
+  void umount(bool avoid_compact = false);
   int prepare_new_device(int id, const bluefs_layout_t& layout);
   
   int log_dump();
@@ -512,7 +515,7 @@ public:
   void compact_log();
 
   /// sync any uncommitted state to disk
-  void sync_metadata();
+  void sync_metadata(bool avoid_compact);
 
   void set_slow_device_expander(BlueFSDeviceExpander* a) {
     slow_dev_expander = a;
@@ -534,9 +537,10 @@ public:
   uint64_t get_block_device_size(unsigned bdev);
 
   /// gift more block space
-  void add_block_extent(unsigned bdev, uint64_t offset, uint64_t len) {
+  void add_block_extent(unsigned bdev, uint64_t offset, uint64_t len,
+                        bool skip=false) {
     std::unique_lock l(lock);
-    _add_block_extent(bdev, offset, len);
+    _add_block_extent(bdev, offset, len, skip);
     int r = _flush_and_sync_log(l);
     ceph_assert(r == 0);
   }
index 7f2f8991b9e12e141c5c4d5c62f6f66aae99ec56..51614c09d2cd61a736b8e4eb4585e6f44543f86c 100644 (file)
@@ -299,7 +299,7 @@ class BlueRocksDirectory : public rocksdb::Directory {
   // Fsync directory. Can be called concurrently from multiple threads.
   rocksdb::Status Fsync() override {
     // it is sufficient to flush the log.
-    fs->sync_metadata();
+    fs->sync_metadata(false);
     return rocksdb::Status::OK();
   }
 };
index 14c20bc016988af1bb57cdd9186aefa01a82a700..66c437fc8616d7029fb1911e853790f6323fcd39 100644 (file)
@@ -4834,8 +4834,7 @@ int BlueStore::_check_or_set_bdev_label(
     if (cct->_conf->bluestore_debug_permit_any_bdev_label) {
       dout(20) << __func__ << " bdev " << path << " fsid " << label.osd_uuid
           << " and fsid " << fsid << " check bypassed" << dendl;
-    }
-    else if (label.osd_uuid != fsid) {
+    } else if (label.osd_uuid != fsid) {
       derr << __func__ << " bdev " << path << " fsid " << label.osd_uuid
           << " does not match our fsid " << fsid << dendl;
       return -EIO;
@@ -4944,8 +4943,11 @@ void BlueStore::_close_bdev()
   bdev = NULL;
 }
 
-int BlueStore::_open_fm(KeyValueDB::Transaction t)
+int BlueStore::_open_fm(KeyValueDB::Transaction t, bool read_only)
 {
+  int r;
+  bluestore_bdev_label_t label;
+
   ceph_assert(fm == NULL);
   fm = FreelistManager::create(cct, freelist_type, PREFIX_ALLOC);
   ceph_assert(fm);
@@ -5017,9 +5019,19 @@ int BlueStore::_open_fm(KeyValueDB::Transaction t)
        start += l + u;
       }
     }
+    r = _write_out_fm_meta(0, false, &label);
+    ceph_assert(r == 0);
+  } else {
+    string p = path + "/block";
+    r = _read_bdev_label(cct, p, &label);
+    if (r < 0) {
+      derr << __func__ << " freelist init failed, error reading bdev label: " << cpp_strerror(r) << dendl;
+      delete fm;
+      fm = NULL;
+      return r;
+    }
   }
-
-  int r = fm->init(db);
+  r = fm->init(label, db, read_only);
   if (r < 0) {
     derr << __func__ << " freelist init failed: " << cpp_strerror(r) << dendl;
     delete fm;
@@ -5051,6 +5063,34 @@ void BlueStore::_close_fm()
   fm = NULL;
 }
 
+int BlueStore::_write_out_fm_meta(uint64_t target_size,
+  bool update_root_size,
+  bluestore_bdev_label_t* res_label)
+{
+  string p = path + "/block";
+
+  std::vector<std::pair<string, string>> fm_meta;
+  fm->get_meta(target_size, &fm_meta);
+
+  bluestore_bdev_label_t label;
+  int r = _read_bdev_label(cct, p, &label);
+  if (r < 0)
+    return r;
+
+  for (auto& m : fm_meta) {
+    label.meta[m.first] = m.second;
+  }
+  if (update_root_size) {
+    label.size = target_size;
+  }
+  r = _write_bdev_label(cct, p, label);
+  if (res_label) {
+    *res_label = label;
+  }
+
+  return r;
+}
+
 int BlueStore::_open_alloc()
 {
   ceph_assert(alloc == NULL);
@@ -5093,15 +5133,17 @@ int BlueStore::_open_alloc()
     bytes += length;
   }
   fm->enumerate_reset();
-  dout(1) << __func__ << " loaded " << byte_u_t(bytes)
-         << " in " << num << " extents"
-         << dendl;
 
   // also mark bluefs space as allocated
   for (auto e = bluefs_extents.begin(); e != bluefs_extents.end(); ++e) {
     alloc->init_rm_free(e.get_start(), e.get_len());
   }
 
+  dout(1) << __func__ << " loaded " << byte_u_t(bytes)
+    << " in " << num << " extents"
+    << " available " << byte_u_t(alloc->get_free())
+    << dendl;
+
   return 0;
 }
 
@@ -5454,9 +5496,9 @@ int BlueStore::_open_bluefs(bool create)
   return r;
 }
 
-void BlueStore::_close_bluefs()
+void BlueStore::_close_bluefs(bool cold_close)
 {
-  bluefs->umount();
+  bluefs->umount(cold_close);
   _minimal_close_bluefs();
 }
 
@@ -5511,7 +5553,7 @@ int BlueStore::_open_db_and_around(bool read_only)
       goto out_db;
     }
 
-    r = _open_fm(nullptr);
+    r = _open_fm(nullptr, true);
     if (r < 0)
       goto out_db;
 
@@ -5521,7 +5563,7 @@ int BlueStore::_open_db_and_around(bool read_only)
 
     // now open in R/W mode
     if (!read_only) {
-      _close_db();
+      _close_db(true);
 
       r = _open_db(false, false, false);
       if (r < 0) {
@@ -5529,6 +5571,7 @@ int BlueStore::_open_db_and_around(bool read_only)
        _close_fm();
        return r;
       }
+      fm->sync(db);
     }
   } else {
     r = _open_db(false, false);
@@ -5540,7 +5583,7 @@ int BlueStore::_open_db_and_around(bool read_only)
       goto out_db;
     }
 
-    r = _open_fm(nullptr);
+    r = _open_fm(nullptr, false);
     if (r < 0)
       goto out_db;
 
@@ -5553,18 +5596,18 @@ int BlueStore::_open_db_and_around(bool read_only)
  out_fm:
   _close_fm();
  out_db:
-  _close_db();
+  _close_db(read_only);
   return r;
 }
 
-void BlueStore::_close_db_and_around()
+void BlueStore::_close_db_and_around(bool read_only)
 {
   if (bluefs) {
-    if (out_of_sync_fm.fetch_and(0)) {
+    if (!read_only && out_of_sync_fm.fetch_and(0)) {
       _sync_bluefs_and_fm();
     }
-    _close_db();
-    while(out_of_sync_fm.fetch_and(0)) {
+    _close_db(read_only);
+    while(!read_only && out_of_sync_fm.fetch_and(0)) {
       // if seen some allocations during close - repeat open_db, sync fm, close
       dout(0) << __func__ << " syncing FreelistManager" << dendl;
       int r = _open_db(false, false, false);
@@ -5575,7 +5618,7 @@ void BlueStore::_close_db_and_around()
        break;
       }
       _sync_bluefs_and_fm();
-      _close_db();
+      _close_db(false);
     }
     if (!_kv_only) {
       _close_alloc();
@@ -5584,7 +5627,7 @@ void BlueStore::_close_db_and_around()
   } else {
     _close_alloc();
     _close_fm();
-    _close_db();
+    _close_db(read_only);
   }
 }
 
@@ -5670,8 +5713,7 @@ int BlueStore::_open_db(bool create, bool to_repair_db, bool read_only)
         (void)r;
       }
       env = new rocksdb::EnvMirror(b, a, false, true);
-    }
-    else {
+    } else {
       env = new BlueRocksEnv(bluefs);
 
       // simplify the dir names, too, as "seen" by rocksdb
@@ -5753,7 +5795,7 @@ int BlueStore::_open_db(bool create, bool to_repair_db, bool read_only)
   if (!db) {
     derr << __func__ << " error creating db" << dendl;
     if (bluefs) {
-      _close_bluefs();
+      _close_bluefs(read_only);
     }
     // delete env manually here since we can't depend on db to do this
     // under this case
@@ -5798,7 +5840,7 @@ int BlueStore::_open_db(bool create, bool to_repair_db, bool read_only)
   }
   if (r) {
     derr << __func__ << " erroring opening db: " << err.str() << dendl;
-    _close_db();
+    _close_db(read_only);
     return -EIO;
   }
   dout(1) << __func__ << " opened " << kv_backend
@@ -5806,13 +5848,13 @@ int BlueStore::_open_db(bool create, bool to_repair_db, bool read_only)
   return 0;
 }
 
-void BlueStore::_close_db()
+void BlueStore::_close_db(bool cold_close)
 {
   ceph_assert(db);
   delete db;
   db = NULL;
   if (bluefs) {
-    _close_bluefs();
+    _close_bluefs(cold_close);
   }
 }
 
@@ -6395,7 +6437,7 @@ int BlueStore::mkfs()
 
   {
     KeyValueDB::Transaction t = db->get_transaction();
-    r = _open_fm(t);
+    r = _open_fm(t, true);
     if (r < 0)
       goto out_close_db;
     {
@@ -6443,7 +6485,7 @@ int BlueStore::mkfs()
  out_close_fm:
   _close_fm();
  out_close_db:
-  _close_db();
+  _close_db(false);
  out_close_bdev:
   _close_bdev();
  out_close_fsid:
@@ -6492,7 +6534,7 @@ int BlueStore::_mount_for_bluefs()
 
 void BlueStore::_umount_for_bluefs()
 {
-  _close_bluefs();
+  _close_bluefs(false);
   _close_fsid();
   _close_path();
 }
@@ -6565,7 +6607,7 @@ int BlueStore::add_new_bluefs_device(int id, const string& dev_path)
   bluefs->add_block_extent(
     id,
     reserved,
-    bluefs->get_block_device_size(id) - reserved);
+    bluefs->get_block_device_size(id) - reserved, true);
 
   r = bluefs->prepare_new_device(id, bluefs_layout);
   ceph_assert(r == 0);
@@ -6791,10 +6833,10 @@ string BlueStore::get_device_path(unsigned id)
 
 int BlueStore::expand_devices(ostream& out)
 {
-  int r = _mount(false);
+  int r = cold_open();
   ceph_assert(r == 0);
   bluefs->dump_block_extents(out);
-  out << "Expanding..." << std::endl;
+  out << "Expanding DB/WAL..." << std::endl;
   for (auto devid : { BlueFS::BDEV_WAL, BlueFS::BDEV_DB}) {
     if (devid == bluefs_layout.shared_bdev ) {
       continue;
@@ -6844,37 +6886,27 @@ int BlueStore::expand_devices(ostream& out)
   uint64_t size = bdev->get_size();
   if (size0 < size) {
     out << bluefs_layout.shared_bdev
-       <<" : expanding " << " from 0x" << std::hex
-       << size0 << " to 0x" << size << std::dec << std::endl;
-    KeyValueDB::Transaction txn;
-    txn = db->get_transaction();
-    int r = fm->expand(size, txn);
+      << " : expanding " << " from 0x" << std::hex
+      << size0 << " to 0x" << size << std::dec << std::endl;
+    _write_out_fm_meta(size, true);
+    cold_close();
+
+    // mount in read/write to sync expansion changes
+    r = _mount(false);
     ceph_assert(r == 0);
-    db->submit_transaction_sync(txn);
-
-     // always reference to slow device here
-    string p = get_device_path(BlueFS::BDEV_SLOW);
-    ceph_assert(!p.empty());
-    const char* path = p.c_str();
-    bluestore_bdev_label_t label;
-    r = _read_bdev_label(cct, path, &label);
-    if (r < 0) {
-      derr << "unable to read label for " << path << ": "
-           << cpp_strerror(r) << dendl;
-    } else {
-      label.size = size;
-      r = _write_bdev_label(cct, path, label);
-      if (r < 0) {
-       derr << "unable to write label for " << path << ": "
-             << cpp_strerror(r) << dendl;
-      } else {
-       out << bluefs_layout.shared_bdev
-             <<" : size label updated to " << size
-             << std::endl;
-      }
-    }
+    umount();
+  } else {
+    cold_close();
   }
-  umount();
+  return r;
+}
+
+int BlueStore::dump_bluefs_sizes(ostream& out)
+{
+  int r = cold_open();
+  ceph_assert(r == 0);
+  bluefs->dump_block_extents(out);
+  cold_close();
   return r;
 }
 
@@ -7017,7 +7049,7 @@ int BlueStore::_mount(bool kv_only, bool open_db)
  out_coll:
   _flush_cache();
  out_db:
-  _close_db_and_around();
+  _close_db_and_around(false);
  out_bdev:
   _close_bdev();
  out_fsid:
@@ -7043,7 +7075,7 @@ int BlueStore::umount()
     dout(20) << __func__ << " closing" << dendl;
 
   }
-  _close_db_and_around();
+  _close_db_and_around(false);
   _close_bdev();
   _close_fsid();
   _close_path();
@@ -7095,7 +7127,7 @@ int BlueStore::cold_open()
 }
 int BlueStore::cold_close()
 {
-  _close_db_and_around();
+  _close_db_and_around(true);
   _close_bdev();
   _close_fsid();
   _close_path();
@@ -8161,7 +8193,7 @@ out_scan:
   mempool_thread.shutdown();
   _flush_cache();
 out_db:
-  _close_db_and_around();
+  _close_db_and_around(false);
 out_bdev:
   _close_bdev();
 out_fsid:
@@ -8250,8 +8282,7 @@ int BlueStore::_fsck_on_open(BlueStore::FSCKDepth depth, bool repair)
         e.get_start(), e.get_len(), fm->get_alloc_size(), used_blocks,
         [&](uint64_t pos, mempool_dynamic_bitset &bs) {
           bs.set(pos);
-        }
-       );
+        });
     }
     int r = bluefs->fsck();
     if (r < 0) {
@@ -11001,6 +11032,7 @@ int BlueStore::_upgrade_super()
     ceph_assert(ondisk_format > 0);
     ceph_assert(ondisk_format < latest_ondisk_format);
 
+    KeyValueDB::Transaction t = db->get_transaction();
     if (ondisk_format == 1) {
       // changes:
       // - super: added ondisk_format
@@ -11008,7 +11040,6 @@ int BlueStore::_upgrade_super()
       // - super: added min_compat_ondisk_format
       // - super: added min_alloc_size
       // - super: removed min_min_alloc_size
-      KeyValueDB::Transaction t = db->get_transaction();
       {
        bufferlist bl;
        db->get(PREFIX_SUPER, "min_min_alloc_size", &bl);
@@ -11025,9 +11056,6 @@ int BlueStore::_upgrade_super()
        t->rmkey(PREFIX_SUPER, "min_min_alloc_size");
       }
       ondisk_format = 2;
-      _prepare_ondisk_format_super(t);
-      int r = db->submit_transaction_sync(t);
-      ceph_assert(r == 0);
     }
     if (ondisk_format == 2) {
       // changes:
@@ -11037,11 +11065,18 @@ int BlueStore::_upgrade_super()
       // - super: added per_pool_omap key, which indicates that *all* objects
       //   are using the new prefix and key format
       ondisk_format = 3;
-      KeyValueDB::Transaction t = db->get_transaction();
-      _prepare_ondisk_format_super(t);
-      int r = db->submit_transaction_sync(t);
+    }
+    if (ondisk_format == 3) {
+      // changes:
+      // - FreelistManager keeps meta within bdev label
+      int r = _write_out_fm_meta(0);
       ceph_assert(r == 0);
+      ondisk_format = 4;
     }
+    // This to be the last operation
+    _prepare_ondisk_format_super(t);
+    int r = db->submit_transaction_sync(t);
+    ceph_assert(r == 0);
   }
   // done
   dout(1) << __func__ << " done" << dendl;
@@ -13235,7 +13270,10 @@ void BlueStore::_do_write_small(
   uint64_t b_off0 = b_off;
   _pad_zeros(&bl, &b_off0, block_size);
   o->extent_map.punch_hole(c, offset, length, &wctx->old_extents);
-  wctx->write(offset, b, alloc_len, b_off0, bl, b_off, length, true, true);
+  wctx->write(offset, b, alloc_len, b_off0, bl, b_off, length,
+    min_alloc_size != block_size, // use 'unused' bitmap when alloc granularity
+                                  // doesn't match disk one only
+    true);
 
   return;
 }
@@ -13575,12 +13613,14 @@ int BlueStore::_do_alloc_write(
     }
 
     if (wi.mark_unused) {
+      ceph_assert(!dblob.is_compressed());
       auto b_end = b_off + wi.bl.length();
       if (b_off) {
         dblob.add_unused(0, b_off);
       }
-      if (b_end < wi.blob_length) {
-        dblob.add_unused(b_end, wi.blob_length - b_end);
+      uint64_t llen = dblob.get_logical_length();
+      if (b_end < llen) {
+        dblob.add_unused(b_end, llen - b_end);
       }
     }
 
index 1185a1b775a6bff6d68851a69d8c9be6f0dd8630..55787e1b2986bd61dcc129b3205ba38e690cb190 100644 (file)
@@ -2243,7 +2243,7 @@ private:
   int _minimal_open_bluefs(bool create);
   void _minimal_close_bluefs();
   int _open_bluefs(bool create);
-  void _close_bluefs();
+  void _close_bluefs(bool cold_close);
 
   // Limited (u)mount intended for BlueFS operations only
   int _mount_for_bluefs();
@@ -2256,7 +2256,7 @@ private:
   * in the proper order
   */
   int _open_db_and_around(bool read_only);
-  void _close_db_and_around();
+  void _close_db_and_around(bool read_only);
 
   // updates legacy bluefs related recs in DB to a state valid for
   // downgrades from nautilus.
@@ -2269,9 +2269,12 @@ private:
   int _open_db(bool create,
               bool to_repair_db=false,
               bool read_only = false);
-  void _close_db();
-  int _open_fm(KeyValueDB::Transaction t);
+  void _close_db(bool read_only);
+  int _open_fm(KeyValueDB::Transaction t, bool read_only);
   void _close_fm();
+  int _write_out_fm_meta(uint64_t target_size,
+    bool update_root_size = false,
+    bluestore_bdev_label_t* res_label = nullptr);
   int _open_alloc();
   void _close_alloc();
   int _open_collections();
@@ -2430,7 +2433,7 @@ private:
 
   // -- ondisk version ---
 public:
-  const int32_t latest_ondisk_format = 3;        ///< our version
+  const int32_t latest_ondisk_format = 4;        ///< our version
   const int32_t min_readable_ondisk_format = 1;  ///< what we can read
   const int32_t min_compat_ondisk_format = 3;    ///< who can read us
 
@@ -2572,6 +2575,8 @@ public:
   int expand_devices(ostream& out);
   string get_device_path(unsigned id);
 
+  int dump_bluefs_sizes(ostream& out);
+
 public:
   int statfs(struct store_statfs_t *buf,
              osd_alert_list_t* alerts = nullptr) override;
index 56e05d1434a01bc80460ef4855aeaa1172813d52..300112e13ef86c86cd1d2235df0838cad89a3664 100644 (file)
@@ -5,10 +5,11 @@
 #define CEPH_OS_BLUESTORE_FREELISTMANAGER_H
 
 #include <string>
-#include <map>
+#include <vector>
 #include <mutex>
 #include <ostream>
 #include "kv/KeyValueDB.h"
+#include "bluestore_types.h"
 
 class FreelistManager {
 public:
@@ -26,10 +27,10 @@ public:
   virtual int create(uint64_t size, uint64_t granularity,
                     KeyValueDB::Transaction txn) = 0;
 
-  virtual int expand(uint64_t new_size,
-                    KeyValueDB::Transaction txn) = 0;
-
-  virtual int init(KeyValueDB *kvdb) = 0;
+  virtual int init(const bluestore_bdev_label_t& l,
+    KeyValueDB *kvdb,
+    bool db_in_read_only) = 0;
+  virtual void sync(KeyValueDB* kvdb) = 0;
   virtual void shutdown() = 0;
 
   virtual void dump(KeyValueDB *kvdb) = 0;
@@ -48,6 +49,8 @@ public:
   virtual uint64_t get_alloc_units() const = 0;
   virtual uint64_t get_alloc_size() const = 0;
 
+  virtual void get_meta(uint64_t target_size,
+    std::vector<std::pair<string, string>>*) const = 0;
 };
 
 
index 66b5a796dde294f4a68ff2c769551db63a9af2ae..b5f005797321eb6b550620b86d3cf452a60ee357 100644 (file)
@@ -561,9 +561,8 @@ int main(int argc, char **argv)
     }
   }
   else if (action == "bluefs-bdev-sizes") {
-    BlueFS *fs = open_bluefs(cct.get(), path, devs);
-    fs->dump_block_extents(cout);
-    delete fs;
+    BlueStore bluestore(cct.get(), path);
+    bluestore.dump_bluefs_sizes(cout);
   }
   else if (action == "bluefs-bdev-expand") {
     BlueStore bluestore(cct.get(), path);
index 63f7c0fd8abf7ae67e01129f940718f0f06f9c2b..7ed4eb7b04de02ccbc1fb63162959ca58948c4ae 100644 (file)
@@ -633,6 +633,7 @@ public:
     if (!has_unused()) {
       return false;
     }
+    ceph_assert(!is_compressed());
     uint64_t blob_len = get_logical_length();
     ceph_assert((blob_len % (sizeof(unused)*8)) == 0);
     ceph_assert(offset + length <= blob_len);
@@ -648,6 +649,7 @@ public:
 
   /// mark a range that has never been used
   void add_unused(uint64_t offset, uint64_t length) {
+    ceph_assert(!is_compressed());
     uint64_t blob_len = get_logical_length();
     ceph_assert((blob_len % (sizeof(unused)*8)) == 0);
     ceph_assert(offset + length <= blob_len);
@@ -665,6 +667,7 @@ public:
   /// indicate that a range has (now) been used.
   void mark_used(uint64_t offset, uint64_t length) {
     if (has_unused()) {
+      ceph_assert(!is_compressed());
       uint64_t blob_len = get_logical_length();
       ceph_assert((blob_len % (sizeof(unused)*8)) == 0);
       ceph_assert(offset + length <= blob_len);
index 10ffec25291013069699401b9355b261f93ea96f..5a49aaf4514e94c02f786dfd7949740f7f577bfa 100644 (file)
@@ -4093,9 +4093,10 @@ void PeeringState::calc_trim_to_aggressive()
   size_t target = pl->get_target_pg_log_entries();
 
   // limit pg log trimming up to the can_rollback_to value
-  eversion_t limit = std::min(
+  eversion_t limit = std::min({
     pg_log.get_head(),
-    pg_log.get_can_rollback_to());
+    pg_log.get_can_rollback_to(),
+    last_update_ondisk});
   psdout(10) << __func__ << " limit = " << limit << dendl;
 
   if (limit != eversion_t() &&
index 160ca0090e1b364792e017cfd0ce89ad2839f652..ede2258065b85b4abf587da70632ce65a84b7ea1 100644 (file)
@@ -2273,6 +2273,10 @@ public:
     return last_update_applied;
   }
 
+  eversion_t get_last_update_ondisk() const {
+    return last_update_ondisk;
+  }
+
   bool debug_has_dirty_state() const {
     return dirty_info || dirty_big_info;
   }
index 5332703ba33bc47a04836275d35bcab7daf5de52..a16ba09eb22d18d63f79b67856d52937c116c071 100644 (file)
@@ -5591,7 +5591,6 @@ int PrimaryLogPG::do_sparse_read(OpContext *ctx, OSDOp& osd_op) {
   } else {
     // read into a buffer
     map<uint64_t, uint64_t> m;
-    uint32_t total_read = 0;
     int r = osd->store->fiemap(ch, ghobject_t(soid, ghobject_t::NO_GEN,
                                              info.pgid.shard),
                               op.extent.offset, op.extent.length, m);
@@ -5626,7 +5625,7 @@ int PrimaryLogPG::do_sparse_read(OpContext *ctx, OSDOp& osd_op) {
       }
     }
 
-    op.extent.length = total_read;
+    op.extent.length = r;
 
     encode(m, osd_op.outdata); // re-encode since it might be modified
     ::encode_destructively(data_bl, osd_op.outdata);
index fd303e2ac5440dc554db0a0954231f5db829c10d..afa54ab503adc21de938432b850fb7127fea3a72 100644 (file)
@@ -463,6 +463,9 @@ public:
     bool transaction_applied,
     ObjectStore::Transaction &t,
     bool async = false) override {
+    if (is_primary()) {
+      ceph_assert(trim_to <= recovery_state.get_last_update_ondisk());
+    }
     if (hset_history) {
       recovery_state.update_hset(*hset_history);
     }
index 94e30cd4893b3601918fc4362e591e8911e2521e..537c4d4102fa6ddb76e63512202dd25db0c8fd7a 100644 (file)
@@ -2,7 +2,7 @@ import json
 import errno
 import logging
 import time
-import yaml
+from copy import copy
 from threading import Event
 from functools import wraps
 
@@ -30,7 +30,7 @@ import uuid
 
 from ceph.deployment import inventory, translate
 from ceph.deployment.drive_group import DriveGroupSpec
-from ceph.deployment.drive_selection import selector
+from ceph.deployment.drive_selection.selector import DriveSelection
 from ceph.deployment.service_spec import \
     HostPlacementSpec, NFSServiceSpec, ServiceSpec, PlacementSpec, assert_valid_host
 
@@ -60,10 +60,13 @@ except ImportError:
 
 logger = logging.getLogger(__name__)
 
-DEFAULT_SSH_CONFIG = ('Host *\n'
-                      'User root\n'
-                      'StrictHostKeyChecking no\n'
-                      'UserKnownHostsFile /dev/null\n')
+DEFAULT_SSH_CONFIG = """
+Host *
+  User root
+  StrictHostKeyChecking no
+  UserKnownHostsFile /dev/null
+  ConnectTimeout=30
+"""
 
 DATEFMT = '%Y-%m-%dT%H:%M:%S.%f'
 CEPH_DATEFMT = '%Y-%m-%dT%H:%M:%S.%fZ'
@@ -135,14 +138,15 @@ class SpecStore():
         )
 
     def rm(self, service_name):
-        # type: (str) -> None
-        if service_name in self.specs:
+        # type: (str) -> bool
+        found = service_name in self.specs
+        if found:
             del self.specs[service_name]
             del self.spec_created[service_name]
             self.mgr.set_store(SPEC_STORE_PREFIX + service_name, None)
+        return found
 
-    def find(self, service_name=None):
-        # type: (Optional[str]) -> List[ServiceSpec]
+    def find(self, service_name: Optional[str] = None) -> List[ServiceSpec]:
         specs = []
         for sn, spec in self.specs.items():
             if not service_name or \
@@ -156,7 +160,7 @@ class SpecStore():
 class HostCache():
     def __init__(self, mgr):
         # type: (CephadmOrchestrator) -> None
-        self.mgr = mgr
+        self.mgr: CephadmOrchestrator = mgr
         self.daemons = {}   # type: Dict[str, Dict[str, orchestrator.DaemonDescription]]
         self.last_daemon_update = {}   # type: Dict[str, datetime.datetime]
         self.devices = {}              # type: Dict[str, List[inventory.Device]]
@@ -230,7 +234,7 @@ class HostCache():
             'deps': deps,
             'last_config': stamp,
         }
+
     def update_last_host_check(self, host):
         # type: (str) -> None
         self.last_host_check[host] = datetime.datetime.utcnow()
@@ -317,6 +321,18 @@ class HostCache():
                 r.append(dd)
         return r
 
+    def get_daemons_with_volatile_status(self) -> Iterator[Tuple[str, Dict[str, orchestrator.DaemonDescription]]]:
+        for host, dm in self.daemons.items():
+            if host in self.mgr.offline_hosts:
+                def set_offline(dd: orchestrator.DaemonDescription) -> orchestrator.DaemonDescription:
+                    ret = copy(dd)
+                    ret.status = -1
+                    ret.status_desc = 'host is offline'
+                    return ret
+                yield host, {name: set_offline(d) for name, d in dm.items()}
+            else:
+                yield host, dm
+
     def get_daemons_by_service(self, service_name):
         # type: (str) -> List[orchestrator.DaemonDescription]
         result = []   # type: List[orchestrator.DaemonDescription]
@@ -343,6 +359,9 @@ class HostCache():
 
     def host_needs_daemon_refresh(self, host):
         # type: (str) -> bool
+        if host in self.mgr.offline_hosts:
+            logger.debug(f'Host "{host}" marked as offline. Skipping daemon refresh')
+            return False
         if host in self.daemon_refresh_queue:
             self.daemon_refresh_queue.remove(host)
             return True
@@ -354,6 +373,9 @@ class HostCache():
 
     def host_needs_device_refresh(self, host):
         # type: (str) -> bool
+        if host in self.mgr.offline_hosts:
+            logger.debug(f'Host "{host}" marked as offline. Skipping device refresh')
+            return False
         if host in self.device_refresh_queue:
             self.device_refresh_queue.remove(host)
             return True
@@ -707,6 +729,9 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule):
             if h not in self.inventory:
                 self.cache.rm_host(h)
 
+        # in-memory only.
+        self.offline_hosts: Set[str] = set()
+
     def shutdown(self):
         self.log.debug('shutdown')
         self._worker_pool.close()
@@ -997,38 +1022,6 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule):
         self._save_upgrade_state()
         return
 
-    def _check_hosts(self):
-        self.log.debug('_check_hosts')
-        bad_hosts = []
-        hosts = self.inventory.keys()
-        for host in hosts:
-            if host not in self.inventory:
-                continue
-            self.log.debug(' checking %s' % host)
-            try:
-                out, err, code = self._run_cephadm(
-                    host, 'client', 'check-host', [],
-                    error_ok=True, no_fsid=True)
-                if code:
-                    self.log.debug(' host %s failed check' % host)
-                    if self.warn_on_failed_host_check:
-                        bad_hosts.append('host %s failed check: %s' % (host, err))
-                else:
-                    self.log.debug(' host %s ok' % host)
-            except Exception as e:
-                self.log.debug(' host %s failed check' % host)
-                bad_hosts.append('host %s failed check: %s' % (host, e))
-        if 'CEPHADM_HOST_CHECK_FAILED' in self.health_checks:
-            del self.health_checks['CEPHADM_HOST_CHECK_FAILED']
-        if bad_hosts:
-            self.health_checks['CEPHADM_HOST_CHECK_FAILED'] = {
-                'severity': 'warning',
-                'summary': '%d hosts fail cephadm check' % len(bad_hosts),
-                'count': len(bad_hosts),
-                'detail': bad_hosts,
-            }
-        self.set_health_checks(self.health_checks)
-
     def _check_host(self, host):
         if host not in self.inventory:
             return
@@ -1077,7 +1070,7 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule):
                     host_detail.append(
                         'stray host %s has %d stray daemons: %s' % (
                             host, len(missing_names), missing_names))
-            if host_detail:
+            if self.warn_on_stray_hosts and host_detail:
                 self.health_checks['CEPHADM_STRAY_HOST'] = {
                     'severity': 'warning',
                     'summary': '%d stray host(s) with %s daemon(s) '
@@ -1086,7 +1079,7 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule):
                     'count': len(host_detail),
                     'detail': host_detail,
                 }
-            if daemon_detail:
+            if self.warn_on_stray_daemons and daemon_detail:
                 self.health_checks['CEPHADM_STRAY_DAEMON'] = {
                     'severity': 'warning',
                     'summary': '%d stray daemons(s) not managed by cephadm' % (
@@ -1261,7 +1254,6 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule):
         Returns the generic service name
         """
         p = re.compile(r'(.*)\.%s.*' % (host))
-        p.sub(r'\1', daemon_id)
         return '%s.%s' % (daemon_type, p.sub(r'\1', daemon_id))
 
     def _save_inventory(self):
@@ -1339,6 +1331,11 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule):
             conn.exit()
         self._cons = {}
 
+    def offline_hosts_remove(self, host):
+        if host in self.offline_hosts:
+            self.offline_hosts.remove(host)
+
+
     @staticmethod
     def can_run():
         if remoto is not None:
@@ -1429,7 +1426,7 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule):
             tmp_dir = TemporaryDirectory()
             path = tmp_dir.name + '/key'
             try:
-                subprocess.call([
+                subprocess.check_call([
                     '/usr/bin/ssh-keygen',
                     '-C', 'ceph-%s' % self._cluster_fsid,
                     '-N', '',
@@ -1565,13 +1562,22 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule):
         if not addr and host in self.inventory:
             addr = self.inventory[host].get('addr', host)
 
+        self.offline_hosts_remove(host)
+
         try:
-            conn, connr = self._get_connection(addr)
+            try:
+                conn, connr = self._get_connection(addr)
+            except IOError as e:
+                if error_ok:
+                    self.log.exception('failed to establish ssh connection')
+                    return [], [str("Can't communicate with remote host, possibly because python3 is not installed there")], 1
+                raise
 
             assert image or entity
             if not image:
                 daemon_type = entity.split('.', 1)[0] # type: ignore
-                if daemon_type in CEPH_TYPES:
+                if daemon_type in CEPH_TYPES or \
+                        daemon_type == 'nfs':
                     # get container image
                     ret, image, err = self.mon_command({
                         'prefix': 'config get',
@@ -1642,6 +1648,7 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule):
             # this is a misleading exception as it seems to be thrown for
             # any sort of connection failure, even those having nothing to
             # do with "host not found" (e.g., ssh key permission denied).
+            self.offline_hosts.add(host)
             user = 'root' if self.mode == 'root' else 'cephadm'
             msg = f'Failed to connect to {host} ({addr}).  ' \
                   f'Check that the host is reachable and accepts connections using the cephadm SSH key\n' \
@@ -1680,6 +1687,7 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule):
         self.inventory[spec.hostname] = spec.to_json()
         self._save_inventory()
         self.cache.prime_empty_host(spec.hostname)
+        self.offline_hosts_remove(spec.hostname)
         self.event.set()  # refresh stray health check
         self.log.info('Added host %s' % spec.hostname)
         return "Added host '{}'".format(spec.hostname)
@@ -1726,7 +1734,7 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule):
                 hostname,
                 addr=info.get('addr', hostname),
                 labels=info.get('labels', []),
-                status=info.get('status', ''),
+                status='Offline' if hostname in self.offline_hosts else info.get('status', ''),
             ))
         return r
 
@@ -1859,7 +1867,7 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule):
                 self._refresh_host_daemons(host)
         # <service_map>
         sm = {}  # type: Dict[str, orchestrator.ServiceDescription]
-        for h, dm in self.cache.daemons.items():
+        for h, dm in self.cache.get_daemons_with_volatile_status():
             for name, dd in dm.items():
                 if service_type and service_type != dd.daemon_type:
                     continue
@@ -1868,20 +1876,30 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule):
                     continue
                 if dd.daemon_type == 'osd':
                     continue                # ignore OSDs for now
-                spec = None
                 if dd.service_name() in self.spec_store.specs:
                     spec = self.spec_store.specs[dd.service_name()]
+                else:
+                    spec = ServiceSpec(
+                        unmanaged=True,
+                        service_type=dd.daemon_type,
+                        service_id=dd.service_id(),
+                        placement=PlacementSpec(
+                            hosts=[dd.hostname]
+                        )
+                    )
                 if n not in sm:
                     sm[n] = orchestrator.ServiceDescription(
-                        service_name=n,
                         last_refresh=dd.last_refresh,
                         container_image_id=dd.container_image_id,
                         container_image_name=dd.container_image_name,
                         spec=spec,
                     )
-                if spec:
+                if dd.service_name() in self.spec_store.specs:
                     sm[n].size = self._get_spec_size(spec)
                     sm[n].created = self.spec_store.spec_created[dd.service_name()]
+                    if service_type == 'nfs':
+                        spec = cast(NFSServiceSpec, spec)
+                        sm[n].rados_config_location = spec.rados_config_location()
                 else:
                     sm[n].size = 0
                 if dd.status == 1:
@@ -1900,12 +1918,14 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule):
             if service_name is not None and service_name != n:
                 continue
             sm[n] = orchestrator.ServiceDescription(
-                service_name=n,
                 spec=spec,
                 size=self._get_spec_size(spec),
                 running=0,
             )
-        return [s for n, s in sm.items()]
+            if service_type == 'nfs':
+                spec = cast(NFSServiceSpec, spec)
+                sm[n].rados_config_location = spec.rados_config_location()
+        return list(sm.values())
 
     @trivial_completion
     def list_daemons(self, service_name=None, daemon_type=None, daemon_id=None,
@@ -1918,7 +1938,7 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule):
                 for hostname, hi in self.inventory.items():
                     self._refresh_host_daemons(hostname)
         result = []
-        for h, dm in self.cache.daemons.items():
+        for h, dm in self.cache.get_daemons_with_volatile_status():
             if host and h != host:
                 continue
             for name, dd in dm.items():
@@ -1998,9 +2018,13 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule):
     @trivial_completion
     def remove_service(self, service_name):
         self.log.info('Remove service %s' % service_name)
-        self.spec_store.rm(service_name)
-        self._kick_serve_loop()
-        return ['Removed service %s' % service_name]
+        found = self.spec_store.rm(service_name)
+        if found:
+            self._kick_serve_loop()
+            return ['Removed service %s' % service_name]
+        else:
+            # must be idempotent: still a success.
+            return [f'Failed to remove service. <{service_name}> was not found.']
 
     @trivial_completion
     def get_inventory(self, host_filter=None, refresh=False):
@@ -2066,27 +2090,72 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule):
         return blink(locs)
 
     def get_osd_uuid_map(self, only_up=False):
-        # type: (bool) -> Dict[str,str]
+        # type: (bool) -> Dict[str, str]
         osd_map = self.get('osd_map')
         r = {}
         for o in osd_map['osds']:
             # only include OSDs that have ever started in this map.  this way
             # an interrupted osd create can be repeated and succeed the second
             # time around.
-            if not only_up or o['up_from'] > 0:
-                r[str(o['osd'])] = o['uuid']
+            osd_id = o.get('osd')
+            if osd_id is None:
+                raise OrchestratorError("Could not retrieve osd_id from osd_map")
+            if not only_up or (o['up_from'] > 0):
+                r[str(osd_id)] = o.get('uuid', '')
         return r
 
     @trivial_completion
     def apply_drivegroups(self, specs: List[DriveGroupSpec]):
         return [self._apply(spec) for spec in specs]
 
+    def find_destroyed_osds(self) -> Dict[str, List[str]]:
+        osd_host_map: Dict[str, List[str]] = dict()
+        ret, out, err = self.mon_command({
+            'prefix': 'osd tree',
+            'states': ['destroyed'],
+            'format': 'json'
+        })
+        if ret != 0:
+            raise OrchestratorError(f"Caught error on calling 'osd tree destroyed' -> {err}")
+        try:
+            tree = json.loads(out)
+        except json.decoder.JSONDecodeError:
+            self.log.error(f"Could not decode json -> {out}")
+            return osd_host_map
+
+        nodes = tree.get('nodes', {})
+        for node in nodes:
+            if node.get('type') == 'host':
+                osd_host_map.update(
+                    {node.get('name'): [str(_id) for _id in node.get('children', list())]}
+                )
+        return osd_host_map
+
     @trivial_completion
     def create_osds(self, drive_group: DriveGroupSpec):
-        self.log.debug("Processing DriveGroup {}".format(drive_group))
+        self.log.debug(f"Processing DriveGroup {drive_group}")
+        ret = []
+        drive_group.osd_id_claims = self.find_destroyed_osds()
+        self.log.info(f"Found osd claims for drivegroup {drive_group.service_id} -> {drive_group.osd_id_claims}")
+        for host, drive_selection in self.prepare_drivegroup(drive_group):
+            self.log.info('Applying %s on host %s...' % (drive_group.service_id, host))
+            cmd = self.driveselection_to_ceph_volume(drive_group, drive_selection,
+                                                     drive_group.osd_id_claims.get(host, []))
+            if not cmd:
+                self.log.debug("No data_devices, skipping DriveGroup: {}".format(drive_group.service_id))
+                continue
+            ret_msg = self._create_osd(host, cmd,
+                                       replace_osd_ids=drive_group.osd_id_claims.get(host, []))
+            ret.append(ret_msg)
+        return ", ".join(ret)
+
+    def prepare_drivegroup(self, drive_group: DriveGroupSpec) -> List[Tuple[str, DriveSelection]]:
         # 1) use fn_filter to determine matching_hosts
         matching_hosts = drive_group.placement.pattern_matches_hosts([x for x in self.cache.get_hosts()])
         # 2) Map the inventory to the InventoryHost object
+        host_ds_map = []
+
+        # set osd_id_claims
 
         def _find_inv_for_host(hostname: str, inventory_dict: dict):
             # This is stupid and needs to be loaded with the host
@@ -2095,27 +2164,53 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule):
                     return _inventory
             raise OrchestratorError("No inventory found for host: {}".format(hostname))
 
-        ret = []
-        # 3) iterate over matching_host and call DriveSelection and to_ceph_volume
+        # 3) iterate over matching_host and call DriveSelection
         self.log.debug(f"Checking matching hosts -> {matching_hosts}")
         for host in matching_hosts:
             inventory_for_host = _find_inv_for_host(host, self.cache.devices)
             self.log.debug(f"Found inventory for host {inventory_for_host}")
-            drive_selection = selector.DriveSelection(drive_group, inventory_for_host)
+            drive_selection = DriveSelection(drive_group, inventory_for_host)
             self.log.debug(f"Found drive selection {drive_selection}")
-            cmd = translate.to_ceph_volume(drive_group, drive_selection).run()
-            self.log.debug(f"translated to cmd {cmd}")
-            if not cmd:
-                self.log.debug("No data_devices, skipping DriveGroup: {}".format(drive_group.service_name()))
-                continue
-            self.log.info('Applying %s on host %s...' % (
-                drive_group.service_name(), host))
-            ret_msg = self._create_osd(host, cmd)
-            ret.append(ret_msg)
-        return ", ".join(ret)
-
-    def _create_osd(self, host, cmd):
+            host_ds_map.append((host, drive_selection))
+        return host_ds_map
+
+    def driveselection_to_ceph_volume(self, drive_group: DriveGroupSpec,
+                                      drive_selection: DriveSelection,
+                                      osd_id_claims: Optional[List[str]] = None,
+                                      preview: bool = False) -> Optional[str]:
+        self.log.debug(f"Translating DriveGroup <{drive_group}> to ceph-volume command")
+        cmd: Optional[str] = translate.to_ceph_volume(drive_group, drive_selection, osd_id_claims, preview=preview).run()
+        self.log.debug(f"Resulting ceph-volume cmd: {cmd}")
+        return cmd
+
+    def preview_drivegroups(self, drive_group_name: Optional[str] = None,
+                            dg_specs: Optional[List[DriveGroupSpec]] = None) -> List[Dict[str, Dict[Any, Any]]]:
+        # find drivegroups
+        if drive_group_name:
+            drive_groups = cast(List[DriveGroupSpec],
+                                self.spec_store.find(service_name=drive_group_name))
+        elif dg_specs:
+            drive_groups = dg_specs
+        else:
+            drive_groups = []
+        ret_all = []
+        for drive_group in drive_groups:
+            drive_group.osd_id_claims = self.find_destroyed_osds()
+            self.log.info(f"Found osd claims for drivegroup {drive_group.service_id} -> {drive_group.osd_id_claims}")
+            # prepare driveselection
+            for host, ds in self.prepare_drivegroup(drive_group):
+                cmd = self.driveselection_to_ceph_volume(drive_group, ds,
+                                                         drive_group.osd_id_claims.get(host, []), preview=True)
+                if not cmd:
+                    self.log.debug("No data_devices, skipping DriveGroup: {}".format(drive_group.service_name()))
+                    continue
+                out, err, code = self._run_ceph_volume_command(host, cmd)
+                if out:
+                    concat_out = json.loads(" ".join(out))
+                    ret_all.append({'data': concat_out, 'drivegroup': drive_group.service_id, 'host': host})
+        return ret_all
 
+    def _run_ceph_volume_command(self, host: str, cmd: str) -> Tuple[List[str], List[str], int]:
         self._require_hosts(host)
 
         # get bootstrap key
@@ -2134,8 +2229,6 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule):
             'keyring': keyring,
         })
 
-        before_osd_uuid_map = self.get_osd_uuid_map(only_up=True)
-
         split_cmd = cmd.split(' ')
         _cmd = ['--config-json', '-', '--']
         _cmd.extend(split_cmd)
@@ -2144,6 +2237,11 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule):
             _cmd,
             stdin=j,
             error_ok=True)
+        return out, err, code
+
+    def _create_osd(self, host, cmd, replace_osd_ids=None):
+        out, err, code = self._run_ceph_volume_command(host, cmd)
+
         if code == 1 and ', it is already prepared' in '\n'.join(err):
             # HACK: when we create against an existing LV, ceph-volume
             # returns an error and the above message.  To make this
@@ -2163,6 +2261,7 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule):
                 'lvm', 'list',
                 '--format', 'json',
             ])
+        before_osd_uuid_map = self.get_osd_uuid_map(only_up=True)
         osds_elems = json.loads('\n'.join(out))
         fsid = self._cluster_fsid
         osd_uuid_map = self.get_osd_uuid_map()
@@ -2172,16 +2271,16 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule):
                 if osd['tags']['ceph.cluster_fsid'] != fsid:
                     self.log.debug('mismatched fsid, skipping %s' % osd)
                     continue
-                if osd_id in before_osd_uuid_map:
-                    # this osd existed before we ran prepare
+                if osd_id in before_osd_uuid_map and osd_id not in replace_osd_ids:
+                    # if it exists but is part of the replacement operation, don't skip
                     continue
                 if osd_id not in osd_uuid_map:
-                    self.log.debug('osd id %d does not exist in cluster' % osd_id)
+                    self.log.debug('osd id {} does not exist in cluster'.format(osd_id))
                     continue
-                if osd_uuid_map[osd_id] != osd['tags']['ceph.osd_fsid']:
+                if osd_uuid_map.get(osd_id) != osd['tags']['ceph.osd_fsid']:
                     self.log.debug('mismatched osd uuid (cluster has %s, osd '
                                    'has %s)' % (
-                                       osd_uuid_map[osd_id],
+                                       osd_uuid_map.get(osd_id),
                                        osd['tags']['ceph.osd_fsid']))
                     continue
 
@@ -2210,7 +2309,7 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule):
 
     def _get_config_and_keyring(self, daemon_type, daemon_id,
                                 keyring=None,
-                                extra_config=None):
+                                extra_ceph_config=None):
         # type: (str, str, Optional[str], Optional[str]) -> Dict[str, Any]
         # keyring
         if not keyring:
@@ -2227,8 +2326,8 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule):
         ret, config, err = self.mon_command({
             "prefix": "config generate-minimal-conf",
         })
-        if extra_config:
-            config += extra_config
+        if extra_ceph_config:
+            config += extra_ceph_config
 
         return {
             'config': config,
@@ -2242,6 +2341,8 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule):
                        osd_uuid_map=None):
         if not extra_args:
             extra_args = []
+        if not extra_config:
+            extra_config = {}
         name = '%s.%s' % (daemon_type, daemon_id)
 
         start_time = datetime.datetime.utcnow()
@@ -2265,14 +2366,16 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule):
             cephadm_config = self._get_config_and_keyring(
                     daemon_type, daemon_id,
                     keyring=keyring,
-                    extra_config=extra_config)
+                    extra_ceph_config=extra_config.pop('config', ''))
+            if extra_config:
+                cephadm_config.update({'files': extra_config})
             extra_args.extend(['--config-json', '-'])
 
             # osd deployments needs an --osd-uuid arg
             if daemon_type == 'osd':
                 if not osd_uuid_map:
                     osd_uuid_map = self.get_osd_uuid_map()
-                osd_uuid = osd_uuid_map.get(daemon_id, None)
+                osd_uuid = osd_uuid_map.get(daemon_id)
                 if not osd_uuid:
                     raise OrchestratorError('osd.%d not in osdmap' % daemon_id)
                 extra_args.extend(['--osd-fsid', osd_uuid])
@@ -2364,11 +2467,13 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule):
             'prometheus': self._create_prometheus,
             'node-exporter': self._create_node_exporter,
             'crash': self._create_crash,
+            'iscsi': self._create_iscsi,
         }
         config_fns = {
             'mds': self._config_mds,
             'rgw': self._config_rgw,
             'nfs': self._config_nfs,
+            'iscsi': self._config_iscsi,
         }
         create_func = create_fns.get(daemon_type, None)
         if not create_func:
@@ -2572,6 +2677,8 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule):
                 args.append((daemon_id, host, network))  # type: ignore
             elif daemon_type == 'nfs':
                 args.append((daemon_id, host, spec)) # type: ignore
+            elif daemon_type == 'iscsi':
+                args.append((daemon_id, host, spec))  # type: ignore
             else:
                 args.append((daemon_id, host))  # type: ignore
 
@@ -2632,7 +2739,7 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule):
 
         return self._create_daemon('mon', name, host,
                                    keyring=keyring,
-                                   extra_config=extra_config)
+                                   extra_config={'config': extra_config})
 
     def add_mon(self, spec):
         # type: (ServiceSpec) -> orchestrator.Completion
@@ -2665,6 +2772,7 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule):
                 'mgr': PlacementSpec(count=2),
                 'mds': PlacementSpec(count=2),
                 'rgw': PlacementSpec(count=2),
+                'iscsi': PlacementSpec(count=1),
                 'rbd-mirror': PlacementSpec(count=2),
                 'nfs': PlacementSpec(count=1),
                 'grafana': PlacementSpec(count=1),
@@ -2690,7 +2798,7 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule):
             spec.service_name(), spec.placement.pretty_str()))
         self.spec_store.save(spec)
         self._kick_serve_loop()
-        return "Scheduled %s update..." % spec.service_type
+        return "Scheduled %s update..." % spec.service_name()
 
     @trivial_completion
     def apply(self, specs: List[ServiceSpec]):
@@ -2735,32 +2843,54 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule):
         # ensure rgw_realm and rgw_zone is set for these daemons
         ret, out, err = self.mon_command({
             'prefix': 'config set',
-            'who': 'client.rgw.' + spec.service_id,
+            'who': f"{utils.name_to_config_section('rgw')}.{spec.service_id}",
             'name': 'rgw_zone',
             'value': spec.rgw_zone,
         })
         ret, out, err = self.mon_command({
             'prefix': 'config set',
-            'who': 'client.rgw.' + spec.rgw_realm,
+            'who': f"{utils.name_to_config_section('rgw')}.{spec.rgw_realm}",
             'name': 'rgw_realm',
             'value': spec.rgw_realm,
         })
-        if spec.ssl:
-            v = 'beast ssl_port=%d' % spec.get_port()
-        else:
-            v = 'beast port=%d' % spec.get_port()
         ret, out, err = self.mon_command({
             'prefix': 'config set',
-            'who': 'client.rgw.' + spec.service_id,
+            'who': f"{utils.name_to_config_section('rgw')}.{spec.service_id}",
             'name': 'rgw_frontends',
-            'value': v,
+            'value': spec.rgw_frontends_config_value(),
         })
 
+        if spec.rgw_frontend_ssl_certificate:
+            if isinstance(spec.rgw_frontend_ssl_certificate, list):
+                cert_data = '\n'.join(spec.rgw_frontend_ssl_certificate)
+            else:
+                cert_data = spec.rgw_frontend_ssl_certificate
+            ret, out, err = self.mon_command({
+                'prefix': 'config-key set',
+                'key': f'rgw/cert/{spec.rgw_realm}/{spec.rgw_zone}.crt',
+                'val': cert_data,
+            })
+
+        if spec.rgw_frontend_ssl_key:
+            if isinstance(spec.rgw_frontend_ssl_key, list):
+                key_data = '\n'.join(spec.rgw_frontend_ssl_key)
+            else:
+                key_data = spec.rgw_frontend_ssl_key
+            ret, out, err = self.mon_command({
+                'prefix': 'config-key set',
+                'key': f'rgw/cert/{spec.rgw_realm}/{spec.rgw_zone}.key',
+                'val': key_data,
+            })
+
+        logger.info('Saving service %s spec with placement %s' % (
+            spec.service_name(), spec.placement.pretty_str()))
+        self.spec_store.save(spec)
+
     def _create_rgw(self, rgw_id, host):
         ret, keyring, err = self.mon_command({
             'prefix': 'auth get-or-create',
-            'entity': 'client.rgw.' + rgw_id,
-            'caps': ['mon', 'allow rw',
+            'entity': f"{utils.name_to_config_section('rgw')}.{rgw_id}",
+            'caps': ['mon', 'allow *',
                      'mgr', 'allow rw',
                      'osd', 'allow rwx'],
         })
@@ -2770,6 +2900,45 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule):
     def apply_rgw(self, spec):
         return self._apply(spec)
 
+    def add_iscsi(self, spec):
+        # type: (ServiceSpec) -> orchestrator.Completion
+        return self._add_daemon('iscsi', spec, self._create_iscsi, self._config_iscsi)
+
+    def _config_iscsi(self, spec):
+        logger.info('Saving service %s spec with placement %s' % (
+            spec.service_name(), spec.placement.pretty_str()))
+        self.spec_store.save(spec)
+
+    def _create_iscsi(self, igw_id, host, spec):
+        ret, keyring, err = self.mon_command({
+            'prefix': 'auth get-or-create',
+            'entity': utils.name_to_config_section('iscsi') + '.' + igw_id,
+            'caps': ['mon', 'allow rw',
+                     'osd', f'allow rwx pool={spec.pool}'],
+        })
+
+        api_secure = 'false' if spec.api_secure is None else spec.api_secure
+        igw_conf = f"""
+# generated by cephadm
+[config]
+cluster_client_name = {utils.name_to_config_section('iscsi')}.{igw_id}
+pool = {spec.pool}
+trusted_ip_list = {spec.trusted_ip_list or ''}
+minimum_gateways = 1
+fqdn_enabled = {spec.fqdn_enabled or ''}
+api_port = {spec.api_port or ''}
+api_user = {spec.api_user or ''}
+api_password = {spec.api_password or ''}
+api_secure = {api_secure}
+"""
+        extra_config = {'iscsi-gateway.cfg': igw_conf}
+        return self._create_daemon('iscsi', igw_id, host, keyring=keyring,
+                                   extra_config=extra_config)
+
+    @trivial_completion
+    def apply_iscsi(self, spec):
+        return self._apply(spec)
+
     def add_rbd_mirror(self, spec):
         return self._add_daemon('rbd-mirror', spec, self._create_rbd_mirror)
 
@@ -2993,6 +3162,12 @@ datasources:
             cert, pkey = create_self_signed_cert('Ceph', 'cephadm')
             self.set_store('grafana_crt', cert)
             self.set_store('grafana_key', pkey)
+            self.mon_command({
+                'prefix': 'dashboard set-grafana-api-ssl-verify',
+                'value': 'false',
+            })
+
+
 
         config_file = {
             'files': {
@@ -3329,13 +3504,6 @@ receivers:
         """
         return self.rm_util.report
 
-    @trivial_completion
-    def list_specs(self, service_name=None):
-        """
-        Loads all entries from the service_spec mon_store root.
-        """
-        return self.spec_store.find(service_name=service_name)
-
 
 class BaseScheduler(object):
     """
@@ -3520,4 +3688,3 @@ class HostAssignment(object):
         logger.debug('Combine hosts with existing daemons %s + new hosts %s' % (
             existing, chosen))
         return existing + chosen
-
index ff748fa57463560250f6035bc51f4c6cef727f2e..1c0a45200ec73ca0b5517e95371a7290b8d7a9ed 100644 (file)
@@ -18,25 +18,18 @@ class NFSGanesha(object):
                  daemon_id,
                  spec):
         # type: (cephadm.CephadmOrchestrator, str, NFSServiceSpec) -> None
+        assert spec.service_id and daemon_id.startswith(spec.service_id)
         self.mgr = mgr
         self.daemon_id = daemon_id
         self.spec = spec
 
-    def get_rados_user(self):
+    def get_daemon_name(self):
         # type: () -> str
         return '%s.%s' % (self.spec.service_type, self.daemon_id)
 
-    def get_rados_config_name(self):
-        # type: () -> str
-        return 'conf-' + self.get_rados_user()
-
-    def get_rados_config_url(self):
+    def get_rados_user(self):
         # type: () -> str
-        url = 'rados://' + self.spec.pool + '/'
-        if self.spec.namespace:
-            url += self.spec.namespace + '/'
-        url += self.get_rados_config_name()
-        return url
+        return '%s.%s' % (self.spec.service_type, self.daemon_id)
 
     def get_keyring_entity(self):
         # type: () -> str
@@ -84,7 +77,7 @@ class NFSGanesha(object):
 
     def create_rados_config_obj(self, clobber=False):
         # type: (Optional[bool]) -> None
-        obj = self.get_rados_config_name()
+        obj = self.spec.rados_config_name()
 
         with self.mgr.rados.open_ioctx(self.spec.pool) as ioctx:
             if self.spec.namespace:
@@ -107,6 +100,35 @@ class NFSGanesha(object):
     def get_ganesha_conf(self):
         # type: () -> str
         return '''# generated by cephadm
+NFS_CORE_PARAM {{
+        Enable_NLM = false;
+        Enable_RQUOTA = false;
+        Protocols = 4;
+}}
+
+CACHEINODE {{
+        Dir_Chunk = 0;
+        NParts = 1;
+        Cache_Size = 1;
+}}
+
+EXPORT_DEFAULTS {{
+        Attr_Expiration_Time = 0;
+}}
+
+NFSv4 {{
+        Delegations = false;
+        RecoveryBackend = 'rados_cluster';
+        Minor_Versions = 1, 2;
+}}
+
+RADOS_KV {{
+        UserId = "{user}";
+        nodeid = "{nodeid}";
+        pool = "{pool}";
+        namespace = "{namespace}";
+}}
+
 RADOS_URLS {{
         UserId = "{user}";
         watch_url = "{url}";
@@ -114,13 +136,18 @@ RADOS_URLS {{
 
 %url    {url}
 '''.format(user=self.get_rados_user(),
-           url=self.get_rados_config_url())
+           nodeid=self.get_daemon_name(),
+           pool=self.spec.pool,
+           namespace=self.spec.namespace if self.spec.namespace else '',
+           url=self.spec.rados_config_location())
 
     def get_cephadm_config(self):
         # type: () -> Dict
         config = {'pool' : self.spec.pool} # type: Dict
         if self.spec.namespace:
             config['namespace'] = self.spec.namespace
+        config['userid'] = self.get_rados_user()
+        config['extra_args'] = ['-N', 'NIV_EVENT']
         config['files'] = {
             'ganesha.conf' : self.get_ganesha_conf(),
         }
index 247cb7e2ad531aed7a5f546dd4d5be9da16e10df..f4e10d7d0e6c3272fdef59e544817375c46ee623 100644 (file)
@@ -56,7 +56,6 @@ def cephadm_module():
             mock.patch("cephadm.module.CephadmOrchestrator.remote"),\
             mock.patch("cephadm.module.CephadmOrchestrator.set_store", set_store), \
             mock.patch("cephadm.module.CephadmOrchestrator.get_store", get_store),\
-            mock.patch("cephadm.module.CephadmOrchestrator._run_cephadm", _run_cephadm('[]')), \
             mock.patch("cephadm.module.HostCache.save_host"), \
             mock.patch("cephadm.module.HostCache.rm_host"), \
             mock.patch("cephadm.module.CephadmOrchestrator.send_command"), \
@@ -76,6 +75,7 @@ def cephadm_module():
         }
         m.__init__('cephadm', 0, 0)
         m._cluster_fsid = "fsid"
+        m.mode = "root"
         yield m
 
 
index 3e2461c2079a74437eff3554c4ee82fe80169832..f13680cab26441c0da6b8ef1c8ffae586d12f530 100644 (file)
@@ -8,12 +8,16 @@ from ceph.deployment.drive_group import DriveGroupSpec, DeviceSelection
 from cephadm.osd import OSDRemoval
 
 try:
-    from typing import Any
+    from typing import Any, List
 except ImportError:
     pass
 
+from execnet.gateway_bootstrap import HostNotFound
+
 from ceph.deployment.service_spec import ServiceSpec, PlacementSpec, RGWSpec, \
-    NFSServiceSpec
+    NFSServiceSpec, IscsiServiceSpec
+from ceph.deployment.drive_selection.selector import DriveSelection
+from ceph.deployment.inventory import Devices, Device
 from orchestrator import ServiceDescription, DaemonDescription, InventoryHost, \
     HostSpec, OrchestratorError
 from tests import mock
@@ -29,6 +33,21 @@ TODOs:
 """
 
 
+def assert_rm_service(cephadm, srv_name):
+    assert wait(cephadm, cephadm.remove_service(srv_name)) == [
+        f'Removed service {srv_name}']
+    cephadm._apply_all_services()
+
+
+def assert_rm_daemon(cephadm: CephadmOrchestrator, prefix, host):
+    dds: List[DaemonDescription] = wait(cephadm, cephadm.list_daemons(host=host))
+    d_names = [dd.name() for dd in dds if dd.name().startswith(prefix)]
+    assert d_names
+    c = cephadm.remove_daemons(d_names)
+    [out] = wait(cephadm, c)
+    match_glob(out, f"Removed {d_names}* from host '{host}'")
+
+
 class TestCephadm(object):
 
     @contextmanager
@@ -48,6 +67,7 @@ class TestCephadm(object):
         new_mgr = cephadm_module.get_unique_name('mgr', 'myhost', existing)
         match_glob(new_mgr, 'myhost.*')
 
+    @mock.patch("cephadm.module.CephadmOrchestrator._run_cephadm", _run_cephadm('[]'))
     def test_host(self, cephadm_module):
         assert wait(cephadm_module, cephadm_module.get_hosts()) == []
         with self._with_host(cephadm_module, 'test'):
@@ -66,11 +86,68 @@ class TestCephadm(object):
             assert wait(cephadm_module, cephadm_module.get_hosts()) == [HostSpec('test', 'test')]
         assert wait(cephadm_module, cephadm_module.get_hosts()) == []
 
+    @mock.patch("cephadm.module.CephadmOrchestrator._run_cephadm", _run_cephadm('[]'))
     def test_service_ls(self, cephadm_module):
         with self._with_host(cephadm_module, 'test'):
             c = cephadm_module.list_daemons(refresh=True)
             assert wait(cephadm_module, c) == []
 
+            ps = PlacementSpec(hosts=['test'], count=1)
+            c = cephadm_module.add_mds(ServiceSpec('mds', 'name', placement=ps))
+            [out] = wait(cephadm_module, c)
+            match_glob(out, "Deployed mds.name.* on host 'test'")
+
+            c = cephadm_module.list_daemons()
+
+            def remove_id(dd):
+                out = dd.to_json()
+                del out['daemon_id']
+                return out
+
+            assert [remove_id(dd) for dd in wait(cephadm_module, c)] == [
+                {
+                    'daemon_type': 'mds',
+                    'hostname': 'test',
+                    'status': 1,
+                    'status_desc': 'starting'}
+            ]
+
+            ps = PlacementSpec(hosts=['test'], count=1)
+            spec = ServiceSpec('rgw', 'r.z', placement=ps)
+            c = cephadm_module.apply_rgw(spec)
+            assert wait(cephadm_module, c) == 'Scheduled rgw.r.z update...'
+
+            c = cephadm_module.describe_service()
+            out = [o.to_json() for o in wait(cephadm_module, c)]
+            expected = [
+                {
+                    'placement': {'hosts': [{'hostname': 'test', 'name': '', 'network': ''}]},
+                    'service_id': 'name',
+                    'service_name': 'mds.name',
+                    'service_type': 'mds',
+                    'status': {'running': 1, 'size': 0},
+                    'unmanaged': True
+                },
+                {
+                    'placement': {
+                        'count': 1,
+                        'hosts': [{'hostname': 'test', 'name': '', 'network': ''}]
+                    },
+                    'rgw_realm': 'r',
+                    'rgw_zone': 'z',
+                    'service_id': 'r.z',
+                    'service_name': 'rgw.r.z',
+                    'service_type': 'rgw',
+                    'status': {'running': 0, 'size': 1}
+                }
+            ]
+            assert out == expected
+            assert [ServiceDescription.from_json(o).to_json() for o in expected] == expected
+
+            assert_rm_service(cephadm_module, 'rgw.r.z')
+            assert_rm_daemon(cephadm_module, 'mds.name', 'test')
+
+    @mock.patch("cephadm.module.CephadmOrchestrator._run_cephadm", _run_cephadm('[]'))
     def test_device_ls(self, cephadm_module):
         with self._with_host(cephadm_module, 'test'):
             c = cephadm_module.get_inventory()
@@ -100,7 +177,9 @@ class TestCephadm(object):
                 c = cephadm_module.daemon_action(what, 'rgw', 'myrgw.foobar')
                 assert wait(cephadm_module, c) == [what + " rgw.myrgw.foobar from host 'test'"]
 
+            assert_rm_daemon(cephadm_module, 'rgw.myrgw.foobar', 'test')
 
+    @mock.patch("cephadm.module.CephadmOrchestrator._run_cephadm", _run_cephadm('[]'))
     def test_mon_add(self, cephadm_module):
         with self._with_host(cephadm_module, 'test'):
             ps = PlacementSpec(hosts=['test:0.0.0.0=a'], count=1)
@@ -112,12 +191,66 @@ class TestCephadm(object):
                 c = cephadm_module.add_mon(ServiceSpec('mon', placement=ps))
                 wait(cephadm_module, c)
 
+    @mock.patch("cephadm.module.CephadmOrchestrator._run_cephadm", _run_cephadm('[]'))
     def test_mgr_update(self, cephadm_module):
         with self._with_host(cephadm_module, 'test'):
             ps = PlacementSpec(hosts=['test:0.0.0.0=a'], count=1)
             r = cephadm_module._apply_service(ServiceSpec('mgr', placement=ps))
             assert r
 
+            assert_rm_daemon(cephadm_module, 'mgr.a', 'test')
+
+    @mock.patch("cephadm.module.CephadmOrchestrator.mon_command")
+    def test_find_destroyed_osds(self, _mon_cmd, cephadm_module):
+        dict_out = {
+            "nodes": [
+                {
+                    "id": -1,
+                    "name": "default",
+                    "type": "root",
+                    "type_id": 11,
+                    "children": [
+                        -3
+                    ]
+                },
+                {
+                    "id": -3,
+                    "name": "host1",
+                    "type": "host",
+                    "type_id": 1,
+                    "pool_weights": {},
+                    "children": [
+                        0
+                    ]
+                },
+                {
+                    "id": 0,
+                    "device_class": "hdd",
+                    "name": "osd.0",
+                    "type": "osd",
+                    "type_id": 0,
+                    "crush_weight": 0.0243988037109375,
+                    "depth": 2,
+                    "pool_weights": {},
+                    "exists": 1,
+                    "status": "destroyed",
+                    "reweight": 1,
+                    "primary_affinity": 1
+                }
+            ],
+            "stray": []
+        }
+        json_out = json.dumps(dict_out)
+        _mon_cmd.return_value = (0, json_out, '')
+        out = cephadm_module.find_destroyed_osds()
+        assert out == {'host1': ['0']}
+
+    @mock.patch("cephadm.module.CephadmOrchestrator.mon_command")
+    def test_find_destroyed_osds_cmd_failure(self, _mon_cmd, cephadm_module):
+        _mon_cmd.return_value = (1, "", "fail_msg")
+        with pytest.raises(OrchestratorError):
+            out = cephadm_module.find_destroyed_osds()
+
     @mock.patch("cephadm.module.CephadmOrchestrator._run_cephadm", _run_cephadm('{}'))
     @mock.patch("cephadm.module.SpecStore.save")
     def test_apply_osd_save(self, _save_spec, cephadm_module):
@@ -126,7 +259,7 @@ class TestCephadm(object):
             spec = ServiceSpec.from_json(json_spec)
             assert isinstance(spec, DriveGroupSpec)
             c = cephadm_module.apply_drivegroups([spec])
-            assert wait(cephadm_module, c) == ['Scheduled osd update...']
+            assert wait(cephadm_module, c) == ['Scheduled osd.foo update...']
             _save_spec.assert_called_with(spec)
 
     @mock.patch("cephadm.module.CephadmOrchestrator._run_cephadm", _run_cephadm('{}'))
@@ -137,7 +270,7 @@ class TestCephadm(object):
             spec = ServiceSpec.from_json(json_spec)
             assert isinstance(spec, DriveGroupSpec)
             c = cephadm_module.apply_drivegroups([spec])
-            assert wait(cephadm_module, c) == ['Scheduled osd update...']
+            assert wait(cephadm_module, c) == ['Scheduled osd.foo update...']
             _save_spec.assert_called_with(spec)
 
     @mock.patch("cephadm.module.CephadmOrchestrator._run_cephadm", _run_cephadm('{}'))
@@ -148,6 +281,54 @@ class TestCephadm(object):
             out = wait(cephadm_module, c)
             assert out == "Created no osd(s) on host test; already created?"
 
+    @mock.patch("cephadm.module.CephadmOrchestrator._run_cephadm", _run_cephadm('{}'))
+    def test_prepare_drivegroup(self, cephadm_module):
+        with self._with_host(cephadm_module, 'test'):
+            dg = DriveGroupSpec(placement=PlacementSpec(host_pattern='test'), data_devices=DeviceSelection(paths=['']))
+            out = cephadm_module.prepare_drivegroup(dg)
+            assert len(out) == 1
+            f1 = out[0]
+            assert f1[0] == 'test'
+            assert isinstance(f1[1], DriveSelection)
+
+    @pytest.mark.parametrize(
+        "devices, preview, exp_command",
+        [
+            # no preview and only one disk, prepare is used due the hack that is in place.
+            (['/dev/sda'], False, "lvm prepare --bluestore --data /dev/sda --no-systemd"),
+            # no preview and multiple disks, uses batch
+            (['/dev/sda', '/dev/sdb'], False, "lvm batch --no-auto /dev/sda /dev/sdb --yes --no-systemd"),
+            # preview and only one disk needs to use batch again to generate the preview
+            (['/dev/sda'], True, "lvm batch --no-auto /dev/sda --report --format json"),
+            # preview and multiple disks work the same
+            (['/dev/sda', '/dev/sdb'], True, "lvm batch --no-auto /dev/sda /dev/sdb --yes --no-systemd --report --format json"),
+        ]
+    )
+    @mock.patch("cephadm.module.CephadmOrchestrator._run_cephadm", _run_cephadm('{}'))
+    def test_driveselection_to_ceph_volume(self, cephadm_module, devices, preview, exp_command):
+        with self._with_host(cephadm_module, 'test'):
+            dg = DriveGroupSpec(placement=PlacementSpec(host_pattern='test'), data_devices=DeviceSelection(paths=devices))
+            ds = DriveSelection(dg, Devices([Device(path) for path in devices]))
+            preview = preview
+            out = cephadm_module.driveselection_to_ceph_volume(dg, ds, [], preview)
+            assert out in exp_command
+
+    @mock.patch("cephadm.module.SpecStore.find")
+    @mock.patch("cephadm.module.CephadmOrchestrator.prepare_drivegroup")
+    @mock.patch("cephadm.module.CephadmOrchestrator.driveselection_to_ceph_volume")
+    @mock.patch("cephadm.module.CephadmOrchestrator._run_ceph_volume_command")
+    @mock.patch("cephadm.module.CephadmOrchestrator._run_cephadm", _run_cephadm('{}'))
+    def test_preview_drivegroups_str(self, _run_c_v_command, _ds_to_cv, _prepare_dg, _find_store, cephadm_module):
+        with self._with_host(cephadm_module, 'test'):
+            dg = DriveGroupSpec(placement=PlacementSpec(host_pattern='test'), data_devices=DeviceSelection(paths=['']))
+            _find_store.return_value = [dg]
+            _prepare_dg.return_value = [('host1', 'ds_dummy')]
+            _run_c_v_command.return_value = ("{}", '', 0)
+            cephadm_module.preview_drivegroups(drive_group_name='foo')
+            _find_store.assert_called_once_with(service_name='foo')
+            _prepare_dg.assert_called_once_with(dg)
+            _run_c_v_command.assert_called_once()
+
     @mock.patch("cephadm.module.CephadmOrchestrator._run_cephadm", _run_cephadm(
         json.dumps([
             dict(
@@ -179,38 +360,22 @@ class TestCephadm(object):
             out = wait(cephadm_module, c)
             assert out == set()
 
-
-    @mock.patch("cephadm.module.CephadmOrchestrator._run_cephadm", _run_cephadm('{}'))
-    def test_mds(self, cephadm_module):
-        with self._with_host(cephadm_module, 'test'):
-            ps = PlacementSpec(hosts=['test'], count=1)
-            c = cephadm_module.add_mds(ServiceSpec('mds', 'name', placement=ps))
-            [out] = wait(cephadm_module, c)
-            match_glob(out, "Deployed mds.name.* on host 'test'")
-
-    @mock.patch("cephadm.module.CephadmOrchestrator._run_cephadm", _run_cephadm('{}'))
-    def test_rgw(self, cephadm_module):
-
-        with self._with_host(cephadm_module, 'test'):
-            ps = PlacementSpec(hosts=['test'], count=1)
-            c = cephadm_module.add_rgw(RGWSpec('realm', 'zone', placement=ps))
-            [out] = wait(cephadm_module, c)
-            match_glob(out, "Deployed rgw.realm.zone.* on host 'test'")
-
-
     @mock.patch("cephadm.module.CephadmOrchestrator._run_cephadm", _run_cephadm('{}'))
     def test_rgw_update(self, cephadm_module):
         with self._with_host(cephadm_module, 'host1'):
             with self._with_host(cephadm_module, 'host2'):
                 ps = PlacementSpec(hosts=['host1'], count=1)
-                c = cephadm_module.add_rgw(RGWSpec('realm', 'zone1', placement=ps))
+                c = cephadm_module.add_rgw(RGWSpec(rgw_realm='realm', rgw_zone='zone1', placement=ps))
                 [out] = wait(cephadm_module, c)
                 match_glob(out, "Deployed rgw.realm.zone1.host1.* on host 'host1'")
 
                 ps = PlacementSpec(hosts=['host1', 'host2'], count=2)
-                r = cephadm_module._apply_service(RGWSpec('realm', 'zone1', placement=ps))
+                r = cephadm_module._apply_service(RGWSpec(rgw_realm='realm', rgw_zone='zone1', placement=ps))
                 assert r
 
+                assert_rm_daemon(cephadm_module, 'rgw.realm.zone1', 'host1')
+                assert_rm_daemon(cephadm_module, 'rgw.realm.zone1', 'host2')
+
     @mock.patch("cephadm.module.CephadmOrchestrator._run_cephadm", _run_cephadm(
         json.dumps([
             dict(
@@ -231,33 +396,29 @@ class TestCephadm(object):
             out = wait(cephadm_module, c)
             assert out == ["Removed rgw.myrgw.myhost.myid from host 'test'"]
 
-    @mock.patch("cephadm.module.CephadmOrchestrator._run_cephadm", _run_cephadm(
-        json.dumps([
-            dict(
-                name='rgw.myrgw.foobar',
-                style='cephadm',
-                fsid='fsid',
-                container_id='container_id',
-                version='version',
-                state='running',
-            )
-        ])
-    ))
-    def test_remove_service(self, cephadm_module):
-        with self._with_host(cephadm_module, 'test'):
-            c = cephadm_module.list_daemons(refresh=True)
-            wait(cephadm_module, c)
-            c = cephadm_module.remove_service('rgw.myrgw')
-            out = wait(cephadm_module, c)
-            assert out == ["Removed service rgw.myrgw"]
-
+    @pytest.mark.parametrize(
+        "spec, meth",
+        [
+            (ServiceSpec('crash'), CephadmOrchestrator.add_crash),
+            (ServiceSpec('prometheus'), CephadmOrchestrator.add_prometheus),
+            (ServiceSpec('grafana'), CephadmOrchestrator.add_grafana),
+            (ServiceSpec('node-exporter'), CephadmOrchestrator.add_node_exporter),
+            (ServiceSpec('alertmanager'), CephadmOrchestrator.add_alertmanager),
+            (ServiceSpec('rbd-mirror'), CephadmOrchestrator.add_rbd_mirror),
+            (ServiceSpec('mds', service_id='fsname'), CephadmOrchestrator.add_mds),
+            (RGWSpec(rgw_realm='realm', rgw_zone='zone'), CephadmOrchestrator.add_rgw),
+        ]
+    )
     @mock.patch("cephadm.module.CephadmOrchestrator._run_cephadm", _run_cephadm('{}'))
-    def test_rbd_mirror(self, cephadm_module):
+    def test_daemon_add(self, spec: ServiceSpec, meth, cephadm_module):
         with self._with_host(cephadm_module, 'test'):
-            ps = PlacementSpec(hosts=['test'], count=1)
-            c = cephadm_module.add_rbd_mirror(ServiceSpec('rbd-mirror', placement=ps))
+            spec.placement = PlacementSpec(hosts=['test'], count=1)
+
+            c = meth(cephadm_module, spec)
             [out] = wait(cephadm_module, c)
-            match_glob(out, "Deployed rbd-mirror.* on host 'test'")
+            match_glob(out, f"Deployed {spec.service_name()}.* on host 'test'")
+
+            assert_rm_daemon(cephadm_module, spec.service_name(), 'test')
 
     @mock.patch("cephadm.module.CephadmOrchestrator._run_cephadm", _run_cephadm('{}'))
     @mock.patch("cephadm.module.CephadmOrchestrator.rados", mock.MagicMock())
@@ -269,41 +430,28 @@ class TestCephadm(object):
             [out] = wait(cephadm_module, c)
             match_glob(out, "Deployed nfs.name.* on host 'test'")
 
-    @mock.patch("cephadm.module.CephadmOrchestrator._run_cephadm", _run_cephadm('{}'))
-    def test_prometheus(self, cephadm_module):
-        with self._with_host(cephadm_module, 'test'):
-            ps = PlacementSpec(hosts=['test'], count=1)
-
-            c = cephadm_module.add_prometheus(ServiceSpec('prometheus', placement=ps))
-            [out] = wait(cephadm_module, c)
-            match_glob(out, "Deployed prometheus.* on host 'test'")
+            assert_rm_daemon(cephadm_module, 'nfs.name.test', 'test')
 
-    @mock.patch("cephadm.module.CephadmOrchestrator._run_cephadm", _run_cephadm('{}'))
-    def test_node_exporter(self, cephadm_module):
-        with self._with_host(cephadm_module, 'test'):
-            ps = PlacementSpec(hosts=['test'], count=1)
-
-            c = cephadm_module.add_node_exporter(ServiceSpec('node-exporter', placement=ps))
-            [out] = wait(cephadm_module, c)
-            match_glob(out, "Deployed node-exporter.* on host 'test'")
+            # Hack. We never created the service, but we now need to remove it.
+            # this is in contrast to the other services, which don't create this service
+            # automatically.
+            assert_rm_service(cephadm_module, 'nfs.name')
 
     @mock.patch("cephadm.module.CephadmOrchestrator._run_cephadm", _run_cephadm('{}'))
-    def test_grafana(self, cephadm_module):
+    def test_iscsi(self, cephadm_module):
         with self._with_host(cephadm_module, 'test'):
             ps = PlacementSpec(hosts=['test'], count=1)
-
-            c = cephadm_module.add_grafana(ServiceSpec('grafana', placement=ps))
+            spec = IscsiServiceSpec('name', pool='pool', placement=ps)
+            c = cephadm_module.add_iscsi(spec)
             [out] = wait(cephadm_module, c)
-            match_glob(out, "Deployed grafana.* on host 'test'")
+            match_glob(out, "Deployed iscsi.name.* on host 'test'")
 
-    @mock.patch("cephadm.module.CephadmOrchestrator._run_cephadm", _run_cephadm('{}'))
-    def test_alertmanager(self, cephadm_module):
-        with self._with_host(cephadm_module, 'test'):
-            ps = PlacementSpec(hosts=['test'], count=1)
+            assert_rm_daemon(cephadm_module, 'iscsi.name.test', 'test')
 
-            c = cephadm_module.add_alertmanager(ServiceSpec('alertmanager', placement=ps))
-            [out] = wait(cephadm_module, c)
-            match_glob(out, "Deployed alertmanager.* on host 'test'")
+            # Hack. We never created the service, but we now need to remove it.
+            # this is in contrast to the other services, which don't create this service
+            # automatically.
+            assert_rm_service(cephadm_module, 'iscsi.name')
 
     @mock.patch("cephadm.module.CephadmOrchestrator._run_cephadm", _run_cephadm('{}'))
     def test_blink_device_light(self, cephadm_module):
@@ -311,66 +459,48 @@ class TestCephadm(object):
             c = cephadm_module.blink_device_light('ident', True, [('test', '', '')])
             assert wait(cephadm_module, c) == ['Set ident light for test: on']
 
+    @pytest.mark.parametrize(
+        "spec, meth",
+        [
+            (ServiceSpec('mgr'), CephadmOrchestrator.apply_mgr),
+            (ServiceSpec('crash'), CephadmOrchestrator.apply_crash),
+            (ServiceSpec('prometheus'), CephadmOrchestrator.apply_prometheus),
+            (ServiceSpec('grafana'), CephadmOrchestrator.apply_grafana),
+            (ServiceSpec('node-exporter'), CephadmOrchestrator.apply_node_exporter),
+            (ServiceSpec('alertmanager'), CephadmOrchestrator.apply_alertmanager),
+            (ServiceSpec('rbd-mirror'), CephadmOrchestrator.apply_rbd_mirror),
+            (ServiceSpec('mds', service_id='fsname'), CephadmOrchestrator.apply_mds),
+            (RGWSpec(rgw_realm='realm', rgw_zone='zone'), CephadmOrchestrator.apply_rgw),
+            (NFSServiceSpec('name', pool='pool', namespace='namespace'), CephadmOrchestrator.apply_nfs),
+            (IscsiServiceSpec('name', pool='pool'), CephadmOrchestrator.apply_iscsi),
+        ]
+    )
     @mock.patch("cephadm.module.CephadmOrchestrator._run_cephadm", _run_cephadm('{}'))
-    def test_apply_mgr_save(self, cephadm_module):
-        with self._with_host(cephadm_module, 'test'):
-            ps = PlacementSpec(hosts=['test'], count=1)
-            spec = ServiceSpec('mgr', placement=ps)
-            c = cephadm_module.apply_mgr(spec)
-            assert wait(cephadm_module, c) == 'Scheduled mgr update...'
-            assert wait(cephadm_module, cephadm_module.list_specs()) == [spec]
-
-    @mock.patch("cephadm.module.CephadmOrchestrator._run_cephadm", _run_cephadm('{}'))
-    def test_apply_mds_save(self, cephadm_module):
-        with self._with_host(cephadm_module, 'test'):
-            ps = PlacementSpec(hosts=['test'], count=1)
-            spec = ServiceSpec('mds', 'fsname', placement=ps)
-            c = cephadm_module.apply_mds(spec)
-            assert wait(cephadm_module, c) == 'Scheduled mds update...'
-            assert wait(cephadm_module, cephadm_module.list_specs()) == [spec]
-
-    @mock.patch("cephadm.module.CephadmOrchestrator._run_cephadm", _run_cephadm('{}'))
-    def test_apply_rgw_save(self, cephadm_module):
-        with self._with_host(cephadm_module, 'test'):
-            ps = PlacementSpec(hosts=['test'], count=1)
-            spec = ServiceSpec('rgw', 'r.z', placement=ps)
-            c = cephadm_module.apply_rgw(spec)
-            assert wait(cephadm_module, c) == 'Scheduled rgw update...'
-            assert wait(cephadm_module, cephadm_module.list_specs()) == [spec]
-
-    @mock.patch("cephadm.module.CephadmOrchestrator._run_cephadm", _run_cephadm('{}'))
-    def test_apply_rbd_mirror_save(self, cephadm_module):
+    def test_apply_save(self, spec: ServiceSpec, meth, cephadm_module):
         with self._with_host(cephadm_module, 'test'):
-            ps = PlacementSpec(hosts=['test'], count=1)
-            spec = ServiceSpec('rbd-mirror', placement=ps)
-            c = cephadm_module.apply_rbd_mirror(spec)
-            assert wait(cephadm_module, c) == 'Scheduled rbd-mirror update...'
-            assert wait(cephadm_module, cephadm_module.list_specs()) == [spec]
+            spec.placement = PlacementSpec(hosts=['test'], count=1)
+            c = meth(cephadm_module, spec)
+            assert wait(cephadm_module, c) == f'Scheduled {spec.service_name()} update...'
+            assert [d.spec for d in wait(cephadm_module, cephadm_module.describe_service())] == [spec]
 
-    @mock.patch("cephadm.module.CephadmOrchestrator._run_cephadm", _run_cephadm('{}'))
-    def test_apply_nfs_save(self, cephadm_module):
-        with self._with_host(cephadm_module, 'test'):
-            ps = PlacementSpec(hosts=['test'], count=1)
-            spec = NFSServiceSpec('name', pool='pool', namespace='namespace', placement=ps)
-            c = cephadm_module.apply_nfs(spec)
-            assert wait(cephadm_module, c) == 'Scheduled nfs update...'
-            assert wait(cephadm_module, cephadm_module.list_specs()) == [spec]
+            assert_rm_service(cephadm_module, spec.service_name())
 
-    @mock.patch("cephadm.module.CephadmOrchestrator._run_cephadm", _run_cephadm('{}'))
-    def test_apply_prometheus_save(self, cephadm_module):
-        with self._with_host(cephadm_module, 'test'):
-            ps = PlacementSpec(hosts=['test'], count=1)
-            spec = ServiceSpec('prometheus', placement=ps)
-            c = cephadm_module.apply_prometheus(spec)
-            assert wait(cephadm_module, c) == 'Scheduled prometheus update...'
-            assert wait(cephadm_module, cephadm_module.list_specs()) == [spec]
 
-    @mock.patch("cephadm.module.CephadmOrchestrator._run_cephadm", _run_cephadm('{}'))
-    def test_apply_node_exporter_save(self, cephadm_module):
+    @mock.patch("cephadm.module.CephadmOrchestrator._get_connection")
+    @mock.patch("remoto.process.check")
+    def test_offline(self, _check, _get_connection, cephadm_module):
+        _check.return_value = '{}', '', 0
+        _get_connection.return_value = mock.Mock(), mock.Mock()
         with self._with_host(cephadm_module, 'test'):
-            ps = PlacementSpec(hosts=['test'], count=1)
-            spec = ServiceSpec('node-exporter', placement=ps, service_id='my_exporter')
-            c = cephadm_module.apply_node_exporter(spec)
-            assert wait(cephadm_module, c) == 'Scheduled node-exporter update...'
-            assert wait(cephadm_module, cephadm_module.list_specs()) == [spec]
-            assert wait(cephadm_module, cephadm_module.list_specs('node-exporter.my_exporter')) == [spec]
+            _get_connection.side_effect = HostNotFound
+            code, out, err = cephadm_module.check_host('test')
+            assert out == ''
+            assert 'Failed to connect to test (test)' in err
+
+            out = wait(cephadm_module, cephadm_module.get_hosts())[0].to_json()
+            assert out == HostSpec('test', 'test', status='Offline').to_json()
+
+            _get_connection.side_effect = None
+            assert cephadm_module._check_host('test') is None
+            out = wait(cephadm_module, cephadm_module.get_hosts())[0].to_json()
+            assert out == HostSpec('test', 'test').to_json()
diff --git a/ceph/src/pybind/mgr/cephadm/tests/test_spec.py b/ceph/src/pybind/mgr/cephadm/tests/test_spec.py
new file mode 100644 (file)
index 0000000..de5eb15
--- /dev/null
@@ -0,0 +1,290 @@
+import json
+
+import pytest
+
+from ceph.deployment.service_spec import ServiceSpec, RGWSpec, PlacementSpec
+from orchestrator import DaemonDescription, OrchestratorError
+
+
+def test_spec_octopus():
+    # https://tracker.ceph.com/issues/44934
+    # Those are real user data from early octopus.
+    # Please do not modify those JSON values.
+    specs_text = """[
+{
+  "placement": {
+    "count": 1
+  },
+  "service_type": "alertmanager"
+},
+{
+  "placement": {
+    "host_pattern": "*"
+  },
+  "service_type": "crash"
+},
+{
+  "placement": {
+    "count": 1
+  },
+  "service_type": "grafana"
+},
+{
+  "placement": {
+    "count": 2
+  },
+  "service_type": "mgr"
+},
+{
+  "placement": {
+    "count": 5
+  },
+  "service_type": "mon"
+},
+{
+  "placement": {
+    "host_pattern": "*"
+  },
+  "service_type": "node-exporter"
+},
+{
+  "placement": {
+    "count": 1
+  },
+  "service_type": "prometheus"
+},
+{
+  "placement": {
+    "hosts": [
+      {
+        "hostname": "ceph-001",
+        "network": "",
+        "name": ""
+      }
+    ]
+  },
+  "service_type": "rgw",
+  "service_id": "default-rgw-realm.eu-central-1.1",
+  "rgw_realm": "default-rgw-realm",
+  "rgw_zone": "eu-central-1",
+  "subcluster": "1"
+}
+]
+"""
+    dds_text = """[
+    {
+        "hostname": "ceph-001",
+        "container_id": "d94d7969094d",
+        "container_image_id": "0881eb8f169f5556a292b4e2c01d683172b12830a62a9225a98a8e206bb734f0",
+        "container_image_name": "docker.io/prom/alertmanager:latest",
+        "daemon_id": "ceph-001",
+        "daemon_type": "alertmanager",
+        "version": "0.20.0",
+        "status": 1,
+        "status_desc": "running",
+        "last_refresh": "2020-04-03T15:31:48.725856",
+        "created": "2020-04-02T19:23:08.829543",
+        "started": "2020-04-03T07:29:16.932838" 
+    },
+    {
+        "hostname": "ceph-001",
+        "container_id": "c4b036202241",
+        "container_image_id": "204a01f9b0b6710dd0c0af7f37ce7139c47ff0f0105d778d7104c69282dfbbf1",
+        "container_image_name": "docker.io/ceph/ceph:v15",
+        "daemon_id": "ceph-001",
+        "daemon_type": "crash",
+        "version": "15.2.0",
+        "status": 1,
+        "status_desc": "running",
+        "last_refresh": "2020-04-03T15:31:48.725903",
+        "created": "2020-04-02T19:23:11.390694",
+        "started": "2020-04-03T07:29:16.910897" 
+    },
+    {
+        "hostname": "ceph-001",
+        "container_id": "5b7b94b48f31",
+        "container_image_id": "87a51ecf0b1c9a7b187b21c1b071425dafea0d765a96d5bc371c791169b3d7f4",
+        "container_image_name": "docker.io/ceph/ceph-grafana:latest",
+        "daemon_id": "ceph-001",
+        "daemon_type": "grafana",
+        "version": "6.6.2",
+        "status": 1,
+        "status_desc": "running",
+        "last_refresh": "2020-04-03T15:31:48.725950",
+        "created": "2020-04-02T19:23:52.025088",
+        "started": "2020-04-03T07:29:16.847972" 
+    },
+    {
+        "hostname": "ceph-001",
+        "container_id": "9ca007280456",
+        "container_image_id": "204a01f9b0b6710dd0c0af7f37ce7139c47ff0f0105d778d7104c69282dfbbf1",
+        "container_image_name": "docker.io/ceph/ceph:v15",
+        "daemon_id": "ceph-001.gkjwqp",
+        "daemon_type": "mgr",
+        "version": "15.2.0",
+        "status": 1,
+        "status_desc": "running",
+        "last_refresh": "2020-04-03T15:31:48.725807",
+        "created": "2020-04-02T19:22:18.648584",
+        "started": "2020-04-03T07:29:16.856153" 
+    },
+    {
+        "hostname": "ceph-001",
+        "container_id": "3d1ba9a2b697",
+        "container_image_id": "204a01f9b0b6710dd0c0af7f37ce7139c47ff0f0105d778d7104c69282dfbbf1",
+        "container_image_name": "docker.io/ceph/ceph:v15",
+        "daemon_id": "ceph-001",
+        "daemon_type": "mon",
+        "version": "15.2.0",
+        "status": 1,
+        "status_desc": "running",
+        "last_refresh": "2020-04-03T15:31:48.725715",
+        "created": "2020-04-02T19:22:13.863300",
+        "started": "2020-04-03T07:29:17.206024" 
+    },
+    {
+        "hostname": "ceph-001",
+        "container_id": "36d026c68ba1",
+        "container_image_id": "e5a616e4b9cf68dfcad7782b78e118be4310022e874d52da85c55923fb615f87",
+        "container_image_name": "docker.io/prom/node-exporter:latest",
+        "daemon_id": "ceph-001",
+        "daemon_type": "node-exporter",
+        "version": "0.18.1",
+        "status": 1,
+        "status_desc": "running",
+        "last_refresh": "2020-04-03T15:31:48.725996",
+        "created": "2020-04-02T19:23:53.880197",
+        "started": "2020-04-03T07:29:16.880044" 
+    },
+    {
+        "hostname": "ceph-001",
+        "container_id": "faf76193cbfe",
+        "container_image_id": "204a01f9b0b6710dd0c0af7f37ce7139c47ff0f0105d778d7104c69282dfbbf1",
+        "container_image_name": "docker.io/ceph/ceph:v15",
+        "daemon_id": "0",
+        "daemon_type": "osd",
+        "version": "15.2.0",
+        "status": 1,
+        "status_desc": "running",
+        "last_refresh": "2020-04-03T15:31:48.726088",
+        "created": "2020-04-02T20:35:02.991435",
+        "started": "2020-04-03T07:29:19.373956" 
+    },
+    {
+        "hostname": "ceph-001",
+        "container_id": "f82505bae0f1",
+        "container_image_id": "204a01f9b0b6710dd0c0af7f37ce7139c47ff0f0105d778d7104c69282dfbbf1",
+        "container_image_name": "docker.io/ceph/ceph:v15",
+        "daemon_id": "1",
+        "daemon_type": "osd",
+        "version": "15.2.0",
+        "status": 1,
+        "status_desc": "running",
+        "last_refresh": "2020-04-03T15:31:48.726134",
+        "created": "2020-04-02T20:35:17.142272",
+        "started": "2020-04-03T07:29:19.374002" 
+    },
+    {
+        "hostname": "ceph-001",
+        "container_id": "2708d84cd484",
+        "container_image_id": "358a0d2395fe711bb8258e8fb4b2d7865c0a9a6463969bcd1452ee8869ea6653",
+        "container_image_name": "docker.io/prom/prometheus:latest",
+        "daemon_id": "ceph-001",
+        "daemon_type": "prometheus",
+        "version": "2.17.1",
+        "status": 1,
+        "status_desc": "running",
+        "last_refresh": "2020-04-03T15:31:48.726042",
+        "created": "2020-04-02T19:24:10.281163",
+        "started": "2020-04-03T07:29:16.926292" 
+    },
+    {
+        "hostname": "ceph-001",
+        "daemon_id": "default-rgw-realm.eu-central-1.1.ceph-001.ytywjo",
+        "daemon_type": "rgw",
+        "status": 1,
+        "status_desc": "starting" 
+    }
+]"""
+    specs_json = json.loads(specs_text)
+    dds_json = json.loads(dds_text)
+    specs = [ServiceSpec.from_json(j) for j in specs_json]
+    dds = [DaemonDescription.from_json(j) for j in dds_json]
+
+    # just some verification that we can sill read old octopus specs
+    def remove_service_name(j):
+        if 'service_name' in j:
+            j_c = j.copy()
+            del j_c['service_name']
+            return j_c
+        return j
+    assert specs_json == [remove_service_name(s.to_json()) for s in specs]
+    assert dds_json == [d.to_json() for d in dds]
+
+
+@pytest.mark.parametrize("spec,dd,valid",
+[
+    (
+        # https://tracker.ceph.com/issues/44934
+        RGWSpec(
+            rgw_realm="default-rgw-realm",
+            rgw_zone="eu-central-1",
+            subcluster='1',
+        ),
+        DaemonDescription(
+            daemon_type='rgw',
+            daemon_id="default-rgw-realm.eu-central-1.1.ceph-001.ytywjo",
+            hostname="ceph-001",
+        ),
+        True
+    ),
+    (
+        # no subcluster
+        RGWSpec(
+            rgw_realm="default-rgw-realm",
+            rgw_zone="eu-central-1",
+        ),
+        DaemonDescription(
+            daemon_type='rgw',
+            daemon_id="default-rgw-realm.eu-central-1.ceph-001.ytywjo",
+            hostname="ceph-001",
+        ),
+        True
+    ),
+    (
+        # with tld
+        RGWSpec(
+            rgw_realm="default-rgw-realm",
+            rgw_zone="eu-central-1",
+            subcluster='1',
+        ),
+        DaemonDescription(
+            daemon_type='rgw',
+            daemon_id="default-rgw-realm.eu-central-1.1.host.domain.tld.ytywjo",
+            hostname="host.domain.tld",
+        ),
+        True
+    ),
+    (
+        # without host
+        RGWSpec(
+            service_type='rgw',
+            rgw_realm="default-rgw-realm",
+            rgw_zone="eu-central-1",
+            subcluster='1',
+        ),
+        DaemonDescription(
+            daemon_type='rgw',
+            daemon_id="default-rgw-realm.eu-central-1.1.hostname.ytywjo",
+            hostname=None,
+        ),
+        False
+    ),
+])
+def test_rgw_service_name(spec: RGWSpec, dd: DaemonDescription, valid):
+    if valid:
+        assert spec.service_name() == dd.service_name()
+    else:
+        with pytest.raises(OrchestratorError):
+            dd.service_name()
+
index 3ecbb60d9ea5af46e7711b360e37ceb84a4dcf9f..3cc6d6e1a74ab17fe5e422f7fec6a61dc3c52514 100644 (file)
@@ -7,7 +7,7 @@ def name_to_config_section(name):
     Map from daemon names to ceph entity names (as seen in config)
     """
     daemon_type = name.split('.', 1)[0]
-    if daemon_type in ['rgw', 'rbd-mirror', 'nfs', 'crash']:
+    if daemon_type in ['rgw', 'rbd-mirror', 'nfs', 'crash', 'iscsi']:
         return 'client.' + name
     elif daemon_type in ['mon', 'osd', 'mds', 'mgr', 'client']:
         return name
index af5049300001dfa35c4aa780af8b1614bc2de8af..bcf94416a1e57b409eb363698b20647ad071ad2e 100644 (file)
@@ -3,6 +3,7 @@
 from __future__ import absolute_import
 
 from copy import deepcopy
+import re
 import json
 import cherrypy
 
@@ -197,6 +198,13 @@ class Iscsi(BaseController):
     @Endpoint('PUT', 'discoveryauth')
     @UpdatePermission
     def set_discoveryauth(self, user, password, mutual_user, mutual_password):
+        validate_auth({
+            'user': user,
+            'password': password,
+            'mutual_user': mutual_user,
+            'mutual_password': mutual_password
+        })
+
         gateway = get_available_gateway()
         config = IscsiClient.instance(gateway_name=gateway).get_config()
         gateway_names = list(config['gateways'].keys())
@@ -251,10 +259,6 @@ class IscsiTarget(RESTController):
     def delete(self, target_iqn):
         gateway = get_available_gateway()
         config = IscsiClient.instance(gateway_name=gateway).get_config()
-        if target_iqn not in config['targets']:
-            raise DashboardException(msg='Target does not exist',
-                                     code='target_does_not_exist',
-                                     component='iscsi')
         if target_iqn not in config['targets']:
             raise DashboardException(msg='Target does not exist',
                                      code='target_does_not_exist',
@@ -279,6 +283,10 @@ class IscsiTarget(RESTController):
         clients = clients or []
         groups = groups or []
 
+        validate_auth(auth)
+        for client in clients:
+            validate_auth(client['auth'])
+
         gateway = get_available_gateway()
         config = IscsiClient.instance(gateway_name=gateway).get_config()
         if target_iqn in config['targets']:
@@ -300,6 +308,10 @@ class IscsiTarget(RESTController):
         clients = IscsiTarget._sorted_clients(clients)
         groups = IscsiTarget._sorted_groups(groups)
 
+        validate_auth(auth)
+        for client in clients:
+            validate_auth(client['auth'])
+
         gateway = get_available_gateway()
         config = IscsiClient.instance(gateway_name=gateway).get_config()
         if target_iqn not in config['targets']:
@@ -310,6 +322,7 @@ class IscsiTarget(RESTController):
             raise DashboardException(msg='Target IQN already in use',
                                      code='target_iqn_already_in_use',
                                      component='iscsi')
+
         settings = IscsiClient.instance(gateway_name=gateway).get_settings()
         new_portal_names = {p['host'] for p in portals}
         old_portal_names = set(config['targets'][target_iqn]['portals'].keys())
@@ -489,9 +502,12 @@ class IscsiTarget(RESTController):
 
     @staticmethod
     def _target_deletion_required(target, new_target_iqn, new_target_controls):
+        gateway = get_available_gateway()
+        settings = IscsiClient.instance(gateway_name=gateway).get_settings()
+
         if target['target_iqn'] != new_target_iqn:
             return True
-        if target['target_controls'] != new_target_controls:
+        if settings['api_version'] < 2 and target['target_controls'] != new_target_controls:
             return True
         return False
 
@@ -630,6 +646,13 @@ class IscsiTarget(RESTController):
             IscsiClient.instance(gateway_name=gateway_name).update_targetacl(target_iqn,
                                                                              targetauth_action)
 
+    @staticmethod
+    def _is_auth_equal(target_auth, auth):
+        return auth['user'] == target_auth['username'] and \
+               auth['password'] == target_auth['password'] and \
+               auth['mutual_user'] == target_auth['mutual_username'] and \
+               auth['mutual_password'] == target_auth['mutual_password']
+
     @staticmethod
     def _create(target_iqn, target_controls, acl_enabled,
                 auth, portals, disks, clients, groups,
@@ -657,13 +680,17 @@ class IscsiTarget(RESTController):
                                                                                    ip_list)
                 TaskManager.current_task().inc_progress(task_progress_inc)
 
-            if acl_enabled:
-                IscsiTarget._update_targetauth(config, target_iqn, auth, gateway_name)
-                IscsiTarget._update_targetacl(target_config, target_iqn, acl_enabled, gateway_name)
-
-            else:
-                IscsiTarget._update_targetacl(target_config, target_iqn, acl_enabled, gateway_name)
-                IscsiTarget._update_targetauth(config, target_iqn, auth, gateway_name)
+            if not target_config or \
+               acl_enabled != target_config['acl_enabled'] or \
+               not IscsiTarget._is_auth_equal(target_config['auth'], auth):
+                if acl_enabled:
+                    IscsiTarget._update_targetauth(config, target_iqn, auth, gateway_name)
+                    IscsiTarget._update_targetacl(target_config, target_iqn, acl_enabled,
+                                                  gateway_name)
+                else:
+                    IscsiTarget._update_targetacl(target_config, target_iqn, acl_enabled,
+                                                  gateway_name)
+                    IscsiTarget._update_targetauth(config, target_iqn, auth, gateway_name)
 
             for disk in disks:
                 pool = disk['pool']
@@ -938,3 +965,22 @@ def validate_rest_api(gateways):
                                          '{}'.format(gateway),
                                      code='ceph_iscsi_rest_api_not_available_for_gateway',
                                      component='iscsi')
+
+
+def validate_auth(auth):
+    username_regex = re.compile(r'^[\w\.:@_-]{8,64}$')
+    password_regex = re.compile(r'^[\w@\-_\/]{12,16}$')
+    result = True
+
+    if auth['user'] or auth['password']:
+        result = bool(username_regex.match(auth['user'])) and \
+            bool(password_regex.match(auth['password']))
+
+    if auth['mutual_user'] or auth['mutual_password']:
+        result = result and bool(username_regex.match(auth['mutual_user'])) and \
+            bool(password_regex.match(auth['mutual_password'])) and auth['user']
+
+    if not result:
+        raise DashboardException(msg='Bad authentication',
+                                 code='target_bad_auth',
+                                 component='iscsi')
index 6bfff994d223ae3e4075ce3503eeb84786547193..ec959949381fbf64bd91f8f13c9f02a6c51276df 100644 (file)
@@ -3,6 +3,7 @@
 # pylint: disable=too-many-statements,too-many-branches
 from __future__ import absolute_import
 
+import logging
 import math
 from functools import partial
 from datetime import datetime
@@ -21,6 +22,8 @@ from ..tools import ViewCache, str_to_bool
 from ..services.exception import handle_rados_error, handle_rbd_error, \
     serialize_dashboard_exception
 
+logger = logging.getLogger(__name__)
+
 
 # pylint: disable=not-callable
 def RbdTask(name, metadata, wait_for):  # noqa: N802
@@ -363,12 +366,14 @@ class RbdTrash(RESTController):
     @DeletePermission
     def purge(self, pool_name=None):
         """Remove all expired images from trash."""
-        now = "{}Z".format(datetime.now().isoformat())
+        now = "{}Z".format(datetime.utcnow().isoformat())
         pools = self._trash_list(pool_name)
 
         for pool in pools:
             for image in pool['value']:
                 if image['deferment_end_time'] < now:
+                    logger.info('Removing trash image %s (pool=%s, namespace=%s, name=%s)',
+                                image['id'], pool['pool_name'], image['namespace'], image['name'])
                     rbd_call(pool['pool_name'], image['namespace'],
                              self.rbd_inst.trash_remove, image['id'], 0)
 
diff --git a/ceph/src/pybind/mgr/dashboard/frontend/dist/en-US/2.adb5a86b21cf4e105cd2.js b/ceph/src/pybind/mgr/dashboard/frontend/dist/en-US/2.adb5a86b21cf4e105cd2.js
deleted file mode 100644 (file)
index c3854b6..0000000
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{"+26A":function(l,n,e){"use strict";e.d(n,"a",(function(){return d}));var t=e("s7LF"),i=e("LvDl"),u=e("GyhO"),s=e("cp0P"),a=e("NJ9Y"),o=(e("XED3"),e("QFaf")),r=e("kvvV");e("kn/O");class d{constructor(l,n,e){this.modalRef=l,this.rbdMirroringService=n,this.taskWrapper=e,this.pools=[],this.directions=[{key:"rx-tx",desc:"Bidirectional"},{key:"rx",desc:"Unidirectional (receive-only)"}],this.createForm()}createForm(){this.importBootstrapForm=new o.a({siteName:new t.i("",{validators:[t.B.required]}),direction:new t.i("rx-tx",{}),pools:new t.k({},{validators:[this.validatePools()]}),token:new t.i("",{validators:[t.B.required,this.validateToken()]})})}ngOnInit(){this.rbdMirroringService.getSiteName().subscribe(l=>{this.importBootstrapForm.get("siteName").setValue(l.site_name)}),this.subs=this.rbdMirroringService.subscribeSummary(l=>{if(!l)return;this.pools=l.content_data.pools.reduce((l,n)=>(l.push({name:n.name,mirror_mode:n.mirror_mode}),l),[]);const n=this.importBootstrapForm.get("pools");i.each(this.pools,l=>{const e=l.name,i="disabled"===l.mirror_mode,u=n.controls[e];u?i&&u.disabled?u.enable():!i&&u.enabled&&(u.disable(),u.setValue(!0)):n.addControl(e,new t.i({value:!i,disabled:!i}))})})}ngOnDestroy(){this.subs&&this.subs.unsubscribe()}validatePools(){return l=>{let n=0;return i.each(l.controls,l=>{!0===l.value&&++n}),n>0?null:{requirePool:!0}}}validateToken(){return l=>{try{if(JSON.parse(atob(l.value)))return null}catch(n){}return{invalidToken:!0}}}import(){const l=[],n=[],e=this.importBootstrapForm.get("pools");i.each(e.controls,(e,t)=>{!0===e.value&&(l.push(t),e.disabled||n.push(t))});const t={mirror_mode:"image"};let o=Object(u.a)(this.rbdMirroringService.setSiteName(this.importBootstrapForm.getValue("siteName")),Object(s.a)(n.map(l=>this.rbdMirroringService.updatePool(l,t))));o=l.reduce((l,n)=>Object(u.a)(l,this.rbdMirroringService.importBootstrapToken(n,this.importBootstrapForm.getValue("direction"),this.importBootstrapForm.getValue("token"))),o).pipe(Object(a.a)());const d=()=>{this.rbdMirroringService.refresh(),this.importBootstrapForm.setErrors({cdSubmitButton:!0})};this.taskWrapper.wrapTaskAroundCall({task:new r.a("rbd/mirroring/bootstrap/import",{}),call:o}).subscribe(void 0,d,()=>{d(),this.modalRef.hide()})}}},"0BYw":function(l,n,e){"use strict";var t=e("8Y7J"),i=e("s7LF"),u=e("+gVj"),s=e("SVse"),a=e("EEJc"),o=e("ajRT"),r=e("mXUL"),d=e("IZUe"),c=e("gp3X"),m=e("sb0X"),p=e("KVJa"),h=e("Z21x"),g=e("sne2"),f=e("daK0"),v=e("LqlI"),b=e("aexS"),C=e("9nlD"),S=e("Ekvf"),_=e("F83c"),y=e("GiVz");e.d(n,"a",(function(){return q}));var R=t["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function w(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,6,"input",[["class","form-control"],["formControlName","pool"],["id","pool"],["name","pool"],["placeholder","Pool name..."],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,1)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,1).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,1)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,1)._compositionEnd(e.target.value)&&i),i}),null,null)),t["ɵdid"](1,16384,null,0,i.e,[t.Renderer2,t.ElementRef,[2,i.b]],null,null),t["ɵprd"](1024,null,i.p,(function(l){return[l]}),[i.e]),t["ɵdid"](3,671744,[[1,4]],0,i.j,[[3,i.d],[8,null],[8,null],[6,i.p],[2,i.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,i.q,null,[i.j]),t["ɵdid"](5,16384,null,0,i.r,[[4,i.q]],null,null),t["ɵdid"](6,16384,null,0,u.h,[[3,i.d],u.a],{formControlName:[0,"formControlName"]},null)],(function(l,n){l(n,3,0,"pool"),l(n,6,0,"pool")}),(function(l,n){l(n,0,0,t["ɵnov"](n,5).ngClassUntouched,t["ɵnov"](n,5).ngClassTouched,t["ɵnov"](n,5).ngClassPristine,t["ɵnov"](n,5).ngClassDirty,t["ɵnov"](n,5).ngClassValid,t["ɵnov"](n,5).ngClassInvalid,t["ɵnov"](n,5).ngClassPending,t["ɵnov"](n,6).validClass,t["ɵnov"](n,6).invalidClass)}))}function I(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),t["ɵdid"](1,147456,null,0,i.v,[t.ElementRef,t.Renderer2,[2,i.A]],{ngValue:[0,"ngValue"]},null),t["ɵdid"](2,147456,null,0,i.F,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),t["ɵted"](-1,null,["Loading..."]))],(function(l,n){l(n,1,0,null),l(n,2,0,null)}),null)}function k(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),t["ɵdid"](1,147456,null,0,i.v,[t.ElementRef,t.Renderer2,[2,i.A]],{ngValue:[0,"ngValue"]},null),t["ɵdid"](2,147456,null,0,i.F,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),t["ɵted"](-1,null,["-- No rbd pools available --"]))],(function(l,n){l(n,1,0,null),l(n,2,0,null)}),null)}function E(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),t["ɵdid"](1,147456,null,0,i.v,[t.ElementRef,t.Renderer2,[2,i.A]],{ngValue:[0,"ngValue"]},null),t["ɵdid"](2,147456,null,0,i.F,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),t["ɵted"](-1,null,["-- Select a pool --"]))],(function(l,n){l(n,1,0,null),l(n,2,0,null)}),null)}function N(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),t["ɵdid"](1,147456,null,0,i.v,[t.ElementRef,t.Renderer2,[2,i.A]],{value:[0,"value"]},null),t["ɵdid"](2,147456,null,0,i.F,[t.ElementRef,t.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),t["ɵted"](3,null,["",""]))],(function(l,n){l(n,1,0,n.context.$implicit.pool_name),l(n,2,0,n.context.$implicit.pool_name)}),(function(l,n){l(n,3,0,n.context.$implicit.pool_name)}))}function F(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,14,"select",[["class","form-control custom-select"],["formControlName","pool"],["id","pool"],["name","pool"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,e){var i=!0;return"change"===n&&(i=!1!==t["ɵnov"](l,1).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,1).onTouched()&&i),i}),null,null)),t["ɵdid"](1,16384,null,0,i.A,[t.Renderer2,t.ElementRef],null,null),t["ɵprd"](1024,null,i.p,(function(l){return[l]}),[i.A]),t["ɵdid"](3,671744,[[1,4]],0,i.j,[[3,i.d],[8,null],[8,null],[6,i.p],[2,i.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,i.q,null,[i.j]),t["ɵdid"](5,16384,null,0,i.r,[[4,i.q]],null,null),t["ɵdid"](6,16384,null,0,u.h,[[3,i.d],u.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,I)),t["ɵdid"](8,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,k)),t["ɵdid"](10,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,E)),t["ɵdid"](12,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,N)),t["ɵdid"](14,278528,null,0,s.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(l,n){var e=n.component;l(n,3,0,"pool"),l(n,6,0,"pool"),l(n,8,0,null===e.pools),l(n,10,0,null!==e.pools&&0===e.pools.length),l(n,12,0,null!==e.pools&&e.pools.length>0),l(n,14,0,e.pools)}),(function(l,n){l(n,0,0,t["ɵnov"](n,5).ngClassUntouched,t["ɵnov"](n,5).ngClassTouched,t["ɵnov"](n,5).ngClassPristine,t["ɵnov"](n,5).ngClassDirty,t["ɵnov"](n,5).ngClassValid,t["ɵnov"](n,5).ngClassInvalid,t["ɵnov"](n,5).ngClassPending,t["ɵnov"](n,6).validClass,t["ɵnov"](n,6).invalidClass)}))}function T(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["This field is required."]))],null,null)}function V(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["This field is required."]))],null,null)}function D(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Namespace already exists."]))],null,null)}function P(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,50,"cd-modal",[],null,null,null,a.c,a.b)),t["ɵdid"](1,49152,null,0,o.a,[],{modalRef:[0,"modalRef"]},null),(l()(),t["ɵeld"](2,0,null,0,1,null,null,null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Create Namespace"])),(l()(),t["ɵeld"](4,0,null,1,46,null,null,null,null,null,null,null)),(l()(),t["ɵeld"](5,0,null,null,45,"form",[["name","namespaceForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,e){var i=!0;return"submit"===n&&(i=!1!==t["ɵnov"](l,7).onSubmit(e)&&i),"reset"===n&&(i=!1!==t["ɵnov"](l,7).onReset()&&i),"submit"===n&&(i=!1!==t["ɵnov"](l,10).onSubmit()&&i),i}),null,null)),t["ɵdid"](6,16384,null,0,i.G,[],null,null),t["ɵdid"](7,540672,[["formDir",4]],0,i.l,[[8,null],[8,null]],{form:[0,"form"]},null),t["ɵprd"](2048,null,i.d,null,[i.l]),t["ɵdid"](9,16384,null,0,i.s,[[4,i.d]],null,null),t["ɵdid"](10,16384,null,0,u.d,[],{formGroup:[0,"formGroup"]},null),(l()(),t["ɵeld"](11,0,null,null,32,"div",[["class","modal-body"]],null,null,null,null,null)),(l()(),t["ɵeld"](12,0,null,null,12,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,r.b,r.a)),t["ɵdid"](13,1163264,null,2,u.c,[t.ElementRef,u.g],null,null),t["ɵqud"](603979776,1,{FormControlNames:1}),t["ɵqud"](603979776,2,{messagesBlock:0}),(l()(),t["ɵeld"](16,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","pool"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Pool"])),(l()(),t["ɵeld"](18,0,null,0,6,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),t["ɵand"](16777216,null,null,1,null,w)),t["ɵdid"](20,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,F)),t["ɵdid"](22,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,T)),t["ɵdid"](24,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](25,0,null,null,18,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,r.b,r.a)),t["ɵdid"](26,1163264,null,2,u.c,[t.ElementRef,u.g],null,null),t["ɵqud"](603979776,3,{FormControlNames:1}),t["ɵqud"](603979776,4,{messagesBlock:0}),(l()(),t["ɵeld"](29,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","namespace"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Name"])),(l()(),t["ɵeld"](31,0,null,0,12,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),t["ɵeld"](32,0,null,null,7,"input",[["autofocus",""],["class","form-control"],["formControlName","namespace"],["id","namespace"],["name","namespace"],["placeholder","Namespace name..."],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,33)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,33).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,33)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,33)._compositionEnd(e.target.value)&&i),i}),null,null)),t["ɵdid"](33,16384,null,0,i.e,[t.Renderer2,t.ElementRef,[2,i.b]],null,null),t["ɵprd"](1024,null,i.p,(function(l){return[l]}),[i.e]),t["ɵdid"](35,671744,[[3,4]],0,i.j,[[3,i.d],[8,null],[8,null],[6,i.p],[2,i.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,i.q,null,[i.j]),t["ɵdid"](37,16384,null,0,i.r,[[4,i.q]],null,null),t["ɵdid"](38,4210688,null,0,d.a,[t.ElementRef],{autofocus:[0,"autofocus"]},null),t["ɵdid"](39,16384,null,0,u.h,[[3,i.d],u.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,V)),t["ɵdid"](41,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,D)),t["ɵdid"](43,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](44,0,null,null,6,"div",[["class","modal-footer"]],null,null,null,null,null)),(l()(),t["ɵeld"](45,0,null,null,5,"div",[["class","button-group text-right"]],null,null,null,null,null)),(l()(),t["ɵeld"](46,0,null,null,2,"cd-submit-button",[],null,[[null,"submitAction"]],(function(l,n,e){var t=!0;return"submitAction"===n&&(t=!1!==l.component.submit()&&t),t}),c.b,c.a)),t["ɵdid"](47,114688,null,0,m.a,[t.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(l()(),t["ɵted"](-1,0,["Create Namespace"])),(l()(),t["ɵeld"](49,0,null,null,1,"cd-back-button",[["name","Close"]],null,null,null,p.b,p.a)),t["ɵdid"](50,49152,null,0,h.a,[s.Location,g.b],{name:[0,"name"],back:[1,"back"]},null)],(function(l,n){var e=n.component;l(n,1,0,e.modalRef),l(n,7,0,e.namespaceForm),l(n,10,0,e.namespaceForm),l(n,13,0),l(n,20,0,!e.poolPermission.read),l(n,22,0,e.poolPermission.read),l(n,24,0,e.namespaceForm.showError("pool",t["ɵnov"](n,7),"required")),l(n,26,0),l(n,35,0,"namespace"),l(n,38,0,""),l(n,39,0,"namespace"),l(n,41,0,e.namespaceForm.showError("namespace",t["ɵnov"](n,7),"required")),l(n,43,0,e.namespaceForm.showError("namespace",t["ɵnov"](n,7),"namespaceExists")),l(n,47,0,e.namespaceForm),l(n,50,0,"Close",e.modalRef.hide)}),(function(l,n){l(n,5,0,t["ɵnov"](n,9).ngClassUntouched,t["ɵnov"](n,9).ngClassTouched,t["ɵnov"](n,9).ngClassPristine,t["ɵnov"](n,9).ngClassDirty,t["ɵnov"](n,9).ngClassValid,t["ɵnov"](n,9).ngClassInvalid,t["ɵnov"](n,9).ngClassPending),l(n,12,0,t["ɵnov"](n,13).hasErrors,t["ɵnov"](n,13).hasSuccess),l(n,25,0,t["ɵnov"](n,26).hasErrors,t["ɵnov"](n,26).hasSuccess),l(n,32,0,t["ɵnov"](n,37).ngClassUntouched,t["ɵnov"](n,37).ngClassTouched,t["ɵnov"](n,37).ngClassPristine,t["ɵnov"](n,37).ngClassDirty,t["ɵnov"](n,37).ngClassValid,t["ɵnov"](n,37).ngClassInvalid,t["ɵnov"](n,37).ngClassPending,t["ɵnov"](n,39).validClass,t["ɵnov"](n,39).invalidClass)}))}function x(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"cd-rbd-namespace-form-modal",[],null,null,null,P,R)),t["ɵdid"](1,114688,null,0,f.a,[v.a,b.a,C.a,S.a,_.a,y.a],null,null)],(function(l,n){l(n,1,0)}),null)}var q=t["ɵccf"]("cd-rbd-namespace-form-modal",f.a,x,{},{},[])},"0rTx":function(l,n,e){"use strict";var t=e("8Y7J"),i=e("EEJc"),u=e("ajRT"),s=e("s7LF"),a=e("+gVj"),o=e("mXUL"),r=e("IZUe"),d=e("SVse"),c=e("gp3X"),m=e("sb0X"),p=e("KVJa"),h=e("Z21x"),g=e("sne2"),f=e("2GqK"),v=e("F83c"),b=e("LqlI"),C=e("2EZI"),S=e("kn/O");e.d(n,"a",(function(){return I}));var _=t["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function y(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["This field is required."]))],null,null)}function R(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,47,"cd-modal",[],null,null,null,i.c,i.b)),t["ɵdid"](1,49152,null,0,u.a,[],{modalRef:[0,"modalRef"]},null),(l()(),t["ɵeld"](2,0,null,0,1,null,null,null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Restore Image"])),(l()(),t["ɵeld"](4,0,null,1,43,null,null,null,null,null,null,null)),(l()(),t["ɵeld"](5,0,null,null,42,"form",[["class","form"],["name","restoreForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,e){var i=!0;return"submit"===n&&(i=!1!==t["ɵnov"](l,7).onSubmit(e)&&i),"reset"===n&&(i=!1!==t["ɵnov"](l,7).onReset()&&i),"submit"===n&&(i=!1!==t["ɵnov"](l,10).onSubmit()&&i),i}),null,null)),t["ɵdid"](6,16384,null,0,s.G,[],null,null),t["ɵdid"](7,540672,[["formDir",4]],0,s.l,[[8,null],[8,null]],{form:[0,"form"]},null),t["ɵprd"](2048,null,s.d,null,[s.l]),t["ɵdid"](9,16384,null,0,s.s,[[4,s.d]],null,null),t["ɵdid"](10,16384,null,0,a.d,[],{formGroup:[0,"formGroup"]},null),(l()(),t["ɵeld"](11,0,null,null,29,"div",[["class","modal-body"]],null,null,null,null,null)),(l()(),t["ɵeld"](12,0,null,null,12,"p",[],null,null,null,null,null)),(l()(),t["ɵeld"](13,0,null,null,1,null,null,null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["To restore"])),(l()(),t["ɵted"](-1,null,["  "])),(l()(),t["ɵeld"](16,0,null,null,1,"kbd",[],null,null,null,null,null)),(l()(),t["ɵted"](17,null,["","@",""])),(l()(),t["ɵted"](-1,null,[",  "])),(l()(),t["ɵeld"](19,0,null,null,1,null,null,null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["type the image's new name and click"])),(l()(),t["ɵted"](-1,null,["  "])),(l()(),t["ɵeld"](22,0,null,null,1,"kbd",[],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Restore Image"])),(l()(),t["ɵted"](-1,null,[". "])),(l()(),t["ɵeld"](25,0,null,null,15,"div",[["class","form-group"]],[[2,"has-error",null],[2,"has-success",null]],null,null,o.b,o.a)),t["ɵdid"](26,1163264,null,2,a.c,[t.ElementRef,a.g],null,null),t["ɵqud"](603979776,1,{FormControlNames:1}),t["ɵqud"](603979776,2,{messagesBlock:0}),(l()(),t["ɵeld"](29,0,null,0,1,"label",[["class","col-form-label"],["for","name"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["New Name"])),(l()(),t["ɵeld"](31,0,null,0,7,"input",[["autocomplete","off"],["autofocus",""],["class","form-control"],["formControlName","name"],["id","name"],["name","name"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,32)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,32).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,32)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,32)._compositionEnd(e.target.value)&&i),i}),null,null)),t["ɵdid"](32,16384,null,0,s.e,[t.Renderer2,t.ElementRef,[2,s.b]],null,null),t["ɵprd"](1024,null,s.p,(function(l){return[l]}),[s.e]),t["ɵdid"](34,671744,[[1,4]],0,s.j,[[3,s.d],[8,null],[8,null],[6,s.p],[2,s.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,s.q,null,[s.j]),t["ɵdid"](36,16384,null,0,s.r,[[4,s.q]],null,null),t["ɵdid"](37,4210688,null,0,r.a,[t.ElementRef],{autofocus:[0,"autofocus"]},null),t["ɵdid"](38,16384,null,0,a.h,[[3,s.d],a.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵand"](16777216,null,0,1,null,y)),t["ɵdid"](40,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](41,0,null,null,6,"div",[["class","modal-footer"]],null,null,null,null,null)),(l()(),t["ɵeld"](42,0,null,null,5,"div",[["class","button-group text-right"]],null,null,null,null,null)),(l()(),t["ɵeld"](43,0,null,null,2,"cd-submit-button",[],null,[[null,"submitAction"]],(function(l,n,e){var t=!0;return"submitAction"===n&&(t=!1!==l.component.restore()&&t),t}),c.b,c.a)),t["ɵdid"](44,114688,null,0,m.a,[t.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(l()(),t["ɵted"](-1,0,["Restore Image"])),(l()(),t["ɵeld"](46,0,null,null,1,"cd-back-button",[["name","Cancel"]],null,null,null,p.b,p.a)),t["ɵdid"](47,49152,null,0,h.a,[d.Location,g.b],{name:[0,"name"],back:[1,"back"]},null)],(function(l,n){var e=n.component;l(n,1,0,e.modalRef),l(n,7,0,e.restoreForm),l(n,10,0,e.restoreForm),l(n,26,0),l(n,34,0,"name"),l(n,37,0,""),l(n,38,0,"name"),l(n,40,0,e.restoreForm.showError("name",t["ɵnov"](n,7),"required")),l(n,44,0,e.restoreForm),l(n,47,0,"Cancel",e.modalRef.hide)}),(function(l,n){var e=n.component;l(n,5,0,t["ɵnov"](n,9).ngClassUntouched,t["ɵnov"](n,9).ngClassTouched,t["ɵnov"](n,9).ngClassPristine,t["ɵnov"](n,9).ngClassDirty,t["ɵnov"](n,9).ngClassValid,t["ɵnov"](n,9).ngClassInvalid,t["ɵnov"](n,9).ngClassPending),l(n,17,0,e.imageSpec,e.imageId),l(n,25,0,t["ɵnov"](n,26).hasErrors,t["ɵnov"](n,26).hasSuccess),l(n,31,0,t["ɵnov"](n,36).ngClassUntouched,t["ɵnov"](n,36).ngClassTouched,t["ɵnov"](n,36).ngClassPristine,t["ɵnov"](n,36).ngClassDirty,t["ɵnov"](n,36).ngClassValid,t["ɵnov"](n,36).ngClassInvalid,t["ɵnov"](n,36).ngClassPending,t["ɵnov"](n,38).validClass,t["ɵnov"](n,38).invalidClass)}))}function w(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"cd-rbd-trash-restore-modal",[],null,null,null,R,_)),t["ɵdid"](1,114688,null,0,f.a,[v.a,b.a,C.a,S.a],null,null)],(function(l,n){l(n,1,0)}),null)}var I=t["ɵccf"]("cd-rbd-trash-restore-modal",f.a,w,{},{},[])},"2GqK":function(l,n,e){"use strict";e.d(n,"a",(function(){return u})),e("F83c"),e("2EZI");var t=e("kvvV"),i=e("jVDg");e("kn/O");class u{constructor(l,n,e,t){this.rbdService=l,this.modalRef=n,this.fb=e,this.taskWrapper=t}ngOnInit(){this.imageSpec=new i.a(this.poolName,this.namespace,this.imageName).toString(),this.restoreForm=this.fb.group({name:this.imageName})}restore(){const l=this.restoreForm.getValue("name"),n=new i.a(this.poolName,this.namespace,this.imageId);this.taskWrapper.wrapTaskAroundCall({task:new t.a("rbd/trash/restore",{image_id_spec:n.toString(),new_image_name:l}),call:this.rbdService.restoreTrash(n,l)}).subscribe(void 0,()=>{this.restoreForm.setErrors({cdSubmitButton:!0})},()=>{this.modalRef.hide()})}}},"2JDI":function(l,n,e){"use strict";e.d(n,"a",(function(){return a}));var t=e("wd/R"),i=(e("F83c"),e("2EZI"),e("1Ni5")),u=e("kvvV"),s=e("jVDg");e("kn/O");class a{constructor(l,n,e,t){this.rbdService=l,this.modalRef=n,this.fb=e,this.taskWrapper=t,this.minDate=new Date,this.bsConfig={dateInputFormat:"YYYY-MM-DD HH:mm:ss",containerClass:"theme-default"},this.createForm()}createForm(){this.moveForm=this.fb.group({expiresAt:["",[i.a.custom("format",l=>!(""===l||t(l,"YYYY-MM-DD HH:mm:ss").isValid())),i.a.custom("expired",l=>t().isAfter(l))]]})}ngOnInit(){this.imageSpec=new s.a(this.poolName,this.namespace,this.imageName),this.imageSpecStr=this.imageSpec.toString(),this.pattern=`${this.poolName}/${this.imageName}`}moveImage(){let l=0;const n=this.moveForm.getValue("expiresAt");n&&(l=t(n).diff(t(),"seconds",!0)),l<0&&(l=0),this.taskWrapper.wrapTaskAroundCall({task:new u.a("rbd/trash/move",{image_spec:this.imageSpecStr}),call:this.rbdService.moveTrash(this.imageSpec,l)}).subscribe(void 0,void 0,()=>{this.modalRef.hide()})}}},"3IYD":function(l,n,e){"use strict";var t=e("8Y7J"),i=e("SVse"),u=e("8xTl"),s=e("EEJc"),a=e("ajRT"),o=e("s7LF"),r=e("+gVj"),d=e("mXUL"),c=e("IZUe"),m=e("gp3X"),p=e("sb0X"),h=e("KVJa"),g=e("Z21x"),f=e("sne2"),v=e("Fd71"),b=e("LqlI"),C=e("F83c"),S=e("VXsX"),_=e("9nlD"),y=e("GiVz");e.d(n,"a",(function(){return E}));var R=t["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function w(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["This field is required."]))],null,null)}function I(l){return t["ɵvid"](0,[t["ɵpid"](0,i.TitleCasePipe,[]),t["ɵpid"](0,u.a,[]),(l()(),t["ɵeld"](2,0,null,null,39,"cd-modal",[],null,null,null,s.c,s.b)),t["ɵdid"](3,49152,null,0,a.a,[],{modalRef:[0,"modalRef"]},null),(l()(),t["ɵeld"](4,0,null,0,3,null,null,null,null,null,null,null)),(l()(),t["ɵted"](5,null,[""," ",""])),t["ɵppd"](6,1),t["ɵppd"](7,1),(l()(),t["ɵeld"](8,0,null,1,33,null,null,null,null,null,null,null)),(l()(),t["ɵeld"](9,0,null,null,32,"form",[["name","snapshotForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,e){var i=!0;return"submit"===n&&(i=!1!==t["ɵnov"](l,11).onSubmit(e)&&i),"reset"===n&&(i=!1!==t["ɵnov"](l,11).onReset()&&i),"submit"===n&&(i=!1!==t["ɵnov"](l,14).onSubmit()&&i),i}),null,null)),t["ɵdid"](10,16384,null,0,o.G,[],null,null),t["ɵdid"](11,540672,[["formDir",4]],0,o.l,[[8,null],[8,null]],{form:[0,"form"]},null),t["ɵprd"](2048,null,o.d,null,[o.l]),t["ɵdid"](13,16384,null,0,o.s,[[4,o.d]],null,null),t["ɵdid"](14,16384,null,0,r.d,[],{formGroup:[0,"formGroup"]},null),(l()(),t["ɵeld"](15,0,null,null,17,"div",[["class","modal-body"]],null,null,null,null,null)),(l()(),t["ɵeld"](16,0,null,null,16,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,d.b,d.a)),t["ɵdid"](17,1163264,null,2,r.c,[t.ElementRef,r.g],null,null),t["ɵqud"](603979776,1,{FormControlNames:1}),t["ɵqud"](603979776,2,{messagesBlock:0}),(l()(),t["ɵeld"](20,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","snapshotName"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Name"])),(l()(),t["ɵeld"](22,0,null,0,10,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),t["ɵeld"](23,0,null,null,7,"input",[["autofocus",""],["class","form-control"],["formControlName","snapshotName"],["id","snapshotName"],["name","snapshotName"],["placeholder","Snapshot name..."],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,24)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,24).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,24)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,24)._compositionEnd(e.target.value)&&i),i}),null,null)),t["ɵdid"](24,16384,null,0,o.e,[t.Renderer2,t.ElementRef,[2,o.b]],null,null),t["ɵprd"](1024,null,o.p,(function(l){return[l]}),[o.e]),t["ɵdid"](26,671744,[[1,4]],0,o.j,[[3,o.d],[8,null],[8,null],[6,o.p],[2,o.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,o.q,null,[o.j]),t["ɵdid"](28,16384,null,0,o.r,[[4,o.q]],null,null),t["ɵdid"](29,4210688,null,0,c.a,[t.ElementRef],{autofocus:[0,"autofocus"]},null),t["ɵdid"](30,16384,null,0,r.h,[[3,o.d],r.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,w)),t["ɵdid"](32,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](33,0,null,null,8,"div",[["class","modal-footer"]],null,null,null,null,null)),(l()(),t["ɵeld"](34,0,null,null,7,"div",[["class","button-group text-right"]],null,null,null,null,null)),(l()(),t["ɵeld"](35,0,null,null,4,"cd-submit-button",[],null,[[null,"submitAction"]],(function(l,n,e){var t=!0;return"submitAction"===n&&(t=!1!==l.component.submit()&&t),t}),m.b,m.a)),t["ɵdid"](36,114688,null,0,p.a,[t.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(l()(),t["ɵted"](37,0,[""," ",""])),t["ɵppd"](38,1),t["ɵppd"](39,1),(l()(),t["ɵeld"](40,0,null,null,1,"cd-back-button",[["name","Close"]],null,null,null,h.b,h.a)),t["ɵdid"](41,49152,null,0,g.a,[i.Location,f.b],{name:[0,"name"],back:[1,"back"]},null)],(function(l,n){var e=n.component;l(n,3,0,e.modalRef),l(n,11,0,e.snapshotForm),l(n,14,0,e.snapshotForm),l(n,17,0),l(n,26,0,"snapshotName"),l(n,29,0,""),l(n,30,0,"snapshotName"),l(n,32,0,e.snapshotForm.showError("snapshotName",t["ɵnov"](n,11),"required")),l(n,36,0,e.snapshotForm),l(n,41,0,"Close",e.modalRef.hide)}),(function(l,n){var e=n.component,i=t["ɵunv"](n,5,0,l(n,6,0,t["ɵnov"](n,0),e.action)),u=t["ɵunv"](n,5,1,l(n,7,0,t["ɵnov"](n,1),e.resource));l(n,5,0,i,u),l(n,9,0,t["ɵnov"](n,13).ngClassUntouched,t["ɵnov"](n,13).ngClassTouched,t["ɵnov"](n,13).ngClassPristine,t["ɵnov"](n,13).ngClassDirty,t["ɵnov"](n,13).ngClassValid,t["ɵnov"](n,13).ngClassInvalid,t["ɵnov"](n,13).ngClassPending),l(n,16,0,t["ɵnov"](n,17).hasErrors,t["ɵnov"](n,17).hasSuccess),l(n,23,0,t["ɵnov"](n,28).ngClassUntouched,t["ɵnov"](n,28).ngClassTouched,t["ɵnov"](n,28).ngClassPristine,t["ɵnov"](n,28).ngClassDirty,t["ɵnov"](n,28).ngClassValid,t["ɵnov"](n,28).ngClassInvalid,t["ɵnov"](n,28).ngClassPending,t["ɵnov"](n,30).validClass,t["ɵnov"](n,30).invalidClass);var s=t["ɵunv"](n,37,0,l(n,38,0,t["ɵnov"](n,0),e.action)),a=t["ɵunv"](n,37,1,l(n,39,0,t["ɵnov"](n,1),e.resource));l(n,37,0,s,a)}))}function k(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"cd-rbd-snapshot-form-modal",[],null,null,null,I,R)),t["ɵdid"](1,114688,null,0,v.a,[b.a,C.a,S.a,_.a,y.a,f.b],null,null)],(function(l,n){l(n,1,0)}),null)}var E=t["ɵccf"]("cd-rbd-snapshot-form-modal",v.a,k,{},{},[])},"3ris":function(l,n,e){"use strict";e.d(n,"a",(function(){return s}));var t=e("yYhs"),i=e("LvDl"),u=(e("uIqm"),e("oxzT"));e("vCyI"),e("iExv"),e("uYzU");class s{constructor(l,n,e){this.i18n=l,this.iscsiBackstorePipe=n,this.booleanTextPipe=e,this.icons=u.a,this.metadata={},this.nodes=[],this.treeOptions={useVirtualScroll:!0,actionMapping:{mouse:{click:this.onNodeSelected.bind(this)}}}}set content(l){this.detailTable=l,l&&l.updateColumns()}ngOnInit(){this.columns=[{prop:"displayName",name:this.i18n("Name"),flexGrow:1,cellTemplate:this.highlightTpl},{prop:"current",name:this.i18n("Current"),flexGrow:1,cellTemplate:this.highlightTpl},{prop:"default",name:this.i18n("Default"),flexGrow:1,cellTemplate:this.highlightTpl}]}ngOnChanges(){this.selection.hasSelection&&(this.selectedItem=this.selection.first(),this.generateTree()),this.data=void 0}generateTree(){const l=i.cloneDeep(this.selectedItem.target_controls);this.cephIscsiConfigVersion>10&&i.extend(l,i.cloneDeep(this.selectedItem.auth)),this.metadata={root:l};const n={target:{expanded:i.join(this.selectedItem.cdExecuting?[u.a.large,u.a.spinner,u.a.spin]:[u.a.large,u.a.bullseye]," ")},initiators:{expanded:i.join([u.a.large,u.a.user]," "),leaf:i.join([u.a.user]," ")},groups:{expanded:i.join([u.a.large,u.a.users]," "),leaf:i.join([u.a.users]," ")},disks:{expanded:i.join([u.a.large,u.a.disk]," "),leaf:i.join([u.a.disk]," ")},portals:{expanded:i.join([u.a.large,u.a.server]," "),leaf:i.join([u.a.server]," ")}},e=[];i.forEach(this.selectedItem.disks,l=>{const t="disk_"+l.pool+"_"+l.image;this.metadata[t]={controls:l.controls,backstore:l.backstore},["wwn","lun"].forEach(n=>{n in l&&(this.metadata[t][n]=l[n])}),e.push({name:`${l.pool}/${l.image}`,cdId:t,cdIcon:n.disks.leaf})});const t=[];i.forEach(this.selectedItem.portals,l=>{t.push({name:`${l.host}:${l.ip}`,cdIcon:n.portals.leaf})});const s=[];i.forEach(this.selectedItem.clients,l=>{const e=i.cloneDeep(l.auth);l.info&&(i.extend(e,l.info),delete e.state,i.forEach(Object.keys(l.info.state),n=>{e[n.toLowerCase()]=l.info.state[n]})),this.metadata["client_"+l.client_iqn]=e;const t=[];l.luns.forEach(l=>{t.push({name:`${l.pool}/${l.image}`,cdId:"disk_"+l.pool+"_"+l.image,cdIcon:n.disks.leaf})});let u="";l.info&&(u=Object.keys(l.info.state).includes("LOGGED_IN")?"logged_in":"logged_out"),s.push({name:l.client_iqn,status:u,cdId:"client_"+l.client_iqn,children:t,cdIcon:n.initiators.leaf})});const a=[];i.forEach(this.selectedItem.groups,l=>{const e=[];l.disks.forEach(l=>{e.push({name:`${l.pool}/${l.image}`,cdId:"disk_"+l.pool+"_"+l.image,cdIcon:n.disks.leaf})});const t=[];l.members.forEach(l=>{t.push({name:l,cdId:"client_"+l})}),a.push({name:l.group_id,cdIcon:n.groups.leaf,children:[{name:"Disks",children:e,cdIcon:n.disks.expanded},{name:"Initiators",children:t,cdIcon:n.initiators.expanded}]})}),this.nodes=[{name:this.selectedItem.target_iqn,cdId:"root",isExpanded:!0,cdIcon:n.target.expanded,children:[{name:"Disks",isExpanded:!0,children:e,cdIcon:n.disks.expanded},{name:"Portals",isExpanded:!0,children:t,cdIcon:n.portals.expanded},{name:"Initiators",isExpanded:!0,children:s,cdIcon:n.initiators.expanded},{name:"Groups",isExpanded:!0,children:a,cdIcon:n.groups.expanded}]}]}format(l){return"boolean"==typeof l?this.booleanTextPipe.transform(l):l}onNodeSelected(l,n){if(t.a.ACTIVATE(l,n,!0),n.data.cdId){this.title=n.data.name;const l=this.metadata[n.data.cdId]||{};"root"===n.data.cdId?(this.columns[2].isHidden=!1,this.data=i.map(this.settings.target_default_controls,(n,e)=>({displayName:e,default:n=this.format(n),current:i.isUndefined(l[e])?n:this.format(l[e])})),this.cephIscsiConfigVersion>10&&["user","password","mutual_user","mutual_password"].forEach(n=>{this.data.push({displayName:n,default:null,current:l[n]})})):n.data.cdId.toString().startsWith("disk_")?(this.columns[2].isHidden=!1,this.data=i.map(this.settings.disk_default_controls[l.backstore],(n,e)=>({displayName:e,default:n=this.format(n),current:i.isUndefined(l.controls[e])?n:this.format(l.controls[e])})),this.data.push({displayName:"backstore",default:this.iscsiBackstorePipe.transform(this.settings.default_backstore),current:this.iscsiBackstorePipe.transform(l.backstore)}),["wwn","lun"].forEach(n=>{n in l&&this.data.push({displayName:n,default:void 0,current:l[n]})})):(this.columns[2].isHidden=!0,this.data=i.map(l,(l,n)=>({displayName:n,default:void 0,current:this.format(l)})))}else this.data=void 0;this.detailTable&&this.detailTable.updateColumns()}onUpdateData(){this.tree.treeModel.expandAll()}}},"5GyT":function(l,n,e){"use strict";var t=e("LvDl"),i=(e("F83c"),e("OLbh")),u=e("0+/T"),s=(e("sne2"),e("uIqm"),e("x38r")),a=e("oxzT"),o=e("yJti"),r=e("vCyI"),d=e("kvvV"),c=e("jVDg"),m=(e("Fgil"),e("o4+5"),e("aexS"),e("VTlA"),e("kn/O"),e("EgGo")),p=e("2JDI");class h{}e.d(n,"a",(function(){return f})),e.d(n,"b",(function(){return g}));const g=new m.a("block/rbd");class f{constructor(l,n,e,t,i,u,s,o,d,m){this.authStorageService=l,this.rbdService=n,this.dimlessBinaryPipe=e,this.dimlessPipe=t,this.modalService=i,this.taskWrapper=u,this.taskListService=s,this.i18n=o,this.urlBuilder=d,this.actionLabels=m,this.selection=new r.a,this.builders={"rbd/create":l=>this.createRbdFromTask(l.pool_name,l.namespace,l.image_name),"rbd/delete":l=>this.createRbdFromTaskImageSpec(l.image_spec),"rbd/clone":l=>this.createRbdFromTask(l.child_pool_name,l.child_namespace,l.child_image_name),"rbd/copy":l=>this.createRbdFromTask(l.dest_pool_name,l.dest_namespace,l.dest_image_name)},this.permission=this.authStorageService.getPermissions().rbdImage;const p=()=>this.selection.first()&&new c.a(this.selection.first().pool_name,this.selection.first().namespace,this.selection.first().name).toStringEncoded();this.tableActions=[{permission:"create",icon:a.a.add,routerLink:()=>this.urlBuilder.getCreate(),canBePrimary:l=>!l.hasSingleSelection,name:this.actionLabels.CREATE},{permission:"update",icon:a.a.edit,routerLink:()=>this.urlBuilder.getEdit(p()),name:this.actionLabels.EDIT},{permission:"create",canBePrimary:l=>l.hasSingleSelection,disable:l=>!l.hasSingleSelection||l.first().cdExecuting,icon:a.a.copy,routerLink:()=>`/block/rbd/copy/${p()}`,name:this.actionLabels.COPY},{permission:"update",disable:l=>!l.hasSingleSelection||l.first().cdExecuting||!l.first().parent,icon:a.a.flatten,click:()=>this.flattenRbdModal(),name:this.actionLabels.FLATTEN},{permission:"delete",icon:a.a.destroy,click:()=>this.deleteRbdModal(),name:this.actionLabels.DELETE,disable:l=>!this.selection.first()||!this.selection.hasSingleSelection||this.hasClonedSnapshots(l.first()),disableDesc:()=>this.getDeleteDisableDesc()},{permission:"delete",icon:a.a.trash,click:()=>this.trashRbdModal(),name:this.actionLabels.TRASH}]}createRbdFromTaskImageSpec(l){const n=c.a.fromString(l);return this.createRbdFromTask(n.poolName,n.namespace,n.imageName)}createRbdFromTask(l,n,e){const t=new h;return t.id="-1",t.name=e,t.namespace=n,t.pool_name=l,t}ngOnInit(){this.columns=[{name:this.i18n("Name"),prop:"name",flexGrow:2,cellTransformation:s.a.executing},{name:this.i18n("Pool"),prop:"pool_name",flexGrow:2},{name:this.i18n("Namespace"),prop:"namespace",flexGrow:2},{name:this.i18n("Size"),prop:"size",flexGrow:1,cellClass:"text-right",pipe:this.dimlessBinaryPipe},{name:this.i18n("Objects"),prop:"num_objs",flexGrow:1,cellClass:"text-right",pipe:this.dimlessPipe},{name:this.i18n("Object size"),prop:"obj_size",flexGrow:1,cellClass:"text-right",pipe:this.dimlessBinaryPipe},{name:this.i18n("Provisioned"),prop:"disk_usage",cellClass:"text-center",flexGrow:1,pipe:this.dimlessBinaryPipe},{name:this.i18n("Total provisioned"),prop:"total_disk_usage",cellClass:"text-center",flexGrow:1,pipe:this.dimlessBinaryPipe},{name:this.i18n("Parent"),prop:"parent",flexGrow:2,cellTemplate:this.parentTpl}],this.taskListService.init(()=>this.rbdService.list(),l=>this.prepareResponse(l),l=>this.images=l,()=>this.onFetchError(),l=>["rbd/clone","rbd/copy","rbd/create","rbd/delete","rbd/edit","rbd/flatten","rbd/trash/move"].includes(l.name),(l,n)=>{let e;switch(n.name){case"rbd/copy":e=new c.a(n.metadata.dest_pool_name,n.metadata.dest_namespace,n.metadata.dest_image_name).toString();break;case"rbd/clone":e=new c.a(n.metadata.child_pool_name,n.metadata.child_namespace,n.metadata.child_image_name).toString();break;case"rbd/create":e=new c.a(n.metadata.pool_name,n.metadata.namespace,n.metadata.image_name).toString();break;default:e=n.metadata.image_spec}return e===new c.a(l.pool_name,l.namespace,l.name).toString()},this.builders)}onFetchError(){this.table.reset(),this.viewCacheStatusList=[{status:o.a.ValueException}]}prepareResponse(l){let n=[];const e={};l.forEach(l=>{t.isUndefined(e[l.status])&&(e[l.status]=[]),e[l.status].push(l.pool_name),n=n.concat(l.value)});const i=[];return t.forEach(e,(l,n)=>{i.push({status:parseInt(n,10),statusFor:(l.length>1?"pools ":"pool ")+"<strong>"+l.join("</strong>, <strong>")+"</strong>"})}),this.viewCacheStatusList=i,n}updateSelection(l){this.selection=l}deleteRbdModal(){const l=this.selection.first().pool_name,n=this.selection.first().namespace,e=this.selection.first().name,t=new c.a(l,n,e);this.modalRef=this.modalService.show(u.a,{initialState:{itemDescription:"RBD",itemNames:[t],bodyTemplate:this.deleteTpl,bodyContext:{hasSnapshots:this.hasSnapshots(),snapshots:this.listProtectedSnapshots()},submitActionObservable:()=>this.taskWrapper.wrapTaskAroundCall({task:new d.a("rbd/delete",{image_spec:t.toString()}),call:this.rbdService.delete(t)})}})}trashRbdModal(){const l={poolName:this.selection.first().pool_name,namespace:this.selection.first().namespace,imageName:this.selection.first().name,hasSnapshots:this.hasSnapshots()};this.modalRef=this.modalService.show(p.a,{initialState:l})}flattenRbd(l){this.taskWrapper.wrapTaskAroundCall({task:new d.a("rbd/flatten",{image_spec:l.toString()}),call:this.rbdService.flatten(l)}).subscribe(void 0,void 0,()=>{this.modalRef.hide()})}flattenRbdModal(){const l=this.selection.first().pool_name,n=this.selection.first().namespace,e=this.selection.first().name,t=this.selection.first().parent,u=new c.a(t.pool_name,t.pool_namespace,t.image_name),s=new c.a(l,n,e),a={titleText:"RBD flatten",buttonText:"Flatten",bodyTpl:this.flattenTpl,bodyData:{parent:`${u}@${t.snap_name}`,child:s.toString()},onSubmit:()=>{this.flattenRbd(s)}};this.modalRef=this.modalService.show(i.a,{initialState:a})}hasSnapshots(){return(this.selection.first().snapshots||[]).length>0}hasClonedSnapshots(l){return(l.snapshots||[]).some(l=>l.children&&l.children.length>0)}listProtectedSnapshots(){return this.selection.first().snapshots.reduce((l,n)=>(n.is_protected&&l.push(n.name),l),[])}getDeleteDisableDesc(){const l=this.selection.first();return l&&this.hasClonedSnapshots(l)?this.i18n("This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD."):""}}},BH9v:function(l,n,e){"use strict";var t=e("8Y7J"),i=e("s7LF"),u=e("aXbf");class s{constructor(l,n){this.control=l,this.formatter=n}setValue(l){const n=this.formatter.toMilliseconds(l);this.control.control.setValue(`${n} ms`)}ngOnInit(){this.setValue(this.control.value),this.ngDataReady&&this.ngDataReady.subscribe(()=>this.setValue(this.control.value))}onUpdate(l){this.setValue(l)}}var a=e("+gVj"),o=e("LvDl"),r=e("IzCI");class d{constructor(l,n,e,i){this.elementRef=l,this.control=n,this.dimlessBinaryPerSecondPipe=e,this.formatter=i,this.ngModelChange=new t.EventEmitter,this.el=this.elementRef.nativeElement}ngOnInit(){this.setValue(this.el.value),this.ngDataReady&&this.ngDataReady.subscribe(()=>this.setValue(this.el.value))}setValue(l){/^[\d.]+$/.test(l)&&(l+=this.defaultUnit||"m");const n=this.formatter.toBytes(l,0),e=this.round(n);this.el.value=this.dimlessBinaryPerSecondPipe.transform(e),null!==n?(this.ngModelChange.emit(this.el.value),this.control.control.setValue(this.el.value)):(this.ngModelChange.emit(null),this.control.control.setValue(null))}round(l){if(null!==l&&0!==l){if(!o.isUndefined(this.minBytes)&&l<this.minBytes)return this.minBytes;if(!o.isUndefined(this.maxBytes)&&l>this.maxBytes)return this.maxBytes;if(!o.isUndefined(this.roundPower)){const n=Math.round(Math.log(l)/Math.log(this.roundPower));return Math.pow(this.roundPower,n)}}return l}onBlur(l){this.setValue(l)}}class c{constructor(l,n){this.formatter=l,this.ngControl=n}setValue(l){const n=this.formatter.toIops(l);this.ngControl.control.setValue(`${n} IOPS`)}ngOnInit(){this.setValue(this.ngControl.value),this.ngDataReady&&this.ngDataReady.subscribe(()=>this.setValue(this.ngControl.value))}onUpdate(l){this.setValue(l)}}var m=e("mXUL"),p=e("4HWh"),h=e("p4Cf"),g=e("SVse");e("rFfW"),e("o8EM"),e.d(n,"a",(function(){return f})),e.d(n,"b",(function(){return R}));var f=t["ɵcrt"]({encapsulation:0,styles:[[".collapsible[_ngcontent-%COMP%]{cursor:pointer;-moz-user-select:none;user-select:none}"]],data:{}});function v(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,8,null,null,null,null,null,null,null)),(l()(),t["ɵeld"](1,0,null,null,7,"input",[["cdMilliseconds",""],["class","form-control"],["type","text"]],[[8,"id",0],[8,"name",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,2)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,2).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,2)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,2)._compositionEnd(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,7).onUpdate(e.target.value)&&i),i}),null,null)),t["ɵdid"](2,16384,null,0,i.e,[t.Renderer2,t.ElementRef,[2,i.b]],null,null),t["ɵprd"](1024,null,i.p,(function(l){return[l]}),[i.e]),t["ɵdid"](4,671744,null,0,i.j,[[3,i.d],[8,null],[8,null],[6,i.p],[2,i.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,i.q,null,[i.j]),t["ɵdid"](6,16384,null,0,i.r,[[4,i.q]],null,null),t["ɵdid"](7,81920,null,0,s,[i.q,u.a],{ngDataReady:[0,"ngDataReady"]},null),t["ɵdid"](8,16384,null,0,a.h,[[3,i.d],a.a],{formControlName:[0,"formControlName"]},null)],(function(l,n){var e=n.component;l(n,4,0,n.parent.context.$implicit.name),l(n,7,0,e.ngDataReady),l(n,8,0,n.parent.context.$implicit.name)}),(function(l,n){l(n,1,1,[n.parent.context.$implicit.name,n.parent.context.$implicit.name,t["ɵnov"](n,6).ngClassUntouched,t["ɵnov"](n,6).ngClassTouched,t["ɵnov"](n,6).ngClassPristine,t["ɵnov"](n,6).ngClassDirty,t["ɵnov"](n,6).ngClassValid,t["ɵnov"](n,6).ngClassInvalid,t["ɵnov"](n,6).ngClassPending,t["ɵnov"](n,8).validClass,t["ɵnov"](n,8).invalidClass])}))}function b(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,8,null,null,null,null,null,null,null)),(l()(),t["ɵeld"](1,0,null,null,7,"input",[["cdDimlessBinaryPerSecond",""],["class","form-control"],["defaultUnit","b"],["type","text"]],[[8,"id",0],[8,"name",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,2)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,2).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,2)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,2)._compositionEnd(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,7).onBlur(e.target.value)&&i),i}),null,null)),t["ɵdid"](2,16384,null,0,i.e,[t.Renderer2,t.ElementRef,[2,i.b]],null,null),t["ɵprd"](1024,null,i.p,(function(l){return[l]}),[i.e]),t["ɵdid"](4,671744,null,0,i.j,[[3,i.d],[8,null],[8,null],[6,i.p],[2,i.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,i.q,null,[i.j]),t["ɵdid"](6,16384,null,0,i.r,[[4,i.q]],null,null),t["ɵdid"](7,81920,null,0,d,[t.ElementRef,i.q,r.a,u.a],{ngDataReady:[0,"ngDataReady"],defaultUnit:[1,"defaultUnit"]},null),t["ɵdid"](8,16384,null,0,a.h,[[3,i.d],a.a],{formControlName:[0,"formControlName"]},null)],(function(l,n){var e=n.component;l(n,4,0,n.parent.context.$implicit.name),l(n,7,0,e.ngDataReady,"b"),l(n,8,0,n.parent.context.$implicit.name)}),(function(l,n){l(n,1,1,[n.parent.context.$implicit.name,n.parent.context.$implicit.name,t["ɵnov"](n,6).ngClassUntouched,t["ɵnov"](n,6).ngClassTouched,t["ɵnov"](n,6).ngClassPristine,t["ɵnov"](n,6).ngClassDirty,t["ɵnov"](n,6).ngClassValid,t["ɵnov"](n,6).ngClassInvalid,t["ɵnov"](n,6).ngClassPending,t["ɵnov"](n,8).validClass,t["ɵnov"](n,8).invalidClass])}))}function C(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,8,null,null,null,null,null,null,null)),(l()(),t["ɵeld"](1,0,null,null,7,"input",[["cdIops",""],["class","form-control"],["type","text"]],[[8,"id",0],[8,"name",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,2)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,2).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,2)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,2)._compositionEnd(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,7).onUpdate(e.target.value)&&i),i}),null,null)),t["ɵdid"](2,16384,null,0,i.e,[t.Renderer2,t.ElementRef,[2,i.b]],null,null),t["ɵprd"](1024,null,i.p,(function(l){return[l]}),[i.e]),t["ɵdid"](4,671744,null,0,i.j,[[3,i.d],[8,null],[8,null],[6,i.p],[2,i.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,i.q,null,[i.j]),t["ɵdid"](6,16384,null,0,i.r,[[4,i.q]],null,null),t["ɵdid"](7,81920,null,0,c,[u.a,i.q],{ngDataReady:[0,"ngDataReady"]},null),t["ɵdid"](8,16384,null,0,a.h,[[3,i.d],a.a],{formControlName:[0,"formControlName"]},null)],(function(l,n){var e=n.component;l(n,4,0,n.parent.context.$implicit.name),l(n,7,0,e.ngDataReady),l(n,8,0,n.parent.context.$implicit.name)}),(function(l,n){l(n,1,1,[n.parent.context.$implicit.name,n.parent.context.$implicit.name,t["ɵnov"](n,6).ngClassUntouched,t["ɵnov"](n,6).ngClassTouched,t["ɵnov"](n,6).ngClassPristine,t["ɵnov"](n,6).ngClassDirty,t["ɵnov"](n,6).ngClassValid,t["ɵnov"](n,6).ngClassInvalid,t["ɵnov"](n,6).ngClassPending,t["ɵnov"](n,8).validClass,t["ɵnov"](n,8).invalidClass])}))}function S(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["The mininum value is 0"]))],null,null)}function _(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,29,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,m.b,m.a)),t["ɵdid"](1,1163264,null,2,a.c,[t.ElementRef,a.g],null,null),t["ɵqud"](603979776,1,{FormControlNames:1}),t["ɵqud"](603979776,2,{messagesBlock:0}),(l()(),t["ɵeld"](4,0,null,0,4,"label",[["class","cd-col-form-label"]],[[8,"htmlFor",0]],null,null,null,null)),(l()(),t["ɵted"](5,null,["",""])),(l()(),t["ɵeld"](6,0,null,null,2,"cd-helper",[],null,null,null,p.b,p.a)),t["ɵdid"](7,49152,null,0,h.a,[],null,null),(l()(),t["ɵted"](8,0,["",""])),(l()(),t["ɵeld"](9,0,null,0,20,"div",[],[[8,"className",0]],null,null,null,null)),(l()(),t["ɵeld"](10,0,null,null,17,"div",[["class","input-group"]],null,null,null,null,null)),(l()(),t["ɵeld"](11,0,null,null,7,null,null,null,null,null,null,null)),t["ɵdid"](12,16384,null,0,g.NgSwitch,[],{ngSwitch:[0,"ngSwitch"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,v)),t["ɵdid"](14,278528,null,0,g.NgSwitchCase,[t.ViewContainerRef,t.TemplateRef,g.NgSwitch],{ngSwitchCase:[0,"ngSwitchCase"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,b)),t["ɵdid"](16,278528,null,0,g.NgSwitchCase,[t.ViewContainerRef,t.TemplateRef,g.NgSwitch],{ngSwitchCase:[0,"ngSwitchCase"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,C)),t["ɵdid"](18,278528,null,0,g.NgSwitchCase,[t.ViewContainerRef,t.TemplateRef,g.NgSwitch],{ngSwitchCase:[0,"ngSwitchCase"]},null),(l()(),t["ɵeld"](19,0,null,null,8,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),t["ɵeld"](20,0,null,null,7,"button",[["class","btn btn-light"],["data-toggle","button"],["title","Remove the local configuration value. The parent configuration value will be inherited and used instead."],["type","button"]],null,[[null,"click"]],(function(l,n,e){var t=!0;return"click"===n&&(t=!1!==l.component.reset(l.context.$implicit.name)&&t),t}),null,null)),t["ɵprd"](512,null,g["ɵNgClassImpl"],g["ɵNgClassR2Impl"],[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2]),t["ɵdid"](22,278528,null,0,g.NgClass,[g["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t["ɵpod"](23,{active:0}),(l()(),t["ɵeld"](24,0,null,null,3,"i",[["aria-hidden","true"]],null,null,null,null,null)),t["ɵprd"](512,null,g["ɵNgClassImpl"],g["ɵNgClassR2Impl"],[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2]),t["ɵdid"](26,278528,null,0,g.NgClass,[g["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),t["ɵpad"](27,1),(l()(),t["ɵand"](16777216,null,null,1,null,S)),t["ɵdid"](29,16384,null,0,g.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var e=n.component;l(n,1,0),l(n,12,0,n.context.$implicit.type),l(n,14,0,e.configurationType.milliseconds),l(n,16,0,e.configurationType.bps),l(n,18,0,e.configurationType.iops);var i=l(n,23,0,e.isDisabled(n.context.$implicit.name));l(n,22,0,"btn btn-light",i);var u=l(n,27,0,e.icons.erase);l(n,26,0,u),l(n,29,0,e.form.showError("configuration."+n.context.$implicit.name,t["ɵnov"](n.parent.parent,0),"min"))}),(function(l,n){l(n,0,0,t["ɵnov"](n,1).hasErrors,t["ɵnov"](n,1).hasSuccess),l(n,4,0,n.context.$implicit.name),l(n,5,0,n.context.$implicit.displayName),l(n,8,0,n.context.$implicit.description),l(n,9,0,t["ɵinlineInterpolate"](1,"cd-col-form-input ",n.parent.context.$implicit.heading,""))}))}function y(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,9,"div",[["class","col-12"]],null,null,null,null,null)),(l()(),t["ɵeld"](1,0,null,null,5,"h3",[["class","cd-header"]],null,null,null,null,null)),(l()(),t["ɵeld"](2,0,null,null,4,"span",[["class","collapsible"]],null,[[null,"click"]],(function(l,n,e){var t=!0;return"click"===n&&(t=!1!==l.component.toggleSectionVisibility(l.context.$implicit.class)&&t),t}),null,null)),(l()(),t["ɵted"](3,null,[" "," "])),(l()(),t["ɵeld"](4,0,null,null,2,"i",[["aria-hidden","true"]],null,null,null,null,null)),t["ɵprd"](512,null,g["ɵNgClassImpl"],g["ɵNgClassR2Impl"],[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2]),t["ɵdid"](6,278528,null,0,g.NgClass,[g["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),(l()(),t["ɵeld"](7,0,null,null,2,"div",[],[[8,"className",0],[8,"hidden",0]],null,null,null,null)),(l()(),t["ɵand"](16777216,null,null,1,null,_)),t["ɵdid"](9,278528,null,0,g.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(l,n){var e=n.component;l(n,6,0,e.sectionVisibility[n.context.$implicit.class]?e.icons.minusCircle:e.icons.addCircle),l(n,9,0,n.context.$implicit.options)}),(function(l,n){var e=n.component;l(n,3,0,n.context.$implicit.heading),l(n,7,0,t["ɵinlineInterpolate"](1,"",n.context.$implicit.class,""),!e.sectionVisibility[n.context.$implicit.class])}))}function R(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,[["cfgFormGroup",1]],null,8,"fieldset",[],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,e){var i=!0;return"submit"===n&&(i=!1!==t["ɵnov"](l,1).onSubmit(e)&&i),"reset"===n&&(i=!1!==t["ɵnov"](l,1).onReset()&&i),"submit"===n&&(i=!1!==t["ɵnov"](l,4).onSubmit()&&i),i}),null,null)),t["ɵdid"](1,540672,null,0,i.l,[[8,null],[8,null]],{form:[0,"form"]},null),t["ɵprd"](2048,null,i.d,null,[i.l]),t["ɵdid"](3,16384,null,0,i.s,[[4,i.d]],null,null),t["ɵdid"](4,16384,null,0,a.d,[],{formGroup:[0,"formGroup"]},null),(l()(),t["ɵeld"](5,0,null,null,1,"legend",[],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["RBD Configuration"])),(l()(),t["ɵand"](16777216,null,null,1,null,y)),t["ɵdid"](8,278528,null,0,g.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(l,n){var e=n.component;l(n,1,0,e.form.get("configuration")),l(n,4,0,e.form.get("configuration")),l(n,8,0,e.rbdConfigurationService.sections)}),(function(l,n){l(n,0,0,t["ɵnov"](n,3).ngClassUntouched,t["ɵnov"](n,3).ngClassTouched,t["ɵnov"](n,3).ngClassPristine,t["ɵnov"](n,3).ngClassDirty,t["ɵnov"](n,3).ngClassValid,t["ɵnov"](n,3).ngClassInvalid,t["ɵnov"](n,3).ngClassPending)}))}},E7j4:function(l,n,e){"use strict";var t=e("8Y7J"),i=e("s7LF"),u=e("+gVj"),s=e("EEJc"),a=e("ajRT"),o=e("mXUL"),r=e("IZUe"),d=e("SVse"),c=e("gp3X"),m=e("sb0X"),p=e("KVJa"),h=e("Z21x"),g=e("sne2"),f=e("+26A"),v=e("LqlI"),b=e("XED3"),C=e("kn/O");e.d(n,"a",(function(){return F}));var S=t["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function _(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["This field is required."]))],null,null)}function y(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),t["ɵdid"](1,147456,null,0,i.v,[t.ElementRef,t.Renderer2,[2,i.A]],{value:[0,"value"]},null),t["ɵdid"](2,147456,null,0,i.F,[t.ElementRef,t.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),t["ɵted"](3,null,["",""]))],(function(l,n){l(n,1,0,n.context.$implicit.key),l(n,2,0,n.context.$implicit.key)}),(function(l,n){l(n,3,0,n.context.$implicit.desc)}))}function R(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,9,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(l()(),t["ɵeld"](1,0,null,null,6,"input",[["class","custom-control-input"],["type","checkbox"]],[[8,"id",0],[8,"name",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,e){var i=!0;return"change"===n&&(i=!1!==t["ɵnov"](l,2).onChange(e.target.checked)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,2).onTouched()&&i),i}),null,null)),t["ɵdid"](2,16384,null,0,i.c,[t.Renderer2,t.ElementRef],null,null),t["ɵprd"](1024,null,i.p,(function(l){return[l]}),[i.c]),t["ɵdid"](4,671744,[[5,4]],0,i.j,[[3,i.d],[8,null],[8,null],[6,i.p],[2,i.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,i.q,null,[i.j]),t["ɵdid"](6,16384,null,0,i.r,[[4,i.q]],null,null),t["ɵdid"](7,16384,null,0,u.h,[[3,i.d],u.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵeld"](8,0,null,null,1,"label",[["class","custom-control-label"]],[[8,"htmlFor",0]],null,null,null,null)),(l()(),t["ɵted"](9,null,["",""]))],(function(l,n){l(n,4,0,t["ɵinlineInterpolate"](1,"",n.context.$implicit.name,"")),l(n,7,0,t["ɵinlineInterpolate"](1,"",n.context.$implicit.name,""))}),(function(l,n){l(n,1,1,[t["ɵinlineInterpolate"](1,"",n.context.$implicit.name,""),t["ɵinlineInterpolate"](1,"",n.context.$implicit.name,""),t["ɵnov"](n,6).ngClassUntouched,t["ɵnov"](n,6).ngClassTouched,t["ɵnov"](n,6).ngClassPristine,t["ɵnov"](n,6).ngClassDirty,t["ɵnov"](n,6).ngClassValid,t["ɵnov"](n,6).ngClassInvalid,t["ɵnov"](n,6).ngClassPending,t["ɵnov"](n,7).validClass,t["ɵnov"](n,7).invalidClass]),l(n,8,0,t["ɵinlineInterpolate"](1,"",n.context.$implicit.name,"")),l(n,9,0,n.context.$implicit.name)}))}function w(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["At least one pool is required."]))],null,null)}function I(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["This field is required."]))],null,null)}function k(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["The token is invalid."]))],null,null)}function E(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,87,"cd-modal",[],null,null,null,s.c,s.b)),t["ɵdid"](1,49152,null,0,a.a,[],{modalRef:[0,"modalRef"]},null),(l()(),t["ɵeld"](2,0,null,0,1,null,null,null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Import Bootstrap Token"])),(l()(),t["ɵeld"](4,0,null,1,83,null,null,null,null,null,null,null)),(l()(),t["ɵeld"](5,0,null,null,82,"form",[["class","form"],["name","importBootstrapForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,e){var i=!0;return"submit"===n&&(i=!1!==t["ɵnov"](l,7).onSubmit(e)&&i),"reset"===n&&(i=!1!==t["ɵnov"](l,7).onReset()&&i),"submit"===n&&(i=!1!==t["ɵnov"](l,10).onSubmit()&&i),i}),null,null)),t["ɵdid"](6,16384,null,0,i.G,[],null,null),t["ɵdid"](7,540672,[["formDir",4]],0,i.l,[[8,null],[8,null]],{form:[0,"form"]},null),t["ɵprd"](2048,null,i.d,null,[i.l]),t["ɵdid"](9,16384,null,0,i.s,[[4,i.d]],null,null),t["ɵdid"](10,16384,null,0,u.d,[],{formGroup:[0,"formGroup"]},null),(l()(),t["ɵeld"](11,0,null,null,69,"div",[["class","modal-body"]],null,null,null,null,null)),(l()(),t["ɵeld"](12,0,null,null,5,"p",[],null,null,null,null,null)),(l()(),t["ɵeld"](13,0,null,null,4,null,null,null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["To import a bootstrap token which was created by a peer site cluster, provide the local site's name, select which pools will have mirroring enabled, provide the generated token, and click "])),(l()(),t["ɵeld"](15,0,null,null,1,"kbd",[],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Import"])),(l()(),t["ɵted"](-1,null,["."])),(l()(),t["ɵeld"](18,0,null,null,15,"div",[["class","form-group"]],[[2,"has-error",null],[2,"has-success",null]],null,null,o.b,o.a)),t["ɵdid"](19,1163264,null,2,u.c,[t.ElementRef,u.g],null,null),t["ɵqud"](603979776,1,{FormControlNames:1}),t["ɵqud"](603979776,2,{messagesBlock:0}),(l()(),t["ɵeld"](22,0,null,0,1,"label",[["class","col-form-label required"],["for","siteName"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Site Name"])),(l()(),t["ɵeld"](24,0,null,0,7,"input",[["autofocus",""],["class","form-control"],["formControlName","siteName"],["id","siteName"],["name","siteName"],["placeholder","Name..."],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,26)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,26).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,26)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,26)._compositionEnd(e.target.value)&&i),i}),null,null)),t["ɵdid"](25,4210688,null,0,r.a,[t.ElementRef],{autofocus:[0,"autofocus"]},null),t["ɵdid"](26,16384,null,0,i.e,[t.Renderer2,t.ElementRef,[2,i.b]],null,null),t["ɵprd"](1024,null,i.p,(function(l){return[l]}),[i.e]),t["ɵdid"](28,671744,[[1,4]],0,i.j,[[3,i.d],[8,null],[8,null],[6,i.p],[2,i.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,i.q,null,[i.j]),t["ɵdid"](30,16384,null,0,i.r,[[4,i.q]],null,null),t["ɵdid"](31,16384,null,0,u.h,[[3,i.d],u.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵand"](16777216,null,0,1,null,_)),t["ɵdid"](33,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](34,0,null,null,15,"div",[["class","form-group"]],[[2,"has-error",null],[2,"has-success",null]],null,null,o.b,o.a)),t["ɵdid"](35,1163264,null,2,u.c,[t.ElementRef,u.g],null,null),t["ɵqud"](603979776,3,{FormControlNames:1}),t["ɵqud"](603979776,4,{messagesBlock:0}),(l()(),t["ɵeld"](38,0,null,0,2,"label",[["class","col-form-label"],["for","direction"]],null,null,null,null,null)),(l()(),t["ɵeld"](39,0,null,null,1,"span",[],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Direction"])),(l()(),t["ɵeld"](41,0,null,0,8,"select",[["class","form-control custom-select"],["formControlName","direction"],["id","direction"],["name","direction"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,e){var i=!0;return"change"===n&&(i=!1!==t["ɵnov"](l,42).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,42).onTouched()&&i),i}),null,null)),t["ɵdid"](42,16384,null,0,i.A,[t.Renderer2,t.ElementRef],null,null),t["ɵprd"](1024,null,i.p,(function(l){return[l]}),[i.A]),t["ɵdid"](44,671744,[[3,4]],0,i.j,[[3,i.d],[8,null],[8,null],[6,i.p],[2,i.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,i.q,null,[i.j]),t["ɵdid"](46,16384,null,0,i.r,[[4,i.q]],null,null),t["ɵdid"](47,16384,null,0,u.h,[[3,i.d],u.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,y)),t["ɵdid"](49,278528,null,0,d.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),t["ɵeld"](50,0,null,null,12,"div",[["class","form-group"],["formGroupName","pools"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"has-error",null],[2,"has-success",null]],null,null,o.b,o.a)),t["ɵdid"](51,212992,null,0,i.m,[[3,i.d],[8,null],[8,null]],{name:[0,"name"]},null),t["ɵprd"](2048,null,i.d,null,[i.m]),t["ɵdid"](53,16384,null,0,i.s,[[4,i.d]],null,null),t["ɵdid"](54,1163264,null,2,u.c,[t.ElementRef,u.g],null,null),t["ɵqud"](603979776,5,{FormControlNames:1}),t["ɵqud"](603979776,6,{messagesBlock:0}),(l()(),t["ɵeld"](57,0,null,0,1,"label",[["class","col-form-label required"],["for","pools"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Pools"])),(l()(),t["ɵand"](16777216,null,0,1,null,R)),t["ɵdid"](60,278528,null,0,d.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),t["ɵand"](16777216,null,0,1,null,w)),t["ɵdid"](62,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](63,0,null,null,17,"div",[["class","form-group"]],[[2,"has-error",null],[2,"has-success",null]],null,null,o.b,o.a)),t["ɵdid"](64,1163264,null,2,u.c,[t.ElementRef,u.g],null,null),t["ɵqud"](603979776,7,{FormControlNames:1}),t["ɵqud"](603979776,8,{messagesBlock:0}),(l()(),t["ɵeld"](67,0,null,0,1,"label",[["class","col-form-label required"],["for","token"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Token"])),(l()(),t["ɵeld"](69,0,null,0,7,"textarea",[["class","form-control resize-vertical"],["formControlName","token"],["id","token"],["placeholder","Generated token..."]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,70)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,70).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,70)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,70)._compositionEnd(e.target.value)&&i),i}),null,null)),t["ɵdid"](70,16384,null,0,i.e,[t.Renderer2,t.ElementRef,[2,i.b]],null,null),t["ɵprd"](1024,null,i.p,(function(l){return[l]}),[i.e]),t["ɵdid"](72,671744,[[7,4]],0,i.j,[[3,i.d],[8,null],[8,null],[6,i.p],[2,i.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,i.q,null,[i.j]),t["ɵdid"](74,16384,null,0,i.r,[[4,i.q]],null,null),t["ɵdid"](75,16384,null,0,u.h,[[3,i.d],u.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵted"](-1,null,["          "])),(l()(),t["ɵand"](16777216,null,0,1,null,I)),t["ɵdid"](78,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](16777216,null,0,1,null,k)),t["ɵdid"](80,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](81,0,null,null,6,"div",[["class","modal-footer"]],null,null,null,null,null)),(l()(),t["ɵeld"](82,0,null,null,5,"div",[["class","button-group text-right"]],null,null,null,null,null)),(l()(),t["ɵeld"](83,0,null,null,2,"cd-submit-button",[],null,[[null,"submitAction"]],(function(l,n,e){var t=!0;return"submitAction"===n&&(t=!1!==l.component.import()&&t),t}),c.b,c.a)),t["ɵdid"](84,114688,null,0,m.a,[t.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(l()(),t["ɵted"](-1,0,["Import"])),(l()(),t["ɵeld"](86,0,null,null,1,"cd-back-button",[["name","Close"]],null,null,null,p.b,p.a)),t["ɵdid"](87,49152,null,0,h.a,[d.Location,g.b],{name:[0,"name"],back:[1,"back"]},null)],(function(l,n){var e=n.component;l(n,1,0,e.modalRef),l(n,7,0,e.importBootstrapForm),l(n,10,0,e.importBootstrapForm),l(n,19,0),l(n,25,0,""),l(n,28,0,"siteName"),l(n,31,0,"siteName"),l(n,33,0,e.importBootstrapForm.showError("siteName",t["ɵnov"](n,7),"required")),l(n,35,0),l(n,44,0,"direction"),l(n,47,0,"direction"),l(n,49,0,e.directions),l(n,51,0,"pools"),l(n,54,0),l(n,60,0,e.pools),l(n,62,0,e.importBootstrapForm.showError("pools",t["ɵnov"](n,7),"requirePool")),l(n,64,0),l(n,72,0,"token"),l(n,75,0,"token"),l(n,78,0,e.importBootstrapForm.showError("token",t["ɵnov"](n,7),"required")),l(n,80,0,e.importBootstrapForm.showError("token",t["ɵnov"](n,7),"invalidToken")),l(n,84,0,e.importBootstrapForm),l(n,87,0,"Close",e.modalRef.hide)}),(function(l,n){l(n,5,0,t["ɵnov"](n,9).ngClassUntouched,t["ɵnov"](n,9).ngClassTouched,t["ɵnov"](n,9).ngClassPristine,t["ɵnov"](n,9).ngClassDirty,t["ɵnov"](n,9).ngClassValid,t["ɵnov"](n,9).ngClassInvalid,t["ɵnov"](n,9).ngClassPending),l(n,18,0,t["ɵnov"](n,19).hasErrors,t["ɵnov"](n,19).hasSuccess),l(n,24,0,t["ɵnov"](n,30).ngClassUntouched,t["ɵnov"](n,30).ngClassTouched,t["ɵnov"](n,30).ngClassPristine,t["ɵnov"](n,30).ngClassDirty,t["ɵnov"](n,30).ngClassValid,t["ɵnov"](n,30).ngClassInvalid,t["ɵnov"](n,30).ngClassPending,t["ɵnov"](n,31).validClass,t["ɵnov"](n,31).invalidClass),l(n,34,0,t["ɵnov"](n,35).hasErrors,t["ɵnov"](n,35).hasSuccess),l(n,41,0,t["ɵnov"](n,46).ngClassUntouched,t["ɵnov"](n,46).ngClassTouched,t["ɵnov"](n,46).ngClassPristine,t["ɵnov"](n,46).ngClassDirty,t["ɵnov"](n,46).ngClassValid,t["ɵnov"](n,46).ngClassInvalid,t["ɵnov"](n,46).ngClassPending,t["ɵnov"](n,47).validClass,t["ɵnov"](n,47).invalidClass),l(n,50,0,t["ɵnov"](n,53).ngClassUntouched,t["ɵnov"](n,53).ngClassTouched,t["ɵnov"](n,53).ngClassPristine,t["ɵnov"](n,53).ngClassDirty,t["ɵnov"](n,53).ngClassValid,t["ɵnov"](n,53).ngClassInvalid,t["ɵnov"](n,53).ngClassPending,t["ɵnov"](n,54).hasErrors,t["ɵnov"](n,54).hasSuccess),l(n,63,0,t["ɵnov"](n,64).hasErrors,t["ɵnov"](n,64).hasSuccess),l(n,69,0,t["ɵnov"](n,74).ngClassUntouched,t["ɵnov"](n,74).ngClassTouched,t["ɵnov"](n,74).ngClassPristine,t["ɵnov"](n,74).ngClassDirty,t["ɵnov"](n,74).ngClassValid,t["ɵnov"](n,74).ngClassInvalid,t["ɵnov"](n,74).ngClassPending,t["ɵnov"](n,75).validClass,t["ɵnov"](n,75).invalidClass)}))}function N(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"cd-bootstrap-import-modal",[],null,null,null,E,S)),t["ɵdid"](1,245760,null,0,f.a,[v.a,b.a,C.a],null,null)],(function(l,n){l(n,1,0)}),null)}var F=t["ɵccf"]("cd-bootstrap-import-modal",f.a,N,{},{},[])},EFGL:function(l,n,e){"use strict";var t=e("8Y7J"),i=e("SVse"),u=e("IzCI"),s=e("aXbf"),a=e("dEH0"),o=e("BQkM"),r=e("25BL"),d=e("uIqm");e("aAWM"),e("o8EM"),e("GiVz"),e.d(n,"a",(function(){return c})),e.d(n,"b",(function(){return _}));var c=t["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function m(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,2,"span",[],null,null,null,null,null)),(l()(),t["ɵted"](1,null,["",""])),t["ɵppd"](2,1)],null,(function(l,n){var e=t["ɵunv"](n,1,0,l(n,2,0,t["ɵnov"](n.parent.parent,0),n.parent.context.value));l(n,1,0,e)}))}function p(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,2,"strong",[],null,null,null,null,null)),(l()(),t["ɵted"](1,null,["",""])),t["ɵppd"](2,1)],null,(function(l,n){var e=t["ɵunv"](n,1,0,l(n,2,0,t["ɵnov"](n.parent.parent,0),n.parent.context.value));l(n,1,0,e)}))}function h(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,2,"strong",[],null,null,null,null,null)),(l()(),t["ɵted"](1,null,["",""])),t["ɵppd"](2,1)],null,(function(l,n){var e=t["ɵunv"](n,1,0,l(n,2,0,t["ɵnov"](n.parent.parent,0),n.parent.context.value));l(n,1,0,e)}))}function g(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,7,"div",[],null,null,null,null,null)),t["ɵdid"](1,16384,null,0,i.NgSwitch,[],{ngSwitch:[0,"ngSwitch"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,m)),t["ɵdid"](3,278528,null,0,i.NgSwitchCase,[t.ViewContainerRef,t.TemplateRef,i.NgSwitch],{ngSwitchCase:[0,"ngSwitchCase"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,p)),t["ɵdid"](5,278528,null,0,i.NgSwitchCase,[t.ViewContainerRef,t.TemplateRef,i.NgSwitch],{ngSwitchCase:[0,"ngSwitchCase"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,h)),t["ɵdid"](7,278528,null,0,i.NgSwitchCase,[t.ViewContainerRef,t.TemplateRef,i.NgSwitch],{ngSwitchCase:[0,"ngSwitchCase"]},null)],(function(l,n){l(n,1,0,n.context.value),l(n,3,0,"global"),l(n,5,0,"image"),l(n,7,0,"pool")}),null)}function f(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,2,"span",[],null,null,null,null,null)),(l()(),t["ɵted"](1,null,["",""])),t["ɵppd"](2,1)],null,(function(l,n){var e=t["ɵunv"](n,1,0,l(n,2,0,t["ɵnov"](n.parent.parent,1),n.parent.context.value));l(n,1,0,e)}))}function v(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,2,"span",[],null,null,null,null,null)),(l()(),t["ɵted"](1,null,["",""])),t["ɵppd"](2,1)],null,(function(l,n){var e=t["ɵunv"](n,1,0,l(n,2,0,t["ɵnov"](n.parent.parent,2),n.parent.context.value));l(n,1,0,e)}))}function b(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,2,"span",[],null,null,null,null,null)),(l()(),t["ɵted"](1,null,["",""])),t["ɵppd"](2,1)],null,(function(l,n){var e=t["ɵunv"](n,1,0,l(n,2,0,t["ɵnov"](n.parent.parent,3),n.parent.context.value));l(n,1,0,e)}))}function C(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(l()(),t["ɵted"](1,null,["",""]))],null,(function(l,n){l(n,1,0,n.parent.context.value)}))}function S(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,9,"div",[],null,null,null,null,null)),t["ɵdid"](1,16384,null,0,i.NgSwitch,[],{ngSwitch:[0,"ngSwitch"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,f)),t["ɵdid"](3,278528,null,0,i.NgSwitchCase,[t.ViewContainerRef,t.TemplateRef,i.NgSwitch],{ngSwitchCase:[0,"ngSwitchCase"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,v)),t["ɵdid"](5,278528,null,0,i.NgSwitchCase,[t.ViewContainerRef,t.TemplateRef,i.NgSwitch],{ngSwitchCase:[0,"ngSwitchCase"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,b)),t["ɵdid"](7,278528,null,0,i.NgSwitchCase,[t.ViewContainerRef,t.TemplateRef,i.NgSwitch],{ngSwitchCase:[0,"ngSwitchCase"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,C)),t["ɵdid"](9,16384,null,0,i.NgSwitchDefault,[t.ViewContainerRef,t.TemplateRef,i.NgSwitch],null,null)],(function(l,n){var e=n.component;l(n,1,0,n.context.row.type),l(n,3,0,e.typeField.bps),l(n,5,0,e.typeField.milliseconds),l(n,7,0,e.typeField.iops)}),null)}function _(l){return t["ɵvid"](0,[t["ɵpid"](0,i.TitleCasePipe,[]),t["ɵpid"](0,u.a,[s.a]),t["ɵpid"](0,a.a,[]),t["ɵpid"](0,o.a,[]),t["ɵqud"](402653184,1,{configurationSourceTpl:0}),t["ɵqud"](402653184,2,{configurationValueTpl:0}),t["ɵqud"](402653184,3,{poolConfTable:0}),(l()(),t["ɵeld"](7,0,null,null,1,"cd-table",[["identifier","name"]],null,null,null,r.b,r.a)),t["ɵdid"](8,2867200,[[3,4],["poolConfTable",4]],0,d.a,[t.NgZone,t.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],identifier:[2,"identifier"]},null),(l()(),t["ɵand"](0,[[1,2],["configurationSourceTpl",2]],null,0,null,g)),(l()(),t["ɵand"](0,[[2,2],["configurationValueTpl",2]],null,0,null,S))],(function(l,n){var e=n.component;l(n,8,0,e.data,e.poolConfigurationColumns,"name")}),null)}},Ekvf:function(l,n,e){"use strict";e.d(n,"a",(function(){return d}));var t=e("mrSG"),i=e("IheW"),u=e("lJxs"),s=e("xTzq"),a=e("o8EM"),o=e("8Y7J"),r=e("pL04");let d=(()=>{let l=class{constructor(l,n){this.http=l,this.rbdConfigurationService=n,this.apiPath="api/pool"}create(l){return this.http.post(this.apiPath,l,{observe:"response"})}update(l){let n;return l.hasOwnProperty("srcpool")?(n=l.srcpool,delete l.srcpool):(n=l.pool,delete l.pool),this.http.put(`${this.apiPath}/${encodeURIComponent(n)}`,l,{observe:"response"})}delete(l){return this.http.delete(`${this.apiPath}/${l}`,{observe:"response"})}get(l){return this.http.get(`${this.apiPath}/${l}`)}getList(){return this.http.get(`${this.apiPath}?stats=true`)}getConfiguration(l){return this.http.get(`${this.apiPath}/${l}/configuration`).pipe(Object(u.a)(l=>l.map(l=>Object.assign(l,this.rbdConfigurationService.getOptionByName(l.name)))))}getInfo(){return this.http.get(`ui-${this.apiPath}/info`)}list(l=[]){const n=l.join(",");return this.http.get(`${this.apiPath}?attrs=${n}`).toPromise().then(l=>l)}};return l.ngInjectableDef=o["ɵɵdefineInjectable"]({factory:function(){return new l(o["ɵɵinject"](i.c),o["ɵɵinject"](a.a))},token:l,providedIn:r.a}),l=t.__decorate([s.a,t.__metadata("design:paramtypes",[i.c,a.a])],l),l})()},F83c:function(l,n,e){"use strict";e.d(n,"a",(function(){return m}));var t=e("mrSG"),i=e("IheW"),u=e("LvDl"),s=e("lJxs"),a=e("xTzq"),o=e("jVDg"),r=e("o8EM"),d=e("8Y7J"),c=e("pL04");let m=(()=>{let l=class{constructor(l,n){this.http=l,this.rbdConfigurationService=n}isRBDPool(l){return-1!==u.indexOf(l.application_metadata,"rbd")&&!l.pool_name.includes("/")}create(l){return this.http.post("api/block/image",l,{observe:"response"})}delete(l){return this.http.delete(`api/block/image/${l.toStringEncoded()}`,{observe:"response"})}update(l,n){return this.http.put(`api/block/image/${l.toStringEncoded()}`,n,{observe:"response"})}get(l){return this.http.get(`api/block/image/${l.toStringEncoded()}`)}list(){return this.http.get("api/block/image").pipe(Object(s.a)(l=>l.map(l=>(l.value.map(l=>l.configuration?(l.configuration.map(l=>Object.assign(l,this.rbdConfigurationService.getOptionByName(l.name))),l):l),l))))}copy(l,n){return this.http.post(`api/block/image/${l.toStringEncoded()}/copy`,n,{observe:"response"})}flatten(l){return this.http.post(`api/block/image/${l.toStringEncoded()}/flatten`,null,{observe:"response"})}defaultFeatures(){return this.http.get("api/block/image/default_features")}createSnapshot(l,n){const e={snapshot_name:n};return this.http.post(`api/block/image/${l.toStringEncoded()}/snap`,e,{observe:"response"})}renameSnapshot(l,n,e){const t={new_snap_name:e};return this.http.put(`api/block/image/${l.toStringEncoded()}/snap/${n}`,t,{observe:"response"})}protectSnapshot(l,n,e){const t={is_protected:e};return this.http.put(`api/block/image/${l.toStringEncoded()}/snap/${n}`,t,{observe:"response"})}rollbackSnapshot(l,n){return this.http.post(`api/block/image/${l.toStringEncoded()}/snap/${n}/rollback`,null,{observe:"response"})}cloneSnapshot(l,n,e){return this.http.post(`api/block/image/${l.toStringEncoded()}/snap/${n}/clone`,e,{observe:"response"})}deleteSnapshot(l,n){return this.http.delete(`api/block/image/${l.toStringEncoded()}/snap/${n}`,{observe:"response"})}listTrash(){return this.http.get("api/block/image/trash/")}createNamespace(l,n){return this.http.post(`api/block/pool/${l}/namespace`,{namespace:n},{observe:"response"})}listNamespaces(l){return this.http.get(`api/block/pool/${l}/namespace/`)}deleteNamespace(l,n){return this.http.delete(`api/block/pool/${l}/namespace/${n}`,{observe:"response"})}moveTrash(l,n){return this.http.post(`api/block/image/${l.toStringEncoded()}/move_trash`,{delay:n},{observe:"response"})}purgeTrash(l){return this.http.post(`api/block/image/trash/purge/?pool_name=${l}`,null,{observe:"response"})}restoreTrash(l,n){return this.http.post(`api/block/image/trash/${l.toStringEncoded()}/restore`,{new_image_name:n},{observe:"response"})}removeTrash(l,n=!1){return this.http.delete(`api/block/image/trash/${l.toStringEncoded()}/?force=${n}`,{observe:"response"})}};return l.ngInjectableDef=d["ɵɵdefineInjectable"]({factory:function(){return new l(d["ɵɵinject"](i.c),d["ɵɵinject"](r.a))},token:l,providedIn:c.a}),t.__decorate([t.__param(1,a.b),t.__metadata("design:type",Function),t.__metadata("design:paramtypes",[o.a,String]),t.__metadata("design:returntype",void 0)],l.prototype,"createSnapshot",null),t.__decorate([t.__param(2,a.b),t.__metadata("design:type",Function),t.__metadata("design:paramtypes",[o.a,String,String]),t.__metadata("design:returntype",void 0)],l.prototype,"renameSnapshot",null),t.__decorate([t.__param(2,a.b),t.__metadata("design:type",Function),t.__metadata("design:paramtypes",[o.a,String,Boolean]),t.__metadata("design:returntype",void 0)],l.prototype,"protectSnapshot",null),t.__decorate([t.__param(1,a.b),t.__metadata("design:type",Function),t.__metadata("design:paramtypes",[o.a,String]),t.__metadata("design:returntype",void 0)],l.prototype,"restoreTrash",null),l=t.__decorate([a.a,t.__metadata("design:paramtypes",[i.c,r.a])],l),l})()},Fd71:function(l,n,e){"use strict";e.d(n,"a",(function(){return o}));var t=e("s7LF"),i=e("XNiG"),u=(e("F83c"),e("sne2"),e("QFaf")),s=e("kvvV"),a=e("jVDg");e("9nlD"),e("VXsX");class o{constructor(l,n,e,t,i,u){this.modalRef=l,this.rbdService=n,this.taskManagerService=e,this.notificationService=t,this.i18n=i,this.actionLabels=u,this.editing=!1,this.action=this.actionLabels.CREATE,this.resource=this.i18n("RBD Snapshot"),this.createForm()}createForm(){this.snapshotForm=new u.a({snapshotName:new t.i("",{validators:[t.B.required]})})}ngOnInit(){this.onSubmit=new i.a}setSnapName(l){this.snapName=l,this.snapshotForm.get("snapshotName").setValue(l)}setEditing(l=!0){this.editing=l,this.action=this.editing?this.actionLabels.RENAME:this.actionLabels.CREATE}editAction(){const l=this.snapshotForm.getValue("snapshotName"),n=new a.a(this.poolName,this.namespace,this.imageName),e=new s.a;e.name="rbd/snap/edit",e.metadata={image_spec:n.toString(),snapshot_name:l},this.rbdService.renameSnapshot(n,this.snapName,l).toPromise().then(()=>{this.taskManagerService.subscribe(e.name,e.metadata,l=>{this.notificationService.notifyTask(l)}),this.modalRef.hide(),this.onSubmit.next(this.snapName)}).catch(()=>{this.snapshotForm.setErrors({cdSubmitButton:!0})})}createAction(){const l=this.snapshotForm.getValue("snapshotName"),n=new a.a(this.poolName,this.namespace,this.imageName),e=new s.a;e.name="rbd/snap/create",e.metadata={image_spec:n.toString(),snapshot_name:l},this.rbdService.createSnapshot(n,l).toPromise().then(()=>{this.taskManagerService.subscribe(e.name,e.metadata,l=>{this.notificationService.notifyTask(l)}),this.modalRef.hide(),this.onSubmit.next(l)}).catch(()=>{this.snapshotForm.setErrors({cdSubmitButton:!0})})}submit(){this.editing?this.editAction():this.createAction()}}},I4Qz:function(l,n,e){"use strict";var t=e("8Y7J"),i=e("EEJc"),u=e("ajRT"),s=e("s7LF"),a=e("+gVj"),o=e("SVse"),r=e("mXUL"),d=e("ienR"),c=e("z/SZ"),m=e("gp3X"),p=e("sb0X"),h=e("KVJa"),g=e("Z21x"),f=e("sne2"),v=e("2JDI"),b=e("F83c"),C=e("LqlI"),S=e("2EZI"),_=e("kn/O");e.d(n,"a",(function(){return N}));var y=t["ɵcrt"]({encapsulation:0,styles:[[".bs-datepicker-head bs-datepicker-navigation-view{display:flex;justify-content:space-between}"]],data:{}});function R(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,2,"div",[["class","alert alert-warning"],["role","alert"]],null,null,null,null,null)),(l()(),t["ɵeld"](1,0,null,null,1,"span",[],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["This image contains snapshot(s), which will prevent it from being removed after moved to trash."]))],null,null)}function w(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,['Wrong date format. Please use "YYYY-MM-DD HH:mm:ss".']))],null,null)}function I(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Protection has already expired. Please pick a future date or leave it empty."]))],null,null)}function k(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,48,"cd-modal",[],null,null,null,i.c,i.b)),t["ɵdid"](1,49152,null,0,u.a,[],{modalRef:[0,"modalRef"]},null),(l()(),t["ɵeld"](2,0,null,0,1,null,null,null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Move an image to trash"])),(l()(),t["ɵeld"](4,0,null,1,44,null,null,null,null,null,null,null)),(l()(),t["ɵeld"](5,0,null,null,43,"form",[["class","form"],["name","moveForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,e){var i=!0;return"submit"===n&&(i=!1!==t["ɵnov"](l,7).onSubmit(e)&&i),"reset"===n&&(i=!1!==t["ɵnov"](l,7).onReset()&&i),"submit"===n&&(i=!1!==t["ɵnov"](l,10).onSubmit()&&i),i}),null,null)),t["ɵdid"](6,16384,null,0,s.G,[],null,null),t["ɵdid"](7,540672,[["formDir",4]],0,s.l,[[8,null],[8,null]],{form:[0,"form"]},null),t["ɵprd"](2048,null,s.d,null,[s.l]),t["ɵdid"](9,16384,null,0,s.s,[[4,s.d]],null,null),t["ɵdid"](10,16384,null,0,a.d,[],{formGroup:[0,"formGroup"]},null),(l()(),t["ɵeld"](11,0,null,null,30,"div",[["class","modal-body"]],null,null,null,null,null)),(l()(),t["ɵand"](16777216,null,null,1,null,R)),t["ɵdid"](13,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](14,0,null,null,7,"p",[],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["To move "])),(l()(),t["ɵeld"](16,0,null,null,1,"kbd",[],null,null,null,null,null)),(l()(),t["ɵted"](17,null,["",""])),(l()(),t["ɵted"](-1,null,[" to trash, click "])),(l()(),t["ɵeld"](19,0,null,null,1,"kbd",[],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Move Image"])),(l()(),t["ɵted"](-1,null,[". Optionally, you can pick an expiration date."])),(l()(),t["ɵeld"](22,0,null,null,19,"div",[["class","form-group"]],[[2,"has-error",null],[2,"has-success",null]],null,null,r.b,r.a)),t["ɵdid"](23,1163264,null,2,a.c,[t.ElementRef,a.g],null,null),t["ɵqud"](603979776,1,{FormControlNames:1}),t["ɵqud"](603979776,2,{messagesBlock:0}),(l()(),t["ɵeld"](26,0,null,0,1,"label",[["class","col-form-label"],["for","expires"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Protection expires at"])),(l()(),t["ɵeld"](28,16777216,null,0,9,"input",[["bsDatepicker",""],["class","form-control"],["formControlName","expiresAt"],["placeholder","NOT PROTECTED"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"],[null,"keyup.esc"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,29)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,29).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,29)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,29)._compositionEnd(e.target.value)&&i),"change"===n&&(i=!1!==t["ɵnov"](l,31).onChange(e)&&i),"keyup.esc"===n&&(i=!1!==t["ɵnov"](l,31).hide()&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,31).onBlur()&&i),i}),null,null)),t["ɵdid"](29,16384,null,0,s.e,[t.Renderer2,t.ElementRef,[2,s.b]],null,null),t["ɵdid"](30,737280,null,0,d.c,[d.a,t.ElementRef,t.Renderer2,t.ViewContainerRef,c.a],{bsConfig:[0,"bsConfig"],minDate:[1,"minDate"]},null),t["ɵdid"](31,16384,null,0,d.f,[d.c,d.j,t.Renderer2,t.ElementRef,t.ChangeDetectorRef],null,null),t["ɵprd"](1024,null,s.o,(function(l){return[l]}),[d.f]),t["ɵprd"](1024,null,s.p,(function(l,n){return[l,n]}),[s.e,d.f]),t["ɵdid"](34,671744,[[1,4]],0,s.j,[[3,s.d],[6,s.o],[8,null],[6,s.p],[2,s.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,s.q,null,[s.j]),t["ɵdid"](36,16384,null,0,s.r,[[4,s.q]],null,null),t["ɵdid"](37,16384,null,0,a.h,[[3,s.d],a.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵand"](16777216,null,0,1,null,w)),t["ɵdid"](39,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](16777216,null,0,1,null,I)),t["ɵdid"](41,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](42,0,null,null,6,"div",[["class","modal-footer"]],null,null,null,null,null)),(l()(),t["ɵeld"](43,0,null,null,5,"div",[["class","button-group text-right"]],null,null,null,null,null)),(l()(),t["ɵeld"](44,0,null,null,2,"cd-submit-button",[],null,[[null,"submitAction"]],(function(l,n,e){var t=!0;return"submitAction"===n&&(t=!1!==l.component.moveImage()&&t),t}),m.b,m.a)),t["ɵdid"](45,114688,null,0,p.a,[t.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(l()(),t["ɵted"](-1,0,["Move Image"])),(l()(),t["ɵeld"](47,0,null,null,1,"cd-back-button",[["name","Cancel"]],null,null,null,h.b,h.a)),t["ɵdid"](48,49152,null,0,g.a,[o.Location,f.b],{name:[0,"name"],back:[1,"back"]},null)],(function(l,n){var e=n.component;l(n,1,0,e.modalRef),l(n,7,0,e.moveForm),l(n,10,0,e.moveForm),l(n,13,0,e.hasSnapshots),l(n,23,0),l(n,30,0,e.bsConfig,e.minDate),l(n,34,0,"expiresAt"),l(n,37,0,"expiresAt"),l(n,39,0,e.moveForm.showError("expiresAt",t["ɵnov"](n,7),"format")),l(n,41,0,e.moveForm.showError("expiresAt",t["ɵnov"](n,7),"expired")),l(n,45,0,e.moveForm),l(n,48,0,"Cancel",e.modalRef.hide)}),(function(l,n){var e=n.component;l(n,5,0,t["ɵnov"](n,9).ngClassUntouched,t["ɵnov"](n,9).ngClassTouched,t["ɵnov"](n,9).ngClassPristine,t["ɵnov"](n,9).ngClassDirty,t["ɵnov"](n,9).ngClassValid,t["ɵnov"](n,9).ngClassInvalid,t["ɵnov"](n,9).ngClassPending),l(n,17,0,e.imageSpecStr),l(n,22,0,t["ɵnov"](n,23).hasErrors,t["ɵnov"](n,23).hasSuccess),l(n,28,0,t["ɵnov"](n,36).ngClassUntouched,t["ɵnov"](n,36).ngClassTouched,t["ɵnov"](n,36).ngClassPristine,t["ɵnov"](n,36).ngClassDirty,t["ɵnov"](n,36).ngClassValid,t["ɵnov"](n,36).ngClassInvalid,t["ɵnov"](n,36).ngClassPending,t["ɵnov"](n,37).validClass,t["ɵnov"](n,37).invalidClass)}))}function E(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"cd-rbd-trash-move-modal",[],null,null,null,k,y)),t["ɵdid"](1,114688,null,0,v.a,[b.a,C.a,S.a,_.a],null,null)],(function(l,n){l(n,1,0)}),null)}var N=t["ɵccf"]("cd-rbd-trash-move-modal",v.a,E,{},{},[])},JBea:function(l,n,e){"use strict";e.d(n,"a",(function(){return t})),e("vCyI");class t{constructor(){}ngOnChanges(){this.selection.hasSelection&&(this.selectedItem=this.selection.first())}}},"JIi+":function(l,n,e){"use strict";var t=e("8Y7J"),i=e("978R"),u=e("z/SZ"),s=e("2uy1"),a=e("SVse"),o=e("pKUh"),r=e("2ZVE"),d=e("25BL"),c=e("uIqm"),m=e("NUGo"),p=e("S7zO"),h=e("VTlA"),g=e("ufoC"),f=e("mSOc"),v=e("wd/R"),b=e("LRne"),C=e("F83c"),S=e("OLbh"),_=e("0+/T"),y=e("sne2"),R=e("x38r"),w=e("vCyI"),I=e("QTAa"),k=e("kvvV"),E=e("jVDg"),N=e("a0VL"),F=e("Fgil"),T=e("aexS"),V=e("9nlD"),D=e("VXsX"),P=e("Fd71"),x=e("LvDl"),q=e("oxzT");class B{constructor(l,n,e){this.i18n=l,this.create={permission:"create",icon:q.a.add,name:n.CREATE},this.rename={permission:"update",icon:q.a.edit,name:n.RENAME},this.protect={permission:"update",icon:q.a.lock,visible:l=>l.hasSingleSelection&&!l.first().is_protected,name:n.PROTECT},this.unprotect={permission:"update",icon:q.a.unlock,visible:l=>l.hasSingleSelection&&l.first().is_protected,name:n.UNPROTECT},this.clone={permission:"create",canBePrimary:l=>l.hasSingleSelection,disable:l=>!l.hasSingleSelection||l.first().cdExecuting||!x.isUndefined(this.getCloneDisableDesc(e)),disableDesc:()=>this.getCloneDisableDesc(e),icon:q.a.clone,name:n.CLONE},this.copy={permission:"create",canBePrimary:l=>l.hasSingleSelection,disable:l=>!l.hasSingleSelection||l.first().cdExecuting,icon:q.a.copy,name:n.COPY},this.rollback={permission:"update",icon:q.a.undo,name:n.ROLLBACK},this.deleteSnap={permission:"delete",icon:q.a.destroy,disable:l=>{const n=l.first();return!l.hasSingleSelection||n.cdExecuting||n.is_protected},name:n.DELETE},this.ordering=[this.create,this.rename,this.protect,this.unprotect,this.clone,this.copy,this.rollback,this.deleteSnap]}getCloneDisableDesc(l){if(!l.includes("layering"))return this.i18n("Parent image must support Layering")}}class O{}class M{constructor(l,n,e,t,i,u,s,a,o,r,d){this.authStorageService=l,this.modalService=n,this.dimlessBinaryPipe=e,this.cdDatePipe=t,this.rbdService=i,this.taskManagerService=u,this.notificationService=s,this.summaryService=a,this.taskListService=o,this.i18n=r,this.actionLabels=d,this.snapshots=[],this.selection=new w.a,this.builders={"rbd/snap/create":l=>{const n=new O;return n.name=l.snapshot_name,n}},this.permission=this.authStorageService.getPermissions().rbdImage}ngOnInit(){this.columns=[{name:this.i18n("Name"),prop:"name",cellTransformation:R.a.executing,flexGrow:2},{name:this.i18n("Size"),prop:"size",flexGrow:1,cellClass:"text-right",pipe:this.dimlessBinaryPipe},{name:this.i18n("Provisioned"),prop:"disk_usage",flexGrow:1,cellClass:"text-right",pipe:this.dimlessBinaryPipe},{name:this.i18n("State"),prop:"is_protected",flexGrow:1,cellTransformation:R.a.badge,customTemplateConfig:{map:{true:{value:this.i18n("PROTECTED"),class:"badge-success"},false:{value:this.i18n("UNPROTECTED"),class:"badge-info"}}}},{name:this.i18n("Created"),prop:"timestamp",flexGrow:1,pipe:this.cdDatePipe}]}ngOnChanges(){const l=new E.a(this.poolName,this.namespace,this.rbdName),n=new B(this.i18n,this.actionLabels,this.featuresName);n.create.click=()=>this.openCreateSnapshotModal(),n.rename.click=()=>this.openEditSnapshotModal(),n.protect.click=()=>this.toggleProtection(),n.unprotect.click=()=>this.toggleProtection();const e=()=>this.selection.first()&&`${l.toStringEncoded()}/${encodeURIComponent(this.selection.first().name)}`;n.clone.routerLink=()=>`/block/rbd/clone/${e()}`,n.copy.routerLink=()=>`/block/rbd/copy/${e()}`,n.rollback.click=()=>this.rollbackModal(),n.deleteSnap.click=()=>this.deleteSnapshotModal(),this.tableActions=n.ordering,this.taskListService.init(()=>Object(b.a)(this.snapshots),null,l=>this.data=l,()=>this.data=this.snapshots,n=>["rbd/snap/create","rbd/snap/delete","rbd/snap/edit","rbd/snap/rollback"].includes(n.name)&&l.toString()===n.metadata.image_spec,(l,n)=>l.name===n.metadata.snapshot_name,this.builders)}openSnapshotModal(l,n=null){this.modalRef=this.modalService.show(P.a),this.modalRef.content.poolName=this.poolName,this.modalRef.content.imageName=this.rbdName,this.modalRef.content.namespace=this.namespace,n?this.modalRef.content.setEditing():n=`${this.rbdName}_${v().toISOString(!0)}`,this.modalRef.content.setSnapName(n),this.modalRef.content.onSubmit.subscribe(n=>{const e=new I.a;e.name=l,e.metadata={image_name:this.rbdName,pool_name:this.poolName,snapshot_name:n},this.summaryService.addRunningTask(e),this.ngOnChanges()})}openCreateSnapshotModal(){this.openSnapshotModal("rbd/snap/create")}openEditSnapshotModal(){this.openSnapshotModal("rbd/snap/edit",this.selection.first().name)}toggleProtection(){const l=this.selection.first().name,n=this.selection.first().is_protected,e=new k.a;e.name="rbd/snap/edit";const t=new E.a(this.poolName,this.namespace,this.rbdName);e.metadata={image_spec:t.toString(),snapshot_name:l},this.rbdService.protectSnapshot(t,l,!n).toPromise().then(()=>{const l=new I.a;l.name=e.name,l.metadata=e.metadata,this.summaryService.addRunningTask(l),this.ngOnChanges(),this.taskManagerService.subscribe(e.name,e.metadata,l=>{this.notificationService.notifyTask(l)})})}_asyncTask(l,n,e){const t=new k.a;t.name=n,t.metadata={image_spec:new E.a(this.poolName,this.namespace,this.rbdName).toString(),snapshot_name:e};const i=new E.a(this.poolName,this.namespace,this.rbdName);this.rbdService[l](i,e).toPromise().then(()=>{const l=new I.a;l.name=t.name,l.metadata=t.metadata,this.summaryService.addRunningTask(l),this.modalRef.hide(),this.ngOnChanges(),this.taskManagerService.subscribe(l.name,l.metadata,l=>{this.notificationService.notifyTask(l)})}).catch(()=>{this.modalRef.content.stopLoadingSpinner()})}rollbackModal(){const l=this.selection.selected[0].name,n=new E.a(this.poolName,this.namespace,this.rbdName).toString(),e={titleText:this.i18n("RBD snapshot rollback"),buttonText:this.i18n("Rollback"),bodyTpl:this.rollbackTpl,bodyData:{snapName:`${n}@${l}`},onSubmit:()=>{this._asyncTask("rollbackSnapshot","rbd/snap/rollback",l)}};this.modalRef=this.modalService.show(S.a,{initialState:e})}deleteSnapshotModal(){const l=this.selection.selected[0].name;this.modalRef=this.modalService.show(_.a,{initialState:{itemDescription:this.i18n("RBD snapshot"),itemNames:[l],submitAction:()=>this._asyncTask("deleteSnapshot","rbd/snap/delete",l)}})}updateSelection(l){this.selection=l}}var A=e("LqlI"),j=e("GiVz"),L=t["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function $(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,null,null,null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["You are about to rollback"])),(l()(),t["ɵeld"](2,0,null,null,1,"strong",[],null,null,null,null,null)),(l()(),t["ɵted"](3,null,[" ",""])),(l()(),t["ɵted"](-1,null,[".\n"]))],null,(function(l,n){l(n,3,0,n.context.$implicit.snapName)}))}function G(l){return t["ɵvid"](0,[t["ɵqud"](671088640,1,{nameTpl:0}),t["ɵqud"](402653184,2,{rollbackTpl:0}),(l()(),t["ɵeld"](2,0,null,null,3,"cd-table",[["columnMode","flex"],["selectionType","single"]],null,[[null,"updateSelection"]],(function(l,n,e){var t=!0;return"updateSelection"===n&&(t=!1!==l.component.updateSelection(e)&&t),t}),d.b,d.a)),t["ɵdid"](3,2867200,null,0,c.a,[t.NgZone,t.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],selectionType:[3,"selectionType"]},{updateSelection:"updateSelection"}),(l()(),t["ɵeld"](4,0,null,1,1,"cd-table-actions",[["class","table-actions"]],null,null,null,m.b,m.a)),t["ɵdid"](5,114688,null,0,p.a,[],{permission:[0,"permission"],selection:[1,"selection"],tableActions:[2,"tableActions"]},null),(l()(),t["ɵand"](0,[[2,2],["rollbackTpl",2]],null,0,null,$))],(function(l,n){var e=n.component;l(n,3,0,e.data,e.columns,"flex","single"),l(n,5,0,e.permission,e.selection,e.tableActions)}),null)}var U=e("EFGL"),X=e("aAWM"),z=e("aXbf"),W=e("o8EM"),J=e("nSDx"),Y=e("o4+5"),K=e("JBea");e.d(n,"b",(function(){return Z})),e.d(n,"c",(function(){return cl})),e.d(n,"a",(function(){return pl}));var Z=t["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Q(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,4,null,null,null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Only available for RBD images with "])),(l()(),t["ɵeld"](2,0,null,null,1,"strong",[],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["fast-diff"])),(l()(),t["ɵted"](-1,null,[" enabled"]))],null,null)}function H(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,2,"span",[],null,null,null,null,null)),(l()(),t["ɵeld"](1,0,null,null,1,"span",[["class","badge badge-dark mr-2"]],null,null,null,null,null)),(l()(),t["ɵted"](2,null,["",""]))],null,(function(l,n){l(n,2,0,n.context.$implicit)}))}function ll(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,3,"span",[],null,null,null,null,null)),(l()(),t["ɵeld"](1,16777216,null,null,2,"span",[["class","form-text text-muted"],["placement","right"]],[[1,"aria-describedby",0]],null,null,null,null)),t["ɵdid"](2,212992,null,0,i.c,[t.ViewContainerRef,u.a,i.a,t.ElementRef,t.Renderer2,s.a],{tooltip:[0,"tooltip"],placement:[1,"placement"]},null),(l()(),t["ɵted"](-1,null,["N/A"]))],(function(l,n){l(n,2,0,t["ɵnov"](n.parent.parent,5),"right")}),(function(l,n){l(n,1,0,t["ɵnov"](n,2).ariaDescribedby)}))}function nl(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,2,"span",[],null,null,null,null,null)),(l()(),t["ɵted"](1,null,[" "," "])),t["ɵppd"](2,1)],null,(function(l,n){var e=n.component,i=t["ɵunv"](n,1,0,l(n,2,0,t["ɵnov"](n.parent.parent,2),e.selectedItem.disk_usage));l(n,1,0,i)}))}function el(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,3,"span",[],null,null,null,null,null)),(l()(),t["ɵeld"](1,16777216,null,null,2,"span",[["class","form-text text-muted"],["placement","right"]],[[1,"aria-describedby",0]],null,null,null,null)),t["ɵdid"](2,212992,null,0,i.c,[t.ViewContainerRef,u.a,i.a,t.ElementRef,t.Renderer2,s.a],{tooltip:[0,"tooltip"],placement:[1,"placement"]},null),(l()(),t["ɵted"](-1,null,["N/A"]))],(function(l,n){l(n,2,0,t["ɵnov"](n.parent.parent,5),"right")}),(function(l,n){l(n,1,0,t["ɵnov"](n,2).ariaDescribedby)}))}function tl(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,2,"span",[],null,null,null,null,null)),(l()(),t["ɵted"](1,null,[" "," "])),t["ɵppd"](2,1)],null,(function(l,n){var e=n.component,i=t["ɵunv"](n,1,0,l(n,2,0,t["ɵnov"](n.parent.parent,2),e.selectedItem.total_disk_usage));l(n,1,0,i)}))}function il(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(l()(),t["ɵted"](1,null,["/",""]))],null,(function(l,n){l(n,1,0,n.component.selectedItem.parent.pool_namespace)}))}function ul(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,4,"span",[],null,null,null,null,null)),(l()(),t["ɵted"](1,null,["",""])),(l()(),t["ɵand"](16777216,null,null,1,null,il)),t["ɵdid"](3,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵted"](4,null,["/","@",""]))],(function(l,n){l(n,3,0,n.component.selectedItem.parent.pool_namespace)}),(function(l,n){var e=n.component;l(n,1,0,e.selectedItem.parent.pool_name),l(n,4,0,e.selectedItem.parent.image_name,e.selectedItem.parent.snap_name)}))}function sl(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["-"]))],null,null)}function al(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,105,"tabset",[],[[2,"tab-container",null]],null,null,o.b,o.a)),t["ɵdid"](1,180224,null,0,r.e,[r.f,t.Renderer2,t.ElementRef],null,null),(l()(),t["ɵeld"](2,0,null,0,94,"tab",[["heading","Details"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),t["ɵdid"](3,212992,null,0,r.b,[r.e,t.ElementRef,t.Renderer2],{heading:[0,"heading"]},null),(l()(),t["ɵeld"](4,0,null,null,92,"table",[["class","table table-striped table-bordered"]],null,null,null,null,null)),(l()(),t["ɵeld"](5,0,null,null,91,"tbody",[],null,null,null,null,null)),(l()(),t["ɵeld"](6,0,null,null,4,"tr",[],null,null,null,null,null)),(l()(),t["ɵeld"](7,0,null,null,1,"td",[["class","bold w-25"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Name"])),(l()(),t["ɵeld"](9,0,null,null,1,"td",[["class","w-75"]],null,null,null,null,null)),(l()(),t["ɵted"](10,null,["",""])),(l()(),t["ɵeld"](11,0,null,null,4,"tr",[],null,null,null,null,null)),(l()(),t["ɵeld"](12,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Pool"])),(l()(),t["ɵeld"](14,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),t["ɵted"](15,null,["",""])),(l()(),t["ɵeld"](16,0,null,null,5,"tr",[],null,null,null,null,null)),(l()(),t["ɵeld"](17,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Data Pool"])),(l()(),t["ɵeld"](19,0,null,null,2,"td",[],null,null,null,null,null)),(l()(),t["ɵted"](20,null,["",""])),t["ɵppd"](21,1),(l()(),t["ɵeld"](22,0,null,null,5,"tr",[],null,null,null,null,null)),(l()(),t["ɵeld"](23,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Created"])),(l()(),t["ɵeld"](25,0,null,null,2,"td",[],null,null,null,null,null)),(l()(),t["ɵted"](26,null,["",""])),t["ɵppd"](27,1),(l()(),t["ɵeld"](28,0,null,null,5,"tr",[],null,null,null,null,null)),(l()(),t["ɵeld"](29,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Size"])),(l()(),t["ɵeld"](31,0,null,null,2,"td",[],null,null,null,null,null)),(l()(),t["ɵted"](32,null,["",""])),t["ɵppd"](33,1),(l()(),t["ɵeld"](34,0,null,null,5,"tr",[],null,null,null,null,null)),(l()(),t["ɵeld"](35,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Objects"])),(l()(),t["ɵeld"](37,0,null,null,2,"td",[],null,null,null,null,null)),(l()(),t["ɵted"](38,null,["",""])),t["ɵppd"](39,1),(l()(),t["ɵeld"](40,0,null,null,5,"tr",[],null,null,null,null,null)),(l()(),t["ɵeld"](41,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Object size"])),(l()(),t["ɵeld"](43,0,null,null,2,"td",[],null,null,null,null,null)),(l()(),t["ɵted"](44,null,["",""])),t["ɵppd"](45,1),(l()(),t["ɵeld"](46,0,null,null,5,"tr",[],null,null,null,null,null)),(l()(),t["ɵeld"](47,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Features"])),(l()(),t["ɵeld"](49,0,null,null,2,"td",[],null,null,null,null,null)),(l()(),t["ɵand"](16777216,null,null,1,null,H)),t["ɵdid"](51,278528,null,0,a.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),t["ɵeld"](52,0,null,null,7,"tr",[],null,null,null,null,null)),(l()(),t["ɵeld"](53,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Provisioned"])),(l()(),t["ɵeld"](55,0,null,null,4,"td",[],null,null,null,null,null)),(l()(),t["ɵand"](16777216,null,null,1,null,ll)),t["ɵdid"](57,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,nl)),t["ɵdid"](59,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](60,0,null,null,7,"tr",[],null,null,null,null,null)),(l()(),t["ɵeld"](61,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Total provisioned"])),(l()(),t["ɵeld"](63,0,null,null,4,"td",[],null,null,null,null,null)),(l()(),t["ɵand"](16777216,null,null,1,null,el)),t["ɵdid"](65,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,tl)),t["ɵdid"](67,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](68,0,null,null,5,"tr",[],null,null,null,null,null)),(l()(),t["ɵeld"](69,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Striping unit"])),(l()(),t["ɵeld"](71,0,null,null,2,"td",[],null,null,null,null,null)),(l()(),t["ɵted"](72,null,["",""])),t["ɵppd"](73,1),(l()(),t["ɵeld"](74,0,null,null,4,"tr",[],null,null,null,null,null)),(l()(),t["ɵeld"](75,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Striping count"])),(l()(),t["ɵeld"](77,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),t["ɵted"](78,null,["",""])),(l()(),t["ɵeld"](79,0,null,null,7,"tr",[],null,null,null,null,null)),(l()(),t["ɵeld"](80,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Parent"])),(l()(),t["ɵeld"](82,0,null,null,4,"td",[],null,null,null,null,null)),(l()(),t["ɵand"](16777216,null,null,1,null,ul)),t["ɵdid"](84,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,sl)),t["ɵdid"](86,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](87,0,null,null,4,"tr",[],null,null,null,null,null)),(l()(),t["ɵeld"](88,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Block name prefix"])),(l()(),t["ɵeld"](90,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),t["ɵted"](91,null,["",""])),(l()(),t["ɵeld"](92,0,null,null,4,"tr",[],null,null,null,null,null)),(l()(),t["ɵeld"](93,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Order"])),(l()(),t["ɵeld"](95,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),t["ɵted"](96,null,["",""])),(l()(),t["ɵeld"](97,0,null,0,4,"tab",[["heading","Snapshots"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),t["ɵdid"](98,212992,null,0,r.b,[r.e,t.ElementRef,t.Renderer2],{heading:[0,"heading"]},null),(l()(),t["ɵeld"](99,0,null,null,2,"cd-rbd-snapshot-list",[],null,null,null,G,L)),t["ɵprd"](131584,null,h.a,h.a,[g.a,f.a]),t["ɵdid"](101,638976,null,0,M,[T.a,A.b,F.a,N.a,C.a,D.a,V.a,f.a,h.a,j.a,y.b],{snapshots:[0,"snapshots"],featuresName:[1,"featuresName"],poolName:[2,"poolName"],namespace:[3,"namespace"],rbdName:[4,"rbdName"]},null),(l()(),t["ɵeld"](102,0,null,0,3,"tab",[["heading","Configuration"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),t["ɵdid"](103,212992,null,0,r.b,[r.e,t.ElementRef,t.Renderer2],{heading:[0,"heading"]},null),(l()(),t["ɵeld"](104,0,null,null,1,"cd-rbd-configuration-table",[],null,null,null,U.b,U.a)),t["ɵdid"](105,638976,null,0,X.a,[z.a,W.a,j.a],{data:[0,"data"]},null)],(function(l,n){var e=n.component;l(n,3,0,"Details"),l(n,51,0,e.selectedItem.features_name),l(n,57,0,-1===(null==e.selectedItem.features_name?null:e.selectedItem.features_name.indexOf("fast-diff"))),l(n,59,0,-1!==(null==e.selectedItem.features_name?null:e.selectedItem.features_name.indexOf("fast-diff"))),l(n,65,0,-1===(null==e.selectedItem.features_name?null:e.selectedItem.features_name.indexOf("fast-diff"))),l(n,67,0,-1!==(null==e.selectedItem.features_name?null:e.selectedItem.features_name.indexOf("fast-diff"))),l(n,84,0,e.selectedItem.parent),l(n,86,0,!e.selectedItem.parent),l(n,98,0,"Snapshots"),l(n,101,0,e.selectedItem.snapshots,e.selectedItem.features_name,e.selectedItem.pool_name,e.selectedItem.namespace,e.selectedItem.name),l(n,103,0,"Configuration"),l(n,105,0,e.selectedItem.configuration)}),(function(l,n){var e=n.component;l(n,0,0,t["ɵnov"](n,1).clazz),l(n,2,0,t["ɵnov"](n,3).id,t["ɵnov"](n,3).active,t["ɵnov"](n,3).addClass),l(n,10,0,e.selectedItem.name),l(n,15,0,e.selectedItem.pool_name);var i=t["ɵunv"](n,20,0,l(n,21,0,t["ɵnov"](n.parent,0),e.selectedItem.data_pool));l(n,20,0,i);var u=t["ɵunv"](n,26,0,l(n,27,0,t["ɵnov"](n.parent,1),e.selectedItem.timestamp));l(n,26,0,u);var s=t["ɵunv"](n,32,0,l(n,33,0,t["ɵnov"](n.parent,2),e.selectedItem.size));l(n,32,0,s);var a=t["ɵunv"](n,38,0,l(n,39,0,t["ɵnov"](n.parent,3),e.selectedItem.num_objs));l(n,38,0,a);var o=t["ɵunv"](n,44,0,l(n,45,0,t["ɵnov"](n.parent,2),e.selectedItem.obj_size));l(n,44,0,o);var r=t["ɵunv"](n,72,0,l(n,73,0,t["ɵnov"](n.parent,2),e.selectedItem.stripe_unit));l(n,72,0,r),l(n,78,0,e.selectedItem.stripe_count),l(n,91,0,e.selectedItem.block_name_prefix),l(n,96,0,e.selectedItem.order),l(n,97,0,t["ɵnov"](n,98).id,t["ɵnov"](n,98).active,t["ɵnov"](n,98).addClass),l(n,102,0,t["ɵnov"](n,103).id,t["ɵnov"](n,103).active,t["ɵnov"](n,103).addClass)}))}function ol(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,3,null,null,null,null,null,null,null)),(l()(),t["ɵeld"](1,16777216,null,null,2,"strong",[["tooltip","This setting overrides the global value"]],[[1,"aria-describedby",0]],null,null,null,null)),t["ɵdid"](2,212992,null,0,i.c,[t.ViewContainerRef,u.a,i.a,t.ElementRef,t.Renderer2,s.a],{tooltip:[0,"tooltip"]},null),(l()(),t["ɵted"](-1,null,["Image"])),(l()(),t["ɵand"](0,null,null,0))],(function(l,n){l(n,2,0,"This setting overrides the global value")}),(function(l,n){l(n,1,0,t["ɵnov"](n,2).ariaDescribedby)}))}function rl(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,16777216,null,null,2,"span",[["tooltip","This is the global value. No value for this option has been set for this image."]],[[1,"aria-describedby",0]],null,null,null,null)),t["ɵdid"](1,212992,null,0,i.c,[t.ViewContainerRef,u.a,i.a,t.ElementRef,t.Renderer2,s.a],{tooltip:[0,"tooltip"]},null),(l()(),t["ɵted"](-1,null,["Global"])),(l()(),t["ɵand"](0,null,null,0))],(function(l,n){l(n,1,0,"This is the global value. No value for this option has been set for this image.")}),(function(l,n){l(n,0,0,t["ɵnov"](n,1).ariaDescribedby)}))}function dl(l){return t["ɵvid"](0,[(l()(),t["ɵand"](16777216,null,null,1,null,ol)),t["ɵdid"](1,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"],ngIfElse:[1,"ngIfElse"]},null),(l()(),t["ɵand"](0,[["global",2]],null,0,null,rl))],(function(l,n){l(n,1,0,n.context.value-0,t["ɵnov"](n,2))}),null)}function cl(l){return t["ɵvid"](0,[t["ɵpid"](0,J.a,[]),t["ɵpid"](0,N.a,[a.DatePipe]),t["ɵpid"](0,F.a,[z.a]),t["ɵpid"](0,Y.a,[z.a]),t["ɵqud"](402653184,1,{poolConfigurationSourceTpl:0}),(l()(),t["ɵand"](0,[["usageNotAvailableTooltipTpl",2]],null,0,null,Q)),(l()(),t["ɵand"](16777216,null,null,1,null,al)),t["ɵdid"](7,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](0,[[1,2],["poolConfigurationSourceTpl",2]],null,0,null,dl))],(function(l,n){var e=n.component;l(n,7,0,null==e.selection?null:e.selection.hasSingleSelection)}),null)}function ml(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"cd-rbd-details",[],null,null,null,cl,Z)),t["ɵdid"](1,573440,null,0,K.a,[],null,null)],null,null)}var pl=t["ɵccf"]("cd-rbd-details",K.a,ml,{selection:"selection",images:"images"},{},[])},L4us:function(l,n,e){"use strict";var t=e("s7LF"),i=(e("XED3"),e("QFaf")),u=e("kvvV");e("kn/O");class s{}e.d(n,"a",(function(){return a}));class a{constructor(l,n,e){this.modalRef=l,this.rbdMirroringService=n,this.taskWrapper=e,this.bsConfig={containerClass:"theme-default"},this.createForm()}createForm(){this.editPeerForm=new i.a({clusterName:new t.i("",{validators:[t.B.required,this.validateClusterName]}),clientID:new t.i("",{validators:[t.B.required,this.validateClientID]}),monAddr:new t.i("",{validators:[this.validateMonAddr]}),key:new t.i("",{validators:[this.validateKey]})})}ngOnInit(){this.pattern=`${this.poolName}/${this.peerUUID}`,"edit"===this.mode&&this.rbdMirroringService.getPeer(this.poolName,this.peerUUID).subscribe(l=>{this.setResponse(l)})}validateClusterName(l){if(!l.value.match(/^[\w\-_]*$/))return{invalidClusterName:{value:l.value}}}validateClientID(l){if(!l.value.match(/^(?!client\.)[\w\-_.]*$/))return{invalidClientID:{value:l.value}}}validateMonAddr(l){if(!l.value.match(/^[,; ]*([\w.\-_\[\]]+(:[\d]+)?[,; ]*)*$/))return{invalidMonAddr:{value:l.value}}}validateKey(l){try{if(""===l.value||atob(l.value))return null}catch(n){}return{invalidKey:{value:l.value}}}setResponse(l){this.response=l,this.editPeerForm.get("clusterName").setValue(l.cluster_name),this.editPeerForm.get("clientID").setValue(l.client_id),this.editPeerForm.get("monAddr").setValue(l.mon_host),this.editPeerForm.get("key").setValue(l.key)}update(){const l=new s;let n;l.cluster_name=this.editPeerForm.getValue("clusterName"),l.client_id=this.editPeerForm.getValue("clientID"),l.mon_host=this.editPeerForm.getValue("monAddr"),l.key=this.editPeerForm.getValue("key"),n=this.taskWrapper.wrapTaskAroundCall("edit"===this.mode?{task:new u.a("rbd/mirroring/peer/edit",{pool_name:this.poolName}),call:this.rbdMirroringService.updatePeer(this.poolName,this.peerUUID,l)}:{task:new u.a("rbd/mirroring/peer/add",{pool_name:this.poolName}),call:this.rbdMirroringService.addPeer(this.poolName,l)}),n.subscribe(void 0,()=>this.editPeerForm.setErrors({cdSubmitButton:!0}),()=>{this.rbdMirroringService.refresh(),this.modalRef.hide()})}}},MyVl:function(l,n,e){"use strict";var t=e("8Y7J"),i=e("s7LF"),u=e("LvDl"),s=e("NHP+"),a=e("cp0P"),o=e("eIep"),r=(e("Ekvf"),e("F83c"),e("sne2"),e("oxzT")),d=e("QFaf"),c=e("PhyI"),m=e("kvvV"),p=e("jVDg");e("Fgil"),e("aexS"),e("aXbf"),e("kn/O");class h{constructor(){this.features=[]}}class g{constructor(){this.features=[]}}class f extends class{}{constructor(){super(...arguments),this.features=[]}}class v{constructor(){this.features=[]}}var b=function(l){return l.editing="editing",l.cloning="cloning",l.copying="copying",l}({});e.d(n,"a",(function(){return C}));class C{constructor(l,n,e,i,u,a,o,d,c,m){this.authStorageService=l,this.route=n,this.poolService=e,this.rbdService=i,this.formatter=u,this.taskWrapper=a,this.dimlessBinaryPipe=o,this.i18n=d,this.actionLabels=c,this.router=m,this.namespaces=[],this.namespacesByPoolCache={},this.pools=null,this.allPools=null,this.dataPools=null,this.allDataPools=null,this.featuresList=[],this.initializeConfigData=new t.EventEmitter,this.advancedEnabled=!1,this.rbdFormMode=b,this.defaultObjectSize="4 MiB",this.objectSizes=["4 KiB","8 KiB","16 KiB","32 KiB","64 KiB","128 KiB","256 KiB","512 KiB","1 MiB","2 MiB","4 MiB","8 MiB","16 MiB","32 MiB"],this.rbdImage=new s.a,this.icons=r.a,this.poolPermission=this.authStorageService.getPermissions().pool,this.resource=this.i18n("RBD"),this.features={"deep-flatten":{desc:this.i18n("Deep flatten"),requires:null,allowEnable:!1,allowDisable:!0},layering:{desc:this.i18n("Layering"),requires:null,allowEnable:!1,allowDisable:!1},"exclusive-lock":{desc:this.i18n("Exclusive lock"),requires:null,allowEnable:!0,allowDisable:!0},"object-map":{desc:this.i18n("Object map (requires exclusive-lock)"),requires:"exclusive-lock",allowEnable:!0,allowDisable:!0,initDisabled:!0},journaling:{desc:this.i18n("Journaling (requires exclusive-lock)"),requires:"exclusive-lock",allowEnable:!0,allowDisable:!0,initDisabled:!0},"fast-diff":{desc:this.i18n("Fast diff (interlocked with object-map)"),requires:"object-map",allowEnable:!0,allowDisable:!0,interlockedWith:"object-map",initDisabled:!0}},this.featuresList=this.objToArray(this.features),this.createForm()}objToArray(l){return u.map(l,(l,n)=>Object.assign(l,{key:n}))}createForm(){this.rbdForm=new d.a({parent:new i.i(""),name:new i.i("",{validators:[i.B.required,i.B.pattern(/^[^@/]+?$/)]}),pool:new i.i(null,{validators:[i.B.required]}),namespace:new i.i(null),useDataPool:new i.i(!1),dataPool:new i.i(null),size:new i.i(null,{updateOn:"blur"}),obj_size:new i.i(this.defaultObjectSize),features:new d.a(this.featuresList.reduce((l,n)=>(l[n.key]=new i.i({value:!1,disabled:!!n.initDisabled}),l),{})),stripingUnit:new i.i(null),stripingCount:new i.i(null,{updateOn:"blur"})},this.validateRbdForm(this.formatter))}disableForEdit(){this.rbdForm.get("parent").disable(),this.rbdForm.get("pool").disable(),this.rbdForm.get("namespace").disable(),this.rbdForm.get("useDataPool").disable(),this.rbdForm.get("dataPool").disable(),this.rbdForm.get("obj_size").disable(),this.rbdForm.get("stripingUnit").disable(),this.rbdForm.get("stripingCount").disable()}disableForClone(){this.rbdForm.get("parent").disable(),this.rbdForm.get("size").disable()}disableForCopy(){this.rbdForm.get("parent").disable(),this.rbdForm.get("size").disable()}ngOnInit(){let l;this.router.url.startsWith("/block/rbd/edit")?(this.mode=this.rbdFormMode.editing,this.action=this.actionLabels.EDIT,this.disableForEdit()):this.router.url.startsWith("/block/rbd/clone")?(this.mode=this.rbdFormMode.cloning,this.disableForClone(),this.action=this.actionLabels.CLONE):this.router.url.startsWith("/block/rbd/copy")?(this.mode=this.rbdFormMode.copying,this.action=this.actionLabels.COPY,this.disableForCopy()):this.action=this.actionLabels.CREATE,function(l){l.RbdServiceGet="rbdService.get",l.PoolServiceList="poolService.list"}(l||(l={}));const n={};this.mode===this.rbdFormMode.editing||this.mode===this.rbdFormMode.cloning||this.mode===this.rbdFormMode.copying?this.route.params.subscribe(e=>{const t=p.a.fromString(decodeURIComponent(e.image_spec));e.snap&&(this.snapName=decodeURIComponent(e.snap)),n[l.RbdServiceGet]=this.rbdService.get(t)}):this.rbdService.defaultFeatures().subscribe(l=>{this.setFeatures(l)}),this.mode!==this.rbdFormMode.editing&&this.poolPermission.read&&(n[l.PoolServiceList]=this.poolService.list(["pool_name","type","flags_names","application_metadata"])),Object(a.a)(n).subscribe(n=>{if(n[l.PoolServiceList]){const e=[],t=[];for(const i of n[l.PoolServiceList])this.rbdService.isRBDPool(i)&&("replicated"===i.type?(e.push(i),t.push(i)):"erasure"===i.type&&-1!==i.flags_names.indexOf("ec_overwrites")&&t.push(i));if(this.pools=e,this.allPools=e,this.dataPools=t,this.allDataPools=t,1===this.pools.length){const l=this.pools[0].pool_name;this.rbdForm.get("pool").setValue(l),this.onPoolChange(l)}}if(n[l.RbdServiceGet]){const e=n[l.RbdServiceGet];this.setResponse(e,this.snapName),this.rbdImage.next(e)}}),u.each(this.features,l=>{this.rbdForm.get("features").get(l.key).valueChanges.subscribe(n=>this.featureFormUpdate(l.key,n))})}onPoolChange(l){const n=this.allDataPools?this.allDataPools.filter(n=>n.pool_name!==l):[];this.rbdForm.getValue("dataPool")===l&&this.rbdForm.get("dataPool").setValue(null),this.dataPools=n,this.namespaces=null,l in this.namespacesByPoolCache?this.namespaces=this.namespacesByPoolCache[l]:this.rbdService.listNamespaces(l).subscribe(n=>{n=n.map(l=>l.namespace),this.namespacesByPoolCache[l]=n,this.namespaces=n}),this.rbdForm.get("namespace").setValue(null)}onUseDataPoolChange(){this.rbdForm.getValue("useDataPool")||(this.rbdForm.get("dataPool").setValue(null),this.onDataPoolChange(null))}onDataPoolChange(l){const n=this.allPools.filter(n=>n.pool_name!==l);this.rbdForm.getValue("pool")===l&&this.rbdForm.get("pool").setValue(null),this.pools=n}validateRbdForm(l){return n=>{const e=n.get("useDataPool"),t=n.get("dataPool");let i=null;e.value&&null==t.value&&(i={required:!0}),t.setErrors(i);const u=n.get("size"),s=n.get("obj_size"),a=l.toBytes(null!=s.value?s.value:this.defaultObjectSize),o=n.get("stripingCount"),r=null!=o.value?o.value:1;let d=null;null===u.value?d={required:!0}:r*a>l.toBytes(u.value)&&(d={invalidSizeObject:!0}),u.setErrors(d);const c=n.get("stripingUnit");let m=null;null===c.value&&null!==o.value?m={required:!0}:null!==c.value&&l.toBytes(c.value)>a&&(m={invalidStripingUnit:!0}),c.setErrors(m);let p=null;return null===o.value&&null!==c.value?p={required:!0}:r<1&&(p={min:!0}),o.setErrors(p),null}}getDependendChildFeatures(l){return u.filter(this.features,n=>n.requires===l)||[]}deepBoxCheck(l,n){this.getDependendChildFeatures(l).forEach(l=>{const e=this.rbdForm.get(l.key);n?e.enable({emitEvent:!1}):(e.disable({emitEvent:!1}),e.setValue(!1,{emitEvent:!1}),this.deepBoxCheck(l.key,n));const t=this.rbdForm.get("features");this.mode===this.rbdFormMode.editing&&t.get(l.key).enabled&&((-1===this.response.features_name.indexOf(l.key)||l.allowDisable)&&(-1!==this.response.features_name.indexOf(l.key)||l.allowEnable)||t.get(l.key).disable())})}interlockCheck(l,n){const e=this.featuresList.find(n=>n.key===l);if(this.response){const l=null!=e.interlockedWith,n=this.featuresList.find(l=>l.interlockedWith===e.key),t=!!this.response.features_name.find(l=>l===e.key);if(l){if(t!==!!this.response.features_name.find(l=>l===e.interlockedWith))return}else if(n&&!!this.response.features_name.find(l=>l===n.key)!==t)return}n?u.filter(this.features,n=>n.interlockedWith===l).forEach(l=>this.rbdForm.get(l.key).setValue(!0,{emitEvent:!1})):e.interlockedWith&&this.rbdForm.get("features").get(e.interlockedWith).setValue(!1)}featureFormUpdate(l,n){if(n){const n=this.features[l].requires;if(n&&!this.rbdForm.getValue(n))return void this.rbdForm.get(`features.${l}`).setValue(!1)}this.deepBoxCheck(l,n),this.interlockCheck(l,n)}setFeatures(l){const n=this.rbdForm.get("features");u.forIn(this.features,e=>{-1!==l.indexOf(e.key)&&n.get(e.key).setValue(!0),this.featureFormUpdate(e.key,n.get(e.key).value)})}setResponse(l,n){this.response=l;const e=new p.a(l.pool_name,l.namespace,l.name).toString();if(this.mode===this.rbdFormMode.cloning)this.rbdForm.get("parent").setValue(`${e}@${n}`);else if(this.mode===this.rbdFormMode.copying)n?this.rbdForm.get("parent").setValue(`${e}@${n}`):this.rbdForm.get("parent").setValue(`${e}`);else if(l.parent){const n=l.parent;this.rbdForm.get("parent").setValue(`${n.pool_name}/${n.image_name}@${n.snap_name}`)}this.mode===this.rbdFormMode.editing&&this.rbdForm.get("name").setValue(l.name),this.rbdForm.get("pool").setValue(l.pool_name),this.onPoolChange(l.pool_name),this.rbdForm.get("namespace").setValue(l.namespace),l.data_pool&&(this.rbdForm.get("useDataPool").setValue(!0),this.rbdForm.get("dataPool").setValue(l.data_pool)),this.rbdForm.get("size").setValue(this.dimlessBinaryPipe.transform(l.size)),this.rbdForm.get("obj_size").setValue(this.dimlessBinaryPipe.transform(l.obj_size)),this.setFeatures(l.features_name),this.rbdForm.get("stripingUnit").setValue(this.dimlessBinaryPipe.transform(l.stripe_unit)),this.rbdForm.get("stripingCount").setValue(l.stripe_count),this.initializeConfigData.emit({initialData:this.response.configuration,sourceType:c.a.image})}createRequest(){const l=new f;return l.pool_name=this.rbdForm.getValue("pool"),l.namespace=this.rbdForm.getValue("namespace"),l.name=this.rbdForm.getValue("name"),l.size=this.formatter.toBytes(this.rbdForm.getValue("size")),l.obj_size=this.formatter.toBytes(this.rbdForm.getValue("obj_size")),u.forIn(this.features,n=>{this.rbdForm.getValue(n.key)&&l.features.push(n.key)}),l.stripe_unit=this.formatter.toBytes(this.rbdForm.getValue("stripingUnit")),l.stripe_count=this.rbdForm.getValue("stripingCount"),l.data_pool=this.rbdForm.getValue("dataPool"),l.configuration=this.getDirtyConfigurationValues(),l}createAction(){const l=this.createRequest();return this.taskWrapper.wrapTaskAroundCall({task:new m.a("rbd/create",{pool_name:l.pool_name,namespace:l.namespace,image_name:l.name}),call:this.rbdService.create(l)})}editRequest(){const l=new v;return l.name=this.rbdForm.getValue("name"),l.size=this.formatter.toBytes(this.rbdForm.getValue("size")),u.forIn(this.features,n=>{this.rbdForm.getValue(n.key)&&l.features.push(n.key)}),l.configuration=this.getDirtyConfigurationValues(),l}cloneRequest(){const l=new h;return l.child_pool_name=this.rbdForm.getValue("pool"),l.child_namespace=this.rbdForm.getValue("namespace"),l.child_image_name=this.rbdForm.getValue("name"),l.obj_size=this.formatter.toBytes(this.rbdForm.getValue("obj_size")),u.forIn(this.features,n=>{this.rbdForm.getValue(n.key)&&l.features.push(n.key)}),l.stripe_unit=this.formatter.toBytes(this.rbdForm.getValue("stripingUnit")),l.stripe_count=this.rbdForm.getValue("stripingCount"),l.data_pool=this.rbdForm.getValue("dataPool"),l.configuration=this.getDirtyConfigurationValues(!0,c.a.image),l}editAction(){const l=new p.a(this.response.pool_name,this.response.namespace,this.response.name);return this.taskWrapper.wrapTaskAroundCall({task:new m.a("rbd/edit",{image_spec:l.toString()}),call:this.rbdService.update(l,this.editRequest())})}cloneAction(){const l=this.cloneRequest(),n=new p.a(this.response.pool_name,this.response.namespace,this.response.name);return this.taskWrapper.wrapTaskAroundCall({task:new m.a("rbd/clone",{parent_image_spec:n.toString(),parent_snap_name:this.snapName,child_pool_name:l.child_pool_name,child_namespace:l.child_namespace,child_image_name:l.child_image_name}),call:this.rbdService.cloneSnapshot(n,this.snapName,l)})}copyRequest(){const l=new g;return this.snapName&&(l.snapshot_name=this.snapName),l.dest_pool_name=this.rbdForm.getValue("pool"),l.dest_namespace=this.rbdForm.getValue("namespace"),l.dest_image_name=this.rbdForm.getValue("name"),l.obj_size=this.formatter.toBytes(this.rbdForm.getValue("obj_size")),u.forIn(this.features,n=>{this.rbdForm.getValue(n.key)&&l.features.push(n.key)}),l.stripe_unit=this.formatter.toBytes(this.rbdForm.getValue("stripingUnit")),l.stripe_count=this.rbdForm.getValue("stripingCount"),l.data_pool=this.rbdForm.getValue("dataPool"),l.configuration=this.getDirtyConfigurationValues(!0,c.a.image),l}copyAction(){const l=this.copyRequest(),n=new p.a(this.response.pool_name,this.response.namespace,this.response.name);return this.taskWrapper.wrapTaskAroundCall({task:new m.a("rbd/copy",{src_image_spec:n.toString(),dest_pool_name:l.dest_pool_name,dest_namespace:l.dest_namespace,dest_image_name:l.dest_image_name}),call:this.rbdService.copy(n,l)})}submit(){this.mode||this.rbdImage.next("create"),this.rbdImage.complete(),this.rbdImage.pipe(Object(o.a)(()=>this.mode===this.rbdFormMode.editing?this.editAction():this.mode===this.rbdFormMode.cloning?this.cloneAction():this.mode===this.rbdFormMode.copying?this.copyAction():this.createAction())).subscribe(()=>{},()=>this.rbdForm.setErrors({cdSubmitButton:!0}),()=>this.router.navigate(["/block/rbd"]))}}},OcYo:function(l,n,e){"use strict";e.d(n,"a",(function(){return t}));class t{constructor(l,n,e){this.elementRef=l,this.renderer=n,this.toastr=e}ngOnInit(){const l=this.renderer.createElement("i");this.renderer.addClass(l,"fa"),this.renderer.addClass(l,"fa-clipboard"),this.renderer.appendChild(this.elementRef.nativeElement,l)}getInputElement(){return document.getElementById(this.cdCopy2ClipboardButton)}onClick(){try{const l=document.createElement("input");l.value=this.getInputElement().value,document.body.appendChild(l),l.select(),document.execCommand("copy"),document.body.removeChild(l),this.toastr.success("Copied text to the clipboard successfully.")}catch(l){this.toastr.error("Failed to copy text to the clipboard.")}}}},PhyI:function(l,n,e){"use strict";e.d(n,"a",(function(){return t})),e.d(n,"b",(function(){return i}));var t=function(l){return l[l.global=0]="global",l[l.pool=1]="pool",l[l.image=2]="image",l}({}),i=function(l){return l[l.bps=0]="bps",l[l.iops=1]="iops",l[l.milliseconds=2]="milliseconds",l}({})},QUzE:function(l,n,e){"use strict";var t=e("8Y7J"),i=e("s7LF"),u=e("+gVj"),s=e("EEJc"),a=e("ajRT"),o=e("mXUL"),r=e("IZUe"),d=e("SVse"),c=e("gp3X"),m=e("sb0X"),p=e("KVJa"),h=e("Z21x"),g=e("sne2"),f=e("SuaG"),v=e("LqlI"),b=e("XED3"),C=e("kn/O");e.d(n,"a",(function(){return k}));var S=t["ɵcrt"]({encapsulation:0,styles:[[".form-group.ng-invalid[_ngcontent-%COMP%]   .invalid-feedback[_ngcontent-%COMP%]{display:block}"]],data:{}});function _(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["This field is required."]))],null,null)}function y(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,9,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(l()(),t["ɵeld"](1,0,null,null,6,"input",[["class","custom-control-input"],["type","checkbox"]],[[8,"id",0],[8,"name",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,e){var i=!0;return"change"===n&&(i=!1!==t["ɵnov"](l,2).onChange(e.target.checked)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,2).onTouched()&&i),i}),null,null)),t["ɵdid"](2,16384,null,0,i.c,[t.Renderer2,t.ElementRef],null,null),t["ɵprd"](1024,null,i.p,(function(l){return[l]}),[i.c]),t["ɵdid"](4,671744,[[3,4]],0,i.j,[[3,i.d],[8,null],[8,null],[6,i.p],[2,i.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,i.q,null,[i.j]),t["ɵdid"](6,16384,null,0,i.r,[[4,i.q]],null,null),t["ɵdid"](7,16384,null,0,u.h,[[3,i.d],u.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵeld"](8,0,null,null,1,"label",[["class","custom-control-label"]],[[8,"htmlFor",0]],null,null,null,null)),(l()(),t["ɵted"](9,null,["",""]))],(function(l,n){l(n,4,0,t["ɵinlineInterpolate"](1,"",n.context.$implicit.name,"")),l(n,7,0,t["ɵinlineInterpolate"](1,"",n.context.$implicit.name,""))}),(function(l,n){l(n,1,1,[t["ɵinlineInterpolate"](1,"",n.context.$implicit.name,""),t["ɵinlineInterpolate"](1,"",n.context.$implicit.name,""),t["ɵnov"](n,6).ngClassUntouched,t["ɵnov"](n,6).ngClassTouched,t["ɵnov"](n,6).ngClassPristine,t["ɵnov"](n,6).ngClassDirty,t["ɵnov"](n,6).ngClassValid,t["ɵnov"](n,6).ngClassInvalid,t["ɵnov"](n,6).ngClassPending,t["ɵnov"](n,7).validClass,t["ɵnov"](n,7).invalidClass]),l(n,8,0,t["ɵinlineInterpolate"](1,"",n.context.$implicit.name,"")),l(n,9,0,n.context.$implicit.name)}))}function R(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["At least one pool is required."]))],null,null)}function w(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,69,"cd-modal",[],null,null,null,s.c,s.b)),t["ɵdid"](1,49152,null,0,a.a,[],{modalRef:[0,"modalRef"]},null),(l()(),t["ɵeld"](2,0,null,0,1,null,null,null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Create Bootstrap Token"])),(l()(),t["ɵeld"](4,0,null,1,65,null,null,null,null,null,null,null)),(l()(),t["ɵeld"](5,0,null,null,64,"form",[["class","form"],["name","createBootstrapForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,e){var i=!0;return"submit"===n&&(i=!1!==t["ɵnov"](l,7).onSubmit(e)&&i),"reset"===n&&(i=!1!==t["ɵnov"](l,7).onReset()&&i),"submit"===n&&(i=!1!==t["ɵnov"](l,10).onSubmit()&&i),i}),null,null)),t["ɵdid"](6,16384,null,0,i.G,[],null,null),t["ɵdid"](7,540672,[["formDir",4]],0,i.l,[[8,null],[8,null]],{form:[0,"form"]},null),t["ɵprd"](2048,null,i.d,null,[i.l]),t["ɵdid"](9,16384,null,0,i.s,[[4,i.d]],null,null),t["ɵdid"](10,16384,null,0,u.d,[],{formGroup:[0,"formGroup"]},null),(l()(),t["ɵeld"](11,0,null,null,54,"div",[["class","modal-body"]],null,null,null,null,null)),(l()(),t["ɵeld"](12,0,null,null,5,"p",[],null,null,null,null,null)),(l()(),t["ɵeld"](13,0,null,null,4,null,null,null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["To create a bootstrap token which can be imported by a peer site cluster, provide the local site's name, select which pools will have mirroring enabled, and click  "])),(l()(),t["ɵeld"](15,0,null,null,1,"kbd",[],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Generate"])),(l()(),t["ɵted"](-1,null,["."])),(l()(),t["ɵeld"](18,0,null,null,15,"div",[["class","form-group"]],[[2,"has-error",null],[2,"has-success",null]],null,null,o.b,o.a)),t["ɵdid"](19,1163264,null,2,u.c,[t.ElementRef,u.g],null,null),t["ɵqud"](603979776,1,{FormControlNames:1}),t["ɵqud"](603979776,2,{messagesBlock:0}),(l()(),t["ɵeld"](22,0,null,0,1,"label",[["class","col-form-label required"],["for","siteName"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Site Name"])),(l()(),t["ɵeld"](24,0,null,0,7,"input",[["autofocus",""],["class","form-control"],["formControlName","siteName"],["id","siteName"],["name","siteName"],["placeholder","Name..."],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,26)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,26).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,26)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,26)._compositionEnd(e.target.value)&&i),i}),null,null)),t["ɵdid"](25,4210688,null,0,r.a,[t.ElementRef],{autofocus:[0,"autofocus"]},null),t["ɵdid"](26,16384,null,0,i.e,[t.Renderer2,t.ElementRef,[2,i.b]],null,null),t["ɵprd"](1024,null,i.p,(function(l){return[l]}),[i.e]),t["ɵdid"](28,671744,[[1,4]],0,i.j,[[3,i.d],[8,null],[8,null],[6,i.p],[2,i.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,i.q,null,[i.j]),t["ɵdid"](30,16384,null,0,i.r,[[4,i.q]],null,null),t["ɵdid"](31,16384,null,0,u.h,[[3,i.d],u.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵand"](16777216,null,0,1,null,_)),t["ɵdid"](33,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](34,0,null,null,12,"div",[["class","form-group"],["formGroupName","pools"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"has-error",null],[2,"has-success",null]],null,null,o.b,o.a)),t["ɵdid"](35,212992,null,0,i.m,[[3,i.d],[8,null],[8,null]],{name:[0,"name"]},null),t["ɵprd"](2048,null,i.d,null,[i.m]),t["ɵdid"](37,16384,null,0,i.s,[[4,i.d]],null,null),t["ɵdid"](38,1163264,null,2,u.c,[t.ElementRef,u.g],null,null),t["ɵqud"](603979776,3,{FormControlNames:1}),t["ɵqud"](603979776,4,{messagesBlock:0}),(l()(),t["ɵeld"](41,0,null,0,1,"label",[["class","col-form-label required"],["for","pools"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Pools"])),(l()(),t["ɵand"](16777216,null,0,1,null,y)),t["ɵdid"](44,278528,null,0,d.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),t["ɵand"](16777216,null,0,1,null,R)),t["ɵdid"](46,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](47,0,null,null,3,"div",[["class","button-group text-right"]],null,null,null,null,null)),(l()(),t["ɵeld"](48,0,null,null,2,"cd-submit-button",[],null,[[null,"submitAction"]],(function(l,n,e){var t=!0;return"submitAction"===n&&(t=!1!==l.component.generate()&&t),t}),c.b,c.a)),t["ɵdid"](49,114688,null,0,m.a,[t.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(l()(),t["ɵted"](-1,0,["Generate"])),(l()(),t["ɵeld"](51,0,null,null,14,"div",[["class","form-group"]],[[2,"has-error",null],[2,"has-success",null]],null,null,o.b,o.a)),t["ɵdid"](52,1163264,null,2,u.c,[t.ElementRef,u.g],null,null),t["ɵqud"](603979776,5,{FormControlNames:1}),t["ɵqud"](603979776,6,{messagesBlock:0}),(l()(),t["ɵeld"](55,0,null,0,2,"label",[["class","col-form-label"],["for","token"]],null,null,null,null,null)),(l()(),t["ɵeld"](56,0,null,null,1,"span",[],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Token"])),(l()(),t["ɵeld"](58,0,null,0,7,"textarea",[["class","form-control resize-vertical"],["formControlName","token"],["id","token"],["placeholder","Generated token..."],["readonly",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,59)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,59).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,59)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,59)._compositionEnd(e.target.value)&&i),i}),null,null)),t["ɵdid"](59,16384,null,0,i.e,[t.Renderer2,t.ElementRef,[2,i.b]],null,null),t["ɵprd"](1024,null,i.p,(function(l){return[l]}),[i.e]),t["ɵdid"](61,671744,[[5,4]],0,i.j,[[3,i.d],[8,null],[8,null],[6,i.p],[2,i.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,i.q,null,[i.j]),t["ɵdid"](63,16384,null,0,i.r,[[4,i.q]],null,null),t["ɵdid"](64,16384,null,0,u.h,[[3,i.d],u.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵted"](-1,null,["          "])),(l()(),t["ɵeld"](66,0,null,null,3,"div",[["class","modal-footer"]],null,null,null,null,null)),(l()(),t["ɵeld"](67,0,null,null,2,"div",[["class","button-group text-right"]],null,null,null,null,null)),(l()(),t["ɵeld"](68,0,null,null,1,"cd-back-button",[["name","Close"]],null,null,null,p.b,p.a)),t["ɵdid"](69,49152,null,0,h.a,[d.Location,g.b],{name:[0,"name"],back:[1,"back"]},null)],(function(l,n){var e=n.component;l(n,1,0,e.modalRef),l(n,7,0,e.createBootstrapForm),l(n,10,0,e.createBootstrapForm),l(n,19,0),l(n,25,0,""),l(n,28,0,"siteName"),l(n,31,0,"siteName"),l(n,33,0,e.createBootstrapForm.showError("siteName",t["ɵnov"](n,7),"required")),l(n,35,0,"pools"),l(n,38,0),l(n,44,0,e.pools),l(n,46,0,e.createBootstrapForm.showError("pools",t["ɵnov"](n,7),"requirePool")),l(n,49,0,e.createBootstrapForm),l(n,52,0),l(n,61,0,"token"),l(n,64,0,"token"),l(n,69,0,"Close",e.modalRef.hide)}),(function(l,n){l(n,5,0,t["ɵnov"](n,9).ngClassUntouched,t["ɵnov"](n,9).ngClassTouched,t["ɵnov"](n,9).ngClassPristine,t["ɵnov"](n,9).ngClassDirty,t["ɵnov"](n,9).ngClassValid,t["ɵnov"](n,9).ngClassInvalid,t["ɵnov"](n,9).ngClassPending),l(n,18,0,t["ɵnov"](n,19).hasErrors,t["ɵnov"](n,19).hasSuccess),l(n,24,0,t["ɵnov"](n,30).ngClassUntouched,t["ɵnov"](n,30).ngClassTouched,t["ɵnov"](n,30).ngClassPristine,t["ɵnov"](n,30).ngClassDirty,t["ɵnov"](n,30).ngClassValid,t["ɵnov"](n,30).ngClassInvalid,t["ɵnov"](n,30).ngClassPending,t["ɵnov"](n,31).validClass,t["ɵnov"](n,31).invalidClass),l(n,34,0,t["ɵnov"](n,37).ngClassUntouched,t["ɵnov"](n,37).ngClassTouched,t["ɵnov"](n,37).ngClassPristine,t["ɵnov"](n,37).ngClassDirty,t["ɵnov"](n,37).ngClassValid,t["ɵnov"](n,37).ngClassInvalid,t["ɵnov"](n,37).ngClassPending,t["ɵnov"](n,38).hasErrors,t["ɵnov"](n,38).hasSuccess),l(n,51,0,t["ɵnov"](n,52).hasErrors,t["ɵnov"](n,52).hasSuccess),l(n,58,0,t["ɵnov"](n,63).ngClassUntouched,t["ɵnov"](n,63).ngClassTouched,t["ɵnov"](n,63).ngClassPristine,t["ɵnov"](n,63).ngClassDirty,t["ɵnov"](n,63).ngClassValid,t["ɵnov"](n,63).ngClassInvalid,t["ɵnov"](n,63).ngClassPending,t["ɵnov"](n,64).validClass,t["ɵnov"](n,64).invalidClass)}))}function I(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"cd-bootstrap-create-modal",[],null,null,null,w,S)),t["ɵdid"](1,245760,null,0,f.a,[v.a,b.a,C.a],null,null)],(function(l,n){l(n,1,0)}),null)}var k=t["ɵccf"]("cd-bootstrap-create-modal",f.a,I,{},{},[])},RIVN:function(l,n,e){"use strict";var t=e("8Y7J"),i=e("C6Ij"),u=e("AWcq"),s=e("NUGo"),a=e("S7zO"),o=e("SVse");class r{transform(l){return"warning"===l?"badge badge-warning":"error"===l?"badge badge-danger":"success"===l?"badge badge-success":"badge badge-info"}}var d=e("25BL"),c=e("uIqm"),m=e("XED3"),p=e("85J/");class h{constructor(l,n,e){this.rbdMirroringService=l,this.cephShortVersionPipe=n,this.i18n=e}ngOnInit(){this.columns=[{prop:"instance_id",name:this.i18n("Instance"),flexGrow:2},{prop:"id",name:this.i18n("ID"),flexGrow:2},{prop:"server_hostname",name:this.i18n("Hostname"),flexGrow:2},{prop:"version",name:this.i18n("Version"),pipe:this.cephShortVersionPipe,flexGrow:2},{prop:"health",name:this.i18n("Health"),cellTemplate:this.healthTmpl,flexGrow:1}],this.subs=this.rbdMirroringService.subscribeSummary(l=>{l&&(this.data=l.content_data.daemons)})}ngOnDestroy(){this.subs.unsubscribe()}refresh(){this.rbdMirroringService.refresh()}}var g=e("GiVz"),f=t["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function v(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,4,"span",[],null,null,null,null,null)),t["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2]),t["ɵdid"](2,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),t["ɵppd"](3,1),(l()(),t["ɵted"](4,null,["",""]))],(function(l,n){var e=t["ɵunv"](n,2,0,l(n,3,0,t["ɵnov"](n.parent,0),n.context.row.health_color));l(n,2,0,e)}),(function(l,n){l(n,4,0,n.context.value)}))}function b(l){return t["ɵvid"](0,[t["ɵpid"](0,r,[]),t["ɵqud"](402653184,1,{healthTmpl:0}),(l()(),t["ɵeld"](2,0,null,null,1,"cd-table",[["columnMode","flex"]],null,[[null,"fetchData"]],(function(l,n,e){var t=!0;return"fetchData"===n&&(t=!1!==l.component.refresh()&&t),t}),d.b,d.a)),t["ɵdid"](3,2867200,null,0,c.a,[t.NgZone,t.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],autoReload:[3,"autoReload"]},{fetchData:"fetchData"}),(l()(),t["ɵand"](0,[[1,2],["healthTmpl",2]],null,0,null,v))],(function(l,n){var e=n.component;l(n,3,0,e.data,e.columns,"flex",0)}),null)}var C=e("HDdC"),S=e("0+/T"),_=e("oxzT"),y=e("vCyI"),R=e("kvvV"),w=e("aexS"),I=e("kn/O"),k=e("aa9H"),E=e("L4us");class N{constructor(l,n,e,t,i){this.authStorageService=l,this.rbdMirroringService=n,this.modalService=e,this.taskWrapper=t,this.i18n=i,this.selection=new y.a,this.data=[],this.permission=this.authStorageService.getPermissions().rbdMirroring;const u={permission:"update",icon:_.a.edit,click:()=>this.editModeModal(),name:this.i18n("Edit Mode"),canBePrimary:()=>!0},s={permission:"create",icon:_.a.add,name:this.i18n("Add Peer"),click:()=>this.editPeersModal("add"),disable:()=>!this.selection.first()||"disabled"===this.selection.first().mirror_mode,visible:()=>!this.getPeerUUID(),canBePrimary:()=>!1},a={permission:"update",icon:_.a.exchange,name:this.i18n("Edit Peer"),click:()=>this.editPeersModal("edit"),visible:()=>!!this.getPeerUUID()},o={permission:"delete",icon:_.a.destroy,name:this.i18n("Delete Peer"),click:()=>this.deletePeersModal(),visible:()=>!!this.getPeerUUID()};this.tableActions=[u,s,a,o]}ngOnInit(){this.columns=[{prop:"name",name:this.i18n("Name"),flexGrow:2},{prop:"mirror_mode",name:this.i18n("Mode"),flexGrow:2},{prop:"leader_id",name:this.i18n("Leader"),flexGrow:2},{prop:"image_local_count",name:this.i18n("# Local"),flexGrow:2},{prop:"image_remote_count",name:this.i18n("# Remote"),flexGrow:2},{prop:"health",name:this.i18n("Health"),cellTemplate:this.healthTmpl,flexGrow:1}],this.subs=this.rbdMirroringService.subscribeSummary(l=>{l&&(this.data=l.content_data.pools)})}ngOnDestroy(){this.subs.unsubscribe()}refresh(){this.rbdMirroringService.refresh()}editModeModal(){const l={poolName:this.selection.first().name};this.modalRef=this.modalService.show(k.a,{initialState:l})}editPeersModal(l){const n={poolName:this.selection.first().name,mode:l};"edit"===l&&(n.peerUUID=this.getPeerUUID()),this.modalRef=this.modalService.show(E.a,{initialState:n})}deletePeersModal(){const l=this.selection.first().name,n=this.getPeerUUID();this.modalRef=this.modalService.show(S.a,{initialState:{itemDescription:this.i18n("mirror peer"),itemNames:[`${l} (${n})`],submitActionObservable:()=>new C.a(e=>{this.taskWrapper.wrapTaskAroundCall({task:new R.a("rbd/mirroring/peer/delete",{pool_name:l}),call:this.rbdMirroringService.deletePeer(l,n)}).subscribe(void 0,l=>e.error(l),()=>{this.rbdMirroringService.refresh(),e.complete()})})}})}getPeerUUID(){const l=this.selection.first(),n=this.data.find(n=>l&&l.name===n.name);if(n&&n.peer_uuids)return n.peer_uuids[0]}updateSelection(l){this.selection=l}}var F=e("LqlI"),T=t["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function V(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,4,"span",[],null,null,null,null,null)),t["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2]),t["ɵdid"](2,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),t["ɵppd"](3,1),(l()(),t["ɵted"](4,null,["",""]))],(function(l,n){var e=t["ɵunv"](n,2,0,l(n,3,0,t["ɵnov"](n.parent,0),n.context.row.health_color));l(n,2,0,e)}),(function(l,n){l(n,4,0,n.context.value)}))}function D(l){return t["ɵvid"](0,[t["ɵpid"](0,r,[]),t["ɵqud"](402653184,1,{healthTmpl:0}),(l()(),t["ɵeld"](2,0,null,null,3,"cd-table",[["columnMode","flex"],["forceIdentifier","true"],["identifier","name"],["selectionType","single"]],null,[[null,"fetchData"],[null,"updateSelection"]],(function(l,n,e){var t=!0,i=l.component;return"fetchData"===n&&(t=!1!==i.refresh()&&t),"updateSelection"===n&&(t=!1!==i.updateSelection(e)&&t),t}),d.b,d.a)),t["ɵdid"](3,2867200,null,0,c.a,[t.NgZone,t.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],autoReload:[3,"autoReload"],identifier:[4,"identifier"],forceIdentifier:[5,"forceIdentifier"],selectionType:[6,"selectionType"]},{fetchData:"fetchData",updateSelection:"updateSelection"}),(l()(),t["ɵeld"](4,0,null,1,1,"cd-table-actions",[["class","table-actions"]],null,null,null,s.b,s.a)),t["ɵdid"](5,114688,null,0,a.a,[],{permission:[0,"permission"],selection:[1,"selection"],tableActions:[2,"tableActions"]},null),(l()(),t["ɵand"](0,[[1,2],["healthTmpl",2]],null,0,null,V))],(function(l,n){var e=n.component;l(n,3,0,e.data,e.columns,"flex",0,"name","true","single"),l(n,5,0,e.permission,e.selection,e.tableActions)}),null)}var P=e("7qid"),x=e("38Bd"),q=e("pKUh"),B=e("2ZVE");class O{constructor(l,n){this.rbdMirroringService=l,this.i18n=n,this.image_error={data:[],columns:{}},this.image_syncing={data:[],columns:{}},this.image_ready={data:[],columns:{}}}ngOnInit(){this.image_error.columns=[{prop:"pool_name",name:this.i18n("Pool"),flexGrow:2},{prop:"name",name:this.i18n("Image"),flexGrow:2},{prop:"description",name:this.i18n("Issue"),flexGrow:4},{prop:"state",name:this.i18n("State"),cellTemplate:this.stateTmpl,flexGrow:1}],this.image_syncing.columns=[{prop:"pool_name",name:this.i18n("Pool"),flexGrow:2},{prop:"name",name:this.i18n("Image"),flexGrow:2},{prop:"progress",name:this.i18n("Progress"),cellTemplate:this.progressTmpl,flexGrow:2},{prop:"state",name:this.i18n("State"),cellTemplate:this.syncTmpl,flexGrow:1}],this.image_ready.columns=[{prop:"pool_name",name:this.i18n("Pool"),flexGrow:2},{prop:"name",name:this.i18n("Image"),flexGrow:2},{prop:"description",name:this.i18n("Description"),flexGrow:4},{prop:"state",name:this.i18n("State"),cellTemplate:this.stateTmpl,flexGrow:1}],this.subs=this.rbdMirroringService.subscribeSummary(l=>{l&&(this.image_error.data=l.content_data.image_error,this.image_syncing.data=l.content_data.image_syncing,this.image_ready.data=l.content_data.image_ready)})}ngOnDestroy(){this.subs.unsubscribe()}refresh(){this.rbdMirroringService.refresh()}}var M=t["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function A(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,4,"span",[],null,null,null,null,null)),t["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2]),t["ɵdid"](2,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),t["ɵppd"](3,1),(l()(),t["ɵted"](4,null,["",""]))],(function(l,n){var e=t["ɵunv"](n,2,0,l(n,3,0,t["ɵnov"](n.parent,0),n.context.row.state_color));l(n,2,0,e)}),(function(l,n){l(n,4,0,n.context.value)}))}function j(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","badge badge-info"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Syncing"]))],null,null)}function L(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"progressbar",[["type","info"]],[[1,"max",0],[2,"progress",null]],null,null,P.b,P.a)),t["ɵdid"](1,49152,null,0,x.b,[x.c],{type:[0,"type"],value:[1,"value"]},null)],(function(l,n){l(n,1,0,"info",n.context.value)}),(function(l,n){l(n,0,0,t["ɵnov"](n,1).max,t["ɵnov"](n,1).addClass)}))}function $(l){return t["ɵvid"](0,[t["ɵpid"](0,r,[]),t["ɵqud"](402653184,1,{stateTmpl:0}),t["ɵqud"](402653184,2,{syncTmpl:0}),t["ɵqud"](402653184,3,{progressTmpl:0}),(l()(),t["ɵeld"](4,0,null,null,13,"tabset",[],[[2,"tab-container",null]],null,null,q.b,q.a)),t["ɵdid"](5,180224,null,0,B.e,[B.f,t.Renderer2,t.ElementRef],null,null),(l()(),t["ɵeld"](6,0,null,0,3,"tab",[["heading","Issues"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),t["ɵdid"](7,212992,null,0,B.b,[B.e,t.ElementRef,t.Renderer2],{heading:[0,"heading"]},null),(l()(),t["ɵeld"](8,0,null,null,1,"cd-table",[["columnMode","flex"]],null,[[null,"fetchData"]],(function(l,n,e){var t=!0;return"fetchData"===n&&(t=!1!==l.component.refresh()&&t),t}),d.b,d.a)),t["ɵdid"](9,2867200,null,0,c.a,[t.NgZone,t.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],autoReload:[3,"autoReload"]},{fetchData:"fetchData"}),(l()(),t["ɵeld"](10,0,null,0,3,"tab",[["heading","Syncing"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),t["ɵdid"](11,212992,null,0,B.b,[B.e,t.ElementRef,t.Renderer2],{heading:[0,"heading"]},null),(l()(),t["ɵeld"](12,0,null,null,1,"cd-table",[["columnMode","flex"]],null,[[null,"fetchData"]],(function(l,n,e){var t=!0;return"fetchData"===n&&(t=!1!==l.component.refresh()&&t),t}),d.b,d.a)),t["ɵdid"](13,2867200,null,0,c.a,[t.NgZone,t.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],autoReload:[3,"autoReload"]},{fetchData:"fetchData"}),(l()(),t["ɵeld"](14,0,null,0,3,"tab",[["heading","Ready"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),t["ɵdid"](15,212992,null,0,B.b,[B.e,t.ElementRef,t.Renderer2],{heading:[0,"heading"]},null),(l()(),t["ɵeld"](16,0,null,null,1,"cd-table",[["columnMode","flex"]],null,[[null,"fetchData"]],(function(l,n,e){var t=!0;return"fetchData"===n&&(t=!1!==l.component.refresh()&&t),t}),d.b,d.a)),t["ɵdid"](17,2867200,null,0,c.a,[t.NgZone,t.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],autoReload:[3,"autoReload"]},{fetchData:"fetchData"}),(l()(),t["ɵand"](0,[[1,2],["stateTmpl",2]],null,0,null,A)),(l()(),t["ɵand"](0,[[2,2],["syncTmpl",2]],null,0,null,j)),(l()(),t["ɵand"](0,[[3,2],["progressTmpl",2]],null,0,null,L))],(function(l,n){var e=n.component;l(n,7,0,"Issues"),l(n,9,0,e.image_error.data,e.image_error.columns,"flex",0),l(n,11,0,"Syncing"),l(n,13,0,e.image_syncing.data,e.image_syncing.columns,"flex",0),l(n,15,0,"Ready"),l(n,17,0,e.image_ready.data,e.image_ready.columns,"flex",0)}),(function(l,n){l(n,4,0,t["ɵnov"](n,5).clazz),l(n,6,0,t["ɵnov"](n,7).id,t["ɵnov"](n,7).active,t["ɵnov"](n,7).addClass),l(n,10,0,t["ɵnov"](n,11).id,t["ɵnov"](n,11).active,t["ɵnov"](n,11).addClass),l(n,14,0,t["ɵnov"](n,15).id,t["ɵnov"](n,15).active,t["ɵnov"](n,15).addClass)}))}var G=e("cxJu");e.d(n,"a",(function(){return W}));var U=t["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function X(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"cd-view-cache",[],null,null,null,i.b,i.a)),t["ɵdid"](1,114688,null,0,u.a,[],{status:[0,"status"]},null),(l()(),t["ɵeld"](2,0,null,null,7,"div",[["class","row"]],null,null,null,null,null)),(l()(),t["ɵeld"](3,0,null,null,6,"div",[["class","col-md-12"]],null,null,null,null,null)),(l()(),t["ɵeld"](4,0,null,null,3,"span",[],null,null,null,null,null)),(l()(),t["ɵeld"](5,0,null,null,1,"strong",[],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Site Name:"])),(l()(),t["ɵted"](7,null,[" ",""])),(l()(),t["ɵeld"](8,0,null,null,1,"cd-table-actions",[["class","table-actions float-right"]],null,null,null,s.b,s.a)),t["ɵdid"](9,114688,null,0,a.a,[],{permission:[0,"permission"],selection:[1,"selection"],tableActions:[2,"tableActions"]},null),(l()(),t["ɵeld"](10,0,null,null,10,"div",[["class","row"]],null,null,null,null,null)),(l()(),t["ɵeld"](11,0,null,null,4,"div",[["class","col-sm-6"]],null,null,null,null,null)),(l()(),t["ɵeld"](12,0,null,null,1,"legend",[],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Daemons"])),(l()(),t["ɵeld"](14,0,null,null,1,"cd-mirroring-daemons",[],null,null,null,b,f)),t["ɵdid"](15,245760,null,0,h,[m.a,p.a,g.a],null,null),(l()(),t["ɵeld"](16,0,null,null,4,"div",[["class","col-sm-6"]],null,null,null,null,null)),(l()(),t["ɵeld"](17,0,null,null,1,"legend",[],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Pools"])),(l()(),t["ɵeld"](19,0,null,null,1,"cd-mirroring-pools",[],null,null,null,D,T)),t["ɵdid"](20,245760,null,0,N,[w.a,m.a,F.b,I.a,g.a],null,null),(l()(),t["ɵeld"](21,0,null,null,5,"div",[["class","row"]],null,null,null,null,null)),(l()(),t["ɵeld"](22,0,null,null,4,"div",[["class","col-md-12"]],null,null,null,null,null)),(l()(),t["ɵeld"](23,0,null,null,1,"legend",[],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Images"])),(l()(),t["ɵeld"](25,0,null,null,1,"cd-mirroring-images",[],null,null,null,$,M)),t["ɵdid"](26,245760,null,0,O,[m.a,g.a],null,null)],(function(l,n){var e=n.component;l(n,1,0,e.status),l(n,9,0,e.permission,e.selection,e.tableActions),l(n,15,0),l(n,20,0),l(n,26,0)}),(function(l,n){l(n,7,0,n.component.siteName)}))}function z(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"cd-mirroring",[],null,null,null,X,U)),t["ɵdid"](1,245760,null,0,G.a,[w.a,m.a,F.b,g.a],null,null)],(function(l,n){l(n,1,0)}),null)}var W=t["ɵccf"]("cd-mirroring",G.a,z,{},{},[])},Sofw:function(l,n,e){"use strict";e.d(n,"a",(function(){return a}));var t=e("s7LF"),i=(e("my5R"),e("mtw6")),u=e("QFaf"),s=e("1Ni5");e("aexS"),e("9nlD");class a{constructor(l,n,e,t,i){this.authStorageService=l,this.bsModalRef=n,this.iscsiService=e,this.notificationService=t,this.i18n=i,this.USER_REGEX=/[\w\.:@_-]{8,64}/,this.PASSWORD_REGEX=/[\w@\-_\/]{12,16}/,this.permission=this.authStorageService.getPermissions().iscsi}ngOnInit(){this.hasPermission=this.permission.update,this.createForm(),this.iscsiService.getDiscovery().subscribe(l=>{this.discoveryForm.patchValue(l)})}createForm(){this.discoveryForm=new u.a({user:new t.i({value:"",disabled:!this.hasPermission}),password:new t.i({value:"",disabled:!this.hasPermission}),mutual_user:new t.i({value:"",disabled:!this.hasPermission}),mutual_password:new t.i({value:"",disabled:!this.hasPermission})}),s.a.validateIf(this.discoveryForm.get("user"),()=>this.discoveryForm.getValue("password")||this.discoveryForm.getValue("mutual_user")||this.discoveryForm.getValue("mutual_password"),[t.B.required],[t.B.pattern(this.USER_REGEX)],[this.discoveryForm.get("password"),this.discoveryForm.get("mutual_user"),this.discoveryForm.get("mutual_password")]),s.a.validateIf(this.discoveryForm.get("password"),()=>this.discoveryForm.getValue("user")||this.discoveryForm.getValue("mutual_user")||this.discoveryForm.getValue("mutual_password"),[t.B.required],[t.B.pattern(this.PASSWORD_REGEX)],[this.discoveryForm.get("user"),this.discoveryForm.get("mutual_user"),this.discoveryForm.get("mutual_password")]),s.a.validateIf(this.discoveryForm.get("mutual_user"),()=>this.discoveryForm.getValue("mutual_password"),[t.B.required],[t.B.pattern(this.USER_REGEX)],[this.discoveryForm.get("user"),this.discoveryForm.get("password"),this.discoveryForm.get("mutual_password")]),s.a.validateIf(this.discoveryForm.get("mutual_password"),()=>this.discoveryForm.getValue("mutual_user"),[t.B.required],[t.B.pattern(this.PASSWORD_REGEX)],[this.discoveryForm.get("user"),this.discoveryForm.get("password"),this.discoveryForm.get("mutual_user")])}submitAction(){this.iscsiService.updateDiscovery(this.discoveryForm.value).subscribe(()=>{this.notificationService.show(i.a.success,this.i18n("Updated discovery authentication")),this.bsModalRef.hide()},()=>{this.discoveryForm.setErrors({cdSubmitButton:!0})})}}},SuaG:function(l,n,e){"use strict";e.d(n,"a",(function(){return c}));var t=e("s7LF"),i=e("LvDl"),u=e("GyhO"),s=e("cp0P"),a=e("vkgz"),o=e("NJ9Y"),r=(e("XED3"),e("QFaf")),d=e("kvvV");e("kn/O");class c{constructor(l,n,e){this.modalRef=l,this.rbdMirroringService=n,this.taskWrapper=e,this.pools=[],this.createForm()}createForm(){this.createBootstrapForm=new r.a({siteName:new t.i("",{validators:[t.B.required]}),pools:new t.k({},{validators:[this.validatePools()]}),token:new t.i("",{})})}ngOnInit(){this.createBootstrapForm.get("siteName").setValue(this.siteName),this.rbdMirroringService.getSiteName().subscribe(l=>{this.createBootstrapForm.get("siteName").setValue(l.site_name)}),this.subs=this.rbdMirroringService.subscribeSummary(l=>{if(!l)return;this.pools=l.content_data.pools.reduce((l,n)=>(l.push({name:n.name,mirror_mode:n.mirror_mode}),l),[]);const n=this.createBootstrapForm.get("pools");i.each(this.pools,l=>{const e=l.name,i="disabled"===l.mirror_mode,u=n.controls[e];u?i&&u.disabled?u.enable():!i&&u.enabled&&(u.disable(),u.setValue(!0)):n.addControl(e,new t.i({value:!i,disabled:!i}))})})}ngOnDestroy(){this.subs&&this.subs.unsubscribe()}validatePools(){return l=>{let n=0;return i.each(l.controls,l=>{!0===l.value&&++n}),n>0?null:{requirePool:!0}}}generate(){this.createBootstrapForm.get("token").setValue("");let l="";const n=[],e=this.createBootstrapForm.get("pools");i.each(e.controls,(e,t)=>{!0===e.value&&(l=t,e.disabled||n.push(t))});const t={mirror_mode:"image"},r=Object(u.a)(this.rbdMirroringService.setSiteName(this.createBootstrapForm.getValue("siteName")),Object(s.a)(n.map(l=>this.rbdMirroringService.updatePool(l,t))),this.rbdMirroringService.createBootstrapToken(l).pipe(Object(a.a)(l=>this.createBootstrapForm.get("token").setValue(l.token)))).pipe(Object(o.a)()),c=()=>{this.rbdMirroringService.refresh(),this.createBootstrapForm.setErrors({cdSubmitButton:!0})};this.taskWrapper.wrapTaskAroundCall({task:new d.a("rbd/mirroring/bootstrap/create",{}),call:r}).subscribe(void 0,c,c)}}},VBM6:function(l,n,e){"use strict";var t=e("8Y7J"),i=e("EEJc"),u=e("ajRT"),s=e("SVse"),a=e("s7LF"),o=e("+gVj"),r=e("mXUL"),d=e("IZUe"),c=e("gp3X"),m=e("sb0X"),p=e("KVJa"),h=e("Z21x"),g=e("sne2"),f=e("L4us"),v=e("LqlI"),b=e("XED3"),C=e("kn/O");e.d(n,"a",(function(){return P}));var S=t["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function _(l){return t["ɵvid"](0,[(l()(),t["ɵted"](-1,null,["Edit"]))],null,null)}function y(l){return t["ɵvid"](0,[(l()(),t["ɵted"](-1,null,["Add"]))],null,null)}function R(l){return t["ɵvid"](0,[(l()(),t["ɵted"](-1,null,["Edit"]))],null,null)}function w(l){return t["ɵvid"](0,[(l()(),t["ɵted"](-1,null,["Add"]))],null,null)}function I(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["This field is required."]))],null,null)}function k(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["The cluster name is not valid."]))],null,null)}function E(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["This field is required."]))],null,null)}function N(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["The CephX ID is not valid."]))],null,null)}function F(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["The monitory address is not valid."]))],null,null)}function T(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["CephX key must be base64 encoded."]))],null,null)}function V(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,106,"cd-modal",[],null,null,null,i.c,i.b)),t["ɵdid"](1,49152,null,0,u.a,[],{modalRef:[0,"modalRef"]},null),(l()(),t["ɵeld"](2,0,null,0,7,null,null,null,null,null,null,null)),(l()(),t["ɵeld"](3,0,null,null,5,null,null,null,null,null,null,null)),t["ɵdid"](4,16384,null,0,s.NgSwitch,[],{ngSwitch:[0,"ngSwitch"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,_)),t["ɵdid"](6,278528,null,0,s.NgSwitchCase,[t.ViewContainerRef,t.TemplateRef,s.NgSwitch],{ngSwitchCase:[0,"ngSwitchCase"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,y)),t["ɵdid"](8,16384,null,0,s.NgSwitchDefault,[t.ViewContainerRef,t.TemplateRef,s.NgSwitch],null,null),(l()(),t["ɵted"](-1,null,[" pool mirror peer"])),(l()(),t["ɵeld"](10,0,null,1,96,null,null,null,null,null,null,null)),(l()(),t["ɵeld"](11,0,null,null,95,"form",[["class","form"],["name","editPeerForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,e){var i=!0;return"submit"===n&&(i=!1!==t["ɵnov"](l,13).onSubmit(e)&&i),"reset"===n&&(i=!1!==t["ɵnov"](l,13).onReset()&&i),"submit"===n&&(i=!1!==t["ɵnov"](l,16).onSubmit()&&i),i}),null,null)),t["ɵdid"](12,16384,null,0,a.G,[],null,null),t["ɵdid"](13,540672,[["formDir",4]],0,a.l,[[8,null],[8,null]],{form:[0,"form"]},null),t["ɵprd"](2048,null,a.d,null,[a.l]),t["ɵdid"](15,16384,null,0,a.s,[[4,a.d]],null,null),t["ɵdid"](16,16384,null,0,o.d,[],{formGroup:[0,"formGroup"]},null),(l()(),t["ɵeld"](17,0,null,null,82,"div",[["class","modal-body"]],null,null,null,null,null)),(l()(),t["ɵeld"](18,0,null,null,14,"p",[],null,null,null,null,null)),(l()(),t["ɵeld"](19,0,null,null,13,null,null,null,null,null,null,null)),(l()(),t["ɵeld"](20,0,null,null,5,null,null,null,null,null,null,null)),t["ɵdid"](21,16384,null,0,s.NgSwitch,[],{ngSwitch:[0,"ngSwitch"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,R)),t["ɵdid"](23,278528,null,0,s.NgSwitchCase,[t.ViewContainerRef,t.TemplateRef,s.NgSwitch],{ngSwitchCase:[0,"ngSwitchCase"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,w)),t["ɵdid"](25,16384,null,0,s.NgSwitchDefault,[t.ViewContainerRef,t.TemplateRef,s.NgSwitch],null,null),(l()(),t["ɵted"](-1,null,[" the pool mirror peer attributes for pool "])),(l()(),t["ɵeld"](27,0,null,null,1,"kbd",[],null,null,null,null,null)),(l()(),t["ɵted"](28,null,["",""])),(l()(),t["ɵted"](-1,null,[" and click "])),(l()(),t["ɵeld"](30,0,null,null,1,"kbd",[],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Submit"])),(l()(),t["ɵted"](-1,null,["."])),(l()(),t["ɵeld"](33,0,null,null,17,"div",[["class","form-group"]],[[2,"has-error",null],[2,"has-success",null]],null,null,r.b,r.a)),t["ɵdid"](34,1163264,null,2,o.c,[t.ElementRef,o.g],null,null),t["ɵqud"](603979776,1,{FormControlNames:1}),t["ɵqud"](603979776,2,{messagesBlock:0}),(l()(),t["ɵeld"](37,0,null,0,1,"label",[["class","col-form-label required"],["for","clusterName"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Cluster Name"])),(l()(),t["ɵeld"](39,0,null,0,7,"input",[["autofocus",""],["class","form-control"],["formControlName","clusterName"],["id","clusterName"],["name","clusterName"],["placeholder","Name..."],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,41)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,41).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,41)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,41)._compositionEnd(e.target.value)&&i),i}),null,null)),t["ɵdid"](40,4210688,null,0,d.a,[t.ElementRef],{autofocus:[0,"autofocus"]},null),t["ɵdid"](41,16384,null,0,a.e,[t.Renderer2,t.ElementRef,[2,a.b]],null,null),t["ɵprd"](1024,null,a.p,(function(l){return[l]}),[a.e]),t["ɵdid"](43,671744,[[1,4]],0,a.j,[[3,a.d],[8,null],[8,null],[6,a.p],[2,a.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,a.q,null,[a.j]),t["ɵdid"](45,16384,null,0,a.r,[[4,a.q]],null,null),t["ɵdid"](46,16384,null,0,o.h,[[3,a.d],o.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵand"](16777216,null,0,1,null,I)),t["ɵdid"](48,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](16777216,null,0,1,null,k)),t["ɵdid"](50,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](51,0,null,null,16,"div",[["class","form-group"]],[[2,"has-error",null],[2,"has-success",null]],null,null,r.b,r.a)),t["ɵdid"](52,1163264,null,2,o.c,[t.ElementRef,o.g],null,null),t["ɵqud"](603979776,3,{FormControlNames:1}),t["ɵqud"](603979776,4,{messagesBlock:0}),(l()(),t["ɵeld"](55,0,null,0,1,"label",[["class","col-form-label required"],["for","clientID"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["CephX ID"])),(l()(),t["ɵeld"](57,0,null,0,6,"input",[["class","form-control"],["formControlName","clientID"],["id","clientID"],["name","clientID"],["placeholder","CephX ID..."],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,58)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,58).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,58)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,58)._compositionEnd(e.target.value)&&i),i}),null,null)),t["ɵdid"](58,16384,null,0,a.e,[t.Renderer2,t.ElementRef,[2,a.b]],null,null),t["ɵprd"](1024,null,a.p,(function(l){return[l]}),[a.e]),t["ɵdid"](60,671744,[[3,4]],0,a.j,[[3,a.d],[8,null],[8,null],[6,a.p],[2,a.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,a.q,null,[a.j]),t["ɵdid"](62,16384,null,0,a.r,[[4,a.q]],null,null),t["ɵdid"](63,16384,null,0,o.h,[[3,a.d],o.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵand"](16777216,null,0,1,null,E)),t["ɵdid"](65,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](16777216,null,0,1,null,N)),t["ɵdid"](67,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](68,0,null,null,15,"div",[["class","form-group"]],[[2,"has-error",null],[2,"has-success",null]],null,null,r.b,r.a)),t["ɵdid"](69,1163264,null,2,o.c,[t.ElementRef,o.g],null,null),t["ɵqud"](603979776,5,{FormControlNames:1}),t["ɵqud"](603979776,6,{messagesBlock:0}),(l()(),t["ɵeld"](72,0,null,0,2,"label",[["class","col-form-label"],["for","monAddr"]],null,null,null,null,null)),(l()(),t["ɵeld"](73,0,null,null,1,"span",[],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Monitor Addresses"])),(l()(),t["ɵeld"](75,0,null,0,6,"input",[["class","form-control"],["formControlName","monAddr"],["id","monAddr"],["name","monAddr"],["placeholder","Comma-delimited addresses..."],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,76)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,76).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,76)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,76)._compositionEnd(e.target.value)&&i),i}),null,null)),t["ɵdid"](76,16384,null,0,a.e,[t.Renderer2,t.ElementRef,[2,a.b]],null,null),t["ɵprd"](1024,null,a.p,(function(l){return[l]}),[a.e]),t["ɵdid"](78,671744,[[5,4]],0,a.j,[[3,a.d],[8,null],[8,null],[6,a.p],[2,a.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,a.q,null,[a.j]),t["ɵdid"](80,16384,null,0,a.r,[[4,a.q]],null,null),t["ɵdid"](81,16384,null,0,o.h,[[3,a.d],o.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵand"](16777216,null,0,1,null,F)),t["ɵdid"](83,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](84,0,null,null,15,"div",[["class","form-group"]],[[2,"has-error",null],[2,"has-success",null]],null,null,r.b,r.a)),t["ɵdid"](85,1163264,null,2,o.c,[t.ElementRef,o.g],null,null),t["ɵqud"](603979776,7,{FormControlNames:1}),t["ɵqud"](603979776,8,{messagesBlock:0}),(l()(),t["ɵeld"](88,0,null,0,2,"label",[["class","col-form-label"],["for","key"]],null,null,null,null,null)),(l()(),t["ɵeld"](89,0,null,null,1,"span",[],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["CephX Key"])),(l()(),t["ɵeld"](91,0,null,0,6,"input",[["class","form-control"],["formControlName","key"],["id","key"],["name","key"],["placeholder","Base64-encoded key..."],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,92)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,92).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,92)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,92)._compositionEnd(e.target.value)&&i),i}),null,null)),t["ɵdid"](92,16384,null,0,a.e,[t.Renderer2,t.ElementRef,[2,a.b]],null,null),t["ɵprd"](1024,null,a.p,(function(l){return[l]}),[a.e]),t["ɵdid"](94,671744,[[7,4]],0,a.j,[[3,a.d],[8,null],[8,null],[6,a.p],[2,a.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,a.q,null,[a.j]),t["ɵdid"](96,16384,null,0,a.r,[[4,a.q]],null,null),t["ɵdid"](97,16384,null,0,o.h,[[3,a.d],o.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵand"](16777216,null,0,1,null,T)),t["ɵdid"](99,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](100,0,null,null,6,"div",[["class","modal-footer"]],null,null,null,null,null)),(l()(),t["ɵeld"](101,0,null,null,5,"div",[["class","button-group text-right"]],null,null,null,null,null)),(l()(),t["ɵeld"](102,0,null,null,2,"cd-submit-button",[],null,[[null,"submitAction"]],(function(l,n,e){var t=!0;return"submitAction"===n&&(t=!1!==l.component.update()&&t),t}),c.b,c.a)),t["ɵdid"](103,114688,null,0,m.a,[t.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(l()(),t["ɵted"](-1,0,["Submit"])),(l()(),t["ɵeld"](105,0,null,null,1,"cd-back-button",[["name","Cancel"]],null,null,null,p.b,p.a)),t["ɵdid"](106,49152,null,0,h.a,[s.Location,g.b],{name:[0,"name"],back:[1,"back"]},null)],(function(l,n){var e=n.component;l(n,1,0,e.modalRef),l(n,4,0,e.mode),l(n,6,0,"edit"),l(n,13,0,e.editPeerForm),l(n,16,0,e.editPeerForm),l(n,21,0,e.mode),l(n,23,0,"edit"),l(n,34,0),l(n,40,0,""),l(n,43,0,"clusterName"),l(n,46,0,"clusterName"),l(n,48,0,e.editPeerForm.showError("clusterName",t["ɵnov"](n,13),"required")),l(n,50,0,e.editPeerForm.showError("clusterName",t["ɵnov"](n,13),"invalidClusterName")),l(n,52,0),l(n,60,0,"clientID"),l(n,63,0,"clientID"),l(n,65,0,e.editPeerForm.showError("clientID",t["ɵnov"](n,13),"required")),l(n,67,0,e.editPeerForm.showError("clientID",t["ɵnov"](n,13),"invalidClientID")),l(n,69,0),l(n,78,0,"monAddr"),l(n,81,0,"monAddr"),l(n,83,0,e.editPeerForm.showError("monAddr",t["ɵnov"](n,13),"invalidMonAddr")),l(n,85,0),l(n,94,0,"key"),l(n,97,0,"key"),l(n,99,0,e.editPeerForm.showError("key",t["ɵnov"](n,13),"invalidKey")),l(n,103,0,e.editPeerForm),l(n,106,0,"Cancel",e.modalRef.hide)}),(function(l,n){var e=n.component;l(n,11,0,t["ɵnov"](n,15).ngClassUntouched,t["ɵnov"](n,15).ngClassTouched,t["ɵnov"](n,15).ngClassPristine,t["ɵnov"](n,15).ngClassDirty,t["ɵnov"](n,15).ngClassValid,t["ɵnov"](n,15).ngClassInvalid,t["ɵnov"](n,15).ngClassPending),l(n,28,0,e.poolName),l(n,33,0,t["ɵnov"](n,34).hasErrors,t["ɵnov"](n,34).hasSuccess),l(n,39,0,t["ɵnov"](n,45).ngClassUntouched,t["ɵnov"](n,45).ngClassTouched,t["ɵnov"](n,45).ngClassPristine,t["ɵnov"](n,45).ngClassDirty,t["ɵnov"](n,45).ngClassValid,t["ɵnov"](n,45).ngClassInvalid,t["ɵnov"](n,45).ngClassPending,t["ɵnov"](n,46).validClass,t["ɵnov"](n,46).invalidClass),l(n,51,0,t["ɵnov"](n,52).hasErrors,t["ɵnov"](n,52).hasSuccess),l(n,57,0,t["ɵnov"](n,62).ngClassUntouched,t["ɵnov"](n,62).ngClassTouched,t["ɵnov"](n,62).ngClassPristine,t["ɵnov"](n,62).ngClassDirty,t["ɵnov"](n,62).ngClassValid,t["ɵnov"](n,62).ngClassInvalid,t["ɵnov"](n,62).ngClassPending,t["ɵnov"](n,63).validClass,t["ɵnov"](n,63).invalidClass),l(n,68,0,t["ɵnov"](n,69).hasErrors,t["ɵnov"](n,69).hasSuccess),l(n,75,0,t["ɵnov"](n,80).ngClassUntouched,t["ɵnov"](n,80).ngClassTouched,t["ɵnov"](n,80).ngClassPristine,t["ɵnov"](n,80).ngClassDirty,t["ɵnov"](n,80).ngClassValid,t["ɵnov"](n,80).ngClassInvalid,t["ɵnov"](n,80).ngClassPending,t["ɵnov"](n,81).validClass,t["ɵnov"](n,81).invalidClass),l(n,84,0,t["ɵnov"](n,85).hasErrors,t["ɵnov"](n,85).hasSuccess),l(n,91,0,t["ɵnov"](n,96).ngClassUntouched,t["ɵnov"](n,96).ngClassTouched,t["ɵnov"](n,96).ngClassPristine,t["ɵnov"](n,96).ngClassDirty,t["ɵnov"](n,96).ngClassValid,t["ɵnov"](n,96).ngClassInvalid,t["ɵnov"](n,96).ngClassPending,t["ɵnov"](n,97).validClass,t["ɵnov"](n,97).invalidClass)}))}function D(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"cd-pool-edit-peer-modal",[],null,null,null,V,S)),t["ɵdid"](1,114688,null,0,f.a,[v.a,b.a,C.a],null,null)],(function(l,n){l(n,1,0)}),null)}var P=t["ɵccf"]("cd-pool-edit-peer-modal",f.a,D,{},{},[])},WkyA:function(l,n,e){"use strict";e.d(n,"a",(function(){return t}));class t{constructor(){}}},WxU5:function(l,n,e){"use strict";e.d(n,"a",(function(){return i})),e("Ekvf"),e("F83c"),e("2EZI");var t=e("kvvV");e("aexS"),e("kn/O");class i{constructor(l,n,e,t,i,u){this.authStorageService=l,this.rbdService=n,this.modalRef=e,this.fb=t,this.poolService=i,this.taskWrapper=u,this.poolPermission=this.authStorageService.getPermissions().pool}createForm(){this.purgeForm=this.fb.group({poolName:""})}ngOnInit(){this.poolPermission.read&&this.poolService.list(["pool_name","application_metadata"]).then(l=>{this.pools=l.filter(l=>l.application_metadata.includes("rbd")).map(l=>l.pool_name)}),this.createForm()}purge(){const l=this.purgeForm.getValue("poolName")||"";this.taskWrapper.wrapTaskAroundCall({task:new t.a("rbd/trash/purge",{pool_name:l}),call:this.rbdService.purgeTrash(l)}).subscribe(void 0,()=>{this.purgeForm.setErrors({cdSubmitButton:!0})},()=>{this.modalRef.hide()})}}},XED3:function(l,n,e){"use strict";e.d(n,"a",(function(){return r}));var t=e("mrSG"),i=e("IheW"),u=e("8Y7J"),s=e("2Vo4"),a=e("xTzq"),o=e("pL04");let r=(()=>{let l=class{constructor(l,n){this.http=l,this.ngZone=n,this.summaryDataSource=new s.a(null),this.summaryData$=this.summaryDataSource.asObservable(),this.refreshAndSchedule()}refresh(){this.http.get("api/block/mirroring/summary").subscribe(l=>{this.summaryDataSource.next(l)})}refreshAndSchedule(){this.refresh(),this.ngZone.runOutsideAngular(()=>{setTimeout(()=>{this.ngZone.run(()=>{this.refreshAndSchedule()})},3e4)})}getCurrentSummary(){return this.summaryDataSource.getValue()}subscribeSummary(l,n){return this.summaryData$.subscribe(l,n)}getPool(l){return this.http.get(`api/block/mirroring/pool/${l}`)}updatePool(l,n){return this.http.put(`api/block/mirroring/pool/${l}`,n,{observe:"response"})}getSiteName(){return this.http.get("api/block/mirroring/site_name")}setSiteName(l){return this.http.put("api/block/mirroring/site_name",{site_name:l},{observe:"response"})}createBootstrapToken(l){return this.http.post(`api/block/mirroring/pool/${l}/bootstrap/token`,{})}importBootstrapToken(l,n,e){return this.http.post(`api/block/mirroring/pool/${l}/bootstrap/peer`,{direction:n,token:e},{observe:"response"})}getPeer(l,n){return this.http.get(`api/block/mirroring/pool/${l}/peer/${n}`)}addPeer(l,n){return this.http.post(`api/block/mirroring/pool/${l}/peer`,n,{observe:"response"})}updatePeer(l,n,e){return this.http.put(`api/block/mirroring/pool/${l}/peer/${n}`,e,{observe:"response"})}deletePeer(l,n){return this.http.delete(`api/block/mirroring/pool/${l}/peer/${n}`,{observe:"response"})}};return l.ngInjectableDef=u["ɵɵdefineInjectable"]({factory:function(){return new l(u["ɵɵinject"](i.c),u["ɵɵinject"](u.NgZone))},token:l,providedIn:o.a}),t.__decorate([t.__param(0,a.b),t.__metadata("design:type",Function),t.__metadata("design:paramtypes",[String]),t.__metadata("design:returntype",void 0)],l.prototype,"setSiteName",null),t.__decorate([t.__param(1,a.b),t.__param(2,a.b),t.__metadata("design:type",Function),t.__metadata("design:paramtypes",[String,String,String]),t.__metadata("design:returntype",void 0)],l.prototype,"importBootstrapToken",null),l=t.__decorate([a.a,t.__metadata("design:paramtypes",[i.c,u.NgZone])],l),l})()},Z4cD:function(l,n,e){"use strict";e.d(n,"a",(function(){return s}));var t=e("s7LF"),i=e("LvDl"),u=(e("my5R"),e("QFaf"));class s{constructor(l,n){this.modalRef=l,this.iscsiService=n}ngOnInit(){const l={backstore:new t.i(this.imagesSettings[this.image].backstore),lun:new t.i(this.imagesSettings[this.image].lun),wwn:new t.i(this.imagesSettings[this.image].wwn)};i.forEach(this.backstores,n=>{const e=this.imagesSettings[this.image][n]||{};i.forIn(this.disk_default_controls[n],(n,i)=>{l[i]=new t.i(e[i])})}),this.settingsForm=new u.a(l)}getDiskControlLimits(l,n){return this.disk_controls_limits?this.disk_controls_limits[l][n]:{type:"int"}}save(){const l=this.settingsForm.controls.backstore.value,n=this.settingsForm.controls.lun.value,e=this.settingsForm.controls.wwn.value,t={};i.forIn(this.settingsForm.controls,(n,e)=>{""!==n.value&&null!==n.value&&e in this.disk_default_controls[this.settingsForm.value.backstore]&&(t[e]=n.value,i.forEach(this.backstores,t=>{t!==l&&e in(this.imagesSettings[this.image][t]||{})&&(this.imagesSettings[this.image][t][e]=n.value)}))}),this.imagesSettings[this.image].backstore=l,this.imagesSettings[this.image].lun=n,this.imagesSettings[this.image].wwn=e,this.imagesSettings[this.image][l]=t,this.imagesSettings=Object.assign({},this.imagesSettings),this.control.updateValueAndValidity({emitEvent:!1}),this.modalRef.hide()}}},Z5tW:function(l,n,e){"use strict";e.d(n,"a",(function(){return d}));var t=e("LvDl"),i=e("cp0P"),u=(e("Ekvf"),e("F83c"),e("0+/T")),s=(e("sne2"),e("oxzT")),a=e("mtw6"),o=e("vCyI"),r=(e("aexS"),e("9nlD"),e("daK0"));class d{constructor(l,n,e,i,u,a,r){this.authStorageService=l,this.rbdService=n,this.poolService=e,this.modalService=i,this.notificationService=u,this.i18n=a,this.actionLabels=r,this.selection=new o.a,this.permission=this.authStorageService.getPermissions().rbdImage,this.tableActions=[{permission:"create",icon:s.a.add,click:()=>this.createModal(),name:this.actionLabels.CREATE},{permission:"delete",icon:s.a.destroy,click:()=>this.deleteModal(),name:this.actionLabels.DELETE,disable:()=>!this.selection.first()||!t.isUndefined(this.getDeleteDisableDesc()),disableDesc:()=>this.getDeleteDisableDesc()}]}ngOnInit(){this.columns=[{name:this.i18n("Namespace"),prop:"namespace",flexGrow:1},{name:this.i18n("Pool"),prop:"pool",flexGrow:1},{name:this.i18n("Total images"),prop:"num_images",flexGrow:1}],this.refresh()}refresh(){this.poolService.list(["pool_name","type","application_metadata"]).then(l=>{l=l.filter(l=>this.rbdService.isRBDPool(l)&&"replicated"===l.type);const n=[];l.forEach(l=>{n.push(this.rbdService.listNamespaces(l.pool_name))}),n.length>0?Object(i.a)(n).subscribe(n=>{const e=[];for(let t=0;t<n.length;t++){const i=l[t].pool_name;n[t].forEach(l=>{e.push({id:`${i}/${l.namespace}`,pool:i,namespace:l.namespace,num_images:l.num_images})})}this.namespaces=e}):this.namespaces=[]})}updateSelection(l){this.selection=l}createModal(){this.modalRef=this.modalService.show(r.a),this.modalRef.content.onSubmit.subscribe(()=>{this.refresh()})}deleteModal(){const l=this.selection.first().pool,n=this.selection.first().namespace;this.modalRef=this.modalService.show(u.a,{initialState:{itemDescription:"Namespace",itemNames:[`${l}/${n}`],submitAction:()=>this.rbdService.deleteNamespace(l,n).subscribe(()=>{this.notificationService.show(a.a.success,this.i18n("Deleted namespace '{{pool}}/{{namespace}}'",{pool:l,namespace:n})),this.modalRef.hide(),this.refresh()},()=>{this.modalRef.content.stopLoadingSpinner()})}})}getDeleteDisableDesc(){const l=this.selection.first();if(l&&l.num_images>0)return this.i18n("Namespace contains images")}}},a6qe:function(l,n,e){"use strict";e.d(n,"a",(function(){return s}));var t=e("s7LF"),i=e("LvDl"),u=(e("my5R"),e("QFaf"));class s{constructor(l,n){this.modalRef=l,this.iscsiService=n}ngOnInit(){const l={};i.forIn(this.target_default_controls,(n,e)=>{l[e]=new t.i(this.target_controls.value[e])}),this.settingsForm=new u.a(l)}save(){const l={};i.forIn(this.settingsForm.controls,(n,e)=>{""!==n.value&&null!==n.value&&(l[e]=n.value)}),this.target_controls.setValue(l),this.modalRef.hide()}getTargetControlLimits(l){return this.target_controls_limits?this.target_controls_limits[l]:["Yes","No"].includes(this.target_default_controls[l])?{type:"bool"}:{type:"int"}}}},aAWM:function(l,n,e){"use strict";e("uIqm");var t=e("PhyI");class i{transform(l){return{0:"global",1:"pool",2:"image"}[l]}}e("aXbf"),e("o8EM"),e.d(n,"a",(function(){return u}));class u{constructor(l,n,e){this.formatterService=l,this.rbdConfigurationService=n,this.i18n=e,this.sourceField=t.a,this.typeField=t.b}ngOnInit(){this.poolConfigurationColumns=[{prop:"displayName",name:this.i18n("Name")},{prop:"description",name:this.i18n("Description")},{prop:"name",name:this.i18n("Key")},{prop:"source",name:this.i18n("Source"),cellTemplate:this.configurationSourceTpl,pipe:new i},{prop:"value",name:this.i18n("Value"),cellTemplate:this.configurationValueTpl}]}ngOnChanges(){this.data&&(this.data=this.data.filter(l=>this.rbdConfigurationService.getOptionFields().map(l=>l.name).includes(l.name)))}}},aa9H:function(l,n,e){"use strict";var t=e("s7LF"),i=(e("XED3"),e("QFaf")),u=e("kvvV");e("kn/O");class s{}e.d(n,"a",(function(){return a}));class a{constructor(l,n,e,t){this.modalRef=l,this.i18n=n,this.rbdMirroringService=e,this.taskWrapper=t,this.bsConfig={containerClass:"theme-default"},this.peerExists=!1,this.mirrorModes=[{id:"disabled",name:this.i18n("Disabled")},{id:"pool",name:this.i18n("Pool")},{id:"image",name:this.i18n("Image")}],this.createForm()}createForm(){this.editModeForm=new i.a({mirrorMode:new t.i("",{validators:[t.B.required,this.validateMode.bind(this)]})})}ngOnInit(){this.pattern=`${this.poolName}`,this.rbdMirroringService.getPool(this.poolName).subscribe(l=>{this.setResponse(l)}),this.subs=this.rbdMirroringService.subscribeSummary(l=>{if(this.peerExists=!1,!l)return;const n=l.content_data.pools.find(l=>this.poolName===l.name);this.peerExists=n&&n.peer_uuids.length})}ngOnDestroy(){this.subs.unsubscribe()}validateMode(l){return"disabled"===l.value&&this.peerExists?{cannotDisable:{value:l.value}}:null}setResponse(l){this.editModeForm.get("mirrorMode").setValue(l.mirror_mode)}update(){const l=new s;l.mirror_mode=this.editModeForm.getValue("mirrorMode"),this.taskWrapper.wrapTaskAroundCall({task:new u.a("rbd/mirroring/pool/edit",{pool_name:this.poolName}),call:this.rbdMirroringService.updatePool(this.poolName,l)}).subscribe(void 0,()=>this.editModeForm.setErrors({cdSubmitButton:!0}),()=>{this.rbdMirroringService.refresh(),this.modalRef.hide()})}}},bUo2:function(l,n,e){"use strict";var t=e("8Y7J"),i=e("gp3X"),u=e("sb0X"),s=e("EEJc"),a=e("ajRT"),o=e("s7LF"),r=e("+gVj"),d=e("mXUL"),c=e("SVse"),m=e("D4zM"),p=e("OcYo"),h=e("EApP"),g=e("KVJa"),f=e("Z21x"),v=e("sne2"),b=e("Sofw"),C=e("aexS"),S=e("LqlI"),_=e("my5R"),y=e("9nlD"),R=e("GiVz");e.d(n,"a",(function(){return B}));var w=t["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function I(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["This field is required."]))],null,null)}function k(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Usernames must have a length of 8 to 64 characters and can only contain letters, '.', '@', '-', '_' or ':'."]))],null,null)}function E(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["This field is required."]))],null,null)}function N(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Passwords must have a length of 12 to 16 characters and can only contain letters, '@', '-', '_' or '/'."]))],null,null)}function F(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["This field is required."]))],null,null)}function T(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Usernames must have a length of 8 to 64 characters and can only contain letters, '.', '@', '-', '_' or ':'."]))],null,null)}function V(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["This field is required."]))],null,null)}function D(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Passwords must have a length of 12 to 16 characters and can only contain letters, '@', '-', '_' or '/'."]))],null,null)}function P(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,2,"cd-submit-button",[],null,[[null,"submitAction"]],(function(l,n,e){var t=!0;return"submitAction"===n&&(t=!1!==l.component.submitAction()&&t),t}),i.b,i.a)),t["ɵdid"](1,114688,null,0,u.a,[t.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(l()(),t["ɵted"](-1,0,["Submit"]))],(function(l,n){l(n,1,0,n.component.discoveryForm)}),null)}function x(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,102,"cd-modal",[],null,null,null,s.c,s.b)),t["ɵdid"](1,49152,null,0,a.a,[],{modalRef:[0,"modalRef"]},null),(l()(),t["ɵeld"](2,0,null,0,1,null,null,null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Discovery Authentication"])),(l()(),t["ɵeld"](4,0,null,1,98,null,null,null,null,null,null,null)),(l()(),t["ɵeld"](5,0,null,null,97,"form",[["name","discoveryForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,e){var i=!0;return"submit"===n&&(i=!1!==t["ɵnov"](l,7).onSubmit(e)&&i),"reset"===n&&(i=!1!==t["ɵnov"](l,7).onReset()&&i),"submit"===n&&(i=!1!==t["ɵnov"](l,10).onSubmit()&&i),i}),null,null)),t["ɵdid"](6,16384,null,0,o.G,[],null,null),t["ɵdid"](7,540672,[["formDir",4]],0,o.l,[[8,null],[8,null]],{form:[0,"form"]},null),t["ɵprd"](2048,null,o.d,null,[o.l]),t["ɵdid"](9,16384,null,0,o.s,[[4,o.d]],null,null),t["ɵdid"](10,16384,null,0,r.d,[],{formGroup:[0,"formGroup"]},null),(l()(),t["ɵeld"](11,0,null,null,85,"div",[["class","modal-body"]],null,null,null,null,null)),(l()(),t["ɵeld"](12,0,null,null,17,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,d.b,d.a)),t["ɵdid"](13,1163264,null,2,r.c,[t.ElementRef,r.g],null,null),t["ɵqud"](603979776,1,{FormControlNames:1}),t["ɵqud"](603979776,2,{messagesBlock:0}),(l()(),t["ɵeld"](16,0,null,0,1,"label",[["class","cd-col-form-label"],["for","user"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["User"])),(l()(),t["ɵeld"](18,0,null,0,11,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),t["ɵeld"](19,0,null,null,6,"input",[["class","form-control"],["formControlName","user"],["id","user"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,20)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,20).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,20)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,20)._compositionEnd(e.target.value)&&i),i}),null,null)),t["ɵdid"](20,16384,null,0,o.e,[t.Renderer2,t.ElementRef,[2,o.b]],null,null),t["ɵprd"](1024,null,o.p,(function(l){return[l]}),[o.e]),t["ɵdid"](22,671744,[[1,4]],0,o.j,[[3,o.d],[8,null],[8,null],[6,o.p],[2,o.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,o.q,null,[o.j]),t["ɵdid"](24,16384,null,0,o.r,[[4,o.q]],null,null),t["ɵdid"](25,16384,null,0,r.h,[[3,o.d],r.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,I)),t["ɵdid"](27,16384,null,0,c.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,k)),t["ɵdid"](29,16384,null,0,c.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](30,0,null,null,23,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,d.b,d.a)),t["ɵdid"](31,1163264,null,2,r.c,[t.ElementRef,r.g],null,null),t["ɵqud"](603979776,3,{FormControlNames:1}),t["ɵqud"](603979776,4,{messagesBlock:0}),(l()(),t["ɵeld"](34,0,null,0,1,"label",[["class","cd-col-form-label"],["for","password"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Password"])),(l()(),t["ɵeld"](36,0,null,0,17,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),t["ɵeld"](37,0,null,null,12,"div",[["class","input-group"]],null,null,null,null,null)),(l()(),t["ɵeld"](38,0,null,null,6,"input",[["class","form-control"],["formControlName","password"],["id","password"],["type","password"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,39)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,39).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,39)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,39)._compositionEnd(e.target.value)&&i),i}),null,null)),t["ɵdid"](39,16384,null,0,o.e,[t.Renderer2,t.ElementRef,[2,o.b]],null,null),t["ɵprd"](1024,null,o.p,(function(l){return[l]}),[o.e]),t["ɵdid"](41,671744,[[3,4]],0,o.j,[[3,o.d],[8,null],[8,null],[6,o.p],[2,o.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,o.q,null,[o.j]),t["ɵdid"](43,16384,null,0,o.r,[[4,o.q]],null,null),t["ɵdid"](44,16384,null,0,r.h,[[3,o.d],r.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵeld"](45,0,null,null,4,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),t["ɵeld"](46,0,null,null,1,"button",[["cdPasswordButton","password"],["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,e){var i=!0;return"click"===n&&(i=!1!==t["ɵnov"](l,47).onClick()&&i),i}),null,null)),t["ɵdid"](47,81920,null,0,m.a,[t.ElementRef,t.Renderer2],{cdPasswordButton:[0,"cdPasswordButton"]},null),(l()(),t["ɵeld"](48,0,null,null,1,"button",[["cdCopy2ClipboardButton","password"],["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,e){var i=!0;return"click"===n&&(i=!1!==t["ɵnov"](l,49).onClick()&&i),i}),null,null)),t["ɵdid"](49,81920,null,0,p.a,[t.ElementRef,t.Renderer2,h.j],{cdCopy2ClipboardButton:[0,"cdCopy2ClipboardButton"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,E)),t["ɵdid"](51,16384,null,0,c.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,N)),t["ɵdid"](53,16384,null,0,c.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](54,0,null,null,18,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,d.b,d.a)),t["ɵdid"](55,1163264,null,2,r.c,[t.ElementRef,r.g],null,null),t["ɵqud"](603979776,5,{FormControlNames:1}),t["ɵqud"](603979776,6,{messagesBlock:0}),(l()(),t["ɵeld"](58,0,null,0,2,"label",[["class","cd-col-form-label"],["for","mutual_user"]],null,null,null,null,null)),(l()(),t["ɵeld"](59,0,null,null,1,null,null,null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Mutual User"])),(l()(),t["ɵeld"](61,0,null,0,11,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),t["ɵeld"](62,0,null,null,6,"input",[["class","form-control"],["formControlName","mutual_user"],["id","mutual_user"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,63)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,63).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,63)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,63)._compositionEnd(e.target.value)&&i),i}),null,null)),t["ɵdid"](63,16384,null,0,o.e,[t.Renderer2,t.ElementRef,[2,o.b]],null,null),t["ɵprd"](1024,null,o.p,(function(l){return[l]}),[o.e]),t["ɵdid"](65,671744,[[5,4]],0,o.j,[[3,o.d],[8,null],[8,null],[6,o.p],[2,o.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,o.q,null,[o.j]),t["ɵdid"](67,16384,null,0,o.r,[[4,o.q]],null,null),t["ɵdid"](68,16384,null,0,r.h,[[3,o.d],r.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,F)),t["ɵdid"](70,16384,null,0,c.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,T)),t["ɵdid"](72,16384,null,0,c.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](73,0,null,null,23,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,d.b,d.a)),t["ɵdid"](74,1163264,null,2,r.c,[t.ElementRef,r.g],null,null),t["ɵqud"](603979776,7,{FormControlNames:1}),t["ɵqud"](603979776,8,{messagesBlock:0}),(l()(),t["ɵeld"](77,0,null,0,1,"label",[["class","cd-col-form-label"],["for","mutual_password"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Mutual Password"])),(l()(),t["ɵeld"](79,0,null,0,17,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),t["ɵeld"](80,0,null,null,12,"div",[["class","input-group"]],null,null,null,null,null)),(l()(),t["ɵeld"](81,0,null,null,6,"input",[["class","form-control"],["formControlName","mutual_password"],["id","mutual_password"],["type","password"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,82)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,82).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,82)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,82)._compositionEnd(e.target.value)&&i),i}),null,null)),t["ɵdid"](82,16384,null,0,o.e,[t.Renderer2,t.ElementRef,[2,o.b]],null,null),t["ɵprd"](1024,null,o.p,(function(l){return[l]}),[o.e]),t["ɵdid"](84,671744,[[7,4]],0,o.j,[[3,o.d],[8,null],[8,null],[6,o.p],[2,o.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,o.q,null,[o.j]),t["ɵdid"](86,16384,null,0,o.r,[[4,o.q]],null,null),t["ɵdid"](87,16384,null,0,r.h,[[3,o.d],r.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵeld"](88,0,null,null,4,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),t["ɵeld"](89,0,null,null,1,"button",[["cdPasswordButton","mutual_password"],["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,e){var i=!0;return"click"===n&&(i=!1!==t["ɵnov"](l,90).onClick()&&i),i}),null,null)),t["ɵdid"](90,81920,null,0,m.a,[t.ElementRef,t.Renderer2],{cdPasswordButton:[0,"cdPasswordButton"]},null),(l()(),t["ɵeld"](91,0,null,null,1,"button",[["cdCopy2ClipboardButton","mutual_password"],["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,e){var i=!0;return"click"===n&&(i=!1!==t["ɵnov"](l,92).onClick()&&i),i}),null,null)),t["ɵdid"](92,81920,null,0,p.a,[t.ElementRef,t.Renderer2,h.j],{cdCopy2ClipboardButton:[0,"cdCopy2ClipboardButton"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,V)),t["ɵdid"](94,16384,null,0,c.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,D)),t["ɵdid"](96,16384,null,0,c.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](97,0,null,null,5,"div",[["class","modal-footer"]],null,null,null,null,null)),(l()(),t["ɵeld"](98,0,null,null,4,"div",[["class","button-group text-right"]],null,null,null,null,null)),(l()(),t["ɵand"](16777216,null,null,1,null,P)),t["ɵdid"](100,16384,null,0,c.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](101,0,null,null,1,"cd-back-button",[["name","Cancel"]],null,null,null,g.b,g.a)),t["ɵdid"](102,49152,null,0,f.a,[c.Location,v.b],{name:[0,"name"],back:[1,"back"]},null)],(function(l,n){var e=n.component;l(n,1,0,e.bsModalRef),l(n,7,0,e.discoveryForm),l(n,10,0,e.discoveryForm),l(n,13,0),l(n,22,0,"user"),l(n,25,0,"user"),l(n,27,0,e.discoveryForm.showError("user",t["ɵnov"](n,7),"required")),l(n,29,0,e.discoveryForm.showError("user",t["ɵnov"](n,7),"pattern")),l(n,31,0),l(n,41,0,"password"),l(n,44,0,"password"),l(n,47,0,"password"),l(n,49,0,"password"),l(n,51,0,e.discoveryForm.showError("password",t["ɵnov"](n,7),"required")),l(n,53,0,e.discoveryForm.showError("password",t["ɵnov"](n,7),"pattern")),l(n,55,0),l(n,65,0,"mutual_user"),l(n,68,0,"mutual_user"),l(n,70,0,e.discoveryForm.showError("mutual_user",t["ɵnov"](n,7),"required")),l(n,72,0,e.discoveryForm.showError("mutual_user",t["ɵnov"](n,7),"pattern")),l(n,74,0),l(n,84,0,"mutual_password"),l(n,87,0,"mutual_password"),l(n,90,0,"mutual_password"),l(n,92,0,"mutual_password"),l(n,94,0,e.discoveryForm.showError("mutual_password",t["ɵnov"](n,7),"required")),l(n,96,0,e.discoveryForm.showError("mutual_password",t["ɵnov"](n,7),"pattern")),l(n,100,0,e.hasPermission),l(n,102,0,"Cancel",e.bsModalRef.hide)}),(function(l,n){l(n,5,0,t["ɵnov"](n,9).ngClassUntouched,t["ɵnov"](n,9).ngClassTouched,t["ɵnov"](n,9).ngClassPristine,t["ɵnov"](n,9).ngClassDirty,t["ɵnov"](n,9).ngClassValid,t["ɵnov"](n,9).ngClassInvalid,t["ɵnov"](n,9).ngClassPending),l(n,12,0,t["ɵnov"](n,13).hasErrors,t["ɵnov"](n,13).hasSuccess),l(n,19,0,t["ɵnov"](n,24).ngClassUntouched,t["ɵnov"](n,24).ngClassTouched,t["ɵnov"](n,24).ngClassPristine,t["ɵnov"](n,24).ngClassDirty,t["ɵnov"](n,24).ngClassValid,t["ɵnov"](n,24).ngClassInvalid,t["ɵnov"](n,24).ngClassPending,t["ɵnov"](n,25).validClass,t["ɵnov"](n,25).invalidClass),l(n,30,0,t["ɵnov"](n,31).hasErrors,t["ɵnov"](n,31).hasSuccess),l(n,38,0,t["ɵnov"](n,43).ngClassUntouched,t["ɵnov"](n,43).ngClassTouched,t["ɵnov"](n,43).ngClassPristine,t["ɵnov"](n,43).ngClassDirty,t["ɵnov"](n,43).ngClassValid,t["ɵnov"](n,43).ngClassInvalid,t["ɵnov"](n,43).ngClassPending,t["ɵnov"](n,44).validClass,t["ɵnov"](n,44).invalidClass),l(n,54,0,t["ɵnov"](n,55).hasErrors,t["ɵnov"](n,55).hasSuccess),l(n,62,0,t["ɵnov"](n,67).ngClassUntouched,t["ɵnov"](n,67).ngClassTouched,t["ɵnov"](n,67).ngClassPristine,t["ɵnov"](n,67).ngClassDirty,t["ɵnov"](n,67).ngClassValid,t["ɵnov"](n,67).ngClassInvalid,t["ɵnov"](n,67).ngClassPending,t["ɵnov"](n,68).validClass,t["ɵnov"](n,68).invalidClass),l(n,73,0,t["ɵnov"](n,74).hasErrors,t["ɵnov"](n,74).hasSuccess),l(n,81,0,t["ɵnov"](n,86).ngClassUntouched,t["ɵnov"](n,86).ngClassTouched,t["ɵnov"](n,86).ngClassPristine,t["ɵnov"](n,86).ngClassDirty,t["ɵnov"](n,86).ngClassValid,t["ɵnov"](n,86).ngClassInvalid,t["ɵnov"](n,86).ngClassPending,t["ɵnov"](n,87).validClass,t["ɵnov"](n,87).invalidClass)}))}function q(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"cd-iscsi-target-discovery-modal",[],null,null,null,x,w)),t["ɵdid"](1,114688,null,0,b.a,[C.a,S.a,_.a,y.a,R.a],null,null)],(function(l,n){l(n,1,0)}),null)}var B=t["ɵccf"]("cd-iscsi-target-discovery-modal",b.a,q,{},{},[])},chpi:function(l,n,e){"use strict";e.d(n,"a",(function(){return h}));var t=e("LvDl"),i=e("wd/R"),u=(e("F83c"),e("0+/T")),s=(e("sne2"),e("uIqm"),e("x38r")),a=e("oxzT"),o=e("yJti"),r=e("vCyI"),d=e("kvvV"),c=e("jVDg"),m=(e("a0VL"),e("aexS"),e("VTlA"),e("kn/O"),e("WxU5")),p=e("2GqK");class h{constructor(l,n,e,t,i,u,s,o){this.authStorageService=l,this.rbdService=n,this.modalService=e,this.cdDatePipe=t,this.taskListService=i,this.taskWrapper=u,this.i18n=s,this.actionLabels=o,this.icons=a.a,this.executingTasks=[],this.selection=new r.a,this.disablePurgeBtn=!0,this.permission=this.authStorageService.getPermissions().rbdImage,this.tableActions=[{permission:"update",icon:a.a.undo,click:()=>this.restoreModal(),name:this.actionLabels.RESTORE},{permission:"delete",icon:a.a.destroy,click:()=>this.deleteModal(),name:this.actionLabels.DELETE}]}ngOnInit(){this.columns=[{name:this.i18n("ID"),prop:"id",flexGrow:1,cellTransformation:s.a.executing},{name:this.i18n("Name"),prop:"name",flexGrow:1},{name:this.i18n("Pool"),prop:"pool_name",flexGrow:1},{name:this.i18n("Namespace"),prop:"namespace",flexGrow:1},{name:this.i18n("Status"),prop:"deferment_end_time",flexGrow:1,cellTemplate:this.expiresTpl},{name:this.i18n("Deleted At"),prop:"deletion_time",flexGrow:1,pipe:this.cdDatePipe}],this.taskListService.init(()=>this.rbdService.listTrash(),l=>this.prepareResponse(l),l=>this.images=l,()=>this.onFetchError(),l=>["rbd/trash/remove","rbd/trash/restore"].includes(l.name),(l,n)=>new c.a(l.pool_name,l.namespace,l.id).toString()===n.metadata.image_id_spec,void 0)}prepareResponse(l){let n=[];const e={};l.forEach(l=>{t.isUndefined(e[l.status])&&(e[l.status]=[]),e[l.status].push(l.pool_name),n=n.concat(l.value),this.disablePurgeBtn=!n.length});const u=[];return t.forEach(e,(l,n)=>{u.push({status:parseInt(n,10),statusFor:(l.length>1?"pools ":"pool ")+"<strong>"+l.join("</strong>, <strong>")+"</strong>"})}),this.viewCacheStatusList=u,n.forEach(l=>{l.cdIsExpired=i().isAfter(l.deferment_end_time)}),n}onFetchError(){this.table.reset(),this.viewCacheStatusList=[{status:o.a.ValueException}]}updateSelection(l){this.selection=l}restoreModal(){const l={poolName:this.selection.first().pool_name,namespace:this.selection.first().namespace,imageName:this.selection.first().name,imageId:this.selection.first().id};this.modalRef=this.modalService.show(p.a,{initialState:l})}deleteModal(){const l=this.selection.first().pool_name,n=this.selection.first().namespace,e=this.selection.first().id,t=this.selection.first().deferment_end_time,i=new c.a(l,n,e);this.modalRef=this.modalService.show(u.a,{initialState:{itemDescription:"RBD",itemNames:[i],bodyTemplate:this.deleteTpl,bodyContext:{$implicit:t},submitActionObservable:()=>this.taskWrapper.wrapTaskAroundCall({task:new d.a("rbd/trash/remove",{image_id_spec:i.toString()}),call:this.rbdService.removeTrash(i,!0)})}})}isExpired(l){return i().isAfter(l)}purgeModal(){this.modalService.show(m.a)}}},cxJu:function(l,n,e){"use strict";e.d(n,"a",(function(){return o})),e("XED3");var t=e("oxzT"),i=e("vCyI"),u=(e("aexS"),e("SuaG")),s=e("+26A"),a=e("puGn");class o{constructor(l,n,e,u){this.authStorageService=l,this.rbdMirroringService=n,this.modalService=e,this.i18n=u,this.selection=new i.a,this.peersExist=!0,this.permission=this.authStorageService.getPermissions().rbdMirroring;const s={permission:"update",icon:t.a.edit,click:()=>this.editSiteNameModal(),name:this.i18n("Edit Site Name"),canBePrimary:()=>!0,disable:()=>!1},a={permission:"update",icon:t.a.upload,click:()=>this.createBootstrapModal(),name:this.i18n("Create Bootstrap Token"),disable:()=>!1},o={permission:"update",icon:t.a.download,click:()=>this.importBootstrapModal(),name:this.i18n("Import Bootstrap Token"),disable:()=>this.peersExist};this.tableActions=[s,a,o]}ngOnInit(){this.subs=this.rbdMirroringService.subscribeSummary(l=>{l&&(this.status=l.content_data.status,this.siteName=l.site_name,this.peersExist=!!l.content_data.pools.find(l=>l.peer_uuids.length>0))})}ngOnDestroy(){this.subs.unsubscribe()}editSiteNameModal(){this.modalRef=this.modalService.show(a.a,{initialState:{siteName:this.siteName}})}createBootstrapModal(){this.modalRef=this.modalService.show(u.a,{initialState:{siteName:this.siteName}})}importBootstrapModal(){this.modalRef=this.modalService.show(s.a,{initialState:{siteName:this.siteName}})}}},daK0:function(l,n,e){"use strict";e.d(n,"a",(function(){return o}));var t=e("s7LF"),i=e("XNiG"),u=(e("Ekvf"),e("F83c"),e("mtw6")),s=e("QFaf"),a=e("kvvV");e("aexS"),e("9nlD");class o{constructor(l,n,e,t,i,u){this.modalRef=l,this.authStorageService=n,this.notificationService=e,this.poolService=t,this.rbdService=i,this.i18n=u,this.pools=null,this.editing=!1,this.poolPermission=this.authStorageService.getPermissions().pool,this.createForm()}createForm(){this.namespaceForm=new s.a({pool:new t.i(""),namespace:new t.i("")},this.validator(),this.asyncValidator())}validator(){return l=>{const n=l.get("pool"),e=l.get("namespace");let t=null;n.value||(t={required:!0}),n.setErrors(t);let i=null;return e.value||(i={required:!0}),e.setErrors(i),null}}asyncValidator(){return l=>new Promise(n=>{const e=l.get("pool"),t=l.get("namespace");this.rbdService.listNamespaces(e.value).subscribe(l=>{if(l.some(l=>l.namespace===t.value)){const l={namespaceExists:!0};t.setErrors(l),n(l)}else n(null)})})}ngOnInit(){this.onSubmit=new i.a,this.poolPermission.read&&this.poolService.list(["pool_name","type","application_metadata"]).then(l=>{const n=[];for(const e of l)this.rbdService.isRBDPool(e)&&"replicated"===e.type&&n.push(e);if(this.pools=n,1===this.pools.length){const l=this.pools[0].pool_name;this.namespaceForm.get("pool").setValue(l)}})}submit(){const l=this.namespaceForm.getValue("pool"),n=this.namespaceForm.getValue("namespace"),e=new a.a;e.name="rbd/namespace/create",e.metadata={pool:l,namespace:n},this.rbdService.createNamespace(l,n).toPromise().then(()=>{this.notificationService.show(u.a.success,this.i18n("Created namespace '{{pool}}/{{namespace}}'",{pool:l,namespace:n})),this.modalRef.hide(),this.onSubmit.next()}).catch(()=>{this.namespaceForm.setErrors({cdSubmitButton:!0})})}}},"e/kN":function(l,n,e){"use strict";e.d(n,"a",(function(){return d}));var t=e("LvDl"),i=(e("my5R"),e("0+/T")),u=(e("sne2"),e("uIqm"),e("x38r")),s=e("oxzT"),a=e("vCyI"),o=e("kvvV"),r=(e("+0ag"),e("G1/K"),e("aexS"),e("mSOc"),e("VTlA"),e("kn/O"),e("Sofw"));class d{constructor(l,n,e,i,u,o,r,d,c,m){this.authStorageService=l,this.i18n=n,this.iscsiService=e,this.taskListService=i,this.cephReleaseNamePipe=u,this.notAvailablePipe=o,this.summaryservice=r,this.modalService=d,this.taskWrapper=c,this.actionLabels=m,this.available=void 0,this.selection=new a.a,this.targets=[],this.icons=s.a,this.builders={"iscsi/target/create":l=>({target_iqn:l.target_iqn})},this.permission=this.authStorageService.getPermissions().iscsi,this.tableActions=[{permission:"create",icon:s.a.add,routerLink:()=>"/block/iscsi/targets/create",name:this.actionLabels.CREATE},{permission:"update",icon:s.a.edit,routerLink:()=>`/block/iscsi/targets/edit/${this.selection.first().target_iqn}`,name:this.actionLabels.EDIT,disable:()=>!this.selection.first()||!t.isUndefined(this.getDeleteDisableDesc()),disableDesc:()=>this.getEditDisableDesc()},{permission:"delete",icon:s.a.destroy,click:()=>this.deleteIscsiTargetModal(),name:this.actionLabels.DELETE,disable:()=>!this.selection.first()||!t.isUndefined(this.getDeleteDisableDesc()),disableDesc:()=>this.getDeleteDisableDesc()}]}ngOnInit(){this.columns=[{name:this.i18n("Target"),prop:"target_iqn",flexGrow:2,cellTransformation:u.a.executing},{name:this.i18n("Portals"),prop:"cdPortals",flexGrow:2},{name:this.i18n("Images"),prop:"cdImages",flexGrow:2},{name:this.i18n("# Sessions"),prop:"info.num_sessions",pipe:this.notAvailablePipe,flexGrow:1}],this.iscsiService.status().subscribe(l=>{if(this.available=l.available,l.available)this.iscsiService.version().subscribe(l=>{this.cephIscsiConfigVersion=l.ceph_iscsi_config_version,this.taskListService.init(()=>this.iscsiService.listTargets(),l=>this.prepareResponse(l),l=>this.targets=l,()=>this.onFetchError(),this.taskFilter,this.itemFilter,this.builders)}),this.iscsiService.settings().subscribe(l=>{this.settings=l});else{const n=this.summaryservice.getCurrentSummary(),e=this.cephReleaseNamePipe.transform(n.version);this.docsUrl=`http://docs.ceph.com/docs/${e}/mgr/dashboard/#enabling-iscsi-management`,this.status=l.message}})}ngOnDestroy(){this.summaryDataSubscription&&this.summaryDataSubscription.unsubscribe()}getEditDisableDesc(){const l=this.selection.first();return l&&l.cdExecuting?l.cdExecuting:l&&t.isUndefined(l.info)?this.i18n("Unavailable gateway(s)"):void 0}getDeleteDisableDesc(){const l=this.selection.first();return l&&l.cdExecuting?l.cdExecuting:l&&t.isUndefined(l.info)?this.i18n("Unavailable gateway(s)"):l&&l.info&&l.info.num_sessions?this.i18n("Target has active sessions"):void 0}prepareResponse(l){return l.forEach(l=>{l.cdPortals=l.portals.map(l=>`${l.host}:${l.ip}`),l.cdImages=l.disks.map(l=>`${l.pool}/${l.image}`)}),l}onFetchError(){this.table.reset()}itemFilter(l,n){return l.target_iqn===n.metadata.target_iqn}taskFilter(l){return["iscsi/target/create","iscsi/target/edit","iscsi/target/delete"].includes(l.name)}updateSelection(l){this.selection=l}deleteIscsiTargetModal(){const l=this.selection.first().target_iqn;this.modalRef=this.modalService.show(i.a,{initialState:{itemDescription:this.i18n("iSCSI target"),itemNames:[l],submitActionObservable:()=>this.taskWrapper.wrapTaskAroundCall({task:new o.a("iscsi/target/delete",{target_iqn:l}),call:this.iscsiService.deleteTarget(l)})}})}configureDiscoveryAuth(){this.modalService.show(r.a,{})}}},eF8U:function(l,n,e){"use strict";var t=e("8Y7J"),i=e("s7LF"),u=e("+gVj"),s=e("SVse"),a=e("mXUL");e("jMP8"),e.d(n,"a",(function(){return o})),e.d(n,"b",(function(){return v}));var o=t["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function r(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),t["ɵdid"](1,147456,null,0,i.v,[t.ElementRef,t.Renderer2,[2,i.A]],{ngValue:[0,"ngValue"]},null),t["ɵdid"](2,147456,null,0,i.F,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),t["ɵted"](3,null,["",""]))],(function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)}),(function(l,n){l(n,3,0,n.context.$implicit)}))}function d(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,11,"select",[["class","form-control custom-select"]],[[8,"id",0],[8,"name",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,e){var i=!0;return"change"===n&&(i=!1!==t["ɵnov"](l,1).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,1).onTouched()&&i),i}),null,null)),t["ɵdid"](1,16384,null,0,i.A,[t.Renderer2,t.ElementRef],null,null),t["ɵprd"](1024,null,i.p,(function(l){return[l]}),[i.A]),t["ɵdid"](3,671744,[[1,4]],0,i.j,[[3,i.d],[8,null],[8,null],[6,i.p],[2,i.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,i.q,null,[i.j]),t["ɵdid"](5,16384,null,0,i.r,[[4,i.q]],null,null),t["ɵdid"](6,16384,null,0,u.h,[[3,i.d],u.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵeld"](7,0,null,null,2,"option",[],null,null,null,null,null)),t["ɵdid"](8,147456,null,0,i.v,[t.ElementRef,t.Renderer2,[2,i.A]],{ngValue:[0,"ngValue"]},null),t["ɵdid"](9,147456,null,0,i.F,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,r)),t["ɵdid"](11,278528,null,0,s.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(l,n){var e=n.component;l(n,3,0,e.setting),l(n,6,0,e.setting),l(n,8,0,null),l(n,9,0,null),l(n,11,0,e.limits.values)}),(function(l,n){var e=n.component;l(n,0,1,[t["ɵinlineInterpolate"](1,"",e.setting,""),t["ɵinlineInterpolate"](1,"",e.setting,""),t["ɵnov"](n,5).ngClassUntouched,t["ɵnov"](n,5).ngClassTouched,t["ɵnov"](n,5).ngClassPristine,t["ɵnov"](n,5).ngClassDirty,t["ɵnov"](n,5).ngClassValid,t["ɵnov"](n,5).ngClassInvalid,t["ɵnov"](n,5).ngClassPending,t["ɵnov"](n,6).validClass,t["ɵnov"](n,6).invalidClass])}))}function c(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,7,"input",[["class","form-control"],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,1)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,1).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,1)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,1)._compositionEnd(e.target.value)&&i),"change"===n&&(i=!1!==t["ɵnov"](l,2).onChange(e.target.value)&&i),"input"===n&&(i=!1!==t["ɵnov"](l,2).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,2).onTouched()&&i),i}),null,null)),t["ɵdid"](1,16384,null,0,i.e,[t.Renderer2,t.ElementRef,[2,i.b]],null,null),t["ɵdid"](2,16384,null,0,i.w,[t.Renderer2,t.ElementRef],null,null),t["ɵprd"](1024,null,i.p,(function(l,n){return[l,n]}),[i.e,i.w]),t["ɵdid"](4,671744,[[1,4]],0,i.j,[[3,i.d],[8,null],[8,null],[6,i.p],[2,i.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,i.q,null,[i.j]),t["ɵdid"](6,16384,null,0,i.r,[[4,i.q]],null,null),t["ɵdid"](7,16384,null,0,u.h,[[3,i.d],u.a],{formControlName:[0,"formControlName"]},null)],(function(l,n){var e=n.component;l(n,4,0,e.setting),l(n,7,0,e.setting)}),(function(l,n){l(n,0,0,t["ɵnov"](n,6).ngClassUntouched,t["ɵnov"](n,6).ngClassTouched,t["ɵnov"](n,6).ngClassPristine,t["ɵnov"](n,6).ngClassDirty,t["ɵnov"](n,6).ngClassValid,t["ɵnov"](n,6).ngClassInvalid,t["ɵnov"](n,6).ngClassPending,t["ɵnov"](n,7).validClass,t["ɵnov"](n,7).invalidClass)}))}function m(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,6,"input",[["class","form-control"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,1)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,1).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,1)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,1)._compositionEnd(e.target.value)&&i),i}),null,null)),t["ɵdid"](1,16384,null,0,i.e,[t.Renderer2,t.ElementRef,[2,i.b]],null,null),t["ɵprd"](1024,null,i.p,(function(l){return[l]}),[i.e]),t["ɵdid"](3,671744,[[1,4]],0,i.j,[[3,i.d],[8,null],[8,null],[6,i.p],[2,i.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,i.q,null,[i.j]),t["ɵdid"](5,16384,null,0,i.r,[[4,i.q]],null,null),t["ɵdid"](6,16384,null,0,u.h,[[3,i.d],u.a],{formControlName:[0,"formControlName"]},null)],(function(l,n){var e=n.component;l(n,3,0,e.setting),l(n,6,0,e.setting)}),(function(l,n){l(n,0,0,t["ɵnov"](n,5).ngClassUntouched,t["ɵnov"](n,5).ngClassTouched,t["ɵnov"](n,5).ngClassPristine,t["ɵnov"](n,5).ngClassDirty,t["ɵnov"](n,5).ngClassValid,t["ɵnov"](n,5).ngClassInvalid,t["ɵnov"](n,5).ngClassPending,t["ɵnov"](n,6).validClass,t["ɵnov"](n,6).invalidClass)}))}function p(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,23,null,null,null,null,null,null,null)),(l()(),t["ɵeld"](1,0,null,null,0,"br",[],null,null,null,null,null)),(l()(),t["ɵeld"](2,0,null,null,10,"div",[["class","custom-control custom-radio custom-control-inline"]],null,null,null,null,null)),(l()(),t["ɵeld"](3,0,null,null,7,"input",[["class","custom-control-input"],["type","radio"]],[[8,"id",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,4)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,4).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,4)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,4)._compositionEnd(e.target.value)&&i),"change"===n&&(i=!1!==t["ɵnov"](l,5).onChange()&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,5).onTouched()&&i),i}),null,null)),t["ɵdid"](4,16384,null,0,i.e,[t.Renderer2,t.ElementRef,[2,i.b]],null,null),t["ɵdid"](5,212992,null,0,i.x,[t.Renderer2,t.ElementRef,i.D,t.Injector],{formControlName:[0,"formControlName"],value:[1,"value"]},null),t["ɵprd"](1024,null,i.p,(function(l,n){return[l,n]}),[i.e,i.x]),t["ɵdid"](7,671744,[[1,4]],0,i.j,[[3,i.d],[8,null],[8,null],[6,i.p],[2,i.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,i.q,null,[i.j]),t["ɵdid"](9,16384,null,0,i.r,[[4,i.q]],null,null),t["ɵdid"](10,16384,null,0,u.h,[[3,i.d],u.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵeld"](11,0,null,null,1,"label",[["class","custom-control-label"]],[[8,"htmlFor",0]],null,null,null,null)),(l()(),t["ɵted"](-1,null,["Yes"])),(l()(),t["ɵeld"](13,0,null,null,10,"div",[["class","custom-control custom-radio custom-control-inline"]],null,null,null,null,null)),(l()(),t["ɵeld"](14,0,null,null,7,"input",[["class","custom-control-input"],["type","radio"]],[[8,"id",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,15)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,15).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,15)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,15)._compositionEnd(e.target.value)&&i),"change"===n&&(i=!1!==t["ɵnov"](l,16).onChange()&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,16).onTouched()&&i),i}),null,null)),t["ɵdid"](15,16384,null,0,i.e,[t.Renderer2,t.ElementRef,[2,i.b]],null,null),t["ɵdid"](16,212992,null,0,i.x,[t.Renderer2,t.ElementRef,i.D,t.Injector],{formControlName:[0,"formControlName"],value:[1,"value"]},null),t["ɵprd"](1024,null,i.p,(function(l,n){return[l,n]}),[i.e,i.x]),t["ɵdid"](18,671744,[[1,4]],0,i.j,[[3,i.d],[8,null],[8,null],[6,i.p],[2,i.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,i.q,null,[i.j]),t["ɵdid"](20,16384,null,0,i.r,[[4,i.q]],null,null),t["ɵdid"](21,16384,null,0,u.h,[[3,i.d],u.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵeld"](22,0,null,null,1,"label",[["class","custom-control-label"]],[[8,"htmlFor",0]],null,null,null,null)),(l()(),t["ɵted"](-1,null,["No"]))],(function(l,n){var e=n.component;l(n,5,0,e.setting,!0),l(n,7,0,e.setting),l(n,10,0,e.setting),l(n,16,0,e.setting,!1),l(n,18,0,e.setting),l(n,21,0,e.setting)}),(function(l,n){var e=n.component;l(n,3,0,e.setting+"True",t["ɵnov"](n,9).ngClassUntouched,t["ɵnov"](n,9).ngClassTouched,t["ɵnov"](n,9).ngClassPristine,t["ɵnov"](n,9).ngClassDirty,t["ɵnov"](n,9).ngClassValid,t["ɵnov"](n,9).ngClassInvalid,t["ɵnov"](n,9).ngClassPending,t["ɵnov"](n,10).validClass,t["ɵnov"](n,10).invalidClass),l(n,11,0,e.setting+"True"),l(n,14,0,e.setting+"False",t["ɵnov"](n,20).ngClassUntouched,t["ɵnov"](n,20).ngClassTouched,t["ɵnov"](n,20).ngClassPristine,t["ɵnov"](n,20).ngClassDirty,t["ɵnov"](n,20).ngClassValid,t["ɵnov"](n,20).ngClassInvalid,t["ɵnov"](n,20).ngClassPending,t["ɵnov"](n,21).validClass,t["ɵnov"](n,21).invalidClass),l(n,22,0,e.setting+"False")}))}function h(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,6,"span",[],null,null,null,null,null)),(l()(),t["ɵand"](16777216,null,null,1,null,c)),t["ɵdid"](2,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,m)),t["ɵdid"](4,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,p)),t["ɵdid"](6,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var e=n.component;l(n,2,0,"int"===e.limits.type),l(n,4,0,"str"===e.limits.type),l(n,6,0,"bool"===e.limits.type)}),null)}function g(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,2,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵeld"](1,0,null,null,1,null,null,null,null,null,null,null)),(l()(),t["ɵted"](2,null,["Must be greater than or equal to ","."]))],null,(function(l,n){l(n,2,0,n.component.limits.min)}))}function f(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,2,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵeld"](1,0,null,null,1,null,null,null,null,null,null,null)),(l()(),t["ɵted"](2,null,["Must be less than or equal to ","."]))],null,(function(l,n){l(n,2,0,n.component.limits.max)}))}function v(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,17,"div",[["class","form-group"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"has-error",null],[2,"has-success",null]],[[null,"submit"],[null,"reset"]],(function(l,n,e){var i=!0;return"submit"===n&&(i=!1!==t["ɵnov"](l,1).onSubmit(e)&&i),"reset"===n&&(i=!1!==t["ɵnov"](l,1).onReset()&&i),"submit"===n&&(i=!1!==t["ɵnov"](l,4).onSubmit()&&i),i}),a.b,a.a)),t["ɵdid"](1,540672,null,0,i.l,[[8,null],[8,null]],{form:[0,"form"]},null),t["ɵprd"](2048,null,i.d,null,[i.l]),t["ɵdid"](3,16384,null,0,i.s,[[4,i.d]],null,null),t["ɵdid"](4,16384,null,0,u.d,[],{formGroup:[0,"formGroup"]},null),t["ɵdid"](5,1163264,null,2,u.c,[t.ElementRef,u.g],null,null),t["ɵqud"](603979776,1,{FormControlNames:1}),t["ɵqud"](603979776,2,{messagesBlock:0}),(l()(),t["ɵeld"](8,0,null,0,1,"label",[["class","col-form-label"]],[[8,"htmlFor",0]],null,null,null,null)),(l()(),t["ɵted"](9,null,["",""])),(l()(),t["ɵand"](16777216,null,0,1,null,d)),t["ɵdid"](11,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](16777216,null,0,1,null,h)),t["ɵdid"](13,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](16777216,null,0,1,null,g)),t["ɵdid"](15,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](16777216,null,0,1,null,f)),t["ɵdid"](17,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var e=n.component;l(n,1,0,e.settingsForm),l(n,4,0,e.settingsForm),l(n,5,0),l(n,11,0,"enum"===e.limits.type),l(n,13,0,"enum"!==e.limits.type),l(n,15,0,e.settingsForm.showError(e.setting,e.formDir,"min")),l(n,17,0,e.settingsForm.showError(e.setting,e.formDir,"max"))}),(function(l,n){var e=n.component;l(n,0,0,t["ɵnov"](n,3).ngClassUntouched,t["ɵnov"](n,3).ngClassTouched,t["ɵnov"](n,3).ngClassPristine,t["ɵnov"](n,3).ngClassDirty,t["ɵnov"](n,3).ngClassValid,t["ɵnov"](n,3).ngClassInvalid,t["ɵnov"](n,3).ngClassPending,t["ɵnov"](n,5).hasErrors,t["ɵnov"](n,5).hasSuccess),l(n,8,0,t["ɵinlineInterpolate"](1,"",e.setting,"")),l(n,9,0,e.setting)}))}},gr3l:function(l,n,e){"use strict";e.d(n,"a",(function(){return h}));var t=e("s7LF"),i=e("LvDl"),u=e("cp0P"),s=(e("my5R"),e("F83c"),e("DNAf")),a=e("a96k"),o=(e("sne2"),e("oxzT")),r=e("QFaf"),d=e("1Ni5"),c=e("kvvV"),m=(e("kn/O"),e("Z4cD")),p=e("a6qe");class h{constructor(l,n,e,t,i,u,a,r){this.iscsiService=l,this.modalService=n,this.rbdService=e,this.router=t,this.route=i,this.i18n=u,this.taskWrapper=a,this.actionLabels=r,this.api_version=0,this.minimum_gateways=1,this.icons=o.a,this.isEdit=!1,this.portalsSelections=[],this.imagesInitiatorSelections=[],this.groupDiskSelections=[],this.groupMembersSelections=[],this.imagesSettings={},this.messages={portals:new s.a({noOptions:this.i18n("There are no portals available.")},this.i18n),images:new s.a({noOptions:this.i18n("There are no images available.")},this.i18n),initiatorImage:new s.a({noOptions:this.i18n("There are no images available. Please make sure you add an image to the target.")},this.i18n),groupInitiator:new s.a({noOptions:this.i18n("There are no initiators available. Please make sure you add an initiator to the target.")},this.i18n)},this.IQN_REGEX=/^iqn\.(19|20)\d\d-(0[1-9]|1[0-2])\.\D{2,3}(\.[A-Za-z0-9-]+)+(:[A-Za-z0-9-\.]+)*$/,this.USER_REGEX=/[\w\.:@_-]{8,64}/,this.PASSWORD_REGEX=/[\w@\-_\/]{12,16}/,this.resource=this.i18n("target")}ngOnInit(){const l=[this.iscsiService.listTargets(),this.rbdService.list(),this.iscsiService.portals(),this.iscsiService.settings(),this.iscsiService.version()];this.router.url.startsWith("/block/iscsi/targets/edit")&&(this.isEdit=!0,this.route.params.subscribe(n=>{this.target_iqn=decodeURIComponent(n.target_iqn),l.push(this.iscsiService.getTarget(this.target_iqn))})),this.action=this.isEdit?this.actionLabels.EDIT:this.actionLabels.CREATE,Object(u.a)(l).subscribe(l=>{const n=i(l[0]).filter(l=>l.target_iqn!==this.target_iqn).flatMap(l=>l.disks).map(l=>`${l.pool}/${l.image}`).value();"api_version"in l[3]&&(this.api_version=l[3].api_version),this.minimum_gateways=l[3].config.minimum_gateways,this.target_default_controls=l[3].target_default_controls,this.target_controls_limits=l[3].target_controls_limits,this.disk_default_controls=l[3].disk_default_controls,this.disk_controls_limits=l[3].disk_controls_limits,this.backstores=l[3].backstores,this.default_backstore=l[3].default_backstore,this.unsupported_rbd_features=l[3].unsupported_rbd_features,this.required_rbd_features=l[3].required_rbd_features,this.imagesAll=i(l[1]).flatMap(l=>l.value).filter(l=>!l.namespace&&-1===n.indexOf(`${l.pool_name}/${l.name}`)&&0!==this.getValidBackstores(l).length).value(),this.imagesSelections=this.imagesAll.map(l=>new a.a(!1,`${l.pool_name}/${l.name}`,""));const e=[];l[2].forEach(l=>{l.ip_addresses.forEach(n=>{e.push(new a.a(!1,l.name+":"+n,""))})}),this.portalsSelections=[...e],this.cephIscsiConfigVersion=l[4].ceph_iscsi_config_version,this.createForm(),l[5]&&this.resolveModel(l[5])})}createForm(){if(this.targetForm=new r.a({target_iqn:new t.i("iqn.2001-07.com.ceph:"+Date.now(),{validators:[t.B.required,t.B.pattern(this.IQN_REGEX)]}),target_controls:new t.i({}),portals:new t.i([],{validators:[d.a.custom("minGateways",l=>i.uniq(l.map(l=>l.split(":")[0])).length<Math.max(1,this.minimum_gateways))]}),disks:new t.i([],{validators:[d.a.custom("dupLunId",l=>{const n=this.getLunIds(l);return n.length!==i.uniq(n).length}),d.a.custom("dupWwn",l=>{const n=this.getWwns(l);return n.length!==i.uniq(n).length})]}),initiators:new t.f([]),groups:new t.f([]),acl_enabled:new t.i(!1)}),this.cephIscsiConfigVersion>10){const l=new r.a({user:new t.i(""),password:new t.i(""),mutual_user:new t.i(""),mutual_password:new t.i("")});this.setAuthValidator(l),this.targetForm.addControl("auth",l)}}resolveModel(l){this.targetForm.patchValue({target_iqn:l.target_iqn,target_controls:l.target_controls,acl_enabled:l.acl_enabled}),this.cephIscsiConfigVersion>10&&this.targetForm.patchValue({auth:l.auth});const n=[];i.forEach(l.portals,l=>{n.push(`${l.host}:${l.ip}`)}),this.targetForm.patchValue({portals:n});const e=[];i.forEach(l.disks,l=>{const n=`${l.pool}/${l.image}`;e.push(n),this.imagesSettings[n]={backstore:l.backstore},this.imagesSettings[n][l.backstore]=l.controls,"lun"in l&&(this.imagesSettings[n].lun=l.lun),"wwn"in l&&(this.imagesSettings[n].wwn=l.wwn),this.onImageSelection({option:{name:n,selected:!0}})}),this.targetForm.patchValue({disks:e}),i.forEach(l.clients,l=>{const n=this.addInitiator();l.luns=i.map(l.luns,l=>`${l.pool}/${l.image}`),n.patchValue(l)}),i.forEach(l.groups,l=>{const n=this.addGroup();l.disks=i.map(l.disks,l=>`${l.pool}/${l.image}`),n.patchValue(l),i.forEach(l.members,l=>{this.onGroupMemberSelection({option:new a.a(!0,l,"")})})})}hasAdvancedSettings(l){return Object.values(l).length>0}get portals(){return this.targetForm.get("portals")}onPortalSelection(){this.portals.setValue(this.portals.value)}removePortal(l,n){return this.portalsSelections.forEach(l=>{l.name===n&&(l.selected=!1)}),this.portals.value.splice(l,1),this.portals.setValue(this.portals.value),!1}get disks(){return this.targetForm.get("disks")}removeImage(l,n){return this.imagesSelections.forEach(l=>{l.name===n&&(l.selected=!1)}),this.disks.value.splice(l,1),this.removeImageRefs(n),this.targetForm.get("disks").updateValueAndValidity({emitEvent:!1}),!1}removeImageRefs(l){this.initiators.controls.forEach(n=>{const e=n.value.luns.filter(n=>n!==l);n.get("luns").setValue(e)}),this.groups.controls.forEach(n=>{const e=n.value.disks.filter(n=>n!==l);n.get("disks").setValue(e)}),i.forEach(this.imagesInitiatorSelections,(n,e)=>{this.imagesInitiatorSelections[e]=n.filter(n=>n.name!==l)}),i.forEach(this.groupDiskSelections,(n,e)=>{this.groupDiskSelections[e]=n.filter(n=>n.name!==l)})}getDefaultBackstore(l){let n=this.default_backstore;const e=this.getImageById(l);return this.validFeatures(e,this.default_backstore)||this.backstores.forEach(l=>{l!==this.default_backstore&&this.validFeatures(e,l)&&(n=l)}),n}isLunIdInUse(l,n){const e=this.disks.value.filter(l=>l!==n);return this.getLunIds(e).includes(l)}getLunIds(l){return i.map(l,l=>this.imagesSettings[l].lun)}nextLunId(l){const n=this.disks.value.filter(n=>n!==l),e=this.getLunIds(n);let t=0;for(;e.includes(t);)t++;return t}getWwns(l){return i.map(l,l=>this.imagesSettings[l].wwn).filter(l=>i.isString(l)&&""!==l)}onImageSelection(l){const n=l.option;if(n.selected){if(this.imagesSettings[n.name])this.isLunIdInUse(this.imagesSettings[n.name].lun,n.name)&&(this.imagesSettings[n.name].lun=this.nextLunId(n.name));else{const l=this.getDefaultBackstore(n.name);this.imagesSettings[n.name]={backstore:l,lun:this.nextLunId(n.name)},this.imagesSettings[n.name][l]={}}i.forEach(this.imagesInitiatorSelections,(l,e)=>{l.push(new a.a(!1,n.name,"")),this.imagesInitiatorSelections[e]=[...l]}),i.forEach(this.groupDiskSelections,(l,e)=>{l.push(new a.a(!1,n.name,"")),this.groupDiskSelections[e]=[...l]})}else this.removeImageRefs(n.name);this.targetForm.get("disks").updateValueAndValidity({emitEvent:!1})}get initiators(){return this.targetForm.get("initiators")}addInitiator(){const l=new r.a({client_iqn:new t.i("",{validators:[t.B.required,d.a.custom("notUnique",l=>{const n=this.initiators.controls.reduce((function(l,n){return l.concat(n.value.client_iqn)}),[]);return n.indexOf(l)!==n.lastIndexOf(l)}),t.B.pattern(this.IQN_REGEX)]}),auth:new r.a({user:new t.i(""),password:new t.i(""),mutual_user:new t.i(""),mutual_password:new t.i("")}),luns:new t.i([]),cdIsInGroup:new t.i(!1)});this.setAuthValidator(l),this.initiators.push(l),i.forEach(this.groupMembersSelections,(l,n)=>{l.push(new a.a(!1,"","")),this.groupMembersSelections[n]=[...l]});const n=i.map(this.targetForm.getValue("disks"),l=>new a.a(!1,l,""));return this.imagesInitiatorSelections.push(n),l}setAuthValidator(l){d.a.validateIf(l.get("user"),()=>l.getValue("password")||l.getValue("mutual_user")||l.getValue("mutual_password"),[t.B.required],[t.B.pattern(this.USER_REGEX)],[l.get("password"),l.get("mutual_user"),l.get("mutual_password")]),d.a.validateIf(l.get("password"),()=>l.getValue("user")||l.getValue("mutual_user")||l.getValue("mutual_password"),[t.B.required],[t.B.pattern(this.PASSWORD_REGEX)],[l.get("user"),l.get("mutual_user"),l.get("mutual_password")]),d.a.validateIf(l.get("mutual_user"),()=>l.getValue("mutual_password"),[t.B.required],[t.B.pattern(this.USER_REGEX)],[l.get("user"),l.get("password"),l.get("mutual_password")]),d.a.validateIf(l.get("mutual_password"),()=>l.getValue("mutual_user"),[t.B.required],[t.B.pattern(this.PASSWORD_REGEX)],[l.get("user"),l.get("password"),l.get("mutual_user")])}removeInitiator(l){const n=this.initiators.value[l];this.initiators.removeAt(l),i.forEach(this.groupMembersSelections,(n,e)=>{n.splice(l,1),this.groupMembersSelections[e]=[...n]}),this.groups.controls.forEach(l=>{const e=l.value.members.filter(l=>l!==n.client_iqn);l.get("members").setValue(e)}),this.imagesInitiatorSelections.splice(l,1)}updatedInitiatorSelector(){this.initiators.controls.forEach(l=>{l.get("client_iqn").updateValueAndValidity({emitEvent:!1})}),i.forEach(this.groupMembersSelections,(l,n)=>{i.forEach(l,(l,n)=>{const e=l.name;l.name=this.initiators.controls[n].value.client_iqn,this.groups.controls.forEach(n=>{const t=n.value.members,i=t.indexOf(e);-1!==i&&(t[i]=l.name),n.get("members").setValue(t)})}),this.groupMembersSelections[n]=[...this.groupMembersSelections[n]]})}removeInitiatorImage(l,n,e,t){const i=l.getValue("luns");return i.splice(n,1),l.patchValue({luns:i}),this.imagesInitiatorSelections[e].forEach(l=>{l.name===t&&(l.selected=!1)}),!1}get groups(){return this.targetForm.get("groups")}addGroup(){const l=new r.a({group_id:new t.i("",{validators:[t.B.required]}),members:new t.i([]),disks:new t.i([])});this.groups.push(l);const n=i.map(this.targetForm.getValue("disks"),l=>new a.a(!1,l,""));this.groupDiskSelections.push(n);const e=i.map(this.initiators.value,l=>new a.a(!1,l.client_iqn,"",!l.cdIsInGroup));return this.groupMembersSelections.push(e),l}removeGroup(l){this.groups.removeAt(l),this.groupDiskSelections.splice(l,1)}onGroupMemberSelection(l){const n=l.option;let e;this.initiators.controls.forEach((l,t)=>{l.value.client_iqn===n.name&&(l.patchValue({luns:[]}),l.get("cdIsInGroup").setValue(n.selected),e=t)}),i.forEach(this.groupMembersSelections,l=>{l[e].enabled=!n.selected})}removeGroupInitiator(l,n,e){const t=l.getValue("members")[n];l.getValue("members").splice(n,1),this.groupMembersSelections[e].forEach(l=>{l.name===t&&(l.selected=!1)}),this.groupMembersSelections[e]=[...this.groupMembersSelections[e]],this.onGroupMemberSelection({option:new a.a(!1,t,"")})}removeGroupDisk(l,n,e){const t=l.getValue("disks")[n];l.getValue("disks").splice(n,1),this.groupDiskSelections[e].forEach(l=>{l.name===t&&(l.selected=!1)}),this.groupDiskSelections[e]=[...this.groupDiskSelections[e]]}submit(){const l=i.cloneDeep(this.targetForm.value),n={target_iqn:this.targetForm.getValue("target_iqn"),target_controls:this.targetForm.getValue("target_controls"),acl_enabled:this.targetForm.getValue("acl_enabled"),portals:[],disks:[],clients:[],groups:[]};if(this.cephIscsiConfigVersion>10){const l=this.targetForm.get("auth");l.getValue("user")||l.get("user").setValue(""),l.getValue("password")||l.get("password").setValue(""),l.getValue("mutual_user")||l.get("mutual_user").setValue(""),l.getValue("mutual_password")||l.get("mutual_password").setValue("");const e=this.targetForm.getValue("acl_enabled");n.auth={user:e?"":l.getValue("user"),password:e?"":l.getValue("password"),mutual_user:e?"":l.getValue("mutual_user"),mutual_password:e?"":l.getValue("mutual_password")}}let e;l.disks.forEach(l=>{const e=l.split("/"),t=this.imagesSettings[l].backstore;n.disks.push({pool:e[0],image:e[1],backstore:t,controls:this.imagesSettings[l][t],lun:this.imagesSettings[l].lun,wwn:this.imagesSettings[l].wwn})}),l.portals.forEach(l=>{const e=l.indexOf(":");n.portals.push({host:l.substring(0,e),ip:l.substring(e+1)})}),n.acl_enabled&&(l.initiators.forEach(l=>{l.auth.user||(l.auth.user=""),l.auth.password||(l.auth.password=""),l.auth.mutual_user||(l.auth.mutual_user=""),l.auth.mutual_password||(l.auth.mutual_password=""),delete l.cdIsInGroup;const n=[];l.luns.forEach(l=>{const e=l.split("/");n.push({pool:e[0],image:e[1]})}),l.luns=n}),n.clients=l.initiators),n.acl_enabled&&(l.groups.forEach(l=>{const n=[];l.disks.forEach(l=>{const e=l.split("/");n.push({pool:e[0],image:e[1]})}),l.disks=n}),n.groups=l.groups),this.isEdit?(n.new_target_iqn=n.target_iqn,n.target_iqn=this.target_iqn,e=this.taskWrapper.wrapTaskAroundCall({task:new c.a("iscsi/target/edit",{target_iqn:n.target_iqn}),call:this.iscsiService.updateTarget(this.target_iqn,n)})):e=this.taskWrapper.wrapTaskAroundCall({task:new c.a("iscsi/target/create",{target_iqn:n.target_iqn}),call:this.iscsiService.createTarget(n)}),e.subscribe(void 0,()=>{this.targetForm.setErrors({cdSubmitButton:!0})},()=>this.router.navigate(["/block/iscsi/targets"]))}targetSettingsModal(){const l={target_controls:this.targetForm.get("target_controls"),target_default_controls:this.target_default_controls,target_controls_limits:this.target_controls_limits};this.modalRef=this.modalService.show(p.a,{initialState:l})}imageSettingsModal(l){const n={imagesSettings:this.imagesSettings,image:l,api_version:this.api_version,disk_default_controls:this.disk_default_controls,disk_controls_limits:this.disk_controls_limits,backstores:this.getValidBackstores(this.getImageById(l)),control:this.targetForm.get("disks")};this.modalRef=this.modalService.show(m.a,{initialState:n})}validFeatures(l,n){const e=l.features,t=this.required_rbd_features[n];return(e&t)===t&&0==(e&this.unsupported_rbd_features[n])}getImageById(l){return this.imagesAll.find(n=>l===`${n.pool_name}/${n.name}`)}getValidBackstores(l){return this.backstores.filter(n=>this.validFeatures(l,n))}}},jMP8:function(l,n,e){"use strict";e.d(n,"a",(function(){return i}));var t=e("s7LF");e("QFaf");class i{ngOnInit(){const l=[];"min"in this.limits&&l.push(t.B.min(this.limits.min)),"max"in this.limits&&l.push(t.B.max(this.limits.max)),this.settingsForm.get(this.setting).setValidators(l)}}},"k/xb":function(l,n,e){"use strict";e.d(n,"a",(function(){return i})),e.d(n,"b",(function(){return S})),e.d(n,"c",(function(){return u})),e.d(n,"d",(function(){return s})),e.d(n,"j",(function(){return a})),e.d(n,"k",(function(){return o})),e.d(n,"l",(function(){return r})),e.d(n,"m",(function(){return d})),e.d(n,"n",(function(){return c})),e.d(n,"o",(function(){return m})),e.d(n,"p",(function(){return p})),e.d(n,"q",(function(){return h})),e.d(n,"e",(function(){return g})),e.d(n,"f",(function(){return f})),e.d(n,"g",(function(){return v})),e.d(n,"h",(function(){return b})),e.d(n,"i",(function(){return C}));var t=e("sne2");e("Vhfg"),e("gr3l"),e("e/kN"),e("roDX"),e("cxJu"),e("MyVl"),e("5GyT"),e("Z5tW"),e("WkyA"),e("chpi");class i{}const u={breadcrumbs:"Images"},s={breadcrumbs:"Namespaces"},a={breadcrumbs:"Trash"},o={breadcrumbs:"Overall Performance"},r={breadcrumbs:t.a.CREATE},d={breadcrumbs:t.a.EDIT},c={breadcrumbs:t.a.CLONE},m={breadcrumbs:t.a.COPY},p={breadcrumbs:t.a.COPY},h={breadcrumbs:"Mirroring"},g={breadcrumbs:"iSCSI"},f={breadcrumbs:"Overview"},v={breadcrumbs:"Targets"},b={breadcrumbs:t.a.CREATE},C={breadcrumbs:t.a.EDIT};class S{}},kccj:function(l,n,e){"use strict";e.d(n,"a",(function(){return t}));class t{}},l7Jr:function(l,n,e){"use strict";var t=e("8Y7J"),i=e("mXUL"),u=e("+gVj"),s=e("eF8U"),a=e("jMP8"),o=e("EEJc"),r=e("ajRT"),d=e("s7LF"),c=e("SVse"),m=e("gp3X"),p=e("sb0X"),h=e("KVJa"),g=e("Z21x"),f=e("sne2"),v=e("a6qe"),b=e("LqlI"),C=e("my5R");e.d(n,"a",(function(){return w}));var S=t["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function _(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,6,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,i.b,i.a)),t["ɵdid"](1,1163264,null,2,u.c,[t.ElementRef,u.g],null,null),t["ɵqud"](603979776,1,{FormControlNames:1}),t["ɵqud"](603979776,2,{messagesBlock:0}),(l()(),t["ɵeld"](4,0,null,0,2,"div",[["class","col-sm-12"]],null,null,null,null,null)),(l()(),t["ɵeld"](5,0,null,null,1,"cd-iscsi-setting",[],null,null,null,s.b,s.a)),t["ɵdid"](6,114688,null,0,a.a,[],{settingsForm:[0,"settingsForm"],formDir:[1,"formDir"],setting:[2,"setting"],limits:[3,"limits"]},null)],(function(l,n){var e=n.component;l(n,1,0),l(n,6,0,e.settingsForm,t["ɵnov"](n.parent,7),n.context.$implicit.key,e.getTargetControlLimits(n.context.$implicit.key))}),(function(l,n){l(n,0,0,t["ɵnov"](n,1).hasErrors,t["ɵnov"](n,1).hasSuccess)}))}function y(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,23,"cd-modal",[],null,null,null,o.c,o.b)),t["ɵdid"](1,49152,null,0,r.a,[],{modalRef:[0,"modalRef"]},null),(l()(),t["ɵeld"](2,0,null,0,1,null,null,null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Advanced Settings"])),(l()(),t["ɵeld"](4,0,null,1,19,null,null,null,null,null,null,null)),(l()(),t["ɵeld"](5,0,null,null,18,"form",[["name","settingsForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,e){var i=!0;return"submit"===n&&(i=!1!==t["ɵnov"](l,7).onSubmit(e)&&i),"reset"===n&&(i=!1!==t["ɵnov"](l,7).onReset()&&i),"submit"===n&&(i=!1!==t["ɵnov"](l,10).onSubmit()&&i),i}),null,null)),t["ɵdid"](6,16384,null,0,d.G,[],null,null),t["ɵdid"](7,540672,[["formDir",4]],0,d.l,[[8,null],[8,null]],{form:[0,"form"]},null),t["ɵprd"](2048,null,d.d,null,[d.l]),t["ɵdid"](9,16384,null,0,d.s,[[4,d.d]],null,null),t["ɵdid"](10,16384,null,0,u.d,[],{formGroup:[0,"formGroup"]},null),(l()(),t["ɵeld"](11,0,null,null,5,"div",[["class","modal-body"]],null,null,null,null,null)),(l()(),t["ɵeld"](12,0,null,null,1,"p",[["class","alert-warning"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Changing these parameters from their default values is usually not necessary."])),(l()(),t["ɵand"](16777216,null,null,2,null,_)),t["ɵdid"](15,278528,null,0,c.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),t["ɵpid"](0,c.KeyValuePipe,[t.KeyValueDiffers]),(l()(),t["ɵeld"](17,0,null,null,6,"div",[["class","modal-footer"]],null,null,null,null,null)),(l()(),t["ɵeld"](18,0,null,null,5,"div",[["class","button-group text-right"]],null,null,null,null,null)),(l()(),t["ɵeld"](19,0,null,null,2,"cd-submit-button",[],null,[[null,"submitAction"]],(function(l,n,e){var t=!0;return"submitAction"===n&&(t=!1!==l.component.save()&&t),t}),m.b,m.a)),t["ɵdid"](20,114688,null,0,p.a,[t.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(l()(),t["ɵted"](-1,0,["Confirm"])),(l()(),t["ɵeld"](22,0,null,null,1,"cd-back-button",[["name","Cancel"]],null,null,null,h.b,h.a)),t["ɵdid"](23,49152,null,0,g.a,[c.Location,f.b],{name:[0,"name"],back:[1,"back"]},null)],(function(l,n){var e=n.component;l(n,1,0,e.modalRef),l(n,7,0,e.settingsForm),l(n,10,0,e.settingsForm),l(n,15,0,t["ɵunv"](n,15,0,t["ɵnov"](n,16).transform(e.settingsForm.controls))),l(n,20,0,e.settingsForm),l(n,23,0,"Cancel",e.modalRef.hide)}),(function(l,n){l(n,5,0,t["ɵnov"](n,9).ngClassUntouched,t["ɵnov"](n,9).ngClassTouched,t["ɵnov"](n,9).ngClassPristine,t["ɵnov"](n,9).ngClassDirty,t["ɵnov"](n,9).ngClassValid,t["ɵnov"](n,9).ngClassInvalid,t["ɵnov"](n,9).ngClassPending)}))}function R(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"cd-iscsi-target-iqn-settings-modal",[],null,null,null,y,S)),t["ɵdid"](1,114688,null,0,v.a,[b.a,C.a],null,null)],(function(l,n){l(n,1,0)}),null)}var w=t["ɵccf"]("cd-iscsi-target-iqn-settings-modal",v.a,R,{},{},[])},"lz+O":function(l,n,e){"use strict";var t=e("8Y7J"),i=e("s7LF"),u=e("+gVj"),s=e("SVse"),a=e("EEJc"),o=e("ajRT"),r=e("mXUL"),d=e("gp3X"),c=e("sb0X"),m=e("KVJa"),p=e("Z21x"),h=e("sne2"),g=e("WxU5"),f=e("aexS"),v=e("F83c"),b=e("LqlI"),C=e("2EZI"),S=e("Ekvf"),_=e("kn/O");e.d(n,"a",(function(){return N}));var y=t["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function R(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,6,"input",[["class","form-control"],["formControlName","poolName"],["placeholder","Pool name..."],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,1)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,1).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,1)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,1)._compositionEnd(e.target.value)&&i),i}),null,null)),t["ɵdid"](1,16384,null,0,i.e,[t.Renderer2,t.ElementRef,[2,i.b]],null,null),t["ɵprd"](1024,null,i.p,(function(l){return[l]}),[i.e]),t["ɵdid"](3,671744,[[1,4]],0,i.j,[[3,i.d],[8,null],[8,null],[6,i.p],[2,i.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,i.q,null,[i.j]),t["ɵdid"](5,16384,null,0,i.r,[[4,i.q]],null,null),t["ɵdid"](6,16384,null,0,u.h,[[3,i.d],u.a],{formControlName:[0,"formControlName"]},null)],(function(l,n){l(n,3,0,"poolName"),l(n,6,0,"poolName")}),(function(l,n){l(n,0,0,t["ɵnov"](n,5).ngClassUntouched,t["ɵnov"](n,5).ngClassTouched,t["ɵnov"](n,5).ngClassPristine,t["ɵnov"](n,5).ngClassDirty,t["ɵnov"](n,5).ngClassValid,t["ɵnov"](n,5).ngClassInvalid,t["ɵnov"](n,5).ngClassPending,t["ɵnov"](n,6).validClass,t["ɵnov"](n,6).invalidClass)}))}function w(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),t["ɵdid"](1,147456,null,0,i.v,[t.ElementRef,t.Renderer2,[2,i.A]],{value:[0,"value"]},null),t["ɵdid"](2,147456,null,0,i.F,[t.ElementRef,t.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),t["ɵted"](3,null,["",""]))],(function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)}),(function(l,n){l(n,3,0,n.context.$implicit)}))}function I(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,12,"select",[["class","form-control custom-select"],["formControlName","poolName"],["id","poolName"],["name","poolName"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,e){var i=!0;return"change"===n&&(i=!1!==t["ɵnov"](l,1).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,1).onTouched()&&i),i}),null,null)),t["ɵdid"](1,16384,null,0,i.A,[t.Renderer2,t.ElementRef],null,null),t["ɵprd"](1024,null,i.p,(function(l){return[l]}),[i.A]),t["ɵdid"](3,671744,[[1,4]],0,i.j,[[3,i.d],[8,null],[8,null],[6,i.p],[2,i.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,i.q,null,[i.j]),t["ɵdid"](5,16384,null,0,i.r,[[4,i.q]],null,null),t["ɵdid"](6,16384,null,0,u.h,[[3,i.d],u.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵeld"](7,0,null,null,3,"option",[["value",""]],null,null,null,null,null)),t["ɵdid"](8,147456,null,0,i.v,[t.ElementRef,t.Renderer2,[2,i.A]],{value:[0,"value"]},null),t["ɵdid"](9,147456,null,0,i.F,[t.ElementRef,t.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),t["ɵted"](-1,null,["All"])),(l()(),t["ɵand"](16777216,null,null,1,null,w)),t["ɵdid"](12,278528,null,0,s.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(l,n){var e=n.component;l(n,3,0,"poolName"),l(n,6,0,"poolName"),l(n,8,0,""),l(n,9,0,""),l(n,12,0,e.pools)}),(function(l,n){l(n,0,0,t["ɵnov"](n,5).ngClassUntouched,t["ɵnov"](n,5).ngClassTouched,t["ɵnov"](n,5).ngClassPristine,t["ɵnov"](n,5).ngClassDirty,t["ɵnov"](n,5).ngClassValid,t["ɵnov"](n,5).ngClassInvalid,t["ɵnov"](n,5).ngClassPending,t["ɵnov"](n,6).validClass,t["ɵnov"](n,6).invalidClass)}))}function k(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,41,"cd-modal",[],null,null,null,a.c,a.b)),t["ɵdid"](1,49152,null,0,o.a,[],{modalRef:[0,"modalRef"]},null),(l()(),t["ɵeld"](2,0,null,0,1,null,null,null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Purge Trash"])),(l()(),t["ɵeld"](4,0,null,1,37,null,null,null,null,null,null,null)),(l()(),t["ɵeld"](5,0,null,null,36,"form",[["class","form"],["name","purgeForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,e){var i=!0;return"submit"===n&&(i=!1!==t["ɵnov"](l,7).onSubmit(e)&&i),"reset"===n&&(i=!1!==t["ɵnov"](l,7).onReset()&&i),"submit"===n&&(i=!1!==t["ɵnov"](l,10).onSubmit()&&i),i}),null,null)),t["ɵdid"](6,16384,null,0,i.G,[],null,null),t["ɵdid"](7,540672,[["formDir",4]],0,i.l,[[8,null],[8,null]],{form:[0,"form"]},null),t["ɵprd"](2048,null,i.d,null,[i.l]),t["ɵdid"](9,16384,null,0,i.s,[[4,i.d]],null,null),t["ɵdid"](10,16384,null,0,u.d,[],{formGroup:[0,"formGroup"]},null),(l()(),t["ɵeld"](11,0,null,null,23,"div",[["class","modal-body"]],null,null,null,null,null)),(l()(),t["ɵeld"](12,0,null,null,12,"p",[],null,null,null,null,null)),(l()(),t["ɵeld"](13,0,null,null,1,null,null,null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["To purge, select one or"])),(l()(),t["ɵted"](-1,null,["  "])),(l()(),t["ɵeld"](16,0,null,null,1,"kbd",[],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["All"])),(l()(),t["ɵted"](-1,null,["  "])),(l()(),t["ɵeld"](19,0,null,null,1,null,null,null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["pools and click"])),(l()(),t["ɵted"](-1,null,["  "])),(l()(),t["ɵeld"](22,0,null,null,1,"kbd",[],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Purge Trash"])),(l()(),t["ɵted"](-1,null,[".  "])),(l()(),t["ɵeld"](25,0,null,null,9,"div",[["class","form-group"]],[[2,"has-error",null],[2,"has-success",null]],null,null,r.b,r.a)),t["ɵdid"](26,1163264,null,2,u.c,[t.ElementRef,u.g],null,null),t["ɵqud"](603979776,1,{FormControlNames:1}),t["ɵqud"](603979776,2,{messagesBlock:0}),(l()(),t["ɵeld"](29,0,null,0,1,"label",[["class","col-form-label mx-auto"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Pool:"])),(l()(),t["ɵand"](16777216,null,0,1,null,R)),t["ɵdid"](32,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](16777216,null,0,1,null,I)),t["ɵdid"](34,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](35,0,null,null,6,"div",[["class","modal-footer"]],null,null,null,null,null)),(l()(),t["ɵeld"](36,0,null,null,5,"div",[["class","button-group text-right"]],null,null,null,null,null)),(l()(),t["ɵeld"](37,0,null,null,2,"cd-submit-button",[["id","purgeFormButton"]],null,[[null,"submitAction"]],(function(l,n,e){var t=!0;return"submitAction"===n&&(t=!1!==l.component.purge()&&t),t}),d.b,d.a)),t["ɵdid"](38,114688,null,0,c.a,[t.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(l()(),t["ɵted"](-1,0,["Purge Trash"])),(l()(),t["ɵeld"](40,0,null,null,1,"cd-back-button",[["name","Cancel"]],null,null,null,m.b,m.a)),t["ɵdid"](41,49152,null,0,p.a,[s.Location,h.b],{name:[0,"name"],back:[1,"back"]},null)],(function(l,n){var e=n.component;l(n,1,0,e.modalRef),l(n,7,0,e.purgeForm),l(n,10,0,e.purgeForm),l(n,26,0),l(n,32,0,!e.poolPermission.read),l(n,34,0,e.poolPermission.read),l(n,38,0,e.purgeForm),l(n,41,0,"Cancel",e.modalRef.hide)}),(function(l,n){l(n,5,0,t["ɵnov"](n,9).ngClassUntouched,t["ɵnov"](n,9).ngClassTouched,t["ɵnov"](n,9).ngClassPristine,t["ɵnov"](n,9).ngClassDirty,t["ɵnov"](n,9).ngClassValid,t["ɵnov"](n,9).ngClassInvalid,t["ɵnov"](n,9).ngClassPending),l(n,25,0,t["ɵnov"](n,26).hasErrors,t["ɵnov"](n,26).hasSuccess)}))}function E(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"cd-rbd-trash-purge-modal",[],null,null,null,k,y)),t["ɵdid"](1,114688,null,0,g.a,[f.a,v.a,b.a,C.a,S.a,_.a],null,null)],(function(l,n){l(n,1,0)}),null)}var N=t["ɵccf"]("cd-rbd-trash-purge-modal",g.a,E,{},{},[])},my5R:function(l,n,e){"use strict";e.d(n,"a",(function(){return o}));var t=e("mrSG"),i=e("IheW"),u=e("xTzq"),s=e("8Y7J"),a=e("pL04");let o=(()=>{let l=class{constructor(l){this.http=l}listTargets(){return this.http.get("api/iscsi/target")}getTarget(l){return this.http.get(`api/iscsi/target/${l}`)}updateTarget(l,n){return this.http.put(`api/iscsi/target/${l}`,n,{observe:"response"})}status(){return this.http.get("ui-api/iscsi/status")}settings(){return this.http.get("ui-api/iscsi/settings")}version(){return this.http.get("ui-api/iscsi/version")}portals(){return this.http.get("ui-api/iscsi/portals")}createTarget(l){return this.http.post("api/iscsi/target",l,{observe:"response"})}deleteTarget(l){return this.http.delete(`api/iscsi/target/${l}`,{observe:"response"})}getDiscovery(){return this.http.get("api/iscsi/discoveryauth")}updateDiscovery(l){return this.http.put("api/iscsi/discoveryauth",l)}overview(){return this.http.get("ui-api/iscsi/overview")}};return l.ngInjectableDef=s["ɵɵdefineInjectable"]({factory:function(){return new l(s["ɵɵinject"](i.c))},token:l,providedIn:a.a}),l=t.__decorate([u.a,t.__metadata("design:paramtypes",[i.c])],l),l})()},nP0W:function(l,n,e){"use strict";var t=e("8Y7J"),i=e("s7LF"),u=e("EEJc"),s=e("ajRT"),a=e("+gVj"),o=e("mXUL"),r=e("SVse"),d=e("gp3X"),c=e("sb0X"),m=e("KVJa"),p=e("Z21x"),h=e("sne2"),g=e("aa9H"),f=e("LqlI"),v=e("GiVz"),b=e("XED3"),C=e("kn/O");e.d(n,"a",(function(){return I}));var S=t["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function _(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),t["ɵdid"](1,147456,null,0,i.v,[t.ElementRef,t.Renderer2,[2,i.A]],{value:[0,"value"]},null),t["ɵdid"](2,147456,null,0,i.F,[t.ElementRef,t.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),t["ɵted"](3,null,["",""]))],(function(l,n){l(n,1,0,n.context.$implicit.id),l(n,2,0,n.context.$implicit.id)}),(function(l,n){l(n,3,0,n.context.$implicit.name)}))}function y(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Peer clusters must be removed prior to disabling mirror."]))],null,null)}function R(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,45,"cd-modal",[],null,null,null,u.c,u.b)),t["ɵdid"](1,49152,null,0,s.a,[],{modalRef:[0,"modalRef"]},null),(l()(),t["ɵeld"](2,0,null,0,1,null,null,null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Edit pool mirror mode"])),(l()(),t["ɵeld"](4,0,null,1,41,null,null,null,null,null,null,null)),(l()(),t["ɵeld"](5,0,null,null,40,"form",[["class","form"],["name","editModeForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,e){var i=!0;return"submit"===n&&(i=!1!==t["ɵnov"](l,7).onSubmit(e)&&i),"reset"===n&&(i=!1!==t["ɵnov"](l,7).onReset()&&i),"submit"===n&&(i=!1!==t["ɵnov"](l,10).onSubmit()&&i),i}),null,null)),t["ɵdid"](6,16384,null,0,i.G,[],null,null),t["ɵdid"](7,540672,[["formDir",4]],0,i.l,[[8,null],[8,null]],{form:[0,"form"]},null),t["ɵprd"](2048,null,i.d,null,[i.l]),t["ɵdid"](9,16384,null,0,i.s,[[4,i.d]],null,null),t["ɵdid"](10,16384,null,0,a.d,[],{formGroup:[0,"formGroup"]},null),(l()(),t["ɵeld"](11,0,null,null,27,"div",[["class","modal-body"]],null,null,null,null,null)),(l()(),t["ɵeld"](12,0,null,null,8,"p",[],null,null,null,null,null)),(l()(),t["ɵeld"](13,0,null,null,7,null,null,null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["To edit the mirror mode for pool  "])),(l()(),t["ɵeld"](15,0,null,null,1,"kbd",[],null,null,null,null,null)),(l()(),t["ɵted"](16,null,["",""])),(l()(),t["ɵted"](-1,null,[", select a new mode from the list and click  "])),(l()(),t["ɵeld"](18,0,null,null,1,"kbd",[],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Update"])),(l()(),t["ɵted"](-1,null,["."])),(l()(),t["ɵeld"](21,0,null,null,17,"div",[["class","form-group"]],[[2,"has-error",null],[2,"has-success",null]],null,null,o.b,o.a)),t["ɵdid"](22,1163264,null,2,a.c,[t.ElementRef,a.g],null,null),t["ɵqud"](603979776,1,{FormControlNames:1}),t["ɵqud"](603979776,2,{messagesBlock:0}),(l()(),t["ɵeld"](25,0,null,0,2,"label",[["class","col-form-label"],["for","mirrorMode"]],null,null,null,null,null)),(l()(),t["ɵeld"](26,0,null,null,1,"span",[],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Mode"])),(l()(),t["ɵeld"](28,0,null,0,8,"select",[["class","form-control custom-select"],["formControlName","mirrorMode"],["id","mirrorMode"],["name","mirrorMode"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,e){var i=!0;return"change"===n&&(i=!1!==t["ɵnov"](l,29).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,29).onTouched()&&i),i}),null,null)),t["ɵdid"](29,16384,null,0,i.A,[t.Renderer2,t.ElementRef],null,null),t["ɵprd"](1024,null,i.p,(function(l){return[l]}),[i.A]),t["ɵdid"](31,671744,[[1,4]],0,i.j,[[3,i.d],[8,null],[8,null],[6,i.p],[2,i.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,i.q,null,[i.j]),t["ɵdid"](33,16384,null,0,i.r,[[4,i.q]],null,null),t["ɵdid"](34,16384,null,0,a.h,[[3,i.d],a.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,_)),t["ɵdid"](36,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),t["ɵand"](16777216,null,0,1,null,y)),t["ɵdid"](38,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](39,0,null,null,6,"div",[["class","modal-footer"]],null,null,null,null,null)),(l()(),t["ɵeld"](40,0,null,null,5,"div",[["class","button-group text-right"]],null,null,null,null,null)),(l()(),t["ɵeld"](41,0,null,null,2,"cd-submit-button",[],null,[[null,"submitAction"]],(function(l,n,e){var t=!0;return"submitAction"===n&&(t=!1!==l.component.update()&&t),t}),d.b,d.a)),t["ɵdid"](42,114688,null,0,c.a,[t.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(l()(),t["ɵted"](-1,0,["Update"])),(l()(),t["ɵeld"](44,0,null,null,1,"cd-back-button",[["name","Cancel"]],null,null,null,m.b,m.a)),t["ɵdid"](45,49152,null,0,p.a,[r.Location,h.b],{name:[0,"name"],back:[1,"back"]},null)],(function(l,n){var e=n.component;l(n,1,0,e.modalRef),l(n,7,0,e.editModeForm),l(n,10,0,e.editModeForm),l(n,22,0),l(n,31,0,"mirrorMode"),l(n,34,0,"mirrorMode"),l(n,36,0,e.mirrorModes),l(n,38,0,e.editModeForm.showError("mirrorMode",t["ɵnov"](n,7),"cannotDisable")),l(n,42,0,e.editModeForm),l(n,45,0,"Cancel",e.modalRef.hide)}),(function(l,n){var e=n.component;l(n,5,0,t["ɵnov"](n,9).ngClassUntouched,t["ɵnov"](n,9).ngClassTouched,t["ɵnov"](n,9).ngClassPristine,t["ɵnov"](n,9).ngClassDirty,t["ɵnov"](n,9).ngClassValid,t["ɵnov"](n,9).ngClassInvalid,t["ɵnov"](n,9).ngClassPending),l(n,16,0,e.poolName),l(n,21,0,t["ɵnov"](n,22).hasErrors,t["ɵnov"](n,22).hasSuccess),l(n,28,0,t["ɵnov"](n,33).ngClassUntouched,t["ɵnov"](n,33).ngClassTouched,t["ɵnov"](n,33).ngClassPristine,t["ɵnov"](n,33).ngClassDirty,t["ɵnov"](n,33).ngClassValid,t["ɵnov"](n,33).ngClassInvalid,t["ɵnov"](n,33).ngClassPending,t["ɵnov"](n,34).validClass,t["ɵnov"](n,34).invalidClass)}))}function w(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"cd-pool-edit-mode-modal",[],null,null,null,R,S)),t["ɵdid"](1,245760,null,0,g.a,[f.a,v.a,b.a,C.a],null,null)],(function(l,n){l(n,1,0)}),null)}var I=t["ɵccf"]("cd-pool-edit-mode-modal",g.a,w,{},{},[])},nhAp:function(l,n,e){"use strict";var t=e("8Y7J"),i=e("mXUL"),u=e("+gVj"),s=e("s7LF"),a=e("SVse"),o=e("eF8U"),r=e("jMP8"),d=e("uYzU"),c=e("EEJc"),m=e("ajRT"),p=e("gp3X"),h=e("sb0X"),g=e("KVJa"),f=e("Z21x"),v=e("sne2"),b=e("Z4cD"),C=e("LqlI"),S=e("my5R");e.d(n,"a",(function(){return T}));var _=t["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function y(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["This field is required."]))],null,null)}function R(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,33,"span",[],null,null,null,null,null)),(l()(),t["ɵeld"](1,0,null,null,1,"legend",[["class","cd-header"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Identifier"])),(l()(),t["ɵeld"](3,0,null,null,16,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,i.b,i.a)),t["ɵdid"](4,1163264,null,2,u.c,[t.ElementRef,u.g],null,null),t["ɵqud"](603979776,1,{FormControlNames:1}),t["ɵqud"](603979776,2,{messagesBlock:0}),(l()(),t["ɵeld"](7,0,null,0,12,"div",[["class","col-sm-12"]],null,null,null,null,null)),(l()(),t["ɵeld"](8,0,null,null,1,"label",[["class","col-form-label required"],["for","lun"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["lun"])),(l()(),t["ɵeld"](10,0,null,null,7,"input",[["class","form-control"],["formControlName","lun"],["id","lun"],["name","lun"],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,11)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,11).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,11)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,11)._compositionEnd(e.target.value)&&i),"change"===n&&(i=!1!==t["ɵnov"](l,12).onChange(e.target.value)&&i),"input"===n&&(i=!1!==t["ɵnov"](l,12).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,12).onTouched()&&i),i}),null,null)),t["ɵdid"](11,16384,null,0,s.e,[t.Renderer2,t.ElementRef,[2,s.b]],null,null),t["ɵdid"](12,16384,null,0,s.w,[t.Renderer2,t.ElementRef],null,null),t["ɵprd"](1024,null,s.p,(function(l,n){return[l,n]}),[s.e,s.w]),t["ɵdid"](14,671744,[[1,4]],0,s.j,[[3,s.d],[8,null],[8,null],[6,s.p],[2,s.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,s.q,null,[s.j]),t["ɵdid"](16,16384,null,0,s.r,[[4,s.q]],null,null),t["ɵdid"](17,16384,null,0,u.h,[[3,s.d],u.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,y)),t["ɵdid"](19,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](20,0,null,null,13,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,i.b,i.a)),t["ɵdid"](21,1163264,null,2,u.c,[t.ElementRef,u.g],null,null),t["ɵqud"](603979776,3,{FormControlNames:1}),t["ɵqud"](603979776,4,{messagesBlock:0}),(l()(),t["ɵeld"](24,0,null,0,9,"div",[["class","col-sm-12"]],null,null,null,null,null)),(l()(),t["ɵeld"](25,0,null,null,1,"label",[["class","col-form-label"],["for","wwn"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["wwn"])),(l()(),t["ɵeld"](27,0,null,null,6,"input",[["class","form-control"],["formControlName","wwn"],["id","wwn"],["name","wwn"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,28)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,28).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,28)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,28)._compositionEnd(e.target.value)&&i),i}),null,null)),t["ɵdid"](28,16384,null,0,s.e,[t.Renderer2,t.ElementRef,[2,s.b]],null,null),t["ɵprd"](1024,null,s.p,(function(l){return[l]}),[s.e]),t["ɵdid"](30,671744,[[3,4]],0,s.j,[[3,s.d],[8,null],[8,null],[6,s.p],[2,s.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,s.q,null,[s.j]),t["ɵdid"](32,16384,null,0,s.r,[[4,s.q]],null,null),t["ɵdid"](33,16384,null,0,u.h,[[3,s.d],u.a],{formControlName:[0,"formControlName"]},null)],(function(l,n){var e=n.component;l(n,4,0),l(n,14,0,"lun"),l(n,17,0,"lun"),l(n,19,0,e.settingsForm.showError("lun",t["ɵnov"](n.parent,12),"required")),l(n,21,0),l(n,30,0,"wwn"),l(n,33,0,"wwn")}),(function(l,n){l(n,3,0,t["ɵnov"](n,4).hasErrors,t["ɵnov"](n,4).hasSuccess),l(n,10,0,t["ɵnov"](n,16).ngClassUntouched,t["ɵnov"](n,16).ngClassTouched,t["ɵnov"](n,16).ngClassPristine,t["ɵnov"](n,16).ngClassDirty,t["ɵnov"](n,16).ngClassValid,t["ɵnov"](n,16).ngClassInvalid,t["ɵnov"](n,16).ngClassPending,t["ɵnov"](n,17).validClass,t["ɵnov"](n,17).invalidClass),l(n,20,0,t["ɵnov"](n,21).hasErrors,t["ɵnov"](n,21).hasSuccess),l(n,27,0,t["ɵnov"](n,32).ngClassUntouched,t["ɵnov"](n,32).ngClassTouched,t["ɵnov"](n,32).ngClassPristine,t["ɵnov"](n,32).ngClassDirty,t["ɵnov"](n,32).ngClassValid,t["ɵnov"](n,32).ngClassInvalid,t["ɵnov"](n,32).ngClassPending,t["ɵnov"](n,33).validClass,t["ɵnov"](n,33).invalidClass)}))}function w(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,4,"option",[],null,null,null,null,null)),t["ɵdid"](1,147456,null,0,s.v,[t.ElementRef,t.Renderer2,[2,s.A]],{value:[0,"value"]},null),t["ɵdid"](2,147456,null,0,s.F,[t.ElementRef,t.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),t["ɵted"](3,null,["",""])),t["ɵppd"](4,1)],(function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)}),(function(l,n){var e=t["ɵunv"](n,3,0,l(n,4,0,t["ɵnov"](n.parent,0),n.context.$implicit));l(n,3,0,e)}))}function I(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,6,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,i.b,i.a)),t["ɵdid"](1,1163264,null,2,u.c,[t.ElementRef,u.g],null,null),t["ɵqud"](603979776,7,{FormControlNames:1}),t["ɵqud"](603979776,8,{messagesBlock:0}),(l()(),t["ɵeld"](4,0,null,0,2,"div",[["class","col-sm-12"]],null,null,null,null,null)),(l()(),t["ɵeld"](5,0,null,null,1,"cd-iscsi-setting",[],null,null,null,o.b,o.a)),t["ɵdid"](6,114688,null,0,r.a,[],{settingsForm:[0,"settingsForm"],formDir:[1,"formDir"],setting:[2,"setting"],limits:[3,"limits"]},null)],(function(l,n){var e=n.component;l(n,1,0),l(n,6,0,e.settingsForm,t["ɵnov"](n.parent.parent.parent,12),n.context.$implicit.key,e.getDiskControlLimits(n.parent.parent.context.$implicit,n.context.$implicit.key))}),(function(l,n){l(n,0,0,t["ɵnov"](n,1).hasErrors,t["ɵnov"](n,1).hasSuccess)}))}function k(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,3,null,null,null,null,null,null,null)),(l()(),t["ɵand"](16777216,null,null,2,null,I)),t["ɵdid"](2,278528,null,0,a.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),t["ɵpid"](0,a.KeyValuePipe,[t.KeyValueDiffers]),(l()(),t["ɵand"](0,null,null,0))],(function(l,n){var e=n.component;l(n,2,0,t["ɵunv"](n,2,0,t["ɵnov"](n,3).transform(e.disk_default_controls[n.parent.context.$implicit])))}),null)}function E(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,2,null,null,null,null,null,null,null)),(l()(),t["ɵand"](16777216,null,null,1,null,k)),t["ɵdid"](2,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](0,null,null,0))],(function(l,n){l(n,2,0,n.component.settingsForm.value.backstore===n.context.$implicit)}),null)}function N(l){return t["ɵvid"](0,[t["ɵpid"](0,d.a,[]),(l()(),t["ɵeld"](1,0,null,null,46,"cd-modal",[],null,null,null,c.c,c.b)),t["ɵdid"](2,49152,null,0,m.a,[],{modalRef:[0,"modalRef"]},null),(l()(),t["ɵeld"](3,0,null,0,5,null,null,null,null,null,null,null)),(l()(),t["ɵeld"](4,0,null,null,1,null,null,null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Configure"])),(l()(),t["ɵted"](-1,null,["  "])),(l()(),t["ɵeld"](7,0,null,null,1,"small",[],null,null,null,null,null)),(l()(),t["ɵted"](8,null,["",""])),(l()(),t["ɵeld"](9,0,null,1,38,null,null,null,null,null,null,null)),(l()(),t["ɵeld"](10,0,null,null,37,"form",[["class","form"],["name","settingsForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,e){var i=!0;return"submit"===n&&(i=!1!==t["ɵnov"](l,12).onSubmit(e)&&i),"reset"===n&&(i=!1!==t["ɵnov"](l,12).onReset()&&i),"submit"===n&&(i=!1!==t["ɵnov"](l,15).onSubmit()&&i),i}),null,null)),t["ɵdid"](11,16384,null,0,s.G,[],null,null),t["ɵdid"](12,540672,[["formDir",4]],0,s.l,[[8,null],[8,null]],{form:[0,"form"]},null),t["ɵprd"](2048,null,s.d,null,[s.l]),t["ɵdid"](14,16384,null,0,s.s,[[4,s.d]],null,null),t["ɵdid"](15,16384,null,0,u.d,[],{formGroup:[0,"formGroup"]},null),(l()(),t["ɵeld"](16,0,null,null,24,"div",[["class","modal-body"]],null,null,null,null,null)),(l()(),t["ɵeld"](17,0,null,null,1,"p",[["class","alert-warning"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Changing these parameters from their default values is usually not necessary."])),(l()(),t["ɵand"](16777216,null,null,1,null,R)),t["ɵdid"](20,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](21,0,null,null,1,"legend",[["class","cd-header"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Settings"])),(l()(),t["ɵeld"](23,0,null,null,15,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,i.b,i.a)),t["ɵdid"](24,1163264,null,2,u.c,[t.ElementRef,u.g],null,null),t["ɵqud"](603979776,5,{FormControlNames:1}),t["ɵqud"](603979776,6,{messagesBlock:0}),(l()(),t["ɵeld"](27,0,null,0,11,"div",[["class","col-sm-12"]],null,null,null,null,null)),(l()(),t["ɵeld"](28,0,null,null,1,"label",[["class","col-form-label"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Backstore"])),(l()(),t["ɵeld"](30,0,null,null,8,"select",[["class","form-control custom-select"],["formControlName","backstore"],["id","backstore"],["name","backstore"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,e){var i=!0;return"change"===n&&(i=!1!==t["ɵnov"](l,31).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,31).onTouched()&&i),i}),null,null)),t["ɵdid"](31,16384,null,0,s.A,[t.Renderer2,t.ElementRef],null,null),t["ɵprd"](1024,null,s.p,(function(l){return[l]}),[s.A]),t["ɵdid"](33,671744,[[5,4]],0,s.j,[[3,s.d],[8,null],[8,null],[6,s.p],[2,s.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,s.q,null,[s.j]),t["ɵdid"](35,16384,null,0,s.r,[[4,s.q]],null,null),t["ɵdid"](36,16384,null,0,u.h,[[3,s.d],u.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,w)),t["ɵdid"](38,278528,null,0,a.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,E)),t["ɵdid"](40,278528,null,0,a.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),t["ɵeld"](41,0,null,null,6,"div",[["class","modal-footer"]],null,null,null,null,null)),(l()(),t["ɵeld"](42,0,null,null,5,"div",[["class","button-group text-right"]],null,null,null,null,null)),(l()(),t["ɵeld"](43,0,null,null,2,"cd-submit-button",[],null,[[null,"submitAction"]],(function(l,n,e){var t=!0;return"submitAction"===n&&(t=!1!==l.component.save()&&t),t}),p.b,p.a)),t["ɵdid"](44,114688,null,0,h.a,[t.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(l()(),t["ɵted"](-1,0,["Confirm"])),(l()(),t["ɵeld"](46,0,null,null,1,"cd-back-button",[["name","Cancel"]],null,null,null,g.b,g.a)),t["ɵdid"](47,49152,null,0,f.a,[a.Location,v.b],{name:[0,"name"],back:[1,"back"]},null)],(function(l,n){var e=n.component;l(n,2,0,e.modalRef),l(n,12,0,e.settingsForm),l(n,15,0,e.settingsForm),l(n,20,0,e.api_version>=1),l(n,24,0),l(n,33,0,"backstore"),l(n,36,0,"backstore"),l(n,38,0,e.backstores),l(n,40,0,e.backstores),l(n,44,0,e.settingsForm),l(n,47,0,"Cancel",e.modalRef.hide)}),(function(l,n){l(n,8,0,n.component.image),l(n,10,0,t["ɵnov"](n,14).ngClassUntouched,t["ɵnov"](n,14).ngClassTouched,t["ɵnov"](n,14).ngClassPristine,t["ɵnov"](n,14).ngClassDirty,t["ɵnov"](n,14).ngClassValid,t["ɵnov"](n,14).ngClassInvalid,t["ɵnov"](n,14).ngClassPending),l(n,23,0,t["ɵnov"](n,24).hasErrors,t["ɵnov"](n,24).hasSuccess),l(n,30,0,t["ɵnov"](n,35).ngClassUntouched,t["ɵnov"](n,35).ngClassTouched,t["ɵnov"](n,35).ngClassPristine,t["ɵnov"](n,35).ngClassDirty,t["ɵnov"](n,35).ngClassValid,t["ɵnov"](n,35).ngClassInvalid,t["ɵnov"](n,35).ngClassPending,t["ɵnov"](n,36).validClass,t["ɵnov"](n,36).invalidClass)}))}function F(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"cd-iscsi-target-image-settings-modal",[],null,null,null,N,_)),t["ɵdid"](1,114688,null,0,b.a,[C.a,S.a],null,null)],(function(l,n){l(n,1,0)}),null)}var T=t["ɵccf"]("cd-iscsi-target-image-settings-modal",b.a,F,{},{},[])},o8EM:function(l,n,e){"use strict";e.d(n,"a",(function(){return s}));var t=e("PhyI"),i=e("8Y7J"),u=e("GiVz");let s=(()=>{class l{constructor(l){this.i18n=l,this.sections=[{heading:this.i18n("Quality of Service"),class:"quality-of-service",options:[{name:"rbd_qos_bps_limit",displayName:this.i18n("BPS Limit"),description:this.i18n("The desired limit of IO bytes per second."),type:t.b.bps},{name:"rbd_qos_iops_limit",displayName:this.i18n("IOPS Limit"),description:this.i18n("The desired limit of IO operations per second."),type:t.b.iops},{name:"rbd_qos_read_bps_limit",displayName:this.i18n("Read BPS Limit"),description:this.i18n("The desired limit of read bytes per second."),type:t.b.bps},{name:"rbd_qos_read_iops_limit",displayName:this.i18n("Read IOPS Limit"),description:this.i18n("The desired limit of read operations per second."),type:t.b.iops},{name:"rbd_qos_write_bps_limit",displayName:this.i18n("Write BPS Limit"),description:this.i18n("The desired limit of write bytes per second."),type:t.b.bps},{name:"rbd_qos_write_iops_limit",displayName:this.i18n("Write IOPS Limit"),description:this.i18n("The desired limit of write operations per second."),type:t.b.iops},{name:"rbd_qos_bps_burst",displayName:this.i18n("BPS Burst"),description:this.i18n("The desired burst limit of IO bytes."),type:t.b.bps},{name:"rbd_qos_iops_burst",displayName:this.i18n("IOPS Burst"),description:this.i18n("The desired burst limit of IO operations."),type:t.b.iops},{name:"rbd_qos_read_bps_burst",displayName:this.i18n("Read BPS Burst"),description:this.i18n("The desired burst limit of read bytes."),type:t.b.bps},{name:"rbd_qos_read_iops_burst",displayName:this.i18n("Read IOPS Burst"),description:this.i18n("The desired burst limit of read operations."),type:t.b.iops},{name:"rbd_qos_write_bps_burst",displayName:this.i18n("Write BPS Burst"),description:this.i18n("The desired burst limit of write bytes."),type:t.b.bps},{name:"rbd_qos_write_iops_burst",displayName:this.i18n("Write IOPS Burst"),description:this.i18n("The desired burst limit of write operations."),type:t.b.iops}]}]}static getOptionsFromSections(l){return l.map(l=>l.options).reduce((l,n)=>l.concat(n))}filterConfigOptionsByName(n){return l.getOptionsFromSections(this.sections).filter(l=>l.name===n)}getOptionValueByName(l,n,e=""){const t=this.filterConfigOptionsByName(l);return 1===t.length?t.pop()[n]:e}getWritableSections(){return this.sections.map(l=>(l.options=l.options.filter(l=>!l.readOnly),l))}getOptionFields(){return l.getOptionsFromSections(this.sections)}getWritableOptionFields(){return l.getOptionsFromSections(this.getWritableSections())}getOptionByName(l){return this.filterConfigOptionsByName(l).pop()}getDisplayName(l){return this.getOptionValueByName(l,"displayName")}getDescription(l){return this.getOptionValueByName(l,"description")}}return l.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new l(i["ɵɵinject"](u.a))},token:l,providedIn:"root"}),l})()},puGn:function(l,n,e){"use strict";e.d(n,"a",(function(){return s}));var t=e("s7LF"),i=(e("XED3"),e("QFaf")),u=e("kvvV");e("kn/O");class s{constructor(l,n,e){this.modalRef=l,this.rbdMirroringService=n,this.taskWrapper=e,this.createForm()}createForm(){this.editSiteNameForm=new i.a({siteName:new t.i("",{})})}ngOnInit(){this.editSiteNameForm.get("siteName").setValue(this.siteName),this.rbdMirroringService.getSiteName().subscribe(l=>{this.editSiteNameForm.get("siteName").setValue(l.site_name)})}update(){this.taskWrapper.wrapTaskAroundCall({task:new u.a("rbd/mirroring/site_name/edit",{}),call:this.rbdMirroringService.setSiteName(this.editSiteNameForm.getValue("siteName"))}).subscribe(void 0,()=>this.editSiteNameForm.setErrors({cdSubmitButton:!0}),()=>{this.rbdMirroringService.refresh(),this.modalRef.hide()})}}},rFfW:function(l,n,e){"use strict";e.d(n,"a",(function(){return o}));var t=e("8Y7J"),i=e("s7LF"),u=e("oxzT"),s=e("QFaf"),a=e("PhyI");e("aXbf"),e("o8EM");class o{constructor(l,n){this.formatterService=l,this.rbdConfigurationService=n,this.changes=new t.EventEmitter,this.icons=u.a,this.ngDataReady=new t.EventEmitter,this.configurationType=a.b,this.sectionVisibility={}}ngOnInit(){const l=this.createConfigurationFormGroup();this.form.addControl("configuration",l),l.valueChanges.subscribe(()=>{this.changes.emit(this.getDirtyValues.bind(this))}),this.initializeData&&this.initializeData.subscribe(l=>{this.initialData=l.initialData;const n=l.sourceType;this.rbdConfigurationService.getWritableOptionFields().forEach(e=>{const t=l.initialData.filter(l=>l.name===e.name).pop();t&&t.source===n&&this.form.get(`configuration.${e.name}`).setValue(t.value)}),this.ngDataReady.emit()}),this.rbdConfigurationService.getWritableSections().forEach(l=>this.sectionVisibility[l.class]=!1)}getDirtyValues(l=!1,n){if(l&&!n)throw new Error("ProgrammingError: If local values shall be included, a proper localFieldType argument has to be provided, too");const e={};return this.rbdConfigurationService.getWritableOptionFields().forEach(t=>{const i=this.form.get("configuration").get(t.name);this.initialData&&this.initialData[t.name]===i.value||(i.dirty||l&&i.source===n)&&(e[t.name]=null===i.value?i.value:t.type===a.b.bps?this.formatterService.toBytes(i.value):t.type===a.b.milliseconds?this.formatterService.toMilliseconds(i.value):t.type===a.b.iops?this.formatterService.toIops(i.value):i.value)}),e}createConfigurationFormGroup(){const l=new s.a({});return this.rbdConfigurationService.getWritableOptionFields().forEach(n=>{let e;if(n.type!==a.b.milliseconds&&n.type!==a.b.iops&&n.type!==a.b.bps)throw new Error(`Type ${n.type} is unknown, you may need to add it to RbdConfiguration class`);e=new i.i(0,i.B.min(0)),l.addControl(n.name,e)}),l}reset(l){const n=this.form.get("configuration").get(l);n.disabled?(n.setValue(n.previousValue||0),n.enable(),n.previousValue||n.markAsPristine()):(n.previousValue=n.value,n.setValue(null),n.markAsDirty(),n.disable())}isDisabled(l){return this.form.get("configuration").get(l).disabled}toggleSectionVisibility(l){this.sectionVisibility[l]=!this.sectionVisibility[l]}}},roDX:function(l,n,e){"use strict";e.d(n,"a",(function(){return i})),e("my5R");var t=e("x38r");e("o4+5"),e("uYzU");class i{constructor(l,n,e,t){this.iscsiService=l,this.dimlessPipe=n,this.iscsiBackstorePipe=e,this.i18n=t,this.gateways=[],this.images=[]}ngOnInit(){this.gatewaysColumns=[{name:this.i18n("Name"),prop:"name"},{name:this.i18n("State"),prop:"state",flexGrow:1,cellTransformation:t.a.badge,customTemplateConfig:{map:{up:{class:"badge-success"},down:{class:"badge-danger"}}}},{name:this.i18n("# Targets"),prop:"num_targets"},{name:this.i18n("# Sessions"),prop:"num_sessions"}],this.imagesColumns=[{name:this.i18n("Pool"),prop:"pool"},{name:this.i18n("Image"),prop:"image"},{name:this.i18n("Backstore"),prop:"backstore",pipe:this.iscsiBackstorePipe},{name:this.i18n("Read Bytes"),prop:"stats_history.rd_bytes",cellTemplate:this.iscsiSparklineTpl},{name:this.i18n("Write Bytes"),prop:"stats_history.wr_bytes",cellTemplate:this.iscsiSparklineTpl},{name:this.i18n("Read Ops"),prop:"stats.rd",pipe:this.dimlessPipe,cellTemplate:this.iscsiPerSecondTpl},{name:this.i18n("Write Ops"),prop:"stats.wr",pipe:this.dimlessPipe,cellTemplate:this.iscsiPerSecondTpl},{name:this.i18n("A/O Since"),prop:"optimized_since",cellTemplate:this.iscsiRelativeDateTpl}]}refresh(){this.iscsiService.overview().subscribe(l=>{this.gateways=l.gateways,this.images=l.images,this.images.map(l=>(l.stats_history&&(l.stats_history.rd_bytes=l.stats_history.rd_bytes.map(l=>l[1]),l.stats_history.wr_bytes=l.stats_history.wr_bytes.map(l=>l[1])),l.cdIsBinary=!0,l))})}}},u2XS:function(l,n,e){"use strict";var t=e("8Y7J"),i=e("SVse"),u=e("25BL"),s=e("uIqm"),a=e("LOMR"),o=e("MP8s"),r=e("fxL3"),d=e("gk6K"),c=e("3ris"),m=e("GiVz"),p=e("uYzU"),h=e("iExv");e.d(n,"b",(function(){return g})),e.d(n,"c",(function(){return _})),e.d(n,"a",(function(){return R}));var g=t["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function f(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,0,"i",[],[[8,"className",0]],null,null,null,null)),(l()(),t["ɵeld"](1,0,null,null,1,"span",[],null,null,null,null,null)),(l()(),t["ɵted"](2,null,["",""])),(l()(),t["ɵted"](-1,null,["   "])),(l()(),t["ɵeld"](4,0,null,null,6,"span",[["class","badge"]],null,null,null,null,null)),t["ɵprd"](512,null,i["ɵNgClassImpl"],i["ɵNgClassR2Impl"],[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2]),t["ɵdid"](6,278528,null,0,i.NgClass,[i["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t["ɵpad"](7,1),t["ɵpad"](8,1),t["ɵpod"](9,{"badge-success":0,"badge-danger":1}),(l()(),t["ɵted"](10,null,[" "," "]))],(function(l,n){var e=l(n,9,0,l(n,7,0,"logged_in").includes(n.context.$implicit.data.status),l(n,8,0,"logged_out").includes(n.context.$implicit.data.status));l(n,6,0,"badge",e)}),(function(l,n){l(n,0,0,n.context.$implicit.data.cdIcon),l(n,2,0,n.context.$implicit.data.name),l(n,10,0,n.context.$implicit.data.status)}))}function v(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,4,"div",[["class","col-6 metadata"]],null,null,null,null,null)),(l()(),t["ɵeld"](1,0,null,null,1,"legend",[],null,null,null,null,null)),(l()(),t["ɵted"](2,null,["",""])),(l()(),t["ɵeld"](3,0,null,null,1,"cd-table",[["columnMode","flex"]],null,null,null,u.b,u.a)),t["ɵdid"](4,2867200,[[2,4],["detailTable",4]],0,s.a,[t.NgZone,t.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],limit:[3,"limit"]},null)],(function(l,n){var e=n.component;l(n,4,0,e.data,e.columns,"flex",0)}),(function(l,n){l(n,2,0,n.component.title)}))}function b(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(l()(),t["ɵted"](1,null,["",""]))],null,(function(l,n){l(n,1,0,n.parent.context.value)}))}function C(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"strong",[],null,null,null,null,null)),(l()(),t["ɵted"](1,null,["",""]))],null,(function(l,n){l(n,1,0,n.parent.context.value)}))}function S(l){return t["ɵvid"](0,[(l()(),t["ɵand"](16777216,null,null,1,null,b)),t["ɵdid"](1,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,C)),t["ɵdid"](3,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](0,null,null,0))],(function(l,n){l(n,1,0,void 0===n.context.row.default||n.context.row.default===n.context.row.current),l(n,3,0,void 0!==n.context.row.default&&n.context.row.default!==n.context.row.current)}),null)}function _(l){return t["ɵvid"](0,[t["ɵqud"](402653184,1,{highlightTpl:0}),t["ɵqud"](671088640,2,{content:0}),t["ɵqud"](671088640,3,{tree:0}),(l()(),t["ɵeld"](3,0,null,null,13,"div",[["class","row"]],null,null,null,null,null)),(l()(),t["ɵeld"](4,0,null,null,10,"div",[["class","col-6"]],null,null,null,null,null)),(l()(),t["ɵeld"](5,0,null,null,1,"legend",[],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["iSCSI Topology"])),(l()(),t["ɵeld"](7,0,null,null,7,"tree-root",[],null,[[null,"updateData"],["body","keydown"],["body","mousedown"]],(function(l,n,e){var i=!0,u=l.component;return"body:keydown"===n&&(i=!1!==t["ɵnov"](l,9).onKeydown(e)&&i),"body:mousedown"===n&&(i=!1!==t["ɵnov"](l,9).onMousedown(e)&&i),"updateData"===n&&(i=!1!==u.onUpdateData()&&i),i}),a.b,a.a)),t["ɵprd"](131584,null,o.a,o.a,[]),t["ɵdid"](9,573440,[[3,4],["tree",4]],4,r.a,[o.a,d.a],{nodes:[0,"nodes"],options:[1,"options"]},{updateData:"updateData"}),t["ɵqud"](603979776,4,{loadingTemplate:0}),t["ɵqud"](603979776,5,{treeNodeTemplate:0}),t["ɵqud"](603979776,6,{treeNodeWrapperTemplate:0}),t["ɵqud"](603979776,7,{treeNodeFullTemplate:0}),(l()(),t["ɵand"](0,[[5,2],["treeNodeTemplate",2]],null,0,null,f)),(l()(),t["ɵand"](16777216,null,null,1,null,v)),t["ɵdid"](16,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](0,[[1,2],["highlightTpl",2]],null,0,null,S))],(function(l,n){var e=n.component;l(n,9,0,e.nodes,e.treeOptions),l(n,16,0,e.data)}),null)}function y(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"cd-iscsi-target-details",[],null,null,null,_,g)),t["ɵdid"](1,638976,null,0,c.a,[m.a,p.a,h.a],null,null)],(function(l,n){l(n,1,0)}),null)}var R=t["ɵccf"]("cd-iscsi-target-details",c.a,y,{selection:"selection",settings:"settings",cephIscsiConfigVersion:"cephIscsiConfigVersion"},{},[])},xvu0:function(l,n,e){"use strict";var t=e("8Y7J"),i=e("EEJc"),u=e("ajRT"),s=e("s7LF"),a=e("+gVj"),o=e("mXUL"),r=e("IZUe"),d=e("gp3X"),c=e("sb0X"),m=e("KVJa"),p=e("Z21x"),h=e("SVse"),g=e("sne2"),f=e("puGn"),v=e("LqlI"),b=e("XED3"),C=e("kn/O");e.d(n,"a",(function(){return R}));var S=t["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function _(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,38,"cd-modal",[],null,null,null,i.c,i.b)),t["ɵdid"](1,49152,null,0,u.a,[],{modalRef:[0,"modalRef"]},null),(l()(),t["ɵeld"](2,0,null,0,1,null,null,null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Edit site name"])),(l()(),t["ɵeld"](4,0,null,1,34,null,null,null,null,null,null,null)),(l()(),t["ɵeld"](5,0,null,null,33,"form",[["class","form"],["name","editSiteNameForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,e){var i=!0;return"submit"===n&&(i=!1!==t["ɵnov"](l,7).onSubmit(e)&&i),"reset"===n&&(i=!1!==t["ɵnov"](l,7).onReset()&&i),"submit"===n&&(i=!1!==t["ɵnov"](l,10).onSubmit()&&i),i}),null,null)),t["ɵdid"](6,16384,null,0,s.G,[],null,null),t["ɵdid"](7,540672,[["formDir",4]],0,s.l,[[8,null],[8,null]],{form:[0,"form"]},null),t["ɵprd"](2048,null,s.d,null,[s.l]),t["ɵdid"](9,16384,null,0,s.s,[[4,s.d]],null,null),t["ɵdid"](10,16384,null,0,a.d,[],{formGroup:[0,"formGroup"]},null),(l()(),t["ɵeld"](11,0,null,null,20,"div",[["class","modal-body"]],null,null,null,null,null)),(l()(),t["ɵeld"](12,0,null,null,5,"p",[],null,null,null,null,null)),(l()(),t["ɵeld"](13,0,null,null,4,null,null,null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Edit the site name and click  "])),(l()(),t["ɵeld"](15,0,null,null,1,"kbd",[],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Update"])),(l()(),t["ɵted"](-1,null,["."])),(l()(),t["ɵeld"](18,0,null,null,13,"div",[["class","form-group"]],[[2,"has-error",null],[2,"has-success",null]],null,null,o.b,o.a)),t["ɵdid"](19,1163264,null,2,a.c,[t.ElementRef,a.g],null,null),t["ɵqud"](603979776,1,{FormControlNames:1}),t["ɵqud"](603979776,2,{messagesBlock:0}),(l()(),t["ɵeld"](22,0,null,0,1,"label",[["class","col-form-label required"],["for","siteName"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Site Name"])),(l()(),t["ɵeld"](24,0,null,0,7,"input",[["autofocus",""],["class","form-control"],["formControlName","siteName"],["id","siteName"],["name","siteName"],["placeholder","Name..."],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,26)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,26).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,26)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,26)._compositionEnd(e.target.value)&&i),i}),null,null)),t["ɵdid"](25,4210688,null,0,r.a,[t.ElementRef],{autofocus:[0,"autofocus"]},null),t["ɵdid"](26,16384,null,0,s.e,[t.Renderer2,t.ElementRef,[2,s.b]],null,null),t["ɵprd"](1024,null,s.p,(function(l){return[l]}),[s.e]),t["ɵdid"](28,671744,[[1,4]],0,s.j,[[3,s.d],[8,null],[8,null],[6,s.p],[2,s.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,s.q,null,[s.j]),t["ɵdid"](30,16384,null,0,s.r,[[4,s.q]],null,null),t["ɵdid"](31,16384,null,0,a.h,[[3,s.d],a.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵeld"](32,0,null,null,6,"div",[["class","modal-footer"]],null,null,null,null,null)),(l()(),t["ɵeld"](33,0,null,null,5,"div",[["class","button-group text-right"]],null,null,null,null,null)),(l()(),t["ɵeld"](34,0,null,null,2,"cd-submit-button",[],null,[[null,"submitAction"]],(function(l,n,e){var t=!0;return"submitAction"===n&&(t=!1!==l.component.update()&&t),t}),d.b,d.a)),t["ɵdid"](35,114688,null,0,c.a,[t.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(l()(),t["ɵted"](-1,0,["Update"])),(l()(),t["ɵeld"](37,0,null,null,1,"cd-back-button",[["name","Cancel"]],null,null,null,m.b,m.a)),t["ɵdid"](38,49152,null,0,p.a,[h.Location,g.b],{name:[0,"name"],back:[1,"back"]},null)],(function(l,n){var e=n.component;l(n,1,0,e.modalRef),l(n,7,0,e.editSiteNameForm),l(n,10,0,e.editSiteNameForm),l(n,19,0),l(n,25,0,""),l(n,28,0,"siteName"),l(n,31,0,"siteName"),l(n,35,0,e.editSiteNameForm),l(n,38,0,"Cancel",e.modalRef.hide)}),(function(l,n){l(n,5,0,t["ɵnov"](n,9).ngClassUntouched,t["ɵnov"](n,9).ngClassTouched,t["ɵnov"](n,9).ngClassPristine,t["ɵnov"](n,9).ngClassDirty,t["ɵnov"](n,9).ngClassValid,t["ɵnov"](n,9).ngClassInvalid,t["ɵnov"](n,9).ngClassPending),l(n,18,0,t["ɵnov"](n,19).hasErrors,t["ɵnov"](n,19).hasSuccess),l(n,24,0,t["ɵnov"](n,30).ngClassUntouched,t["ɵnov"](n,30).ngClassTouched,t["ɵnov"](n,30).ngClassPristine,t["ɵnov"](n,30).ngClassDirty,t["ɵnov"](n,30).ngClassValid,t["ɵnov"](n,30).ngClassInvalid,t["ɵnov"](n,30).ngClassPending,t["ɵnov"](n,31).validClass,t["ɵnov"](n,31).invalidClass)}))}function y(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"cd-edit-site-mode-modal",[],null,null,null,_,S)),t["ɵdid"](1,114688,null,0,f.a,[v.a,b.a,C.a],null,null)],(function(l,n){l(n,1,0)}),null)}var R=t["ɵccf"]("cd-edit-site-mode-modal",f.a,y,{},{},[])}}]);
\ No newline at end of file
diff --git a/ceph/src/pybind/mgr/dashboard/frontend/dist/en-US/2.d36650ee0a92dfd05faa.js b/ceph/src/pybind/mgr/dashboard/frontend/dist/en-US/2.d36650ee0a92dfd05faa.js
new file mode 100644 (file)
index 0000000..bf06118
--- /dev/null
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{"+26A":function(l,n,e){"use strict";e.d(n,"a",(function(){return d}));var t=e("s7LF"),i=e("LvDl"),u=e("GyhO"),s=e("cp0P"),a=e("NJ9Y"),o=(e("XED3"),e("QFaf")),r=e("kvvV");e("kn/O");class d{constructor(l,n,e){this.modalRef=l,this.rbdMirroringService=n,this.taskWrapper=e,this.pools=[],this.directions=[{key:"rx-tx",desc:"Bidirectional"},{key:"rx",desc:"Unidirectional (receive-only)"}],this.createForm()}createForm(){this.importBootstrapForm=new o.a({siteName:new t.i("",{validators:[t.B.required]}),direction:new t.i("rx-tx",{}),pools:new t.k({},{validators:[this.validatePools()]}),token:new t.i("",{validators:[t.B.required,this.validateToken()]})})}ngOnInit(){this.rbdMirroringService.getSiteName().subscribe(l=>{this.importBootstrapForm.get("siteName").setValue(l.site_name)}),this.subs=this.rbdMirroringService.subscribeSummary(l=>{if(!l)return;this.pools=l.content_data.pools.reduce((l,n)=>(l.push({name:n.name,mirror_mode:n.mirror_mode}),l),[]);const n=this.importBootstrapForm.get("pools");i.each(this.pools,l=>{const e=l.name,i="disabled"===l.mirror_mode,u=n.controls[e];u?i&&u.disabled?u.enable():!i&&u.enabled&&(u.disable(),u.setValue(!0)):n.addControl(e,new t.i({value:!i,disabled:!i}))})})}ngOnDestroy(){this.subs&&this.subs.unsubscribe()}validatePools(){return l=>{let n=0;return i.each(l.controls,l=>{!0===l.value&&++n}),n>0?null:{requirePool:!0}}}validateToken(){return l=>{try{if(JSON.parse(atob(l.value)))return null}catch(n){}return{invalidToken:!0}}}import(){const l=[],n=[],e=this.importBootstrapForm.get("pools");i.each(e.controls,(e,t)=>{!0===e.value&&(l.push(t),e.disabled||n.push(t))});const t={mirror_mode:"image"};let o=Object(u.a)(this.rbdMirroringService.setSiteName(this.importBootstrapForm.getValue("siteName")),Object(s.a)(n.map(l=>this.rbdMirroringService.updatePool(l,t))));o=l.reduce((l,n)=>Object(u.a)(l,this.rbdMirroringService.importBootstrapToken(n,this.importBootstrapForm.getValue("direction"),this.importBootstrapForm.getValue("token"))),o).pipe(Object(a.a)());const d=()=>{this.rbdMirroringService.refresh(),this.importBootstrapForm.setErrors({cdSubmitButton:!0})};this.taskWrapper.wrapTaskAroundCall({task:new r.a("rbd/mirroring/bootstrap/import",{}),call:o}).subscribe(void 0,d,()=>{d(),this.modalRef.hide()})}}},"0BYw":function(l,n,e){"use strict";var t=e("8Y7J"),i=e("s7LF"),u=e("+gVj"),s=e("SVse"),a=e("EEJc"),o=e("ajRT"),r=e("mXUL"),d=e("IZUe"),c=e("gp3X"),m=e("sb0X"),p=e("KVJa"),h=e("Z21x"),g=e("sne2"),f=e("daK0"),v=e("LqlI"),b=e("aexS"),C=e("9nlD"),S=e("Ekvf"),_=e("F83c"),y=e("GiVz");e.d(n,"a",(function(){return q}));var R=t["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function w(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,6,"input",[["class","form-control"],["formControlName","pool"],["id","pool"],["name","pool"],["placeholder","Pool name..."],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,1)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,1).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,1)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,1)._compositionEnd(e.target.value)&&i),i}),null,null)),t["ɵdid"](1,16384,null,0,i.e,[t.Renderer2,t.ElementRef,[2,i.b]],null,null),t["ɵprd"](1024,null,i.p,(function(l){return[l]}),[i.e]),t["ɵdid"](3,671744,[[1,4]],0,i.j,[[3,i.d],[8,null],[8,null],[6,i.p],[2,i.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,i.q,null,[i.j]),t["ɵdid"](5,16384,null,0,i.r,[[4,i.q]],null,null),t["ɵdid"](6,16384,null,0,u.h,[[3,i.d],u.a],{formControlName:[0,"formControlName"]},null)],(function(l,n){l(n,3,0,"pool"),l(n,6,0,"pool")}),(function(l,n){l(n,0,0,t["ɵnov"](n,5).ngClassUntouched,t["ɵnov"](n,5).ngClassTouched,t["ɵnov"](n,5).ngClassPristine,t["ɵnov"](n,5).ngClassDirty,t["ɵnov"](n,5).ngClassValid,t["ɵnov"](n,5).ngClassInvalid,t["ɵnov"](n,5).ngClassPending,t["ɵnov"](n,6).validClass,t["ɵnov"](n,6).invalidClass)}))}function I(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),t["ɵdid"](1,147456,null,0,i.v,[t.ElementRef,t.Renderer2,[2,i.A]],{ngValue:[0,"ngValue"]},null),t["ɵdid"](2,147456,null,0,i.F,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),t["ɵted"](-1,null,["Loading..."]))],(function(l,n){l(n,1,0,null),l(n,2,0,null)}),null)}function k(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),t["ɵdid"](1,147456,null,0,i.v,[t.ElementRef,t.Renderer2,[2,i.A]],{ngValue:[0,"ngValue"]},null),t["ɵdid"](2,147456,null,0,i.F,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),t["ɵted"](-1,null,["-- No rbd pools available --"]))],(function(l,n){l(n,1,0,null),l(n,2,0,null)}),null)}function E(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),t["ɵdid"](1,147456,null,0,i.v,[t.ElementRef,t.Renderer2,[2,i.A]],{ngValue:[0,"ngValue"]},null),t["ɵdid"](2,147456,null,0,i.F,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),t["ɵted"](-1,null,["-- Select a pool --"]))],(function(l,n){l(n,1,0,null),l(n,2,0,null)}),null)}function N(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),t["ɵdid"](1,147456,null,0,i.v,[t.ElementRef,t.Renderer2,[2,i.A]],{value:[0,"value"]},null),t["ɵdid"](2,147456,null,0,i.F,[t.ElementRef,t.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),t["ɵted"](3,null,["",""]))],(function(l,n){l(n,1,0,n.context.$implicit.pool_name),l(n,2,0,n.context.$implicit.pool_name)}),(function(l,n){l(n,3,0,n.context.$implicit.pool_name)}))}function F(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,14,"select",[["class","form-control custom-select"],["formControlName","pool"],["id","pool"],["name","pool"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,e){var i=!0;return"change"===n&&(i=!1!==t["ɵnov"](l,1).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,1).onTouched()&&i),i}),null,null)),t["ɵdid"](1,16384,null,0,i.A,[t.Renderer2,t.ElementRef],null,null),t["ɵprd"](1024,null,i.p,(function(l){return[l]}),[i.A]),t["ɵdid"](3,671744,[[1,4]],0,i.j,[[3,i.d],[8,null],[8,null],[6,i.p],[2,i.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,i.q,null,[i.j]),t["ɵdid"](5,16384,null,0,i.r,[[4,i.q]],null,null),t["ɵdid"](6,16384,null,0,u.h,[[3,i.d],u.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,I)),t["ɵdid"](8,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,k)),t["ɵdid"](10,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,E)),t["ɵdid"](12,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,N)),t["ɵdid"](14,278528,null,0,s.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(l,n){var e=n.component;l(n,3,0,"pool"),l(n,6,0,"pool"),l(n,8,0,null===e.pools),l(n,10,0,null!==e.pools&&0===e.pools.length),l(n,12,0,null!==e.pools&&e.pools.length>0),l(n,14,0,e.pools)}),(function(l,n){l(n,0,0,t["ɵnov"](n,5).ngClassUntouched,t["ɵnov"](n,5).ngClassTouched,t["ɵnov"](n,5).ngClassPristine,t["ɵnov"](n,5).ngClassDirty,t["ɵnov"](n,5).ngClassValid,t["ɵnov"](n,5).ngClassInvalid,t["ɵnov"](n,5).ngClassPending,t["ɵnov"](n,6).validClass,t["ɵnov"](n,6).invalidClass)}))}function T(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["This field is required."]))],null,null)}function V(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["This field is required."]))],null,null)}function D(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Namespace already exists."]))],null,null)}function P(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,50,"cd-modal",[],null,null,null,a.c,a.b)),t["ɵdid"](1,49152,null,0,o.a,[],{modalRef:[0,"modalRef"]},null),(l()(),t["ɵeld"](2,0,null,0,1,null,null,null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Create Namespace"])),(l()(),t["ɵeld"](4,0,null,1,46,null,null,null,null,null,null,null)),(l()(),t["ɵeld"](5,0,null,null,45,"form",[["name","namespaceForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,e){var i=!0;return"submit"===n&&(i=!1!==t["ɵnov"](l,7).onSubmit(e)&&i),"reset"===n&&(i=!1!==t["ɵnov"](l,7).onReset()&&i),"submit"===n&&(i=!1!==t["ɵnov"](l,10).onSubmit()&&i),i}),null,null)),t["ɵdid"](6,16384,null,0,i.G,[],null,null),t["ɵdid"](7,540672,[["formDir",4]],0,i.l,[[8,null],[8,null]],{form:[0,"form"]},null),t["ɵprd"](2048,null,i.d,null,[i.l]),t["ɵdid"](9,16384,null,0,i.s,[[4,i.d]],null,null),t["ɵdid"](10,16384,null,0,u.d,[],{formGroup:[0,"formGroup"]},null),(l()(),t["ɵeld"](11,0,null,null,32,"div",[["class","modal-body"]],null,null,null,null,null)),(l()(),t["ɵeld"](12,0,null,null,12,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,r.b,r.a)),t["ɵdid"](13,1163264,null,2,u.c,[t.ElementRef,u.g],null,null),t["ɵqud"](603979776,1,{FormControlNames:1}),t["ɵqud"](603979776,2,{messagesBlock:0}),(l()(),t["ɵeld"](16,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","pool"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Pool"])),(l()(),t["ɵeld"](18,0,null,0,6,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),t["ɵand"](16777216,null,null,1,null,w)),t["ɵdid"](20,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,F)),t["ɵdid"](22,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,T)),t["ɵdid"](24,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](25,0,null,null,18,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,r.b,r.a)),t["ɵdid"](26,1163264,null,2,u.c,[t.ElementRef,u.g],null,null),t["ɵqud"](603979776,3,{FormControlNames:1}),t["ɵqud"](603979776,4,{messagesBlock:0}),(l()(),t["ɵeld"](29,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","namespace"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Name"])),(l()(),t["ɵeld"](31,0,null,0,12,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),t["ɵeld"](32,0,null,null,7,"input",[["autofocus",""],["class","form-control"],["formControlName","namespace"],["id","namespace"],["name","namespace"],["placeholder","Namespace name..."],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,33)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,33).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,33)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,33)._compositionEnd(e.target.value)&&i),i}),null,null)),t["ɵdid"](33,16384,null,0,i.e,[t.Renderer2,t.ElementRef,[2,i.b]],null,null),t["ɵprd"](1024,null,i.p,(function(l){return[l]}),[i.e]),t["ɵdid"](35,671744,[[3,4]],0,i.j,[[3,i.d],[8,null],[8,null],[6,i.p],[2,i.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,i.q,null,[i.j]),t["ɵdid"](37,16384,null,0,i.r,[[4,i.q]],null,null),t["ɵdid"](38,4210688,null,0,d.a,[t.ElementRef],{autofocus:[0,"autofocus"]},null),t["ɵdid"](39,16384,null,0,u.h,[[3,i.d],u.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,V)),t["ɵdid"](41,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,D)),t["ɵdid"](43,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](44,0,null,null,6,"div",[["class","modal-footer"]],null,null,null,null,null)),(l()(),t["ɵeld"](45,0,null,null,5,"div",[["class","button-group text-right"]],null,null,null,null,null)),(l()(),t["ɵeld"](46,0,null,null,2,"cd-submit-button",[],null,[[null,"submitAction"]],(function(l,n,e){var t=!0;return"submitAction"===n&&(t=!1!==l.component.submit()&&t),t}),c.b,c.a)),t["ɵdid"](47,114688,null,0,m.a,[t.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(l()(),t["ɵted"](-1,0,["Create Namespace"])),(l()(),t["ɵeld"](49,0,null,null,1,"cd-back-button",[["name","Close"]],null,null,null,p.b,p.a)),t["ɵdid"](50,49152,null,0,h.a,[s.Location,g.b],{name:[0,"name"],back:[1,"back"]},null)],(function(l,n){var e=n.component;l(n,1,0,e.modalRef),l(n,7,0,e.namespaceForm),l(n,10,0,e.namespaceForm),l(n,13,0),l(n,20,0,!e.poolPermission.read),l(n,22,0,e.poolPermission.read),l(n,24,0,e.namespaceForm.showError("pool",t["ɵnov"](n,7),"required")),l(n,26,0),l(n,35,0,"namespace"),l(n,38,0,""),l(n,39,0,"namespace"),l(n,41,0,e.namespaceForm.showError("namespace",t["ɵnov"](n,7),"required")),l(n,43,0,e.namespaceForm.showError("namespace",t["ɵnov"](n,7),"namespaceExists")),l(n,47,0,e.namespaceForm),l(n,50,0,"Close",e.modalRef.hide)}),(function(l,n){l(n,5,0,t["ɵnov"](n,9).ngClassUntouched,t["ɵnov"](n,9).ngClassTouched,t["ɵnov"](n,9).ngClassPristine,t["ɵnov"](n,9).ngClassDirty,t["ɵnov"](n,9).ngClassValid,t["ɵnov"](n,9).ngClassInvalid,t["ɵnov"](n,9).ngClassPending),l(n,12,0,t["ɵnov"](n,13).hasErrors,t["ɵnov"](n,13).hasSuccess),l(n,25,0,t["ɵnov"](n,26).hasErrors,t["ɵnov"](n,26).hasSuccess),l(n,32,0,t["ɵnov"](n,37).ngClassUntouched,t["ɵnov"](n,37).ngClassTouched,t["ɵnov"](n,37).ngClassPristine,t["ɵnov"](n,37).ngClassDirty,t["ɵnov"](n,37).ngClassValid,t["ɵnov"](n,37).ngClassInvalid,t["ɵnov"](n,37).ngClassPending,t["ɵnov"](n,39).validClass,t["ɵnov"](n,39).invalidClass)}))}function x(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"cd-rbd-namespace-form-modal",[],null,null,null,P,R)),t["ɵdid"](1,114688,null,0,f.a,[v.a,b.a,C.a,S.a,_.a,y.a],null,null)],(function(l,n){l(n,1,0)}),null)}var q=t["ɵccf"]("cd-rbd-namespace-form-modal",f.a,x,{},{},[])},"0rTx":function(l,n,e){"use strict";var t=e("8Y7J"),i=e("EEJc"),u=e("ajRT"),s=e("s7LF"),a=e("+gVj"),o=e("mXUL"),r=e("IZUe"),d=e("SVse"),c=e("gp3X"),m=e("sb0X"),p=e("KVJa"),h=e("Z21x"),g=e("sne2"),f=e("2GqK"),v=e("F83c"),b=e("LqlI"),C=e("2EZI"),S=e("kn/O");e.d(n,"a",(function(){return I}));var _=t["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function y(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["This field is required."]))],null,null)}function R(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,47,"cd-modal",[],null,null,null,i.c,i.b)),t["ɵdid"](1,49152,null,0,u.a,[],{modalRef:[0,"modalRef"]},null),(l()(),t["ɵeld"](2,0,null,0,1,null,null,null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Restore Image"])),(l()(),t["ɵeld"](4,0,null,1,43,null,null,null,null,null,null,null)),(l()(),t["ɵeld"](5,0,null,null,42,"form",[["class","form"],["name","restoreForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,e){var i=!0;return"submit"===n&&(i=!1!==t["ɵnov"](l,7).onSubmit(e)&&i),"reset"===n&&(i=!1!==t["ɵnov"](l,7).onReset()&&i),"submit"===n&&(i=!1!==t["ɵnov"](l,10).onSubmit()&&i),i}),null,null)),t["ɵdid"](6,16384,null,0,s.G,[],null,null),t["ɵdid"](7,540672,[["formDir",4]],0,s.l,[[8,null],[8,null]],{form:[0,"form"]},null),t["ɵprd"](2048,null,s.d,null,[s.l]),t["ɵdid"](9,16384,null,0,s.s,[[4,s.d]],null,null),t["ɵdid"](10,16384,null,0,a.d,[],{formGroup:[0,"formGroup"]},null),(l()(),t["ɵeld"](11,0,null,null,29,"div",[["class","modal-body"]],null,null,null,null,null)),(l()(),t["ɵeld"](12,0,null,null,12,"p",[],null,null,null,null,null)),(l()(),t["ɵeld"](13,0,null,null,1,null,null,null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["To restore"])),(l()(),t["ɵted"](-1,null,["  "])),(l()(),t["ɵeld"](16,0,null,null,1,"kbd",[],null,null,null,null,null)),(l()(),t["ɵted"](17,null,["","@",""])),(l()(),t["ɵted"](-1,null,[",  "])),(l()(),t["ɵeld"](19,0,null,null,1,null,null,null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["type the image's new name and click"])),(l()(),t["ɵted"](-1,null,["  "])),(l()(),t["ɵeld"](22,0,null,null,1,"kbd",[],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Restore Image"])),(l()(),t["ɵted"](-1,null,[". "])),(l()(),t["ɵeld"](25,0,null,null,15,"div",[["class","form-group"]],[[2,"has-error",null],[2,"has-success",null]],null,null,o.b,o.a)),t["ɵdid"](26,1163264,null,2,a.c,[t.ElementRef,a.g],null,null),t["ɵqud"](603979776,1,{FormControlNames:1}),t["ɵqud"](603979776,2,{messagesBlock:0}),(l()(),t["ɵeld"](29,0,null,0,1,"label",[["class","col-form-label"],["for","name"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["New Name"])),(l()(),t["ɵeld"](31,0,null,0,7,"input",[["autocomplete","off"],["autofocus",""],["class","form-control"],["formControlName","name"],["id","name"],["name","name"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,32)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,32).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,32)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,32)._compositionEnd(e.target.value)&&i),i}),null,null)),t["ɵdid"](32,16384,null,0,s.e,[t.Renderer2,t.ElementRef,[2,s.b]],null,null),t["ɵprd"](1024,null,s.p,(function(l){return[l]}),[s.e]),t["ɵdid"](34,671744,[[1,4]],0,s.j,[[3,s.d],[8,null],[8,null],[6,s.p],[2,s.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,s.q,null,[s.j]),t["ɵdid"](36,16384,null,0,s.r,[[4,s.q]],null,null),t["ɵdid"](37,4210688,null,0,r.a,[t.ElementRef],{autofocus:[0,"autofocus"]},null),t["ɵdid"](38,16384,null,0,a.h,[[3,s.d],a.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵand"](16777216,null,0,1,null,y)),t["ɵdid"](40,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](41,0,null,null,6,"div",[["class","modal-footer"]],null,null,null,null,null)),(l()(),t["ɵeld"](42,0,null,null,5,"div",[["class","button-group text-right"]],null,null,null,null,null)),(l()(),t["ɵeld"](43,0,null,null,2,"cd-submit-button",[],null,[[null,"submitAction"]],(function(l,n,e){var t=!0;return"submitAction"===n&&(t=!1!==l.component.restore()&&t),t}),c.b,c.a)),t["ɵdid"](44,114688,null,0,m.a,[t.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(l()(),t["ɵted"](-1,0,["Restore Image"])),(l()(),t["ɵeld"](46,0,null,null,1,"cd-back-button",[["name","Cancel"]],null,null,null,p.b,p.a)),t["ɵdid"](47,49152,null,0,h.a,[d.Location,g.b],{name:[0,"name"],back:[1,"back"]},null)],(function(l,n){var e=n.component;l(n,1,0,e.modalRef),l(n,7,0,e.restoreForm),l(n,10,0,e.restoreForm),l(n,26,0),l(n,34,0,"name"),l(n,37,0,""),l(n,38,0,"name"),l(n,40,0,e.restoreForm.showError("name",t["ɵnov"](n,7),"required")),l(n,44,0,e.restoreForm),l(n,47,0,"Cancel",e.modalRef.hide)}),(function(l,n){var e=n.component;l(n,5,0,t["ɵnov"](n,9).ngClassUntouched,t["ɵnov"](n,9).ngClassTouched,t["ɵnov"](n,9).ngClassPristine,t["ɵnov"](n,9).ngClassDirty,t["ɵnov"](n,9).ngClassValid,t["ɵnov"](n,9).ngClassInvalid,t["ɵnov"](n,9).ngClassPending),l(n,17,0,e.imageSpec,e.imageId),l(n,25,0,t["ɵnov"](n,26).hasErrors,t["ɵnov"](n,26).hasSuccess),l(n,31,0,t["ɵnov"](n,36).ngClassUntouched,t["ɵnov"](n,36).ngClassTouched,t["ɵnov"](n,36).ngClassPristine,t["ɵnov"](n,36).ngClassDirty,t["ɵnov"](n,36).ngClassValid,t["ɵnov"](n,36).ngClassInvalid,t["ɵnov"](n,36).ngClassPending,t["ɵnov"](n,38).validClass,t["ɵnov"](n,38).invalidClass)}))}function w(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"cd-rbd-trash-restore-modal",[],null,null,null,R,_)),t["ɵdid"](1,114688,null,0,f.a,[v.a,b.a,C.a,S.a],null,null)],(function(l,n){l(n,1,0)}),null)}var I=t["ɵccf"]("cd-rbd-trash-restore-modal",f.a,w,{},{},[])},"2GqK":function(l,n,e){"use strict";e.d(n,"a",(function(){return u})),e("F83c"),e("2EZI");var t=e("kvvV"),i=e("jVDg");e("kn/O");class u{constructor(l,n,e,t){this.rbdService=l,this.modalRef=n,this.fb=e,this.taskWrapper=t}ngOnInit(){this.imageSpec=new i.a(this.poolName,this.namespace,this.imageName).toString(),this.restoreForm=this.fb.group({name:this.imageName})}restore(){const l=this.restoreForm.getValue("name"),n=new i.a(this.poolName,this.namespace,this.imageId);this.taskWrapper.wrapTaskAroundCall({task:new t.a("rbd/trash/restore",{image_id_spec:n.toString(),new_image_name:l}),call:this.rbdService.restoreTrash(n,l)}).subscribe(void 0,()=>{this.restoreForm.setErrors({cdSubmitButton:!0})},()=>{this.modalRef.hide()})}}},"2JDI":function(l,n,e){"use strict";e.d(n,"a",(function(){return a}));var t=e("wd/R"),i=(e("F83c"),e("2EZI"),e("1Ni5")),u=e("kvvV"),s=e("jVDg");e("kn/O");class a{constructor(l,n,e,t){this.rbdService=l,this.modalRef=n,this.fb=e,this.taskWrapper=t,this.minDate=new Date,this.bsConfig={dateInputFormat:"YYYY-MM-DD HH:mm:ss",containerClass:"theme-default"},this.createForm()}createForm(){this.moveForm=this.fb.group({expiresAt:["",[i.a.custom("format",l=>!(""===l||t(l,"YYYY-MM-DD HH:mm:ss").isValid())),i.a.custom("expired",l=>t().isAfter(l))]]})}ngOnInit(){this.imageSpec=new s.a(this.poolName,this.namespace,this.imageName),this.imageSpecStr=this.imageSpec.toString(),this.pattern=`${this.poolName}/${this.imageName}`}moveImage(){let l=0;const n=this.moveForm.getValue("expiresAt");n&&(l=t(n).diff(t(),"seconds",!0)),l<0&&(l=0),this.taskWrapper.wrapTaskAroundCall({task:new u.a("rbd/trash/move",{image_spec:this.imageSpecStr}),call:this.rbdService.moveTrash(this.imageSpec,l)}).subscribe(void 0,void 0,()=>{this.modalRef.hide()})}}},"3IYD":function(l,n,e){"use strict";var t=e("8Y7J"),i=e("SVse"),u=e("8xTl"),s=e("EEJc"),a=e("ajRT"),o=e("s7LF"),r=e("+gVj"),d=e("mXUL"),c=e("IZUe"),m=e("gp3X"),p=e("sb0X"),h=e("KVJa"),g=e("Z21x"),f=e("sne2"),v=e("Fd71"),b=e("LqlI"),C=e("F83c"),S=e("VXsX"),_=e("9nlD"),y=e("GiVz");e.d(n,"a",(function(){return E}));var R=t["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function w(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["This field is required."]))],null,null)}function I(l){return t["ɵvid"](0,[t["ɵpid"](0,i.TitleCasePipe,[]),t["ɵpid"](0,u.a,[]),(l()(),t["ɵeld"](2,0,null,null,39,"cd-modal",[],null,null,null,s.c,s.b)),t["ɵdid"](3,49152,null,0,a.a,[],{modalRef:[0,"modalRef"]},null),(l()(),t["ɵeld"](4,0,null,0,3,null,null,null,null,null,null,null)),(l()(),t["ɵted"](5,null,[""," ",""])),t["ɵppd"](6,1),t["ɵppd"](7,1),(l()(),t["ɵeld"](8,0,null,1,33,null,null,null,null,null,null,null)),(l()(),t["ɵeld"](9,0,null,null,32,"form",[["name","snapshotForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,e){var i=!0;return"submit"===n&&(i=!1!==t["ɵnov"](l,11).onSubmit(e)&&i),"reset"===n&&(i=!1!==t["ɵnov"](l,11).onReset()&&i),"submit"===n&&(i=!1!==t["ɵnov"](l,14).onSubmit()&&i),i}),null,null)),t["ɵdid"](10,16384,null,0,o.G,[],null,null),t["ɵdid"](11,540672,[["formDir",4]],0,o.l,[[8,null],[8,null]],{form:[0,"form"]},null),t["ɵprd"](2048,null,o.d,null,[o.l]),t["ɵdid"](13,16384,null,0,o.s,[[4,o.d]],null,null),t["ɵdid"](14,16384,null,0,r.d,[],{formGroup:[0,"formGroup"]},null),(l()(),t["ɵeld"](15,0,null,null,17,"div",[["class","modal-body"]],null,null,null,null,null)),(l()(),t["ɵeld"](16,0,null,null,16,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,d.b,d.a)),t["ɵdid"](17,1163264,null,2,r.c,[t.ElementRef,r.g],null,null),t["ɵqud"](603979776,1,{FormControlNames:1}),t["ɵqud"](603979776,2,{messagesBlock:0}),(l()(),t["ɵeld"](20,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","snapshotName"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Name"])),(l()(),t["ɵeld"](22,0,null,0,10,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),t["ɵeld"](23,0,null,null,7,"input",[["autofocus",""],["class","form-control"],["formControlName","snapshotName"],["id","snapshotName"],["name","snapshotName"],["placeholder","Snapshot name..."],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,24)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,24).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,24)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,24)._compositionEnd(e.target.value)&&i),i}),null,null)),t["ɵdid"](24,16384,null,0,o.e,[t.Renderer2,t.ElementRef,[2,o.b]],null,null),t["ɵprd"](1024,null,o.p,(function(l){return[l]}),[o.e]),t["ɵdid"](26,671744,[[1,4]],0,o.j,[[3,o.d],[8,null],[8,null],[6,o.p],[2,o.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,o.q,null,[o.j]),t["ɵdid"](28,16384,null,0,o.r,[[4,o.q]],null,null),t["ɵdid"](29,4210688,null,0,c.a,[t.ElementRef],{autofocus:[0,"autofocus"]},null),t["ɵdid"](30,16384,null,0,r.h,[[3,o.d],r.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,w)),t["ɵdid"](32,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](33,0,null,null,8,"div",[["class","modal-footer"]],null,null,null,null,null)),(l()(),t["ɵeld"](34,0,null,null,7,"div",[["class","button-group text-right"]],null,null,null,null,null)),(l()(),t["ɵeld"](35,0,null,null,4,"cd-submit-button",[],null,[[null,"submitAction"]],(function(l,n,e){var t=!0;return"submitAction"===n&&(t=!1!==l.component.submit()&&t),t}),m.b,m.a)),t["ɵdid"](36,114688,null,0,p.a,[t.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(l()(),t["ɵted"](37,0,[""," ",""])),t["ɵppd"](38,1),t["ɵppd"](39,1),(l()(),t["ɵeld"](40,0,null,null,1,"cd-back-button",[["name","Close"]],null,null,null,h.b,h.a)),t["ɵdid"](41,49152,null,0,g.a,[i.Location,f.b],{name:[0,"name"],back:[1,"back"]},null)],(function(l,n){var e=n.component;l(n,3,0,e.modalRef),l(n,11,0,e.snapshotForm),l(n,14,0,e.snapshotForm),l(n,17,0),l(n,26,0,"snapshotName"),l(n,29,0,""),l(n,30,0,"snapshotName"),l(n,32,0,e.snapshotForm.showError("snapshotName",t["ɵnov"](n,11),"required")),l(n,36,0,e.snapshotForm),l(n,41,0,"Close",e.modalRef.hide)}),(function(l,n){var e=n.component,i=t["ɵunv"](n,5,0,l(n,6,0,t["ɵnov"](n,0),e.action)),u=t["ɵunv"](n,5,1,l(n,7,0,t["ɵnov"](n,1),e.resource));l(n,5,0,i,u),l(n,9,0,t["ɵnov"](n,13).ngClassUntouched,t["ɵnov"](n,13).ngClassTouched,t["ɵnov"](n,13).ngClassPristine,t["ɵnov"](n,13).ngClassDirty,t["ɵnov"](n,13).ngClassValid,t["ɵnov"](n,13).ngClassInvalid,t["ɵnov"](n,13).ngClassPending),l(n,16,0,t["ɵnov"](n,17).hasErrors,t["ɵnov"](n,17).hasSuccess),l(n,23,0,t["ɵnov"](n,28).ngClassUntouched,t["ɵnov"](n,28).ngClassTouched,t["ɵnov"](n,28).ngClassPristine,t["ɵnov"](n,28).ngClassDirty,t["ɵnov"](n,28).ngClassValid,t["ɵnov"](n,28).ngClassInvalid,t["ɵnov"](n,28).ngClassPending,t["ɵnov"](n,30).validClass,t["ɵnov"](n,30).invalidClass);var s=t["ɵunv"](n,37,0,l(n,38,0,t["ɵnov"](n,0),e.action)),a=t["ɵunv"](n,37,1,l(n,39,0,t["ɵnov"](n,1),e.resource));l(n,37,0,s,a)}))}function k(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"cd-rbd-snapshot-form-modal",[],null,null,null,I,R)),t["ɵdid"](1,114688,null,0,v.a,[b.a,C.a,S.a,_.a,y.a,f.b],null,null)],(function(l,n){l(n,1,0)}),null)}var E=t["ɵccf"]("cd-rbd-snapshot-form-modal",v.a,k,{},{},[])},"3ris":function(l,n,e){"use strict";e.d(n,"a",(function(){return s}));var t=e("yYhs"),i=e("LvDl"),u=(e("uIqm"),e("oxzT"));e("vCyI"),e("iExv"),e("uYzU");class s{constructor(l,n,e){this.i18n=l,this.iscsiBackstorePipe=n,this.booleanTextPipe=e,this.icons=u.a,this.metadata={},this.nodes=[],this.treeOptions={useVirtualScroll:!0,actionMapping:{mouse:{click:this.onNodeSelected.bind(this)}}}}set content(l){this.detailTable=l,l&&l.updateColumns()}ngOnInit(){this.columns=[{prop:"displayName",name:this.i18n("Name"),flexGrow:1,cellTemplate:this.highlightTpl},{prop:"current",name:this.i18n("Current"),flexGrow:1,cellTemplate:this.highlightTpl},{prop:"default",name:this.i18n("Default"),flexGrow:1,cellTemplate:this.highlightTpl}]}ngOnChanges(){this.selection.hasSelection&&(this.selectedItem=this.selection.first(),this.generateTree()),this.data=void 0}generateTree(){const l=i.cloneDeep(this.selectedItem.target_controls);this.cephIscsiConfigVersion>10&&i.extend(l,i.cloneDeep(this.selectedItem.auth)),this.metadata={root:l};const n={target:{expanded:i.join(this.selectedItem.cdExecuting?[u.a.large,u.a.spinner,u.a.spin]:[u.a.large,u.a.bullseye]," ")},initiators:{expanded:i.join([u.a.large,u.a.user]," "),leaf:i.join([u.a.user]," ")},groups:{expanded:i.join([u.a.large,u.a.users]," "),leaf:i.join([u.a.users]," ")},disks:{expanded:i.join([u.a.large,u.a.disk]," "),leaf:i.join([u.a.disk]," ")},portals:{expanded:i.join([u.a.large,u.a.server]," "),leaf:i.join([u.a.server]," ")}},e=[];i.forEach(this.selectedItem.disks,l=>{const t="disk_"+l.pool+"_"+l.image;this.metadata[t]={controls:l.controls,backstore:l.backstore},["wwn","lun"].forEach(n=>{n in l&&(this.metadata[t][n]=l[n])}),e.push({name:`${l.pool}/${l.image}`,cdId:t,cdIcon:n.disks.leaf})});const t=[];i.forEach(this.selectedItem.portals,l=>{t.push({name:`${l.host}:${l.ip}`,cdIcon:n.portals.leaf})});const s=[];i.forEach(this.selectedItem.clients,l=>{const e=i.cloneDeep(l.auth);l.info&&(i.extend(e,l.info),delete e.state,i.forEach(Object.keys(l.info.state),n=>{e[n.toLowerCase()]=l.info.state[n]})),this.metadata["client_"+l.client_iqn]=e;const t=[];l.luns.forEach(l=>{t.push({name:`${l.pool}/${l.image}`,cdId:"disk_"+l.pool+"_"+l.image,cdIcon:n.disks.leaf})});let u="";l.info&&(u=Object.keys(l.info.state).includes("LOGGED_IN")?"logged_in":"logged_out"),s.push({name:l.client_iqn,status:u,cdId:"client_"+l.client_iqn,children:t,cdIcon:n.initiators.leaf})});const a=[];i.forEach(this.selectedItem.groups,l=>{const e=[];l.disks.forEach(l=>{e.push({name:`${l.pool}/${l.image}`,cdId:"disk_"+l.pool+"_"+l.image,cdIcon:n.disks.leaf})});const t=[];l.members.forEach(l=>{t.push({name:l,cdId:"client_"+l})}),a.push({name:l.group_id,cdIcon:n.groups.leaf,children:[{name:"Disks",children:e,cdIcon:n.disks.expanded},{name:"Initiators",children:t,cdIcon:n.initiators.expanded}]})}),this.nodes=[{name:this.selectedItem.target_iqn,cdId:"root",isExpanded:!0,cdIcon:n.target.expanded,children:[{name:"Disks",isExpanded:!0,children:e,cdIcon:n.disks.expanded},{name:"Portals",isExpanded:!0,children:t,cdIcon:n.portals.expanded},{name:"Initiators",isExpanded:!0,children:s,cdIcon:n.initiators.expanded},{name:"Groups",isExpanded:!0,children:a,cdIcon:n.groups.expanded}]}]}format(l){return"boolean"==typeof l?this.booleanTextPipe.transform(l):l}onNodeSelected(l,n){if(t.a.ACTIVATE(l,n,!0),n.data.cdId){this.title=n.data.name;const l=this.metadata[n.data.cdId]||{};"root"===n.data.cdId?(this.columns[2].isHidden=!1,this.data=i.map(this.settings.target_default_controls,(n,e)=>({displayName:e,default:n=this.format(n),current:i.isUndefined(l[e])?n:this.format(l[e])})),this.cephIscsiConfigVersion>10&&["user","password","mutual_user","mutual_password"].forEach(n=>{this.data.push({displayName:n,default:null,current:l[n]})})):n.data.cdId.toString().startsWith("disk_")?(this.columns[2].isHidden=!1,this.data=i.map(this.settings.disk_default_controls[l.backstore],(n,e)=>({displayName:e,default:n=this.format(n),current:i.isUndefined(l.controls[e])?n:this.format(l.controls[e])})),this.data.push({displayName:"backstore",default:this.iscsiBackstorePipe.transform(this.settings.default_backstore),current:this.iscsiBackstorePipe.transform(l.backstore)}),["wwn","lun"].forEach(n=>{n in l&&this.data.push({displayName:n,default:void 0,current:l[n]})})):(this.columns[2].isHidden=!0,this.data=i.map(l,(l,n)=>({displayName:n,default:void 0,current:this.format(l)})))}else this.data=void 0;this.detailTable&&this.detailTable.updateColumns()}onUpdateData(){this.tree.treeModel.expandAll()}}},"5GyT":function(l,n,e){"use strict";var t=e("LvDl"),i=(e("F83c"),e("OLbh")),u=e("0+/T"),s=(e("sne2"),e("uIqm"),e("x38r")),a=e("oxzT"),o=e("yJti"),r=e("vCyI"),d=e("kvvV"),c=e("jVDg"),m=(e("Fgil"),e("o4+5"),e("aexS"),e("VTlA"),e("kn/O"),e("EgGo")),p=e("2JDI");class h{}e.d(n,"a",(function(){return f})),e.d(n,"b",(function(){return g}));const g=new m.a("block/rbd");class f{constructor(l,n,e,t,i,u,s,o,d,m){this.authStorageService=l,this.rbdService=n,this.dimlessBinaryPipe=e,this.dimlessPipe=t,this.modalService=i,this.taskWrapper=u,this.taskListService=s,this.i18n=o,this.urlBuilder=d,this.actionLabels=m,this.selection=new r.a,this.builders={"rbd/create":l=>this.createRbdFromTask(l.pool_name,l.namespace,l.image_name),"rbd/delete":l=>this.createRbdFromTaskImageSpec(l.image_spec),"rbd/clone":l=>this.createRbdFromTask(l.child_pool_name,l.child_namespace,l.child_image_name),"rbd/copy":l=>this.createRbdFromTask(l.dest_pool_name,l.dest_namespace,l.dest_image_name)},this.permission=this.authStorageService.getPermissions().rbdImage;const p=()=>this.selection.first()&&new c.a(this.selection.first().pool_name,this.selection.first().namespace,this.selection.first().name).toStringEncoded();this.tableActions=[{permission:"create",icon:a.a.add,routerLink:()=>this.urlBuilder.getCreate(),canBePrimary:l=>!l.hasSingleSelection,name:this.actionLabels.CREATE},{permission:"update",icon:a.a.edit,routerLink:()=>this.urlBuilder.getEdit(p()),name:this.actionLabels.EDIT},{permission:"create",canBePrimary:l=>l.hasSingleSelection,disable:l=>!l.hasSingleSelection||l.first().cdExecuting,icon:a.a.copy,routerLink:()=>`/block/rbd/copy/${p()}`,name:this.actionLabels.COPY},{permission:"update",disable:l=>!l.hasSingleSelection||l.first().cdExecuting||!l.first().parent,icon:a.a.flatten,click:()=>this.flattenRbdModal(),name:this.actionLabels.FLATTEN},{permission:"delete",icon:a.a.destroy,click:()=>this.deleteRbdModal(),name:this.actionLabels.DELETE,disable:l=>!this.selection.first()||!this.selection.hasSingleSelection||this.hasClonedSnapshots(l.first()),disableDesc:()=>this.getDeleteDisableDesc()},{permission:"delete",icon:a.a.trash,click:()=>this.trashRbdModal(),name:this.actionLabels.TRASH}]}createRbdFromTaskImageSpec(l){const n=c.a.fromString(l);return this.createRbdFromTask(n.poolName,n.namespace,n.imageName)}createRbdFromTask(l,n,e){const t=new h;return t.id="-1",t.name=e,t.namespace=n,t.pool_name=l,t}ngOnInit(){this.columns=[{name:this.i18n("Name"),prop:"name",flexGrow:2,cellTransformation:s.a.executing},{name:this.i18n("Pool"),prop:"pool_name",flexGrow:2},{name:this.i18n("Namespace"),prop:"namespace",flexGrow:2},{name:this.i18n("Size"),prop:"size",flexGrow:1,cellClass:"text-right",pipe:this.dimlessBinaryPipe},{name:this.i18n("Objects"),prop:"num_objs",flexGrow:1,cellClass:"text-right",pipe:this.dimlessPipe},{name:this.i18n("Object size"),prop:"obj_size",flexGrow:1,cellClass:"text-right",pipe:this.dimlessBinaryPipe},{name:this.i18n("Provisioned"),prop:"disk_usage",cellClass:"text-center",flexGrow:1,pipe:this.dimlessBinaryPipe},{name:this.i18n("Total provisioned"),prop:"total_disk_usage",cellClass:"text-center",flexGrow:1,pipe:this.dimlessBinaryPipe},{name:this.i18n("Parent"),prop:"parent",flexGrow:2,cellTemplate:this.parentTpl}],this.taskListService.init(()=>this.rbdService.list(),l=>this.prepareResponse(l),l=>this.images=l,()=>this.onFetchError(),l=>["rbd/clone","rbd/copy","rbd/create","rbd/delete","rbd/edit","rbd/flatten","rbd/trash/move"].includes(l.name),(l,n)=>{let e;switch(n.name){case"rbd/copy":e=new c.a(n.metadata.dest_pool_name,n.metadata.dest_namespace,n.metadata.dest_image_name).toString();break;case"rbd/clone":e=new c.a(n.metadata.child_pool_name,n.metadata.child_namespace,n.metadata.child_image_name).toString();break;case"rbd/create":e=new c.a(n.metadata.pool_name,n.metadata.namespace,n.metadata.image_name).toString();break;default:e=n.metadata.image_spec}return e===new c.a(l.pool_name,l.namespace,l.name).toString()},this.builders)}onFetchError(){this.table.reset(),this.viewCacheStatusList=[{status:o.a.ValueException}]}prepareResponse(l){let n=[];const e={};l.forEach(l=>{t.isUndefined(e[l.status])&&(e[l.status]=[]),e[l.status].push(l.pool_name),n=n.concat(l.value)});const i=[];return t.forEach(e,(l,n)=>{i.push({status:parseInt(n,10),statusFor:(l.length>1?"pools ":"pool ")+"<strong>"+l.join("</strong>, <strong>")+"</strong>"})}),this.viewCacheStatusList=i,n}updateSelection(l){this.selection=l}deleteRbdModal(){const l=this.selection.first().pool_name,n=this.selection.first().namespace,e=this.selection.first().name,t=new c.a(l,n,e);this.modalRef=this.modalService.show(u.a,{initialState:{itemDescription:"RBD",itemNames:[t],bodyTemplate:this.deleteTpl,bodyContext:{hasSnapshots:this.hasSnapshots(),snapshots:this.listProtectedSnapshots()},submitActionObservable:()=>this.taskWrapper.wrapTaskAroundCall({task:new d.a("rbd/delete",{image_spec:t.toString()}),call:this.rbdService.delete(t)})}})}trashRbdModal(){const l={poolName:this.selection.first().pool_name,namespace:this.selection.first().namespace,imageName:this.selection.first().name,hasSnapshots:this.hasSnapshots()};this.modalRef=this.modalService.show(p.a,{initialState:l})}flattenRbd(l){this.taskWrapper.wrapTaskAroundCall({task:new d.a("rbd/flatten",{image_spec:l.toString()}),call:this.rbdService.flatten(l)}).subscribe(void 0,void 0,()=>{this.modalRef.hide()})}flattenRbdModal(){const l=this.selection.first().pool_name,n=this.selection.first().namespace,e=this.selection.first().name,t=this.selection.first().parent,u=new c.a(t.pool_name,t.pool_namespace,t.image_name),s=new c.a(l,n,e),a={titleText:"RBD flatten",buttonText:"Flatten",bodyTpl:this.flattenTpl,bodyData:{parent:`${u}@${t.snap_name}`,child:s.toString()},onSubmit:()=>{this.flattenRbd(s)}};this.modalRef=this.modalService.show(i.a,{initialState:a})}hasSnapshots(){return(this.selection.first().snapshots||[]).length>0}hasClonedSnapshots(l){return(l.snapshots||[]).some(l=>l.children&&l.children.length>0)}listProtectedSnapshots(){return this.selection.first().snapshots.reduce((l,n)=>(n.is_protected&&l.push(n.name),l),[])}getDeleteDisableDesc(){const l=this.selection.first();return l&&this.hasClonedSnapshots(l)?this.i18n("This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD."):""}}},BH9v:function(l,n,e){"use strict";var t=e("8Y7J"),i=e("s7LF"),u=e("aXbf");class s{constructor(l,n){this.control=l,this.formatter=n}setValue(l){const n=this.formatter.toMilliseconds(l);this.control.control.setValue(`${n} ms`)}ngOnInit(){this.setValue(this.control.value),this.ngDataReady&&this.ngDataReady.subscribe(()=>this.setValue(this.control.value))}onUpdate(l){this.setValue(l)}}var a=e("+gVj"),o=e("LvDl"),r=e("IzCI");class d{constructor(l,n,e,i){this.elementRef=l,this.control=n,this.dimlessBinaryPerSecondPipe=e,this.formatter=i,this.ngModelChange=new t.EventEmitter,this.el=this.elementRef.nativeElement}ngOnInit(){this.setValue(this.el.value),this.ngDataReady&&this.ngDataReady.subscribe(()=>this.setValue(this.el.value))}setValue(l){/^[\d.]+$/.test(l)&&(l+=this.defaultUnit||"m");const n=this.formatter.toBytes(l,0),e=this.round(n);this.el.value=this.dimlessBinaryPerSecondPipe.transform(e),null!==n?(this.ngModelChange.emit(this.el.value),this.control.control.setValue(this.el.value)):(this.ngModelChange.emit(null),this.control.control.setValue(null))}round(l){if(null!==l&&0!==l){if(!o.isUndefined(this.minBytes)&&l<this.minBytes)return this.minBytes;if(!o.isUndefined(this.maxBytes)&&l>this.maxBytes)return this.maxBytes;if(!o.isUndefined(this.roundPower)){const n=Math.round(Math.log(l)/Math.log(this.roundPower));return Math.pow(this.roundPower,n)}}return l}onBlur(l){this.setValue(l)}}class c{constructor(l,n){this.formatter=l,this.ngControl=n}setValue(l){const n=this.formatter.toIops(l);this.ngControl.control.setValue(`${n} IOPS`)}ngOnInit(){this.setValue(this.ngControl.value),this.ngDataReady&&this.ngDataReady.subscribe(()=>this.setValue(this.ngControl.value))}onUpdate(l){this.setValue(l)}}var m=e("mXUL"),p=e("4HWh"),h=e("p4Cf"),g=e("SVse");e("rFfW"),e("o8EM"),e.d(n,"a",(function(){return f})),e.d(n,"b",(function(){return R}));var f=t["ɵcrt"]({encapsulation:0,styles:[[".collapsible[_ngcontent-%COMP%]{cursor:pointer;-moz-user-select:none;user-select:none}"]],data:{}});function v(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,8,null,null,null,null,null,null,null)),(l()(),t["ɵeld"](1,0,null,null,7,"input",[["cdMilliseconds",""],["class","form-control"],["type","text"]],[[8,"id",0],[8,"name",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,2)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,2).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,2)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,2)._compositionEnd(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,7).onUpdate(e.target.value)&&i),i}),null,null)),t["ɵdid"](2,16384,null,0,i.e,[t.Renderer2,t.ElementRef,[2,i.b]],null,null),t["ɵprd"](1024,null,i.p,(function(l){return[l]}),[i.e]),t["ɵdid"](4,671744,null,0,i.j,[[3,i.d],[8,null],[8,null],[6,i.p],[2,i.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,i.q,null,[i.j]),t["ɵdid"](6,16384,null,0,i.r,[[4,i.q]],null,null),t["ɵdid"](7,81920,null,0,s,[i.q,u.a],{ngDataReady:[0,"ngDataReady"]},null),t["ɵdid"](8,16384,null,0,a.h,[[3,i.d],a.a],{formControlName:[0,"formControlName"]},null)],(function(l,n){var e=n.component;l(n,4,0,n.parent.context.$implicit.name),l(n,7,0,e.ngDataReady),l(n,8,0,n.parent.context.$implicit.name)}),(function(l,n){l(n,1,1,[n.parent.context.$implicit.name,n.parent.context.$implicit.name,t["ɵnov"](n,6).ngClassUntouched,t["ɵnov"](n,6).ngClassTouched,t["ɵnov"](n,6).ngClassPristine,t["ɵnov"](n,6).ngClassDirty,t["ɵnov"](n,6).ngClassValid,t["ɵnov"](n,6).ngClassInvalid,t["ɵnov"](n,6).ngClassPending,t["ɵnov"](n,8).validClass,t["ɵnov"](n,8).invalidClass])}))}function b(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,8,null,null,null,null,null,null,null)),(l()(),t["ɵeld"](1,0,null,null,7,"input",[["cdDimlessBinaryPerSecond",""],["class","form-control"],["defaultUnit","b"],["type","text"]],[[8,"id",0],[8,"name",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,2)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,2).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,2)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,2)._compositionEnd(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,7).onBlur(e.target.value)&&i),i}),null,null)),t["ɵdid"](2,16384,null,0,i.e,[t.Renderer2,t.ElementRef,[2,i.b]],null,null),t["ɵprd"](1024,null,i.p,(function(l){return[l]}),[i.e]),t["ɵdid"](4,671744,null,0,i.j,[[3,i.d],[8,null],[8,null],[6,i.p],[2,i.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,i.q,null,[i.j]),t["ɵdid"](6,16384,null,0,i.r,[[4,i.q]],null,null),t["ɵdid"](7,81920,null,0,d,[t.ElementRef,i.q,r.a,u.a],{ngDataReady:[0,"ngDataReady"],defaultUnit:[1,"defaultUnit"]},null),t["ɵdid"](8,16384,null,0,a.h,[[3,i.d],a.a],{formControlName:[0,"formControlName"]},null)],(function(l,n){var e=n.component;l(n,4,0,n.parent.context.$implicit.name),l(n,7,0,e.ngDataReady,"b"),l(n,8,0,n.parent.context.$implicit.name)}),(function(l,n){l(n,1,1,[n.parent.context.$implicit.name,n.parent.context.$implicit.name,t["ɵnov"](n,6).ngClassUntouched,t["ɵnov"](n,6).ngClassTouched,t["ɵnov"](n,6).ngClassPristine,t["ɵnov"](n,6).ngClassDirty,t["ɵnov"](n,6).ngClassValid,t["ɵnov"](n,6).ngClassInvalid,t["ɵnov"](n,6).ngClassPending,t["ɵnov"](n,8).validClass,t["ɵnov"](n,8).invalidClass])}))}function C(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,8,null,null,null,null,null,null,null)),(l()(),t["ɵeld"](1,0,null,null,7,"input",[["cdIops",""],["class","form-control"],["type","text"]],[[8,"id",0],[8,"name",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,2)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,2).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,2)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,2)._compositionEnd(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,7).onUpdate(e.target.value)&&i),i}),null,null)),t["ɵdid"](2,16384,null,0,i.e,[t.Renderer2,t.ElementRef,[2,i.b]],null,null),t["ɵprd"](1024,null,i.p,(function(l){return[l]}),[i.e]),t["ɵdid"](4,671744,null,0,i.j,[[3,i.d],[8,null],[8,null],[6,i.p],[2,i.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,i.q,null,[i.j]),t["ɵdid"](6,16384,null,0,i.r,[[4,i.q]],null,null),t["ɵdid"](7,81920,null,0,c,[u.a,i.q],{ngDataReady:[0,"ngDataReady"]},null),t["ɵdid"](8,16384,null,0,a.h,[[3,i.d],a.a],{formControlName:[0,"formControlName"]},null)],(function(l,n){var e=n.component;l(n,4,0,n.parent.context.$implicit.name),l(n,7,0,e.ngDataReady),l(n,8,0,n.parent.context.$implicit.name)}),(function(l,n){l(n,1,1,[n.parent.context.$implicit.name,n.parent.context.$implicit.name,t["ɵnov"](n,6).ngClassUntouched,t["ɵnov"](n,6).ngClassTouched,t["ɵnov"](n,6).ngClassPristine,t["ɵnov"](n,6).ngClassDirty,t["ɵnov"](n,6).ngClassValid,t["ɵnov"](n,6).ngClassInvalid,t["ɵnov"](n,6).ngClassPending,t["ɵnov"](n,8).validClass,t["ɵnov"](n,8).invalidClass])}))}function S(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["The mininum value is 0"]))],null,null)}function _(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,29,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,m.b,m.a)),t["ɵdid"](1,1163264,null,2,a.c,[t.ElementRef,a.g],null,null),t["ɵqud"](603979776,1,{FormControlNames:1}),t["ɵqud"](603979776,2,{messagesBlock:0}),(l()(),t["ɵeld"](4,0,null,0,4,"label",[["class","cd-col-form-label"]],[[8,"htmlFor",0]],null,null,null,null)),(l()(),t["ɵted"](5,null,["",""])),(l()(),t["ɵeld"](6,0,null,null,2,"cd-helper",[],null,null,null,p.b,p.a)),t["ɵdid"](7,49152,null,0,h.a,[],null,null),(l()(),t["ɵted"](8,0,["",""])),(l()(),t["ɵeld"](9,0,null,0,20,"div",[],[[8,"className",0]],null,null,null,null)),(l()(),t["ɵeld"](10,0,null,null,17,"div",[["class","input-group"]],null,null,null,null,null)),(l()(),t["ɵeld"](11,0,null,null,7,null,null,null,null,null,null,null)),t["ɵdid"](12,16384,null,0,g.NgSwitch,[],{ngSwitch:[0,"ngSwitch"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,v)),t["ɵdid"](14,278528,null,0,g.NgSwitchCase,[t.ViewContainerRef,t.TemplateRef,g.NgSwitch],{ngSwitchCase:[0,"ngSwitchCase"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,b)),t["ɵdid"](16,278528,null,0,g.NgSwitchCase,[t.ViewContainerRef,t.TemplateRef,g.NgSwitch],{ngSwitchCase:[0,"ngSwitchCase"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,C)),t["ɵdid"](18,278528,null,0,g.NgSwitchCase,[t.ViewContainerRef,t.TemplateRef,g.NgSwitch],{ngSwitchCase:[0,"ngSwitchCase"]},null),(l()(),t["ɵeld"](19,0,null,null,8,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),t["ɵeld"](20,0,null,null,7,"button",[["class","btn btn-light"],["data-toggle","button"],["title","Remove the local configuration value. The parent configuration value will be inherited and used instead."],["type","button"]],null,[[null,"click"]],(function(l,n,e){var t=!0;return"click"===n&&(t=!1!==l.component.reset(l.context.$implicit.name)&&t),t}),null,null)),t["ɵprd"](512,null,g["ɵNgClassImpl"],g["ɵNgClassR2Impl"],[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2]),t["ɵdid"](22,278528,null,0,g.NgClass,[g["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t["ɵpod"](23,{active:0}),(l()(),t["ɵeld"](24,0,null,null,3,"i",[["aria-hidden","true"]],null,null,null,null,null)),t["ɵprd"](512,null,g["ɵNgClassImpl"],g["ɵNgClassR2Impl"],[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2]),t["ɵdid"](26,278528,null,0,g.NgClass,[g["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),t["ɵpad"](27,1),(l()(),t["ɵand"](16777216,null,null,1,null,S)),t["ɵdid"](29,16384,null,0,g.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var e=n.component;l(n,1,0),l(n,12,0,n.context.$implicit.type),l(n,14,0,e.configurationType.milliseconds),l(n,16,0,e.configurationType.bps),l(n,18,0,e.configurationType.iops);var i=l(n,23,0,e.isDisabled(n.context.$implicit.name));l(n,22,0,"btn btn-light",i);var u=l(n,27,0,e.icons.erase);l(n,26,0,u),l(n,29,0,e.form.showError("configuration."+n.context.$implicit.name,t["ɵnov"](n.parent.parent,0),"min"))}),(function(l,n){l(n,0,0,t["ɵnov"](n,1).hasErrors,t["ɵnov"](n,1).hasSuccess),l(n,4,0,n.context.$implicit.name),l(n,5,0,n.context.$implicit.displayName),l(n,8,0,n.context.$implicit.description),l(n,9,0,t["ɵinlineInterpolate"](1,"cd-col-form-input ",n.parent.context.$implicit.heading,""))}))}function y(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,9,"div",[["class","col-12"]],null,null,null,null,null)),(l()(),t["ɵeld"](1,0,null,null,5,"h3",[["class","cd-header"]],null,null,null,null,null)),(l()(),t["ɵeld"](2,0,null,null,4,"span",[["class","collapsible"]],null,[[null,"click"]],(function(l,n,e){var t=!0;return"click"===n&&(t=!1!==l.component.toggleSectionVisibility(l.context.$implicit.class)&&t),t}),null,null)),(l()(),t["ɵted"](3,null,[" "," "])),(l()(),t["ɵeld"](4,0,null,null,2,"i",[["aria-hidden","true"]],null,null,null,null,null)),t["ɵprd"](512,null,g["ɵNgClassImpl"],g["ɵNgClassR2Impl"],[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2]),t["ɵdid"](6,278528,null,0,g.NgClass,[g["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),(l()(),t["ɵeld"](7,0,null,null,2,"div",[],[[8,"className",0],[8,"hidden",0]],null,null,null,null)),(l()(),t["ɵand"](16777216,null,null,1,null,_)),t["ɵdid"](9,278528,null,0,g.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(l,n){var e=n.component;l(n,6,0,e.sectionVisibility[n.context.$implicit.class]?e.icons.minusCircle:e.icons.addCircle),l(n,9,0,n.context.$implicit.options)}),(function(l,n){var e=n.component;l(n,3,0,n.context.$implicit.heading),l(n,7,0,t["ɵinlineInterpolate"](1,"",n.context.$implicit.class,""),!e.sectionVisibility[n.context.$implicit.class])}))}function R(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,[["cfgFormGroup",1]],null,8,"fieldset",[],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,e){var i=!0;return"submit"===n&&(i=!1!==t["ɵnov"](l,1).onSubmit(e)&&i),"reset"===n&&(i=!1!==t["ɵnov"](l,1).onReset()&&i),"submit"===n&&(i=!1!==t["ɵnov"](l,4).onSubmit()&&i),i}),null,null)),t["ɵdid"](1,540672,null,0,i.l,[[8,null],[8,null]],{form:[0,"form"]},null),t["ɵprd"](2048,null,i.d,null,[i.l]),t["ɵdid"](3,16384,null,0,i.s,[[4,i.d]],null,null),t["ɵdid"](4,16384,null,0,a.d,[],{formGroup:[0,"formGroup"]},null),(l()(),t["ɵeld"](5,0,null,null,1,"legend",[],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["RBD Configuration"])),(l()(),t["ɵand"](16777216,null,null,1,null,y)),t["ɵdid"](8,278528,null,0,g.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(l,n){var e=n.component;l(n,1,0,e.form.get("configuration")),l(n,4,0,e.form.get("configuration")),l(n,8,0,e.rbdConfigurationService.sections)}),(function(l,n){l(n,0,0,t["ɵnov"](n,3).ngClassUntouched,t["ɵnov"](n,3).ngClassTouched,t["ɵnov"](n,3).ngClassPristine,t["ɵnov"](n,3).ngClassDirty,t["ɵnov"](n,3).ngClassValid,t["ɵnov"](n,3).ngClassInvalid,t["ɵnov"](n,3).ngClassPending)}))}},E7j4:function(l,n,e){"use strict";var t=e("8Y7J"),i=e("s7LF"),u=e("+gVj"),s=e("EEJc"),a=e("ajRT"),o=e("mXUL"),r=e("IZUe"),d=e("SVse"),c=e("gp3X"),m=e("sb0X"),p=e("KVJa"),h=e("Z21x"),g=e("sne2"),f=e("+26A"),v=e("LqlI"),b=e("XED3"),C=e("kn/O");e.d(n,"a",(function(){return F}));var S=t["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function _(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["This field is required."]))],null,null)}function y(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),t["ɵdid"](1,147456,null,0,i.v,[t.ElementRef,t.Renderer2,[2,i.A]],{value:[0,"value"]},null),t["ɵdid"](2,147456,null,0,i.F,[t.ElementRef,t.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),t["ɵted"](3,null,["",""]))],(function(l,n){l(n,1,0,n.context.$implicit.key),l(n,2,0,n.context.$implicit.key)}),(function(l,n){l(n,3,0,n.context.$implicit.desc)}))}function R(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,9,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(l()(),t["ɵeld"](1,0,null,null,6,"input",[["class","custom-control-input"],["type","checkbox"]],[[8,"id",0],[8,"name",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,e){var i=!0;return"change"===n&&(i=!1!==t["ɵnov"](l,2).onChange(e.target.checked)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,2).onTouched()&&i),i}),null,null)),t["ɵdid"](2,16384,null,0,i.c,[t.Renderer2,t.ElementRef],null,null),t["ɵprd"](1024,null,i.p,(function(l){return[l]}),[i.c]),t["ɵdid"](4,671744,[[5,4]],0,i.j,[[3,i.d],[8,null],[8,null],[6,i.p],[2,i.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,i.q,null,[i.j]),t["ɵdid"](6,16384,null,0,i.r,[[4,i.q]],null,null),t["ɵdid"](7,16384,null,0,u.h,[[3,i.d],u.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵeld"](8,0,null,null,1,"label",[["class","custom-control-label"]],[[8,"htmlFor",0]],null,null,null,null)),(l()(),t["ɵted"](9,null,["",""]))],(function(l,n){l(n,4,0,t["ɵinlineInterpolate"](1,"",n.context.$implicit.name,"")),l(n,7,0,t["ɵinlineInterpolate"](1,"",n.context.$implicit.name,""))}),(function(l,n){l(n,1,1,[t["ɵinlineInterpolate"](1,"",n.context.$implicit.name,""),t["ɵinlineInterpolate"](1,"",n.context.$implicit.name,""),t["ɵnov"](n,6).ngClassUntouched,t["ɵnov"](n,6).ngClassTouched,t["ɵnov"](n,6).ngClassPristine,t["ɵnov"](n,6).ngClassDirty,t["ɵnov"](n,6).ngClassValid,t["ɵnov"](n,6).ngClassInvalid,t["ɵnov"](n,6).ngClassPending,t["ɵnov"](n,7).validClass,t["ɵnov"](n,7).invalidClass]),l(n,8,0,t["ɵinlineInterpolate"](1,"",n.context.$implicit.name,"")),l(n,9,0,n.context.$implicit.name)}))}function w(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["At least one pool is required."]))],null,null)}function I(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["This field is required."]))],null,null)}function k(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["The token is invalid."]))],null,null)}function E(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,87,"cd-modal",[],null,null,null,s.c,s.b)),t["ɵdid"](1,49152,null,0,a.a,[],{modalRef:[0,"modalRef"]},null),(l()(),t["ɵeld"](2,0,null,0,1,null,null,null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Import Bootstrap Token"])),(l()(),t["ɵeld"](4,0,null,1,83,null,null,null,null,null,null,null)),(l()(),t["ɵeld"](5,0,null,null,82,"form",[["class","form"],["name","importBootstrapForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,e){var i=!0;return"submit"===n&&(i=!1!==t["ɵnov"](l,7).onSubmit(e)&&i),"reset"===n&&(i=!1!==t["ɵnov"](l,7).onReset()&&i),"submit"===n&&(i=!1!==t["ɵnov"](l,10).onSubmit()&&i),i}),null,null)),t["ɵdid"](6,16384,null,0,i.G,[],null,null),t["ɵdid"](7,540672,[["formDir",4]],0,i.l,[[8,null],[8,null]],{form:[0,"form"]},null),t["ɵprd"](2048,null,i.d,null,[i.l]),t["ɵdid"](9,16384,null,0,i.s,[[4,i.d]],null,null),t["ɵdid"](10,16384,null,0,u.d,[],{formGroup:[0,"formGroup"]},null),(l()(),t["ɵeld"](11,0,null,null,69,"div",[["class","modal-body"]],null,null,null,null,null)),(l()(),t["ɵeld"](12,0,null,null,5,"p",[],null,null,null,null,null)),(l()(),t["ɵeld"](13,0,null,null,4,null,null,null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["To import a bootstrap token which was created by a peer site cluster, provide the local site's name, select which pools will have mirroring enabled, provide the generated token, and click "])),(l()(),t["ɵeld"](15,0,null,null,1,"kbd",[],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Import"])),(l()(),t["ɵted"](-1,null,["."])),(l()(),t["ɵeld"](18,0,null,null,15,"div",[["class","form-group"]],[[2,"has-error",null],[2,"has-success",null]],null,null,o.b,o.a)),t["ɵdid"](19,1163264,null,2,u.c,[t.ElementRef,u.g],null,null),t["ɵqud"](603979776,1,{FormControlNames:1}),t["ɵqud"](603979776,2,{messagesBlock:0}),(l()(),t["ɵeld"](22,0,null,0,1,"label",[["class","col-form-label required"],["for","siteName"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Site Name"])),(l()(),t["ɵeld"](24,0,null,0,7,"input",[["autofocus",""],["class","form-control"],["formControlName","siteName"],["id","siteName"],["name","siteName"],["placeholder","Name..."],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,26)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,26).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,26)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,26)._compositionEnd(e.target.value)&&i),i}),null,null)),t["ɵdid"](25,4210688,null,0,r.a,[t.ElementRef],{autofocus:[0,"autofocus"]},null),t["ɵdid"](26,16384,null,0,i.e,[t.Renderer2,t.ElementRef,[2,i.b]],null,null),t["ɵprd"](1024,null,i.p,(function(l){return[l]}),[i.e]),t["ɵdid"](28,671744,[[1,4]],0,i.j,[[3,i.d],[8,null],[8,null],[6,i.p],[2,i.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,i.q,null,[i.j]),t["ɵdid"](30,16384,null,0,i.r,[[4,i.q]],null,null),t["ɵdid"](31,16384,null,0,u.h,[[3,i.d],u.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵand"](16777216,null,0,1,null,_)),t["ɵdid"](33,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](34,0,null,null,15,"div",[["class","form-group"]],[[2,"has-error",null],[2,"has-success",null]],null,null,o.b,o.a)),t["ɵdid"](35,1163264,null,2,u.c,[t.ElementRef,u.g],null,null),t["ɵqud"](603979776,3,{FormControlNames:1}),t["ɵqud"](603979776,4,{messagesBlock:0}),(l()(),t["ɵeld"](38,0,null,0,2,"label",[["class","col-form-label"],["for","direction"]],null,null,null,null,null)),(l()(),t["ɵeld"](39,0,null,null,1,"span",[],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Direction"])),(l()(),t["ɵeld"](41,0,null,0,8,"select",[["class","form-control custom-select"],["formControlName","direction"],["id","direction"],["name","direction"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,e){var i=!0;return"change"===n&&(i=!1!==t["ɵnov"](l,42).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,42).onTouched()&&i),i}),null,null)),t["ɵdid"](42,16384,null,0,i.A,[t.Renderer2,t.ElementRef],null,null),t["ɵprd"](1024,null,i.p,(function(l){return[l]}),[i.A]),t["ɵdid"](44,671744,[[3,4]],0,i.j,[[3,i.d],[8,null],[8,null],[6,i.p],[2,i.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,i.q,null,[i.j]),t["ɵdid"](46,16384,null,0,i.r,[[4,i.q]],null,null),t["ɵdid"](47,16384,null,0,u.h,[[3,i.d],u.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,y)),t["ɵdid"](49,278528,null,0,d.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),t["ɵeld"](50,0,null,null,12,"div",[["class","form-group"],["formGroupName","pools"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"has-error",null],[2,"has-success",null]],null,null,o.b,o.a)),t["ɵdid"](51,212992,null,0,i.m,[[3,i.d],[8,null],[8,null]],{name:[0,"name"]},null),t["ɵprd"](2048,null,i.d,null,[i.m]),t["ɵdid"](53,16384,null,0,i.s,[[4,i.d]],null,null),t["ɵdid"](54,1163264,null,2,u.c,[t.ElementRef,u.g],null,null),t["ɵqud"](603979776,5,{FormControlNames:1}),t["ɵqud"](603979776,6,{messagesBlock:0}),(l()(),t["ɵeld"](57,0,null,0,1,"label",[["class","col-form-label required"],["for","pools"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Pools"])),(l()(),t["ɵand"](16777216,null,0,1,null,R)),t["ɵdid"](60,278528,null,0,d.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),t["ɵand"](16777216,null,0,1,null,w)),t["ɵdid"](62,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](63,0,null,null,17,"div",[["class","form-group"]],[[2,"has-error",null],[2,"has-success",null]],null,null,o.b,o.a)),t["ɵdid"](64,1163264,null,2,u.c,[t.ElementRef,u.g],null,null),t["ɵqud"](603979776,7,{FormControlNames:1}),t["ɵqud"](603979776,8,{messagesBlock:0}),(l()(),t["ɵeld"](67,0,null,0,1,"label",[["class","col-form-label required"],["for","token"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Token"])),(l()(),t["ɵeld"](69,0,null,0,7,"textarea",[["class","form-control resize-vertical"],["formControlName","token"],["id","token"],["placeholder","Generated token..."]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,70)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,70).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,70)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,70)._compositionEnd(e.target.value)&&i),i}),null,null)),t["ɵdid"](70,16384,null,0,i.e,[t.Renderer2,t.ElementRef,[2,i.b]],null,null),t["ɵprd"](1024,null,i.p,(function(l){return[l]}),[i.e]),t["ɵdid"](72,671744,[[7,4]],0,i.j,[[3,i.d],[8,null],[8,null],[6,i.p],[2,i.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,i.q,null,[i.j]),t["ɵdid"](74,16384,null,0,i.r,[[4,i.q]],null,null),t["ɵdid"](75,16384,null,0,u.h,[[3,i.d],u.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵted"](-1,null,["          "])),(l()(),t["ɵand"](16777216,null,0,1,null,I)),t["ɵdid"](78,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](16777216,null,0,1,null,k)),t["ɵdid"](80,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](81,0,null,null,6,"div",[["class","modal-footer"]],null,null,null,null,null)),(l()(),t["ɵeld"](82,0,null,null,5,"div",[["class","button-group text-right"]],null,null,null,null,null)),(l()(),t["ɵeld"](83,0,null,null,2,"cd-submit-button",[],null,[[null,"submitAction"]],(function(l,n,e){var t=!0;return"submitAction"===n&&(t=!1!==l.component.import()&&t),t}),c.b,c.a)),t["ɵdid"](84,114688,null,0,m.a,[t.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(l()(),t["ɵted"](-1,0,["Import"])),(l()(),t["ɵeld"](86,0,null,null,1,"cd-back-button",[["name","Close"]],null,null,null,p.b,p.a)),t["ɵdid"](87,49152,null,0,h.a,[d.Location,g.b],{name:[0,"name"],back:[1,"back"]},null)],(function(l,n){var e=n.component;l(n,1,0,e.modalRef),l(n,7,0,e.importBootstrapForm),l(n,10,0,e.importBootstrapForm),l(n,19,0),l(n,25,0,""),l(n,28,0,"siteName"),l(n,31,0,"siteName"),l(n,33,0,e.importBootstrapForm.showError("siteName",t["ɵnov"](n,7),"required")),l(n,35,0),l(n,44,0,"direction"),l(n,47,0,"direction"),l(n,49,0,e.directions),l(n,51,0,"pools"),l(n,54,0),l(n,60,0,e.pools),l(n,62,0,e.importBootstrapForm.showError("pools",t["ɵnov"](n,7),"requirePool")),l(n,64,0),l(n,72,0,"token"),l(n,75,0,"token"),l(n,78,0,e.importBootstrapForm.showError("token",t["ɵnov"](n,7),"required")),l(n,80,0,e.importBootstrapForm.showError("token",t["ɵnov"](n,7),"invalidToken")),l(n,84,0,e.importBootstrapForm),l(n,87,0,"Close",e.modalRef.hide)}),(function(l,n){l(n,5,0,t["ɵnov"](n,9).ngClassUntouched,t["ɵnov"](n,9).ngClassTouched,t["ɵnov"](n,9).ngClassPristine,t["ɵnov"](n,9).ngClassDirty,t["ɵnov"](n,9).ngClassValid,t["ɵnov"](n,9).ngClassInvalid,t["ɵnov"](n,9).ngClassPending),l(n,18,0,t["ɵnov"](n,19).hasErrors,t["ɵnov"](n,19).hasSuccess),l(n,24,0,t["ɵnov"](n,30).ngClassUntouched,t["ɵnov"](n,30).ngClassTouched,t["ɵnov"](n,30).ngClassPristine,t["ɵnov"](n,30).ngClassDirty,t["ɵnov"](n,30).ngClassValid,t["ɵnov"](n,30).ngClassInvalid,t["ɵnov"](n,30).ngClassPending,t["ɵnov"](n,31).validClass,t["ɵnov"](n,31).invalidClass),l(n,34,0,t["ɵnov"](n,35).hasErrors,t["ɵnov"](n,35).hasSuccess),l(n,41,0,t["ɵnov"](n,46).ngClassUntouched,t["ɵnov"](n,46).ngClassTouched,t["ɵnov"](n,46).ngClassPristine,t["ɵnov"](n,46).ngClassDirty,t["ɵnov"](n,46).ngClassValid,t["ɵnov"](n,46).ngClassInvalid,t["ɵnov"](n,46).ngClassPending,t["ɵnov"](n,47).validClass,t["ɵnov"](n,47).invalidClass),l(n,50,0,t["ɵnov"](n,53).ngClassUntouched,t["ɵnov"](n,53).ngClassTouched,t["ɵnov"](n,53).ngClassPristine,t["ɵnov"](n,53).ngClassDirty,t["ɵnov"](n,53).ngClassValid,t["ɵnov"](n,53).ngClassInvalid,t["ɵnov"](n,53).ngClassPending,t["ɵnov"](n,54).hasErrors,t["ɵnov"](n,54).hasSuccess),l(n,63,0,t["ɵnov"](n,64).hasErrors,t["ɵnov"](n,64).hasSuccess),l(n,69,0,t["ɵnov"](n,74).ngClassUntouched,t["ɵnov"](n,74).ngClassTouched,t["ɵnov"](n,74).ngClassPristine,t["ɵnov"](n,74).ngClassDirty,t["ɵnov"](n,74).ngClassValid,t["ɵnov"](n,74).ngClassInvalid,t["ɵnov"](n,74).ngClassPending,t["ɵnov"](n,75).validClass,t["ɵnov"](n,75).invalidClass)}))}function N(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"cd-bootstrap-import-modal",[],null,null,null,E,S)),t["ɵdid"](1,245760,null,0,f.a,[v.a,b.a,C.a],null,null)],(function(l,n){l(n,1,0)}),null)}var F=t["ɵccf"]("cd-bootstrap-import-modal",f.a,N,{},{},[])},EFGL:function(l,n,e){"use strict";var t=e("8Y7J"),i=e("SVse"),u=e("IzCI"),s=e("aXbf"),a=e("dEH0"),o=e("BQkM"),r=e("25BL"),d=e("uIqm");e("aAWM"),e("o8EM"),e("GiVz"),e.d(n,"a",(function(){return c})),e.d(n,"b",(function(){return _}));var c=t["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function m(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,2,"span",[],null,null,null,null,null)),(l()(),t["ɵted"](1,null,["",""])),t["ɵppd"](2,1)],null,(function(l,n){var e=t["ɵunv"](n,1,0,l(n,2,0,t["ɵnov"](n.parent.parent,0),n.parent.context.value));l(n,1,0,e)}))}function p(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,2,"strong",[],null,null,null,null,null)),(l()(),t["ɵted"](1,null,["",""])),t["ɵppd"](2,1)],null,(function(l,n){var e=t["ɵunv"](n,1,0,l(n,2,0,t["ɵnov"](n.parent.parent,0),n.parent.context.value));l(n,1,0,e)}))}function h(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,2,"strong",[],null,null,null,null,null)),(l()(),t["ɵted"](1,null,["",""])),t["ɵppd"](2,1)],null,(function(l,n){var e=t["ɵunv"](n,1,0,l(n,2,0,t["ɵnov"](n.parent.parent,0),n.parent.context.value));l(n,1,0,e)}))}function g(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,7,"div",[],null,null,null,null,null)),t["ɵdid"](1,16384,null,0,i.NgSwitch,[],{ngSwitch:[0,"ngSwitch"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,m)),t["ɵdid"](3,278528,null,0,i.NgSwitchCase,[t.ViewContainerRef,t.TemplateRef,i.NgSwitch],{ngSwitchCase:[0,"ngSwitchCase"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,p)),t["ɵdid"](5,278528,null,0,i.NgSwitchCase,[t.ViewContainerRef,t.TemplateRef,i.NgSwitch],{ngSwitchCase:[0,"ngSwitchCase"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,h)),t["ɵdid"](7,278528,null,0,i.NgSwitchCase,[t.ViewContainerRef,t.TemplateRef,i.NgSwitch],{ngSwitchCase:[0,"ngSwitchCase"]},null)],(function(l,n){l(n,1,0,n.context.value),l(n,3,0,"global"),l(n,5,0,"image"),l(n,7,0,"pool")}),null)}function f(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,2,"span",[],null,null,null,null,null)),(l()(),t["ɵted"](1,null,["",""])),t["ɵppd"](2,1)],null,(function(l,n){var e=t["ɵunv"](n,1,0,l(n,2,0,t["ɵnov"](n.parent.parent,1),n.parent.context.value));l(n,1,0,e)}))}function v(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,2,"span",[],null,null,null,null,null)),(l()(),t["ɵted"](1,null,["",""])),t["ɵppd"](2,1)],null,(function(l,n){var e=t["ɵunv"](n,1,0,l(n,2,0,t["ɵnov"](n.parent.parent,2),n.parent.context.value));l(n,1,0,e)}))}function b(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,2,"span",[],null,null,null,null,null)),(l()(),t["ɵted"](1,null,["",""])),t["ɵppd"](2,1)],null,(function(l,n){var e=t["ɵunv"](n,1,0,l(n,2,0,t["ɵnov"](n.parent.parent,3),n.parent.context.value));l(n,1,0,e)}))}function C(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(l()(),t["ɵted"](1,null,["",""]))],null,(function(l,n){l(n,1,0,n.parent.context.value)}))}function S(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,9,"div",[],null,null,null,null,null)),t["ɵdid"](1,16384,null,0,i.NgSwitch,[],{ngSwitch:[0,"ngSwitch"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,f)),t["ɵdid"](3,278528,null,0,i.NgSwitchCase,[t.ViewContainerRef,t.TemplateRef,i.NgSwitch],{ngSwitchCase:[0,"ngSwitchCase"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,v)),t["ɵdid"](5,278528,null,0,i.NgSwitchCase,[t.ViewContainerRef,t.TemplateRef,i.NgSwitch],{ngSwitchCase:[0,"ngSwitchCase"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,b)),t["ɵdid"](7,278528,null,0,i.NgSwitchCase,[t.ViewContainerRef,t.TemplateRef,i.NgSwitch],{ngSwitchCase:[0,"ngSwitchCase"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,C)),t["ɵdid"](9,16384,null,0,i.NgSwitchDefault,[t.ViewContainerRef,t.TemplateRef,i.NgSwitch],null,null)],(function(l,n){var e=n.component;l(n,1,0,n.context.row.type),l(n,3,0,e.typeField.bps),l(n,5,0,e.typeField.milliseconds),l(n,7,0,e.typeField.iops)}),null)}function _(l){return t["ɵvid"](0,[t["ɵpid"](0,i.TitleCasePipe,[]),t["ɵpid"](0,u.a,[s.a]),t["ɵpid"](0,a.a,[]),t["ɵpid"](0,o.a,[]),t["ɵqud"](402653184,1,{configurationSourceTpl:0}),t["ɵqud"](402653184,2,{configurationValueTpl:0}),t["ɵqud"](402653184,3,{poolConfTable:0}),(l()(),t["ɵeld"](7,0,null,null,1,"cd-table",[["identifier","name"]],null,null,null,r.b,r.a)),t["ɵdid"](8,2867200,[[3,4],["poolConfTable",4]],0,d.a,[t.NgZone,t.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],identifier:[2,"identifier"]},null),(l()(),t["ɵand"](0,[[1,2],["configurationSourceTpl",2]],null,0,null,g)),(l()(),t["ɵand"](0,[[2,2],["configurationValueTpl",2]],null,0,null,S))],(function(l,n){var e=n.component;l(n,8,0,e.data,e.poolConfigurationColumns,"name")}),null)}},Ekvf:function(l,n,e){"use strict";e.d(n,"a",(function(){return d}));var t=e("mrSG"),i=e("IheW"),u=e("lJxs"),s=e("xTzq"),a=e("o8EM"),o=e("8Y7J"),r=e("pL04");let d=(()=>{let l=class{constructor(l,n){this.http=l,this.rbdConfigurationService=n,this.apiPath="api/pool"}create(l){return this.http.post(this.apiPath,l,{observe:"response"})}update(l){let n;return l.hasOwnProperty("srcpool")?(n=l.srcpool,delete l.srcpool):(n=l.pool,delete l.pool),this.http.put(`${this.apiPath}/${encodeURIComponent(n)}`,l,{observe:"response"})}delete(l){return this.http.delete(`${this.apiPath}/${l}`,{observe:"response"})}get(l){return this.http.get(`${this.apiPath}/${l}`)}getList(){return this.http.get(`${this.apiPath}?stats=true`)}getConfiguration(l){return this.http.get(`${this.apiPath}/${l}/configuration`).pipe(Object(u.a)(l=>l.map(l=>Object.assign(l,this.rbdConfigurationService.getOptionByName(l.name)))))}getInfo(){return this.http.get(`ui-${this.apiPath}/info`)}list(l=[]){const n=l.join(",");return this.http.get(`${this.apiPath}?attrs=${n}`).toPromise().then(l=>l)}};return l.ngInjectableDef=o["ɵɵdefineInjectable"]({factory:function(){return new l(o["ɵɵinject"](i.c),o["ɵɵinject"](a.a))},token:l,providedIn:r.a}),l=t.__decorate([s.a,t.__metadata("design:paramtypes",[i.c,a.a])],l),l})()},F83c:function(l,n,e){"use strict";e.d(n,"a",(function(){return m}));var t=e("mrSG"),i=e("IheW"),u=e("LvDl"),s=e("lJxs"),a=e("xTzq"),o=e("jVDg"),r=e("o8EM"),d=e("8Y7J"),c=e("pL04");let m=(()=>{let l=class{constructor(l,n){this.http=l,this.rbdConfigurationService=n}isRBDPool(l){return-1!==u.indexOf(l.application_metadata,"rbd")&&!l.pool_name.includes("/")}create(l){return this.http.post("api/block/image",l,{observe:"response"})}delete(l){return this.http.delete(`api/block/image/${l.toStringEncoded()}`,{observe:"response"})}update(l,n){return this.http.put(`api/block/image/${l.toStringEncoded()}`,n,{observe:"response"})}get(l){return this.http.get(`api/block/image/${l.toStringEncoded()}`)}list(){return this.http.get("api/block/image").pipe(Object(s.a)(l=>l.map(l=>(l.value.map(l=>l.configuration?(l.configuration.map(l=>Object.assign(l,this.rbdConfigurationService.getOptionByName(l.name))),l):l),l))))}copy(l,n){return this.http.post(`api/block/image/${l.toStringEncoded()}/copy`,n,{observe:"response"})}flatten(l){return this.http.post(`api/block/image/${l.toStringEncoded()}/flatten`,null,{observe:"response"})}defaultFeatures(){return this.http.get("api/block/image/default_features")}createSnapshot(l,n){const e={snapshot_name:n};return this.http.post(`api/block/image/${l.toStringEncoded()}/snap`,e,{observe:"response"})}renameSnapshot(l,n,e){const t={new_snap_name:e};return this.http.put(`api/block/image/${l.toStringEncoded()}/snap/${n}`,t,{observe:"response"})}protectSnapshot(l,n,e){const t={is_protected:e};return this.http.put(`api/block/image/${l.toStringEncoded()}/snap/${n}`,t,{observe:"response"})}rollbackSnapshot(l,n){return this.http.post(`api/block/image/${l.toStringEncoded()}/snap/${n}/rollback`,null,{observe:"response"})}cloneSnapshot(l,n,e){return this.http.post(`api/block/image/${l.toStringEncoded()}/snap/${n}/clone`,e,{observe:"response"})}deleteSnapshot(l,n){return this.http.delete(`api/block/image/${l.toStringEncoded()}/snap/${n}`,{observe:"response"})}listTrash(){return this.http.get("api/block/image/trash/")}createNamespace(l,n){return this.http.post(`api/block/pool/${l}/namespace`,{namespace:n},{observe:"response"})}listNamespaces(l){return this.http.get(`api/block/pool/${l}/namespace/`)}deleteNamespace(l,n){return this.http.delete(`api/block/pool/${l}/namespace/${n}`,{observe:"response"})}moveTrash(l,n){return this.http.post(`api/block/image/${l.toStringEncoded()}/move_trash`,{delay:n},{observe:"response"})}purgeTrash(l){return this.http.post(`api/block/image/trash/purge/?pool_name=${l}`,null,{observe:"response"})}restoreTrash(l,n){return this.http.post(`api/block/image/trash/${l.toStringEncoded()}/restore`,{new_image_name:n},{observe:"response"})}removeTrash(l,n=!1){return this.http.delete(`api/block/image/trash/${l.toStringEncoded()}/?force=${n}`,{observe:"response"})}};return l.ngInjectableDef=d["ɵɵdefineInjectable"]({factory:function(){return new l(d["ɵɵinject"](i.c),d["ɵɵinject"](r.a))},token:l,providedIn:c.a}),t.__decorate([t.__param(1,a.b),t.__metadata("design:type",Function),t.__metadata("design:paramtypes",[o.a,String]),t.__metadata("design:returntype",void 0)],l.prototype,"createSnapshot",null),t.__decorate([t.__param(2,a.b),t.__metadata("design:type",Function),t.__metadata("design:paramtypes",[o.a,String,String]),t.__metadata("design:returntype",void 0)],l.prototype,"renameSnapshot",null),t.__decorate([t.__param(2,a.b),t.__metadata("design:type",Function),t.__metadata("design:paramtypes",[o.a,String,Boolean]),t.__metadata("design:returntype",void 0)],l.prototype,"protectSnapshot",null),t.__decorate([t.__param(1,a.b),t.__metadata("design:type",Function),t.__metadata("design:paramtypes",[o.a,String]),t.__metadata("design:returntype",void 0)],l.prototype,"restoreTrash",null),l=t.__decorate([a.a,t.__metadata("design:paramtypes",[i.c,r.a])],l),l})()},Fd71:function(l,n,e){"use strict";e.d(n,"a",(function(){return o}));var t=e("s7LF"),i=e("XNiG"),u=(e("F83c"),e("sne2"),e("QFaf")),s=e("kvvV"),a=e("jVDg");e("9nlD"),e("VXsX");class o{constructor(l,n,e,t,i,u){this.modalRef=l,this.rbdService=n,this.taskManagerService=e,this.notificationService=t,this.i18n=i,this.actionLabels=u,this.editing=!1,this.action=this.actionLabels.CREATE,this.resource=this.i18n("RBD Snapshot"),this.createForm()}createForm(){this.snapshotForm=new u.a({snapshotName:new t.i("",{validators:[t.B.required]})})}ngOnInit(){this.onSubmit=new i.a}setSnapName(l){this.snapName=l,this.snapshotForm.get("snapshotName").setValue(l)}setEditing(l=!0){this.editing=l,this.action=this.editing?this.actionLabels.RENAME:this.actionLabels.CREATE}editAction(){const l=this.snapshotForm.getValue("snapshotName"),n=new a.a(this.poolName,this.namespace,this.imageName),e=new s.a;e.name="rbd/snap/edit",e.metadata={image_spec:n.toString(),snapshot_name:l},this.rbdService.renameSnapshot(n,this.snapName,l).toPromise().then(()=>{this.taskManagerService.subscribe(e.name,e.metadata,l=>{this.notificationService.notifyTask(l)}),this.modalRef.hide(),this.onSubmit.next(this.snapName)}).catch(()=>{this.snapshotForm.setErrors({cdSubmitButton:!0})})}createAction(){const l=this.snapshotForm.getValue("snapshotName"),n=new a.a(this.poolName,this.namespace,this.imageName),e=new s.a;e.name="rbd/snap/create",e.metadata={image_spec:n.toString(),snapshot_name:l},this.rbdService.createSnapshot(n,l).toPromise().then(()=>{this.taskManagerService.subscribe(e.name,e.metadata,l=>{this.notificationService.notifyTask(l)}),this.modalRef.hide(),this.onSubmit.next(l)}).catch(()=>{this.snapshotForm.setErrors({cdSubmitButton:!0})})}submit(){this.editing?this.editAction():this.createAction()}}},I4Qz:function(l,n,e){"use strict";var t=e("8Y7J"),i=e("EEJc"),u=e("ajRT"),s=e("s7LF"),a=e("+gVj"),o=e("SVse"),r=e("mXUL"),d=e("ienR"),c=e("z/SZ"),m=e("gp3X"),p=e("sb0X"),h=e("KVJa"),g=e("Z21x"),f=e("sne2"),v=e("2JDI"),b=e("F83c"),C=e("LqlI"),S=e("2EZI"),_=e("kn/O");e.d(n,"a",(function(){return N}));var y=t["ɵcrt"]({encapsulation:0,styles:[[".bs-datepicker-head bs-datepicker-navigation-view{display:flex;justify-content:space-between}"]],data:{}});function R(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,2,"div",[["class","alert alert-warning"],["role","alert"]],null,null,null,null,null)),(l()(),t["ɵeld"](1,0,null,null,1,"span",[],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["This image contains snapshot(s), which will prevent it from being removed after moved to trash."]))],null,null)}function w(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,['Wrong date format. Please use "YYYY-MM-DD HH:mm:ss".']))],null,null)}function I(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Protection has already expired. Please pick a future date or leave it empty."]))],null,null)}function k(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,48,"cd-modal",[],null,null,null,i.c,i.b)),t["ɵdid"](1,49152,null,0,u.a,[],{modalRef:[0,"modalRef"]},null),(l()(),t["ɵeld"](2,0,null,0,1,null,null,null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Move an image to trash"])),(l()(),t["ɵeld"](4,0,null,1,44,null,null,null,null,null,null,null)),(l()(),t["ɵeld"](5,0,null,null,43,"form",[["class","form"],["name","moveForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,e){var i=!0;return"submit"===n&&(i=!1!==t["ɵnov"](l,7).onSubmit(e)&&i),"reset"===n&&(i=!1!==t["ɵnov"](l,7).onReset()&&i),"submit"===n&&(i=!1!==t["ɵnov"](l,10).onSubmit()&&i),i}),null,null)),t["ɵdid"](6,16384,null,0,s.G,[],null,null),t["ɵdid"](7,540672,[["formDir",4]],0,s.l,[[8,null],[8,null]],{form:[0,"form"]},null),t["ɵprd"](2048,null,s.d,null,[s.l]),t["ɵdid"](9,16384,null,0,s.s,[[4,s.d]],null,null),t["ɵdid"](10,16384,null,0,a.d,[],{formGroup:[0,"formGroup"]},null),(l()(),t["ɵeld"](11,0,null,null,30,"div",[["class","modal-body"]],null,null,null,null,null)),(l()(),t["ɵand"](16777216,null,null,1,null,R)),t["ɵdid"](13,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](14,0,null,null,7,"p",[],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["To move "])),(l()(),t["ɵeld"](16,0,null,null,1,"kbd",[],null,null,null,null,null)),(l()(),t["ɵted"](17,null,["",""])),(l()(),t["ɵted"](-1,null,[" to trash, click "])),(l()(),t["ɵeld"](19,0,null,null,1,"kbd",[],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Move Image"])),(l()(),t["ɵted"](-1,null,[". Optionally, you can pick an expiration date."])),(l()(),t["ɵeld"](22,0,null,null,19,"div",[["class","form-group"]],[[2,"has-error",null],[2,"has-success",null]],null,null,r.b,r.a)),t["ɵdid"](23,1163264,null,2,a.c,[t.ElementRef,a.g],null,null),t["ɵqud"](603979776,1,{FormControlNames:1}),t["ɵqud"](603979776,2,{messagesBlock:0}),(l()(),t["ɵeld"](26,0,null,0,1,"label",[["class","col-form-label"],["for","expires"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Protection expires at"])),(l()(),t["ɵeld"](28,16777216,null,0,9,"input",[["bsDatepicker",""],["class","form-control"],["formControlName","expiresAt"],["placeholder","NOT PROTECTED"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"],[null,"keyup.esc"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,29)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,29).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,29)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,29)._compositionEnd(e.target.value)&&i),"change"===n&&(i=!1!==t["ɵnov"](l,31).onChange(e)&&i),"keyup.esc"===n&&(i=!1!==t["ɵnov"](l,31).hide()&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,31).onBlur()&&i),i}),null,null)),t["ɵdid"](29,16384,null,0,s.e,[t.Renderer2,t.ElementRef,[2,s.b]],null,null),t["ɵdid"](30,737280,null,0,d.c,[d.a,t.ElementRef,t.Renderer2,t.ViewContainerRef,c.a],{bsConfig:[0,"bsConfig"],minDate:[1,"minDate"]},null),t["ɵdid"](31,16384,null,0,d.f,[d.c,d.j,t.Renderer2,t.ElementRef,t.ChangeDetectorRef],null,null),t["ɵprd"](1024,null,s.o,(function(l){return[l]}),[d.f]),t["ɵprd"](1024,null,s.p,(function(l,n){return[l,n]}),[s.e,d.f]),t["ɵdid"](34,671744,[[1,4]],0,s.j,[[3,s.d],[6,s.o],[8,null],[6,s.p],[2,s.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,s.q,null,[s.j]),t["ɵdid"](36,16384,null,0,s.r,[[4,s.q]],null,null),t["ɵdid"](37,16384,null,0,a.h,[[3,s.d],a.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵand"](16777216,null,0,1,null,w)),t["ɵdid"](39,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](16777216,null,0,1,null,I)),t["ɵdid"](41,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](42,0,null,null,6,"div",[["class","modal-footer"]],null,null,null,null,null)),(l()(),t["ɵeld"](43,0,null,null,5,"div",[["class","button-group text-right"]],null,null,null,null,null)),(l()(),t["ɵeld"](44,0,null,null,2,"cd-submit-button",[],null,[[null,"submitAction"]],(function(l,n,e){var t=!0;return"submitAction"===n&&(t=!1!==l.component.moveImage()&&t),t}),m.b,m.a)),t["ɵdid"](45,114688,null,0,p.a,[t.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(l()(),t["ɵted"](-1,0,["Move Image"])),(l()(),t["ɵeld"](47,0,null,null,1,"cd-back-button",[["name","Cancel"]],null,null,null,h.b,h.a)),t["ɵdid"](48,49152,null,0,g.a,[o.Location,f.b],{name:[0,"name"],back:[1,"back"]},null)],(function(l,n){var e=n.component;l(n,1,0,e.modalRef),l(n,7,0,e.moveForm),l(n,10,0,e.moveForm),l(n,13,0,e.hasSnapshots),l(n,23,0),l(n,30,0,e.bsConfig,e.minDate),l(n,34,0,"expiresAt"),l(n,37,0,"expiresAt"),l(n,39,0,e.moveForm.showError("expiresAt",t["ɵnov"](n,7),"format")),l(n,41,0,e.moveForm.showError("expiresAt",t["ɵnov"](n,7),"expired")),l(n,45,0,e.moveForm),l(n,48,0,"Cancel",e.modalRef.hide)}),(function(l,n){var e=n.component;l(n,5,0,t["ɵnov"](n,9).ngClassUntouched,t["ɵnov"](n,9).ngClassTouched,t["ɵnov"](n,9).ngClassPristine,t["ɵnov"](n,9).ngClassDirty,t["ɵnov"](n,9).ngClassValid,t["ɵnov"](n,9).ngClassInvalid,t["ɵnov"](n,9).ngClassPending),l(n,17,0,e.imageSpecStr),l(n,22,0,t["ɵnov"](n,23).hasErrors,t["ɵnov"](n,23).hasSuccess),l(n,28,0,t["ɵnov"](n,36).ngClassUntouched,t["ɵnov"](n,36).ngClassTouched,t["ɵnov"](n,36).ngClassPristine,t["ɵnov"](n,36).ngClassDirty,t["ɵnov"](n,36).ngClassValid,t["ɵnov"](n,36).ngClassInvalid,t["ɵnov"](n,36).ngClassPending,t["ɵnov"](n,37).validClass,t["ɵnov"](n,37).invalidClass)}))}function E(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"cd-rbd-trash-move-modal",[],null,null,null,k,y)),t["ɵdid"](1,114688,null,0,v.a,[b.a,C.a,S.a,_.a],null,null)],(function(l,n){l(n,1,0)}),null)}var N=t["ɵccf"]("cd-rbd-trash-move-modal",v.a,E,{},{},[])},JBea:function(l,n,e){"use strict";e.d(n,"a",(function(){return t})),e("vCyI");class t{constructor(){}ngOnChanges(){this.selection.hasSelection&&(this.selectedItem=this.selection.first())}}},"JIi+":function(l,n,e){"use strict";var t=e("8Y7J"),i=e("978R"),u=e("z/SZ"),s=e("2uy1"),a=e("SVse"),o=e("pKUh"),r=e("2ZVE"),d=e("25BL"),c=e("uIqm"),m=e("NUGo"),p=e("S7zO"),h=e("VTlA"),g=e("ufoC"),f=e("mSOc"),v=e("wd/R"),b=e("LRne"),C=e("F83c"),S=e("OLbh"),_=e("0+/T"),y=e("sne2"),R=e("x38r"),w=e("vCyI"),I=e("QTAa"),k=e("kvvV"),E=e("jVDg"),N=e("a0VL"),F=e("Fgil"),T=e("aexS"),V=e("9nlD"),D=e("VXsX"),P=e("Fd71"),x=e("LvDl"),q=e("oxzT");class B{constructor(l,n,e){this.i18n=l,this.create={permission:"create",icon:q.a.add,name:n.CREATE},this.rename={permission:"update",icon:q.a.edit,name:n.RENAME},this.protect={permission:"update",icon:q.a.lock,visible:l=>l.hasSingleSelection&&!l.first().is_protected,name:n.PROTECT},this.unprotect={permission:"update",icon:q.a.unlock,visible:l=>l.hasSingleSelection&&l.first().is_protected,name:n.UNPROTECT},this.clone={permission:"create",canBePrimary:l=>l.hasSingleSelection,disable:l=>!l.hasSingleSelection||l.first().cdExecuting||!x.isUndefined(this.getCloneDisableDesc(e)),disableDesc:()=>this.getCloneDisableDesc(e),icon:q.a.clone,name:n.CLONE},this.copy={permission:"create",canBePrimary:l=>l.hasSingleSelection,disable:l=>!l.hasSingleSelection||l.first().cdExecuting,icon:q.a.copy,name:n.COPY},this.rollback={permission:"update",icon:q.a.undo,name:n.ROLLBACK},this.deleteSnap={permission:"delete",icon:q.a.destroy,disable:l=>{const n=l.first();return!l.hasSingleSelection||n.cdExecuting||n.is_protected},name:n.DELETE},this.ordering=[this.create,this.rename,this.protect,this.unprotect,this.clone,this.copy,this.rollback,this.deleteSnap]}getCloneDisableDesc(l){if(!l.includes("layering"))return this.i18n("Parent image must support Layering")}}class O{}class M{constructor(l,n,e,t,i,u,s,a,o,r,d){this.authStorageService=l,this.modalService=n,this.dimlessBinaryPipe=e,this.cdDatePipe=t,this.rbdService=i,this.taskManagerService=u,this.notificationService=s,this.summaryService=a,this.taskListService=o,this.i18n=r,this.actionLabels=d,this.snapshots=[],this.selection=new w.a,this.builders={"rbd/snap/create":l=>{const n=new O;return n.name=l.snapshot_name,n}},this.permission=this.authStorageService.getPermissions().rbdImage}ngOnInit(){this.columns=[{name:this.i18n("Name"),prop:"name",cellTransformation:R.a.executing,flexGrow:2},{name:this.i18n("Size"),prop:"size",flexGrow:1,cellClass:"text-right",pipe:this.dimlessBinaryPipe},{name:this.i18n("Provisioned"),prop:"disk_usage",flexGrow:1,cellClass:"text-right",pipe:this.dimlessBinaryPipe},{name:this.i18n("State"),prop:"is_protected",flexGrow:1,cellTransformation:R.a.badge,customTemplateConfig:{map:{true:{value:this.i18n("PROTECTED"),class:"badge-success"},false:{value:this.i18n("UNPROTECTED"),class:"badge-info"}}}},{name:this.i18n("Created"),prop:"timestamp",flexGrow:1,pipe:this.cdDatePipe}]}ngOnChanges(){const l=new E.a(this.poolName,this.namespace,this.rbdName),n=new B(this.i18n,this.actionLabels,this.featuresName);n.create.click=()=>this.openCreateSnapshotModal(),n.rename.click=()=>this.openEditSnapshotModal(),n.protect.click=()=>this.toggleProtection(),n.unprotect.click=()=>this.toggleProtection();const e=()=>this.selection.first()&&`${l.toStringEncoded()}/${encodeURIComponent(this.selection.first().name)}`;n.clone.routerLink=()=>`/block/rbd/clone/${e()}`,n.copy.routerLink=()=>`/block/rbd/copy/${e()}`,n.rollback.click=()=>this.rollbackModal(),n.deleteSnap.click=()=>this.deleteSnapshotModal(),this.tableActions=n.ordering,this.taskListService.init(()=>Object(b.a)(this.snapshots),null,l=>this.data=l,()=>this.data=this.snapshots,n=>["rbd/snap/create","rbd/snap/delete","rbd/snap/edit","rbd/snap/rollback"].includes(n.name)&&l.toString()===n.metadata.image_spec,(l,n)=>l.name===n.metadata.snapshot_name,this.builders)}openSnapshotModal(l,n=null){this.modalRef=this.modalService.show(P.a),this.modalRef.content.poolName=this.poolName,this.modalRef.content.imageName=this.rbdName,this.modalRef.content.namespace=this.namespace,n?this.modalRef.content.setEditing():n=`${this.rbdName}_${v().toISOString(!0)}`,this.modalRef.content.setSnapName(n),this.modalRef.content.onSubmit.subscribe(n=>{const e=new I.a;e.name=l,e.metadata={image_name:this.rbdName,pool_name:this.poolName,snapshot_name:n},this.summaryService.addRunningTask(e),this.ngOnChanges()})}openCreateSnapshotModal(){this.openSnapshotModal("rbd/snap/create")}openEditSnapshotModal(){this.openSnapshotModal("rbd/snap/edit",this.selection.first().name)}toggleProtection(){const l=this.selection.first().name,n=this.selection.first().is_protected,e=new k.a;e.name="rbd/snap/edit";const t=new E.a(this.poolName,this.namespace,this.rbdName);e.metadata={image_spec:t.toString(),snapshot_name:l},this.rbdService.protectSnapshot(t,l,!n).toPromise().then(()=>{const l=new I.a;l.name=e.name,l.metadata=e.metadata,this.summaryService.addRunningTask(l),this.ngOnChanges(),this.taskManagerService.subscribe(e.name,e.metadata,l=>{this.notificationService.notifyTask(l)})})}_asyncTask(l,n,e){const t=new k.a;t.name=n,t.metadata={image_spec:new E.a(this.poolName,this.namespace,this.rbdName).toString(),snapshot_name:e};const i=new E.a(this.poolName,this.namespace,this.rbdName);this.rbdService[l](i,e).toPromise().then(()=>{const l=new I.a;l.name=t.name,l.metadata=t.metadata,this.summaryService.addRunningTask(l),this.modalRef.hide(),this.ngOnChanges(),this.taskManagerService.subscribe(l.name,l.metadata,l=>{this.notificationService.notifyTask(l)})}).catch(()=>{this.modalRef.content.stopLoadingSpinner()})}rollbackModal(){const l=this.selection.selected[0].name,n=new E.a(this.poolName,this.namespace,this.rbdName).toString(),e={titleText:this.i18n("RBD snapshot rollback"),buttonText:this.i18n("Rollback"),bodyTpl:this.rollbackTpl,bodyData:{snapName:`${n}@${l}`},onSubmit:()=>{this._asyncTask("rollbackSnapshot","rbd/snap/rollback",l)}};this.modalRef=this.modalService.show(S.a,{initialState:e})}deleteSnapshotModal(){const l=this.selection.selected[0].name;this.modalRef=this.modalService.show(_.a,{initialState:{itemDescription:this.i18n("RBD snapshot"),itemNames:[l],submitAction:()=>this._asyncTask("deleteSnapshot","rbd/snap/delete",l)}})}updateSelection(l){this.selection=l}}var A=e("LqlI"),j=e("GiVz"),L=t["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function $(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,null,null,null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["You are about to rollback"])),(l()(),t["ɵeld"](2,0,null,null,1,"strong",[],null,null,null,null,null)),(l()(),t["ɵted"](3,null,[" ",""])),(l()(),t["ɵted"](-1,null,[".\n"]))],null,(function(l,n){l(n,3,0,n.context.$implicit.snapName)}))}function G(l){return t["ɵvid"](0,[t["ɵqud"](671088640,1,{nameTpl:0}),t["ɵqud"](402653184,2,{rollbackTpl:0}),(l()(),t["ɵeld"](2,0,null,null,3,"cd-table",[["columnMode","flex"],["selectionType","single"]],null,[[null,"updateSelection"]],(function(l,n,e){var t=!0;return"updateSelection"===n&&(t=!1!==l.component.updateSelection(e)&&t),t}),d.b,d.a)),t["ɵdid"](3,2867200,null,0,c.a,[t.NgZone,t.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],selectionType:[3,"selectionType"]},{updateSelection:"updateSelection"}),(l()(),t["ɵeld"](4,0,null,1,1,"cd-table-actions",[["class","table-actions"]],null,null,null,m.b,m.a)),t["ɵdid"](5,114688,null,0,p.a,[],{permission:[0,"permission"],selection:[1,"selection"],tableActions:[2,"tableActions"]},null),(l()(),t["ɵand"](0,[[2,2],["rollbackTpl",2]],null,0,null,$))],(function(l,n){var e=n.component;l(n,3,0,e.data,e.columns,"flex","single"),l(n,5,0,e.permission,e.selection,e.tableActions)}),null)}var U=e("EFGL"),X=e("aAWM"),z=e("aXbf"),W=e("o8EM"),J=e("nSDx"),Y=e("o4+5"),K=e("JBea");e.d(n,"b",(function(){return Z})),e.d(n,"c",(function(){return cl})),e.d(n,"a",(function(){return pl}));var Z=t["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function H(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,4,null,null,null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Only available for RBD images with "])),(l()(),t["ɵeld"](2,0,null,null,1,"strong",[],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["fast-diff"])),(l()(),t["ɵted"](-1,null,[" enabled"]))],null,null)}function Q(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,2,"span",[],null,null,null,null,null)),(l()(),t["ɵeld"](1,0,null,null,1,"span",[["class","badge badge-dark mr-2"]],null,null,null,null,null)),(l()(),t["ɵted"](2,null,["",""]))],null,(function(l,n){l(n,2,0,n.context.$implicit)}))}function ll(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,3,"span",[],null,null,null,null,null)),(l()(),t["ɵeld"](1,16777216,null,null,2,"span",[["class","form-text text-muted"],["placement","right"]],[[1,"aria-describedby",0]],null,null,null,null)),t["ɵdid"](2,212992,null,0,i.c,[t.ViewContainerRef,u.a,i.a,t.ElementRef,t.Renderer2,s.a],{tooltip:[0,"tooltip"],placement:[1,"placement"]},null),(l()(),t["ɵted"](-1,null,["N/A"]))],(function(l,n){l(n,2,0,t["ɵnov"](n.parent.parent,5),"right")}),(function(l,n){l(n,1,0,t["ɵnov"](n,2).ariaDescribedby)}))}function nl(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,2,"span",[],null,null,null,null,null)),(l()(),t["ɵted"](1,null,[" "," "])),t["ɵppd"](2,1)],null,(function(l,n){var e=n.component,i=t["ɵunv"](n,1,0,l(n,2,0,t["ɵnov"](n.parent.parent,2),e.selectedItem.disk_usage));l(n,1,0,i)}))}function el(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,3,"span",[],null,null,null,null,null)),(l()(),t["ɵeld"](1,16777216,null,null,2,"span",[["class","form-text text-muted"],["placement","right"]],[[1,"aria-describedby",0]],null,null,null,null)),t["ɵdid"](2,212992,null,0,i.c,[t.ViewContainerRef,u.a,i.a,t.ElementRef,t.Renderer2,s.a],{tooltip:[0,"tooltip"],placement:[1,"placement"]},null),(l()(),t["ɵted"](-1,null,["N/A"]))],(function(l,n){l(n,2,0,t["ɵnov"](n.parent.parent,5),"right")}),(function(l,n){l(n,1,0,t["ɵnov"](n,2).ariaDescribedby)}))}function tl(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,2,"span",[],null,null,null,null,null)),(l()(),t["ɵted"](1,null,[" "," "])),t["ɵppd"](2,1)],null,(function(l,n){var e=n.component,i=t["ɵunv"](n,1,0,l(n,2,0,t["ɵnov"](n.parent.parent,2),e.selectedItem.total_disk_usage));l(n,1,0,i)}))}function il(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(l()(),t["ɵted"](1,null,["/",""]))],null,(function(l,n){l(n,1,0,n.component.selectedItem.parent.pool_namespace)}))}function ul(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,4,"span",[],null,null,null,null,null)),(l()(),t["ɵted"](1,null,["",""])),(l()(),t["ɵand"](16777216,null,null,1,null,il)),t["ɵdid"](3,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵted"](4,null,["/","@",""]))],(function(l,n){l(n,3,0,n.component.selectedItem.parent.pool_namespace)}),(function(l,n){var e=n.component;l(n,1,0,e.selectedItem.parent.pool_name),l(n,4,0,e.selectedItem.parent.image_name,e.selectedItem.parent.snap_name)}))}function sl(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["-"]))],null,null)}function al(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,105,"tabset",[],[[2,"tab-container",null]],null,null,o.b,o.a)),t["ɵdid"](1,180224,null,0,r.e,[r.f,t.Renderer2,t.ElementRef],null,null),(l()(),t["ɵeld"](2,0,null,0,94,"tab",[["heading","Details"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),t["ɵdid"](3,212992,null,0,r.b,[r.e,t.ElementRef,t.Renderer2],{heading:[0,"heading"]},null),(l()(),t["ɵeld"](4,0,null,null,92,"table",[["class","table table-striped table-bordered"]],null,null,null,null,null)),(l()(),t["ɵeld"](5,0,null,null,91,"tbody",[],null,null,null,null,null)),(l()(),t["ɵeld"](6,0,null,null,4,"tr",[],null,null,null,null,null)),(l()(),t["ɵeld"](7,0,null,null,1,"td",[["class","bold w-25"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Name"])),(l()(),t["ɵeld"](9,0,null,null,1,"td",[["class","w-75"]],null,null,null,null,null)),(l()(),t["ɵted"](10,null,["",""])),(l()(),t["ɵeld"](11,0,null,null,4,"tr",[],null,null,null,null,null)),(l()(),t["ɵeld"](12,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Pool"])),(l()(),t["ɵeld"](14,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),t["ɵted"](15,null,["",""])),(l()(),t["ɵeld"](16,0,null,null,5,"tr",[],null,null,null,null,null)),(l()(),t["ɵeld"](17,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Data Pool"])),(l()(),t["ɵeld"](19,0,null,null,2,"td",[],null,null,null,null,null)),(l()(),t["ɵted"](20,null,["",""])),t["ɵppd"](21,1),(l()(),t["ɵeld"](22,0,null,null,5,"tr",[],null,null,null,null,null)),(l()(),t["ɵeld"](23,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Created"])),(l()(),t["ɵeld"](25,0,null,null,2,"td",[],null,null,null,null,null)),(l()(),t["ɵted"](26,null,["",""])),t["ɵppd"](27,1),(l()(),t["ɵeld"](28,0,null,null,5,"tr",[],null,null,null,null,null)),(l()(),t["ɵeld"](29,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Size"])),(l()(),t["ɵeld"](31,0,null,null,2,"td",[],null,null,null,null,null)),(l()(),t["ɵted"](32,null,["",""])),t["ɵppd"](33,1),(l()(),t["ɵeld"](34,0,null,null,5,"tr",[],null,null,null,null,null)),(l()(),t["ɵeld"](35,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Objects"])),(l()(),t["ɵeld"](37,0,null,null,2,"td",[],null,null,null,null,null)),(l()(),t["ɵted"](38,null,["",""])),t["ɵppd"](39,1),(l()(),t["ɵeld"](40,0,null,null,5,"tr",[],null,null,null,null,null)),(l()(),t["ɵeld"](41,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Object size"])),(l()(),t["ɵeld"](43,0,null,null,2,"td",[],null,null,null,null,null)),(l()(),t["ɵted"](44,null,["",""])),t["ɵppd"](45,1),(l()(),t["ɵeld"](46,0,null,null,5,"tr",[],null,null,null,null,null)),(l()(),t["ɵeld"](47,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Features"])),(l()(),t["ɵeld"](49,0,null,null,2,"td",[],null,null,null,null,null)),(l()(),t["ɵand"](16777216,null,null,1,null,Q)),t["ɵdid"](51,278528,null,0,a.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),t["ɵeld"](52,0,null,null,7,"tr",[],null,null,null,null,null)),(l()(),t["ɵeld"](53,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Provisioned"])),(l()(),t["ɵeld"](55,0,null,null,4,"td",[],null,null,null,null,null)),(l()(),t["ɵand"](16777216,null,null,1,null,ll)),t["ɵdid"](57,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,nl)),t["ɵdid"](59,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](60,0,null,null,7,"tr",[],null,null,null,null,null)),(l()(),t["ɵeld"](61,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Total provisioned"])),(l()(),t["ɵeld"](63,0,null,null,4,"td",[],null,null,null,null,null)),(l()(),t["ɵand"](16777216,null,null,1,null,el)),t["ɵdid"](65,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,tl)),t["ɵdid"](67,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](68,0,null,null,5,"tr",[],null,null,null,null,null)),(l()(),t["ɵeld"](69,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Striping unit"])),(l()(),t["ɵeld"](71,0,null,null,2,"td",[],null,null,null,null,null)),(l()(),t["ɵted"](72,null,["",""])),t["ɵppd"](73,1),(l()(),t["ɵeld"](74,0,null,null,4,"tr",[],null,null,null,null,null)),(l()(),t["ɵeld"](75,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Striping count"])),(l()(),t["ɵeld"](77,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),t["ɵted"](78,null,["",""])),(l()(),t["ɵeld"](79,0,null,null,7,"tr",[],null,null,null,null,null)),(l()(),t["ɵeld"](80,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Parent"])),(l()(),t["ɵeld"](82,0,null,null,4,"td",[],null,null,null,null,null)),(l()(),t["ɵand"](16777216,null,null,1,null,ul)),t["ɵdid"](84,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,sl)),t["ɵdid"](86,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](87,0,null,null,4,"tr",[],null,null,null,null,null)),(l()(),t["ɵeld"](88,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Block name prefix"])),(l()(),t["ɵeld"](90,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),t["ɵted"](91,null,["",""])),(l()(),t["ɵeld"](92,0,null,null,4,"tr",[],null,null,null,null,null)),(l()(),t["ɵeld"](93,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Order"])),(l()(),t["ɵeld"](95,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),t["ɵted"](96,null,["",""])),(l()(),t["ɵeld"](97,0,null,0,4,"tab",[["heading","Snapshots"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),t["ɵdid"](98,212992,null,0,r.b,[r.e,t.ElementRef,t.Renderer2],{heading:[0,"heading"]},null),(l()(),t["ɵeld"](99,0,null,null,2,"cd-rbd-snapshot-list",[],null,null,null,G,L)),t["ɵprd"](131584,null,h.a,h.a,[g.a,f.a]),t["ɵdid"](101,638976,null,0,M,[T.a,A.b,F.a,N.a,C.a,D.a,V.a,f.a,h.a,j.a,y.b],{snapshots:[0,"snapshots"],featuresName:[1,"featuresName"],poolName:[2,"poolName"],namespace:[3,"namespace"],rbdName:[4,"rbdName"]},null),(l()(),t["ɵeld"](102,0,null,0,3,"tab",[["heading","Configuration"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),t["ɵdid"](103,212992,null,0,r.b,[r.e,t.ElementRef,t.Renderer2],{heading:[0,"heading"]},null),(l()(),t["ɵeld"](104,0,null,null,1,"cd-rbd-configuration-table",[],null,null,null,U.b,U.a)),t["ɵdid"](105,638976,null,0,X.a,[z.a,W.a,j.a],{data:[0,"data"]},null)],(function(l,n){var e=n.component;l(n,3,0,"Details"),l(n,51,0,e.selectedItem.features_name),l(n,57,0,-1===(null==e.selectedItem.features_name?null:e.selectedItem.features_name.indexOf("fast-diff"))),l(n,59,0,-1!==(null==e.selectedItem.features_name?null:e.selectedItem.features_name.indexOf("fast-diff"))),l(n,65,0,-1===(null==e.selectedItem.features_name?null:e.selectedItem.features_name.indexOf("fast-diff"))),l(n,67,0,-1!==(null==e.selectedItem.features_name?null:e.selectedItem.features_name.indexOf("fast-diff"))),l(n,84,0,e.selectedItem.parent),l(n,86,0,!e.selectedItem.parent),l(n,98,0,"Snapshots"),l(n,101,0,e.selectedItem.snapshots,e.selectedItem.features_name,e.selectedItem.pool_name,e.selectedItem.namespace,e.selectedItem.name),l(n,103,0,"Configuration"),l(n,105,0,e.selectedItem.configuration)}),(function(l,n){var e=n.component;l(n,0,0,t["ɵnov"](n,1).clazz),l(n,2,0,t["ɵnov"](n,3).id,t["ɵnov"](n,3).active,t["ɵnov"](n,3).addClass),l(n,10,0,e.selectedItem.name),l(n,15,0,e.selectedItem.pool_name);var i=t["ɵunv"](n,20,0,l(n,21,0,t["ɵnov"](n.parent,0),e.selectedItem.data_pool));l(n,20,0,i);var u=t["ɵunv"](n,26,0,l(n,27,0,t["ɵnov"](n.parent,1),e.selectedItem.timestamp));l(n,26,0,u);var s=t["ɵunv"](n,32,0,l(n,33,0,t["ɵnov"](n.parent,2),e.selectedItem.size));l(n,32,0,s);var a=t["ɵunv"](n,38,0,l(n,39,0,t["ɵnov"](n.parent,3),e.selectedItem.num_objs));l(n,38,0,a);var o=t["ɵunv"](n,44,0,l(n,45,0,t["ɵnov"](n.parent,2),e.selectedItem.obj_size));l(n,44,0,o);var r=t["ɵunv"](n,72,0,l(n,73,0,t["ɵnov"](n.parent,2),e.selectedItem.stripe_unit));l(n,72,0,r),l(n,78,0,e.selectedItem.stripe_count),l(n,91,0,e.selectedItem.block_name_prefix),l(n,96,0,e.selectedItem.order),l(n,97,0,t["ɵnov"](n,98).id,t["ɵnov"](n,98).active,t["ɵnov"](n,98).addClass),l(n,102,0,t["ɵnov"](n,103).id,t["ɵnov"](n,103).active,t["ɵnov"](n,103).addClass)}))}function ol(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,3,null,null,null,null,null,null,null)),(l()(),t["ɵeld"](1,16777216,null,null,2,"strong",[["tooltip","This setting overrides the global value"]],[[1,"aria-describedby",0]],null,null,null,null)),t["ɵdid"](2,212992,null,0,i.c,[t.ViewContainerRef,u.a,i.a,t.ElementRef,t.Renderer2,s.a],{tooltip:[0,"tooltip"]},null),(l()(),t["ɵted"](-1,null,["Image"])),(l()(),t["ɵand"](0,null,null,0))],(function(l,n){l(n,2,0,"This setting overrides the global value")}),(function(l,n){l(n,1,0,t["ɵnov"](n,2).ariaDescribedby)}))}function rl(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,16777216,null,null,2,"span",[["tooltip","This is the global value. No value for this option has been set for this image."]],[[1,"aria-describedby",0]],null,null,null,null)),t["ɵdid"](1,212992,null,0,i.c,[t.ViewContainerRef,u.a,i.a,t.ElementRef,t.Renderer2,s.a],{tooltip:[0,"tooltip"]},null),(l()(),t["ɵted"](-1,null,["Global"])),(l()(),t["ɵand"](0,null,null,0))],(function(l,n){l(n,1,0,"This is the global value. No value for this option has been set for this image.")}),(function(l,n){l(n,0,0,t["ɵnov"](n,1).ariaDescribedby)}))}function dl(l){return t["ɵvid"](0,[(l()(),t["ɵand"](16777216,null,null,1,null,ol)),t["ɵdid"](1,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"],ngIfElse:[1,"ngIfElse"]},null),(l()(),t["ɵand"](0,[["global",2]],null,0,null,rl))],(function(l,n){l(n,1,0,n.context.value-0,t["ɵnov"](n,2))}),null)}function cl(l){return t["ɵvid"](0,[t["ɵpid"](0,J.a,[]),t["ɵpid"](0,N.a,[a.DatePipe]),t["ɵpid"](0,F.a,[z.a]),t["ɵpid"](0,Y.a,[z.a]),t["ɵqud"](402653184,1,{poolConfigurationSourceTpl:0}),(l()(),t["ɵand"](0,[["usageNotAvailableTooltipTpl",2]],null,0,null,H)),(l()(),t["ɵand"](16777216,null,null,1,null,al)),t["ɵdid"](7,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](0,[[1,2],["poolConfigurationSourceTpl",2]],null,0,null,dl))],(function(l,n){var e=n.component;l(n,7,0,null==e.selection?null:e.selection.hasSingleSelection)}),null)}function ml(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"cd-rbd-details",[],null,null,null,cl,Z)),t["ɵdid"](1,573440,null,0,K.a,[],null,null)],null,null)}var pl=t["ɵccf"]("cd-rbd-details",K.a,ml,{selection:"selection",images:"images"},{},[])},L4us:function(l,n,e){"use strict";var t=e("s7LF"),i=(e("XED3"),e("QFaf")),u=e("kvvV");e("kn/O");class s{}e.d(n,"a",(function(){return a}));class a{constructor(l,n,e){this.modalRef=l,this.rbdMirroringService=n,this.taskWrapper=e,this.bsConfig={containerClass:"theme-default"},this.createForm()}createForm(){this.editPeerForm=new i.a({clusterName:new t.i("",{validators:[t.B.required,this.validateClusterName]}),clientID:new t.i("",{validators:[t.B.required,this.validateClientID]}),monAddr:new t.i("",{validators:[this.validateMonAddr]}),key:new t.i("",{validators:[this.validateKey]})})}ngOnInit(){this.pattern=`${this.poolName}/${this.peerUUID}`,"edit"===this.mode&&this.rbdMirroringService.getPeer(this.poolName,this.peerUUID).subscribe(l=>{this.setResponse(l)})}validateClusterName(l){if(!l.value.match(/^[\w\-_]*$/))return{invalidClusterName:{value:l.value}}}validateClientID(l){if(!l.value.match(/^(?!client\.)[\w\-_.]*$/))return{invalidClientID:{value:l.value}}}validateMonAddr(l){if(!l.value.match(/^[,; ]*([\w.\-_\[\]]+(:[\d]+)?[,; ]*)*$/))return{invalidMonAddr:{value:l.value}}}validateKey(l){try{if(""===l.value||atob(l.value))return null}catch(n){}return{invalidKey:{value:l.value}}}setResponse(l){this.response=l,this.editPeerForm.get("clusterName").setValue(l.cluster_name),this.editPeerForm.get("clientID").setValue(l.client_id),this.editPeerForm.get("monAddr").setValue(l.mon_host),this.editPeerForm.get("key").setValue(l.key)}update(){const l=new s;let n;l.cluster_name=this.editPeerForm.getValue("clusterName"),l.client_id=this.editPeerForm.getValue("clientID"),l.mon_host=this.editPeerForm.getValue("monAddr"),l.key=this.editPeerForm.getValue("key"),n=this.taskWrapper.wrapTaskAroundCall("edit"===this.mode?{task:new u.a("rbd/mirroring/peer/edit",{pool_name:this.poolName}),call:this.rbdMirroringService.updatePeer(this.poolName,this.peerUUID,l)}:{task:new u.a("rbd/mirroring/peer/add",{pool_name:this.poolName}),call:this.rbdMirroringService.addPeer(this.poolName,l)}),n.subscribe(void 0,()=>this.editPeerForm.setErrors({cdSubmitButton:!0}),()=>{this.rbdMirroringService.refresh(),this.modalRef.hide()})}}},MyVl:function(l,n,e){"use strict";var t=e("8Y7J"),i=e("s7LF"),u=e("LvDl"),s=e("jtHE"),a=e("cp0P"),o=e("SxV6"),r=e("eIep"),d=(e("Ekvf"),e("F83c"),e("sne2"),e("oxzT")),c=e("QFaf"),m=e("PhyI"),p=e("kvvV"),h=e("jVDg");e("Fgil"),e("aexS"),e("aXbf"),e("kn/O");class g{constructor(){this.features=[]}}class f{constructor(){this.features=[]}}class v extends class{}{constructor(){super(...arguments),this.features=[]}}class b{constructor(){this.features=[]}}var C=function(l){return l.editing="editing",l.cloning="cloning",l.copying="copying",l}({});e.d(n,"a",(function(){return S}));class S{constructor(l,n,e,i,u,a,o,r,c,m){this.authStorageService=l,this.route=n,this.poolService=e,this.rbdService=i,this.formatter=u,this.taskWrapper=a,this.dimlessBinaryPipe=o,this.i18n=r,this.actionLabels=c,this.router=m,this.namespaces=[],this.namespacesByPoolCache={},this.pools=null,this.allPools=null,this.dataPools=null,this.allDataPools=null,this.featuresList=[],this.initializeConfigData=new t.EventEmitter,this.advancedEnabled=!1,this.rbdFormMode=C,this.defaultObjectSize="4 MiB",this.objectSizes=["4 KiB","8 KiB","16 KiB","32 KiB","64 KiB","128 KiB","256 KiB","512 KiB","1 MiB","2 MiB","4 MiB","8 MiB","16 MiB","32 MiB"],this.rbdImage=new s.a(1),this.icons=d.a,this.poolPermission=this.authStorageService.getPermissions().pool,this.resource=this.i18n("RBD"),this.features={"deep-flatten":{desc:this.i18n("Deep flatten"),requires:null,allowEnable:!1,allowDisable:!0},layering:{desc:this.i18n("Layering"),requires:null,allowEnable:!1,allowDisable:!1},"exclusive-lock":{desc:this.i18n("Exclusive lock"),requires:null,allowEnable:!0,allowDisable:!0},"object-map":{desc:this.i18n("Object map (requires exclusive-lock)"),requires:"exclusive-lock",allowEnable:!0,allowDisable:!0,initDisabled:!0},journaling:{desc:this.i18n("Journaling (requires exclusive-lock)"),requires:"exclusive-lock",allowEnable:!0,allowDisable:!0,initDisabled:!0},"fast-diff":{desc:this.i18n("Fast diff (interlocked with object-map)"),requires:"object-map",allowEnable:!0,allowDisable:!0,interlockedWith:"object-map",initDisabled:!0}},this.featuresList=this.objToArray(this.features),this.createForm()}objToArray(l){return u.map(l,(l,n)=>Object.assign(l,{key:n}))}createForm(){this.rbdForm=new c.a({parent:new i.i(""),name:new i.i("",{validators:[i.B.required,i.B.pattern(/^[^@/]+?$/)]}),pool:new i.i(null,{validators:[i.B.required]}),namespace:new i.i(null),useDataPool:new i.i(!1),dataPool:new i.i(null),size:new i.i(null,{updateOn:"blur"}),obj_size:new i.i(this.defaultObjectSize),features:new c.a(this.featuresList.reduce((l,n)=>(l[n.key]=new i.i({value:!1,disabled:!!n.initDisabled}),l),{})),stripingUnit:new i.i(null),stripingCount:new i.i(null,{updateOn:"blur"})},this.validateRbdForm(this.formatter))}disableForEdit(){this.rbdForm.get("parent").disable(),this.rbdForm.get("pool").disable(),this.rbdForm.get("namespace").disable(),this.rbdForm.get("useDataPool").disable(),this.rbdForm.get("dataPool").disable(),this.rbdForm.get("obj_size").disable(),this.rbdForm.get("stripingUnit").disable(),this.rbdForm.get("stripingCount").disable()}disableForClone(){this.rbdForm.get("parent").disable(),this.rbdForm.get("size").disable()}disableForCopy(){this.rbdForm.get("parent").disable(),this.rbdForm.get("size").disable()}ngOnInit(){let l;this.router.url.startsWith("/block/rbd/edit")?(this.mode=this.rbdFormMode.editing,this.action=this.actionLabels.EDIT,this.disableForEdit()):this.router.url.startsWith("/block/rbd/clone")?(this.mode=this.rbdFormMode.cloning,this.disableForClone(),this.action=this.actionLabels.CLONE):this.router.url.startsWith("/block/rbd/copy")?(this.mode=this.rbdFormMode.copying,this.action=this.actionLabels.COPY,this.disableForCopy()):this.action=this.actionLabels.CREATE,function(l){l.RbdServiceGet="rbdService.get",l.PoolServiceList="poolService.list"}(l||(l={}));const n={};this.mode===this.rbdFormMode.editing||this.mode===this.rbdFormMode.cloning||this.mode===this.rbdFormMode.copying?this.route.params.subscribe(e=>{const t=h.a.fromString(decodeURIComponent(e.image_spec));e.snap&&(this.snapName=decodeURIComponent(e.snap)),n[l.RbdServiceGet]=this.rbdService.get(t)}):this.rbdService.defaultFeatures().subscribe(l=>{this.setFeatures(l)}),this.mode!==this.rbdFormMode.editing&&this.poolPermission.read&&(n[l.PoolServiceList]=this.poolService.list(["pool_name","type","flags_names","application_metadata"])),Object(a.a)(n).subscribe(n=>{if(n[l.PoolServiceList]){const e=[],t=[];for(const i of n[l.PoolServiceList])this.rbdService.isRBDPool(i)&&("replicated"===i.type?(e.push(i),t.push(i)):"erasure"===i.type&&-1!==i.flags_names.indexOf("ec_overwrites")&&t.push(i));if(this.pools=e,this.allPools=e,this.dataPools=t,this.allDataPools=t,1===this.pools.length){const l=this.pools[0].pool_name;this.rbdForm.get("pool").setValue(l),this.onPoolChange(l)}}if(n[l.RbdServiceGet]){const e=n[l.RbdServiceGet];this.setResponse(e,this.snapName),this.rbdImage.next(e)}}),u.each(this.features,l=>{this.rbdForm.get("features").get(l.key).valueChanges.subscribe(n=>this.featureFormUpdate(l.key,n))})}onPoolChange(l){const n=this.allDataPools?this.allDataPools.filter(n=>n.pool_name!==l):[];this.rbdForm.getValue("dataPool")===l&&this.rbdForm.get("dataPool").setValue(null),this.dataPools=n,this.namespaces=null,l in this.namespacesByPoolCache?this.namespaces=this.namespacesByPoolCache[l]:this.rbdService.listNamespaces(l).subscribe(n=>{n=n.map(l=>l.namespace),this.namespacesByPoolCache[l]=n,this.namespaces=n}),this.rbdForm.get("namespace").setValue(null)}onUseDataPoolChange(){this.rbdForm.getValue("useDataPool")||(this.rbdForm.get("dataPool").setValue(null),this.onDataPoolChange(null))}onDataPoolChange(l){const n=this.allPools.filter(n=>n.pool_name!==l);this.rbdForm.getValue("pool")===l&&this.rbdForm.get("pool").setValue(null),this.pools=n}validateRbdForm(l){return n=>{const e=n.get("useDataPool"),t=n.get("dataPool");let i=null;e.value&&null==t.value&&(i={required:!0}),t.setErrors(i);const u=n.get("size"),s=n.get("obj_size"),a=l.toBytes(null!=s.value?s.value:this.defaultObjectSize),o=n.get("stripingCount"),r=null!=o.value?o.value:1;let d=null;null===u.value?d={required:!0}:r*a>l.toBytes(u.value)&&(d={invalidSizeObject:!0}),u.setErrors(d);const c=n.get("stripingUnit");let m=null;null===c.value&&null!==o.value?m={required:!0}:null!==c.value&&l.toBytes(c.value)>a&&(m={invalidStripingUnit:!0}),c.setErrors(m);let p=null;return null===o.value&&null!==c.value?p={required:!0}:r<1&&(p={min:!0}),o.setErrors(p),null}}getDependendChildFeatures(l){return u.filter(this.features,n=>n.requires===l)||[]}deepBoxCheck(l,n){this.getDependendChildFeatures(l).forEach(l=>{const e=this.rbdForm.get(l.key);n?e.enable({emitEvent:!1}):(e.disable({emitEvent:!1}),e.setValue(!1,{emitEvent:!1}),this.deepBoxCheck(l.key,n));const t=this.rbdForm.get("features");this.mode===this.rbdFormMode.editing&&t.get(l.key).enabled&&((-1===this.response.features_name.indexOf(l.key)||l.allowDisable)&&(-1!==this.response.features_name.indexOf(l.key)||l.allowEnable)||t.get(l.key).disable())})}interlockCheck(l,n){const e=this.featuresList.find(n=>n.key===l);if(this.response){const l=null!=e.interlockedWith,n=this.featuresList.find(l=>l.interlockedWith===e.key),t=!!this.response.features_name.find(l=>l===e.key);if(l){if(t!==!!this.response.features_name.find(l=>l===e.interlockedWith))return}else if(n&&!!this.response.features_name.find(l=>l===n.key)!==t)return}n?u.filter(this.features,n=>n.interlockedWith===l).forEach(l=>this.rbdForm.get(l.key).setValue(!0,{emitEvent:!1})):e.interlockedWith&&this.rbdForm.get("features").get(e.interlockedWith).setValue(!1)}featureFormUpdate(l,n){if(n){const n=this.features[l].requires;if(n&&!this.rbdForm.getValue(n))return void this.rbdForm.get(`features.${l}`).setValue(!1)}this.deepBoxCheck(l,n),this.interlockCheck(l,n)}setFeatures(l){const n=this.rbdForm.get("features");u.forIn(this.features,e=>{-1!==l.indexOf(e.key)&&n.get(e.key).setValue(!0),this.featureFormUpdate(e.key,n.get(e.key).value)})}setResponse(l,n){this.response=l;const e=new h.a(l.pool_name,l.namespace,l.name).toString();if(this.mode===this.rbdFormMode.cloning)this.rbdForm.get("parent").setValue(`${e}@${n}`);else if(this.mode===this.rbdFormMode.copying)n?this.rbdForm.get("parent").setValue(`${e}@${n}`):this.rbdForm.get("parent").setValue(`${e}`);else if(l.parent){const n=l.parent;this.rbdForm.get("parent").setValue(`${n.pool_name}/${n.image_name}@${n.snap_name}`)}this.mode===this.rbdFormMode.editing&&this.rbdForm.get("name").setValue(l.name),this.rbdForm.get("pool").setValue(l.pool_name),this.onPoolChange(l.pool_name),this.rbdForm.get("namespace").setValue(l.namespace),l.data_pool&&(this.rbdForm.get("useDataPool").setValue(!0),this.rbdForm.get("dataPool").setValue(l.data_pool)),this.rbdForm.get("size").setValue(this.dimlessBinaryPipe.transform(l.size)),this.rbdForm.get("obj_size").setValue(this.dimlessBinaryPipe.transform(l.obj_size)),this.setFeatures(l.features_name),this.rbdForm.get("stripingUnit").setValue(this.dimlessBinaryPipe.transform(l.stripe_unit)),this.rbdForm.get("stripingCount").setValue(l.stripe_count),this.initializeConfigData.emit({initialData:this.response.configuration,sourceType:m.a.image})}createRequest(){const l=new v;return l.pool_name=this.rbdForm.getValue("pool"),l.namespace=this.rbdForm.getValue("namespace"),l.name=this.rbdForm.getValue("name"),l.size=this.formatter.toBytes(this.rbdForm.getValue("size")),l.obj_size=this.formatter.toBytes(this.rbdForm.getValue("obj_size")),u.forIn(this.features,n=>{this.rbdForm.getValue(n.key)&&l.features.push(n.key)}),l.stripe_unit=this.formatter.toBytes(this.rbdForm.getValue("stripingUnit")),l.stripe_count=this.rbdForm.getValue("stripingCount"),l.data_pool=this.rbdForm.getValue("dataPool"),l.configuration=this.getDirtyConfigurationValues(),l}createAction(){const l=this.createRequest();return this.taskWrapper.wrapTaskAroundCall({task:new p.a("rbd/create",{pool_name:l.pool_name,namespace:l.namespace,image_name:l.name}),call:this.rbdService.create(l)})}editRequest(){const l=new b;return l.name=this.rbdForm.getValue("name"),l.size=this.formatter.toBytes(this.rbdForm.getValue("size")),u.forIn(this.features,n=>{this.rbdForm.getValue(n.key)&&l.features.push(n.key)}),l.configuration=this.getDirtyConfigurationValues(),l}cloneRequest(){const l=new g;return l.child_pool_name=this.rbdForm.getValue("pool"),l.child_namespace=this.rbdForm.getValue("namespace"),l.child_image_name=this.rbdForm.getValue("name"),l.obj_size=this.formatter.toBytes(this.rbdForm.getValue("obj_size")),u.forIn(this.features,n=>{this.rbdForm.getValue(n.key)&&l.features.push(n.key)}),l.stripe_unit=this.formatter.toBytes(this.rbdForm.getValue("stripingUnit")),l.stripe_count=this.rbdForm.getValue("stripingCount"),l.data_pool=this.rbdForm.getValue("dataPool"),l.configuration=this.getDirtyConfigurationValues(!0,m.a.image),l}editAction(){const l=new h.a(this.response.pool_name,this.response.namespace,this.response.name);return this.taskWrapper.wrapTaskAroundCall({task:new p.a("rbd/edit",{image_spec:l.toString()}),call:this.rbdService.update(l,this.editRequest())})}cloneAction(){const l=this.cloneRequest(),n=new h.a(this.response.pool_name,this.response.namespace,this.response.name);return this.taskWrapper.wrapTaskAroundCall({task:new p.a("rbd/clone",{parent_image_spec:n.toString(),parent_snap_name:this.snapName,child_pool_name:l.child_pool_name,child_namespace:l.child_namespace,child_image_name:l.child_image_name}),call:this.rbdService.cloneSnapshot(n,this.snapName,l)})}copyRequest(){const l=new f;return this.snapName&&(l.snapshot_name=this.snapName),l.dest_pool_name=this.rbdForm.getValue("pool"),l.dest_namespace=this.rbdForm.getValue("namespace"),l.dest_image_name=this.rbdForm.getValue("name"),l.obj_size=this.formatter.toBytes(this.rbdForm.getValue("obj_size")),u.forIn(this.features,n=>{this.rbdForm.getValue(n.key)&&l.features.push(n.key)}),l.stripe_unit=this.formatter.toBytes(this.rbdForm.getValue("stripingUnit")),l.stripe_count=this.rbdForm.getValue("stripingCount"),l.data_pool=this.rbdForm.getValue("dataPool"),l.configuration=this.getDirtyConfigurationValues(!0,m.a.image),l}copyAction(){const l=this.copyRequest(),n=new h.a(this.response.pool_name,this.response.namespace,this.response.name);return this.taskWrapper.wrapTaskAroundCall({task:new p.a("rbd/copy",{src_image_spec:n.toString(),dest_pool_name:l.dest_pool_name,dest_namespace:l.dest_namespace,dest_image_name:l.dest_image_name}),call:this.rbdService.copy(n,l)})}submit(){this.mode||this.rbdImage.next("create"),this.rbdImage.pipe(Object(o.a)(),Object(r.a)(()=>this.mode===this.rbdFormMode.editing?this.editAction():this.mode===this.rbdFormMode.cloning?this.cloneAction():this.mode===this.rbdFormMode.copying?this.copyAction():this.createAction())).subscribe(()=>{},()=>this.rbdForm.setErrors({cdSubmitButton:!0}),()=>this.router.navigate(["/block/rbd"]))}}},OcYo:function(l,n,e){"use strict";e.d(n,"a",(function(){return t}));class t{constructor(l,n,e){this.elementRef=l,this.renderer=n,this.toastr=e}ngOnInit(){const l=this.renderer.createElement("i");this.renderer.addClass(l,"fa"),this.renderer.addClass(l,"fa-clipboard"),this.renderer.appendChild(this.elementRef.nativeElement,l)}getInputElement(){return document.getElementById(this.cdCopy2ClipboardButton)}onClick(){try{const l=document.createElement("input");l.value=this.getInputElement().value,document.body.appendChild(l),l.select(),document.execCommand("copy"),document.body.removeChild(l),this.toastr.success("Copied text to the clipboard successfully.")}catch(l){this.toastr.error("Failed to copy text to the clipboard.")}}}},PhyI:function(l,n,e){"use strict";e.d(n,"a",(function(){return t})),e.d(n,"b",(function(){return i}));var t=function(l){return l[l.global=0]="global",l[l.pool=1]="pool",l[l.image=2]="image",l}({}),i=function(l){return l[l.bps=0]="bps",l[l.iops=1]="iops",l[l.milliseconds=2]="milliseconds",l}({})},QUzE:function(l,n,e){"use strict";var t=e("8Y7J"),i=e("s7LF"),u=e("+gVj"),s=e("EEJc"),a=e("ajRT"),o=e("mXUL"),r=e("IZUe"),d=e("SVse"),c=e("gp3X"),m=e("sb0X"),p=e("KVJa"),h=e("Z21x"),g=e("sne2"),f=e("SuaG"),v=e("LqlI"),b=e("XED3"),C=e("kn/O");e.d(n,"a",(function(){return k}));var S=t["ɵcrt"]({encapsulation:0,styles:[[".form-group.ng-invalid[_ngcontent-%COMP%]   .invalid-feedback[_ngcontent-%COMP%]{display:block}"]],data:{}});function _(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["This field is required."]))],null,null)}function y(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,9,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(l()(),t["ɵeld"](1,0,null,null,6,"input",[["class","custom-control-input"],["type","checkbox"]],[[8,"id",0],[8,"name",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,e){var i=!0;return"change"===n&&(i=!1!==t["ɵnov"](l,2).onChange(e.target.checked)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,2).onTouched()&&i),i}),null,null)),t["ɵdid"](2,16384,null,0,i.c,[t.Renderer2,t.ElementRef],null,null),t["ɵprd"](1024,null,i.p,(function(l){return[l]}),[i.c]),t["ɵdid"](4,671744,[[3,4]],0,i.j,[[3,i.d],[8,null],[8,null],[6,i.p],[2,i.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,i.q,null,[i.j]),t["ɵdid"](6,16384,null,0,i.r,[[4,i.q]],null,null),t["ɵdid"](7,16384,null,0,u.h,[[3,i.d],u.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵeld"](8,0,null,null,1,"label",[["class","custom-control-label"]],[[8,"htmlFor",0]],null,null,null,null)),(l()(),t["ɵted"](9,null,["",""]))],(function(l,n){l(n,4,0,t["ɵinlineInterpolate"](1,"",n.context.$implicit.name,"")),l(n,7,0,t["ɵinlineInterpolate"](1,"",n.context.$implicit.name,""))}),(function(l,n){l(n,1,1,[t["ɵinlineInterpolate"](1,"",n.context.$implicit.name,""),t["ɵinlineInterpolate"](1,"",n.context.$implicit.name,""),t["ɵnov"](n,6).ngClassUntouched,t["ɵnov"](n,6).ngClassTouched,t["ɵnov"](n,6).ngClassPristine,t["ɵnov"](n,6).ngClassDirty,t["ɵnov"](n,6).ngClassValid,t["ɵnov"](n,6).ngClassInvalid,t["ɵnov"](n,6).ngClassPending,t["ɵnov"](n,7).validClass,t["ɵnov"](n,7).invalidClass]),l(n,8,0,t["ɵinlineInterpolate"](1,"",n.context.$implicit.name,"")),l(n,9,0,n.context.$implicit.name)}))}function R(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["At least one pool is required."]))],null,null)}function w(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,69,"cd-modal",[],null,null,null,s.c,s.b)),t["ɵdid"](1,49152,null,0,a.a,[],{modalRef:[0,"modalRef"]},null),(l()(),t["ɵeld"](2,0,null,0,1,null,null,null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Create Bootstrap Token"])),(l()(),t["ɵeld"](4,0,null,1,65,null,null,null,null,null,null,null)),(l()(),t["ɵeld"](5,0,null,null,64,"form",[["class","form"],["name","createBootstrapForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,e){var i=!0;return"submit"===n&&(i=!1!==t["ɵnov"](l,7).onSubmit(e)&&i),"reset"===n&&(i=!1!==t["ɵnov"](l,7).onReset()&&i),"submit"===n&&(i=!1!==t["ɵnov"](l,10).onSubmit()&&i),i}),null,null)),t["ɵdid"](6,16384,null,0,i.G,[],null,null),t["ɵdid"](7,540672,[["formDir",4]],0,i.l,[[8,null],[8,null]],{form:[0,"form"]},null),t["ɵprd"](2048,null,i.d,null,[i.l]),t["ɵdid"](9,16384,null,0,i.s,[[4,i.d]],null,null),t["ɵdid"](10,16384,null,0,u.d,[],{formGroup:[0,"formGroup"]},null),(l()(),t["ɵeld"](11,0,null,null,54,"div",[["class","modal-body"]],null,null,null,null,null)),(l()(),t["ɵeld"](12,0,null,null,5,"p",[],null,null,null,null,null)),(l()(),t["ɵeld"](13,0,null,null,4,null,null,null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["To create a bootstrap token which can be imported by a peer site cluster, provide the local site's name, select which pools will have mirroring enabled, and click  "])),(l()(),t["ɵeld"](15,0,null,null,1,"kbd",[],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Generate"])),(l()(),t["ɵted"](-1,null,["."])),(l()(),t["ɵeld"](18,0,null,null,15,"div",[["class","form-group"]],[[2,"has-error",null],[2,"has-success",null]],null,null,o.b,o.a)),t["ɵdid"](19,1163264,null,2,u.c,[t.ElementRef,u.g],null,null),t["ɵqud"](603979776,1,{FormControlNames:1}),t["ɵqud"](603979776,2,{messagesBlock:0}),(l()(),t["ɵeld"](22,0,null,0,1,"label",[["class","col-form-label required"],["for","siteName"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Site Name"])),(l()(),t["ɵeld"](24,0,null,0,7,"input",[["autofocus",""],["class","form-control"],["formControlName","siteName"],["id","siteName"],["name","siteName"],["placeholder","Name..."],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,26)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,26).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,26)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,26)._compositionEnd(e.target.value)&&i),i}),null,null)),t["ɵdid"](25,4210688,null,0,r.a,[t.ElementRef],{autofocus:[0,"autofocus"]},null),t["ɵdid"](26,16384,null,0,i.e,[t.Renderer2,t.ElementRef,[2,i.b]],null,null),t["ɵprd"](1024,null,i.p,(function(l){return[l]}),[i.e]),t["ɵdid"](28,671744,[[1,4]],0,i.j,[[3,i.d],[8,null],[8,null],[6,i.p],[2,i.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,i.q,null,[i.j]),t["ɵdid"](30,16384,null,0,i.r,[[4,i.q]],null,null),t["ɵdid"](31,16384,null,0,u.h,[[3,i.d],u.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵand"](16777216,null,0,1,null,_)),t["ɵdid"](33,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](34,0,null,null,12,"div",[["class","form-group"],["formGroupName","pools"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"has-error",null],[2,"has-success",null]],null,null,o.b,o.a)),t["ɵdid"](35,212992,null,0,i.m,[[3,i.d],[8,null],[8,null]],{name:[0,"name"]},null),t["ɵprd"](2048,null,i.d,null,[i.m]),t["ɵdid"](37,16384,null,0,i.s,[[4,i.d]],null,null),t["ɵdid"](38,1163264,null,2,u.c,[t.ElementRef,u.g],null,null),t["ɵqud"](603979776,3,{FormControlNames:1}),t["ɵqud"](603979776,4,{messagesBlock:0}),(l()(),t["ɵeld"](41,0,null,0,1,"label",[["class","col-form-label required"],["for","pools"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Pools"])),(l()(),t["ɵand"](16777216,null,0,1,null,y)),t["ɵdid"](44,278528,null,0,d.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),t["ɵand"](16777216,null,0,1,null,R)),t["ɵdid"](46,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](47,0,null,null,3,"div",[["class","button-group text-right"]],null,null,null,null,null)),(l()(),t["ɵeld"](48,0,null,null,2,"cd-submit-button",[],null,[[null,"submitAction"]],(function(l,n,e){var t=!0;return"submitAction"===n&&(t=!1!==l.component.generate()&&t),t}),c.b,c.a)),t["ɵdid"](49,114688,null,0,m.a,[t.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(l()(),t["ɵted"](-1,0,["Generate"])),(l()(),t["ɵeld"](51,0,null,null,14,"div",[["class","form-group"]],[[2,"has-error",null],[2,"has-success",null]],null,null,o.b,o.a)),t["ɵdid"](52,1163264,null,2,u.c,[t.ElementRef,u.g],null,null),t["ɵqud"](603979776,5,{FormControlNames:1}),t["ɵqud"](603979776,6,{messagesBlock:0}),(l()(),t["ɵeld"](55,0,null,0,2,"label",[["class","col-form-label"],["for","token"]],null,null,null,null,null)),(l()(),t["ɵeld"](56,0,null,null,1,"span",[],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Token"])),(l()(),t["ɵeld"](58,0,null,0,7,"textarea",[["class","form-control resize-vertical"],["formControlName","token"],["id","token"],["placeholder","Generated token..."],["readonly",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,59)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,59).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,59)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,59)._compositionEnd(e.target.value)&&i),i}),null,null)),t["ɵdid"](59,16384,null,0,i.e,[t.Renderer2,t.ElementRef,[2,i.b]],null,null),t["ɵprd"](1024,null,i.p,(function(l){return[l]}),[i.e]),t["ɵdid"](61,671744,[[5,4]],0,i.j,[[3,i.d],[8,null],[8,null],[6,i.p],[2,i.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,i.q,null,[i.j]),t["ɵdid"](63,16384,null,0,i.r,[[4,i.q]],null,null),t["ɵdid"](64,16384,null,0,u.h,[[3,i.d],u.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵted"](-1,null,["          "])),(l()(),t["ɵeld"](66,0,null,null,3,"div",[["class","modal-footer"]],null,null,null,null,null)),(l()(),t["ɵeld"](67,0,null,null,2,"div",[["class","button-group text-right"]],null,null,null,null,null)),(l()(),t["ɵeld"](68,0,null,null,1,"cd-back-button",[["name","Close"]],null,null,null,p.b,p.a)),t["ɵdid"](69,49152,null,0,h.a,[d.Location,g.b],{name:[0,"name"],back:[1,"back"]},null)],(function(l,n){var e=n.component;l(n,1,0,e.modalRef),l(n,7,0,e.createBootstrapForm),l(n,10,0,e.createBootstrapForm),l(n,19,0),l(n,25,0,""),l(n,28,0,"siteName"),l(n,31,0,"siteName"),l(n,33,0,e.createBootstrapForm.showError("siteName",t["ɵnov"](n,7),"required")),l(n,35,0,"pools"),l(n,38,0),l(n,44,0,e.pools),l(n,46,0,e.createBootstrapForm.showError("pools",t["ɵnov"](n,7),"requirePool")),l(n,49,0,e.createBootstrapForm),l(n,52,0),l(n,61,0,"token"),l(n,64,0,"token"),l(n,69,0,"Close",e.modalRef.hide)}),(function(l,n){l(n,5,0,t["ɵnov"](n,9).ngClassUntouched,t["ɵnov"](n,9).ngClassTouched,t["ɵnov"](n,9).ngClassPristine,t["ɵnov"](n,9).ngClassDirty,t["ɵnov"](n,9).ngClassValid,t["ɵnov"](n,9).ngClassInvalid,t["ɵnov"](n,9).ngClassPending),l(n,18,0,t["ɵnov"](n,19).hasErrors,t["ɵnov"](n,19).hasSuccess),l(n,24,0,t["ɵnov"](n,30).ngClassUntouched,t["ɵnov"](n,30).ngClassTouched,t["ɵnov"](n,30).ngClassPristine,t["ɵnov"](n,30).ngClassDirty,t["ɵnov"](n,30).ngClassValid,t["ɵnov"](n,30).ngClassInvalid,t["ɵnov"](n,30).ngClassPending,t["ɵnov"](n,31).validClass,t["ɵnov"](n,31).invalidClass),l(n,34,0,t["ɵnov"](n,37).ngClassUntouched,t["ɵnov"](n,37).ngClassTouched,t["ɵnov"](n,37).ngClassPristine,t["ɵnov"](n,37).ngClassDirty,t["ɵnov"](n,37).ngClassValid,t["ɵnov"](n,37).ngClassInvalid,t["ɵnov"](n,37).ngClassPending,t["ɵnov"](n,38).hasErrors,t["ɵnov"](n,38).hasSuccess),l(n,51,0,t["ɵnov"](n,52).hasErrors,t["ɵnov"](n,52).hasSuccess),l(n,58,0,t["ɵnov"](n,63).ngClassUntouched,t["ɵnov"](n,63).ngClassTouched,t["ɵnov"](n,63).ngClassPristine,t["ɵnov"](n,63).ngClassDirty,t["ɵnov"](n,63).ngClassValid,t["ɵnov"](n,63).ngClassInvalid,t["ɵnov"](n,63).ngClassPending,t["ɵnov"](n,64).validClass,t["ɵnov"](n,64).invalidClass)}))}function I(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"cd-bootstrap-create-modal",[],null,null,null,w,S)),t["ɵdid"](1,245760,null,0,f.a,[v.a,b.a,C.a],null,null)],(function(l,n){l(n,1,0)}),null)}var k=t["ɵccf"]("cd-bootstrap-create-modal",f.a,I,{},{},[])},RIVN:function(l,n,e){"use strict";var t=e("8Y7J"),i=e("C6Ij"),u=e("AWcq"),s=e("NUGo"),a=e("S7zO"),o=e("SVse");class r{transform(l){return"warning"===l?"badge badge-warning":"error"===l?"badge badge-danger":"success"===l?"badge badge-success":"badge badge-info"}}var d=e("25BL"),c=e("uIqm"),m=e("XED3"),p=e("85J/");class h{constructor(l,n,e){this.rbdMirroringService=l,this.cephShortVersionPipe=n,this.i18n=e}ngOnInit(){this.columns=[{prop:"instance_id",name:this.i18n("Instance"),flexGrow:2},{prop:"id",name:this.i18n("ID"),flexGrow:2},{prop:"server_hostname",name:this.i18n("Hostname"),flexGrow:2},{prop:"version",name:this.i18n("Version"),pipe:this.cephShortVersionPipe,flexGrow:2},{prop:"health",name:this.i18n("Health"),cellTemplate:this.healthTmpl,flexGrow:1}],this.subs=this.rbdMirroringService.subscribeSummary(l=>{l&&(this.data=l.content_data.daemons)})}ngOnDestroy(){this.subs.unsubscribe()}refresh(){this.rbdMirroringService.refresh()}}var g=e("GiVz"),f=t["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function v(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,4,"span",[],null,null,null,null,null)),t["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2]),t["ɵdid"](2,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),t["ɵppd"](3,1),(l()(),t["ɵted"](4,null,["",""]))],(function(l,n){var e=t["ɵunv"](n,2,0,l(n,3,0,t["ɵnov"](n.parent,0),n.context.row.health_color));l(n,2,0,e)}),(function(l,n){l(n,4,0,n.context.value)}))}function b(l){return t["ɵvid"](0,[t["ɵpid"](0,r,[]),t["ɵqud"](402653184,1,{healthTmpl:0}),(l()(),t["ɵeld"](2,0,null,null,1,"cd-table",[["columnMode","flex"]],null,[[null,"fetchData"]],(function(l,n,e){var t=!0;return"fetchData"===n&&(t=!1!==l.component.refresh()&&t),t}),d.b,d.a)),t["ɵdid"](3,2867200,null,0,c.a,[t.NgZone,t.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],autoReload:[3,"autoReload"]},{fetchData:"fetchData"}),(l()(),t["ɵand"](0,[[1,2],["healthTmpl",2]],null,0,null,v))],(function(l,n){var e=n.component;l(n,3,0,e.data,e.columns,"flex",0)}),null)}var C=e("HDdC"),S=e("0+/T"),_=e("oxzT"),y=e("vCyI"),R=e("kvvV"),w=e("aexS"),I=e("kn/O"),k=e("aa9H"),E=e("L4us");class N{constructor(l,n,e,t,i){this.authStorageService=l,this.rbdMirroringService=n,this.modalService=e,this.taskWrapper=t,this.i18n=i,this.selection=new y.a,this.data=[],this.permission=this.authStorageService.getPermissions().rbdMirroring;const u={permission:"update",icon:_.a.edit,click:()=>this.editModeModal(),name:this.i18n("Edit Mode"),canBePrimary:()=>!0},s={permission:"create",icon:_.a.add,name:this.i18n("Add Peer"),click:()=>this.editPeersModal("add"),disable:()=>!this.selection.first()||"disabled"===this.selection.first().mirror_mode,visible:()=>!this.getPeerUUID(),canBePrimary:()=>!1},a={permission:"update",icon:_.a.exchange,name:this.i18n("Edit Peer"),click:()=>this.editPeersModal("edit"),visible:()=>!!this.getPeerUUID()},o={permission:"delete",icon:_.a.destroy,name:this.i18n("Delete Peer"),click:()=>this.deletePeersModal(),visible:()=>!!this.getPeerUUID()};this.tableActions=[u,s,a,o]}ngOnInit(){this.columns=[{prop:"name",name:this.i18n("Name"),flexGrow:2},{prop:"mirror_mode",name:this.i18n("Mode"),flexGrow:2},{prop:"leader_id",name:this.i18n("Leader"),flexGrow:2},{prop:"image_local_count",name:this.i18n("# Local"),flexGrow:2},{prop:"image_remote_count",name:this.i18n("# Remote"),flexGrow:2},{prop:"health",name:this.i18n("Health"),cellTemplate:this.healthTmpl,flexGrow:1}],this.subs=this.rbdMirroringService.subscribeSummary(l=>{l&&(this.data=l.content_data.pools)})}ngOnDestroy(){this.subs.unsubscribe()}refresh(){this.rbdMirroringService.refresh()}editModeModal(){const l={poolName:this.selection.first().name};this.modalRef=this.modalService.show(k.a,{initialState:l})}editPeersModal(l){const n={poolName:this.selection.first().name,mode:l};"edit"===l&&(n.peerUUID=this.getPeerUUID()),this.modalRef=this.modalService.show(E.a,{initialState:n})}deletePeersModal(){const l=this.selection.first().name,n=this.getPeerUUID();this.modalRef=this.modalService.show(S.a,{initialState:{itemDescription:this.i18n("mirror peer"),itemNames:[`${l} (${n})`],submitActionObservable:()=>new C.a(e=>{this.taskWrapper.wrapTaskAroundCall({task:new R.a("rbd/mirroring/peer/delete",{pool_name:l}),call:this.rbdMirroringService.deletePeer(l,n)}).subscribe(void 0,l=>e.error(l),()=>{this.rbdMirroringService.refresh(),e.complete()})})}})}getPeerUUID(){const l=this.selection.first(),n=this.data.find(n=>l&&l.name===n.name);if(n&&n.peer_uuids)return n.peer_uuids[0]}updateSelection(l){this.selection=l}}var F=e("LqlI"),T=t["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function V(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,4,"span",[],null,null,null,null,null)),t["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2]),t["ɵdid"](2,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),t["ɵppd"](3,1),(l()(),t["ɵted"](4,null,["",""]))],(function(l,n){var e=t["ɵunv"](n,2,0,l(n,3,0,t["ɵnov"](n.parent,0),n.context.row.health_color));l(n,2,0,e)}),(function(l,n){l(n,4,0,n.context.value)}))}function D(l){return t["ɵvid"](0,[t["ɵpid"](0,r,[]),t["ɵqud"](402653184,1,{healthTmpl:0}),(l()(),t["ɵeld"](2,0,null,null,3,"cd-table",[["columnMode","flex"],["forceIdentifier","true"],["identifier","name"],["selectionType","single"]],null,[[null,"fetchData"],[null,"updateSelection"]],(function(l,n,e){var t=!0,i=l.component;return"fetchData"===n&&(t=!1!==i.refresh()&&t),"updateSelection"===n&&(t=!1!==i.updateSelection(e)&&t),t}),d.b,d.a)),t["ɵdid"](3,2867200,null,0,c.a,[t.NgZone,t.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],autoReload:[3,"autoReload"],identifier:[4,"identifier"],forceIdentifier:[5,"forceIdentifier"],selectionType:[6,"selectionType"]},{fetchData:"fetchData",updateSelection:"updateSelection"}),(l()(),t["ɵeld"](4,0,null,1,1,"cd-table-actions",[["class","table-actions"]],null,null,null,s.b,s.a)),t["ɵdid"](5,114688,null,0,a.a,[],{permission:[0,"permission"],selection:[1,"selection"],tableActions:[2,"tableActions"]},null),(l()(),t["ɵand"](0,[[1,2],["healthTmpl",2]],null,0,null,V))],(function(l,n){var e=n.component;l(n,3,0,e.data,e.columns,"flex",0,"name","true","single"),l(n,5,0,e.permission,e.selection,e.tableActions)}),null)}var P=e("7qid"),x=e("38Bd"),q=e("pKUh"),B=e("2ZVE");class O{constructor(l,n){this.rbdMirroringService=l,this.i18n=n,this.image_error={data:[],columns:{}},this.image_syncing={data:[],columns:{}},this.image_ready={data:[],columns:{}}}ngOnInit(){this.image_error.columns=[{prop:"pool_name",name:this.i18n("Pool"),flexGrow:2},{prop:"name",name:this.i18n("Image"),flexGrow:2},{prop:"description",name:this.i18n("Issue"),flexGrow:4},{prop:"state",name:this.i18n("State"),cellTemplate:this.stateTmpl,flexGrow:1}],this.image_syncing.columns=[{prop:"pool_name",name:this.i18n("Pool"),flexGrow:2},{prop:"name",name:this.i18n("Image"),flexGrow:2},{prop:"progress",name:this.i18n("Progress"),cellTemplate:this.progressTmpl,flexGrow:2},{prop:"state",name:this.i18n("State"),cellTemplate:this.syncTmpl,flexGrow:1}],this.image_ready.columns=[{prop:"pool_name",name:this.i18n("Pool"),flexGrow:2},{prop:"name",name:this.i18n("Image"),flexGrow:2},{prop:"description",name:this.i18n("Description"),flexGrow:4},{prop:"state",name:this.i18n("State"),cellTemplate:this.stateTmpl,flexGrow:1}],this.subs=this.rbdMirroringService.subscribeSummary(l=>{l&&(this.image_error.data=l.content_data.image_error,this.image_syncing.data=l.content_data.image_syncing,this.image_ready.data=l.content_data.image_ready)})}ngOnDestroy(){this.subs.unsubscribe()}refresh(){this.rbdMirroringService.refresh()}}var M=t["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function A(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,4,"span",[],null,null,null,null,null)),t["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2]),t["ɵdid"](2,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),t["ɵppd"](3,1),(l()(),t["ɵted"](4,null,["",""]))],(function(l,n){var e=t["ɵunv"](n,2,0,l(n,3,0,t["ɵnov"](n.parent,0),n.context.row.state_color));l(n,2,0,e)}),(function(l,n){l(n,4,0,n.context.value)}))}function j(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","badge badge-info"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Syncing"]))],null,null)}function L(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"progressbar",[["type","info"]],[[1,"max",0],[2,"progress",null]],null,null,P.b,P.a)),t["ɵdid"](1,49152,null,0,x.b,[x.c],{type:[0,"type"],value:[1,"value"]},null)],(function(l,n){l(n,1,0,"info",n.context.value)}),(function(l,n){l(n,0,0,t["ɵnov"](n,1).max,t["ɵnov"](n,1).addClass)}))}function $(l){return t["ɵvid"](0,[t["ɵpid"](0,r,[]),t["ɵqud"](402653184,1,{stateTmpl:0}),t["ɵqud"](402653184,2,{syncTmpl:0}),t["ɵqud"](402653184,3,{progressTmpl:0}),(l()(),t["ɵeld"](4,0,null,null,13,"tabset",[],[[2,"tab-container",null]],null,null,q.b,q.a)),t["ɵdid"](5,180224,null,0,B.e,[B.f,t.Renderer2,t.ElementRef],null,null),(l()(),t["ɵeld"](6,0,null,0,3,"tab",[["heading","Issues"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),t["ɵdid"](7,212992,null,0,B.b,[B.e,t.ElementRef,t.Renderer2],{heading:[0,"heading"]},null),(l()(),t["ɵeld"](8,0,null,null,1,"cd-table",[["columnMode","flex"]],null,[[null,"fetchData"]],(function(l,n,e){var t=!0;return"fetchData"===n&&(t=!1!==l.component.refresh()&&t),t}),d.b,d.a)),t["ɵdid"](9,2867200,null,0,c.a,[t.NgZone,t.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],autoReload:[3,"autoReload"]},{fetchData:"fetchData"}),(l()(),t["ɵeld"](10,0,null,0,3,"tab",[["heading","Syncing"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),t["ɵdid"](11,212992,null,0,B.b,[B.e,t.ElementRef,t.Renderer2],{heading:[0,"heading"]},null),(l()(),t["ɵeld"](12,0,null,null,1,"cd-table",[["columnMode","flex"]],null,[[null,"fetchData"]],(function(l,n,e){var t=!0;return"fetchData"===n&&(t=!1!==l.component.refresh()&&t),t}),d.b,d.a)),t["ɵdid"](13,2867200,null,0,c.a,[t.NgZone,t.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],autoReload:[3,"autoReload"]},{fetchData:"fetchData"}),(l()(),t["ɵeld"](14,0,null,0,3,"tab",[["heading","Ready"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),t["ɵdid"](15,212992,null,0,B.b,[B.e,t.ElementRef,t.Renderer2],{heading:[0,"heading"]},null),(l()(),t["ɵeld"](16,0,null,null,1,"cd-table",[["columnMode","flex"]],null,[[null,"fetchData"]],(function(l,n,e){var t=!0;return"fetchData"===n&&(t=!1!==l.component.refresh()&&t),t}),d.b,d.a)),t["ɵdid"](17,2867200,null,0,c.a,[t.NgZone,t.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],autoReload:[3,"autoReload"]},{fetchData:"fetchData"}),(l()(),t["ɵand"](0,[[1,2],["stateTmpl",2]],null,0,null,A)),(l()(),t["ɵand"](0,[[2,2],["syncTmpl",2]],null,0,null,j)),(l()(),t["ɵand"](0,[[3,2],["progressTmpl",2]],null,0,null,L))],(function(l,n){var e=n.component;l(n,7,0,"Issues"),l(n,9,0,e.image_error.data,e.image_error.columns,"flex",0),l(n,11,0,"Syncing"),l(n,13,0,e.image_syncing.data,e.image_syncing.columns,"flex",0),l(n,15,0,"Ready"),l(n,17,0,e.image_ready.data,e.image_ready.columns,"flex",0)}),(function(l,n){l(n,4,0,t["ɵnov"](n,5).clazz),l(n,6,0,t["ɵnov"](n,7).id,t["ɵnov"](n,7).active,t["ɵnov"](n,7).addClass),l(n,10,0,t["ɵnov"](n,11).id,t["ɵnov"](n,11).active,t["ɵnov"](n,11).addClass),l(n,14,0,t["ɵnov"](n,15).id,t["ɵnov"](n,15).active,t["ɵnov"](n,15).addClass)}))}var G=e("cxJu");e.d(n,"a",(function(){return W}));var U=t["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function X(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"cd-view-cache",[],null,null,null,i.b,i.a)),t["ɵdid"](1,114688,null,0,u.a,[],{status:[0,"status"]},null),(l()(),t["ɵeld"](2,0,null,null,7,"div",[["class","row"]],null,null,null,null,null)),(l()(),t["ɵeld"](3,0,null,null,6,"div",[["class","col-md-12"]],null,null,null,null,null)),(l()(),t["ɵeld"](4,0,null,null,3,"span",[],null,null,null,null,null)),(l()(),t["ɵeld"](5,0,null,null,1,"strong",[],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Site Name:"])),(l()(),t["ɵted"](7,null,[" ",""])),(l()(),t["ɵeld"](8,0,null,null,1,"cd-table-actions",[["class","table-actions float-right"]],null,null,null,s.b,s.a)),t["ɵdid"](9,114688,null,0,a.a,[],{permission:[0,"permission"],selection:[1,"selection"],tableActions:[2,"tableActions"]},null),(l()(),t["ɵeld"](10,0,null,null,10,"div",[["class","row"]],null,null,null,null,null)),(l()(),t["ɵeld"](11,0,null,null,4,"div",[["class","col-sm-6"]],null,null,null,null,null)),(l()(),t["ɵeld"](12,0,null,null,1,"legend",[],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Daemons"])),(l()(),t["ɵeld"](14,0,null,null,1,"cd-mirroring-daemons",[],null,null,null,b,f)),t["ɵdid"](15,245760,null,0,h,[m.a,p.a,g.a],null,null),(l()(),t["ɵeld"](16,0,null,null,4,"div",[["class","col-sm-6"]],null,null,null,null,null)),(l()(),t["ɵeld"](17,0,null,null,1,"legend",[],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Pools"])),(l()(),t["ɵeld"](19,0,null,null,1,"cd-mirroring-pools",[],null,null,null,D,T)),t["ɵdid"](20,245760,null,0,N,[w.a,m.a,F.b,I.a,g.a],null,null),(l()(),t["ɵeld"](21,0,null,null,5,"div",[["class","row"]],null,null,null,null,null)),(l()(),t["ɵeld"](22,0,null,null,4,"div",[["class","col-md-12"]],null,null,null,null,null)),(l()(),t["ɵeld"](23,0,null,null,1,"legend",[],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Images"])),(l()(),t["ɵeld"](25,0,null,null,1,"cd-mirroring-images",[],null,null,null,$,M)),t["ɵdid"](26,245760,null,0,O,[m.a,g.a],null,null)],(function(l,n){var e=n.component;l(n,1,0,e.status),l(n,9,0,e.permission,e.selection,e.tableActions),l(n,15,0),l(n,20,0),l(n,26,0)}),(function(l,n){l(n,7,0,n.component.siteName)}))}function z(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"cd-mirroring",[],null,null,null,X,U)),t["ɵdid"](1,245760,null,0,G.a,[w.a,m.a,F.b,g.a],null,null)],(function(l,n){l(n,1,0)}),null)}var W=t["ɵccf"]("cd-mirroring",G.a,z,{},{},[])},Sofw:function(l,n,e){"use strict";e.d(n,"a",(function(){return a}));var t=e("s7LF"),i=(e("my5R"),e("mtw6")),u=e("QFaf"),s=e("1Ni5");e("aexS"),e("9nlD");class a{constructor(l,n,e,t,i){this.authStorageService=l,this.bsModalRef=n,this.iscsiService=e,this.notificationService=t,this.i18n=i,this.USER_REGEX=/^[\w\.:@_-]{8,64}$/,this.PASSWORD_REGEX=/^[\w@\-_\/]{12,16}$/,this.permission=this.authStorageService.getPermissions().iscsi}ngOnInit(){this.hasPermission=this.permission.update,this.createForm(),this.iscsiService.getDiscovery().subscribe(l=>{this.discoveryForm.patchValue(l)})}createForm(){this.discoveryForm=new u.a({user:new t.i({value:"",disabled:!this.hasPermission}),password:new t.i({value:"",disabled:!this.hasPermission}),mutual_user:new t.i({value:"",disabled:!this.hasPermission}),mutual_password:new t.i({value:"",disabled:!this.hasPermission})}),s.a.validateIf(this.discoveryForm.get("user"),()=>this.discoveryForm.getValue("password")||this.discoveryForm.getValue("mutual_user")||this.discoveryForm.getValue("mutual_password"),[t.B.required],[t.B.pattern(this.USER_REGEX)],[this.discoveryForm.get("password"),this.discoveryForm.get("mutual_user"),this.discoveryForm.get("mutual_password")]),s.a.validateIf(this.discoveryForm.get("password"),()=>this.discoveryForm.getValue("user")||this.discoveryForm.getValue("mutual_user")||this.discoveryForm.getValue("mutual_password"),[t.B.required],[t.B.pattern(this.PASSWORD_REGEX)],[this.discoveryForm.get("user"),this.discoveryForm.get("mutual_user"),this.discoveryForm.get("mutual_password")]),s.a.validateIf(this.discoveryForm.get("mutual_user"),()=>this.discoveryForm.getValue("mutual_password"),[t.B.required],[t.B.pattern(this.USER_REGEX)],[this.discoveryForm.get("user"),this.discoveryForm.get("password"),this.discoveryForm.get("mutual_password")]),s.a.validateIf(this.discoveryForm.get("mutual_password"),()=>this.discoveryForm.getValue("mutual_user"),[t.B.required],[t.B.pattern(this.PASSWORD_REGEX)],[this.discoveryForm.get("user"),this.discoveryForm.get("password"),this.discoveryForm.get("mutual_user")])}submitAction(){this.iscsiService.updateDiscovery(this.discoveryForm.value).subscribe(()=>{this.notificationService.show(i.a.success,this.i18n("Updated discovery authentication")),this.bsModalRef.hide()},()=>{this.discoveryForm.setErrors({cdSubmitButton:!0})})}}},SuaG:function(l,n,e){"use strict";e.d(n,"a",(function(){return c}));var t=e("s7LF"),i=e("LvDl"),u=e("GyhO"),s=e("cp0P"),a=e("vkgz"),o=e("NJ9Y"),r=(e("XED3"),e("QFaf")),d=e("kvvV");e("kn/O");class c{constructor(l,n,e){this.modalRef=l,this.rbdMirroringService=n,this.taskWrapper=e,this.pools=[],this.createForm()}createForm(){this.createBootstrapForm=new r.a({siteName:new t.i("",{validators:[t.B.required]}),pools:new t.k({},{validators:[this.validatePools()]}),token:new t.i("",{})})}ngOnInit(){this.createBootstrapForm.get("siteName").setValue(this.siteName),this.rbdMirroringService.getSiteName().subscribe(l=>{this.createBootstrapForm.get("siteName").setValue(l.site_name)}),this.subs=this.rbdMirroringService.subscribeSummary(l=>{if(!l)return;this.pools=l.content_data.pools.reduce((l,n)=>(l.push({name:n.name,mirror_mode:n.mirror_mode}),l),[]);const n=this.createBootstrapForm.get("pools");i.each(this.pools,l=>{const e=l.name,i="disabled"===l.mirror_mode,u=n.controls[e];u?i&&u.disabled?u.enable():!i&&u.enabled&&(u.disable(),u.setValue(!0)):n.addControl(e,new t.i({value:!i,disabled:!i}))})})}ngOnDestroy(){this.subs&&this.subs.unsubscribe()}validatePools(){return l=>{let n=0;return i.each(l.controls,l=>{!0===l.value&&++n}),n>0?null:{requirePool:!0}}}generate(){this.createBootstrapForm.get("token").setValue("");let l="";const n=[],e=this.createBootstrapForm.get("pools");i.each(e.controls,(e,t)=>{!0===e.value&&(l=t,e.disabled||n.push(t))});const t={mirror_mode:"image"},r=Object(u.a)(this.rbdMirroringService.setSiteName(this.createBootstrapForm.getValue("siteName")),Object(s.a)(n.map(l=>this.rbdMirroringService.updatePool(l,t))),this.rbdMirroringService.createBootstrapToken(l).pipe(Object(a.a)(l=>this.createBootstrapForm.get("token").setValue(l.token)))).pipe(Object(o.a)()),c=()=>{this.rbdMirroringService.refresh(),this.createBootstrapForm.setErrors({cdSubmitButton:!0})};this.taskWrapper.wrapTaskAroundCall({task:new d.a("rbd/mirroring/bootstrap/create",{}),call:r}).subscribe(void 0,c,c)}}},VBM6:function(l,n,e){"use strict";var t=e("8Y7J"),i=e("EEJc"),u=e("ajRT"),s=e("SVse"),a=e("s7LF"),o=e("+gVj"),r=e("mXUL"),d=e("IZUe"),c=e("gp3X"),m=e("sb0X"),p=e("KVJa"),h=e("Z21x"),g=e("sne2"),f=e("L4us"),v=e("LqlI"),b=e("XED3"),C=e("kn/O");e.d(n,"a",(function(){return P}));var S=t["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function _(l){return t["ɵvid"](0,[(l()(),t["ɵted"](-1,null,["Edit"]))],null,null)}function y(l){return t["ɵvid"](0,[(l()(),t["ɵted"](-1,null,["Add"]))],null,null)}function R(l){return t["ɵvid"](0,[(l()(),t["ɵted"](-1,null,["Edit"]))],null,null)}function w(l){return t["ɵvid"](0,[(l()(),t["ɵted"](-1,null,["Add"]))],null,null)}function I(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["This field is required."]))],null,null)}function k(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["The cluster name is not valid."]))],null,null)}function E(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["This field is required."]))],null,null)}function N(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["The CephX ID is not valid."]))],null,null)}function F(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["The monitory address is not valid."]))],null,null)}function T(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["CephX key must be base64 encoded."]))],null,null)}function V(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,106,"cd-modal",[],null,null,null,i.c,i.b)),t["ɵdid"](1,49152,null,0,u.a,[],{modalRef:[0,"modalRef"]},null),(l()(),t["ɵeld"](2,0,null,0,7,null,null,null,null,null,null,null)),(l()(),t["ɵeld"](3,0,null,null,5,null,null,null,null,null,null,null)),t["ɵdid"](4,16384,null,0,s.NgSwitch,[],{ngSwitch:[0,"ngSwitch"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,_)),t["ɵdid"](6,278528,null,0,s.NgSwitchCase,[t.ViewContainerRef,t.TemplateRef,s.NgSwitch],{ngSwitchCase:[0,"ngSwitchCase"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,y)),t["ɵdid"](8,16384,null,0,s.NgSwitchDefault,[t.ViewContainerRef,t.TemplateRef,s.NgSwitch],null,null),(l()(),t["ɵted"](-1,null,[" pool mirror peer"])),(l()(),t["ɵeld"](10,0,null,1,96,null,null,null,null,null,null,null)),(l()(),t["ɵeld"](11,0,null,null,95,"form",[["class","form"],["name","editPeerForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,e){var i=!0;return"submit"===n&&(i=!1!==t["ɵnov"](l,13).onSubmit(e)&&i),"reset"===n&&(i=!1!==t["ɵnov"](l,13).onReset()&&i),"submit"===n&&(i=!1!==t["ɵnov"](l,16).onSubmit()&&i),i}),null,null)),t["ɵdid"](12,16384,null,0,a.G,[],null,null),t["ɵdid"](13,540672,[["formDir",4]],0,a.l,[[8,null],[8,null]],{form:[0,"form"]},null),t["ɵprd"](2048,null,a.d,null,[a.l]),t["ɵdid"](15,16384,null,0,a.s,[[4,a.d]],null,null),t["ɵdid"](16,16384,null,0,o.d,[],{formGroup:[0,"formGroup"]},null),(l()(),t["ɵeld"](17,0,null,null,82,"div",[["class","modal-body"]],null,null,null,null,null)),(l()(),t["ɵeld"](18,0,null,null,14,"p",[],null,null,null,null,null)),(l()(),t["ɵeld"](19,0,null,null,13,null,null,null,null,null,null,null)),(l()(),t["ɵeld"](20,0,null,null,5,null,null,null,null,null,null,null)),t["ɵdid"](21,16384,null,0,s.NgSwitch,[],{ngSwitch:[0,"ngSwitch"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,R)),t["ɵdid"](23,278528,null,0,s.NgSwitchCase,[t.ViewContainerRef,t.TemplateRef,s.NgSwitch],{ngSwitchCase:[0,"ngSwitchCase"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,w)),t["ɵdid"](25,16384,null,0,s.NgSwitchDefault,[t.ViewContainerRef,t.TemplateRef,s.NgSwitch],null,null),(l()(),t["ɵted"](-1,null,[" the pool mirror peer attributes for pool "])),(l()(),t["ɵeld"](27,0,null,null,1,"kbd",[],null,null,null,null,null)),(l()(),t["ɵted"](28,null,["",""])),(l()(),t["ɵted"](-1,null,[" and click "])),(l()(),t["ɵeld"](30,0,null,null,1,"kbd",[],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Submit"])),(l()(),t["ɵted"](-1,null,["."])),(l()(),t["ɵeld"](33,0,null,null,17,"div",[["class","form-group"]],[[2,"has-error",null],[2,"has-success",null]],null,null,r.b,r.a)),t["ɵdid"](34,1163264,null,2,o.c,[t.ElementRef,o.g],null,null),t["ɵqud"](603979776,1,{FormControlNames:1}),t["ɵqud"](603979776,2,{messagesBlock:0}),(l()(),t["ɵeld"](37,0,null,0,1,"label",[["class","col-form-label required"],["for","clusterName"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Cluster Name"])),(l()(),t["ɵeld"](39,0,null,0,7,"input",[["autofocus",""],["class","form-control"],["formControlName","clusterName"],["id","clusterName"],["name","clusterName"],["placeholder","Name..."],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,41)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,41).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,41)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,41)._compositionEnd(e.target.value)&&i),i}),null,null)),t["ɵdid"](40,4210688,null,0,d.a,[t.ElementRef],{autofocus:[0,"autofocus"]},null),t["ɵdid"](41,16384,null,0,a.e,[t.Renderer2,t.ElementRef,[2,a.b]],null,null),t["ɵprd"](1024,null,a.p,(function(l){return[l]}),[a.e]),t["ɵdid"](43,671744,[[1,4]],0,a.j,[[3,a.d],[8,null],[8,null],[6,a.p],[2,a.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,a.q,null,[a.j]),t["ɵdid"](45,16384,null,0,a.r,[[4,a.q]],null,null),t["ɵdid"](46,16384,null,0,o.h,[[3,a.d],o.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵand"](16777216,null,0,1,null,I)),t["ɵdid"](48,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](16777216,null,0,1,null,k)),t["ɵdid"](50,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](51,0,null,null,16,"div",[["class","form-group"]],[[2,"has-error",null],[2,"has-success",null]],null,null,r.b,r.a)),t["ɵdid"](52,1163264,null,2,o.c,[t.ElementRef,o.g],null,null),t["ɵqud"](603979776,3,{FormControlNames:1}),t["ɵqud"](603979776,4,{messagesBlock:0}),(l()(),t["ɵeld"](55,0,null,0,1,"label",[["class","col-form-label required"],["for","clientID"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["CephX ID"])),(l()(),t["ɵeld"](57,0,null,0,6,"input",[["class","form-control"],["formControlName","clientID"],["id","clientID"],["name","clientID"],["placeholder","CephX ID..."],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,58)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,58).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,58)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,58)._compositionEnd(e.target.value)&&i),i}),null,null)),t["ɵdid"](58,16384,null,0,a.e,[t.Renderer2,t.ElementRef,[2,a.b]],null,null),t["ɵprd"](1024,null,a.p,(function(l){return[l]}),[a.e]),t["ɵdid"](60,671744,[[3,4]],0,a.j,[[3,a.d],[8,null],[8,null],[6,a.p],[2,a.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,a.q,null,[a.j]),t["ɵdid"](62,16384,null,0,a.r,[[4,a.q]],null,null),t["ɵdid"](63,16384,null,0,o.h,[[3,a.d],o.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵand"](16777216,null,0,1,null,E)),t["ɵdid"](65,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](16777216,null,0,1,null,N)),t["ɵdid"](67,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](68,0,null,null,15,"div",[["class","form-group"]],[[2,"has-error",null],[2,"has-success",null]],null,null,r.b,r.a)),t["ɵdid"](69,1163264,null,2,o.c,[t.ElementRef,o.g],null,null),t["ɵqud"](603979776,5,{FormControlNames:1}),t["ɵqud"](603979776,6,{messagesBlock:0}),(l()(),t["ɵeld"](72,0,null,0,2,"label",[["class","col-form-label"],["for","monAddr"]],null,null,null,null,null)),(l()(),t["ɵeld"](73,0,null,null,1,"span",[],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Monitor Addresses"])),(l()(),t["ɵeld"](75,0,null,0,6,"input",[["class","form-control"],["formControlName","monAddr"],["id","monAddr"],["name","monAddr"],["placeholder","Comma-delimited addresses..."],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,76)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,76).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,76)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,76)._compositionEnd(e.target.value)&&i),i}),null,null)),t["ɵdid"](76,16384,null,0,a.e,[t.Renderer2,t.ElementRef,[2,a.b]],null,null),t["ɵprd"](1024,null,a.p,(function(l){return[l]}),[a.e]),t["ɵdid"](78,671744,[[5,4]],0,a.j,[[3,a.d],[8,null],[8,null],[6,a.p],[2,a.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,a.q,null,[a.j]),t["ɵdid"](80,16384,null,0,a.r,[[4,a.q]],null,null),t["ɵdid"](81,16384,null,0,o.h,[[3,a.d],o.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵand"](16777216,null,0,1,null,F)),t["ɵdid"](83,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](84,0,null,null,15,"div",[["class","form-group"]],[[2,"has-error",null],[2,"has-success",null]],null,null,r.b,r.a)),t["ɵdid"](85,1163264,null,2,o.c,[t.ElementRef,o.g],null,null),t["ɵqud"](603979776,7,{FormControlNames:1}),t["ɵqud"](603979776,8,{messagesBlock:0}),(l()(),t["ɵeld"](88,0,null,0,2,"label",[["class","col-form-label"],["for","key"]],null,null,null,null,null)),(l()(),t["ɵeld"](89,0,null,null,1,"span",[],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["CephX Key"])),(l()(),t["ɵeld"](91,0,null,0,6,"input",[["class","form-control"],["formControlName","key"],["id","key"],["name","key"],["placeholder","Base64-encoded key..."],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,92)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,92).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,92)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,92)._compositionEnd(e.target.value)&&i),i}),null,null)),t["ɵdid"](92,16384,null,0,a.e,[t.Renderer2,t.ElementRef,[2,a.b]],null,null),t["ɵprd"](1024,null,a.p,(function(l){return[l]}),[a.e]),t["ɵdid"](94,671744,[[7,4]],0,a.j,[[3,a.d],[8,null],[8,null],[6,a.p],[2,a.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,a.q,null,[a.j]),t["ɵdid"](96,16384,null,0,a.r,[[4,a.q]],null,null),t["ɵdid"](97,16384,null,0,o.h,[[3,a.d],o.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵand"](16777216,null,0,1,null,T)),t["ɵdid"](99,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](100,0,null,null,6,"div",[["class","modal-footer"]],null,null,null,null,null)),(l()(),t["ɵeld"](101,0,null,null,5,"div",[["class","button-group text-right"]],null,null,null,null,null)),(l()(),t["ɵeld"](102,0,null,null,2,"cd-submit-button",[],null,[[null,"submitAction"]],(function(l,n,e){var t=!0;return"submitAction"===n&&(t=!1!==l.component.update()&&t),t}),c.b,c.a)),t["ɵdid"](103,114688,null,0,m.a,[t.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(l()(),t["ɵted"](-1,0,["Submit"])),(l()(),t["ɵeld"](105,0,null,null,1,"cd-back-button",[["name","Cancel"]],null,null,null,p.b,p.a)),t["ɵdid"](106,49152,null,0,h.a,[s.Location,g.b],{name:[0,"name"],back:[1,"back"]},null)],(function(l,n){var e=n.component;l(n,1,0,e.modalRef),l(n,4,0,e.mode),l(n,6,0,"edit"),l(n,13,0,e.editPeerForm),l(n,16,0,e.editPeerForm),l(n,21,0,e.mode),l(n,23,0,"edit"),l(n,34,0),l(n,40,0,""),l(n,43,0,"clusterName"),l(n,46,0,"clusterName"),l(n,48,0,e.editPeerForm.showError("clusterName",t["ɵnov"](n,13),"required")),l(n,50,0,e.editPeerForm.showError("clusterName",t["ɵnov"](n,13),"invalidClusterName")),l(n,52,0),l(n,60,0,"clientID"),l(n,63,0,"clientID"),l(n,65,0,e.editPeerForm.showError("clientID",t["ɵnov"](n,13),"required")),l(n,67,0,e.editPeerForm.showError("clientID",t["ɵnov"](n,13),"invalidClientID")),l(n,69,0),l(n,78,0,"monAddr"),l(n,81,0,"monAddr"),l(n,83,0,e.editPeerForm.showError("monAddr",t["ɵnov"](n,13),"invalidMonAddr")),l(n,85,0),l(n,94,0,"key"),l(n,97,0,"key"),l(n,99,0,e.editPeerForm.showError("key",t["ɵnov"](n,13),"invalidKey")),l(n,103,0,e.editPeerForm),l(n,106,0,"Cancel",e.modalRef.hide)}),(function(l,n){var e=n.component;l(n,11,0,t["ɵnov"](n,15).ngClassUntouched,t["ɵnov"](n,15).ngClassTouched,t["ɵnov"](n,15).ngClassPristine,t["ɵnov"](n,15).ngClassDirty,t["ɵnov"](n,15).ngClassValid,t["ɵnov"](n,15).ngClassInvalid,t["ɵnov"](n,15).ngClassPending),l(n,28,0,e.poolName),l(n,33,0,t["ɵnov"](n,34).hasErrors,t["ɵnov"](n,34).hasSuccess),l(n,39,0,t["ɵnov"](n,45).ngClassUntouched,t["ɵnov"](n,45).ngClassTouched,t["ɵnov"](n,45).ngClassPristine,t["ɵnov"](n,45).ngClassDirty,t["ɵnov"](n,45).ngClassValid,t["ɵnov"](n,45).ngClassInvalid,t["ɵnov"](n,45).ngClassPending,t["ɵnov"](n,46).validClass,t["ɵnov"](n,46).invalidClass),l(n,51,0,t["ɵnov"](n,52).hasErrors,t["ɵnov"](n,52).hasSuccess),l(n,57,0,t["ɵnov"](n,62).ngClassUntouched,t["ɵnov"](n,62).ngClassTouched,t["ɵnov"](n,62).ngClassPristine,t["ɵnov"](n,62).ngClassDirty,t["ɵnov"](n,62).ngClassValid,t["ɵnov"](n,62).ngClassInvalid,t["ɵnov"](n,62).ngClassPending,t["ɵnov"](n,63).validClass,t["ɵnov"](n,63).invalidClass),l(n,68,0,t["ɵnov"](n,69).hasErrors,t["ɵnov"](n,69).hasSuccess),l(n,75,0,t["ɵnov"](n,80).ngClassUntouched,t["ɵnov"](n,80).ngClassTouched,t["ɵnov"](n,80).ngClassPristine,t["ɵnov"](n,80).ngClassDirty,t["ɵnov"](n,80).ngClassValid,t["ɵnov"](n,80).ngClassInvalid,t["ɵnov"](n,80).ngClassPending,t["ɵnov"](n,81).validClass,t["ɵnov"](n,81).invalidClass),l(n,84,0,t["ɵnov"](n,85).hasErrors,t["ɵnov"](n,85).hasSuccess),l(n,91,0,t["ɵnov"](n,96).ngClassUntouched,t["ɵnov"](n,96).ngClassTouched,t["ɵnov"](n,96).ngClassPristine,t["ɵnov"](n,96).ngClassDirty,t["ɵnov"](n,96).ngClassValid,t["ɵnov"](n,96).ngClassInvalid,t["ɵnov"](n,96).ngClassPending,t["ɵnov"](n,97).validClass,t["ɵnov"](n,97).invalidClass)}))}function D(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"cd-pool-edit-peer-modal",[],null,null,null,V,S)),t["ɵdid"](1,114688,null,0,f.a,[v.a,b.a,C.a],null,null)],(function(l,n){l(n,1,0)}),null)}var P=t["ɵccf"]("cd-pool-edit-peer-modal",f.a,D,{},{},[])},WkyA:function(l,n,e){"use strict";e.d(n,"a",(function(){return t}));class t{constructor(){}}},WxU5:function(l,n,e){"use strict";e.d(n,"a",(function(){return i})),e("Ekvf"),e("F83c"),e("2EZI");var t=e("kvvV");e("aexS"),e("kn/O");class i{constructor(l,n,e,t,i,u){this.authStorageService=l,this.rbdService=n,this.modalRef=e,this.fb=t,this.poolService=i,this.taskWrapper=u,this.poolPermission=this.authStorageService.getPermissions().pool}createForm(){this.purgeForm=this.fb.group({poolName:""})}ngOnInit(){this.poolPermission.read&&this.poolService.list(["pool_name","application_metadata"]).then(l=>{this.pools=l.filter(l=>l.application_metadata.includes("rbd")).map(l=>l.pool_name)}),this.createForm()}purge(){const l=this.purgeForm.getValue("poolName")||"";this.taskWrapper.wrapTaskAroundCall({task:new t.a("rbd/trash/purge",{pool_name:l}),call:this.rbdService.purgeTrash(l)}).subscribe(void 0,()=>{this.purgeForm.setErrors({cdSubmitButton:!0})},()=>{this.modalRef.hide()})}}},XED3:function(l,n,e){"use strict";e.d(n,"a",(function(){return d}));var t=e("mrSG"),i=e("IheW"),u=e("2Vo4"),s=e("xTzq"),a=e("lOp/"),o=e("8Y7J"),r=e("pL04");let d=(()=>{let l=class{constructor(l,n){this.http=l,this.timerService=n,this.REFRESH_INTERVAL=3e4,this.summaryDataSource=new u.a(null),this.summaryData$=this.summaryDataSource.asObservable()}startPolling(){return this.timerService.get(()=>this.retrieveSummaryObservable(),this.REFRESH_INTERVAL).subscribe(this.retrieveSummaryObserver())}refresh(){return this.retrieveSummaryObservable().subscribe(this.retrieveSummaryObserver())}retrieveSummaryObservable(){return this.http.get("api/block/mirroring/summary")}retrieveSummaryObserver(){return l=>{this.summaryDataSource.next(l)}}getCurrentSummary(){return this.summaryDataSource.getValue()}subscribeSummary(l,n){return this.summaryData$.subscribe(l,n)}getPool(l){return this.http.get(`api/block/mirroring/pool/${l}`)}updatePool(l,n){return this.http.put(`api/block/mirroring/pool/${l}`,n,{observe:"response"})}getSiteName(){return this.http.get("api/block/mirroring/site_name")}setSiteName(l){return this.http.put("api/block/mirroring/site_name",{site_name:l},{observe:"response"})}createBootstrapToken(l){return this.http.post(`api/block/mirroring/pool/${l}/bootstrap/token`,{})}importBootstrapToken(l,n,e){return this.http.post(`api/block/mirroring/pool/${l}/bootstrap/peer`,{direction:n,token:e},{observe:"response"})}getPeer(l,n){return this.http.get(`api/block/mirroring/pool/${l}/peer/${n}`)}addPeer(l,n){return this.http.post(`api/block/mirroring/pool/${l}/peer`,n,{observe:"response"})}updatePeer(l,n,e){return this.http.put(`api/block/mirroring/pool/${l}/peer/${n}`,e,{observe:"response"})}deletePeer(l,n){return this.http.delete(`api/block/mirroring/pool/${l}/peer/${n}`,{observe:"response"})}};return l.ngInjectableDef=o["ɵɵdefineInjectable"]({factory:function(){return new l(o["ɵɵinject"](i.c),o["ɵɵinject"](a.a))},token:l,providedIn:r.a}),t.__decorate([t.__param(0,s.b),t.__metadata("design:type",Function),t.__metadata("design:paramtypes",[String]),t.__metadata("design:returntype",void 0)],l.prototype,"setSiteName",null),t.__decorate([t.__param(1,s.b),t.__param(2,s.b),t.__metadata("design:type",Function),t.__metadata("design:paramtypes",[String,String,String]),t.__metadata("design:returntype",void 0)],l.prototype,"importBootstrapToken",null),l=t.__decorate([s.a,t.__metadata("design:paramtypes",[i.c,a.a])],l),l})()},Z4cD:function(l,n,e){"use strict";e.d(n,"a",(function(){return s}));var t=e("s7LF"),i=e("LvDl"),u=(e("my5R"),e("QFaf"));class s{constructor(l,n){this.modalRef=l,this.iscsiService=n}ngOnInit(){const l={backstore:new t.i(this.imagesSettings[this.image].backstore),lun:new t.i(this.imagesSettings[this.image].lun),wwn:new t.i(this.imagesSettings[this.image].wwn)};i.forEach(this.backstores,n=>{const e=this.imagesSettings[this.image][n]||{};i.forIn(this.disk_default_controls[n],(n,i)=>{l[i]=new t.i(e[i])})}),this.settingsForm=new u.a(l)}getDiskControlLimits(l,n){return this.disk_controls_limits?this.disk_controls_limits[l][n]:{type:"int"}}save(){const l=this.settingsForm.controls.backstore.value,n=this.settingsForm.controls.lun.value,e=this.settingsForm.controls.wwn.value,t={};i.forIn(this.settingsForm.controls,(n,e)=>{""!==n.value&&null!==n.value&&e in this.disk_default_controls[this.settingsForm.value.backstore]&&(t[e]=n.value,i.forEach(this.backstores,t=>{t!==l&&e in(this.imagesSettings[this.image][t]||{})&&(this.imagesSettings[this.image][t][e]=n.value)}))}),this.imagesSettings[this.image].backstore=l,this.imagesSettings[this.image].lun=n,this.imagesSettings[this.image].wwn=e,this.imagesSettings[this.image][l]=t,this.imagesSettings=Object.assign({},this.imagesSettings),this.control.updateValueAndValidity({emitEvent:!1}),this.modalRef.hide()}}},Z5tW:function(l,n,e){"use strict";e.d(n,"a",(function(){return d}));var t=e("LvDl"),i=e("cp0P"),u=(e("Ekvf"),e("F83c"),e("0+/T")),s=(e("sne2"),e("oxzT")),a=e("mtw6"),o=e("vCyI"),r=(e("aexS"),e("9nlD"),e("daK0"));class d{constructor(l,n,e,i,u,a,r){this.authStorageService=l,this.rbdService=n,this.poolService=e,this.modalService=i,this.notificationService=u,this.i18n=a,this.actionLabels=r,this.selection=new o.a,this.permission=this.authStorageService.getPermissions().rbdImage,this.tableActions=[{permission:"create",icon:s.a.add,click:()=>this.createModal(),name:this.actionLabels.CREATE},{permission:"delete",icon:s.a.destroy,click:()=>this.deleteModal(),name:this.actionLabels.DELETE,disable:()=>!this.selection.first()||!t.isUndefined(this.getDeleteDisableDesc()),disableDesc:()=>this.getDeleteDisableDesc()}]}ngOnInit(){this.columns=[{name:this.i18n("Namespace"),prop:"namespace",flexGrow:1},{name:this.i18n("Pool"),prop:"pool",flexGrow:1},{name:this.i18n("Total images"),prop:"num_images",flexGrow:1}],this.refresh()}refresh(){this.poolService.list(["pool_name","type","application_metadata"]).then(l=>{l=l.filter(l=>this.rbdService.isRBDPool(l)&&"replicated"===l.type);const n=[];l.forEach(l=>{n.push(this.rbdService.listNamespaces(l.pool_name))}),n.length>0?Object(i.a)(n).subscribe(n=>{const e=[];for(let t=0;t<n.length;t++){const i=l[t].pool_name;n[t].forEach(l=>{e.push({id:`${i}/${l.namespace}`,pool:i,namespace:l.namespace,num_images:l.num_images})})}this.namespaces=e}):this.namespaces=[]})}updateSelection(l){this.selection=l}createModal(){this.modalRef=this.modalService.show(r.a),this.modalRef.content.onSubmit.subscribe(()=>{this.refresh()})}deleteModal(){const l=this.selection.first().pool,n=this.selection.first().namespace;this.modalRef=this.modalService.show(u.a,{initialState:{itemDescription:"Namespace",itemNames:[`${l}/${n}`],submitAction:()=>this.rbdService.deleteNamespace(l,n).subscribe(()=>{this.notificationService.show(a.a.success,this.i18n("Deleted namespace '{{pool}}/{{namespace}}'",{pool:l,namespace:n})),this.modalRef.hide(),this.refresh()},()=>{this.modalRef.content.stopLoadingSpinner()})}})}getDeleteDisableDesc(){const l=this.selection.first();if(l&&l.num_images>0)return this.i18n("Namespace contains images")}}},a6qe:function(l,n,e){"use strict";e.d(n,"a",(function(){return s}));var t=e("s7LF"),i=e("LvDl"),u=(e("my5R"),e("QFaf"));class s{constructor(l,n){this.modalRef=l,this.iscsiService=n}ngOnInit(){const l={};i.forIn(this.target_default_controls,(n,e)=>{l[e]=new t.i(this.target_controls.value[e])}),this.settingsForm=new u.a(l)}save(){const l={};i.forIn(this.settingsForm.controls,(n,e)=>{""!==n.value&&null!==n.value&&(l[e]=n.value)}),this.target_controls.setValue(l),this.modalRef.hide()}getTargetControlLimits(l){return this.target_controls_limits?this.target_controls_limits[l]:["Yes","No"].includes(this.target_default_controls[l])?{type:"bool"}:{type:"int"}}}},aAWM:function(l,n,e){"use strict";e("uIqm");var t=e("PhyI");class i{transform(l){return{0:"global",1:"pool",2:"image"}[l]}}e("aXbf"),e("o8EM"),e.d(n,"a",(function(){return u}));class u{constructor(l,n,e){this.formatterService=l,this.rbdConfigurationService=n,this.i18n=e,this.sourceField=t.a,this.typeField=t.b}ngOnInit(){this.poolConfigurationColumns=[{prop:"displayName",name:this.i18n("Name")},{prop:"description",name:this.i18n("Description")},{prop:"name",name:this.i18n("Key")},{prop:"source",name:this.i18n("Source"),cellTemplate:this.configurationSourceTpl,pipe:new i},{prop:"value",name:this.i18n("Value"),cellTemplate:this.configurationValueTpl}]}ngOnChanges(){this.data&&(this.data=this.data.filter(l=>this.rbdConfigurationService.getOptionFields().map(l=>l.name).includes(l.name)))}}},aa9H:function(l,n,e){"use strict";var t=e("s7LF"),i=(e("XED3"),e("QFaf")),u=e("kvvV");e("kn/O");class s{}e.d(n,"a",(function(){return a}));class a{constructor(l,n,e,t){this.modalRef=l,this.i18n=n,this.rbdMirroringService=e,this.taskWrapper=t,this.bsConfig={containerClass:"theme-default"},this.peerExists=!1,this.mirrorModes=[{id:"disabled",name:this.i18n("Disabled")},{id:"pool",name:this.i18n("Pool")},{id:"image",name:this.i18n("Image")}],this.createForm()}createForm(){this.editModeForm=new i.a({mirrorMode:new t.i("",{validators:[t.B.required,this.validateMode.bind(this)]})})}ngOnInit(){this.pattern=`${this.poolName}`,this.rbdMirroringService.getPool(this.poolName).subscribe(l=>{this.setResponse(l)}),this.subs=this.rbdMirroringService.subscribeSummary(l=>{if(this.peerExists=!1,!l)return;const n=l.content_data.pools.find(l=>this.poolName===l.name);this.peerExists=n&&n.peer_uuids.length})}ngOnDestroy(){this.subs.unsubscribe()}validateMode(l){return"disabled"===l.value&&this.peerExists?{cannotDisable:{value:l.value}}:null}setResponse(l){this.editModeForm.get("mirrorMode").setValue(l.mirror_mode)}update(){const l=new s;l.mirror_mode=this.editModeForm.getValue("mirrorMode"),this.taskWrapper.wrapTaskAroundCall({task:new u.a("rbd/mirroring/pool/edit",{pool_name:this.poolName}),call:this.rbdMirroringService.updatePool(this.poolName,l)}).subscribe(void 0,()=>this.editModeForm.setErrors({cdSubmitButton:!0}),()=>{this.rbdMirroringService.refresh(),this.modalRef.hide()})}}},bUo2:function(l,n,e){"use strict";var t=e("8Y7J"),i=e("gp3X"),u=e("sb0X"),s=e("EEJc"),a=e("ajRT"),o=e("s7LF"),r=e("+gVj"),d=e("mXUL"),c=e("SVse"),m=e("D4zM"),p=e("OcYo"),h=e("EApP"),g=e("KVJa"),f=e("Z21x"),v=e("sne2"),b=e("Sofw"),C=e("aexS"),S=e("LqlI"),_=e("my5R"),y=e("9nlD"),R=e("GiVz");e.d(n,"a",(function(){return B}));var w=t["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function I(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["This field is required."]))],null,null)}function k(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["User names must have a length of 8 to 64 characters and can contain alphanumeric characters, '.', '@', '-', '_' or ':'."]))],null,null)}function E(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["This field is required."]))],null,null)}function N(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Passwords must have a length of 12 to 16 characters and can contain alphanumeric characters, '@', '-', '_' or '/'."]))],null,null)}function F(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["This field is required."]))],null,null)}function T(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["User names must have a length of 8 to 64 characters and can contain alphanumeric characters, '.', '@', '-', '_' or ':'."]))],null,null)}function V(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["This field is required."]))],null,null)}function D(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Passwords must have a length of 12 to 16 characters and can contain alphanumeric characters, '@', '-', '_' or '/'."]))],null,null)}function P(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,2,"cd-submit-button",[],null,[[null,"submitAction"]],(function(l,n,e){var t=!0;return"submitAction"===n&&(t=!1!==l.component.submitAction()&&t),t}),i.b,i.a)),t["ɵdid"](1,114688,null,0,u.a,[t.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(l()(),t["ɵted"](-1,0,["Submit"]))],(function(l,n){l(n,1,0,n.component.discoveryForm)}),null)}function x(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,102,"cd-modal",[],null,null,null,s.c,s.b)),t["ɵdid"](1,49152,null,0,a.a,[],{modalRef:[0,"modalRef"]},null),(l()(),t["ɵeld"](2,0,null,0,1,null,null,null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Discovery Authentication"])),(l()(),t["ɵeld"](4,0,null,1,98,null,null,null,null,null,null,null)),(l()(),t["ɵeld"](5,0,null,null,97,"form",[["name","discoveryForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,e){var i=!0;return"submit"===n&&(i=!1!==t["ɵnov"](l,7).onSubmit(e)&&i),"reset"===n&&(i=!1!==t["ɵnov"](l,7).onReset()&&i),"submit"===n&&(i=!1!==t["ɵnov"](l,10).onSubmit()&&i),i}),null,null)),t["ɵdid"](6,16384,null,0,o.G,[],null,null),t["ɵdid"](7,540672,[["formDir",4]],0,o.l,[[8,null],[8,null]],{form:[0,"form"]},null),t["ɵprd"](2048,null,o.d,null,[o.l]),t["ɵdid"](9,16384,null,0,o.s,[[4,o.d]],null,null),t["ɵdid"](10,16384,null,0,r.d,[],{formGroup:[0,"formGroup"]},null),(l()(),t["ɵeld"](11,0,null,null,85,"div",[["class","modal-body"]],null,null,null,null,null)),(l()(),t["ɵeld"](12,0,null,null,17,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,d.b,d.a)),t["ɵdid"](13,1163264,null,2,r.c,[t.ElementRef,r.g],null,null),t["ɵqud"](603979776,1,{FormControlNames:1}),t["ɵqud"](603979776,2,{messagesBlock:0}),(l()(),t["ɵeld"](16,0,null,0,1,"label",[["class","cd-col-form-label"],["for","user"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["User"])),(l()(),t["ɵeld"](18,0,null,0,11,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),t["ɵeld"](19,0,null,null,6,"input",[["class","form-control"],["formControlName","user"],["id","user"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,20)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,20).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,20)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,20)._compositionEnd(e.target.value)&&i),i}),null,null)),t["ɵdid"](20,16384,null,0,o.e,[t.Renderer2,t.ElementRef,[2,o.b]],null,null),t["ɵprd"](1024,null,o.p,(function(l){return[l]}),[o.e]),t["ɵdid"](22,671744,[[1,4]],0,o.j,[[3,o.d],[8,null],[8,null],[6,o.p],[2,o.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,o.q,null,[o.j]),t["ɵdid"](24,16384,null,0,o.r,[[4,o.q]],null,null),t["ɵdid"](25,16384,null,0,r.h,[[3,o.d],r.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,I)),t["ɵdid"](27,16384,null,0,c.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,k)),t["ɵdid"](29,16384,null,0,c.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](30,0,null,null,23,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,d.b,d.a)),t["ɵdid"](31,1163264,null,2,r.c,[t.ElementRef,r.g],null,null),t["ɵqud"](603979776,3,{FormControlNames:1}),t["ɵqud"](603979776,4,{messagesBlock:0}),(l()(),t["ɵeld"](34,0,null,0,1,"label",[["class","cd-col-form-label"],["for","password"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Password"])),(l()(),t["ɵeld"](36,0,null,0,17,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),t["ɵeld"](37,0,null,null,12,"div",[["class","input-group"]],null,null,null,null,null)),(l()(),t["ɵeld"](38,0,null,null,6,"input",[["class","form-control"],["formControlName","password"],["id","password"],["type","password"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,39)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,39).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,39)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,39)._compositionEnd(e.target.value)&&i),i}),null,null)),t["ɵdid"](39,16384,null,0,o.e,[t.Renderer2,t.ElementRef,[2,o.b]],null,null),t["ɵprd"](1024,null,o.p,(function(l){return[l]}),[o.e]),t["ɵdid"](41,671744,[[3,4]],0,o.j,[[3,o.d],[8,null],[8,null],[6,o.p],[2,o.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,o.q,null,[o.j]),t["ɵdid"](43,16384,null,0,o.r,[[4,o.q]],null,null),t["ɵdid"](44,16384,null,0,r.h,[[3,o.d],r.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵeld"](45,0,null,null,4,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),t["ɵeld"](46,0,null,null,1,"button",[["cdPasswordButton","password"],["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,e){var i=!0;return"click"===n&&(i=!1!==t["ɵnov"](l,47).onClick()&&i),i}),null,null)),t["ɵdid"](47,81920,null,0,m.a,[t.ElementRef,t.Renderer2],{cdPasswordButton:[0,"cdPasswordButton"]},null),(l()(),t["ɵeld"](48,0,null,null,1,"button",[["cdCopy2ClipboardButton","password"],["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,e){var i=!0;return"click"===n&&(i=!1!==t["ɵnov"](l,49).onClick()&&i),i}),null,null)),t["ɵdid"](49,81920,null,0,p.a,[t.ElementRef,t.Renderer2,h.j],{cdCopy2ClipboardButton:[0,"cdCopy2ClipboardButton"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,E)),t["ɵdid"](51,16384,null,0,c.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,N)),t["ɵdid"](53,16384,null,0,c.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](54,0,null,null,18,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,d.b,d.a)),t["ɵdid"](55,1163264,null,2,r.c,[t.ElementRef,r.g],null,null),t["ɵqud"](603979776,5,{FormControlNames:1}),t["ɵqud"](603979776,6,{messagesBlock:0}),(l()(),t["ɵeld"](58,0,null,0,2,"label",[["class","cd-col-form-label"],["for","mutual_user"]],null,null,null,null,null)),(l()(),t["ɵeld"](59,0,null,null,1,null,null,null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Mutual User"])),(l()(),t["ɵeld"](61,0,null,0,11,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),t["ɵeld"](62,0,null,null,6,"input",[["class","form-control"],["formControlName","mutual_user"],["id","mutual_user"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,63)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,63).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,63)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,63)._compositionEnd(e.target.value)&&i),i}),null,null)),t["ɵdid"](63,16384,null,0,o.e,[t.Renderer2,t.ElementRef,[2,o.b]],null,null),t["ɵprd"](1024,null,o.p,(function(l){return[l]}),[o.e]),t["ɵdid"](65,671744,[[5,4]],0,o.j,[[3,o.d],[8,null],[8,null],[6,o.p],[2,o.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,o.q,null,[o.j]),t["ɵdid"](67,16384,null,0,o.r,[[4,o.q]],null,null),t["ɵdid"](68,16384,null,0,r.h,[[3,o.d],r.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,F)),t["ɵdid"](70,16384,null,0,c.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,T)),t["ɵdid"](72,16384,null,0,c.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](73,0,null,null,23,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,d.b,d.a)),t["ɵdid"](74,1163264,null,2,r.c,[t.ElementRef,r.g],null,null),t["ɵqud"](603979776,7,{FormControlNames:1}),t["ɵqud"](603979776,8,{messagesBlock:0}),(l()(),t["ɵeld"](77,0,null,0,1,"label",[["class","cd-col-form-label"],["for","mutual_password"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Mutual Password"])),(l()(),t["ɵeld"](79,0,null,0,17,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),t["ɵeld"](80,0,null,null,12,"div",[["class","input-group"]],null,null,null,null,null)),(l()(),t["ɵeld"](81,0,null,null,6,"input",[["class","form-control"],["formControlName","mutual_password"],["id","mutual_password"],["type","password"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,82)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,82).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,82)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,82)._compositionEnd(e.target.value)&&i),i}),null,null)),t["ɵdid"](82,16384,null,0,o.e,[t.Renderer2,t.ElementRef,[2,o.b]],null,null),t["ɵprd"](1024,null,o.p,(function(l){return[l]}),[o.e]),t["ɵdid"](84,671744,[[7,4]],0,o.j,[[3,o.d],[8,null],[8,null],[6,o.p],[2,o.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,o.q,null,[o.j]),t["ɵdid"](86,16384,null,0,o.r,[[4,o.q]],null,null),t["ɵdid"](87,16384,null,0,r.h,[[3,o.d],r.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵeld"](88,0,null,null,4,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),t["ɵeld"](89,0,null,null,1,"button",[["cdPasswordButton","mutual_password"],["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,e){var i=!0;return"click"===n&&(i=!1!==t["ɵnov"](l,90).onClick()&&i),i}),null,null)),t["ɵdid"](90,81920,null,0,m.a,[t.ElementRef,t.Renderer2],{cdPasswordButton:[0,"cdPasswordButton"]},null),(l()(),t["ɵeld"](91,0,null,null,1,"button",[["cdCopy2ClipboardButton","mutual_password"],["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,e){var i=!0;return"click"===n&&(i=!1!==t["ɵnov"](l,92).onClick()&&i),i}),null,null)),t["ɵdid"](92,81920,null,0,p.a,[t.ElementRef,t.Renderer2,h.j],{cdCopy2ClipboardButton:[0,"cdCopy2ClipboardButton"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,V)),t["ɵdid"](94,16384,null,0,c.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,D)),t["ɵdid"](96,16384,null,0,c.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](97,0,null,null,5,"div",[["class","modal-footer"]],null,null,null,null,null)),(l()(),t["ɵeld"](98,0,null,null,4,"div",[["class","button-group text-right"]],null,null,null,null,null)),(l()(),t["ɵand"](16777216,null,null,1,null,P)),t["ɵdid"](100,16384,null,0,c.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](101,0,null,null,1,"cd-back-button",[["name","Cancel"]],null,null,null,g.b,g.a)),t["ɵdid"](102,49152,null,0,f.a,[c.Location,v.b],{name:[0,"name"],back:[1,"back"]},null)],(function(l,n){var e=n.component;l(n,1,0,e.bsModalRef),l(n,7,0,e.discoveryForm),l(n,10,0,e.discoveryForm),l(n,13,0),l(n,22,0,"user"),l(n,25,0,"user"),l(n,27,0,e.discoveryForm.showError("user",t["ɵnov"](n,7),"required")),l(n,29,0,e.discoveryForm.showError("user",t["ɵnov"](n,7),"pattern")),l(n,31,0),l(n,41,0,"password"),l(n,44,0,"password"),l(n,47,0,"password"),l(n,49,0,"password"),l(n,51,0,e.discoveryForm.showError("password",t["ɵnov"](n,7),"required")),l(n,53,0,e.discoveryForm.showError("password",t["ɵnov"](n,7),"pattern")),l(n,55,0),l(n,65,0,"mutual_user"),l(n,68,0,"mutual_user"),l(n,70,0,e.discoveryForm.showError("mutual_user",t["ɵnov"](n,7),"required")),l(n,72,0,e.discoveryForm.showError("mutual_user",t["ɵnov"](n,7),"pattern")),l(n,74,0),l(n,84,0,"mutual_password"),l(n,87,0,"mutual_password"),l(n,90,0,"mutual_password"),l(n,92,0,"mutual_password"),l(n,94,0,e.discoveryForm.showError("mutual_password",t["ɵnov"](n,7),"required")),l(n,96,0,e.discoveryForm.showError("mutual_password",t["ɵnov"](n,7),"pattern")),l(n,100,0,e.hasPermission),l(n,102,0,"Cancel",e.bsModalRef.hide)}),(function(l,n){l(n,5,0,t["ɵnov"](n,9).ngClassUntouched,t["ɵnov"](n,9).ngClassTouched,t["ɵnov"](n,9).ngClassPristine,t["ɵnov"](n,9).ngClassDirty,t["ɵnov"](n,9).ngClassValid,t["ɵnov"](n,9).ngClassInvalid,t["ɵnov"](n,9).ngClassPending),l(n,12,0,t["ɵnov"](n,13).hasErrors,t["ɵnov"](n,13).hasSuccess),l(n,19,0,t["ɵnov"](n,24).ngClassUntouched,t["ɵnov"](n,24).ngClassTouched,t["ɵnov"](n,24).ngClassPristine,t["ɵnov"](n,24).ngClassDirty,t["ɵnov"](n,24).ngClassValid,t["ɵnov"](n,24).ngClassInvalid,t["ɵnov"](n,24).ngClassPending,t["ɵnov"](n,25).validClass,t["ɵnov"](n,25).invalidClass),l(n,30,0,t["ɵnov"](n,31).hasErrors,t["ɵnov"](n,31).hasSuccess),l(n,38,0,t["ɵnov"](n,43).ngClassUntouched,t["ɵnov"](n,43).ngClassTouched,t["ɵnov"](n,43).ngClassPristine,t["ɵnov"](n,43).ngClassDirty,t["ɵnov"](n,43).ngClassValid,t["ɵnov"](n,43).ngClassInvalid,t["ɵnov"](n,43).ngClassPending,t["ɵnov"](n,44).validClass,t["ɵnov"](n,44).invalidClass),l(n,54,0,t["ɵnov"](n,55).hasErrors,t["ɵnov"](n,55).hasSuccess),l(n,62,0,t["ɵnov"](n,67).ngClassUntouched,t["ɵnov"](n,67).ngClassTouched,t["ɵnov"](n,67).ngClassPristine,t["ɵnov"](n,67).ngClassDirty,t["ɵnov"](n,67).ngClassValid,t["ɵnov"](n,67).ngClassInvalid,t["ɵnov"](n,67).ngClassPending,t["ɵnov"](n,68).validClass,t["ɵnov"](n,68).invalidClass),l(n,73,0,t["ɵnov"](n,74).hasErrors,t["ɵnov"](n,74).hasSuccess),l(n,81,0,t["ɵnov"](n,86).ngClassUntouched,t["ɵnov"](n,86).ngClassTouched,t["ɵnov"](n,86).ngClassPristine,t["ɵnov"](n,86).ngClassDirty,t["ɵnov"](n,86).ngClassValid,t["ɵnov"](n,86).ngClassInvalid,t["ɵnov"](n,86).ngClassPending,t["ɵnov"](n,87).validClass,t["ɵnov"](n,87).invalidClass)}))}function q(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"cd-iscsi-target-discovery-modal",[],null,null,null,x,w)),t["ɵdid"](1,114688,null,0,b.a,[C.a,S.a,_.a,y.a,R.a],null,null)],(function(l,n){l(n,1,0)}),null)}var B=t["ɵccf"]("cd-iscsi-target-discovery-modal",b.a,q,{},{},[])},chpi:function(l,n,e){"use strict";e.d(n,"a",(function(){return h}));var t=e("LvDl"),i=e("wd/R"),u=(e("F83c"),e("0+/T")),s=(e("sne2"),e("uIqm"),e("x38r")),a=e("oxzT"),o=e("yJti"),r=e("vCyI"),d=e("kvvV"),c=e("jVDg"),m=(e("a0VL"),e("aexS"),e("VTlA"),e("kn/O"),e("WxU5")),p=e("2GqK");class h{constructor(l,n,e,t,i,u,s,o){this.authStorageService=l,this.rbdService=n,this.modalService=e,this.cdDatePipe=t,this.taskListService=i,this.taskWrapper=u,this.i18n=s,this.actionLabels=o,this.icons=a.a,this.executingTasks=[],this.selection=new r.a,this.disablePurgeBtn=!0,this.permission=this.authStorageService.getPermissions().rbdImage,this.tableActions=[{permission:"update",icon:a.a.undo,click:()=>this.restoreModal(),name:this.actionLabels.RESTORE},{permission:"delete",icon:a.a.destroy,click:()=>this.deleteModal(),name:this.actionLabels.DELETE}]}ngOnInit(){this.columns=[{name:this.i18n("ID"),prop:"id",flexGrow:1,cellTransformation:s.a.executing},{name:this.i18n("Name"),prop:"name",flexGrow:1},{name:this.i18n("Pool"),prop:"pool_name",flexGrow:1},{name:this.i18n("Namespace"),prop:"namespace",flexGrow:1},{name:this.i18n("Status"),prop:"deferment_end_time",flexGrow:1,cellTemplate:this.expiresTpl},{name:this.i18n("Deleted At"),prop:"deletion_time",flexGrow:1,pipe:this.cdDatePipe}],this.taskListService.init(()=>this.rbdService.listTrash(),l=>this.prepareResponse(l),l=>this.images=l,()=>this.onFetchError(),l=>["rbd/trash/remove","rbd/trash/restore"].includes(l.name),(l,n)=>new c.a(l.pool_name,l.namespace,l.id).toString()===n.metadata.image_id_spec,void 0)}prepareResponse(l){let n=[];const e={};l.forEach(l=>{t.isUndefined(e[l.status])&&(e[l.status]=[]),e[l.status].push(l.pool_name),n=n.concat(l.value),this.disablePurgeBtn=!n.length});const u=[];return t.forEach(e,(l,n)=>{u.push({status:parseInt(n,10),statusFor:(l.length>1?"pools ":"pool ")+"<strong>"+l.join("</strong>, <strong>")+"</strong>"})}),this.viewCacheStatusList=u,n.forEach(l=>{l.cdIsExpired=i().isAfter(l.deferment_end_time)}),n}onFetchError(){this.table.reset(),this.viewCacheStatusList=[{status:o.a.ValueException}]}updateSelection(l){this.selection=l}restoreModal(){const l={poolName:this.selection.first().pool_name,namespace:this.selection.first().namespace,imageName:this.selection.first().name,imageId:this.selection.first().id};this.modalRef=this.modalService.show(p.a,{initialState:l})}deleteModal(){const l=this.selection.first().pool_name,n=this.selection.first().namespace,e=this.selection.first().id,t=this.selection.first().deferment_end_time,i=new c.a(l,n,e);this.modalRef=this.modalService.show(u.a,{initialState:{itemDescription:"RBD",itemNames:[i],bodyTemplate:this.deleteTpl,bodyContext:{$implicit:t},submitActionObservable:()=>this.taskWrapper.wrapTaskAroundCall({task:new d.a("rbd/trash/remove",{image_id_spec:i.toString()}),call:this.rbdService.removeTrash(i,!0)})}})}isExpired(l){return i().isAfter(l)}purgeModal(){this.modalService.show(m.a)}}},cxJu:function(l,n,e){"use strict";e.d(n,"a",(function(){return r}));var t=e("quSY"),i=(e("XED3"),e("oxzT")),u=e("vCyI"),s=(e("aexS"),e("SuaG")),a=e("+26A"),o=e("puGn");class r{constructor(l,n,e,s){this.authStorageService=l,this.rbdMirroringService=n,this.modalService=e,this.i18n=s,this.selection=new u.a,this.peersExist=!0,this.subs=new t.a,this.permission=this.authStorageService.getPermissions().rbdMirroring;const a={permission:"update",icon:i.a.edit,click:()=>this.editSiteNameModal(),name:this.i18n("Edit Site Name"),canBePrimary:()=>!0,disable:()=>!1},o={permission:"update",icon:i.a.upload,click:()=>this.createBootstrapModal(),name:this.i18n("Create Bootstrap Token"),disable:()=>!1},r={permission:"update",icon:i.a.download,click:()=>this.importBootstrapModal(),name:this.i18n("Import Bootstrap Token"),disable:()=>this.peersExist};this.tableActions=[a,o,r]}ngOnInit(){this.subs.add(this.rbdMirroringService.startPolling()),this.subs.add(this.rbdMirroringService.subscribeSummary(l=>{l&&(this.status=l.content_data.status,this.siteName=l.site_name,this.peersExist=!!l.content_data.pools.find(l=>l.peer_uuids.length>0))}))}ngOnDestroy(){this.subs.unsubscribe()}editSiteNameModal(){this.modalRef=this.modalService.show(o.a,{initialState:{siteName:this.siteName}})}createBootstrapModal(){this.modalRef=this.modalService.show(s.a,{initialState:{siteName:this.siteName}})}importBootstrapModal(){this.modalRef=this.modalService.show(a.a,{initialState:{siteName:this.siteName}})}}},daK0:function(l,n,e){"use strict";e.d(n,"a",(function(){return o}));var t=e("s7LF"),i=e("XNiG"),u=(e("Ekvf"),e("F83c"),e("mtw6")),s=e("QFaf"),a=e("kvvV");e("aexS"),e("9nlD");class o{constructor(l,n,e,t,i,u){this.modalRef=l,this.authStorageService=n,this.notificationService=e,this.poolService=t,this.rbdService=i,this.i18n=u,this.pools=null,this.editing=!1,this.poolPermission=this.authStorageService.getPermissions().pool,this.createForm()}createForm(){this.namespaceForm=new s.a({pool:new t.i(""),namespace:new t.i("")},this.validator(),this.asyncValidator())}validator(){return l=>{const n=l.get("pool"),e=l.get("namespace");let t=null;n.value||(t={required:!0}),n.setErrors(t);let i=null;return e.value||(i={required:!0}),e.setErrors(i),null}}asyncValidator(){return l=>new Promise(n=>{const e=l.get("pool"),t=l.get("namespace");this.rbdService.listNamespaces(e.value).subscribe(l=>{if(l.some(l=>l.namespace===t.value)){const l={namespaceExists:!0};t.setErrors(l),n(l)}else n(null)})})}ngOnInit(){this.onSubmit=new i.a,this.poolPermission.read&&this.poolService.list(["pool_name","type","application_metadata"]).then(l=>{const n=[];for(const e of l)this.rbdService.isRBDPool(e)&&"replicated"===e.type&&n.push(e);if(this.pools=n,1===this.pools.length){const l=this.pools[0].pool_name;this.namespaceForm.get("pool").setValue(l)}})}submit(){const l=this.namespaceForm.getValue("pool"),n=this.namespaceForm.getValue("namespace"),e=new a.a;e.name="rbd/namespace/create",e.metadata={pool:l,namespace:n},this.rbdService.createNamespace(l,n).toPromise().then(()=>{this.notificationService.show(u.a.success,this.i18n("Created namespace '{{pool}}/{{namespace}}'",{pool:l,namespace:n})),this.modalRef.hide(),this.onSubmit.next()}).catch(()=>{this.namespaceForm.setErrors({cdSubmitButton:!0})})}}},"e/kN":function(l,n,e){"use strict";e.d(n,"a",(function(){return d}));var t=e("LvDl"),i=(e("my5R"),e("0+/T")),u=(e("sne2"),e("uIqm"),e("x38r")),s=e("oxzT"),a=e("vCyI"),o=e("kvvV"),r=(e("+0ag"),e("G1/K"),e("aexS"),e("mSOc"),e("VTlA"),e("kn/O"),e("Sofw"));class d{constructor(l,n,e,i,u,o,r,d,c,m){this.authStorageService=l,this.i18n=n,this.iscsiService=e,this.taskListService=i,this.cephReleaseNamePipe=u,this.notAvailablePipe=o,this.summaryservice=r,this.modalService=d,this.taskWrapper=c,this.actionLabels=m,this.available=void 0,this.selection=new a.a,this.targets=[],this.icons=s.a,this.builders={"iscsi/target/create":l=>({target_iqn:l.target_iqn})},this.permission=this.authStorageService.getPermissions().iscsi,this.tableActions=[{permission:"create",icon:s.a.add,routerLink:()=>"/block/iscsi/targets/create",name:this.actionLabels.CREATE},{permission:"update",icon:s.a.edit,routerLink:()=>`/block/iscsi/targets/edit/${this.selection.first().target_iqn}`,name:this.actionLabels.EDIT,disable:()=>!this.selection.first()||!t.isUndefined(this.getDeleteDisableDesc()),disableDesc:()=>this.getEditDisableDesc()},{permission:"delete",icon:s.a.destroy,click:()=>this.deleteIscsiTargetModal(),name:this.actionLabels.DELETE,disable:()=>!this.selection.first()||!t.isUndefined(this.getDeleteDisableDesc()),disableDesc:()=>this.getDeleteDisableDesc()}]}ngOnInit(){this.columns=[{name:this.i18n("Target"),prop:"target_iqn",flexGrow:2,cellTransformation:u.a.executing},{name:this.i18n("Portals"),prop:"cdPortals",flexGrow:2},{name:this.i18n("Images"),prop:"cdImages",flexGrow:2},{name:this.i18n("# Sessions"),prop:"info.num_sessions",pipe:this.notAvailablePipe,flexGrow:1}],this.iscsiService.status().subscribe(l=>{if(this.available=l.available,l.available)this.iscsiService.version().subscribe(l=>{this.cephIscsiConfigVersion=l.ceph_iscsi_config_version,this.taskListService.init(()=>this.iscsiService.listTargets(),l=>this.prepareResponse(l),l=>this.targets=l,()=>this.onFetchError(),this.taskFilter,this.itemFilter,this.builders)}),this.iscsiService.settings().subscribe(l=>{this.settings=l});else{const n=this.summaryservice.getCurrentSummary(),e=this.cephReleaseNamePipe.transform(n.version);this.docsUrl=`http://docs.ceph.com/docs/${e}/mgr/dashboard/#enabling-iscsi-management`,this.status=l.message}})}ngOnDestroy(){this.summaryDataSubscription&&this.summaryDataSubscription.unsubscribe()}getEditDisableDesc(){const l=this.selection.first();return l&&l.cdExecuting?l.cdExecuting:l&&t.isUndefined(l.info)?this.i18n("Unavailable gateway(s)"):void 0}getDeleteDisableDesc(){const l=this.selection.first();return l&&l.cdExecuting?l.cdExecuting:l&&t.isUndefined(l.info)?this.i18n("Unavailable gateway(s)"):l&&l.info&&l.info.num_sessions?this.i18n("Target has active sessions"):void 0}prepareResponse(l){return l.forEach(l=>{l.cdPortals=l.portals.map(l=>`${l.host}:${l.ip}`),l.cdImages=l.disks.map(l=>`${l.pool}/${l.image}`)}),l}onFetchError(){this.table.reset()}itemFilter(l,n){return l.target_iqn===n.metadata.target_iqn}taskFilter(l){return["iscsi/target/create","iscsi/target/edit","iscsi/target/delete"].includes(l.name)}updateSelection(l){this.selection=l}deleteIscsiTargetModal(){const l=this.selection.first().target_iqn;this.modalRef=this.modalService.show(i.a,{initialState:{itemDescription:this.i18n("iSCSI target"),itemNames:[l],submitActionObservable:()=>this.taskWrapper.wrapTaskAroundCall({task:new o.a("iscsi/target/delete",{target_iqn:l}),call:this.iscsiService.deleteTarget(l)})}})}configureDiscoveryAuth(){this.modalService.show(r.a,{})}}},eF8U:function(l,n,e){"use strict";var t=e("8Y7J"),i=e("s7LF"),u=e("+gVj"),s=e("SVse"),a=e("mXUL");e("jMP8"),e.d(n,"a",(function(){return o})),e.d(n,"b",(function(){return v}));var o=t["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function r(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),t["ɵdid"](1,147456,null,0,i.v,[t.ElementRef,t.Renderer2,[2,i.A]],{ngValue:[0,"ngValue"]},null),t["ɵdid"](2,147456,null,0,i.F,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),t["ɵted"](3,null,["",""]))],(function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)}),(function(l,n){l(n,3,0,n.context.$implicit)}))}function d(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,11,"select",[["class","form-control custom-select"]],[[8,"id",0],[8,"name",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,e){var i=!0;return"change"===n&&(i=!1!==t["ɵnov"](l,1).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,1).onTouched()&&i),i}),null,null)),t["ɵdid"](1,16384,null,0,i.A,[t.Renderer2,t.ElementRef],null,null),t["ɵprd"](1024,null,i.p,(function(l){return[l]}),[i.A]),t["ɵdid"](3,671744,[[1,4]],0,i.j,[[3,i.d],[8,null],[8,null],[6,i.p],[2,i.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,i.q,null,[i.j]),t["ɵdid"](5,16384,null,0,i.r,[[4,i.q]],null,null),t["ɵdid"](6,16384,null,0,u.h,[[3,i.d],u.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵeld"](7,0,null,null,2,"option",[],null,null,null,null,null)),t["ɵdid"](8,147456,null,0,i.v,[t.ElementRef,t.Renderer2,[2,i.A]],{ngValue:[0,"ngValue"]},null),t["ɵdid"](9,147456,null,0,i.F,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,r)),t["ɵdid"](11,278528,null,0,s.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(l,n){var e=n.component;l(n,3,0,e.setting),l(n,6,0,e.setting),l(n,8,0,null),l(n,9,0,null),l(n,11,0,e.limits.values)}),(function(l,n){var e=n.component;l(n,0,1,[t["ɵinlineInterpolate"](1,"",e.setting,""),t["ɵinlineInterpolate"](1,"",e.setting,""),t["ɵnov"](n,5).ngClassUntouched,t["ɵnov"](n,5).ngClassTouched,t["ɵnov"](n,5).ngClassPristine,t["ɵnov"](n,5).ngClassDirty,t["ɵnov"](n,5).ngClassValid,t["ɵnov"](n,5).ngClassInvalid,t["ɵnov"](n,5).ngClassPending,t["ɵnov"](n,6).validClass,t["ɵnov"](n,6).invalidClass])}))}function c(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,7,"input",[["class","form-control"],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,1)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,1).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,1)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,1)._compositionEnd(e.target.value)&&i),"change"===n&&(i=!1!==t["ɵnov"](l,2).onChange(e.target.value)&&i),"input"===n&&(i=!1!==t["ɵnov"](l,2).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,2).onTouched()&&i),i}),null,null)),t["ɵdid"](1,16384,null,0,i.e,[t.Renderer2,t.ElementRef,[2,i.b]],null,null),t["ɵdid"](2,16384,null,0,i.w,[t.Renderer2,t.ElementRef],null,null),t["ɵprd"](1024,null,i.p,(function(l,n){return[l,n]}),[i.e,i.w]),t["ɵdid"](4,671744,[[1,4]],0,i.j,[[3,i.d],[8,null],[8,null],[6,i.p],[2,i.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,i.q,null,[i.j]),t["ɵdid"](6,16384,null,0,i.r,[[4,i.q]],null,null),t["ɵdid"](7,16384,null,0,u.h,[[3,i.d],u.a],{formControlName:[0,"formControlName"]},null)],(function(l,n){var e=n.component;l(n,4,0,e.setting),l(n,7,0,e.setting)}),(function(l,n){l(n,0,0,t["ɵnov"](n,6).ngClassUntouched,t["ɵnov"](n,6).ngClassTouched,t["ɵnov"](n,6).ngClassPristine,t["ɵnov"](n,6).ngClassDirty,t["ɵnov"](n,6).ngClassValid,t["ɵnov"](n,6).ngClassInvalid,t["ɵnov"](n,6).ngClassPending,t["ɵnov"](n,7).validClass,t["ɵnov"](n,7).invalidClass)}))}function m(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,6,"input",[["class","form-control"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,1)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,1).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,1)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,1)._compositionEnd(e.target.value)&&i),i}),null,null)),t["ɵdid"](1,16384,null,0,i.e,[t.Renderer2,t.ElementRef,[2,i.b]],null,null),t["ɵprd"](1024,null,i.p,(function(l){return[l]}),[i.e]),t["ɵdid"](3,671744,[[1,4]],0,i.j,[[3,i.d],[8,null],[8,null],[6,i.p],[2,i.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,i.q,null,[i.j]),t["ɵdid"](5,16384,null,0,i.r,[[4,i.q]],null,null),t["ɵdid"](6,16384,null,0,u.h,[[3,i.d],u.a],{formControlName:[0,"formControlName"]},null)],(function(l,n){var e=n.component;l(n,3,0,e.setting),l(n,6,0,e.setting)}),(function(l,n){l(n,0,0,t["ɵnov"](n,5).ngClassUntouched,t["ɵnov"](n,5).ngClassTouched,t["ɵnov"](n,5).ngClassPristine,t["ɵnov"](n,5).ngClassDirty,t["ɵnov"](n,5).ngClassValid,t["ɵnov"](n,5).ngClassInvalid,t["ɵnov"](n,5).ngClassPending,t["ɵnov"](n,6).validClass,t["ɵnov"](n,6).invalidClass)}))}function p(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,23,null,null,null,null,null,null,null)),(l()(),t["ɵeld"](1,0,null,null,0,"br",[],null,null,null,null,null)),(l()(),t["ɵeld"](2,0,null,null,10,"div",[["class","custom-control custom-radio custom-control-inline"]],null,null,null,null,null)),(l()(),t["ɵeld"](3,0,null,null,7,"input",[["class","custom-control-input"],["type","radio"]],[[8,"id",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,4)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,4).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,4)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,4)._compositionEnd(e.target.value)&&i),"change"===n&&(i=!1!==t["ɵnov"](l,5).onChange()&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,5).onTouched()&&i),i}),null,null)),t["ɵdid"](4,16384,null,0,i.e,[t.Renderer2,t.ElementRef,[2,i.b]],null,null),t["ɵdid"](5,212992,null,0,i.x,[t.Renderer2,t.ElementRef,i.D,t.Injector],{formControlName:[0,"formControlName"],value:[1,"value"]},null),t["ɵprd"](1024,null,i.p,(function(l,n){return[l,n]}),[i.e,i.x]),t["ɵdid"](7,671744,[[1,4]],0,i.j,[[3,i.d],[8,null],[8,null],[6,i.p],[2,i.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,i.q,null,[i.j]),t["ɵdid"](9,16384,null,0,i.r,[[4,i.q]],null,null),t["ɵdid"](10,16384,null,0,u.h,[[3,i.d],u.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵeld"](11,0,null,null,1,"label",[["class","custom-control-label"]],[[8,"htmlFor",0]],null,null,null,null)),(l()(),t["ɵted"](-1,null,["Yes"])),(l()(),t["ɵeld"](13,0,null,null,10,"div",[["class","custom-control custom-radio custom-control-inline"]],null,null,null,null,null)),(l()(),t["ɵeld"](14,0,null,null,7,"input",[["class","custom-control-input"],["type","radio"]],[[8,"id",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,15)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,15).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,15)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,15)._compositionEnd(e.target.value)&&i),"change"===n&&(i=!1!==t["ɵnov"](l,16).onChange()&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,16).onTouched()&&i),i}),null,null)),t["ɵdid"](15,16384,null,0,i.e,[t.Renderer2,t.ElementRef,[2,i.b]],null,null),t["ɵdid"](16,212992,null,0,i.x,[t.Renderer2,t.ElementRef,i.D,t.Injector],{formControlName:[0,"formControlName"],value:[1,"value"]},null),t["ɵprd"](1024,null,i.p,(function(l,n){return[l,n]}),[i.e,i.x]),t["ɵdid"](18,671744,[[1,4]],0,i.j,[[3,i.d],[8,null],[8,null],[6,i.p],[2,i.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,i.q,null,[i.j]),t["ɵdid"](20,16384,null,0,i.r,[[4,i.q]],null,null),t["ɵdid"](21,16384,null,0,u.h,[[3,i.d],u.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵeld"](22,0,null,null,1,"label",[["class","custom-control-label"]],[[8,"htmlFor",0]],null,null,null,null)),(l()(),t["ɵted"](-1,null,["No"]))],(function(l,n){var e=n.component;l(n,5,0,e.setting,!0),l(n,7,0,e.setting),l(n,10,0,e.setting),l(n,16,0,e.setting,!1),l(n,18,0,e.setting),l(n,21,0,e.setting)}),(function(l,n){var e=n.component;l(n,3,0,e.setting+"True",t["ɵnov"](n,9).ngClassUntouched,t["ɵnov"](n,9).ngClassTouched,t["ɵnov"](n,9).ngClassPristine,t["ɵnov"](n,9).ngClassDirty,t["ɵnov"](n,9).ngClassValid,t["ɵnov"](n,9).ngClassInvalid,t["ɵnov"](n,9).ngClassPending,t["ɵnov"](n,10).validClass,t["ɵnov"](n,10).invalidClass),l(n,11,0,e.setting+"True"),l(n,14,0,e.setting+"False",t["ɵnov"](n,20).ngClassUntouched,t["ɵnov"](n,20).ngClassTouched,t["ɵnov"](n,20).ngClassPristine,t["ɵnov"](n,20).ngClassDirty,t["ɵnov"](n,20).ngClassValid,t["ɵnov"](n,20).ngClassInvalid,t["ɵnov"](n,20).ngClassPending,t["ɵnov"](n,21).validClass,t["ɵnov"](n,21).invalidClass),l(n,22,0,e.setting+"False")}))}function h(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,6,"span",[],null,null,null,null,null)),(l()(),t["ɵand"](16777216,null,null,1,null,c)),t["ɵdid"](2,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,m)),t["ɵdid"](4,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,p)),t["ɵdid"](6,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var e=n.component;l(n,2,0,"int"===e.limits.type),l(n,4,0,"str"===e.limits.type),l(n,6,0,"bool"===e.limits.type)}),null)}function g(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,2,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵeld"](1,0,null,null,1,null,null,null,null,null,null,null)),(l()(),t["ɵted"](2,null,["Must be greater than or equal to ","."]))],null,(function(l,n){l(n,2,0,n.component.limits.min)}))}function f(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,2,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵeld"](1,0,null,null,1,null,null,null,null,null,null,null)),(l()(),t["ɵted"](2,null,["Must be less than or equal to ","."]))],null,(function(l,n){l(n,2,0,n.component.limits.max)}))}function v(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,17,"div",[["class","form-group"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"has-error",null],[2,"has-success",null]],[[null,"submit"],[null,"reset"]],(function(l,n,e){var i=!0;return"submit"===n&&(i=!1!==t["ɵnov"](l,1).onSubmit(e)&&i),"reset"===n&&(i=!1!==t["ɵnov"](l,1).onReset()&&i),"submit"===n&&(i=!1!==t["ɵnov"](l,4).onSubmit()&&i),i}),a.b,a.a)),t["ɵdid"](1,540672,null,0,i.l,[[8,null],[8,null]],{form:[0,"form"]},null),t["ɵprd"](2048,null,i.d,null,[i.l]),t["ɵdid"](3,16384,null,0,i.s,[[4,i.d]],null,null),t["ɵdid"](4,16384,null,0,u.d,[],{formGroup:[0,"formGroup"]},null),t["ɵdid"](5,1163264,null,2,u.c,[t.ElementRef,u.g],null,null),t["ɵqud"](603979776,1,{FormControlNames:1}),t["ɵqud"](603979776,2,{messagesBlock:0}),(l()(),t["ɵeld"](8,0,null,0,1,"label",[["class","col-form-label"]],[[8,"htmlFor",0]],null,null,null,null)),(l()(),t["ɵted"](9,null,["",""])),(l()(),t["ɵand"](16777216,null,0,1,null,d)),t["ɵdid"](11,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](16777216,null,0,1,null,h)),t["ɵdid"](13,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](16777216,null,0,1,null,g)),t["ɵdid"](15,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](16777216,null,0,1,null,f)),t["ɵdid"](17,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var e=n.component;l(n,1,0,e.settingsForm),l(n,4,0,e.settingsForm),l(n,5,0),l(n,11,0,"enum"===e.limits.type),l(n,13,0,"enum"!==e.limits.type),l(n,15,0,e.settingsForm.showError(e.setting,e.formDir,"min")),l(n,17,0,e.settingsForm.showError(e.setting,e.formDir,"max"))}),(function(l,n){var e=n.component;l(n,0,0,t["ɵnov"](n,3).ngClassUntouched,t["ɵnov"](n,3).ngClassTouched,t["ɵnov"](n,3).ngClassPristine,t["ɵnov"](n,3).ngClassDirty,t["ɵnov"](n,3).ngClassValid,t["ɵnov"](n,3).ngClassInvalid,t["ɵnov"](n,3).ngClassPending,t["ɵnov"](n,5).hasErrors,t["ɵnov"](n,5).hasSuccess),l(n,8,0,t["ɵinlineInterpolate"](1,"",e.setting,"")),l(n,9,0,e.setting)}))}},gr3l:function(l,n,e){"use strict";e.d(n,"a",(function(){return h}));var t=e("s7LF"),i=e("LvDl"),u=e("cp0P"),s=(e("my5R"),e("F83c"),e("DNAf")),a=e("a96k"),o=(e("sne2"),e("oxzT")),r=e("QFaf"),d=e("1Ni5"),c=e("kvvV"),m=(e("kn/O"),e("Z4cD")),p=e("a6qe");class h{constructor(l,n,e,t,i,u,a,r){this.iscsiService=l,this.modalService=n,this.rbdService=e,this.router=t,this.route=i,this.i18n=u,this.taskWrapper=a,this.actionLabels=r,this.api_version=0,this.minimum_gateways=1,this.icons=o.a,this.isEdit=!1,this.portalsSelections=[],this.imagesInitiatorSelections=[],this.groupDiskSelections=[],this.groupMembersSelections=[],this.imagesSettings={},this.messages={portals:new s.a({noOptions:this.i18n("There are no portals available.")},this.i18n),images:new s.a({noOptions:this.i18n("There are no images available.")},this.i18n),initiatorImage:new s.a({noOptions:this.i18n("There are no images available. Please make sure you add an image to the target.")},this.i18n),groupInitiator:new s.a({noOptions:this.i18n("There are no initiators available. Please make sure you add an initiator to the target.")},this.i18n)},this.IQN_REGEX=/^iqn\.(19|20)\d\d-(0[1-9]|1[0-2])\.\D{2,3}(\.[A-Za-z0-9-]+)+(:[A-Za-z0-9-\.]+)*$/,this.USER_REGEX=/^[\w\.:@_-]{8,64}$/,this.PASSWORD_REGEX=/^[\w@\-_\/]{12,16}$/,this.resource=this.i18n("target")}ngOnInit(){const l=[this.iscsiService.listTargets(),this.rbdService.list(),this.iscsiService.portals(),this.iscsiService.settings(),this.iscsiService.version()];this.router.url.startsWith("/block/iscsi/targets/edit")&&(this.isEdit=!0,this.route.params.subscribe(n=>{this.target_iqn=decodeURIComponent(n.target_iqn),l.push(this.iscsiService.getTarget(this.target_iqn))})),this.action=this.isEdit?this.actionLabels.EDIT:this.actionLabels.CREATE,Object(u.a)(l).subscribe(l=>{const n=i(l[0]).filter(l=>l.target_iqn!==this.target_iqn).flatMap(l=>l.disks).map(l=>`${l.pool}/${l.image}`).value();"api_version"in l[3]&&(this.api_version=l[3].api_version),this.minimum_gateways=l[3].config.minimum_gateways,this.target_default_controls=l[3].target_default_controls,this.target_controls_limits=l[3].target_controls_limits,this.disk_default_controls=l[3].disk_default_controls,this.disk_controls_limits=l[3].disk_controls_limits,this.backstores=l[3].backstores,this.default_backstore=l[3].default_backstore,this.unsupported_rbd_features=l[3].unsupported_rbd_features,this.required_rbd_features=l[3].required_rbd_features,this.imagesAll=i(l[1]).flatMap(l=>l.value).filter(l=>!l.namespace&&-1===n.indexOf(`${l.pool_name}/${l.name}`)&&0!==this.getValidBackstores(l).length).value(),this.imagesSelections=this.imagesAll.map(l=>new a.a(!1,`${l.pool_name}/${l.name}`,""));const e=[];l[2].forEach(l=>{l.ip_addresses.forEach(n=>{e.push(new a.a(!1,l.name+":"+n,""))})}),this.portalsSelections=[...e],this.cephIscsiConfigVersion=l[4].ceph_iscsi_config_version,this.createForm(),l[5]&&this.resolveModel(l[5])})}createForm(){if(this.targetForm=new r.a({target_iqn:new t.i("iqn.2001-07.com.ceph:"+Date.now(),{validators:[t.B.required,t.B.pattern(this.IQN_REGEX)]}),target_controls:new t.i({}),portals:new t.i([],{validators:[d.a.custom("minGateways",l=>i.uniq(l.map(l=>l.split(":")[0])).length<Math.max(1,this.minimum_gateways))]}),disks:new t.i([],{validators:[d.a.custom("dupLunId",l=>{const n=this.getLunIds(l);return n.length!==i.uniq(n).length}),d.a.custom("dupWwn",l=>{const n=this.getWwns(l);return n.length!==i.uniq(n).length})]}),initiators:new t.f([]),groups:new t.f([]),acl_enabled:new t.i(!1)}),this.cephIscsiConfigVersion>10){const l=new r.a({user:new t.i(""),password:new t.i(""),mutual_user:new t.i(""),mutual_password:new t.i("")});this.setAuthValidator(l),this.targetForm.addControl("auth",l)}}resolveModel(l){this.targetForm.patchValue({target_iqn:l.target_iqn,target_controls:l.target_controls,acl_enabled:l.acl_enabled}),this.cephIscsiConfigVersion>10&&this.targetForm.patchValue({auth:l.auth});const n=[];i.forEach(l.portals,l=>{n.push(`${l.host}:${l.ip}`)}),this.targetForm.patchValue({portals:n});const e=[];i.forEach(l.disks,l=>{const n=`${l.pool}/${l.image}`;e.push(n),this.imagesSettings[n]={backstore:l.backstore},this.imagesSettings[n][l.backstore]=l.controls,"lun"in l&&(this.imagesSettings[n].lun=l.lun),"wwn"in l&&(this.imagesSettings[n].wwn=l.wwn),this.onImageSelection({option:{name:n,selected:!0}})}),this.targetForm.patchValue({disks:e}),i.forEach(l.clients,l=>{const n=this.addInitiator();l.luns=i.map(l.luns,l=>`${l.pool}/${l.image}`),n.patchValue(l)}),i.forEach(l.groups,l=>{const n=this.addGroup();l.disks=i.map(l.disks,l=>`${l.pool}/${l.image}`),n.patchValue(l),i.forEach(l.members,l=>{this.onGroupMemberSelection({option:new a.a(!0,l,"")})})})}hasAdvancedSettings(l){return Object.values(l).length>0}get portals(){return this.targetForm.get("portals")}onPortalSelection(){this.portals.setValue(this.portals.value)}removePortal(l,n){return this.portalsSelections.forEach(l=>{l.name===n&&(l.selected=!1)}),this.portals.value.splice(l,1),this.portals.setValue(this.portals.value),!1}get disks(){return this.targetForm.get("disks")}removeImage(l,n){return this.imagesSelections.forEach(l=>{l.name===n&&(l.selected=!1)}),this.disks.value.splice(l,1),this.removeImageRefs(n),this.targetForm.get("disks").updateValueAndValidity({emitEvent:!1}),!1}removeImageRefs(l){this.initiators.controls.forEach(n=>{const e=n.value.luns.filter(n=>n!==l);n.get("luns").setValue(e)}),this.groups.controls.forEach(n=>{const e=n.value.disks.filter(n=>n!==l);n.get("disks").setValue(e)}),i.forEach(this.imagesInitiatorSelections,(n,e)=>{this.imagesInitiatorSelections[e]=n.filter(n=>n.name!==l)}),i.forEach(this.groupDiskSelections,(n,e)=>{this.groupDiskSelections[e]=n.filter(n=>n.name!==l)})}getDefaultBackstore(l){let n=this.default_backstore;const e=this.getImageById(l);return this.validFeatures(e,this.default_backstore)||this.backstores.forEach(l=>{l!==this.default_backstore&&this.validFeatures(e,l)&&(n=l)}),n}isLunIdInUse(l,n){const e=this.disks.value.filter(l=>l!==n);return this.getLunIds(e).includes(l)}getLunIds(l){return i.map(l,l=>this.imagesSettings[l].lun)}nextLunId(l){const n=this.disks.value.filter(n=>n!==l),e=this.getLunIds(n);let t=0;for(;e.includes(t);)t++;return t}getWwns(l){return i.map(l,l=>this.imagesSettings[l].wwn).filter(l=>i.isString(l)&&""!==l)}onImageSelection(l){const n=l.option;if(n.selected){if(this.imagesSettings[n.name])this.isLunIdInUse(this.imagesSettings[n.name].lun,n.name)&&(this.imagesSettings[n.name].lun=this.nextLunId(n.name));else{const l=this.getDefaultBackstore(n.name);this.imagesSettings[n.name]={backstore:l,lun:this.nextLunId(n.name)},this.imagesSettings[n.name][l]={}}i.forEach(this.imagesInitiatorSelections,(l,e)=>{l.push(new a.a(!1,n.name,"")),this.imagesInitiatorSelections[e]=[...l]}),i.forEach(this.groupDiskSelections,(l,e)=>{l.push(new a.a(!1,n.name,"")),this.groupDiskSelections[e]=[...l]})}else this.removeImageRefs(n.name);this.targetForm.get("disks").updateValueAndValidity({emitEvent:!1})}get initiators(){return this.targetForm.get("initiators")}addInitiator(){const l=new r.a({client_iqn:new t.i("",{validators:[t.B.required,d.a.custom("notUnique",l=>{const n=this.initiators.controls.reduce((function(l,n){return l.concat(n.value.client_iqn)}),[]);return n.indexOf(l)!==n.lastIndexOf(l)}),t.B.pattern(this.IQN_REGEX)]}),auth:new r.a({user:new t.i(""),password:new t.i(""),mutual_user:new t.i(""),mutual_password:new t.i("")}),luns:new t.i([]),cdIsInGroup:new t.i(!1)});this.setAuthValidator(l),this.initiators.push(l),i.forEach(this.groupMembersSelections,(l,n)=>{l.push(new a.a(!1,"","")),this.groupMembersSelections[n]=[...l]});const n=i.map(this.targetForm.getValue("disks"),l=>new a.a(!1,l,""));return this.imagesInitiatorSelections.push(n),l}setAuthValidator(l){d.a.validateIf(l.get("user"),()=>l.getValue("password")||l.getValue("mutual_user")||l.getValue("mutual_password"),[t.B.required],[t.B.pattern(this.USER_REGEX)],[l.get("password"),l.get("mutual_user"),l.get("mutual_password")]),d.a.validateIf(l.get("password"),()=>l.getValue("user")||l.getValue("mutual_user")||l.getValue("mutual_password"),[t.B.required],[t.B.pattern(this.PASSWORD_REGEX)],[l.get("user"),l.get("mutual_user"),l.get("mutual_password")]),d.a.validateIf(l.get("mutual_user"),()=>l.getValue("mutual_password"),[t.B.required],[t.B.pattern(this.USER_REGEX)],[l.get("user"),l.get("password"),l.get("mutual_password")]),d.a.validateIf(l.get("mutual_password"),()=>l.getValue("mutual_user"),[t.B.required],[t.B.pattern(this.PASSWORD_REGEX)],[l.get("user"),l.get("password"),l.get("mutual_user")])}removeInitiator(l){const n=this.initiators.value[l];this.initiators.removeAt(l),i.forEach(this.groupMembersSelections,(n,e)=>{n.splice(l,1),this.groupMembersSelections[e]=[...n]}),this.groups.controls.forEach(l=>{const e=l.value.members.filter(l=>l!==n.client_iqn);l.get("members").setValue(e)}),this.imagesInitiatorSelections.splice(l,1)}updatedInitiatorSelector(){this.initiators.controls.forEach(l=>{l.get("client_iqn").updateValueAndValidity({emitEvent:!1})}),i.forEach(this.groupMembersSelections,(l,n)=>{i.forEach(l,(l,n)=>{const e=l.name;l.name=this.initiators.controls[n].value.client_iqn,this.groups.controls.forEach(n=>{const t=n.value.members,i=t.indexOf(e);-1!==i&&(t[i]=l.name),n.get("members").setValue(t)})}),this.groupMembersSelections[n]=[...this.groupMembersSelections[n]]})}removeInitiatorImage(l,n,e,t){const i=l.getValue("luns");return i.splice(n,1),l.patchValue({luns:i}),this.imagesInitiatorSelections[e].forEach(l=>{l.name===t&&(l.selected=!1)}),!1}get groups(){return this.targetForm.get("groups")}addGroup(){const l=new r.a({group_id:new t.i("",{validators:[t.B.required]}),members:new t.i([]),disks:new t.i([])});this.groups.push(l);const n=i.map(this.targetForm.getValue("disks"),l=>new a.a(!1,l,""));this.groupDiskSelections.push(n);const e=i.map(this.initiators.value,l=>new a.a(!1,l.client_iqn,"",!l.cdIsInGroup));return this.groupMembersSelections.push(e),l}removeGroup(l){this.groups.removeAt(l),this.groupDiskSelections.splice(l,1)}onGroupMemberSelection(l){const n=l.option;let e;this.initiators.controls.forEach((l,t)=>{l.value.client_iqn===n.name&&(l.patchValue({luns:[]}),l.get("cdIsInGroup").setValue(n.selected),e=t)}),i.forEach(this.groupMembersSelections,l=>{l[e].enabled=!n.selected})}removeGroupInitiator(l,n,e){const t=l.getValue("members")[n];l.getValue("members").splice(n,1),this.groupMembersSelections[e].forEach(l=>{l.name===t&&(l.selected=!1)}),this.groupMembersSelections[e]=[...this.groupMembersSelections[e]],this.onGroupMemberSelection({option:new a.a(!1,t,"")})}removeGroupDisk(l,n,e){const t=l.getValue("disks")[n];l.getValue("disks").splice(n,1),this.groupDiskSelections[e].forEach(l=>{l.name===t&&(l.selected=!1)}),this.groupDiskSelections[e]=[...this.groupDiskSelections[e]]}submit(){const l=i.cloneDeep(this.targetForm.value),n={target_iqn:this.targetForm.getValue("target_iqn"),target_controls:this.targetForm.getValue("target_controls"),acl_enabled:this.targetForm.getValue("acl_enabled"),portals:[],disks:[],clients:[],groups:[]};if(this.cephIscsiConfigVersion>10){const l=this.targetForm.get("auth");l.getValue("user")||l.get("user").setValue(""),l.getValue("password")||l.get("password").setValue(""),l.getValue("mutual_user")||l.get("mutual_user").setValue(""),l.getValue("mutual_password")||l.get("mutual_password").setValue("");const e=this.targetForm.getValue("acl_enabled");n.auth={user:e?"":l.getValue("user"),password:e?"":l.getValue("password"),mutual_user:e?"":l.getValue("mutual_user"),mutual_password:e?"":l.getValue("mutual_password")}}let e;l.disks.forEach(l=>{const e=l.split("/"),t=this.imagesSettings[l].backstore;n.disks.push({pool:e[0],image:e[1],backstore:t,controls:this.imagesSettings[l][t],lun:this.imagesSettings[l].lun,wwn:this.imagesSettings[l].wwn})}),l.portals.forEach(l=>{const e=l.indexOf(":");n.portals.push({host:l.substring(0,e),ip:l.substring(e+1)})}),n.acl_enabled&&(l.initiators.forEach(l=>{l.auth.user||(l.auth.user=""),l.auth.password||(l.auth.password=""),l.auth.mutual_user||(l.auth.mutual_user=""),l.auth.mutual_password||(l.auth.mutual_password=""),delete l.cdIsInGroup;const n=[];l.luns.forEach(l=>{const e=l.split("/");n.push({pool:e[0],image:e[1]})}),l.luns=n}),n.clients=l.initiators),n.acl_enabled&&(l.groups.forEach(l=>{const n=[];l.disks.forEach(l=>{const e=l.split("/");n.push({pool:e[0],image:e[1]})}),l.disks=n}),n.groups=l.groups),this.isEdit?(n.new_target_iqn=n.target_iqn,n.target_iqn=this.target_iqn,e=this.taskWrapper.wrapTaskAroundCall({task:new c.a("iscsi/target/edit",{target_iqn:n.target_iqn}),call:this.iscsiService.updateTarget(this.target_iqn,n)})):e=this.taskWrapper.wrapTaskAroundCall({task:new c.a("iscsi/target/create",{target_iqn:n.target_iqn}),call:this.iscsiService.createTarget(n)}),e.subscribe(void 0,()=>{this.targetForm.setErrors({cdSubmitButton:!0})},()=>this.router.navigate(["/block/iscsi/targets"]))}targetSettingsModal(){const l={target_controls:this.targetForm.get("target_controls"),target_default_controls:this.target_default_controls,target_controls_limits:this.target_controls_limits};this.modalRef=this.modalService.show(p.a,{initialState:l})}imageSettingsModal(l){const n={imagesSettings:this.imagesSettings,image:l,api_version:this.api_version,disk_default_controls:this.disk_default_controls,disk_controls_limits:this.disk_controls_limits,backstores:this.getValidBackstores(this.getImageById(l)),control:this.targetForm.get("disks")};this.modalRef=this.modalService.show(m.a,{initialState:n})}validFeatures(l,n){const e=l.features,t=this.required_rbd_features[n];return(e&t)===t&&0==(e&this.unsupported_rbd_features[n])}getImageById(l){return this.imagesAll.find(n=>l===`${n.pool_name}/${n.name}`)}getValidBackstores(l){return this.backstores.filter(n=>this.validFeatures(l,n))}}},jMP8:function(l,n,e){"use strict";e.d(n,"a",(function(){return i}));var t=e("s7LF");e("QFaf");class i{ngOnInit(){const l=[];"min"in this.limits&&l.push(t.B.min(this.limits.min)),"max"in this.limits&&l.push(t.B.max(this.limits.max)),this.settingsForm.get(this.setting).setValidators(l)}}},"k/xb":function(l,n,e){"use strict";e.d(n,"a",(function(){return i})),e.d(n,"b",(function(){return S})),e.d(n,"c",(function(){return u})),e.d(n,"d",(function(){return s})),e.d(n,"j",(function(){return a})),e.d(n,"k",(function(){return o})),e.d(n,"l",(function(){return r})),e.d(n,"m",(function(){return d})),e.d(n,"n",(function(){return c})),e.d(n,"o",(function(){return m})),e.d(n,"p",(function(){return p})),e.d(n,"q",(function(){return h})),e.d(n,"e",(function(){return g})),e.d(n,"f",(function(){return f})),e.d(n,"g",(function(){return v})),e.d(n,"h",(function(){return b})),e.d(n,"i",(function(){return C}));var t=e("sne2");e("Vhfg"),e("gr3l"),e("e/kN"),e("roDX"),e("cxJu"),e("MyVl"),e("5GyT"),e("Z5tW"),e("WkyA"),e("chpi");class i{}const u={breadcrumbs:"Images"},s={breadcrumbs:"Namespaces"},a={breadcrumbs:"Trash"},o={breadcrumbs:"Overall Performance"},r={breadcrumbs:t.a.CREATE},d={breadcrumbs:t.a.EDIT},c={breadcrumbs:t.a.CLONE},m={breadcrumbs:t.a.COPY},p={breadcrumbs:t.a.COPY},h={breadcrumbs:"Mirroring"},g={breadcrumbs:"iSCSI"},f={breadcrumbs:"Overview"},v={breadcrumbs:"Targets"},b={breadcrumbs:t.a.CREATE},C={breadcrumbs:t.a.EDIT};class S{}},kccj:function(l,n,e){"use strict";e.d(n,"a",(function(){return t}));class t{}},l7Jr:function(l,n,e){"use strict";var t=e("8Y7J"),i=e("mXUL"),u=e("+gVj"),s=e("eF8U"),a=e("jMP8"),o=e("EEJc"),r=e("ajRT"),d=e("s7LF"),c=e("SVse"),m=e("gp3X"),p=e("sb0X"),h=e("KVJa"),g=e("Z21x"),f=e("sne2"),v=e("a6qe"),b=e("LqlI"),C=e("my5R");e.d(n,"a",(function(){return w}));var S=t["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function _(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,6,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,i.b,i.a)),t["ɵdid"](1,1163264,null,2,u.c,[t.ElementRef,u.g],null,null),t["ɵqud"](603979776,1,{FormControlNames:1}),t["ɵqud"](603979776,2,{messagesBlock:0}),(l()(),t["ɵeld"](4,0,null,0,2,"div",[["class","col-sm-12"]],null,null,null,null,null)),(l()(),t["ɵeld"](5,0,null,null,1,"cd-iscsi-setting",[],null,null,null,s.b,s.a)),t["ɵdid"](6,114688,null,0,a.a,[],{settingsForm:[0,"settingsForm"],formDir:[1,"formDir"],setting:[2,"setting"],limits:[3,"limits"]},null)],(function(l,n){var e=n.component;l(n,1,0),l(n,6,0,e.settingsForm,t["ɵnov"](n.parent,7),n.context.$implicit.key,e.getTargetControlLimits(n.context.$implicit.key))}),(function(l,n){l(n,0,0,t["ɵnov"](n,1).hasErrors,t["ɵnov"](n,1).hasSuccess)}))}function y(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,23,"cd-modal",[],null,null,null,o.c,o.b)),t["ɵdid"](1,49152,null,0,r.a,[],{modalRef:[0,"modalRef"]},null),(l()(),t["ɵeld"](2,0,null,0,1,null,null,null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Advanced Settings"])),(l()(),t["ɵeld"](4,0,null,1,19,null,null,null,null,null,null,null)),(l()(),t["ɵeld"](5,0,null,null,18,"form",[["name","settingsForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,e){var i=!0;return"submit"===n&&(i=!1!==t["ɵnov"](l,7).onSubmit(e)&&i),"reset"===n&&(i=!1!==t["ɵnov"](l,7).onReset()&&i),"submit"===n&&(i=!1!==t["ɵnov"](l,10).onSubmit()&&i),i}),null,null)),t["ɵdid"](6,16384,null,0,d.G,[],null,null),t["ɵdid"](7,540672,[["formDir",4]],0,d.l,[[8,null],[8,null]],{form:[0,"form"]},null),t["ɵprd"](2048,null,d.d,null,[d.l]),t["ɵdid"](9,16384,null,0,d.s,[[4,d.d]],null,null),t["ɵdid"](10,16384,null,0,u.d,[],{formGroup:[0,"formGroup"]},null),(l()(),t["ɵeld"](11,0,null,null,5,"div",[["class","modal-body"]],null,null,null,null,null)),(l()(),t["ɵeld"](12,0,null,null,1,"p",[["class","alert-warning"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Changing these parameters from their default values is usually not necessary."])),(l()(),t["ɵand"](16777216,null,null,2,null,_)),t["ɵdid"](15,278528,null,0,c.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),t["ɵpid"](0,c.KeyValuePipe,[t.KeyValueDiffers]),(l()(),t["ɵeld"](17,0,null,null,6,"div",[["class","modal-footer"]],null,null,null,null,null)),(l()(),t["ɵeld"](18,0,null,null,5,"div",[["class","button-group text-right"]],null,null,null,null,null)),(l()(),t["ɵeld"](19,0,null,null,2,"cd-submit-button",[],null,[[null,"submitAction"]],(function(l,n,e){var t=!0;return"submitAction"===n&&(t=!1!==l.component.save()&&t),t}),m.b,m.a)),t["ɵdid"](20,114688,null,0,p.a,[t.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(l()(),t["ɵted"](-1,0,["Confirm"])),(l()(),t["ɵeld"](22,0,null,null,1,"cd-back-button",[["name","Cancel"]],null,null,null,h.b,h.a)),t["ɵdid"](23,49152,null,0,g.a,[c.Location,f.b],{name:[0,"name"],back:[1,"back"]},null)],(function(l,n){var e=n.component;l(n,1,0,e.modalRef),l(n,7,0,e.settingsForm),l(n,10,0,e.settingsForm),l(n,15,0,t["ɵunv"](n,15,0,t["ɵnov"](n,16).transform(e.settingsForm.controls))),l(n,20,0,e.settingsForm),l(n,23,0,"Cancel",e.modalRef.hide)}),(function(l,n){l(n,5,0,t["ɵnov"](n,9).ngClassUntouched,t["ɵnov"](n,9).ngClassTouched,t["ɵnov"](n,9).ngClassPristine,t["ɵnov"](n,9).ngClassDirty,t["ɵnov"](n,9).ngClassValid,t["ɵnov"](n,9).ngClassInvalid,t["ɵnov"](n,9).ngClassPending)}))}function R(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"cd-iscsi-target-iqn-settings-modal",[],null,null,null,y,S)),t["ɵdid"](1,114688,null,0,v.a,[b.a,C.a],null,null)],(function(l,n){l(n,1,0)}),null)}var w=t["ɵccf"]("cd-iscsi-target-iqn-settings-modal",v.a,R,{},{},[])},"lz+O":function(l,n,e){"use strict";var t=e("8Y7J"),i=e("s7LF"),u=e("+gVj"),s=e("SVse"),a=e("EEJc"),o=e("ajRT"),r=e("mXUL"),d=e("gp3X"),c=e("sb0X"),m=e("KVJa"),p=e("Z21x"),h=e("sne2"),g=e("WxU5"),f=e("aexS"),v=e("F83c"),b=e("LqlI"),C=e("2EZI"),S=e("Ekvf"),_=e("kn/O");e.d(n,"a",(function(){return N}));var y=t["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function R(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,6,"input",[["class","form-control"],["formControlName","poolName"],["placeholder","Pool name..."],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,1)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,1).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,1)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,1)._compositionEnd(e.target.value)&&i),i}),null,null)),t["ɵdid"](1,16384,null,0,i.e,[t.Renderer2,t.ElementRef,[2,i.b]],null,null),t["ɵprd"](1024,null,i.p,(function(l){return[l]}),[i.e]),t["ɵdid"](3,671744,[[1,4]],0,i.j,[[3,i.d],[8,null],[8,null],[6,i.p],[2,i.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,i.q,null,[i.j]),t["ɵdid"](5,16384,null,0,i.r,[[4,i.q]],null,null),t["ɵdid"](6,16384,null,0,u.h,[[3,i.d],u.a],{formControlName:[0,"formControlName"]},null)],(function(l,n){l(n,3,0,"poolName"),l(n,6,0,"poolName")}),(function(l,n){l(n,0,0,t["ɵnov"](n,5).ngClassUntouched,t["ɵnov"](n,5).ngClassTouched,t["ɵnov"](n,5).ngClassPristine,t["ɵnov"](n,5).ngClassDirty,t["ɵnov"](n,5).ngClassValid,t["ɵnov"](n,5).ngClassInvalid,t["ɵnov"](n,5).ngClassPending,t["ɵnov"](n,6).validClass,t["ɵnov"](n,6).invalidClass)}))}function w(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),t["ɵdid"](1,147456,null,0,i.v,[t.ElementRef,t.Renderer2,[2,i.A]],{value:[0,"value"]},null),t["ɵdid"](2,147456,null,0,i.F,[t.ElementRef,t.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),t["ɵted"](3,null,["",""]))],(function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)}),(function(l,n){l(n,3,0,n.context.$implicit)}))}function I(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,12,"select",[["class","form-control custom-select"],["formControlName","poolName"],["id","poolName"],["name","poolName"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,e){var i=!0;return"change"===n&&(i=!1!==t["ɵnov"](l,1).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,1).onTouched()&&i),i}),null,null)),t["ɵdid"](1,16384,null,0,i.A,[t.Renderer2,t.ElementRef],null,null),t["ɵprd"](1024,null,i.p,(function(l){return[l]}),[i.A]),t["ɵdid"](3,671744,[[1,4]],0,i.j,[[3,i.d],[8,null],[8,null],[6,i.p],[2,i.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,i.q,null,[i.j]),t["ɵdid"](5,16384,null,0,i.r,[[4,i.q]],null,null),t["ɵdid"](6,16384,null,0,u.h,[[3,i.d],u.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵeld"](7,0,null,null,3,"option",[["value",""]],null,null,null,null,null)),t["ɵdid"](8,147456,null,0,i.v,[t.ElementRef,t.Renderer2,[2,i.A]],{value:[0,"value"]},null),t["ɵdid"](9,147456,null,0,i.F,[t.ElementRef,t.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),t["ɵted"](-1,null,["All"])),(l()(),t["ɵand"](16777216,null,null,1,null,w)),t["ɵdid"](12,278528,null,0,s.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(l,n){var e=n.component;l(n,3,0,"poolName"),l(n,6,0,"poolName"),l(n,8,0,""),l(n,9,0,""),l(n,12,0,e.pools)}),(function(l,n){l(n,0,0,t["ɵnov"](n,5).ngClassUntouched,t["ɵnov"](n,5).ngClassTouched,t["ɵnov"](n,5).ngClassPristine,t["ɵnov"](n,5).ngClassDirty,t["ɵnov"](n,5).ngClassValid,t["ɵnov"](n,5).ngClassInvalid,t["ɵnov"](n,5).ngClassPending,t["ɵnov"](n,6).validClass,t["ɵnov"](n,6).invalidClass)}))}function k(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,41,"cd-modal",[],null,null,null,a.c,a.b)),t["ɵdid"](1,49152,null,0,o.a,[],{modalRef:[0,"modalRef"]},null),(l()(),t["ɵeld"](2,0,null,0,1,null,null,null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Purge Trash"])),(l()(),t["ɵeld"](4,0,null,1,37,null,null,null,null,null,null,null)),(l()(),t["ɵeld"](5,0,null,null,36,"form",[["class","form"],["name","purgeForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,e){var i=!0;return"submit"===n&&(i=!1!==t["ɵnov"](l,7).onSubmit(e)&&i),"reset"===n&&(i=!1!==t["ɵnov"](l,7).onReset()&&i),"submit"===n&&(i=!1!==t["ɵnov"](l,10).onSubmit()&&i),i}),null,null)),t["ɵdid"](6,16384,null,0,i.G,[],null,null),t["ɵdid"](7,540672,[["formDir",4]],0,i.l,[[8,null],[8,null]],{form:[0,"form"]},null),t["ɵprd"](2048,null,i.d,null,[i.l]),t["ɵdid"](9,16384,null,0,i.s,[[4,i.d]],null,null),t["ɵdid"](10,16384,null,0,u.d,[],{formGroup:[0,"formGroup"]},null),(l()(),t["ɵeld"](11,0,null,null,23,"div",[["class","modal-body"]],null,null,null,null,null)),(l()(),t["ɵeld"](12,0,null,null,12,"p",[],null,null,null,null,null)),(l()(),t["ɵeld"](13,0,null,null,1,null,null,null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["To purge, select one or"])),(l()(),t["ɵted"](-1,null,["  "])),(l()(),t["ɵeld"](16,0,null,null,1,"kbd",[],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["All"])),(l()(),t["ɵted"](-1,null,["  "])),(l()(),t["ɵeld"](19,0,null,null,1,null,null,null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["pools and click"])),(l()(),t["ɵted"](-1,null,["  "])),(l()(),t["ɵeld"](22,0,null,null,1,"kbd",[],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Purge Trash"])),(l()(),t["ɵted"](-1,null,[".  "])),(l()(),t["ɵeld"](25,0,null,null,9,"div",[["class","form-group"]],[[2,"has-error",null],[2,"has-success",null]],null,null,r.b,r.a)),t["ɵdid"](26,1163264,null,2,u.c,[t.ElementRef,u.g],null,null),t["ɵqud"](603979776,1,{FormControlNames:1}),t["ɵqud"](603979776,2,{messagesBlock:0}),(l()(),t["ɵeld"](29,0,null,0,1,"label",[["class","col-form-label mx-auto"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Pool:"])),(l()(),t["ɵand"](16777216,null,0,1,null,R)),t["ɵdid"](32,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](16777216,null,0,1,null,I)),t["ɵdid"](34,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](35,0,null,null,6,"div",[["class","modal-footer"]],null,null,null,null,null)),(l()(),t["ɵeld"](36,0,null,null,5,"div",[["class","button-group text-right"]],null,null,null,null,null)),(l()(),t["ɵeld"](37,0,null,null,2,"cd-submit-button",[["id","purgeFormButton"]],null,[[null,"submitAction"]],(function(l,n,e){var t=!0;return"submitAction"===n&&(t=!1!==l.component.purge()&&t),t}),d.b,d.a)),t["ɵdid"](38,114688,null,0,c.a,[t.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(l()(),t["ɵted"](-1,0,["Purge Trash"])),(l()(),t["ɵeld"](40,0,null,null,1,"cd-back-button",[["name","Cancel"]],null,null,null,m.b,m.a)),t["ɵdid"](41,49152,null,0,p.a,[s.Location,h.b],{name:[0,"name"],back:[1,"back"]},null)],(function(l,n){var e=n.component;l(n,1,0,e.modalRef),l(n,7,0,e.purgeForm),l(n,10,0,e.purgeForm),l(n,26,0),l(n,32,0,!e.poolPermission.read),l(n,34,0,e.poolPermission.read),l(n,38,0,e.purgeForm),l(n,41,0,"Cancel",e.modalRef.hide)}),(function(l,n){l(n,5,0,t["ɵnov"](n,9).ngClassUntouched,t["ɵnov"](n,9).ngClassTouched,t["ɵnov"](n,9).ngClassPristine,t["ɵnov"](n,9).ngClassDirty,t["ɵnov"](n,9).ngClassValid,t["ɵnov"](n,9).ngClassInvalid,t["ɵnov"](n,9).ngClassPending),l(n,25,0,t["ɵnov"](n,26).hasErrors,t["ɵnov"](n,26).hasSuccess)}))}function E(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"cd-rbd-trash-purge-modal",[],null,null,null,k,y)),t["ɵdid"](1,114688,null,0,g.a,[f.a,v.a,b.a,C.a,S.a,_.a],null,null)],(function(l,n){l(n,1,0)}),null)}var N=t["ɵccf"]("cd-rbd-trash-purge-modal",g.a,E,{},{},[])},my5R:function(l,n,e){"use strict";e.d(n,"a",(function(){return o}));var t=e("mrSG"),i=e("IheW"),u=e("xTzq"),s=e("8Y7J"),a=e("pL04");let o=(()=>{let l=class{constructor(l){this.http=l}listTargets(){return this.http.get("api/iscsi/target")}getTarget(l){return this.http.get(`api/iscsi/target/${l}`)}updateTarget(l,n){return this.http.put(`api/iscsi/target/${l}`,n,{observe:"response"})}status(){return this.http.get("ui-api/iscsi/status")}settings(){return this.http.get("ui-api/iscsi/settings")}version(){return this.http.get("ui-api/iscsi/version")}portals(){return this.http.get("ui-api/iscsi/portals")}createTarget(l){return this.http.post("api/iscsi/target",l,{observe:"response"})}deleteTarget(l){return this.http.delete(`api/iscsi/target/${l}`,{observe:"response"})}getDiscovery(){return this.http.get("api/iscsi/discoveryauth")}updateDiscovery(l){return this.http.put("api/iscsi/discoveryauth",l)}overview(){return this.http.get("ui-api/iscsi/overview")}};return l.ngInjectableDef=s["ɵɵdefineInjectable"]({factory:function(){return new l(s["ɵɵinject"](i.c))},token:l,providedIn:a.a}),l=t.__decorate([u.a,t.__metadata("design:paramtypes",[i.c])],l),l})()},nP0W:function(l,n,e){"use strict";var t=e("8Y7J"),i=e("s7LF"),u=e("EEJc"),s=e("ajRT"),a=e("+gVj"),o=e("mXUL"),r=e("SVse"),d=e("gp3X"),c=e("sb0X"),m=e("KVJa"),p=e("Z21x"),h=e("sne2"),g=e("aa9H"),f=e("LqlI"),v=e("GiVz"),b=e("XED3"),C=e("kn/O");e.d(n,"a",(function(){return I}));var S=t["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function _(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),t["ɵdid"](1,147456,null,0,i.v,[t.ElementRef,t.Renderer2,[2,i.A]],{value:[0,"value"]},null),t["ɵdid"](2,147456,null,0,i.F,[t.ElementRef,t.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),t["ɵted"](3,null,["",""]))],(function(l,n){l(n,1,0,n.context.$implicit.id),l(n,2,0,n.context.$implicit.id)}),(function(l,n){l(n,3,0,n.context.$implicit.name)}))}function y(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Peer clusters must be removed prior to disabling mirror."]))],null,null)}function R(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,45,"cd-modal",[],null,null,null,u.c,u.b)),t["ɵdid"](1,49152,null,0,s.a,[],{modalRef:[0,"modalRef"]},null),(l()(),t["ɵeld"](2,0,null,0,1,null,null,null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Edit pool mirror mode"])),(l()(),t["ɵeld"](4,0,null,1,41,null,null,null,null,null,null,null)),(l()(),t["ɵeld"](5,0,null,null,40,"form",[["class","form"],["name","editModeForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,e){var i=!0;return"submit"===n&&(i=!1!==t["ɵnov"](l,7).onSubmit(e)&&i),"reset"===n&&(i=!1!==t["ɵnov"](l,7).onReset()&&i),"submit"===n&&(i=!1!==t["ɵnov"](l,10).onSubmit()&&i),i}),null,null)),t["ɵdid"](6,16384,null,0,i.G,[],null,null),t["ɵdid"](7,540672,[["formDir",4]],0,i.l,[[8,null],[8,null]],{form:[0,"form"]},null),t["ɵprd"](2048,null,i.d,null,[i.l]),t["ɵdid"](9,16384,null,0,i.s,[[4,i.d]],null,null),t["ɵdid"](10,16384,null,0,a.d,[],{formGroup:[0,"formGroup"]},null),(l()(),t["ɵeld"](11,0,null,null,27,"div",[["class","modal-body"]],null,null,null,null,null)),(l()(),t["ɵeld"](12,0,null,null,8,"p",[],null,null,null,null,null)),(l()(),t["ɵeld"](13,0,null,null,7,null,null,null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["To edit the mirror mode for pool  "])),(l()(),t["ɵeld"](15,0,null,null,1,"kbd",[],null,null,null,null,null)),(l()(),t["ɵted"](16,null,["",""])),(l()(),t["ɵted"](-1,null,[", select a new mode from the list and click  "])),(l()(),t["ɵeld"](18,0,null,null,1,"kbd",[],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Update"])),(l()(),t["ɵted"](-1,null,["."])),(l()(),t["ɵeld"](21,0,null,null,17,"div",[["class","form-group"]],[[2,"has-error",null],[2,"has-success",null]],null,null,o.b,o.a)),t["ɵdid"](22,1163264,null,2,a.c,[t.ElementRef,a.g],null,null),t["ɵqud"](603979776,1,{FormControlNames:1}),t["ɵqud"](603979776,2,{messagesBlock:0}),(l()(),t["ɵeld"](25,0,null,0,2,"label",[["class","col-form-label"],["for","mirrorMode"]],null,null,null,null,null)),(l()(),t["ɵeld"](26,0,null,null,1,"span",[],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Mode"])),(l()(),t["ɵeld"](28,0,null,0,8,"select",[["class","form-control custom-select"],["formControlName","mirrorMode"],["id","mirrorMode"],["name","mirrorMode"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,e){var i=!0;return"change"===n&&(i=!1!==t["ɵnov"](l,29).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,29).onTouched()&&i),i}),null,null)),t["ɵdid"](29,16384,null,0,i.A,[t.Renderer2,t.ElementRef],null,null),t["ɵprd"](1024,null,i.p,(function(l){return[l]}),[i.A]),t["ɵdid"](31,671744,[[1,4]],0,i.j,[[3,i.d],[8,null],[8,null],[6,i.p],[2,i.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,i.q,null,[i.j]),t["ɵdid"](33,16384,null,0,i.r,[[4,i.q]],null,null),t["ɵdid"](34,16384,null,0,a.h,[[3,i.d],a.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,_)),t["ɵdid"](36,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),t["ɵand"](16777216,null,0,1,null,y)),t["ɵdid"](38,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](39,0,null,null,6,"div",[["class","modal-footer"]],null,null,null,null,null)),(l()(),t["ɵeld"](40,0,null,null,5,"div",[["class","button-group text-right"]],null,null,null,null,null)),(l()(),t["ɵeld"](41,0,null,null,2,"cd-submit-button",[],null,[[null,"submitAction"]],(function(l,n,e){var t=!0;return"submitAction"===n&&(t=!1!==l.component.update()&&t),t}),d.b,d.a)),t["ɵdid"](42,114688,null,0,c.a,[t.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(l()(),t["ɵted"](-1,0,["Update"])),(l()(),t["ɵeld"](44,0,null,null,1,"cd-back-button",[["name","Cancel"]],null,null,null,m.b,m.a)),t["ɵdid"](45,49152,null,0,p.a,[r.Location,h.b],{name:[0,"name"],back:[1,"back"]},null)],(function(l,n){var e=n.component;l(n,1,0,e.modalRef),l(n,7,0,e.editModeForm),l(n,10,0,e.editModeForm),l(n,22,0),l(n,31,0,"mirrorMode"),l(n,34,0,"mirrorMode"),l(n,36,0,e.mirrorModes),l(n,38,0,e.editModeForm.showError("mirrorMode",t["ɵnov"](n,7),"cannotDisable")),l(n,42,0,e.editModeForm),l(n,45,0,"Cancel",e.modalRef.hide)}),(function(l,n){var e=n.component;l(n,5,0,t["ɵnov"](n,9).ngClassUntouched,t["ɵnov"](n,9).ngClassTouched,t["ɵnov"](n,9).ngClassPristine,t["ɵnov"](n,9).ngClassDirty,t["ɵnov"](n,9).ngClassValid,t["ɵnov"](n,9).ngClassInvalid,t["ɵnov"](n,9).ngClassPending),l(n,16,0,e.poolName),l(n,21,0,t["ɵnov"](n,22).hasErrors,t["ɵnov"](n,22).hasSuccess),l(n,28,0,t["ɵnov"](n,33).ngClassUntouched,t["ɵnov"](n,33).ngClassTouched,t["ɵnov"](n,33).ngClassPristine,t["ɵnov"](n,33).ngClassDirty,t["ɵnov"](n,33).ngClassValid,t["ɵnov"](n,33).ngClassInvalid,t["ɵnov"](n,33).ngClassPending,t["ɵnov"](n,34).validClass,t["ɵnov"](n,34).invalidClass)}))}function w(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"cd-pool-edit-mode-modal",[],null,null,null,R,S)),t["ɵdid"](1,245760,null,0,g.a,[f.a,v.a,b.a,C.a],null,null)],(function(l,n){l(n,1,0)}),null)}var I=t["ɵccf"]("cd-pool-edit-mode-modal",g.a,w,{},{},[])},nhAp:function(l,n,e){"use strict";var t=e("8Y7J"),i=e("mXUL"),u=e("+gVj"),s=e("s7LF"),a=e("SVse"),o=e("eF8U"),r=e("jMP8"),d=e("uYzU"),c=e("EEJc"),m=e("ajRT"),p=e("gp3X"),h=e("sb0X"),g=e("KVJa"),f=e("Z21x"),v=e("sne2"),b=e("Z4cD"),C=e("LqlI"),S=e("my5R");e.d(n,"a",(function(){return T}));var _=t["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function y(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["This field is required."]))],null,null)}function R(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,33,"span",[],null,null,null,null,null)),(l()(),t["ɵeld"](1,0,null,null,1,"legend",[["class","cd-header"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Identifier"])),(l()(),t["ɵeld"](3,0,null,null,16,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,i.b,i.a)),t["ɵdid"](4,1163264,null,2,u.c,[t.ElementRef,u.g],null,null),t["ɵqud"](603979776,1,{FormControlNames:1}),t["ɵqud"](603979776,2,{messagesBlock:0}),(l()(),t["ɵeld"](7,0,null,0,12,"div",[["class","col-sm-12"]],null,null,null,null,null)),(l()(),t["ɵeld"](8,0,null,null,1,"label",[["class","col-form-label required"],["for","lun"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["lun"])),(l()(),t["ɵeld"](10,0,null,null,7,"input",[["class","form-control"],["formControlName","lun"],["id","lun"],["name","lun"],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,11)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,11).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,11)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,11)._compositionEnd(e.target.value)&&i),"change"===n&&(i=!1!==t["ɵnov"](l,12).onChange(e.target.value)&&i),"input"===n&&(i=!1!==t["ɵnov"](l,12).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,12).onTouched()&&i),i}),null,null)),t["ɵdid"](11,16384,null,0,s.e,[t.Renderer2,t.ElementRef,[2,s.b]],null,null),t["ɵdid"](12,16384,null,0,s.w,[t.Renderer2,t.ElementRef],null,null),t["ɵprd"](1024,null,s.p,(function(l,n){return[l,n]}),[s.e,s.w]),t["ɵdid"](14,671744,[[1,4]],0,s.j,[[3,s.d],[8,null],[8,null],[6,s.p],[2,s.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,s.q,null,[s.j]),t["ɵdid"](16,16384,null,0,s.r,[[4,s.q]],null,null),t["ɵdid"](17,16384,null,0,u.h,[[3,s.d],u.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,y)),t["ɵdid"](19,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](20,0,null,null,13,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,i.b,i.a)),t["ɵdid"](21,1163264,null,2,u.c,[t.ElementRef,u.g],null,null),t["ɵqud"](603979776,3,{FormControlNames:1}),t["ɵqud"](603979776,4,{messagesBlock:0}),(l()(),t["ɵeld"](24,0,null,0,9,"div",[["class","col-sm-12"]],null,null,null,null,null)),(l()(),t["ɵeld"](25,0,null,null,1,"label",[["class","col-form-label"],["for","wwn"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["wwn"])),(l()(),t["ɵeld"](27,0,null,null,6,"input",[["class","form-control"],["formControlName","wwn"],["id","wwn"],["name","wwn"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,28)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,28).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,28)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,28)._compositionEnd(e.target.value)&&i),i}),null,null)),t["ɵdid"](28,16384,null,0,s.e,[t.Renderer2,t.ElementRef,[2,s.b]],null,null),t["ɵprd"](1024,null,s.p,(function(l){return[l]}),[s.e]),t["ɵdid"](30,671744,[[3,4]],0,s.j,[[3,s.d],[8,null],[8,null],[6,s.p],[2,s.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,s.q,null,[s.j]),t["ɵdid"](32,16384,null,0,s.r,[[4,s.q]],null,null),t["ɵdid"](33,16384,null,0,u.h,[[3,s.d],u.a],{formControlName:[0,"formControlName"]},null)],(function(l,n){var e=n.component;l(n,4,0),l(n,14,0,"lun"),l(n,17,0,"lun"),l(n,19,0,e.settingsForm.showError("lun",t["ɵnov"](n.parent,12),"required")),l(n,21,0),l(n,30,0,"wwn"),l(n,33,0,"wwn")}),(function(l,n){l(n,3,0,t["ɵnov"](n,4).hasErrors,t["ɵnov"](n,4).hasSuccess),l(n,10,0,t["ɵnov"](n,16).ngClassUntouched,t["ɵnov"](n,16).ngClassTouched,t["ɵnov"](n,16).ngClassPristine,t["ɵnov"](n,16).ngClassDirty,t["ɵnov"](n,16).ngClassValid,t["ɵnov"](n,16).ngClassInvalid,t["ɵnov"](n,16).ngClassPending,t["ɵnov"](n,17).validClass,t["ɵnov"](n,17).invalidClass),l(n,20,0,t["ɵnov"](n,21).hasErrors,t["ɵnov"](n,21).hasSuccess),l(n,27,0,t["ɵnov"](n,32).ngClassUntouched,t["ɵnov"](n,32).ngClassTouched,t["ɵnov"](n,32).ngClassPristine,t["ɵnov"](n,32).ngClassDirty,t["ɵnov"](n,32).ngClassValid,t["ɵnov"](n,32).ngClassInvalid,t["ɵnov"](n,32).ngClassPending,t["ɵnov"](n,33).validClass,t["ɵnov"](n,33).invalidClass)}))}function w(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,4,"option",[],null,null,null,null,null)),t["ɵdid"](1,147456,null,0,s.v,[t.ElementRef,t.Renderer2,[2,s.A]],{value:[0,"value"]},null),t["ɵdid"](2,147456,null,0,s.F,[t.ElementRef,t.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),t["ɵted"](3,null,["",""])),t["ɵppd"](4,1)],(function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)}),(function(l,n){var e=t["ɵunv"](n,3,0,l(n,4,0,t["ɵnov"](n.parent,0),n.context.$implicit));l(n,3,0,e)}))}function I(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,6,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,i.b,i.a)),t["ɵdid"](1,1163264,null,2,u.c,[t.ElementRef,u.g],null,null),t["ɵqud"](603979776,7,{FormControlNames:1}),t["ɵqud"](603979776,8,{messagesBlock:0}),(l()(),t["ɵeld"](4,0,null,0,2,"div",[["class","col-sm-12"]],null,null,null,null,null)),(l()(),t["ɵeld"](5,0,null,null,1,"cd-iscsi-setting",[],null,null,null,o.b,o.a)),t["ɵdid"](6,114688,null,0,r.a,[],{settingsForm:[0,"settingsForm"],formDir:[1,"formDir"],setting:[2,"setting"],limits:[3,"limits"]},null)],(function(l,n){var e=n.component;l(n,1,0),l(n,6,0,e.settingsForm,t["ɵnov"](n.parent.parent.parent,12),n.context.$implicit.key,e.getDiskControlLimits(n.parent.parent.context.$implicit,n.context.$implicit.key))}),(function(l,n){l(n,0,0,t["ɵnov"](n,1).hasErrors,t["ɵnov"](n,1).hasSuccess)}))}function k(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,3,null,null,null,null,null,null,null)),(l()(),t["ɵand"](16777216,null,null,2,null,I)),t["ɵdid"](2,278528,null,0,a.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),t["ɵpid"](0,a.KeyValuePipe,[t.KeyValueDiffers]),(l()(),t["ɵand"](0,null,null,0))],(function(l,n){var e=n.component;l(n,2,0,t["ɵunv"](n,2,0,t["ɵnov"](n,3).transform(e.disk_default_controls[n.parent.context.$implicit])))}),null)}function E(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,2,null,null,null,null,null,null,null)),(l()(),t["ɵand"](16777216,null,null,1,null,k)),t["ɵdid"](2,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](0,null,null,0))],(function(l,n){l(n,2,0,n.component.settingsForm.value.backstore===n.context.$implicit)}),null)}function N(l){return t["ɵvid"](0,[t["ɵpid"](0,d.a,[]),(l()(),t["ɵeld"](1,0,null,null,46,"cd-modal",[],null,null,null,c.c,c.b)),t["ɵdid"](2,49152,null,0,m.a,[],{modalRef:[0,"modalRef"]},null),(l()(),t["ɵeld"](3,0,null,0,5,null,null,null,null,null,null,null)),(l()(),t["ɵeld"](4,0,null,null,1,null,null,null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Configure"])),(l()(),t["ɵted"](-1,null,["  "])),(l()(),t["ɵeld"](7,0,null,null,1,"small",[],null,null,null,null,null)),(l()(),t["ɵted"](8,null,["",""])),(l()(),t["ɵeld"](9,0,null,1,38,null,null,null,null,null,null,null)),(l()(),t["ɵeld"](10,0,null,null,37,"form",[["class","form"],["name","settingsForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,e){var i=!0;return"submit"===n&&(i=!1!==t["ɵnov"](l,12).onSubmit(e)&&i),"reset"===n&&(i=!1!==t["ɵnov"](l,12).onReset()&&i),"submit"===n&&(i=!1!==t["ɵnov"](l,15).onSubmit()&&i),i}),null,null)),t["ɵdid"](11,16384,null,0,s.G,[],null,null),t["ɵdid"](12,540672,[["formDir",4]],0,s.l,[[8,null],[8,null]],{form:[0,"form"]},null),t["ɵprd"](2048,null,s.d,null,[s.l]),t["ɵdid"](14,16384,null,0,s.s,[[4,s.d]],null,null),t["ɵdid"](15,16384,null,0,u.d,[],{formGroup:[0,"formGroup"]},null),(l()(),t["ɵeld"](16,0,null,null,24,"div",[["class","modal-body"]],null,null,null,null,null)),(l()(),t["ɵeld"](17,0,null,null,1,"p",[["class","alert-warning"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Changing these parameters from their default values is usually not necessary."])),(l()(),t["ɵand"](16777216,null,null,1,null,R)),t["ɵdid"](20,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵeld"](21,0,null,null,1,"legend",[["class","cd-header"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Settings"])),(l()(),t["ɵeld"](23,0,null,null,15,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,i.b,i.a)),t["ɵdid"](24,1163264,null,2,u.c,[t.ElementRef,u.g],null,null),t["ɵqud"](603979776,5,{FormControlNames:1}),t["ɵqud"](603979776,6,{messagesBlock:0}),(l()(),t["ɵeld"](27,0,null,0,11,"div",[["class","col-sm-12"]],null,null,null,null,null)),(l()(),t["ɵeld"](28,0,null,null,1,"label",[["class","col-form-label"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Backstore"])),(l()(),t["ɵeld"](30,0,null,null,8,"select",[["class","form-control custom-select"],["formControlName","backstore"],["id","backstore"],["name","backstore"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,e){var i=!0;return"change"===n&&(i=!1!==t["ɵnov"](l,31).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,31).onTouched()&&i),i}),null,null)),t["ɵdid"](31,16384,null,0,s.A,[t.Renderer2,t.ElementRef],null,null),t["ɵprd"](1024,null,s.p,(function(l){return[l]}),[s.A]),t["ɵdid"](33,671744,[[5,4]],0,s.j,[[3,s.d],[8,null],[8,null],[6,s.p],[2,s.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,s.q,null,[s.j]),t["ɵdid"](35,16384,null,0,s.r,[[4,s.q]],null,null),t["ɵdid"](36,16384,null,0,u.h,[[3,s.d],u.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,w)),t["ɵdid"](38,278528,null,0,a.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,E)),t["ɵdid"](40,278528,null,0,a.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),t["ɵeld"](41,0,null,null,6,"div",[["class","modal-footer"]],null,null,null,null,null)),(l()(),t["ɵeld"](42,0,null,null,5,"div",[["class","button-group text-right"]],null,null,null,null,null)),(l()(),t["ɵeld"](43,0,null,null,2,"cd-submit-button",[],null,[[null,"submitAction"]],(function(l,n,e){var t=!0;return"submitAction"===n&&(t=!1!==l.component.save()&&t),t}),p.b,p.a)),t["ɵdid"](44,114688,null,0,h.a,[t.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(l()(),t["ɵted"](-1,0,["Confirm"])),(l()(),t["ɵeld"](46,0,null,null,1,"cd-back-button",[["name","Cancel"]],null,null,null,g.b,g.a)),t["ɵdid"](47,49152,null,0,f.a,[a.Location,v.b],{name:[0,"name"],back:[1,"back"]},null)],(function(l,n){var e=n.component;l(n,2,0,e.modalRef),l(n,12,0,e.settingsForm),l(n,15,0,e.settingsForm),l(n,20,0,e.api_version>=1),l(n,24,0),l(n,33,0,"backstore"),l(n,36,0,"backstore"),l(n,38,0,e.backstores),l(n,40,0,e.backstores),l(n,44,0,e.settingsForm),l(n,47,0,"Cancel",e.modalRef.hide)}),(function(l,n){l(n,8,0,n.component.image),l(n,10,0,t["ɵnov"](n,14).ngClassUntouched,t["ɵnov"](n,14).ngClassTouched,t["ɵnov"](n,14).ngClassPristine,t["ɵnov"](n,14).ngClassDirty,t["ɵnov"](n,14).ngClassValid,t["ɵnov"](n,14).ngClassInvalid,t["ɵnov"](n,14).ngClassPending),l(n,23,0,t["ɵnov"](n,24).hasErrors,t["ɵnov"](n,24).hasSuccess),l(n,30,0,t["ɵnov"](n,35).ngClassUntouched,t["ɵnov"](n,35).ngClassTouched,t["ɵnov"](n,35).ngClassPristine,t["ɵnov"](n,35).ngClassDirty,t["ɵnov"](n,35).ngClassValid,t["ɵnov"](n,35).ngClassInvalid,t["ɵnov"](n,35).ngClassPending,t["ɵnov"](n,36).validClass,t["ɵnov"](n,36).invalidClass)}))}function F(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"cd-iscsi-target-image-settings-modal",[],null,null,null,N,_)),t["ɵdid"](1,114688,null,0,b.a,[C.a,S.a],null,null)],(function(l,n){l(n,1,0)}),null)}var T=t["ɵccf"]("cd-iscsi-target-image-settings-modal",b.a,F,{},{},[])},o8EM:function(l,n,e){"use strict";e.d(n,"a",(function(){return s}));var t=e("PhyI"),i=e("8Y7J"),u=e("GiVz");let s=(()=>{class l{constructor(l){this.i18n=l,this.sections=[{heading:this.i18n("Quality of Service"),class:"quality-of-service",options:[{name:"rbd_qos_bps_limit",displayName:this.i18n("BPS Limit"),description:this.i18n("The desired limit of IO bytes per second."),type:t.b.bps},{name:"rbd_qos_iops_limit",displayName:this.i18n("IOPS Limit"),description:this.i18n("The desired limit of IO operations per second."),type:t.b.iops},{name:"rbd_qos_read_bps_limit",displayName:this.i18n("Read BPS Limit"),description:this.i18n("The desired limit of read bytes per second."),type:t.b.bps},{name:"rbd_qos_read_iops_limit",displayName:this.i18n("Read IOPS Limit"),description:this.i18n("The desired limit of read operations per second."),type:t.b.iops},{name:"rbd_qos_write_bps_limit",displayName:this.i18n("Write BPS Limit"),description:this.i18n("The desired limit of write bytes per second."),type:t.b.bps},{name:"rbd_qos_write_iops_limit",displayName:this.i18n("Write IOPS Limit"),description:this.i18n("The desired limit of write operations per second."),type:t.b.iops},{name:"rbd_qos_bps_burst",displayName:this.i18n("BPS Burst"),description:this.i18n("The desired burst limit of IO bytes."),type:t.b.bps},{name:"rbd_qos_iops_burst",displayName:this.i18n("IOPS Burst"),description:this.i18n("The desired burst limit of IO operations."),type:t.b.iops},{name:"rbd_qos_read_bps_burst",displayName:this.i18n("Read BPS Burst"),description:this.i18n("The desired burst limit of read bytes."),type:t.b.bps},{name:"rbd_qos_read_iops_burst",displayName:this.i18n("Read IOPS Burst"),description:this.i18n("The desired burst limit of read operations."),type:t.b.iops},{name:"rbd_qos_write_bps_burst",displayName:this.i18n("Write BPS Burst"),description:this.i18n("The desired burst limit of write bytes."),type:t.b.bps},{name:"rbd_qos_write_iops_burst",displayName:this.i18n("Write IOPS Burst"),description:this.i18n("The desired burst limit of write operations."),type:t.b.iops}]}]}static getOptionsFromSections(l){return l.map(l=>l.options).reduce((l,n)=>l.concat(n))}filterConfigOptionsByName(n){return l.getOptionsFromSections(this.sections).filter(l=>l.name===n)}getOptionValueByName(l,n,e=""){const t=this.filterConfigOptionsByName(l);return 1===t.length?t.pop()[n]:e}getWritableSections(){return this.sections.map(l=>(l.options=l.options.filter(l=>!l.readOnly),l))}getOptionFields(){return l.getOptionsFromSections(this.sections)}getWritableOptionFields(){return l.getOptionsFromSections(this.getWritableSections())}getOptionByName(l){return this.filterConfigOptionsByName(l).pop()}getDisplayName(l){return this.getOptionValueByName(l,"displayName")}getDescription(l){return this.getOptionValueByName(l,"description")}}return l.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new l(i["ɵɵinject"](u.a))},token:l,providedIn:"root"}),l})()},puGn:function(l,n,e){"use strict";e.d(n,"a",(function(){return s}));var t=e("s7LF"),i=(e("XED3"),e("QFaf")),u=e("kvvV");e("kn/O");class s{constructor(l,n,e){this.modalRef=l,this.rbdMirroringService=n,this.taskWrapper=e,this.createForm()}createForm(){this.editSiteNameForm=new i.a({siteName:new t.i("",{})})}ngOnInit(){this.editSiteNameForm.get("siteName").setValue(this.siteName),this.rbdMirroringService.getSiteName().subscribe(l=>{this.editSiteNameForm.get("siteName").setValue(l.site_name)})}update(){this.taskWrapper.wrapTaskAroundCall({task:new u.a("rbd/mirroring/site_name/edit",{}),call:this.rbdMirroringService.setSiteName(this.editSiteNameForm.getValue("siteName"))}).subscribe(void 0,()=>this.editSiteNameForm.setErrors({cdSubmitButton:!0}),()=>{this.rbdMirroringService.refresh(),this.modalRef.hide()})}}},rFfW:function(l,n,e){"use strict";e.d(n,"a",(function(){return o}));var t=e("8Y7J"),i=e("s7LF"),u=e("oxzT"),s=e("QFaf"),a=e("PhyI");e("aXbf"),e("o8EM");class o{constructor(l,n){this.formatterService=l,this.rbdConfigurationService=n,this.changes=new t.EventEmitter,this.icons=u.a,this.ngDataReady=new t.EventEmitter,this.configurationType=a.b,this.sectionVisibility={}}ngOnInit(){const l=this.createConfigurationFormGroup();this.form.addControl("configuration",l),l.valueChanges.subscribe(()=>{this.changes.emit(this.getDirtyValues.bind(this))}),this.initializeData&&this.initializeData.subscribe(l=>{this.initialData=l.initialData;const n=l.sourceType;this.rbdConfigurationService.getWritableOptionFields().forEach(e=>{const t=l.initialData.filter(l=>l.name===e.name).pop();t&&t.source===n&&this.form.get(`configuration.${e.name}`).setValue(t.value)}),this.ngDataReady.emit()}),this.rbdConfigurationService.getWritableSections().forEach(l=>this.sectionVisibility[l.class]=!1)}getDirtyValues(l=!1,n){if(l&&!n)throw new Error("ProgrammingError: If local values shall be included, a proper localFieldType argument has to be provided, too");const e={};return this.rbdConfigurationService.getWritableOptionFields().forEach(t=>{const i=this.form.get("configuration").get(t.name);this.initialData&&this.initialData[t.name]===i.value||(i.dirty||l&&i.source===n)&&(e[t.name]=null===i.value?i.value:t.type===a.b.bps?this.formatterService.toBytes(i.value):t.type===a.b.milliseconds?this.formatterService.toMilliseconds(i.value):t.type===a.b.iops?this.formatterService.toIops(i.value):i.value)}),e}createConfigurationFormGroup(){const l=new s.a({});return this.rbdConfigurationService.getWritableOptionFields().forEach(n=>{let e;if(n.type!==a.b.milliseconds&&n.type!==a.b.iops&&n.type!==a.b.bps)throw new Error(`Type ${n.type} is unknown, you may need to add it to RbdConfiguration class`);e=new i.i(0,i.B.min(0)),l.addControl(n.name,e)}),l}reset(l){const n=this.form.get("configuration").get(l);n.disabled?(n.setValue(n.previousValue||0),n.enable(),n.previousValue||n.markAsPristine()):(n.previousValue=n.value,n.setValue(null),n.markAsDirty(),n.disable())}isDisabled(l){return this.form.get("configuration").get(l).disabled}toggleSectionVisibility(l){this.sectionVisibility[l]=!this.sectionVisibility[l]}}},roDX:function(l,n,e){"use strict";e.d(n,"a",(function(){return i})),e("my5R");var t=e("x38r");e("o4+5"),e("uYzU");class i{constructor(l,n,e,t){this.iscsiService=l,this.dimlessPipe=n,this.iscsiBackstorePipe=e,this.i18n=t,this.gateways=[],this.images=[]}ngOnInit(){this.gatewaysColumns=[{name:this.i18n("Name"),prop:"name"},{name:this.i18n("State"),prop:"state",flexGrow:1,cellTransformation:t.a.badge,customTemplateConfig:{map:{up:{class:"badge-success"},down:{class:"badge-danger"}}}},{name:this.i18n("# Targets"),prop:"num_targets"},{name:this.i18n("# Sessions"),prop:"num_sessions"}],this.imagesColumns=[{name:this.i18n("Pool"),prop:"pool"},{name:this.i18n("Image"),prop:"image"},{name:this.i18n("Backstore"),prop:"backstore",pipe:this.iscsiBackstorePipe},{name:this.i18n("Read Bytes"),prop:"stats_history.rd_bytes",cellTemplate:this.iscsiSparklineTpl},{name:this.i18n("Write Bytes"),prop:"stats_history.wr_bytes",cellTemplate:this.iscsiSparklineTpl},{name:this.i18n("Read Ops"),prop:"stats.rd",pipe:this.dimlessPipe,cellTemplate:this.iscsiPerSecondTpl},{name:this.i18n("Write Ops"),prop:"stats.wr",pipe:this.dimlessPipe,cellTemplate:this.iscsiPerSecondTpl},{name:this.i18n("A/O Since"),prop:"optimized_since",cellTemplate:this.iscsiRelativeDateTpl}]}refresh(){this.iscsiService.overview().subscribe(l=>{this.gateways=l.gateways,this.images=l.images,this.images.map(l=>(l.stats_history&&(l.stats_history.rd_bytes=l.stats_history.rd_bytes.map(l=>l[1]),l.stats_history.wr_bytes=l.stats_history.wr_bytes.map(l=>l[1])),l.cdIsBinary=!0,l))})}}},u2XS:function(l,n,e){"use strict";var t=e("8Y7J"),i=e("SVse"),u=e("25BL"),s=e("uIqm"),a=e("LOMR"),o=e("MP8s"),r=e("fxL3"),d=e("gk6K"),c=e("3ris"),m=e("GiVz"),p=e("uYzU"),h=e("iExv");e.d(n,"b",(function(){return g})),e.d(n,"c",(function(){return _})),e.d(n,"a",(function(){return R}));var g=t["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function f(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,0,"i",[],[[8,"className",0]],null,null,null,null)),(l()(),t["ɵeld"](1,0,null,null,1,"span",[],null,null,null,null,null)),(l()(),t["ɵted"](2,null,["",""])),(l()(),t["ɵted"](-1,null,["   "])),(l()(),t["ɵeld"](4,0,null,null,6,"span",[["class","badge"]],null,null,null,null,null)),t["ɵprd"](512,null,i["ɵNgClassImpl"],i["ɵNgClassR2Impl"],[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2]),t["ɵdid"](6,278528,null,0,i.NgClass,[i["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t["ɵpad"](7,1),t["ɵpad"](8,1),t["ɵpod"](9,{"badge-success":0,"badge-danger":1}),(l()(),t["ɵted"](10,null,[" "," "]))],(function(l,n){var e=l(n,9,0,l(n,7,0,"logged_in").includes(n.context.$implicit.data.status),l(n,8,0,"logged_out").includes(n.context.$implicit.data.status));l(n,6,0,"badge",e)}),(function(l,n){l(n,0,0,n.context.$implicit.data.cdIcon),l(n,2,0,n.context.$implicit.data.name),l(n,10,0,n.context.$implicit.data.status)}))}function v(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,4,"div",[["class","col-6 metadata"]],null,null,null,null,null)),(l()(),t["ɵeld"](1,0,null,null,1,"legend",[],null,null,null,null,null)),(l()(),t["ɵted"](2,null,["",""])),(l()(),t["ɵeld"](3,0,null,null,1,"cd-table",[["columnMode","flex"]],null,null,null,u.b,u.a)),t["ɵdid"](4,2867200,[[2,4],["detailTable",4]],0,s.a,[t.NgZone,t.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],limit:[3,"limit"]},null)],(function(l,n){var e=n.component;l(n,4,0,e.data,e.columns,"flex",0)}),(function(l,n){l(n,2,0,n.component.title)}))}function b(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(l()(),t["ɵted"](1,null,["",""]))],null,(function(l,n){l(n,1,0,n.parent.context.value)}))}function C(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"strong",[],null,null,null,null,null)),(l()(),t["ɵted"](1,null,["",""]))],null,(function(l,n){l(n,1,0,n.parent.context.value)}))}function S(l){return t["ɵvid"](0,[(l()(),t["ɵand"](16777216,null,null,1,null,b)),t["ɵdid"](1,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](16777216,null,null,1,null,C)),t["ɵdid"](3,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](0,null,null,0))],(function(l,n){l(n,1,0,void 0===n.context.row.default||n.context.row.default===n.context.row.current),l(n,3,0,void 0!==n.context.row.default&&n.context.row.default!==n.context.row.current)}),null)}function _(l){return t["ɵvid"](0,[t["ɵqud"](402653184,1,{highlightTpl:0}),t["ɵqud"](671088640,2,{content:0}),t["ɵqud"](671088640,3,{tree:0}),(l()(),t["ɵeld"](3,0,null,null,13,"div",[["class","row"]],null,null,null,null,null)),(l()(),t["ɵeld"](4,0,null,null,10,"div",[["class","col-6"]],null,null,null,null,null)),(l()(),t["ɵeld"](5,0,null,null,1,"legend",[],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["iSCSI Topology"])),(l()(),t["ɵeld"](7,0,null,null,7,"tree-root",[],null,[[null,"updateData"],["body","keydown"],["body","mousedown"]],(function(l,n,e){var i=!0,u=l.component;return"body:keydown"===n&&(i=!1!==t["ɵnov"](l,9).onKeydown(e)&&i),"body:mousedown"===n&&(i=!1!==t["ɵnov"](l,9).onMousedown(e)&&i),"updateData"===n&&(i=!1!==u.onUpdateData()&&i),i}),a.b,a.a)),t["ɵprd"](131584,null,o.a,o.a,[]),t["ɵdid"](9,573440,[[3,4],["tree",4]],4,r.a,[o.a,d.a],{nodes:[0,"nodes"],options:[1,"options"]},{updateData:"updateData"}),t["ɵqud"](603979776,4,{loadingTemplate:0}),t["ɵqud"](603979776,5,{treeNodeTemplate:0}),t["ɵqud"](603979776,6,{treeNodeWrapperTemplate:0}),t["ɵqud"](603979776,7,{treeNodeFullTemplate:0}),(l()(),t["ɵand"](0,[[5,2],["treeNodeTemplate",2]],null,0,null,f)),(l()(),t["ɵand"](16777216,null,null,1,null,v)),t["ɵdid"](16,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),t["ɵand"](0,[[1,2],["highlightTpl",2]],null,0,null,S))],(function(l,n){var e=n.component;l(n,9,0,e.nodes,e.treeOptions),l(n,16,0,e.data)}),null)}function y(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"cd-iscsi-target-details",[],null,null,null,_,g)),t["ɵdid"](1,638976,null,0,c.a,[m.a,p.a,h.a],null,null)],(function(l,n){l(n,1,0)}),null)}var R=t["ɵccf"]("cd-iscsi-target-details",c.a,y,{selection:"selection",settings:"settings",cephIscsiConfigVersion:"cephIscsiConfigVersion"},{},[])},xvu0:function(l,n,e){"use strict";var t=e("8Y7J"),i=e("EEJc"),u=e("ajRT"),s=e("s7LF"),a=e("+gVj"),o=e("mXUL"),r=e("IZUe"),d=e("gp3X"),c=e("sb0X"),m=e("KVJa"),p=e("Z21x"),h=e("SVse"),g=e("sne2"),f=e("puGn"),v=e("LqlI"),b=e("XED3"),C=e("kn/O");e.d(n,"a",(function(){return R}));var S=t["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function _(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,38,"cd-modal",[],null,null,null,i.c,i.b)),t["ɵdid"](1,49152,null,0,u.a,[],{modalRef:[0,"modalRef"]},null),(l()(),t["ɵeld"](2,0,null,0,1,null,null,null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Edit site name"])),(l()(),t["ɵeld"](4,0,null,1,34,null,null,null,null,null,null,null)),(l()(),t["ɵeld"](5,0,null,null,33,"form",[["class","form"],["name","editSiteNameForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,e){var i=!0;return"submit"===n&&(i=!1!==t["ɵnov"](l,7).onSubmit(e)&&i),"reset"===n&&(i=!1!==t["ɵnov"](l,7).onReset()&&i),"submit"===n&&(i=!1!==t["ɵnov"](l,10).onSubmit()&&i),i}),null,null)),t["ɵdid"](6,16384,null,0,s.G,[],null,null),t["ɵdid"](7,540672,[["formDir",4]],0,s.l,[[8,null],[8,null]],{form:[0,"form"]},null),t["ɵprd"](2048,null,s.d,null,[s.l]),t["ɵdid"](9,16384,null,0,s.s,[[4,s.d]],null,null),t["ɵdid"](10,16384,null,0,a.d,[],{formGroup:[0,"formGroup"]},null),(l()(),t["ɵeld"](11,0,null,null,20,"div",[["class","modal-body"]],null,null,null,null,null)),(l()(),t["ɵeld"](12,0,null,null,5,"p",[],null,null,null,null,null)),(l()(),t["ɵeld"](13,0,null,null,4,null,null,null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Edit the site name and click  "])),(l()(),t["ɵeld"](15,0,null,null,1,"kbd",[],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Update"])),(l()(),t["ɵted"](-1,null,["."])),(l()(),t["ɵeld"](18,0,null,null,13,"div",[["class","form-group"]],[[2,"has-error",null],[2,"has-success",null]],null,null,o.b,o.a)),t["ɵdid"](19,1163264,null,2,a.c,[t.ElementRef,a.g],null,null),t["ɵqud"](603979776,1,{FormControlNames:1}),t["ɵqud"](603979776,2,{messagesBlock:0}),(l()(),t["ɵeld"](22,0,null,0,1,"label",[["class","col-form-label required"],["for","siteName"]],null,null,null,null,null)),(l()(),t["ɵted"](-1,null,["Site Name"])),(l()(),t["ɵeld"](24,0,null,0,7,"input",[["autofocus",""],["class","form-control"],["formControlName","siteName"],["id","siteName"],["name","siteName"],["placeholder","Name..."],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==t["ɵnov"](l,26)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t["ɵnov"](l,26).onTouched()&&i),"compositionstart"===n&&(i=!1!==t["ɵnov"](l,26)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t["ɵnov"](l,26)._compositionEnd(e.target.value)&&i),i}),null,null)),t["ɵdid"](25,4210688,null,0,r.a,[t.ElementRef],{autofocus:[0,"autofocus"]},null),t["ɵdid"](26,16384,null,0,s.e,[t.Renderer2,t.ElementRef,[2,s.b]],null,null),t["ɵprd"](1024,null,s.p,(function(l){return[l]}),[s.e]),t["ɵdid"](28,671744,[[1,4]],0,s.j,[[3,s.d],[8,null],[8,null],[6,s.p],[2,s.E]],{name:[0,"name"]},null),t["ɵprd"](2048,null,s.q,null,[s.j]),t["ɵdid"](30,16384,null,0,s.r,[[4,s.q]],null,null),t["ɵdid"](31,16384,null,0,a.h,[[3,s.d],a.a],{formControlName:[0,"formControlName"]},null),(l()(),t["ɵeld"](32,0,null,null,6,"div",[["class","modal-footer"]],null,null,null,null,null)),(l()(),t["ɵeld"](33,0,null,null,5,"div",[["class","button-group text-right"]],null,null,null,null,null)),(l()(),t["ɵeld"](34,0,null,null,2,"cd-submit-button",[],null,[[null,"submitAction"]],(function(l,n,e){var t=!0;return"submitAction"===n&&(t=!1!==l.component.update()&&t),t}),d.b,d.a)),t["ɵdid"](35,114688,null,0,c.a,[t.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(l()(),t["ɵted"](-1,0,["Update"])),(l()(),t["ɵeld"](37,0,null,null,1,"cd-back-button",[["name","Cancel"]],null,null,null,m.b,m.a)),t["ɵdid"](38,49152,null,0,p.a,[h.Location,g.b],{name:[0,"name"],back:[1,"back"]},null)],(function(l,n){var e=n.component;l(n,1,0,e.modalRef),l(n,7,0,e.editSiteNameForm),l(n,10,0,e.editSiteNameForm),l(n,19,0),l(n,25,0,""),l(n,28,0,"siteName"),l(n,31,0,"siteName"),l(n,35,0,e.editSiteNameForm),l(n,38,0,"Cancel",e.modalRef.hide)}),(function(l,n){l(n,5,0,t["ɵnov"](n,9).ngClassUntouched,t["ɵnov"](n,9).ngClassTouched,t["ɵnov"](n,9).ngClassPristine,t["ɵnov"](n,9).ngClassDirty,t["ɵnov"](n,9).ngClassValid,t["ɵnov"](n,9).ngClassInvalid,t["ɵnov"](n,9).ngClassPending),l(n,18,0,t["ɵnov"](n,19).hasErrors,t["ɵnov"](n,19).hasSuccess),l(n,24,0,t["ɵnov"](n,30).ngClassUntouched,t["ɵnov"](n,30).ngClassTouched,t["ɵnov"](n,30).ngClassPristine,t["ɵnov"](n,30).ngClassDirty,t["ɵnov"](n,30).ngClassValid,t["ɵnov"](n,30).ngClassInvalid,t["ɵnov"](n,30).ngClassPending,t["ɵnov"](n,31).validClass,t["ɵnov"](n,31).invalidClass)}))}function y(l){return t["ɵvid"](0,[(l()(),t["ɵeld"](0,0,null,null,1,"cd-edit-site-mode-modal",[],null,null,null,_,S)),t["ɵdid"](1,114688,null,0,f.a,[v.a,b.a,C.a],null,null)],(function(l,n){l(n,1,0)}),null)}var R=t["ɵccf"]("cd-edit-site-mode-modal",f.a,y,{},{},[])}}]);
\ No newline at end of file
diff --git a/ceph/src/pybind/mgr/dashboard/frontend/dist/en-US/6.4299ba94dd69b0b04046.js b/ceph/src/pybind/mgr/dashboard/frontend/dist/en-US/6.4299ba94dd69b0b04046.js
new file mode 100644 (file)
index 0000000..290e413
--- /dev/null
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{OcYo:function(l,n,u){"use strict";u.d(n,"a",(function(){return e}));class e{constructor(l,n,u){this.elementRef=l,this.renderer=n,this.toastr=u}ngOnInit(){const l=this.renderer.createElement("i");this.renderer.addClass(l,"fa"),this.renderer.addClass(l,"fa-clipboard"),this.renderer.appendChild(this.elementRef.nativeElement,l)}getInputElement(){return document.getElementById(this.cdCopy2ClipboardButton)}onClick(){try{const l=document.createElement("input");l.value=this.getInputElement().value,document.body.appendChild(l),l.select(),document.execCommand("copy"),document.body.removeChild(l),this.toastr.success("Copied text to the clipboard successfully.")}catch(l){this.toastr.error("Failed to copy text to the clipboard.")}}}},Znkk:function(l,n,u){"use strict";u.r(n);var e=u("8Y7J"),t=u("sne2"),i=u("Avrn"),a=u("+0ag"),o=u("mSOc");class s{constructor(l,n,u){this.route=l,this.summaryService=n,this.cephReleaseNamePipe=u,this.message="The Object Gateway service is not configured."}ngOnInit(){const l=this.summaryService.subscribe(n=>{if(!n)return;const u=this.cephReleaseNamePipe.transform(n.version);this.docsUrl=`http://docs.ceph.com/docs/${u}/mgr/dashboard/`+"#enabling-the-object-gateway-management-frontend",setTimeout(()=>{l.unsubscribe()},0)});this.routeParamsSubscribe=this.route.params.subscribe(l=>{this.message=l.message})}ngOnDestroy(){this.routeParamsSubscribe.unsubscribe()}}var d=u("s7LF"),r=u("LvDl"),c=u("mrSG"),m=u("IheW"),g=u("cp0P"),p=u("LRne"),f=u("5+tZ"),v=u("xTzq"),b=u("pL04");let h=(()=>{let l=class{constructor(l){this.http=l,this.url="api/rgw/bucket"}list(){return this.enumerate().pipe(Object(f.a)(l=>l.length>0?Object(g.a)(l.map(l=>this.get(l))):Object(p.a)([])))}enumerate(){return this.http.get(this.url)}get(l){return this.http.get(`${this.url}/${l}`)}create(l,n,u,e,t,i,a,o){return this.http.post(this.url,null,{params:new m.h({fromObject:{bucket:l,uid:n,zonegroup:u,placement_target:e,lock_enabled:String(t),lock_mode:i,lock_retention_period_days:a,lock_retention_period_years:o}})})}update(l,n,u,e,t,i,a,o,s,d){let r=new m.h;return r=r.append("bucket_id",n),r=r.append("uid",u),r=r.append("versioning_state",e),r=r.append("mfa_delete",t),r=r.append("mfa_token_serial",i),r=r.append("mfa_token_pin",a),r=r.append("lock_mode",o),r=r.append("lock_retention_period_days",s),r=r.append("lock_retention_period_years",d),this.http.put(`${this.url}/${l}`,null,{params:r})}delete(l,n=!0){let u=new m.h;return u=u.append("purge_objects",n?"true":"false"),this.http.delete(`${this.url}/${l}`,{params:u})}exists(l){return this.enumerate().pipe(Object(f.a)(n=>{const u=r.indexOf(n,l);return Object(p.a)(-1!==u)}))}};return l.ngInjectableDef=e["ɵɵdefineInjectable"]({factory:function(){return new l(e["ɵɵinject"](m.c))},token:l,providedIn:b.a}),l=c.__decorate([v.a,c.__metadata("design:paramtypes",[m.c])],l),l})(),C=(()=>{let l=class{constructor(l){this.http=l,this.url="api/rgw/site"}getPlacementTargets(){let l=new m.h;return l=l.append("query","placement-targets"),this.http.get(this.url,{params:l})}};return l.ngInjectableDef=e["ɵɵdefineInjectable"]({factory:function(){return new l(e["ɵɵinject"](m.c))},token:l,providedIn:b.a}),l=c.__decorate([v.a,c.__metadata("design:paramtypes",[m.c])],l),l})();var _=u("P8lu"),k=u("oxzT"),y=u("mtw6"),R=u("2EZI"),I=u("1Ni5"),w=u("9nlD"),E=function(l){return l.ENABLED="Enabled",l.DISABLED="Disabled",l}({}),N=function(l){return l.ENABLED="Enabled",l.SUSPENDED="Suspended",l}({});class q{constructor(l,n,u,e,i,a,o,s,d){this.route=l,this.router=n,this.formBuilder=u,this.rgwBucketService=e,this.rgwSiteService=i,this.rgwUserService=a,this.notificationService=o,this.i18n=s,this.actionLabels=d,this.editing=!1,this.error=!1,this.loading=!1,this.owners=null,this.placementTargets=[],this.isVersioningEnabled=!1,this.isVersioningAlreadyEnabled=!1,this.isMfaDeleteEnabled=!1,this.isMfaDeleteAlreadyEnabled=!1,this.icons=k.a,this.editing=this.router.url.startsWith(`/rgw/bucket/${t.e.EDIT}`),this.action=this.editing?this.actionLabels.EDIT:this.actionLabels.CREATE,this.resource=this.i18n("bucket"),this.createForm()}createForm(){const l=this,n=I.a.custom("eitherDaysOrYears",()=>{if(!l.bucketForm||!r.get(l.bucketForm.getRawValue(),"lock_enabled"))return!1;const n=l.bucketForm.getValue("lock_retention_period_years"),u=l.bucketForm.getValue("lock_retention_period_days");return u>0&&n>0||0===u&&0===n}),u=[0,[I.a.number(!1),n]];this.bucketForm=this.formBuilder.group({id:[null],bid:[null,[d.B.required],this.editing?[]:[this.bucketNameValidator()]],owner:[null,[d.B.required]],"placement-target":[null,this.editing?[]:[d.B.required]],versioning:[null],"mfa-delete":[null],"mfa-token-serial":[""],"mfa-token-pin":[""],lock_enabled:[{value:!1,disabled:this.editing}],lock_mode:["COMPLIANCE"],lock_retention_period_days:u,lock_retention_period_years:u})}ngOnInit(){this.rgwUserService.enumerate().subscribe(l=>{this.owners=l.sort()}),this.editing||this.rgwSiteService.getPlacementTargets().subscribe(l=>{this.zonegroup=l.zonegroup,r.forEach(l.placement_targets,l=>{l.description=`${l.name} (${this.i18n("pool")}: ${l.data_pool})`,this.placementTargets.push(l)}),1===this.placementTargets.length&&this.bucketForm.get("placement-target").setValue(this.placementTargets[0].name)}),this.route.params.subscribe(l=>{if(!l.hasOwnProperty("bid"))return;const n=decodeURIComponent(l.bid);this.loading=!0,this.rgwBucketService.get(n).subscribe(l=>{this.loading=!1;const n=r.clone(this.bucketForm.getRawValue());let u=r.pick(l,r.keys(n));u["placement-target"]=l.placement_rule,u=r.merge(n,u),this.bucketForm.setValue(u),this.editing&&(this.setVersioningStatus(l.versioning),this.isVersioningAlreadyEnabled=this.isVersioningEnabled,this.setMfaDeleteStatus(l.mfa_delete),this.isMfaDeleteAlreadyEnabled=this.isMfaDeleteEnabled,this.setMfaDeleteValidators())})})}goToListView(){this.router.navigate(["/rgw/bucket"])}submit(){if(this.bucketForm.pristine)return void this.goToListView();const l=this.bucketForm.value;if(this.editing){const n=this.getVersioningStatus(),u=this.getMfaDeleteStatus();this.rgwBucketService.update(l.bid,l.id,l.owner,n,u,l["mfa-token-serial"],l["mfa-token-pin"],l.lock_mode,l.lock_retention_period_days,l.lock_retention_period_years).subscribe(()=>{this.notificationService.show(y.a.success,this.i18n('Updated Object Gateway bucket "{{bid}}".',l)),this.goToListView()},()=>{this.bucketForm.setErrors({cdSubmitButton:!0})})}else this.rgwBucketService.create(l.bid,l.owner,this.zonegroup,l["placement-target"],l.lock_enabled,l.lock_mode,l.lock_retention_period_days,l.lock_retention_period_years).subscribe(()=>{this.notificationService.show(y.a.success,this.i18n('Created Object Gateway bucket "{{bid}}"',l)),this.goToListView()},()=>{this.bucketForm.setErrors({cdSubmitButton:!0})})}bucketNameValidator(){const l=this.rgwBucketService;return n=>new Promise(u=>{if(n.pristine||""===n.value)return void u(null);const e=[];e.push(l=>!I.a.ip()(l)),e.push(l=>r.inRange(l.length,3,64)),e.push(l=>{const n=r.split(l,".");return r.every(n,l=>l===r.toLower(l)&&!l.includes("_")&&!!/[0-9a-z-]/.test(l)&&r.every([0,l.length],n=>/[a-z]/.test(l[n])||r.isInteger(r.parseInt(l[n]))))}),r.every(e,l=>l(n.value))?l.exists(n.value).subscribe(l=>{u(l?{bucketNameExists:!0}:null)}):u({bucketNameInvalid:!0})})}areMfaCredentialsRequired(){return this.isMfaDeleteEnabled!==this.isMfaDeleteAlreadyEnabled||this.isMfaDeleteAlreadyEnabled&&this.isVersioningEnabled!==this.isVersioningAlreadyEnabled}setMfaDeleteValidators(){const l=this.bucketForm.get("mfa-token-serial"),n=this.bucketForm.get("mfa-token-pin");this.areMfaCredentialsRequired()?(l.setValidators(d.B.required),n.setValidators(d.B.required)):(l.setValidators(null),n.setValidators(null)),l.updateValueAndValidity(),n.updateValueAndValidity()}getVersioningStatus(){return this.isVersioningEnabled?N.ENABLED:N.SUSPENDED}setVersioningStatus(l){this.isVersioningEnabled=l===N.ENABLED}updateVersioning(){this.isVersioningEnabled=!this.isVersioningEnabled,this.setMfaDeleteValidators()}getMfaDeleteStatus(){return this.isMfaDeleteEnabled?E.ENABLED:E.DISABLED}setMfaDeleteStatus(l){this.isMfaDeleteEnabled=l===E.ENABLED}updateMfaDelete(){this.isMfaDeleteEnabled=!this.isMfaDeleteEnabled,this.setMfaDeleteValidators()}}var T=u("HDdC"),V=u("0+/T"),S=u("uIqm"),x=u("vCyI"),D=u("aexS"),F=u("EgGo");const j=new F.a("rgw/bucket");class B{constructor(l,n,u,e,t,i,a){this.authStorageService=l,this.rgwBucketService=n,this.bsModalService=u,this.i18n=e,this.urlBuilder=t,this.actionLabels=i,this.ngZone=a,this.columns=[],this.buckets=[],this.selection=new x.a,this.isStale=!1,this.permission=this.authStorageService.getPermissions().rgw,this.columns=[{name:this.i18n("Name"),prop:"bid",flexGrow:1},{name:this.i18n("Owner"),prop:"owner",flexGrow:1}];const o=()=>this.selection.first()&&`${encodeURIComponent(this.selection.first().bid)}`;this.tableActions=[{permission:"create",icon:k.a.add,routerLink:()=>this.urlBuilder.getCreate(),name:this.actionLabels.CREATE,canBePrimary:l=>!l.hasSelection},{permission:"update",icon:k.a.edit,routerLink:()=>this.urlBuilder.getEdit(o()),name:this.actionLabels.EDIT},{permission:"delete",icon:k.a.destroy,click:()=>this.deleteAction(),disable:()=>!this.selection.hasSelection,name:this.actionLabels.DELETE,canBePrimary:l=>l.hasMultiSelection}],this.timeConditionReached()}timeConditionReached(){clearTimeout(this.staleTimeout),this.ngZone.runOutsideAngular(()=>{this.staleTimeout=window.setTimeout(()=>{this.ngZone.run(()=>{this.isStale=!0})},1e4)})}getBucketList(l){this.isStale=!1,this.timeConditionReached(),this.rgwBucketService.list().subscribe(l=>{this.buckets=l},()=>{l.error()})}updateSelection(l){this.selection=l}deleteAction(){this.bsModalService.show(V.a,{initialState:{itemDescription:this.i18n(this.selection.hasSingleSelection?"bucket":"buckets"),itemNames:this.selection.selected.map(l=>l.bid),submitActionObservable:()=>new T.a(l=>{Object(g.a)(this.selection.selected.map(l=>this.rgwBucketService.delete(l.bid))).subscribe(null,n=>{l.error(n),this.table.refreshBtn()},()=>{l.complete(),this.table.refreshBtn()})})}})}}let A=(()=>{let l=class{constructor(l){this.http=l,this.url="api/rgw/daemon"}list(){return this.http.get(this.url)}get(l){return this.http.get(`${this.url}/${l}`)}};return l.ngInjectableDef=e["ɵɵdefineInjectable"]({factory:function(){return new l(e["ɵɵinject"](m.c))},token:l,providedIn:b.a}),l=c.__decorate([v.a,c.__metadata("design:paramtypes",[m.c])],l),l})();var P=u("85J/");class M{constructor(l,n,u,e){this.rgwDaemonService=l,this.authStorageService=n,this.i18n=e,this.columns=[],this.daemons=[],this.selection=new x.a,this.grafanaPermission=this.authStorageService.getPermissions().grafana,this.columns=[{name:this.i18n("ID"),prop:"id",flexGrow:2},{name:this.i18n("Hostname"),prop:"server_hostname",flexGrow:2},{name:this.i18n("Version"),prop:"version",flexGrow:1,pipe:u}]}getDaemonList(l){this.rgwDaemonService.list().subscribe(l=>{this.daemons=l},()=>{l.error()})}updateSelection(l){this.selection=l}}var O=u("GyhO"),U=u("aXbf"),L=function(l){return l.USERS="users",l.BUCKETS="buckets",l.METADATA="metadata",l.USAGE="usage",l.ZONE="zone",l}({});let z=(()=>{class l{static getAll(){return Object.values(l.capabilities)}}return l.capabilities=L,l})();class G{constructor(l,n,u,t){this.formBuilder=l,this.bsModalRef=n,this.i18n=u,this.actionLabels=t,this.submitAction=new e.EventEmitter,this.editing=!0,this.types=[],this.resource=this.i18n("capability"),this.createForm()}createForm(){this.formGroup=this.formBuilder.group({type:[null,[d.B.required]],perm:[null,[d.B.required]]})}setEditing(l=!0){this.editing=l,this.action=this.editing?this.actionLabels.EDIT:this.actionLabels.ADD}setValues(l,n){this.formGroup.setValue({type:l,perm:n})}setCapabilities(l){const n=[];l.forEach(l=>{n.push(l.type)}),this.types=[],z.getAll().forEach(l=>{-1===r.indexOf(n,l)&&this.types.push(l)})}onSubmit(){this.submitAction.emit(this.formGroup.value),this.bsModalRef.hide()}}class K{constructor(l,n,u,t){this.formBuilder=l,this.bsModalRef=n,this.i18n=u,this.actionLabels=t,this.submitAction=new e.EventEmitter,this.viewing=!0,this.userCandidates=[],this.resource=this.i18n("S3 Key"),this.createForm()}createForm(){this.formGroup=this.formBuilder.group({user:[null,[d.B.required]],generate_key:[!0],access_key:[null,[I.a.requiredIf({generate_key:!1})]],secret_key:[null,[I.a.requiredIf({generate_key:!1})]]})}setViewing(l=!0){this.viewing=l,this.action=this.viewing?this.actionLabels.SHOW:this.actionLabels.CREATE}setValues(l,n,u){this.formGroup.setValue({user:l,generate_key:r.isEmpty(n),access_key:n,secret_key:u})}setUserCandidates(l){this.userCandidates=l}onSubmit(){this.submitAction.emit(this.formGroup.value),this.bsModalRef.hide()}}class ${}class Z{constructor(l,n,u,t){this.formBuilder=l,this.bsModalRef=n,this.i18n=u,this.actionLabels=t,this.submitAction=new e.EventEmitter,this.editing=!0,this.subusers=[],this.resource=this.i18n("Subuser"),this.createForm()}createForm(){this.formGroup=this.formBuilder.group({uid:[null],subuid:[null,[d.B.required,this.subuserValidator()]],perm:[null,[d.B.required]],generate_secret:[!0],secret_key:[null,[I.a.requiredIf({generate_secret:!1})]]})}subuserValidator(){const l=this;return n=>l.editing?null:Object(I.b)(n.value)?null:l.subusers.some(u=>r.isEqual(l.getSubuserName(u.id),n.value))?{subuserIdExists:!0}:null}getSubuserName(l){if(r.isEmpty(l))return l;const n=l.match(/([^:]+)(:(.+))?/);return r.isUndefined(n[3])?n[1]:n[3]}setEditing(l=!0){this.editing=l,this.action=this.editing?this.actionLabels.EDIT:this.actionLabels.CREATE}setValues(l,n="",u=""){this.formGroup.setValue({uid:l,subuid:this.getSubuserName(n),perm:u,generate_secret:!0,secret_key:null})}setSubusers(l){this.subusers=l}onSubmit(){const l=this.formGroup.value,n=new $;n.id=`${l.uid}:${l.subuid}`,n.permissions=l.perm,n.generate_secret=l.generate_secret,n.secret_key=l.secret_key,this.submitAction.emit(n),this.bsModalRef.hide()}}class H{constructor(l,n,u){this.bsModalRef=l,this.i18n=n,this.actionLabels=u,this.resource=this.i18n("Swift Key"),this.action=this.actionLabels.SHOW}setValues(l,n){this.user=l,this.secret_key=n}}class Q{constructor(l,n,u,e,t,i,a,o){this.formBuilder=l,this.route=n,this.router=u,this.rgwUserService=e,this.bsModalService=t,this.notificationService=i,this.i18n=a,this.actionLabels=o,this.editing=!1,this.error=!1,this.loading=!1,this.submitObservables=[],this.icons=k.a,this.subusers=[],this.s3Keys=[],this.swiftKeys=[],this.capabilities=[],this.resource=this.i18n("user"),this.subuserLabel=this.i18n("subuser"),this.s3keyLabel=this.i18n("S3 Key"),this.capabilityLabel=this.i18n("capability"),this.createForm()}createForm(){this.userForm=this.formBuilder.group({uid:[null,[d.B.required],[I.a.unique(this.rgwUserService.exists,this.rgwUserService)]],display_name:[null,[d.B.required]],email:[null,[I.a.email],[I.a.unique(this.rgwUserService.emailExists,this.rgwUserService)]],max_buckets_mode:[1],max_buckets:[1e3,[I.a.requiredIf({max_buckets_mode:"1"}),I.a.number(!1),d.B.min(1)]],suspended:[!1],generate_key:[!0],access_key:[null,[I.a.requiredIf({generate_key:!1})]],secret_key:[null,[I.a.requiredIf({generate_key:!1})]],user_quota_enabled:[!1],user_quota_max_size_unlimited:[!0],user_quota_max_size:[null,[I.a.composeIf({user_quota_enabled:!0,user_quota_max_size_unlimited:!1},[d.B.required,this.quotaMaxSizeValidator])]],user_quota_max_objects_unlimited:[!0],user_quota_max_objects:[null,[d.B.min(0),I.a.requiredIf({user_quota_enabled:!0,user_quota_max_objects_unlimited:!1})]],bucket_quota_enabled:[!1],bucket_quota_max_size_unlimited:[!0],bucket_quota_max_size:[null,[I.a.composeIf({bucket_quota_enabled:!0,bucket_quota_max_size_unlimited:!1},[d.B.required,this.quotaMaxSizeValidator])]],bucket_quota_max_objects_unlimited:[!0],bucket_quota_max_objects:[null,[d.B.min(0),I.a.requiredIf({bucket_quota_enabled:!0,bucket_quota_max_objects_unlimited:!1})]]})}ngOnInit(){this.editing=this.router.url.startsWith(`/rgw/user/${t.e.EDIT}`),this.action=this.editing?this.actionLabels.EDIT:this.actionLabels.CREATE,this.route.params.subscribe(l=>{if(!l.hasOwnProperty("uid"))return;const n=decodeURIComponent(l.uid);this.loading=!0;const u=[];u.push(this.rgwUserService.get(n)),u.push(this.rgwUserService.getQuota(n)),Object(g.a)(u).subscribe(l=>{this.loading=!1;const n=r.clone(this.userForm.value);let u=r.pick(l[0],r.keys(this.userForm.value));switch(u.max_buckets){case-1:u.max_buckets_mode=-1,u.max_buckets="";break;case 0:u.max_buckets_mode=0,u.max_buckets="";break;default:u.max_buckets_mode=1}["user","bucket"].forEach(n=>{const e=l[1][n+"_quota"];u[n+"_quota_enabled"]=e.enabled,e.max_size<0?(u[n+"_quota_max_size_unlimited"]=!0,u[n+"_quota_max_size"]=null):(u[n+"_quota_max_size_unlimited"]=!1,u[n+"_quota_max_size"]=`${e.max_size} B`),e.max_objects<0?(u[n+"_quota_max_objects_unlimited"]=!0,u[n+"_quota_max_objects"]=null):(u[n+"_quota_max_objects_unlimited"]=!1,u[n+"_quota_max_objects"]=e.max_objects)}),u=r.merge(n,u),this.userForm.setValue(u),this.subusers=l[0].subusers,this.s3Keys=l[0].keys,this.swiftKeys=l[0].swift_keys;const e={"read, write":"*"};l[0].caps.forEach(l=>{l.perm in e&&(l.perm=e[l.perm])}),this.capabilities=l[0].caps},l=>{this.error=l})})}goToListView(){this.router.navigate(["/rgw/user"])}onSubmit(){let l;if(this.userForm.pristine)return void this.goToListView();const n=this.userForm.getValue("uid");if(this.editing){if(this._isGeneralDirty()){const l=this._getUpdateArgs();this.submitObservables.push(this.rgwUserService.update(n,l))}l=this.i18n('Updated Object Gateway user "{{uid}}"',{uid:n})}else{const u=this._getCreateArgs();this.submitObservables.push(this.rgwUserService.create(u)),l=this.i18n('Created Object Gateway user "{{uid}}"',{uid:n})}if(this._isUserQuotaDirty()){const l=this._getUserQuotaArgs();this.submitObservables.push(this.rgwUserService.updateQuota(n,l))}if(this._isBucketQuotaDirty()){const l=this._getBucketQuotaArgs();this.submitObservables.push(this.rgwUserService.updateQuota(n,l))}Object(O.a)(...this.submitObservables).subscribe({error:()=>{this.userForm.setErrors({cdSubmitButton:!0})},complete:()=>{this.notificationService.show(y.a.success,l),this.goToListView()}})}quotaMaxSizeValidator(l){return Object(I.b)(l.value)?null:null===RegExp("^(\\d+(\\.\\d+)?)\\s*(B|K(B|iB)?|M(B|iB)?|G(B|iB)?|T(B|iB)?)?$","i").exec(l.value)?{quotaMaxSize:!0}:(new U.a).toBytes(l.value)<1024?{quotaMaxSize:!0}:null}setSubuser(l,n){const u={"full-control":"full","read-write":"readwrite"},e=this.userForm.getValue("uid");this.submitObservables.push(this.rgwUserService.createSubuser(e,{subuser:l.id,access:l.permissions in u?u[l.permissions]:l.permissions,key_type:"swift",secret_key:l.secret_key,generate_secret:l.generate_secret?"true":"false"})),r.isNumber(n)?this.subusers[n]=l:(this.subusers.push(l),this.swiftKeys.push({user:l.id,secret_key:l.generate_secret?"Apply your changes first...":l.secret_key})),this.userForm.markAsDirty()}deleteSubuser(l){const n=this.subusers[l];this.submitObservables.push(this.rgwUserService.deleteSubuser(this.userForm.getValue("uid"),n.id)),this.s3Keys=this.s3Keys.filter(l=>l.user!==n.id),this.swiftKeys=this.swiftKeys.filter(l=>l.user!==n.id),this.subusers.splice(l,1),this.userForm.markAsDirty()}setCapability(l,n){const u=this.userForm.getValue("uid");if(r.isNumber(n)){const e=this.capabilities[n];this.submitObservables.push(this.rgwUserService.deleteCapability(u,e.type,e.perm)),this.submitObservables.push(this.rgwUserService.addCapability(u,l.type,l.perm)),this.capabilities[n]=l}else this.submitObservables.push(this.rgwUserService.addCapability(u,l.type,l.perm)),this.capabilities.push(l);this.userForm.markAsDirty()}deleteCapability(l){const n=this.capabilities[l];this.submitObservables.push(this.rgwUserService.deleteCapability(this.userForm.getValue("uid"),n.type,n.perm)),this.capabilities.splice(l,1),this.userForm.markAsDirty()}hasAllCapabilities(){return!r.difference(z.getAll(),r.map(this.capabilities,"type")).length}setS3Key(l,n){if(r.isNumber(n));else{const n=l.user.match(/([^:]+)(:(.+))?/),u=n[1],e={subuser:n[2]?n[3]:"",generate_key:l.generate_key?"true":"false"};"false"===e.generate_key&&(r.isNil(l.access_key)||(e.access_key=l.access_key),r.isNil(l.secret_key)||(e.secret_key=l.secret_key)),this.submitObservables.push(this.rgwUserService.addS3Key(u,e)),this.s3Keys.push({user:l.user,access_key:l.generate_key?"Apply your changes first...":l.access_key,secret_key:l.generate_key?"Apply your changes first...":l.secret_key})}this.userForm.markAsDirty()}deleteS3Key(l){const n=this.s3Keys[l];this.submitObservables.push(this.rgwUserService.deleteS3Key(this.userForm.getValue("uid"),n.access_key)),this.s3Keys.splice(l,1),this.userForm.markAsDirty()}showSubuserModal(l){const n=this.userForm.getValue("uid"),u=this.bsModalService.show(Z);if(r.isNumber(l)){const e=this.subusers[l];u.content.setEditing(),u.content.setValues(n,e.id,e.permissions)}else u.content.setEditing(!1),u.content.setValues(n),u.content.setSubusers(this.subusers);u.content.submitAction.subscribe(n=>{this.setSubuser(n,l)})}showS3KeyModal(l){const n=this.bsModalService.show(K);if(r.isNumber(l)){const u=this.s3Keys[l];n.content.setViewing(),n.content.setValues(u.user,u.access_key,u.secret_key)}else{const l=this._getS3KeyUserCandidates();n.content.setViewing(!1),n.content.setUserCandidates(l),n.content.submitAction.subscribe(l=>{this.setS3Key(l)})}}showSwiftKeyModal(l){const n=this.bsModalService.show(H),u=this.swiftKeys[l];n.content.setValues(u.user,u.secret_key)}showCapabilityModal(l){const n=this.bsModalService.show(G);if(r.isNumber(l)){const u=this.capabilities[l];n.content.setEditing(),n.content.setValues(u.type,u.perm)}else n.content.setEditing(!1),n.content.setCapabilities(this.capabilities);n.content.submitAction.subscribe(n=>{this.setCapability(n,l)})}_isGeneralDirty(){return["display_name","email","max_buckets_mode","max_buckets","suspended"].some(l=>this.userForm.get(l).dirty)}_isUserQuotaDirty(){return["user_quota_enabled","user_quota_max_size_unlimited","user_quota_max_size","user_quota_max_objects_unlimited","user_quota_max_objects"].some(l=>this.userForm.get(l).dirty)}_isBucketQuotaDirty(){return["bucket_quota_enabled","bucket_quota_max_size_unlimited","bucket_quota_max_size","bucket_quota_max_objects_unlimited","bucket_quota_max_objects"].some(l=>this.userForm.get(l).dirty)}_getCreateArgs(){const l={uid:this.userForm.getValue("uid"),display_name:this.userForm.getValue("display_name"),suspended:this.userForm.getValue("suspended"),email:"",max_buckets:this.userForm.getValue("max_buckets"),generate_key:this.userForm.getValue("generate_key"),access_key:"",secret_key:""},n=this.userForm.getValue("email");r.isString(n)&&n.length>0&&r.merge(l,{email:n}),this.userForm.getValue("generate_key")||r.merge(l,{generate_key:!1,access_key:this.userForm.getValue("access_key"),secret_key:this.userForm.getValue("secret_key")});const u=parseInt(this.userForm.getValue("max_buckets_mode"),10);return r.includes([-1,0],u)&&r.merge(l,{max_buckets:u}),l}_getUpdateArgs(){const l={},n=["display_name","email","max_buckets","suspended"];for(const e of n)l[e]=this.userForm.getValue(e);const u=parseInt(this.userForm.getValue("max_buckets_mode"),10);return r.includes([-1,0],u)&&(l.max_buckets=u),l}_getUserQuotaArgs(){const l={quota_type:"user",enabled:this.userForm.getValue("user_quota_enabled"),max_size_kb:-1,max_objects:-1};if(!this.userForm.getValue("user_quota_max_size_unlimited")){const n=(new U.a).toBytes(this.userForm.getValue("user_quota_max_size"));l.max_size_kb=(n/1024).toFixed(0)}return this.userForm.getValue("user_quota_max_objects_unlimited")||(l.max_objects=this.userForm.getValue("user_quota_max_objects")),l}_getBucketQuotaArgs(){const l={quota_type:"bucket",enabled:this.userForm.getValue("bucket_quota_enabled"),max_size_kb:-1,max_objects:-1};if(!this.userForm.getValue("bucket_quota_max_size_unlimited")){const n=(new U.a).toBytes(this.userForm.getValue("bucket_quota_max_size"));l.max_size_kb=(n/1024).toFixed(0)}return this.userForm.getValue("bucket_quota_max_objects_unlimited")||(l.max_objects=this.userForm.getValue("bucket_quota_max_objects")),l}_getS3KeyUserCandidates(){let l=[];const n=this.userForm.getValue("uid");return r.isString(n)&&!r.isEmpty(n)&&l.push(n),this.subusers.forEach(n=>{l.push(n.id)}),this.s3Keys.forEach(n=>{l.push(n.user)}),l=r.uniq(l),l}}var Y=u("x38r");const W=new F.a("rgw/user");class J{constructor(l,n,u,e,t,i,a){this.authStorageService=l,this.rgwUserService=n,this.bsModalService=u,this.i18n=e,this.urlBuilder=t,this.actionLabels=i,this.ngZone=a,this.columns=[],this.users=[],this.selection=new x.a,this.isStale=!1,this.permission=this.authStorageService.getPermissions().rgw,this.columns=[{name:this.i18n("Username"),prop:"uid",flexGrow:1},{name:this.i18n("Full name"),prop:"display_name",flexGrow:1},{name:this.i18n("Email address"),prop:"email",flexGrow:1},{name:this.i18n("Suspended"),prop:"suspended",flexGrow:1,cellClass:"text-center",cellTransformation:Y.a.checkIcon},{name:this.i18n("Max. buckets"),prop:"max_buckets",flexGrow:1,cellTransformation:Y.a.map,customTemplateConfig:{"-1":this.i18n("Disabled"),0:this.i18n("Unlimited")}}];const o=()=>this.selection.first()&&`${encodeURIComponent(this.selection.first().uid)}`;this.tableActions=[{permission:"create",icon:k.a.add,routerLink:()=>this.urlBuilder.getCreate(),name:this.actionLabels.CREATE,canBePrimary:l=>!l.hasSelection},{permission:"update",icon:k.a.edit,routerLink:()=>this.urlBuilder.getEdit(o()),name:this.actionLabels.EDIT},{permission:"delete",icon:k.a.destroy,click:()=>this.deleteAction(),disable:()=>!this.selection.hasSelection,name:this.actionLabels.DELETE,canBePrimary:l=>l.hasMultiSelection}],this.timeConditionReached()}timeConditionReached(){clearTimeout(this.staleTimeout),this.ngZone.runOutsideAngular(()=>{this.staleTimeout=window.setTimeout(()=>{this.ngZone.run(()=>{this.isStale=!0})},1e4)})}getUserList(l){this.isStale=!1,this.timeConditionReached(),this.rgwUserService.list().subscribe(l=>{this.users=l},()=>{l.error()})}updateSelection(l){this.selection=l}deleteAction(){this.bsModalService.show(V.a,{initialState:{itemDescription:this.i18n(this.selection.hasSingleSelection?"user":"users"),itemNames:this.selection.selected.map(l=>l.uid),submitActionObservable:()=>new T.a(l=>{Object(g.a)(this.selection.selected.map(l=>this.rgwUserService.delete(l.uid))).subscribe(null,n=>{l.error(n),this.table.refreshBtn()},()=>{l.complete(),this.table.refreshBtn()})})}})}}class X{}const ll={breadcrumbs:"Daemons"},nl={breadcrumbs:"Users"},ul={breadcrumbs:t.a.CREATE},el={breadcrumbs:t.a.EDIT},tl={breadcrumbs:"Buckets"},il={breadcrumbs:t.a.CREATE},al={breadcrumbs:t.a.EDIT},ol={breadcrumbs:"Object Gateway"};class sl{}var dl=u("MdoF"),rl=u("ES0t"),cl=u("Xg1U"),ml=u("z5nN"),gl=u("iutN"),pl=u("pMnS"),fl=u("EEJc"),vl=u("PEr+"),bl=u("a40w"),hl=u("hfeG"),Cl=u("2ZVE"),_l=u("a278"),kl=u("insk"),yl=u("cUpR"),Rl=u("20UP"),Il=u("GiVz"),wl=u("pKUh"),El=u("sLuX"),Nl=u("FSuO"),ql=u("a0VL"),Tl=u("j8L6"),Vl=u("b5OY"),Sl=u("pxLl"),xl=u("SVse");class Dl{constructor(l,n){this.rgwDaemonService=l,this.authStorageService=n,this.serviceId="",this.grafanaPermission=this.authStorageService.getPermissions().grafana}ngOnChanges(){this.selection.hasSelection&&(this.serviceId=this.selection.first().id)}getMetaData(){r.isEmpty(this.serviceId)||this.rgwDaemonService.get(this.serviceId).subscribe(l=>{this.metadata=l.rgw_metadata})}}var Fl=e["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function jl(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"tab",[["heading","Performance Details"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),e["ɵdid"](1,212992,null,0,Cl.b,[Cl.e,e.ElementRef,e.Renderer2],{heading:[0,"heading"]},null),(l()(),e["ɵeld"](2,0,null,null,1,"cd-grafana",[["grafanaStyle","one"],["uid","x5ARzZtmk"]],null,null,null,_l.b,_l.a)),e["ɵdid"](3,638976,null,0,kl.a,[o.a,yl.b,Rl.a,a.a,Il.a],{grafanaPath:[0,"grafanaPath"],grafanaStyle:[1,"grafanaStyle"],uid:[2,"uid"]},null)],(function(l,n){var u=n.component;l(n,1,0,"Performance Details"),l(n,3,0,"rgw-instance-detail?var-rgw_servers=rgw."+u.selection.first().id,"one","x5ARzZtmk")}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).id,e["ɵnov"](n,1).active,e["ɵnov"](n,1).addClass)}))}function Bl(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,11,"tabset",[],[[2,"tab-container",null]],null,null,wl.b,wl.a)),e["ɵdid"](1,180224,null,0,Cl.e,[Cl.f,e.Renderer2,e.ElementRef],null,null),(l()(),e["ɵeld"](2,0,null,0,3,"tab",[["heading","Details"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),e["ɵdid"](3,212992,null,0,Cl.b,[Cl.e,e.ElementRef,e.Renderer2],{heading:[0,"heading"]},null),(l()(),e["ɵeld"](4,0,null,null,1,"cd-table-key-value",[],null,[[null,"fetchData"]],(function(l,n,u){var e=!0;return"fetchData"===n&&(e=!1!==l.component.getMetaData()&&e),e}),El.b,El.a)),e["ɵdid"](5,638976,null,0,Nl.a,[ql.a],{data:[0,"data"]},{fetchData:"fetchData"}),(l()(),e["ɵeld"](6,0,null,0,3,"tab",[["heading","Performance Counters"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),e["ɵdid"](7,212992,null,0,Cl.b,[Cl.e,e.ElementRef,e.Renderer2],{heading:[0,"heading"]},null),(l()(),e["ɵeld"](8,0,null,null,1,"cd-table-performance-counter",[["serviceType","rgw"]],null,null,null,Tl.b,Tl.a)),e["ɵdid"](9,114688,null,0,Vl.a,[Sl.a,Il.a],{serviceType:[0,"serviceType"],serviceId:[1,"serviceId"]},null),(l()(),e["ɵand"](16777216,null,0,1,null,jl)),e["ɵdid"](11,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,3,0,"Details"),l(n,5,0,u.metadata),l(n,7,0,"Performance Counters"),l(n,9,0,"rgw",u.serviceId),l(n,11,0,u.grafanaPermission.read)}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).clazz),l(n,2,0,e["ɵnov"](n,3).id,e["ɵnov"](n,3).active,e["ɵnov"](n,3).addClass),l(n,6,0,e["ɵnov"](n,7).id,e["ɵnov"](n,7).active,e["ɵnov"](n,7).addClass)}))}function Al(l){return e["ɵvid"](0,[(l()(),e["ɵand"](16777216,null,null,1,null,Bl)),e["ɵdid"](1,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){l(n,1,0,n.component.selection.hasSingleSelection)}),null)}function Pl(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"cd-rgw-daemon-details",[],null,null,null,Al,Fl)),e["ɵdid"](1,573440,null,0,Dl,[A,D.a],null,null)],null,null)}var Ml=e["ɵccf"]("cd-rgw-daemon-details",Dl,Pl,{selection:"selection"},{},[]),Ol=u("iExv"),Ul=u("o4+5");class Ll{constructor(){}ngOnChanges(){this.selection.hasSelection&&(this.bucket=this.selection.first())}}var zl=e["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Gl(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Unlimited"]))],null,null)}function Kl(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](1,null,[" "," "])),e["ɵppd"](2,1)],null,(function(l,n){var u=n.component,t=e["ɵunv"](n,1,0,l(n,2,0,e["ɵnov"](n.parent.parent.parent.parent,2),u.bucket.bucket_quota.max_size));l(n,1,0,t)}))}function $l(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Unlimited"]))],null,null)}function Zl(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](1,null,[" "," "]))],null,(function(l,n){l(n,1,0,n.component.bucket.bucket_quota.max_objects)}))}function Hl(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,24,"div",[],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,"legend",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Bucket quota"])),(l()(),e["ɵeld"](3,0,null,null,21,"table",[["class","table table-striped table-bordered"]],null,null,null,null,null)),(l()(),e["ɵeld"](4,0,null,null,20,"tbody",[],null,null,null,null,null)),(l()(),e["ɵeld"](5,0,null,null,5,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](6,0,null,null,1,"td",[["class","bold w-25"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Enabled"])),(l()(),e["ɵeld"](8,0,null,null,2,"td",[["class","w-75"]],null,null,null,null,null)),(l()(),e["ɵted"](9,null,["",""])),e["ɵppd"](10,1),(l()(),e["ɵeld"](11,0,null,null,6,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](12,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Maximum size"])),(l()(),e["ɵand"](16777216,null,null,1,null,Gl)),e["ɵdid"](15,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Kl)),e["ɵdid"](17,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](18,0,null,null,6,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](19,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Maximum objects"])),(l()(),e["ɵand"](16777216,null,null,1,null,$l)),e["ɵdid"](22,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Zl)),e["ɵdid"](24,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,15,0,u.bucket.bucket_quota.max_size<=-1),l(n,17,0,u.bucket.bucket_quota.max_size>-1),l(n,22,0,u.bucket.bucket_quota.max_objects<=-1),l(n,24,0,u.bucket.bucket_quota.max_objects>-1)}),(function(l,n){var u=n.component,t=e["ɵunv"](n,9,0,l(n,10,0,e["ɵnov"](n.parent.parent.parent,1),u.bucket.bucket_quota.enabled));l(n,9,0,t)}))}function Ql(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,15,null,null,null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,4,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](2,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Mode"])),(l()(),e["ɵeld"](4,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](5,null,["",""])),(l()(),e["ɵeld"](6,0,null,null,4,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](7,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Days"])),(l()(),e["ɵeld"](9,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](10,null,["",""])),(l()(),e["ɵeld"](11,0,null,null,4,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](12,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Years"])),(l()(),e["ɵeld"](14,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](15,null,["",""]))],null,(function(l,n){var u=n.component;l(n,5,0,u.bucket.lock_mode),l(n,10,0,u.bucket.lock_retention_period_days),l(n,15,0,u.bucket.lock_retention_period_years)}))}function Yl(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,82,"div",[],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,67,"table",[["class","table table-striped table-bordered"]],null,null,null,null,null)),(l()(),e["ɵeld"](2,0,null,null,66,"tbody",[],null,null,null,null,null)),(l()(),e["ɵeld"](3,0,null,null,4,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](4,0,null,null,1,"td",[["class","bold w-25"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Name"])),(l()(),e["ɵeld"](6,0,null,null,1,"td",[["class","w-75"]],null,null,null,null,null)),(l()(),e["ɵted"](7,null,["",""])),(l()(),e["ɵeld"](8,0,null,null,4,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](9,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["ID"])),(l()(),e["ɵeld"](11,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](12,null,["",""])),(l()(),e["ɵeld"](13,0,null,null,4,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](14,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Owner"])),(l()(),e["ɵeld"](16,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](17,null,["",""])),(l()(),e["ɵeld"](18,0,null,null,4,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](19,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Index type"])),(l()(),e["ɵeld"](21,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](22,null,["",""])),(l()(),e["ɵeld"](23,0,null,null,4,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](24,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Placement rule"])),(l()(),e["ɵeld"](26,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](27,null,["",""])),(l()(),e["ɵeld"](28,0,null,null,4,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](29,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Marker"])),(l()(),e["ɵeld"](31,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](32,null,["",""])),(l()(),e["ɵeld"](33,0,null,null,4,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](34,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Maximum marker"])),(l()(),e["ɵeld"](36,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](37,null,["",""])),(l()(),e["ɵeld"](38,0,null,null,4,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](39,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Version"])),(l()(),e["ɵeld"](41,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](42,null,["",""])),(l()(),e["ɵeld"](43,0,null,null,4,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](44,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Master version"])),(l()(),e["ɵeld"](46,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](47,null,["",""])),(l()(),e["ɵeld"](48,0,null,null,5,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](49,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Modification time"])),(l()(),e["ɵeld"](51,0,null,null,2,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](52,null,["",""])),e["ɵppd"](53,1),(l()(),e["ɵeld"](54,0,null,null,4,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](55,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Zonegroup"])),(l()(),e["ɵeld"](57,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](58,null,["",""])),(l()(),e["ɵeld"](59,0,null,null,4,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](60,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Versioning"])),(l()(),e["ɵeld"](62,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](63,null,["",""])),(l()(),e["ɵeld"](64,0,null,null,4,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](65,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["MFA Delete"])),(l()(),e["ɵeld"](67,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](68,null,["",""])),(l()(),e["ɵand"](16777216,null,null,1,null,Hl)),e["ɵdid"](70,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](71,0,null,null,1,"legend",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Locking"])),(l()(),e["ɵeld"](73,0,null,null,9,"table",[["class","table table-striped table-bordered"]],null,null,null,null,null)),(l()(),e["ɵeld"](74,0,null,null,8,"tbody",[],null,null,null,null,null)),(l()(),e["ɵeld"](75,0,null,null,5,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](76,0,null,null,1,"td",[["class","bold w-25"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Enabled"])),(l()(),e["ɵeld"](78,0,null,null,2,"td",[["class","w-75"]],null,null,null,null,null)),(l()(),e["ɵted"](79,null,["",""])),e["ɵppd"](80,1),(l()(),e["ɵand"](16777216,null,null,1,null,Ql)),e["ɵdid"](82,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,70,0,u.bucket.bucket_quota),l(n,82,0,u.bucket.lock_enabled)}),(function(l,n){var u=n.component;l(n,7,0,u.bucket.bid),l(n,12,0,u.bucket.id),l(n,17,0,u.bucket.owner),l(n,22,0,u.bucket.index_type),l(n,27,0,u.bucket.placement_rule),l(n,32,0,u.bucket.marker),l(n,37,0,u.bucket.max_marker),l(n,42,0,u.bucket.ver),l(n,47,0,u.bucket.master_ver);var t=e["ɵunv"](n,52,0,l(n,53,0,e["ɵnov"](n.parent.parent,0),u.bucket.mtime));l(n,52,0,t),l(n,58,0,u.bucket.zonegroup),l(n,63,0,u.bucket.versioning),l(n,68,0,u.bucket.mfa_delete);var i=e["ɵunv"](n,79,0,l(n,80,0,e["ɵnov"](n.parent.parent,1),u.bucket.lock_enabled));l(n,79,0,i)}))}function Wl(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,5,"tabset",[],[[2,"tab-container",null]],null,null,wl.b,wl.a)),e["ɵdid"](1,180224,null,0,Cl.e,[Cl.f,e.Renderer2,e.ElementRef],null,null),(l()(),e["ɵeld"](2,0,null,0,3,"tab",[["heading","Details"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),e["ɵdid"](3,212992,null,0,Cl.b,[Cl.e,e.ElementRef,e.Renderer2],{heading:[0,"heading"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Yl)),e["ɵdid"](5,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,3,0,"Details"),l(n,5,0,u.bucket)}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).clazz),l(n,2,0,e["ɵnov"](n,3).id,e["ɵnov"](n,3).active,e["ɵnov"](n,3).addClass)}))}function Jl(l){return e["ɵvid"](0,[e["ɵpid"](0,ql.a,[xl.DatePipe]),e["ɵpid"](0,Ol.a,[Il.a]),e["ɵpid"](0,Ul.a,[U.a]),(l()(),e["ɵand"](16777216,null,null,1,null,Wl)),e["ɵdid"](4,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){l(n,4,0,n.component.selection.hasSingleSelection)}),null)}function Xl(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"cd-rgw-bucket-details",[],null,null,null,Jl,zl)),e["ɵdid"](1,573440,null,0,Ll,[],null,null)],null,null)}var ln=e["ɵccf"]("cd-rgw-bucket-details",Ll,Xl,{selection:"selection"},{},[]),nn=u("25BL"),un=u("FE24"),en=u("z/SZ"),tn=u("TJUb"),an=u("Fgil");class on{constructor(l,n,u){this.rgwUserService=l,this.bsModalService=n,this.i18n=u,this.keys=[],this.keysColumns=[],this.keysSelection=new x.a,this.icons=k.a}ngOnInit(){this.keysColumns=[{name:this.i18n("Username"),prop:"username",flexGrow:1},{name:this.i18n("Type"),prop:"type",flexGrow:1}],this.maxBucketsMap={"-1":this.i18n("Disabled"),0:this.i18n("Unlimited")}}ngOnChanges(){this.selection.hasSelection&&(this.user=this.selection.first(),this.user.subusers=r.sortBy(this.user.subusers,"id"),this.user.caps=r.sortBy(this.user.caps,"type"),this.rgwUserService.getQuota(this.user.uid).subscribe(l=>{r.extend(this.user,l)}),this.keys=[],this.user.keys&&this.user.keys.forEach(l=>{this.keys.push({id:this.keys.length+1,type:"S3",username:l.user,ref:l})}),this.user.swift_keys&&this.user.swift_keys.forEach(l=>{this.keys.push({id:this.keys.length+1,type:"Swift",username:l.user,ref:l})}),this.keys=r.sortBy(this.keys,"user"))}updateKeysSelection(l){this.keysSelection=l}showKeyModal(){const l=this.keysSelection.first(),n=this.bsModalService.show("S3"===l.type?K:H);switch(l.type){case"S3":n.content.setViewing(),n.content.setValues(l.ref.user,l.ref.access_key,l.ref.secret_key);break;case"Swift":n.content.setValues(l.ref.user,l.ref.secret_key)}}}var sn=u("LqlI"),dn=e["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function rn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,4,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Email address"])),(l()(),e["ɵeld"](3,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](4,null,["",""]))],null,(function(l,n){l(n,4,0,n.component.user.email)}))}function cn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"div",[],null,null,null,null,null)),(l()(),e["ɵted"](1,null,[" "," (",") "]))],null,(function(l,n){l(n,1,0,n.context.$implicit.id,n.context.$implicit.permissions)}))}function mn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,5,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Subusers"])),(l()(),e["ɵeld"](3,0,null,null,2,"td",[],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,cn)),e["ɵdid"](5,278528,null,0,xl.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(l,n){l(n,5,0,n.component.user.subusers)}),null)}function gn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"div",[],null,null,null,null,null)),(l()(),e["ɵted"](1,null,[" "," (",") "]))],null,(function(l,n){l(n,1,0,n.context.$implicit.type,n.context.$implicit.perm)}))}function pn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,5,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Capabilities"])),(l()(),e["ɵeld"](3,0,null,null,2,"td",[],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,gn)),e["ɵdid"](5,278528,null,0,xl.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(l,n){l(n,5,0,n.component.user.caps)}),null)}function fn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["-"]))],null,null)}function vn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Unlimited"]))],null,null)}function bn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](1,null,[" "," "])),e["ɵppd"](2,1)],null,(function(l,n){var u=n.component,t=e["ɵunv"](n,1,0,l(n,2,0,e["ɵnov"](n.parent.parent.parent.parent,2),u.user.user_quota.max_size));l(n,1,0,t)}))}function hn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["-"]))],null,null)}function Cn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Unlimited"]))],null,null)}function _n(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](1,null,[" "," "]))],null,(function(l,n){l(n,1,0,n.component.user.user_quota.max_objects)}))}function kn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,28,"div",[],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,"legend",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["User quota"])),(l()(),e["ɵeld"](3,0,null,null,25,"table",[["class","table table-striped table-bordered"]],null,null,null,null,null)),(l()(),e["ɵeld"](4,0,null,null,24,"tbody",[],null,null,null,null,null)),(l()(),e["ɵeld"](5,0,null,null,5,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](6,0,null,null,1,"td",[["class","bold w-25"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Enabled"])),(l()(),e["ɵeld"](8,0,null,null,2,"td",[["class","w-75"]],null,null,null,null,null)),(l()(),e["ɵted"](9,null,["",""])),e["ɵppd"](10,1),(l()(),e["ɵeld"](11,0,null,null,8,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](12,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Maximum size"])),(l()(),e["ɵand"](16777216,null,null,1,null,fn)),e["ɵdid"](15,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,vn)),e["ɵdid"](17,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,bn)),e["ɵdid"](19,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](20,0,null,null,8,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](21,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Maximum objects"])),(l()(),e["ɵand"](16777216,null,null,1,null,hn)),e["ɵdid"](24,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Cn)),e["ɵdid"](26,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,_n)),e["ɵdid"](28,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,15,0,!u.user.user_quota.enabled),l(n,17,0,u.user.user_quota.enabled&&u.user.user_quota.max_size<=-1),l(n,19,0,u.user.user_quota.enabled&&u.user.user_quota.max_size>-1),l(n,24,0,!u.user.user_quota.enabled),l(n,26,0,u.user.user_quota.enabled&&u.user.user_quota.max_objects<=-1),l(n,28,0,u.user.user_quota.enabled&&u.user.user_quota.max_objects>-1)}),(function(l,n){var u=n.component,t=e["ɵunv"](n,9,0,l(n,10,0,e["ɵnov"](n.parent.parent.parent,0),u.user.user_quota.enabled));l(n,9,0,t)}))}function yn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["-"]))],null,null)}function Rn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Unlimited"]))],null,null)}function In(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](1,null,[" "," "])),e["ɵppd"](2,1)],null,(function(l,n){var u=n.component,t=e["ɵunv"](n,1,0,l(n,2,0,e["ɵnov"](n.parent.parent.parent.parent,2),u.user.bucket_quota.max_size));l(n,1,0,t)}))}function wn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["-"]))],null,null)}function En(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Unlimited"]))],null,null)}function Nn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](1,null,[" "," "]))],null,(function(l,n){l(n,1,0,n.component.user.bucket_quota.max_objects)}))}function qn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,28,"div",[],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,"legend",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Bucket quota"])),(l()(),e["ɵeld"](3,0,null,null,25,"table",[["class","table table-striped table-bordered"]],null,null,null,null,null)),(l()(),e["ɵeld"](4,0,null,null,24,"tbody",[],null,null,null,null,null)),(l()(),e["ɵeld"](5,0,null,null,5,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](6,0,null,null,1,"td",[["class","bold w-25"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Enabled"])),(l()(),e["ɵeld"](8,0,null,null,2,"td",[["class","w-75"]],null,null,null,null,null)),(l()(),e["ɵted"](9,null,["",""])),e["ɵppd"](10,1),(l()(),e["ɵeld"](11,0,null,null,8,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](12,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Maximum size"])),(l()(),e["ɵand"](16777216,null,null,1,null,yn)),e["ɵdid"](15,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Rn)),e["ɵdid"](17,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,In)),e["ɵdid"](19,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](20,0,null,null,8,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](21,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Maximum objects"])),(l()(),e["ɵand"](16777216,null,null,1,null,wn)),e["ɵdid"](24,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,En)),e["ɵdid"](26,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Nn)),e["ɵdid"](28,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,15,0,!u.user.bucket_quota.enabled),l(n,17,0,u.user.bucket_quota.enabled&&u.user.bucket_quota.max_size<=-1),l(n,19,0,u.user.bucket_quota.enabled&&u.user.bucket_quota.max_size>-1),l(n,24,0,!u.user.bucket_quota.enabled),l(n,26,0,u.user.bucket_quota.enabled&&u.user.bucket_quota.max_objects<=-1),l(n,28,0,u.user.bucket_quota.enabled&&u.user.bucket_quota.max_objects>-1)}),(function(l,n){var u=n.component,t=e["ɵunv"](n,9,0,l(n,10,0,e["ɵnov"](n.parent.parent.parent,0),u.user.bucket_quota.enabled));l(n,9,0,t)}))}function Tn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,40,"div",[],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,35,"table",[["class","table table-striped table-bordered"]],null,null,null,null,null)),(l()(),e["ɵeld"](2,0,null,null,34,"tbody",[],null,null,null,null,null)),(l()(),e["ɵeld"](3,0,null,null,4,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](4,0,null,null,1,"td",[["class","bold w-25"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Username"])),(l()(),e["ɵeld"](6,0,null,null,1,"td",[["class","w-75"]],null,null,null,null,null)),(l()(),e["ɵted"](7,null,["",""])),(l()(),e["ɵeld"](8,0,null,null,4,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](9,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Full name"])),(l()(),e["ɵeld"](11,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](12,null,["",""])),(l()(),e["ɵand"](16777216,null,null,1,null,rn)),e["ɵdid"](14,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](15,0,null,null,5,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](16,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Suspended"])),(l()(),e["ɵeld"](18,0,null,null,2,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](19,null,["",""])),e["ɵppd"](20,1),(l()(),e["ɵeld"](21,0,null,null,5,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](22,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["System"])),(l()(),e["ɵeld"](24,0,null,null,2,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](25,null,["",""])),e["ɵppd"](26,1),(l()(),e["ɵeld"](27,0,null,null,5,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](28,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Maximum buckets"])),(l()(),e["ɵeld"](30,0,null,null,2,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](31,null,["",""])),e["ɵppd"](32,2),(l()(),e["ɵand"](16777216,null,null,1,null,mn)),e["ɵdid"](34,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,pn)),e["ɵdid"](36,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,kn)),e["ɵdid"](38,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,qn)),e["ɵdid"](40,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,14,0,null==u.user.email?null:u.user.email.length),l(n,34,0,u.user.subusers&&u.user.subusers.length),l(n,36,0,u.user.caps&&u.user.caps.length),l(n,38,0,u.user.user_quota),l(n,40,0,u.user.bucket_quota)}),(function(l,n){var u=n.component;l(n,7,0,u.user.uid),l(n,12,0,u.user.display_name);var t=e["ɵunv"](n,19,0,l(n,20,0,e["ɵnov"](n.parent.parent,0),u.user.suspended));l(n,19,0,t);var i=e["ɵunv"](n,25,0,l(n,26,0,e["ɵnov"](n.parent.parent,0),"true"===u.user.system));l(n,25,0,i);var a=e["ɵunv"](n,31,0,l(n,32,0,e["ɵnov"](n.parent.parent,1),u.user.max_buckets,u.maxBucketsMap));l(n,31,0,a)}))}function Vn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,14,"tab",[["heading","Keys"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),e["ɵdid"](1,212992,null,0,Cl.b,[Cl.e,e.ElementRef,e.Renderer2],{heading:[0,"heading"]},null),(l()(),e["ɵeld"](2,0,null,null,12,"cd-table",[["columnMode","flex"],["forceIdentifier","true"],["selectionType","multi"]],null,[[null,"updateSelection"]],(function(l,n,u){var e=!0;return"updateSelection"===n&&(e=!1!==l.component.updateKeysSelection(u)&&e),e}),nn.b,nn.a)),e["ɵdid"](3,2867200,null,0,S.a,[e.NgZone,e.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],forceIdentifier:[3,"forceIdentifier"],selectionType:[4,"selectionType"]},{updateSelection:"updateSelection"}),(l()(),e["ɵeld"](4,0,null,1,10,"div",[["class","table-actions"]],null,null,null,null,null)),(l()(),e["ɵeld"](5,16777216,null,null,9,"div",[["class","btn-group"],["dropdown",""]],[[2,"dropup",null],[2,"open",null],[2,"show",null]],null,null,null,null)),e["ɵprd"](512,null,un.f,un.f,[]),e["ɵdid"](7,212992,null,0,un.c,[e.ElementRef,e.Renderer2,e.ViewContainerRef,en.a,un.a,un.f],null,null),(l()(),e["ɵeld"](8,0,null,null,6,"button",[["class","btn btn-secondary"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(e=!1!==l.component.showKeyModal()&&e),e}),null,null)),(l()(),e["ɵeld"](9,0,null,null,3,"i",[],null,null,null,null,null)),e["ɵprd"](512,null,xl["ɵNgClassImpl"],xl["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](11,278528,null,0,xl.NgClass,[xl["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](12,1),(l()(),e["ɵeld"](13,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Show"]))],(function(l,n){var u=n.component;l(n,1,0,"Keys"),l(n,3,0,u.keys,u.keysColumns,"flex","true","multi"),l(n,7,0);var e=l(n,12,0,u.icons.show);l(n,11,0,e)}),(function(l,n){var u=n.component;l(n,0,0,e["ɵnov"](n,1).id,e["ɵnov"](n,1).active,e["ɵnov"](n,1).addClass),l(n,5,0,e["ɵnov"](n,7).dropup,e["ɵnov"](n,7).isOpen,e["ɵnov"](n,7).isOpen&&e["ɵnov"](n,7).isBs4),l(n,8,0,!u.keysSelection.hasSingleSelection)}))}function Sn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,7,"tabset",[],[[2,"tab-container",null]],null,null,wl.b,wl.a)),e["ɵdid"](1,180224,null,0,Cl.e,[Cl.f,e.Renderer2,e.ElementRef],null,null),(l()(),e["ɵeld"](2,0,null,0,3,"tab",[["heading","Details"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),e["ɵdid"](3,212992,null,0,Cl.b,[Cl.e,e.ElementRef,e.Renderer2],{heading:[0,"heading"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Tn)),e["ɵdid"](5,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,0,1,null,Vn)),e["ɵdid"](7,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,3,0,"Details"),l(n,5,0,u.user),l(n,7,0,u.keys.length)}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).clazz),l(n,2,0,e["ɵnov"](n,3).id,e["ɵnov"](n,3).active,e["ɵnov"](n,3).addClass)}))}function xn(l){return e["ɵvid"](0,[e["ɵpid"](0,Ol.a,[Il.a]),e["ɵpid"](0,tn.a,[]),e["ɵpid"](0,an.a,[U.a]),e["ɵqud"](671088640,1,{accessKeyTpl:0}),e["ɵqud"](671088640,2,{secretKeyTpl:0}),(l()(),e["ɵand"](16777216,null,null,1,null,Sn)),e["ɵdid"](6,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){l(n,6,0,n.component.selection.hasSingleSelection)}),null)}function Dn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"cd-rgw-user-details",[],null,null,null,xn,dn)),e["ɵdid"](1,638976,null,0,on,[_.a,sn.b,Il.a],null,null)],(function(l,n){l(n,1,0)}),null)}var Fn=e["ɵccf"]("cd-rgw-user-details",on,Dn,{selection:"selection"},{},[]),jn=u("8xTl"),Bn=u("ajRT"),An=u("mXUL"),Pn=u("+gVj"),Mn=u("D4zM"),On=u("OcYo"),Un=u("EApP"),Ln=u("KVJa"),zn=u("Z21x"),Gn=e["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Kn(l){return e["ɵvid"](0,[e["ɵpid"](0,xl.TitleCasePipe,[]),e["ɵpid"](0,jn.a,[]),(l()(),e["ɵeld"](2,0,null,null,49,"cd-modal",[],null,null,null,fl.c,fl.b)),e["ɵdid"](3,49152,null,0,Bn.a,[],{modalRef:[0,"modalRef"]},null),(l()(),e["ɵeld"](4,0,null,0,3,null,null,null,null,null,null,null)),(l()(),e["ɵted"](5,null,[""," "," "])),e["ɵppd"](6,1),e["ɵppd"](7,1),(l()(),e["ɵeld"](8,0,null,1,43,null,null,null,null,null,null,null)),(l()(),e["ɵeld"](9,0,null,null,39,"div",[["class","modal-body"]],null,null,null,null,null)),(l()(),e["ɵeld"](10,0,null,null,38,"form",[["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,u){var t=!0;return"submit"===n&&(t=!1!==e["ɵnov"](l,12).onSubmit(u)&&t),"reset"===n&&(t=!1!==e["ɵnov"](l,12).onReset()&&t),t}),null,null)),e["ɵdid"](11,16384,null,0,d.G,[],null,null),e["ɵdid"](12,4210688,null,0,d.t,[[8,null],[8,null]],null,null),e["ɵprd"](2048,null,d.d,null,[d.t]),e["ɵdid"](14,16384,null,0,d.s,[[4,d.d]],null,null),(l()(),e["ɵeld"](15,0,null,null,13,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,An.b,An.a)),e["ɵdid"](16,1163264,null,2,Pn.c,[e.ElementRef,Pn.g],null,null),e["ɵqud"](603979776,1,{FormControlNames:1}),e["ɵqud"](603979776,2,{messagesBlock:0}),(l()(),e["ɵeld"](19,0,null,0,1,"label",[["class","cd-col-form-label"],["for","user"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Username"])),(l()(),e["ɵeld"](21,0,null,0,7,"div",[["class","cd-col-form-inpu"]],null,null,null,null,null)),(l()(),e["ɵeld"](22,0,null,null,6,"input",[["class","form-control"],["id","user"],["name","user"],["type","text"]],[[8,"readOnly",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var t=!0,i=l.component;return"input"===n&&(t=!1!==e["ɵnov"](l,23)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,23).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,23)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,23)._compositionEnd(u.target.value)&&t),"ngModelChange"===n&&(t=!1!==(i.user=u)&&t),t}),null,null)),e["ɵdid"](23,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.e]),e["ɵdid"](25,671744,null,0,d.u,[[2,d.d],[8,null],[8,null],[6,d.p]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),e["ɵprd"](2048,null,d.q,null,[d.u]),e["ɵdid"](27,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](28,16384,null,0,Pn.h,[[3,d.d],Pn.a],null,null),(l()(),e["ɵeld"](29,0,null,null,19,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,An.b,An.a)),e["ɵdid"](30,1163264,null,2,Pn.c,[e.ElementRef,Pn.g],null,null),e["ɵqud"](603979776,3,{FormControlNames:1}),e["ɵqud"](603979776,4,{messagesBlock:0}),(l()(),e["ɵeld"](33,0,null,0,1,"label",[["class","cd-col-form-label"],["for","secret_key"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Secret key"])),(l()(),e["ɵeld"](35,0,null,0,13,"div",[["class","cd-col-form-inpu"]],null,null,null,null,null)),(l()(),e["ɵeld"](36,0,null,null,12,"div",[["class","input-group"]],null,null,null,null,null)),(l()(),e["ɵeld"](37,0,null,null,6,"input",[["class","form-control"],["id","secret_key"],["name","secret_key"],["type","password"]],[[8,"readOnly",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var t=!0,i=l.component;return"input"===n&&(t=!1!==e["ɵnov"](l,38)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,38).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,38)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,38)._compositionEnd(u.target.value)&&t),"ngModelChange"===n&&(t=!1!==(i.secret_key=u)&&t),t}),null,null)),e["ɵdid"](38,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.e]),e["ɵdid"](40,671744,null,0,d.u,[[2,d.d],[8,null],[8,null],[6,d.p]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),e["ɵprd"](2048,null,d.q,null,[d.u]),e["ɵdid"](42,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](43,16384,null,0,Pn.h,[[3,d.d],Pn.a],null,null),(l()(),e["ɵeld"](44,0,null,null,4,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),e["ɵeld"](45,0,null,null,1,"button",[["cdPasswordButton","secret_key"],["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var t=!0;return"click"===n&&(t=!1!==e["ɵnov"](l,46).onClick()&&t),t}),null,null)),e["ɵdid"](46,81920,null,0,Mn.a,[e.ElementRef,e.Renderer2],{cdPasswordButton:[0,"cdPasswordButton"]},null),(l()(),e["ɵeld"](47,0,null,null,1,"button",[["cdCopy2ClipboardButton","secret_key"],["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var t=!0;return"click"===n&&(t=!1!==e["ɵnov"](l,48).onClick()&&t),t}),null,null)),e["ɵdid"](48,81920,null,0,On.a,[e.ElementRef,e.Renderer2,Un.j],{cdCopy2ClipboardButton:[0,"cdCopy2ClipboardButton"]},null),(l()(),e["ɵeld"](49,0,null,null,2,"div",[["class","modal-footer"]],null,null,null,null,null)),(l()(),e["ɵeld"](50,0,null,null,1,"cd-back-button",[],null,null,null,Ln.b,Ln.a)),e["ɵdid"](51,49152,null,0,zn.a,[xl.Location,t.b],{back:[0,"back"]},null)],(function(l,n){var u=n.component;l(n,3,0,u.bsModalRef),l(n,16,0),l(n,25,0,"user",u.user),l(n,30,0),l(n,40,0,"secret_key",u.secret_key),l(n,46,0,"secret_key"),l(n,48,0,"secret_key"),l(n,51,0,u.bsModalRef.hide)}),(function(l,n){var u=n.component,t=e["ɵunv"](n,5,0,l(n,6,0,e["ɵnov"](n,0),u.action)),i=e["ɵunv"](n,5,1,l(n,7,0,e["ɵnov"](n,1),u.resource));l(n,5,0,t,i),l(n,10,0,e["ɵnov"](n,14).ngClassUntouched,e["ɵnov"](n,14).ngClassTouched,e["ɵnov"](n,14).ngClassPristine,e["ɵnov"](n,14).ngClassDirty,e["ɵnov"](n,14).ngClassValid,e["ɵnov"](n,14).ngClassInvalid,e["ɵnov"](n,14).ngClassPending),l(n,15,0,e["ɵnov"](n,16).hasErrors,e["ɵnov"](n,16).hasSuccess),l(n,22,0,!0,e["ɵnov"](n,27).ngClassUntouched,e["ɵnov"](n,27).ngClassTouched,e["ɵnov"](n,27).ngClassPristine,e["ɵnov"](n,27).ngClassDirty,e["ɵnov"](n,27).ngClassValid,e["ɵnov"](n,27).ngClassInvalid,e["ɵnov"](n,27).ngClassPending,e["ɵnov"](n,28).validClass,e["ɵnov"](n,28).invalidClass),l(n,29,0,e["ɵnov"](n,30).hasErrors,e["ɵnov"](n,30).hasSuccess),l(n,37,0,!0,e["ɵnov"](n,42).ngClassUntouched,e["ɵnov"](n,42).ngClassTouched,e["ɵnov"](n,42).ngClassPristine,e["ɵnov"](n,42).ngClassDirty,e["ɵnov"](n,42).ngClassValid,e["ɵnov"](n,42).ngClassInvalid,e["ɵnov"](n,42).ngClassPending,e["ɵnov"](n,43).validClass,e["ɵnov"](n,43).invalidClass)}))}function $n(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"cd-rgw-user-swift-key-modal",[],null,null,null,Kn,Gn)),e["ɵdid"](1,49152,null,0,H,[sn.a,Il.a,t.b],null,null)],null,null)}var Zn=e["ɵccf"]("cd-rgw-user-swift-key-modal",H,$n,{},{},[]),Hn=u("IZUe"),Qn=u("gp3X"),Yn=u("sb0X"),Wn=e["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Jn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,6,"input",[["class","form-control"],["formControlName","user"],["id","user"],["type","text"]],[[8,"readOnly",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var t=!0;return"input"===n&&(t=!1!==e["ɵnov"](l,1)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,1).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,1)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,1)._compositionEnd(u.target.value)&&t),t}),null,null)),e["ɵdid"](1,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.e]),e["ɵdid"](3,671744,[[1,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](5,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](6,16384,null,0,Pn.h,[[3,d.d],Pn.a],{formControlName:[0,"formControlName"]},null)],(function(l,n){l(n,3,0,"user"),l(n,6,0,"user")}),(function(l,n){l(n,0,0,!0,e["ɵnov"](n,5).ngClassUntouched,e["ɵnov"](n,5).ngClassTouched,e["ɵnov"](n,5).ngClassPristine,e["ɵnov"](n,5).ngClassDirty,e["ɵnov"](n,5).ngClassValid,e["ɵnov"](n,5).ngClassInvalid,e["ɵnov"](n,5).ngClassPending,e["ɵnov"](n,6).validClass,e["ɵnov"](n,6).invalidClass)}))}function Xn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,d.v,[e.ElementRef,e.Renderer2,[2,d.A]],{ngValue:[0,"ngValue"]},null),e["ɵdid"](2,147456,null,0,d.F,[e.ElementRef,e.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),e["ɵted"](-1,null,["-- Select a username --"]))],(function(l,n){l(n,1,0,null),l(n,2,0,null)}),null)}function lu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,d.v,[e.ElementRef,e.Renderer2,[2,d.A]],{value:[0,"value"]},null),e["ɵdid"](2,147456,null,0,d.F,[e.ElementRef,e.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),e["ɵted"](3,null,["",""]))],(function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)}),(function(l,n){l(n,3,0,n.context.$implicit)}))}function nu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,11,"select",[["autofocus",""],["class","form-control custom-select"],["formControlName","user"],["id","user"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var t=!0;return"change"===n&&(t=!1!==e["ɵnov"](l,2).onChange(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,2).onTouched()&&t),t}),null,null)),e["ɵdid"](1,4210688,null,0,Hn.a,[e.ElementRef],{autofocus:[0,"autofocus"]},null),e["ɵdid"](2,16384,null,0,d.A,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.A]),e["ɵdid"](4,671744,[[1,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](6,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](7,16384,null,0,Pn.h,[[3,d.d],Pn.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Xn)),e["ɵdid"](9,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,lu)),e["ɵdid"](11,278528,null,0,xl.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(l,n){var u=n.component;l(n,1,0,""),l(n,4,0,"user"),l(n,7,0,"user"),l(n,9,0,null!==u.userCandidates),l(n,11,0,u.userCandidates)}),(function(l,n){l(n,0,0,e["ɵnov"](n,6).ngClassUntouched,e["ɵnov"](n,6).ngClassTouched,e["ɵnov"](n,6).ngClassPristine,e["ɵnov"](n,6).ngClassDirty,e["ɵnov"](n,6).ngClassValid,e["ɵnov"](n,6).ngClassInvalid,e["ɵnov"](n,6).ngClassPending,e["ɵnov"](n,7).validClass,e["ɵnov"](n,7).invalidClass)}))}function uu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function eu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,14,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,An.b,An.a)),e["ɵdid"](1,1163264,null,2,Pn.c,[e.ElementRef,Pn.g],null,null),e["ɵqud"](603979776,3,{FormControlNames:1}),e["ɵqud"](603979776,4,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,10,"div",[["class","cd-col-form-offset"]],null,null,null,null,null)),(l()(),e["ɵeld"](5,0,null,null,9,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(l()(),e["ɵeld"](6,0,null,null,6,"input",[["class","custom-control-input"],["formControlName","generate_key"],["id","generate_key"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var t=!0;return"change"===n&&(t=!1!==e["ɵnov"](l,7).onChange(u.target.checked)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,7).onTouched()&&t),t}),null,null)),e["ɵdid"](7,16384,null,0,d.c,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.c]),e["ɵdid"](9,671744,[[3,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](11,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](12,16384,null,0,Pn.h,[[3,d.d],Pn.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](13,0,null,null,1,"label",[["class","custom-control-label"],["for","generate_key"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Auto-generate key"]))],(function(l,n){l(n,1,0),l(n,9,0,"generate_key"),l(n,12,0,"generate_key")}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,6,0,e["ɵnov"](n,11).ngClassUntouched,e["ɵnov"](n,11).ngClassTouched,e["ɵnov"](n,11).ngClassPristine,e["ɵnov"](n,11).ngClassDirty,e["ɵnov"](n,11).ngClassValid,e["ɵnov"](n,11).ngClassInvalid,e["ɵnov"](n,11).ngClassPending,e["ɵnov"](n,12).validClass,e["ɵnov"](n,12).invalidClass)}))}function tu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function iu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,24,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,An.b,An.a)),e["ɵdid"](1,1163264,null,2,Pn.c,[e.ElementRef,Pn.g],null,null),e["ɵqud"](603979776,5,{FormControlNames:1}),e["ɵqud"](603979776,6,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,4,"label",[["class","cd-col-form-label"],["for","access_key"]],null,null,null,null,null)),e["ɵprd"](512,null,xl["ɵNgClassImpl"],xl["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](6,278528,null,0,xl.NgClass,[xl["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),e["ɵpod"](7,{required:0}),(l()(),e["ɵted"](-1,null,["Access key"])),(l()(),e["ɵeld"](9,0,null,0,15,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](10,0,null,null,12,"div",[["class","input-group"]],null,null,null,null,null)),(l()(),e["ɵeld"](11,0,null,null,6,"input",[["class","form-control"],["formControlName","access_key"],["id","access_key"],["type","password"]],[[8,"readOnly",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var t=!0;return"input"===n&&(t=!1!==e["ɵnov"](l,12)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,12).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,12)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,12)._compositionEnd(u.target.value)&&t),t}),null,null)),e["ɵdid"](12,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.e]),e["ɵdid"](14,671744,[[5,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](16,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](17,16384,null,0,Pn.h,[[3,d.d],Pn.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](18,0,null,null,4,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),e["ɵeld"](19,0,null,null,1,"button",[["cdPasswordButton","access_key"],["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var t=!0;return"click"===n&&(t=!1!==e["ɵnov"](l,20).onClick()&&t),t}),null,null)),e["ɵdid"](20,81920,null,0,Mn.a,[e.ElementRef,e.Renderer2],{cdPasswordButton:[0,"cdPasswordButton"]},null),(l()(),e["ɵeld"](21,0,null,null,1,"button",[["cdCopy2ClipboardButton","access_key"],["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var t=!0;return"click"===n&&(t=!1!==e["ɵnov"](l,22).onClick()&&t),t}),null,null)),e["ɵdid"](22,81920,null,0,On.a,[e.ElementRef,e.Renderer2,Un.j],{cdCopy2ClipboardButton:[0,"cdCopy2ClipboardButton"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,tu)),e["ɵdid"](24,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,1,0);var t=l(n,7,0,!u.viewing);l(n,6,0,"cd-col-form-label",t),l(n,14,0,"access_key"),l(n,17,0,"access_key"),l(n,20,0,"access_key"),l(n,22,0,"access_key"),l(n,24,0,u.formGroup.showError("access_key",e["ɵnov"](n.parent,11),"required"))}),(function(l,n){var u=n.component;l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,11,0,u.viewing,e["ɵnov"](n,16).ngClassUntouched,e["ɵnov"](n,16).ngClassTouched,e["ɵnov"](n,16).ngClassPristine,e["ɵnov"](n,16).ngClassDirty,e["ɵnov"](n,16).ngClassValid,e["ɵnov"](n,16).ngClassInvalid,e["ɵnov"](n,16).ngClassPending,e["ɵnov"](n,17).validClass,e["ɵnov"](n,17).invalidClass)}))}function au(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function ou(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,24,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,An.b,An.a)),e["ɵdid"](1,1163264,null,2,Pn.c,[e.ElementRef,Pn.g],null,null),e["ɵqud"](603979776,7,{FormControlNames:1}),e["ɵqud"](603979776,8,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,4,"label",[["class","cd-col-form-label"],["for","secret_key"]],null,null,null,null,null)),e["ɵprd"](512,null,xl["ɵNgClassImpl"],xl["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](6,278528,null,0,xl.NgClass,[xl["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),e["ɵpod"](7,{required:0}),(l()(),e["ɵted"](-1,null,["Secret key"])),(l()(),e["ɵeld"](9,0,null,0,15,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](10,0,null,null,12,"div",[["class","input-group"]],null,null,null,null,null)),(l()(),e["ɵeld"](11,0,null,null,6,"input",[["class","form-control"],["formControlName","secret_key"],["id","secret_key"],["type","password"]],[[8,"readOnly",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var t=!0;return"input"===n&&(t=!1!==e["ɵnov"](l,12)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,12).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,12)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,12)._compositionEnd(u.target.value)&&t),t}),null,null)),e["ɵdid"](12,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.e]),e["ɵdid"](14,671744,[[7,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](16,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](17,16384,null,0,Pn.h,[[3,d.d],Pn.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](18,0,null,null,4,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),e["ɵeld"](19,0,null,null,1,"button",[["cdPasswordButton","secret_key"],["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var t=!0;return"click"===n&&(t=!1!==e["ɵnov"](l,20).onClick()&&t),t}),null,null)),e["ɵdid"](20,81920,null,0,Mn.a,[e.ElementRef,e.Renderer2],{cdPasswordButton:[0,"cdPasswordButton"]},null),(l()(),e["ɵeld"](21,0,null,null,1,"button",[["cdCopy2ClipboardButton","secret_key"],["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var t=!0;return"click"===n&&(t=!1!==e["ɵnov"](l,22).onClick()&&t),t}),null,null)),e["ɵdid"](22,81920,null,0,On.a,[e.ElementRef,e.Renderer2,Un.j],{cdCopy2ClipboardButton:[0,"cdCopy2ClipboardButton"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,au)),e["ɵdid"](24,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,1,0);var t=l(n,7,0,!u.viewing);l(n,6,0,"cd-col-form-label",t),l(n,14,0,"secret_key"),l(n,17,0,"secret_key"),l(n,20,0,"secret_key"),l(n,22,0,"secret_key"),l(n,24,0,u.formGroup.showError("secret_key",e["ɵnov"](n.parent,11),"required"))}),(function(l,n){var u=n.component;l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,11,0,u.viewing,e["ɵnov"](n,16).ngClassUntouched,e["ɵnov"](n,16).ngClassTouched,e["ɵnov"](n,16).ngClassPristine,e["ɵnov"](n,16).ngClassDirty,e["ɵnov"](n,16).ngClassValid,e["ɵnov"](n,16).ngClassInvalid,e["ɵnov"](n,16).ngClassPending,e["ɵnov"](n,17).validClass,e["ɵnov"](n,17).invalidClass)}))}function su(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,4,"cd-submit-button",[],null,[[null,"submitAction"]],(function(l,n,u){var e=!0;return"submitAction"===n&&(e=!1!==l.component.onSubmit()&&e),e}),Qn.b,Qn.a)),e["ɵdid"](1,114688,null,0,Yn.a,[e.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(l()(),e["ɵted"](2,0,[""," ",""])),e["ɵppd"](3,1),e["ɵppd"](4,1)],(function(l,n){l(n,1,0,n.component.formGroup)}),(function(l,n){var u=n.component,t=e["ɵunv"](n,2,0,l(n,3,0,e["ɵnov"](n.parent,0),u.action)),i=e["ɵunv"](n,2,1,l(n,4,0,e["ɵnov"](n.parent,1),u.resource));l(n,2,0,t,i)}))}function du(l){return e["ɵvid"](0,[e["ɵpid"](0,xl.TitleCasePipe,[]),e["ɵpid"](0,jn.a,[]),(l()(),e["ɵeld"](2,0,null,null,40,"cd-modal",[],null,null,null,fl.c,fl.b)),e["ɵdid"](3,49152,null,0,Bn.a,[],{modalRef:[0,"modalRef"]},null),(l()(),e["ɵeld"](4,0,null,0,3,null,null,null,null,null,null,null)),(l()(),e["ɵted"](5,null,[""," ",""])),e["ɵppd"](6,1),e["ɵppd"](7,1),(l()(),e["ɵeld"](8,0,null,1,34,null,null,null,null,null,null,null)),(l()(),e["ɵeld"](9,0,null,null,33,"form",[["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,u){var t=!0;return"submit"===n&&(t=!1!==e["ɵnov"](l,11).onSubmit(u)&&t),"reset"===n&&(t=!1!==e["ɵnov"](l,11).onReset()&&t),"submit"===n&&(t=!1!==e["ɵnov"](l,14).onSubmit()&&t),t}),null,null)),e["ɵdid"](10,16384,null,0,d.G,[],null,null),e["ɵdid"](11,540672,[["frm",4]],0,d.l,[[8,null],[8,null]],{form:[0,"form"]},null),e["ɵprd"](2048,null,d.d,null,[d.l]),e["ɵdid"](13,16384,null,0,d.s,[[4,d.d]],null,null),e["ɵdid"](14,16384,null,0,Pn.d,[],{formGroup:[0,"formGroup"]},null),(l()(),e["ɵeld"](15,0,null,null,22,"div",[["class","modal-body"]],null,null,null,null,null)),(l()(),e["ɵeld"](16,0,null,null,15,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,An.b,An.a)),e["ɵdid"](17,1163264,null,2,Pn.c,[e.ElementRef,Pn.g],null,null),e["ɵqud"](603979776,1,{FormControlNames:1}),e["ɵqud"](603979776,2,{messagesBlock:0}),(l()(),e["ɵeld"](20,0,null,0,4,"label",[["class","cd-col-form-label"],["for","user"]],null,null,null,null,null)),e["ɵprd"](512,null,xl["ɵNgClassImpl"],xl["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](22,278528,null,0,xl.NgClass,[xl["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),e["ɵpod"](23,{required:0}),(l()(),e["ɵted"](-1,null,["Username"])),(l()(),e["ɵeld"](25,0,null,0,6,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,Jn)),e["ɵdid"](27,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,nu)),e["ɵdid"](29,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,uu)),e["ɵdid"](31,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,eu)),e["ɵdid"](33,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,iu)),e["ɵdid"](35,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,ou)),e["ɵdid"](37,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](38,0,null,null,4,"div",[["class","modal-footer"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,su)),e["ɵdid"](40,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](41,0,null,null,1,"cd-back-button",[],null,null,null,Ln.b,Ln.a)),e["ɵdid"](42,49152,null,0,zn.a,[xl.Location,t.b],{back:[0,"back"]},null)],(function(l,n){var u=n.component;l(n,3,0,u.bsModalRef),l(n,11,0,u.formGroup),l(n,14,0,u.formGroup),l(n,17,0);var t=l(n,23,0,!u.viewing);l(n,22,0,"cd-col-form-label",t),l(n,27,0,u.viewing),l(n,29,0,!u.viewing),l(n,31,0,u.formGroup.showError("user",e["ɵnov"](n,11),"required")),l(n,33,0,!u.viewing),l(n,35,0,!u.formGroup.getValue("generate_key")),l(n,37,0,!u.formGroup.getValue("generate_key")),l(n,40,0,!u.viewing),l(n,42,0,u.bsModalRef.hide)}),(function(l,n){var u=n.component,t=e["ɵunv"](n,5,0,l(n,6,0,e["ɵnov"](n,0),u.action)),i=e["ɵunv"](n,5,1,l(n,7,0,e["ɵnov"](n,1),u.resource));l(n,5,0,t,i),l(n,9,0,e["ɵnov"](n,13).ngClassUntouched,e["ɵnov"](n,13).ngClassTouched,e["ɵnov"](n,13).ngClassPristine,e["ɵnov"](n,13).ngClassDirty,e["ɵnov"](n,13).ngClassValid,e["ɵnov"](n,13).ngClassInvalid,e["ɵnov"](n,13).ngClassPending),l(n,16,0,e["ɵnov"](n,17).hasErrors,e["ɵnov"](n,17).hasSuccess)}))}function ru(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"cd-rgw-user-s3-key-modal",[],null,null,null,du,Wn)),e["ɵdid"](1,49152,null,0,K,[R.a,sn.a,Il.a,t.b],null,null)],null,null)}var cu=e["ɵccf"]("cd-rgw-user-s3-key-modal",K,ru,{},{submitAction:"submitAction"},[]),mu=e["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function gu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,6,"input",[["class","form-control"],["formControlName","type"],["id","type"],["type","text"]],[[8,"readOnly",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var t=!0;return"input"===n&&(t=!1!==e["ɵnov"](l,1)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,1).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,1)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,1)._compositionEnd(u.target.value)&&t),t}),null,null)),e["ɵdid"](1,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.e]),e["ɵdid"](3,671744,[[1,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](5,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](6,16384,null,0,Pn.h,[[3,d.d],Pn.a],{formControlName:[0,"formControlName"]},null)],(function(l,n){l(n,3,0,"type"),l(n,6,0,"type")}),(function(l,n){l(n,0,0,!0,e["ɵnov"](n,5).ngClassUntouched,e["ɵnov"](n,5).ngClassTouched,e["ɵnov"](n,5).ngClassPristine,e["ɵnov"](n,5).ngClassDirty,e["ɵnov"](n,5).ngClassValid,e["ɵnov"](n,5).ngClassInvalid,e["ɵnov"](n,5).ngClassPending,e["ɵnov"](n,6).validClass,e["ɵnov"](n,6).invalidClass)}))}function pu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,d.v,[e.ElementRef,e.Renderer2,[2,d.A]],{ngValue:[0,"ngValue"]},null),e["ɵdid"](2,147456,null,0,d.F,[e.ElementRef,e.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),e["ɵted"](-1,null,["-- Select a type --"]))],(function(l,n){l(n,1,0,null),l(n,2,0,null)}),null)}function fu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,d.v,[e.ElementRef,e.Renderer2,[2,d.A]],{value:[0,"value"]},null),e["ɵdid"](2,147456,null,0,d.F,[e.ElementRef,e.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),e["ɵted"](3,null,["",""]))],(function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)}),(function(l,n){l(n,3,0,n.context.$implicit)}))}function vu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,11,"select",[["autofocus",""],["class","form-control custom-select"],["formControlName","type"],["id","type"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var t=!0;return"change"===n&&(t=!1!==e["ɵnov"](l,2).onChange(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,2).onTouched()&&t),t}),null,null)),e["ɵdid"](1,4210688,null,0,Hn.a,[e.ElementRef],{autofocus:[0,"autofocus"]},null),e["ɵdid"](2,16384,null,0,d.A,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.A]),e["ɵdid"](4,671744,[[1,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](6,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](7,16384,null,0,Pn.h,[[3,d.d],Pn.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,pu)),e["ɵdid"](9,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,fu)),e["ɵdid"](11,278528,null,0,xl.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(l,n){var u=n.component;l(n,1,0,""),l(n,4,0,"type"),l(n,7,0,"type"),l(n,9,0,null!==u.types),l(n,11,0,u.types)}),(function(l,n){l(n,0,0,e["ɵnov"](n,6).ngClassUntouched,e["ɵnov"](n,6).ngClassTouched,e["ɵnov"](n,6).ngClassPristine,e["ɵnov"](n,6).ngClassDirty,e["ɵnov"](n,6).ngClassValid,e["ɵnov"](n,6).ngClassInvalid,e["ɵnov"](n,6).ngClassPending,e["ɵnov"](n,7).validClass,e["ɵnov"](n,7).invalidClass)}))}function bu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function hu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,d.v,[e.ElementRef,e.Renderer2,[2,d.A]],{value:[0,"value"]},null),e["ɵdid"](2,147456,null,0,d.F,[e.ElementRef,e.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),e["ɵted"](3,null,[" "," "]))],(function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)}),(function(l,n){l(n,3,0,n.context.$implicit)}))}function Cu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function _u(l){return e["ɵvid"](0,[e["ɵpid"](0,xl.TitleCasePipe,[]),e["ɵpid"](0,jn.a,[]),(l()(),e["ɵeld"](2,0,null,null,60,"cd-modal",[],null,null,null,fl.c,fl.b)),e["ɵdid"](3,49152,null,0,Bn.a,[],{modalRef:[0,"modalRef"]},null),(l()(),e["ɵeld"](4,0,null,0,3,null,null,null,null,null,null,null)),(l()(),e["ɵted"](5,null,[""," ",""])),e["ɵppd"](6,1),e["ɵppd"](7,1),(l()(),e["ɵeld"](8,0,null,1,54,null,null,null,null,null,null,null)),(l()(),e["ɵeld"](9,0,null,null,53,"form",[["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,u){var t=!0;return"submit"===n&&(t=!1!==e["ɵnov"](l,11).onSubmit(u)&&t),"reset"===n&&(t=!1!==e["ɵnov"](l,11).onReset()&&t),"submit"===n&&(t=!1!==e["ɵnov"](l,14).onSubmit()&&t),t}),null,null)),e["ɵdid"](10,16384,null,0,d.G,[],null,null),e["ɵdid"](11,540672,[["frm",4]],0,d.l,[[8,null],[8,null]],{form:[0,"form"]},null),e["ɵprd"](2048,null,d.d,null,[d.l]),e["ɵdid"](13,16384,null,0,d.s,[[4,d.d]],null,null),e["ɵdid"](14,16384,null,0,Pn.d,[],{formGroup:[0,"formGroup"]},null),(l()(),e["ɵeld"](15,0,null,null,39,"div",[["class","modal-body"]],null,null,null,null,null)),(l()(),e["ɵeld"](16,0,null,null,15,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,An.b,An.a)),e["ɵdid"](17,1163264,null,2,Pn.c,[e.ElementRef,Pn.g],null,null),e["ɵqud"](603979776,1,{FormControlNames:1}),e["ɵqud"](603979776,2,{messagesBlock:0}),(l()(),e["ɵeld"](20,0,null,0,4,"label",[["class","cd-col-form-label"],["for","type"]],null,null,null,null,null)),e["ɵprd"](512,null,xl["ɵNgClassImpl"],xl["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](22,278528,null,0,xl.NgClass,[xl["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),e["ɵpod"](23,{required:0}),(l()(),e["ɵted"](-1,null,["Type"])),(l()(),e["ɵeld"](25,0,null,0,6,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,gu)),e["ɵdid"](27,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,vu)),e["ɵdid"](29,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,bu)),e["ɵdid"](31,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](32,0,null,null,22,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,An.b,An.a)),e["ɵdid"](33,1163264,null,2,Pn.c,[e.ElementRef,Pn.g],null,null),e["ɵqud"](603979776,3,{FormControlNames:1}),e["ɵqud"](603979776,4,{messagesBlock:0}),(l()(),e["ɵeld"](36,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","perm"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Permission"])),(l()(),e["ɵeld"](38,0,null,0,16,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](39,0,null,null,13,"select",[["class","form-control custom-select"],["formControlName","perm"],["id","perm"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var t=!0;return"change"===n&&(t=!1!==e["ɵnov"](l,40).onChange(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,40).onTouched()&&t),t}),null,null)),e["ɵdid"](40,16384,null,0,d.A,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.A]),e["ɵdid"](42,671744,[[3,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](44,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](45,16384,null,0,Pn.h,[[3,d.d],Pn.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](46,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](47,147456,null,0,d.v,[e.ElementRef,e.Renderer2,[2,d.A]],{ngValue:[0,"ngValue"]},null),e["ɵdid"](48,147456,null,0,d.F,[e.ElementRef,e.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),e["ɵted"](-1,null,["-- Select a permission --"])),(l()(),e["ɵand"](16777216,null,null,2,null,hu)),e["ɵdid"](51,278528,null,0,xl.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),e["ɵpad"](52,3),(l()(),e["ɵand"](16777216,null,null,1,null,Cu)),e["ɵdid"](54,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](55,0,null,null,7,"div",[["class","modal-footer"]],null,null,null,null,null)),(l()(),e["ɵeld"](56,0,null,null,4,"cd-submit-button",[],null,[[null,"submitAction"]],(function(l,n,u){var e=!0;return"submitAction"===n&&(e=!1!==l.component.onSubmit()&&e),e}),Qn.b,Qn.a)),e["ɵdid"](57,114688,null,0,Yn.a,[e.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(l()(),e["ɵted"](58,0,[""," ",""])),e["ɵppd"](59,1),e["ɵppd"](60,1),(l()(),e["ɵeld"](61,0,null,null,1,"cd-back-button",[],null,null,null,Ln.b,Ln.a)),e["ɵdid"](62,49152,null,0,zn.a,[xl.Location,t.b],{back:[0,"back"]},null)],(function(l,n){var u=n.component;l(n,3,0,u.bsModalRef),l(n,11,0,u.formGroup),l(n,14,0,u.formGroup),l(n,17,0);var t=l(n,23,0,!u.editing);l(n,22,0,"cd-col-form-label",t),l(n,27,0,u.editing),l(n,29,0,!u.editing),l(n,31,0,u.formGroup.showError("type",e["ɵnov"](n,11),"required")),l(n,33,0),l(n,42,0,"perm"),l(n,45,0,"perm"),l(n,47,0,null),l(n,48,0,null);var i=l(n,52,0,"read","write","*");l(n,51,0,i),l(n,54,0,u.formGroup.showError("perm",e["ɵnov"](n,11),"required")),l(n,57,0,u.formGroup),l(n,62,0,u.bsModalRef.hide)}),(function(l,n){var u=n.component,t=e["ɵunv"](n,5,0,l(n,6,0,e["ɵnov"](n,0),u.action)),i=e["ɵunv"](n,5,1,l(n,7,0,e["ɵnov"](n,1),u.resource));l(n,5,0,t,i),l(n,9,0,e["ɵnov"](n,13).ngClassUntouched,e["ɵnov"](n,13).ngClassTouched,e["ɵnov"](n,13).ngClassPristine,e["ɵnov"](n,13).ngClassDirty,e["ɵnov"](n,13).ngClassValid,e["ɵnov"](n,13).ngClassInvalid,e["ɵnov"](n,13).ngClassPending),l(n,16,0,e["ɵnov"](n,17).hasErrors,e["ɵnov"](n,17).hasSuccess),l(n,32,0,e["ɵnov"](n,33).hasErrors,e["ɵnov"](n,33).hasSuccess),l(n,39,0,e["ɵnov"](n,44).ngClassUntouched,e["ɵnov"](n,44).ngClassTouched,e["ɵnov"](n,44).ngClassPristine,e["ɵnov"](n,44).ngClassDirty,e["ɵnov"](n,44).ngClassValid,e["ɵnov"](n,44).ngClassInvalid,e["ɵnov"](n,44).ngClassPending,e["ɵnov"](n,45).validClass,e["ɵnov"](n,45).invalidClass);var a=e["ɵunv"](n,58,0,l(n,59,0,e["ɵnov"](n,0),u.action)),o=e["ɵunv"](n,58,1,l(n,60,0,e["ɵnov"](n,1),u.resource));l(n,58,0,a,o)}))}function ku(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"cd-rgw-user-capability-modal",[],null,null,null,_u,mu)),e["ɵdid"](1,49152,null,0,G,[R.a,sn.a,Il.a,t.b],null,null)],null,null)}var yu=e["ɵccf"]("cd-rgw-user-capability-modal",G,ku,{},{submitAction:"submitAction"},[]),Ru=e["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Iu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function wu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["The chosen subuser ID is already in use."]))],null,null)}function Eu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,d.v,[e.ElementRef,e.Renderer2,[2,d.A]],{value:[0,"value"]},null),e["ɵdid"](2,147456,null,0,d.F,[e.ElementRef,e.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),e["ɵted"](3,null,[" "," "]))],(function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)}),(function(l,n){l(n,3,0,n.context.$implicit)}))}function Nu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function qu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function Tu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,21,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,An.b,An.a)),e["ɵdid"](1,1163264,null,2,Pn.c,[e.ElementRef,Pn.g],null,null),e["ɵqud"](603979776,9,{FormControlNames:1}),e["ɵqud"](603979776,10,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","secret_key"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Secret key"])),(l()(),e["ɵeld"](6,0,null,0,15,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](7,0,null,null,12,"div",[["class","input-group"]],null,null,null,null,null)),(l()(),e["ɵeld"](8,0,null,null,6,"input",[["class","form-control"],["formControlName","secret_key"],["id","secret_key"],["type","password"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var t=!0;return"input"===n&&(t=!1!==e["ɵnov"](l,9)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,9).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,9)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,9)._compositionEnd(u.target.value)&&t),t}),null,null)),e["ɵdid"](9,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.e]),e["ɵdid"](11,671744,[[9,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](13,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](14,16384,null,0,Pn.h,[[3,d.d],Pn.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](15,0,null,null,4,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),e["ɵeld"](16,0,null,null,1,"button",[["cdPasswordButton","secret_key"],["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var t=!0;return"click"===n&&(t=!1!==e["ɵnov"](l,17).onClick()&&t),t}),null,null)),e["ɵdid"](17,81920,null,0,Mn.a,[e.ElementRef,e.Renderer2],{cdPasswordButton:[0,"cdPasswordButton"]},null),(l()(),e["ɵeld"](18,0,null,null,1,"button",[["cdCopy2ClipboardButton","secret_key"],["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var t=!0;return"click"===n&&(t=!1!==e["ɵnov"](l,19).onClick()&&t),t}),null,null)),e["ɵdid"](19,81920,null,0,On.a,[e.ElementRef,e.Renderer2,Un.j],{cdCopy2ClipboardButton:[0,"cdCopy2ClipboardButton"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,qu)),e["ɵdid"](21,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,1,0),l(n,11,0,"secret_key"),l(n,14,0,"secret_key"),l(n,17,0,"secret_key"),l(n,19,0,"secret_key"),l(n,21,0,u.formGroup.showError("secret_key",e["ɵnov"](n.parent.parent,11),"required"))}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,8,0,e["ɵnov"](n,13).ngClassUntouched,e["ɵnov"](n,13).ngClassTouched,e["ɵnov"](n,13).ngClassPristine,e["ɵnov"](n,13).ngClassDirty,e["ɵnov"](n,13).ngClassValid,e["ɵnov"](n,13).ngClassInvalid,e["ɵnov"](n,13).ngClassPending,e["ɵnov"](n,14).validClass,e["ɵnov"](n,14).invalidClass)}))}function Vu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,19,"fieldset",[],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,"legend",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Swift key"])),(l()(),e["ɵeld"](3,0,null,null,14,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,An.b,An.a)),e["ɵdid"](4,1163264,null,2,Pn.c,[e.ElementRef,Pn.g],null,null),e["ɵqud"](603979776,7,{FormControlNames:1}),e["ɵqud"](603979776,8,{messagesBlock:0}),(l()(),e["ɵeld"](7,0,null,0,10,"div",[["class","cd-col-form-offset"]],null,null,null,null,null)),(l()(),e["ɵeld"](8,0,null,null,9,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(l()(),e["ɵeld"](9,0,null,null,6,"input",[["class","custom-control-input"],["formControlName","generate_secret"],["id","generate_secret"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var t=!0;return"change"===n&&(t=!1!==e["ɵnov"](l,10).onChange(u.target.checked)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,10).onTouched()&&t),t}),null,null)),e["ɵdid"](10,16384,null,0,d.c,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.c]),e["ɵdid"](12,671744,[[7,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](14,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](15,16384,null,0,Pn.h,[[3,d.d],Pn.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](16,0,null,null,1,"label",[["class","custom-control-label"],["for","generate_secret"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Auto-generate secret"])),(l()(),e["ɵand"](16777216,null,null,1,null,Tu)),e["ɵdid"](19,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,4,0),l(n,12,0,"generate_secret"),l(n,15,0,"generate_secret"),l(n,19,0,!u.editing&&!u.formGroup.getValue("generate_secret"))}),(function(l,n){l(n,3,0,e["ɵnov"](n,4).hasErrors,e["ɵnov"](n,4).hasSuccess),l(n,9,0,e["ɵnov"](n,14).ngClassUntouched,e["ɵnov"](n,14).ngClassTouched,e["ɵnov"](n,14).ngClassPristine,e["ɵnov"](n,14).ngClassDirty,e["ɵnov"](n,14).ngClassValid,e["ɵnov"](n,14).ngClassInvalid,e["ɵnov"](n,14).ngClassPending,e["ɵnov"](n,15).validClass,e["ɵnov"](n,15).invalidClass)}))}function Su(l){return e["ɵvid"](0,[e["ɵpid"](0,xl.TitleCasePipe,[]),e["ɵpid"](0,jn.a,[]),(l()(),e["ɵeld"](2,0,null,null,90,"cd-modal",[],null,null,null,fl.c,fl.b)),e["ɵdid"](3,49152,null,0,Bn.a,[],{modalRef:[0,"modalRef"]},null),(l()(),e["ɵeld"](4,0,null,0,3,null,null,null,null,null,null,null)),(l()(),e["ɵted"](5,null,[""," ",""])),e["ɵppd"](6,1),e["ɵppd"](7,1),(l()(),e["ɵeld"](8,0,null,1,84,null,null,null,null,null,null,null)),(l()(),e["ɵeld"](9,0,null,null,83,"form",[["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,u){var t=!0;return"submit"===n&&(t=!1!==e["ɵnov"](l,11).onSubmit(u)&&t),"reset"===n&&(t=!1!==e["ɵnov"](l,11).onReset()&&t),"submit"===n&&(t=!1!==e["ɵnov"](l,14).onSubmit()&&t),t}),null,null)),e["ɵdid"](10,16384,null,0,d.G,[],null,null),e["ɵdid"](11,540672,[["frm",4]],0,d.l,[[8,null],[8,null]],{form:[0,"form"]},null),e["ɵprd"](2048,null,d.d,null,[d.l]),e["ɵdid"](13,16384,null,0,d.s,[[4,d.d]],null,null),e["ɵdid"](14,16384,null,0,Pn.d,[],{formGroup:[0,"formGroup"]},null),(l()(),e["ɵeld"](15,0,null,null,69,"div",[["class","modal-body"]],null,null,null,null,null)),(l()(),e["ɵeld"](16,0,null,null,13,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,An.b,An.a)),e["ɵdid"](17,1163264,null,2,Pn.c,[e.ElementRef,Pn.g],null,null),e["ɵqud"](603979776,1,{FormControlNames:1}),e["ɵqud"](603979776,2,{messagesBlock:0}),(l()(),e["ɵeld"](20,0,null,0,1,"label",[["class","cd-col-form-label"],["for","uid"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Username"])),(l()(),e["ɵeld"](22,0,null,0,7,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](23,0,null,null,6,"input",[["class","form-control"],["formControlName","uid"],["id","uid"],["type","text"]],[[8,"readOnly",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var t=!0;return"input"===n&&(t=!1!==e["ɵnov"](l,24)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,24).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,24)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,24)._compositionEnd(u.target.value)&&t),t}),null,null)),e["ɵdid"](24,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.e]),e["ɵdid"](26,671744,[[1,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](28,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](29,16384,null,0,Pn.h,[[3,d.d],Pn.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](30,0,null,null,21,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,An.b,An.a)),e["ɵdid"](31,1163264,null,2,Pn.c,[e.ElementRef,Pn.g],null,null),e["ɵqud"](603979776,3,{FormControlNames:1}),e["ɵqud"](603979776,4,{messagesBlock:0}),(l()(),e["ɵeld"](34,0,null,0,4,"label",[["class","cd-col-form-label"],["for","subuid"]],null,null,null,null,null)),e["ɵprd"](512,null,xl["ɵNgClassImpl"],xl["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](36,278528,null,0,xl.NgClass,[xl["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),e["ɵpod"](37,{required:0}),(l()(),e["ɵted"](-1,null,["Subuser"])),(l()(),e["ɵeld"](39,0,null,0,12,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](40,0,null,null,7,"input",[["autofocus",""],["class","form-control"],["formControlName","subuid"],["id","subuid"],["type","text"]],[[8,"readOnly",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var t=!0;return"input"===n&&(t=!1!==e["ɵnov"](l,42)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,42).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,42)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,42)._compositionEnd(u.target.value)&&t),t}),null,null)),e["ɵdid"](41,4210688,null,0,Hn.a,[e.ElementRef],{autofocus:[0,"autofocus"]},null),e["ɵdid"](42,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.e]),e["ɵdid"](44,671744,[[3,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](46,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](47,16384,null,0,Pn.h,[[3,d.d],Pn.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Iu)),e["ɵdid"](49,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,wu)),e["ɵdid"](51,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](52,0,null,null,30,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,An.b,An.a)),e["ɵdid"](53,1163264,null,2,Pn.c,[e.ElementRef,Pn.g],null,null),e["ɵqud"](603979776,5,{FormControlNames:1}),e["ɵqud"](603979776,6,{messagesBlock:0}),(l()(),e["ɵeld"](56,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","perm"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Permission"])),(l()(),e["ɵeld"](58,0,null,0,24,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](59,0,null,null,21,"select",[["class","form-control custom-select"],["formControlName","perm"],["id","perm"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var t=!0;return"change"===n&&(t=!1!==e["ɵnov"](l,60).onChange(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,60).onTouched()&&t),t}),null,null)),e["ɵdid"](60,16384,null,0,d.A,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.A]),e["ɵdid"](62,671744,[[5,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](64,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](65,16384,null,0,Pn.h,[[3,d.d],Pn.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](66,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](67,147456,null,0,d.v,[e.ElementRef,e.Renderer2,[2,d.A]],{ngValue:[0,"ngValue"]},null),e["ɵdid"](68,147456,null,0,d.F,[e.ElementRef,e.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),e["ɵted"](-1,null,["-- Select a permission --"])),(l()(),e["ɵand"](16777216,null,null,2,null,Eu)),e["ɵdid"](71,278528,null,0,xl.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),e["ɵpad"](72,2),(l()(),e["ɵeld"](73,0,null,null,3,"option",[["value","read-write"]],null,null,null,null,null)),e["ɵdid"](74,147456,null,0,d.v,[e.ElementRef,e.Renderer2,[2,d.A]],{value:[0,"value"]},null),e["ɵdid"](75,147456,null,0,d.F,[e.ElementRef,e.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),e["ɵted"](-1,null,["read, write"])),(l()(),e["ɵeld"](77,0,null,null,3,"option",[["value","full-control"]],null,null,null,null,null)),e["ɵdid"](78,147456,null,0,d.v,[e.ElementRef,e.Renderer2,[2,d.A]],{value:[0,"value"]},null),e["ɵdid"](79,147456,null,0,d.F,[e.ElementRef,e.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),e["ɵted"](-1,null,["full"])),(l()(),e["ɵand"](16777216,null,null,1,null,Nu)),e["ɵdid"](82,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Vu)),e["ɵdid"](84,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](85,0,null,null,7,"div",[["class","modal-footer"]],null,null,null,null,null)),(l()(),e["ɵeld"](86,0,null,null,4,"cd-submit-button",[],null,[[null,"submitAction"]],(function(l,n,u){var e=!0;return"submitAction"===n&&(e=!1!==l.component.onSubmit()&&e),e}),Qn.b,Qn.a)),e["ɵdid"](87,114688,null,0,Yn.a,[e.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(l()(),e["ɵted"](88,0,[""," ",""])),e["ɵppd"](89,1),e["ɵppd"](90,1),(l()(),e["ɵeld"](91,0,null,null,1,"cd-back-button",[],null,null,null,Ln.b,Ln.a)),e["ɵdid"](92,49152,null,0,zn.a,[xl.Location,t.b],{back:[0,"back"]},null)],(function(l,n){var u=n.component;l(n,3,0,u.bsModalRef),l(n,11,0,u.formGroup),l(n,14,0,u.formGroup),l(n,17,0),l(n,26,0,"uid"),l(n,29,0,"uid"),l(n,31,0);var t=l(n,37,0,!u.editing);l(n,36,0,"cd-col-form-label",t),l(n,41,0,""),l(n,44,0,"subuid"),l(n,47,0,"subuid"),l(n,49,0,u.formGroup.showError("subuid",e["ɵnov"](n,11),"required")),l(n,51,0,u.formGroup.showError("subuid",e["ɵnov"](n,11),"subuserIdExists")),l(n,53,0),l(n,62,0,"perm"),l(n,65,0,"perm"),l(n,67,0,null),l(n,68,0,null);var i=l(n,72,0,"read","write");l(n,71,0,i),l(n,74,0,"read-write"),l(n,75,0,"read-write"),l(n,78,0,"full-control"),l(n,79,0,"full-control"),l(n,82,0,u.formGroup.showError("perm",e["ɵnov"](n,11),"required")),l(n,84,0,!u.editing),l(n,87,0,u.formGroup),l(n,92,0,u.bsModalRef.hide)}),(function(l,n){var u=n.component,t=e["ɵunv"](n,5,0,l(n,6,0,e["ɵnov"](n,0),u.action)),i=e["ɵunv"](n,5,1,l(n,7,0,e["ɵnov"](n,1),u.resource));l(n,5,0,t,i),l(n,9,0,e["ɵnov"](n,13).ngClassUntouched,e["ɵnov"](n,13).ngClassTouched,e["ɵnov"](n,13).ngClassPristine,e["ɵnov"](n,13).ngClassDirty,e["ɵnov"](n,13).ngClassValid,e["ɵnov"](n,13).ngClassInvalid,e["ɵnov"](n,13).ngClassPending),l(n,16,0,e["ɵnov"](n,17).hasErrors,e["ɵnov"](n,17).hasSuccess),l(n,23,0,!0,e["ɵnov"](n,28).ngClassUntouched,e["ɵnov"](n,28).ngClassTouched,e["ɵnov"](n,28).ngClassPristine,e["ɵnov"](n,28).ngClassDirty,e["ɵnov"](n,28).ngClassValid,e["ɵnov"](n,28).ngClassInvalid,e["ɵnov"](n,28).ngClassPending,e["ɵnov"](n,29).validClass,e["ɵnov"](n,29).invalidClass),l(n,30,0,e["ɵnov"](n,31).hasErrors,e["ɵnov"](n,31).hasSuccess),l(n,40,0,u.editing,e["ɵnov"](n,46).ngClassUntouched,e["ɵnov"](n,46).ngClassTouched,e["ɵnov"](n,46).ngClassPristine,e["ɵnov"](n,46).ngClassDirty,e["ɵnov"](n,46).ngClassValid,e["ɵnov"](n,46).ngClassInvalid,e["ɵnov"](n,46).ngClassPending,e["ɵnov"](n,47).validClass,e["ɵnov"](n,47).invalidClass),l(n,52,0,e["ɵnov"](n,53).hasErrors,e["ɵnov"](n,53).hasSuccess),l(n,59,0,e["ɵnov"](n,64).ngClassUntouched,e["ɵnov"](n,64).ngClassTouched,e["ɵnov"](n,64).ngClassPristine,e["ɵnov"](n,64).ngClassDirty,e["ɵnov"](n,64).ngClassValid,e["ɵnov"](n,64).ngClassInvalid,e["ɵnov"](n,64).ngClassPending,e["ɵnov"](n,65).validClass,e["ɵnov"](n,65).invalidClass);var a=e["ɵunv"](n,88,0,l(n,89,0,e["ɵnov"](n,0),u.action)),o=e["ɵunv"](n,88,1,l(n,90,0,e["ɵnov"](n,1),u.resource));l(n,88,0,a,o)}))}function xu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"cd-rgw-user-subuser-modal",[],null,null,null,Su,Ru)),e["ɵdid"](1,49152,null,0,Z,[R.a,sn.a,Il.a,t.b],null,null)],null,null)}var Du=e["ɵccf"]("cd-rgw-user-subuser-modal",Z,xu,{},{submitAction:"submitAction"},[]),Fu=u("yT6U"),ju=u("4DD9"),Bu=u("IzCI"),Au=u("Dwqy"),Pu=u("uYzU"),Mu=u("FFMq"),Ou=u("E2fk"),Uu=u("nSDx"),Lu=u("SB+Q"),zu=u("TYzs"),Gu=u("BQkM"),Ku=u("dEH0"),$u=u("G1/K"),Zu=u("efK2"),Hu=u("CNMR"),Qu=u("KOzp"),Yu=u("2uy1"),Wu=u("38Bd"),Ju=u("978R"),Xu=u("FO+L"),le=u("nhM1"),ne=u("BARL"),ue=u("iInd"),ee=u("9Xeq"),te=u("hrfs"),ie=u("yGOH"),ae=u("bxSN"),oe=u("WF9J"),se=u("V/fk"),de=u("F8xH"),re=u("ChqD"),ce=u("PCNd"),me=u("G6Q+"),ge=e["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function pe(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"tab",[["heading","Overall Performance"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),e["ɵdid"](1,212992,null,0,Cl.b,[Cl.e,e.ElementRef,e.Renderer2],{heading:[0,"heading"]},null),(l()(),e["ɵeld"](2,0,null,null,1,"cd-grafana",[["grafanaStyle","two"],["uid","WAkugZpiz"]],null,null,null,_l.b,_l.a)),e["ɵdid"](3,638976,null,0,kl.a,[o.a,yl.b,Rl.a,a.a,Il.a],{grafanaPath:[0,"grafanaPath"],grafanaStyle:[1,"grafanaStyle"],uid:[2,"uid"]},null)],(function(l,n){l(n,1,0,"Overall Performance"),l(n,3,0,"rgw-overview?","two","WAkugZpiz")}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).id,e["ɵnov"](n,1).active,e["ɵnov"](n,1).addClass)}))}function fe(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,9,"tabset",[],[[2,"tab-container",null]],null,null,wl.b,wl.a)),e["ɵdid"](1,180224,null,0,Cl.e,[Cl.f,e.Renderer2,e.ElementRef],null,null),(l()(),e["ɵeld"](2,0,null,0,5,"tab",[["heading","Daemons List"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),e["ɵdid"](3,212992,null,0,Cl.b,[Cl.e,e.ElementRef,e.Renderer2],{heading:[0,"heading"]},null),(l()(),e["ɵeld"](4,0,null,null,3,"cd-table",[["columnMode","flex"],["selectionType","single"]],null,[[null,"updateSelection"],[null,"fetchData"]],(function(l,n,u){var e=!0,t=l.component;return"updateSelection"===n&&(e=!1!==t.updateSelection(u)&&e),"fetchData"===n&&(e=!1!==t.getDaemonList(u)&&e),e}),nn.b,nn.a)),e["ɵdid"](5,2867200,null,0,S.a,[e.NgZone,e.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],selectionType:[3,"selectionType"]},{fetchData:"fetchData",updateSelection:"updateSelection"}),(l()(),e["ɵeld"](6,0,null,3,1,"cd-rgw-daemon-details",[["cdTableDetail",""]],null,null,null,Al,Fl)),e["ɵdid"](7,573440,null,0,Dl,[A,D.a],{selection:[0,"selection"]},null),(l()(),e["ɵand"](16777216,null,0,1,null,pe)),e["ɵdid"](9,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,3,0,"Daemons List"),l(n,5,0,u.daemons,u.columns,"flex","single"),l(n,7,0,u.selection),l(n,9,0,u.grafanaPermission.read)}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).clazz),l(n,2,0,e["ɵnov"](n,3).id,e["ɵnov"](n,3).active,e["ɵnov"](n,3).addClass)}))}function ve(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"cd-rgw-daemon-list",[],null,null,null,fe,ge)),e["ɵdid"](1,49152,null,0,M,[A,D.a,P.a,Il.a],null,null)],null,null)}var be=e["ɵccf"]("cd-rgw-daemon-list",M,ve,{},{},[]),he=u("DqMs"),Ce=u("/NlG"),_e=u("NUGo"),ke=u("S7zO"),ye=e["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Re(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"cd-alert-panel",[["size","slim"],["type","warning"]],null,null,null,he.b,he.a)),e["ɵdid"](1,114688,null,0,Ce.a,[Il.a],{type:[0,"type"],size:[1,"size"]},null),(l()(),e["ɵted"](-1,0,["The user list data might be stale. If needed, you can manually reload it."]))],(function(l,n){l(n,1,0,"warning","slim")}),null)}function Ie(l){return e["ɵvid"](0,[e["ɵqud"](402653184,1,{table:0}),(l()(),e["ɵand"](16777216,null,null,1,null,Re)),e["ɵdid"](2,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](3,0,null,null,5,"cd-table",[["columnMode","flex"],["identifier","uid"],["selectionType","multiClick"]],null,[[null,"updateSelection"],[null,"fetchData"]],(function(l,n,u){var e=!0,t=l.component;return"updateSelection"===n&&(e=!1!==t.updateSelection(u)&&e),"fetchData"===n&&(e=!1!==t.getUserList(u)&&e),e}),nn.b,nn.a)),e["ɵdid"](4,2867200,[[1,4],["table",4]],0,S.a,[e.NgZone,e.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],autoReload:[3,"autoReload"],identifier:[4,"identifier"],selectionType:[5,"selectionType"]},{fetchData:"fetchData",updateSelection:"updateSelection"}),(l()(),e["ɵeld"](5,0,null,1,1,"cd-table-actions",[["class","table-actions"]],null,null,null,_e.b,_e.a)),e["ɵdid"](6,114688,null,0,ke.a,[],{permission:[0,"permission"],selection:[1,"selection"],tableActions:[2,"tableActions"]},null),(l()(),e["ɵeld"](7,0,null,3,1,"cd-rgw-user-details",[["cdTableDetail",""]],null,null,null,xn,dn)),e["ɵdid"](8,638976,null,0,on,[_.a,sn.b,Il.a],{selection:[0,"selection"]},null)],(function(l,n){var u=n.component;l(n,2,0,u.isStale),l(n,4,0,u.users,u.columns,"flex",!1,"uid","multiClick"),l(n,6,0,u.permission,u.selection,u.tableActions),l(n,8,0,u.selection)}),null)}function we(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"cd-rgw-user-list",[],null,null,null,Ie,ye)),e["ɵprd"](256,null,F.a,W,[]),e["ɵdid"](2,49152,null,0,J,[D.a,_.a,sn.b,Il.a,F.a,t.b,e.NgZone],null,null)],null,null)}var Ee=e["ɵccf"]("cd-rgw-user-list",J,we,{},{},[]),Ne=u("QC43"),qe=u("XFyV"),Te=u("EmSq"),Ve=e["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Se(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"cd-loading-panel",[],null,null,null,Ne.b,Ne.a)),e["ɵdid"](1,49152,null,0,qe.a,[],null,null),(l()(),e["ɵted"](-1,0,["Loading user data..."]))],null,null)}function xe(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"cd-alert-panel",[["type","error"]],null,[[null,"backAction"]],(function(l,n,u){var e=!0;return"backAction"===n&&(e=!1!==l.component.goToListView()&&e),e}),he.b,he.a)),e["ɵdid"](1,114688,null,0,Ce.a,[Il.a],{type:[0,"type"]},{backAction:"backAction"}),(l()(),e["ɵted"](-1,0,["The user data could not be loaded."]))],(function(l,n){l(n,1,0,"error")}),null)}function De(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function Fe(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["The chosen user ID is already in use."]))],null,null)}function je(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function Be(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This is not a valid email address."]))],null,null)}function Ae(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["The chosen email address is already in use."]))],null,null)}function Pe(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function Me(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["The entered value must be >= 1."]))],null,null)}function Oe(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,17,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,An.b,An.a)),e["ɵdid"](1,1163264,null,2,Pn.c,[e.ElementRef,Pn.g],null,null),e["ɵqud"](603979776,9,{FormControlNames:1}),e["ɵqud"](603979776,10,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,0,"label",[["class","cd-col-form-label"]],null,null,null,null,null)),(l()(),e["ɵeld"](5,0,null,0,12,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](6,0,null,null,7,"input",[["class","form-control"],["formControlName","max_buckets"],["id","max_buckets"],["min","1"],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],(function(l,n,u){var t=!0;return"input"===n&&(t=!1!==e["ɵnov"](l,7)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,7).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,7)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,7)._compositionEnd(u.target.value)&&t),"change"===n&&(t=!1!==e["ɵnov"](l,8).onChange(u.target.value)&&t),"input"===n&&(t=!1!==e["ɵnov"](l,8).onChange(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,8).onTouched()&&t),t}),null,null)),e["ɵdid"](7,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵdid"](8,16384,null,0,d.w,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l,n){return[l,n]}),[d.e,d.w]),e["ɵdid"](10,671744,[[9,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](12,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](13,16384,null,0,Pn.h,[[3,d.d],Pn.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Pe)),e["ɵdid"](15,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Me)),e["ɵdid"](17,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,1,0),l(n,10,0,"max_buckets"),l(n,13,0,"max_buckets"),l(n,15,0,u.userForm.showError("max_buckets",e["ɵnov"](n.parent,3),"required")),l(n,17,0,u.userForm.showError("max_buckets",e["ɵnov"](n.parent,3),"min"))}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,6,0,e["ɵnov"](n,12).ngClassUntouched,e["ɵnov"](n,12).ngClassTouched,e["ɵnov"](n,12).ngClassPristine,e["ɵnov"](n,12).ngClassDirty,e["ɵnov"](n,12).ngClassValid,e["ɵnov"](n,12).ngClassInvalid,e["ɵnov"](n,12).ngClassPending,e["ɵnov"](n,13).validClass,e["ɵnov"](n,13).invalidClass)}))}function Ue(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function Le(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,21,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,An.b,An.a)),e["ɵdid"](1,1163264,null,2,Pn.c,[e.ElementRef,Pn.g],null,null),e["ɵqud"](603979776,15,{FormControlNames:1}),e["ɵqud"](603979776,16,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","access_key"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Access key"])),(l()(),e["ɵeld"](6,0,null,0,15,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](7,0,null,null,12,"div",[["class","input-group"]],null,null,null,null,null)),(l()(),e["ɵeld"](8,0,null,null,6,"input",[["class","form-control"],["formControlName","access_key"],["id","access_key"],["type","password"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var t=!0;return"input"===n&&(t=!1!==e["ɵnov"](l,9)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,9).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,9)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,9)._compositionEnd(u.target.value)&&t),t}),null,null)),e["ɵdid"](9,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.e]),e["ɵdid"](11,671744,[[15,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](13,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](14,16384,null,0,Pn.h,[[3,d.d],Pn.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](15,0,null,null,4,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),e["ɵeld"](16,0,null,null,1,"button",[["cdPasswordButton","access_key"],["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var t=!0;return"click"===n&&(t=!1!==e["ɵnov"](l,17).onClick()&&t),t}),null,null)),e["ɵdid"](17,81920,null,0,Mn.a,[e.ElementRef,e.Renderer2],{cdPasswordButton:[0,"cdPasswordButton"]},null),(l()(),e["ɵeld"](18,0,null,null,1,"button",[["cdCopy2ClipboardButton","access_key"],["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var t=!0;return"click"===n&&(t=!1!==e["ɵnov"](l,19).onClick()&&t),t}),null,null)),e["ɵdid"](19,81920,null,0,On.a,[e.ElementRef,e.Renderer2,Un.j],{cdCopy2ClipboardButton:[0,"cdCopy2ClipboardButton"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Ue)),e["ɵdid"](21,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,1,0),l(n,11,0,"access_key"),l(n,14,0,"access_key"),l(n,17,0,"access_key"),l(n,19,0,"access_key"),l(n,21,0,u.userForm.showError("access_key",e["ɵnov"](n.parent.parent,3),"required"))}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,8,0,e["ɵnov"](n,13).ngClassUntouched,e["ɵnov"](n,13).ngClassTouched,e["ɵnov"](n,13).ngClassPristine,e["ɵnov"](n,13).ngClassDirty,e["ɵnov"](n,13).ngClassValid,e["ɵnov"](n,13).ngClassInvalid,e["ɵnov"](n,13).ngClassPending,e["ɵnov"](n,14).validClass,e["ɵnov"](n,14).invalidClass)}))}function ze(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function Ge(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,21,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,An.b,An.a)),e["ɵdid"](1,1163264,null,2,Pn.c,[e.ElementRef,Pn.g],null,null),e["ɵqud"](603979776,17,{FormControlNames:1}),e["ɵqud"](603979776,18,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","secret_key"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Secret key"])),(l()(),e["ɵeld"](6,0,null,0,15,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](7,0,null,null,12,"div",[["class","input-group"]],null,null,null,null,null)),(l()(),e["ɵeld"](8,0,null,null,6,"input",[["class","form-control"],["formControlName","secret_key"],["id","secret_key"],["type","password"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var t=!0;return"input"===n&&(t=!1!==e["ɵnov"](l,9)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,9).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,9)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,9)._compositionEnd(u.target.value)&&t),t}),null,null)),e["ɵdid"](9,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.e]),e["ɵdid"](11,671744,[[17,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](13,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](14,16384,null,0,Pn.h,[[3,d.d],Pn.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](15,0,null,null,4,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),e["ɵeld"](16,0,null,null,1,"button",[["cdPasswordButton","secret_key"],["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var t=!0;return"click"===n&&(t=!1!==e["ɵnov"](l,17).onClick()&&t),t}),null,null)),e["ɵdid"](17,81920,null,0,Mn.a,[e.ElementRef,e.Renderer2],{cdPasswordButton:[0,"cdPasswordButton"]},null),(l()(),e["ɵeld"](18,0,null,null,1,"button",[["cdCopy2ClipboardButton","secret_key"],["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var t=!0;return"click"===n&&(t=!1!==e["ɵnov"](l,19).onClick()&&t),t}),null,null)),e["ɵdid"](19,81920,null,0,On.a,[e.ElementRef,e.Renderer2,Un.j],{cdCopy2ClipboardButton:[0,"cdCopy2ClipboardButton"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,ze)),e["ɵdid"](21,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,1,0),l(n,11,0,"secret_key"),l(n,14,0,"secret_key"),l(n,17,0,"secret_key"),l(n,19,0,"secret_key"),l(n,21,0,u.userForm.showError("secret_key",e["ɵnov"](n.parent.parent,3),"required"))}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,8,0,e["ɵnov"](n,13).ngClassUntouched,e["ɵnov"](n,13).ngClassTouched,e["ɵnov"](n,13).ngClassPristine,e["ɵnov"](n,13).ngClassDirty,e["ɵnov"](n,13).ngClassValid,e["ɵnov"](n,13).ngClassInvalid,e["ɵnov"](n,13).ngClassPending,e["ɵnov"](n,14).validClass,e["ɵnov"](n,14).invalidClass)}))}function Ke(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,21,"fieldset",[],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,"legend",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["S3 key"])),(l()(),e["ɵeld"](3,0,null,null,14,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,An.b,An.a)),e["ɵdid"](4,1163264,null,2,Pn.c,[e.ElementRef,Pn.g],null,null),e["ɵqud"](603979776,13,{FormControlNames:1}),e["ɵqud"](603979776,14,{messagesBlock:0}),(l()(),e["ɵeld"](7,0,null,0,10,"div",[["class","cd-col-form-offset"]],null,null,null,null,null)),(l()(),e["ɵeld"](8,0,null,null,9,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(l()(),e["ɵeld"](9,0,null,null,6,"input",[["class","custom-control-input"],["formControlName","generate_key"],["id","generate_key"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var t=!0;return"change"===n&&(t=!1!==e["ɵnov"](l,10).onChange(u.target.checked)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,10).onTouched()&&t),t}),null,null)),e["ɵdid"](10,16384,null,0,d.c,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.c]),e["ɵdid"](12,671744,[[13,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](14,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](15,16384,null,0,Pn.h,[[3,d.d],Pn.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](16,0,null,null,1,"label",[["class","custom-control-label"],["for","generate_key"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Auto-generate key"])),(l()(),e["ɵand"](16777216,null,null,1,null,Le)),e["ɵdid"](19,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Ge)),e["ɵdid"](21,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,4,0),l(n,12,0,"generate_key"),l(n,15,0,"generate_key"),l(n,19,0,!u.editing&&!u.userForm.getValue("generate_key")),l(n,21,0,!u.editing&&!u.userForm.getValue("generate_key"))}),(function(l,n){l(n,3,0,e["ɵnov"](n,4).hasErrors,e["ɵnov"](n,4).hasSuccess),l(n,9,0,e["ɵnov"](n,14).ngClassUntouched,e["ɵnov"](n,14).ngClassTouched,e["ɵnov"](n,14).ngClassPristine,e["ɵnov"](n,14).ngClassDirty,e["ɵnov"](n,14).ngClassValid,e["ɵnov"](n,14).ngClassInvalid,e["ɵnov"](n,14).ngClassPending,e["ɵnov"](n,15).validClass,e["ɵnov"](n,15).invalidClass)}))}function $e(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"span",[["class","no-border"]],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,"span",[["class","form-text text-muted"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["There are no subusers."]))],null,null)}function Ze(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,23,"span",[],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,21,"div",[["class","input-group"]],null,null,null,null,null)),(l()(),e["ɵeld"](2,0,null,null,2,"div",[["class","input-group-prepend"]],null,null,null,null,null)),(l()(),e["ɵeld"](3,0,null,null,1,"span",[["class","input-group-text"]],null,null,null,null,null)),(l()(),e["ɵeld"](4,0,null,null,0,"i",[],[[8,"className",0]],null,null,null,null)),(l()(),e["ɵeld"](5,0,null,null,0,"input",[["class","cd-form-control"],["readonly",""],["type","text"]],[[8,"value",0]],null,null,null,null)),(l()(),e["ɵeld"](6,0,null,null,2,"div",[["class","input-group-prepend border-left-0 border-right-0"]],null,null,null,null,null)),(l()(),e["ɵeld"](7,0,null,null,1,"span",[["class","input-group-text"]],null,null,null,null,null)),(l()(),e["ɵeld"](8,0,null,null,0,"i",[],[[8,"className",0]],null,null,null,null)),(l()(),e["ɵeld"](9,0,null,null,0,"input",[["class","cd-form-control"],["readonly",""],["type","text"]],[[8,"value",0]],null,null,null,null)),(l()(),e["ɵeld"](10,0,null,null,12,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),e["ɵeld"](11,16777216,null,null,5,"button",[["class","btn btn-light tc_showSubuserButton"],["tooltip","Edit"],["type","button"]],[[1,"aria-describedby",0]],[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(e=!1!==l.component.showSubuserModal(l.context.index)&&e),e}),null,null)),e["ɵdid"](12,212992,null,0,Ju.c,[e.ViewContainerRef,en.a,Ju.a,e.ElementRef,e.Renderer2,Yu.a],{tooltip:[0,"tooltip"]},null),(l()(),e["ɵeld"](13,0,null,null,3,"i",[],null,null,null,null,null)),e["ɵprd"](512,null,xl["ɵNgClassImpl"],xl["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](15,278528,null,0,xl.NgClass,[xl["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](16,1),(l()(),e["ɵeld"](17,16777216,null,null,5,"button",[["class","btn btn-light tc_deleteSubuserButton"],["tooltip","Delete"],["type","button"]],[[1,"aria-describedby",0]],[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(e=!1!==l.component.deleteSubuser(l.context.index)&&e),e}),null,null)),e["ɵdid"](18,212992,null,0,Ju.c,[e.ViewContainerRef,en.a,Ju.a,e.ElementRef,e.Renderer2,Yu.a],{tooltip:[0,"tooltip"]},null),(l()(),e["ɵeld"](19,0,null,null,3,"i",[],null,null,null,null,null)),e["ɵprd"](512,null,xl["ɵNgClassImpl"],xl["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](21,278528,null,0,xl.NgClass,[xl["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](22,1),(l()(),e["ɵeld"](23,0,null,null,0,"span",[["class","form-text text-muted"]],null,null,null,null,null))],(function(l,n){var u=n.component;l(n,12,0,"Edit");var e=l(n,16,0,u.icons.edit);l(n,15,0,e),l(n,18,0,"Delete");var t=l(n,22,0,u.icons.destroy);l(n,21,0,t)}),(function(l,n){var u=n.component;l(n,4,0,e["ɵinlineInterpolate"](1,"",u.icons.user,"")),l(n,5,0,e["ɵinlineInterpolate"](1,"",n.context.$implicit.id,"")),l(n,8,0,e["ɵinlineInterpolate"](1,"",u.icons.share,"")),l(n,9,0,e["ɵinlineInterpolate"](1,"","full-control"===n.context.$implicit.permissions?"full":n.context.$implicit.permissions,"")),l(n,11,0,e["ɵnov"](n,12).ariaDescribedby),l(n,17,0,e["ɵnov"](n,18).ariaDescribedby)}))}function He(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,20,"fieldset",[],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,"legend",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Subusers"])),(l()(),e["ɵeld"](3,0,null,null,17,"div",[["class","row"]],null,null,null,null,null)),(l()(),e["ɵeld"](4,0,null,null,16,"div",[["class","cd-col-form-offset"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,$e)),e["ɵdid"](6,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Ze)),e["ɵdid"](8,278528,null,0,xl.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),e["ɵeld"](9,0,null,null,10,"div",[["class","row"]],null,null,null,null,null)),(l()(),e["ɵeld"](10,0,null,null,9,"div",[["class","col-12"]],null,null,null,null,null)),(l()(),e["ɵeld"](11,0,null,null,8,"button",[["class","btn btn-light float-right tc_addSubuserButton"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(e=!1!==l.component.showSubuserModal()&&e),e}),null,null)),(l()(),e["ɵeld"](12,0,null,null,3,"i",[],null,null,null,null,null)),e["ɵprd"](512,null,xl["ɵNgClassImpl"],xl["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](14,278528,null,0,xl.NgClass,[xl["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](15,1),(l()(),e["ɵeld"](16,0,null,null,3,null,null,null,null,null,null,null)),(l()(),e["ɵted"](17,null,[""," ",""])),e["ɵppd"](18,1),e["ɵppd"](19,1),(l()(),e["ɵeld"](20,0,null,null,0,"span",[["class","help-block"]],null,null,null,null,null))],(function(l,n){var u=n.component;l(n,6,0,0===u.subusers.length),l(n,8,0,u.subusers);var e=l(n,15,0,u.icons.add);l(n,14,0,e)}),(function(l,n){var u=n.component,t=e["ɵunv"](n,17,0,l(n,18,0,e["ɵnov"](n.parent.parent,0),u.actionLabels.CREATE)),i=e["ɵunv"](n,17,1,l(n,19,0,e["ɵnov"](n.parent.parent,1),u.subuserLabel));l(n,17,0,t,i)}))}function Qe(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"span",[["class","no-border"]],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,"span",[["class","form-text text-muted"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["There are no keys."]))],null,null)}function Ye(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,19,"span",[],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,17,"div",[["class","input-group"]],null,null,null,null,null)),(l()(),e["ɵeld"](2,0,null,null,2,"div",[["class","input-group-prepend"]],null,null,null,null,null)),(l()(),e["ɵeld"](3,0,null,null,1,"div",[["class","input-group-text"]],null,null,null,null,null)),(l()(),e["ɵeld"](4,0,null,null,0,"i",[],[[8,"className",0]],null,null,null,null)),(l()(),e["ɵeld"](5,0,null,null,0,"input",[["class","cd-form-control"],["readonly",""],["type","text"]],[[8,"value",0]],null,null,null,null)),(l()(),e["ɵeld"](6,0,null,null,12,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),e["ɵeld"](7,16777216,null,null,5,"button",[["class","btn btn-light tc_showS3KeyButton"],["tooltip","Show"],["type","button"]],[[1,"aria-describedby",0]],[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(e=!1!==l.component.showS3KeyModal(l.context.index)&&e),e}),null,null)),e["ɵdid"](8,212992,null,0,Ju.c,[e.ViewContainerRef,en.a,Ju.a,e.ElementRef,e.Renderer2,Yu.a],{tooltip:[0,"tooltip"]},null),(l()(),e["ɵeld"](9,0,null,null,3,"i",[],null,null,null,null,null)),e["ɵprd"](512,null,xl["ɵNgClassImpl"],xl["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](11,278528,null,0,xl.NgClass,[xl["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](12,1),(l()(),e["ɵeld"](13,16777216,null,null,5,"button",[["class","btn btn-light tc_deleteS3KeyButton"],["tooltip","Delete"],["type","button"]],[[1,"aria-describedby",0]],[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(e=!1!==l.component.deleteS3Key(l.context.index)&&e),e}),null,null)),e["ɵdid"](14,212992,null,0,Ju.c,[e.ViewContainerRef,en.a,Ju.a,e.ElementRef,e.Renderer2,Yu.a],{tooltip:[0,"tooltip"]},null),(l()(),e["ɵeld"](15,0,null,null,3,"i",[],null,null,null,null,null)),e["ɵprd"](512,null,xl["ɵNgClassImpl"],xl["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](17,278528,null,0,xl.NgClass,[xl["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](18,1),(l()(),e["ɵeld"](19,0,null,null,0,"span",[["class","form-text text-muted"]],null,null,null,null,null))],(function(l,n){var u=n.component;l(n,8,0,"Show");var e=l(n,12,0,u.icons.show);l(n,11,0,e),l(n,14,0,"Delete");var t=l(n,18,0,u.icons.destroy);l(n,17,0,t)}),(function(l,n){l(n,4,0,e["ɵinlineInterpolate"](1,"",n.component.icons.key,"")),l(n,5,0,e["ɵinlineInterpolate"](1,"",n.context.$implicit.user,"")),l(n,7,0,e["ɵnov"](n,8).ariaDescribedby),l(n,13,0,e["ɵnov"](n,14).ariaDescribedby)}))}function We(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"span",[["class","no-border"]],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,"span",[["class","form-text text-muted"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["There are no keys."]))],null,null)}function Je(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,13,"span",[],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,11,"div",[["class","input-group"]],null,null,null,null,null)),(l()(),e["ɵeld"](2,0,null,null,2,"div",[["class","input-group-prepend"]],null,null,null,null,null)),(l()(),e["ɵeld"](3,0,null,null,1,"span",[["class","input-group-text"]],null,null,null,null,null)),(l()(),e["ɵeld"](4,0,null,null,0,"i",[],[[8,"className",0]],null,null,null,null)),(l()(),e["ɵeld"](5,0,null,null,0,"input",[["class","cd-form-control"],["readonly",""],["type","text"]],[[8,"value",0]],null,null,null,null)),(l()(),e["ɵeld"](6,0,null,null,6,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),e["ɵeld"](7,16777216,null,null,5,"button",[["class","btn btn-light tc_showSwiftKeyButton"],["tooltip","Show"],["type","button"]],[[1,"aria-describedby",0]],[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(e=!1!==l.component.showSwiftKeyModal(l.context.index)&&e),e}),null,null)),e["ɵdid"](8,212992,null,0,Ju.c,[e.ViewContainerRef,en.a,Ju.a,e.ElementRef,e.Renderer2,Yu.a],{tooltip:[0,"tooltip"]},null),(l()(),e["ɵeld"](9,0,null,null,3,"i",[],null,null,null,null,null)),e["ɵprd"](512,null,xl["ɵNgClassImpl"],xl["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](11,278528,null,0,xl.NgClass,[xl["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](12,1),(l()(),e["ɵeld"](13,0,null,null,0,"span",[["class","form-text text-muted"]],null,null,null,null,null))],(function(l,n){var u=n.component;l(n,8,0,"Show");var e=l(n,12,0,u.icons.show);l(n,11,0,e)}),(function(l,n){l(n,4,0,e["ɵinlineInterpolate"](1,"",n.component.icons.key,"")),l(n,5,0,e["ɵinlineInterpolate"](1,"",n.context.$implicit.user,"")),l(n,7,0,e["ɵnov"](n,8).ariaDescribedby)}))}function Xe(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,37,"fieldset",[],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,"legend",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Keys"])),(l()(),e["ɵeld"](3,0,null,null,23,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,An.b,An.a)),e["ɵdid"](4,1163264,null,2,Pn.c,[e.ElementRef,Pn.g],null,null),e["ɵqud"](603979776,19,{FormControlNames:1}),e["ɵqud"](603979776,20,{messagesBlock:0}),(l()(),e["ɵeld"](7,0,null,0,1,"label",[["class","cd-col-form-label"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["S3"])),(l()(),e["ɵeld"](9,0,null,0,16,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,Qe)),e["ɵdid"](11,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Ye)),e["ɵdid"](13,278528,null,0,xl.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),e["ɵeld"](14,0,null,null,10,"div",[["class","row"]],null,null,null,null,null)),(l()(),e["ɵeld"](15,0,null,null,9,"div",[["class","col-12"]],null,null,null,null,null)),(l()(),e["ɵeld"](16,0,null,null,8,"button",[["class","btn btn-light float-right tc_addS3KeyButton"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(e=!1!==l.component.showS3KeyModal()&&e),e}),null,null)),(l()(),e["ɵeld"](17,0,null,null,3,"i",[],null,null,null,null,null)),e["ɵprd"](512,null,xl["ɵNgClassImpl"],xl["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](19,278528,null,0,xl.NgClass,[xl["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](20,1),(l()(),e["ɵeld"](21,0,null,null,3,null,null,null,null,null,null,null)),(l()(),e["ɵted"](22,null,[""," ",""])),e["ɵppd"](23,1),e["ɵppd"](24,1),(l()(),e["ɵeld"](25,0,null,null,0,"span",[["class","help-block"]],null,null,null,null,null)),(l()(),e["ɵeld"](26,0,null,0,0,"hr",[],null,null,null,null,null)),(l()(),e["ɵeld"](27,0,null,null,10,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,An.b,An.a)),e["ɵdid"](28,1163264,null,2,Pn.c,[e.ElementRef,Pn.g],null,null),e["ɵqud"](603979776,21,{FormControlNames:1}),e["ɵqud"](603979776,22,{messagesBlock:0}),(l()(),e["ɵeld"](31,0,null,0,1,"label",[["class","cd-col-form-label"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Swift"])),(l()(),e["ɵeld"](33,0,null,0,4,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,We)),e["ɵdid"](35,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Je)),e["ɵdid"](37,278528,null,0,xl.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(l,n){var u=n.component;l(n,4,0),l(n,11,0,0===u.s3Keys.length),l(n,13,0,u.s3Keys);var e=l(n,20,0,u.icons.add);l(n,19,0,e),l(n,28,0),l(n,35,0,0===u.swiftKeys.length),l(n,37,0,u.swiftKeys)}),(function(l,n){var u=n.component;l(n,3,0,e["ɵnov"](n,4).hasErrors,e["ɵnov"](n,4).hasSuccess);var t=e["ɵunv"](n,22,0,l(n,23,0,e["ɵnov"](n.parent.parent,0),u.actionLabels.CREATE)),i=e["ɵunv"](n,22,1,l(n,24,0,e["ɵnov"](n.parent.parent,1),u.s3keyLabel));l(n,22,0,t,i),l(n,27,0,e["ɵnov"](n,28).hasErrors,e["ɵnov"](n,28).hasSuccess)}))}function lt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"span",[["class","no-border"]],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,"span",[["class","form-text text-muted"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["There are no capabilities."]))],null,null)}function nt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,19,"span",[],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,17,"div",[["class","input-group"]],null,null,null,null,null)),(l()(),e["ɵeld"](2,0,null,null,2,"span",[["class","input-group-prepend"]],null,null,null,null,null)),(l()(),e["ɵeld"](3,0,null,null,1,"div",[["class","input-group-text"]],null,null,null,null,null)),(l()(),e["ɵeld"](4,0,null,null,0,"i",[],[[8,"className",0]],null,null,null,null)),(l()(),e["ɵeld"](5,0,null,null,0,"input",[["class","cd-form-control"],["readonly",""],["type","text"]],[[8,"value",0]],null,null,null,null)),(l()(),e["ɵeld"](6,0,null,null,12,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),e["ɵeld"](7,16777216,null,null,5,"button",[["class","btn btn-light tc_editCapButton"],["tooltip","Edit"],["type","button"]],[[1,"aria-describedby",0]],[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(e=!1!==l.component.showCapabilityModal(l.context.index)&&e),e}),null,null)),e["ɵdid"](8,212992,null,0,Ju.c,[e.ViewContainerRef,en.a,Ju.a,e.ElementRef,e.Renderer2,Yu.a],{tooltip:[0,"tooltip"]},null),(l()(),e["ɵeld"](9,0,null,null,3,"i",[],null,null,null,null,null)),e["ɵprd"](512,null,xl["ɵNgClassImpl"],xl["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](11,278528,null,0,xl.NgClass,[xl["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](12,1),(l()(),e["ɵeld"](13,16777216,null,null,5,"button",[["class","btn btn-light tc_deleteCapButton"],["tooltip","Delete"],["type","button"]],[[1,"aria-describedby",0]],[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(e=!1!==l.component.deleteCapability(l.context.index)&&e),e}),null,null)),e["ɵdid"](14,212992,null,0,Ju.c,[e.ViewContainerRef,en.a,Ju.a,e.ElementRef,e.Renderer2,Yu.a],{tooltip:[0,"tooltip"]},null),(l()(),e["ɵeld"](15,0,null,null,3,"i",[],null,null,null,null,null)),e["ɵprd"](512,null,xl["ɵNgClassImpl"],xl["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](17,278528,null,0,xl.NgClass,[xl["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](18,1),(l()(),e["ɵeld"](19,0,null,null,0,"span",[["class","form-text text-muted"]],null,null,null,null,null))],(function(l,n){var u=n.component;l(n,8,0,"Edit");var e=l(n,12,0,u.icons.edit);l(n,11,0,e),l(n,14,0,"Delete");var t=l(n,18,0,u.icons.destroy);l(n,17,0,t)}),(function(l,n){l(n,4,0,e["ɵinlineInterpolate"](1,"",n.component.icons.share,"")),l(n,5,0,e["ɵinlineInterpolate"](2,"",n.context.$implicit.type,":",n.context.$implicit.perm,"")),l(n,7,0,e["ɵnov"](n,8).ariaDescribedby),l(n,13,0,e["ɵnov"](n,14).ariaDescribedby)}))}function ut(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,24,"fieldset",[],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,"legend",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Capabilities"])),(l()(),e["ɵeld"](3,0,null,null,21,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,An.b,An.a)),e["ɵdid"](4,1163264,null,2,Pn.c,[e.ElementRef,Pn.g],null,null),e["ɵqud"](603979776,23,{FormControlNames:1}),e["ɵqud"](603979776,24,{messagesBlock:0}),(l()(),e["ɵeld"](7,0,null,0,17,"div",[["class","cd-col-form-offset"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,lt)),e["ɵdid"](9,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,nt)),e["ɵdid"](11,278528,null,0,xl.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),e["ɵeld"](12,0,null,null,11,"div",[["class","row"]],null,null,null,null,null)),(l()(),e["ɵeld"](13,0,null,null,10,"div",[["class","col-12"]],null,null,null,null,null)),(l()(),e["ɵeld"](14,16777216,null,null,9,"button",[["class","btn btn-light float-right tc_addCapButton"],["tooltip","All capabilities are already added."],["triggers","pointerenter pointerleave"],["type","button"]],[[8,"disabled",0],[1,"aria-describedby",0]],[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(e=!1!==l.component.showCapabilityModal()&&e),e}),null,null)),e["ɵdid"](15,212992,null,0,Ju.c,[e.ViewContainerRef,en.a,Ju.a,e.ElementRef,e.Renderer2,Yu.a],{tooltip:[0,"tooltip"],triggers:[1,"triggers"],isDisabled:[2,"isDisabled"]},null),(l()(),e["ɵeld"](16,0,null,null,3,"i",[],null,null,null,null,null)),e["ɵprd"](512,null,xl["ɵNgClassImpl"],xl["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](18,278528,null,0,xl.NgClass,[xl["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](19,1),(l()(),e["ɵeld"](20,0,null,null,3,null,null,null,null,null,null,null)),(l()(),e["ɵted"](21,null,[""," ",""])),e["ɵppd"](22,1),e["ɵppd"](23,1),(l()(),e["ɵeld"](24,0,null,null,0,"span",[["class","help-block"]],null,null,null,null,null))],(function(l,n){var u=n.component;l(n,4,0),l(n,9,0,0===u.capabilities.length),l(n,11,0,u.capabilities),l(n,15,0,"All capabilities are already added.","pointerenter pointerleave",!u.hasAllCapabilities());var e=l(n,19,0,u.icons.add);l(n,18,0,e)}),(function(l,n){var u=n.component;l(n,3,0,e["ɵnov"](n,4).hasErrors,e["ɵnov"](n,4).hasSuccess),l(n,14,0,u.hasAllCapabilities(),e["ɵnov"](n,15).ariaDescribedby);var t=e["ɵunv"](n,21,0,l(n,22,0,e["ɵnov"](n.parent.parent,0),u.actionLabels.ADD)),i=e["ɵunv"](n,21,1,l(n,23,0,e["ɵnov"](n.parent.parent,1),u.capabilityLabel));l(n,21,0,t,i)}))}function et(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,14,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,An.b,An.a)),e["ɵdid"](1,1163264,null,2,Pn.c,[e.ElementRef,Pn.g],null,null),e["ɵqud"](603979776,27,{FormControlNames:1}),e["ɵqud"](603979776,28,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,10,"div",[["class","cd-col-form-offset"]],null,null,null,null,null)),(l()(),e["ɵeld"](5,0,null,null,9,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(l()(),e["ɵeld"](6,0,null,null,6,"input",[["class","custom-control-input"],["formControlName","user_quota_max_size_unlimited"],["id","user_quota_max_size_unlimited"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var t=!0;return"change"===n&&(t=!1!==e["ɵnov"](l,7).onChange(u.target.checked)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,7).onTouched()&&t),t}),null,null)),e["ɵdid"](7,16384,null,0,d.c,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.c]),e["ɵdid"](9,671744,[[27,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](11,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](12,16384,null,0,Pn.h,[[3,d.d],Pn.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](13,0,null,null,1,"label",[["class","custom-control-label"],["for","user_quota_max_size_unlimited"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Unlimited size"]))],(function(l,n){l(n,1,0),l(n,9,0,"user_quota_max_size_unlimited"),l(n,12,0,"user_quota_max_size_unlimited")}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,6,0,e["ɵnov"](n,11).ngClassUntouched,e["ɵnov"](n,11).ngClassTouched,e["ɵnov"](n,11).ngClassPristine,e["ɵnov"](n,11).ngClassDirty,e["ɵnov"](n,11).ngClassValid,e["ɵnov"](n,11).ngClassInvalid,e["ɵnov"](n,11).ngClassPending,e["ɵnov"](n,12).validClass,e["ɵnov"](n,12).invalidClass)}))}function tt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function it(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["The value is not valid."]))],null,null)}function at(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,18,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,An.b,An.a)),e["ɵdid"](1,1163264,null,2,Pn.c,[e.ElementRef,Pn.g],null,null),e["ɵqud"](603979776,29,{FormControlNames:1}),e["ɵqud"](603979776,30,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","user_quota_max_size"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Max. size"])),(l()(),e["ɵeld"](6,0,null,0,12,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](7,0,null,null,7,"input",[["cdDimlessBinary",""],["class","form-control"],["formControlName","user_quota_max_size"],["id","user_quota_max_size"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var t=!0;return"input"===n&&(t=!1!==e["ɵnov"](l,8)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,8).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,8)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,8)._compositionEnd(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,12).onBlur(u.target.value)&&t),t}),null,null)),e["ɵdid"](8,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.e]),e["ɵdid"](10,671744,[[29,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](12,81920,null,0,Te.a,[e.ElementRef,d.q,an.a,U.a],null,null),e["ɵdid"](13,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](14,16384,null,0,Pn.h,[[3,d.d],Pn.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,tt)),e["ɵdid"](16,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,it)),e["ɵdid"](18,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,1,0),l(n,10,0,"user_quota_max_size"),l(n,12,0),l(n,14,0,"user_quota_max_size"),l(n,16,0,u.userForm.showError("user_quota_max_size",e["ɵnov"](n.parent,3),"required")),l(n,18,0,u.userForm.showError("user_quota_max_size",e["ɵnov"](n.parent,3),"quotaMaxSize"))}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,7,0,e["ɵnov"](n,13).ngClassUntouched,e["ɵnov"](n,13).ngClassTouched,e["ɵnov"](n,13).ngClassPristine,e["ɵnov"](n,13).ngClassDirty,e["ɵnov"](n,13).ngClassValid,e["ɵnov"](n,13).ngClassInvalid,e["ɵnov"](n,13).ngClassPending,e["ɵnov"](n,14).validClass,e["ɵnov"](n,14).invalidClass)}))}function ot(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,14,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,An.b,An.a)),e["ɵdid"](1,1163264,null,2,Pn.c,[e.ElementRef,Pn.g],null,null),e["ɵqud"](603979776,31,{FormControlNames:1}),e["ɵqud"](603979776,32,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,10,"div",[["class","cd-col-form-offset"]],null,null,null,null,null)),(l()(),e["ɵeld"](5,0,null,null,9,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(l()(),e["ɵeld"](6,0,null,null,6,"input",[["class","custom-control-input"],["formControlName","user_quota_max_objects_unlimited"],["id","user_quota_max_objects_unlimited"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var t=!0;return"change"===n&&(t=!1!==e["ɵnov"](l,7).onChange(u.target.checked)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,7).onTouched()&&t),t}),null,null)),e["ɵdid"](7,16384,null,0,d.c,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.c]),e["ɵdid"](9,671744,[[31,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](11,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](12,16384,null,0,Pn.h,[[3,d.d],Pn.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](13,0,null,null,1,"label",[["class","custom-control-label"],["for","user_quota_max_objects_unlimited"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Unlimited objects"]))],(function(l,n){l(n,1,0),l(n,9,0,"user_quota_max_objects_unlimited"),l(n,12,0,"user_quota_max_objects_unlimited")}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,6,0,e["ɵnov"](n,11).ngClassUntouched,e["ɵnov"](n,11).ngClassTouched,e["ɵnov"](n,11).ngClassPristine,e["ɵnov"](n,11).ngClassDirty,e["ɵnov"](n,11).ngClassValid,e["ɵnov"](n,11).ngClassInvalid,e["ɵnov"](n,11).ngClassPending,e["ɵnov"](n,12).validClass,e["ɵnov"](n,12).invalidClass)}))}function st(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function dt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["The entered value must be >= 0."]))],null,null)}function rt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,18,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,An.b,An.a)),e["ɵdid"](1,1163264,null,2,Pn.c,[e.ElementRef,Pn.g],null,null),e["ɵqud"](603979776,33,{FormControlNames:1}),e["ɵqud"](603979776,34,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","user_quota_max_objects"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Max. objects"])),(l()(),e["ɵeld"](6,0,null,0,12,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](7,0,null,null,7,"input",[["class","form-control"],["formControlName","user_quota_max_objects"],["id","user_quota_max_objects"],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],(function(l,n,u){var t=!0;return"input"===n&&(t=!1!==e["ɵnov"](l,8)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,8).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,8)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,8)._compositionEnd(u.target.value)&&t),"change"===n&&(t=!1!==e["ɵnov"](l,9).onChange(u.target.value)&&t),"input"===n&&(t=!1!==e["ɵnov"](l,9).onChange(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,9).onTouched()&&t),t}),null,null)),e["ɵdid"](8,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵdid"](9,16384,null,0,d.w,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l,n){return[l,n]}),[d.e,d.w]),e["ɵdid"](11,671744,[[33,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](13,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](14,16384,null,0,Pn.h,[[3,d.d],Pn.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,st)),e["ɵdid"](16,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,dt)),e["ɵdid"](18,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,1,0),l(n,11,0,"user_quota_max_objects"),l(n,14,0,"user_quota_max_objects"),l(n,16,0,u.userForm.showError("user_quota_max_objects",e["ɵnov"](n.parent,3),"required")),l(n,18,0,u.userForm.showError("user_quota_max_objects",e["ɵnov"](n.parent,3),"min"))}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,7,0,e["ɵnov"](n,13).ngClassUntouched,e["ɵnov"](n,13).ngClassTouched,e["ɵnov"](n,13).ngClassPristine,e["ɵnov"](n,13).ngClassDirty,e["ɵnov"](n,13).ngClassValid,e["ɵnov"](n,13).ngClassInvalid,e["ɵnov"](n,13).ngClassPending,e["ɵnov"](n,14).validClass,e["ɵnov"](n,14).invalidClass)}))}function ct(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,14,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,An.b,An.a)),e["ɵdid"](1,1163264,null,2,Pn.c,[e.ElementRef,Pn.g],null,null),e["ɵqud"](603979776,37,{FormControlNames:1}),e["ɵqud"](603979776,38,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,10,"div",[["class","cd-col-form-offset"]],null,null,null,null,null)),(l()(),e["ɵeld"](5,0,null,null,9,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(l()(),e["ɵeld"](6,0,null,null,6,"input",[["class","custom-control-input"],["formControlName","bucket_quota_max_size_unlimited"],["id","bucket_quota_max_size_unlimited"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var t=!0;return"change"===n&&(t=!1!==e["ɵnov"](l,7).onChange(u.target.checked)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,7).onTouched()&&t),t}),null,null)),e["ɵdid"](7,16384,null,0,d.c,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.c]),e["ɵdid"](9,671744,[[37,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](11,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](12,16384,null,0,Pn.h,[[3,d.d],Pn.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](13,0,null,null,1,"label",[["class","custom-control-label"],["for","bucket_quota_max_size_unlimited"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Unlimited size"]))],(function(l,n){l(n,1,0),l(n,9,0,"bucket_quota_max_size_unlimited"),l(n,12,0,"bucket_quota_max_size_unlimited")}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,6,0,e["ɵnov"](n,11).ngClassUntouched,e["ɵnov"](n,11).ngClassTouched,e["ɵnov"](n,11).ngClassPristine,e["ɵnov"](n,11).ngClassDirty,e["ɵnov"](n,11).ngClassValid,e["ɵnov"](n,11).ngClassInvalid,e["ɵnov"](n,11).ngClassPending,e["ɵnov"](n,12).validClass,e["ɵnov"](n,12).invalidClass)}))}function mt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function gt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["The value is not valid."]))],null,null)}function pt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,18,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,An.b,An.a)),e["ɵdid"](1,1163264,null,2,Pn.c,[e.ElementRef,Pn.g],null,null),e["ɵqud"](603979776,39,{FormControlNames:1}),e["ɵqud"](603979776,40,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","bucket_quota_max_size"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Max. size"])),(l()(),e["ɵeld"](6,0,null,0,12,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](7,0,null,null,7,"input",[["cdDimlessBinary",""],["class","form-control"],["formControlName","bucket_quota_max_size"],["id","bucket_quota_max_size"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var t=!0;return"input"===n&&(t=!1!==e["ɵnov"](l,8)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,8).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,8)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,8)._compositionEnd(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,12).onBlur(u.target.value)&&t),t}),null,null)),e["ɵdid"](8,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.e]),e["ɵdid"](10,671744,[[39,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](12,81920,null,0,Te.a,[e.ElementRef,d.q,an.a,U.a],null,null),e["ɵdid"](13,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](14,16384,null,0,Pn.h,[[3,d.d],Pn.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,mt)),e["ɵdid"](16,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,gt)),e["ɵdid"](18,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,1,0),l(n,10,0,"bucket_quota_max_size"),l(n,12,0),l(n,14,0,"bucket_quota_max_size"),l(n,16,0,u.userForm.showError("bucket_quota_max_size",e["ɵnov"](n.parent,3),"required")),l(n,18,0,u.userForm.showError("bucket_quota_max_size",e["ɵnov"](n.parent,3),"quotaMaxSize"))}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,7,0,e["ɵnov"](n,13).ngClassUntouched,e["ɵnov"](n,13).ngClassTouched,e["ɵnov"](n,13).ngClassPristine,e["ɵnov"](n,13).ngClassDirty,e["ɵnov"](n,13).ngClassValid,e["ɵnov"](n,13).ngClassInvalid,e["ɵnov"](n,13).ngClassPending,e["ɵnov"](n,14).validClass,e["ɵnov"](n,14).invalidClass)}))}function ft(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,14,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,An.b,An.a)),e["ɵdid"](1,1163264,null,2,Pn.c,[e.ElementRef,Pn.g],null,null),e["ɵqud"](603979776,41,{FormControlNames:1}),e["ɵqud"](603979776,42,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,10,"div",[["class","cd-col-form-offset"]],null,null,null,null,null)),(l()(),e["ɵeld"](5,0,null,null,9,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(l()(),e["ɵeld"](6,0,null,null,6,"input",[["class","custom-control-input"],["formControlName","bucket_quota_max_objects_unlimited"],["id","bucket_quota_max_objects_unlimited"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var t=!0;return"change"===n&&(t=!1!==e["ɵnov"](l,7).onChange(u.target.checked)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,7).onTouched()&&t),t}),null,null)),e["ɵdid"](7,16384,null,0,d.c,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.c]),e["ɵdid"](9,671744,[[41,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](11,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](12,16384,null,0,Pn.h,[[3,d.d],Pn.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](13,0,null,null,1,"label",[["class","custom-control-label"],["for","bucket_quota_max_objects_unlimited"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Unlimited objects"]))],(function(l,n){l(n,1,0),l(n,9,0,"bucket_quota_max_objects_unlimited"),l(n,12,0,"bucket_quota_max_objects_unlimited")}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,6,0,e["ɵnov"](n,11).ngClassUntouched,e["ɵnov"](n,11).ngClassTouched,e["ɵnov"](n,11).ngClassPristine,e["ɵnov"](n,11).ngClassDirty,e["ɵnov"](n,11).ngClassValid,e["ɵnov"](n,11).ngClassInvalid,e["ɵnov"](n,11).ngClassPending,e["ɵnov"](n,12).validClass,e["ɵnov"](n,12).invalidClass)}))}function vt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function bt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["The entered value must be >= 0."]))],null,null)}function ht(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,18,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,An.b,An.a)),e["ɵdid"](1,1163264,null,2,Pn.c,[e.ElementRef,Pn.g],null,null),e["ɵqud"](603979776,43,{FormControlNames:1}),e["ɵqud"](603979776,44,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","bucket_quota_max_objects"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Max. objects"])),(l()(),e["ɵeld"](6,0,null,0,12,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](7,0,null,null,7,"input",[["class","form-control"],["formControlName","bucket_quota_max_objects"],["id","bucket_quota_max_objects"],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],(function(l,n,u){var t=!0;return"input"===n&&(t=!1!==e["ɵnov"](l,8)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,8).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,8)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,8)._compositionEnd(u.target.value)&&t),"change"===n&&(t=!1!==e["ɵnov"](l,9).onChange(u.target.value)&&t),"input"===n&&(t=!1!==e["ɵnov"](l,9).onChange(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,9).onTouched()&&t),t}),null,null)),e["ɵdid"](8,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵdid"](9,16384,null,0,d.w,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l,n){return[l,n]}),[d.e,d.w]),e["ɵdid"](11,671744,[[43,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](13,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](14,16384,null,0,Pn.h,[[3,d.d],Pn.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,vt)),e["ɵdid"](16,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,bt)),e["ɵdid"](18,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,1,0),l(n,11,0,"bucket_quota_max_objects"),l(n,14,0,"bucket_quota_max_objects"),l(n,16,0,u.userForm.showError("bucket_quota_max_objects",e["ɵnov"](n.parent,3),"required")),l(n,18,0,u.userForm.showError("bucket_quota_max_objects",e["ɵnov"](n.parent,3),"min"))}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,7,0,e["ɵnov"](n,13).ngClassUntouched,e["ɵnov"](n,13).ngClassTouched,e["ɵnov"](n,13).ngClassPristine,e["ɵnov"](n,13).ngClassDirty,e["ɵnov"](n,13).ngClassValid,e["ɵnov"](n,13).ngClassInvalid,e["ɵnov"](n,13).ngClassPending,e["ɵnov"](n,14).validClass,e["ɵnov"](n,14).invalidClass)}))}function Ct(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,183,"div",[["class","cd-col-form"]],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,182,"form",[["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,u){var t=!0;return"submit"===n&&(t=!1!==e["ɵnov"](l,3).onSubmit(u)&&t),"reset"===n&&(t=!1!==e["ɵnov"](l,3).onReset()&&t),"submit"===n&&(t=!1!==e["ɵnov"](l,6).onSubmit()&&t),t}),null,null)),e["ɵdid"](2,16384,null,0,d.G,[],null,null),e["ɵdid"](3,540672,[["frm",4]],0,d.l,[[8,null],[8,null]],{form:[0,"form"]},null),e["ɵprd"](2048,null,d.d,null,[d.l]),e["ɵdid"](5,16384,null,0,d.s,[[4,d.d]],null,null),e["ɵdid"](6,16384,null,0,Pn.d,[],{formGroup:[0,"formGroup"]},null),(l()(),e["ɵeld"](7,0,null,null,176,"div",[["class","card"]],null,null,null,null,null)),(l()(),e["ɵeld"](8,0,null,null,3,"div",[["class","card-header"]],null,null,null,null,null)),(l()(),e["ɵted"](9,null,[""," ",""])),e["ɵppd"](10,1),e["ɵppd"](11,1),(l()(),e["ɵeld"](12,0,null,null,162,"div",[["class","card-body"]],null,null,null,null,null)),(l()(),e["ɵeld"](13,0,null,null,21,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,An.b,An.a)),e["ɵdid"](14,1163264,null,2,Pn.c,[e.ElementRef,Pn.g],null,null),e["ɵqud"](603979776,1,{FormControlNames:1}),e["ɵqud"](603979776,2,{messagesBlock:0}),(l()(),e["ɵeld"](17,0,null,0,4,"label",[["class","cd-col-form-label"],["for","uid"]],null,null,null,null,null)),e["ɵprd"](512,null,xl["ɵNgClassImpl"],xl["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](19,278528,null,0,xl.NgClass,[xl["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),e["ɵpod"](20,{required:0}),(l()(),e["ɵted"](-1,null,["Username"])),(l()(),e["ɵeld"](22,0,null,0,12,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](23,0,null,null,7,"input",[["autofocus",""],["class","form-control"],["formControlName","uid"],["id","uid"],["type","text"]],[[8,"readOnly",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var t=!0;return"input"===n&&(t=!1!==e["ɵnov"](l,25)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,25).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,25)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,25)._compositionEnd(u.target.value)&&t),t}),null,null)),e["ɵdid"](24,4210688,null,0,Hn.a,[e.ElementRef],{autofocus:[0,"autofocus"]},null),e["ɵdid"](25,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.e]),e["ɵdid"](27,671744,[[1,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](29,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](30,16384,null,0,Pn.h,[[3,d.d],Pn.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,De)),e["ɵdid"](32,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Fe)),e["ɵdid"](34,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](35,0,null,null,18,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,An.b,An.a)),e["ɵdid"](36,1163264,null,2,Pn.c,[e.ElementRef,Pn.g],null,null),e["ɵqud"](603979776,3,{FormControlNames:1}),e["ɵqud"](603979776,4,{messagesBlock:0}),(l()(),e["ɵeld"](39,0,null,0,4,"label",[["class","cd-col-form-label"],["for","display_name"]],null,null,null,null,null)),e["ɵprd"](512,null,xl["ɵNgClassImpl"],xl["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](41,278528,null,0,xl.NgClass,[xl["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),e["ɵpod"](42,{required:0}),(l()(),e["ɵted"](-1,null,["Full name"])),(l()(),e["ɵeld"](44,0,null,0,9,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](45,0,null,null,6,"input",[["class","form-control"],["formControlName","display_name"],["id","display_name"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var t=!0;return"input"===n&&(t=!1!==e["ɵnov"](l,46)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,46).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,46)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,46)._compositionEnd(u.target.value)&&t),t}),null,null)),e["ɵdid"](46,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.e]),e["ɵdid"](48,671744,[[3,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](50,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](51,16384,null,0,Pn.h,[[3,d.d],Pn.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,je)),e["ɵdid"](53,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](54,0,null,null,17,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,An.b,An.a)),e["ɵdid"](55,1163264,null,2,Pn.c,[e.ElementRef,Pn.g],null,null),e["ɵqud"](603979776,5,{FormControlNames:1}),e["ɵqud"](603979776,6,{messagesBlock:0}),(l()(),e["ɵeld"](58,0,null,0,1,"label",[["class","cd-col-form-label"],["for","email"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Email address"])),(l()(),e["ɵeld"](60,0,null,0,11,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](61,0,null,null,6,"input",[["class","form-control"],["formControlName","email"],["id","email"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var t=!0;return"input"===n&&(t=!1!==e["ɵnov"](l,62)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,62).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,62)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,62)._compositionEnd(u.target.value)&&t),t}),null,null)),e["ɵdid"](62,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.e]),e["ɵdid"](64,671744,[[5,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](66,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](67,16384,null,0,Pn.h,[[3,d.d],Pn.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Be)),e["ɵdid"](69,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Ae)),e["ɵdid"](71,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](72,0,null,null,25,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,An.b,An.a)),e["ɵdid"](73,1163264,null,2,Pn.c,[e.ElementRef,Pn.g],null,null),e["ɵqud"](603979776,7,{FormControlNames:1}),e["ɵqud"](603979776,8,{messagesBlock:0}),(l()(),e["ɵeld"](76,0,null,0,1,"label",[["class","cd-col-form-label"],["for","max_buckets_mode"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Max. buckets"])),(l()(),e["ɵeld"](78,0,null,0,19,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](79,0,null,null,18,"select",[["class","form-control custom-select"],["formControlName","max_buckets_mode"],["id","max_buckets_mode"],["name","max_buckets_mode"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var t=!0;return"change"===n&&(t=!1!==e["ɵnov"](l,80).onChange(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,80).onTouched()&&t),t}),null,null)),e["ɵdid"](80,16384,null,0,d.A,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.A]),e["ɵdid"](82,671744,[[7,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](84,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](85,16384,null,0,Pn.h,[[3,d.d],Pn.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](86,0,null,null,3,"option",[["value","-1"]],null,null,null,null,null)),e["ɵdid"](87,147456,null,0,d.v,[e.ElementRef,e.Renderer2,[2,d.A]],{value:[0,"value"]},null),e["ɵdid"](88,147456,null,0,d.F,[e.ElementRef,e.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),e["ɵted"](-1,null,["Disabled"])),(l()(),e["ɵeld"](90,0,null,null,3,"option",[["value","0"]],null,null,null,null,null)),e["ɵdid"](91,147456,null,0,d.v,[e.ElementRef,e.Renderer2,[2,d.A]],{value:[0,"value"]},null),e["ɵdid"](92,147456,null,0,d.F,[e.ElementRef,e.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),e["ɵted"](-1,null,["Unlimited"])),(l()(),e["ɵeld"](94,0,null,null,3,"option",[["value","1"]],null,null,null,null,null)),e["ɵdid"](95,147456,null,0,d.v,[e.ElementRef,e.Renderer2,[2,d.A]],{value:[0,"value"]},null),e["ɵdid"](96,147456,null,0,d.F,[e.ElementRef,e.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),e["ɵted"](-1,null,["Custom"])),(l()(),e["ɵand"](16777216,null,null,1,null,Oe)),e["ɵdid"](99,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](100,0,null,null,14,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,An.b,An.a)),e["ɵdid"](101,1163264,null,2,Pn.c,[e.ElementRef,Pn.g],null,null),e["ɵqud"](603979776,11,{FormControlNames:1}),e["ɵqud"](603979776,12,{messagesBlock:0}),(l()(),e["ɵeld"](104,0,null,0,10,"div",[["class","cd-col-form-offset"]],null,null,null,null,null)),(l()(),e["ɵeld"](105,0,null,null,9,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(l()(),e["ɵeld"](106,0,null,null,6,"input",[["class","custom-control-input"],["formControlName","suspended"],["id","suspended"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var t=!0;return"change"===n&&(t=!1!==e["ɵnov"](l,107).onChange(u.target.checked)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,107).onTouched()&&t),t}),null,null)),e["ɵdid"](107,16384,null,0,d.c,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.c]),e["ɵdid"](109,671744,[[11,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](111,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](112,16384,null,0,Pn.h,[[3,d.d],Pn.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](113,0,null,null,1,"label",[["class","custom-control-label"],["for","suspended"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Suspended"])),(l()(),e["ɵand"](16777216,null,null,1,null,Ke)),e["ɵdid"](116,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,He)),e["ɵdid"](118,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Xe)),e["ɵdid"](120,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,ut)),e["ɵdid"](122,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](123,0,null,null,25,"fieldset",[],null,null,null,null,null)),(l()(),e["ɵeld"](124,0,null,null,1,"legend",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["User quota"])),(l()(),e["ɵeld"](126,0,null,null,14,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,An.b,An.a)),e["ɵdid"](127,1163264,null,2,Pn.c,[e.ElementRef,Pn.g],null,null),e["ɵqud"](603979776,25,{FormControlNames:1}),e["ɵqud"](603979776,26,{messagesBlock:0}),(l()(),e["ɵeld"](130,0,null,0,10,"div",[["class","cd-col-form-offset"]],null,null,null,null,null)),(l()(),e["ɵeld"](131,0,null,null,9,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(l()(),e["ɵeld"](132,0,null,null,6,"input",[["class","custom-control-input"],["formControlName","user_quota_enabled"],["id","user_quota_enabled"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var t=!0;return"change"===n&&(t=!1!==e["ɵnov"](l,133).onChange(u.target.checked)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,133).onTouched()&&t),t}),null,null)),e["ɵdid"](133,16384,null,0,d.c,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.c]),e["ɵdid"](135,671744,[[25,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](137,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](138,16384,null,0,Pn.h,[[3,d.d],Pn.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](139,0,null,null,1,"label",[["class","custom-control-label"],["for","user_quota_enabled"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Enabled"])),(l()(),e["ɵand"](16777216,null,null,1,null,et)),e["ɵdid"](142,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,at)),e["ɵdid"](144,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,ot)),e["ɵdid"](146,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,rt)),e["ɵdid"](148,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](149,0,null,null,25,"fieldset",[],null,null,null,null,null)),(l()(),e["ɵeld"](150,0,null,null,1,"legend",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Bucket quota"])),(l()(),e["ɵeld"](152,0,null,null,14,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,An.b,An.a)),e["ɵdid"](153,1163264,null,2,Pn.c,[e.ElementRef,Pn.g],null,null),e["ɵqud"](603979776,35,{FormControlNames:1}),e["ɵqud"](603979776,36,{messagesBlock:0}),(l()(),e["ɵeld"](156,0,null,0,10,"div",[["class","cd-col-form-offset"]],null,null,null,null,null)),(l()(),e["ɵeld"](157,0,null,null,9,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(l()(),e["ɵeld"](158,0,null,null,6,"input",[["class","custom-control-input"],["formControlName","bucket_quota_enabled"],["id","bucket_quota_enabled"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var t=!0;return"change"===n&&(t=!1!==e["ɵnov"](l,159).onChange(u.target.checked)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,159).onTouched()&&t),t}),null,null)),e["ɵdid"](159,16384,null,0,d.c,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.c]),e["ɵdid"](161,671744,[[35,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](163,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](164,16384,null,0,Pn.h,[[3,d.d],Pn.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](165,0,null,null,1,"label",[["class","custom-control-label"],["for","bucket_quota_enabled"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Enabled"])),(l()(),e["ɵand"](16777216,null,null,1,null,ct)),e["ɵdid"](168,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,pt)),e["ɵdid"](170,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,ft)),e["ɵdid"](172,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,ht)),e["ɵdid"](174,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](175,0,null,null,8,"div",[["class","card-footer"]],null,null,null,null,null)),(l()(),e["ɵeld"](176,0,null,null,7,"div",[["class","button-group text-right"]],null,null,null,null,null)),(l()(),e["ɵeld"](177,0,null,null,4,"cd-submit-button",[],null,[[null,"submitAction"]],(function(l,n,u){var e=!0;return"submitAction"===n&&(e=!1!==l.component.onSubmit()&&e),e}),Qn.b,Qn.a)),e["ɵdid"](178,114688,null,0,Yn.a,[e.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(l()(),e["ɵted"](179,0,[""," ",""])),e["ɵppd"](180,1),e["ɵppd"](181,1),(l()(),e["ɵeld"](182,0,null,null,1,"cd-back-button",[],null,null,null,Ln.b,Ln.a)),e["ɵdid"](183,49152,null,0,zn.a,[xl.Location,t.b],null,null)],(function(l,n){var u=n.component;l(n,3,0,u.userForm),l(n,6,0,u.userForm),l(n,14,0);var t=l(n,20,0,!u.editing);l(n,19,0,"cd-col-form-label",t),l(n,24,0,""),l(n,27,0,"uid"),l(n,30,0,"uid"),l(n,32,0,u.userForm.showError("uid",e["ɵnov"](n,3),"required")),l(n,34,0,u.userForm.showError("uid",e["ɵnov"](n,3),"notUnique")),l(n,36,0);var i=l(n,42,0,!u.editing);l(n,41,0,"cd-col-form-label",i),l(n,48,0,"display_name"),l(n,51,0,"display_name"),l(n,53,0,u.userForm.showError("display_name",e["ɵnov"](n,3),"required")),l(n,55,0),l(n,64,0,"email"),l(n,67,0,"email"),l(n,69,0,u.userForm.showError("email",e["ɵnov"](n,3),"email")),l(n,71,0,u.userForm.showError("email",e["ɵnov"](n,3),"notUnique")),l(n,73,0),l(n,82,0,"max_buckets_mode"),l(n,85,0,"max_buckets_mode"),l(n,87,0,"-1"),l(n,88,0,"-1"),l(n,91,0,"0"),l(n,92,0,"0"),l(n,95,0,"1"),l(n,96,0,"1"),l(n,99,0,1==u.userForm.get("max_buckets_mode").value),l(n,101,0),l(n,109,0,"suspended"),l(n,112,0,"suspended"),l(n,116,0,!u.editing),l(n,118,0,u.editing),l(n,120,0,u.editing),l(n,122,0,u.editing),l(n,127,0),l(n,135,0,"user_quota_enabled"),l(n,138,0,"user_quota_enabled"),l(n,142,0,u.userForm.controls.user_quota_enabled.value),l(n,144,0,u.userForm.controls.user_quota_enabled.value&&!u.userForm.getValue("user_quota_max_size_unlimited")),l(n,146,0,u.userForm.controls.user_quota_enabled.value),l(n,148,0,u.userForm.controls.user_quota_enabled.value&&!u.userForm.getValue("user_quota_max_objects_unlimited")),l(n,153,0),l(n,161,0,"bucket_quota_enabled"),l(n,164,0,"bucket_quota_enabled"),l(n,168,0,u.userForm.controls.bucket_quota_enabled.value),l(n,170,0,u.userForm.controls.bucket_quota_enabled.value&&!u.userForm.getValue("bucket_quota_max_size_unlimited")),l(n,172,0,u.userForm.controls.bucket_quota_enabled.value),l(n,174,0,u.userForm.controls.bucket_quota_enabled.value&&!u.userForm.getValue("bucket_quota_max_objects_unlimited")),l(n,178,0,u.userForm)}),(function(l,n){var u=n.component;l(n,1,0,e["ɵnov"](n,5).ngClassUntouched,e["ɵnov"](n,5).ngClassTouched,e["ɵnov"](n,5).ngClassPristine,e["ɵnov"](n,5).ngClassDirty,e["ɵnov"](n,5).ngClassValid,e["ɵnov"](n,5).ngClassInvalid,e["ɵnov"](n,5).ngClassPending);var t=e["ɵunv"](n,9,0,l(n,10,0,e["ɵnov"](n.parent,0),u.action)),i=e["ɵunv"](n,9,1,l(n,11,0,e["ɵnov"](n.parent,1),u.resource));l(n,9,0,t,i),l(n,13,0,e["ɵnov"](n,14).hasErrors,e["ɵnov"](n,14).hasSuccess),l(n,23,0,u.editing,e["ɵnov"](n,29).ngClassUntouched,e["ɵnov"](n,29).ngClassTouched,e["ɵnov"](n,29).ngClassPristine,e["ɵnov"](n,29).ngClassDirty,e["ɵnov"](n,29).ngClassValid,e["ɵnov"](n,29).ngClassInvalid,e["ɵnov"](n,29).ngClassPending,e["ɵnov"](n,30).validClass,e["ɵnov"](n,30).invalidClass),l(n,35,0,e["ɵnov"](n,36).hasErrors,e["ɵnov"](n,36).hasSuccess),l(n,45,0,e["ɵnov"](n,50).ngClassUntouched,e["ɵnov"](n,50).ngClassTouched,e["ɵnov"](n,50).ngClassPristine,e["ɵnov"](n,50).ngClassDirty,e["ɵnov"](n,50).ngClassValid,e["ɵnov"](n,50).ngClassInvalid,e["ɵnov"](n,50).ngClassPending,e["ɵnov"](n,51).validClass,e["ɵnov"](n,51).invalidClass),l(n,54,0,e["ɵnov"](n,55).hasErrors,e["ɵnov"](n,55).hasSuccess),l(n,61,0,e["ɵnov"](n,66).ngClassUntouched,e["ɵnov"](n,66).ngClassTouched,e["ɵnov"](n,66).ngClassPristine,e["ɵnov"](n,66).ngClassDirty,e["ɵnov"](n,66).ngClassValid,e["ɵnov"](n,66).ngClassInvalid,e["ɵnov"](n,66).ngClassPending,e["ɵnov"](n,67).validClass,e["ɵnov"](n,67).invalidClass),l(n,72,0,e["ɵnov"](n,73).hasErrors,e["ɵnov"](n,73).hasSuccess),l(n,79,0,e["ɵnov"](n,84).ngClassUntouched,e["ɵnov"](n,84).ngClassTouched,e["ɵnov"](n,84).ngClassPristine,e["ɵnov"](n,84).ngClassDirty,e["ɵnov"](n,84).ngClassValid,e["ɵnov"](n,84).ngClassInvalid,e["ɵnov"](n,84).ngClassPending,e["ɵnov"](n,85).validClass,e["ɵnov"](n,85).invalidClass),l(n,100,0,e["ɵnov"](n,101).hasErrors,e["ɵnov"](n,101).hasSuccess),l(n,106,0,e["ɵnov"](n,111).ngClassUntouched,e["ɵnov"](n,111).ngClassTouched,e["ɵnov"](n,111).ngClassPristine,e["ɵnov"](n,111).ngClassDirty,e["ɵnov"](n,111).ngClassValid,e["ɵnov"](n,111).ngClassInvalid,e["ɵnov"](n,111).ngClassPending,e["ɵnov"](n,112).validClass,e["ɵnov"](n,112).invalidClass),l(n,126,0,e["ɵnov"](n,127).hasErrors,e["ɵnov"](n,127).hasSuccess),l(n,132,0,e["ɵnov"](n,137).ngClassUntouched,e["ɵnov"](n,137).ngClassTouched,e["ɵnov"](n,137).ngClassPristine,e["ɵnov"](n,137).ngClassDirty,e["ɵnov"](n,137).ngClassValid,e["ɵnov"](n,137).ngClassInvalid,e["ɵnov"](n,137).ngClassPending,e["ɵnov"](n,138).validClass,e["ɵnov"](n,138).invalidClass),l(n,152,0,e["ɵnov"](n,153).hasErrors,e["ɵnov"](n,153).hasSuccess),l(n,158,0,e["ɵnov"](n,163).ngClassUntouched,e["ɵnov"](n,163).ngClassTouched,e["ɵnov"](n,163).ngClassPristine,e["ɵnov"](n,163).ngClassDirty,e["ɵnov"](n,163).ngClassValid,e["ɵnov"](n,163).ngClassInvalid,e["ɵnov"](n,163).ngClassPending,e["ɵnov"](n,164).validClass,e["ɵnov"](n,164).invalidClass);var a=e["ɵunv"](n,179,0,l(n,180,0,e["ɵnov"](n.parent,0),u.action)),o=e["ɵunv"](n,179,1,l(n,181,0,e["ɵnov"](n.parent,1),u.resource));l(n,179,0,a,o)}))}function _t(l){return e["ɵvid"](0,[e["ɵpid"](0,xl.TitleCasePipe,[]),e["ɵpid"](0,jn.a,[]),(l()(),e["ɵand"](16777216,null,null,1,null,Se)),e["ɵdid"](3,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,xe)),e["ɵdid"](5,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Ct)),e["ɵdid"](7,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,3,0,u.editing&&u.loading&&!u.error),l(n,5,0,u.editing&&u.error),l(n,7,0,!u.loading&&!u.error)}),null)}function kt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"cd-rgw-user-form",[],null,null,null,_t,Ve)),e["ɵdid"](1,114688,null,0,Q,[R.a,ue.a,ue.m,_.a,sn.b,w.a,Il.a,t.b],null,null)],(function(l,n){l(n,1,0)}),null)}var yt=e["ɵccf"]("cd-rgw-user-form",Q,kt,{},{},[]),Rt=e["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function It(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"cd-alert-panel",[["size","slim"],["type","warning"]],null,null,null,he.b,he.a)),e["ɵdid"](1,114688,null,0,Ce.a,[Il.a],{type:[0,"type"],size:[1,"size"]},null),(l()(),e["ɵted"](-1,0,["The bucket list data might be stale. If needed, you can manually reload it."]))],(function(l,n){l(n,1,0,"warning","slim")}),null)}function wt(l){return e["ɵvid"](0,[e["ɵqud"](402653184,1,{table:0}),(l()(),e["ɵand"](16777216,null,null,1,null,It)),e["ɵdid"](2,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](3,0,null,null,5,"cd-table",[["columnMode","flex"],["identifier","bid"],["selectionType","multiClick"]],null,[[null,"updateSelection"],[null,"fetchData"]],(function(l,n,u){var e=!0,t=l.component;return"updateSelection"===n&&(e=!1!==t.updateSelection(u)&&e),"fetchData"===n&&(e=!1!==t.getBucketList(u)&&e),e}),nn.b,nn.a)),e["ɵdid"](4,2867200,[[1,4],["table",4]],0,S.a,[e.NgZone,e.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],autoReload:[3,"autoReload"],identifier:[4,"identifier"],selectionType:[5,"selectionType"]},{fetchData:"fetchData",updateSelection:"updateSelection"}),(l()(),e["ɵeld"](5,0,null,1,1,"cd-table-actions",[["class","table-actions"]],null,null,null,_e.b,_e.a)),e["ɵdid"](6,114688,null,0,ke.a,[],{permission:[0,"permission"],selection:[1,"selection"],tableActions:[2,"tableActions"]},null),(l()(),e["ɵeld"](7,0,null,3,1,"cd-rgw-bucket-details",[["cdTableDetail",""]],null,null,null,Jl,zl)),e["ɵdid"](8,573440,null,0,Ll,[],{selection:[0,"selection"]},null)],(function(l,n){var u=n.component;l(n,2,0,u.isStale),l(n,4,0,u.buckets,u.columns,"flex",!1,"bid","multiClick"),l(n,6,0,u.permission,u.selection,u.tableActions),l(n,8,0,u.selection)}),null)}function Et(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"cd-rgw-bucket-list",[],null,null,null,wt,Rt)),e["ɵprd"](256,null,F.a,j,[]),e["ɵdid"](2,49152,null,0,B,[D.a,h,sn.b,Il.a,F.a,t.b,e.NgZone],null,null)],null,null)}var Nt=e["ɵccf"]("cd-rgw-bucket-list",B,Et,{},{},[]),qt=u("4HWh"),Tt=u("p4Cf"),Vt=e["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function St(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"cd-loading-panel",[],null,null,null,Ne.b,Ne.a)),e["ɵdid"](1,49152,null,0,qe.a,[],null,null),(l()(),e["ɵted"](-1,0,["Loading bucket data..."]))],null,null)}function xt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,13,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,An.b,An.a)),e["ɵdid"](1,1163264,null,2,Pn.c,[e.ElementRef,Pn.g],null,null),e["ɵqud"](603979776,1,{FormControlNames:1}),e["ɵqud"](603979776,2,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label"],["for","id"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Id"])),(l()(),e["ɵeld"](6,0,null,0,7,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](7,0,null,null,6,"input",[["class","form-control"],["formControlName","id"],["id","id"],["name","id"],["readonly",""],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var t=!0;return"input"===n&&(t=!1!==e["ɵnov"](l,8)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,8).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,8)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,8)._compositionEnd(u.target.value)&&t),t}),null,null)),e["ɵdid"](8,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.e]),e["ɵdid"](10,671744,[[1,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](12,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](13,16384,null,0,Pn.h,[[3,d.d],Pn.a],{formControlName:[0,"formControlName"]},null)],(function(l,n){l(n,1,0),l(n,10,0,"id"),l(n,13,0,"id")}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,7,0,e["ɵnov"](n,12).ngClassUntouched,e["ɵnov"](n,12).ngClassTouched,e["ɵnov"](n,12).ngClassPristine,e["ɵnov"](n,12).ngClassDirty,e["ɵnov"](n,12).ngClassValid,e["ɵnov"](n,12).ngClassInvalid,e["ɵnov"](n,12).ngClassPending,e["ɵnov"](n,13).validClass,e["ɵnov"](n,13).invalidClass)}))}function Dt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function Ft(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["The value is not valid."]))],null,null)}function jt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["The chosen name is already in use."]))],null,null)}function Bt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,d.v,[e.ElementRef,e.Renderer2,[2,d.A]],{ngValue:[0,"ngValue"]},null),e["ɵdid"](2,147456,null,0,d.F,[e.ElementRef,e.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),e["ɵted"](-1,null,["Loading..."]))],(function(l,n){l(n,1,0,null),l(n,2,0,null)}),null)}function At(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,d.v,[e.ElementRef,e.Renderer2,[2,d.A]],{ngValue:[0,"ngValue"]},null),e["ɵdid"](2,147456,null,0,d.F,[e.ElementRef,e.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),e["ɵted"](-1,null,["-- Select a user --"]))],(function(l,n){l(n,1,0,null),l(n,2,0,null)}),null)}function Pt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,d.v,[e.ElementRef,e.Renderer2,[2,d.A]],{value:[0,"value"]},null),e["ɵdid"](2,147456,null,0,d.F,[e.ElementRef,e.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),e["ɵted"](3,null,["",""]))],(function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)}),(function(l,n){l(n,3,0,n.context.$implicit)}))}function Mt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function Ot(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,d.v,[e.ElementRef,e.Renderer2,[2,d.A]],{ngValue:[0,"ngValue"]},null),e["ɵdid"](2,147456,null,0,d.F,[e.ElementRef,e.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),e["ɵted"](-1,null,["Loading..."]))],(function(l,n){l(n,1,0,null),l(n,2,0,null)}),null)}function Ut(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,d.v,[e.ElementRef,e.Renderer2,[2,d.A]],{ngValue:[0,"ngValue"]},null),e["ɵdid"](2,147456,null,0,d.F,[e.ElementRef,e.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),e["ɵted"](-1,null,["-- Select a placement target --"]))],(function(l,n){l(n,1,0,null),l(n,2,0,null)}),null)}function Lt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,d.v,[e.ElementRef,e.Renderer2,[2,d.A]],{value:[0,"value"]},null),e["ɵdid"](2,147456,null,0,d.F,[e.ElementRef,e.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),e["ɵted"](3,null,["",""]))],(function(l,n){l(n,1,0,n.context.$implicit.name),l(n,2,0,n.context.$implicit.name)}),(function(l,n){l(n,3,0,n.context.$implicit.description)}))}function zt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function Gt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,12,"select",[["class","form-control custom-select"],["formControlName","placement-target"],["id","placement-target"],["name","placement-target"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var t=!0;return"change"===n&&(t=!1!==e["ɵnov"](l,1).onChange(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,1).onTouched()&&t),t}),null,null)),e["ɵdid"](1,16384,null,0,d.A,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.A]),e["ɵdid"](3,671744,[[7,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](5,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](6,16384,null,0,Pn.h,[[3,d.d],Pn.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Ot)),e["ɵdid"](8,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Ut)),e["ɵdid"](10,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Lt)),e["ɵdid"](12,278528,null,0,xl.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,zt)),e["ɵdid"](14,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](0,null,null,0))],(function(l,n){var u=n.component;l(n,3,0,"placement-target"),l(n,6,0,"placement-target"),l(n,8,0,null===u.placementTargets),l(n,10,0,null!==u.placementTargets),l(n,12,0,u.placementTargets),l(n,14,0,u.bucketForm.showError("placement-target",e["ɵnov"](n.parent,3),"required"))}),(function(l,n){l(n,0,0,e["ɵnov"](n,5).ngClassUntouched,e["ɵnov"](n,5).ngClassTouched,e["ɵnov"](n,5).ngClassPristine,e["ɵnov"](n,5).ngClassDirty,e["ɵnov"](n,5).ngClassValid,e["ɵnov"](n,5).ngClassInvalid,e["ɵnov"](n,5).ngClassPending,e["ɵnov"](n,6).validClass,e["ɵnov"](n,6).invalidClass)}))}function Kt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,7,null,null,null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,6,"input",[["class","form-control"],["formControlName","placement-target"],["id","placement-target"],["name","placement-target"],["readonly",""],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var t=!0;return"input"===n&&(t=!1!==e["ɵnov"](l,2)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,2).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,2)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,2)._compositionEnd(u.target.value)&&t),t}),null,null)),e["ɵdid"](2,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.e]),e["ɵdid"](4,671744,[[7,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](6,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](7,16384,null,0,Pn.h,[[3,d.d],Pn.a],{formControlName:[0,"formControlName"]},null)],(function(l,n){l(n,4,0,"placement-target"),l(n,7,0,"placement-target")}),(function(l,n){l(n,1,0,e["ɵnov"](n,6).ngClassUntouched,e["ɵnov"](n,6).ngClassTouched,e["ɵnov"](n,6).ngClassPristine,e["ɵnov"](n,6).ngClassDirty,e["ɵnov"](n,6).ngClassValid,e["ɵnov"](n,6).ngClassInvalid,e["ɵnov"](n,6).ngClassPending,e["ɵnov"](n,7).validClass,e["ɵnov"](n,7).invalidClass)}))}function $t(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,21,"fieldset",[],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,"legend",[["class","cd-header"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Versioning"])),(l()(),e["ɵeld"](3,0,null,null,18,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,An.b,An.a)),e["ɵdid"](4,1163264,null,2,Pn.c,[e.ElementRef,Pn.g],null,null),e["ɵqud"](603979776,9,{FormControlNames:1}),e["ɵqud"](603979776,10,{messagesBlock:0}),(l()(),e["ɵeld"](7,0,null,0,14,"div",[["class","cd-col-form-offset"]],null,null,null,null,null)),(l()(),e["ɵeld"](8,0,null,null,13,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(l()(),e["ɵeld"](9,0,null,null,6,"input",[["class","custom-control-input"],["formControlName","versioning"],["id","versioning"],["name","versioning"],["type","checkbox"]],[[8,"checked",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var t=!0,i=l.component;return"change"===n&&(t=!1!==e["ɵnov"](l,10).onChange(u.target.checked)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,10).onTouched()&&t),"change"===n&&(t=!1!==i.updateVersioning()&&t),t}),null,null)),e["ɵdid"](10,16384,null,0,d.c,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.c]),e["ɵdid"](12,671744,[[9,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](14,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](15,16384,null,0,Pn.h,[[3,d.d],Pn.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](16,0,null,null,1,"label",[["class","custom-control-label"],["for","versioning"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Enabled"])),(l()(),e["ɵeld"](18,0,null,null,3,"cd-helper",[],null,null,null,qt.b,qt.a)),e["ɵdid"](19,49152,null,0,Tt.a,[],null,null),(l()(),e["ɵeld"](20,0,null,0,1,"span",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Enables versioning for the objects in the bucket."]))],(function(l,n){l(n,4,0),l(n,12,0,"versioning"),l(n,15,0,"versioning")}),(function(l,n){var u=n.component;l(n,3,0,e["ɵnov"](n,4).hasErrors,e["ɵnov"](n,4).hasSuccess),l(n,9,0,u.isVersioningEnabled,e["ɵnov"](n,14).ngClassUntouched,e["ɵnov"](n,14).ngClassTouched,e["ɵnov"](n,14).ngClassPristine,e["ɵnov"](n,14).ngClassDirty,e["ɵnov"](n,14).ngClassValid,e["ɵnov"](n,14).ngClassInvalid,e["ɵnov"](n,14).ngClassPending,e["ɵnov"](n,15).validClass,e["ɵnov"](n,15).invalidClass)}))}function Zt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function Ht(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,15,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,An.b,An.a)),e["ɵdid"](1,1163264,null,2,Pn.c,[e.ElementRef,Pn.g],null,null),e["ɵqud"](603979776,13,{FormControlNames:1}),e["ɵqud"](603979776,14,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label"],["for","mfa-token-serial"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Token Serial Number"])),(l()(),e["ɵeld"](6,0,null,0,9,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](7,0,null,null,6,"input",[["class","form-control"],["formControlName","mfa-token-serial"],["id","mfa-token-serial"],["name","mfa-token-serial"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var t=!0;return"input"===n&&(t=!1!==e["ɵnov"](l,8)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,8).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,8)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,8)._compositionEnd(u.target.value)&&t),t}),null,null)),e["ɵdid"](8,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.e]),e["ɵdid"](10,671744,[[13,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](12,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](13,16384,null,0,Pn.h,[[3,d.d],Pn.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Zt)),e["ɵdid"](15,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,1,0),l(n,10,0,"mfa-token-serial"),l(n,13,0,"mfa-token-serial"),l(n,15,0,u.bucketForm.showError("mfa-token-serial",e["ɵnov"](n.parent.parent,3),"required"))}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,7,0,e["ɵnov"](n,12).ngClassUntouched,e["ɵnov"](n,12).ngClassTouched,e["ɵnov"](n,12).ngClassPristine,e["ɵnov"](n,12).ngClassDirty,e["ɵnov"](n,12).ngClassValid,e["ɵnov"](n,12).ngClassInvalid,e["ɵnov"](n,12).ngClassPending,e["ɵnov"](n,13).validClass,e["ɵnov"](n,13).invalidClass)}))}function Qt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function Yt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,15,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,An.b,An.a)),e["ɵdid"](1,1163264,null,2,Pn.c,[e.ElementRef,Pn.g],null,null),e["ɵqud"](603979776,15,{FormControlNames:1}),e["ɵqud"](603979776,16,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label"],["for","mfa-token-pin"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Token PIN"])),(l()(),e["ɵeld"](6,0,null,0,9,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](7,0,null,null,6,"input",[["class","form-control"],["formControlName","mfa-token-pin"],["id","mfa-token-pin"],["name","mfa-token-pin"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var t=!0;return"input"===n&&(t=!1!==e["ɵnov"](l,8)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,8).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,8)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,8)._compositionEnd(u.target.value)&&t),t}),null,null)),e["ɵdid"](8,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.e]),e["ɵdid"](10,671744,[[15,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](12,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](13,16384,null,0,Pn.h,[[3,d.d],Pn.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Qt)),e["ɵdid"](15,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,1,0),l(n,10,0,"mfa-token-pin"),l(n,13,0,"mfa-token-pin"),l(n,15,0,u.bucketForm.showError("mfa-token-pin",e["ɵnov"](n.parent.parent,3),"required"))}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,7,0,e["ɵnov"](n,12).ngClassUntouched,e["ɵnov"](n,12).ngClassTouched,e["ɵnov"](n,12).ngClassPristine,e["ɵnov"](n,12).ngClassDirty,e["ɵnov"](n,12).ngClassValid,e["ɵnov"](n,12).ngClassInvalid,e["ɵnov"](n,12).ngClassPending,e["ɵnov"](n,13).validClass,e["ɵnov"](n,13).invalidClass)}))}function Wt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,25,"fieldset",[],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,"legend",[["class","cd-header"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Multi-Factor Authentication"])),(l()(),e["ɵeld"](3,0,null,null,18,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,An.b,An.a)),e["ɵdid"](4,1163264,null,2,Pn.c,[e.ElementRef,Pn.g],null,null),e["ɵqud"](603979776,11,{FormControlNames:1}),e["ɵqud"](603979776,12,{messagesBlock:0}),(l()(),e["ɵeld"](7,0,null,0,14,"div",[["class","cd-col-form-offset"]],null,null,null,null,null)),(l()(),e["ɵeld"](8,0,null,null,13,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(l()(),e["ɵeld"](9,0,null,null,6,"input",[["class","custom-control-input"],["formControlName","mfa-delete"],["id","mfa-delete"],["name","mfa-delete"],["type","checkbox"]],[[8,"checked",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var t=!0,i=l.component;return"change"===n&&(t=!1!==e["ɵnov"](l,10).onChange(u.target.checked)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,10).onTouched()&&t),"change"===n&&(t=!1!==i.updateMfaDelete()&&t),t}),null,null)),e["ɵdid"](10,16384,null,0,d.c,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.c]),e["ɵdid"](12,671744,[[11,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](14,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](15,16384,null,0,Pn.h,[[3,d.d],Pn.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](16,0,null,null,1,"label",[["class","custom-control-label"],["for","mfa-delete"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Delete enabled"])),(l()(),e["ɵeld"](18,0,null,null,3,"cd-helper",[],null,null,null,qt.b,qt.a)),e["ɵdid"](19,49152,null,0,Tt.a,[],null,null),(l()(),e["ɵeld"](20,0,null,0,1,"span",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state."])),(l()(),e["ɵand"](16777216,null,null,1,null,Ht)),e["ɵdid"](23,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Yt)),e["ɵdid"](25,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,4,0),l(n,12,0,"mfa-delete"),l(n,15,0,"mfa-delete"),l(n,23,0,u.areMfaCredentialsRequired()),l(n,25,0,u.areMfaCredentialsRequired())}),(function(l,n){var u=n.component;l(n,3,0,e["ɵnov"](n,4).hasErrors,e["ɵnov"](n,4).hasSuccess),l(n,9,0,u.isMfaDeleteEnabled,e["ɵnov"](n,14).ngClassUntouched,e["ɵnov"](n,14).ngClassTouched,e["ɵnov"](n,14).ngClassPristine,e["ɵnov"](n,14).ngClassDirty,e["ɵnov"](n,14).ngClassValid,e["ɵnov"](n,14).ngClassInvalid,e["ɵnov"](n,14).ngClassPending,e["ɵnov"](n,15).validClass,e["ɵnov"](n,15).invalidClass)}))}function Jt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,21,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,An.b,An.a)),e["ɵdid"](1,1163264,null,2,Pn.c,[e.ElementRef,Pn.g],null,null),e["ɵqud"](603979776,19,{FormControlNames:1}),e["ɵqud"](603979776,20,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label"],["for","lock_mode"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Mode"])),(l()(),e["ɵeld"](6,0,null,0,15,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](7,0,null,null,14,"select",[["class","form-control custom-select"],["formControlName","lock_mode"],["id","lock_mode"],["name","lock_mode"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var t=!0;return"change"===n&&(t=!1!==e["ɵnov"](l,8).onChange(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,8).onTouched()&&t),t}),null,null)),e["ɵdid"](8,16384,null,0,d.A,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.A]),e["ɵdid"](10,671744,[[19,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](12,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](13,16384,null,0,Pn.h,[[3,d.d],Pn.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](14,0,null,null,3,"option",[["value","COMPLIANCE"]],null,null,null,null,null)),e["ɵdid"](15,147456,null,0,d.v,[e.ElementRef,e.Renderer2,[2,d.A]],{value:[0,"value"]},null),e["ɵdid"](16,147456,null,0,d.F,[e.ElementRef,e.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),e["ɵted"](-1,null,["Compliance"])),(l()(),e["ɵeld"](18,0,null,null,3,"option",[["value","GOVERNANCE"]],null,null,null,null,null)),e["ɵdid"](19,147456,null,0,d.v,[e.ElementRef,e.Renderer2,[2,d.A]],{value:[0,"value"]},null),e["ɵdid"](20,147456,null,0,d.F,[e.ElementRef,e.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),e["ɵted"](-1,null,["Governance"]))],(function(l,n){l(n,1,0),l(n,10,0,"lock_mode"),l(n,13,0,"lock_mode"),l(n,15,0,"COMPLIANCE"),l(n,16,0,"COMPLIANCE"),l(n,19,0,"GOVERNANCE"),l(n,20,0,"GOVERNANCE")}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,7,0,e["ɵnov"](n,12).ngClassUntouched,e["ɵnov"](n,12).ngClassTouched,e["ɵnov"](n,12).ngClassPristine,e["ɵnov"](n,12).ngClassDirty,e["ɵnov"](n,12).ngClassValid,e["ɵnov"](n,12).ngClassInvalid,e["ɵnov"](n,12).ngClassPending,e["ɵnov"](n,13).validClass,e["ɵnov"](n,13).invalidClass)}))}function Xt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["The entered value must be a positive integer."]))],null,null)}function li(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Retention period requires either Days or Years."]))],null,null)}function ni(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,22,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,An.b,An.a)),e["ɵdid"](1,1163264,null,2,Pn.c,[e.ElementRef,Pn.g],null,null),e["ɵqud"](603979776,21,{FormControlNames:1}),e["ɵqud"](603979776,22,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,5,"label",[["class","cd-col-form-label"],["for","lock_retention_period_days"]],null,null,null,null,null)),(l()(),e["ɵeld"](5,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Days"])),(l()(),e["ɵeld"](7,0,null,null,2,"cd-helper",[],null,null,null,qt.b,qt.a)),e["ɵdid"](8,49152,null,0,Tt.a,[],null,null),(l()(),e["ɵted"](-1,0,["The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket."])),(l()(),e["ɵeld"](10,0,null,0,12,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](11,0,null,null,7,"input",[["class","form-control"],["formControlName","lock_retention_period_days"],["id","lock_retention_period_days"],["min","0"],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],(function(l,n,u){var t=!0;return"input"===n&&(t=!1!==e["ɵnov"](l,12)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,12).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,12)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,12)._compositionEnd(u.target.value)&&t),"change"===n&&(t=!1!==e["ɵnov"](l,13).onChange(u.target.value)&&t),"input"===n&&(t=!1!==e["ɵnov"](l,13).onChange(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,13).onTouched()&&t),t}),null,null)),e["ɵdid"](12,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵdid"](13,16384,null,0,d.w,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l,n){return[l,n]}),[d.e,d.w]),e["ɵdid"](15,671744,[[21,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](17,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](18,16384,null,0,Pn.h,[[3,d.d],Pn.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Xt)),e["ɵdid"](20,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,li)),e["ɵdid"](22,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,1,0),l(n,15,0,"lock_retention_period_days"),l(n,18,0,"lock_retention_period_days"),l(n,20,0,u.bucketForm.showError("lock_retention_period_days",e["ɵnov"](n.parent,3),"pattern")),l(n,22,0,u.bucketForm.showError("lock_retention_period_days",e["ɵnov"](n.parent,3),"eitherDaysOrYears"))}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,11,0,e["ɵnov"](n,17).ngClassUntouched,e["ɵnov"](n,17).ngClassTouched,e["ɵnov"](n,17).ngClassPristine,e["ɵnov"](n,17).ngClassDirty,e["ɵnov"](n,17).ngClassValid,e["ɵnov"](n,17).ngClassInvalid,e["ɵnov"](n,17).ngClassPending,e["ɵnov"](n,18).validClass,e["ɵnov"](n,18).invalidClass)}))}function ui(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["The entered value must be a positive integer."]))],null,null)}function ei(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Retention period requires either Days or Years."]))],null,null)}function ti(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,22,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,An.b,An.a)),e["ɵdid"](1,1163264,null,2,Pn.c,[e.ElementRef,Pn.g],null,null),e["ɵqud"](603979776,23,{FormControlNames:1}),e["ɵqud"](603979776,24,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,5,"label",[["class","cd-col-form-label"],["for","lock_retention_period_years"]],null,null,null,null,null)),(l()(),e["ɵeld"](5,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Years"])),(l()(),e["ɵeld"](7,0,null,null,2,"cd-helper",[],null,null,null,qt.b,qt.a)),e["ɵdid"](8,49152,null,0,Tt.a,[],null,null),(l()(),e["ɵted"](-1,0,["The number of years that you want to specify for the default retention period that will be applied to new objects placed in this bucket."])),(l()(),e["ɵeld"](10,0,null,0,12,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](11,0,null,null,7,"input",[["class","form-control"],["formControlName","lock_retention_period_years"],["id","lock_retention_period_years"],["min","0"],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],(function(l,n,u){var t=!0;return"input"===n&&(t=!1!==e["ɵnov"](l,12)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,12).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,12)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,12)._compositionEnd(u.target.value)&&t),"change"===n&&(t=!1!==e["ɵnov"](l,13).onChange(u.target.value)&&t),"input"===n&&(t=!1!==e["ɵnov"](l,13).onChange(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,13).onTouched()&&t),t}),null,null)),e["ɵdid"](12,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵdid"](13,16384,null,0,d.w,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l,n){return[l,n]}),[d.e,d.w]),e["ɵdid"](15,671744,[[23,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](17,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](18,16384,null,0,Pn.h,[[3,d.d],Pn.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,ui)),e["ɵdid"](20,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,ei)),e["ɵdid"](22,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,1,0),l(n,15,0,"lock_retention_period_years"),l(n,18,0,"lock_retention_period_years"),l(n,20,0,u.bucketForm.showError("lock_retention_period_days",e["ɵnov"](n.parent,3),"pattern")),l(n,22,0,u.bucketForm.showError("lock_retention_period_years",e["ɵnov"](n.parent,3),"eitherDaysOrYears"))}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,11,0,e["ɵnov"](n,17).ngClassUntouched,e["ɵnov"](n,17).ngClassTouched,e["ɵnov"](n,17).ngClassPristine,e["ɵnov"](n,17).ngClassDirty,e["ɵnov"](n,17).ngClassValid,e["ɵnov"](n,17).ngClassInvalid,e["ɵnov"](n,17).ngClassPending,e["ɵnov"](n,18).validClass,e["ɵnov"](n,18).invalidClass)}))}function ii(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,115,"div",[["class","cd-col-form"]],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,114,"form",[["name","bucketForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,u){var t=!0;return"submit"===n&&(t=!1!==e["ɵnov"](l,3).onSubmit(u)&&t),"reset"===n&&(t=!1!==e["ɵnov"](l,3).onReset()&&t),"submit"===n&&(t=!1!==e["ɵnov"](l,6).onSubmit()&&t),t}),null,null)),e["ɵdid"](2,16384,null,0,d.G,[],null,null),e["ɵdid"](3,540672,[["frm",4]],0,d.l,[[8,null],[8,null]],{form:[0,"form"]},null),e["ɵprd"](2048,null,d.d,null,[d.l]),e["ɵdid"](5,16384,null,0,d.s,[[4,d.d]],null,null),e["ɵdid"](6,16384,null,0,Pn.d,[],{formGroup:[0,"formGroup"]},null),(l()(),e["ɵeld"](7,0,null,null,108,"div",[["class","card"]],null,null,null,null,null)),(l()(),e["ɵeld"](8,0,null,null,3,"div",[["class","card-header"]],null,null,null,null,null)),(l()(),e["ɵted"](9,null,[""," ",""])),e["ɵppd"](10,1),e["ɵppd"](11,1),(l()(),e["ɵeld"](12,0,null,null,94,"div",[["class","card-body"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,xt)),e["ɵdid"](14,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](15,0,null,null,23,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,An.b,An.a)),e["ɵdid"](16,1163264,null,2,Pn.c,[e.ElementRef,Pn.g],null,null),e["ɵqud"](603979776,3,{FormControlNames:1}),e["ɵqud"](603979776,4,{messagesBlock:0}),(l()(),e["ɵeld"](19,0,null,0,4,"label",[["class","cd-col-form-label"],["for","bid"]],null,null,null,null,null)),e["ɵprd"](512,null,xl["ɵNgClassImpl"],xl["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](21,278528,null,0,xl.NgClass,[xl["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),e["ɵpod"](22,{required:0}),(l()(),e["ɵted"](-1,null,["Name"])),(l()(),e["ɵeld"](24,0,null,0,14,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](25,0,null,null,7,"input",[["class","form-control"],["formControlName","bid"],["id","bid"],["name","bid"],["placeholder","Name..."],["type","text"]],[[8,"readOnly",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var t=!0;return"input"===n&&(t=!1!==e["ɵnov"](l,27)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,27).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,27)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,27)._compositionEnd(u.target.value)&&t),t}),null,null)),e["ɵdid"](26,4210688,null,0,Hn.a,[e.ElementRef],{autofocus:[0,"autofocus"]},null),e["ɵdid"](27,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.e]),e["ɵdid"](29,671744,[[3,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](31,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](32,16384,null,0,Pn.h,[[3,d.d],Pn.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Dt)),e["ɵdid"](34,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Ft)),e["ɵdid"](36,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,jt)),e["ɵdid"](38,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](39,0,null,null,22,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,An.b,An.a)),e["ɵdid"](40,1163264,null,2,Pn.c,[e.ElementRef,Pn.g],null,null),e["ɵqud"](603979776,5,{FormControlNames:1}),e["ɵqud"](603979776,6,{messagesBlock:0}),(l()(),e["ɵeld"](43,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","owner"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Owner"])),(l()(),e["ɵeld"](45,0,null,0,16,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](46,0,null,null,13,"select",[["class","form-control custom-select"],["formControlName","owner"],["id","owner"],["name","owner"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var t=!0;return"change"===n&&(t=!1!==e["ɵnov"](l,48).onChange(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,48).onTouched()&&t),t}),null,null)),e["ɵdid"](47,4210688,null,0,Hn.a,[e.ElementRef],{autofocus:[0,"autofocus"]},null),e["ɵdid"](48,16384,null,0,d.A,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.A]),e["ɵdid"](50,671744,[[5,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](52,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](53,16384,null,0,Pn.h,[[3,d.d],Pn.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Bt)),e["ɵdid"](55,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,At)),e["ɵdid"](57,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Pt)),e["ɵdid"](59,278528,null,0,xl.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Mt)),e["ɵdid"](61,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](62,0,null,null,12,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,An.b,An.a)),e["ɵdid"](63,1163264,null,2,Pn.c,[e.ElementRef,Pn.g],null,null),e["ɵqud"](603979776,7,{FormControlNames:1}),e["ɵqud"](603979776,8,{messagesBlock:0}),(l()(),e["ɵeld"](66,0,null,0,4,"label",[["class","cd-col-form-label"],["for","placement-target"]],null,null,null,null,null)),e["ɵprd"](512,null,xl["ɵNgClassImpl"],xl["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](68,278528,null,0,xl.NgClass,[xl["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),e["ɵpod"](69,{required:0}),(l()(),e["ɵted"](-1,null,["Placement target"])),(l()(),e["ɵeld"](71,0,null,0,3,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵand"](0,[["placementTargetSelect",2]],null,0,null,Gt)),(l()(),e["ɵand"](16777216,null,null,1,null,Kt)),e["ɵdid"](74,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"],ngIfElse:[1,"ngIfElse"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,$t)),e["ɵdid"](76,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Wt)),e["ɵdid"](78,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](79,0,null,null,27,"fieldset",[],null,null,null,null,null)),(l()(),e["ɵeld"](80,0,null,null,1,"legend",[["class","cd-header"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Locking"])),(l()(),e["ɵeld"](82,0,null,null,18,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,An.b,An.a)),e["ɵdid"](83,1163264,null,2,Pn.c,[e.ElementRef,Pn.g],null,null),e["ɵqud"](603979776,17,{FormControlNames:1}),e["ɵqud"](603979776,18,{messagesBlock:0}),(l()(),e["ɵeld"](86,0,null,0,14,"div",[["class","cd-col-form-offset"]],null,null,null,null,null)),(l()(),e["ɵeld"](87,0,null,null,13,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(l()(),e["ɵeld"](88,0,null,null,6,"input",[["class","custom-control-input"],["formControlName","lock_enabled"],["id","lock_enabled"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var t=!0;return"change"===n&&(t=!1!==e["ɵnov"](l,89).onChange(u.target.checked)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,89).onTouched()&&t),t}),null,null)),e["ɵdid"](89,16384,null,0,d.c,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.c]),e["ɵdid"](91,671744,[[17,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](93,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](94,16384,null,0,Pn.h,[[3,d.d],Pn.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](95,0,null,null,1,"label",[["class","custom-control-label"],["for","lock_enabled"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Enabled"])),(l()(),e["ɵeld"](97,0,null,null,3,"cd-helper",[],null,null,null,qt.b,qt.a)),e["ɵdid"](98,49152,null,0,Tt.a,[],null,null),(l()(),e["ɵeld"](99,0,null,0,1,"span",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket."])),(l()(),e["ɵand"](16777216,null,null,1,null,Jt)),e["ɵdid"](102,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,ni)),e["ɵdid"](104,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,ti)),e["ɵdid"](106,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](107,0,null,null,8,"div",[["class","card-footer"]],null,null,null,null,null)),(l()(),e["ɵeld"](108,0,null,null,7,"div",[["class","button-group text-right"]],null,null,null,null,null)),(l()(),e["ɵeld"](109,0,null,null,4,"cd-submit-button",[],null,[[null,"submitAction"]],(function(l,n,u){var e=!0;return"submitAction"===n&&(e=!1!==l.component.submit()&&e),e}),Qn.b,Qn.a)),e["ɵdid"](110,114688,null,0,Yn.a,[e.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(l()(),e["ɵted"](111,0,[""," ",""])),e["ɵppd"](112,1),e["ɵppd"](113,1),(l()(),e["ɵeld"](114,0,null,null,1,"cd-back-button",[],null,null,null,Ln.b,Ln.a)),e["ɵdid"](115,49152,null,0,zn.a,[xl.Location,t.b],null,null)],(function(l,n){var u=n.component;l(n,3,0,u.bucketForm),l(n,6,0,u.bucketForm),l(n,14,0,u.editing),l(n,16,0);var t=l(n,22,0,!u.editing);l(n,21,0,"cd-col-form-label",t),l(n,26,0,!u.editing),l(n,29,0,"bid"),l(n,32,0,"bid"),l(n,34,0,u.bucketForm.showError("bid",e["ɵnov"](n,3),"required")),l(n,36,0,u.bucketForm.showError("bid",e["ɵnov"](n,3),"bucketNameInvalid")),l(n,38,0,u.bucketForm.showError("bid",e["ɵnov"](n,3),"bucketNameExists")),l(n,40,0),l(n,47,0,u.editing),l(n,50,0,"owner"),l(n,53,0,"owner"),l(n,55,0,null===u.owners),l(n,57,0,null!==u.owners),l(n,59,0,u.owners),l(n,61,0,u.bucketForm.showError("owner",e["ɵnov"](n,3),"required")),l(n,63,0);var i=l(n,69,0,!u.editing);l(n,68,0,"cd-col-form-label",i),l(n,74,0,u.editing,e["ɵnov"](n,72)),l(n,76,0,u.editing),l(n,78,0,u.editing),l(n,83,0),l(n,91,0,"lock_enabled"),l(n,94,0,"lock_enabled"),l(n,102,0,u.bucketForm.getValue("lock_enabled")),l(n,104,0,u.bucketForm.getValue("lock_enabled")),l(n,106,0,u.bucketForm.getValue("lock_enabled")),l(n,110,0,u.bucketForm)}),(function(l,n){var u=n.component;l(n,1,0,e["ɵnov"](n,5).ngClassUntouched,e["ɵnov"](n,5).ngClassTouched,e["ɵnov"](n,5).ngClassPristine,e["ɵnov"](n,5).ngClassDirty,e["ɵnov"](n,5).ngClassValid,e["ɵnov"](n,5).ngClassInvalid,e["ɵnov"](n,5).ngClassPending);var t=e["ɵunv"](n,9,0,l(n,10,0,e["ɵnov"](n.parent,0),u.action)),i=e["ɵunv"](n,9,1,l(n,11,0,e["ɵnov"](n.parent,1),u.resource));l(n,9,0,t,i),l(n,15,0,e["ɵnov"](n,16).hasErrors,e["ɵnov"](n,16).hasSuccess),l(n,25,0,u.editing,e["ɵnov"](n,31).ngClassUntouched,e["ɵnov"](n,31).ngClassTouched,e["ɵnov"](n,31).ngClassPristine,e["ɵnov"](n,31).ngClassDirty,e["ɵnov"](n,31).ngClassValid,e["ɵnov"](n,31).ngClassInvalid,e["ɵnov"](n,31).ngClassPending,e["ɵnov"](n,32).validClass,e["ɵnov"](n,32).invalidClass),l(n,39,0,e["ɵnov"](n,40).hasErrors,e["ɵnov"](n,40).hasSuccess),l(n,46,0,e["ɵnov"](n,52).ngClassUntouched,e["ɵnov"](n,52).ngClassTouched,e["ɵnov"](n,52).ngClassPristine,e["ɵnov"](n,52).ngClassDirty,e["ɵnov"](n,52).ngClassValid,e["ɵnov"](n,52).ngClassInvalid,e["ɵnov"](n,52).ngClassPending,e["ɵnov"](n,53).validClass,e["ɵnov"](n,53).invalidClass),l(n,62,0,e["ɵnov"](n,63).hasErrors,e["ɵnov"](n,63).hasSuccess),l(n,82,0,e["ɵnov"](n,83).hasErrors,e["ɵnov"](n,83).hasSuccess),l(n,88,0,e["ɵnov"](n,93).ngClassUntouched,e["ɵnov"](n,93).ngClassTouched,e["ɵnov"](n,93).ngClassPristine,e["ɵnov"](n,93).ngClassDirty,e["ɵnov"](n,93).ngClassValid,e["ɵnov"](n,93).ngClassInvalid,e["ɵnov"](n,93).ngClassPending,e["ɵnov"](n,94).validClass,e["ɵnov"](n,94).invalidClass);var a=e["ɵunv"](n,111,0,l(n,112,0,e["ɵnov"](n.parent,0),u.action)),o=e["ɵunv"](n,111,1,l(n,113,0,e["ɵnov"](n.parent,1),u.resource));l(n,111,0,a,o)}))}function ai(l){return e["ɵvid"](0,[e["ɵpid"](0,xl.TitleCasePipe,[]),e["ɵpid"](0,jn.a,[]),(l()(),e["ɵand"](16777216,null,null,1,null,St)),e["ɵdid"](3,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,ii)),e["ɵdid"](5,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,3,0,u.editing&&u.loading&&!u.error),l(n,5,0,!u.loading&&!u.error)}),null)}function oi(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"cd-rgw-bucket-form",[],null,null,null,ai,Vt)),e["ɵdid"](1,114688,null,0,q,[ue.a,ue.m,R.a,h,C,_.a,w.a,Il.a,t.b],null,null)],(function(l,n){l(n,1,0)}),null)}var si=e["ɵccf"]("cd-rgw-bucket-form",q,oi,{},{},[]),di=e["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function ri(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,8,"cd-alert-panel",[["type","info"]],null,null,null,he.b,he.a)),e["ɵdid"](1,114688,null,0,Ce.a,[Il.a],{type:[0,"type"]},null),(l()(),e["ɵted"](2,0,[" ",""])),(l()(),e["ɵeld"](3,0,null,0,0,"br",[],null,null,null,null,null)),(l()(),e["ɵeld"](4,0,null,0,4,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Please consult the "])),(l()(),e["ɵeld"](6,0,null,null,1,"a",[["target","_blank"]],[[8,"href",4]],null,null,null,null)),(l()(),e["ɵted"](-1,null,["documentation"])),(l()(),e["ɵted"](-1,null,[" on how to configure and enable the Object Gateway management functionality."]))],(function(l,n){l(n,1,0,"info")}),(function(l,n){var u=n.component;l(n,2,0,u.message),l(n,6,0,e["ɵinlineInterpolate"](1,"",u.docsUrl,""))}))}function ci(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"cd-rgw-501",[],null,null,null,ri,di)),e["ɵdid"](1,245760,null,0,s,[ue.a,o.a,a.a],null,null)],(function(l,n){l(n,1,0)}),null)}var mi=e["ɵccf"]("cd-rgw-501",s,ci,{},{},[]);u.d(n,"RgwModuleNgFactory",(function(){return gi})),u.d(n,"RoutedRgwModuleNgFactory",(function(){return pi}));var gi=e["ɵcmf"](X,[],(function(l){return e["ɵmod"]([e["ɵmpd"](512,e.ComponentFactoryResolver,e["ɵCodegenComponentFactoryResolver"],[[8,[dl.a,rl.a,cl.a,ml.a,ml.b,gl.a,pl.a,fl.a,vl.a,bl.a,hl.a,Ml,ln,Fn,Zn,cu,yu,Du]],[3,e.ComponentFactoryResolver],e.NgModuleRef]),e["ɵmpd"](4608,xl.NgLocalization,xl.NgLocaleLocalization,[e.LOCALE_ID,[2,xl["ɵangular_packages_common_common_a"]]]),e["ɵmpd"](4608,Fu.a,Fu.a,[]),e["ɵmpd"](4608,ju.a,ju.a,[]),e["ɵmpd"](4608,Ol.a,Ol.a,[Il.a]),e["ɵmpd"](4608,xl.DatePipe,xl.DatePipe,[e.LOCALE_ID]),e["ɵmpd"](4608,P.a,P.a,[]),e["ɵmpd"](4608,a.a,a.a,[]),e["ɵmpd"](4608,U.a,U.a,[]),e["ɵmpd"](4608,an.a,an.a,[U.a]),e["ɵmpd"](4608,Bu.a,Bu.a,[U.a]),e["ɵmpd"](4608,Ul.a,Ul.a,[U.a]),e["ɵmpd"](4608,Au.a,Au.a,[]),e["ɵmpd"](4608,Pu.a,Pu.a,[]),e["ɵmpd"](4608,Mu.a,Mu.a,[]),e["ɵmpd"](4608,Ou.a,Ou.a,[]),e["ɵmpd"](4608,ql.a,ql.a,[xl.DatePipe]),e["ɵmpd"](4608,Uu.a,Uu.a,[]),e["ɵmpd"](4608,Lu.a,Lu.a,[]),e["ɵmpd"](4608,zu.a,zu.a,[]),e["ɵmpd"](4608,Gu.a,Gu.a,[]),e["ɵmpd"](4608,Ku.a,Ku.a,[]),e["ɵmpd"](4608,$u.a,$u.a,[Il.a]),e["ɵmpd"](4608,jn.a,jn.a,[]),e["ɵmpd"](4608,tn.a,tn.a,[]),e["ɵmpd"](4608,Zu.a,Zu.a,[]),e["ɵmpd"](4608,d.D,d.D,[]),e["ɵmpd"](4608,d.h,d.h,[]),e["ɵmpd"](4608,Hu.b,Hu.b,[]),e["ɵmpd"](4608,Qu.a,Qu.a,[]),e["ɵmpd"](4608,Yu.a,Yu.a,[e.RendererFactory2,e.PLATFORM_ID]),e["ɵmpd"](4608,en.a,en.a,[e.ComponentFactoryResolver,e.NgZone,e.Injector,Yu.a,e.ApplicationRef]),e["ɵmpd"](4608,Wu.c,Wu.c,[]),e["ɵmpd"](4608,Ju.a,Ju.a,[]),e["ɵmpd"](4608,sn.b,sn.b,[e.RendererFactory2,en.a]),e["ɵmpd"](4608,Xu.ScrollbarHelper,Xu.ScrollbarHelper,[xl.DOCUMENT]),e["ɵmpd"](4608,le.DimensionsHelper,le.DimensionsHelper,[]),e["ɵmpd"](4608,ne.ColumnChangesService,ne.ColumnChangesService,[]),e["ɵmpd"](4608,un.f,un.f,[]),e["ɵmpd"](4608,D.a,D.a,[]),e["ɵmpd"](4608,i.a,i.a,[ue.m,D.a]),e["ɵmpd"](4608,Cl.f,Cl.f,[]),e["ɵmpd"](1073742336,xl.CommonModule,xl.CommonModule,[]),e["ɵmpd"](1073742336,ee.a,ee.a,[]),e["ɵmpd"](1073742336,d.C,d.C,[]),e["ɵmpd"](1073742336,d.n,d.n,[]),e["ɵmpd"](1073742336,d.y,d.y,[]),e["ɵmpd"](1073742336,Hu.c,Hu.c,[]),e["ɵmpd"](1073742336,Qu.d,Qu.d,[]),e["ɵmpd"](1073742336,Wu.d,Wu.d,[]),e["ɵmpd"](1073742336,Ju.d,Ju.d,[]),e["ɵmpd"](1073742336,te.b,te.b,[]),e["ɵmpd"](1073742336,sn.e,sn.e,[]),e["ɵmpd"](1073742336,ie.a,ie.a,[]),e["ɵmpd"](1073742336,un.e,un.e,[]),e["ɵmpd"](1073742336,Pn.f,Pn.f,[]),e["ɵmpd"](1073742336,ae.ClickOutsideModule,ae.ClickOutsideModule,[]),e["ɵmpd"](1073742336,oe.b,oe.b,[]),e["ɵmpd"](1073742336,ue.q,ue.q,[[2,ue.v],[2,ue.m]]),e["ɵmpd"](1073742336,se.a,se.a,[]),e["ɵmpd"](1073742336,de.NgxDatatableModule,de.NgxDatatableModule,[]),e["ɵmpd"](1073742336,re.a,re.a,[]),e["ɵmpd"](1073742336,b.a,b.a,[]),e["ɵmpd"](1073742336,ce.a,ce.a,[]),e["ɵmpd"](1073742336,me.a,me.a,[]),e["ɵmpd"](1073742336,Cl.d,Cl.d,[]),e["ɵmpd"](1073742336,X,X,[]),e["ɵmpd"](256,e.LOCALE_ID,"en-US",[]),e["ɵmpd"](256,un.a,{autoClose:!0,insideClick:!1},[]),e["ɵmpd"](256,e.TRANSLATIONS_FORMAT,"xlf",[])])})),pi=e["ɵcmf"](sl,[],(function(l){return e["ɵmod"]([e["ɵmpd"](512,e.ComponentFactoryResolver,e["ɵCodegenComponentFactoryResolver"],[[8,[dl.a,rl.a,cl.a,ml.a,ml.b,gl.a,pl.a,fl.a,vl.a,bl.a,hl.a,Ml,ln,Fn,Zn,cu,yu,Du,be,Ee,yt,Nt,si,mi]],[3,e.ComponentFactoryResolver],e.NgModuleRef]),e["ɵmpd"](4608,xl.NgLocalization,xl.NgLocaleLocalization,[e.LOCALE_ID,[2,xl["ɵangular_packages_common_common_a"]]]),e["ɵmpd"](4608,Fu.a,Fu.a,[]),e["ɵmpd"](4608,ju.a,ju.a,[]),e["ɵmpd"](4608,Ol.a,Ol.a,[Il.a]),e["ɵmpd"](4608,xl.DatePipe,xl.DatePipe,[e.LOCALE_ID]),e["ɵmpd"](4608,P.a,P.a,[]),e["ɵmpd"](4608,a.a,a.a,[]),e["ɵmpd"](4608,U.a,U.a,[]),e["ɵmpd"](4608,an.a,an.a,[U.a]),e["ɵmpd"](4608,Bu.a,Bu.a,[U.a]),e["ɵmpd"](4608,Ul.a,Ul.a,[U.a]),e["ɵmpd"](4608,Au.a,Au.a,[]),e["ɵmpd"](4608,Pu.a,Pu.a,[]),e["ɵmpd"](4608,Mu.a,Mu.a,[]),e["ɵmpd"](4608,Ou.a,Ou.a,[]),e["ɵmpd"](4608,ql.a,ql.a,[xl.DatePipe]),e["ɵmpd"](4608,Uu.a,Uu.a,[]),e["ɵmpd"](4608,Lu.a,Lu.a,[]),e["ɵmpd"](4608,zu.a,zu.a,[]),e["ɵmpd"](4608,Gu.a,Gu.a,[]),e["ɵmpd"](4608,Ku.a,Ku.a,[]),e["ɵmpd"](4608,$u.a,$u.a,[Il.a]),e["ɵmpd"](4608,jn.a,jn.a,[]),e["ɵmpd"](4608,tn.a,tn.a,[]),e["ɵmpd"](4608,Zu.a,Zu.a,[]),e["ɵmpd"](4608,d.D,d.D,[]),e["ɵmpd"](4608,d.h,d.h,[]),e["ɵmpd"](4608,Hu.b,Hu.b,[]),e["ɵmpd"](4608,Qu.a,Qu.a,[]),e["ɵmpd"](4608,Yu.a,Yu.a,[e.RendererFactory2,e.PLATFORM_ID]),e["ɵmpd"](4608,en.a,en.a,[e.ComponentFactoryResolver,e.NgZone,e.Injector,Yu.a,e.ApplicationRef]),e["ɵmpd"](4608,Wu.c,Wu.c,[]),e["ɵmpd"](4608,Ju.a,Ju.a,[]),e["ɵmpd"](4608,sn.b,sn.b,[e.RendererFactory2,en.a]),e["ɵmpd"](4608,Xu.ScrollbarHelper,Xu.ScrollbarHelper,[xl.DOCUMENT]),e["ɵmpd"](4608,le.DimensionsHelper,le.DimensionsHelper,[]),e["ɵmpd"](4608,ne.ColumnChangesService,ne.ColumnChangesService,[]),e["ɵmpd"](4608,un.f,un.f,[]),e["ɵmpd"](4608,D.a,D.a,[]),e["ɵmpd"](4608,i.a,i.a,[ue.m,D.a]),e["ɵmpd"](4608,Cl.f,Cl.f,[]),e["ɵmpd"](1073742336,xl.CommonModule,xl.CommonModule,[]),e["ɵmpd"](1073742336,ee.a,ee.a,[]),e["ɵmpd"](1073742336,d.C,d.C,[]),e["ɵmpd"](1073742336,d.n,d.n,[]),e["ɵmpd"](1073742336,d.y,d.y,[]),e["ɵmpd"](1073742336,Hu.c,Hu.c,[]),e["ɵmpd"](1073742336,Qu.d,Qu.d,[]),e["ɵmpd"](1073742336,Wu.d,Wu.d,[]),e["ɵmpd"](1073742336,Ju.d,Ju.d,[]),e["ɵmpd"](1073742336,te.b,te.b,[]),e["ɵmpd"](1073742336,sn.e,sn.e,[]),e["ɵmpd"](1073742336,ie.a,ie.a,[]),e["ɵmpd"](1073742336,un.e,un.e,[]),e["ɵmpd"](1073742336,Pn.f,Pn.f,[]),e["ɵmpd"](1073742336,ae.ClickOutsideModule,ae.ClickOutsideModule,[]),e["ɵmpd"](1073742336,oe.b,oe.b,[]),e["ɵmpd"](1073742336,ue.q,ue.q,[[2,ue.v],[2,ue.m]]),e["ɵmpd"](1073742336,se.a,se.a,[]),e["ɵmpd"](1073742336,de.NgxDatatableModule,de.NgxDatatableModule,[]),e["ɵmpd"](1073742336,re.a,re.a,[]),e["ɵmpd"](1073742336,b.a,b.a,[]),e["ɵmpd"](1073742336,ce.a,ce.a,[]),e["ɵmpd"](1073742336,me.a,me.a,[]),e["ɵmpd"](1073742336,Cl.d,Cl.d,[]),e["ɵmpd"](1073742336,X,X,[]),e["ɵmpd"](1073742336,sl,sl,[]),e["ɵmpd"](256,e.LOCALE_ID,"en-US",[]),e["ɵmpd"](256,un.a,{autoClose:!0,insideClick:!1},[]),e["ɵmpd"](1024,ue.k,(function(){return[[{path:"",redirectTo:"daemon",pathMatch:"full"},{path:"daemon",component:M,data:ll},{path:"user",data:nl,children:[{path:"",component:J},{path:"create",component:Q,data:ul},{path:"edit/:uid",component:Q,data:el}]},{path:"bucket",data:tl,children:[{path:"",component:B},{path:"create",component:q,data:il},{path:"edit/:bid",component:q,data:al}]},{path:"501/:message",component:s,canActivate:[i.a],data:ol}]]}),[]),e["ɵmpd"](256,e.TRANSLATIONS_FORMAT,"xlf",[])])}))}}]);
\ No newline at end of file
diff --git a/ceph/src/pybind/mgr/dashboard/frontend/dist/en-US/6.fd03afd7d5e918275ed6.js b/ceph/src/pybind/mgr/dashboard/frontend/dist/en-US/6.fd03afd7d5e918275ed6.js
deleted file mode 100644 (file)
index 6812b86..0000000
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{OcYo:function(l,n,u){"use strict";u.d(n,"a",(function(){return e}));class e{constructor(l,n,u){this.elementRef=l,this.renderer=n,this.toastr=u}ngOnInit(){const l=this.renderer.createElement("i");this.renderer.addClass(l,"fa"),this.renderer.addClass(l,"fa-clipboard"),this.renderer.appendChild(this.elementRef.nativeElement,l)}getInputElement(){return document.getElementById(this.cdCopy2ClipboardButton)}onClick(){try{const l=document.createElement("input");l.value=this.getInputElement().value,document.body.appendChild(l),l.select(),document.execCommand("copy"),document.body.removeChild(l),this.toastr.success("Copied text to the clipboard successfully.")}catch(l){this.toastr.error("Failed to copy text to the clipboard.")}}}},Znkk:function(l,n,u){"use strict";u.r(n);var e=u("8Y7J"),t=u("sne2"),i=u("Avrn"),o=u("+0ag"),a=u("mSOc");class s{constructor(l,n,u){this.route=l,this.summaryService=n,this.cephReleaseNamePipe=u,this.message="The Object Gateway service is not configured."}ngOnInit(){const l=this.summaryService.subscribe(n=>{if(!n)return;const u=this.cephReleaseNamePipe.transform(n.version);this.docsUrl=`http://docs.ceph.com/docs/${u}/mgr/dashboard/`+"#enabling-the-object-gateway-management-frontend",setTimeout(()=>{l.unsubscribe()},0)});this.routeParamsSubscribe=this.route.params.subscribe(l=>{this.message=l.message})}ngOnDestroy(){this.routeParamsSubscribe.unsubscribe()}}var d=u("s7LF"),r=u("LvDl"),c=u("mrSG"),m=u("IheW"),g=u("cp0P"),p=u("LRne"),f=u("5+tZ"),v=u("xTzq"),b=u("pL04");let h=(()=>{let l=class{constructor(l){this.http=l,this.url="api/rgw/bucket"}list(){return this.enumerate().pipe(Object(f.a)(l=>l.length>0?Object(g.a)(l.map(l=>this.get(l))):Object(p.a)([])))}enumerate(){return this.http.get(this.url)}get(l){return this.http.get(`${this.url}/${l}`)}create(l,n,u,e,t,i,o,a){return this.http.post(this.url,null,{params:new m.h({fromObject:{bucket:l,uid:n,zonegroup:u,placement_target:e,lock_enabled:String(t),lock_mode:i,lock_retention_period_days:o,lock_retention_period_years:a}})})}update(l,n,u,e,t,i,o,a,s,d){let r=new m.h;return r=r.append("bucket_id",n),r=r.append("uid",u),r=r.append("versioning_state",e),r=r.append("mfa_delete",t),r=r.append("mfa_token_serial",i),r=r.append("mfa_token_pin",o),r=r.append("lock_mode",a),r=r.append("lock_retention_period_days",s),r=r.append("lock_retention_period_years",d),this.http.put(`${this.url}/${l}`,null,{params:r})}delete(l,n=!0){let u=new m.h;return u=u.append("purge_objects",n?"true":"false"),this.http.delete(`${this.url}/${l}`,{params:u})}exists(l){return this.enumerate().pipe(Object(f.a)(n=>{const u=r.indexOf(n,l);return Object(p.a)(-1!==u)}))}};return l.ngInjectableDef=e["ɵɵdefineInjectable"]({factory:function(){return new l(e["ɵɵinject"](m.c))},token:l,providedIn:b.a}),l=c.__decorate([v.a,c.__metadata("design:paramtypes",[m.c])],l),l})(),C=(()=>{let l=class{constructor(l){this.http=l,this.url="api/rgw/site"}getPlacementTargets(){let l=new m.h;return l=l.append("query","placement-targets"),this.http.get(this.url,{params:l})}};return l.ngInjectableDef=e["ɵɵdefineInjectable"]({factory:function(){return new l(e["ɵɵinject"](m.c))},token:l,providedIn:b.a}),l=c.__decorate([v.a,c.__metadata("design:paramtypes",[m.c])],l),l})();var _=u("P8lu"),k=u("oxzT"),y=u("mtw6"),R=u("2EZI"),I=u("1Ni5"),w=u("9nlD"),E=function(l){return l.ENABLED="Enabled",l.DISABLED="Disabled",l}({}),q=function(l){return l.ENABLED="Enabled",l.SUSPENDED="Suspended",l}({});class N{constructor(l,n,u,e,i,o,a,s,d){this.route=l,this.router=n,this.formBuilder=u,this.rgwBucketService=e,this.rgwSiteService=i,this.rgwUserService=o,this.notificationService=a,this.i18n=s,this.actionLabels=d,this.editing=!1,this.error=!1,this.loading=!1,this.owners=null,this.placementTargets=[],this.isVersioningEnabled=!1,this.isVersioningAlreadyEnabled=!1,this.isMfaDeleteEnabled=!1,this.isMfaDeleteAlreadyEnabled=!1,this.icons=k.a,this.editing=this.router.url.startsWith(`/rgw/bucket/${t.e.EDIT}`),this.action=this.editing?this.actionLabels.EDIT:this.actionLabels.CREATE,this.resource=this.i18n("bucket"),this.createForm()}createForm(){const l=this,n=I.a.custom("eitherDaysOrYears",()=>{if(!l.bucketForm||!r.get(l.bucketForm.getRawValue(),"lock_enabled"))return!1;const n=l.bucketForm.getValue("lock_retention_period_years"),u=l.bucketForm.getValue("lock_retention_period_days");return u>0&&n>0||0===u&&0===n}),u=[0,[I.a.number(!1),n]];this.bucketForm=this.formBuilder.group({id:[null],bid:[null,[d.B.required],this.editing?[]:[this.bucketNameValidator()]],owner:[null,[d.B.required]],"placement-target":[null,this.editing?[]:[d.B.required]],versioning:[null],"mfa-delete":[null],"mfa-token-serial":[""],"mfa-token-pin":[""],lock_enabled:[{value:!1,disabled:this.editing}],lock_mode:["COMPLIANCE"],lock_retention_period_days:u,lock_retention_period_years:u})}ngOnInit(){this.rgwUserService.enumerate().subscribe(l=>{this.owners=l.sort()}),this.editing||this.rgwSiteService.getPlacementTargets().subscribe(l=>{this.zonegroup=l.zonegroup,r.forEach(l.placement_targets,l=>{l.description=`${l.name} (${this.i18n("pool")}: ${l.data_pool})`,this.placementTargets.push(l)}),1===this.placementTargets.length&&this.bucketForm.get("placement-target").setValue(this.placementTargets[0].name)}),this.route.params.subscribe(l=>{if(!l.hasOwnProperty("bid"))return;const n=decodeURIComponent(l.bid);this.loading=!0,this.rgwBucketService.get(n).subscribe(l=>{this.loading=!1;const n=r.clone(this.bucketForm.getRawValue());let u=r.pick(l,r.keys(n));u["placement-target"]=l.placement_rule,u=r.merge(n,u),this.bucketForm.setValue(u),this.editing&&(this.setVersioningStatus(l.versioning),this.isVersioningAlreadyEnabled=this.isVersioningEnabled,this.setMfaDeleteStatus(l.mfa_delete),this.isMfaDeleteAlreadyEnabled=this.isMfaDeleteEnabled,this.setMfaDeleteValidators())})})}goToListView(){this.router.navigate(["/rgw/bucket"])}submit(){if(this.bucketForm.pristine)return void this.goToListView();const l=this.bucketForm.value;if(this.editing){const n=this.getVersioningStatus(),u=this.getMfaDeleteStatus();this.rgwBucketService.update(l.bid,l.id,l.owner,n,u,l["mfa-token-serial"],l["mfa-token-pin"],l.lock_mode,l.lock_retention_period_days,l.lock_retention_period_years).subscribe(()=>{this.notificationService.show(y.a.success,this.i18n('Updated Object Gateway bucket "{{bid}}".',l)),this.goToListView()},()=>{this.bucketForm.setErrors({cdSubmitButton:!0})})}else this.rgwBucketService.create(l.bid,l.owner,this.zonegroup,l["placement-target"],l.lock_enabled,l.lock_mode,l.lock_retention_period_days,l.lock_retention_period_years).subscribe(()=>{this.notificationService.show(y.a.success,this.i18n('Created Object Gateway bucket "{{bid}}"',l)),this.goToListView()},()=>{this.bucketForm.setErrors({cdSubmitButton:!0})})}bucketNameValidator(){const l=this.rgwBucketService;return n=>new Promise(u=>{if(n.pristine||""===n.value)return void u(null);const e=[];e.push(l=>!I.a.ip()(l)),e.push(l=>r.inRange(l.length,3,64)),e.push(l=>{const n=r.split(l,".");return r.every(n,l=>l===r.toLower(l)&&!l.includes("_")&&!!/[0-9a-z-]/.test(l)&&r.every([0,l.length],n=>/[a-z]/.test(l[n])||r.isInteger(r.parseInt(l[n]))))}),r.every(e,l=>l(n.value))?l.exists(n.value).subscribe(l=>{u(l?{bucketNameExists:!0}:null)}):u({bucketNameInvalid:!0})})}areMfaCredentialsRequired(){return this.isMfaDeleteEnabled!==this.isMfaDeleteAlreadyEnabled||this.isMfaDeleteAlreadyEnabled&&this.isVersioningEnabled!==this.isVersioningAlreadyEnabled}setMfaDeleteValidators(){const l=this.bucketForm.get("mfa-token-serial"),n=this.bucketForm.get("mfa-token-pin");this.areMfaCredentialsRequired()?(l.setValidators(d.B.required),n.setValidators(d.B.required)):(l.setValidators(null),n.setValidators(null)),l.updateValueAndValidity(),n.updateValueAndValidity()}getVersioningStatus(){return this.isVersioningEnabled?q.ENABLED:q.SUSPENDED}setVersioningStatus(l){this.isVersioningEnabled=l===q.ENABLED}updateVersioning(){this.isVersioningEnabled=!this.isVersioningEnabled,this.setMfaDeleteValidators()}getMfaDeleteStatus(){return this.isMfaDeleteEnabled?E.ENABLED:E.DISABLED}setMfaDeleteStatus(l){this.isMfaDeleteEnabled=l===E.ENABLED}updateMfaDelete(){this.isMfaDeleteEnabled=!this.isMfaDeleteEnabled,this.setMfaDeleteValidators()}}var T=u("HDdC"),V=u("0+/T"),S=u("uIqm"),x=u("vCyI"),D=u("aexS"),F=u("EgGo");const j=new F.a("rgw/bucket");class B{constructor(l,n,u,e,t,i){this.authStorageService=l,this.rgwBucketService=n,this.bsModalService=u,this.i18n=e,this.urlBuilder=t,this.actionLabels=i,this.columns=[],this.buckets=[],this.selection=new x.a,this.permission=this.authStorageService.getPermissions().rgw,this.columns=[{name:this.i18n("Name"),prop:"bid",flexGrow:1},{name:this.i18n("Owner"),prop:"owner",flexGrow:1}];const o=()=>this.selection.first()&&`${encodeURIComponent(this.selection.first().bid)}`;this.tableActions=[{permission:"create",icon:k.a.add,routerLink:()=>this.urlBuilder.getCreate(),name:this.actionLabels.CREATE,canBePrimary:l=>!l.hasSelection},{permission:"update",icon:k.a.edit,routerLink:()=>this.urlBuilder.getEdit(o()),name:this.actionLabels.EDIT},{permission:"delete",icon:k.a.destroy,click:()=>this.deleteAction(),disable:()=>!this.selection.hasSelection,name:this.actionLabels.DELETE,canBePrimary:l=>l.hasMultiSelection}]}getBucketList(l){this.rgwBucketService.list().subscribe(l=>{this.buckets=l},()=>{l.error()})}updateSelection(l){this.selection=l}deleteAction(){this.bsModalService.show(V.a,{initialState:{itemDescription:this.i18n(this.selection.hasSingleSelection?"bucket":"buckets"),itemNames:this.selection.selected.map(l=>l.bid),submitActionObservable:()=>new T.a(l=>{Object(g.a)(this.selection.selected.map(l=>this.rgwBucketService.delete(l.bid))).subscribe(null,n=>{l.error(n),this.table.refreshBtn()},()=>{l.complete(),this.table.refreshBtn()})})}})}}let P=(()=>{let l=class{constructor(l){this.http=l,this.url="api/rgw/daemon"}list(){return this.http.get(this.url)}get(l){return this.http.get(`${this.url}/${l}`)}};return l.ngInjectableDef=e["ɵɵdefineInjectable"]({factory:function(){return new l(e["ɵɵinject"](m.c))},token:l,providedIn:b.a}),l=c.__decorate([v.a,c.__metadata("design:paramtypes",[m.c])],l),l})();var A=u("85J/");class M{constructor(l,n,u,e){this.rgwDaemonService=l,this.authStorageService=n,this.i18n=e,this.columns=[],this.daemons=[],this.selection=new x.a,this.grafanaPermission=this.authStorageService.getPermissions().grafana,this.columns=[{name:this.i18n("ID"),prop:"id",flexGrow:2},{name:this.i18n("Hostname"),prop:"server_hostname",flexGrow:2},{name:this.i18n("Version"),prop:"version",flexGrow:1,pipe:u}]}getDaemonList(l){this.rgwDaemonService.list().subscribe(l=>{this.daemons=l},()=>{l.error()})}updateSelection(l){this.selection=l}}var U=u("GyhO"),O=u("aXbf"),L=function(l){return l.USERS="users",l.BUCKETS="buckets",l.METADATA="metadata",l.USAGE="usage",l.ZONE="zone",l}({});let z=(()=>{class l{static getAll(){return Object.values(l.capabilities)}}return l.capabilities=L,l})();class G{constructor(l,n,u,t){this.formBuilder=l,this.bsModalRef=n,this.i18n=u,this.actionLabels=t,this.submitAction=new e.EventEmitter,this.editing=!0,this.types=[],this.resource=this.i18n("capability"),this.createForm()}createForm(){this.formGroup=this.formBuilder.group({type:[null,[d.B.required]],perm:[null,[d.B.required]]})}setEditing(l=!0){this.editing=l,this.action=this.editing?this.actionLabels.EDIT:this.actionLabels.ADD}setValues(l,n){this.formGroup.setValue({type:l,perm:n})}setCapabilities(l){const n=[];l.forEach(l=>{n.push(l.type)}),this.types=[],z.getAll().forEach(l=>{-1===r.indexOf(n,l)&&this.types.push(l)})}onSubmit(){this.submitAction.emit(this.formGroup.value),this.bsModalRef.hide()}}class K{constructor(l,n,u,t){this.formBuilder=l,this.bsModalRef=n,this.i18n=u,this.actionLabels=t,this.submitAction=new e.EventEmitter,this.viewing=!0,this.userCandidates=[],this.resource=this.i18n("S3 Key"),this.createForm()}createForm(){this.formGroup=this.formBuilder.group({user:[null,[d.B.required]],generate_key:[!0],access_key:[null,[I.a.requiredIf({generate_key:!1})]],secret_key:[null,[I.a.requiredIf({generate_key:!1})]]})}setViewing(l=!0){this.viewing=l,this.action=this.viewing?this.actionLabels.SHOW:this.actionLabels.CREATE}setValues(l,n,u){this.formGroup.setValue({user:l,generate_key:r.isEmpty(n),access_key:n,secret_key:u})}setUserCandidates(l){this.userCandidates=l}onSubmit(){this.submitAction.emit(this.formGroup.value),this.bsModalRef.hide()}}class ${}class Z{constructor(l,n,u,t){this.formBuilder=l,this.bsModalRef=n,this.i18n=u,this.actionLabels=t,this.submitAction=new e.EventEmitter,this.editing=!0,this.subusers=[],this.resource=this.i18n("Subuser"),this.createForm()}createForm(){this.formGroup=this.formBuilder.group({uid:[null],subuid:[null,[d.B.required,this.subuserValidator()]],perm:[null,[d.B.required]],generate_secret:[!0],secret_key:[null,[I.a.requiredIf({generate_secret:!1})]]})}subuserValidator(){const l=this;return n=>l.editing?null:Object(I.b)(n.value)?null:l.subusers.some(u=>r.isEqual(l.getSubuserName(u.id),n.value))?{subuserIdExists:!0}:null}getSubuserName(l){if(r.isEmpty(l))return l;const n=l.match(/([^:]+)(:(.+))?/);return r.isUndefined(n[3])?n[1]:n[3]}setEditing(l=!0){this.editing=l,this.action=this.editing?this.actionLabels.EDIT:this.actionLabels.CREATE}setValues(l,n="",u=""){this.formGroup.setValue({uid:l,subuid:this.getSubuserName(n),perm:u,generate_secret:!0,secret_key:null})}setSubusers(l){this.subusers=l}onSubmit(){const l=this.formGroup.value,n=new $;n.id=`${l.uid}:${l.subuid}`,n.permissions=l.perm,n.generate_secret=l.generate_secret,n.secret_key=l.secret_key,this.submitAction.emit(n),this.bsModalRef.hide()}}class H{constructor(l,n,u){this.bsModalRef=l,this.i18n=n,this.actionLabels=u,this.resource=this.i18n("Swift Key"),this.action=this.actionLabels.SHOW}setValues(l,n){this.user=l,this.secret_key=n}}class Q{constructor(l,n,u,e,t,i,o,a){this.formBuilder=l,this.route=n,this.router=u,this.rgwUserService=e,this.bsModalService=t,this.notificationService=i,this.i18n=o,this.actionLabels=a,this.editing=!1,this.error=!1,this.loading=!1,this.submitObservables=[],this.icons=k.a,this.subusers=[],this.s3Keys=[],this.swiftKeys=[],this.capabilities=[],this.resource=this.i18n("user"),this.subuserLabel=this.i18n("subuser"),this.s3keyLabel=this.i18n("S3 Key"),this.capabilityLabel=this.i18n("capability"),this.createForm()}createForm(){this.userForm=this.formBuilder.group({uid:[null,[d.B.required],[I.a.unique(this.rgwUserService.exists,this.rgwUserService)]],display_name:[null,[d.B.required]],email:[null,[I.a.email],[I.a.unique(this.rgwUserService.emailExists,this.rgwUserService)]],max_buckets_mode:[1],max_buckets:[1e3,[I.a.requiredIf({max_buckets_mode:"1"}),I.a.number(!1),d.B.min(1)]],suspended:[!1],generate_key:[!0],access_key:[null,[I.a.requiredIf({generate_key:!1})]],secret_key:[null,[I.a.requiredIf({generate_key:!1})]],user_quota_enabled:[!1],user_quota_max_size_unlimited:[!0],user_quota_max_size:[null,[I.a.composeIf({user_quota_enabled:!0,user_quota_max_size_unlimited:!1},[d.B.required,this.quotaMaxSizeValidator])]],user_quota_max_objects_unlimited:[!0],user_quota_max_objects:[null,[d.B.min(0),I.a.requiredIf({user_quota_enabled:!0,user_quota_max_objects_unlimited:!1})]],bucket_quota_enabled:[!1],bucket_quota_max_size_unlimited:[!0],bucket_quota_max_size:[null,[I.a.composeIf({bucket_quota_enabled:!0,bucket_quota_max_size_unlimited:!1},[d.B.required,this.quotaMaxSizeValidator])]],bucket_quota_max_objects_unlimited:[!0],bucket_quota_max_objects:[null,[d.B.min(0),I.a.requiredIf({bucket_quota_enabled:!0,bucket_quota_max_objects_unlimited:!1})]]})}ngOnInit(){this.editing=this.router.url.startsWith(`/rgw/user/${t.e.EDIT}`),this.action=this.editing?this.actionLabels.EDIT:this.actionLabels.CREATE,this.route.params.subscribe(l=>{if(!l.hasOwnProperty("uid"))return;const n=decodeURIComponent(l.uid);this.loading=!0;const u=[];u.push(this.rgwUserService.get(n)),u.push(this.rgwUserService.getQuota(n)),Object(g.a)(u).subscribe(l=>{this.loading=!1;const n=r.clone(this.userForm.value);let u=r.pick(l[0],r.keys(this.userForm.value));switch(u.max_buckets){case-1:u.max_buckets_mode=-1,u.max_buckets="";break;case 0:u.max_buckets_mode=0,u.max_buckets="";break;default:u.max_buckets_mode=1}["user","bucket"].forEach(n=>{const e=l[1][n+"_quota"];u[n+"_quota_enabled"]=e.enabled,e.max_size<0?(u[n+"_quota_max_size_unlimited"]=!0,u[n+"_quota_max_size"]=null):(u[n+"_quota_max_size_unlimited"]=!1,u[n+"_quota_max_size"]=`${e.max_size} B`),e.max_objects<0?(u[n+"_quota_max_objects_unlimited"]=!0,u[n+"_quota_max_objects"]=null):(u[n+"_quota_max_objects_unlimited"]=!1,u[n+"_quota_max_objects"]=e.max_objects)}),u=r.merge(n,u),this.userForm.setValue(u),this.subusers=l[0].subusers,this.s3Keys=l[0].keys,this.swiftKeys=l[0].swift_keys;const e={"read, write":"*"};l[0].caps.forEach(l=>{l.perm in e&&(l.perm=e[l.perm])}),this.capabilities=l[0].caps},l=>{this.error=l})})}goToListView(){this.router.navigate(["/rgw/user"])}onSubmit(){let l;if(this.userForm.pristine)return void this.goToListView();const n=this.userForm.getValue("uid");if(this.editing){if(this._isGeneralDirty()){const l=this._getUpdateArgs();this.submitObservables.push(this.rgwUserService.update(n,l))}l=this.i18n('Updated Object Gateway user "{{uid}}"',{uid:n})}else{const u=this._getCreateArgs();this.submitObservables.push(this.rgwUserService.create(u)),l=this.i18n('Created Object Gateway user "{{uid}}"',{uid:n})}if(this._isUserQuotaDirty()){const l=this._getUserQuotaArgs();this.submitObservables.push(this.rgwUserService.updateQuota(n,l))}if(this._isBucketQuotaDirty()){const l=this._getBucketQuotaArgs();this.submitObservables.push(this.rgwUserService.updateQuota(n,l))}Object(U.a)(...this.submitObservables).subscribe({error:()=>{this.userForm.setErrors({cdSubmitButton:!0})},complete:()=>{this.notificationService.show(y.a.success,l),this.goToListView()}})}quotaMaxSizeValidator(l){return Object(I.b)(l.value)?null:null===RegExp("^(\\d+(\\.\\d+)?)\\s*(B|K(B|iB)?|M(B|iB)?|G(B|iB)?|T(B|iB)?)?$","i").exec(l.value)?{quotaMaxSize:!0}:(new O.a).toBytes(l.value)<1024?{quotaMaxSize:!0}:null}setSubuser(l,n){const u={"full-control":"full","read-write":"readwrite"},e=this.userForm.getValue("uid");this.submitObservables.push(this.rgwUserService.createSubuser(e,{subuser:l.id,access:l.permissions in u?u[l.permissions]:l.permissions,key_type:"swift",secret_key:l.secret_key,generate_secret:l.generate_secret?"true":"false"})),r.isNumber(n)?this.subusers[n]=l:(this.subusers.push(l),this.swiftKeys.push({user:l.id,secret_key:l.generate_secret?"Apply your changes first...":l.secret_key})),this.userForm.markAsDirty()}deleteSubuser(l){const n=this.subusers[l];this.submitObservables.push(this.rgwUserService.deleteSubuser(this.userForm.getValue("uid"),n.id)),this.s3Keys=this.s3Keys.filter(l=>l.user!==n.id),this.swiftKeys=this.swiftKeys.filter(l=>l.user!==n.id),this.subusers.splice(l,1),this.userForm.markAsDirty()}setCapability(l,n){const u=this.userForm.getValue("uid");if(r.isNumber(n)){const e=this.capabilities[n];this.submitObservables.push(this.rgwUserService.deleteCapability(u,e.type,e.perm)),this.submitObservables.push(this.rgwUserService.addCapability(u,l.type,l.perm)),this.capabilities[n]=l}else this.submitObservables.push(this.rgwUserService.addCapability(u,l.type,l.perm)),this.capabilities.push(l);this.userForm.markAsDirty()}deleteCapability(l){const n=this.capabilities[l];this.submitObservables.push(this.rgwUserService.deleteCapability(this.userForm.getValue("uid"),n.type,n.perm)),this.capabilities.splice(l,1),this.userForm.markAsDirty()}hasAllCapabilities(){return!r.difference(z.getAll(),r.map(this.capabilities,"type")).length}setS3Key(l,n){if(r.isNumber(n));else{const n=l.user.match(/([^:]+)(:(.+))?/),u=n[1],e={subuser:n[2]?n[3]:"",generate_key:l.generate_key?"true":"false"};"false"===e.generate_key&&(r.isNil(l.access_key)||(e.access_key=l.access_key),r.isNil(l.secret_key)||(e.secret_key=l.secret_key)),this.submitObservables.push(this.rgwUserService.addS3Key(u,e)),this.s3Keys.push({user:l.user,access_key:l.generate_key?"Apply your changes first...":l.access_key,secret_key:l.generate_key?"Apply your changes first...":l.secret_key})}this.userForm.markAsDirty()}deleteS3Key(l){const n=this.s3Keys[l];this.submitObservables.push(this.rgwUserService.deleteS3Key(this.userForm.getValue("uid"),n.access_key)),this.s3Keys.splice(l,1),this.userForm.markAsDirty()}showSubuserModal(l){const n=this.userForm.getValue("uid"),u=this.bsModalService.show(Z);if(r.isNumber(l)){const e=this.subusers[l];u.content.setEditing(),u.content.setValues(n,e.id,e.permissions)}else u.content.setEditing(!1),u.content.setValues(n),u.content.setSubusers(this.subusers);u.content.submitAction.subscribe(n=>{this.setSubuser(n,l)})}showS3KeyModal(l){const n=this.bsModalService.show(K);if(r.isNumber(l)){const u=this.s3Keys[l];n.content.setViewing(),n.content.setValues(u.user,u.access_key,u.secret_key)}else{const l=this._getS3KeyUserCandidates();n.content.setViewing(!1),n.content.setUserCandidates(l),n.content.submitAction.subscribe(l=>{this.setS3Key(l)})}}showSwiftKeyModal(l){const n=this.bsModalService.show(H),u=this.swiftKeys[l];n.content.setValues(u.user,u.secret_key)}showCapabilityModal(l){const n=this.bsModalService.show(G);if(r.isNumber(l)){const u=this.capabilities[l];n.content.setEditing(),n.content.setValues(u.type,u.perm)}else n.content.setEditing(!1),n.content.setCapabilities(this.capabilities);n.content.submitAction.subscribe(n=>{this.setCapability(n,l)})}_isGeneralDirty(){return["display_name","email","max_buckets_mode","max_buckets","suspended"].some(l=>this.userForm.get(l).dirty)}_isUserQuotaDirty(){return["user_quota_enabled","user_quota_max_size_unlimited","user_quota_max_size","user_quota_max_objects_unlimited","user_quota_max_objects"].some(l=>this.userForm.get(l).dirty)}_isBucketQuotaDirty(){return["bucket_quota_enabled","bucket_quota_max_size_unlimited","bucket_quota_max_size","bucket_quota_max_objects_unlimited","bucket_quota_max_objects"].some(l=>this.userForm.get(l).dirty)}_getCreateArgs(){const l={uid:this.userForm.getValue("uid"),display_name:this.userForm.getValue("display_name"),suspended:this.userForm.getValue("suspended"),email:"",max_buckets:this.userForm.getValue("max_buckets"),generate_key:this.userForm.getValue("generate_key"),access_key:"",secret_key:""},n=this.userForm.getValue("email");r.isString(n)&&n.length>0&&r.merge(l,{email:n}),this.userForm.getValue("generate_key")||r.merge(l,{generate_key:!1,access_key:this.userForm.getValue("access_key"),secret_key:this.userForm.getValue("secret_key")});const u=parseInt(this.userForm.getValue("max_buckets_mode"),10);return r.includes([-1,0],u)&&r.merge(l,{max_buckets:u}),l}_getUpdateArgs(){const l={},n=["display_name","email","max_buckets","suspended"];for(const e of n)l[e]=this.userForm.getValue(e);const u=parseInt(this.userForm.getValue("max_buckets_mode"),10);return r.includes([-1,0],u)&&(l.max_buckets=u),l}_getUserQuotaArgs(){const l={quota_type:"user",enabled:this.userForm.getValue("user_quota_enabled"),max_size_kb:-1,max_objects:-1};if(!this.userForm.getValue("user_quota_max_size_unlimited")){const n=(new O.a).toBytes(this.userForm.getValue("user_quota_max_size"));l.max_size_kb=(n/1024).toFixed(0)}return this.userForm.getValue("user_quota_max_objects_unlimited")||(l.max_objects=this.userForm.getValue("user_quota_max_objects")),l}_getBucketQuotaArgs(){const l={quota_type:"bucket",enabled:this.userForm.getValue("bucket_quota_enabled"),max_size_kb:-1,max_objects:-1};if(!this.userForm.getValue("bucket_quota_max_size_unlimited")){const n=(new O.a).toBytes(this.userForm.getValue("bucket_quota_max_size"));l.max_size_kb=(n/1024).toFixed(0)}return this.userForm.getValue("bucket_quota_max_objects_unlimited")||(l.max_objects=this.userForm.getValue("bucket_quota_max_objects")),l}_getS3KeyUserCandidates(){let l=[];const n=this.userForm.getValue("uid");return r.isString(n)&&!r.isEmpty(n)&&l.push(n),this.subusers.forEach(n=>{l.push(n.id)}),this.s3Keys.forEach(n=>{l.push(n.user)}),l=r.uniq(l),l}}var Y=u("x38r");const W=new F.a("rgw/user");class J{constructor(l,n,u,e,t,i){this.authStorageService=l,this.rgwUserService=n,this.bsModalService=u,this.i18n=e,this.urlBuilder=t,this.actionLabels=i,this.columns=[],this.users=[],this.selection=new x.a,this.permission=this.authStorageService.getPermissions().rgw,this.columns=[{name:this.i18n("Username"),prop:"uid",flexGrow:1},{name:this.i18n("Full name"),prop:"display_name",flexGrow:1},{name:this.i18n("Email address"),prop:"email",flexGrow:1},{name:this.i18n("Suspended"),prop:"suspended",flexGrow:1,cellClass:"text-center",cellTransformation:Y.a.checkIcon},{name:this.i18n("Max. buckets"),prop:"max_buckets",flexGrow:1,cellTransformation:Y.a.map,customTemplateConfig:{"-1":this.i18n("Disabled"),0:this.i18n("Unlimited")}}];const o=()=>this.selection.first()&&`${encodeURIComponent(this.selection.first().uid)}`;this.tableActions=[{permission:"create",icon:k.a.add,routerLink:()=>this.urlBuilder.getCreate(),name:this.actionLabels.CREATE,canBePrimary:l=>!l.hasSelection},{permission:"update",icon:k.a.edit,routerLink:()=>this.urlBuilder.getEdit(o()),name:this.actionLabels.EDIT},{permission:"delete",icon:k.a.destroy,click:()=>this.deleteAction(),disable:()=>!this.selection.hasSelection,name:this.actionLabels.DELETE,canBePrimary:l=>l.hasMultiSelection}]}getUserList(l){this.rgwUserService.list().subscribe(l=>{this.users=l},()=>{l.error()})}updateSelection(l){this.selection=l}deleteAction(){this.bsModalService.show(V.a,{initialState:{itemDescription:this.i18n(this.selection.hasSingleSelection?"user":"users"),itemNames:this.selection.selected.map(l=>l.uid),submitActionObservable:()=>new T.a(l=>{Object(g.a)(this.selection.selected.map(l=>this.rgwUserService.delete(l.uid))).subscribe(null,n=>{l.error(n),this.table.refreshBtn()},()=>{l.complete(),this.table.refreshBtn()})})}})}}class X{}const ll={breadcrumbs:"Daemons"},nl={breadcrumbs:"Users"},ul={breadcrumbs:t.a.CREATE},el={breadcrumbs:t.a.EDIT},tl={breadcrumbs:"Buckets"},il={breadcrumbs:t.a.CREATE},ol={breadcrumbs:t.a.EDIT},al={breadcrumbs:"Object Gateway"};class sl{}var dl=u("MdoF"),rl=u("ES0t"),cl=u("Xg1U"),ml=u("z5nN"),gl=u("iutN"),pl=u("pMnS"),fl=u("EEJc"),vl=u("PEr+"),bl=u("a40w"),hl=u("hfeG"),Cl=u("2ZVE"),_l=u("a278"),kl=u("insk"),yl=u("cUpR"),Rl=u("20UP"),Il=u("GiVz"),wl=u("pKUh"),El=u("sLuX"),ql=u("FSuO"),Nl=u("a0VL"),Tl=u("j8L6"),Vl=u("b5OY"),Sl=u("pxLl"),xl=u("SVse");class Dl{constructor(l,n){this.rgwDaemonService=l,this.authStorageService=n,this.serviceId="",this.grafanaPermission=this.authStorageService.getPermissions().grafana}ngOnChanges(){this.selection.hasSelection&&(this.serviceId=this.selection.first().id)}getMetaData(){r.isEmpty(this.serviceId)||this.rgwDaemonService.get(this.serviceId).subscribe(l=>{this.metadata=l.rgw_metadata})}}var Fl=e["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function jl(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"tab",[["heading","Performance Details"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),e["ɵdid"](1,212992,null,0,Cl.b,[Cl.e,e.ElementRef,e.Renderer2],{heading:[0,"heading"]},null),(l()(),e["ɵeld"](2,0,null,null,1,"cd-grafana",[["grafanaStyle","one"],["uid","x5ARzZtmk"]],null,null,null,_l.b,_l.a)),e["ɵdid"](3,638976,null,0,kl.a,[a.a,yl.b,Rl.a,o.a,Il.a],{grafanaPath:[0,"grafanaPath"],grafanaStyle:[1,"grafanaStyle"],uid:[2,"uid"]},null)],(function(l,n){var u=n.component;l(n,1,0,"Performance Details"),l(n,3,0,"rgw-instance-detail?var-rgw_servers=rgw."+u.selection.first().id,"one","x5ARzZtmk")}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).id,e["ɵnov"](n,1).active,e["ɵnov"](n,1).addClass)}))}function Bl(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,11,"tabset",[],[[2,"tab-container",null]],null,null,wl.b,wl.a)),e["ɵdid"](1,180224,null,0,Cl.e,[Cl.f,e.Renderer2,e.ElementRef],null,null),(l()(),e["ɵeld"](2,0,null,0,3,"tab",[["heading","Details"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),e["ɵdid"](3,212992,null,0,Cl.b,[Cl.e,e.ElementRef,e.Renderer2],{heading:[0,"heading"]},null),(l()(),e["ɵeld"](4,0,null,null,1,"cd-table-key-value",[],null,[[null,"fetchData"]],(function(l,n,u){var e=!0;return"fetchData"===n&&(e=!1!==l.component.getMetaData()&&e),e}),El.b,El.a)),e["ɵdid"](5,638976,null,0,ql.a,[Nl.a],{data:[0,"data"]},{fetchData:"fetchData"}),(l()(),e["ɵeld"](6,0,null,0,3,"tab",[["heading","Performance Counters"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),e["ɵdid"](7,212992,null,0,Cl.b,[Cl.e,e.ElementRef,e.Renderer2],{heading:[0,"heading"]},null),(l()(),e["ɵeld"](8,0,null,null,1,"cd-table-performance-counter",[["serviceType","rgw"]],null,null,null,Tl.b,Tl.a)),e["ɵdid"](9,114688,null,0,Vl.a,[Sl.a,Il.a],{serviceType:[0,"serviceType"],serviceId:[1,"serviceId"]},null),(l()(),e["ɵand"](16777216,null,0,1,null,jl)),e["ɵdid"](11,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,3,0,"Details"),l(n,5,0,u.metadata),l(n,7,0,"Performance Counters"),l(n,9,0,"rgw",u.serviceId),l(n,11,0,u.grafanaPermission.read)}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).clazz),l(n,2,0,e["ɵnov"](n,3).id,e["ɵnov"](n,3).active,e["ɵnov"](n,3).addClass),l(n,6,0,e["ɵnov"](n,7).id,e["ɵnov"](n,7).active,e["ɵnov"](n,7).addClass)}))}function Pl(l){return e["ɵvid"](0,[(l()(),e["ɵand"](16777216,null,null,1,null,Bl)),e["ɵdid"](1,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){l(n,1,0,n.component.selection.hasSingleSelection)}),null)}function Al(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"cd-rgw-daemon-details",[],null,null,null,Pl,Fl)),e["ɵdid"](1,573440,null,0,Dl,[P,D.a],null,null)],null,null)}var Ml=e["ɵccf"]("cd-rgw-daemon-details",Dl,Al,{selection:"selection"},{},[]),Ul=u("iExv"),Ol=u("o4+5");class Ll{constructor(){}ngOnChanges(){this.selection.hasSelection&&(this.bucket=this.selection.first())}}var zl=e["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Gl(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Unlimited"]))],null,null)}function Kl(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](1,null,[" "," "])),e["ɵppd"](2,1)],null,(function(l,n){var u=n.component,t=e["ɵunv"](n,1,0,l(n,2,0,e["ɵnov"](n.parent.parent.parent.parent,2),u.bucket.bucket_quota.max_size));l(n,1,0,t)}))}function $l(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Unlimited"]))],null,null)}function Zl(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](1,null,[" "," "]))],null,(function(l,n){l(n,1,0,n.component.bucket.bucket_quota.max_objects)}))}function Hl(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,24,"div",[],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,"legend",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Bucket quota"])),(l()(),e["ɵeld"](3,0,null,null,21,"table",[["class","table table-striped table-bordered"]],null,null,null,null,null)),(l()(),e["ɵeld"](4,0,null,null,20,"tbody",[],null,null,null,null,null)),(l()(),e["ɵeld"](5,0,null,null,5,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](6,0,null,null,1,"td",[["class","bold w-25"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Enabled"])),(l()(),e["ɵeld"](8,0,null,null,2,"td",[["class","w-75"]],null,null,null,null,null)),(l()(),e["ɵted"](9,null,["",""])),e["ɵppd"](10,1),(l()(),e["ɵeld"](11,0,null,null,6,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](12,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Maximum size"])),(l()(),e["ɵand"](16777216,null,null,1,null,Gl)),e["ɵdid"](15,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Kl)),e["ɵdid"](17,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](18,0,null,null,6,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](19,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Maximum objects"])),(l()(),e["ɵand"](16777216,null,null,1,null,$l)),e["ɵdid"](22,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Zl)),e["ɵdid"](24,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,15,0,u.bucket.bucket_quota.max_size<=-1),l(n,17,0,u.bucket.bucket_quota.max_size>-1),l(n,22,0,u.bucket.bucket_quota.max_objects<=-1),l(n,24,0,u.bucket.bucket_quota.max_objects>-1)}),(function(l,n){var u=n.component,t=e["ɵunv"](n,9,0,l(n,10,0,e["ɵnov"](n.parent.parent.parent,1),u.bucket.bucket_quota.enabled));l(n,9,0,t)}))}function Ql(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,15,null,null,null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,4,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](2,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Mode"])),(l()(),e["ɵeld"](4,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](5,null,["",""])),(l()(),e["ɵeld"](6,0,null,null,4,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](7,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Days"])),(l()(),e["ɵeld"](9,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](10,null,["",""])),(l()(),e["ɵeld"](11,0,null,null,4,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](12,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Years"])),(l()(),e["ɵeld"](14,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](15,null,["",""]))],null,(function(l,n){var u=n.component;l(n,5,0,u.bucket.lock_mode),l(n,10,0,u.bucket.lock_retention_period_days),l(n,15,0,u.bucket.lock_retention_period_years)}))}function Yl(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,82,"div",[],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,67,"table",[["class","table table-striped table-bordered"]],null,null,null,null,null)),(l()(),e["ɵeld"](2,0,null,null,66,"tbody",[],null,null,null,null,null)),(l()(),e["ɵeld"](3,0,null,null,4,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](4,0,null,null,1,"td",[["class","bold w-25"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Name"])),(l()(),e["ɵeld"](6,0,null,null,1,"td",[["class","w-75"]],null,null,null,null,null)),(l()(),e["ɵted"](7,null,["",""])),(l()(),e["ɵeld"](8,0,null,null,4,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](9,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["ID"])),(l()(),e["ɵeld"](11,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](12,null,["",""])),(l()(),e["ɵeld"](13,0,null,null,4,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](14,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Owner"])),(l()(),e["ɵeld"](16,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](17,null,["",""])),(l()(),e["ɵeld"](18,0,null,null,4,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](19,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Index type"])),(l()(),e["ɵeld"](21,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](22,null,["",""])),(l()(),e["ɵeld"](23,0,null,null,4,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](24,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Placement rule"])),(l()(),e["ɵeld"](26,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](27,null,["",""])),(l()(),e["ɵeld"](28,0,null,null,4,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](29,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Marker"])),(l()(),e["ɵeld"](31,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](32,null,["",""])),(l()(),e["ɵeld"](33,0,null,null,4,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](34,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Maximum marker"])),(l()(),e["ɵeld"](36,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](37,null,["",""])),(l()(),e["ɵeld"](38,0,null,null,4,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](39,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Version"])),(l()(),e["ɵeld"](41,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](42,null,["",""])),(l()(),e["ɵeld"](43,0,null,null,4,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](44,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Master version"])),(l()(),e["ɵeld"](46,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](47,null,["",""])),(l()(),e["ɵeld"](48,0,null,null,5,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](49,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Modification time"])),(l()(),e["ɵeld"](51,0,null,null,2,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](52,null,["",""])),e["ɵppd"](53,1),(l()(),e["ɵeld"](54,0,null,null,4,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](55,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Zonegroup"])),(l()(),e["ɵeld"](57,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](58,null,["",""])),(l()(),e["ɵeld"](59,0,null,null,4,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](60,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Versioning"])),(l()(),e["ɵeld"](62,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](63,null,["",""])),(l()(),e["ɵeld"](64,0,null,null,4,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](65,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["MFA Delete"])),(l()(),e["ɵeld"](67,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](68,null,["",""])),(l()(),e["ɵand"](16777216,null,null,1,null,Hl)),e["ɵdid"](70,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](71,0,null,null,1,"legend",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Locking"])),(l()(),e["ɵeld"](73,0,null,null,9,"table",[["class","table table-striped table-bordered"]],null,null,null,null,null)),(l()(),e["ɵeld"](74,0,null,null,8,"tbody",[],null,null,null,null,null)),(l()(),e["ɵeld"](75,0,null,null,5,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](76,0,null,null,1,"td",[["class","bold w-25"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Enabled"])),(l()(),e["ɵeld"](78,0,null,null,2,"td",[["class","w-75"]],null,null,null,null,null)),(l()(),e["ɵted"](79,null,["",""])),e["ɵppd"](80,1),(l()(),e["ɵand"](16777216,null,null,1,null,Ql)),e["ɵdid"](82,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,70,0,u.bucket.bucket_quota),l(n,82,0,u.bucket.lock_enabled)}),(function(l,n){var u=n.component;l(n,7,0,u.bucket.bid),l(n,12,0,u.bucket.id),l(n,17,0,u.bucket.owner),l(n,22,0,u.bucket.index_type),l(n,27,0,u.bucket.placement_rule),l(n,32,0,u.bucket.marker),l(n,37,0,u.bucket.max_marker),l(n,42,0,u.bucket.ver),l(n,47,0,u.bucket.master_ver);var t=e["ɵunv"](n,52,0,l(n,53,0,e["ɵnov"](n.parent.parent,0),u.bucket.mtime));l(n,52,0,t),l(n,58,0,u.bucket.zonegroup),l(n,63,0,u.bucket.versioning),l(n,68,0,u.bucket.mfa_delete);var i=e["ɵunv"](n,79,0,l(n,80,0,e["ɵnov"](n.parent.parent,1),u.bucket.lock_enabled));l(n,79,0,i)}))}function Wl(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,5,"tabset",[],[[2,"tab-container",null]],null,null,wl.b,wl.a)),e["ɵdid"](1,180224,null,0,Cl.e,[Cl.f,e.Renderer2,e.ElementRef],null,null),(l()(),e["ɵeld"](2,0,null,0,3,"tab",[["heading","Details"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),e["ɵdid"](3,212992,null,0,Cl.b,[Cl.e,e.ElementRef,e.Renderer2],{heading:[0,"heading"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Yl)),e["ɵdid"](5,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,3,0,"Details"),l(n,5,0,u.bucket)}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).clazz),l(n,2,0,e["ɵnov"](n,3).id,e["ɵnov"](n,3).active,e["ɵnov"](n,3).addClass)}))}function Jl(l){return e["ɵvid"](0,[e["ɵpid"](0,Nl.a,[xl.DatePipe]),e["ɵpid"](0,Ul.a,[Il.a]),e["ɵpid"](0,Ol.a,[O.a]),(l()(),e["ɵand"](16777216,null,null,1,null,Wl)),e["ɵdid"](4,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){l(n,4,0,n.component.selection.hasSingleSelection)}),null)}function Xl(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"cd-rgw-bucket-details",[],null,null,null,Jl,zl)),e["ɵdid"](1,573440,null,0,Ll,[],null,null)],null,null)}var ln=e["ɵccf"]("cd-rgw-bucket-details",Ll,Xl,{selection:"selection"},{},[]),nn=u("25BL"),un=u("FE24"),en=u("z/SZ"),tn=u("TJUb"),on=u("Fgil");class an{constructor(l,n,u){this.rgwUserService=l,this.bsModalService=n,this.i18n=u,this.keys=[],this.keysColumns=[],this.keysSelection=new x.a,this.icons=k.a}ngOnInit(){this.keysColumns=[{name:this.i18n("Username"),prop:"username",flexGrow:1},{name:this.i18n("Type"),prop:"type",flexGrow:1}],this.maxBucketsMap={"-1":this.i18n("Disabled"),0:this.i18n("Unlimited")}}ngOnChanges(){this.selection.hasSelection&&(this.user=this.selection.first(),this.user.subusers=r.sortBy(this.user.subusers,"id"),this.user.caps=r.sortBy(this.user.caps,"type"),this.rgwUserService.getQuota(this.user.uid).subscribe(l=>{r.extend(this.user,l)}),this.keys=[],this.user.keys&&this.user.keys.forEach(l=>{this.keys.push({id:this.keys.length+1,type:"S3",username:l.user,ref:l})}),this.user.swift_keys&&this.user.swift_keys.forEach(l=>{this.keys.push({id:this.keys.length+1,type:"Swift",username:l.user,ref:l})}),this.keys=r.sortBy(this.keys,"user"))}updateKeysSelection(l){this.keysSelection=l}showKeyModal(){const l=this.keysSelection.first(),n=this.bsModalService.show("S3"===l.type?K:H);switch(l.type){case"S3":n.content.setViewing(),n.content.setValues(l.ref.user,l.ref.access_key,l.ref.secret_key);break;case"Swift":n.content.setValues(l.ref.user,l.ref.secret_key)}}}var sn=u("LqlI"),dn=e["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function rn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,4,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Email address"])),(l()(),e["ɵeld"](3,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](4,null,["",""]))],null,(function(l,n){l(n,4,0,n.component.user.email)}))}function cn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"div",[],null,null,null,null,null)),(l()(),e["ɵted"](1,null,[" "," (",") "]))],null,(function(l,n){l(n,1,0,n.context.$implicit.id,n.context.$implicit.permissions)}))}function mn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,5,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Subusers"])),(l()(),e["ɵeld"](3,0,null,null,2,"td",[],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,cn)),e["ɵdid"](5,278528,null,0,xl.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(l,n){l(n,5,0,n.component.user.subusers)}),null)}function gn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"div",[],null,null,null,null,null)),(l()(),e["ɵted"](1,null,[" "," (",") "]))],null,(function(l,n){l(n,1,0,n.context.$implicit.type,n.context.$implicit.perm)}))}function pn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,5,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Capabilities"])),(l()(),e["ɵeld"](3,0,null,null,2,"td",[],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,gn)),e["ɵdid"](5,278528,null,0,xl.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(l,n){l(n,5,0,n.component.user.caps)}),null)}function fn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["-"]))],null,null)}function vn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Unlimited"]))],null,null)}function bn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](1,null,[" "," "])),e["ɵppd"](2,1)],null,(function(l,n){var u=n.component,t=e["ɵunv"](n,1,0,l(n,2,0,e["ɵnov"](n.parent.parent.parent.parent,2),u.user.user_quota.max_size));l(n,1,0,t)}))}function hn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["-"]))],null,null)}function Cn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Unlimited"]))],null,null)}function _n(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](1,null,[" "," "]))],null,(function(l,n){l(n,1,0,n.component.user.user_quota.max_objects)}))}function kn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,28,"div",[],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,"legend",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["User quota"])),(l()(),e["ɵeld"](3,0,null,null,25,"table",[["class","table table-striped table-bordered"]],null,null,null,null,null)),(l()(),e["ɵeld"](4,0,null,null,24,"tbody",[],null,null,null,null,null)),(l()(),e["ɵeld"](5,0,null,null,5,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](6,0,null,null,1,"td",[["class","bold w-25"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Enabled"])),(l()(),e["ɵeld"](8,0,null,null,2,"td",[["class","w-75"]],null,null,null,null,null)),(l()(),e["ɵted"](9,null,["",""])),e["ɵppd"](10,1),(l()(),e["ɵeld"](11,0,null,null,8,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](12,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Maximum size"])),(l()(),e["ɵand"](16777216,null,null,1,null,fn)),e["ɵdid"](15,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,vn)),e["ɵdid"](17,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,bn)),e["ɵdid"](19,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](20,0,null,null,8,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](21,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Maximum objects"])),(l()(),e["ɵand"](16777216,null,null,1,null,hn)),e["ɵdid"](24,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Cn)),e["ɵdid"](26,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,_n)),e["ɵdid"](28,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,15,0,!u.user.user_quota.enabled),l(n,17,0,u.user.user_quota.enabled&&u.user.user_quota.max_size<=-1),l(n,19,0,u.user.user_quota.enabled&&u.user.user_quota.max_size>-1),l(n,24,0,!u.user.user_quota.enabled),l(n,26,0,u.user.user_quota.enabled&&u.user.user_quota.max_objects<=-1),l(n,28,0,u.user.user_quota.enabled&&u.user.user_quota.max_objects>-1)}),(function(l,n){var u=n.component,t=e["ɵunv"](n,9,0,l(n,10,0,e["ɵnov"](n.parent.parent.parent,0),u.user.user_quota.enabled));l(n,9,0,t)}))}function yn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["-"]))],null,null)}function Rn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Unlimited"]))],null,null)}function In(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](1,null,[" "," "])),e["ɵppd"](2,1)],null,(function(l,n){var u=n.component,t=e["ɵunv"](n,1,0,l(n,2,0,e["ɵnov"](n.parent.parent.parent.parent,2),u.user.bucket_quota.max_size));l(n,1,0,t)}))}function wn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["-"]))],null,null)}function En(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Unlimited"]))],null,null)}function qn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](1,null,[" "," "]))],null,(function(l,n){l(n,1,0,n.component.user.bucket_quota.max_objects)}))}function Nn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,28,"div",[],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,"legend",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Bucket quota"])),(l()(),e["ɵeld"](3,0,null,null,25,"table",[["class","table table-striped table-bordered"]],null,null,null,null,null)),(l()(),e["ɵeld"](4,0,null,null,24,"tbody",[],null,null,null,null,null)),(l()(),e["ɵeld"](5,0,null,null,5,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](6,0,null,null,1,"td",[["class","bold w-25"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Enabled"])),(l()(),e["ɵeld"](8,0,null,null,2,"td",[["class","w-75"]],null,null,null,null,null)),(l()(),e["ɵted"](9,null,["",""])),e["ɵppd"](10,1),(l()(),e["ɵeld"](11,0,null,null,8,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](12,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Maximum size"])),(l()(),e["ɵand"](16777216,null,null,1,null,yn)),e["ɵdid"](15,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Rn)),e["ɵdid"](17,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,In)),e["ɵdid"](19,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](20,0,null,null,8,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](21,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Maximum objects"])),(l()(),e["ɵand"](16777216,null,null,1,null,wn)),e["ɵdid"](24,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,En)),e["ɵdid"](26,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,qn)),e["ɵdid"](28,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,15,0,!u.user.bucket_quota.enabled),l(n,17,0,u.user.bucket_quota.enabled&&u.user.bucket_quota.max_size<=-1),l(n,19,0,u.user.bucket_quota.enabled&&u.user.bucket_quota.max_size>-1),l(n,24,0,!u.user.bucket_quota.enabled),l(n,26,0,u.user.bucket_quota.enabled&&u.user.bucket_quota.max_objects<=-1),l(n,28,0,u.user.bucket_quota.enabled&&u.user.bucket_quota.max_objects>-1)}),(function(l,n){var u=n.component,t=e["ɵunv"](n,9,0,l(n,10,0,e["ɵnov"](n.parent.parent.parent,0),u.user.bucket_quota.enabled));l(n,9,0,t)}))}function Tn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,40,"div",[],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,35,"table",[["class","table table-striped table-bordered"]],null,null,null,null,null)),(l()(),e["ɵeld"](2,0,null,null,34,"tbody",[],null,null,null,null,null)),(l()(),e["ɵeld"](3,0,null,null,4,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](4,0,null,null,1,"td",[["class","bold w-25"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Username"])),(l()(),e["ɵeld"](6,0,null,null,1,"td",[["class","w-75"]],null,null,null,null,null)),(l()(),e["ɵted"](7,null,["",""])),(l()(),e["ɵeld"](8,0,null,null,4,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](9,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Full name"])),(l()(),e["ɵeld"](11,0,null,null,1,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](12,null,["",""])),(l()(),e["ɵand"](16777216,null,null,1,null,rn)),e["ɵdid"](14,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](15,0,null,null,5,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](16,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Suspended"])),(l()(),e["ɵeld"](18,0,null,null,2,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](19,null,["",""])),e["ɵppd"](20,1),(l()(),e["ɵeld"](21,0,null,null,5,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](22,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["System"])),(l()(),e["ɵeld"](24,0,null,null,2,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](25,null,["",""])),e["ɵppd"](26,1),(l()(),e["ɵeld"](27,0,null,null,5,"tr",[],null,null,null,null,null)),(l()(),e["ɵeld"](28,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Maximum buckets"])),(l()(),e["ɵeld"](30,0,null,null,2,"td",[],null,null,null,null,null)),(l()(),e["ɵted"](31,null,["",""])),e["ɵppd"](32,2),(l()(),e["ɵand"](16777216,null,null,1,null,mn)),e["ɵdid"](34,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,pn)),e["ɵdid"](36,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,kn)),e["ɵdid"](38,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Nn)),e["ɵdid"](40,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,14,0,null==u.user.email?null:u.user.email.length),l(n,34,0,u.user.subusers&&u.user.subusers.length),l(n,36,0,u.user.caps&&u.user.caps.length),l(n,38,0,u.user.user_quota),l(n,40,0,u.user.bucket_quota)}),(function(l,n){var u=n.component;l(n,7,0,u.user.uid),l(n,12,0,u.user.display_name);var t=e["ɵunv"](n,19,0,l(n,20,0,e["ɵnov"](n.parent.parent,0),u.user.suspended));l(n,19,0,t);var i=e["ɵunv"](n,25,0,l(n,26,0,e["ɵnov"](n.parent.parent,0),"true"===u.user.system));l(n,25,0,i);var o=e["ɵunv"](n,31,0,l(n,32,0,e["ɵnov"](n.parent.parent,1),u.user.max_buckets,u.maxBucketsMap));l(n,31,0,o)}))}function Vn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,14,"tab",[["heading","Keys"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),e["ɵdid"](1,212992,null,0,Cl.b,[Cl.e,e.ElementRef,e.Renderer2],{heading:[0,"heading"]},null),(l()(),e["ɵeld"](2,0,null,null,12,"cd-table",[["columnMode","flex"],["forceIdentifier","true"],["selectionType","multi"]],null,[[null,"updateSelection"]],(function(l,n,u){var e=!0;return"updateSelection"===n&&(e=!1!==l.component.updateKeysSelection(u)&&e),e}),nn.b,nn.a)),e["ɵdid"](3,2867200,null,0,S.a,[e.NgZone,e.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],forceIdentifier:[3,"forceIdentifier"],selectionType:[4,"selectionType"]},{updateSelection:"updateSelection"}),(l()(),e["ɵeld"](4,0,null,1,10,"div",[["class","table-actions"]],null,null,null,null,null)),(l()(),e["ɵeld"](5,16777216,null,null,9,"div",[["class","btn-group"],["dropdown",""]],[[2,"dropup",null],[2,"open",null],[2,"show",null]],null,null,null,null)),e["ɵprd"](512,null,un.f,un.f,[]),e["ɵdid"](7,212992,null,0,un.c,[e.ElementRef,e.Renderer2,e.ViewContainerRef,en.a,un.a,un.f],null,null),(l()(),e["ɵeld"](8,0,null,null,6,"button",[["class","btn btn-secondary"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(e=!1!==l.component.showKeyModal()&&e),e}),null,null)),(l()(),e["ɵeld"](9,0,null,null,3,"i",[],null,null,null,null,null)),e["ɵprd"](512,null,xl["ɵNgClassImpl"],xl["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](11,278528,null,0,xl.NgClass,[xl["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](12,1),(l()(),e["ɵeld"](13,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Show"]))],(function(l,n){var u=n.component;l(n,1,0,"Keys"),l(n,3,0,u.keys,u.keysColumns,"flex","true","multi"),l(n,7,0);var e=l(n,12,0,u.icons.show);l(n,11,0,e)}),(function(l,n){var u=n.component;l(n,0,0,e["ɵnov"](n,1).id,e["ɵnov"](n,1).active,e["ɵnov"](n,1).addClass),l(n,5,0,e["ɵnov"](n,7).dropup,e["ɵnov"](n,7).isOpen,e["ɵnov"](n,7).isOpen&&e["ɵnov"](n,7).isBs4),l(n,8,0,!u.keysSelection.hasSingleSelection)}))}function Sn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,7,"tabset",[],[[2,"tab-container",null]],null,null,wl.b,wl.a)),e["ɵdid"](1,180224,null,0,Cl.e,[Cl.f,e.Renderer2,e.ElementRef],null,null),(l()(),e["ɵeld"](2,0,null,0,3,"tab",[["heading","Details"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),e["ɵdid"](3,212992,null,0,Cl.b,[Cl.e,e.ElementRef,e.Renderer2],{heading:[0,"heading"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Tn)),e["ɵdid"](5,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,0,1,null,Vn)),e["ɵdid"](7,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,3,0,"Details"),l(n,5,0,u.user),l(n,7,0,u.keys.length)}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).clazz),l(n,2,0,e["ɵnov"](n,3).id,e["ɵnov"](n,3).active,e["ɵnov"](n,3).addClass)}))}function xn(l){return e["ɵvid"](0,[e["ɵpid"](0,Ul.a,[Il.a]),e["ɵpid"](0,tn.a,[]),e["ɵpid"](0,on.a,[O.a]),e["ɵqud"](671088640,1,{accessKeyTpl:0}),e["ɵqud"](671088640,2,{secretKeyTpl:0}),(l()(),e["ɵand"](16777216,null,null,1,null,Sn)),e["ɵdid"](6,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){l(n,6,0,n.component.selection.hasSingleSelection)}),null)}function Dn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"cd-rgw-user-details",[],null,null,null,xn,dn)),e["ɵdid"](1,638976,null,0,an,[_.a,sn.b,Il.a],null,null)],(function(l,n){l(n,1,0)}),null)}var Fn=e["ɵccf"]("cd-rgw-user-details",an,Dn,{selection:"selection"},{},[]),jn=u("8xTl"),Bn=u("ajRT"),Pn=u("mXUL"),An=u("+gVj"),Mn=u("D4zM"),Un=u("OcYo"),On=u("EApP"),Ln=u("KVJa"),zn=u("Z21x"),Gn=e["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Kn(l){return e["ɵvid"](0,[e["ɵpid"](0,xl.TitleCasePipe,[]),e["ɵpid"](0,jn.a,[]),(l()(),e["ɵeld"](2,0,null,null,49,"cd-modal",[],null,null,null,fl.c,fl.b)),e["ɵdid"](3,49152,null,0,Bn.a,[],{modalRef:[0,"modalRef"]},null),(l()(),e["ɵeld"](4,0,null,0,3,null,null,null,null,null,null,null)),(l()(),e["ɵted"](5,null,[""," "," "])),e["ɵppd"](6,1),e["ɵppd"](7,1),(l()(),e["ɵeld"](8,0,null,1,43,null,null,null,null,null,null,null)),(l()(),e["ɵeld"](9,0,null,null,39,"div",[["class","modal-body"]],null,null,null,null,null)),(l()(),e["ɵeld"](10,0,null,null,38,"form",[["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,u){var t=!0;return"submit"===n&&(t=!1!==e["ɵnov"](l,12).onSubmit(u)&&t),"reset"===n&&(t=!1!==e["ɵnov"](l,12).onReset()&&t),t}),null,null)),e["ɵdid"](11,16384,null,0,d.G,[],null,null),e["ɵdid"](12,4210688,null,0,d.t,[[8,null],[8,null]],null,null),e["ɵprd"](2048,null,d.d,null,[d.t]),e["ɵdid"](14,16384,null,0,d.s,[[4,d.d]],null,null),(l()(),e["ɵeld"](15,0,null,null,13,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Pn.b,Pn.a)),e["ɵdid"](16,1163264,null,2,An.c,[e.ElementRef,An.g],null,null),e["ɵqud"](603979776,1,{FormControlNames:1}),e["ɵqud"](603979776,2,{messagesBlock:0}),(l()(),e["ɵeld"](19,0,null,0,1,"label",[["class","cd-col-form-label"],["for","user"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Username"])),(l()(),e["ɵeld"](21,0,null,0,7,"div",[["class","cd-col-form-inpu"]],null,null,null,null,null)),(l()(),e["ɵeld"](22,0,null,null,6,"input",[["class","form-control"],["id","user"],["name","user"],["type","text"]],[[8,"readOnly",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var t=!0,i=l.component;return"input"===n&&(t=!1!==e["ɵnov"](l,23)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,23).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,23)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,23)._compositionEnd(u.target.value)&&t),"ngModelChange"===n&&(t=!1!==(i.user=u)&&t),t}),null,null)),e["ɵdid"](23,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.e]),e["ɵdid"](25,671744,null,0,d.u,[[2,d.d],[8,null],[8,null],[6,d.p]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),e["ɵprd"](2048,null,d.q,null,[d.u]),e["ɵdid"](27,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](28,16384,null,0,An.h,[[3,d.d],An.a],null,null),(l()(),e["ɵeld"](29,0,null,null,19,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Pn.b,Pn.a)),e["ɵdid"](30,1163264,null,2,An.c,[e.ElementRef,An.g],null,null),e["ɵqud"](603979776,3,{FormControlNames:1}),e["ɵqud"](603979776,4,{messagesBlock:0}),(l()(),e["ɵeld"](33,0,null,0,1,"label",[["class","cd-col-form-label"],["for","secret_key"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Secret key"])),(l()(),e["ɵeld"](35,0,null,0,13,"div",[["class","cd-col-form-inpu"]],null,null,null,null,null)),(l()(),e["ɵeld"](36,0,null,null,12,"div",[["class","input-group"]],null,null,null,null,null)),(l()(),e["ɵeld"](37,0,null,null,6,"input",[["class","form-control"],["id","secret_key"],["name","secret_key"],["type","password"]],[[8,"readOnly",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var t=!0,i=l.component;return"input"===n&&(t=!1!==e["ɵnov"](l,38)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,38).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,38)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,38)._compositionEnd(u.target.value)&&t),"ngModelChange"===n&&(t=!1!==(i.secret_key=u)&&t),t}),null,null)),e["ɵdid"](38,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.e]),e["ɵdid"](40,671744,null,0,d.u,[[2,d.d],[8,null],[8,null],[6,d.p]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),e["ɵprd"](2048,null,d.q,null,[d.u]),e["ɵdid"](42,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](43,16384,null,0,An.h,[[3,d.d],An.a],null,null),(l()(),e["ɵeld"](44,0,null,null,4,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),e["ɵeld"](45,0,null,null,1,"button",[["cdPasswordButton","secret_key"],["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var t=!0;return"click"===n&&(t=!1!==e["ɵnov"](l,46).onClick()&&t),t}),null,null)),e["ɵdid"](46,81920,null,0,Mn.a,[e.ElementRef,e.Renderer2],{cdPasswordButton:[0,"cdPasswordButton"]},null),(l()(),e["ɵeld"](47,0,null,null,1,"button",[["cdCopy2ClipboardButton","secret_key"],["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var t=!0;return"click"===n&&(t=!1!==e["ɵnov"](l,48).onClick()&&t),t}),null,null)),e["ɵdid"](48,81920,null,0,Un.a,[e.ElementRef,e.Renderer2,On.j],{cdCopy2ClipboardButton:[0,"cdCopy2ClipboardButton"]},null),(l()(),e["ɵeld"](49,0,null,null,2,"div",[["class","modal-footer"]],null,null,null,null,null)),(l()(),e["ɵeld"](50,0,null,null,1,"cd-back-button",[],null,null,null,Ln.b,Ln.a)),e["ɵdid"](51,49152,null,0,zn.a,[xl.Location,t.b],{back:[0,"back"]},null)],(function(l,n){var u=n.component;l(n,3,0,u.bsModalRef),l(n,16,0),l(n,25,0,"user",u.user),l(n,30,0),l(n,40,0,"secret_key",u.secret_key),l(n,46,0,"secret_key"),l(n,48,0,"secret_key"),l(n,51,0,u.bsModalRef.hide)}),(function(l,n){var u=n.component,t=e["ɵunv"](n,5,0,l(n,6,0,e["ɵnov"](n,0),u.action)),i=e["ɵunv"](n,5,1,l(n,7,0,e["ɵnov"](n,1),u.resource));l(n,5,0,t,i),l(n,10,0,e["ɵnov"](n,14).ngClassUntouched,e["ɵnov"](n,14).ngClassTouched,e["ɵnov"](n,14).ngClassPristine,e["ɵnov"](n,14).ngClassDirty,e["ɵnov"](n,14).ngClassValid,e["ɵnov"](n,14).ngClassInvalid,e["ɵnov"](n,14).ngClassPending),l(n,15,0,e["ɵnov"](n,16).hasErrors,e["ɵnov"](n,16).hasSuccess),l(n,22,0,!0,e["ɵnov"](n,27).ngClassUntouched,e["ɵnov"](n,27).ngClassTouched,e["ɵnov"](n,27).ngClassPristine,e["ɵnov"](n,27).ngClassDirty,e["ɵnov"](n,27).ngClassValid,e["ɵnov"](n,27).ngClassInvalid,e["ɵnov"](n,27).ngClassPending,e["ɵnov"](n,28).validClass,e["ɵnov"](n,28).invalidClass),l(n,29,0,e["ɵnov"](n,30).hasErrors,e["ɵnov"](n,30).hasSuccess),l(n,37,0,!0,e["ɵnov"](n,42).ngClassUntouched,e["ɵnov"](n,42).ngClassTouched,e["ɵnov"](n,42).ngClassPristine,e["ɵnov"](n,42).ngClassDirty,e["ɵnov"](n,42).ngClassValid,e["ɵnov"](n,42).ngClassInvalid,e["ɵnov"](n,42).ngClassPending,e["ɵnov"](n,43).validClass,e["ɵnov"](n,43).invalidClass)}))}function $n(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"cd-rgw-user-swift-key-modal",[],null,null,null,Kn,Gn)),e["ɵdid"](1,49152,null,0,H,[sn.a,Il.a,t.b],null,null)],null,null)}var Zn=e["ɵccf"]("cd-rgw-user-swift-key-modal",H,$n,{},{},[]),Hn=u("IZUe"),Qn=u("gp3X"),Yn=u("sb0X"),Wn=e["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Jn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,6,"input",[["class","form-control"],["formControlName","user"],["id","user"],["type","text"]],[[8,"readOnly",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var t=!0;return"input"===n&&(t=!1!==e["ɵnov"](l,1)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,1).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,1)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,1)._compositionEnd(u.target.value)&&t),t}),null,null)),e["ɵdid"](1,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.e]),e["ɵdid"](3,671744,[[1,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](5,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](6,16384,null,0,An.h,[[3,d.d],An.a],{formControlName:[0,"formControlName"]},null)],(function(l,n){l(n,3,0,"user"),l(n,6,0,"user")}),(function(l,n){l(n,0,0,!0,e["ɵnov"](n,5).ngClassUntouched,e["ɵnov"](n,5).ngClassTouched,e["ɵnov"](n,5).ngClassPristine,e["ɵnov"](n,5).ngClassDirty,e["ɵnov"](n,5).ngClassValid,e["ɵnov"](n,5).ngClassInvalid,e["ɵnov"](n,5).ngClassPending,e["ɵnov"](n,6).validClass,e["ɵnov"](n,6).invalidClass)}))}function Xn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,d.v,[e.ElementRef,e.Renderer2,[2,d.A]],{ngValue:[0,"ngValue"]},null),e["ɵdid"](2,147456,null,0,d.F,[e.ElementRef,e.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),e["ɵted"](-1,null,["-- Select a username --"]))],(function(l,n){l(n,1,0,null),l(n,2,0,null)}),null)}function lu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,d.v,[e.ElementRef,e.Renderer2,[2,d.A]],{value:[0,"value"]},null),e["ɵdid"](2,147456,null,0,d.F,[e.ElementRef,e.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),e["ɵted"](3,null,["",""]))],(function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)}),(function(l,n){l(n,3,0,n.context.$implicit)}))}function nu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,11,"select",[["autofocus",""],["class","form-control custom-select"],["formControlName","user"],["id","user"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var t=!0;return"change"===n&&(t=!1!==e["ɵnov"](l,2).onChange(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,2).onTouched()&&t),t}),null,null)),e["ɵdid"](1,4210688,null,0,Hn.a,[e.ElementRef],{autofocus:[0,"autofocus"]},null),e["ɵdid"](2,16384,null,0,d.A,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.A]),e["ɵdid"](4,671744,[[1,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](6,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](7,16384,null,0,An.h,[[3,d.d],An.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Xn)),e["ɵdid"](9,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,lu)),e["ɵdid"](11,278528,null,0,xl.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(l,n){var u=n.component;l(n,1,0,""),l(n,4,0,"user"),l(n,7,0,"user"),l(n,9,0,null!==u.userCandidates),l(n,11,0,u.userCandidates)}),(function(l,n){l(n,0,0,e["ɵnov"](n,6).ngClassUntouched,e["ɵnov"](n,6).ngClassTouched,e["ɵnov"](n,6).ngClassPristine,e["ɵnov"](n,6).ngClassDirty,e["ɵnov"](n,6).ngClassValid,e["ɵnov"](n,6).ngClassInvalid,e["ɵnov"](n,6).ngClassPending,e["ɵnov"](n,7).validClass,e["ɵnov"](n,7).invalidClass)}))}function uu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function eu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,14,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Pn.b,Pn.a)),e["ɵdid"](1,1163264,null,2,An.c,[e.ElementRef,An.g],null,null),e["ɵqud"](603979776,3,{FormControlNames:1}),e["ɵqud"](603979776,4,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,10,"div",[["class","cd-col-form-offset"]],null,null,null,null,null)),(l()(),e["ɵeld"](5,0,null,null,9,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(l()(),e["ɵeld"](6,0,null,null,6,"input",[["class","custom-control-input"],["formControlName","generate_key"],["id","generate_key"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var t=!0;return"change"===n&&(t=!1!==e["ɵnov"](l,7).onChange(u.target.checked)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,7).onTouched()&&t),t}),null,null)),e["ɵdid"](7,16384,null,0,d.c,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.c]),e["ɵdid"](9,671744,[[3,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](11,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](12,16384,null,0,An.h,[[3,d.d],An.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](13,0,null,null,1,"label",[["class","custom-control-label"],["for","generate_key"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Auto-generate key"]))],(function(l,n){l(n,1,0),l(n,9,0,"generate_key"),l(n,12,0,"generate_key")}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,6,0,e["ɵnov"](n,11).ngClassUntouched,e["ɵnov"](n,11).ngClassTouched,e["ɵnov"](n,11).ngClassPristine,e["ɵnov"](n,11).ngClassDirty,e["ɵnov"](n,11).ngClassValid,e["ɵnov"](n,11).ngClassInvalid,e["ɵnov"](n,11).ngClassPending,e["ɵnov"](n,12).validClass,e["ɵnov"](n,12).invalidClass)}))}function tu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function iu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,24,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Pn.b,Pn.a)),e["ɵdid"](1,1163264,null,2,An.c,[e.ElementRef,An.g],null,null),e["ɵqud"](603979776,5,{FormControlNames:1}),e["ɵqud"](603979776,6,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,4,"label",[["class","cd-col-form-label"],["for","access_key"]],null,null,null,null,null)),e["ɵprd"](512,null,xl["ɵNgClassImpl"],xl["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](6,278528,null,0,xl.NgClass,[xl["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),e["ɵpod"](7,{required:0}),(l()(),e["ɵted"](-1,null,["Access key"])),(l()(),e["ɵeld"](9,0,null,0,15,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](10,0,null,null,12,"div",[["class","input-group"]],null,null,null,null,null)),(l()(),e["ɵeld"](11,0,null,null,6,"input",[["class","form-control"],["formControlName","access_key"],["id","access_key"],["type","password"]],[[8,"readOnly",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var t=!0;return"input"===n&&(t=!1!==e["ɵnov"](l,12)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,12).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,12)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,12)._compositionEnd(u.target.value)&&t),t}),null,null)),e["ɵdid"](12,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.e]),e["ɵdid"](14,671744,[[5,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](16,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](17,16384,null,0,An.h,[[3,d.d],An.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](18,0,null,null,4,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),e["ɵeld"](19,0,null,null,1,"button",[["cdPasswordButton","access_key"],["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var t=!0;return"click"===n&&(t=!1!==e["ɵnov"](l,20).onClick()&&t),t}),null,null)),e["ɵdid"](20,81920,null,0,Mn.a,[e.ElementRef,e.Renderer2],{cdPasswordButton:[0,"cdPasswordButton"]},null),(l()(),e["ɵeld"](21,0,null,null,1,"button",[["cdCopy2ClipboardButton","access_key"],["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var t=!0;return"click"===n&&(t=!1!==e["ɵnov"](l,22).onClick()&&t),t}),null,null)),e["ɵdid"](22,81920,null,0,Un.a,[e.ElementRef,e.Renderer2,On.j],{cdCopy2ClipboardButton:[0,"cdCopy2ClipboardButton"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,tu)),e["ɵdid"](24,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,1,0);var t=l(n,7,0,!u.viewing);l(n,6,0,"cd-col-form-label",t),l(n,14,0,"access_key"),l(n,17,0,"access_key"),l(n,20,0,"access_key"),l(n,22,0,"access_key"),l(n,24,0,u.formGroup.showError("access_key",e["ɵnov"](n.parent,11),"required"))}),(function(l,n){var u=n.component;l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,11,0,u.viewing,e["ɵnov"](n,16).ngClassUntouched,e["ɵnov"](n,16).ngClassTouched,e["ɵnov"](n,16).ngClassPristine,e["ɵnov"](n,16).ngClassDirty,e["ɵnov"](n,16).ngClassValid,e["ɵnov"](n,16).ngClassInvalid,e["ɵnov"](n,16).ngClassPending,e["ɵnov"](n,17).validClass,e["ɵnov"](n,17).invalidClass)}))}function ou(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function au(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,24,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Pn.b,Pn.a)),e["ɵdid"](1,1163264,null,2,An.c,[e.ElementRef,An.g],null,null),e["ɵqud"](603979776,7,{FormControlNames:1}),e["ɵqud"](603979776,8,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,4,"label",[["class","cd-col-form-label"],["for","secret_key"]],null,null,null,null,null)),e["ɵprd"](512,null,xl["ɵNgClassImpl"],xl["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](6,278528,null,0,xl.NgClass,[xl["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),e["ɵpod"](7,{required:0}),(l()(),e["ɵted"](-1,null,["Secret key"])),(l()(),e["ɵeld"](9,0,null,0,15,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](10,0,null,null,12,"div",[["class","input-group"]],null,null,null,null,null)),(l()(),e["ɵeld"](11,0,null,null,6,"input",[["class","form-control"],["formControlName","secret_key"],["id","secret_key"],["type","password"]],[[8,"readOnly",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var t=!0;return"input"===n&&(t=!1!==e["ɵnov"](l,12)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,12).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,12)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,12)._compositionEnd(u.target.value)&&t),t}),null,null)),e["ɵdid"](12,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.e]),e["ɵdid"](14,671744,[[7,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](16,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](17,16384,null,0,An.h,[[3,d.d],An.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](18,0,null,null,4,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),e["ɵeld"](19,0,null,null,1,"button",[["cdPasswordButton","secret_key"],["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var t=!0;return"click"===n&&(t=!1!==e["ɵnov"](l,20).onClick()&&t),t}),null,null)),e["ɵdid"](20,81920,null,0,Mn.a,[e.ElementRef,e.Renderer2],{cdPasswordButton:[0,"cdPasswordButton"]},null),(l()(),e["ɵeld"](21,0,null,null,1,"button",[["cdCopy2ClipboardButton","secret_key"],["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var t=!0;return"click"===n&&(t=!1!==e["ɵnov"](l,22).onClick()&&t),t}),null,null)),e["ɵdid"](22,81920,null,0,Un.a,[e.ElementRef,e.Renderer2,On.j],{cdCopy2ClipboardButton:[0,"cdCopy2ClipboardButton"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,ou)),e["ɵdid"](24,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,1,0);var t=l(n,7,0,!u.viewing);l(n,6,0,"cd-col-form-label",t),l(n,14,0,"secret_key"),l(n,17,0,"secret_key"),l(n,20,0,"secret_key"),l(n,22,0,"secret_key"),l(n,24,0,u.formGroup.showError("secret_key",e["ɵnov"](n.parent,11),"required"))}),(function(l,n){var u=n.component;l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,11,0,u.viewing,e["ɵnov"](n,16).ngClassUntouched,e["ɵnov"](n,16).ngClassTouched,e["ɵnov"](n,16).ngClassPristine,e["ɵnov"](n,16).ngClassDirty,e["ɵnov"](n,16).ngClassValid,e["ɵnov"](n,16).ngClassInvalid,e["ɵnov"](n,16).ngClassPending,e["ɵnov"](n,17).validClass,e["ɵnov"](n,17).invalidClass)}))}function su(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,4,"cd-submit-button",[],null,[[null,"submitAction"]],(function(l,n,u){var e=!0;return"submitAction"===n&&(e=!1!==l.component.onSubmit()&&e),e}),Qn.b,Qn.a)),e["ɵdid"](1,114688,null,0,Yn.a,[e.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(l()(),e["ɵted"](2,0,[""," ",""])),e["ɵppd"](3,1),e["ɵppd"](4,1)],(function(l,n){l(n,1,0,n.component.formGroup)}),(function(l,n){var u=n.component,t=e["ɵunv"](n,2,0,l(n,3,0,e["ɵnov"](n.parent,0),u.action)),i=e["ɵunv"](n,2,1,l(n,4,0,e["ɵnov"](n.parent,1),u.resource));l(n,2,0,t,i)}))}function du(l){return e["ɵvid"](0,[e["ɵpid"](0,xl.TitleCasePipe,[]),e["ɵpid"](0,jn.a,[]),(l()(),e["ɵeld"](2,0,null,null,40,"cd-modal",[],null,null,null,fl.c,fl.b)),e["ɵdid"](3,49152,null,0,Bn.a,[],{modalRef:[0,"modalRef"]},null),(l()(),e["ɵeld"](4,0,null,0,3,null,null,null,null,null,null,null)),(l()(),e["ɵted"](5,null,[""," ",""])),e["ɵppd"](6,1),e["ɵppd"](7,1),(l()(),e["ɵeld"](8,0,null,1,34,null,null,null,null,null,null,null)),(l()(),e["ɵeld"](9,0,null,null,33,"form",[["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,u){var t=!0;return"submit"===n&&(t=!1!==e["ɵnov"](l,11).onSubmit(u)&&t),"reset"===n&&(t=!1!==e["ɵnov"](l,11).onReset()&&t),"submit"===n&&(t=!1!==e["ɵnov"](l,14).onSubmit()&&t),t}),null,null)),e["ɵdid"](10,16384,null,0,d.G,[],null,null),e["ɵdid"](11,540672,[["frm",4]],0,d.l,[[8,null],[8,null]],{form:[0,"form"]},null),e["ɵprd"](2048,null,d.d,null,[d.l]),e["ɵdid"](13,16384,null,0,d.s,[[4,d.d]],null,null),e["ɵdid"](14,16384,null,0,An.d,[],{formGroup:[0,"formGroup"]},null),(l()(),e["ɵeld"](15,0,null,null,22,"div",[["class","modal-body"]],null,null,null,null,null)),(l()(),e["ɵeld"](16,0,null,null,15,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Pn.b,Pn.a)),e["ɵdid"](17,1163264,null,2,An.c,[e.ElementRef,An.g],null,null),e["ɵqud"](603979776,1,{FormControlNames:1}),e["ɵqud"](603979776,2,{messagesBlock:0}),(l()(),e["ɵeld"](20,0,null,0,4,"label",[["class","cd-col-form-label"],["for","user"]],null,null,null,null,null)),e["ɵprd"](512,null,xl["ɵNgClassImpl"],xl["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](22,278528,null,0,xl.NgClass,[xl["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),e["ɵpod"](23,{required:0}),(l()(),e["ɵted"](-1,null,["Username"])),(l()(),e["ɵeld"](25,0,null,0,6,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,Jn)),e["ɵdid"](27,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,nu)),e["ɵdid"](29,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,uu)),e["ɵdid"](31,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,eu)),e["ɵdid"](33,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,iu)),e["ɵdid"](35,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,au)),e["ɵdid"](37,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](38,0,null,null,4,"div",[["class","modal-footer"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,su)),e["ɵdid"](40,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](41,0,null,null,1,"cd-back-button",[],null,null,null,Ln.b,Ln.a)),e["ɵdid"](42,49152,null,0,zn.a,[xl.Location,t.b],{back:[0,"back"]},null)],(function(l,n){var u=n.component;l(n,3,0,u.bsModalRef),l(n,11,0,u.formGroup),l(n,14,0,u.formGroup),l(n,17,0);var t=l(n,23,0,!u.viewing);l(n,22,0,"cd-col-form-label",t),l(n,27,0,u.viewing),l(n,29,0,!u.viewing),l(n,31,0,u.formGroup.showError("user",e["ɵnov"](n,11),"required")),l(n,33,0,!u.viewing),l(n,35,0,!u.formGroup.getValue("generate_key")),l(n,37,0,!u.formGroup.getValue("generate_key")),l(n,40,0,!u.viewing),l(n,42,0,u.bsModalRef.hide)}),(function(l,n){var u=n.component,t=e["ɵunv"](n,5,0,l(n,6,0,e["ɵnov"](n,0),u.action)),i=e["ɵunv"](n,5,1,l(n,7,0,e["ɵnov"](n,1),u.resource));l(n,5,0,t,i),l(n,9,0,e["ɵnov"](n,13).ngClassUntouched,e["ɵnov"](n,13).ngClassTouched,e["ɵnov"](n,13).ngClassPristine,e["ɵnov"](n,13).ngClassDirty,e["ɵnov"](n,13).ngClassValid,e["ɵnov"](n,13).ngClassInvalid,e["ɵnov"](n,13).ngClassPending),l(n,16,0,e["ɵnov"](n,17).hasErrors,e["ɵnov"](n,17).hasSuccess)}))}function ru(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"cd-rgw-user-s3-key-modal",[],null,null,null,du,Wn)),e["ɵdid"](1,49152,null,0,K,[R.a,sn.a,Il.a,t.b],null,null)],null,null)}var cu=e["ɵccf"]("cd-rgw-user-s3-key-modal",K,ru,{},{submitAction:"submitAction"},[]),mu=e["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function gu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,6,"input",[["class","form-control"],["formControlName","type"],["id","type"],["type","text"]],[[8,"readOnly",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var t=!0;return"input"===n&&(t=!1!==e["ɵnov"](l,1)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,1).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,1)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,1)._compositionEnd(u.target.value)&&t),t}),null,null)),e["ɵdid"](1,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.e]),e["ɵdid"](3,671744,[[1,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](5,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](6,16384,null,0,An.h,[[3,d.d],An.a],{formControlName:[0,"formControlName"]},null)],(function(l,n){l(n,3,0,"type"),l(n,6,0,"type")}),(function(l,n){l(n,0,0,!0,e["ɵnov"](n,5).ngClassUntouched,e["ɵnov"](n,5).ngClassTouched,e["ɵnov"](n,5).ngClassPristine,e["ɵnov"](n,5).ngClassDirty,e["ɵnov"](n,5).ngClassValid,e["ɵnov"](n,5).ngClassInvalid,e["ɵnov"](n,5).ngClassPending,e["ɵnov"](n,6).validClass,e["ɵnov"](n,6).invalidClass)}))}function pu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,d.v,[e.ElementRef,e.Renderer2,[2,d.A]],{ngValue:[0,"ngValue"]},null),e["ɵdid"](2,147456,null,0,d.F,[e.ElementRef,e.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),e["ɵted"](-1,null,["-- Select a type --"]))],(function(l,n){l(n,1,0,null),l(n,2,0,null)}),null)}function fu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,d.v,[e.ElementRef,e.Renderer2,[2,d.A]],{value:[0,"value"]},null),e["ɵdid"](2,147456,null,0,d.F,[e.ElementRef,e.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),e["ɵted"](3,null,["",""]))],(function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)}),(function(l,n){l(n,3,0,n.context.$implicit)}))}function vu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,11,"select",[["autofocus",""],["class","form-control custom-select"],["formControlName","type"],["id","type"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var t=!0;return"change"===n&&(t=!1!==e["ɵnov"](l,2).onChange(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,2).onTouched()&&t),t}),null,null)),e["ɵdid"](1,4210688,null,0,Hn.a,[e.ElementRef],{autofocus:[0,"autofocus"]},null),e["ɵdid"](2,16384,null,0,d.A,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.A]),e["ɵdid"](4,671744,[[1,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](6,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](7,16384,null,0,An.h,[[3,d.d],An.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,pu)),e["ɵdid"](9,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,fu)),e["ɵdid"](11,278528,null,0,xl.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(l,n){var u=n.component;l(n,1,0,""),l(n,4,0,"type"),l(n,7,0,"type"),l(n,9,0,null!==u.types),l(n,11,0,u.types)}),(function(l,n){l(n,0,0,e["ɵnov"](n,6).ngClassUntouched,e["ɵnov"](n,6).ngClassTouched,e["ɵnov"](n,6).ngClassPristine,e["ɵnov"](n,6).ngClassDirty,e["ɵnov"](n,6).ngClassValid,e["ɵnov"](n,6).ngClassInvalid,e["ɵnov"](n,6).ngClassPending,e["ɵnov"](n,7).validClass,e["ɵnov"](n,7).invalidClass)}))}function bu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function hu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,d.v,[e.ElementRef,e.Renderer2,[2,d.A]],{value:[0,"value"]},null),e["ɵdid"](2,147456,null,0,d.F,[e.ElementRef,e.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),e["ɵted"](3,null,[" "," "]))],(function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)}),(function(l,n){l(n,3,0,n.context.$implicit)}))}function Cu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function _u(l){return e["ɵvid"](0,[e["ɵpid"](0,xl.TitleCasePipe,[]),e["ɵpid"](0,jn.a,[]),(l()(),e["ɵeld"](2,0,null,null,60,"cd-modal",[],null,null,null,fl.c,fl.b)),e["ɵdid"](3,49152,null,0,Bn.a,[],{modalRef:[0,"modalRef"]},null),(l()(),e["ɵeld"](4,0,null,0,3,null,null,null,null,null,null,null)),(l()(),e["ɵted"](5,null,[""," ",""])),e["ɵppd"](6,1),e["ɵppd"](7,1),(l()(),e["ɵeld"](8,0,null,1,54,null,null,null,null,null,null,null)),(l()(),e["ɵeld"](9,0,null,null,53,"form",[["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,u){var t=!0;return"submit"===n&&(t=!1!==e["ɵnov"](l,11).onSubmit(u)&&t),"reset"===n&&(t=!1!==e["ɵnov"](l,11).onReset()&&t),"submit"===n&&(t=!1!==e["ɵnov"](l,14).onSubmit()&&t),t}),null,null)),e["ɵdid"](10,16384,null,0,d.G,[],null,null),e["ɵdid"](11,540672,[["frm",4]],0,d.l,[[8,null],[8,null]],{form:[0,"form"]},null),e["ɵprd"](2048,null,d.d,null,[d.l]),e["ɵdid"](13,16384,null,0,d.s,[[4,d.d]],null,null),e["ɵdid"](14,16384,null,0,An.d,[],{formGroup:[0,"formGroup"]},null),(l()(),e["ɵeld"](15,0,null,null,39,"div",[["class","modal-body"]],null,null,null,null,null)),(l()(),e["ɵeld"](16,0,null,null,15,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Pn.b,Pn.a)),e["ɵdid"](17,1163264,null,2,An.c,[e.ElementRef,An.g],null,null),e["ɵqud"](603979776,1,{FormControlNames:1}),e["ɵqud"](603979776,2,{messagesBlock:0}),(l()(),e["ɵeld"](20,0,null,0,4,"label",[["class","cd-col-form-label"],["for","type"]],null,null,null,null,null)),e["ɵprd"](512,null,xl["ɵNgClassImpl"],xl["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](22,278528,null,0,xl.NgClass,[xl["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),e["ɵpod"](23,{required:0}),(l()(),e["ɵted"](-1,null,["Type"])),(l()(),e["ɵeld"](25,0,null,0,6,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,gu)),e["ɵdid"](27,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,vu)),e["ɵdid"](29,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,bu)),e["ɵdid"](31,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](32,0,null,null,22,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Pn.b,Pn.a)),e["ɵdid"](33,1163264,null,2,An.c,[e.ElementRef,An.g],null,null),e["ɵqud"](603979776,3,{FormControlNames:1}),e["ɵqud"](603979776,4,{messagesBlock:0}),(l()(),e["ɵeld"](36,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","perm"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Permission"])),(l()(),e["ɵeld"](38,0,null,0,16,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](39,0,null,null,13,"select",[["class","form-control custom-select"],["formControlName","perm"],["id","perm"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var t=!0;return"change"===n&&(t=!1!==e["ɵnov"](l,40).onChange(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,40).onTouched()&&t),t}),null,null)),e["ɵdid"](40,16384,null,0,d.A,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.A]),e["ɵdid"](42,671744,[[3,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](44,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](45,16384,null,0,An.h,[[3,d.d],An.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](46,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](47,147456,null,0,d.v,[e.ElementRef,e.Renderer2,[2,d.A]],{ngValue:[0,"ngValue"]},null),e["ɵdid"](48,147456,null,0,d.F,[e.ElementRef,e.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),e["ɵted"](-1,null,["-- Select a permission --"])),(l()(),e["ɵand"](16777216,null,null,2,null,hu)),e["ɵdid"](51,278528,null,0,xl.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),e["ɵpad"](52,3),(l()(),e["ɵand"](16777216,null,null,1,null,Cu)),e["ɵdid"](54,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](55,0,null,null,7,"div",[["class","modal-footer"]],null,null,null,null,null)),(l()(),e["ɵeld"](56,0,null,null,4,"cd-submit-button",[],null,[[null,"submitAction"]],(function(l,n,u){var e=!0;return"submitAction"===n&&(e=!1!==l.component.onSubmit()&&e),e}),Qn.b,Qn.a)),e["ɵdid"](57,114688,null,0,Yn.a,[e.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(l()(),e["ɵted"](58,0,[""," ",""])),e["ɵppd"](59,1),e["ɵppd"](60,1),(l()(),e["ɵeld"](61,0,null,null,1,"cd-back-button",[],null,null,null,Ln.b,Ln.a)),e["ɵdid"](62,49152,null,0,zn.a,[xl.Location,t.b],{back:[0,"back"]},null)],(function(l,n){var u=n.component;l(n,3,0,u.bsModalRef),l(n,11,0,u.formGroup),l(n,14,0,u.formGroup),l(n,17,0);var t=l(n,23,0,!u.editing);l(n,22,0,"cd-col-form-label",t),l(n,27,0,u.editing),l(n,29,0,!u.editing),l(n,31,0,u.formGroup.showError("type",e["ɵnov"](n,11),"required")),l(n,33,0),l(n,42,0,"perm"),l(n,45,0,"perm"),l(n,47,0,null),l(n,48,0,null);var i=l(n,52,0,"read","write","*");l(n,51,0,i),l(n,54,0,u.formGroup.showError("perm",e["ɵnov"](n,11),"required")),l(n,57,0,u.formGroup),l(n,62,0,u.bsModalRef.hide)}),(function(l,n){var u=n.component,t=e["ɵunv"](n,5,0,l(n,6,0,e["ɵnov"](n,0),u.action)),i=e["ɵunv"](n,5,1,l(n,7,0,e["ɵnov"](n,1),u.resource));l(n,5,0,t,i),l(n,9,0,e["ɵnov"](n,13).ngClassUntouched,e["ɵnov"](n,13).ngClassTouched,e["ɵnov"](n,13).ngClassPristine,e["ɵnov"](n,13).ngClassDirty,e["ɵnov"](n,13).ngClassValid,e["ɵnov"](n,13).ngClassInvalid,e["ɵnov"](n,13).ngClassPending),l(n,16,0,e["ɵnov"](n,17).hasErrors,e["ɵnov"](n,17).hasSuccess),l(n,32,0,e["ɵnov"](n,33).hasErrors,e["ɵnov"](n,33).hasSuccess),l(n,39,0,e["ɵnov"](n,44).ngClassUntouched,e["ɵnov"](n,44).ngClassTouched,e["ɵnov"](n,44).ngClassPristine,e["ɵnov"](n,44).ngClassDirty,e["ɵnov"](n,44).ngClassValid,e["ɵnov"](n,44).ngClassInvalid,e["ɵnov"](n,44).ngClassPending,e["ɵnov"](n,45).validClass,e["ɵnov"](n,45).invalidClass);var o=e["ɵunv"](n,58,0,l(n,59,0,e["ɵnov"](n,0),u.action)),a=e["ɵunv"](n,58,1,l(n,60,0,e["ɵnov"](n,1),u.resource));l(n,58,0,o,a)}))}function ku(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"cd-rgw-user-capability-modal",[],null,null,null,_u,mu)),e["ɵdid"](1,49152,null,0,G,[R.a,sn.a,Il.a,t.b],null,null)],null,null)}var yu=e["ɵccf"]("cd-rgw-user-capability-modal",G,ku,{},{submitAction:"submitAction"},[]),Ru=e["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Iu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function wu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["The chosen subuser ID is already in use."]))],null,null)}function Eu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,d.v,[e.ElementRef,e.Renderer2,[2,d.A]],{value:[0,"value"]},null),e["ɵdid"](2,147456,null,0,d.F,[e.ElementRef,e.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),e["ɵted"](3,null,[" "," "]))],(function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)}),(function(l,n){l(n,3,0,n.context.$implicit)}))}function qu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function Nu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function Tu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,21,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Pn.b,Pn.a)),e["ɵdid"](1,1163264,null,2,An.c,[e.ElementRef,An.g],null,null),e["ɵqud"](603979776,9,{FormControlNames:1}),e["ɵqud"](603979776,10,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","secret_key"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Secret key"])),(l()(),e["ɵeld"](6,0,null,0,15,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](7,0,null,null,12,"div",[["class","input-group"]],null,null,null,null,null)),(l()(),e["ɵeld"](8,0,null,null,6,"input",[["class","form-control"],["formControlName","secret_key"],["id","secret_key"],["type","password"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var t=!0;return"input"===n&&(t=!1!==e["ɵnov"](l,9)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,9).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,9)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,9)._compositionEnd(u.target.value)&&t),t}),null,null)),e["ɵdid"](9,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.e]),e["ɵdid"](11,671744,[[9,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](13,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](14,16384,null,0,An.h,[[3,d.d],An.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](15,0,null,null,4,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),e["ɵeld"](16,0,null,null,1,"button",[["cdPasswordButton","secret_key"],["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var t=!0;return"click"===n&&(t=!1!==e["ɵnov"](l,17).onClick()&&t),t}),null,null)),e["ɵdid"](17,81920,null,0,Mn.a,[e.ElementRef,e.Renderer2],{cdPasswordButton:[0,"cdPasswordButton"]},null),(l()(),e["ɵeld"](18,0,null,null,1,"button",[["cdCopy2ClipboardButton","secret_key"],["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var t=!0;return"click"===n&&(t=!1!==e["ɵnov"](l,19).onClick()&&t),t}),null,null)),e["ɵdid"](19,81920,null,0,Un.a,[e.ElementRef,e.Renderer2,On.j],{cdCopy2ClipboardButton:[0,"cdCopy2ClipboardButton"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Nu)),e["ɵdid"](21,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,1,0),l(n,11,0,"secret_key"),l(n,14,0,"secret_key"),l(n,17,0,"secret_key"),l(n,19,0,"secret_key"),l(n,21,0,u.formGroup.showError("secret_key",e["ɵnov"](n.parent.parent,11),"required"))}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,8,0,e["ɵnov"](n,13).ngClassUntouched,e["ɵnov"](n,13).ngClassTouched,e["ɵnov"](n,13).ngClassPristine,e["ɵnov"](n,13).ngClassDirty,e["ɵnov"](n,13).ngClassValid,e["ɵnov"](n,13).ngClassInvalid,e["ɵnov"](n,13).ngClassPending,e["ɵnov"](n,14).validClass,e["ɵnov"](n,14).invalidClass)}))}function Vu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,19,"fieldset",[],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,"legend",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Swift key"])),(l()(),e["ɵeld"](3,0,null,null,14,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Pn.b,Pn.a)),e["ɵdid"](4,1163264,null,2,An.c,[e.ElementRef,An.g],null,null),e["ɵqud"](603979776,7,{FormControlNames:1}),e["ɵqud"](603979776,8,{messagesBlock:0}),(l()(),e["ɵeld"](7,0,null,0,10,"div",[["class","cd-col-form-offset"]],null,null,null,null,null)),(l()(),e["ɵeld"](8,0,null,null,9,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(l()(),e["ɵeld"](9,0,null,null,6,"input",[["class","custom-control-input"],["formControlName","generate_secret"],["id","generate_secret"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var t=!0;return"change"===n&&(t=!1!==e["ɵnov"](l,10).onChange(u.target.checked)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,10).onTouched()&&t),t}),null,null)),e["ɵdid"](10,16384,null,0,d.c,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.c]),e["ɵdid"](12,671744,[[7,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](14,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](15,16384,null,0,An.h,[[3,d.d],An.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](16,0,null,null,1,"label",[["class","custom-control-label"],["for","generate_secret"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Auto-generate secret"])),(l()(),e["ɵand"](16777216,null,null,1,null,Tu)),e["ɵdid"](19,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,4,0),l(n,12,0,"generate_secret"),l(n,15,0,"generate_secret"),l(n,19,0,!u.editing&&!u.formGroup.getValue("generate_secret"))}),(function(l,n){l(n,3,0,e["ɵnov"](n,4).hasErrors,e["ɵnov"](n,4).hasSuccess),l(n,9,0,e["ɵnov"](n,14).ngClassUntouched,e["ɵnov"](n,14).ngClassTouched,e["ɵnov"](n,14).ngClassPristine,e["ɵnov"](n,14).ngClassDirty,e["ɵnov"](n,14).ngClassValid,e["ɵnov"](n,14).ngClassInvalid,e["ɵnov"](n,14).ngClassPending,e["ɵnov"](n,15).validClass,e["ɵnov"](n,15).invalidClass)}))}function Su(l){return e["ɵvid"](0,[e["ɵpid"](0,xl.TitleCasePipe,[]),e["ɵpid"](0,jn.a,[]),(l()(),e["ɵeld"](2,0,null,null,90,"cd-modal",[],null,null,null,fl.c,fl.b)),e["ɵdid"](3,49152,null,0,Bn.a,[],{modalRef:[0,"modalRef"]},null),(l()(),e["ɵeld"](4,0,null,0,3,null,null,null,null,null,null,null)),(l()(),e["ɵted"](5,null,[""," ",""])),e["ɵppd"](6,1),e["ɵppd"](7,1),(l()(),e["ɵeld"](8,0,null,1,84,null,null,null,null,null,null,null)),(l()(),e["ɵeld"](9,0,null,null,83,"form",[["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,u){var t=!0;return"submit"===n&&(t=!1!==e["ɵnov"](l,11).onSubmit(u)&&t),"reset"===n&&(t=!1!==e["ɵnov"](l,11).onReset()&&t),"submit"===n&&(t=!1!==e["ɵnov"](l,14).onSubmit()&&t),t}),null,null)),e["ɵdid"](10,16384,null,0,d.G,[],null,null),e["ɵdid"](11,540672,[["frm",4]],0,d.l,[[8,null],[8,null]],{form:[0,"form"]},null),e["ɵprd"](2048,null,d.d,null,[d.l]),e["ɵdid"](13,16384,null,0,d.s,[[4,d.d]],null,null),e["ɵdid"](14,16384,null,0,An.d,[],{formGroup:[0,"formGroup"]},null),(l()(),e["ɵeld"](15,0,null,null,69,"div",[["class","modal-body"]],null,null,null,null,null)),(l()(),e["ɵeld"](16,0,null,null,13,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Pn.b,Pn.a)),e["ɵdid"](17,1163264,null,2,An.c,[e.ElementRef,An.g],null,null),e["ɵqud"](603979776,1,{FormControlNames:1}),e["ɵqud"](603979776,2,{messagesBlock:0}),(l()(),e["ɵeld"](20,0,null,0,1,"label",[["class","cd-col-form-label"],["for","uid"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Username"])),(l()(),e["ɵeld"](22,0,null,0,7,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](23,0,null,null,6,"input",[["class","form-control"],["formControlName","uid"],["id","uid"],["type","text"]],[[8,"readOnly",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var t=!0;return"input"===n&&(t=!1!==e["ɵnov"](l,24)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,24).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,24)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,24)._compositionEnd(u.target.value)&&t),t}),null,null)),e["ɵdid"](24,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.e]),e["ɵdid"](26,671744,[[1,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](28,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](29,16384,null,0,An.h,[[3,d.d],An.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](30,0,null,null,21,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Pn.b,Pn.a)),e["ɵdid"](31,1163264,null,2,An.c,[e.ElementRef,An.g],null,null),e["ɵqud"](603979776,3,{FormControlNames:1}),e["ɵqud"](603979776,4,{messagesBlock:0}),(l()(),e["ɵeld"](34,0,null,0,4,"label",[["class","cd-col-form-label"],["for","subuid"]],null,null,null,null,null)),e["ɵprd"](512,null,xl["ɵNgClassImpl"],xl["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](36,278528,null,0,xl.NgClass,[xl["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),e["ɵpod"](37,{required:0}),(l()(),e["ɵted"](-1,null,["Subuser"])),(l()(),e["ɵeld"](39,0,null,0,12,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](40,0,null,null,7,"input",[["autofocus",""],["class","form-control"],["formControlName","subuid"],["id","subuid"],["type","text"]],[[8,"readOnly",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var t=!0;return"input"===n&&(t=!1!==e["ɵnov"](l,42)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,42).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,42)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,42)._compositionEnd(u.target.value)&&t),t}),null,null)),e["ɵdid"](41,4210688,null,0,Hn.a,[e.ElementRef],{autofocus:[0,"autofocus"]},null),e["ɵdid"](42,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.e]),e["ɵdid"](44,671744,[[3,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](46,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](47,16384,null,0,An.h,[[3,d.d],An.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Iu)),e["ɵdid"](49,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,wu)),e["ɵdid"](51,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](52,0,null,null,30,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Pn.b,Pn.a)),e["ɵdid"](53,1163264,null,2,An.c,[e.ElementRef,An.g],null,null),e["ɵqud"](603979776,5,{FormControlNames:1}),e["ɵqud"](603979776,6,{messagesBlock:0}),(l()(),e["ɵeld"](56,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","perm"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Permission"])),(l()(),e["ɵeld"](58,0,null,0,24,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](59,0,null,null,21,"select",[["class","form-control custom-select"],["formControlName","perm"],["id","perm"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var t=!0;return"change"===n&&(t=!1!==e["ɵnov"](l,60).onChange(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,60).onTouched()&&t),t}),null,null)),e["ɵdid"](60,16384,null,0,d.A,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.A]),e["ɵdid"](62,671744,[[5,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](64,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](65,16384,null,0,An.h,[[3,d.d],An.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](66,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](67,147456,null,0,d.v,[e.ElementRef,e.Renderer2,[2,d.A]],{ngValue:[0,"ngValue"]},null),e["ɵdid"](68,147456,null,0,d.F,[e.ElementRef,e.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),e["ɵted"](-1,null,["-- Select a permission --"])),(l()(),e["ɵand"](16777216,null,null,2,null,Eu)),e["ɵdid"](71,278528,null,0,xl.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),e["ɵpad"](72,2),(l()(),e["ɵeld"](73,0,null,null,3,"option",[["value","read-write"]],null,null,null,null,null)),e["ɵdid"](74,147456,null,0,d.v,[e.ElementRef,e.Renderer2,[2,d.A]],{value:[0,"value"]},null),e["ɵdid"](75,147456,null,0,d.F,[e.ElementRef,e.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),e["ɵted"](-1,null,["read, write"])),(l()(),e["ɵeld"](77,0,null,null,3,"option",[["value","full-control"]],null,null,null,null,null)),e["ɵdid"](78,147456,null,0,d.v,[e.ElementRef,e.Renderer2,[2,d.A]],{value:[0,"value"]},null),e["ɵdid"](79,147456,null,0,d.F,[e.ElementRef,e.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),e["ɵted"](-1,null,["full"])),(l()(),e["ɵand"](16777216,null,null,1,null,qu)),e["ɵdid"](82,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Vu)),e["ɵdid"](84,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](85,0,null,null,7,"div",[["class","modal-footer"]],null,null,null,null,null)),(l()(),e["ɵeld"](86,0,null,null,4,"cd-submit-button",[],null,[[null,"submitAction"]],(function(l,n,u){var e=!0;return"submitAction"===n&&(e=!1!==l.component.onSubmit()&&e),e}),Qn.b,Qn.a)),e["ɵdid"](87,114688,null,0,Yn.a,[e.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(l()(),e["ɵted"](88,0,[""," ",""])),e["ɵppd"](89,1),e["ɵppd"](90,1),(l()(),e["ɵeld"](91,0,null,null,1,"cd-back-button",[],null,null,null,Ln.b,Ln.a)),e["ɵdid"](92,49152,null,0,zn.a,[xl.Location,t.b],{back:[0,"back"]},null)],(function(l,n){var u=n.component;l(n,3,0,u.bsModalRef),l(n,11,0,u.formGroup),l(n,14,0,u.formGroup),l(n,17,0),l(n,26,0,"uid"),l(n,29,0,"uid"),l(n,31,0);var t=l(n,37,0,!u.editing);l(n,36,0,"cd-col-form-label",t),l(n,41,0,""),l(n,44,0,"subuid"),l(n,47,0,"subuid"),l(n,49,0,u.formGroup.showError("subuid",e["ɵnov"](n,11),"required")),l(n,51,0,u.formGroup.showError("subuid",e["ɵnov"](n,11),"subuserIdExists")),l(n,53,0),l(n,62,0,"perm"),l(n,65,0,"perm"),l(n,67,0,null),l(n,68,0,null);var i=l(n,72,0,"read","write");l(n,71,0,i),l(n,74,0,"read-write"),l(n,75,0,"read-write"),l(n,78,0,"full-control"),l(n,79,0,"full-control"),l(n,82,0,u.formGroup.showError("perm",e["ɵnov"](n,11),"required")),l(n,84,0,!u.editing),l(n,87,0,u.formGroup),l(n,92,0,u.bsModalRef.hide)}),(function(l,n){var u=n.component,t=e["ɵunv"](n,5,0,l(n,6,0,e["ɵnov"](n,0),u.action)),i=e["ɵunv"](n,5,1,l(n,7,0,e["ɵnov"](n,1),u.resource));l(n,5,0,t,i),l(n,9,0,e["ɵnov"](n,13).ngClassUntouched,e["ɵnov"](n,13).ngClassTouched,e["ɵnov"](n,13).ngClassPristine,e["ɵnov"](n,13).ngClassDirty,e["ɵnov"](n,13).ngClassValid,e["ɵnov"](n,13).ngClassInvalid,e["ɵnov"](n,13).ngClassPending),l(n,16,0,e["ɵnov"](n,17).hasErrors,e["ɵnov"](n,17).hasSuccess),l(n,23,0,!0,e["ɵnov"](n,28).ngClassUntouched,e["ɵnov"](n,28).ngClassTouched,e["ɵnov"](n,28).ngClassPristine,e["ɵnov"](n,28).ngClassDirty,e["ɵnov"](n,28).ngClassValid,e["ɵnov"](n,28).ngClassInvalid,e["ɵnov"](n,28).ngClassPending,e["ɵnov"](n,29).validClass,e["ɵnov"](n,29).invalidClass),l(n,30,0,e["ɵnov"](n,31).hasErrors,e["ɵnov"](n,31).hasSuccess),l(n,40,0,u.editing,e["ɵnov"](n,46).ngClassUntouched,e["ɵnov"](n,46).ngClassTouched,e["ɵnov"](n,46).ngClassPristine,e["ɵnov"](n,46).ngClassDirty,e["ɵnov"](n,46).ngClassValid,e["ɵnov"](n,46).ngClassInvalid,e["ɵnov"](n,46).ngClassPending,e["ɵnov"](n,47).validClass,e["ɵnov"](n,47).invalidClass),l(n,52,0,e["ɵnov"](n,53).hasErrors,e["ɵnov"](n,53).hasSuccess),l(n,59,0,e["ɵnov"](n,64).ngClassUntouched,e["ɵnov"](n,64).ngClassTouched,e["ɵnov"](n,64).ngClassPristine,e["ɵnov"](n,64).ngClassDirty,e["ɵnov"](n,64).ngClassValid,e["ɵnov"](n,64).ngClassInvalid,e["ɵnov"](n,64).ngClassPending,e["ɵnov"](n,65).validClass,e["ɵnov"](n,65).invalidClass);var o=e["ɵunv"](n,88,0,l(n,89,0,e["ɵnov"](n,0),u.action)),a=e["ɵunv"](n,88,1,l(n,90,0,e["ɵnov"](n,1),u.resource));l(n,88,0,o,a)}))}function xu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"cd-rgw-user-subuser-modal",[],null,null,null,Su,Ru)),e["ɵdid"](1,49152,null,0,Z,[R.a,sn.a,Il.a,t.b],null,null)],null,null)}var Du=e["ɵccf"]("cd-rgw-user-subuser-modal",Z,xu,{},{submitAction:"submitAction"},[]),Fu=u("yT6U"),ju=u("4DD9"),Bu=u("IzCI"),Pu=u("Dwqy"),Au=u("uYzU"),Mu=u("FFMq"),Uu=u("E2fk"),Ou=u("nSDx"),Lu=u("SB+Q"),zu=u("TYzs"),Gu=u("BQkM"),Ku=u("dEH0"),$u=u("G1/K"),Zu=u("CNMR"),Hu=u("KOzp"),Qu=u("2uy1"),Yu=u("38Bd"),Wu=u("978R"),Ju=u("FO+L"),Xu=u("nhM1"),le=u("BARL"),ne=u("iInd"),ue=u("9Xeq"),ee=u("hrfs"),te=u("yGOH"),ie=u("bxSN"),oe=u("WF9J"),ae=u("V/fk"),se=u("F8xH"),de=u("ChqD"),re=u("PCNd"),ce=u("G6Q+"),me=e["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function ge(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"tab",[["heading","Overall Performance"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),e["ɵdid"](1,212992,null,0,Cl.b,[Cl.e,e.ElementRef,e.Renderer2],{heading:[0,"heading"]},null),(l()(),e["ɵeld"](2,0,null,null,1,"cd-grafana",[["grafanaStyle","two"],["uid","WAkugZpiz"]],null,null,null,_l.b,_l.a)),e["ɵdid"](3,638976,null,0,kl.a,[a.a,yl.b,Rl.a,o.a,Il.a],{grafanaPath:[0,"grafanaPath"],grafanaStyle:[1,"grafanaStyle"],uid:[2,"uid"]},null)],(function(l,n){l(n,1,0,"Overall Performance"),l(n,3,0,"rgw-overview?","two","WAkugZpiz")}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).id,e["ɵnov"](n,1).active,e["ɵnov"](n,1).addClass)}))}function pe(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,9,"tabset",[],[[2,"tab-container",null]],null,null,wl.b,wl.a)),e["ɵdid"](1,180224,null,0,Cl.e,[Cl.f,e.Renderer2,e.ElementRef],null,null),(l()(),e["ɵeld"](2,0,null,0,5,"tab",[["heading","Daemons List"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),e["ɵdid"](3,212992,null,0,Cl.b,[Cl.e,e.ElementRef,e.Renderer2],{heading:[0,"heading"]},null),(l()(),e["ɵeld"](4,0,null,null,3,"cd-table",[["columnMode","flex"],["selectionType","single"]],null,[[null,"updateSelection"],[null,"fetchData"]],(function(l,n,u){var e=!0,t=l.component;return"updateSelection"===n&&(e=!1!==t.updateSelection(u)&&e),"fetchData"===n&&(e=!1!==t.getDaemonList(u)&&e),e}),nn.b,nn.a)),e["ɵdid"](5,2867200,null,0,S.a,[e.NgZone,e.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],selectionType:[3,"selectionType"]},{fetchData:"fetchData",updateSelection:"updateSelection"}),(l()(),e["ɵeld"](6,0,null,3,1,"cd-rgw-daemon-details",[["cdTableDetail",""]],null,null,null,Pl,Fl)),e["ɵdid"](7,573440,null,0,Dl,[P,D.a],{selection:[0,"selection"]},null),(l()(),e["ɵand"](16777216,null,0,1,null,ge)),e["ɵdid"](9,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,3,0,"Daemons List"),l(n,5,0,u.daemons,u.columns,"flex","single"),l(n,7,0,u.selection),l(n,9,0,u.grafanaPermission.read)}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).clazz),l(n,2,0,e["ɵnov"](n,3).id,e["ɵnov"](n,3).active,e["ɵnov"](n,3).addClass)}))}function fe(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"cd-rgw-daemon-list",[],null,null,null,pe,me)),e["ɵdid"](1,49152,null,0,M,[P,D.a,A.a,Il.a],null,null)],null,null)}var ve=e["ɵccf"]("cd-rgw-daemon-list",M,fe,{},{},[]),be=u("NUGo"),he=u("S7zO"),Ce=e["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function _e(l){return e["ɵvid"](0,[e["ɵqud"](402653184,1,{table:0}),(l()(),e["ɵeld"](1,0,null,null,5,"cd-table",[["columnMode","flex"],["identifier","uid"],["selectionType","multiClick"]],null,[[null,"updateSelection"],[null,"fetchData"]],(function(l,n,u){var e=!0,t=l.component;return"updateSelection"===n&&(e=!1!==t.updateSelection(u)&&e),"fetchData"===n&&(e=!1!==t.getUserList(u)&&e),e}),nn.b,nn.a)),e["ɵdid"](2,2867200,[[1,4],["table",4]],0,S.a,[e.NgZone,e.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],autoReload:[3,"autoReload"],identifier:[4,"identifier"],selectionType:[5,"selectionType"]},{fetchData:"fetchData",updateSelection:"updateSelection"}),(l()(),e["ɵeld"](3,0,null,1,1,"cd-table-actions",[["class","table-actions"]],null,null,null,be.b,be.a)),e["ɵdid"](4,114688,null,0,he.a,[],{permission:[0,"permission"],selection:[1,"selection"],tableActions:[2,"tableActions"]},null),(l()(),e["ɵeld"](5,0,null,3,1,"cd-rgw-user-details",[["cdTableDetail",""]],null,null,null,xn,dn)),e["ɵdid"](6,638976,null,0,an,[_.a,sn.b,Il.a],{selection:[0,"selection"]},null)],(function(l,n){var u=n.component;l(n,2,0,u.users,u.columns,"flex",!1,"uid","multiClick"),l(n,4,0,u.permission,u.selection,u.tableActions),l(n,6,0,u.selection)}),null)}function ke(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"cd-rgw-user-list",[],null,null,null,_e,Ce)),e["ɵprd"](256,null,F.a,W,[]),e["ɵdid"](2,49152,null,0,J,[D.a,_.a,sn.b,Il.a,F.a,t.b],null,null)],null,null)}var ye=e["ɵccf"]("cd-rgw-user-list",J,ke,{},{},[]),Re=u("QC43"),Ie=u("XFyV"),we=u("DqMs"),Ee=u("/NlG"),qe=u("EmSq"),Ne=e["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Te(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"cd-loading-panel",[],null,null,null,Re.b,Re.a)),e["ɵdid"](1,49152,null,0,Ie.a,[],null,null),(l()(),e["ɵted"](-1,0,["Loading user data..."]))],null,null)}function Ve(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"cd-alert-panel",[["type","error"]],null,[[null,"backAction"]],(function(l,n,u){var e=!0;return"backAction"===n&&(e=!1!==l.component.goToListView()&&e),e}),we.b,we.a)),e["ɵdid"](1,114688,null,0,Ee.a,[Il.a],{type:[0,"type"]},{backAction:"backAction"}),(l()(),e["ɵted"](-1,0,["The user data could not be loaded."]))],(function(l,n){l(n,1,0,"error")}),null)}function Se(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function xe(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["The chosen user ID is already in use."]))],null,null)}function De(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function Fe(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This is not a valid email address."]))],null,null)}function je(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["The chosen email address is already in use."]))],null,null)}function Be(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function Pe(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["The entered value must be >= 1."]))],null,null)}function Ae(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,17,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Pn.b,Pn.a)),e["ɵdid"](1,1163264,null,2,An.c,[e.ElementRef,An.g],null,null),e["ɵqud"](603979776,9,{FormControlNames:1}),e["ɵqud"](603979776,10,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,0,"label",[["class","cd-col-form-label"]],null,null,null,null,null)),(l()(),e["ɵeld"](5,0,null,0,12,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](6,0,null,null,7,"input",[["class","form-control"],["formControlName","max_buckets"],["id","max_buckets"],["min","1"],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],(function(l,n,u){var t=!0;return"input"===n&&(t=!1!==e["ɵnov"](l,7)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,7).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,7)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,7)._compositionEnd(u.target.value)&&t),"change"===n&&(t=!1!==e["ɵnov"](l,8).onChange(u.target.value)&&t),"input"===n&&(t=!1!==e["ɵnov"](l,8).onChange(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,8).onTouched()&&t),t}),null,null)),e["ɵdid"](7,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵdid"](8,16384,null,0,d.w,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l,n){return[l,n]}),[d.e,d.w]),e["ɵdid"](10,671744,[[9,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](12,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](13,16384,null,0,An.h,[[3,d.d],An.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Be)),e["ɵdid"](15,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Pe)),e["ɵdid"](17,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,1,0),l(n,10,0,"max_buckets"),l(n,13,0,"max_buckets"),l(n,15,0,u.userForm.showError("max_buckets",e["ɵnov"](n.parent,3),"required")),l(n,17,0,u.userForm.showError("max_buckets",e["ɵnov"](n.parent,3),"min"))}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,6,0,e["ɵnov"](n,12).ngClassUntouched,e["ɵnov"](n,12).ngClassTouched,e["ɵnov"](n,12).ngClassPristine,e["ɵnov"](n,12).ngClassDirty,e["ɵnov"](n,12).ngClassValid,e["ɵnov"](n,12).ngClassInvalid,e["ɵnov"](n,12).ngClassPending,e["ɵnov"](n,13).validClass,e["ɵnov"](n,13).invalidClass)}))}function Me(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function Ue(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,21,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Pn.b,Pn.a)),e["ɵdid"](1,1163264,null,2,An.c,[e.ElementRef,An.g],null,null),e["ɵqud"](603979776,15,{FormControlNames:1}),e["ɵqud"](603979776,16,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","access_key"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Access key"])),(l()(),e["ɵeld"](6,0,null,0,15,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](7,0,null,null,12,"div",[["class","input-group"]],null,null,null,null,null)),(l()(),e["ɵeld"](8,0,null,null,6,"input",[["class","form-control"],["formControlName","access_key"],["id","access_key"],["type","password"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var t=!0;return"input"===n&&(t=!1!==e["ɵnov"](l,9)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,9).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,9)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,9)._compositionEnd(u.target.value)&&t),t}),null,null)),e["ɵdid"](9,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.e]),e["ɵdid"](11,671744,[[15,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](13,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](14,16384,null,0,An.h,[[3,d.d],An.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](15,0,null,null,4,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),e["ɵeld"](16,0,null,null,1,"button",[["cdPasswordButton","access_key"],["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var t=!0;return"click"===n&&(t=!1!==e["ɵnov"](l,17).onClick()&&t),t}),null,null)),e["ɵdid"](17,81920,null,0,Mn.a,[e.ElementRef,e.Renderer2],{cdPasswordButton:[0,"cdPasswordButton"]},null),(l()(),e["ɵeld"](18,0,null,null,1,"button",[["cdCopy2ClipboardButton","access_key"],["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var t=!0;return"click"===n&&(t=!1!==e["ɵnov"](l,19).onClick()&&t),t}),null,null)),e["ɵdid"](19,81920,null,0,Un.a,[e.ElementRef,e.Renderer2,On.j],{cdCopy2ClipboardButton:[0,"cdCopy2ClipboardButton"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Me)),e["ɵdid"](21,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,1,0),l(n,11,0,"access_key"),l(n,14,0,"access_key"),l(n,17,0,"access_key"),l(n,19,0,"access_key"),l(n,21,0,u.userForm.showError("access_key",e["ɵnov"](n.parent.parent,3),"required"))}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,8,0,e["ɵnov"](n,13).ngClassUntouched,e["ɵnov"](n,13).ngClassTouched,e["ɵnov"](n,13).ngClassPristine,e["ɵnov"](n,13).ngClassDirty,e["ɵnov"](n,13).ngClassValid,e["ɵnov"](n,13).ngClassInvalid,e["ɵnov"](n,13).ngClassPending,e["ɵnov"](n,14).validClass,e["ɵnov"](n,14).invalidClass)}))}function Oe(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function Le(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,21,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Pn.b,Pn.a)),e["ɵdid"](1,1163264,null,2,An.c,[e.ElementRef,An.g],null,null),e["ɵqud"](603979776,17,{FormControlNames:1}),e["ɵqud"](603979776,18,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","secret_key"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Secret key"])),(l()(),e["ɵeld"](6,0,null,0,15,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](7,0,null,null,12,"div",[["class","input-group"]],null,null,null,null,null)),(l()(),e["ɵeld"](8,0,null,null,6,"input",[["class","form-control"],["formControlName","secret_key"],["id","secret_key"],["type","password"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var t=!0;return"input"===n&&(t=!1!==e["ɵnov"](l,9)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,9).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,9)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,9)._compositionEnd(u.target.value)&&t),t}),null,null)),e["ɵdid"](9,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.e]),e["ɵdid"](11,671744,[[17,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](13,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](14,16384,null,0,An.h,[[3,d.d],An.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](15,0,null,null,4,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),e["ɵeld"](16,0,null,null,1,"button",[["cdPasswordButton","secret_key"],["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var t=!0;return"click"===n&&(t=!1!==e["ɵnov"](l,17).onClick()&&t),t}),null,null)),e["ɵdid"](17,81920,null,0,Mn.a,[e.ElementRef,e.Renderer2],{cdPasswordButton:[0,"cdPasswordButton"]},null),(l()(),e["ɵeld"](18,0,null,null,1,"button",[["cdCopy2ClipboardButton","secret_key"],["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var t=!0;return"click"===n&&(t=!1!==e["ɵnov"](l,19).onClick()&&t),t}),null,null)),e["ɵdid"](19,81920,null,0,Un.a,[e.ElementRef,e.Renderer2,On.j],{cdCopy2ClipboardButton:[0,"cdCopy2ClipboardButton"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Oe)),e["ɵdid"](21,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,1,0),l(n,11,0,"secret_key"),l(n,14,0,"secret_key"),l(n,17,0,"secret_key"),l(n,19,0,"secret_key"),l(n,21,0,u.userForm.showError("secret_key",e["ɵnov"](n.parent.parent,3),"required"))}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,8,0,e["ɵnov"](n,13).ngClassUntouched,e["ɵnov"](n,13).ngClassTouched,e["ɵnov"](n,13).ngClassPristine,e["ɵnov"](n,13).ngClassDirty,e["ɵnov"](n,13).ngClassValid,e["ɵnov"](n,13).ngClassInvalid,e["ɵnov"](n,13).ngClassPending,e["ɵnov"](n,14).validClass,e["ɵnov"](n,14).invalidClass)}))}function ze(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,21,"fieldset",[],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,"legend",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["S3 key"])),(l()(),e["ɵeld"](3,0,null,null,14,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Pn.b,Pn.a)),e["ɵdid"](4,1163264,null,2,An.c,[e.ElementRef,An.g],null,null),e["ɵqud"](603979776,13,{FormControlNames:1}),e["ɵqud"](603979776,14,{messagesBlock:0}),(l()(),e["ɵeld"](7,0,null,0,10,"div",[["class","cd-col-form-offset"]],null,null,null,null,null)),(l()(),e["ɵeld"](8,0,null,null,9,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(l()(),e["ɵeld"](9,0,null,null,6,"input",[["class","custom-control-input"],["formControlName","generate_key"],["id","generate_key"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var t=!0;return"change"===n&&(t=!1!==e["ɵnov"](l,10).onChange(u.target.checked)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,10).onTouched()&&t),t}),null,null)),e["ɵdid"](10,16384,null,0,d.c,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.c]),e["ɵdid"](12,671744,[[13,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](14,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](15,16384,null,0,An.h,[[3,d.d],An.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](16,0,null,null,1,"label",[["class","custom-control-label"],["for","generate_key"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Auto-generate key"])),(l()(),e["ɵand"](16777216,null,null,1,null,Ue)),e["ɵdid"](19,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Le)),e["ɵdid"](21,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,4,0),l(n,12,0,"generate_key"),l(n,15,0,"generate_key"),l(n,19,0,!u.editing&&!u.userForm.getValue("generate_key")),l(n,21,0,!u.editing&&!u.userForm.getValue("generate_key"))}),(function(l,n){l(n,3,0,e["ɵnov"](n,4).hasErrors,e["ɵnov"](n,4).hasSuccess),l(n,9,0,e["ɵnov"](n,14).ngClassUntouched,e["ɵnov"](n,14).ngClassTouched,e["ɵnov"](n,14).ngClassPristine,e["ɵnov"](n,14).ngClassDirty,e["ɵnov"](n,14).ngClassValid,e["ɵnov"](n,14).ngClassInvalid,e["ɵnov"](n,14).ngClassPending,e["ɵnov"](n,15).validClass,e["ɵnov"](n,15).invalidClass)}))}function Ge(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"span",[["class","no-border"]],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,"span",[["class","form-text text-muted"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["There are no subusers."]))],null,null)}function Ke(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,23,"span",[],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,21,"div",[["class","input-group"]],null,null,null,null,null)),(l()(),e["ɵeld"](2,0,null,null,2,"div",[["class","input-group-prepend"]],null,null,null,null,null)),(l()(),e["ɵeld"](3,0,null,null,1,"span",[["class","input-group-text"]],null,null,null,null,null)),(l()(),e["ɵeld"](4,0,null,null,0,"i",[],[[8,"className",0]],null,null,null,null)),(l()(),e["ɵeld"](5,0,null,null,0,"input",[["class","cd-form-control"],["readonly",""],["type","text"]],[[8,"value",0]],null,null,null,null)),(l()(),e["ɵeld"](6,0,null,null,2,"div",[["class","input-group-prepend border-left-0 border-right-0"]],null,null,null,null,null)),(l()(),e["ɵeld"](7,0,null,null,1,"span",[["class","input-group-text"]],null,null,null,null,null)),(l()(),e["ɵeld"](8,0,null,null,0,"i",[],[[8,"className",0]],null,null,null,null)),(l()(),e["ɵeld"](9,0,null,null,0,"input",[["class","cd-form-control"],["readonly",""],["type","text"]],[[8,"value",0]],null,null,null,null)),(l()(),e["ɵeld"](10,0,null,null,12,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),e["ɵeld"](11,16777216,null,null,5,"button",[["class","btn btn-light tc_showSubuserButton"],["tooltip","Edit"],["type","button"]],[[1,"aria-describedby",0]],[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(e=!1!==l.component.showSubuserModal(l.context.index)&&e),e}),null,null)),e["ɵdid"](12,212992,null,0,Wu.c,[e.ViewContainerRef,en.a,Wu.a,e.ElementRef,e.Renderer2,Qu.a],{tooltip:[0,"tooltip"]},null),(l()(),e["ɵeld"](13,0,null,null,3,"i",[],null,null,null,null,null)),e["ɵprd"](512,null,xl["ɵNgClassImpl"],xl["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](15,278528,null,0,xl.NgClass,[xl["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](16,1),(l()(),e["ɵeld"](17,16777216,null,null,5,"button",[["class","btn btn-light tc_deleteSubuserButton"],["tooltip","Delete"],["type","button"]],[[1,"aria-describedby",0]],[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(e=!1!==l.component.deleteSubuser(l.context.index)&&e),e}),null,null)),e["ɵdid"](18,212992,null,0,Wu.c,[e.ViewContainerRef,en.a,Wu.a,e.ElementRef,e.Renderer2,Qu.a],{tooltip:[0,"tooltip"]},null),(l()(),e["ɵeld"](19,0,null,null,3,"i",[],null,null,null,null,null)),e["ɵprd"](512,null,xl["ɵNgClassImpl"],xl["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](21,278528,null,0,xl.NgClass,[xl["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](22,1),(l()(),e["ɵeld"](23,0,null,null,0,"span",[["class","form-text text-muted"]],null,null,null,null,null))],(function(l,n){var u=n.component;l(n,12,0,"Edit");var e=l(n,16,0,u.icons.edit);l(n,15,0,e),l(n,18,0,"Delete");var t=l(n,22,0,u.icons.destroy);l(n,21,0,t)}),(function(l,n){var u=n.component;l(n,4,0,e["ɵinlineInterpolate"](1,"",u.icons.user,"")),l(n,5,0,e["ɵinlineInterpolate"](1,"",n.context.$implicit.id,"")),l(n,8,0,e["ɵinlineInterpolate"](1,"",u.icons.share,"")),l(n,9,0,e["ɵinlineInterpolate"](1,"","full-control"===n.context.$implicit.permissions?"full":n.context.$implicit.permissions,"")),l(n,11,0,e["ɵnov"](n,12).ariaDescribedby),l(n,17,0,e["ɵnov"](n,18).ariaDescribedby)}))}function $e(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,20,"fieldset",[],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,"legend",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Subusers"])),(l()(),e["ɵeld"](3,0,null,null,17,"div",[["class","row"]],null,null,null,null,null)),(l()(),e["ɵeld"](4,0,null,null,16,"div",[["class","cd-col-form-offset"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,Ge)),e["ɵdid"](6,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Ke)),e["ɵdid"](8,278528,null,0,xl.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),e["ɵeld"](9,0,null,null,10,"div",[["class","row"]],null,null,null,null,null)),(l()(),e["ɵeld"](10,0,null,null,9,"div",[["class","col-12"]],null,null,null,null,null)),(l()(),e["ɵeld"](11,0,null,null,8,"button",[["class","btn btn-light float-right tc_addSubuserButton"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(e=!1!==l.component.showSubuserModal()&&e),e}),null,null)),(l()(),e["ɵeld"](12,0,null,null,3,"i",[],null,null,null,null,null)),e["ɵprd"](512,null,xl["ɵNgClassImpl"],xl["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](14,278528,null,0,xl.NgClass,[xl["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](15,1),(l()(),e["ɵeld"](16,0,null,null,3,null,null,null,null,null,null,null)),(l()(),e["ɵted"](17,null,[""," ",""])),e["ɵppd"](18,1),e["ɵppd"](19,1),(l()(),e["ɵeld"](20,0,null,null,0,"span",[["class","help-block"]],null,null,null,null,null))],(function(l,n){var u=n.component;l(n,6,0,0===u.subusers.length),l(n,8,0,u.subusers);var e=l(n,15,0,u.icons.add);l(n,14,0,e)}),(function(l,n){var u=n.component,t=e["ɵunv"](n,17,0,l(n,18,0,e["ɵnov"](n.parent.parent,0),u.actionLabels.CREATE)),i=e["ɵunv"](n,17,1,l(n,19,0,e["ɵnov"](n.parent.parent,1),u.subuserLabel));l(n,17,0,t,i)}))}function Ze(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"span",[["class","no-border"]],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,"span",[["class","form-text text-muted"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["There are no keys."]))],null,null)}function He(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,19,"span",[],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,17,"div",[["class","input-group"]],null,null,null,null,null)),(l()(),e["ɵeld"](2,0,null,null,2,"div",[["class","input-group-prepend"]],null,null,null,null,null)),(l()(),e["ɵeld"](3,0,null,null,1,"div",[["class","input-group-text"]],null,null,null,null,null)),(l()(),e["ɵeld"](4,0,null,null,0,"i",[],[[8,"className",0]],null,null,null,null)),(l()(),e["ɵeld"](5,0,null,null,0,"input",[["class","cd-form-control"],["readonly",""],["type","text"]],[[8,"value",0]],null,null,null,null)),(l()(),e["ɵeld"](6,0,null,null,12,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),e["ɵeld"](7,16777216,null,null,5,"button",[["class","btn btn-light tc_showS3KeyButton"],["tooltip","Show"],["type","button"]],[[1,"aria-describedby",0]],[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(e=!1!==l.component.showS3KeyModal(l.context.index)&&e),e}),null,null)),e["ɵdid"](8,212992,null,0,Wu.c,[e.ViewContainerRef,en.a,Wu.a,e.ElementRef,e.Renderer2,Qu.a],{tooltip:[0,"tooltip"]},null),(l()(),e["ɵeld"](9,0,null,null,3,"i",[],null,null,null,null,null)),e["ɵprd"](512,null,xl["ɵNgClassImpl"],xl["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](11,278528,null,0,xl.NgClass,[xl["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](12,1),(l()(),e["ɵeld"](13,16777216,null,null,5,"button",[["class","btn btn-light tc_deleteS3KeyButton"],["tooltip","Delete"],["type","button"]],[[1,"aria-describedby",0]],[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(e=!1!==l.component.deleteS3Key(l.context.index)&&e),e}),null,null)),e["ɵdid"](14,212992,null,0,Wu.c,[e.ViewContainerRef,en.a,Wu.a,e.ElementRef,e.Renderer2,Qu.a],{tooltip:[0,"tooltip"]},null),(l()(),e["ɵeld"](15,0,null,null,3,"i",[],null,null,null,null,null)),e["ɵprd"](512,null,xl["ɵNgClassImpl"],xl["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](17,278528,null,0,xl.NgClass,[xl["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](18,1),(l()(),e["ɵeld"](19,0,null,null,0,"span",[["class","form-text text-muted"]],null,null,null,null,null))],(function(l,n){var u=n.component;l(n,8,0,"Show");var e=l(n,12,0,u.icons.show);l(n,11,0,e),l(n,14,0,"Delete");var t=l(n,18,0,u.icons.destroy);l(n,17,0,t)}),(function(l,n){l(n,4,0,e["ɵinlineInterpolate"](1,"",n.component.icons.key,"")),l(n,5,0,e["ɵinlineInterpolate"](1,"",n.context.$implicit.user,"")),l(n,7,0,e["ɵnov"](n,8).ariaDescribedby),l(n,13,0,e["ɵnov"](n,14).ariaDescribedby)}))}function Qe(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"span",[["class","no-border"]],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,"span",[["class","form-text text-muted"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["There are no keys."]))],null,null)}function Ye(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,13,"span",[],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,11,"div",[["class","input-group"]],null,null,null,null,null)),(l()(),e["ɵeld"](2,0,null,null,2,"div",[["class","input-group-prepend"]],null,null,null,null,null)),(l()(),e["ɵeld"](3,0,null,null,1,"span",[["class","input-group-text"]],null,null,null,null,null)),(l()(),e["ɵeld"](4,0,null,null,0,"i",[],[[8,"className",0]],null,null,null,null)),(l()(),e["ɵeld"](5,0,null,null,0,"input",[["class","cd-form-control"],["readonly",""],["type","text"]],[[8,"value",0]],null,null,null,null)),(l()(),e["ɵeld"](6,0,null,null,6,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),e["ɵeld"](7,16777216,null,null,5,"button",[["class","btn btn-light tc_showSwiftKeyButton"],["tooltip","Show"],["type","button"]],[[1,"aria-describedby",0]],[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(e=!1!==l.component.showSwiftKeyModal(l.context.index)&&e),e}),null,null)),e["ɵdid"](8,212992,null,0,Wu.c,[e.ViewContainerRef,en.a,Wu.a,e.ElementRef,e.Renderer2,Qu.a],{tooltip:[0,"tooltip"]},null),(l()(),e["ɵeld"](9,0,null,null,3,"i",[],null,null,null,null,null)),e["ɵprd"](512,null,xl["ɵNgClassImpl"],xl["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](11,278528,null,0,xl.NgClass,[xl["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](12,1),(l()(),e["ɵeld"](13,0,null,null,0,"span",[["class","form-text text-muted"]],null,null,null,null,null))],(function(l,n){var u=n.component;l(n,8,0,"Show");var e=l(n,12,0,u.icons.show);l(n,11,0,e)}),(function(l,n){l(n,4,0,e["ɵinlineInterpolate"](1,"",n.component.icons.key,"")),l(n,5,0,e["ɵinlineInterpolate"](1,"",n.context.$implicit.user,"")),l(n,7,0,e["ɵnov"](n,8).ariaDescribedby)}))}function We(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,37,"fieldset",[],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,"legend",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Keys"])),(l()(),e["ɵeld"](3,0,null,null,23,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Pn.b,Pn.a)),e["ɵdid"](4,1163264,null,2,An.c,[e.ElementRef,An.g],null,null),e["ɵqud"](603979776,19,{FormControlNames:1}),e["ɵqud"](603979776,20,{messagesBlock:0}),(l()(),e["ɵeld"](7,0,null,0,1,"label",[["class","cd-col-form-label"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["S3"])),(l()(),e["ɵeld"](9,0,null,0,16,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,Ze)),e["ɵdid"](11,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,He)),e["ɵdid"](13,278528,null,0,xl.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),e["ɵeld"](14,0,null,null,10,"div",[["class","row"]],null,null,null,null,null)),(l()(),e["ɵeld"](15,0,null,null,9,"div",[["class","col-12"]],null,null,null,null,null)),(l()(),e["ɵeld"](16,0,null,null,8,"button",[["class","btn btn-light float-right tc_addS3KeyButton"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(e=!1!==l.component.showS3KeyModal()&&e),e}),null,null)),(l()(),e["ɵeld"](17,0,null,null,3,"i",[],null,null,null,null,null)),e["ɵprd"](512,null,xl["ɵNgClassImpl"],xl["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](19,278528,null,0,xl.NgClass,[xl["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](20,1),(l()(),e["ɵeld"](21,0,null,null,3,null,null,null,null,null,null,null)),(l()(),e["ɵted"](22,null,[""," ",""])),e["ɵppd"](23,1),e["ɵppd"](24,1),(l()(),e["ɵeld"](25,0,null,null,0,"span",[["class","help-block"]],null,null,null,null,null)),(l()(),e["ɵeld"](26,0,null,0,0,"hr",[],null,null,null,null,null)),(l()(),e["ɵeld"](27,0,null,null,10,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Pn.b,Pn.a)),e["ɵdid"](28,1163264,null,2,An.c,[e.ElementRef,An.g],null,null),e["ɵqud"](603979776,21,{FormControlNames:1}),e["ɵqud"](603979776,22,{messagesBlock:0}),(l()(),e["ɵeld"](31,0,null,0,1,"label",[["class","cd-col-form-label"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Swift"])),(l()(),e["ɵeld"](33,0,null,0,4,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,Qe)),e["ɵdid"](35,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Ye)),e["ɵdid"](37,278528,null,0,xl.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(l,n){var u=n.component;l(n,4,0),l(n,11,0,0===u.s3Keys.length),l(n,13,0,u.s3Keys);var e=l(n,20,0,u.icons.add);l(n,19,0,e),l(n,28,0),l(n,35,0,0===u.swiftKeys.length),l(n,37,0,u.swiftKeys)}),(function(l,n){var u=n.component;l(n,3,0,e["ɵnov"](n,4).hasErrors,e["ɵnov"](n,4).hasSuccess);var t=e["ɵunv"](n,22,0,l(n,23,0,e["ɵnov"](n.parent.parent,0),u.actionLabels.CREATE)),i=e["ɵunv"](n,22,1,l(n,24,0,e["ɵnov"](n.parent.parent,1),u.s3keyLabel));l(n,22,0,t,i),l(n,27,0,e["ɵnov"](n,28).hasErrors,e["ɵnov"](n,28).hasSuccess)}))}function Je(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"span",[["class","no-border"]],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,"span",[["class","form-text text-muted"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["There are no capabilities."]))],null,null)}function Xe(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,19,"span",[],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,17,"div",[["class","input-group"]],null,null,null,null,null)),(l()(),e["ɵeld"](2,0,null,null,2,"span",[["class","input-group-prepend"]],null,null,null,null,null)),(l()(),e["ɵeld"](3,0,null,null,1,"div",[["class","input-group-text"]],null,null,null,null,null)),(l()(),e["ɵeld"](4,0,null,null,0,"i",[],[[8,"className",0]],null,null,null,null)),(l()(),e["ɵeld"](5,0,null,null,0,"input",[["class","cd-form-control"],["readonly",""],["type","text"]],[[8,"value",0]],null,null,null,null)),(l()(),e["ɵeld"](6,0,null,null,12,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),e["ɵeld"](7,16777216,null,null,5,"button",[["class","btn btn-light tc_editCapButton"],["tooltip","Edit"],["type","button"]],[[1,"aria-describedby",0]],[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(e=!1!==l.component.showCapabilityModal(l.context.index)&&e),e}),null,null)),e["ɵdid"](8,212992,null,0,Wu.c,[e.ViewContainerRef,en.a,Wu.a,e.ElementRef,e.Renderer2,Qu.a],{tooltip:[0,"tooltip"]},null),(l()(),e["ɵeld"](9,0,null,null,3,"i",[],null,null,null,null,null)),e["ɵprd"](512,null,xl["ɵNgClassImpl"],xl["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](11,278528,null,0,xl.NgClass,[xl["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](12,1),(l()(),e["ɵeld"](13,16777216,null,null,5,"button",[["class","btn btn-light tc_deleteCapButton"],["tooltip","Delete"],["type","button"]],[[1,"aria-describedby",0]],[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(e=!1!==l.component.deleteCapability(l.context.index)&&e),e}),null,null)),e["ɵdid"](14,212992,null,0,Wu.c,[e.ViewContainerRef,en.a,Wu.a,e.ElementRef,e.Renderer2,Qu.a],{tooltip:[0,"tooltip"]},null),(l()(),e["ɵeld"](15,0,null,null,3,"i",[],null,null,null,null,null)),e["ɵprd"](512,null,xl["ɵNgClassImpl"],xl["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](17,278528,null,0,xl.NgClass,[xl["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](18,1),(l()(),e["ɵeld"](19,0,null,null,0,"span",[["class","form-text text-muted"]],null,null,null,null,null))],(function(l,n){var u=n.component;l(n,8,0,"Edit");var e=l(n,12,0,u.icons.edit);l(n,11,0,e),l(n,14,0,"Delete");var t=l(n,18,0,u.icons.destroy);l(n,17,0,t)}),(function(l,n){l(n,4,0,e["ɵinlineInterpolate"](1,"",n.component.icons.share,"")),l(n,5,0,e["ɵinlineInterpolate"](2,"",n.context.$implicit.type,":",n.context.$implicit.perm,"")),l(n,7,0,e["ɵnov"](n,8).ariaDescribedby),l(n,13,0,e["ɵnov"](n,14).ariaDescribedby)}))}function lt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,24,"fieldset",[],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,"legend",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Capabilities"])),(l()(),e["ɵeld"](3,0,null,null,21,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Pn.b,Pn.a)),e["ɵdid"](4,1163264,null,2,An.c,[e.ElementRef,An.g],null,null),e["ɵqud"](603979776,23,{FormControlNames:1}),e["ɵqud"](603979776,24,{messagesBlock:0}),(l()(),e["ɵeld"](7,0,null,0,17,"div",[["class","cd-col-form-offset"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,Je)),e["ɵdid"](9,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Xe)),e["ɵdid"](11,278528,null,0,xl.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),e["ɵeld"](12,0,null,null,11,"div",[["class","row"]],null,null,null,null,null)),(l()(),e["ɵeld"](13,0,null,null,10,"div",[["class","col-12"]],null,null,null,null,null)),(l()(),e["ɵeld"](14,16777216,null,null,9,"button",[["class","btn btn-light float-right tc_addCapButton"],["tooltip","All capabilities are already added."],["triggers","pointerenter pointerleave"],["type","button"]],[[8,"disabled",0],[1,"aria-describedby",0]],[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(e=!1!==l.component.showCapabilityModal()&&e),e}),null,null)),e["ɵdid"](15,212992,null,0,Wu.c,[e.ViewContainerRef,en.a,Wu.a,e.ElementRef,e.Renderer2,Qu.a],{tooltip:[0,"tooltip"],triggers:[1,"triggers"],isDisabled:[2,"isDisabled"]},null),(l()(),e["ɵeld"](16,0,null,null,3,"i",[],null,null,null,null,null)),e["ɵprd"](512,null,xl["ɵNgClassImpl"],xl["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](18,278528,null,0,xl.NgClass,[xl["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](19,1),(l()(),e["ɵeld"](20,0,null,null,3,null,null,null,null,null,null,null)),(l()(),e["ɵted"](21,null,[""," ",""])),e["ɵppd"](22,1),e["ɵppd"](23,1),(l()(),e["ɵeld"](24,0,null,null,0,"span",[["class","help-block"]],null,null,null,null,null))],(function(l,n){var u=n.component;l(n,4,0),l(n,9,0,0===u.capabilities.length),l(n,11,0,u.capabilities),l(n,15,0,"All capabilities are already added.","pointerenter pointerleave",!u.hasAllCapabilities());var e=l(n,19,0,u.icons.add);l(n,18,0,e)}),(function(l,n){var u=n.component;l(n,3,0,e["ɵnov"](n,4).hasErrors,e["ɵnov"](n,4).hasSuccess),l(n,14,0,u.hasAllCapabilities(),e["ɵnov"](n,15).ariaDescribedby);var t=e["ɵunv"](n,21,0,l(n,22,0,e["ɵnov"](n.parent.parent,0),u.actionLabels.ADD)),i=e["ɵunv"](n,21,1,l(n,23,0,e["ɵnov"](n.parent.parent,1),u.capabilityLabel));l(n,21,0,t,i)}))}function nt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,14,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Pn.b,Pn.a)),e["ɵdid"](1,1163264,null,2,An.c,[e.ElementRef,An.g],null,null),e["ɵqud"](603979776,27,{FormControlNames:1}),e["ɵqud"](603979776,28,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,10,"div",[["class","cd-col-form-offset"]],null,null,null,null,null)),(l()(),e["ɵeld"](5,0,null,null,9,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(l()(),e["ɵeld"](6,0,null,null,6,"input",[["class","custom-control-input"],["formControlName","user_quota_max_size_unlimited"],["id","user_quota_max_size_unlimited"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var t=!0;return"change"===n&&(t=!1!==e["ɵnov"](l,7).onChange(u.target.checked)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,7).onTouched()&&t),t}),null,null)),e["ɵdid"](7,16384,null,0,d.c,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.c]),e["ɵdid"](9,671744,[[27,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](11,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](12,16384,null,0,An.h,[[3,d.d],An.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](13,0,null,null,1,"label",[["class","custom-control-label"],["for","user_quota_max_size_unlimited"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Unlimited size"]))],(function(l,n){l(n,1,0),l(n,9,0,"user_quota_max_size_unlimited"),l(n,12,0,"user_quota_max_size_unlimited")}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,6,0,e["ɵnov"](n,11).ngClassUntouched,e["ɵnov"](n,11).ngClassTouched,e["ɵnov"](n,11).ngClassPristine,e["ɵnov"](n,11).ngClassDirty,e["ɵnov"](n,11).ngClassValid,e["ɵnov"](n,11).ngClassInvalid,e["ɵnov"](n,11).ngClassPending,e["ɵnov"](n,12).validClass,e["ɵnov"](n,12).invalidClass)}))}function ut(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function et(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["The value is not valid."]))],null,null)}function tt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,18,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Pn.b,Pn.a)),e["ɵdid"](1,1163264,null,2,An.c,[e.ElementRef,An.g],null,null),e["ɵqud"](603979776,29,{FormControlNames:1}),e["ɵqud"](603979776,30,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","user_quota_max_size"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Max. size"])),(l()(),e["ɵeld"](6,0,null,0,12,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](7,0,null,null,7,"input",[["cdDimlessBinary",""],["class","form-control"],["formControlName","user_quota_max_size"],["id","user_quota_max_size"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var t=!0;return"input"===n&&(t=!1!==e["ɵnov"](l,8)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,8).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,8)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,8)._compositionEnd(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,12).onBlur(u.target.value)&&t),t}),null,null)),e["ɵdid"](8,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.e]),e["ɵdid"](10,671744,[[29,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](12,81920,null,0,qe.a,[e.ElementRef,d.q,on.a,O.a],null,null),e["ɵdid"](13,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](14,16384,null,0,An.h,[[3,d.d],An.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,ut)),e["ɵdid"](16,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,et)),e["ɵdid"](18,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,1,0),l(n,10,0,"user_quota_max_size"),l(n,12,0),l(n,14,0,"user_quota_max_size"),l(n,16,0,u.userForm.showError("user_quota_max_size",e["ɵnov"](n.parent,3),"required")),l(n,18,0,u.userForm.showError("user_quota_max_size",e["ɵnov"](n.parent,3),"quotaMaxSize"))}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,7,0,e["ɵnov"](n,13).ngClassUntouched,e["ɵnov"](n,13).ngClassTouched,e["ɵnov"](n,13).ngClassPristine,e["ɵnov"](n,13).ngClassDirty,e["ɵnov"](n,13).ngClassValid,e["ɵnov"](n,13).ngClassInvalid,e["ɵnov"](n,13).ngClassPending,e["ɵnov"](n,14).validClass,e["ɵnov"](n,14).invalidClass)}))}function it(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,14,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Pn.b,Pn.a)),e["ɵdid"](1,1163264,null,2,An.c,[e.ElementRef,An.g],null,null),e["ɵqud"](603979776,31,{FormControlNames:1}),e["ɵqud"](603979776,32,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,10,"div",[["class","cd-col-form-offset"]],null,null,null,null,null)),(l()(),e["ɵeld"](5,0,null,null,9,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(l()(),e["ɵeld"](6,0,null,null,6,"input",[["class","custom-control-input"],["formControlName","user_quota_max_objects_unlimited"],["id","user_quota_max_objects_unlimited"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var t=!0;return"change"===n&&(t=!1!==e["ɵnov"](l,7).onChange(u.target.checked)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,7).onTouched()&&t),t}),null,null)),e["ɵdid"](7,16384,null,0,d.c,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.c]),e["ɵdid"](9,671744,[[31,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](11,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](12,16384,null,0,An.h,[[3,d.d],An.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](13,0,null,null,1,"label",[["class","custom-control-label"],["for","user_quota_max_objects_unlimited"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Unlimited objects"]))],(function(l,n){l(n,1,0),l(n,9,0,"user_quota_max_objects_unlimited"),l(n,12,0,"user_quota_max_objects_unlimited")}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,6,0,e["ɵnov"](n,11).ngClassUntouched,e["ɵnov"](n,11).ngClassTouched,e["ɵnov"](n,11).ngClassPristine,e["ɵnov"](n,11).ngClassDirty,e["ɵnov"](n,11).ngClassValid,e["ɵnov"](n,11).ngClassInvalid,e["ɵnov"](n,11).ngClassPending,e["ɵnov"](n,12).validClass,e["ɵnov"](n,12).invalidClass)}))}function ot(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function at(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["The entered value must be >= 0."]))],null,null)}function st(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,18,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Pn.b,Pn.a)),e["ɵdid"](1,1163264,null,2,An.c,[e.ElementRef,An.g],null,null),e["ɵqud"](603979776,33,{FormControlNames:1}),e["ɵqud"](603979776,34,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","user_quota_max_objects"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Max. objects"])),(l()(),e["ɵeld"](6,0,null,0,12,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](7,0,null,null,7,"input",[["class","form-control"],["formControlName","user_quota_max_objects"],["id","user_quota_max_objects"],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],(function(l,n,u){var t=!0;return"input"===n&&(t=!1!==e["ɵnov"](l,8)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,8).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,8)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,8)._compositionEnd(u.target.value)&&t),"change"===n&&(t=!1!==e["ɵnov"](l,9).onChange(u.target.value)&&t),"input"===n&&(t=!1!==e["ɵnov"](l,9).onChange(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,9).onTouched()&&t),t}),null,null)),e["ɵdid"](8,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵdid"](9,16384,null,0,d.w,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l,n){return[l,n]}),[d.e,d.w]),e["ɵdid"](11,671744,[[33,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](13,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](14,16384,null,0,An.h,[[3,d.d],An.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,ot)),e["ɵdid"](16,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,at)),e["ɵdid"](18,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,1,0),l(n,11,0,"user_quota_max_objects"),l(n,14,0,"user_quota_max_objects"),l(n,16,0,u.userForm.showError("user_quota_max_objects",e["ɵnov"](n.parent,3),"required")),l(n,18,0,u.userForm.showError("user_quota_max_objects",e["ɵnov"](n.parent,3),"min"))}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,7,0,e["ɵnov"](n,13).ngClassUntouched,e["ɵnov"](n,13).ngClassTouched,e["ɵnov"](n,13).ngClassPristine,e["ɵnov"](n,13).ngClassDirty,e["ɵnov"](n,13).ngClassValid,e["ɵnov"](n,13).ngClassInvalid,e["ɵnov"](n,13).ngClassPending,e["ɵnov"](n,14).validClass,e["ɵnov"](n,14).invalidClass)}))}function dt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,14,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Pn.b,Pn.a)),e["ɵdid"](1,1163264,null,2,An.c,[e.ElementRef,An.g],null,null),e["ɵqud"](603979776,37,{FormControlNames:1}),e["ɵqud"](603979776,38,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,10,"div",[["class","cd-col-form-offset"]],null,null,null,null,null)),(l()(),e["ɵeld"](5,0,null,null,9,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(l()(),e["ɵeld"](6,0,null,null,6,"input",[["class","custom-control-input"],["formControlName","bucket_quota_max_size_unlimited"],["id","bucket_quota_max_size_unlimited"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var t=!0;return"change"===n&&(t=!1!==e["ɵnov"](l,7).onChange(u.target.checked)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,7).onTouched()&&t),t}),null,null)),e["ɵdid"](7,16384,null,0,d.c,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.c]),e["ɵdid"](9,671744,[[37,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](11,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](12,16384,null,0,An.h,[[3,d.d],An.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](13,0,null,null,1,"label",[["class","custom-control-label"],["for","bucket_quota_max_size_unlimited"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Unlimited size"]))],(function(l,n){l(n,1,0),l(n,9,0,"bucket_quota_max_size_unlimited"),l(n,12,0,"bucket_quota_max_size_unlimited")}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,6,0,e["ɵnov"](n,11).ngClassUntouched,e["ɵnov"](n,11).ngClassTouched,e["ɵnov"](n,11).ngClassPristine,e["ɵnov"](n,11).ngClassDirty,e["ɵnov"](n,11).ngClassValid,e["ɵnov"](n,11).ngClassInvalid,e["ɵnov"](n,11).ngClassPending,e["ɵnov"](n,12).validClass,e["ɵnov"](n,12).invalidClass)}))}function rt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function ct(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["The value is not valid."]))],null,null)}function mt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,18,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Pn.b,Pn.a)),e["ɵdid"](1,1163264,null,2,An.c,[e.ElementRef,An.g],null,null),e["ɵqud"](603979776,39,{FormControlNames:1}),e["ɵqud"](603979776,40,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","bucket_quota_max_size"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Max. size"])),(l()(),e["ɵeld"](6,0,null,0,12,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](7,0,null,null,7,"input",[["cdDimlessBinary",""],["class","form-control"],["formControlName","bucket_quota_max_size"],["id","bucket_quota_max_size"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var t=!0;return"input"===n&&(t=!1!==e["ɵnov"](l,8)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,8).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,8)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,8)._compositionEnd(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,12).onBlur(u.target.value)&&t),t}),null,null)),e["ɵdid"](8,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.e]),e["ɵdid"](10,671744,[[39,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](12,81920,null,0,qe.a,[e.ElementRef,d.q,on.a,O.a],null,null),e["ɵdid"](13,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](14,16384,null,0,An.h,[[3,d.d],An.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,rt)),e["ɵdid"](16,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,ct)),e["ɵdid"](18,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,1,0),l(n,10,0,"bucket_quota_max_size"),l(n,12,0),l(n,14,0,"bucket_quota_max_size"),l(n,16,0,u.userForm.showError("bucket_quota_max_size",e["ɵnov"](n.parent,3),"required")),l(n,18,0,u.userForm.showError("bucket_quota_max_size",e["ɵnov"](n.parent,3),"quotaMaxSize"))}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,7,0,e["ɵnov"](n,13).ngClassUntouched,e["ɵnov"](n,13).ngClassTouched,e["ɵnov"](n,13).ngClassPristine,e["ɵnov"](n,13).ngClassDirty,e["ɵnov"](n,13).ngClassValid,e["ɵnov"](n,13).ngClassInvalid,e["ɵnov"](n,13).ngClassPending,e["ɵnov"](n,14).validClass,e["ɵnov"](n,14).invalidClass)}))}function gt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,14,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Pn.b,Pn.a)),e["ɵdid"](1,1163264,null,2,An.c,[e.ElementRef,An.g],null,null),e["ɵqud"](603979776,41,{FormControlNames:1}),e["ɵqud"](603979776,42,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,10,"div",[["class","cd-col-form-offset"]],null,null,null,null,null)),(l()(),e["ɵeld"](5,0,null,null,9,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(l()(),e["ɵeld"](6,0,null,null,6,"input",[["class","custom-control-input"],["formControlName","bucket_quota_max_objects_unlimited"],["id","bucket_quota_max_objects_unlimited"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var t=!0;return"change"===n&&(t=!1!==e["ɵnov"](l,7).onChange(u.target.checked)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,7).onTouched()&&t),t}),null,null)),e["ɵdid"](7,16384,null,0,d.c,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.c]),e["ɵdid"](9,671744,[[41,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](11,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](12,16384,null,0,An.h,[[3,d.d],An.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](13,0,null,null,1,"label",[["class","custom-control-label"],["for","bucket_quota_max_objects_unlimited"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Unlimited objects"]))],(function(l,n){l(n,1,0),l(n,9,0,"bucket_quota_max_objects_unlimited"),l(n,12,0,"bucket_quota_max_objects_unlimited")}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,6,0,e["ɵnov"](n,11).ngClassUntouched,e["ɵnov"](n,11).ngClassTouched,e["ɵnov"](n,11).ngClassPristine,e["ɵnov"](n,11).ngClassDirty,e["ɵnov"](n,11).ngClassValid,e["ɵnov"](n,11).ngClassInvalid,e["ɵnov"](n,11).ngClassPending,e["ɵnov"](n,12).validClass,e["ɵnov"](n,12).invalidClass)}))}function pt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function ft(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["The entered value must be >= 0."]))],null,null)}function vt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,18,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Pn.b,Pn.a)),e["ɵdid"](1,1163264,null,2,An.c,[e.ElementRef,An.g],null,null),e["ɵqud"](603979776,43,{FormControlNames:1}),e["ɵqud"](603979776,44,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","bucket_quota_max_objects"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Max. objects"])),(l()(),e["ɵeld"](6,0,null,0,12,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](7,0,null,null,7,"input",[["class","form-control"],["formControlName","bucket_quota_max_objects"],["id","bucket_quota_max_objects"],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],(function(l,n,u){var t=!0;return"input"===n&&(t=!1!==e["ɵnov"](l,8)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,8).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,8)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,8)._compositionEnd(u.target.value)&&t),"change"===n&&(t=!1!==e["ɵnov"](l,9).onChange(u.target.value)&&t),"input"===n&&(t=!1!==e["ɵnov"](l,9).onChange(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,9).onTouched()&&t),t}),null,null)),e["ɵdid"](8,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵdid"](9,16384,null,0,d.w,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l,n){return[l,n]}),[d.e,d.w]),e["ɵdid"](11,671744,[[43,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](13,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](14,16384,null,0,An.h,[[3,d.d],An.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,pt)),e["ɵdid"](16,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,ft)),e["ɵdid"](18,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,1,0),l(n,11,0,"bucket_quota_max_objects"),l(n,14,0,"bucket_quota_max_objects"),l(n,16,0,u.userForm.showError("bucket_quota_max_objects",e["ɵnov"](n.parent,3),"required")),l(n,18,0,u.userForm.showError("bucket_quota_max_objects",e["ɵnov"](n.parent,3),"min"))}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,7,0,e["ɵnov"](n,13).ngClassUntouched,e["ɵnov"](n,13).ngClassTouched,e["ɵnov"](n,13).ngClassPristine,e["ɵnov"](n,13).ngClassDirty,e["ɵnov"](n,13).ngClassValid,e["ɵnov"](n,13).ngClassInvalid,e["ɵnov"](n,13).ngClassPending,e["ɵnov"](n,14).validClass,e["ɵnov"](n,14).invalidClass)}))}function bt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,183,"div",[["class","cd-col-form"]],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,182,"form",[["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,u){var t=!0;return"submit"===n&&(t=!1!==e["ɵnov"](l,3).onSubmit(u)&&t),"reset"===n&&(t=!1!==e["ɵnov"](l,3).onReset()&&t),"submit"===n&&(t=!1!==e["ɵnov"](l,6).onSubmit()&&t),t}),null,null)),e["ɵdid"](2,16384,null,0,d.G,[],null,null),e["ɵdid"](3,540672,[["frm",4]],0,d.l,[[8,null],[8,null]],{form:[0,"form"]},null),e["ɵprd"](2048,null,d.d,null,[d.l]),e["ɵdid"](5,16384,null,0,d.s,[[4,d.d]],null,null),e["ɵdid"](6,16384,null,0,An.d,[],{formGroup:[0,"formGroup"]},null),(l()(),e["ɵeld"](7,0,null,null,176,"div",[["class","card"]],null,null,null,null,null)),(l()(),e["ɵeld"](8,0,null,null,3,"div",[["class","card-header"]],null,null,null,null,null)),(l()(),e["ɵted"](9,null,[""," ",""])),e["ɵppd"](10,1),e["ɵppd"](11,1),(l()(),e["ɵeld"](12,0,null,null,162,"div",[["class","card-body"]],null,null,null,null,null)),(l()(),e["ɵeld"](13,0,null,null,21,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Pn.b,Pn.a)),e["ɵdid"](14,1163264,null,2,An.c,[e.ElementRef,An.g],null,null),e["ɵqud"](603979776,1,{FormControlNames:1}),e["ɵqud"](603979776,2,{messagesBlock:0}),(l()(),e["ɵeld"](17,0,null,0,4,"label",[["class","cd-col-form-label"],["for","uid"]],null,null,null,null,null)),e["ɵprd"](512,null,xl["ɵNgClassImpl"],xl["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](19,278528,null,0,xl.NgClass,[xl["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),e["ɵpod"](20,{required:0}),(l()(),e["ɵted"](-1,null,["Username"])),(l()(),e["ɵeld"](22,0,null,0,12,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](23,0,null,null,7,"input",[["autofocus",""],["class","form-control"],["formControlName","uid"],["id","uid"],["type","text"]],[[8,"readOnly",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var t=!0;return"input"===n&&(t=!1!==e["ɵnov"](l,25)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,25).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,25)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,25)._compositionEnd(u.target.value)&&t),t}),null,null)),e["ɵdid"](24,4210688,null,0,Hn.a,[e.ElementRef],{autofocus:[0,"autofocus"]},null),e["ɵdid"](25,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.e]),e["ɵdid"](27,671744,[[1,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](29,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](30,16384,null,0,An.h,[[3,d.d],An.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Se)),e["ɵdid"](32,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,xe)),e["ɵdid"](34,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](35,0,null,null,18,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Pn.b,Pn.a)),e["ɵdid"](36,1163264,null,2,An.c,[e.ElementRef,An.g],null,null),e["ɵqud"](603979776,3,{FormControlNames:1}),e["ɵqud"](603979776,4,{messagesBlock:0}),(l()(),e["ɵeld"](39,0,null,0,4,"label",[["class","cd-col-form-label"],["for","display_name"]],null,null,null,null,null)),e["ɵprd"](512,null,xl["ɵNgClassImpl"],xl["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](41,278528,null,0,xl.NgClass,[xl["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),e["ɵpod"](42,{required:0}),(l()(),e["ɵted"](-1,null,["Full name"])),(l()(),e["ɵeld"](44,0,null,0,9,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](45,0,null,null,6,"input",[["class","form-control"],["formControlName","display_name"],["id","display_name"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var t=!0;return"input"===n&&(t=!1!==e["ɵnov"](l,46)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,46).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,46)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,46)._compositionEnd(u.target.value)&&t),t}),null,null)),e["ɵdid"](46,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.e]),e["ɵdid"](48,671744,[[3,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](50,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](51,16384,null,0,An.h,[[3,d.d],An.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,De)),e["ɵdid"](53,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](54,0,null,null,17,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Pn.b,Pn.a)),e["ɵdid"](55,1163264,null,2,An.c,[e.ElementRef,An.g],null,null),e["ɵqud"](603979776,5,{FormControlNames:1}),e["ɵqud"](603979776,6,{messagesBlock:0}),(l()(),e["ɵeld"](58,0,null,0,1,"label",[["class","cd-col-form-label"],["for","email"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Email address"])),(l()(),e["ɵeld"](60,0,null,0,11,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](61,0,null,null,6,"input",[["class","form-control"],["formControlName","email"],["id","email"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var t=!0;return"input"===n&&(t=!1!==e["ɵnov"](l,62)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,62).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,62)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,62)._compositionEnd(u.target.value)&&t),t}),null,null)),e["ɵdid"](62,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.e]),e["ɵdid"](64,671744,[[5,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](66,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](67,16384,null,0,An.h,[[3,d.d],An.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Fe)),e["ɵdid"](69,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,je)),e["ɵdid"](71,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](72,0,null,null,25,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Pn.b,Pn.a)),e["ɵdid"](73,1163264,null,2,An.c,[e.ElementRef,An.g],null,null),e["ɵqud"](603979776,7,{FormControlNames:1}),e["ɵqud"](603979776,8,{messagesBlock:0}),(l()(),e["ɵeld"](76,0,null,0,1,"label",[["class","cd-col-form-label"],["for","max_buckets_mode"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Max. buckets"])),(l()(),e["ɵeld"](78,0,null,0,19,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](79,0,null,null,18,"select",[["class","form-control custom-select"],["formControlName","max_buckets_mode"],["id","max_buckets_mode"],["name","max_buckets_mode"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var t=!0;return"change"===n&&(t=!1!==e["ɵnov"](l,80).onChange(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,80).onTouched()&&t),t}),null,null)),e["ɵdid"](80,16384,null,0,d.A,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.A]),e["ɵdid"](82,671744,[[7,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](84,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](85,16384,null,0,An.h,[[3,d.d],An.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](86,0,null,null,3,"option",[["value","-1"]],null,null,null,null,null)),e["ɵdid"](87,147456,null,0,d.v,[e.ElementRef,e.Renderer2,[2,d.A]],{value:[0,"value"]},null),e["ɵdid"](88,147456,null,0,d.F,[e.ElementRef,e.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),e["ɵted"](-1,null,["Disabled"])),(l()(),e["ɵeld"](90,0,null,null,3,"option",[["value","0"]],null,null,null,null,null)),e["ɵdid"](91,147456,null,0,d.v,[e.ElementRef,e.Renderer2,[2,d.A]],{value:[0,"value"]},null),e["ɵdid"](92,147456,null,0,d.F,[e.ElementRef,e.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),e["ɵted"](-1,null,["Unlimited"])),(l()(),e["ɵeld"](94,0,null,null,3,"option",[["value","1"]],null,null,null,null,null)),e["ɵdid"](95,147456,null,0,d.v,[e.ElementRef,e.Renderer2,[2,d.A]],{value:[0,"value"]},null),e["ɵdid"](96,147456,null,0,d.F,[e.ElementRef,e.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),e["ɵted"](-1,null,["Custom"])),(l()(),e["ɵand"](16777216,null,null,1,null,Ae)),e["ɵdid"](99,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](100,0,null,null,14,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Pn.b,Pn.a)),e["ɵdid"](101,1163264,null,2,An.c,[e.ElementRef,An.g],null,null),e["ɵqud"](603979776,11,{FormControlNames:1}),e["ɵqud"](603979776,12,{messagesBlock:0}),(l()(),e["ɵeld"](104,0,null,0,10,"div",[["class","cd-col-form-offset"]],null,null,null,null,null)),(l()(),e["ɵeld"](105,0,null,null,9,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(l()(),e["ɵeld"](106,0,null,null,6,"input",[["class","custom-control-input"],["formControlName","suspended"],["id","suspended"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var t=!0;return"change"===n&&(t=!1!==e["ɵnov"](l,107).onChange(u.target.checked)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,107).onTouched()&&t),t}),null,null)),e["ɵdid"](107,16384,null,0,d.c,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.c]),e["ɵdid"](109,671744,[[11,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](111,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](112,16384,null,0,An.h,[[3,d.d],An.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](113,0,null,null,1,"label",[["class","custom-control-label"],["for","suspended"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Suspended"])),(l()(),e["ɵand"](16777216,null,null,1,null,ze)),e["ɵdid"](116,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,$e)),e["ɵdid"](118,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,We)),e["ɵdid"](120,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,lt)),e["ɵdid"](122,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](123,0,null,null,25,"fieldset",[],null,null,null,null,null)),(l()(),e["ɵeld"](124,0,null,null,1,"legend",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["User quota"])),(l()(),e["ɵeld"](126,0,null,null,14,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Pn.b,Pn.a)),e["ɵdid"](127,1163264,null,2,An.c,[e.ElementRef,An.g],null,null),e["ɵqud"](603979776,25,{FormControlNames:1}),e["ɵqud"](603979776,26,{messagesBlock:0}),(l()(),e["ɵeld"](130,0,null,0,10,"div",[["class","cd-col-form-offset"]],null,null,null,null,null)),(l()(),e["ɵeld"](131,0,null,null,9,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(l()(),e["ɵeld"](132,0,null,null,6,"input",[["class","custom-control-input"],["formControlName","user_quota_enabled"],["id","user_quota_enabled"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var t=!0;return"change"===n&&(t=!1!==e["ɵnov"](l,133).onChange(u.target.checked)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,133).onTouched()&&t),t}),null,null)),e["ɵdid"](133,16384,null,0,d.c,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.c]),e["ɵdid"](135,671744,[[25,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](137,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](138,16384,null,0,An.h,[[3,d.d],An.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](139,0,null,null,1,"label",[["class","custom-control-label"],["for","user_quota_enabled"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Enabled"])),(l()(),e["ɵand"](16777216,null,null,1,null,nt)),e["ɵdid"](142,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,tt)),e["ɵdid"](144,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,it)),e["ɵdid"](146,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,st)),e["ɵdid"](148,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](149,0,null,null,25,"fieldset",[],null,null,null,null,null)),(l()(),e["ɵeld"](150,0,null,null,1,"legend",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Bucket quota"])),(l()(),e["ɵeld"](152,0,null,null,14,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Pn.b,Pn.a)),e["ɵdid"](153,1163264,null,2,An.c,[e.ElementRef,An.g],null,null),e["ɵqud"](603979776,35,{FormControlNames:1}),e["ɵqud"](603979776,36,{messagesBlock:0}),(l()(),e["ɵeld"](156,0,null,0,10,"div",[["class","cd-col-form-offset"]],null,null,null,null,null)),(l()(),e["ɵeld"](157,0,null,null,9,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(l()(),e["ɵeld"](158,0,null,null,6,"input",[["class","custom-control-input"],["formControlName","bucket_quota_enabled"],["id","bucket_quota_enabled"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var t=!0;return"change"===n&&(t=!1!==e["ɵnov"](l,159).onChange(u.target.checked)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,159).onTouched()&&t),t}),null,null)),e["ɵdid"](159,16384,null,0,d.c,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.c]),e["ɵdid"](161,671744,[[35,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](163,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](164,16384,null,0,An.h,[[3,d.d],An.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](165,0,null,null,1,"label",[["class","custom-control-label"],["for","bucket_quota_enabled"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Enabled"])),(l()(),e["ɵand"](16777216,null,null,1,null,dt)),e["ɵdid"](168,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,mt)),e["ɵdid"](170,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,gt)),e["ɵdid"](172,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,vt)),e["ɵdid"](174,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](175,0,null,null,8,"div",[["class","card-footer"]],null,null,null,null,null)),(l()(),e["ɵeld"](176,0,null,null,7,"div",[["class","button-group text-right"]],null,null,null,null,null)),(l()(),e["ɵeld"](177,0,null,null,4,"cd-submit-button",[],null,[[null,"submitAction"]],(function(l,n,u){var e=!0;return"submitAction"===n&&(e=!1!==l.component.onSubmit()&&e),e}),Qn.b,Qn.a)),e["ɵdid"](178,114688,null,0,Yn.a,[e.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(l()(),e["ɵted"](179,0,[""," ",""])),e["ɵppd"](180,1),e["ɵppd"](181,1),(l()(),e["ɵeld"](182,0,null,null,1,"cd-back-button",[],null,null,null,Ln.b,Ln.a)),e["ɵdid"](183,49152,null,0,zn.a,[xl.Location,t.b],null,null)],(function(l,n){var u=n.component;l(n,3,0,u.userForm),l(n,6,0,u.userForm),l(n,14,0);var t=l(n,20,0,!u.editing);l(n,19,0,"cd-col-form-label",t),l(n,24,0,""),l(n,27,0,"uid"),l(n,30,0,"uid"),l(n,32,0,u.userForm.showError("uid",e["ɵnov"](n,3),"required")),l(n,34,0,u.userForm.showError("uid",e["ɵnov"](n,3),"notUnique")),l(n,36,0);var i=l(n,42,0,!u.editing);l(n,41,0,"cd-col-form-label",i),l(n,48,0,"display_name"),l(n,51,0,"display_name"),l(n,53,0,u.userForm.showError("display_name",e["ɵnov"](n,3),"required")),l(n,55,0),l(n,64,0,"email"),l(n,67,0,"email"),l(n,69,0,u.userForm.showError("email",e["ɵnov"](n,3),"email")),l(n,71,0,u.userForm.showError("email",e["ɵnov"](n,3),"notUnique")),l(n,73,0),l(n,82,0,"max_buckets_mode"),l(n,85,0,"max_buckets_mode"),l(n,87,0,"-1"),l(n,88,0,"-1"),l(n,91,0,"0"),l(n,92,0,"0"),l(n,95,0,"1"),l(n,96,0,"1"),l(n,99,0,1==u.userForm.get("max_buckets_mode").value),l(n,101,0),l(n,109,0,"suspended"),l(n,112,0,"suspended"),l(n,116,0,!u.editing),l(n,118,0,u.editing),l(n,120,0,u.editing),l(n,122,0,u.editing),l(n,127,0),l(n,135,0,"user_quota_enabled"),l(n,138,0,"user_quota_enabled"),l(n,142,0,u.userForm.controls.user_quota_enabled.value),l(n,144,0,u.userForm.controls.user_quota_enabled.value&&!u.userForm.getValue("user_quota_max_size_unlimited")),l(n,146,0,u.userForm.controls.user_quota_enabled.value),l(n,148,0,u.userForm.controls.user_quota_enabled.value&&!u.userForm.getValue("user_quota_max_objects_unlimited")),l(n,153,0),l(n,161,0,"bucket_quota_enabled"),l(n,164,0,"bucket_quota_enabled"),l(n,168,0,u.userForm.controls.bucket_quota_enabled.value),l(n,170,0,u.userForm.controls.bucket_quota_enabled.value&&!u.userForm.getValue("bucket_quota_max_size_unlimited")),l(n,172,0,u.userForm.controls.bucket_quota_enabled.value),l(n,174,0,u.userForm.controls.bucket_quota_enabled.value&&!u.userForm.getValue("bucket_quota_max_objects_unlimited")),l(n,178,0,u.userForm)}),(function(l,n){var u=n.component;l(n,1,0,e["ɵnov"](n,5).ngClassUntouched,e["ɵnov"](n,5).ngClassTouched,e["ɵnov"](n,5).ngClassPristine,e["ɵnov"](n,5).ngClassDirty,e["ɵnov"](n,5).ngClassValid,e["ɵnov"](n,5).ngClassInvalid,e["ɵnov"](n,5).ngClassPending);var t=e["ɵunv"](n,9,0,l(n,10,0,e["ɵnov"](n.parent,0),u.action)),i=e["ɵunv"](n,9,1,l(n,11,0,e["ɵnov"](n.parent,1),u.resource));l(n,9,0,t,i),l(n,13,0,e["ɵnov"](n,14).hasErrors,e["ɵnov"](n,14).hasSuccess),l(n,23,0,u.editing,e["ɵnov"](n,29).ngClassUntouched,e["ɵnov"](n,29).ngClassTouched,e["ɵnov"](n,29).ngClassPristine,e["ɵnov"](n,29).ngClassDirty,e["ɵnov"](n,29).ngClassValid,e["ɵnov"](n,29).ngClassInvalid,e["ɵnov"](n,29).ngClassPending,e["ɵnov"](n,30).validClass,e["ɵnov"](n,30).invalidClass),l(n,35,0,e["ɵnov"](n,36).hasErrors,e["ɵnov"](n,36).hasSuccess),l(n,45,0,e["ɵnov"](n,50).ngClassUntouched,e["ɵnov"](n,50).ngClassTouched,e["ɵnov"](n,50).ngClassPristine,e["ɵnov"](n,50).ngClassDirty,e["ɵnov"](n,50).ngClassValid,e["ɵnov"](n,50).ngClassInvalid,e["ɵnov"](n,50).ngClassPending,e["ɵnov"](n,51).validClass,e["ɵnov"](n,51).invalidClass),l(n,54,0,e["ɵnov"](n,55).hasErrors,e["ɵnov"](n,55).hasSuccess),l(n,61,0,e["ɵnov"](n,66).ngClassUntouched,e["ɵnov"](n,66).ngClassTouched,e["ɵnov"](n,66).ngClassPristine,e["ɵnov"](n,66).ngClassDirty,e["ɵnov"](n,66).ngClassValid,e["ɵnov"](n,66).ngClassInvalid,e["ɵnov"](n,66).ngClassPending,e["ɵnov"](n,67).validClass,e["ɵnov"](n,67).invalidClass),l(n,72,0,e["ɵnov"](n,73).hasErrors,e["ɵnov"](n,73).hasSuccess),l(n,79,0,e["ɵnov"](n,84).ngClassUntouched,e["ɵnov"](n,84).ngClassTouched,e["ɵnov"](n,84).ngClassPristine,e["ɵnov"](n,84).ngClassDirty,e["ɵnov"](n,84).ngClassValid,e["ɵnov"](n,84).ngClassInvalid,e["ɵnov"](n,84).ngClassPending,e["ɵnov"](n,85).validClass,e["ɵnov"](n,85).invalidClass),l(n,100,0,e["ɵnov"](n,101).hasErrors,e["ɵnov"](n,101).hasSuccess),l(n,106,0,e["ɵnov"](n,111).ngClassUntouched,e["ɵnov"](n,111).ngClassTouched,e["ɵnov"](n,111).ngClassPristine,e["ɵnov"](n,111).ngClassDirty,e["ɵnov"](n,111).ngClassValid,e["ɵnov"](n,111).ngClassInvalid,e["ɵnov"](n,111).ngClassPending,e["ɵnov"](n,112).validClass,e["ɵnov"](n,112).invalidClass),l(n,126,0,e["ɵnov"](n,127).hasErrors,e["ɵnov"](n,127).hasSuccess),l(n,132,0,e["ɵnov"](n,137).ngClassUntouched,e["ɵnov"](n,137).ngClassTouched,e["ɵnov"](n,137).ngClassPristine,e["ɵnov"](n,137).ngClassDirty,e["ɵnov"](n,137).ngClassValid,e["ɵnov"](n,137).ngClassInvalid,e["ɵnov"](n,137).ngClassPending,e["ɵnov"](n,138).validClass,e["ɵnov"](n,138).invalidClass),l(n,152,0,e["ɵnov"](n,153).hasErrors,e["ɵnov"](n,153).hasSuccess),l(n,158,0,e["ɵnov"](n,163).ngClassUntouched,e["ɵnov"](n,163).ngClassTouched,e["ɵnov"](n,163).ngClassPristine,e["ɵnov"](n,163).ngClassDirty,e["ɵnov"](n,163).ngClassValid,e["ɵnov"](n,163).ngClassInvalid,e["ɵnov"](n,163).ngClassPending,e["ɵnov"](n,164).validClass,e["ɵnov"](n,164).invalidClass);var o=e["ɵunv"](n,179,0,l(n,180,0,e["ɵnov"](n.parent,0),u.action)),a=e["ɵunv"](n,179,1,l(n,181,0,e["ɵnov"](n.parent,1),u.resource));l(n,179,0,o,a)}))}function ht(l){return e["ɵvid"](0,[e["ɵpid"](0,xl.TitleCasePipe,[]),e["ɵpid"](0,jn.a,[]),(l()(),e["ɵand"](16777216,null,null,1,null,Te)),e["ɵdid"](3,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Ve)),e["ɵdid"](5,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,bt)),e["ɵdid"](7,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,3,0,u.editing&&u.loading&&!u.error),l(n,5,0,u.editing&&u.error),l(n,7,0,!u.loading&&!u.error)}),null)}function Ct(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"cd-rgw-user-form",[],null,null,null,ht,Ne)),e["ɵdid"](1,114688,null,0,Q,[R.a,ne.a,ne.m,_.a,sn.b,w.a,Il.a,t.b],null,null)],(function(l,n){l(n,1,0)}),null)}var _t=e["ɵccf"]("cd-rgw-user-form",Q,Ct,{},{},[]),kt=e["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function yt(l){return e["ɵvid"](0,[e["ɵqud"](402653184,1,{table:0}),(l()(),e["ɵeld"](1,0,null,null,5,"cd-table",[["columnMode","flex"],["identifier","bid"],["selectionType","multiClick"]],null,[[null,"updateSelection"],[null,"fetchData"]],(function(l,n,u){var e=!0,t=l.component;return"updateSelection"===n&&(e=!1!==t.updateSelection(u)&&e),"fetchData"===n&&(e=!1!==t.getBucketList(u)&&e),e}),nn.b,nn.a)),e["ɵdid"](2,2867200,[[1,4],["table",4]],0,S.a,[e.NgZone,e.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],autoReload:[3,"autoReload"],identifier:[4,"identifier"],selectionType:[5,"selectionType"]},{fetchData:"fetchData",updateSelection:"updateSelection"}),(l()(),e["ɵeld"](3,0,null,1,1,"cd-table-actions",[["class","table-actions"]],null,null,null,be.b,be.a)),e["ɵdid"](4,114688,null,0,he.a,[],{permission:[0,"permission"],selection:[1,"selection"],tableActions:[2,"tableActions"]},null),(l()(),e["ɵeld"](5,0,null,3,1,"cd-rgw-bucket-details",[["cdTableDetail",""]],null,null,null,Jl,zl)),e["ɵdid"](6,573440,null,0,Ll,[],{selection:[0,"selection"]},null)],(function(l,n){var u=n.component;l(n,2,0,u.buckets,u.columns,"flex",!1,"bid","multiClick"),l(n,4,0,u.permission,u.selection,u.tableActions),l(n,6,0,u.selection)}),null)}function Rt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"cd-rgw-bucket-list",[],null,null,null,yt,kt)),e["ɵprd"](256,null,F.a,j,[]),e["ɵdid"](2,49152,null,0,B,[D.a,h,sn.b,Il.a,F.a,t.b],null,null)],null,null)}var It=e["ɵccf"]("cd-rgw-bucket-list",B,Rt,{},{},[]),wt=u("4HWh"),Et=u("p4Cf"),qt=e["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Nt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"cd-loading-panel",[],null,null,null,Re.b,Re.a)),e["ɵdid"](1,49152,null,0,Ie.a,[],null,null),(l()(),e["ɵted"](-1,0,["Loading bucket data..."]))],null,null)}function Tt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,13,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Pn.b,Pn.a)),e["ɵdid"](1,1163264,null,2,An.c,[e.ElementRef,An.g],null,null),e["ɵqud"](603979776,1,{FormControlNames:1}),e["ɵqud"](603979776,2,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label"],["for","id"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Id"])),(l()(),e["ɵeld"](6,0,null,0,7,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](7,0,null,null,6,"input",[["class","form-control"],["formControlName","id"],["id","id"],["name","id"],["readonly",""],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var t=!0;return"input"===n&&(t=!1!==e["ɵnov"](l,8)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,8).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,8)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,8)._compositionEnd(u.target.value)&&t),t}),null,null)),e["ɵdid"](8,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.e]),e["ɵdid"](10,671744,[[1,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](12,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](13,16384,null,0,An.h,[[3,d.d],An.a],{formControlName:[0,"formControlName"]},null)],(function(l,n){l(n,1,0),l(n,10,0,"id"),l(n,13,0,"id")}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,7,0,e["ɵnov"](n,12).ngClassUntouched,e["ɵnov"](n,12).ngClassTouched,e["ɵnov"](n,12).ngClassPristine,e["ɵnov"](n,12).ngClassDirty,e["ɵnov"](n,12).ngClassValid,e["ɵnov"](n,12).ngClassInvalid,e["ɵnov"](n,12).ngClassPending,e["ɵnov"](n,13).validClass,e["ɵnov"](n,13).invalidClass)}))}function Vt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function St(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["The value is not valid."]))],null,null)}function xt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["The chosen name is already in use."]))],null,null)}function Dt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,d.v,[e.ElementRef,e.Renderer2,[2,d.A]],{ngValue:[0,"ngValue"]},null),e["ɵdid"](2,147456,null,0,d.F,[e.ElementRef,e.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),e["ɵted"](-1,null,["Loading..."]))],(function(l,n){l(n,1,0,null),l(n,2,0,null)}),null)}function Ft(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,d.v,[e.ElementRef,e.Renderer2,[2,d.A]],{ngValue:[0,"ngValue"]},null),e["ɵdid"](2,147456,null,0,d.F,[e.ElementRef,e.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),e["ɵted"](-1,null,["-- Select a user --"]))],(function(l,n){l(n,1,0,null),l(n,2,0,null)}),null)}function jt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,d.v,[e.ElementRef,e.Renderer2,[2,d.A]],{value:[0,"value"]},null),e["ɵdid"](2,147456,null,0,d.F,[e.ElementRef,e.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),e["ɵted"](3,null,["",""]))],(function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)}),(function(l,n){l(n,3,0,n.context.$implicit)}))}function Bt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function Pt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,d.v,[e.ElementRef,e.Renderer2,[2,d.A]],{ngValue:[0,"ngValue"]},null),e["ɵdid"](2,147456,null,0,d.F,[e.ElementRef,e.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),e["ɵted"](-1,null,["Loading..."]))],(function(l,n){l(n,1,0,null),l(n,2,0,null)}),null)}function At(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,d.v,[e.ElementRef,e.Renderer2,[2,d.A]],{ngValue:[0,"ngValue"]},null),e["ɵdid"](2,147456,null,0,d.F,[e.ElementRef,e.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),e["ɵted"](-1,null,["-- Select a placement target --"]))],(function(l,n){l(n,1,0,null),l(n,2,0,null)}),null)}function Mt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,d.v,[e.ElementRef,e.Renderer2,[2,d.A]],{value:[0,"value"]},null),e["ɵdid"](2,147456,null,0,d.F,[e.ElementRef,e.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),e["ɵted"](3,null,["",""]))],(function(l,n){l(n,1,0,n.context.$implicit.name),l(n,2,0,n.context.$implicit.name)}),(function(l,n){l(n,3,0,n.context.$implicit.description)}))}function Ut(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function Ot(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,12,"select",[["class","form-control custom-select"],["formControlName","placement-target"],["id","placement-target"],["name","placement-target"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var t=!0;return"change"===n&&(t=!1!==e["ɵnov"](l,1).onChange(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,1).onTouched()&&t),t}),null,null)),e["ɵdid"](1,16384,null,0,d.A,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.A]),e["ɵdid"](3,671744,[[7,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](5,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](6,16384,null,0,An.h,[[3,d.d],An.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Pt)),e["ɵdid"](8,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,At)),e["ɵdid"](10,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Mt)),e["ɵdid"](12,278528,null,0,xl.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Ut)),e["ɵdid"](14,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](0,null,null,0))],(function(l,n){var u=n.component;l(n,3,0,"placement-target"),l(n,6,0,"placement-target"),l(n,8,0,null===u.placementTargets),l(n,10,0,null!==u.placementTargets),l(n,12,0,u.placementTargets),l(n,14,0,u.bucketForm.showError("placement-target",e["ɵnov"](n.parent,3),"required"))}),(function(l,n){l(n,0,0,e["ɵnov"](n,5).ngClassUntouched,e["ɵnov"](n,5).ngClassTouched,e["ɵnov"](n,5).ngClassPristine,e["ɵnov"](n,5).ngClassDirty,e["ɵnov"](n,5).ngClassValid,e["ɵnov"](n,5).ngClassInvalid,e["ɵnov"](n,5).ngClassPending,e["ɵnov"](n,6).validClass,e["ɵnov"](n,6).invalidClass)}))}function Lt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,7,null,null,null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,6,"input",[["class","form-control"],["formControlName","placement-target"],["id","placement-target"],["name","placement-target"],["readonly",""],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var t=!0;return"input"===n&&(t=!1!==e["ɵnov"](l,2)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,2).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,2)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,2)._compositionEnd(u.target.value)&&t),t}),null,null)),e["ɵdid"](2,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.e]),e["ɵdid"](4,671744,[[7,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](6,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](7,16384,null,0,An.h,[[3,d.d],An.a],{formControlName:[0,"formControlName"]},null)],(function(l,n){l(n,4,0,"placement-target"),l(n,7,0,"placement-target")}),(function(l,n){l(n,1,0,e["ɵnov"](n,6).ngClassUntouched,e["ɵnov"](n,6).ngClassTouched,e["ɵnov"](n,6).ngClassPristine,e["ɵnov"](n,6).ngClassDirty,e["ɵnov"](n,6).ngClassValid,e["ɵnov"](n,6).ngClassInvalid,e["ɵnov"](n,6).ngClassPending,e["ɵnov"](n,7).validClass,e["ɵnov"](n,7).invalidClass)}))}function zt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,21,"fieldset",[],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,"legend",[["class","cd-header"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Versioning"])),(l()(),e["ɵeld"](3,0,null,null,18,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Pn.b,Pn.a)),e["ɵdid"](4,1163264,null,2,An.c,[e.ElementRef,An.g],null,null),e["ɵqud"](603979776,9,{FormControlNames:1}),e["ɵqud"](603979776,10,{messagesBlock:0}),(l()(),e["ɵeld"](7,0,null,0,14,"div",[["class","cd-col-form-offset"]],null,null,null,null,null)),(l()(),e["ɵeld"](8,0,null,null,13,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(l()(),e["ɵeld"](9,0,null,null,6,"input",[["class","custom-control-input"],["formControlName","versioning"],["id","versioning"],["name","versioning"],["type","checkbox"]],[[8,"checked",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var t=!0,i=l.component;return"change"===n&&(t=!1!==e["ɵnov"](l,10).onChange(u.target.checked)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,10).onTouched()&&t),"change"===n&&(t=!1!==i.updateVersioning()&&t),t}),null,null)),e["ɵdid"](10,16384,null,0,d.c,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.c]),e["ɵdid"](12,671744,[[9,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](14,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](15,16384,null,0,An.h,[[3,d.d],An.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](16,0,null,null,1,"label",[["class","custom-control-label"],["for","versioning"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Enabled"])),(l()(),e["ɵeld"](18,0,null,null,3,"cd-helper",[],null,null,null,wt.b,wt.a)),e["ɵdid"](19,49152,null,0,Et.a,[],null,null),(l()(),e["ɵeld"](20,0,null,0,1,"span",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Enables versioning for the objects in the bucket."]))],(function(l,n){l(n,4,0),l(n,12,0,"versioning"),l(n,15,0,"versioning")}),(function(l,n){var u=n.component;l(n,3,0,e["ɵnov"](n,4).hasErrors,e["ɵnov"](n,4).hasSuccess),l(n,9,0,u.isVersioningEnabled,e["ɵnov"](n,14).ngClassUntouched,e["ɵnov"](n,14).ngClassTouched,e["ɵnov"](n,14).ngClassPristine,e["ɵnov"](n,14).ngClassDirty,e["ɵnov"](n,14).ngClassValid,e["ɵnov"](n,14).ngClassInvalid,e["ɵnov"](n,14).ngClassPending,e["ɵnov"](n,15).validClass,e["ɵnov"](n,15).invalidClass)}))}function Gt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function Kt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,15,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Pn.b,Pn.a)),e["ɵdid"](1,1163264,null,2,An.c,[e.ElementRef,An.g],null,null),e["ɵqud"](603979776,13,{FormControlNames:1}),e["ɵqud"](603979776,14,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label"],["for","mfa-token-serial"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Token Serial Number"])),(l()(),e["ɵeld"](6,0,null,0,9,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](7,0,null,null,6,"input",[["class","form-control"],["formControlName","mfa-token-serial"],["id","mfa-token-serial"],["name","mfa-token-serial"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var t=!0;return"input"===n&&(t=!1!==e["ɵnov"](l,8)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,8).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,8)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,8)._compositionEnd(u.target.value)&&t),t}),null,null)),e["ɵdid"](8,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.e]),e["ɵdid"](10,671744,[[13,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](12,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](13,16384,null,0,An.h,[[3,d.d],An.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Gt)),e["ɵdid"](15,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,1,0),l(n,10,0,"mfa-token-serial"),l(n,13,0,"mfa-token-serial"),l(n,15,0,u.bucketForm.showError("mfa-token-serial",e["ɵnov"](n.parent.parent,3),"required"))}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,7,0,e["ɵnov"](n,12).ngClassUntouched,e["ɵnov"](n,12).ngClassTouched,e["ɵnov"](n,12).ngClassPristine,e["ɵnov"](n,12).ngClassDirty,e["ɵnov"](n,12).ngClassValid,e["ɵnov"](n,12).ngClassInvalid,e["ɵnov"](n,12).ngClassPending,e["ɵnov"](n,13).validClass,e["ɵnov"](n,13).invalidClass)}))}function $t(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function Zt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,15,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Pn.b,Pn.a)),e["ɵdid"](1,1163264,null,2,An.c,[e.ElementRef,An.g],null,null),e["ɵqud"](603979776,15,{FormControlNames:1}),e["ɵqud"](603979776,16,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label"],["for","mfa-token-pin"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Token PIN"])),(l()(),e["ɵeld"](6,0,null,0,9,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](7,0,null,null,6,"input",[["class","form-control"],["formControlName","mfa-token-pin"],["id","mfa-token-pin"],["name","mfa-token-pin"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var t=!0;return"input"===n&&(t=!1!==e["ɵnov"](l,8)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,8).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,8)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,8)._compositionEnd(u.target.value)&&t),t}),null,null)),e["ɵdid"](8,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.e]),e["ɵdid"](10,671744,[[15,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](12,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](13,16384,null,0,An.h,[[3,d.d],An.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,$t)),e["ɵdid"](15,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,1,0),l(n,10,0,"mfa-token-pin"),l(n,13,0,"mfa-token-pin"),l(n,15,0,u.bucketForm.showError("mfa-token-pin",e["ɵnov"](n.parent.parent,3),"required"))}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,7,0,e["ɵnov"](n,12).ngClassUntouched,e["ɵnov"](n,12).ngClassTouched,e["ɵnov"](n,12).ngClassPristine,e["ɵnov"](n,12).ngClassDirty,e["ɵnov"](n,12).ngClassValid,e["ɵnov"](n,12).ngClassInvalid,e["ɵnov"](n,12).ngClassPending,e["ɵnov"](n,13).validClass,e["ɵnov"](n,13).invalidClass)}))}function Ht(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,25,"fieldset",[],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,"legend",[["class","cd-header"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Multi-Factor Authentication"])),(l()(),e["ɵeld"](3,0,null,null,18,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Pn.b,Pn.a)),e["ɵdid"](4,1163264,null,2,An.c,[e.ElementRef,An.g],null,null),e["ɵqud"](603979776,11,{FormControlNames:1}),e["ɵqud"](603979776,12,{messagesBlock:0}),(l()(),e["ɵeld"](7,0,null,0,14,"div",[["class","cd-col-form-offset"]],null,null,null,null,null)),(l()(),e["ɵeld"](8,0,null,null,13,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(l()(),e["ɵeld"](9,0,null,null,6,"input",[["class","custom-control-input"],["formControlName","mfa-delete"],["id","mfa-delete"],["name","mfa-delete"],["type","checkbox"]],[[8,"checked",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var t=!0,i=l.component;return"change"===n&&(t=!1!==e["ɵnov"](l,10).onChange(u.target.checked)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,10).onTouched()&&t),"change"===n&&(t=!1!==i.updateMfaDelete()&&t),t}),null,null)),e["ɵdid"](10,16384,null,0,d.c,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.c]),e["ɵdid"](12,671744,[[11,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](14,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](15,16384,null,0,An.h,[[3,d.d],An.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](16,0,null,null,1,"label",[["class","custom-control-label"],["for","mfa-delete"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Delete enabled"])),(l()(),e["ɵeld"](18,0,null,null,3,"cd-helper",[],null,null,null,wt.b,wt.a)),e["ɵdid"](19,49152,null,0,Et.a,[],null,null),(l()(),e["ɵeld"](20,0,null,0,1,"span",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state."])),(l()(),e["ɵand"](16777216,null,null,1,null,Kt)),e["ɵdid"](23,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Zt)),e["ɵdid"](25,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,4,0),l(n,12,0,"mfa-delete"),l(n,15,0,"mfa-delete"),l(n,23,0,u.areMfaCredentialsRequired()),l(n,25,0,u.areMfaCredentialsRequired())}),(function(l,n){var u=n.component;l(n,3,0,e["ɵnov"](n,4).hasErrors,e["ɵnov"](n,4).hasSuccess),l(n,9,0,u.isMfaDeleteEnabled,e["ɵnov"](n,14).ngClassUntouched,e["ɵnov"](n,14).ngClassTouched,e["ɵnov"](n,14).ngClassPristine,e["ɵnov"](n,14).ngClassDirty,e["ɵnov"](n,14).ngClassValid,e["ɵnov"](n,14).ngClassInvalid,e["ɵnov"](n,14).ngClassPending,e["ɵnov"](n,15).validClass,e["ɵnov"](n,15).invalidClass)}))}function Qt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,21,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Pn.b,Pn.a)),e["ɵdid"](1,1163264,null,2,An.c,[e.ElementRef,An.g],null,null),e["ɵqud"](603979776,19,{FormControlNames:1}),e["ɵqud"](603979776,20,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label"],["for","lock_mode"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Mode"])),(l()(),e["ɵeld"](6,0,null,0,15,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](7,0,null,null,14,"select",[["class","form-control custom-select"],["formControlName","lock_mode"],["id","lock_mode"],["name","lock_mode"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var t=!0;return"change"===n&&(t=!1!==e["ɵnov"](l,8).onChange(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,8).onTouched()&&t),t}),null,null)),e["ɵdid"](8,16384,null,0,d.A,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.A]),e["ɵdid"](10,671744,[[19,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](12,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](13,16384,null,0,An.h,[[3,d.d],An.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](14,0,null,null,3,"option",[["value","COMPLIANCE"]],null,null,null,null,null)),e["ɵdid"](15,147456,null,0,d.v,[e.ElementRef,e.Renderer2,[2,d.A]],{value:[0,"value"]},null),e["ɵdid"](16,147456,null,0,d.F,[e.ElementRef,e.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),e["ɵted"](-1,null,["Compliance"])),(l()(),e["ɵeld"](18,0,null,null,3,"option",[["value","GOVERNANCE"]],null,null,null,null,null)),e["ɵdid"](19,147456,null,0,d.v,[e.ElementRef,e.Renderer2,[2,d.A]],{value:[0,"value"]},null),e["ɵdid"](20,147456,null,0,d.F,[e.ElementRef,e.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),e["ɵted"](-1,null,["Governance"]))],(function(l,n){l(n,1,0),l(n,10,0,"lock_mode"),l(n,13,0,"lock_mode"),l(n,15,0,"COMPLIANCE"),l(n,16,0,"COMPLIANCE"),l(n,19,0,"GOVERNANCE"),l(n,20,0,"GOVERNANCE")}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,7,0,e["ɵnov"](n,12).ngClassUntouched,e["ɵnov"](n,12).ngClassTouched,e["ɵnov"](n,12).ngClassPristine,e["ɵnov"](n,12).ngClassDirty,e["ɵnov"](n,12).ngClassValid,e["ɵnov"](n,12).ngClassInvalid,e["ɵnov"](n,12).ngClassPending,e["ɵnov"](n,13).validClass,e["ɵnov"](n,13).invalidClass)}))}function Yt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["The entered value must be a positive integer."]))],null,null)}function Wt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Retention period requires either Days or Years."]))],null,null)}function Jt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,22,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Pn.b,Pn.a)),e["ɵdid"](1,1163264,null,2,An.c,[e.ElementRef,An.g],null,null),e["ɵqud"](603979776,21,{FormControlNames:1}),e["ɵqud"](603979776,22,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,5,"label",[["class","cd-col-form-label"],["for","lock_retention_period_days"]],null,null,null,null,null)),(l()(),e["ɵeld"](5,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Days"])),(l()(),e["ɵeld"](7,0,null,null,2,"cd-helper",[],null,null,null,wt.b,wt.a)),e["ɵdid"](8,49152,null,0,Et.a,[],null,null),(l()(),e["ɵted"](-1,0,["The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket."])),(l()(),e["ɵeld"](10,0,null,0,12,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](11,0,null,null,7,"input",[["class","form-control"],["formControlName","lock_retention_period_days"],["id","lock_retention_period_days"],["min","0"],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],(function(l,n,u){var t=!0;return"input"===n&&(t=!1!==e["ɵnov"](l,12)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,12).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,12)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,12)._compositionEnd(u.target.value)&&t),"change"===n&&(t=!1!==e["ɵnov"](l,13).onChange(u.target.value)&&t),"input"===n&&(t=!1!==e["ɵnov"](l,13).onChange(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,13).onTouched()&&t),t}),null,null)),e["ɵdid"](12,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵdid"](13,16384,null,0,d.w,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l,n){return[l,n]}),[d.e,d.w]),e["ɵdid"](15,671744,[[21,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](17,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](18,16384,null,0,An.h,[[3,d.d],An.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Yt)),e["ɵdid"](20,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Wt)),e["ɵdid"](22,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,1,0),l(n,15,0,"lock_retention_period_days"),l(n,18,0,"lock_retention_period_days"),l(n,20,0,u.bucketForm.showError("lock_retention_period_days",e["ɵnov"](n.parent,3),"pattern")),l(n,22,0,u.bucketForm.showError("lock_retention_period_days",e["ɵnov"](n.parent,3),"eitherDaysOrYears"))}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,11,0,e["ɵnov"](n,17).ngClassUntouched,e["ɵnov"](n,17).ngClassTouched,e["ɵnov"](n,17).ngClassPristine,e["ɵnov"](n,17).ngClassDirty,e["ɵnov"](n,17).ngClassValid,e["ɵnov"](n,17).ngClassInvalid,e["ɵnov"](n,17).ngClassPending,e["ɵnov"](n,18).validClass,e["ɵnov"](n,18).invalidClass)}))}function Xt(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["The entered value must be a positive integer."]))],null,null)}function li(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Retention period requires either Days or Years."]))],null,null)}function ni(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,22,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Pn.b,Pn.a)),e["ɵdid"](1,1163264,null,2,An.c,[e.ElementRef,An.g],null,null),e["ɵqud"](603979776,23,{FormControlNames:1}),e["ɵqud"](603979776,24,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,5,"label",[["class","cd-col-form-label"],["for","lock_retention_period_years"]],null,null,null,null,null)),(l()(),e["ɵeld"](5,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Years"])),(l()(),e["ɵeld"](7,0,null,null,2,"cd-helper",[],null,null,null,wt.b,wt.a)),e["ɵdid"](8,49152,null,0,Et.a,[],null,null),(l()(),e["ɵted"](-1,0,["The number of years that you want to specify for the default retention period that will be applied to new objects placed in this bucket."])),(l()(),e["ɵeld"](10,0,null,0,12,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](11,0,null,null,7,"input",[["class","form-control"],["formControlName","lock_retention_period_years"],["id","lock_retention_period_years"],["min","0"],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],(function(l,n,u){var t=!0;return"input"===n&&(t=!1!==e["ɵnov"](l,12)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,12).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,12)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,12)._compositionEnd(u.target.value)&&t),"change"===n&&(t=!1!==e["ɵnov"](l,13).onChange(u.target.value)&&t),"input"===n&&(t=!1!==e["ɵnov"](l,13).onChange(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,13).onTouched()&&t),t}),null,null)),e["ɵdid"](12,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵdid"](13,16384,null,0,d.w,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l,n){return[l,n]}),[d.e,d.w]),e["ɵdid"](15,671744,[[23,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](17,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](18,16384,null,0,An.h,[[3,d.d],An.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Xt)),e["ɵdid"](20,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,li)),e["ɵdid"](22,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,1,0),l(n,15,0,"lock_retention_period_years"),l(n,18,0,"lock_retention_period_years"),l(n,20,0,u.bucketForm.showError("lock_retention_period_days",e["ɵnov"](n.parent,3),"pattern")),l(n,22,0,u.bucketForm.showError("lock_retention_period_years",e["ɵnov"](n.parent,3),"eitherDaysOrYears"))}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,11,0,e["ɵnov"](n,17).ngClassUntouched,e["ɵnov"](n,17).ngClassTouched,e["ɵnov"](n,17).ngClassPristine,e["ɵnov"](n,17).ngClassDirty,e["ɵnov"](n,17).ngClassValid,e["ɵnov"](n,17).ngClassInvalid,e["ɵnov"](n,17).ngClassPending,e["ɵnov"](n,18).validClass,e["ɵnov"](n,18).invalidClass)}))}function ui(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,115,"div",[["class","cd-col-form"]],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,114,"form",[["name","bucketForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,u){var t=!0;return"submit"===n&&(t=!1!==e["ɵnov"](l,3).onSubmit(u)&&t),"reset"===n&&(t=!1!==e["ɵnov"](l,3).onReset()&&t),"submit"===n&&(t=!1!==e["ɵnov"](l,6).onSubmit()&&t),t}),null,null)),e["ɵdid"](2,16384,null,0,d.G,[],null,null),e["ɵdid"](3,540672,[["frm",4]],0,d.l,[[8,null],[8,null]],{form:[0,"form"]},null),e["ɵprd"](2048,null,d.d,null,[d.l]),e["ɵdid"](5,16384,null,0,d.s,[[4,d.d]],null,null),e["ɵdid"](6,16384,null,0,An.d,[],{formGroup:[0,"formGroup"]},null),(l()(),e["ɵeld"](7,0,null,null,108,"div",[["class","card"]],null,null,null,null,null)),(l()(),e["ɵeld"](8,0,null,null,3,"div",[["class","card-header"]],null,null,null,null,null)),(l()(),e["ɵted"](9,null,[""," ",""])),e["ɵppd"](10,1),e["ɵppd"](11,1),(l()(),e["ɵeld"](12,0,null,null,94,"div",[["class","card-body"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,Tt)),e["ɵdid"](14,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](15,0,null,null,23,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Pn.b,Pn.a)),e["ɵdid"](16,1163264,null,2,An.c,[e.ElementRef,An.g],null,null),e["ɵqud"](603979776,3,{FormControlNames:1}),e["ɵqud"](603979776,4,{messagesBlock:0}),(l()(),e["ɵeld"](19,0,null,0,4,"label",[["class","cd-col-form-label"],["for","bid"]],null,null,null,null,null)),e["ɵprd"](512,null,xl["ɵNgClassImpl"],xl["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](21,278528,null,0,xl.NgClass,[xl["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),e["ɵpod"](22,{required:0}),(l()(),e["ɵted"](-1,null,["Name"])),(l()(),e["ɵeld"](24,0,null,0,14,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](25,0,null,null,7,"input",[["class","form-control"],["formControlName","bid"],["id","bid"],["name","bid"],["placeholder","Name..."],["type","text"]],[[8,"readOnly",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var t=!0;return"input"===n&&(t=!1!==e["ɵnov"](l,27)._handleInput(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,27).onTouched()&&t),"compositionstart"===n&&(t=!1!==e["ɵnov"](l,27)._compositionStart()&&t),"compositionend"===n&&(t=!1!==e["ɵnov"](l,27)._compositionEnd(u.target.value)&&t),t}),null,null)),e["ɵdid"](26,4210688,null,0,Hn.a,[e.ElementRef],{autofocus:[0,"autofocus"]},null),e["ɵdid"](27,16384,null,0,d.e,[e.Renderer2,e.ElementRef,[2,d.b]],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.e]),e["ɵdid"](29,671744,[[3,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](31,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](32,16384,null,0,An.h,[[3,d.d],An.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Vt)),e["ɵdid"](34,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,St)),e["ɵdid"](36,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,xt)),e["ɵdid"](38,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](39,0,null,null,22,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Pn.b,Pn.a)),e["ɵdid"](40,1163264,null,2,An.c,[e.ElementRef,An.g],null,null),e["ɵqud"](603979776,5,{FormControlNames:1}),e["ɵqud"](603979776,6,{messagesBlock:0}),(l()(),e["ɵeld"](43,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","owner"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Owner"])),(l()(),e["ɵeld"](45,0,null,0,16,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](46,0,null,null,13,"select",[["class","form-control custom-select"],["formControlName","owner"],["id","owner"],["name","owner"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var t=!0;return"change"===n&&(t=!1!==e["ɵnov"](l,48).onChange(u.target.value)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,48).onTouched()&&t),t}),null,null)),e["ɵdid"](47,4210688,null,0,Hn.a,[e.ElementRef],{autofocus:[0,"autofocus"]},null),e["ɵdid"](48,16384,null,0,d.A,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.A]),e["ɵdid"](50,671744,[[5,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](52,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](53,16384,null,0,An.h,[[3,d.d],An.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Dt)),e["ɵdid"](55,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Ft)),e["ɵdid"](57,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,jt)),e["ɵdid"](59,278528,null,0,xl.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Bt)),e["ɵdid"](61,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](62,0,null,null,12,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Pn.b,Pn.a)),e["ɵdid"](63,1163264,null,2,An.c,[e.ElementRef,An.g],null,null),e["ɵqud"](603979776,7,{FormControlNames:1}),e["ɵqud"](603979776,8,{messagesBlock:0}),(l()(),e["ɵeld"](66,0,null,0,4,"label",[["class","cd-col-form-label"],["for","placement-target"]],null,null,null,null,null)),e["ɵprd"](512,null,xl["ɵNgClassImpl"],xl["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](68,278528,null,0,xl.NgClass,[xl["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),e["ɵpod"](69,{required:0}),(l()(),e["ɵted"](-1,null,["Placement target"])),(l()(),e["ɵeld"](71,0,null,0,3,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵand"](0,[["placementTargetSelect",2]],null,0,null,Ot)),(l()(),e["ɵand"](16777216,null,null,1,null,Lt)),e["ɵdid"](74,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"],ngIfElse:[1,"ngIfElse"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,zt)),e["ɵdid"](76,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Ht)),e["ɵdid"](78,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](79,0,null,null,27,"fieldset",[],null,null,null,null,null)),(l()(),e["ɵeld"](80,0,null,null,1,"legend",[["class","cd-header"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Locking"])),(l()(),e["ɵeld"](82,0,null,null,18,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Pn.b,Pn.a)),e["ɵdid"](83,1163264,null,2,An.c,[e.ElementRef,An.g],null,null),e["ɵqud"](603979776,17,{FormControlNames:1}),e["ɵqud"](603979776,18,{messagesBlock:0}),(l()(),e["ɵeld"](86,0,null,0,14,"div",[["class","cd-col-form-offset"]],null,null,null,null,null)),(l()(),e["ɵeld"](87,0,null,null,13,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(l()(),e["ɵeld"](88,0,null,null,6,"input",[["class","custom-control-input"],["formControlName","lock_enabled"],["id","lock_enabled"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var t=!0;return"change"===n&&(t=!1!==e["ɵnov"](l,89).onChange(u.target.checked)&&t),"blur"===n&&(t=!1!==e["ɵnov"](l,89).onTouched()&&t),t}),null,null)),e["ɵdid"](89,16384,null,0,d.c,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,d.p,(function(l){return[l]}),[d.c]),e["ɵdid"](91,671744,[[17,4]],0,d.j,[[3,d.d],[8,null],[8,null],[6,d.p],[2,d.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,d.q,null,[d.j]),e["ɵdid"](93,16384,null,0,d.r,[[4,d.q]],null,null),e["ɵdid"](94,16384,null,0,An.h,[[3,d.d],An.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](95,0,null,null,1,"label",[["class","custom-control-label"],["for","lock_enabled"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Enabled"])),(l()(),e["ɵeld"](97,0,null,null,3,"cd-helper",[],null,null,null,wt.b,wt.a)),e["ɵdid"](98,49152,null,0,Et.a,[],null,null),(l()(),e["ɵeld"](99,0,null,0,1,"span",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket."])),(l()(),e["ɵand"](16777216,null,null,1,null,Qt)),e["ɵdid"](102,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Jt)),e["ɵdid"](104,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,ni)),e["ɵdid"](106,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](107,0,null,null,8,"div",[["class","card-footer"]],null,null,null,null,null)),(l()(),e["ɵeld"](108,0,null,null,7,"div",[["class","button-group text-right"]],null,null,null,null,null)),(l()(),e["ɵeld"](109,0,null,null,4,"cd-submit-button",[],null,[[null,"submitAction"]],(function(l,n,u){var e=!0;return"submitAction"===n&&(e=!1!==l.component.submit()&&e),e}),Qn.b,Qn.a)),e["ɵdid"](110,114688,null,0,Yn.a,[e.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(l()(),e["ɵted"](111,0,[""," ",""])),e["ɵppd"](112,1),e["ɵppd"](113,1),(l()(),e["ɵeld"](114,0,null,null,1,"cd-back-button",[],null,null,null,Ln.b,Ln.a)),e["ɵdid"](115,49152,null,0,zn.a,[xl.Location,t.b],null,null)],(function(l,n){var u=n.component;l(n,3,0,u.bucketForm),l(n,6,0,u.bucketForm),l(n,14,0,u.editing),l(n,16,0);var t=l(n,22,0,!u.editing);l(n,21,0,"cd-col-form-label",t),l(n,26,0,!u.editing),l(n,29,0,"bid"),l(n,32,0,"bid"),l(n,34,0,u.bucketForm.showError("bid",e["ɵnov"](n,3),"required")),l(n,36,0,u.bucketForm.showError("bid",e["ɵnov"](n,3),"bucketNameInvalid")),l(n,38,0,u.bucketForm.showError("bid",e["ɵnov"](n,3),"bucketNameExists")),l(n,40,0),l(n,47,0,u.editing),l(n,50,0,"owner"),l(n,53,0,"owner"),l(n,55,0,null===u.owners),l(n,57,0,null!==u.owners),l(n,59,0,u.owners),l(n,61,0,u.bucketForm.showError("owner",e["ɵnov"](n,3),"required")),l(n,63,0);var i=l(n,69,0,!u.editing);l(n,68,0,"cd-col-form-label",i),l(n,74,0,u.editing,e["ɵnov"](n,72)),l(n,76,0,u.editing),l(n,78,0,u.editing),l(n,83,0),l(n,91,0,"lock_enabled"),l(n,94,0,"lock_enabled"),l(n,102,0,u.bucketForm.getValue("lock_enabled")),l(n,104,0,u.bucketForm.getValue("lock_enabled")),l(n,106,0,u.bucketForm.getValue("lock_enabled")),l(n,110,0,u.bucketForm)}),(function(l,n){var u=n.component;l(n,1,0,e["ɵnov"](n,5).ngClassUntouched,e["ɵnov"](n,5).ngClassTouched,e["ɵnov"](n,5).ngClassPristine,e["ɵnov"](n,5).ngClassDirty,e["ɵnov"](n,5).ngClassValid,e["ɵnov"](n,5).ngClassInvalid,e["ɵnov"](n,5).ngClassPending);var t=e["ɵunv"](n,9,0,l(n,10,0,e["ɵnov"](n.parent,0),u.action)),i=e["ɵunv"](n,9,1,l(n,11,0,e["ɵnov"](n.parent,1),u.resource));l(n,9,0,t,i),l(n,15,0,e["ɵnov"](n,16).hasErrors,e["ɵnov"](n,16).hasSuccess),l(n,25,0,u.editing,e["ɵnov"](n,31).ngClassUntouched,e["ɵnov"](n,31).ngClassTouched,e["ɵnov"](n,31).ngClassPristine,e["ɵnov"](n,31).ngClassDirty,e["ɵnov"](n,31).ngClassValid,e["ɵnov"](n,31).ngClassInvalid,e["ɵnov"](n,31).ngClassPending,e["ɵnov"](n,32).validClass,e["ɵnov"](n,32).invalidClass),l(n,39,0,e["ɵnov"](n,40).hasErrors,e["ɵnov"](n,40).hasSuccess),l(n,46,0,e["ɵnov"](n,52).ngClassUntouched,e["ɵnov"](n,52).ngClassTouched,e["ɵnov"](n,52).ngClassPristine,e["ɵnov"](n,52).ngClassDirty,e["ɵnov"](n,52).ngClassValid,e["ɵnov"](n,52).ngClassInvalid,e["ɵnov"](n,52).ngClassPending,e["ɵnov"](n,53).validClass,e["ɵnov"](n,53).invalidClass),l(n,62,0,e["ɵnov"](n,63).hasErrors,e["ɵnov"](n,63).hasSuccess),l(n,82,0,e["ɵnov"](n,83).hasErrors,e["ɵnov"](n,83).hasSuccess),l(n,88,0,e["ɵnov"](n,93).ngClassUntouched,e["ɵnov"](n,93).ngClassTouched,e["ɵnov"](n,93).ngClassPristine,e["ɵnov"](n,93).ngClassDirty,e["ɵnov"](n,93).ngClassValid,e["ɵnov"](n,93).ngClassInvalid,e["ɵnov"](n,93).ngClassPending,e["ɵnov"](n,94).validClass,e["ɵnov"](n,94).invalidClass);var o=e["ɵunv"](n,111,0,l(n,112,0,e["ɵnov"](n.parent,0),u.action)),a=e["ɵunv"](n,111,1,l(n,113,0,e["ɵnov"](n.parent,1),u.resource));l(n,111,0,o,a)}))}function ei(l){return e["ɵvid"](0,[e["ɵpid"](0,xl.TitleCasePipe,[]),e["ɵpid"](0,jn.a,[]),(l()(),e["ɵand"](16777216,null,null,1,null,Nt)),e["ɵdid"](3,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,ui)),e["ɵdid"](5,16384,null,0,xl.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,3,0,u.editing&&u.loading&&!u.error),l(n,5,0,!u.loading&&!u.error)}),null)}function ti(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"cd-rgw-bucket-form",[],null,null,null,ei,qt)),e["ɵdid"](1,114688,null,0,N,[ne.a,ne.m,R.a,h,C,_.a,w.a,Il.a,t.b],null,null)],(function(l,n){l(n,1,0)}),null)}var ii=e["ɵccf"]("cd-rgw-bucket-form",N,ti,{},{},[]),oi=e["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function ai(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,8,"cd-alert-panel",[["type","info"]],null,null,null,we.b,we.a)),e["ɵdid"](1,114688,null,0,Ee.a,[Il.a],{type:[0,"type"]},null),(l()(),e["ɵted"](2,0,[" ",""])),(l()(),e["ɵeld"](3,0,null,0,0,"br",[],null,null,null,null,null)),(l()(),e["ɵeld"](4,0,null,0,4,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Please consult the "])),(l()(),e["ɵeld"](6,0,null,null,1,"a",[["target","_blank"]],[[8,"href",4]],null,null,null,null)),(l()(),e["ɵted"](-1,null,["documentation"])),(l()(),e["ɵted"](-1,null,[" on how to configure and enable the Object Gateway management functionality."]))],(function(l,n){l(n,1,0,"info")}),(function(l,n){var u=n.component;l(n,2,0,u.message),l(n,6,0,e["ɵinlineInterpolate"](1,"",u.docsUrl,""))}))}function si(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"cd-rgw-501",[],null,null,null,ai,oi)),e["ɵdid"](1,245760,null,0,s,[ne.a,a.a,o.a],null,null)],(function(l,n){l(n,1,0)}),null)}var di=e["ɵccf"]("cd-rgw-501",s,si,{},{},[]);u.d(n,"RgwModuleNgFactory",(function(){return ri})),u.d(n,"RoutedRgwModuleNgFactory",(function(){return ci}));var ri=e["ɵcmf"](X,[],(function(l){return e["ɵmod"]([e["ɵmpd"](512,e.ComponentFactoryResolver,e["ɵCodegenComponentFactoryResolver"],[[8,[dl.a,rl.a,cl.a,ml.a,ml.b,gl.a,pl.a,fl.a,vl.a,bl.a,hl.a,Ml,ln,Fn,Zn,cu,yu,Du]],[3,e.ComponentFactoryResolver],e.NgModuleRef]),e["ɵmpd"](4608,xl.NgLocalization,xl.NgLocaleLocalization,[e.LOCALE_ID,[2,xl["ɵangular_packages_common_common_a"]]]),e["ɵmpd"](4608,Fu.a,Fu.a,[]),e["ɵmpd"](4608,ju.a,ju.a,[]),e["ɵmpd"](4608,Ul.a,Ul.a,[Il.a]),e["ɵmpd"](4608,xl.DatePipe,xl.DatePipe,[e.LOCALE_ID]),e["ɵmpd"](4608,A.a,A.a,[]),e["ɵmpd"](4608,o.a,o.a,[]),e["ɵmpd"](4608,O.a,O.a,[]),e["ɵmpd"](4608,on.a,on.a,[O.a]),e["ɵmpd"](4608,Bu.a,Bu.a,[O.a]),e["ɵmpd"](4608,Ol.a,Ol.a,[O.a]),e["ɵmpd"](4608,Pu.a,Pu.a,[]),e["ɵmpd"](4608,Au.a,Au.a,[]),e["ɵmpd"](4608,Mu.a,Mu.a,[]),e["ɵmpd"](4608,Uu.a,Uu.a,[]),e["ɵmpd"](4608,Nl.a,Nl.a,[xl.DatePipe]),e["ɵmpd"](4608,Ou.a,Ou.a,[]),e["ɵmpd"](4608,Lu.a,Lu.a,[]),e["ɵmpd"](4608,zu.a,zu.a,[]),e["ɵmpd"](4608,Gu.a,Gu.a,[]),e["ɵmpd"](4608,Ku.a,Ku.a,[]),e["ɵmpd"](4608,$u.a,$u.a,[Il.a]),e["ɵmpd"](4608,jn.a,jn.a,[]),e["ɵmpd"](4608,tn.a,tn.a,[]),e["ɵmpd"](4608,d.D,d.D,[]),e["ɵmpd"](4608,d.h,d.h,[]),e["ɵmpd"](4608,Zu.b,Zu.b,[]),e["ɵmpd"](4608,Hu.a,Hu.a,[]),e["ɵmpd"](4608,Qu.a,Qu.a,[e.RendererFactory2,e.PLATFORM_ID]),e["ɵmpd"](4608,en.a,en.a,[e.ComponentFactoryResolver,e.NgZone,e.Injector,Qu.a,e.ApplicationRef]),e["ɵmpd"](4608,Yu.c,Yu.c,[]),e["ɵmpd"](4608,Wu.a,Wu.a,[]),e["ɵmpd"](4608,sn.b,sn.b,[e.RendererFactory2,en.a]),e["ɵmpd"](4608,Ju.ScrollbarHelper,Ju.ScrollbarHelper,[xl.DOCUMENT]),e["ɵmpd"](4608,Xu.DimensionsHelper,Xu.DimensionsHelper,[]),e["ɵmpd"](4608,le.ColumnChangesService,le.ColumnChangesService,[]),e["ɵmpd"](4608,un.f,un.f,[]),e["ɵmpd"](4608,D.a,D.a,[]),e["ɵmpd"](4608,i.a,i.a,[ne.m,D.a]),e["ɵmpd"](4608,Cl.f,Cl.f,[]),e["ɵmpd"](1073742336,xl.CommonModule,xl.CommonModule,[]),e["ɵmpd"](1073742336,ue.a,ue.a,[]),e["ɵmpd"](1073742336,d.C,d.C,[]),e["ɵmpd"](1073742336,d.n,d.n,[]),e["ɵmpd"](1073742336,d.y,d.y,[]),e["ɵmpd"](1073742336,Zu.c,Zu.c,[]),e["ɵmpd"](1073742336,Hu.d,Hu.d,[]),e["ɵmpd"](1073742336,Yu.d,Yu.d,[]),e["ɵmpd"](1073742336,Wu.d,Wu.d,[]),e["ɵmpd"](1073742336,ee.b,ee.b,[]),e["ɵmpd"](1073742336,sn.e,sn.e,[]),e["ɵmpd"](1073742336,te.a,te.a,[]),e["ɵmpd"](1073742336,un.e,un.e,[]),e["ɵmpd"](1073742336,An.f,An.f,[]),e["ɵmpd"](1073742336,ie.ClickOutsideModule,ie.ClickOutsideModule,[]),e["ɵmpd"](1073742336,oe.b,oe.b,[]),e["ɵmpd"](1073742336,ne.q,ne.q,[[2,ne.v],[2,ne.m]]),e["ɵmpd"](1073742336,ae.a,ae.a,[]),e["ɵmpd"](1073742336,se.NgxDatatableModule,se.NgxDatatableModule,[]),e["ɵmpd"](1073742336,de.a,de.a,[]),e["ɵmpd"](1073742336,b.a,b.a,[]),e["ɵmpd"](1073742336,re.a,re.a,[]),e["ɵmpd"](1073742336,ce.a,ce.a,[]),e["ɵmpd"](1073742336,Cl.d,Cl.d,[]),e["ɵmpd"](1073742336,X,X,[]),e["ɵmpd"](256,e.LOCALE_ID,"en-US",[]),e["ɵmpd"](256,un.a,{autoClose:!0,insideClick:!1},[]),e["ɵmpd"](256,e.TRANSLATIONS_FORMAT,"xlf",[])])})),ci=e["ɵcmf"](sl,[],(function(l){return e["ɵmod"]([e["ɵmpd"](512,e.ComponentFactoryResolver,e["ɵCodegenComponentFactoryResolver"],[[8,[dl.a,rl.a,cl.a,ml.a,ml.b,gl.a,pl.a,fl.a,vl.a,bl.a,hl.a,Ml,ln,Fn,Zn,cu,yu,Du,ve,ye,_t,It,ii,di]],[3,e.ComponentFactoryResolver],e.NgModuleRef]),e["ɵmpd"](4608,xl.NgLocalization,xl.NgLocaleLocalization,[e.LOCALE_ID,[2,xl["ɵangular_packages_common_common_a"]]]),e["ɵmpd"](4608,Fu.a,Fu.a,[]),e["ɵmpd"](4608,ju.a,ju.a,[]),e["ɵmpd"](4608,Ul.a,Ul.a,[Il.a]),e["ɵmpd"](4608,xl.DatePipe,xl.DatePipe,[e.LOCALE_ID]),e["ɵmpd"](4608,A.a,A.a,[]),e["ɵmpd"](4608,o.a,o.a,[]),e["ɵmpd"](4608,O.a,O.a,[]),e["ɵmpd"](4608,on.a,on.a,[O.a]),e["ɵmpd"](4608,Bu.a,Bu.a,[O.a]),e["ɵmpd"](4608,Ol.a,Ol.a,[O.a]),e["ɵmpd"](4608,Pu.a,Pu.a,[]),e["ɵmpd"](4608,Au.a,Au.a,[]),e["ɵmpd"](4608,Mu.a,Mu.a,[]),e["ɵmpd"](4608,Uu.a,Uu.a,[]),e["ɵmpd"](4608,Nl.a,Nl.a,[xl.DatePipe]),e["ɵmpd"](4608,Ou.a,Ou.a,[]),e["ɵmpd"](4608,Lu.a,Lu.a,[]),e["ɵmpd"](4608,zu.a,zu.a,[]),e["ɵmpd"](4608,Gu.a,Gu.a,[]),e["ɵmpd"](4608,Ku.a,Ku.a,[]),e["ɵmpd"](4608,$u.a,$u.a,[Il.a]),e["ɵmpd"](4608,jn.a,jn.a,[]),e["ɵmpd"](4608,tn.a,tn.a,[]),e["ɵmpd"](4608,d.D,d.D,[]),e["ɵmpd"](4608,d.h,d.h,[]),e["ɵmpd"](4608,Zu.b,Zu.b,[]),e["ɵmpd"](4608,Hu.a,Hu.a,[]),e["ɵmpd"](4608,Qu.a,Qu.a,[e.RendererFactory2,e.PLATFORM_ID]),e["ɵmpd"](4608,en.a,en.a,[e.ComponentFactoryResolver,e.NgZone,e.Injector,Qu.a,e.ApplicationRef]),e["ɵmpd"](4608,Yu.c,Yu.c,[]),e["ɵmpd"](4608,Wu.a,Wu.a,[]),e["ɵmpd"](4608,sn.b,sn.b,[e.RendererFactory2,en.a]),e["ɵmpd"](4608,Ju.ScrollbarHelper,Ju.ScrollbarHelper,[xl.DOCUMENT]),e["ɵmpd"](4608,Xu.DimensionsHelper,Xu.DimensionsHelper,[]),e["ɵmpd"](4608,le.ColumnChangesService,le.ColumnChangesService,[]),e["ɵmpd"](4608,un.f,un.f,[]),e["ɵmpd"](4608,D.a,D.a,[]),e["ɵmpd"](4608,i.a,i.a,[ne.m,D.a]),e["ɵmpd"](4608,Cl.f,Cl.f,[]),e["ɵmpd"](1073742336,xl.CommonModule,xl.CommonModule,[]),e["ɵmpd"](1073742336,ue.a,ue.a,[]),e["ɵmpd"](1073742336,d.C,d.C,[]),e["ɵmpd"](1073742336,d.n,d.n,[]),e["ɵmpd"](1073742336,d.y,d.y,[]),e["ɵmpd"](1073742336,Zu.c,Zu.c,[]),e["ɵmpd"](1073742336,Hu.d,Hu.d,[]),e["ɵmpd"](1073742336,Yu.d,Yu.d,[]),e["ɵmpd"](1073742336,Wu.d,Wu.d,[]),e["ɵmpd"](1073742336,ee.b,ee.b,[]),e["ɵmpd"](1073742336,sn.e,sn.e,[]),e["ɵmpd"](1073742336,te.a,te.a,[]),e["ɵmpd"](1073742336,un.e,un.e,[]),e["ɵmpd"](1073742336,An.f,An.f,[]),e["ɵmpd"](1073742336,ie.ClickOutsideModule,ie.ClickOutsideModule,[]),e["ɵmpd"](1073742336,oe.b,oe.b,[]),e["ɵmpd"](1073742336,ne.q,ne.q,[[2,ne.v],[2,ne.m]]),e["ɵmpd"](1073742336,ae.a,ae.a,[]),e["ɵmpd"](1073742336,se.NgxDatatableModule,se.NgxDatatableModule,[]),e["ɵmpd"](1073742336,de.a,de.a,[]),e["ɵmpd"](1073742336,b.a,b.a,[]),e["ɵmpd"](1073742336,re.a,re.a,[]),e["ɵmpd"](1073742336,ce.a,ce.a,[]),e["ɵmpd"](1073742336,Cl.d,Cl.d,[]),e["ɵmpd"](1073742336,X,X,[]),e["ɵmpd"](1073742336,sl,sl,[]),e["ɵmpd"](256,e.LOCALE_ID,"en-US",[]),e["ɵmpd"](256,un.a,{autoClose:!0,insideClick:!1},[]),e["ɵmpd"](1024,ne.k,(function(){return[[{path:"",redirectTo:"daemon",pathMatch:"full"},{path:"daemon",component:M,data:ll},{path:"user",data:nl,children:[{path:"",component:J},{path:"create",component:Q,data:ul},{path:"edit/:uid",component:Q,data:el}]},{path:"bucket",data:tl,children:[{path:"",component:B},{path:"create",component:N,data:il},{path:"edit/:bid",component:N,data:ol}]},{path:"501/:message",component:s,canActivate:[i.a],data:al}]]}),[]),e["ɵmpd"](256,e.TRANSLATIONS_FORMAT,"xlf",[])])}))}}]);
\ No newline at end of file
diff --git a/ceph/src/pybind/mgr/dashboard/frontend/dist/en-US/7.b9f7cf0935ea27ecc60a.js b/ceph/src/pybind/mgr/dashboard/frontend/dist/en-US/7.b9f7cf0935ea27ecc60a.js
deleted file mode 100644 (file)
index 27275b6..0000000
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{J6Oi:function(l,n,u){"use strict";u.r(n);var e=u("8Y7J"),a=u("k/xb"),t=u("MdoF"),o=u("ES0t"),d=u("Xg1U"),i=u("z5nN"),s=u("iutN"),r=u("pMnS"),c=u("EEJc"),p=u("PEr+"),m=u("a40w"),g=u("hfeG"),f=u("QUzE"),v=u("E7j4"),C=u("xvu0"),b=u("RIVN"),h=u("nP0W"),I=u("VBM6"),R=u("atuK"),N=u("JIi+"),w=u("0BYw"),T=u("3IYD"),E=u("I4Qz"),y=u("0rTx"),V=u("lz+O"),q=u("u2XS"),k=u("nhAp"),x=u("l7Jr"),_=u("bUo2"),D=u("SVse"),F=u("yT6U"),P=u("4DD9"),S=u("iExv"),A=u("GiVz"),j=u("85J/"),O=u("+0ag"),U=u("aXbf"),B=u("Fgil"),$=u("IzCI"),M=u("o4+5"),z=u("Dwqy"),L=u("uYzU"),G=u("FFMq"),K=u("E2fk"),H=u("a0VL"),J=u("nSDx"),Z=u("SB+Q"),W=u("TYzs"),Q=u("BQkM"),Y=u("dEH0"),X=u("G1/K"),ll=u("8xTl"),nl=u("TJUb"),ul=u("s7LF"),el=u("CNMR"),al=u("KOzp"),tl=u("2uy1"),ol=u("z/SZ"),dl=u("38Bd"),il=u("978R"),sl=u("LqlI"),rl=u("FO+L"),cl=u("nhM1"),pl=u("BARL"),ml=u("FE24"),gl=u("aexS"),fl=u("Avrn"),vl=u("iInd"),Cl=u("2ZVE"),bl=u("ienR"),hl=u("gk6K"),Il=u("9Xeq"),Rl=u("hrfs"),Nl=u("yGOH"),wl=u("+gVj"),Tl=u("bxSN"),El=u("WF9J"),yl=u("V/fk"),Vl=u("F8xH"),ql=u("ChqD"),kl=u("pL04"),xl=u("PCNd"),_l=u("kccj"),Dl=u("yYhs"),Fl=u("C6Ij"),Pl=u("AWcq"),Sl=u("pKUh");class Al{constructor(l,n){this.authStorageService=l,this.router=n,this.grafanaPermission=this.authStorageService.getPermissions().grafana}ngOnInit(){this.url=this.router.url}navigateTo(l){this.router.navigate([l])}}var jl=e["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Ol(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"tab",[["heading","Overall Performance"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],[[null,"selectTab"]],(function(l,n,u){var e=!0;return"selectTab"===n&&(e=!1!==l.component.navigateTo("/block/rbd/performance")&&e),e}),null,null)),e["ɵdid"](1,212992,null,0,Cl.b,[Cl.e,e.ElementRef,e.Renderer2],{heading:[0,"heading"],active:[1,"active"]},{selectTab:"selectTab"})],(function(l,n){l(n,1,0,"Overall Performance","/block/rbd/performance"===n.component.url)}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).id,e["ɵnov"](n,1).active,e["ɵnov"](n,1).addClass)}))}function Ul(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,9,"tabset",[],[[2,"tab-container",null]],null,null,Sl.b,Sl.a)),e["ɵdid"](1,180224,null,0,Cl.e,[Cl.f,e.Renderer2,e.ElementRef],null,null),(l()(),e["ɵeld"](2,0,null,0,1,"tab",[["heading","Images"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],[[null,"selectTab"]],(function(l,n,u){var e=!0;return"selectTab"===n&&(e=!1!==l.component.navigateTo("/block/rbd")&&e),e}),null,null)),e["ɵdid"](3,212992,null,0,Cl.b,[Cl.e,e.ElementRef,e.Renderer2],{heading:[0,"heading"],active:[1,"active"]},{selectTab:"selectTab"}),(l()(),e["ɵeld"](4,0,null,0,1,"tab",[["heading","Namespaces"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],[[null,"selectTab"]],(function(l,n,u){var e=!0;return"selectTab"===n&&(e=!1!==l.component.navigateTo("/block/rbd/namespaces")&&e),e}),null,null)),e["ɵdid"](5,212992,null,0,Cl.b,[Cl.e,e.ElementRef,e.Renderer2],{heading:[0,"heading"],active:[1,"active"]},{selectTab:"selectTab"}),(l()(),e["ɵeld"](6,0,null,0,1,"tab",[["heading","Trash"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],[[null,"selectTab"]],(function(l,n,u){var e=!0;return"selectTab"===n&&(e=!1!==l.component.navigateTo("/block/rbd/trash")&&e),e}),null,null)),e["ɵdid"](7,212992,null,0,Cl.b,[Cl.e,e.ElementRef,e.Renderer2],{heading:[0,"heading"],active:[1,"active"]},{selectTab:"selectTab"}),(l()(),e["ɵand"](16777216,null,0,1,null,Ol)),e["ɵdid"](9,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,3,0,"Images","/block/rbd"===u.url),l(n,5,0,"Namespaces","/block/rbd/namespaces"===u.url),l(n,7,0,"Trash","/block/rbd/trash"===u.url),l(n,9,0,u.grafanaPermission.read)}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).clazz),l(n,2,0,e["ɵnov"](n,3).id,e["ɵnov"](n,3).active,e["ɵnov"](n,3).addClass),l(n,4,0,e["ɵnov"](n,5).id,e["ɵnov"](n,5).active,e["ɵnov"](n,5).addClass),l(n,6,0,e["ɵnov"](n,7).id,e["ɵnov"](n,7).active,e["ɵnov"](n,7).addClass)}))}var Bl=u("25BL"),$l=u("uIqm"),Ml=u("NUGo"),zl=u("S7zO"),Ll=u("JBea"),Gl=u("VTlA"),Kl=u("ufoC"),Hl=u("mSOc"),Jl=u("EgGo"),Zl=u("5GyT"),Wl=u("F83c"),Ql=u("kn/O"),Yl=u("sne2"),Xl=e["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function ln(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"cd-view-cache",[],null,null,null,Fl.b,Fl.a)),e["ɵdid"](1,114688,null,0,Pl.a,[],{status:[0,"status"],statusFor:[1,"statusFor"]},null)],(function(l,n){l(n,1,0,n.context.$implicit.status,n.context.$implicit.statusFor)}),null)}function nn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,0,"div",[],[[8,"innerHTML",1]],null,null,null,null))],null,(function(l,n){l(n,0,0,"Only available for RBD images with <strong>fast-diff</strong> enabled")}))}function un(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(l()(),e["ɵted"](1,null,["/",""]))],null,(function(l,n){l(n,1,0,n.parent.parent.context.value.pool_namespace)}))}function en(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,4,"span",[],null,null,null,null,null)),(l()(),e["ɵted"](1,null,["",""])),(l()(),e["ɵand"](16777216,null,null,1,null,un)),e["ɵdid"](3,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵted"](4,null,["/","@",""]))],(function(l,n){l(n,3,0,n.parent.context.value.pool_namespace)}),(function(l,n){l(n,1,0,n.parent.context.value.pool_name),l(n,4,0,n.parent.context.value.image_name,n.parent.context.value.snap_name)}))}function an(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["-"]))],null,null)}function tn(l){return e["ɵvid"](0,[(l()(),e["ɵand"](16777216,null,null,1,null,en)),e["ɵdid"](1,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,an)),e["ɵdid"](3,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](0,null,null,0))],(function(l,n){l(n,1,0,n.context.value),l(n,3,0,!n.context.value)}),null)}function on(l){return e["ɵvid"](0,[(l()(),e["ɵted"](-1,null,[" You are about to flatten "])),(l()(),e["ɵeld"](1,0,null,null,1,"strong",[],null,null,null,null,null)),(l()(),e["ɵted"](2,null,["",""])),(l()(),e["ɵted"](-1,null,[". "])),(l()(),e["ɵeld"](4,0,null,null,0,"br",[],null,null,null,null,null)),(l()(),e["ɵeld"](5,0,null,null,0,"br",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,[" All blocks will be copied from parent "])),(l()(),e["ɵeld"](7,0,null,null,1,"strong",[],null,null,null,null,null)),(l()(),e["ɵted"](8,null,["",""])),(l()(),e["ɵted"](-1,null,[" to child "])),(l()(),e["ɵeld"](10,0,null,null,1,"strong",[],null,null,null,null,null)),(l()(),e["ɵted"](11,null,["",""])),(l()(),e["ɵted"](-1,null,[".\n"]))],null,(function(l,n){l(n,2,0,n.context.$implicit.child),l(n,8,0,n.context.$implicit.parent),l(n,11,0,n.context.$implicit.child)}))}function dn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"li",[],null,null,null,null,null)),(l()(),e["ɵted"](1,null,["",""]))],null,(function(l,n){l(n,1,0,n.context.$implicit)}))}function sn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,5,null,null,null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,"span",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["The following snapshots are currently protected and will be removed:"])),(l()(),e["ɵeld"](3,0,null,null,2,"ul",[],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,dn)),e["ɵdid"](5,278528,null,0,D.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(l,n){l(n,5,0,n.parent.parent.context.snapshots)}),null)}function rn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,5,"div",[["class","alert alert-warning"],["role","alert"]],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,"span",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Deleting this image will also delete all its snapshots."])),(l()(),e["ɵeld"](3,0,null,null,0,"br",[],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,sn)),e["ɵdid"](5,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){l(n,5,0,n.parent.context.snapshots.length>0)}),null)}function cn(l){return e["ɵvid"](0,[(l()(),e["ɵand"](16777216,null,null,1,null,rn)),e["ɵdid"](1,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](0,null,null,0))],(function(l,n){l(n,1,0,n.context.hasSnapshots)}),null)}function pn(l){return e["ɵvid"](0,[e["ɵqud"](402653184,1,{table:0}),e["ɵqud"](671088640,2,{usageTpl:0}),e["ɵqud"](402653184,3,{parentTpl:0}),e["ɵqud"](671088640,4,{nameTpl:0}),e["ɵqud"](402653184,5,{flattenTpl:0}),e["ɵqud"](402653184,6,{deleteTpl:0}),(l()(),e["ɵeld"](6,0,null,null,1,"cd-rbd-tabs",[],null,null,null,Ul,jl)),e["ɵdid"](7,114688,null,0,Al,[gl.a,vl.m],null,null),(l()(),e["ɵand"](16777216,null,null,1,null,ln)),e["ɵdid"](9,278528,null,0,D.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),e["ɵeld"](10,0,null,null,5,"cd-table",[["columnMode","flex"],["forceIdentifier","true"],["identifier","id"],["selectionType","single"]],null,[[null,"updateSelection"]],(function(l,n,u){var e=!0;return"updateSelection"===n&&(e=!1!==l.component.updateSelection(u)&&e),e}),Bl.b,Bl.a)),e["ɵdid"](11,2867200,[[1,4],["table",4]],0,$l.a,[e.NgZone,e.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],identifier:[3,"identifier"],forceIdentifier:[4,"forceIdentifier"],selectionType:[5,"selectionType"],searchableObjects:[6,"searchableObjects"]},{updateSelection:"updateSelection"}),(l()(),e["ɵeld"](12,0,null,1,1,"cd-table-actions",[["class","table-actions"]],null,null,null,Ml.b,Ml.a)),e["ɵdid"](13,114688,null,0,zl.a,[],{permission:[0,"permission"],selection:[1,"selection"],tableActions:[2,"tableActions"]},null),(l()(),e["ɵeld"](14,0,null,3,1,"cd-rbd-details",[["cdTableDetail",""]],null,null,null,N.c,N.b)),e["ɵdid"](15,573440,null,0,Ll.a,[],{selection:[0,"selection"]},null),(l()(),e["ɵand"](0,[["usageNotAvailableTooltipTpl",2]],null,0,null,nn)),(l()(),e["ɵand"](0,[[3,2],["parentTpl",2]],null,0,null,tn)),(l()(),e["ɵand"](0,[[5,2],["flattenTpl",2]],null,0,null,on)),(l()(),e["ɵand"](0,[[6,2],["deleteTpl",2]],null,0,null,cn))],(function(l,n){var u=n.component;l(n,7,0),l(n,9,0,u.viewCacheStatusList),l(n,11,0,u.images,u.columns,"flex","id","true","single",!0),l(n,13,0,u.permission,u.selection,u.tableActions),l(n,15,0,u.selection)}),null)}function mn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"cd-rbd-list",[],null,null,null,pn,Xl)),e["ɵprd"](131584,null,Gl.a,Gl.a,[Kl.a,Hl.a]),e["ɵprd"](256,null,Jl.a,Zl.b,[]),e["ɵdid"](3,114688,null,0,Zl.a,[gl.a,Wl.a,B.a,M.a,sl.b,Ql.a,Gl.a,A.a,Jl.a,Yl.b],null,null)],(function(l,n){l(n,3,0)}),null)}var gn=e["ɵccf"]("cd-rbd-list",Zl.a,mn,{},{},[]),fn=u("Z5tW"),vn=u("Ekvf"),Cn=u("9nlD"),bn=e["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function hn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"cd-rbd-tabs",[],null,null,null,Ul,jl)),e["ɵdid"](1,114688,null,0,Al,[gl.a,vl.m],null,null),(l()(),e["ɵeld"](2,0,null,null,4,"cd-table",[["columnMode","flex"],["forceIdentifier","true"],["identifier","id"],["selectionType","single"]],null,[[null,"fetchData"],[null,"updateSelection"]],(function(l,n,u){var e=!0,a=l.component;return"fetchData"===n&&(e=!1!==a.refresh()&&e),"updateSelection"===n&&(e=!1!==a.updateSelection(u)&&e),e}),Bl.b,Bl.a)),e["ɵdid"](3,2867200,null,0,$l.a,[e.NgZone,e.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],identifier:[3,"identifier"],forceIdentifier:[4,"forceIdentifier"],selectionType:[5,"selectionType"]},{fetchData:"fetchData",updateSelection:"updateSelection"}),(l()(),e["ɵeld"](4,0,null,1,2,"div",[["class","table-actions btn-toolbar"]],null,null,null,null,null)),(l()(),e["ɵeld"](5,0,null,null,1,"cd-table-actions",[["class","btn-group"]],null,null,null,Ml.b,Ml.a)),e["ɵdid"](6,114688,null,0,zl.a,[],{permission:[0,"permission"],selection:[1,"selection"],tableActions:[2,"tableActions"]},null)],(function(l,n){var u=n.component;l(n,1,0),l(n,3,0,u.namespaces,u.columns,"flex","id","true","single"),l(n,6,0,u.permission,u.selection,u.tableActions)}),null)}function In(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"cd-rbd-namespace-list",[],null,null,null,hn,bn)),e["ɵprd"](135680,null,Gl.a,Gl.a,[Kl.a,Hl.a]),e["ɵdid"](2,114688,null,0,fn.a,[gl.a,Wl.a,vn.a,sl.b,Cn.a,A.a,Yl.b],null,null)],(function(l,n){l(n,2,0)}),null)}var Rn=e["ɵccf"]("cd-rbd-namespace-list",fn.a,In,{},{},[]),Nn=u("chpi"),wn=e["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Tn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"cd-view-cache",[],null,null,null,Fl.b,Fl.a)),e["ɵdid"](1,114688,null,0,Pl.a,[],{status:[0,"status"],statusFor:[1,"statusFor"]},null)],(function(l,n){l(n,1,0,n.context.$implicit.status,n.context.$implicit.statusFor)}),null)}function En(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,6,"button",[["class","btn btn-light"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(e=!1!==l.component.purgeModal()&&e),e}),null,null)),(l()(),e["ɵeld"](1,0,null,null,3,"i",[["aria-hidden","true"]],null,null,null,null,null)),e["ɵprd"](512,null,D["ɵNgClassImpl"],D["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](3,278528,null,0,D.NgClass,[D["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](4,1),(l()(),e["ɵeld"](5,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Purge Trash"]))],(function(l,n){var u=l(n,4,0,n.component.icons.destroy);l(n,3,0,u)}),(function(l,n){l(n,0,0,n.component.disablePurgeBtn)}))}function yn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Expired at"]))],null,null)}function Vn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Protected until"]))],null,null)}function qn(l){return e["ɵvid"](0,[(l()(),e["ɵand"](16777216,null,null,1,null,yn)),e["ɵdid"](1,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Vn)),e["ɵdid"](3,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵted"](4,null,[" ","\n"])),e["ɵppd"](5,1)],(function(l,n){l(n,1,0,n.context.row.cdIsExpired),l(n,3,0,!n.context.row.cdIsExpired)}),(function(l,n){var u=e["ɵunv"](n,4,0,l(n,5,0,e["ɵnov"](n.parent,0),n.context.value));l(n,4,0,u)}))}function kn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,4,"p",[["class","text-danger"]],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,3,"strong",[],null,null,null,null,null)),(l()(),e["ɵeld"](2,0,null,null,2,null,null,null,null,null,null,null)),(l()(),e["ɵted"](3,null,["This image is protected until ","."])),e["ɵppd"](4,1)],null,(function(l,n){var u=e["ɵunv"](n,3,0,l(n,4,0,e["ɵnov"](n.parent.parent,0),n.parent.context.$implicit));l(n,3,0,u)}))}function xn(l){return e["ɵvid"](0,[(l()(),e["ɵand"](16777216,null,null,1,null,kn)),e["ɵdid"](1,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](0,null,null,0))],(function(l,n){l(n,1,0,!n.component.isExpired(n.context.$implicit))}),null)}function _n(l){return e["ɵvid"](0,[e["ɵpid"](0,H.a,[D.DatePipe]),e["ɵqud"](402653184,1,{table:0}),e["ɵqud"](402653184,2,{expiresTpl:0}),e["ɵqud"](402653184,3,{deleteTpl:0}),(l()(),e["ɵeld"](4,0,null,null,1,"cd-rbd-tabs",[],null,null,null,Ul,jl)),e["ɵdid"](5,114688,null,0,Al,[gl.a,vl.m],null,null),(l()(),e["ɵand"](16777216,null,null,1,null,Tn)),e["ɵdid"](7,278528,null,0,D.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),e["ɵeld"](8,0,null,null,6,"cd-table",[["columnMode","flex"],["forceIdentifier","true"],["identifier","id"],["selectionType","single"]],null,[[null,"updateSelection"]],(function(l,n,u){var e=!0;return"updateSelection"===n&&(e=!1!==l.component.updateSelection(u)&&e),e}),Bl.b,Bl.a)),e["ɵdid"](9,2867200,[[1,4]],0,$l.a,[e.NgZone,e.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],identifier:[3,"identifier"],forceIdentifier:[4,"forceIdentifier"],selectionType:[5,"selectionType"]},{updateSelection:"updateSelection"}),(l()(),e["ɵeld"](10,0,null,1,4,"div",[["class","table-actions btn-toolbar"]],null,null,null,null,null)),(l()(),e["ɵeld"](11,0,null,null,1,"cd-table-actions",[["class","btn-group"]],null,null,null,Ml.b,Ml.a)),e["ɵdid"](12,114688,null,0,zl.a,[],{permission:[0,"permission"],selection:[1,"selection"],tableActions:[2,"tableActions"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,En)),e["ɵdid"](14,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](0,[[2,2],["expiresTpl",2]],null,0,null,qn)),(l()(),e["ɵand"](0,[[3,2],["deleteTpl",2]],null,0,null,xn))],(function(l,n){var u=n.component;l(n,5,0),l(n,7,0,u.viewCacheStatusList),l(n,9,0,u.images,u.columns,"flex","id","true","single"),l(n,12,0,u.permission,u.selection,u.tableActions),l(n,14,0,u.permission.delete)}),null)}function Dn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"cd-rbd-trash-list",[],null,null,null,_n,wn)),e["ɵprd"](131584,null,Gl.a,Gl.a,[Kl.a,Hl.a]),e["ɵdid"](2,114688,null,0,Nn.a,[gl.a,Wl.a,sl.b,H.a,Gl.a,Ql.a,A.a,Yl.b],null,null)],(function(l,n){l(n,2,0)}),null)}var Fn=e["ɵccf"]("cd-rbd-trash-list",Nn.a,Dn,{},{},[]),Pn=u("a278"),Sn=u("insk"),An=u("cUpR"),jn=u("20UP"),On=u("WkyA"),Un=e["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Bn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"cd-rbd-tabs",[],null,null,null,Ul,jl)),e["ɵdid"](1,114688,null,0,Al,[gl.a,vl.m],null,null),(l()(),e["ɵeld"](2,0,null,null,1,"cd-grafana",[["grafanaStyle","two"],["uid","41FrpeUiz"]],null,null,null,Pn.b,Pn.a)),e["ɵdid"](3,638976,null,0,Sn.a,[Hl.a,An.b,jn.a,O.a,A.a],{grafanaPath:[0,"grafanaPath"],grafanaStyle:[1,"grafanaStyle"],uid:[2,"uid"]},null)],(function(l,n){l(n,1,0),l(n,3,0,"rbd-overview?","two","41FrpeUiz")}),null)}function $n(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"cd-rbd-performance",[],null,null,null,Bn,Un)),e["ɵdid"](1,49152,null,0,On.a,[],null,null)],null,null)}var Mn=e["ɵccf"]("cd-rbd-performance",On.a,$n,{},{},[]),zn=u("mXUL"),Ln=u("4HWh"),Gn=u("p4Cf"),Kn=u("IZUe"),Hn=u("EmSq"),Jn=u("BH9v"),Zn=u("rFfW"),Wn=u("o8EM"),Qn=u("gp3X"),Yn=u("sb0X"),Xn=u("KVJa"),lu=u("Z21x"),nu=u("MyVl"),uu=e["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function eu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,15,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,zn.b,zn.a)),e["ɵdid"](1,1163264,null,2,wl.c,[e.ElementRef,wl.g],null,null),e["ɵqud"](603979776,1,{FormControlNames:1}),e["ɵqud"](603979776,2,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,2,"label",[["class","cd-col-form-label"],["for","name"]],null,null,null,null,null)),(l()(),e["ɵted"](5,null,[""," from"])),e["ɵppd"](6,1),(l()(),e["ɵeld"](7,0,null,0,8,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](8,0,null,null,6,"input",[["class","form-control"],["formControlName","parent"],["id","parent"],["name","parent"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var a=!0;return"input"===n&&(a=!1!==e["ɵnov"](l,9)._handleInput(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,9).onTouched()&&a),"compositionstart"===n&&(a=!1!==e["ɵnov"](l,9)._compositionStart()&&a),"compositionend"===n&&(a=!1!==e["ɵnov"](l,9)._compositionEnd(u.target.value)&&a),a}),null,null)),e["ɵdid"](9,16384,null,0,ul.e,[e.Renderer2,e.ElementRef,[2,ul.b]],null,null),e["ɵprd"](1024,null,ul.p,(function(l){return[l]}),[ul.e]),e["ɵdid"](11,671744,[[1,4]],0,ul.j,[[3,ul.d],[8,null],[8,null],[6,ul.p],[2,ul.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,ul.q,null,[ul.j]),e["ɵdid"](13,16384,null,0,ul.r,[[4,ul.q]],null,null),e["ɵdid"](14,16384,null,0,wl.h,[[3,ul.d],wl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](15,0,null,null,0,"hr",[],null,null,null,null,null))],(function(l,n){l(n,1,0),l(n,11,0,"parent"),l(n,14,0,"parent")}),(function(l,n){var u=n.component;l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess);var a=e["ɵunv"](n,5,0,l(n,6,0,e["ɵnov"](n.parent,0),u.action));l(n,5,0,a),l(n,8,0,e["ɵnov"](n,13).ngClassUntouched,e["ɵnov"](n,13).ngClassTouched,e["ɵnov"](n,13).ngClassPristine,e["ɵnov"](n,13).ngClassDirty,e["ɵnov"](n,13).ngClassValid,e["ɵnov"](n,13).ngClassInvalid,e["ɵnov"](n,13).ngClassPending,e["ɵnov"](n,14).validClass,e["ɵnov"](n,14).invalidClass)}))}function au(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function tu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["'/' and '@' are not allowed."]))],null,null)}function ou(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,6,"input",[["class","form-control"],["formControlName","pool"],["id","pool"],["name","pool"],["placeholder","Pool name..."],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var a=!0;return"input"===n&&(a=!1!==e["ɵnov"](l,1)._handleInput(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,1).onTouched()&&a),"compositionstart"===n&&(a=!1!==e["ɵnov"](l,1)._compositionStart()&&a),"compositionend"===n&&(a=!1!==e["ɵnov"](l,1)._compositionEnd(u.target.value)&&a),a}),null,null)),e["ɵdid"](1,16384,null,0,ul.e,[e.Renderer2,e.ElementRef,[2,ul.b]],null,null),e["ɵprd"](1024,null,ul.p,(function(l){return[l]}),[ul.e]),e["ɵdid"](3,671744,[[5,4]],0,ul.j,[[3,ul.d],[8,null],[8,null],[6,ul.p],[2,ul.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,ul.q,null,[ul.j]),e["ɵdid"](5,16384,null,0,ul.r,[[4,ul.q]],null,null),e["ɵdid"](6,16384,null,0,wl.h,[[3,ul.d],wl.a],{formControlName:[0,"formControlName"]},null)],(function(l,n){l(n,3,0,"pool"),l(n,6,0,"pool")}),(function(l,n){l(n,0,0,e["ɵnov"](n,5).ngClassUntouched,e["ɵnov"](n,5).ngClassTouched,e["ɵnov"](n,5).ngClassPristine,e["ɵnov"](n,5).ngClassDirty,e["ɵnov"](n,5).ngClassValid,e["ɵnov"](n,5).ngClassInvalid,e["ɵnov"](n,5).ngClassPending,e["ɵnov"](n,6).validClass,e["ɵnov"](n,6).invalidClass)}))}function du(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,ul.v,[e.ElementRef,e.Renderer2,[2,ul.A]],{ngValue:[0,"ngValue"]},null),e["ɵdid"](2,147456,null,0,ul.F,[e.ElementRef,e.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),e["ɵted"](-1,null,["Loading..."]))],(function(l,n){l(n,1,0,null),l(n,2,0,null)}),null)}function iu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,ul.v,[e.ElementRef,e.Renderer2,[2,ul.A]],{ngValue:[0,"ngValue"]},null),e["ɵdid"](2,147456,null,0,ul.F,[e.ElementRef,e.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),e["ɵted"](-1,null,["-- No rbd pools available --"]))],(function(l,n){l(n,1,0,null),l(n,2,0,null)}),null)}function su(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,ul.v,[e.ElementRef,e.Renderer2,[2,ul.A]],{ngValue:[0,"ngValue"]},null),e["ɵdid"](2,147456,null,0,ul.F,[e.ElementRef,e.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),e["ɵted"](-1,null,["-- Select a pool --"]))],(function(l,n){l(n,1,0,null),l(n,2,0,null)}),null)}function ru(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,ul.v,[e.ElementRef,e.Renderer2,[2,ul.A]],{value:[0,"value"]},null),e["ɵdid"](2,147456,null,0,ul.F,[e.ElementRef,e.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),e["ɵted"](3,null,["",""]))],(function(l,n){l(n,1,0,n.context.$implicit.pool_name),l(n,2,0,n.context.$implicit.pool_name)}),(function(l,n){l(n,3,0,n.context.$implicit.pool_name)}))}function cu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,14,"select",[["class","form-control custom-select"],["formControlName","pool"],["id","pool"],["name","pool"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var a=!0;return"change"===n&&(a=!1!==e["ɵnov"](l,1).onChange(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,1).onTouched()&&a),a}),null,null)),e["ɵdid"](1,16384,null,0,ul.A,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,ul.p,(function(l){return[l]}),[ul.A]),e["ɵdid"](3,671744,[[5,4]],0,ul.j,[[3,ul.d],[8,null],[8,null],[6,ul.p],[2,ul.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,ul.q,null,[ul.j]),e["ɵdid"](5,16384,null,0,ul.r,[[4,ul.q]],null,null),e["ɵdid"](6,16384,null,0,wl.h,[[3,ul.d],wl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,du)),e["ɵdid"](8,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,iu)),e["ɵdid"](10,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,su)),e["ɵdid"](12,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,ru)),e["ɵdid"](14,278528,null,0,D.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(l,n){var u=n.component;l(n,3,0,"pool"),l(n,6,0,"pool"),l(n,8,0,null===u.pools),l(n,10,0,null!==u.pools&&0===u.pools.length),l(n,12,0,null!==u.pools&&u.pools.length>0),l(n,14,0,u.pools)}),(function(l,n){l(n,0,0,e["ɵnov"](n,5).ngClassUntouched,e["ɵnov"](n,5).ngClassTouched,e["ɵnov"](n,5).ngClassPristine,e["ɵnov"](n,5).ngClassDirty,e["ɵnov"](n,5).ngClassValid,e["ɵnov"](n,5).ngClassInvalid,e["ɵnov"](n,5).ngClassPending,e["ɵnov"](n,6).validClass,e["ɵnov"](n,6).invalidClass)}))}function pu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function mu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,8,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,zn.b,zn.a)),e["ɵdid"](1,1163264,null,2,wl.c,[e.ElementRef,wl.g],null,null),e["ɵqud"](603979776,7,{FormControlNames:1}),e["ɵqud"](603979776,8,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,4,"div",[["class","cd-col-form-offset"]],null,null,null,null,null)),(l()(),e["ɵeld"](5,0,null,null,3,"i",[],null,null,null,null,null)),e["ɵprd"](512,null,D["ɵNgClassImpl"],D["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](7,278528,null,0,D.NgClass,[D["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](8,2)],(function(l,n){var u=n.component;l(n,1,0);var e=l(n,8,0,u.icons.spinner,u.icons.spin);l(n,7,0,e)}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess)}))}function gu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,6,"input",[["class","form-control"],["formControlName","namespace"],["id","namespace"],["name","namespace"],["placeholder","Namespace..."],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var a=!0;return"input"===n&&(a=!1!==e["ɵnov"](l,1)._handleInput(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,1).onTouched()&&a),"compositionstart"===n&&(a=!1!==e["ɵnov"](l,1)._compositionStart()&&a),"compositionend"===n&&(a=!1!==e["ɵnov"](l,1)._compositionEnd(u.target.value)&&a),a}),null,null)),e["ɵdid"](1,16384,null,0,ul.e,[e.Renderer2,e.ElementRef,[2,ul.b]],null,null),e["ɵprd"](1024,null,ul.p,(function(l){return[l]}),[ul.e]),e["ɵdid"](3,671744,[[9,4]],0,ul.j,[[3,ul.d],[8,null],[8,null],[6,ul.p],[2,ul.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,ul.q,null,[ul.j]),e["ɵdid"](5,16384,null,0,ul.r,[[4,ul.q]],null,null),e["ɵdid"](6,16384,null,0,wl.h,[[3,ul.d],wl.a],{formControlName:[0,"formControlName"]},null)],(function(l,n){l(n,3,0,"namespace"),l(n,6,0,"namespace")}),(function(l,n){l(n,0,0,e["ɵnov"](n,5).ngClassUntouched,e["ɵnov"](n,5).ngClassTouched,e["ɵnov"](n,5).ngClassPristine,e["ɵnov"](n,5).ngClassDirty,e["ɵnov"](n,5).ngClassValid,e["ɵnov"](n,5).ngClassInvalid,e["ɵnov"](n,5).ngClassPending,e["ɵnov"](n,6).validClass,e["ɵnov"](n,6).invalidClass)}))}function fu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,ul.v,[e.ElementRef,e.Renderer2,[2,ul.A]],{ngValue:[0,"ngValue"]},null),e["ɵdid"](2,147456,null,0,ul.F,[e.ElementRef,e.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),e["ɵted"](-1,null,["Loading..."]))],(function(l,n){l(n,1,0,null),l(n,2,0,null)}),null)}function vu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,ul.v,[e.ElementRef,e.Renderer2,[2,ul.A]],{ngValue:[0,"ngValue"]},null),e["ɵdid"](2,147456,null,0,ul.F,[e.ElementRef,e.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),e["ɵted"](-1,null,["-- No namespaces available --"]))],(function(l,n){l(n,1,0,null),l(n,2,0,null)}),null)}function Cu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,ul.v,[e.ElementRef,e.Renderer2,[2,ul.A]],{ngValue:[0,"ngValue"]},null),e["ɵdid"](2,147456,null,0,ul.F,[e.ElementRef,e.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),e["ɵted"](-1,null,["-- Select a namespace --"]))],(function(l,n){l(n,1,0,null),l(n,2,0,null)}),null)}function bu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,ul.v,[e.ElementRef,e.Renderer2,[2,ul.A]],{value:[0,"value"]},null),e["ɵdid"](2,147456,null,0,ul.F,[e.ElementRef,e.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),e["ɵted"](3,null,["",""]))],(function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)}),(function(l,n){l(n,3,0,n.context.$implicit)}))}function hu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,14,"select",[["class","form-control custom-select"],["formControlName","namespace"],["id","namespace"],["name","namespace"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var a=!0;return"change"===n&&(a=!1!==e["ɵnov"](l,1).onChange(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,1).onTouched()&&a),a}),null,null)),e["ɵdid"](1,16384,null,0,ul.A,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,ul.p,(function(l){return[l]}),[ul.A]),e["ɵdid"](3,671744,[[9,4]],0,ul.j,[[3,ul.d],[8,null],[8,null],[6,ul.p],[2,ul.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,ul.q,null,[ul.j]),e["ɵdid"](5,16384,null,0,ul.r,[[4,ul.q]],null,null),e["ɵdid"](6,16384,null,0,wl.h,[[3,ul.d],wl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,fu)),e["ɵdid"](8,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,vu)),e["ɵdid"](10,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Cu)),e["ɵdid"](12,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,bu)),e["ɵdid"](14,278528,null,0,D.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(l,n){var u=n.component;l(n,3,0,"namespace"),l(n,6,0,"namespace"),l(n,8,0,null===u.pools),l(n,10,0,null!==u.pools&&0===u.pools.length),l(n,12,0,null!==u.pools&&u.pools.length>0),l(n,14,0,u.namespaces)}),(function(l,n){l(n,0,0,e["ɵnov"](n,5).ngClassUntouched,e["ɵnov"](n,5).ngClassTouched,e["ɵnov"](n,5).ngClassPristine,e["ɵnov"](n,5).ngClassDirty,e["ɵnov"](n,5).ngClassValid,e["ɵnov"](n,5).ngClassInvalid,e["ɵnov"](n,5).ngClassPending,e["ɵnov"](n,6).validClass,e["ɵnov"](n,6).invalidClass)}))}function Iu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,10,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,zn.b,zn.a)),e["ɵdid"](1,1163264,null,2,wl.c,[e.ElementRef,wl.g],null,null),e["ɵqud"](603979776,9,{FormControlNames:1}),e["ɵqud"](603979776,10,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label"],["for","pool"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,[" Namespace "])),(l()(),e["ɵeld"](6,0,null,0,4,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,gu)),e["ɵdid"](8,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,hu)),e["ɵdid"](10,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,1,0),l(n,8,0,"editing"===u.mode||!u.poolPermission.read),l(n,10,0,"editing"!==u.mode&&u.poolPermission.read)}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess)}))}function Ru(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,6,"input",[["class","form-control"],["formControlName","dataPool"],["id","dataPool"],["name","dataPool"],["placeholder","Data pool name..."],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var a=!0;return"input"===n&&(a=!1!==e["ɵnov"](l,1)._handleInput(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,1).onTouched()&&a),"compositionstart"===n&&(a=!1!==e["ɵnov"](l,1)._compositionStart()&&a),"compositionend"===n&&(a=!1!==e["ɵnov"](l,1)._compositionEnd(u.target.value)&&a),a}),null,null)),e["ɵdid"](1,16384,null,0,ul.e,[e.Renderer2,e.ElementRef,[2,ul.b]],null,null),e["ɵprd"](1024,null,ul.p,(function(l){return[l]}),[ul.e]),e["ɵdid"](3,671744,[[13,4]],0,ul.j,[[3,ul.d],[8,null],[8,null],[6,ul.p],[2,ul.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,ul.q,null,[ul.j]),e["ɵdid"](5,16384,null,0,ul.r,[[4,ul.q]],null,null),e["ɵdid"](6,16384,null,0,wl.h,[[3,ul.d],wl.a],{formControlName:[0,"formControlName"]},null)],(function(l,n){l(n,3,0,"dataPool"),l(n,6,0,"dataPool")}),(function(l,n){l(n,0,0,e["ɵnov"](n,5).ngClassUntouched,e["ɵnov"](n,5).ngClassTouched,e["ɵnov"](n,5).ngClassPristine,e["ɵnov"](n,5).ngClassDirty,e["ɵnov"](n,5).ngClassValid,e["ɵnov"](n,5).ngClassInvalid,e["ɵnov"](n,5).ngClassPending,e["ɵnov"](n,6).validClass,e["ɵnov"](n,6).invalidClass)}))}function Nu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,ul.v,[e.ElementRef,e.Renderer2,[2,ul.A]],{ngValue:[0,"ngValue"]},null),e["ɵdid"](2,147456,null,0,ul.F,[e.ElementRef,e.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),e["ɵted"](-1,null,["Loading..."]))],(function(l,n){l(n,1,0,null),l(n,2,0,null)}),null)}function wu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,ul.v,[e.ElementRef,e.Renderer2,[2,ul.A]],{ngValue:[0,"ngValue"]},null),e["ɵdid"](2,147456,null,0,ul.F,[e.ElementRef,e.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),e["ɵted"](-1,null,["-- No data pools available --"]))],(function(l,n){l(n,1,0,null),l(n,2,0,null)}),null)}function Tu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,ul.v,[e.ElementRef,e.Renderer2,[2,ul.A]],{ngValue:[0,"ngValue"]},null),e["ɵdid"](2,147456,null,0,ul.F,[e.ElementRef,e.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),e["ɵted"](-1,null,["-- Select a data pool -- "]))],(function(l,n){l(n,1,0,null),l(n,2,0,null)}),null)}function Eu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,ul.v,[e.ElementRef,e.Renderer2,[2,ul.A]],{value:[0,"value"]},null),e["ɵdid"](2,147456,null,0,ul.F,[e.ElementRef,e.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),e["ɵted"](3,null,["",""]))],(function(l,n){l(n,1,0,n.context.$implicit.pool_name),l(n,2,0,n.context.$implicit.pool_name)}),(function(l,n){l(n,3,0,n.context.$implicit.pool_name)}))}function yu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,14,"select",[["class","form-control custom-select"],["formControlName","dataPool"],["id","dataPool"],["name","dataPool"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var a=!0,t=l.component;return"change"===n&&(a=!1!==e["ɵnov"](l,1).onChange(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,1).onTouched()&&a),"change"===n&&(a=!1!==t.onDataPoolChange(u.target.value)&&a),a}),null,null)),e["ɵdid"](1,16384,null,0,ul.A,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,ul.p,(function(l){return[l]}),[ul.A]),e["ɵdid"](3,671744,[[13,4]],0,ul.j,[[3,ul.d],[8,null],[8,null],[6,ul.p],[2,ul.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,ul.q,null,[ul.j]),e["ɵdid"](5,16384,null,0,ul.r,[[4,ul.q]],null,null),e["ɵdid"](6,16384,null,0,wl.h,[[3,ul.d],wl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Nu)),e["ɵdid"](8,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,wu)),e["ɵdid"](10,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Tu)),e["ɵdid"](12,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Eu)),e["ɵdid"](14,278528,null,0,D.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(l,n){var u=n.component;l(n,3,0,"dataPool"),l(n,6,0,"dataPool"),l(n,8,0,null===u.dataPools),l(n,10,0,null!==u.dataPools&&0===u.dataPools.length),l(n,12,0,null!==u.dataPools&&u.dataPools.length>0),l(n,14,0,u.dataPools)}),(function(l,n){l(n,0,0,e["ɵnov"](n,5).ngClassUntouched,e["ɵnov"](n,5).ngClassTouched,e["ɵnov"](n,5).ngClassPristine,e["ɵnov"](n,5).ngClassDirty,e["ɵnov"](n,5).ngClassValid,e["ɵnov"](n,5).ngClassInvalid,e["ɵnov"](n,5).ngClassPending,e["ɵnov"](n,6).validClass,e["ɵnov"](n,6).invalidClass)}))}function Vu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function qu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,18,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,zn.b,zn.a)),e["ɵdid"](1,1163264,null,2,wl.c,[e.ElementRef,wl.g],null,null),e["ɵqud"](603979776,13,{FormControlNames:1}),e["ɵqud"](603979776,14,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,7,"label",[["class","cd-col-form-label"],["for","dataPool"]],null,null,null,null,null)),(l()(),e["ɵeld"](5,0,null,null,4,"span",[],null,null,null,null,null)),e["ɵprd"](512,null,D["ɵNgClassImpl"],D["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](7,278528,null,0,D.NgClass,[D["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpod"](8,{required:0}),(l()(),e["ɵted"](-1,null,["Data pool"])),(l()(),e["ɵeld"](10,0,null,null,1,"cd-helper",[["html","Dedicated pool that stores the object-data of the RBD."]],null,null,null,Ln.b,Ln.a)),e["ɵdid"](11,49152,null,0,Gn.a,[],{html:[0,"html"]},null),(l()(),e["ɵeld"](12,0,null,0,6,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,Ru)),e["ɵdid"](14,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,yu)),e["ɵdid"](16,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Vu)),e["ɵdid"](18,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,1,0);var a=l(n,8,0,"editing"!==u.mode);l(n,7,0,a),l(n,11,0,"Dedicated pool that stores the object-data of the RBD."),l(n,14,0,"editing"===u.mode||!u.poolPermission.read),l(n,16,0,"editing"!==u.mode&&u.poolPermission.read),l(n,18,0,u.rbdForm.showError("dataPool",e["ɵnov"](n.parent,5),"required"))}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess)}))}function ku(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function xu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["You have to increase the size."]))],null,null)}function _u(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"cd-helper",[],null,null,null,Ln.b,Ln.a)),e["ɵdid"](1,49152,null,0,Gn.a,[],{html:[0,"html"]},null)],(function(l,n){l(n,1,0,e["ɵinlineInterpolate"](1,"",n.parent.context.$implicit.helperHtml,""))}),null)}function Du(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,11,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,6,"input",[["class","custom-control-input"],["type","checkbox"]],[[8,"id",0],[8,"name",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var a=!0;return"change"===n&&(a=!1!==e["ɵnov"](l,2).onChange(u.target.checked)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,2).onTouched()&&a),a}),null,null)),e["ɵdid"](2,16384,null,0,ul.c,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,ul.p,(function(l){return[l]}),[ul.c]),e["ɵdid"](4,671744,[[17,4]],0,ul.j,[[3,ul.d],[8,null],[8,null],[6,ul.p],[2,ul.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,ul.q,null,[ul.j]),e["ɵdid"](6,16384,null,0,ul.r,[[4,ul.q]],null,null),e["ɵdid"](7,16384,null,0,wl.h,[[3,ul.d],wl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](8,0,null,null,1,"label",[["class","custom-control-label"]],[[8,"htmlFor",0]],null,null,null,null)),(l()(),e["ɵted"](9,null,["",""])),(l()(),e["ɵand"](16777216,null,null,1,null,_u)),e["ɵdid"](11,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){l(n,4,0,e["ɵinlineInterpolate"](1,"",n.context.$implicit.key,"")),l(n,7,0,e["ɵinlineInterpolate"](1,"",n.context.$implicit.key,"")),l(n,11,0,n.context.$implicit.helperHtml)}),(function(l,n){l(n,1,1,[e["ɵinlineInterpolate"](1,"",n.context.$implicit.key,""),e["ɵinlineInterpolate"](1,"",n.context.$implicit.key,""),e["ɵnov"](n,6).ngClassUntouched,e["ɵnov"](n,6).ngClassTouched,e["ɵnov"](n,6).ngClassPristine,e["ɵnov"](n,6).ngClassDirty,e["ɵnov"](n,6).ngClassValid,e["ɵnov"](n,6).ngClassInvalid,e["ɵnov"](n,6).ngClassPending,e["ɵnov"](n,7).validClass,e["ɵnov"](n,7).invalidClass]),l(n,8,0,e["ɵinlineInterpolate"](1,"",n.context.$implicit.key,"")),l(n,9,0,n.context.$implicit.desc)}))}function Fu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"a",[["class","float-right margin-right-md"],["href",""]],null,[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(l.component.advancedEnabled=!0,e=!1),e}),null,null)),(l()(),e["ɵted"](-1,null,["Advanced..."]))],null,null)}function Pu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,ul.v,[e.ElementRef,e.Renderer2,[2,ul.A]],{value:[0,"value"]},null),e["ɵdid"](2,147456,null,0,ul.F,[e.ElementRef,e.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),e["ɵted"](3,null,["",""]))],(function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)}),(function(l,n){l(n,3,0,n.context.$implicit)}))}function Su(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,ul.v,[e.ElementRef,e.Renderer2,[2,ul.A]],{value:[0,"value"]},null),e["ɵdid"](2,147456,null,0,ul.F,[e.ElementRef,e.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),e["ɵted"](3,null,["",""]))],(function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)}),(function(l,n){l(n,3,0,n.context.$implicit)}))}function Au(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required because stripe count is defined!"]))],null,null)}function ju(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Stripe unit is greater than object size."]))],null,null)}function Ou(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required because stripe unit is defined!"]))],null,null)}function Uu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Stripe count must be greater than 0."]))],null,null)}function Bu(l){return e["ɵvid"](0,[e["ɵpid"](0,D.TitleCasePipe,[]),e["ɵpid"](0,ll.a,[]),(l()(),e["ɵeld"](2,0,null,null,187,"div",[["class","cd-col-form"]],null,null,null,null,null)),(l()(),e["ɵeld"](3,0,null,null,186,"form",[["name","rbdForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,u){var a=!0;return"submit"===n&&(a=!1!==e["ɵnov"](l,5).onSubmit(u)&&a),"reset"===n&&(a=!1!==e["ɵnov"](l,5).onReset()&&a),"submit"===n&&(a=!1!==e["ɵnov"](l,8).onSubmit()&&a),a}),null,null)),e["ɵdid"](4,16384,null,0,ul.G,[],null,null),e["ɵdid"](5,540672,[["formDir",4]],0,ul.l,[[8,null],[8,null]],{form:[0,"form"]},null),e["ɵprd"](2048,null,ul.d,null,[ul.l]),e["ɵdid"](7,16384,null,0,ul.s,[[4,ul.d]],null,null),e["ɵdid"](8,16384,null,0,wl.d,[],{formGroup:[0,"formGroup"]},null),(l()(),e["ɵeld"](9,0,null,null,180,"div",[["class","card"]],null,null,null,null,null)),(l()(),e["ɵeld"](10,0,null,null,3,"div",[["class","card-header"]],null,null,null,null,null)),(l()(),e["ɵted"](11,null,[""," ",""])),e["ɵppd"](12,1),e["ɵppd"](13,1),(l()(),e["ɵeld"](14,0,null,null,166,"div",[["class","card-body"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,eu)),e["ɵdid"](16,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](17,0,null,null,18,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,zn.b,zn.a)),e["ɵdid"](18,1163264,null,2,wl.c,[e.ElementRef,wl.g],null,null),e["ɵqud"](603979776,3,{FormControlNames:1}),e["ɵqud"](603979776,4,{messagesBlock:0}),(l()(),e["ɵeld"](21,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","name"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Name"])),(l()(),e["ɵeld"](23,0,null,0,12,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](24,0,null,null,7,"input",[["autofocus",""],["class","form-control"],["formControlName","name"],["id","name"],["name","name"],["placeholder","Name..."],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var a=!0;return"input"===n&&(a=!1!==e["ɵnov"](l,25)._handleInput(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,25).onTouched()&&a),"compositionstart"===n&&(a=!1!==e["ɵnov"](l,25)._compositionStart()&&a),"compositionend"===n&&(a=!1!==e["ɵnov"](l,25)._compositionEnd(u.target.value)&&a),a}),null,null)),e["ɵdid"](25,16384,null,0,ul.e,[e.Renderer2,e.ElementRef,[2,ul.b]],null,null),e["ɵprd"](1024,null,ul.p,(function(l){return[l]}),[ul.e]),e["ɵdid"](27,671744,[[3,4]],0,ul.j,[[3,ul.d],[8,null],[8,null],[6,ul.p],[2,ul.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,ul.q,null,[ul.j]),e["ɵdid"](29,16384,null,0,ul.r,[[4,ul.q]],null,null),e["ɵdid"](30,4210688,null,0,Kn.a,[e.ElementRef],{autofocus:[0,"autofocus"]},null),e["ɵdid"](31,16384,null,0,wl.h,[[3,ul.d],wl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,au)),e["ɵdid"](33,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,tu)),e["ɵdid"](35,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](36,0,null,null,15,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],[[null,"change"]],(function(l,n,u){var e=!0;return"change"===n&&(e=!1!==l.component.onPoolChange(u.target.value)&&e),e}),zn.b,zn.a)),e["ɵdid"](37,1163264,null,2,wl.c,[e.ElementRef,wl.g],null,null),e["ɵqud"](603979776,5,{FormControlNames:1}),e["ɵqud"](603979776,6,{messagesBlock:0}),(l()(),e["ɵeld"](40,0,null,0,4,"label",[["class","cd-col-form-label"],["for","pool"]],null,null,null,null,null)),e["ɵprd"](512,null,D["ɵNgClassImpl"],D["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](42,278528,null,0,D.NgClass,[D["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),e["ɵpod"](43,{required:0}),(l()(),e["ɵted"](-1,null,["Pool"])),(l()(),e["ɵeld"](45,0,null,0,6,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,ou)),e["ɵdid"](47,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,cu)),e["ɵdid"](49,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,pu)),e["ɵdid"](51,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,mu)),e["ɵdid"](53,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Iu)),e["ɵdid"](55,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](56,0,null,null,14,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,zn.b,zn.a)),e["ɵdid"](57,1163264,null,2,wl.c,[e.ElementRef,wl.g],null,null),e["ɵqud"](603979776,11,{FormControlNames:1}),e["ɵqud"](603979776,12,{messagesBlock:0}),(l()(),e["ɵeld"](60,0,null,0,10,"div",[["class","cd-col-form-offset"]],null,null,null,null,null)),(l()(),e["ɵeld"](61,0,null,null,9,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(l()(),e["ɵeld"](62,0,null,null,6,"input",[["class","custom-control-input"],["formControlName","useDataPool"],["id","useDataPool"],["name","useDataPool"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var a=!0,t=l.component;return"change"===n&&(a=!1!==e["ɵnov"](l,63).onChange(u.target.checked)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,63).onTouched()&&a),"change"===n&&(a=!1!==t.onUseDataPoolChange()&&a),a}),null,null)),e["ɵdid"](63,16384,null,0,ul.c,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,ul.p,(function(l){return[l]}),[ul.c]),e["ɵdid"](65,671744,[[11,4]],0,ul.j,[[3,ul.d],[8,null],[8,null],[6,ul.p],[2,ul.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,ul.q,null,[ul.j]),e["ɵdid"](67,16384,null,0,ul.r,[[4,ul.q]],null,null),e["ɵdid"](68,16384,null,0,wl.h,[[3,ul.d],wl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](69,0,null,null,1,"label",[["class","custom-control-label"],["for","useDataPool"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Use a dedicated data pool"])),(l()(),e["ɵand"](16777216,null,null,1,null,qu)),e["ɵdid"](72,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](73,0,null,null,18,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,zn.b,zn.a)),e["ɵdid"](74,1163264,null,2,wl.c,[e.ElementRef,wl.g],null,null),e["ɵqud"](603979776,15,{FormControlNames:1}),e["ɵqud"](603979776,16,{messagesBlock:0}),(l()(),e["ɵeld"](77,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","size"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Size"])),(l()(),e["ɵeld"](79,0,null,0,12,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](80,0,null,null,7,"input",[["cdDimlessBinary",""],["class","form-control"],["defaultUnit","GiB"],["formControlName","size"],["id","size"],["name","size"],["placeholder","e.g., 10GiB"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var a=!0;return"input"===n&&(a=!1!==e["ɵnov"](l,81)._handleInput(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,81).onTouched()&&a),"compositionstart"===n&&(a=!1!==e["ɵnov"](l,81)._compositionStart()&&a),"compositionend"===n&&(a=!1!==e["ɵnov"](l,81)._compositionEnd(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,86).onBlur(u.target.value)&&a),a}),null,null)),e["ɵdid"](81,16384,null,0,ul.e,[e.Renderer2,e.ElementRef,[2,ul.b]],null,null),e["ɵprd"](1024,null,ul.p,(function(l){return[l]}),[ul.e]),e["ɵdid"](83,671744,[[15,4]],0,ul.j,[[3,ul.d],[8,null],[8,null],[6,ul.p],[2,ul.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,ul.q,null,[ul.j]),e["ɵdid"](85,16384,null,0,ul.r,[[4,ul.q]],null,null),e["ɵdid"](86,81920,null,0,Hn.a,[e.ElementRef,ul.q,B.a,U.a],{defaultUnit:[0,"defaultUnit"]},null),e["ɵdid"](87,16384,null,0,wl.h,[[3,ul.d],wl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,ku)),e["ɵdid"](89,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,xu)),e["ɵdid"](91,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](92,0,null,null,11,"div",[["class","form-group row"],["formGroupName","features"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"has-error",null],[2,"has-success",null]],null,null,zn.b,zn.a)),e["ɵdid"](93,212992,null,0,ul.m,[[3,ul.d],[8,null],[8,null]],{name:[0,"name"]},null),e["ɵprd"](2048,null,ul.d,null,[ul.m]),e["ɵdid"](95,16384,null,0,ul.s,[[4,ul.d]],null,null),e["ɵdid"](96,1163264,null,2,wl.c,[e.ElementRef,wl.g],null,null),e["ɵqud"](603979776,17,{FormControlNames:1}),e["ɵqud"](603979776,18,{messagesBlock:0}),(l()(),e["ɵeld"](99,0,null,0,1,"label",[["class","cd-col-form-label"],["for","features"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Features"])),(l()(),e["ɵeld"](101,0,null,0,2,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,Du)),e["ɵdid"](103,278528,null,0,D.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),e["ɵeld"](104,0,null,null,3,"div",[["class","row"]],null,null,null,null,null)),(l()(),e["ɵeld"](105,0,null,null,2,"div",[["class","col-sm-12"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,Fu)),e["ɵdid"](107,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](108,0,null,null,72,"div",[],[[8,"hidden",0]],null,null,null,null)),(l()(),e["ɵeld"](109,0,null,null,1,"legend",[["class","cd-header"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Advanced"])),(l()(),e["ɵeld"](111,0,null,null,67,"div",[["class","col-md-12"]],null,null,null,null,null)),(l()(),e["ɵeld"](112,0,null,null,1,"h3",[["class","cd-header"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Striping"])),(l()(),e["ɵeld"](114,0,null,null,15,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,zn.b,zn.a)),e["ɵdid"](115,1163264,null,2,wl.c,[e.ElementRef,wl.g],null,null),e["ɵqud"](603979776,19,{FormControlNames:1}),e["ɵqud"](603979776,20,{messagesBlock:0}),(l()(),e["ɵeld"](118,0,null,0,1,"label",[["class","cd-col-form-label"],["for","size"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Object size"])),(l()(),e["ɵeld"](120,0,null,0,9,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](121,0,null,null,8,"select",[["class","form-control custom-select"],["formControlName","obj_size"],["id","obj_size"],["name","obj_size"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var a=!0;return"change"===n&&(a=!1!==e["ɵnov"](l,122).onChange(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,122).onTouched()&&a),a}),null,null)),e["ɵdid"](122,16384,null,0,ul.A,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,ul.p,(function(l){return[l]}),[ul.A]),e["ɵdid"](124,671744,[[19,4]],0,ul.j,[[3,ul.d],[8,null],[8,null],[6,ul.p],[2,ul.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,ul.q,null,[ul.j]),e["ɵdid"](126,16384,null,0,ul.r,[[4,ul.q]],null,null),e["ɵdid"](127,16384,null,0,wl.h,[[3,ul.d],wl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Pu)),e["ɵdid"](129,278528,null,0,D.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),e["ɵeld"](130,0,null,null,26,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,zn.b,zn.a)),e["ɵdid"](131,1163264,null,2,wl.c,[e.ElementRef,wl.g],null,null),e["ɵqud"](603979776,21,{FormControlNames:1}),e["ɵqud"](603979776,22,{messagesBlock:0}),(l()(),e["ɵeld"](134,0,null,0,4,"label",[["class","cd-col-form-label"],["for","stripingUnit"]],null,null,null,null,null)),e["ɵprd"](512,null,D["ɵNgClassImpl"],D["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](136,278528,null,0,D.NgClass,[D["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),e["ɵpod"](137,{required:0}),(l()(),e["ɵted"](-1,null,["Stripe unit"])),(l()(),e["ɵeld"](139,0,null,0,17,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](140,0,null,null,12,"select",[["class","form-control custom-select"],["formControlName","stripingUnit"],["id","stripingUnit"],["name","stripingUnit"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var a=!0;return"change"===n&&(a=!1!==e["ɵnov"](l,141).onChange(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,141).onTouched()&&a),a}),null,null)),e["ɵdid"](141,16384,null,0,ul.A,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,ul.p,(function(l){return[l]}),[ul.A]),e["ɵdid"](143,671744,[[21,4]],0,ul.j,[[3,ul.d],[8,null],[8,null],[6,ul.p],[2,ul.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,ul.q,null,[ul.j]),e["ɵdid"](145,16384,null,0,ul.r,[[4,ul.q]],null,null),e["ɵdid"](146,16384,null,0,wl.h,[[3,ul.d],wl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](147,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](148,147456,null,0,ul.v,[e.ElementRef,e.Renderer2,[2,ul.A]],{ngValue:[0,"ngValue"]},null),e["ɵdid"](149,147456,null,0,ul.F,[e.ElementRef,e.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),e["ɵted"](-1,null,["-- Select stripe unit --"])),(l()(),e["ɵand"](16777216,null,null,1,null,Su)),e["ɵdid"](152,278528,null,0,D.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Au)),e["ɵdid"](154,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,ju)),e["ɵdid"](156,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](157,0,null,null,21,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,zn.b,zn.a)),e["ɵdid"](158,1163264,null,2,wl.c,[e.ElementRef,wl.g],null,null),e["ɵqud"](603979776,23,{FormControlNames:1}),e["ɵqud"](603979776,24,{messagesBlock:0}),(l()(),e["ɵeld"](161,0,null,0,4,"label",[["class","cd-col-form-label"],["for","stripingCount"]],null,null,null,null,null)),e["ɵprd"](512,null,D["ɵNgClassImpl"],D["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](163,278528,null,0,D.NgClass,[D["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),e["ɵpod"](164,{required:0}),(l()(),e["ɵted"](-1,null,["Stripe count"])),(l()(),e["ɵeld"](166,0,null,0,12,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](167,0,null,null,7,"input",[["class","form-control"],["formControlName","stripingCount"],["id","stripingCount"],["name","stripingCount"],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],(function(l,n,u){var a=!0;return"input"===n&&(a=!1!==e["ɵnov"](l,168)._handleInput(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,168).onTouched()&&a),"compositionstart"===n&&(a=!1!==e["ɵnov"](l,168)._compositionStart()&&a),"compositionend"===n&&(a=!1!==e["ɵnov"](l,168)._compositionEnd(u.target.value)&&a),"change"===n&&(a=!1!==e["ɵnov"](l,169).onChange(u.target.value)&&a),"input"===n&&(a=!1!==e["ɵnov"](l,169).onChange(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,169).onTouched()&&a),a}),null,null)),e["ɵdid"](168,16384,null,0,ul.e,[e.Renderer2,e.ElementRef,[2,ul.b]],null,null),e["ɵdid"](169,16384,null,0,ul.w,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,ul.p,(function(l,n){return[l,n]}),[ul.e,ul.w]),e["ɵdid"](171,671744,[[23,4]],0,ul.j,[[3,ul.d],[8,null],[8,null],[6,ul.p],[2,ul.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,ul.q,null,[ul.j]),e["ɵdid"](173,16384,null,0,ul.r,[[4,ul.q]],null,null),e["ɵdid"](174,16384,null,0,wl.h,[[3,ul.d],wl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Ou)),e["ɵdid"](176,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Uu)),e["ɵdid"](178,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](179,0,null,null,1,"cd-rbd-configuration-form",[],null,[[null,"changes"]],(function(l,n,u){var e=!0;return"changes"===n&&(e=!1!==(l.component.getDirtyConfigurationValues=u)&&e),e}),Jn.b,Jn.a)),e["ɵdid"](180,114688,null,0,Zn.a,[U.a,Wn.a],{form:[0,"form"],initializeData:[1,"initializeData"]},{changes:"changes"}),(l()(),e["ɵeld"](181,0,null,null,8,"div",[["class","card-footer"]],null,null,null,null,null)),(l()(),e["ɵeld"](182,0,null,null,7,"div",[["class","button-group text-right"]],null,null,null,null,null)),(l()(),e["ɵeld"](183,0,null,null,4,"cd-submit-button",[],null,[[null,"submitAction"]],(function(l,n,u){var e=!0;return"submitAction"===n&&(e=!1!==l.component.submit()&&e),e}),Qn.b,Qn.a)),e["ɵdid"](184,114688,null,0,Yn.a,[e.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(l()(),e["ɵted"](185,0,[""," ",""])),e["ɵppd"](186,1),e["ɵppd"](187,1),(l()(),e["ɵeld"](188,0,null,null,1,"cd-back-button",[],null,null,null,Xn.b,Xn.a)),e["ɵdid"](189,49152,null,0,lu.a,[D.Location,Yl.b],null,null)],(function(l,n){var u=n.component;l(n,5,0,u.rbdForm),l(n,8,0,u.rbdForm),l(n,16,0,u.rbdForm.getValue("parent")),l(n,18,0),l(n,27,0,"name"),l(n,30,0,""),l(n,31,0,"name"),l(n,33,0,u.rbdForm.showError("name",e["ɵnov"](n,5),"required")),l(n,35,0,u.rbdForm.showError("name",e["ɵnov"](n,5),"pattern")),l(n,37,0);var a=l(n,43,0,"editing"!==u.mode);l(n,42,0,"cd-col-form-label",a),l(n,47,0,"editing"===u.mode||!u.poolPermission.read),l(n,49,0,"editing"!==u.mode&&u.poolPermission.read),l(n,51,0,u.rbdForm.showError("pool",e["ɵnov"](n,5),"required")),l(n,53,0,"editing"!==u.mode&&u.rbdForm.getValue("pool")&&null===u.namespaces),l(n,55,0,"editing"===u.mode&&u.rbdForm.getValue("namespace")||"editing"!==u.mode&&(u.namespaces&&u.namespaces.length>0||!u.poolPermission.read)),l(n,57,0),l(n,65,0,"useDataPool"),l(n,68,0,"useDataPool"),l(n,72,0,u.rbdForm.getValue("useDataPool")),l(n,74,0),l(n,83,0,"size"),l(n,86,0,"GiB"),l(n,87,0,"size"),l(n,89,0,u.rbdForm.showError("size",e["ɵnov"](n,5),"required")),l(n,91,0,u.rbdForm.showError("size",e["ɵnov"](n,5),"invalidSizeObject")),l(n,93,0,"features"),l(n,96,0),l(n,103,0,u.featuresList),l(n,107,0,!u.advancedEnabled),l(n,115,0),l(n,124,0,"obj_size"),l(n,127,0,"obj_size"),l(n,129,0,u.objectSizes),l(n,131,0);var t=l(n,137,0,u.rbdForm.getValue("stripingCount"));l(n,136,0,"cd-col-form-label",t),l(n,143,0,"stripingUnit"),l(n,146,0,"stripingUnit"),l(n,148,0,null),l(n,149,0,null),l(n,152,0,u.objectSizes),l(n,154,0,u.rbdForm.showError("stripingUnit",e["ɵnov"](n,5),"required")),l(n,156,0,u.rbdForm.showError("stripingUnit",e["ɵnov"](n,5),"invalidStripingUnit")),l(n,158,0);var o=l(n,164,0,u.rbdForm.getValue("stripingUnit"));l(n,163,0,"cd-col-form-label",o),l(n,171,0,"stripingCount"),l(n,174,0,"stripingCount"),l(n,176,0,u.rbdForm.showError("stripingCount",e["ɵnov"](n,5),"required")),l(n,178,0,u.rbdForm.showError("stripingCount",e["ɵnov"](n,5),"min")),l(n,180,0,u.rbdForm,u.initializeConfigData),l(n,184,0,e["ɵnov"](n,5))}),(function(l,n){var u=n.component;l(n,3,0,e["ɵnov"](n,7).ngClassUntouched,e["ɵnov"](n,7).ngClassTouched,e["ɵnov"](n,7).ngClassPristine,e["ɵnov"](n,7).ngClassDirty,e["ɵnov"](n,7).ngClassValid,e["ɵnov"](n,7).ngClassInvalid,e["ɵnov"](n,7).ngClassPending);var a=e["ɵunv"](n,11,0,l(n,12,0,e["ɵnov"](n,0),u.action)),t=e["ɵunv"](n,11,1,l(n,13,0,e["ɵnov"](n,1),u.resource));l(n,11,0,a,t),l(n,17,0,e["ɵnov"](n,18).hasErrors,e["ɵnov"](n,18).hasSuccess),l(n,24,0,e["ɵnov"](n,29).ngClassUntouched,e["ɵnov"](n,29).ngClassTouched,e["ɵnov"](n,29).ngClassPristine,e["ɵnov"](n,29).ngClassDirty,e["ɵnov"](n,29).ngClassValid,e["ɵnov"](n,29).ngClassInvalid,e["ɵnov"](n,29).ngClassPending,e["ɵnov"](n,31).validClass,e["ɵnov"](n,31).invalidClass),l(n,36,0,e["ɵnov"](n,37).hasErrors,e["ɵnov"](n,37).hasSuccess),l(n,56,0,e["ɵnov"](n,57).hasErrors,e["ɵnov"](n,57).hasSuccess),l(n,62,0,e["ɵnov"](n,67).ngClassUntouched,e["ɵnov"](n,67).ngClassTouched,e["ɵnov"](n,67).ngClassPristine,e["ɵnov"](n,67).ngClassDirty,e["ɵnov"](n,67).ngClassValid,e["ɵnov"](n,67).ngClassInvalid,e["ɵnov"](n,67).ngClassPending,e["ɵnov"](n,68).validClass,e["ɵnov"](n,68).invalidClass),l(n,73,0,e["ɵnov"](n,74).hasErrors,e["ɵnov"](n,74).hasSuccess),l(n,80,0,e["ɵnov"](n,85).ngClassUntouched,e["ɵnov"](n,85).ngClassTouched,e["ɵnov"](n,85).ngClassPristine,e["ɵnov"](n,85).ngClassDirty,e["ɵnov"](n,85).ngClassValid,e["ɵnov"](n,85).ngClassInvalid,e["ɵnov"](n,85).ngClassPending,e["ɵnov"](n,87).validClass,e["ɵnov"](n,87).invalidClass),l(n,92,0,e["ɵnov"](n,95).ngClassUntouched,e["ɵnov"](n,95).ngClassTouched,e["ɵnov"](n,95).ngClassPristine,e["ɵnov"](n,95).ngClassDirty,e["ɵnov"](n,95).ngClassValid,e["ɵnov"](n,95).ngClassInvalid,e["ɵnov"](n,95).ngClassPending,e["ɵnov"](n,96).hasErrors,e["ɵnov"](n,96).hasSuccess),l(n,108,0,!u.advancedEnabled),l(n,114,0,e["ɵnov"](n,115).hasErrors,e["ɵnov"](n,115).hasSuccess),l(n,121,0,e["ɵnov"](n,126).ngClassUntouched,e["ɵnov"](n,126).ngClassTouched,e["ɵnov"](n,126).ngClassPristine,e["ɵnov"](n,126).ngClassDirty,e["ɵnov"](n,126).ngClassValid,e["ɵnov"](n,126).ngClassInvalid,e["ɵnov"](n,126).ngClassPending,e["ɵnov"](n,127).validClass,e["ɵnov"](n,127).invalidClass),l(n,130,0,e["ɵnov"](n,131).hasErrors,e["ɵnov"](n,131).hasSuccess),l(n,140,0,e["ɵnov"](n,145).ngClassUntouched,e["ɵnov"](n,145).ngClassTouched,e["ɵnov"](n,145).ngClassPristine,e["ɵnov"](n,145).ngClassDirty,e["ɵnov"](n,145).ngClassValid,e["ɵnov"](n,145).ngClassInvalid,e["ɵnov"](n,145).ngClassPending,e["ɵnov"](n,146).validClass,e["ɵnov"](n,146).invalidClass),l(n,157,0,e["ɵnov"](n,158).hasErrors,e["ɵnov"](n,158).hasSuccess),l(n,167,0,e["ɵnov"](n,173).ngClassUntouched,e["ɵnov"](n,173).ngClassTouched,e["ɵnov"](n,173).ngClassPristine,e["ɵnov"](n,173).ngClassDirty,e["ɵnov"](n,173).ngClassValid,e["ɵnov"](n,173).ngClassInvalid,e["ɵnov"](n,173).ngClassPending,e["ɵnov"](n,174).validClass,e["ɵnov"](n,174).invalidClass);var o=e["ɵunv"](n,185,0,l(n,186,0,e["ɵnov"](n,0),u.action)),d=e["ɵunv"](n,185,1,l(n,187,0,e["ɵnov"](n,1),u.resource));l(n,185,0,o,d)}))}function $u(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"cd-rbd-form",[],null,null,null,Bu,uu)),e["ɵdid"](1,114688,null,0,nu.a,[gl.a,vl.a,vn.a,Wl.a,U.a,Ql.a,B.a,A.a,Yl.b,vl.m],null,null)],(function(l,n){l(n,1,0)}),null)}var Mu=e["ɵccf"]("cd-rbd-form",nu.a,$u,{},{},[]),zu=u("JxMD"),Lu=u("dgut");class Gu{constructor(l){this.router=l}ngOnInit(){this.url=this.router.url}navigateTo(l){this.router.navigate([l])}}var Ku=e["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Hu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,5,"tabset",[],[[2,"tab-container",null]],null,null,Sl.b,Sl.a)),e["ɵdid"](1,180224,null,0,Cl.e,[Cl.f,e.Renderer2,e.ElementRef],null,null),(l()(),e["ɵeld"](2,0,null,0,1,"tab",[["heading","Overview"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],[[null,"selectTab"]],(function(l,n,u){var e=!0;return"selectTab"===n&&(e=!1!==l.component.navigateTo("/block/iscsi/overview")&&e),e}),null,null)),e["ɵdid"](3,212992,null,0,Cl.b,[Cl.e,e.ElementRef,e.Renderer2],{heading:[0,"heading"],active:[1,"active"]},{selectTab:"selectTab"}),(l()(),e["ɵeld"](4,0,null,0,1,"tab",[["heading","Targets"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],[[null,"selectTab"]],(function(l,n,u){var e=!0;return"selectTab"===n&&(e=!1!==l.component.navigateTo("/block/iscsi/targets")&&e),e}),null,null)),e["ɵdid"](5,212992,null,0,Cl.b,[Cl.e,e.ElementRef,e.Renderer2],{heading:[0,"heading"],active:[1,"active"]},{selectTab:"selectTab"})],(function(l,n){var u=n.component;l(n,3,0,"Overview","/block/iscsi/overview"===u.url),l(n,5,0,"Targets","/block/iscsi/targets"===u.url)}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).clazz),l(n,2,0,e["ɵnov"](n,3).id,e["ɵnov"](n,3).active,e["ɵnov"](n,3).addClass),l(n,4,0,e["ɵnov"](n,5).id,e["ɵnov"](n,5).active,e["ɵnov"](n,5).addClass)}))}var Ju=u("roDX"),Zu=u("my5R"),Wu=e["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Qu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"span",[],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,"cd-sparkline",[],null,null,null,zu.b,zu.a)),e["ɵdid"](2,638976,null,0,Lu.a,[B.a],{data:[0,"data"],isBinary:[1,"isBinary"]},null)],(function(l,n){l(n,2,0,n.parent.context.value,n.parent.context.row.cdIsBinary)}),null)}function Yu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","text-muted"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,[" n/a "]))],null,null)}function Xu(l){return e["ɵvid"](0,[(l()(),e["ɵand"](16777216,null,null,1,null,Qu)),e["ɵdid"](1,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Yu)),e["ɵdid"](3,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](0,null,null,0))],(function(l,n){l(n,1,0,"user:rbd"===n.context.row.backstore),l(n,3,0,"user:rbd"!==n.context.row.backstore)}),null)}function le(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(l()(),e["ɵted"](1,null,[" "," /s "]))],null,(function(l,n){l(n,1,0,n.parent.context.value)}))}function ne(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","text-muted"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,[" n/a "]))],null,null)}function ue(l){return e["ɵvid"](0,[(l()(),e["ɵand"](16777216,null,null,1,null,le)),e["ɵdid"](1,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,ne)),e["ɵdid"](3,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](0,null,null,0))],(function(l,n){l(n,1,0,"user:rbd"===n.context.row.backstore),l(n,3,0,"user:rbd"!==n.context.row.backstore)}),null)}function ee(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"span",[],null,null,null,null,null)),(l()(),e["ɵted"](1,null,[" "," "])),e["ɵppd"](2,1)],null,(function(l,n){var u=e["ɵunv"](n,1,0,l(n,2,0,e["ɵnov"](n.parent.parent,0),n.parent.context.value));l(n,1,0,u)}))}function ae(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","text-muted"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,[" n/a "]))],null,null)}function te(l){return e["ɵvid"](0,[(l()(),e["ɵand"](16777216,null,null,1,null,ee)),e["ɵdid"](1,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,ae)),e["ɵdid"](3,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](0,null,null,0))],(function(l,n){l(n,1,0,"user:rbd"===n.context.row.backstore),l(n,3,0,"user:rbd"!==n.context.row.backstore)}),null)}function oe(l){return e["ɵvid"](0,[e["ɵpid"](0,z.a,[]),e["ɵqud"](402653184,1,{iscsiSparklineTpl:0}),e["ɵqud"](402653184,2,{iscsiPerSecondTpl:0}),e["ɵqud"](402653184,3,{iscsiRelativeDateTpl:0}),(l()(),e["ɵeld"](4,0,null,null,1,"cd-iscsi-tabs",[],null,null,null,Hu,Ku)),e["ɵdid"](5,114688,null,0,Gu,[vl.m],null,null),(l()(),e["ɵeld"](6,0,null,null,1,"legend",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Gateways"])),(l()(),e["ɵeld"](8,0,null,null,1,"cd-table",[],null,[[null,"fetchData"]],(function(l,n,u){var e=!0;return"fetchData"===n&&(e=!1!==l.component.refresh()&&e),e}),Bl.b,Bl.a)),e["ɵdid"](9,2867200,null,0,$l.a,[e.NgZone,e.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"]},{fetchData:"fetchData"}),(l()(),e["ɵeld"](10,0,null,null,1,"legend",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Images"])),(l()(),e["ɵeld"](12,0,null,null,1,"cd-table",[],null,null,null,Bl.b,Bl.a)),e["ɵdid"](13,2867200,null,0,$l.a,[e.NgZone,e.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"]},null),(l()(),e["ɵand"](0,[[1,2],["iscsiSparklineTpl",2]],null,0,null,Xu)),(l()(),e["ɵand"](0,[[2,2],["iscsiPerSecondTpl",2]],null,0,null,ue)),(l()(),e["ɵand"](0,[[3,2],["iscsiRelativeDateTpl",2]],null,0,null,te))],(function(l,n){var u=n.component;l(n,5,0),l(n,9,0,u.gateways,u.gatewaysColumns),l(n,13,0,u.images,u.imagesColumns)}),null)}function de(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"cd-iscsi",[],null,null,null,oe,Wu)),e["ɵdid"](1,114688,null,0,Ju.a,[Zu.a,M.a,L.a,A.a],null,null)],(function(l,n){l(n,1,0)}),null)}var ie=e["ɵccf"]("cd-iscsi",Ju.a,de,{},{},[]),se=u("DqMs"),re=u("/NlG"),ce=u("3ris"),pe=u("e/kN"),me=e["ɵcrt"]({encapsulation:0,styles:[["tabset.tabset>ul{border-bottom:0;float:left;display:block;margin-right:20px;border-right:1px solid #ddd;padding-right:15px}"]],data:{}});function ge(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,5,null,null,null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,0,"br",[],null,null,null,null,null)),(l()(),e["ɵeld"](2,0,null,null,1,"span",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Available information:"])),(l()(),e["ɵeld"](4,0,null,null,1,"pre",[],null,null,null,null,null)),(l()(),e["ɵted"](5,null,["",""]))],null,(function(l,n){l(n,5,0,n.component.status)}))}function fe(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,8,"cd-alert-panel",[["title","iSCSI Targets not available"],["type","info"]],null,null,null,se.b,se.a)),e["ɵdid"](1,114688,null,0,re.a,[A.a],{title:[0,"title"],type:[1,"type"]},null),(l()(),e["ɵeld"](2,0,null,0,4,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Please consult the "])),(l()(),e["ɵeld"](4,0,null,null,1,"a",[["target","_blank"]],[[8,"href",4]],null,null,null,null)),(l()(),e["ɵted"](-1,null,["documentation"])),(l()(),e["ɵted"](-1,null,[" on how to configure and enable the iSCSI Targets management functionality."])),(l()(),e["ɵand"](16777216,null,0,1,null,ge)),e["ɵdid"](8,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,1,0,"iSCSI Targets not available","info"),l(n,8,0,u.status)}),(function(l,n){l(n,4,0,e["ɵinlineInterpolate"](1,"",n.component.docsUrl,""))}))}function ve(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"cd-iscsi-target-details",[["cdTableDetail",""]],null,null,null,q.c,q.b)),e["ɵdid"](1,638976,null,0,ce.a,[A.a,L.a,S.a],{selection:[0,"selection"],settings:[1,"settings"],cephIscsiConfigVersion:[2,"cephIscsiConfigVersion"]},null)],(function(l,n){var u=n.component;l(n,1,0,u.selection,u.settings,u.cephIscsiConfigVersion)}),null)}function Ce(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,13,"cd-table",[["columnMode","flex"],["forceIdentifier","true"],["identifier","target_iqn"],["selectionType","single"]],null,[[null,"updateSelection"]],(function(l,n,u){var e=!0;return"updateSelection"===n&&(e=!1!==l.component.updateSelection(u)&&e),e}),Bl.b,Bl.a)),e["ɵdid"](1,2867200,[[1,4],["table",4]],0,$l.a,[e.NgZone,e.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],identifier:[3,"identifier"],forceIdentifier:[4,"forceIdentifier"],selectionType:[5,"selectionType"]},{updateSelection:"updateSelection"}),(l()(),e["ɵeld"](2,0,null,1,9,"div",[["class","table-actions btn-toolbar"]],null,null,null,null,null)),(l()(),e["ɵeld"](3,0,null,null,1,"cd-table-actions",[["class","btn-group"]],null,null,null,Ml.b,Ml.a)),e["ɵdid"](4,114688,null,0,zl.a,[],{permission:[0,"permission"],selection:[1,"selection"],tableActions:[2,"tableActions"]},null),(l()(),e["ɵeld"](5,0,null,null,6,"button",[["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(e=!1!==l.component.configureDiscoveryAuth()&&e),e}),null,null)),(l()(),e["ɵeld"](6,0,null,null,3,"i",[["aria-hidden","true"]],null,null,null,null,null)),e["ɵprd"](512,null,D["ɵNgClassImpl"],D["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](8,278528,null,0,D.NgClass,[D["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](9,1),(l()(),e["ɵeld"](10,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Discovery authentication"])),(l()(),e["ɵand"](16777216,null,3,1,null,ve)),e["ɵdid"](13,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,1,0,u.targets,u.columns,"flex","target_iqn","true","single"),l(n,4,0,u.permission,u.selection,u.tableActions);var e=l(n,9,0,u.icons.key);l(n,8,0,e),l(n,13,0,u.selection.hasSingleSelection)}),null)}function be(l){return e["ɵvid"](0,[e["ɵqud"](671088640,1,{table:0}),(l()(),e["ɵeld"](1,0,null,null,1,"cd-iscsi-tabs",[],null,null,null,Hu,Ku)),e["ɵdid"](2,114688,null,0,Gu,[vl.m],null,null),(l()(),e["ɵand"](16777216,null,null,1,null,fe)),e["ɵdid"](4,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Ce)),e["ɵdid"](6,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,2,0),l(n,4,0,!1===u.available),l(n,6,0,!0===u.available)}),null)}function he(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"cd-iscsi-target-list",[],null,null,null,be,me)),e["ɵprd"](131584,null,Gl.a,Gl.a,[Kl.a,Hl.a]),e["ɵdid"](2,245760,null,0,pe.a,[gl.a,A.a,Zu.a,Gl.a,O.a,X.a,Hl.a,sl.b,Ql.a,Yl.b],null,null)],(function(l,n){l(n,2,0)}),null)}var Ie=e["ɵccf"]("cd-iscsi-target-list",pe.a,he,{},{},[]),Re=u("D4zM"),Ne=u("OcYo"),we=u("EApP"),Te=u("WiuZ"),Ee=u("wnGv"),ye=u("LvDl");class Ve{constructor(l){this.ngControl=l}onInput(l){this.setValue(l)}setValue(l){l=ye.isString(l)?l.trim():l,this.ngControl.control.setValue(l)}}var qe=u("gr3l"),ke=e["ɵcrt"]({encapsulation:0,styles:[[".cd-mb[_ngcontent-%COMP%]{margin-bottom:10px}"]],data:{}});function xe(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function _e(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["IQN has wrong pattern."]))],null,null)}function De(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,8,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["An IQN has the following notation 'iqn.$year-$month.$reversedAddress:$definedName'"])),(l()(),e["ɵeld"](3,0,null,null,0,"br",[],null,null,null,null,null)),(l()(),e["ɵeld"](4,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["For example: iqn.2016-06.org.dashboard:storage:disk.sn-a8675309"])),(l()(),e["ɵeld"](6,0,null,null,0,"br",[],null,null,null,null,null)),(l()(),e["ɵeld"](7,0,null,null,1,"a",[["href","https://en.wikipedia.org/wiki/ISCSI#Addressing"],["target","_blank"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["More information"]))],null,null)}function Fe(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","form-text text-muted"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This target has modified advanced settings."]))],null,null)}function Pe(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,8,null,null,null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,7,"div",[["class","input-group cd-mb"]],null,null,null,null,null)),(l()(),e["ɵeld"](2,0,null,null,0,"input",[["class","cd-form-control"],["disabled",""],["type","text"]],[[8,"value",0]],null,null,null,null)),(l()(),e["ɵeld"](3,0,null,null,5,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),e["ɵeld"](4,0,null,null,4,"button",[["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(e=!1!==l.component.removePortal(l.context.index,l.context.$implicit)&&e),e}),null,null)),(l()(),e["ɵeld"](5,0,null,null,3,"i",[["aria-hidden","true"]],null,null,null,null,null)),e["ɵprd"](512,null,D["ɵNgClassImpl"],D["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](7,278528,null,0,D.NgClass,[D["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](8,1)],(function(l,n){var u=l(n,8,0,n.component.icons.destroy);l(n,7,0,u)}),(function(l,n){l(n,2,0,n.context.$implicit)}))}function Se(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](1,null,["At least "," gateways are required."]))],null,(function(l,n){l(n,1,0,n.component.minimum_gateways)}))}function Ae(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"div",[["class","input-group-text"]],null,null,null,null,null)),(l()(),e["ɵted"](1,null,["lun: ",""]))],null,(function(l,n){l(n,1,0,n.component.imagesSettings[n.parent.context.$implicit].lun)}))}function je(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,null,null,null,null,null,null,null)),(l()(),e["ɵted"](1,null,["Backstore: ",". "])),e["ɵppd"](2,1)],null,(function(l,n){var u=n.component,a=e["ɵunv"](n,1,0,l(n,2,0,e["ɵnov"](n.parent.parent.parent,2),u.imagesSettings[n.parent.context.$implicit].backstore));l(n,1,0,a)}))}function Oe(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This image has modified settings."]))],null,null)}function Ue(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,20,null,null,null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,14,"div",[["class","input-group cd-mb"]],null,null,null,null,null)),(l()(),e["ɵeld"](2,0,null,null,0,"input",[["class","cd-form-control"],["disabled",""],["type","text"]],[[8,"value",0]],null,null,null,null)),(l()(),e["ɵeld"](3,0,null,null,12,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,Ae)),e["ɵdid"](5,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](6,0,null,null,4,"button",[["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(e=!1!==l.component.imageSettingsModal(l.context.$implicit)&&e),e}),null,null)),(l()(),e["ɵeld"](7,0,null,null,3,"i",[["aria-hidden","true"]],null,null,null,null,null)),e["ɵprd"](512,null,D["ɵNgClassImpl"],D["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](9,278528,null,0,D.NgClass,[D["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](10,1),(l()(),e["ɵeld"](11,0,null,null,4,"button",[["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(e=!1!==l.component.removeImage(l.context.index,l.context.$implicit)&&e),e}),null,null)),(l()(),e["ɵeld"](12,0,null,null,3,"i",[["aria-hidden","true"]],null,null,null,null,null)),e["ɵprd"](512,null,D["ɵNgClassImpl"],D["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](14,278528,null,0,D.NgClass,[D["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](15,1),(l()(),e["ɵeld"](16,0,null,null,4,"span",[["class","form-text text-muted"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,je)),e["ɵdid"](18,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Oe)),e["ɵdid"](20,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,5,0,u.api_version>=1);var e=l(n,10,0,u.icons.deepCheck);l(n,9,0,e);var a=l(n,15,0,u.icons.destroy);l(n,14,0,a),l(n,18,0,u.backstores.length>1),l(n,20,0,u.hasAdvancedSettings(u.imagesSettings[n.context.$implicit][u.imagesSettings[n.context.$implicit].backstore]))}),(function(l,n){l(n,2,0,n.context.$implicit)}))}function Be(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Duplicated LUN numbers."]))],null,null)}function $e(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Duplicated WWN."]))],null,null)}function Me(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function ze(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Usernames must have a length of 8 to 64 characters and can only contain letters, '.', '@', '-', '_' or ':'."]))],null,null)}function Le(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function Ge(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Passwords must have a length of 12 to 16 characters and can only contain letters, '@', '-', '_' or '/'."]))],null,null)}function Ke(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function He(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Usernames must have a length of 8 to 64 characters and can only contain letters, '.', '@', '-', '_' or ':'."]))],null,null)}function Je(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function Ze(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Passwords must have a length of 12 to 16 characters and can only contain letters, '@', '-', '_' or '/'."]))],null,null)}function We(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,91,"div",[["formGroupName","auth"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],null,null,null,null)),e["ɵdid"](1,212992,null,0,ul.m,[[3,ul.d],[8,null],[8,null]],{name:[0,"name"]},null),e["ɵprd"](2048,null,ul.d,null,[ul.m]),e["ɵdid"](3,16384,null,0,ul.s,[[4,ul.d]],null,null),(l()(),e["ɵeld"](4,0,null,null,18,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,zn.b,zn.a)),e["ɵdid"](5,1163264,null,2,wl.c,[e.ElementRef,wl.g],null,null),e["ɵqud"](603979776,9,{FormControlNames:1}),e["ɵqud"](603979776,10,{messagesBlock:0}),(l()(),e["ɵeld"](8,0,null,0,2,"label",[["class","cd-col-form-label"],["for","target_user"]],null,null,null,null,null)),(l()(),e["ɵeld"](9,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["User"])),(l()(),e["ɵeld"](11,0,null,0,11,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](12,0,null,null,6,"input",[["class","form-control"],["formControlName","user"],["id","target_user"],["name","target_user"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var a=!0;return"input"===n&&(a=!1!==e["ɵnov"](l,13)._handleInput(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,13).onTouched()&&a),"compositionstart"===n&&(a=!1!==e["ɵnov"](l,13)._compositionStart()&&a),"compositionend"===n&&(a=!1!==e["ɵnov"](l,13)._compositionEnd(u.target.value)&&a),a}),null,null)),e["ɵdid"](13,16384,null,0,ul.e,[e.Renderer2,e.ElementRef,[2,ul.b]],null,null),e["ɵprd"](1024,null,ul.p,(function(l){return[l]}),[ul.e]),e["ɵdid"](15,671744,[[9,4]],0,ul.j,[[3,ul.d],[8,null],[8,null],[6,ul.p],[2,ul.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,ul.q,null,[ul.j]),e["ɵdid"](17,16384,null,0,ul.r,[[4,ul.q]],null,null),e["ɵdid"](18,16384,null,0,wl.h,[[3,ul.d],wl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Me)),e["ɵdid"](20,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,ze)),e["ɵdid"](22,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](23,0,null,null,24,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,zn.b,zn.a)),e["ɵdid"](24,1163264,null,2,wl.c,[e.ElementRef,wl.g],null,null),e["ɵqud"](603979776,11,{FormControlNames:1}),e["ɵqud"](603979776,12,{messagesBlock:0}),(l()(),e["ɵeld"](27,0,null,0,2,"label",[["class","cd-col-form-label"],["for","target_password"]],null,null,null,null,null)),(l()(),e["ɵeld"](28,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Password"])),(l()(),e["ɵeld"](30,0,null,0,17,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](31,0,null,null,12,"div",[["class","input-group"]],null,null,null,null,null)),(l()(),e["ɵeld"](32,0,null,null,6,"input",[["autocomplete","new-password"],["class","form-control"],["formControlName","password"],["id","target_password"],["name","target_password"],["type","password"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var a=!0;return"input"===n&&(a=!1!==e["ɵnov"](l,33)._handleInput(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,33).onTouched()&&a),"compositionstart"===n&&(a=!1!==e["ɵnov"](l,33)._compositionStart()&&a),"compositionend"===n&&(a=!1!==e["ɵnov"](l,33)._compositionEnd(u.target.value)&&a),a}),null,null)),e["ɵdid"](33,16384,null,0,ul.e,[e.Renderer2,e.ElementRef,[2,ul.b]],null,null),e["ɵprd"](1024,null,ul.p,(function(l){return[l]}),[ul.e]),e["ɵdid"](35,671744,[[11,4]],0,ul.j,[[3,ul.d],[8,null],[8,null],[6,ul.p],[2,ul.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,ul.q,null,[ul.j]),e["ɵdid"](37,16384,null,0,ul.r,[[4,ul.q]],null,null),e["ɵdid"](38,16384,null,0,wl.h,[[3,ul.d],wl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](39,0,null,null,4,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),e["ɵeld"](40,0,null,null,1,"button",[["cdPasswordButton","target_password"],["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var a=!0;return"click"===n&&(a=!1!==e["ɵnov"](l,41).onClick()&&a),a}),null,null)),e["ɵdid"](41,81920,null,0,Re.a,[e.ElementRef,e.Renderer2],{cdPasswordButton:[0,"cdPasswordButton"]},null),(l()(),e["ɵeld"](42,0,null,null,1,"button",[["cdCopy2ClipboardButton","target_password"],["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var a=!0;return"click"===n&&(a=!1!==e["ɵnov"](l,43).onClick()&&a),a}),null,null)),e["ɵdid"](43,81920,null,0,Ne.a,[e.ElementRef,e.Renderer2,we.j],{cdCopy2ClipboardButton:[0,"cdCopy2ClipboardButton"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Le)),e["ɵdid"](45,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Ge)),e["ɵdid"](47,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](48,0,null,null,18,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,zn.b,zn.a)),e["ɵdid"](49,1163264,null,2,wl.c,[e.ElementRef,wl.g],null,null),e["ɵqud"](603979776,13,{FormControlNames:1}),e["ɵqud"](603979776,14,{messagesBlock:0}),(l()(),e["ɵeld"](52,0,null,0,2,"label",[["class","cd-col-form-label"],["for","target_mutual_user"]],null,null,null,null,null)),(l()(),e["ɵeld"](53,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Mutual User"])),(l()(),e["ɵeld"](55,0,null,0,11,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](56,0,null,null,6,"input",[["class","form-control"],["formControlName","mutual_user"],["id","target_mutual_user"],["name","target_mutual_user"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var a=!0;return"input"===n&&(a=!1!==e["ɵnov"](l,57)._handleInput(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,57).onTouched()&&a),"compositionstart"===n&&(a=!1!==e["ɵnov"](l,57)._compositionStart()&&a),"compositionend"===n&&(a=!1!==e["ɵnov"](l,57)._compositionEnd(u.target.value)&&a),a}),null,null)),e["ɵdid"](57,16384,null,0,ul.e,[e.Renderer2,e.ElementRef,[2,ul.b]],null,null),e["ɵprd"](1024,null,ul.p,(function(l){return[l]}),[ul.e]),e["ɵdid"](59,671744,[[13,4]],0,ul.j,[[3,ul.d],[8,null],[8,null],[6,ul.p],[2,ul.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,ul.q,null,[ul.j]),e["ɵdid"](61,16384,null,0,ul.r,[[4,ul.q]],null,null),e["ɵdid"](62,16384,null,0,wl.h,[[3,ul.d],wl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Ke)),e["ɵdid"](64,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,He)),e["ɵdid"](66,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](67,0,null,null,24,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,zn.b,zn.a)),e["ɵdid"](68,1163264,null,2,wl.c,[e.ElementRef,wl.g],null,null),e["ɵqud"](603979776,15,{FormControlNames:1}),e["ɵqud"](603979776,16,{messagesBlock:0}),(l()(),e["ɵeld"](71,0,null,0,2,"label",[["class","cd-col-form-label"],["for","target_mutual_password"]],null,null,null,null,null)),(l()(),e["ɵeld"](72,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Mutual Password"])),(l()(),e["ɵeld"](74,0,null,0,17,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](75,0,null,null,12,"div",[["class","input-group"]],null,null,null,null,null)),(l()(),e["ɵeld"](76,0,null,null,6,"input",[["autocomplete","new-password"],["class","form-control"],["formControlName","mutual_password"],["id","target_mutual_password"],["name","target_mutual_password"],["type","password"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var a=!0;return"input"===n&&(a=!1!==e["ɵnov"](l,77)._handleInput(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,77).onTouched()&&a),"compositionstart"===n&&(a=!1!==e["ɵnov"](l,77)._compositionStart()&&a),"compositionend"===n&&(a=!1!==e["ɵnov"](l,77)._compositionEnd(u.target.value)&&a),a}),null,null)),e["ɵdid"](77,16384,null,0,ul.e,[e.Renderer2,e.ElementRef,[2,ul.b]],null,null),e["ɵprd"](1024,null,ul.p,(function(l){return[l]}),[ul.e]),e["ɵdid"](79,671744,[[15,4]],0,ul.j,[[3,ul.d],[8,null],[8,null],[6,ul.p],[2,ul.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,ul.q,null,[ul.j]),e["ɵdid"](81,16384,null,0,ul.r,[[4,ul.q]],null,null),e["ɵdid"](82,16384,null,0,wl.h,[[3,ul.d],wl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](83,0,null,null,4,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),e["ɵeld"](84,0,null,null,1,"button",[["cdPasswordButton","target_mutual_password"],["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var a=!0;return"click"===n&&(a=!1!==e["ɵnov"](l,85).onClick()&&a),a}),null,null)),e["ɵdid"](85,81920,null,0,Re.a,[e.ElementRef,e.Renderer2],{cdPasswordButton:[0,"cdPasswordButton"]},null),(l()(),e["ɵeld"](86,0,null,null,1,"button",[["cdCopy2ClipboardButton","target_mutual_password"],["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var a=!0;return"click"===n&&(a=!1!==e["ɵnov"](l,87).onClick()&&a),a}),null,null)),e["ɵdid"](87,81920,null,0,Ne.a,[e.ElementRef,e.Renderer2,we.j],{cdCopy2ClipboardButton:[0,"cdCopy2ClipboardButton"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Je)),e["ɵdid"](89,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Ze)),e["ɵdid"](91,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,1,0,"auth"),l(n,5,0),l(n,15,0,"user"),l(n,18,0,"user"),l(n,20,0,u.targetForm.showError("user",e["ɵnov"](n.parent,2),"required")),l(n,22,0,u.targetForm.showError("user",e["ɵnov"](n.parent,2),"pattern")),l(n,24,0),l(n,35,0,"password"),l(n,38,0,"password"),l(n,41,0,"target_password"),l(n,43,0,"target_password"),l(n,45,0,u.targetForm.showError("password",e["ɵnov"](n.parent,2),"required")),l(n,47,0,u.targetForm.showError("password",e["ɵnov"](n.parent,2),"pattern")),l(n,49,0),l(n,59,0,"mutual_user"),l(n,62,0,"mutual_user"),l(n,64,0,u.targetForm.showError("mutual_user",e["ɵnov"](n.parent,2),"required")),l(n,66,0,u.targetForm.showError("mutual_user",e["ɵnov"](n.parent,2),"pattern")),l(n,68,0),l(n,79,0,"mutual_password"),l(n,82,0,"mutual_password"),l(n,85,0,"target_mutual_password"),l(n,87,0,"target_mutual_password"),l(n,89,0,u.targetForm.showError("mutual_password",e["ɵnov"](n.parent,2),"required")),l(n,91,0,u.targetForm.showError("mutual_password",e["ɵnov"](n.parent,2),"pattern"))}),(function(l,n){l(n,0,0,e["ɵnov"](n,3).ngClassUntouched,e["ɵnov"](n,3).ngClassTouched,e["ɵnov"](n,3).ngClassPristine,e["ɵnov"](n,3).ngClassDirty,e["ɵnov"](n,3).ngClassValid,e["ɵnov"](n,3).ngClassInvalid,e["ɵnov"](n,3).ngClassPending),l(n,4,0,e["ɵnov"](n,5).hasErrors,e["ɵnov"](n,5).hasSuccess),l(n,12,0,e["ɵnov"](n,17).ngClassUntouched,e["ɵnov"](n,17).ngClassTouched,e["ɵnov"](n,17).ngClassPristine,e["ɵnov"](n,17).ngClassDirty,e["ɵnov"](n,17).ngClassValid,e["ɵnov"](n,17).ngClassInvalid,e["ɵnov"](n,17).ngClassPending,e["ɵnov"](n,18).validClass,e["ɵnov"](n,18).invalidClass),l(n,23,0,e["ɵnov"](n,24).hasErrors,e["ɵnov"](n,24).hasSuccess),l(n,32,0,e["ɵnov"](n,37).ngClassUntouched,e["ɵnov"](n,37).ngClassTouched,e["ɵnov"](n,37).ngClassPristine,e["ɵnov"](n,37).ngClassDirty,e["ɵnov"](n,37).ngClassValid,e["ɵnov"](n,37).ngClassInvalid,e["ɵnov"](n,37).ngClassPending,e["ɵnov"](n,38).validClass,e["ɵnov"](n,38).invalidClass),l(n,48,0,e["ɵnov"](n,49).hasErrors,e["ɵnov"](n,49).hasSuccess),l(n,56,0,e["ɵnov"](n,61).ngClassUntouched,e["ɵnov"](n,61).ngClassTouched,e["ɵnov"](n,61).ngClassPristine,e["ɵnov"](n,61).ngClassDirty,e["ɵnov"](n,61).ngClassValid,e["ɵnov"](n,61).ngClassInvalid,e["ɵnov"](n,61).ngClassPending,e["ɵnov"](n,62).validClass,e["ɵnov"](n,62).invalidClass),l(n,67,0,e["ɵnov"](n,68).hasErrors,e["ɵnov"](n,68).hasSuccess),l(n,76,0,e["ɵnov"](n,81).ngClassUntouched,e["ɵnov"](n,81).ngClassTouched,e["ɵnov"](n,81).ngClassPristine,e["ɵnov"](n,81).ngClassDirty,e["ɵnov"](n,81).ngClassValid,e["ɵnov"](n,81).ngClassInvalid,e["ɵnov"](n,81).ngClassPending,e["ɵnov"](n,82).validClass,e["ɵnov"](n,82).invalidClass)}))}function Qe(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Initiator IQN needs to be unique."]))],null,null)}function Ye(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function Xe(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["IQN has wrong pattern."]))],null,null)}function la(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function na(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Usernames must have a length of 8 to 64 characters and can only contain letters, '.', '@', '-', '_' or ':'."]))],null,null)}function ua(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function ea(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Passwords must have a length of 12 to 16 characters and can only contain letters, '@', '-', '_' or '/'."]))],null,null)}function aa(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function ta(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Usernames must have a length of 8 to 64 characters and can only contain letters, '.', '@', '-', '_' or ':'."]))],null,null)}function oa(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function da(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Passwords must have a length of 12 to 16 characters and can only contain letters, '@', '-', '_' or '/'."]))],null,null)}function ia(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,8,null,null,null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,7,"div",[["class","input-group cd-mb"]],null,null,null,null,null)),(l()(),e["ɵeld"](2,0,null,null,0,"input",[["class","cd-form-control"],["disabled",""],["type","text"]],[[8,"value",0]],null,null,null,null)),(l()(),e["ɵeld"](3,0,null,null,5,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),e["ɵeld"](4,0,null,null,4,"button",[["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(e=!1!==l.component.removeInitiatorImage(l.parent.context.$implicit,l.context.index,l.parent.context.index,l.context.$implicit)&&e),e}),null,null)),(l()(),e["ɵeld"](5,0,null,null,3,"i",[["aria-hidden","true"]],null,null,null,null,null)),e["ɵprd"](512,null,D["ɵNgClassImpl"],D["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](7,278528,null,0,D.NgClass,[D["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](8,1)],(function(l,n){var u=l(n,8,0,n.component.icons.destroy);l(n,7,0,u)}),(function(l,n){l(n,2,0,n.context.$implicit)}))}function sa(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Initiator belongs to a group. Images will be configure in the group."]))],null,null)}function ra(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,9,"div",[["class","row"]],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,8,"div",[["class","col-md-12"]],null,null,null,null,null)),(l()(),e["ɵeld"](2,0,null,null,7,"cd-select",[["elemClass","btn btn-light float-right"]],null,null,null,Te.b,Te.a)),e["ɵdid"](3,638976,null,0,Ee.a,[A.a],{elemClass:[0,"elemClass"],data:[1,"data"],options:[2,"options"],messages:[3,"messages"]},null),(l()(),e["ɵeld"](4,0,null,0,3,"i",[],null,null,null,null,null)),e["ɵprd"](512,null,D["ɵNgClassImpl"],D["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](6,278528,null,0,D.NgClass,[D["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](7,1),(l()(),e["ɵeld"](8,0,null,0,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Add image"]))],(function(l,n){var u=n.component,e=n.parent.context.$implicit.getValue("luns");l(n,3,0,"btn btn-light float-right",e,u.imagesInitiatorSelections[n.parent.context.index],u.messages.initiatorImage);var a=l(n,7,0,u.icons.add);l(n,6,0,a)}),null)}function ca(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,136,"div",[["class","card mb-2"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],null,null,null,null)),e["ɵdid"](1,212992,null,0,ul.m,[[3,ul.d],[8,null],[8,null]],{name:[0,"name"]},null),e["ɵprd"](2048,null,ul.d,null,[ul.m]),e["ɵdid"](3,16384,null,0,ul.s,[[4,ul.d]],null,null),(l()(),e["ɵeld"](4,0,null,null,8,"div",[["class","card-header"]],null,null,null,null,null)),(l()(),e["ɵeld"](5,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Initiator"])),(l()(),e["ɵted"](7,null,[": "," "])),(l()(),e["ɵeld"](8,0,null,null,4,"button",[["class","close"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(e=!1!==l.component.removeInitiator(l.context.index)&&e),e}),null,null)),(l()(),e["ɵeld"](9,0,null,null,3,"i",[],null,null,null,null,null)),e["ɵprd"](512,null,D["ɵNgClassImpl"],D["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](11,278528,null,0,D.NgClass,[D["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](12,1),(l()(),e["ɵeld"](13,0,null,null,123,"div",[["class","card-body"]],null,null,null,null,null)),(l()(),e["ɵeld"](14,0,null,null,20,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,zn.b,zn.a)),e["ɵdid"](15,1163264,null,2,wl.c,[e.ElementRef,wl.g],null,null),e["ɵqud"](603979776,19,{FormControlNames:1}),e["ɵqud"](603979776,20,{messagesBlock:0}),(l()(),e["ɵeld"](18,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","client_iqn"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Client IQN"])),(l()(),e["ɵeld"](20,0,null,0,14,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](21,0,null,null,7,"input",[["cdTrim",""],["class","form-control"],["formControlName","client_iqn"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"blur"],[null,"input"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var a=!0,t=l.component;return"input"===n&&(a=!1!==e["ɵnov"](l,22)._handleInput(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,22).onTouched()&&a),"compositionstart"===n&&(a=!1!==e["ɵnov"](l,22)._compositionStart()&&a),"compositionend"===n&&(a=!1!==e["ɵnov"](l,22)._compositionEnd(u.target.value)&&a),"input"===n&&(a=!1!==e["ɵnov"](l,27).onInput(u.target.value)&&a),"blur"===n&&(a=!1!==t.updatedInitiatorSelector()&&a),a}),null,null)),e["ɵdid"](22,16384,null,0,ul.e,[e.Renderer2,e.ElementRef,[2,ul.b]],null,null),e["ɵprd"](1024,null,ul.p,(function(l){return[l]}),[ul.e]),e["ɵdid"](24,671744,[[19,4]],0,ul.j,[[3,ul.d],[8,null],[8,null],[6,ul.p],[2,ul.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,ul.q,null,[ul.j]),e["ɵdid"](26,16384,null,0,ul.r,[[4,ul.q]],null,null),e["ɵdid"](27,16384,null,0,Ve,[ul.q],null,null),e["ɵdid"](28,16384,null,0,wl.h,[[3,ul.d],wl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Qe)),e["ɵdid"](30,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Ye)),e["ɵdid"](32,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Xe)),e["ɵdid"](34,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](35,0,null,null,88,null,null,null,null,null,null,null)),e["ɵdid"](36,212992,null,0,ul.m,[[3,ul.d],[8,null],[8,null]],{name:[0,"name"]},null),e["ɵprd"](2048,null,ul.d,null,[ul.m]),e["ɵdid"](38,16384,null,0,ul.s,[[4,ul.d]],null,null),(l()(),e["ɵeld"](39,0,null,null,17,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,zn.b,zn.a)),e["ɵdid"](40,1163264,null,2,wl.c,[e.ElementRef,wl.g],null,null),e["ɵqud"](603979776,21,{FormControlNames:1}),e["ɵqud"](603979776,22,{messagesBlock:0}),(l()(),e["ɵeld"](43,0,null,0,1,"label",[["class","cd-col-form-label"],["for","user"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["User"])),(l()(),e["ɵeld"](45,0,null,0,11,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](46,0,null,null,6,"input",[["class","form-control"],["formControlName","user"],["type","text"]],[[8,"id",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var a=!0;return"input"===n&&(a=!1!==e["ɵnov"](l,47)._handleInput(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,47).onTouched()&&a),"compositionstart"===n&&(a=!1!==e["ɵnov"](l,47)._compositionStart()&&a),"compositionend"===n&&(a=!1!==e["ɵnov"](l,47)._compositionEnd(u.target.value)&&a),a}),null,null)),e["ɵdid"](47,16384,null,0,ul.e,[e.Renderer2,e.ElementRef,[2,ul.b]],null,null),e["ɵprd"](1024,null,ul.p,(function(l){return[l]}),[ul.e]),e["ɵdid"](49,671744,[[21,4]],0,ul.j,[[3,ul.d],[8,null],[8,null],[6,ul.p],[2,ul.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,ul.q,null,[ul.j]),e["ɵdid"](51,16384,null,0,ul.r,[[4,ul.q]],null,null),e["ɵdid"](52,16384,null,0,wl.h,[[3,ul.d],wl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,la)),e["ɵdid"](54,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,na)),e["ɵdid"](56,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](57,0,null,null,23,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,zn.b,zn.a)),e["ɵdid"](58,1163264,null,2,wl.c,[e.ElementRef,wl.g],null,null),e["ɵqud"](603979776,23,{FormControlNames:1}),e["ɵqud"](603979776,24,{messagesBlock:0}),(l()(),e["ɵeld"](61,0,null,0,1,"label",[["class","cd-col-form-label"],["for","password"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Password"])),(l()(),e["ɵeld"](63,0,null,0,17,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](64,0,null,null,12,"div",[["class","input-group"]],null,null,null,null,null)),(l()(),e["ɵeld"](65,0,null,null,6,"input",[["class","form-control"],["formControlName","password"],["type","password"]],[[8,"id",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var a=!0;return"input"===n&&(a=!1!==e["ɵnov"](l,66)._handleInput(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,66).onTouched()&&a),"compositionstart"===n&&(a=!1!==e["ɵnov"](l,66)._compositionStart()&&a),"compositionend"===n&&(a=!1!==e["ɵnov"](l,66)._compositionEnd(u.target.value)&&a),a}),null,null)),e["ɵdid"](66,16384,null,0,ul.e,[e.Renderer2,e.ElementRef,[2,ul.b]],null,null),e["ɵprd"](1024,null,ul.p,(function(l){return[l]}),[ul.e]),e["ɵdid"](68,671744,[[23,4]],0,ul.j,[[3,ul.d],[8,null],[8,null],[6,ul.p],[2,ul.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,ul.q,null,[ul.j]),e["ɵdid"](70,16384,null,0,ul.r,[[4,ul.q]],null,null),e["ɵdid"](71,16384,null,0,wl.h,[[3,ul.d],wl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](72,0,null,null,4,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),e["ɵeld"](73,0,null,null,1,"button",[["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var a=!0;return"click"===n&&(a=!1!==e["ɵnov"](l,74).onClick()&&a),a}),null,null)),e["ɵdid"](74,81920,null,0,Re.a,[e.ElementRef,e.Renderer2],{cdPasswordButton:[0,"cdPasswordButton"]},null),(l()(),e["ɵeld"](75,0,null,null,1,"button",[["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var a=!0;return"click"===n&&(a=!1!==e["ɵnov"](l,76).onClick()&&a),a}),null,null)),e["ɵdid"](76,81920,null,0,Ne.a,[e.ElementRef,e.Renderer2,we.j],{cdCopy2ClipboardButton:[0,"cdCopy2ClipboardButton"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,ua)),e["ɵdid"](78,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,ea)),e["ɵdid"](80,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](81,0,null,null,18,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,zn.b,zn.a)),e["ɵdid"](82,1163264,null,2,wl.c,[e.ElementRef,wl.g],null,null),e["ɵqud"](603979776,25,{FormControlNames:1}),e["ɵqud"](603979776,26,{messagesBlock:0}),(l()(),e["ɵeld"](85,0,null,0,2,"label",[["class","cd-col-form-label"],["for","mutual_user"]],null,null,null,null,null)),(l()(),e["ɵeld"](86,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Mutual User"])),(l()(),e["ɵeld"](88,0,null,0,11,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](89,0,null,null,6,"input",[["class","form-control"],["formControlName","mutual_user"],["type","text"]],[[8,"id",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var a=!0;return"input"===n&&(a=!1!==e["ɵnov"](l,90)._handleInput(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,90).onTouched()&&a),"compositionstart"===n&&(a=!1!==e["ɵnov"](l,90)._compositionStart()&&a),"compositionend"===n&&(a=!1!==e["ɵnov"](l,90)._compositionEnd(u.target.value)&&a),a}),null,null)),e["ɵdid"](90,16384,null,0,ul.e,[e.Renderer2,e.ElementRef,[2,ul.b]],null,null),e["ɵprd"](1024,null,ul.p,(function(l){return[l]}),[ul.e]),e["ɵdid"](92,671744,[[25,4]],0,ul.j,[[3,ul.d],[8,null],[8,null],[6,ul.p],[2,ul.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,ul.q,null,[ul.j]),e["ɵdid"](94,16384,null,0,ul.r,[[4,ul.q]],null,null),e["ɵdid"](95,16384,null,0,wl.h,[[3,ul.d],wl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,aa)),e["ɵdid"](97,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,ta)),e["ɵdid"](99,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](100,0,null,null,23,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,zn.b,zn.a)),e["ɵdid"](101,1163264,null,2,wl.c,[e.ElementRef,wl.g],null,null),e["ɵqud"](603979776,27,{FormControlNames:1}),e["ɵqud"](603979776,28,{messagesBlock:0}),(l()(),e["ɵeld"](104,0,null,0,1,"label",[["class","cd-col-form-label"],["for","mutual_password"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Mutual Password"])),(l()(),e["ɵeld"](106,0,null,0,17,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](107,0,null,null,12,"div",[["class","input-group"]],null,null,null,null,null)),(l()(),e["ɵeld"](108,0,null,null,6,"input",[["class","form-control"],["formControlName","mutual_password"],["type","password"]],[[8,"id",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var a=!0;return"input"===n&&(a=!1!==e["ɵnov"](l,109)._handleInput(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,109).onTouched()&&a),"compositionstart"===n&&(a=!1!==e["ɵnov"](l,109)._compositionStart()&&a),"compositionend"===n&&(a=!1!==e["ɵnov"](l,109)._compositionEnd(u.target.value)&&a),a}),null,null)),e["ɵdid"](109,16384,null,0,ul.e,[e.Renderer2,e.ElementRef,[2,ul.b]],null,null),e["ɵprd"](1024,null,ul.p,(function(l){return[l]}),[ul.e]),e["ɵdid"](111,671744,[[27,4]],0,ul.j,[[3,ul.d],[8,null],[8,null],[6,ul.p],[2,ul.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,ul.q,null,[ul.j]),e["ɵdid"](113,16384,null,0,ul.r,[[4,ul.q]],null,null),e["ɵdid"](114,16384,null,0,wl.h,[[3,ul.d],wl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](115,0,null,null,4,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),e["ɵeld"](116,0,null,null,1,"button",[["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var a=!0;return"click"===n&&(a=!1!==e["ɵnov"](l,117).onClick()&&a),a}),null,null)),e["ɵdid"](117,81920,null,0,Re.a,[e.ElementRef,e.Renderer2],{cdPasswordButton:[0,"cdPasswordButton"]},null),(l()(),e["ɵeld"](118,0,null,null,1,"button",[["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var a=!0;return"click"===n&&(a=!1!==e["ɵnov"](l,119).onClick()&&a),a}),null,null)),e["ɵdid"](119,81920,null,0,Ne.a,[e.ElementRef,e.Renderer2,we.j],{cdCopy2ClipboardButton:[0,"cdCopy2ClipboardButton"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,oa)),e["ɵdid"](121,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,da)),e["ɵdid"](123,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](124,0,null,null,12,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,zn.b,zn.a)),e["ɵdid"](125,1163264,null,2,wl.c,[e.ElementRef,wl.g],null,null),e["ɵqud"](603979776,29,{FormControlNames:1}),e["ɵqud"](603979776,30,{messagesBlock:0}),(l()(),e["ɵeld"](128,0,null,0,1,"label",[["class","cd-col-form-label"],["for","luns"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Images"])),(l()(),e["ɵeld"](130,0,null,0,6,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,ia)),e["ɵdid"](132,278528,null,0,D.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,sa)),e["ɵdid"](134,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,ra)),e["ɵdid"](136,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,1,0,n.context.index);var a=l(n,12,0,u.icons.destroy);l(n,11,0,a),l(n,15,0),l(n,24,0,"client_iqn"),l(n,28,0,"client_iqn");var t=n.context.$implicit.showError("client_iqn",e["ɵnov"](n.parent.parent,2),"notUnique");l(n,30,0,t);var o=n.context.$implicit.showError("client_iqn",e["ɵnov"](n.parent.parent,2),"required");l(n,32,0,o);var d=n.context.$implicit.showError("client_iqn",e["ɵnov"](n.parent.parent,2),"pattern");l(n,34,0,d),l(n,36,0,"auth"),l(n,40,0),l(n,49,0,"user"),l(n,52,0,"user");var i=n.context.$implicit.showError("user",e["ɵnov"](n.parent.parent,2),"required");l(n,54,0,i);var s=n.context.$implicit.showError("user",e["ɵnov"](n.parent.parent,2),"pattern");l(n,56,0,s),l(n,58,0),l(n,68,0,"password"),l(n,71,0,"password"),l(n,74,0,"password"+n.context.index),l(n,76,0,"password"+n.context.index);var r=n.context.$implicit.showError("password",e["ɵnov"](n.parent.parent,2),"required");l(n,78,0,r);var c=n.context.$implicit.showError("password",e["ɵnov"](n.parent.parent,2),"pattern");l(n,80,0,c),l(n,82,0),l(n,92,0,"mutual_user"),l(n,95,0,"mutual_user");var p=n.context.$implicit.showError("mutual_user",e["ɵnov"](n.parent.parent,2),"required");l(n,97,0,p);var m=n.context.$implicit.showError("mutual_user",e["ɵnov"](n.parent.parent,2),"pattern");l(n,99,0,m),l(n,101,0),l(n,111,0,"mutual_password"),l(n,114,0,"mutual_password"),l(n,117,0,"mutual_password"+n.context.index),l(n,119,0,"mutual_password"+n.context.index);var g=n.context.$implicit.showError("mutual_password",e["ɵnov"](n.parent.parent,2),"required");l(n,121,0,g);var f=n.context.$implicit.showError("mutual_password",e["ɵnov"](n.parent.parent,2),"pattern");l(n,123,0,f),l(n,125,0);var v=n.context.$implicit.getValue("luns");l(n,132,0,v);var C=n.context.$implicit.getValue("cdIsInGroup");l(n,134,0,C);var b=!n.context.$implicit.getValue("cdIsInGroup");l(n,136,0,b)}),(function(l,n){l(n,0,0,e["ɵnov"](n,3).ngClassUntouched,e["ɵnov"](n,3).ngClassTouched,e["ɵnov"](n,3).ngClassPristine,e["ɵnov"](n,3).ngClassDirty,e["ɵnov"](n,3).ngClassValid,e["ɵnov"](n,3).ngClassInvalid,e["ɵnov"](n,3).ngClassPending);var u=n.context.$implicit.getValue("client_iqn");l(n,7,0,u),l(n,14,0,e["ɵnov"](n,15).hasErrors,e["ɵnov"](n,15).hasSuccess),l(n,21,0,e["ɵnov"](n,26).ngClassUntouched,e["ɵnov"](n,26).ngClassTouched,e["ɵnov"](n,26).ngClassPristine,e["ɵnov"](n,26).ngClassDirty,e["ɵnov"](n,26).ngClassValid,e["ɵnov"](n,26).ngClassInvalid,e["ɵnov"](n,26).ngClassPending,e["ɵnov"](n,28).validClass,e["ɵnov"](n,28).invalidClass),l(n,39,0,e["ɵnov"](n,40).hasErrors,e["ɵnov"](n,40).hasSuccess),l(n,46,0,"user"+n.context.index,e["ɵnov"](n,51).ngClassUntouched,e["ɵnov"](n,51).ngClassTouched,e["ɵnov"](n,51).ngClassPristine,e["ɵnov"](n,51).ngClassDirty,e["ɵnov"](n,51).ngClassValid,e["ɵnov"](n,51).ngClassInvalid,e["ɵnov"](n,51).ngClassPending,e["ɵnov"](n,52).validClass,e["ɵnov"](n,52).invalidClass),l(n,57,0,e["ɵnov"](n,58).hasErrors,e["ɵnov"](n,58).hasSuccess),l(n,65,0,"password"+n.context.index,e["ɵnov"](n,70).ngClassUntouched,e["ɵnov"](n,70).ngClassTouched,e["ɵnov"](n,70).ngClassPristine,e["ɵnov"](n,70).ngClassDirty,e["ɵnov"](n,70).ngClassValid,e["ɵnov"](n,70).ngClassInvalid,e["ɵnov"](n,70).ngClassPending,e["ɵnov"](n,71).validClass,e["ɵnov"](n,71).invalidClass),l(n,81,0,e["ɵnov"](n,82).hasErrors,e["ɵnov"](n,82).hasSuccess),l(n,89,0,"mutual_user"+n.context.index,e["ɵnov"](n,94).ngClassUntouched,e["ɵnov"](n,94).ngClassTouched,e["ɵnov"](n,94).ngClassPristine,e["ɵnov"](n,94).ngClassDirty,e["ɵnov"](n,94).ngClassValid,e["ɵnov"](n,94).ngClassInvalid,e["ɵnov"](n,94).ngClassPending,e["ɵnov"](n,95).validClass,e["ɵnov"](n,95).invalidClass),l(n,100,0,e["ɵnov"](n,101).hasErrors,e["ɵnov"](n,101).hasSuccess),l(n,108,0,"mutual_password"+n.context.index,e["ɵnov"](n,113).ngClassUntouched,e["ɵnov"](n,113).ngClassTouched,e["ɵnov"](n,113).ngClassPristine,e["ɵnov"](n,113).ngClassDirty,e["ɵnov"](n,113).ngClassValid,e["ɵnov"](n,113).ngClassInvalid,e["ɵnov"](n,113).ngClassPending,e["ɵnov"](n,114).validClass,e["ɵnov"](n,114).invalidClass),l(n,124,0,e["ɵnov"](n,125).hasErrors,e["ɵnov"](n,125).hasSuccess)}))}function pa(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","form-text text-muted"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["No items added."]))],null,null)}function ma(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,23,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,zn.b,zn.a)),e["ɵdid"](1,1163264,null,2,wl.c,[e.ElementRef,wl.g],null,null),e["ɵqud"](603979776,17,{FormControlNames:1}),e["ɵqud"](603979776,18,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label"],["for","initiators"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Initiators"])),(l()(),e["ɵeld"](6,0,null,0,17,"div",[["class","cd-col-form-input"],["formArrayName","initiators"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],null,null,null,null)),e["ɵdid"](7,212992,null,0,ul.g,[[3,ul.d],[8,null],[8,null]],{name:[0,"name"]},null),e["ɵprd"](2048,null,ul.d,null,[ul.g]),e["ɵdid"](9,16384,null,0,ul.s,[[4,ul.d]],null,null),(l()(),e["ɵand"](16777216,null,null,1,null,ca)),e["ɵdid"](11,278528,null,0,D.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),e["ɵeld"](12,0,null,null,10,"div",[["class","row"]],null,null,null,null,null)),(l()(),e["ɵeld"](13,0,null,null,9,"div",[["class","col-md-12"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,pa)),e["ɵdid"](15,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](16,0,null,null,6,"button",[["class","btn btn-light float-right"]],null,[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(l.component.addInitiator(),e=!1),e}),null,null)),(l()(),e["ɵeld"](17,0,null,null,3,"i",[],null,null,null,null,null)),e["ɵprd"](512,null,D["ɵNgClassImpl"],D["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](19,278528,null,0,D.NgClass,[D["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](20,1),(l()(),e["ɵeld"](21,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Add initiator"])),(l()(),e["ɵeld"](23,0,null,null,0,"hr",[],null,null,null,null,null))],(function(l,n){var u=n.component;l(n,1,0),l(n,7,0,"initiators"),l(n,11,0,u.initiators.controls),l(n,15,0,0===u.initiators.controls.length);var e=l(n,20,0,u.icons.add);l(n,19,0,e)}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,6,0,e["ɵnov"](n,9).ngClassUntouched,e["ɵnov"](n,9).ngClassTouched,e["ɵnov"](n,9).ngClassPristine,e["ɵnov"](n,9).ngClassDirty,e["ɵnov"](n,9).ngClassValid,e["ɵnov"](n,9).ngClassInvalid,e["ɵnov"](n,9).ngClassPending)}))}function ga(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,8,null,null,null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,7,"div",[["class","input-group cd-mb"]],null,null,null,null,null)),(l()(),e["ɵeld"](2,0,null,null,0,"input",[["class","cd-form-control"],["disabled",""],["type","text"]],[[8,"value",0]],null,null,null,null)),(l()(),e["ɵeld"](3,0,null,null,5,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),e["ɵeld"](4,0,null,null,4,"button",[["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(e=!1!==l.component.removeGroupInitiator(l.parent.context.$implicit,l.context.index,l.parent.context.index)&&e),e}),null,null)),(l()(),e["ɵeld"](5,0,null,null,3,"i",[["aria-hidden","true"]],null,null,null,null,null)),e["ɵprd"](512,null,D["ɵNgClassImpl"],D["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](7,278528,null,0,D.NgClass,[D["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](8,1)],(function(l,n){var u=l(n,8,0,n.component.icons.destroy);l(n,7,0,u)}),(function(l,n){l(n,2,0,n.context.$implicit)}))}function fa(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,8,null,null,null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,7,"div",[["class","input-group cd-mb"]],null,null,null,null,null)),(l()(),e["ɵeld"](2,0,null,null,0,"input",[["class","cd-form-control"],["disabled",""],["type","text"]],[[8,"value",0]],null,null,null,null)),(l()(),e["ɵeld"](3,0,null,null,5,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),e["ɵeld"](4,0,null,null,4,"button",[["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(e=!1!==l.component.removeGroupDisk(l.parent.context.$implicit,l.context.index,l.parent.context.index)&&e),e}),null,null)),(l()(),e["ɵeld"](5,0,null,null,3,"i",[["aria-hidden","true"]],null,null,null,null,null)),e["ɵprd"](512,null,D["ɵNgClassImpl"],D["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](7,278528,null,0,D.NgClass,[D["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](8,1)],(function(l,n){var u=l(n,8,0,n.component.icons.destroy);l(n,7,0,u)}),(function(l,n){l(n,2,0,n.context.$implicit)}))}function va(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,69,"div",[["class","card mb-2"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],null,null,null,null)),e["ɵdid"](1,212992,null,0,ul.m,[[3,ul.d],[8,null],[8,null]],{name:[0,"name"]},null),e["ɵprd"](2048,null,ul.d,null,[ul.m]),e["ɵdid"](3,16384,null,0,ul.s,[[4,ul.d]],null,null),(l()(),e["ɵeld"](4,0,null,null,8,"div",[["class","card-header"]],null,null,null,null,null)),(l()(),e["ɵeld"](5,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Group"])),(l()(),e["ɵted"](7,null,[": "," "])),(l()(),e["ɵeld"](8,0,null,null,4,"button",[["class","close"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(e=!1!==l.component.groups.removeAt(l.context.index)&&e),e}),null,null)),(l()(),e["ɵeld"](9,0,null,null,3,"i",[],null,null,null,null,null)),e["ɵprd"](512,null,D["ɵNgClassImpl"],D["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](11,278528,null,0,D.NgClass,[D["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](12,1),(l()(),e["ɵeld"](13,0,null,null,56,"div",[["class","card-body"]],null,null,null,null,null)),(l()(),e["ɵeld"](14,0,null,null,13,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,zn.b,zn.a)),e["ɵdid"](15,1163264,null,2,wl.c,[e.ElementRef,wl.g],null,null),e["ɵqud"](603979776,33,{FormControlNames:1}),e["ɵqud"](603979776,34,{messagesBlock:0}),(l()(),e["ɵeld"](18,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","group_id"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Name"])),(l()(),e["ɵeld"](20,0,null,0,7,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](21,0,null,null,6,"input",[["class","form-control"],["formControlName","group_id"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var a=!0;return"input"===n&&(a=!1!==e["ɵnov"](l,22)._handleInput(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,22).onTouched()&&a),"compositionstart"===n&&(a=!1!==e["ɵnov"](l,22)._compositionStart()&&a),"compositionend"===n&&(a=!1!==e["ɵnov"](l,22)._compositionEnd(u.target.value)&&a),a}),null,null)),e["ɵdid"](22,16384,null,0,ul.e,[e.Renderer2,e.ElementRef,[2,ul.b]],null,null),e["ɵprd"](1024,null,ul.p,(function(l){return[l]}),[ul.e]),e["ɵdid"](24,671744,[[33,4]],0,ul.j,[[3,ul.d],[8,null],[8,null],[6,ul.p],[2,ul.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,ul.q,null,[ul.j]),e["ɵdid"](26,16384,null,0,ul.r,[[4,ul.q]],null,null),e["ɵdid"](27,16384,null,0,wl.h,[[3,ul.d],wl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](28,0,null,null,20,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,zn.b,zn.a)),e["ɵdid"](29,1163264,null,2,wl.c,[e.ElementRef,wl.g],null,null),e["ɵqud"](603979776,35,{FormControlNames:1}),e["ɵqud"](603979776,36,{messagesBlock:0}),(l()(),e["ɵeld"](32,0,null,0,2,"label",[["class","cd-col-form-label"],["for","members"]],null,null,null,null,null)),(l()(),e["ɵeld"](33,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Initiators"])),(l()(),e["ɵeld"](35,0,null,0,13,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,ga)),e["ɵdid"](37,278528,null,0,D.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),e["ɵeld"](38,0,null,null,9,"div",[["class","row"]],null,null,null,null,null)),(l()(),e["ɵeld"](39,0,null,null,8,"div",[["class","col-md-12"]],null,null,null,null,null)),(l()(),e["ɵeld"](40,0,null,null,7,"cd-select",[["elemClass","btn btn-light float-right"]],null,[[null,"selection"]],(function(l,n,u){var e=!0;return"selection"===n&&(e=!1!==l.component.onGroupMemberSelection(u)&&e),e}),Te.b,Te.a)),e["ɵdid"](41,638976,null,0,Ee.a,[A.a],{elemClass:[0,"elemClass"],data:[1,"data"],options:[2,"options"],messages:[3,"messages"]},{selection:"selection"}),(l()(),e["ɵeld"](42,0,null,0,3,"i",[],null,null,null,null,null)),e["ɵprd"](512,null,D["ɵNgClassImpl"],D["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](44,278528,null,0,D.NgClass,[D["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](45,1),(l()(),e["ɵeld"](46,0,null,0,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Add initiator"])),(l()(),e["ɵeld"](48,0,null,null,0,"hr",[],null,null,null,null,null)),(l()(),e["ɵeld"](49,0,null,null,20,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,zn.b,zn.a)),e["ɵdid"](50,1163264,null,2,wl.c,[e.ElementRef,wl.g],null,null),e["ɵqud"](603979776,37,{FormControlNames:1}),e["ɵqud"](603979776,38,{messagesBlock:0}),(l()(),e["ɵeld"](53,0,null,0,2,"label",[["class","cd-col-form-label"],["for","disks"]],null,null,null,null,null)),(l()(),e["ɵeld"](54,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Images"])),(l()(),e["ɵeld"](56,0,null,0,13,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,fa)),e["ɵdid"](58,278528,null,0,D.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),e["ɵeld"](59,0,null,null,9,"div",[["class","row"]],null,null,null,null,null)),(l()(),e["ɵeld"](60,0,null,null,8,"div",[["class","col-md-12"]],null,null,null,null,null)),(l()(),e["ɵeld"](61,0,null,null,7,"cd-select",[["elemClass","btn btn-light float-right"]],null,null,null,Te.b,Te.a)),e["ɵdid"](62,638976,null,0,Ee.a,[A.a],{elemClass:[0,"elemClass"],data:[1,"data"],options:[2,"options"],messages:[3,"messages"]},null),(l()(),e["ɵeld"](63,0,null,0,3,"i",[],null,null,null,null,null)),e["ɵprd"](512,null,D["ɵNgClassImpl"],D["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](65,278528,null,0,D.NgClass,[D["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](66,1),(l()(),e["ɵeld"](67,0,null,0,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Add image"])),(l()(),e["ɵeld"](69,0,null,null,0,"hr",[],null,null,null,null,null))],(function(l,n){var u=n.component;l(n,1,0,n.context.index);var e=l(n,12,0,u.icons.destroy);l(n,11,0,e),l(n,15,0),l(n,24,0,"group_id"),l(n,27,0,"group_id"),l(n,29,0);var a=n.context.$implicit.getValue("members");l(n,37,0,a);var t=n.context.$implicit.getValue("members");l(n,41,0,"btn btn-light float-right",t,u.groupMembersSelections[n.context.index],u.messages.groupInitiator);var o=l(n,45,0,u.icons.add);l(n,44,0,o),l(n,50,0);var d=n.context.$implicit.getValue("disks");l(n,58,0,d);var i=n.context.$implicit.getValue("disks");l(n,62,0,"btn btn-light float-right",i,u.groupDiskSelections[n.context.index],u.messages.initiatorImage);var s=l(n,66,0,u.icons.add);l(n,65,0,s)}),(function(l,n){l(n,0,0,e["ɵnov"](n,3).ngClassUntouched,e["ɵnov"](n,3).ngClassTouched,e["ɵnov"](n,3).ngClassPristine,e["ɵnov"](n,3).ngClassDirty,e["ɵnov"](n,3).ngClassValid,e["ɵnov"](n,3).ngClassInvalid,e["ɵnov"](n,3).ngClassPending);var u=n.context.$implicit.getValue("group_id");l(n,7,0,u),l(n,14,0,e["ɵnov"](n,15).hasErrors,e["ɵnov"](n,15).hasSuccess),l(n,21,0,e["ɵnov"](n,26).ngClassUntouched,e["ɵnov"](n,26).ngClassTouched,e["ɵnov"](n,26).ngClassPristine,e["ɵnov"](n,26).ngClassDirty,e["ɵnov"](n,26).ngClassValid,e["ɵnov"](n,26).ngClassInvalid,e["ɵnov"](n,26).ngClassPending,e["ɵnov"](n,27).validClass,e["ɵnov"](n,27).invalidClass),l(n,28,0,e["ɵnov"](n,29).hasErrors,e["ɵnov"](n,29).hasSuccess),l(n,49,0,e["ɵnov"](n,50).hasErrors,e["ɵnov"](n,50).hasSuccess)}))}function Ca(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","form-text text-muted"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["No items added."]))],null,null)}function ba(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,22,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,zn.b,zn.a)),e["ɵdid"](1,1163264,null,2,wl.c,[e.ElementRef,wl.g],null,null),e["ɵqud"](603979776,31,{FormControlNames:1}),e["ɵqud"](603979776,32,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label"],["for","initiators"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Groups"])),(l()(),e["ɵeld"](6,0,null,0,16,"div",[["class","cd-col-form-input"],["formArrayName","groups"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],null,null,null,null)),e["ɵdid"](7,212992,null,0,ul.g,[[3,ul.d],[8,null],[8,null]],{name:[0,"name"]},null),e["ɵprd"](2048,null,ul.d,null,[ul.g]),e["ɵdid"](9,16384,null,0,ul.s,[[4,ul.d]],null,null),(l()(),e["ɵand"](16777216,null,null,1,null,va)),e["ɵdid"](11,278528,null,0,D.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),e["ɵeld"](12,0,null,null,10,"div",[["class","row"]],null,null,null,null,null)),(l()(),e["ɵeld"](13,0,null,null,9,"div",[["class","col-md-12"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,Ca)),e["ɵdid"](15,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](16,0,null,null,6,"button",[["class","btn btn-light float-right"]],null,[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(l.component.addGroup(),e=!1),e}),null,null)),(l()(),e["ɵeld"](17,0,null,null,3,"i",[],null,null,null,null,null)),e["ɵprd"](512,null,D["ɵNgClassImpl"],D["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](19,278528,null,0,D.NgClass,[D["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](20,1),(l()(),e["ɵeld"](21,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Add group"]))],(function(l,n){var u=n.component;l(n,1,0),l(n,7,0,"groups"),l(n,11,0,u.groups.controls),l(n,15,0,0===u.groups.controls.length);var e=l(n,20,0,u.icons.add);l(n,19,0,e)}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,6,0,e["ɵnov"](n,9).ngClassUntouched,e["ɵnov"](n,9).ngClassTouched,e["ɵnov"](n,9).ngClassPristine,e["ɵnov"](n,9).ngClassDirty,e["ɵnov"](n,9).ngClassValid,e["ɵnov"](n,9).ngClassInvalid,e["ɵnov"](n,9).ngClassPending)}))}function ha(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,133,"form",[["name","targetForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,u){var a=!0;return"submit"===n&&(a=!1!==e["ɵnov"](l,2).onSubmit(u)&&a),"reset"===n&&(a=!1!==e["ɵnov"](l,2).onReset()&&a),"submit"===n&&(a=!1!==e["ɵnov"](l,5).onSubmit()&&a),a}),null,null)),e["ɵdid"](1,16384,null,0,ul.G,[],null,null),e["ɵdid"](2,540672,[["formDir",4]],0,ul.l,[[8,null],[8,null]],{form:[0,"form"]},null),e["ɵprd"](2048,null,ul.d,null,[ul.l]),e["ɵdid"](4,16384,null,0,ul.s,[[4,ul.d]],null,null),e["ɵdid"](5,16384,null,0,wl.d,[],{formGroup:[0,"formGroup"]},null),(l()(),e["ɵeld"](6,0,null,null,127,"div",[["class","card"]],null,null,null,null,null)),(l()(),e["ɵeld"](7,0,null,null,3,"div",[["class","card-header"]],null,null,null,null,null)),(l()(),e["ɵted"](8,null,[""," ",""])),e["ɵppd"](9,1),e["ɵppd"](10,1),(l()(),e["ɵeld"](11,0,null,null,113,"div",[["class","card-body"]],null,null,null,null,null)),(l()(),e["ɵeld"](12,0,null,null,30,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,zn.b,zn.a)),e["ɵdid"](13,1163264,null,2,wl.c,[e.ElementRef,wl.g],null,null),e["ɵqud"](603979776,1,{FormControlNames:1}),e["ɵqud"](603979776,2,{messagesBlock:0}),(l()(),e["ɵeld"](16,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","target_iqn"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Target IQN"])),(l()(),e["ɵeld"](18,0,null,0,24,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](19,0,null,null,14,"div",[["class","input-group"]],null,null,null,null,null)),(l()(),e["ɵeld"](20,0,null,null,7,"input",[["cdTrim",""],["class","form-control"],["formControlName","target_iqn"],["id","target_iqn"],["name","target_iqn"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var a=!0;return"input"===n&&(a=!1!==e["ɵnov"](l,21)._handleInput(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,21).onTouched()&&a),"compositionstart"===n&&(a=!1!==e["ɵnov"](l,21)._compositionStart()&&a),"compositionend"===n&&(a=!1!==e["ɵnov"](l,21)._compositionEnd(u.target.value)&&a),"input"===n&&(a=!1!==e["ɵnov"](l,26).onInput(u.target.value)&&a),a}),null,null)),e["ɵdid"](21,16384,null,0,ul.e,[e.Renderer2,e.ElementRef,[2,ul.b]],null,null),e["ɵprd"](1024,null,ul.p,(function(l){return[l]}),[ul.e]),e["ɵdid"](23,671744,[[1,4]],0,ul.j,[[3,ul.d],[8,null],[8,null],[6,ul.p],[2,ul.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,ul.q,null,[ul.j]),e["ɵdid"](25,16384,null,0,ul.r,[[4,ul.q]],null,null),e["ɵdid"](26,16384,null,0,Ve,[ul.q],null,null),e["ɵdid"](27,16384,null,0,wl.h,[[3,ul.d],wl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](28,0,null,null,5,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),e["ɵeld"](29,0,null,null,4,"button",[["class","btn btn-light"],["id","ecp-info-button"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(e=!1!==l.component.targetSettingsModal()&&e),e}),null,null)),(l()(),e["ɵeld"](30,0,null,null,3,"i",[["aria-hidden","true"]],null,null,null,null,null)),e["ɵprd"](512,null,D["ɵNgClassImpl"],D["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](32,278528,null,0,D.NgClass,[D["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](33,1),(l()(),e["ɵand"](16777216,null,null,1,null,xe)),e["ɵdid"](35,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,_e)),e["ɵdid"](37,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,De)),e["ɵdid"](39,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Fe)),e["ɵdid"](41,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](42,0,null,null,0,"hr",[],null,null,null,null,null)),(l()(),e["ɵeld"](43,0,null,null,28,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,zn.b,zn.a)),e["ɵdid"](44,1163264,null,2,wl.c,[e.ElementRef,wl.g],null,null),e["ɵqud"](603979776,3,{FormControlNames:1}),e["ɵqud"](603979776,4,{messagesBlock:0}),(l()(),e["ɵeld"](47,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","portals"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Portals"])),(l()(),e["ɵeld"](49,0,null,0,22,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,Pe)),e["ɵdid"](51,278528,null,0,D.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),e["ɵeld"](52,0,null,null,9,"div",[["class","row"]],null,null,null,null,null)),(l()(),e["ɵeld"](53,0,null,null,8,"div",[["class","col-md-12"]],null,null,null,null,null)),(l()(),e["ɵeld"](54,0,null,null,7,"cd-select",[["elemClass","btn btn-light float-right"]],null,[[null,"selection"]],(function(l,n,u){var e=!0;return"selection"===n&&(e=!1!==l.component.onPortalSelection(u)&&e),e}),Te.b,Te.a)),e["ɵdid"](55,638976,null,0,Ee.a,[A.a],{elemClass:[0,"elemClass"],data:[1,"data"],options:[2,"options"],messages:[3,"messages"]},{selection:"selection"}),(l()(),e["ɵeld"](56,0,null,0,3,"i",[],null,null,null,null,null)),e["ɵprd"](512,null,D["ɵNgClassImpl"],D["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](58,278528,null,0,D.NgClass,[D["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](59,1),(l()(),e["ɵeld"](60,0,null,0,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Add portal"])),(l()(),e["ɵeld"](62,0,null,null,6,"input",[["class","form-control"],["formControlName","portals"],["id","portals"],["name","portals"],["type","hidden"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var a=!0;return"input"===n&&(a=!1!==e["ɵnov"](l,63)._handleInput(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,63).onTouched()&&a),"compositionstart"===n&&(a=!1!==e["ɵnov"](l,63)._compositionStart()&&a),"compositionend"===n&&(a=!1!==e["ɵnov"](l,63)._compositionEnd(u.target.value)&&a),a}),null,null)),e["ɵdid"](63,16384,null,0,ul.e,[e.Renderer2,e.ElementRef,[2,ul.b]],null,null),e["ɵprd"](1024,null,ul.p,(function(l){return[l]}),[ul.e]),e["ɵdid"](65,671744,[[3,4]],0,ul.j,[[3,ul.d],[8,null],[8,null],[6,ul.p],[2,ul.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,ul.q,null,[ul.j]),e["ɵdid"](67,16384,null,0,ul.r,[[4,ul.q]],null,null),e["ɵdid"](68,16384,null,0,wl.h,[[3,ul.d],wl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Se)),e["ɵdid"](70,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](71,0,null,null,0,"hr",[],null,null,null,null,null)),(l()(),e["ɵeld"](72,0,null,null,30,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,zn.b,zn.a)),e["ɵdid"](73,1163264,null,2,wl.c,[e.ElementRef,wl.g],null,null),e["ɵqud"](603979776,5,{FormControlNames:1}),e["ɵqud"](603979776,6,{messagesBlock:0}),(l()(),e["ɵeld"](76,0,null,0,1,"label",[["class","cd-col-form-label"],["for","disks"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Images"])),(l()(),e["ɵeld"](78,0,null,0,24,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,Ue)),e["ɵdid"](80,278528,null,0,D.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),e["ɵeld"](81,0,null,null,6,"input",[["class","form-control"],["formControlName","disks"],["id","disks"],["name","disks"],["type","hidden"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var a=!0;return"input"===n&&(a=!1!==e["ɵnov"](l,82)._handleInput(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,82).onTouched()&&a),"compositionstart"===n&&(a=!1!==e["ɵnov"](l,82)._compositionStart()&&a),"compositionend"===n&&(a=!1!==e["ɵnov"](l,82)._compositionEnd(u.target.value)&&a),a}),null,null)),e["ɵdid"](82,16384,null,0,ul.e,[e.Renderer2,e.ElementRef,[2,ul.b]],null,null),e["ɵprd"](1024,null,ul.p,(function(l){return[l]}),[ul.e]),e["ɵdid"](84,671744,[[5,4]],0,ul.j,[[3,ul.d],[8,null],[8,null],[6,ul.p],[2,ul.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,ul.q,null,[ul.j]),e["ɵdid"](86,16384,null,0,ul.r,[[4,ul.q]],null,null),e["ɵdid"](87,16384,null,0,wl.h,[[3,ul.d],wl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Be)),e["ɵdid"](89,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,$e)),e["ɵdid"](91,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](92,0,null,null,9,"div",[["class","row"]],null,null,null,null,null)),(l()(),e["ɵeld"](93,0,null,null,8,"div",[["class","col-md-12"]],null,null,null,null,null)),(l()(),e["ɵeld"](94,0,null,null,7,"cd-select",[["elemClass","btn btn-light float-right"]],null,[[null,"selection"]],(function(l,n,u){var e=!0;return"selection"===n&&(e=!1!==l.component.onImageSelection(u)&&e),e}),Te.b,Te.a)),e["ɵdid"](95,638976,null,0,Ee.a,[A.a],{elemClass:[0,"elemClass"],data:[1,"data"],options:[2,"options"],messages:[3,"messages"]},{selection:"selection"}),(l()(),e["ɵeld"](96,0,null,0,3,"i",[],null,null,null,null,null)),e["ɵprd"](512,null,D["ɵNgClassImpl"],D["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](98,278528,null,0,D.NgClass,[D["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](99,1),(l()(),e["ɵeld"](100,0,null,0,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Add image"])),(l()(),e["ɵeld"](102,0,null,null,0,"hr",[],null,null,null,null,null)),(l()(),e["ɵeld"](103,0,null,null,15,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,zn.b,zn.a)),e["ɵdid"](104,1163264,null,2,wl.c,[e.ElementRef,wl.g],null,null),e["ɵqud"](603979776,7,{FormControlNames:1}),e["ɵqud"](603979776,8,{messagesBlock:0}),(l()(),e["ɵeld"](107,0,null,0,11,"div",[["class","cd-col-form-offset"]],null,null,null,null,null)),(l()(),e["ɵeld"](108,0,null,null,9,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(l()(),e["ɵeld"](109,0,null,null,6,"input",[["class","custom-control-input"],["formControlName","acl_enabled"],["id","acl_enabled"],["name","acl_enabled"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var a=!0;return"change"===n&&(a=!1!==e["ɵnov"](l,110).onChange(u.target.checked)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,110).onTouched()&&a),a}),null,null)),e["ɵdid"](110,16384,null,0,ul.c,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,ul.p,(function(l){return[l]}),[ul.c]),e["ɵdid"](112,671744,[[7,4]],0,ul.j,[[3,ul.d],[8,null],[8,null],[6,ul.p],[2,ul.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,ul.q,null,[ul.j]),e["ɵdid"](114,16384,null,0,ul.r,[[4,ul.q]],null,null),e["ɵdid"](115,16384,null,0,wl.h,[[3,ul.d],wl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](116,0,null,null,1,"label",[["class","custom-control-label"],["for","acl_enabled"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["ACL authentication"])),(l()(),e["ɵeld"](118,0,null,null,0,"hr",[],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,We)),e["ɵdid"](120,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,ma)),e["ɵdid"](122,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,ba)),e["ɵdid"](124,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](125,0,null,null,8,"div",[["class","card-footer"]],null,null,null,null,null)),(l()(),e["ɵeld"](126,0,null,null,7,"div",[["class","button-group text-right"]],null,null,null,null,null)),(l()(),e["ɵeld"](127,0,null,null,4,"cd-submit-button",[],null,[[null,"submitAction"]],(function(l,n,u){var e=!0;return"submitAction"===n&&(e=!1!==l.component.submit()&&e),e}),Qn.b,Qn.a)),e["ɵdid"](128,114688,null,0,Yn.a,[e.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(l()(),e["ɵted"](129,0,[""," ",""])),e["ɵppd"](130,1),e["ɵppd"](131,1),(l()(),e["ɵeld"](132,0,null,null,1,"cd-back-button",[],null,null,null,Xn.b,Xn.a)),e["ɵdid"](133,49152,null,0,lu.a,[D.Location,Yl.b],null,null)],(function(l,n){var u=n.component;l(n,2,0,u.targetForm),l(n,5,0,u.targetForm),l(n,13,0),l(n,23,0,"target_iqn"),l(n,27,0,"target_iqn");var a=l(n,33,0,u.icons.deepCheck);l(n,32,0,a),l(n,35,0,u.targetForm.showError("target_iqn",e["ɵnov"](n,2),"required")),l(n,37,0,u.targetForm.showError("target_iqn",e["ɵnov"](n,2),"pattern")),l(n,39,0,u.targetForm.showError("target_iqn",e["ɵnov"](n,2),"iqn")),l(n,41,0,u.hasAdvancedSettings(u.targetForm.getValue("target_controls"))),l(n,44,0),l(n,51,0,u.portals.value),l(n,55,0,"btn btn-light float-right",u.portals.value,u.portalsSelections,u.messages.portals);var t=l(n,59,0,u.icons.add);l(n,58,0,t),l(n,65,0,"portals"),l(n,68,0,"portals"),l(n,70,0,u.targetForm.showError("portals",e["ɵnov"](n,2),"minGateways")),l(n,73,0),l(n,80,0,u.targetForm.getValue("disks")),l(n,84,0,"disks"),l(n,87,0,"disks"),l(n,89,0,u.targetForm.showError("disks",e["ɵnov"](n,2),"dupLunId")),l(n,91,0,u.targetForm.showError("disks",e["ɵnov"](n,2),"dupWwn")),l(n,95,0,"btn btn-light float-right",u.disks.value,u.imagesSelections,u.messages.images);var o=l(n,99,0,u.icons.add);l(n,98,0,o),l(n,104,0),l(n,112,0,"acl_enabled"),l(n,115,0,"acl_enabled"),l(n,120,0,u.cephIscsiConfigVersion>10&&!u.targetForm.getValue("acl_enabled")),l(n,122,0,u.targetForm.getValue("acl_enabled")),l(n,124,0,u.targetForm.getValue("acl_enabled")),l(n,128,0,e["ɵnov"](n,2))}),(function(l,n){var u=n.component;l(n,0,0,e["ɵnov"](n,4).ngClassUntouched,e["ɵnov"](n,4).ngClassTouched,e["ɵnov"](n,4).ngClassPristine,e["ɵnov"](n,4).ngClassDirty,e["ɵnov"](n,4).ngClassValid,e["ɵnov"](n,4).ngClassInvalid,e["ɵnov"](n,4).ngClassPending);var a=e["ɵunv"](n,8,0,l(n,9,0,e["ɵnov"](n.parent,0),u.action)),t=e["ɵunv"](n,8,1,l(n,10,0,e["ɵnov"](n.parent,1),u.resource));l(n,8,0,a,t),l(n,12,0,e["ɵnov"](n,13).hasErrors,e["ɵnov"](n,13).hasSuccess),l(n,20,0,e["ɵnov"](n,25).ngClassUntouched,e["ɵnov"](n,25).ngClassTouched,e["ɵnov"](n,25).ngClassPristine,e["ɵnov"](n,25).ngClassDirty,e["ɵnov"](n,25).ngClassValid,e["ɵnov"](n,25).ngClassInvalid,e["ɵnov"](n,25).ngClassPending,e["ɵnov"](n,27).validClass,e["ɵnov"](n,27).invalidClass),l(n,43,0,e["ɵnov"](n,44).hasErrors,e["ɵnov"](n,44).hasSuccess),l(n,62,0,e["ɵnov"](n,67).ngClassUntouched,e["ɵnov"](n,67).ngClassTouched,e["ɵnov"](n,67).ngClassPristine,e["ɵnov"](n,67).ngClassDirty,e["ɵnov"](n,67).ngClassValid,e["ɵnov"](n,67).ngClassInvalid,e["ɵnov"](n,67).ngClassPending,e["ɵnov"](n,68).validClass,e["ɵnov"](n,68).invalidClass),l(n,72,0,e["ɵnov"](n,73).hasErrors,e["ɵnov"](n,73).hasSuccess),l(n,81,0,e["ɵnov"](n,86).ngClassUntouched,e["ɵnov"](n,86).ngClassTouched,e["ɵnov"](n,86).ngClassPristine,e["ɵnov"](n,86).ngClassDirty,e["ɵnov"](n,86).ngClassValid,e["ɵnov"](n,86).ngClassInvalid,e["ɵnov"](n,86).ngClassPending,e["ɵnov"](n,87).validClass,e["ɵnov"](n,87).invalidClass),l(n,103,0,e["ɵnov"](n,104).hasErrors,e["ɵnov"](n,104).hasSuccess),l(n,109,0,e["ɵnov"](n,114).ngClassUntouched,e["ɵnov"](n,114).ngClassTouched,e["ɵnov"](n,114).ngClassPristine,e["ɵnov"](n,114).ngClassDirty,e["ɵnov"](n,114).ngClassValid,e["ɵnov"](n,114).ngClassInvalid,e["ɵnov"](n,114).ngClassPending,e["ɵnov"](n,115).validClass,e["ɵnov"](n,115).invalidClass);var o=e["ɵunv"](n,129,0,l(n,130,0,e["ɵnov"](n.parent,0),u.action)),d=e["ɵunv"](n,129,1,l(n,131,0,e["ɵnov"](n.parent,1),u.resource));l(n,129,0,o,d)}))}function Ia(l){return e["ɵvid"](0,[e["ɵpid"](0,D.TitleCasePipe,[]),e["ɵpid"](0,ll.a,[]),e["ɵpid"](0,L.a,[]),(l()(),e["ɵeld"](3,0,null,null,2,"div",[["class","cd-col-form"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,ha)),e["ɵdid"](5,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){l(n,5,0,n.component.targetForm)}),null)}function Ra(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"cd-iscsi-target-form",[],null,null,null,Ia,ke)),e["ɵdid"](1,114688,null,0,qe.a,[Zu.a,sl.b,Wl.a,vl.m,vl.a,A.a,Ql.a,Yl.b],null,null)],(function(l,n){l(n,1,0)}),null)}var Na=e["ɵccf"]("cd-iscsi-target-form",qe.a,Ra,{},{},[]),wa=u("Vhfg"),Ta=u("cxJu");u.d(n,"BlockModuleNgFactory",(function(){return Ea})),u.d(n,"RoutedBlockModuleNgFactory",(function(){return ya}));var Ea=e["ɵcmf"](a.a,[],(function(l){return e["ɵmod"]([e["ɵmpd"](512,e.ComponentFactoryResolver,e["ɵCodegenComponentFactoryResolver"],[[8,[t.a,o.a,d.a,i.a,i.b,s.a,r.a,c.a,p.a,m.a,g.a,f.a,v.a,C.a,b.a,h.a,I.a,R.a,R.c,R.b,N.a,w.a,T.a,E.a,y.a,V.a,q.a,k.a,x.a,_.a]],[3,e.ComponentFactoryResolver],e.NgModuleRef]),e["ɵmpd"](4608,D.NgLocalization,D.NgLocaleLocalization,[e.LOCALE_ID,[2,D["ɵangular_packages_common_common_a"]]]),e["ɵmpd"](4608,F.a,F.a,[]),e["ɵmpd"](4608,P.a,P.a,[]),e["ɵmpd"](4608,S.a,S.a,[A.a]),e["ɵmpd"](4608,D.DatePipe,D.DatePipe,[e.LOCALE_ID]),e["ɵmpd"](4608,j.a,j.a,[]),e["ɵmpd"](4608,O.a,O.a,[]),e["ɵmpd"](4608,U.a,U.a,[]),e["ɵmpd"](4608,B.a,B.a,[U.a]),e["ɵmpd"](4608,$.a,$.a,[U.a]),e["ɵmpd"](4608,M.a,M.a,[U.a]),e["ɵmpd"](4608,z.a,z.a,[]),e["ɵmpd"](4608,L.a,L.a,[]),e["ɵmpd"](4608,G.a,G.a,[]),e["ɵmpd"](4608,K.a,K.a,[]),e["ɵmpd"](4608,H.a,H.a,[D.DatePipe]),e["ɵmpd"](4608,J.a,J.a,[]),e["ɵmpd"](4608,Z.a,Z.a,[]),e["ɵmpd"](4608,W.a,W.a,[]),e["ɵmpd"](4608,Q.a,Q.a,[]),e["ɵmpd"](4608,Y.a,Y.a,[]),e["ɵmpd"](4608,X.a,X.a,[A.a]),e["ɵmpd"](4608,ll.a,ll.a,[]),e["ɵmpd"](4608,nl.a,nl.a,[]),e["ɵmpd"](4608,ul.D,ul.D,[]),e["ɵmpd"](4608,ul.h,ul.h,[]),e["ɵmpd"](4608,el.b,el.b,[]),e["ɵmpd"](4608,al.a,al.a,[]),e["ɵmpd"](4608,tl.a,tl.a,[e.RendererFactory2,e.PLATFORM_ID]),e["ɵmpd"](4608,ol.a,ol.a,[e.ComponentFactoryResolver,e.NgZone,e.Injector,tl.a,e.ApplicationRef]),e["ɵmpd"](4608,dl.c,dl.c,[]),e["ɵmpd"](4608,il.a,il.a,[]),e["ɵmpd"](4608,sl.b,sl.b,[e.RendererFactory2,ol.a]),e["ɵmpd"](4608,rl.ScrollbarHelper,rl.ScrollbarHelper,[D.DOCUMENT]),e["ɵmpd"](4608,cl.DimensionsHelper,cl.DimensionsHelper,[]),e["ɵmpd"](4608,pl.ColumnChangesService,pl.ColumnChangesService,[]),e["ɵmpd"](4608,ml.f,ml.f,[]),e["ɵmpd"](4608,gl.a,gl.a,[]),e["ɵmpd"](4608,fl.a,fl.a,[vl.m,gl.a]),e["ɵmpd"](4608,Cl.f,Cl.f,[]),e["ɵmpd"](4608,bl.r,bl.r,[]),e["ɵmpd"](4608,bl.t,bl.t,[]),e["ɵmpd"](4608,bl.a,bl.a,[]),e["ɵmpd"](4608,bl.h,bl.h,[]),e["ɵmpd"](4608,bl.d,bl.d,[]),e["ɵmpd"](4608,bl.j,bl.j,[]),e["ɵmpd"](4608,bl.s,bl.s,[bl.t,bl.j]),e["ɵmpd"](4608,hl.a,hl.a,[]),e["ɵmpd"](1073742336,D.CommonModule,D.CommonModule,[]),e["ɵmpd"](1073742336,Cl.d,Cl.d,[]),e["ɵmpd"](1073742336,Il.a,Il.a,[]),e["ɵmpd"](1073742336,ul.C,ul.C,[]),e["ɵmpd"](1073742336,ul.n,ul.n,[]),e["ɵmpd"](1073742336,ul.y,ul.y,[]),e["ɵmpd"](1073742336,el.c,el.c,[]),e["ɵmpd"](1073742336,al.d,al.d,[]),e["ɵmpd"](1073742336,dl.d,dl.d,[]),e["ɵmpd"](1073742336,il.d,il.d,[]),e["ɵmpd"](1073742336,Rl.b,Rl.b,[]),e["ɵmpd"](1073742336,sl.e,sl.e,[]),e["ɵmpd"](1073742336,Nl.a,Nl.a,[]),e["ɵmpd"](1073742336,ml.e,ml.e,[]),e["ɵmpd"](1073742336,wl.f,wl.f,[]),e["ɵmpd"](1073742336,Tl.ClickOutsideModule,Tl.ClickOutsideModule,[]),e["ɵmpd"](1073742336,El.b,El.b,[]),e["ɵmpd"](1073742336,vl.q,vl.q,[[2,vl.v],[2,vl.m]]),e["ɵmpd"](1073742336,yl.a,yl.a,[]),e["ɵmpd"](1073742336,Vl.NgxDatatableModule,Vl.NgxDatatableModule,[]),e["ɵmpd"](1073742336,ql.a,ql.a,[]),e["ɵmpd"](1073742336,kl.a,kl.a,[]),e["ɵmpd"](1073742336,xl.a,xl.a,[]),e["ɵmpd"](1073742336,_l.a,_l.a,[]),e["ɵmpd"](1073742336,bl.g,bl.g,[]),e["ɵmpd"](1073742336,Dl.b,Dl.b,[]),e["ɵmpd"](1073742336,a.a,a.a,[]),e["ɵmpd"](256,e.LOCALE_ID,"en-US",[]),e["ɵmpd"](256,ml.a,{autoClose:!0,insideClick:!1},[]),e["ɵmpd"](256,e.TRANSLATIONS_FORMAT,"xlf",[])])})),ya=e["ɵcmf"](a.b,[],(function(l){return e["ɵmod"]([e["ɵmpd"](512,e.ComponentFactoryResolver,e["ɵCodegenComponentFactoryResolver"],[[8,[t.a,o.a,d.a,i.a,i.b,s.a,r.a,c.a,p.a,m.a,g.a,f.a,v.a,C.a,b.a,h.a,I.a,R.a,R.c,R.b,N.a,w.a,T.a,E.a,y.a,V.a,q.a,k.a,x.a,_.a,gn,Rn,Fn,Mn,Mu,ie,Ie,Na]],[3,e.ComponentFactoryResolver],e.NgModuleRef]),e["ɵmpd"](4608,D.NgLocalization,D.NgLocaleLocalization,[e.LOCALE_ID,[2,D["ɵangular_packages_common_common_a"]]]),e["ɵmpd"](4608,F.a,F.a,[]),e["ɵmpd"](4608,P.a,P.a,[]),e["ɵmpd"](4608,S.a,S.a,[A.a]),e["ɵmpd"](4608,D.DatePipe,D.DatePipe,[e.LOCALE_ID]),e["ɵmpd"](4608,j.a,j.a,[]),e["ɵmpd"](4608,O.a,O.a,[]),e["ɵmpd"](4608,U.a,U.a,[]),e["ɵmpd"](4608,B.a,B.a,[U.a]),e["ɵmpd"](4608,$.a,$.a,[U.a]),e["ɵmpd"](4608,M.a,M.a,[U.a]),e["ɵmpd"](4608,z.a,z.a,[]),e["ɵmpd"](4608,L.a,L.a,[]),e["ɵmpd"](4608,G.a,G.a,[]),e["ɵmpd"](4608,K.a,K.a,[]),e["ɵmpd"](4608,H.a,H.a,[D.DatePipe]),e["ɵmpd"](4608,J.a,J.a,[]),e["ɵmpd"](4608,Z.a,Z.a,[]),e["ɵmpd"](4608,W.a,W.a,[]),e["ɵmpd"](4608,Q.a,Q.a,[]),e["ɵmpd"](4608,Y.a,Y.a,[]),e["ɵmpd"](4608,X.a,X.a,[A.a]),e["ɵmpd"](4608,ll.a,ll.a,[]),e["ɵmpd"](4608,nl.a,nl.a,[]),e["ɵmpd"](4608,ul.D,ul.D,[]),e["ɵmpd"](4608,ul.h,ul.h,[]),e["ɵmpd"](4608,el.b,el.b,[]),e["ɵmpd"](4608,al.a,al.a,[]),e["ɵmpd"](4608,tl.a,tl.a,[e.RendererFactory2,e.PLATFORM_ID]),e["ɵmpd"](4608,ol.a,ol.a,[e.ComponentFactoryResolver,e.NgZone,e.Injector,tl.a,e.ApplicationRef]),e["ɵmpd"](4608,dl.c,dl.c,[]),e["ɵmpd"](4608,il.a,il.a,[]),e["ɵmpd"](4608,sl.b,sl.b,[e.RendererFactory2,ol.a]),e["ɵmpd"](4608,rl.ScrollbarHelper,rl.ScrollbarHelper,[D.DOCUMENT]),e["ɵmpd"](4608,cl.DimensionsHelper,cl.DimensionsHelper,[]),e["ɵmpd"](4608,pl.ColumnChangesService,pl.ColumnChangesService,[]),e["ɵmpd"](4608,ml.f,ml.f,[]),e["ɵmpd"](4608,gl.a,gl.a,[]),e["ɵmpd"](4608,fl.a,fl.a,[vl.m,gl.a]),e["ɵmpd"](4608,Cl.f,Cl.f,[]),e["ɵmpd"](4608,bl.r,bl.r,[]),e["ɵmpd"](4608,bl.t,bl.t,[]),e["ɵmpd"](4608,bl.a,bl.a,[]),e["ɵmpd"](4608,bl.h,bl.h,[]),e["ɵmpd"](4608,bl.d,bl.d,[]),e["ɵmpd"](4608,bl.j,bl.j,[]),e["ɵmpd"](4608,bl.s,bl.s,[bl.t,bl.j]),e["ɵmpd"](4608,hl.a,hl.a,[]),e["ɵmpd"](1073742336,D.CommonModule,D.CommonModule,[]),e["ɵmpd"](1073742336,Cl.d,Cl.d,[]),e["ɵmpd"](1073742336,Il.a,Il.a,[]),e["ɵmpd"](1073742336,ul.C,ul.C,[]),e["ɵmpd"](1073742336,ul.n,ul.n,[]),e["ɵmpd"](1073742336,ul.y,ul.y,[]),e["ɵmpd"](1073742336,el.c,el.c,[]),e["ɵmpd"](1073742336,al.d,al.d,[]),e["ɵmpd"](1073742336,dl.d,dl.d,[]),e["ɵmpd"](1073742336,il.d,il.d,[]),e["ɵmpd"](1073742336,Rl.b,Rl.b,[]),e["ɵmpd"](1073742336,sl.e,sl.e,[]),e["ɵmpd"](1073742336,Nl.a,Nl.a,[]),e["ɵmpd"](1073742336,ml.e,ml.e,[]),e["ɵmpd"](1073742336,wl.f,wl.f,[]),e["ɵmpd"](1073742336,Tl.ClickOutsideModule,Tl.ClickOutsideModule,[]),e["ɵmpd"](1073742336,El.b,El.b,[]),e["ɵmpd"](1073742336,vl.q,vl.q,[[2,vl.v],[2,vl.m]]),e["ɵmpd"](1073742336,yl.a,yl.a,[]),e["ɵmpd"](1073742336,Vl.NgxDatatableModule,Vl.NgxDatatableModule,[]),e["ɵmpd"](1073742336,ql.a,ql.a,[]),e["ɵmpd"](1073742336,kl.a,kl.a,[]),e["ɵmpd"](1073742336,xl.a,xl.a,[]),e["ɵmpd"](1073742336,_l.a,_l.a,[]),e["ɵmpd"](1073742336,bl.g,bl.g,[]),e["ɵmpd"](1073742336,Dl.b,Dl.b,[]),e["ɵmpd"](1073742336,a.a,a.a,[]),e["ɵmpd"](1073742336,a.b,a.b,[]),e["ɵmpd"](256,e.LOCALE_ID,"en-US",[]),e["ɵmpd"](256,ml.a,{autoClose:!0,insideClick:!1},[]),e["ɵmpd"](1024,vl.k,(function(){return[[{path:"",redirectTo:"rbd",pathMatch:"full"},{path:"rbd",canActivate:[wa.a],data:a.c,children:[{path:"",component:Zl.a},{path:"namespaces",component:fn.a,data:a.d},{path:"trash",component:Nn.a,data:a.j},{path:"performance",component:On.a,data:a.k},{path:"create",component:nu.a,data:a.l},{path:"edit/:image_spec",component:nu.a,data:a.m},{path:"clone/:image_spec/:snap",component:nu.a,data:a.n},{path:"copy/:image_spec",component:nu.a,data:a.o},{path:"copy/:image_spec/:snap",component:nu.a,data:a.p}]},{path:"mirroring",component:Ta.a,canActivate:[wa.a],data:a.q},{path:"iscsi",canActivate:[wa.a],data:a.e,children:[{path:"",redirectTo:"overview",pathMatch:"full"},{path:"overview",component:Ju.a,data:a.f},{path:"targets",data:a.g,children:[{path:"",component:pe.a},{path:"create",component:qe.a,data:a.h},{path:"edit/:target_iqn",component:qe.a,data:a.i}]}]}]]}),[]),e["ɵmpd"](256,e.TRANSLATIONS_FORMAT,"xlf",[])])}))}}]);
\ No newline at end of file
diff --git a/ceph/src/pybind/mgr/dashboard/frontend/dist/en-US/7.cf5f8c70f123c771366b.js b/ceph/src/pybind/mgr/dashboard/frontend/dist/en-US/7.cf5f8c70f123c771366b.js
new file mode 100644 (file)
index 0000000..024d7b6
--- /dev/null
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{J6Oi:function(l,n,u){"use strict";u.r(n);var e=u("8Y7J"),a=u("k/xb"),t=u("MdoF"),o=u("ES0t"),d=u("Xg1U"),i=u("z5nN"),r=u("iutN"),s=u("pMnS"),c=u("EEJc"),p=u("PEr+"),m=u("a40w"),g=u("hfeG"),f=u("QUzE"),v=u("E7j4"),C=u("xvu0"),h=u("RIVN"),b=u("nP0W"),I=u("VBM6"),R=u("atuK"),N=u("JIi+"),w=u("0BYw"),T=u("3IYD"),E=u("I4Qz"),y=u("0rTx"),V=u("lz+O"),q=u("u2XS"),k=u("nhAp"),x=u("l7Jr"),_=u("bUo2"),D=u("SVse"),F=u("yT6U"),P=u("4DD9"),S=u("iExv"),A=u("GiVz"),j=u("85J/"),O=u("+0ag"),U=u("aXbf"),B=u("Fgil"),$=u("IzCI"),M=u("o4+5"),z=u("Dwqy"),L=u("uYzU"),G=u("FFMq"),K=u("E2fk"),H=u("a0VL"),J=u("nSDx"),Z=u("SB+Q"),W=u("TYzs"),Q=u("BQkM"),Y=u("dEH0"),X=u("G1/K"),ll=u("8xTl"),nl=u("TJUb"),ul=u("efK2"),el=u("s7LF"),al=u("CNMR"),tl=u("KOzp"),ol=u("2uy1"),dl=u("z/SZ"),il=u("38Bd"),rl=u("978R"),sl=u("LqlI"),cl=u("FO+L"),pl=u("nhM1"),ml=u("BARL"),gl=u("FE24"),fl=u("aexS"),vl=u("Avrn"),Cl=u("iInd"),hl=u("2ZVE"),bl=u("ienR"),Il=u("gk6K"),Rl=u("9Xeq"),Nl=u("hrfs"),wl=u("yGOH"),Tl=u("+gVj"),El=u("bxSN"),yl=u("WF9J"),Vl=u("V/fk"),ql=u("F8xH"),kl=u("ChqD"),xl=u("pL04"),_l=u("PCNd"),Dl=u("kccj"),Fl=u("yYhs"),Pl=u("C6Ij"),Sl=u("AWcq"),Al=u("pKUh");class jl{constructor(l,n){this.authStorageService=l,this.router=n,this.grafanaPermission=this.authStorageService.getPermissions().grafana}ngOnInit(){this.url=this.router.url}navigateTo(l){this.router.navigate([l])}}var Ol=e["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Ul(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"tab",[["heading","Overall Performance"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],[[null,"selectTab"]],(function(l,n,u){var e=!0;return"selectTab"===n&&(e=!1!==l.component.navigateTo("/block/rbd/performance")&&e),e}),null,null)),e["ɵdid"](1,212992,null,0,hl.b,[hl.e,e.ElementRef,e.Renderer2],{heading:[0,"heading"],active:[1,"active"]},{selectTab:"selectTab"})],(function(l,n){l(n,1,0,"Overall Performance","/block/rbd/performance"===n.component.url)}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).id,e["ɵnov"](n,1).active,e["ɵnov"](n,1).addClass)}))}function Bl(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,9,"tabset",[],[[2,"tab-container",null]],null,null,Al.b,Al.a)),e["ɵdid"](1,180224,null,0,hl.e,[hl.f,e.Renderer2,e.ElementRef],null,null),(l()(),e["ɵeld"](2,0,null,0,1,"tab",[["heading","Images"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],[[null,"selectTab"]],(function(l,n,u){var e=!0;return"selectTab"===n&&(e=!1!==l.component.navigateTo("/block/rbd")&&e),e}),null,null)),e["ɵdid"](3,212992,null,0,hl.b,[hl.e,e.ElementRef,e.Renderer2],{heading:[0,"heading"],active:[1,"active"]},{selectTab:"selectTab"}),(l()(),e["ɵeld"](4,0,null,0,1,"tab",[["heading","Namespaces"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],[[null,"selectTab"]],(function(l,n,u){var e=!0;return"selectTab"===n&&(e=!1!==l.component.navigateTo("/block/rbd/namespaces")&&e),e}),null,null)),e["ɵdid"](5,212992,null,0,hl.b,[hl.e,e.ElementRef,e.Renderer2],{heading:[0,"heading"],active:[1,"active"]},{selectTab:"selectTab"}),(l()(),e["ɵeld"](6,0,null,0,1,"tab",[["heading","Trash"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],[[null,"selectTab"]],(function(l,n,u){var e=!0;return"selectTab"===n&&(e=!1!==l.component.navigateTo("/block/rbd/trash")&&e),e}),null,null)),e["ɵdid"](7,212992,null,0,hl.b,[hl.e,e.ElementRef,e.Renderer2],{heading:[0,"heading"],active:[1,"active"]},{selectTab:"selectTab"}),(l()(),e["ɵand"](16777216,null,0,1,null,Ul)),e["ɵdid"](9,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,3,0,"Images","/block/rbd"===u.url),l(n,5,0,"Namespaces","/block/rbd/namespaces"===u.url),l(n,7,0,"Trash","/block/rbd/trash"===u.url),l(n,9,0,u.grafanaPermission.read)}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).clazz),l(n,2,0,e["ɵnov"](n,3).id,e["ɵnov"](n,3).active,e["ɵnov"](n,3).addClass),l(n,4,0,e["ɵnov"](n,5).id,e["ɵnov"](n,5).active,e["ɵnov"](n,5).addClass),l(n,6,0,e["ɵnov"](n,7).id,e["ɵnov"](n,7).active,e["ɵnov"](n,7).addClass)}))}var $l=u("25BL"),Ml=u("uIqm"),zl=u("NUGo"),Ll=u("S7zO"),Gl=u("JBea"),Kl=u("VTlA"),Hl=u("ufoC"),Jl=u("mSOc"),Zl=u("EgGo"),Wl=u("5GyT"),Ql=u("F83c"),Yl=u("kn/O"),Xl=u("sne2"),ln=e["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function nn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"cd-view-cache",[],null,null,null,Pl.b,Pl.a)),e["ɵdid"](1,114688,null,0,Sl.a,[],{status:[0,"status"],statusFor:[1,"statusFor"]},null)],(function(l,n){l(n,1,0,n.context.$implicit.status,n.context.$implicit.statusFor)}),null)}function un(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,0,"div",[],[[8,"innerHTML",1]],null,null,null,null))],null,(function(l,n){l(n,0,0,"Only available for RBD images with <strong>fast-diff</strong> enabled")}))}function en(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(l()(),e["ɵted"](1,null,["/",""]))],null,(function(l,n){l(n,1,0,n.parent.parent.context.value.pool_namespace)}))}function an(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,4,"span",[],null,null,null,null,null)),(l()(),e["ɵted"](1,null,["",""])),(l()(),e["ɵand"](16777216,null,null,1,null,en)),e["ɵdid"](3,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵted"](4,null,["/","@",""]))],(function(l,n){l(n,3,0,n.parent.context.value.pool_namespace)}),(function(l,n){l(n,1,0,n.parent.context.value.pool_name),l(n,4,0,n.parent.context.value.image_name,n.parent.context.value.snap_name)}))}function tn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["-"]))],null,null)}function on(l){return e["ɵvid"](0,[(l()(),e["ɵand"](16777216,null,null,1,null,an)),e["ɵdid"](1,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,tn)),e["ɵdid"](3,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](0,null,null,0))],(function(l,n){l(n,1,0,n.context.value),l(n,3,0,!n.context.value)}),null)}function dn(l){return e["ɵvid"](0,[(l()(),e["ɵted"](-1,null,[" You are about to flatten "])),(l()(),e["ɵeld"](1,0,null,null,1,"strong",[],null,null,null,null,null)),(l()(),e["ɵted"](2,null,["",""])),(l()(),e["ɵted"](-1,null,[". "])),(l()(),e["ɵeld"](4,0,null,null,0,"br",[],null,null,null,null,null)),(l()(),e["ɵeld"](5,0,null,null,0,"br",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,[" All blocks will be copied from parent "])),(l()(),e["ɵeld"](7,0,null,null,1,"strong",[],null,null,null,null,null)),(l()(),e["ɵted"](8,null,["",""])),(l()(),e["ɵted"](-1,null,[" to child "])),(l()(),e["ɵeld"](10,0,null,null,1,"strong",[],null,null,null,null,null)),(l()(),e["ɵted"](11,null,["",""])),(l()(),e["ɵted"](-1,null,[".\n"]))],null,(function(l,n){l(n,2,0,n.context.$implicit.child),l(n,8,0,n.context.$implicit.parent),l(n,11,0,n.context.$implicit.child)}))}function rn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"li",[],null,null,null,null,null)),(l()(),e["ɵted"](1,null,["",""]))],null,(function(l,n){l(n,1,0,n.context.$implicit)}))}function sn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,5,null,null,null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,"span",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["The following snapshots are currently protected and will be removed:"])),(l()(),e["ɵeld"](3,0,null,null,2,"ul",[],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,rn)),e["ɵdid"](5,278528,null,0,D.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(l,n){l(n,5,0,n.parent.parent.context.snapshots)}),null)}function cn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,5,"div",[["class","alert alert-warning"],["role","alert"]],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,"span",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Deleting this image will also delete all its snapshots."])),(l()(),e["ɵeld"](3,0,null,null,0,"br",[],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,sn)),e["ɵdid"](5,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){l(n,5,0,n.parent.context.snapshots.length>0)}),null)}function pn(l){return e["ɵvid"](0,[(l()(),e["ɵand"](16777216,null,null,1,null,cn)),e["ɵdid"](1,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](0,null,null,0))],(function(l,n){l(n,1,0,n.context.hasSnapshots)}),null)}function mn(l){return e["ɵvid"](0,[e["ɵqud"](402653184,1,{table:0}),e["ɵqud"](671088640,2,{usageTpl:0}),e["ɵqud"](402653184,3,{parentTpl:0}),e["ɵqud"](671088640,4,{nameTpl:0}),e["ɵqud"](402653184,5,{flattenTpl:0}),e["ɵqud"](402653184,6,{deleteTpl:0}),(l()(),e["ɵeld"](6,0,null,null,1,"cd-rbd-tabs",[],null,null,null,Bl,Ol)),e["ɵdid"](7,114688,null,0,jl,[fl.a,Cl.m],null,null),(l()(),e["ɵand"](16777216,null,null,1,null,nn)),e["ɵdid"](9,278528,null,0,D.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),e["ɵeld"](10,0,null,null,5,"cd-table",[["columnMode","flex"],["forceIdentifier","true"],["identifier","id"],["selectionType","single"]],null,[[null,"updateSelection"]],(function(l,n,u){var e=!0;return"updateSelection"===n&&(e=!1!==l.component.updateSelection(u)&&e),e}),$l.b,$l.a)),e["ɵdid"](11,2867200,[[1,4],["table",4]],0,Ml.a,[e.NgZone,e.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],identifier:[3,"identifier"],forceIdentifier:[4,"forceIdentifier"],selectionType:[5,"selectionType"],searchableObjects:[6,"searchableObjects"]},{updateSelection:"updateSelection"}),(l()(),e["ɵeld"](12,0,null,1,1,"cd-table-actions",[["class","table-actions"]],null,null,null,zl.b,zl.a)),e["ɵdid"](13,114688,null,0,Ll.a,[],{permission:[0,"permission"],selection:[1,"selection"],tableActions:[2,"tableActions"]},null),(l()(),e["ɵeld"](14,0,null,3,1,"cd-rbd-details",[["cdTableDetail",""]],null,null,null,N.c,N.b)),e["ɵdid"](15,573440,null,0,Gl.a,[],{selection:[0,"selection"]},null),(l()(),e["ɵand"](0,[["usageNotAvailableTooltipTpl",2]],null,0,null,un)),(l()(),e["ɵand"](0,[[3,2],["parentTpl",2]],null,0,null,on)),(l()(),e["ɵand"](0,[[5,2],["flattenTpl",2]],null,0,null,dn)),(l()(),e["ɵand"](0,[[6,2],["deleteTpl",2]],null,0,null,pn))],(function(l,n){var u=n.component;l(n,7,0),l(n,9,0,u.viewCacheStatusList),l(n,11,0,u.images,u.columns,"flex","id","true","single",!0),l(n,13,0,u.permission,u.selection,u.tableActions),l(n,15,0,u.selection)}),null)}function gn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"cd-rbd-list",[],null,null,null,mn,ln)),e["ɵprd"](131584,null,Kl.a,Kl.a,[Hl.a,Jl.a]),e["ɵprd"](256,null,Zl.a,Wl.b,[]),e["ɵdid"](3,114688,null,0,Wl.a,[fl.a,Ql.a,B.a,M.a,sl.b,Yl.a,Kl.a,A.a,Zl.a,Xl.b],null,null)],(function(l,n){l(n,3,0)}),null)}var fn=e["ɵccf"]("cd-rbd-list",Wl.a,gn,{},{},[]),vn=u("Z5tW"),Cn=u("Ekvf"),hn=u("9nlD"),bn=e["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function In(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"cd-rbd-tabs",[],null,null,null,Bl,Ol)),e["ɵdid"](1,114688,null,0,jl,[fl.a,Cl.m],null,null),(l()(),e["ɵeld"](2,0,null,null,4,"cd-table",[["columnMode","flex"],["forceIdentifier","true"],["identifier","id"],["selectionType","single"]],null,[[null,"fetchData"],[null,"updateSelection"]],(function(l,n,u){var e=!0,a=l.component;return"fetchData"===n&&(e=!1!==a.refresh()&&e),"updateSelection"===n&&(e=!1!==a.updateSelection(u)&&e),e}),$l.b,$l.a)),e["ɵdid"](3,2867200,null,0,Ml.a,[e.NgZone,e.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],identifier:[3,"identifier"],forceIdentifier:[4,"forceIdentifier"],selectionType:[5,"selectionType"]},{fetchData:"fetchData",updateSelection:"updateSelection"}),(l()(),e["ɵeld"](4,0,null,1,2,"div",[["class","table-actions btn-toolbar"]],null,null,null,null,null)),(l()(),e["ɵeld"](5,0,null,null,1,"cd-table-actions",[["class","btn-group"]],null,null,null,zl.b,zl.a)),e["ɵdid"](6,114688,null,0,Ll.a,[],{permission:[0,"permission"],selection:[1,"selection"],tableActions:[2,"tableActions"]},null)],(function(l,n){var u=n.component;l(n,1,0),l(n,3,0,u.namespaces,u.columns,"flex","id","true","single"),l(n,6,0,u.permission,u.selection,u.tableActions)}),null)}function Rn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"cd-rbd-namespace-list",[],null,null,null,In,bn)),e["ɵprd"](135680,null,Kl.a,Kl.a,[Hl.a,Jl.a]),e["ɵdid"](2,114688,null,0,vn.a,[fl.a,Ql.a,Cn.a,sl.b,hn.a,A.a,Xl.b],null,null)],(function(l,n){l(n,2,0)}),null)}var Nn=e["ɵccf"]("cd-rbd-namespace-list",vn.a,Rn,{},{},[]),wn=u("chpi"),Tn=e["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function En(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"cd-view-cache",[],null,null,null,Pl.b,Pl.a)),e["ɵdid"](1,114688,null,0,Sl.a,[],{status:[0,"status"],statusFor:[1,"statusFor"]},null)],(function(l,n){l(n,1,0,n.context.$implicit.status,n.context.$implicit.statusFor)}),null)}function yn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,6,"button",[["class","btn btn-light"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(e=!1!==l.component.purgeModal()&&e),e}),null,null)),(l()(),e["ɵeld"](1,0,null,null,3,"i",[["aria-hidden","true"]],null,null,null,null,null)),e["ɵprd"](512,null,D["ɵNgClassImpl"],D["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](3,278528,null,0,D.NgClass,[D["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](4,1),(l()(),e["ɵeld"](5,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Purge Trash"]))],(function(l,n){var u=l(n,4,0,n.component.icons.destroy);l(n,3,0,u)}),(function(l,n){l(n,0,0,n.component.disablePurgeBtn)}))}function Vn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Expired at"]))],null,null)}function qn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Protected until"]))],null,null)}function kn(l){return e["ɵvid"](0,[(l()(),e["ɵand"](16777216,null,null,1,null,Vn)),e["ɵdid"](1,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,qn)),e["ɵdid"](3,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵted"](4,null,[" ","\n"])),e["ɵppd"](5,1)],(function(l,n){l(n,1,0,n.context.row.cdIsExpired),l(n,3,0,!n.context.row.cdIsExpired)}),(function(l,n){var u=e["ɵunv"](n,4,0,l(n,5,0,e["ɵnov"](n.parent,0),n.context.value));l(n,4,0,u)}))}function xn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,4,"p",[["class","text-danger"]],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,3,"strong",[],null,null,null,null,null)),(l()(),e["ɵeld"](2,0,null,null,2,null,null,null,null,null,null,null)),(l()(),e["ɵted"](3,null,["This image is protected until ","."])),e["ɵppd"](4,1)],null,(function(l,n){var u=e["ɵunv"](n,3,0,l(n,4,0,e["ɵnov"](n.parent.parent,0),n.parent.context.$implicit));l(n,3,0,u)}))}function _n(l){return e["ɵvid"](0,[(l()(),e["ɵand"](16777216,null,null,1,null,xn)),e["ɵdid"](1,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](0,null,null,0))],(function(l,n){l(n,1,0,!n.component.isExpired(n.context.$implicit))}),null)}function Dn(l){return e["ɵvid"](0,[e["ɵpid"](0,H.a,[D.DatePipe]),e["ɵqud"](402653184,1,{table:0}),e["ɵqud"](402653184,2,{expiresTpl:0}),e["ɵqud"](402653184,3,{deleteTpl:0}),(l()(),e["ɵeld"](4,0,null,null,1,"cd-rbd-tabs",[],null,null,null,Bl,Ol)),e["ɵdid"](5,114688,null,0,jl,[fl.a,Cl.m],null,null),(l()(),e["ɵand"](16777216,null,null,1,null,En)),e["ɵdid"](7,278528,null,0,D.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),e["ɵeld"](8,0,null,null,6,"cd-table",[["columnMode","flex"],["forceIdentifier","true"],["identifier","id"],["selectionType","single"]],null,[[null,"updateSelection"]],(function(l,n,u){var e=!0;return"updateSelection"===n&&(e=!1!==l.component.updateSelection(u)&&e),e}),$l.b,$l.a)),e["ɵdid"](9,2867200,[[1,4]],0,Ml.a,[e.NgZone,e.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],identifier:[3,"identifier"],forceIdentifier:[4,"forceIdentifier"],selectionType:[5,"selectionType"]},{updateSelection:"updateSelection"}),(l()(),e["ɵeld"](10,0,null,1,4,"div",[["class","table-actions btn-toolbar"]],null,null,null,null,null)),(l()(),e["ɵeld"](11,0,null,null,1,"cd-table-actions",[["class","btn-group"]],null,null,null,zl.b,zl.a)),e["ɵdid"](12,114688,null,0,Ll.a,[],{permission:[0,"permission"],selection:[1,"selection"],tableActions:[2,"tableActions"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,yn)),e["ɵdid"](14,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](0,[[2,2],["expiresTpl",2]],null,0,null,kn)),(l()(),e["ɵand"](0,[[3,2],["deleteTpl",2]],null,0,null,_n))],(function(l,n){var u=n.component;l(n,5,0),l(n,7,0,u.viewCacheStatusList),l(n,9,0,u.images,u.columns,"flex","id","true","single"),l(n,12,0,u.permission,u.selection,u.tableActions),l(n,14,0,u.permission.delete)}),null)}function Fn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"cd-rbd-trash-list",[],null,null,null,Dn,Tn)),e["ɵprd"](131584,null,Kl.a,Kl.a,[Hl.a,Jl.a]),e["ɵdid"](2,114688,null,0,wn.a,[fl.a,Ql.a,sl.b,H.a,Kl.a,Yl.a,A.a,Xl.b],null,null)],(function(l,n){l(n,2,0)}),null)}var Pn=e["ɵccf"]("cd-rbd-trash-list",wn.a,Fn,{},{},[]),Sn=u("a278"),An=u("insk"),jn=u("cUpR"),On=u("20UP"),Un=u("WkyA"),Bn=e["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function $n(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"cd-rbd-tabs",[],null,null,null,Bl,Ol)),e["ɵdid"](1,114688,null,0,jl,[fl.a,Cl.m],null,null),(l()(),e["ɵeld"](2,0,null,null,1,"cd-grafana",[["grafanaStyle","two"],["uid","41FrpeUiz"]],null,null,null,Sn.b,Sn.a)),e["ɵdid"](3,638976,null,0,An.a,[Jl.a,jn.b,On.a,O.a,A.a],{grafanaPath:[0,"grafanaPath"],grafanaStyle:[1,"grafanaStyle"],uid:[2,"uid"]},null)],(function(l,n){l(n,1,0),l(n,3,0,"rbd-overview?","two","41FrpeUiz")}),null)}function Mn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"cd-rbd-performance",[],null,null,null,$n,Bn)),e["ɵdid"](1,49152,null,0,Un.a,[],null,null)],null,null)}var zn=e["ɵccf"]("cd-rbd-performance",Un.a,Mn,{},{},[]),Ln=u("mXUL"),Gn=u("4HWh"),Kn=u("p4Cf"),Hn=u("IZUe"),Jn=u("EmSq"),Zn=u("BH9v"),Wn=u("rFfW"),Qn=u("o8EM"),Yn=u("gp3X"),Xn=u("sb0X"),lu=u("KVJa"),nu=u("Z21x"),uu=u("MyVl"),eu=e["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function au(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,15,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Ln.b,Ln.a)),e["ɵdid"](1,1163264,null,2,Tl.c,[e.ElementRef,Tl.g],null,null),e["ɵqud"](603979776,1,{FormControlNames:1}),e["ɵqud"](603979776,2,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,2,"label",[["class","cd-col-form-label"],["for","name"]],null,null,null,null,null)),(l()(),e["ɵted"](5,null,[""," from"])),e["ɵppd"](6,1),(l()(),e["ɵeld"](7,0,null,0,8,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](8,0,null,null,6,"input",[["class","form-control"],["formControlName","parent"],["id","parent"],["name","parent"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var a=!0;return"input"===n&&(a=!1!==e["ɵnov"](l,9)._handleInput(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,9).onTouched()&&a),"compositionstart"===n&&(a=!1!==e["ɵnov"](l,9)._compositionStart()&&a),"compositionend"===n&&(a=!1!==e["ɵnov"](l,9)._compositionEnd(u.target.value)&&a),a}),null,null)),e["ɵdid"](9,16384,null,0,el.e,[e.Renderer2,e.ElementRef,[2,el.b]],null,null),e["ɵprd"](1024,null,el.p,(function(l){return[l]}),[el.e]),e["ɵdid"](11,671744,[[1,4]],0,el.j,[[3,el.d],[8,null],[8,null],[6,el.p],[2,el.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,el.q,null,[el.j]),e["ɵdid"](13,16384,null,0,el.r,[[4,el.q]],null,null),e["ɵdid"](14,16384,null,0,Tl.h,[[3,el.d],Tl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](15,0,null,null,0,"hr",[],null,null,null,null,null))],(function(l,n){l(n,1,0),l(n,11,0,"parent"),l(n,14,0,"parent")}),(function(l,n){var u=n.component;l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess);var a=e["ɵunv"](n,5,0,l(n,6,0,e["ɵnov"](n.parent,0),u.action));l(n,5,0,a),l(n,8,0,e["ɵnov"](n,13).ngClassUntouched,e["ɵnov"](n,13).ngClassTouched,e["ɵnov"](n,13).ngClassPristine,e["ɵnov"](n,13).ngClassDirty,e["ɵnov"](n,13).ngClassValid,e["ɵnov"](n,13).ngClassInvalid,e["ɵnov"](n,13).ngClassPending,e["ɵnov"](n,14).validClass,e["ɵnov"](n,14).invalidClass)}))}function tu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function ou(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["'/' and '@' are not allowed."]))],null,null)}function du(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,6,"input",[["class","form-control"],["formControlName","pool"],["id","pool"],["name","pool"],["placeholder","Pool name..."],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var a=!0;return"input"===n&&(a=!1!==e["ɵnov"](l,1)._handleInput(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,1).onTouched()&&a),"compositionstart"===n&&(a=!1!==e["ɵnov"](l,1)._compositionStart()&&a),"compositionend"===n&&(a=!1!==e["ɵnov"](l,1)._compositionEnd(u.target.value)&&a),a}),null,null)),e["ɵdid"](1,16384,null,0,el.e,[e.Renderer2,e.ElementRef,[2,el.b]],null,null),e["ɵprd"](1024,null,el.p,(function(l){return[l]}),[el.e]),e["ɵdid"](3,671744,[[5,4]],0,el.j,[[3,el.d],[8,null],[8,null],[6,el.p],[2,el.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,el.q,null,[el.j]),e["ɵdid"](5,16384,null,0,el.r,[[4,el.q]],null,null),e["ɵdid"](6,16384,null,0,Tl.h,[[3,el.d],Tl.a],{formControlName:[0,"formControlName"]},null)],(function(l,n){l(n,3,0,"pool"),l(n,6,0,"pool")}),(function(l,n){l(n,0,0,e["ɵnov"](n,5).ngClassUntouched,e["ɵnov"](n,5).ngClassTouched,e["ɵnov"](n,5).ngClassPristine,e["ɵnov"](n,5).ngClassDirty,e["ɵnov"](n,5).ngClassValid,e["ɵnov"](n,5).ngClassInvalid,e["ɵnov"](n,5).ngClassPending,e["ɵnov"](n,6).validClass,e["ɵnov"](n,6).invalidClass)}))}function iu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,el.v,[e.ElementRef,e.Renderer2,[2,el.A]],{ngValue:[0,"ngValue"]},null),e["ɵdid"](2,147456,null,0,el.F,[e.ElementRef,e.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),e["ɵted"](-1,null,["Loading..."]))],(function(l,n){l(n,1,0,null),l(n,2,0,null)}),null)}function ru(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,el.v,[e.ElementRef,e.Renderer2,[2,el.A]],{ngValue:[0,"ngValue"]},null),e["ɵdid"](2,147456,null,0,el.F,[e.ElementRef,e.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),e["ɵted"](-1,null,["-- No rbd pools available --"]))],(function(l,n){l(n,1,0,null),l(n,2,0,null)}),null)}function su(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,el.v,[e.ElementRef,e.Renderer2,[2,el.A]],{ngValue:[0,"ngValue"]},null),e["ɵdid"](2,147456,null,0,el.F,[e.ElementRef,e.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),e["ɵted"](-1,null,["-- Select a pool --"]))],(function(l,n){l(n,1,0,null),l(n,2,0,null)}),null)}function cu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,el.v,[e.ElementRef,e.Renderer2,[2,el.A]],{value:[0,"value"]},null),e["ɵdid"](2,147456,null,0,el.F,[e.ElementRef,e.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),e["ɵted"](3,null,["",""]))],(function(l,n){l(n,1,0,n.context.$implicit.pool_name),l(n,2,0,n.context.$implicit.pool_name)}),(function(l,n){l(n,3,0,n.context.$implicit.pool_name)}))}function pu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,14,"select",[["class","form-control custom-select"],["formControlName","pool"],["id","pool"],["name","pool"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var a=!0;return"change"===n&&(a=!1!==e["ɵnov"](l,1).onChange(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,1).onTouched()&&a),a}),null,null)),e["ɵdid"](1,16384,null,0,el.A,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,el.p,(function(l){return[l]}),[el.A]),e["ɵdid"](3,671744,[[5,4]],0,el.j,[[3,el.d],[8,null],[8,null],[6,el.p],[2,el.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,el.q,null,[el.j]),e["ɵdid"](5,16384,null,0,el.r,[[4,el.q]],null,null),e["ɵdid"](6,16384,null,0,Tl.h,[[3,el.d],Tl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,iu)),e["ɵdid"](8,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,ru)),e["ɵdid"](10,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,su)),e["ɵdid"](12,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,cu)),e["ɵdid"](14,278528,null,0,D.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(l,n){var u=n.component;l(n,3,0,"pool"),l(n,6,0,"pool"),l(n,8,0,null===u.pools),l(n,10,0,null!==u.pools&&0===u.pools.length),l(n,12,0,null!==u.pools&&u.pools.length>0),l(n,14,0,u.pools)}),(function(l,n){l(n,0,0,e["ɵnov"](n,5).ngClassUntouched,e["ɵnov"](n,5).ngClassTouched,e["ɵnov"](n,5).ngClassPristine,e["ɵnov"](n,5).ngClassDirty,e["ɵnov"](n,5).ngClassValid,e["ɵnov"](n,5).ngClassInvalid,e["ɵnov"](n,5).ngClassPending,e["ɵnov"](n,6).validClass,e["ɵnov"](n,6).invalidClass)}))}function mu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function gu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,8,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Ln.b,Ln.a)),e["ɵdid"](1,1163264,null,2,Tl.c,[e.ElementRef,Tl.g],null,null),e["ɵqud"](603979776,7,{FormControlNames:1}),e["ɵqud"](603979776,8,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,4,"div",[["class","cd-col-form-offset"]],null,null,null,null,null)),(l()(),e["ɵeld"](5,0,null,null,3,"i",[],null,null,null,null,null)),e["ɵprd"](512,null,D["ɵNgClassImpl"],D["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](7,278528,null,0,D.NgClass,[D["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](8,2)],(function(l,n){var u=n.component;l(n,1,0);var e=l(n,8,0,u.icons.spinner,u.icons.spin);l(n,7,0,e)}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess)}))}function fu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,6,"input",[["class","form-control"],["formControlName","namespace"],["id","namespace"],["name","namespace"],["placeholder","Namespace..."],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var a=!0;return"input"===n&&(a=!1!==e["ɵnov"](l,1)._handleInput(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,1).onTouched()&&a),"compositionstart"===n&&(a=!1!==e["ɵnov"](l,1)._compositionStart()&&a),"compositionend"===n&&(a=!1!==e["ɵnov"](l,1)._compositionEnd(u.target.value)&&a),a}),null,null)),e["ɵdid"](1,16384,null,0,el.e,[e.Renderer2,e.ElementRef,[2,el.b]],null,null),e["ɵprd"](1024,null,el.p,(function(l){return[l]}),[el.e]),e["ɵdid"](3,671744,[[9,4]],0,el.j,[[3,el.d],[8,null],[8,null],[6,el.p],[2,el.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,el.q,null,[el.j]),e["ɵdid"](5,16384,null,0,el.r,[[4,el.q]],null,null),e["ɵdid"](6,16384,null,0,Tl.h,[[3,el.d],Tl.a],{formControlName:[0,"formControlName"]},null)],(function(l,n){l(n,3,0,"namespace"),l(n,6,0,"namespace")}),(function(l,n){l(n,0,0,e["ɵnov"](n,5).ngClassUntouched,e["ɵnov"](n,5).ngClassTouched,e["ɵnov"](n,5).ngClassPristine,e["ɵnov"](n,5).ngClassDirty,e["ɵnov"](n,5).ngClassValid,e["ɵnov"](n,5).ngClassInvalid,e["ɵnov"](n,5).ngClassPending,e["ɵnov"](n,6).validClass,e["ɵnov"](n,6).invalidClass)}))}function vu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,el.v,[e.ElementRef,e.Renderer2,[2,el.A]],{ngValue:[0,"ngValue"]},null),e["ɵdid"](2,147456,null,0,el.F,[e.ElementRef,e.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),e["ɵted"](-1,null,["Loading..."]))],(function(l,n){l(n,1,0,null),l(n,2,0,null)}),null)}function Cu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,el.v,[e.ElementRef,e.Renderer2,[2,el.A]],{ngValue:[0,"ngValue"]},null),e["ɵdid"](2,147456,null,0,el.F,[e.ElementRef,e.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),e["ɵted"](-1,null,["-- No namespaces available --"]))],(function(l,n){l(n,1,0,null),l(n,2,0,null)}),null)}function hu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,el.v,[e.ElementRef,e.Renderer2,[2,el.A]],{ngValue:[0,"ngValue"]},null),e["ɵdid"](2,147456,null,0,el.F,[e.ElementRef,e.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),e["ɵted"](-1,null,["-- Select a namespace --"]))],(function(l,n){l(n,1,0,null),l(n,2,0,null)}),null)}function bu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,el.v,[e.ElementRef,e.Renderer2,[2,el.A]],{value:[0,"value"]},null),e["ɵdid"](2,147456,null,0,el.F,[e.ElementRef,e.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),e["ɵted"](3,null,["",""]))],(function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)}),(function(l,n){l(n,3,0,n.context.$implicit)}))}function Iu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,14,"select",[["class","form-control custom-select"],["formControlName","namespace"],["id","namespace"],["name","namespace"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var a=!0;return"change"===n&&(a=!1!==e["ɵnov"](l,1).onChange(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,1).onTouched()&&a),a}),null,null)),e["ɵdid"](1,16384,null,0,el.A,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,el.p,(function(l){return[l]}),[el.A]),e["ɵdid"](3,671744,[[9,4]],0,el.j,[[3,el.d],[8,null],[8,null],[6,el.p],[2,el.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,el.q,null,[el.j]),e["ɵdid"](5,16384,null,0,el.r,[[4,el.q]],null,null),e["ɵdid"](6,16384,null,0,Tl.h,[[3,el.d],Tl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,vu)),e["ɵdid"](8,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Cu)),e["ɵdid"](10,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,hu)),e["ɵdid"](12,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,bu)),e["ɵdid"](14,278528,null,0,D.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(l,n){var u=n.component;l(n,3,0,"namespace"),l(n,6,0,"namespace"),l(n,8,0,null===u.pools),l(n,10,0,null!==u.pools&&0===u.pools.length),l(n,12,0,null!==u.pools&&u.pools.length>0),l(n,14,0,u.namespaces)}),(function(l,n){l(n,0,0,e["ɵnov"](n,5).ngClassUntouched,e["ɵnov"](n,5).ngClassTouched,e["ɵnov"](n,5).ngClassPristine,e["ɵnov"](n,5).ngClassDirty,e["ɵnov"](n,5).ngClassValid,e["ɵnov"](n,5).ngClassInvalid,e["ɵnov"](n,5).ngClassPending,e["ɵnov"](n,6).validClass,e["ɵnov"](n,6).invalidClass)}))}function Ru(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,10,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Ln.b,Ln.a)),e["ɵdid"](1,1163264,null,2,Tl.c,[e.ElementRef,Tl.g],null,null),e["ɵqud"](603979776,9,{FormControlNames:1}),e["ɵqud"](603979776,10,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label"],["for","pool"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,[" Namespace "])),(l()(),e["ɵeld"](6,0,null,0,4,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,fu)),e["ɵdid"](8,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Iu)),e["ɵdid"](10,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,1,0),l(n,8,0,"editing"===u.mode||!u.poolPermission.read),l(n,10,0,"editing"!==u.mode&&u.poolPermission.read)}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess)}))}function Nu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,6,"input",[["class","form-control"],["formControlName","dataPool"],["id","dataPool"],["name","dataPool"],["placeholder","Data pool name..."],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var a=!0;return"input"===n&&(a=!1!==e["ɵnov"](l,1)._handleInput(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,1).onTouched()&&a),"compositionstart"===n&&(a=!1!==e["ɵnov"](l,1)._compositionStart()&&a),"compositionend"===n&&(a=!1!==e["ɵnov"](l,1)._compositionEnd(u.target.value)&&a),a}),null,null)),e["ɵdid"](1,16384,null,0,el.e,[e.Renderer2,e.ElementRef,[2,el.b]],null,null),e["ɵprd"](1024,null,el.p,(function(l){return[l]}),[el.e]),e["ɵdid"](3,671744,[[13,4]],0,el.j,[[3,el.d],[8,null],[8,null],[6,el.p],[2,el.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,el.q,null,[el.j]),e["ɵdid"](5,16384,null,0,el.r,[[4,el.q]],null,null),e["ɵdid"](6,16384,null,0,Tl.h,[[3,el.d],Tl.a],{formControlName:[0,"formControlName"]},null)],(function(l,n){l(n,3,0,"dataPool"),l(n,6,0,"dataPool")}),(function(l,n){l(n,0,0,e["ɵnov"](n,5).ngClassUntouched,e["ɵnov"](n,5).ngClassTouched,e["ɵnov"](n,5).ngClassPristine,e["ɵnov"](n,5).ngClassDirty,e["ɵnov"](n,5).ngClassValid,e["ɵnov"](n,5).ngClassInvalid,e["ɵnov"](n,5).ngClassPending,e["ɵnov"](n,6).validClass,e["ɵnov"](n,6).invalidClass)}))}function wu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,el.v,[e.ElementRef,e.Renderer2,[2,el.A]],{ngValue:[0,"ngValue"]},null),e["ɵdid"](2,147456,null,0,el.F,[e.ElementRef,e.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),e["ɵted"](-1,null,["Loading..."]))],(function(l,n){l(n,1,0,null),l(n,2,0,null)}),null)}function Tu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,el.v,[e.ElementRef,e.Renderer2,[2,el.A]],{ngValue:[0,"ngValue"]},null),e["ɵdid"](2,147456,null,0,el.F,[e.ElementRef,e.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),e["ɵted"](-1,null,["-- No data pools available --"]))],(function(l,n){l(n,1,0,null),l(n,2,0,null)}),null)}function Eu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,el.v,[e.ElementRef,e.Renderer2,[2,el.A]],{ngValue:[0,"ngValue"]},null),e["ɵdid"](2,147456,null,0,el.F,[e.ElementRef,e.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),e["ɵted"](-1,null,["-- Select a data pool -- "]))],(function(l,n){l(n,1,0,null),l(n,2,0,null)}),null)}function yu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,el.v,[e.ElementRef,e.Renderer2,[2,el.A]],{value:[0,"value"]},null),e["ɵdid"](2,147456,null,0,el.F,[e.ElementRef,e.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),e["ɵted"](3,null,["",""]))],(function(l,n){l(n,1,0,n.context.$implicit.pool_name),l(n,2,0,n.context.$implicit.pool_name)}),(function(l,n){l(n,3,0,n.context.$implicit.pool_name)}))}function Vu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,14,"select",[["class","form-control custom-select"],["formControlName","dataPool"],["id","dataPool"],["name","dataPool"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var a=!0,t=l.component;return"change"===n&&(a=!1!==e["ɵnov"](l,1).onChange(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,1).onTouched()&&a),"change"===n&&(a=!1!==t.onDataPoolChange(u.target.value)&&a),a}),null,null)),e["ɵdid"](1,16384,null,0,el.A,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,el.p,(function(l){return[l]}),[el.A]),e["ɵdid"](3,671744,[[13,4]],0,el.j,[[3,el.d],[8,null],[8,null],[6,el.p],[2,el.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,el.q,null,[el.j]),e["ɵdid"](5,16384,null,0,el.r,[[4,el.q]],null,null),e["ɵdid"](6,16384,null,0,Tl.h,[[3,el.d],Tl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,wu)),e["ɵdid"](8,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Tu)),e["ɵdid"](10,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Eu)),e["ɵdid"](12,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,yu)),e["ɵdid"](14,278528,null,0,D.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(l,n){var u=n.component;l(n,3,0,"dataPool"),l(n,6,0,"dataPool"),l(n,8,0,null===u.dataPools),l(n,10,0,null!==u.dataPools&&0===u.dataPools.length),l(n,12,0,null!==u.dataPools&&u.dataPools.length>0),l(n,14,0,u.dataPools)}),(function(l,n){l(n,0,0,e["ɵnov"](n,5).ngClassUntouched,e["ɵnov"](n,5).ngClassTouched,e["ɵnov"](n,5).ngClassPristine,e["ɵnov"](n,5).ngClassDirty,e["ɵnov"](n,5).ngClassValid,e["ɵnov"](n,5).ngClassInvalid,e["ɵnov"](n,5).ngClassPending,e["ɵnov"](n,6).validClass,e["ɵnov"](n,6).invalidClass)}))}function qu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function ku(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,18,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Ln.b,Ln.a)),e["ɵdid"](1,1163264,null,2,Tl.c,[e.ElementRef,Tl.g],null,null),e["ɵqud"](603979776,13,{FormControlNames:1}),e["ɵqud"](603979776,14,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,7,"label",[["class","cd-col-form-label"],["for","dataPool"]],null,null,null,null,null)),(l()(),e["ɵeld"](5,0,null,null,4,"span",[],null,null,null,null,null)),e["ɵprd"](512,null,D["ɵNgClassImpl"],D["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](7,278528,null,0,D.NgClass,[D["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpod"](8,{required:0}),(l()(),e["ɵted"](-1,null,["Data pool"])),(l()(),e["ɵeld"](10,0,null,null,1,"cd-helper",[["html","Dedicated pool that stores the object-data of the RBD."]],null,null,null,Gn.b,Gn.a)),e["ɵdid"](11,49152,null,0,Kn.a,[],{html:[0,"html"]},null),(l()(),e["ɵeld"](12,0,null,0,6,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,Nu)),e["ɵdid"](14,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Vu)),e["ɵdid"](16,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,qu)),e["ɵdid"](18,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,1,0);var a=l(n,8,0,"editing"!==u.mode);l(n,7,0,a),l(n,11,0,"Dedicated pool that stores the object-data of the RBD."),l(n,14,0,"editing"===u.mode||!u.poolPermission.read),l(n,16,0,"editing"!==u.mode&&u.poolPermission.read),l(n,18,0,u.rbdForm.showError("dataPool",e["ɵnov"](n.parent,5),"required"))}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess)}))}function xu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function _u(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["You have to increase the size."]))],null,null)}function Du(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"cd-helper",[],null,null,null,Gn.b,Gn.a)),e["ɵdid"](1,49152,null,0,Kn.a,[],{html:[0,"html"]},null)],(function(l,n){l(n,1,0,e["ɵinlineInterpolate"](1,"",n.parent.context.$implicit.helperHtml,""))}),null)}function Fu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,11,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,6,"input",[["class","custom-control-input"],["type","checkbox"]],[[8,"id",0],[8,"name",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var a=!0;return"change"===n&&(a=!1!==e["ɵnov"](l,2).onChange(u.target.checked)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,2).onTouched()&&a),a}),null,null)),e["ɵdid"](2,16384,null,0,el.c,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,el.p,(function(l){return[l]}),[el.c]),e["ɵdid"](4,671744,[[17,4]],0,el.j,[[3,el.d],[8,null],[8,null],[6,el.p],[2,el.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,el.q,null,[el.j]),e["ɵdid"](6,16384,null,0,el.r,[[4,el.q]],null,null),e["ɵdid"](7,16384,null,0,Tl.h,[[3,el.d],Tl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](8,0,null,null,1,"label",[["class","custom-control-label"]],[[8,"htmlFor",0]],null,null,null,null)),(l()(),e["ɵted"](9,null,["",""])),(l()(),e["ɵand"](16777216,null,null,1,null,Du)),e["ɵdid"](11,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){l(n,4,0,e["ɵinlineInterpolate"](1,"",n.context.$implicit.key,"")),l(n,7,0,e["ɵinlineInterpolate"](1,"",n.context.$implicit.key,"")),l(n,11,0,n.context.$implicit.helperHtml)}),(function(l,n){l(n,1,1,[e["ɵinlineInterpolate"](1,"",n.context.$implicit.key,""),e["ɵinlineInterpolate"](1,"",n.context.$implicit.key,""),e["ɵnov"](n,6).ngClassUntouched,e["ɵnov"](n,6).ngClassTouched,e["ɵnov"](n,6).ngClassPristine,e["ɵnov"](n,6).ngClassDirty,e["ɵnov"](n,6).ngClassValid,e["ɵnov"](n,6).ngClassInvalid,e["ɵnov"](n,6).ngClassPending,e["ɵnov"](n,7).validClass,e["ɵnov"](n,7).invalidClass]),l(n,8,0,e["ɵinlineInterpolate"](1,"",n.context.$implicit.key,"")),l(n,9,0,n.context.$implicit.desc)}))}function Pu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"a",[["class","float-right margin-right-md"],["href",""]],null,[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(l.component.advancedEnabled=!0,e=!1),e}),null,null)),(l()(),e["ɵted"](-1,null,["Advanced..."]))],null,null)}function Su(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,el.v,[e.ElementRef,e.Renderer2,[2,el.A]],{value:[0,"value"]},null),e["ɵdid"](2,147456,null,0,el.F,[e.ElementRef,e.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),e["ɵted"](3,null,["",""]))],(function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)}),(function(l,n){l(n,3,0,n.context.$implicit)}))}function Au(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](1,147456,null,0,el.v,[e.ElementRef,e.Renderer2,[2,el.A]],{value:[0,"value"]},null),e["ɵdid"](2,147456,null,0,el.F,[e.ElementRef,e.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),e["ɵted"](3,null,["",""]))],(function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)}),(function(l,n){l(n,3,0,n.context.$implicit)}))}function ju(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required because stripe count is defined!"]))],null,null)}function Ou(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Stripe unit is greater than object size."]))],null,null)}function Uu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required because stripe unit is defined!"]))],null,null)}function Bu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Stripe count must be greater than 0."]))],null,null)}function $u(l){return e["ɵvid"](0,[e["ɵpid"](0,D.TitleCasePipe,[]),e["ɵpid"](0,ll.a,[]),(l()(),e["ɵeld"](2,0,null,null,187,"div",[["class","cd-col-form"]],null,null,null,null,null)),(l()(),e["ɵeld"](3,0,null,null,186,"form",[["name","rbdForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,u){var a=!0;return"submit"===n&&(a=!1!==e["ɵnov"](l,5).onSubmit(u)&&a),"reset"===n&&(a=!1!==e["ɵnov"](l,5).onReset()&&a),"submit"===n&&(a=!1!==e["ɵnov"](l,8).onSubmit()&&a),a}),null,null)),e["ɵdid"](4,16384,null,0,el.G,[],null,null),e["ɵdid"](5,540672,[["formDir",4]],0,el.l,[[8,null],[8,null]],{form:[0,"form"]},null),e["ɵprd"](2048,null,el.d,null,[el.l]),e["ɵdid"](7,16384,null,0,el.s,[[4,el.d]],null,null),e["ɵdid"](8,16384,null,0,Tl.d,[],{formGroup:[0,"formGroup"]},null),(l()(),e["ɵeld"](9,0,null,null,180,"div",[["class","card"]],null,null,null,null,null)),(l()(),e["ɵeld"](10,0,null,null,3,"div",[["class","card-header"]],null,null,null,null,null)),(l()(),e["ɵted"](11,null,[""," ",""])),e["ɵppd"](12,1),e["ɵppd"](13,1),(l()(),e["ɵeld"](14,0,null,null,166,"div",[["class","card-body"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,au)),e["ɵdid"](16,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](17,0,null,null,18,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Ln.b,Ln.a)),e["ɵdid"](18,1163264,null,2,Tl.c,[e.ElementRef,Tl.g],null,null),e["ɵqud"](603979776,3,{FormControlNames:1}),e["ɵqud"](603979776,4,{messagesBlock:0}),(l()(),e["ɵeld"](21,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","name"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Name"])),(l()(),e["ɵeld"](23,0,null,0,12,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](24,0,null,null,7,"input",[["autofocus",""],["class","form-control"],["formControlName","name"],["id","name"],["name","name"],["placeholder","Name..."],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var a=!0;return"input"===n&&(a=!1!==e["ɵnov"](l,25)._handleInput(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,25).onTouched()&&a),"compositionstart"===n&&(a=!1!==e["ɵnov"](l,25)._compositionStart()&&a),"compositionend"===n&&(a=!1!==e["ɵnov"](l,25)._compositionEnd(u.target.value)&&a),a}),null,null)),e["ɵdid"](25,16384,null,0,el.e,[e.Renderer2,e.ElementRef,[2,el.b]],null,null),e["ɵprd"](1024,null,el.p,(function(l){return[l]}),[el.e]),e["ɵdid"](27,671744,[[3,4]],0,el.j,[[3,el.d],[8,null],[8,null],[6,el.p],[2,el.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,el.q,null,[el.j]),e["ɵdid"](29,16384,null,0,el.r,[[4,el.q]],null,null),e["ɵdid"](30,4210688,null,0,Hn.a,[e.ElementRef],{autofocus:[0,"autofocus"]},null),e["ɵdid"](31,16384,null,0,Tl.h,[[3,el.d],Tl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,tu)),e["ɵdid"](33,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,ou)),e["ɵdid"](35,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](36,0,null,null,15,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],[[null,"change"]],(function(l,n,u){var e=!0;return"change"===n&&(e=!1!==l.component.onPoolChange(u.target.value)&&e),e}),Ln.b,Ln.a)),e["ɵdid"](37,1163264,null,2,Tl.c,[e.ElementRef,Tl.g],null,null),e["ɵqud"](603979776,5,{FormControlNames:1}),e["ɵqud"](603979776,6,{messagesBlock:0}),(l()(),e["ɵeld"](40,0,null,0,4,"label",[["class","cd-col-form-label"],["for","pool"]],null,null,null,null,null)),e["ɵprd"](512,null,D["ɵNgClassImpl"],D["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](42,278528,null,0,D.NgClass,[D["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),e["ɵpod"](43,{required:0}),(l()(),e["ɵted"](-1,null,["Pool"])),(l()(),e["ɵeld"](45,0,null,0,6,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,du)),e["ɵdid"](47,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,pu)),e["ɵdid"](49,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,mu)),e["ɵdid"](51,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,gu)),e["ɵdid"](53,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Ru)),e["ɵdid"](55,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](56,0,null,null,14,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Ln.b,Ln.a)),e["ɵdid"](57,1163264,null,2,Tl.c,[e.ElementRef,Tl.g],null,null),e["ɵqud"](603979776,11,{FormControlNames:1}),e["ɵqud"](603979776,12,{messagesBlock:0}),(l()(),e["ɵeld"](60,0,null,0,10,"div",[["class","cd-col-form-offset"]],null,null,null,null,null)),(l()(),e["ɵeld"](61,0,null,null,9,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(l()(),e["ɵeld"](62,0,null,null,6,"input",[["class","custom-control-input"],["formControlName","useDataPool"],["id","useDataPool"],["name","useDataPool"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var a=!0,t=l.component;return"change"===n&&(a=!1!==e["ɵnov"](l,63).onChange(u.target.checked)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,63).onTouched()&&a),"change"===n&&(a=!1!==t.onUseDataPoolChange()&&a),a}),null,null)),e["ɵdid"](63,16384,null,0,el.c,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,el.p,(function(l){return[l]}),[el.c]),e["ɵdid"](65,671744,[[11,4]],0,el.j,[[3,el.d],[8,null],[8,null],[6,el.p],[2,el.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,el.q,null,[el.j]),e["ɵdid"](67,16384,null,0,el.r,[[4,el.q]],null,null),e["ɵdid"](68,16384,null,0,Tl.h,[[3,el.d],Tl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](69,0,null,null,1,"label",[["class","custom-control-label"],["for","useDataPool"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Use a dedicated data pool"])),(l()(),e["ɵand"](16777216,null,null,1,null,ku)),e["ɵdid"](72,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](73,0,null,null,18,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Ln.b,Ln.a)),e["ɵdid"](74,1163264,null,2,Tl.c,[e.ElementRef,Tl.g],null,null),e["ɵqud"](603979776,15,{FormControlNames:1}),e["ɵqud"](603979776,16,{messagesBlock:0}),(l()(),e["ɵeld"](77,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","size"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Size"])),(l()(),e["ɵeld"](79,0,null,0,12,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](80,0,null,null,7,"input",[["cdDimlessBinary",""],["class","form-control"],["defaultUnit","GiB"],["formControlName","size"],["id","size"],["name","size"],["placeholder","e.g., 10GiB"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var a=!0;return"input"===n&&(a=!1!==e["ɵnov"](l,81)._handleInput(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,81).onTouched()&&a),"compositionstart"===n&&(a=!1!==e["ɵnov"](l,81)._compositionStart()&&a),"compositionend"===n&&(a=!1!==e["ɵnov"](l,81)._compositionEnd(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,86).onBlur(u.target.value)&&a),a}),null,null)),e["ɵdid"](81,16384,null,0,el.e,[e.Renderer2,e.ElementRef,[2,el.b]],null,null),e["ɵprd"](1024,null,el.p,(function(l){return[l]}),[el.e]),e["ɵdid"](83,671744,[[15,4]],0,el.j,[[3,el.d],[8,null],[8,null],[6,el.p],[2,el.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,el.q,null,[el.j]),e["ɵdid"](85,16384,null,0,el.r,[[4,el.q]],null,null),e["ɵdid"](86,81920,null,0,Jn.a,[e.ElementRef,el.q,B.a,U.a],{defaultUnit:[0,"defaultUnit"]},null),e["ɵdid"](87,16384,null,0,Tl.h,[[3,el.d],Tl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,xu)),e["ɵdid"](89,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,_u)),e["ɵdid"](91,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](92,0,null,null,11,"div",[["class","form-group row"],["formGroupName","features"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"has-error",null],[2,"has-success",null]],null,null,Ln.b,Ln.a)),e["ɵdid"](93,212992,null,0,el.m,[[3,el.d],[8,null],[8,null]],{name:[0,"name"]},null),e["ɵprd"](2048,null,el.d,null,[el.m]),e["ɵdid"](95,16384,null,0,el.s,[[4,el.d]],null,null),e["ɵdid"](96,1163264,null,2,Tl.c,[e.ElementRef,Tl.g],null,null),e["ɵqud"](603979776,17,{FormControlNames:1}),e["ɵqud"](603979776,18,{messagesBlock:0}),(l()(),e["ɵeld"](99,0,null,0,1,"label",[["class","cd-col-form-label"],["for","features"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Features"])),(l()(),e["ɵeld"](101,0,null,0,2,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,Fu)),e["ɵdid"](103,278528,null,0,D.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),e["ɵeld"](104,0,null,null,3,"div",[["class","row"]],null,null,null,null,null)),(l()(),e["ɵeld"](105,0,null,null,2,"div",[["class","col-sm-12"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,Pu)),e["ɵdid"](107,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](108,0,null,null,72,"div",[],[[8,"hidden",0]],null,null,null,null)),(l()(),e["ɵeld"](109,0,null,null,1,"legend",[["class","cd-header"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Advanced"])),(l()(),e["ɵeld"](111,0,null,null,67,"div",[["class","col-md-12"]],null,null,null,null,null)),(l()(),e["ɵeld"](112,0,null,null,1,"h3",[["class","cd-header"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Striping"])),(l()(),e["ɵeld"](114,0,null,null,15,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Ln.b,Ln.a)),e["ɵdid"](115,1163264,null,2,Tl.c,[e.ElementRef,Tl.g],null,null),e["ɵqud"](603979776,19,{FormControlNames:1}),e["ɵqud"](603979776,20,{messagesBlock:0}),(l()(),e["ɵeld"](118,0,null,0,1,"label",[["class","cd-col-form-label"],["for","size"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Object size"])),(l()(),e["ɵeld"](120,0,null,0,9,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](121,0,null,null,8,"select",[["class","form-control custom-select"],["formControlName","obj_size"],["id","obj_size"],["name","obj_size"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var a=!0;return"change"===n&&(a=!1!==e["ɵnov"](l,122).onChange(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,122).onTouched()&&a),a}),null,null)),e["ɵdid"](122,16384,null,0,el.A,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,el.p,(function(l){return[l]}),[el.A]),e["ɵdid"](124,671744,[[19,4]],0,el.j,[[3,el.d],[8,null],[8,null],[6,el.p],[2,el.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,el.q,null,[el.j]),e["ɵdid"](126,16384,null,0,el.r,[[4,el.q]],null,null),e["ɵdid"](127,16384,null,0,Tl.h,[[3,el.d],Tl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Su)),e["ɵdid"](129,278528,null,0,D.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),e["ɵeld"](130,0,null,null,26,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Ln.b,Ln.a)),e["ɵdid"](131,1163264,null,2,Tl.c,[e.ElementRef,Tl.g],null,null),e["ɵqud"](603979776,21,{FormControlNames:1}),e["ɵqud"](603979776,22,{messagesBlock:0}),(l()(),e["ɵeld"](134,0,null,0,4,"label",[["class","cd-col-form-label"],["for","stripingUnit"]],null,null,null,null,null)),e["ɵprd"](512,null,D["ɵNgClassImpl"],D["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](136,278528,null,0,D.NgClass,[D["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),e["ɵpod"](137,{required:0}),(l()(),e["ɵted"](-1,null,["Stripe unit"])),(l()(),e["ɵeld"](139,0,null,0,17,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](140,0,null,null,12,"select",[["class","form-control custom-select"],["formControlName","stripingUnit"],["id","stripingUnit"],["name","stripingUnit"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var a=!0;return"change"===n&&(a=!1!==e["ɵnov"](l,141).onChange(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,141).onTouched()&&a),a}),null,null)),e["ɵdid"](141,16384,null,0,el.A,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,el.p,(function(l){return[l]}),[el.A]),e["ɵdid"](143,671744,[[21,4]],0,el.j,[[3,el.d],[8,null],[8,null],[6,el.p],[2,el.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,el.q,null,[el.j]),e["ɵdid"](145,16384,null,0,el.r,[[4,el.q]],null,null),e["ɵdid"](146,16384,null,0,Tl.h,[[3,el.d],Tl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](147,0,null,null,3,"option",[],null,null,null,null,null)),e["ɵdid"](148,147456,null,0,el.v,[e.ElementRef,e.Renderer2,[2,el.A]],{ngValue:[0,"ngValue"]},null),e["ɵdid"](149,147456,null,0,el.F,[e.ElementRef,e.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),e["ɵted"](-1,null,["-- Select stripe unit --"])),(l()(),e["ɵand"](16777216,null,null,1,null,Au)),e["ɵdid"](152,278528,null,0,D.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,ju)),e["ɵdid"](154,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Ou)),e["ɵdid"](156,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](157,0,null,null,21,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Ln.b,Ln.a)),e["ɵdid"](158,1163264,null,2,Tl.c,[e.ElementRef,Tl.g],null,null),e["ɵqud"](603979776,23,{FormControlNames:1}),e["ɵqud"](603979776,24,{messagesBlock:0}),(l()(),e["ɵeld"](161,0,null,0,4,"label",[["class","cd-col-form-label"],["for","stripingCount"]],null,null,null,null,null)),e["ɵprd"](512,null,D["ɵNgClassImpl"],D["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](163,278528,null,0,D.NgClass,[D["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),e["ɵpod"](164,{required:0}),(l()(),e["ɵted"](-1,null,["Stripe count"])),(l()(),e["ɵeld"](166,0,null,0,12,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](167,0,null,null,7,"input",[["class","form-control"],["formControlName","stripingCount"],["id","stripingCount"],["name","stripingCount"],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],(function(l,n,u){var a=!0;return"input"===n&&(a=!1!==e["ɵnov"](l,168)._handleInput(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,168).onTouched()&&a),"compositionstart"===n&&(a=!1!==e["ɵnov"](l,168)._compositionStart()&&a),"compositionend"===n&&(a=!1!==e["ɵnov"](l,168)._compositionEnd(u.target.value)&&a),"change"===n&&(a=!1!==e["ɵnov"](l,169).onChange(u.target.value)&&a),"input"===n&&(a=!1!==e["ɵnov"](l,169).onChange(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,169).onTouched()&&a),a}),null,null)),e["ɵdid"](168,16384,null,0,el.e,[e.Renderer2,e.ElementRef,[2,el.b]],null,null),e["ɵdid"](169,16384,null,0,el.w,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,el.p,(function(l,n){return[l,n]}),[el.e,el.w]),e["ɵdid"](171,671744,[[23,4]],0,el.j,[[3,el.d],[8,null],[8,null],[6,el.p],[2,el.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,el.q,null,[el.j]),e["ɵdid"](173,16384,null,0,el.r,[[4,el.q]],null,null),e["ɵdid"](174,16384,null,0,Tl.h,[[3,el.d],Tl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Uu)),e["ɵdid"](176,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Bu)),e["ɵdid"](178,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](179,0,null,null,1,"cd-rbd-configuration-form",[],null,[[null,"changes"]],(function(l,n,u){var e=!0;return"changes"===n&&(e=!1!==(l.component.getDirtyConfigurationValues=u)&&e),e}),Zn.b,Zn.a)),e["ɵdid"](180,114688,null,0,Wn.a,[U.a,Qn.a],{form:[0,"form"],initializeData:[1,"initializeData"]},{changes:"changes"}),(l()(),e["ɵeld"](181,0,null,null,8,"div",[["class","card-footer"]],null,null,null,null,null)),(l()(),e["ɵeld"](182,0,null,null,7,"div",[["class","button-group text-right"]],null,null,null,null,null)),(l()(),e["ɵeld"](183,0,null,null,4,"cd-submit-button",[],null,[[null,"submitAction"]],(function(l,n,u){var e=!0;return"submitAction"===n&&(e=!1!==l.component.submit()&&e),e}),Yn.b,Yn.a)),e["ɵdid"](184,114688,null,0,Xn.a,[e.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(l()(),e["ɵted"](185,0,[""," ",""])),e["ɵppd"](186,1),e["ɵppd"](187,1),(l()(),e["ɵeld"](188,0,null,null,1,"cd-back-button",[],null,null,null,lu.b,lu.a)),e["ɵdid"](189,49152,null,0,nu.a,[D.Location,Xl.b],null,null)],(function(l,n){var u=n.component;l(n,5,0,u.rbdForm),l(n,8,0,u.rbdForm),l(n,16,0,u.rbdForm.getValue("parent")),l(n,18,0),l(n,27,0,"name"),l(n,30,0,""),l(n,31,0,"name"),l(n,33,0,u.rbdForm.showError("name",e["ɵnov"](n,5),"required")),l(n,35,0,u.rbdForm.showError("name",e["ɵnov"](n,5),"pattern")),l(n,37,0);var a=l(n,43,0,"editing"!==u.mode);l(n,42,0,"cd-col-form-label",a),l(n,47,0,"editing"===u.mode||!u.poolPermission.read),l(n,49,0,"editing"!==u.mode&&u.poolPermission.read),l(n,51,0,u.rbdForm.showError("pool",e["ɵnov"](n,5),"required")),l(n,53,0,"editing"!==u.mode&&u.rbdForm.getValue("pool")&&null===u.namespaces),l(n,55,0,"editing"===u.mode&&u.rbdForm.getValue("namespace")||"editing"!==u.mode&&(u.namespaces&&u.namespaces.length>0||!u.poolPermission.read)),l(n,57,0),l(n,65,0,"useDataPool"),l(n,68,0,"useDataPool"),l(n,72,0,u.rbdForm.getValue("useDataPool")),l(n,74,0),l(n,83,0,"size"),l(n,86,0,"GiB"),l(n,87,0,"size"),l(n,89,0,u.rbdForm.showError("size",e["ɵnov"](n,5),"required")),l(n,91,0,u.rbdForm.showError("size",e["ɵnov"](n,5),"invalidSizeObject")),l(n,93,0,"features"),l(n,96,0),l(n,103,0,u.featuresList),l(n,107,0,!u.advancedEnabled),l(n,115,0),l(n,124,0,"obj_size"),l(n,127,0,"obj_size"),l(n,129,0,u.objectSizes),l(n,131,0);var t=l(n,137,0,u.rbdForm.getValue("stripingCount"));l(n,136,0,"cd-col-form-label",t),l(n,143,0,"stripingUnit"),l(n,146,0,"stripingUnit"),l(n,148,0,null),l(n,149,0,null),l(n,152,0,u.objectSizes),l(n,154,0,u.rbdForm.showError("stripingUnit",e["ɵnov"](n,5),"required")),l(n,156,0,u.rbdForm.showError("stripingUnit",e["ɵnov"](n,5),"invalidStripingUnit")),l(n,158,0);var o=l(n,164,0,u.rbdForm.getValue("stripingUnit"));l(n,163,0,"cd-col-form-label",o),l(n,171,0,"stripingCount"),l(n,174,0,"stripingCount"),l(n,176,0,u.rbdForm.showError("stripingCount",e["ɵnov"](n,5),"required")),l(n,178,0,u.rbdForm.showError("stripingCount",e["ɵnov"](n,5),"min")),l(n,180,0,u.rbdForm,u.initializeConfigData),l(n,184,0,e["ɵnov"](n,5))}),(function(l,n){var u=n.component;l(n,3,0,e["ɵnov"](n,7).ngClassUntouched,e["ɵnov"](n,7).ngClassTouched,e["ɵnov"](n,7).ngClassPristine,e["ɵnov"](n,7).ngClassDirty,e["ɵnov"](n,7).ngClassValid,e["ɵnov"](n,7).ngClassInvalid,e["ɵnov"](n,7).ngClassPending);var a=e["ɵunv"](n,11,0,l(n,12,0,e["ɵnov"](n,0),u.action)),t=e["ɵunv"](n,11,1,l(n,13,0,e["ɵnov"](n,1),u.resource));l(n,11,0,a,t),l(n,17,0,e["ɵnov"](n,18).hasErrors,e["ɵnov"](n,18).hasSuccess),l(n,24,0,e["ɵnov"](n,29).ngClassUntouched,e["ɵnov"](n,29).ngClassTouched,e["ɵnov"](n,29).ngClassPristine,e["ɵnov"](n,29).ngClassDirty,e["ɵnov"](n,29).ngClassValid,e["ɵnov"](n,29).ngClassInvalid,e["ɵnov"](n,29).ngClassPending,e["ɵnov"](n,31).validClass,e["ɵnov"](n,31).invalidClass),l(n,36,0,e["ɵnov"](n,37).hasErrors,e["ɵnov"](n,37).hasSuccess),l(n,56,0,e["ɵnov"](n,57).hasErrors,e["ɵnov"](n,57).hasSuccess),l(n,62,0,e["ɵnov"](n,67).ngClassUntouched,e["ɵnov"](n,67).ngClassTouched,e["ɵnov"](n,67).ngClassPristine,e["ɵnov"](n,67).ngClassDirty,e["ɵnov"](n,67).ngClassValid,e["ɵnov"](n,67).ngClassInvalid,e["ɵnov"](n,67).ngClassPending,e["ɵnov"](n,68).validClass,e["ɵnov"](n,68).invalidClass),l(n,73,0,e["ɵnov"](n,74).hasErrors,e["ɵnov"](n,74).hasSuccess),l(n,80,0,e["ɵnov"](n,85).ngClassUntouched,e["ɵnov"](n,85).ngClassTouched,e["ɵnov"](n,85).ngClassPristine,e["ɵnov"](n,85).ngClassDirty,e["ɵnov"](n,85).ngClassValid,e["ɵnov"](n,85).ngClassInvalid,e["ɵnov"](n,85).ngClassPending,e["ɵnov"](n,87).validClass,e["ɵnov"](n,87).invalidClass),l(n,92,0,e["ɵnov"](n,95).ngClassUntouched,e["ɵnov"](n,95).ngClassTouched,e["ɵnov"](n,95).ngClassPristine,e["ɵnov"](n,95).ngClassDirty,e["ɵnov"](n,95).ngClassValid,e["ɵnov"](n,95).ngClassInvalid,e["ɵnov"](n,95).ngClassPending,e["ɵnov"](n,96).hasErrors,e["ɵnov"](n,96).hasSuccess),l(n,108,0,!u.advancedEnabled),l(n,114,0,e["ɵnov"](n,115).hasErrors,e["ɵnov"](n,115).hasSuccess),l(n,121,0,e["ɵnov"](n,126).ngClassUntouched,e["ɵnov"](n,126).ngClassTouched,e["ɵnov"](n,126).ngClassPristine,e["ɵnov"](n,126).ngClassDirty,e["ɵnov"](n,126).ngClassValid,e["ɵnov"](n,126).ngClassInvalid,e["ɵnov"](n,126).ngClassPending,e["ɵnov"](n,127).validClass,e["ɵnov"](n,127).invalidClass),l(n,130,0,e["ɵnov"](n,131).hasErrors,e["ɵnov"](n,131).hasSuccess),l(n,140,0,e["ɵnov"](n,145).ngClassUntouched,e["ɵnov"](n,145).ngClassTouched,e["ɵnov"](n,145).ngClassPristine,e["ɵnov"](n,145).ngClassDirty,e["ɵnov"](n,145).ngClassValid,e["ɵnov"](n,145).ngClassInvalid,e["ɵnov"](n,145).ngClassPending,e["ɵnov"](n,146).validClass,e["ɵnov"](n,146).invalidClass),l(n,157,0,e["ɵnov"](n,158).hasErrors,e["ɵnov"](n,158).hasSuccess),l(n,167,0,e["ɵnov"](n,173).ngClassUntouched,e["ɵnov"](n,173).ngClassTouched,e["ɵnov"](n,173).ngClassPristine,e["ɵnov"](n,173).ngClassDirty,e["ɵnov"](n,173).ngClassValid,e["ɵnov"](n,173).ngClassInvalid,e["ɵnov"](n,173).ngClassPending,e["ɵnov"](n,174).validClass,e["ɵnov"](n,174).invalidClass);var o=e["ɵunv"](n,185,0,l(n,186,0,e["ɵnov"](n,0),u.action)),d=e["ɵunv"](n,185,1,l(n,187,0,e["ɵnov"](n,1),u.resource));l(n,185,0,o,d)}))}function Mu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"cd-rbd-form",[],null,null,null,$u,eu)),e["ɵdid"](1,114688,null,0,uu.a,[fl.a,Cl.a,Cn.a,Ql.a,U.a,Yl.a,B.a,A.a,Xl.b,Cl.m],null,null)],(function(l,n){l(n,1,0)}),null)}var zu=e["ɵccf"]("cd-rbd-form",uu.a,Mu,{},{},[]),Lu=u("JxMD"),Gu=u("dgut");class Ku{constructor(l){this.router=l}ngOnInit(){this.url=this.router.url}navigateTo(l){this.router.navigate([l])}}var Hu=e["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Ju(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,5,"tabset",[],[[2,"tab-container",null]],null,null,Al.b,Al.a)),e["ɵdid"](1,180224,null,0,hl.e,[hl.f,e.Renderer2,e.ElementRef],null,null),(l()(),e["ɵeld"](2,0,null,0,1,"tab",[["heading","Overview"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],[[null,"selectTab"]],(function(l,n,u){var e=!0;return"selectTab"===n&&(e=!1!==l.component.navigateTo("/block/iscsi/overview")&&e),e}),null,null)),e["ɵdid"](3,212992,null,0,hl.b,[hl.e,e.ElementRef,e.Renderer2],{heading:[0,"heading"],active:[1,"active"]},{selectTab:"selectTab"}),(l()(),e["ɵeld"](4,0,null,0,1,"tab",[["heading","Targets"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],[[null,"selectTab"]],(function(l,n,u){var e=!0;return"selectTab"===n&&(e=!1!==l.component.navigateTo("/block/iscsi/targets")&&e),e}),null,null)),e["ɵdid"](5,212992,null,0,hl.b,[hl.e,e.ElementRef,e.Renderer2],{heading:[0,"heading"],active:[1,"active"]},{selectTab:"selectTab"})],(function(l,n){var u=n.component;l(n,3,0,"Overview","/block/iscsi/overview"===u.url),l(n,5,0,"Targets","/block/iscsi/targets"===u.url)}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).clazz),l(n,2,0,e["ɵnov"](n,3).id,e["ɵnov"](n,3).active,e["ɵnov"](n,3).addClass),l(n,4,0,e["ɵnov"](n,5).id,e["ɵnov"](n,5).active,e["ɵnov"](n,5).addClass)}))}var Zu=u("roDX"),Wu=u("my5R"),Qu=e["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Yu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"span",[],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,"cd-sparkline",[],null,null,null,Lu.b,Lu.a)),e["ɵdid"](2,638976,null,0,Gu.a,[B.a],{data:[0,"data"],isBinary:[1,"isBinary"]},null)],(function(l,n){l(n,2,0,n.parent.context.value,n.parent.context.row.cdIsBinary)}),null)}function Xu(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","text-muted"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,[" n/a "]))],null,null)}function le(l){return e["ɵvid"](0,[(l()(),e["ɵand"](16777216,null,null,1,null,Yu)),e["ɵdid"](1,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Xu)),e["ɵdid"](3,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](0,null,null,0))],(function(l,n){l(n,1,0,"user:rbd"===n.context.row.backstore),l(n,3,0,"user:rbd"!==n.context.row.backstore)}),null)}function ne(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(l()(),e["ɵted"](1,null,[" "," /s "]))],null,(function(l,n){l(n,1,0,n.parent.context.value)}))}function ue(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","text-muted"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,[" n/a "]))],null,null)}function ee(l){return e["ɵvid"](0,[(l()(),e["ɵand"](16777216,null,null,1,null,ne)),e["ɵdid"](1,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,ue)),e["ɵdid"](3,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](0,null,null,0))],(function(l,n){l(n,1,0,"user:rbd"===n.context.row.backstore),l(n,3,0,"user:rbd"!==n.context.row.backstore)}),null)}function ae(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"span",[],null,null,null,null,null)),(l()(),e["ɵted"](1,null,[" "," "])),e["ɵppd"](2,1)],null,(function(l,n){var u=e["ɵunv"](n,1,0,l(n,2,0,e["ɵnov"](n.parent.parent,0),n.parent.context.value));l(n,1,0,u)}))}function te(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","text-muted"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,[" n/a "]))],null,null)}function oe(l){return e["ɵvid"](0,[(l()(),e["ɵand"](16777216,null,null,1,null,ae)),e["ɵdid"](1,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,te)),e["ɵdid"](3,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](0,null,null,0))],(function(l,n){l(n,1,0,"user:rbd"===n.context.row.backstore),l(n,3,0,"user:rbd"!==n.context.row.backstore)}),null)}function de(l){return e["ɵvid"](0,[e["ɵpid"](0,z.a,[]),e["ɵqud"](402653184,1,{iscsiSparklineTpl:0}),e["ɵqud"](402653184,2,{iscsiPerSecondTpl:0}),e["ɵqud"](402653184,3,{iscsiRelativeDateTpl:0}),(l()(),e["ɵeld"](4,0,null,null,1,"cd-iscsi-tabs",[],null,null,null,Ju,Hu)),e["ɵdid"](5,114688,null,0,Ku,[Cl.m],null,null),(l()(),e["ɵeld"](6,0,null,null,1,"legend",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Gateways"])),(l()(),e["ɵeld"](8,0,null,null,1,"cd-table",[],null,[[null,"fetchData"]],(function(l,n,u){var e=!0;return"fetchData"===n&&(e=!1!==l.component.refresh()&&e),e}),$l.b,$l.a)),e["ɵdid"](9,2867200,null,0,Ml.a,[e.NgZone,e.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"]},{fetchData:"fetchData"}),(l()(),e["ɵeld"](10,0,null,null,1,"legend",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Images"])),(l()(),e["ɵeld"](12,0,null,null,1,"cd-table",[],null,null,null,$l.b,$l.a)),e["ɵdid"](13,2867200,null,0,Ml.a,[e.NgZone,e.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"]},null),(l()(),e["ɵand"](0,[[1,2],["iscsiSparklineTpl",2]],null,0,null,le)),(l()(),e["ɵand"](0,[[2,2],["iscsiPerSecondTpl",2]],null,0,null,ee)),(l()(),e["ɵand"](0,[[3,2],["iscsiRelativeDateTpl",2]],null,0,null,oe))],(function(l,n){var u=n.component;l(n,5,0),l(n,9,0,u.gateways,u.gatewaysColumns),l(n,13,0,u.images,u.imagesColumns)}),null)}function ie(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"cd-iscsi",[],null,null,null,de,Qu)),e["ɵdid"](1,114688,null,0,Zu.a,[Wu.a,M.a,L.a,A.a],null,null)],(function(l,n){l(n,1,0)}),null)}var re=e["ɵccf"]("cd-iscsi",Zu.a,ie,{},{},[]),se=u("DqMs"),ce=u("/NlG"),pe=u("3ris"),me=u("e/kN"),ge=e["ɵcrt"]({encapsulation:0,styles:[["tabset.tabset>ul{border-bottom:0;float:left;display:block;margin-right:20px;border-right:1px solid #ddd;padding-right:15px}"]],data:{}});function fe(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,5,null,null,null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,0,"br",[],null,null,null,null,null)),(l()(),e["ɵeld"](2,0,null,null,1,"span",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Available information:"])),(l()(),e["ɵeld"](4,0,null,null,1,"pre",[],null,null,null,null,null)),(l()(),e["ɵted"](5,null,["",""]))],null,(function(l,n){l(n,5,0,n.component.status)}))}function ve(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,8,"cd-alert-panel",[["title","iSCSI Targets not available"],["type","info"]],null,null,null,se.b,se.a)),e["ɵdid"](1,114688,null,0,ce.a,[A.a],{title:[0,"title"],type:[1,"type"]},null),(l()(),e["ɵeld"](2,0,null,0,4,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Please consult the "])),(l()(),e["ɵeld"](4,0,null,null,1,"a",[["target","_blank"]],[[8,"href",4]],null,null,null,null)),(l()(),e["ɵted"](-1,null,["documentation"])),(l()(),e["ɵted"](-1,null,[" on how to configure and enable the iSCSI Targets management functionality."])),(l()(),e["ɵand"](16777216,null,0,1,null,fe)),e["ɵdid"](8,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,1,0,"iSCSI Targets not available","info"),l(n,8,0,u.status)}),(function(l,n){l(n,4,0,e["ɵinlineInterpolate"](1,"",n.component.docsUrl,""))}))}function Ce(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"cd-iscsi-target-details",[["cdTableDetail",""]],null,null,null,q.c,q.b)),e["ɵdid"](1,638976,null,0,pe.a,[A.a,L.a,S.a],{selection:[0,"selection"],settings:[1,"settings"],cephIscsiConfigVersion:[2,"cephIscsiConfigVersion"]},null)],(function(l,n){var u=n.component;l(n,1,0,u.selection,u.settings,u.cephIscsiConfigVersion)}),null)}function he(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,13,"cd-table",[["columnMode","flex"],["forceIdentifier","true"],["identifier","target_iqn"],["selectionType","single"]],null,[[null,"updateSelection"]],(function(l,n,u){var e=!0;return"updateSelection"===n&&(e=!1!==l.component.updateSelection(u)&&e),e}),$l.b,$l.a)),e["ɵdid"](1,2867200,[[1,4],["table",4]],0,Ml.a,[e.NgZone,e.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],identifier:[3,"identifier"],forceIdentifier:[4,"forceIdentifier"],selectionType:[5,"selectionType"]},{updateSelection:"updateSelection"}),(l()(),e["ɵeld"](2,0,null,1,9,"div",[["class","table-actions btn-toolbar"]],null,null,null,null,null)),(l()(),e["ɵeld"](3,0,null,null,1,"cd-table-actions",[["class","btn-group"]],null,null,null,zl.b,zl.a)),e["ɵdid"](4,114688,null,0,Ll.a,[],{permission:[0,"permission"],selection:[1,"selection"],tableActions:[2,"tableActions"]},null),(l()(),e["ɵeld"](5,0,null,null,6,"button",[["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(e=!1!==l.component.configureDiscoveryAuth()&&e),e}),null,null)),(l()(),e["ɵeld"](6,0,null,null,3,"i",[["aria-hidden","true"]],null,null,null,null,null)),e["ɵprd"](512,null,D["ɵNgClassImpl"],D["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](8,278528,null,0,D.NgClass,[D["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](9,1),(l()(),e["ɵeld"](10,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Discovery authentication"])),(l()(),e["ɵand"](16777216,null,3,1,null,Ce)),e["ɵdid"](13,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,1,0,u.targets,u.columns,"flex","target_iqn","true","single"),l(n,4,0,u.permission,u.selection,u.tableActions);var e=l(n,9,0,u.icons.key);l(n,8,0,e),l(n,13,0,u.selection.hasSingleSelection)}),null)}function be(l){return e["ɵvid"](0,[e["ɵqud"](671088640,1,{table:0}),(l()(),e["ɵeld"](1,0,null,null,1,"cd-iscsi-tabs",[],null,null,null,Ju,Hu)),e["ɵdid"](2,114688,null,0,Ku,[Cl.m],null,null),(l()(),e["ɵand"](16777216,null,null,1,null,ve)),e["ɵdid"](4,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,he)),e["ɵdid"](6,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,2,0),l(n,4,0,!1===u.available),l(n,6,0,!0===u.available)}),null)}function Ie(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"cd-iscsi-target-list",[],null,null,null,be,ge)),e["ɵprd"](131584,null,Kl.a,Kl.a,[Hl.a,Jl.a]),e["ɵdid"](2,245760,null,0,me.a,[fl.a,A.a,Wu.a,Kl.a,O.a,X.a,Jl.a,sl.b,Yl.a,Xl.b],null,null)],(function(l,n){l(n,2,0)}),null)}var Re=e["ɵccf"]("cd-iscsi-target-list",me.a,Ie,{},{},[]),Ne=u("D4zM"),we=u("OcYo"),Te=u("EApP"),Ee=u("WiuZ"),ye=u("wnGv"),Ve=u("LvDl");class qe{constructor(l){this.ngControl=l}onInput(l){this.setValue(l)}setValue(l){l=Ve.isString(l)?l.trim():l,this.ngControl.control.setValue(l)}}var ke=u("gr3l"),xe=e["ɵcrt"]({encapsulation:0,styles:[[".cd-mb[_ngcontent-%COMP%]{margin-bottom:10px}"]],data:{}});function _e(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function De(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["IQN has wrong pattern."]))],null,null)}function Fe(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,8,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["An IQN has the following notation 'iqn.$year-$month.$reversedAddress:$definedName'"])),(l()(),e["ɵeld"](3,0,null,null,0,"br",[],null,null,null,null,null)),(l()(),e["ɵeld"](4,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["For example: iqn.2016-06.org.dashboard:storage:disk.sn-a8675309"])),(l()(),e["ɵeld"](6,0,null,null,0,"br",[],null,null,null,null,null)),(l()(),e["ɵeld"](7,0,null,null,1,"a",[["href","https://en.wikipedia.org/wiki/ISCSI#Addressing"],["target","_blank"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["More information"]))],null,null)}function Pe(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","form-text text-muted"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This target has modified advanced settings."]))],null,null)}function Se(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,8,null,null,null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,7,"div",[["class","input-group cd-mb"]],null,null,null,null,null)),(l()(),e["ɵeld"](2,0,null,null,0,"input",[["class","cd-form-control"],["disabled",""],["type","text"]],[[8,"value",0]],null,null,null,null)),(l()(),e["ɵeld"](3,0,null,null,5,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),e["ɵeld"](4,0,null,null,4,"button",[["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(e=!1!==l.component.removePortal(l.context.index,l.context.$implicit)&&e),e}),null,null)),(l()(),e["ɵeld"](5,0,null,null,3,"i",[["aria-hidden","true"]],null,null,null,null,null)),e["ɵprd"](512,null,D["ɵNgClassImpl"],D["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](7,278528,null,0,D.NgClass,[D["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](8,1)],(function(l,n){var u=l(n,8,0,n.component.icons.destroy);l(n,7,0,u)}),(function(l,n){l(n,2,0,n.context.$implicit)}))}function Ae(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](1,null,["At least "," gateways are required."]))],null,(function(l,n){l(n,1,0,n.component.minimum_gateways)}))}function je(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"div",[["class","input-group-text"]],null,null,null,null,null)),(l()(),e["ɵted"](1,null,["lun: ",""]))],null,(function(l,n){l(n,1,0,n.component.imagesSettings[n.parent.context.$implicit].lun)}))}function Oe(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,null,null,null,null,null,null,null)),(l()(),e["ɵted"](1,null,["Backstore: ",". "])),e["ɵppd"](2,1)],null,(function(l,n){var u=n.component,a=e["ɵunv"](n,1,0,l(n,2,0,e["ɵnov"](n.parent.parent.parent,2),u.imagesSettings[n.parent.context.$implicit].backstore));l(n,1,0,a)}))}function Ue(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This image has modified settings."]))],null,null)}function Be(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,20,null,null,null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,14,"div",[["class","input-group cd-mb"]],null,null,null,null,null)),(l()(),e["ɵeld"](2,0,null,null,0,"input",[["class","cd-form-control"],["disabled",""],["type","text"]],[[8,"value",0]],null,null,null,null)),(l()(),e["ɵeld"](3,0,null,null,12,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,je)),e["ɵdid"](5,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](6,0,null,null,4,"button",[["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(e=!1!==l.component.imageSettingsModal(l.context.$implicit)&&e),e}),null,null)),(l()(),e["ɵeld"](7,0,null,null,3,"i",[["aria-hidden","true"]],null,null,null,null,null)),e["ɵprd"](512,null,D["ɵNgClassImpl"],D["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](9,278528,null,0,D.NgClass,[D["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](10,1),(l()(),e["ɵeld"](11,0,null,null,4,"button",[["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(e=!1!==l.component.removeImage(l.context.index,l.context.$implicit)&&e),e}),null,null)),(l()(),e["ɵeld"](12,0,null,null,3,"i",[["aria-hidden","true"]],null,null,null,null,null)),e["ɵprd"](512,null,D["ɵNgClassImpl"],D["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](14,278528,null,0,D.NgClass,[D["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](15,1),(l()(),e["ɵeld"](16,0,null,null,4,"span",[["class","form-text text-muted"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,Oe)),e["ɵdid"](18,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Ue)),e["ɵdid"](20,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,5,0,u.api_version>=1);var e=l(n,10,0,u.icons.deepCheck);l(n,9,0,e);var a=l(n,15,0,u.icons.destroy);l(n,14,0,a),l(n,18,0,u.backstores.length>1),l(n,20,0,u.hasAdvancedSettings(u.imagesSettings[n.context.$implicit][u.imagesSettings[n.context.$implicit].backstore]))}),(function(l,n){l(n,2,0,n.context.$implicit)}))}function $e(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Duplicated LUN numbers."]))],null,null)}function Me(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Duplicated WWN."]))],null,null)}function ze(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function Le(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["User names must have a length of 8 to 64 characters and can contain alphanumeric characters, '.', '@', '-', '_' or ':'."]))],null,null)}function Ge(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function Ke(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Passwords must have a length of 12 to 16 characters and can contain alphanumeric characters, '@', '-', '_' or '/'."]))],null,null)}function He(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function Je(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["User names must have a length of 8 to 64 characters and can contain alphanumeric characters, '.', '@', '-', '_' or ':'."]))],null,null)}function Ze(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function We(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Passwords must have a length of 12 to 16 characters and can contain alphanumeric characters, '@', '-', '_' or '/'."]))],null,null)}function Qe(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,91,"div",[["formGroupName","auth"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],null,null,null,null)),e["ɵdid"](1,212992,null,0,el.m,[[3,el.d],[8,null],[8,null]],{name:[0,"name"]},null),e["ɵprd"](2048,null,el.d,null,[el.m]),e["ɵdid"](3,16384,null,0,el.s,[[4,el.d]],null,null),(l()(),e["ɵeld"](4,0,null,null,18,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Ln.b,Ln.a)),e["ɵdid"](5,1163264,null,2,Tl.c,[e.ElementRef,Tl.g],null,null),e["ɵqud"](603979776,9,{FormControlNames:1}),e["ɵqud"](603979776,10,{messagesBlock:0}),(l()(),e["ɵeld"](8,0,null,0,2,"label",[["class","cd-col-form-label"],["for","target_user"]],null,null,null,null,null)),(l()(),e["ɵeld"](9,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["User"])),(l()(),e["ɵeld"](11,0,null,0,11,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](12,0,null,null,6,"input",[["class","form-control"],["formControlName","user"],["id","target_user"],["name","target_user"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var a=!0;return"input"===n&&(a=!1!==e["ɵnov"](l,13)._handleInput(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,13).onTouched()&&a),"compositionstart"===n&&(a=!1!==e["ɵnov"](l,13)._compositionStart()&&a),"compositionend"===n&&(a=!1!==e["ɵnov"](l,13)._compositionEnd(u.target.value)&&a),a}),null,null)),e["ɵdid"](13,16384,null,0,el.e,[e.Renderer2,e.ElementRef,[2,el.b]],null,null),e["ɵprd"](1024,null,el.p,(function(l){return[l]}),[el.e]),e["ɵdid"](15,671744,[[9,4]],0,el.j,[[3,el.d],[8,null],[8,null],[6,el.p],[2,el.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,el.q,null,[el.j]),e["ɵdid"](17,16384,null,0,el.r,[[4,el.q]],null,null),e["ɵdid"](18,16384,null,0,Tl.h,[[3,el.d],Tl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,ze)),e["ɵdid"](20,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Le)),e["ɵdid"](22,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](23,0,null,null,24,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Ln.b,Ln.a)),e["ɵdid"](24,1163264,null,2,Tl.c,[e.ElementRef,Tl.g],null,null),e["ɵqud"](603979776,11,{FormControlNames:1}),e["ɵqud"](603979776,12,{messagesBlock:0}),(l()(),e["ɵeld"](27,0,null,0,2,"label",[["class","cd-col-form-label"],["for","target_password"]],null,null,null,null,null)),(l()(),e["ɵeld"](28,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Password"])),(l()(),e["ɵeld"](30,0,null,0,17,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](31,0,null,null,12,"div",[["class","input-group"]],null,null,null,null,null)),(l()(),e["ɵeld"](32,0,null,null,6,"input",[["autocomplete","new-password"],["class","form-control"],["formControlName","password"],["id","target_password"],["name","target_password"],["type","password"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var a=!0;return"input"===n&&(a=!1!==e["ɵnov"](l,33)._handleInput(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,33).onTouched()&&a),"compositionstart"===n&&(a=!1!==e["ɵnov"](l,33)._compositionStart()&&a),"compositionend"===n&&(a=!1!==e["ɵnov"](l,33)._compositionEnd(u.target.value)&&a),a}),null,null)),e["ɵdid"](33,16384,null,0,el.e,[e.Renderer2,e.ElementRef,[2,el.b]],null,null),e["ɵprd"](1024,null,el.p,(function(l){return[l]}),[el.e]),e["ɵdid"](35,671744,[[11,4]],0,el.j,[[3,el.d],[8,null],[8,null],[6,el.p],[2,el.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,el.q,null,[el.j]),e["ɵdid"](37,16384,null,0,el.r,[[4,el.q]],null,null),e["ɵdid"](38,16384,null,0,Tl.h,[[3,el.d],Tl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](39,0,null,null,4,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),e["ɵeld"](40,0,null,null,1,"button",[["cdPasswordButton","target_password"],["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var a=!0;return"click"===n&&(a=!1!==e["ɵnov"](l,41).onClick()&&a),a}),null,null)),e["ɵdid"](41,81920,null,0,Ne.a,[e.ElementRef,e.Renderer2],{cdPasswordButton:[0,"cdPasswordButton"]},null),(l()(),e["ɵeld"](42,0,null,null,1,"button",[["cdCopy2ClipboardButton","target_password"],["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var a=!0;return"click"===n&&(a=!1!==e["ɵnov"](l,43).onClick()&&a),a}),null,null)),e["ɵdid"](43,81920,null,0,we.a,[e.ElementRef,e.Renderer2,Te.j],{cdCopy2ClipboardButton:[0,"cdCopy2ClipboardButton"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Ge)),e["ɵdid"](45,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Ke)),e["ɵdid"](47,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](48,0,null,null,18,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Ln.b,Ln.a)),e["ɵdid"](49,1163264,null,2,Tl.c,[e.ElementRef,Tl.g],null,null),e["ɵqud"](603979776,13,{FormControlNames:1}),e["ɵqud"](603979776,14,{messagesBlock:0}),(l()(),e["ɵeld"](52,0,null,0,2,"label",[["class","cd-col-form-label"],["for","target_mutual_user"]],null,null,null,null,null)),(l()(),e["ɵeld"](53,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Mutual User"])),(l()(),e["ɵeld"](55,0,null,0,11,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](56,0,null,null,6,"input",[["class","form-control"],["formControlName","mutual_user"],["id","target_mutual_user"],["name","target_mutual_user"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var a=!0;return"input"===n&&(a=!1!==e["ɵnov"](l,57)._handleInput(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,57).onTouched()&&a),"compositionstart"===n&&(a=!1!==e["ɵnov"](l,57)._compositionStart()&&a),"compositionend"===n&&(a=!1!==e["ɵnov"](l,57)._compositionEnd(u.target.value)&&a),a}),null,null)),e["ɵdid"](57,16384,null,0,el.e,[e.Renderer2,e.ElementRef,[2,el.b]],null,null),e["ɵprd"](1024,null,el.p,(function(l){return[l]}),[el.e]),e["ɵdid"](59,671744,[[13,4]],0,el.j,[[3,el.d],[8,null],[8,null],[6,el.p],[2,el.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,el.q,null,[el.j]),e["ɵdid"](61,16384,null,0,el.r,[[4,el.q]],null,null),e["ɵdid"](62,16384,null,0,Tl.h,[[3,el.d],Tl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,He)),e["ɵdid"](64,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Je)),e["ɵdid"](66,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](67,0,null,null,24,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Ln.b,Ln.a)),e["ɵdid"](68,1163264,null,2,Tl.c,[e.ElementRef,Tl.g],null,null),e["ɵqud"](603979776,15,{FormControlNames:1}),e["ɵqud"](603979776,16,{messagesBlock:0}),(l()(),e["ɵeld"](71,0,null,0,2,"label",[["class","cd-col-form-label"],["for","target_mutual_password"]],null,null,null,null,null)),(l()(),e["ɵeld"](72,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Mutual Password"])),(l()(),e["ɵeld"](74,0,null,0,17,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](75,0,null,null,12,"div",[["class","input-group"]],null,null,null,null,null)),(l()(),e["ɵeld"](76,0,null,null,6,"input",[["autocomplete","new-password"],["class","form-control"],["formControlName","mutual_password"],["id","target_mutual_password"],["name","target_mutual_password"],["type","password"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var a=!0;return"input"===n&&(a=!1!==e["ɵnov"](l,77)._handleInput(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,77).onTouched()&&a),"compositionstart"===n&&(a=!1!==e["ɵnov"](l,77)._compositionStart()&&a),"compositionend"===n&&(a=!1!==e["ɵnov"](l,77)._compositionEnd(u.target.value)&&a),a}),null,null)),e["ɵdid"](77,16384,null,0,el.e,[e.Renderer2,e.ElementRef,[2,el.b]],null,null),e["ɵprd"](1024,null,el.p,(function(l){return[l]}),[el.e]),e["ɵdid"](79,671744,[[15,4]],0,el.j,[[3,el.d],[8,null],[8,null],[6,el.p],[2,el.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,el.q,null,[el.j]),e["ɵdid"](81,16384,null,0,el.r,[[4,el.q]],null,null),e["ɵdid"](82,16384,null,0,Tl.h,[[3,el.d],Tl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](83,0,null,null,4,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),e["ɵeld"](84,0,null,null,1,"button",[["cdPasswordButton","target_mutual_password"],["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var a=!0;return"click"===n&&(a=!1!==e["ɵnov"](l,85).onClick()&&a),a}),null,null)),e["ɵdid"](85,81920,null,0,Ne.a,[e.ElementRef,e.Renderer2],{cdPasswordButton:[0,"cdPasswordButton"]},null),(l()(),e["ɵeld"](86,0,null,null,1,"button",[["cdCopy2ClipboardButton","target_mutual_password"],["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var a=!0;return"click"===n&&(a=!1!==e["ɵnov"](l,87).onClick()&&a),a}),null,null)),e["ɵdid"](87,81920,null,0,we.a,[e.ElementRef,e.Renderer2,Te.j],{cdCopy2ClipboardButton:[0,"cdCopy2ClipboardButton"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Ze)),e["ɵdid"](89,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,We)),e["ɵdid"](91,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,1,0,"auth"),l(n,5,0),l(n,15,0,"user"),l(n,18,0,"user"),l(n,20,0,u.targetForm.showError("user",e["ɵnov"](n.parent,2),"required")),l(n,22,0,u.targetForm.showError("user",e["ɵnov"](n.parent,2),"pattern")),l(n,24,0),l(n,35,0,"password"),l(n,38,0,"password"),l(n,41,0,"target_password"),l(n,43,0,"target_password"),l(n,45,0,u.targetForm.showError("password",e["ɵnov"](n.parent,2),"required")),l(n,47,0,u.targetForm.showError("password",e["ɵnov"](n.parent,2),"pattern")),l(n,49,0),l(n,59,0,"mutual_user"),l(n,62,0,"mutual_user"),l(n,64,0,u.targetForm.showError("mutual_user",e["ɵnov"](n.parent,2),"required")),l(n,66,0,u.targetForm.showError("mutual_user",e["ɵnov"](n.parent,2),"pattern")),l(n,68,0),l(n,79,0,"mutual_password"),l(n,82,0,"mutual_password"),l(n,85,0,"target_mutual_password"),l(n,87,0,"target_mutual_password"),l(n,89,0,u.targetForm.showError("mutual_password",e["ɵnov"](n.parent,2),"required")),l(n,91,0,u.targetForm.showError("mutual_password",e["ɵnov"](n.parent,2),"pattern"))}),(function(l,n){l(n,0,0,e["ɵnov"](n,3).ngClassUntouched,e["ɵnov"](n,3).ngClassTouched,e["ɵnov"](n,3).ngClassPristine,e["ɵnov"](n,3).ngClassDirty,e["ɵnov"](n,3).ngClassValid,e["ɵnov"](n,3).ngClassInvalid,e["ɵnov"](n,3).ngClassPending),l(n,4,0,e["ɵnov"](n,5).hasErrors,e["ɵnov"](n,5).hasSuccess),l(n,12,0,e["ɵnov"](n,17).ngClassUntouched,e["ɵnov"](n,17).ngClassTouched,e["ɵnov"](n,17).ngClassPristine,e["ɵnov"](n,17).ngClassDirty,e["ɵnov"](n,17).ngClassValid,e["ɵnov"](n,17).ngClassInvalid,e["ɵnov"](n,17).ngClassPending,e["ɵnov"](n,18).validClass,e["ɵnov"](n,18).invalidClass),l(n,23,0,e["ɵnov"](n,24).hasErrors,e["ɵnov"](n,24).hasSuccess),l(n,32,0,e["ɵnov"](n,37).ngClassUntouched,e["ɵnov"](n,37).ngClassTouched,e["ɵnov"](n,37).ngClassPristine,e["ɵnov"](n,37).ngClassDirty,e["ɵnov"](n,37).ngClassValid,e["ɵnov"](n,37).ngClassInvalid,e["ɵnov"](n,37).ngClassPending,e["ɵnov"](n,38).validClass,e["ɵnov"](n,38).invalidClass),l(n,48,0,e["ɵnov"](n,49).hasErrors,e["ɵnov"](n,49).hasSuccess),l(n,56,0,e["ɵnov"](n,61).ngClassUntouched,e["ɵnov"](n,61).ngClassTouched,e["ɵnov"](n,61).ngClassPristine,e["ɵnov"](n,61).ngClassDirty,e["ɵnov"](n,61).ngClassValid,e["ɵnov"](n,61).ngClassInvalid,e["ɵnov"](n,61).ngClassPending,e["ɵnov"](n,62).validClass,e["ɵnov"](n,62).invalidClass),l(n,67,0,e["ɵnov"](n,68).hasErrors,e["ɵnov"](n,68).hasSuccess),l(n,76,0,e["ɵnov"](n,81).ngClassUntouched,e["ɵnov"](n,81).ngClassTouched,e["ɵnov"](n,81).ngClassPristine,e["ɵnov"](n,81).ngClassDirty,e["ɵnov"](n,81).ngClassValid,e["ɵnov"](n,81).ngClassInvalid,e["ɵnov"](n,81).ngClassPending,e["ɵnov"](n,82).validClass,e["ɵnov"](n,82).invalidClass)}))}function Ye(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Initiator IQN needs to be unique."]))],null,null)}function Xe(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function la(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["IQN has wrong pattern."]))],null,null)}function na(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function ua(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["User names must have a length of 8 to 64 characters and can contain alphanumeric characters, '.', '@', '-', '_' or ':'."]))],null,null)}function ea(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function aa(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Passwords must have a length of 12 to 16 characters and can contain alphanumeric characters, '@', '-', '_' or '/'."]))],null,null)}function ta(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function oa(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["User names must have a length of 8 to 64 characters and can contain alphanumeric characters, '.', '@', '-', '_' or ':'."]))],null,null)}function da(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function ia(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Passwords must have a length of 12 to 16 characters and can contain alphanumeric characters, '@', '-', '_' or '/'."]))],null,null)}function ra(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,8,null,null,null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,7,"div",[["class","input-group cd-mb"]],null,null,null,null,null)),(l()(),e["ɵeld"](2,0,null,null,0,"input",[["class","cd-form-control"],["disabled",""],["type","text"]],[[8,"value",0]],null,null,null,null)),(l()(),e["ɵeld"](3,0,null,null,5,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),e["ɵeld"](4,0,null,null,4,"button",[["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(e=!1!==l.component.removeInitiatorImage(l.parent.context.$implicit,l.context.index,l.parent.context.index,l.context.$implicit)&&e),e}),null,null)),(l()(),e["ɵeld"](5,0,null,null,3,"i",[["aria-hidden","true"]],null,null,null,null,null)),e["ɵprd"](512,null,D["ɵNgClassImpl"],D["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](7,278528,null,0,D.NgClass,[D["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](8,1)],(function(l,n){var u=l(n,8,0,n.component.icons.destroy);l(n,7,0,u)}),(function(l,n){l(n,2,0,n.context.$implicit)}))}function sa(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Initiator belongs to a group. Images will be configure in the group."]))],null,null)}function ca(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,9,"div",[["class","row"]],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,8,"div",[["class","col-md-12"]],null,null,null,null,null)),(l()(),e["ɵeld"](2,0,null,null,7,"cd-select",[["elemClass","btn btn-light float-right"]],null,null,null,Ee.b,Ee.a)),e["ɵdid"](3,638976,null,0,ye.a,[A.a],{elemClass:[0,"elemClass"],data:[1,"data"],options:[2,"options"],messages:[3,"messages"]},null),(l()(),e["ɵeld"](4,0,null,0,3,"i",[],null,null,null,null,null)),e["ɵprd"](512,null,D["ɵNgClassImpl"],D["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](6,278528,null,0,D.NgClass,[D["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](7,1),(l()(),e["ɵeld"](8,0,null,0,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Add image"]))],(function(l,n){var u=n.component,e=n.parent.context.$implicit.getValue("luns");l(n,3,0,"btn btn-light float-right",e,u.imagesInitiatorSelections[n.parent.context.index],u.messages.initiatorImage);var a=l(n,7,0,u.icons.add);l(n,6,0,a)}),null)}function pa(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,136,"div",[["class","card mb-2"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],null,null,null,null)),e["ɵdid"](1,212992,null,0,el.m,[[3,el.d],[8,null],[8,null]],{name:[0,"name"]},null),e["ɵprd"](2048,null,el.d,null,[el.m]),e["ɵdid"](3,16384,null,0,el.s,[[4,el.d]],null,null),(l()(),e["ɵeld"](4,0,null,null,8,"div",[["class","card-header"]],null,null,null,null,null)),(l()(),e["ɵeld"](5,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Initiator"])),(l()(),e["ɵted"](7,null,[": "," "])),(l()(),e["ɵeld"](8,0,null,null,4,"button",[["class","close"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(e=!1!==l.component.removeInitiator(l.context.index)&&e),e}),null,null)),(l()(),e["ɵeld"](9,0,null,null,3,"i",[],null,null,null,null,null)),e["ɵprd"](512,null,D["ɵNgClassImpl"],D["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](11,278528,null,0,D.NgClass,[D["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](12,1),(l()(),e["ɵeld"](13,0,null,null,123,"div",[["class","card-body"]],null,null,null,null,null)),(l()(),e["ɵeld"](14,0,null,null,20,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Ln.b,Ln.a)),e["ɵdid"](15,1163264,null,2,Tl.c,[e.ElementRef,Tl.g],null,null),e["ɵqud"](603979776,19,{FormControlNames:1}),e["ɵqud"](603979776,20,{messagesBlock:0}),(l()(),e["ɵeld"](18,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","client_iqn"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Client IQN"])),(l()(),e["ɵeld"](20,0,null,0,14,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](21,0,null,null,7,"input",[["cdTrim",""],["class","form-control"],["formControlName","client_iqn"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"blur"],[null,"input"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var a=!0,t=l.component;return"input"===n&&(a=!1!==e["ɵnov"](l,22)._handleInput(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,22).onTouched()&&a),"compositionstart"===n&&(a=!1!==e["ɵnov"](l,22)._compositionStart()&&a),"compositionend"===n&&(a=!1!==e["ɵnov"](l,22)._compositionEnd(u.target.value)&&a),"input"===n&&(a=!1!==e["ɵnov"](l,27).onInput(u.target.value)&&a),"blur"===n&&(a=!1!==t.updatedInitiatorSelector()&&a),a}),null,null)),e["ɵdid"](22,16384,null,0,el.e,[e.Renderer2,e.ElementRef,[2,el.b]],null,null),e["ɵprd"](1024,null,el.p,(function(l){return[l]}),[el.e]),e["ɵdid"](24,671744,[[19,4]],0,el.j,[[3,el.d],[8,null],[8,null],[6,el.p],[2,el.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,el.q,null,[el.j]),e["ɵdid"](26,16384,null,0,el.r,[[4,el.q]],null,null),e["ɵdid"](27,16384,null,0,qe,[el.q],null,null),e["ɵdid"](28,16384,null,0,Tl.h,[[3,el.d],Tl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Ye)),e["ɵdid"](30,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Xe)),e["ɵdid"](32,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,la)),e["ɵdid"](34,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](35,0,null,null,88,null,null,null,null,null,null,null)),e["ɵdid"](36,212992,null,0,el.m,[[3,el.d],[8,null],[8,null]],{name:[0,"name"]},null),e["ɵprd"](2048,null,el.d,null,[el.m]),e["ɵdid"](38,16384,null,0,el.s,[[4,el.d]],null,null),(l()(),e["ɵeld"](39,0,null,null,17,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Ln.b,Ln.a)),e["ɵdid"](40,1163264,null,2,Tl.c,[e.ElementRef,Tl.g],null,null),e["ɵqud"](603979776,21,{FormControlNames:1}),e["ɵqud"](603979776,22,{messagesBlock:0}),(l()(),e["ɵeld"](43,0,null,0,1,"label",[["class","cd-col-form-label"],["for","user"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["User"])),(l()(),e["ɵeld"](45,0,null,0,11,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](46,0,null,null,6,"input",[["class","form-control"],["formControlName","user"],["type","text"]],[[8,"id",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var a=!0;return"input"===n&&(a=!1!==e["ɵnov"](l,47)._handleInput(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,47).onTouched()&&a),"compositionstart"===n&&(a=!1!==e["ɵnov"](l,47)._compositionStart()&&a),"compositionend"===n&&(a=!1!==e["ɵnov"](l,47)._compositionEnd(u.target.value)&&a),a}),null,null)),e["ɵdid"](47,16384,null,0,el.e,[e.Renderer2,e.ElementRef,[2,el.b]],null,null),e["ɵprd"](1024,null,el.p,(function(l){return[l]}),[el.e]),e["ɵdid"](49,671744,[[21,4]],0,el.j,[[3,el.d],[8,null],[8,null],[6,el.p],[2,el.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,el.q,null,[el.j]),e["ɵdid"](51,16384,null,0,el.r,[[4,el.q]],null,null),e["ɵdid"](52,16384,null,0,Tl.h,[[3,el.d],Tl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,na)),e["ɵdid"](54,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,ua)),e["ɵdid"](56,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](57,0,null,null,23,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Ln.b,Ln.a)),e["ɵdid"](58,1163264,null,2,Tl.c,[e.ElementRef,Tl.g],null,null),e["ɵqud"](603979776,23,{FormControlNames:1}),e["ɵqud"](603979776,24,{messagesBlock:0}),(l()(),e["ɵeld"](61,0,null,0,1,"label",[["class","cd-col-form-label"],["for","password"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Password"])),(l()(),e["ɵeld"](63,0,null,0,17,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](64,0,null,null,12,"div",[["class","input-group"]],null,null,null,null,null)),(l()(),e["ɵeld"](65,0,null,null,6,"input",[["class","form-control"],["formControlName","password"],["type","password"]],[[8,"id",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var a=!0;return"input"===n&&(a=!1!==e["ɵnov"](l,66)._handleInput(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,66).onTouched()&&a),"compositionstart"===n&&(a=!1!==e["ɵnov"](l,66)._compositionStart()&&a),"compositionend"===n&&(a=!1!==e["ɵnov"](l,66)._compositionEnd(u.target.value)&&a),a}),null,null)),e["ɵdid"](66,16384,null,0,el.e,[e.Renderer2,e.ElementRef,[2,el.b]],null,null),e["ɵprd"](1024,null,el.p,(function(l){return[l]}),[el.e]),e["ɵdid"](68,671744,[[23,4]],0,el.j,[[3,el.d],[8,null],[8,null],[6,el.p],[2,el.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,el.q,null,[el.j]),e["ɵdid"](70,16384,null,0,el.r,[[4,el.q]],null,null),e["ɵdid"](71,16384,null,0,Tl.h,[[3,el.d],Tl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](72,0,null,null,4,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),e["ɵeld"](73,0,null,null,1,"button",[["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var a=!0;return"click"===n&&(a=!1!==e["ɵnov"](l,74).onClick()&&a),a}),null,null)),e["ɵdid"](74,81920,null,0,Ne.a,[e.ElementRef,e.Renderer2],{cdPasswordButton:[0,"cdPasswordButton"]},null),(l()(),e["ɵeld"](75,0,null,null,1,"button",[["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var a=!0;return"click"===n&&(a=!1!==e["ɵnov"](l,76).onClick()&&a),a}),null,null)),e["ɵdid"](76,81920,null,0,we.a,[e.ElementRef,e.Renderer2,Te.j],{cdCopy2ClipboardButton:[0,"cdCopy2ClipboardButton"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,ea)),e["ɵdid"](78,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,aa)),e["ɵdid"](80,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](81,0,null,null,18,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Ln.b,Ln.a)),e["ɵdid"](82,1163264,null,2,Tl.c,[e.ElementRef,Tl.g],null,null),e["ɵqud"](603979776,25,{FormControlNames:1}),e["ɵqud"](603979776,26,{messagesBlock:0}),(l()(),e["ɵeld"](85,0,null,0,2,"label",[["class","cd-col-form-label"],["for","mutual_user"]],null,null,null,null,null)),(l()(),e["ɵeld"](86,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Mutual User"])),(l()(),e["ɵeld"](88,0,null,0,11,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](89,0,null,null,6,"input",[["class","form-control"],["formControlName","mutual_user"],["type","text"]],[[8,"id",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var a=!0;return"input"===n&&(a=!1!==e["ɵnov"](l,90)._handleInput(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,90).onTouched()&&a),"compositionstart"===n&&(a=!1!==e["ɵnov"](l,90)._compositionStart()&&a),"compositionend"===n&&(a=!1!==e["ɵnov"](l,90)._compositionEnd(u.target.value)&&a),a}),null,null)),e["ɵdid"](90,16384,null,0,el.e,[e.Renderer2,e.ElementRef,[2,el.b]],null,null),e["ɵprd"](1024,null,el.p,(function(l){return[l]}),[el.e]),e["ɵdid"](92,671744,[[25,4]],0,el.j,[[3,el.d],[8,null],[8,null],[6,el.p],[2,el.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,el.q,null,[el.j]),e["ɵdid"](94,16384,null,0,el.r,[[4,el.q]],null,null),e["ɵdid"](95,16384,null,0,Tl.h,[[3,el.d],Tl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,ta)),e["ɵdid"](97,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,oa)),e["ɵdid"](99,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](100,0,null,null,23,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Ln.b,Ln.a)),e["ɵdid"](101,1163264,null,2,Tl.c,[e.ElementRef,Tl.g],null,null),e["ɵqud"](603979776,27,{FormControlNames:1}),e["ɵqud"](603979776,28,{messagesBlock:0}),(l()(),e["ɵeld"](104,0,null,0,1,"label",[["class","cd-col-form-label"],["for","mutual_password"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Mutual Password"])),(l()(),e["ɵeld"](106,0,null,0,17,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](107,0,null,null,12,"div",[["class","input-group"]],null,null,null,null,null)),(l()(),e["ɵeld"](108,0,null,null,6,"input",[["class","form-control"],["formControlName","mutual_password"],["type","password"]],[[8,"id",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var a=!0;return"input"===n&&(a=!1!==e["ɵnov"](l,109)._handleInput(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,109).onTouched()&&a),"compositionstart"===n&&(a=!1!==e["ɵnov"](l,109)._compositionStart()&&a),"compositionend"===n&&(a=!1!==e["ɵnov"](l,109)._compositionEnd(u.target.value)&&a),a}),null,null)),e["ɵdid"](109,16384,null,0,el.e,[e.Renderer2,e.ElementRef,[2,el.b]],null,null),e["ɵprd"](1024,null,el.p,(function(l){return[l]}),[el.e]),e["ɵdid"](111,671744,[[27,4]],0,el.j,[[3,el.d],[8,null],[8,null],[6,el.p],[2,el.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,el.q,null,[el.j]),e["ɵdid"](113,16384,null,0,el.r,[[4,el.q]],null,null),e["ɵdid"](114,16384,null,0,Tl.h,[[3,el.d],Tl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](115,0,null,null,4,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),e["ɵeld"](116,0,null,null,1,"button",[["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var a=!0;return"click"===n&&(a=!1!==e["ɵnov"](l,117).onClick()&&a),a}),null,null)),e["ɵdid"](117,81920,null,0,Ne.a,[e.ElementRef,e.Renderer2],{cdPasswordButton:[0,"cdPasswordButton"]},null),(l()(),e["ɵeld"](118,0,null,null,1,"button",[["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var a=!0;return"click"===n&&(a=!1!==e["ɵnov"](l,119).onClick()&&a),a}),null,null)),e["ɵdid"](119,81920,null,0,we.a,[e.ElementRef,e.Renderer2,Te.j],{cdCopy2ClipboardButton:[0,"cdCopy2ClipboardButton"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,da)),e["ɵdid"](121,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,ia)),e["ɵdid"](123,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](124,0,null,null,12,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Ln.b,Ln.a)),e["ɵdid"](125,1163264,null,2,Tl.c,[e.ElementRef,Tl.g],null,null),e["ɵqud"](603979776,29,{FormControlNames:1}),e["ɵqud"](603979776,30,{messagesBlock:0}),(l()(),e["ɵeld"](128,0,null,0,1,"label",[["class","cd-col-form-label"],["for","luns"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Images"])),(l()(),e["ɵeld"](130,0,null,0,6,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,ra)),e["ɵdid"](132,278528,null,0,D.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,sa)),e["ɵdid"](134,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,ca)),e["ɵdid"](136,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,1,0,n.context.index);var a=l(n,12,0,u.icons.destroy);l(n,11,0,a),l(n,15,0),l(n,24,0,"client_iqn"),l(n,28,0,"client_iqn");var t=n.context.$implicit.showError("client_iqn",e["ɵnov"](n.parent.parent,2),"notUnique");l(n,30,0,t);var o=n.context.$implicit.showError("client_iqn",e["ɵnov"](n.parent.parent,2),"required");l(n,32,0,o);var d=n.context.$implicit.showError("client_iqn",e["ɵnov"](n.parent.parent,2),"pattern");l(n,34,0,d),l(n,36,0,"auth"),l(n,40,0),l(n,49,0,"user"),l(n,52,0,"user");var i=n.context.$implicit.showError("user",e["ɵnov"](n.parent.parent,2),"required");l(n,54,0,i);var r=n.context.$implicit.showError("user",e["ɵnov"](n.parent.parent,2),"pattern");l(n,56,0,r),l(n,58,0),l(n,68,0,"password"),l(n,71,0,"password"),l(n,74,0,"password"+n.context.index),l(n,76,0,"password"+n.context.index);var s=n.context.$implicit.showError("password",e["ɵnov"](n.parent.parent,2),"required");l(n,78,0,s);var c=n.context.$implicit.showError("password",e["ɵnov"](n.parent.parent,2),"pattern");l(n,80,0,c),l(n,82,0),l(n,92,0,"mutual_user"),l(n,95,0,"mutual_user");var p=n.context.$implicit.showError("mutual_user",e["ɵnov"](n.parent.parent,2),"required");l(n,97,0,p);var m=n.context.$implicit.showError("mutual_user",e["ɵnov"](n.parent.parent,2),"pattern");l(n,99,0,m),l(n,101,0),l(n,111,0,"mutual_password"),l(n,114,0,"mutual_password"),l(n,117,0,"mutual_password"+n.context.index),l(n,119,0,"mutual_password"+n.context.index);var g=n.context.$implicit.showError("mutual_password",e["ɵnov"](n.parent.parent,2),"required");l(n,121,0,g);var f=n.context.$implicit.showError("mutual_password",e["ɵnov"](n.parent.parent,2),"pattern");l(n,123,0,f),l(n,125,0);var v=n.context.$implicit.getValue("luns");l(n,132,0,v);var C=n.context.$implicit.getValue("cdIsInGroup");l(n,134,0,C);var h=!n.context.$implicit.getValue("cdIsInGroup");l(n,136,0,h)}),(function(l,n){l(n,0,0,e["ɵnov"](n,3).ngClassUntouched,e["ɵnov"](n,3).ngClassTouched,e["ɵnov"](n,3).ngClassPristine,e["ɵnov"](n,3).ngClassDirty,e["ɵnov"](n,3).ngClassValid,e["ɵnov"](n,3).ngClassInvalid,e["ɵnov"](n,3).ngClassPending);var u=n.context.$implicit.getValue("client_iqn");l(n,7,0,u),l(n,14,0,e["ɵnov"](n,15).hasErrors,e["ɵnov"](n,15).hasSuccess),l(n,21,0,e["ɵnov"](n,26).ngClassUntouched,e["ɵnov"](n,26).ngClassTouched,e["ɵnov"](n,26).ngClassPristine,e["ɵnov"](n,26).ngClassDirty,e["ɵnov"](n,26).ngClassValid,e["ɵnov"](n,26).ngClassInvalid,e["ɵnov"](n,26).ngClassPending,e["ɵnov"](n,28).validClass,e["ɵnov"](n,28).invalidClass),l(n,39,0,e["ɵnov"](n,40).hasErrors,e["ɵnov"](n,40).hasSuccess),l(n,46,0,"user"+n.context.index,e["ɵnov"](n,51).ngClassUntouched,e["ɵnov"](n,51).ngClassTouched,e["ɵnov"](n,51).ngClassPristine,e["ɵnov"](n,51).ngClassDirty,e["ɵnov"](n,51).ngClassValid,e["ɵnov"](n,51).ngClassInvalid,e["ɵnov"](n,51).ngClassPending,e["ɵnov"](n,52).validClass,e["ɵnov"](n,52).invalidClass),l(n,57,0,e["ɵnov"](n,58).hasErrors,e["ɵnov"](n,58).hasSuccess),l(n,65,0,"password"+n.context.index,e["ɵnov"](n,70).ngClassUntouched,e["ɵnov"](n,70).ngClassTouched,e["ɵnov"](n,70).ngClassPristine,e["ɵnov"](n,70).ngClassDirty,e["ɵnov"](n,70).ngClassValid,e["ɵnov"](n,70).ngClassInvalid,e["ɵnov"](n,70).ngClassPending,e["ɵnov"](n,71).validClass,e["ɵnov"](n,71).invalidClass),l(n,81,0,e["ɵnov"](n,82).hasErrors,e["ɵnov"](n,82).hasSuccess),l(n,89,0,"mutual_user"+n.context.index,e["ɵnov"](n,94).ngClassUntouched,e["ɵnov"](n,94).ngClassTouched,e["ɵnov"](n,94).ngClassPristine,e["ɵnov"](n,94).ngClassDirty,e["ɵnov"](n,94).ngClassValid,e["ɵnov"](n,94).ngClassInvalid,e["ɵnov"](n,94).ngClassPending,e["ɵnov"](n,95).validClass,e["ɵnov"](n,95).invalidClass),l(n,100,0,e["ɵnov"](n,101).hasErrors,e["ɵnov"](n,101).hasSuccess),l(n,108,0,"mutual_password"+n.context.index,e["ɵnov"](n,113).ngClassUntouched,e["ɵnov"](n,113).ngClassTouched,e["ɵnov"](n,113).ngClassPristine,e["ɵnov"](n,113).ngClassDirty,e["ɵnov"](n,113).ngClassValid,e["ɵnov"](n,113).ngClassInvalid,e["ɵnov"](n,113).ngClassPending,e["ɵnov"](n,114).validClass,e["ɵnov"](n,114).invalidClass),l(n,124,0,e["ɵnov"](n,125).hasErrors,e["ɵnov"](n,125).hasSuccess)}))}function ma(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","form-text text-muted"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["No items added."]))],null,null)}function ga(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,23,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Ln.b,Ln.a)),e["ɵdid"](1,1163264,null,2,Tl.c,[e.ElementRef,Tl.g],null,null),e["ɵqud"](603979776,17,{FormControlNames:1}),e["ɵqud"](603979776,18,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label"],["for","initiators"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Initiators"])),(l()(),e["ɵeld"](6,0,null,0,17,"div",[["class","cd-col-form-input"],["formArrayName","initiators"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],null,null,null,null)),e["ɵdid"](7,212992,null,0,el.g,[[3,el.d],[8,null],[8,null]],{name:[0,"name"]},null),e["ɵprd"](2048,null,el.d,null,[el.g]),e["ɵdid"](9,16384,null,0,el.s,[[4,el.d]],null,null),(l()(),e["ɵand"](16777216,null,null,1,null,pa)),e["ɵdid"](11,278528,null,0,D.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),e["ɵeld"](12,0,null,null,10,"div",[["class","row"]],null,null,null,null,null)),(l()(),e["ɵeld"](13,0,null,null,9,"div",[["class","col-md-12"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,ma)),e["ɵdid"](15,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](16,0,null,null,6,"button",[["class","btn btn-light float-right"]],null,[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(l.component.addInitiator(),e=!1),e}),null,null)),(l()(),e["ɵeld"](17,0,null,null,3,"i",[],null,null,null,null,null)),e["ɵprd"](512,null,D["ɵNgClassImpl"],D["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](19,278528,null,0,D.NgClass,[D["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](20,1),(l()(),e["ɵeld"](21,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Add initiator"])),(l()(),e["ɵeld"](23,0,null,null,0,"hr",[],null,null,null,null,null))],(function(l,n){var u=n.component;l(n,1,0),l(n,7,0,"initiators"),l(n,11,0,u.initiators.controls),l(n,15,0,0===u.initiators.controls.length);var e=l(n,20,0,u.icons.add);l(n,19,0,e)}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,6,0,e["ɵnov"](n,9).ngClassUntouched,e["ɵnov"](n,9).ngClassTouched,e["ɵnov"](n,9).ngClassPristine,e["ɵnov"](n,9).ngClassDirty,e["ɵnov"](n,9).ngClassValid,e["ɵnov"](n,9).ngClassInvalid,e["ɵnov"](n,9).ngClassPending)}))}function fa(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,8,null,null,null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,7,"div",[["class","input-group cd-mb"]],null,null,null,null,null)),(l()(),e["ɵeld"](2,0,null,null,0,"input",[["class","cd-form-control"],["disabled",""],["type","text"]],[[8,"value",0]],null,null,null,null)),(l()(),e["ɵeld"](3,0,null,null,5,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),e["ɵeld"](4,0,null,null,4,"button",[["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(e=!1!==l.component.removeGroupInitiator(l.parent.context.$implicit,l.context.index,l.parent.context.index)&&e),e}),null,null)),(l()(),e["ɵeld"](5,0,null,null,3,"i",[["aria-hidden","true"]],null,null,null,null,null)),e["ɵprd"](512,null,D["ɵNgClassImpl"],D["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](7,278528,null,0,D.NgClass,[D["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](8,1)],(function(l,n){var u=l(n,8,0,n.component.icons.destroy);l(n,7,0,u)}),(function(l,n){l(n,2,0,n.context.$implicit)}))}function va(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,8,null,null,null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,7,"div",[["class","input-group cd-mb"]],null,null,null,null,null)),(l()(),e["ɵeld"](2,0,null,null,0,"input",[["class","cd-form-control"],["disabled",""],["type","text"]],[[8,"value",0]],null,null,null,null)),(l()(),e["ɵeld"](3,0,null,null,5,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),e["ɵeld"](4,0,null,null,4,"button",[["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(e=!1!==l.component.removeGroupDisk(l.parent.context.$implicit,l.context.index,l.parent.context.index)&&e),e}),null,null)),(l()(),e["ɵeld"](5,0,null,null,3,"i",[["aria-hidden","true"]],null,null,null,null,null)),e["ɵprd"](512,null,D["ɵNgClassImpl"],D["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](7,278528,null,0,D.NgClass,[D["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](8,1)],(function(l,n){var u=l(n,8,0,n.component.icons.destroy);l(n,7,0,u)}),(function(l,n){l(n,2,0,n.context.$implicit)}))}function Ca(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,69,"div",[["class","card mb-2"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],null,null,null,null)),e["ɵdid"](1,212992,null,0,el.m,[[3,el.d],[8,null],[8,null]],{name:[0,"name"]},null),e["ɵprd"](2048,null,el.d,null,[el.m]),e["ɵdid"](3,16384,null,0,el.s,[[4,el.d]],null,null),(l()(),e["ɵeld"](4,0,null,null,8,"div",[["class","card-header"]],null,null,null,null,null)),(l()(),e["ɵeld"](5,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Group"])),(l()(),e["ɵted"](7,null,[": "," "])),(l()(),e["ɵeld"](8,0,null,null,4,"button",[["class","close"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(e=!1!==l.component.groups.removeAt(l.context.index)&&e),e}),null,null)),(l()(),e["ɵeld"](9,0,null,null,3,"i",[],null,null,null,null,null)),e["ɵprd"](512,null,D["ɵNgClassImpl"],D["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](11,278528,null,0,D.NgClass,[D["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](12,1),(l()(),e["ɵeld"](13,0,null,null,56,"div",[["class","card-body"]],null,null,null,null,null)),(l()(),e["ɵeld"](14,0,null,null,13,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Ln.b,Ln.a)),e["ɵdid"](15,1163264,null,2,Tl.c,[e.ElementRef,Tl.g],null,null),e["ɵqud"](603979776,33,{FormControlNames:1}),e["ɵqud"](603979776,34,{messagesBlock:0}),(l()(),e["ɵeld"](18,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","group_id"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Name"])),(l()(),e["ɵeld"](20,0,null,0,7,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](21,0,null,null,6,"input",[["class","form-control"],["formControlName","group_id"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var a=!0;return"input"===n&&(a=!1!==e["ɵnov"](l,22)._handleInput(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,22).onTouched()&&a),"compositionstart"===n&&(a=!1!==e["ɵnov"](l,22)._compositionStart()&&a),"compositionend"===n&&(a=!1!==e["ɵnov"](l,22)._compositionEnd(u.target.value)&&a),a}),null,null)),e["ɵdid"](22,16384,null,0,el.e,[e.Renderer2,e.ElementRef,[2,el.b]],null,null),e["ɵprd"](1024,null,el.p,(function(l){return[l]}),[el.e]),e["ɵdid"](24,671744,[[33,4]],0,el.j,[[3,el.d],[8,null],[8,null],[6,el.p],[2,el.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,el.q,null,[el.j]),e["ɵdid"](26,16384,null,0,el.r,[[4,el.q]],null,null),e["ɵdid"](27,16384,null,0,Tl.h,[[3,el.d],Tl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](28,0,null,null,20,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Ln.b,Ln.a)),e["ɵdid"](29,1163264,null,2,Tl.c,[e.ElementRef,Tl.g],null,null),e["ɵqud"](603979776,35,{FormControlNames:1}),e["ɵqud"](603979776,36,{messagesBlock:0}),(l()(),e["ɵeld"](32,0,null,0,2,"label",[["class","cd-col-form-label"],["for","members"]],null,null,null,null,null)),(l()(),e["ɵeld"](33,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Initiators"])),(l()(),e["ɵeld"](35,0,null,0,13,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,fa)),e["ɵdid"](37,278528,null,0,D.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),e["ɵeld"](38,0,null,null,9,"div",[["class","row"]],null,null,null,null,null)),(l()(),e["ɵeld"](39,0,null,null,8,"div",[["class","col-md-12"]],null,null,null,null,null)),(l()(),e["ɵeld"](40,0,null,null,7,"cd-select",[["elemClass","btn btn-light float-right"]],null,[[null,"selection"]],(function(l,n,u){var e=!0;return"selection"===n&&(e=!1!==l.component.onGroupMemberSelection(u)&&e),e}),Ee.b,Ee.a)),e["ɵdid"](41,638976,null,0,ye.a,[A.a],{elemClass:[0,"elemClass"],data:[1,"data"],options:[2,"options"],messages:[3,"messages"]},{selection:"selection"}),(l()(),e["ɵeld"](42,0,null,0,3,"i",[],null,null,null,null,null)),e["ɵprd"](512,null,D["ɵNgClassImpl"],D["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](44,278528,null,0,D.NgClass,[D["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](45,1),(l()(),e["ɵeld"](46,0,null,0,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Add initiator"])),(l()(),e["ɵeld"](48,0,null,null,0,"hr",[],null,null,null,null,null)),(l()(),e["ɵeld"](49,0,null,null,20,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Ln.b,Ln.a)),e["ɵdid"](50,1163264,null,2,Tl.c,[e.ElementRef,Tl.g],null,null),e["ɵqud"](603979776,37,{FormControlNames:1}),e["ɵqud"](603979776,38,{messagesBlock:0}),(l()(),e["ɵeld"](53,0,null,0,2,"label",[["class","cd-col-form-label"],["for","disks"]],null,null,null,null,null)),(l()(),e["ɵeld"](54,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Images"])),(l()(),e["ɵeld"](56,0,null,0,13,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,va)),e["ɵdid"](58,278528,null,0,D.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),e["ɵeld"](59,0,null,null,9,"div",[["class","row"]],null,null,null,null,null)),(l()(),e["ɵeld"](60,0,null,null,8,"div",[["class","col-md-12"]],null,null,null,null,null)),(l()(),e["ɵeld"](61,0,null,null,7,"cd-select",[["elemClass","btn btn-light float-right"]],null,null,null,Ee.b,Ee.a)),e["ɵdid"](62,638976,null,0,ye.a,[A.a],{elemClass:[0,"elemClass"],data:[1,"data"],options:[2,"options"],messages:[3,"messages"]},null),(l()(),e["ɵeld"](63,0,null,0,3,"i",[],null,null,null,null,null)),e["ɵprd"](512,null,D["ɵNgClassImpl"],D["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](65,278528,null,0,D.NgClass,[D["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](66,1),(l()(),e["ɵeld"](67,0,null,0,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Add image"])),(l()(),e["ɵeld"](69,0,null,null,0,"hr",[],null,null,null,null,null))],(function(l,n){var u=n.component;l(n,1,0,n.context.index);var e=l(n,12,0,u.icons.destroy);l(n,11,0,e),l(n,15,0),l(n,24,0,"group_id"),l(n,27,0,"group_id"),l(n,29,0);var a=n.context.$implicit.getValue("members");l(n,37,0,a);var t=n.context.$implicit.getValue("members");l(n,41,0,"btn btn-light float-right",t,u.groupMembersSelections[n.context.index],u.messages.groupInitiator);var o=l(n,45,0,u.icons.add);l(n,44,0,o),l(n,50,0);var d=n.context.$implicit.getValue("disks");l(n,58,0,d);var i=n.context.$implicit.getValue("disks");l(n,62,0,"btn btn-light float-right",i,u.groupDiskSelections[n.context.index],u.messages.initiatorImage);var r=l(n,66,0,u.icons.add);l(n,65,0,r)}),(function(l,n){l(n,0,0,e["ɵnov"](n,3).ngClassUntouched,e["ɵnov"](n,3).ngClassTouched,e["ɵnov"](n,3).ngClassPristine,e["ɵnov"](n,3).ngClassDirty,e["ɵnov"](n,3).ngClassValid,e["ɵnov"](n,3).ngClassInvalid,e["ɵnov"](n,3).ngClassPending);var u=n.context.$implicit.getValue("group_id");l(n,7,0,u),l(n,14,0,e["ɵnov"](n,15).hasErrors,e["ɵnov"](n,15).hasSuccess),l(n,21,0,e["ɵnov"](n,26).ngClassUntouched,e["ɵnov"](n,26).ngClassTouched,e["ɵnov"](n,26).ngClassPristine,e["ɵnov"](n,26).ngClassDirty,e["ɵnov"](n,26).ngClassValid,e["ɵnov"](n,26).ngClassInvalid,e["ɵnov"](n,26).ngClassPending,e["ɵnov"](n,27).validClass,e["ɵnov"](n,27).invalidClass),l(n,28,0,e["ɵnov"](n,29).hasErrors,e["ɵnov"](n,29).hasSuccess),l(n,49,0,e["ɵnov"](n,50).hasErrors,e["ɵnov"](n,50).hasSuccess)}))}function ha(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","form-text text-muted"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["No items added."]))],null,null)}function ba(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,22,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Ln.b,Ln.a)),e["ɵdid"](1,1163264,null,2,Tl.c,[e.ElementRef,Tl.g],null,null),e["ɵqud"](603979776,31,{FormControlNames:1}),e["ɵqud"](603979776,32,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label"],["for","initiators"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Groups"])),(l()(),e["ɵeld"](6,0,null,0,16,"div",[["class","cd-col-form-input"],["formArrayName","groups"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],null,null,null,null)),e["ɵdid"](7,212992,null,0,el.g,[[3,el.d],[8,null],[8,null]],{name:[0,"name"]},null),e["ɵprd"](2048,null,el.d,null,[el.g]),e["ɵdid"](9,16384,null,0,el.s,[[4,el.d]],null,null),(l()(),e["ɵand"](16777216,null,null,1,null,Ca)),e["ɵdid"](11,278528,null,0,D.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),e["ɵeld"](12,0,null,null,10,"div",[["class","row"]],null,null,null,null,null)),(l()(),e["ɵeld"](13,0,null,null,9,"div",[["class","col-md-12"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,ha)),e["ɵdid"](15,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](16,0,null,null,6,"button",[["class","btn btn-light float-right"]],null,[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(l.component.addGroup(),e=!1),e}),null,null)),(l()(),e["ɵeld"](17,0,null,null,3,"i",[],null,null,null,null,null)),e["ɵprd"](512,null,D["ɵNgClassImpl"],D["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](19,278528,null,0,D.NgClass,[D["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](20,1),(l()(),e["ɵeld"](21,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Add group"]))],(function(l,n){var u=n.component;l(n,1,0),l(n,7,0,"groups"),l(n,11,0,u.groups.controls),l(n,15,0,0===u.groups.controls.length);var e=l(n,20,0,u.icons.add);l(n,19,0,e)}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,6,0,e["ɵnov"](n,9).ngClassUntouched,e["ɵnov"](n,9).ngClassTouched,e["ɵnov"](n,9).ngClassPristine,e["ɵnov"](n,9).ngClassDirty,e["ɵnov"](n,9).ngClassValid,e["ɵnov"](n,9).ngClassInvalid,e["ɵnov"](n,9).ngClassPending)}))}function Ia(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,133,"form",[["name","targetForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,u){var a=!0;return"submit"===n&&(a=!1!==e["ɵnov"](l,2).onSubmit(u)&&a),"reset"===n&&(a=!1!==e["ɵnov"](l,2).onReset()&&a),"submit"===n&&(a=!1!==e["ɵnov"](l,5).onSubmit()&&a),a}),null,null)),e["ɵdid"](1,16384,null,0,el.G,[],null,null),e["ɵdid"](2,540672,[["formDir",4]],0,el.l,[[8,null],[8,null]],{form:[0,"form"]},null),e["ɵprd"](2048,null,el.d,null,[el.l]),e["ɵdid"](4,16384,null,0,el.s,[[4,el.d]],null,null),e["ɵdid"](5,16384,null,0,Tl.d,[],{formGroup:[0,"formGroup"]},null),(l()(),e["ɵeld"](6,0,null,null,127,"div",[["class","card"]],null,null,null,null,null)),(l()(),e["ɵeld"](7,0,null,null,3,"div",[["class","card-header"]],null,null,null,null,null)),(l()(),e["ɵted"](8,null,[""," ",""])),e["ɵppd"](9,1),e["ɵppd"](10,1),(l()(),e["ɵeld"](11,0,null,null,113,"div",[["class","card-body"]],null,null,null,null,null)),(l()(),e["ɵeld"](12,0,null,null,30,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Ln.b,Ln.a)),e["ɵdid"](13,1163264,null,2,Tl.c,[e.ElementRef,Tl.g],null,null),e["ɵqud"](603979776,1,{FormControlNames:1}),e["ɵqud"](603979776,2,{messagesBlock:0}),(l()(),e["ɵeld"](16,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","target_iqn"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Target IQN"])),(l()(),e["ɵeld"](18,0,null,0,24,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](19,0,null,null,14,"div",[["class","input-group"]],null,null,null,null,null)),(l()(),e["ɵeld"](20,0,null,null,7,"input",[["cdTrim",""],["class","form-control"],["formControlName","target_iqn"],["id","target_iqn"],["name","target_iqn"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var a=!0;return"input"===n&&(a=!1!==e["ɵnov"](l,21)._handleInput(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,21).onTouched()&&a),"compositionstart"===n&&(a=!1!==e["ɵnov"](l,21)._compositionStart()&&a),"compositionend"===n&&(a=!1!==e["ɵnov"](l,21)._compositionEnd(u.target.value)&&a),"input"===n&&(a=!1!==e["ɵnov"](l,26).onInput(u.target.value)&&a),a}),null,null)),e["ɵdid"](21,16384,null,0,el.e,[e.Renderer2,e.ElementRef,[2,el.b]],null,null),e["ɵprd"](1024,null,el.p,(function(l){return[l]}),[el.e]),e["ɵdid"](23,671744,[[1,4]],0,el.j,[[3,el.d],[8,null],[8,null],[6,el.p],[2,el.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,el.q,null,[el.j]),e["ɵdid"](25,16384,null,0,el.r,[[4,el.q]],null,null),e["ɵdid"](26,16384,null,0,qe,[el.q],null,null),e["ɵdid"](27,16384,null,0,Tl.h,[[3,el.d],Tl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](28,0,null,null,5,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),e["ɵeld"](29,0,null,null,4,"button",[["class","btn btn-light"],["id","ecp-info-button"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(e=!1!==l.component.targetSettingsModal()&&e),e}),null,null)),(l()(),e["ɵeld"](30,0,null,null,3,"i",[["aria-hidden","true"]],null,null,null,null,null)),e["ɵprd"](512,null,D["ɵNgClassImpl"],D["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](32,278528,null,0,D.NgClass,[D["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](33,1),(l()(),e["ɵand"](16777216,null,null,1,null,_e)),e["ɵdid"](35,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,De)),e["ɵdid"](37,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Fe)),e["ɵdid"](39,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Pe)),e["ɵdid"](41,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](42,0,null,null,0,"hr",[],null,null,null,null,null)),(l()(),e["ɵeld"](43,0,null,null,28,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Ln.b,Ln.a)),e["ɵdid"](44,1163264,null,2,Tl.c,[e.ElementRef,Tl.g],null,null),e["ɵqud"](603979776,3,{FormControlNames:1}),e["ɵqud"](603979776,4,{messagesBlock:0}),(l()(),e["ɵeld"](47,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","portals"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Portals"])),(l()(),e["ɵeld"](49,0,null,0,22,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,Se)),e["ɵdid"](51,278528,null,0,D.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),e["ɵeld"](52,0,null,null,9,"div",[["class","row"]],null,null,null,null,null)),(l()(),e["ɵeld"](53,0,null,null,8,"div",[["class","col-md-12"]],null,null,null,null,null)),(l()(),e["ɵeld"](54,0,null,null,7,"cd-select",[["elemClass","btn btn-light float-right"]],null,[[null,"selection"]],(function(l,n,u){var e=!0;return"selection"===n&&(e=!1!==l.component.onPortalSelection(u)&&e),e}),Ee.b,Ee.a)),e["ɵdid"](55,638976,null,0,ye.a,[A.a],{elemClass:[0,"elemClass"],data:[1,"data"],options:[2,"options"],messages:[3,"messages"]},{selection:"selection"}),(l()(),e["ɵeld"](56,0,null,0,3,"i",[],null,null,null,null,null)),e["ɵprd"](512,null,D["ɵNgClassImpl"],D["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](58,278528,null,0,D.NgClass,[D["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](59,1),(l()(),e["ɵeld"](60,0,null,0,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Add portal"])),(l()(),e["ɵeld"](62,0,null,null,6,"input",[["class","form-control"],["formControlName","portals"],["id","portals"],["name","portals"],["type","hidden"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var a=!0;return"input"===n&&(a=!1!==e["ɵnov"](l,63)._handleInput(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,63).onTouched()&&a),"compositionstart"===n&&(a=!1!==e["ɵnov"](l,63)._compositionStart()&&a),"compositionend"===n&&(a=!1!==e["ɵnov"](l,63)._compositionEnd(u.target.value)&&a),a}),null,null)),e["ɵdid"](63,16384,null,0,el.e,[e.Renderer2,e.ElementRef,[2,el.b]],null,null),e["ɵprd"](1024,null,el.p,(function(l){return[l]}),[el.e]),e["ɵdid"](65,671744,[[3,4]],0,el.j,[[3,el.d],[8,null],[8,null],[6,el.p],[2,el.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,el.q,null,[el.j]),e["ɵdid"](67,16384,null,0,el.r,[[4,el.q]],null,null),e["ɵdid"](68,16384,null,0,Tl.h,[[3,el.d],Tl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Ae)),e["ɵdid"](70,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](71,0,null,null,0,"hr",[],null,null,null,null,null)),(l()(),e["ɵeld"](72,0,null,null,30,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Ln.b,Ln.a)),e["ɵdid"](73,1163264,null,2,Tl.c,[e.ElementRef,Tl.g],null,null),e["ɵqud"](603979776,5,{FormControlNames:1}),e["ɵqud"](603979776,6,{messagesBlock:0}),(l()(),e["ɵeld"](76,0,null,0,1,"label",[["class","cd-col-form-label"],["for","disks"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Images"])),(l()(),e["ɵeld"](78,0,null,0,24,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,Be)),e["ɵdid"](80,278528,null,0,D.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),e["ɵeld"](81,0,null,null,6,"input",[["class","form-control"],["formControlName","disks"],["id","disks"],["name","disks"],["type","hidden"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var a=!0;return"input"===n&&(a=!1!==e["ɵnov"](l,82)._handleInput(u.target.value)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,82).onTouched()&&a),"compositionstart"===n&&(a=!1!==e["ɵnov"](l,82)._compositionStart()&&a),"compositionend"===n&&(a=!1!==e["ɵnov"](l,82)._compositionEnd(u.target.value)&&a),a}),null,null)),e["ɵdid"](82,16384,null,0,el.e,[e.Renderer2,e.ElementRef,[2,el.b]],null,null),e["ɵprd"](1024,null,el.p,(function(l){return[l]}),[el.e]),e["ɵdid"](84,671744,[[5,4]],0,el.j,[[3,el.d],[8,null],[8,null],[6,el.p],[2,el.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,el.q,null,[el.j]),e["ɵdid"](86,16384,null,0,el.r,[[4,el.q]],null,null),e["ɵdid"](87,16384,null,0,Tl.h,[[3,el.d],Tl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,$e)),e["ɵdid"](89,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Me)),e["ɵdid"](91,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](92,0,null,null,9,"div",[["class","row"]],null,null,null,null,null)),(l()(),e["ɵeld"](93,0,null,null,8,"div",[["class","col-md-12"]],null,null,null,null,null)),(l()(),e["ɵeld"](94,0,null,null,7,"cd-select",[["elemClass","btn btn-light float-right"]],null,[[null,"selection"]],(function(l,n,u){var e=!0;return"selection"===n&&(e=!1!==l.component.onImageSelection(u)&&e),e}),Ee.b,Ee.a)),e["ɵdid"](95,638976,null,0,ye.a,[A.a],{elemClass:[0,"elemClass"],data:[1,"data"],options:[2,"options"],messages:[3,"messages"]},{selection:"selection"}),(l()(),e["ɵeld"](96,0,null,0,3,"i",[],null,null,null,null,null)),e["ɵprd"](512,null,D["ɵNgClassImpl"],D["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](98,278528,null,0,D.NgClass,[D["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),e["ɵpad"](99,1),(l()(),e["ɵeld"](100,0,null,0,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Add image"])),(l()(),e["ɵeld"](102,0,null,null,0,"hr",[],null,null,null,null,null)),(l()(),e["ɵeld"](103,0,null,null,15,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Ln.b,Ln.a)),e["ɵdid"](104,1163264,null,2,Tl.c,[e.ElementRef,Tl.g],null,null),e["ɵqud"](603979776,7,{FormControlNames:1}),e["ɵqud"](603979776,8,{messagesBlock:0}),(l()(),e["ɵeld"](107,0,null,0,11,"div",[["class","cd-col-form-offset"]],null,null,null,null,null)),(l()(),e["ɵeld"](108,0,null,null,9,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(l()(),e["ɵeld"](109,0,null,null,6,"input",[["class","custom-control-input"],["formControlName","acl_enabled"],["id","acl_enabled"],["name","acl_enabled"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var a=!0;return"change"===n&&(a=!1!==e["ɵnov"](l,110).onChange(u.target.checked)&&a),"blur"===n&&(a=!1!==e["ɵnov"](l,110).onTouched()&&a),a}),null,null)),e["ɵdid"](110,16384,null,0,el.c,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,el.p,(function(l){return[l]}),[el.c]),e["ɵdid"](112,671744,[[7,4]],0,el.j,[[3,el.d],[8,null],[8,null],[6,el.p],[2,el.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,el.q,null,[el.j]),e["ɵdid"](114,16384,null,0,el.r,[[4,el.q]],null,null),e["ɵdid"](115,16384,null,0,Tl.h,[[3,el.d],Tl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](116,0,null,null,1,"label",[["class","custom-control-label"],["for","acl_enabled"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["ACL authentication"])),(l()(),e["ɵeld"](118,0,null,null,0,"hr",[],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,Qe)),e["ɵdid"](120,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,ga)),e["ɵdid"](122,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,ba)),e["ɵdid"](124,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](125,0,null,null,8,"div",[["class","card-footer"]],null,null,null,null,null)),(l()(),e["ɵeld"](126,0,null,null,7,"div",[["class","button-group text-right"]],null,null,null,null,null)),(l()(),e["ɵeld"](127,0,null,null,4,"cd-submit-button",[],null,[[null,"submitAction"]],(function(l,n,u){var e=!0;return"submitAction"===n&&(e=!1!==l.component.submit()&&e),e}),Yn.b,Yn.a)),e["ɵdid"](128,114688,null,0,Xn.a,[e.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(l()(),e["ɵted"](129,0,[""," ",""])),e["ɵppd"](130,1),e["ɵppd"](131,1),(l()(),e["ɵeld"](132,0,null,null,1,"cd-back-button",[],null,null,null,lu.b,lu.a)),e["ɵdid"](133,49152,null,0,nu.a,[D.Location,Xl.b],null,null)],(function(l,n){var u=n.component;l(n,2,0,u.targetForm),l(n,5,0,u.targetForm),l(n,13,0),l(n,23,0,"target_iqn"),l(n,27,0,"target_iqn");var a=l(n,33,0,u.icons.deepCheck);l(n,32,0,a),l(n,35,0,u.targetForm.showError("target_iqn",e["ɵnov"](n,2),"required")),l(n,37,0,u.targetForm.showError("target_iqn",e["ɵnov"](n,2),"pattern")),l(n,39,0,u.targetForm.showError("target_iqn",e["ɵnov"](n,2),"iqn")),l(n,41,0,u.hasAdvancedSettings(u.targetForm.getValue("target_controls"))),l(n,44,0),l(n,51,0,u.portals.value),l(n,55,0,"btn btn-light float-right",u.portals.value,u.portalsSelections,u.messages.portals);var t=l(n,59,0,u.icons.add);l(n,58,0,t),l(n,65,0,"portals"),l(n,68,0,"portals"),l(n,70,0,u.targetForm.showError("portals",e["ɵnov"](n,2),"minGateways")),l(n,73,0),l(n,80,0,u.targetForm.getValue("disks")),l(n,84,0,"disks"),l(n,87,0,"disks"),l(n,89,0,u.targetForm.showError("disks",e["ɵnov"](n,2),"dupLunId")),l(n,91,0,u.targetForm.showError("disks",e["ɵnov"](n,2),"dupWwn")),l(n,95,0,"btn btn-light float-right",u.disks.value,u.imagesSelections,u.messages.images);var o=l(n,99,0,u.icons.add);l(n,98,0,o),l(n,104,0),l(n,112,0,"acl_enabled"),l(n,115,0,"acl_enabled"),l(n,120,0,u.cephIscsiConfigVersion>10&&!u.targetForm.getValue("acl_enabled")),l(n,122,0,u.targetForm.getValue("acl_enabled")),l(n,124,0,u.targetForm.getValue("acl_enabled")),l(n,128,0,e["ɵnov"](n,2))}),(function(l,n){var u=n.component;l(n,0,0,e["ɵnov"](n,4).ngClassUntouched,e["ɵnov"](n,4).ngClassTouched,e["ɵnov"](n,4).ngClassPristine,e["ɵnov"](n,4).ngClassDirty,e["ɵnov"](n,4).ngClassValid,e["ɵnov"](n,4).ngClassInvalid,e["ɵnov"](n,4).ngClassPending);var a=e["ɵunv"](n,8,0,l(n,9,0,e["ɵnov"](n.parent,0),u.action)),t=e["ɵunv"](n,8,1,l(n,10,0,e["ɵnov"](n.parent,1),u.resource));l(n,8,0,a,t),l(n,12,0,e["ɵnov"](n,13).hasErrors,e["ɵnov"](n,13).hasSuccess),l(n,20,0,e["ɵnov"](n,25).ngClassUntouched,e["ɵnov"](n,25).ngClassTouched,e["ɵnov"](n,25).ngClassPristine,e["ɵnov"](n,25).ngClassDirty,e["ɵnov"](n,25).ngClassValid,e["ɵnov"](n,25).ngClassInvalid,e["ɵnov"](n,25).ngClassPending,e["ɵnov"](n,27).validClass,e["ɵnov"](n,27).invalidClass),l(n,43,0,e["ɵnov"](n,44).hasErrors,e["ɵnov"](n,44).hasSuccess),l(n,62,0,e["ɵnov"](n,67).ngClassUntouched,e["ɵnov"](n,67).ngClassTouched,e["ɵnov"](n,67).ngClassPristine,e["ɵnov"](n,67).ngClassDirty,e["ɵnov"](n,67).ngClassValid,e["ɵnov"](n,67).ngClassInvalid,e["ɵnov"](n,67).ngClassPending,e["ɵnov"](n,68).validClass,e["ɵnov"](n,68).invalidClass),l(n,72,0,e["ɵnov"](n,73).hasErrors,e["ɵnov"](n,73).hasSuccess),l(n,81,0,e["ɵnov"](n,86).ngClassUntouched,e["ɵnov"](n,86).ngClassTouched,e["ɵnov"](n,86).ngClassPristine,e["ɵnov"](n,86).ngClassDirty,e["ɵnov"](n,86).ngClassValid,e["ɵnov"](n,86).ngClassInvalid,e["ɵnov"](n,86).ngClassPending,e["ɵnov"](n,87).validClass,e["ɵnov"](n,87).invalidClass),l(n,103,0,e["ɵnov"](n,104).hasErrors,e["ɵnov"](n,104).hasSuccess),l(n,109,0,e["ɵnov"](n,114).ngClassUntouched,e["ɵnov"](n,114).ngClassTouched,e["ɵnov"](n,114).ngClassPristine,e["ɵnov"](n,114).ngClassDirty,e["ɵnov"](n,114).ngClassValid,e["ɵnov"](n,114).ngClassInvalid,e["ɵnov"](n,114).ngClassPending,e["ɵnov"](n,115).validClass,e["ɵnov"](n,115).invalidClass);var o=e["ɵunv"](n,129,0,l(n,130,0,e["ɵnov"](n.parent,0),u.action)),d=e["ɵunv"](n,129,1,l(n,131,0,e["ɵnov"](n.parent,1),u.resource));l(n,129,0,o,d)}))}function Ra(l){return e["ɵvid"](0,[e["ɵpid"](0,D.TitleCasePipe,[]),e["ɵpid"](0,ll.a,[]),e["ɵpid"](0,L.a,[]),(l()(),e["ɵeld"](3,0,null,null,2,"div",[["class","cd-col-form"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,Ia)),e["ɵdid"](5,16384,null,0,D.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){l(n,5,0,n.component.targetForm)}),null)}function Na(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"cd-iscsi-target-form",[],null,null,null,Ra,xe)),e["ɵdid"](1,114688,null,0,ke.a,[Wu.a,sl.b,Ql.a,Cl.m,Cl.a,A.a,Yl.a,Xl.b],null,null)],(function(l,n){l(n,1,0)}),null)}var wa=e["ɵccf"]("cd-iscsi-target-form",ke.a,Na,{},{},[]),Ta=u("Vhfg"),Ea=u("cxJu");u.d(n,"BlockModuleNgFactory",(function(){return ya})),u.d(n,"RoutedBlockModuleNgFactory",(function(){return Va}));var ya=e["ɵcmf"](a.a,[],(function(l){return e["ɵmod"]([e["ɵmpd"](512,e.ComponentFactoryResolver,e["ɵCodegenComponentFactoryResolver"],[[8,[t.a,o.a,d.a,i.a,i.b,r.a,s.a,c.a,p.a,m.a,g.a,f.a,v.a,C.a,h.a,b.a,I.a,R.a,R.c,R.b,N.a,w.a,T.a,E.a,y.a,V.a,q.a,k.a,x.a,_.a]],[3,e.ComponentFactoryResolver],e.NgModuleRef]),e["ɵmpd"](4608,D.NgLocalization,D.NgLocaleLocalization,[e.LOCALE_ID,[2,D["ɵangular_packages_common_common_a"]]]),e["ɵmpd"](4608,F.a,F.a,[]),e["ɵmpd"](4608,P.a,P.a,[]),e["ɵmpd"](4608,S.a,S.a,[A.a]),e["ɵmpd"](4608,D.DatePipe,D.DatePipe,[e.LOCALE_ID]),e["ɵmpd"](4608,j.a,j.a,[]),e["ɵmpd"](4608,O.a,O.a,[]),e["ɵmpd"](4608,U.a,U.a,[]),e["ɵmpd"](4608,B.a,B.a,[U.a]),e["ɵmpd"](4608,$.a,$.a,[U.a]),e["ɵmpd"](4608,M.a,M.a,[U.a]),e["ɵmpd"](4608,z.a,z.a,[]),e["ɵmpd"](4608,L.a,L.a,[]),e["ɵmpd"](4608,G.a,G.a,[]),e["ɵmpd"](4608,K.a,K.a,[]),e["ɵmpd"](4608,H.a,H.a,[D.DatePipe]),e["ɵmpd"](4608,J.a,J.a,[]),e["ɵmpd"](4608,Z.a,Z.a,[]),e["ɵmpd"](4608,W.a,W.a,[]),e["ɵmpd"](4608,Q.a,Q.a,[]),e["ɵmpd"](4608,Y.a,Y.a,[]),e["ɵmpd"](4608,X.a,X.a,[A.a]),e["ɵmpd"](4608,ll.a,ll.a,[]),e["ɵmpd"](4608,nl.a,nl.a,[]),e["ɵmpd"](4608,ul.a,ul.a,[]),e["ɵmpd"](4608,el.D,el.D,[]),e["ɵmpd"](4608,el.h,el.h,[]),e["ɵmpd"](4608,al.b,al.b,[]),e["ɵmpd"](4608,tl.a,tl.a,[]),e["ɵmpd"](4608,ol.a,ol.a,[e.RendererFactory2,e.PLATFORM_ID]),e["ɵmpd"](4608,dl.a,dl.a,[e.ComponentFactoryResolver,e.NgZone,e.Injector,ol.a,e.ApplicationRef]),e["ɵmpd"](4608,il.c,il.c,[]),e["ɵmpd"](4608,rl.a,rl.a,[]),e["ɵmpd"](4608,sl.b,sl.b,[e.RendererFactory2,dl.a]),e["ɵmpd"](4608,cl.ScrollbarHelper,cl.ScrollbarHelper,[D.DOCUMENT]),e["ɵmpd"](4608,pl.DimensionsHelper,pl.DimensionsHelper,[]),e["ɵmpd"](4608,ml.ColumnChangesService,ml.ColumnChangesService,[]),e["ɵmpd"](4608,gl.f,gl.f,[]),e["ɵmpd"](4608,fl.a,fl.a,[]),e["ɵmpd"](4608,vl.a,vl.a,[Cl.m,fl.a]),e["ɵmpd"](4608,hl.f,hl.f,[]),e["ɵmpd"](4608,bl.r,bl.r,[]),e["ɵmpd"](4608,bl.t,bl.t,[]),e["ɵmpd"](4608,bl.a,bl.a,[]),e["ɵmpd"](4608,bl.h,bl.h,[]),e["ɵmpd"](4608,bl.d,bl.d,[]),e["ɵmpd"](4608,bl.j,bl.j,[]),e["ɵmpd"](4608,bl.s,bl.s,[bl.t,bl.j]),e["ɵmpd"](4608,Il.a,Il.a,[]),e["ɵmpd"](1073742336,D.CommonModule,D.CommonModule,[]),e["ɵmpd"](1073742336,hl.d,hl.d,[]),e["ɵmpd"](1073742336,Rl.a,Rl.a,[]),e["ɵmpd"](1073742336,el.C,el.C,[]),e["ɵmpd"](1073742336,el.n,el.n,[]),e["ɵmpd"](1073742336,el.y,el.y,[]),e["ɵmpd"](1073742336,al.c,al.c,[]),e["ɵmpd"](1073742336,tl.d,tl.d,[]),e["ɵmpd"](1073742336,il.d,il.d,[]),e["ɵmpd"](1073742336,rl.d,rl.d,[]),e["ɵmpd"](1073742336,Nl.b,Nl.b,[]),e["ɵmpd"](1073742336,sl.e,sl.e,[]),e["ɵmpd"](1073742336,wl.a,wl.a,[]),e["ɵmpd"](1073742336,gl.e,gl.e,[]),e["ɵmpd"](1073742336,Tl.f,Tl.f,[]),e["ɵmpd"](1073742336,El.ClickOutsideModule,El.ClickOutsideModule,[]),e["ɵmpd"](1073742336,yl.b,yl.b,[]),e["ɵmpd"](1073742336,Cl.q,Cl.q,[[2,Cl.v],[2,Cl.m]]),e["ɵmpd"](1073742336,Vl.a,Vl.a,[]),e["ɵmpd"](1073742336,ql.NgxDatatableModule,ql.NgxDatatableModule,[]),e["ɵmpd"](1073742336,kl.a,kl.a,[]),e["ɵmpd"](1073742336,xl.a,xl.a,[]),e["ɵmpd"](1073742336,_l.a,_l.a,[]),e["ɵmpd"](1073742336,Dl.a,Dl.a,[]),e["ɵmpd"](1073742336,bl.g,bl.g,[]),e["ɵmpd"](1073742336,Fl.b,Fl.b,[]),e["ɵmpd"](1073742336,a.a,a.a,[]),e["ɵmpd"](256,e.LOCALE_ID,"en-US",[]),e["ɵmpd"](256,gl.a,{autoClose:!0,insideClick:!1},[]),e["ɵmpd"](256,e.TRANSLATIONS_FORMAT,"xlf",[])])})),Va=e["ɵcmf"](a.b,[],(function(l){return e["ɵmod"]([e["ɵmpd"](512,e.ComponentFactoryResolver,e["ɵCodegenComponentFactoryResolver"],[[8,[t.a,o.a,d.a,i.a,i.b,r.a,s.a,c.a,p.a,m.a,g.a,f.a,v.a,C.a,h.a,b.a,I.a,R.a,R.c,R.b,N.a,w.a,T.a,E.a,y.a,V.a,q.a,k.a,x.a,_.a,fn,Nn,Pn,zn,zu,re,Re,wa]],[3,e.ComponentFactoryResolver],e.NgModuleRef]),e["ɵmpd"](4608,D.NgLocalization,D.NgLocaleLocalization,[e.LOCALE_ID,[2,D["ɵangular_packages_common_common_a"]]]),e["ɵmpd"](4608,F.a,F.a,[]),e["ɵmpd"](4608,P.a,P.a,[]),e["ɵmpd"](4608,S.a,S.a,[A.a]),e["ɵmpd"](4608,D.DatePipe,D.DatePipe,[e.LOCALE_ID]),e["ɵmpd"](4608,j.a,j.a,[]),e["ɵmpd"](4608,O.a,O.a,[]),e["ɵmpd"](4608,U.a,U.a,[]),e["ɵmpd"](4608,B.a,B.a,[U.a]),e["ɵmpd"](4608,$.a,$.a,[U.a]),e["ɵmpd"](4608,M.a,M.a,[U.a]),e["ɵmpd"](4608,z.a,z.a,[]),e["ɵmpd"](4608,L.a,L.a,[]),e["ɵmpd"](4608,G.a,G.a,[]),e["ɵmpd"](4608,K.a,K.a,[]),e["ɵmpd"](4608,H.a,H.a,[D.DatePipe]),e["ɵmpd"](4608,J.a,J.a,[]),e["ɵmpd"](4608,Z.a,Z.a,[]),e["ɵmpd"](4608,W.a,W.a,[]),e["ɵmpd"](4608,Q.a,Q.a,[]),e["ɵmpd"](4608,Y.a,Y.a,[]),e["ɵmpd"](4608,X.a,X.a,[A.a]),e["ɵmpd"](4608,ll.a,ll.a,[]),e["ɵmpd"](4608,nl.a,nl.a,[]),e["ɵmpd"](4608,ul.a,ul.a,[]),e["ɵmpd"](4608,el.D,el.D,[]),e["ɵmpd"](4608,el.h,el.h,[]),e["ɵmpd"](4608,al.b,al.b,[]),e["ɵmpd"](4608,tl.a,tl.a,[]),e["ɵmpd"](4608,ol.a,ol.a,[e.RendererFactory2,e.PLATFORM_ID]),e["ɵmpd"](4608,dl.a,dl.a,[e.ComponentFactoryResolver,e.NgZone,e.Injector,ol.a,e.ApplicationRef]),e["ɵmpd"](4608,il.c,il.c,[]),e["ɵmpd"](4608,rl.a,rl.a,[]),e["ɵmpd"](4608,sl.b,sl.b,[e.RendererFactory2,dl.a]),e["ɵmpd"](4608,cl.ScrollbarHelper,cl.ScrollbarHelper,[D.DOCUMENT]),e["ɵmpd"](4608,pl.DimensionsHelper,pl.DimensionsHelper,[]),e["ɵmpd"](4608,ml.ColumnChangesService,ml.ColumnChangesService,[]),e["ɵmpd"](4608,gl.f,gl.f,[]),e["ɵmpd"](4608,fl.a,fl.a,[]),e["ɵmpd"](4608,vl.a,vl.a,[Cl.m,fl.a]),e["ɵmpd"](4608,hl.f,hl.f,[]),e["ɵmpd"](4608,bl.r,bl.r,[]),e["ɵmpd"](4608,bl.t,bl.t,[]),e["ɵmpd"](4608,bl.a,bl.a,[]),e["ɵmpd"](4608,bl.h,bl.h,[]),e["ɵmpd"](4608,bl.d,bl.d,[]),e["ɵmpd"](4608,bl.j,bl.j,[]),e["ɵmpd"](4608,bl.s,bl.s,[bl.t,bl.j]),e["ɵmpd"](4608,Il.a,Il.a,[]),e["ɵmpd"](1073742336,D.CommonModule,D.CommonModule,[]),e["ɵmpd"](1073742336,hl.d,hl.d,[]),e["ɵmpd"](1073742336,Rl.a,Rl.a,[]),e["ɵmpd"](1073742336,el.C,el.C,[]),e["ɵmpd"](1073742336,el.n,el.n,[]),e["ɵmpd"](1073742336,el.y,el.y,[]),e["ɵmpd"](1073742336,al.c,al.c,[]),e["ɵmpd"](1073742336,tl.d,tl.d,[]),e["ɵmpd"](1073742336,il.d,il.d,[]),e["ɵmpd"](1073742336,rl.d,rl.d,[]),e["ɵmpd"](1073742336,Nl.b,Nl.b,[]),e["ɵmpd"](1073742336,sl.e,sl.e,[]),e["ɵmpd"](1073742336,wl.a,wl.a,[]),e["ɵmpd"](1073742336,gl.e,gl.e,[]),e["ɵmpd"](1073742336,Tl.f,Tl.f,[]),e["ɵmpd"](1073742336,El.ClickOutsideModule,El.ClickOutsideModule,[]),e["ɵmpd"](1073742336,yl.b,yl.b,[]),e["ɵmpd"](1073742336,Cl.q,Cl.q,[[2,Cl.v],[2,Cl.m]]),e["ɵmpd"](1073742336,Vl.a,Vl.a,[]),e["ɵmpd"](1073742336,ql.NgxDatatableModule,ql.NgxDatatableModule,[]),e["ɵmpd"](1073742336,kl.a,kl.a,[]),e["ɵmpd"](1073742336,xl.a,xl.a,[]),e["ɵmpd"](1073742336,_l.a,_l.a,[]),e["ɵmpd"](1073742336,Dl.a,Dl.a,[]),e["ɵmpd"](1073742336,bl.g,bl.g,[]),e["ɵmpd"](1073742336,Fl.b,Fl.b,[]),e["ɵmpd"](1073742336,a.a,a.a,[]),e["ɵmpd"](1073742336,a.b,a.b,[]),e["ɵmpd"](256,e.LOCALE_ID,"en-US",[]),e["ɵmpd"](256,gl.a,{autoClose:!0,insideClick:!1},[]),e["ɵmpd"](1024,Cl.k,(function(){return[[{path:"",redirectTo:"rbd",pathMatch:"full"},{path:"rbd",canActivate:[Ta.a],data:a.c,children:[{path:"",component:Wl.a},{path:"namespaces",component:vn.a,data:a.d},{path:"trash",component:wn.a,data:a.j},{path:"performance",component:Un.a,data:a.k},{path:"create",component:uu.a,data:a.l},{path:"edit/:image_spec",component:uu.a,data:a.m},{path:"clone/:image_spec/:snap",component:uu.a,data:a.n},{path:"copy/:image_spec",component:uu.a,data:a.o},{path:"copy/:image_spec/:snap",component:uu.a,data:a.p}]},{path:"mirroring",component:Ea.a,canActivate:[Ta.a],data:a.q},{path:"iscsi",canActivate:[Ta.a],data:a.e,children:[{path:"",redirectTo:"overview",pathMatch:"full"},{path:"overview",component:Zu.a,data:a.f},{path:"targets",data:a.g,children:[{path:"",component:me.a},{path:"create",component:ke.a,data:a.h},{path:"edit/:target_iqn",component:ke.a,data:a.i}]}]}]]}),[]),e["ɵmpd"](256,e.TRANSLATIONS_FORMAT,"xlf",[])])}))}}]);
\ No newline at end of file
diff --git a/ceph/src/pybind/mgr/dashboard/frontend/dist/en-US/8.50be3ebee1410d3e6387.js b/ceph/src/pybind/mgr/dashboard/frontend/dist/en-US/8.50be3ebee1410d3e6387.js
deleted file mode 100644 (file)
index 023ea62..0000000
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{nOaW:function(l,n,e){"use strict";e.r(n);var u=e("8Y7J"),i=e("sne2"),t=e("s7LF"),o=e("LvDl"),a=e("IheW"),s=e("GiVz"),r=e("pL04");let d=(()=>{class l{constructor(l,n){this.http=l,this.i18n=n,this.apiPath="api/crush_rule",this.formTooltips={root:this.i18n("The name of the node under which data should be placed."),failure_domain:this.i18n("The type of CRUSH nodes across which we should separate replicas."),device_class:this.i18n("The device class data should be placed on.")}}create(l){return this.http.post(this.apiPath,l,{observe:"response"})}delete(l){return this.http.delete(`${this.apiPath}/${l}`,{observe:"response"})}getInfo(){return this.http.get(`ui-${this.apiPath}/info`)}}return l.ngInjectableDef=u["ɵɵdefineInjectable"]({factory:function(){return new l(u["ɵɵinject"](a.c),u["ɵɵinject"](s.a))},token:l,providedIn:r.a}),l})(),c=(()=>{class l{constructor(l,n){this.http=l,this.i18n=n,this.apiPath="api/erasure_code_profile",this.formTooltips={k:this.i18n("Each object is split in data-chunks parts, each stored on a different OSD."),m:this.i18n("Compute coding chunks for each object and store them on different OSDs.\n      The number of coding chunks is also the number of OSDs that can be down without losing data."),plugins:{jerasure:{description:this.i18n("The jerasure plugin is the most generic and flexible plugin,\n          it is also the default for Ceph erasure coded pools."),technique:this.i18n("The more flexible technique is reed_sol_van : it is enough to set k\n          and m. The cauchy_good technique can be faster but you need to chose the packetsize\n          carefully. All of reed_sol_r6_op, liberation, blaum_roth, liber8tion are RAID6 equivalents\n          in the sense that they can only be configured with m=2."),packetSize:this.i18n("The encoding will be done on packets of bytes size at a time.\n          Chosing the right packet size is difficult.\n          The jerasure documentation contains extensive information on this topic.")},lrc:{description:this.i18n("With the jerasure plugin, when an erasure coded object is stored on\n          multiple OSDs, recovering from the loss of one OSD requires reading from all the others.\n          For instance if jerasure is configured with k=8 and m=4, losing one OSD requires reading\n          from the eleven others to repair.\n\n          The lrc erasure code plugin creates local parity chunks to be able to recover using\n          less OSDs. For instance if lrc is configured with k=8, m=4 and l=4, it will create\n          an additional parity chunk for every four OSDs. When a single OSD is lost, it can be\n          recovered with only four OSDs instead of eleven."),l:this.i18n("Group the coding and data chunks into sets of size locality. For instance,\n          for k=4 and m=2, when locality=3 two groups of three are created. Each set can\n          be recovered without reading chunks from another set."),crushLocality:this.i18n("The type of the crush bucket in which each set of chunks defined\n          by l will be stored. For instance, if it is set to rack, each group of l chunks will be\n          placed in a different rack. It is used to create a CRUSH rule step such as step choose\n          rack. If it is not set, no such grouping is done.")},isa:{description:this.i18n("The isa plugin encapsulates the ISA library. It only runs on Intel processors."),technique:this.i18n("The ISA plugin comes in two Reed Solomon forms.\n          If reed_sol_van is set, it is Vandermonde, if cauchy is set, it is Cauchy.")},shec:{description:this.i18n("The shec plugin encapsulates the multiple SHEC library.\n          It allows ceph to recover data more efficiently than Reed Solomon codes."),c:this.i18n("The number of parity chunks each of which includes each data chunk in its\n          calculation range. The number is used as a durability estimator. For instance, if c=2,\n          2 OSDs can be down without losing data.")}},crushRoot:this.i18n("The name of the crush bucket used for the first step of the CRUSH rule.\n      For instance step take default."),crushFailureDomain:this.i18n("Ensure that no two chunks are in a bucket with the same failure\n      domain. For instance, if the failure domain is host no two chunks will be stored on the same\n      host. It is used to create a CRUSH rule step such as step chooseleaf host."),crushDeviceClass:this.i18n("Restrict placement to devices of a specific class\n      (e.g., ssd or hdd), using the crush device class names in the CRUSH map."),directory:this.i18n("Set the directory name from which the erasure code plugin is loaded.")}}list(){return this.http.get(this.apiPath)}create(l){return this.http.post(this.apiPath,l,{observe:"response"})}delete(l){return this.http.delete(`${this.apiPath}/${l}`,{observe:"response"})}getInfo(){return this.http.get(`ui-${this.apiPath}/info`)}}return l.ngInjectableDef=u["ɵɵdefineInjectable"]({factory:function(){return new l(u["ɵɵinject"](a.c),u["ɵɵinject"](s.a))},token:l,providedIn:r.a}),l})();var m=e("Ekvf"),f=e("0+/T"),g=e("a96k"),p=e("oxzT"),h=e("QFaf"),v=e("1Ni5"),C=e("PhyI"),b=e("kvvV"),R=e("Fgil"),I=e("aexS"),E=e("aXbf"),N=e("kn/O"),y=e("2EZI");class w{constructor(l,n,e,i,t,o){this.formBuilder=l,this.bsModalRef=n,this.taskWrapper=e,this.crushRuleService=i,this.i18n=t,this.actionLabels=o,this.submitAction=new u.EventEmitter,this.buckets=[],this.failureDomains={},this.devices=[],this.tooltips=this.crushRuleService.formTooltips,this.nodes=[],this.easyNodes={},this.action=this.actionLabels.CREATE,this.resource=this.i18n("Crush Rule"),this.createForm()}createForm(){this.form=this.formBuilder.group({name:["",[t.B.required,t.B.pattern("[A-Za-z0-9_-]+"),v.a.custom("uniqueName",l=>this.names&&-1!==this.names.indexOf(l))]],root:null,failure_domain:"",device_class:""})}ngOnInit(){this.crushRuleService.getInfo().subscribe(({names:l,nodes:n})=>{this.nodes=n,n.forEach(l=>{this.easyNodes[l.id]=l}),this.buckets=o.sortBy(n.filter(l=>l.children),"name"),this.names=l,this.preSelectRoot()}),this.form.get("root").valueChanges.subscribe(l=>this.updateRoot(l)),this.form.get("failure_domain").valueChanges.subscribe(l=>this.updateDevices(l))}preSelectRoot(){const l=this.nodes.find(l=>"root"===l.type);this.form.silentSet("root",l),this.updateRoot(l)}updateRoot(l){const n=this.getSubNodes(l),e={};n.forEach(l=>{e[l.type]||(e[l.type]=[]),e[l.type].push(l)}),Object.keys(e).forEach(l=>{e[l].length<=1&&delete e[l]}),this.failureDomains=e,this.updateFailureDomain()}getSubNodes(l){let n=[l];return l.children?(l.children.forEach(l=>{n=n.concat(this.getSubNodes(this.easyNodes[l]))}),n):n}updateFailureDomain(){let l=this.getIncludedCustomValue("failure_domain",Object.keys(this.failureDomains));""===l&&(l=this.setMostCommonDomain()),this.updateDevices(l)}getIncludedCustomValue(l,n){const e=this.form.get(l);return e.dirty&&n.includes(e.value)?e.value:""}setMostCommonDomain(){let l={n:0,type:""};return Object.keys(this.failureDomains).forEach(n=>{const e=this.failureDomains[n].length;l.n<e&&(l={n:e,type:n})}),this.form.silentSet("failure_domain",l.type),l.type}updateDevices(l){const n=o.flatten(this.failureDomains[l].map(l=>this.getSubNodes(l)));this.devices=o.uniq(n.filter(l=>l.device_class).map(l=>l.device_class)).sort();const e=1===this.devices.length?this.devices[0]:this.getIncludedCustomValue("device_class",this.devices);this.form.get("device_class").setValue(e)}failureDomainKeys(){return Object.keys(this.failureDomains).sort()}onSubmit(){if(this.form.invalid)return void this.form.setErrors({cdSubmitButton:!0});const l=o.cloneDeep(this.form.value);l.root=l.root.name,""===l.device_class&&delete l.device_class,this.taskWrapper.wrapTaskAroundCall({task:new b.a("crushRule/create",l),call:this.crushRuleService.create(l)}).subscribe(void 0,()=>{this.form.setErrors({cdSubmitButton:!0})},()=>{this.bsModalRef.hide(),this.submitAction.emit(l)})}}class V{}class T{constructor(l,n,e,i,t,o){this.formBuilder=l,this.bsModalRef=n,this.taskWrapper=e,this.ecpService=i,this.i18n=t,this.actionLabels=o,this.submitAction=new u.EventEmitter,this.requiredControls=[],this.devices=[],this.tooltips=this.ecpService.formTooltips,this.PLUGIN={LRC:"lrc",SHEC:"shec",JERASURE:"jerasure",ISA:"isa"},this.plugin=this.PLUGIN.JERASURE,this.action=this.actionLabels.CREATE,this.resource=this.i18n("EC Profile"),this.createForm(),this.setJerasureDefaults()}createForm(){this.form=this.formBuilder.group({name:[null,[t.B.required,t.B.pattern("[A-Za-z0-9_-]+"),v.a.custom("uniqueName",l=>this.names&&-1!==this.names.indexOf(l))]],plugin:[this.PLUGIN.JERASURE,[t.B.required]],k:[1],m:[1],crushFailureDomain:["host"],crushRoot:["default"],crushDeviceClass:[""],directory:[""],technique:["reed_sol_van"],packetSize:[2048,[t.B.min(1)]],l:[1,[t.B.required,t.B.min(1)]],crushLocality:[""],c:[1,[t.B.required,t.B.min(1)]]}),this.form.get("plugin").valueChanges.subscribe(l=>this.onPluginChange(l))}onPluginChange(l){this.plugin=l,l===this.PLUGIN.JERASURE?this.setJerasureDefaults():l===this.PLUGIN.LRC?this.setLrcDefaults():l===this.PLUGIN.ISA?this.setIsaDefaults():l===this.PLUGIN.SHEC&&this.setShecDefaults()}setNumberValidators(l,n){const e=[t.B.min(1)];n&&e.push(t.B.required),this.form.get(l).setValidators(e)}setKMValidators(l){["k","m"].forEach(n=>this.setNumberValidators(n,l))}setJerasureDefaults(){this.requiredControls=["k","m"],this.setDefaults({k:4,m:2}),this.setKMValidators(!0),this.techniques=["reed_sol_van","reed_sol_r6_op","cauchy_orig","cauchy_good","liberation","blaum_roth","liber8tion"]}setLrcDefaults(){this.requiredControls=["k","m","l"],this.setKMValidators(!0),this.setNumberValidators("l",!0),this.setDefaults({k:4,m:2,l:3})}setIsaDefaults(){this.requiredControls=[],this.setKMValidators(!1),this.setDefaults({k:7,m:3}),this.techniques=["reed_sol_van","cauchy"]}setShecDefaults(){this.requiredControls=[],this.setKMValidators(!1),this.setDefaults({k:4,m:3,c:2})}setDefaults(l){Object.keys(l).forEach(n=>{this.form.get(n).pristine&&this.form.silentSet(n,l[n])})}ngOnInit(){this.ecpService.getInfo().subscribe(({failure_domains:l,plugins:n,names:e,directory:u,devices:i})=>{this.failureDomains=l,this.plugins=n,this.names=e,this.devices=i,this.form.silentSet("directory",u)})}createJson(){const l={technique:[this.PLUGIN.ISA,this.PLUGIN.JERASURE],packetSize:[this.PLUGIN.JERASURE],l:[this.PLUGIN.LRC],crushLocality:[this.PLUGIN.LRC],c:[this.PLUGIN.SHEC]},n=new V,e=this.form.getValue("plugin");return Object.keys(this.form.controls).filter(n=>{const u=l[n],i=this.form.get(n);return(u&&u.includes(e)||!u)&&(i.dirty||this.requiredControls.includes(n))&&this.form.getValue(n)}).forEach(l=>{this.extendJson(l,n)}),n}extendJson(l,n){n[{crushFailureDomain:"crush-failure-domain",crushRoot:"crush-root",crushDeviceClass:"crush-device-class",packetSize:"packetsize",crushLocality:"crush-locality"}[l]||l]=this.form.getValue(l)}onSubmit(){if(this.form.invalid)return void this.form.setErrors({cdSubmitButton:!0});const l=this.createJson();this.taskWrapper.wrapTaskAroundCall({task:new b.a("ecp/create",{name:l.name}),call:this.ecpService.create(l)}).subscribe(void 0,()=>{this.form.setErrors({cdSubmitButton:!0})},()=>{this.bsModalRef.hide(),this.submitAction.emit(l)})}}var S=e("DNAf");class _{constructor(l){this.erasureInfo=!1,this.crushInfo=!1,this.pgs=1,this.poolTypes=["erasure","replicated"],this.applications={selected:[],default:["cephfs","rbd","rgw"],available:[],validators:[t.B.pattern("[A-Za-z0-9_]+"),t.B.maxLength(128)],messages:new S.a({empty:l("No applications added"),selectionLimit:{text:l("Applications limit reached"),tooltip:l("A pool can only have up to four applications definitions.")},customValidations:{pattern:l("Allowed characters '_a-zA-Z0-9'"),maxlength:l("Maximum length is 128 characters")},filter:l("Filter or add applications"),add:l("Add application")},l)}}}class q{constructor(l,n,e,t,o,a,s,r,d,c,m,f,g){this.dimlessBinaryPipe=l,this.route=n,this.router=e,this.modalService=t,this.poolService=o,this.authStorageService=a,this.formatter=s,this.bsModalService=r,this.taskWrapper=d,this.ecpService=c,this.crushRuleService=m,this.i18n=f,this.actionLabels=g,this.editing=!1,this.isReplicated=!1,this.isErasure=!1,this.data=new _(this.i18n),this.externalPgChange=!1,this.current={rules:[]},this.initializeConfigData=new u.EventEmitter,this.currentConfigurationValues={},this.icons=p.a,this.crushUsage=void 0,this.editing=this.router.url.startsWith(`/pool/${i.e.EDIT}`),this.action=this.editing?this.actionLabels.EDIT:this.actionLabels.CREATE,this.resource=this.i18n("pool"),this.authenticate(),this.createForm()}authenticate(){this.permission=this.authStorageService.getPermissions().pool,(!this.permission.read||!this.permission.update&&this.editing||!this.permission.create&&!this.editing)&&this.router.navigate(["/404"])}createForm(){const l=new h.a({mode:new t.i("none"),algorithm:new t.i(""),minBlobSize:new t.i("",{updateOn:"blur"}),maxBlobSize:new t.i("",{updateOn:"blur"}),ratio:new t.i("",{updateOn:"blur"})});this.form=new h.a({name:new t.i("",{validators:[t.B.pattern(/^[.A-Za-z0-9_/-]+$/),t.B.required,v.a.custom("rbdPool",()=>this.form&&this.form.getValue("name").includes("/")&&this.data&&-1!==this.data.applications.selected.indexOf("rbd"))]}),poolType:new t.i("",{validators:[t.B.required]}),crushRule:new t.i(null,{validators:[v.a.custom("tooFewOsds",l=>this.info&&l&&this.info.osd_count<l.min_size),v.a.custom("required",l=>this.isReplicated&&this.info.crush_rules_replicated.length>0&&!l)]}),size:new t.i("",{updateOn:"blur"}),erasureProfile:new t.i(null),pgNum:new t.i("",{validators:[t.B.required,t.B.min(1)]}),pgAutoscaleMode:new t.i(null),ecOverwrites:new t.i(!1),compression:l,max_bytes:new t.i(""),max_objects:new t.i(0,{validators:[t.B.min(0)]})},[v.a.custom("form",()=>null)])}ngOnInit(){this.poolService.getInfo().subscribe(l=>{this.initInfo(l),this.editing?this.initEditMode():this.setAvailableApps(),this.listenToChanges(),this.setComplexValidators()})}initInfo(l){this.pgAutoscaleModes=l.pg_autoscale_modes,this.form.silentSet("pgAutoscaleMode",l.pg_autoscale_default_mode),this.form.silentSet("algorithm",l.bluestore_compression_algorithm),this.info=l,this.initEcp(l.erasure_code_profiles)}initEcp(l){this.setListControlStatus("erasureProfile",l),this.ecProfiles=l}setListControlStatus(l,n){const e=this.form.get(l),u=e.value;1!==n.length||u&&o.isEqual(u,n[0])?0===n.length&&u&&e.setValue(null):e.setValue(n[0]),n.length<=1?e.enabled&&e.disable():e.disabled&&e.enable()}initEditMode(){this.disableForEdit(),this.routeParamsSubscribe=this.route.params.subscribe(l=>this.poolService.get(l.name).subscribe(l=>{this.data.pool=l,this.initEditFormData(l)}))}disableForEdit(){["poolType","crushRule","size","erasureProfile","ecOverwrites"].forEach(l=>this.form.get(l).disable())}initEditFormData(l){this.initializeConfigData.emit({initialData:l.configuration,sourceType:C.a.pool}),this.poolTypeChange(l.type);const n=this.info.crush_rules_replicated.concat(this.info.crush_rules_erasure),e={name:l.pool_name,poolType:l.type,crushRule:n.find(n=>n.rule_name===l.crush_rule),size:l.size,erasureProfile:this.ecProfiles.find(n=>n.name===l.erasure_code_profile),pgAutoscaleMode:l.pg_autoscale_mode,pgNum:l.pg_num,ecOverwrites:l.flags_names.includes("ec_overwrites"),mode:l.options.compression_mode,algorithm:l.options.compression_algorithm,minBlobSize:this.dimlessBinaryPipe.transform(l.options.compression_min_blob_size),maxBlobSize:this.dimlessBinaryPipe.transform(l.options.compression_max_blob_size),ratio:l.options.compression_required_ratio,max_bytes:this.dimlessBinaryPipe.transform(l.quota_max_bytes),max_objects:l.quota_max_objects};Object.keys(e).forEach(l=>{const n=e[l];o.isUndefined(n)||""===n||this.form.silentSet(l,n)}),this.data.pgs=this.form.getValue("pgNum"),this.setAvailableApps(this.data.applications.default.concat(l.application_metadata)),this.data.applications.selected=l.application_metadata}setAvailableApps(l=this.data.applications.default){this.data.applications.available=o.uniq(l.sort()).map(l=>new g.a(!1,l,""))}listenToChanges(){this.listenToChangesDuringAddEdit(),this.editing||this.listenToChangesDuringAdd()}listenToChangesDuringAddEdit(){this.form.get("pgNum").valueChanges.subscribe(l=>{const n=l-this.data.pgs;1===Math.abs(n)&&2!==l?this.doPgPowerJump(n):this.data.pgs=l})}doPgPowerJump(l){const n=this.calculatePgPower()+l;this.setPgs(-1===l?Math.round(n):Math.floor(n))}calculatePgPower(l=this.form.getValue("pgNum")){return Math.log(l)/Math.log(2)}setPgs(l){const n=Math.pow(2,l<0?0:l);this.data.pgs=n,this.form.silentSet("pgNum",n)}listenToChangesDuringAdd(){this.form.get("poolType").valueChanges.subscribe(l=>{this.poolTypeChange(l)}),this.form.get("crushRule").valueChanges.subscribe(l=>{this.crushDeletionBtn&&this.crushDeletionBtn.isOpen&&this.crushDeletionBtn.hide(),l&&(this.crushRuleIsUsedBy(l.rule_name),this.replicatedRuleChange(),this.pgCalc())}),this.form.get("size").valueChanges.subscribe(()=>{this.pgCalc()}),this.form.get("erasureProfile").valueChanges.subscribe(()=>{this.pgCalc()}),this.form.get("mode").valueChanges.subscribe(()=>{["minBlobSize","maxBlobSize","ratio"].forEach(l=>{this.form.get(l).updateValueAndValidity({emitEvent:!1})})}),this.form.get("minBlobSize").valueChanges.subscribe(()=>{this.form.get("maxBlobSize").updateValueAndValidity({emitEvent:!1})}),this.form.get("maxBlobSize").valueChanges.subscribe(()=>{this.form.get("minBlobSize").updateValueAndValidity({emitEvent:!1})})}poolTypeChange(l){if("replicated"===l?this.setTypeBooleans(!0,!1):this.setTypeBooleans(!1,"erasure"===l),!l||!this.info)return void(this.current.rules=[]);const n=this.info["crush_rules_"+l]||[];this.current.rules=n,this.editing||(this.isReplicated&&this.setListControlStatus("crushRule",n),this.replicatedRuleChange(),this.pgCalc())}setTypeBooleans(l,n){this.isReplicated=l,this.isErasure=n}replicatedRuleChange(){if(!this.isReplicated)return;const l=this.form.get("size");let n=this.form.getValue("size")||3;const e=this.getMinSize(),u=this.getMaxSize();n<e?n=e:n>u&&(n=u),n!==l.value&&this.form.silentSet("size",n)}getMinSize(){if(!this.info||this.info.osd_count<1)return 0;const l=this.form.getValue("crushRule");return l?l.min_size:1}getMaxSize(){if(!this.info||this.info.osd_count<1)return 0;const l=this.info.osd_count;if(this.form.getValue("crushRule")){const n=this.form.get("crushRule").value.max_size;if(n<l)return n}return l}pgCalc(){const l=this.form.getValue("poolType");if(!this.info||this.form.get("pgNum").dirty||!l)return;const n=100*this.info.osd_count,e=this.isReplicated?this.replicatedPgCalc(n):this.erasurePgCalc(n);if(!e)return;const u=this.data.pgs;this.alignPgs(e),this.externalPgChange||(this.externalPgChange=u!==this.data.pgs)}replicatedPgCalc(l){const n=this.form.get("size"),e=n.value;return n.valid&&e>0?l/e:0}erasurePgCalc(l){const n=this.form.get("erasureProfile"),e=n.value;return(n.valid||n.disabled)&&e?l/(e.k+e.m):0}alignPgs(l=this.form.getValue("pgNum")){this.setPgs(Math.round(this.calculatePgPower(l<1?1:l)))}setComplexValidators(){this.editing?this.form.get("name").setValidators([this.form.get("name").validator,v.a.custom("uniqueName",l=>this.data.pool&&this.info&&-1!==this.info.pool_names.indexOf(l)&&this.info.pool_names.indexOf(l)!==this.info.pool_names.indexOf(this.data.pool.pool_name))]):(v.a.validateIf(this.form.get("size"),()=>this.isReplicated,[v.a.custom("min",l=>this.form.getValue("size")&&l<this.getMinSize()),v.a.custom("max",l=>this.form.getValue("size")&&this.getMaxSize()<l)]),this.form.get("name").setValidators([this.form.get("name").validator,v.a.custom("uniqueName",l=>this.info&&-1!==this.info.pool_names.indexOf(l))])),this.setCompressionValidators()}setCompressionValidators(){v.a.validateIf(this.form.get("minBlobSize"),()=>this.hasCompressionEnabled(),[t.B.min(0),v.a.custom("maximum",l=>this.oddBlobSize(l,this.form.getValue("maxBlobSize")))]),v.a.validateIf(this.form.get("maxBlobSize"),()=>this.hasCompressionEnabled(),[t.B.min(0),v.a.custom("minimum",l=>this.oddBlobSize(this.form.getValue("minBlobSize"),l))]),v.a.validateIf(this.form.get("ratio"),()=>this.hasCompressionEnabled(),[t.B.min(0),t.B.max(1)])}oddBlobSize(l,n){const e=this.formatter.toBytes(l),u=this.formatter.toBytes(n);return Boolean(e&&u&&e>=u)}hasCompressionEnabled(){return this.form.getValue("mode")&&"none"!==this.form.get("mode").value.toLowerCase()}describeCrushStep(l){return[l.op.replace("_"," "),l.item_name||"",l.type?l.num+" type "+l.type:""].join(" ")}addErasureCodeProfile(){this.modalSubscription=this.modalService.onHide.subscribe(()=>this.reloadECPs()),this.bsModalService.show(T)}reloadECPs(){this.ecpService.list().subscribe(l=>this.initEcp(l)),this.modalSubscription.unsubscribe()}deleteErasureCodeProfile(){const l=this.form.getValue("erasureProfile");if(!l)return;const n=l.name;this.modalSubscription=this.modalService.onHide.subscribe(()=>this.reloadECPs()),this.modalService.show(f.a,{initialState:{itemDescription:this.i18n("erasure code profile"),itemNames:[n],submitActionObservable:()=>this.taskWrapper.wrapTaskAroundCall({task:new b.a("ecp/delete",{name:n}),call:this.ecpService.delete(n)})}})}addCrushRule(){this.crushDeletionBtn.isOpen&&this.crushDeletionBtn.hide(),this.bsModalService.show(w).content.submitAction.subscribe(l=>{this.reloadCrushRules(l.name)})}reloadCrushRules(l){this.modalSubscription&&this.modalSubscription.unsubscribe(),this.poolService.getInfo().subscribe(n=>{if(this.initInfo(n),this.poolTypeChange("replicated"),!l)return;const e=this.info.crush_rules_replicated.find(n=>n.rule_name===l);e&&this.form.get("crushRule").setValue(e)})}deleteCrushRule(){const l=this.form.getValue("crushRule");if(!l)return;if(this.crushUsage)return this.crushDeletionBtn.toggle(),this.data.crushInfo=!0,void setTimeout(()=>{this.crushInfoTabs&&(this.crushInfoTabs.tabs[2].active=!0)},50);const n=l.rule_name;this.modalSubscription=this.modalService.onHide.subscribe(()=>this.reloadCrushRules()),this.modalService.show(f.a,{initialState:{itemDescription:this.i18n("crush rule"),itemNames:[n],submitActionObservable:()=>this.taskWrapper.wrapTaskAroundCall({task:new b.a("crushRule/delete",{name:n}),call:this.crushRuleService.delete(n)})}})}crushRuleIsUsedBy(l){this.crushUsage=l?this.info.used_rules[l]:void 0}submit(){if(this.form.invalid)return void this.form.setErrors({cdSubmitButton:!0});const l={pool:this.form.getValue("name")};this.assignFormFields(l,[{externalFieldName:"pool_type",formControlName:"poolType"},{externalFieldName:"pg_autoscale_mode",formControlName:"pgAutoscaleMode",editable:!0},{externalFieldName:"pg_num",formControlName:"pgNum",replaceFn:l=>"on"===this.form.getValue("pgAutoscaleMode")?1:l,editable:!0},this.isReplicated?{externalFieldName:"size",formControlName:"size"}:{externalFieldName:"erasure_code_profile",formControlName:"erasureProfile",attr:"name"},{externalFieldName:"rule_name",formControlName:"crushRule",replaceFn:l=>this.isReplicated?l&&l.rule_name:void 0},{externalFieldName:"quota_max_bytes",formControlName:"max_bytes",replaceFn:this.formatter.toBytes,editable:!0,resetValue:this.editing?0:void 0},{externalFieldName:"quota_max_objects",formControlName:"max_objects",editable:!0,resetValue:this.editing?0:void 0}]),this.info.is_all_bluestore&&(this.assignFormField(l,{externalFieldName:"flags",formControlName:"ecOverwrites",replaceFn:()=>this.isErasure?["ec_overwrites"]:void 0}),"none"!==this.form.getValue("mode")?this.assignFormFields(l,[{externalFieldName:"compression_mode",formControlName:"mode",editable:!0,replaceFn:l=>this.hasCompressionEnabled()&&l},{externalFieldName:"compression_algorithm",formControlName:"algorithm",editable:!0},{externalFieldName:"compression_min_blob_size",formControlName:"minBlobSize",replaceFn:this.formatter.toBytes,editable:!0,resetValue:0},{externalFieldName:"compression_max_blob_size",formControlName:"maxBlobSize",replaceFn:this.formatter.toBytes,editable:!0,resetValue:0},{externalFieldName:"compression_required_ratio",formControlName:"ratio",editable:!0,resetValue:0}]):this.editing&&this.assignFormFields(l,[{externalFieldName:"compression_mode",formControlName:"mode",editable:!0,replaceFn:()=>"unset"},{externalFieldName:"srcpool",formControlName:"name",editable:!0,replaceFn:()=>this.data.pool.pool_name}]));const n=this.data.applications.selected;(n.length>0||this.editing)&&(l.application_metadata=n),this.isReplicated&&!o.isEmpty(this.currentConfigurationValues)&&(l.configuration=this.currentConfigurationValues),this.triggerApiTask(l)}assignFormFields(l,n){n.forEach(n=>this.assignFormField(l,n))}assignFormField(l,{externalFieldName:n,formControlName:e,attr:u,replaceFn:i,editable:t,resetValue:a}){if(this.editing&&(!t||this.form.get(e).pristine))return;const s=this.form.getValue(e);let r=i?i(s):u?o.get(s,u):s;if(!s||!r){if(!t||o.isUndefined(a))return;r=a}l[n]=r}triggerApiTask(l){this.taskWrapper.wrapTaskAroundCall({task:new b.a("pool/"+(this.editing?i.e.EDIT:i.e.CREATE),{pool_name:l.hasOwnProperty("srcpool")?l.srcpool:l.pool}),call:this.poolService[this.editing?i.e.UPDATE:i.e.CREATE](l)}).subscribe(void 0,l=>{o.isObject(l.error)&&"34"===l.error.code&&this.form.get("pgNum").setErrors({34:!0}),this.form.setErrors({cdSubmitButton:!0})},()=>this.router.navigate(["/pool"]))}appSelection(){this.form.get("name").updateValueAndValidity({emitEvent:!1,onlySelf:!0})}}var D=e("MuvH"),k=e("uIqm"),x=e("x38r"),P=e("yJti"),F=e("vCyI"),A=e("o4+5"),B=e("VTlA"),O=e("EgGo"),z=e("d+Og");class j{constructor(l){this.pool_name=l}}const L=new O.a("pool");class U{constructor(l,n,e,u,i,t,a,s,r,d,c){this.poolService=l,this.taskWrapper=n,this.authStorageService=e,this.taskListService=u,this.modalService=i,this.i18n=t,this.pgCategoryService=a,this.dimlessPipe=s,this.urlBuilder=r,this.configurationService=d,this.actionLabels=c,this.pools=[],this.selection=new F.a,this.executingTasks=[],this.selectionCacheTiers=[],this.monAllowPoolDelete=!1,this.permissions=this.authStorageService.getPermissions(),this.tableActions=[{permission:"create",icon:p.a.add,routerLink:()=>this.urlBuilder.getCreate(),name:this.actionLabels.CREATE},{permission:"update",icon:p.a.edit,routerLink:()=>this.urlBuilder.getEdit(encodeURIComponent(this.selection.first().pool_name)),name:this.actionLabels.EDIT},{permission:"delete",icon:p.a.destroy,click:()=>this.deletePoolModal(),name:this.actionLabels.DELETE,disable:()=>!this.selection.first()||!this.monAllowPoolDelete,disableDesc:()=>this.getDisableDesc()}],this.permissions.configOpt.read&&this.configurationService.get("mon_allow_pool_delete").subscribe(l=>{if(o.has(l,"value")){const n=o.find(l.value,l=>"mon"===l.section)||{value:!1};this.monAllowPoolDelete="true"===n.value}})}ngOnInit(){const l=(l,n,e)=>o.get(n,l)>o.get(e,l)?1:-1;this.columns=[{prop:"pool_name",name:this.i18n("Name"),flexGrow:4,cellTransformation:x.a.executing},{prop:"type",name:this.i18n("Type"),flexGrow:2},{prop:"application_metadata",name:this.i18n("Applications"),flexGrow:3},{prop:"pg_status",name:this.i18n("PG Status"),flexGrow:3,cellClass:({row:l,column:n,value:e})=>this.getPgStatusCellClass(l,n,e)},{prop:"size",name:this.i18n("Replica Size"),flexGrow:2,cellClass:"text-right"},{prop:"last_change",name:this.i18n("Last Change"),flexGrow:2,cellClass:"text-right"},{prop:"erasure_code_profile",name:this.i18n("Erasure Coded Profile"),flexGrow:2},{prop:"crush_rule",name:this.i18n("Crush Ruleset"),flexGrow:3},{name:this.i18n("Usage"),prop:"usage",cellTemplate:this.poolUsageTpl,flexGrow:3},{prop:"stats.rd_bytes.rates",name:this.i18n("Read bytes"),comparator:(n,e,u,i)=>l("stats.rd_bytes.latest",u,i),cellTransformation:x.a.sparkline,flexGrow:3},{prop:"stats.wr_bytes.rates",name:this.i18n("Write bytes"),comparator:(n,e,u,i)=>l("stats.wr_bytes.latest",u,i),cellTransformation:x.a.sparkline,flexGrow:3},{prop:"stats.rd.rate",name:this.i18n("Read ops"),flexGrow:1,pipe:this.dimlessPipe,cellTransformation:x.a.perSecond},{prop:"stats.wr.rate",name:this.i18n("Write ops"),flexGrow:1,pipe:this.dimlessPipe,cellTransformation:x.a.perSecond}],this.taskListService.init(()=>this.poolService.getList(),void 0,l=>this.pools=this.transformPoolsData(l),()=>{this.table.reset(),this.viewCacheStatusList=[{status:P.a.ValueException}]},l=>l.name.startsWith("pool/"),(l,n)=>n.metadata.pool_name===l.pool_name,{default:l=>new j(l.pool_name)})}updateSelection(l){this.selection=l,this.getSelectionTiers()}deletePoolModal(){const l=this.selection.first().pool_name;this.modalRef=this.modalService.show(f.a,{initialState:{itemDescription:"Pool",itemNames:[l],submitActionObservable:()=>this.taskWrapper.wrapTaskAroundCall({task:new b.a(`pool/${i.e.DELETE}`,{pool_name:l}),call:this.poolService.delete(l)})}})}getPgStatusCellClass(l,n,e){return{"text-right":!0,[`pg-${this.pgCategoryService.getTypeByStates(e)}`]:!0}}transformPoolsData(l){const n=["bytes_used","max_avail","rd_bytes","wr_bytes","rd","wr"],e={latest:0,rate:0,rates:[]};return o.forEach(l,l=>{l.pg_status=this.transformPgStatus(l.pg_status);const u={};o.forEach(n,n=>{u[n]=l.stats&&l.stats[n]?l.stats[n]:e}),l.stats=u;const i=u.bytes_used.latest+u.max_avail.latest;l.usage=i>0?u.bytes_used.latest/i:i,l.cdExecuting||l.pg_num+l.pg_placement_num===l.pg_num_target+l.pg_placement_num_target||(l.cdExecuting="Updating"),["rd_bytes","wr_bytes"].forEach(n=>{l.stats[n].rates=l.stats[n].rates.map(l=>l[1])}),l.cdIsBinary=!0}),l}transformPgStatus(l){const n=[];return o.forEach(l,(l,e)=>{n.push(`${l} ${e}`)}),n.join(", ")}getSelectionTiers(){const l=this.selection.hasSingleSelection&&this.selection.first().tiers||[];this.selectionCacheTiers=this.pools.filter(n=>l.includes(n.pool))}getDisableDesc(){if(!this.monAllowPoolDelete)return this.i18n("Pool deletion is disabled by the mon_allow_pool_delete configuration setting.")}}class M{}const G={breadcrumbs:i.a.CREATE},$={breadcrumbs:i.a.EDIT};class K{}var J=e("iutN"),H=e("MdoF"),W=e("ES0t"),Z=e("Xg1U"),X=e("z5nN"),Y=e("pMnS"),Q=e("EEJc"),ll=e("PEr+"),nl=e("a40w"),el=e("hfeG"),ul=e("QUzE"),il=e("E7j4"),tl=e("xvu0"),ol=e("RIVN"),al=e("nP0W"),sl=e("VBM6"),rl=e("atuK"),dl=e("JIi+"),cl=e("0BYw"),ml=e("3IYD"),fl=e("I4Qz"),gl=e("0rTx"),pl=e("lz+O"),hl=e("u2XS"),vl=e("nhAp"),Cl=e("l7Jr"),bl=e("bUo2"),Rl=e("SVse"),Il=e("8xTl"),El=e("ajRT"),Nl=e("+gVj"),yl=e("mXUL"),wl=e("IZUe"),Vl=e("4HWh"),Tl=e("p4Cf"),Sl=e("gp3X"),_l=e("sb0X"),ql=e("KVJa"),Dl=e("Z21x"),kl=e("LqlI"),xl=u["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Pl(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["This field is required!"]))],null,null)}function Fl(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["The name can only consist of alphanumeric characters, dashes and underscores."]))],null,null)}function Al(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["The chosen erasure code profile name is already in use."]))],null,null)}function Bl(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"option",[["ngValue",""]],null,null,null,null,null)),u["ɵdid"](1,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{ngValue:[0,"ngValue"]},null),u["ɵdid"](2,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),u["ɵted"](-1,null,["Loading..."]))],(function(l,n){l(n,1,0,""),l(n,2,0,"")}),null)}function Ol(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),u["ɵdid"](1,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{ngValue:[0,"ngValue"]},null),u["ɵdid"](2,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),u["ɵted"](3,null,[" "," "]))],(function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)}),(function(l,n){l(n,3,0,n.context.$implicit.name)}))}function zl(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["This field is required!"]))],null,null)}function jl(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"option",[["ngValue",""]],null,null,null,null,null)),u["ɵdid"](1,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{ngValue:[0,"ngValue"]},null),u["ɵdid"](2,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),u["ɵted"](-1,null,["Loading..."]))],(function(l,n){l(n,1,0,""),l(n,2,0,"")}),null)}function Ll(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),u["ɵdid"](1,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{ngValue:[0,"ngValue"]},null),u["ɵdid"](2,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),u["ɵted"](3,null,[" "," ( "," ) "]))],(function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)}),(function(l,n){l(n,3,0,n.context.$implicit,n.component.failureDomains[n.context.$implicit].length)}))}function Ul(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["This field is required!"]))],null,null)}function Ml(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),u["ɵdid"](1,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{ngValue:[0,"ngValue"]},null),u["ɵdid"](2,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),u["ɵted"](3,null,[" "," "]))],(function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)}),(function(l,n){l(n,3,0,n.context.$implicit)}))}function Gl(l){return u["ɵvid"](0,[u["ɵpid"](0,Rl.TitleCasePipe,[]),u["ɵpid"](0,Il.a,[]),(l()(),u["ɵeld"](2,0,null,null,115,"cd-modal",[],null,null,null,Q.c,Q.b)),u["ɵdid"](3,49152,null,0,El.a,[],{modalRef:[0,"modalRef"]},null),(l()(),u["ɵeld"](4,0,null,0,3,null,null,null,null,null,null,null)),(l()(),u["ɵted"](5,null,[""," ",""])),u["ɵppd"](6,1),u["ɵppd"](7,1),(l()(),u["ɵeld"](8,0,null,1,109,null,null,null,null,null,null,null)),(l()(),u["ɵeld"](9,0,null,null,108,"form",[["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,e){var i=!0;return"submit"===n&&(i=!1!==u["ɵnov"](l,11).onSubmit(e)&&i),"reset"===n&&(i=!1!==u["ɵnov"](l,11).onReset()&&i),"submit"===n&&(i=!1!==u["ɵnov"](l,14).onSubmit()&&i),i}),null,null)),u["ɵdid"](10,16384,null,0,t.G,[],null,null),u["ɵdid"](11,540672,[["frm",4]],0,t.l,[[8,null],[8,null]],{form:[0,"form"]},null),u["ɵprd"](2048,null,t.d,null,[t.l]),u["ɵdid"](13,16384,null,0,t.s,[[4,t.d]],null,null),u["ɵdid"](14,16384,null,0,Nl.d,[],{formGroup:[0,"formGroup"]},null),(l()(),u["ɵeld"](15,0,null,null,94,"div",[["class","modal-body"]],null,null,null,null,null)),(l()(),u["ɵeld"](16,0,null,null,22,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](17,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,1,{FormControlNames:1}),u["ɵqud"](603979776,2,{messagesBlock:0}),(l()(),u["ɵeld"](20,0,null,0,3,"label",[["class","col-form-label col-sm-3"],["for","name"]],null,null,null,null,null)),(l()(),u["ɵeld"](21,0,null,null,1,null,null,null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Name"])),(l()(),u["ɵeld"](23,0,null,null,0,"span",[["class","required"]],null,null,null,null,null)),(l()(),u["ɵeld"](24,0,null,0,14,"div",[["class","col-sm-9"]],null,null,null,null,null)),(l()(),u["ɵeld"](25,0,null,null,7,"input",[["autofocus",""],["class","form-control"],["formControlName","name"],["id","name"],["name","name"],["placeholder","Name..."],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==u["ɵnov"](l,27)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,27).onTouched()&&i),"compositionstart"===n&&(i=!1!==u["ɵnov"](l,27)._compositionStart()&&i),"compositionend"===n&&(i=!1!==u["ɵnov"](l,27)._compositionEnd(e.target.value)&&i),i}),null,null)),u["ɵdid"](26,4210688,null,0,wl.a,[u.ElementRef],{autofocus:[0,"autofocus"]},null),u["ɵdid"](27,16384,null,0,t.e,[u.Renderer2,u.ElementRef,[2,t.b]],null,null),u["ɵprd"](1024,null,t.p,(function(l){return[l]}),[t.e]),u["ɵdid"](29,671744,[[1,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](31,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](32,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Pl)),u["ɵdid"](34,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Fl)),u["ɵdid"](36,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Al)),u["ɵdid"](38,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵeld"](39,0,null,null,23,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](40,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,3,{FormControlNames:1}),u["ɵqud"](603979776,4,{messagesBlock:0}),(l()(),u["ɵeld"](43,0,null,0,5,"label",[["class","col-form-label col-sm-3"],["for","root"]],null,null,null,null,null)),(l()(),u["ɵeld"](44,0,null,null,1,null,null,null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Root"])),(l()(),u["ɵeld"](46,0,null,null,1,"cd-helper",[],null,null,null,Vl.b,Vl.a)),u["ɵdid"](47,49152,null,0,Tl.a,[],{html:[0,"html"]},null),(l()(),u["ɵeld"](48,0,null,null,0,"span",[["class","required"]],null,null,null,null,null)),(l()(),u["ɵeld"](49,0,null,0,13,"div",[["class","col-sm-9"]],null,null,null,null,null)),(l()(),u["ɵeld"](50,0,null,null,10,"select",[["class","form-control custom-select"],["formControlName","root"],["id","root"],["name","root"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,e){var i=!0;return"change"===n&&(i=!1!==u["ɵnov"](l,51).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,51).onTouched()&&i),i}),null,null)),u["ɵdid"](51,16384,null,0,t.A,[u.Renderer2,u.ElementRef],null,null),u["ɵprd"](1024,null,t.p,(function(l){return[l]}),[t.A]),u["ɵdid"](53,671744,[[3,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](55,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](56,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Bl)),u["ɵdid"](58,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Ol)),u["ɵdid"](60,278528,null,0,Rl.NgForOf,[u.ViewContainerRef,u.TemplateRef,u.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,zl)),u["ɵdid"](62,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵeld"](63,0,null,null,23,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](64,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,5,{FormControlNames:1}),u["ɵqud"](603979776,6,{messagesBlock:0}),(l()(),u["ɵeld"](67,0,null,0,5,"label",[["class","col-form-label col-sm-3"],["for","failure_domain"]],null,null,null,null,null)),(l()(),u["ɵeld"](68,0,null,null,1,null,null,null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Failure domain type"])),(l()(),u["ɵeld"](70,0,null,null,1,"cd-helper",[],null,null,null,Vl.b,Vl.a)),u["ɵdid"](71,49152,null,0,Tl.a,[],{html:[0,"html"]},null),(l()(),u["ɵeld"](72,0,null,null,0,"span",[["class","required"]],null,null,null,null,null)),(l()(),u["ɵeld"](73,0,null,0,13,"div",[["class","col-sm-9"]],null,null,null,null,null)),(l()(),u["ɵeld"](74,0,null,null,10,"select",[["class","form-control custom-select"],["formControlName","failure_domain"],["id","failure_domain"],["name","failure_domain"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,e){var i=!0;return"change"===n&&(i=!1!==u["ɵnov"](l,75).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,75).onTouched()&&i),i}),null,null)),u["ɵdid"](75,16384,null,0,t.A,[u.Renderer2,u.ElementRef],null,null),u["ɵprd"](1024,null,t.p,(function(l){return[l]}),[t.A]),u["ɵdid"](77,671744,[[5,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](79,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](80,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,jl)),u["ɵdid"](82,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Ll)),u["ɵdid"](84,278528,null,0,Rl.NgForOf,[u.ViewContainerRef,u.TemplateRef,u.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Ul)),u["ɵdid"](86,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵeld"](87,0,null,null,22,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](88,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,7,{FormControlNames:1}),u["ɵqud"](603979776,8,{messagesBlock:0}),(l()(),u["ɵeld"](91,0,null,0,4,"label",[["class","col-form-label col-sm-3"],["for","device_class"]],null,null,null,null,null)),(l()(),u["ɵeld"](92,0,null,null,1,null,null,null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Device class"])),(l()(),u["ɵeld"](94,0,null,null,1,"cd-helper",[],null,null,null,Vl.b,Vl.a)),u["ɵdid"](95,49152,null,0,Tl.a,[],{html:[0,"html"]},null),(l()(),u["ɵeld"](96,0,null,0,13,"div",[["class","col-sm-9"]],null,null,null,null,null)),(l()(),u["ɵeld"](97,0,null,null,12,"select",[["class","form-control custom-select"],["formControlName","device_class"],["id","device_class"],["name","device_class"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,e){var i=!0;return"change"===n&&(i=!1!==u["ɵnov"](l,98).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,98).onTouched()&&i),i}),null,null)),u["ɵdid"](98,16384,null,0,t.A,[u.Renderer2,u.ElementRef],null,null),u["ɵprd"](1024,null,t.p,(function(l){return[l]}),[t.A]),u["ɵdid"](100,671744,[[7,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](102,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](103,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵeld"](104,0,null,null,3,"option",[["ngValue",""]],null,null,null,null,null)),u["ɵdid"](105,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{ngValue:[0,"ngValue"]},null),u["ɵdid"](106,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),u["ɵted"](-1,null,["Let Ceph decide"])),(l()(),u["ɵand"](16777216,null,null,1,null,Ml)),u["ɵdid"](109,278528,null,0,Rl.NgForOf,[u.ViewContainerRef,u.TemplateRef,u.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),u["ɵeld"](110,0,null,null,7,"div",[["class","modal-footer"]],null,null,null,null,null)),(l()(),u["ɵeld"](111,0,null,null,4,"cd-submit-button",[],null,[[null,"submitAction"]],(function(l,n,e){var u=!0;return"submitAction"===n&&(u=!1!==l.component.onSubmit()&&u),u}),Sl.b,Sl.a)),u["ɵdid"](112,114688,null,0,_l.a,[u.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(l()(),u["ɵted"](113,0,[""," ",""])),u["ɵppd"](114,1),u["ɵppd"](115,1),(l()(),u["ɵeld"](116,0,null,null,1,"cd-back-button",[],null,null,null,ql.b,ql.a)),u["ɵdid"](117,49152,null,0,Dl.a,[Rl.Location,i.b],{back:[0,"back"]},null)],(function(l,n){var e=n.component;l(n,3,0,e.bsModalRef),l(n,11,0,e.form),l(n,14,0,e.form),l(n,17,0),l(n,26,0,""),l(n,29,0,"name"),l(n,32,0,"name"),l(n,34,0,e.form.showError("name",u["ɵnov"](n,11),"required")),l(n,36,0,e.form.showError("name",u["ɵnov"](n,11),"pattern")),l(n,38,0,e.form.showError("name",u["ɵnov"](n,11),"uniqueName")),l(n,40,0),l(n,47,0,e.tooltips.root),l(n,53,0,"root"),l(n,56,0,"root"),l(n,58,0,!e.buckets),l(n,60,0,e.buckets),l(n,62,0,e.form.showError("root",u["ɵnov"](n,11),"required")),l(n,64,0),l(n,71,0,e.tooltips.failure_domain),l(n,77,0,"failure_domain"),l(n,80,0,"failure_domain"),l(n,82,0,!e.failureDomains),l(n,84,0,e.failureDomainKeys()),l(n,86,0,e.form.showError("failure_domain",u["ɵnov"](n,11),"required")),l(n,88,0),l(n,95,0,e.tooltips.device_class),l(n,100,0,"device_class"),l(n,103,0,"device_class"),l(n,105,0,""),l(n,106,0,""),l(n,109,0,e.devices),l(n,112,0,u["ɵnov"](n,11)),l(n,117,0,e.bsModalRef.hide)}),(function(l,n){var e=n.component,i=u["ɵunv"](n,5,0,l(n,6,0,u["ɵnov"](n,0),e.action)),t=u["ɵunv"](n,5,1,l(n,7,0,u["ɵnov"](n,1),e.resource));l(n,5,0,i,t),l(n,9,0,u["ɵnov"](n,13).ngClassUntouched,u["ɵnov"](n,13).ngClassTouched,u["ɵnov"](n,13).ngClassPristine,u["ɵnov"](n,13).ngClassDirty,u["ɵnov"](n,13).ngClassValid,u["ɵnov"](n,13).ngClassInvalid,u["ɵnov"](n,13).ngClassPending),l(n,16,0,u["ɵnov"](n,17).hasErrors,u["ɵnov"](n,17).hasSuccess),l(n,25,0,u["ɵnov"](n,31).ngClassUntouched,u["ɵnov"](n,31).ngClassTouched,u["ɵnov"](n,31).ngClassPristine,u["ɵnov"](n,31).ngClassDirty,u["ɵnov"](n,31).ngClassValid,u["ɵnov"](n,31).ngClassInvalid,u["ɵnov"](n,31).ngClassPending,u["ɵnov"](n,32).validClass,u["ɵnov"](n,32).invalidClass),l(n,39,0,u["ɵnov"](n,40).hasErrors,u["ɵnov"](n,40).hasSuccess),l(n,50,0,u["ɵnov"](n,55).ngClassUntouched,u["ɵnov"](n,55).ngClassTouched,u["ɵnov"](n,55).ngClassPristine,u["ɵnov"](n,55).ngClassDirty,u["ɵnov"](n,55).ngClassValid,u["ɵnov"](n,55).ngClassInvalid,u["ɵnov"](n,55).ngClassPending,u["ɵnov"](n,56).validClass,u["ɵnov"](n,56).invalidClass),l(n,63,0,u["ɵnov"](n,64).hasErrors,u["ɵnov"](n,64).hasSuccess),l(n,74,0,u["ɵnov"](n,79).ngClassUntouched,u["ɵnov"](n,79).ngClassTouched,u["ɵnov"](n,79).ngClassPristine,u["ɵnov"](n,79).ngClassDirty,u["ɵnov"](n,79).ngClassValid,u["ɵnov"](n,79).ngClassInvalid,u["ɵnov"](n,79).ngClassPending,u["ɵnov"](n,80).validClass,u["ɵnov"](n,80).invalidClass),l(n,87,0,u["ɵnov"](n,88).hasErrors,u["ɵnov"](n,88).hasSuccess),l(n,97,0,u["ɵnov"](n,102).ngClassUntouched,u["ɵnov"](n,102).ngClassTouched,u["ɵnov"](n,102).ngClassPristine,u["ɵnov"](n,102).ngClassDirty,u["ɵnov"](n,102).ngClassValid,u["ɵnov"](n,102).ngClassInvalid,u["ɵnov"](n,102).ngClassPending,u["ɵnov"](n,103).validClass,u["ɵnov"](n,103).invalidClass);var o=u["ɵunv"](n,113,0,l(n,114,0,u["ɵnov"](n,0),e.action)),a=u["ɵunv"](n,113,1,l(n,115,0,u["ɵnov"](n,1),e.resource));l(n,113,0,o,a)}))}function $l(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"cd-crush-rule-form-modal",[],null,null,null,Gl,xl)),u["ɵdid"](1,114688,null,0,w,[y.a,kl.a,N.a,d,s.a,i.b],null,null)],(function(l,n){l(n,1,0)}),null)}var Kl=u["ɵccf"]("cd-crush-rule-form-modal",w,$l,{},{submitAction:"submitAction"},[]),Jl=u["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Hl(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["This field is required!"]))],null,null)}function Wl(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["The name can only consist of alphanumeric characters, dashes and underscores."]))],null,null)}function Zl(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["The chosen erasure code profile name is already in use."]))],null,null)}function Xl(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"option",[["ngValue",""]],null,null,null,null,null)),u["ɵdid"](1,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{ngValue:[0,"ngValue"]},null),u["ɵdid"](2,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),u["ɵted"](-1,null,["Loading..."]))],(function(l,n){l(n,1,0,""),l(n,2,0,"")}),null)}function Yl(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),u["ɵdid"](1,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{ngValue:[0,"ngValue"]},null),u["ɵdid"](2,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),u["ɵted"](3,null,[" "," "]))],(function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)}),(function(l,n){l(n,3,0,n.context.$implicit)}))}function Ql(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["This field is required!"]))],null,null)}function ln(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["This field is required!"]))],null,null)}function nn(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Must be equal to or greater than 2."]))],null,null)}function en(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["This field is required!"]))],null,null)}function un(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Must be equal to or greater than 1."]))],null,null)}function tn(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Must be equal to or greater than 1."]))],null,null)}function on(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,19,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](1,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,9,{FormControlNames:1}),u["ɵqud"](603979776,10,{messagesBlock:0}),(l()(),u["ɵeld"](4,0,null,0,4,"label",[["class","cd-col-form-label"],["for","c"]],null,null,null,null,null)),(l()(),u["ɵeld"](5,0,null,null,1,null,null,null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Durability estimator (c)"])),(l()(),u["ɵeld"](7,0,null,null,1,"cd-helper",[],null,null,null,Vl.b,Vl.a)),u["ɵdid"](8,49152,null,0,Tl.a,[],{html:[0,"html"]},null),(l()(),u["ɵeld"](9,0,null,0,10,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](10,0,null,null,7,"input",[["class","form-control"],["formControlName","c"],["id","c"],["name","c"],["placeholder","Coding chunks..."],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==u["ɵnov"](l,11)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,11).onTouched()&&i),"compositionstart"===n&&(i=!1!==u["ɵnov"](l,11)._compositionStart()&&i),"compositionend"===n&&(i=!1!==u["ɵnov"](l,11)._compositionEnd(e.target.value)&&i),"change"===n&&(i=!1!==u["ɵnov"](l,12).onChange(e.target.value)&&i),"input"===n&&(i=!1!==u["ɵnov"](l,12).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,12).onTouched()&&i),i}),null,null)),u["ɵdid"](11,16384,null,0,t.e,[u.Renderer2,u.ElementRef,[2,t.b]],null,null),u["ɵdid"](12,16384,null,0,t.w,[u.Renderer2,u.ElementRef],null,null),u["ɵprd"](1024,null,t.p,(function(l,n){return[l,n]}),[t.e,t.w]),u["ɵdid"](14,671744,[[9,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](16,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](17,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,tn)),u["ɵdid"](19,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var e=n.component;l(n,1,0),l(n,8,0,e.tooltips.plugins.shec.c),l(n,14,0,"c"),l(n,17,0,"c"),l(n,19,0,e.form.showError("c",u["ɵnov"](n.parent,11),"min"))}),(function(l,n){l(n,0,0,u["ɵnov"](n,1).hasErrors,u["ɵnov"](n,1).hasSuccess),l(n,10,0,u["ɵnov"](n,16).ngClassUntouched,u["ɵnov"](n,16).ngClassTouched,u["ɵnov"](n,16).ngClassPristine,u["ɵnov"](n,16).ngClassDirty,u["ɵnov"](n,16).ngClassValid,u["ɵnov"](n,16).ngClassInvalid,u["ɵnov"](n,16).ngClassPending,u["ɵnov"](n,17).validClass,u["ɵnov"](n,17).invalidClass)}))}function an(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["This field is required!"]))],null,null)}function sn(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Must be equal to or greater than 1."]))],null,null)}function rn(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,21,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](1,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,11,{FormControlNames:1}),u["ɵqud"](603979776,12,{messagesBlock:0}),(l()(),u["ɵeld"](4,0,null,0,4,"label",[["class","cd-col-form-label"],["for","l"]],null,null,null,null,null)),(l()(),u["ɵeld"](5,0,null,null,1,"span",[["class","required"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Locality (l)"])),(l()(),u["ɵeld"](7,0,null,null,1,"cd-helper",[],null,null,null,Vl.b,Vl.a)),u["ɵdid"](8,49152,null,0,Tl.a,[],{html:[0,"html"]},null),(l()(),u["ɵeld"](9,0,null,0,12,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](10,0,null,null,7,"input",[["class","form-control"],["formControlName","l"],["id","l"],["name","l"],["placeholder","Coding chunks..."],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==u["ɵnov"](l,11)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,11).onTouched()&&i),"compositionstart"===n&&(i=!1!==u["ɵnov"](l,11)._compositionStart()&&i),"compositionend"===n&&(i=!1!==u["ɵnov"](l,11)._compositionEnd(e.target.value)&&i),"change"===n&&(i=!1!==u["ɵnov"](l,12).onChange(e.target.value)&&i),"input"===n&&(i=!1!==u["ɵnov"](l,12).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,12).onTouched()&&i),i}),null,null)),u["ɵdid"](11,16384,null,0,t.e,[u.Renderer2,u.ElementRef,[2,t.b]],null,null),u["ɵdid"](12,16384,null,0,t.w,[u.Renderer2,u.ElementRef],null,null),u["ɵprd"](1024,null,t.p,(function(l,n){return[l,n]}),[t.e,t.w]),u["ɵdid"](14,671744,[[11,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](16,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](17,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,an)),u["ɵdid"](19,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,sn)),u["ɵdid"](21,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var e=n.component;l(n,1,0),l(n,8,0,e.tooltips.plugins.lrc.l),l(n,14,0,"l"),l(n,17,0,"l"),l(n,19,0,e.form.showError("l",u["ɵnov"](n.parent,11),"required")),l(n,21,0,e.form.showError("l",u["ɵnov"](n.parent,11),"min"))}),(function(l,n){l(n,0,0,u["ɵnov"](n,1).hasErrors,u["ɵnov"](n,1).hasSuccess),l(n,10,0,u["ɵnov"](n,16).ngClassUntouched,u["ɵnov"](n,16).ngClassTouched,u["ɵnov"](n,16).ngClassPristine,u["ɵnov"](n,16).ngClassDirty,u["ɵnov"](n,16).ngClassValid,u["ɵnov"](n,16).ngClassInvalid,u["ɵnov"](n,16).ngClassPending,u["ɵnov"](n,17).validClass,u["ɵnov"](n,17).invalidClass)}))}function dn(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"option",[["ngValue",""]],null,null,null,null,null)),u["ɵdid"](1,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{ngValue:[0,"ngValue"]},null),u["ɵdid"](2,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),u["ɵted"](-1,null,["Loading..."]))],(function(l,n){l(n,1,0,""),l(n,2,0,"")}),null)}function cn(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),u["ɵdid"](1,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{ngValue:[0,"ngValue"]},null),u["ɵdid"](2,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),u["ɵted"](3,null,[" "," "]))],(function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)}),(function(l,n){l(n,3,0,n.context.$implicit)}))}function mn(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"option",[["ngValue",""]],null,null,null,null,null)),u["ɵdid"](1,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{ngValue:[0,"ngValue"]},null),u["ɵdid"](2,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),u["ɵted"](-1,null,["Loading..."]))],(function(l,n){l(n,1,0,""),l(n,2,0,"")}),null)}function fn(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"option",[["ngValue",""]],null,null,null,null,null)),u["ɵdid"](1,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{ngValue:[0,"ngValue"]},null),u["ɵdid"](2,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),u["ɵted"](-1,null,["None"]))],(function(l,n){l(n,1,0,""),l(n,2,0,"")}),null)}function gn(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),u["ɵdid"](1,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{ngValue:[0,"ngValue"]},null),u["ɵdid"](2,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),u["ɵted"](3,null,[" "," "]))],(function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)}),(function(l,n){l(n,3,0,n.context.$implicit)}))}function pn(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,22,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](1,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,15,{FormControlNames:1}),u["ɵqud"](603979776,16,{messagesBlock:0}),(l()(),u["ɵeld"](4,0,null,0,4,"label",[["class","cd-col-form-label"],["for","crushLocality"]],null,null,null,null,null)),(l()(),u["ɵeld"](5,0,null,null,1,null,null,null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Crush Locality"])),(l()(),u["ɵeld"](7,0,null,null,1,"cd-helper",[],null,null,null,Vl.b,Vl.a)),u["ɵdid"](8,49152,null,0,Tl.a,[],{html:[0,"html"]},null),(l()(),u["ɵeld"](9,0,null,0,13,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](10,0,null,null,12,"select",[["class","form-control custom-select"],["formControlName","crushLocality"],["id","crushLocality"],["name","crushLocality"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,e){var i=!0;return"change"===n&&(i=!1!==u["ɵnov"](l,11).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,11).onTouched()&&i),i}),null,null)),u["ɵdid"](11,16384,null,0,t.A,[u.Renderer2,u.ElementRef],null,null),u["ɵprd"](1024,null,t.p,(function(l){return[l]}),[t.A]),u["ɵdid"](13,671744,[[15,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](15,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](16,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,mn)),u["ɵdid"](18,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,fn)),u["ɵdid"](20,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,gn)),u["ɵdid"](22,278528,null,0,Rl.NgForOf,[u.ViewContainerRef,u.TemplateRef,u.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(l,n){var e=n.component;l(n,1,0),l(n,8,0,e.tooltips.plugins.lrc.crushLocality),l(n,13,0,"crushLocality"),l(n,16,0,"crushLocality"),l(n,18,0,!e.failureDomains),l(n,20,0,e.failureDomains&&e.failureDomains.length>0),l(n,22,0,e.failureDomains)}),(function(l,n){l(n,0,0,u["ɵnov"](n,1).hasErrors,u["ɵnov"](n,1).hasSuccess),l(n,10,0,u["ɵnov"](n,15).ngClassUntouched,u["ɵnov"](n,15).ngClassTouched,u["ɵnov"](n,15).ngClassPristine,u["ɵnov"](n,15).ngClassDirty,u["ɵnov"](n,15).ngClassValid,u["ɵnov"](n,15).ngClassInvalid,u["ɵnov"](n,15).ngClassPending,u["ɵnov"](n,16).validClass,u["ɵnov"](n,16).invalidClass)}))}function hn(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),u["ɵdid"](1,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{ngValue:[0,"ngValue"]},null),u["ɵdid"](2,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),u["ɵted"](3,null,[" "," "]))],(function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)}),(function(l,n){l(n,3,0,n.context.$implicit)}))}function vn(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,18,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](1,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,17,{FormControlNames:1}),u["ɵqud"](603979776,18,{messagesBlock:0}),(l()(),u["ɵeld"](4,0,null,0,4,"label",[["class","cd-col-form-label"],["for","technique"]],null,null,null,null,null)),(l()(),u["ɵeld"](5,0,null,null,1,null,null,null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Technique"])),(l()(),u["ɵeld"](7,0,null,null,1,"cd-helper",[],null,null,null,Vl.b,Vl.a)),u["ɵdid"](8,49152,null,0,Tl.a,[],{html:[0,"html"]},null),(l()(),u["ɵeld"](9,0,null,0,9,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](10,0,null,null,8,"select",[["class","form-control custom-select"],["formControlName","technique"],["id","technique"],["name","technique"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,e){var i=!0;return"change"===n&&(i=!1!==u["ɵnov"](l,11).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,11).onTouched()&&i),i}),null,null)),u["ɵdid"](11,16384,null,0,t.A,[u.Renderer2,u.ElementRef],null,null),u["ɵprd"](1024,null,t.p,(function(l){return[l]}),[t.A]),u["ɵdid"](13,671744,[[17,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](15,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](16,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,hn)),u["ɵdid"](18,278528,null,0,Rl.NgForOf,[u.ViewContainerRef,u.TemplateRef,u.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(l,n){var e=n.component;l(n,1,0),l(n,8,0,e.tooltips.plugins[e.plugin].technique),l(n,13,0,"technique"),l(n,16,0,"technique"),l(n,18,0,e.techniques)}),(function(l,n){l(n,0,0,u["ɵnov"](n,1).hasErrors,u["ɵnov"](n,1).hasSuccess),l(n,10,0,u["ɵnov"](n,15).ngClassUntouched,u["ɵnov"](n,15).ngClassTouched,u["ɵnov"](n,15).ngClassPristine,u["ɵnov"](n,15).ngClassDirty,u["ɵnov"](n,15).ngClassValid,u["ɵnov"](n,15).ngClassInvalid,u["ɵnov"](n,15).ngClassPending,u["ɵnov"](n,16).validClass,u["ɵnov"](n,16).invalidClass)}))}function Cn(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Must be equal to or greater than 1."]))],null,null)}function bn(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,19,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](1,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,19,{FormControlNames:1}),u["ɵqud"](603979776,20,{messagesBlock:0}),(l()(),u["ɵeld"](4,0,null,0,4,"label",[["class","cd-col-form-label"],["for","packetSize"]],null,null,null,null,null)),(l()(),u["ɵeld"](5,0,null,null,1,null,null,null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Packetsize"])),(l()(),u["ɵeld"](7,0,null,null,1,"cd-helper",[],null,null,null,Vl.b,Vl.a)),u["ɵdid"](8,49152,null,0,Tl.a,[],{html:[0,"html"]},null),(l()(),u["ɵeld"](9,0,null,0,10,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](10,0,null,null,7,"input",[["class","form-control"],["formControlName","packetSize"],["id","packetSize"],["name","packetSize"],["placeholder","Packetsize..."],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==u["ɵnov"](l,11)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,11).onTouched()&&i),"compositionstart"===n&&(i=!1!==u["ɵnov"](l,11)._compositionStart()&&i),"compositionend"===n&&(i=!1!==u["ɵnov"](l,11)._compositionEnd(e.target.value)&&i),"change"===n&&(i=!1!==u["ɵnov"](l,12).onChange(e.target.value)&&i),"input"===n&&(i=!1!==u["ɵnov"](l,12).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,12).onTouched()&&i),i}),null,null)),u["ɵdid"](11,16384,null,0,t.e,[u.Renderer2,u.ElementRef,[2,t.b]],null,null),u["ɵdid"](12,16384,null,0,t.w,[u.Renderer2,u.ElementRef],null,null),u["ɵprd"](1024,null,t.p,(function(l,n){return[l,n]}),[t.e,t.w]),u["ɵdid"](14,671744,[[19,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](16,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](17,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Cn)),u["ɵdid"](19,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var e=n.component;l(n,1,0),l(n,8,0,e.tooltips.plugins.jerasure.packetSize),l(n,14,0,"packetSize"),l(n,17,0,"packetSize"),l(n,19,0,e.form.showError("packetSize",u["ɵnov"](n.parent,11),"min"))}),(function(l,n){l(n,0,0,u["ɵnov"](n,1).hasErrors,u["ɵnov"](n,1).hasSuccess),l(n,10,0,u["ɵnov"](n,16).ngClassUntouched,u["ɵnov"](n,16).ngClassTouched,u["ɵnov"](n,16).ngClassPristine,u["ɵnov"](n,16).ngClassDirty,u["ɵnov"](n,16).ngClassValid,u["ɵnov"](n,16).ngClassInvalid,u["ɵnov"](n,16).ngClassPending,u["ɵnov"](n,17).validClass,u["ɵnov"](n,17).invalidClass)}))}function Rn(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),u["ɵdid"](1,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{ngValue:[0,"ngValue"]},null),u["ɵdid"](2,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),u["ɵted"](3,null,[" "," "]))],(function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)}),(function(l,n){l(n,3,0,n.context.$implicit)}))}function In(l){return u["ɵvid"](0,[u["ɵpid"](0,Rl.TitleCasePipe,[]),u["ɵpid"](0,Il.a,[]),(l()(),u["ɵeld"](2,0,null,null,204,"cd-modal",[],null,null,null,Q.c,Q.b)),u["ɵdid"](3,49152,null,0,El.a,[],{modalRef:[0,"modalRef"]},null),(l()(),u["ɵeld"](4,0,null,0,3,null,null,null,null,null,null,null)),(l()(),u["ɵted"](5,null,[""," ",""])),u["ɵppd"](6,1),u["ɵppd"](7,1),(l()(),u["ɵeld"](8,0,null,1,198,null,null,null,null,null,null,null)),(l()(),u["ɵeld"](9,0,null,null,197,"form",[["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,e){var i=!0;return"submit"===n&&(i=!1!==u["ɵnov"](l,11).onSubmit(e)&&i),"reset"===n&&(i=!1!==u["ɵnov"](l,11).onReset()&&i),"submit"===n&&(i=!1!==u["ɵnov"](l,14).onSubmit()&&i),i}),null,null)),u["ɵdid"](10,16384,null,0,t.G,[],null,null),u["ɵdid"](11,540672,[["frm",4]],0,t.l,[[8,null],[8,null]],{form:[0,"form"]},null),u["ɵprd"](2048,null,t.d,null,[t.l]),u["ɵdid"](13,16384,null,0,t.s,[[4,t.d]],null,null),u["ɵdid"](14,16384,null,0,Nl.d,[],{formGroup:[0,"formGroup"]},null),(l()(),u["ɵeld"](15,0,null,null,183,"div",[["class","modal-body"]],null,null,null,null,null)),(l()(),u["ɵeld"](16,0,null,null,20,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](17,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,1,{FormControlNames:1}),u["ɵqud"](603979776,2,{messagesBlock:0}),(l()(),u["ɵeld"](20,0,null,0,1,"label",[["class","cd-col-form-label"],["for","name"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Name"])),(l()(),u["ɵeld"](22,0,null,0,14,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](23,0,null,null,7,"input",[["autofocus",""],["class","form-control"],["formControlName","name"],["id","name"],["name","name"],["placeholder","Name..."],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==u["ɵnov"](l,25)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,25).onTouched()&&i),"compositionstart"===n&&(i=!1!==u["ɵnov"](l,25)._compositionStart()&&i),"compositionend"===n&&(i=!1!==u["ɵnov"](l,25)._compositionEnd(e.target.value)&&i),i}),null,null)),u["ɵdid"](24,4210688,null,0,wl.a,[u.ElementRef],{autofocus:[0,"autofocus"]},null),u["ɵdid"](25,16384,null,0,t.e,[u.Renderer2,u.ElementRef,[2,t.b]],null,null),u["ɵprd"](1024,null,t.p,(function(l){return[l]}),[t.e]),u["ɵdid"](27,671744,[[1,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](29,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](30,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Hl)),u["ɵdid"](32,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Wl)),u["ɵdid"](34,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Zl)),u["ɵdid"](36,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵeld"](37,0,null,null,22,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](38,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,3,{FormControlNames:1}),u["ɵqud"](603979776,4,{messagesBlock:0}),(l()(),u["ɵeld"](41,0,null,0,4,"label",[["class","cd-col-form-label"],["for","plugin"]],null,null,null,null,null)),(l()(),u["ɵeld"](42,0,null,null,1,"span",[["class","required"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Plugin"])),(l()(),u["ɵeld"](44,0,null,null,1,"cd-helper",[],null,null,null,Vl.b,Vl.a)),u["ɵdid"](45,49152,null,0,Tl.a,[],{html:[0,"html"]},null),(l()(),u["ɵeld"](46,0,null,0,13,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](47,0,null,null,10,"select",[["class","form-control custom-select"],["formControlName","plugin"],["id","plugin"],["name","plugin"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,e){var i=!0;return"change"===n&&(i=!1!==u["ɵnov"](l,48).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,48).onTouched()&&i),i}),null,null)),u["ɵdid"](48,16384,null,0,t.A,[u.Renderer2,u.ElementRef],null,null),u["ɵprd"](1024,null,t.p,(function(l){return[l]}),[t.A]),u["ɵdid"](50,671744,[[3,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](52,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](53,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Xl)),u["ɵdid"](55,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Yl)),u["ɵdid"](57,278528,null,0,Rl.NgForOf,[u.ViewContainerRef,u.TemplateRef,u.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Ql)),u["ɵdid"](59,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵeld"](60,0,null,null,24,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](61,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,5,{FormControlNames:1}),u["ɵqud"](603979776,6,{messagesBlock:0}),(l()(),u["ɵeld"](64,0,null,0,7,"label",[["class","cd-col-form-label"],["for","k"]],null,null,null,null,null)),(l()(),u["ɵeld"](65,0,null,null,4,"span",[],null,null,null,null,null)),u["ɵprd"](512,null,Rl["ɵNgClassImpl"],Rl["ɵNgClassR2Impl"],[u.IterableDiffers,u.KeyValueDiffers,u.ElementRef,u.Renderer2]),u["ɵdid"](67,278528,null,0,Rl.NgClass,[Rl["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),u["ɵpod"](68,{required:0}),(l()(),u["ɵted"](-1,null,["Data chunks (k)"])),(l()(),u["ɵeld"](70,0,null,null,1,"cd-helper",[],null,null,null,Vl.b,Vl.a)),u["ɵdid"](71,49152,null,0,Tl.a,[],{html:[0,"html"]},null),(l()(),u["ɵeld"](72,0,null,0,12,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](73,0,null,null,7,"input",[["class","form-control"],["formControlName","k"],["id","k"],["name","k"],["ng-model","$ctrl.erasureCodeProfile.k"],["placeholder","Data chunks..."],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==u["ɵnov"](l,74)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,74).onTouched()&&i),"compositionstart"===n&&(i=!1!==u["ɵnov"](l,74)._compositionStart()&&i),"compositionend"===n&&(i=!1!==u["ɵnov"](l,74)._compositionEnd(e.target.value)&&i),"change"===n&&(i=!1!==u["ɵnov"](l,75).onChange(e.target.value)&&i),"input"===n&&(i=!1!==u["ɵnov"](l,75).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,75).onTouched()&&i),i}),null,null)),u["ɵdid"](74,16384,null,0,t.e,[u.Renderer2,u.ElementRef,[2,t.b]],null,null),u["ɵdid"](75,16384,null,0,t.w,[u.Renderer2,u.ElementRef],null,null),u["ɵprd"](1024,null,t.p,(function(l,n){return[l,n]}),[t.e,t.w]),u["ɵdid"](77,671744,[[5,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](79,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](80,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,ln)),u["ɵdid"](82,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,nn)),u["ɵdid"](84,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵeld"](85,0,null,null,24,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](86,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,7,{FormControlNames:1}),u["ɵqud"](603979776,8,{messagesBlock:0}),(l()(),u["ɵeld"](89,0,null,0,7,"label",[["class","cd-col-form-label"],["for","m"]],null,null,null,null,null)),(l()(),u["ɵeld"](90,0,null,null,4,"span",[],null,null,null,null,null)),u["ɵprd"](512,null,Rl["ɵNgClassImpl"],Rl["ɵNgClassR2Impl"],[u.IterableDiffers,u.KeyValueDiffers,u.ElementRef,u.Renderer2]),u["ɵdid"](92,278528,null,0,Rl.NgClass,[Rl["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),u["ɵpod"](93,{required:0}),(l()(),u["ɵted"](-1,null,["Coding chunks (m)"])),(l()(),u["ɵeld"](95,0,null,null,1,"cd-helper",[],null,null,null,Vl.b,Vl.a)),u["ɵdid"](96,49152,null,0,Tl.a,[],{html:[0,"html"]},null),(l()(),u["ɵeld"](97,0,null,0,12,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](98,0,null,null,7,"input",[["class","form-control"],["formControlName","m"],["id","m"],["name","m"],["placeholder","Coding chunks..."],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==u["ɵnov"](l,99)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,99).onTouched()&&i),"compositionstart"===n&&(i=!1!==u["ɵnov"](l,99)._compositionStart()&&i),"compositionend"===n&&(i=!1!==u["ɵnov"](l,99)._compositionEnd(e.target.value)&&i),"change"===n&&(i=!1!==u["ɵnov"](l,100).onChange(e.target.value)&&i),"input"===n&&(i=!1!==u["ɵnov"](l,100).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,100).onTouched()&&i),i}),null,null)),u["ɵdid"](99,16384,null,0,t.e,[u.Renderer2,u.ElementRef,[2,t.b]],null,null),u["ɵdid"](100,16384,null,0,t.w,[u.Renderer2,u.ElementRef],null,null),u["ɵprd"](1024,null,t.p,(function(l,n){return[l,n]}),[t.e,t.w]),u["ɵdid"](102,671744,[[7,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](104,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](105,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,en)),u["ɵdid"](107,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,un)),u["ɵdid"](109,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,on)),u["ɵdid"](111,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,rn)),u["ɵdid"](113,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵeld"](114,0,null,null,20,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](115,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,13,{FormControlNames:1}),u["ɵqud"](603979776,14,{messagesBlock:0}),(l()(),u["ɵeld"](118,0,null,0,4,"label",[["class","cd-col-form-label"],["for","crushFailureDomain"]],null,null,null,null,null)),(l()(),u["ɵeld"](119,0,null,null,1,null,null,null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Crush failure domain"])),(l()(),u["ɵeld"](121,0,null,null,1,"cd-helper",[],null,null,null,Vl.b,Vl.a)),u["ɵdid"](122,49152,null,0,Tl.a,[],{html:[0,"html"]},null),(l()(),u["ɵeld"](123,0,null,0,11,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](124,0,null,null,10,"select",[["class","form-control custom-select"],["formControlName","crushFailureDomain"],["id","crushFailureDomain"],["name","crushFailureDomain"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,e){var i=!0;return"change"===n&&(i=!1!==u["ɵnov"](l,125).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,125).onTouched()&&i),i}),null,null)),u["ɵdid"](125,16384,null,0,t.A,[u.Renderer2,u.ElementRef],null,null),u["ɵprd"](1024,null,t.p,(function(l){return[l]}),[t.A]),u["ɵdid"](127,671744,[[13,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](129,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](130,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,dn)),u["ɵdid"](132,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,cn)),u["ɵdid"](134,278528,null,0,Rl.NgForOf,[u.ViewContainerRef,u.TemplateRef,u.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,pn)),u["ɵdid"](136,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,2,null,vn)),u["ɵdid"](138,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),u["ɵpad"](139,2),(l()(),u["ɵand"](16777216,null,null,1,null,bn)),u["ɵdid"](141,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵeld"](142,0,null,null,16,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](143,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,21,{FormControlNames:1}),u["ɵqud"](603979776,22,{messagesBlock:0}),(l()(),u["ɵeld"](146,0,null,0,4,"label",[["class","cd-col-form-label"],["for","crushRoot"]],null,null,null,null,null)),(l()(),u["ɵeld"](147,0,null,null,1,null,null,null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Crush root"])),(l()(),u["ɵeld"](149,0,null,null,1,"cd-helper",[],null,null,null,Vl.b,Vl.a)),u["ɵdid"](150,49152,null,0,Tl.a,[],{html:[0,"html"]},null),(l()(),u["ɵeld"](151,0,null,0,7,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](152,0,null,null,6,"input",[["class","form-control"],["formControlName","crushRoot"],["id","crushRoot"],["name","crushRoot"],["placeholder","root..."],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==u["ɵnov"](l,153)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,153).onTouched()&&i),"compositionstart"===n&&(i=!1!==u["ɵnov"](l,153)._compositionStart()&&i),"compositionend"===n&&(i=!1!==u["ɵnov"](l,153)._compositionEnd(e.target.value)&&i),i}),null,null)),u["ɵdid"](153,16384,null,0,t.e,[u.Renderer2,u.ElementRef,[2,t.b]],null,null),u["ɵprd"](1024,null,t.p,(function(l){return[l]}),[t.e]),u["ɵdid"](155,671744,[[21,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](157,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](158,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵeld"](159,0,null,null,22,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](160,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,23,{FormControlNames:1}),u["ɵqud"](603979776,24,{messagesBlock:0}),(l()(),u["ɵeld"](163,0,null,0,4,"label",[["class","cd-col-form-label"],["for","crushDeviceClass"]],null,null,null,null,null)),(l()(),u["ɵeld"](164,0,null,null,1,null,null,null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Crush device class"])),(l()(),u["ɵeld"](166,0,null,null,1,"cd-helper",[],null,null,null,Vl.b,Vl.a)),u["ɵdid"](167,49152,null,0,Tl.a,[],{html:[0,"html"]},null),(l()(),u["ɵeld"](168,0,null,0,13,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](169,0,null,null,12,"select",[["class","form-control custom-select"],["formControlName","crushDeviceClass"],["id","crushDeviceClass"],["name","crushDeviceClass"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,e){var i=!0;return"change"===n&&(i=!1!==u["ɵnov"](l,170).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,170).onTouched()&&i),i}),null,null)),u["ɵdid"](170,16384,null,0,t.A,[u.Renderer2,u.ElementRef],null,null),u["ɵprd"](1024,null,t.p,(function(l){return[l]}),[t.A]),u["ɵdid"](172,671744,[[23,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](174,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](175,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵeld"](176,0,null,null,3,"option",[["ngValue",""]],null,null,null,null,null)),u["ɵdid"](177,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{ngValue:[0,"ngValue"]},null),u["ɵdid"](178,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),u["ɵted"](-1,null,["any"])),(l()(),u["ɵand"](16777216,null,null,1,null,Rn)),u["ɵdid"](181,278528,null,0,Rl.NgForOf,[u.ViewContainerRef,u.TemplateRef,u.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),u["ɵeld"](182,0,null,null,16,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](183,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,25,{FormControlNames:1}),u["ɵqud"](603979776,26,{messagesBlock:0}),(l()(),u["ɵeld"](186,0,null,0,4,"label",[["class","cd-col-form-label"],["for","directory"]],null,null,null,null,null)),(l()(),u["ɵeld"](187,0,null,null,1,null,null,null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Directory"])),(l()(),u["ɵeld"](189,0,null,null,1,"cd-helper",[],null,null,null,Vl.b,Vl.a)),u["ɵdid"](190,49152,null,0,Tl.a,[],{html:[0,"html"]},null),(l()(),u["ɵeld"](191,0,null,0,7,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](192,0,null,null,6,"input",[["class","form-control"],["formControlName","directory"],["id","directory"],["name","directory"],["placeholder","Path..."],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==u["ɵnov"](l,193)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,193).onTouched()&&i),"compositionstart"===n&&(i=!1!==u["ɵnov"](l,193)._compositionStart()&&i),"compositionend"===n&&(i=!1!==u["ɵnov"](l,193)._compositionEnd(e.target.value)&&i),i}),null,null)),u["ɵdid"](193,16384,null,0,t.e,[u.Renderer2,u.ElementRef,[2,t.b]],null,null),u["ɵprd"](1024,null,t.p,(function(l){return[l]}),[t.e]),u["ɵdid"](195,671744,[[25,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](197,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](198,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵeld"](199,0,null,null,7,"div",[["class","modal-footer"]],null,null,null,null,null)),(l()(),u["ɵeld"](200,0,null,null,4,"cd-submit-button",[],null,[[null,"submitAction"]],(function(l,n,e){var u=!0;return"submitAction"===n&&(u=!1!==l.component.onSubmit()&&u),u}),Sl.b,Sl.a)),u["ɵdid"](201,114688,null,0,_l.a,[u.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(l()(),u["ɵted"](202,0,[""," ",""])),u["ɵppd"](203,1),u["ɵppd"](204,1),(l()(),u["ɵeld"](205,0,null,null,1,"cd-back-button",[],null,null,null,ql.b,ql.a)),u["ɵdid"](206,49152,null,0,Dl.a,[Rl.Location,i.b],{back:[0,"back"]},null)],(function(l,n){var e=n.component;l(n,3,0,e.bsModalRef),l(n,11,0,e.form),l(n,14,0,e.form),l(n,17,0),l(n,24,0,""),l(n,27,0,"name"),l(n,30,0,"name"),l(n,32,0,e.form.showError("name",u["ɵnov"](n,11),"required")),l(n,34,0,e.form.showError("name",u["ɵnov"](n,11),"pattern")),l(n,36,0,e.form.showError("name",u["ɵnov"](n,11),"uniqueName")),l(n,38,0),l(n,45,0,e.tooltips.plugins[e.plugin].description),l(n,50,0,"plugin"),l(n,53,0,"plugin"),l(n,55,0,!e.plugins),l(n,57,0,e.plugins),l(n,59,0,e.form.showError("name",u["ɵnov"](n,11),"required")),l(n,61,0);var i=l(n,68,0,e.requiredControls.includes("k"));l(n,67,0,i),l(n,71,0,e.tooltips.k),l(n,77,0,"k"),l(n,80,0,"k"),l(n,82,0,e.form.showError("k",u["ɵnov"](n,11),"required")),l(n,84,0,e.form.showError("k",u["ɵnov"](n,11),"min")),l(n,86,0);var t=l(n,93,0,e.requiredControls.includes("m"));l(n,92,0,t),l(n,96,0,e.tooltips.m),l(n,102,0,"m"),l(n,105,0,"m"),l(n,107,0,e.form.showError("m",u["ɵnov"](n,11),"required")),l(n,109,0,e.form.showError("m",u["ɵnov"](n,11),"min")),l(n,111,0,"shec"===e.plugin),l(n,113,0,e.plugin===e.PLUGIN.LRC),l(n,115,0),l(n,122,0,e.tooltips.crushFailureDomain),l(n,127,0,"crushFailureDomain"),l(n,130,0,"crushFailureDomain"),l(n,132,0,!e.failureDomains),l(n,134,0,e.failureDomains),l(n,136,0,e.plugin===e.PLUGIN.LRC);var o=l(n,139,0,e.PLUGIN.JERASURE,e.PLUGIN.ISA).includes(e.plugin);l(n,138,0,o),l(n,141,0,e.plugin===e.PLUGIN.JERASURE),l(n,143,0),l(n,150,0,e.tooltips.crushRoot),l(n,155,0,"crushRoot"),l(n,158,0,"crushRoot"),l(n,160,0),l(n,167,0,e.tooltips.crushDeviceClass),l(n,172,0,"crushDeviceClass"),l(n,175,0,"crushDeviceClass"),l(n,177,0,""),l(n,178,0,""),l(n,181,0,e.devices),l(n,183,0),l(n,190,0,e.tooltips.directory),l(n,195,0,"directory"),l(n,198,0,"directory"),l(n,201,0,u["ɵnov"](n,11)),l(n,206,0,e.bsModalRef.hide)}),(function(l,n){var e=n.component,i=u["ɵunv"](n,5,0,l(n,6,0,u["ɵnov"](n,0),e.action)),t=u["ɵunv"](n,5,1,l(n,7,0,u["ɵnov"](n,1),e.resource));l(n,5,0,i,t),l(n,9,0,u["ɵnov"](n,13).ngClassUntouched,u["ɵnov"](n,13).ngClassTouched,u["ɵnov"](n,13).ngClassPristine,u["ɵnov"](n,13).ngClassDirty,u["ɵnov"](n,13).ngClassValid,u["ɵnov"](n,13).ngClassInvalid,u["ɵnov"](n,13).ngClassPending),l(n,16,0,u["ɵnov"](n,17).hasErrors,u["ɵnov"](n,17).hasSuccess),l(n,23,0,u["ɵnov"](n,29).ngClassUntouched,u["ɵnov"](n,29).ngClassTouched,u["ɵnov"](n,29).ngClassPristine,u["ɵnov"](n,29).ngClassDirty,u["ɵnov"](n,29).ngClassValid,u["ɵnov"](n,29).ngClassInvalid,u["ɵnov"](n,29).ngClassPending,u["ɵnov"](n,30).validClass,u["ɵnov"](n,30).invalidClass),l(n,37,0,u["ɵnov"](n,38).hasErrors,u["ɵnov"](n,38).hasSuccess),l(n,47,0,u["ɵnov"](n,52).ngClassUntouched,u["ɵnov"](n,52).ngClassTouched,u["ɵnov"](n,52).ngClassPristine,u["ɵnov"](n,52).ngClassDirty,u["ɵnov"](n,52).ngClassValid,u["ɵnov"](n,52).ngClassInvalid,u["ɵnov"](n,52).ngClassPending,u["ɵnov"](n,53).validClass,u["ɵnov"](n,53).invalidClass),l(n,60,0,u["ɵnov"](n,61).hasErrors,u["ɵnov"](n,61).hasSuccess),l(n,73,0,u["ɵnov"](n,79).ngClassUntouched,u["ɵnov"](n,79).ngClassTouched,u["ɵnov"](n,79).ngClassPristine,u["ɵnov"](n,79).ngClassDirty,u["ɵnov"](n,79).ngClassValid,u["ɵnov"](n,79).ngClassInvalid,u["ɵnov"](n,79).ngClassPending,u["ɵnov"](n,80).validClass,u["ɵnov"](n,80).invalidClass),l(n,85,0,u["ɵnov"](n,86).hasErrors,u["ɵnov"](n,86).hasSuccess),l(n,98,0,u["ɵnov"](n,104).ngClassUntouched,u["ɵnov"](n,104).ngClassTouched,u["ɵnov"](n,104).ngClassPristine,u["ɵnov"](n,104).ngClassDirty,u["ɵnov"](n,104).ngClassValid,u["ɵnov"](n,104).ngClassInvalid,u["ɵnov"](n,104).ngClassPending,u["ɵnov"](n,105).validClass,u["ɵnov"](n,105).invalidClass),l(n,114,0,u["ɵnov"](n,115).hasErrors,u["ɵnov"](n,115).hasSuccess),l(n,124,0,u["ɵnov"](n,129).ngClassUntouched,u["ɵnov"](n,129).ngClassTouched,u["ɵnov"](n,129).ngClassPristine,u["ɵnov"](n,129).ngClassDirty,u["ɵnov"](n,129).ngClassValid,u["ɵnov"](n,129).ngClassInvalid,u["ɵnov"](n,129).ngClassPending,u["ɵnov"](n,130).validClass,u["ɵnov"](n,130).invalidClass),l(n,142,0,u["ɵnov"](n,143).hasErrors,u["ɵnov"](n,143).hasSuccess),l(n,152,0,u["ɵnov"](n,157).ngClassUntouched,u["ɵnov"](n,157).ngClassTouched,u["ɵnov"](n,157).ngClassPristine,u["ɵnov"](n,157).ngClassDirty,u["ɵnov"](n,157).ngClassValid,u["ɵnov"](n,157).ngClassInvalid,u["ɵnov"](n,157).ngClassPending,u["ɵnov"](n,158).validClass,u["ɵnov"](n,158).invalidClass),l(n,159,0,u["ɵnov"](n,160).hasErrors,u["ɵnov"](n,160).hasSuccess),l(n,169,0,u["ɵnov"](n,174).ngClassUntouched,u["ɵnov"](n,174).ngClassTouched,u["ɵnov"](n,174).ngClassPristine,u["ɵnov"](n,174).ngClassDirty,u["ɵnov"](n,174).ngClassValid,u["ɵnov"](n,174).ngClassInvalid,u["ɵnov"](n,174).ngClassPending,u["ɵnov"](n,175).validClass,u["ɵnov"](n,175).invalidClass),l(n,182,0,u["ɵnov"](n,183).hasErrors,u["ɵnov"](n,183).hasSuccess),l(n,192,0,u["ɵnov"](n,197).ngClassUntouched,u["ɵnov"](n,197).ngClassTouched,u["ɵnov"](n,197).ngClassPristine,u["ɵnov"](n,197).ngClassDirty,u["ɵnov"](n,197).ngClassValid,u["ɵnov"](n,197).ngClassInvalid,u["ɵnov"](n,197).ngClassPending,u["ɵnov"](n,198).validClass,u["ɵnov"](n,198).invalidClass);var o=u["ɵunv"](n,202,0,l(n,203,0,u["ɵnov"](n,0),e.action)),a=u["ɵunv"](n,202,1,l(n,204,0,u["ɵnov"](n,1),e.resource));l(n,202,0,o,a)}))}function En(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"cd-erasure-code-profile-form-modal",[],null,null,null,In,Jl)),u["ɵdid"](1,114688,null,0,T,[y.a,kl.a,N.a,c,s.a,i.b],null,null)],(function(l,n){l(n,1,0)}),null)}var Nn=u["ɵccf"]("cd-erasure-code-profile-form-modal",T,En,{},{submitAction:"submitAction"},[]),yn=e("FO+L"),wn=e("nhM1"),Vn=e("BARL"),Tn=e("yT6U"),Sn=e("4DD9"),_n=e("iExv"),qn=e("85J/"),Dn=e("+0ag"),kn=e("IzCI"),xn=e("Dwqy"),Pn=e("uYzU"),Fn=e("FFMq"),An=e("E2fk"),Bn=e("a0VL"),On=e("nSDx"),zn=e("SB+Q"),jn=e("TYzs"),Ln=e("BQkM"),Un=e("dEH0"),Mn=e("G1/K"),Gn=e("TJUb"),$n=e("CNMR"),Kn=e("KOzp"),Jn=e("2uy1"),Hn=e("z/SZ"),Wn=e("38Bd"),Zn=e("978R"),Xn=e("FE24"),Yn=e("Avrn"),Qn=e("iInd"),le=e("2ZVE"),ne=e("ienR"),ee=e("gk6K"),ue=e("F8xH"),ie=e("9Xeq"),te=e("hrfs"),oe=e("yGOH"),ae=e("bxSN"),se=e("WF9J"),re=e("V/fk"),de=e("ChqD"),ce=e("PCNd"),me=e("kJI8"),fe=e("kccj"),ge=e("yYhs"),pe=e("k/xb"),he=e("C6Ij"),ve=e("AWcq"),Ce=e("xSw7"),be=e("GgAd"),Re=e("a278"),Ie=e("insk"),Ee=e("mSOc"),Ne=e("cUpR"),ye=e("20UP"),we=e("pKUh"),Ve=e("25BL"),Te=e("NUGo"),Se=e("S7zO"),_e=e("EFGL"),qe=e("aAWM"),De=e("o8EM"),ke=e("sLuX"),xe=e("FSuO");e("jKX/");class Pe{constructor(l,n){this.i18n=l,this.poolService=n,this.cacheTierColumns=[],this.cacheTierColumns=[{prop:"pool_name",name:this.i18n("Name"),flexGrow:3},{prop:"cache_mode",name:this.i18n("Cache Mode"),flexGrow:2},{prop:"cache_min_evict_age",name:this.i18n("Min Evict Age"),flexGrow:2},{prop:"cache_min_flush_age",name:this.i18n("Min Flush Age"),flexGrow:2},{prop:"target_max_bytes",name:this.i18n("Target Max Bytes"),flexGrow:2},{prop:"target_max_objects",name:this.i18n("Target Max Objects"),flexGrow:2}]}ngOnChanges(){this.selection.hasSingleSelection&&this.poolService.getConfiguration(this.selection.first().pool_name).subscribe(l=>{this.selectedPoolConfiguration=l})}filterNonPoolData(l){return o.omit(l,["cdExecuting","cdIsBinary"])}}var Fe=u["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Ae(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"tab",[["heading","Performance Details"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),u["ɵdid"](1,212992,null,0,le.b,[le.e,u.ElementRef,u.Renderer2],{heading:[0,"heading"]},null),(l()(),u["ɵeld"](2,0,null,null,1,"cd-grafana",[["grafanaStyle","one"],["uid","-xyV8KCiz"]],null,null,null,Re.b,Re.a)),u["ɵdid"](3,638976,null,0,Ie.a,[Ee.a,Ne.b,ye.a,Dn.a,s.a],{grafanaPath:[0,"grafanaPath"],grafanaStyle:[1,"grafanaStyle"],uid:[2,"uid"]},null)],(function(l,n){var e=n.component;l(n,1,0,"Performance Details"),l(n,3,0,"ceph-pool-detail?var-pool_name="+e.selection.first().pool_name,"one","-xyV8KCiz")}),(function(l,n){l(n,0,0,u["ɵnov"](n,1).id,u["ɵnov"](n,1).active,u["ɵnov"](n,1).addClass)}))}function Be(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"tab",[["heading","Configuration"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),u["ɵdid"](1,212992,null,0,le.b,[le.e,u.ElementRef,u.Renderer2],{heading:[0,"heading"]},null),(l()(),u["ɵeld"](2,0,null,null,1,"cd-rbd-configuration-table",[],null,null,null,_e.b,_e.a)),u["ɵdid"](3,638976,null,0,qe.a,[E.a,De.a,s.a],{data:[0,"data"]},null)],(function(l,n){var e=n.component;l(n,1,0,"Configuration"),l(n,3,0,e.selectedPoolConfiguration)}),(function(l,n){l(n,0,0,u["ɵnov"](n,1).id,u["ɵnov"](n,1).active,u["ɵnov"](n,1).addClass)}))}function Oe(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"tab",[["heading","Cache Tiers Details"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),u["ɵdid"](1,212992,null,0,le.b,[le.e,u.ElementRef,u.Renderer2],{heading:[0,"heading"]},null),(l()(),u["ɵeld"](2,0,null,null,1,"cd-table",[["columnMode","flex"]],null,null,null,Ve.b,Ve.a)),u["ɵdid"](3,2867200,null,0,k.a,[u.NgZone,u.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],autoSave:[3,"autoSave"]},null)],(function(l,n){var e=n.component;l(n,1,0,"Cache Tiers Details"),l(n,3,0,e.cacheTiers,e.cacheTierColumns,"flex",!1)}),(function(l,n){l(n,0,0,u["ɵnov"](n,1).id,u["ɵnov"](n,1).active,u["ɵnov"](n,1).addClass)}))}function ze(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,11,"tabset",[["cdTableDetail",""]],[[2,"tab-container",null]],null,null,we.b,we.a)),u["ɵdid"](1,180224,[[1,4],["tabsetChild",4]],0,le.e,[le.f,u.Renderer2,u.ElementRef],null,null),(l()(),u["ɵeld"](2,0,null,0,3,"tab",[["heading","Details"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),u["ɵdid"](3,212992,null,0,le.b,[le.e,u.ElementRef,u.Renderer2],{heading:[0,"heading"]},null),(l()(),u["ɵeld"](4,0,null,null,1,"cd-table-key-value",[],null,null,null,ke.b,ke.a)),u["ɵdid"](5,638976,null,0,xe.a,[Bn.a],{data:[0,"data"],autoReload:[1,"autoReload"],renderObjects:[2,"renderObjects"]},null),(l()(),u["ɵand"](16777216,null,0,1,null,Ae)),u["ɵdid"](7,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,0,1,null,Be)),u["ɵdid"](9,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,0,1,null,Oe)),u["ɵdid"](11,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var e=n.component;l(n,3,0,"Details"),l(n,5,0,e.filterNonPoolData(e.selection.first()),!1,!0),l(n,7,0,e.permissions.grafana.read),l(n,9,0,"replicated"===e.selection.first().type),l(n,11,0,(null==e.selection.first().tiers?null:e.selection.first().tiers.length)>0)}),(function(l,n){l(n,0,0,u["ɵnov"](n,1).clazz),l(n,2,0,u["ɵnov"](n,3).id,u["ɵnov"](n,3).active,u["ɵnov"](n,3).addClass)}))}function je(l){return u["ɵvid"](0,[u["ɵqud"](671088640,1,{tabsetChild:0}),(l()(),u["ɵand"](16777216,null,null,1,null,ze)),u["ɵdid"](2,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){l(n,2,0,n.component.selection.hasSingleSelection)}),null)}var Le=e("ufoC"),Ue=u["ɵcrt"]({encapsulation:0,styles:[[".pg-clean{color:#0b0}  .pg-working{color:#2b99a8}  .pg-warning{color:#ffc200}  .pg-unknown{color:red}"]],data:{}});function Me(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"cd-view-cache",[],null,null,null,he.b,he.a)),u["ɵdid"](1,114688,null,0,ve.a,[],{status:[0,"status"],statusFor:[1,"statusFor"]},null)],(function(l,n){l(n,1,0,n.context.$implicit.status,n.context.$implicit.statusFor)}),null)}function Ge(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"cd-usage-bar",[],null,null,null,Ce.b,Ce.a)),u["ɵdid"](1,573440,null,0,be.a,[],{totalBytes:[0,"totalBytes"],usedBytes:[1,"usedBytes"]},null)],(function(l,n){l(n,1,0,n.parent.context.row.stats.bytes_used.latest+n.parent.context.row.stats.max_avail.latest,n.parent.context.row.stats.bytes_used.latest)}),null)}function $e(l){return u["ɵvid"](0,[(l()(),u["ɵand"](16777216,null,null,1,null,Ge)),u["ɵdid"](1,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](0,null,null,0))],(function(l,n){l(n,1,0,null==n.context.row.stats?null:null==n.context.row.stats.max_avail?null:n.context.row.stats.max_avail.latest)}),null)}function Ke(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"tab",[["heading","Overall Performance"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),u["ɵdid"](1,212992,null,0,le.b,[le.e,u.ElementRef,u.Renderer2],{heading:[0,"heading"]},null),(l()(),u["ɵeld"](2,0,null,null,1,"cd-grafana",[["grafanaStyle","two"],["uid","z99hzWtmk"]],null,null,null,Re.b,Re.a)),u["ɵdid"](3,638976,null,0,Ie.a,[Ee.a,Ne.b,ye.a,Dn.a,s.a],{grafanaPath:[0,"grafanaPath"],grafanaStyle:[1,"grafanaStyle"],uid:[2,"uid"]},null)],(function(l,n){l(n,1,0,"Overall Performance"),l(n,3,0,"ceph-pools-overview?","two","z99hzWtmk")}),(function(l,n){l(n,0,0,u["ɵnov"](n,1).id,u["ɵnov"](n,1).active,u["ɵnov"](n,1).addClass)}))}function Je(l){return u["ɵvid"](0,[u["ɵqud"](402653184,1,{table:0}),u["ɵqud"](402653184,2,{poolUsageTpl:0}),u["ɵqud"](671088640,3,{poolConfigurationSourceTpl:0}),(l()(),u["ɵeld"](3,0,null,null,14,"tabset",[],[[2,"tab-container",null]],null,null,we.b,we.a)),u["ɵdid"](4,180224,null,0,le.e,[le.f,u.Renderer2,u.ElementRef],null,null),(l()(),u["ɵeld"](5,0,null,0,10,"tab",[["heading","Pools List"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),u["ɵdid"](6,212992,null,0,le.b,[le.e,u.ElementRef,u.Renderer2],{heading:[0,"heading"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Me)),u["ɵdid"](8,278528,null,0,Rl.NgForOf,[u.ViewContainerRef,u.TemplateRef,u.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),u["ɵeld"](9,0,null,null,5,"cd-table",[["id","pool-list"],["selectionType","single"]],null,[[null,"updateSelection"]],(function(l,n,e){var u=!0;return"updateSelection"===n&&(u=!1!==l.component.updateSelection(e)&&u),u}),Ve.b,Ve.a)),u["ɵdid"](10,2867200,[[1,4],["table",4]],0,k.a,[u.NgZone,u.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],selectionType:[2,"selectionType"]},{updateSelection:"updateSelection"}),(l()(),u["ɵeld"](11,0,null,1,1,"cd-table-actions",[["class","table-actions"],["id","pool-list-actions"]],null,null,null,Te.b,Te.a)),u["ɵdid"](12,114688,null,0,Se.a,[],{permission:[0,"permission"],selection:[1,"selection"],tableActions:[2,"tableActions"]},null),(l()(),u["ɵeld"](13,0,null,3,1,"cd-pool-details",[["cdTableDetail",""],["id","pool-list-details"]],null,null,null,je,Fe)),u["ɵdid"](14,573440,null,0,Pe,[s.a,m.a],{selection:[0,"selection"],permissions:[1,"permissions"],cacheTiers:[2,"cacheTiers"]},null),(l()(),u["ɵand"](0,[[2,2],["poolUsageTpl",2]],null,0,null,$e)),(l()(),u["ɵand"](16777216,null,0,1,null,Ke)),u["ɵdid"](17,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var e=n.component;l(n,6,0,"Pools List"),l(n,8,0,e.viewCacheStatusList),l(n,10,0,e.pools,e.columns,"single"),l(n,12,0,e.permissions.pool,e.selection,e.tableActions),l(n,14,0,e.selection,e.permissions,e.selectionCacheTiers),l(n,17,0,e.permissions.grafana.read)}),(function(l,n){l(n,3,0,u["ɵnov"](n,4).clazz),l(n,5,0,u["ɵnov"](n,6).id,u["ɵnov"](n,6).active,u["ɵnov"](n,6).addClass)}))}function He(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"cd-pool-list",[],null,null,null,Je,Ue)),u["ɵprd"](131584,null,B.a,B.a,[Le.a,Ee.a]),u["ɵprd"](256,null,O.a,L,[]),u["ɵdid"](3,114688,null,0,U,[m.a,N.a,I.a,B.a,kl.b,s.a,z.a,A.a,O.a,D.a,i.b],null,null)],(function(l,n){l(n,3,0)}),null)}var We=u["ɵccf"]("cd-pool-list",U,He,{},{},[]),Ze=e("QC43"),Xe=e("XFyV"),Ye=e("EmSq"),Qe=e("pYKc"),lu=e("ppaS"),nu=e("BH9v"),eu=e("rFfW"),uu=u["ɵcrt"]({encapsulation:0,styles:[[".crush-rule-steps[_ngcontent-%COMP%]{margin-top:10px}"]],data:{}});function iu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,2,"cd-loading-panel",[],null,null,null,Ze.b,Ze.a)),u["ɵdid"](1,49152,null,0,Xe.a,[],null,null),(l()(),u["ɵted"](-1,0,["Loading..."]))],null,null)}function tu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["This field is required!"]))],null,null)}function ou(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["The chosen Ceph pool name is already in use."]))],null,null)}function au(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["It's not possible to create an RBD pool with '/' in the name. Please change the name or remove 'rbd' from the applications list."]))],null,null)}function su(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Pool name can only contain letters, numbers, '.', '-', '_' or '/'."]))],null,null)}function ru(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),u["ɵdid"](1,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{value:[0,"value"]},null),u["ɵdid"](2,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),u["ɵted"](3,null,[" "," "]))],(function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)}),(function(l,n){l(n,3,0,n.context.$implicit)}))}function du(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["This field is required!"]))],null,null)}function cu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),u["ɵdid"](1,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{value:[0,"value"]},null),u["ɵdid"](2,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),u["ɵted"](3,null,[" "," "]))],(function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)}),(function(l,n){l(n,3,0,n.context.$implicit)}))}function mu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["This field is required!"]))],null,null)}function fu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["At least one placement group is needed!"]))],null,null)}function gu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Your cluster can't handle this many PGs. Please recalculate the PG amount needed."]))],null,null)}function pu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","form-text text-muted"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["The current PGs settings were calculated for you, you should make sure the values suit your needs before submit."]))],null,null)}function hu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,27,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](1,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,9,{FormControlNames:1}),u["ɵqud"](603979776,10,{messagesBlock:0}),(l()(),u["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","pgNum"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Placement groups"])),(l()(),u["ɵeld"](6,0,null,0,21,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](7,0,null,null,9,"input",[["class","form-control"],["formControlName","pgNum"],["id","pgNum"],["min","1"],["name","pgNum"],["required",""],["type","number"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"focus"],[null,"blur"],[null,"input"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],(function(l,n,e){var i=!0,t=l.component;return"input"===n&&(i=!1!==u["ɵnov"](l,8)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,8).onTouched()&&i),"compositionstart"===n&&(i=!1!==u["ɵnov"](l,8)._compositionStart()&&i),"compositionend"===n&&(i=!1!==u["ɵnov"](l,8)._compositionEnd(e.target.value)&&i),"change"===n&&(i=!1!==u["ɵnov"](l,9).onChange(e.target.value)&&i),"input"===n&&(i=!1!==u["ɵnov"](l,9).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,9).onTouched()&&i),"focus"===n&&(i=0!=(t.externalPgChange=!1)&&i),"blur"===n&&(i=!1!==t.alignPgs()&&i),i}),null,null)),u["ɵdid"](8,16384,null,0,t.e,[u.Renderer2,u.ElementRef,[2,t.b]],null,null),u["ɵdid"](9,16384,null,0,t.w,[u.Renderer2,u.ElementRef],null,null),u["ɵdid"](10,16384,null,0,t.z,[],{required:[0,"required"]},null),u["ɵprd"](1024,null,t.o,(function(l){return[l]}),[t.z]),u["ɵprd"](1024,null,t.p,(function(l,n){return[l,n]}),[t.e,t.w]),u["ɵdid"](13,671744,[[9,4]],0,t.j,[[3,t.d],[6,t.o],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](15,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](16,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,mu)),u["ɵdid"](18,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,fu)),u["ɵdid"](20,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,gu)),u["ɵdid"](22,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵeld"](23,0,null,null,2,"span",[["class","form-text text-muted"]],null,null,null,null,null)),(l()(),u["ɵeld"](24,0,null,null,1,"a",[["href","http://ceph.com/pgcalc"],["target","_blank"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Calculation help"])),(l()(),u["ɵand"](16777216,null,null,1,null,pu)),u["ɵdid"](27,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var e=n.component;l(n,1,0),l(n,10,0,""),l(n,13,0,"pgNum"),l(n,16,0,"pgNum"),l(n,18,0,e.form.showError("pgNum",u["ɵnov"](n.parent.parent,2),"required")),l(n,20,0,e.form.showError("pgNum",u["ɵnov"](n.parent.parent,2),"min")),l(n,22,0,e.form.showError("pgNum",u["ɵnov"](n.parent.parent,2),"34")),l(n,27,0,e.externalPgChange)}),(function(l,n){l(n,0,0,u["ɵnov"](n,1).hasErrors,u["ɵnov"](n,1).hasSuccess),l(n,7,0,u["ɵnov"](n,10).required?"":null,u["ɵnov"](n,15).ngClassUntouched,u["ɵnov"](n,15).ngClassTouched,u["ɵnov"](n,15).ngClassPristine,u["ɵnov"](n,15).ngClassDirty,u["ɵnov"](n,15).ngClassValid,u["ɵnov"](n,15).ngClassInvalid,u["ɵnov"](n,15).ngClassPending,u["ɵnov"](n,16).validClass,u["ɵnov"](n,16).invalidClass)}))}function vu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,5,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵeld"](1,0,null,null,4,"ul",[["class","list-inline"]],null,null,null,null,null)),(l()(),u["ɵeld"](2,0,null,null,1,"li",[],null,null,null,null,null)),(l()(),u["ɵted"](3,null,["Minimum: ",""])),(l()(),u["ɵeld"](4,0,null,null,1,"li",[],null,null,null,null,null)),(l()(),u["ɵted"](5,null,["Maximum: ",""]))],null,(function(l,n){var e=n.component;l(n,3,0,e.getMinSize()),l(n,5,0,e.getMaxSize())}))}function Cu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](1,null,["The size specified is out of range. A value from "," to "," is valid."]))],null,(function(l,n){var e=n.component;l(n,1,0,e.getMinSize(),e.getMaxSize())}))}function bu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,18,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](1,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,11,{FormControlNames:1}),u["ɵqud"](603979776,12,{messagesBlock:0}),(l()(),u["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","size"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Replicated size"])),(l()(),u["ɵeld"](6,0,null,0,12,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](7,0,null,null,7,"input",[["class","form-control"],["formControlName","size"],["id","size"],["name","size"],["type","number"]],[[8,"max",0],[8,"min",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==u["ɵnov"](l,8)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,8).onTouched()&&i),"compositionstart"===n&&(i=!1!==u["ɵnov"](l,8)._compositionStart()&&i),"compositionend"===n&&(i=!1!==u["ɵnov"](l,8)._compositionEnd(e.target.value)&&i),"change"===n&&(i=!1!==u["ɵnov"](l,9).onChange(e.target.value)&&i),"input"===n&&(i=!1!==u["ɵnov"](l,9).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,9).onTouched()&&i),i}),null,null)),u["ɵdid"](8,16384,null,0,t.e,[u.Renderer2,u.ElementRef,[2,t.b]],null,null),u["ɵdid"](9,16384,null,0,t.w,[u.Renderer2,u.ElementRef],null,null),u["ɵprd"](1024,null,t.p,(function(l,n){return[l,n]}),[t.e,t.w]),u["ɵdid"](11,671744,[[11,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](13,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](14,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,vu)),u["ɵdid"](16,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Cu)),u["ɵdid"](18,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var e=n.component;l(n,1,0),l(n,11,0,"size"),l(n,14,0,"size"),l(n,16,0,e.form.showError("size",u["ɵnov"](n.parent.parent,2))),l(n,18,0,e.form.showError("size",u["ɵnov"](n.parent.parent,2)))}),(function(l,n){var e=n.component;l(n,0,0,u["ɵnov"](n,1).hasErrors,u["ɵnov"](n,1).hasSuccess),l(n,7,1,[e.getMaxSize(),e.getMinSize(),u["ɵnov"](n,13).ngClassUntouched,u["ɵnov"](n,13).ngClassTouched,u["ɵnov"](n,13).ngClassPristine,u["ɵnov"](n,13).ngClassDirty,u["ɵnov"](n,13).ngClassValid,u["ɵnov"](n,13).ngClassInvalid,u["ɵnov"](n,13).ngClassPending,u["ɵnov"](n,14).validClass,u["ɵnov"](n,14).invalidClass])}))}function Ru(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,16,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](1,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,13,{FormControlNames:1}),u["ɵqud"](603979776,14,{messagesBlock:0}),(l()(),u["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Flags"])),(l()(),u["ɵeld"](6,0,null,0,10,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](7,0,null,null,9,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(l()(),u["ɵeld"](8,0,null,null,6,"input",[["class","custom-control-input"],["formControlName","ecOverwrites"],["id","ec-overwrites"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,e){var i=!0;return"change"===n&&(i=!1!==u["ɵnov"](l,9).onChange(e.target.checked)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,9).onTouched()&&i),i}),null,null)),u["ɵdid"](9,16384,null,0,t.c,[u.Renderer2,u.ElementRef],null,null),u["ɵprd"](1024,null,t.p,(function(l){return[l]}),[t.c]),u["ɵdid"](11,671744,[[13,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](13,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](14,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵeld"](15,0,null,null,1,"label",[["class","custom-control-label"],["for","ec-overwrites"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["EC Overwrites"]))],(function(l,n){l(n,1,0),l(n,11,0,"ecOverwrites"),l(n,14,0,"ecOverwrites")}),(function(l,n){l(n,0,0,u["ɵnov"](n,1).hasErrors,u["ɵnov"](n,1).hasSuccess),l(n,8,0,u["ɵnov"](n,13).ngClassUntouched,u["ɵnov"](n,13).ngClassTouched,u["ɵnov"](n,13).ngClassPristine,u["ɵnov"](n,13).ngClassDirty,u["ɵnov"](n,13).ngClassValid,u["ɵnov"](n,13).ngClassInvalid,u["ɵnov"](n,13).ngClassPending,u["ɵnov"](n,14).validClass,u["ɵnov"](n,14).invalidClass)}))}function Iu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,22,"div",[],null,null,null,null,null)),(l()(),u["ɵeld"](1,0,null,null,15,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](2,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,7,{FormControlNames:1}),u["ɵqud"](603979776,8,{messagesBlock:0}),(l()(),u["ɵeld"](5,0,null,0,1,"label",[["class","cd-col-form-label"],["for","pgAutoscaleMode"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["PG Autoscale"])),(l()(),u["ɵeld"](7,0,null,0,9,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](8,0,null,null,8,"select",[["class","form-control custom-select"],["formControlName","pgAutoscaleMode"],["id","pgAutoscaleMode"],["name","pgAutoscaleMode"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,e){var i=!0;return"change"===n&&(i=!1!==u["ɵnov"](l,9).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,9).onTouched()&&i),i}),null,null)),u["ɵdid"](9,16384,null,0,t.A,[u.Renderer2,u.ElementRef],null,null),u["ɵprd"](1024,null,t.p,(function(l){return[l]}),[t.A]),u["ɵdid"](11,671744,[[7,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](13,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](14,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,cu)),u["ɵdid"](16,278528,null,0,Rl.NgForOf,[u.ViewContainerRef,u.TemplateRef,u.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,hu)),u["ɵdid"](18,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,bu)),u["ɵdid"](20,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Ru)),u["ɵdid"](22,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var e=n.component;l(n,2,0),l(n,11,0,"pgAutoscaleMode"),l(n,14,0,"pgAutoscaleMode"),l(n,16,0,e.pgAutoscaleModes),l(n,18,0,"on"!==e.form.getValue("pgAutoscaleMode")),l(n,20,0,e.isReplicated),l(n,22,0,e.info.is_all_bluestore&&e.isErasure)}),(function(l,n){l(n,1,0,u["ɵnov"](n,2).hasErrors,u["ɵnov"](n,2).hasSuccess),l(n,8,0,u["ɵnov"](n,13).ngClassUntouched,u["ɵnov"](n,13).ngClassTouched,u["ɵnov"](n,13).ngClassPristine,u["ɵnov"](n,13).ngClassDirty,u["ɵnov"](n,13).ngClassValid,u["ɵnov"](n,13).ngClassInvalid,u["ɵnov"](n,13).ngClassPending,u["ɵnov"](n,14).validClass,u["ɵnov"](n,14).invalidClass)}))}function Eu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"option",[["ngValue",""]],null,null,null,null,null)),u["ɵdid"](1,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{ngValue:[0,"ngValue"]},null),u["ɵdid"](2,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),u["ɵted"](-1,null,["Loading..."]))],(function(l,n){l(n,1,0,""),l(n,2,0,"")}),null)}function Nu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),u["ɵdid"](1,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{ngValue:[0,"ngValue"]},null),u["ɵdid"](2,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),u["ɵted"](-1,null,["-- No erasure code profile available --"]))],(function(l,n){l(n,1,0,null),l(n,2,0,null)}),null)}function yu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),u["ɵdid"](1,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{ngValue:[0,"ngValue"]},null),u["ɵdid"](2,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),u["ɵted"](-1,null,["-- Select an erasure code profile --"]))],(function(l,n){l(n,1,0,null),l(n,2,0,null)}),null)}function wu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),u["ɵdid"](1,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{ngValue:[0,"ngValue"]},null),u["ɵdid"](2,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),u["ɵted"](3,null,[" "," "]))],(function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)}),(function(l,n){l(n,3,0,n.context.$implicit.name)}))}function Vu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,4,"button",[["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,e){var u=!0;return"click"===n&&(u=!1!==l.component.addErasureCodeProfile()&&u),u}),null,null)),(l()(),u["ɵeld"](1,0,null,null,3,"i",[["aria-hidden","true"]],null,null,null,null,null)),u["ɵprd"](512,null,Rl["ɵNgClassImpl"],Rl["ɵNgClassR2Impl"],[u.IterableDiffers,u.KeyValueDiffers,u.ElementRef,u.Renderer2]),u["ɵdid"](3,278528,null,0,Rl.NgClass,[Rl["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),u["ɵpad"](4,1)],(function(l,n){var e=l(n,4,0,n.component.icons.add);l(n,3,0,e)}),null)}function Tu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,4,"button",[["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,e){var u=!0;return"click"===n&&(u=!1!==l.component.deleteErasureCodeProfile()&&u),u}),null,null)),(l()(),u["ɵeld"](1,0,null,null,3,"i",[["aria-hidden","true"]],null,null,null,null,null)),u["ɵprd"](512,null,Rl["ɵNgClassImpl"],Rl["ɵNgClassR2Impl"],[u.IterableDiffers,u.KeyValueDiffers,u.ElementRef,u.Renderer2]),u["ɵdid"](3,278528,null,0,Rl.NgClass,[Rl["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),u["ɵpad"](4,1)],(function(l,n){var e=l(n,4,0,n.component.icons.trash);l(n,3,0,e)}),null)}function Su(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,2,"span",[["class","form-text text-muted"],["id","ecp-info-block"]],null,null,null,null,null)),(l()(),u["ɵeld"](1,0,null,null,1,"cd-table-key-value",[],null,null,null,ke.b,ke.a)),u["ɵdid"](2,638976,null,0,xe.a,[Bn.a],{data:[0,"data"],autoReload:[1,"autoReload"],renderObjects:[2,"renderObjects"]},null)],(function(l,n){l(n,2,0,n.component.form.getValue("erasureProfile"),!1,!0)}),null)}function _u(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,37,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](1,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,17,{FormControlNames:1}),u["ɵqud"](603979776,18,{messagesBlock:0}),(l()(),u["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label"],["for","erasureProfile"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Erasure code profile"])),(l()(),u["ɵeld"](6,0,null,0,31,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](7,0,null,null,28,"div",[["class","input-group"]],null,null,null,null,null)),(l()(),u["ɵeld"](8,0,null,null,14,"select",[["class","form-control custom-select"],["formControlName","erasureProfile"],["id","erasureProfile"],["name","erasureProfile"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,e){var i=!0;return"change"===n&&(i=!1!==u["ɵnov"](l,9).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,9).onTouched()&&i),i}),null,null)),u["ɵdid"](9,16384,null,0,t.A,[u.Renderer2,u.ElementRef],null,null),u["ɵprd"](1024,null,t.p,(function(l){return[l]}),[t.A]),u["ɵdid"](11,671744,[[17,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](13,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](14,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Eu)),u["ɵdid"](16,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Nu)),u["ɵdid"](18,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,yu)),u["ɵdid"](20,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,wu)),u["ɵdid"](22,278528,null,0,Rl.NgForOf,[u.ViewContainerRef,u.TemplateRef,u.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),u["ɵeld"](23,0,null,null,12,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),u["ɵeld"](24,0,null,null,7,"button",[["class","btn btn-light"],["id","ecp-info-button"],["type","button"]],null,[[null,"click"]],(function(l,n,e){var u=!0,i=l.component;return"click"===n&&(u=0!=(i.data.erasureInfo=!i.data.erasureInfo)&&u),u}),null,null)),u["ɵprd"](512,null,Rl["ɵNgClassImpl"],Rl["ɵNgClassR2Impl"],[u.IterableDiffers,u.KeyValueDiffers,u.ElementRef,u.Renderer2]),u["ɵdid"](26,278528,null,0,Rl.NgClass,[Rl["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),u["ɵpod"](27,{active:0}),(l()(),u["ɵeld"](28,0,null,null,3,"i",[["aria-hidden","true"]],null,null,null,null,null)),u["ɵprd"](512,null,Rl["ɵNgClassImpl"],Rl["ɵNgClassR2Impl"],[u.IterableDiffers,u.KeyValueDiffers,u.ElementRef,u.Renderer2]),u["ɵdid"](30,278528,null,0,Rl.NgClass,[Rl["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),u["ɵpad"](31,1),(l()(),u["ɵand"](16777216,null,null,1,null,Vu)),u["ɵdid"](33,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Tu)),u["ɵdid"](35,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Su)),u["ɵdid"](37,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var e=n.component;l(n,1,0),l(n,11,0,"erasureProfile"),l(n,14,0,"erasureProfile"),l(n,16,0,!e.ecProfiles),l(n,18,0,e.ecProfiles&&0===e.ecProfiles.length),l(n,20,0,e.ecProfiles&&e.ecProfiles.length>0),l(n,22,0,e.ecProfiles);var u=l(n,27,0,e.data.erasureInfo);l(n,26,0,"btn btn-light",u);var i=l(n,31,0,e.icons.questionCircle);l(n,30,0,i),l(n,33,0,!e.editing),l(n,35,0,!e.editing),l(n,37,0,e.data.erasureInfo&&e.form.getValue("erasureProfile"))}),(function(l,n){l(n,0,0,u["ɵnov"](n,1).hasErrors,u["ɵnov"](n,1).hasSuccess),l(n,8,0,u["ɵnov"](n,13).ngClassUntouched,u["ɵnov"](n,13).ngClassTouched,u["ɵnov"](n,13).ngClassPristine,u["ɵnov"](n,13).ngClassDirty,u["ɵnov"](n,13).ngClassValid,u["ɵnov"](n,13).ngClassInvalid,u["ɵnov"](n,13).ngClassPending,u["ɵnov"](n,14).validClass,u["ɵnov"](n,14).invalidClass)}))}function qu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,8,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](1,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,19,{FormControlNames:1}),u["ɵqud"](603979776,20,{messagesBlock:0}),(l()(),u["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label"],["for","crushRule"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Crush ruleset"])),(l()(),u["ɵeld"](6,0,null,0,2,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](7,0,null,null,1,"span",[["class","form-text text-muted"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["A new crush ruleset will be implicitly created."]))],(function(l,n){l(n,1,0)}),(function(l,n){l(n,0,0,u["ɵnov"](n,1).hasErrors,u["ɵnov"](n,1).hasSuccess)}))}function Du(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"span",[["class","form-text text-muted"]],null,null,null,null,null)),(l()(),u["ɵeld"](1,0,null,null,1,"span",[],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["There are no rules."])),(l()(),u["ɵted"](-1,null,["  "]))],null,null)}function ku(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),u["ɵdid"](1,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{ngValue:[0,"ngValue"]},null),u["ɵdid"](2,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),u["ɵted"](3,null,[" "," "]))],(function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)}),(function(l,n){l(n,3,0,n.context.$implicit.rule_name)}))}function xu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,4,"button",[["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,e){var u=!0;return"click"===n&&(u=!1!==l.component.addCrushRule()&&u),u}),null,null)),(l()(),u["ɵeld"](1,0,null,null,3,"i",[["aria-hidden","true"]],null,null,null,null,null)),u["ɵprd"](512,null,Rl["ɵNgClassImpl"],Rl["ɵNgClassR2Impl"],[u.IterableDiffers,u.KeyValueDiffers,u.ElementRef,u.Renderer2]),u["ɵdid"](3,278528,null,0,Rl.NgClass,[Rl["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),u["ɵpad"](4,1)],(function(l,n){var e=l(n,4,0,n.component.icons.add);l(n,3,0,e)}),null)}function Pu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,16777216,null,null,5,"button",[["class","btn btn-light"],["tooltip","This rule can't be deleted as it is in use."],["triggers",""],["type","button"]],[[1,"aria-describedby",0]],[[null,"click"]],(function(l,n,e){var u=!0;return"click"===n&&(u=!1!==l.component.deleteCrushRule()&&u),u}),null,null)),u["ɵdid"](1,212992,[[2,4],["crushDeletionBtn",4]],0,Zn.c,[u.ViewContainerRef,Hn.a,Zn.a,u.ElementRef,u.Renderer2,Jn.a],{tooltip:[0,"tooltip"],triggers:[1,"triggers"]},null),(l()(),u["ɵeld"](2,0,null,null,3,"i",[["aria-hidden","true"]],null,null,null,null,null)),u["ɵprd"](512,null,Rl["ɵNgClassImpl"],Rl["ɵNgClassR2Impl"],[u.IterableDiffers,u.KeyValueDiffers,u.ElementRef,u.Renderer2]),u["ɵdid"](4,278528,null,0,Rl.NgClass,[Rl["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),u["ɵpad"](5,1),(l()(),u["ɵand"](0,null,null,0))],(function(l,n){var e=n.component;l(n,1,0,"This rule can't be deleted as it is in use.","");var u=l(n,5,0,e.icons.trash);l(n,4,0,u)}),(function(l,n){l(n,0,0,u["ɵnov"](n,1).ariaDescribedby)}))}function Fu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"li",[],null,null,null,null,null)),(l()(),u["ɵted"](1,null,[" "," "]))],null,(function(l,n){l(n,1,0,n.component.describeCrushStep(n.context.$implicit))}))}function Au(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Rule is not in use."]))],null,null)}function Bu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"li",[],null,null,null,null,null)),(l()(),u["ɵted"](1,null,[" "," "]))],null,(function(l,n){l(n,1,0,n.context.$implicit)}))}function Ou(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,2,"ul",[],null,null,null,null,null)),(l()(),u["ɵand"](16777216,null,null,1,null,Bu)),u["ɵdid"](2,278528,null,0,Rl.NgForOf,[u.ViewContainerRef,u.TemplateRef,u.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(l,n){l(n,2,0,n.component.crushUsage)}),null)}function zu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,16,"span",[["class","form-text text-muted"],["id","crush-info-block"]],null,null,null,null,null)),(l()(),u["ɵeld"](1,0,null,null,15,"tabset",[],[[2,"tab-container",null]],null,null,we.b,we.a)),u["ɵdid"](2,180224,[[1,4],["crushInfoTabs",4]],0,le.e,[le.f,u.Renderer2,u.ElementRef],null,null),(l()(),u["ɵeld"](3,0,null,0,3,"tab",[["class","crush-rule-info"],["heading","Crush rule"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),u["ɵdid"](4,212992,null,0,le.b,[le.e,u.ElementRef,u.Renderer2],{heading:[0,"heading"]},null),(l()(),u["ɵeld"](5,0,null,null,1,"cd-table-key-value",[],null,null,null,ke.b,ke.a)),u["ɵdid"](6,638976,null,0,xe.a,[Bn.a],{data:[0,"data"],autoReload:[1,"autoReload"],renderObjects:[2,"renderObjects"]},null),(l()(),u["ɵeld"](7,0,null,0,4,"tab",[["class","crush-rule-steps"],["heading","Crush steps"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),u["ɵdid"](8,212992,null,0,le.b,[le.e,u.ElementRef,u.Renderer2],{heading:[0,"heading"]},null),(l()(),u["ɵeld"](9,0,null,null,2,"ol",[],null,null,null,null,null)),(l()(),u["ɵand"](16777216,null,null,1,null,Fu)),u["ɵdid"](11,278528,null,0,Rl.NgForOf,[u.ViewContainerRef,u.TemplateRef,u.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),u["ɵeld"](12,0,null,0,4,"tab",[["class","used-by-pools"],["heading","Used by pools"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),u["ɵdid"](13,212992,null,0,le.b,[le.e,u.ElementRef,u.Renderer2],{heading:[0,"heading"]},null),(l()(),u["ɵand"](0,[["ruleIsNotUsed",2]],null,0,null,Au)),(l()(),u["ɵand"](16777216,null,null,1,null,Ou)),u["ɵdid"](16,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"],ngIfElse:[1,"ngIfElse"]},null)],(function(l,n){var e=n.component;l(n,4,0,"Crush rule"),l(n,6,0,e.form.getValue("crushRule"),!1,!0),l(n,8,0,"Crush steps"),l(n,11,0,e.form.get("crushRule").value.steps),l(n,13,0,"Used by pools"),l(n,16,0,e.crushUsage,u["ɵnov"](n,14))}),(function(l,n){l(n,1,0,u["ɵnov"](n,2).clazz),l(n,3,0,u["ɵnov"](n,4).id,u["ɵnov"](n,4).active,u["ɵnov"](n,4).addClass),l(n,7,0,u["ɵnov"](n,8).id,u["ɵnov"](n,8).active,u["ɵnov"](n,8).addClass),l(n,12,0,u["ɵnov"](n,13).id,u["ɵnov"](n,13).active,u["ɵnov"](n,13).addClass)}))}function ju(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["This field is required!"]))],null,null)}function Lu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["The rule can't be used in the current cluster as it has too few OSDs to meet the minimum required OSD by this rule."]))],null,null)}function Uu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,33,"div",[],null,null,null,null,null)),(l()(),u["ɵeld"](1,0,null,null,26,"div",[["class","input-group"]],null,null,null,null,null)),(l()(),u["ɵeld"](2,0,null,null,12,"select",[["class","form-control custom-select"],["formControlName","crushRule"],["id","crushRule"],["name","crushSet"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,e){var i=!0;return"change"===n&&(i=!1!==u["ɵnov"](l,3).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,3).onTouched()&&i),i}),null,null)),u["ɵdid"](3,16384,null,0,t.A,[u.Renderer2,u.ElementRef],null,null),u["ɵprd"](1024,null,t.p,(function(l){return[l]}),[t.A]),u["ɵdid"](5,671744,[[21,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](7,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](8,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵeld"](9,0,null,null,3,"option",[],null,null,null,null,null)),u["ɵdid"](10,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{ngValue:[0,"ngValue"]},null),u["ɵdid"](11,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),u["ɵted"](-1,null,["-- Select a crush rule --"])),(l()(),u["ɵand"](16777216,null,null,1,null,ku)),u["ɵdid"](14,278528,null,0,Rl.NgForOf,[u.ViewContainerRef,u.TemplateRef,u.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),u["ɵeld"](15,0,null,null,12,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),u["ɵeld"](16,0,null,null,7,"button",[["class","btn btn-light"],["id","crush-info-button"],["type","button"]],null,[[null,"click"]],(function(l,n,e){var u=!0,i=l.component;return"click"===n&&(u=0!=(i.data.crushInfo=!i.data.crushInfo)&&u),u}),null,null)),u["ɵprd"](512,null,Rl["ɵNgClassImpl"],Rl["ɵNgClassR2Impl"],[u.IterableDiffers,u.KeyValueDiffers,u.ElementRef,u.Renderer2]),u["ɵdid"](18,278528,null,0,Rl.NgClass,[Rl["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),u["ɵpod"](19,{active:0}),(l()(),u["ɵeld"](20,0,null,null,3,"i",[["aria-hidden","true"]],null,null,null,null,null)),u["ɵprd"](512,null,Rl["ɵNgClassImpl"],Rl["ɵNgClassR2Impl"],[u.IterableDiffers,u.KeyValueDiffers,u.ElementRef,u.Renderer2]),u["ɵdid"](22,278528,null,0,Rl.NgClass,[Rl["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),u["ɵpad"](23,1),(l()(),u["ɵand"](16777216,null,null,1,null,xu)),u["ɵdid"](25,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Pu)),u["ɵdid"](27,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,zu)),u["ɵdid"](29,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,ju)),u["ɵdid"](31,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Lu)),u["ɵdid"](33,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var e=n.component;l(n,5,0,"crushRule"),l(n,8,0,"crushRule"),l(n,10,0,null),l(n,11,0,null),l(n,14,0,e.current.rules);var i=l(n,19,0,e.data.crushInfo);l(n,18,0,"btn btn-light",i);var t=l(n,23,0,e.icons.questionCircle);l(n,22,0,t),l(n,25,0,e.isReplicated&&!e.editing),l(n,27,0,e.isReplicated&&!e.editing),l(n,29,0,e.data.crushInfo&&e.form.getValue("crushRule")),l(n,31,0,e.form.showError("crushRule",u["ɵnov"](n.parent.parent.parent,2),"required")),l(n,33,0,e.form.showError("crushRule",u["ɵnov"](n.parent.parent.parent,2),"tooFewOsds"))}),(function(l,n){l(n,2,0,u["ɵnov"](n,7).ngClassUntouched,u["ɵnov"](n,7).ngClassTouched,u["ɵnov"](n,7).ngClassPristine,u["ɵnov"](n,7).ngClassDirty,u["ɵnov"](n,7).ngClassValid,u["ɵnov"](n,7).ngClassInvalid,u["ɵnov"](n,7).ngClassPending,u["ɵnov"](n,8).validClass,u["ɵnov"](n,8).invalidClass)}))}function Mu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,9,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](1,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,21,{FormControlNames:1}),u["ɵqud"](603979776,22,{messagesBlock:0}),(l()(),u["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label"],["for","crushRule"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Crush ruleset"])),(l()(),u["ɵeld"](6,0,null,0,3,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵand"](0,[["noRules",2]],null,0,null,Du)),(l()(),u["ɵand"](16777216,null,null,1,null,Uu)),u["ɵdid"](9,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"],ngIfElse:[1,"ngIfElse"]},null)],(function(l,n){var e=n.component;l(n,1,0),l(n,9,0,e.current.rules.length>0,u["ɵnov"](n,7))}),(function(l,n){l(n,0,0,u["ɵnov"](n,1).hasErrors,u["ɵnov"](n,1).hasSuccess)}))}function Gu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,8,"div",[],null,null,null,null,null)),(l()(),u["ɵeld"](1,0,null,null,1,"legend",[],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["CRUSH"])),(l()(),u["ɵand"](16777216,null,null,1,null,_u)),u["ɵdid"](4,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,qu)),u["ɵdid"](6,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Mu)),u["ɵdid"](8,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var e=n.component;l(n,4,0,e.isErasure),l(n,6,0,e.isErasure&&!e.editing),l(n,8,0,e.isReplicated||e.editing)}),null)}function $u(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),u["ɵdid"](1,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{value:[0,"value"]},null),u["ɵdid"](2,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),u["ɵted"](3,null,[" "," "]))],(function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)}),(function(l,n){l(n,3,0,n.context.$implicit)}))}function Ku(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"option",[["ngValue",""]],null,null,null,null,null)),u["ɵdid"](1,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{ngValue:[0,"ngValue"]},null),u["ɵdid"](2,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),u["ɵted"](-1,null,["Loading..."]))],(function(l,n){l(n,1,0,""),l(n,2,0,"")}),null)}function Ju(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"option",[["ngValue",""]],null,null,null,null,null)),u["ɵdid"](1,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{ngValue:[0,"ngValue"]},null),u["ɵdid"](2,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),u["ɵted"](-1,null,["-- No erasure compression algorithm available --"]))],(function(l,n){l(n,1,0,""),l(n,2,0,"")}),null)}function Hu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),u["ɵdid"](1,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{value:[0,"value"]},null),u["ɵdid"](2,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),u["ɵted"](3,null,[" "," "]))],(function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)}),(function(l,n){l(n,3,0,n.context.$implicit)}))}function Wu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Value should be greater than 0"]))],null,null)}function Zu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Value should be less than the maximum blob size"]))],null,null)}function Xu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Value should be greater than 0"]))],null,null)}function Yu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Value should be greater than the minimum blob size"]))],null,null)}function Qu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Value should be between 0.0 and 1.0"]))],null,null)}function li(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,75,"div",[],null,null,null,null,null)),(l()(),u["ɵeld"](1,0,null,null,19,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](2,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,25,{FormControlNames:1}),u["ɵqud"](603979776,26,{messagesBlock:0}),(l()(),u["ɵeld"](5,0,null,0,1,"label",[["class","cd-col-form-label"],["for","algorithm"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Algorithm"])),(l()(),u["ɵeld"](7,0,null,0,13,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](8,0,null,null,12,"select",[["class","form-control custom-select"],["formControlName","algorithm"],["id","algorithm"],["name","algorithm"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,e){var i=!0;return"change"===n&&(i=!1!==u["ɵnov"](l,9).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,9).onTouched()&&i),i}),null,null)),u["ɵdid"](9,16384,null,0,t.A,[u.Renderer2,u.ElementRef],null,null),u["ɵprd"](1024,null,t.p,(function(l){return[l]}),[t.A]),u["ɵdid"](11,671744,[[25,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](13,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](14,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Ku)),u["ɵdid"](16,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Ju)),u["ɵdid"](18,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Hu)),u["ɵdid"](20,278528,null,0,Rl.NgForOf,[u.ViewContainerRef,u.TemplateRef,u.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),u["ɵeld"](21,0,null,null,18,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](22,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,27,{FormControlNames:1}),u["ɵqud"](603979776,28,{messagesBlock:0}),(l()(),u["ɵeld"](25,0,null,0,1,"label",[["class","cd-col-form-label"],["for","minBlobSize"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Minimum blob size"])),(l()(),u["ɵeld"](27,0,null,0,12,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](28,0,null,null,7,"input",[["cdDimlessBinary",""],["class","form-control"],["defaultUnit","KiB"],["formControlName","minBlobSize"],["id","minBlobSize"],["min","0"],["name","minBlobSize"],["placeholder","e.g., 128KiB"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==u["ɵnov"](l,29)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,29).onTouched()&&i),"compositionstart"===n&&(i=!1!==u["ɵnov"](l,29)._compositionStart()&&i),"compositionend"===n&&(i=!1!==u["ɵnov"](l,29)._compositionEnd(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,33).onBlur(e.target.value)&&i),i}),null,null)),u["ɵdid"](29,16384,null,0,t.e,[u.Renderer2,u.ElementRef,[2,t.b]],null,null),u["ɵprd"](1024,null,t.p,(function(l){return[l]}),[t.e]),u["ɵdid"](31,671744,[[27,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](33,81920,null,0,Ye.a,[u.ElementRef,t.q,R.a,E.a],{defaultUnit:[0,"defaultUnit"]},null),u["ɵdid"](34,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](35,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Wu)),u["ɵdid"](37,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Zu)),u["ɵdid"](39,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵeld"](40,0,null,null,18,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](41,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,29,{FormControlNames:1}),u["ɵqud"](603979776,30,{messagesBlock:0}),(l()(),u["ɵeld"](44,0,null,0,1,"label",[["class","cd-col-form-label"],["for","maxBlobSize"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Maximum blob size"])),(l()(),u["ɵeld"](46,0,null,0,12,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](47,0,null,null,7,"input",[["cdDimlessBinary",""],["class","form-control"],["defaultUnit","KiB"],["formControlName","maxBlobSize"],["id","maxBlobSize"],["min","0"],["placeholder","e.g., 512KiB"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==u["ɵnov"](l,48)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,48).onTouched()&&i),"compositionstart"===n&&(i=!1!==u["ɵnov"](l,48)._compositionStart()&&i),"compositionend"===n&&(i=!1!==u["ɵnov"](l,48)._compositionEnd(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,52).onBlur(e.target.value)&&i),i}),null,null)),u["ɵdid"](48,16384,null,0,t.e,[u.Renderer2,u.ElementRef,[2,t.b]],null,null),u["ɵprd"](1024,null,t.p,(function(l){return[l]}),[t.e]),u["ɵdid"](50,671744,[[29,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](52,81920,null,0,Ye.a,[u.ElementRef,t.q,R.a,E.a],{defaultUnit:[0,"defaultUnit"]},null),u["ɵdid"](53,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](54,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Xu)),u["ɵdid"](56,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Yu)),u["ɵdid"](58,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵeld"](59,0,null,null,16,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](60,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,31,{FormControlNames:1}),u["ɵqud"](603979776,32,{messagesBlock:0}),(l()(),u["ɵeld"](63,0,null,0,1,"label",[["class","cd-col-form-label"],["for","ratio"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Ratio"])),(l()(),u["ɵeld"](65,0,null,0,10,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](66,0,null,null,7,"input",[["class","form-control"],["formControlName","ratio"],["id","ratio"],["max","1"],["min","0"],["name","ratio"],["placeholder","Compression ratio"],["step","0.1"],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==u["ɵnov"](l,67)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,67).onTouched()&&i),"compositionstart"===n&&(i=!1!==u["ɵnov"](l,67)._compositionStart()&&i),"compositionend"===n&&(i=!1!==u["ɵnov"](l,67)._compositionEnd(e.target.value)&&i),"change"===n&&(i=!1!==u["ɵnov"](l,68).onChange(e.target.value)&&i),"input"===n&&(i=!1!==u["ɵnov"](l,68).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,68).onTouched()&&i),i}),null,null)),u["ɵdid"](67,16384,null,0,t.e,[u.Renderer2,u.ElementRef,[2,t.b]],null,null),u["ɵdid"](68,16384,null,0,t.w,[u.Renderer2,u.ElementRef],null,null),u["ɵprd"](1024,null,t.p,(function(l,n){return[l,n]}),[t.e,t.w]),u["ɵdid"](70,671744,[[31,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](72,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](73,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Qu)),u["ɵdid"](75,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var e=n.component;l(n,2,0),l(n,11,0,"algorithm"),l(n,14,0,"algorithm"),l(n,16,0,!e.info.compression_algorithms),l(n,18,0,e.info.compression_algorithms&&0===e.info.compression_algorithms.length),l(n,20,0,e.info.compression_algorithms),l(n,22,0),l(n,31,0,"minBlobSize"),l(n,33,0,"KiB"),l(n,35,0,"minBlobSize"),l(n,37,0,e.form.showError("minBlobSize",u["ɵnov"](n.parent.parent,2),"min")),l(n,39,0,e.form.showError("minBlobSize",u["ɵnov"](n.parent.parent,2),"maximum")),l(n,41,0),l(n,50,0,"maxBlobSize"),l(n,52,0,"KiB"),l(n,54,0,"maxBlobSize"),l(n,56,0,e.form.showError("maxBlobSize",u["ɵnov"](n.parent.parent,2),"min")),l(n,58,0,e.form.showError("maxBlobSize",u["ɵnov"](n.parent.parent,2),"minimum")),l(n,60,0),l(n,70,0,"ratio"),l(n,73,0,"ratio"),l(n,75,0,e.form.showError("ratio",u["ɵnov"](n.parent.parent,2),"min")||e.form.showError("ratio",u["ɵnov"](n.parent.parent,2),"max"))}),(function(l,n){l(n,1,0,u["ɵnov"](n,2).hasErrors,u["ɵnov"](n,2).hasSuccess),l(n,8,0,u["ɵnov"](n,13).ngClassUntouched,u["ɵnov"](n,13).ngClassTouched,u["ɵnov"](n,13).ngClassPristine,u["ɵnov"](n,13).ngClassDirty,u["ɵnov"](n,13).ngClassValid,u["ɵnov"](n,13).ngClassInvalid,u["ɵnov"](n,13).ngClassPending,u["ɵnov"](n,14).validClass,u["ɵnov"](n,14).invalidClass),l(n,21,0,u["ɵnov"](n,22).hasErrors,u["ɵnov"](n,22).hasSuccess),l(n,28,0,u["ɵnov"](n,34).ngClassUntouched,u["ɵnov"](n,34).ngClassTouched,u["ɵnov"](n,34).ngClassPristine,u["ɵnov"](n,34).ngClassDirty,u["ɵnov"](n,34).ngClassValid,u["ɵnov"](n,34).ngClassInvalid,u["ɵnov"](n,34).ngClassPending,u["ɵnov"](n,35).validClass,u["ɵnov"](n,35).invalidClass),l(n,40,0,u["ɵnov"](n,41).hasErrors,u["ɵnov"](n,41).hasSuccess),l(n,47,0,u["ɵnov"](n,53).ngClassUntouched,u["ɵnov"](n,53).ngClassTouched,u["ɵnov"](n,53).ngClassPristine,u["ɵnov"](n,53).ngClassDirty,u["ɵnov"](n,53).ngClassValid,u["ɵnov"](n,53).ngClassInvalid,u["ɵnov"](n,53).ngClassPending,u["ɵnov"](n,54).validClass,u["ɵnov"](n,54).invalidClass),l(n,59,0,u["ɵnov"](n,60).hasErrors,u["ɵnov"](n,60).hasSuccess),l(n,66,0,u["ɵnov"](n,72).ngClassUntouched,u["ɵnov"](n,72).ngClassTouched,u["ɵnov"](n,72).ngClassPristine,u["ɵnov"](n,72).ngClassDirty,u["ɵnov"](n,72).ngClassValid,u["ɵnov"](n,72).ngClassInvalid,u["ɵnov"](n,72).ngClassPending,u["ɵnov"](n,73).validClass,u["ɵnov"](n,73).invalidClass)}))}function ni(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,23,"div",[["formGroupName","compression"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],null,null,null,null)),u["ɵdid"](1,212992,null,0,t.m,[[3,t.d],[8,null],[8,null]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.d,null,[t.m]),u["ɵdid"](3,16384,null,0,t.s,[[4,t.d]],null,null),(l()(),u["ɵeld"](4,0,null,null,1,"legend",[],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Compression"])),(l()(),u["ɵeld"](6,0,null,null,15,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](7,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,23,{FormControlNames:1}),u["ɵqud"](603979776,24,{messagesBlock:0}),(l()(),u["ɵeld"](10,0,null,0,1,"label",[["class","cd-col-form-label"],["for","mode"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Mode"])),(l()(),u["ɵeld"](12,0,null,0,9,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](13,0,null,null,8,"select",[["class","form-control custom-select"],["formControlName","mode"],["id","mode"],["name","mode"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,e){var i=!0;return"change"===n&&(i=!1!==u["ɵnov"](l,14).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,14).onTouched()&&i),i}),null,null)),u["ɵdid"](14,16384,null,0,t.A,[u.Renderer2,u.ElementRef],null,null),u["ɵprd"](1024,null,t.p,(function(l){return[l]}),[t.A]),u["ɵdid"](16,671744,[[23,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](18,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](19,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,$u)),u["ɵdid"](21,278528,null,0,Rl.NgForOf,[u.ViewContainerRef,u.TemplateRef,u.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,li)),u["ɵdid"](23,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var e=n.component;l(n,1,0,"compression"),l(n,7,0),l(n,16,0,"mode"),l(n,19,0,"mode"),l(n,21,0,e.info.compression_modes),l(n,23,0,e.hasCompressionEnabled())}),(function(l,n){l(n,0,0,u["ɵnov"](n,3).ngClassUntouched,u["ɵnov"](n,3).ngClassTouched,u["ɵnov"](n,3).ngClassPristine,u["ɵnov"](n,3).ngClassDirty,u["ɵnov"](n,3).ngClassValid,u["ɵnov"](n,3).ngClassInvalid,u["ɵnov"](n,3).ngClassPending),l(n,6,0,u["ɵnov"](n,7).hasErrors,u["ɵnov"](n,7).hasSuccess),l(n,13,0,u["ɵnov"](n,18).ngClassUntouched,u["ɵnov"](n,18).ngClassTouched,u["ɵnov"](n,18).ngClassPristine,u["ɵnov"](n,18).ngClassDirty,u["ɵnov"](n,18).ngClassValid,u["ɵnov"](n,18).ngClassInvalid,u["ɵnov"](n,18).ngClassPending,u["ɵnov"](n,19).validClass,u["ɵnov"](n,19).invalidClass)}))}function ei(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["The value should be greater or equal to 0"]))],null,null)}function ui(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,134,"form",[["name","form"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,e){var i=!0;return"submit"===n&&(i=!1!==u["ɵnov"](l,2).onSubmit(e)&&i),"reset"===n&&(i=!1!==u["ɵnov"](l,2).onReset()&&i),"submit"===n&&(i=!1!==u["ɵnov"](l,5).onSubmit()&&i),i}),null,null)),u["ɵdid"](1,16384,null,0,t.G,[],null,null),u["ɵdid"](2,540672,[["formDir",4]],0,t.l,[[8,null],[8,null]],{form:[0,"form"]},null),u["ɵprd"](2048,null,t.d,null,[t.l]),u["ɵdid"](4,16384,null,0,t.s,[[4,t.d]],null,null),u["ɵdid"](5,16384,null,0,Nl.d,[],{formGroup:[0,"formGroup"]},null),(l()(),u["ɵeld"](6,0,null,null,128,"div",[["class","card"]],null,null,null,null,null)),(l()(),u["ɵeld"](7,0,null,null,3,"div",[["class","card-header"]],null,null,null,null,null)),(l()(),u["ɵted"](8,null,[""," ",""])),u["ɵppd"](9,1),u["ɵppd"](10,1),(l()(),u["ɵeld"](11,0,null,null,114,"div",[["class","card-body"]],null,null,null,null,null)),(l()(),u["ɵeld"](12,0,null,null,22,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](13,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,3,{FormControlNames:1}),u["ɵqud"](603979776,4,{messagesBlock:0}),(l()(),u["ɵeld"](16,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","name"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Name"])),(l()(),u["ɵeld"](18,0,null,0,16,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](19,0,null,null,7,"input",[["autofocus",""],["class","form-control"],["formControlName","name"],["id","name"],["name","name"],["placeholder","Name..."],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==u["ɵnov"](l,21)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,21).onTouched()&&i),"compositionstart"===n&&(i=!1!==u["ɵnov"](l,21)._compositionStart()&&i),"compositionend"===n&&(i=!1!==u["ɵnov"](l,21)._compositionEnd(e.target.value)&&i),i}),null,null)),u["ɵdid"](20,4210688,null,0,wl.a,[u.ElementRef],{autofocus:[0,"autofocus"]},null),u["ɵdid"](21,16384,null,0,t.e,[u.Renderer2,u.ElementRef,[2,t.b]],null,null),u["ɵprd"](1024,null,t.p,(function(l){return[l]}),[t.e]),u["ɵdid"](23,671744,[[3,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](25,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](26,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,tu)),u["ɵdid"](28,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,ou)),u["ɵdid"](30,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,au)),u["ɵdid"](32,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,su)),u["ɵdid"](34,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵeld"](35,0,null,null,21,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](36,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,5,{FormControlNames:1}),u["ɵqud"](603979776,6,{messagesBlock:0}),(l()(),u["ɵeld"](39,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","poolType"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Pool type"])),(l()(),u["ɵeld"](41,0,null,0,15,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](42,0,null,null,12,"select",[["class","form-control custom-select"],["formControlName","poolType"],["id","poolType"],["name","poolType"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,e){var i=!0;return"change"===n&&(i=!1!==u["ɵnov"](l,43).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,43).onTouched()&&i),i}),null,null)),u["ɵdid"](43,16384,null,0,t.A,[u.Renderer2,u.ElementRef],null,null),u["ɵprd"](1024,null,t.p,(function(l){return[l]}),[t.A]),u["ɵdid"](45,671744,[[5,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](47,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](48,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵeld"](49,0,null,null,3,"option",[["ngValue",""]],null,null,null,null,null)),u["ɵdid"](50,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{ngValue:[0,"ngValue"]},null),u["ɵdid"](51,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),u["ɵted"](-1,null,["-- Select a pool type --"])),(l()(),u["ɵand"](16777216,null,null,1,null,ru)),u["ɵdid"](54,278528,null,0,Rl.NgForOf,[u.ViewContainerRef,u.TemplateRef,u.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,du)),u["ɵdid"](56,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Iu)),u["ɵdid"](58,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵeld"](59,0,null,null,8,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](60,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,15,{FormControlNames:1}),u["ɵqud"](603979776,16,{messagesBlock:0}),(l()(),u["ɵeld"](63,0,null,0,1,"label",[["class","cd-col-form-label"],["for","applications"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Applications"])),(l()(),u["ɵeld"](65,0,null,0,2,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](66,0,null,null,1,"cd-select-badges",[["id","applications"]],null,[[null,"selection"]],(function(l,n,e){var u=!0;return"selection"===n&&(u=!1!==l.component.appSelection()&&u),u}),Qe.b,Qe.a)),u["ɵdid"](67,49152,null,0,lu.a,[s.a],{data:[0,"data"],options:[1,"options"],messages:[2,"messages"],selectionLimit:[3,"selectionLimit"],customBadges:[4,"customBadges"],customBadgeValidators:[5,"customBadgeValidators"]},{selection:"selection"}),(l()(),u["ɵand"](16777216,null,null,1,null,Gu)),u["ɵdid"](69,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,ni)),u["ɵdid"](71,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵeld"](72,0,null,null,50,"div",[],null,null,null,null,null)),(l()(),u["ɵeld"](73,0,null,null,1,"legend",[],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Quotas"])),(l()(),u["ɵeld"](75,0,null,null,22,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](76,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,33,{FormControlNames:1}),u["ɵqud"](603979776,34,{messagesBlock:0}),(l()(),u["ɵeld"](79,0,null,0,9,"label",[["class","cd-col-form-label"],["for","max_bytes"]],null,null,null,null,null)),(l()(),u["ɵeld"](80,0,null,null,1,null,null,null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Max bytes"])),(l()(),u["ɵeld"](82,0,null,null,6,"cd-helper",[],null,null,null,Vl.b,Vl.a)),u["ɵdid"](83,49152,null,0,Tl.a,[],null,null),(l()(),u["ɵeld"](84,0,null,0,1,"span",[],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Leave it blank or specify 0 to disable this quota."])),(l()(),u["ɵeld"](86,0,null,0,0,"br",[],null,null,null,null,null)),(l()(),u["ɵeld"](87,0,null,0,1,"span",[],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["A valid quota should be greater than 0."])),(l()(),u["ɵeld"](89,0,null,0,8,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](90,0,null,null,7,"input",[["cdDimlessBinary",""],["class","form-control"],["defaultUnit","GiB"],["formControlName","max_bytes"],["id","max_bytes"],["name","max_bytes"],["placeholder","e.g., 10GiB"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==u["ɵnov"](l,91)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,91).onTouched()&&i),"compositionstart"===n&&(i=!1!==u["ɵnov"](l,91)._compositionStart()&&i),"compositionend"===n&&(i=!1!==u["ɵnov"](l,91)._compositionEnd(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,95).onBlur(e.target.value)&&i),i}),null,null)),u["ɵdid"](91,16384,null,0,t.e,[u.Renderer2,u.ElementRef,[2,t.b]],null,null),u["ɵprd"](1024,null,t.p,(function(l){return[l]}),[t.e]),u["ɵdid"](93,671744,[[33,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](95,81920,null,0,Ye.a,[u.ElementRef,t.q,R.a,E.a],{defaultUnit:[0,"defaultUnit"]},null),u["ɵdid"](96,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](97,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵeld"](98,0,null,null,24,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](99,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,35,{FormControlNames:1}),u["ɵqud"](603979776,36,{messagesBlock:0}),(l()(),u["ɵeld"](102,0,null,0,9,"label",[["class","cd-col-form-label"],["for","max_objects"]],null,null,null,null,null)),(l()(),u["ɵeld"](103,0,null,null,1,null,null,null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Max objects"])),(l()(),u["ɵeld"](105,0,null,null,6,"cd-helper",[],null,null,null,Vl.b,Vl.a)),u["ɵdid"](106,49152,null,0,Tl.a,[],null,null),(l()(),u["ɵeld"](107,0,null,0,1,"span",[],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Leave it blank or specify 0 to disable this quota."])),(l()(),u["ɵeld"](109,0,null,0,0,"br",[],null,null,null,null,null)),(l()(),u["ɵeld"](110,0,null,0,1,"span",[],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["A valid quota should be greater than 0."])),(l()(),u["ɵeld"](112,0,null,0,10,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](113,0,null,null,7,"input",[["class","form-control"],["formControlName","max_objects"],["id","max_objects"],["min","0"],["name","max_objects"],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==u["ɵnov"](l,114)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,114).onTouched()&&i),"compositionstart"===n&&(i=!1!==u["ɵnov"](l,114)._compositionStart()&&i),"compositionend"===n&&(i=!1!==u["ɵnov"](l,114)._compositionEnd(e.target.value)&&i),"change"===n&&(i=!1!==u["ɵnov"](l,115).onChange(e.target.value)&&i),"input"===n&&(i=!1!==u["ɵnov"](l,115).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,115).onTouched()&&i),i}),null,null)),u["ɵdid"](114,16384,null,0,t.e,[u.Renderer2,u.ElementRef,[2,t.b]],null,null),u["ɵdid"](115,16384,null,0,t.w,[u.Renderer2,u.ElementRef],null,null),u["ɵprd"](1024,null,t.p,(function(l,n){return[l,n]}),[t.e,t.w]),u["ɵdid"](117,671744,[[35,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](119,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](120,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,ei)),u["ɵdid"](122,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵeld"](123,0,null,null,2,"div",[],[[8,"hidden",0]],null,null,null,null)),(l()(),u["ɵeld"](124,0,null,null,1,"cd-rbd-configuration-form",[],null,[[null,"changes"]],(function(l,n,e){var u=!0;return"changes"===n&&(u=!1!==(l.component.currentConfigurationValues=e())&&u),u}),nu.b,nu.a)),u["ɵdid"](125,114688,null,0,eu.a,[E.a,De.a],{form:[0,"form"],initializeData:[1,"initializeData"]},{changes:"changes"}),(l()(),u["ɵeld"](126,0,null,null,8,"div",[["class","card-footer"]],null,null,null,null,null)),(l()(),u["ɵeld"](127,0,null,null,7,"div",[["class","button-group text-right"]],null,null,null,null,null)),(l()(),u["ɵeld"](128,0,null,null,4,"cd-submit-button",[],null,[[null,"submitAction"]],(function(l,n,e){var u=!0;return"submitAction"===n&&(u=!1!==l.component.submit()&&u),u}),Sl.b,Sl.a)),u["ɵdid"](129,114688,null,0,_l.a,[u.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(l()(),u["ɵted"](130,0,[""," "," "])),u["ɵppd"](131,1),u["ɵppd"](132,1),(l()(),u["ɵeld"](133,0,null,null,1,"cd-back-button",[],null,null,null,ql.b,ql.a)),u["ɵdid"](134,49152,null,0,Dl.a,[Rl.Location,i.b],null,null)],(function(l,n){var e=n.component;l(n,2,0,e.form),l(n,5,0,e.form),l(n,13,0),l(n,20,0,""),l(n,23,0,"name"),l(n,26,0,"name"),l(n,28,0,e.form.showError("name",u["ɵnov"](n,2),"required")),l(n,30,0,e.form.showError("name",u["ɵnov"](n,2),"uniqueName")),l(n,32,0,e.form.showError("name",u["ɵnov"](n,2),"rbdPool")),l(n,34,0,e.form.showError("name",u["ɵnov"](n,2),"pattern")),l(n,36,0),l(n,45,0,"poolType"),l(n,48,0,"poolType"),l(n,50,0,""),l(n,51,0,""),l(n,54,0,e.data.poolTypes),l(n,56,0,e.form.showError("poolType",u["ɵnov"](n,2),"required")),l(n,58,0,e.isReplicated||e.isErasure),l(n,60,0),l(n,67,0,e.data.applications.selected,e.data.applications.available,e.data.applications.messages,4,!0,e.data.applications.validators),l(n,69,0,e.isErasure||e.isReplicated),l(n,71,0,e.info.is_all_bluestore),l(n,76,0),l(n,93,0,"max_bytes"),l(n,95,0,"GiB"),l(n,97,0,"max_bytes"),l(n,99,0),l(n,117,0,"max_objects"),l(n,120,0,"max_objects"),l(n,122,0,e.form.showError("max_objects",u["ɵnov"](n,2),"min")),l(n,125,0,e.form,e.initializeConfigData),l(n,129,0,u["ɵnov"](n,2))}),(function(l,n){var e=n.component;l(n,0,0,u["ɵnov"](n,4).ngClassUntouched,u["ɵnov"](n,4).ngClassTouched,u["ɵnov"](n,4).ngClassPristine,u["ɵnov"](n,4).ngClassDirty,u["ɵnov"](n,4).ngClassValid,u["ɵnov"](n,4).ngClassInvalid,u["ɵnov"](n,4).ngClassPending);var i=u["ɵunv"](n,8,0,l(n,9,0,u["ɵnov"](n.parent,0),e.action)),t=u["ɵunv"](n,8,1,l(n,10,0,u["ɵnov"](n.parent,1),e.resource));l(n,8,0,i,t),l(n,12,0,u["ɵnov"](n,13).hasErrors,u["ɵnov"](n,13).hasSuccess),l(n,19,0,u["ɵnov"](n,25).ngClassUntouched,u["ɵnov"](n,25).ngClassTouched,u["ɵnov"](n,25).ngClassPristine,u["ɵnov"](n,25).ngClassDirty,u["ɵnov"](n,25).ngClassValid,u["ɵnov"](n,25).ngClassInvalid,u["ɵnov"](n,25).ngClassPending,u["ɵnov"](n,26).validClass,u["ɵnov"](n,26).invalidClass),l(n,35,0,u["ɵnov"](n,36).hasErrors,u["ɵnov"](n,36).hasSuccess),l(n,42,0,u["ɵnov"](n,47).ngClassUntouched,u["ɵnov"](n,47).ngClassTouched,u["ɵnov"](n,47).ngClassPristine,u["ɵnov"](n,47).ngClassDirty,u["ɵnov"](n,47).ngClassValid,u["ɵnov"](n,47).ngClassInvalid,u["ɵnov"](n,47).ngClassPending,u["ɵnov"](n,48).validClass,u["ɵnov"](n,48).invalidClass),l(n,59,0,u["ɵnov"](n,60).hasErrors,u["ɵnov"](n,60).hasSuccess),l(n,75,0,u["ɵnov"](n,76).hasErrors,u["ɵnov"](n,76).hasSuccess),l(n,90,0,u["ɵnov"](n,96).ngClassUntouched,u["ɵnov"](n,96).ngClassTouched,u["ɵnov"](n,96).ngClassPristine,u["ɵnov"](n,96).ngClassDirty,u["ɵnov"](n,96).ngClassValid,u["ɵnov"](n,96).ngClassInvalid,u["ɵnov"](n,96).ngClassPending,u["ɵnov"](n,97).validClass,u["ɵnov"](n,97).invalidClass),l(n,98,0,u["ɵnov"](n,99).hasErrors,u["ɵnov"](n,99).hasSuccess),l(n,113,0,u["ɵnov"](n,119).ngClassUntouched,u["ɵnov"](n,119).ngClassTouched,u["ɵnov"](n,119).ngClassPristine,u["ɵnov"](n,119).ngClassDirty,u["ɵnov"](n,119).ngClassValid,u["ɵnov"](n,119).ngClassInvalid,u["ɵnov"](n,119).ngClassPending,u["ɵnov"](n,120).validClass,u["ɵnov"](n,120).invalidClass),l(n,123,0,e.isErasure||-1===e.data.applications.selected.indexOf("rbd"));var o=u["ɵunv"](n,130,0,l(n,131,0,u["ɵnov"](n.parent,0),e.action)),a=u["ɵunv"](n,130,1,l(n,132,0,u["ɵnov"](n.parent,1),e.resource));l(n,130,0,o,a)}))}function ii(l){return u["ɵvid"](0,[u["ɵpid"](0,Rl.TitleCasePipe,[]),u["ɵpid"](0,Il.a,[]),u["ɵqud"](671088640,1,{crushInfoTabs:0}),u["ɵqud"](671088640,2,{crushDeletionBtn:0}),(l()(),u["ɵand"](16777216,null,null,1,null,iu)),u["ɵdid"](5,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵeld"](6,0,null,null,2,"div",[["class","cd-col-form"]],null,null,null,null,null)),(l()(),u["ɵand"](16777216,null,null,1,null,ui)),u["ɵdid"](8,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var e=n.component;l(n,5,0,!(e.info&&e.ecProfiles)),l(n,8,0,e.info&&e.ecProfiles)}),null)}function ti(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"cd-pool-form",[],null,null,null,ii,uu)),u["ɵdid"](1,114688,null,0,q,[R.a,Qn.a,Qn.m,kl.b,m.a,I.a,E.a,kl.b,N.a,c,d,s.a,i.b],null,null)],(function(l,n){l(n,1,0)}),null)}var oi=u["ɵccf"]("cd-pool-form",q,ti,{},{},[]);e.d(n,"PoolModuleNgFactory",(function(){return ai})),e.d(n,"RoutedPoolModuleNgFactory",(function(){return si}));var ai=u["ɵcmf"](M,[],(function(l){return u["ɵmod"]([u["ɵmpd"](512,u.ComponentFactoryResolver,u["ɵCodegenComponentFactoryResolver"],[[8,[J.a,H.a,W.a,Z.a,X.a,X.b,Y.a,Q.a,ll.a,nl.a,el.a,ul.a,il.a,tl.a,ol.a,al.a,sl.a,rl.a,rl.c,rl.b,dl.a,cl.a,ml.a,fl.a,gl.a,pl.a,hl.a,vl.a,Cl.a,bl.a,Kl,Nn]],[3,u.ComponentFactoryResolver],u.NgModuleRef]),u["ɵmpd"](4608,Rl.NgLocalization,Rl.NgLocaleLocalization,[u.LOCALE_ID,[2,Rl["ɵangular_packages_common_common_a"]]]),u["ɵmpd"](4608,yn.ScrollbarHelper,yn.ScrollbarHelper,[Rl.DOCUMENT]),u["ɵmpd"](4608,wn.DimensionsHelper,wn.DimensionsHelper,[]),u["ɵmpd"](4608,Vn.ColumnChangesService,Vn.ColumnChangesService,[]),u["ɵmpd"](4608,t.D,t.D,[]),u["ɵmpd"](4608,Tn.a,Tn.a,[]),u["ɵmpd"](4608,Sn.a,Sn.a,[]),u["ɵmpd"](4608,_n.a,_n.a,[s.a]),u["ɵmpd"](4608,Rl.DatePipe,Rl.DatePipe,[u.LOCALE_ID]),u["ɵmpd"](4608,qn.a,qn.a,[]),u["ɵmpd"](4608,Dn.a,Dn.a,[]),u["ɵmpd"](4608,E.a,E.a,[]),u["ɵmpd"](4608,R.a,R.a,[E.a]),u["ɵmpd"](4608,kn.a,kn.a,[E.a]),u["ɵmpd"](4608,A.a,A.a,[E.a]),u["ɵmpd"](4608,xn.a,xn.a,[]),u["ɵmpd"](4608,Pn.a,Pn.a,[]),u["ɵmpd"](4608,Fn.a,Fn.a,[]),u["ɵmpd"](4608,An.a,An.a,[]),u["ɵmpd"](4608,Bn.a,Bn.a,[Rl.DatePipe]),u["ɵmpd"](4608,On.a,On.a,[]),u["ɵmpd"](4608,zn.a,zn.a,[]),u["ɵmpd"](4608,jn.a,jn.a,[]),u["ɵmpd"](4608,Ln.a,Ln.a,[]),u["ɵmpd"](4608,Un.a,Un.a,[]),u["ɵmpd"](4608,Mn.a,Mn.a,[s.a]),u["ɵmpd"](4608,Il.a,Il.a,[]),u["ɵmpd"](4608,Gn.a,Gn.a,[]),u["ɵmpd"](4608,t.h,t.h,[]),u["ɵmpd"](4608,$n.b,$n.b,[]),u["ɵmpd"](4608,Kn.a,Kn.a,[]),u["ɵmpd"](4608,Jn.a,Jn.a,[u.RendererFactory2,u.PLATFORM_ID]),u["ɵmpd"](4608,Hn.a,Hn.a,[u.ComponentFactoryResolver,u.NgZone,u.Injector,Jn.a,u.ApplicationRef]),u["ɵmpd"](4608,Wn.c,Wn.c,[]),u["ɵmpd"](4608,Zn.a,Zn.a,[]),u["ɵmpd"](4608,kl.b,kl.b,[u.RendererFactory2,Hn.a]),u["ɵmpd"](4608,Xn.f,Xn.f,[]),u["ɵmpd"](4608,I.a,I.a,[]),u["ɵmpd"](4608,Yn.a,Yn.a,[Qn.m,I.a]),u["ɵmpd"](4608,le.f,le.f,[]),u["ɵmpd"](4608,ne.r,ne.r,[]),u["ɵmpd"](4608,ne.t,ne.t,[]),u["ɵmpd"](4608,ne.a,ne.a,[]),u["ɵmpd"](4608,ne.h,ne.h,[]),u["ɵmpd"](4608,ne.d,ne.d,[]),u["ɵmpd"](4608,ne.j,ne.j,[]),u["ɵmpd"](4608,ne.s,ne.s,[ne.t,ne.j]),u["ɵmpd"](4608,ee.a,ee.a,[]),u["ɵmpd"](1073742336,Rl.CommonModule,Rl.CommonModule,[]),u["ɵmpd"](1073742336,ue.NgxDatatableModule,ue.NgxDatatableModule,[]),u["ɵmpd"](1073742336,t.C,t.C,[]),u["ɵmpd"](1073742336,t.n,t.n,[]),u["ɵmpd"](1073742336,Xn.e,Xn.e,[]),u["ɵmpd"](1073742336,ie.a,ie.a,[]),u["ɵmpd"](1073742336,t.y,t.y,[]),u["ɵmpd"](1073742336,$n.c,$n.c,[]),u["ɵmpd"](1073742336,Kn.d,Kn.d,[]),u["ɵmpd"](1073742336,Wn.d,Wn.d,[]),u["ɵmpd"](1073742336,Zn.d,Zn.d,[]),u["ɵmpd"](1073742336,te.b,te.b,[]),u["ɵmpd"](1073742336,kl.e,kl.e,[]),u["ɵmpd"](1073742336,oe.a,oe.a,[]),u["ɵmpd"](1073742336,Nl.f,Nl.f,[]),u["ɵmpd"](1073742336,ae.ClickOutsideModule,ae.ClickOutsideModule,[]),u["ɵmpd"](1073742336,se.b,se.b,[]),u["ɵmpd"](1073742336,Qn.q,Qn.q,[[2,Qn.v],[2,Qn.m]]),u["ɵmpd"](1073742336,re.a,re.a,[]),u["ɵmpd"](1073742336,de.a,de.a,[]),u["ɵmpd"](1073742336,r.a,r.a,[]),u["ɵmpd"](1073742336,ce.a,ce.a,[]),u["ɵmpd"](1073742336,le.d,le.d,[]),u["ɵmpd"](1073742336,me.a,me.a,[]),u["ɵmpd"](1073742336,fe.a,fe.a,[]),u["ɵmpd"](1073742336,ne.g,ne.g,[]),u["ɵmpd"](1073742336,ge.b,ge.b,[]),u["ɵmpd"](1073742336,pe.a,pe.a,[]),u["ɵmpd"](1073742336,M,M,[]),u["ɵmpd"](256,u.LOCALE_ID,"en-US",[]),u["ɵmpd"](256,Xn.a,{autoClose:!0,insideClick:!1},[]),u["ɵmpd"](256,u.TRANSLATIONS_FORMAT,"xlf",[])])})),si=u["ɵcmf"](K,[],(function(l){return u["ɵmod"]([u["ɵmpd"](512,u.ComponentFactoryResolver,u["ɵCodegenComponentFactoryResolver"],[[8,[J.a,H.a,W.a,Z.a,X.a,X.b,Y.a,Q.a,ll.a,nl.a,el.a,ul.a,il.a,tl.a,ol.a,al.a,sl.a,rl.a,rl.c,rl.b,dl.a,cl.a,ml.a,fl.a,gl.a,pl.a,hl.a,vl.a,Cl.a,bl.a,Kl,Nn,We,oi]],[3,u.ComponentFactoryResolver],u.NgModuleRef]),u["ɵmpd"](4608,Rl.NgLocalization,Rl.NgLocaleLocalization,[u.LOCALE_ID,[2,Rl["ɵangular_packages_common_common_a"]]]),u["ɵmpd"](4608,yn.ScrollbarHelper,yn.ScrollbarHelper,[Rl.DOCUMENT]),u["ɵmpd"](4608,wn.DimensionsHelper,wn.DimensionsHelper,[]),u["ɵmpd"](4608,Vn.ColumnChangesService,Vn.ColumnChangesService,[]),u["ɵmpd"](4608,t.D,t.D,[]),u["ɵmpd"](4608,Tn.a,Tn.a,[]),u["ɵmpd"](4608,Sn.a,Sn.a,[]),u["ɵmpd"](4608,_n.a,_n.a,[s.a]),u["ɵmpd"](4608,Rl.DatePipe,Rl.DatePipe,[u.LOCALE_ID]),u["ɵmpd"](4608,qn.a,qn.a,[]),u["ɵmpd"](4608,Dn.a,Dn.a,[]),u["ɵmpd"](4608,E.a,E.a,[]),u["ɵmpd"](4608,R.a,R.a,[E.a]),u["ɵmpd"](4608,kn.a,kn.a,[E.a]),u["ɵmpd"](4608,A.a,A.a,[E.a]),u["ɵmpd"](4608,xn.a,xn.a,[]),u["ɵmpd"](4608,Pn.a,Pn.a,[]),u["ɵmpd"](4608,Fn.a,Fn.a,[]),u["ɵmpd"](4608,An.a,An.a,[]),u["ɵmpd"](4608,Bn.a,Bn.a,[Rl.DatePipe]),u["ɵmpd"](4608,On.a,On.a,[]),u["ɵmpd"](4608,zn.a,zn.a,[]),u["ɵmpd"](4608,jn.a,jn.a,[]),u["ɵmpd"](4608,Ln.a,Ln.a,[]),u["ɵmpd"](4608,Un.a,Un.a,[]),u["ɵmpd"](4608,Mn.a,Mn.a,[s.a]),u["ɵmpd"](4608,Il.a,Il.a,[]),u["ɵmpd"](4608,Gn.a,Gn.a,[]),u["ɵmpd"](4608,t.h,t.h,[]),u["ɵmpd"](4608,$n.b,$n.b,[]),u["ɵmpd"](4608,Kn.a,Kn.a,[]),u["ɵmpd"](4608,Jn.a,Jn.a,[u.RendererFactory2,u.PLATFORM_ID]),u["ɵmpd"](4608,Hn.a,Hn.a,[u.ComponentFactoryResolver,u.NgZone,u.Injector,Jn.a,u.ApplicationRef]),u["ɵmpd"](4608,Wn.c,Wn.c,[]),u["ɵmpd"](4608,Zn.a,Zn.a,[]),u["ɵmpd"](4608,kl.b,kl.b,[u.RendererFactory2,Hn.a]),u["ɵmpd"](4608,Xn.f,Xn.f,[]),u["ɵmpd"](4608,I.a,I.a,[]),u["ɵmpd"](4608,Yn.a,Yn.a,[Qn.m,I.a]),u["ɵmpd"](4608,le.f,le.f,[]),u["ɵmpd"](4608,ne.r,ne.r,[]),u["ɵmpd"](4608,ne.t,ne.t,[]),u["ɵmpd"](4608,ne.a,ne.a,[]),u["ɵmpd"](4608,ne.h,ne.h,[]),u["ɵmpd"](4608,ne.d,ne.d,[]),u["ɵmpd"](4608,ne.j,ne.j,[]),u["ɵmpd"](4608,ne.s,ne.s,[ne.t,ne.j]),u["ɵmpd"](4608,ee.a,ee.a,[]),u["ɵmpd"](1073742336,Rl.CommonModule,Rl.CommonModule,[]),u["ɵmpd"](1073742336,ue.NgxDatatableModule,ue.NgxDatatableModule,[]),u["ɵmpd"](1073742336,t.C,t.C,[]),u["ɵmpd"](1073742336,t.n,t.n,[]),u["ɵmpd"](1073742336,Xn.e,Xn.e,[]),u["ɵmpd"](1073742336,ie.a,ie.a,[]),u["ɵmpd"](1073742336,t.y,t.y,[]),u["ɵmpd"](1073742336,$n.c,$n.c,[]),u["ɵmpd"](1073742336,Kn.d,Kn.d,[]),u["ɵmpd"](1073742336,Wn.d,Wn.d,[]),u["ɵmpd"](1073742336,Zn.d,Zn.d,[]),u["ɵmpd"](1073742336,te.b,te.b,[]),u["ɵmpd"](1073742336,kl.e,kl.e,[]),u["ɵmpd"](1073742336,oe.a,oe.a,[]),u["ɵmpd"](1073742336,Nl.f,Nl.f,[]),u["ɵmpd"](1073742336,ae.ClickOutsideModule,ae.ClickOutsideModule,[]),u["ɵmpd"](1073742336,se.b,se.b,[]),u["ɵmpd"](1073742336,Qn.q,Qn.q,[[2,Qn.v],[2,Qn.m]]),u["ɵmpd"](1073742336,re.a,re.a,[]),u["ɵmpd"](1073742336,de.a,de.a,[]),u["ɵmpd"](1073742336,r.a,r.a,[]),u["ɵmpd"](1073742336,ce.a,ce.a,[]),u["ɵmpd"](1073742336,le.d,le.d,[]),u["ɵmpd"](1073742336,me.a,me.a,[]),u["ɵmpd"](1073742336,fe.a,fe.a,[]),u["ɵmpd"](1073742336,ne.g,ne.g,[]),u["ɵmpd"](1073742336,ge.b,ge.b,[]),u["ɵmpd"](1073742336,pe.a,pe.a,[]),u["ɵmpd"](1073742336,M,M,[]),u["ɵmpd"](1073742336,K,K,[]),u["ɵmpd"](256,u.LOCALE_ID,"en-US",[]),u["ɵmpd"](256,Xn.a,{autoClose:!0,insideClick:!1},[]),u["ɵmpd"](1024,Qn.k,(function(){return[[{path:"",component:U},{path:"create",component:q,data:G},{path:"edit/:name",component:q,data:$}]]}),[]),u["ɵmpd"](256,u.TRANSLATIONS_FORMAT,"xlf",[])])}))}}]);
\ No newline at end of file
diff --git a/ceph/src/pybind/mgr/dashboard/frontend/dist/en-US/8.f45b72794d78f44d11b9.js b/ceph/src/pybind/mgr/dashboard/frontend/dist/en-US/8.f45b72794d78f44d11b9.js
new file mode 100644 (file)
index 0000000..944835b
--- /dev/null
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{nOaW:function(l,n,e){"use strict";e.r(n);var u=e("8Y7J"),i=e("sne2"),t=e("s7LF"),o=e("LvDl"),a=e("IheW"),s=e("GiVz"),r=e("pL04");let d=(()=>{class l{constructor(l,n){this.http=l,this.i18n=n,this.apiPath="api/crush_rule",this.formTooltips={root:this.i18n("The name of the node under which data should be placed."),failure_domain:this.i18n("The type of CRUSH nodes across which we should separate replicas."),device_class:this.i18n("The device class data should be placed on.")}}create(l){return this.http.post(this.apiPath,l,{observe:"response"})}delete(l){return this.http.delete(`${this.apiPath}/${l}`,{observe:"response"})}getInfo(){return this.http.get(`ui-${this.apiPath}/info`)}}return l.ngInjectableDef=u["ɵɵdefineInjectable"]({factory:function(){return new l(u["ɵɵinject"](a.c),u["ɵɵinject"](s.a))},token:l,providedIn:r.a}),l})(),c=(()=>{class l{constructor(l,n){this.http=l,this.i18n=n,this.apiPath="api/erasure_code_profile",this.formTooltips={k:this.i18n("Each object is split in data-chunks parts, each stored on a different OSD."),m:this.i18n("Compute coding chunks for each object and store them on different OSDs.\n      The number of coding chunks is also the number of OSDs that can be down without losing data."),plugins:{jerasure:{description:this.i18n("The jerasure plugin is the most generic and flexible plugin,\n          it is also the default for Ceph erasure coded pools."),technique:this.i18n("The more flexible technique is reed_sol_van : it is enough to set k\n          and m. The cauchy_good technique can be faster but you need to chose the packetsize\n          carefully. All of reed_sol_r6_op, liberation, blaum_roth, liber8tion are RAID6 equivalents\n          in the sense that they can only be configured with m=2."),packetSize:this.i18n("The encoding will be done on packets of bytes size at a time.\n          Chosing the right packet size is difficult.\n          The jerasure documentation contains extensive information on this topic.")},lrc:{description:this.i18n("With the jerasure plugin, when an erasure coded object is stored on\n          multiple OSDs, recovering from the loss of one OSD requires reading from all the others.\n          For instance if jerasure is configured with k=8 and m=4, losing one OSD requires reading\n          from the eleven others to repair.\n\n          The lrc erasure code plugin creates local parity chunks to be able to recover using\n          less OSDs. For instance if lrc is configured with k=8, m=4 and l=4, it will create\n          an additional parity chunk for every four OSDs. When a single OSD is lost, it can be\n          recovered with only four OSDs instead of eleven."),l:this.i18n("Group the coding and data chunks into sets of size locality. For instance,\n          for k=4 and m=2, when locality=3 two groups of three are created. Each set can\n          be recovered without reading chunks from another set."),crushLocality:this.i18n("The type of the crush bucket in which each set of chunks defined\n          by l will be stored. For instance, if it is set to rack, each group of l chunks will be\n          placed in a different rack. It is used to create a CRUSH rule step such as step choose\n          rack. If it is not set, no such grouping is done.")},isa:{description:this.i18n("The isa plugin encapsulates the ISA library. It only runs on Intel processors."),technique:this.i18n("The ISA plugin comes in two Reed Solomon forms.\n          If reed_sol_van is set, it is Vandermonde, if cauchy is set, it is Cauchy.")},shec:{description:this.i18n("The shec plugin encapsulates the multiple SHEC library.\n          It allows ceph to recover data more efficiently than Reed Solomon codes."),c:this.i18n("The number of parity chunks each of which includes each data chunk in its\n          calculation range. The number is used as a durability estimator. For instance, if c=2,\n          2 OSDs can be down without losing data.")}},crushRoot:this.i18n("The name of the crush bucket used for the first step of the CRUSH rule.\n      For instance step take default."),crushFailureDomain:this.i18n("Ensure that no two chunks are in a bucket with the same failure\n      domain. For instance, if the failure domain is host no two chunks will be stored on the same\n      host. It is used to create a CRUSH rule step such as step chooseleaf host."),crushDeviceClass:this.i18n("Restrict placement to devices of a specific class\n      (e.g., ssd or hdd), using the crush device class names in the CRUSH map."),directory:this.i18n("Set the directory name from which the erasure code plugin is loaded.")}}list(){return this.http.get(this.apiPath)}create(l){return this.http.post(this.apiPath,l,{observe:"response"})}delete(l){return this.http.delete(`${this.apiPath}/${l}`,{observe:"response"})}getInfo(){return this.http.get(`ui-${this.apiPath}/info`)}}return l.ngInjectableDef=u["ɵɵdefineInjectable"]({factory:function(){return new l(u["ɵɵinject"](a.c),u["ɵɵinject"](s.a))},token:l,providedIn:r.a}),l})();var m=e("Ekvf"),f=e("0+/T"),g=e("a96k"),p=e("oxzT"),h=e("QFaf"),v=e("1Ni5"),C=e("PhyI"),b=e("kvvV"),R=e("Fgil"),I=e("aexS"),E=e("aXbf"),N=e("kn/O"),y=e("2EZI");class w{constructor(l,n,e,i,t,o){this.formBuilder=l,this.bsModalRef=n,this.taskWrapper=e,this.crushRuleService=i,this.i18n=t,this.actionLabels=o,this.submitAction=new u.EventEmitter,this.buckets=[],this.failureDomains={},this.devices=[],this.tooltips=this.crushRuleService.formTooltips,this.nodes=[],this.easyNodes={},this.action=this.actionLabels.CREATE,this.resource=this.i18n("Crush Rule"),this.createForm()}createForm(){this.form=this.formBuilder.group({name:["",[t.B.required,t.B.pattern("[A-Za-z0-9_-]+"),v.a.custom("uniqueName",l=>this.names&&-1!==this.names.indexOf(l))]],root:null,failure_domain:"",device_class:""})}ngOnInit(){this.crushRuleService.getInfo().subscribe(({names:l,nodes:n})=>{this.nodes=n,n.forEach(l=>{this.easyNodes[l.id]=l}),this.buckets=o.sortBy(n.filter(l=>l.children),"name"),this.names=l,this.preSelectRoot()}),this.form.get("root").valueChanges.subscribe(l=>this.updateRoot(l)),this.form.get("failure_domain").valueChanges.subscribe(l=>this.updateDevices(l))}preSelectRoot(){const l=this.nodes.find(l=>"root"===l.type);this.form.silentSet("root",l),this.updateRoot(l)}updateRoot(l){const n=this.getSubNodes(l),e={};n.forEach(l=>{e[l.type]||(e[l.type]=[]),e[l.type].push(l)}),Object.keys(e).forEach(l=>{e[l].length<=1&&delete e[l]}),this.failureDomains=e,this.updateFailureDomain()}getSubNodes(l){let n=[l];return l.children?(l.children.forEach(l=>{n=n.concat(this.getSubNodes(this.easyNodes[l]))}),n):n}updateFailureDomain(){let l=this.getIncludedCustomValue("failure_domain",Object.keys(this.failureDomains));""===l&&(l=this.setMostCommonDomain()),this.updateDevices(l)}getIncludedCustomValue(l,n){const e=this.form.get(l);return e.dirty&&n.includes(e.value)?e.value:""}setMostCommonDomain(){let l={n:0,type:""};return Object.keys(this.failureDomains).forEach(n=>{const e=this.failureDomains[n].length;l.n<e&&(l={n:e,type:n})}),this.form.silentSet("failure_domain",l.type),l.type}updateDevices(l){const n=o.flatten(this.failureDomains[l].map(l=>this.getSubNodes(l)));this.devices=o.uniq(n.filter(l=>l.device_class).map(l=>l.device_class)).sort();const e=1===this.devices.length?this.devices[0]:this.getIncludedCustomValue("device_class",this.devices);this.form.get("device_class").setValue(e)}failureDomainKeys(){return Object.keys(this.failureDomains).sort()}onSubmit(){if(this.form.invalid)return void this.form.setErrors({cdSubmitButton:!0});const l=o.cloneDeep(this.form.value);l.root=l.root.name,""===l.device_class&&delete l.device_class,this.taskWrapper.wrapTaskAroundCall({task:new b.a("crushRule/create",l),call:this.crushRuleService.create(l)}).subscribe(void 0,()=>{this.form.setErrors({cdSubmitButton:!0})},()=>{this.bsModalRef.hide(),this.submitAction.emit(l)})}}class V{}class T{constructor(l,n,e,i,t,o){this.formBuilder=l,this.bsModalRef=n,this.taskWrapper=e,this.ecpService=i,this.i18n=t,this.actionLabels=o,this.submitAction=new u.EventEmitter,this.requiredControls=[],this.devices=[],this.tooltips=this.ecpService.formTooltips,this.PLUGIN={LRC:"lrc",SHEC:"shec",JERASURE:"jerasure",ISA:"isa"},this.plugin=this.PLUGIN.JERASURE,this.action=this.actionLabels.CREATE,this.resource=this.i18n("EC Profile"),this.createForm(),this.setJerasureDefaults()}createForm(){this.form=this.formBuilder.group({name:[null,[t.B.required,t.B.pattern("[A-Za-z0-9_-]+"),v.a.custom("uniqueName",l=>this.names&&-1!==this.names.indexOf(l))]],plugin:[this.PLUGIN.JERASURE,[t.B.required]],k:[1],m:[1],crushFailureDomain:["host"],crushRoot:["default"],crushDeviceClass:[""],directory:[""],technique:["reed_sol_van"],packetSize:[2048,[t.B.min(1)]],l:[1,[t.B.required,t.B.min(1)]],crushLocality:[""],c:[1,[t.B.required,t.B.min(1)]]}),this.form.get("plugin").valueChanges.subscribe(l=>this.onPluginChange(l))}onPluginChange(l){this.plugin=l,l===this.PLUGIN.JERASURE?this.setJerasureDefaults():l===this.PLUGIN.LRC?this.setLrcDefaults():l===this.PLUGIN.ISA?this.setIsaDefaults():l===this.PLUGIN.SHEC&&this.setShecDefaults()}setNumberValidators(l,n){const e=[t.B.min(1)];n&&e.push(t.B.required),this.form.get(l).setValidators(e)}setKMValidators(l){["k","m"].forEach(n=>this.setNumberValidators(n,l))}setJerasureDefaults(){this.requiredControls=["k","m"],this.setDefaults({k:4,m:2}),this.setKMValidators(!0),this.techniques=["reed_sol_van","reed_sol_r6_op","cauchy_orig","cauchy_good","liberation","blaum_roth","liber8tion"]}setLrcDefaults(){this.requiredControls=["k","m","l"],this.setKMValidators(!0),this.setNumberValidators("l",!0),this.setDefaults({k:4,m:2,l:3})}setIsaDefaults(){this.requiredControls=[],this.setKMValidators(!1),this.setDefaults({k:7,m:3}),this.techniques=["reed_sol_van","cauchy"]}setShecDefaults(){this.requiredControls=[],this.setKMValidators(!1),this.setDefaults({k:4,m:3,c:2})}setDefaults(l){Object.keys(l).forEach(n=>{this.form.get(n).pristine&&this.form.silentSet(n,l[n])})}ngOnInit(){this.ecpService.getInfo().subscribe(({failure_domains:l,plugins:n,names:e,directory:u,devices:i})=>{this.failureDomains=l,this.plugins=n,this.names=e,this.devices=i,this.form.silentSet("directory",u)})}createJson(){const l={technique:[this.PLUGIN.ISA,this.PLUGIN.JERASURE],packetSize:[this.PLUGIN.JERASURE],l:[this.PLUGIN.LRC],crushLocality:[this.PLUGIN.LRC],c:[this.PLUGIN.SHEC]},n=new V,e=this.form.getValue("plugin");return Object.keys(this.form.controls).filter(n=>{const u=l[n],i=this.form.get(n);return(u&&u.includes(e)||!u)&&(i.dirty||this.requiredControls.includes(n))&&this.form.getValue(n)}).forEach(l=>{this.extendJson(l,n)}),n}extendJson(l,n){n[{crushFailureDomain:"crush-failure-domain",crushRoot:"crush-root",crushDeviceClass:"crush-device-class",packetSize:"packetsize",crushLocality:"crush-locality"}[l]||l]=this.form.getValue(l)}onSubmit(){if(this.form.invalid)return void this.form.setErrors({cdSubmitButton:!0});const l=this.createJson();this.taskWrapper.wrapTaskAroundCall({task:new b.a("ecp/create",{name:l.name}),call:this.ecpService.create(l)}).subscribe(void 0,()=>{this.form.setErrors({cdSubmitButton:!0})},()=>{this.bsModalRef.hide(),this.submitAction.emit(l)})}}var S=e("DNAf");class _{constructor(l){this.erasureInfo=!1,this.crushInfo=!1,this.pgs=1,this.poolTypes=["erasure","replicated"],this.applications={selected:[],default:["cephfs","rbd","rgw"],available:[],validators:[t.B.pattern("[A-Za-z0-9_]+"),t.B.maxLength(128)],messages:new S.a({empty:l("No applications added"),selectionLimit:{text:l("Applications limit reached"),tooltip:l("A pool can only have up to four applications definitions.")},customValidations:{pattern:l("Allowed characters '_a-zA-Z0-9'"),maxlength:l("Maximum length is 128 characters")},filter:l("Filter or add applications"),add:l("Add application")},l)}}}class q{constructor(l,n,e,t,o,a,s,r,d,c,m,f,g){this.dimlessBinaryPipe=l,this.route=n,this.router=e,this.modalService=t,this.poolService=o,this.authStorageService=a,this.formatter=s,this.bsModalService=r,this.taskWrapper=d,this.ecpService=c,this.crushRuleService=m,this.i18n=f,this.actionLabels=g,this.editing=!1,this.isReplicated=!1,this.isErasure=!1,this.data=new _(this.i18n),this.externalPgChange=!1,this.current={rules:[]},this.initializeConfigData=new u.EventEmitter,this.currentConfigurationValues={},this.icons=p.a,this.crushUsage=void 0,this.editing=this.router.url.startsWith(`/pool/${i.e.EDIT}`),this.action=this.editing?this.actionLabels.EDIT:this.actionLabels.CREATE,this.resource=this.i18n("pool"),this.authenticate(),this.createForm()}authenticate(){this.permission=this.authStorageService.getPermissions().pool,(!this.permission.read||!this.permission.update&&this.editing||!this.permission.create&&!this.editing)&&this.router.navigate(["/404"])}createForm(){const l=new h.a({mode:new t.i("none"),algorithm:new t.i(""),minBlobSize:new t.i("",{updateOn:"blur"}),maxBlobSize:new t.i("",{updateOn:"blur"}),ratio:new t.i("",{updateOn:"blur"})});this.form=new h.a({name:new t.i("",{validators:[t.B.pattern(/^[.A-Za-z0-9_/-]+$/),t.B.required,v.a.custom("rbdPool",()=>this.form&&this.form.getValue("name").includes("/")&&this.data&&-1!==this.data.applications.selected.indexOf("rbd"))]}),poolType:new t.i("",{validators:[t.B.required]}),crushRule:new t.i(null,{validators:[v.a.custom("tooFewOsds",l=>this.info&&l&&this.info.osd_count<l.min_size),v.a.custom("required",l=>this.isReplicated&&this.info.crush_rules_replicated.length>0&&!l)]}),size:new t.i("",{updateOn:"blur"}),erasureProfile:new t.i(null),pgNum:new t.i("",{validators:[t.B.required,t.B.min(1)]}),pgAutoscaleMode:new t.i(null),ecOverwrites:new t.i(!1),compression:l,max_bytes:new t.i(""),max_objects:new t.i(0,{validators:[t.B.min(0)]})},[v.a.custom("form",()=>null)])}ngOnInit(){this.poolService.getInfo().subscribe(l=>{this.initInfo(l),this.editing?this.initEditMode():this.setAvailableApps(),this.listenToChanges(),this.setComplexValidators()})}initInfo(l){this.pgAutoscaleModes=l.pg_autoscale_modes,this.form.silentSet("pgAutoscaleMode",l.pg_autoscale_default_mode),this.form.silentSet("algorithm",l.bluestore_compression_algorithm),this.info=l,this.initEcp(l.erasure_code_profiles)}initEcp(l){this.setListControlStatus("erasureProfile",l),this.ecProfiles=l}setListControlStatus(l,n){const e=this.form.get(l),u=e.value;1!==n.length||u&&o.isEqual(u,n[0])?0===n.length&&u&&e.setValue(null):e.setValue(n[0]),n.length<=1?e.enabled&&e.disable():e.disabled&&e.enable()}initEditMode(){this.disableForEdit(),this.routeParamsSubscribe=this.route.params.subscribe(l=>this.poolService.get(l.name).subscribe(l=>{this.data.pool=l,this.initEditFormData(l)}))}disableForEdit(){["poolType","crushRule","size","erasureProfile","ecOverwrites"].forEach(l=>this.form.get(l).disable())}initEditFormData(l){this.initializeConfigData.emit({initialData:l.configuration,sourceType:C.a.pool}),this.poolTypeChange(l.type);const n=this.info.crush_rules_replicated.concat(this.info.crush_rules_erasure),e={name:l.pool_name,poolType:l.type,crushRule:n.find(n=>n.rule_name===l.crush_rule),size:l.size,erasureProfile:this.ecProfiles.find(n=>n.name===l.erasure_code_profile),pgAutoscaleMode:l.pg_autoscale_mode,pgNum:l.pg_num,ecOverwrites:l.flags_names.includes("ec_overwrites"),mode:l.options.compression_mode,algorithm:l.options.compression_algorithm,minBlobSize:this.dimlessBinaryPipe.transform(l.options.compression_min_blob_size),maxBlobSize:this.dimlessBinaryPipe.transform(l.options.compression_max_blob_size),ratio:l.options.compression_required_ratio,max_bytes:this.dimlessBinaryPipe.transform(l.quota_max_bytes),max_objects:l.quota_max_objects};Object.keys(e).forEach(l=>{const n=e[l];o.isUndefined(n)||""===n||this.form.silentSet(l,n)}),this.data.pgs=this.form.getValue("pgNum"),this.setAvailableApps(this.data.applications.default.concat(l.application_metadata)),this.data.applications.selected=l.application_metadata}setAvailableApps(l=this.data.applications.default){this.data.applications.available=o.uniq(l.sort()).map(l=>new g.a(!1,l,""))}listenToChanges(){this.listenToChangesDuringAddEdit(),this.editing||this.listenToChangesDuringAdd()}listenToChangesDuringAddEdit(){this.form.get("pgNum").valueChanges.subscribe(l=>{const n=l-this.data.pgs;1===Math.abs(n)&&2!==l?this.doPgPowerJump(n):this.data.pgs=l})}doPgPowerJump(l){const n=this.calculatePgPower()+l;this.setPgs(-1===l?Math.round(n):Math.floor(n))}calculatePgPower(l=this.form.getValue("pgNum")){return Math.log(l)/Math.log(2)}setPgs(l){const n=Math.pow(2,l<0?0:l);this.data.pgs=n,this.form.silentSet("pgNum",n)}listenToChangesDuringAdd(){this.form.get("poolType").valueChanges.subscribe(l=>{this.poolTypeChange(l)}),this.form.get("crushRule").valueChanges.subscribe(l=>{this.crushDeletionBtn&&this.crushDeletionBtn.isOpen&&this.crushDeletionBtn.hide(),l&&(this.crushRuleIsUsedBy(l.rule_name),this.replicatedRuleChange(),this.pgCalc())}),this.form.get("size").valueChanges.subscribe(()=>{this.pgCalc()}),this.form.get("erasureProfile").valueChanges.subscribe(()=>{this.pgCalc()}),this.form.get("mode").valueChanges.subscribe(()=>{["minBlobSize","maxBlobSize","ratio"].forEach(l=>{this.form.get(l).updateValueAndValidity({emitEvent:!1})})}),this.form.get("minBlobSize").valueChanges.subscribe(()=>{this.form.get("maxBlobSize").updateValueAndValidity({emitEvent:!1})}),this.form.get("maxBlobSize").valueChanges.subscribe(()=>{this.form.get("minBlobSize").updateValueAndValidity({emitEvent:!1})})}poolTypeChange(l){if("replicated"===l?this.setTypeBooleans(!0,!1):this.setTypeBooleans(!1,"erasure"===l),!l||!this.info)return void(this.current.rules=[]);const n=this.info["crush_rules_"+l]||[];this.current.rules=n,this.editing||(this.isReplicated&&this.setListControlStatus("crushRule",n),this.replicatedRuleChange(),this.pgCalc())}setTypeBooleans(l,n){this.isReplicated=l,this.isErasure=n}replicatedRuleChange(){if(!this.isReplicated)return;const l=this.form.get("size");let n=this.form.getValue("size")||3;const e=this.getMinSize(),u=this.getMaxSize();n<e?n=e:n>u&&(n=u),n!==l.value&&this.form.silentSet("size",n)}getMinSize(){if(!this.info||this.info.osd_count<1)return 0;const l=this.form.getValue("crushRule");return l?l.min_size:1}getMaxSize(){if(!this.info||this.info.osd_count<1)return 0;const l=this.info.osd_count;if(this.form.getValue("crushRule")){const n=this.form.get("crushRule").value.max_size;if(n<l)return n}return l}pgCalc(){const l=this.form.getValue("poolType");if(!this.info||this.form.get("pgNum").dirty||!l)return;const n=100*this.info.osd_count,e=this.isReplicated?this.replicatedPgCalc(n):this.erasurePgCalc(n);if(!e)return;const u=this.data.pgs;this.alignPgs(e),this.externalPgChange||(this.externalPgChange=u!==this.data.pgs)}replicatedPgCalc(l){const n=this.form.get("size"),e=n.value;return n.valid&&e>0?l/e:0}erasurePgCalc(l){const n=this.form.get("erasureProfile"),e=n.value;return(n.valid||n.disabled)&&e?l/(e.k+e.m):0}alignPgs(l=this.form.getValue("pgNum")){this.setPgs(Math.round(this.calculatePgPower(l<1?1:l)))}setComplexValidators(){this.editing?this.form.get("name").setValidators([this.form.get("name").validator,v.a.custom("uniqueName",l=>this.data.pool&&this.info&&-1!==this.info.pool_names.indexOf(l)&&this.info.pool_names.indexOf(l)!==this.info.pool_names.indexOf(this.data.pool.pool_name))]):(v.a.validateIf(this.form.get("size"),()=>this.isReplicated,[v.a.custom("min",l=>this.form.getValue("size")&&l<this.getMinSize()),v.a.custom("max",l=>this.form.getValue("size")&&this.getMaxSize()<l)]),this.form.get("name").setValidators([this.form.get("name").validator,v.a.custom("uniqueName",l=>this.info&&-1!==this.info.pool_names.indexOf(l))])),this.setCompressionValidators()}setCompressionValidators(){v.a.validateIf(this.form.get("minBlobSize"),()=>this.hasCompressionEnabled(),[t.B.min(0),v.a.custom("maximum",l=>this.oddBlobSize(l,this.form.getValue("maxBlobSize")))]),v.a.validateIf(this.form.get("maxBlobSize"),()=>this.hasCompressionEnabled(),[t.B.min(0),v.a.custom("minimum",l=>this.oddBlobSize(this.form.getValue("minBlobSize"),l))]),v.a.validateIf(this.form.get("ratio"),()=>this.hasCompressionEnabled(),[t.B.min(0),t.B.max(1)])}oddBlobSize(l,n){const e=this.formatter.toBytes(l),u=this.formatter.toBytes(n);return Boolean(e&&u&&e>=u)}hasCompressionEnabled(){return this.form.getValue("mode")&&"none"!==this.form.get("mode").value.toLowerCase()}describeCrushStep(l){return[l.op.replace("_"," "),l.item_name||"",l.type?l.num+" type "+l.type:""].join(" ")}addErasureCodeProfile(){this.modalSubscription=this.modalService.onHide.subscribe(()=>this.reloadECPs()),this.bsModalService.show(T)}reloadECPs(){this.ecpService.list().subscribe(l=>this.initEcp(l)),this.modalSubscription.unsubscribe()}deleteErasureCodeProfile(){const l=this.form.getValue("erasureProfile");if(!l)return;const n=l.name;this.modalSubscription=this.modalService.onHide.subscribe(()=>this.reloadECPs()),this.modalService.show(f.a,{initialState:{itemDescription:this.i18n("erasure code profile"),itemNames:[n],submitActionObservable:()=>this.taskWrapper.wrapTaskAroundCall({task:new b.a("ecp/delete",{name:n}),call:this.ecpService.delete(n)})}})}addCrushRule(){this.crushDeletionBtn.isOpen&&this.crushDeletionBtn.hide(),this.bsModalService.show(w).content.submitAction.subscribe(l=>{this.reloadCrushRules(l.name)})}reloadCrushRules(l){this.modalSubscription&&this.modalSubscription.unsubscribe(),this.poolService.getInfo().subscribe(n=>{if(this.initInfo(n),this.poolTypeChange("replicated"),!l)return;const e=this.info.crush_rules_replicated.find(n=>n.rule_name===l);e&&this.form.get("crushRule").setValue(e)})}deleteCrushRule(){const l=this.form.getValue("crushRule");if(!l)return;if(this.crushUsage)return this.crushDeletionBtn.toggle(),this.data.crushInfo=!0,void setTimeout(()=>{this.crushInfoTabs&&(this.crushInfoTabs.tabs[2].active=!0)},50);const n=l.rule_name;this.modalSubscription=this.modalService.onHide.subscribe(()=>this.reloadCrushRules()),this.modalService.show(f.a,{initialState:{itemDescription:this.i18n("crush rule"),itemNames:[n],submitActionObservable:()=>this.taskWrapper.wrapTaskAroundCall({task:new b.a("crushRule/delete",{name:n}),call:this.crushRuleService.delete(n)})}})}crushRuleIsUsedBy(l){this.crushUsage=l?this.info.used_rules[l]:void 0}submit(){if(this.form.invalid)return void this.form.setErrors({cdSubmitButton:!0});const l={pool:this.form.getValue("name")};this.assignFormFields(l,[{externalFieldName:"pool_type",formControlName:"poolType"},{externalFieldName:"pg_autoscale_mode",formControlName:"pgAutoscaleMode",editable:!0},{externalFieldName:"pg_num",formControlName:"pgNum",replaceFn:l=>"on"===this.form.getValue("pgAutoscaleMode")?1:l,editable:!0},this.isReplicated?{externalFieldName:"size",formControlName:"size"}:{externalFieldName:"erasure_code_profile",formControlName:"erasureProfile",attr:"name"},{externalFieldName:"rule_name",formControlName:"crushRule",replaceFn:l=>this.isReplicated?l&&l.rule_name:void 0},{externalFieldName:"quota_max_bytes",formControlName:"max_bytes",replaceFn:this.formatter.toBytes,editable:!0,resetValue:this.editing?0:void 0},{externalFieldName:"quota_max_objects",formControlName:"max_objects",editable:!0,resetValue:this.editing?0:void 0}]),this.info.is_all_bluestore&&(this.assignFormField(l,{externalFieldName:"flags",formControlName:"ecOverwrites",replaceFn:()=>this.isErasure?["ec_overwrites"]:void 0}),"none"!==this.form.getValue("mode")?this.assignFormFields(l,[{externalFieldName:"compression_mode",formControlName:"mode",editable:!0,replaceFn:l=>this.hasCompressionEnabled()&&l},{externalFieldName:"compression_algorithm",formControlName:"algorithm",editable:!0},{externalFieldName:"compression_min_blob_size",formControlName:"minBlobSize",replaceFn:this.formatter.toBytes,editable:!0,resetValue:0},{externalFieldName:"compression_max_blob_size",formControlName:"maxBlobSize",replaceFn:this.formatter.toBytes,editable:!0,resetValue:0},{externalFieldName:"compression_required_ratio",formControlName:"ratio",editable:!0,resetValue:0}]):this.editing&&this.assignFormFields(l,[{externalFieldName:"compression_mode",formControlName:"mode",editable:!0,replaceFn:()=>"unset"},{externalFieldName:"srcpool",formControlName:"name",editable:!0,replaceFn:()=>this.data.pool.pool_name}]));const n=this.data.applications.selected;(n.length>0||this.editing)&&(l.application_metadata=n),this.isReplicated&&!o.isEmpty(this.currentConfigurationValues)&&(l.configuration=this.currentConfigurationValues),this.triggerApiTask(l)}assignFormFields(l,n){n.forEach(n=>this.assignFormField(l,n))}assignFormField(l,{externalFieldName:n,formControlName:e,attr:u,replaceFn:i,editable:t,resetValue:a}){if(this.editing&&(!t||this.form.get(e).pristine))return;const s=this.form.getValue(e);let r=i?i(s):u?o.get(s,u):s;if(!s||!r){if(!t||o.isUndefined(a))return;r=a}l[n]=r}triggerApiTask(l){this.taskWrapper.wrapTaskAroundCall({task:new b.a("pool/"+(this.editing?i.e.EDIT:i.e.CREATE),{pool_name:l.hasOwnProperty("srcpool")?l.srcpool:l.pool}),call:this.poolService[this.editing?i.e.UPDATE:i.e.CREATE](l)}).subscribe(void 0,l=>{o.isObject(l.error)&&"34"===l.error.code&&this.form.get("pgNum").setErrors({34:!0}),this.form.setErrors({cdSubmitButton:!0})},()=>this.router.navigate(["/pool"]))}appSelection(){this.form.get("name").updateValueAndValidity({emitEvent:!1,onlySelf:!0})}}var D=e("MuvH"),k=e("uIqm"),x=e("x38r"),P=e("yJti"),F=e("vCyI"),A=e("o4+5"),B=e("VTlA"),O=e("EgGo"),z=e("d+Og");class j{constructor(l){this.pool_name=l}}const L=new O.a("pool");class U{constructor(l,n,e,u,i,t,a,s,r,d,c){this.poolService=l,this.taskWrapper=n,this.authStorageService=e,this.taskListService=u,this.modalService=i,this.i18n=t,this.pgCategoryService=a,this.dimlessPipe=s,this.urlBuilder=r,this.configurationService=d,this.actionLabels=c,this.pools=[],this.selection=new F.a,this.executingTasks=[],this.selectionCacheTiers=[],this.monAllowPoolDelete=!1,this.permissions=this.authStorageService.getPermissions(),this.tableActions=[{permission:"create",icon:p.a.add,routerLink:()=>this.urlBuilder.getCreate(),name:this.actionLabels.CREATE},{permission:"update",icon:p.a.edit,routerLink:()=>this.urlBuilder.getEdit(encodeURIComponent(this.selection.first().pool_name)),name:this.actionLabels.EDIT},{permission:"delete",icon:p.a.destroy,click:()=>this.deletePoolModal(),name:this.actionLabels.DELETE,disable:()=>!this.selection.first()||!this.monAllowPoolDelete,disableDesc:()=>this.getDisableDesc()}],this.permissions.configOpt.read&&this.configurationService.get("mon_allow_pool_delete").subscribe(l=>{if(o.has(l,"value")){const n=o.find(l.value,l=>"mon"===l.section)||{value:!1};this.monAllowPoolDelete="true"===n.value}})}ngOnInit(){const l=(l,n,e)=>o.get(n,l)>o.get(e,l)?1:-1;this.columns=[{prop:"pool_name",name:this.i18n("Name"),flexGrow:4,cellTransformation:x.a.executing},{prop:"type",name:this.i18n("Type"),flexGrow:2},{prop:"application_metadata",name:this.i18n("Applications"),flexGrow:3},{prop:"pg_status",name:this.i18n("PG Status"),flexGrow:3,cellClass:({row:l,column:n,value:e})=>this.getPgStatusCellClass(l,n,e)},{prop:"size",name:this.i18n("Replica Size"),flexGrow:2,cellClass:"text-right"},{prop:"last_change",name:this.i18n("Last Change"),flexGrow:2,cellClass:"text-right"},{prop:"erasure_code_profile",name:this.i18n("Erasure Coded Profile"),flexGrow:2},{prop:"crush_rule",name:this.i18n("Crush Ruleset"),flexGrow:3},{name:this.i18n("Usage"),prop:"usage",cellTemplate:this.poolUsageTpl,flexGrow:3},{prop:"stats.rd_bytes.rates",name:this.i18n("Read bytes"),comparator:(n,e,u,i)=>l("stats.rd_bytes.latest",u,i),cellTransformation:x.a.sparkline,flexGrow:3},{prop:"stats.wr_bytes.rates",name:this.i18n("Write bytes"),comparator:(n,e,u,i)=>l("stats.wr_bytes.latest",u,i),cellTransformation:x.a.sparkline,flexGrow:3},{prop:"stats.rd.rate",name:this.i18n("Read ops"),flexGrow:1,pipe:this.dimlessPipe,cellTransformation:x.a.perSecond},{prop:"stats.wr.rate",name:this.i18n("Write ops"),flexGrow:1,pipe:this.dimlessPipe,cellTransformation:x.a.perSecond}],this.taskListService.init(()=>this.poolService.getList(),void 0,l=>this.pools=this.transformPoolsData(l),()=>{this.table.reset(),this.viewCacheStatusList=[{status:P.a.ValueException}]},l=>l.name.startsWith("pool/"),(l,n)=>n.metadata.pool_name===l.pool_name,{default:l=>new j(l.pool_name)})}updateSelection(l){this.selection=l,this.getSelectionTiers()}deletePoolModal(){const l=this.selection.first().pool_name;this.modalRef=this.modalService.show(f.a,{initialState:{itemDescription:"Pool",itemNames:[l],submitActionObservable:()=>this.taskWrapper.wrapTaskAroundCall({task:new b.a(`pool/${i.e.DELETE}`,{pool_name:l}),call:this.poolService.delete(l)})}})}getPgStatusCellClass(l,n,e){return{"text-right":!0,[`pg-${this.pgCategoryService.getTypeByStates(e)}`]:!0}}transformPoolsData(l){const n=["bytes_used","max_avail","rd_bytes","wr_bytes","rd","wr"],e={latest:0,rate:0,rates:[]};return o.forEach(l,l=>{l.pg_status=this.transformPgStatus(l.pg_status);const u={};o.forEach(n,n=>{u[n]=l.stats&&l.stats[n]?l.stats[n]:e}),l.stats=u;const i=u.bytes_used.latest+u.max_avail.latest;l.usage=i>0?u.bytes_used.latest/i:i,l.cdExecuting||l.pg_num+l.pg_placement_num===l.pg_num_target+l.pg_placement_num_target||(l.cdExecuting="Updating"),["rd_bytes","wr_bytes"].forEach(n=>{l.stats[n].rates=l.stats[n].rates.map(l=>l[1])}),l.cdIsBinary=!0}),l}transformPgStatus(l){const n=[];return o.forEach(l,(l,e)=>{n.push(`${l} ${e}`)}),n.join(", ")}getSelectionTiers(){const l=this.selection.hasSingleSelection&&this.selection.first().tiers||[];this.selectionCacheTiers=this.pools.filter(n=>l.includes(n.pool))}getDisableDesc(){if(!this.monAllowPoolDelete)return this.i18n("Pool deletion is disabled by the mon_allow_pool_delete configuration setting.")}}class M{}const G={breadcrumbs:i.a.CREATE},$={breadcrumbs:i.a.EDIT};class K{}var J=e("iutN"),H=e("MdoF"),W=e("ES0t"),Z=e("Xg1U"),X=e("z5nN"),Y=e("pMnS"),Q=e("EEJc"),ll=e("PEr+"),nl=e("a40w"),el=e("hfeG"),ul=e("QUzE"),il=e("E7j4"),tl=e("xvu0"),ol=e("RIVN"),al=e("nP0W"),sl=e("VBM6"),rl=e("atuK"),dl=e("JIi+"),cl=e("0BYw"),ml=e("3IYD"),fl=e("I4Qz"),gl=e("0rTx"),pl=e("lz+O"),hl=e("u2XS"),vl=e("nhAp"),Cl=e("l7Jr"),bl=e("bUo2"),Rl=e("SVse"),Il=e("8xTl"),El=e("ajRT"),Nl=e("+gVj"),yl=e("mXUL"),wl=e("IZUe"),Vl=e("4HWh"),Tl=e("p4Cf"),Sl=e("gp3X"),_l=e("sb0X"),ql=e("KVJa"),Dl=e("Z21x"),kl=e("LqlI"),xl=u["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Pl(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["This field is required!"]))],null,null)}function Fl(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["The name can only consist of alphanumeric characters, dashes and underscores."]))],null,null)}function Al(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["The chosen erasure code profile name is already in use."]))],null,null)}function Bl(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"option",[["ngValue",""]],null,null,null,null,null)),u["ɵdid"](1,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{ngValue:[0,"ngValue"]},null),u["ɵdid"](2,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),u["ɵted"](-1,null,["Loading..."]))],(function(l,n){l(n,1,0,""),l(n,2,0,"")}),null)}function Ol(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),u["ɵdid"](1,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{ngValue:[0,"ngValue"]},null),u["ɵdid"](2,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),u["ɵted"](3,null,[" "," "]))],(function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)}),(function(l,n){l(n,3,0,n.context.$implicit.name)}))}function zl(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["This field is required!"]))],null,null)}function jl(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"option",[["ngValue",""]],null,null,null,null,null)),u["ɵdid"](1,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{ngValue:[0,"ngValue"]},null),u["ɵdid"](2,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),u["ɵted"](-1,null,["Loading..."]))],(function(l,n){l(n,1,0,""),l(n,2,0,"")}),null)}function Ll(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),u["ɵdid"](1,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{ngValue:[0,"ngValue"]},null),u["ɵdid"](2,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),u["ɵted"](3,null,[" "," ( "," ) "]))],(function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)}),(function(l,n){l(n,3,0,n.context.$implicit,n.component.failureDomains[n.context.$implicit].length)}))}function Ul(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["This field is required!"]))],null,null)}function Ml(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),u["ɵdid"](1,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{ngValue:[0,"ngValue"]},null),u["ɵdid"](2,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),u["ɵted"](3,null,[" "," "]))],(function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)}),(function(l,n){l(n,3,0,n.context.$implicit)}))}function Gl(l){return u["ɵvid"](0,[u["ɵpid"](0,Rl.TitleCasePipe,[]),u["ɵpid"](0,Il.a,[]),(l()(),u["ɵeld"](2,0,null,null,115,"cd-modal",[],null,null,null,Q.c,Q.b)),u["ɵdid"](3,49152,null,0,El.a,[],{modalRef:[0,"modalRef"]},null),(l()(),u["ɵeld"](4,0,null,0,3,null,null,null,null,null,null,null)),(l()(),u["ɵted"](5,null,[""," ",""])),u["ɵppd"](6,1),u["ɵppd"](7,1),(l()(),u["ɵeld"](8,0,null,1,109,null,null,null,null,null,null,null)),(l()(),u["ɵeld"](9,0,null,null,108,"form",[["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,e){var i=!0;return"submit"===n&&(i=!1!==u["ɵnov"](l,11).onSubmit(e)&&i),"reset"===n&&(i=!1!==u["ɵnov"](l,11).onReset()&&i),"submit"===n&&(i=!1!==u["ɵnov"](l,14).onSubmit()&&i),i}),null,null)),u["ɵdid"](10,16384,null,0,t.G,[],null,null),u["ɵdid"](11,540672,[["frm",4]],0,t.l,[[8,null],[8,null]],{form:[0,"form"]},null),u["ɵprd"](2048,null,t.d,null,[t.l]),u["ɵdid"](13,16384,null,0,t.s,[[4,t.d]],null,null),u["ɵdid"](14,16384,null,0,Nl.d,[],{formGroup:[0,"formGroup"]},null),(l()(),u["ɵeld"](15,0,null,null,94,"div",[["class","modal-body"]],null,null,null,null,null)),(l()(),u["ɵeld"](16,0,null,null,22,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](17,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,1,{FormControlNames:1}),u["ɵqud"](603979776,2,{messagesBlock:0}),(l()(),u["ɵeld"](20,0,null,0,3,"label",[["class","col-form-label col-sm-3"],["for","name"]],null,null,null,null,null)),(l()(),u["ɵeld"](21,0,null,null,1,null,null,null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Name"])),(l()(),u["ɵeld"](23,0,null,null,0,"span",[["class","required"]],null,null,null,null,null)),(l()(),u["ɵeld"](24,0,null,0,14,"div",[["class","col-sm-9"]],null,null,null,null,null)),(l()(),u["ɵeld"](25,0,null,null,7,"input",[["autofocus",""],["class","form-control"],["formControlName","name"],["id","name"],["name","name"],["placeholder","Name..."],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==u["ɵnov"](l,27)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,27).onTouched()&&i),"compositionstart"===n&&(i=!1!==u["ɵnov"](l,27)._compositionStart()&&i),"compositionend"===n&&(i=!1!==u["ɵnov"](l,27)._compositionEnd(e.target.value)&&i),i}),null,null)),u["ɵdid"](26,4210688,null,0,wl.a,[u.ElementRef],{autofocus:[0,"autofocus"]},null),u["ɵdid"](27,16384,null,0,t.e,[u.Renderer2,u.ElementRef,[2,t.b]],null,null),u["ɵprd"](1024,null,t.p,(function(l){return[l]}),[t.e]),u["ɵdid"](29,671744,[[1,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](31,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](32,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Pl)),u["ɵdid"](34,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Fl)),u["ɵdid"](36,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Al)),u["ɵdid"](38,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵeld"](39,0,null,null,23,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](40,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,3,{FormControlNames:1}),u["ɵqud"](603979776,4,{messagesBlock:0}),(l()(),u["ɵeld"](43,0,null,0,5,"label",[["class","col-form-label col-sm-3"],["for","root"]],null,null,null,null,null)),(l()(),u["ɵeld"](44,0,null,null,1,null,null,null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Root"])),(l()(),u["ɵeld"](46,0,null,null,1,"cd-helper",[],null,null,null,Vl.b,Vl.a)),u["ɵdid"](47,49152,null,0,Tl.a,[],{html:[0,"html"]},null),(l()(),u["ɵeld"](48,0,null,null,0,"span",[["class","required"]],null,null,null,null,null)),(l()(),u["ɵeld"](49,0,null,0,13,"div",[["class","col-sm-9"]],null,null,null,null,null)),(l()(),u["ɵeld"](50,0,null,null,10,"select",[["class","form-control custom-select"],["formControlName","root"],["id","root"],["name","root"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,e){var i=!0;return"change"===n&&(i=!1!==u["ɵnov"](l,51).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,51).onTouched()&&i),i}),null,null)),u["ɵdid"](51,16384,null,0,t.A,[u.Renderer2,u.ElementRef],null,null),u["ɵprd"](1024,null,t.p,(function(l){return[l]}),[t.A]),u["ɵdid"](53,671744,[[3,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](55,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](56,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Bl)),u["ɵdid"](58,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Ol)),u["ɵdid"](60,278528,null,0,Rl.NgForOf,[u.ViewContainerRef,u.TemplateRef,u.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,zl)),u["ɵdid"](62,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵeld"](63,0,null,null,23,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](64,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,5,{FormControlNames:1}),u["ɵqud"](603979776,6,{messagesBlock:0}),(l()(),u["ɵeld"](67,0,null,0,5,"label",[["class","col-form-label col-sm-3"],["for","failure_domain"]],null,null,null,null,null)),(l()(),u["ɵeld"](68,0,null,null,1,null,null,null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Failure domain type"])),(l()(),u["ɵeld"](70,0,null,null,1,"cd-helper",[],null,null,null,Vl.b,Vl.a)),u["ɵdid"](71,49152,null,0,Tl.a,[],{html:[0,"html"]},null),(l()(),u["ɵeld"](72,0,null,null,0,"span",[["class","required"]],null,null,null,null,null)),(l()(),u["ɵeld"](73,0,null,0,13,"div",[["class","col-sm-9"]],null,null,null,null,null)),(l()(),u["ɵeld"](74,0,null,null,10,"select",[["class","form-control custom-select"],["formControlName","failure_domain"],["id","failure_domain"],["name","failure_domain"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,e){var i=!0;return"change"===n&&(i=!1!==u["ɵnov"](l,75).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,75).onTouched()&&i),i}),null,null)),u["ɵdid"](75,16384,null,0,t.A,[u.Renderer2,u.ElementRef],null,null),u["ɵprd"](1024,null,t.p,(function(l){return[l]}),[t.A]),u["ɵdid"](77,671744,[[5,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](79,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](80,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,jl)),u["ɵdid"](82,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Ll)),u["ɵdid"](84,278528,null,0,Rl.NgForOf,[u.ViewContainerRef,u.TemplateRef,u.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Ul)),u["ɵdid"](86,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵeld"](87,0,null,null,22,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](88,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,7,{FormControlNames:1}),u["ɵqud"](603979776,8,{messagesBlock:0}),(l()(),u["ɵeld"](91,0,null,0,4,"label",[["class","col-form-label col-sm-3"],["for","device_class"]],null,null,null,null,null)),(l()(),u["ɵeld"](92,0,null,null,1,null,null,null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Device class"])),(l()(),u["ɵeld"](94,0,null,null,1,"cd-helper",[],null,null,null,Vl.b,Vl.a)),u["ɵdid"](95,49152,null,0,Tl.a,[],{html:[0,"html"]},null),(l()(),u["ɵeld"](96,0,null,0,13,"div",[["class","col-sm-9"]],null,null,null,null,null)),(l()(),u["ɵeld"](97,0,null,null,12,"select",[["class","form-control custom-select"],["formControlName","device_class"],["id","device_class"],["name","device_class"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,e){var i=!0;return"change"===n&&(i=!1!==u["ɵnov"](l,98).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,98).onTouched()&&i),i}),null,null)),u["ɵdid"](98,16384,null,0,t.A,[u.Renderer2,u.ElementRef],null,null),u["ɵprd"](1024,null,t.p,(function(l){return[l]}),[t.A]),u["ɵdid"](100,671744,[[7,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](102,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](103,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵeld"](104,0,null,null,3,"option",[["ngValue",""]],null,null,null,null,null)),u["ɵdid"](105,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{ngValue:[0,"ngValue"]},null),u["ɵdid"](106,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),u["ɵted"](-1,null,["Let Ceph decide"])),(l()(),u["ɵand"](16777216,null,null,1,null,Ml)),u["ɵdid"](109,278528,null,0,Rl.NgForOf,[u.ViewContainerRef,u.TemplateRef,u.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),u["ɵeld"](110,0,null,null,7,"div",[["class","modal-footer"]],null,null,null,null,null)),(l()(),u["ɵeld"](111,0,null,null,4,"cd-submit-button",[],null,[[null,"submitAction"]],(function(l,n,e){var u=!0;return"submitAction"===n&&(u=!1!==l.component.onSubmit()&&u),u}),Sl.b,Sl.a)),u["ɵdid"](112,114688,null,0,_l.a,[u.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(l()(),u["ɵted"](113,0,[""," ",""])),u["ɵppd"](114,1),u["ɵppd"](115,1),(l()(),u["ɵeld"](116,0,null,null,1,"cd-back-button",[],null,null,null,ql.b,ql.a)),u["ɵdid"](117,49152,null,0,Dl.a,[Rl.Location,i.b],{back:[0,"back"]},null)],(function(l,n){var e=n.component;l(n,3,0,e.bsModalRef),l(n,11,0,e.form),l(n,14,0,e.form),l(n,17,0),l(n,26,0,""),l(n,29,0,"name"),l(n,32,0,"name"),l(n,34,0,e.form.showError("name",u["ɵnov"](n,11),"required")),l(n,36,0,e.form.showError("name",u["ɵnov"](n,11),"pattern")),l(n,38,0,e.form.showError("name",u["ɵnov"](n,11),"uniqueName")),l(n,40,0),l(n,47,0,e.tooltips.root),l(n,53,0,"root"),l(n,56,0,"root"),l(n,58,0,!e.buckets),l(n,60,0,e.buckets),l(n,62,0,e.form.showError("root",u["ɵnov"](n,11),"required")),l(n,64,0),l(n,71,0,e.tooltips.failure_domain),l(n,77,0,"failure_domain"),l(n,80,0,"failure_domain"),l(n,82,0,!e.failureDomains),l(n,84,0,e.failureDomainKeys()),l(n,86,0,e.form.showError("failure_domain",u["ɵnov"](n,11),"required")),l(n,88,0),l(n,95,0,e.tooltips.device_class),l(n,100,0,"device_class"),l(n,103,0,"device_class"),l(n,105,0,""),l(n,106,0,""),l(n,109,0,e.devices),l(n,112,0,u["ɵnov"](n,11)),l(n,117,0,e.bsModalRef.hide)}),(function(l,n){var e=n.component,i=u["ɵunv"](n,5,0,l(n,6,0,u["ɵnov"](n,0),e.action)),t=u["ɵunv"](n,5,1,l(n,7,0,u["ɵnov"](n,1),e.resource));l(n,5,0,i,t),l(n,9,0,u["ɵnov"](n,13).ngClassUntouched,u["ɵnov"](n,13).ngClassTouched,u["ɵnov"](n,13).ngClassPristine,u["ɵnov"](n,13).ngClassDirty,u["ɵnov"](n,13).ngClassValid,u["ɵnov"](n,13).ngClassInvalid,u["ɵnov"](n,13).ngClassPending),l(n,16,0,u["ɵnov"](n,17).hasErrors,u["ɵnov"](n,17).hasSuccess),l(n,25,0,u["ɵnov"](n,31).ngClassUntouched,u["ɵnov"](n,31).ngClassTouched,u["ɵnov"](n,31).ngClassPristine,u["ɵnov"](n,31).ngClassDirty,u["ɵnov"](n,31).ngClassValid,u["ɵnov"](n,31).ngClassInvalid,u["ɵnov"](n,31).ngClassPending,u["ɵnov"](n,32).validClass,u["ɵnov"](n,32).invalidClass),l(n,39,0,u["ɵnov"](n,40).hasErrors,u["ɵnov"](n,40).hasSuccess),l(n,50,0,u["ɵnov"](n,55).ngClassUntouched,u["ɵnov"](n,55).ngClassTouched,u["ɵnov"](n,55).ngClassPristine,u["ɵnov"](n,55).ngClassDirty,u["ɵnov"](n,55).ngClassValid,u["ɵnov"](n,55).ngClassInvalid,u["ɵnov"](n,55).ngClassPending,u["ɵnov"](n,56).validClass,u["ɵnov"](n,56).invalidClass),l(n,63,0,u["ɵnov"](n,64).hasErrors,u["ɵnov"](n,64).hasSuccess),l(n,74,0,u["ɵnov"](n,79).ngClassUntouched,u["ɵnov"](n,79).ngClassTouched,u["ɵnov"](n,79).ngClassPristine,u["ɵnov"](n,79).ngClassDirty,u["ɵnov"](n,79).ngClassValid,u["ɵnov"](n,79).ngClassInvalid,u["ɵnov"](n,79).ngClassPending,u["ɵnov"](n,80).validClass,u["ɵnov"](n,80).invalidClass),l(n,87,0,u["ɵnov"](n,88).hasErrors,u["ɵnov"](n,88).hasSuccess),l(n,97,0,u["ɵnov"](n,102).ngClassUntouched,u["ɵnov"](n,102).ngClassTouched,u["ɵnov"](n,102).ngClassPristine,u["ɵnov"](n,102).ngClassDirty,u["ɵnov"](n,102).ngClassValid,u["ɵnov"](n,102).ngClassInvalid,u["ɵnov"](n,102).ngClassPending,u["ɵnov"](n,103).validClass,u["ɵnov"](n,103).invalidClass);var o=u["ɵunv"](n,113,0,l(n,114,0,u["ɵnov"](n,0),e.action)),a=u["ɵunv"](n,113,1,l(n,115,0,u["ɵnov"](n,1),e.resource));l(n,113,0,o,a)}))}function $l(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"cd-crush-rule-form-modal",[],null,null,null,Gl,xl)),u["ɵdid"](1,114688,null,0,w,[y.a,kl.a,N.a,d,s.a,i.b],null,null)],(function(l,n){l(n,1,0)}),null)}var Kl=u["ɵccf"]("cd-crush-rule-form-modal",w,$l,{},{submitAction:"submitAction"},[]),Jl=u["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Hl(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["This field is required!"]))],null,null)}function Wl(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["The name can only consist of alphanumeric characters, dashes and underscores."]))],null,null)}function Zl(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["The chosen erasure code profile name is already in use."]))],null,null)}function Xl(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"option",[["ngValue",""]],null,null,null,null,null)),u["ɵdid"](1,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{ngValue:[0,"ngValue"]},null),u["ɵdid"](2,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),u["ɵted"](-1,null,["Loading..."]))],(function(l,n){l(n,1,0,""),l(n,2,0,"")}),null)}function Yl(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),u["ɵdid"](1,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{ngValue:[0,"ngValue"]},null),u["ɵdid"](2,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),u["ɵted"](3,null,[" "," "]))],(function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)}),(function(l,n){l(n,3,0,n.context.$implicit)}))}function Ql(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["This field is required!"]))],null,null)}function ln(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["This field is required!"]))],null,null)}function nn(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Must be equal to or greater than 2."]))],null,null)}function en(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["This field is required!"]))],null,null)}function un(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Must be equal to or greater than 1."]))],null,null)}function tn(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Must be equal to or greater than 1."]))],null,null)}function on(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,19,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](1,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,9,{FormControlNames:1}),u["ɵqud"](603979776,10,{messagesBlock:0}),(l()(),u["ɵeld"](4,0,null,0,4,"label",[["class","cd-col-form-label"],["for","c"]],null,null,null,null,null)),(l()(),u["ɵeld"](5,0,null,null,1,null,null,null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Durability estimator (c)"])),(l()(),u["ɵeld"](7,0,null,null,1,"cd-helper",[],null,null,null,Vl.b,Vl.a)),u["ɵdid"](8,49152,null,0,Tl.a,[],{html:[0,"html"]},null),(l()(),u["ɵeld"](9,0,null,0,10,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](10,0,null,null,7,"input",[["class","form-control"],["formControlName","c"],["id","c"],["name","c"],["placeholder","Coding chunks..."],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==u["ɵnov"](l,11)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,11).onTouched()&&i),"compositionstart"===n&&(i=!1!==u["ɵnov"](l,11)._compositionStart()&&i),"compositionend"===n&&(i=!1!==u["ɵnov"](l,11)._compositionEnd(e.target.value)&&i),"change"===n&&(i=!1!==u["ɵnov"](l,12).onChange(e.target.value)&&i),"input"===n&&(i=!1!==u["ɵnov"](l,12).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,12).onTouched()&&i),i}),null,null)),u["ɵdid"](11,16384,null,0,t.e,[u.Renderer2,u.ElementRef,[2,t.b]],null,null),u["ɵdid"](12,16384,null,0,t.w,[u.Renderer2,u.ElementRef],null,null),u["ɵprd"](1024,null,t.p,(function(l,n){return[l,n]}),[t.e,t.w]),u["ɵdid"](14,671744,[[9,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](16,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](17,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,tn)),u["ɵdid"](19,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var e=n.component;l(n,1,0),l(n,8,0,e.tooltips.plugins.shec.c),l(n,14,0,"c"),l(n,17,0,"c"),l(n,19,0,e.form.showError("c",u["ɵnov"](n.parent,11),"min"))}),(function(l,n){l(n,0,0,u["ɵnov"](n,1).hasErrors,u["ɵnov"](n,1).hasSuccess),l(n,10,0,u["ɵnov"](n,16).ngClassUntouched,u["ɵnov"](n,16).ngClassTouched,u["ɵnov"](n,16).ngClassPristine,u["ɵnov"](n,16).ngClassDirty,u["ɵnov"](n,16).ngClassValid,u["ɵnov"](n,16).ngClassInvalid,u["ɵnov"](n,16).ngClassPending,u["ɵnov"](n,17).validClass,u["ɵnov"](n,17).invalidClass)}))}function an(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["This field is required!"]))],null,null)}function sn(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Must be equal to or greater than 1."]))],null,null)}function rn(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,21,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](1,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,11,{FormControlNames:1}),u["ɵqud"](603979776,12,{messagesBlock:0}),(l()(),u["ɵeld"](4,0,null,0,4,"label",[["class","cd-col-form-label"],["for","l"]],null,null,null,null,null)),(l()(),u["ɵeld"](5,0,null,null,1,"span",[["class","required"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Locality (l)"])),(l()(),u["ɵeld"](7,0,null,null,1,"cd-helper",[],null,null,null,Vl.b,Vl.a)),u["ɵdid"](8,49152,null,0,Tl.a,[],{html:[0,"html"]},null),(l()(),u["ɵeld"](9,0,null,0,12,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](10,0,null,null,7,"input",[["class","form-control"],["formControlName","l"],["id","l"],["name","l"],["placeholder","Coding chunks..."],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==u["ɵnov"](l,11)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,11).onTouched()&&i),"compositionstart"===n&&(i=!1!==u["ɵnov"](l,11)._compositionStart()&&i),"compositionend"===n&&(i=!1!==u["ɵnov"](l,11)._compositionEnd(e.target.value)&&i),"change"===n&&(i=!1!==u["ɵnov"](l,12).onChange(e.target.value)&&i),"input"===n&&(i=!1!==u["ɵnov"](l,12).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,12).onTouched()&&i),i}),null,null)),u["ɵdid"](11,16384,null,0,t.e,[u.Renderer2,u.ElementRef,[2,t.b]],null,null),u["ɵdid"](12,16384,null,0,t.w,[u.Renderer2,u.ElementRef],null,null),u["ɵprd"](1024,null,t.p,(function(l,n){return[l,n]}),[t.e,t.w]),u["ɵdid"](14,671744,[[11,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](16,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](17,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,an)),u["ɵdid"](19,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,sn)),u["ɵdid"](21,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var e=n.component;l(n,1,0),l(n,8,0,e.tooltips.plugins.lrc.l),l(n,14,0,"l"),l(n,17,0,"l"),l(n,19,0,e.form.showError("l",u["ɵnov"](n.parent,11),"required")),l(n,21,0,e.form.showError("l",u["ɵnov"](n.parent,11),"min"))}),(function(l,n){l(n,0,0,u["ɵnov"](n,1).hasErrors,u["ɵnov"](n,1).hasSuccess),l(n,10,0,u["ɵnov"](n,16).ngClassUntouched,u["ɵnov"](n,16).ngClassTouched,u["ɵnov"](n,16).ngClassPristine,u["ɵnov"](n,16).ngClassDirty,u["ɵnov"](n,16).ngClassValid,u["ɵnov"](n,16).ngClassInvalid,u["ɵnov"](n,16).ngClassPending,u["ɵnov"](n,17).validClass,u["ɵnov"](n,17).invalidClass)}))}function dn(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"option",[["ngValue",""]],null,null,null,null,null)),u["ɵdid"](1,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{ngValue:[0,"ngValue"]},null),u["ɵdid"](2,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),u["ɵted"](-1,null,["Loading..."]))],(function(l,n){l(n,1,0,""),l(n,2,0,"")}),null)}function cn(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),u["ɵdid"](1,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{ngValue:[0,"ngValue"]},null),u["ɵdid"](2,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),u["ɵted"](3,null,[" "," "]))],(function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)}),(function(l,n){l(n,3,0,n.context.$implicit)}))}function mn(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"option",[["ngValue",""]],null,null,null,null,null)),u["ɵdid"](1,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{ngValue:[0,"ngValue"]},null),u["ɵdid"](2,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),u["ɵted"](-1,null,["Loading..."]))],(function(l,n){l(n,1,0,""),l(n,2,0,"")}),null)}function fn(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"option",[["ngValue",""]],null,null,null,null,null)),u["ɵdid"](1,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{ngValue:[0,"ngValue"]},null),u["ɵdid"](2,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),u["ɵted"](-1,null,["None"]))],(function(l,n){l(n,1,0,""),l(n,2,0,"")}),null)}function gn(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),u["ɵdid"](1,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{ngValue:[0,"ngValue"]},null),u["ɵdid"](2,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),u["ɵted"](3,null,[" "," "]))],(function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)}),(function(l,n){l(n,3,0,n.context.$implicit)}))}function pn(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,22,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](1,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,15,{FormControlNames:1}),u["ɵqud"](603979776,16,{messagesBlock:0}),(l()(),u["ɵeld"](4,0,null,0,4,"label",[["class","cd-col-form-label"],["for","crushLocality"]],null,null,null,null,null)),(l()(),u["ɵeld"](5,0,null,null,1,null,null,null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Crush Locality"])),(l()(),u["ɵeld"](7,0,null,null,1,"cd-helper",[],null,null,null,Vl.b,Vl.a)),u["ɵdid"](8,49152,null,0,Tl.a,[],{html:[0,"html"]},null),(l()(),u["ɵeld"](9,0,null,0,13,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](10,0,null,null,12,"select",[["class","form-control custom-select"],["formControlName","crushLocality"],["id","crushLocality"],["name","crushLocality"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,e){var i=!0;return"change"===n&&(i=!1!==u["ɵnov"](l,11).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,11).onTouched()&&i),i}),null,null)),u["ɵdid"](11,16384,null,0,t.A,[u.Renderer2,u.ElementRef],null,null),u["ɵprd"](1024,null,t.p,(function(l){return[l]}),[t.A]),u["ɵdid"](13,671744,[[15,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](15,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](16,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,mn)),u["ɵdid"](18,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,fn)),u["ɵdid"](20,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,gn)),u["ɵdid"](22,278528,null,0,Rl.NgForOf,[u.ViewContainerRef,u.TemplateRef,u.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(l,n){var e=n.component;l(n,1,0),l(n,8,0,e.tooltips.plugins.lrc.crushLocality),l(n,13,0,"crushLocality"),l(n,16,0,"crushLocality"),l(n,18,0,!e.failureDomains),l(n,20,0,e.failureDomains&&e.failureDomains.length>0),l(n,22,0,e.failureDomains)}),(function(l,n){l(n,0,0,u["ɵnov"](n,1).hasErrors,u["ɵnov"](n,1).hasSuccess),l(n,10,0,u["ɵnov"](n,15).ngClassUntouched,u["ɵnov"](n,15).ngClassTouched,u["ɵnov"](n,15).ngClassPristine,u["ɵnov"](n,15).ngClassDirty,u["ɵnov"](n,15).ngClassValid,u["ɵnov"](n,15).ngClassInvalid,u["ɵnov"](n,15).ngClassPending,u["ɵnov"](n,16).validClass,u["ɵnov"](n,16).invalidClass)}))}function hn(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),u["ɵdid"](1,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{ngValue:[0,"ngValue"]},null),u["ɵdid"](2,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),u["ɵted"](3,null,[" "," "]))],(function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)}),(function(l,n){l(n,3,0,n.context.$implicit)}))}function vn(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,18,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](1,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,17,{FormControlNames:1}),u["ɵqud"](603979776,18,{messagesBlock:0}),(l()(),u["ɵeld"](4,0,null,0,4,"label",[["class","cd-col-form-label"],["for","technique"]],null,null,null,null,null)),(l()(),u["ɵeld"](5,0,null,null,1,null,null,null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Technique"])),(l()(),u["ɵeld"](7,0,null,null,1,"cd-helper",[],null,null,null,Vl.b,Vl.a)),u["ɵdid"](8,49152,null,0,Tl.a,[],{html:[0,"html"]},null),(l()(),u["ɵeld"](9,0,null,0,9,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](10,0,null,null,8,"select",[["class","form-control custom-select"],["formControlName","technique"],["id","technique"],["name","technique"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,e){var i=!0;return"change"===n&&(i=!1!==u["ɵnov"](l,11).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,11).onTouched()&&i),i}),null,null)),u["ɵdid"](11,16384,null,0,t.A,[u.Renderer2,u.ElementRef],null,null),u["ɵprd"](1024,null,t.p,(function(l){return[l]}),[t.A]),u["ɵdid"](13,671744,[[17,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](15,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](16,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,hn)),u["ɵdid"](18,278528,null,0,Rl.NgForOf,[u.ViewContainerRef,u.TemplateRef,u.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(l,n){var e=n.component;l(n,1,0),l(n,8,0,e.tooltips.plugins[e.plugin].technique),l(n,13,0,"technique"),l(n,16,0,"technique"),l(n,18,0,e.techniques)}),(function(l,n){l(n,0,0,u["ɵnov"](n,1).hasErrors,u["ɵnov"](n,1).hasSuccess),l(n,10,0,u["ɵnov"](n,15).ngClassUntouched,u["ɵnov"](n,15).ngClassTouched,u["ɵnov"](n,15).ngClassPristine,u["ɵnov"](n,15).ngClassDirty,u["ɵnov"](n,15).ngClassValid,u["ɵnov"](n,15).ngClassInvalid,u["ɵnov"](n,15).ngClassPending,u["ɵnov"](n,16).validClass,u["ɵnov"](n,16).invalidClass)}))}function Cn(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Must be equal to or greater than 1."]))],null,null)}function bn(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,19,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](1,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,19,{FormControlNames:1}),u["ɵqud"](603979776,20,{messagesBlock:0}),(l()(),u["ɵeld"](4,0,null,0,4,"label",[["class","cd-col-form-label"],["for","packetSize"]],null,null,null,null,null)),(l()(),u["ɵeld"](5,0,null,null,1,null,null,null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Packetsize"])),(l()(),u["ɵeld"](7,0,null,null,1,"cd-helper",[],null,null,null,Vl.b,Vl.a)),u["ɵdid"](8,49152,null,0,Tl.a,[],{html:[0,"html"]},null),(l()(),u["ɵeld"](9,0,null,0,10,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](10,0,null,null,7,"input",[["class","form-control"],["formControlName","packetSize"],["id","packetSize"],["name","packetSize"],["placeholder","Packetsize..."],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==u["ɵnov"](l,11)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,11).onTouched()&&i),"compositionstart"===n&&(i=!1!==u["ɵnov"](l,11)._compositionStart()&&i),"compositionend"===n&&(i=!1!==u["ɵnov"](l,11)._compositionEnd(e.target.value)&&i),"change"===n&&(i=!1!==u["ɵnov"](l,12).onChange(e.target.value)&&i),"input"===n&&(i=!1!==u["ɵnov"](l,12).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,12).onTouched()&&i),i}),null,null)),u["ɵdid"](11,16384,null,0,t.e,[u.Renderer2,u.ElementRef,[2,t.b]],null,null),u["ɵdid"](12,16384,null,0,t.w,[u.Renderer2,u.ElementRef],null,null),u["ɵprd"](1024,null,t.p,(function(l,n){return[l,n]}),[t.e,t.w]),u["ɵdid"](14,671744,[[19,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](16,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](17,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Cn)),u["ɵdid"](19,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var e=n.component;l(n,1,0),l(n,8,0,e.tooltips.plugins.jerasure.packetSize),l(n,14,0,"packetSize"),l(n,17,0,"packetSize"),l(n,19,0,e.form.showError("packetSize",u["ɵnov"](n.parent,11),"min"))}),(function(l,n){l(n,0,0,u["ɵnov"](n,1).hasErrors,u["ɵnov"](n,1).hasSuccess),l(n,10,0,u["ɵnov"](n,16).ngClassUntouched,u["ɵnov"](n,16).ngClassTouched,u["ɵnov"](n,16).ngClassPristine,u["ɵnov"](n,16).ngClassDirty,u["ɵnov"](n,16).ngClassValid,u["ɵnov"](n,16).ngClassInvalid,u["ɵnov"](n,16).ngClassPending,u["ɵnov"](n,17).validClass,u["ɵnov"](n,17).invalidClass)}))}function Rn(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),u["ɵdid"](1,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{ngValue:[0,"ngValue"]},null),u["ɵdid"](2,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),u["ɵted"](3,null,[" "," "]))],(function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)}),(function(l,n){l(n,3,0,n.context.$implicit)}))}function In(l){return u["ɵvid"](0,[u["ɵpid"](0,Rl.TitleCasePipe,[]),u["ɵpid"](0,Il.a,[]),(l()(),u["ɵeld"](2,0,null,null,204,"cd-modal",[],null,null,null,Q.c,Q.b)),u["ɵdid"](3,49152,null,0,El.a,[],{modalRef:[0,"modalRef"]},null),(l()(),u["ɵeld"](4,0,null,0,3,null,null,null,null,null,null,null)),(l()(),u["ɵted"](5,null,[""," ",""])),u["ɵppd"](6,1),u["ɵppd"](7,1),(l()(),u["ɵeld"](8,0,null,1,198,null,null,null,null,null,null,null)),(l()(),u["ɵeld"](9,0,null,null,197,"form",[["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,e){var i=!0;return"submit"===n&&(i=!1!==u["ɵnov"](l,11).onSubmit(e)&&i),"reset"===n&&(i=!1!==u["ɵnov"](l,11).onReset()&&i),"submit"===n&&(i=!1!==u["ɵnov"](l,14).onSubmit()&&i),i}),null,null)),u["ɵdid"](10,16384,null,0,t.G,[],null,null),u["ɵdid"](11,540672,[["frm",4]],0,t.l,[[8,null],[8,null]],{form:[0,"form"]},null),u["ɵprd"](2048,null,t.d,null,[t.l]),u["ɵdid"](13,16384,null,0,t.s,[[4,t.d]],null,null),u["ɵdid"](14,16384,null,0,Nl.d,[],{formGroup:[0,"formGroup"]},null),(l()(),u["ɵeld"](15,0,null,null,183,"div",[["class","modal-body"]],null,null,null,null,null)),(l()(),u["ɵeld"](16,0,null,null,20,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](17,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,1,{FormControlNames:1}),u["ɵqud"](603979776,2,{messagesBlock:0}),(l()(),u["ɵeld"](20,0,null,0,1,"label",[["class","cd-col-form-label"],["for","name"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Name"])),(l()(),u["ɵeld"](22,0,null,0,14,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](23,0,null,null,7,"input",[["autofocus",""],["class","form-control"],["formControlName","name"],["id","name"],["name","name"],["placeholder","Name..."],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==u["ɵnov"](l,25)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,25).onTouched()&&i),"compositionstart"===n&&(i=!1!==u["ɵnov"](l,25)._compositionStart()&&i),"compositionend"===n&&(i=!1!==u["ɵnov"](l,25)._compositionEnd(e.target.value)&&i),i}),null,null)),u["ɵdid"](24,4210688,null,0,wl.a,[u.ElementRef],{autofocus:[0,"autofocus"]},null),u["ɵdid"](25,16384,null,0,t.e,[u.Renderer2,u.ElementRef,[2,t.b]],null,null),u["ɵprd"](1024,null,t.p,(function(l){return[l]}),[t.e]),u["ɵdid"](27,671744,[[1,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](29,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](30,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Hl)),u["ɵdid"](32,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Wl)),u["ɵdid"](34,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Zl)),u["ɵdid"](36,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵeld"](37,0,null,null,22,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](38,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,3,{FormControlNames:1}),u["ɵqud"](603979776,4,{messagesBlock:0}),(l()(),u["ɵeld"](41,0,null,0,4,"label",[["class","cd-col-form-label"],["for","plugin"]],null,null,null,null,null)),(l()(),u["ɵeld"](42,0,null,null,1,"span",[["class","required"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Plugin"])),(l()(),u["ɵeld"](44,0,null,null,1,"cd-helper",[],null,null,null,Vl.b,Vl.a)),u["ɵdid"](45,49152,null,0,Tl.a,[],{html:[0,"html"]},null),(l()(),u["ɵeld"](46,0,null,0,13,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](47,0,null,null,10,"select",[["class","form-control custom-select"],["formControlName","plugin"],["id","plugin"],["name","plugin"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,e){var i=!0;return"change"===n&&(i=!1!==u["ɵnov"](l,48).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,48).onTouched()&&i),i}),null,null)),u["ɵdid"](48,16384,null,0,t.A,[u.Renderer2,u.ElementRef],null,null),u["ɵprd"](1024,null,t.p,(function(l){return[l]}),[t.A]),u["ɵdid"](50,671744,[[3,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](52,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](53,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Xl)),u["ɵdid"](55,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Yl)),u["ɵdid"](57,278528,null,0,Rl.NgForOf,[u.ViewContainerRef,u.TemplateRef,u.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Ql)),u["ɵdid"](59,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵeld"](60,0,null,null,24,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](61,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,5,{FormControlNames:1}),u["ɵqud"](603979776,6,{messagesBlock:0}),(l()(),u["ɵeld"](64,0,null,0,7,"label",[["class","cd-col-form-label"],["for","k"]],null,null,null,null,null)),(l()(),u["ɵeld"](65,0,null,null,4,"span",[],null,null,null,null,null)),u["ɵprd"](512,null,Rl["ɵNgClassImpl"],Rl["ɵNgClassR2Impl"],[u.IterableDiffers,u.KeyValueDiffers,u.ElementRef,u.Renderer2]),u["ɵdid"](67,278528,null,0,Rl.NgClass,[Rl["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),u["ɵpod"](68,{required:0}),(l()(),u["ɵted"](-1,null,["Data chunks (k)"])),(l()(),u["ɵeld"](70,0,null,null,1,"cd-helper",[],null,null,null,Vl.b,Vl.a)),u["ɵdid"](71,49152,null,0,Tl.a,[],{html:[0,"html"]},null),(l()(),u["ɵeld"](72,0,null,0,12,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](73,0,null,null,7,"input",[["class","form-control"],["formControlName","k"],["id","k"],["name","k"],["ng-model","$ctrl.erasureCodeProfile.k"],["placeholder","Data chunks..."],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==u["ɵnov"](l,74)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,74).onTouched()&&i),"compositionstart"===n&&(i=!1!==u["ɵnov"](l,74)._compositionStart()&&i),"compositionend"===n&&(i=!1!==u["ɵnov"](l,74)._compositionEnd(e.target.value)&&i),"change"===n&&(i=!1!==u["ɵnov"](l,75).onChange(e.target.value)&&i),"input"===n&&(i=!1!==u["ɵnov"](l,75).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,75).onTouched()&&i),i}),null,null)),u["ɵdid"](74,16384,null,0,t.e,[u.Renderer2,u.ElementRef,[2,t.b]],null,null),u["ɵdid"](75,16384,null,0,t.w,[u.Renderer2,u.ElementRef],null,null),u["ɵprd"](1024,null,t.p,(function(l,n){return[l,n]}),[t.e,t.w]),u["ɵdid"](77,671744,[[5,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](79,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](80,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,ln)),u["ɵdid"](82,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,nn)),u["ɵdid"](84,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵeld"](85,0,null,null,24,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](86,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,7,{FormControlNames:1}),u["ɵqud"](603979776,8,{messagesBlock:0}),(l()(),u["ɵeld"](89,0,null,0,7,"label",[["class","cd-col-form-label"],["for","m"]],null,null,null,null,null)),(l()(),u["ɵeld"](90,0,null,null,4,"span",[],null,null,null,null,null)),u["ɵprd"](512,null,Rl["ɵNgClassImpl"],Rl["ɵNgClassR2Impl"],[u.IterableDiffers,u.KeyValueDiffers,u.ElementRef,u.Renderer2]),u["ɵdid"](92,278528,null,0,Rl.NgClass,[Rl["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),u["ɵpod"](93,{required:0}),(l()(),u["ɵted"](-1,null,["Coding chunks (m)"])),(l()(),u["ɵeld"](95,0,null,null,1,"cd-helper",[],null,null,null,Vl.b,Vl.a)),u["ɵdid"](96,49152,null,0,Tl.a,[],{html:[0,"html"]},null),(l()(),u["ɵeld"](97,0,null,0,12,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](98,0,null,null,7,"input",[["class","form-control"],["formControlName","m"],["id","m"],["name","m"],["placeholder","Coding chunks..."],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==u["ɵnov"](l,99)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,99).onTouched()&&i),"compositionstart"===n&&(i=!1!==u["ɵnov"](l,99)._compositionStart()&&i),"compositionend"===n&&(i=!1!==u["ɵnov"](l,99)._compositionEnd(e.target.value)&&i),"change"===n&&(i=!1!==u["ɵnov"](l,100).onChange(e.target.value)&&i),"input"===n&&(i=!1!==u["ɵnov"](l,100).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,100).onTouched()&&i),i}),null,null)),u["ɵdid"](99,16384,null,0,t.e,[u.Renderer2,u.ElementRef,[2,t.b]],null,null),u["ɵdid"](100,16384,null,0,t.w,[u.Renderer2,u.ElementRef],null,null),u["ɵprd"](1024,null,t.p,(function(l,n){return[l,n]}),[t.e,t.w]),u["ɵdid"](102,671744,[[7,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](104,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](105,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,en)),u["ɵdid"](107,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,un)),u["ɵdid"](109,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,on)),u["ɵdid"](111,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,rn)),u["ɵdid"](113,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵeld"](114,0,null,null,20,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](115,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,13,{FormControlNames:1}),u["ɵqud"](603979776,14,{messagesBlock:0}),(l()(),u["ɵeld"](118,0,null,0,4,"label",[["class","cd-col-form-label"],["for","crushFailureDomain"]],null,null,null,null,null)),(l()(),u["ɵeld"](119,0,null,null,1,null,null,null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Crush failure domain"])),(l()(),u["ɵeld"](121,0,null,null,1,"cd-helper",[],null,null,null,Vl.b,Vl.a)),u["ɵdid"](122,49152,null,0,Tl.a,[],{html:[0,"html"]},null),(l()(),u["ɵeld"](123,0,null,0,11,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](124,0,null,null,10,"select",[["class","form-control custom-select"],["formControlName","crushFailureDomain"],["id","crushFailureDomain"],["name","crushFailureDomain"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,e){var i=!0;return"change"===n&&(i=!1!==u["ɵnov"](l,125).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,125).onTouched()&&i),i}),null,null)),u["ɵdid"](125,16384,null,0,t.A,[u.Renderer2,u.ElementRef],null,null),u["ɵprd"](1024,null,t.p,(function(l){return[l]}),[t.A]),u["ɵdid"](127,671744,[[13,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](129,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](130,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,dn)),u["ɵdid"](132,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,cn)),u["ɵdid"](134,278528,null,0,Rl.NgForOf,[u.ViewContainerRef,u.TemplateRef,u.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,pn)),u["ɵdid"](136,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,2,null,vn)),u["ɵdid"](138,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),u["ɵpad"](139,2),(l()(),u["ɵand"](16777216,null,null,1,null,bn)),u["ɵdid"](141,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵeld"](142,0,null,null,16,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](143,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,21,{FormControlNames:1}),u["ɵqud"](603979776,22,{messagesBlock:0}),(l()(),u["ɵeld"](146,0,null,0,4,"label",[["class","cd-col-form-label"],["for","crushRoot"]],null,null,null,null,null)),(l()(),u["ɵeld"](147,0,null,null,1,null,null,null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Crush root"])),(l()(),u["ɵeld"](149,0,null,null,1,"cd-helper",[],null,null,null,Vl.b,Vl.a)),u["ɵdid"](150,49152,null,0,Tl.a,[],{html:[0,"html"]},null),(l()(),u["ɵeld"](151,0,null,0,7,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](152,0,null,null,6,"input",[["class","form-control"],["formControlName","crushRoot"],["id","crushRoot"],["name","crushRoot"],["placeholder","root..."],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==u["ɵnov"](l,153)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,153).onTouched()&&i),"compositionstart"===n&&(i=!1!==u["ɵnov"](l,153)._compositionStart()&&i),"compositionend"===n&&(i=!1!==u["ɵnov"](l,153)._compositionEnd(e.target.value)&&i),i}),null,null)),u["ɵdid"](153,16384,null,0,t.e,[u.Renderer2,u.ElementRef,[2,t.b]],null,null),u["ɵprd"](1024,null,t.p,(function(l){return[l]}),[t.e]),u["ɵdid"](155,671744,[[21,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](157,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](158,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵeld"](159,0,null,null,22,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](160,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,23,{FormControlNames:1}),u["ɵqud"](603979776,24,{messagesBlock:0}),(l()(),u["ɵeld"](163,0,null,0,4,"label",[["class","cd-col-form-label"],["for","crushDeviceClass"]],null,null,null,null,null)),(l()(),u["ɵeld"](164,0,null,null,1,null,null,null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Crush device class"])),(l()(),u["ɵeld"](166,0,null,null,1,"cd-helper",[],null,null,null,Vl.b,Vl.a)),u["ɵdid"](167,49152,null,0,Tl.a,[],{html:[0,"html"]},null),(l()(),u["ɵeld"](168,0,null,0,13,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](169,0,null,null,12,"select",[["class","form-control custom-select"],["formControlName","crushDeviceClass"],["id","crushDeviceClass"],["name","crushDeviceClass"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,e){var i=!0;return"change"===n&&(i=!1!==u["ɵnov"](l,170).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,170).onTouched()&&i),i}),null,null)),u["ɵdid"](170,16384,null,0,t.A,[u.Renderer2,u.ElementRef],null,null),u["ɵprd"](1024,null,t.p,(function(l){return[l]}),[t.A]),u["ɵdid"](172,671744,[[23,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](174,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](175,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵeld"](176,0,null,null,3,"option",[["ngValue",""]],null,null,null,null,null)),u["ɵdid"](177,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{ngValue:[0,"ngValue"]},null),u["ɵdid"](178,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),u["ɵted"](-1,null,["any"])),(l()(),u["ɵand"](16777216,null,null,1,null,Rn)),u["ɵdid"](181,278528,null,0,Rl.NgForOf,[u.ViewContainerRef,u.TemplateRef,u.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),u["ɵeld"](182,0,null,null,16,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](183,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,25,{FormControlNames:1}),u["ɵqud"](603979776,26,{messagesBlock:0}),(l()(),u["ɵeld"](186,0,null,0,4,"label",[["class","cd-col-form-label"],["for","directory"]],null,null,null,null,null)),(l()(),u["ɵeld"](187,0,null,null,1,null,null,null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Directory"])),(l()(),u["ɵeld"](189,0,null,null,1,"cd-helper",[],null,null,null,Vl.b,Vl.a)),u["ɵdid"](190,49152,null,0,Tl.a,[],{html:[0,"html"]},null),(l()(),u["ɵeld"](191,0,null,0,7,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](192,0,null,null,6,"input",[["class","form-control"],["formControlName","directory"],["id","directory"],["name","directory"],["placeholder","Path..."],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==u["ɵnov"](l,193)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,193).onTouched()&&i),"compositionstart"===n&&(i=!1!==u["ɵnov"](l,193)._compositionStart()&&i),"compositionend"===n&&(i=!1!==u["ɵnov"](l,193)._compositionEnd(e.target.value)&&i),i}),null,null)),u["ɵdid"](193,16384,null,0,t.e,[u.Renderer2,u.ElementRef,[2,t.b]],null,null),u["ɵprd"](1024,null,t.p,(function(l){return[l]}),[t.e]),u["ɵdid"](195,671744,[[25,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](197,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](198,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵeld"](199,0,null,null,7,"div",[["class","modal-footer"]],null,null,null,null,null)),(l()(),u["ɵeld"](200,0,null,null,4,"cd-submit-button",[],null,[[null,"submitAction"]],(function(l,n,e){var u=!0;return"submitAction"===n&&(u=!1!==l.component.onSubmit()&&u),u}),Sl.b,Sl.a)),u["ɵdid"](201,114688,null,0,_l.a,[u.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(l()(),u["ɵted"](202,0,[""," ",""])),u["ɵppd"](203,1),u["ɵppd"](204,1),(l()(),u["ɵeld"](205,0,null,null,1,"cd-back-button",[],null,null,null,ql.b,ql.a)),u["ɵdid"](206,49152,null,0,Dl.a,[Rl.Location,i.b],{back:[0,"back"]},null)],(function(l,n){var e=n.component;l(n,3,0,e.bsModalRef),l(n,11,0,e.form),l(n,14,0,e.form),l(n,17,0),l(n,24,0,""),l(n,27,0,"name"),l(n,30,0,"name"),l(n,32,0,e.form.showError("name",u["ɵnov"](n,11),"required")),l(n,34,0,e.form.showError("name",u["ɵnov"](n,11),"pattern")),l(n,36,0,e.form.showError("name",u["ɵnov"](n,11),"uniqueName")),l(n,38,0),l(n,45,0,e.tooltips.plugins[e.plugin].description),l(n,50,0,"plugin"),l(n,53,0,"plugin"),l(n,55,0,!e.plugins),l(n,57,0,e.plugins),l(n,59,0,e.form.showError("name",u["ɵnov"](n,11),"required")),l(n,61,0);var i=l(n,68,0,e.requiredControls.includes("k"));l(n,67,0,i),l(n,71,0,e.tooltips.k),l(n,77,0,"k"),l(n,80,0,"k"),l(n,82,0,e.form.showError("k",u["ɵnov"](n,11),"required")),l(n,84,0,e.form.showError("k",u["ɵnov"](n,11),"min")),l(n,86,0);var t=l(n,93,0,e.requiredControls.includes("m"));l(n,92,0,t),l(n,96,0,e.tooltips.m),l(n,102,0,"m"),l(n,105,0,"m"),l(n,107,0,e.form.showError("m",u["ɵnov"](n,11),"required")),l(n,109,0,e.form.showError("m",u["ɵnov"](n,11),"min")),l(n,111,0,"shec"===e.plugin),l(n,113,0,e.plugin===e.PLUGIN.LRC),l(n,115,0),l(n,122,0,e.tooltips.crushFailureDomain),l(n,127,0,"crushFailureDomain"),l(n,130,0,"crushFailureDomain"),l(n,132,0,!e.failureDomains),l(n,134,0,e.failureDomains),l(n,136,0,e.plugin===e.PLUGIN.LRC);var o=l(n,139,0,e.PLUGIN.JERASURE,e.PLUGIN.ISA).includes(e.plugin);l(n,138,0,o),l(n,141,0,e.plugin===e.PLUGIN.JERASURE),l(n,143,0),l(n,150,0,e.tooltips.crushRoot),l(n,155,0,"crushRoot"),l(n,158,0,"crushRoot"),l(n,160,0),l(n,167,0,e.tooltips.crushDeviceClass),l(n,172,0,"crushDeviceClass"),l(n,175,0,"crushDeviceClass"),l(n,177,0,""),l(n,178,0,""),l(n,181,0,e.devices),l(n,183,0),l(n,190,0,e.tooltips.directory),l(n,195,0,"directory"),l(n,198,0,"directory"),l(n,201,0,u["ɵnov"](n,11)),l(n,206,0,e.bsModalRef.hide)}),(function(l,n){var e=n.component,i=u["ɵunv"](n,5,0,l(n,6,0,u["ɵnov"](n,0),e.action)),t=u["ɵunv"](n,5,1,l(n,7,0,u["ɵnov"](n,1),e.resource));l(n,5,0,i,t),l(n,9,0,u["ɵnov"](n,13).ngClassUntouched,u["ɵnov"](n,13).ngClassTouched,u["ɵnov"](n,13).ngClassPristine,u["ɵnov"](n,13).ngClassDirty,u["ɵnov"](n,13).ngClassValid,u["ɵnov"](n,13).ngClassInvalid,u["ɵnov"](n,13).ngClassPending),l(n,16,0,u["ɵnov"](n,17).hasErrors,u["ɵnov"](n,17).hasSuccess),l(n,23,0,u["ɵnov"](n,29).ngClassUntouched,u["ɵnov"](n,29).ngClassTouched,u["ɵnov"](n,29).ngClassPristine,u["ɵnov"](n,29).ngClassDirty,u["ɵnov"](n,29).ngClassValid,u["ɵnov"](n,29).ngClassInvalid,u["ɵnov"](n,29).ngClassPending,u["ɵnov"](n,30).validClass,u["ɵnov"](n,30).invalidClass),l(n,37,0,u["ɵnov"](n,38).hasErrors,u["ɵnov"](n,38).hasSuccess),l(n,47,0,u["ɵnov"](n,52).ngClassUntouched,u["ɵnov"](n,52).ngClassTouched,u["ɵnov"](n,52).ngClassPristine,u["ɵnov"](n,52).ngClassDirty,u["ɵnov"](n,52).ngClassValid,u["ɵnov"](n,52).ngClassInvalid,u["ɵnov"](n,52).ngClassPending,u["ɵnov"](n,53).validClass,u["ɵnov"](n,53).invalidClass),l(n,60,0,u["ɵnov"](n,61).hasErrors,u["ɵnov"](n,61).hasSuccess),l(n,73,0,u["ɵnov"](n,79).ngClassUntouched,u["ɵnov"](n,79).ngClassTouched,u["ɵnov"](n,79).ngClassPristine,u["ɵnov"](n,79).ngClassDirty,u["ɵnov"](n,79).ngClassValid,u["ɵnov"](n,79).ngClassInvalid,u["ɵnov"](n,79).ngClassPending,u["ɵnov"](n,80).validClass,u["ɵnov"](n,80).invalidClass),l(n,85,0,u["ɵnov"](n,86).hasErrors,u["ɵnov"](n,86).hasSuccess),l(n,98,0,u["ɵnov"](n,104).ngClassUntouched,u["ɵnov"](n,104).ngClassTouched,u["ɵnov"](n,104).ngClassPristine,u["ɵnov"](n,104).ngClassDirty,u["ɵnov"](n,104).ngClassValid,u["ɵnov"](n,104).ngClassInvalid,u["ɵnov"](n,104).ngClassPending,u["ɵnov"](n,105).validClass,u["ɵnov"](n,105).invalidClass),l(n,114,0,u["ɵnov"](n,115).hasErrors,u["ɵnov"](n,115).hasSuccess),l(n,124,0,u["ɵnov"](n,129).ngClassUntouched,u["ɵnov"](n,129).ngClassTouched,u["ɵnov"](n,129).ngClassPristine,u["ɵnov"](n,129).ngClassDirty,u["ɵnov"](n,129).ngClassValid,u["ɵnov"](n,129).ngClassInvalid,u["ɵnov"](n,129).ngClassPending,u["ɵnov"](n,130).validClass,u["ɵnov"](n,130).invalidClass),l(n,142,0,u["ɵnov"](n,143).hasErrors,u["ɵnov"](n,143).hasSuccess),l(n,152,0,u["ɵnov"](n,157).ngClassUntouched,u["ɵnov"](n,157).ngClassTouched,u["ɵnov"](n,157).ngClassPristine,u["ɵnov"](n,157).ngClassDirty,u["ɵnov"](n,157).ngClassValid,u["ɵnov"](n,157).ngClassInvalid,u["ɵnov"](n,157).ngClassPending,u["ɵnov"](n,158).validClass,u["ɵnov"](n,158).invalidClass),l(n,159,0,u["ɵnov"](n,160).hasErrors,u["ɵnov"](n,160).hasSuccess),l(n,169,0,u["ɵnov"](n,174).ngClassUntouched,u["ɵnov"](n,174).ngClassTouched,u["ɵnov"](n,174).ngClassPristine,u["ɵnov"](n,174).ngClassDirty,u["ɵnov"](n,174).ngClassValid,u["ɵnov"](n,174).ngClassInvalid,u["ɵnov"](n,174).ngClassPending,u["ɵnov"](n,175).validClass,u["ɵnov"](n,175).invalidClass),l(n,182,0,u["ɵnov"](n,183).hasErrors,u["ɵnov"](n,183).hasSuccess),l(n,192,0,u["ɵnov"](n,197).ngClassUntouched,u["ɵnov"](n,197).ngClassTouched,u["ɵnov"](n,197).ngClassPristine,u["ɵnov"](n,197).ngClassDirty,u["ɵnov"](n,197).ngClassValid,u["ɵnov"](n,197).ngClassInvalid,u["ɵnov"](n,197).ngClassPending,u["ɵnov"](n,198).validClass,u["ɵnov"](n,198).invalidClass);var o=u["ɵunv"](n,202,0,l(n,203,0,u["ɵnov"](n,0),e.action)),a=u["ɵunv"](n,202,1,l(n,204,0,u["ɵnov"](n,1),e.resource));l(n,202,0,o,a)}))}function En(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"cd-erasure-code-profile-form-modal",[],null,null,null,In,Jl)),u["ɵdid"](1,114688,null,0,T,[y.a,kl.a,N.a,c,s.a,i.b],null,null)],(function(l,n){l(n,1,0)}),null)}var Nn=u["ɵccf"]("cd-erasure-code-profile-form-modal",T,En,{},{submitAction:"submitAction"},[]),yn=e("FO+L"),wn=e("nhM1"),Vn=e("BARL"),Tn=e("yT6U"),Sn=e("4DD9"),_n=e("iExv"),qn=e("85J/"),Dn=e("+0ag"),kn=e("IzCI"),xn=e("Dwqy"),Pn=e("uYzU"),Fn=e("FFMq"),An=e("E2fk"),Bn=e("a0VL"),On=e("nSDx"),zn=e("SB+Q"),jn=e("TYzs"),Ln=e("BQkM"),Un=e("dEH0"),Mn=e("G1/K"),Gn=e("TJUb"),$n=e("efK2"),Kn=e("CNMR"),Jn=e("KOzp"),Hn=e("2uy1"),Wn=e("z/SZ"),Zn=e("38Bd"),Xn=e("978R"),Yn=e("FE24"),Qn=e("Avrn"),le=e("iInd"),ne=e("2ZVE"),ee=e("ienR"),ue=e("gk6K"),ie=e("F8xH"),te=e("9Xeq"),oe=e("hrfs"),ae=e("yGOH"),se=e("bxSN"),re=e("WF9J"),de=e("V/fk"),ce=e("ChqD"),me=e("PCNd"),fe=e("kJI8"),ge=e("kccj"),pe=e("yYhs"),he=e("k/xb"),ve=e("C6Ij"),Ce=e("AWcq"),be=e("xSw7"),Re=e("GgAd"),Ie=e("a278"),Ee=e("insk"),Ne=e("mSOc"),ye=e("cUpR"),we=e("20UP"),Ve=e("pKUh"),Te=e("25BL"),Se=e("NUGo"),_e=e("S7zO"),qe=e("EFGL"),De=e("aAWM"),ke=e("o8EM"),xe=e("sLuX"),Pe=e("FSuO");e("jKX/");class Fe{constructor(l,n){this.i18n=l,this.poolService=n,this.cacheTierColumns=[],this.cacheTierColumns=[{prop:"pool_name",name:this.i18n("Name"),flexGrow:3},{prop:"cache_mode",name:this.i18n("Cache Mode"),flexGrow:2},{prop:"cache_min_evict_age",name:this.i18n("Min Evict Age"),flexGrow:2},{prop:"cache_min_flush_age",name:this.i18n("Min Flush Age"),flexGrow:2},{prop:"target_max_bytes",name:this.i18n("Target Max Bytes"),flexGrow:2},{prop:"target_max_objects",name:this.i18n("Target Max Objects"),flexGrow:2}]}ngOnChanges(){this.selection.hasSingleSelection&&this.poolService.getConfiguration(this.selection.first().pool_name).subscribe(l=>{this.selectedPoolConfiguration=l})}filterNonPoolData(l){return o.omit(l,["cdExecuting","cdIsBinary"])}}var Ae=u["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Be(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"tab",[["heading","Performance Details"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),u["ɵdid"](1,212992,null,0,ne.b,[ne.e,u.ElementRef,u.Renderer2],{heading:[0,"heading"]},null),(l()(),u["ɵeld"](2,0,null,null,1,"cd-grafana",[["grafanaStyle","one"],["uid","-xyV8KCiz"]],null,null,null,Ie.b,Ie.a)),u["ɵdid"](3,638976,null,0,Ee.a,[Ne.a,ye.b,we.a,Dn.a,s.a],{grafanaPath:[0,"grafanaPath"],grafanaStyle:[1,"grafanaStyle"],uid:[2,"uid"]},null)],(function(l,n){var e=n.component;l(n,1,0,"Performance Details"),l(n,3,0,"ceph-pool-detail?var-pool_name="+e.selection.first().pool_name,"one","-xyV8KCiz")}),(function(l,n){l(n,0,0,u["ɵnov"](n,1).id,u["ɵnov"](n,1).active,u["ɵnov"](n,1).addClass)}))}function Oe(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"tab",[["heading","Configuration"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),u["ɵdid"](1,212992,null,0,ne.b,[ne.e,u.ElementRef,u.Renderer2],{heading:[0,"heading"]},null),(l()(),u["ɵeld"](2,0,null,null,1,"cd-rbd-configuration-table",[],null,null,null,qe.b,qe.a)),u["ɵdid"](3,638976,null,0,De.a,[E.a,ke.a,s.a],{data:[0,"data"]},null)],(function(l,n){var e=n.component;l(n,1,0,"Configuration"),l(n,3,0,e.selectedPoolConfiguration)}),(function(l,n){l(n,0,0,u["ɵnov"](n,1).id,u["ɵnov"](n,1).active,u["ɵnov"](n,1).addClass)}))}function ze(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"tab",[["heading","Cache Tiers Details"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),u["ɵdid"](1,212992,null,0,ne.b,[ne.e,u.ElementRef,u.Renderer2],{heading:[0,"heading"]},null),(l()(),u["ɵeld"](2,0,null,null,1,"cd-table",[["columnMode","flex"]],null,null,null,Te.b,Te.a)),u["ɵdid"](3,2867200,null,0,k.a,[u.NgZone,u.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],autoSave:[3,"autoSave"]},null)],(function(l,n){var e=n.component;l(n,1,0,"Cache Tiers Details"),l(n,3,0,e.cacheTiers,e.cacheTierColumns,"flex",!1)}),(function(l,n){l(n,0,0,u["ɵnov"](n,1).id,u["ɵnov"](n,1).active,u["ɵnov"](n,1).addClass)}))}function je(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,11,"tabset",[["cdTableDetail",""]],[[2,"tab-container",null]],null,null,Ve.b,Ve.a)),u["ɵdid"](1,180224,[[1,4],["tabsetChild",4]],0,ne.e,[ne.f,u.Renderer2,u.ElementRef],null,null),(l()(),u["ɵeld"](2,0,null,0,3,"tab",[["heading","Details"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),u["ɵdid"](3,212992,null,0,ne.b,[ne.e,u.ElementRef,u.Renderer2],{heading:[0,"heading"]},null),(l()(),u["ɵeld"](4,0,null,null,1,"cd-table-key-value",[],null,null,null,xe.b,xe.a)),u["ɵdid"](5,638976,null,0,Pe.a,[Bn.a],{data:[0,"data"],autoReload:[1,"autoReload"],renderObjects:[2,"renderObjects"]},null),(l()(),u["ɵand"](16777216,null,0,1,null,Be)),u["ɵdid"](7,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,0,1,null,Oe)),u["ɵdid"](9,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,0,1,null,ze)),u["ɵdid"](11,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var e=n.component;l(n,3,0,"Details"),l(n,5,0,e.filterNonPoolData(e.selection.first()),!1,!0),l(n,7,0,e.permissions.grafana.read),l(n,9,0,"replicated"===e.selection.first().type),l(n,11,0,(null==e.selection.first().tiers?null:e.selection.first().tiers.length)>0)}),(function(l,n){l(n,0,0,u["ɵnov"](n,1).clazz),l(n,2,0,u["ɵnov"](n,3).id,u["ɵnov"](n,3).active,u["ɵnov"](n,3).addClass)}))}function Le(l){return u["ɵvid"](0,[u["ɵqud"](671088640,1,{tabsetChild:0}),(l()(),u["ɵand"](16777216,null,null,1,null,je)),u["ɵdid"](2,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){l(n,2,0,n.component.selection.hasSingleSelection)}),null)}var Ue=e("ufoC"),Me=u["ɵcrt"]({encapsulation:0,styles:[[".pg-clean{color:#0b0}  .pg-working{color:#2b99a8}  .pg-warning{color:#ffc200}  .pg-unknown{color:red}"]],data:{}});function Ge(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"cd-view-cache",[],null,null,null,ve.b,ve.a)),u["ɵdid"](1,114688,null,0,Ce.a,[],{status:[0,"status"],statusFor:[1,"statusFor"]},null)],(function(l,n){l(n,1,0,n.context.$implicit.status,n.context.$implicit.statusFor)}),null)}function $e(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"cd-usage-bar",[],null,null,null,be.b,be.a)),u["ɵdid"](1,573440,null,0,Re.a,[],{totalBytes:[0,"totalBytes"],usedBytes:[1,"usedBytes"]},null)],(function(l,n){l(n,1,0,n.parent.context.row.stats.bytes_used.latest+n.parent.context.row.stats.max_avail.latest,n.parent.context.row.stats.bytes_used.latest)}),null)}function Ke(l){return u["ɵvid"](0,[(l()(),u["ɵand"](16777216,null,null,1,null,$e)),u["ɵdid"](1,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](0,null,null,0))],(function(l,n){l(n,1,0,null==n.context.row.stats?null:null==n.context.row.stats.max_avail?null:n.context.row.stats.max_avail.latest)}),null)}function Je(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"tab",[["heading","Overall Performance"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),u["ɵdid"](1,212992,null,0,ne.b,[ne.e,u.ElementRef,u.Renderer2],{heading:[0,"heading"]},null),(l()(),u["ɵeld"](2,0,null,null,1,"cd-grafana",[["grafanaStyle","two"],["uid","z99hzWtmk"]],null,null,null,Ie.b,Ie.a)),u["ɵdid"](3,638976,null,0,Ee.a,[Ne.a,ye.b,we.a,Dn.a,s.a],{grafanaPath:[0,"grafanaPath"],grafanaStyle:[1,"grafanaStyle"],uid:[2,"uid"]},null)],(function(l,n){l(n,1,0,"Overall Performance"),l(n,3,0,"ceph-pools-overview?","two","z99hzWtmk")}),(function(l,n){l(n,0,0,u["ɵnov"](n,1).id,u["ɵnov"](n,1).active,u["ɵnov"](n,1).addClass)}))}function He(l){return u["ɵvid"](0,[u["ɵqud"](402653184,1,{table:0}),u["ɵqud"](402653184,2,{poolUsageTpl:0}),u["ɵqud"](671088640,3,{poolConfigurationSourceTpl:0}),(l()(),u["ɵeld"](3,0,null,null,14,"tabset",[],[[2,"tab-container",null]],null,null,Ve.b,Ve.a)),u["ɵdid"](4,180224,null,0,ne.e,[ne.f,u.Renderer2,u.ElementRef],null,null),(l()(),u["ɵeld"](5,0,null,0,10,"tab",[["heading","Pools List"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),u["ɵdid"](6,212992,null,0,ne.b,[ne.e,u.ElementRef,u.Renderer2],{heading:[0,"heading"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Ge)),u["ɵdid"](8,278528,null,0,Rl.NgForOf,[u.ViewContainerRef,u.TemplateRef,u.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),u["ɵeld"](9,0,null,null,5,"cd-table",[["id","pool-list"],["selectionType","single"]],null,[[null,"updateSelection"]],(function(l,n,e){var u=!0;return"updateSelection"===n&&(u=!1!==l.component.updateSelection(e)&&u),u}),Te.b,Te.a)),u["ɵdid"](10,2867200,[[1,4],["table",4]],0,k.a,[u.NgZone,u.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],selectionType:[2,"selectionType"]},{updateSelection:"updateSelection"}),(l()(),u["ɵeld"](11,0,null,1,1,"cd-table-actions",[["class","table-actions"],["id","pool-list-actions"]],null,null,null,Se.b,Se.a)),u["ɵdid"](12,114688,null,0,_e.a,[],{permission:[0,"permission"],selection:[1,"selection"],tableActions:[2,"tableActions"]},null),(l()(),u["ɵeld"](13,0,null,3,1,"cd-pool-details",[["cdTableDetail",""],["id","pool-list-details"]],null,null,null,Le,Ae)),u["ɵdid"](14,573440,null,0,Fe,[s.a,m.a],{selection:[0,"selection"],permissions:[1,"permissions"],cacheTiers:[2,"cacheTiers"]},null),(l()(),u["ɵand"](0,[[2,2],["poolUsageTpl",2]],null,0,null,Ke)),(l()(),u["ɵand"](16777216,null,0,1,null,Je)),u["ɵdid"](17,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var e=n.component;l(n,6,0,"Pools List"),l(n,8,0,e.viewCacheStatusList),l(n,10,0,e.pools,e.columns,"single"),l(n,12,0,e.permissions.pool,e.selection,e.tableActions),l(n,14,0,e.selection,e.permissions,e.selectionCacheTiers),l(n,17,0,e.permissions.grafana.read)}),(function(l,n){l(n,3,0,u["ɵnov"](n,4).clazz),l(n,5,0,u["ɵnov"](n,6).id,u["ɵnov"](n,6).active,u["ɵnov"](n,6).addClass)}))}function We(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"cd-pool-list",[],null,null,null,He,Me)),u["ɵprd"](131584,null,B.a,B.a,[Ue.a,Ne.a]),u["ɵprd"](256,null,O.a,L,[]),u["ɵdid"](3,114688,null,0,U,[m.a,N.a,I.a,B.a,kl.b,s.a,z.a,A.a,O.a,D.a,i.b],null,null)],(function(l,n){l(n,3,0)}),null)}var Ze=u["ɵccf"]("cd-pool-list",U,We,{},{},[]),Xe=e("QC43"),Ye=e("XFyV"),Qe=e("EmSq"),lu=e("pYKc"),nu=e("ppaS"),eu=e("BH9v"),uu=e("rFfW"),iu=u["ɵcrt"]({encapsulation:0,styles:[[".crush-rule-steps[_ngcontent-%COMP%]{margin-top:10px}"]],data:{}});function tu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,2,"cd-loading-panel",[],null,null,null,Xe.b,Xe.a)),u["ɵdid"](1,49152,null,0,Ye.a,[],null,null),(l()(),u["ɵted"](-1,0,["Loading..."]))],null,null)}function ou(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["This field is required!"]))],null,null)}function au(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["The chosen Ceph pool name is already in use."]))],null,null)}function su(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["It's not possible to create an RBD pool with '/' in the name. Please change the name or remove 'rbd' from the applications list."]))],null,null)}function ru(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Pool name can only contain letters, numbers, '.', '-', '_' or '/'."]))],null,null)}function du(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),u["ɵdid"](1,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{value:[0,"value"]},null),u["ɵdid"](2,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),u["ɵted"](3,null,[" "," "]))],(function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)}),(function(l,n){l(n,3,0,n.context.$implicit)}))}function cu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["This field is required!"]))],null,null)}function mu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),u["ɵdid"](1,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{value:[0,"value"]},null),u["ɵdid"](2,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),u["ɵted"](3,null,[" "," "]))],(function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)}),(function(l,n){l(n,3,0,n.context.$implicit)}))}function fu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["This field is required!"]))],null,null)}function gu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["At least one placement group is needed!"]))],null,null)}function pu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Your cluster can't handle this many PGs. Please recalculate the PG amount needed."]))],null,null)}function hu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","form-text text-muted"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["The current PGs settings were calculated for you, you should make sure the values suit your needs before submit."]))],null,null)}function vu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,27,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](1,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,9,{FormControlNames:1}),u["ɵqud"](603979776,10,{messagesBlock:0}),(l()(),u["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","pgNum"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Placement groups"])),(l()(),u["ɵeld"](6,0,null,0,21,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](7,0,null,null,9,"input",[["class","form-control"],["formControlName","pgNum"],["id","pgNum"],["min","1"],["name","pgNum"],["required",""],["type","number"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"focus"],[null,"blur"],[null,"input"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],(function(l,n,e){var i=!0,t=l.component;return"input"===n&&(i=!1!==u["ɵnov"](l,8)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,8).onTouched()&&i),"compositionstart"===n&&(i=!1!==u["ɵnov"](l,8)._compositionStart()&&i),"compositionend"===n&&(i=!1!==u["ɵnov"](l,8)._compositionEnd(e.target.value)&&i),"change"===n&&(i=!1!==u["ɵnov"](l,9).onChange(e.target.value)&&i),"input"===n&&(i=!1!==u["ɵnov"](l,9).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,9).onTouched()&&i),"focus"===n&&(i=0!=(t.externalPgChange=!1)&&i),"blur"===n&&(i=!1!==t.alignPgs()&&i),i}),null,null)),u["ɵdid"](8,16384,null,0,t.e,[u.Renderer2,u.ElementRef,[2,t.b]],null,null),u["ɵdid"](9,16384,null,0,t.w,[u.Renderer2,u.ElementRef],null,null),u["ɵdid"](10,16384,null,0,t.z,[],{required:[0,"required"]},null),u["ɵprd"](1024,null,t.o,(function(l){return[l]}),[t.z]),u["ɵprd"](1024,null,t.p,(function(l,n){return[l,n]}),[t.e,t.w]),u["ɵdid"](13,671744,[[9,4]],0,t.j,[[3,t.d],[6,t.o],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](15,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](16,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,fu)),u["ɵdid"](18,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,gu)),u["ɵdid"](20,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,pu)),u["ɵdid"](22,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵeld"](23,0,null,null,2,"span",[["class","form-text text-muted"]],null,null,null,null,null)),(l()(),u["ɵeld"](24,0,null,null,1,"a",[["href","http://ceph.com/pgcalc"],["target","_blank"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Calculation help"])),(l()(),u["ɵand"](16777216,null,null,1,null,hu)),u["ɵdid"](27,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var e=n.component;l(n,1,0),l(n,10,0,""),l(n,13,0,"pgNum"),l(n,16,0,"pgNum"),l(n,18,0,e.form.showError("pgNum",u["ɵnov"](n.parent.parent,2),"required")),l(n,20,0,e.form.showError("pgNum",u["ɵnov"](n.parent.parent,2),"min")),l(n,22,0,e.form.showError("pgNum",u["ɵnov"](n.parent.parent,2),"34")),l(n,27,0,e.externalPgChange)}),(function(l,n){l(n,0,0,u["ɵnov"](n,1).hasErrors,u["ɵnov"](n,1).hasSuccess),l(n,7,0,u["ɵnov"](n,10).required?"":null,u["ɵnov"](n,15).ngClassUntouched,u["ɵnov"](n,15).ngClassTouched,u["ɵnov"](n,15).ngClassPristine,u["ɵnov"](n,15).ngClassDirty,u["ɵnov"](n,15).ngClassValid,u["ɵnov"](n,15).ngClassInvalid,u["ɵnov"](n,15).ngClassPending,u["ɵnov"](n,16).validClass,u["ɵnov"](n,16).invalidClass)}))}function Cu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,5,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵeld"](1,0,null,null,4,"ul",[["class","list-inline"]],null,null,null,null,null)),(l()(),u["ɵeld"](2,0,null,null,1,"li",[],null,null,null,null,null)),(l()(),u["ɵted"](3,null,["Minimum: ",""])),(l()(),u["ɵeld"](4,0,null,null,1,"li",[],null,null,null,null,null)),(l()(),u["ɵted"](5,null,["Maximum: ",""]))],null,(function(l,n){var e=n.component;l(n,3,0,e.getMinSize()),l(n,5,0,e.getMaxSize())}))}function bu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](1,null,["The size specified is out of range. A value from "," to "," is valid."]))],null,(function(l,n){var e=n.component;l(n,1,0,e.getMinSize(),e.getMaxSize())}))}function Ru(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,18,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](1,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,11,{FormControlNames:1}),u["ɵqud"](603979776,12,{messagesBlock:0}),(l()(),u["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","size"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Replicated size"])),(l()(),u["ɵeld"](6,0,null,0,12,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](7,0,null,null,7,"input",[["class","form-control"],["formControlName","size"],["id","size"],["name","size"],["type","number"]],[[8,"max",0],[8,"min",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==u["ɵnov"](l,8)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,8).onTouched()&&i),"compositionstart"===n&&(i=!1!==u["ɵnov"](l,8)._compositionStart()&&i),"compositionend"===n&&(i=!1!==u["ɵnov"](l,8)._compositionEnd(e.target.value)&&i),"change"===n&&(i=!1!==u["ɵnov"](l,9).onChange(e.target.value)&&i),"input"===n&&(i=!1!==u["ɵnov"](l,9).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,9).onTouched()&&i),i}),null,null)),u["ɵdid"](8,16384,null,0,t.e,[u.Renderer2,u.ElementRef,[2,t.b]],null,null),u["ɵdid"](9,16384,null,0,t.w,[u.Renderer2,u.ElementRef],null,null),u["ɵprd"](1024,null,t.p,(function(l,n){return[l,n]}),[t.e,t.w]),u["ɵdid"](11,671744,[[11,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](13,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](14,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Cu)),u["ɵdid"](16,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,bu)),u["ɵdid"](18,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var e=n.component;l(n,1,0),l(n,11,0,"size"),l(n,14,0,"size"),l(n,16,0,e.form.showError("size",u["ɵnov"](n.parent.parent,2))),l(n,18,0,e.form.showError("size",u["ɵnov"](n.parent.parent,2)))}),(function(l,n){var e=n.component;l(n,0,0,u["ɵnov"](n,1).hasErrors,u["ɵnov"](n,1).hasSuccess),l(n,7,1,[e.getMaxSize(),e.getMinSize(),u["ɵnov"](n,13).ngClassUntouched,u["ɵnov"](n,13).ngClassTouched,u["ɵnov"](n,13).ngClassPristine,u["ɵnov"](n,13).ngClassDirty,u["ɵnov"](n,13).ngClassValid,u["ɵnov"](n,13).ngClassInvalid,u["ɵnov"](n,13).ngClassPending,u["ɵnov"](n,14).validClass,u["ɵnov"](n,14).invalidClass])}))}function Iu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,16,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](1,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,13,{FormControlNames:1}),u["ɵqud"](603979776,14,{messagesBlock:0}),(l()(),u["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Flags"])),(l()(),u["ɵeld"](6,0,null,0,10,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](7,0,null,null,9,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(l()(),u["ɵeld"](8,0,null,null,6,"input",[["class","custom-control-input"],["formControlName","ecOverwrites"],["id","ec-overwrites"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,e){var i=!0;return"change"===n&&(i=!1!==u["ɵnov"](l,9).onChange(e.target.checked)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,9).onTouched()&&i),i}),null,null)),u["ɵdid"](9,16384,null,0,t.c,[u.Renderer2,u.ElementRef],null,null),u["ɵprd"](1024,null,t.p,(function(l){return[l]}),[t.c]),u["ɵdid"](11,671744,[[13,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](13,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](14,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵeld"](15,0,null,null,1,"label",[["class","custom-control-label"],["for","ec-overwrites"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["EC Overwrites"]))],(function(l,n){l(n,1,0),l(n,11,0,"ecOverwrites"),l(n,14,0,"ecOverwrites")}),(function(l,n){l(n,0,0,u["ɵnov"](n,1).hasErrors,u["ɵnov"](n,1).hasSuccess),l(n,8,0,u["ɵnov"](n,13).ngClassUntouched,u["ɵnov"](n,13).ngClassTouched,u["ɵnov"](n,13).ngClassPristine,u["ɵnov"](n,13).ngClassDirty,u["ɵnov"](n,13).ngClassValid,u["ɵnov"](n,13).ngClassInvalid,u["ɵnov"](n,13).ngClassPending,u["ɵnov"](n,14).validClass,u["ɵnov"](n,14).invalidClass)}))}function Eu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,22,"div",[],null,null,null,null,null)),(l()(),u["ɵeld"](1,0,null,null,15,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](2,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,7,{FormControlNames:1}),u["ɵqud"](603979776,8,{messagesBlock:0}),(l()(),u["ɵeld"](5,0,null,0,1,"label",[["class","cd-col-form-label"],["for","pgAutoscaleMode"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["PG Autoscale"])),(l()(),u["ɵeld"](7,0,null,0,9,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](8,0,null,null,8,"select",[["class","form-control custom-select"],["formControlName","pgAutoscaleMode"],["id","pgAutoscaleMode"],["name","pgAutoscaleMode"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,e){var i=!0;return"change"===n&&(i=!1!==u["ɵnov"](l,9).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,9).onTouched()&&i),i}),null,null)),u["ɵdid"](9,16384,null,0,t.A,[u.Renderer2,u.ElementRef],null,null),u["ɵprd"](1024,null,t.p,(function(l){return[l]}),[t.A]),u["ɵdid"](11,671744,[[7,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](13,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](14,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,mu)),u["ɵdid"](16,278528,null,0,Rl.NgForOf,[u.ViewContainerRef,u.TemplateRef,u.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,vu)),u["ɵdid"](18,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Ru)),u["ɵdid"](20,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Iu)),u["ɵdid"](22,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var e=n.component;l(n,2,0),l(n,11,0,"pgAutoscaleMode"),l(n,14,0,"pgAutoscaleMode"),l(n,16,0,e.pgAutoscaleModes),l(n,18,0,"on"!==e.form.getValue("pgAutoscaleMode")),l(n,20,0,e.isReplicated),l(n,22,0,e.info.is_all_bluestore&&e.isErasure)}),(function(l,n){l(n,1,0,u["ɵnov"](n,2).hasErrors,u["ɵnov"](n,2).hasSuccess),l(n,8,0,u["ɵnov"](n,13).ngClassUntouched,u["ɵnov"](n,13).ngClassTouched,u["ɵnov"](n,13).ngClassPristine,u["ɵnov"](n,13).ngClassDirty,u["ɵnov"](n,13).ngClassValid,u["ɵnov"](n,13).ngClassInvalid,u["ɵnov"](n,13).ngClassPending,u["ɵnov"](n,14).validClass,u["ɵnov"](n,14).invalidClass)}))}function Nu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"option",[["ngValue",""]],null,null,null,null,null)),u["ɵdid"](1,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{ngValue:[0,"ngValue"]},null),u["ɵdid"](2,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),u["ɵted"](-1,null,["Loading..."]))],(function(l,n){l(n,1,0,""),l(n,2,0,"")}),null)}function yu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),u["ɵdid"](1,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{ngValue:[0,"ngValue"]},null),u["ɵdid"](2,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),u["ɵted"](-1,null,["-- No erasure code profile available --"]))],(function(l,n){l(n,1,0,null),l(n,2,0,null)}),null)}function wu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),u["ɵdid"](1,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{ngValue:[0,"ngValue"]},null),u["ɵdid"](2,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),u["ɵted"](-1,null,["-- Select an erasure code profile --"]))],(function(l,n){l(n,1,0,null),l(n,2,0,null)}),null)}function Vu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),u["ɵdid"](1,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{ngValue:[0,"ngValue"]},null),u["ɵdid"](2,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),u["ɵted"](3,null,[" "," "]))],(function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)}),(function(l,n){l(n,3,0,n.context.$implicit.name)}))}function Tu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,4,"button",[["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,e){var u=!0;return"click"===n&&(u=!1!==l.component.addErasureCodeProfile()&&u),u}),null,null)),(l()(),u["ɵeld"](1,0,null,null,3,"i",[["aria-hidden","true"]],null,null,null,null,null)),u["ɵprd"](512,null,Rl["ɵNgClassImpl"],Rl["ɵNgClassR2Impl"],[u.IterableDiffers,u.KeyValueDiffers,u.ElementRef,u.Renderer2]),u["ɵdid"](3,278528,null,0,Rl.NgClass,[Rl["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),u["ɵpad"](4,1)],(function(l,n){var e=l(n,4,0,n.component.icons.add);l(n,3,0,e)}),null)}function Su(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,4,"button",[["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,e){var u=!0;return"click"===n&&(u=!1!==l.component.deleteErasureCodeProfile()&&u),u}),null,null)),(l()(),u["ɵeld"](1,0,null,null,3,"i",[["aria-hidden","true"]],null,null,null,null,null)),u["ɵprd"](512,null,Rl["ɵNgClassImpl"],Rl["ɵNgClassR2Impl"],[u.IterableDiffers,u.KeyValueDiffers,u.ElementRef,u.Renderer2]),u["ɵdid"](3,278528,null,0,Rl.NgClass,[Rl["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),u["ɵpad"](4,1)],(function(l,n){var e=l(n,4,0,n.component.icons.trash);l(n,3,0,e)}),null)}function _u(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,2,"span",[["class","form-text text-muted"],["id","ecp-info-block"]],null,null,null,null,null)),(l()(),u["ɵeld"](1,0,null,null,1,"cd-table-key-value",[],null,null,null,xe.b,xe.a)),u["ɵdid"](2,638976,null,0,Pe.a,[Bn.a],{data:[0,"data"],autoReload:[1,"autoReload"],renderObjects:[2,"renderObjects"]},null)],(function(l,n){l(n,2,0,n.component.form.getValue("erasureProfile"),!1,!0)}),null)}function qu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,37,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](1,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,17,{FormControlNames:1}),u["ɵqud"](603979776,18,{messagesBlock:0}),(l()(),u["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label"],["for","erasureProfile"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Erasure code profile"])),(l()(),u["ɵeld"](6,0,null,0,31,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](7,0,null,null,28,"div",[["class","input-group"]],null,null,null,null,null)),(l()(),u["ɵeld"](8,0,null,null,14,"select",[["class","form-control custom-select"],["formControlName","erasureProfile"],["id","erasureProfile"],["name","erasureProfile"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,e){var i=!0;return"change"===n&&(i=!1!==u["ɵnov"](l,9).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,9).onTouched()&&i),i}),null,null)),u["ɵdid"](9,16384,null,0,t.A,[u.Renderer2,u.ElementRef],null,null),u["ɵprd"](1024,null,t.p,(function(l){return[l]}),[t.A]),u["ɵdid"](11,671744,[[17,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](13,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](14,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Nu)),u["ɵdid"](16,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,yu)),u["ɵdid"](18,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,wu)),u["ɵdid"](20,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Vu)),u["ɵdid"](22,278528,null,0,Rl.NgForOf,[u.ViewContainerRef,u.TemplateRef,u.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),u["ɵeld"](23,0,null,null,12,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),u["ɵeld"](24,0,null,null,7,"button",[["class","btn btn-light"],["id","ecp-info-button"],["type","button"]],null,[[null,"click"]],(function(l,n,e){var u=!0,i=l.component;return"click"===n&&(u=0!=(i.data.erasureInfo=!i.data.erasureInfo)&&u),u}),null,null)),u["ɵprd"](512,null,Rl["ɵNgClassImpl"],Rl["ɵNgClassR2Impl"],[u.IterableDiffers,u.KeyValueDiffers,u.ElementRef,u.Renderer2]),u["ɵdid"](26,278528,null,0,Rl.NgClass,[Rl["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),u["ɵpod"](27,{active:0}),(l()(),u["ɵeld"](28,0,null,null,3,"i",[["aria-hidden","true"]],null,null,null,null,null)),u["ɵprd"](512,null,Rl["ɵNgClassImpl"],Rl["ɵNgClassR2Impl"],[u.IterableDiffers,u.KeyValueDiffers,u.ElementRef,u.Renderer2]),u["ɵdid"](30,278528,null,0,Rl.NgClass,[Rl["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),u["ɵpad"](31,1),(l()(),u["ɵand"](16777216,null,null,1,null,Tu)),u["ɵdid"](33,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Su)),u["ɵdid"](35,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,_u)),u["ɵdid"](37,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var e=n.component;l(n,1,0),l(n,11,0,"erasureProfile"),l(n,14,0,"erasureProfile"),l(n,16,0,!e.ecProfiles),l(n,18,0,e.ecProfiles&&0===e.ecProfiles.length),l(n,20,0,e.ecProfiles&&e.ecProfiles.length>0),l(n,22,0,e.ecProfiles);var u=l(n,27,0,e.data.erasureInfo);l(n,26,0,"btn btn-light",u);var i=l(n,31,0,e.icons.questionCircle);l(n,30,0,i),l(n,33,0,!e.editing),l(n,35,0,!e.editing),l(n,37,0,e.data.erasureInfo&&e.form.getValue("erasureProfile"))}),(function(l,n){l(n,0,0,u["ɵnov"](n,1).hasErrors,u["ɵnov"](n,1).hasSuccess),l(n,8,0,u["ɵnov"](n,13).ngClassUntouched,u["ɵnov"](n,13).ngClassTouched,u["ɵnov"](n,13).ngClassPristine,u["ɵnov"](n,13).ngClassDirty,u["ɵnov"](n,13).ngClassValid,u["ɵnov"](n,13).ngClassInvalid,u["ɵnov"](n,13).ngClassPending,u["ɵnov"](n,14).validClass,u["ɵnov"](n,14).invalidClass)}))}function Du(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,8,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](1,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,19,{FormControlNames:1}),u["ɵqud"](603979776,20,{messagesBlock:0}),(l()(),u["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label"],["for","crushRule"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Crush ruleset"])),(l()(),u["ɵeld"](6,0,null,0,2,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](7,0,null,null,1,"span",[["class","form-text text-muted"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["A new crush ruleset will be implicitly created."]))],(function(l,n){l(n,1,0)}),(function(l,n){l(n,0,0,u["ɵnov"](n,1).hasErrors,u["ɵnov"](n,1).hasSuccess)}))}function ku(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"span",[["class","form-text text-muted"]],null,null,null,null,null)),(l()(),u["ɵeld"](1,0,null,null,1,"span",[],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["There are no rules."])),(l()(),u["ɵted"](-1,null,["  "]))],null,null)}function xu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),u["ɵdid"](1,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{ngValue:[0,"ngValue"]},null),u["ɵdid"](2,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),u["ɵted"](3,null,[" "," "]))],(function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)}),(function(l,n){l(n,3,0,n.context.$implicit.rule_name)}))}function Pu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,4,"button",[["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,e){var u=!0;return"click"===n&&(u=!1!==l.component.addCrushRule()&&u),u}),null,null)),(l()(),u["ɵeld"](1,0,null,null,3,"i",[["aria-hidden","true"]],null,null,null,null,null)),u["ɵprd"](512,null,Rl["ɵNgClassImpl"],Rl["ɵNgClassR2Impl"],[u.IterableDiffers,u.KeyValueDiffers,u.ElementRef,u.Renderer2]),u["ɵdid"](3,278528,null,0,Rl.NgClass,[Rl["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),u["ɵpad"](4,1)],(function(l,n){var e=l(n,4,0,n.component.icons.add);l(n,3,0,e)}),null)}function Fu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,16777216,null,null,5,"button",[["class","btn btn-light"],["tooltip","This rule can't be deleted as it is in use."],["triggers",""],["type","button"]],[[1,"aria-describedby",0]],[[null,"click"]],(function(l,n,e){var u=!0;return"click"===n&&(u=!1!==l.component.deleteCrushRule()&&u),u}),null,null)),u["ɵdid"](1,212992,[[2,4],["crushDeletionBtn",4]],0,Xn.c,[u.ViewContainerRef,Wn.a,Xn.a,u.ElementRef,u.Renderer2,Hn.a],{tooltip:[0,"tooltip"],triggers:[1,"triggers"]},null),(l()(),u["ɵeld"](2,0,null,null,3,"i",[["aria-hidden","true"]],null,null,null,null,null)),u["ɵprd"](512,null,Rl["ɵNgClassImpl"],Rl["ɵNgClassR2Impl"],[u.IterableDiffers,u.KeyValueDiffers,u.ElementRef,u.Renderer2]),u["ɵdid"](4,278528,null,0,Rl.NgClass,[Rl["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),u["ɵpad"](5,1),(l()(),u["ɵand"](0,null,null,0))],(function(l,n){var e=n.component;l(n,1,0,"This rule can't be deleted as it is in use.","");var u=l(n,5,0,e.icons.trash);l(n,4,0,u)}),(function(l,n){l(n,0,0,u["ɵnov"](n,1).ariaDescribedby)}))}function Au(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"li",[],null,null,null,null,null)),(l()(),u["ɵted"](1,null,[" "," "]))],null,(function(l,n){l(n,1,0,n.component.describeCrushStep(n.context.$implicit))}))}function Bu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Rule is not in use."]))],null,null)}function Ou(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"li",[],null,null,null,null,null)),(l()(),u["ɵted"](1,null,[" "," "]))],null,(function(l,n){l(n,1,0,n.context.$implicit)}))}function zu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,2,"ul",[],null,null,null,null,null)),(l()(),u["ɵand"](16777216,null,null,1,null,Ou)),u["ɵdid"](2,278528,null,0,Rl.NgForOf,[u.ViewContainerRef,u.TemplateRef,u.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(l,n){l(n,2,0,n.component.crushUsage)}),null)}function ju(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,16,"span",[["class","form-text text-muted"],["id","crush-info-block"]],null,null,null,null,null)),(l()(),u["ɵeld"](1,0,null,null,15,"tabset",[],[[2,"tab-container",null]],null,null,Ve.b,Ve.a)),u["ɵdid"](2,180224,[[1,4],["crushInfoTabs",4]],0,ne.e,[ne.f,u.Renderer2,u.ElementRef],null,null),(l()(),u["ɵeld"](3,0,null,0,3,"tab",[["class","crush-rule-info"],["heading","Crush rule"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),u["ɵdid"](4,212992,null,0,ne.b,[ne.e,u.ElementRef,u.Renderer2],{heading:[0,"heading"]},null),(l()(),u["ɵeld"](5,0,null,null,1,"cd-table-key-value",[],null,null,null,xe.b,xe.a)),u["ɵdid"](6,638976,null,0,Pe.a,[Bn.a],{data:[0,"data"],autoReload:[1,"autoReload"],renderObjects:[2,"renderObjects"]},null),(l()(),u["ɵeld"](7,0,null,0,4,"tab",[["class","crush-rule-steps"],["heading","Crush steps"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),u["ɵdid"](8,212992,null,0,ne.b,[ne.e,u.ElementRef,u.Renderer2],{heading:[0,"heading"]},null),(l()(),u["ɵeld"](9,0,null,null,2,"ol",[],null,null,null,null,null)),(l()(),u["ɵand"](16777216,null,null,1,null,Au)),u["ɵdid"](11,278528,null,0,Rl.NgForOf,[u.ViewContainerRef,u.TemplateRef,u.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),u["ɵeld"](12,0,null,0,4,"tab",[["class","used-by-pools"],["heading","Used by pools"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),u["ɵdid"](13,212992,null,0,ne.b,[ne.e,u.ElementRef,u.Renderer2],{heading:[0,"heading"]},null),(l()(),u["ɵand"](0,[["ruleIsNotUsed",2]],null,0,null,Bu)),(l()(),u["ɵand"](16777216,null,null,1,null,zu)),u["ɵdid"](16,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"],ngIfElse:[1,"ngIfElse"]},null)],(function(l,n){var e=n.component;l(n,4,0,"Crush rule"),l(n,6,0,e.form.getValue("crushRule"),!1,!0),l(n,8,0,"Crush steps"),l(n,11,0,e.form.get("crushRule").value.steps),l(n,13,0,"Used by pools"),l(n,16,0,e.crushUsage,u["ɵnov"](n,14))}),(function(l,n){l(n,1,0,u["ɵnov"](n,2).clazz),l(n,3,0,u["ɵnov"](n,4).id,u["ɵnov"](n,4).active,u["ɵnov"](n,4).addClass),l(n,7,0,u["ɵnov"](n,8).id,u["ɵnov"](n,8).active,u["ɵnov"](n,8).addClass),l(n,12,0,u["ɵnov"](n,13).id,u["ɵnov"](n,13).active,u["ɵnov"](n,13).addClass)}))}function Lu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["This field is required!"]))],null,null)}function Uu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["The rule can't be used in the current cluster as it has too few OSDs to meet the minimum required OSD by this rule."]))],null,null)}function Mu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,33,"div",[],null,null,null,null,null)),(l()(),u["ɵeld"](1,0,null,null,26,"div",[["class","input-group"]],null,null,null,null,null)),(l()(),u["ɵeld"](2,0,null,null,12,"select",[["class","form-control custom-select"],["formControlName","crushRule"],["id","crushRule"],["name","crushSet"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,e){var i=!0;return"change"===n&&(i=!1!==u["ɵnov"](l,3).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,3).onTouched()&&i),i}),null,null)),u["ɵdid"](3,16384,null,0,t.A,[u.Renderer2,u.ElementRef],null,null),u["ɵprd"](1024,null,t.p,(function(l){return[l]}),[t.A]),u["ɵdid"](5,671744,[[21,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](7,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](8,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵeld"](9,0,null,null,3,"option",[],null,null,null,null,null)),u["ɵdid"](10,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{ngValue:[0,"ngValue"]},null),u["ɵdid"](11,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),u["ɵted"](-1,null,["-- Select a crush rule --"])),(l()(),u["ɵand"](16777216,null,null,1,null,xu)),u["ɵdid"](14,278528,null,0,Rl.NgForOf,[u.ViewContainerRef,u.TemplateRef,u.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),u["ɵeld"](15,0,null,null,12,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),u["ɵeld"](16,0,null,null,7,"button",[["class","btn btn-light"],["id","crush-info-button"],["type","button"]],null,[[null,"click"]],(function(l,n,e){var u=!0,i=l.component;return"click"===n&&(u=0!=(i.data.crushInfo=!i.data.crushInfo)&&u),u}),null,null)),u["ɵprd"](512,null,Rl["ɵNgClassImpl"],Rl["ɵNgClassR2Impl"],[u.IterableDiffers,u.KeyValueDiffers,u.ElementRef,u.Renderer2]),u["ɵdid"](18,278528,null,0,Rl.NgClass,[Rl["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),u["ɵpod"](19,{active:0}),(l()(),u["ɵeld"](20,0,null,null,3,"i",[["aria-hidden","true"]],null,null,null,null,null)),u["ɵprd"](512,null,Rl["ɵNgClassImpl"],Rl["ɵNgClassR2Impl"],[u.IterableDiffers,u.KeyValueDiffers,u.ElementRef,u.Renderer2]),u["ɵdid"](22,278528,null,0,Rl.NgClass,[Rl["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),u["ɵpad"](23,1),(l()(),u["ɵand"](16777216,null,null,1,null,Pu)),u["ɵdid"](25,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Fu)),u["ɵdid"](27,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,ju)),u["ɵdid"](29,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Lu)),u["ɵdid"](31,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Uu)),u["ɵdid"](33,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var e=n.component;l(n,5,0,"crushRule"),l(n,8,0,"crushRule"),l(n,10,0,null),l(n,11,0,null),l(n,14,0,e.current.rules);var i=l(n,19,0,e.data.crushInfo);l(n,18,0,"btn btn-light",i);var t=l(n,23,0,e.icons.questionCircle);l(n,22,0,t),l(n,25,0,e.isReplicated&&!e.editing),l(n,27,0,e.isReplicated&&!e.editing),l(n,29,0,e.data.crushInfo&&e.form.getValue("crushRule")),l(n,31,0,e.form.showError("crushRule",u["ɵnov"](n.parent.parent.parent,2),"required")),l(n,33,0,e.form.showError("crushRule",u["ɵnov"](n.parent.parent.parent,2),"tooFewOsds"))}),(function(l,n){l(n,2,0,u["ɵnov"](n,7).ngClassUntouched,u["ɵnov"](n,7).ngClassTouched,u["ɵnov"](n,7).ngClassPristine,u["ɵnov"](n,7).ngClassDirty,u["ɵnov"](n,7).ngClassValid,u["ɵnov"](n,7).ngClassInvalid,u["ɵnov"](n,7).ngClassPending,u["ɵnov"](n,8).validClass,u["ɵnov"](n,8).invalidClass)}))}function Gu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,9,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](1,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,21,{FormControlNames:1}),u["ɵqud"](603979776,22,{messagesBlock:0}),(l()(),u["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label"],["for","crushRule"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Crush ruleset"])),(l()(),u["ɵeld"](6,0,null,0,3,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵand"](0,[["noRules",2]],null,0,null,ku)),(l()(),u["ɵand"](16777216,null,null,1,null,Mu)),u["ɵdid"](9,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"],ngIfElse:[1,"ngIfElse"]},null)],(function(l,n){var e=n.component;l(n,1,0),l(n,9,0,e.current.rules.length>0,u["ɵnov"](n,7))}),(function(l,n){l(n,0,0,u["ɵnov"](n,1).hasErrors,u["ɵnov"](n,1).hasSuccess)}))}function $u(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,8,"div",[],null,null,null,null,null)),(l()(),u["ɵeld"](1,0,null,null,1,"legend",[],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["CRUSH"])),(l()(),u["ɵand"](16777216,null,null,1,null,qu)),u["ɵdid"](4,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Du)),u["ɵdid"](6,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Gu)),u["ɵdid"](8,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var e=n.component;l(n,4,0,e.isErasure),l(n,6,0,e.isErasure&&!e.editing),l(n,8,0,e.isReplicated||e.editing)}),null)}function Ku(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),u["ɵdid"](1,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{value:[0,"value"]},null),u["ɵdid"](2,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),u["ɵted"](3,null,[" "," "]))],(function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)}),(function(l,n){l(n,3,0,n.context.$implicit)}))}function Ju(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"option",[["ngValue",""]],null,null,null,null,null)),u["ɵdid"](1,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{ngValue:[0,"ngValue"]},null),u["ɵdid"](2,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),u["ɵted"](-1,null,["Loading..."]))],(function(l,n){l(n,1,0,""),l(n,2,0,"")}),null)}function Hu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"option",[["ngValue",""]],null,null,null,null,null)),u["ɵdid"](1,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{ngValue:[0,"ngValue"]},null),u["ɵdid"](2,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),u["ɵted"](-1,null,["-- No erasure compression algorithm available --"]))],(function(l,n){l(n,1,0,""),l(n,2,0,"")}),null)}function Wu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),u["ɵdid"](1,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{value:[0,"value"]},null),u["ɵdid"](2,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{value:[0,"value"]},null),(l()(),u["ɵted"](3,null,[" "," "]))],(function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)}),(function(l,n){l(n,3,0,n.context.$implicit)}))}function Zu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Value should be greater than 0"]))],null,null)}function Xu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Value should be less than the maximum blob size"]))],null,null)}function Yu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Value should be greater than 0"]))],null,null)}function Qu(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Value should be greater than the minimum blob size"]))],null,null)}function li(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Value should be between 0.0 and 1.0"]))],null,null)}function ni(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,75,"div",[],null,null,null,null,null)),(l()(),u["ɵeld"](1,0,null,null,19,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](2,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,25,{FormControlNames:1}),u["ɵqud"](603979776,26,{messagesBlock:0}),(l()(),u["ɵeld"](5,0,null,0,1,"label",[["class","cd-col-form-label"],["for","algorithm"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Algorithm"])),(l()(),u["ɵeld"](7,0,null,0,13,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](8,0,null,null,12,"select",[["class","form-control custom-select"],["formControlName","algorithm"],["id","algorithm"],["name","algorithm"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,e){var i=!0;return"change"===n&&(i=!1!==u["ɵnov"](l,9).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,9).onTouched()&&i),i}),null,null)),u["ɵdid"](9,16384,null,0,t.A,[u.Renderer2,u.ElementRef],null,null),u["ɵprd"](1024,null,t.p,(function(l){return[l]}),[t.A]),u["ɵdid"](11,671744,[[25,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](13,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](14,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Ju)),u["ɵdid"](16,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Hu)),u["ɵdid"](18,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Wu)),u["ɵdid"](20,278528,null,0,Rl.NgForOf,[u.ViewContainerRef,u.TemplateRef,u.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),u["ɵeld"](21,0,null,null,18,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](22,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,27,{FormControlNames:1}),u["ɵqud"](603979776,28,{messagesBlock:0}),(l()(),u["ɵeld"](25,0,null,0,1,"label",[["class","cd-col-form-label"],["for","minBlobSize"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Minimum blob size"])),(l()(),u["ɵeld"](27,0,null,0,12,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](28,0,null,null,7,"input",[["cdDimlessBinary",""],["class","form-control"],["defaultUnit","KiB"],["formControlName","minBlobSize"],["id","minBlobSize"],["min","0"],["name","minBlobSize"],["placeholder","e.g., 128KiB"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==u["ɵnov"](l,29)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,29).onTouched()&&i),"compositionstart"===n&&(i=!1!==u["ɵnov"](l,29)._compositionStart()&&i),"compositionend"===n&&(i=!1!==u["ɵnov"](l,29)._compositionEnd(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,33).onBlur(e.target.value)&&i),i}),null,null)),u["ɵdid"](29,16384,null,0,t.e,[u.Renderer2,u.ElementRef,[2,t.b]],null,null),u["ɵprd"](1024,null,t.p,(function(l){return[l]}),[t.e]),u["ɵdid"](31,671744,[[27,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](33,81920,null,0,Qe.a,[u.ElementRef,t.q,R.a,E.a],{defaultUnit:[0,"defaultUnit"]},null),u["ɵdid"](34,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](35,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Zu)),u["ɵdid"](37,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Xu)),u["ɵdid"](39,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵeld"](40,0,null,null,18,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](41,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,29,{FormControlNames:1}),u["ɵqud"](603979776,30,{messagesBlock:0}),(l()(),u["ɵeld"](44,0,null,0,1,"label",[["class","cd-col-form-label"],["for","maxBlobSize"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Maximum blob size"])),(l()(),u["ɵeld"](46,0,null,0,12,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](47,0,null,null,7,"input",[["cdDimlessBinary",""],["class","form-control"],["defaultUnit","KiB"],["formControlName","maxBlobSize"],["id","maxBlobSize"],["min","0"],["placeholder","e.g., 512KiB"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==u["ɵnov"](l,48)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,48).onTouched()&&i),"compositionstart"===n&&(i=!1!==u["ɵnov"](l,48)._compositionStart()&&i),"compositionend"===n&&(i=!1!==u["ɵnov"](l,48)._compositionEnd(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,52).onBlur(e.target.value)&&i),i}),null,null)),u["ɵdid"](48,16384,null,0,t.e,[u.Renderer2,u.ElementRef,[2,t.b]],null,null),u["ɵprd"](1024,null,t.p,(function(l){return[l]}),[t.e]),u["ɵdid"](50,671744,[[29,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](52,81920,null,0,Qe.a,[u.ElementRef,t.q,R.a,E.a],{defaultUnit:[0,"defaultUnit"]},null),u["ɵdid"](53,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](54,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Yu)),u["ɵdid"](56,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Qu)),u["ɵdid"](58,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵeld"](59,0,null,null,16,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](60,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,31,{FormControlNames:1}),u["ɵqud"](603979776,32,{messagesBlock:0}),(l()(),u["ɵeld"](63,0,null,0,1,"label",[["class","cd-col-form-label"],["for","ratio"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Ratio"])),(l()(),u["ɵeld"](65,0,null,0,10,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](66,0,null,null,7,"input",[["class","form-control"],["formControlName","ratio"],["id","ratio"],["max","1"],["min","0"],["name","ratio"],["placeholder","Compression ratio"],["step","0.1"],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==u["ɵnov"](l,67)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,67).onTouched()&&i),"compositionstart"===n&&(i=!1!==u["ɵnov"](l,67)._compositionStart()&&i),"compositionend"===n&&(i=!1!==u["ɵnov"](l,67)._compositionEnd(e.target.value)&&i),"change"===n&&(i=!1!==u["ɵnov"](l,68).onChange(e.target.value)&&i),"input"===n&&(i=!1!==u["ɵnov"](l,68).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,68).onTouched()&&i),i}),null,null)),u["ɵdid"](67,16384,null,0,t.e,[u.Renderer2,u.ElementRef,[2,t.b]],null,null),u["ɵdid"](68,16384,null,0,t.w,[u.Renderer2,u.ElementRef],null,null),u["ɵprd"](1024,null,t.p,(function(l,n){return[l,n]}),[t.e,t.w]),u["ɵdid"](70,671744,[[31,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](72,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](73,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,li)),u["ɵdid"](75,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var e=n.component;l(n,2,0),l(n,11,0,"algorithm"),l(n,14,0,"algorithm"),l(n,16,0,!e.info.compression_algorithms),l(n,18,0,e.info.compression_algorithms&&0===e.info.compression_algorithms.length),l(n,20,0,e.info.compression_algorithms),l(n,22,0),l(n,31,0,"minBlobSize"),l(n,33,0,"KiB"),l(n,35,0,"minBlobSize"),l(n,37,0,e.form.showError("minBlobSize",u["ɵnov"](n.parent.parent,2),"min")),l(n,39,0,e.form.showError("minBlobSize",u["ɵnov"](n.parent.parent,2),"maximum")),l(n,41,0),l(n,50,0,"maxBlobSize"),l(n,52,0,"KiB"),l(n,54,0,"maxBlobSize"),l(n,56,0,e.form.showError("maxBlobSize",u["ɵnov"](n.parent.parent,2),"min")),l(n,58,0,e.form.showError("maxBlobSize",u["ɵnov"](n.parent.parent,2),"minimum")),l(n,60,0),l(n,70,0,"ratio"),l(n,73,0,"ratio"),l(n,75,0,e.form.showError("ratio",u["ɵnov"](n.parent.parent,2),"min")||e.form.showError("ratio",u["ɵnov"](n.parent.parent,2),"max"))}),(function(l,n){l(n,1,0,u["ɵnov"](n,2).hasErrors,u["ɵnov"](n,2).hasSuccess),l(n,8,0,u["ɵnov"](n,13).ngClassUntouched,u["ɵnov"](n,13).ngClassTouched,u["ɵnov"](n,13).ngClassPristine,u["ɵnov"](n,13).ngClassDirty,u["ɵnov"](n,13).ngClassValid,u["ɵnov"](n,13).ngClassInvalid,u["ɵnov"](n,13).ngClassPending,u["ɵnov"](n,14).validClass,u["ɵnov"](n,14).invalidClass),l(n,21,0,u["ɵnov"](n,22).hasErrors,u["ɵnov"](n,22).hasSuccess),l(n,28,0,u["ɵnov"](n,34).ngClassUntouched,u["ɵnov"](n,34).ngClassTouched,u["ɵnov"](n,34).ngClassPristine,u["ɵnov"](n,34).ngClassDirty,u["ɵnov"](n,34).ngClassValid,u["ɵnov"](n,34).ngClassInvalid,u["ɵnov"](n,34).ngClassPending,u["ɵnov"](n,35).validClass,u["ɵnov"](n,35).invalidClass),l(n,40,0,u["ɵnov"](n,41).hasErrors,u["ɵnov"](n,41).hasSuccess),l(n,47,0,u["ɵnov"](n,53).ngClassUntouched,u["ɵnov"](n,53).ngClassTouched,u["ɵnov"](n,53).ngClassPristine,u["ɵnov"](n,53).ngClassDirty,u["ɵnov"](n,53).ngClassValid,u["ɵnov"](n,53).ngClassInvalid,u["ɵnov"](n,53).ngClassPending,u["ɵnov"](n,54).validClass,u["ɵnov"](n,54).invalidClass),l(n,59,0,u["ɵnov"](n,60).hasErrors,u["ɵnov"](n,60).hasSuccess),l(n,66,0,u["ɵnov"](n,72).ngClassUntouched,u["ɵnov"](n,72).ngClassTouched,u["ɵnov"](n,72).ngClassPristine,u["ɵnov"](n,72).ngClassDirty,u["ɵnov"](n,72).ngClassValid,u["ɵnov"](n,72).ngClassInvalid,u["ɵnov"](n,72).ngClassPending,u["ɵnov"](n,73).validClass,u["ɵnov"](n,73).invalidClass)}))}function ei(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,23,"div",[["formGroupName","compression"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],null,null,null,null)),u["ɵdid"](1,212992,null,0,t.m,[[3,t.d],[8,null],[8,null]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.d,null,[t.m]),u["ɵdid"](3,16384,null,0,t.s,[[4,t.d]],null,null),(l()(),u["ɵeld"](4,0,null,null,1,"legend",[],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Compression"])),(l()(),u["ɵeld"](6,0,null,null,15,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](7,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,23,{FormControlNames:1}),u["ɵqud"](603979776,24,{messagesBlock:0}),(l()(),u["ɵeld"](10,0,null,0,1,"label",[["class","cd-col-form-label"],["for","mode"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Mode"])),(l()(),u["ɵeld"](12,0,null,0,9,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](13,0,null,null,8,"select",[["class","form-control custom-select"],["formControlName","mode"],["id","mode"],["name","mode"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,e){var i=!0;return"change"===n&&(i=!1!==u["ɵnov"](l,14).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,14).onTouched()&&i),i}),null,null)),u["ɵdid"](14,16384,null,0,t.A,[u.Renderer2,u.ElementRef],null,null),u["ɵprd"](1024,null,t.p,(function(l){return[l]}),[t.A]),u["ɵdid"](16,671744,[[23,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](18,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](19,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Ku)),u["ɵdid"](21,278528,null,0,Rl.NgForOf,[u.ViewContainerRef,u.TemplateRef,u.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,ni)),u["ɵdid"](23,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var e=n.component;l(n,1,0,"compression"),l(n,7,0),l(n,16,0,"mode"),l(n,19,0,"mode"),l(n,21,0,e.info.compression_modes),l(n,23,0,e.hasCompressionEnabled())}),(function(l,n){l(n,0,0,u["ɵnov"](n,3).ngClassUntouched,u["ɵnov"](n,3).ngClassTouched,u["ɵnov"](n,3).ngClassPristine,u["ɵnov"](n,3).ngClassDirty,u["ɵnov"](n,3).ngClassValid,u["ɵnov"](n,3).ngClassInvalid,u["ɵnov"](n,3).ngClassPending),l(n,6,0,u["ɵnov"](n,7).hasErrors,u["ɵnov"](n,7).hasSuccess),l(n,13,0,u["ɵnov"](n,18).ngClassUntouched,u["ɵnov"](n,18).ngClassTouched,u["ɵnov"](n,18).ngClassPristine,u["ɵnov"](n,18).ngClassDirty,u["ɵnov"](n,18).ngClassValid,u["ɵnov"](n,18).ngClassInvalid,u["ɵnov"](n,18).ngClassPending,u["ɵnov"](n,19).validClass,u["ɵnov"](n,19).invalidClass)}))}function ui(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["The value should be greater or equal to 0"]))],null,null)}function ii(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,134,"form",[["name","form"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,e){var i=!0;return"submit"===n&&(i=!1!==u["ɵnov"](l,2).onSubmit(e)&&i),"reset"===n&&(i=!1!==u["ɵnov"](l,2).onReset()&&i),"submit"===n&&(i=!1!==u["ɵnov"](l,5).onSubmit()&&i),i}),null,null)),u["ɵdid"](1,16384,null,0,t.G,[],null,null),u["ɵdid"](2,540672,[["formDir",4]],0,t.l,[[8,null],[8,null]],{form:[0,"form"]},null),u["ɵprd"](2048,null,t.d,null,[t.l]),u["ɵdid"](4,16384,null,0,t.s,[[4,t.d]],null,null),u["ɵdid"](5,16384,null,0,Nl.d,[],{formGroup:[0,"formGroup"]},null),(l()(),u["ɵeld"](6,0,null,null,128,"div",[["class","card"]],null,null,null,null,null)),(l()(),u["ɵeld"](7,0,null,null,3,"div",[["class","card-header"]],null,null,null,null,null)),(l()(),u["ɵted"](8,null,[""," ",""])),u["ɵppd"](9,1),u["ɵppd"](10,1),(l()(),u["ɵeld"](11,0,null,null,114,"div",[["class","card-body"]],null,null,null,null,null)),(l()(),u["ɵeld"](12,0,null,null,22,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](13,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,3,{FormControlNames:1}),u["ɵqud"](603979776,4,{messagesBlock:0}),(l()(),u["ɵeld"](16,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","name"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Name"])),(l()(),u["ɵeld"](18,0,null,0,16,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](19,0,null,null,7,"input",[["autofocus",""],["class","form-control"],["formControlName","name"],["id","name"],["name","name"],["placeholder","Name..."],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==u["ɵnov"](l,21)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,21).onTouched()&&i),"compositionstart"===n&&(i=!1!==u["ɵnov"](l,21)._compositionStart()&&i),"compositionend"===n&&(i=!1!==u["ɵnov"](l,21)._compositionEnd(e.target.value)&&i),i}),null,null)),u["ɵdid"](20,4210688,null,0,wl.a,[u.ElementRef],{autofocus:[0,"autofocus"]},null),u["ɵdid"](21,16384,null,0,t.e,[u.Renderer2,u.ElementRef,[2,t.b]],null,null),u["ɵprd"](1024,null,t.p,(function(l){return[l]}),[t.e]),u["ɵdid"](23,671744,[[3,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](25,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](26,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,ou)),u["ɵdid"](28,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,au)),u["ɵdid"](30,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,su)),u["ɵdid"](32,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,ru)),u["ɵdid"](34,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵeld"](35,0,null,null,21,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](36,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,5,{FormControlNames:1}),u["ɵqud"](603979776,6,{messagesBlock:0}),(l()(),u["ɵeld"](39,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","poolType"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Pool type"])),(l()(),u["ɵeld"](41,0,null,0,15,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](42,0,null,null,12,"select",[["class","form-control custom-select"],["formControlName","poolType"],["id","poolType"],["name","poolType"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,e){var i=!0;return"change"===n&&(i=!1!==u["ɵnov"](l,43).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,43).onTouched()&&i),i}),null,null)),u["ɵdid"](43,16384,null,0,t.A,[u.Renderer2,u.ElementRef],null,null),u["ɵprd"](1024,null,t.p,(function(l){return[l]}),[t.A]),u["ɵdid"](45,671744,[[5,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](47,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](48,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵeld"](49,0,null,null,3,"option",[["ngValue",""]],null,null,null,null,null)),u["ɵdid"](50,147456,null,0,t.v,[u.ElementRef,u.Renderer2,[2,t.A]],{ngValue:[0,"ngValue"]},null),u["ɵdid"](51,147456,null,0,t.F,[u.ElementRef,u.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(l()(),u["ɵted"](-1,null,["-- Select a pool type --"])),(l()(),u["ɵand"](16777216,null,null,1,null,du)),u["ɵdid"](54,278528,null,0,Rl.NgForOf,[u.ViewContainerRef,u.TemplateRef,u.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,cu)),u["ɵdid"](56,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,Eu)),u["ɵdid"](58,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵeld"](59,0,null,null,8,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](60,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,15,{FormControlNames:1}),u["ɵqud"](603979776,16,{messagesBlock:0}),(l()(),u["ɵeld"](63,0,null,0,1,"label",[["class","cd-col-form-label"],["for","applications"]],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Applications"])),(l()(),u["ɵeld"](65,0,null,0,2,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](66,0,null,null,1,"cd-select-badges",[["id","applications"]],null,[[null,"selection"]],(function(l,n,e){var u=!0;return"selection"===n&&(u=!1!==l.component.appSelection()&&u),u}),lu.b,lu.a)),u["ɵdid"](67,49152,null,0,nu.a,[s.a],{data:[0,"data"],options:[1,"options"],messages:[2,"messages"],selectionLimit:[3,"selectionLimit"],customBadges:[4,"customBadges"],customBadgeValidators:[5,"customBadgeValidators"]},{selection:"selection"}),(l()(),u["ɵand"](16777216,null,null,1,null,$u)),u["ɵdid"](69,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,ei)),u["ɵdid"](71,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵeld"](72,0,null,null,50,"div",[],null,null,null,null,null)),(l()(),u["ɵeld"](73,0,null,null,1,"legend",[],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Quotas"])),(l()(),u["ɵeld"](75,0,null,null,22,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](76,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,33,{FormControlNames:1}),u["ɵqud"](603979776,34,{messagesBlock:0}),(l()(),u["ɵeld"](79,0,null,0,9,"label",[["class","cd-col-form-label"],["for","max_bytes"]],null,null,null,null,null)),(l()(),u["ɵeld"](80,0,null,null,1,null,null,null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Max bytes"])),(l()(),u["ɵeld"](82,0,null,null,6,"cd-helper",[],null,null,null,Vl.b,Vl.a)),u["ɵdid"](83,49152,null,0,Tl.a,[],null,null),(l()(),u["ɵeld"](84,0,null,0,1,"span",[],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Leave it blank or specify 0 to disable this quota."])),(l()(),u["ɵeld"](86,0,null,0,0,"br",[],null,null,null,null,null)),(l()(),u["ɵeld"](87,0,null,0,1,"span",[],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["A valid quota should be greater than 0."])),(l()(),u["ɵeld"](89,0,null,0,8,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](90,0,null,null,7,"input",[["cdDimlessBinary",""],["class","form-control"],["defaultUnit","GiB"],["formControlName","max_bytes"],["id","max_bytes"],["name","max_bytes"],["placeholder","e.g., 10GiB"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==u["ɵnov"](l,91)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,91).onTouched()&&i),"compositionstart"===n&&(i=!1!==u["ɵnov"](l,91)._compositionStart()&&i),"compositionend"===n&&(i=!1!==u["ɵnov"](l,91)._compositionEnd(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,95).onBlur(e.target.value)&&i),i}),null,null)),u["ɵdid"](91,16384,null,0,t.e,[u.Renderer2,u.ElementRef,[2,t.b]],null,null),u["ɵprd"](1024,null,t.p,(function(l){return[l]}),[t.e]),u["ɵdid"](93,671744,[[33,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](95,81920,null,0,Qe.a,[u.ElementRef,t.q,R.a,E.a],{defaultUnit:[0,"defaultUnit"]},null),u["ɵdid"](96,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](97,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵeld"](98,0,null,null,24,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,yl.b,yl.a)),u["ɵdid"](99,1163264,null,2,Nl.c,[u.ElementRef,Nl.g],null,null),u["ɵqud"](603979776,35,{FormControlNames:1}),u["ɵqud"](603979776,36,{messagesBlock:0}),(l()(),u["ɵeld"](102,0,null,0,9,"label",[["class","cd-col-form-label"],["for","max_objects"]],null,null,null,null,null)),(l()(),u["ɵeld"](103,0,null,null,1,null,null,null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Max objects"])),(l()(),u["ɵeld"](105,0,null,null,6,"cd-helper",[],null,null,null,Vl.b,Vl.a)),u["ɵdid"](106,49152,null,0,Tl.a,[],null,null),(l()(),u["ɵeld"](107,0,null,0,1,"span",[],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["Leave it blank or specify 0 to disable this quota."])),(l()(),u["ɵeld"](109,0,null,0,0,"br",[],null,null,null,null,null)),(l()(),u["ɵeld"](110,0,null,0,1,"span",[],null,null,null,null,null)),(l()(),u["ɵted"](-1,null,["A valid quota should be greater than 0."])),(l()(),u["ɵeld"](112,0,null,0,10,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),u["ɵeld"](113,0,null,null,7,"input",[["class","form-control"],["formControlName","max_objects"],["id","max_objects"],["min","0"],["name","max_objects"],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],(function(l,n,e){var i=!0;return"input"===n&&(i=!1!==u["ɵnov"](l,114)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,114).onTouched()&&i),"compositionstart"===n&&(i=!1!==u["ɵnov"](l,114)._compositionStart()&&i),"compositionend"===n&&(i=!1!==u["ɵnov"](l,114)._compositionEnd(e.target.value)&&i),"change"===n&&(i=!1!==u["ɵnov"](l,115).onChange(e.target.value)&&i),"input"===n&&(i=!1!==u["ɵnov"](l,115).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==u["ɵnov"](l,115).onTouched()&&i),i}),null,null)),u["ɵdid"](114,16384,null,0,t.e,[u.Renderer2,u.ElementRef,[2,t.b]],null,null),u["ɵdid"](115,16384,null,0,t.w,[u.Renderer2,u.ElementRef],null,null),u["ɵprd"](1024,null,t.p,(function(l,n){return[l,n]}),[t.e,t.w]),u["ɵdid"](117,671744,[[35,4]],0,t.j,[[3,t.d],[8,null],[8,null],[6,t.p],[2,t.E]],{name:[0,"name"]},null),u["ɵprd"](2048,null,t.q,null,[t.j]),u["ɵdid"](119,16384,null,0,t.r,[[4,t.q]],null,null),u["ɵdid"](120,16384,null,0,Nl.h,[[3,t.d],Nl.a],{formControlName:[0,"formControlName"]},null),(l()(),u["ɵand"](16777216,null,null,1,null,ui)),u["ɵdid"](122,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵeld"](123,0,null,null,2,"div",[],[[8,"hidden",0]],null,null,null,null)),(l()(),u["ɵeld"](124,0,null,null,1,"cd-rbd-configuration-form",[],null,[[null,"changes"]],(function(l,n,e){var u=!0;return"changes"===n&&(u=!1!==(l.component.currentConfigurationValues=e())&&u),u}),eu.b,eu.a)),u["ɵdid"](125,114688,null,0,uu.a,[E.a,ke.a],{form:[0,"form"],initializeData:[1,"initializeData"]},{changes:"changes"}),(l()(),u["ɵeld"](126,0,null,null,8,"div",[["class","card-footer"]],null,null,null,null,null)),(l()(),u["ɵeld"](127,0,null,null,7,"div",[["class","button-group text-right"]],null,null,null,null,null)),(l()(),u["ɵeld"](128,0,null,null,4,"cd-submit-button",[],null,[[null,"submitAction"]],(function(l,n,e){var u=!0;return"submitAction"===n&&(u=!1!==l.component.submit()&&u),u}),Sl.b,Sl.a)),u["ɵdid"](129,114688,null,0,_l.a,[u.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(l()(),u["ɵted"](130,0,[""," "," "])),u["ɵppd"](131,1),u["ɵppd"](132,1),(l()(),u["ɵeld"](133,0,null,null,1,"cd-back-button",[],null,null,null,ql.b,ql.a)),u["ɵdid"](134,49152,null,0,Dl.a,[Rl.Location,i.b],null,null)],(function(l,n){var e=n.component;l(n,2,0,e.form),l(n,5,0,e.form),l(n,13,0),l(n,20,0,""),l(n,23,0,"name"),l(n,26,0,"name"),l(n,28,0,e.form.showError("name",u["ɵnov"](n,2),"required")),l(n,30,0,e.form.showError("name",u["ɵnov"](n,2),"uniqueName")),l(n,32,0,e.form.showError("name",u["ɵnov"](n,2),"rbdPool")),l(n,34,0,e.form.showError("name",u["ɵnov"](n,2),"pattern")),l(n,36,0),l(n,45,0,"poolType"),l(n,48,0,"poolType"),l(n,50,0,""),l(n,51,0,""),l(n,54,0,e.data.poolTypes),l(n,56,0,e.form.showError("poolType",u["ɵnov"](n,2),"required")),l(n,58,0,e.isReplicated||e.isErasure),l(n,60,0),l(n,67,0,e.data.applications.selected,e.data.applications.available,e.data.applications.messages,4,!0,e.data.applications.validators),l(n,69,0,e.isErasure||e.isReplicated),l(n,71,0,e.info.is_all_bluestore),l(n,76,0),l(n,93,0,"max_bytes"),l(n,95,0,"GiB"),l(n,97,0,"max_bytes"),l(n,99,0),l(n,117,0,"max_objects"),l(n,120,0,"max_objects"),l(n,122,0,e.form.showError("max_objects",u["ɵnov"](n,2),"min")),l(n,125,0,e.form,e.initializeConfigData),l(n,129,0,u["ɵnov"](n,2))}),(function(l,n){var e=n.component;l(n,0,0,u["ɵnov"](n,4).ngClassUntouched,u["ɵnov"](n,4).ngClassTouched,u["ɵnov"](n,4).ngClassPristine,u["ɵnov"](n,4).ngClassDirty,u["ɵnov"](n,4).ngClassValid,u["ɵnov"](n,4).ngClassInvalid,u["ɵnov"](n,4).ngClassPending);var i=u["ɵunv"](n,8,0,l(n,9,0,u["ɵnov"](n.parent,0),e.action)),t=u["ɵunv"](n,8,1,l(n,10,0,u["ɵnov"](n.parent,1),e.resource));l(n,8,0,i,t),l(n,12,0,u["ɵnov"](n,13).hasErrors,u["ɵnov"](n,13).hasSuccess),l(n,19,0,u["ɵnov"](n,25).ngClassUntouched,u["ɵnov"](n,25).ngClassTouched,u["ɵnov"](n,25).ngClassPristine,u["ɵnov"](n,25).ngClassDirty,u["ɵnov"](n,25).ngClassValid,u["ɵnov"](n,25).ngClassInvalid,u["ɵnov"](n,25).ngClassPending,u["ɵnov"](n,26).validClass,u["ɵnov"](n,26).invalidClass),l(n,35,0,u["ɵnov"](n,36).hasErrors,u["ɵnov"](n,36).hasSuccess),l(n,42,0,u["ɵnov"](n,47).ngClassUntouched,u["ɵnov"](n,47).ngClassTouched,u["ɵnov"](n,47).ngClassPristine,u["ɵnov"](n,47).ngClassDirty,u["ɵnov"](n,47).ngClassValid,u["ɵnov"](n,47).ngClassInvalid,u["ɵnov"](n,47).ngClassPending,u["ɵnov"](n,48).validClass,u["ɵnov"](n,48).invalidClass),l(n,59,0,u["ɵnov"](n,60).hasErrors,u["ɵnov"](n,60).hasSuccess),l(n,75,0,u["ɵnov"](n,76).hasErrors,u["ɵnov"](n,76).hasSuccess),l(n,90,0,u["ɵnov"](n,96).ngClassUntouched,u["ɵnov"](n,96).ngClassTouched,u["ɵnov"](n,96).ngClassPristine,u["ɵnov"](n,96).ngClassDirty,u["ɵnov"](n,96).ngClassValid,u["ɵnov"](n,96).ngClassInvalid,u["ɵnov"](n,96).ngClassPending,u["ɵnov"](n,97).validClass,u["ɵnov"](n,97).invalidClass),l(n,98,0,u["ɵnov"](n,99).hasErrors,u["ɵnov"](n,99).hasSuccess),l(n,113,0,u["ɵnov"](n,119).ngClassUntouched,u["ɵnov"](n,119).ngClassTouched,u["ɵnov"](n,119).ngClassPristine,u["ɵnov"](n,119).ngClassDirty,u["ɵnov"](n,119).ngClassValid,u["ɵnov"](n,119).ngClassInvalid,u["ɵnov"](n,119).ngClassPending,u["ɵnov"](n,120).validClass,u["ɵnov"](n,120).invalidClass),l(n,123,0,e.isErasure||-1===e.data.applications.selected.indexOf("rbd"));var o=u["ɵunv"](n,130,0,l(n,131,0,u["ɵnov"](n.parent,0),e.action)),a=u["ɵunv"](n,130,1,l(n,132,0,u["ɵnov"](n.parent,1),e.resource));l(n,130,0,o,a)}))}function ti(l){return u["ɵvid"](0,[u["ɵpid"](0,Rl.TitleCasePipe,[]),u["ɵpid"](0,Il.a,[]),u["ɵqud"](671088640,1,{crushInfoTabs:0}),u["ɵqud"](671088640,2,{crushDeletionBtn:0}),(l()(),u["ɵand"](16777216,null,null,1,null,tu)),u["ɵdid"](5,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),u["ɵeld"](6,0,null,null,2,"div",[["class","cd-col-form"]],null,null,null,null,null)),(l()(),u["ɵand"](16777216,null,null,1,null,ii)),u["ɵdid"](8,16384,null,0,Rl.NgIf,[u.ViewContainerRef,u.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var e=n.component;l(n,5,0,!(e.info&&e.ecProfiles)),l(n,8,0,e.info&&e.ecProfiles)}),null)}function oi(l){return u["ɵvid"](0,[(l()(),u["ɵeld"](0,0,null,null,1,"cd-pool-form",[],null,null,null,ti,iu)),u["ɵdid"](1,114688,null,0,q,[R.a,le.a,le.m,kl.b,m.a,I.a,E.a,kl.b,N.a,c,d,s.a,i.b],null,null)],(function(l,n){l(n,1,0)}),null)}var ai=u["ɵccf"]("cd-pool-form",q,oi,{},{},[]);e.d(n,"PoolModuleNgFactory",(function(){return si})),e.d(n,"RoutedPoolModuleNgFactory",(function(){return ri}));var si=u["ɵcmf"](M,[],(function(l){return u["ɵmod"]([u["ɵmpd"](512,u.ComponentFactoryResolver,u["ɵCodegenComponentFactoryResolver"],[[8,[J.a,H.a,W.a,Z.a,X.a,X.b,Y.a,Q.a,ll.a,nl.a,el.a,ul.a,il.a,tl.a,ol.a,al.a,sl.a,rl.a,rl.c,rl.b,dl.a,cl.a,ml.a,fl.a,gl.a,pl.a,hl.a,vl.a,Cl.a,bl.a,Kl,Nn]],[3,u.ComponentFactoryResolver],u.NgModuleRef]),u["ɵmpd"](4608,Rl.NgLocalization,Rl.NgLocaleLocalization,[u.LOCALE_ID,[2,Rl["ɵangular_packages_common_common_a"]]]),u["ɵmpd"](4608,yn.ScrollbarHelper,yn.ScrollbarHelper,[Rl.DOCUMENT]),u["ɵmpd"](4608,wn.DimensionsHelper,wn.DimensionsHelper,[]),u["ɵmpd"](4608,Vn.ColumnChangesService,Vn.ColumnChangesService,[]),u["ɵmpd"](4608,t.D,t.D,[]),u["ɵmpd"](4608,Tn.a,Tn.a,[]),u["ɵmpd"](4608,Sn.a,Sn.a,[]),u["ɵmpd"](4608,_n.a,_n.a,[s.a]),u["ɵmpd"](4608,Rl.DatePipe,Rl.DatePipe,[u.LOCALE_ID]),u["ɵmpd"](4608,qn.a,qn.a,[]),u["ɵmpd"](4608,Dn.a,Dn.a,[]),u["ɵmpd"](4608,E.a,E.a,[]),u["ɵmpd"](4608,R.a,R.a,[E.a]),u["ɵmpd"](4608,kn.a,kn.a,[E.a]),u["ɵmpd"](4608,A.a,A.a,[E.a]),u["ɵmpd"](4608,xn.a,xn.a,[]),u["ɵmpd"](4608,Pn.a,Pn.a,[]),u["ɵmpd"](4608,Fn.a,Fn.a,[]),u["ɵmpd"](4608,An.a,An.a,[]),u["ɵmpd"](4608,Bn.a,Bn.a,[Rl.DatePipe]),u["ɵmpd"](4608,On.a,On.a,[]),u["ɵmpd"](4608,zn.a,zn.a,[]),u["ɵmpd"](4608,jn.a,jn.a,[]),u["ɵmpd"](4608,Ln.a,Ln.a,[]),u["ɵmpd"](4608,Un.a,Un.a,[]),u["ɵmpd"](4608,Mn.a,Mn.a,[s.a]),u["ɵmpd"](4608,Il.a,Il.a,[]),u["ɵmpd"](4608,Gn.a,Gn.a,[]),u["ɵmpd"](4608,$n.a,$n.a,[]),u["ɵmpd"](4608,t.h,t.h,[]),u["ɵmpd"](4608,Kn.b,Kn.b,[]),u["ɵmpd"](4608,Jn.a,Jn.a,[]),u["ɵmpd"](4608,Hn.a,Hn.a,[u.RendererFactory2,u.PLATFORM_ID]),u["ɵmpd"](4608,Wn.a,Wn.a,[u.ComponentFactoryResolver,u.NgZone,u.Injector,Hn.a,u.ApplicationRef]),u["ɵmpd"](4608,Zn.c,Zn.c,[]),u["ɵmpd"](4608,Xn.a,Xn.a,[]),u["ɵmpd"](4608,kl.b,kl.b,[u.RendererFactory2,Wn.a]),u["ɵmpd"](4608,Yn.f,Yn.f,[]),u["ɵmpd"](4608,I.a,I.a,[]),u["ɵmpd"](4608,Qn.a,Qn.a,[le.m,I.a]),u["ɵmpd"](4608,ne.f,ne.f,[]),u["ɵmpd"](4608,ee.r,ee.r,[]),u["ɵmpd"](4608,ee.t,ee.t,[]),u["ɵmpd"](4608,ee.a,ee.a,[]),u["ɵmpd"](4608,ee.h,ee.h,[]),u["ɵmpd"](4608,ee.d,ee.d,[]),u["ɵmpd"](4608,ee.j,ee.j,[]),u["ɵmpd"](4608,ee.s,ee.s,[ee.t,ee.j]),u["ɵmpd"](4608,ue.a,ue.a,[]),u["ɵmpd"](1073742336,Rl.CommonModule,Rl.CommonModule,[]),u["ɵmpd"](1073742336,ie.NgxDatatableModule,ie.NgxDatatableModule,[]),u["ɵmpd"](1073742336,t.C,t.C,[]),u["ɵmpd"](1073742336,t.n,t.n,[]),u["ɵmpd"](1073742336,Yn.e,Yn.e,[]),u["ɵmpd"](1073742336,te.a,te.a,[]),u["ɵmpd"](1073742336,t.y,t.y,[]),u["ɵmpd"](1073742336,Kn.c,Kn.c,[]),u["ɵmpd"](1073742336,Jn.d,Jn.d,[]),u["ɵmpd"](1073742336,Zn.d,Zn.d,[]),u["ɵmpd"](1073742336,Xn.d,Xn.d,[]),u["ɵmpd"](1073742336,oe.b,oe.b,[]),u["ɵmpd"](1073742336,kl.e,kl.e,[]),u["ɵmpd"](1073742336,ae.a,ae.a,[]),u["ɵmpd"](1073742336,Nl.f,Nl.f,[]),u["ɵmpd"](1073742336,se.ClickOutsideModule,se.ClickOutsideModule,[]),u["ɵmpd"](1073742336,re.b,re.b,[]),u["ɵmpd"](1073742336,le.q,le.q,[[2,le.v],[2,le.m]]),u["ɵmpd"](1073742336,de.a,de.a,[]),u["ɵmpd"](1073742336,ce.a,ce.a,[]),u["ɵmpd"](1073742336,r.a,r.a,[]),u["ɵmpd"](1073742336,me.a,me.a,[]),u["ɵmpd"](1073742336,ne.d,ne.d,[]),u["ɵmpd"](1073742336,fe.a,fe.a,[]),u["ɵmpd"](1073742336,ge.a,ge.a,[]),u["ɵmpd"](1073742336,ee.g,ee.g,[]),u["ɵmpd"](1073742336,pe.b,pe.b,[]),u["ɵmpd"](1073742336,he.a,he.a,[]),u["ɵmpd"](1073742336,M,M,[]),u["ɵmpd"](256,u.LOCALE_ID,"en-US",[]),u["ɵmpd"](256,Yn.a,{autoClose:!0,insideClick:!1},[]),u["ɵmpd"](256,u.TRANSLATIONS_FORMAT,"xlf",[])])})),ri=u["ɵcmf"](K,[],(function(l){return u["ɵmod"]([u["ɵmpd"](512,u.ComponentFactoryResolver,u["ɵCodegenComponentFactoryResolver"],[[8,[J.a,H.a,W.a,Z.a,X.a,X.b,Y.a,Q.a,ll.a,nl.a,el.a,ul.a,il.a,tl.a,ol.a,al.a,sl.a,rl.a,rl.c,rl.b,dl.a,cl.a,ml.a,fl.a,gl.a,pl.a,hl.a,vl.a,Cl.a,bl.a,Kl,Nn,Ze,ai]],[3,u.ComponentFactoryResolver],u.NgModuleRef]),u["ɵmpd"](4608,Rl.NgLocalization,Rl.NgLocaleLocalization,[u.LOCALE_ID,[2,Rl["ɵangular_packages_common_common_a"]]]),u["ɵmpd"](4608,yn.ScrollbarHelper,yn.ScrollbarHelper,[Rl.DOCUMENT]),u["ɵmpd"](4608,wn.DimensionsHelper,wn.DimensionsHelper,[]),u["ɵmpd"](4608,Vn.ColumnChangesService,Vn.ColumnChangesService,[]),u["ɵmpd"](4608,t.D,t.D,[]),u["ɵmpd"](4608,Tn.a,Tn.a,[]),u["ɵmpd"](4608,Sn.a,Sn.a,[]),u["ɵmpd"](4608,_n.a,_n.a,[s.a]),u["ɵmpd"](4608,Rl.DatePipe,Rl.DatePipe,[u.LOCALE_ID]),u["ɵmpd"](4608,qn.a,qn.a,[]),u["ɵmpd"](4608,Dn.a,Dn.a,[]),u["ɵmpd"](4608,E.a,E.a,[]),u["ɵmpd"](4608,R.a,R.a,[E.a]),u["ɵmpd"](4608,kn.a,kn.a,[E.a]),u["ɵmpd"](4608,A.a,A.a,[E.a]),u["ɵmpd"](4608,xn.a,xn.a,[]),u["ɵmpd"](4608,Pn.a,Pn.a,[]),u["ɵmpd"](4608,Fn.a,Fn.a,[]),u["ɵmpd"](4608,An.a,An.a,[]),u["ɵmpd"](4608,Bn.a,Bn.a,[Rl.DatePipe]),u["ɵmpd"](4608,On.a,On.a,[]),u["ɵmpd"](4608,zn.a,zn.a,[]),u["ɵmpd"](4608,jn.a,jn.a,[]),u["ɵmpd"](4608,Ln.a,Ln.a,[]),u["ɵmpd"](4608,Un.a,Un.a,[]),u["ɵmpd"](4608,Mn.a,Mn.a,[s.a]),u["ɵmpd"](4608,Il.a,Il.a,[]),u["ɵmpd"](4608,Gn.a,Gn.a,[]),u["ɵmpd"](4608,$n.a,$n.a,[]),u["ɵmpd"](4608,t.h,t.h,[]),u["ɵmpd"](4608,Kn.b,Kn.b,[]),u["ɵmpd"](4608,Jn.a,Jn.a,[]),u["ɵmpd"](4608,Hn.a,Hn.a,[u.RendererFactory2,u.PLATFORM_ID]),u["ɵmpd"](4608,Wn.a,Wn.a,[u.ComponentFactoryResolver,u.NgZone,u.Injector,Hn.a,u.ApplicationRef]),u["ɵmpd"](4608,Zn.c,Zn.c,[]),u["ɵmpd"](4608,Xn.a,Xn.a,[]),u["ɵmpd"](4608,kl.b,kl.b,[u.RendererFactory2,Wn.a]),u["ɵmpd"](4608,Yn.f,Yn.f,[]),u["ɵmpd"](4608,I.a,I.a,[]),u["ɵmpd"](4608,Qn.a,Qn.a,[le.m,I.a]),u["ɵmpd"](4608,ne.f,ne.f,[]),u["ɵmpd"](4608,ee.r,ee.r,[]),u["ɵmpd"](4608,ee.t,ee.t,[]),u["ɵmpd"](4608,ee.a,ee.a,[]),u["ɵmpd"](4608,ee.h,ee.h,[]),u["ɵmpd"](4608,ee.d,ee.d,[]),u["ɵmpd"](4608,ee.j,ee.j,[]),u["ɵmpd"](4608,ee.s,ee.s,[ee.t,ee.j]),u["ɵmpd"](4608,ue.a,ue.a,[]),u["ɵmpd"](1073742336,Rl.CommonModule,Rl.CommonModule,[]),u["ɵmpd"](1073742336,ie.NgxDatatableModule,ie.NgxDatatableModule,[]),u["ɵmpd"](1073742336,t.C,t.C,[]),u["ɵmpd"](1073742336,t.n,t.n,[]),u["ɵmpd"](1073742336,Yn.e,Yn.e,[]),u["ɵmpd"](1073742336,te.a,te.a,[]),u["ɵmpd"](1073742336,t.y,t.y,[]),u["ɵmpd"](1073742336,Kn.c,Kn.c,[]),u["ɵmpd"](1073742336,Jn.d,Jn.d,[]),u["ɵmpd"](1073742336,Zn.d,Zn.d,[]),u["ɵmpd"](1073742336,Xn.d,Xn.d,[]),u["ɵmpd"](1073742336,oe.b,oe.b,[]),u["ɵmpd"](1073742336,kl.e,kl.e,[]),u["ɵmpd"](1073742336,ae.a,ae.a,[]),u["ɵmpd"](1073742336,Nl.f,Nl.f,[]),u["ɵmpd"](1073742336,se.ClickOutsideModule,se.ClickOutsideModule,[]),u["ɵmpd"](1073742336,re.b,re.b,[]),u["ɵmpd"](1073742336,le.q,le.q,[[2,le.v],[2,le.m]]),u["ɵmpd"](1073742336,de.a,de.a,[]),u["ɵmpd"](1073742336,ce.a,ce.a,[]),u["ɵmpd"](1073742336,r.a,r.a,[]),u["ɵmpd"](1073742336,me.a,me.a,[]),u["ɵmpd"](1073742336,ne.d,ne.d,[]),u["ɵmpd"](1073742336,fe.a,fe.a,[]),u["ɵmpd"](1073742336,ge.a,ge.a,[]),u["ɵmpd"](1073742336,ee.g,ee.g,[]),u["ɵmpd"](1073742336,pe.b,pe.b,[]),u["ɵmpd"](1073742336,he.a,he.a,[]),u["ɵmpd"](1073742336,M,M,[]),u["ɵmpd"](1073742336,K,K,[]),u["ɵmpd"](256,u.LOCALE_ID,"en-US",[]),u["ɵmpd"](256,Yn.a,{autoClose:!0,insideClick:!1},[]),u["ɵmpd"](1024,le.k,(function(){return[[{path:"",component:U},{path:"create",component:q,data:G},{path:"edit/:name",component:q,data:$}]]}),[]),u["ɵmpd"](256,u.TRANSLATIONS_FORMAT,"xlf",[])])}))}}]);
\ No newline at end of file
diff --git a/ceph/src/pybind/mgr/dashboard/frontend/dist/en-US/9.827ca6d4c4df11fe3a62.js b/ceph/src/pybind/mgr/dashboard/frontend/dist/en-US/9.827ca6d4c4df11fe3a62.js
deleted file mode 100644 (file)
index 1a4e380..0000000
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{DY6s:function(l,n,u){"use strict";u.r(n);var e=u("8Y7J"),o=u("LceX"),a=u("ES0t"),d=u("MdoF"),t=u("Xg1U"),s=u("z5nN"),i=u("iutN"),r=u("pMnS"),c=u("EEJc"),p=u("PEr+"),m=u("a40w"),v=u("hfeG"),f=u("atuK"),g=u("SVse"),h=u("s7LF"),C=u("yT6U"),b=u("4DD9"),R=u("iExv"),w=u("GiVz"),I=u("85J/"),E=u("+0ag"),N=u("aXbf"),x=u("Fgil"),T=u("IzCI"),y=u("o4+5"),k=u("Dwqy"),D=u("uYzU"),S=u("FFMq"),q=u("E2fk"),F=u("a0VL"),P=u("nSDx"),_=u("SB+Q"),M=u("TYzs"),U=u("BQkM"),V=u("dEH0"),L=u("G1/K"),A=u("8xTl"),O=u("TJUb"),j=u("CNMR"),B=u("KOzp"),H=u("2uy1"),z=u("z/SZ"),G=u("38Bd"),Z=u("978R"),K=u("LqlI"),X=u("FO+L"),J=u("nhM1"),Y=u("BARL"),Q=u("FE24"),W=u("aexS"),$=u("Avrn"),ll=u("iInd"),nl=u("2ZVE"),ul=u("ienR"),el=u("aHM3"),ol=u("9Xeq"),al=u("hrfs"),dl=u("yGOH"),tl=u("+gVj"),sl=u("bxSN"),il=u("WF9J"),rl=u("V/fk"),cl=u("F8xH"),pl=u("ChqD"),ml=u("pL04"),vl=u("PCNd"),fl=u("pKUh");class gl{constructor(l){this.router=l}ngOnInit(){this.url=this.router.url}navigateTo(l){this.router.navigate([l])}}var hl=e["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Cl(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,5,"tabset",[],[[2,"tab-container",null]],null,null,fl.b,fl.a)),e["ɵdid"](1,180224,null,0,nl.e,[nl.f,e.Renderer2,e.ElementRef],null,null),(l()(),e["ɵeld"](2,0,null,0,1,"tab",[["heading","Users"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],[[null,"selectTab"]],(function(l,n,u){var e=!0;return"selectTab"===n&&(e=!1!==l.component.navigateTo("/user-management/users")&&e),e}),null,null)),e["ɵdid"](3,212992,null,0,nl.b,[nl.e,e.ElementRef,e.Renderer2],{heading:[0,"heading"],active:[1,"active"]},{selectTab:"selectTab"}),(l()(),e["ɵeld"](4,0,null,0,1,"tab",[["heading","Roles"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],[[null,"selectTab"]],(function(l,n,u){var e=!0;return"selectTab"===n&&(e=!1!==l.component.navigateTo("/user-management/roles")&&e),e}),null,null)),e["ɵdid"](5,212992,null,0,nl.b,[nl.e,e.ElementRef,e.Renderer2],{heading:[0,"heading"],active:[1,"active"]},{selectTab:"selectTab"})],(function(l,n){var u=n.component;l(n,3,0,"Users","/user-management/users"===u.url),l(n,5,0,"Roles","/user-management/roles"===u.url)}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).clazz),l(n,2,0,e["ɵnov"](n,3).id,e["ɵnov"](n,3).active,e["ɵnov"](n,3).addClass),l(n,4,0,e["ɵnov"](n,5).id,e["ɵnov"](n,5).active,e["ɵnov"](n,5).addClass)}))}var bl=u("25BL"),Rl=u("uIqm"),wl=u("NUGo"),Il=u("S7zO"),El=u("EgGo"),Nl=u("ZEkX"),xl=u("Mxhz"),Tl=u("9nlD"),yl=u("sne2"),kl=e["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Dl(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(l()(),e["ɵted"](1,null,[" ",""," "]))],null,(function(l,n){l(n,1,0,n.context.$implicit,n.context.last?"":", ")}))}function Sl(l){return e["ɵvid"](0,[(l()(),e["ɵand"](16777216,null,null,1,null,Dl)),e["ɵdid"](1,278528,null,0,g.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),e["ɵand"](0,null,null,0))],(function(l,n){l(n,1,0,n.context.value)}),null)}function ql(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"span",[],null,null,null,null,null)),(l()(),e["ɵted"](1,null,["",""])),e["ɵppd"](2,1)],null,(function(l,n){var u=e["ɵunv"](n,1,0,l(n,2,0,e["ɵnov"](n.parent,0),n.context.value));l(n,1,0,u)}))}function Fl(l){return e["ɵvid"](0,[e["ɵpid"](0,R.a,[w.a]),e["ɵqud"](402653184,1,{userRolesTpl:0}),e["ɵqud"](402653184,2,{userEnabledTpl:0}),(l()(),e["ɵeld"](3,0,null,null,1,"cd-user-tabs",[],null,null,null,Cl,hl)),e["ɵdid"](4,114688,null,0,gl,[ll.m],null,null),(l()(),e["ɵeld"](5,0,null,null,3,"cd-table",[["columnMode","flex"],["identifier","username"],["selectionType","single"]],null,[[null,"fetchData"],[null,"updateSelection"]],(function(l,n,u){var e=!0,o=l.component;return"fetchData"===n&&(e=!1!==o.getUsers()&&e),"updateSelection"===n&&(e=!1!==o.updateSelection(u)&&e),e}),bl.b,bl.a)),e["ɵdid"](6,2867200,null,0,Rl.a,[e.NgZone,e.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],identifier:[3,"identifier"],selectionType:[4,"selectionType"]},{fetchData:"fetchData",updateSelection:"updateSelection"}),(l()(),e["ɵeld"](7,0,null,1,1,"cd-table-actions",[["class","table-actions"]],null,null,null,wl.b,wl.a)),e["ɵdid"](8,114688,null,0,Il.a,[],{permission:[0,"permission"],selection:[1,"selection"],tableActions:[2,"tableActions"]},null),(l()(),e["ɵand"](0,[[1,2],["userRolesTpl",2]],null,0,null,Sl)),(l()(),e["ɵand"](0,[[2,2],["userEnabledTpl",2]],null,0,null,ql))],(function(l,n){var u=n.component;l(n,4,0),l(n,6,0,u.users,u.columns,"flex","username","single"),l(n,8,0,u.permission,u.selection,u.tableActions)}),null)}function Pl(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"cd-user-list",[],null,null,null,Fl,kl)),e["ɵprd"](256,null,El.a,Nl.b,[]),e["ɵdid"](2,114688,null,0,Nl.a,[xl.a,P.a,K.b,Tl.a,W.a,w.a,El.a,F.a,yl.b],null,null)],(function(l,n){l(n,2,0)}),null)}var _l=e["ɵccf"]("cd-user-list",Nl.a,Pl,{},{},[]),Ml=u("QC43"),Ul=u("XFyV"),Vl=u("4HWh"),Ll=u("p4Cf"),Al=u("mXUL"),Ol=u("pYKc"),jl=u("ppaS"),Bl=u("IZUe"),Hl=u("D4zM"),zl=u("gp3X"),Gl=u("sb0X"),Zl=u("KVJa"),Kl=u("Z21x"),Xl=u("V3my"),Jl=u("DSvg"),Yl=u("SgmB"),Ql=u("1nQr"),Wl=u("2EZI"),$l=u("20UP"),ln=e["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function nn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"cd-loading-panel",[],null,null,null,Ml.b,Ml.a)),e["ɵdid"](1,49152,null,0,Ul.a,[],null,null),(l()(),e["ɵted"](-1,0,["Loading..."]))],null,null)}function un(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function en(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"cd-helper",[["class","text-pre"]],null,null,null,Vl.b,Vl.a)),e["ɵdid"](1,49152,null,0,Ll.a,[],{class:[0,"class"],html:[1,"html"]},null)],(function(l,n){l(n,1,0,"text-pre",e["ɵinlineInterpolate"](1,"",n.component.passwordPolicyHelpText,""))}),null)}function on(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function an(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](1,null,[" "," "]))],null,(function(l,n){l(n,1,0,n.component.passwordValuation)}))}function dn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function tn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Password confirmation doesn't match the password."]))],null,null)}function sn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,12,"cd-helper",[["class","text-pre"]],null,null,null,Vl.b,Vl.a)),e["ɵdid"](1,49152,null,0,Ll.a,[],{class:[0,"class"]},null),(l()(),e["ɵeld"](2,0,null,0,4,"p",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,[" The Dashboard setting defining the expiration interval of passwords is currently set to "])),(l()(),e["ɵeld"](4,0,null,null,1,"strong",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["0"])),(l()(),e["ɵted"](-1,null,[". This means if a date is set, the user password will only expire once. "])),(l()(),e["ɵeld"](7,0,null,0,5,"p",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,[" Consider configuring the Dashboard setting "])),(l()(),e["ɵeld"](9,0,null,null,2,"a",[["class","alert-link"],["routerLink","/mgr-modules/edit/dashboard"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(l,n,u){var o=!0;return"click"===n&&(o=!1!==e["ɵnov"](l,10).onClick(u.button,u.ctrlKey,u.metaKey,u.shiftKey)&&o),o}),null,null)),e["ɵdid"](10,671744,null,0,ll.p,[ll.m,ll.a,g.LocationStrategy],{routerLink:[0,"routerLink"]},null),(l()(),e["ɵted"](-1,null,["USER_PWD_EXPIRATION_SPAN"])),(l()(),e["ɵted"](-1,null,[" in order to let passwords expire periodically. "]))],(function(l,n){l(n,1,0,"text-pre"),l(n,10,0,"/mgr-modules/edit/dashboard")}),(function(l,n){l(n,9,0,e["ɵnov"](n,10).target,e["ɵnov"](n,10).href)}))}function rn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function cn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,28,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Al.b,Al.a)),e["ɵdid"](1,1163264,null,2,tl.c,[e.ElementRef,tl.g],null,null),e["ɵqud"](603979776,8,{FormControlNames:1}),e["ɵqud"](603979776,9,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,7,"label",[["class","cd-col-form-label"],["for","pwdExpirationDate"]],null,null,null,null,null)),e["ɵprd"](512,null,g["ɵNgClassImpl"],g["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](6,278528,null,0,g.NgClass,[g["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),e["ɵpod"](7,{required:0}),(l()(),e["ɵeld"](8,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Password expiration date"])),(l()(),e["ɵand"](16777216,null,null,1,null,sn)),e["ɵdid"](11,16384,null,0,g.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](12,0,null,0,16,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](13,0,null,null,15,"div",[["class","input-group"]],null,null,null,null,null)),(l()(),e["ɵeld"](14,16777216,null,null,9,"input",[["bsDatepicker",""],["class","form-control"],["formControlName","pwdExpirationDate"],["id","pwdExpirationDate"],["name","pwdExpirationDate"],["placeholder","Password expiration date..."],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"],[null,"keyup.esc"]],(function(l,n,u){var o=!0;return"input"===n&&(o=!1!==e["ɵnov"](l,15)._handleInput(u.target.value)&&o),"blur"===n&&(o=!1!==e["ɵnov"](l,15).onTouched()&&o),"compositionstart"===n&&(o=!1!==e["ɵnov"](l,15)._compositionStart()&&o),"compositionend"===n&&(o=!1!==e["ɵnov"](l,15)._compositionEnd(u.target.value)&&o),"change"===n&&(o=!1!==e["ɵnov"](l,17).onChange(u)&&o),"keyup.esc"===n&&(o=!1!==e["ɵnov"](l,17).hide()&&o),"blur"===n&&(o=!1!==e["ɵnov"](l,17).onBlur()&&o),o}),null,null)),e["ɵdid"](15,16384,null,0,h.e,[e.Renderer2,e.ElementRef,[2,h.b]],null,null),e["ɵdid"](16,737280,null,0,ul.c,[ul.a,e.ElementRef,e.Renderer2,e.ViewContainerRef,z.a],{bsConfig:[0,"bsConfig"],minDate:[1,"minDate"]},null),e["ɵdid"](17,16384,null,0,ul.f,[ul.c,ul.j,e.Renderer2,e.ElementRef,e.ChangeDetectorRef],null,null),e["ɵprd"](1024,null,h.o,(function(l){return[l]}),[ul.f]),e["ɵprd"](1024,null,h.p,(function(l,n){return[l,n]}),[h.e,ul.f]),e["ɵdid"](20,671744,[[8,4]],0,h.j,[[3,h.d],[6,h.o],[8,null],[6,h.p],[2,h.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,h.q,null,[h.j]),e["ɵdid"](22,16384,null,0,h.r,[[4,h.q]],null,null),e["ɵdid"](23,16384,null,0,tl.h,[[3,h.d],tl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](24,0,null,null,2,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),e["ɵeld"](25,0,null,null,1,"button",[["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(e=!1!==l.component.clearExpirationDate()&&e),e}),null,null)),(l()(),e["ɵeld"](26,0,null,null,0,"i",[],[[8,"className",0]],null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,rn)),e["ɵdid"](28,16384,null,0,g.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,1,0);var o=l(n,7,0,u.pwdExpirationSettings.pwdExpirationSpan>0);l(n,6,0,"cd-col-form-label",o),l(n,11,0,0==u.pwdExpirationSettings.pwdExpirationSpan),l(n,16,0,u.bsConfig,u.minDate),l(n,20,0,"pwdExpirationDate"),l(n,23,0,"pwdExpirationDate"),l(n,28,0,u.userForm.showError("pwdExpirationDate",e["ɵnov"](n.parent,2),"required"))}),(function(l,n){var u=n.component;l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,14,0,e["ɵnov"](n,22).ngClassUntouched,e["ɵnov"](n,22).ngClassTouched,e["ɵnov"](n,22).ngClassPristine,e["ɵnov"](n,22).ngClassDirty,e["ɵnov"](n,22).ngClassValid,e["ɵnov"](n,22).ngClassInvalid,e["ɵnov"](n,22).ngClassPending,e["ɵnov"](n,23).validClass,e["ɵnov"](n,23).invalidClass),l(n,26,0,e["ɵinlineInterpolate"](1,"icon-prepend ",u.icons.destroy,""))}))}function pn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Invalid email."]))],null,null)}function mn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"span",[["class","no-border full-height"]],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,"cd-select-badges",[],null,null,null,Ol.b,Ol.a)),e["ɵdid"](2,49152,null,0,jl.a,[w.a],{data:[0,"data"],options:[1,"options"],messages:[2,"messages"]},null)],(function(l,n){var u=n.component;l(n,2,0,u.userForm.controls.roles.value,u.allRoles,u.messages)}),null)}function vn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,14,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Al.b,Al.a)),e["ɵdid"](1,1163264,null,2,tl.c,[e.ElementRef,tl.g],null,null),e["ɵqud"](603979776,16,{FormControlNames:1}),e["ɵqud"](603979776,17,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,10,"div",[["class","cd-col-form-offset"]],null,null,null,null,null)),(l()(),e["ɵeld"](5,0,null,null,9,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(l()(),e["ɵeld"](6,0,null,null,6,"input",[["class","custom-control-input"],["formControlName","enabled"],["id","enabled"],["name","enabled"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var o=!0;return"change"===n&&(o=!1!==e["ɵnov"](l,7).onChange(u.target.checked)&&o),"blur"===n&&(o=!1!==e["ɵnov"](l,7).onTouched()&&o),o}),null,null)),e["ɵdid"](7,16384,null,0,h.c,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,h.p,(function(l){return[l]}),[h.c]),e["ɵdid"](9,671744,[[16,4]],0,h.j,[[3,h.d],[8,null],[8,null],[6,h.p],[2,h.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,h.q,null,[h.j]),e["ɵdid"](11,16384,null,0,h.r,[[4,h.q]],null,null),e["ɵdid"](12,16384,null,0,tl.h,[[3,h.d],tl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](13,0,null,null,1,"label",[["class","custom-control-label"],["for","enabled"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Enabled"]))],(function(l,n){l(n,1,0),l(n,9,0,"enabled"),l(n,12,0,"enabled")}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,6,0,e["ɵnov"](n,11).ngClassUntouched,e["ɵnov"](n,11).ngClassTouched,e["ɵnov"](n,11).ngClassPristine,e["ɵnov"](n,11).ngClassDirty,e["ɵnov"](n,11).ngClassValid,e["ɵnov"](n,11).ngClassInvalid,e["ɵnov"](n,11).ngClassPending,e["ɵnov"](n,12).validClass,e["ɵnov"](n,12).invalidClass)}))}function fn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,14,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Al.b,Al.a)),e["ɵdid"](1,1163264,null,2,tl.c,[e.ElementRef,tl.g],null,null),e["ɵqud"](603979776,18,{FormControlNames:1}),e["ɵqud"](603979776,19,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,10,"div",[["class","cd-col-form-offset"]],null,null,null,null,null)),(l()(),e["ɵeld"](5,0,null,null,9,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(l()(),e["ɵeld"](6,0,null,null,6,"input",[["class","custom-control-input"],["formControlName","pwdUpdateRequired"],["id","pwdUpdateRequired"],["name","pwdUpdateRequired"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var o=!0;return"change"===n&&(o=!1!==e["ɵnov"](l,7).onChange(u.target.checked)&&o),"blur"===n&&(o=!1!==e["ɵnov"](l,7).onTouched()&&o),o}),null,null)),e["ɵdid"](7,16384,null,0,h.c,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,h.p,(function(l){return[l]}),[h.c]),e["ɵdid"](9,671744,[[18,4]],0,h.j,[[3,h.d],[8,null],[8,null],[6,h.p],[2,h.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,h.q,null,[h.j]),e["ɵdid"](11,16384,null,0,h.r,[[4,h.q]],null,null),e["ɵdid"](12,16384,null,0,tl.h,[[3,h.d],tl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](13,0,null,null,1,"label",[["class","custom-control-label"],["for","pwdUpdateRequired"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["User must change password at next logon"]))],(function(l,n){l(n,1,0),l(n,9,0,"pwdUpdateRequired"),l(n,12,0,"pwdUpdateRequired")}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,6,0,e["ɵnov"](n,11).ngClassUntouched,e["ɵnov"](n,11).ngClassTouched,e["ɵnov"](n,11).ngClassPristine,e["ɵnov"](n,11).ngClassDirty,e["ɵnov"](n,11).ngClassValid,e["ɵnov"](n,11).ngClassInvalid,e["ɵnov"](n,11).ngClassPending,e["ɵnov"](n,12).validClass,e["ɵnov"](n,12).invalidClass)}))}function gn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,134,"form",[["name","userForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,u){var o=!0;return"submit"===n&&(o=!1!==e["ɵnov"](l,2).onSubmit(u)&&o),"reset"===n&&(o=!1!==e["ɵnov"](l,2).onReset()&&o),"submit"===n&&(o=!1!==e["ɵnov"](l,5).onSubmit()&&o),o}),null,null)),e["ɵdid"](1,16384,null,0,h.G,[],null,null),e["ɵdid"](2,540672,[["formDir",4]],0,h.l,[[8,null],[8,null]],{form:[0,"form"]},null),e["ɵprd"](2048,null,h.d,null,[h.l]),e["ɵdid"](4,16384,null,0,h.s,[[4,h.d]],null,null),e["ɵdid"](5,16384,null,0,tl.d,[],{formGroup:[0,"formGroup"]},null),(l()(),e["ɵeld"](6,0,null,null,128,"div",[["class","card"]],null,null,null,null,null)),(l()(),e["ɵeld"](7,0,null,null,3,"div",[["class","card-header"]],null,null,null,null,null)),(l()(),e["ɵted"](8,null,[""," ",""])),e["ɵppd"](9,1),e["ɵppd"](10,1),(l()(),e["ɵeld"](11,0,null,null,114,"div",[["class","card-body"]],null,null,null,null,null)),(l()(),e["ɵeld"](12,0,null,null,19,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Al.b,Al.a)),e["ɵdid"](13,1163264,null,2,tl.c,[e.ElementRef,tl.g],null,null),e["ɵqud"](603979776,2,{FormControlNames:1}),e["ɵqud"](603979776,3,{messagesBlock:0}),(l()(),e["ɵeld"](16,0,null,0,4,"label",[["class","cd-col-form-label"],["for","username"]],null,null,null,null,null)),e["ɵprd"](512,null,g["ɵNgClassImpl"],g["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](18,278528,null,0,g.NgClass,[g["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),e["ɵpod"](19,{required:0}),(l()(),e["ɵted"](-1,null,["Username"])),(l()(),e["ɵeld"](21,0,null,0,10,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](22,0,null,null,7,"input",[["autofocus",""],["class","form-control"],["formControlName","username"],["id","username"],["name","username"],["placeholder","Username..."],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var o=!0;return"input"===n&&(o=!1!==e["ɵnov"](l,23)._handleInput(u.target.value)&&o),"blur"===n&&(o=!1!==e["ɵnov"](l,23).onTouched()&&o),"compositionstart"===n&&(o=!1!==e["ɵnov"](l,23)._compositionStart()&&o),"compositionend"===n&&(o=!1!==e["ɵnov"](l,23)._compositionEnd(u.target.value)&&o),o}),null,null)),e["ɵdid"](23,16384,null,0,h.e,[e.Renderer2,e.ElementRef,[2,h.b]],null,null),e["ɵprd"](1024,null,h.p,(function(l){return[l]}),[h.e]),e["ɵdid"](25,671744,[[2,4]],0,h.j,[[3,h.d],[8,null],[8,null],[6,h.p],[2,h.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,h.q,null,[h.j]),e["ɵdid"](27,16384,null,0,h.r,[[4,h.q]],null,null),e["ɵdid"](28,4210688,null,0,Bl.a,[e.ElementRef],{autofocus:[0,"autofocus"]},null),e["ɵdid"](29,16384,null,0,tl.h,[[3,h.d],tl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,un)),e["ɵdid"](31,16384,null,0,g.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](32,0,null,null,26,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Al.b,Al.a)),e["ɵdid"](33,1163264,null,2,tl.c,[e.ElementRef,tl.g],null,null),e["ɵqud"](603979776,4,{FormControlNames:1}),e["ɵqud"](603979776,5,{messagesBlock:0}),(l()(),e["ɵeld"](36,0,null,0,4,"label",[["class","cd-col-form-label"],["for","password"]],null,null,null,null,null)),(l()(),e["ɵeld"](37,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Password"])),(l()(),e["ɵand"](16777216,null,null,1,null,en)),e["ɵdid"](40,16384,null,0,g.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](41,0,null,0,17,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](42,0,null,null,10,"div",[["class","input-group"]],null,null,null,null,null)),(l()(),e["ɵeld"](43,0,null,null,6,"input",[["autocomplete","new-password"],["class","form-control"],["formControlName","password"],["id","password"],["name","password"],["placeholder","Password..."],["type","password"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var o=!0;return"input"===n&&(o=!1!==e["ɵnov"](l,44)._handleInput(u.target.value)&&o),"blur"===n&&(o=!1!==e["ɵnov"](l,44).onTouched()&&o),"compositionstart"===n&&(o=!1!==e["ɵnov"](l,44)._compositionStart()&&o),"compositionend"===n&&(o=!1!==e["ɵnov"](l,44)._compositionEnd(u.target.value)&&o),o}),null,null)),e["ɵdid"](44,16384,null,0,h.e,[e.Renderer2,e.ElementRef,[2,h.b]],null,null),e["ɵprd"](1024,null,h.p,(function(l){return[l]}),[h.e]),e["ɵdid"](46,671744,[[4,4]],0,h.j,[[3,h.d],[8,null],[8,null],[6,h.p],[2,h.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,h.q,null,[h.j]),e["ɵdid"](48,16384,null,0,h.r,[[4,h.q]],null,null),e["ɵdid"](49,16384,null,0,tl.h,[[3,h.d],tl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](50,0,null,null,2,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),e["ɵeld"](51,0,null,null,1,"button",[["cdPasswordButton","password"],["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var o=!0;return"click"===n&&(o=!1!==e["ɵnov"](l,52).onClick()&&o),o}),null,null)),e["ɵdid"](52,81920,null,0,Hl.a,[e.ElementRef,e.Renderer2],{cdPasswordButton:[0,"cdPasswordButton"]},null),(l()(),e["ɵeld"](53,0,null,null,1,"div",[["class","password-strength-level"]],null,null,null,null,null)),(l()(),e["ɵeld"](54,0,null,null,0,"div",[["data-toggle","tooltip"]],[[8,"className",0],[8,"title",0]],null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,on)),e["ɵdid"](56,16384,null,0,g.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,an)),e["ɵdid"](58,16384,null,0,g.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](59,0,null,null,21,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Al.b,Al.a)),e["ɵdid"](60,1163264,null,2,tl.c,[e.ElementRef,tl.g],null,null),e["ɵqud"](603979776,6,{FormControlNames:1}),e["ɵqud"](603979776,7,{messagesBlock:0}),(l()(),e["ɵeld"](63,0,null,0,1,"label",[["class","cd-col-form-label"],["for","confirmpassword"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Confirm password"])),(l()(),e["ɵeld"](65,0,null,0,15,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](66,0,null,null,10,"div",[["class","input-group"]],null,null,null,null,null)),(l()(),e["ɵeld"](67,0,null,null,6,"input",[["class","form-control"],["formControlName","confirmpassword"],["id","confirmpassword"],["name","confirmpassword"],["placeholder","Confirm password..."],["type","password"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var o=!0;return"input"===n&&(o=!1!==e["ɵnov"](l,68)._handleInput(u.target.value)&&o),"blur"===n&&(o=!1!==e["ɵnov"](l,68).onTouched()&&o),"compositionstart"===n&&(o=!1!==e["ɵnov"](l,68)._compositionStart()&&o),"compositionend"===n&&(o=!1!==e["ɵnov"](l,68)._compositionEnd(u.target.value)&&o),o}),null,null)),e["ɵdid"](68,16384,null,0,h.e,[e.Renderer2,e.ElementRef,[2,h.b]],null,null),e["ɵprd"](1024,null,h.p,(function(l){return[l]}),[h.e]),e["ɵdid"](70,671744,[[6,4]],0,h.j,[[3,h.d],[8,null],[8,null],[6,h.p],[2,h.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,h.q,null,[h.j]),e["ɵdid"](72,16384,null,0,h.r,[[4,h.q]],null,null),e["ɵdid"](73,16384,null,0,tl.h,[[3,h.d],tl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](74,0,null,null,2,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),e["ɵeld"](75,0,null,null,1,"button",[["cdPasswordButton","confirmpassword"],["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var o=!0;return"click"===n&&(o=!1!==e["ɵnov"](l,76).onClick()&&o),o}),null,null)),e["ɵdid"](76,81920,null,0,Hl.a,[e.ElementRef,e.Renderer2],{cdPasswordButton:[0,"cdPasswordButton"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,dn)),e["ɵdid"](78,16384,null,0,g.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,tn)),e["ɵdid"](80,16384,null,0,g.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,cn)),e["ɵdid"](82,16384,null,0,g.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](83,0,null,null,13,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Al.b,Al.a)),e["ɵdid"](84,1163264,null,2,tl.c,[e.ElementRef,tl.g],null,null),e["ɵqud"](603979776,10,{FormControlNames:1}),e["ɵqud"](603979776,11,{messagesBlock:0}),(l()(),e["ɵeld"](87,0,null,0,1,"label",[["class","cd-col-form-label"],["for","name"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Full name"])),(l()(),e["ɵeld"](89,0,null,0,7,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](90,0,null,null,6,"input",[["class","form-control"],["formControlName","name"],["id","name"],["name","name"],["placeholder","Full name..."],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var o=!0;return"input"===n&&(o=!1!==e["ɵnov"](l,91)._handleInput(u.target.value)&&o),"blur"===n&&(o=!1!==e["ɵnov"](l,91).onTouched()&&o),"compositionstart"===n&&(o=!1!==e["ɵnov"](l,91)._compositionStart()&&o),"compositionend"===n&&(o=!1!==e["ɵnov"](l,91)._compositionEnd(u.target.value)&&o),o}),null,null)),e["ɵdid"](91,16384,null,0,h.e,[e.Renderer2,e.ElementRef,[2,h.b]],null,null),e["ɵprd"](1024,null,h.p,(function(l){return[l]}),[h.e]),e["ɵdid"](93,671744,[[10,4]],0,h.j,[[3,h.d],[8,null],[8,null],[6,h.p],[2,h.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,h.q,null,[h.j]),e["ɵdid"](95,16384,null,0,h.r,[[4,h.q]],null,null),e["ɵdid"](96,16384,null,0,tl.h,[[3,h.d],tl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](97,0,null,null,15,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Al.b,Al.a)),e["ɵdid"](98,1163264,null,2,tl.c,[e.ElementRef,tl.g],null,null),e["ɵqud"](603979776,12,{FormControlNames:1}),e["ɵqud"](603979776,13,{messagesBlock:0}),(l()(),e["ɵeld"](101,0,null,0,1,"label",[["class","cd-col-form-label"],["for","email"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Email"])),(l()(),e["ɵeld"](103,0,null,0,9,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](104,0,null,null,6,"input",[["class","form-control"],["formControlName","email"],["id","email"],["name","email"],["placeholder","Email..."],["type","email"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var o=!0;return"input"===n&&(o=!1!==e["ɵnov"](l,105)._handleInput(u.target.value)&&o),"blur"===n&&(o=!1!==e["ɵnov"](l,105).onTouched()&&o),"compositionstart"===n&&(o=!1!==e["ɵnov"](l,105)._compositionStart()&&o),"compositionend"===n&&(o=!1!==e["ɵnov"](l,105)._compositionEnd(u.target.value)&&o),o}),null,null)),e["ɵdid"](105,16384,null,0,h.e,[e.Renderer2,e.ElementRef,[2,h.b]],null,null),e["ɵprd"](1024,null,h.p,(function(l){return[l]}),[h.e]),e["ɵdid"](107,671744,[[12,4]],0,h.j,[[3,h.d],[8,null],[8,null],[6,h.p],[2,h.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,h.q,null,[h.j]),e["ɵdid"](109,16384,null,0,h.r,[[4,h.q]],null,null),e["ɵdid"](110,16384,null,0,tl.h,[[3,h.d],tl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,pn)),e["ɵdid"](112,16384,null,0,g.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](113,0,null,null,8,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Al.b,Al.a)),e["ɵdid"](114,1163264,null,2,tl.c,[e.ElementRef,tl.g],null,null),e["ɵqud"](603979776,14,{FormControlNames:1}),e["ɵqud"](603979776,15,{messagesBlock:0}),(l()(),e["ɵeld"](117,0,null,0,1,"label",[["class","cd-col-form-label"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Roles"])),(l()(),e["ɵeld"](119,0,null,0,2,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,mn)),e["ɵdid"](121,16384,null,0,g.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,vn)),e["ɵdid"](123,16384,null,0,g.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,fn)),e["ɵdid"](125,16384,null,0,g.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](126,0,null,null,8,"div",[["class","card-footer"]],null,null,null,null,null)),(l()(),e["ɵeld"](127,0,null,null,7,"div",[["class","button-group text-right"]],null,null,null,null,null)),(l()(),e["ɵeld"](128,0,null,null,4,"cd-submit-button",[],null,[[null,"submitAction"]],(function(l,n,u){var e=!0;return"submitAction"===n&&(e=!1!==l.component.submit()&&e),e}),zl.b,zl.a)),e["ɵdid"](129,114688,null,0,Gl.a,[e.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(l()(),e["ɵted"](130,0,[""," ",""])),e["ɵppd"](131,1),e["ɵppd"](132,1),(l()(),e["ɵeld"](133,0,null,null,1,"cd-back-button",[],null,null,null,Zl.b,Zl.a)),e["ɵdid"](134,49152,null,0,Kl.a,[g.Location,yl.b],null,null)],(function(l,n){var u=n.component;l(n,2,0,u.userForm),l(n,5,0,u.userForm),l(n,13,0);var o=l(n,19,0,u.mode!==u.userFormMode.editing);l(n,18,0,"cd-col-form-label",o),l(n,25,0,"username"),l(n,28,0,""),l(n,29,0,"username"),l(n,31,0,u.userForm.showError("username",e["ɵnov"](n,2),"required")),l(n,33,0),l(n,40,0,u.passwordPolicyHelpText.length>0),l(n,46,0,"password"),l(n,49,0,"password"),l(n,52,0,"password"),l(n,56,0,u.userForm.showError("password",e["ɵnov"](n,2),"required")),l(n,58,0,u.userForm.showError("password",e["ɵnov"](n,2),"passwordPolicy")),l(n,60,0),l(n,70,0,"confirmpassword"),l(n,73,0,"confirmpassword"),l(n,76,0,"confirmpassword"),l(n,78,0,u.userForm.showError("confirmpassword",e["ɵnov"](n,2),"required")),l(n,80,0,u.userForm.showError("confirmpassword",e["ɵnov"](n,2),"match")),l(n,82,0,!u.authStorageService.isSSO()),l(n,84,0),l(n,93,0,"name"),l(n,96,0,"name"),l(n,98,0),l(n,107,0,"email"),l(n,110,0,"email"),l(n,112,0,u.userForm.showError("email",e["ɵnov"](n,2),"email")),l(n,114,0),l(n,121,0,u.allRoles),l(n,123,0,!u.isCurrentUser()),l(n,125,0,!u.isCurrentUser()&&!u.authStorageService.isSSO()),l(n,129,0,e["ɵnov"](n,2))}),(function(l,n){var u=n.component;l(n,0,0,e["ɵnov"](n,4).ngClassUntouched,e["ɵnov"](n,4).ngClassTouched,e["ɵnov"](n,4).ngClassPristine,e["ɵnov"](n,4).ngClassDirty,e["ɵnov"](n,4).ngClassValid,e["ɵnov"](n,4).ngClassInvalid,e["ɵnov"](n,4).ngClassPending);var o=e["ɵunv"](n,8,0,l(n,9,0,e["ɵnov"](n.parent,0),u.action)),a=e["ɵunv"](n,8,1,l(n,10,0,e["ɵnov"](n.parent,1),u.resource));l(n,8,0,o,a),l(n,12,0,e["ɵnov"](n,13).hasErrors,e["ɵnov"](n,13).hasSuccess),l(n,22,0,e["ɵnov"](n,27).ngClassUntouched,e["ɵnov"](n,27).ngClassTouched,e["ɵnov"](n,27).ngClassPristine,e["ɵnov"](n,27).ngClassDirty,e["ɵnov"](n,27).ngClassValid,e["ɵnov"](n,27).ngClassInvalid,e["ɵnov"](n,27).ngClassPending,e["ɵnov"](n,29).validClass,e["ɵnov"](n,29).invalidClass),l(n,32,0,e["ɵnov"](n,33).hasErrors,e["ɵnov"](n,33).hasSuccess),l(n,43,0,e["ɵnov"](n,48).ngClassUntouched,e["ɵnov"](n,48).ngClassTouched,e["ɵnov"](n,48).ngClassPristine,e["ɵnov"](n,48).ngClassDirty,e["ɵnov"](n,48).ngClassValid,e["ɵnov"](n,48).ngClassInvalid,e["ɵnov"](n,48).ngClassPending,e["ɵnov"](n,49).validClass,e["ɵnov"](n,49).invalidClass),l(n,54,0,e["ɵinlineInterpolate"](1,"",u.passwordStrengthLevelClass,""),e["ɵinlineInterpolate"](1,"",u.passwordValuation,"")),l(n,59,0,e["ɵnov"](n,60).hasErrors,e["ɵnov"](n,60).hasSuccess),l(n,67,0,e["ɵnov"](n,72).ngClassUntouched,e["ɵnov"](n,72).ngClassTouched,e["ɵnov"](n,72).ngClassPristine,e["ɵnov"](n,72).ngClassDirty,e["ɵnov"](n,72).ngClassValid,e["ɵnov"](n,72).ngClassInvalid,e["ɵnov"](n,72).ngClassPending,e["ɵnov"](n,73).validClass,e["ɵnov"](n,73).invalidClass),l(n,83,0,e["ɵnov"](n,84).hasErrors,e["ɵnov"](n,84).hasSuccess),l(n,90,0,e["ɵnov"](n,95).ngClassUntouched,e["ɵnov"](n,95).ngClassTouched,e["ɵnov"](n,95).ngClassPristine,e["ɵnov"](n,95).ngClassDirty,e["ɵnov"](n,95).ngClassValid,e["ɵnov"](n,95).ngClassInvalid,e["ɵnov"](n,95).ngClassPending,e["ɵnov"](n,96).validClass,e["ɵnov"](n,96).invalidClass),l(n,97,0,e["ɵnov"](n,98).hasErrors,e["ɵnov"](n,98).hasSuccess),l(n,104,0,e["ɵnov"](n,109).ngClassUntouched,e["ɵnov"](n,109).ngClassTouched,e["ɵnov"](n,109).ngClassPristine,e["ɵnov"](n,109).ngClassDirty,e["ɵnov"](n,109).ngClassValid,e["ɵnov"](n,109).ngClassInvalid,e["ɵnov"](n,109).ngClassPending,e["ɵnov"](n,110).validClass,e["ɵnov"](n,110).invalidClass),l(n,113,0,e["ɵnov"](n,114).hasErrors,e["ɵnov"](n,114).hasSuccess);var d=e["ɵunv"](n,130,0,l(n,131,0,e["ɵnov"](n.parent,0),u.action)),t=e["ɵunv"](n,130,1,l(n,132,0,e["ɵnov"](n.parent,1),u.resource));l(n,130,0,d,t)}))}function hn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"p",[],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,"strong",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,['You are about to remove "user read / update" permissions from your own user.'])),(l()(),e["ɵeld"](3,0,null,null,0,"br",[],null,null,null,null,null)),(l()(),e["ɵeld"](4,0,null,null,1,"p",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["If you continue, you will no longer be able to add or remove roles from any user."])),(l()(),e["ɵeld"](6,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Are you sure you want to continue?"]))],null,null)}function Cn(l){return e["ɵvid"](0,[e["ɵpid"](0,g.TitleCasePipe,[]),e["ɵpid"](0,A.a,[]),e["ɵqud"](402653184,1,{removeSelfUserReadUpdatePermissionTpl:0}),(l()(),e["ɵand"](16777216,null,null,1,null,nn)),e["ɵdid"](4,16384,null,0,g.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](5,0,null,null,2,"div",[["class","cd-col-form"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,gn)),e["ɵdid"](7,16384,null,0,g.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](0,[[1,2],["removeSelfUserReadUpdatePermissionTpl",2]],null,0,null,hn))],(function(l,n){var u=n.component;l(n,4,0,!u.pwdExpirationSettings),l(n,7,0,u.pwdExpirationSettings)}),null)}function bn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"cd-user-form",[],null,null,null,Cn,ln)),e["ɵdid"](1,114688,null,0,Xl.a,[Jl.a,W.a,ll.a,ll.m,K.b,Yl.a,xl.a,Tl.a,w.a,yl.b,Ql.a,Wl.a,$l.a],null,null)],(function(l,n){l(n,1,0)}),null)}var Rn=e["ɵccf"]("cd-user-form",Xl.a,bn,{},{},[]),wn=u("LvDl"),In=u("x38r");u("vCyI");class En{constructor(l){this.i18n=l,this.scopes_permissions=[]}ngOnInit(){this.columns=[{prop:"scope",name:this.i18n("Scope"),flexGrow:2},{prop:"read",name:this.i18n("Read"),flexGrow:1,cellClass:"text-center",cellTransformation:In.a.checkIcon},{prop:"create",name:this.i18n("Create"),flexGrow:1,cellClass:"text-center",cellTransformation:In.a.checkIcon},{prop:"update",name:this.i18n("Update"),flexGrow:1,cellClass:"text-center",cellTransformation:In.a.checkIcon},{prop:"delete",name:this.i18n("Delete"),flexGrow:1,cellClass:"text-center",cellTransformation:In.a.checkIcon}]}ngOnChanges(){if(this.selection.hasSelection){this.selectedItem=this.selection.first();const l=[];wn.each(this.scopes,n=>{const u={read:!1,create:!1,update:!1,delete:!1};u.scope=n,n in this.selectedItem.scopes_permissions&&wn.each(this.selectedItem.scopes_permissions[n],l=>{u[l]=!0}),l.push(u)}),this.scopes_permissions=l}}}var Nn=e["ɵcrt"]({encapsulation:0,styles:[["thead[_ngcontent-%COMP%]{background-color:#f5f5f5}.fa[_ngcontent-%COMP%]{font-size:large}.fa.fa-square-o[_ngcontent-%COMP%]{color:#d1d1d1}"]],data:{}});function xn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,5,"tabset",[],[[2,"tab-container",null]],null,null,fl.b,fl.a)),e["ɵdid"](1,180224,null,0,nl.e,[nl.f,e.Renderer2,e.ElementRef],null,null),(l()(),e["ɵeld"](2,0,null,0,3,"tab",[["heading","Details"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),e["ɵdid"](3,212992,null,0,nl.b,[nl.e,e.ElementRef,e.Renderer2],{heading:[0,"heading"]},null),(l()(),e["ɵeld"](4,0,null,null,1,"cd-table",[["columnMode","flex"]],null,null,null,bl.b,bl.a)),e["ɵdid"](5,2867200,null,0,Rl.a,[e.NgZone,e.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],toolHeader:[3,"toolHeader"],footer:[4,"footer"],limit:[5,"limit"],autoReload:[6,"autoReload"],autoSave:[7,"autoSave"]},null)],(function(l,n){var u=n.component;l(n,3,0,"Details"),l(n,5,0,u.scopes_permissions,u.columns,"flex",!1,!1,0,!1,!1)}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).clazz),l(n,2,0,e["ɵnov"](n,3).id,e["ɵnov"](n,3).active,e["ɵnov"](n,3).addClass)}))}function Tn(l){return e["ɵvid"](0,[(l()(),e["ɵand"](16777216,null,null,1,null,xn)),e["ɵdid"](1,16384,null,0,g.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,1,0,null==u.selection?null:u.selection.hasSingleSelection)}),null)}var yn=u("n/D3"),kn=u("ZDA6"),Dn=e["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Sn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"cd-user-tabs",[],null,null,null,Cl,hl)),e["ɵdid"](1,114688,null,0,gl,[ll.m],null,null),(l()(),e["ɵeld"](2,0,null,null,5,"cd-table",[["columnMode","flex"],["identifier","name"],["selectionType","single"]],null,[[null,"fetchData"],[null,"updateSelection"]],(function(l,n,u){var e=!0,o=l.component;return"fetchData"===n&&(e=!1!==o.getRoles()&&e),"updateSelection"===n&&(e=!1!==o.updateSelection(u)&&e),e}),bl.b,bl.a)),e["ɵdid"](3,2867200,null,0,Rl.a,[e.NgZone,e.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],identifier:[3,"identifier"],selectionType:[4,"selectionType"]},{fetchData:"fetchData",updateSelection:"updateSelection"}),(l()(),e["ɵeld"](4,0,null,1,1,"cd-table-actions",[["class","table-actions"]],null,null,null,wl.b,wl.a)),e["ɵdid"](5,114688,null,0,Il.a,[],{permission:[0,"permission"],selection:[1,"selection"],tableActions:[2,"tableActions"]},null),(l()(),e["ɵeld"](6,0,null,3,1,"cd-role-details",[["cdTableDetail",""]],null,null,null,Tn,Nn)),e["ɵdid"](7,638976,null,0,En,[w.a],{selection:[0,"selection"],scopes:[1,"scopes"]},null)],(function(l,n){var u=n.component;l(n,1,0),l(n,3,0,u.roles,u.columns,"flex","name","single"),l(n,5,0,u.permission,u.selection,u.tableActions),l(n,7,0,u.selection,u.scopes)}),null)}function qn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"cd-role-list",[],null,null,null,Sn,Dn)),e["ɵprd"](256,null,El.a,yn.b,[]),e["ɵdid"](2,114688,null,0,yn.a,[Yl.a,kn.a,P.a,W.a,K.b,Tl.a,w.a,El.a,yl.b],null,null)],(function(l,n){l(n,2,0)}),null)}var Fn=e["ɵccf"]("cd-role-list",yn.a,qn,{},{},[]),Pn=u("eTJe"),_n=e["ɵcrt"]({encapsulation:0,styles:[[".datatable-permissions-header-cell-label[_ngcontent-%COMP%], .datatable-permissions-scope-cell-label[_ngcontent-%COMP%]{font-weight:700}"]],data:{}});function Mn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function Un(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["The chosen name is already in use."]))],null,null)}function Vn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,4,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,"input",[["class","custom-control-input"],["type","checkbox"]],[[8,"id",0],[8,"checked",0],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"]],(function(l,n,u){var e=!0;return"change"===n&&(e=!1!==l.component.onClickCellCheckbox(l.context.row.scope,l.context.column.prop,u)&&e),e}),null,null)),e["ɵdid"](2,16384,null,0,tl.h,[[8,null],tl.a],null,null),(l()(),e["ɵeld"](3,0,null,null,1,"label",[["class","datatable-permissions-scope-cell-label custom-control-label"]],[[8,"htmlFor",0]],null,null,null,null)),(l()(),e["ɵted"](4,null,["",""]))],null,(function(l,n){var u=n.component;l(n,1,0,e["ɵinlineInterpolate"](1,"scope_",n.context.row.scope,""),u.isRowChecked(n.context.row.scope),e["ɵnov"](n,2).validClass,e["ɵnov"](n,2).invalidClass),l(n,3,0,e["ɵinlineInterpolate"](1,"scope_",n.context.row.scope,"")),l(n,4,0,n.context.value)}))}function Ln(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,"input",[["class","custom-control-input"],["type","checkbox"]],[[8,"checked",0],[8,"id",0],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"]],(function(l,n,u){var e=!0;return"change"===n&&(e=!1!==l.component.onClickCellCheckbox(l.context.row.scope,l.context.column.prop,u)&&e),e}),null,null)),e["ɵdid"](2,16384,null,0,tl.h,[[8,null],tl.a],null,null),(l()(),e["ɵeld"](3,0,null,null,0,"label",[["class","custom-control-label"]],[[8,"htmlFor",0]],null,null,null,null))],null,(function(l,n){l(n,1,0,n.context.value,n.context.row.scope+"-"+n.context.column.prop,e["ɵnov"](n,2).validClass,e["ɵnov"](n,2).invalidClass),l(n,3,0,n.context.row.scope+"-"+n.context.column.prop)}))}function An(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,4,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,"input",[["class","custom-control-input"],["type","checkbox"]],[[8,"id",0],[8,"checked",0],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"]],(function(l,n,u){var e=!0;return"change"===n&&(e=!1!==l.component.onClickHeaderCheckbox(l.context.column.prop,u)&&e),e}),null,null)),e["ɵdid"](2,16384,null,0,tl.h,[[8,null],tl.a],null,null),(l()(),e["ɵeld"](3,0,null,null,1,"label",[["class","datatable-permissions-header-cell-label custom-control-label"]],[[8,"htmlFor",0]],null,null,null,null)),(l()(),e["ɵted"](4,null,["",""]))],null,(function(l,n){var u=n.component;l(n,1,0,e["ɵinlineInterpolate"](1,"header_",n.context.column.prop,""),u.isHeaderChecked(n.context.column.prop),e["ɵnov"](n,2).validClass,e["ɵnov"](n,2).invalidClass),l(n,3,0,e["ɵinlineInterpolate"](1,"header_",n.context.column.prop,"")),l(n,4,0,n.context.column.name)}))}function On(l){return e["ɵvid"](0,[e["ɵpid"](0,g.TitleCasePipe,[]),e["ɵpid"](0,A.a,[]),e["ɵqud"](402653184,1,{headerPermissionCheckboxTpl:0}),e["ɵqud"](402653184,2,{cellScopeCheckboxTpl:0}),e["ɵqud"](402653184,3,{cellPermissionCheckboxTpl:0}),(l()(),e["ɵeld"](5,0,null,null,66,"div",[["class","cd-col-form"]],null,null,null,null,null)),(l()(),e["ɵeld"](6,0,null,null,65,"form",[["name","roleForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,u){var o=!0;return"submit"===n&&(o=!1!==e["ɵnov"](l,8).onSubmit(u)&&o),"reset"===n&&(o=!1!==e["ɵnov"](l,8).onReset()&&o),"submit"===n&&(o=!1!==e["ɵnov"](l,11).onSubmit()&&o),o}),null,null)),e["ɵdid"](7,16384,null,0,h.G,[],null,null),e["ɵdid"](8,540672,[["formDir",4]],0,h.l,[[8,null],[8,null]],{form:[0,"form"]},null),e["ɵprd"](2048,null,h.d,null,[h.l]),e["ɵdid"](10,16384,null,0,h.s,[[4,h.d]],null,null),e["ɵdid"](11,16384,null,0,tl.d,[],{formGroup:[0,"formGroup"]},null),(l()(),e["ɵeld"](12,0,null,null,59,"div",[["class","card"]],null,null,null,null,null)),(l()(),e["ɵeld"](13,0,null,null,3,"div",[["class","card-header"]],null,null,null,null,null)),(l()(),e["ɵted"](14,null,[""," ",""])),e["ɵppd"](15,1),e["ɵppd"](16,1),(l()(),e["ɵeld"](17,0,null,null,45,"div",[["class","card-body"]],null,null,null,null,null)),(l()(),e["ɵeld"](18,0,null,null,21,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Al.b,Al.a)),e["ɵdid"](19,1163264,null,2,tl.c,[e.ElementRef,tl.g],null,null),e["ɵqud"](603979776,4,{FormControlNames:1}),e["ɵqud"](603979776,5,{messagesBlock:0}),(l()(),e["ɵeld"](22,0,null,0,4,"label",[["class","cd-col-form-label"],["for","name"]],null,null,null,null,null)),e["ɵprd"](512,null,g["ɵNgClassImpl"],g["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](24,278528,null,0,g.NgClass,[g["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),e["ɵpod"](25,{required:0}),(l()(),e["ɵted"](-1,null,["Name"])),(l()(),e["ɵeld"](27,0,null,0,12,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](28,0,null,null,7,"input",[["autofocus",""],["class","form-control"],["formControlName","name"],["id","name"],["name","name"],["placeholder","Name..."],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var o=!0;return"input"===n&&(o=!1!==e["ɵnov"](l,29)._handleInput(u.target.value)&&o),"blur"===n&&(o=!1!==e["ɵnov"](l,29).onTouched()&&o),"compositionstart"===n&&(o=!1!==e["ɵnov"](l,29)._compositionStart()&&o),"compositionend"===n&&(o=!1!==e["ɵnov"](l,29)._compositionEnd(u.target.value)&&o),o}),null,null)),e["ɵdid"](29,16384,null,0,h.e,[e.Renderer2,e.ElementRef,[2,h.b]],null,null),e["ɵprd"](1024,null,h.p,(function(l){return[l]}),[h.e]),e["ɵdid"](31,671744,[[4,4]],0,h.j,[[3,h.d],[8,null],[8,null],[6,h.p],[2,h.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,h.q,null,[h.j]),e["ɵdid"](33,16384,null,0,h.r,[[4,h.q]],null,null),e["ɵdid"](34,4210688,null,0,Bl.a,[e.ElementRef],{autofocus:[0,"autofocus"]},null),e["ɵdid"](35,16384,null,0,tl.h,[[3,h.d],tl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Mn)),e["ɵdid"](37,16384,null,0,g.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Un)),e["ɵdid"](39,16384,null,0,g.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](40,0,null,null,13,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Al.b,Al.a)),e["ɵdid"](41,1163264,null,2,tl.c,[e.ElementRef,tl.g],null,null),e["ɵqud"](603979776,6,{FormControlNames:1}),e["ɵqud"](603979776,7,{messagesBlock:0}),(l()(),e["ɵeld"](44,0,null,0,1,"label",[["class","cd-col-form-label"],["for","description"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Description"])),(l()(),e["ɵeld"](46,0,null,0,7,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](47,0,null,null,6,"input",[["class","form-control"],["formControlName","description"],["id","description"],["name","description"],["placeholder","Description..."],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var o=!0;return"input"===n&&(o=!1!==e["ɵnov"](l,48)._handleInput(u.target.value)&&o),"blur"===n&&(o=!1!==e["ɵnov"](l,48).onTouched()&&o),"compositionstart"===n&&(o=!1!==e["ɵnov"](l,48)._compositionStart()&&o),"compositionend"===n&&(o=!1!==e["ɵnov"](l,48)._compositionEnd(u.target.value)&&o),o}),null,null)),e["ɵdid"](48,16384,null,0,h.e,[e.Renderer2,e.ElementRef,[2,h.b]],null,null),e["ɵprd"](1024,null,h.p,(function(l){return[l]}),[h.e]),e["ɵdid"](50,671744,[[6,4]],0,h.j,[[3,h.d],[8,null],[8,null],[6,h.p],[2,h.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,h.q,null,[h.j]),e["ɵdid"](52,16384,null,0,h.r,[[4,h.q]],null,null),e["ɵdid"](53,16384,null,0,tl.h,[[3,h.d],tl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](54,0,null,null,8,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Al.b,Al.a)),e["ɵdid"](55,1163264,null,2,tl.c,[e.ElementRef,tl.g],null,null),e["ɵqud"](603979776,8,{FormControlNames:1}),e["ɵqud"](603979776,9,{messagesBlock:0}),(l()(),e["ɵeld"](58,0,null,0,1,"label",[["class","cd-col-form-label"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Permissions"])),(l()(),e["ɵeld"](60,0,null,0,2,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](61,0,null,null,1,"cd-table",[["columnMode","flex"]],null,null,null,bl.b,bl.a)),e["ɵdid"](62,2867200,null,0,Rl.a,[e.NgZone,e.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],toolHeader:[3,"toolHeader"],footer:[4,"footer"],limit:[5,"limit"],autoReload:[6,"autoReload"],autoSave:[7,"autoSave"]},null),(l()(),e["ɵeld"](63,0,null,null,8,"div",[["class","card-footer"]],null,null,null,null,null)),(l()(),e["ɵeld"](64,0,null,null,7,"div",[["class","button-group text-right"]],null,null,null,null,null)),(l()(),e["ɵeld"](65,0,null,null,4,"cd-submit-button",[],null,[[null,"submitAction"]],(function(l,n,u){var e=!0;return"submitAction"===n&&(e=!1!==l.component.submit()&&e),e}),zl.b,zl.a)),e["ɵdid"](66,114688,null,0,Gl.a,[e.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(l()(),e["ɵted"](67,0,[""," ",""])),e["ɵppd"](68,1),e["ɵppd"](69,1),(l()(),e["ɵeld"](70,0,null,null,1,"cd-back-button",[],null,null,null,Zl.b,Zl.a)),e["ɵdid"](71,49152,null,0,Kl.a,[g.Location,yl.b],null,null),(l()(),e["ɵand"](0,[[2,2],["cellScopeCheckboxTpl",2]],null,0,null,Vn)),(l()(),e["ɵand"](0,[[3,2],["cellPermissionCheckboxTpl",2]],null,0,null,Ln)),(l()(),e["ɵand"](0,[[1,2],["headerPermissionCheckboxTpl",2]],null,0,null,An))],(function(l,n){var u=n.component;l(n,8,0,u.roleForm),l(n,11,0,u.roleForm),l(n,19,0);var o=l(n,25,0,u.mode!==u.roleFormMode.editing);l(n,24,0,"cd-col-form-label",o),l(n,31,0,"name"),l(n,34,0,""),l(n,35,0,"name"),l(n,37,0,u.roleForm.showError("name",e["ɵnov"](n,8),"required")),l(n,39,0,u.roleForm.showError("name",e["ɵnov"](n,8),"notUnique")),l(n,41,0),l(n,50,0,"description"),l(n,53,0,"description"),l(n,55,0),l(n,62,0,u.scopes_permissions,u.columns,"flex",!1,!1,0,!1,!1),l(n,66,0,e["ɵnov"](n,8))}),(function(l,n){var u=n.component;l(n,6,0,e["ɵnov"](n,10).ngClassUntouched,e["ɵnov"](n,10).ngClassTouched,e["ɵnov"](n,10).ngClassPristine,e["ɵnov"](n,10).ngClassDirty,e["ɵnov"](n,10).ngClassValid,e["ɵnov"](n,10).ngClassInvalid,e["ɵnov"](n,10).ngClassPending);var o=e["ɵunv"](n,14,0,l(n,15,0,e["ɵnov"](n,0),u.action)),a=e["ɵunv"](n,14,1,l(n,16,0,e["ɵnov"](n,1),u.resource));l(n,14,0,o,a),l(n,18,0,e["ɵnov"](n,19).hasErrors,e["ɵnov"](n,19).hasSuccess),l(n,28,0,e["ɵnov"](n,33).ngClassUntouched,e["ɵnov"](n,33).ngClassTouched,e["ɵnov"](n,33).ngClassPristine,e["ɵnov"](n,33).ngClassDirty,e["ɵnov"](n,33).ngClassValid,e["ɵnov"](n,33).ngClassInvalid,e["ɵnov"](n,33).ngClassPending,e["ɵnov"](n,35).validClass,e["ɵnov"](n,35).invalidClass),l(n,40,0,e["ɵnov"](n,41).hasErrors,e["ɵnov"](n,41).hasSuccess),l(n,47,0,e["ɵnov"](n,52).ngClassUntouched,e["ɵnov"](n,52).ngClassTouched,e["ɵnov"](n,52).ngClassPristine,e["ɵnov"](n,52).ngClassDirty,e["ɵnov"](n,52).ngClassValid,e["ɵnov"](n,52).ngClassInvalid,e["ɵnov"](n,52).ngClassPending,e["ɵnov"](n,53).validClass,e["ɵnov"](n,53).invalidClass),l(n,54,0,e["ɵnov"](n,55).hasErrors,e["ɵnov"](n,55).hasSuccess);var d=e["ɵunv"](n,67,0,l(n,68,0,e["ɵnov"](n,0),u.action)),t=e["ɵunv"](n,67,1,l(n,69,0,e["ɵnov"](n,1),u.resource));l(n,67,0,d,t)}))}function jn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"cd-role-form",[],null,null,null,On,_n)),e["ɵdid"](1,114688,null,0,Pn.a,[ll.a,ll.m,Yl.a,kn.a,Tl.a,w.a,yl.b],null,null)],(function(l,n){l(n,1,0)}),null)}var Bn=e["ɵccf"]("cd-role-form",Pn.a,jn,{},{},[]);u.d(n,"AuthModuleNgFactory",(function(){return Hn})),u.d(n,"RoutedAuthModuleNgFactory",(function(){return zn}));var Hn=e["ɵcmf"](o.a,[],(function(l){return e["ɵmod"]([e["ɵmpd"](512,e.ComponentFactoryResolver,e["ɵCodegenComponentFactoryResolver"],[[8,[a.a,d.a,t.a,s.a,s.b,i.a,r.a,c.a,p.a,m.a,v.a,f.a,f.c,f.b]],[3,e.ComponentFactoryResolver],e.NgModuleRef]),e["ɵmpd"](4608,g.NgLocalization,g.NgLocaleLocalization,[e.LOCALE_ID,[2,g["ɵangular_packages_common_common_a"]]]),e["ɵmpd"](4608,h.D,h.D,[]),e["ɵmpd"](4608,h.h,h.h,[]),e["ɵmpd"](4608,C.a,C.a,[]),e["ɵmpd"](4608,b.a,b.a,[]),e["ɵmpd"](4608,R.a,R.a,[w.a]),e["ɵmpd"](4608,g.DatePipe,g.DatePipe,[e.LOCALE_ID]),e["ɵmpd"](4608,I.a,I.a,[]),e["ɵmpd"](4608,E.a,E.a,[]),e["ɵmpd"](4608,N.a,N.a,[]),e["ɵmpd"](4608,x.a,x.a,[N.a]),e["ɵmpd"](4608,T.a,T.a,[N.a]),e["ɵmpd"](4608,y.a,y.a,[N.a]),e["ɵmpd"](4608,k.a,k.a,[]),e["ɵmpd"](4608,D.a,D.a,[]),e["ɵmpd"](4608,S.a,S.a,[]),e["ɵmpd"](4608,q.a,q.a,[]),e["ɵmpd"](4608,F.a,F.a,[g.DatePipe]),e["ɵmpd"](4608,P.a,P.a,[]),e["ɵmpd"](4608,_.a,_.a,[]),e["ɵmpd"](4608,M.a,M.a,[]),e["ɵmpd"](4608,U.a,U.a,[]),e["ɵmpd"](4608,V.a,V.a,[]),e["ɵmpd"](4608,L.a,L.a,[w.a]),e["ɵmpd"](4608,A.a,A.a,[]),e["ɵmpd"](4608,O.a,O.a,[]),e["ɵmpd"](4608,j.b,j.b,[]),e["ɵmpd"](4608,B.a,B.a,[]),e["ɵmpd"](4608,H.a,H.a,[e.RendererFactory2,e.PLATFORM_ID]),e["ɵmpd"](4608,z.a,z.a,[e.ComponentFactoryResolver,e.NgZone,e.Injector,H.a,e.ApplicationRef]),e["ɵmpd"](4608,G.c,G.c,[]),e["ɵmpd"](4608,Z.a,Z.a,[]),e["ɵmpd"](4608,K.b,K.b,[e.RendererFactory2,z.a]),e["ɵmpd"](4608,X.ScrollbarHelper,X.ScrollbarHelper,[g.DOCUMENT]),e["ɵmpd"](4608,J.DimensionsHelper,J.DimensionsHelper,[]),e["ɵmpd"](4608,Y.ColumnChangesService,Y.ColumnChangesService,[]),e["ɵmpd"](4608,Q.f,Q.f,[]),e["ɵmpd"](4608,W.a,W.a,[]),e["ɵmpd"](4608,$.a,$.a,[ll.m,W.a]),e["ɵmpd"](4608,nl.f,nl.f,[]),e["ɵmpd"](4608,ul.r,ul.r,[]),e["ɵmpd"](4608,ul.t,ul.t,[]),e["ɵmpd"](4608,ul.a,ul.a,[]),e["ɵmpd"](4608,ul.h,ul.h,[]),e["ɵmpd"](4608,ul.d,ul.d,[]),e["ɵmpd"](4608,ul.j,ul.j,[]),e["ɵmpd"](4608,ul.s,ul.s,[ul.t,ul.j]),e["ɵmpd"](1073742336,el.a,el.a,[]),e["ɵmpd"](1073742336,g.CommonModule,g.CommonModule,[]),e["ɵmpd"](1073742336,h.C,h.C,[]),e["ɵmpd"](1073742336,h.n,h.n,[]),e["ɵmpd"](1073742336,B.d,B.d,[]),e["ɵmpd"](1073742336,h.y,h.y,[]),e["ɵmpd"](1073742336,ol.a,ol.a,[]),e["ɵmpd"](1073742336,j.c,j.c,[]),e["ɵmpd"](1073742336,G.d,G.d,[]),e["ɵmpd"](1073742336,Z.d,Z.d,[]),e["ɵmpd"](1073742336,al.b,al.b,[]),e["ɵmpd"](1073742336,K.e,K.e,[]),e["ɵmpd"](1073742336,dl.a,dl.a,[]),e["ɵmpd"](1073742336,Q.e,Q.e,[]),e["ɵmpd"](1073742336,tl.f,tl.f,[]),e["ɵmpd"](1073742336,sl.ClickOutsideModule,sl.ClickOutsideModule,[]),e["ɵmpd"](1073742336,il.b,il.b,[]),e["ɵmpd"](1073742336,ll.q,ll.q,[[2,ll.v],[2,ll.m]]),e["ɵmpd"](1073742336,rl.a,rl.a,[]),e["ɵmpd"](1073742336,cl.NgxDatatableModule,cl.NgxDatatableModule,[]),e["ɵmpd"](1073742336,pl.a,pl.a,[]),e["ɵmpd"](1073742336,ml.a,ml.a,[]),e["ɵmpd"](1073742336,vl.a,vl.a,[]),e["ɵmpd"](1073742336,nl.d,nl.d,[]),e["ɵmpd"](1073742336,ul.g,ul.g,[]),e["ɵmpd"](1073742336,o.a,o.a,[]),e["ɵmpd"](256,e.LOCALE_ID,"en-US",[]),e["ɵmpd"](256,Q.a,{autoClose:!0,insideClick:!1},[]),e["ɵmpd"](256,e.TRANSLATIONS_FORMAT,"xlf",[])])})),zn=e["ɵcmf"](o.b,[],(function(l){return e["ɵmod"]([e["ɵmpd"](512,e.ComponentFactoryResolver,e["ɵCodegenComponentFactoryResolver"],[[8,[a.a,d.a,t.a,s.a,s.b,i.a,r.a,c.a,p.a,m.a,v.a,f.a,f.c,f.b,_l,Rn,Fn,Bn]],[3,e.ComponentFactoryResolver],e.NgModuleRef]),e["ɵmpd"](4608,g.NgLocalization,g.NgLocaleLocalization,[e.LOCALE_ID,[2,g["ɵangular_packages_common_common_a"]]]),e["ɵmpd"](4608,h.D,h.D,[]),e["ɵmpd"](4608,h.h,h.h,[]),e["ɵmpd"](4608,C.a,C.a,[]),e["ɵmpd"](4608,b.a,b.a,[]),e["ɵmpd"](4608,R.a,R.a,[w.a]),e["ɵmpd"](4608,g.DatePipe,g.DatePipe,[e.LOCALE_ID]),e["ɵmpd"](4608,I.a,I.a,[]),e["ɵmpd"](4608,E.a,E.a,[]),e["ɵmpd"](4608,N.a,N.a,[]),e["ɵmpd"](4608,x.a,x.a,[N.a]),e["ɵmpd"](4608,T.a,T.a,[N.a]),e["ɵmpd"](4608,y.a,y.a,[N.a]),e["ɵmpd"](4608,k.a,k.a,[]),e["ɵmpd"](4608,D.a,D.a,[]),e["ɵmpd"](4608,S.a,S.a,[]),e["ɵmpd"](4608,q.a,q.a,[]),e["ɵmpd"](4608,F.a,F.a,[g.DatePipe]),e["ɵmpd"](4608,P.a,P.a,[]),e["ɵmpd"](4608,_.a,_.a,[]),e["ɵmpd"](4608,M.a,M.a,[]),e["ɵmpd"](4608,U.a,U.a,[]),e["ɵmpd"](4608,V.a,V.a,[]),e["ɵmpd"](4608,L.a,L.a,[w.a]),e["ɵmpd"](4608,A.a,A.a,[]),e["ɵmpd"](4608,O.a,O.a,[]),e["ɵmpd"](4608,j.b,j.b,[]),e["ɵmpd"](4608,B.a,B.a,[]),e["ɵmpd"](4608,H.a,H.a,[e.RendererFactory2,e.PLATFORM_ID]),e["ɵmpd"](4608,z.a,z.a,[e.ComponentFactoryResolver,e.NgZone,e.Injector,H.a,e.ApplicationRef]),e["ɵmpd"](4608,G.c,G.c,[]),e["ɵmpd"](4608,Z.a,Z.a,[]),e["ɵmpd"](4608,K.b,K.b,[e.RendererFactory2,z.a]),e["ɵmpd"](4608,X.ScrollbarHelper,X.ScrollbarHelper,[g.DOCUMENT]),e["ɵmpd"](4608,J.DimensionsHelper,J.DimensionsHelper,[]),e["ɵmpd"](4608,Y.ColumnChangesService,Y.ColumnChangesService,[]),e["ɵmpd"](4608,Q.f,Q.f,[]),e["ɵmpd"](4608,W.a,W.a,[]),e["ɵmpd"](4608,$.a,$.a,[ll.m,W.a]),e["ɵmpd"](4608,nl.f,nl.f,[]),e["ɵmpd"](4608,ul.r,ul.r,[]),e["ɵmpd"](4608,ul.t,ul.t,[]),e["ɵmpd"](4608,ul.a,ul.a,[]),e["ɵmpd"](4608,ul.h,ul.h,[]),e["ɵmpd"](4608,ul.d,ul.d,[]),e["ɵmpd"](4608,ul.j,ul.j,[]),e["ɵmpd"](4608,ul.s,ul.s,[ul.t,ul.j]),e["ɵmpd"](1073742336,el.a,el.a,[]),e["ɵmpd"](1073742336,g.CommonModule,g.CommonModule,[]),e["ɵmpd"](1073742336,h.C,h.C,[]),e["ɵmpd"](1073742336,h.n,h.n,[]),e["ɵmpd"](1073742336,B.d,B.d,[]),e["ɵmpd"](1073742336,h.y,h.y,[]),e["ɵmpd"](1073742336,ol.a,ol.a,[]),e["ɵmpd"](1073742336,j.c,j.c,[]),e["ɵmpd"](1073742336,G.d,G.d,[]),e["ɵmpd"](1073742336,Z.d,Z.d,[]),e["ɵmpd"](1073742336,al.b,al.b,[]),e["ɵmpd"](1073742336,K.e,K.e,[]),e["ɵmpd"](1073742336,dl.a,dl.a,[]),e["ɵmpd"](1073742336,Q.e,Q.e,[]),e["ɵmpd"](1073742336,tl.f,tl.f,[]),e["ɵmpd"](1073742336,sl.ClickOutsideModule,sl.ClickOutsideModule,[]),e["ɵmpd"](1073742336,il.b,il.b,[]),e["ɵmpd"](1073742336,ll.q,ll.q,[[2,ll.v],[2,ll.m]]),e["ɵmpd"](1073742336,rl.a,rl.a,[]),e["ɵmpd"](1073742336,cl.NgxDatatableModule,cl.NgxDatatableModule,[]),e["ɵmpd"](1073742336,pl.a,pl.a,[]),e["ɵmpd"](1073742336,ml.a,ml.a,[]),e["ɵmpd"](1073742336,vl.a,vl.a,[]),e["ɵmpd"](1073742336,nl.d,nl.d,[]),e["ɵmpd"](1073742336,ul.g,ul.g,[]),e["ɵmpd"](1073742336,o.a,o.a,[]),e["ɵmpd"](1073742336,o.b,o.b,[]),e["ɵmpd"](256,e.LOCALE_ID,"en-US",[]),e["ɵmpd"](256,Q.a,{autoClose:!0,insideClick:!1},[]),e["ɵmpd"](1024,ll.k,(function(){return[[{path:"",redirectTo:"users",pathMatch:"full"},{path:"users",data:o.c,children:[{path:"",component:Nl.a},{path:"create",component:Xl.a,data:o.d},{path:"edit/:username",component:Xl.a,data:o.e}]},{path:"roles",data:o.f,children:[{path:"",component:yn.a},{path:"create",component:Pn.a,data:o.g},{path:"edit/:name",component:Pn.a,data:o.h}]}]]}),[]),e["ɵmpd"](256,e.TRANSLATIONS_FORMAT,"xlf",[])])}))}}]);
\ No newline at end of file
diff --git a/ceph/src/pybind/mgr/dashboard/frontend/dist/en-US/9.a6e2f7400e0a62470111.js b/ceph/src/pybind/mgr/dashboard/frontend/dist/en-US/9.a6e2f7400e0a62470111.js
new file mode 100644 (file)
index 0000000..6bb4a65
--- /dev/null
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{DY6s:function(l,n,u){"use strict";u.r(n);var e=u("8Y7J"),o=u("LceX"),a=u("ES0t"),d=u("MdoF"),t=u("Xg1U"),s=u("z5nN"),i=u("iutN"),r=u("pMnS"),c=u("EEJc"),p=u("PEr+"),m=u("a40w"),v=u("hfeG"),f=u("atuK"),g=u("SVse"),h=u("s7LF"),C=u("yT6U"),b=u("4DD9"),R=u("iExv"),w=u("GiVz"),I=u("85J/"),E=u("+0ag"),N=u("aXbf"),x=u("Fgil"),T=u("IzCI"),y=u("o4+5"),k=u("Dwqy"),D=u("uYzU"),S=u("FFMq"),q=u("E2fk"),F=u("a0VL"),P=u("nSDx"),_=u("SB+Q"),M=u("TYzs"),U=u("BQkM"),V=u("dEH0"),L=u("G1/K"),A=u("8xTl"),O=u("TJUb"),j=u("efK2"),B=u("CNMR"),H=u("KOzp"),z=u("2uy1"),G=u("z/SZ"),K=u("38Bd"),Z=u("978R"),X=u("LqlI"),J=u("FO+L"),Y=u("nhM1"),Q=u("BARL"),W=u("FE24"),$=u("aexS"),ll=u("Avrn"),nl=u("iInd"),ul=u("2ZVE"),el=u("ienR"),ol=u("aHM3"),al=u("9Xeq"),dl=u("hrfs"),tl=u("yGOH"),sl=u("+gVj"),il=u("bxSN"),rl=u("WF9J"),cl=u("V/fk"),pl=u("F8xH"),ml=u("ChqD"),vl=u("pL04"),fl=u("PCNd"),gl=u("pKUh");class hl{constructor(l){this.router=l}ngOnInit(){this.url=this.router.url}navigateTo(l){this.router.navigate([l])}}var Cl=e["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function bl(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,5,"tabset",[],[[2,"tab-container",null]],null,null,gl.b,gl.a)),e["ɵdid"](1,180224,null,0,ul.e,[ul.f,e.Renderer2,e.ElementRef],null,null),(l()(),e["ɵeld"](2,0,null,0,1,"tab",[["heading","Users"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],[[null,"selectTab"]],(function(l,n,u){var e=!0;return"selectTab"===n&&(e=!1!==l.component.navigateTo("/user-management/users")&&e),e}),null,null)),e["ɵdid"](3,212992,null,0,ul.b,[ul.e,e.ElementRef,e.Renderer2],{heading:[0,"heading"],active:[1,"active"]},{selectTab:"selectTab"}),(l()(),e["ɵeld"](4,0,null,0,1,"tab",[["heading","Roles"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],[[null,"selectTab"]],(function(l,n,u){var e=!0;return"selectTab"===n&&(e=!1!==l.component.navigateTo("/user-management/roles")&&e),e}),null,null)),e["ɵdid"](5,212992,null,0,ul.b,[ul.e,e.ElementRef,e.Renderer2],{heading:[0,"heading"],active:[1,"active"]},{selectTab:"selectTab"})],(function(l,n){var u=n.component;l(n,3,0,"Users","/user-management/users"===u.url),l(n,5,0,"Roles","/user-management/roles"===u.url)}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).clazz),l(n,2,0,e["ɵnov"](n,3).id,e["ɵnov"](n,3).active,e["ɵnov"](n,3).addClass),l(n,4,0,e["ɵnov"](n,5).id,e["ɵnov"](n,5).active,e["ɵnov"](n,5).addClass)}))}var Rl=u("25BL"),wl=u("uIqm"),Il=u("NUGo"),El=u("S7zO"),Nl=u("EgGo"),xl=u("ZEkX"),Tl=u("Mxhz"),yl=u("9nlD"),kl=u("sne2"),Dl=e["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Sl(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(l()(),e["ɵted"](1,null,[" ",""," "]))],null,(function(l,n){l(n,1,0,n.context.$implicit,n.context.last?"":", ")}))}function ql(l){return e["ɵvid"](0,[(l()(),e["ɵand"](16777216,null,null,1,null,Sl)),e["ɵdid"](1,278528,null,0,g.NgForOf,[e.ViewContainerRef,e.TemplateRef,e.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(l()(),e["ɵand"](0,null,null,0))],(function(l,n){l(n,1,0,n.context.value)}),null)}function Fl(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"span",[],null,null,null,null,null)),(l()(),e["ɵted"](1,null,["",""])),e["ɵppd"](2,1)],null,(function(l,n){var u=e["ɵunv"](n,1,0,l(n,2,0,e["ɵnov"](n.parent,0),n.context.value));l(n,1,0,u)}))}function Pl(l){return e["ɵvid"](0,[e["ɵpid"](0,R.a,[w.a]),e["ɵqud"](402653184,1,{userRolesTpl:0}),e["ɵqud"](402653184,2,{userEnabledTpl:0}),(l()(),e["ɵeld"](3,0,null,null,1,"cd-user-tabs",[],null,null,null,bl,Cl)),e["ɵdid"](4,114688,null,0,hl,[nl.m],null,null),(l()(),e["ɵeld"](5,0,null,null,3,"cd-table",[["columnMode","flex"],["identifier","username"],["selectionType","single"]],null,[[null,"fetchData"],[null,"updateSelection"]],(function(l,n,u){var e=!0,o=l.component;return"fetchData"===n&&(e=!1!==o.getUsers()&&e),"updateSelection"===n&&(e=!1!==o.updateSelection(u)&&e),e}),Rl.b,Rl.a)),e["ɵdid"](6,2867200,null,0,wl.a,[e.NgZone,e.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],identifier:[3,"identifier"],selectionType:[4,"selectionType"]},{fetchData:"fetchData",updateSelection:"updateSelection"}),(l()(),e["ɵeld"](7,0,null,1,1,"cd-table-actions",[["class","table-actions"]],null,null,null,Il.b,Il.a)),e["ɵdid"](8,114688,null,0,El.a,[],{permission:[0,"permission"],selection:[1,"selection"],tableActions:[2,"tableActions"]},null),(l()(),e["ɵand"](0,[[1,2],["userRolesTpl",2]],null,0,null,ql)),(l()(),e["ɵand"](0,[[2,2],["userEnabledTpl",2]],null,0,null,Fl))],(function(l,n){var u=n.component;l(n,4,0),l(n,6,0,u.users,u.columns,"flex","username","single"),l(n,8,0,u.permission,u.selection,u.tableActions)}),null)}function _l(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"cd-user-list",[],null,null,null,Pl,Dl)),e["ɵprd"](256,null,Nl.a,xl.b,[]),e["ɵdid"](2,114688,null,0,xl.a,[Tl.a,P.a,X.b,yl.a,$.a,w.a,Nl.a,F.a,kl.b],null,null)],(function(l,n){l(n,2,0)}),null)}var Ml=e["ɵccf"]("cd-user-list",xl.a,_l,{},{},[]),Ul=u("QC43"),Vl=u("XFyV"),Ll=u("4HWh"),Al=u("p4Cf"),Ol=u("mXUL"),jl=u("pYKc"),Bl=u("ppaS"),Hl=u("IZUe"),zl=u("D4zM"),Gl=u("gp3X"),Kl=u("sb0X"),Zl=u("KVJa"),Xl=u("Z21x"),Jl=u("V3my"),Yl=u("DSvg"),Ql=u("SgmB"),Wl=u("1nQr"),$l=u("2EZI"),ln=u("20UP"),nn=e["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function un(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"cd-loading-panel",[],null,null,null,Ul.b,Ul.a)),e["ɵdid"](1,49152,null,0,Vl.a,[],null,null),(l()(),e["ɵted"](-1,0,["Loading..."]))],null,null)}function en(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function on(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"cd-helper",[["class","text-pre"]],null,null,null,Ll.b,Ll.a)),e["ɵdid"](1,49152,null,0,Al.a,[],{class:[0,"class"],html:[1,"html"]},null)],(function(l,n){l(n,1,0,"text-pre",e["ɵinlineInterpolate"](1,"",n.component.passwordPolicyHelpText,""))}),null)}function an(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function dn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](1,null,[" "," "]))],null,(function(l,n){l(n,1,0,n.component.passwordValuation)}))}function tn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function sn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Password confirmation doesn't match the password."]))],null,null)}function rn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,12,"cd-helper",[["class","text-pre"]],null,null,null,Ll.b,Ll.a)),e["ɵdid"](1,49152,null,0,Al.a,[],{class:[0,"class"]},null),(l()(),e["ɵeld"](2,0,null,0,4,"p",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,[" The Dashboard setting defining the expiration interval of passwords is currently set to "])),(l()(),e["ɵeld"](4,0,null,null,1,"strong",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["0"])),(l()(),e["ɵted"](-1,null,[". This means if a date is set, the user password will only expire once. "])),(l()(),e["ɵeld"](7,0,null,0,5,"p",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,[" Consider configuring the Dashboard setting "])),(l()(),e["ɵeld"](9,0,null,null,2,"a",[["class","alert-link"],["routerLink","/mgr-modules/edit/dashboard"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(l,n,u){var o=!0;return"click"===n&&(o=!1!==e["ɵnov"](l,10).onClick(u.button,u.ctrlKey,u.metaKey,u.shiftKey)&&o),o}),null,null)),e["ɵdid"](10,671744,null,0,nl.p,[nl.m,nl.a,g.LocationStrategy],{routerLink:[0,"routerLink"]},null),(l()(),e["ɵted"](-1,null,["USER_PWD_EXPIRATION_SPAN"])),(l()(),e["ɵted"](-1,null,[" in order to let passwords expire periodically. "]))],(function(l,n){l(n,1,0,"text-pre"),l(n,10,0,"/mgr-modules/edit/dashboard")}),(function(l,n){l(n,9,0,e["ɵnov"](n,10).target,e["ɵnov"](n,10).href)}))}function cn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function pn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,28,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Ol.b,Ol.a)),e["ɵdid"](1,1163264,null,2,sl.c,[e.ElementRef,sl.g],null,null),e["ɵqud"](603979776,8,{FormControlNames:1}),e["ɵqud"](603979776,9,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,7,"label",[["class","cd-col-form-label"],["for","pwdExpirationDate"]],null,null,null,null,null)),e["ɵprd"](512,null,g["ɵNgClassImpl"],g["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](6,278528,null,0,g.NgClass,[g["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),e["ɵpod"](7,{required:0}),(l()(),e["ɵeld"](8,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Password expiration date"])),(l()(),e["ɵand"](16777216,null,null,1,null,rn)),e["ɵdid"](11,16384,null,0,g.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](12,0,null,0,16,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](13,0,null,null,15,"div",[["class","input-group"]],null,null,null,null,null)),(l()(),e["ɵeld"](14,16777216,null,null,9,"input",[["bsDatepicker",""],["class","form-control"],["formControlName","pwdExpirationDate"],["id","pwdExpirationDate"],["name","pwdExpirationDate"],["placeholder","Password expiration date..."],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"],[null,"keyup.esc"]],(function(l,n,u){var o=!0;return"input"===n&&(o=!1!==e["ɵnov"](l,15)._handleInput(u.target.value)&&o),"blur"===n&&(o=!1!==e["ɵnov"](l,15).onTouched()&&o),"compositionstart"===n&&(o=!1!==e["ɵnov"](l,15)._compositionStart()&&o),"compositionend"===n&&(o=!1!==e["ɵnov"](l,15)._compositionEnd(u.target.value)&&o),"change"===n&&(o=!1!==e["ɵnov"](l,17).onChange(u)&&o),"keyup.esc"===n&&(o=!1!==e["ɵnov"](l,17).hide()&&o),"blur"===n&&(o=!1!==e["ɵnov"](l,17).onBlur()&&o),o}),null,null)),e["ɵdid"](15,16384,null,0,h.e,[e.Renderer2,e.ElementRef,[2,h.b]],null,null),e["ɵdid"](16,737280,null,0,el.c,[el.a,e.ElementRef,e.Renderer2,e.ViewContainerRef,G.a],{bsConfig:[0,"bsConfig"],minDate:[1,"minDate"]},null),e["ɵdid"](17,16384,null,0,el.f,[el.c,el.j,e.Renderer2,e.ElementRef,e.ChangeDetectorRef],null,null),e["ɵprd"](1024,null,h.o,(function(l){return[l]}),[el.f]),e["ɵprd"](1024,null,h.p,(function(l,n){return[l,n]}),[h.e,el.f]),e["ɵdid"](20,671744,[[8,4]],0,h.j,[[3,h.d],[6,h.o],[8,null],[6,h.p],[2,h.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,h.q,null,[h.j]),e["ɵdid"](22,16384,null,0,h.r,[[4,h.q]],null,null),e["ɵdid"](23,16384,null,0,sl.h,[[3,h.d],sl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](24,0,null,null,2,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),e["ɵeld"](25,0,null,null,1,"button",[["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var e=!0;return"click"===n&&(e=!1!==l.component.clearExpirationDate()&&e),e}),null,null)),(l()(),e["ɵeld"](26,0,null,null,0,"i",[],[[8,"className",0]],null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,cn)),e["ɵdid"](28,16384,null,0,g.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,1,0);var o=l(n,7,0,u.pwdExpirationSettings.pwdExpirationSpan>0);l(n,6,0,"cd-col-form-label",o),l(n,11,0,0==u.pwdExpirationSettings.pwdExpirationSpan),l(n,16,0,u.bsConfig,u.minDate),l(n,20,0,"pwdExpirationDate"),l(n,23,0,"pwdExpirationDate"),l(n,28,0,u.userForm.showError("pwdExpirationDate",e["ɵnov"](n.parent,2),"required"))}),(function(l,n){var u=n.component;l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,14,0,e["ɵnov"](n,22).ngClassUntouched,e["ɵnov"](n,22).ngClassTouched,e["ɵnov"](n,22).ngClassPristine,e["ɵnov"](n,22).ngClassDirty,e["ɵnov"](n,22).ngClassValid,e["ɵnov"](n,22).ngClassInvalid,e["ɵnov"](n,22).ngClassPending,e["ɵnov"](n,23).validClass,e["ɵnov"](n,23).invalidClass),l(n,26,0,e["ɵinlineInterpolate"](1,"icon-prepend ",u.icons.destroy,""))}))}function mn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Invalid email."]))],null,null)}function vn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"span",[["class","no-border full-height"]],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,"cd-select-badges",[],null,null,null,jl.b,jl.a)),e["ɵdid"](2,49152,null,0,Bl.a,[w.a],{data:[0,"data"],options:[1,"options"],messages:[2,"messages"]},null)],(function(l,n){var u=n.component;l(n,2,0,u.userForm.controls.roles.value,u.allRoles,u.messages)}),null)}function fn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,14,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Ol.b,Ol.a)),e["ɵdid"](1,1163264,null,2,sl.c,[e.ElementRef,sl.g],null,null),e["ɵqud"](603979776,16,{FormControlNames:1}),e["ɵqud"](603979776,17,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,10,"div",[["class","cd-col-form-offset"]],null,null,null,null,null)),(l()(),e["ɵeld"](5,0,null,null,9,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(l()(),e["ɵeld"](6,0,null,null,6,"input",[["class","custom-control-input"],["formControlName","enabled"],["id","enabled"],["name","enabled"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var o=!0;return"change"===n&&(o=!1!==e["ɵnov"](l,7).onChange(u.target.checked)&&o),"blur"===n&&(o=!1!==e["ɵnov"](l,7).onTouched()&&o),o}),null,null)),e["ɵdid"](7,16384,null,0,h.c,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,h.p,(function(l){return[l]}),[h.c]),e["ɵdid"](9,671744,[[16,4]],0,h.j,[[3,h.d],[8,null],[8,null],[6,h.p],[2,h.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,h.q,null,[h.j]),e["ɵdid"](11,16384,null,0,h.r,[[4,h.q]],null,null),e["ɵdid"](12,16384,null,0,sl.h,[[3,h.d],sl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](13,0,null,null,1,"label",[["class","custom-control-label"],["for","enabled"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Enabled"]))],(function(l,n){l(n,1,0),l(n,9,0,"enabled"),l(n,12,0,"enabled")}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,6,0,e["ɵnov"](n,11).ngClassUntouched,e["ɵnov"](n,11).ngClassTouched,e["ɵnov"](n,11).ngClassPristine,e["ɵnov"](n,11).ngClassDirty,e["ɵnov"](n,11).ngClassValid,e["ɵnov"](n,11).ngClassInvalid,e["ɵnov"](n,11).ngClassPending,e["ɵnov"](n,12).validClass,e["ɵnov"](n,12).invalidClass)}))}function gn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,14,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Ol.b,Ol.a)),e["ɵdid"](1,1163264,null,2,sl.c,[e.ElementRef,sl.g],null,null),e["ɵqud"](603979776,18,{FormControlNames:1}),e["ɵqud"](603979776,19,{messagesBlock:0}),(l()(),e["ɵeld"](4,0,null,0,10,"div",[["class","cd-col-form-offset"]],null,null,null,null,null)),(l()(),e["ɵeld"](5,0,null,null,9,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(l()(),e["ɵeld"](6,0,null,null,6,"input",[["class","custom-control-input"],["formControlName","pwdUpdateRequired"],["id","pwdUpdateRequired"],["name","pwdUpdateRequired"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(l,n,u){var o=!0;return"change"===n&&(o=!1!==e["ɵnov"](l,7).onChange(u.target.checked)&&o),"blur"===n&&(o=!1!==e["ɵnov"](l,7).onTouched()&&o),o}),null,null)),e["ɵdid"](7,16384,null,0,h.c,[e.Renderer2,e.ElementRef],null,null),e["ɵprd"](1024,null,h.p,(function(l){return[l]}),[h.c]),e["ɵdid"](9,671744,[[18,4]],0,h.j,[[3,h.d],[8,null],[8,null],[6,h.p],[2,h.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,h.q,null,[h.j]),e["ɵdid"](11,16384,null,0,h.r,[[4,h.q]],null,null),e["ɵdid"](12,16384,null,0,sl.h,[[3,h.d],sl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](13,0,null,null,1,"label",[["class","custom-control-label"],["for","pwdUpdateRequired"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["User must change password at next logon"]))],(function(l,n){l(n,1,0),l(n,9,0,"pwdUpdateRequired"),l(n,12,0,"pwdUpdateRequired")}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).hasErrors,e["ɵnov"](n,1).hasSuccess),l(n,6,0,e["ɵnov"](n,11).ngClassUntouched,e["ɵnov"](n,11).ngClassTouched,e["ɵnov"](n,11).ngClassPristine,e["ɵnov"](n,11).ngClassDirty,e["ɵnov"](n,11).ngClassValid,e["ɵnov"](n,11).ngClassInvalid,e["ɵnov"](n,11).ngClassPending,e["ɵnov"](n,12).validClass,e["ɵnov"](n,12).invalidClass)}))}function hn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,134,"form",[["name","userForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,u){var o=!0;return"submit"===n&&(o=!1!==e["ɵnov"](l,2).onSubmit(u)&&o),"reset"===n&&(o=!1!==e["ɵnov"](l,2).onReset()&&o),"submit"===n&&(o=!1!==e["ɵnov"](l,5).onSubmit()&&o),o}),null,null)),e["ɵdid"](1,16384,null,0,h.G,[],null,null),e["ɵdid"](2,540672,[["formDir",4]],0,h.l,[[8,null],[8,null]],{form:[0,"form"]},null),e["ɵprd"](2048,null,h.d,null,[h.l]),e["ɵdid"](4,16384,null,0,h.s,[[4,h.d]],null,null),e["ɵdid"](5,16384,null,0,sl.d,[],{formGroup:[0,"formGroup"]},null),(l()(),e["ɵeld"](6,0,null,null,128,"div",[["class","card"]],null,null,null,null,null)),(l()(),e["ɵeld"](7,0,null,null,3,"div",[["class","card-header"]],null,null,null,null,null)),(l()(),e["ɵted"](8,null,[""," ",""])),e["ɵppd"](9,1),e["ɵppd"](10,1),(l()(),e["ɵeld"](11,0,null,null,114,"div",[["class","card-body"]],null,null,null,null,null)),(l()(),e["ɵeld"](12,0,null,null,19,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Ol.b,Ol.a)),e["ɵdid"](13,1163264,null,2,sl.c,[e.ElementRef,sl.g],null,null),e["ɵqud"](603979776,2,{FormControlNames:1}),e["ɵqud"](603979776,3,{messagesBlock:0}),(l()(),e["ɵeld"](16,0,null,0,4,"label",[["class","cd-col-form-label"],["for","username"]],null,null,null,null,null)),e["ɵprd"](512,null,g["ɵNgClassImpl"],g["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](18,278528,null,0,g.NgClass,[g["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),e["ɵpod"](19,{required:0}),(l()(),e["ɵted"](-1,null,["Username"])),(l()(),e["ɵeld"](21,0,null,0,10,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](22,0,null,null,7,"input",[["autofocus",""],["class","form-control"],["formControlName","username"],["id","username"],["name","username"],["placeholder","Username..."],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var o=!0;return"input"===n&&(o=!1!==e["ɵnov"](l,23)._handleInput(u.target.value)&&o),"blur"===n&&(o=!1!==e["ɵnov"](l,23).onTouched()&&o),"compositionstart"===n&&(o=!1!==e["ɵnov"](l,23)._compositionStart()&&o),"compositionend"===n&&(o=!1!==e["ɵnov"](l,23)._compositionEnd(u.target.value)&&o),o}),null,null)),e["ɵdid"](23,16384,null,0,h.e,[e.Renderer2,e.ElementRef,[2,h.b]],null,null),e["ɵprd"](1024,null,h.p,(function(l){return[l]}),[h.e]),e["ɵdid"](25,671744,[[2,4]],0,h.j,[[3,h.d],[8,null],[8,null],[6,h.p],[2,h.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,h.q,null,[h.j]),e["ɵdid"](27,16384,null,0,h.r,[[4,h.q]],null,null),e["ɵdid"](28,4210688,null,0,Hl.a,[e.ElementRef],{autofocus:[0,"autofocus"]},null),e["ɵdid"](29,16384,null,0,sl.h,[[3,h.d],sl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,en)),e["ɵdid"](31,16384,null,0,g.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](32,0,null,null,26,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Ol.b,Ol.a)),e["ɵdid"](33,1163264,null,2,sl.c,[e.ElementRef,sl.g],null,null),e["ɵqud"](603979776,4,{FormControlNames:1}),e["ɵqud"](603979776,5,{messagesBlock:0}),(l()(),e["ɵeld"](36,0,null,0,4,"label",[["class","cd-col-form-label"],["for","password"]],null,null,null,null,null)),(l()(),e["ɵeld"](37,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Password"])),(l()(),e["ɵand"](16777216,null,null,1,null,on)),e["ɵdid"](40,16384,null,0,g.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](41,0,null,0,17,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](42,0,null,null,10,"div",[["class","input-group"]],null,null,null,null,null)),(l()(),e["ɵeld"](43,0,null,null,6,"input",[["autocomplete","new-password"],["class","form-control"],["formControlName","password"],["id","password"],["name","password"],["placeholder","Password..."],["type","password"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var o=!0;return"input"===n&&(o=!1!==e["ɵnov"](l,44)._handleInput(u.target.value)&&o),"blur"===n&&(o=!1!==e["ɵnov"](l,44).onTouched()&&o),"compositionstart"===n&&(o=!1!==e["ɵnov"](l,44)._compositionStart()&&o),"compositionend"===n&&(o=!1!==e["ɵnov"](l,44)._compositionEnd(u.target.value)&&o),o}),null,null)),e["ɵdid"](44,16384,null,0,h.e,[e.Renderer2,e.ElementRef,[2,h.b]],null,null),e["ɵprd"](1024,null,h.p,(function(l){return[l]}),[h.e]),e["ɵdid"](46,671744,[[4,4]],0,h.j,[[3,h.d],[8,null],[8,null],[6,h.p],[2,h.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,h.q,null,[h.j]),e["ɵdid"](48,16384,null,0,h.r,[[4,h.q]],null,null),e["ɵdid"](49,16384,null,0,sl.h,[[3,h.d],sl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](50,0,null,null,2,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),e["ɵeld"](51,0,null,null,1,"button",[["cdPasswordButton","password"],["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var o=!0;return"click"===n&&(o=!1!==e["ɵnov"](l,52).onClick()&&o),o}),null,null)),e["ɵdid"](52,81920,null,0,zl.a,[e.ElementRef,e.Renderer2],{cdPasswordButton:[0,"cdPasswordButton"]},null),(l()(),e["ɵeld"](53,0,null,null,1,"div",[["class","password-strength-level"]],null,null,null,null,null)),(l()(),e["ɵeld"](54,0,null,null,0,"div",[["data-toggle","tooltip"]],[[8,"className",0],[8,"title",0]],null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,an)),e["ɵdid"](56,16384,null,0,g.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,dn)),e["ɵdid"](58,16384,null,0,g.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](59,0,null,null,21,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Ol.b,Ol.a)),e["ɵdid"](60,1163264,null,2,sl.c,[e.ElementRef,sl.g],null,null),e["ɵqud"](603979776,6,{FormControlNames:1}),e["ɵqud"](603979776,7,{messagesBlock:0}),(l()(),e["ɵeld"](63,0,null,0,1,"label",[["class","cd-col-form-label"],["for","confirmpassword"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Confirm password"])),(l()(),e["ɵeld"](65,0,null,0,15,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](66,0,null,null,10,"div",[["class","input-group"]],null,null,null,null,null)),(l()(),e["ɵeld"](67,0,null,null,6,"input",[["class","form-control"],["formControlName","confirmpassword"],["id","confirmpassword"],["name","confirmpassword"],["placeholder","Confirm password..."],["type","password"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var o=!0;return"input"===n&&(o=!1!==e["ɵnov"](l,68)._handleInput(u.target.value)&&o),"blur"===n&&(o=!1!==e["ɵnov"](l,68).onTouched()&&o),"compositionstart"===n&&(o=!1!==e["ɵnov"](l,68)._compositionStart()&&o),"compositionend"===n&&(o=!1!==e["ɵnov"](l,68)._compositionEnd(u.target.value)&&o),o}),null,null)),e["ɵdid"](68,16384,null,0,h.e,[e.Renderer2,e.ElementRef,[2,h.b]],null,null),e["ɵprd"](1024,null,h.p,(function(l){return[l]}),[h.e]),e["ɵdid"](70,671744,[[6,4]],0,h.j,[[3,h.d],[8,null],[8,null],[6,h.p],[2,h.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,h.q,null,[h.j]),e["ɵdid"](72,16384,null,0,h.r,[[4,h.q]],null,null),e["ɵdid"](73,16384,null,0,sl.h,[[3,h.d],sl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](74,0,null,null,2,"span",[["class","input-group-append"]],null,null,null,null,null)),(l()(),e["ɵeld"](75,0,null,null,1,"button",[["cdPasswordButton","confirmpassword"],["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(l,n,u){var o=!0;return"click"===n&&(o=!1!==e["ɵnov"](l,76).onClick()&&o),o}),null,null)),e["ɵdid"](76,81920,null,0,zl.a,[e.ElementRef,e.Renderer2],{cdPasswordButton:[0,"cdPasswordButton"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,tn)),e["ɵdid"](78,16384,null,0,g.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,sn)),e["ɵdid"](80,16384,null,0,g.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,pn)),e["ɵdid"](82,16384,null,0,g.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](83,0,null,null,13,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Ol.b,Ol.a)),e["ɵdid"](84,1163264,null,2,sl.c,[e.ElementRef,sl.g],null,null),e["ɵqud"](603979776,10,{FormControlNames:1}),e["ɵqud"](603979776,11,{messagesBlock:0}),(l()(),e["ɵeld"](87,0,null,0,1,"label",[["class","cd-col-form-label"],["for","name"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Full name"])),(l()(),e["ɵeld"](89,0,null,0,7,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](90,0,null,null,6,"input",[["class","form-control"],["formControlName","name"],["id","name"],["name","name"],["placeholder","Full name..."],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var o=!0;return"input"===n&&(o=!1!==e["ɵnov"](l,91)._handleInput(u.target.value)&&o),"blur"===n&&(o=!1!==e["ɵnov"](l,91).onTouched()&&o),"compositionstart"===n&&(o=!1!==e["ɵnov"](l,91)._compositionStart()&&o),"compositionend"===n&&(o=!1!==e["ɵnov"](l,91)._compositionEnd(u.target.value)&&o),o}),null,null)),e["ɵdid"](91,16384,null,0,h.e,[e.Renderer2,e.ElementRef,[2,h.b]],null,null),e["ɵprd"](1024,null,h.p,(function(l){return[l]}),[h.e]),e["ɵdid"](93,671744,[[10,4]],0,h.j,[[3,h.d],[8,null],[8,null],[6,h.p],[2,h.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,h.q,null,[h.j]),e["ɵdid"](95,16384,null,0,h.r,[[4,h.q]],null,null),e["ɵdid"](96,16384,null,0,sl.h,[[3,h.d],sl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](97,0,null,null,15,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Ol.b,Ol.a)),e["ɵdid"](98,1163264,null,2,sl.c,[e.ElementRef,sl.g],null,null),e["ɵqud"](603979776,12,{FormControlNames:1}),e["ɵqud"](603979776,13,{messagesBlock:0}),(l()(),e["ɵeld"](101,0,null,0,1,"label",[["class","cd-col-form-label"],["for","email"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Email"])),(l()(),e["ɵeld"](103,0,null,0,9,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](104,0,null,null,6,"input",[["class","form-control"],["formControlName","email"],["id","email"],["name","email"],["placeholder","Email..."],["type","email"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var o=!0;return"input"===n&&(o=!1!==e["ɵnov"](l,105)._handleInput(u.target.value)&&o),"blur"===n&&(o=!1!==e["ɵnov"](l,105).onTouched()&&o),"compositionstart"===n&&(o=!1!==e["ɵnov"](l,105)._compositionStart()&&o),"compositionend"===n&&(o=!1!==e["ɵnov"](l,105)._compositionEnd(u.target.value)&&o),o}),null,null)),e["ɵdid"](105,16384,null,0,h.e,[e.Renderer2,e.ElementRef,[2,h.b]],null,null),e["ɵprd"](1024,null,h.p,(function(l){return[l]}),[h.e]),e["ɵdid"](107,671744,[[12,4]],0,h.j,[[3,h.d],[8,null],[8,null],[6,h.p],[2,h.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,h.q,null,[h.j]),e["ɵdid"](109,16384,null,0,h.r,[[4,h.q]],null,null),e["ɵdid"](110,16384,null,0,sl.h,[[3,h.d],sl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,mn)),e["ɵdid"](112,16384,null,0,g.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](113,0,null,null,8,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Ol.b,Ol.a)),e["ɵdid"](114,1163264,null,2,sl.c,[e.ElementRef,sl.g],null,null),e["ɵqud"](603979776,14,{FormControlNames:1}),e["ɵqud"](603979776,15,{messagesBlock:0}),(l()(),e["ɵeld"](117,0,null,0,1,"label",[["class","cd-col-form-label"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Roles"])),(l()(),e["ɵeld"](119,0,null,0,2,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,vn)),e["ɵdid"](121,16384,null,0,g.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,fn)),e["ɵdid"](123,16384,null,0,g.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,gn)),e["ɵdid"](125,16384,null,0,g.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](126,0,null,null,8,"div",[["class","card-footer"]],null,null,null,null,null)),(l()(),e["ɵeld"](127,0,null,null,7,"div",[["class","button-group text-right"]],null,null,null,null,null)),(l()(),e["ɵeld"](128,0,null,null,4,"cd-submit-button",[],null,[[null,"submitAction"]],(function(l,n,u){var e=!0;return"submitAction"===n&&(e=!1!==l.component.submit()&&e),e}),Gl.b,Gl.a)),e["ɵdid"](129,114688,null,0,Kl.a,[e.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(l()(),e["ɵted"](130,0,[""," ",""])),e["ɵppd"](131,1),e["ɵppd"](132,1),(l()(),e["ɵeld"](133,0,null,null,1,"cd-back-button",[],null,null,null,Zl.b,Zl.a)),e["ɵdid"](134,49152,null,0,Xl.a,[g.Location,kl.b],null,null)],(function(l,n){var u=n.component;l(n,2,0,u.userForm),l(n,5,0,u.userForm),l(n,13,0);var o=l(n,19,0,u.mode!==u.userFormMode.editing);l(n,18,0,"cd-col-form-label",o),l(n,25,0,"username"),l(n,28,0,""),l(n,29,0,"username"),l(n,31,0,u.userForm.showError("username",e["ɵnov"](n,2),"required")),l(n,33,0),l(n,40,0,u.passwordPolicyHelpText.length>0),l(n,46,0,"password"),l(n,49,0,"password"),l(n,52,0,"password"),l(n,56,0,u.userForm.showError("password",e["ɵnov"](n,2),"required")),l(n,58,0,u.userForm.showError("password",e["ɵnov"](n,2),"passwordPolicy")),l(n,60,0),l(n,70,0,"confirmpassword"),l(n,73,0,"confirmpassword"),l(n,76,0,"confirmpassword"),l(n,78,0,u.userForm.showError("confirmpassword",e["ɵnov"](n,2),"required")),l(n,80,0,u.userForm.showError("confirmpassword",e["ɵnov"](n,2),"match")),l(n,82,0,!u.authStorageService.isSSO()),l(n,84,0),l(n,93,0,"name"),l(n,96,0,"name"),l(n,98,0),l(n,107,0,"email"),l(n,110,0,"email"),l(n,112,0,u.userForm.showError("email",e["ɵnov"](n,2),"email")),l(n,114,0),l(n,121,0,u.allRoles),l(n,123,0,!u.isCurrentUser()),l(n,125,0,!u.isCurrentUser()&&!u.authStorageService.isSSO()),l(n,129,0,e["ɵnov"](n,2))}),(function(l,n){var u=n.component;l(n,0,0,e["ɵnov"](n,4).ngClassUntouched,e["ɵnov"](n,4).ngClassTouched,e["ɵnov"](n,4).ngClassPristine,e["ɵnov"](n,4).ngClassDirty,e["ɵnov"](n,4).ngClassValid,e["ɵnov"](n,4).ngClassInvalid,e["ɵnov"](n,4).ngClassPending);var o=e["ɵunv"](n,8,0,l(n,9,0,e["ɵnov"](n.parent,0),u.action)),a=e["ɵunv"](n,8,1,l(n,10,0,e["ɵnov"](n.parent,1),u.resource));l(n,8,0,o,a),l(n,12,0,e["ɵnov"](n,13).hasErrors,e["ɵnov"](n,13).hasSuccess),l(n,22,0,e["ɵnov"](n,27).ngClassUntouched,e["ɵnov"](n,27).ngClassTouched,e["ɵnov"](n,27).ngClassPristine,e["ɵnov"](n,27).ngClassDirty,e["ɵnov"](n,27).ngClassValid,e["ɵnov"](n,27).ngClassInvalid,e["ɵnov"](n,27).ngClassPending,e["ɵnov"](n,29).validClass,e["ɵnov"](n,29).invalidClass),l(n,32,0,e["ɵnov"](n,33).hasErrors,e["ɵnov"](n,33).hasSuccess),l(n,43,0,e["ɵnov"](n,48).ngClassUntouched,e["ɵnov"](n,48).ngClassTouched,e["ɵnov"](n,48).ngClassPristine,e["ɵnov"](n,48).ngClassDirty,e["ɵnov"](n,48).ngClassValid,e["ɵnov"](n,48).ngClassInvalid,e["ɵnov"](n,48).ngClassPending,e["ɵnov"](n,49).validClass,e["ɵnov"](n,49).invalidClass),l(n,54,0,e["ɵinlineInterpolate"](1,"",u.passwordStrengthLevelClass,""),e["ɵinlineInterpolate"](1,"",u.passwordValuation,"")),l(n,59,0,e["ɵnov"](n,60).hasErrors,e["ɵnov"](n,60).hasSuccess),l(n,67,0,e["ɵnov"](n,72).ngClassUntouched,e["ɵnov"](n,72).ngClassTouched,e["ɵnov"](n,72).ngClassPristine,e["ɵnov"](n,72).ngClassDirty,e["ɵnov"](n,72).ngClassValid,e["ɵnov"](n,72).ngClassInvalid,e["ɵnov"](n,72).ngClassPending,e["ɵnov"](n,73).validClass,e["ɵnov"](n,73).invalidClass),l(n,83,0,e["ɵnov"](n,84).hasErrors,e["ɵnov"](n,84).hasSuccess),l(n,90,0,e["ɵnov"](n,95).ngClassUntouched,e["ɵnov"](n,95).ngClassTouched,e["ɵnov"](n,95).ngClassPristine,e["ɵnov"](n,95).ngClassDirty,e["ɵnov"](n,95).ngClassValid,e["ɵnov"](n,95).ngClassInvalid,e["ɵnov"](n,95).ngClassPending,e["ɵnov"](n,96).validClass,e["ɵnov"](n,96).invalidClass),l(n,97,0,e["ɵnov"](n,98).hasErrors,e["ɵnov"](n,98).hasSuccess),l(n,104,0,e["ɵnov"](n,109).ngClassUntouched,e["ɵnov"](n,109).ngClassTouched,e["ɵnov"](n,109).ngClassPristine,e["ɵnov"](n,109).ngClassDirty,e["ɵnov"](n,109).ngClassValid,e["ɵnov"](n,109).ngClassInvalid,e["ɵnov"](n,109).ngClassPending,e["ɵnov"](n,110).validClass,e["ɵnov"](n,110).invalidClass),l(n,113,0,e["ɵnov"](n,114).hasErrors,e["ɵnov"](n,114).hasSuccess);var d=e["ɵunv"](n,130,0,l(n,131,0,e["ɵnov"](n.parent,0),u.action)),t=e["ɵunv"](n,130,1,l(n,132,0,e["ɵnov"](n.parent,1),u.resource));l(n,130,0,d,t)}))}function Cn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"p",[],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,"strong",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,['You are about to remove "user read / update" permissions from your own user.'])),(l()(),e["ɵeld"](3,0,null,null,0,"br",[],null,null,null,null,null)),(l()(),e["ɵeld"](4,0,null,null,1,"p",[],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["If you continue, you will no longer be able to add or remove roles from any user."])),(l()(),e["ɵeld"](6,0,null,null,1,null,null,null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Are you sure you want to continue?"]))],null,null)}function bn(l){return e["ɵvid"](0,[e["ɵpid"](0,g.TitleCasePipe,[]),e["ɵpid"](0,A.a,[]),e["ɵqud"](402653184,1,{removeSelfUserReadUpdatePermissionTpl:0}),(l()(),e["ɵand"](16777216,null,null,1,null,un)),e["ɵdid"](4,16384,null,0,g.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](5,0,null,null,2,"div",[["class","cd-col-form"]],null,null,null,null,null)),(l()(),e["ɵand"](16777216,null,null,1,null,hn)),e["ɵdid"](7,16384,null,0,g.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](0,[[1,2],["removeSelfUserReadUpdatePermissionTpl",2]],null,0,null,Cn))],(function(l,n){var u=n.component;l(n,4,0,!u.pwdExpirationSettings),l(n,7,0,u.pwdExpirationSettings)}),null)}function Rn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"cd-user-form",[],null,null,null,bn,nn)),e["ɵdid"](1,114688,null,0,Jl.a,[Yl.a,$.a,nl.a,nl.m,X.b,Ql.a,Tl.a,yl.a,w.a,kl.b,Wl.a,$l.a,ln.a],null,null)],(function(l,n){l(n,1,0)}),null)}var wn=e["ɵccf"]("cd-user-form",Jl.a,Rn,{},{},[]),In=u("LvDl"),En=u("x38r");u("vCyI");class Nn{constructor(l){this.i18n=l,this.scopes_permissions=[]}ngOnInit(){this.columns=[{prop:"scope",name:this.i18n("Scope"),flexGrow:2},{prop:"read",name:this.i18n("Read"),flexGrow:1,cellClass:"text-center",cellTransformation:En.a.checkIcon},{prop:"create",name:this.i18n("Create"),flexGrow:1,cellClass:"text-center",cellTransformation:En.a.checkIcon},{prop:"update",name:this.i18n("Update"),flexGrow:1,cellClass:"text-center",cellTransformation:En.a.checkIcon},{prop:"delete",name:this.i18n("Delete"),flexGrow:1,cellClass:"text-center",cellTransformation:En.a.checkIcon}]}ngOnChanges(){if(this.selection.hasSelection){this.selectedItem=this.selection.first();const l=[];In.each(this.scopes,n=>{const u={read:!1,create:!1,update:!1,delete:!1};u.scope=n,n in this.selectedItem.scopes_permissions&&In.each(this.selectedItem.scopes_permissions[n],l=>{u[l]=!0}),l.push(u)}),this.scopes_permissions=l}}}var xn=e["ɵcrt"]({encapsulation:0,styles:[["thead[_ngcontent-%COMP%]{background-color:#f5f5f5}.fa[_ngcontent-%COMP%]{font-size:large}.fa.fa-square-o[_ngcontent-%COMP%]{color:#d1d1d1}"]],data:{}});function Tn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,5,"tabset",[],[[2,"tab-container",null]],null,null,gl.b,gl.a)),e["ɵdid"](1,180224,null,0,ul.e,[ul.f,e.Renderer2,e.ElementRef],null,null),(l()(),e["ɵeld"](2,0,null,0,3,"tab",[["heading","Details"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),e["ɵdid"](3,212992,null,0,ul.b,[ul.e,e.ElementRef,e.Renderer2],{heading:[0,"heading"]},null),(l()(),e["ɵeld"](4,0,null,null,1,"cd-table",[["columnMode","flex"]],null,null,null,Rl.b,Rl.a)),e["ɵdid"](5,2867200,null,0,wl.a,[e.NgZone,e.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],toolHeader:[3,"toolHeader"],footer:[4,"footer"],limit:[5,"limit"],autoReload:[6,"autoReload"],autoSave:[7,"autoSave"]},null)],(function(l,n){var u=n.component;l(n,3,0,"Details"),l(n,5,0,u.scopes_permissions,u.columns,"flex",!1,!1,0,!1,!1)}),(function(l,n){l(n,0,0,e["ɵnov"](n,1).clazz),l(n,2,0,e["ɵnov"](n,3).id,e["ɵnov"](n,3).active,e["ɵnov"](n,3).addClass)}))}function yn(l){return e["ɵvid"](0,[(l()(),e["ɵand"](16777216,null,null,1,null,Tn)),e["ɵdid"](1,16384,null,0,g.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(l,n){var u=n.component;l(n,1,0,null==u.selection?null:u.selection.hasSingleSelection)}),null)}var kn=u("n/D3"),Dn=u("ZDA6"),Sn=e["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function qn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"cd-user-tabs",[],null,null,null,bl,Cl)),e["ɵdid"](1,114688,null,0,hl,[nl.m],null,null),(l()(),e["ɵeld"](2,0,null,null,5,"cd-table",[["columnMode","flex"],["identifier","name"],["selectionType","single"]],null,[[null,"fetchData"],[null,"updateSelection"]],(function(l,n,u){var e=!0,o=l.component;return"fetchData"===n&&(e=!1!==o.getRoles()&&e),"updateSelection"===n&&(e=!1!==o.updateSelection(u)&&e),e}),Rl.b,Rl.a)),e["ɵdid"](3,2867200,null,0,wl.a,[e.NgZone,e.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],identifier:[3,"identifier"],selectionType:[4,"selectionType"]},{fetchData:"fetchData",updateSelection:"updateSelection"}),(l()(),e["ɵeld"](4,0,null,1,1,"cd-table-actions",[["class","table-actions"]],null,null,null,Il.b,Il.a)),e["ɵdid"](5,114688,null,0,El.a,[],{permission:[0,"permission"],selection:[1,"selection"],tableActions:[2,"tableActions"]},null),(l()(),e["ɵeld"](6,0,null,3,1,"cd-role-details",[["cdTableDetail",""]],null,null,null,yn,xn)),e["ɵdid"](7,638976,null,0,Nn,[w.a],{selection:[0,"selection"],scopes:[1,"scopes"]},null)],(function(l,n){var u=n.component;l(n,1,0),l(n,3,0,u.roles,u.columns,"flex","name","single"),l(n,5,0,u.permission,u.selection,u.tableActions),l(n,7,0,u.selection,u.scopes)}),null)}function Fn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,2,"cd-role-list",[],null,null,null,qn,Sn)),e["ɵprd"](256,null,Nl.a,kn.b,[]),e["ɵdid"](2,114688,null,0,kn.a,[Ql.a,Dn.a,P.a,$.a,X.b,yl.a,w.a,Nl.a,kl.b],null,null)],(function(l,n){l(n,2,0)}),null)}var Pn=e["ɵccf"]("cd-role-list",kn.a,Fn,{},{},[]),_n=u("eTJe"),Mn=e["ɵcrt"]({encapsulation:0,styles:[[".datatable-permissions-header-cell-label[_ngcontent-%COMP%], .datatable-permissions-scope-cell-label[_ngcontent-%COMP%]{font-weight:700}"]],data:{}});function Un(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["This field is required."]))],null,null)}function Vn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["The chosen name is already in use."]))],null,null)}function Ln(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,4,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,"input",[["class","custom-control-input"],["type","checkbox"]],[[8,"id",0],[8,"checked",0],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"]],(function(l,n,u){var e=!0;return"change"===n&&(e=!1!==l.component.onClickCellCheckbox(l.context.row.scope,l.context.column.prop,u)&&e),e}),null,null)),e["ɵdid"](2,16384,null,0,sl.h,[[8,null],sl.a],null,null),(l()(),e["ɵeld"](3,0,null,null,1,"label",[["class","datatable-permissions-scope-cell-label custom-control-label"]],[[8,"htmlFor",0]],null,null,null,null)),(l()(),e["ɵted"](4,null,["",""]))],null,(function(l,n){var u=n.component;l(n,1,0,e["ɵinlineInterpolate"](1,"scope_",n.context.row.scope,""),u.isRowChecked(n.context.row.scope),e["ɵnov"](n,2).validClass,e["ɵnov"](n,2).invalidClass),l(n,3,0,e["ɵinlineInterpolate"](1,"scope_",n.context.row.scope,"")),l(n,4,0,n.context.value)}))}function An(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,3,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,"input",[["class","custom-control-input"],["type","checkbox"]],[[8,"checked",0],[8,"id",0],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"]],(function(l,n,u){var e=!0;return"change"===n&&(e=!1!==l.component.onClickCellCheckbox(l.context.row.scope,l.context.column.prop,u)&&e),e}),null,null)),e["ɵdid"](2,16384,null,0,sl.h,[[8,null],sl.a],null,null),(l()(),e["ɵeld"](3,0,null,null,0,"label",[["class","custom-control-label"]],[[8,"htmlFor",0]],null,null,null,null))],null,(function(l,n){l(n,1,0,n.context.value,n.context.row.scope+"-"+n.context.column.prop,e["ɵnov"](n,2).validClass,e["ɵnov"](n,2).invalidClass),l(n,3,0,n.context.row.scope+"-"+n.context.column.prop)}))}function On(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,4,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(l()(),e["ɵeld"](1,0,null,null,1,"input",[["class","custom-control-input"],["type","checkbox"]],[[8,"id",0],[8,"checked",0],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"]],(function(l,n,u){var e=!0;return"change"===n&&(e=!1!==l.component.onClickHeaderCheckbox(l.context.column.prop,u)&&e),e}),null,null)),e["ɵdid"](2,16384,null,0,sl.h,[[8,null],sl.a],null,null),(l()(),e["ɵeld"](3,0,null,null,1,"label",[["class","datatable-permissions-header-cell-label custom-control-label"]],[[8,"htmlFor",0]],null,null,null,null)),(l()(),e["ɵted"](4,null,["",""]))],null,(function(l,n){var u=n.component;l(n,1,0,e["ɵinlineInterpolate"](1,"header_",n.context.column.prop,""),u.isHeaderChecked(n.context.column.prop),e["ɵnov"](n,2).validClass,e["ɵnov"](n,2).invalidClass),l(n,3,0,e["ɵinlineInterpolate"](1,"header_",n.context.column.prop,"")),l(n,4,0,n.context.column.name)}))}function jn(l){return e["ɵvid"](0,[e["ɵpid"](0,g.TitleCasePipe,[]),e["ɵpid"](0,A.a,[]),e["ɵqud"](402653184,1,{headerPermissionCheckboxTpl:0}),e["ɵqud"](402653184,2,{cellScopeCheckboxTpl:0}),e["ɵqud"](402653184,3,{cellPermissionCheckboxTpl:0}),(l()(),e["ɵeld"](5,0,null,null,66,"div",[["class","cd-col-form"]],null,null,null,null,null)),(l()(),e["ɵeld"](6,0,null,null,65,"form",[["name","roleForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(l,n,u){var o=!0;return"submit"===n&&(o=!1!==e["ɵnov"](l,8).onSubmit(u)&&o),"reset"===n&&(o=!1!==e["ɵnov"](l,8).onReset()&&o),"submit"===n&&(o=!1!==e["ɵnov"](l,11).onSubmit()&&o),o}),null,null)),e["ɵdid"](7,16384,null,0,h.G,[],null,null),e["ɵdid"](8,540672,[["formDir",4]],0,h.l,[[8,null],[8,null]],{form:[0,"form"]},null),e["ɵprd"](2048,null,h.d,null,[h.l]),e["ɵdid"](10,16384,null,0,h.s,[[4,h.d]],null,null),e["ɵdid"](11,16384,null,0,sl.d,[],{formGroup:[0,"formGroup"]},null),(l()(),e["ɵeld"](12,0,null,null,59,"div",[["class","card"]],null,null,null,null,null)),(l()(),e["ɵeld"](13,0,null,null,3,"div",[["class","card-header"]],null,null,null,null,null)),(l()(),e["ɵted"](14,null,[""," ",""])),e["ɵppd"](15,1),e["ɵppd"](16,1),(l()(),e["ɵeld"](17,0,null,null,45,"div",[["class","card-body"]],null,null,null,null,null)),(l()(),e["ɵeld"](18,0,null,null,21,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Ol.b,Ol.a)),e["ɵdid"](19,1163264,null,2,sl.c,[e.ElementRef,sl.g],null,null),e["ɵqud"](603979776,4,{FormControlNames:1}),e["ɵqud"](603979776,5,{messagesBlock:0}),(l()(),e["ɵeld"](22,0,null,0,4,"label",[["class","cd-col-form-label"],["for","name"]],null,null,null,null,null)),e["ɵprd"](512,null,g["ɵNgClassImpl"],g["ɵNgClassR2Impl"],[e.IterableDiffers,e.KeyValueDiffers,e.ElementRef,e.Renderer2]),e["ɵdid"](24,278528,null,0,g.NgClass,[g["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),e["ɵpod"](25,{required:0}),(l()(),e["ɵted"](-1,null,["Name"])),(l()(),e["ɵeld"](27,0,null,0,12,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](28,0,null,null,7,"input",[["autofocus",""],["class","form-control"],["formControlName","name"],["id","name"],["name","name"],["placeholder","Name..."],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var o=!0;return"input"===n&&(o=!1!==e["ɵnov"](l,29)._handleInput(u.target.value)&&o),"blur"===n&&(o=!1!==e["ɵnov"](l,29).onTouched()&&o),"compositionstart"===n&&(o=!1!==e["ɵnov"](l,29)._compositionStart()&&o),"compositionend"===n&&(o=!1!==e["ɵnov"](l,29)._compositionEnd(u.target.value)&&o),o}),null,null)),e["ɵdid"](29,16384,null,0,h.e,[e.Renderer2,e.ElementRef,[2,h.b]],null,null),e["ɵprd"](1024,null,h.p,(function(l){return[l]}),[h.e]),e["ɵdid"](31,671744,[[4,4]],0,h.j,[[3,h.d],[8,null],[8,null],[6,h.p],[2,h.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,h.q,null,[h.j]),e["ɵdid"](33,16384,null,0,h.r,[[4,h.q]],null,null),e["ɵdid"](34,4210688,null,0,Hl.a,[e.ElementRef],{autofocus:[0,"autofocus"]},null),e["ɵdid"](35,16384,null,0,sl.h,[[3,h.d],sl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Un)),e["ɵdid"](37,16384,null,0,g.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵand"](16777216,null,null,1,null,Vn)),e["ɵdid"](39,16384,null,0,g.NgIf,[e.ViewContainerRef,e.TemplateRef],{ngIf:[0,"ngIf"]},null),(l()(),e["ɵeld"](40,0,null,null,13,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Ol.b,Ol.a)),e["ɵdid"](41,1163264,null,2,sl.c,[e.ElementRef,sl.g],null,null),e["ɵqud"](603979776,6,{FormControlNames:1}),e["ɵqud"](603979776,7,{messagesBlock:0}),(l()(),e["ɵeld"](44,0,null,0,1,"label",[["class","cd-col-form-label"],["for","description"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Description"])),(l()(),e["ɵeld"](46,0,null,0,7,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](47,0,null,null,6,"input",[["class","form-control"],["formControlName","description"],["id","description"],["name","description"],["placeholder","Description..."],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(l,n,u){var o=!0;return"input"===n&&(o=!1!==e["ɵnov"](l,48)._handleInput(u.target.value)&&o),"blur"===n&&(o=!1!==e["ɵnov"](l,48).onTouched()&&o),"compositionstart"===n&&(o=!1!==e["ɵnov"](l,48)._compositionStart()&&o),"compositionend"===n&&(o=!1!==e["ɵnov"](l,48)._compositionEnd(u.target.value)&&o),o}),null,null)),e["ɵdid"](48,16384,null,0,h.e,[e.Renderer2,e.ElementRef,[2,h.b]],null,null),e["ɵprd"](1024,null,h.p,(function(l){return[l]}),[h.e]),e["ɵdid"](50,671744,[[6,4]],0,h.j,[[3,h.d],[8,null],[8,null],[6,h.p],[2,h.E]],{name:[0,"name"]},null),e["ɵprd"](2048,null,h.q,null,[h.j]),e["ɵdid"](52,16384,null,0,h.r,[[4,h.q]],null,null),e["ɵdid"](53,16384,null,0,sl.h,[[3,h.d],sl.a],{formControlName:[0,"formControlName"]},null),(l()(),e["ɵeld"](54,0,null,null,8,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,Ol.b,Ol.a)),e["ɵdid"](55,1163264,null,2,sl.c,[e.ElementRef,sl.g],null,null),e["ɵqud"](603979776,8,{FormControlNames:1}),e["ɵqud"](603979776,9,{messagesBlock:0}),(l()(),e["ɵeld"](58,0,null,0,1,"label",[["class","cd-col-form-label"]],null,null,null,null,null)),(l()(),e["ɵted"](-1,null,["Permissions"])),(l()(),e["ɵeld"](60,0,null,0,2,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(l()(),e["ɵeld"](61,0,null,null,1,"cd-table",[["columnMode","flex"]],null,null,null,Rl.b,Rl.a)),e["ɵdid"](62,2867200,null,0,wl.a,[e.NgZone,e.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],toolHeader:[3,"toolHeader"],footer:[4,"footer"],limit:[5,"limit"],autoReload:[6,"autoReload"],autoSave:[7,"autoSave"]},null),(l()(),e["ɵeld"](63,0,null,null,8,"div",[["class","card-footer"]],null,null,null,null,null)),(l()(),e["ɵeld"](64,0,null,null,7,"div",[["class","button-group text-right"]],null,null,null,null,null)),(l()(),e["ɵeld"](65,0,null,null,4,"cd-submit-button",[],null,[[null,"submitAction"]],(function(l,n,u){var e=!0;return"submitAction"===n&&(e=!1!==l.component.submit()&&e),e}),Gl.b,Gl.a)),e["ɵdid"](66,114688,null,0,Kl.a,[e.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(l()(),e["ɵted"](67,0,[""," ",""])),e["ɵppd"](68,1),e["ɵppd"](69,1),(l()(),e["ɵeld"](70,0,null,null,1,"cd-back-button",[],null,null,null,Zl.b,Zl.a)),e["ɵdid"](71,49152,null,0,Xl.a,[g.Location,kl.b],null,null),(l()(),e["ɵand"](0,[[2,2],["cellScopeCheckboxTpl",2]],null,0,null,Ln)),(l()(),e["ɵand"](0,[[3,2],["cellPermissionCheckboxTpl",2]],null,0,null,An)),(l()(),e["ɵand"](0,[[1,2],["headerPermissionCheckboxTpl",2]],null,0,null,On))],(function(l,n){var u=n.component;l(n,8,0,u.roleForm),l(n,11,0,u.roleForm),l(n,19,0);var o=l(n,25,0,u.mode!==u.roleFormMode.editing);l(n,24,0,"cd-col-form-label",o),l(n,31,0,"name"),l(n,34,0,""),l(n,35,0,"name"),l(n,37,0,u.roleForm.showError("name",e["ɵnov"](n,8),"required")),l(n,39,0,u.roleForm.showError("name",e["ɵnov"](n,8),"notUnique")),l(n,41,0),l(n,50,0,"description"),l(n,53,0,"description"),l(n,55,0),l(n,62,0,u.scopes_permissions,u.columns,"flex",!1,!1,0,!1,!1),l(n,66,0,e["ɵnov"](n,8))}),(function(l,n){var u=n.component;l(n,6,0,e["ɵnov"](n,10).ngClassUntouched,e["ɵnov"](n,10).ngClassTouched,e["ɵnov"](n,10).ngClassPristine,e["ɵnov"](n,10).ngClassDirty,e["ɵnov"](n,10).ngClassValid,e["ɵnov"](n,10).ngClassInvalid,e["ɵnov"](n,10).ngClassPending);var o=e["ɵunv"](n,14,0,l(n,15,0,e["ɵnov"](n,0),u.action)),a=e["ɵunv"](n,14,1,l(n,16,0,e["ɵnov"](n,1),u.resource));l(n,14,0,o,a),l(n,18,0,e["ɵnov"](n,19).hasErrors,e["ɵnov"](n,19).hasSuccess),l(n,28,0,e["ɵnov"](n,33).ngClassUntouched,e["ɵnov"](n,33).ngClassTouched,e["ɵnov"](n,33).ngClassPristine,e["ɵnov"](n,33).ngClassDirty,e["ɵnov"](n,33).ngClassValid,e["ɵnov"](n,33).ngClassInvalid,e["ɵnov"](n,33).ngClassPending,e["ɵnov"](n,35).validClass,e["ɵnov"](n,35).invalidClass),l(n,40,0,e["ɵnov"](n,41).hasErrors,e["ɵnov"](n,41).hasSuccess),l(n,47,0,e["ɵnov"](n,52).ngClassUntouched,e["ɵnov"](n,52).ngClassTouched,e["ɵnov"](n,52).ngClassPristine,e["ɵnov"](n,52).ngClassDirty,e["ɵnov"](n,52).ngClassValid,e["ɵnov"](n,52).ngClassInvalid,e["ɵnov"](n,52).ngClassPending,e["ɵnov"](n,53).validClass,e["ɵnov"](n,53).invalidClass),l(n,54,0,e["ɵnov"](n,55).hasErrors,e["ɵnov"](n,55).hasSuccess);var d=e["ɵunv"](n,67,0,l(n,68,0,e["ɵnov"](n,0),u.action)),t=e["ɵunv"](n,67,1,l(n,69,0,e["ɵnov"](n,1),u.resource));l(n,67,0,d,t)}))}function Bn(l){return e["ɵvid"](0,[(l()(),e["ɵeld"](0,0,null,null,1,"cd-role-form",[],null,null,null,jn,Mn)),e["ɵdid"](1,114688,null,0,_n.a,[nl.a,nl.m,Ql.a,Dn.a,yl.a,w.a,kl.b],null,null)],(function(l,n){l(n,1,0)}),null)}var Hn=e["ɵccf"]("cd-role-form",_n.a,Bn,{},{},[]);u.d(n,"AuthModuleNgFactory",(function(){return zn})),u.d(n,"RoutedAuthModuleNgFactory",(function(){return Gn}));var zn=e["ɵcmf"](o.a,[],(function(l){return e["ɵmod"]([e["ɵmpd"](512,e.ComponentFactoryResolver,e["ɵCodegenComponentFactoryResolver"],[[8,[a.a,d.a,t.a,s.a,s.b,i.a,r.a,c.a,p.a,m.a,v.a,f.a,f.c,f.b]],[3,e.ComponentFactoryResolver],e.NgModuleRef]),e["ɵmpd"](4608,g.NgLocalization,g.NgLocaleLocalization,[e.LOCALE_ID,[2,g["ɵangular_packages_common_common_a"]]]),e["ɵmpd"](4608,h.D,h.D,[]),e["ɵmpd"](4608,h.h,h.h,[]),e["ɵmpd"](4608,C.a,C.a,[]),e["ɵmpd"](4608,b.a,b.a,[]),e["ɵmpd"](4608,R.a,R.a,[w.a]),e["ɵmpd"](4608,g.DatePipe,g.DatePipe,[e.LOCALE_ID]),e["ɵmpd"](4608,I.a,I.a,[]),e["ɵmpd"](4608,E.a,E.a,[]),e["ɵmpd"](4608,N.a,N.a,[]),e["ɵmpd"](4608,x.a,x.a,[N.a]),e["ɵmpd"](4608,T.a,T.a,[N.a]),e["ɵmpd"](4608,y.a,y.a,[N.a]),e["ɵmpd"](4608,k.a,k.a,[]),e["ɵmpd"](4608,D.a,D.a,[]),e["ɵmpd"](4608,S.a,S.a,[]),e["ɵmpd"](4608,q.a,q.a,[]),e["ɵmpd"](4608,F.a,F.a,[g.DatePipe]),e["ɵmpd"](4608,P.a,P.a,[]),e["ɵmpd"](4608,_.a,_.a,[]),e["ɵmpd"](4608,M.a,M.a,[]),e["ɵmpd"](4608,U.a,U.a,[]),e["ɵmpd"](4608,V.a,V.a,[]),e["ɵmpd"](4608,L.a,L.a,[w.a]),e["ɵmpd"](4608,A.a,A.a,[]),e["ɵmpd"](4608,O.a,O.a,[]),e["ɵmpd"](4608,j.a,j.a,[]),e["ɵmpd"](4608,B.b,B.b,[]),e["ɵmpd"](4608,H.a,H.a,[]),e["ɵmpd"](4608,z.a,z.a,[e.RendererFactory2,e.PLATFORM_ID]),e["ɵmpd"](4608,G.a,G.a,[e.ComponentFactoryResolver,e.NgZone,e.Injector,z.a,e.ApplicationRef]),e["ɵmpd"](4608,K.c,K.c,[]),e["ɵmpd"](4608,Z.a,Z.a,[]),e["ɵmpd"](4608,X.b,X.b,[e.RendererFactory2,G.a]),e["ɵmpd"](4608,J.ScrollbarHelper,J.ScrollbarHelper,[g.DOCUMENT]),e["ɵmpd"](4608,Y.DimensionsHelper,Y.DimensionsHelper,[]),e["ɵmpd"](4608,Q.ColumnChangesService,Q.ColumnChangesService,[]),e["ɵmpd"](4608,W.f,W.f,[]),e["ɵmpd"](4608,$.a,$.a,[]),e["ɵmpd"](4608,ll.a,ll.a,[nl.m,$.a]),e["ɵmpd"](4608,ul.f,ul.f,[]),e["ɵmpd"](4608,el.r,el.r,[]),e["ɵmpd"](4608,el.t,el.t,[]),e["ɵmpd"](4608,el.a,el.a,[]),e["ɵmpd"](4608,el.h,el.h,[]),e["ɵmpd"](4608,el.d,el.d,[]),e["ɵmpd"](4608,el.j,el.j,[]),e["ɵmpd"](4608,el.s,el.s,[el.t,el.j]),e["ɵmpd"](1073742336,ol.a,ol.a,[]),e["ɵmpd"](1073742336,g.CommonModule,g.CommonModule,[]),e["ɵmpd"](1073742336,h.C,h.C,[]),e["ɵmpd"](1073742336,h.n,h.n,[]),e["ɵmpd"](1073742336,H.d,H.d,[]),e["ɵmpd"](1073742336,h.y,h.y,[]),e["ɵmpd"](1073742336,al.a,al.a,[]),e["ɵmpd"](1073742336,B.c,B.c,[]),e["ɵmpd"](1073742336,K.d,K.d,[]),e["ɵmpd"](1073742336,Z.d,Z.d,[]),e["ɵmpd"](1073742336,dl.b,dl.b,[]),e["ɵmpd"](1073742336,X.e,X.e,[]),e["ɵmpd"](1073742336,tl.a,tl.a,[]),e["ɵmpd"](1073742336,W.e,W.e,[]),e["ɵmpd"](1073742336,sl.f,sl.f,[]),e["ɵmpd"](1073742336,il.ClickOutsideModule,il.ClickOutsideModule,[]),e["ɵmpd"](1073742336,rl.b,rl.b,[]),e["ɵmpd"](1073742336,nl.q,nl.q,[[2,nl.v],[2,nl.m]]),e["ɵmpd"](1073742336,cl.a,cl.a,[]),e["ɵmpd"](1073742336,pl.NgxDatatableModule,pl.NgxDatatableModule,[]),e["ɵmpd"](1073742336,ml.a,ml.a,[]),e["ɵmpd"](1073742336,vl.a,vl.a,[]),e["ɵmpd"](1073742336,fl.a,fl.a,[]),e["ɵmpd"](1073742336,ul.d,ul.d,[]),e["ɵmpd"](1073742336,el.g,el.g,[]),e["ɵmpd"](1073742336,o.a,o.a,[]),e["ɵmpd"](256,e.LOCALE_ID,"en-US",[]),e["ɵmpd"](256,W.a,{autoClose:!0,insideClick:!1},[]),e["ɵmpd"](256,e.TRANSLATIONS_FORMAT,"xlf",[])])})),Gn=e["ɵcmf"](o.b,[],(function(l){return e["ɵmod"]([e["ɵmpd"](512,e.ComponentFactoryResolver,e["ɵCodegenComponentFactoryResolver"],[[8,[a.a,d.a,t.a,s.a,s.b,i.a,r.a,c.a,p.a,m.a,v.a,f.a,f.c,f.b,Ml,wn,Pn,Hn]],[3,e.ComponentFactoryResolver],e.NgModuleRef]),e["ɵmpd"](4608,g.NgLocalization,g.NgLocaleLocalization,[e.LOCALE_ID,[2,g["ɵangular_packages_common_common_a"]]]),e["ɵmpd"](4608,h.D,h.D,[]),e["ɵmpd"](4608,h.h,h.h,[]),e["ɵmpd"](4608,C.a,C.a,[]),e["ɵmpd"](4608,b.a,b.a,[]),e["ɵmpd"](4608,R.a,R.a,[w.a]),e["ɵmpd"](4608,g.DatePipe,g.DatePipe,[e.LOCALE_ID]),e["ɵmpd"](4608,I.a,I.a,[]),e["ɵmpd"](4608,E.a,E.a,[]),e["ɵmpd"](4608,N.a,N.a,[]),e["ɵmpd"](4608,x.a,x.a,[N.a]),e["ɵmpd"](4608,T.a,T.a,[N.a]),e["ɵmpd"](4608,y.a,y.a,[N.a]),e["ɵmpd"](4608,k.a,k.a,[]),e["ɵmpd"](4608,D.a,D.a,[]),e["ɵmpd"](4608,S.a,S.a,[]),e["ɵmpd"](4608,q.a,q.a,[]),e["ɵmpd"](4608,F.a,F.a,[g.DatePipe]),e["ɵmpd"](4608,P.a,P.a,[]),e["ɵmpd"](4608,_.a,_.a,[]),e["ɵmpd"](4608,M.a,M.a,[]),e["ɵmpd"](4608,U.a,U.a,[]),e["ɵmpd"](4608,V.a,V.a,[]),e["ɵmpd"](4608,L.a,L.a,[w.a]),e["ɵmpd"](4608,A.a,A.a,[]),e["ɵmpd"](4608,O.a,O.a,[]),e["ɵmpd"](4608,j.a,j.a,[]),e["ɵmpd"](4608,B.b,B.b,[]),e["ɵmpd"](4608,H.a,H.a,[]),e["ɵmpd"](4608,z.a,z.a,[e.RendererFactory2,e.PLATFORM_ID]),e["ɵmpd"](4608,G.a,G.a,[e.ComponentFactoryResolver,e.NgZone,e.Injector,z.a,e.ApplicationRef]),e["ɵmpd"](4608,K.c,K.c,[]),e["ɵmpd"](4608,Z.a,Z.a,[]),e["ɵmpd"](4608,X.b,X.b,[e.RendererFactory2,G.a]),e["ɵmpd"](4608,J.ScrollbarHelper,J.ScrollbarHelper,[g.DOCUMENT]),e["ɵmpd"](4608,Y.DimensionsHelper,Y.DimensionsHelper,[]),e["ɵmpd"](4608,Q.ColumnChangesService,Q.ColumnChangesService,[]),e["ɵmpd"](4608,W.f,W.f,[]),e["ɵmpd"](4608,$.a,$.a,[]),e["ɵmpd"](4608,ll.a,ll.a,[nl.m,$.a]),e["ɵmpd"](4608,ul.f,ul.f,[]),e["ɵmpd"](4608,el.r,el.r,[]),e["ɵmpd"](4608,el.t,el.t,[]),e["ɵmpd"](4608,el.a,el.a,[]),e["ɵmpd"](4608,el.h,el.h,[]),e["ɵmpd"](4608,el.d,el.d,[]),e["ɵmpd"](4608,el.j,el.j,[]),e["ɵmpd"](4608,el.s,el.s,[el.t,el.j]),e["ɵmpd"](1073742336,ol.a,ol.a,[]),e["ɵmpd"](1073742336,g.CommonModule,g.CommonModule,[]),e["ɵmpd"](1073742336,h.C,h.C,[]),e["ɵmpd"](1073742336,h.n,h.n,[]),e["ɵmpd"](1073742336,H.d,H.d,[]),e["ɵmpd"](1073742336,h.y,h.y,[]),e["ɵmpd"](1073742336,al.a,al.a,[]),e["ɵmpd"](1073742336,B.c,B.c,[]),e["ɵmpd"](1073742336,K.d,K.d,[]),e["ɵmpd"](1073742336,Z.d,Z.d,[]),e["ɵmpd"](1073742336,dl.b,dl.b,[]),e["ɵmpd"](1073742336,X.e,X.e,[]),e["ɵmpd"](1073742336,tl.a,tl.a,[]),e["ɵmpd"](1073742336,W.e,W.e,[]),e["ɵmpd"](1073742336,sl.f,sl.f,[]),e["ɵmpd"](1073742336,il.ClickOutsideModule,il.ClickOutsideModule,[]),e["ɵmpd"](1073742336,rl.b,rl.b,[]),e["ɵmpd"](1073742336,nl.q,nl.q,[[2,nl.v],[2,nl.m]]),e["ɵmpd"](1073742336,cl.a,cl.a,[]),e["ɵmpd"](1073742336,pl.NgxDatatableModule,pl.NgxDatatableModule,[]),e["ɵmpd"](1073742336,ml.a,ml.a,[]),e["ɵmpd"](1073742336,vl.a,vl.a,[]),e["ɵmpd"](1073742336,fl.a,fl.a,[]),e["ɵmpd"](1073742336,ul.d,ul.d,[]),e["ɵmpd"](1073742336,el.g,el.g,[]),e["ɵmpd"](1073742336,o.a,o.a,[]),e["ɵmpd"](1073742336,o.b,o.b,[]),e["ɵmpd"](256,e.LOCALE_ID,"en-US",[]),e["ɵmpd"](256,W.a,{autoClose:!0,insideClick:!1},[]),e["ɵmpd"](1024,nl.k,(function(){return[[{path:"",redirectTo:"users",pathMatch:"full"},{path:"users",data:o.c,children:[{path:"",component:xl.a},{path:"create",component:Jl.a,data:o.d},{path:"edit/:username",component:Jl.a,data:o.e}]},{path:"roles",data:o.f,children:[{path:"",component:kn.a},{path:"create",component:_n.a,data:o.g},{path:"edit/:name",component:_n.a,data:o.h}]}]]}),[]),e["ɵmpd"](256,e.TRANSLATIONS_FORMAT,"xlf",[])])}))}}]);
\ No newline at end of file
index 4a6f8880061b6a3178d68e27a061ba2fb47c56fe..096e4d6ea861a43c0e42d1ca480a3848baec69a8 100644 (file)
@@ -24,5 +24,5 @@
   </noscript>
 
   <cd-root></cd-root>
-<script src="runtime.a1d3bd9700d820216e9a.js" defer></script><script src="polyfills.e36c0f03dbcdd3187a99.js" defer></script><script src="scripts.76632aba1e576c7cc54a.js" defer></script><script src="main.3101f12ca40b61271b1f.js" defer></script></body>
+<script src="runtime.2fd4e31a298ae797b302.js" defer></script><script src="polyfills.e36c0f03dbcdd3187a99.js" defer></script><script src="scripts.76632aba1e576c7cc54a.js" defer></script><script src="main.bbd2d62de0d7a670cae3.js" defer></script></body>
 </html>
diff --git a/ceph/src/pybind/mgr/dashboard/frontend/dist/en-US/main.3101f12ca40b61271b1f.js b/ceph/src/pybind/mgr/dashboard/frontend/dist/en-US/main.3101f12ca40b61271b1f.js
deleted file mode 100644 (file)
index e595c39..0000000
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{"+0ag":function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{transform(t){const e=/ceph version\s+[^ ]+\s+\(.+\)\s+(.+)\s+\((.+)\)/.exec(t);return e?"dev"===e[2]?"master":e[1]:t}}},"+6XX":function(t,e,n){var a=n("y1pI");t.exports=function(t){return a(this.__data__,t)>-1}},"+K+b":function(t,e,n){var a=n("JHRd");t.exports=function(t){var e=new t.constructor(t.byteLength);return new a(e).set(new a(t)),e}},"+Qka":function(t,e,n){var a=n("fmRc"),r=n("t2Dn"),o=n("cq/+"),i=n("T1AV"),s=n("GoyQ"),c=n("mTTR"),l=n("itsj");t.exports=function t(e,n,d,u,g){e!==n&&o(n,(function(o,c){if(g||(g=new a),s(o))i(e,n,c,d,t,u,g);else{var f=u?u(l(e,c),o,c+"",e,n,g):void 0;void 0===f&&(f=o),r(e,c,f)}}),c)}},"+Wg/":function(t,e,n){"use strict";n.r(e),e.default='<xliff xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 http://docs.oasis-open.org/xliff/v1.2/os/xliff-core-1.2-strict.xsd" xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">\n  <file original="ng2.template" datatype="plaintext" source-language="en-US" target-language="pt-BR">\n    <body>\n      <trans-unit id="319e0745bcbc132451569294fa2fa21bf10f555a" datatype="html">\n        <source>Toggle navigation</source>\n        <target>Alternar navegação</target>\n      </trans-unit>\n      <trans-unit id="f65253954b66e929a8b4d5ecaf61f9129f8cec64" datatype="html">\n        <source>Dashboard</source>\n        <target>Painel de controle</target>\n      </trans-unit>\n      <trans-unit id="f4d1dd59b039ad818d9da7e29a773e10e41d9821" datatype="html">\n        <source>Cluster</source>\n        <target>Cluster</target>\n      </trans-unit>\n      <trans-unit id="099b441d49333b3c6d30b36dc0a4763e64c78920" datatype="html">\n        <source>Hosts</source>\n        <target>Hosts</target>\n      </trans-unit>\n      <trans-unit id="2cc3ecb16e348fcf2f2fbfd2f997d4d22f37475b" datatype="html">\n        <source>Inventory</source>\n        <target>Inventory</target>\n      </trans-unit>\n      <trans-unit id="624f596cc3320f5e0a0d7c7346c364e5af9bdd8c" datatype="html">\n        <source>Monitors</source>\n        <target>Monitores</target>\n      </trans-unit>\n      <trans-unit id="419d940613972cc3fae9c8ea0a4306dbf80616e5" datatype="html">\n        <source>Services</source>\n        <target>Serviços</target>\n      </trans-unit>\n      <trans-unit id="1a9183778f2c6473d7ccb080f651caa01faaf70c" datatype="html">\n        <source>OSDs</source>\n        <target>OSDs</target>\n      </trans-unit>\n      <trans-unit id="4a41f824a35ba01d5bd7be61aa06b3e8145209d0" datatype="html">\n        <source>Configuration</source>\n        <target>Configuração</target>\n      </trans-unit>\n      <trans-unit id="8c95898abff46bfac3ed6eb2afef74597e60b15c" datatype="html">\n        <source>CRUSH map</source>\n        <target>Mapa CRUSH</target>\n      </trans-unit>\n      <trans-unit id="33da4dbeb076159510801ea764a218fd341269d2" datatype="html">\n        <source>Manager modules</source>\n        <target>Módulos do gerenciador</target>\n      </trans-unit>\n      <trans-unit id="eb3d5aefff38a814b76da74371cbf02c0789a1ef" datatype="html">\n        <source>Logs</source>\n        <target>Registros</target>\n      </trans-unit>\n      <trans-unit id="9fe218829514884cdd0ca2300573a4e0428c324f" datatype="html">\n        <source>Alerts</source>\n        <target>Alertas</target>\n      </trans-unit>\n      <trans-unit id="aa0c44aa1e5727061baa91e954f77e2f5f9a37c9" datatype="html">\n        <source>Silences</source>\n        <target>Silences</target>\n      </trans-unit>\n      <trans-unit id="92899fa68e8ca108912163ff58edc8540e453787" datatype="html">\n        <source>Pools</source>\n        <target>Pools</target>\n      </trans-unit>\n      <trans-unit id="7f5d0c10614e8a34f0e2dad33a0568277c50cf69" datatype="html">\n        <source>Block</source>\n        <target>Bloco</target>\n      </trans-unit>\n      <trans-unit id="b73f7f5060fb22a1e9ec462b1bb02493fa3ab866" datatype="html">\n        <source>Images</source>\n        <target>Imagens</target>\n      </trans-unit>\n      <trans-unit id="3c2562ba992127203dcfd014010b03cb7b8113c6" datatype="html">\n        <source>Mirroring</source>\n        <target>Espelhamento</target>\n      </trans-unit>\n      <trans-unit id="811c241d56601b91ef26735b770e64428089b950" datatype="html">\n        <source>iSCSI</source>\n        <target>iSCSI</target>\n      </trans-unit>\n      <trans-unit id="a24eabd99ea5af20f5f94c4484649cd30370042b" datatype="html">\n        <source>NFS</source>\n        <target>NFS</target>\n      </trans-unit>\n      <trans-unit id="a4eff72d97b7ced051398d581f10968218057ddc" datatype="html">\n        <source>Filesystems</source>\n        <target>Sistemas de arquivos</target>\n      </trans-unit>\n      <trans-unit id="2190548d236ca5f7bc7ab2bca334b860c5ff2ad4" datatype="html">\n        <source>Object Gateway</source>\n        <target>Gateway de Objetos</target>\n      </trans-unit>\n      <trans-unit id="9e24f9e2d42104ffc01599db4d566d1cc518f9e6" datatype="html">\n        <source>Daemons</source>\n        <target>Daemons</target>\n      </trans-unit>\n      <trans-unit id="4d13a9cd5ed3dcee0eab22cb25198d43886942be" datatype="html">\n        <source>Users</source>\n        <target>Usuários</target>\n      </trans-unit>\n      <trans-unit id="9515520496da83179d8b08132f00f575512a1f40" datatype="html">\n        <source>Buckets</source>\n        <target>Compartimentos</target>\n      </trans-unit>\n      <trans-unit id="797f8214e8148f4bf0d244baaa7341706b419549" datatype="html">\n        <source>Retrieving data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>. Please wait...\n        </source>\n        <target>Retrieving data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>. Please wait...\n        </target>\n      </trans-unit>\n      <trans-unit id="5a870dc77b9f6f33ee671ea2d856021276933339" datatype="html">\n        <source>Displaying previously cached data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>\n  for \n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n        </source>\n        <target>Displaying previously cached data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>\n  for \n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="ae580202919844531361ba2308287226ff74a584" datatype="html">\n        <source>Could not load data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n  Please check the cluster health.\n        </source>\n        <target>Could not load data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n  Please check the cluster health.\n        </target>\n      </trans-unit>\n      <trans-unit id="7e52e9143145e1db5146258de81eae018a407b31" datatype="html">\n        <source>Clear notifications</source>\n        <target>Clear notifications</target>\n      </trans-unit>\n      <trans-unit id="b0b07bb6b7ff21ede439dd04eaf8872d1ecb84d8" datatype="html">\n        <source>Remove notification</source>\n        <target>Remove notification</target>\n      </trans-unit>\n      <trans-unit id="e17a1d75189da843f541f7764f188f2b19a97df2" datatype="html">\n        <source>Duration:</source>\n        <target>Duration:</target>\n      </trans-unit>\n      <trans-unit id="0d4b37c6675c5b436a54c43d6716eec835e1aa7f" datatype="html">\n        <source>There are no notifications.</source>\n        <target>There are no notifications.</target>\n      </trans-unit>\n      <trans-unit id="0a23e992f6c6e169a38b2b7338b4e5e803b52e0d" datatype="html">\n        <source>Tasks and Notifications</source>\n        <target>Tasks and Notifications</target>\n      </trans-unit>\n      <trans-unit id="3fb5709e10166cbc85970cbff103db227dbeb813" datatype="html">\n        <source>Select a Language</source>\n        <target>Selecionar Idioma</target>\n      </trans-unit>\n      <trans-unit id="c5109325fb160b543f71a51e7511c00575057431" datatype="html">\n        <source>Loading panel data...</source>\n        <target>Carregando dados do painel...</target>\n      </trans-unit>\n      <trans-unit id="8ca12411f890ab8b0a9216418e2b8f5ea7d2441a" datatype="html">\n        <source>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the monitoring functionality.\n        </source>\n        <target>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the monitoring functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="160a9e80dc089792df42e2400b1e81b9e7025aa7" datatype="html">\n        <source>Grafana Dashboard doesn\'t exist. Please refer to\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  add dashboards to Grafana.\n        </source>\n        <target>Grafana Dashboard doesn\'t exist. Please refer to\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  add dashboards to Grafana.\n        </target>\n      </trans-unit>\n      <trans-unit id="4e11830040bd64804a0555de76f291d5832772d4" datatype="html">\n        <source>Grafana Time Picker</source>\n        <target>Seletor de Horário do Grafana</target>\n      </trans-unit>\n      <trans-unit id="238c1ba845dd7330e8088165275919a1debf1ca3" datatype="html">\n        <source>Reset Settings</source>\n        <target>Redefinir Configurações</target>\n      </trans-unit>\n      <trans-unit id="c8d1785038d461ec66b5799db21864182b35900a" datatype="html">\n        <source>Refresh</source>\n        <target>Refresh</target>\n      </trans-unit>\n      <trans-unit id="6c947210e2d162b6225083d18820ab602f58cd2d" datatype="html">\n        <source>Remove the custom configuration value. The default configuration will be inherited and used instead.</source>\n        <target>Remove the custom configuration value. The default configuration will be inherited and used instead.</target>\n      </trans-unit>\n      <trans-unit id="454ee9cb60b00446a8fb147fd2cc5eb836320586" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ option.maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ option.maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="7fc8a22825131e028336f60ef909ccbd96059703" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ option.minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ option.minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="cda31dbd724cf5f4fa7a4274d9120651490c8a8c" datatype="html">\n        <source>Back</source>\n        <target>Voltar</target>\n      </trans-unit>\n      <trans-unit id="012741ee52b3c050e4a977c37cc2334f7974f141" datatype="html">\n        <source>Failed to load data.</source>\n        <target>Falha ao carregar dados.</target>\n      </trans-unit>\n      <trans-unit id="80cc9a12d4bf6fe454ed94b379eeaf915f920bb7" datatype="html">\n        <source>selected</source>\n        <target>selecionado(s)</target>\n        <note>X selected</note>\n      </trans-unit>\n      <trans-unit id="0cb77511a9a148e05b9adf36cc07269956fbb29d" datatype="html">\n        <source>found</source>\n        <target>encontrado(s)</target>\n        <note>X found</note>\n      </trans-unit>\n      <trans-unit id="79347388740c50b7ac97e144c2494bb62912f312" datatype="html">\n        <source>total</source>\n        <target>total</target>\n        <note>X total</note>\n      </trans-unit>\n      <trans-unit id="cff1428d10d59d14e45edec3c735a27b5482db59" datatype="html">\n        <source>Name</source>\n        <target>Nome</target>\n      </trans-unit>\n      <trans-unit id="eec715de352a6b114713b30b640d319fa78207a0" datatype="html">\n        <source>Description</source>\n        <target>Descrição</target>\n      </trans-unit>\n      <trans-unit id="4ad112ce9bcd55dfd137792a86afe1b5a5b13cf8" datatype="html">\n        <source>Long description</source>\n        <target>Descrição extensa</target>\n      </trans-unit>\n      <trans-unit id="ff7cee38a2259526c519f878e71b964f41db4348" datatype="html">\n        <source>Default</source>\n        <target>Padrão</target>\n      </trans-unit>\n      <trans-unit id="33e1c1d9fc05ca3f62fcc8a1170fc31ebae4229c" datatype="html">\n        <source>Daemon default</source>\n        <target>Padrão do daemon</target>\n      </trans-unit>\n      <trans-unit id="809b0c848932a41318f77a2aace904ef429c13f4" datatype="html">\n        <source>Values</source>\n        <target>Valores</target>\n      </trans-unit>\n      <trans-unit id="82029b6db704c56a2aa3e82ac555b8655356b077" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8ed8b3967a7326b81b191c9f490006e6a6777a9a" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="52c9a103b812f258bcddc3d90a6e3f46871d25fe" datatype="html">\n        <source>Save</source>\n        <target>Salvar</target>\n      </trans-unit>\n      <trans-unit id="738de688b22fba5d0dc7a5e549996838dddad0ee" datatype="html">\n        <source>CRUSH map viewer</source>\n        <target>Visualizador de mapa CRUSH</target>\n      </trans-unit>\n      <trans-unit id="94516fa213706c67ce5a5b5765681d7fb032033a" datatype="html">\n        <source>Loading...</source>\n        <target>Carregando...</target>\n      </trans-unit>\n      <trans-unit id="formTitle" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </target>\n        <note>form title</note>\n      </trans-unit>\n      <trans-unit id="9a541ec1a4319fffc16ad3b3ab2c2b6d251a829d" datatype="html">\n        <source>Hostname</source>\n        <target>Nome de host</target>\n      </trans-unit>\n      <trans-unit id="7cbdabcece469fab89cfa687ab152bca18b97498" datatype="html">\n        <source>This field is required.</source>\n        <target>Este campo é obrigatório.</target>\n      </trans-unit>\n      <trans-unit id="1b3f5e5291541678f7afa49d28fad5ca848a8061" datatype="html">\n        <source>The chosen hostname is already in use.</source>\n        <target>The chosen hostname is already in use.</target>\n      </trans-unit>\n      <trans-unit id="formActionButton" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </target>\n        <note>form action button</note>\n      </trans-unit>\n      <trans-unit id="6110699a3562eeb15371063c0cf7f6bfd88a0209" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemNames[0] }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemNames[0] }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>?\n        </target>\n      </trans-unit>\n      <trans-unit id="549859e511ba5af0ea03fcaa620c472f08038969" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected items?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected items?\n        </target>\n      </trans-unit>\n      <trans-unit id="54839ebc827b73c9dc4e1df731c6d36a85036af7" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected \n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected \n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>?\n        </target>\n      </trans-unit>\n      <trans-unit id="2be8b7f04f0104d3fad90d079d8202b74f758b9a" datatype="html">\n        <source>Yes, I am sure.</source>\n        <target>Sim, desejo.</target>\n      </trans-unit>\n      <trans-unit id="d7b35c384aecd25a516200d6921836374613dfe7" datatype="html">\n        <source>Cancel</source>\n        <target>Cancelar</target>\n      </trans-unit>\n      <trans-unit id="40661476cb24c89d8b06614998e31d5fbe84eeb6" datatype="html">\n        <source>Hosts List</source>\n        <target>Lista de Hosts</target>\n      </trans-unit>\n      <trans-unit id="5e7f4b1ca49e8d217bd0e12c6f7d6b6a2ade2c18" datatype="html">\n        <source>Overall Performance</source>\n        <target>Desempenho Geral</target>\n      </trans-unit>\n      <trans-unit id="6bc15dc1a621b6ff7378db7fd3ac10b2a2627c77" datatype="html">\n        <source>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the orchestrator functionality.\n        </source>\n        <target>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the orchestrator functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="3e24569eca61d598c8b01defbbbb1fa8bd5222bc" datatype="html">\n        <source>Devices</source>\n        <target>Devices</target>\n      </trans-unit>\n      <trans-unit id="e6d57f36aa2bad303c8a8ee944b9bd7fae3c8c26" datatype="html">\n        <source>No entries found</source>\n        <target>Nenhuma entrada encontrada</target>\n      </trans-unit>\n      <trans-unit id="d556ab48a65722b400e497f61737f553ee0f89e2" datatype="html">\n        <source>Cluster Logs</source>\n        <target>Registros do Cluster</target>\n      </trans-unit>\n      <trans-unit id="5f966baffd188be0e8adc2d7067b86e55fc9b9de" datatype="html">\n        <source>Audit Logs</source>\n        <target>Registros de Auditoria</target>\n      </trans-unit>\n      <trans-unit id="4193c9eb868aeec119b78a14795241e0aa5e8b60" datatype="html">\n        <source>Priority:</source>\n        <target>Priority:</target>\n      </trans-unit>\n      <trans-unit id="1d78ca51eab260ce3fd917d39190d64df5229b6e" datatype="html">\n        <source>Keyword:</source>\n        <target>Keyword:</target>\n      </trans-unit>\n      <trans-unit id="05fa0bded36de6e73a1fa44838b627349dace044" datatype="html">\n        <source>Date:</source>\n        <target>Date:</target>\n      </trans-unit>\n      <trans-unit id="31dadb362bf7f7c2afa10e5f96474ccd3977f91f" datatype="html">\n        <source>Datepicker</source>\n        <target>Datepicker</target>\n      </trans-unit>\n      <trans-unit id="85a400388de1899b1917138cf7e5286376f72847" datatype="html">\n        <source>Time range:</source>\n        <target>Time range:</target>\n      </trans-unit>\n      <trans-unit id="2447796ddbda942f4e2c46619cb84d69f066e568" datatype="html">\n        <source>Loading configuration...</source>\n        <target>Carregando configuração...</target>\n      </trans-unit>\n      <trans-unit id="b42c0b347a841bed8859ee83de05080ee28c803b" datatype="html">\n        <source>The configuration could not be loaded.</source>\n        <target>Não foi possível carregar a configuração.</target>\n      </trans-unit>\n      <trans-unit id="31a9c2870a934b594d1390146c489f76440859ea" datatype="html">\n        <source>Edit Manager module</source>\n        <target>Editar módulo do gerenciador</target>\n      </trans-unit>\n      <trans-unit id="46e09b8290d3d0afdb6baa2021395b0570606a31" datatype="html">\n        <source>The entered value is not a valid UUID, e.g.: 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8</source>\n        <target>O valor inserido não é um UUID válido. Ex.: 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8</target>\n      </trans-unit>\n      <trans-unit id="7aacd038b39cfd347107d01d1dc27f5cb3e0951c" datatype="html">\n        <source>The entered value needs to be a valid IP address.</source>\n        <target>O valor inserido precisa ser um endereço IP válido.</target>\n      </trans-unit>\n      <trans-unit id="f19106149f4b07a0d721f9d317afed393cb7bd93" datatype="html">\n        <source>The entered value is too high! It must be lower or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.max }}"/>.\n        </source>\n        <target>The entered value is too high! It must be lower or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.max }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="6d33c40ef9a6c3bf0888df831b25e41e65f9d15b" datatype="html">\n        <source>The entered value is too low! It must be greater or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.min }}"/>.\n        </source>\n        <target>The entered value is too low! It must be greater or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.min }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="eae7086660cf1e38c7194a2c49ff52cc656f90f5" datatype="html">\n        <source>The entered value needs to be a number.</source>\n        <target>O valor inserido precisa ser um número.</target>\n      </trans-unit>\n      <trans-unit id="a73376e04b4fb3a20734c8c39743fba32e6676ce" datatype="html">\n        <source>The entered value needs to be a number or decimal.</source>\n        <target>O valor inserido precisa ser um número ou decimal.</target>\n      </trans-unit>\n      <trans-unit id="047f50bc5b5d17b5bec0196355953e1a5c590ddb" datatype="html">\n        <source>Update</source>\n        <target>Atualizar</target>\n      </trans-unit>\n      <trans-unit id="81b97b8ea996ad1e4f9fca8415021850214884b1" datatype="html">\n        <source>Status</source>\n        <target>Status</target>\n      </trans-unit>\n      <trans-unit id="57ec6032f5618d4a9f16eb950ad23d2ce7c24b54" datatype="html">\n        <source>Cluster ID</source>\n        <target>ID do Cluster</target>\n      </trans-unit>\n      <trans-unit id="67d7facc3fec5f8a49ab9ba0a245872184264ce5" datatype="html">\n        <source>monmap modified</source>\n        <target>monmap modificado</target>\n      </trans-unit>\n      <trans-unit id="d4906731aaf2b94b4f547646c9bfe58bb77951b6" datatype="html">\n        <source>monmap epoch</source>\n        <target>época de monmap</target>\n      </trans-unit>\n      <trans-unit id="bd4ee06ffdc46d9dfbd0c0c4f81399021c680056" datatype="html">\n        <source>quorum con</source>\n        <target>quorum con</target>\n      </trans-unit>\n      <trans-unit id="1176c7db8a8276ccb44cc3d42e2c28d9fa6c6596" datatype="html">\n        <source>quorum mon</source>\n        <target>quorum mon</target>\n      </trans-unit>\n      <trans-unit id="530ef677a09d681b3ab68cb0760494b3ae72a77c" datatype="html">\n        <source>required con</source>\n        <target>con obrigatório</target>\n      </trans-unit>\n      <trans-unit id="a91558e0d506c32021c31843f8f168899fc65cbf" datatype="html">\n        <source>required mon</source>\n        <target>mon obrigatório</target>\n      </trans-unit>\n      <trans-unit id="b3abe9eac5bcd94a54c8da93b312e085ec512e74" datatype="html">\n        <source>In Quorum</source>\n        <target>No Quorum</target>\n      </trans-unit>\n      <trans-unit id="ba4b748a676e1f217ce1e736fb7ec1215e677bae" datatype="html">\n        <source>Not In Quorum</source>\n        <target>Não está no Quorum</target>\n      </trans-unit>\n      <trans-unit id="5ef50ba2514414f799d4c8fc36067a251904ba81" datatype="html">\n        <source>Cluster-wide OSD Flags</source>\n        <target>Flags OSD de todo o Cluster</target>\n      </trans-unit>\n      <trans-unit id="71c77bb8cecdf11ec3eead24dd1ba506573fa9cd" datatype="html">\n        <source>Submit</source>\n        <target>Enviar</target>\n      </trans-unit>\n      <trans-unit id="1cfe07dac5b4ee1c464eb24225ddeb4f1d24076a" datatype="html">\n        <source>Advanced...</source>\n        <target>Avançado...</target>\n      </trans-unit>\n      <trans-unit id="b1ef1c12ddcee305353623919ef02778569f5454" datatype="html">\n        <source>Advanced configuration options</source>\n        <target>Advanced configuration options</target>\n      </trans-unit>\n      <trans-unit id="c35f9c5f268a514b970cc55e9a5dc4bed0988e7f" datatype="html">\n        <source>OSD Recovery Priority</source>\n        <target>Prioridade de Recuperação de OSD</target>\n      </trans-unit>\n      <trans-unit id="b74af38005e8a8914e45af2ec412e11ceafef8b6" datatype="html">\n        <source>Priority</source>\n        <target>Prioridade</target>\n      </trans-unit>\n      <trans-unit id="c2f48f04b379bfba133825747adfd238d511412e" datatype="html">\n        <source>Customize priority values</source>\n        <target>Personalizar valores de prioridade</target>\n      </trans-unit>\n      <trans-unit id="4aa19de2a2b54cbda39e9c62917b23044c087776" datatype="html">\n        <source>This field is required!</source>\n        <target>Este campo é obrigatório!</target>\n      </trans-unit>\n      <trans-unit id="b699e94bf376491bd50b70a98531071c737eaf40" datatype="html">\n        <source>[object Object]</source>\n        <target>[object Object]</target>\n      </trans-unit>\n      <trans-unit id="98fe13e7ad6c2b80375d204b47858ded83f80e15" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="5423a3c111be47fc5a1bfe46ceb58c81c84db691" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="5251a4355cece3075db43f15d69a24a0f8485707" datatype="html">\n        <source>Reweight OSD: \n          <x id="INTERPOLATION" equiv-text="{{ osdId }}"/>\n        </source>\n        <target>Reweight OSD: \n          <x id="INTERPOLATION" equiv-text="{{ osdId }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="67650b2998db48201b2c6176cbfef51e7211ccaa" datatype="html">\n        <source>The value needs to be between 0 and 1.</source>\n        <target>O valor precisa ser entre 0 e 1.</target>\n      </trans-unit>\n      <trans-unit id="bc11f92113d678a90e334fdf3d7b3fddbe34c579" datatype="html">\n        <source>Reweight</source>\n        <target>Reponderar</target>\n      </trans-unit>\n      <trans-unit id="d5ca5daf742023fc4f0919fb3c1c6a51991cda4f" datatype="html">\n        <source>OSDs \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>Scrub\n        </source>\n        <target>OSDs \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>Scrub\n        </target>\n      </trans-unit>\n      <trans-unit id="4c17d67c7c5799eb920030e9a399961e90f55dd8" datatype="html">\n        <source>{VAR_SELECT, select, 1 {Deep } }</source>\n        <target>{VAR_SELECT, select, 1 {Profundo } }</target>\n      </trans-unit>\n      <trans-unit id="2613498e8e5853c26a1cc62ae8dc673d1fdf0e2a" datatype="html">\n        <source>You are about to apply a \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to\n          the OSD(s): \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ selected | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.\n        </source>\n        <target>You are about to apply a \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to\n          the OSD(s): \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ selected | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="dc6705f342a036b332c3fd3443201c3613e5524d" datatype="html">\n        <source>{VAR_SELECT, select, 1 {deep } }</source>\n        <target>{VAR_SELECT, select, 1 {profundo} }</target>\n      </trans-unit>\n      <trans-unit id="b49d7877d24112d4bdfce9256edf61a007fae888" datatype="html">\n        <source>OSDs List</source>\n        <target>Lista de OSDs</target>\n      </trans-unit>\n      <trans-unit id="c402e6ec1c6792ede81f56c28eee8955860391c8" datatype="html">\n        <source>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) \n          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </source>\n        <target>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) \n          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </target>\n      </trans-unit>\n      <trans-unit id="d2797d01ba86f5df03d875803e49e648a4027869" datatype="html">\n        <source>The \n          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to destroy!\n        </source>\n        <target>The \n          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to destroy!\n        </target>\n      </trans-unit>\n      <trans-unit id="e776996dac651ef3819bfa767ccf2a0613759f47" datatype="html">\n        <source>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</source>\n        <target>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</target>\n      </trans-unit>\n      <trans-unit id="1e2c50ed3c3934ef068976dc7f38513cec29d515" datatype="html">\n        <source>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD \n          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </source>\n        <target>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD \n          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </target>\n      </trans-unit>\n      <trans-unit id="4f8b2bb476981727ab34ed40fde1218361f92c45" datatype="html">\n        <source>Details</source>\n        <target>Detalhes</target>\n      </trans-unit>\n      <trans-unit id="8501055865d7031b5521a0c5467532648009a61d" datatype="html">\n        <source>Matcher</source>\n        <target>Matcher</target>\n      </trans-unit>\n      <trans-unit id="9c25e04f554875dc2625a78ba0fc56c6010cd0d3" datatype="html">\n        <source>-- Select an attribute to match against --</source>\n        <target>-- Select an attribute to match against --</target>\n      </trans-unit>\n      <trans-unit id="5049e204c14c648691ac775a64fb504467aeb549" datatype="html">\n        <source>Value</source>\n        <target>Valor</target>\n      </trans-unit>\n      <trans-unit id="77fc5c63497fc031ddc97645484e3d94ad27766c" datatype="html">\n        <source>Use regular expression</source>\n        <target>Use regular expression</target>\n      </trans-unit>\n      <trans-unit id="7bbec1a797283712c0adf9e71d77fb5a8cd720db" datatype="html">\n        <source>{VAR_SELECT, select, 1 {Update} other {Add} }</source>\n        <target>{VAR_SELECT, select, 1 {Update} other {Add} }</target>\n      </trans-unit>\n      <trans-unit id="f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8" datatype="html">\n        <source>Close</source>\n        <target>Fechar</target>\n      </trans-unit>\n      <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c" datatype="html">\n        <source>Edit</source>\n        <target>Editar</target>\n      </trans-unit>\n      <trans-unit id="826b25211922a1b46436589233cb6f1a163d89b7" datatype="html">\n        <source>Delete</source>\n        <target>Excluir</target>\n      </trans-unit>\n      <trans-unit id="a3ba06aba047605af8ea1718ec1ba153b7db12a2" datatype="html">\n        <source>Editing a silence will expire the old silence and recreate it as a new silence</source>\n        <target>Editing a silence will expire the old silence and recreate it as a new silence</target>\n      </trans-unit>\n      <trans-unit id="a20424156b8816671f61879f0574a4f27d7b16b9" datatype="html">\n        <source>Creator</source>\n        <target>Creator</target>\n      </trans-unit>\n      <trans-unit id="5a5d7ee2acbfa9c91ab7f41d26bda9ff0cafe42f" datatype="html">\n        <source>Comment</source>\n        <target>Comment</target>\n      </trans-unit>\n      <trans-unit id="4c11aad490b2d53fdae30b3807beabf79306752c" datatype="html">\n        <source>Start time</source>\n        <target>Start time</target>\n      </trans-unit>\n      <trans-unit id="32856b1e8e339b747b21e313e2fe65a51fd450bb" datatype="html">\n        <source>If the start time lies in the past the creation time will be used</source>\n        <target>If the start time lies in the past the creation time will be used</target>\n      </trans-unit>\n      <trans-unit id="a02ea1d4e7424ca989929da5e598f379940fdbf2" datatype="html">\n        <source>Duration</source>\n        <target>Duration</target>\n      </trans-unit>\n      <trans-unit id="2f4e35e36f4d3c62e2c17df41730b6dee4afc4b9" datatype="html">\n        <source>End time</source>\n        <target>End time</target>\n      </trans-unit>\n      <trans-unit id="dbe739ec8c99a0132e326067ffec9c0ee06b2655" datatype="html">\n        <source>Matchers\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>*\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n        </source>\n        <target>Matchers\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>*\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="3e023166c55833d5a13f4143e3dbe372befe1b4e" datatype="html">\n        <source>A silence requires at least one matcher</source>\n        <target>A silence requires at least one matcher</target>\n      </trans-unit>\n      <trans-unit id="ef765bd80c4806c51c891908c07a24bc76f019eb" datatype="html">\n        <source>Add matcher</source>\n        <target>Add matcher</target>\n      </trans-unit>\n      <trans-unit id="d2bcd3296d2850de762fb943060b7e086a893181" datatype="html">\n        <source>Health</source>\n        <target>Saúde</target>\n      </trans-unit>\n      <trans-unit id="61e0f26d843eec0b33ff475e111b0c2f7a80b835" datatype="html">\n        <source>Statistics</source>\n        <target>Estatísticas</target>\n      </trans-unit>\n      <trans-unit id="f8f74e5f683012b9c0702b1446011c6b9158bc67" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the NFS Ganesha management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the NFS Ganesha management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="7ffe39df9d88c972792bd8688b215392deb8313d" datatype="html">\n        <source>Clients</source>\n        <target>Clientes</target>\n      </trans-unit>\n      <trans-unit id="f2dae0bda66f6a349444951c0379c28cda47d6d1" datatype="html">\n        <source>Any client can access</source>\n        <target>Qualquer cliente pode acessar</target>\n      </trans-unit>\n      <trans-unit id="7882f2edb1d4139800b276b6b0bbf5ae0b2234ef" datatype="html">\n        <source>Addresses</source>\n        <target>Endereços</target>\n      </trans-unit>\n      <trans-unit id="9bd96fcf50863e685c74d0490392f46689ffbdb6" datatype="html">\n        <source>Required field</source>\n        <target>Campo obrigatório</target>\n      </trans-unit>\n      <trans-unit id="a5f3f74c0f6925826cb2188576391c0da01a23f0" datatype="html">\n        <source>Must contain one or more comma-separated values</source>\n        <target>Deve conter um ou mais valores separados por vírgula</target>\n      </trans-unit>\n      <trans-unit id="8bb5b2073697f3f4378c44a49b7524934c9268f4" datatype="html">\n        <source>For example:</source>\n        <target>Por exemplo:</target>\n      </trans-unit>\n      <trans-unit id="8f969c655b3fbe4fba7e277caf4cd2c459f9fca5" datatype="html">\n        <source>Access Type</source>\n        <target>Tipo de Acesso</target>\n      </trans-unit>\n      <trans-unit id="28952831a284cfe2b4fc39ca610e80b52598905a" datatype="html">\n        <source>Squash</source>\n        <target>Executar Squash</target>\n      </trans-unit>\n      <trans-unit id="0660ae339068979854ade34a96546980723dede3" datatype="html">\n        <source>Add clients</source>\n        <target>Adicionar clientes</target>\n      </trans-unit>\n      <trans-unit id="135b91a2d908d5814b782695470a6a786c99d9d2" datatype="html">\n        <source>-- No cluster available --</source>\n        <target>-- Não há clusters disponíveis --</target>\n      </trans-unit>\n      <trans-unit id="c501dba379f566885919240ea277b5bc10c14d18" datatype="html">\n        <source>-- Select the cluster --</source>\n        <target>-- Selecionar cluster --</target>\n      </trans-unit>\n      <trans-unit id="cf85b1ee58326aa9da63da41b2629c9db7c9a5b9" datatype="html">\n        <source>Add daemon</source>\n        <target>Adicionar daemon</target>\n      </trans-unit>\n      <trans-unit id="b3f6ba7fe84d6508705cdfe234f0fcc8ff85c9cf" datatype="html">\n        <source>Storage Backend</source>\n        <target>Backend de Armazenamento</target>\n      </trans-unit>\n      <trans-unit id="151c80ea931037cd92e854442927f8a0f6ae7795" datatype="html">\n        <source>-- No data pools available --</source>\n        <target>-- Não há pools de dados disponíveis --</target>\n      </trans-unit>\n      <trans-unit id="b6fee356d1db954255a56d8169405a89595246b9" datatype="html">\n        <source>-- Select the storage backend --</source>\n        <target>-- Selecionar backend de armazenamento --</target>\n      </trans-unit>\n      <trans-unit id="76d67035c3ab3d8e56f725859f820f03fda41cfc" datatype="html">\n        <source>Object Gateway User</source>\n        <target>Usuário do Gateway de Objetos</target>\n      </trans-unit>\n      <trans-unit id="fade7788bace74337f306ae209f10fc187ef4671" datatype="html">\n        <source>-- No users available --</source>\n        <target>-- Não há usuários disponíveis --</target>\n      </trans-unit>\n      <trans-unit id="6d30b7b36cf8f6364167321bdb4ba35d4cefce7b" datatype="html">\n        <source>-- Select the object gateway user --</source>\n        <target>-- Selecionar usuário do gateway de objetos --</target>\n      </trans-unit>\n      <trans-unit id="589ce20d3ba3e3ac44f75decfaadc4ea8f0aec2d" datatype="html">\n        <source>CephFS User ID</source>\n        <target>ID de Usuário do CephFS</target>\n      </trans-unit>\n      <trans-unit id="c4b88a53ac3b0ece46ba9b3ad72355a3c190cce7" datatype="html">\n        <source>-- No clients available --</source>\n        <target>-- Não há clientes disponíveis --</target>\n      </trans-unit>\n      <trans-unit id="da52835b80497a0002d24414b057dc46ae44ce38" datatype="html">\n        <source>-- Select the cephx client --</source>\n        <target>-- Selecionar cliente do cephx --</target>\n      </trans-unit>\n      <trans-unit id="fd3419e8957d928d7f7ba19c93356a0dbff02871" datatype="html">\n        <source>CephFS Name</source>\n        <target>Nome do CephFS</target>\n      </trans-unit>\n      <trans-unit id="ee3ba0ab5f0ccd597b3e44021c71e9aaad14df0a" datatype="html">\n        <source>-- No CephFS filesystem available --</source>\n        <target>-- No CephFS filesystem available --</target>\n      </trans-unit>\n      <trans-unit id="764c57812558b1ae66c5eec95d7efd2b1bf761e3" datatype="html">\n        <source>-- Select the CephFS filesystem --</source>\n        <target>-- Select the CephFS filesystem --</target>\n      </trans-unit>\n      <trans-unit id="957512d0321f73e9f115bce1bd823fa635170c41" datatype="html">\n        <source>Security Label</source>\n        <target>Rótulo de Segurança</target>\n      </trans-unit>\n      <trans-unit id="65ce0fa4da1ed55e658aeb31d1644a29f06bb342" datatype="html">\n        <source>Enable security label</source>\n        <target>Habilitar rótulo de segurança</target>\n      </trans-unit>\n      <trans-unit id="7e808f804130c7b6ff719509cbc06ebb27393a48" datatype="html">\n        <source>CephFS Path</source>\n        <target>Caminho do CephFS</target>\n      </trans-unit>\n      <trans-unit id="5ecc0107badb6625466aaa3f975b5c05276f432f" datatype="html">\n        <source>Path need to start with a \'/\' and can be followed by a word</source>\n        <target>O caminho precisa começar com \'/\' e pode ser seguido de uma palavra</target>\n      </trans-unit>\n      <trans-unit id="2d02916f44fc63e13ab16d1cbe72aa6cb51feab3" datatype="html">\n        <source>New directory will be created</source>\n        <target>Novo diretório será criado</target>\n      </trans-unit>\n      <trans-unit id="766c66ad5cc981c531aaf3fe3a2a7a346ddc8d83" datatype="html">\n        <source>Path</source>\n        <target>Caminho</target>\n      </trans-unit>\n      <trans-unit id="7ec35c722a50b976620f22612f7be619c12ceb90" datatype="html">\n        <source>Path can only be a single \'/\' or a word</source>\n        <target>O caminho pode ser apenas uma \'/\' ou uma palavra</target>\n      </trans-unit>\n      <trans-unit id="aebb6a5090c24511de4530195694bb3f3dcf0342" datatype="html">\n        <source>New bucket will be created</source>\n        <target>Novo compartimento será criado</target>\n      </trans-unit>\n      <trans-unit id="bee6900143996c0e908a10564532eba3da0b30fb" datatype="html">\n        <source>NFS Protocol</source>\n        <target>Protocolo NFS</target>\n      </trans-unit>\n      <trans-unit id="2f534178c01ebf1307da2eaeef04bc6801ebc729" datatype="html">\n        <source>NFSv3</source>\n        <target>NFSv3</target>\n      </trans-unit>\n      <trans-unit id="f5043c0921e709935ab026bb3253ffe1f159fca1" datatype="html">\n        <source>NFSv4</source>\n        <target>NFSv4</target>\n      </trans-unit>\n      <trans-unit id="92488963d23095985a47c0d6e62304e11d333f19" datatype="html">\n        <source>NFS Tag</source>\n        <target>Tag NFS</target>\n      </trans-unit>\n      <trans-unit id="aae93362720aea94623682996dd3fcd0f906f056" datatype="html">\n        <source>Alternative access for \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v3\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> mounts (it must not have a leading /).\n        </source>\n        <target>Alternative access for \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v3\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> mounts (it must not have a leading /).\n        </target>\n      </trans-unit>\n      <trans-unit id="45d6db77dcf1a3eeb921033abc7882e517a541cc" datatype="html">\n        <source>Clients may not mount subdirectories (i.e. if Tag = foo, the client may not mount foo/baz).</source>\n        <target>Clientes não podem montar subdiretórios (ou seja, se Tag = foo, o cliente não poderá montar foo/baz).</target>\n      </trans-unit>\n      <trans-unit id="a1c7a8676b55e882a97c6a6fb205204f9c761afa" datatype="html">\n        <source>By using different Tag options, the same Path may be exported multiple times.</source>\n        <target>Ao usar opções diferentes de Tag, o mesmo Caminho pode ser exportado várias vezes.</target>\n      </trans-unit>\n      <trans-unit id="6d2c39708a32910f89701dd7e1cfb9ec1c195768" datatype="html">\n        <source>Pseudo</source>\n        <target>Pseudo</target>\n      </trans-unit>\n      <trans-unit id="1f8be2ae25947bec0b84c2338201580ea053f34e" datatype="html">\n        <source>The position that this \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v4\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> export occupies\n                in the \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>Pseudo FS\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> (it must be unique).\n        </source>\n        <target>The position that this \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v4\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> export occupies\n                in the \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>Pseudo FS\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> (it must be unique).\n        </target>\n      </trans-unit>\n      <trans-unit id="f3af55f7fd5b1d9e5a53e030c80116dc635bfb9f" datatype="html">\n        <source>By using different Pseudo options, the same Path may be exported multiple times.</source>\n        <target>Ao usar opções diferentes de Pseudo, o mesmo Caminho pode ser exportado várias vezes.</target>\n      </trans-unit>\n      <trans-unit id="ddf98fcdeeb17643db020d54f42b5e56b5f9a52a" datatype="html">\n        <source>Pseudo needs to start with a \'/\' and can\'t contain any of the following: &gt;, &lt;, |, &amp;, ( or ).</source>\n        <target>Pseudo needs to start with a \'/\' and can\'t contain any of the following: &gt;, &lt;, |, &amp;, ( or ).</target>\n      </trans-unit>\n      <trans-unit id="27eb35c4b4ac08781a7253a2ab40f8f7d957ba51" datatype="html">\n        <source>-- No access type available --</source>\n        <target>-- Não há tipos de acesso disponíveis --</target>\n      </trans-unit>\n      <trans-unit id="509ce016c9110a54028dafd741f15ceacbe74b5a" datatype="html">\n        <source>-- Select the access type --</source>\n        <target>-- Selecionar tipo de acesso --</target>\n      </trans-unit>\n      <trans-unit id="49850390a653cd05dc5843d74ef073a9122b54c9" datatype="html">\n        <source>The Object Gateway NFS backend has a number of\n              limitations which will seriously affect applications writing to\n              the share. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for details before enabling write access.\n        </source>\n        <target>The Object Gateway NFS backend has a number of\n              limitations which will seriously affect applications writing to\n              the share. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for details before enabling write access.\n        </target>\n      </trans-unit>\n      <trans-unit id="4deda03573eaaff77e63f6a238a1f0ca7816950a" datatype="html">\n        <source>-- No squash available --</source>\n        <target>-- Não há squashes disponíveis --</target>\n      </trans-unit>\n      <trans-unit id="a0e82a4da88e7fdf270444f838d45849676e9d4b" datatype="html">\n        <source>--Select what kind of user id squashing is performed --</source>\n        <target>--Selecionar que tipo de squash de ID de usuário será executado --</target>\n      </trans-unit>\n      <trans-unit id="d01b7c3f7f06712c53d054cfbe4f53d446b038e8" datatype="html">\n        <source>Transport Protocol</source>\n        <target>Protocolo de Transporte</target>\n      </trans-unit>\n      <trans-unit id="d2a6ad6e8bc315f07911722c05767ac79c136d99" datatype="html">\n        <source>UDP</source>\n        <target>UDP</target>\n      </trans-unit>\n      <trans-unit id="9c030f11e0aae9b24d2c048c57f29f590be621df" datatype="html">\n        <source>TCP</source>\n        <target>TCP</target>\n      </trans-unit>\n      <trans-unit id="734c9905951a774870497c5aaae8e3ee833b6196" datatype="html">\n        <source>CephFS</source>\n        <target>CephFS</target>\n      </trans-unit>\n      <trans-unit id="449dca3d3a93ead418b0541ea81b0dda7e6483c2" datatype="html">\n        <source>Welcome to Ceph!</source>\n        <target>Bem-vindo ao Ceph!</target>\n        <note>The welcome message on the login page</note>\n      </trans-unit>\n      <trans-unit id="0070e83d11da39d6f4bb95065c2675db1610b419" datatype="html">\n        <source>Username is required</source>\n        <target>Nome de usuário é obrigatório</target>\n      </trans-unit>\n      <trans-unit id="1e20f8b8a4706526c9024cc2f39d568345d100dc" datatype="html">\n        <source>Password is required</source>\n        <target>Senha é obrigatória</target>\n      </trans-unit>\n      <trans-unit id="6765b4c916060f6bc42d9bb69e80377dbcb5e4e9" datatype="html">\n        <source>Login</source>\n        <target>Login</target>\n      </trans-unit>\n      <trans-unit id="58fc1b5c79a75370eb52644fd83fb2e7096b6649" datatype="html">\n        <source>Sorry, the user does not exist in Ceph.</source>\n        <target>O usuário não existe no Ceph.</target>\n      </trans-unit>\n      <trans-unit id="d9deb94f78e7c41b35c6622b874f06657d7604c1" datatype="html">\n        <source>Return to \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Login Page\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You\'ll be logged out from the Identity Provider when you retry logging in.\n        </source>\n        <target>Return to \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Login Page\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You\'ll be logged out from the Identity Provider when you retry logging in.\n        </target>\n      </trans-unit>\n      <trans-unit id="0eb15f32b2b92d7f3103ef3ff032621888a8dc32" datatype="html">\n        <source>Old password</source>\n        <target>Old password</target>\n      </trans-unit>\n      <trans-unit id="1cf42e491adc166a337a960eb84d03c0c3f677c8" datatype="html">\n        <source>The old and new passwords must be different.</source>\n        <target>The old and new passwords must be different.</target>\n      </trans-unit>\n      <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229" datatype="html">\n        <source>New password</source>\n        <target>New password</target>\n      </trans-unit>\n      <trans-unit id="595ebc9279497f6dc733777e2816bee936901388" datatype="html">\n        <source>Too weak</source>\n        <target>Too weak</target>\n      </trans-unit>\n      <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b" datatype="html">\n        <source>Confirm new password</source>\n        <target>Confirm new password</target>\n      </trans-unit>\n      <trans-unit id="90163a3d3746819aef42e829f4446331232f3b66" datatype="html">\n        <source>Password confirmation doesn\'t match the new password.</source>\n        <target>Password confirmation doesn\'t match the new password.</target>\n      </trans-unit>\n      <trans-unit id="471e78026c258073ba687478dc54c35d9041ea42" datatype="html">\n        <source>Forbidden</source>\n        <target>Proibido</target>\n      </trans-unit>\n      <trans-unit id="02ea8ad57677e3c63f3d7814ca5e6c7b74e360b4" datatype="html">\n        <source>Sorry, you are not allowed to see what you were looking for.</source>\n        <target>Você não tem permissão para ver o que está procurando.</target>\n      </trans-unit>\n      <trans-unit id="e3c028c58f92453d46f09b5adf95b2f013ee0300" datatype="html">\n        <source>Sorry, we could not find what you were looking for</source>\n        <target>Não foi possível localizar o que você está procurando</target>\n      </trans-unit>\n      <trans-unit id="a949d7e577902d0e5dc5d0971bb0170a21be7728" datatype="html">\n        <source>[object Object]</source>\n        <target>[object Object]</target>\n      </trans-unit>\n      <trans-unit id="ff92fbdec9fdd5054493eeda0d7ee8b450f83e72" datatype="html">\n        <source>RBD Configuration</source>\n        <target>Configuração de RBD</target>\n      </trans-unit>\n      <trans-unit id="b62d9efc8eb3b589904f6cb96a0406bbda55673a" datatype="html">\n        <source>Remove the local configuration value. The parent configuration value will be inherited and used instead.</source>\n        <target>Remova o valor de configuração local. No lugar dele, o valor de configuração pai será herdado e usado.</target>\n      </trans-unit>\n      <trans-unit id="963488a1010d46067b238c4ae917fab3907c0a3a" datatype="html">\n        <source>The mininum value is 0</source>\n        <target>O valor mínimo é 0</target>\n      </trans-unit>\n      <trans-unit id="1d8a7c8aea58294a3c57c23af0468ddf0ba0c9c7" datatype="html">\n        <source>Pools List</source>\n        <target>Lista de Pools</target>\n      </trans-unit>\n      <trans-unit id="490e15ecc922965b6d8194754c87c5583aa071f3" datatype="html">\n        <source>The name can only consist of alphanumeric characters, dashes and underscores.</source>\n        <target>O nome pode conter apenas caracteres alfanuméricos, traços e sublinhados.</target>\n      </trans-unit>\n      <trans-unit id="9edc2b494e660618af3e5225f68d40b7ca67629c" datatype="html">\n        <source>The chosen erasure code profile name is already in use.</source>\n        <target>O nome do perfil de código de eliminação escolhido já está em uso.</target>\n      </trans-unit>\n      <trans-unit id="ef9ff0e6227947b48dfab4ac39ade04af758913b" datatype="html">\n        <source>Plugin</source>\n        <target>Plug-in</target>\n      </trans-unit>\n      <trans-unit id="dd69b31bce8f630eac1d4762b0bbcf72ce19d193" datatype="html">\n        <source>Data chunks (k)</source>\n        <target>Pacotes de dados (k)</target>\n      </trans-unit>\n      <trans-unit id="b0d26a6172d32cb81218fe2103c54a818cbc1189" datatype="html">\n        <source>Must be equal to or greater than 2.</source>\n        <target>Deve ser igual ou maior do que 2.</target>\n      </trans-unit>\n      <trans-unit id="dab3a299ead121169b8e08ed618c3b6a2f66691b" datatype="html">\n        <source>Coding chunks (m)</source>\n        <target>Pacotes de codificação (m)</target>\n      </trans-unit>\n      <trans-unit id="1e2773e5bd4948193f18f2361d663ecc3988c656" datatype="html">\n        <source>Must be equal to or greater than 1.</source>\n        <target>Deve ser igual ou maior do que 1.</target>\n      </trans-unit>\n      <trans-unit id="6cde4c945a49a260c0a47bcc7cd956846930a5f7" datatype="html">\n        <source>Durability estimator (c)</source>\n        <target>Estimador de durabilidade (c)</target>\n      </trans-unit>\n      <trans-unit id="af668c2a095a979ea2b4e43cd82c2120ab56c21c" datatype="html">\n        <source>Locality (l)</source>\n        <target>Localidade (l)</target>\n      </trans-unit>\n      <trans-unit id="d455a110bf6d2235e314e295ce1dfeee93d3dff2" datatype="html">\n        <source>Crush failure domain</source>\n        <target>Domínio de falha do Crush</target>\n      </trans-unit>\n      <trans-unit id="b74a495f041f7dd102eee5c0bbc9e03083b538ae" datatype="html">\n        <source>Crush Locality</source>\n        <target>Localidade do Crush</target>\n      </trans-unit>\n      <trans-unit id="a2f14a73f7a6e94479f67423cc51102da8d6f524" datatype="html">\n        <source>None</source>\n        <target>Nenhum</target>\n      </trans-unit>\n      <trans-unit id="2981733b912b693a9dd9d915d6d34f4692cc874a" datatype="html">\n        <source>Technique</source>\n        <target>Técnica</target>\n      </trans-unit>\n      <trans-unit id="e0098b6e47b04ec817361f384ce81d454ba5c0bb" datatype="html">\n        <source>Packetsize</source>\n        <target>Tamanho do pacote</target>\n      </trans-unit>\n      <trans-unit id="c0252cd81ca54d0a2f69ec9ccf4248e73df5aa4a" datatype="html">\n        <source>Crush root</source>\n        <target>Raiz do Crush</target>\n      </trans-unit>\n      <trans-unit id="1548d5c76f0406ddd1ba3c557e1e6db22e95b340" datatype="html">\n        <source>Crush device class</source>\n        <target>Classe do dispositivo do Crush</target>\n      </trans-unit>\n      <trans-unit id="5e85feb6f9f0334366e46ee09ca6b8df52397432" datatype="html">\n        <source>any</source>\n        <target>qualquer</target>\n      </trans-unit>\n      <trans-unit id="03d84645f6e019c5a43909bbf2ea1696ee88332c" datatype="html">\n        <source>Directory</source>\n        <target>Diretório</target>\n      </trans-unit>\n      <trans-unit id="2fecea01ce1d44114ee45144eff6d47a5016a74f" datatype="html">\n        <source>Name...</source>\n        <target>Nome...</target>\n      </trans-unit>\n      <trans-unit id="16e113230b6b0d3165e076300880542bac7c8138" datatype="html">\n        <source>The chosen Ceph pool name is already in use.</source>\n        <target>O nome do pool do Ceph escolhido já está em uso.</target>\n      </trans-unit>\n      <trans-unit id="c75b132bef7b29fa5171768303c4b96e34ccaf68" datatype="html">\n        <source>It\'s not possible to create an RBD pool with \'/\' in the name.\n              Please change the name or remove \'rbd\' from the applications list.</source>\n        <target>It\'s not possible to create an RBD pool with \'/\' in the name.\n              Please change the name or remove \'rbd\' from the applications list.</target>\n      </trans-unit>\n      <trans-unit id="b85c657469e5ec8231c3de99b22f437bc01ffde5" datatype="html">\n        <source>Pool type</source>\n        <target>Tipo de pool</target>\n      </trans-unit>\n      <trans-unit id="526c5443254c3b126eedb264840ffe827727bfd3" datatype="html">\n        <source>-- Select a pool type --</source>\n        <target>-- Selecionar tipo de pool --</target>\n      </trans-unit>\n      <trans-unit id="0aa21053410a94aa61d16985a4e95fd65523430d" datatype="html">\n        <source>Placement groups</source>\n        <target>Grupos de posicionamento</target>\n      </trans-unit>\n      <trans-unit id="6301f1391d726f8f450bb358058534db19541ca9" datatype="html">\n        <source>At least one placement group is needed!</source>\n        <target>Pelo menos um grupo de posicionamento é necessário!</target>\n      </trans-unit>\n      <trans-unit id="ba9469a1ce6ed36e039c1f67247c8c81a5c71449" datatype="html">\n        <source>Your cluster can\'t handle this many PGs. Please recalculate the PG amount needed.</source>\n        <target>Seu cluster não pode processar tantos PGs. Recalcule a quantidade de PG necessária.</target>\n      </trans-unit>\n      <trans-unit id="80ac68cd883369dac20688bc32b4cb33291b5e50" datatype="html">\n        <source>Calculation help</source>\n        <target>Ajuda no cálculo</target>\n      </trans-unit>\n      <trans-unit id="fccbd60493df26705d957ed6c02a3c447894678f" datatype="html">\n        <source>The current PGs settings were calculated for you, you\n                should make sure the values suit your needs before submit.</source>\n        <target>The current PGs settings were calculated for you, you\n                should make sure the values suit your needs before submit.</target>\n      </trans-unit>\n      <trans-unit id="33150f22ce5348aa6c499bd092c3f4f3695d62cc" datatype="html">\n        <source>Crush ruleset</source>\n        <target>Conjunto de regras do Crush</target>\n      </trans-unit>\n      <trans-unit id="73a6b31116b3cc322af951daa0bafdc169e6c42e" datatype="html">\n        <source>-- Select a crush rule --</source>\n        <target>-- Selecionar regra de crush --</target>\n      </trans-unit>\n      <trans-unit id="92da80699921e89fb19372e25b8d0f3b9fa427fc" datatype="html">\n        <source>Crush rule</source>\n        <target>Regra de Crush</target>\n      </trans-unit>\n      <trans-unit id="5489e9f96835f469f6f728a00d8efa88ea5bc940" datatype="html">\n        <source>Crush steps</source>\n        <target>Etapas do Crush</target>\n      </trans-unit>\n      <trans-unit id="54a53b1b402aafff5b992ee9b64e409fbfe9074f" datatype="html">\n        <source>The rule can\'t be used in the current cluster as it has\n                to few OSDs to meet the minimum required OSD by this rule.</source>\n        <target>Impossível usar a regra no cluster atual porque ela tem\n                poucos OSDs para atender ao OSD mínimo necessário para esta regra.</target>\n      </trans-unit>\n      <trans-unit id="a43b2695131b48b76cebba676aba98a2bee17515" datatype="html">\n        <source>Replicated size</source>\n        <target>Tamanho replicado</target>\n      </trans-unit>\n      <trans-unit id="7bff144a4c4dc63b0e18fff2617d61a7ebdf2b6c" datatype="html">\n        <source>Minimum: \n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/>\n        </source>\n        <target>Minimum: \n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="1a9c54b41f6d58a74e5d0aa3429ed0c87a482551" datatype="html">\n        <source>Maximum: \n          <x id="INTERPOLATION" equiv-text="{{ getMaxSize() }}"/>\n        </source>\n        <target>Maximum: \n          <x id="INTERPOLATION" equiv-text="{{ getMaxSize() }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6ab647b95bd2347ae6f4605576de5e0269fb893a" datatype="html">\n        <source>The size specified is out of range. A value from\n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/> to \n          <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.\n        </source>\n        <target>The size specified is out of range. A value from\n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/> to \n          <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.\n        </target>\n      </trans-unit>\n      <trans-unit id="9de7dde00e2139cc4bd03b1837afbe72ad15a1ff" datatype="html">\n        <source>Erasure code profile</source>\n        <target>Perfil do código de eliminação</target>\n      </trans-unit>\n      <trans-unit id="39b4620e6bd444e0a57a0a5c03fa8c96d7fe5235" datatype="html">\n        <source>-- No erasure code profile available --</source>\n        <target>-- Não há perfis de código de eliminação disponíveis --</target>\n      </trans-unit>\n      <trans-unit id="498561757390d5528b263ce450d5f38efb00266d" datatype="html">\n        <source>-- Select an erasure code profile --</source>\n        <target>-- Selecionar perfil do código de eliminação --</target>\n      </trans-unit>\n      <trans-unit id="920617c6a1a4805e53bcb5af6a9c76f8387e89c6" datatype="html">\n        <source>Flags</source>\n        <target>Flags</target>\n      </trans-unit>\n      <trans-unit id="1c870fb00256b8a5b9cb9cd1a124e6390b9bc639" datatype="html">\n        <source>EC Overwrites</source>\n        <target>Sobregravações de EC</target>\n      </trans-unit>\n      <trans-unit id="f1abafaeb40ce52355ddcc24686e3cd17b64e08a" datatype="html">\n        <source>Applications</source>\n        <target>Aplicativos</target>\n      </trans-unit>\n      <trans-unit id="2208d63d5940ce656006a220102b1eb2b5e553da" datatype="html">\n        <source>Compression</source>\n        <target>Compactação</target>\n      </trans-unit>\n      <trans-unit id="37e10df2d9c0c25ef04ac112c9c9a7723e8efae0" datatype="html">\n        <source>Mode</source>\n        <target>Modo</target>\n      </trans-unit>\n      <trans-unit id="6c6f25c47da62ec597c6057a36ddfc3209811ec5" datatype="html">\n        <source>Algorithm</source>\n        <target>Algoritmo</target>\n      </trans-unit>\n      <trans-unit id="4903231d42089325a28892c0fde1aed46b733ae6" datatype="html">\n        <source>-- No erasure compression algorithm available --</source>\n        <target>-- Não há algoritmos de compactação de eliminação disponíveis --</target>\n      </trans-unit>\n      <trans-unit id="5d68ddb254275f8f44221e9ad6d8ceeb59ca46a6" datatype="html">\n        <source>Minimum blob size</source>\n        <target>Tamanho mínimo do blob</target>\n      </trans-unit>\n      <trans-unit id="fb2f176df80647137cbb02bbeb29e5dec707a400" datatype="html">\n        <source>e.g., 128KiB</source>\n        <target>ex. 128 KiB</target>\n      </trans-unit>\n      <trans-unit id="1b7f6e53a4521c6eb3ced4c007fdd4cf80bb7707" datatype="html">\n        <source>Value should be greater than 0</source>\n        <target>O valor deve ser maior do que 0</target>\n      </trans-unit>\n      <trans-unit id="8db98ab14b4e207ec763dfdefbc2dae367aab1cc" datatype="html">\n        <source>Value should be less than the maximum blob size</source>\n        <target>Value should be less than the maximum blob size</target>\n      </trans-unit>\n      <trans-unit id="151efb127a9a4dd25259a0b2055442318a141f5b" datatype="html">\n        <source>Maximum blob size</source>\n        <target>Tamanho máximo do blob</target>\n      </trans-unit>\n      <trans-unit id="0c656f0e346bbadf46eb1a5d20d0307a3bd20ba8" datatype="html">\n        <source>e.g., 512KiB</source>\n        <target>ex. 512 KiB</target>\n      </trans-unit>\n      <trans-unit id="0a65a24eee8a026f3b1113fe9e157e9a0dd69486" datatype="html">\n        <source>Value should be greater than the minimum blob size</source>\n        <target>O valor deve ser maior do que o tamanho mínimo do blob</target>\n      </trans-unit>\n      <trans-unit id="261ba09c4a59de83f48f52a23fd328da37e61ff4" datatype="html">\n        <source>Ratio</source>\n        <target>Taxa</target>\n      </trans-unit>\n      <trans-unit id="c1430457a9c3c66366e51d76bf10396014c576be" datatype="html">\n        <source>Compression ratio</source>\n        <target>Taxa de compactação</target>\n      </trans-unit>\n      <trans-unit id="ae5ce6de352cde949998fb10754459c3a4eb183b" datatype="html">\n        <source>Value should be between 0.0 and 1.0</source>\n        <target>O valor deve ser entre 0.0 e 1.0</target>\n      </trans-unit>\n      <trans-unit id="8bb8293aa8161433778762ae025ffd5e7c85795e" datatype="html">\n        <source>Quotas</source>\n        <target>Quotas</target>\n      </trans-unit>\n      <trans-unit id="d99b34162c9c34f10d0ccd8dbae83d8569c2db77" datatype="html">\n        <source>Max bytes</source>\n        <target>Max bytes</target>\n      </trans-unit>\n      <trans-unit id="a1d14a18879c62f3f4ed705318b7164a1160e249" datatype="html">\n        <source>Leave it blank or specify 0 to disable this quota.</source>\n        <target>Leave it blank or specify 0 to disable this quota.</target>\n      </trans-unit>\n      <trans-unit id="7565b131562ff6c5f769fdbd239a772154abdd97" datatype="html">\n        <source>A valid quota should be greater than 0.</source>\n        <target>A valid quota should be greater than 0.</target>\n      </trans-unit>\n      <trans-unit id="f0016bd458baa88284a658ce9eeda42d8ad88d2c" datatype="html">\n        <source>e.g., 10GiB</source>\n        <target>ex. 10 GiB</target>\n      </trans-unit>\n      <trans-unit id="b8bf35b66f09a301eef92ffc3cb2fd259df67ce9" datatype="html">\n        <source>Max objects</source>\n        <target>Max objects</target>\n      </trans-unit>\n      <trans-unit id="95f348167622d832c5ae532b6944635c8e2ae5cb" datatype="html">\n        <source>The value should be greater or equal to 0</source>\n        <target>The value should be greater or equal to 0</target>\n      </trans-unit>\n      <trans-unit id="fbbaf5cb02ed419e79a27072478f716a4666a99d" datatype="html">\n        <source>Performance Details</source>\n        <target>Detalhes de Desempenho</target>\n      </trans-unit>\n      <trans-unit id="3938a411d76796f8ae73b72ea4c77661207453bd" datatype="html">\n        <source>Cache Tiers Details</source>\n        <target>Detalhes das Camadas do Cache</target>\n      </trans-unit>\n      <trans-unit id="f0b5d789d42c0e69348e5fe0037fcbf5b5fbbdcc" datatype="html">\n        <source>Move an image to trash</source>\n        <target>Mover imagem para o lixo</target>\n      </trans-unit>\n      <trans-unit id="86301cf2044b1eda218483365f6b9de8dde5040b" datatype="html">\n        <source>To move \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{ imageName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,\n          click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optionally, you can pick an expiration date.\n        </source>\n        <target>To move \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{ imageName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,\n          click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optionally, you can pick an expiration date.\n        </target>\n      </trans-unit>\n      <trans-unit id="88f27d390844aad53b4240360e928156c5f0d326" datatype="html">\n        <source>Protection expires at</source>\n        <target>Vencimento da proteção em</target>\n      </trans-unit>\n      <trans-unit id="da166e9a0d27322f6ba8916d71ecc0f9905bb4b1" datatype="html">\n        <source>NOT PROTECTED</source>\n        <target>NÃO PROTEGIDO</target>\n      </trans-unit>\n      <trans-unit id="a1506e5f2ca22cad14502ec7a20fb6113ace145d" datatype="html">\n        <source>Wrong date format. Please use "YYYY-MM-DD HH:mm:ss".</source>\n        <target>Formato de data incorreto. Use "AAAA-MM-DD HH:mm:ss".</target>\n      </trans-unit>\n      <trans-unit id="aa7ea0bb7495281e0b3258467ac7d90a1e44a1a1" datatype="html">\n        <source>Protection has already expired. Please pick a future date or leave it empty.</source>\n        <target>A proteção já venceu. Escolha uma data no futuro ou deixe-a vazia.</target>\n      </trans-unit>\n      <trans-unit id="536b3205c0c0d4d21685ec06feccfcf2fe14deb1" datatype="html">\n        <source>Move Image</source>\n        <target>Mover Imagem</target>\n      </trans-unit>\n      <trans-unit id="8a9910cd114c1deb9af74f6f99b4173403965bf2" datatype="html">\n        <source>Gateways</source>\n        <target>Gateways</target>\n      </trans-unit>\n      <trans-unit id="8835b9e49a3348b0a2f2162c21118af1f4bee45a" datatype="html">\n        <source>Must be greater than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'min\'] }}"/>.\n        </source>\n        <target>Must be greater than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'min\'] }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="bbddac59563c8c126e3fe28691e4e247614fcbd1" datatype="html">\n        <source>Must be less than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'max\'] }}"/>.\n        </source>\n        <target>Must be less than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'max\'] }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="e95ae009d0bdb45fcc656e8b65248cf7396080d5" datatype="html">\n        <source>Overview</source>\n        <target>Visão geral</target>\n      </trans-unit>\n      <trans-unit id="bbd2045d5c37e4bb39a3c0fb62ea1ddf70a12838" datatype="html">\n        <source>Targets</source>\n        <target>Destinos</target>\n      </trans-unit>\n      <trans-unit id="6803e31b7395d94934e091a49a9524026b59b018" datatype="html">\n        <source>Discovery Authentication</source>\n        <target>Autenticação de Descoberta</target>\n      </trans-unit>\n      <trans-unit id="e08a77594f3d89311cdf6da5090044270909c194" datatype="html">\n        <source>User</source>\n        <target>Usuário</target>\n      </trans-unit>\n      <trans-unit id="0214f773f8e394f50f953f39962e352d7863e959" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n              can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Os nomes de usuário devem ter entre 8 e 64 caracteres e\n              apenas podem conter letras, \'.\', \'@\', \'-\', \'_\' ou \':\'.</target>\n      </trans-unit>\n      <trans-unit id="c32ef07f8803a223a83ed17024b38e8d82292407" datatype="html">\n        <source>Password</source>\n        <target>Senha</target>\n      </trans-unit>\n      <trans-unit id="6682d1c00263bee204583a5d589b308b6be88b0f" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n              and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n              and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="ff40391de7a1944ea95091e4045cc34c4979b736" datatype="html">\n        <source>Mutual User</source>\n        <target>Usuário Mútuo</target>\n      </trans-unit>\n      <trans-unit id="0cf73dbebe99b737c4d288788182fc356e3c93d3" datatype="html">\n        <source>Mutual Password</source>\n        <target>Senha Mútua</target>\n      </trans-unit>\n      <trans-unit id="8800276925157c666b103c36ff7fe8ffe11980b4" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters and\n              can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters and\n              can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="53a583cd5f15059cc958b7d547f72cc78f68e123" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n    on how to configure and enable the iSCSI Targets management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n    on how to configure and enable the iSCSI Targets management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="3b301d0044f62c92af0da53d7aaca52a436a547d" datatype="html">\n        <source>Available information:</source>\n        <target>Informações disponíveis:</target>\n      </trans-unit>\n      <trans-unit id="332227f088a4877b3c11f5fb3ae8bc812c470fae" datatype="html">\n        <source>iSCSI Targets not available</source>\n        <target>Destinos iSCSI não disponíveis</target>\n      </trans-unit>\n      <trans-unit id="8414a5cb9d71cc1b21b10e4a9d1f2dad558f3361" datatype="html">\n        <source>Discovery authentication</source>\n        <target>Discovery authentication</target>\n      </trans-unit>\n      <trans-unit id="0f6e8f6094b180eaf1f11bc0ffe383f1cdcd059e" datatype="html">\n        <source>Only available for RBD images with \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>fast-diff\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> enabled\n        </source>\n        <target>Only available for RBD images with \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>fast-diff\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> enabled\n        </target>\n      </trans-unit>\n      <trans-unit id="e70fcca5a99575cffef3ff8cbd5e69f06ffd0f1c" datatype="html">\n        <source>Pool</source>\n        <target>Pool</target>\n      </trans-unit>\n      <trans-unit id="03cc5b14b0a20d075e9009ff021f4f1660ba348a" datatype="html">\n        <source>Data Pool</source>\n        <target>Pool de Dados</target>\n      </trans-unit>\n      <trans-unit id="1b051734b0ee9021991c91b3ed4e81c244322462" datatype="html">\n        <source>Created</source>\n        <target>Criado</target>\n      </trans-unit>\n      <trans-unit id="7faaaa08f56427999f3be41df1093ce4089bbd75" datatype="html">\n        <source>Size</source>\n        <target>Tamanho</target>\n      </trans-unit>\n      <trans-unit id="afdb601c16162f2c798b16a2920955f1cc6a20aa" datatype="html">\n        <source>Objects</source>\n        <target>Objetos</target>\n      </trans-unit>\n      <trans-unit id="ceac8e132384322ec778ba760875a6c6897d3e42" datatype="html">\n        <source>Object size</source>\n        <target>Tamanho do objeto</target>\n      </trans-unit>\n      <trans-unit id="6cdb1fea93d77c07950c0c76c6e0ad79ebbef084" datatype="html">\n        <source>Features</source>\n        <target>Recursos</target>\n      </trans-unit>\n      <trans-unit id="0a65771c9a73b9aa609d592fc96a64801a8f40bd" datatype="html">\n        <source>Provisioned</source>\n        <target>Aprovisionado</target>\n      </trans-unit>\n      <trans-unit id="84a36cb75660b736773fe36ffa3d54f0f0fe363e" datatype="html">\n        <source>N/A</source>\n        <target>N/A</target>\n      </trans-unit>\n      <trans-unit id="e5c009342a4e8381f64341d0bb61c2e4685f5a4b" datatype="html">\n        <source>Total provisioned</source>\n        <target>Total aprovisionado</target>\n      </trans-unit>\n      <trans-unit id="7f6bf8a43ae415f527ac961ea62471b983aaa97b" datatype="html">\n        <source>Striping unit</source>\n        <target>Unidade de distribuição</target>\n      </trans-unit>\n      <trans-unit id="db710e8a8f011923f2d15d713fbae49c38b02b26" datatype="html">\n        <source>Striping count</source>\n        <target>Total de distribuições</target>\n      </trans-unit>\n      <trans-unit id="3a4c2a9e76634ff14a60d52a718296f722d47c67" datatype="html">\n        <source>Parent</source>\n        <target>Pai</target>\n      </trans-unit>\n      <trans-unit id="6a209e68d78ffc2cc9c53d2e76158624efab71ad" datatype="html">\n        <source>Block name prefix</source>\n        <target>Prefixo do nome do bloco</target>\n      </trans-unit>\n      <trans-unit id="5704ec2049d007c5f5fb495a5d8b607e68d58081" datatype="html">\n        <source>Order</source>\n        <target>Ordem</target>\n      </trans-unit>\n      <trans-unit id="f21b1d17b6c5042bb5805516eee37fde33739dd8" datatype="html">\n        <source>Snapshots</source>\n        <target>Instantâneos</target>\n      </trans-unit>\n      <trans-unit id="a5f9ba9bb9faa8284bcadb1cdbc6aaf969e9c4bb" datatype="html">\n        <source>Image</source>\n        <target>Imagem</target>\n      </trans-unit>\n      <trans-unit id="58e58f1a8786da9031a05e6770c5dafce82badf5" datatype="html">\n        <source>This setting overrides the global value</source>\n        <target>Esta configuração substitui o valor global</target>\n      </trans-unit>\n      <trans-unit id="5decb3917d46a9ac6e5813699801becb7c3c1455" datatype="html">\n        <source>Global</source>\n        <target>Global</target>\n      </trans-unit>\n      <trans-unit id="36b46714164964c6258b08ed0a25f57d8a950f92" datatype="html">\n        <source>This is the global value. No value for this option has been set for this image.</source>\n        <target>Este é o valor global. Nenhum valor para esta opção foi definido para esta imagem.</target>\n      </trans-unit>\n      <trans-unit id="6547c9c4d5f62942ac4b1fe459cf9a03d4dbf5a0" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/> from\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/> from\n        </target>\n      </trans-unit>\n      <trans-unit id="0e9ecf29a4fa5b057bd8052e0d801b3fde6a30bf" datatype="html">\n        <source>\'/\' and \'@\' are not allowed.</source>\n        <target>\'/\' e \'@\' não são permitidos.</target>\n      </trans-unit>\n      <trans-unit id="b99417c4dd46286ffd37c8d2e987c8b512ec7052" datatype="html">\n        <source>-- No rbd pools available --</source>\n        <target>-- Não há pools de RBD disponíveis --</target>\n      </trans-unit>\n      <trans-unit id="ef83ec9c304a89d45650e580dcdc2978c37b3a83" datatype="html">\n        <source>-- Select a pool --</source>\n        <target>-- Selecionar pool --</target>\n      </trans-unit>\n      <trans-unit id="49449943d8cbf59d8c401c8bd2e76f92e207cc5f" datatype="html">\n        <source>Use a dedicated data pool</source>\n        <target>Usar pool de dados dedicado</target>\n      </trans-unit>\n      <trans-unit id="870aee0dd31a9643bf62007beb8f1ae1deb34d42" datatype="html">\n        <source>Data pool</source>\n        <target>Pool de dados</target>\n      </trans-unit>\n      <trans-unit id="3792ca829d9b9f687e1f5d7733d30e9bb0bfec47" datatype="html">\n        <source>Dedicated pool that stores the object-data of the RBD.</source>\n        <target>Pool dedicado que armazena os dados de objetos do RBD.</target>\n      </trans-unit>\n      <trans-unit id="0a88bbee20570aaf9615332fb27020627044874d" datatype="html">\n        <source>You have to increase the size.</source>\n        <target>Você precisa aumentar o tamanho.</target>\n      </trans-unit>\n      <trans-unit id="bc2e854e111ecf2bd7db170da5e3c2ed08181d88" datatype="html">\n        <source>Advanced</source>\n        <target>Avançado</target>\n      </trans-unit>\n      <trans-unit id="3562a3778695a5f9c0445660e35301f0a39aaf73" datatype="html">\n        <source>Striping</source>\n        <target>Distribuição</target>\n      </trans-unit>\n      <trans-unit id="ef3c3f3b5f562a5cdbe0ee2874287db1534b5958" datatype="html">\n        <source>Stripe unit</source>\n        <target>Unidade de distribuição</target>\n      </trans-unit>\n      <trans-unit id="84471be1049006edecbcaef1a32ae0893c229c50" datatype="html">\n        <source>-- Select stripe unit --</source>\n        <target>-- Selecionar unidade de distribuição --</target>\n      </trans-unit>\n      <trans-unit id="8d32c5c54c8581c774a7f467fbd4e329b15a74fa" datatype="html">\n        <source>This field is required because stripe count is defined!</source>\n        <target>Este campo é obrigatório porque o total de distribuições foi definido!</target>\n      </trans-unit>\n      <trans-unit id="6bbf9040be7c5491d4a03f2185708f43a6582a3b" datatype="html">\n        <source>Stripe unit is greater than object size.</source>\n        <target>A unidade de distribuição é maior do que o tamanho do objeto.</target>\n      </trans-unit>\n      <trans-unit id="a682f49f9b761591661276d7c6f550e641a130a4" datatype="html">\n        <source>Stripe count</source>\n        <target>Total de distribuições</target>\n      </trans-unit>\n      <trans-unit id="baa74031990c5370008ba622d0a250f0929097f4" datatype="html">\n        <source>This field is required because stripe unit is defined!</source>\n        <target>Este campo é obrigatório porque a unidade de distribuição foi definida!</target>\n      </trans-unit>\n      <trans-unit id="cd2ada6d5ecbd5cbf89eae0a1f5326efedac0dbc" datatype="html">\n        <source>Stripe count must be greater than 0.</source>\n        <target>O total de distribuições deve ser maior do que 0.</target>\n      </trans-unit>\n      <trans-unit id="3f67f30568e9ae47507d46e28e1e82a7dca772e2" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> RBD Snapshot\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> RBD Snapshot\n        </target>\n      </trans-unit>\n      <trans-unit id="1628d19a4490817c18be2afab410ca4adfa62ea7" datatype="html">\n        <source>{VAR_SELECT, select, true {Rename} other {Create} }</source>\n        <target>{VAR_SELECT, select, true {Renomear} other {Criar} }</target>\n      </trans-unit>\n      <trans-unit id="73a287b41afe6b28f90edbeb98957a341a0276b4" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> Snapshot\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> Snapshot\n        </target>\n      </trans-unit>\n      <trans-unit id="cb60c1cd3655234756b5b92d4d597d92d520ee30" datatype="html">\n        <source>PROTECTED</source>\n        <target>PROTECTED</target>\n      </trans-unit>\n      <trans-unit id="deffb86b8fb0541254ad5a43862d82bff6b6a6c4" datatype="html">\n        <source>UNPROTECTED</source>\n        <target>NÃO PROTEGIDO</target>\n      </trans-unit>\n      <trans-unit id="5c5331983af566d4ac6a1024d15a3511786a4aa6" datatype="html">\n        <source>You are about to rollback</source>\n        <target>Você está prestes a fazer rollback</target>\n      </trans-unit>\n      <trans-unit id="49c0408946a6d67185947f455f15cc201d0d78e6" datatype="html">\n        <source>Purge Trash</source>\n        <target>Purgar Lixo</target>\n      </trans-unit>\n      <trans-unit id="af728625d769b61acf291442644b89edb88faec3" datatype="html">\n        <source>To purge, select one or All images and click</source>\n        <target>Para purgar, selecione uma ou Todas as imagens e clique em</target>\n      </trans-unit>\n      <trans-unit id="55a4f598a4894b7fd5cb88f0ffd3c37ad009dd70" datatype="html">\n        <source>Pool:</source>\n        <target>Pool:</target>\n      </trans-unit>\n      <trans-unit id="d43dd2b9f7797e4cf3a604695bb33e4479108516" datatype="html">\n        <source>Pool name...</source>\n        <target>Nome do pool...</target>\n      </trans-unit>\n      <trans-unit id="dfc3c34e182ea73c5d784ff7c8135f087992dac1" datatype="html">\n        <source>All</source>\n        <target>Tudo</target>\n      </trans-unit>\n      <trans-unit id="b0e7c7ed1d51a0c205c815048bc9f79e24ee6db2" datatype="html">\n        <source>Restore Image</source>\n        <target>Restaurar Imagem</target>\n      </trans-unit>\n      <trans-unit id="7369384817e0ad61ce871c9afdfbb538df2f97c1" datatype="html">\n        <source>To restore</source>\n        <target>Para restaurar</target>\n      </trans-unit>\n      <trans-unit id="e7f0abefc608f7fb452c2dc9b1cdc3dec432160e" datatype="html">\n        <source>type the image\'s new name and click</source>\n        <target>digite o novo nome da imagem e clique em</target>\n      </trans-unit>\n      <trans-unit id="41307dd56fea669eed72e12a6c23af275f6bfd82" datatype="html">\n        <source>New Name</source>\n        <target>Novo Nome</target>\n      </trans-unit>\n      <trans-unit id="5c96a761dc55a21882c132c929583a424c9b8cf4" datatype="html">\n        <source>Expired at</source>\n        <target>Venceu em</target>\n      </trans-unit>\n      <trans-unit id="661041e3fcff4d3e75c561e038ca2504cf2cc643" datatype="html">\n        <source>Protected until</source>\n        <target>Protegido até</target>\n      </trans-unit>\n      <trans-unit id="0ee3b2322a1d3277f7e3fdb8a5141ac42bcf350b" datatype="html">\n        <source>This image is protected until \n          <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.\n        </source>\n        <target>This image is protected until \n          <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="aba82bfd8e177d35b76cad7cd43941f8e5e5acac" datatype="html">\n        <source>Trash</source>\n        <target>Lixo</target>\n      </trans-unit>\n      <trans-unit id="a674ab267d1934bf395f87ca1503fd474296893f" datatype="html">\n        <source>iSCSI Topology</source>\n        <target>Topologia iSCSI</target>\n      </trans-unit>\n      <trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html">\n        <source>Settings</source>\n        <target>Configurações</target>\n      </trans-unit>\n      <trans-unit id="9e515f954730279c31d5301f02479666d6264e8b" datatype="html">\n        <source>Changing these parameters from their default values is usually not necessary.</source>\n        <target>Não costuma ser necessário mudar o valor padrão destes parâmetros.</target>\n      </trans-unit>\n      <trans-unit id="69a47cbabcc51ca942606e1d8da0ec11f98a2690" datatype="html">\n        <source>Backstore</source>\n        <target>Backstore</target>\n      </trans-unit>\n      <trans-unit id="68e710782ccb5398b3acb8844caf0b199da2c3da" datatype="html">\n        <source>Confirm</source>\n        <target>Confirmar</target>\n      </trans-unit>\n      <trans-unit id="339878da255ab55447c43afef8d9b2f9753bf5f6" datatype="html">\n        <source>Advanced Settings</source>\n        <target>Configurações Avançadas</target>\n      </trans-unit>\n      <trans-unit id="1406c2fb12a20c1528b19bcc5e24a6a2386167f3" datatype="html">\n        <source>Target IQN</source>\n        <target>IQN de Destino</target>\n      </trans-unit>\n      <trans-unit id="5fe42339be910372fa689f559155631862d218e8" datatype="html">\n        <source>IQN has wrong pattern.</source>\n        <target>IQN tem padrão incorreto.</target>\n      </trans-unit>\n      <trans-unit id="050a7ff057d1e895357540406b6be5652b4d1c71" datatype="html">\n        <source>An IQN has the following notation\n                \'iqn.$year-$month.$reversedAddress:$definedName\'</source>\n        <target>An IQN has the following notation\n                \'iqn.$year-$month.$reversedAddress:$definedName\'</target>\n      </trans-unit>\n      <trans-unit id="c8ada4b53396d8366db00a435acc61d53d857047" datatype="html">\n        <source>For example: iqn.2016-06.org.dashboard:storage:disk.sn-a8675309</source>\n        <target>Por exemplo: iqn.2016-06.org.dashboard:storage:disk.sn-a8675309</target>\n      </trans-unit>\n      <trans-unit id="e60c11e1b1dfbbeda577364b8de39ded2d796c5e" datatype="html">\n        <source>More information</source>\n        <target>Mais informações</target>\n      </trans-unit>\n      <trans-unit id="9b1aa85dfc6849196e64060db02c5410de69b7a1" datatype="html">\n        <source>This target has modified advanced settings.</source>\n        <target>Este destino tem configurações avançadas modificadas.</target>\n      </trans-unit>\n      <trans-unit id="6990ad8d6182662e864495ac31c3758cda1c7a28" datatype="html">\n        <source>Portals</source>\n        <target>Portais</target>\n      </trans-unit>\n      <trans-unit id="c3638c01b6c34066438909713ec96087c813fc7e" datatype="html">\n        <source>At least \n          <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.\n        </source>\n        <target>At least \n          <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.\n        </target>\n      </trans-unit>\n      <trans-unit id="6a3ac2b4137d723fd9878cd357c2012ff6c07973" datatype="html">\n        <source>Add portal</source>\n        <target>Adicionar portal</target>\n      </trans-unit>\n      <trans-unit id="9aff25be088f0efe3eaaf62edf2bff41cc41a617" datatype="html">\n        <source>Backstore: \n          <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. \n        </source>\n        <target>Backstore: \n          <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. \n        </target>\n      </trans-unit>\n      <trans-unit id="e3484cae8b118c576ca2815bf9c9406c2eb2cae3" datatype="html">\n        <source>This image has modified settings.</source>\n        <target>Esta imagem tem configurações modificadas.</target>\n      </trans-unit>\n      <trans-unit id="107c84e820909b44fe258673938a68ced1bbff72" datatype="html">\n        <source>At least 1 image is required.</source>\n        <target>Pelo menos 1 imagem é necessária.</target>\n      </trans-unit>\n      <trans-unit id="808038f912fdc7f0e03f82d4afd3bf9178527fc8" datatype="html">\n        <source>Add image</source>\n        <target>Adicionar imagem</target>\n      </trans-unit>\n      <trans-unit id="66c5fb27f52e75b70ca4b670b9b15a2a51cf9543" datatype="html">\n        <source>ACL authentication</source>\n        <target>Autenticação ACL</target>\n      </trans-unit>\n      <trans-unit id="419c8b402609dcf49ae4932a5a4647dc8d79bbaf" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n                can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Usernames must have a length of 8 to 64 characters and\n                can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</target>\n      </trans-unit>\n      <trans-unit id="938050960d6653fddfcfd42425e18fb35a308262" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n                and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n                and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="f494bd31f095f6dcc656ce87ec2dcf07a2e9b30c" datatype="html">\n        <source>Initiators</source>\n        <target>Iniciadores</target>\n      </trans-unit>\n      <trans-unit id="e98239d8a6be1100119ff4b5630c822b82786740" datatype="html">\n        <source>Initiator</source>\n        <target>Iniciador</target>\n      </trans-unit>\n      <trans-unit id="f2c5059d8cda15d8d03e2cce30f2d139623d9a91" datatype="html">\n        <source>Client IQN</source>\n        <target>IQN do Cliente</target>\n      </trans-unit>\n      <trans-unit id="107d5aabce23d900f0a80e6ddc1c10e29aa0bed8" datatype="html">\n        <source>Initiator IQN needs to be unique.</source>\n        <target>O IQN do Iniciador precisa ser exclusivo.</target>\n      </trans-unit>\n      <trans-unit id="bbf0b34a3fcc80800fcb44b9e1e86931a530dfe3" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n                        can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Os nomes de usuário devem ter entre 8 e 64 caracteres e\n                        apenas podem conter letras, \'.\', \'@\', \'-\', \'_\' ou \':\'.</target>\n      </trans-unit>\n      <trans-unit id="fdfee5d7a27e1bdd97a176097277bee078de6aaf" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n                        and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n                        and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="8406eb7415ee40e54d9ecb209abb056f06e3d666" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters and\n                        can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters and\n                        can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="5d1878d5fc761cbe9614bfd87047a740c82a6951" datatype="html">\n        <source>Initiator belongs to a group. Images will be configure in the group.</source>\n        <target>O iniciador pertence a um grupo. As imagens serão configuradas no grupo.</target>\n      </trans-unit>\n      <trans-unit id="c0de67b9d97fafbf200f9451e8388ee8128a56ac" datatype="html">\n        <source>No items added.</source>\n        <target>Nenhum item adicionado.</target>\n      </trans-unit>\n      <trans-unit id="d565e47726158e428ecdc952fc9233b9b7d7f049" datatype="html">\n        <source>Add initiator</source>\n        <target>Adicionar iniciador</target>\n      </trans-unit>\n      <trans-unit id="c22ba03540aa3217da059f45e7eab138b51a96e2" datatype="html">\n        <source>Groups</source>\n        <target>Grupos</target>\n      </trans-unit>\n      <trans-unit id="4c90059afafb7e160384d9f512797c95bb95c6dc" datatype="html">\n        <source>Group</source>\n        <target>Grupo</target>\n      </trans-unit>\n      <trans-unit id="3084948274cff4f56d0f431af47240e9cf02fcc7" datatype="html">\n        <source>Add group</source>\n        <target>Adicionar grupo</target>\n      </trans-unit>\n      <trans-unit id="66db799d67958d4b0765181d072df62e2d1c16f5" datatype="html">\n        <source>Issues</source>\n        <target>Problemas</target>\n      </trans-unit>\n      <trans-unit id="ef06d69259e587e28d52372455f44c7153cda7e7" datatype="html">\n        <source>Syncing</source>\n        <target>Sincronizando</target>\n      </trans-unit>\n      <trans-unit id="0b0901877d837d3fda16ba161eb74368d1c75b7a" datatype="html">\n        <source>Ready</source>\n        <target>Pronto</target>\n      </trans-unit>\n      <trans-unit id="4057c56d63a7e9b140b1d01871a9229a5f30eb27" datatype="html">\n        <source>Edit pool mirror mode</source>\n        <target>Editar modo de espelho do pool</target>\n      </trans-unit>\n      <trans-unit id="e1f367f5feaab38f6637dd1f967c848b447dea2d" datatype="html">\n        <source>To edit the mirror mode for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>, select a new mode from the list and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>To edit the mirror mode for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>, select a new mode from the list and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="32ca348ef926b0a6a7a780b8b64c3a8239895cec" datatype="html">\n        <source>Peer clusters must be removed prior to disabling mirror.</source>\n        <target>Clusters de peer devem ser removidos antes de desabilitar o espelho.</target>\n      </trans-unit>\n      <trans-unit id="fa61522d482349707fd7dd03b90dc5781611b17f" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/>\n  pool mirror peer\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/>\n  pool mirror peer\n        </target>\n      </trans-unit>\n      <trans-unit id="4ddcb416c1c0aa1f54acf5beef1de81813e76fa6" datatype="html">\n        <source>{VAR_SELECT, select, edit {Edit} other {Add} }</source>\n        <target>{VAR_SELECT, select, edit {Editar} other {Adicionar} }</target>\n      </trans-unit>\n      <trans-unit id="59ca65ece457429d90104ede4674965f62edbabe" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/> the pool\n          mirror peer attributes for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> and click\n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Submit\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/> the pool\n          mirror peer attributes for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> and click\n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Submit\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="d3cc964811f852a168f4a2d5daa59068abc5cf53" datatype="html">\n        <source>Cluster Name</source>\n        <target>Nome do Cluster</target>\n      </trans-unit>\n      <trans-unit id="b631721fc56cb7fb1cbd07b802a487c5753f6a2d" datatype="html">\n        <source>The cluster name is not valid.</source>\n        <target>O nome do cluster não é válido.</target>\n      </trans-unit>\n      <trans-unit id="ca6deafa31bf421f85094807982aee4bcb20a3ae" datatype="html">\n        <source>CephX ID</source>\n        <target>ID do CephX</target>\n      </trans-unit>\n      <trans-unit id="7539188a568c3d553cbde1bacaf32310c4264e24" datatype="html">\n        <source>CephX ID...</source>\n        <target>ID do CephX...</target>\n      </trans-unit>\n      <trans-unit id="a1c45b594b0fba22fc64e80c793a7ffe005fdb0e" datatype="html">\n        <source>The CephX ID is not valid.</source>\n        <target>O ID do CephX não é válido.</target>\n      </trans-unit>\n      <trans-unit id="20861576fcfce773c918c782cd4f5adf32382921" datatype="html">\n        <source>Monitor Addresses</source>\n        <target>Endereços do Monitor</target>\n      </trans-unit>\n      <trans-unit id="fa28eeed2b4bd4ccbe6e9349a1c2b3cb1c5de70a" datatype="html">\n        <source>Comma-delimited addresses...</source>\n        <target>Endereços delimitados por vírgula...</target>\n      </trans-unit>\n      <trans-unit id="dc016c82fd85848d5c1b2fd0e8469ee2027d9c16" datatype="html">\n        <source>The monitory address is not valid.</source>\n        <target>O endereço de monitoria não é válido.</target>\n      </trans-unit>\n      <trans-unit id="e0ac55b83dc6739e62bc655cfe375b67c93e7f4a" datatype="html">\n        <source>CephX Key</source>\n        <target>Chave do CephX</target>\n      </trans-unit>\n      <trans-unit id="f53434bcb95bd86f1df9c8e22966f757614fc4ad" datatype="html">\n        <source>Base64-encoded key...</source>\n        <target>Chave codificada com base64...</target>\n      </trans-unit>\n      <trans-unit id="4cd83164cd4f66b4abc2863f9ce6f599d789e4ca" datatype="html">\n        <source>CephX key must be base64 encoded.</source>\n        <target>A chave do CephX deve ser codificada com base64.</target>\n      </trans-unit>\n      <trans-unit id="ca53d681a9892d6fdbb57ee9676582186515e961" datatype="html">\n        <source>Performance counters not available</source>\n        <target>Contadores de desempenho não disponíveis</target>\n      </trans-unit>\n      <trans-unit id="9424badb7e0c6ac792d020d7830645b529a80aad" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the Object Gateway management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the Object Gateway management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="479488ab6e91ecb375484edc78bee3d13467f33f" datatype="html">\n        <source>Daemons List</source>\n        <target>Lista de Daemons</target>\n      </trans-unit>\n      <trans-unit id="eeba399c4dae8d4890c27b7a2cd2dc28fcf8b5f9" datatype="html">\n        <source>Performance Counters</source>\n        <target>Contadores de Desempenho</target>\n      </trans-unit>\n      <trans-unit id="5f67f2247b9c6bbaf24a0f2d37f4ac0537c6fa53" datatype="html">\n        <source>Loading bucket data...</source>\n        <target>Carregando dados do compartimento...</target>\n      </trans-unit>\n      <trans-unit id="2798cc1e152b1ec07fd8daf94a2a073d1ba1ebcc" datatype="html">\n        <source>Id</source>\n        <target>ID</target>\n      </trans-unit>\n      <trans-unit id="db4e1a734518691b128ef40b939cc673f01d03a6" datatype="html">\n        <source>The value is not valid.</source>\n        <target>O valor não é válido.</target>\n      </trans-unit>\n      <trans-unit id="eabb4db920d9f9b2480cf438468b86e1bea02a9b" datatype="html">\n        <source>The chosen name is already in use.</source>\n        <target>O nome escolhido já está em uso.</target>\n      </trans-unit>\n      <trans-unit id="0ee5132a8da30e0b7f9f5c70dbc91928d17dd909" datatype="html">\n        <source>Owner</source>\n        <target>Proprietário</target>\n      </trans-unit>\n      <trans-unit id="8e4c918357c7445fbf19a203e5f0f0ece1960b3b" datatype="html">\n        <source>-- Select a user --</source>\n        <target>-- Selecionar usuário --</target>\n      </trans-unit>\n      <trans-unit id="a4aab1f837bc8ec222e4f25922465d1c5929a1fc" datatype="html">\n        <source>Placement target</source>\n        <target>Placement target</target>\n      </trans-unit>\n      <trans-unit id="6bae0a7fc2c9c1fde7d937a8a1a3c7e6825cf7d1" datatype="html">\n        <source>-- Select a placement target --</source>\n        <target>-- Select a placement target --</target>\n      </trans-unit>\n      <trans-unit id="efeade5060b3add63863c24871f0830fb16b7e6d" datatype="html">\n        <source>Versioning</source>\n        <target>Versioning</target>\n      </trans-unit>\n      <trans-unit id="f50a33d3c339f8f4a465141f8caa5d2d8c005251" datatype="html">\n        <source>Enabled</source>\n        <target>Habilitado</target>\n      </trans-unit>\n      <trans-unit id="016d24e069e7d505a090fb8243e5cd43b35dc39b" datatype="html">\n        <source>Enables versioning for the objects in the bucket.</source>\n        <target>Enables versioning for the objects in the bucket.</target>\n      </trans-unit>\n      <trans-unit id="92f3f203270a29b3001871153f02c063484a1574" datatype="html">\n        <source>Suspended</source>\n        <target>Suspenso</target>\n      </trans-unit>\n      <trans-unit id="cd6a798fd0f85cd7e31a57c58074f25035d7850d" datatype="html">\n        <source>Disables versioning for the objects in the bucket.</source>\n        <target>Disables versioning for the objects in the bucket.</target>\n      </trans-unit>\n      <trans-unit id="45cc8ca94b5a50842a9a8ef804a5ab089a38ae5c" datatype="html">\n        <source>ID</source>\n        <target>ID</target>\n      </trans-unit>\n      <trans-unit id="e5c51963a9c553b29427ef783bbb69fa6634fa8c" datatype="html">\n        <source>Index type</source>\n        <target>Tipo de índice</target>\n      </trans-unit>\n      <trans-unit id="8e6f950a32eaea32ec7e192f9ca3d3dfe469d4ba" datatype="html">\n        <source>Placement rule</source>\n        <target>Regra de posicionamento</target>\n      </trans-unit>\n      <trans-unit id="6972d213e31c4ea4f887e60db99d9881bc8fcd3e" datatype="html">\n        <source>Marker</source>\n        <target>Marcador</target>\n      </trans-unit>\n      <trans-unit id="47b02acd2d3254d1ace1926f840523f154ebef71" datatype="html">\n        <source>Maximum marker</source>\n        <target>Marcador máximo</target>\n      </trans-unit>\n      <trans-unit id="8fe73a4787b8068b2ba61f54ab7e0f9af2ea1fc9" datatype="html">\n        <source>Version</source>\n        <target>Versão</target>\n      </trans-unit>\n      <trans-unit id="092fa3a7df9168b14d3f83a77a4035e92b92ce15" datatype="html">\n        <source>Master version</source>\n        <target>Versão master</target>\n      </trans-unit>\n      <trans-unit id="97434cc5001d407f90c7447a12d9e8e6848a2aa3" datatype="html">\n        <source>Modification time</source>\n        <target>Horário da modificação</target>\n      </trans-unit>\n      <trans-unit id="90fe2e41e7fde38453ce4e619efeea9bc6adea9c" datatype="html">\n        <source>Zonegroup</source>\n        <target>Grupo de zonas</target>\n      </trans-unit>\n      <trans-unit id="649a410bd0ace333d067d8fa22f12bdbdb43533b" datatype="html">\n        <source>Bucket quota</source>\n        <target>Cota do compartimento</target>\n      </trans-unit>\n      <trans-unit id="cef1595d040e77cbb4466e60382028d4c2040cac" datatype="html">\n        <source>Maximum size</source>\n        <target>Tamanho máximo</target>\n      </trans-unit>\n      <trans-unit id="aa6fb95c355f172bda303de1ce2f38c251a149cf" datatype="html">\n        <source>Unlimited</source>\n        <target>Ilimitado</target>\n      </trans-unit>\n      <trans-unit id="ee862a800364b4d11f9b8cb9955a28a60f840a45" datatype="html">\n        <source>Maximum objects</source>\n        <target>Máximo de objetos</target>\n      </trans-unit>\n      <trans-unit id="08c74dc9762957593b91f6eb5d65efdfc975bf48" datatype="html">\n        <source>Username</source>\n        <target>Nome de usuário</target>\n      </trans-unit>\n      <trans-unit id="49c614babd1950adb2be75df4e2c9747286d6adc" datatype="html">\n        <source>-- Select a username --</source>\n        <target>-- Selecionar nome de usuário --</target>\n      </trans-unit>\n      <trans-unit id="c217ee914725a37e9dd2336c721c8e63e9666bdc" datatype="html">\n        <source>Auto-generate key</source>\n        <target>Gerar chave automaticamente</target>\n      </trans-unit>\n      <trans-unit id="2f1c1c0f2bce4c9f92d1a2061e8161cb0006c31a" datatype="html">\n        <source>Access key</source>\n        <target>Chave de acesso</target>\n      </trans-unit>\n      <trans-unit id="b864acb67296a9819c1db0069c4c47d8b5ce8f44" datatype="html">\n        <source>Secret key</source>\n        <target>Chave secreta</target>\n      </trans-unit>\n      <trans-unit id="b760f123248930122fc7e7b6b6bf94e376e959c8" datatype="html">\n        <source>Full name</source>\n        <target>Nome completo</target>\n      </trans-unit>\n      <trans-unit id="69b6ac577a19acc39fc0c22342092f327fff2529" datatype="html">\n        <source>Email address</source>\n        <target>Endereço de e-mail</target>\n      </trans-unit>\n      <trans-unit id="8011e20c5bbe51602d459a860fbf29b599b55edd" datatype="html">\n        <source>System</source>\n        <target>Sistema</target>\n      </trans-unit>\n      <trans-unit id="db18a2772988415466a7f75dc42663ce78c9c1d3" datatype="html">\n        <source>Maximum buckets</source>\n        <target>Máximo de compartimentos</target>\n      </trans-unit>\n      <trans-unit id="2c4c62e8ba24601be5cfe7dc5d32c24bbbd4b53c" datatype="html">\n        <source>Subusers</source>\n        <target>Subusuários</target>\n      </trans-unit>\n      <trans-unit id="17bb3082e6fe5003203ef992a3714172334631a1" datatype="html">\n        <source>Capabilities</source>\n        <target>Recursos</target>\n      </trans-unit>\n      <trans-unit id="36ad38f9c1a1485e09b67778a28af84553290ffb" datatype="html">\n        <source>User quota</source>\n        <target>Cota do usuário</target>\n      </trans-unit>\n      <trans-unit id="2aba1e87039819aca3b70faa9aa848c12bf139ca" datatype="html">\n        <source>Show</source>\n        <target>Mostrar</target>\n      </trans-unit>\n      <trans-unit id="0bcd5ef19af0f1b814141ca8c57df623d8270088" datatype="html">\n        <source>Keys</source>\n        <target>Chaves</target>\n      </trans-unit>\n      <trans-unit id="f61c6867295f3b53d23557021f2f4e0aa1d0b8fc" datatype="html">\n        <source>Type</source>\n        <target>Tipo</target>\n      </trans-unit>\n      <trans-unit id="1221ca97d19eaa9a7bc0c5243d5fc5befe1d2314" datatype="html">\n        <source>-- Select a type --</source>\n        <target>-- Selecionar tipo --</target>\n      </trans-unit>\n      <trans-unit id="d1b8990332af18f1c5159a6061ca889bcbb28432" datatype="html">\n        <source>Permission</source>\n        <target>Permissão</target>\n      </trans-unit>\n      <trans-unit id="a08c589f82f69d892307288da14190ae1dd583d5" datatype="html">\n        <source>-- Select a permission --</source>\n        <target>-- Selecionar permissão --</target>\n      </trans-unit>\n      <trans-unit id="b2841767821d6b66238c34d07e413b0af67aee92" datatype="html">\n        <source>Subuser</source>\n        <target>Subusuário</target>\n      </trans-unit>\n      <trans-unit id="bd59fc25a7bd98cff3e75117c09697c8a007a514" datatype="html">\n        <source>The chosen subuser ID is already in use.</source>\n        <target>O ID de subusuário escolhido já está em uso.</target>\n      </trans-unit>\n      <trans-unit id="3d386c357ebcbc04ed05c4babd5a03626f9b1674" datatype="html">\n        <source>read, write</source>\n        <target>leitura, gravação</target>\n      </trans-unit>\n      <trans-unit id="84e3e3f9a4f31a039b648c97debf95fcb20f4c4a" datatype="html">\n        <source>full</source>\n        <target>completo</target>\n      </trans-unit>\n      <trans-unit id="b6bf81d032a2316464f9df2f0d2f3d753f89f0d3" datatype="html">\n        <source>Swift key</source>\n        <target>Chave Swift</target>\n      </trans-unit>\n      <trans-unit id="1e0c12685d50d47448ceed9423977ef39775c037" datatype="html">\n        <source>Auto-generate secret</source>\n        <target>Gerar segredo automaticamente</target>\n      </trans-unit>\n      <trans-unit id="3d1c7a6004bd5d86a7fa096ae24209e8aa7a53e3" datatype="html">\n        <source>Loading user data...</source>\n        <target>Carregando dados do usuário...</target>\n      </trans-unit>\n      <trans-unit id="faa5d834ab28571423d794d32b57998920efb65f" datatype="html">\n        <source>The user data could not be loaded.</source>\n        <target>Não foi possível carregar os dados do usuário.</target>\n      </trans-unit>\n      <trans-unit id="6aaf5d2a304167272ac73e3b1d1c162e16c77858" datatype="html">\n        <source>The chosen user ID is already in use.</source>\n        <target>O ID de usuário escolhido já está em uso.</target>\n      </trans-unit>\n      <trans-unit id="df441e80db2157f9d272b75de724ba4a82b96b57" datatype="html">\n        <source>This is not a valid email address.</source>\n        <target>Este não é um endereço de e-mail válido.</target>\n      </trans-unit>\n      <trans-unit id="ca271adf154956b8fcb28f4f50a37acb3057ff7c" datatype="html">\n        <source>The chosen email address is already in use.</source>\n        <target>O endereço de e-mail escolhido já está em uso.</target>\n      </trans-unit>\n      <trans-unit id="030197cebe938edf35422e92fe14183d06eb670b" datatype="html">\n        <source>Max. buckets</source>\n        <target>Máx. de compartimentos</target>\n      </trans-unit>\n      <trans-unit id="623ac50f37a26caec6fd7cd519b653e3315cba25" datatype="html">\n        <source>The entered value must be &gt;= 0.</source>\n        <target>O valor inserido deve ser &gt;= 0.</target>\n      </trans-unit>\n      <trans-unit id="583a219c524155c2314eb06ee29162bb315272a3" datatype="html">\n        <source>S3 key</source>\n        <target>Chave S3</target>\n      </trans-unit>\n      <trans-unit id="128d6efb51d9ddc7c0cc695a2deeca5b9523f6e4" datatype="html">\n        <source>There are no subusers.</source>\n        <target>Não há subusuários.</target>\n      </trans-unit>\n      <trans-unit id="7fd6dfb8ecb982dbc3affb2c2d5414c4f5b6abd2" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ subuserLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ subuserLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="67c746c1ba9dab4351fedc4c7cba4e6d6b0dbc47" datatype="html">\n        <source>S3</source>\n        <target>S3</target>\n      </trans-unit>\n      <trans-unit id="d6819038d608623503918fb2553f53d68231ec3a" datatype="html">\n        <source>There are no keys.</source>\n        <target>Não há chaves.</target>\n      </trans-unit>\n      <trans-unit id="fc1c1a7140ff6b815a95b65ee2780fdbe1b2b7a1" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ s3keyLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ s3keyLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6ddb5e991a3ecd2659fb520bc5acc81b67e08ddd" datatype="html">\n        <source>Swift</source>\n        <target>Swift</target>\n      </trans-unit>\n      <trans-unit id="1d01eccdda47fc907c5be35bcb16d2dcd02b0270" datatype="html">\n        <source>There are no capabilities.</source>\n        <target>Não há recursos.</target>\n      </trans-unit>\n      <trans-unit id="043e2ec0036ceadd926fd5e3f93cd6f3565f3648" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.ADD | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.ADD | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6146e13ceca5fa5cc17b771b282fe5955f3d19fa" datatype="html">\n        <source>Unlimited size</source>\n        <target>Tamanho ilimitado</target>\n      </trans-unit>\n      <trans-unit id="f6db8aa7c99fdce18edb33dde57729acede2b308" datatype="html">\n        <source>Max. size</source>\n        <target>Tamanho máx.</target>\n      </trans-unit>\n      <trans-unit id="fc630b2093e880fffa19df99d5cd8b87605037f8" datatype="html">\n        <source>Unlimited objects</source>\n        <target>Objetos ilimitados</target>\n      </trans-unit>\n      <trans-unit id="6cda5a993d06f0bb10048be9d3aba6555aa9f356" datatype="html">\n        <source>Max. objects</source>\n        <target>Máx. de objetos</target>\n      </trans-unit>\n      <trans-unit id="1ea5c4d8942c00752dcc72e72949c5d9832f6399" datatype="html">\n        <source>Description...</source>\n        <target>Descrição...</target>\n      </trans-unit>\n      <trans-unit id="70f45880fce6ac5d8e468e25e82aefbba8098cfe" datatype="html">\n        <source>Permissions</source>\n        <target>Permissões</target>\n      </trans-unit>\n      <trans-unit id="9610487cbeb5796d34d8601b5ac0c0a65f9e1d19" datatype="html">\n        <source>Roles</source>\n        <target>Funções</target>\n      </trans-unit>\n      <trans-unit id="7f3bdcce4b2e8c37cd7f0f6c92ef8cff34b039b8" datatype="html">\n        <source>Confirm password</source>\n        <target>Confirmar senha</target>\n      </trans-unit>\n      <trans-unit id="cbb979e63ba50e0ca3adfa09cbdcaefd0853fca1" datatype="html">\n        <source>Password confirmation doesn\'t match the password.</source>\n        <target>A confirmação de senha não corresponde à senha.</target>\n      </trans-unit>\n      <trans-unit id="244aae9346da82b0922506c2d2581373a15641cc" datatype="html">\n        <source>Email</source>\n        <target>E-mail</target>\n      </trans-unit>\n      <trans-unit id="d0ec081dd61eb4f43aea269077bbe38eae87b7f9" datatype="html">\n        <source>Invalid email.</source>\n        <target>E-mail inválido.</target>\n      </trans-unit>\n      <trans-unit id="0051a3479d3ba79135c16dc8cc017950a2cce821" datatype="html">\n        <source>You are about to remove "user read / update" permissions from your own user.</source>\n        <target>Você está prestes a remover as permissões de "leitura/atualização de usuário" do seu próprio usuário.</target>\n      </trans-unit>\n      <trans-unit id="af4bf9fcb256853f14cf947eb1deb8d7f176d3f9" datatype="html">\n        <source>If you continue, you will no longer be able to add or remove roles from any user.</source>\n        <target>Se você continuar, não poderá mais adicionar ou remover funções de nenhum usuário.</target>\n      </trans-unit>\n      <trans-unit id="7d1dcf2a9146caac0581329acf94806ec69a89a5" datatype="html">\n        <source>Are you sure you want to continue?</source>\n        <target>Deseja realmente continuar?</target>\n      </trans-unit>\n      <trans-unit id="85b79c9064aed1ead31ace985f31aa1363f6bdaf" datatype="html">\n        <source>Help</source>\n        <target>Ajuda</target>\n      </trans-unit>\n      <trans-unit id="fcfd4675b4c90f08d18d3abede9a9a4dff4cfdc7" datatype="html">\n        <source>Documentation</source>\n        <target>Documentação</target>\n      </trans-unit>\n      <trans-unit id="e351b40b3869a5c7d19c3d4918cb1ac7aaab95c4" datatype="html">\n        <source>API</source>\n        <target>API</target>\n      </trans-unit>\n      <trans-unit id="004b222ff9ef9dd4771b777950ca1d0e4cd4348a" datatype="html">\n        <source>About</source>\n        <target>Sobre</target>\n      </trans-unit>\n      <trans-unit id="1481ecd21e760ac919a24e26cf790acd82e40199" datatype="html">\n        <source>Dashboard Settings</source>\n        <target>Configurações do Painel de Controle</target>\n      </trans-unit>\n      <trans-unit id="a79aab4ef674bf3f6532292107c0054302236e0f" datatype="html">\n        <source>User management</source>\n        <target>Gerenciamento de usuários</target>\n      </trans-unit>\n      <trans-unit id="049dfd9fe6c78914ad58cf89ac6a631fca28ec74" datatype="html">\n        <source>Logged in user</source>\n        <target>Usuário que efetuou login</target>\n      </trans-unit>\n      <trans-unit id="cd38a58e73f306d838e621959d47d5e7a2f06d1f" datatype="html">\n        <source>Signed in as\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ username }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>\n        </source>\n        <target>Signed in as\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ username }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="739516c2ca75843d5aec9cf0e6b3e4335c4227b9" datatype="html">\n        <source>Change password</source>\n        <target>Change password</target>\n      </trans-unit>\n      <trans-unit id="5d22c795daf43877a5f708dca2bccd549eb0471d" datatype="html">\n        <source>Sign out</source>\n        <target>Efetuar logout</target>\n      </trans-unit>\n      <trans-unit id="91853167141c37b58868f3b0421383dd72fa8a01" datatype="html">\n        <source>Attributes (OSD map)</source>\n        <target>Atributos (mapa OSD)</target>\n      </trans-unit>\n      <trans-unit id="97842f379e1d4157ac3ab0661b90c352e7cb72d5" datatype="html">\n        <source>Metadata not available</source>\n        <target>Metadados não disponíveis</target>\n      </trans-unit>\n      <trans-unit id="f721a500a68c357e8f2a01e60510f6a01e4ba529" datatype="html">\n        <source>Metadata</source>\n        <target>Metadados</target>\n      </trans-unit>\n      <trans-unit id="deba10b7279a589d01e919ea11f43c79ca1773e3" datatype="html">\n        <source>Device health</source>\n        <target>Device health</target>\n      </trans-unit>\n      <trans-unit id="d24e28e19c5703d7c6be44f4eb595a6a43b618ed" datatype="html">\n        <source>Performance counter</source>\n        <target>Contador de desempenho</target>\n      </trans-unit>\n      <trans-unit id="d1f7c81ed9c5034af4abcdf119b1c1e86cd019dd" datatype="html">\n        <source>Histogram not available: \n          <x id="INTERPOLATION" equiv-text="{{ osd.histogram_failed }}"/>\n        </source>\n        <target>Histogram not available: \n          <x id="INTERPOLATION" equiv-text="{{ osd.histogram_failed }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="868abfff914873d1c65df798d8432ed04b8ae2a9" datatype="html">\n        <source>Writes</source>\n        <target>Gravações</target>\n      </trans-unit>\n      <trans-unit id="996ebb9a653b5067f97bf3891ea9d2108e969492" datatype="html">\n        <source>Reads</source>\n        <target>Leituras</target>\n      </trans-unit>\n      <trans-unit id="65ac79790aa477a97b1cc579e18a115a8df8918f" datatype="html">\n        <source>Histogram</source>\n        <target>Histograma</target>\n      </trans-unit>\n      <trans-unit id="26fb5f81b3581f06b9210defb0e71dc69a67e819" datatype="html">\n        <source>Current values</source>\n        <target>Valores atuais</target>\n      </trans-unit>\n      <trans-unit id="9abcd7c82643d60c22733470463f74e4a54bc069" datatype="html">\n        <source>Min</source>\n        <target>Mín.</target>\n      </trans-unit>\n      <trans-unit id="c3ced4d162a0a55ee233a187ce7208ba5e922418" datatype="html">\n        <source>Max</source>\n        <target>Máx.</target>\n      </trans-unit>\n      <trans-unit id="6834fa6b43d1ecbdf147c48dd9c4d72f1484571d" datatype="html">\n        <source>Source</source>\n        <target>Origem</target>\n      </trans-unit>\n      <trans-unit id="a446fb0eb11fbffcac805ece5a2d306d24e733d8" datatype="html">\n        <source>Level</source>\n        <target>Nível</target>\n      </trans-unit>\n      <trans-unit id="39f2fb094e9b2eda13163fa3f3a31594cf9c1307" datatype="html">\n        <source>Can be updated at runtime (editable)</source>\n        <target>Pode ser atualizado em tempo de execução (editável)</target>\n      </trans-unit>\n      <trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b" datatype="html">\n        <source>Tags</source>\n        <target>Tags</target>\n      </trans-unit>\n      <trans-unit id="ab0089ef47af61ca1d137bc908b96c290dfd9287" datatype="html">\n        <source>Enum values</source>\n        <target>Valores de enum</target>\n      </trans-unit>\n      <trans-unit id="819476f1264f1659f38e86f6abb542141b184832" datatype="html">\n        <source>See also</source>\n        <target>Consulte também</target>\n      </trans-unit>\n      <trans-unit id="d82a9af5b05e7cd17640f196f163771685ff8df6" datatype="html">\n        <source>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</source>\n        <target>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</target>\n      </trans-unit>\n      <trans-unit id="a185c9b97513b3882604ea9bab60edbfac945c15" datatype="html">\n        <source>SMART overall-health self-assessment test result</source>\n        <target>SMART overall-health self-assessment test result</target>\n      </trans-unit>\n      <trans-unit id="ddd5dd6d930030096ea617f62c82b648a0dd9484" datatype="html">\n        <source>Device Information</source>\n        <target>Device Information</target>\n      </trans-unit>\n      <trans-unit id="79c6bf990ea5b4d83bbf8f9e399f4bd933a1ebfc" datatype="html">\n        <source>S.M.A.R.T</source>\n        <target>S.M.A.R.T</target>\n      </trans-unit>\n      <trans-unit id="05c17e08939cbef1a5df5386263b1701e8d5742e" datatype="html">\n        <source>S.M.A.R.T data is loading.</source>\n        <target>S.M.A.R.T data is loading.</target>\n      </trans-unit>\n      <trans-unit id="73caac4265ea7314ff061e5a1d78a6361a6dd3b8" datatype="html">\n        <source>Cluster Status</source>\n        <target>Status do Cluster</target>\n      </trans-unit>\n      <trans-unit id="1d4bc612bbf19aa9553853266b9e92c9d75f4464" datatype="html">\n        <source>Manager Daemons</source>\n        <target>Daemons do Gerenciador</target>\n      </trans-unit>\n      <trans-unit id="946ac5dea9921dc09d7b0a63b89535371f283b19" datatype="html">\n        <source>Object Gateways</source>\n        <target>Gateways de Objetos</target>\n      </trans-unit>\n      <trans-unit id="ff03fa5bcf37c4da46ad736c1f7d03f959e8ba9a" datatype="html">\n        <source>Metadata Servers</source>\n        <target>Servidores de Metadados</target>\n      </trans-unit>\n      <trans-unit id="d817609ba4993eba859409ab71e566168f4d5f5a" datatype="html">\n        <source>iSCSI Gateways</source>\n        <target>Gateways iSCSI</target>\n      </trans-unit>\n      <trans-unit id="42c13e50391250ea9379bdf55d5d6c0228c0c8bc" datatype="html">\n        <source>Client IOPS</source>\n        <target>IOPS do Cliente</target>\n      </trans-unit>\n      <trans-unit id="52213660b2454d139ada3079a42ec6caf3c3c01e" datatype="html">\n        <source>Client Throughput</source>\n        <target>Throughput do Cliente</target>\n      </trans-unit>\n      <trans-unit id="32efd1c3f70e3c5244239de97a2cc95d98534a14" datatype="html">\n        <source>Client Read/Write</source>\n        <target>Leitura/Gravação do Cliente</target>\n      </trans-unit>\n      <trans-unit id="275485415092cbae3a9f3cbb786ebe283cacfdd5" datatype="html">\n        <source>Recovery Throughput</source>\n        <target>Throughput de Recuperação</target>\n      </trans-unit>\n      <trans-unit id="6d9a9f55046891733ef71170e7652063765eb542" datatype="html">\n        <source>Scrub</source>\n        <target>Remoção</target>\n      </trans-unit>\n      <trans-unit id="3cc9c2ae277393b3946b38c088dabff671b1ee1b" datatype="html">\n        <source>Performance</source>\n        <target>Desempenho</target>\n      </trans-unit>\n      <trans-unit id="88f383269db2d32cccee9e936fe549dccb9fdbf4" datatype="html">\n        <source>Raw Capacity</source>\n        <target>Capacidade Bruta</target>\n      </trans-unit>\n      <trans-unit id="c5f8a813f91a11af99132e4beafc136cfc13d73b" datatype="html">\n        <source>PGs per OSD</source>\n        <target>PGs por OSD</target>\n      </trans-unit>\n      <trans-unit id="498a109c6e9e94f1966de01aa0326f7f0ac6fb52" datatype="html">\n        <source>PG Status</source>\n        <target>Status do PG</target>\n      </trans-unit>\n      <trans-unit id="ce9dfdc6dccb28dc75a78c704e09dc18fb02dcfa" datatype="html">\n        <source>Capacity</source>\n        <target>Capacidade</target>\n      </trans-unit>\n      <trans-unit id="44ecac93d67c6a671198091c2270354f80322327" datatype="html">\n        <source>\n          <x id="START_ITALIC_TEXT" ctype="x-i" equiv-text="<i>"/>\n          <x id="CLOSE_ITALIC_TEXT" ctype="x-i" equiv-text="</i>"/> See \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Logs\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more details.\n        </source>\n        <target>\n          <x id="START_ITALIC_TEXT" ctype="x-i" equiv-text="<i>"/>\n          <x id="CLOSE_ITALIC_TEXT" ctype="x-i" equiv-text="</i>"/> See \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Logs\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more details.\n        </target>\n      </trans-unit>\n      <trans-unit id="0c1e17956453ad772dbe82d6946f62748c692f3e" datatype="html">\n        <source>Ranks</source>\n        <target>Posições</target>\n      </trans-unit>\n      <trans-unit id="2b24e0b0b1629d2e8a51b9da7c75d6e6379f4bc4" datatype="html">\n        <source>Standbys</source>\n        <target>Standbys</target>\n      </trans-unit>\n      <trans-unit id="50df62325726db950523a5be1c78b8905fcc25d4" datatype="html">\n        <source>MDS performance counters</source>\n        <target>MDS performance counters</target>\n      </trans-unit>\n      <trans-unit id="a7b6508fb834bee9e48e11e4503fbbc2d19204de" datatype="html">\n        <source>Clients: \n          <x id="INTERPOLATION" equiv-text="{{ clients.data.length }}"/>\n        </source>\n        <target>Clients: \n          <x id="INTERPOLATION" equiv-text="{{ clients.data.length }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6e213942c6354b9cbe7a650f0f1499bfc1000fb6" datatype="html">\n        <source>Directories</source>\n        <target>Directories</target>\n      </trans-unit>\n      <trans-unit id="47116253e36f4e38a97ba41b2d3122c6c15ab904" datatype="html">\n        <source>Clients (\n          <x id="INTERPOLATION" equiv-text="{{ clients.length }}"/>)\n        </source>\n        <target>Clients (\n          <x id="INTERPOLATION" equiv-text="{{ clients.length }}"/>)\n        </target>\n      </trans-unit>\n      <trans-unit id="bd5a3b1c5a3c185c7bbb0e09a061d4cdc88ce5ad" datatype="html">\n        <source>Current</source>\n        <target>Atual</target>\n      </trans-unit>\n      <trans-unit id="e5e7d62e942083a59b0b31f54e17cd7958186052" datatype="html">\n        <source>Updated discovery authentication</source>\n        <target>Autenticação de descoberta atualizada</target>\n      </trans-unit>\n      <trans-unit id="dd4ab758afd5fd5a6c6a25b2b30ff99d0c00e9ad" datatype="html">\n        <source>There are no portals available.</source>\n        <target>Não há portais disponíveis.</target>\n      </trans-unit>\n      <trans-unit id="83021e45778a4a230a14ca0c6d6ccdf05500ad93" datatype="html">\n        <source>There are no images available.</source>\n        <target>Não há imagens disponíveis.</target>\n      </trans-unit>\n      <trans-unit id="86684eb21f8a768e1dbc659e3d5da6861db544a0" datatype="html">\n        <source>There are no images available. Please make sure you add an image to the target.</source>\n        <target>Não há imagens disponíveis. Adicione uma imagem ao destino.</target>\n      </trans-unit>\n      <trans-unit id="fffda6e440078f57eba93944ce051c593cc6ed7f" datatype="html">\n        <source>There are no initiators available. Please make sure you add an initiator to the target.</source>\n        <target>Não há iniciadores disponíveis. Adicione um iniciador ao destino.</target>\n      </trans-unit>\n      <trans-unit id="cea3c6fe490385eef1584cbc4983fda7ece24bb6" datatype="html">\n        <source>target</source>\n        <target>target</target>\n      </trans-unit>\n      <trans-unit id="38baeb215c17af9d9e295e371a57f4a48ab4c191" datatype="html">\n        <source>Target</source>\n        <target>Destino</target>\n      </trans-unit>\n      <trans-unit id="99e094878070eebc1b972bac02aaa33b2bf83b35" datatype="html">\n        <source># Sessions</source>\n        <target># Sessions</target>\n      </trans-unit>\n      <trans-unit id="c49e0dd71d551bd4928d967d78f0721dbf9f95e3" datatype="html">\n        <source>Target has active sessions</source>\n        <target>Target has active sessions</target>\n      </trans-unit>\n      <trans-unit id="a87acd72dfb68b45175270695209550a85adf50c" datatype="html">\n        <source>iSCSI target</source>\n        <target>iSCSI target</target>\n      </trans-unit>\n      <trans-unit id="873b72903b1858a9cd6c8967521030b4d7d1435b" datatype="html">\n        <source>State</source>\n        <target>Estado</target>\n      </trans-unit>\n      <trans-unit id="02b75464c0dc0cf49ea0208211b6fbcad3bf728a" datatype="html">\n        <source># Targets</source>\n        <target># Targets</target>\n      </trans-unit>\n      <trans-unit id="13415637c325ceefee29111b31cb48701490adf7" datatype="html">\n        <source>Read Bytes</source>\n        <target>Bytes de Leitura</target>\n      </trans-unit>\n      <trans-unit id="e2ed82b7bbf4a006e60e6208c597b05d5b5556e9" datatype="html">\n        <source>Write Bytes</source>\n        <target>Bytes de Gravação</target>\n      </trans-unit>\n      <trans-unit id="6a32a5f58845ca840185ea9564682094e77a1d80" datatype="html">\n        <source>Read Ops</source>\n        <target>Op. de Leitura</target>\n      </trans-unit>\n      <trans-unit id="7c36cb8032af123d3550ffab2e1fa1e957c87fae" datatype="html">\n        <source>Write Ops</source>\n        <target>Op. de Gravação</target>\n      </trans-unit>\n      <trans-unit id="458c33846a8c7e2feb9404bcf06723784e756cdc" datatype="html">\n        <source>A/O Since</source>\n        <target>A/O Desde</target>\n      </trans-unit>\n      <trans-unit id="ff78f059449d44322f627d0f66df07abe476962b" datatype="html">\n        <source>Instance</source>\n        <target>Instância</target>\n      </trans-unit>\n      <trans-unit id="36fad7995cadfb3a6f0d43ef2db280146b3ca022" datatype="html">\n        <source>Issue</source>\n        <target>Problema</target>\n      </trans-unit>\n      <trans-unit id="15793f4cbc261bedbc60f7105533dde536a3f42b" datatype="html">\n        <source>Progress</source>\n        <target>Andamento</target>\n      </trans-unit>\n      <trans-unit id="f39256070bfc0714020dfee08895421fc1527014" datatype="html">\n        <source>Disabled</source>\n        <target>Desabilitado</target>\n      </trans-unit>\n      <trans-unit id="8c375764db42f5d736fb56d01b8052c006ccc8e2" datatype="html">\n        <source>Edit Mode</source>\n        <target>Modo de Edição</target>\n      </trans-unit>\n      <trans-unit id="45932f2a0ea524b3425f4320ee46a6d1c68977bc" datatype="html">\n        <source>Add Peer</source>\n        <target>Adicionar Peer</target>\n      </trans-unit>\n      <trans-unit id="d3dc34662e3cda0dad646221651cebd26f731485" datatype="html">\n        <source>Edit Peer</source>\n        <target>Editar Peer</target>\n      </trans-unit>\n      <trans-unit id="e8a0ec0b6ee72db0f27c186e09640d1ed41964bd" datatype="html">\n        <source>Delete Peer</source>\n        <target>Excluir Peer</target>\n      </trans-unit>\n      <trans-unit id="314de06d6f64d39149e78e6d796585c0246fec0b" datatype="html">\n        <source>Leader</source>\n        <target>Leader</target>\n      </trans-unit>\n      <trans-unit id="7acaab450312114059ced9e3737798ee9aa738b1" datatype="html">\n        <source># Local</source>\n        <target>Nº Local</target>\n      </trans-unit>\n      <trans-unit id="7a3ffd88868135c44be3994263bb8e49d8358884" datatype="html">\n        <source># Remote</source>\n        <target>Nº Remoto</target>\n      </trans-unit>\n      <trans-unit id="85ca0fd6a6ddd211023c70a25753122c5b978787" datatype="html">\n        <source>mirror peer</source>\n        <target>espelhar peer</target>\n      </trans-unit>\n      <trans-unit id="a6493c6ca346cd052da40423eda9c132de2b2002" datatype="html">\n        <source>Key</source>\n        <target>Chave</target>\n      </trans-unit>\n      <trans-unit id="e9cac80fb5d9de66f0006d0bec530fd1fc69a674" datatype="html">\n        <source>RBD</source>\n        <target>RBD</target>\n      </trans-unit>\n      <trans-unit id="4130b1a836f2000cfe9a11fb62493dc42d444de7" datatype="html">\n        <source>Deep flatten</source>\n        <target>Nivelamento profundo</target>\n      </trans-unit>\n      <trans-unit id="7b17694d7cb8ecb7c8440bc999dac21b44455b33" datatype="html">\n        <source>Layering</source>\n        <target>Disposição em camadas</target>\n      </trans-unit>\n      <trans-unit id="6a072ce577c2079d0e0c31071a16824f6d22b84d" datatype="html">\n        <source>Exclusive lock</source>\n        <target>Bloqueio exclusivo</target>\n      </trans-unit>\n      <trans-unit id="7354f01320bf936a7f85577c9f71402635c3a362" datatype="html">\n        <source>Object map (requires exclusive-lock)</source>\n        <target>Mapa de objetos (requer bloqueio exclusivo)</target>\n      </trans-unit>\n      <trans-unit id="fb7e625c1152f1c102cd16460955d124edff1770" datatype="html">\n        <source>Journaling (requires exclusive-lock)</source>\n        <target>Registro em diário (requer bloqueio exclusivo)</target>\n      </trans-unit>\n      <trans-unit id="df4044632bfc211dd96544fc8f007dabbeeb506c" datatype="html">\n        <source>Fast diff (interlocked with object-map)</source>\n        <target>Fast diff (interlocked with object-map)</target>\n      </trans-unit>\n      <trans-unit id="631fc50ec7c9bd81dc797a3c7e09eda1178ad999" datatype="html">\n        <source>Parent image must support Layering</source>\n        <target>Parent image must support Layering</target>\n      </trans-unit>\n      <trans-unit id="7eb984588f4835f6d0187b33769b4b0f62821640" datatype="html">\n        <source>RBD snapshot rollback</source>\n        <target>Rollback de instantâneo do RBD</target>\n      </trans-unit>\n      <trans-unit id="4be22bf20ef82614ed53bcd3b912a85590aa71c9" datatype="html">\n        <source>Rollback</source>\n        <target>Fazer Rollback</target>\n      </trans-unit>\n      <trans-unit id="2a04c483708d261751d62082d6f03a50d4577b1e" datatype="html">\n        <source>RBD snapshot</source>\n        <target>Instantâneo do RBD</target>\n      </trans-unit>\n      <trans-unit id="fa96769d1ea86741297cb9b9769b0dcfde58c8b4" datatype="html">\n        <source>Deleted At</source>\n        <target>Excluído à(s)</target>\n      </trans-unit>\n      <trans-unit id="e928864038ca70ee7d67bbf1fd71a01c3938a127" datatype="html">\n        <source>id</source>\n        <target>ID</target>\n      </trans-unit>\n      <trans-unit id="240c9c1e96dc38814922a83ad041dc815b084f32" datatype="html">\n        <source>type</source>\n        <target>tipo</target>\n      </trans-unit>\n      <trans-unit id="c9d7ec7ee5b4e282f2228fa996651ec4ef5195a9" datatype="html">\n        <source>state</source>\n        <target>estado</target>\n      </trans-unit>\n      <trans-unit id="5780e5c3b4fc2ae07836bb5221cec4f8d597630d" datatype="html">\n        <source>version</source>\n        <target>versão</target>\n      </trans-unit>\n      <trans-unit id="fe22ca53e651df951dac25b67c17894b0980f767" datatype="html">\n        <source>Host</source>\n        <target>Host</target>\n      </trans-unit>\n      <trans-unit id="fb69299354312c8954ecf324997ccafcd9f6b14b" datatype="html">\n        <source>root</source>\n        <target>raiz</target>\n      </trans-unit>\n      <trans-unit id="d34feb369d308075b423d5c5fc431f9766bf7a11" datatype="html">\n        <source>Evicted client "\n          <x id="INTERPOLATION" equiv-text="{{clientId}}"/>"\n        </source>\n        <target>Evicted client "\n          <x id="INTERPOLATION" equiv-text="{{clientId}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="7db875ff4cc626d394f37fba95c075b2e4bfeb00" datatype="html">\n        <source>Standby daemons</source>\n        <target>Daemons de standby</target>\n      </trans-unit>\n      <trans-unit id="3c3a423d91e36ac6624e909fcd2669a25685f847" datatype="html">\n        <source>Rank</source>\n        <target>Posição</target>\n      </trans-unit>\n      <trans-unit id="9596ecae8956e96921acef47aec787f6bdc37454" datatype="html">\n        <source>Daemon</source>\n        <target>Daemon</target>\n      </trans-unit>\n      <trans-unit id="f2005fa461c06dc2e04d8918bbabedf23604b5b7" datatype="html">\n        <source>Activity</source>\n        <target>Atividade</target>\n      </trans-unit>\n      <trans-unit id="e3a986984ae0c3b43af648c3fa638649d1c00348" datatype="html">\n        <source>Dentries</source>\n        <target>Dentries</target>\n      </trans-unit>\n      <trans-unit id="7c692ab865066967d73c6d64ec0691cc6ce91b93" datatype="html">\n        <source>Inodes</source>\n        <target>Inodes</target>\n      </trans-unit>\n      <trans-unit id="45f210b96a2a6e91f52f153a4f8dc30662629f8e" datatype="html">\n        <source>Usage</source>\n        <target>Uso</target>\n      </trans-unit>\n      <trans-unit id="950b5f04a2efd3f11c0f76418d5a4212381e792e" datatype="html">\n        <source>Origin</source>\n        <target>Origin</target>\n      </trans-unit>\n      <trans-unit id="22e4e574b7f8abf58254f328792445b42e2a924a" datatype="html">\n        <source>The value can be updated at runtime.</source>\n        <target>É possível atualizar o valor em temo de execução.</target>\n      </trans-unit>\n      <trans-unit id="d7770de7b2343c9deeaa7ebf37ba3e35ca5c5988" datatype="html">\n        <source>Daemons/clients do not pull this value from the\n      monitor config database. We disallow setting this option via \'ceph config\n      set ...\'. This option should be configured via ceph.conf or via the\n      command line.</source>\n        <target>Daemons/clientes não extraem este valor do\n      banco de dados de configuração do monitor. A configuração desta opção não é permitida por meio de \'ceph config\n      set ...\'. Essa opção deve ser configurada por meio do ceph.conf ou da\n      linha de comando.</target>\n      </trans-unit>\n      <trans-unit id="83f11fd1dc503c37931ea6c1c5c1e8c2b4b597b6" datatype="html">\n        <source>Option takes effect only during daemon startup.</source>\n        <target>A opção entra em vigor apenas durante a inicialização do daemon.</target>\n      </trans-unit>\n      <trans-unit id="837a07cd6a971038b8b1aa190c43440c9fdb5d8b" datatype="html">\n        <source>Option only affects cluster creation.</source>\n        <target>A opção afeta apenas a criação do cluster.</target>\n      </trans-unit>\n      <trans-unit id="2566a88eb247c918b71cfe5b354c31de0d4b01e5" datatype="html">\n        <source>Option only affects daemon creation.</source>\n        <target>A opção afeta apenas a criação do daemon.</target>\n      </trans-unit>\n      <trans-unit id="1cdc60cfc09c257625768f3d2082816cdef27279" datatype="html">\n        <source>Updated config option \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\n        </source>\n        <target>Updated config option \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="d473e0f684a60db45d6f31e993f693f74290e056" datatype="html">\n        <source>Service</source>\n        <target>Serviço</target>\n      </trans-unit>\n      <trans-unit id="9951bb3983c7dba6fde013e05c922e4fe1a44367" datatype="html">\n        <source>Current value</source>\n        <target>Valor atual</target>\n      </trans-unit>\n      <trans-unit id="4a01c175f90dd92b432f4a4a199d2c7bb9d997ff" datatype="html">\n        <source>Editable</source>\n        <target>Editável</target>\n      </trans-unit>\n      <trans-unit id="261c0af854e8684abc15f89dce6efb3e72344b18" datatype="html">\n        <source>host</source>\n        <target>host</target>\n      </trans-unit>\n      <trans-unit id="9e35065e7c579e1fb960499117fd4b3c68d1c263" datatype="html">\n        <source>Host operation is disabled because orchestrator is unavailable</source>\n        <target>Host operation is disabled because orchestrator is unavailable</target>\n      </trans-unit>\n      <trans-unit id="a5d5e407f8c4e1b152509c966c90f37edf68472e" datatype="html">\n        <source>Device path</source>\n        <target>Device path</target>\n      </trans-unit>\n      <trans-unit id="94e76c060aa68c05d8c4a3f5a20c92fab3e83ccf" datatype="html">\n        <source>Rotates</source>\n        <target>Rotates</target>\n      </trans-unit>\n      <trans-unit id="b7da3e3505cc80f9bf3cffc8444c53e8a9ec70a5" datatype="html">\n        <source>Available</source>\n        <target>Available</target>\n      </trans-unit>\n      <trans-unit id="6ec98fa3d6504ba1fd03465194b53706c8263c99" datatype="html">\n        <source>Model</source>\n        <target>Model</target>\n      </trans-unit>\n      <trans-unit id="1a6e6ad05508130b7a99ce5b15daf3227c2a930c" datatype="html">\n        <source>Updated options for module "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>".\n        </source>\n        <target>Updated options for module "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="ac6c9212896d39b23811ed2dadab7d07336ec559" datatype="html">\n        <source>Enable</source>\n        <target>Habilitar</target>\n      </trans-unit>\n      <trans-unit id="6766a926d80bb7763785621098dae459d6226429" datatype="html">\n        <source>Disable</source>\n        <target>Desabilitar</target>\n      </trans-unit>\n      <trans-unit id="340f2f312c2eb353e5cd69aee6bee7f5a73c34ac" datatype="html">\n        <source>This Manager module is always on.</source>\n        <target>This Manager module is always on.</target>\n      </trans-unit>\n      <trans-unit id="6a0b3657745dd7a2f2162f1cc790bf9004d0845d" datatype="html">\n        <source>Reconnecting, please wait ...</source>\n        <target>Reconectando, aguarde...</target>\n      </trans-unit>\n      <trans-unit id="7099a8878af7a0a26fe5663c4f46cfe87142b75d" datatype="html">\n        <source>Public Address</source>\n        <target>Endereço Público</target>\n      </trans-unit>\n      <trans-unit id="cbdd1cdc0c7a87f55dd177bc44212f0fc4b80852" datatype="html">\n        <source>Open Sessions</source>\n        <target>Sessões Abertas</target>\n      </trans-unit>\n      <trans-unit id="37e58d1cbdf8212b380efa51422e42821d4f08e6" datatype="html">\n        <source>No In</source>\n        <target>Não Entrada</target>\n      </trans-unit>\n      <trans-unit id="12706eb5af17ff5ad77b3de21af368d24678e00b" datatype="html">\n        <source>OSDs that were previously marked out will not be marked back in when they start</source>\n        <target>Os OSDs que já foram marcados como saída não serão remarcados como entrada ao serem iniciados</target>\n      </trans-unit>\n      <trans-unit id="96114d7624d11dc90ca46cfa96145fe22118df76" datatype="html">\n        <source>No Out</source>\n        <target>Não Saída</target>\n      </trans-unit>\n      <trans-unit id="a2ef636fe1ddd56b63e4aaf3d292f33dbf735ef3" datatype="html">\n        <source>OSDs will not automatically be marked out after the configured interval</source>\n        <target>Os OSDs não serão automaticamente marcados como saída após o intervalo configurado</target>\n      </trans-unit>\n      <trans-unit id="ee50aefa9b8bde1e5429b48709a23abfe08358e0" datatype="html">\n        <source>No Up</source>\n        <target>Não Ativo</target>\n      </trans-unit>\n      <trans-unit id="608929b939307e397586a98cea52ae38997c7273" datatype="html">\n        <source>OSDs are not allowed to start</source>\n        <target>Os OSDs não podem ser iniciados</target>\n      </trans-unit>\n      <trans-unit id="1751ab69c1e7f62927afedbf7116e0116316c551" datatype="html">\n        <source>No Down</source>\n        <target>Não Inativo</target>\n      </trans-unit>\n      <trans-unit id="41fac86dfb65c1db690f3e87f6497cb73b281084" datatype="html">\n        <source>OSD failure reports are being ignored, such that the monitors will not mark OSDs down</source>\n        <target>Os relatórios de falha de OSD estão sendo ignorados, portanto, os monitores não marcarão os OSDs como inativos</target>\n      </trans-unit>\n      <trans-unit id="b2838c6165a9672a17db188f4dd9676574353dd8" datatype="html">\n        <source>Pause</source>\n        <target>Pausar</target>\n      </trans-unit>\n      <trans-unit id="191d71dadcc8790573d46706a0b48211de4b8334" datatype="html">\n        <source>Pauses reads and writes</source>\n        <target>Pausa leituras e gravações</target>\n      </trans-unit>\n      <trans-unit id="471d5ba75836f38c19992cf83d8822632d99e473" datatype="html">\n        <source>No Scrub</source>\n        <target>Sem Remoção</target>\n      </trans-unit>\n      <trans-unit id="5b8caa61814121bc36dac0c34a9e9de3cae74990" datatype="html">\n        <source>Scrubbing is disabled</source>\n        <target>Remoção desabilitada</target>\n      </trans-unit>\n      <trans-unit id="7f29a0ac1c797bdc0347dd5d0734ba83e96e7ce6" datatype="html">\n        <source>No Deep Scrub</source>\n        <target>Sem Remoção Profunda</target>\n      </trans-unit>\n      <trans-unit id="01da61ab216541a8d31259cebd16b10c7e5fc124" datatype="html">\n        <source>Deep Scrubbing is disabled</source>\n        <target>Remoção Profunda desabilitada</target>\n      </trans-unit>\n      <trans-unit id="0b86c7f18ac725de62c7e192dcfccd02c0dc40ab" datatype="html">\n        <source>No Backfill</source>\n        <target>Sem Provisionamento</target>\n      </trans-unit>\n      <trans-unit id="bd33a2bdc8fbed3b7469f3717c16d9aaa2851fdd" datatype="html">\n        <source>Backfilling of PGs is suspended</source>\n        <target>Provisionamento de PGs suspenso</target>\n      </trans-unit>\n      <trans-unit id="7fbbd036394cfa623add40299757bc87df8eaa7e" datatype="html">\n        <source>No Recover</source>\n        <target>Sem Recuperação</target>\n      </trans-unit>\n      <trans-unit id="f3ee9b451a64dca47299c9b4ae1091c2008068ad" datatype="html">\n        <source>Recovery of PGs is suspended</source>\n        <target>Recuperação de PGs suspensa</target>\n      </trans-unit>\n      <trans-unit id="de904148fe7e8d812218f50333ffe247900617c5" datatype="html">\n        <source>Bitwise Sort</source>\n        <target>Classificação Bit a Bit</target>\n      </trans-unit>\n      <trans-unit id="2613c9fde29785bcd75f0abeccb653d14d7527b3" datatype="html">\n        <source>Use bitwise sort</source>\n        <target>Usar classificação bit a bit</target>\n      </trans-unit>\n      <trans-unit id="2fe10d84250aeee365db244251d40934c70ff1e9" datatype="html">\n        <source>Purged Snapdirs</source>\n        <target>Snapdirs Purgados</target>\n      </trans-unit>\n      <trans-unit id="6b22a5b780eda3c5d500cdac9c6d4f96978c38f1" datatype="html">\n        <source>OSDs have converted snapsets</source>\n        <target>OSDs converteram snapsets</target>\n      </trans-unit>\n      <trans-unit id="c42f0ba60564dc5b977a8c7f3fdcde9efbb39c60" datatype="html">\n        <source>Recovery Deletes</source>\n        <target>Exclusões de Recuperação</target>\n      </trans-unit>\n      <trans-unit id="72fe39979198ea2ed6db6274b5029025cb316d90" datatype="html">\n        <source>Deletes performed during recovery instead of peering</source>\n        <target>Exclusões realizadas durante a recuperação, e não o emparelhamento</target>\n      </trans-unit>\n      <trans-unit id="1bb4a1f9127cefe624c173557a716d0ebb6d647c" datatype="html">\n        <source>PG Log Hard Limit</source>\n        <target>Limite Físico do Registro de PG</target>\n      </trans-unit>\n      <trans-unit id="e03c0321397fdf7a9c22e8d6b5015424943c0a57" datatype="html">\n        <source>Puts a hard limit on pg log length</source>\n        <target>Atribui um limite físico ao tamanho do registro de PG</target>\n      </trans-unit>\n      <trans-unit id="3c384e2e80c6b5eb24861fbf4225b69486cff4a3" datatype="html">\n        <source>Updated OSD Flags</source>\n        <target>Flags OSD Atualizadas</target>\n      </trans-unit>\n      <trans-unit id="688578fcc739d6f0c5fb6c366dbb19d21c6d9e36" datatype="html">\n        <source>out</source>\n        <target>saída</target>\n      </trans-unit>\n      <trans-unit id="cb0f69bdd4dea41d7d45c74b6e07f98de8a2ab26" datatype="html">\n        <source>in</source>\n        <target>entrada</target>\n      </trans-unit>\n      <trans-unit id="b5fbc7c7f007dd53b2318525bb7ff8b0376c9e37" datatype="html">\n        <source>down</source>\n        <target>inativo</target>\n      </trans-unit>\n      <trans-unit id="b58719bcb9184e1a7884d00d22d10899d59bf295" datatype="html">\n        <source>Mark</source>\n        <target>Marcar</target>\n      </trans-unit>\n      <trans-unit id="31a1c1aa03f1e5084750bedb4e3fdc04ce2cb6ca" datatype="html">\n        <source>OSD lost</source>\n        <target>OSD perdido</target>\n      </trans-unit>\n      <trans-unit id="f3fc4c85c5b8f1dedea0496b72d0af9da7b9e0d9" datatype="html">\n        <source>marked lost</source>\n        <target>marcado como perdido</target>\n      </trans-unit>\n      <trans-unit id="40fedc157ad899a18ec40573f770d18b040959d2" datatype="html">\n        <source>Purge</source>\n        <target>Purgar</target>\n      </trans-unit>\n      <trans-unit id="c8b1475105463088593de1022ff6dceb523eae0e" datatype="html">\n        <source>OSD</source>\n        <target>OSD</target>\n      </trans-unit>\n      <trans-unit id="4f3cff08c7033b63bbccfe66006b1bcaea48ddd8" datatype="html">\n        <source>purged</source>\n        <target>purgado</target>\n      </trans-unit>\n      <trans-unit id="8e5d1b01eca6dce26a4751f0b19bda7a6ab8db5b" datatype="html">\n        <source>destroy</source>\n        <target>destruir</target>\n      </trans-unit>\n      <trans-unit id="495a06b78bf165a7b545fa002137f0846b094a3d" datatype="html">\n        <source>destroyed</source>\n        <target>destruído</target>\n      </trans-unit>\n      <trans-unit id="107614b994f2b01abdc1ca179bf780b0cd933ec4" datatype="html">\n        <source>Recovery Priority</source>\n        <target>Recovery Priority</target>\n      </trans-unit>\n      <trans-unit id="359dad5a3a912ef9dece3194035020856805aa96" datatype="html">\n        <source>PG scrub</source>\n        <target>PG scrub</target>\n      </trans-unit>\n      <trans-unit id="953144c420c2e5abd02e6a687433eac60fa852bd" datatype="html">\n        <source>PGs</source>\n        <target>PGs</target>\n      </trans-unit>\n      <trans-unit id="7d3523ea9d35c274cef84043de8a2fdde540a9a1" datatype="html">\n        <source>Read bytes</source>\n        <target>Bytes de leitura</target>\n      </trans-unit>\n      <trans-unit id="ecbe2fdca919499125bc42c2c67cedae8563db1c" datatype="html">\n        <source>Writes bytes</source>\n        <target>Bytes de gravação</target>\n      </trans-unit>\n      <trans-unit id="f3c33322823c846b13f59ba2c8f234405bba99e1" datatype="html">\n        <source>Read ops</source>\n        <target>Op. de leitura</target>\n      </trans-unit>\n      <trans-unit id="7e0b24a17546cbfab48b03dc874461d1ca68bc9a" datatype="html">\n        <source>Write ops</source>\n        <target>Op. de gravação</target>\n      </trans-unit>\n      <trans-unit id="d45455406092f58e6b089cb440b5b7934b801a01" datatype="html">\n        <source>Mark OSD \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </source>\n        <target>Mark OSD \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="de0b7806e451b3b3dbd564decba59981fe781c18" datatype="html">\n        <source>Mark \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </source>\n        <target>Mark \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="bba1d3bb4f8a47aa2b3068e242562196eadb1e83" datatype="html">\n        <source>PG scrub options</source>\n        <target>PG scrub options</target>\n      </trans-unit>\n      <trans-unit id="b0b7748ebc9b7a6942a8cac4a89d4b215b365878" datatype="html">\n        <source>Updated PG scrub options</source>\n        <target>Updated PG scrub options</target>\n      </trans-unit>\n      <trans-unit id="4edc2162af0bd6cd941eaf730d20a7e3b5a83ba7" datatype="html">\n        <source>Max Backfills</source>\n        <target>Máx. de Provisionamentos</target>\n      </trans-unit>\n      <trans-unit id="eb5e6c24a48a1dfe23e0a772b762be5e949c0c8a" datatype="html">\n        <source>Recovery Max Active</source>\n        <target>Máx. Recuperação Ativo</target>\n      </trans-unit>\n      <trans-unit id="4a23c6d3859e03184118620d2baeb736ac765fbf" datatype="html">\n        <source>Recovery Max Single Start</source>\n        <target>Máx. Recuperação Inicialização Única</target>\n      </trans-unit>\n      <trans-unit id="97049169ef5228fd1724de2fcdad1fec2858eaf8" datatype="html">\n        <source>Recovery Sleep</source>\n        <target>Suspensão de Recuperação</target>\n      </trans-unit>\n      <trans-unit id="a5c05002b0ac2040f1aede5e727e0ffd06eda819" datatype="html">\n        <source>Custom</source>\n        <target>Personalizado</target>\n      </trans-unit>\n      <trans-unit id="89553524f4e7db5c437b07dcfdc7b831d56ded1a" datatype="html">\n        <source>Updated OSD recovery speed priority "\n          <x id="INTERPOLATION" equiv-text="{{value}}"/>"\n        </source>\n        <target>Updated OSD recovery speed priority "\n          <x id="INTERPOLATION" equiv-text="{{value}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="ccf5f30798c03d2d8efd0e6eb508320c018b722d" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{operation}}"/> was initialized in the following OSD(s): \n          <x id="INTERPOLATION_1" equiv-text="{{id}}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{operation}}"/> was initialized in the following OSD(s): \n          <x id="INTERPOLATION_1" equiv-text="{{id}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="9836e830d0219585b36d53be00a31c3d4798a4aa" datatype="html">\n        <source>Smartctl has received an unknown argument (error code\n          <x id="INTERPOLATION" equiv-text="{{smartData.smartctl_error_code}}"/>). You may be using an\n                incompatible version of smartmontools. Version &gt;= 7.0 of\n                smartmontools is required to succesfully retrieve data.\n        </source>\n        <target>Smartctl has received an unknown argument (error code\n          <x id="INTERPOLATION" equiv-text="{{smartData.smartctl_error_code}}"/>). You may be using an\n                incompatible version of smartmontools. Version &gt;= 7.0 of\n                smartmontools is required to succesfully retrieve data.\n        </target>\n      </trans-unit>\n      <trans-unit id="d5fd840374ca1a6f394bcd81f390a6dca27f8224" datatype="html">\n        <source>An error with error code \n          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.\n        </source>\n        <target>An error with error code \n          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.\n        </target>\n      </trans-unit>\n      <trans-unit id="a0b59d7139692bb8d8ed786b6eb6e9e70ce743f3" datatype="html">\n        <source>Raw</source>\n        <target>Raw</target>\n      </trans-unit>\n      <trans-unit id="2f3beddc8234b30fb26a7f63ba2f1ea74f2ed6f7" datatype="html">\n        <source>Threshold</source>\n        <target>Threshold</target>\n      </trans-unit>\n      <trans-unit id="4654b5a68af3c8bad29aa14ca85ccea1f3143c6b" datatype="html">\n        <source>When Failed</source>\n        <target>When Failed</target>\n      </trans-unit>\n      <trans-unit id="5b7f56d5be49fb8e8d8f40209d6746f8f72e9177" datatype="html">\n        <source>Worst</source>\n        <target>Worst</target>\n      </trans-unit>\n      <trans-unit id="1edb8e46b0fac57c5feb3d7d3585afc0122d5481" datatype="html">\n        <source>Create silence</source>\n        <target>Create silence</target>\n      </trans-unit>\n      <trans-unit id="78917e8031aaf913ac3fa63295325ce8879703ce" datatype="html">\n        <source>Job</source>\n        <target>Tarefa</target>\n      </trans-unit>\n      <trans-unit id="94287619205068b591c18493c64781424864c259" datatype="html">\n        <source>Severity</source>\n        <target>Gravidade</target>\n      </trans-unit>\n      <trans-unit id="e6cfbe0c5e0302ba2cec22315f6a28f8ac46b651" datatype="html">\n        <source>Started</source>\n        <target>Iniciado</target>\n      </trans-unit>\n      <trans-unit id="801b98c6f02fe3b32f6afa3ee854c99ed83474e6" datatype="html">\n        <source>URL</source>\n        <target>URL</target>\n      </trans-unit>\n      <trans-unit id="a5cd682a8a33bdc72e093d059429e3cc3a50ec1d" datatype="html">\n        <source>silence</source>\n        <target>silence</target>\n      </trans-unit>\n      <trans-unit id="f557e117e059e7036c6eecacd325a6ae35d866e0" datatype="html">\n        <source>Attribute name</source>\n        <target>Attribute name</target>\n      </trans-unit>\n      <trans-unit id="50f7f517ad8158667f7d4e2bd6f3256e05156e75" datatype="html">\n        <source>Regular expression</source>\n        <target>Regular expression</target>\n      </trans-unit>\n      <trans-unit id="81b1eab399c47110d50f45e3ccb4c009de7cb581" datatype="html">\n        <source>Please add your Prometheus host to the dashboard configuration and refresh the page</source>\n        <target>Please add your Prometheus host to the dashboard configuration and refresh the page</target>\n      </trans-unit>\n      <trans-unit id="29b4ae3296e239446fa0dea88a5112de15cffa54" datatype="html">\n        <source>Created by</source>\n        <target>Created by</target>\n      </trans-unit>\n      <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc" datatype="html">\n        <source>Updated</source>\n        <target>Atualizado</target>\n      </trans-unit>\n      <trans-unit id="8d833cceee0ba4c5161b130365e02bc1e129b57e" datatype="html">\n        <source>Ends</source>\n        <target>Ends</target>\n      </trans-unit>\n      <trans-unit id="46a11ff4289e8c88b1b7a935f8d8ee704055f11a" datatype="html">\n        <source>Silence</source>\n        <target>Silence</target>\n      </trans-unit>\n      <trans-unit id="f392abfbb997402ce2aebb13e660a8f01dec54db" datatype="html">\n        <source>Service type</source>\n        <target>Service type</target>\n      </trans-unit>\n      <trans-unit id="9ffa91b056fb979786627885651e19c8275675cd" datatype="html">\n        <source>Service instance</source>\n        <target>Service instance</target>\n      </trans-unit>\n      <trans-unit id="b5910192a9ac4816638ff6383b03f986ff965796" datatype="html">\n        <source>Container id</source>\n        <target>Container id</target>\n      </trans-unit>\n      <trans-unit id="60ab9cce12a56cdc5ec6a1b699f8c7afecd629d5" datatype="html">\n        <source>Rados config location</source>\n        <target>Rados config location</target>\n      </trans-unit>\n      <trans-unit id="dfa409f831c9168a377bdee02c5ea6aaf9b2bf61" datatype="html">\n        <source>Service URL</source>\n        <target>Service URL</target>\n      </trans-unit>\n      <trans-unit id="bf2468fd965b8a59c135ad549b3a612aa9873abc" datatype="html">\n        <source>Status Description</source>\n        <target>Status Description</target>\n      </trans-unit>\n      <trans-unit id="fb2e1bed329dc5b84197808c778abb9edcbdb335" datatype="html">\n        <source>Used</source>\n        <target>Usado</target>\n      </trans-unit>\n      <trans-unit id="4f1ab04d9100fb0df0e62b921ec46ae052ae29fc" datatype="html">\n        <source>Avail.</source>\n        <target>Disp.</target>\n      </trans-unit>\n      <trans-unit id="a1c9b3d4fa67450fe9afd1d726f8a1bd91d990ea" datatype="html">\n        <source>Clean</source>\n        <target>Limpar</target>\n      </trans-unit>\n      <trans-unit id="0054f5460090d6dde385e8f099d598df5d28cf54" datatype="html">\n        <source>Working</source>\n        <target>Em funcionamento</target>\n      </trans-unit>\n      <trans-unit id="a8059e31694578c1b0344a76a345357dd60e8f01" datatype="html">\n        <source>Warning</source>\n        <target>Aviso</target>\n      </trans-unit>\n      <trans-unit id="e5d8bb389c702588877f039d72178f219453a72d" datatype="html">\n        <source>Unknown</source>\n        <target>Desconhecido</target>\n      </trans-unit>\n      <trans-unit id="88155be1b9b9c6140d6e8f93bac4a775cfdc6671" datatype="html">\n        <source>Healthy</source>\n        <target>Healthy</target>\n      </trans-unit>\n      <trans-unit id="8a3aec4dc1a6e2d4c612ae85e0537acbb20a0f85" datatype="html">\n        <source>Misplaced</source>\n        <target>Misplaced</target>\n      </trans-unit>\n      <trans-unit id="ee81f9bf7ceac69712e0b83e8adc268739f9673e" datatype="html">\n        <source>Degraded</source>\n        <target>Degraded</target>\n      </trans-unit>\n      <trans-unit id="14625bc4025daef1969777a67a3cca27e0cd9167" datatype="html">\n        <source>Unfound</source>\n        <target>Unfound</target>\n      </trans-unit>\n      <trans-unit id="8f23ea509d081c2f747d083d44608dbf125b2ea2" datatype="html">\n        <source>replicas</source>\n        <target>replicas</target>\n      </trans-unit>\n      <trans-unit id="129a2224e1f9d19eb5e11e2a07fe10a785556484" datatype="html">\n        <source>up</source>\n        <target>ativo</target>\n      </trans-unit>\n      <trans-unit id="d5f29cf0af691726483262d647eb6622be002512" datatype="html">\n        <source>no filesystems</source>\n        <target>sem sistemas de arquivos</target>\n      </trans-unit>\n      <trans-unit id="b1c4387ffab06f3fa9fdb4411aea955595538d44" datatype="html">\n        <source>active</source>\n        <target>ativo</target>\n      </trans-unit>\n      <trans-unit id="1aaf7054d826f2cb05ec3e88a5a4b8116861e1f5" datatype="html">\n        <source>standby</source>\n        <target>standby</target>\n      </trans-unit>\n      <trans-unit id="c9a1080024dca344a48acdb77fa2d54e059f7254" datatype="html">\n        <source>n/a</source>\n        <target>n/a</target>\n      </trans-unit>\n      <trans-unit id="84a1787b6df375847c70f782861d7e7f8f43bff4" datatype="html">\n        <source>active daemon</source>\n        <target>daemon ativo</target>\n      </trans-unit>\n      <trans-unit id="24407dc2ebfafaf6b131ee978683b893c3f1d763" datatype="html">\n        <source>quorum</source>\n        <target>quorum</target>\n      </trans-unit>\n      <trans-unit id="2fa50bc07995c6ea660412294298ded39fcb08d9" datatype="html">\n        <source>The NFS Ganesha service is not configured.</source>\n        <target>O serviço NFS Ganesha não está configurado.</target>\n      </trans-unit>\n      <trans-unit id="af1396bdc49f45ea6c4a1e414769f5e2a382c834" datatype="html">\n        <source>Transport</source>\n        <target>Transporte</target>\n      </trans-unit>\n      <trans-unit id="b6a0e176d96c4feed2e975a039c044fcf822e152" datatype="html">\n        <source>CephFS User</source>\n        <target>Usuário do CephFS</target>\n      </trans-unit>\n      <trans-unit id="44dc610cf201a163e8c38da810acec9596930bb3" datatype="html">\n        <source>CephFS Filesystem</source>\n        <target>Sistema de Arquivos do CephFS</target>\n      </trans-unit>\n      <trans-unit id="db6dc7124be83c7055cb0f2719e31f2f9d46fd3d" datatype="html">\n        <source>(inherited from global config)</source>\n        <target>(herdado da configuração global)</target>\n      </trans-unit>\n      <trans-unit id="e1f97bb86f991553ec7b535cb39e7eaa99dfcfe2" datatype="html">\n        <source>inherited from global config</source>\n        <target>herdado da configuração global</target>\n      </trans-unit>\n      <trans-unit id="e751800766277e7c2edd652cec7a7a1a68a37852" datatype="html">\n        <source>-- Select what kind of user id squashing is performed --</source>\n        <target>-- Selecionar que tipo de squash de ID de usuário será executado --</target>\n      </trans-unit>\n      <trans-unit id="4b58387f911e8a7b135a0c4d76c70335c65bbb32" datatype="html">\n        <source>There are no daemons available.</source>\n        <target>Não há daemons disponíveis.</target>\n      </trans-unit>\n      <trans-unit id="18ae8dc1264f06df7ea251175ada2ac1b8401018" datatype="html">\n        <source>NFS export</source>\n        <target>NFS export</target>\n      </trans-unit>\n      <trans-unit id="ae128527ec18892f812a62a1fd15dc50a38060c0" datatype="html">\n        <source>EC Profile</source>\n        <target>EC Profile</target>\n      </trans-unit>\n      <trans-unit id="60fb10c145f9c7ede2b9ddf9b2b0b0f6191d0ebd" datatype="html">\n        <source>Cache Mode</source>\n        <target>Modo de Cache</target>\n      </trans-unit>\n      <trans-unit id="fa5bfad31d4139f6871443bb74324ffda5cad3e6" datatype="html">\n        <source>Min Evict Age</source>\n        <target>Tempo Mín. Expulsão</target>\n      </trans-unit>\n      <trans-unit id="fd0eb851666df45c34c76fabcda79b0d77bc910b" datatype="html">\n        <source>Min Flush Age</source>\n        <target>Tempo Mín. Descarregamento</target>\n      </trans-unit>\n      <trans-unit id="cb54d2c420a534cee0c308ea5589f8c394ef8d67" datatype="html">\n        <source>Target Max Bytes</source>\n        <target>Máx. de Bytes de Destino</target>\n      </trans-unit>\n      <trans-unit id="07f4ebe6615dca466818ffdae2a69ee217d265fb" datatype="html">\n        <source>Target Max Objects</source>\n        <target>Máx. de Objetos de Destino</target>\n      </trans-unit>\n      <trans-unit id="eaa8f4df53cf7fa78d078e20a701d10f3dccd77d" datatype="html">\n        <source>No applications added</source>\n        <target>Nenhum aplicativo adicionado</target>\n      </trans-unit>\n      <trans-unit id="321c2a7640f11177ea49b0857b94c4b70830c0e6" datatype="html">\n        <source>Applications limit reached</source>\n        <target>Limite de aplicativos atingido</target>\n      </trans-unit>\n      <trans-unit id="519d27742b74fadc8336777452f78891e98aa1dc" datatype="html">\n        <source>A pool can only have up to four applications definitions.</source>\n        <target>Um pool apenas pode ter até quatro definições de aplicativos.</target>\n      </trans-unit>\n      <trans-unit id="b5bec3813f0d45daa7eb9471272969e1bc3e734e" datatype="html">\n        <source>Allowed characters \'_a-zA-Z0-9\'</source>\n        <target>Caracteres permitidos: \'_a-zA-Z0-9\'</target>\n      </trans-unit>\n      <trans-unit id="807472d29602a0085bce62e534bd66208982c2e2" datatype="html">\n        <source>Maximum length is 128 characters</source>\n        <target>Tamanho máximo de 128 caracteres</target>\n      </trans-unit>\n      <trans-unit id="37785748b9ac9ad1d3e4b111ac502c3284afe84b" datatype="html">\n        <source>Filter or add applications</source>\n        <target>Filtrar ou adicionar aplicativos</target>\n      </trans-unit>\n      <trans-unit id="38c7b8610ca87835e13eeee6a09ba1c414cd5cb9" datatype="html">\n        <source>Add application</source>\n        <target>Adicionar aplicativo</target>\n      </trans-unit>\n      <trans-unit id="db8c42f077700d8a94619fad9f4c94b7361d5f1d" datatype="html">\n        <source>pool</source>\n        <target>pool</target>\n      </trans-unit>\n      <trans-unit id="65bb2be83261bc4798853bbccdedc110c43feea7" datatype="html">\n        <source>erasure code profile</source>\n        <target>perfil de código de eliminação</target>\n      </trans-unit>\n      <trans-unit id="112d356ad6846959ca4aa5ec9a1f0d9d473b24ec" datatype="html">\n        <source>Replica Size</source>\n        <target>Tamanho da Réplica</target>\n      </trans-unit>\n      <trans-unit id="ec50492db341fa752b023d8c924601286b6c9c0c" datatype="html">\n        <source>Last Change</source>\n        <target>Última Alteração</target>\n      </trans-unit>\n      <trans-unit id="563a8c136a9d423bc7ae1269a404d6da5fd83dad" datatype="html">\n        <source>Erasure Coded Profile</source>\n        <target>Perfil Codificado para Eliminação</target>\n      </trans-unit>\n      <trans-unit id="0ad7f0662956cff61ac1208f92b1a0305b1b2e58" datatype="html">\n        <source>Crush Ruleset</source>\n        <target>Conjunto de Regras do Crush</target>\n      </trans-unit>\n      <trans-unit id="f15bf7f588f09ca79795b17bc244e8d336f28171" datatype="html">\n        <source>Write bytes</source>\n        <target>Bytes de gravação</target>\n      </trans-unit>\n      <trans-unit id="bcc365a084b6145b941b371bd4c2b6c3d2c79234" datatype="html">\n        <source>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</source>\n        <target>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</target>\n      </trans-unit>\n      <trans-unit id="44939fd05cedfd077db886528b755e77d5fa3885" datatype="html">\n        <source>bucket</source>\n        <target>compartimento</target>\n      </trans-unit>\n      <trans-unit id="84fee774286ec4191311f1277075455c3ea5e2e2" datatype="html">\n        <source>Updated Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>".\n        </source>\n        <target>Updated Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="2d7a43674f0bbc131c9e555ec16ac37fa0445d76" datatype="html">\n        <source>Created Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>"\n        </source>\n        <target>Created Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="ec40d74ecfb1d6d60455af6805c9a714a3f5750a" datatype="html">\n        <source>buckets</source>\n        <target>compartimentos</target>\n      </trans-unit>\n      <trans-unit id="764585d5595bac113582ee14a6fd07006770ceb1" datatype="html">\n        <source>capability</source>\n        <target>capability</target>\n      </trans-unit>\n      <trans-unit id="0914cbe18bae204217e1851be6d2d24d86e74605" datatype="html">\n        <source>user</source>\n        <target>usuário</target>\n      </trans-unit>\n      <trans-unit id="d8c86dc5e48a63590d9c94e19f90b5f8325cbd49" datatype="html">\n        <source>subuser</source>\n        <target>subuser</target>\n      </trans-unit>\n      <trans-unit id="f45a3de8a8b40d161cc36a55d77548a27107ca04" datatype="html">\n        <source>S3 Key</source>\n        <target>S3 Key</target>\n      </trans-unit>\n      <trans-unit id="854a763265e92f91ba3ccee1a0e8d823be584f7c" datatype="html">\n        <source>Updated Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </source>\n        <target>Updated Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="84ab3fd641e65e39cffee0ec722a059ed284229e" datatype="html">\n        <source>Created Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </source>\n        <target>Created Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="7c7f4be7b726e61c577e63842a58d9e435f7c597" datatype="html">\n        <source>users</source>\n        <target>usuários</target>\n      </trans-unit>\n      <trans-unit id="9f7760223efd77806f1bbaf963e6993bb4bc6a0a" datatype="html">\n        <source>Swift Key</source>\n        <target>Swift Key</target>\n      </trans-unit>\n      <trans-unit id="1481b8488e10dbc437accce89d2ae35a0106e8ba" datatype="html">\n        <source>Scope</source>\n        <target>Escopo</target>\n      </trans-unit>\n      <trans-unit id="9b1d5e95f6bdcfb4b737413f5fa157e0dcb103d5" datatype="html">\n        <source>Read</source>\n        <target>Leitura</target>\n      </trans-unit>\n      <trans-unit id="70a67e04629f6d412db0a12d51820b480788d795" datatype="html">\n        <source>Create</source>\n        <target>Criar</target>\n      </trans-unit>\n      <trans-unit id="dc4fba275819619ee78e8eae14d357ea69ba7477" datatype="html">\n        <source>role</source>\n        <target>role</target>\n      </trans-unit>\n      <trans-unit id="fe6ee93173884201ec62d62ba173c3de85ae177e" datatype="html">\n        <source>Created role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Created role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="41c032df0732f4318f8213fabd0719ac347d4b6c" datatype="html">\n        <source>Updated role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Updated role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="50e22b5289f79f1417369403345c9fa9911a4557" datatype="html">\n        <source>System Role</source>\n        <target>Função do Sistema</target>\n      </trans-unit>\n      <trans-unit id="7f132668e2dbfcf616381d2daf59d1a6f2698102" datatype="html">\n        <source>Deleted role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Deleted role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="2e35d60a14ce0b470e8b54602864a867f7fcef40" datatype="html">\n        <source>There are no roles.</source>\n        <target>There are no roles.</target>\n      </trans-unit>\n      <trans-unit id="d2362a49d2434ce137bf19dab004251b7fd9c7b3" datatype="html">\n        <source>Created user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Created user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="9910122dfedd2eaa544a990f1430e5b82a76d99f" datatype="html">\n        <source>Update user</source>\n        <target>Atualizar usuário</target>\n      </trans-unit>\n      <trans-unit id="ac10a3d9b59575640797c1a8e6aea642cf5d5e77" datatype="html">\n        <source>Continue</source>\n        <target>Continuar</target>\n      </trans-unit>\n      <trans-unit id="cf4bcf4ce3d551e6099ccdc3546ae418fe5f8038" datatype="html">\n        <source>You were automatically logged out because your roles have been changed.</source>\n        <target>Você foi automaticamente desconectado porque suas funções foram alteradas.</target>\n      </trans-unit>\n      <trans-unit id="0f6003fb0c1cc73b89d225801cc1b870945cd259" datatype="html">\n        <source>Updated user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Updated user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="fe516c6d820018fdc971113935e22ec1e852965f" datatype="html">\n        <source>Deleted user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Deleted user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="01a7e11502ff80421ef3615e533ea14ef57e1d5c" datatype="html">\n        <source>Failed to delete user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Failed to delete user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="63316a3861dbcb035147efc1b9fb6bc708242e94" datatype="html">\n        <source>You are currently logged in as "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>".\n        </source>\n        <target>You are currently logged in as "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="d8b81951d25439864e92f750f7c99d7426d6517c" datatype="html">\n        <source>password</source>\n        <target>password</target>\n      </trans-unit>\n      <trans-unit id="d361a9b5e1f7985a12c0433388f31626525a02b8" datatype="html">\n        <source>Updated user password"</source>\n        <target>Updated user password"</target>\n      </trans-unit>\n      <trans-unit id="1d7fbcc3d5efc946ffbcf86fed04c4e20dda20fb" datatype="html">\n        <source>Each object is split in data-chunks parts, each stored on a different OSD.</source>\n        <target>Cada objeto é dividido em partes de pacotes de dados, cada uma armazenada em um OSD diferente.</target>\n      </trans-unit>\n      <trans-unit id="b1f8ed4e216585f1f9134740002ef3c8501debd8" datatype="html">\n        <source>Compute coding chunks for each object and store them on different OSDs.\n      The number of coding chunks is also the number of OSDs that can be down without losing data.</source>\n        <target>Calcule os pacotes de codificação de cada objeto e armazene-os em diferentes OSDs.\n      O número de pacotes de codificação é também o número de OSDs que podem ficar inativos sem perda de dados.</target>\n      </trans-unit>\n      <trans-unit id="c437ee74a9a8e781e1380153f742a685e3b8cc5e" datatype="html">\n        <source>The jerasure plugin is the most generic and flexible plugin,\n          it is also the default for Ceph erasure coded pools.</source>\n        <target>O plug-in jerasure é o mais genérico e flexível,\n          além de ser o padrão para pools codificados para eliminação do Ceph.</target>\n      </trans-unit>\n      <trans-unit id="8c7e19322851402afa67e41f4f1d4e531caf1bf5" datatype="html">\n        <source>The more flexible technique is reed_sol_van : it is enough to set k\n          and m. The cauchy_good technique can be faster but you need to chose the packetsize\n          carefully. All of reed_sol_r6_op, liberation, blaum_roth, liber8tion are RAID6 equivalents\n          in the sense that they can only be configured with m=2.</source>\n        <target>A técnica mais flexível é reed_sol_van: ela é suficiente para definir k\n          e m. A técnica cauchy_good pode ser mais rápida, mas você precisa escolher o tamanho do pacote\n          com cuidado. Todos os reed_sol_r6_op, liberation, blaum_roth e liber8tion são equivalentes ao RAID6\n          no sentido de que só podem ser configurados com m=2.</target>\n      </trans-unit>\n      <trans-unit id="b1b11f49281b4e79219b4eecfbcb033cb15bd880" datatype="html">\n        <source>The encoding will be done on packets of bytes size at a time.\n          Chosing the right packet size is difficult.\n          The jerasure documentation contains extensive information on this topic.</source>\n        <target>A codificação será feita em pacotes de tamanho de bytes um de cada vez.\n          A escolha do tamanho do pacote certo é difícil.\n          A documentação do jerasure contém informações completas sobre este tópico.</target>\n      </trans-unit>\n      <trans-unit id="d9cb3bc07a25b26fbea457e0a7b543340bc13c49" datatype="html">\n        <source>With the jerasure plugin, when an erasure coded object is stored on\n          multiple OSDs, recovering from the loss of one OSD requires reading from all the others.\n          For instance if jerasure is configured with k=8 and m=4, losing one OSD requires reading\n          from the eleven others to repair.\n\n          The lrc erasure code plugin creates local parity chunks to be able to recover using\n          less OSDs. For instance if lrc is configured with k=8, m=4 and l=4, it will create\n          an additional parity chunk for every four OSDs. When a single OSD is lost, it can be\n          recovered with only four OSDs instead of eleven.</source>\n        <target>Com o plug-in jerasure, quando um objeto codificado para eliminação é armazenado em\n          vários OSDs, a recuperação após a perda de um OSD requer a leitura de todos os outros.\n          Por exemplo, se o jerasure for configurado com k=8 e m=4, a perda de um OSD exigirá a leitura\n          dos outros onze para fazer o reparo.\n\n          O plug-in de código de eliminação lrc cria pacotes locais de paridade para conseguir recuperar usando\n          menos OSDs. Por exemplo, se o lrc for configurado com k=8, m=4 e l=4, ele criará\n          um pacote de paridade adicional para cada quatro OSDs. Quando um único OSD é perdido, ele pode ser\n          recuperado apenas com quatro OSDs, em vez de onze.</target>\n      </trans-unit>\n      <trans-unit id="813959d46e63a29bbd266b3af2ff9414c2ef553c" datatype="html">\n        <source>Group the coding and data chunks into sets of size locality. For instance,\n          for k=4 and m=2, when locality=3 two groups of three are created. Each set can\n          be recovered without reading chunks from another set.</source>\n        <target>Agrupe os pacotes de codificação e dados em conjuntos de localidades com tamanho. Por exemplo,\n          no caso de k=4 e m=2, quando locality=3, dois grupos de três são criados. Cada conjunto pode\n          ser recuperado sem a leitura dos pacotes do outro conjunto.</target>\n      </trans-unit>\n      <trans-unit id="f0ff63d92e0a1b4d4b51e31b9133802d160a5f4c" datatype="html">\n        <source>The type of the crush bucket in which each set of chunks defined\n          by l will be stored. For instance, if it is set to rack, each group of l chunks will be\n          placed in a different rack. It is used to create a CRUSH rule step such as step choose\n          rack. If it is not set, no such grouping is done.</source>\n        <target>O tipo do compartimento de crush em que cada conjunto de pacotes definido\n          por l será armazenado. Por exemplo, se isso for definido como rack, cada grupo de pacotes l será\n          colocado em um rack diferente. Isso é usado para criar uma etapa da regra CRUSH, como a etapa de escolha do\n          rack. Se isso não for definido, esse tipo de agrupamento não será feito.</target>\n      </trans-unit>\n      <trans-unit id="3ece48df9d1e9a98f98bf3c5cc66e8b637020a4d" datatype="html">\n        <source>The isa plugin encapsulates the ISA library. It only runs on Intel processors.</source>\n        <target>O plug-in isa encapsula a biblioteca ISA. Ele apenas é executado em processadores Intel.</target>\n      </trans-unit>\n      <trans-unit id="4472c9e31bfc7d96a83dc4afce0a6e885c99e839" datatype="html">\n        <source>The ISA plugin comes in two Reed Solomon forms.\n          If reed_sol_van is set, it is Vandermonde, if cauchy is set, it is Cauchy.</source>\n        <target>O plug-in ISA vem em dois formatos de Reed Solomon.\n          Se reed_sol_van for definido, ele será Vandermonde, se cauchy for definido, ele será Cauchy.</target>\n      </trans-unit>\n      <trans-unit id="fa385f5ecf63083ec848dca8dc5e52bdc72ac6f6" datatype="html">\n        <source>The shec plugin encapsulates the multiple SHEC library.\n          It allows ceph to recover data more efficiently than Reed Solomon codes.</source>\n        <target>O plug-in shec encapsula a biblioteca múltipla SHEC.\n          Ele permite ao ceph recuperar dados com mais eficiência do que os códigos de Reed Solomon.</target>\n      </trans-unit>\n      <trans-unit id="687b3cd94b3475c24ff4481d64d4739f902a377c" datatype="html">\n        <source>The number of parity chunks each of which includes each data chunk in its\n          calculation range. The number is used as a durability estimator. For instance, if c=2,\n          2 OSDs can be down without losing data.</source>\n        <target>O número de pacotes de paridade, em que cada um inclui cada pacote de dados em sua\n          faixa de cálculo. O número é usado como estimador de durabilidade. Por exemplo, se c=2,\n          2 OSDs podem ficar inativos sem perda de dados.</target>\n      </trans-unit>\n      <trans-unit id="f3c4af6df91bdaabdb715f8f0b61a24faf73a3bc" datatype="html">\n        <source>The name of the crush bucket used for the first step of the CRUSH rule.\n      For instance step take default.</source>\n        <target>O nome do compartimento de crush usado para a primeira etapa da regra CRUSH.\n      Por exemplo, a etapa assumir o padrão.</target>\n      </trans-unit>\n      <trans-unit id="e1059955a5ce65cdabf0c0a8207377e1f9bae57e" datatype="html">\n        <source>Ensure that no two chunks are in a bucket with the same failure\n      domain. For instance, if the failure domain is host no two chunks will be stored on the same\n      host. It is used to create a CRUSH rule step such as step chooseleaf host.</source>\n        <target>Verifique se não há dois pacotes em um compartimento com o mesmo domínio de\n      falha. Por exemplo, se o domínio de falha for um host, não armazene dois pacotes no mesmo\n      host. Isso é usado para criar uma etapa da regra CRUSH, como a etapa de escolha do host folha.</target>\n      </trans-unit>\n      <trans-unit id="ac392ac9c6da5fde6da80fc57b9c09402fb6e73d" datatype="html">\n        <source>Restrict placement to devices of a specific class\n      (e.g., ssd or hdd), using the crush device class names in the CRUSH map.</source>\n        <target>Restrinja o posicionamento a dispositivos de uma classe específica\n      (ex. ssd ou hdd), usando nomes de classe de dispositivo crush no mapa CRUSH.</target>\n      </trans-unit>\n      <trans-unit id="62bcb9ae5583a088649b1adf5787a86ca3334f89" datatype="html">\n        <source>Set the directory name from which the erasure code plugin is loaded.</source>\n        <target>Defina o nome do diretório do qual o plug-in de código de eliminação é carregado.</target>\n      </trans-unit>\n      <trans-unit id="c8f10184a8433d132ede0a2c0c1aa96f291cacfa" datatype="html">\n        <source>Allows all operations</source>\n        <target>Permite todas as operações</target>\n      </trans-unit>\n      <trans-unit id="82077ee97c11ee76efc3adf253b7b26654544317" datatype="html">\n        <source>Allows only operations that do not modify the server</source>\n        <target>Permite apenas as operações que não modificam o servidor</target>\n      </trans-unit>\n      <trans-unit id="22b5212ec10449dbf0a0af0ad34122eac51b5f2a" datatype="html">\n        <source>Does not allow read or write operations, but allows any other operation</source>\n        <target>Não permite operações de leitura ou gravação, mas permite qualquer outra operação</target>\n      </trans-unit>\n      <trans-unit id="9799d0f8c4b7727ae239fedfe3c0ce127feb7a50" datatype="html">\n        <source>Does not allow read, write, or any operation that modifies file        attributes or directory content</source>\n        <target>Não permite leitura, gravação ou qualquer operação que modifica os atributos do arquivo ou o conteúdo do diretório</target>\n      </trans-unit>\n      <trans-unit id="aeddefe0af87025d8f00699aa94bed8216a99a58" datatype="html">\n        <source>Allows no access at all</source>\n        <target>Não permite nenhum tipo de acesso</target>\n      </trans-unit>\n      <trans-unit id="a436c6a4025a749198e93cac239de8deede72211" datatype="html">\n        <source>-- Select the priority --</source>\n        <target>-- Selecionar prioridade --</target>\n      </trans-unit>\n      <trans-unit id="9556266f0a2b1762a44b686f2bb21dbfefb01c12" datatype="html">\n        <source>Low</source>\n        <target>Baixa</target>\n      </trans-unit>\n      <trans-unit id="72279141a67cc042d9864102b703216cc8a428a3" datatype="html">\n        <source>High</source>\n        <target>Alta</target>\n      </trans-unit>\n      <trans-unit id="6080b77234e92ad41bb52653b239c4c4f851317d" datatype="html">\n        <source>Error</source>\n        <target>Error</target>\n      </trans-unit>\n      <trans-unit id="c43dc1967a603fefb886149ac35863a06d5b4ce5" datatype="html">\n        <source>Information</source>\n        <target>Informações</target>\n      </trans-unit>\n      <trans-unit id="1e035e6ccfab771cad4226b2ad230cb0d4a88cba" datatype="html">\n        <source>Success</source>\n        <target>Success</target>\n      </trans-unit>\n      <trans-unit id="e6ca3c0efaf51e6d45a7f92f58bac37140c3fda4" datatype="html">\n        <source>Last 5 minutes</source>\n        <target>Últimos 5 minutos</target>\n      </trans-unit>\n      <trans-unit id="b0ecb2bbc548cc9bd95050fd8f0c84586d083fe2" datatype="html">\n        <source>Last 15 minutes</source>\n        <target>Últimos 15 minutos</target>\n      </trans-unit>\n      <trans-unit id="857ae67deb51353120b203b0f2a06b0c48ef49fa" datatype="html">\n        <source>Last 30 minutes</source>\n        <target>Últimos 30 minutos</target>\n      </trans-unit>\n      <trans-unit id="7b1738fad314e936dc14b94db8f43da736942308" datatype="html">\n        <source>Last 1 hour (Default)</source>\n        <target>Última 1 hora (Padrão)</target>\n      </trans-unit>\n      <trans-unit id="a428288224389726cef9d9bd8d1d7808cccd7ffd" datatype="html">\n        <source>Last 3 hours</source>\n        <target>Últimas 3 horas</target>\n      </trans-unit>\n      <trans-unit id="7cbabecc8d80cf183ac199cfaeb7619d56e5d43f" datatype="html">\n        <source>Last 6 hours</source>\n        <target>Últimas 6 horas</target>\n      </trans-unit>\n      <trans-unit id="1a389cdf64187d34cf99eec30a290e3fa7d4744f" datatype="html">\n        <source>Last 12 hours</source>\n        <target>Últimas 12 horas</target>\n      </trans-unit>\n      <trans-unit id="9e0ba5f591380a94d594a76288f0c41aa97eb9c2" datatype="html">\n        <source>Last 24 hours</source>\n        <target>Últimas 24 horas</target>\n      </trans-unit>\n      <trans-unit id="e430eda9c785cd43465b7cbb400ee914f1057247" datatype="html">\n        <source>Yesterday</source>\n        <target>Ontem</target>\n      </trans-unit>\n      <trans-unit id="7fb1099e29660162f9154d5b2feee7743a423df6" datatype="html">\n        <source>Today</source>\n        <target>Hoje</target>\n      </trans-unit>\n      <trans-unit id="33904058a97a64bd189bed84038b1ffe719769c7" datatype="html">\n        <source>Today so far</source>\n        <target>Até agora hoje</target>\n      </trans-unit>\n      <trans-unit id="3b0b849be007510021d3d383df75bec95ef9c97b" datatype="html">\n        <source>Day before yesterday</source>\n        <target>Antes de ontem</target>\n      </trans-unit>\n      <trans-unit id="6b430c2c394c4d32ebd7d46c8c46ab60e1b29ccb" datatype="html">\n        <source>Last 2 days</source>\n        <target>Últimos 2 dias</target>\n      </trans-unit>\n      <trans-unit id="d5e812a87a5d57a94200a2013027cab76a7c4863" datatype="html">\n        <source>This day last week</source>\n        <target>Este dia na semana passada</target>\n      </trans-unit>\n      <trans-unit id="d00edc936eeab6b5577401f115ca86ca2c87dc9a" datatype="html">\n        <source>Previous week</source>\n        <target>Semana anterior</target>\n      </trans-unit>\n      <trans-unit id="b036e40577baa6b918b2267d319d4b3aeaa88a5a" datatype="html">\n        <source>This week</source>\n        <target>Esta semana</target>\n      </trans-unit>\n      <trans-unit id="99ad5a6096b3fcb3f021f3779bae710cdfeb8934" datatype="html">\n        <source>This week so far</source>\n        <target>Até agora nesta semana</target>\n      </trans-unit>\n      <trans-unit id="02e0243b60007368f87dc01e083f232dd025096d" datatype="html">\n        <source>Last 7 days</source>\n        <target>Últimos 7 dias</target>\n      </trans-unit>\n      <trans-unit id="c3b08b07b5ab98e7cdcf18df39355690ab7d3884" datatype="html">\n        <source>Previous month</source>\n        <target>Mês anterior</target>\n      </trans-unit>\n      <trans-unit id="1b2562c6d5aa90644e7dc91feee82e2005fceb33" datatype="html">\n        <source>This month</source>\n        <target>Este mês</target>\n      </trans-unit>\n      <trans-unit id="26b4b18c5917934abb169ba9aa490e57f7bf10b8" datatype="html">\n        <source>This month so far</source>\n        <target>Até agora neste mês</target>\n      </trans-unit>\n      <trans-unit id="7668986b9f753fcd72ad4a00b1a0c4861d1f7fb8" datatype="html">\n        <source>Last 30 days</source>\n        <target>Últimos 30 dias</target>\n      </trans-unit>\n      <trans-unit id="ba1e822408d90c6fbd2989100fa648bfd5e8ee84" datatype="html">\n        <source>Last 90 days</source>\n        <target>Últimos 90 dias</target>\n      </trans-unit>\n      <trans-unit id="c3df03f899a914c4181adcdc8a3f077424f7b6e8" datatype="html">\n        <source>Last 6 months</source>\n        <target>Últimos 6 meses</target>\n      </trans-unit>\n      <trans-unit id="7f9a92757580c9f31c309c0a3812ea429274eadf" datatype="html">\n        <source>Last 1 year</source>\n        <target>Último ano</target>\n      </trans-unit>\n      <trans-unit id="5a9fede30ff65cb4b4426f6b1ed31afb67ecd7b0" datatype="html">\n        <source>Previous year</source>\n        <target>Ano anterior</target>\n      </trans-unit>\n      <trans-unit id="65cefcc53d1f6445df7568e8a40c49165f1090ee" datatype="html">\n        <source>This year</source>\n        <target>Este ano</target>\n      </trans-unit>\n      <trans-unit id="1f68b766944dc3865bddab765fe952b0c1c43f92" datatype="html">\n        <source>This year so far</source>\n        <target>Até agora neste ano</target>\n      </trans-unit>\n      <trans-unit id="4d4b77e614f8043fdadef5d6d235655bb48eb311" datatype="html">\n        <source>Last 2 years</source>\n        <target>Últimos 2 anos</target>\n      </trans-unit>\n      <trans-unit id="138afa339ea6e75d25a474affe1edbcb90e00ec0" datatype="html">\n        <source>Last 5 years</source>\n        <target>Últimos 5 anos</target>\n      </trans-unit>\n      <trans-unit id="37391297bb077a6f84484930261b01a3ce38327b" datatype="html">\n        <source>No items selected.</source>\n        <target>Nenhum item selecionado.</target>\n      </trans-unit>\n      <trans-unit id="2c1e52ee832661b4a0f570877d24661736b16af1" datatype="html">\n        <source>Deselect item to select again</source>\n        <target>Desmarcar item para selecionar novamente</target>\n      </trans-unit>\n      <trans-unit id="c8c9c6e5918659336824bbdda3501c66eaa79a4c" datatype="html">\n        <source>Selection limit reached</source>\n        <target>Limite de seleção atingido</target>\n      </trans-unit>\n      <trans-unit id="02d184c288f567825a1fcbf83bcd3099a10853d5" datatype="html">\n        <source>Filter tags</source>\n        <target>Tags de filtro</target>\n      </trans-unit>\n      <trans-unit id="aa00748e49c269956837d6f3acdd8d218796a8d8" datatype="html">\n        <source>Add badge</source>\n        <target>Adicionar selo</target>\n      </trans-unit>\n      <trans-unit id="4078a92d8121abdce7d8f346a88914923ec835fc" datatype="html">\n        <source>There are no items available.</source>\n        <target>Não há itens disponíveis.</target>\n      </trans-unit>\n      <trans-unit id="f6755cff4957d5c3c89bafce5651f1b6fa2b1fd9" datatype="html">\n        <source>Add</source>\n        <target>Adicionar</target>\n      </trans-unit>\n      <trans-unit id="019d4bd6a5690f0cfa0ecf346a4e6bf7f0d8debb" datatype="html">\n        <source>Remove</source>\n        <target>Remove</target>\n      </trans-unit>\n      <trans-unit id="54a4a3132b693575728a45a5f3154ad4c9af404b" datatype="html">\n        <source>Clone</source>\n        <target>Clonar</target>\n      </trans-unit>\n      <trans-unit id="1979da7460819153e11d2078244645d94291b69c" datatype="html">\n        <source>Copy</source>\n        <target>Copiar</target>\n      </trans-unit>\n      <trans-unit id="2e5e77dbaadd6588d8bbf737139fd9806294ae28" datatype="html">\n        <source>Deep Scrub</source>\n        <target>Remoção Profunda</target>\n      </trans-unit>\n      <trans-unit id="bf463b189696c19769ea263227e6c22aefafb918" datatype="html">\n        <source>Destroy</source>\n        <target>Destruir</target>\n      </trans-unit>\n      <trans-unit id="b4e94d529ff10db4d86f3f48900fa67ede3411fd" datatype="html">\n        <source>Evict</source>\n        <target>Evict</target>\n      </trans-unit>\n      <trans-unit id="3747fff7faf52b436ecff5fb8555091736d92c70" datatype="html">\n        <source>Flatten</source>\n        <target>Nivelar</target>\n      </trans-unit>\n      <trans-unit id="66fdbf32e5449cc54a3d1e19c7b8f4ea238facfb" datatype="html">\n        <source>Mark Down</source>\n        <target>Marcar como Inativo</target>\n      </trans-unit>\n      <trans-unit id="0cda3e824fb2f9c731e5a60b859dedc1fe03127e" datatype="html">\n        <source>Mark In</source>\n        <target>Marcar como Entrada</target>\n      </trans-unit>\n      <trans-unit id="f833354f43cb38c5716faa8759a9bbdd1ab8f199" datatype="html">\n        <source>Mark Lost</source>\n        <target>Marcar como Perdido</target>\n      </trans-unit>\n      <trans-unit id="75fb9f970ba365398c45e57bbb1019c009f6b832" datatype="html">\n        <source>Mark Out</source>\n        <target>Marcar como Saída</target>\n      </trans-unit>\n      <trans-unit id="45480c03b0a3a37ff8f6a5600a6a034b40fbaea4" datatype="html">\n        <source>Protect</source>\n        <target>Proteger</target>\n      </trans-unit>\n      <trans-unit id="e26f9cf3666aace4e524b1505c9795d76d87738d" datatype="html">\n        <source>Rename</source>\n        <target>Renomear</target>\n      </trans-unit>\n      <trans-unit id="d5cec7468241d72cafd86ad1af6d55b09a6e3ae5" datatype="html">\n        <source>Restore</source>\n        <target>Restaurar</target>\n      </trans-unit>\n      <trans-unit id="ba073985cfd2528c77a746ed596b2f2052b973c5" datatype="html">\n        <source>Move to Trash</source>\n        <target>Mover para Lixo</target>\n      </trans-unit>\n      <trans-unit id="3ea9b96a21a499d296a7f25407da0f3df6c2d5ed" datatype="html">\n        <source>Unprotect</source>\n        <target>Cancelar proteção</target>\n      </trans-unit>\n      <trans-unit id="024cdb2814b0cb3f4ced148f1a0b9854447cb214" datatype="html">\n        <source>Change</source>\n        <target>Change</target>\n      </trans-unit>\n      <trans-unit id="011f3e2bfc1fd8407eb5f599352665bfeb145664" datatype="html">\n        <source>Recreate</source>\n        <target>Recreate</target>\n      </trans-unit>\n      <trans-unit id="6df2dfa48bef5510c82fb43f4e71a7f9557f3d71" datatype="html">\n        <source>Expire</source>\n        <target>Expire</target>\n      </trans-unit>\n      <trans-unit id="28df1b02fd88d2deb0212bc5d7ff34cf9492fa54" datatype="html">\n        <source>Deleted</source>\n        <target>Excluído</target>\n      </trans-unit>\n      <trans-unit id="80e3b490720757978c99a7b5af3885faf202b955" datatype="html">\n        <source>Added</source>\n        <target>Added</target>\n      </trans-unit>\n      <trans-unit id="1aa4883bc4f1352f7a0bdd94810a9bf6dc22bd02" datatype="html">\n        <source>Removed</source>\n        <target>Removed</target>\n      </trans-unit>\n      <trans-unit id="402f3ee47f98fbbc68530239b1ddcbb9e96a460c" datatype="html">\n        <source>Edited</source>\n        <target>Edited</target>\n      </trans-unit>\n      <trans-unit id="96d56ec71c6e78cb4d6204c4a9359a3d38fcdb59" datatype="html">\n        <source>Canceled</source>\n        <target>Canceled</target>\n      </trans-unit>\n      <trans-unit id="a3318a2ee2bd0064b6b9ff72a4018b679ec63125" datatype="html">\n        <source>Cloned</source>\n        <target>Clonado</target>\n      </trans-unit>\n      <trans-unit id="ef90545bc832876c0d7f9a10363c75137472bbb5" datatype="html">\n        <source>Copied</source>\n        <target>Copiado</target>\n      </trans-unit>\n      <trans-unit id="5a13d3834133e09544ec93885662f181372dcf46" datatype="html">\n        <source>Deep Scrubbed</source>\n        <target>Deep Scrubbed</target>\n      </trans-unit>\n      <trans-unit id="7c9efb91434a5c15e9579c0b31c8e184b8c8240d" datatype="html">\n        <source>Destroyed</source>\n        <target>Destroyed</target>\n      </trans-unit>\n      <trans-unit id="647059bf3ea098fffedf92ddfad792bb3daa3c95" datatype="html">\n        <source>Flattened</source>\n        <target>Nivelado</target>\n      </trans-unit>\n      <trans-unit id="8df71e952319eafa71c8e6ef6144b780af8813ff" datatype="html">\n        <source>Marked Down</source>\n        <target>Marked Down</target>\n      </trans-unit>\n      <trans-unit id="25658f5a080a1cab3b91e17b756b1d1dc46bb9b3" datatype="html">\n        <source>Marked In</source>\n        <target>Marked In</target>\n      </trans-unit>\n      <trans-unit id="ebcf306036a6c5579df9448f77eca98d491db245" datatype="html">\n        <source>Marked Lost</source>\n        <target>Marked Lost</target>\n      </trans-unit>\n      <trans-unit id="3a8803369ac18be3ad762384b9fda095fe2a6dcc" datatype="html">\n        <source>Marked Out</source>\n        <target>Marked Out</target>\n      </trans-unit>\n      <trans-unit id="0fe2a62ea7c609fa8326ee6d38060bc5ba8bf34f" datatype="html">\n        <source>Protected</source>\n        <target>Protected</target>\n      </trans-unit>\n      <trans-unit id="69b0446c6c2411c4fe01e411b8ceec72d4044fb4" datatype="html">\n        <source>Purged</source>\n        <target>Purgado</target>\n      </trans-unit>\n      <trans-unit id="d53de1a61bd51c815dc374c7f97e4ee69230e412" datatype="html">\n        <source>Renamed</source>\n        <target>Renamed</target>\n      </trans-unit>\n      <trans-unit id="86fc6cae82c095f14105eb8a61d7b3fa948304b7" datatype="html">\n        <source>Restored</source>\n        <target>Restaurado</target>\n      </trans-unit>\n      <trans-unit id="e87dd0fd35460cb743046db918dfce2137b5977a" datatype="html">\n        <source>Reweighted</source>\n        <target>Reweighted</target>\n      </trans-unit>\n      <trans-unit id="dc21fd6547f2325c67f6deff925f29eb07a2db3e" datatype="html">\n        <source>Rolled back</source>\n        <target>Rollback feito</target>\n      </trans-unit>\n      <trans-unit id="15dec4c2d73a516c10aef90aeeea3364fa794615" datatype="html">\n        <source>Scrubbed</source>\n        <target>Scrubbed</target>\n      </trans-unit>\n      <trans-unit id="8dc560ded67482f109a98e0638851ad1d37188b3" datatype="html">\n        <source>Showed</source>\n        <target>Showed</target>\n      </trans-unit>\n      <trans-unit id="197259b7ea76f15c6d0a64b075a673fd4112ada7" datatype="html">\n        <source>Moved to Trash</source>\n        <target>Moved to Trash</target>\n      </trans-unit>\n      <trans-unit id="8fb15cb102cd75b562680290b7e04c44d80018f2" datatype="html">\n        <source>Unprotected</source>\n        <target>Unprotected</target>\n      </trans-unit>\n      <trans-unit id="8588eafa498262a1cbb5043ad68cf0ff669c4f10" datatype="html">\n        <source>Recreated</source>\n        <target>Recreated</target>\n      </trans-unit>\n      <trans-unit id="ffde7468d7b5cad6990095ed68ddee3d67cd02f8" datatype="html">\n        <source>Expired</source>\n        <target>Expired</target>\n      </trans-unit>\n      <trans-unit id="4f20f2d5a6882190892e58b85f6ccbedfa737952" datatype="html">\n        <source>Yes</source>\n        <target>Sim</target>\n      </trans-unit>\n      <trans-unit id="3d3ae7deebc5949b0c1c78b9847886a94321d9fd" datatype="html">\n        <source>No</source>\n        <target>Não</target>\n      </trans-unit>\n      <trans-unit id="99fa0b67376d40142bd4d3ace3344abf4f98b6a5" datatype="html">\n        <source>Your matcher seems to match no currently defined rule or active alert.</source>\n        <target>Your matcher seems to match no currently defined rule or active alert.</target>\n      </trans-unit>\n      <trans-unit id="7e284852732c303eb1f47de9aca2569e41aeffed" datatype="html">\n        <source>no active alerts</source>\n        <target>no active alerts</target>\n      </trans-unit>\n      <trans-unit id="b8042829e4fbe7b09fd9bac9fa0ecf5cc1802fee" datatype="html">\n        <source>1 active alert</source>\n        <target>1 active alert</target>\n      </trans-unit>\n      <trans-unit id="e24adce97669cb0fc74cc13fdc14179b6f78ea5e" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{n}}"/> active alerts\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{n}}"/> active alerts\n        </target>\n      </trans-unit>\n      <trans-unit id="d8fb058ff5883731d38a132da4ca45cfe8d719a3" datatype="html">\n        <source>Matches 1 rule</source>\n        <target>Matches 1 rule</target>\n      </trans-unit>\n      <trans-unit id="90aaef24d192e67c3fbc2ec6f8bfaff211cea128" datatype="html">\n        <source>Matches \n          <x id="INTERPOLATION" equiv-text="{{n}}"/> rules\n        </source>\n        <target>Matches \n          <x id="INTERPOLATION" equiv-text="{{n}}"/> rules\n        </target>\n      </trans-unit>\n      <trans-unit id="f4685dc581e18244cd410f1057a8c56a9dbfe8df" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rules}}"/> with \n          <x id="INTERPOLATION_1" equiv-text="{{alerts}}"/>.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rules}}"/> with \n          <x id="INTERPOLATION_1" equiv-text="{{alerts}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8fd98fb2a0f24ba72cde0787dd3f02cfc17de469" datatype="html">\n        <source>Quality of Service</source>\n        <target>Qualidade do Serviço</target>\n      </trans-unit>\n      <trans-unit id="2c53f3ce2c6fff9025a7b41cc334521725da6e7b" datatype="html">\n        <source>BPS Limit</source>\n        <target>Limite de BPS</target>\n      </trans-unit>\n      <trans-unit id="e897624a392419386b035bcd8529337e262fc41d" datatype="html">\n        <source>The desired limit of IO bytes per second.</source>\n        <target>O limite de bytes por segundo de E/S desejado.</target>\n      </trans-unit>\n      <trans-unit id="dc56f77e4507da7e86a3accd0a2a7099a838d539" datatype="html">\n        <source>IOPS Limit</source>\n        <target>Limite de IOPS</target>\n      </trans-unit>\n      <trans-unit id="141c3f6eadbb35b0e17b2f847e4cac23240a6ea9" datatype="html">\n        <source>The desired limit of IO operations per second.</source>\n        <target>O limite de operações por segundo de E/S desejado.</target>\n      </trans-unit>\n      <trans-unit id="3b3b101f16c38806e984b157e0cf22cd21451122" datatype="html">\n        <source>Read BPS Limit</source>\n        <target>Limite de BPS de Leitura</target>\n      </trans-unit>\n      <trans-unit id="87835fabb6a645873f3829a450ca1d58f97754f2" datatype="html">\n        <source>The desired limit of read bytes per second.</source>\n        <target>O limite de bytes por segundo de leitura desejado.</target>\n      </trans-unit>\n      <trans-unit id="28b485e700df46d70b96666099f714e3ae9e5c2e" datatype="html">\n        <source>Read IOPS Limit</source>\n        <target>Limite de IOPS de Leitura</target>\n      </trans-unit>\n      <trans-unit id="5907bd1a5cf3e20e740bca676cb1538372e1f9ff" datatype="html">\n        <source>The desired limit of read operations per second.</source>\n        <target>O limite de operações por segundo de leitura desejado.</target>\n      </trans-unit>\n      <trans-unit id="07317121f0b194987d4dee8b322f521ac17bf124" datatype="html">\n        <source>Write BPS Limit</source>\n        <target>Limite de BPS de Gravação</target>\n      </trans-unit>\n      <trans-unit id="4022c78bd9132ca2ec67927f8484c437d1d9b6fd" datatype="html">\n        <source>The desired limit of write bytes per second.</source>\n        <target>O limite de bytes por segundo de gravação desejado.</target>\n      </trans-unit>\n      <trans-unit id="52c22c19f98ff3a09bd811292954a889b93d28b7" datatype="html">\n        <source>Write IOPS Limit</source>\n        <target>Limite de IOPS de Gravação</target>\n      </trans-unit>\n      <trans-unit id="0ed62e3fd8654b3191fc7fa959ad3f10f1ea773a" datatype="html">\n        <source>The desired limit of write operations per second.</source>\n        <target>O limite de operações por segundo de gravação desejado.</target>\n      </trans-unit>\n      <trans-unit id="d90c99d77864f21f932ee1369019f400c4ad0e2d" datatype="html">\n        <source>BPS Burst</source>\n        <target>Intermitência de BPS</target>\n      </trans-unit>\n      <trans-unit id="29c32192f4d185139aaaf6d3a766a3411dfeabbe" datatype="html">\n        <source>The desired burst limit of IO bytes.</source>\n        <target>O limite de bytes de E/S de intermitência desejado.</target>\n      </trans-unit>\n      <trans-unit id="b988b90489e899941e196c3dd0ecc22e37540224" datatype="html">\n        <source>IOPS Burst</source>\n        <target>Intermitência de IOPS</target>\n      </trans-unit>\n      <trans-unit id="02c5de8ff11870f1b3896f2b45637ce0dba1ed4b" datatype="html">\n        <source>The desired burst limit of IO operations.</source>\n        <target>O limite de operações de E/S de intermitência desejado.</target>\n      </trans-unit>\n      <trans-unit id="7a160538129b37cf595f1651f28b5fac62fbc0f8" datatype="html">\n        <source>Read BPS Burst</source>\n        <target>Intermitência de BPS de Leitura</target>\n      </trans-unit>\n      <trans-unit id="b573a5df16a53b9947288461bc24e6a0eb4341d6" datatype="html">\n        <source>The desired burst limit of read bytes.</source>\n        <target>O limite de bytes de leitura de intermitência desejado.</target>\n      </trans-unit>\n      <trans-unit id="1d5b8c2a0c653651cc4ca4b8fed9456f449220d1" datatype="html">\n        <source>Read IOPS Burst</source>\n        <target>Intermitência de IOPS de Leitura</target>\n      </trans-unit>\n      <trans-unit id="20b199f9d4a8d08ffefec66040e27639ec221512" datatype="html">\n        <source>The desired burst limit of read operations.</source>\n        <target>O limite de operações de leitura de intermitência desejado.</target>\n      </trans-unit>\n      <trans-unit id="824525ae57992aee629ddffcd500a8b77087ddec" datatype="html">\n        <source>Write BPS Burst</source>\n        <target>Intermitência de BPS de Gravação</target>\n      </trans-unit>\n      <trans-unit id="a90aac4050a5d79765da5e1186909f6d4d7f981d" datatype="html">\n        <source>The desired burst limit of write bytes.</source>\n        <target>O limite de bytes de gravação de intermitência desejado.</target>\n      </trans-unit>\n      <trans-unit id="35a8c6e6c249c7d16e26aa7c4ef97c06db405070" datatype="html">\n        <source>Write IOPS Burst</source>\n        <target>Intermitência de IOPS de Gravação</target>\n      </trans-unit>\n      <trans-unit id="b356abd41d7e9eea4d20c03d2e6892b6d435ecbd" datatype="html">\n        <source>The desired burst limit of write operations.</source>\n        <target>O limite de operações de gravação de intermitência desejado.</target>\n      </trans-unit>\n      <trans-unit id="24c4d50fe8567de381a20a1745f1b6d37eacaa90" datatype="html">\n        <source>Failed to \n          <x id="INTERPOLATION" equiv-text="{{failure}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{metadata}}"/>\n        </source>\n        <target>Failed to \n          <x id="INTERPOLATION" equiv-text="{{failure}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{metadata}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="f54b6f09b390d5ade0e354f6c7d4743c10a315cc" datatype="html">\n        <source>Executing</source>\n        <target>Executando</target>\n      </trans-unit>\n      <trans-unit id="5cdfe3e3330ea42bfd29c540dbd268bee97d364d" datatype="html">\n        <source>execute</source>\n        <target>executar</target>\n      </trans-unit>\n      <trans-unit id="6e98e243518daa88be30330fcdbd2d10f8eae4d7" datatype="html">\n        <source>Executed</source>\n        <target>Executado</target>\n      </trans-unit>\n      <trans-unit id="24b09aa5bd909273a023d2d788a2673325c77e31" datatype="html">\n        <source>unknown task</source>\n        <target>tarefa desconhecida</target>\n      </trans-unit>\n      <trans-unit id="114b5f92b9192b229ffc9a450319a97ccca2aa5c" datatype="html">\n        <source>Creating</source>\n        <target>Criando</target>\n      </trans-unit>\n      <trans-unit id="56695b69d27437ada580a187958407e7c856d46e" datatype="html">\n        <source>create</source>\n        <target>criar</target>\n      </trans-unit>\n      <trans-unit id="9db60170ef3b3b41a863e7d5ee7cec10919b9141" datatype="html">\n        <source>Updating</source>\n        <target>Atualizando</target>\n      </trans-unit>\n      <trans-unit id="64412640835b7d25247cb254d4f911366c0e6862" datatype="html">\n        <source>update</source>\n        <target>atualizar</target>\n      </trans-unit>\n      <trans-unit id="416193bb373d59477458b00e5922d755e2e2cacd" datatype="html">\n        <source>Deleting</source>\n        <target>Excluindo</target>\n      </trans-unit>\n      <trans-unit id="70ef158c584bafe788e319a0bffa11b02ee9abf1" datatype="html">\n        <source>delete</source>\n        <target>excluir</target>\n      </trans-unit>\n      <trans-unit id="d07a282afc7fbdb39cea6e1c9b544882a7260a86" datatype="html">\n        <source>Adding</source>\n        <target>Adding</target>\n      </trans-unit>\n      <trans-unit id="a11ec4e640f241329943237d2a3cceaa4823658e" datatype="html">\n        <source>add</source>\n        <target>add</target>\n      </trans-unit>\n      <trans-unit id="ea1c70b874904216cc5af24bd7cb3dab2d074d42" datatype="html">\n        <source>Removing</source>\n        <target>Removing</target>\n      </trans-unit>\n      <trans-unit id="4da487aec5a29ce4372e7b512227cd665b01fe6f" datatype="html">\n        <source>remove</source>\n        <target>remove</target>\n      </trans-unit>\n      <trans-unit id="3f757cfc3749ebb5d4462017cb60138ca082f15f" datatype="html">\n        <source>RBD \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>RBD \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="a6c681e6130fe440ae40de99a405fcf5c7eefee1" datatype="html">\n        <source>RBD snapshot \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>RBD snapshot \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="4fb54a0291f49583c317d4a3690239141b5a8f68" datatype="html">\n        <source>mirror mode for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>mirror mode for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="6621ab6e122a149326a1e48e9051a41e7f203cf6" datatype="html">\n        <source>mirror peer for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>mirror peer for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="db15adc778317d551232fe712eb03a2c1eac4a43" datatype="html">\n        <source>all dashboards</source>\n        <target>all dashboards</target>\n      </trans-unit>\n      <trans-unit id="1b559dbd9cc9664fd788c2da9a10d3abafe066cb" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8fc28e1103d9f2ef47b9fff9a4f74e8365c7cf19" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="1cdc7ea44fcb85d0cfcf6e7379d625d8674a8fbe" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="1ff7676ad1e991102224540a32dd44ad1ab88aa8" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.\n        </target>\n      </trans-unit>\n      <trans-unit id="c3a1dcca2b2ba20fbe39e2441e7bb1cf9c20cdf3" datatype="html">\n        <source>Cloning</source>\n        <target>Clonando</target>\n      </trans-unit>\n      <trans-unit id="b5fa4e0a3a279dee5b6bf7b823e54387f7c79994" datatype="html">\n        <source>clone</source>\n        <target>clonar</target>\n      </trans-unit>\n      <trans-unit id="29b7452e8367af9aa8fa828f16ff94c3530e7a1a" datatype="html">\n        <source>Snapshot of \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> must be protected.\n        </source>\n        <target>Snapshot of \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> must be protected.\n        </target>\n      </trans-unit>\n      <trans-unit id="369f93b9a07a9465f7a261e9f0021b6cfa7180c5" datatype="html">\n        <source>Copying</source>\n        <target>Copiando</target>\n      </trans-unit>\n      <trans-unit id="37584f889855d153a106f5dffe23d21f9453c8ff" datatype="html">\n        <source>copy</source>\n        <target>copiar</target>\n      </trans-unit>\n      <trans-unit id="6ea9e313a04ef59222feaadfe84e97b4c69d7e9e" datatype="html">\n        <source>Flattening</source>\n        <target>Nivelando</target>\n      </trans-unit>\n      <trans-unit id="1f57593581b64d2d4c70eab1736bd9bccc66a7dc" datatype="html">\n        <source>flatten</source>\n        <target>nivelar</target>\n      </trans-unit>\n      <trans-unit id="d990ef9680cd23bbe652c37eb46bf038cfee80ad" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="a101745d080ef65c09bd5fafc796f94ddb9f9d60" datatype="html">\n        <source>Cannot unprotect \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it contains child images.\n        </source>\n        <target>Cannot unprotect \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it contains child images.\n        </target>\n      </trans-unit>\n      <trans-unit id="647968f4cde7786cd53ec8e6aa9802ac6824a262" datatype="html">\n        <source>Cannot delete \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it\'s protected.\n        </source>\n        <target>Cannot delete \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it\'s protected.\n        </target>\n      </trans-unit>\n      <trans-unit id="57ddd3e15cf0ce974356b757451f50116a27272b" datatype="html">\n        <source>Rolling back</source>\n        <target>Fazendo rollback</target>\n      </trans-unit>\n      <trans-unit id="a8913a3a5ee61f2598b5f0432cb9b20cdd60548e" datatype="html">\n        <source>rollback</source>\n        <target>rollback</target>\n      </trans-unit>\n      <trans-unit id="de8676f0017c9db6c49388cd7d63cd0a83a0c1dc" datatype="html">\n        <source>Moving</source>\n        <target>Movendo</target>\n      </trans-unit>\n      <trans-unit id="2d810712308ae63cb795d809687a3254ef7a2f05" datatype="html">\n        <source>move</source>\n        <target>mover</target>\n      </trans-unit>\n      <trans-unit id="f3ba995236e5c1cc77686108980c099a90aec754" datatype="html">\n        <source>Moved</source>\n        <target>Movido</target>\n      </trans-unit>\n      <trans-unit id="d0422169252d132624a20f267b5c29f28cb53ebe" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' to trash\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' to trash\n        </target>\n      </trans-unit>\n      <trans-unit id="b603e2dfed9808222fbcb5a7c5f4da2cc6ae2aae" datatype="html">\n        <source>Could not find image.</source>\n        <target>Imagem não encontrada.</target>\n      </trans-unit>\n      <trans-unit id="398debe73006b1fe5177ed81d2e7b0cc852f61ec" datatype="html">\n        <source>Restoring</source>\n        <target>Restaurando</target>\n      </trans-unit>\n      <trans-unit id="c252806fb400e79bac194696632c9362742b1538" datatype="html">\n        <source>restore</source>\n        <target>restaurar</target>\n      </trans-unit>\n      <trans-unit id="30b8bcf69b3f1754b7abba173fd806cfcea4cb04" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' into \'\n          <x id="INTERPOLATION_1" equiv-text="{{new_id}}"/>\'\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' into \'\n          <x id="INTERPOLATION_1" equiv-text="{{new_id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="13b7b241cef989fe0932ddd180e757658e1817e7" datatype="html">\n        <source>Image name \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' is already in use.\n        </source>\n        <target>Image name \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' is already in use.\n        </target>\n      </trans-unit>\n      <trans-unit id="cc1cee12c833e8fbbef28a2a7c449dc530da912d" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="38e5f47f8bef505652f3e87f46efb00ead1350a3" datatype="html">\n        <source>Purging</source>\n        <target>Purgando</target>\n      </trans-unit>\n      <trans-unit id="e4e57747f123f0fe6fe3a0ecf608f8bc287dec0c" datatype="html">\n        <source>purge</source>\n        <target>purgar</target>\n      </trans-unit>\n      <trans-unit id="1560d58fdf39663929653250d45f5b1dfe078fea" datatype="html">\n        <source>all pools</source>\n        <target>todos os pools</target>\n      </trans-unit>\n      <trans-unit id="1ac3dc50c2c3d86e98bc0967ee1e696810a2d3aa" datatype="html">\n        <source>images from \n          <x id="INTERPOLATION" equiv-text="{{message}}"/>\n        </source>\n        <target>images from \n          <x id="INTERPOLATION" equiv-text="{{message}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="02278abbb044ece04ab6bd80bd2060198d31d83b" datatype="html">\n        <source>Cannot disable mirroring because it contains a peer.</source>\n        <target>Impossível desabilitar espelhamento porque ele contém um peer.</target>\n      </trans-unit>\n      <trans-unit id="f123ae1fc3b000e5d08e766dd78bff162afe709d" datatype="html">\n        <source>host \'\n          <x id="INTERPOLATION" equiv-text="{{hostname}}"/>\'\n        </source>\n        <target>host \'\n          <x id="INTERPOLATION" equiv-text="{{hostname}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="dfe70001dc590a9e12512cbb206aa29fb36fd00b" datatype="html">\n        <source>pool \'\n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>\'\n        </source>\n        <target>pool \'\n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="59630daf2f4786690fae0cdad55da8887236eabe" datatype="html">\n        <source>erasure code profile \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </source>\n        <target>erasure code profile \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="369462e5e018360e0600bb570866201ad5c3c8a8" datatype="html">\n        <source>target \'\n          <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>\'\n        </source>\n        <target>target \'\n          <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="cf41310917cb19b335e5a950972bbff2346f7a47" datatype="html">\n        <source>NFS \n          <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>\n        </source>\n        <target>NFS \n          <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="54bf6542e39412f83ec883266f443e31b304c937" datatype="html">\n        <source>Required rules for password complexity:\n    - must contain at least 8 characters\n    - cannot contain username\n    - cannot contain any keyword used in Ceph\n    - cannot contain any repetitive characters e.g. "aaa"\n    - cannot contain any sequencial characters e.g. "abc"\n    - must consist of characters from the following groups:\n      * alphabetic a-z, A-Z\n      * numbers 0-9\n      * special chars: !"#$%&amp; \'()*+,-./:;&lt;=&gt;?@[\\]^_`\n          <x id="INTERPOLATION" equiv-text="{{|}}"/>~\n      * any other characters (signs)\n        </source>\n        <target>Required rules for password complexity:\n    - must contain at least 8 characters\n    - cannot contain username\n    - cannot contain any keyword used in Ceph\n    - cannot contain any repetitive characters e.g. "aaa"\n    - cannot contain any sequencial characters e.g. "abc"\n    - must consist of characters from the following groups:\n      * alphabetic a-z, A-Z\n      * numbers 0-9\n      * special chars: !"#$%&amp; \'()*+,-./:;&lt;=&gt;?@[\\]^_`\n          <x id="INTERPOLATION" equiv-text="{{|}}"/>~\n      * any other characters (signs)\n        </target>\n      </trans-unit>\n      <trans-unit id="ba575e9364b43dc870e332265c5182bb357b7a49" datatype="html">\n        <source>Weak</source>\n        <target>Weak</target>\n      </trans-unit>\n      <trans-unit id="7e6c975ebea8b5f8b120905ca7acf9f8edf59d8e" datatype="html">\n        <source>OK</source>\n        <target>OK</target>\n      </trans-unit>\n      <trans-unit id="3f7349017a01eed18c3daf2b7295ca96ef442eb6" datatype="html">\n        <source>Strong</source>\n        <target>Strong</target>\n      </trans-unit>\n      <trans-unit id="a1e3aecc2022cb0ebed8575a24d0e29d2de815c6" datatype="html">\n        <source>Very strong</source>\n        <target>Very strong</target>\n      </trans-unit>\n    </body>\n  </file>\n</xliff>'},"+c4W":function(t,e,n){var a=n("711d"),r=n("4/ic"),o=n("9ggG"),i=n("9Nap");t.exports=function(t){return o(t)?a(i(t)):r(t)}},"+gVj":function(t,e,n){"use strict";n.d(e,"a",(function(){return c})),n.d(e,"b",(function(){return s})),n.d(e,"c",(function(){return g})),n.d(e,"d",(function(){return o})),n.d(e,"e",(function(){return l})),n.d(e,"f",(function(){return p})),n.d(e,"g",(function(){return u})),n.d(e,"h",(function(){return f}));var a=n("8Y7J"),r=n("s7LF");class o{constructor(){this.validSubmit=new a.EventEmitter}onSubmit(){this.markAsTouchedAndDirty(this.formGroup),this.formGroup.valid&&this.validSubmit.emit(this.formGroup.value)}markAsTouchedAndDirty(t){t instanceof r.k?Object.keys(t.controls).forEach(e=>this.markAsTouchedAndDirty(t.controls[e])):t instanceof r.f?t.controls.forEach(t=>this.markAsTouchedAndDirty(t)):t instanceof r.i&&t.enabled&&(t.markAsDirty(),t.markAsTouched(),t.updateValueAndValidity())}}const i=function(){var t={Three:0,Four:1};return t[t.Three]="Three",t[t.Four]="Four",t}(),s=new a.InjectionToken("ng-bootstrap-form-validation custom error messages"),c=new a.InjectionToken("ng-bootstrap-form-validation module options");class l{constructor(t){this.bootstrapVersion=t,this.messages=()=>[]}get className(){switch(this.bootstrapVersion){case i.Three:return"help-block";case i.Four:return"invalid-feedback"}}}const d=[{error:"required",format:t=>`${t} is required`},{error:"pattern",format:t=>`${t} is invalid`},{error:"minlength",format:(t,e)=>`${t} must be at least ${e.requiredLength} characters`},{error:"maxlength",format:(t,e)=>`${t} must be no longer than ${e.requiredLength} characters`},{error:"requiredTrue",format:(t,e)=>`${t} is required`},{error:"email",format:(t,e)=>"Invalid email address"},{error:"max",format:(t,e)=>`${t} must be no greater than ${e.max}`},{error:"min",format:(t,e)=>`${t} must be no less than ${e.min}`}];let u=(()=>{class t{constructor(t){this.customErrorMessages=t,this.defaultErrors=d,this.errorMessages=t.reduce((t,e)=>t.concat(e),this.defaultErrors)}}return t.ngInjectableDef=Object(a["ɵɵdefineInjectable"])({factory:function(){return new t(Object(a["ɵɵinject"])(s))},token:t,providedIn:"root"}),t})();class g{constructor(t,e){this.elRef=t,this.errorMessageService=e,this.customErrorMessages=[],this.validationDisabled=!1,this.messages=()=>this.getMessages()}get hasErrors(){return this.FormControlNames.some(t=>!t.valid&&t.dirty&&t.touched)&&!this.validationDisabled}get hasSuccess(){return!this.FormControlNames.some(t=>!t.valid)&&this.FormControlNames.some(t=>t.dirty&&t.touched)&&!this.validationDisabled}ngAfterContentInit(){this.messagesBlock&&(this.messagesBlock.messages=this.messages)}ngOnInit(){this.errorMessages=this.errorMessageService.errorMessages.concat(this.customErrorMessages).reverse()}get label(){const t=this.elRef.nativeElement.querySelector("label");return t&&t.textContent?t.textContent.trim():"This field"}get isDirtyAndTouched(){return this.FormControlNames.some(t=>t.dirty&&t.touched)}getMessages(){const t=[];if(!this.isDirtyAndTouched||this.validationDisabled)return t;const e=this.FormControlNames.map(t=>t.name);return this.FormControlNames.filter((t,n)=>!t.valid&&!!t.errors&&e.indexOf(t.name)===n).forEach(e=>{Object.keys(e.errors).forEach(n=>{const a=this.errorMessages.find(t=>t.error===n);a&&t.push(a.format(this.label,e.errors[n]))})}),t}}class f{constructor(t,e){this.parent=t,this.bootstrapVersion=e}get validClass(){return!!this.control&&this.bootstrapFour&&this.control.valid&&(this.control.touched||this.control.dirty)}get invalidClass(){return!!this.control&&this.bootstrapFour&&this.control.invalid&&this.control.touched&&this.control.dirty}get path(){return[...this.parent.path,this.formControlName]}get control(){return this.formDirective&&this.formDirective.getControl(this)}get formDirective(){return this.parent?this.parent.formDirective:null}get bootstrapFour(){return this.bootstrapVersion===i.Four}}class p{static forRoot(t={bootstrapVersion:i.Four}){return{ngModule:p,providers:[{provide:s,useValue:t.customErrorMessages||[],multi:!0},{provide:c,useValue:t.bootstrapVersion},u]}}}},"+iFO":function(t,e,n){var a=n("dTAl"),r=n("LcsW"),o=n("6sVZ");t.exports=function(t){return"function"!=typeof t.constructor||o(t)?{}:a(r(t))}},"+s0g":function(t,e,n){!function(t){"use strict";var e="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),n="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),a=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],r=/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;t.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(t,a){return t?/-MMM-/.test(a)?n[t.month()]:e[t.month()]:e},monthsRegex:r,monthsShortRegex:r,monthsStrictRegex:/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(t){return t+(1===t||8===t||t>=20?"ste":"de")},week:{dow:1,doy:4}})}(n("wd/R"))},"//9w":function(t,e,n){!function(t){"use strict";t.defineLocale("se",{months:"ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu".split("_"),monthsShort:"ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov".split("_"),weekdays:"sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat".split("_"),weekdaysShort:"sotn_vuos_maŋ_gask_duor_bear_láv".split("_"),weekdaysMin:"s_v_m_g_d_b_L".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"MMMM D. [b.] YYYY",LLL:"MMMM D. [b.] YYYY [ti.] HH:mm",LLLL:"dddd, MMMM D. [b.] YYYY [ti.] HH:mm"},calendar:{sameDay:"[otne ti] LT",nextDay:"[ihttin ti] LT",nextWeek:"dddd [ti] LT",lastDay:"[ikte ti] LT",lastWeek:"[ovddit] dddd [ti] LT",sameElse:"L"},relativeTime:{future:"%s geažes",past:"maŋit %s",s:"moadde sekunddat",ss:"%d sekunddat",m:"okta minuhta",mm:"%d minuhtat",h:"okta diimmu",hh:"%d diimmut",d:"okta beaivi",dd:"%d beaivvit",M:"okta mánnu",MM:"%d mánut",y:"okta jahki",yy:"%d jagit"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("wd/R"))},"/9aa":function(t,e,n){var a=n("NykK"),r=n("ExA7");t.exports=function(t){return"symbol"==typeof t||r(t)&&"[object Symbol]"==a(t)}},"/GqU":function(t,e,n){var a=n("RK3t"),r=n("HYAF");t.exports=function(t){return a(r(t))}},"/NlG":function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var a=n("8Y7J"),r=n("oxzT");class o{constructor(t){this.i18n=t,this.title="",this.bootstrapClass="",this.backAction=new a.EventEmitter,this.size="normal",this.showIcon=!0,this.showTitle=!0,this.icons=r.a}ngOnInit(){switch(this.type){case"warning":this.title=this.title||this.i18n("Warning"),this.typeIcon=this.typeIcon||r.a.warning,this.bootstrapClass=this.bootstrapClass||"warning";break;case"error":this.title=this.title||this.i18n("Error"),this.typeIcon=this.typeIcon||r.a.destroyCircle,this.bootstrapClass=this.bootstrapClass||"danger";break;case"info":this.title=this.title||this.i18n("Information"),this.typeIcon=this.typeIcon||r.a.infoCircle,this.bootstrapClass=this.bootstrapClass||"info";break;case"success":this.title=this.title||this.i18n("Success"),this.typeIcon=this.typeIcon||r.a.check,this.bootstrapClass=this.bootstrapClass||"success"}}}},"/X5v":function(t,e,n){!function(t){"use strict";t.defineLocale("x-pseudo",{months:"J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér".split("_"),monthsShort:"J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc".split("_"),monthsParseExact:!0,weekdays:"S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý".split("_"),weekdaysShort:"S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát".split("_"),weekdaysMin:"S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[T~ódá~ý át] LT",nextDay:"[T~ómó~rró~w át] LT",nextWeek:"dddd [át] LT",lastDay:"[Ý~ést~érdá~ý át] LT",lastWeek:"[L~ást] dddd [át] LT",sameElse:"L"},relativeTime:{future:"í~ñ %s",past:"%s á~gó",s:"á ~féw ~sécó~ñds",ss:"%d s~écóñ~ds",m:"á ~míñ~úté",mm:"%d m~íñú~tés",h:"á~ñ hó~úr",hh:"%d h~óúrs",d:"á ~dáý",dd:"%d d~áýs",M:"á ~móñ~th",MM:"%d m~óñt~hs",y:"á ~ýéár",yy:"%d ý~éárs"},dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})}(n("wd/R"))},"/b8u":function(t,e,n){var a=n("STAE");t.exports=a&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},"/byt":function(t,e){t.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},"/uUt":function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("7o/Q");function r(t,e){return n=>n.lift(new o(t,e))}class o{constructor(t,e){this.compare=t,this.keySelector=e}call(t,e){return e.subscribe(new i(t,this.compare,this.keySelector))}}class i extends a.a{constructor(t,e,n){super(t),this.keySelector=n,this.hasKey=!1,"function"==typeof e&&(this.compare=e)}compare(t,e){return t===e}_next(t){let e;try{const{keySelector:n}=this;e=n?n(t):t}catch(a){return this.destination.error(a)}let n=!1;if(this.hasKey)try{const{compare:t}=this;n=t(this.key,e)}catch(a){return this.destination.error(a)}else this.hasKey=!0;n||(this.key=e,this.destination.next(t))}}},0:function(t,e,n){t.exports=n("zUnb")},"0+/T":function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var a=n("s7LF"),r=n("QFaf");n("sb0X");class o{constructor(t){this.modalRef=t,this.actionDescription="delete"}ngOnInit(){if(this.deletionForm=new r.a({confirmation:new a.i(!1,[a.B.requiredTrue])}),!this.submitAction&&!this.submitActionObservable)throw new Error("No submit action defined")}callSubmitAction(){this.submitActionObservable?this.submitActionObservable().subscribe(null,this.stopLoadingSpinner.bind(this),this.hideModal.bind(this)):this.submitAction()}hideModal(){this.modalRef.hide()}stopLoadingSpinner(){this.deletionForm.setErrors({cdSubmitButton:!0})}}},"02Lk":function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var a=n("l7GE"),r=n("ZUHj");function o(t,e){return n=>n.lift(new i(t,e))}class i{constructor(t,e){this.keySelector=t,this.flushes=e}call(t,e){return e.subscribe(new s(t,this.keySelector,this.flushes))}}class s extends a.a{constructor(t,e,n){super(t),this.keySelector=e,this.values=new Set,n&&this.add(Object(r.a)(this,n))}notifyNext(t,e,n,a,r){this.values.clear()}notifyError(t,e){this._error(t)}_next(t){this.keySelector?this._useKeySelector(t):this._finalizeNext(t,t)}_useKeySelector(t){let e;const{destination:n}=this;try{e=this.keySelector(t)}catch(a){return void n.error(a)}this._finalizeNext(e,t)}_finalizeNext(t,e){const{values:n}=this;n.has(t)||(n.add(t),this.destination.next(e))}}},"03A+":function(t,e,n){var a=n("JTzB"),r=n("ExA7"),o=Object.prototype,i=o.hasOwnProperty,s=o.propertyIsEnumerable,c=a(function(){return arguments}())?a:function(t){return r(t)&&i.call(t,"callee")&&!s.call(t,"callee")};t.exports=c},"07d7":function(t,e,n){var a=n("AO7/"),r=n("busE"),o=n("sEFX");a||r(Object.prototype,"toString",o,{unsafe:!0})},"0BK2":function(t,e){t.exports={}},"0Cz8":function(t,e,n){var a=n("Xi7e"),r=n("ebwN"),o=n("e4Nc");t.exports=function(t,e){var n=this.__data__;if(n instanceof a){var i=n.__data__;if(!r||i.length<199)return i.push([t,e]),this.size=++n.size,this;n=this.__data__=new o(i)}return n.set(t,e),this.size=n.size,this}},"0Dky":function(t,e){t.exports=function(t){try{return!!t()}catch(e){return!0}}},"0EUg":function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("bHdf");function r(){return Object(a.a)(1)}},"0GbY":function(t,e,n){var a=n("Qo9l"),r=n("2oRo"),o=function(t){return"function"==typeof t?t:void 0};t.exports=function(t,e){return arguments.length<2?o(a[t])||o(r[t]):a[t]&&a[t][e]||r[t]&&r[t][e]}},"0MID":function(t,e,n){var a=n("mrSG").__decorate,r=n("mrSG").__metadata;Object.defineProperty(e,"__esModule",{value:!0});var o=n("8Y7J"),i=n("qwkt"),s=n("5tze");n("czA5"),e.DataTableHeaderCellComponent=function(){function t(t){this.cd=t,this.sort=new o.EventEmitter,this.select=new o.EventEmitter,this.columnContextmenu=new o.EventEmitter(!1),this.sortFn=this.onSort.bind(this),this.selectFn=this.select.emit.bind(this.select),this.cellContext={column:this.column,sortDir:this.sortDir,sortFn:this.sortFn,allRowsSelected:this.allRowsSelected,selectFn:this.selectFn}}return Object.defineProperty(t.prototype,"allRowsSelected",{get:function(){return this._allRowsSelected},set:function(t){this._allRowsSelected=t,this.cellContext.allRowsSelected=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"column",{get:function(){return this._column},set:function(t){this._column=t,this.cellContext.column=t,this.cd.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"sorts",{get:function(){return this._sorts},set:function(t){this._sorts=t,this.sortDir=this.calcSortDir(t),this.cellContext.sortDir=this.sortDir,this.sortClass=this.calcSortClass(this.sortDir),this.cd.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"columnCssClasses",{get:function(){var t="datatable-header-cell";if(this.column.sortable&&(t+=" sortable"),this.column.resizeable&&(t+=" resizeable"),this.column.headerClass)if("string"==typeof this.column.headerClass)t+=" "+this.column.headerClass;else if("function"==typeof this.column.headerClass){var e=this.column.headerClass({column:this.column});if("string"==typeof e)t+=e;else if("object"==typeof e)for(var n=0,a=Object.keys(e);n<a.length;n++){var r=a[n];!0===e[r]&&(t+=" "+r)}}var o=this.sortDir;return o&&(t+=" sort-active sort-"+o),t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"name",{get:function(){return void 0===this.column.headerTemplate?this.column.name:void 0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"minWidth",{get:function(){return this.column.minWidth},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"maxWidth",{get:function(){return this.column.maxWidth},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"width",{get:function(){return this.column.width},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isCheckboxable",{get:function(){return this.column.checkboxable&&this.column.headerCheckboxable&&this.selectionType===i.SelectionType.checkbox},enumerable:!0,configurable:!0}),t.prototype.onContextmenu=function(t){this.columnContextmenu.emit({event:t,column:this.column})},t.prototype.calcSortDir=function(t){var e=this;if(t&&this.column){var n=t.find((function(t){return t.prop===e.column.prop}));if(n)return n.dir}},t.prototype.onSort=function(){if(this.column.sortable){var t=s.nextSortDir(this.sortType,this.sortDir);this.sort.emit({column:this.column,prevValue:this.sortDir,newValue:t})}},t.prototype.calcSortClass=function(t){return t===i.SortDirection.asc?"sort-btn sort-asc "+this.sortAscendingIcon:t===i.SortDirection.desc?"sort-btn sort-desc "+this.sortDescendingIcon:"sort-btn"},a([o.Input(),r("design:type",String)],t.prototype,"sortType",void 0),a([o.Input(),r("design:type",String)],t.prototype,"sortAscendingIcon",void 0),a([o.Input(),r("design:type",String)],t.prototype,"sortDescendingIcon",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"isTarget",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"targetMarkerTemplate",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"targetMarkerContext",void 0),a([o.Input(),r("design:type",Object),r("design:paramtypes",[Object])],t.prototype,"allRowsSelected",null),a([o.Input(),r("design:type",String)],t.prototype,"selectionType",void 0),a([o.Input(),r("design:type",Object),r("design:paramtypes",[Object])],t.prototype,"column",null),a([o.HostBinding("style.height.px"),o.Input(),r("design:type",Number)],t.prototype,"headerHeight",void 0),a([o.Input(),r("design:type",Array),r("design:paramtypes",[Array])],t.prototype,"sorts",null),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"sort",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"select",void 0),a([o.Output(),r("design:type",Object)],t.prototype,"columnContextmenu",void 0),a([o.HostBinding("class"),r("design:type",Object),r("design:paramtypes",[])],t.prototype,"columnCssClasses",null),a([o.HostBinding("attr.title"),r("design:type",String),r("design:paramtypes",[])],t.prototype,"name",null),a([o.HostBinding("style.minWidth.px"),r("design:type",Number),r("design:paramtypes",[])],t.prototype,"minWidth",null),a([o.HostBinding("style.maxWidth.px"),r("design:type",Number),r("design:paramtypes",[])],t.prototype,"maxWidth",null),a([o.HostBinding("style.width.px"),r("design:type",Number),r("design:paramtypes",[])],t.prototype,"width",null),a([o.HostListener("contextmenu",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],t.prototype,"onContextmenu",null),a([o.Component({selector:"datatable-header-cell",template:'\n    <div class="datatable-header-cell-template-wrap">\n      <ng-template\n        *ngIf="isTarget"\n        [ngTemplateOutlet]="targetMarkerTemplate"\n        [ngTemplateOutletContext]="targetMarkerContext">\n      </ng-template>\n      <label\n        *ngIf="isCheckboxable"\n        class="datatable-checkbox">\n        <input\n          type="checkbox"\n          [checked]="allRowsSelected"\n          (change)="select.emit(!allRowsSelected)"\n        />\n      </label>\n      <span\n        *ngIf="!column.headerTemplate"\n        class="datatable-header-cell-wrapper">\n        <span\n          class="datatable-header-cell-label draggable"\n          (click)="onSort()"\n          [innerHTML]="name">\n        </span>\n      </span>\n      <ng-template\n        *ngIf="column.headerTemplate"\n        [ngTemplateOutlet]="column.headerTemplate"\n        [ngTemplateOutletContext]="cellContext">\n      </ng-template>\n      <span\n        (click)="onSort()"\n        [class]="sortClass">\n      </span>\n    </div>\n  ',host:{class:"datatable-header-cell"},changeDetection:o.ChangeDetectionStrategy.OnPush})],t)}()},"0eef":function(t,e,n){"use strict";var a={}.propertyIsEnumerable,r=Object.getOwnPropertyDescriptor,o=r&&!a.call({1:2},1);e.f=o?function(t){var e=r(this,t);return!!e&&e.enumerable}:a},"0mo+":function(t,e,n){!function(t){"use strict";var e={1:"༡",2:"༢",3:"༣",4:"༤",5:"༥",6:"༦",7:"༧",8:"༨",9:"༩",0:"༠"},n={"༡":"1","༢":"2","༣":"3","༤":"4","༥":"5","༦":"6","༧":"7","༨":"8","༩":"9","༠":"0"};t.defineLocale("bo",{months:"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_"),monthsShort:"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_"),weekdays:"གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་".split("_"),weekdaysShort:"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་".split("_"),weekdaysMin:"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[དི་རིང] LT",nextDay:"[སང་ཉིན] LT",nextWeek:"[བདུན་ཕྲག་རྗེས་མ], LT",lastDay:"[ཁ་སང] LT",lastWeek:"[བདུན་ཕྲག་མཐའ་མ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ལ་",past:"%s སྔན་ལ",s:"ལམ་སང",ss:"%d སྐར་ཆ།",m:"སྐར་མ་གཅིག",mm:"%d སྐར་མ",h:"ཆུ་ཚོད་གཅིག",hh:"%d ཆུ་ཚོད",d:"ཉིན་གཅིག",dd:"%d ཉིན་",M:"ཟླ་བ་གཅིག",MM:"%d ཟླ་བ",y:"ལོ་གཅིག",yy:"%d ལོ"},preparse:function(t){return t.replace(/[༡༢༣༤༥༦༧༨༩༠]/g,(function(t){return n[t]}))},postformat:function(t){return t.replace(/\d/g,(function(t){return e[t]}))},meridiemParse:/མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,meridiemHour:function(t,e){return 12===t&&(t=0),"མཚན་མོ"===e&&t>=4||"ཉིན་གུང"===e&&t<5||"དགོང་དག"===e?t+12:t},meridiem:function(t,e,n){return t<4?"མཚན་མོ":t<10?"ཞོགས་ཀས":t<17?"ཉིན་གུང":t<20?"དགོང་དག":"མཚན་མོ"},week:{dow:0,doy:6}})}(n("wd/R"))},"0rvr":function(t,e,n){var a=n("glrk"),r=n("O741");t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,n={};try{(t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(n,[]),e=n instanceof Array}catch(o){}return function(n,o){return a(n),r(o),e?t.call(n,o):n.__proto__=o,n}}():void 0)},"0tRk":function(t,e,n){!function(t){"use strict";t.defineLocale("pt-br",{months:"Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Do_2ª_3ª_4ª_5ª_6ª_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [às] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [às] HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"há %s",s:"poucos segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº"})}(n("wd/R"))},"0ycA":function(t,e){t.exports=function(){return[]}},"1+5i":function(t,e,n){var a=n("w/wX"),r=n("sEf8"),o=n("mdPL"),i=o&&o.isSet,s=i?r(i):a;t.exports=s},"128B":function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var a=n("Kqap"),r=n("BFxc"),o=n("xbPD"),i=n("mCNh");function s(t,e){return arguments.length>=2?function(n){return Object(i.a)(Object(a.a)(t,e),Object(r.a)(1),Object(o.a)(e))(n)}:function(e){return Object(i.a)(Object(a.a)((e,n,a)=>t(e,n,a+1)),Object(r.a)(1))(e)}}},"14R3":function(t,e){"undefined"!=typeof Element&&("function"!=typeof Element.prototype.matches&&(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.webkitMatchesSelector||function(t){for(var e=(this.document||this.ownerDocument).querySelectorAll(t),n=0;e[n]&&e[n]!==this;)++n;return Boolean(e[n])}),"function"!=typeof Element.prototype.closest&&(Element.prototype.closest=function(t){for(var e=this;e&&1===e.nodeType;){if(e.matches(t))return e;e=e.parentNode}return null}))},"14Sl":function(t,e,n){"use strict";n("rB9j");var a=n("busE"),r=n("0Dky"),o=n("tiKp"),i=n("kmMV"),s=n("kRJp"),c=o("species"),l=!r((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")})),d="$0"==="a".replace(/./,"$0"),u=o("replace"),g=!!/./[u]&&""===/./[u]("a","$0"),f=!r((function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n="ab".split(t);return 2!==n.length||"a"!==n[0]||"b"!==n[1]}));t.exports=function(t,e,n,u){var p=o(t),m=!r((function(){var e={};return e[p]=function(){return 7},7!=""[t](e)})),h=m&&!r((function(){var e=!1,n=/a/;return"split"===t&&((n={}).constructor={},n.constructor[c]=function(){return n},n.flags="",n[p]=/./[p]),n.exec=function(){return e=!0,null},n[p](""),!e}));if(!m||!h||"replace"===t&&(!l||!d||g)||"split"===t&&!f){var b=/./[p],_=n(p,""[t],(function(t,e,n,a,r){return e.exec===i?m&&!r?{done:!0,value:b.call(e,n,a)}:{done:!0,value:t.call(n,e,a)}:{done:!1}}),{REPLACE_KEEPS_$0:d,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:g}),y=_[1];a(String.prototype,t,_[0]),a(RegExp.prototype,p,2==e?function(t,e){return y.call(t,this,e)}:function(t){return y.call(t,this)})}u&&s(RegExp.prototype[p],"sham",!0)}},"1E5z":function(t,e,n){var a=n("m/L8").f,r=n("UTVS"),o=n("tiKp")("toStringTag");t.exports=function(t,e,n){t&&!r(t=n?t:t.prototype,o)&&a(t,o,{configurable:!0,value:e})}},"1HVU":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=n("rdkg"),r=n("CVuo"),o="undefined"!=typeof window?a.getVendorPrefixedName("transform"):void 0,i="undefined"!=typeof window?a.getVendorPrefixedName("backfaceVisibility"):void 0,s="undefined"!=typeof window?!!a.getVendorPrefixedName("transform"):void 0,c="undefined"!=typeof window?!!a.getVendorPrefixedName("perspective"):void 0,l="undefined"!=typeof window?window.navigator.userAgent:"Chrome",d=/Safari\//.test(l)&&!/Chrome\//.test(l);e.translateXY=function(t,e,n){void 0!==o&&s?!d&&c?(t[o]="translate3d("+e+"px, "+n+"px, 0)",t[i]="hidden"):t[r.camelCase(o)]="translate("+e+"px, "+n+"px)":(t.top=n+"px",t.left=e+"px")}},"1Ni5":function(t,e,n){"use strict";n.d(e,"b",(function(){return g})),n.d(e,"a",(function(){return f}));var a=n("s7LF"),r=n("LvDl"),o=n("LRne"),i=n("PqYM"),s=n("aGrj"),c=n("lJxs"),l=n("IzEk"),d=n("Fgil"),u=n("aXbf");function g(t){return null==t||0===t.length}class f{static email(t){return g(t.value)?null:a.B.email(t)}static ip(t=0){const e=/^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/i,n=/^(?:[a-f0-9]{1,4}:){7}[a-f0-9]{1,4}$/i;return a.B.pattern(4===t?e:6===t?n:new RegExp(e.source+"|"+n.source))}static number(t=!0){return a.B.pattern(t?/^-?[0-9]+$/i:/^[0-9]+$/i)}static decimalNumber(t=!0){return a.B.pattern(t?/^-?[0-9]+(.[0-9]+)?$/i:/^[0-9]+(.[0-9]+)?$/i)}static requiredIf(t,e){let n=!1;return a=>(!n&&a.parent&&(Object.keys(t).forEach(t=>{a.parent.get(t).valueChanges.subscribe(()=>{a.updateValueAndValidity({emitEvent:!1})})}),n=!0),Object.keys(t).every(e=>a.parent&&a.parent.get(e).value===t[e])&&(r.isFunction(e)?e.call(e,a.value):g(a.value))?{required:!0}:null)}static composeIf(t,e){let n=!1;return r=>(!n&&r.parent&&(Object.keys(t).forEach(t=>{r.parent.get(t).valueChanges.subscribe(()=>{r.updateValueAndValidity({emitEvent:!1})})}),n=!0),Object.keys(t).every(e=>r.parent&&r.parent.get(e).value===t[e])?a.B.compose(e)(r):null)}static custom(t,e){return n=>{const a=e.call(this,n.value);return a?{[t]:a}:null}}static validateIf(t,e,n,r=[],o=[]){n=n.concat(r),t.setValidators(t=>e.call(this)?a.B.compose(n)(t):r.length>0?a.B.compose(r)(t):null),o.forEach(e=>{e.valueChanges.subscribe(()=>{t.updateValueAndValidity({emitEvent:!1})})})}static match(t,e){return n=>{const a=n.get(t),o=n.get(e);if(!a||!o)return null;if(a.value!==o.value)o.setErrors({match:!0});else if(o.hasError("match")){const t=o.errors;r.unset(t,"match"),o.setErrors(r.isEmpty(r.keys(t))?null:t)}return null}}static unique(t,e=null,n=500){return a=>a.pristine||g(a.value)?Object(o.a)(null):Object(i.a)(n).pipe(Object(s.a)(t.call(e,a.value)),Object(c.a)(t=>t?{notUnique:!0}:null),Object(l.a)(1))}static uuid(t=!1){const e=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;return n=>n.pristine&&n.untouched?null:t||n.value?e.test(n.value)?null:{invalidUuid:"This is not a valid UUID"}:null}static binaryMin(t){return e=>{const n=new u.a,a=(new u.a).toBytes(e.value);if(t<=a)return null;const r=new d.a(n).transform(t);return{binaryMin:t=>t("Size has to be at least {{value}} or more",{value:r})}}}static binaryMax(t){return e=>{const n=new u.a,a=n.toBytes(e.value);if(t>=a)return null;const r=new d.a(n).transform(t);return{binaryMax:t=>t("Size has to be at most {{value}} or less",{value:r})}}}static passwordPolicy(t,e,n){return a=>{if(a.pristine||""===a.value)return r.isFunction(n)&&n(!0,0),Object(o.a)(null);let d;return r.isFunction(e)&&(d=e()),Object(i.a)(500).pipe(Object(s.a)(r.invoke(t,"validatePassword",a.value,d)),Object(c.a)(t=>(r.isFunction(n)&&n(t.valid,t.credits,t.valuation),t.valid?null:{passwordPolicy:!0})),Object(l.a)(1))}}}},"1Y/n":function(t,e,n){var a=n("HAuM"),r=n("ewvW"),o=n("RK3t"),i=n("UMSQ"),s=function(t){return function(e,n,s,c){a(n);var l=r(e),d=o(l),u=i(l.length),g=t?u-1:0,f=t?-1:1;if(s<2)for(;;){if(g in d){c=d[g],g+=f;break}if(g+=f,t?g<0:u<=g)throw TypeError("Reduce of empty array with no initial value")}for(;t?g>=0:u>g;g+=f)g in d&&(c=n(c,d[g],g,l));return c}};t.exports={left:s(!1),right:s(!0)}},"1hJj":function(t,e,n){var a=n("e4Nc"),r=n("ftKO"),o=n("3A9y");function i(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new a;++e<n;)this.add(t[e])}i.prototype.add=i.prototype.push=r,i.prototype.has=o,t.exports=i},"1nQr":function(t,e,n){"use strict";var a=n("LvDl"),r=n("lJxs"),o=n("20UP");class i{constructor(t){this.pwdPolicyEnabled=t.pwd_policy_enabled,this.pwdPolicyMinLength=t.pwd_policy_min_length,this.pwdPolicyCheckLengthEnabled=t.pwd_policy_check_length_enabled,this.pwdPolicyCheckOldpwdEnabled=t.pwd_policy_check_oldpwd_enabled,this.pwdPolicyCheckUsernameEnabled=t.pwd_policy_check_username_enabled,this.pwdPolicyCheckExclusionListEnabled=t.pwd_policy_check_exclusion_list_enabled,this.pwdPolicyCheckRepetitiveCharsEnabled=t.pwd_policy_check_repetitive_chars_enabled,this.pwdPolicyCheckSequentialCharsEnabled=t.pwd_policy_check_sequential_chars_enabled,this.pwdPolicyCheckComplexityEnabled=t.pwd_policy_check_complexity_enabled}}var s=n("8Y7J"),c=n("GiVz");n.d(e,"a",(function(){return l}));let l=(()=>{class t{constructor(t,e){this.i18n=t,this.settingsService=e}getHelpText(){return this.settingsService.getStandardSettings().pipe(Object(r.a)(t=>{const e=new i(t);let n=[];if(e.pwdPolicyEnabled){n.push(this.i18n("Required rules for passwords:"));const t={pwdPolicyCheckLengthEnabled:this.i18n("Must contain at least {{length}} characters",{length:e.pwdPolicyMinLength}),pwdPolicyCheckOldpwdEnabled:this.i18n("Must not be the same as the previous one"),pwdPolicyCheckUsernameEnabled:this.i18n("Cannot contain the username"),pwdPolicyCheckExclusionListEnabled:this.i18n("Cannot contain any configured keyword"),pwdPolicyCheckRepetitiveCharsEnabled:this.i18n('Cannot contain any repetitive characters e.g. "aaa"'),pwdPolicyCheckSequentialCharsEnabled:this.i18n('Cannot contain any sequential characters e.g. "abc"'),pwdPolicyCheckComplexityEnabled:this.i18n("Must consist of characters from the following groups:\n  * Alphabetic a-z, A-Z\n  * Numbers 0-9\n  * Special chars: !\"#$%& '()*+,-./:;<=>?@[\\]^_`{{|}}~\n  * Any other characters (signs)")};n=n.concat(a.keys(t).filter(t=>a.get(e,t)).map(e=>"- "+a.get(t,e)))}return n.join("\n")}))}mapCreditsToCssClass(t){let e="very-strong";return t<10?e="too-weak":t<15?e="weak":t<20?e="ok":t<25&&(e="strong"),e}}return t.ngInjectableDef=s["ɵɵdefineInjectable"]({factory:function(){return new t(s["ɵɵinject"](c.a),s["ɵɵinject"](o.a))},token:t,providedIn:"root"}),t})()},"1rYy":function(t,e,n){!function(t){"use strict";t.defineLocale("hy-am",{months:{format:"հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի".split("_"),standalone:"հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր".split("_")},monthsShort:"հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ".split("_"),weekdays:"կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ".split("_"),weekdaysShort:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),weekdaysMin:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY թ.",LLL:"D MMMM YYYY թ., HH:mm",LLLL:"dddd, D MMMM YYYY թ., HH:mm"},calendar:{sameDay:"[այսօր] LT",nextDay:"[վաղը] LT",lastDay:"[երեկ] LT",nextWeek:function(){return"dddd [օրը ժամը] LT"},lastWeek:function(){return"[անցած] dddd [օրը ժամը] LT"},sameElse:"L"},relativeTime:{future:"%s հետո",past:"%s առաջ",s:"մի քանի վայրկյան",ss:"%d վայրկյան",m:"րոպե",mm:"%d րոպե",h:"ժամ",hh:"%d ժամ",d:"օր",dd:"%d օր",M:"ամիս",MM:"%d ամիս",y:"տարի",yy:"%d տարի"},meridiemParse:/գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,isPM:function(t){return/^(ցերեկվա|երեկոյան)$/.test(t)},meridiem:function(t){return t<4?"գիշերվա":t<12?"առավոտվա":t<17?"ցերեկվա":"երեկոյան"},dayOfMonthOrdinalParse:/\d{1,2}|\d{1,2}-(ին|րդ)/,ordinal:function(t,e){switch(e){case"DDD":case"w":case"W":case"DDDo":return 1===t?t+"-ին":t+"-րդ";default:return t}},week:{dow:1,doy:7}})}(n("wd/R"))},"1uah":function(t,e,n){"use strict";n.d(e,"b",(function(){return l})),n.d(e,"a",(function(){return d}));var a=n("yCtX"),r=n("DH7j"),o=n("7o/Q"),i=n("l7GE"),s=n("ZUHj"),c=n("Lhse");function l(...t){const e=t[t.length-1];return"function"==typeof e&&t.pop(),Object(a.a)(t,void 0).lift(new d(e))}class d{constructor(t){this.resultSelector=t}call(t,e){return e.subscribe(new u(t,this.resultSelector))}}class u extends o.a{constructor(t,e,n=Object.create(null)){super(t),this.iterators=[],this.active=0,this.resultSelector="function"==typeof e?e:null,this.values=n}_next(t){const e=this.iterators;Object(r.a)(t)?e.push(new f(t)):e.push("function"==typeof t[c.a]?new g(t[c.a]()):new p(this.destination,this,t))}_complete(){const t=this.iterators,e=t.length;if(this.unsubscribe(),0!==e){this.active=e;for(let n=0;n<e;n++){let e=t[n];e.stillUnsubscribed?this.destination.add(e.subscribe(e,n)):this.active--}}else this.destination.complete()}notifyInactive(){this.active--,0===this.active&&this.destination.complete()}checkIterators(){const t=this.iterators,e=t.length,n=this.destination;for(let o=0;o<e;o++){let e=t[o];if("function"==typeof e.hasValue&&!e.hasValue())return}let a=!1;const r=[];for(let o=0;o<e;o++){let e=t[o],i=e.next();if(e.hasCompleted()&&(a=!0),i.done)return void n.complete();r.push(i.value)}this.resultSelector?this._tryresultSelector(r):n.next(r),a&&n.complete()}_tryresultSelector(t){let e;try{e=this.resultSelector.apply(this,t)}catch(n){return void this.destination.error(n)}this.destination.next(e)}}class g{constructor(t){this.iterator=t,this.nextResult=t.next()}hasValue(){return!0}next(){const t=this.nextResult;return this.nextResult=this.iterator.next(),t}hasCompleted(){const t=this.nextResult;return t&&t.done}}class f{constructor(t){this.array=t,this.index=0,this.length=0,this.length=t.length}[c.a](){return this}next(t){const e=this.index++;return e<this.length?{value:this.array[e],done:!1}:{value:null,done:!0}}hasValue(){return this.array.length>this.index}hasCompleted(){return this.array.length===this.index}}class p extends i.a{constructor(t,e,n){super(t),this.parent=e,this.observable=n,this.stillUnsubscribed=!0,this.buffer=[],this.isComplete=!1}[c.a](){return this}next(){const t=this.buffer;return 0===t.length&&this.isComplete?{value:null,done:!0}:{value:t.shift(),done:!1}}hasValue(){return this.buffer.length>0}hasCompleted(){return 0===this.buffer.length&&this.isComplete}notifyComplete(){this.buffer.length>0?(this.isComplete=!0,this.parent.notifyInactive()):this.destination.complete()}notifyNext(t,e,n,a,r){this.buffer.push(e),this.parent.checkIterators()}subscribe(t,e){return Object(s.a)(this,this.observable,this,e)}}},"1xZ4":function(t,e,n){!function(t){"use strict";t.defineLocale("ca",{months:{standalone:"gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),format:"de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre".split("_"),isFormat:/D[oD]?(\s)+MMMM/},monthsShort:"gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.".split("_"),monthsParseExact:!0,weekdays:"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dt._dc._dj._dv._ds.".split("_"),weekdaysMin:"dg_dl_dt_dc_dj_dv_ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [de] YYYY",ll:"D MMM YYYY",LLL:"D MMMM [de] YYYY [a les] H:mm",lll:"D MMM YYYY, H:mm",LLLL:"dddd D MMMM [de] YYYY [a les] H:mm",llll:"ddd D MMM YYYY, H:mm"},calendar:{sameDay:function(){return"[avui a "+(1!==this.hours()?"les":"la")+"] LT"},nextDay:function(){return"[demà a "+(1!==this.hours()?"les":"la")+"] LT"},nextWeek:function(){return"dddd [a "+(1!==this.hours()?"les":"la")+"] LT"},lastDay:function(){return"[ahir a "+(1!==this.hours()?"les":"la")+"] LT"},lastWeek:function(){return"[el] dddd [passat a "+(1!==this.hours()?"les":"la")+"] LT"},sameElse:"L"},relativeTime:{future:"d'aquí %s",past:"fa %s",s:"uns segons",ss:"%d segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},dayOfMonthOrdinalParse:/\d{1,2}(r|n|t|è|a)/,ordinal:function(t,e){var n=1===t?"r":2===t?"n":3===t?"r":4===t?"t":"è";return"w"!==e&&"W"!==e||(n="a"),t+n},week:{dow:1,doy:4}})}(n("wd/R"))},"20UP":function(t,e,n){"use strict";n.d(e,"a",(function(){return c}));var a=n("LvDl"),r=n("lJxs"),o=n("8Y7J"),i=n("IheW"),s=n("pL04");let c=(()=>{class t{constructor(t){this.http=t,this.settings={}}getValues(t){return a.isArray(t)&&(t=t.join(",")),this.http.get(`api/settings?names=${t}`).pipe(Object(r.a)(t=>{const e={};return a.forEach(t,t=>{a.set(e,t.name,t.value)}),e}))}ifSettingConfigured(t,e,n){const a=this.settings[t];void 0===a?this.http.get(t).subscribe(a=>{this.settings[t]=this.getSettingsValue(a),this.ifSettingConfigured(t,e,n)},e=>{401!==e.status&&(this.settings[t]="")}):""!==a?e(a):n&&n()}disableSetting(t){this.settings[t]=""}getSettingsValue(t){return t.value||t.instance||""}validateGrafanaDashboardUrl(t){return this.http.get(`api/grafana/validation/${t}`)}getStandardSettings(){return this.http.get("ui-api/standard_settings")}}return t.ngInjectableDef=o["ɵɵdefineInjectable"]({factory:function(){return new t(o["ɵɵinject"](i.c))},token:t,providedIn:s.a}),t})()},"25BL":function(t,e,n){"use strict";var a=n("8Y7J"),r=n("DqMs"),o=n("/NlG"),i=n("GiVz"),s=n("SVse"),c=n("FE24"),l=n("z/SZ"),d=n("s7LF"),u=n("fhFe"),g=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function f(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"li",[["class","pages"],["role","button"]],[[1,"aria-label",0],[2,"active",null]],null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,1,"a",[["href","javascript:void(0)"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.selectPage(t.context.$implicit.number)&&a),a}),null,null)),(t()(),a["ɵted"](2,null,[" "," "]))],null,(function(t,e){t(e,0,0,"page "+e.context.$implicit.number,e.context.$implicit.number===e.component.page),t(e,2,0,e.context.$implicit.text)}))}function p(t){return a["ɵvid"](2,[(t()(),a["ɵeld"](0,0,null,null,14,"ul",[["class","pager"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,2,"li",[],[[2,"disabled",null]],null,null,null,null)),(t()(),a["ɵeld"](2,0,null,null,1,"a",[["aria-label","go to first page"],["href","javascript:void(0)"],["role","button"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.selectPage(1)&&a),a}),null,null)),(t()(),a["ɵeld"](3,0,null,null,0,"i",[],[[8,"className",0]],null,null,null,null)),(t()(),a["ɵeld"](4,0,null,null,2,"li",[],[[2,"disabled",null]],null,null,null,null)),(t()(),a["ɵeld"](5,0,null,null,1,"a",[["aria-label","go to previous page"],["href","javascript:void(0)"],["role","button"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.prevPage()&&a),a}),null,null)),(t()(),a["ɵeld"](6,0,null,null,0,"i",[],[[8,"className",0]],null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,f)),a["ɵdid"](8,278528,null,0,s.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),a["ɵeld"](9,0,null,null,2,"li",[],[[2,"disabled",null]],null,null,null,null)),(t()(),a["ɵeld"](10,0,null,null,1,"a",[["aria-label","go to next page"],["href","javascript:void(0)"],["role","button"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.nextPage()&&a),a}),null,null)),(t()(),a["ɵeld"](11,0,null,null,0,"i",[],[[8,"className",0]],null,null,null,null)),(t()(),a["ɵeld"](12,0,null,null,2,"li",[],[[2,"disabled",null]],null,null,null,null)),(t()(),a["ɵeld"](13,0,null,null,1,"a",[["aria-label","go to last page"],["href","javascript:void(0)"],["role","button"]],null,[[null,"click"]],(function(t,e,n){var a=!0,r=t.component;return"click"===e&&(a=!1!==r.selectPage(r.totalPages)&&a),a}),null,null)),(t()(),a["ɵeld"](14,0,null,null,0,"i",[],[[8,"className",0]],null,null,null,null))],(function(t,e){t(e,8,0,e.component.pages)}),(function(t,e){var n=e.component;t(e,1,0,!n.canPrevious()),t(e,3,0,a["ɵinlineInterpolate"](1,"",n.pagerPreviousIcon,"")),t(e,4,0,!n.canPrevious()),t(e,6,0,a["ɵinlineInterpolate"](1,"",n.pagerLeftArrowIcon,"")),t(e,9,0,!n.canNext()),t(e,11,0,a["ɵinlineInterpolate"](1,"",n.pagerRightArrowIcon,"")),t(e,12,0,!n.canNext()),t(e,14,0,a["ɵinlineInterpolate"](1,"",n.pagerNextIcon,""))}))}var m=n("JxMD"),h=n("dgut"),b=n("Fgil"),_=n("iInd"),y=n("4DD9"),O=n("yT6U"),v=n("TJUb"),C=n("0MID"),P=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function M(t){return a["ɵvid"](0,[(t()(),a["ɵand"](0,null,null,0))],null,null)}function x(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,1,null,M)),a["ɵdid"](1,540672,null,0,s.NgTemplateOutlet,[a.ViewContainerRef],{ngTemplateOutletContext:[0,"ngTemplateOutletContext"],ngTemplateOutlet:[1,"ngTemplateOutlet"]},null),(t()(),a["ɵand"](0,null,null,0))],(function(t,e){var n=e.component;t(e,1,0,n.targetMarkerContext,n.targetMarkerTemplate)}),null)}function w(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"label",[["class","datatable-checkbox"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,0,"input",[["type","checkbox"]],[[8,"checked",0]],[[null,"change"]],(function(t,e,n){var a=!0,r=t.component;return"change"===e&&(a=!1!==r.select.emit(!r.allRowsSelected)&&a),a}),null,null))],null,(function(t,e){t(e,1,0,e.component.allRowsSelected)}))}function T(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"span",[["class","datatable-header-cell-wrapper"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,0,"span",[["class","datatable-header-cell-label draggable"]],[[8,"innerHTML",1]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.onSort()&&a),a}),null,null))],null,(function(t,e){t(e,1,0,e.component.name)}))}function k(t){return a["ɵvid"](0,[(t()(),a["ɵand"](0,null,null,0))],null,null)}function S(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,1,null,k)),a["ɵdid"](1,540672,null,0,s.NgTemplateOutlet,[a.ViewContainerRef],{ngTemplateOutletContext:[0,"ngTemplateOutletContext"],ngTemplateOutlet:[1,"ngTemplateOutlet"]},null),(t()(),a["ɵand"](0,null,null,0))],(function(t,e){var n=e.component;t(e,1,0,n.cellContext,n.column.headerTemplate)}),null)}function I(t){return a["ɵvid"](2,[(t()(),a["ɵeld"](0,0,null,null,9,"div",[["class","datatable-header-cell-template-wrap"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,x)),a["ɵdid"](2,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,w)),a["ɵdid"](4,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,T)),a["ɵdid"](6,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,S)),a["ɵdid"](8,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵeld"](9,0,null,null,0,"span",[],[[8,"className",0]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.onSort()&&a),a}),null,null))],(function(t,e){var n=e.component;t(e,2,0,n.isTarget),t(e,4,0,n.isCheckboxable),t(e,6,0,!n.column.headerTemplate),t(e,8,0,n.column.headerTemplate)}),(function(t,e){t(e,9,0,e.component.sortClass)}))}var N=n("3MdB"),R=n("M9eX"),A=n("Cc8h"),E=n("ylLw"),D=n("tFKq"),L=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function q(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,4,"datatable-header-cell",[["class","datatable-header-cell"],["draggable",""],["long-press",""],["resizeable",""]],[[2,"resizeable",null],[2,"press",null],[2,"longpress",null],[4,"height","px"],[8,"className",0],[1,"title",0],[4,"minWidth","px"],[4,"maxWidth","px"],[4,"width","px"]],[[null,"resize"],[null,"longPressStart"],[null,"longPressEnd"],[null,"sort"],[null,"select"],[null,"columnContextmenu"],[null,"mousedown"],[null,"contextmenu"]],(function(t,e,n){var r=!0,o=t.component;return"mousedown"===e&&(r=!1!==a["ɵnov"](t,2).onMousedown(n)&&r),"mousedown"===e&&(r=!1!==a["ɵnov"](t,3).onMouseDown(n)&&r),"contextmenu"===e&&(r=!1!==a["ɵnov"](t,4).onContextmenu(n)&&r),"resize"===e&&(r=!1!==o.onColumnResized(n,t.context.$implicit)&&r),"longPressStart"===e&&(r=!1!==o.onLongPressStart(n)&&r),"longPressEnd"===e&&(r=!1!==o.onLongPressEnd(n)&&r),"sort"===e&&(r=!1!==o.onSort(n)&&r),"select"===e&&(r=!1!==o.select.emit(n)&&r),"columnContextmenu"===e&&(r=!1!==o.columnContextmenu.emit(n)&&r),r}),I,P)),a["ɵdid"](1,671744,[[1,4]],0,N.DraggableDirective,[a.ElementRef],{dragEventTarget:[0,"dragEventTarget"],dragModel:[1,"dragModel"],dragX:[2,"dragX"],dragY:[3,"dragY"]},null),a["ɵdid"](2,4341760,null,0,R.ResizeableDirective,[a.ElementRef,a.Renderer2],{resizeEnabled:[0,"resizeEnabled"]},{resize:"resize"}),a["ɵdid"](3,147456,null,0,A.LongPressDirective,[],{pressEnabled:[0,"pressEnabled"],pressModel:[1,"pressModel"]},{longPressStart:"longPressStart",longPressEnd:"longPressEnd"}),a["ɵdid"](4,49152,null,0,C.DataTableHeaderCellComponent,[a.ChangeDetectorRef],{sortType:[0,"sortType"],sortAscendingIcon:[1,"sortAscendingIcon"],sortDescendingIcon:[2,"sortDescendingIcon"],isTarget:[3,"isTarget"],targetMarkerTemplate:[4,"targetMarkerTemplate"],targetMarkerContext:[5,"targetMarkerContext"],allRowsSelected:[6,"allRowsSelected"],selectionType:[7,"selectionType"],column:[8,"column"],headerHeight:[9,"headerHeight"],sorts:[10,"sorts"]},{sort:"sort",select:"select",columnContextmenu:"columnContextmenu"})],(function(t,e){var n=e.component;t(e,1,0,n.dragEventTarget,e.context.$implicit,n.reorderable&&e.context.$implicit.draggable&&e.context.$implicit.dragging,!1),t(e,2,0,e.context.$implicit.resizeable),t(e,3,0,n.reorderable&&e.context.$implicit.draggable,e.context.$implicit),t(e,4,1,[n.sortType,n.sortAscendingIcon,n.sortDescendingIcon,e.context.$implicit.isTarget,n.targetMarkerTemplate,e.context.$implicit.targetMarkerContext,n.allRowsSelected,n.selectionType,e.context.$implicit,n.headerHeight,n.sorts])}),(function(t,e){t(e,0,0,a["ɵnov"](e,2).resizeEnabled,a["ɵnov"](e,3).press,a["ɵnov"](e,3).isLongPress,a["ɵnov"](e,4).headerHeight,a["ɵnov"](e,4).columnCssClasses,a["ɵnov"](e,4).name,a["ɵnov"](e,4).minWidth,a["ɵnov"](e,4).maxWidth,a["ɵnov"](e,4).width)}))}function j(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,4,"div",[],[[8,"className",0]],null,null,null,null)),a["ɵprd"](512,null,s["ɵNgStyleImpl"],s["ɵNgStyleR2Impl"],[a.ElementRef,a.KeyValueDiffers,a.Renderer2]),a["ɵdid"](2,278528,null,0,s.NgStyle,[s["ɵNgStyleImpl"]],{ngStyle:[0,"ngStyle"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,q)),a["ɵdid"](4,278528,null,0,s.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"],ngForTrackBy:[1,"ngForTrackBy"]},null)],(function(t,e){var n=e.component;t(e,2,0,n._styleByGroup[e.context.$implicit.type]),t(e,4,0,e.context.$implicit.columns,n.columnTrackingFn)}),(function(t,e){t(e,0,0,"datatable-row-"+e.context.$implicit.type)}))}function F(t){return a["ɵvid"](2,[(t()(),a["ɵeld"](0,0,null,null,4,"div",[["class","datatable-header-inner"],["orderable",""]],[[4,"width","px"]],[[null,"reorder"],[null,"targetChanged"]],(function(t,e,n){var a=!0,r=t.component;return"reorder"===e&&(a=!1!==r.onColumnReordered(n)&&a),"targetChanged"===e&&(a=!1!==r.onTargetChanged(n)&&a),a}),null,null)),a["ɵdid"](1,1196032,null,1,E.OrderableDirective,[a.KeyValueDiffers,s.DOCUMENT],null,{reorder:"reorder",targetChanged:"targetChanged"}),a["ɵqud"](603979776,1,{draggables:1}),(t()(),a["ɵand"](16777216,null,null,1,null,j)),a["ɵdid"](4,278528,null,0,s.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"],ngForTrackBy:[1,"ngForTrackBy"]},null)],(function(t,e){var n=e.component;t(e,4,0,n._columnsByPin,n.trackByGroups)}),(function(t,e){t(e,0,0,e.component._columnGroupWidths.total)}))}var z=n("Ahxa"),V=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function G(t){return a["ɵvid"](0,[(t()(),a["ɵand"](0,null,null,0))],null,null)}function Y(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,2,null,G)),a["ɵdid"](1,540672,null,0,s.NgTemplateOutlet,[a.ViewContainerRef],{ngTemplateOutletContext:[0,"ngTemplateOutletContext"],ngTemplateOutlet:[1,"ngTemplateOutlet"]},null),a["ɵpod"](2,{rowCount:0,pageSize:1,selectedCount:2,curPage:3,offset:4}),(t()(),a["ɵand"](0,null,null,0))],(function(t,e){var n=e.component,a=t(e,2,0,n.rowCount,n.pageSize,n.selectedCount,n.curPage,n.offset);t(e,1,0,a,n.footerTemplate.template)}),null)}function B(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),a["ɵted"](1,null,[" "," "," / "]))],null,(function(t,e){var n=e.component;t(e,1,0,null==n.selectedCount?null:n.selectedCount.toLocaleString(),n.selectedMessage)}))}function H(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"div",[["class","page-count"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,B)),a["ɵdid"](2,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵted"](3,null,[" "," "," "]))],(function(t,e){t(e,2,0,e.component.selectedMessage)}),(function(t,e){var n=e.component;t(e,3,0,null==n.rowCount?null:n.rowCount.toLocaleString(),n.totalMessage)}))}function U(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"datatable-pager",[["class","datatable-pager"]],[[8,"hidden",0]],[[null,"change"]],(function(t,e,n){var a=!0;return"change"===e&&(a=!1!==t.component.page.emit(n)&&a),a}),p,g)),a["ɵdid"](1,49152,null,0,u.DataTablePagerComponent,[],{pagerLeftArrowIcon:[0,"pagerLeftArrowIcon"],pagerRightArrowIcon:[1,"pagerRightArrowIcon"],pagerPreviousIcon:[2,"pagerPreviousIcon"],pagerNextIcon:[3,"pagerNextIcon"],size:[4,"size"],count:[5,"count"],page:[6,"page"]},{change:"change"})],(function(t,e){var n=e.component;t(e,1,0,n.pagerLeftArrowIcon,n.pagerRightArrowIcon,n.pagerPreviousIcon,n.pagerNextIcon,n.pageSize,n.rowCount,n.curPage)}),(function(t,e){t(e,0,0,!e.component.isVisible)}))}function W(t){return a["ɵvid"](2,[(t()(),a["ɵeld"](0,0,null,null,9,"div",[["class","datatable-footer-inner"]],[[4,"height","px"]],null,null,null,null)),a["ɵprd"](512,null,s["ɵNgClassImpl"],s["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](2,278528,null,0,s.NgClass,[s["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),a["ɵpod"](3,{"selected-count":0}),(t()(),a["ɵand"](16777216,null,null,1,null,Y)),a["ɵdid"](5,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,H)),a["ɵdid"](7,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,U)),a["ɵdid"](9,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component,a=t(e,3,0,n.selectedMessage);t(e,2,0,"datatable-footer-inner",a),t(e,5,0,n.footerTemplate),t(e,7,0,!n.footerTemplate),t(e,9,0,!n.footerTemplate)}),(function(t,e){t(e,0,0,e.component.footerHeight)}))}var K=n("uKs4"),$=n("PNOi"),Z=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function J(t){return a["ɵvid"](2,[(t()(),a["ɵeld"](0,0,null,null,2,"div",[["class","progress-linear"],["role","progressbar"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,1,"div",[["class","container"]],null,null,null,null,null)),(t()(),a["ɵeld"](2,0,null,null,0,"div",[["class","bar"]],null,null,null,null,null))],null,null)}var X=n("YVFZ"),Q=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function tt(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"label",[["class","datatable-checkbox"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,0,"input",[["type","checkbox"]],[[8,"checked",0]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.onCheckboxChange(n)&&a),a}),null,null))],null,(function(t,e){t(e,1,0,e.component.isSelected)}))}function et(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,0,"i",[["class","icon datatable-icon-collapse"]],null,null,null,null,null))],null,null)}function nt(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,0,"i",[["class","icon datatable-icon-up"]],null,null,null,null,null))],null,null)}function at(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,0,"i",[["class","icon datatable-icon-down"]],null,null,null,null,null))],null,null)}function rt(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,7,"button",[["class","datatable-tree-button"]],[[8,"disabled",0]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.onTreeAction()&&a),a}),null,null)),(t()(),a["ɵeld"](1,0,null,null,6,"span",[],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,et)),a["ɵdid"](3,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,nt)),a["ɵdid"](5,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,at)),a["ɵdid"](7,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,3,0,"loading"===n.treeStatus),t(e,5,0,"collapsed"===n.treeStatus),t(e,7,0,"expanded"===n.treeStatus||"disabled"===n.treeStatus)}),(function(t,e){t(e,0,0,"disabled"===e.component.treeStatus)}))}function ot(t){return a["ɵvid"](0,[(t()(),a["ɵand"](0,null,null,0))],null,null)}function it(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,2,null,ot)),a["ɵdid"](1,540672,null,0,s.NgTemplateOutlet,[a.ViewContainerRef],{ngTemplateOutletContext:[0,"ngTemplateOutletContext"],ngTemplateOutlet:[1,"ngTemplateOutlet"]},null),a["ɵpod"](2,{cellContext:0}),(t()(),a["ɵand"](0,null,null,0))],(function(t,e){var n=e.component,a=t(e,2,0,n.cellContext);t(e,1,0,a,n.column.treeToggleTemplate)}),null)}function st(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,4,null,null,null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,rt)),a["ɵdid"](2,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,it)),a["ɵdid"](4,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](0,null,null,0))],(function(t,e){var n=e.component;t(e,2,0,!n.column.treeToggleTemplate),t(e,4,0,n.column.treeToggleTemplate)}),null)}function ct(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,0,"span",[],[[8,"title",0],[8,"innerHTML",1]],null,null,null,null))],null,(function(t,e){var n=e.component;t(e,0,0,n.sanitizedValue,n.value)}))}function lt(t){return a["ɵvid"](0,[(t()(),a["ɵand"](0,null,null,0))],null,null)}function dt(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,[[1,3],["cellTemplate",2]],null,1,null,lt)),a["ɵdid"](1,540672,null,0,s.NgTemplateOutlet,[a.ViewContainerRef],{ngTemplateOutletContext:[0,"ngTemplateOutletContext"],ngTemplateOutlet:[1,"ngTemplateOutlet"]},null),(t()(),a["ɵand"](0,null,null,0))],(function(t,e){var n=e.component;t(e,1,0,n.cellContext,n.column.cellTemplate)}),null)}function ut(t){return a["ɵvid"](2,[a["ɵqud"](402653184,1,{cellTemplate:0}),(t()(),a["ɵeld"](1,0,null,null,8,"div",[["class","datatable-body-cell-label"]],[[4,"margin-left","px"]],null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,tt)),a["ɵdid"](3,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,st)),a["ɵdid"](5,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,ct)),a["ɵdid"](7,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,dt)),a["ɵdid"](9,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,3,0,n.column.checkboxable&&(!n.displayCheck||n.displayCheck(n.row,n.column,n.value))),t(e,5,0,n.column.isTreeColumn),t(e,7,0,!n.column.cellTemplate),t(e,9,0,n.column.cellTemplate)}),(function(t,e){var n=e.component;t(e,1,0,n.calcLeftMargin(n.column,n.row))}))}var gt=n("syrc"),ft=n("FO+L"),pt=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function mt(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"datatable-body-cell",[["tabindex","-1"]],[[8,"className",0],[4,"width","px"],[4,"minWidth","px"],[4,"maxWidth","px"],[4,"height",null]],[[null,"activate"],[null,"treeAction"],[null,"focus"],[null,"blur"],[null,"click"],[null,"dblclick"],[null,"keydown"]],(function(t,e,n){var r=!0,o=t.component;return"focus"===e&&(r=!1!==a["ɵnov"](t,1).onFocus()&&r),"blur"===e&&(r=!1!==a["ɵnov"](t,1).onBlur()&&r),"click"===e&&(r=!1!==a["ɵnov"](t,1).onClick(n)&&r),"dblclick"===e&&(r=!1!==a["ɵnov"](t,1).onDblClick(n)&&r),"keydown"===e&&(r=!1!==a["ɵnov"](t,1).onKeyDown(n)&&r),"activate"===e&&(r=!1!==o.onActivate(n,t.context.index)&&r),"treeAction"===e&&(r=!1!==o.onTreeAction()&&r),r}),ut,Q)),a["ɵdid"](1,442368,null,0,X.DataTableBodyCellComponent,[a.ElementRef,a.ChangeDetectorRef],{displayCheck:[0,"displayCheck"],group:[1,"group"],rowHeight:[2,"rowHeight"],isSelected:[3,"isSelected"],expanded:[4,"expanded"],rowIndex:[5,"rowIndex"],column:[6,"column"],row:[7,"row"],treeStatus:[8,"treeStatus"]},{activate:"activate",treeAction:"treeAction"})],(function(t,e){var n=e.component;t(e,1,0,n.displayCheck,n.group,n.rowHeight,n.isSelected,n.expanded,n.rowIndex,e.context.$implicit,n.row,n.treeStatus)}),(function(t,e){t(e,0,0,a["ɵnov"](e,1).columnCssClasses,a["ɵnov"](e,1).width,a["ɵnov"](e,1).minWidth,a["ɵnov"](e,1).maxWidth,a["ɵnov"](e,1).height)}))}function ht(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,4,"div",[],[[8,"className",0]],null,null,null,null)),a["ɵprd"](512,null,s["ɵNgStyleImpl"],s["ɵNgStyleR2Impl"],[a.ElementRef,a.KeyValueDiffers,a.Renderer2]),a["ɵdid"](2,278528,null,0,s.NgStyle,[s["ɵNgStyleImpl"]],{ngStyle:[0,"ngStyle"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,mt)),a["ɵdid"](4,278528,null,0,s.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"],ngForTrackBy:[1,"ngForTrackBy"]},null)],(function(t,e){var n=e.component;t(e,2,0,n._groupStyles[e.context.$implicit.type]),t(e,4,0,e.context.$implicit.columns,n.columnTrackingFn)}),(function(t,e){t(e,0,0,a["ɵinlineInterpolate"](1,"datatable-row-",e.context.$implicit.type," datatable-row-group"))}))}function bt(t){return a["ɵvid"](2,[(t()(),a["ɵand"](16777216,null,null,1,null,ht)),a["ɵdid"](1,278528,null,0,s.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"],ngForTrackBy:[1,"ngForTrackBy"]},null)],(function(t,e){var n=e.component;t(e,1,0,n._columnsByPin,n.trackByGroups)}),null)}var _t=n("rLYq"),yt=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function Ot(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"datatable-body-row",[["tabindex","-1"]],[[8,"className",0],[4,"height","px"],[4,"width","px"]],[[null,"keydown"],[null,"mouseenter"]],(function(t,e,n){var r=!0;return"keydown"===e&&(r=!1!==a["ɵnov"](t,1).onKeyDown(n)&&r),"mouseenter"===e&&(r=!1!==a["ɵnov"](t,1).onMouseenter(n)&&r),r}),bt,pt)),a["ɵdid"](1,311296,null,0,gt.DataTableBodyRowComponent,[a.KeyValueDiffers,[1,ft.ScrollbarHelper],a.ChangeDetectorRef,a.ElementRef],{columns:[0,"columns"],innerWidth:[1,"innerWidth"],row:[2,"row"],rowIndex:[3,"rowIndex"],offsetX:[4,"offsetX"],rowHeight:[5,"rowHeight"]},null)],(function(t,e){var n=e.component;t(e,1,0,n._internalColumns,n.innerWidth,n.summaryRow,-1,n.offsetX,n.rowHeight)}),(function(t,e){t(e,0,0,a["ɵnov"](e,1).cssClass,a["ɵnov"](e,1).rowHeight,a["ɵnov"](e,1).columnsTotalWidths)}))}function vt(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,1,null,Ot)),a["ɵdid"](1,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0,n.summaryRow&&n._internalColumns)}),null)}var Ct=n("Mfce"),Pt=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function Mt(t){return a["ɵvid"](0,[(t()(),a["ɵand"](0,null,null,0))],null,null)}function xt(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,1,null,Mt)),a["ɵdid"](1,540672,null,0,s.NgTemplateOutlet,[a.ViewContainerRef],{ngTemplateOutletContext:[0,"ngTemplateOutletContext"],ngTemplateOutlet:[1,"ngTemplateOutlet"]},null),(t()(),a["ɵand"](0,null,null,0))],(function(t,e){var n=e.component;t(e,1,0,n.groupContext,n.groupHeader.template)}),null)}function wt(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,4,"div",[["class","datatable-group-header"]],null,null,null,null,null)),a["ɵprd"](512,null,s["ɵNgStyleImpl"],s["ɵNgStyleR2Impl"],[a.ElementRef,a.KeyValueDiffers,a.Renderer2]),a["ɵdid"](2,278528,null,0,s.NgStyle,[s["ɵNgStyleImpl"]],{ngStyle:[0,"ngStyle"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,xt)),a["ɵdid"](4,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,2,0,n.getGroupHeaderStyle()),t(e,4,0,n.groupHeader&&n.groupHeader.template)}),null)}function Tt(t){return a["ɵvid"](0,[a["ɵncd"](null,0),(t()(),a["ɵand"](0,null,null,0))],null,null)}function kt(t){return a["ɵvid"](0,[(t()(),a["ɵand"](0,null,null,0))],null,null)}function St(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,1,null,kt)),a["ɵdid"](1,540672,null,0,s.NgTemplateOutlet,[a.ViewContainerRef],{ngTemplateOutletContext:[0,"ngTemplateOutletContext"],ngTemplateOutlet:[1,"ngTemplateOutlet"]},null),(t()(),a["ɵand"](0,null,null,0))],(function(t,e){var n=e.component;t(e,1,0,n.rowContext,n.rowDetail.template)}),null)}function It(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"div",[["class","datatable-row-detail"]],[[4,"height","px"]],null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,St)),a["ɵdid"](2,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,2,0,n.rowDetail&&n.rowDetail.template)}),(function(t,e){t(e,0,0,e.component.detailRowHeight)}))}function Nt(t){return a["ɵvid"](2,[(t()(),a["ɵand"](16777216,null,null,1,null,wt)),a["ɵdid"](1,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,Tt)),a["ɵdid"](3,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,It)),a["ɵdid"](5,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0,n.groupHeader&&n.groupHeader.template),t(e,3,0,n.groupHeader&&n.groupHeader.template&&n.expanded||!n.groupHeader||!n.groupHeader.template),t(e,5,0,n.rowDetail&&n.rowDetail.template&&n.expanded)}),null)}var Rt=n("SfHT"),At=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function Et(t){return a["ɵvid"](2,[a["ɵncd"](null,0)],null,null)}var Dt=n("7F1K"),Lt=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function qt(t){return a["ɵvid"](2,[a["ɵncd"](null,0)],null,null)}var jt=n("IPm6"),Ft=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function zt(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"datatable-progress",[],null,null,null,J,Z)),a["ɵdid"](1,49152,null,0,$.ProgressBarComponent,[],null,null)],null,null)}function Vt(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"datatable-summary-row",[["class","datatable-summary-row"]],null,null,null,vt,yt)),a["ɵdid"](1,573440,null,0,_t.DataTableSummaryRowComponent,[],{rows:[0,"rows"],columns:[1,"columns"],rowHeight:[2,"rowHeight"],offsetX:[3,"offsetX"],innerWidth:[4,"innerWidth"]},null)],(function(t,e){var n=e.component;t(e,1,0,n.rows,n.columns,n.summaryHeight,n.offsetX,n.innerWidth)}),null)}function Gt(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"datatable-body-row",[["tabindex","-1"]],[[8,"className",0],[4,"height","px"],[4,"width","px"]],[[null,"treeAction"],[null,"activate"],[null,"keydown"],[null,"mouseenter"]],(function(t,e,n){var r=!0,o=t.component;return"keydown"===e&&(r=!1!==a["ɵnov"](t,1).onKeyDown(n)&&r),"mouseenter"===e&&(r=!1!==a["ɵnov"](t,1).onMouseenter(n)&&r),"treeAction"===e&&(r=!1!==o.onTreeAction(t.parent.context.$implicit)&&r),"activate"===e&&(r=!1!==a["ɵnov"](t.parent.parent.parent,2).onActivate(n,o.indexes.first+t.parent.context.index)&&r),r}),bt,pt)),a["ɵdid"](1,311296,null,0,gt.DataTableBodyRowComponent,[a.KeyValueDiffers,[1,ft.ScrollbarHelper],a.ChangeDetectorRef,a.ElementRef],{columns:[0,"columns"],innerWidth:[1,"innerWidth"],expanded:[2,"expanded"],rowClass:[3,"rowClass"],row:[4,"row"],isSelected:[5,"isSelected"],rowIndex:[6,"rowIndex"],displayCheck:[7,"displayCheck"],treeStatus:[8,"treeStatus"],offsetX:[9,"offsetX"],rowHeight:[10,"rowHeight"]},{activate:"activate",treeAction:"treeAction"})],(function(t,e){var n=e.component;t(e,1,1,[n.columns,n.innerWidth,n.getRowExpanded(e.parent.context.$implicit),n.rowClass,e.parent.context.$implicit,a["ɵnov"](e.parent.parent.parent,2).getRowSelected(e.parent.context.$implicit),n.getRowIndex(e.parent.context.$implicit),n.displayCheck,e.parent.context.$implicit.treeStatus,n.offsetX,n.getRowHeight(e.parent.context.$implicit)])}),(function(t,e){t(e,0,0,a["ɵnov"](e,1).cssClass,a["ɵnov"](e,1).rowHeight,a["ɵnov"](e,1).columnsTotalWidths)}))}function Yt(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"datatable-body-row",[["tabindex","-1"]],[[8,"className",0],[4,"height","px"],[4,"width","px"]],[[null,"activate"],[null,"keydown"],[null,"mouseenter"]],(function(t,e,n){var r=!0;return"keydown"===e&&(r=!1!==a["ɵnov"](t,1).onKeyDown(n)&&r),"mouseenter"===e&&(r=!1!==a["ɵnov"](t,1).onMouseenter(n)&&r),"activate"===e&&(r=!1!==a["ɵnov"](t.parent.parent.parent.parent,2).onActivate(n,t.context.index)&&r),r}),bt,pt)),a["ɵdid"](1,311296,null,0,gt.DataTableBodyRowComponent,[a.KeyValueDiffers,[1,ft.ScrollbarHelper],a.ChangeDetectorRef,a.ElementRef],{columns:[0,"columns"],innerWidth:[1,"innerWidth"],expanded:[2,"expanded"],rowClass:[3,"rowClass"],row:[4,"row"],group:[5,"group"],isSelected:[6,"isSelected"],rowIndex:[7,"rowIndex"],offsetX:[8,"offsetX"],rowHeight:[9,"rowHeight"]},{activate:"activate"})],(function(t,e){var n=e.component;t(e,1,0,n.columns,n.innerWidth,n.getRowExpanded(e.context.$implicit),n.rowClass,e.context.$implicit,e.parent.parent.context.$implicit.value,a["ɵnov"](e.parent.parent.parent.parent,2).getRowSelected(e.context.$implicit),n.getRowIndex(e.context.$implicit),n.offsetX,n.getRowHeight(e.context.$implicit))}),(function(t,e){t(e,0,0,a["ɵnov"](e,1).cssClass,a["ɵnov"](e,1).rowHeight,a["ɵnov"](e,1).columnsTotalWidths)}))}function Bt(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,1,null,Yt)),a["ɵdid"](1,278528,null,0,s.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"],ngForTrackBy:[1,"ngForTrackBy"]},null),(t()(),a["ɵand"](0,null,null,0))],(function(t,e){t(e,1,0,e.parent.context.$implicit.value,e.component.rowTrackingFn)}),null)}function Ht(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,6,"datatable-row-wrapper",[["class","datatable-row-wrapper"]],null,[[null,"rowContextmenu"],[null,"contextmenu"]],(function(t,e,n){var r=!0,o=t.component;return"contextmenu"===e&&(r=!1!==a["ɵnov"](t,3).onContextmenu(n)&&r),"rowContextmenu"===e&&(r=!1!==o.rowContextmenu.emit(n)&&r),r}),Nt,Pt)),a["ɵprd"](512,null,s["ɵNgStyleImpl"],s["ɵNgStyleR2Impl"],[a.ElementRef,a.KeyValueDiffers,a.Renderer2]),a["ɵdid"](2,278528,null,0,s.NgStyle,[s["ɵNgStyleImpl"]],{ngStyle:[0,"ngStyle"]},null),a["ɵdid"](3,311296,null,0,Ct.DataTableRowWrapperComponent,[a.ChangeDetectorRef,a.KeyValueDiffers],{innerWidth:[0,"innerWidth"],rowDetail:[1,"rowDetail"],groupHeader:[2,"groupHeader"],offsetX:[3,"offsetX"],detailRowHeight:[4,"detailRowHeight"],row:[5,"row"],groupedRows:[6,"groupedRows"],rowIndex:[7,"rowIndex"],expanded:[8,"expanded"]},{rowContextmenu:"rowContextmenu"}),(t()(),a["ɵand"](16777216,null,0,1,null,Gt)),a["ɵdid"](5,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"],ngIfElse:[1,"ngIfElse"]},null),(t()(),a["ɵand"](0,[["groupedRowsTemplate",2]],0,0,null,Bt))],(function(t,e){var n=e.component;t(e,2,0,n.getRowsStyles(e.context.$implicit)),t(e,3,0,n.innerWidth,n.rowDetail,n.groupHeader,n.offsetX,n.getDetailRowHeight(e.context.$implicit[e.context.index],e.context.index),e.context.$implicit,n.groupedRows,n.getRowIndex(e.context.$implicit[e.context.index]),n.getRowExpanded(e.context.$implicit)),t(e,5,0,!n.groupedRows,a["ɵnov"](e,6))}),null)}function Ut(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"datatable-summary-row",[["class","datatable-summary-row"]],null,null,null,vt,yt)),a["ɵprd"](512,null,s["ɵNgStyleImpl"],s["ɵNgStyleR2Impl"],[a.ElementRef,a.KeyValueDiffers,a.Renderer2]),a["ɵdid"](2,278528,null,0,s.NgStyle,[s["ɵNgStyleImpl"]],{ngStyle:[0,"ngStyle"]},null),a["ɵdid"](3,573440,null,0,_t.DataTableSummaryRowComponent,[],{rows:[0,"rows"],columns:[1,"columns"],rowHeight:[2,"rowHeight"],offsetX:[3,"offsetX"],innerWidth:[4,"innerWidth"]},null)],(function(t,e){var n=e.component;t(e,2,0,n.getBottomSummaryRowStyles()),t(e,3,0,n.rows,n.columns,n.summaryHeight,n.offsetX,n.innerWidth)}),null)}function Wt(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,7,"datatable-scroller",[["class","datatable-scroll"]],[[4,"height","px"],[4,"width","px"]],[[null,"scroll"]],(function(t,e,n){var a=!0;return"scroll"===e&&(a=!1!==t.component.onBodyScroll(n)&&a),a}),Et,At)),a["ɵdid"](1,245760,[[1,4]],0,Rt.ScrollerComponent,[a.NgZone,a.ElementRef,a.Renderer2],{scrollbarV:[0,"scrollbarV"],scrollbarH:[1,"scrollbarH"],scrollHeight:[2,"scrollHeight"],scrollWidth:[3,"scrollWidth"]},{scroll:"scroll"}),(t()(),a["ɵand"](16777216,null,0,1,null,Vt)),a["ɵdid"](3,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,0,1,null,Ht)),a["ɵdid"](5,278528,null,0,s.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"],ngForTrackBy:[1,"ngForTrackBy"]},null),(t()(),a["ɵand"](16777216,null,0,1,null,Ut)),a["ɵdid"](7,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0,n.scrollbarV,n.scrollbarH,n.scrollHeight,null==n.columnGroupWidths?null:n.columnGroupWidths.total),t(e,3,0,n.summaryRow&&"top"===n.summaryPosition),t(e,5,0,n.temp,n.rowTrackingFn),t(e,7,0,n.summaryRow&&"bottom"===n.summaryPosition)}),(function(t,e){t(e,0,0,a["ɵnov"](e,1).scrollHeight,a["ɵnov"](e,1).scrollWidth)}))}function Kt(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,0,"div",[["class","empty-row"]],[[8,"innerHTML",1]],null,null,null,null))],null,(function(t,e){t(e,0,0,e.component.emptyMessage)}))}function $t(t){return a["ɵvid"](2,[a["ɵqud"](671088640,1,{scroller:0}),(t()(),a["ɵeld"](1,0,null,null,7,"datatable-selection",[],null,[[null,"select"],[null,"activate"]],(function(t,e,n){var a=!0,r=t.component;return"select"===e&&(a=!1!==r.select.emit(n)&&a),"activate"===e&&(a=!1!==r.activate.emit(n)&&a),a}),qt,Lt)),a["ɵdid"](2,49152,[["selector",4]],0,Dt.DataTableSelectionComponent,[],{rows:[0,"rows"],selected:[1,"selected"],selectEnabled:[2,"selectEnabled"],selectionType:[3,"selectionType"],rowIdentity:[4,"rowIdentity"],selectCheck:[5,"selectCheck"]},{activate:"activate",select:"select"}),(t()(),a["ɵand"](16777216,null,0,1,null,zt)),a["ɵdid"](4,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,0,1,null,Wt)),a["ɵdid"](6,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,0,1,null,Kt)),a["ɵdid"](8,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,2,0,n.rows,n.selected,n.selectEnabled,n.selectionType,n.rowIdentity,n.selectCheck),t(e,4,0,n.loadingIndicator),t(e,6,0,null==n.rows?null:n.rows.length),t(e,8,0,!(null!=n.rows&&n.rows.length||n.loadingIndicator))}),null)}var Zt=n("3/HP"),Jt=n("nhM1"),Xt=n("BARL"),Qt=a["ɵcrt"]({encapsulation:2,styles:[[".ngx-datatable{display:block;overflow:hidden;justify-content:center;position:relative;-webkit-transform:translate3d(0,0,0)}.ngx-datatable [hidden]{display:none!important}.ngx-datatable *,.ngx-datatable :after,.ngx-datatable :before{box-sizing:border-box}.ngx-datatable.scroll-vertical .datatable-body{overflow-y:auto}.ngx-datatable.scroll-vertical.virtualized .datatable-body .datatable-row-wrapper{position:absolute}.ngx-datatable.scroll-horz .datatable-body{overflow-x:auto;-webkit-overflow-scrolling:touch}.ngx-datatable.fixed-header .datatable-header .datatable-header-inner{white-space:nowrap}.ngx-datatable.fixed-header .datatable-header .datatable-header-inner .datatable-header-cell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ngx-datatable.fixed-row .datatable-scroll,.ngx-datatable.fixed-row .datatable-scroll .datatable-body-row{white-space:nowrap}.ngx-datatable.fixed-row .datatable-scroll .datatable-body-row .datatable-body-cell,.ngx-datatable.fixed-row .datatable-scroll .datatable-body-row .datatable-body-group-cell{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ngx-datatable .datatable-body-row,.ngx-datatable .datatable-header-inner,.ngx-datatable .datatable-row-center{display:flex;flex-direction:row;-o-flex-flow:row;flex-flow:row}.ngx-datatable .datatable-body-cell,.ngx-datatable .datatable-header-cell{overflow-x:hidden;vertical-align:top;display:inline-block;line-height:1.625}.ngx-datatable .datatable-body-cell:focus,.ngx-datatable .datatable-header-cell:focus{outline:0}.ngx-datatable .datatable-row-left,.ngx-datatable .datatable-row-right{z-index:9}.ngx-datatable .datatable-row-center,.ngx-datatable .datatable-row-group,.ngx-datatable .datatable-row-left,.ngx-datatable .datatable-row-right{position:relative}.ngx-datatable .datatable-header{display:block;overflow:hidden}.ngx-datatable .datatable-header .datatable-header-inner{align-items:stretch;-webkit-align-items:stretch}.ngx-datatable .datatable-header .datatable-header-cell{position:relative;display:inline-block}.ngx-datatable .datatable-header .datatable-header-cell.sortable .datatable-header-cell-wrapper{cursor:pointer}.ngx-datatable .datatable-header .datatable-header-cell.longpress .datatable-header-cell-wrapper{cursor:move}.ngx-datatable .datatable-header .datatable-header-cell .sort-btn{line-height:100%;vertical-align:middle;display:inline-block;cursor:pointer}.ngx-datatable .datatable-header .datatable-header-cell .resize-handle,.ngx-datatable .datatable-header .datatable-header-cell .resize-handle--not-resizable{display:inline-block;position:absolute;right:0;top:0;bottom:0;width:5px;padding:0 4px;visibility:hidden}.ngx-datatable .datatable-header .datatable-header-cell .resize-handle{cursor:ew-resize}.ngx-datatable .datatable-header .datatable-header-cell.resizeable:hover .resize-handle,.ngx-datatable .datatable-header .datatable-header-cell:hover .resize-handle--not-resizable{visibility:visible}.ngx-datatable .datatable-header .datatable-header-cell .targetMarker{position:absolute;top:0;bottom:0}.ngx-datatable .datatable-header .datatable-header-cell .targetMarker.dragFromLeft{right:0}.ngx-datatable .datatable-header .datatable-header-cell .targetMarker.dragFromRight{left:0}.ngx-datatable .datatable-header .datatable-header-cell .datatable-header-cell-template-wrap{height:inherit}.ngx-datatable .datatable-body{position:relative;z-index:10;display:block}.ngx-datatable .datatable-body .datatable-scroll{display:inline-block}.ngx-datatable .datatable-body .datatable-row-detail{overflow-y:hidden}.ngx-datatable .datatable-body .datatable-row-wrapper{display:flex;flex-direction:column}.ngx-datatable .datatable-body .datatable-body-row{outline:0}.ngx-datatable .datatable-body .datatable-body-row>div{display:flex}.ngx-datatable .datatable-footer{display:block;width:100%}.ngx-datatable .datatable-footer .datatable-footer-inner{display:flex;align-items:center;width:100%}.ngx-datatable .datatable-footer .selected-count .page-count{flex:1 1 40%}.ngx-datatable .datatable-footer .selected-count .datatable-pager{flex:1 1 60%}.ngx-datatable .datatable-footer .page-count{flex:1 1 20%}.ngx-datatable .datatable-footer .datatable-pager{flex:1 1 80%;text-align:right}.ngx-datatable .datatable-footer .datatable-pager .pager,.ngx-datatable .datatable-footer .datatable-pager .pager li{padding:0;margin:0;display:inline-block;list-style:none}.ngx-datatable .datatable-footer .datatable-pager .pager li,.ngx-datatable .datatable-footer .datatable-pager .pager li a{outline:0}.ngx-datatable .datatable-footer .datatable-pager .pager li a{cursor:pointer;display:inline-block}.ngx-datatable .datatable-footer .datatable-pager .pager li.disabled a{cursor:not-allowed}"]],data:{}});function te(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"datatable-header",[["class","datatable-header"]],[[4,"height",null],[4,"width",null]],[[null,"sort"],[null,"resize"],[null,"reorder"],[null,"select"],[null,"columnContextmenu"]],(function(t,e,n){var a=!0,r=t.component;return"sort"===e&&(a=!1!==r.onColumnSort(n)&&a),"resize"===e&&(a=!1!==r.onColumnResize(n)&&a),"reorder"===e&&(a=!1!==r.onColumnReorder(n)&&a),"select"===e&&(a=!1!==r.onHeaderSelect(n)&&a),"columnContextmenu"===e&&(a=!1!==r.onColumnContextmenu(n)&&a),a}),F,L)),a["ɵdid"](1,49152,[[2,4]],0,D.DataTableHeaderComponent,[a.ChangeDetectorRef],{sortAscendingIcon:[0,"sortAscendingIcon"],sortDescendingIcon:[1,"sortDescendingIcon"],scrollbarH:[2,"scrollbarH"],dealsWithGroup:[3,"dealsWithGroup"],targetMarkerTemplate:[4,"targetMarkerTemplate"],innerWidth:[5,"innerWidth"],sorts:[6,"sorts"],sortType:[7,"sortType"],allRowsSelected:[8,"allRowsSelected"],selectionType:[9,"selectionType"],reorderable:[10,"reorderable"],headerHeight:[11,"headerHeight"],columns:[12,"columns"],offsetX:[13,"offsetX"]},{sort:"sort",reorder:"reorder",resize:"resize",select:"select",columnContextmenu:"columnContextmenu"}),a["ɵpid"](131072,s.AsyncPipe,[a.ChangeDetectorRef])],(function(t,e){var n=e.component;t(e,1,1,[n.cssClasses.sortAscending,n.cssClasses.sortDescending,n.scrollbarH,n.groupedRows,n.targetMarkerTemplate,n._innerWidth,n.sorts,n.sortType,n.allRowsSelected,n.selectionType,n.reorderable,n.headerHeight,n._internalColumns,a["ɵunv"](e,1,13,a["ɵnov"](e,2).transform(n._offsetX))])}),(function(t,e){t(e,0,0,a["ɵnov"](e,1).headerHeight,a["ɵnov"](e,1).headerWidth)}))}function ee(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"datatable-footer",[["class","datatable-footer"]],null,[[null,"page"]],(function(t,e,n){var a=!0;return"page"===e&&(a=!1!==t.component.onFooterPage(n)&&a),a}),W,V)),a["ɵdid"](1,49152,null,0,z.DataTableFooterComponent,[],{footerHeight:[0,"footerHeight"],rowCount:[1,"rowCount"],pageSize:[2,"pageSize"],offset:[3,"offset"],pagerLeftArrowIcon:[4,"pagerLeftArrowIcon"],pagerRightArrowIcon:[5,"pagerRightArrowIcon"],pagerPreviousIcon:[6,"pagerPreviousIcon"],pagerNextIcon:[7,"pagerNextIcon"],totalMessage:[8,"totalMessage"],footerTemplate:[9,"footerTemplate"],selectedCount:[10,"selectedCount"],selectedMessage:[11,"selectedMessage"]},{page:"page"})],(function(t,e){var n=e.component;t(e,1,1,[n.footerHeight,n.rowCount,n.pageSize,n.offset,n.cssClasses.pagerLeftArrow,n.cssClasses.pagerRightArrow,n.cssClasses.pagerPrevious,n.cssClasses.pagerNext,n.messages.totalMessage,n.footer,n.selected.length,!!n.selectionType&&n.messages.selectedMessage])}),null)}function ne(t){return a["ɵvid"](2,[a["ɵqud"](671088640,1,{bodyComponent:0}),a["ɵqud"](671088640,2,{headerComponent:0}),(t()(),a["ɵeld"](2,0,null,null,8,"div",[["visibilityObserver",""]],[[2,"visible",null]],[[null,"visible"]],(function(t,e,n){var a=!0;return"visible"===e&&(a=!1!==t.component.recalculate()&&a),a}),null,null)),a["ɵdid"](3,212992,null,0,K.VisibilityDirective,[a.ElementRef,a.NgZone],null,{visible:"visible"}),(t()(),a["ɵand"](16777216,null,null,1,null,te)),a["ɵdid"](5,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵeld"](6,0,null,null,2,"datatable-body",[["class","datatable-body"]],[[4,"width",null],[4,"height",null]],[[null,"page"],[null,"activate"],[null,"rowContextmenu"],[null,"select"],[null,"scroll"],[null,"treeAction"]],(function(t,e,n){var a=!0,r=t.component;return"page"===e&&(a=!1!==r.onBodyPage(n)&&a),"activate"===e&&(a=!1!==r.activate.emit(n)&&a),"rowContextmenu"===e&&(a=!1!==r.onRowContextmenu(n)&&a),"select"===e&&(a=!1!==r.onBodySelect(n)&&a),"scroll"===e&&(a=!1!==r.onBodyScroll(n)&&a),"treeAction"===e&&(a=!1!==r.onTreeAction(n)&&a),a}),$t,Ft)),a["ɵdid"](7,245760,[[1,4]],0,jt.DataTableBodyComponent,[a.ChangeDetectorRef],{scrollbarV:[0,"scrollbarV"],scrollbarH:[1,"scrollbarH"],loadingIndicator:[2,"loadingIndicator"],externalPaging:[3,"externalPaging"],rowHeight:[4,"rowHeight"],offsetX:[5,"offsetX"],emptyMessage:[6,"emptyMessage"],selectionType:[7,"selectionType"],selected:[8,"selected"],rowIdentity:[9,"rowIdentity"],rowDetail:[10,"rowDetail"],groupHeader:[11,"groupHeader"],selectCheck:[12,"selectCheck"],displayCheck:[13,"displayCheck"],trackByProp:[14,"trackByProp"],rowClass:[15,"rowClass"],groupedRows:[16,"groupedRows"],groupExpansionDefault:[17,"groupExpansionDefault"],innerWidth:[18,"innerWidth"],groupRowsBy:[19,"groupRowsBy"],virtualization:[20,"virtualization"],summaryRow:[21,"summaryRow"],summaryPosition:[22,"summaryPosition"],summaryHeight:[23,"summaryHeight"],pageSize:[24,"pageSize"],rows:[25,"rows"],columns:[26,"columns"],offset:[27,"offset"],rowCount:[28,"rowCount"],bodyHeight:[29,"bodyHeight"]},{scroll:"scroll",page:"page",activate:"activate",select:"select",rowContextmenu:"rowContextmenu",treeAction:"treeAction"}),a["ɵpid"](131072,s.AsyncPipe,[a.ChangeDetectorRef]),(t()(),a["ɵand"](16777216,null,null,1,null,ee)),a["ɵdid"](10,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,3,0),t(e,5,0,n.headerHeight),t(e,7,1,[n.scrollbarV,n.scrollbarH,n.loadingIndicator,n.externalPaging,n.rowHeight,a["ɵunv"](e,7,5,a["ɵnov"](e,8).transform(n._offsetX)),n.messages.emptyMessage,n.selectionType,n.selected,n.rowIdentity,n.rowDetail,n.groupHeader,n.selectCheck,n.displayCheck,n.trackByProp,n.rowClass,n.groupedRows,n.groupExpansionDefault,n._innerWidth,n.groupRowsBy,n.virtualization,n.summaryRow,n.summaryPosition,n.summaryHeight,n.pageSize,n._internalRows,n._internalColumns,n.offset,n.rowCount,n.bodyHeight]),t(e,10,0,n.footerHeight)}),(function(t,e){t(e,2,0,a["ɵnov"](e,3).isVisible),t(e,6,0,a["ɵnov"](e,7).bodyWidth,a["ɵnov"](e,7).bodyHeight)}))}var ae=n("lUjN"),re=n("vxfy");n("uIqm"),n.d(e,"a",(function(){return oe})),n.d(e,"b",(function(){return Fe}));var oe=a["ɵcrt"]({encapsulation:0,styles:[['@charset "UTF-8";.tree-children.tree-children-no-padding[_ngcontent-%COMP%]{padding-left:0}.node-drop-slot[_ngcontent-%COMP%]{display:block;height:2px}.node-drop-slot.is-dragging-over[_ngcontent-%COMP%]{background:#dfe;height:20px;border:2px dotted #888}.toggle-children-wrapper-expanded[_ngcontent-%COMP%]   .toggle-children[_ngcontent-%COMP%]{transform:rotate(90deg)}.toggle-children-wrapper-collapsed[_ngcontent-%COMP%]   .toggle-children[_ngcontent-%COMP%]{transform:rotate(0)}.toggle-children-wrapper[_ngcontent-%COMP%]{padding:2px 3px 5px 1px}.toggle-children[_ngcontent-%COMP%]{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAASCAYAAABSO15qAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABAhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ1dWlkOjY1RTYzOTA2ODZDRjExREJBNkUyRDg4N0NFQUNCNDA3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkYzRkRFQjcxODUzNTExRTU4RTQwRkQwODFEOUZEMEE3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkYzRkRFQjcwODUzNTExRTU4RTQwRkQwODFEOUZEMEE3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE1IChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTk5NzA1OGEtZDI3OC00NDZkLWE4ODgtNGM4MGQ4YWI1NzNmIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6YzRkZmQxMGMtY2NlNS0xMTc4LWE5OGQtY2NkZmM5ODk5YWYwIi8+IDxkYzp0aXRsZT4gPHJkZjpBbHQ+IDxyZGY6bGkgeG1sOmxhbmc9IngtZGVmYXVsdCI+Z2x5cGhpY29uczwvcmRmOmxpPiA8L3JkZjpBbHQ+IDwvZGM6dGl0bGU+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+5iogFwAAAGhJREFUeNpiYGBgKABigf///zOQg0EARH4A4gZyDIIZ8B/JoAJKDIDhB0CcQIkBRBtEyABkgxwoMQCGD6AbRKoBGAYxQgXIBRuZGKgAKPIC3QLxArnRSHZCIjspk52ZKMrOFBUoAAEGAKnq593MQAZtAAAAAElFTkSuQmCC);height:8px;width:9px;background-size:contain;display:inline-block;position:relative;top:1px;background-repeat:no-repeat;background-position:center}.toggle-children-placeholder[_ngcontent-%COMP%]{display:inline-block;height:10px;width:10px;position:relative;top:1px;padding-right:3px}.node-content-wrapper[_ngcontent-%COMP%]{display:inline-block;padding:2px 5px;border-radius:2px;transition:background-color .15s,box-shadow .15s}.node-wrapper[_ngcontent-%COMP%]{display:flex;align-items:flex-start}.node-content-wrapper-active[_ngcontent-%COMP%], .node-content-wrapper-active.node-content-wrapper-focused[_ngcontent-%COMP%], .node-content-wrapper.node-content-wrapper-active[_ngcontent-%COMP%]:hover{background:#beebff}.node-content-wrapper-focused[_ngcontent-%COMP%]{background:#e7f4f9}.node-content-wrapper[_ngcontent-%COMP%]:hover{background:#f7fbff}.node-content-wrapper-active[_ngcontent-%COMP%], .node-content-wrapper-focused[_ngcontent-%COMP%], .node-content-wrapper[_ngcontent-%COMP%]:hover{box-shadow:inset 0 0 1px #999}.node-content-wrapper.is-dragging-over[_ngcontent-%COMP%]{background:#dfe;box-shadow:inset 0 0 1px #999}.node-content-wrapper.is-dragging-over-disabled[_ngcontent-%COMP%]{opacity:.5}tree-viewport[_ngcontent-%COMP%]{-webkit-tap-highlight-color:transparent;height:100%;overflow:auto;display:block}.tree-children[_ngcontent-%COMP%]{overflow:hidden;padding-left:20px}.empty-tree-drop-slot[_ngcontent-%COMP%]   .node-drop-slot[_ngcontent-%COMP%]{height:20px;min-width:100px}.angular-tree-component[_ngcontent-%COMP%]{width:100%;position:relative;display:inline-block;cursor:pointer;-webkit-touch-callout:none;-moz-user-select:none;user-select:none}tree-root[_ngcontent-%COMP%]   .angular-tree-component-rtl[_ngcontent-%COMP%]{direction:rtl}tree-root[_ngcontent-%COMP%]   .angular-tree-component-rtl[_ngcontent-%COMP%]   .toggle-children-wrapper-collapsed[_ngcontent-%COMP%]   .toggle-children[_ngcontent-%COMP%]{transform:rotate(180deg)!important}tree-root[_ngcontent-%COMP%]   .angular-tree-component-rtl[_ngcontent-%COMP%]   .tree-children[_ngcontent-%COMP%]{padding-right:20px;padding-left:0}tree-node-checkbox[_ngcontent-%COMP%]{padding:1px}[_ngcontent-%COMP%]:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#2b99a8;--secondary:#ef5c55;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#777777;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:"Helvetica Neue",Helvetica,Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*[_ngcontent-%COMP%], [_ngcontent-%COMP%]::after, [_ngcontent-%COMP%]::before{box-sizing:border-box}html[_ngcontent-%COMP%]{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article[_ngcontent-%COMP%], aside[_ngcontent-%COMP%], figcaption[_ngcontent-%COMP%], figure[_ngcontent-%COMP%], footer[_ngcontent-%COMP%], header[_ngcontent-%COMP%], hgroup[_ngcontent-%COMP%], main[_ngcontent-%COMP%], nav[_ngcontent-%COMP%], section[_ngcontent-%COMP%]{display:block}body[_ngcontent-%COMP%]{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"][_ngcontent-%COMP%]:focus{outline:0!important}h1[_ngcontent-%COMP%], h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%], h4[_ngcontent-%COMP%], h5[_ngcontent-%COMP%], h6[_ngcontent-%COMP%]{margin-top:0}dl[_ngcontent-%COMP%], ol[_ngcontent-%COMP%], p[_ngcontent-%COMP%], ul[_ngcontent-%COMP%]{margin-top:0;margin-bottom:1rem}abbr[data-original-title][_ngcontent-%COMP%], abbr[title][_ngcontent-%COMP%]{text-decoration:underline;text-decoration:underline dotted;cursor:help;border-bottom:0;text-decoration-skip-ink:none}address[_ngcontent-%COMP%]{margin-bottom:1rem;font-style:normal;line-height:inherit}ol[_ngcontent-%COMP%]   ol[_ngcontent-%COMP%], ol[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%], ul[_ngcontent-%COMP%]   ol[_ngcontent-%COMP%], ul[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]{margin-bottom:0}dt[_ngcontent-%COMP%]{font-weight:700}dd[_ngcontent-%COMP%]{margin-bottom:.5rem;margin-left:0}blockquote[_ngcontent-%COMP%], figure[_ngcontent-%COMP%]{margin:0 0 1rem}b[_ngcontent-%COMP%], strong[_ngcontent-%COMP%]{font-weight:bolder}sub[_ngcontent-%COMP%], sup[_ngcontent-%COMP%]{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub[_ngcontent-%COMP%]{bottom:-.25em}sup[_ngcontent-%COMP%]{top:-.5em}a[_ngcontent-%COMP%]{color:#2b99a8;text-decoration:none;background-color:transparent}a[_ngcontent-%COMP%]:hover{color:#1b626b;text-decoration:underline}a[_ngcontent-%COMP%]:not([href]):not([tabindex]), a[_ngcontent-%COMP%]:not([href]):not([tabindex]):focus, a[_ngcontent-%COMP%]:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a[_ngcontent-%COMP%]:not([href]):not([tabindex]):focus{outline:0}code[_ngcontent-%COMP%], kbd[_ngcontent-%COMP%], pre[_ngcontent-%COMP%], samp[_ngcontent-%COMP%]{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre[_ngcontent-%COMP%]{margin-top:0;margin-bottom:1rem;overflow:auto}img[_ngcontent-%COMP%]{vertical-align:middle;border-style:none}svg[_ngcontent-%COMP%]{overflow:hidden;vertical-align:middle}table[_ngcontent-%COMP%]{border-collapse:collapse}caption[_ngcontent-%COMP%]{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th[_ngcontent-%COMP%]{text-align:inherit}label[_ngcontent-%COMP%]{display:inline-block;margin-bottom:.5rem}button[_ngcontent-%COMP%]{border-radius:0}button[_ngcontent-%COMP%]:focus{outline:dotted 1px;outline:-webkit-focus-ring-color auto 5px}button[_ngcontent-%COMP%], input[_ngcontent-%COMP%], optgroup[_ngcontent-%COMP%], select[_ngcontent-%COMP%], textarea[_ngcontent-%COMP%]{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button[_ngcontent-%COMP%], input[_ngcontent-%COMP%]{overflow:visible}button[_ngcontent-%COMP%], select[_ngcontent-%COMP%]{text-transform:none}select[_ngcontent-%COMP%]{word-wrap:normal}[type=button][_ngcontent-%COMP%], [type=reset][_ngcontent-%COMP%], [type=submit][_ngcontent-%COMP%], button[_ngcontent-%COMP%]{-webkit-appearance:button}[type=button][_ngcontent-%COMP%]:not(:disabled), [type=reset][_ngcontent-%COMP%]:not(:disabled), [type=submit][_ngcontent-%COMP%]:not(:disabled), button[_ngcontent-%COMP%]:not(:disabled){cursor:pointer}[type=button][_ngcontent-%COMP%]::-moz-focus-inner, [type=reset][_ngcontent-%COMP%]::-moz-focus-inner, [type=submit][_ngcontent-%COMP%]::-moz-focus-inner, button[_ngcontent-%COMP%]::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox][_ngcontent-%COMP%], input[type=radio][_ngcontent-%COMP%]{box-sizing:border-box;padding:0}input[type=date][_ngcontent-%COMP%], input[type=datetime-local][_ngcontent-%COMP%], input[type=month][_ngcontent-%COMP%], input[type=time][_ngcontent-%COMP%]{-webkit-appearance:listbox}textarea[_ngcontent-%COMP%]{overflow:auto;resize:vertical}fieldset[_ngcontent-%COMP%]{min-width:0;padding:0;margin:0;border:0}legend[_ngcontent-%COMP%]{display:block;width:100%;max-width:100%;padding:0;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress[_ngcontent-%COMP%]{vertical-align:baseline}[type=number][_ngcontent-%COMP%]::-webkit-inner-spin-button, [type=number][_ngcontent-%COMP%]::-webkit-outer-spin-button{height:auto}[type=search][_ngcontent-%COMP%]{outline-offset:-2px;-webkit-appearance:none}[type=search][_ngcontent-%COMP%]::-webkit-search-decoration{-webkit-appearance:none}[_ngcontent-%COMP%]::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output[_ngcontent-%COMP%]{display:inline-block}summary[_ngcontent-%COMP%]{display:list-item;cursor:pointer}template[_ngcontent-%COMP%]{display:none}[hidden][_ngcontent-%COMP%]{display:none!important}.h1[_ngcontent-%COMP%], .h2[_ngcontent-%COMP%], .h3[_ngcontent-%COMP%], .h4[_ngcontent-%COMP%], .h5[_ngcontent-%COMP%], .h6[_ngcontent-%COMP%], h1[_ngcontent-%COMP%], h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%], h4[_ngcontent-%COMP%], h5[_ngcontent-%COMP%], h6[_ngcontent-%COMP%]{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1[_ngcontent-%COMP%], h1[_ngcontent-%COMP%]{font-size:2.5rem}.h2[_ngcontent-%COMP%], h2[_ngcontent-%COMP%]{font-size:2rem}.h3[_ngcontent-%COMP%], h3[_ngcontent-%COMP%]{font-size:1.75rem}.h4[_ngcontent-%COMP%], h4[_ngcontent-%COMP%]{font-size:1.5rem}.h5[_ngcontent-%COMP%], h5[_ngcontent-%COMP%]{font-size:1.25rem}.h6[_ngcontent-%COMP%], h6[_ngcontent-%COMP%]{font-size:1rem}.lead[_ngcontent-%COMP%]{font-size:1.25rem;font-weight:300}.display-1[_ngcontent-%COMP%]{font-size:6rem;font-weight:300;line-height:1.2}.display-2[_ngcontent-%COMP%]{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3[_ngcontent-%COMP%]{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4[_ngcontent-%COMP%]{font-size:3.5rem;font-weight:300;line-height:1.2}hr[_ngcontent-%COMP%]{box-sizing:content-box;height:0;overflow:visible;margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small[_ngcontent-%COMP%], small[_ngcontent-%COMP%]{font-size:80%;font-weight:400}.mark[_ngcontent-%COMP%], mark[_ngcontent-%COMP%]{padding:.2em;background-color:#fcf8e3}.list-inline[_ngcontent-%COMP%], .list-unstyled[_ngcontent-%COMP%]{padding-left:0;list-style:none}.list-inline-item[_ngcontent-%COMP%]{display:inline-block}.list-inline-item[_ngcontent-%COMP%]:not(:last-child){margin-right:.5rem}.initialism[_ngcontent-%COMP%]{font-size:90%;text-transform:uppercase}.blockquote[_ngcontent-%COMP%]{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer[_ngcontent-%COMP%]{display:block;font-size:80%;color:#6c757d}.blockquote-footer[_ngcontent-%COMP%]::before{content:"— "}.img-fluid[_ngcontent-%COMP%]{max-width:100%;height:auto}.img-thumbnail[_ngcontent-%COMP%]{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure[_ngcontent-%COMP%]{display:inline-block}.figure-img[_ngcontent-%COMP%]{margin-bottom:.5rem;line-height:1}.figure-caption[_ngcontent-%COMP%]{font-size:90%;color:#6c757d}code[_ngcontent-%COMP%]{font-size:87.5%;color:#e83e8c;word-break:break-word}a[_ngcontent-%COMP%] > code[_ngcontent-%COMP%]{color:inherit}kbd[_ngcontent-%COMP%]{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd[_ngcontent-%COMP%]   kbd[_ngcontent-%COMP%]{padding:0;font-size:100%;font-weight:700}pre[_ngcontent-%COMP%]{display:block;font-size:87.5%;color:#212529}pre[_ngcontent-%COMP%]   code[_ngcontent-%COMP%]{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable[_ngcontent-%COMP%]{max-height:340px;overflow-y:scroll}.container[_ngcontent-%COMP%]{width:100%;margin-right:auto;margin-left:auto}@media (min-width:576px){.container[_ngcontent-%COMP%]{max-width:540px}}@media (min-width:768px){.container[_ngcontent-%COMP%]{max-width:720px}}@media (min-width:992px){.container[_ngcontent-%COMP%]{max-width:960px}}@media (min-width:1200px){.container[_ngcontent-%COMP%]{max-width:1140px}}.container-fluid[_ngcontent-%COMP%]{width:100%;margin-right:auto;margin-left:auto}.row[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap}.no-gutters[_ngcontent-%COMP%]{margin-right:0;margin-left:0}.no-gutters[_ngcontent-%COMP%] > .col[_ngcontent-%COMP%], .no-gutters[_ngcontent-%COMP%] > [class*=col-][_ngcontent-%COMP%]{padding-right:0;padding-left:0}.cd-col-form[_ngcontent-%COMP%], .cd-col-form-input[_ngcontent-%COMP%], .cd-col-form-label[_ngcontent-%COMP%], .cd-col-form-offset[_ngcontent-%COMP%], .col[_ngcontent-%COMP%], .col-1[_ngcontent-%COMP%], .col-10[_ngcontent-%COMP%], .col-11[_ngcontent-%COMP%], .col-12[_ngcontent-%COMP%], .col-2[_ngcontent-%COMP%], .col-3[_ngcontent-%COMP%], .col-4[_ngcontent-%COMP%], .col-5[_ngcontent-%COMP%], .col-6[_ngcontent-%COMP%], .col-7[_ngcontent-%COMP%], .col-8[_ngcontent-%COMP%], .col-9[_ngcontent-%COMP%], .col-auto[_ngcontent-%COMP%], .col-lg[_ngcontent-%COMP%], .col-lg-1[_ngcontent-%COMP%], .col-lg-10[_ngcontent-%COMP%], .col-lg-11[_ngcontent-%COMP%], .col-lg-12[_ngcontent-%COMP%], .col-lg-2[_ngcontent-%COMP%], .col-lg-3[_ngcontent-%COMP%], .col-lg-4[_ngcontent-%COMP%], .col-lg-5[_ngcontent-%COMP%], .col-lg-6[_ngcontent-%COMP%], .col-lg-7[_ngcontent-%COMP%], .col-lg-8[_ngcontent-%COMP%], .col-lg-9[_ngcontent-%COMP%], .col-lg-auto[_ngcontent-%COMP%], .col-md[_ngcontent-%COMP%], .col-md-1[_ngcontent-%COMP%], .col-md-10[_ngcontent-%COMP%], .col-md-11[_ngcontent-%COMP%], .col-md-12[_ngcontent-%COMP%], .col-md-2[_ngcontent-%COMP%], .col-md-3[_ngcontent-%COMP%], .col-md-4[_ngcontent-%COMP%], .col-md-5[_ngcontent-%COMP%], .col-md-6[_ngcontent-%COMP%], .col-md-7[_ngcontent-%COMP%], .col-md-8[_ngcontent-%COMP%], .col-md-9[_ngcontent-%COMP%], .col-md-auto[_ngcontent-%COMP%], .col-sm[_ngcontent-%COMP%], .col-sm-1[_ngcontent-%COMP%], .col-sm-10[_ngcontent-%COMP%], .col-sm-11[_ngcontent-%COMP%], .col-sm-12[_ngcontent-%COMP%], .col-sm-2[_ngcontent-%COMP%], .col-sm-3[_ngcontent-%COMP%], .col-sm-4[_ngcontent-%COMP%], .col-sm-5[_ngcontent-%COMP%], .col-sm-6[_ngcontent-%COMP%], .col-sm-7[_ngcontent-%COMP%], .col-sm-8[_ngcontent-%COMP%], .col-sm-9[_ngcontent-%COMP%], .col-sm-auto[_ngcontent-%COMP%], .col-xl[_ngcontent-%COMP%], .col-xl-1[_ngcontent-%COMP%], .col-xl-10[_ngcontent-%COMP%], .col-xl-11[_ngcontent-%COMP%], .col-xl-12[_ngcontent-%COMP%], .col-xl-2[_ngcontent-%COMP%], .col-xl-3[_ngcontent-%COMP%], .col-xl-4[_ngcontent-%COMP%], .col-xl-5[_ngcontent-%COMP%], .col-xl-6[_ngcontent-%COMP%], .col-xl-7[_ngcontent-%COMP%], .col-xl-8[_ngcontent-%COMP%], .col-xl-9[_ngcontent-%COMP%], .col-xl-auto[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-input[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-label[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-offset[_ngcontent-%COMP%]{position:relative;width:100%;padding-right:15px;padding-left:15px}.col[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;max-width:100%}.col-auto[_ngcontent-%COMP%]{flex:0 0 auto;width:auto;max-width:100%}.col-1[_ngcontent-%COMP%]{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-2[_ngcontent-%COMP%]{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-3[_ngcontent-%COMP%]{flex:0 0 25%;max-width:25%}.col-4[_ngcontent-%COMP%]{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-5[_ngcontent-%COMP%]{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-6[_ngcontent-%COMP%]{flex:0 0 50%;max-width:50%}.col-7[_ngcontent-%COMP%]{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-8[_ngcontent-%COMP%]{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-9[_ngcontent-%COMP%]{flex:0 0 75%;max-width:75%}.col-10[_ngcontent-%COMP%]{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-11[_ngcontent-%COMP%]{flex:0 0 91.6666666667%;max-width:91.6666666667%}.cd-col-form[_ngcontent-%COMP%], .col-12[_ngcontent-%COMP%]{flex:0 0 100%;max-width:100%}.order-first[_ngcontent-%COMP%]{order:-1}.order-last[_ngcontent-%COMP%]{order:13}.order-0[_ngcontent-%COMP%]{order:0}.order-1[_ngcontent-%COMP%]{order:1}.order-2[_ngcontent-%COMP%]{order:2}.order-3[_ngcontent-%COMP%]{order:3}.order-4[_ngcontent-%COMP%]{order:4}.order-5[_ngcontent-%COMP%]{order:5}.order-6[_ngcontent-%COMP%]{order:6}.order-7[_ngcontent-%COMP%]{order:7}.order-8[_ngcontent-%COMP%]{order:8}.order-9[_ngcontent-%COMP%]{order:9}.order-10[_ngcontent-%COMP%]{order:10}.order-11[_ngcontent-%COMP%]{order:11}.order-12[_ngcontent-%COMP%]{order:12}.offset-1[_ngcontent-%COMP%]{margin-left:8.3333333333%}.offset-2[_ngcontent-%COMP%]{margin-left:16.6666666667%}.offset-3[_ngcontent-%COMP%]{margin-left:25%}.offset-4[_ngcontent-%COMP%]{margin-left:33.3333333333%}.offset-5[_ngcontent-%COMP%]{margin-left:41.6666666667%}.offset-6[_ngcontent-%COMP%]{margin-left:50%}.offset-7[_ngcontent-%COMP%]{margin-left:58.3333333333%}.offset-8[_ngcontent-%COMP%]{margin-left:66.6666666667%}.offset-9[_ngcontent-%COMP%]{margin-left:75%}.offset-10[_ngcontent-%COMP%]{margin-left:83.3333333333%}.offset-11[_ngcontent-%COMP%]{margin-left:91.6666666667%}@media (min-width:576px){.col-sm[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;max-width:100%}.col-sm-auto[_ngcontent-%COMP%]{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1[_ngcontent-%COMP%]{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-sm-2[_ngcontent-%COMP%]{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-3[_ngcontent-%COMP%]{flex:0 0 25%;max-width:25%}.cd-col-form-label[_ngcontent-%COMP%], .col-sm-4[_ngcontent-%COMP%]{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-sm-5[_ngcontent-%COMP%]{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-sm-6[_ngcontent-%COMP%]{flex:0 0 50%;max-width:50%}.col-sm-7[_ngcontent-%COMP%]{flex:0 0 58.3333333333%;max-width:58.3333333333%}.cd-col-form-input[_ngcontent-%COMP%], .cd-col-form-offset[_ngcontent-%COMP%], .col-sm-8[_ngcontent-%COMP%]{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-sm-9[_ngcontent-%COMP%]{flex:0 0 75%;max-width:75%}.col-sm-10[_ngcontent-%COMP%]{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-sm-11[_ngcontent-%COMP%]{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-sm-12[_ngcontent-%COMP%]{flex:0 0 100%;max-width:100%}.order-sm-first[_ngcontent-%COMP%]{order:-1}.order-sm-last[_ngcontent-%COMP%]{order:13}.order-sm-0[_ngcontent-%COMP%]{order:0}.order-sm-1[_ngcontent-%COMP%]{order:1}.order-sm-2[_ngcontent-%COMP%]{order:2}.order-sm-3[_ngcontent-%COMP%]{order:3}.order-sm-4[_ngcontent-%COMP%]{order:4}.order-sm-5[_ngcontent-%COMP%]{order:5}.order-sm-6[_ngcontent-%COMP%]{order:6}.order-sm-7[_ngcontent-%COMP%]{order:7}.order-sm-8[_ngcontent-%COMP%]{order:8}.order-sm-9[_ngcontent-%COMP%]{order:9}.order-sm-10[_ngcontent-%COMP%]{order:10}.order-sm-11[_ngcontent-%COMP%]{order:11}.order-sm-12[_ngcontent-%COMP%]{order:12}.offset-sm-0[_ngcontent-%COMP%]{margin-left:0}.offset-sm-1[_ngcontent-%COMP%]{margin-left:8.3333333333%}.offset-sm-2[_ngcontent-%COMP%]{margin-left:16.6666666667%}.offset-sm-3[_ngcontent-%COMP%]{margin-left:25%}.cd-col-form-offset[_ngcontent-%COMP%], .offset-sm-4[_ngcontent-%COMP%]{margin-left:33.3333333333%}.offset-sm-5[_ngcontent-%COMP%]{margin-left:41.6666666667%}.offset-sm-6[_ngcontent-%COMP%]{margin-left:50%}.offset-sm-7[_ngcontent-%COMP%]{margin-left:58.3333333333%}.offset-sm-8[_ngcontent-%COMP%]{margin-left:66.6666666667%}.offset-sm-9[_ngcontent-%COMP%]{margin-left:75%}.offset-sm-10[_ngcontent-%COMP%]{margin-left:83.3333333333%}.offset-sm-11[_ngcontent-%COMP%]{margin-left:91.6666666667%}}@media (min-width:768px){.col-md[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;max-width:100%}.col-md-auto[_ngcontent-%COMP%]{flex:0 0 auto;width:auto;max-width:100%}.col-md-1[_ngcontent-%COMP%]{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-md-2[_ngcontent-%COMP%]{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-3[_ngcontent-%COMP%]{flex:0 0 25%;max-width:25%}.cd-col-form-label[_ngcontent-%COMP%], .col-md-4[_ngcontent-%COMP%]{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-md-5[_ngcontent-%COMP%]{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-md-6[_ngcontent-%COMP%]{flex:0 0 50%;max-width:50%}.col-md-7[_ngcontent-%COMP%]{flex:0 0 58.3333333333%;max-width:58.3333333333%}.cd-col-form-input[_ngcontent-%COMP%], .cd-col-form-offset[_ngcontent-%COMP%], .col-md-8[_ngcontent-%COMP%]{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-md-9[_ngcontent-%COMP%]{flex:0 0 75%;max-width:75%}.col-md-10[_ngcontent-%COMP%]{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-md-11[_ngcontent-%COMP%]{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-md-12[_ngcontent-%COMP%]{flex:0 0 100%;max-width:100%}.order-md-first[_ngcontent-%COMP%]{order:-1}.order-md-last[_ngcontent-%COMP%]{order:13}.order-md-0[_ngcontent-%COMP%]{order:0}.order-md-1[_ngcontent-%COMP%]{order:1}.order-md-2[_ngcontent-%COMP%]{order:2}.order-md-3[_ngcontent-%COMP%]{order:3}.order-md-4[_ngcontent-%COMP%]{order:4}.order-md-5[_ngcontent-%COMP%]{order:5}.order-md-6[_ngcontent-%COMP%]{order:6}.order-md-7[_ngcontent-%COMP%]{order:7}.order-md-8[_ngcontent-%COMP%]{order:8}.order-md-9[_ngcontent-%COMP%]{order:9}.order-md-10[_ngcontent-%COMP%]{order:10}.order-md-11[_ngcontent-%COMP%]{order:11}.order-md-12[_ngcontent-%COMP%]{order:12}.offset-md-0[_ngcontent-%COMP%]{margin-left:0}.offset-md-1[_ngcontent-%COMP%]{margin-left:8.3333333333%}.offset-md-2[_ngcontent-%COMP%]{margin-left:16.6666666667%}.offset-md-3[_ngcontent-%COMP%]{margin-left:25%}.offset-md-4[_ngcontent-%COMP%]{margin-left:33.3333333333%}.offset-md-5[_ngcontent-%COMP%]{margin-left:41.6666666667%}.offset-md-6[_ngcontent-%COMP%]{margin-left:50%}.offset-md-7[_ngcontent-%COMP%]{margin-left:58.3333333333%}.offset-md-8[_ngcontent-%COMP%]{margin-left:66.6666666667%}.offset-md-9[_ngcontent-%COMP%]{margin-left:75%}.offset-md-10[_ngcontent-%COMP%]{margin-left:83.3333333333%}.offset-md-11[_ngcontent-%COMP%]{margin-left:91.6666666667%}}@media (min-width:992px){.col-lg[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;max-width:100%}.col-lg-auto[_ngcontent-%COMP%]{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1[_ngcontent-%COMP%]{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-lg-2[_ngcontent-%COMP%]{flex:0 0 16.6666666667%;max-width:16.6666666667%}.cd-col-form-label[_ngcontent-%COMP%], .col-lg-3[_ngcontent-%COMP%]{flex:0 0 25%;max-width:25%}.col-lg-4[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-label[_ngcontent-%COMP%]{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-lg-5[_ngcontent-%COMP%]{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-lg-6[_ngcontent-%COMP%]{flex:0 0 50%;max-width:50%}.col-lg-7[_ngcontent-%COMP%]{flex:0 0 58.3333333333%;max-width:58.3333333333%}.cd-col-form[_ngcontent-%COMP%], .col-lg-8[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-input[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-offset[_ngcontent-%COMP%]{flex:0 0 66.6666666667%;max-width:66.6666666667%}.cd-col-form-input[_ngcontent-%COMP%], .cd-col-form-offset[_ngcontent-%COMP%], .col-lg-9[_ngcontent-%COMP%]{flex:0 0 75%;max-width:75%}.col-lg-10[_ngcontent-%COMP%]{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-lg-11[_ngcontent-%COMP%]{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-lg-12[_ngcontent-%COMP%]{flex:0 0 100%;max-width:100%}.order-lg-first[_ngcontent-%COMP%]{order:-1}.order-lg-last[_ngcontent-%COMP%]{order:13}.order-lg-0[_ngcontent-%COMP%]{order:0}.order-lg-1[_ngcontent-%COMP%]{order:1}.order-lg-2[_ngcontent-%COMP%]{order:2}.order-lg-3[_ngcontent-%COMP%]{order:3}.order-lg-4[_ngcontent-%COMP%]{order:4}.order-lg-5[_ngcontent-%COMP%]{order:5}.order-lg-6[_ngcontent-%COMP%]{order:6}.order-lg-7[_ngcontent-%COMP%]{order:7}.order-lg-8[_ngcontent-%COMP%]{order:8}.order-lg-9[_ngcontent-%COMP%]{order:9}.order-lg-10[_ngcontent-%COMP%]{order:10}.order-lg-11[_ngcontent-%COMP%]{order:11}.order-lg-12[_ngcontent-%COMP%]{order:12}.offset-lg-0[_ngcontent-%COMP%]{margin-left:0}.offset-lg-1[_ngcontent-%COMP%]{margin-left:8.3333333333%}.offset-lg-2[_ngcontent-%COMP%]{margin-left:16.6666666667%}.cd-col-form-offset[_ngcontent-%COMP%], .offset-lg-3[_ngcontent-%COMP%]{margin-left:25%}.offset-lg-4[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-offset[_ngcontent-%COMP%]{margin-left:33.3333333333%}.offset-lg-5[_ngcontent-%COMP%]{margin-left:41.6666666667%}.offset-lg-6[_ngcontent-%COMP%]{margin-left:50%}.offset-lg-7[_ngcontent-%COMP%]{margin-left:58.3333333333%}.offset-lg-8[_ngcontent-%COMP%]{margin-left:66.6666666667%}.offset-lg-9[_ngcontent-%COMP%]{margin-left:75%}.offset-lg-10[_ngcontent-%COMP%]{margin-left:83.3333333333%}.offset-lg-11[_ngcontent-%COMP%]{margin-left:91.6666666667%}}@media (min-width:1200px){.col-xl[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;max-width:100%}.col-xl-auto[_ngcontent-%COMP%]{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1[_ngcontent-%COMP%]{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-xl-2[_ngcontent-%COMP%]{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xl-3[_ngcontent-%COMP%]{flex:0 0 25%;max-width:25%}.col-xl-4[_ngcontent-%COMP%]{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-xl-5[_ngcontent-%COMP%]{flex:0 0 41.6666666667%;max-width:41.6666666667%}.cd-col-form[_ngcontent-%COMP%], .col-xl-6[_ngcontent-%COMP%]{flex:0 0 50%;max-width:50%}.col-xl-7[_ngcontent-%COMP%]{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-xl-8[_ngcontent-%COMP%]{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-xl-9[_ngcontent-%COMP%]{flex:0 0 75%;max-width:75%}.col-xl-10[_ngcontent-%COMP%]{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-xl-11[_ngcontent-%COMP%]{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-xl-12[_ngcontent-%COMP%]{flex:0 0 100%;max-width:100%}.order-xl-first[_ngcontent-%COMP%]{order:-1}.order-xl-last[_ngcontent-%COMP%]{order:13}.order-xl-0[_ngcontent-%COMP%]{order:0}.order-xl-1[_ngcontent-%COMP%]{order:1}.order-xl-2[_ngcontent-%COMP%]{order:2}.order-xl-3[_ngcontent-%COMP%]{order:3}.order-xl-4[_ngcontent-%COMP%]{order:4}.order-xl-5[_ngcontent-%COMP%]{order:5}.order-xl-6[_ngcontent-%COMP%]{order:6}.order-xl-7[_ngcontent-%COMP%]{order:7}.order-xl-8[_ngcontent-%COMP%]{order:8}.order-xl-9[_ngcontent-%COMP%]{order:9}.order-xl-10[_ngcontent-%COMP%]{order:10}.order-xl-11[_ngcontent-%COMP%]{order:11}.order-xl-12[_ngcontent-%COMP%]{order:12}.offset-xl-0[_ngcontent-%COMP%]{margin-left:0}.offset-xl-1[_ngcontent-%COMP%]{margin-left:8.3333333333%}.offset-xl-2[_ngcontent-%COMP%]{margin-left:16.6666666667%}.offset-xl-3[_ngcontent-%COMP%]{margin-left:25%}.offset-xl-4[_ngcontent-%COMP%]{margin-left:33.3333333333%}.offset-xl-5[_ngcontent-%COMP%]{margin-left:41.6666666667%}.offset-xl-6[_ngcontent-%COMP%]{margin-left:50%}.offset-xl-7[_ngcontent-%COMP%]{margin-left:58.3333333333%}.offset-xl-8[_ngcontent-%COMP%]{margin-left:66.6666666667%}.offset-xl-9[_ngcontent-%COMP%]{margin-left:75%}.offset-xl-10[_ngcontent-%COMP%]{margin-left:83.3333333333%}.offset-xl-11[_ngcontent-%COMP%]{margin-left:91.6666666667%}}.table[_ngcontent-%COMP%]{width:100%;margin-bottom:1rem;color:#212529}.table[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%]{border-top:2px solid #dee2e6}.table-sm[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-sm[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{padding:.3rem}.table-bordered[_ngcontent-%COMP%], .table-bordered[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-bordered[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border:1px solid #dee2e6}.table-bordered[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-bordered[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-bottom-width:2px}.table-borderless[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-borderless[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-borderless[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-borderless[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border:0}.table-striped[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary[_ngcontent-%COMP%], .table-primary[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-primary[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#c4e2e7}.table-primary[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-primary[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-primary[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-primary[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#91cad2}.table-hover[_ngcontent-%COMP%]   .table-primary[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-primary[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-primary[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#b2d9e0}.table-secondary[_ngcontent-%COMP%], .table-secondary[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-secondary[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#fbd1cf}.table-secondary[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-secondary[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-secondary[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-secondary[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#f7aaa7}.table-hover[_ngcontent-%COMP%]   .table-secondary[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-secondary[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-secondary[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#f9bab7}.table-success[_ngcontent-%COMP%], .table-success[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-success[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#c3e6cb}.table-success[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-success[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-success[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-success[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#8fd19e}.table-hover[_ngcontent-%COMP%]   .table-success[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-success[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-success[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#b1dfbb}.table-info[_ngcontent-%COMP%], .table-info[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-info[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#bee5eb}.table-info[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-info[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-info[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-info[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#86cfda}.table-hover[_ngcontent-%COMP%]   .table-info[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-info[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-info[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#abdde5}.table-warning[_ngcontent-%COMP%], .table-warning[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-warning[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#ffeeba}.table-warning[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-warning[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-warning[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-warning[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#ffdf7e}.table-hover[_ngcontent-%COMP%]   .table-warning[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-warning[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-warning[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#ffe8a1}.table-danger[_ngcontent-%COMP%], .table-danger[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-danger[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#f5c6cb}.table-danger[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-danger[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-danger[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-danger[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#ed969e}.table-hover[_ngcontent-%COMP%]   .table-danger[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-danger[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-danger[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#f1b0b7}.table-light[_ngcontent-%COMP%], .table-light[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-light[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#fdfdfe}.table-light[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-light[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-light[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-light[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#fbfcfc}.table-hover[_ngcontent-%COMP%]   .table-light[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-light[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-light[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#ececf6}.table-dark[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#d9d9d9}.table-dark[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#b8b8b8}.table-hover[_ngcontent-%COMP%]   .table-dark[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-dark[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-dark[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#ccc}.table-active[_ngcontent-%COMP%], .table-active[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-active[_ngcontent-%COMP%] > th[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-active[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-active[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-active[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:rgba(0,0,0,.075)}.table[_ngcontent-%COMP%]   .thead-dark[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{color:#fff;background-color:#343a40;border-color:#454d55}.table[_ngcontent-%COMP%]   .thead-light[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark[_ngcontent-%COMP%]{color:#fff;background-color:#343a40}.table-dark[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#454d55}.table-dark.table-bordered[_ngcontent-%COMP%]{border:0}.table-dark.table-striped[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm[_ngcontent-%COMP%]{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm[_ngcontent-%COMP%] > .table-bordered[_ngcontent-%COMP%]{border:0}}@media (max-width:767.98px){.table-responsive-md[_ngcontent-%COMP%]{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md[_ngcontent-%COMP%] > .table-bordered[_ngcontent-%COMP%]{border:0}}@media (max-width:991.98px){.table-responsive-lg[_ngcontent-%COMP%]{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg[_ngcontent-%COMP%] > .table-bordered[_ngcontent-%COMP%]{border:0}}@media (max-width:1199.98px){.table-responsive-xl[_ngcontent-%COMP%]{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl[_ngcontent-%COMP%] > .table-bordered[_ngcontent-%COMP%]{border:0}}.table-responsive[_ngcontent-%COMP%]{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive[_ngcontent-%COMP%] > .table-bordered[_ngcontent-%COMP%]{border:0}.cd-form-control[_ngcontent-%COMP%], .form-control[_ngcontent-%COMP%]{width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.cd-form-control[_ngcontent-%COMP%], .form-control[_ngcontent-%COMP%]{transition:none}}.cd-form-control[_ngcontent-%COMP%]::-ms-expand, .form-control[_ngcontent-%COMP%]::-ms-expand{background-color:transparent;border:0}.cd-form-control[_ngcontent-%COMP%]:focus, .form-control[_ngcontent-%COMP%]:focus{color:#495057;background-color:#fff;box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.cd-form-control[_ngcontent-%COMP%]::placeholder, .form-control[_ngcontent-%COMP%]::placeholder{color:#6c757d;opacity:1}.cd-form-control[_ngcontent-%COMP%]:disabled, .form-control[_ngcontent-%COMP%]:disabled, .form-control[readonly][_ngcontent-%COMP%], [readonly].cd-form-control[_ngcontent-%COMP%]{background-color:#e9ecef;opacity:1}select.cd-form-control[_ngcontent-%COMP%]:focus::-ms-value, select.form-control[_ngcontent-%COMP%]:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file[_ngcontent-%COMP%], .form-control-range[_ngcontent-%COMP%]{display:block;width:100%}.cd-col-form-label[_ngcontent-%COMP%], .col-form-label[_ngcontent-%COMP%]{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg[_ngcontent-%COMP%]{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm[_ngcontent-%COMP%]{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext[_ngcontent-%COMP%]{display:block;width:100%;padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg[_ngcontent-%COMP%], .form-control-plaintext.form-control-sm[_ngcontent-%COMP%]{padding-right:0;padding-left:0}.form-control-sm[_ngcontent-%COMP%]{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg[_ngcontent-%COMP%]{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple][_ngcontent-%COMP%], select.form-control[size][_ngcontent-%COMP%], select[multiple].cd-form-control[_ngcontent-%COMP%], select[size].cd-form-control[_ngcontent-%COMP%], textarea.cd-form-control[_ngcontent-%COMP%], textarea.form-control[_ngcontent-%COMP%]{height:auto}.form-group[_ngcontent-%COMP%]{margin-bottom:1rem}.form-text[_ngcontent-%COMP%]{display:block;margin-top:.25rem}.form-row[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row[_ngcontent-%COMP%] > .col[_ngcontent-%COMP%], .form-row[_ngcontent-%COMP%] > [class*=col-][_ngcontent-%COMP%]{padding-right:5px;padding-left:5px}.form-check[_ngcontent-%COMP%]{position:relative;display:block;padding-left:1.25rem}.form-check-input[_ngcontent-%COMP%]{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input[_ngcontent-%COMP%]:disabled ~ .form-check-label[_ngcontent-%COMP%]{color:#6c757d}.form-check-label[_ngcontent-%COMP%]{margin-bottom:0}.form-check-inline[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback[_ngcontent-%COMP%]{display:none;width:100%;margin-top:.25rem;font-size:100%;color:#28a745}.valid-tooltip[_ngcontent-%COMP%]{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.form-control.is-valid[_ngcontent-%COMP%], .is-valid.cd-form-control[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:valid, .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:valid{border-color:#28a745;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=\'%2328a745\' d=\'M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z\'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:center right calc(.375em + .1875rem);background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid[_ngcontent-%COMP%]:focus, .is-valid.cd-form-control[_ngcontent-%COMP%]:focus, .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:valid:focus, .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-control.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .form-control.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .is-valid.cd-form-control[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .is-valid.cd-form-control[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%]{display:block}.was-validated[_ngcontent-%COMP%]   textarea.cd-form-control[_ngcontent-%COMP%]:valid, .was-validated[_ngcontent-%COMP%]   textarea.form-control[_ngcontent-%COMP%]:valid, textarea.form-control.is-valid[_ngcontent-%COMP%], textarea.is-valid.cd-form-control[_ngcontent-%COMP%]{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:valid{border-color:#28a745;padding-right:calc((1em + .75rem) * 3 / 4 + 1.75rem);background:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 4 5\'%3e%3cpath fill=\'%23343a40\' d=\'M2 0L0 2h4zm0 5L0 3h4z\'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat,url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 8 8\'%3e%3cpath fill=\'%2328a745\' d=\'M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z\'/%3e%3c/svg%3e") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat #fff}.custom-select.is-valid[_ngcontent-%COMP%]:focus, .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-select.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .custom-select.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%]{display:block}.form-control-file.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .form-control-file.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control-file[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control-file[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%]{display:block}.form-check-input.is-valid[_ngcontent-%COMP%] ~ .form-check-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]:valid ~ .form-check-label[_ngcontent-%COMP%]{color:#28a745}.form-check-input.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .form-check-input.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%]{display:block}.custom-control-input.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .custom-control-input.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%]{display:block}.custom-control-input.is-valid[_ngcontent-%COMP%]:focus ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid:focus ~ .custom-control-label[_ngcontent-%COMP%]::before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-file-input.is-valid[_ngcontent-%COMP%] ~ .custom-file-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:valid ~ .custom-file-label[_ngcontent-%COMP%]{border-color:#28a745}.custom-file-input.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .custom-file-input.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%]{display:block}.custom-file-input.is-valid[_ngcontent-%COMP%]:focus ~ .custom-file-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:valid:focus ~ .custom-file-label[_ngcontent-%COMP%]{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback[_ngcontent-%COMP%]{display:none;width:100%;margin-top:.25rem;font-size:100%;color:#dc3545}.invalid-tooltip[_ngcontent-%COMP%]{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.form-control.is-invalid[_ngcontent-%COMP%], .is-invalid.cd-form-control[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:invalid, .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]: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\' fill=\'%23dc3545\' viewBox=\'-2 -2 7 7\'%3e%3cpath stroke=\'%23dc3545\' d=\'M0 0l3 3m0-3L0 3\'/%3e%3ccircle r=\'.5\'/%3e%3ccircle cx=\'3\' r=\'.5\'/%3e%3ccircle cy=\'3\' r=\'.5\'/%3e%3ccircle cx=\'3\' cy=\'3\' r=\'.5\'/%3e%3c/svg%3E");background-repeat:no-repeat;background-position:center right calc(.375em + .1875rem);background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid[_ngcontent-%COMP%]:focus, .is-invalid.cd-form-control[_ngcontent-%COMP%]:focus, .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:invalid:focus, .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-control.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .form-control.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .is-invalid.cd-form-control[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .is-invalid.cd-form-control[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%]{display:block}.was-validated[_ngcontent-%COMP%]   textarea.cd-form-control[_ngcontent-%COMP%]:invalid, .was-validated[_ngcontent-%COMP%]   textarea.form-control[_ngcontent-%COMP%]:invalid, textarea.form-control.is-invalid[_ngcontent-%COMP%], textarea.is-invalid.cd-form-control[_ngcontent-%COMP%]{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:invalid{border-color:#dc3545;padding-right:calc((1em + .75rem) * 3 / 4 + 1.75rem);background:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 4 5\'%3e%3cpath fill=\'%23343a40\' d=\'M2 0L0 2h4zm0 5L0 3h4z\'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat,url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' fill=\'%23dc3545\' viewBox=\'-2 -2 7 7\'%3e%3cpath stroke=\'%23dc3545\' d=\'M0 0l3 3m0-3L0 3\'/%3e%3ccircle r=\'.5\'/%3e%3ccircle cx=\'3\' r=\'.5\'/%3e%3ccircle cy=\'3\' r=\'.5\'/%3e%3ccircle cx=\'3\' cy=\'3\' r=\'.5\'/%3e%3c/svg%3E") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat #fff}.custom-select.is-invalid[_ngcontent-%COMP%]:focus, .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-select.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .custom-select.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%]{display:block}.form-control-file.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .form-control-file.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control-file[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control-file[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%]{display:block}.form-check-input.is-invalid[_ngcontent-%COMP%] ~ .form-check-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]:invalid ~ .form-check-label[_ngcontent-%COMP%]{color:#dc3545}.form-check-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .form-check-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%]{display:block}.custom-control-input.is-invalid[_ngcontent-%COMP%] ~ .custom-control-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid ~ .custom-control-label[_ngcontent-%COMP%]{color:#dc3545}.custom-control-input.is-invalid[_ngcontent-%COMP%] ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#dc3545}.custom-control-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .custom-control-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%]{display:block}.custom-control-input.is-invalid[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid:checked ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#e4606d;background-color:#e4606d}.custom-control-input.is-invalid[_ngcontent-%COMP%]:focus ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid:focus ~ .custom-control-label[_ngcontent-%COMP%]::before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid[_ngcontent-%COMP%]:focus:not(:checked) ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid:focus:not(:checked) ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#dc3545}.custom-file-input.is-invalid[_ngcontent-%COMP%] ~ .custom-file-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:invalid ~ .custom-file-label[_ngcontent-%COMP%]{border-color:#dc3545}.custom-file-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .custom-file-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%]{display:block}.custom-file-input.is-invalid[_ngcontent-%COMP%]:focus ~ .custom-file-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:invalid:focus ~ .custom-file-label[_ngcontent-%COMP%]{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline[_ngcontent-%COMP%]{display:flex;flex-flow:row wrap;align-items:center}.form-inline[_ngcontent-%COMP%]   .form-check[_ngcontent-%COMP%]{width:100%}@media (min-width:576px){.form-inline[_ngcontent-%COMP%]   label[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;margin-bottom:0}.form-inline[_ngcontent-%COMP%]   .form-group[_ngcontent-%COMP%]{display:flex;flex:0 0 auto;flex-flow:row wrap;align-items:center;margin-bottom:0}.form-inline[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%], .form-inline[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]{display:inline-block;width:auto;vertical-align:middle}.form-inline[_ngcontent-%COMP%]   .form-control-plaintext[_ngcontent-%COMP%]{display:inline-block}.form-inline[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%], .form-inline[_ngcontent-%COMP%]   .input-group[_ngcontent-%COMP%]{width:auto}.form-inline[_ngcontent-%COMP%]   .form-check[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;width:auto;padding-left:0}.form-inline[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]{position:relative;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline[_ngcontent-%COMP%]   .custom-control[_ngcontent-%COMP%]{align-items:center;justify-content:center}.form-inline[_ngcontent-%COMP%]   .custom-control-label[_ngcontent-%COMP%]{margin-bottom:0}}.btn[_ngcontent-%COMP%]{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;-moz-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;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[_ngcontent-%COMP%]{transition:none}}.btn[_ngcontent-%COMP%]:hover{color:#212529;text-decoration:none}.btn.focus[_ngcontent-%COMP%], .btn[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.btn.disabled[_ngcontent-%COMP%], .btn[_ngcontent-%COMP%]:disabled{opacity:.65}a.btn.disabled[_ngcontent-%COMP%], fieldset[_ngcontent-%COMP%]:disabled   a.btn[_ngcontent-%COMP%]{pointer-events:none}.btn-primary[_ngcontent-%COMP%]{color:#fff;background-color:#2b99a8;border-color:#2b99a8}.btn-primary[_ngcontent-%COMP%]:hover{color:#fff;background-color:#237d8a;border-color:#21747f}.btn-primary.focus[_ngcontent-%COMP%], .btn-primary[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(75,168,181,.5)}.btn-primary.disabled[_ngcontent-%COMP%], .btn-primary[_ngcontent-%COMP%]:disabled{color:#fff;background-color:#2b99a8;border-color:#2b99a8}.btn-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-primary.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#21747f;border-color:#1e6b75}.btn-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-primary.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(75,168,181,.5)}.btn-secondary[_ngcontent-%COMP%]{color:#fff;background-color:#ef5c55;border-color:#ef5c55}.btn-secondary[_ngcontent-%COMP%]:hover{color:#fff;background-color:#ec3a32;border-color:#eb2f26}.btn-secondary.focus[_ngcontent-%COMP%], .btn-secondary[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(241,116,111,.5)}.btn-secondary.disabled[_ngcontent-%COMP%], .btn-secondary[_ngcontent-%COMP%]:disabled{color:#fff;background-color:#ef5c55;border-color:#ef5c55}.btn-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-secondary.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#eb2f26;border-color:#ea241b}.btn-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-secondary.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(241,116,111,.5)}.btn-success[_ngcontent-%COMP%]{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success[_ngcontent-%COMP%]:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus[_ngcontent-%COMP%], .btn-success[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled[_ngcontent-%COMP%], .btn-success[_ngcontent-%COMP%]:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-success.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-success.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-info[_ngcontent-%COMP%]{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info[_ngcontent-%COMP%]:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus[_ngcontent-%COMP%], .btn-info[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled[_ngcontent-%COMP%], .btn-info[_ngcontent-%COMP%]:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-info.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-info.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-warning[_ngcontent-%COMP%]{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning[_ngcontent-%COMP%]:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus[_ngcontent-%COMP%], .btn-warning[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled[_ngcontent-%COMP%], .btn-warning[_ngcontent-%COMP%]:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-warning.dropdown-toggle[_ngcontent-%COMP%]{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-warning.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-danger[_ngcontent-%COMP%]{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger[_ngcontent-%COMP%]:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus[_ngcontent-%COMP%], .btn-danger[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled[_ngcontent-%COMP%], .btn-danger[_ngcontent-%COMP%]:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-danger.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-danger.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-light[_ngcontent-%COMP%]{color:#212529}.btn-light[_ngcontent-%COMP%]:hover{color:#212529}.btn-light.focus[_ngcontent-%COMP%], .btn-light[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled[_ngcontent-%COMP%], .btn-light[_ngcontent-%COMP%]:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-light.dropdown-toggle[_ngcontent-%COMP%]{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-light.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-dark[_ngcontent-%COMP%]{color:#fff;background-color:#777;border-color:#777}.btn-dark[_ngcontent-%COMP%]:hover{color:#fff;background-color:#646464;border-color:#5e5e5e}.btn-dark.focus[_ngcontent-%COMP%], .btn-dark[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(139,139,139,.5)}.btn-dark.disabled[_ngcontent-%COMP%], .btn-dark[_ngcontent-%COMP%]:disabled{color:#fff;background-color:#777;border-color:#777}.btn-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-dark.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#5e5e5e;border-color:#575757}.btn-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-dark.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(139,139,139,.5)}.btn-outline-primary[_ngcontent-%COMP%]{color:#2b99a8;border-color:#2b99a8}.btn-outline-primary[_ngcontent-%COMP%]:hover{color:#fff;background-color:#2b99a8;border-color:#2b99a8}.btn-outline-primary.focus[_ngcontent-%COMP%], .btn-outline-primary[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(43,153,168,.5)}.btn-outline-primary.disabled[_ngcontent-%COMP%], .btn-outline-primary[_ngcontent-%COMP%]:disabled{color:#2b99a8;background-color:transparent}.btn-outline-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-primary.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#2b99a8;border-color:#2b99a8}.btn-outline-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-primary.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(43,153,168,.5)}.btn-outline-secondary[_ngcontent-%COMP%]{color:#ef5c55;border-color:#ef5c55}.btn-outline-secondary[_ngcontent-%COMP%]:hover{color:#fff;background-color:#ef5c55;border-color:#ef5c55}.btn-outline-secondary.focus[_ngcontent-%COMP%], .btn-outline-secondary[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(239,92,85,.5)}.btn-outline-secondary.disabled[_ngcontent-%COMP%], .btn-outline-secondary[_ngcontent-%COMP%]:disabled{color:#ef5c55;background-color:transparent}.btn-outline-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-secondary.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#ef5c55;border-color:#ef5c55}.btn-outline-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-secondary.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(239,92,85,.5)}.btn-outline-success[_ngcontent-%COMP%]{color:#28a745;border-color:#28a745}.btn-outline-success[_ngcontent-%COMP%]:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus[_ngcontent-%COMP%], .btn-outline-success[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled[_ngcontent-%COMP%], .btn-outline-success[_ngcontent-%COMP%]:disabled{color:#28a745;background-color:transparent}.btn-outline-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-success.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-success.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info[_ngcontent-%COMP%]{color:#17a2b8;border-color:#17a2b8}.btn-outline-info[_ngcontent-%COMP%]:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus[_ngcontent-%COMP%], .btn-outline-info[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled[_ngcontent-%COMP%], .btn-outline-info[_ngcontent-%COMP%]:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-info.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-info.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning[_ngcontent-%COMP%]{color:#ffc107;border-color:#ffc107}.btn-outline-warning[_ngcontent-%COMP%]:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus[_ngcontent-%COMP%], .btn-outline-warning[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled[_ngcontent-%COMP%], .btn-outline-warning[_ngcontent-%COMP%]:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-warning.dropdown-toggle[_ngcontent-%COMP%]{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-warning.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger[_ngcontent-%COMP%]{color:#dc3545;border-color:#dc3545}.btn-outline-danger[_ngcontent-%COMP%]:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus[_ngcontent-%COMP%], .btn-outline-danger[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled[_ngcontent-%COMP%], .btn-outline-danger[_ngcontent-%COMP%]:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-danger.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-danger.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light[_ngcontent-%COMP%]{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light[_ngcontent-%COMP%]:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus[_ngcontent-%COMP%], .btn-outline-light[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled[_ngcontent-%COMP%], .btn-outline-light[_ngcontent-%COMP%]:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-light.dropdown-toggle[_ngcontent-%COMP%]{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-light.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark[_ngcontent-%COMP%]{color:#777;border-color:#777}.btn-outline-dark[_ngcontent-%COMP%]:hover{color:#fff;background-color:#777;border-color:#777}.btn-outline-dark.focus[_ngcontent-%COMP%], .btn-outline-dark[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(119,119,119,.5)}.btn-outline-dark.disabled[_ngcontent-%COMP%], .btn-outline-dark[_ngcontent-%COMP%]:disabled{color:#777;background-color:transparent}.btn-outline-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-dark.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#777;border-color:#777}.btn-outline-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-dark.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(119,119,119,.5)}.btn-link[_ngcontent-%COMP%]{font-weight:400;color:#2b99a8;text-decoration:none}.btn-link[_ngcontent-%COMP%]:hover{color:#1b626b;text-decoration:underline}.btn-link.focus[_ngcontent-%COMP%], .btn-link[_ngcontent-%COMP%]:focus{text-decoration:underline;box-shadow:none}.btn-link.disabled[_ngcontent-%COMP%], .btn-link[_ngcontent-%COMP%]:disabled{color:#6c757d;pointer-events:none}.btn-group-lg[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .btn-lg[_ngcontent-%COMP%]{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .btn-sm[_ngcontent-%COMP%]{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block[_ngcontent-%COMP%]{display:block;width:100%}.btn-block[_ngcontent-%COMP%] + .btn-block[_ngcontent-%COMP%]{margin-top:.5rem}input[type=button].btn-block[_ngcontent-%COMP%], input[type=reset].btn-block[_ngcontent-%COMP%], input[type=submit].btn-block[_ngcontent-%COMP%]{width:100%}.fade[_ngcontent-%COMP%]{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade[_ngcontent-%COMP%]{transition:none}}.fade[_ngcontent-%COMP%]:not(.show){opacity:0}.collapse[_ngcontent-%COMP%]:not(.show){display:none}.collapsing[_ngcontent-%COMP%]{position:relative;height:0;overflow:hidden;transition:height .35s ease}.dropdown[_ngcontent-%COMP%], .dropleft[_ngcontent-%COMP%], .dropright[_ngcontent-%COMP%], .dropup[_ngcontent-%COMP%]{position:relative}.dropdown-toggle[_ngcontent-%COMP%]{white-space:nowrap}.dropdown-toggle[_ngcontent-%COMP%]::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[_ngcontent-%COMP%]:empty::after{margin-left:0}.dropdown-menu[_ngcontent-%COMP%]{position:absolute;top:100%;left:0;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left[_ngcontent-%COMP%]{right:auto;left:0}.dropdown-menu-right[_ngcontent-%COMP%]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left[_ngcontent-%COMP%]{right:auto;left:0}.dropdown-menu-sm-right[_ngcontent-%COMP%]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left[_ngcontent-%COMP%]{right:auto;left:0}.dropdown-menu-md-right[_ngcontent-%COMP%]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left[_ngcontent-%COMP%]{right:auto;left:0}.dropdown-menu-lg-right[_ngcontent-%COMP%]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left[_ngcontent-%COMP%]{right:auto;left:0}.dropdown-menu-xl-right[_ngcontent-%COMP%]{right:0;left:auto}}.dropup[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]::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[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]:empty::after{margin-left:0}.dropright[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]::after{display:inline-block;margin-left:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid;vertical-align:0}.dropright[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]:empty::after{margin-left:0}.dropleft[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]::after{margin-left:.255em;vertical-align:.255em;content:"";display:none}.dropleft[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]::before{display:inline-block;margin-right:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent;vertical-align:0}.dropleft[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]:empty::after{margin-left:0}.dropdown-menu[x-placement^=bottom][_ngcontent-%COMP%], .dropdown-menu[x-placement^=left][_ngcontent-%COMP%], .dropdown-menu[x-placement^=right][_ngcontent-%COMP%], .dropdown-menu[x-placement^=top][_ngcontent-%COMP%]{right:auto;bottom:auto}.dropdown-divider[_ngcontent-%COMP%]{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item[_ngcontent-%COMP%]{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item[_ngcontent-%COMP%]:focus, .dropdown-item[_ngcontent-%COMP%]:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active[_ngcontent-%COMP%], .dropdown-item[_ngcontent-%COMP%]:active{color:#fff;text-decoration:none;background-color:#2b99a8}.dropdown-item.disabled[_ngcontent-%COMP%], .dropdown-item[_ngcontent-%COMP%]:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show[_ngcontent-%COMP%]{display:block}.dropdown-header[_ngcontent-%COMP%]{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text[_ngcontent-%COMP%]{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%]{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]{position:relative;flex:1 1 auto}.btn-group-vertical[_ngcontent-%COMP%] > .btn.active[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:active, .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:focus, .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:hover, .btn-group[_ngcontent-%COMP%] > .btn.active[_ngcontent-%COMP%], .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:active, .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:focus, .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:hover{z-index:1}.btn-toolbar[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar[_ngcontent-%COMP%]   .input-group[_ngcontent-%COMP%]{width:auto}.btn-group[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:first-child), .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:first-child){margin-left:-1px}.btn-group[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:last-child) > .btn[_ngcontent-%COMP%], .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:first-child) > .btn[_ngcontent-%COMP%], .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split[_ngcontent-%COMP%]{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split[_ngcontent-%COMP%]::after, .dropright[_ngcontent-%COMP%]   .dropdown-toggle-split[_ngcontent-%COMP%]::after, .dropup[_ngcontent-%COMP%]   .dropdown-toggle-split[_ngcontent-%COMP%]::after{margin-left:0}.dropleft[_ngcontent-%COMP%]   .dropdown-toggle-split[_ngcontent-%COMP%]::before{margin-right:0}.btn-group-sm[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%] + .dropdown-toggle-split[_ngcontent-%COMP%], .btn-sm[_ngcontent-%COMP%] + .dropdown-toggle-split[_ngcontent-%COMP%]{padding-right:.375rem;padding-left:.375rem}.btn-group-lg[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%] + .dropdown-toggle-split[_ngcontent-%COMP%], .btn-lg[_ngcontent-%COMP%] + .dropdown-toggle-split[_ngcontent-%COMP%]{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]{width:100%}.btn-group-vertical[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:first-child), .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:first-child){margin-top:-1px}.btn-group-vertical[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:last-child) > .btn[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:first-child) > .btn[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .btn-group-toggle[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]{margin-bottom:0}.btn-group-toggle[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]   input[type=checkbox][_ngcontent-%COMP%], .btn-group-toggle[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]   input[type=radio][_ngcontent-%COMP%], .btn-group-toggle[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]   input[type=checkbox][_ngcontent-%COMP%], .btn-group-toggle[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]   input[type=radio][_ngcontent-%COMP%]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group[_ngcontent-%COMP%]{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control-plaintext[_ngcontent-%COMP%]{position:relative;flex:1 1 auto;width:1%;margin-bottom:0}.input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%] + .cd-form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%] + .custom-file[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%] + .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%] + .form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%] + .cd-form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%] + .custom-file[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%] + .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%] + .form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%] + .cd-form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%] + .custom-file[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%] + .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%] + .form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%] + .cd-form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%] + .custom-file[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%] + .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%] + .form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control-plaintext[_ngcontent-%COMP%] + .cd-form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control-plaintext[_ngcontent-%COMP%] + .custom-file[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control-plaintext[_ngcontent-%COMP%] + .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control-plaintext[_ngcontent-%COMP%] + .form-control[_ngcontent-%COMP%]{margin-left:-1px}.input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%]:focus, .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:focus ~ .custom-file-label[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%]:focus, .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%]:focus{z-index:3}.input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:focus{z-index:4}.input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%]:not(:last-child), .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%]:not(:last-child), .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%]:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%]:not(:first-child), .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%]:not(:first-child), .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%]:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]{display:flex;align-items:center}.input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]:not(:last-child)   .custom-file-label[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]:not(:last-child)   .custom-file-label[_ngcontent-%COMP%]::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]:not(:first-child)   .custom-file-label[_ngcontent-%COMP%]{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%]{display:flex}.input-group-append[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%]{position:relative;z-index:2}.input-group-append[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%]:focus, .input-group-prepend[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%]:focus{z-index:3}.input-group-append[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%] + .btn[_ngcontent-%COMP%], .input-group-append[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%] + .input-group-text[_ngcontent-%COMP%], .input-group-append[_ngcontent-%COMP%]   .input-group-text[_ngcontent-%COMP%] + .btn[_ngcontent-%COMP%], .input-group-append[_ngcontent-%COMP%]   .input-group-text[_ngcontent-%COMP%] + .input-group-text[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%] + .btn[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%] + .input-group-text[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%]   .input-group-text[_ngcontent-%COMP%] + .btn[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%]   .input-group-text[_ngcontent-%COMP%] + .input-group-text[_ngcontent-%COMP%]{margin-left:-1px}.input-group-prepend[_ngcontent-%COMP%]{margin-right:-1px}.input-group-append[_ngcontent-%COMP%]{margin-left:-1px}.input-group-text[_ngcontent-%COMP%]{display:flex;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text[_ngcontent-%COMP%]   input[type=checkbox][_ngcontent-%COMP%], .input-group-text[_ngcontent-%COMP%]   input[type=radio][_ngcontent-%COMP%]{margin-top:0}.input-group-lg[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%]:not(textarea), .input-group-lg[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%]:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%]{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%]:not(textarea), .input-group-sm[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%]:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%]{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%]{padding-right:1.75rem}.input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%]:last-child > .btn[_ngcontent-%COMP%]:not(:last-child):not(.dropdown-toggle), .input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%]:last-child > .input-group-text[_ngcontent-%COMP%]:not(:last-child), .input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%]:not(:last-child) > .btn[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%]:not(:last-child) > .input-group-text[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%]{border-top-right-radius:0;border-bottom-right-radius:0}.input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%]:first-child > .btn[_ngcontent-%COMP%]:not(:first-child), .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%]:first-child > .input-group-text[_ngcontent-%COMP%]:not(:first-child), .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%]:not(:first-child) > .btn[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%]:not(:first-child) > .input-group-text[_ngcontent-%COMP%]{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control[_ngcontent-%COMP%]{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline[_ngcontent-%COMP%]{display:inline-flex;margin-right:1rem}.custom-control-input[_ngcontent-%COMP%]{position:absolute;z-index:-1;opacity:0}.custom-control-input[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::before{color:#fff;border-color:#2b99a8;background-color:#2b99a8}.custom-control-input[_ngcontent-%COMP%]:focus ~ .custom-control-label[_ngcontent-%COMP%]::before{box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.custom-control-input[_ngcontent-%COMP%]:focus:not(:checked) ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#76d0dc}.custom-control-input[_ngcontent-%COMP%]:not(:disabled):active ~ .custom-control-label[_ngcontent-%COMP%]::before{color:#fff;background-color:#9fdee6;border-color:#9fdee6}.custom-control-input[_ngcontent-%COMP%]:disabled ~ .custom-control-label[_ngcontent-%COMP%]{color:#6c757d}.custom-control-input[_ngcontent-%COMP%]:disabled ~ .custom-control-label[_ngcontent-%COMP%]::before{background-color:#e9ecef}.custom-control-label[_ngcontent-%COMP%]{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label[_ngcontent-%COMP%]::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#fff;border:1px solid #adb5bd}.custom-control-label[_ngcontent-%COMP%]::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:50%/50% 50% no-repeat}.custom-checkbox[_ngcontent-%COMP%]   .custom-control-label[_ngcontent-%COMP%]::before{border-radius:.25rem}.custom-checkbox[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::after{background-image:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 8 8\'%3e%3cpath fill=\'%23fff\' d=\'M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z\'/%3e%3c/svg%3e")}.custom-checkbox[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:indeterminate ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#2b99a8;background-color:#2b99a8}.custom-checkbox[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:indeterminate ~ .custom-control-label[_ngcontent-%COMP%]::after{background-image:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 4 4\'%3e%3cpath stroke=\'%23fff\' d=\'M0 2h4\'/%3e%3c/svg%3e")}.custom-checkbox[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:disabled:checked ~ .custom-control-label[_ngcontent-%COMP%]::before{background-color:rgba(43,153,168,.5)}.custom-checkbox[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:disabled:indeterminate ~ .custom-control-label[_ngcontent-%COMP%]::before{background-color:rgba(43,153,168,.5)}.custom-radio[_ngcontent-%COMP%]   .custom-control-label[_ngcontent-%COMP%]::before{border-radius:50%}.custom-radio[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::after{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")}.custom-radio[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:disabled:checked ~ .custom-control-label[_ngcontent-%COMP%]::before{background-color:rgba(43,153,168,.5)}.custom-switch[_ngcontent-%COMP%]{padding-left:2.25rem}.custom-switch[_ngcontent-%COMP%]   .custom-control-label[_ngcontent-%COMP%]::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch[_ngcontent-%COMP%]   .custom-control-label[_ngcontent-%COMP%]::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.custom-switch[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::after{background-color:#fff;transform:translateX(.75rem)}.custom-switch[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:disabled:checked ~ .custom-control-label[_ngcontent-%COMP%]::before{background-color:rgba(43,153,168,.5)}.custom-select[_ngcontent-%COMP%]{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 4 5\'%3e%3cpath fill=\'%23343a40\' d=\'M2 0L0 2h4zm0 5L0 3h4z\'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat #fff;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select[_ngcontent-%COMP%]:focus{border-color:#76d0dc;outline:0;box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.custom-select[_ngcontent-%COMP%]:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple][_ngcontent-%COMP%], .custom-select[size][_ngcontent-%COMP%]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select[_ngcontent-%COMP%]:disabled{color:#6c757d;background-color:#e9ecef}.custom-select[_ngcontent-%COMP%]::-ms-expand{display:none}.custom-select-sm[_ngcontent-%COMP%]{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg[_ngcontent-%COMP%]{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file[_ngcontent-%COMP%]{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}.custom-file-input[_ngcontent-%COMP%]{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;opacity:0}.custom-file-input[_ngcontent-%COMP%]:focus ~ .custom-file-label[_ngcontent-%COMP%]{border-color:#76d0dc;box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.custom-file-input[_ngcontent-%COMP%]:disabled ~ .custom-file-label[_ngcontent-%COMP%]{background-color:#e9ecef}.custom-file-input[_ngcontent-%COMP%]:lang(en) ~ .custom-file-label[_ngcontent-%COMP%]::after{content:"Browse"}.custom-file-input[_ngcontent-%COMP%] ~ .custom-file-label[data-browse][_ngcontent-%COMP%]::after{content:attr(data-browse)}.custom-file-label[_ngcontent-%COMP%]{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label[_ngcontent-%COMP%]::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range[_ngcontent-%COMP%]{width:100%;height:calc(1rem + .4rem);padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range[_ngcontent-%COMP%]:focus{outline:0}.custom-range[_ngcontent-%COMP%]:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(43,153,168,.25)}.custom-range[_ngcontent-%COMP%]:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(43,153,168,.25)}.custom-range[_ngcontent-%COMP%]:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(43,153,168,.25)}.custom-range[_ngcontent-%COMP%]::-moz-focus-outer{border:0}.custom-range[_ngcontent-%COMP%]::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#2b99a8;border:0;border-radius:1rem;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){.collapsing[_ngcontent-%COMP%], .custom-switch[_ngcontent-%COMP%]   .custom-control-label[_ngcontent-%COMP%]::after{transition:none}.custom-range[_ngcontent-%COMP%]::-webkit-slider-thumb{transition:none}}.custom-range[_ngcontent-%COMP%]::-webkit-slider-thumb:active{background-color:#9fdee6}.custom-range[_ngcontent-%COMP%]::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range[_ngcontent-%COMP%]::-moz-range-thumb{width:1rem;height:1rem;background-color:#2b99a8;border:0;border-radius:1rem;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){.custom-range[_ngcontent-%COMP%]::-moz-range-thumb{transition:none}}.custom-range[_ngcontent-%COMP%]::-moz-range-thumb:active{background-color:#9fdee6}.custom-range[_ngcontent-%COMP%]::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range[_ngcontent-%COMP%]::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#2b99a8;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range[_ngcontent-%COMP%]::-ms-thumb{transition:none}}.custom-range[_ngcontent-%COMP%]::-ms-thumb:active{background-color:#9fdee6}.custom-range[_ngcontent-%COMP%]::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range[_ngcontent-%COMP%]::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range[_ngcontent-%COMP%]::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-range[_ngcontent-%COMP%]:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range[_ngcontent-%COMP%]:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range[_ngcontent-%COMP%]:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range[_ngcontent-%COMP%]:disabled::-moz-range-track{cursor:default}.custom-range[_ngcontent-%COMP%]:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label[_ngcontent-%COMP%]::before, .custom-file-label[_ngcontent-%COMP%], .custom-select[_ngcontent-%COMP%]{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label[_ngcontent-%COMP%]::before, .custom-file-label[_ngcontent-%COMP%], .custom-select[_ngcontent-%COMP%]{transition:none}}.nav[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link[_ngcontent-%COMP%]{display:block;padding:.5rem 1rem}.nav-link[_ngcontent-%COMP%]:focus, .nav-link[_ngcontent-%COMP%]:hover{text-decoration:none}.nav-link.disabled[_ngcontent-%COMP%]{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs[_ngcontent-%COMP%]{border-bottom:1px solid #dee2e6}.nav-tabs[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]{margin-bottom:-1px}.nav-tabs[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]:focus, .nav-tabs[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs[_ngcontent-%COMP%]   .nav-link.disabled[_ngcontent-%COMP%]{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs[_ngcontent-%COMP%]   .nav-item.show[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%], .nav-tabs[_ngcontent-%COMP%]   .nav-link.active[_ngcontent-%COMP%]{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{border-radius:.25rem}.nav-pills[_ngcontent-%COMP%]   .nav-link.active[_ngcontent-%COMP%], .nav-pills[_ngcontent-%COMP%]   .show[_ngcontent-%COMP%] > .nav-link[_ngcontent-%COMP%]{color:#fff;background-color:#2b99a8}.nav-fill[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]{flex:1 1 auto;text-align:center}.nav-justified[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;text-align:center}.tab-content[_ngcontent-%COMP%] > .tab-pane[_ngcontent-%COMP%]{display:none}.tab-content[_ngcontent-%COMP%] > .active[_ngcontent-%COMP%]{display:block}.navbar[_ngcontent-%COMP%]{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:.5rem 1rem}.navbar[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.navbar-brand[_ngcontent-%COMP%]{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand[_ngcontent-%COMP%]:focus, .navbar-brand[_ngcontent-%COMP%]:hover{text-decoration:none}.navbar-nav[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{padding-right:0;padding-left:0}.navbar-nav[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{position:static;float:none}.navbar-text[_ngcontent-%COMP%]{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse[_ngcontent-%COMP%]{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler[_ngcontent-%COMP%]{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler[_ngcontent-%COMP%]:focus, .navbar-toggler[_ngcontent-%COMP%]:hover{text-decoration:none}.navbar-toggler-icon[_ngcontent-%COMP%]{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:center center/100% 100% no-repeat}@media (max-width:575.98px){.navbar-expand-sm[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-sm[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm[_ngcontent-%COMP%]{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-sm[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]{flex-direction:row}.navbar-expand-sm[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{position:absolute}.navbar-expand-sm[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-sm[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{flex-wrap:nowrap}.navbar-expand-sm[_ngcontent-%COMP%]   .navbar-collapse[_ngcontent-%COMP%]{display:flex!important;flex-basis:auto}.navbar-expand-sm[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{display:none}}@media (max-width:767.98px){.navbar-expand-md[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-md[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md[_ngcontent-%COMP%]{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-md[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]{flex-direction:row}.navbar-expand-md[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{position:absolute}.navbar-expand-md[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-md[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{flex-wrap:nowrap}.navbar-expand-md[_ngcontent-%COMP%]   .navbar-collapse[_ngcontent-%COMP%]{display:flex!important;flex-basis:auto}.navbar-expand-md[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{display:none}}@media (max-width:991.98px){.navbar-expand-lg[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-lg[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg[_ngcontent-%COMP%]{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]{flex-direction:row}.navbar-expand-lg[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{position:absolute}.navbar-expand-lg[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-lg[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{flex-wrap:nowrap}.navbar-expand-lg[_ngcontent-%COMP%]   .navbar-collapse[_ngcontent-%COMP%]{display:flex!important;flex-basis:auto}.navbar-expand-lg[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{display:none}}@media (max-width:1199.98px){.navbar-expand-xl[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-xl[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl[_ngcontent-%COMP%]{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-xl[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]{flex-direction:row}.navbar-expand-xl[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{position:absolute}.navbar-expand-xl[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-xl[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{flex-wrap:nowrap}.navbar-expand-xl[_ngcontent-%COMP%]   .navbar-collapse[_ngcontent-%COMP%]{display:flex!important;flex-basis:auto}.navbar-expand-xl[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{display:none}}.navbar-expand[_ngcontent-%COMP%]{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]{flex-direction:row}.navbar-expand[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{position:absolute}.navbar-expand[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{padding-right:.5rem;padding-left:.5rem}.navbar-expand[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{padding-right:0;padding-left:0;flex-wrap:nowrap}.navbar-expand[_ngcontent-%COMP%]   .navbar-collapse[_ngcontent-%COMP%]{display:flex!important;flex-basis:auto}.navbar-expand[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{display:none}.navbar-light[_ngcontent-%COMP%]   .navbar-brand[_ngcontent-%COMP%], .navbar-light[_ngcontent-%COMP%]   .navbar-brand[_ngcontent-%COMP%]:focus, .navbar-light[_ngcontent-%COMP%]   .navbar-brand[_ngcontent-%COMP%]:hover{color:rgba(0,0,0,.9)}.navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{color:rgba(0,0,0,.5)}.navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]:focus, .navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]:hover{color:rgba(0,0,0,.7)}.navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link.disabled[_ngcontent-%COMP%]{color:rgba(0,0,0,.3)}.navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .active[_ngcontent-%COMP%] > .nav-link[_ngcontent-%COMP%], .navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link.active[_ngcontent-%COMP%], .navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link.show[_ngcontent-%COMP%], .navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .show[_ngcontent-%COMP%] > .nav-link[_ngcontent-%COMP%]{color:rgba(0,0,0,.9)}.navbar-light[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light[_ngcontent-%COMP%]   .navbar-toggler-icon[_ngcontent-%COMP%]{background-image:url("data:image/svg+xml,%3csvg viewBox=\'0 0 30 30\' xmlns=\'http://www.w3.org/2000/svg\'%3e%3cpath stroke=\'rgba(0, 0, 0, 0.5)\' stroke-width=\'2\' stroke-linecap=\'round\' stroke-miterlimit=\'10\' d=\'M4 7h22M4 15h22M4 23h22\'/%3e%3c/svg%3e")}.navbar-light[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]{color:rgba(0,0,0,.5)}.navbar-light[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]   a[_ngcontent-%COMP%], .navbar-light[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]:focus, .navbar-light[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]:hover{color:rgba(0,0,0,.9)}.navbar-dark[_ngcontent-%COMP%]   .navbar-brand[_ngcontent-%COMP%], .navbar-dark[_ngcontent-%COMP%]   .navbar-brand[_ngcontent-%COMP%]:focus, .navbar-dark[_ngcontent-%COMP%]   .navbar-brand[_ngcontent-%COMP%]:hover{color:#fff}.navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{color:rgba(255,255,255,.5)}.navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]:focus, .navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]:hover{color:rgba(255,255,255,.75)}.navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link.disabled[_ngcontent-%COMP%]{color:rgba(255,255,255,.25)}.navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .active[_ngcontent-%COMP%] > .nav-link[_ngcontent-%COMP%], .navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link.active[_ngcontent-%COMP%], .navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link.show[_ngcontent-%COMP%], .navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .show[_ngcontent-%COMP%] > .nav-link[_ngcontent-%COMP%]{color:#fff}.navbar-dark[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark[_ngcontent-%COMP%]   .navbar-toggler-icon[_ngcontent-%COMP%]{background-image:url("data:image/svg+xml,%3csvg viewBox=\'0 0 30 30\' xmlns=\'http://www.w3.org/2000/svg\'%3e%3cpath stroke=\'rgba(255, 255, 255, 0.5)\' stroke-width=\'2\' stroke-linecap=\'round\' stroke-miterlimit=\'10\' d=\'M4 7h22M4 15h22M4 23h22\'/%3e%3c/svg%3e")}.navbar-dark[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]{color:rgba(255,255,255,.5)}.navbar-dark[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]   a[_ngcontent-%COMP%], .navbar-dark[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]:focus, .navbar-dark[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]:hover{color:#fff}.card[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card[_ngcontent-%COMP%] > hr[_ngcontent-%COMP%], pre[_ngcontent-%COMP%] > hr[_ngcontent-%COMP%]{margin-right:0;margin-left:0}.card[_ngcontent-%COMP%] > .list-group[_ngcontent-%COMP%]:first-child   .list-group-item[_ngcontent-%COMP%]:first-child, pre[_ngcontent-%COMP%] > .list-group[_ngcontent-%COMP%]:first-child   .list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card[_ngcontent-%COMP%] > .list-group[_ngcontent-%COMP%]:last-child   .list-group-item[_ngcontent-%COMP%]:last-child, pre[_ngcontent-%COMP%] > .list-group[_ngcontent-%COMP%]:last-child   .list-group-item[_ngcontent-%COMP%]:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body[_ngcontent-%COMP%]{flex:1 1 auto;padding:1.25rem}.card-title[_ngcontent-%COMP%]{margin-bottom:.75rem}.card-subtitle[_ngcontent-%COMP%]{margin-top:-.375rem;margin-bottom:0}.card-text[_ngcontent-%COMP%]:last-child{margin-bottom:0}.card-link[_ngcontent-%COMP%]:hover{text-decoration:none}.card-link[_ngcontent-%COMP%] + .card-link[_ngcontent-%COMP%]{margin-left:1.25rem}.card-header[_ngcontent-%COMP%]{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header[_ngcontent-%COMP%]:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header[_ngcontent-%COMP%] + .list-group[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:first-child{border-top:0}.card-footer[_ngcontent-%COMP%]{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer[_ngcontent-%COMP%]:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs[_ngcontent-%COMP%]{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills[_ngcontent-%COMP%]{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay[_ngcontent-%COMP%]{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img[_ngcontent-%COMP%]{width:100%;border-radius:calc(.25rem - 1px)}.card-img-top[_ngcontent-%COMP%]{width:100%;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img-bottom[_ngcontent-%COMP%]{width:100%;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck[_ngcontent-%COMP%]{display:flex;flex-direction:column}.card-deck[_ngcontent-%COMP%]   .card[_ngcontent-%COMP%], .card-deck[_ngcontent-%COMP%]   pre[_ngcontent-%COMP%]{margin-bottom:15px}@media (min-width:576px){.card-deck[_ngcontent-%COMP%]{flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck[_ngcontent-%COMP%]   .card[_ngcontent-%COMP%], .card-deck[_ngcontent-%COMP%]   pre[_ngcontent-%COMP%]{display:flex;flex:1 0 0%;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group[_ngcontent-%COMP%]{display:flex;flex-direction:column}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]{margin-bottom:15px}@media (min-width:576px){.card-group[_ngcontent-%COMP%]{flex-flow:row wrap}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]{flex:1 0 0%;margin-bottom:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%] + .card[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%] + pre[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%] + .card[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%] + pre[_ngcontent-%COMP%]{margin-left:0;border-left:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:last-child), .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:last-child)   .card-header[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:last-child)   .card-img-top[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:last-child)   .card-header[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:last-child)   .card-img-top[_ngcontent-%COMP%]{border-top-right-radius:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:last-child)   .card-footer[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:last-child)   .card-img-bottom[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:last-child)   .card-footer[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:last-child)   .card-img-bottom[_ngcontent-%COMP%]{border-bottom-right-radius:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-child), .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-child)   .card-header[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-child)   .card-img-top[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-child)   .card-header[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-child)   .card-img-top[_ngcontent-%COMP%]{border-top-left-radius:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-child)   .card-footer[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-child)   .card-img-bottom[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-child)   .card-footer[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-child)   .card-img-bottom[_ngcontent-%COMP%]{border-bottom-left-radius:0}.card-columns[_ngcontent-%COMP%]{column-count:3;column-gap:1.25rem;orphans:1;widows:1}.card-columns[_ngcontent-%COMP%]   .card[_ngcontent-%COMP%], .card-columns[_ngcontent-%COMP%]   pre[_ngcontent-%COMP%]{display:inline-block;width:100%}}.card-columns[_ngcontent-%COMP%]   .card[_ngcontent-%COMP%], .card-columns[_ngcontent-%COMP%]   pre[_ngcontent-%COMP%]{margin-bottom:.75rem}.accordion[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%], .accordion[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]{overflow:hidden}.accordion[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-of-type)   .card-header[_ngcontent-%COMP%]:first-child, .accordion[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-of-type)   .card-header[_ngcontent-%COMP%]:first-child{border-radius:0}.accordion[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-of-type):not(:last-of-type), .accordion[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-of-type):not(:last-of-type){border-bottom:0;border-radius:0}.accordion[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:first-of-type, .accordion[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:first-of-type{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:last-of-type, .accordion[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:last-of-type{border-top-left-radius:0;border-top-right-radius:0}.accordion[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]   .card-header[_ngcontent-%COMP%], .accordion[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]   .card-header[_ngcontent-%COMP%]{margin-bottom:-1px}.breadcrumb[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item[_ngcontent-%COMP%] + .breadcrumb-item[_ngcontent-%COMP%]{padding-left:.5rem}.breadcrumb-item[_ngcontent-%COMP%] + .breadcrumb-item[_ngcontent-%COMP%]::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item[_ngcontent-%COMP%] + .breadcrumb-item[_ngcontent-%COMP%]:hover::before{text-decoration:none}.breadcrumb-item.active[_ngcontent-%COMP%]{color:#6c757d}.pagination[_ngcontent-%COMP%],   .cd-datatable .datatable-footer .datatable-pager ul{display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link[_ngcontent-%COMP%],   .cd-datatable .datatable-footer .datatable-pager ul li a{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#2b99a8;background-color:#fff;border:1px solid #dee2e6}.page-link[_ngcontent-%COMP%]:hover,   .cd-datatable .datatable-footer .datatable-pager ul li a:hover{z-index:2;color:#1b626b;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link[_ngcontent-%COMP%]:focus,   .cd-datatable .datatable-footer .datatable-pager ul li a:focus{z-index:2;outline:0;box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.page-item[_ngcontent-%COMP%]:first-child   .page-link[_ngcontent-%COMP%], .page-item[_ngcontent-%COMP%]:first-child     .cd-datatable .datatable-footer .datatable-pager ul li a,   .cd-datatable .datatable-footer .datatable-pager ul li .page-item:first-child a,   .cd-datatable .datatable-footer .datatable-pager ul li:first-child .page-link,   .cd-datatable .datatable-footer .datatable-pager ul li:first-child a{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item[_ngcontent-%COMP%]:last-child   .page-link[_ngcontent-%COMP%], .page-item[_ngcontent-%COMP%]:last-child     .cd-datatable .datatable-footer .datatable-pager ul li a,   .cd-datatable .datatable-footer .datatable-pager ul li .page-item:last-child a,   .cd-datatable .datatable-footer .datatable-pager ul li:last-child .page-link,   .cd-datatable .datatable-footer .datatable-pager ul li:last-child a{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active[_ngcontent-%COMP%]   .page-link[_ngcontent-%COMP%], .page-item.active[_ngcontent-%COMP%]     .cd-datatable .datatable-footer .datatable-pager ul li a,   .cd-datatable .datatable-footer .datatable-pager ul li .page-item.active a,   .cd-datatable .datatable-footer .datatable-pager ul li.active .page-link,   .cd-datatable .datatable-footer .datatable-pager ul li.active a{z-index:1;color:#fff;background-color:#2b99a8;border-color:#2b99a8}.page-item.disabled[_ngcontent-%COMP%]   .page-link[_ngcontent-%COMP%], .page-item.disabled[_ngcontent-%COMP%]     .cd-datatable .datatable-footer .datatable-pager ul li a,   .cd-datatable .datatable-footer .datatable-pager ul li .page-item.disabled a,   .cd-datatable .datatable-footer .datatable-pager ul li.disabled .page-link,   .cd-datatable .datatable-footer .datatable-pager ul li.disabled a{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg[_ngcontent-%COMP%]   .page-link[_ngcontent-%COMP%], .pagination-lg[_ngcontent-%COMP%]     .cd-datatable .datatable-footer .datatable-pager ul li a,   .cd-datatable .datatable-footer .datatable-pager ul li .pagination-lg a{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg[_ngcontent-%COMP%]   .page-item[_ngcontent-%COMP%]:first-child   .page-link[_ngcontent-%COMP%], .pagination-lg[_ngcontent-%COMP%]   .page-item[_ngcontent-%COMP%]:first-child     .cd-datatable .datatable-footer .datatable-pager ul li a, .pagination-lg[_ngcontent-%COMP%]     .cd-datatable .datatable-footer .datatable-pager ul li:first-child .page-link, .pagination-lg[_ngcontent-%COMP%]     .cd-datatable .datatable-footer .datatable-pager ul li:first-child a,   .cd-datatable .datatable-footer .datatable-pager ul .pagination-lg li:first-child .page-link,   .cd-datatable .datatable-footer .datatable-pager ul .pagination-lg li:first-child a,   .cd-datatable .datatable-footer .datatable-pager ul li .pagination-lg .page-item:first-child a{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg[_ngcontent-%COMP%]   .page-item[_ngcontent-%COMP%]:last-child   .page-link[_ngcontent-%COMP%], .pagination-lg[_ngcontent-%COMP%]   .page-item[_ngcontent-%COMP%]:last-child     .cd-datatable .datatable-footer .datatable-pager ul li a, .pagination-lg[_ngcontent-%COMP%]     .cd-datatable .datatable-footer .datatable-pager ul li:last-child .page-link, .pagination-lg[_ngcontent-%COMP%]     .cd-datatable .datatable-footer .datatable-pager ul li:last-child a,   .cd-datatable .datatable-footer .datatable-pager ul .pagination-lg li:last-child .page-link,   .cd-datatable .datatable-footer .datatable-pager ul .pagination-lg li:last-child a,   .cd-datatable .datatable-footer .datatable-pager ul li .pagination-lg .page-item:last-child a{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm[_ngcontent-%COMP%]   .page-link[_ngcontent-%COMP%], .pagination-sm[_ngcontent-%COMP%]     .cd-datatable .datatable-footer .datatable-pager ul li a,   .cd-datatable .datatable-footer .datatable-pager ul li .pagination-sm a{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm[_ngcontent-%COMP%]   .page-item[_ngcontent-%COMP%]:first-child   .page-link[_ngcontent-%COMP%], .pagination-sm[_ngcontent-%COMP%]   .page-item[_ngcontent-%COMP%]:first-child     .cd-datatable .datatable-footer .datatable-pager ul li a, .pagination-sm[_ngcontent-%COMP%]     .cd-datatable .datatable-footer .datatable-pager ul li:first-child .page-link, .pagination-sm[_ngcontent-%COMP%]     .cd-datatable .datatable-footer .datatable-pager ul li:first-child a,   .cd-datatable .datatable-footer .datatable-pager ul .pagination-sm li:first-child .page-link,   .cd-datatable .datatable-footer .datatable-pager ul .pagination-sm li:first-child a,   .cd-datatable .datatable-footer .datatable-pager ul li .pagination-sm .page-item:first-child a{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm[_ngcontent-%COMP%]   .page-item[_ngcontent-%COMP%]:last-child   .page-link[_ngcontent-%COMP%], .pagination-sm[_ngcontent-%COMP%]   .page-item[_ngcontent-%COMP%]:last-child     .cd-datatable .datatable-footer .datatable-pager ul li a, .pagination-sm[_ngcontent-%COMP%]     .cd-datatable .datatable-footer .datatable-pager ul li:last-child .page-link, .pagination-sm[_ngcontent-%COMP%]     .cd-datatable .datatable-footer .datatable-pager ul li:last-child a,   .cd-datatable .datatable-footer .datatable-pager ul .pagination-sm li:last-child .page-link,   .cd-datatable .datatable-footer .datatable-pager ul .pagination-sm li:last-child a,   .cd-datatable .datatable-footer .datatable-pager ul li .pagination-sm .page-item:last-child a{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge[_ngcontent-%COMP%]{display:inline-block;padding:.25em .4em;font-size:1rem;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;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){.badge[_ngcontent-%COMP%]{transition:none}}a.badge[_ngcontent-%COMP%]:focus, a.badge[_ngcontent-%COMP%]:hover{text-decoration:none}.badge[_ngcontent-%COMP%]:empty{display:none}.btn[_ngcontent-%COMP%]   .badge[_ngcontent-%COMP%]{position:relative;top:-1px}.badge-pill[_ngcontent-%COMP%]{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary[_ngcontent-%COMP%]{color:#fff;background-color:#2b99a8}a.badge-primary[_ngcontent-%COMP%]:focus, a.badge-primary[_ngcontent-%COMP%]:hover{color:#fff;background-color:#21747f}a.badge-primary.focus[_ngcontent-%COMP%], a.badge-primary[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(43,153,168,.5)}.badge-secondary[_ngcontent-%COMP%]{color:#fff;background-color:#ef5c55}a.badge-secondary[_ngcontent-%COMP%]:focus, a.badge-secondary[_ngcontent-%COMP%]:hover{color:#fff;background-color:#eb2f26}a.badge-secondary.focus[_ngcontent-%COMP%], a.badge-secondary[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(239,92,85,.5)}.badge-success[_ngcontent-%COMP%]{color:#fff;background-color:#28a745}a.badge-success[_ngcontent-%COMP%]:focus, a.badge-success[_ngcontent-%COMP%]:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus[_ngcontent-%COMP%], a.badge-success[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info[_ngcontent-%COMP%]{color:#fff;background-color:#17a2b8}a.badge-info[_ngcontent-%COMP%]:focus, a.badge-info[_ngcontent-%COMP%]:hover{color:#fff;background-color:#117a8b}a.badge-info.focus[_ngcontent-%COMP%], a.badge-info[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning[_ngcontent-%COMP%]{color:#212529;background-color:#ffc107}a.badge-warning[_ngcontent-%COMP%]:focus, a.badge-warning[_ngcontent-%COMP%]:hover{color:#212529;background-color:#d39e00}a.badge-warning.focus[_ngcontent-%COMP%], a.badge-warning[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger[_ngcontent-%COMP%]{color:#fff;background-color:#dc3545}a.badge-danger[_ngcontent-%COMP%]:focus, a.badge-danger[_ngcontent-%COMP%]:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus[_ngcontent-%COMP%], a.badge-danger[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light[_ngcontent-%COMP%]{color:#212529;background-color:#f8f9fa}a.badge-light[_ngcontent-%COMP%]:focus, a.badge-light[_ngcontent-%COMP%]:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus[_ngcontent-%COMP%], a.badge-light[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark[_ngcontent-%COMP%]{color:#fff;background-color:#777}a.badge-dark[_ngcontent-%COMP%]:focus, a.badge-dark[_ngcontent-%COMP%]:hover{color:#fff;background-color:#5e5e5e}a.badge-dark.focus[_ngcontent-%COMP%], a.badge-dark[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(119,119,119,.5)}.jumbotron[_ngcontent-%COMP%]{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron[_ngcontent-%COMP%]{padding:4rem 2rem}}.jumbotron-fluid[_ngcontent-%COMP%]{padding-right:0;padding-left:0;border-radius:0}.alert[_ngcontent-%COMP%]{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading[_ngcontent-%COMP%]{color:inherit}.alert-link[_ngcontent-%COMP%]{font-weight:700}.alert-dismissible[_ngcontent-%COMP%]{padding-right:4rem}.alert-dismissible[_ngcontent-%COMP%]   .close[_ngcontent-%COMP%]{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary[_ngcontent-%COMP%]{color:#165057;background-color:#d5ebee;border-color:#c4e2e7}.alert-primary[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#b2d9e0}.alert-primary[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#0c2b2e}.alert-secondary[_ngcontent-%COMP%]{color:#7c302c;background-color:#fcdedd;border-color:#fbd1cf}.alert-secondary[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#f9bab7}.alert-secondary[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#56211f}.alert-success[_ngcontent-%COMP%]{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#b1dfbb}.alert-success[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#0b2e13}.alert-info[_ngcontent-%COMP%]{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#abdde5}.alert-info[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#062c33}.alert-warning[_ngcontent-%COMP%]{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#ffe8a1}.alert-warning[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#533f03}.alert-danger[_ngcontent-%COMP%]{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#f1b0b7}.alert-danger[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#491217}.alert-light[_ngcontent-%COMP%]{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#ececf6}.alert-light[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#686868}.alert-dark[_ngcontent-%COMP%]{color:#3e3e3e;background-color:#e4e4e4;border-color:#d9d9d9}.alert-dark[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#ccc}.alert-dark[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#252525}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress[_ngcontent-%COMP%]{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#2b99a8;transition:width .6s ease}.progress-bar-striped[_ngcontent-%COMP%]{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:1rem 1rem}.progress-bar-animated[_ngcontent-%COMP%]{animation:1s linear infinite progress-bar-stripes}.media[_ngcontent-%COMP%]{display:flex;align-items:flex-start}.media-body[_ngcontent-%COMP%]{flex:1}.list-group[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action[_ngcontent-%COMP%]{width:100%;color:#495057;text-align:inherit}.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-action[_ngcontent-%COMP%]:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action[_ngcontent-%COMP%]:active{color:#212529;background-color:#e9ecef}.list-group-item[_ngcontent-%COMP%]{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item[_ngcontent-%COMP%]:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item.disabled[_ngcontent-%COMP%], .list-group-item[_ngcontent-%COMP%]:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active[_ngcontent-%COMP%]{z-index:2;color:#fff;background-color:#2b99a8;border-color:#2b99a8}.list-group-horizontal[_ngcontent-%COMP%]{flex-direction:row}.list-group-horizontal[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]{margin-right:-1px;margin-bottom:0}.list-group-horizontal[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}@media (min-width:576px){.list-group-horizontal-sm[_ngcontent-%COMP%]{flex-direction:row}.list-group-horizontal-sm[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]{margin-right:-1px;margin-bottom:0}.list-group-horizontal-sm[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:768px){.list-group-horizontal-md[_ngcontent-%COMP%]{flex-direction:row}.list-group-horizontal-md[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]{margin-right:-1px;margin-bottom:0}.list-group-horizontal-md[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:992px){.list-group-horizontal-lg[_ngcontent-%COMP%]{flex-direction:row}.list-group-horizontal-lg[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]{margin-right:-1px;margin-bottom:0}.list-group-horizontal-lg[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:1200px){.list-group-horizontal-xl[_ngcontent-%COMP%]{flex-direction:row}.list-group-horizontal-xl[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]{margin-right:-1px;margin-bottom:0}.list-group-horizontal-xl[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}.list-group-flush[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]{border-right:0;border-left:0;border-radius:0}.list-group-flush[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:last-child{margin-bottom:-1px}.list-group-flush[_ngcontent-%COMP%]:first-child   .list-group-item[_ngcontent-%COMP%]:first-child{border-top:0}.list-group-flush[_ngcontent-%COMP%]:last-child   .list-group-item[_ngcontent-%COMP%]:last-child{margin-bottom:0;border-bottom:0}.list-group-item-primary[_ngcontent-%COMP%]{color:#165057;background-color:#c4e2e7}.list-group-item-primary.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-primary.list-group-item-action[_ngcontent-%COMP%]:hover{color:#165057;background-color:#b2d9e0}.list-group-item-primary.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#165057;border-color:#165057}.list-group-item-secondary[_ngcontent-%COMP%]{color:#7c302c;background-color:#fbd1cf}.list-group-item-secondary.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-secondary.list-group-item-action[_ngcontent-%COMP%]:hover{color:#7c302c;background-color:#f9bab7}.list-group-item-secondary.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#7c302c;border-color:#7c302c}.list-group-item-success[_ngcontent-%COMP%]{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-success.list-group-item-action[_ngcontent-%COMP%]:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info[_ngcontent-%COMP%]{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-info.list-group-item-action[_ngcontent-%COMP%]:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning[_ngcontent-%COMP%]{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-warning.list-group-item-action[_ngcontent-%COMP%]:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger[_ngcontent-%COMP%]{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-danger.list-group-item-action[_ngcontent-%COMP%]:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light[_ngcontent-%COMP%]{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-light.list-group-item-action[_ngcontent-%COMP%]:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark[_ngcontent-%COMP%]{color:#3e3e3e;background-color:#d9d9d9}.list-group-item-dark.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-dark.list-group-item-action[_ngcontent-%COMP%]:hover{color:#3e3e3e;background-color:#ccc}.list-group-item-dark.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#3e3e3e;border-color:#3e3e3e}.close[_ngcontent-%COMP%]{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close[_ngcontent-%COMP%]:hover{color:#000;text-decoration:none}.close[_ngcontent-%COMP%]:not(:disabled):not(.disabled):focus, .close[_ngcontent-%COMP%]:not(:disabled):not(.disabled):hover{opacity:.75}button.close[_ngcontent-%COMP%]{padding:0;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}a.close.disabled[_ngcontent-%COMP%]{pointer-events:none}.toast[_ngcontent-%COMP%]{max-width:350px;overflow:hidden;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);backdrop-filter:blur(10px);opacity:0;border-radius:.25rem}.toast[_ngcontent-%COMP%]:not(:last-child){margin-bottom:.75rem}.toast.showing[_ngcontent-%COMP%]{opacity:1}.toast.show[_ngcontent-%COMP%]{display:block;opacity:1}.toast.hide[_ngcontent-%COMP%]{display:none}.toast-header[_ngcontent-%COMP%]{display:flex;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}.toast-body[_ngcontent-%COMP%]{padding:.75rem}.modal-open[_ngcontent-%COMP%]{overflow:hidden}.modal-open[_ngcontent-%COMP%]   .modal[_ngcontent-%COMP%]{overflow-x:hidden;overflow-y:auto}.modal[_ngcontent-%COMP%]{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog[_ngcontent-%COMP%]{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade[_ngcontent-%COMP%]   .modal-dialog[_ngcontent-%COMP%]{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.progress-bar[_ngcontent-%COMP%]{transition:none}.progress-bar-animated[_ngcontent-%COMP%]{animation:none}.modal.fade[_ngcontent-%COMP%]   .modal-dialog[_ngcontent-%COMP%]{transition:none}}.modal.show[_ngcontent-%COMP%]   .modal-dialog[_ngcontent-%COMP%]{transform:none}.modal-dialog-scrollable[_ngcontent-%COMP%]{display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable[_ngcontent-%COMP%]   .modal-content[_ngcontent-%COMP%]{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable[_ngcontent-%COMP%]   .modal-footer[_ngcontent-%COMP%], .modal-dialog-scrollable[_ngcontent-%COMP%]   .modal-header[_ngcontent-%COMP%]{flex-shrink:0}.modal-dialog-scrollable[_ngcontent-%COMP%]   .modal-body[_ngcontent-%COMP%]{overflow-y:auto}.modal-dialog-centered[_ngcontent-%COMP%]{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered[_ngcontent-%COMP%]::before{display:block;height:calc(100vh - 1rem);content:""}.modal-dialog-centered.modal-dialog-scrollable[_ngcontent-%COMP%]{flex-direction:column;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable[_ngcontent-%COMP%]   .modal-content[_ngcontent-%COMP%]{max-height:none}.modal-dialog-centered.modal-dialog-scrollable[_ngcontent-%COMP%]::before{content:none}.modal-content[_ngcontent-%COMP%]{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop[_ngcontent-%COMP%]{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade[_ngcontent-%COMP%]{opacity:0}.modal-backdrop.show[_ngcontent-%COMP%]{opacity:.5}.modal-header[_ngcontent-%COMP%]{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:.3rem;border-top-right-radius:.3rem}.modal-header[_ngcontent-%COMP%]   .close[_ngcontent-%COMP%]{padding:1rem;margin:-1rem -1rem -1rem auto}.modal-title[_ngcontent-%COMP%]{margin-bottom:0;line-height:1.5}.modal-body[_ngcontent-%COMP%]{position:relative;flex:1 1 auto;padding:1rem}.modal-footer[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:flex-end;padding:1rem;border-top:1px solid #dee2e6;border-bottom-right-radius:.3rem;border-bottom-left-radius:.3rem}.modal-footer[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:not(:first-child){margin-left:.25rem}.modal-footer[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure[_ngcontent-%COMP%]{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog[_ngcontent-%COMP%]{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable[_ngcontent-%COMP%]{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable[_ngcontent-%COMP%]   .modal-content[_ngcontent-%COMP%]{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered[_ngcontent-%COMP%]{min-height:calc(100% - 3.5rem)}.modal-dialog-centered[_ngcontent-%COMP%]::before{height:calc(100vh - 3.5rem)}.modal-sm[_ngcontent-%COMP%]{max-width:300px}}@media (min-width:992px){.modal-lg[_ngcontent-%COMP%], .modal-xl[_ngcontent-%COMP%]{max-width:800px}}@media (min-width:1200px){.modal-xl[_ngcontent-%COMP%]{max-width:1140px}}.tooltip[_ngcontent-%COMP%]{position:absolute;z-index:1070;display:block;margin:0;font-family:"Helvetica Neue",Helvetica,Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show[_ngcontent-%COMP%]{opacity:.9}.tooltip[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top][_ngcontent-%COMP%], .bs-tooltip-top[_ngcontent-%COMP%]{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%], .bs-tooltip-top[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]{bottom:0}.bs-tooltip-auto[x-placement^=top][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before, .bs-tooltip-top[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right][_ngcontent-%COMP%], .bs-tooltip-right[_ngcontent-%COMP%]{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%], .bs-tooltip-right[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before, .bs-tooltip-right[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom][_ngcontent-%COMP%], .bs-tooltip-bottom[_ngcontent-%COMP%]{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%], .bs-tooltip-bottom[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]{top:0}.bs-tooltip-auto[x-placement^=bottom][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before, .bs-tooltip-bottom[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left][_ngcontent-%COMP%], .bs-tooltip-left[_ngcontent-%COMP%]{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%], .bs-tooltip-left[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before, .bs-tooltip-left[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner[_ngcontent-%COMP%]{max-width:200px;padding:.25rem .5rem;text-align:center;border-radius:.25rem}.popover[_ngcontent-%COMP%]{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:350px;font-family:"Helvetica Neue",Helvetica,Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::after, .popover[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top][_ngcontent-%COMP%], .bs-popover-top[_ngcontent-%COMP%]{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%], .bs-popover-top[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]{bottom:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=top][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before, .bs-popover-top[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after, .bs-popover-top[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right][_ngcontent-%COMP%], .bs-popover-right[_ngcontent-%COMP%]{margin-left:.5rem}.bs-popover-auto[x-placement^=right][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%], .bs-popover-right[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]{left:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before, .bs-popover-right[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after, .bs-popover-right[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom][_ngcontent-%COMP%], .bs-popover-bottom[_ngcontent-%COMP%]{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%], .bs-popover-bottom[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]{top:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=bottom][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before, .bs-popover-bottom[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before{top:0;border-width:0 .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after, .bs-popover-bottom[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after{top:1px;border-width:0 .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom][_ngcontent-%COMP%]   .popover-header[_ngcontent-%COMP%]::before, .bs-popover-bottom[_ngcontent-%COMP%]   .popover-header[_ngcontent-%COMP%]::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left][_ngcontent-%COMP%], .bs-popover-left[_ngcontent-%COMP%]{margin-right:.5rem}.bs-popover-auto[x-placement^=left][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%], .bs-popover-left[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]{right:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before, .bs-popover-left[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after, .bs-popover-left[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header[_ngcontent-%COMP%]{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header[_ngcontent-%COMP%]:empty{display:none}.popover-body[_ngcontent-%COMP%]{padding:.5rem .75rem;color:#212529}.carousel[_ngcontent-%COMP%]{position:relative}.carousel.pointer-event[_ngcontent-%COMP%]{touch-action:pan-y}.carousel-inner[_ngcontent-%COMP%]{position:relative;width:100%;overflow:hidden}.carousel-inner[_ngcontent-%COMP%]::after{display:block;clear:both;content:""}.carousel-item[_ngcontent-%COMP%]{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}.carousel-item-next[_ngcontent-%COMP%], .carousel-item-prev[_ngcontent-%COMP%], .carousel-item.active[_ngcontent-%COMP%]{display:block}.active.carousel-item-right[_ngcontent-%COMP%], .carousel-item-next[_ngcontent-%COMP%]:not(.carousel-item-left){transform:translateX(100%)}.active.carousel-item-left[_ngcontent-%COMP%], .carousel-item-prev[_ngcontent-%COMP%]:not(.carousel-item-right){transform:translateX(-100%)}.carousel-fade[_ngcontent-%COMP%]   .carousel-item[_ngcontent-%COMP%]{opacity:0;transition-property:opacity;transform:none}.carousel-fade[_ngcontent-%COMP%]   .carousel-item-next.carousel-item-left[_ngcontent-%COMP%], .carousel-fade[_ngcontent-%COMP%]   .carousel-item-prev.carousel-item-right[_ngcontent-%COMP%], .carousel-fade[_ngcontent-%COMP%]   .carousel-item.active[_ngcontent-%COMP%]{z-index:1;opacity:1}.carousel-fade[_ngcontent-%COMP%]   .active.carousel-item-left[_ngcontent-%COMP%], .carousel-fade[_ngcontent-%COMP%]   .active.carousel-item-right[_ngcontent-%COMP%]{z-index:0;opacity:0;transition:0s .6s opacity}@media (prefers-reduced-motion:reduce){.carousel-fade[_ngcontent-%COMP%]   .active.carousel-item-left[_ngcontent-%COMP%], .carousel-fade[_ngcontent-%COMP%]   .active.carousel-item-right[_ngcontent-%COMP%], .carousel-item[_ngcontent-%COMP%]{transition:none}}.carousel-control-next[_ngcontent-%COMP%], .carousel-control-prev[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}.carousel-control-next[_ngcontent-%COMP%]:focus, .carousel-control-next[_ngcontent-%COMP%]:hover, .carousel-control-prev[_ngcontent-%COMP%]:focus, .carousel-control-prev[_ngcontent-%COMP%]:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev[_ngcontent-%COMP%]{left:0}.carousel-control-next[_ngcontent-%COMP%]{right:0}.carousel-control-next-icon[_ngcontent-%COMP%], .carousel-control-prev-icon[_ngcontent-%COMP%]{display:inline-block;width:20px;height:20px;background:50%/100% 100% no-repeat}.carousel-control-prev-icon[_ngcontent-%COMP%]{background-image:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' fill=\'%23fff\' viewBox=\'0 0 8 8\'%3e%3cpath d=\'M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z\'/%3e%3c/svg%3e")}.carousel-control-next-icon[_ngcontent-%COMP%]{background-image:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' fill=\'%23fff\' viewBox=\'0 0 8 8\'%3e%3cpath d=\'M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z\'/%3e%3c/svg%3e")}.carousel-indicators[_ngcontent-%COMP%]{position:absolute;right:0;bottom:0;left:0;z-index:15;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next[_ngcontent-%COMP%], .carousel-control-prev[_ngcontent-%COMP%], .carousel-indicators[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]{transition:none}}.carousel-indicators[_ngcontent-%COMP%]   .active[_ngcontent-%COMP%]{opacity:1}.carousel-caption[_ngcontent-%COMP%]{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border[_ngcontent-%COMP%]{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;animation:.75s linear infinite spinner-border}.spinner-border-sm[_ngcontent-%COMP%]{width:1rem;height:1rem;border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1}}.spinner-grow[_ngcontent-%COMP%]{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;animation:.75s linear infinite spinner-grow}.spinner-grow-sm[_ngcontent-%COMP%]{width:1rem;height:1rem}.align-baseline[_ngcontent-%COMP%]{vertical-align:baseline!important}.align-top[_ngcontent-%COMP%]{vertical-align:top!important}.align-middle[_ngcontent-%COMP%]{vertical-align:middle!important}.align-bottom[_ngcontent-%COMP%]{vertical-align:bottom!important}.align-text-bottom[_ngcontent-%COMP%]{vertical-align:text-bottom!important}.align-text-top[_ngcontent-%COMP%]{vertical-align:text-top!important}.bg-primary[_ngcontent-%COMP%]{background-color:#2b99a8!important}a.bg-primary[_ngcontent-%COMP%]:focus, a.bg-primary[_ngcontent-%COMP%]:hover, button.bg-primary[_ngcontent-%COMP%]:focus, button.bg-primary[_ngcontent-%COMP%]:hover{background-color:#21747f!important}.bg-secondary[_ngcontent-%COMP%]{background-color:#ef5c55!important}a.bg-secondary[_ngcontent-%COMP%]:focus, a.bg-secondary[_ngcontent-%COMP%]:hover, button.bg-secondary[_ngcontent-%COMP%]:focus, button.bg-secondary[_ngcontent-%COMP%]:hover{background-color:#eb2f26!important}.bg-success[_ngcontent-%COMP%]{background-color:#28a745!important}a.bg-success[_ngcontent-%COMP%]:focus, a.bg-success[_ngcontent-%COMP%]:hover, button.bg-success[_ngcontent-%COMP%]:focus, button.bg-success[_ngcontent-%COMP%]:hover{background-color:#1e7e34!important}.bg-info[_ngcontent-%COMP%]{background-color:#17a2b8!important}a.bg-info[_ngcontent-%COMP%]:focus, a.bg-info[_ngcontent-%COMP%]:hover, button.bg-info[_ngcontent-%COMP%]:focus, button.bg-info[_ngcontent-%COMP%]:hover{background-color:#117a8b!important}.bg-warning[_ngcontent-%COMP%]{background-color:#ffc107!important}a.bg-warning[_ngcontent-%COMP%]:focus, a.bg-warning[_ngcontent-%COMP%]:hover, button.bg-warning[_ngcontent-%COMP%]:focus, button.bg-warning[_ngcontent-%COMP%]:hover{background-color:#d39e00!important}.bg-danger[_ngcontent-%COMP%]{background-color:#dc3545!important}a.bg-danger[_ngcontent-%COMP%]:focus, a.bg-danger[_ngcontent-%COMP%]:hover, button.bg-danger[_ngcontent-%COMP%]:focus, button.bg-danger[_ngcontent-%COMP%]:hover{background-color:#bd2130!important}.bg-light[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]{background-color:#f8f9fa!important}a.bg-light[_ngcontent-%COMP%]:focus, a.bg-light[_ngcontent-%COMP%]:hover, button.bg-light[_ngcontent-%COMP%]:focus, button.bg-light[_ngcontent-%COMP%]:hover{background-color:#dae0e5!important}.bg-dark[_ngcontent-%COMP%]{background-color:#777!important}a.bg-dark[_ngcontent-%COMP%]:focus, a.bg-dark[_ngcontent-%COMP%]:hover, button.bg-dark[_ngcontent-%COMP%]:focus, button.bg-dark[_ngcontent-%COMP%]:hover{background-color:#5e5e5e!important}.bg-white[_ngcontent-%COMP%]{background-color:#fff!important}.bg-transparent[_ngcontent-%COMP%]{background-color:transparent!important}.border[_ngcontent-%COMP%]{border:1px solid #dee2e6!important}.border-top[_ngcontent-%COMP%]{border-top:1px solid #dee2e6!important}.border-right[_ngcontent-%COMP%]{border-right:1px solid #dee2e6!important}.border-bottom[_ngcontent-%COMP%], .cd-header[_ngcontent-%COMP%], legend[_ngcontent-%COMP%]{border-bottom:1px solid #dee2e6!important}.border-left[_ngcontent-%COMP%]{border-left:1px solid #dee2e6!important}.border-0[_ngcontent-%COMP%]{border:0!important}.border-top-0[_ngcontent-%COMP%]{border-top:0!important}.border-right-0[_ngcontent-%COMP%]{border-right:0!important}.border-bottom-0[_ngcontent-%COMP%]{border-bottom:0!important}.border-left-0[_ngcontent-%COMP%]{border-left:0!important}.border-primary[_ngcontent-%COMP%]{border-color:#2b99a8!important}.border-secondary[_ngcontent-%COMP%]{border-color:#ef5c55!important}.border-success[_ngcontent-%COMP%]{border-color:#28a745!important}.border-info[_ngcontent-%COMP%]{border-color:#17a2b8!important}.border-warning[_ngcontent-%COMP%]{border-color:#ffc107!important}.border-danger[_ngcontent-%COMP%]{border-color:#dc3545!important}.border-light[_ngcontent-%COMP%]{border-color:#f8f9fa!important}.border-dark[_ngcontent-%COMP%]{border-color:#777!important}.border-white[_ngcontent-%COMP%]{border-color:#fff!important}.rounded-sm[_ngcontent-%COMP%]{border-radius:.2rem!important}.rounded[_ngcontent-%COMP%]{border-radius:.25rem!important}.rounded-top[_ngcontent-%COMP%]{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right[_ngcontent-%COMP%]{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom[_ngcontent-%COMP%]{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left[_ngcontent-%COMP%]{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-lg[_ngcontent-%COMP%]{border-radius:.3rem!important}.rounded-circle[_ngcontent-%COMP%]{border-radius:50%!important}.rounded-pill[_ngcontent-%COMP%]{border-radius:50rem!important}.rounded-0[_ngcontent-%COMP%]{border-radius:0!important}.clearfix[_ngcontent-%COMP%]::after{display:block;clear:both;content:""}.d-none[_ngcontent-%COMP%]{display:none!important}.d-inline[_ngcontent-%COMP%]{display:inline!important}.d-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-block[_ngcontent-%COMP%]{display:block!important}.d-table[_ngcontent-%COMP%]{display:table!important}.d-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-flex[_ngcontent-%COMP%]{display:flex!important}.d-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}@media (min-width:576px){.d-sm-none[_ngcontent-%COMP%]{display:none!important}.d-sm-inline[_ngcontent-%COMP%]{display:inline!important}.d-sm-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-sm-block[_ngcontent-%COMP%]{display:block!important}.d-sm-table[_ngcontent-%COMP%]{display:table!important}.d-sm-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-sm-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-sm-flex[_ngcontent-%COMP%]{display:flex!important}.d-sm-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}}@media (min-width:768px){.d-md-none[_ngcontent-%COMP%]{display:none!important}.d-md-inline[_ngcontent-%COMP%]{display:inline!important}.d-md-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-md-block[_ngcontent-%COMP%]{display:block!important}.d-md-table[_ngcontent-%COMP%]{display:table!important}.d-md-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-md-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-md-flex[_ngcontent-%COMP%]{display:flex!important}.d-md-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}}@media (min-width:992px){.d-lg-none[_ngcontent-%COMP%]{display:none!important}.d-lg-inline[_ngcontent-%COMP%]{display:inline!important}.d-lg-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-lg-block[_ngcontent-%COMP%]{display:block!important}.d-lg-table[_ngcontent-%COMP%]{display:table!important}.d-lg-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-lg-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-lg-flex[_ngcontent-%COMP%]{display:flex!important}.d-lg-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}}@media (min-width:1200px){.d-xl-none[_ngcontent-%COMP%]{display:none!important}.d-xl-inline[_ngcontent-%COMP%]{display:inline!important}.d-xl-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-xl-block[_ngcontent-%COMP%]{display:block!important}.d-xl-table[_ngcontent-%COMP%]{display:table!important}.d-xl-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-xl-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-xl-flex[_ngcontent-%COMP%]{display:flex!important}.d-xl-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}}@media print{.d-print-none[_ngcontent-%COMP%]{display:none!important}.d-print-inline[_ngcontent-%COMP%]{display:inline!important}.d-print-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-print-block[_ngcontent-%COMP%]{display:block!important}.d-print-table[_ngcontent-%COMP%]{display:table!important}.d-print-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-print-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-print-flex[_ngcontent-%COMP%]{display:flex!important}.d-print-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}}.embed-responsive[_ngcontent-%COMP%]{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive[_ngcontent-%COMP%]::before{display:block;content:""}.embed-responsive[_ngcontent-%COMP%]   .embed-responsive-item[_ngcontent-%COMP%], .embed-responsive[_ngcontent-%COMP%]   embed[_ngcontent-%COMP%], .embed-responsive[_ngcontent-%COMP%]   iframe[_ngcontent-%COMP%], .embed-responsive[_ngcontent-%COMP%]   object[_ngcontent-%COMP%], .embed-responsive[_ngcontent-%COMP%]   video[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9[_ngcontent-%COMP%]::before{padding-top:42.8571428571%}.embed-responsive-16by9[_ngcontent-%COMP%]::before{padding-top:56.25%}.embed-responsive-4by3[_ngcontent-%COMP%]::before{padding-top:75%}.embed-responsive-1by1[_ngcontent-%COMP%]::before{padding-top:100%}.flex-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-column[_ngcontent-%COMP%]{flex-direction:column!important}.flex-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.flex-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.justify-content-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-stretch[_ngcontent-%COMP%]{align-self:stretch!important}@media (min-width:576px){.flex-sm-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-sm-column[_ngcontent-%COMP%]{flex-direction:column!important}.flex-sm-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-sm-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-sm-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-sm-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-sm-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.flex-sm-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-sm-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-sm-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-sm-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-sm-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.justify-content-sm-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-sm-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-sm-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-sm-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-sm-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-sm-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-sm-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-sm-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-sm-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-sm-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-sm-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-sm-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-sm-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-sm-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-sm-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-sm-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-sm-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-sm-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-sm-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-sm-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-sm-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-sm-stretch[_ngcontent-%COMP%]{align-self:stretch!important}}.float-left[_ngcontent-%COMP%]{float:left!important}.float-right[_ngcontent-%COMP%]{float:right!important}.float-none[_ngcontent-%COMP%]{float:none!important}@media (min-width:576px){.float-sm-left[_ngcontent-%COMP%]{float:left!important}.float-sm-right[_ngcontent-%COMP%]{float:right!important}.float-sm-none[_ngcontent-%COMP%]{float:none!important}}.overflow-auto[_ngcontent-%COMP%]{overflow:auto!important}.overflow-hidden[_ngcontent-%COMP%]{overflow:hidden!important}.position-static[_ngcontent-%COMP%]{position:static!important}.position-relative[_ngcontent-%COMP%]{position:relative!important}.position-absolute[_ngcontent-%COMP%]{position:absolute!important}.position-fixed[_ngcontent-%COMP%]{position:fixed!important}.position-sticky[_ngcontent-%COMP%]{position:sticky!important}.fixed-top[_ngcontent-%COMP%]{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom[_ngcontent-%COMP%]{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports (position:sticky){.sticky-top[_ngcontent-%COMP%]{position:sticky;top:0;z-index:1020}}.sr-only[_ngcontent-%COMP%]{clip:rect(0,0,0,0);white-space:nowrap}.shadow-sm[_ngcontent-%COMP%]{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow[_ngcontent-%COMP%]{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg[_ngcontent-%COMP%]{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none[_ngcontent-%COMP%]{box-shadow:none!important}.w-25[_ngcontent-%COMP%]{width:25%!important}.w-50[_ngcontent-%COMP%]{width:50%!important}.w-75[_ngcontent-%COMP%]{width:75%!important}.w-100[_ngcontent-%COMP%]{width:100%!important}.w-auto[_ngcontent-%COMP%]{width:auto!important}.h-25[_ngcontent-%COMP%]{height:25%!important}.h-50[_ngcontent-%COMP%]{height:50%!important}.h-75[_ngcontent-%COMP%]{height:75%!important}.h-100[_ngcontent-%COMP%]{height:100%!important}.h-auto[_ngcontent-%COMP%]{height:auto!important}.mw-100[_ngcontent-%COMP%]{max-width:100%!important}.mh-100[_ngcontent-%COMP%]{max-height:100%!important}.min-vw-100[_ngcontent-%COMP%]{min-width:100vw!important}.min-vh-100[_ngcontent-%COMP%]{min-height:100vh!important}.vw-100[_ngcontent-%COMP%]{width:100vw!important}.vh-100[_ngcontent-%COMP%]{height:100vh!important}.stretched-link[_ngcontent-%COMP%]::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.m-0[_ngcontent-%COMP%]{margin:0!important}.mt-0[_ngcontent-%COMP%], .my-0[_ngcontent-%COMP%]{margin-top:0!important}.mr-0[_ngcontent-%COMP%], .mx-0[_ngcontent-%COMP%]{margin-right:0!important}.mb-0[_ngcontent-%COMP%], .my-0[_ngcontent-%COMP%]{margin-bottom:0!important}.ml-0[_ngcontent-%COMP%], .mx-0[_ngcontent-%COMP%]{margin-left:0!important}.m-1[_ngcontent-%COMP%]{margin:.25rem!important}.mt-1[_ngcontent-%COMP%], .my-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mr-1[_ngcontent-%COMP%], .mx-1[_ngcontent-%COMP%]{margin-right:.25rem!important}.mb-1[_ngcontent-%COMP%], .my-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.ml-1[_ngcontent-%COMP%], .mx-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.m-2[_ngcontent-%COMP%]{margin:.5rem!important}.mt-2[_ngcontent-%COMP%], .my-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mr-2[_ngcontent-%COMP%], .mx-2[_ngcontent-%COMP%]{margin-right:.5rem!important}.mb-2[_ngcontent-%COMP%], .my-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.ml-2[_ngcontent-%COMP%], .mx-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.m-3[_ngcontent-%COMP%]{margin:1rem!important}.mt-3[_ngcontent-%COMP%], .my-3[_ngcontent-%COMP%]{margin-top:1rem!important}.mr-3[_ngcontent-%COMP%], .mx-3[_ngcontent-%COMP%]{margin-right:1rem!important}.mb-3[_ngcontent-%COMP%], .my-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.ml-3[_ngcontent-%COMP%], .mx-3[_ngcontent-%COMP%]{margin-left:1rem!important}.m-4[_ngcontent-%COMP%]{margin:1.5rem!important}.cd-header[_ngcontent-%COMP%], .mt-4[_ngcontent-%COMP%], .my-4[_ngcontent-%COMP%], legend[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mr-4[_ngcontent-%COMP%], .mx-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.cd-header[_ngcontent-%COMP%], .mb-4[_ngcontent-%COMP%], .my-4[_ngcontent-%COMP%], legend[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.ml-4[_ngcontent-%COMP%], .mx-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.m-5[_ngcontent-%COMP%]{margin:3rem!important}.mt-5[_ngcontent-%COMP%], .my-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mr-5[_ngcontent-%COMP%], .mx-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mb-5[_ngcontent-%COMP%], .my-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.ml-5[_ngcontent-%COMP%], .mx-5[_ngcontent-%COMP%]{margin-left:3rem!important}.p-0[_ngcontent-%COMP%]{padding:0!important}.pt-0[_ngcontent-%COMP%], .py-0[_ngcontent-%COMP%]{padding-top:0!important}.pr-0[_ngcontent-%COMP%], .px-0[_ngcontent-%COMP%]{padding-right:0!important}.pb-0[_ngcontent-%COMP%], .py-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pl-0[_ngcontent-%COMP%], .px-0[_ngcontent-%COMP%]{padding-left:0!important}.p-1[_ngcontent-%COMP%]{padding:.25rem!important}.pt-1[_ngcontent-%COMP%], .py-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pr-1[_ngcontent-%COMP%], .px-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.cd-header[_ngcontent-%COMP%], .pb-1[_ngcontent-%COMP%], .py-1[_ngcontent-%COMP%], legend[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pl-1[_ngcontent-%COMP%], .px-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.p-2[_ngcontent-%COMP%],   .cd-datatable .datatable-footer, pre[_ngcontent-%COMP%]{padding:.5rem!important}.pt-2[_ngcontent-%COMP%], .py-2[_ngcontent-%COMP%]{padding-top:.5rem!important}.pr-2[_ngcontent-%COMP%], .px-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.pb-2[_ngcontent-%COMP%], .py-2[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pl-2[_ngcontent-%COMP%], .px-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.p-3[_ngcontent-%COMP%]{padding:1rem!important}.pt-3[_ngcontent-%COMP%], .py-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pr-3[_ngcontent-%COMP%], .px-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pb-3[_ngcontent-%COMP%], .py-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pl-3[_ngcontent-%COMP%], .px-3[_ngcontent-%COMP%]{padding-left:1rem!important}.p-4[_ngcontent-%COMP%]{padding:1.5rem!important}.pt-4[_ngcontent-%COMP%], .py-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pr-4[_ngcontent-%COMP%], .px-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pb-4[_ngcontent-%COMP%], .py-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pl-4[_ngcontent-%COMP%], .px-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.p-5[_ngcontent-%COMP%]{padding:3rem!important}.pt-5[_ngcontent-%COMP%], .py-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-5[_ngcontent-%COMP%], .px-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-5[_ngcontent-%COMP%], .py-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-5[_ngcontent-%COMP%], .px-5[_ngcontent-%COMP%]{padding-left:3rem!important}.m-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.mt-n1[_ngcontent-%COMP%], .my-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mr-n1[_ngcontent-%COMP%], .mx-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mb-n1[_ngcontent-%COMP%], .my-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.ml-n1[_ngcontent-%COMP%], .mx-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.m-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.mt-n2[_ngcontent-%COMP%], .my-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mr-n2[_ngcontent-%COMP%], .mx-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mb-n2[_ngcontent-%COMP%], .my-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.ml-n2[_ngcontent-%COMP%], .mx-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.m-n3[_ngcontent-%COMP%]{margin:-1rem!important}.mt-n3[_ngcontent-%COMP%], .my-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mr-n3[_ngcontent-%COMP%], .mx-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mb-n3[_ngcontent-%COMP%], .my-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.ml-n3[_ngcontent-%COMP%], .mx-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.m-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.mt-n4[_ngcontent-%COMP%], .my-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mr-n4[_ngcontent-%COMP%], .mx-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mb-n4[_ngcontent-%COMP%], .my-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.ml-n4[_ngcontent-%COMP%], .mx-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.m-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mt-n5[_ngcontent-%COMP%], .my-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-n5[_ngcontent-%COMP%], .mx-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-n5[_ngcontent-%COMP%], .my-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-n5[_ngcontent-%COMP%], .mx-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.m-auto[_ngcontent-%COMP%]{margin:auto!important}.mt-auto[_ngcontent-%COMP%], .my-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-auto[_ngcontent-%COMP%], .mx-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-auto[_ngcontent-%COMP%], .my-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-auto[_ngcontent-%COMP%], .mx-auto[_ngcontent-%COMP%]{margin-left:auto!important}@media (min-width:576px){.m-sm-0[_ngcontent-%COMP%]{margin:0!important}.mt-sm-0[_ngcontent-%COMP%], .my-sm-0[_ngcontent-%COMP%]{margin-top:0!important}.mr-sm-0[_ngcontent-%COMP%], .mx-sm-0[_ngcontent-%COMP%]{margin-right:0!important}.mb-sm-0[_ngcontent-%COMP%], .my-sm-0[_ngcontent-%COMP%]{margin-bottom:0!important}.ml-sm-0[_ngcontent-%COMP%], .mx-sm-0[_ngcontent-%COMP%]{margin-left:0!important}.m-sm-1[_ngcontent-%COMP%]{margin:.25rem!important}.mt-sm-1[_ngcontent-%COMP%], .my-sm-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mr-sm-1[_ngcontent-%COMP%], .mx-sm-1[_ngcontent-%COMP%]{margin-right:.25rem!important}.mb-sm-1[_ngcontent-%COMP%], .my-sm-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.ml-sm-1[_ngcontent-%COMP%], .mx-sm-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.m-sm-2[_ngcontent-%COMP%]{margin:.5rem!important}.mt-sm-2[_ngcontent-%COMP%], .my-sm-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mr-sm-2[_ngcontent-%COMP%], .mx-sm-2[_ngcontent-%COMP%]{margin-right:.5rem!important}.mb-sm-2[_ngcontent-%COMP%], .my-sm-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.ml-sm-2[_ngcontent-%COMP%], .mx-sm-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.m-sm-3[_ngcontent-%COMP%]{margin:1rem!important}.mt-sm-3[_ngcontent-%COMP%], .my-sm-3[_ngcontent-%COMP%]{margin-top:1rem!important}.mr-sm-3[_ngcontent-%COMP%], .mx-sm-3[_ngcontent-%COMP%]{margin-right:1rem!important}.mb-sm-3[_ngcontent-%COMP%], .my-sm-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.ml-sm-3[_ngcontent-%COMP%], .mx-sm-3[_ngcontent-%COMP%]{margin-left:1rem!important}.m-sm-4[_ngcontent-%COMP%]{margin:1.5rem!important}.mt-sm-4[_ngcontent-%COMP%], .my-sm-4[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mr-sm-4[_ngcontent-%COMP%], .mx-sm-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.mb-sm-4[_ngcontent-%COMP%], .my-sm-4[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.ml-sm-4[_ngcontent-%COMP%], .mx-sm-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.m-sm-5[_ngcontent-%COMP%]{margin:3rem!important}.mt-sm-5[_ngcontent-%COMP%], .my-sm-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mr-sm-5[_ngcontent-%COMP%], .mx-sm-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mb-sm-5[_ngcontent-%COMP%], .my-sm-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.ml-sm-5[_ngcontent-%COMP%], .mx-sm-5[_ngcontent-%COMP%]{margin-left:3rem!important}.p-sm-0[_ngcontent-%COMP%]{padding:0!important}.pt-sm-0[_ngcontent-%COMP%], .py-sm-0[_ngcontent-%COMP%]{padding-top:0!important}.pr-sm-0[_ngcontent-%COMP%], .px-sm-0[_ngcontent-%COMP%]{padding-right:0!important}.pb-sm-0[_ngcontent-%COMP%], .py-sm-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pl-sm-0[_ngcontent-%COMP%], .px-sm-0[_ngcontent-%COMP%]{padding-left:0!important}.p-sm-1[_ngcontent-%COMP%]{padding:.25rem!important}.pt-sm-1[_ngcontent-%COMP%], .py-sm-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pr-sm-1[_ngcontent-%COMP%], .px-sm-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.pb-sm-1[_ngcontent-%COMP%], .py-sm-1[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pl-sm-1[_ngcontent-%COMP%], .px-sm-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.p-sm-2[_ngcontent-%COMP%]{padding:.5rem!important}.pt-sm-2[_ngcontent-%COMP%], .py-sm-2[_ngcontent-%COMP%]{padding-top:.5rem!important}.pr-sm-2[_ngcontent-%COMP%], .px-sm-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.pb-sm-2[_ngcontent-%COMP%], .py-sm-2[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pl-sm-2[_ngcontent-%COMP%], .px-sm-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.p-sm-3[_ngcontent-%COMP%]{padding:1rem!important}.pt-sm-3[_ngcontent-%COMP%], .py-sm-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pr-sm-3[_ngcontent-%COMP%], .px-sm-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pb-sm-3[_ngcontent-%COMP%], .py-sm-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pl-sm-3[_ngcontent-%COMP%], .px-sm-3[_ngcontent-%COMP%]{padding-left:1rem!important}.p-sm-4[_ngcontent-%COMP%]{padding:1.5rem!important}.pt-sm-4[_ngcontent-%COMP%], .py-sm-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pr-sm-4[_ngcontent-%COMP%], .px-sm-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pb-sm-4[_ngcontent-%COMP%], .py-sm-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pl-sm-4[_ngcontent-%COMP%], .px-sm-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.p-sm-5[_ngcontent-%COMP%]{padding:3rem!important}.pt-sm-5[_ngcontent-%COMP%], .py-sm-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-sm-5[_ngcontent-%COMP%], .px-sm-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-sm-5[_ngcontent-%COMP%], .py-sm-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-sm-5[_ngcontent-%COMP%], .px-sm-5[_ngcontent-%COMP%]{padding-left:3rem!important}.m-sm-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.mt-sm-n1[_ngcontent-%COMP%], .my-sm-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mr-sm-n1[_ngcontent-%COMP%], .mx-sm-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mb-sm-n1[_ngcontent-%COMP%], .my-sm-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.ml-sm-n1[_ngcontent-%COMP%], .mx-sm-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.m-sm-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.mt-sm-n2[_ngcontent-%COMP%], .my-sm-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mr-sm-n2[_ngcontent-%COMP%], .mx-sm-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mb-sm-n2[_ngcontent-%COMP%], .my-sm-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.ml-sm-n2[_ngcontent-%COMP%], .mx-sm-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.m-sm-n3[_ngcontent-%COMP%]{margin:-1rem!important}.mt-sm-n3[_ngcontent-%COMP%], .my-sm-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mr-sm-n3[_ngcontent-%COMP%], .mx-sm-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mb-sm-n3[_ngcontent-%COMP%], .my-sm-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.ml-sm-n3[_ngcontent-%COMP%], .mx-sm-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.m-sm-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.mt-sm-n4[_ngcontent-%COMP%], .my-sm-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mr-sm-n4[_ngcontent-%COMP%], .mx-sm-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mb-sm-n4[_ngcontent-%COMP%], .my-sm-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.ml-sm-n4[_ngcontent-%COMP%], .mx-sm-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.m-sm-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mt-sm-n5[_ngcontent-%COMP%], .my-sm-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-sm-n5[_ngcontent-%COMP%], .mx-sm-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-sm-n5[_ngcontent-%COMP%], .my-sm-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-sm-n5[_ngcontent-%COMP%], .mx-sm-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.m-sm-auto[_ngcontent-%COMP%]{margin:auto!important}.mt-sm-auto[_ngcontent-%COMP%], .my-sm-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-sm-auto[_ngcontent-%COMP%], .mx-sm-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-sm-auto[_ngcontent-%COMP%], .my-sm-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-sm-auto[_ngcontent-%COMP%], .mx-sm-auto[_ngcontent-%COMP%]{margin-left:auto!important}}.text-monospace[_ngcontent-%COMP%]{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.text-justify[_ngcontent-%COMP%]{text-align:justify!important}.text-wrap[_ngcontent-%COMP%]{white-space:normal!important}.text-nowrap[_ngcontent-%COMP%]{white-space:nowrap!important}.text-truncate[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left[_ngcontent-%COMP%]{text-align:left!important}.text-right[_ngcontent-%COMP%]{text-align:right!important}.text-center[_ngcontent-%COMP%]{text-align:center!important}@media (min-width:576px){.text-sm-left[_ngcontent-%COMP%]{text-align:left!important}.text-sm-right[_ngcontent-%COMP%]{text-align:right!important}.text-sm-center[_ngcontent-%COMP%]{text-align:center!important}}@media (min-width:768px){.flex-md-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-md-column[_ngcontent-%COMP%]{flex-direction:column!important}.flex-md-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-md-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-md-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-md-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-md-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.flex-md-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-md-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-md-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-md-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-md-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.justify-content-md-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-md-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-md-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-md-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-md-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-md-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-md-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-md-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-md-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-md-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-md-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-md-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-md-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-md-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-md-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-md-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-md-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-md-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-md-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-md-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-md-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-md-stretch[_ngcontent-%COMP%]{align-self:stretch!important}.float-md-left[_ngcontent-%COMP%]{float:left!important}.float-md-right[_ngcontent-%COMP%]{float:right!important}.float-md-none[_ngcontent-%COMP%]{float:none!important}.m-md-0[_ngcontent-%COMP%]{margin:0!important}.mt-md-0[_ngcontent-%COMP%], .my-md-0[_ngcontent-%COMP%]{margin-top:0!important}.mr-md-0[_ngcontent-%COMP%], .mx-md-0[_ngcontent-%COMP%]{margin-right:0!important}.mb-md-0[_ngcontent-%COMP%], .my-md-0[_ngcontent-%COMP%]{margin-bottom:0!important}.ml-md-0[_ngcontent-%COMP%], .mx-md-0[_ngcontent-%COMP%]{margin-left:0!important}.m-md-1[_ngcontent-%COMP%]{margin:.25rem!important}.mt-md-1[_ngcontent-%COMP%], .my-md-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mr-md-1[_ngcontent-%COMP%], .mx-md-1[_ngcontent-%COMP%]{margin-right:.25rem!important}.mb-md-1[_ngcontent-%COMP%], .my-md-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.ml-md-1[_ngcontent-%COMP%], .mx-md-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.m-md-2[_ngcontent-%COMP%]{margin:.5rem!important}.mt-md-2[_ngcontent-%COMP%], .my-md-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mr-md-2[_ngcontent-%COMP%], .mx-md-2[_ngcontent-%COMP%]{margin-right:.5rem!important}.mb-md-2[_ngcontent-%COMP%], .my-md-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.ml-md-2[_ngcontent-%COMP%], .mx-md-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.m-md-3[_ngcontent-%COMP%]{margin:1rem!important}.mt-md-3[_ngcontent-%COMP%], .my-md-3[_ngcontent-%COMP%]{margin-top:1rem!important}.mr-md-3[_ngcontent-%COMP%], .mx-md-3[_ngcontent-%COMP%]{margin-right:1rem!important}.mb-md-3[_ngcontent-%COMP%], .my-md-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.ml-md-3[_ngcontent-%COMP%], .mx-md-3[_ngcontent-%COMP%]{margin-left:1rem!important}.m-md-4[_ngcontent-%COMP%]{margin:1.5rem!important}.mt-md-4[_ngcontent-%COMP%], .my-md-4[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mr-md-4[_ngcontent-%COMP%], .mx-md-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.mb-md-4[_ngcontent-%COMP%], .my-md-4[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.ml-md-4[_ngcontent-%COMP%], .mx-md-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.m-md-5[_ngcontent-%COMP%]{margin:3rem!important}.mt-md-5[_ngcontent-%COMP%], .my-md-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mr-md-5[_ngcontent-%COMP%], .mx-md-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mb-md-5[_ngcontent-%COMP%], .my-md-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.ml-md-5[_ngcontent-%COMP%], .mx-md-5[_ngcontent-%COMP%]{margin-left:3rem!important}.p-md-0[_ngcontent-%COMP%]{padding:0!important}.pt-md-0[_ngcontent-%COMP%], .py-md-0[_ngcontent-%COMP%]{padding-top:0!important}.pr-md-0[_ngcontent-%COMP%], .px-md-0[_ngcontent-%COMP%]{padding-right:0!important}.pb-md-0[_ngcontent-%COMP%], .py-md-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pl-md-0[_ngcontent-%COMP%], .px-md-0[_ngcontent-%COMP%]{padding-left:0!important}.p-md-1[_ngcontent-%COMP%]{padding:.25rem!important}.pt-md-1[_ngcontent-%COMP%], .py-md-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pr-md-1[_ngcontent-%COMP%], .px-md-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.pb-md-1[_ngcontent-%COMP%], .py-md-1[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pl-md-1[_ngcontent-%COMP%], .px-md-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.p-md-2[_ngcontent-%COMP%]{padding:.5rem!important}.pt-md-2[_ngcontent-%COMP%], .py-md-2[_ngcontent-%COMP%]{padding-top:.5rem!important}.pr-md-2[_ngcontent-%COMP%], .px-md-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.pb-md-2[_ngcontent-%COMP%], .py-md-2[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pl-md-2[_ngcontent-%COMP%], .px-md-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.p-md-3[_ngcontent-%COMP%]{padding:1rem!important}.pt-md-3[_ngcontent-%COMP%], .py-md-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pr-md-3[_ngcontent-%COMP%], .px-md-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pb-md-3[_ngcontent-%COMP%], .py-md-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pl-md-3[_ngcontent-%COMP%], .px-md-3[_ngcontent-%COMP%]{padding-left:1rem!important}.p-md-4[_ngcontent-%COMP%]{padding:1.5rem!important}.pt-md-4[_ngcontent-%COMP%], .py-md-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pr-md-4[_ngcontent-%COMP%], .px-md-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pb-md-4[_ngcontent-%COMP%], .py-md-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pl-md-4[_ngcontent-%COMP%], .px-md-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.p-md-5[_ngcontent-%COMP%]{padding:3rem!important}.pt-md-5[_ngcontent-%COMP%], .py-md-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-md-5[_ngcontent-%COMP%], .px-md-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-md-5[_ngcontent-%COMP%], .py-md-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-md-5[_ngcontent-%COMP%], .px-md-5[_ngcontent-%COMP%]{padding-left:3rem!important}.m-md-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.mt-md-n1[_ngcontent-%COMP%], .my-md-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mr-md-n1[_ngcontent-%COMP%], .mx-md-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mb-md-n1[_ngcontent-%COMP%], .my-md-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.ml-md-n1[_ngcontent-%COMP%], .mx-md-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.m-md-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.mt-md-n2[_ngcontent-%COMP%], .my-md-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mr-md-n2[_ngcontent-%COMP%], .mx-md-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mb-md-n2[_ngcontent-%COMP%], .my-md-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.ml-md-n2[_ngcontent-%COMP%], .mx-md-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.m-md-n3[_ngcontent-%COMP%]{margin:-1rem!important}.mt-md-n3[_ngcontent-%COMP%], .my-md-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mr-md-n3[_ngcontent-%COMP%], .mx-md-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mb-md-n3[_ngcontent-%COMP%], .my-md-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.ml-md-n3[_ngcontent-%COMP%], .mx-md-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.m-md-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.mt-md-n4[_ngcontent-%COMP%], .my-md-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mr-md-n4[_ngcontent-%COMP%], .mx-md-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mb-md-n4[_ngcontent-%COMP%], .my-md-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.ml-md-n4[_ngcontent-%COMP%], .mx-md-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.m-md-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mt-md-n5[_ngcontent-%COMP%], .my-md-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-md-n5[_ngcontent-%COMP%], .mx-md-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-md-n5[_ngcontent-%COMP%], .my-md-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-md-n5[_ngcontent-%COMP%], .mx-md-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.m-md-auto[_ngcontent-%COMP%]{margin:auto!important}.mt-md-auto[_ngcontent-%COMP%], .my-md-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-md-auto[_ngcontent-%COMP%], .mx-md-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-md-auto[_ngcontent-%COMP%], .my-md-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-md-auto[_ngcontent-%COMP%], .mx-md-auto[_ngcontent-%COMP%]{margin-left:auto!important}.text-md-left[_ngcontent-%COMP%]{text-align:left!important}.text-md-right[_ngcontent-%COMP%]{text-align:right!important}.text-md-center[_ngcontent-%COMP%]{text-align:center!important}}@media (min-width:992px){.flex-lg-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-lg-column[_ngcontent-%COMP%]{flex-direction:column!important}.flex-lg-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-lg-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-lg-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-lg-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-lg-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.flex-lg-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-lg-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-lg-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-lg-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-lg-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.justify-content-lg-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-lg-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-lg-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-lg-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-lg-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-lg-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-lg-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-lg-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-lg-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-lg-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-lg-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-lg-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-lg-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-lg-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-lg-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-lg-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-lg-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-lg-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-lg-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-lg-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-lg-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-lg-stretch[_ngcontent-%COMP%]{align-self:stretch!important}.float-lg-left[_ngcontent-%COMP%]{float:left!important}.float-lg-right[_ngcontent-%COMP%]{float:right!important}.float-lg-none[_ngcontent-%COMP%]{float:none!important}.m-lg-0[_ngcontent-%COMP%]{margin:0!important}.mt-lg-0[_ngcontent-%COMP%], .my-lg-0[_ngcontent-%COMP%]{margin-top:0!important}.mr-lg-0[_ngcontent-%COMP%], .mx-lg-0[_ngcontent-%COMP%]{margin-right:0!important}.mb-lg-0[_ngcontent-%COMP%], .my-lg-0[_ngcontent-%COMP%]{margin-bottom:0!important}.ml-lg-0[_ngcontent-%COMP%], .mx-lg-0[_ngcontent-%COMP%]{margin-left:0!important}.m-lg-1[_ngcontent-%COMP%]{margin:.25rem!important}.mt-lg-1[_ngcontent-%COMP%], .my-lg-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mr-lg-1[_ngcontent-%COMP%], .mx-lg-1[_ngcontent-%COMP%]{margin-right:.25rem!important}.mb-lg-1[_ngcontent-%COMP%], .my-lg-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.ml-lg-1[_ngcontent-%COMP%], .mx-lg-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.m-lg-2[_ngcontent-%COMP%]{margin:.5rem!important}.mt-lg-2[_ngcontent-%COMP%], .my-lg-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mr-lg-2[_ngcontent-%COMP%], .mx-lg-2[_ngcontent-%COMP%]{margin-right:.5rem!important}.mb-lg-2[_ngcontent-%COMP%], .my-lg-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.ml-lg-2[_ngcontent-%COMP%], .mx-lg-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.m-lg-3[_ngcontent-%COMP%]{margin:1rem!important}.mt-lg-3[_ngcontent-%COMP%], .my-lg-3[_ngcontent-%COMP%]{margin-top:1rem!important}.mr-lg-3[_ngcontent-%COMP%], .mx-lg-3[_ngcontent-%COMP%]{margin-right:1rem!important}.mb-lg-3[_ngcontent-%COMP%], .my-lg-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.ml-lg-3[_ngcontent-%COMP%], .mx-lg-3[_ngcontent-%COMP%]{margin-left:1rem!important}.m-lg-4[_ngcontent-%COMP%]{margin:1.5rem!important}.mt-lg-4[_ngcontent-%COMP%], .my-lg-4[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mr-lg-4[_ngcontent-%COMP%], .mx-lg-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.mb-lg-4[_ngcontent-%COMP%], .my-lg-4[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.ml-lg-4[_ngcontent-%COMP%], .mx-lg-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.m-lg-5[_ngcontent-%COMP%]{margin:3rem!important}.mt-lg-5[_ngcontent-%COMP%], .my-lg-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mr-lg-5[_ngcontent-%COMP%], .mx-lg-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mb-lg-5[_ngcontent-%COMP%], .my-lg-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.ml-lg-5[_ngcontent-%COMP%], .mx-lg-5[_ngcontent-%COMP%]{margin-left:3rem!important}.p-lg-0[_ngcontent-%COMP%]{padding:0!important}.pt-lg-0[_ngcontent-%COMP%], .py-lg-0[_ngcontent-%COMP%]{padding-top:0!important}.pr-lg-0[_ngcontent-%COMP%], .px-lg-0[_ngcontent-%COMP%]{padding-right:0!important}.pb-lg-0[_ngcontent-%COMP%], .py-lg-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pl-lg-0[_ngcontent-%COMP%], .px-lg-0[_ngcontent-%COMP%]{padding-left:0!important}.p-lg-1[_ngcontent-%COMP%]{padding:.25rem!important}.pt-lg-1[_ngcontent-%COMP%], .py-lg-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pr-lg-1[_ngcontent-%COMP%], .px-lg-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.pb-lg-1[_ngcontent-%COMP%], .py-lg-1[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pl-lg-1[_ngcontent-%COMP%], .px-lg-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.p-lg-2[_ngcontent-%COMP%]{padding:.5rem!important}.pt-lg-2[_ngcontent-%COMP%], .py-lg-2[_ngcontent-%COMP%]{padding-top:.5rem!important}.pr-lg-2[_ngcontent-%COMP%], .px-lg-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.pb-lg-2[_ngcontent-%COMP%], .py-lg-2[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pl-lg-2[_ngcontent-%COMP%], .px-lg-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.p-lg-3[_ngcontent-%COMP%]{padding:1rem!important}.pt-lg-3[_ngcontent-%COMP%], .py-lg-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pr-lg-3[_ngcontent-%COMP%], .px-lg-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pb-lg-3[_ngcontent-%COMP%], .py-lg-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pl-lg-3[_ngcontent-%COMP%], .px-lg-3[_ngcontent-%COMP%]{padding-left:1rem!important}.p-lg-4[_ngcontent-%COMP%]{padding:1.5rem!important}.pt-lg-4[_ngcontent-%COMP%], .py-lg-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pr-lg-4[_ngcontent-%COMP%], .px-lg-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pb-lg-4[_ngcontent-%COMP%], .py-lg-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pl-lg-4[_ngcontent-%COMP%], .px-lg-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.p-lg-5[_ngcontent-%COMP%]{padding:3rem!important}.pt-lg-5[_ngcontent-%COMP%], .py-lg-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-lg-5[_ngcontent-%COMP%], .px-lg-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-lg-5[_ngcontent-%COMP%], .py-lg-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-lg-5[_ngcontent-%COMP%], .px-lg-5[_ngcontent-%COMP%]{padding-left:3rem!important}.m-lg-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.mt-lg-n1[_ngcontent-%COMP%], .my-lg-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mr-lg-n1[_ngcontent-%COMP%], .mx-lg-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mb-lg-n1[_ngcontent-%COMP%], .my-lg-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.ml-lg-n1[_ngcontent-%COMP%], .mx-lg-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.m-lg-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.mt-lg-n2[_ngcontent-%COMP%], .my-lg-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mr-lg-n2[_ngcontent-%COMP%], .mx-lg-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mb-lg-n2[_ngcontent-%COMP%], .my-lg-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.ml-lg-n2[_ngcontent-%COMP%], .mx-lg-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.m-lg-n3[_ngcontent-%COMP%]{margin:-1rem!important}.mt-lg-n3[_ngcontent-%COMP%], .my-lg-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mr-lg-n3[_ngcontent-%COMP%], .mx-lg-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mb-lg-n3[_ngcontent-%COMP%], .my-lg-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.ml-lg-n3[_ngcontent-%COMP%], .mx-lg-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.m-lg-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.mt-lg-n4[_ngcontent-%COMP%], .my-lg-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mr-lg-n4[_ngcontent-%COMP%], .mx-lg-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mb-lg-n4[_ngcontent-%COMP%], .my-lg-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.ml-lg-n4[_ngcontent-%COMP%], .mx-lg-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.m-lg-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mt-lg-n5[_ngcontent-%COMP%], .my-lg-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-lg-n5[_ngcontent-%COMP%], .mx-lg-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-lg-n5[_ngcontent-%COMP%], .my-lg-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-lg-n5[_ngcontent-%COMP%], .mx-lg-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.m-lg-auto[_ngcontent-%COMP%]{margin:auto!important}.mt-lg-auto[_ngcontent-%COMP%], .my-lg-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-lg-auto[_ngcontent-%COMP%], .mx-lg-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-lg-auto[_ngcontent-%COMP%], .my-lg-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-lg-auto[_ngcontent-%COMP%], .mx-lg-auto[_ngcontent-%COMP%]{margin-left:auto!important}.text-lg-left[_ngcontent-%COMP%]{text-align:left!important}.text-lg-right[_ngcontent-%COMP%]{text-align:right!important}.text-lg-center[_ngcontent-%COMP%]{text-align:center!important}}@media (min-width:1200px){.flex-xl-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-xl-column[_ngcontent-%COMP%]{flex-direction:column!important}.flex-xl-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-xl-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-xl-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-xl-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-xl-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.flex-xl-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-xl-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-xl-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-xl-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-xl-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.justify-content-xl-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-xl-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-xl-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-xl-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-xl-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-xl-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-xl-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-xl-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-xl-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-xl-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-xl-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-xl-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-xl-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-xl-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-xl-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-xl-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-xl-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-xl-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-xl-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-xl-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-xl-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-xl-stretch[_ngcontent-%COMP%]{align-self:stretch!important}.float-xl-left[_ngcontent-%COMP%]{float:left!important}.float-xl-right[_ngcontent-%COMP%]{float:right!important}.float-xl-none[_ngcontent-%COMP%]{float:none!important}.m-xl-0[_ngcontent-%COMP%]{margin:0!important}.mt-xl-0[_ngcontent-%COMP%], .my-xl-0[_ngcontent-%COMP%]{margin-top:0!important}.mr-xl-0[_ngcontent-%COMP%], .mx-xl-0[_ngcontent-%COMP%]{margin-right:0!important}.mb-xl-0[_ngcontent-%COMP%], .my-xl-0[_ngcontent-%COMP%]{margin-bottom:0!important}.ml-xl-0[_ngcontent-%COMP%], .mx-xl-0[_ngcontent-%COMP%]{margin-left:0!important}.m-xl-1[_ngcontent-%COMP%]{margin:.25rem!important}.mt-xl-1[_ngcontent-%COMP%], .my-xl-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mr-xl-1[_ngcontent-%COMP%], .mx-xl-1[_ngcontent-%COMP%]{margin-right:.25rem!important}.mb-xl-1[_ngcontent-%COMP%], .my-xl-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.ml-xl-1[_ngcontent-%COMP%], .mx-xl-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.m-xl-2[_ngcontent-%COMP%]{margin:.5rem!important}.mt-xl-2[_ngcontent-%COMP%], .my-xl-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mr-xl-2[_ngcontent-%COMP%], .mx-xl-2[_ngcontent-%COMP%]{margin-right:.5rem!important}.mb-xl-2[_ngcontent-%COMP%], .my-xl-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.ml-xl-2[_ngcontent-%COMP%], .mx-xl-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.m-xl-3[_ngcontent-%COMP%]{margin:1rem!important}.mt-xl-3[_ngcontent-%COMP%], .my-xl-3[_ngcontent-%COMP%]{margin-top:1rem!important}.mr-xl-3[_ngcontent-%COMP%], .mx-xl-3[_ngcontent-%COMP%]{margin-right:1rem!important}.mb-xl-3[_ngcontent-%COMP%], .my-xl-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.ml-xl-3[_ngcontent-%COMP%], .mx-xl-3[_ngcontent-%COMP%]{margin-left:1rem!important}.m-xl-4[_ngcontent-%COMP%]{margin:1.5rem!important}.mt-xl-4[_ngcontent-%COMP%], .my-xl-4[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mr-xl-4[_ngcontent-%COMP%], .mx-xl-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.mb-xl-4[_ngcontent-%COMP%], .my-xl-4[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.ml-xl-4[_ngcontent-%COMP%], .mx-xl-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.m-xl-5[_ngcontent-%COMP%]{margin:3rem!important}.mt-xl-5[_ngcontent-%COMP%], .my-xl-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mr-xl-5[_ngcontent-%COMP%], .mx-xl-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mb-xl-5[_ngcontent-%COMP%], .my-xl-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.ml-xl-5[_ngcontent-%COMP%], .mx-xl-5[_ngcontent-%COMP%]{margin-left:3rem!important}.p-xl-0[_ngcontent-%COMP%]{padding:0!important}.pt-xl-0[_ngcontent-%COMP%], .py-xl-0[_ngcontent-%COMP%]{padding-top:0!important}.pr-xl-0[_ngcontent-%COMP%], .px-xl-0[_ngcontent-%COMP%]{padding-right:0!important}.pb-xl-0[_ngcontent-%COMP%], .py-xl-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pl-xl-0[_ngcontent-%COMP%], .px-xl-0[_ngcontent-%COMP%]{padding-left:0!important}.p-xl-1[_ngcontent-%COMP%]{padding:.25rem!important}.pt-xl-1[_ngcontent-%COMP%], .py-xl-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pr-xl-1[_ngcontent-%COMP%], .px-xl-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.pb-xl-1[_ngcontent-%COMP%], .py-xl-1[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pl-xl-1[_ngcontent-%COMP%], .px-xl-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.p-xl-2[_ngcontent-%COMP%]{padding:.5rem!important}.pt-xl-2[_ngcontent-%COMP%], .py-xl-2[_ngcontent-%COMP%]{padding-top:.5rem!important}.pr-xl-2[_ngcontent-%COMP%], .px-xl-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.pb-xl-2[_ngcontent-%COMP%], .py-xl-2[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pl-xl-2[_ngcontent-%COMP%], .px-xl-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.p-xl-3[_ngcontent-%COMP%]{padding:1rem!important}.pt-xl-3[_ngcontent-%COMP%], .py-xl-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pr-xl-3[_ngcontent-%COMP%], .px-xl-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pb-xl-3[_ngcontent-%COMP%], .py-xl-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pl-xl-3[_ngcontent-%COMP%], .px-xl-3[_ngcontent-%COMP%]{padding-left:1rem!important}.p-xl-4[_ngcontent-%COMP%]{padding:1.5rem!important}.pt-xl-4[_ngcontent-%COMP%], .py-xl-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pr-xl-4[_ngcontent-%COMP%], .px-xl-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pb-xl-4[_ngcontent-%COMP%], .py-xl-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pl-xl-4[_ngcontent-%COMP%], .px-xl-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.p-xl-5[_ngcontent-%COMP%]{padding:3rem!important}.pt-xl-5[_ngcontent-%COMP%], .py-xl-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-xl-5[_ngcontent-%COMP%], .px-xl-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-xl-5[_ngcontent-%COMP%], .py-xl-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-xl-5[_ngcontent-%COMP%], .px-xl-5[_ngcontent-%COMP%]{padding-left:3rem!important}.m-xl-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.mt-xl-n1[_ngcontent-%COMP%], .my-xl-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mr-xl-n1[_ngcontent-%COMP%], .mx-xl-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mb-xl-n1[_ngcontent-%COMP%], .my-xl-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.ml-xl-n1[_ngcontent-%COMP%], .mx-xl-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.m-xl-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.mt-xl-n2[_ngcontent-%COMP%], .my-xl-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mr-xl-n2[_ngcontent-%COMP%], .mx-xl-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mb-xl-n2[_ngcontent-%COMP%], .my-xl-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.ml-xl-n2[_ngcontent-%COMP%], .mx-xl-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.m-xl-n3[_ngcontent-%COMP%]{margin:-1rem!important}.mt-xl-n3[_ngcontent-%COMP%], .my-xl-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mr-xl-n3[_ngcontent-%COMP%], .mx-xl-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mb-xl-n3[_ngcontent-%COMP%], .my-xl-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.ml-xl-n3[_ngcontent-%COMP%], .mx-xl-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.m-xl-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.mt-xl-n4[_ngcontent-%COMP%], .my-xl-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mr-xl-n4[_ngcontent-%COMP%], .mx-xl-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mb-xl-n4[_ngcontent-%COMP%], .my-xl-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.ml-xl-n4[_ngcontent-%COMP%], .mx-xl-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.m-xl-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mt-xl-n5[_ngcontent-%COMP%], .my-xl-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-xl-n5[_ngcontent-%COMP%], .mx-xl-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-xl-n5[_ngcontent-%COMP%], .my-xl-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-xl-n5[_ngcontent-%COMP%], .mx-xl-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.m-xl-auto[_ngcontent-%COMP%]{margin:auto!important}.mt-xl-auto[_ngcontent-%COMP%], .my-xl-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-xl-auto[_ngcontent-%COMP%], .mx-xl-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-xl-auto[_ngcontent-%COMP%], .my-xl-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-xl-auto[_ngcontent-%COMP%], .mx-xl-auto[_ngcontent-%COMP%]{margin-left:auto!important}.text-xl-left[_ngcontent-%COMP%]{text-align:left!important}.text-xl-right[_ngcontent-%COMP%]{text-align:right!important}.text-xl-center[_ngcontent-%COMP%]{text-align:center!important}}.text-lowercase[_ngcontent-%COMP%]{text-transform:lowercase!important}.text-uppercase[_ngcontent-%COMP%]{text-transform:uppercase!important}.text-capitalize[_ngcontent-%COMP%]{text-transform:capitalize!important}.font-weight-light[_ngcontent-%COMP%]{font-weight:300!important}.font-weight-lighter[_ngcontent-%COMP%]{font-weight:lighter!important}.font-weight-normal[_ngcontent-%COMP%]{font-weight:400!important}.font-weight-bold[_ngcontent-%COMP%]{font-weight:700!important}.font-weight-bolder[_ngcontent-%COMP%]{font-weight:bolder!important}.font-italic[_ngcontent-%COMP%]{font-style:italic!important}.text-white[_ngcontent-%COMP%]{color:#fff!important}.text-primary[_ngcontent-%COMP%]{color:#2b99a8!important}a.text-primary[_ngcontent-%COMP%]:focus, a.text-primary[_ngcontent-%COMP%]:hover{color:#1b626b!important}.text-secondary[_ngcontent-%COMP%]{color:#ef5c55!important}a.text-secondary[_ngcontent-%COMP%]:focus, a.text-secondary[_ngcontent-%COMP%]:hover{color:#e21f15!important}.text-success[_ngcontent-%COMP%]{color:#28a745!important}a.text-success[_ngcontent-%COMP%]:focus, a.text-success[_ngcontent-%COMP%]:hover{color:#19692c!important}.text-info[_ngcontent-%COMP%]{color:#17a2b8!important}a.text-info[_ngcontent-%COMP%]:focus, a.text-info[_ngcontent-%COMP%]:hover{color:#0f6674!important}.text-warning[_ngcontent-%COMP%]{color:#ffc107!important}a.text-warning[_ngcontent-%COMP%]:focus, a.text-warning[_ngcontent-%COMP%]:hover{color:#ba8b00!important}.text-danger[_ngcontent-%COMP%]{color:#dc3545!important}a.text-danger[_ngcontent-%COMP%]:focus, a.text-danger[_ngcontent-%COMP%]:hover{color:#a71d2a!important}.text-light[_ngcontent-%COMP%]{color:#f8f9fa!important}a.text-light[_ngcontent-%COMP%]:focus, a.text-light[_ngcontent-%COMP%]:hover{color:#cbd3da!important}.text-dark[_ngcontent-%COMP%]{color:#777!important}a.text-dark[_ngcontent-%COMP%]:focus, a.text-dark[_ngcontent-%COMP%]:hover{color:#515151!important}.text-body[_ngcontent-%COMP%]{color:#212529!important}.text-muted[_ngcontent-%COMP%]{color:#6c757d!important}.text-black-50[_ngcontent-%COMP%]{color:rgba(0,0,0,.5)!important}.text-white-50[_ngcontent-%COMP%]{color:rgba(255,255,255,.5)!important}.text-hide[_ngcontent-%COMP%]{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none[_ngcontent-%COMP%]{text-decoration:none!important}.text-break[_ngcontent-%COMP%]{word-break:break-word!important;overflow-wrap:break-word!important}.text-reset[_ngcontent-%COMP%]{color:inherit!important}.visible[_ngcontent-%COMP%]{visibility:visible!important}.invisible[_ngcontent-%COMP%]{visibility:hidden!important}@media print{*[_ngcontent-%COMP%], [_ngcontent-%COMP%]::after, [_ngcontent-%COMP%]::before{text-shadow:none!important;box-shadow:none!important}a[_ngcontent-%COMP%]:not(.btn){text-decoration:underline}abbr[title][_ngcontent-%COMP%]::after{content:" (" attr(title) ")"}pre[_ngcontent-%COMP%]{white-space:pre-wrap!important}blockquote[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]{border:1px solid #adb5bd;page-break-inside:avoid}thead[_ngcontent-%COMP%]{display:table-header-group}img[_ngcontent-%COMP%], tr[_ngcontent-%COMP%]{page-break-inside:avoid}h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%], p[_ngcontent-%COMP%]{orphans:3;widows:3}h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%]{page-break-after:avoid}@page{size:a3}.container[_ngcontent-%COMP%], body[_ngcontent-%COMP%]{min-width:992px!important}.navbar[_ngcontent-%COMP%]{display:none}.badge[_ngcontent-%COMP%]{border:1px solid #000}.table[_ngcontent-%COMP%]{border-collapse:collapse!important}.table[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{background-color:#fff!important}.table-bordered[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-bordered[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border:1px solid #dee2e6!important}.table-dark[_ngcontent-%COMP%]{color:inherit}.table-dark[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#dee2e6}.table[_ngcontent-%COMP%]   .thead-dark[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{color:inherit;border-color:#dee2e6}}@font-face{font-family:ForkAwesome;src:url(forkawesome-webfont.35e77a38ca9d85c4e897.eot?v=1.1.7);src:url(forkawesome-webfont.35e77a38ca9d85c4e897.eot?#iefix&v=1.1.7) format("embedded-opentype"),url(forkawesome-webfont.3a9e014c2469ffa65a0e.woff2?v=1.1.7) format("woff2"),url(forkawesome-webfont.44bbdbbfb5a10ba2d1ce.woff?v=1.1.7) format("woff"),url(forkawesome-webfont.fc46f3dae03b2b2e1cee.ttf?v=1.1.7) format("truetype"),url(forkawesome-webfont.78dcc9c4999659b8026a.svg?v=1.1.7#forkawesomeregular) format("svg");font-weight:400;font-style:normal}.fa[_ngcontent-%COMP%]{display:inline-block;font:normal normal normal 14px/1 ForkAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg[_ngcontent-%COMP%]{font-size:1.3333333333em;line-height:.75em;vertical-align:-15%}.fa-2x[_ngcontent-%COMP%]{font-size:2em}.fa-3x[_ngcontent-%COMP%]{font-size:3em}.fa-4x[_ngcontent-%COMP%]{font-size:4em}.fa-5x[_ngcontent-%COMP%]{font-size:5em}.fa[_ngcontent-%COMP%], .fa-fw[_ngcontent-%COMP%]{width:1.2857142857em;text-align:center}.fa-ul[_ngcontent-%COMP%]{padding-left:0;margin-left:2.1428571429em;list-style-type:none}.fa-ul[_ngcontent-%COMP%] > li[_ngcontent-%COMP%]{position:relative}.fa-li[_ngcontent-%COMP%]{position:absolute;left:-2.1428571429em;width:2.1428571429em;top:.1428571429em;text-align:center}.fa-li.fa-lg[_ngcontent-%COMP%]{left:-1.8571428571em}.fa-border[_ngcontent-%COMP%]{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left[_ngcontent-%COMP%]{float:left}.fa-pull-right[_ngcontent-%COMP%]{float:right}.fa.fa-pull-left[_ngcontent-%COMP%]{margin-right:.3em}.fa.fa-pull-right[_ngcontent-%COMP%]{margin-left:.3em}.pull-right[_ngcontent-%COMP%]{float:right}.pull-left[_ngcontent-%COMP%]{float:left}.fa.pull-left[_ngcontent-%COMP%]{margin-right:.3em}.fa.pull-right[_ngcontent-%COMP%]{margin-left:.3em}.fa-spin[_ngcontent-%COMP%]{animation:2s linear infinite fa-spin}.fa-pulse[_ngcontent-%COMP%]{animation:1s steps(8) infinite fa-spin}@keyframes fa-spin{0%{transform:rotate(0)}100%{transform:rotate(359deg)}}.fa-rotate-90[_ngcontent-%COMP%]{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180[_ngcontent-%COMP%]{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270[_ngcontent-%COMP%]{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal[_ngcontent-%COMP%]{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";transform:scale(-1,1)}.fa-flip-vertical[_ngcontent-%COMP%]{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";transform:scale(1,-1)}[_ngcontent-%COMP%]:root   .fa-flip-horizontal[_ngcontent-%COMP%], [_ngcontent-%COMP%]:root   .fa-flip-vertical[_ngcontent-%COMP%], [_ngcontent-%COMP%]:root   .fa-rotate-180[_ngcontent-%COMP%], [_ngcontent-%COMP%]:root   .fa-rotate-270[_ngcontent-%COMP%], [_ngcontent-%COMP%]:root   .fa-rotate-90[_ngcontent-%COMP%]{filter:none}.fa-stack[_ngcontent-%COMP%]{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x[_ngcontent-%COMP%], .fa-stack-2x[_ngcontent-%COMP%]{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x[_ngcontent-%COMP%]{line-height:inherit}.fa-stack-2x[_ngcontent-%COMP%]{font-size:2em}.fa-inverse[_ngcontent-%COMP%]{color:#fff}.fa-glass[_ngcontent-%COMP%]:before{content:""}.fa-music[_ngcontent-%COMP%]:before{content:""}.fa-search[_ngcontent-%COMP%]:before{content:""}.fa-envelope-o[_ngcontent-%COMP%]:before{content:""}.fa-heart[_ngcontent-%COMP%]:before{content:""}.fa-star[_ngcontent-%COMP%]:before{content:""}.fa-star-o[_ngcontent-%COMP%]:before{content:""}.fa-user[_ngcontent-%COMP%]:before{content:""}.fa-film[_ngcontent-%COMP%]:before{content:""}.fa-th-large[_ngcontent-%COMP%]:before{content:""}.fa-th[_ngcontent-%COMP%]:before{content:""}.fa-th-list[_ngcontent-%COMP%]:before{content:""}.fa-check[_ngcontent-%COMP%]:before{content:""}.fa-close[_ngcontent-%COMP%]:before, .fa-remove[_ngcontent-%COMP%]:before, .fa-times[_ngcontent-%COMP%]:before{content:""}.fa-search-plus[_ngcontent-%COMP%]:before{content:""}.fa-search-minus[_ngcontent-%COMP%]:before{content:""}.fa-power-off[_ngcontent-%COMP%]:before{content:""}.fa-signal[_ngcontent-%COMP%]:before{content:""}.fa-cog[_ngcontent-%COMP%]:before, .fa-gear[_ngcontent-%COMP%]:before{content:""}.fa-trash-o[_ngcontent-%COMP%]:before{content:""}.fa-home[_ngcontent-%COMP%]:before{content:""}.fa-file-o[_ngcontent-%COMP%]:before{content:""}.fa-clock-o[_ngcontent-%COMP%]:before{content:""}.fa-road[_ngcontent-%COMP%]:before{content:""}.fa-download[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-o-down[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-o-up[_ngcontent-%COMP%]:before{content:""}.fa-inbox[_ngcontent-%COMP%]:before{content:""}.fa-play-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-repeat[_ngcontent-%COMP%]:before, .fa-rotate-right[_ngcontent-%COMP%]:before{content:""}.fa-refresh[_ngcontent-%COMP%]:before, .fa-sync[_ngcontent-%COMP%]:before{content:""}.fa-list-alt[_ngcontent-%COMP%]:before{content:""}.fa-lock[_ngcontent-%COMP%]:before{content:""}.fa-flag[_ngcontent-%COMP%]:before{content:""}.fa-headphones[_ngcontent-%COMP%]:before{content:""}.fa-volume-off[_ngcontent-%COMP%]:before{content:""}.fa-volume-down[_ngcontent-%COMP%]:before{content:""}.fa-volume-up[_ngcontent-%COMP%]:before{content:""}.fa-qrcode[_ngcontent-%COMP%]:before{content:""}.fa-barcode[_ngcontent-%COMP%]:before{content:""}.fa-tag[_ngcontent-%COMP%]:before{content:""}.fa-tags[_ngcontent-%COMP%]:before{content:""}.fa-book[_ngcontent-%COMP%]:before{content:""}.fa-bookmark[_ngcontent-%COMP%]:before{content:""}.fa-print[_ngcontent-%COMP%]:before{content:""}.fa-camera[_ngcontent-%COMP%]:before{content:""}.fa-font[_ngcontent-%COMP%]:before{content:""}.fa-bold[_ngcontent-%COMP%]:before{content:""}.fa-italic[_ngcontent-%COMP%]:before{content:""}.fa-text-height[_ngcontent-%COMP%]:before{content:""}.fa-text-width[_ngcontent-%COMP%]:before{content:""}.fa-align-left[_ngcontent-%COMP%]:before{content:""}.fa-align-center[_ngcontent-%COMP%]:before{content:""}.fa-align-right[_ngcontent-%COMP%]:before{content:""}.fa-align-justify[_ngcontent-%COMP%]:before{content:""}.fa-list[_ngcontent-%COMP%]:before{content:""}.fa-dedent[_ngcontent-%COMP%]:before, .fa-outdent[_ngcontent-%COMP%]:before{content:""}.fa-indent[_ngcontent-%COMP%]:before{content:""}.fa-video-camera[_ngcontent-%COMP%]:before, .fa-video[_ngcontent-%COMP%]:before{content:""}.fa-image[_ngcontent-%COMP%]:before, .fa-photo[_ngcontent-%COMP%]:before, .fa-picture-o[_ngcontent-%COMP%]:before{content:""}.fa-pencil[_ngcontent-%COMP%]:before{content:""}.fa-map-marker[_ngcontent-%COMP%]:before{content:""}.fa-adjust[_ngcontent-%COMP%]:before{content:""}.fa-tint[_ngcontent-%COMP%]:before{content:""}.fa-edit[_ngcontent-%COMP%]:before, .fa-pencil-square-o[_ngcontent-%COMP%]:before{content:""}.fa-share-square-o[_ngcontent-%COMP%]:before{content:""}.fa-check-square-o[_ngcontent-%COMP%]:before{content:""}.fa-arrows[_ngcontent-%COMP%]:before{content:""}.fa-step-backward[_ngcontent-%COMP%]:before{content:""}.fa-fast-backward[_ngcontent-%COMP%]:before{content:""}.fa-backward[_ngcontent-%COMP%]:before{content:""}.fa-play[_ngcontent-%COMP%]:before{content:""}.fa-pause[_ngcontent-%COMP%]:before{content:""}.fa-stop[_ngcontent-%COMP%]:before{content:""}.fa-forward[_ngcontent-%COMP%]:before{content:""}.fa-fast-forward[_ngcontent-%COMP%]:before{content:""}.fa-step-forward[_ngcontent-%COMP%]:before{content:""}.fa-eject[_ngcontent-%COMP%]:before{content:""}.fa-chevron-left[_ngcontent-%COMP%]:before{content:""}.fa-chevron-right[_ngcontent-%COMP%]:before{content:""}.fa-plus-circle[_ngcontent-%COMP%]:before{content:""}.fa-minus-circle[_ngcontent-%COMP%]:before{content:""}.fa-times-circle[_ngcontent-%COMP%]:before{content:""}.fa-check-circle[_ngcontent-%COMP%]:before{content:""}.fa-question-circle[_ngcontent-%COMP%]:before{content:""}.fa-info-circle[_ngcontent-%COMP%]:before{content:""}.fa-crosshairs[_ngcontent-%COMP%]:before{content:""}.fa-times-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-check-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-ban[_ngcontent-%COMP%]:before{content:""}.fa-arrow-left[_ngcontent-%COMP%]:before{content:""}.fa-arrow-right[_ngcontent-%COMP%]:before{content:""}.fa-arrow-up[_ngcontent-%COMP%]:before{content:""}.fa-arrow-down[_ngcontent-%COMP%]:before{content:""}.fa-mail-forward[_ngcontent-%COMP%]:before, .fa-share[_ngcontent-%COMP%]:before{content:""}.fa-expand[_ngcontent-%COMP%]:before{content:""}.fa-compress[_ngcontent-%COMP%]:before{content:""}.fa-plus[_ngcontent-%COMP%]:before{content:""}.fa-minus[_ngcontent-%COMP%]:before{content:""}.fa-asterisk[_ngcontent-%COMP%]:before{content:""}.fa-exclamation-circle[_ngcontent-%COMP%]:before{content:""}.fa-gift[_ngcontent-%COMP%]:before{content:""}.fa-leaf[_ngcontent-%COMP%]:before{content:""}.fa-fire[_ngcontent-%COMP%]:before{content:""}.fa-eye[_ngcontent-%COMP%]:before{content:""}.fa-eye-slash[_ngcontent-%COMP%]:before{content:""}.fa-exclamation-triangle[_ngcontent-%COMP%]:before, .fa-warning[_ngcontent-%COMP%]:before{content:""}.fa-plane[_ngcontent-%COMP%]:before{content:""}.fa-calendar[_ngcontent-%COMP%]:before{content:""}.fa-random[_ngcontent-%COMP%]:before{content:""}.fa-comment[_ngcontent-%COMP%]:before{content:""}.fa-magnet[_ngcontent-%COMP%]:before{content:""}.fa-chevron-up[_ngcontent-%COMP%]:before{content:""}.fa-chevron-down[_ngcontent-%COMP%]:before{content:""}.fa-retweet[_ngcontent-%COMP%]:before{content:""}.fa-shopping-cart[_ngcontent-%COMP%]:before{content:""}.fa-folder[_ngcontent-%COMP%]:before{content:""}.fa-folder-open[_ngcontent-%COMP%]:before{content:""}.fa-arrows-v[_ngcontent-%COMP%]:before{content:""}.fa-arrows-h[_ngcontent-%COMP%]:before{content:""}.fa-bar-chart-o[_ngcontent-%COMP%]:before, .fa-bar-chart[_ngcontent-%COMP%]:before{content:""}.fa-twitter-square[_ngcontent-%COMP%]:before{content:""}.fa-facebook-square[_ngcontent-%COMP%]:before{content:""}.fa-camera-retro[_ngcontent-%COMP%]:before{content:""}.fa-key[_ngcontent-%COMP%]:before{content:""}.fa-cogs[_ngcontent-%COMP%]:before, .fa-gears[_ngcontent-%COMP%]:before{content:""}.fa-comments[_ngcontent-%COMP%]:before{content:""}.fa-thumbs-o-up[_ngcontent-%COMP%]:before{content:""}.fa-thumbs-o-down[_ngcontent-%COMP%]:before{content:""}.fa-star-half[_ngcontent-%COMP%]:before{content:""}.fa-heart-o[_ngcontent-%COMP%]:before{content:""}.fa-sign-out[_ngcontent-%COMP%]:before{content:""}.fa-linkedin-square[_ngcontent-%COMP%]:before{content:""}.fa-thumb-tack[_ngcontent-%COMP%]:before{content:""}.fa-external-link[_ngcontent-%COMP%]:before{content:""}.fa-sign-in[_ngcontent-%COMP%]:before{content:""}.fa-trophy[_ngcontent-%COMP%]:before{content:""}.fa-github-square[_ngcontent-%COMP%]:before{content:""}.fa-upload[_ngcontent-%COMP%]:before{content:""}.fa-lemon-o[_ngcontent-%COMP%]:before{content:""}.fa-phone[_ngcontent-%COMP%]:before{content:""}.fa-square-o[_ngcontent-%COMP%]:before{content:""}.fa-bookmark-o[_ngcontent-%COMP%]:before{content:""}.fa-phone-square[_ngcontent-%COMP%]:before{content:""}.fa-twitter[_ngcontent-%COMP%]:before{content:""}.fa-facebook-f[_ngcontent-%COMP%]:before, .fa-facebook[_ngcontent-%COMP%]:before{content:""}.fa-github[_ngcontent-%COMP%]:before{content:""}.fa-unlock[_ngcontent-%COMP%]:before{content:""}.fa-credit-card[_ngcontent-%COMP%]:before{content:""}.fa-feed[_ngcontent-%COMP%]:before, .fa-rss[_ngcontent-%COMP%]:before{content:""}.fa-hdd-o[_ngcontent-%COMP%]:before{content:""}.fa-bullhorn[_ngcontent-%COMP%]:before{content:""}.fa-bell-o[_ngcontent-%COMP%]:before{content:""}.fa-certificate[_ngcontent-%COMP%]:before{content:""}.fa-hand-o-right[_ngcontent-%COMP%]:before{content:""}.fa-hand-o-left[_ngcontent-%COMP%]:before{content:""}.fa-hand-o-up[_ngcontent-%COMP%]:before{content:""}.fa-hand-o-down[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-left[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-right[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-up[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-down[_ngcontent-%COMP%]:before{content:""}.fa-globe[_ngcontent-%COMP%]:before{content:""}.fa-globe-e[_ngcontent-%COMP%]:before{content:""}.fa-globe-w[_ngcontent-%COMP%]:before{content:""}.fa-wrench[_ngcontent-%COMP%]:before{content:""}.fa-tasks[_ngcontent-%COMP%]:before{content:""}.fa-filter[_ngcontent-%COMP%]:before{content:""}.fa-briefcase[_ngcontent-%COMP%]:before{content:""}.fa-arrows-alt[_ngcontent-%COMP%]:before{content:""}.fa-community[_ngcontent-%COMP%]:before, .fa-group[_ngcontent-%COMP%]:before, .fa-users[_ngcontent-%COMP%]:before{content:""}.fa-chain[_ngcontent-%COMP%]:before, .fa-link[_ngcontent-%COMP%]:before{content:""}.fa-cloud[_ngcontent-%COMP%]:before{content:""}.fa-flask[_ngcontent-%COMP%]:before{content:""}.fa-cut[_ngcontent-%COMP%]:before, .fa-scissors[_ngcontent-%COMP%]:before{content:""}.fa-copy[_ngcontent-%COMP%]:before, .fa-files-o[_ngcontent-%COMP%]:before{content:""}.fa-paperclip[_ngcontent-%COMP%]:before{content:""}.fa-floppy-o[_ngcontent-%COMP%]:before, .fa-save[_ngcontent-%COMP%]:before{content:""}.fa-square[_ngcontent-%COMP%]:before{content:""}.fa-bars[_ngcontent-%COMP%]:before, .fa-navicon[_ngcontent-%COMP%]:before, .fa-reorder[_ngcontent-%COMP%]:before{content:""}.fa-list-ul[_ngcontent-%COMP%]:before{content:""}.fa-list-ol[_ngcontent-%COMP%]:before{content:""}.fa-strikethrough[_ngcontent-%COMP%]:before{content:""}.fa-underline[_ngcontent-%COMP%]:before{content:""}.fa-table[_ngcontent-%COMP%]:before{content:""}.fa-magic[_ngcontent-%COMP%]:before{content:""}.fa-truck[_ngcontent-%COMP%]:before{content:""}.fa-pinterest[_ngcontent-%COMP%]:before{content:""}.fa-pinterest-square[_ngcontent-%COMP%]:before{content:""}.fa-google-plus-square[_ngcontent-%COMP%]:before{content:""}.fa-google-plus-g[_ngcontent-%COMP%]:before, .fa-google-plus[_ngcontent-%COMP%]:before{content:""}.fa-money[_ngcontent-%COMP%]:before{content:""}.fa-caret-down[_ngcontent-%COMP%]:before{content:""}.fa-caret-up[_ngcontent-%COMP%]:before{content:""}.fa-caret-left[_ngcontent-%COMP%]:before{content:""}.fa-caret-right[_ngcontent-%COMP%]:before{content:""}.fa-columns[_ngcontent-%COMP%]:before{content:""}.fa-sort[_ngcontent-%COMP%]:before, .fa-unsorted[_ngcontent-%COMP%]:before{content:""}.fa-sort-desc[_ngcontent-%COMP%]:before, .fa-sort-down[_ngcontent-%COMP%]:before{content:""}.fa-sort-asc[_ngcontent-%COMP%]:before, .fa-sort-up[_ngcontent-%COMP%]:before{content:""}.fa-envelope[_ngcontent-%COMP%]:before{content:""}.fa-linkedin[_ngcontent-%COMP%]:before{content:""}.fa-rotate-left[_ngcontent-%COMP%]:before, .fa-undo[_ngcontent-%COMP%]:before{content:""}.fa-gavel[_ngcontent-%COMP%]:before, .fa-legal[_ngcontent-%COMP%]:before{content:""}.fa-dashboard[_ngcontent-%COMP%]:before, .fa-tachometer[_ngcontent-%COMP%]:before{content:""}.fa-comment-o[_ngcontent-%COMP%]:before{content:""}.fa-comments-o[_ngcontent-%COMP%]:before{content:""}.fa-bolt[_ngcontent-%COMP%]:before, .fa-flash[_ngcontent-%COMP%]:before{content:""}.fa-sitemap[_ngcontent-%COMP%]:before{content:""}.fa-umbrella[_ngcontent-%COMP%]:before{content:""}.fa-clipboard[_ngcontent-%COMP%]:before, .fa-paste[_ngcontent-%COMP%]:before{content:""}.fa-lightbulb-o[_ngcontent-%COMP%]:before{content:""}.fa-exchange[_ngcontent-%COMP%]:before{content:""}.fa-cloud-download[_ngcontent-%COMP%]:before{content:""}.fa-cloud-upload[_ngcontent-%COMP%]:before{content:""}.fa-user-md[_ngcontent-%COMP%]:before{content:""}.fa-stethoscope[_ngcontent-%COMP%]:before{content:""}.fa-suitcase[_ngcontent-%COMP%]:before{content:""}.fa-bell[_ngcontent-%COMP%]:before{content:""}.fa-coffee[_ngcontent-%COMP%]:before{content:""}.fa-cutlery[_ngcontent-%COMP%]:before, .fa-utensils[_ngcontent-%COMP%]:before{content:""}.fa-file-text-o[_ngcontent-%COMP%]:before{content:""}.fa-building-o[_ngcontent-%COMP%]:before{content:""}.fa-hospital-o[_ngcontent-%COMP%]:before{content:""}.fa-ambulance[_ngcontent-%COMP%]:before{content:""}.fa-medkit[_ngcontent-%COMP%]:before{content:""}.fa-fighter-jet[_ngcontent-%COMP%]:before{content:""}.fa-beer[_ngcontent-%COMP%]:before{content:""}.fa-h-square[_ngcontent-%COMP%]:before{content:""}.fa-plus-square[_ngcontent-%COMP%]:before{content:""}.fa-angle-double-left[_ngcontent-%COMP%]:before{content:""}.fa-angle-double-right[_ngcontent-%COMP%]:before{content:""}.fa-angle-double-up[_ngcontent-%COMP%]:before{content:""}.fa-angle-double-down[_ngcontent-%COMP%]:before{content:""}.fa-angle-left[_ngcontent-%COMP%]:before{content:""}.fa-angle-right[_ngcontent-%COMP%]:before{content:""}.fa-angle-up[_ngcontent-%COMP%]:before{content:""}.fa-angle-down[_ngcontent-%COMP%]:before{content:""}.fa-desktop[_ngcontent-%COMP%]:before{content:""}.fa-laptop[_ngcontent-%COMP%]:before{content:""}.fa-tablet[_ngcontent-%COMP%]:before{content:""}.fa-mobile-phone[_ngcontent-%COMP%]:before, .fa-mobile[_ngcontent-%COMP%]:before{content:""}.fa-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-quote-left[_ngcontent-%COMP%]:before{content:""}.fa-quote-right[_ngcontent-%COMP%]:before{content:""}.fa-spinner[_ngcontent-%COMP%]:before{content:""}.fa-circle[_ngcontent-%COMP%]:before{content:""}.fa-mail-reply[_ngcontent-%COMP%]:before, .fa-reply[_ngcontent-%COMP%]:before{content:""}.fa-github-alt[_ngcontent-%COMP%]:before{content:""}.fa-folder-o[_ngcontent-%COMP%]:before{content:""}.fa-folder-open-o[_ngcontent-%COMP%]:before{content:""}.fa-smile-o[_ngcontent-%COMP%]:before{content:""}.fa-frown-o[_ngcontent-%COMP%]:before{content:""}.fa-meh-o[_ngcontent-%COMP%]:before{content:""}.fa-gamepad[_ngcontent-%COMP%]:before{content:""}.fa-keyboard-o[_ngcontent-%COMP%]:before{content:""}.fa-flag-o[_ngcontent-%COMP%]:before{content:""}.fa-flag-checkered[_ngcontent-%COMP%]:before{content:""}.fa-terminal[_ngcontent-%COMP%]:before{content:""}.fa-code[_ngcontent-%COMP%]:before{content:""}.fa-mail-reply-all[_ngcontent-%COMP%]:before, .fa-reply-all[_ngcontent-%COMP%]:before{content:""}.fa-star-half-empty[_ngcontent-%COMP%]:before, .fa-star-half-full[_ngcontent-%COMP%]:before, .fa-star-half-o[_ngcontent-%COMP%]:before{content:""}.fa-location-arrow[_ngcontent-%COMP%]:before{content:""}.fa-crop[_ngcontent-%COMP%]:before{content:""}.fa-code-fork[_ngcontent-%COMP%]:before{content:""}.fa-chain-broken[_ngcontent-%COMP%]:before, .fa-unlink[_ngcontent-%COMP%]:before{content:""}.fa-question[_ngcontent-%COMP%]:before{content:""}.fa-info[_ngcontent-%COMP%]:before{content:""}.fa-exclamation[_ngcontent-%COMP%]:before{content:""}.fa-superscript[_ngcontent-%COMP%]:before{content:""}.fa-subscript[_ngcontent-%COMP%]:before{content:""}.fa-eraser[_ngcontent-%COMP%]:before{content:""}.fa-puzzle-piece[_ngcontent-%COMP%]:before{content:""}.fa-microphone[_ngcontent-%COMP%]:before{content:""}.fa-microphone-slash[_ngcontent-%COMP%]:before{content:""}.fa-shield[_ngcontent-%COMP%]:before{content:""}.fa-calendar-o[_ngcontent-%COMP%]:before{content:""}.fa-fire-extinguisher[_ngcontent-%COMP%]:before{content:""}.fa-rocket[_ngcontent-%COMP%]:before{content:""}.fa-maxcdn[_ngcontent-%COMP%]:before{content:""}.fa-chevron-circle-left[_ngcontent-%COMP%]:before{content:""}.fa-chevron-circle-right[_ngcontent-%COMP%]:before{content:""}.fa-chevron-circle-up[_ngcontent-%COMP%]:before{content:""}.fa-chevron-circle-down[_ngcontent-%COMP%]:before{content:""}.fa-html5[_ngcontent-%COMP%]:before{content:""}.fa-css3[_ngcontent-%COMP%]:before{content:""}.fa-anchor[_ngcontent-%COMP%]:before{content:""}.fa-unlock-alt[_ngcontent-%COMP%]:before{content:""}.fa-bullseye[_ngcontent-%COMP%]:before{content:""}.fa-ellipsis-h[_ngcontent-%COMP%]:before{content:""}.fa-ellipsis-v[_ngcontent-%COMP%]:before{content:""}.fa-rss-square[_ngcontent-%COMP%]:before{content:""}.fa-play-circle[_ngcontent-%COMP%]:before{content:""}.fa-ticket[_ngcontent-%COMP%]:before{content:""}.fa-minus-square[_ngcontent-%COMP%]:before{content:""}.fa-minus-square-o[_ngcontent-%COMP%]:before{content:""}.fa-level-up[_ngcontent-%COMP%]:before{content:""}.fa-level-down[_ngcontent-%COMP%]:before{content:""}.fa-check-square[_ngcontent-%COMP%]:before{content:""}.fa-pencil-square[_ngcontent-%COMP%]:before{content:""}.fa-external-link-square[_ngcontent-%COMP%]:before{content:""}.fa-share-square[_ngcontent-%COMP%]:before{content:""}.fa-compass[_ngcontent-%COMP%]:before{content:""}.fa-caret-square-o-down[_ngcontent-%COMP%]:before, .fa-toggle-down[_ngcontent-%COMP%]:before{content:""}.fa-caret-square-o-up[_ngcontent-%COMP%]:before, .fa-toggle-up[_ngcontent-%COMP%]:before{content:""}.fa-caret-square-o-right[_ngcontent-%COMP%]:before, .fa-toggle-right[_ngcontent-%COMP%]:before{content:""}.fa-eur[_ngcontent-%COMP%]:before, .fa-euro[_ngcontent-%COMP%]:before{content:""}.fa-gbp[_ngcontent-%COMP%]:before, .fa-pound[_ngcontent-%COMP%]:before{content:""}.fa-dollar[_ngcontent-%COMP%]:before, .fa-usd[_ngcontent-%COMP%]:before{content:""}.fa-inr[_ngcontent-%COMP%]:before, .fa-rupee[_ngcontent-%COMP%]:before{content:""}.fa-cny[_ngcontent-%COMP%]:before, .fa-jpy[_ngcontent-%COMP%]:before, .fa-rmb[_ngcontent-%COMP%]:before, .fa-yen[_ngcontent-%COMP%]:before{content:""}.fa-rouble[_ngcontent-%COMP%]:before, .fa-rub[_ngcontent-%COMP%]:before, .fa-ruble[_ngcontent-%COMP%]:before{content:""}.fa-krw[_ngcontent-%COMP%]:before, .fa-won[_ngcontent-%COMP%]:before{content:""}.fa-bitcoin[_ngcontent-%COMP%]:before, .fa-btc[_ngcontent-%COMP%]:before{content:""}.fa-file[_ngcontent-%COMP%]:before{content:""}.fa-file-text[_ngcontent-%COMP%]:before{content:""}.fa-sort-alpha-asc[_ngcontent-%COMP%]:before, .fa-sort-alpha-down[_ngcontent-%COMP%]:before{content:""}.fa-sort-alpha-desc[_ngcontent-%COMP%]:before, .fa-sort-alpha-up[_ngcontent-%COMP%]:before{content:""}.fa-sort-amount-asc[_ngcontent-%COMP%]:before, .fa-sort-amount-down[_ngcontent-%COMP%]:before{content:""}.fa-sort-amount-desc[_ngcontent-%COMP%]:before, .fa-sort-amount-up[_ngcontent-%COMP%]:before{content:""}.fa-sort-numeric-asc[_ngcontent-%COMP%]:before, .fa-sort-numeric-down[_ngcontent-%COMP%]:before{content:""}.fa-sort-numeric-desc[_ngcontent-%COMP%]:before, .fa-sort-numeric-up[_ngcontent-%COMP%]:before{content:""}.fa-thumbs-up[_ngcontent-%COMP%]:before{content:""}.fa-thumbs-down[_ngcontent-%COMP%]:before{content:""}.fa-youtube-square[_ngcontent-%COMP%]:before{content:""}.fa-youtube[_ngcontent-%COMP%]:before{content:""}.fa-xing[_ngcontent-%COMP%]:before{content:""}.fa-xing-square[_ngcontent-%COMP%]:before{content:""}.fa-youtube-play[_ngcontent-%COMP%]:before{content:""}.fa-dropbox[_ngcontent-%COMP%]:before{content:""}.fa-stack-overflow[_ngcontent-%COMP%]:before{content:""}.fa-instagram[_ngcontent-%COMP%]:before{content:""}.fa-flickr[_ngcontent-%COMP%]:before{content:""}.fa-adn[_ngcontent-%COMP%]:before{content:""}.fa-bitbucket[_ngcontent-%COMP%]:before{content:""}.fa-bitbucket-square[_ngcontent-%COMP%]:before{content:""}.fa-tumblr[_ngcontent-%COMP%]:before{content:""}.fa-tumblr-square[_ngcontent-%COMP%]:before{content:""}.fa-long-arrow-down[_ngcontent-%COMP%]:before{content:""}.fa-long-arrow-up[_ngcontent-%COMP%]:before{content:""}.fa-long-arrow-left[_ngcontent-%COMP%]:before{content:""}.fa-long-arrow-right[_ngcontent-%COMP%]:before{content:""}.fa-apple[_ngcontent-%COMP%]:before{content:""}.fa-windows[_ngcontent-%COMP%]:before{content:""}.fa-android[_ngcontent-%COMP%]:before{content:""}.fa-linux[_ngcontent-%COMP%]:before{content:""}.fa-dribbble[_ngcontent-%COMP%]:before{content:""}.fa-skype[_ngcontent-%COMP%]:before{content:""}.fa-foursquare[_ngcontent-%COMP%]:before{content:""}.fa-trello[_ngcontent-%COMP%]:before{content:""}.fa-female[_ngcontent-%COMP%]:before{content:""}.fa-male[_ngcontent-%COMP%]:before{content:""}.fa-gittip[_ngcontent-%COMP%]:before, .fa-gratipay[_ngcontent-%COMP%]:before{content:""}.fa-sun-o[_ngcontent-%COMP%]:before{content:""}.fa-moon-o[_ngcontent-%COMP%]:before{content:""}.fa-archive[_ngcontent-%COMP%]:before{content:""}.fa-bug[_ngcontent-%COMP%]:before{content:""}.fa-vk[_ngcontent-%COMP%]:before{content:""}.fa-weibo[_ngcontent-%COMP%]:before{content:""}.fa-renren[_ngcontent-%COMP%]:before{content:""}.fa-pagelines[_ngcontent-%COMP%]:before{content:""}.fa-stack-exchange[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-o-right[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-o-left[_ngcontent-%COMP%]:before{content:""}.fa-caret-square-o-left[_ngcontent-%COMP%]:before, .fa-toggle-left[_ngcontent-%COMP%]:before{content:""}.fa-dot-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-wheelchair[_ngcontent-%COMP%]:before{content:""}.fa-vimeo-square[_ngcontent-%COMP%]:before{content:""}.fa-try[_ngcontent-%COMP%]:before, .fa-turkish-lira[_ngcontent-%COMP%]:before{content:""}.fa-plus-square-o[_ngcontent-%COMP%]:before{content:""}.fa-space-shuttle[_ngcontent-%COMP%]:before{content:""}.fa-slack[_ngcontent-%COMP%]:before{content:""}.fa-envelope-square[_ngcontent-%COMP%]:before{content:""}.fa-wordpress[_ngcontent-%COMP%]:before{content:""}.fa-openid[_ngcontent-%COMP%]:before{content:""}.fa-bank[_ngcontent-%COMP%]:before, .fa-institution[_ngcontent-%COMP%]:before, .fa-university[_ngcontent-%COMP%]:before{content:""}.fa-graduation-cap[_ngcontent-%COMP%]:before, .fa-mortar-board[_ngcontent-%COMP%]:before{content:""}.fa-yahoo[_ngcontent-%COMP%]:before{content:""}.fa-google[_ngcontent-%COMP%]:before{content:""}.fa-reddit[_ngcontent-%COMP%]:before{content:""}.fa-reddit-square[_ngcontent-%COMP%]:before{content:""}.fa-stumbleupon-circle[_ngcontent-%COMP%]:before{content:""}.fa-stumbleupon[_ngcontent-%COMP%]:before{content:""}.fa-delicious[_ngcontent-%COMP%]:before{content:""}.fa-digg[_ngcontent-%COMP%]:before{content:""}.fa-drupal[_ngcontent-%COMP%]:before{content:""}.fa-joomla[_ngcontent-%COMP%]:before{content:""}.fa-language[_ngcontent-%COMP%]:before{content:""}.fa-fax[_ngcontent-%COMP%]:before{content:""}.fa-building[_ngcontent-%COMP%]:before{content:""}.fa-child[_ngcontent-%COMP%]:before{content:""}.fa-paw[_ngcontent-%COMP%]:before{content:""}.fa-spoon[_ngcontent-%COMP%]:before, .fa-utensil-spoon[_ngcontent-%COMP%]:before{content:""}.fa-cube[_ngcontent-%COMP%]:before{content:""}.fa-cubes[_ngcontent-%COMP%]:before{content:""}.fa-behance[_ngcontent-%COMP%]:before{content:""}.fa-behance-square[_ngcontent-%COMP%]:before{content:""}.fa-steam[_ngcontent-%COMP%]:before{content:""}.fa-steam-square[_ngcontent-%COMP%]:before{content:""}.fa-recycle[_ngcontent-%COMP%]:before{content:""}.fa-automobile[_ngcontent-%COMP%]:before, .fa-car[_ngcontent-%COMP%]:before{content:""}.fa-cab[_ngcontent-%COMP%]:before, .fa-taxi[_ngcontent-%COMP%]:before{content:""}.fa-tree[_ngcontent-%COMP%]:before{content:""}.fa-spotify[_ngcontent-%COMP%]:before{content:""}.fa-deviantart[_ngcontent-%COMP%]:before{content:""}.fa-soundcloud[_ngcontent-%COMP%]:before{content:""}.fa-database[_ngcontent-%COMP%]:before{content:""}.fa-file-pdf-o[_ngcontent-%COMP%]:before{content:""}.fa-file-word-o[_ngcontent-%COMP%]:before{content:""}.fa-file-excel-o[_ngcontent-%COMP%]:before{content:""}.fa-file-powerpoint-o[_ngcontent-%COMP%]:before{content:""}.fa-file-image-o[_ngcontent-%COMP%]:before, .fa-file-photo-o[_ngcontent-%COMP%]:before, .fa-file-picture-o[_ngcontent-%COMP%]:before{content:""}.fa-file-archive-o[_ngcontent-%COMP%]:before, .fa-file-zip-o[_ngcontent-%COMP%]:before{content:""}.fa-file-audio-o[_ngcontent-%COMP%]:before, .fa-file-sound-o[_ngcontent-%COMP%]:before{content:""}.fa-file-movie-o[_ngcontent-%COMP%]:before, .fa-file-video-o[_ngcontent-%COMP%]:before{content:""}.fa-file-code-o[_ngcontent-%COMP%]:before{content:""}.fa-vine[_ngcontent-%COMP%]:before{content:""}.fa-codepen[_ngcontent-%COMP%]:before{content:""}.fa-jsfiddle[_ngcontent-%COMP%]:before{content:""}.fa-life-bouy[_ngcontent-%COMP%]:before, .fa-life-buoy[_ngcontent-%COMP%]:before, .fa-life-ring[_ngcontent-%COMP%]:before, .fa-life-saver[_ngcontent-%COMP%]:before, .fa-support[_ngcontent-%COMP%]:before{content:""}.fa-circle-o-notch[_ngcontent-%COMP%]:before{content:""}.fa-ra[_ngcontent-%COMP%]:before, .fa-rebel[_ngcontent-%COMP%]:before, .fa-resistance[_ngcontent-%COMP%]:before{content:""}.fa-empire[_ngcontent-%COMP%]:before, .fa-ge[_ngcontent-%COMP%]:before{content:""}.fa-git-square[_ngcontent-%COMP%]:before{content:""}.fa-git[_ngcontent-%COMP%]:before{content:""}.fa-hacker-news[_ngcontent-%COMP%]:before, .fa-y-combinator-square[_ngcontent-%COMP%]:before, .fa-yc-square[_ngcontent-%COMP%]:before{content:""}.fa-tencent-weibo[_ngcontent-%COMP%]:before{content:""}.fa-qq[_ngcontent-%COMP%]:before{content:""}.fa-wechat[_ngcontent-%COMP%]:before, .fa-weixin[_ngcontent-%COMP%]:before{content:""}.fa-paper-plane[_ngcontent-%COMP%]:before, .fa-send[_ngcontent-%COMP%]:before{content:""}.fa-paper-plane-o[_ngcontent-%COMP%]:before, .fa-send-o[_ngcontent-%COMP%]:before{content:""}.fa-history[_ngcontent-%COMP%]:before{content:""}.fa-circle-thin[_ngcontent-%COMP%]:before{content:""}.fa-header[_ngcontent-%COMP%]:before, .fa-heading[_ngcontent-%COMP%]:before{content:""}.fa-paragraph[_ngcontent-%COMP%]:before{content:""}.fa-sliders[_ngcontent-%COMP%]:before{content:""}.fa-share-alt[_ngcontent-%COMP%]:before{content:""}.fa-share-alt-square[_ngcontent-%COMP%]:before{content:""}.fa-bomb[_ngcontent-%COMP%]:before{content:""}.fa-futbol-o[_ngcontent-%COMP%]:before, .fa-soccer-ball-o[_ngcontent-%COMP%]:before{content:""}.fa-tty[_ngcontent-%COMP%]:before{content:""}.fa-binoculars[_ngcontent-%COMP%]:before{content:""}.fa-plug[_ngcontent-%COMP%]:before{content:""}.fa-slideshare[_ngcontent-%COMP%]:before{content:""}.fa-twitch[_ngcontent-%COMP%]:before{content:""}.fa-yelp[_ngcontent-%COMP%]:before{content:""}.fa-newspaper-o[_ngcontent-%COMP%]:before{content:""}.fa-wifi[_ngcontent-%COMP%]:before{content:""}.fa-calculator[_ngcontent-%COMP%]:before{content:""}.fa-paypal[_ngcontent-%COMP%]:before{content:""}.fa-google-wallet[_ngcontent-%COMP%]:before{content:""}.fa-cc-visa[_ngcontent-%COMP%]:before{content:""}.fa-cc-mastercard[_ngcontent-%COMP%]:before{content:""}.fa-cc-discover[_ngcontent-%COMP%]:before{content:""}.fa-cc-amex[_ngcontent-%COMP%]:before{content:""}.fa-cc-paypal[_ngcontent-%COMP%]:before{content:""}.fa-cc-stripe[_ngcontent-%COMP%]:before{content:""}.fa-bell-slash[_ngcontent-%COMP%]:before{content:""}.fa-bell-slash-o[_ngcontent-%COMP%]:before{content:""}.fa-trash[_ngcontent-%COMP%]:before{content:""}.fa-copyright[_ngcontent-%COMP%]:before{content:""}.fa-at[_ngcontent-%COMP%]:before{content:""}.fa-eyedropper[_ngcontent-%COMP%]:before{content:""}.fa-paint-brush[_ngcontent-%COMP%]:before{content:""}.fa-birthday-cake[_ngcontent-%COMP%]:before{content:""}.fa-area-chart[_ngcontent-%COMP%]:before{content:""}.fa-pie-chart[_ngcontent-%COMP%]:before{content:""}.fa-line-chart[_ngcontent-%COMP%]:before{content:""}.fa-lastfm[_ngcontent-%COMP%]:before{content:""}.fa-lastfm-square[_ngcontent-%COMP%]:before{content:""}.fa-toggle-off[_ngcontent-%COMP%]:before{content:""}.fa-toggle-on[_ngcontent-%COMP%]:before{content:""}.fa-bicycle[_ngcontent-%COMP%]:before{content:""}.fa-bus[_ngcontent-%COMP%]:before{content:""}.fa-ioxhost[_ngcontent-%COMP%]:before{content:""}.fa-angellist[_ngcontent-%COMP%]:before{content:""}.fa-cc[_ngcontent-%COMP%]:before, .fa-closed-captioning[_ngcontent-%COMP%]:before{content:""}.fa-ils[_ngcontent-%COMP%]:before, .fa-shekel[_ngcontent-%COMP%]:before, .fa-sheqel[_ngcontent-%COMP%]:before{content:""}.fa-meanpath[_ngcontent-%COMP%]:before{content:""}.fa-buysellads[_ngcontent-%COMP%]:before{content:""}.fa-connectdevelop[_ngcontent-%COMP%]:before{content:""}.fa-dashcube[_ngcontent-%COMP%]:before{content:""}.fa-forumbee[_ngcontent-%COMP%]:before{content:""}.fa-leanpub[_ngcontent-%COMP%]:before{content:""}.fa-sellsy[_ngcontent-%COMP%]:before{content:""}.fa-shirtsinbulk[_ngcontent-%COMP%]:before{content:""}.fa-simplybuilt[_ngcontent-%COMP%]:before{content:""}.fa-skyatlas[_ngcontent-%COMP%]:before{content:""}.fa-cart-plus[_ngcontent-%COMP%]:before{content:""}.fa-cart-arrow-down[_ngcontent-%COMP%]:before{content:""}.fa-diamond[_ngcontent-%COMP%]:before, .fa-gem[_ngcontent-%COMP%]:before{content:""}.fa-ship[_ngcontent-%COMP%]:before{content:""}.fa-user-secret[_ngcontent-%COMP%]:before{content:""}.fa-motorcycle[_ngcontent-%COMP%]:before{content:""}.fa-street-view[_ngcontent-%COMP%]:before{content:""}.fa-heartbeat[_ngcontent-%COMP%]:before{content:""}.fa-venus[_ngcontent-%COMP%]:before{content:""}.fa-mars[_ngcontent-%COMP%]:before{content:""}.fa-mercury[_ngcontent-%COMP%]:before{content:""}.fa-intersex[_ngcontent-%COMP%]:before, .fa-transgender[_ngcontent-%COMP%]:before{content:""}.fa-transgender-alt[_ngcontent-%COMP%]:before{content:""}.fa-venus-double[_ngcontent-%COMP%]:before{content:""}.fa-mars-double[_ngcontent-%COMP%]:before{content:""}.fa-venus-mars[_ngcontent-%COMP%]:before{content:""}.fa-mars-stroke[_ngcontent-%COMP%]:before{content:""}.fa-mars-stroke-v[_ngcontent-%COMP%]:before{content:""}.fa-mars-stroke-h[_ngcontent-%COMP%]:before{content:""}.fa-neuter[_ngcontent-%COMP%]:before{content:""}.fa-genderless[_ngcontent-%COMP%]:before{content:""}.fa-facebook-official[_ngcontent-%COMP%]:before{content:""}.fa-pinterest-p[_ngcontent-%COMP%]:before{content:""}.fa-whatsapp[_ngcontent-%COMP%]:before{content:""}.fa-server[_ngcontent-%COMP%]:before{content:""}.fa-user-plus[_ngcontent-%COMP%]:before{content:""}.fa-user-times[_ngcontent-%COMP%]:before{content:""}.fa-bed[_ngcontent-%COMP%]:before, .fa-hotel[_ngcontent-%COMP%]:before{content:""}.fa-viacoin[_ngcontent-%COMP%]:before{content:""}.fa-train[_ngcontent-%COMP%]:before{content:""}.fa-subway[_ngcontent-%COMP%]:before{content:""}.fa-medium[_ngcontent-%COMP%]:before{content:""}.fa-medium-square[_ngcontent-%COMP%]:before{content:""}.fa-y-combinator[_ngcontent-%COMP%]:before, .fa-yc[_ngcontent-%COMP%]:before{content:""}.fa-optin-monster[_ngcontent-%COMP%]:before{content:""}.fa-opencart[_ngcontent-%COMP%]:before{content:""}.fa-expeditedssl[_ngcontent-%COMP%]:before{content:""}.fa-battery-4[_ngcontent-%COMP%]:before, .fa-battery-full[_ngcontent-%COMP%]:before, .fa-battery[_ngcontent-%COMP%]:before{content:""}.fa-battery-3[_ngcontent-%COMP%]:before, .fa-battery-three-quarters[_ngcontent-%COMP%]:before{content:""}.fa-battery-2[_ngcontent-%COMP%]:before, .fa-battery-half[_ngcontent-%COMP%]:before{content:""}.fa-battery-1[_ngcontent-%COMP%]:before, .fa-battery-quarter[_ngcontent-%COMP%]:before{content:""}.fa-battery-0[_ngcontent-%COMP%]:before, .fa-battery-empty[_ngcontent-%COMP%]:before{content:""}.fa-mouse-pointer[_ngcontent-%COMP%]:before{content:""}.fa-i-cursor[_ngcontent-%COMP%]:before{content:""}.fa-object-group[_ngcontent-%COMP%]:before{content:""}.fa-object-ungroup[_ngcontent-%COMP%]:before{content:""}.fa-sticky-note[_ngcontent-%COMP%]:before{content:""}.fa-sticky-note-o[_ngcontent-%COMP%]:before{content:""}.fa-cc-jcb[_ngcontent-%COMP%]:before{content:""}.fa-cc-diners-club[_ngcontent-%COMP%]:before{content:""}.fa-clone[_ngcontent-%COMP%]:before{content:""}.fa-balance-scale[_ngcontent-%COMP%]:before{content:""}.fa-hourglass-o[_ngcontent-%COMP%]:before{content:""}.fa-hourglass-1[_ngcontent-%COMP%]:before, .fa-hourglass-start[_ngcontent-%COMP%]:before{content:""}.fa-hourglass-2[_ngcontent-%COMP%]:before, .fa-hourglass-half[_ngcontent-%COMP%]:before{content:""}.fa-hourglass-3[_ngcontent-%COMP%]:before, .fa-hourglass-end[_ngcontent-%COMP%]:before{content:""}.fa-hourglass[_ngcontent-%COMP%]:before{content:""}.fa-hand-grab-o[_ngcontent-%COMP%]:before, .fa-hand-rock-o[_ngcontent-%COMP%]:before{content:""}.fa-hand-paper-o[_ngcontent-%COMP%]:before, .fa-hand-stop-o[_ngcontent-%COMP%]:before{content:""}.fa-hand-scissors-o[_ngcontent-%COMP%]:before{content:""}.fa-hand-lizard-o[_ngcontent-%COMP%]:before{content:""}.fa-hand-spock-o[_ngcontent-%COMP%]:before{content:""}.fa-hand-pointer-o[_ngcontent-%COMP%]:before{content:""}.fa-hand-peace-o[_ngcontent-%COMP%]:before{content:""}.fa-trademark[_ngcontent-%COMP%]:before{content:""}.fa-registered[_ngcontent-%COMP%]:before{content:""}.fa-creative-commons[_ngcontent-%COMP%]:before{content:""}.fa-gg[_ngcontent-%COMP%]:before{content:""}.fa-gg-circle[_ngcontent-%COMP%]:before{content:""}.fa-tripadvisor[_ngcontent-%COMP%]:before{content:""}.fa-odnoklassniki[_ngcontent-%COMP%]:before{content:""}.fa-odnoklassniki-square[_ngcontent-%COMP%]:before{content:""}.fa-get-pocket[_ngcontent-%COMP%]:before{content:""}.fa-wikipedia-w[_ngcontent-%COMP%]:before{content:""}.fa-safari[_ngcontent-%COMP%]:before{content:""}.fa-chrome[_ngcontent-%COMP%]:before{content:""}.fa-firefox[_ngcontent-%COMP%]:before{content:""}.fa-opera[_ngcontent-%COMP%]:before{content:""}.fa-internet-explorer[_ngcontent-%COMP%]:before{content:""}.fa-television[_ngcontent-%COMP%]:before, .fa-tv[_ngcontent-%COMP%]:before{content:""}.fa-contao[_ngcontent-%COMP%]:before{content:""}.fa-500px[_ngcontent-%COMP%]:before{content:""}.fa-amazon[_ngcontent-%COMP%]:before{content:""}.fa-calendar-plus-o[_ngcontent-%COMP%]:before{content:""}.fa-calendar-minus-o[_ngcontent-%COMP%]:before{content:""}.fa-calendar-times-o[_ngcontent-%COMP%]:before{content:""}.fa-calendar-check-o[_ngcontent-%COMP%]:before{content:""}.fa-industry[_ngcontent-%COMP%]:before{content:""}.fa-map-pin[_ngcontent-%COMP%]:before{content:""}.fa-map-signs[_ngcontent-%COMP%]:before{content:""}.fa-map-o[_ngcontent-%COMP%]:before{content:""}.fa-map[_ngcontent-%COMP%]:before{content:""}.fa-commenting[_ngcontent-%COMP%]:before{content:""}.fa-commenting-o[_ngcontent-%COMP%]:before{content:""}.fa-houzz[_ngcontent-%COMP%]:before{content:""}.fa-vimeo-v[_ngcontent-%COMP%]:before, .fa-vimeo[_ngcontent-%COMP%]:before{content:""}.fa-black-tie[_ngcontent-%COMP%]:before{content:""}.fa-fonticons[_ngcontent-%COMP%]:before{content:""}.fa-reddit-alien[_ngcontent-%COMP%]:before{content:""}.fa-edge[_ngcontent-%COMP%]:before{content:""}.fa-credit-card-alt[_ngcontent-%COMP%]:before{content:""}.fa-codiepie[_ngcontent-%COMP%]:before{content:""}.fa-modx[_ngcontent-%COMP%]:before{content:""}.fa-fort-awesome[_ngcontent-%COMP%]:before{content:""}.fa-usb[_ngcontent-%COMP%]:before{content:""}.fa-product-hunt[_ngcontent-%COMP%]:before{content:""}.fa-mixcloud[_ngcontent-%COMP%]:before{content:""}.fa-scribd[_ngcontent-%COMP%]:before{content:""}.fa-pause-circle[_ngcontent-%COMP%]:before{content:""}.fa-pause-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-stop-circle[_ngcontent-%COMP%]:before{content:""}.fa-stop-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-shopping-bag[_ngcontent-%COMP%]:before{content:""}.fa-shopping-basket[_ngcontent-%COMP%]:before{content:""}.fa-hashtag[_ngcontent-%COMP%]:before{content:""}.fa-bluetooth[_ngcontent-%COMP%]:before{content:""}.fa-bluetooth-b[_ngcontent-%COMP%]:before{content:""}.fa-percent[_ngcontent-%COMP%]:before{content:""}.fa-gitlab[_ngcontent-%COMP%]:before{content:""}.fa-wpbeginner[_ngcontent-%COMP%]:before{content:""}.fa-wpforms[_ngcontent-%COMP%]:before{content:""}.fa-envira[_ngcontent-%COMP%]:before{content:""}.fa-universal-access[_ngcontent-%COMP%]:before{content:""}.fa-wheelchair-alt[_ngcontent-%COMP%]:before{content:""}.fa-question-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-blind[_ngcontent-%COMP%]:before{content:""}.fa-audio-description[_ngcontent-%COMP%]:before{content:""}.fa-phone-volume[_ngcontent-%COMP%]:before, .fa-volume-control-phone[_ngcontent-%COMP%]:before{content:""}.fa-braille[_ngcontent-%COMP%]:before{content:""}.fa-assistive-listening-systems[_ngcontent-%COMP%]:before{content:""}.fa-american-sign-language-interpreting[_ngcontent-%COMP%]:before, .fa-asl-interpreting[_ngcontent-%COMP%]:before{content:""}.fa-deaf[_ngcontent-%COMP%]:before, .fa-deafness[_ngcontent-%COMP%]:before, .fa-hard-of-hearing[_ngcontent-%COMP%]:before{content:""}.fa-glide[_ngcontent-%COMP%]:before{content:""}.fa-glide-g[_ngcontent-%COMP%]:before{content:""}.fa-sign-language[_ngcontent-%COMP%]:before, .fa-signing[_ngcontent-%COMP%]:before{content:""}.fa-low-vision[_ngcontent-%COMP%]:before{content:""}.fa-viadeo[_ngcontent-%COMP%]:before{content:""}.fa-viadeo-square[_ngcontent-%COMP%]:before{content:""}.fa-snapchat[_ngcontent-%COMP%]:before{content:""}.fa-snapchat-ghost[_ngcontent-%COMP%]:before{content:""}.fa-snapchat-square[_ngcontent-%COMP%]:before{content:""}.fa-first-order[_ngcontent-%COMP%]:before{content:""}.fa-yoast[_ngcontent-%COMP%]:before{content:""}.fa-themeisle[_ngcontent-%COMP%]:before{content:""}.fa-google-plus-circle[_ngcontent-%COMP%]:before, .fa-google-plus-official[_ngcontent-%COMP%]:before{content:""}.fa-fa[_ngcontent-%COMP%]:before, .fa-font-awesome[_ngcontent-%COMP%]:before{content:""}.fa-handshake-o[_ngcontent-%COMP%]:before{content:""}.fa-envelope-open[_ngcontent-%COMP%]:before{content:""}.fa-envelope-open-o[_ngcontent-%COMP%]:before{content:""}.fa-linode[_ngcontent-%COMP%]:before{content:""}.fa-address-book[_ngcontent-%COMP%]:before{content:""}.fa-address-book-o[_ngcontent-%COMP%]:before{content:""}.fa-address-card[_ngcontent-%COMP%]:before, .fa-vcard[_ngcontent-%COMP%]:before{content:""}.fa-address-card-o[_ngcontent-%COMP%]:before, .fa-vcard-o[_ngcontent-%COMP%]:before{content:""}.fa-user-circle[_ngcontent-%COMP%]:before{content:""}.fa-user-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-user-o[_ngcontent-%COMP%]:before{content:""}.fa-id-badge[_ngcontent-%COMP%]:before{content:""}.fa-drivers-license[_ngcontent-%COMP%]:before, .fa-id-card[_ngcontent-%COMP%]:before{content:""}.fa-drivers-license-o[_ngcontent-%COMP%]:before, .fa-id-card-o[_ngcontent-%COMP%]:before{content:""}.fa-quora[_ngcontent-%COMP%]:before{content:""}.fa-free-code-camp[_ngcontent-%COMP%]:before{content:""}.fa-telegram[_ngcontent-%COMP%]:before{content:""}.fa-thermometer-4[_ngcontent-%COMP%]:before, .fa-thermometer-full[_ngcontent-%COMP%]:before, .fa-thermometer[_ngcontent-%COMP%]:before{content:""}.fa-thermometer-3[_ngcontent-%COMP%]:before, .fa-thermometer-three-quarters[_ngcontent-%COMP%]:before{content:""}.fa-thermometer-2[_ngcontent-%COMP%]:before, .fa-thermometer-half[_ngcontent-%COMP%]:before{content:""}.fa-thermometer-1[_ngcontent-%COMP%]:before, .fa-thermometer-quarter[_ngcontent-%COMP%]:before{content:""}.fa-thermometer-0[_ngcontent-%COMP%]:before, .fa-thermometer-empty[_ngcontent-%COMP%]:before{content:""}.fa-shower[_ngcontent-%COMP%]:before{content:""}.fa-bath[_ngcontent-%COMP%]:before, .fa-bathtub[_ngcontent-%COMP%]:before, .fa-s15[_ngcontent-%COMP%]:before{content:""}.fa-podcast[_ngcontent-%COMP%]:before{content:""}.fa-window-maximize[_ngcontent-%COMP%]:before{content:""}.fa-window-minimize[_ngcontent-%COMP%]:before{content:""}.fa-window-restore[_ngcontent-%COMP%]:before{content:""}.fa-times-rectangle[_ngcontent-%COMP%]:before, .fa-window-close[_ngcontent-%COMP%]:before{content:""}.fa-times-rectangle-o[_ngcontent-%COMP%]:before, .fa-window-close-o[_ngcontent-%COMP%]:before{content:""}.fa-bandcamp[_ngcontent-%COMP%]:before{content:""}.fa-grav[_ngcontent-%COMP%]:before{content:""}.fa-etsy[_ngcontent-%COMP%]:before{content:""}.fa-imdb[_ngcontent-%COMP%]:before{content:""}.fa-ravelry[_ngcontent-%COMP%]:before{content:""}.fa-eercast[_ngcontent-%COMP%]:before{content:""}.fa-microchip[_ngcontent-%COMP%]:before{content:""}.fa-snowflake-o[_ngcontent-%COMP%]:before{content:""}.fa-superpowers[_ngcontent-%COMP%]:before{content:""}.fa-wpexplorer[_ngcontent-%COMP%]:before{content:""}.fa-meetup[_ngcontent-%COMP%]:before{content:""}.fa-mastodon[_ngcontent-%COMP%]:before{content:""}.fa-mastodon-alt[_ngcontent-%COMP%]:before{content:""}.fa-fork-awesome[_ngcontent-%COMP%]:before, .fa-fork-circle[_ngcontent-%COMP%]:before{content:""}.fa-peertube[_ngcontent-%COMP%]:before{content:""}.fa-diaspora[_ngcontent-%COMP%]:before{content:""}.fa-friendica[_ngcontent-%COMP%]:before{content:""}.fa-gnu-social[_ngcontent-%COMP%]:before{content:""}.fa-liberapay-square[_ngcontent-%COMP%]:before{content:""}.fa-liberapay[_ngcontent-%COMP%]:before{content:""}.fa-scuttlebutt[_ngcontent-%COMP%]:before, .fa-ssb[_ngcontent-%COMP%]:before{content:""}.fa-hubzilla[_ngcontent-%COMP%]:before{content:""}.fa-social-home[_ngcontent-%COMP%]:before{content:""}.fa-artstation[_ngcontent-%COMP%]:before{content:""}.fa-discord[_ngcontent-%COMP%]:before{content:""}.fa-discord-alt[_ngcontent-%COMP%]:before{content:""}.fa-patreon[_ngcontent-%COMP%]:before{content:""}.fa-snowdrift[_ngcontent-%COMP%]:before{content:""}.fa-activitypub[_ngcontent-%COMP%]:before{content:""}.fa-ethereum[_ngcontent-%COMP%]:before{content:""}.fa-keybase[_ngcontent-%COMP%]:before{content:""}.fa-shaarli[_ngcontent-%COMP%]:before{content:""}.fa-shaarli-o[_ngcontent-%COMP%]:before{content:""}.fa-cut-key[_ngcontent-%COMP%]:before, .fa-key-modern[_ngcontent-%COMP%]:before{content:""}.fa-xmpp[_ngcontent-%COMP%]:before{content:""}.fa-archive-org[_ngcontent-%COMP%]:before{content:""}.fa-freedombox[_ngcontent-%COMP%]:before{content:""}.fa-facebook-messenger[_ngcontent-%COMP%]:before{content:""}.fa-debian[_ngcontent-%COMP%]:before{content:""}.fa-mastodon-square[_ngcontent-%COMP%]:before{content:""}.fa-tipeee[_ngcontent-%COMP%]:before{content:""}.fa-react[_ngcontent-%COMP%]:before{content:""}.fa-dogmazic[_ngcontent-%COMP%]:before{content:""}.fa-zotero[_ngcontent-%COMP%]:before{content:""}.fa-nodejs[_ngcontent-%COMP%]:before{content:""}.fa-nextcloud[_ngcontent-%COMP%]:before{content:""}.fa-nextcloud-square[_ngcontent-%COMP%]:before{content:""}.fa-hackaday[_ngcontent-%COMP%]:before{content:""}.fa-laravel[_ngcontent-%COMP%]:before{content:""}.fa-signalapp[_ngcontent-%COMP%]:before{content:""}.fa-gnupg[_ngcontent-%COMP%]:before{content:""}.fa-php[_ngcontent-%COMP%]:before{content:""}.fa-ffmpeg[_ngcontent-%COMP%]:before{content:""}.fa-joplin[_ngcontent-%COMP%]:before{content:""}.fa-syncthing[_ngcontent-%COMP%]:before{content:""}.fa-inkscape[_ngcontent-%COMP%]:before{content:""}.fa-matrix-org[_ngcontent-%COMP%]:before{content:""}.fa-pixelfed[_ngcontent-%COMP%]:before{content:""}.fa-bootstrap[_ngcontent-%COMP%]:before{content:""}.fa-dev-to[_ngcontent-%COMP%]:before{content:""}.fa-hashnode[_ngcontent-%COMP%]:before{content:""}.fa-jirafeau[_ngcontent-%COMP%]:before{content:""}.fa-emby[_ngcontent-%COMP%]:before{content:""}.fa-wikidata[_ngcontent-%COMP%]:before{content:""}.fa-gimp[_ngcontent-%COMP%]:before{content:""}.fa-c[_ngcontent-%COMP%]:before{content:""}.fa-digitalocean[_ngcontent-%COMP%]:before{content:""}.fa-att[_ngcontent-%COMP%]:before{content:""}.fa-gitea[_ngcontent-%COMP%]:before{content:""}.fa-file-epub[_ngcontent-%COMP%]:before{content:""}.fa-python[_ngcontent-%COMP%]:before{content:""}.fa-archlinux[_ngcontent-%COMP%]:before{content:""}.fa-pleroma[_ngcontent-%COMP%]:before{content:""}.fa-unsplash[_ngcontent-%COMP%]:before{content:""}.fa-hackster[_ngcontent-%COMP%]:before{content:""}.fa-spell-check[_ngcontent-%COMP%]:before{content:""}.fa-moon[_ngcontent-%COMP%]:before{content:""}.fa-sun[_ngcontent-%COMP%]:before{content:""}.fa-f-droid[_ngcontent-%COMP%]:before{content:""}.fa-biometric[_ngcontent-%COMP%]:before{content:""}.sr-only[_ngcontent-%COMP%]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable[_ngcontent-%COMP%]:active, .sr-only-focusable[_ngcontent-%COMP%]:focus{clip:auto;white-space:normal;position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.info-card-popover-cluster-status[_ngcontent-%COMP%]{max-width:23vw;max-height:20vh}.info-card-popover-cluster-status[_ngcontent-%COMP%]   .popover-body[_ngcontent-%COMP%]{max-width:100%;max-height:19vh;font-size:12px}@media (max-width:calc(1200px - 1px)){.info-card-popover-cluster-status[_ngcontent-%COMP%]{max-width:31vw}}@media (max-width:calc(992px - 1px)){.info-card-popover-cluster-status[_ngcontent-%COMP%]{max-width:46vw}}@media (max-width:calc(768px - 1px)){.info-card-popover-cluster-status[_ngcontent-%COMP%]{max-width:83vw}}.info-card-content-clickable[_ngcontent-%COMP%]{cursor:pointer;padding:7px;border:1px solid #efefef;border-radius:3px}.info-card-content-clickable[_ngcontent-%COMP%]:hover{border-color:#d1d1d1;background-color:#f3f3f3}.custom-control-input.is-valid[_ngcontent-%COMP%] ~ .custom-control-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid ~ .custom-control-label[_ngcontent-%COMP%]{color:initial}.custom-control-input.is-valid[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid:checked ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#2b99a8;background-color:#2b99a8}.custom-control-input.is-valid[_ngcontent-%COMP%] ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#adb5bd}.custom-control-input.is-valid[_ngcontent-%COMP%]:focus ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid:focus ~ .custom-control-label[_ngcontent-%COMP%]::before{box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.custom-control-input.is-valid[_ngcontent-%COMP%]:focus:not(:checked) ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid:focus:not(:checked) ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#76d0dc}html[_ngcontent-%COMP%]{background-color:#fff}body[_ngcontent-%COMP%], html[_ngcontent-%COMP%]{width:100%;height:100%;font-size:12px}h1[_ngcontent-%COMP%]{letter-spacing:-1px;font-size:2em}h2[_ngcontent-%COMP%]{letter-spacing:-1px;font-size:1.833em}h3[_ngcontent-%COMP%]{display:block;font-size:1.583em;font-weight:400}h4[_ngcontent-%COMP%]{font-size:1.5em;line-height:normal}option[_ngcontent-%COMP%]{font-weight:400;font-style:normal}.full-height[_ngcontent-%COMP%]{height:100vh}.full-width[_ngcontent-%COMP%]{width:100vw}.vertical-align[_ngcontent-%COMP%]{display:flex;align-items:center}.horizontal-align[_ngcontent-%COMP%]{display:flex;justify-content:center}.loading[_ngcontent-%COMP%]{position:absolute;top:50%;left:50%}.margin-right-md[_ngcontent-%COMP%]{margin-right:15px}.no-border[_ngcontent-%COMP%]{border:0;box-shadow:0 0 0!important}.italic[_ngcontent-%COMP%]{font-style:italic}.bold[_ngcontent-%COMP%]{font-weight:700}.text-pre[_ngcontent-%COMP%]{white-space:pre-wrap}.btn-light[_ngcontent-%COMP%]{background-color:#fff!important;border-color:#ced4da!important}.btn-light[_ngcontent-%COMP%]:hover{background-color:#ddd!important;border-color:#adadad!important}.btn.active.focus[_ngcontent-%COMP%], .btn.active[_ngcontent-%COMP%]:focus, .btn.focus[_ngcontent-%COMP%], .btn[_ngcontent-%COMP%]:active.focus, .btn[_ngcontent-%COMP%]:active:focus, .btn[_ngcontent-%COMP%]:focus{outline:0}.btn-primary[_ngcontent-%COMP%]   .badge[_ngcontent-%COMP%]{color:#2b99a8;background-color:#eee}.btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%] > i.fa[_ngcontent-%COMP%], .cd-datatable-actions[_ngcontent-%COMP%]   button.btn[_ngcontent-%COMP%]   i.fa[_ngcontent-%COMP%]{margin-right:5px}.dropdown-menu[_ngcontent-%COMP%]{min-width:50px;z-index:999999}.dropdown-menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{color:#474544;cursor:pointer}.dropdown-menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] > i.fa[_ngcontent-%COMP%]{margin-right:5px}.dropdown-menu[_ngcontent-%COMP%] > .active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{color:#eee}.dropdown-menu[_ngcontent-%COMP%] > .active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%], .dropdown-menu[_ngcontent-%COMP%] > .active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:focus, .dropdown-menu[_ngcontent-%COMP%] > .active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{background-color:#21747f}.dataTables_wrapper[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%] > li.dropdown-divider[_ngcontent-%COMP%]{cursor:auto}.container[_ngcontent-%COMP%], .container-fluid[_ngcontent-%COMP%]{padding-left:30px!important;padding-right:30px!important}.row[_ngcontent-%COMP%]{margin-left:-30px;margin-right:-30px}.cd-col-form[_ngcontent-%COMP%], .cd-col-form-input[_ngcontent-%COMP%], .cd-col-form-label[_ngcontent-%COMP%], .cd-col-form-offset[_ngcontent-%COMP%], .col-1[_ngcontent-%COMP%], .col-10[_ngcontent-%COMP%], .col-11[_ngcontent-%COMP%], .col-12[_ngcontent-%COMP%], .col-2[_ngcontent-%COMP%], .col-3[_ngcontent-%COMP%], .col-4[_ngcontent-%COMP%], .col-5[_ngcontent-%COMP%], .col-6[_ngcontent-%COMP%], .col-7[_ngcontent-%COMP%], .col-8[_ngcontent-%COMP%], .col-9[_ngcontent-%COMP%], .col-lg-1[_ngcontent-%COMP%], .col-lg-10[_ngcontent-%COMP%], .col-lg-11[_ngcontent-%COMP%], .col-lg-12[_ngcontent-%COMP%], .col-lg-2[_ngcontent-%COMP%], .col-lg-3[_ngcontent-%COMP%], .col-lg-4[_ngcontent-%COMP%], .col-lg-5[_ngcontent-%COMP%], .col-lg-6[_ngcontent-%COMP%], .col-lg-7[_ngcontent-%COMP%], .col-lg-8[_ngcontent-%COMP%], .col-lg-9[_ngcontent-%COMP%], .col-md-1[_ngcontent-%COMP%], .col-md-10[_ngcontent-%COMP%], .col-md-11[_ngcontent-%COMP%], .col-md-12[_ngcontent-%COMP%], .col-md-2[_ngcontent-%COMP%], .col-md-3[_ngcontent-%COMP%], .col-md-4[_ngcontent-%COMP%], .col-md-5[_ngcontent-%COMP%], .col-md-6[_ngcontent-%COMP%], .col-md-7[_ngcontent-%COMP%], .col-md-8[_ngcontent-%COMP%], .col-md-9[_ngcontent-%COMP%], .col-sm-1[_ngcontent-%COMP%], .col-sm-10[_ngcontent-%COMP%], .col-sm-11[_ngcontent-%COMP%], .col-sm-12[_ngcontent-%COMP%], .col-sm-2[_ngcontent-%COMP%], .col-sm-3[_ngcontent-%COMP%], .col-sm-4[_ngcontent-%COMP%], .col-sm-5[_ngcontent-%COMP%], .col-sm-6[_ngcontent-%COMP%], .col-sm-7[_ngcontent-%COMP%], .col-sm-8[_ngcontent-%COMP%], .col-sm-9[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-input[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-label[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-offset[_ngcontent-%COMP%]{padding-left:30px;padding-right:30px}tags-input[_ngcontent-%COMP%]   .tags[_ngcontent-%COMP%]{border-radius:4px;border:1px solid #d1d1d1;box-shadow:inset 0 1px 1px rgba(0,0,0,.09)}.card[_ngcontent-%COMP%]   .accordion-title[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]   .accordion-title[_ngcontent-%COMP%], uib-accordion[_ngcontent-%COMP%]   .card-title[_ngcontent-%COMP%]{font-size:14px!important}.card-header[_ngcontent-%COMP%]{font-size:1.3em}.card-body[_ngcontent-%COMP%]   h2[_ngcontent-%COMP%]:first-child{margin-top:0}.disabled[_ngcontent-%COMP%]{pointer-events:none}.clickable[_ngcontent-%COMP%], a[_ngcontent-%COMP%]{cursor:pointer}[_ngcontent-%COMP%]:invalid   .has-error-btn[_ngcontent-%COMP%], [_ngcontent-%COMP%]:invalid   .has-error-btn[_ngcontent-%COMP%]:disabled:hover{background-color:#f2dede;border-color:#a94442}.noscript[_ngcontent-%COMP%]{padding-top:5em}.noscript[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]{color:#777}.required[_ngcontent-%COMP%]::after{color:#a94442;content:"*";font-size:14px;padding-left:4px}.form-footer[_ngcontent-%COMP%]{width:100%;display:flex}.cd-form-control[_ngcontent-%COMP%], .form-control[_ngcontent-%COMP%]{display:table-cell}.cd-form-control[_ngcontent-%COMP%]:focus, .form-control[_ngcontent-%COMP%]:focus{border-color:rgba(43,153,168,.8);outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px 2px rgba(43,153,168,.5)}.custom-checkbox[_ngcontent-%COMP%]{padding-top:7px}.card-footer[_ngcontent-%COMP%]   button.btn[_ngcontent-%COMP%]:not(:first-child), .modal-footer[_ngcontent-%COMP%]   button.btn[_ngcontent-%COMP%]:not(:first-child){margin-left:5px}.nav-tabs[_ngcontent-%COMP%]{margin-bottom:15px}.ceph-icon[_ngcontent-%COMP%]{background:url(Ceph_Logo_Stacked_RGB_120411_fa_228x228.1ed169ccc35367a2dab2.png)}.prometheus-icon[_ngcontent-%COMP%]{background:url(prometheus_logo.074db273ef932a67d91b.svg)}.custom-icon[_ngcontent-%COMP%]{padding:10px;margin-right:8px;background-clip:padding-box;background-size:contain;background-repeat:no-repeat}.toast-message[_ngcontent-%COMP%]   .custom-icon[_ngcontent-%COMP%]{filter:brightness(0) invert(1);-webkit-filter:brightness(0) invert(1);-moz-filter:brightness(0) invert(1);-o-filter:brightness(0) invert(1);-ms-filter:brightness(0) invert(1)}.block-ui-wrapper[_ngcontent-%COMP%]{background:rgba(0,0,0,.7)!important}.tooltip-wide[_ngcontent-%COMP%]   .tooltip-inner[_ngcontent-%COMP%]{width:400px}.tooltip-inner[_ngcontent-%COMP%]{background-color:#fff;border:1px solid grey;color:#333;font-size:1.1em}.toast-message[_ngcontent-%COMP%] > ul[_ngcontent-%COMP%]{padding-left:1em;margin:0}@media (min-width:576px){.cd-col-form-label[_ngcontent-%COMP%], .col-form-label[_ngcontent-%COMP%]{text-align:right}}.cd-col-form-label[_ngcontent-%COMP%], .col-form-label[_ngcontent-%COMP%]{font-weight:700}cd-submit-button[_ngcontent-%COMP%]{background-color:transparent!important}bfv-messages[_ngcontent-%COMP%]{display:none}.form-group.has-error[_ngcontent-%COMP%]   .invalid-feedback[_ngcontent-%COMP%]{display:block}.password-strength-level[_ngcontent-%COMP%]{flex:100%;margin-top:2px}.password-strength-level[_ngcontent-%COMP%]   .ok[_ngcontent-%COMP%], .password-strength-level[_ngcontent-%COMP%]   .strong[_ngcontent-%COMP%], .password-strength-level[_ngcontent-%COMP%]   .very-strong[_ngcontent-%COMP%], .password-strength-level[_ngcontent-%COMP%]   .weak[_ngcontent-%COMP%]{border-radius:.25rem;height:13px}.password-strength-level[_ngcontent-%COMP%]   .weak[_ngcontent-%COMP%]{width:25%;background:red}.password-strength-level[_ngcontent-%COMP%]   .ok[_ngcontent-%COMP%]{width:50%;background:#ffc200}.password-strength-level[_ngcontent-%COMP%]   .strong[_ngcontent-%COMP%]{width:75%;background:#0b0}.password-strength-level[_ngcontent-%COMP%]   .very-strong[_ngcontent-%COMP%]{width:100%;background:#245e03}.badge-hdd[_ngcontent-%COMP%]{color:#fff;background-color:#90949c}.badge-ssd[_ngcontent-%COMP%]{color:#fff;background-color:#288cea}.badge-tab[_ngcontent-%COMP%]{color:#555;background-color:#f3f3f3}tree-root[_ngcontent-%COMP%]   tree-viewport[_ngcontent-%COMP%]{min-height:1em}.dataTables_wrapper[_ngcontent-%COMP%]{margin-bottom:25px}.dataTables_wrapper[_ngcontent-%COMP%]   .separator[_ngcontent-%COMP%]{height:30px;border-left:1px solid rgba(0,0,0,.09);padding-left:5px;margin-left:5px;display:inline-block;vertical-align:middle}.dataTables_wrapper[_ngcontent-%COMP%]   .widget-toolbar[_ngcontent-%COMP%]{float:right;border-left:1px solid rgba(0,0,0,.09);padding:0 8px}.dataTables_wrapper[_ngcontent-%COMP%]   .widget-toolbar[_ngcontent-%COMP%]   .form-check[_ngcontent-%COMP%]{padding-left:0}.dataTables_wrapper[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{white-space:nowrap}.dataTables_wrapper[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%]{cursor:pointer}.dataTables_wrapper[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > label[_ngcontent-%COMP%]{width:100%;margin-bottom:0;padding-left:20px;padding-right:20px;cursor:pointer}.dataTables_wrapper[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > label[_ngcontent-%COMP%]:hover{background-color:#f5f5f5}.dataTables_wrapper[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > label[_ngcontent-%COMP%] > input[_ngcontent-%COMP%]{cursor:pointer}.dataTables_wrapper[_ngcontent-%COMP%]   .dataTables_length[_ngcontent-%COMP%] > input[_ngcontent-%COMP%]{line-height:25px;text-align:right}.dataTables_header[_ngcontent-%COMP%]{background-color:#f5f5f5;border:1px solid #d1d1d1;border-bottom:none;padding:5px;position:relative}.dataTables_header[_ngcontent-%COMP%]   .cd-datatable-actions[_ngcontent-%COMP%]{float:left}.dataTables_header[_ngcontent-%COMP%]     .table-filters{float:right;border-left:1px solid rgba(0,0,0,.09);padding-left:8px}.dataTables_header[_ngcontent-%COMP%]     .table-filters label{margin-right:4px}.dataTables_header[_ngcontent-%COMP%]   .form-group[_ngcontent-%COMP%]{padding-left:8px}.dataTables_header[_ngcontent-%COMP%]   .input-group[_ngcontent-%COMP%]{float:right;border-left:1px solid rgba(0,0,0,.09);padding-left:8px;padding-right:8px;width:40%;max-width:250px}.dataTables_header[_ngcontent-%COMP%]   .input-group[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%], .dataTables_header[_ngcontent-%COMP%]   .input-group[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]{height:30px}.dataTables_header[_ngcontent-%COMP%]   .input-group.dataTables_paginate[_ngcontent-%COMP%]{width:8%;min-width:85px;padding-right:8px}.dataTables_header[_ngcontent-%COMP%]   .filter-chips[_ngcontent-%COMP%]{float:right;padding:0 8px}  .cd-datatable{border:1px solid #d1d1d1;margin-bottom:0;max-width:none!important}  .cd-datatable .progress-linear{display:block;position:relative;width:100%;height:5px;padding:0;margin:0}  .cd-datatable .progress-linear .container{background-color:#afd9ee}  .cd-datatable .progress-linear .container .bar{left:0;height:100%;width:100%;position:absolute;overflow:hidden;background-color:#afd9ee}  .cd-datatable .progress-linear .container .bar:before{display:block;position:absolute;content:"";left:-200px;width:200px;height:100%;background-color:#2b99a8;animation:3s linear infinite progress-loading}  .cd-datatable .datatable-header{background-clip:padding-box;background-color:#f5f5f5;background-image:linear-gradient(to bottom,#f5f5f5 0,#ededed 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#fffafafa", endColorstr="#ffededed", GradientType=0)}  .cd-datatable .datatable-header .sort-asc,   .cd-datatable .datatable-header .sort-desc{color:#2b99a8}  .cd-datatable .datatable-header .datatable-header-cell{padding:5px;border:none;border-left:1px solid #d1d1d1;border-bottom:1px solid #d1d1d1;text-align:left;font-weight:700}  .cd-datatable .datatable-header .datatable-header-cell .datatable-header-cell-label:after{font-family:ForkAwesome;font-weight:400;height:9px;left:10px;line-height:12px;position:relative;vertical-align:baseline;width:12px}  .cd-datatable .datatable-header .datatable-header-cell.sortable .datatable-header-cell-label:after{content:" "}  .cd-datatable .datatable-header .datatable-header-cell.sortable.sort-active.sort-asc .datatable-header-cell-label:after{content:" "}  .cd-datatable .datatable-header .datatable-header-cell.sortable.sort-active.sort-desc .datatable-header-cell-label:after{content:" "}  .cd-datatable .datatable-header .datatable-header-cell:first-child{border-left:none}  .cd-datatable .datatable-body{margin-bottom:-6px}  .cd-datatable .datatable-body .empty-row{background-color:#fff3cd;text-align:center;font-weight:700;font-style:italic;padding-top:5px;padding-bottom:5px}  .cd-datatable .datatable-body .datatable-body-row.clickable:hover .datatable-row-group{background-color:#eee;transition-property:background;transition-duration:.3s;transition-timing-function:linear}  .cd-datatable .datatable-body .datatable-body-row.datatable-row-even{background-color:#fff}  .cd-datatable .datatable-body .datatable-body-row.datatable-row-odd{background-color:#f5f5f5}  .cd-datatable .datatable-body .datatable-body-row.active,   .cd-datatable .datatable-body .datatable-body-row.active:hover{background-color:#d1ecf1}  .cd-datatable .datatable-body .datatable-body-row .datatable-body-cell{padding:5px;border:none;border-left:1px solid #d1d1d1;border-bottom:1px solid #d1d1d1}  .cd-datatable .datatable-body .datatable-body-row .datatable-body-cell:first-child{border-left:none}  .cd-datatable .datatable-body .datatable-body-row .datatable-body-cell .datatable-body-cell-label{display:block}  .cd-datatable .datatable-footer .page-count,   .cd-datatable .datatable-footer .selected-count{font-style:italic;padding-left:5px}  .cd-datatable .cd-datatable-checkbox{text-align:center}@keyframes progress-loading{from{left:-200px;width:15%}50%{width:30%}70%{width:70%}80%{left:50%}95%{left:120%}to{left:100%}}']],data:{}});function ie(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"cd-alert-panel",[["type","error"]],null,null,null,r.b,r.a)),a["ɵdid"](1,114688,null,0,o.a,[i.a],{type:[0,"type"]},null),(t()(),a["ɵted"](-1,0,["Failed to load data."]))],(function(t,e){t(e,1,0,"error")}),null)}function se(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"div",[["class","dataTables_header clearfix"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,1,"div",[["class","cd-datatable-actions"]],null,null,null,null,null)),a["ɵncd"](null,0)],null,null)}function ce(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"li",[["role","menuitem"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,1,"a",[["class","dropdown-item"],["href",""]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(t.component.onSelectFilter(t.context.$implicit),a=!1),a}),null,null)),(t()(),a["ɵted"](2,null,["",""]))],null,(function(t,e){t(e,2,0,e.context.$implicit.column.name)}))}function le(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"ul",[["class","dropdown-menu px-1"],["role","menu"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,ce)),a["ɵdid"](2,278528,null,0,s.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){t(e,2,0,e.component.columnFilters)}),null)}function de(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"i",[],null,null,null,null,null)),a["ɵprd"](512,null,s["ɵNgClassImpl"],s["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](2,278528,null,0,s.NgClass,[s["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),a["ɵpad"](3,1)],(function(t,e){var n=t(e,3,0,e.component.icons.check);t(e,2,0,n)}),null)}function ue(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,4,"li",[["role","menuitem"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,3,"a",[["class","dropdown-item"],["href",""]],null,[[null,"click"]],(function(t,e,n){var a=!0,r=t.component;return"click"===e&&(r.onChangeFilter(r.selectedFilter,t.context.$implicit),a=!1),a}),null,null)),(t()(),a["ɵted"](2,null,[""," "])),(t()(),a["ɵand"](16777216,null,null,1,null,de)),a["ɵdid"](4,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,4,0,void 0!==n.selectedFilter.value&&n.selectedFilter.value.raw===e.context.$implicit.raw)}),(function(t,e){t(e,2,0,e.context.$implicit.formatted)}))}function ge(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"ul",[["class","dropdown-menu px-1"],["role","menu"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,ue)),a["ɵdid"](2,278528,null,0,s.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){t(e,2,0,e.component.selectedFilter.options)}),null)}function fe(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,20,"div",[["class","btn-group widget-toolbar"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,16777216,null,null,11,"div",[["class","btn-group tc_filter_name"],["dropdown",""]],[[2,"dropup",null],[2,"open",null],[2,"show",null]],null,null,null,null)),a["ɵprd"](512,null,c.f,c.f,[]),a["ɵdid"](3,212992,null,0,c.c,[a.ElementRef,a.Renderer2,a.ViewContainerRef,l.a,c.a,c.f],null,null),(t()(),a["ɵeld"](4,0,null,null,6,"a",[["class","btn btn-light dropdown-toggle"],["data-toggle","dropdown"],["dropdownToggle",""]],[[1,"aria-haspopup",0],[1,"disabled",0],[1,"aria-expanded",0]],[[null,"click"]],(function(t,e,n){var r=!0;return"click"===e&&(r=!1!==a["ɵnov"](t,5).onClick()&&r),r}),null,null)),a["ɵdid"](5,147456,null,0,c.g,[a.ChangeDetectorRef,c.c,a.ElementRef,a.Renderer2,c.f],null,null),(t()(),a["ɵeld"](6,0,null,null,3,"i",[],null,null,null,null,null)),a["ɵprd"](512,null,s["ɵNgClassImpl"],s["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](8,278528,null,0,s.NgClass,[s["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),a["ɵpad"](9,2),(t()(),a["ɵted"](10,null,[" "," "])),(t()(),a["ɵand"](16777216,null,null,1,null,le)),a["ɵdid"](12,16384,null,0,c.d,[c.f,a.ViewContainerRef,a.TemplateRef],null,null),(t()(),a["ɵeld"](13,16777216,null,null,7,"div",[["class","btn-group tc_filter_option"],["dropdown",""]],[[2,"dropup",null],[2,"open",null],[2,"show",null]],null,null,null,null)),a["ɵprd"](512,null,c.f,c.f,[]),a["ɵdid"](15,212992,null,0,c.c,[a.ElementRef,a.Renderer2,a.ViewContainerRef,l.a,c.a,c.f],null,null),(t()(),a["ɵeld"](16,0,null,null,2,"a",[["class","btn btn-light dropdown-toggle"],["data-toggle","dropdown"],["dropdownToggle",""]],[[2,"disabled",null],[1,"aria-haspopup",0],[1,"disabled",0],[1,"aria-expanded",0]],[[null,"click"]],(function(t,e,n){var r=!0;return"click"===e&&(r=!1!==a["ɵnov"](t,17).onClick()&&r),r}),null,null)),a["ɵdid"](17,147456,null,0,c.g,[a.ChangeDetectorRef,c.c,a.ElementRef,a.Renderer2,c.f],null,null),(t()(),a["ɵted"](18,null,[" "," "])),(t()(),a["ɵand"](16777216,null,null,1,null,ge)),a["ɵdid"](20,16384,null,0,c.d,[c.f,a.ViewContainerRef,a.TemplateRef],null,null)],(function(t,e){var n=e.component;t(e,3,0);var a=t(e,9,0,n.icons.large,n.icons.filter);t(e,8,0,a),t(e,15,0)}),(function(t,e){var n=e.component;t(e,1,0,a["ɵnov"](e,3).dropup,a["ɵnov"](e,3).isOpen,a["ɵnov"](e,3).isOpen&&a["ɵnov"](e,3).isBs4),t(e,4,0,!0,a["ɵnov"](e,5).isDisabled,a["ɵnov"](e,5).isOpen),t(e,10,0,n.selectedFilter.column.name),t(e,13,0,a["ɵnov"](e,15).dropup,a["ɵnov"](e,15).isOpen,a["ɵnov"](e,15).isOpen&&a["ɵnov"](e,15).isBs4),t(e,16,0,0===n.selectedFilter.options.length,!0,a["ɵnov"](e,17).isDisabled,a["ɵnov"](e,17).isOpen),t(e,18,0,n.selectedFilter.value?n.selectedFilter.value.formatted:"Any")}))}function pe(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,15,"div",[["class","input-group search"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,5,"span",[["class","input-group-prepend"]],null,null,null,null,null)),(t()(),a["ɵeld"](2,0,null,null,4,"span",[["class","input-group-text"]],null,null,null,null,null)),(t()(),a["ɵeld"](3,0,null,null,3,"i",[],null,null,null,null,null)),a["ɵprd"](512,null,s["ɵNgClassImpl"],s["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](5,278528,null,0,s.NgClass,[s["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),a["ɵpad"](6,1),(t()(),a["ɵeld"](7,0,null,null,5,"input",[["class","form-control"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"keyup"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var r=!0,o=t.component;return"input"===e&&(r=!1!==a["ɵnov"](t,8)._handleInput(n.target.value)&&r),"blur"===e&&(r=!1!==a["ɵnov"](t,8).onTouched()&&r),"compositionstart"===e&&(r=!1!==a["ɵnov"](t,8)._compositionStart()&&r),"compositionend"===e&&(r=!1!==a["ɵnov"](t,8)._compositionEnd(n.target.value)&&r),"ngModelChange"===e&&(r=!1!==(o.search=n)&&r),"keyup"===e&&(r=!1!==o.updateFilter()&&r),r}),null,null)),a["ɵdid"](8,16384,null,0,d.e,[a.Renderer2,a.ElementRef,[2,d.b]],null,null),a["ɵprd"](1024,null,d.p,(function(t){return[t]}),[d.e]),a["ɵdid"](10,671744,null,0,d.u,[[8,null],[8,null],[8,null],[6,d.p]],{model:[0,"model"]},{update:"ngModelChange"}),a["ɵprd"](2048,null,d.q,null,[d.u]),a["ɵdid"](12,16384,null,0,d.r,[[4,d.q]],null,null),(t()(),a["ɵeld"](13,0,null,null,2,"div",[["class","input-group-append"]],null,null,null,null,null)),(t()(),a["ɵeld"](14,0,null,null,1,"button",[["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.onClearSearch()&&a),a}),null,null)),(t()(),a["ɵeld"](15,0,null,null,0,"i",[],[[8,"className",0]],null,null,null,null))],(function(t,e){var n=e.component,a=t(e,6,0,n.icons.search);t(e,5,0,a),t(e,10,0,n.search)}),(function(t,e){var n=e.component;t(e,7,0,a["ɵnov"](e,12).ngClassUntouched,a["ɵnov"](e,12).ngClassTouched,a["ɵnov"](e,12).ngClassPristine,a["ɵnov"](e,12).ngClassDirty,a["ɵnov"](e,12).ngClassValid,a["ɵnov"](e,12).ngClassInvalid,a["ɵnov"](e,12).ngClassPending),t(e,15,0,a["ɵinlineInterpolate"](1,"icon-prepend ",n.icons.destroy,""))}))}function me(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,4,"li",[],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,3,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(t()(),a["ɵeld"](2,0,null,null,0,"input",[["class","custom-control-input"],["type","checkbox"]],[[8,"name",0],[8,"id",0],[8,"checked",0]],[[null,"change"]],(function(t,e,n){var a=!0;return"change"===e&&(a=!1!==t.component.toggleColumn(n)&&a),a}),null,null)),(t()(),a["ɵeld"](3,0,null,null,1,"label",[["class","custom-control-label"]],[[8,"htmlFor",0]],null,null,null,null)),(t()(),a["ɵted"](4,null,["",""]))],null,(function(t,e){t(e,2,0,e.context.$implicit.prop,e.context.$implicit.prop,!e.context.$implicit.isHidden),t(e,3,0,e.context.$implicit.prop),t(e,4,0,e.context.$implicit.name)}))}function he(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"ul",[["class","dropdown-menu px-3"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,me)),a["ɵdid"](2,278528,null,0,s.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){t(e,2,0,e.component.columns)}),null)}function be(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,5,"div",[["class","widget-toolbar tc_refreshBtn"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,4,"button",[["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.refreshBtn()&&a),a}),null,null)),(t()(),a["ɵeld"](2,0,null,null,3,"i",[],[[2,"fa-spin",null]],null,null,null,null)),a["ɵprd"](512,null,s["ɵNgClassImpl"],s["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](4,278528,null,0,s.NgClass,[s["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),a["ɵpad"](5,2)],(function(t,e){var n=e.component,a=t(e,5,0,n.icons.large,n.icons.refresh);t(e,4,0,a)}),(function(t,e){var n=e.component;t(e,2,0,n.updating||n.loadingIndicator)}))}function _e(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,23,"div",[["class","dataTables_header clearfix"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,1,"div",[["class","cd-datatable-actions"]],null,null,null,null,null)),a["ɵncd"](null,1),a["ɵncd"](null,2),(t()(),a["ɵand"](16777216,null,null,1,null,fe)),a["ɵdid"](5,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,pe)),a["ɵdid"](7,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵeld"](8,0,null,null,1,"div",[["class","input-group dataTables_paginate"]],null,null,null,null,null)),(t()(),a["ɵeld"](9,0,null,null,0,"input",[["class","form-control"],["max","9999"],["min","1"],["type","number"]],[[8,"value",0]],[[null,"click"],[null,"keyup"],[null,"blur"]],(function(t,e,n){var a=!0,r=t.component;return"click"===e&&(a=!1!==r.setLimit(n)&&a),"keyup"===e&&(a=!1!==r.setLimit(n)&&a),"blur"===e&&(a=!1!==r.setLimit(n)&&a),a}),null,null)),(t()(),a["ɵeld"](10,0,null,null,11,"div",[["class","widget-toolbar"]],null,null,null,null,null)),(t()(),a["ɵeld"](11,16777216,null,null,10,"div",[["class","dropdown tc_menuitem tc_menuitem_cluster"],["dropdown",""]],[[2,"dropup",null],[2,"open",null],[2,"show",null]],null,null,null,null)),a["ɵprd"](512,null,c.f,c.f,[]),a["ɵdid"](13,212992,null,0,c.c,[a.ElementRef,a.Renderer2,a.ViewContainerRef,l.a,c.a,c.f],{autoClose:[0,"autoClose"]},null),(t()(),a["ɵeld"](14,0,null,null,5,"a",[["class","btn btn-light dropdown-toggle tc_columnBtn"],["data-toggle","dropdown"],["dropdownToggle",""]],[[1,"aria-haspopup",0],[1,"disabled",0],[1,"aria-expanded",0]],[[null,"click"]],(function(t,e,n){var r=!0;return"click"===e&&(r=!1!==a["ɵnov"](t,15).onClick()&&r),r}),null,null)),a["ɵdid"](15,147456,null,0,c.g,[a.ChangeDetectorRef,c.c,a.ElementRef,a.Renderer2,c.f],null,null),(t()(),a["ɵeld"](16,0,null,null,3,"i",[],null,null,null,null,null)),a["ɵprd"](512,null,s["ɵNgClassImpl"],s["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](18,278528,null,0,s.NgClass,[s["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),a["ɵpad"](19,2),(t()(),a["ɵand"](16777216,null,null,1,null,he)),a["ɵdid"](21,16384,null,0,c.d,[c.f,a.ViewContainerRef,a.TemplateRef],null,null),(t()(),a["ɵand"](16777216,null,null,1,null,be)),a["ɵdid"](23,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,5,0,0!==n.columnFilters.length),t(e,7,0,n.searchField),t(e,13,0,!1);var a=t(e,19,0,n.icons.large,n.icons.table);t(e,18,0,a),t(e,23,0,n.fetchData.observers.length>0)}),(function(t,e){t(e,9,0,e.component.userConfig.limit),t(e,11,0,a["ɵnov"](e,13).dropup,a["ɵnov"](e,13).isOpen,a["ɵnov"](e,13).isOpen&&a["ɵnov"](e,13).isBs4),t(e,14,0,!0,a["ɵnov"](e,15).isDisabled,a["ɵnov"](e,15).isOpen)}))}function ye(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,7,"span",[["class","badge badge-info mr-2"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,1,"span",[["class","mr-2"]],null,null,null,null,null)),(t()(),a["ɵted"](2,null,["",": ",""])),(t()(),a["ɵeld"](3,0,null,null,4,"a",[["class","badge-remove"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(t.component.onChangeFilter(t.parent.context.$implicit),a=!1),a}),null,null)),(t()(),a["ɵeld"](4,0,null,null,3,"i",[["aria-hidden","true"]],null,null,null,null,null)),a["ɵprd"](512,null,s["ɵNgClassImpl"],s["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](6,278528,null,0,s.NgClass,[s["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),a["ɵpad"](7,1)],(function(t,e){var n=t(e,7,0,e.component.icons.destroy);t(e,6,0,n)}),(function(t,e){t(e,2,0,e.parent.context.$implicit.column.name,e.parent.context.$implicit.value.formatted)}))}function Oe(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,ye)),a["ɵdid"](2,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){t(e,2,0,e.context.$implicit.value)}),null)}function ve(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,6,"div",[["class","dataTables_header clearfix"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,5,"div",[["class","filter-chips"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,Oe)),a["ɵdid"](3,278528,null,0,s.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),a["ɵeld"](4,0,null,null,2,"a",[["class","tc_clearSelections"],["href",""]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(t.component.onClearFilters(),a=!1),a}),null,null)),(t()(),a["ɵeld"](5,0,null,null,1,null,null,null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["Clear filters"]))],(function(t,e){t(e,3,0,e.component.columnFilters)}),null)}function Ce(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,4,"span",[],null,null,null,null,null)),(t()(),a["ɵted"](1,null,[" "," "])),(t()(),a["ɵeld"](2,0,null,null,1,null,null,null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["selected"])),(t()(),a["ɵted"](-1,null,[" / "]))],null,(function(t,e){t(e,1,0,e.parent.context.selectedCount)}))}function Pe(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,4,"span",[],null,null,null,null,null)),(t()(),a["ɵted"](1,null,[" "," "])),(t()(),a["ɵeld"](2,0,null,null,1,null,null,null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["found"])),(t()(),a["ɵted"](-1,null,[" / "]))],null,(function(t,e){t(e,1,0,e.parent.context.rowCount)}))}function Me(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,8,"div",[["class","page-count"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,Ce)),a["ɵdid"](2,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,Pe)),a["ɵdid"](4,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵeld"](5,0,null,null,3,"span",[],null,null,null,null,null)),(t()(),a["ɵted"](6,null,[" "," "])),(t()(),a["ɵeld"](7,0,null,null,1,null,null,null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["total"])),(t()(),a["ɵeld"](9,0,null,null,1,"datatable-pager",[["class","datatable-pager"]],[[8,"hidden",0]],[[null,"change"]],(function(t,e,n){var r=!0;return"change"===e&&(r=!1!==a["ɵnov"](t.parent,23).onFooterPage(n)&&r),r}),p,g)),a["ɵdid"](10,49152,null,0,u.DataTablePagerComponent,[],{pagerLeftArrowIcon:[0,"pagerLeftArrowIcon"],pagerRightArrowIcon:[1,"pagerRightArrowIcon"],pagerPreviousIcon:[2,"pagerPreviousIcon"],pagerNextIcon:[3,"pagerNextIcon"],size:[4,"size"],count:[5,"count"],page:[6,"page"]},{change:"change"})],(function(t,e){var n=e.component;t(e,2,0,n.selectionType),t(e,4,0,e.context.rowCount!=(null==n.data?null:n.data.length)),t(e,10,0,n.paginationClasses.pagerLeftArrow,n.paginationClasses.pagerRightArrow,n.paginationClasses.pagerPrevious,n.paginationClasses.pagerNext,e.context.pageSize,e.context.rowCount,e.context.curPage)}),(function(t,e){var n=e.component;t(e,6,0,(null==n.data?null:n.data.length)||0),t(e,9,0,!(e.context.rowCount/e.context.pageSize>1))}))}function xe(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"strong",[],null,null,null,null,null)),(t()(),a["ɵted"](1,null,["",""]))],null,(function(t,e){t(e,1,0,e.context.value)}))}function we(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"cd-sparkline",[],null,null,null,m.b,m.a)),a["ɵdid"](1,638976,null,0,h.a,[b.a],{data:[0,"data"],isBinary:[1,"isBinary"]},null)],(function(t,e){t(e,1,0,e.context.value,e.context.row.cdIsBinary)}),null)}function Te(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"a",[],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var r=!0;return"click"===e&&(r=!1!==a["ɵnov"](t,1).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&r),r}),null,null)),a["ɵdid"](1,671744,null,0,_.p,[_.m,_.a,s.LocationStrategy],{queryParams:[0,"queryParams"],routerLink:[1,"routerLink"]},null),a["ɵpad"](2,1),(t()(),a["ɵted"](3,null,["",""]))],(function(t,e){var n=e.context.row.cdParams,a=t(e,2,0,e.context.row.cdLink);t(e,1,0,n,a)}),(function(t,e){t(e,0,0,a["ɵnov"](e,1).target,a["ɵnov"](e,1).href),t(e,3,0,e.context.value)}))}function ke(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,4,"i",[],[[8,"hidden",0]],null,null,null,null)),a["ɵprd"](512,null,s["ɵNgClassImpl"],s["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](2,278528,null,0,s.NgClass,[s["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),a["ɵpad"](3,1),a["ɵppd"](4,1)],(function(t,e){var n=t(e,3,0,e.component.icons.check);t(e,2,0,n)}),(function(t,e){var n=!a["ɵunv"](e,0,0,t(e,4,0,a["ɵnov"](e.parent,0),e.context.value));t(e,0,0,n)}))}function Se(t){return a["ɵvid"](0,[(t()(),a["ɵted"](0,null,[" "," /s\n"]))],null,(function(t,e){t(e,0,0,e.context.value)}))}function Ie(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"i",[],null,null,null,null,null)),a["ɵprd"](512,null,s["ɵNgClassImpl"],s["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](2,278528,null,0,s.NgClass,[s["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),a["ɵpad"](3,2)],(function(t,e){var n=e.component,a=t(e,3,0,n.icons.spinner,n.icons.spin);t(e,2,0,a)}),null)}function Ne(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"span",[["class","text-muted italic"]],null,null,null,null,null)),(t()(),a["ɵted"](1,null,["(",")"]))],null,(function(t,e){t(e,1,0,e.parent.context.row.cdExecuting)}))}function Re(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,1,null,Ie)),a["ɵdid"](1,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵted"](2,null,[" "," "])),(t()(),a["ɵand"](16777216,null,null,1,null,Ne)),a["ɵdid"](4,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](0,null,null,0))],(function(t,e){t(e,1,0,e.context.row.cdExecuting),t(e,4,0,e.context.row.cdExecuting)}),(function(t,e){t(e,2,0,e.context.value)}))}function Ae(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"span",[],[[8,"className",0]],null,null,null,null)),(t()(),a["ɵted"](1,null,["",""]))],null,(function(t,e){t(e,0,0,a["ɵinlineInterpolate"](1,"",e.component.useCustomClass(e.context.value),"")),t(e,1,0,e.context.value)}))}function Ee(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"span",[["class","badge"]],null,null,null,null,null)),a["ɵprd"](512,null,s["ɵNgClassImpl"],s["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](2,278528,null,0,s.NgClass,[s["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),(t()(),a["ɵted"](3,null,[" "," "]))],(function(t,e){t(e,2,0,"badge",null!=e.parent.parent.context.column&&null!=e.parent.parent.context.column.customTemplateConfig&&e.parent.parent.context.column.customTemplateConfig.map&&null!=e.parent.parent.context.column&&null!=e.parent.parent.context.column.customTemplateConfig&&null!=e.parent.parent.context.column.customTemplateConfig.map[e.parent.context.$implicit]&&e.parent.parent.context.column.customTemplateConfig.map[e.parent.context.$implicit].class?e.parent.parent.context.column.customTemplateConfig.map[e.parent.context.$implicit].class:null!=e.parent.parent.context.column&&null!=e.parent.parent.context.column.customTemplateConfig&&e.parent.parent.context.column.customTemplateConfig.class?e.parent.parent.context.column.customTemplateConfig.class:"badge-primary")}),(function(t,e){t(e,3,0,null!=e.parent.parent.context.column&&null!=e.parent.parent.context.column.customTemplateConfig&&e.parent.parent.context.column.customTemplateConfig.map&&null!=e.parent.parent.context.column&&null!=e.parent.parent.context.column.customTemplateConfig&&null!=e.parent.parent.context.column.customTemplateConfig.map[e.parent.context.$implicit]&&e.parent.parent.context.column.customTemplateConfig.map[e.parent.context.$implicit].value?e.parent.parent.context.column.customTemplateConfig.map[e.parent.context.$implicit].value:null!=e.parent.parent.context.column&&null!=e.parent.parent.context.column.customTemplateConfig&&e.parent.parent.context.column.customTemplateConfig.prefix?e.parent.parent.context.column.customTemplateConfig.prefix+e.parent.context.$implicit:e.parent.context.$implicit)}))}function De(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),a["ɵted"](-1,null,[" "]))],null,null)}function Le(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,4,"span",[],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,Ee)),a["ɵdid"](2,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,De)),a["ɵdid"](4,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){t(e,2,0,null!=e.parent.context.column&&null!=e.parent.context.column.customTemplateConfig&&e.parent.context.column.customTemplateConfig.map&&null!=e.parent.context.column&&null!=e.parent.context.column.customTemplateConfig&&null!=e.parent.context.column.customTemplateConfig.map[e.context.$implicit]&&e.parent.context.column.customTemplateConfig.map[e.context.$implicit].value?e.parent.context.column.customTemplateConfig.map[e.context.$implicit].value:null!=e.parent.context.column&&null!=e.parent.context.column.customTemplateConfig&&e.parent.context.column.customTemplateConfig.prefix?e.parent.context.column.customTemplateConfig.prefix+e.context.$implicit:e.context.$implicit),t(e,4,0,!e.context.last)}),null)}function qe(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,2,null,Le)),a["ɵdid"](1,278528,null,0,s.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),a["ɵppd"](2,1),(t()(),a["ɵand"](0,null,null,0))],(function(t,e){var n=a["ɵunv"](e,1,0,t(e,2,0,a["ɵnov"](e.parent,1),e.context.value));t(e,1,0,n)}),null)}function je(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),a["ɵted"](1,null,["",""])),a["ɵppd"](2,2)],null,(function(t,e){var n=a["ɵunv"](e,1,0,t(e,2,0,a["ɵnov"](e.parent,2),e.context.value,null==e.context.column?null:e.context.column.customTemplateConfig));t(e,1,0,n)}))}function Fe(t){return a["ɵvid"](2,[a["ɵpid"](0,y.a,[]),a["ɵpid"](0,O.a,[]),a["ɵpid"](0,v.a,[]),a["ɵqud"](402653184,1,{table:0}),a["ɵqud"](402653184,2,{tableCellBoldTpl:0}),a["ɵqud"](402653184,3,{sparklineTpl:0}),a["ɵqud"](402653184,4,{routerLinkTpl:0}),a["ɵqud"](402653184,5,{checkIconTpl:0}),a["ɵqud"](402653184,6,{perSecondTpl:0}),a["ɵqud"](402653184,7,{executingTpl:0}),a["ɵqud"](402653184,8,{classAddingTpl:0}),a["ɵqud"](402653184,9,{badgeTpl:0}),a["ɵqud"](402653184,10,{mapTpl:0}),(t()(),a["ɵand"](16777216,null,null,1,null,ie)),a["ɵdid"](14,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵeld"](15,0,null,null,17,"div",[["class","dataTables_wrapper"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,se)),a["ɵdid"](17,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,_e)),a["ɵdid"](19,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,ve)),a["ɵdid"](21,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵeld"](22,0,null,null,10,"ngx-datatable",[["class","bootstrap cd-datatable ngx-datatable"]],[[2,"fixed-header",null],[2,"fixed-row",null],[2,"scroll-vertical",null],[2,"virtualized",null],[2,"scroll-horz",null],[2,"selectable",null],[2,"checkbox-selection",null],[2,"cell-selection",null],[2,"single-selection",null],[2,"multi-selection",null],[2,"multi-click-selection",null]],[[null,"select"],[null,"sort"],["window","resize"]],(function(t,e,n){var r=!0,o=t.component;return"window:resize"===e&&(r=!1!==a["ɵnov"](t,23).onWindowResize()&&r),"select"===e&&(r=!1!==o.onSelect(n)&&r),"sort"===e&&(r=!1!==o.changeSorting(n)&&r),r}),ne,Qt)),a["ɵdid"](23,5750784,[[1,4],["table",4]],4,Zt.DatatableComponent,[[1,ft.ScrollbarHelper],[1,Jt.DimensionsHelper],a.ChangeDetectorRef,a.ElementRef,a.KeyValueDiffers,Xt.ColumnChangesService],{rows:[0,"rows"],columns:[1,"columns"],selected:[2,"selected"],rowHeight:[3,"rowHeight"],columnMode:[4,"columnMode"],headerHeight:[5,"headerHeight"],footerHeight:[6,"footerHeight"],limit:[7,"limit"],loadingIndicator:[8,"loadingIndicator"],selectionType:[9,"selectionType"],sorts:[10,"sorts"],cssClasses:[11,"cssClasses"],rowIdentity:[12,"rowIdentity"],rowClass:[13,"rowClass"]},{select:"select",sort:"sort"}),a["ɵqud"](603979776,11,{columnTemplates:1}),a["ɵqud"](603979776,12,{rowDetail:0}),a["ɵqud"](603979776,13,{groupHeader:0}),a["ɵqud"](603979776,14,{footer:0}),(t()(),a["ɵeld"](28,0,null,null,4,"ngx-datatable-footer",[],null,null,null,null,null)),a["ɵdid"](29,16384,[[14,4]],1,ae.DatatableFooterDirective,[],null,null),a["ɵqud"](603979776,15,{template:0}),(t()(),a["ɵand"](0,[[15,2]],null,1,null,Me)),a["ɵdid"](32,16384,null,0,re.DataTableFooterTemplateDirective,[a.TemplateRef],null,null),a["ɵncd"](null,3),(t()(),a["ɵand"](0,[[2,2],["tableCellBoldTpl",2]],null,0,null,xe)),(t()(),a["ɵand"](0,[[3,2],["sparklineTpl",2]],null,0,null,we)),(t()(),a["ɵand"](0,[[4,2],["routerLinkTpl",2]],null,0,null,Te)),(t()(),a["ɵand"](0,[[5,2],["checkIconTpl",2]],null,0,null,ke)),(t()(),a["ɵand"](0,[[6,2],["perSecondTpl",2]],null,0,null,Se)),(t()(),a["ɵand"](0,[[7,2],["executingTpl",2]],null,0,null,Re)),(t()(),a["ɵand"](0,[[8,2],["classAddingTpl",2]],null,0,null,Ae)),(t()(),a["ɵand"](0,[[9,2],["badgeTpl",2]],null,0,null,qe)),(t()(),a["ɵand"](0,[[10,2],["mapTpl",2]],null,0,null,je))],(function(t,e){var n=e.component;t(e,14,0,n.loadingError),t(e,17,0,n.onlyActionHeader),t(e,19,0,n.toolHeader),t(e,21,0,n.toolHeader&&n.columnFiltered),t(e,23,1,[n.rows,n.tableColumns,n.selection.selected,"auto",n.columnMode,n.header?"auto":0,n.footer?"auto":0,n.userConfig.limit>0?n.userConfig.limit:void 0,n.loadingIndicator,n.selectionType,n.userConfig.sorts,n.paginationClasses,n.rowIdentity(),n.getRowClass()])}),(function(t,e){t(e,22,1,[a["ɵnov"](e,23).isFixedHeader,a["ɵnov"](e,23).isFixedRow,a["ɵnov"](e,23).isVertScroll,a["ɵnov"](e,23).isVirtualized,a["ɵnov"](e,23).isHorScroll,a["ɵnov"](e,23).isSelectable,a["ɵnov"](e,23).isCheckboxSelection,a["ɵnov"](e,23).isCellSelection,a["ɵnov"](e,23).isSingleSelection,a["ɵnov"](e,23).isMultiSelection,a["ɵnov"](e,23).isMultiClickSelection])}))}},"2EZI":function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var a=n("s7LF"),r=n("QFaf"),o=n("8Y7J");let i=(()=>{class t extends a.h{group(t,e=null){const n=super.group(t,e);return new r.a(n.controls,n.validator,n.asyncValidator)}}return t.ngInjectableDef=o["ɵɵdefineInjectable"]({factory:function(){return new t},token:t,providedIn:"root"}),t})()},"2QA8":function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));const a=(()=>"function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random())()},"2V7f":function(t,e,n){"use strict";function a(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),a(n("IPm6")),a(n("YVFZ")),a(n("syrc")),a(n("PNOi")),a(n("SfHT")),a(n("Mfce")),a(n("7F1K")),a(n("99TG")),a(n("Fjl2")),a(n("VHo1"))},"2Vo4":function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var a=n("XNiG"),r=n("9ppp");class o extends a.a{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){const e=super._subscribe(t);return e&&!e.closed&&t.next(this._value),e}getValue(){if(this.hasError)throw this.thrownError;if(this.closed)throw new r.a;return this._value}next(t){super.next(this._value=t)}}},"2ZVE":function(t,e,n){"use strict";n.d(e,"a",(function(){return r})),n.d(e,"b",(function(){return s})),n.d(e,"c",(function(){return c})),n.d(e,"d",(function(){return l})),n.d(e,"e",(function(){return i})),n.d(e,"f",(function(){return o}));var a=n("8Y7J");class r{constructor(t){this.viewRef=t}set ngTransclude(t){this._ngTransclude=t,t&&this.viewRef.createEmbeddedView(t)}get ngTransclude(){return this._ngTransclude}}class o{constructor(){this.type="tabs"}}class i{constructor(t,e,n){this.renderer=e,this.elementRef=n,this.clazz=!0,this.tabs=[],this.classMap={},Object.assign(this,t)}get vertical(){return this._vertical}set vertical(t){this._vertical=t,this.setClassMap()}get justified(){return this._justified}set justified(t){this._justified=t,this.setClassMap()}get type(){return this._type}set type(t){this._type=t,this.setClassMap()}ngOnDestroy(){this.isDestroyed=!0}addTab(t){this.tabs.push(t),t.active=1===this.tabs.length&&void 0===t.active}removeTab(t,e={reselect:!0,emit:!0}){const n=this.tabs.indexOf(t);if(-1!==n&&!this.isDestroyed){if(e.reselect&&t.active&&this.hasAvailableTabs(n)){const t=this.getClosestTabIndex(n);this.tabs[t].active=!0}e.emit&&t.removed.emit(t),this.tabs.splice(n,1),t.elementRef.nativeElement.parentNode&&this.renderer.removeChild(t.elementRef.nativeElement.parentNode,t.elementRef.nativeElement)}}keyNavActions(t,e){const n=Array.from(this.elementRef.nativeElement.querySelectorAll(".nav-link"));if(13===t.keyCode||"Enter"===t.key||32===t.keyCode||"Space"===t.key)return t.preventDefault(),void n[e%n.length].click();if(39!==t.keyCode&&"RightArrow"!==t.key)if(37!==t.keyCode&&"LeftArrow"!==t.key)if(36!==t.keyCode&&"Home"!==t.key)if(35!==t.keyCode&&"End"!==t.key){if((46===t.keyCode||"Delete"===t.key)&&this.tabs[e].removable){if(this.removeTab(this.tabs[e]),n[e+1])return void n[(e+1)%n.length].focus();n[n.length-1]&&n[0].focus()}}else{let a;t.preventDefault();let r=1,o=e;do{o-r<0?(o=n.length-1,a=n[o],r=0):a=n[o-r],r++}while(a.classList.contains("disabled"));a.focus()}else{let e;t.preventDefault();let a=0;do{e=n[a%n.length],a++}while(e.classList.contains("disabled"));e.focus()}else{let t,a=1,r=e;do{r-a<0?(r=n.length-1,t=n[r],a=0):t=n[r-a],a++}while(t.classList.contains("disabled"));t.focus()}else{let t,a=1;do{t=n[(e+a)%n.length],a++}while(t.classList.contains("disabled"));t.focus()}}getClosestTabIndex(t){const e=this.tabs.length;if(!e)return-1;for(let n=1;n<=e;n+=1){const e=t-n,a=t+n;if(this.tabs[e]&&!this.tabs[e].disabled)return e;if(this.tabs[a]&&!this.tabs[a].disabled)return a}return-1}hasAvailableTabs(t){const e=this.tabs.length;if(!e)return!1;for(let n=0;n<e;n+=1)if(!this.tabs[n].disabled&&n!==t)return!0;return!1}setClassMap(){this.classMap={"nav-stacked":this.vertical,"flex-column":this.vertical,"nav-justified":this.justified,[`nav-${this.type}`]:!0}}}class s{constructor(t,e,n){this.elementRef=e,this.renderer=n,this.selectTab=new a.EventEmitter,this.deselect=new a.EventEmitter,this.removed=new a.EventEmitter,this.addClass=!0,this.tabset=t,this.tabset.addTab(this)}get customClass(){return this._customClass}set customClass(t){this.customClass&&this.customClass.split(" ").forEach(t=>{this.renderer.removeClass(this.elementRef.nativeElement,t)}),this._customClass=t?t.trim():null,this.customClass&&this.customClass.split(" ").forEach(t=>{this.renderer.addClass(this.elementRef.nativeElement,t)})}get active(){return this._active}set active(t){this._active!==t&&(this.disabled&&t||!t?this._active&&!t&&(this.deselect.emit(this),this._active=t):(this._active=t,this.selectTab.emit(this),this.tabset.tabs.forEach(t=>{t!==this&&(t.active=!1)})))}ngOnInit(){this.removable=this.removable}ngOnDestroy(){this.tabset.removeTab(this,{reselect:!1,emit:!1})}}class c{constructor(t,e){e.headingRef=t}}class l{static forRoot(){return{ngModule:l,providers:[o]}}}},"2ajD":function(t,e){t.exports=function(t){return t!=t}},"2fFW":function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));let a=!1;const r={Promise:void 0,set useDeprecatedSynchronousErrorHandling(t){if(t){const t=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+t.stack)}else a&&console.log("RxJS: Back to a better error behavior. Thank you. <3");a=t},get useDeprecatedSynchronousErrorHandling(){return a}}},"2fjn":function(t,e,n){!function(t){"use strict";t.defineLocale("fr-ca",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(t,e){switch(e){default:case"M":case"Q":case"D":case"DDD":case"d":return t+(1===t?"er":"e");case"w":case"W":return t+(1===t?"re":"e")}}})}(n("wd/R"))},"2gN3":function(t,e,n){var a=n("Kz5y");t.exports=a["__core-js_shared__"]},"2oRo":function(t,e){var n=function(t){return t&&t.Math==Math&&t};t.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof global&&global)||Function("return this")()},"2uy1":function(t,e,n){"use strict";n.d(e,"a",(function(){return G}));var a=n("8Y7J"),r=n("SVse"),o=n("XNiG"),i=n("VRyK"),s=n("xgIS"),c=n("LRne"),l=n("eNwd");function d(t,e){if(1!==t.nodeType)return[];const n=t.ownerDocument.defaultView.getComputedStyle(t,null);return e?n[e]:n}function u(t){return"HTML"===t.nodeName?t:t.parentNode||t.host}function g(t){if(!t)return document.body;switch(t.nodeName){case"HTML":case"BODY":return t.ownerDocument.body;case"#document":return t.body}const{overflow:e,overflowX:n,overflowY:a}=d(t);return/(auto|scroll|overlay)/.test(String(e)+String(a)+String(n))?t:g(u(t))}const f="undefined"!=typeof window&&"undefined"!=typeof document,p=f&&!(!window.MSInputMethodContext||!document.documentMode),m=f&&!(!window.MSInputMethodContext||!/MSIE 10/.test(navigator.userAgent));function h(t){return 11===t?p:10===t?m:p||m}function b(t){if(!t)return document.documentElement;const e=h(10)?document.body:null;let n,a=t.offsetParent||null;for(;a===e&&t.nextElementSibling&&n!==t.nextElementSibling;)n=t.nextElementSibling,a=n.offsetParent;const r=a&&a.nodeName;return r&&"BODY"!==r&&"HTML"!==r?-1!==["TH","TD","TABLE"].indexOf(a.nodeName)&&"static"===d(a,"position")?b(a):a:n?n.ownerDocument.documentElement:document.documentElement}function _(t){return null!==t.parentNode?_(t.parentNode):t}function y(t,e){if(!(t&&t.nodeType&&e&&e.nodeType))return document.documentElement;const n=t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING,a=n?t:e,r=n?e:t,o=document.createRange();o.setStart(a,0),o.setEnd(r,0);const{commonAncestorContainer:i}=o;if(t!==i&&e!==i||a.contains(r))return function(t){const{nodeName:e}=t;return"BODY"!==e&&("HTML"===e||b(t.firstElementChild)===t)}(i)?i:b(i);const s=_(t);return s.host?y(s.host,e):y(t,_(e).host)}function O(t,e){const n="x"===e?"Left":"Top",a="Left"===n?"Right":"Bottom";return parseFloat(t[`border${n}Width`])+parseFloat(t[`border${a}Width`])}function v(t,e,n,a){return Math.max(e[`offset${t}`],e[`scroll${t}`],n[`client${t}`],n[`offset${t}`],n[`scroll${t}`],h(10)?parseInt(n[`offset${t}`],10)+parseInt(a[`margin${"Height"===t?"Top":"Left"}`],10)+parseInt(a[`margin${"Height"===t?"Bottom":"Right"}`],10):0)}function C(t){const e=t.body,n=t.documentElement,a=h(10)&&getComputedStyle(n);return{height:v("Height",e,n,a),width:v("Width",e,n,a)}}function P(t,e="top"){const n="top"===e?"scrollTop":"scrollLeft",a=t.nodeName;if("BODY"===a||"HTML"===a){const e=t.ownerDocument.documentElement;return(t.ownerDocument.scrollingElement||e)[n]}return t[n]}function M(t){return Object.assign({},t,{right:t.left+t.width,bottom:t.top+t.height})}function x(t){let e={};try{if(h(10)){e=t.getBoundingClientRect();const n=P(t,"top"),a=P(t,"left");e.top+=n,e.left+=a,e.bottom+=n,e.right+=a}else e=t.getBoundingClientRect()}catch(i){return}const n={left:e.left,top:e.top,width:e.right-e.left,height:e.bottom-e.top},a="HTML"===t.nodeName?C(t.ownerDocument):{};let r=t.offsetWidth-(a.width||t.clientWidth||n.right-n.left),o=t.offsetHeight-(a.height||t.clientHeight||n.bottom-n.top);if(r||o){const e=d(t);r-=O(e,"x"),o-=O(e,"y"),n.width-=r,n.height-=o}return M(n)}function w(t,e,n=!1){const a=h(10),r="HTML"===e.nodeName,o=x(t),i=x(e),s=g(t),c=d(e),l=parseFloat(c.borderTopWidth),u=parseFloat(c.borderLeftWidth);n&&r&&(i.top=Math.max(i.top,0),i.left=Math.max(i.left,0));let f=M({top:o.top-i.top-l,left:o.left-i.left-u,width:o.width,height:o.height});if(f.marginTop=0,f.marginLeft=0,!a&&r){const t=parseFloat(c.marginTop),e=parseFloat(c.marginLeft);f.top-=l-t,f.bottom-=l-t,f.left-=u-e,f.right-=u-e,f.marginTop=t,f.marginLeft=e}return(a&&!n?e.contains(s):e===s&&"BODY"!==s.nodeName)&&(f=function(t,e,n=!1){const a=P(e,"top"),r=P(e,"left"),o=n?-1:1;return t.top+=a*o,t.bottom+=a*o,t.left+=r*o,t.right+=r*o,t}(f,e)),f}function T(t){if(!t||!t.parentElement||h())return document.documentElement;let e=t.parentElement;for(;e&&"none"===d(e,"transform");)e=e.parentElement;return e||document.documentElement}function k(t,e,n=0,a,r=!1){let o={top:0,left:0};const i=r?T(t):y(t,e);if("viewport"===a)o=function(t,e=!1){const n=t.ownerDocument.documentElement,a=w(t,n),r=Math.max(n.clientWidth,window.innerWidth||0),o=Math.max(n.clientHeight,window.innerHeight||0),i=e?0:P(n),s=e?0:P(n,"left");return M({top:i-Number(a.top)+Number(a.marginTop),left:s-Number(a.left)+Number(a.marginLeft),width:r,height:o})}(i,r);else{let n;"scrollParent"===a?(n=g(u(e)),"BODY"===n.nodeName&&(n=t.ownerDocument.documentElement)):n="window"===a?t.ownerDocument.documentElement:a;const s=w(n,i,r);if("HTML"!==n.nodeName||function t(e){const n=e.nodeName;return"BODY"!==n&&"HTML"!==n&&("fixed"===d(e,"position")||t(u(e)))}(i))o=s;else{const{height:e,width:n}=C(t.ownerDocument);o.top+=s.top-s.marginTop,o.bottom=Number(e)+Number(s.top),o.left+=s.left-s.marginLeft,o.right=Number(n)+Number(s.left)}}return o.left+=n,o.top+=n,o.right-=n,o.bottom-=n,o}function S({width:t,height:e}){return t*e}function I(t,e,n,a,r=["top","bottom","right","left"],o="viewport",i=0){if(-1===t.indexOf("auto"))return t;const s=k(n,a,i,o),c={top:{width:s.width,height:e.top-s.top},right:{width:s.right-e.right,height:s.height},bottom:{width:s.width,height:s.bottom-e.bottom},left:{width:e.left-s.left,height:s.height}},l=Object.keys(c).map(t=>Object.assign({key:t},c[t],{area:S(c[t])})).sort((t,e)=>e.area-t.area);let d=l.filter(({width:t,height:e})=>t>=n.clientWidth&&e>=n.clientHeight);d=d.filter(t=>r.some(e=>e===t.key));const u=d.length>0?d[0].key:l[0].key,g=t.split(" ")[1];return n.className=n.className.replace(/bs-tooltip-auto/g,`bs-tooltip-${u}`),u+(g?`-${g}`:"")}function N(t){const e=t.ownerDocument.defaultView.getComputedStyle(t),n=parseFloat(e.marginTop||0)+parseFloat(e.marginBottom||0),a=parseFloat(e.marginLeft||0)+parseFloat(e.marginRight||0);return{width:Number(t.offsetWidth)+a,height:Number(t.offsetHeight)+n}}function R(t,e,n=null){return w(e,n?T(t):y(t,e),n)}function A(t,e,n){const a=n.split(" ")[0],r=N(t),o={width:r.width,height:r.height},i=-1!==["right","left"].indexOf(a),s=i?"top":"left",c=i?"left":"top",l=i?"height":"width",d=i?"width":"height";return o[s]=e[s]+e[l]/2-r[l]/2,o[c]=a===c?e[c]-r[d]:e[function(t){const e={left:"right",right:"left",bottom:"top",top:"bottom"};return t.replace(/left|right|bottom|top/g,t=>e[t])}(c)],o}function E(t,e){return t&&t.modifiers&&t.modifiers[e]&&t.modifiers[e].enabled}function D(t,e,n){Object.keys(e).forEach(a=>{let r="";var o;-1!==["width","height","top","right","bottom","left"].indexOf(a)&&""!==(o=e[a])&&!isNaN(parseFloat(o))&&isFinite(o)&&(r="px"),n?n.setStyle(t,a,`${String(e[a])}${r}`):t.style[a]=String(e[a])+r})}function L(t){let e=t.offsets.target;const n=t.instance.target.querySelector(".arrow");if(!n)return t;const a=-1!==["left","right"].indexOf(t.placement),r=a?"height":"width",o=a?"Top":"Left",i=o.toLowerCase(),s=a?"left":"top",c=a?"bottom":"right",l=N(n)[r];t.offsets.host[c]-l<e[i]&&(e[i]-=e[i]-(t.offsets.host[c]-l)),Number(t.offsets.host[i])+Number(l)>e[c]&&(e[i]+=Number(t.offsets.host[i])+Number(l)-Number(e[c])),e=M(e);const u=Number(t.offsets.host[i])+Number(t.offsets.host[r]/2-l/2),g=d(t.instance.target),f=parseFloat(g[`margin${o}`]),p=parseFloat(g[`border${o}Width`]);let m=u-e[i]-f-p;return m=Math.max(Math.min(e[r]-l,m),0),t.offsets.arrow={[i]:Math.round(m),[s]:""},t.instance.arrow=n,t}function q(t){if(t.offsets.target=M(t.offsets.target),!E(t.options,"flip"))return t.offsets.target=Object.assign({},t.offsets.target,A(t.instance.target,t.offsets.host,t.placement)),t;const e=k(t.instance.target,t.instance.host,0,"viewport",!1);let n=t.placement.split(" ")[0],a=t.placement.split(" ")[1]||"";const r=I("auto",t.offsets.host,t.instance.target,t.instance.host,t.options.allowedPositions),o=[n,r];return o.forEach((r,i)=>{if(n!==r||o.length===i+1)return t;n=t.placement.split(" ")[0];const s="left"===n&&Math.floor(t.offsets.target.right)>Math.floor(t.offsets.host.left)||"right"===n&&Math.floor(t.offsets.target.left)<Math.floor(t.offsets.host.right)||"top"===n&&Math.floor(t.offsets.target.bottom)>Math.floor(t.offsets.host.top)||"bottom"===n&&Math.floor(t.offsets.target.top)<Math.floor(t.offsets.host.bottom),c=Math.floor(t.offsets.target.left)<Math.floor(e.left),l=Math.floor(t.offsets.target.right)>Math.floor(e.right),d=Math.floor(t.offsets.target.top)<Math.floor(e.top),u=Math.floor(t.offsets.target.bottom)>Math.floor(e.bottom),g="left"===n&&c||"right"===n&&l||"top"===n&&d||"bottom"===n&&u,f=-1!==["top","bottom"].indexOf(n),p=f&&"left"===a&&c||f&&"right"===a&&l||!f&&"left"===a&&d||!f&&"right"===a&&u;(s||g||p)&&((s||g)&&(n=o[i+1]),p&&(a=function(t){return"right"===t?"left":"left"===t?"right":t}(a)),t.placement=n+(a?` ${a}`:""),t.offsets.target=Object.assign({},t.offsets.target,A(t.instance.target,t.offsets.host,t.placement)))}),t}function j(t){if(!E(t.options,"preventOverflow"))return t;const e="transform",n=t.instance.target.style,{top:a,left:r,[e]:o}=n;n.top="",n.left="",n[e]="";const i=k(t.instance.target,t.instance.host,0,"scrollParent",!1);n.top=a,n.left=r,n[e]=o;const s={primary(e){let n=t.offsets.target[e];return t.offsets.target[e]<i[e]&&(n=Math.max(t.offsets.target[e],i[e])),{[e]:n}},secondary(e){const n="right"===e?"left":"top";let a=t.offsets.target[n];return t.offsets.target[e]>i[e]&&(a=Math.min(t.offsets.target[n],i[e]-("right"===e?t.offsets.target.width:t.offsets.target.height))),{[n]:a}}};let c;return["left","right","top","bottom"].forEach(e=>{c=-1!==["left","top"].indexOf(e)?"primary":"secondary",t.offsets.target=Object.assign({},t.offsets.target,s[c](e))}),t}function F(t){const e=t.placement,n=e.split(" ")[0],a=e.split(" ")[1];if(a){const{host:e,target:r}=t.offsets,o=-1!==["bottom","top"].indexOf(n),i=o?"left":"top",s=o?"width":"height";t.offsets.target=Object.assign({},r,{start:{[i]:e[i]},end:{[i]:e[i]+e[s]-r[s]}}[a])}return t}class z{position(t,e,n=!0){return this.offset(t,e,!1)}offset(t,e,n=!0){return R(e,t)}positionElements(t,e,n,a,r){return[q,F,j,L].reduce((t,e)=>e(t),function(t,e,n,a){const r=R(t,e);n.match(/^(auto)*\s*(left|right|top|bottom)*$/)||n.match(/^(left|right|top|bottom)*\s*(start|end)*$/)||(n="auto");const o=!!n.match(/auto/g);let i=n.match(/auto\s(left|right|top|bottom)/)?n.split(" ")[1]||"auto":n;const s=A(t,r,i);return i=I(i,r,t,e,a?a.allowedPositions:void 0),{options:a,instance:{target:t,host:e,arrow:null},offsets:{target:s,host:r,arrow:null},positionFixed:!1,placement:i,placementAuto:o}}(e,t,n,r))}}const V=new z;class G{constructor(t,e){this.update$$=new o.a,this.positionElements=new Map,this.isDisabled=!1,Object(r.isPlatformBrowser)(e)&&(this.triggerEvent$=Object(i.a)(Object(s.a)(window,"scroll"),Object(s.a)(window,"resize"),Object(c.a)(0,l.a),this.update$$),this.triggerEvent$.subscribe(()=>{this.isDisabled||this.positionElements.forEach(e=>{!function(t,e,n,a,r,o){const i=V.positionElements(t,e,n,a,r),s=function(t){return{width:t.offsets.target.width,height:t.offsets.target.height,left:Math.floor(t.offsets.target.left),top:Math.round(t.offsets.target.top),bottom:Math.round(t.offsets.target.bottom),right:Math.floor(t.offsets.target.right)}}(i);D(e,{"will-change":"transform",top:"0px",left:"0px",transform:`translate3d(${s.left}px, ${s.top}px, 0px)`},o),i.instance.arrow&&D(i.instance.arrow,i.offsets.arrow,o),function(t,e){const n=t.instance.target;let a=n.className;t.placementAuto&&(a=a.replace(/bs-popover-auto/g,`bs-popover-${t.placement}`),a=a.replace(/bs-tooltip-auto/g,`bs-tooltip-${t.placement}`),a=a.replace(/\sauto/g,` ${t.placement}`),-1!==a.indexOf("popover")&&-1===a.indexOf("popover-auto")&&(a+=" popover-auto"),-1!==a.indexOf("tooltip")&&-1===a.indexOf("tooltip-auto")&&(a+=" tooltip-auto")),a=a.replace(/left|right|top|bottom/g,`${t.placement.split(" ")[0]}`),e?e.setAttribute(n,"class",a):n.className=a}(i,o)}(Y(e.target),Y(e.element),e.attachment,e.appendToBody,this.options,t.createRenderer(null,null))})}))}position(t){this.addPositionElement(t)}get event$(){return this.triggerEvent$}disable(){this.isDisabled=!0}enable(){this.isDisabled=!1}addPositionElement(t){this.positionElements.set(Y(t.element),t)}calcPosition(){this.update$$.next()}deletePositionElement(t){this.positionElements.delete(Y(t))}setOptions(t){this.options=t}}function Y(t){return"string"==typeof t?document.querySelector(t):t instanceof a.ElementRef?t.nativeElement:t}},"2vnA":function(t,e,n){"use strict";n.d(e,"a",(function(){return Kt})),n.d(e,"b",(function(){return Zt})),n.d(e,"c",(function(){return at})),n.d(e,"d",(function(){return Q})),n.d(e,"e",(function(){return Qt}));var a=function(t,e){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)};function r(t,e){function n(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}var o=function(){return(o=Object.assign||function(t){for(var e,n=1,a=arguments.length;n<a;n++)for(var r in e=arguments[n])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t}).apply(this,arguments)};function i(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var a,r,o=n.call(t),i=[];try{for(;(void 0===e||e-- >0)&&!(a=o.next()).done;)i.push(a.value)}catch(s){r={error:s}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}return i}function s(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(i(arguments[e]));return t}var c=[];Object.freeze(c);var l={};Object.freeze(l);var d={};function u(){return"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:d}function g(){return++St.mobxGuid}function f(t){throw p(!1,t),"X"}function p(t,e){if(!t)throw new Error("[mobx] "+(e||"An invariant failed, however the error is obfuscated because this is an production build."))}function m(t){var e=!1;return function(){if(!e)return e=!0,t.apply(this,arguments)}}var h=function(){};function b(t){return null!==t&&"object"==typeof t}function _(t){if(null===t||"object"!=typeof t)return!1;var e=Object.getPrototypeOf(t);return e===Object.prototype||null===e}function y(t,e,n){Object.defineProperty(t,e,{enumerable:!1,writable:!0,configurable:!0,value:n})}function O(t,e,n){Object.defineProperty(t,e,{enumerable:!1,writable:!1,configurable:!0,value:n})}function v(t,e){var n="isMobX"+t;return e.prototype[n]=!0,function(t){return b(t)&&!0===t[n]}}function C(t){return void 0!==u().Map&&t instanceof u().Map}function P(t){return t instanceof Set}function M(t){for(var e=[];;){var n=t.next();if(n.done)break;e.push(n.value)}return e}function x(){return"function"==typeof Symbol&&Symbol.toPrimitive||"@@toPrimitive"}function w(t){return null===t?null:"object"==typeof t?""+t:t}function T(){return"function"==typeof Symbol&&Symbol.iterator||"@@iterator"}function k(t,e){O(t,T(),e)}function S(t){return t[T()]=N,t}function I(){return"function"==typeof Symbol&&Symbol.toStringTag||"@@toStringTag"}function N(){return this}var R=function(){function t(t){void 0===t&&(t="Atom@"+g()),this.name=t,this.isPendingUnobservation=!1,this.isBeingObserved=!1,this.observers=[],this.observersIndexes={},this.diffValue=0,this.lastAccessedBy=0,this.lowestObserverState=rt.NOT_TRACKING}return t.prototype.onBecomeUnobserved=function(){},t.prototype.onBecomeObserved=function(){},t.prototype.reportObserved=function(){return Dt(this)},t.prototype.reportChanged=function(){At(),function(t){if(t.lowestObserverState!==rt.STALE){t.lowestObserverState=rt.STALE;for(var e=t.observers,n=e.length;n--;){var a=e[n];a.dependenciesState===rt.UP_TO_DATE&&(a.isTracing!==ot.NONE&&Lt(a,t),a.onBecomeStale()),a.dependenciesState=rt.STALE}}}(this),Et()},t.prototype.toString=function(){return this.name},t}(),A=v("Atom",R);function E(t,e){return t===e}var D={identity:E,structural:function(t,e){return He(t,e)},default:function(t,e){return function(t,e){return"number"==typeof t&&"number"==typeof e&&isNaN(t)&&isNaN(e)}(t,e)||E(t,e)},shallow:function(t,e){return He(t,e,1)}},L={},q={};function j(t,e){var n=e?L:q;return n[t]||(n[t]={configurable:!0,enumerable:e,get:function(){return F(this),this[t]},set:function(e){F(this),this[t]=e}})}function F(t){if(!0!==t.__mobxDidRunLazyInitializers){var e=t.__mobxDecorators;if(e)for(var n in y(t,"__mobxDidRunLazyInitializers",!0),e){var a=e[n];a.propertyCreator(t,a.prop,a.descriptor,a.decoratorTarget,a.decoratorArguments)}}}function z(t,e){return function(){var n,a=function(a,r,i,s){return!0===s?(e(a,r,i,a,n),null):(Object.prototype.hasOwnProperty.call(a,"__mobxDecorators")||y(a,"__mobxDecorators",o({},a.__mobxDecorators)),a.__mobxDecorators[r]={prop:r,propertyCreator:e,descriptor:i,decoratorTarget:a,decoratorArguments:n},j(r,t))};return V(arguments)?(n=c,a.apply(null,arguments)):(n=Array.prototype.slice.call(arguments),a)}}function V(t){return(2===t.length||3===t.length)&&"string"==typeof t[1]||4===t.length&&!0===t[3]}function G(t,e,n){return oe(t)?t:Array.isArray(t)?Q.array(t,{name:n}):_(t)?Q.object(t,void 0,{name:n}):C(t)?Q.map(t,{name:n}):P(t)?Q.set(t,{name:n}):t}function Y(t){return t}function B(t){p(t);var e=z(!0,(function(e,n,a,r,i){!function(t,e,n,a){var r=qe(t);if(ce(r)){var i=de(r,{object:t,name:e,type:"add",newValue:n});if(!i)return;n=i.newValue}n=(r.values[e]=new Mt(n,a,r.name+"."+e,!1)).value,Object.defineProperty(t,e,function(t){return je[t]||(je[t]={configurable:!0,enumerable:!0,get:function(){return this.$mobx.read(this,t)},set:function(e){this.$mobx.write(this,t,e)}})}(e)),r.keys&&r.keys.push(e),function(t,e,n,a){var r=ue(t),i=zt(),s=r||i?{type:"add",object:e,name:n,newValue:a}:null;i&&Gt(o(o({},s),{name:t.name,key:n})),r&&fe(t,s),i&&Bt()}(r,t,e,n)}(e,n,a?a.initializer?a.initializer.call(e):a.value:void 0,t)})),n=("undefined"!=typeof process&&process,e);return n.enhancer=t,n}var H={deep:!0,name:void 0,defaultDecorator:void 0};function U(t){return null==t?H:"string"==typeof t?{name:t,deep:!0}:t}function W(t){return t.defaultDecorator?t.defaultDecorator.enhancer:!1===t.deep?Y:G}Object.freeze(H),Object.freeze({deep:!1,name:void 0,defaultDecorator:void 0});var K=B(G),$=B((function(t,e,n){return null==t?t:Ge(t)||ke(t)||Re(t)||De(t)?t:Array.isArray(t)?Q.array(t,{name:n,deep:!1}):_(t)?Q.object(t,void 0,{name:n,deep:!1}):C(t)?Q.map(t,{name:n,deep:!1}):P(t)?Q.set(t,{name:n,deep:!1}):f(!1)})),Z=B(Y),J=B((function(t,e,n){return He(t,e)?e:t})),X={box:function(t,e){arguments.length>2&&tt("box");var n=U(e);return new Mt(t,W(n),n.name,!0,n.equals)},shallowBox:function(t,e){return arguments.length>2&&tt("shallowBox"),Q.box(t,{name:e,deep:!1})},array:function(t,e){arguments.length>2&&tt("array");var n=U(e);return new Ce(t,W(n),n.name)},shallowArray:function(t,e){return arguments.length>2&&tt("shallowArray"),Q.array(t,{name:e,deep:!1})},map:function(t,e){arguments.length>2&&tt("map");var n=U(e);return new Ie(t,W(n),n.name)},shallowMap:function(t,e){return arguments.length>2&&tt("shallowMap"),Q.map(t,{name:e,deep:!1})},set:function(t,e){arguments.length>2&&tt("set");var n=U(e);return new Ee(t,W(n),n.name)},object:function(t,e,n){"string"==typeof arguments[1]&&tt("object");var a=U(n);return ne({},t,e,a)},shallowObject:function(t,e){return"string"==typeof arguments[1]&&tt("shallowObject"),Q.object(t,{},{name:e,deep:!1})},ref:Z,shallow:$,deep:K,struct:J},Q=function(t,e,n){if("string"==typeof arguments[1])return K.apply(null,arguments);if(oe(t))return t;var a=_(t)?Q.object(t,e,n):Array.isArray(t)?Q.array(t,e):C(t)?Q.map(t,e):P(t)?Q.set(t,e):t;if(a!==t)return a;f(!1)};function tt(t){f("Expected one or two arguments to observable."+t+". Did you accidentally try to use observable."+t+" as decorator?")}Object.keys(X).forEach((function(t){return Q[t]=X[t]}));var et=z(!1,(function(t,e,n,a,r){var i,s,c,l;i=t,s=e,c=o({get:n.get,set:n.set},r[0]||{}),l=qe(i),c.name=l.name+"."+s,c.context=i,l.values[s]=new xt(c),Object.defineProperty(i,s,function(t){return Fe[t]||(Fe[t]={configurable:St.computedConfigurable,enumerable:!1,get:function(){return ze(this).read(this,t)},set:function(e){ze(this).write(this,t,e)}})}(s))})),nt=et({equals:D.structural}),at=function(t,e,n){if("string"==typeof e)return et.apply(null,arguments);if(null!==t&&"object"==typeof t&&1===arguments.length)return et.apply(null,arguments);var a="object"==typeof e?e:{};return a.get=t,a.set="function"==typeof e?e:a.set,a.name=a.name||t.name||"",new xt(a)};at.struct=nt;var rt=function(t){return t[t.NOT_TRACKING=-1]="NOT_TRACKING",t[t.UP_TO_DATE=0]="UP_TO_DATE",t[t.POSSIBLY_STALE=1]="POSSIBLY_STALE",t[t.STALE=2]="STALE",t}({}),ot=function(t){return t[t.NONE=0]="NONE",t[t.LOG=1]="LOG",t[t.BREAK=2]="BREAK",t}({}),it=function(){return function(t){this.cause=t}}();function st(t){return t instanceof it}function ct(t){switch(t.dependenciesState){case rt.UP_TO_DATE:return!1;case rt.NOT_TRACKING:case rt.STALE:return!0;case rt.POSSIBLY_STALE:for(var e=mt(!0),n=ft(),a=t.observing,r=a.length,o=0;o<r;o++){var i=a[o];if(wt(i)){if(St.disableErrorBoundaries)i.get();else try{i.get()}catch(s){return pt(n),ht(e),!0}if(t.dependenciesState===rt.STALE)return pt(n),ht(e),!0}}return bt(t),pt(n),ht(e),!1}}function lt(t){var e=t.observers.length>0;St.computationDepth>0&&e&&f(!1),St.allowStateChanges||!e&&"strict"!==St.enforceActions||f(!1)}function dt(t,e,n){var a=mt(!0);bt(t),t.newObserving=new Array(t.observing.length+100),t.unboundDepsCount=0,t.runId=++St.runId;var r,o=St.trackingDerivation;if(St.trackingDerivation=t,!0===St.disableErrorBoundaries)r=e.call(n);else try{r=e.call(n)}catch(i){r=new it(i)}return St.trackingDerivation=o,function(t){for(var e=t.observing,n=t.observing=t.newObserving,a=rt.UP_TO_DATE,r=0,o=t.unboundDepsCount,i=0;i<o;i++)0===(s=n[i]).diffValue&&(s.diffValue=1,r!==i&&(n[r]=s),r++),s.dependenciesState>a&&(a=s.dependenciesState);for(n.length=r,t.newObserving=null,o=e.length;o--;)0===(s=e[o]).diffValue&&Nt(s,t),s.diffValue=0;for(;r--;){var s;1===(s=n[r]).diffValue&&(s.diffValue=0,It(s,t))}a!==rt.UP_TO_DATE&&(t.dependenciesState=a,t.onBecomeStale())}(t),ht(a),r}function ut(t){var e=t.observing;t.observing=[];for(var n=e.length;n--;)Nt(e[n],t);t.dependenciesState=rt.NOT_TRACKING}function gt(t){var e=ft(),n=t();return pt(e),n}function ft(){var t=St.trackingDerivation;return St.trackingDerivation=null,t}function pt(t){St.trackingDerivation=t}function mt(t){var e=St.allowStateReads;return St.allowStateReads=t,e}function ht(t){St.allowStateReads=t}function bt(t){if(t.dependenciesState!==rt.UP_TO_DATE){t.dependenciesState=rt.UP_TO_DATE;for(var e=t.observing,n=e.length;n--;)e[n].lowestObserverState=rt.UP_TO_DATE}}var _t=0,yt=1;function Ot(t,e){var n=function(){return vt(t,e,this,arguments)};return n.isMobxAction=!0,n}function vt(t,e,n,a){var r=function(t,e,n){var a=zt()&&!!t,r=0;if(a){r=Date.now();var o=n&&n.length||0,i=new Array(o);if(o>0)for(var s=0;s<o;s++)i[s]=n[s];Gt({type:"action",name:t,object:e,arguments:i})}var c=ft();At();var l={prevDerivation:c,prevAllowStateChanges:Ct(!0),prevAllowStateReads:mt(!0),notifySpy:a,startTime:r,actionId:yt++,parentActionId:_t};return _t=l.actionId,l}(t,n,a);try{return e.apply(n,a)}catch(o){throw r.error=o,o}finally{!function(t){_t!==t.actionId&&f("invalid action stack. did you forget to finish an action?"),_t=t.parentActionId,void 0!==t.error&&(St.suppressReactionErrors=!0),Pt(t.prevAllowStateChanges),ht(t.prevAllowStateReads),Et(),pt(t.prevDerivation),t.notifySpy&&Bt({time:Date.now()-t.startTime}),St.suppressReactionErrors=!1}(r)}}function Ct(t){var e=St.allowStateChanges;return St.allowStateChanges=t,e}function Pt(t){St.allowStateChanges=t}Object.getOwnPropertyDescriptor((function(){}),"name");var Mt=function(t){function e(e,n,a,r,o){void 0===a&&(a="ObservableValue@"+g()),void 0===r&&(r=!0),void 0===o&&(o=D.default);var i=t.call(this,a)||this;return i.enhancer=n,i.name=a,i.equals=o,i.hasUnreportedChange=!1,i.value=n(e,void 0,a),r&&zt()&&Vt({type:"create",name:i.name,newValue:""+i.value}),i}return r(e,t),e.prototype.dehanceValue=function(t){return void 0!==this.dehancer?this.dehancer(t):t},e.prototype.set=function(t){var e=this.value;if((t=this.prepareNewValue(t))!==St.UNCHANGED){var n=zt();n&&Gt({type:"update",name:this.name,newValue:t,oldValue:e}),this.setNewValue(t),n&&Bt()}},e.prototype.prepareNewValue=function(t){if(lt(this),ce(this)){var e=de(this,{object:this,type:"update",newValue:t});if(!e)return St.UNCHANGED;t=e.newValue}return t=this.enhancer(t,this.value,this.name),this.equals(this.value,t)?St.UNCHANGED:t},e.prototype.setNewValue=function(t){var e=this.value;this.value=t,this.reportChanged(),ue(this)&&fe(this,{type:"update",object:this,newValue:t,oldValue:e})},e.prototype.get=function(){return this.reportObserved(),this.dehanceValue(this.value)},e.prototype.intercept=function(t){return le(this,t)},e.prototype.observe=function(t,e){return e&&t({object:this,type:"update",newValue:this.value,oldValue:void 0}),ge(this,t)},e.prototype.toJSON=function(){return this.get()},e.prototype.toString=function(){return this.name+"["+this.value+"]"},e.prototype.valueOf=function(){return w(this.get())},e}(R);Mt.prototype[x()]=Mt.prototype.valueOf,v("ObservableValue",Mt);var xt=function(){function t(t){this.dependenciesState=rt.NOT_TRACKING,this.observing=[],this.newObserving=null,this.isBeingObserved=!1,this.isPendingUnobservation=!1,this.observers=[],this.observersIndexes={},this.diffValue=0,this.runId=0,this.lastAccessedBy=0,this.lowestObserverState=rt.UP_TO_DATE,this.unboundDepsCount=0,this.__mapid="#"+g(),this.value=new it(null),this.isComputing=!1,this.isRunningSetter=!1,this.isTracing=ot.NONE,p(t.get,"missing option for computed: get"),this.derivation=t.get,this.name=t.name||"ComputedValue@"+g(),t.set&&(this.setter=Ot(this.name+"-setter",t.set)),this.equals=t.equals||(t.compareStructural||t.struct?D.structural:D.default),this.scope=t.context,this.requiresReaction=!!t.requiresReaction,this.keepAlive=!!t.keepAlive}return t.prototype.onBecomeStale=function(){!function(t){if(t.lowestObserverState===rt.UP_TO_DATE){t.lowestObserverState=rt.POSSIBLY_STALE;for(var e=t.observers,n=e.length;n--;){var a=e[n];a.dependenciesState===rt.UP_TO_DATE&&(a.dependenciesState=rt.POSSIBLY_STALE,a.isTracing!==ot.NONE&&Lt(a,t),a.onBecomeStale())}}}(this)},t.prototype.onBecomeUnobserved=function(){},t.prototype.onBecomeObserved=function(){},t.prototype.get=function(){this.isComputing&&f("Cycle detected in computation "+this.name+": "+this.derivation),0!==St.inBatch||0!==this.observers.length||this.keepAlive?(Dt(this),ct(this)&&this.trackAndCompute()&&function(t){if(t.lowestObserverState!==rt.STALE){t.lowestObserverState=rt.STALE;for(var e=t.observers,n=e.length;n--;){var a=e[n];a.dependenciesState===rt.POSSIBLY_STALE?a.dependenciesState=rt.STALE:a.dependenciesState===rt.UP_TO_DATE&&(t.lowestObserverState=rt.UP_TO_DATE)}}}(this)):ct(this)&&(this.warnAboutUntrackedRead(),At(),this.value=this.computeValue(!1),Et());var t=this.value;if(st(t))throw t.cause;return t},t.prototype.peek=function(){var t=this.computeValue(!1);if(st(t))throw t.cause;return t},t.prototype.set=function(t){if(this.setter){p(!this.isRunningSetter,"The setter of computed value '"+this.name+"' is trying to update itself. Did you intend to update an _observable_ value, instead of the computed property?"),this.isRunningSetter=!0;try{this.setter.call(this.scope,t)}finally{this.isRunningSetter=!1}}else p(!1,!1)},t.prototype.trackAndCompute=function(){zt()&&Vt({object:this.scope,type:"compute",name:this.name});var t=this.value,e=this.dependenciesState===rt.NOT_TRACKING,n=this.computeValue(!0),a=e||st(t)||st(n)||!this.equals(t,n);return a&&(this.value=n),a},t.prototype.computeValue=function(t){var e;if(this.isComputing=!0,St.computationDepth++,t)e=dt(this,this.derivation,this.scope);else if(!0===St.disableErrorBoundaries)e=this.derivation.call(this.scope);else try{e=this.derivation.call(this.scope)}catch(n){e=new it(n)}return St.computationDepth--,this.isComputing=!1,e},t.prototype.suspend=function(){this.keepAlive||(ut(this),this.value=void 0)},t.prototype.observe=function(t,e){var n=this,a=!0,r=void 0;return Zt((function(){var o=n.get();if(!a||e){var i=ft();t({type:"update",object:n,newValue:o,oldValue:r}),pt(i)}a=!1,r=o}))},t.prototype.warnAboutUntrackedRead=function(){},t.prototype.toJSON=function(){return this.get()},t.prototype.toString=function(){return this.name+"["+this.derivation.toString()+"]"},t.prototype.valueOf=function(){return w(this.get())},t}();xt.prototype[x()]=xt.prototype.valueOf;var wt=v("ComputedValue",xt),Tt=function(){return function(){this.version=5,this.UNCHANGED={},this.trackingDerivation=null,this.computationDepth=0,this.runId=0,this.mobxGuid=0,this.inBatch=0,this.pendingUnobservations=[],this.pendingReactions=[],this.isRunningReactions=!1,this.allowStateChanges=!0,this.allowStateReads=!0,this.enforceActions=!1,this.spyListeners=[],this.globalReactionErrorHandlers=[],this.computedRequiresReaction=!1,this.reactionRequiresObservable=!1,this.observableRequiresReaction=!1,this.computedConfigurable=!1,this.disableErrorBoundaries=!1,this.suppressReactionErrors=!1}}(),kt=!0,St=function(){var t=u();return t.__mobxInstanceCount>0&&!t.__mobxGlobals&&(kt=!1),t.__mobxGlobals&&t.__mobxGlobals.version!==(new Tt).version&&(kt=!1),kt?t.__mobxGlobals?(t.__mobxInstanceCount+=1,t.__mobxGlobals.UNCHANGED||(t.__mobxGlobals.UNCHANGED={}),t.__mobxGlobals):(t.__mobxInstanceCount=1,t.__mobxGlobals=new Tt):(setTimeout((function(){f("There are multiple, different versions of MobX active. Make sure MobX is loaded only once or use `configure({ isolateGlobalState: true })`")}),1),new Tt)}();function It(t,e){var n=t.observers.length;n&&(t.observersIndexes[e.__mapid]=n),t.observers[n]=e,t.lowestObserverState>e.dependenciesState&&(t.lowestObserverState=e.dependenciesState)}function Nt(t,e){if(1===t.observers.length)t.observers.length=0,Rt(t);else{var n=t.observers,a=t.observersIndexes,r=n.pop();if(r!==e){var o=a[e.__mapid]||0;o?a[r.__mapid]=o:delete a[r.__mapid],n[o]=r}delete a[e.__mapid]}}function Rt(t){!1===t.isPendingUnobservation&&(t.isPendingUnobservation=!0,St.pendingUnobservations.push(t))}function At(){St.inBatch++}function Et(){if(0==--St.inBatch){jt();for(var t=St.pendingUnobservations,e=0;e<t.length;e++){var n=t[e];n.isPendingUnobservation=!1,0===n.observers.length&&(n.isBeingObserved&&(n.isBeingObserved=!1,n.onBecomeUnobserved()),n instanceof xt&&n.suspend())}St.pendingUnobservations=[]}}function Dt(t){var e=St.trackingDerivation;return null!==e?(e.runId!==t.lastAccessedBy&&(t.lastAccessedBy=e.runId,e.newObserving[e.unboundDepsCount++]=t,t.isBeingObserved||(t.isBeingObserved=!0,t.onBecomeObserved())),!0):(0===t.observers.length&&St.inBatch>0&&Rt(t),!1)}function Lt(t,e){if(console.log("[mobx.trace] '"+t.name+"' is invalidated due to a change in: '"+e.name+"'"),t.isTracing===ot.BREAK){var n=[];!function t(e,n,a){n.length>=1e3?n.push("(and many more)"):(n.push(""+new Array(a).join("\t")+e.name),e.dependencies&&e.dependencies.forEach((function(e){return t(e,n,a+1)})))}((a=t,ae(Ye(a,void 0))),n,1),new Function("debugger;\n/*\nTracing '"+t.name+"'\n\nYou are entering this break point because derivation '"+t.name+"' is being traced and '"+e.name+"' is now forcing it to update.\nJust follow the stacktrace you should now see in the devtools to see precisely what piece of your code is causing this update\nThe stackframe you are looking for is at least ~6-8 stack-frames up.\n\n"+(t instanceof xt?t.derivation.toString().replace(/[*]\//g,"/"):"")+"\n\nThe dependencies for this derivation are:\n\n"+n.join("\n")+"\n*/\n    ")()}var a}var qt=function(){function t(t,e,n,a){void 0===t&&(t="Reaction@"+g()),void 0===a&&(a=!1),this.name=t,this.onInvalidate=e,this.errorHandler=n,this.requiresObservable=a,this.observing=[],this.newObserving=[],this.dependenciesState=rt.NOT_TRACKING,this.diffValue=0,this.runId=0,this.unboundDepsCount=0,this.__mapid="#"+g(),this.isDisposed=!1,this._isScheduled=!1,this._isTrackPending=!1,this._isRunning=!1,this.isTracing=ot.NONE}return t.prototype.onBecomeStale=function(){this.schedule()},t.prototype.schedule=function(){this._isScheduled||(this._isScheduled=!0,St.pendingReactions.push(this),jt())},t.prototype.isScheduled=function(){return this._isScheduled},t.prototype.runReaction=function(){if(!this.isDisposed){if(At(),this._isScheduled=!1,ct(this)){this._isTrackPending=!0;try{this.onInvalidate(),this._isTrackPending&&zt()&&Vt({name:this.name,type:"scheduled-reaction"})}catch(t){this.reportExceptionInDerivation(t)}}Et()}},t.prototype.track=function(t){At();var e,n=zt();n&&(e=Date.now(),Gt({name:this.name,type:"reaction"})),this._isRunning=!0;var a=dt(this,t,void 0);this._isRunning=!1,this._isTrackPending=!1,this.isDisposed&&ut(this),st(a)&&this.reportExceptionInDerivation(a.cause),n&&Bt({time:Date.now()-e}),Et()},t.prototype.reportExceptionInDerivation=function(t){var e=this;if(this.errorHandler)this.errorHandler(t,this);else{if(St.disableErrorBoundaries)throw t;var n="[mobx] Encountered an uncaught exception that was thrown by a reaction or observer component, in: '"+this+"'";St.suppressReactionErrors?console.warn("[mobx] (error in reaction '"+this.name+"' suppressed, fix error of causing action below)"):console.error(n,t),zt()&&Vt({type:"error",name:this.name,message:n,error:""+t}),St.globalReactionErrorHandlers.forEach((function(n){return n(t,e)}))}},t.prototype.dispose=function(){this.isDisposed||(this.isDisposed=!0,this._isRunning||(At(),ut(this),Et()))},t.prototype.getDisposer=function(){var t=this.dispose.bind(this);return t.$mobx=this,t},t.prototype.toString=function(){return"Reaction["+this.name+"]"},t.prototype.trace=function(t){void 0===t&&(t=!1),function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=!1;"boolean"==typeof t[t.length-1]&&(n=t.pop());var a=ie(t);if(!a)return f(!1);a.isTracing===ot.NONE&&console.log("[mobx.trace] '"+a.name+"' tracing enabled"),a.isTracing=n?ot.BREAK:ot.LOG}(this,t)},t}();function jt(){St.inBatch>0||St.isRunningReactions||function(){St.isRunningReactions=!0;for(var t=St.pendingReactions,e=0;t.length>0;){100==++e&&(console.error("Reaction doesn't converge to a stable state after 100 iterations. Probably there is a cycle in the reactive function: "+t[0]),t.splice(0));for(var n=t.splice(0),a=0,r=n.length;a<r;a++)n[a].runReaction()}St.isRunningReactions=!1}()}var Ft=v("Reaction",qt);function zt(){return!!St.spyListeners.length}function Vt(t){if(St.spyListeners.length)for(var e=St.spyListeners,n=0,a=e.length;n<a;n++)e[n](t)}function Gt(t){Vt(o(o({},t),{spyReportStart:!0}))}var Yt={spyReportEnd:!0};function Bt(t){Vt(t?o(o({},t),{spyReportEnd:!0}):Yt)}function Ht(){f(!1)}function Ut(t){return function(e,n,a){if(a){if(a.value)return{value:Ot(t,a.value),enumerable:!1,configurable:!0,writable:!0};var r=a.initializer;return{enumerable:!1,configurable:!0,writable:!0,initializer:function(){return Ot(t,r.call(this))}}}return Wt(t).apply(this,arguments)}}function Wt(t){return function(e,n,a){Object.defineProperty(e,n,{configurable:!0,enumerable:!1,get:function(){},set:function(e){y(this,n,Kt(t,e))}})}}var Kt=function(t,e,n,a){return 1===arguments.length&&"function"==typeof t?Ot(t.name||"<unnamed action>",t):2===arguments.length&&"function"==typeof e?Ot(t,e):1===arguments.length&&"string"==typeof t?Ut(t):!0!==a?Ut(e).apply(null,arguments):void(t[e]=Ot(t.name||e,n.value))};function $t(t,e,n){y(t,e,Ot(e,n.bind(t)))}function Zt(t,e){void 0===e&&(e=l);var n,a=e&&e.name||t.name||"Autorun@"+g();if(e.scheduler||e.delay){var r=Xt(e),o=!1;n=new qt(a,(function(){o||(o=!0,r((function(){o=!1,n.isDisposed||n.track(i)})))}),e.onError,e.requiresObservable)}else n=new qt(a,(function(){this.track(i)}),e.onError,e.requiresObservable);function i(){t(n)}return n.schedule(),n.getDisposer()}Kt.bound=function(t,e,n,a){return!0===a?($t(t,e,n.value),null):n?{configurable:!0,enumerable:!1,get:function(){return $t(this,e,n.value||n.initializer.call(this)),this[e]},set:Ht}:{enumerable:!1,configurable:!0,set:function(t){$t(this,e,t)},get:function(){}}};var Jt=function(t){return t()};function Xt(t){return t.scheduler?t.scheduler:t.delay?function(e){return setTimeout(e,t.delay)}:Jt}function Qt(t,e,n){void 0===n&&(n=l),"boolean"==typeof n&&(n={fireImmediately:n});var a,r,o,i=n.name||"Reaction@"+g(),s=Kt(i,n.onError?(a=n.onError,r=e,function(){try{return r.apply(this,arguments)}catch(t){a.call(this,t)}}):e),c=!n.scheduler&&!n.delay,d=Xt(n),u=!0,f=!1,p=n.compareStructural?D.structural:n.equals||D.default,m=new qt(i,(function(){u||c?h():f||(f=!0,d(h))}),n.onError,n.requiresObservable);function h(){if(f=!1,!m.isDisposed){var e=!1;m.track((function(){var n=t(m);e=u||!p(o,n),o=n})),u&&n.fireImmediately&&s(o,m),u||!0!==e||s(o,m),u&&(u=!1)}}return m.schedule(),m.getDisposer()}function te(t,e,n){return ee("onBecomeUnobserved",t,e,n)}function ee(t,e,n,a){var r="function"==typeof a?Ye(e,n):Ye(e),o="function"==typeof a?a:n,i=r[t];return"function"!=typeof i?f(!1):(r[t]=function(){i.call(this),o.call(this)},function(){r[t]=i})}function ne(t,e,n,a){var r=(a=U(a)).defaultDecorator||(!1===a.deep?Z:K);F(t),qe(t,a.name,r.enhancer),At();try{for(var o in e){var i=Object.getOwnPropertyDescriptor(e,o),s=(n&&o in n?n[o]:i.get?et:r)(t,o,i,!0);s&&Object.defineProperty(t,o,s)}}finally{Et()}return t}function ae(t){var e,n,a={name:t.name};return t.observing&&t.observing.length>0&&(a.dependencies=(e=t.observing,n=[],e.forEach((function(t){-1===n.indexOf(t)&&n.push(t)})),n).map(ae)),a}function re(t,e){if(null==t)return!1;if(void 0!==e){if(Ge(t)){var n=t.$mobx;return n.values&&!!n.values[e]}return!1}return Ge(t)||!!t.$mobx||A(t)||Ft(t)||wt(t)}function oe(t){return 1!==arguments.length&&f(!1),re(t)}function ie(t){switch(t.length){case 0:return St.trackingDerivation;case 1:return Ye(t[0]);case 2:return Ye(t[0],t[1])}}function se(t,e){void 0===e&&(e=void 0),At();try{return t.apply(e)}finally{Et()}}function ce(t){return void 0!==t.interceptors&&t.interceptors.length>0}function le(t,e){var n=t.interceptors||(t.interceptors=[]);return n.push(e),m((function(){var t=n.indexOf(e);-1!==t&&n.splice(t,1)}))}function de(t,e){var n=ft();try{var a=t.interceptors;if(a)for(var r=0,o=a.length;r<o&&(p(!(e=a[r](e))||e.type,"Intercept handlers should return nothing or a change object"),e);r++);return e}finally{pt(n)}}function ue(t){return void 0!==t.changeListeners&&t.changeListeners.length>0}function ge(t,e){var n=t.changeListeners||(t.changeListeners=[]);return n.push(e),m((function(){var t=n.indexOf(e);-1!==t&&n.splice(t,1)}))}function fe(t,e){var n=ft(),a=t.changeListeners;if(a){for(var r=0,o=(a=a.slice()).length;r<o;r++)a[r](e);pt(n)}}Object.create(Error.prototype);var pe,me,he,be,_e=(pe=!1,me={},Object.defineProperty(me,"0",{set:function(){pe=!0}}),Object.create(me)[0]=1,!1===pe),ye=0,Oe=function(){return function(){}}();he=Oe,be=Array.prototype,void 0!==Object.setPrototypeOf?Object.setPrototypeOf(he.prototype,be):void 0!==he.prototype.__proto__?he.prototype.__proto__=be:he.prototype=be,Object.isFrozen(Array)&&["constructor","push","shift","concat","pop","unshift","replace","find","findIndex","splice","reverse","sort"].forEach((function(t){Object.defineProperty(Oe.prototype,t,{configurable:!0,writable:!0,value:Array.prototype[t]})}));var ve=function(){function t(t,e,n,a){this.array=n,this.owned=a,this.values=[],this.lastKnownLength=0,this.atom=new R(t||"ObservableArray@"+g()),this.enhancer=function(n,a){return e(n,a,t+"[..]")}}return t.prototype.dehanceValue=function(t){return void 0!==this.dehancer?this.dehancer(t):t},t.prototype.dehanceValues=function(t){return void 0!==this.dehancer&&t.length>0?t.map(this.dehancer):t},t.prototype.intercept=function(t){return le(this,t)},t.prototype.observe=function(t,e){return void 0===e&&(e=!1),e&&t({object:this.array,type:"splice",index:0,added:this.values.slice(),addedCount:this.values.length,removed:[],removedCount:0}),ge(this,t)},t.prototype.getArrayLength=function(){return this.atom.reportObserved(),this.values.length},t.prototype.setArrayLength=function(t){if("number"!=typeof t||t<0)throw new Error("[mobx.array] Out of range: "+t);var e=this.values.length;if(t!==e)if(t>e){for(var n=new Array(t-e),a=0;a<t-e;a++)n[a]=void 0;this.spliceWithArray(e,0,n)}else this.spliceWithArray(t,e-t)},t.prototype.updateArrayLength=function(t,e){if(t!==this.lastKnownLength)throw new Error("[mobx] Modification exception: the internal structure of an observable array was changed. Did you use peek() to change it?");this.lastKnownLength+=e,e>0&&t+e+1>ye&&we(t+e+1)},t.prototype.spliceWithArray=function(t,e,n){var a=this;lt(this.atom);var r=this.values.length;if(void 0===t?t=0:t>r?t=r:t<0&&(t=Math.max(0,r+t)),e=1===arguments.length?r-t:null==e?0:Math.max(0,Math.min(e,r-t)),void 0===n&&(n=c),ce(this)){var o=de(this,{object:this.array,type:"splice",index:t,removedCount:e,added:n});if(!o)return c;e=o.removedCount,n=o.added}var i=(n=0===n.length?n:n.map((function(t){return a.enhancer(t,void 0)}))).length-e;this.updateArrayLength(r,i);var s=this.spliceItemsIntoValues(t,e,n);return 0===e&&0===n.length||this.notifyArraySplice(t,n,s),this.dehanceValues(s)},t.prototype.spliceItemsIntoValues=function(t,e,n){var a;if(n.length<1e4)return(a=this.values).splice.apply(a,s([t,e],n));var r=this.values.slice(t,t+e);return this.values=this.values.slice(0,t).concat(n,this.values.slice(t+e)),r},t.prototype.notifyArrayChildUpdate=function(t,e,n){var a=!this.owned&&zt(),r=ue(this),i=r||a?{object:this.array,type:"update",index:t,newValue:e,oldValue:n}:null;a&&Gt(o(o({},i),{name:this.atom.name})),this.atom.reportChanged(),r&&fe(this,i),a&&Bt()},t.prototype.notifyArraySplice=function(t,e,n){var a=!this.owned&&zt(),r=ue(this),i=r||a?{object:this.array,type:"splice",index:t,removed:n,added:e,removedCount:n.length,addedCount:e.length}:null;a&&Gt(o(o({},i),{name:this.atom.name})),this.atom.reportChanged(),r&&fe(this,i),a&&Bt()},t}(),Ce=function(t){function e(e,n,a,r){void 0===a&&(a="ObservableArray@"+g()),void 0===r&&(r=!1);var o=t.call(this)||this,i=new ve(a,n,o,r);if(O(o,"$mobx",i),e&&e.length){var s=Ct(!0);o.spliceWithArray(0,0,e),Pt(s)}return _e&&Object.defineProperty(i.array,"0",Pe),o}return r(e,t),e.prototype.intercept=function(t){return this.$mobx.intercept(t)},e.prototype.observe=function(t,e){return void 0===e&&(e=!1),this.$mobx.observe(t,e)},e.prototype.clear=function(){return this.splice(0)},e.prototype.concat=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return this.$mobx.atom.reportObserved(),Array.prototype.concat.apply(this.peek(),t.map((function(t){return ke(t)?t.peek():t})))},e.prototype.replace=function(t){return this.$mobx.spliceWithArray(0,this.$mobx.values.length,t)},e.prototype.toJS=function(){return this.slice()},e.prototype.toJSON=function(){return this.toJS()},e.prototype.peek=function(){return this.$mobx.atom.reportObserved(),this.$mobx.dehanceValues(this.$mobx.values)},e.prototype.find=function(t,e,n){void 0===n&&(n=0);var a=this.findIndex.apply(this,arguments);return-1===a?void 0:this.get(a)},e.prototype.findIndex=function(t,e,n){void 0===n&&(n=0);for(var a=this.peek(),r=a.length,o=n;o<r;o++)if(t.call(e,a[o],o,this))return o;return-1},e.prototype.splice=function(t,e){for(var n=[],a=2;a<arguments.length;a++)n[a-2]=arguments[a];switch(arguments.length){case 0:return[];case 1:return this.$mobx.spliceWithArray(t);case 2:return this.$mobx.spliceWithArray(t,e)}return this.$mobx.spliceWithArray(t,e,n)},e.prototype.spliceWithArray=function(t,e,n){return this.$mobx.spliceWithArray(t,e,n)},e.prototype.push=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=this.$mobx;return n.spliceWithArray(n.values.length,0,t),n.values.length},e.prototype.pop=function(){return this.splice(Math.max(this.$mobx.values.length-1,0),1)[0]},e.prototype.shift=function(){return this.splice(0,1)[0]},e.prototype.unshift=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=this.$mobx;return n.spliceWithArray(0,0,t),n.values.length},e.prototype.reverse=function(){var t=this.slice();return t.reverse.apply(t,arguments)},e.prototype.sort=function(t){var e=this.slice();return e.sort.apply(e,arguments)},e.prototype.remove=function(t){var e=this.$mobx.dehanceValues(this.$mobx.values).indexOf(t);return e>-1&&(this.splice(e,1),!0)},e.prototype.move=function(t,e){function n(t){if(t<0)throw new Error("[mobx.array] Index out of bounds: "+t+" is negative");var e=this.$mobx.values.length;if(t>=e)throw new Error("[mobx.array] Index out of bounds: "+t+" is not smaller than "+e)}if(n.call(this,t),n.call(this,e),t!==e){var a,r=this.$mobx.values;a=t<e?s(r.slice(0,t),r.slice(t+1,e+1),[r[t]],r.slice(e+1)):s(r.slice(0,e),[r[t]],r.slice(e,t),r.slice(t+1)),this.replace(a)}},e.prototype.get=function(t){var e=this.$mobx;if(e){if(t<e.values.length)return e.atom.reportObserved(),e.dehanceValue(e.values[t]);console.warn("[mobx.array] Attempt to read an array index ("+t+") that is out of bounds ("+e.values.length+"). Please check length first. Out of bound indices will not be tracked by MobX")}},e.prototype.set=function(t,e){var n=this.$mobx,a=n.values;if(t<a.length){lt(n.atom);var r=a[t];if(ce(n)){var o=de(n,{type:"update",object:this,index:t,newValue:e});if(!o)return;e=o.newValue}(e=n.enhancer(e,r))!==r&&(a[t]=e,n.notifyArrayChildUpdate(t,e,r))}else{if(t!==a.length)throw new Error("[mobx.array] Index out of bounds, "+t+" is larger than "+a.length);n.spliceWithArray(t,0,[e])}},e}(Oe);k(Ce.prototype,(function(){this.$mobx.atom.reportObserved();var t=this,e=0;return S({next:function(){return e<t.length?{value:t[e++],done:!1}:{done:!0,value:void 0}}})})),Object.defineProperty(Ce.prototype,"length",{enumerable:!1,configurable:!0,get:function(){return this.$mobx.getArrayLength()},set:function(t){this.$mobx.setArrayLength(t)}}),y(Ce.prototype,I(),"Array"),["every","filter","forEach","indexOf","join","lastIndexOf","map","reduce","reduceRight","slice","some","toString","toLocaleString"].forEach((function(t){var e=Array.prototype[t];p("function"==typeof e,"Base function not defined on Array prototype: '"+t+"'"),y(Ce.prototype,t,(function(){return e.apply(this.peek(),arguments)}))})),function(t,e){for(var n=0;n<e.length;n++)y(t,e[n],t[e[n]])}(Ce.prototype,["constructor","intercept","observe","clear","concat","get","replace","toJS","toJSON","peek","find","findIndex","splice","spliceWithArray","push","pop","set","shift","unshift","reverse","sort","remove","move","toString","toLocaleString"]);var Pe=Me(0);function Me(t){return{enumerable:!1,configurable:!1,get:function(){return this.get(t)},set:function(e){this.set(t,e)}}}function xe(t){Object.defineProperty(Ce.prototype,""+t,Me(t))}function we(t){for(var e=ye;e<t;e++)xe(e);ye=t}we(1e3);var Te=v("ObservableArrayAdministration",ve);function ke(t){return b(t)&&Te(t.$mobx)}var Se={},Ie=function(){function t(t,e,n){if(void 0===e&&(e=G),void 0===n&&(n="ObservableMap@"+g()),this.enhancer=e,this.name=n,this.$mobx=Se,this._keys=new Ce(void 0,Y,this.name+".keys()",!0),"function"!=typeof Map)throw new Error("mobx.map requires Map polyfill for the current browser. Check babel-polyfill or core-js/es6/map.js");this._data=new Map,this._hasMap=new Map,this.merge(t)}return t.prototype._has=function(t){return this._data.has(t)},t.prototype.has=function(t){var e=this;if(!St.trackingDerivation)return this._has(t);var n=this._hasMap.get(t);if(!n){var a=n=new Mt(this._has(t),Y,this.name+"."+Ne(t)+"?",!1);this._hasMap.set(t,a),te(a,(function(){return e._hasMap.delete(t)}))}return n.get()},t.prototype.set=function(t,e){var n=this._has(t);if(ce(this)){var a=de(this,{type:n?"update":"add",object:this,newValue:e,name:t});if(!a)return this;e=a.newValue}return n?this._updateValue(t,e):this._addValue(t,e),this},t.prototype.delete=function(t){var e=this;if(ce(this)&&!(r=de(this,{type:"delete",object:this,name:t})))return!1;if(this._has(t)){var n=zt(),a=ue(this),r=a||n?{type:"delete",object:this,oldValue:this._data.get(t).value,name:t}:null;return n&&Gt(o(o({},r),{name:this.name,key:t})),se((function(){e._keys.remove(t),e._updateHasMapEntry(t,!1),e._data.get(t).setNewValue(void 0),e._data.delete(t)})),a&&fe(this,r),n&&Bt(),!0}return!1},t.prototype._updateHasMapEntry=function(t,e){var n=this._hasMap.get(t);n&&n.setNewValue(e)},t.prototype._updateValue=function(t,e){var n=this._data.get(t);if((e=n.prepareNewValue(e))!==St.UNCHANGED){var a=zt(),r=ue(this),i=r||a?{type:"update",object:this,oldValue:n.value,name:t,newValue:e}:null;a&&Gt(o(o({},i),{name:this.name,key:t})),n.setNewValue(e),r&&fe(this,i),a&&Bt()}},t.prototype._addValue=function(t,e){var n=this;se((function(){var a=new Mt(e,n.enhancer,n.name+"."+Ne(t),!1);n._data.set(t,a),e=a.value,n._updateHasMapEntry(t,!0),n._keys.push(t)}));var a=zt(),r=ue(this),i=r||a?{type:"add",object:this,name:t,newValue:e}:null;a&&Gt(o(o({},i),{name:this.name,key:t})),r&&fe(this,i),a&&Bt()},t.prototype.get=function(t){return this.has(t)?this.dehanceValue(this._data.get(t).get()):this.dehanceValue(void 0)},t.prototype.dehanceValue=function(t){return void 0!==this.dehancer?this.dehancer(t):t},t.prototype.keys=function(){return this._keys[T()]()},t.prototype.values=function(){var t=this,e=0;return S({next:function(){return e<t._keys.length?{value:t.get(t._keys[e++]),done:!1}:{value:void 0,done:!0}}})},t.prototype.entries=function(){var t=this,e=0;return S({next:function(){if(e<t._keys.length){var n=t._keys[e++];return{value:[n,t.get(n)],done:!1}}return{done:!0}}})},t.prototype.forEach=function(t,e){var n=this;this._keys.forEach((function(a){return t.call(e,n.get(a),a,n)}))},t.prototype.merge=function(t){var e=this;return Re(t)&&(t=t.toJS()),se((function(){_(t)?Object.keys(t).forEach((function(n){return e.set(n,t[n])})):Array.isArray(t)?t.forEach((function(t){var n=i(t,2);return e.set(n[0],n[1])})):C(t)?t.constructor!==Map?f("Cannot initialize from classes that inherit from Map: "+t.constructor.name):t.forEach((function(t,n){return e.set(n,t)})):null!=t&&f("Cannot initialize map from "+t)})),this},t.prototype.clear=function(){var t=this;se((function(){gt((function(){t._keys.slice().forEach((function(e){return t.delete(e)}))}))}))},t.prototype.replace=function(t){var e=this;return se((function(){for(var n,a=C(n=t)||Re(n)?n:Array.isArray(n)?new Map(n):_(n)?new Map(Object.entries(n)):f("Cannot convert to map from '"+n+"'"),r=e._keys,o=Array.from(a.keys()),i=!1,s=0;s<r.length;s++){var c=r[s];r.length===o.length&&c!==o[s]&&(i=!0),a.has(c)||(i=!0,e.delete(c))}a.forEach((function(t,n){e._data.has(n)||(i=!0),e.set(n,t)})),i&&e._keys.replace(o)})),this},Object.defineProperty(t.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),t.prototype.toPOJO=function(){var t=this,e={};return this._keys.forEach((function(n){return e["symbol"==typeof n?n:Ne(n)]=t.get(n)})),e},t.prototype.toJS=function(){var t=this,e=new Map;return this._keys.forEach((function(n){return e.set(n,t.get(n))})),e},t.prototype.toJSON=function(){return this.toPOJO()},t.prototype.toString=function(){var t=this;return this.name+"[{ "+this._keys.map((function(e){return Ne(e)+": "+t.get(e)})).join(", ")+" }]"},t.prototype.observe=function(t,e){return ge(this,t)},t.prototype.intercept=function(t){return le(this,t)},t}();function Ne(t){return t&&t.toString?t.toString():new String(t).toString()}k(Ie.prototype,(function(){return this.entries()})),O(Ie.prototype,I(),"Map");var Re=v("ObservableMap",Ie),Ae={},Ee=function(){function t(t,e,n){if(void 0===e&&(e=G),void 0===n&&(n="ObservableSet@"+g()),this.name=n,this.$mobx=Ae,this._data=new Set,this._atom=function(t,e,n){void 0===e&&(e=h),void 0===n&&(n=h);var a=new R(t);return ee("onBecomeObserved",a,e,void 0),te(a,n),a}(this.name),"function"!=typeof Set)throw new Error("mobx.set requires Set polyfill for the current browser. Check babel-polyfill or core-js/es6/set.js");this.enhancer=function(t,a){return e(t,a,n)},t&&this.replace(t)}return t.prototype.dehanceValue=function(t){return void 0!==this.dehancer?this.dehancer(t):t},t.prototype.clear=function(){var t=this;se((function(){gt((function(){t._data.forEach((function(e){t.delete(e)}))}))}))},t.prototype.forEach=function(t,e){var n=this;this._data.forEach((function(a){t.call(e,a,a,n)}))},Object.defineProperty(t.prototype,"size",{get:function(){return this._atom.reportObserved(),this._data.size},enumerable:!0,configurable:!0}),t.prototype.add=function(t){var e=this;if(lt(this._atom),ce(this)&&!(r=de(this,{type:"add",object:this,newValue:t})))return this;if(!this.has(t)){se((function(){e._data.add(e.enhancer(t,void 0)),e._atom.reportChanged()}));var n=zt(),a=ue(this),r=a||n?{type:"add",object:this,newValue:t}:null;a&&fe(this,r)}return this},t.prototype.delete=function(t){var e=this;if(ce(this)&&!(r=de(this,{type:"delete",object:this,oldValue:t})))return!1;if(this.has(t)){var n=zt(),a=ue(this),r=a||n?{type:"delete",object:this,oldValue:t}:null;return se((function(){e._atom.reportChanged(),e._data.delete(t)})),a&&fe(this,r),!0}return!1},t.prototype.has=function(t){return this._atom.reportObserved(),this._data.has(this.dehanceValue(t))},t.prototype.entries=function(){var t=0,e=M(this.keys()),n=M(this.values());return S({next:function(){var a=t;return t+=1,a<n.length?{value:[e[a],n[a]],done:!1}:{done:!0}}})},t.prototype.keys=function(){return this.values()},t.prototype.values=function(){this._atom.reportObserved();var t,e=this,n=0;return void 0!==this._data.values?t=M(this._data.values()):(t=[],this._data.forEach((function(e){return t.push(e)}))),S({next:function(){return n<t.length?{value:e.dehanceValue(t[n++]),done:!1}:{done:!0}}})},t.prototype.replace=function(t){var e=this;return De(t)&&(t=t.toJS()),se((function(){Array.isArray(t)?(e.clear(),t.forEach((function(t){return e.add(t)}))):P(t)?(e.clear(),t.forEach((function(t){return e.add(t)}))):null!=t&&f("Cannot initialize set from "+t)})),this},t.prototype.observe=function(t,e){return ge(this,t)},t.prototype.intercept=function(t){return le(this,t)},t.prototype.toJS=function(){return new Set(this)},t.prototype.toString=function(){return this.name+"[ "+M(this.keys()).join(", ")+" ]"},t}();k(Ee.prototype,(function(){return this.values()})),O(Ee.prototype,I(),"Set");var De=v("ObservableSet",Ee),Le=function(){function t(t,e,n){this.target=t,this.name=e,this.defaultEnhancer=n,this.values={}}return t.prototype.read=function(t,e){if(this.target===t||(this.illegalAccess(t,e),this.values[e]))return this.values[e].get()},t.prototype.write=function(t,e,n){var a=this.target;a!==t&&this.illegalAccess(t,e);var r=this.values[e];if(r instanceof xt)r.set(n);else{if(ce(this)){if(!(c=de(this,{type:"update",object:a,name:e,newValue:n})))return;n=c.newValue}if((n=r.prepareNewValue(n))!==St.UNCHANGED){var i=ue(this),s=zt(),c=i||s?{type:"update",object:a,oldValue:r.value,name:e,newValue:n}:null;s&&Gt(o(o({},c),{name:this.name,key:e})),r.setNewValue(n),i&&fe(this,c),s&&Bt()}}},t.prototype.remove=function(t){if(this.values[t]){var e=this.target;if(ce(this)&&!(i=de(this,{object:e,name:t,type:"remove"})))return;try{At();var n=ue(this),a=zt(),r=this.values[t].get();this.keys&&this.keys.remove(t),delete this.values[t],delete this.target[t];var i=n||a?{type:"remove",object:e,oldValue:r,name:t}:null;a&&Gt(o(o({},i),{name:this.name,key:t})),n&&fe(this,i),a&&Bt()}finally{Et()}}},t.prototype.illegalAccess=function(t,e){console.warn("Property '"+e+"' of '"+t+"' was accessed through the prototype chain. Use 'decorate' instead to declare the prop or access it statically through it's owner")},t.prototype.observe=function(t,e){return ge(this,t)},t.prototype.intercept=function(t){return le(this,t)},t.prototype.getKeys=function(){var t=this;return void 0===this.keys&&(this.keys=new Ce(Object.keys(this.values).filter((function(e){return t.values[e]instanceof Mt})),Y,"keys("+this.name+")",!0)),this.keys.slice()},t}();function qe(t,e,n){void 0===e&&(e=""),void 0===n&&(n=G);var a=t.$mobx;return a||(_(t)||(e=(t.constructor.name||"ObservableObject")+"@"+g()),e||(e="ObservableObject@"+g()),O(t,"$mobx",a=new Le(t,e,n)),a)}var je=Object.create(null),Fe=Object.create(null);function ze(t){return t.$mobx||(F(t),t.$mobx)}var Ve=v("ObservableObjectAdministration",Le);function Ge(t){return!!b(t)&&(F(t),Ve(t.$mobx))}function Ye(t,e){if("object"==typeof t&&null!==t){if(ke(t))return void 0!==e&&f(!1),t.$mobx.atom;if(De(t))return t.$mobx;if(Re(t)){var n=t;return void 0===e?Ye(n._keys):((a=n._data.get(e)||n._hasMap.get(e))||f(!1),a)}var a;if(F(t),Ge(t))return e?((a=t.$mobx.values[e])||f(!1),a):f(!1);if(A(t)||wt(t)||Ft(t))return t}else if("function"==typeof t&&Ft(t.$mobx))return t.$mobx;return f(!1)}var Be=Object.prototype.toString;function He(t,e,n){return void 0===n&&(n=-1),function t(e,n,a,r,o){if(e===n)return 0!==e||1/e==1/n;if(null==e||null==n)return!1;if(e!=e)return n!=n;var i=typeof e;if("function"!==i&&"object"!==i&&"object"!=typeof n)return!1;e=Ue(e),n=Ue(n);var s=Be.call(e);if(s!==Be.call(n))return!1;switch(s){case"[object RegExp]":case"[object String]":return""+e==""+n;case"[object Number]":return+e!=+e?+n!=+n:0==+e?1/+e==1/n:+e==+n;case"[object Date]":case"[object Boolean]":return+e==+n;case"[object Symbol]":return"undefined"!=typeof Symbol&&Symbol.valueOf.call(e)===Symbol.valueOf.call(n)}var c="[object Array]"===s;if(!c){if("object"!=typeof e||"object"!=typeof n)return!1;var l=e.constructor,d=n.constructor;if(l!==d&&!("function"==typeof l&&l instanceof l&&"function"==typeof d&&d instanceof d)&&"constructor"in e&&"constructor"in n)return!1}if(0===a)return!1;a<0&&(a=-1),o=o||[];for(var u=(r=r||[]).length;u--;)if(r[u]===e)return o[u]===n;if(r.push(e),o.push(n),c){if((u=e.length)!==n.length)return!1;for(;u--;)if(!t(e[u],n[u],a-1,r,o))return!1}else{var g=Object.keys(e),f=void 0;if(u=g.length,Object.keys(n).length!==u)return!1;for(;u--;)if(!We(n,f=g[u])||!t(e[f],n[f],a-1,r,o))return!1}return r.pop(),o.pop(),!0}(t,e,n)}function Ue(t){return ke(t)?t.peek():C(t)||Re(t)?M(t.entries()):P(t)||De(t)?M(t.entries()):t}function We(t,e){return Object.prototype.hasOwnProperty.call(t,e)}"object"==typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__&&__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({spy:function(t){return St.spyListeners.push(t),m((function(){St.spyListeners=St.spyListeners.filter((function(e){return e!==t}))}))},extras:{getDebugName:function(t,e){return(void 0!==e?Ye(t,e):Ge(t)||Re(t)||De(t)?function t(e,n){return e||f("Expecting some object"),void 0!==n?t(Ye(e,n)):A(e)||wt(e)||Ft(e)?e:Re(e)||De(e)?e:(F(e),e.$mobx?e.$mobx:void f(!1))}(t):Ye(t)).name}},$mobx:"$mobx"})},"2ykv":function(t,e,n){!function(t){"use strict";var e="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),n="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),a=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],r=/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;t.defineLocale("nl-be",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(t,a){return t?/-MMM-/.test(a)?n[t.month()]:e[t.month()]:e},monthsRegex:r,monthsShortRegex:r,monthsStrictRegex:/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(t){return t+(1===t||8===t||t>=20?"ste":"de")},week:{dow:1,doy:4}})}(n("wd/R"))},"3+CB":function(t,e,n){"use strict";n.r(e),e.default='<xliff xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 http://docs.oasis-open.org/xliff/v1.2/os/xliff-core-1.2-strict.xsd" xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">\n  <file original="ng2.template" datatype="plaintext" source-language="en-US" target-language="ko-KR">\n    <body>\n      <trans-unit id="319e0745bcbc132451569294fa2fa21bf10f555a" datatype="html">\n        <source>Toggle navigation</source>\n        <target>네비게이션 전환</target>\n      </trans-unit>\n      <trans-unit id="f65253954b66e929a8b4d5ecaf61f9129f8cec64" datatype="html">\n        <source>Dashboard</source>\n        <target>현황판</target>\n      </trans-unit>\n      <trans-unit id="f4d1dd59b039ad818d9da7e29a773e10e41d9821" datatype="html">\n        <source>Cluster</source>\n        <target>클러스터</target>\n      </trans-unit>\n      <trans-unit id="099b441d49333b3c6d30b36dc0a4763e64c78920" datatype="html">\n        <source>Hosts</source>\n        <target>호스트들</target>\n      </trans-unit>\n      <trans-unit id="2cc3ecb16e348fcf2f2fbfd2f997d4d22f37475b" datatype="html">\n        <source>Inventory</source>\n        <target>Inventory</target>\n      </trans-unit>\n      <trans-unit id="624f596cc3320f5e0a0d7c7346c364e5af9bdd8c" datatype="html">\n        <source>Monitors</source>\n        <target>모니터들</target>\n      </trans-unit>\n      <trans-unit id="419d940613972cc3fae9c8ea0a4306dbf80616e5" datatype="html">\n        <source>Services</source>\n        <target>서비스들</target>\n      </trans-unit>\n      <trans-unit id="1a9183778f2c6473d7ccb080f651caa01faaf70c" datatype="html">\n        <source>OSDs</source>\n        <target>OSD들</target>\n      </trans-unit>\n      <trans-unit id="4a41f824a35ba01d5bd7be61aa06b3e8145209d0" datatype="html">\n        <source>Configuration</source>\n        <target>설정</target>\n      </trans-unit>\n      <trans-unit id="8c95898abff46bfac3ed6eb2afef74597e60b15c" datatype="html">\n        <source>CRUSH map</source>\n        <target>크러쉬맵</target>\n      </trans-unit>\n      <trans-unit id="33da4dbeb076159510801ea764a218fd341269d2" datatype="html">\n        <source>Manager modules</source>\n        <target>메니저 모듈들</target>\n      </trans-unit>\n      <trans-unit id="eb3d5aefff38a814b76da74371cbf02c0789a1ef" datatype="html">\n        <source>Logs</source>\n        <target>로그들</target>\n      </trans-unit>\n      <trans-unit id="9fe218829514884cdd0ca2300573a4e0428c324f" datatype="html">\n        <source>Alerts</source>\n        <target>경고들</target>\n      </trans-unit>\n      <trans-unit id="aa0c44aa1e5727061baa91e954f77e2f5f9a37c9" datatype="html">\n        <source>Silences</source>\n        <target>Silences</target>\n      </trans-unit>\n      <trans-unit id="92899fa68e8ca108912163ff58edc8540e453787" datatype="html">\n        <source>Pools</source>\n        <target>풀들</target>\n      </trans-unit>\n      <trans-unit id="7f5d0c10614e8a34f0e2dad33a0568277c50cf69" datatype="html">\n        <source>Block</source>\n        <target>블럭</target>\n      </trans-unit>\n      <trans-unit id="b73f7f5060fb22a1e9ec462b1bb02493fa3ab866" datatype="html">\n        <source>Images</source>\n        <target>이미지들</target>\n      </trans-unit>\n      <trans-unit id="3c2562ba992127203dcfd014010b03cb7b8113c6" datatype="html">\n        <source>Mirroring</source>\n        <target>미러링</target>\n      </trans-unit>\n      <trans-unit id="811c241d56601b91ef26735b770e64428089b950" datatype="html">\n        <source>iSCSI</source>\n        <target>iSCSI</target>\n      </trans-unit>\n      <trans-unit id="a24eabd99ea5af20f5f94c4484649cd30370042b" datatype="html">\n        <source>NFS</source>\n        <target>NFS</target>\n      </trans-unit>\n      <trans-unit id="a4eff72d97b7ced051398d581f10968218057ddc" datatype="html">\n        <source>Filesystems</source>\n        <target>파일시스템들</target>\n      </trans-unit>\n      <trans-unit id="2190548d236ca5f7bc7ab2bca334b860c5ff2ad4" datatype="html">\n        <source>Object Gateway</source>\n        <target>오브젝트게이트웨이</target>\n      </trans-unit>\n      <trans-unit id="9e24f9e2d42104ffc01599db4d566d1cc518f9e6" datatype="html">\n        <source>Daemons</source>\n        <target>데몬들</target>\n      </trans-unit>\n      <trans-unit id="4d13a9cd5ed3dcee0eab22cb25198d43886942be" datatype="html">\n        <source>Users</source>\n        <target>사용자</target>\n      </trans-unit>\n      <trans-unit id="9515520496da83179d8b08132f00f575512a1f40" datatype="html">\n        <source>Buckets</source>\n        <target>버킷들</target>\n      </trans-unit>\n      <trans-unit id="797f8214e8148f4bf0d244baaa7341706b419549" datatype="html">\n        <source>Retrieving data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>. Please wait...\n        </source>\n        <target>Retrieving data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>. Please wait...\n        </target>\n      </trans-unit>\n      <trans-unit id="5a870dc77b9f6f33ee671ea2d856021276933339" datatype="html">\n        <source>Displaying previously cached data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>\n  for \n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n        </source>\n        <target>Displaying previously cached data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>\n  for \n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="ae580202919844531361ba2308287226ff74a584" datatype="html">\n        <source>Could not load data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n  Please check the cluster health.\n        </source>\n        <target>Could not load data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n  Please check the cluster health.\n        </target>\n      </trans-unit>\n      <trans-unit id="7e52e9143145e1db5146258de81eae018a407b31" datatype="html">\n        <source>Clear notifications</source>\n        <target>Clear notifications</target>\n      </trans-unit>\n      <trans-unit id="b0b07bb6b7ff21ede439dd04eaf8872d1ecb84d8" datatype="html">\n        <source>Remove notification</source>\n        <target>Remove notification</target>\n      </trans-unit>\n      <trans-unit id="e17a1d75189da843f541f7764f188f2b19a97df2" datatype="html">\n        <source>Duration:</source>\n        <target>Duration:</target>\n      </trans-unit>\n      <trans-unit id="0d4b37c6675c5b436a54c43d6716eec835e1aa7f" datatype="html">\n        <source>There are no notifications.</source>\n        <target>There are no notifications.</target>\n      </trans-unit>\n      <trans-unit id="0a23e992f6c6e169a38b2b7338b4e5e803b52e0d" datatype="html">\n        <source>Tasks and Notifications</source>\n        <target>Tasks and Notifications</target>\n      </trans-unit>\n      <trans-unit id="3fb5709e10166cbc85970cbff103db227dbeb813" datatype="html">\n        <source>Select a Language</source>\n        <target>언어선택</target>\n      </trans-unit>\n      <trans-unit id="c5109325fb160b543f71a51e7511c00575057431" datatype="html">\n        <source>Loading panel data...</source>\n        <target>패널 데이타 로딩 중...</target>\n      </trans-unit>\n      <trans-unit id="8ca12411f890ab8b0a9216418e2b8f5ea7d2441a" datatype="html">\n        <source>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the monitoring functionality.\n        </source>\n        <target>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the monitoring functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="160a9e80dc089792df42e2400b1e81b9e7025aa7" datatype="html">\n        <source>Grafana Dashboard doesn\'t exist. Please refer to\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  add dashboards to Grafana.\n        </source>\n        <target>Grafana Dashboard doesn\'t exist. Please refer to\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  add dashboards to Grafana.\n        </target>\n      </trans-unit>\n      <trans-unit id="4e11830040bd64804a0555de76f291d5832772d4" datatype="html">\n        <source>Grafana Time Picker</source>\n        <target>그라파나 타임 픽커</target>\n      </trans-unit>\n      <trans-unit id="238c1ba845dd7330e8088165275919a1debf1ca3" datatype="html">\n        <source>Reset Settings</source>\n        <target>설정 초기화</target>\n      </trans-unit>\n      <trans-unit id="c8d1785038d461ec66b5799db21864182b35900a" datatype="html">\n        <source>Refresh</source>\n        <target>Refresh</target>\n      </trans-unit>\n      <trans-unit id="6c947210e2d162b6225083d18820ab602f58cd2d" datatype="html">\n        <source>Remove the custom configuration value. The default configuration will be inherited and used instead.</source>\n        <target>Remove the custom configuration value. The default configuration will be inherited and used instead.</target>\n      </trans-unit>\n      <trans-unit id="454ee9cb60b00446a8fb147fd2cc5eb836320586" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ option.maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ option.maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="7fc8a22825131e028336f60ef909ccbd96059703" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ option.minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ option.minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="cda31dbd724cf5f4fa7a4274d9120651490c8a8c" datatype="html">\n        <source>Back</source>\n        <target>뒤로</target>\n      </trans-unit>\n      <trans-unit id="012741ee52b3c050e4a977c37cc2334f7974f141" datatype="html">\n        <source>Failed to load data.</source>\n        <target>데이타 로딩 실폐</target>\n      </trans-unit>\n      <trans-unit id="80cc9a12d4bf6fe454ed94b379eeaf915f920bb7" datatype="html">\n        <source>selected</source>\n        <target>선택된</target>\n        <note>X selected</note>\n      </trans-unit>\n      <trans-unit id="0cb77511a9a148e05b9adf36cc07269956fbb29d" datatype="html">\n        <source>found</source>\n        <target>발견된</target>\n        <note>X found</note>\n      </trans-unit>\n      <trans-unit id="79347388740c50b7ac97e144c2494bb62912f312" datatype="html">\n        <source>total</source>\n        <target>전체</target>\n        <note>X total</note>\n      </trans-unit>\n      <trans-unit id="cff1428d10d59d14e45edec3c735a27b5482db59" datatype="html">\n        <source>Name</source>\n        <target>이름</target>\n      </trans-unit>\n      <trans-unit id="eec715de352a6b114713b30b640d319fa78207a0" datatype="html">\n        <source>Description</source>\n        <target>설명</target>\n      </trans-unit>\n      <trans-unit id="4ad112ce9bcd55dfd137792a86afe1b5a5b13cf8" datatype="html">\n        <source>Long description</source>\n        <target>자세한 설명</target>\n      </trans-unit>\n      <trans-unit id="ff7cee38a2259526c519f878e71b964f41db4348" datatype="html">\n        <source>Default</source>\n        <target>기본값</target>\n      </trans-unit>\n      <trans-unit id="33e1c1d9fc05ca3f62fcc8a1170fc31ebae4229c" datatype="html">\n        <source>Daemon default</source>\n        <target>데모 기본값</target>\n      </trans-unit>\n      <trans-unit id="809b0c848932a41318f77a2aace904ef429c13f4" datatype="html">\n        <source>Values</source>\n        <target>값들</target>\n      </trans-unit>\n      <trans-unit id="82029b6db704c56a2aa3e82ac555b8655356b077" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8ed8b3967a7326b81b191c9f490006e6a6777a9a" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="52c9a103b812f258bcddc3d90a6e3f46871d25fe" datatype="html">\n        <source>Save</source>\n        <target>저장하기</target>\n      </trans-unit>\n      <trans-unit id="738de688b22fba5d0dc7a5e549996838dddad0ee" datatype="html">\n        <source>CRUSH map viewer</source>\n        <target>크러쉬맵 보기</target>\n      </trans-unit>\n      <trans-unit id="94516fa213706c67ce5a5b5765681d7fb032033a" datatype="html">\n        <source>Loading...</source>\n        <target>로딩중...</target>\n      </trans-unit>\n      <trans-unit id="formTitle" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </target>\n        <note>form title</note>\n      </trans-unit>\n      <trans-unit id="9a541ec1a4319fffc16ad3b3ab2c2b6d251a829d" datatype="html">\n        <source>Hostname</source>\n        <target>호스트이름</target>\n      </trans-unit>\n      <trans-unit id="7cbdabcece469fab89cfa687ab152bca18b97498" datatype="html">\n        <source>This field is required.</source>\n        <target>이 필드는 필수적입니다.</target>\n      </trans-unit>\n      <trans-unit id="1b3f5e5291541678f7afa49d28fad5ca848a8061" datatype="html">\n        <source>The chosen hostname is already in use.</source>\n        <target>The chosen hostname is already in use.</target>\n      </trans-unit>\n      <trans-unit id="formActionButton" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </target>\n        <note>form action button</note>\n      </trans-unit>\n      <trans-unit id="6110699a3562eeb15371063c0cf7f6bfd88a0209" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemNames[0] }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemNames[0] }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>?\n        </target>\n      </trans-unit>\n      <trans-unit id="549859e511ba5af0ea03fcaa620c472f08038969" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected items?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected items?\n        </target>\n      </trans-unit>\n      <trans-unit id="54839ebc827b73c9dc4e1df731c6d36a85036af7" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected \n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected \n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>?\n        </target>\n      </trans-unit>\n      <trans-unit id="2be8b7f04f0104d3fad90d079d8202b74f758b9a" datatype="html">\n        <source>Yes, I am sure.</source>\n        <target>예, 확실합니다.</target>\n      </trans-unit>\n      <trans-unit id="d7b35c384aecd25a516200d6921836374613dfe7" datatype="html">\n        <source>Cancel</source>\n        <target>취소</target>\n      </trans-unit>\n      <trans-unit id="40661476cb24c89d8b06614998e31d5fbe84eeb6" datatype="html">\n        <source>Hosts List</source>\n        <target>호스트 목록들</target>\n      </trans-unit>\n      <trans-unit id="5e7f4b1ca49e8d217bd0e12c6f7d6b6a2ade2c18" datatype="html">\n        <source>Overall Performance</source>\n        <target>통합 성능치</target>\n      </trans-unit>\n      <trans-unit id="6bc15dc1a621b6ff7378db7fd3ac10b2a2627c77" datatype="html">\n        <source>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the orchestrator functionality.\n        </source>\n        <target>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the orchestrator functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="3e24569eca61d598c8b01defbbbb1fa8bd5222bc" datatype="html">\n        <source>Devices</source>\n        <target>Devices</target>\n      </trans-unit>\n      <trans-unit id="e6d57f36aa2bad303c8a8ee944b9bd7fae3c8c26" datatype="html">\n        <source>No entries found</source>\n        <target>항목들을 찾을 수 없음</target>\n      </trans-unit>\n      <trans-unit id="d556ab48a65722b400e497f61737f553ee0f89e2" datatype="html">\n        <source>Cluster Logs</source>\n        <target>클러스터 로그들</target>\n      </trans-unit>\n      <trans-unit id="5f966baffd188be0e8adc2d7067b86e55fc9b9de" datatype="html">\n        <source>Audit Logs</source>\n        <target>감사 로그들</target>\n      </trans-unit>\n      <trans-unit id="4193c9eb868aeec119b78a14795241e0aa5e8b60" datatype="html">\n        <source>Priority:</source>\n        <target>Priority:</target>\n      </trans-unit>\n      <trans-unit id="1d78ca51eab260ce3fd917d39190d64df5229b6e" datatype="html">\n        <source>Keyword:</source>\n        <target>Keyword:</target>\n      </trans-unit>\n      <trans-unit id="05fa0bded36de6e73a1fa44838b627349dace044" datatype="html">\n        <source>Date:</source>\n        <target>Date:</target>\n      </trans-unit>\n      <trans-unit id="31dadb362bf7f7c2afa10e5f96474ccd3977f91f" datatype="html">\n        <source>Datepicker</source>\n        <target>Datepicker</target>\n      </trans-unit>\n      <trans-unit id="85a400388de1899b1917138cf7e5286376f72847" datatype="html">\n        <source>Time range:</source>\n        <target>Time range:</target>\n      </trans-unit>\n      <trans-unit id="2447796ddbda942f4e2c46619cb84d69f066e568" datatype="html">\n        <source>Loading configuration...</source>\n        <target>설정 로딩 중</target>\n      </trans-unit>\n      <trans-unit id="b42c0b347a841bed8859ee83de05080ee28c803b" datatype="html">\n        <source>The configuration could not be loaded.</source>\n        <target>설정을 로드할 수 없습니다.</target>\n      </trans-unit>\n      <trans-unit id="31a9c2870a934b594d1390146c489f76440859ea" datatype="html">\n        <source>Edit Manager module</source>\n        <target>관리모듈 편집하기</target>\n      </trans-unit>\n      <trans-unit id="46e09b8290d3d0afdb6baa2021395b0570606a31" datatype="html">\n        <source>The entered value is not a valid UUID, e.g.: 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8</source>\n        <target>입력된 값이 유효한 UUID가 아닙니다, 예.: 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8</target>\n      </trans-unit>\n      <trans-unit id="7aacd038b39cfd347107d01d1dc27f5cb3e0951c" datatype="html">\n        <source>The entered value needs to be a valid IP address.</source>\n        <target>입력된 값은 유효한 IP주소 여야 합니다.</target>\n      </trans-unit>\n      <trans-unit id="f19106149f4b07a0d721f9d317afed393cb7bd93" datatype="html">\n        <source>The entered value is too high! It must be lower or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.max }}"/>.\n        </source>\n        <target>The entered value is too high! It must be lower or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.max }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="6d33c40ef9a6c3bf0888df831b25e41e65f9d15b" datatype="html">\n        <source>The entered value is too low! It must be greater or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.min }}"/>.\n        </source>\n        <target>The entered value is too low! It must be greater or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.min }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="eae7086660cf1e38c7194a2c49ff52cc656f90f5" datatype="html">\n        <source>The entered value needs to be a number.</source>\n        <target>입력된 값은 적어도 하나의 숫자를 필요로 합니다.</target>\n      </trans-unit>\n      <trans-unit id="a73376e04b4fb3a20734c8c39743fba32e6676ce" datatype="html">\n        <source>The entered value needs to be a number or decimal.</source>\n        <target>입력 된 값은 숫자 또는 십진수여야 합니다.</target>\n      </trans-unit>\n      <trans-unit id="047f50bc5b5d17b5bec0196355953e1a5c590ddb" datatype="html">\n        <source>Update</source>\n        <target>갱신</target>\n      </trans-unit>\n      <trans-unit id="81b97b8ea996ad1e4f9fca8415021850214884b1" datatype="html">\n        <source>Status</source>\n        <target>상태</target>\n      </trans-unit>\n      <trans-unit id="57ec6032f5618d4a9f16eb950ad23d2ce7c24b54" datatype="html">\n        <source>Cluster ID</source>\n        <target>클러스터 ID</target>\n      </trans-unit>\n      <trans-unit id="67d7facc3fec5f8a49ab9ba0a245872184264ce5" datatype="html">\n        <source>monmap modified</source>\n        <target>몬맵 변경시간</target>\n      </trans-unit>\n      <trans-unit id="d4906731aaf2b94b4f547646c9bfe58bb77951b6" datatype="html">\n        <source>monmap epoch</source>\n        <target>몬맵 변경번호</target>\n      </trans-unit>\n      <trans-unit id="bd4ee06ffdc46d9dfbd0c0c4f81399021c680056" datatype="html">\n        <source>quorum con</source>\n        <target>정족수 일치번호</target>\n      </trans-unit>\n      <trans-unit id="1176c7db8a8276ccb44cc3d42e2c28d9fa6c6596" datatype="html">\n        <source>quorum mon</source>\n        <target>정족수 모니터상태</target>\n      </trans-unit>\n      <trans-unit id="530ef677a09d681b3ab68cb0760494b3ae72a77c" datatype="html">\n        <source>required con</source>\n        <target>요구되는 일치번호</target>\n      </trans-unit>\n      <trans-unit id="a91558e0d506c32021c31843f8f168899fc65cbf" datatype="html">\n        <source>required mon</source>\n        <target>요구되는 모니터상태</target>\n      </trans-unit>\n      <trans-unit id="b3abe9eac5bcd94a54c8da93b312e085ec512e74" datatype="html">\n        <source>In Quorum</source>\n        <target>정족수에 포함</target>\n      </trans-unit>\n      <trans-unit id="ba4b748a676e1f217ce1e736fb7ec1215e677bae" datatype="html">\n        <source>Not In Quorum</source>\n        <target>정족수 미포함</target>\n      </trans-unit>\n      <trans-unit id="5ef50ba2514414f799d4c8fc36067a251904ba81" datatype="html">\n        <source>Cluster-wide OSD Flags</source>\n        <target>클러스터-수준의 OSD 플레그들</target>\n      </trans-unit>\n      <trans-unit id="71c77bb8cecdf11ec3eead24dd1ba506573fa9cd" datatype="html">\n        <source>Submit</source>\n        <target>제출</target>\n      </trans-unit>\n      <trans-unit id="1cfe07dac5b4ee1c464eb24225ddeb4f1d24076a" datatype="html">\n        <source>Advanced...</source>\n        <target>자세한 옵션...</target>\n      </trans-unit>\n      <trans-unit id="b1ef1c12ddcee305353623919ef02778569f5454" datatype="html">\n        <source>Advanced configuration options</source>\n        <target>Advanced configuration options</target>\n      </trans-unit>\n      <trans-unit id="c35f9c5f268a514b970cc55e9a5dc4bed0988e7f" datatype="html">\n        <source>OSD Recovery Priority</source>\n        <target>OSD 복구 우선순위</target>\n      </trans-unit>\n      <trans-unit id="b74af38005e8a8914e45af2ec412e11ceafef8b6" datatype="html">\n        <source>Priority</source>\n        <target>우선순위</target>\n      </trans-unit>\n      <trans-unit id="c2f48f04b379bfba133825747adfd238d511412e" datatype="html">\n        <source>Customize priority values</source>\n        <target>우선 순위 값 맞춤 설정</target>\n      </trans-unit>\n      <trans-unit id="4aa19de2a2b54cbda39e9c62917b23044c087776" datatype="html">\n        <source>This field is required!</source>\n        <target>이 필드는 요구됩니다!</target>\n      </trans-unit>\n      <trans-unit id="b699e94bf376491bd50b70a98531071c737eaf40" datatype="html">\n        <source>[object Object]</source>\n        <target>[object Object]</target>\n      </trans-unit>\n      <trans-unit id="98fe13e7ad6c2b80375d204b47858ded83f80e15" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="5423a3c111be47fc5a1bfe46ceb58c81c84db691" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="5251a4355cece3075db43f15d69a24a0f8485707" datatype="html">\n        <source>Reweight OSD: \n          <x id="INTERPOLATION" equiv-text="{{ osdId }}"/>\n        </source>\n        <target>Reweight OSD: \n          <x id="INTERPOLATION" equiv-text="{{ osdId }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="67650b2998db48201b2c6176cbfef51e7211ccaa" datatype="html">\n        <source>The value needs to be between 0 and 1.</source>\n        <target>값은 0과 1사이어야 합니다.</target>\n      </trans-unit>\n      <trans-unit id="bc11f92113d678a90e334fdf3d7b3fddbe34c579" datatype="html">\n        <source>Reweight</source>\n        <target>재-조정</target>\n      </trans-unit>\n      <trans-unit id="d5ca5daf742023fc4f0919fb3c1c6a51991cda4f" datatype="html">\n        <source>OSDs \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>Scrub\n        </source>\n        <target>OSDs \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>Scrub\n        </target>\n      </trans-unit>\n      <trans-unit id="4c17d67c7c5799eb920030e9a399961e90f55dd8" datatype="html">\n        <source>{VAR_SELECT, select, 1 {Deep } }</source>\n        <target>{VAR_SELECT, 선택, 1 {깊이 } }</target>\n      </trans-unit>\n      <trans-unit id="2613498e8e5853c26a1cc62ae8dc673d1fdf0e2a" datatype="html">\n        <source>You are about to apply a \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to\n          the OSD(s): \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ selected | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.\n        </source>\n        <target>You are about to apply a \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to\n          the OSD(s): \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ selected | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="dc6705f342a036b332c3fd3443201c3613e5524d" datatype="html">\n        <source>{VAR_SELECT, select, 1 {deep } }</source>\n        <target>{VAR_SELECT, 선택, 1 {깊이 } }</target>\n      </trans-unit>\n      <trans-unit id="b49d7877d24112d4bdfce9256edf61a007fae888" datatype="html">\n        <source>OSDs List</source>\n        <target>OSD 목록들</target>\n      </trans-unit>\n      <trans-unit id="c402e6ec1c6792ede81f56c28eee8955860391c8" datatype="html">\n        <source>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) \n          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </source>\n        <target>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) \n          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </target>\n      </trans-unit>\n      <trans-unit id="d2797d01ba86f5df03d875803e49e648a4027869" datatype="html">\n        <source>The \n          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to destroy!\n        </source>\n        <target>The \n          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to destroy!\n        </target>\n      </trans-unit>\n      <trans-unit id="e776996dac651ef3819bfa767ccf2a0613759f47" datatype="html">\n        <source>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</source>\n        <target>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</target>\n      </trans-unit>\n      <trans-unit id="1e2c50ed3c3934ef068976dc7f38513cec29d515" datatype="html">\n        <source>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD \n          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </source>\n        <target>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD \n          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </target>\n      </trans-unit>\n      <trans-unit id="4f8b2bb476981727ab34ed40fde1218361f92c45" datatype="html">\n        <source>Details</source>\n        <target>세부설명</target>\n      </trans-unit>\n      <trans-unit id="8501055865d7031b5521a0c5467532648009a61d" datatype="html">\n        <source>Matcher</source>\n        <target>Matcher</target>\n      </trans-unit>\n      <trans-unit id="9c25e04f554875dc2625a78ba0fc56c6010cd0d3" datatype="html">\n        <source>-- Select an attribute to match against --</source>\n        <target>-- Select an attribute to match against --</target>\n      </trans-unit>\n      <trans-unit id="5049e204c14c648691ac775a64fb504467aeb549" datatype="html">\n        <source>Value</source>\n        <target>값</target>\n      </trans-unit>\n      <trans-unit id="77fc5c63497fc031ddc97645484e3d94ad27766c" datatype="html">\n        <source>Use regular expression</source>\n        <target>Use regular expression</target>\n      </trans-unit>\n      <trans-unit id="7bbec1a797283712c0adf9e71d77fb5a8cd720db" datatype="html">\n        <source>{VAR_SELECT, select, 1 {Update} other {Add} }</source>\n        <target>{VAR_SELECT, select, 1 {Update} other {Add} }</target>\n      </trans-unit>\n      <trans-unit id="f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8" datatype="html">\n        <source>Close</source>\n        <target>닫기</target>\n      </trans-unit>\n      <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c" datatype="html">\n        <source>Edit</source>\n        <target>편집</target>\n      </trans-unit>\n      <trans-unit id="826b25211922a1b46436589233cb6f1a163d89b7" datatype="html">\n        <source>Delete</source>\n        <target>삭제</target>\n      </trans-unit>\n      <trans-unit id="a3ba06aba047605af8ea1718ec1ba153b7db12a2" datatype="html">\n        <source>Editing a silence will expire the old silence and recreate it as a new silence</source>\n        <target>Editing a silence will expire the old silence and recreate it as a new silence</target>\n      </trans-unit>\n      <trans-unit id="a20424156b8816671f61879f0574a4f27d7b16b9" datatype="html">\n        <source>Creator</source>\n        <target>Creator</target>\n      </trans-unit>\n      <trans-unit id="5a5d7ee2acbfa9c91ab7f41d26bda9ff0cafe42f" datatype="html">\n        <source>Comment</source>\n        <target>Comment</target>\n      </trans-unit>\n      <trans-unit id="4c11aad490b2d53fdae30b3807beabf79306752c" datatype="html">\n        <source>Start time</source>\n        <target>Start time</target>\n      </trans-unit>\n      <trans-unit id="32856b1e8e339b747b21e313e2fe65a51fd450bb" datatype="html">\n        <source>If the start time lies in the past the creation time will be used</source>\n        <target>If the start time lies in the past the creation time will be used</target>\n      </trans-unit>\n      <trans-unit id="a02ea1d4e7424ca989929da5e598f379940fdbf2" datatype="html">\n        <source>Duration</source>\n        <target>Duration</target>\n      </trans-unit>\n      <trans-unit id="2f4e35e36f4d3c62e2c17df41730b6dee4afc4b9" datatype="html">\n        <source>End time</source>\n        <target>End time</target>\n      </trans-unit>\n      <trans-unit id="dbe739ec8c99a0132e326067ffec9c0ee06b2655" datatype="html">\n        <source>Matchers\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>*\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n        </source>\n        <target>Matchers\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>*\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="3e023166c55833d5a13f4143e3dbe372befe1b4e" datatype="html">\n        <source>A silence requires at least one matcher</source>\n        <target>A silence requires at least one matcher</target>\n      </trans-unit>\n      <trans-unit id="ef765bd80c4806c51c891908c07a24bc76f019eb" datatype="html">\n        <source>Add matcher</source>\n        <target>Add matcher</target>\n      </trans-unit>\n      <trans-unit id="d2bcd3296d2850de762fb943060b7e086a893181" datatype="html">\n        <source>Health</source>\n        <target>건강상태</target>\n      </trans-unit>\n      <trans-unit id="61e0f26d843eec0b33ff475e111b0c2f7a80b835" datatype="html">\n        <source>Statistics</source>\n        <target>통계들</target>\n      </trans-unit>\n      <trans-unit id="f8f74e5f683012b9c0702b1446011c6b9158bc67" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the NFS Ganesha management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the NFS Ganesha management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="7ffe39df9d88c972792bd8688b215392deb8313d" datatype="html">\n        <source>Clients</source>\n        <target>클라이언트들</target>\n      </trans-unit>\n      <trans-unit id="f2dae0bda66f6a349444951c0379c28cda47d6d1" datatype="html">\n        <source>Any client can access</source>\n        <target>모든 클라이언트 접근가능</target>\n      </trans-unit>\n      <trans-unit id="7882f2edb1d4139800b276b6b0bbf5ae0b2234ef" datatype="html">\n        <source>Addresses</source>\n        <target>주소들</target>\n      </trans-unit>\n      <trans-unit id="9bd96fcf50863e685c74d0490392f46689ffbdb6" datatype="html">\n        <source>Required field</source>\n        <target>필수 입력란</target>\n      </trans-unit>\n      <trans-unit id="a5f3f74c0f6925826cb2188576391c0da01a23f0" datatype="html">\n        <source>Must contain one or more comma-separated values</source>\n        <target>반드시 하나 이상의 쉼표로 구분 된 값을 포함해야 함</target>\n      </trans-unit>\n      <trans-unit id="8bb5b2073697f3f4378c44a49b7524934c9268f4" datatype="html">\n        <source>For example:</source>\n        <target>예를들면:</target>\n      </trans-unit>\n      <trans-unit id="8f969c655b3fbe4fba7e277caf4cd2c459f9fca5" datatype="html">\n        <source>Access Type</source>\n        <target>접근형태</target>\n      </trans-unit>\n      <trans-unit id="28952831a284cfe2b4fc39ca610e80b52598905a" datatype="html">\n        <source>Squash</source>\n        <target>Squash</target>\n      </trans-unit>\n      <trans-unit id="0660ae339068979854ade34a96546980723dede3" datatype="html">\n        <source>Add clients</source>\n        <target>클라이언트들 추가</target>\n      </trans-unit>\n      <trans-unit id="135b91a2d908d5814b782695470a6a786c99d9d2" datatype="html">\n        <source>-- No cluster available --</source>\n        <target>-- 사용가능 클러스터 없음 --</target>\n      </trans-unit>\n      <trans-unit id="c501dba379f566885919240ea277b5bc10c14d18" datatype="html">\n        <source>-- Select the cluster --</source>\n        <target>-- 클러스터 선택 --</target>\n      </trans-unit>\n      <trans-unit id="cf85b1ee58326aa9da63da41b2629c9db7c9a5b9" datatype="html">\n        <source>Add daemon</source>\n        <target>데몬 추가하기</target>\n      </trans-unit>\n      <trans-unit id="b3f6ba7fe84d6508705cdfe234f0fcc8ff85c9cf" datatype="html">\n        <source>Storage Backend</source>\n        <target>스토리지 백엔드</target>\n      </trans-unit>\n      <trans-unit id="151c80ea931037cd92e854442927f8a0f6ae7795" datatype="html">\n        <source>-- No data pools available --</source>\n        <target>-- 이용가능한 데이타풀 없음 --</target>\n      </trans-unit>\n      <trans-unit id="b6fee356d1db954255a56d8169405a89595246b9" datatype="html">\n        <source>-- Select the storage backend --</source>\n        <target>-- 스토리지 백엔드 선택 --</target>\n      </trans-unit>\n      <trans-unit id="76d67035c3ab3d8e56f725859f820f03fda41cfc" datatype="html">\n        <source>Object Gateway User</source>\n        <target>객체 게이트웨이 사용자</target>\n      </trans-unit>\n      <trans-unit id="fade7788bace74337f306ae209f10fc187ef4671" datatype="html">\n        <source>-- No users available --</source>\n        <target>-- 사용가능한 사용자들 없음 --</target>\n      </trans-unit>\n      <trans-unit id="6d30b7b36cf8f6364167321bdb4ba35d4cefce7b" datatype="html">\n        <source>-- Select the object gateway user --</source>\n        <target>-- 객체 게이트웨이 사용자 선택 --</target>\n      </trans-unit>\n      <trans-unit id="589ce20d3ba3e3ac44f75decfaadc4ea8f0aec2d" datatype="html">\n        <source>CephFS User ID</source>\n        <target>CephFS 사용자 ID</target>\n      </trans-unit>\n      <trans-unit id="c4b88a53ac3b0ece46ba9b3ad72355a3c190cce7" datatype="html">\n        <source>-- No clients available --</source>\n        <target>-- 사용가능한 클라이언트 없음 --</target>\n      </trans-unit>\n      <trans-unit id="da52835b80497a0002d24414b057dc46ae44ce38" datatype="html">\n        <source>-- Select the cephx client --</source>\n        <target>-- cephx 클라이언트 선택 --</target>\n      </trans-unit>\n      <trans-unit id="fd3419e8957d928d7f7ba19c93356a0dbff02871" datatype="html">\n        <source>CephFS Name</source>\n        <target>CephFS 이름</target>\n      </trans-unit>\n      <trans-unit id="ee3ba0ab5f0ccd597b3e44021c71e9aaad14df0a" datatype="html">\n        <source>-- No CephFS filesystem available --</source>\n        <target>-- No CephFS filesystem available --</target>\n      </trans-unit>\n      <trans-unit id="764c57812558b1ae66c5eec95d7efd2b1bf761e3" datatype="html">\n        <source>-- Select the CephFS filesystem --</source>\n        <target>-- Select the CephFS filesystem --</target>\n      </trans-unit>\n      <trans-unit id="957512d0321f73e9f115bce1bd823fa635170c41" datatype="html">\n        <source>Security Label</source>\n        <target>보안 레이블</target>\n      </trans-unit>\n      <trans-unit id="65ce0fa4da1ed55e658aeb31d1644a29f06bb342" datatype="html">\n        <source>Enable security label</source>\n        <target>보안 레이블 사용</target>\n      </trans-unit>\n      <trans-unit id="7e808f804130c7b6ff719509cbc06ebb27393a48" datatype="html">\n        <source>CephFS Path</source>\n        <target>CephFS 경로</target>\n      </trans-unit>\n      <trans-unit id="5ecc0107badb6625466aaa3f975b5c05276f432f" datatype="html">\n        <source>Path need to start with a \'/\' and can be followed by a word</source>\n        <target>경로는 \'/\'로 시작해야하며 그 뒤에 단어가 올 수 있습니다</target>\n      </trans-unit>\n      <trans-unit id="2d02916f44fc63e13ab16d1cbe72aa6cb51feab3" datatype="html">\n        <source>New directory will be created</source>\n        <target>새로운 디렉토리가 만들어 질 것입니다</target>\n      </trans-unit>\n      <trans-unit id="766c66ad5cc981c531aaf3fe3a2a7a346ddc8d83" datatype="html">\n        <source>Path</source>\n        <target>경로</target>\n      </trans-unit>\n      <trans-unit id="7ec35c722a50b976620f22612f7be619c12ceb90" datatype="html">\n        <source>Path can only be a single \'/\' or a word</source>\n        <target>경로는 하나의 \'/\' 또는 하나의 단어 일 수 있습니다</target>\n      </trans-unit>\n      <trans-unit id="aebb6a5090c24511de4530195694bb3f3dcf0342" datatype="html">\n        <source>New bucket will be created</source>\n        <target>새로운 버킷이 만들어 질 것입니다</target>\n      </trans-unit>\n      <trans-unit id="bee6900143996c0e908a10564532eba3da0b30fb" datatype="html">\n        <source>NFS Protocol</source>\n        <target>NFS 프로토콜</target>\n      </trans-unit>\n      <trans-unit id="2f534178c01ebf1307da2eaeef04bc6801ebc729" datatype="html">\n        <source>NFSv3</source>\n        <target>NFSv3</target>\n      </trans-unit>\n      <trans-unit id="f5043c0921e709935ab026bb3253ffe1f159fca1" datatype="html">\n        <source>NFSv4</source>\n        <target>NFSv4</target>\n      </trans-unit>\n      <trans-unit id="92488963d23095985a47c0d6e62304e11d333f19" datatype="html">\n        <source>NFS Tag</source>\n        <target>NFS 태크</target>\n      </trans-unit>\n      <trans-unit id="aae93362720aea94623682996dd3fcd0f906f056" datatype="html">\n        <source>Alternative access for \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v3\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> mounts (it must not have a leading /).\n        </source>\n        <target>Alternative access for \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v3\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> mounts (it must not have a leading /).\n        </target>\n      </trans-unit>\n      <trans-unit id="45d6db77dcf1a3eeb921033abc7882e517a541cc" datatype="html">\n        <source>Clients may not mount subdirectories (i.e. if Tag = foo, the client may not mount foo/baz).</source>\n        <target>클라이언트는 하위 디렉토리를 마운트 할 수 없습니다 (즉, Tag = foo 인 경우 클라이언트가 foo / baz를 마운트하지 못할 수 있습니다).</target>\n      </trans-unit>\n      <trans-unit id="a1c7a8676b55e882a97c6a6fb205204f9c761afa" datatype="html">\n        <source>By using different Tag options, the same Path may be exported multiple times.</source>\n        <target>다른 태그 옵션을 사용하면 같은 경로를 여러 번 내보낼 수 있습니다.</target>\n      </trans-unit>\n      <trans-unit id="6d2c39708a32910f89701dd7e1cfb9ec1c195768" datatype="html">\n        <source>Pseudo</source>\n        <target>Pseudo</target>\n      </trans-unit>\n      <trans-unit id="1f8be2ae25947bec0b84c2338201580ea053f34e" datatype="html">\n        <source>The position that this \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v4\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> export occupies\n                in the \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>Pseudo FS\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> (it must be unique).\n        </source>\n        <target>The position that this \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v4\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> export occupies\n                in the \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>Pseudo FS\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> (it must be unique).\n        </target>\n      </trans-unit>\n      <trans-unit id="f3af55f7fd5b1d9e5a53e030c80116dc635bfb9f" datatype="html">\n        <source>By using different Pseudo options, the same Path may be exported multiple times.</source>\n        <target>다른 Pseudo 옵션을 사용하면 동일한 경로를 여러 번 내보낼 수 있습니다.</target>\n      </trans-unit>\n      <trans-unit id="ddf98fcdeeb17643db020d54f42b5e56b5f9a52a" datatype="html">\n        <source>Pseudo needs to start with a \'/\' and can\'t contain any of the following: &gt;, &lt;, |, &amp;, ( or ).</source>\n        <target>Pseudo needs to start with a \'/\' and can\'t contain any of the following: &gt;, &lt;, |, &amp;, ( or ).</target>\n      </trans-unit>\n      <trans-unit id="27eb35c4b4ac08781a7253a2ab40f8f7d957ba51" datatype="html">\n        <source>-- No access type available --</source>\n        <target>-- 사용가능한 접근형태 없음 --</target>\n      </trans-unit>\n      <trans-unit id="509ce016c9110a54028dafd741f15ceacbe74b5a" datatype="html">\n        <source>-- Select the access type --</source>\n        <target>-- 접근형태 선택 --</target>\n      </trans-unit>\n      <trans-unit id="49850390a653cd05dc5843d74ef073a9122b54c9" datatype="html">\n        <source>The Object Gateway NFS backend has a number of\n              limitations which will seriously affect applications writing to\n              the share. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for details before enabling write access.\n        </source>\n        <target>The Object Gateway NFS backend has a number of\n              limitations which will seriously affect applications writing to\n              the share. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for details before enabling write access.\n        </target>\n      </trans-unit>\n      <trans-unit id="4deda03573eaaff77e63f6a238a1f0ca7816950a" datatype="html">\n        <source>-- No squash available --</source>\n        <target>-- 사용가능한 squash 없음 --</target>\n      </trans-unit>\n      <trans-unit id="a0e82a4da88e7fdf270444f838d45849676e9d4b" datatype="html">\n        <source>--Select what kind of user id squashing is performed --</source>\n        <target>-- 어떤 종류의 사용자 ID 스쿼시가 수행되는지 선택하세요 --</target>\n      </trans-unit>\n      <trans-unit id="d01b7c3f7f06712c53d054cfbe4f53d446b038e8" datatype="html">\n        <source>Transport Protocol</source>\n        <target>전송프로토콜</target>\n      </trans-unit>\n      <trans-unit id="d2a6ad6e8bc315f07911722c05767ac79c136d99" datatype="html">\n        <source>UDP</source>\n        <target>UDP</target>\n      </trans-unit>\n      <trans-unit id="9c030f11e0aae9b24d2c048c57f29f590be621df" datatype="html">\n        <source>TCP</source>\n        <target>TCP</target>\n      </trans-unit>\n      <trans-unit id="734c9905951a774870497c5aaae8e3ee833b6196" datatype="html">\n        <source>CephFS</source>\n        <target>CephFS</target>\n      </trans-unit>\n      <trans-unit id="449dca3d3a93ead418b0541ea81b0dda7e6483c2" datatype="html">\n        <source>Welcome to Ceph!</source>\n        <target>Ceph 사용을 환영합니다.</target>\n        <note>The welcome message on the login page</note>\n      </trans-unit>\n      <trans-unit id="0070e83d11da39d6f4bb95065c2675db1610b419" datatype="html">\n        <source>Username is required</source>\n        <target>사용자이름이 필요합니다</target>\n      </trans-unit>\n      <trans-unit id="1e20f8b8a4706526c9024cc2f39d568345d100dc" datatype="html">\n        <source>Password is required</source>\n        <target>암호가 필요합니다</target>\n      </trans-unit>\n      <trans-unit id="6765b4c916060f6bc42d9bb69e80377dbcb5e4e9" datatype="html">\n        <source>Login</source>\n        <target>로그인</target>\n      </trans-unit>\n      <trans-unit id="58fc1b5c79a75370eb52644fd83fb2e7096b6649" datatype="html">\n        <source>Sorry, the user does not exist in Ceph.</source>\n        <target>미안합니다. 사용자가 Ceph내에 존재하지 않습니다.</target>\n      </trans-unit>\n      <trans-unit id="d9deb94f78e7c41b35c6622b874f06657d7604c1" datatype="html">\n        <source>Return to \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Login Page\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You\'ll be logged out from the Identity Provider when you retry logging in.\n        </source>\n        <target>Return to \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Login Page\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You\'ll be logged out from the Identity Provider when you retry logging in.\n        </target>\n      </trans-unit>\n      <trans-unit id="0eb15f32b2b92d7f3103ef3ff032621888a8dc32" datatype="html">\n        <source>Old password</source>\n        <target>Old password</target>\n      </trans-unit>\n      <trans-unit id="1cf42e491adc166a337a960eb84d03c0c3f677c8" datatype="html">\n        <source>The old and new passwords must be different.</source>\n        <target>The old and new passwords must be different.</target>\n      </trans-unit>\n      <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229" datatype="html">\n        <source>New password</source>\n        <target>New password</target>\n      </trans-unit>\n      <trans-unit id="595ebc9279497f6dc733777e2816bee936901388" datatype="html">\n        <source>Too weak</source>\n        <target>Too weak</target>\n      </trans-unit>\n      <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b" datatype="html">\n        <source>Confirm new password</source>\n        <target>Confirm new password</target>\n      </trans-unit>\n      <trans-unit id="90163a3d3746819aef42e829f4446331232f3b66" datatype="html">\n        <source>Password confirmation doesn\'t match the new password.</source>\n        <target>Password confirmation doesn\'t match the new password.</target>\n      </trans-unit>\n      <trans-unit id="471e78026c258073ba687478dc54c35d9041ea42" datatype="html">\n        <source>Forbidden</source>\n        <target>금지됨</target>\n      </trans-unit>\n      <trans-unit id="02ea8ad57677e3c63f3d7814ca5e6c7b74e360b4" datatype="html">\n        <source>Sorry, you are not allowed to see what you were looking for.</source>\n        <target>미안합니다. 당신이 요청할 것을 열람하는 것이 허락되지 않습니다.</target>\n      </trans-unit>\n      <trans-unit id="e3c028c58f92453d46f09b5adf95b2f013ee0300" datatype="html">\n        <source>Sorry, we could not find what you were looking for</source>\n        <target>미안합니다. 당신이 요청할 것을 찾을 수 없습니다.</target>\n      </trans-unit>\n      <trans-unit id="a949d7e577902d0e5dc5d0971bb0170a21be7728" datatype="html">\n        <source>[object Object]</source>\n        <target>[object Object]</target>\n      </trans-unit>\n      <trans-unit id="ff92fbdec9fdd5054493eeda0d7ee8b450f83e72" datatype="html">\n        <source>RBD Configuration</source>\n        <target>RBD 설정들</target>\n      </trans-unit>\n      <trans-unit id="b62d9efc8eb3b589904f6cb96a0406bbda55673a" datatype="html">\n        <source>Remove the local configuration value. The parent configuration value will be inherited and used instead.</source>\n        <target>로컬 구성 값을 제거하십시오. 상위 구성 값은 계승되고 대신 사용됩니다.</target>\n      </trans-unit>\n      <trans-unit id="963488a1010d46067b238c4ae917fab3907c0a3a" datatype="html">\n        <source>The mininum value is 0</source>\n        <target>최소값은 0입니다.</target>\n      </trans-unit>\n      <trans-unit id="1d8a7c8aea58294a3c57c23af0468ddf0ba0c9c7" datatype="html">\n        <source>Pools List</source>\n        <target>풀 목록들</target>\n      </trans-unit>\n      <trans-unit id="490e15ecc922965b6d8194754c87c5583aa071f3" datatype="html">\n        <source>The name can only consist of alphanumeric characters, dashes and underscores.</source>\n        <target>이름은 영숫자, 대시 및 밑줄로만 구성 될 수 있습니다.</target>\n      </trans-unit>\n      <trans-unit id="9edc2b494e660618af3e5225f68d40b7ca67629c" datatype="html">\n        <source>The chosen erasure code profile name is already in use.</source>\n        <target>선택한 Erasure Code 프로파일 이름이 이미 사용 중입니다.</target>\n      </trans-unit>\n      <trans-unit id="ef9ff0e6227947b48dfab4ac39ade04af758913b" datatype="html">\n        <source>Plugin</source>\n        <target>플러그인</target>\n      </trans-unit>\n      <trans-unit id="dd69b31bce8f630eac1d4762b0bbcf72ce19d193" datatype="html">\n        <source>Data chunks (k)</source>\n        <target>데이터 덩어리들 (k)</target>\n      </trans-unit>\n      <trans-unit id="b0d26a6172d32cb81218fe2103c54a818cbc1189" datatype="html">\n        <source>Must be equal to or greater than 2.</source>\n        <target>반드시 2보다 크거나 같아야합니다.</target>\n      </trans-unit>\n      <trans-unit id="dab3a299ead121169b8e08ed618c3b6a2f66691b" datatype="html">\n        <source>Coding chunks (m)</source>\n        <target>코딩 덩어리들 (m)</target>\n      </trans-unit>\n      <trans-unit id="1e2773e5bd4948193f18f2361d663ecc3988c656" datatype="html">\n        <source>Must be equal to or greater than 1.</source>\n        <target>반드시 1보다 크거나 같아야합니다.</target>\n      </trans-unit>\n      <trans-unit id="6cde4c945a49a260c0a47bcc7cd956846930a5f7" datatype="html">\n        <source>Durability estimator (c)</source>\n        <target>내구성 평가(c)</target>\n      </trans-unit>\n      <trans-unit id="af668c2a095a979ea2b4e43cd82c2120ab56c21c" datatype="html">\n        <source>Locality (l)</source>\n        <target>지역 (l)</target>\n      </trans-unit>\n      <trans-unit id="d455a110bf6d2235e314e295ce1dfeee93d3dff2" datatype="html">\n        <source>Crush failure domain</source>\n        <target>크러쉬 실패 도메인</target>\n      </trans-unit>\n      <trans-unit id="b74a495f041f7dd102eee5c0bbc9e03083b538ae" datatype="html">\n        <source>Crush Locality</source>\n        <target>크러쉬 지역</target>\n      </trans-unit>\n      <trans-unit id="a2f14a73f7a6e94479f67423cc51102da8d6f524" datatype="html">\n        <source>None</source>\n        <target>없음</target>\n      </trans-unit>\n      <trans-unit id="2981733b912b693a9dd9d915d6d34f4692cc874a" datatype="html">\n        <source>Technique</source>\n        <target>기술</target>\n      </trans-unit>\n      <trans-unit id="e0098b6e47b04ec817361f384ce81d454ba5c0bb" datatype="html">\n        <source>Packetsize</source>\n        <target>패킷크기</target>\n      </trans-unit>\n      <trans-unit id="c0252cd81ca54d0a2f69ec9ccf4248e73df5aa4a" datatype="html">\n        <source>Crush root</source>\n        <target>크러쉬루트</target>\n      </trans-unit>\n      <trans-unit id="1548d5c76f0406ddd1ba3c557e1e6db22e95b340" datatype="html">\n        <source>Crush device class</source>\n        <target>크러쉬 장치 클래스</target>\n      </trans-unit>\n      <trans-unit id="5e85feb6f9f0334366e46ee09ca6b8df52397432" datatype="html">\n        <source>any</source>\n        <target>모든</target>\n      </trans-unit>\n      <trans-unit id="03d84645f6e019c5a43909bbf2ea1696ee88332c" datatype="html">\n        <source>Directory</source>\n        <target>디렉토리</target>\n      </trans-unit>\n      <trans-unit id="2fecea01ce1d44114ee45144eff6d47a5016a74f" datatype="html">\n        <source>Name...</source>\n        <target>이름...</target>\n      </trans-unit>\n      <trans-unit id="16e113230b6b0d3165e076300880542bac7c8138" datatype="html">\n        <source>The chosen Ceph pool name is already in use.</source>\n        <target>선택한 Ceph 풀이름이 이미 사용중입니다.</target>\n      </trans-unit>\n      <trans-unit id="c75b132bef7b29fa5171768303c4b96e34ccaf68" datatype="html">\n        <source>It\'s not possible to create an RBD pool with \'/\' in the name.\n              Please change the name or remove \'rbd\' from the applications list.</source>\n        <target>It\'s not possible to create an RBD pool with \'/\' in the name.\n              Please change the name or remove \'rbd\' from the applications list.</target>\n      </trans-unit>\n      <trans-unit id="b85c657469e5ec8231c3de99b22f437bc01ffde5" datatype="html">\n        <source>Pool type</source>\n        <target>풀 형태</target>\n      </trans-unit>\n      <trans-unit id="526c5443254c3b126eedb264840ffe827727bfd3" datatype="html">\n        <source>-- Select a pool type --</source>\n        <target>-- 풀 형태 선택 --</target>\n      </trans-unit>\n      <trans-unit id="0aa21053410a94aa61d16985a4e95fd65523430d" datatype="html">\n        <source>Placement groups</source>\n        <target>게재위치 그룹</target>\n      </trans-unit>\n      <trans-unit id="6301f1391d726f8f450bb358058534db19541ca9" datatype="html">\n        <source>At least one placement group is needed!</source>\n        <target>적어도 하나의 게재위치 그룹이 필요함!</target>\n      </trans-unit>\n      <trans-unit id="ba9469a1ce6ed36e039c1f67247c8c81a5c71449" datatype="html">\n        <source>Your cluster can\'t handle this many PGs. Please recalculate the PG amount needed.</source>\n        <target>클러스터는 이 많은 PG들를 처리 할 수 없습니다. 필요한 PG 양을 다시 계산하십시오.</target>\n      </trans-unit>\n      <trans-unit id="80ac68cd883369dac20688bc32b4cb33291b5e50" datatype="html">\n        <source>Calculation help</source>\n        <target>계산 도움말</target>\n      </trans-unit>\n      <trans-unit id="fccbd60493df26705d957ed6c02a3c447894678f" datatype="html">\n        <source>The current PGs settings were calculated for you, you\n                should make sure the values suit your needs before submit.</source>\n        <target>The current PGs settings were calculated for you, you\n                should make sure the values suit your needs before submit.</target>\n      </trans-unit>\n      <trans-unit id="33150f22ce5348aa6c499bd092c3f4f3695d62cc" datatype="html">\n        <source>Crush ruleset</source>\n        <target>크러쉬 룰셋</target>\n      </trans-unit>\n      <trans-unit id="73a6b31116b3cc322af951daa0bafdc169e6c42e" datatype="html">\n        <source>-- Select a crush rule --</source>\n        <target>-- 크러쉬 룰 선택 --</target>\n      </trans-unit>\n      <trans-unit id="92da80699921e89fb19372e25b8d0f3b9fa427fc" datatype="html">\n        <source>Crush rule</source>\n        <target>크러쉬 룰</target>\n      </trans-unit>\n      <trans-unit id="5489e9f96835f469f6f728a00d8efa88ea5bc940" datatype="html">\n        <source>Crush steps</source>\n        <target>크러쉬 단계들</target>\n      </trans-unit>\n      <trans-unit id="54a53b1b402aafff5b992ee9b64e409fbfe9074f" datatype="html">\n        <source>The rule can\'t be used in the current cluster as it has\n                to few OSDs to meet the minimum required OSD by this rule.</source>\n        <target>이 룰에 의하여 최소로 필요로 하는 OSD보다 적은 OSD를 가지고 있기때문에 이 룰은 현재의 클러스터에서는 사용할 수 없습니다.</target>\n      </trans-unit>\n      <trans-unit id="a43b2695131b48b76cebba676aba98a2bee17515" datatype="html">\n        <source>Replicated size</source>\n        <target>복제되는 크기</target>\n      </trans-unit>\n      <trans-unit id="7bff144a4c4dc63b0e18fff2617d61a7ebdf2b6c" datatype="html">\n        <source>Minimum: \n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/>\n        </source>\n        <target>Minimum: \n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="1a9c54b41f6d58a74e5d0aa3429ed0c87a482551" datatype="html">\n        <source>Maximum: \n          <x id="INTERPOLATION" equiv-text="{{ getMaxSize() }}"/>\n        </source>\n        <target>Maximum: \n          <x id="INTERPOLATION" equiv-text="{{ getMaxSize() }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6ab647b95bd2347ae6f4605576de5e0269fb893a" datatype="html">\n        <source>The size specified is out of range. A value from\n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/> to \n          <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.\n        </source>\n        <target>The size specified is out of range. A value from\n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/> to \n          <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.\n        </target>\n      </trans-unit>\n      <trans-unit id="9de7dde00e2139cc4bd03b1837afbe72ad15a1ff" datatype="html">\n        <source>Erasure code profile</source>\n        <target>Erasure Code 프로파일</target>\n      </trans-unit>\n      <trans-unit id="39b4620e6bd444e0a57a0a5c03fa8c96d7fe5235" datatype="html">\n        <source>-- No erasure code profile available --</source>\n        <target>-- 사용가능한 Erasure Code 프로파일 없음 --</target>\n      </trans-unit>\n      <trans-unit id="498561757390d5528b263ce450d5f38efb00266d" datatype="html">\n        <source>-- Select an erasure code profile --</source>\n        <target>-- 한개의 Erasure Code 프로파일 선택 --</target>\n      </trans-unit>\n      <trans-unit id="920617c6a1a4805e53bcb5af6a9c76f8387e89c6" datatype="html">\n        <source>Flags</source>\n        <target>플레그들</target>\n      </trans-unit>\n      <trans-unit id="1c870fb00256b8a5b9cb9cd1a124e6390b9bc639" datatype="html">\n        <source>EC Overwrites</source>\n        <target>EC 덮어쓰기</target>\n      </trans-unit>\n      <trans-unit id="f1abafaeb40ce52355ddcc24686e3cd17b64e08a" datatype="html">\n        <source>Applications</source>\n        <target>응용프로그램들</target>\n      </trans-unit>\n      <trans-unit id="2208d63d5940ce656006a220102b1eb2b5e553da" datatype="html">\n        <source>Compression</source>\n        <target>압축</target>\n      </trans-unit>\n      <trans-unit id="37e10df2d9c0c25ef04ac112c9c9a7723e8efae0" datatype="html">\n        <source>Mode</source>\n        <target>양식</target>\n      </trans-unit>\n      <trans-unit id="6c6f25c47da62ec597c6057a36ddfc3209811ec5" datatype="html">\n        <source>Algorithm</source>\n        <target>알고리즘</target>\n      </trans-unit>\n      <trans-unit id="4903231d42089325a28892c0fde1aed46b733ae6" datatype="html">\n        <source>-- No erasure compression algorithm available --</source>\n        <target>-- 이용가능한 Erasure 압축알고리즘 없음 --</target>\n      </trans-unit>\n      <trans-unit id="5d68ddb254275f8f44221e9ad6d8ceeb59ca46a6" datatype="html">\n        <source>Minimum blob size</source>\n        <target>최소 blob 크기</target>\n      </trans-unit>\n      <trans-unit id="fb2f176df80647137cbb02bbeb29e5dec707a400" datatype="html">\n        <source>e.g., 128KiB</source>\n        <target>예) 128KiB</target>\n      </trans-unit>\n      <trans-unit id="1b7f6e53a4521c6eb3ced4c007fdd4cf80bb7707" datatype="html">\n        <source>Value should be greater than 0</source>\n        <target>값은 0보다 커야합니다</target>\n      </trans-unit>\n      <trans-unit id="8db98ab14b4e207ec763dfdefbc2dae367aab1cc" datatype="html">\n        <source>Value should be less than the maximum blob size</source>\n        <target>Value should be less than the maximum blob size</target>\n      </trans-unit>\n      <trans-unit id="151efb127a9a4dd25259a0b2055442318a141f5b" datatype="html">\n        <source>Maximum blob size</source>\n        <target>최대 blob 크기</target>\n      </trans-unit>\n      <trans-unit id="0c656f0e346bbadf46eb1a5d20d0307a3bd20ba8" datatype="html">\n        <source>e.g., 512KiB</source>\n        <target>예) 512KiB</target>\n      </trans-unit>\n      <trans-unit id="0a65a24eee8a026f3b1113fe9e157e9a0dd69486" datatype="html">\n        <source>Value should be greater than the minimum blob size</source>\n        <target>값은 최소 blob 크기보다 커야 합니다</target>\n      </trans-unit>\n      <trans-unit id="261ba09c4a59de83f48f52a23fd328da37e61ff4" datatype="html">\n        <source>Ratio</source>\n        <target>비율</target>\n      </trans-unit>\n      <trans-unit id="c1430457a9c3c66366e51d76bf10396014c576be" datatype="html">\n        <source>Compression ratio</source>\n        <target>압축율</target>\n      </trans-unit>\n      <trans-unit id="ae5ce6de352cde949998fb10754459c3a4eb183b" datatype="html">\n        <source>Value should be between 0.0 and 1.0</source>\n        <target>값은 0.0과 1.0 사이 여야 합니다.</target>\n      </trans-unit>\n      <trans-unit id="8bb8293aa8161433778762ae025ffd5e7c85795e" datatype="html">\n        <source>Quotas</source>\n        <target>Quotas</target>\n      </trans-unit>\n      <trans-unit id="d99b34162c9c34f10d0ccd8dbae83d8569c2db77" datatype="html">\n        <source>Max bytes</source>\n        <target>Max bytes</target>\n      </trans-unit>\n      <trans-unit id="a1d14a18879c62f3f4ed705318b7164a1160e249" datatype="html">\n        <source>Leave it blank or specify 0 to disable this quota.</source>\n        <target>Leave it blank or specify 0 to disable this quota.</target>\n      </trans-unit>\n      <trans-unit id="7565b131562ff6c5f769fdbd239a772154abdd97" datatype="html">\n        <source>A valid quota should be greater than 0.</source>\n        <target>A valid quota should be greater than 0.</target>\n      </trans-unit>\n      <trans-unit id="f0016bd458baa88284a658ce9eeda42d8ad88d2c" datatype="html">\n        <source>e.g., 10GiB</source>\n        <target>예., 100 GiB</target>\n      </trans-unit>\n      <trans-unit id="b8bf35b66f09a301eef92ffc3cb2fd259df67ce9" datatype="html">\n        <source>Max objects</source>\n        <target>Max objects</target>\n      </trans-unit>\n      <trans-unit id="95f348167622d832c5ae532b6944635c8e2ae5cb" datatype="html">\n        <source>The value should be greater or equal to 0</source>\n        <target>The value should be greater or equal to 0</target>\n      </trans-unit>\n      <trans-unit id="fbbaf5cb02ed419e79a27072478f716a4666a99d" datatype="html">\n        <source>Performance Details</source>\n        <target>성능 세부정보들</target>\n      </trans-unit>\n      <trans-unit id="3938a411d76796f8ae73b72ea4c77661207453bd" datatype="html">\n        <source>Cache Tiers Details</source>\n        <target>케쉬 계층들 상세설명들</target>\n      </trans-unit>\n      <trans-unit id="f0b5d789d42c0e69348e5fe0037fcbf5b5fbbdcc" datatype="html">\n        <source>Move an image to trash</source>\n        <target>이미지를 휴지통에 이동</target>\n      </trans-unit>\n      <trans-unit id="86301cf2044b1eda218483365f6b9de8dde5040b" datatype="html">\n        <source>To move \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{ imageName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,\n          click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optionally, you can pick an expiration date.\n        </source>\n        <target>To move \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{ imageName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,\n          click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optionally, you can pick an expiration date.\n        </target>\n      </trans-unit>\n      <trans-unit id="88f27d390844aad53b4240360e928156c5f0d326" datatype="html">\n        <source>Protection expires at</source>\n        <target>보호가 만료되는 </target>\n      </trans-unit>\n      <trans-unit id="da166e9a0d27322f6ba8916d71ecc0f9905bb4b1" datatype="html">\n        <source>NOT PROTECTED</source>\n        <target>보호되지 않음</target>\n      </trans-unit>\n      <trans-unit id="a1506e5f2ca22cad14502ec7a20fb6113ace145d" datatype="html">\n        <source>Wrong date format. Please use "YYYY-MM-DD HH:mm:ss".</source>\n        <target>날짜 형식 오류. "YYYY-MM-DD HH:mm:ss" 형식으로 지정하세요.</target>\n      </trans-unit>\n      <trans-unit id="aa7ea0bb7495281e0b3258467ac7d90a1e44a1a1" datatype="html">\n        <source>Protection has already expired. Please pick a future date or leave it empty.</source>\n        <target>보호기간이 이미 만료되었습니다. 더 미래의 날짜를 선택하거나 공란으로 남겨두세요.</target>\n      </trans-unit>\n      <trans-unit id="536b3205c0c0d4d21685ec06feccfcf2fe14deb1" datatype="html">\n        <source>Move Image</source>\n        <target>이미지 옮기기</target>\n      </trans-unit>\n      <trans-unit id="8a9910cd114c1deb9af74f6f99b4173403965bf2" datatype="html">\n        <source>Gateways</source>\n        <target>Gateways</target>\n      </trans-unit>\n      <trans-unit id="8835b9e49a3348b0a2f2162c21118af1f4bee45a" datatype="html">\n        <source>Must be greater than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'min\'] }}"/>.\n        </source>\n        <target>Must be greater than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'min\'] }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="bbddac59563c8c126e3fe28691e4e247614fcbd1" datatype="html">\n        <source>Must be less than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'max\'] }}"/>.\n        </source>\n        <target>Must be less than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'max\'] }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="e95ae009d0bdb45fcc656e8b65248cf7396080d5" datatype="html">\n        <source>Overview</source>\n        <target>개관</target>\n      </trans-unit>\n      <trans-unit id="bbd2045d5c37e4bb39a3c0fb62ea1ddf70a12838" datatype="html">\n        <source>Targets</source>\n        <target>타겟들</target>\n      </trans-unit>\n      <trans-unit id="6803e31b7395d94934e091a49a9524026b59b018" datatype="html">\n        <source>Discovery Authentication</source>\n        <target>인증 탐색</target>\n      </trans-unit>\n      <trans-unit id="e08a77594f3d89311cdf6da5090044270909c194" datatype="html">\n        <source>User</source>\n        <target>사용자</target>\n      </trans-unit>\n      <trans-unit id="0214f773f8e394f50f953f39962e352d7863e959" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n              can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>사용자이름은 8~64자까지 길이의 문자들을 가져야 하며 그리고, 오직 , \'.\', \'@\', \'-\', \'_\', \':\' 등의 특수 문자들만을 포함가능합니다.</target>\n      </trans-unit>\n      <trans-unit id="c32ef07f8803a223a83ed17024b38e8d82292407" datatype="html">\n        <source>Password</source>\n        <target>암호</target>\n      </trans-unit>\n      <trans-unit id="6682d1c00263bee204583a5d589b308b6be88b0f" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n              and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n              and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="ff40391de7a1944ea95091e4045cc34c4979b736" datatype="html">\n        <source>Mutual User</source>\n        <target>공동 사용자</target>\n      </trans-unit>\n      <trans-unit id="0cf73dbebe99b737c4d288788182fc356e3c93d3" datatype="html">\n        <source>Mutual Password</source>\n        <target>공통 암호</target>\n      </trans-unit>\n      <trans-unit id="8800276925157c666b103c36ff7fe8ffe11980b4" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters and\n              can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters and\n              can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="53a583cd5f15059cc958b7d547f72cc78f68e123" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n    on how to configure and enable the iSCSI Targets management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n    on how to configure and enable the iSCSI Targets management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="3b301d0044f62c92af0da53d7aaca52a436a547d" datatype="html">\n        <source>Available information:</source>\n        <target>이용가능한 정보:</target>\n      </trans-unit>\n      <trans-unit id="332227f088a4877b3c11f5fb3ae8bc812c470fae" datatype="html">\n        <source>iSCSI Targets not available</source>\n        <target>iSCSI 타겟이 이용 불가능합니다.</target>\n      </trans-unit>\n      <trans-unit id="8414a5cb9d71cc1b21b10e4a9d1f2dad558f3361" datatype="html">\n        <source>Discovery authentication</source>\n        <target>Discovery authentication</target>\n      </trans-unit>\n      <trans-unit id="0f6e8f6094b180eaf1f11bc0ffe383f1cdcd059e" datatype="html">\n        <source>Only available for RBD images with \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>fast-diff\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> enabled\n        </source>\n        <target>Only available for RBD images with \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>fast-diff\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> enabled\n        </target>\n      </trans-unit>\n      <trans-unit id="e70fcca5a99575cffef3ff8cbd5e69f06ffd0f1c" datatype="html">\n        <source>Pool</source>\n        <target>풀</target>\n      </trans-unit>\n      <trans-unit id="03cc5b14b0a20d075e9009ff021f4f1660ba348a" datatype="html">\n        <source>Data Pool</source>\n        <target>데이타 풀</target>\n      </trans-unit>\n      <trans-unit id="1b051734b0ee9021991c91b3ed4e81c244322462" datatype="html">\n        <source>Created</source>\n        <target>생성된</target>\n      </trans-unit>\n      <trans-unit id="7faaaa08f56427999f3be41df1093ce4089bbd75" datatype="html">\n        <source>Size</source>\n        <target>크기</target>\n      </trans-unit>\n      <trans-unit id="afdb601c16162f2c798b16a2920955f1cc6a20aa" datatype="html">\n        <source>Objects</source>\n        <target>오브젝트들</target>\n      </trans-unit>\n      <trans-unit id="ceac8e132384322ec778ba760875a6c6897d3e42" datatype="html">\n        <source>Object size</source>\n        <target>객체크기</target>\n      </trans-unit>\n      <trans-unit id="6cdb1fea93d77c07950c0c76c6e0ad79ebbef084" datatype="html">\n        <source>Features</source>\n        <target>특징들</target>\n      </trans-unit>\n      <trans-unit id="0a65771c9a73b9aa609d592fc96a64801a8f40bd" datatype="html">\n        <source>Provisioned</source>\n        <target>준비된</target>\n      </trans-unit>\n      <trans-unit id="84a36cb75660b736773fe36ffa3d54f0f0fe363e" datatype="html">\n        <source>N/A</source>\n        <target>이용불가</target>\n      </trans-unit>\n      <trans-unit id="e5c009342a4e8381f64341d0bb61c2e4685f5a4b" datatype="html">\n        <source>Total provisioned</source>\n        <target>준비된 총계</target>\n      </trans-unit>\n      <trans-unit id="7f6bf8a43ae415f527ac961ea62471b983aaa97b" datatype="html">\n        <source>Striping unit</source>\n        <target>스트라이핑 단위</target>\n      </trans-unit>\n      <trans-unit id="db710e8a8f011923f2d15d713fbae49c38b02b26" datatype="html">\n        <source>Striping count</source>\n        <target>스트라이핑 횟수</target>\n      </trans-unit>\n      <trans-unit id="3a4c2a9e76634ff14a60d52a718296f722d47c67" datatype="html">\n        <source>Parent</source>\n        <target>상위</target>\n      </trans-unit>\n      <trans-unit id="6a209e68d78ffc2cc9c53d2e76158624efab71ad" datatype="html">\n        <source>Block name prefix</source>\n        <target>블록 이름 접두사</target>\n      </trans-unit>\n      <trans-unit id="5704ec2049d007c5f5fb495a5d8b607e68d58081" datatype="html">\n        <source>Order</source>\n        <target>순서</target>\n      </trans-unit>\n      <trans-unit id="f21b1d17b6c5042bb5805516eee37fde33739dd8" datatype="html">\n        <source>Snapshots</source>\n        <target>스냅삿</target>\n      </trans-unit>\n      <trans-unit id="a5f9ba9bb9faa8284bcadb1cdbc6aaf969e9c4bb" datatype="html">\n        <source>Image</source>\n        <target>이미지</target>\n      </trans-unit>\n      <trans-unit id="58e58f1a8786da9031a05e6770c5dafce82badf5" datatype="html">\n        <source>This setting overrides the global value</source>\n        <target>이 설정은 전역 값을 덮어씁니다.</target>\n      </trans-unit>\n      <trans-unit id="5decb3917d46a9ac6e5813699801becb7c3c1455" datatype="html">\n        <source>Global</source>\n        <target>글로벌</target>\n      </trans-unit>\n      <trans-unit id="36b46714164964c6258b08ed0a25f57d8a950f92" datatype="html">\n        <source>This is the global value. No value for this option has been set for this image.</source>\n        <target>이것은 전역 값입니다. 이 이미지에 대해 이 옵션의 값이 설정되지 않았습니다.</target>\n      </trans-unit>\n      <trans-unit id="6547c9c4d5f62942ac4b1fe459cf9a03d4dbf5a0" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/> from\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/> from\n        </target>\n      </trans-unit>\n      <trans-unit id="0e9ecf29a4fa5b057bd8052e0d801b3fde6a30bf" datatype="html">\n        <source>\'/\' and \'@\' are not allowed.</source>\n        <target>\'/\' 와 \'@\' 문자는 사용불가입니다.</target>\n      </trans-unit>\n      <trans-unit id="b99417c4dd46286ffd37c8d2e987c8b512ec7052" datatype="html">\n        <source>-- No rbd pools available --</source>\n        <target>-- 이용가능한 rbd풀 없음 --</target>\n      </trans-unit>\n      <trans-unit id="ef83ec9c304a89d45650e580dcdc2978c37b3a83" datatype="html">\n        <source>-- Select a pool --</source>\n        <target>-- 풀 선택 --</target>\n      </trans-unit>\n      <trans-unit id="49449943d8cbf59d8c401c8bd2e76f92e207cc5f" datatype="html">\n        <source>Use a dedicated data pool</source>\n        <target>전용 데이타 풀들을 사용하세요</target>\n      </trans-unit>\n      <trans-unit id="870aee0dd31a9643bf62007beb8f1ae1deb34d42" datatype="html">\n        <source>Data pool</source>\n        <target>데이타 풀</target>\n      </trans-unit>\n      <trans-unit id="3792ca829d9b9f687e1f5d7733d30e9bb0bfec47" datatype="html">\n        <source>Dedicated pool that stores the object-data of the RBD.</source>\n        <target>RBD의 객체-데이타를 저장하고 있는 전용 풀</target>\n      </trans-unit>\n      <trans-unit id="0a88bbee20570aaf9615332fb27020627044874d" datatype="html">\n        <source>You have to increase the size.</source>\n        <target>사이즈를 증가시켜야 합니다.</target>\n      </trans-unit>\n      <trans-unit id="bc2e854e111ecf2bd7db170da5e3c2ed08181d88" datatype="html">\n        <source>Advanced</source>\n        <target>자세한</target>\n      </trans-unit>\n      <trans-unit id="3562a3778695a5f9c0445660e35301f0a39aaf73" datatype="html">\n        <source>Striping</source>\n        <target>분산저장</target>\n      </trans-unit>\n      <trans-unit id="ef3c3f3b5f562a5cdbe0ee2874287db1534b5958" datatype="html">\n        <source>Stripe unit</source>\n        <target>분산저장단위</target>\n      </trans-unit>\n      <trans-unit id="84471be1049006edecbcaef1a32ae0893c229c50" datatype="html">\n        <source>-- Select stripe unit --</source>\n        <target>-- 분산저장단위 선택 --</target>\n      </trans-unit>\n      <trans-unit id="8d32c5c54c8581c774a7f467fbd4e329b15a74fa" datatype="html">\n        <source>This field is required because stripe count is defined!</source>\n        <target>분산저장 개수가 정의되어 있으므로 이 필드는 필수입니다!</target>\n      </trans-unit>\n      <trans-unit id="6bbf9040be7c5491d4a03f2185708f43a6582a3b" datatype="html">\n        <source>Stripe unit is greater than object size.</source>\n        <target>분산저장단위는 객체크기보다 커야 합니다.</target>\n      </trans-unit>\n      <trans-unit id="a682f49f9b761591661276d7c6f550e641a130a4" datatype="html">\n        <source>Stripe count</source>\n        <target>분산저장 갯수</target>\n      </trans-unit>\n      <trans-unit id="baa74031990c5370008ba622d0a250f0929097f4" datatype="html">\n        <source>This field is required because stripe unit is defined!</source>\n        <target>분산저장 단위가 정의되어 있으므로 이 필드는 필수입니다!</target>\n      </trans-unit>\n      <trans-unit id="cd2ada6d5ecbd5cbf89eae0a1f5326efedac0dbc" datatype="html">\n        <source>Stripe count must be greater than 0.</source>\n        <target>분산저장 갯수는 반드시 0보다 커야 합니다.</target>\n      </trans-unit>\n      <trans-unit id="3f67f30568e9ae47507d46e28e1e82a7dca772e2" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> RBD Snapshot\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> RBD Snapshot\n        </target>\n      </trans-unit>\n      <trans-unit id="1628d19a4490817c18be2afab410ca4adfa62ea7" datatype="html">\n        <source>{VAR_SELECT, select, true {Rename} other {Create} }</source>\n        <target>{VAR_SELECT, select, true {Rename} other {Create} }</target>\n      </trans-unit>\n      <trans-unit id="73a287b41afe6b28f90edbeb98957a341a0276b4" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> Snapshot\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> Snapshot\n        </target>\n      </trans-unit>\n      <trans-unit id="cb60c1cd3655234756b5b92d4d597d92d520ee30" datatype="html">\n        <source>PROTECTED</source>\n        <target>PROTECTED</target>\n      </trans-unit>\n      <trans-unit id="deffb86b8fb0541254ad5a43862d82bff6b6a6c4" datatype="html">\n        <source>UNPROTECTED</source>\n        <target>보호안됨</target>\n      </trans-unit>\n      <trans-unit id="5c5331983af566d4ac6a1024d15a3511786a4aa6" datatype="html">\n        <source>You are about to rollback</source>\n        <target>롤백하려고 합니다.</target>\n      </trans-unit>\n      <trans-unit id="49c0408946a6d67185947f455f15cc201d0d78e6" datatype="html">\n        <source>Purge Trash</source>\n        <target>휴지통 비우기</target>\n      </trans-unit>\n      <trans-unit id="af728625d769b61acf291442644b89edb88faec3" datatype="html">\n        <source>To purge, select one or All images and click</source>\n        <target>비우기 위해, 하나 또는 모든 이미지들을 선택하고 클릭하세요.</target>\n      </trans-unit>\n      <trans-unit id="55a4f598a4894b7fd5cb88f0ffd3c37ad009dd70" datatype="html">\n        <source>Pool:</source>\n        <target>풀:</target>\n      </trans-unit>\n      <trans-unit id="d43dd2b9f7797e4cf3a604695bb33e4479108516" datatype="html">\n        <source>Pool name...</source>\n        <target>풀 이름:</target>\n      </trans-unit>\n      <trans-unit id="dfc3c34e182ea73c5d784ff7c8135f087992dac1" datatype="html">\n        <source>All</source>\n        <target>모든</target>\n      </trans-unit>\n      <trans-unit id="b0e7c7ed1d51a0c205c815048bc9f79e24ee6db2" datatype="html">\n        <source>Restore Image</source>\n        <target>이미지 복구하기</target>\n      </trans-unit>\n      <trans-unit id="7369384817e0ad61ce871c9afdfbb538df2f97c1" datatype="html">\n        <source>To restore</source>\n        <target>복구를 위해</target>\n      </trans-unit>\n      <trans-unit id="e7f0abefc608f7fb452c2dc9b1cdc3dec432160e" datatype="html">\n        <source>type the image\'s new name and click</source>\n        <target>이미지들의 새로운 이름을 입력하고 클릭하세요</target>\n      </trans-unit>\n      <trans-unit id="41307dd56fea669eed72e12a6c23af275f6bfd82" datatype="html">\n        <source>New Name</source>\n        <target>새로운 이름</target>\n      </trans-unit>\n      <trans-unit id="5c96a761dc55a21882c132c929583a424c9b8cf4" datatype="html">\n        <source>Expired at</source>\n        <target>폐기될</target>\n      </trans-unit>\n      <trans-unit id="661041e3fcff4d3e75c561e038ca2504cf2cc643" datatype="html">\n        <source>Protected until</source>\n        <target>까지 보호됨</target>\n      </trans-unit>\n      <trans-unit id="0ee3b2322a1d3277f7e3fdb8a5141ac42bcf350b" datatype="html">\n        <source>This image is protected until \n          <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.\n        </source>\n        <target>This image is protected until \n          <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="aba82bfd8e177d35b76cad7cd43941f8e5e5acac" datatype="html">\n        <source>Trash</source>\n        <target>휴지통</target>\n      </trans-unit>\n      <trans-unit id="a674ab267d1934bf395f87ca1503fd474296893f" datatype="html">\n        <source>iSCSI Topology</source>\n        <target>iSCSI 토폴로지</target>\n      </trans-unit>\n      <trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html">\n        <source>Settings</source>\n        <target>설정들</target>\n      </trans-unit>\n      <trans-unit id="9e515f954730279c31d5301f02479666d6264e8b" datatype="html">\n        <source>Changing these parameters from their default values is usually not necessary.</source>\n        <target>기본설정 값들로 부터 인자를 변경하는 것은 일반적으로 필요하지 않습니다.</target>\n      </trans-unit>\n      <trans-unit id="69a47cbabcc51ca942606e1d8da0ec11f98a2690" datatype="html">\n        <source>Backstore</source>\n        <target>백스토어</target>\n      </trans-unit>\n      <trans-unit id="68e710782ccb5398b3acb8844caf0b199da2c3da" datatype="html">\n        <source>Confirm</source>\n        <target>확인</target>\n      </trans-unit>\n      <trans-unit id="339878da255ab55447c43afef8d9b2f9753bf5f6" datatype="html">\n        <source>Advanced Settings</source>\n        <target>고급설정들</target>\n      </trans-unit>\n      <trans-unit id="1406c2fb12a20c1528b19bcc5e24a6a2386167f3" datatype="html">\n        <source>Target IQN</source>\n        <target>타겟 IQN</target>\n      </trans-unit>\n      <trans-unit id="5fe42339be910372fa689f559155631862d218e8" datatype="html">\n        <source>IQN has wrong pattern.</source>\n        <target>IQN이 잘못된 패턴을 가지고 있습니다.</target>\n      </trans-unit>\n      <trans-unit id="050a7ff057d1e895357540406b6be5652b4d1c71" datatype="html">\n        <source>An IQN has the following notation\n                \'iqn.$year-$month.$reversedAddress:$definedName\'</source>\n        <target>An IQN has the following notation\n                \'iqn.$year-$month.$reversedAddress:$definedName\'</target>\n      </trans-unit>\n      <trans-unit id="c8ada4b53396d8366db00a435acc61d53d857047" datatype="html">\n        <source>For example: iqn.2016-06.org.dashboard:storage:disk.sn-a8675309</source>\n        <target>Key\n예를들면: iqn.2016-06.org.dashboard:storage:disk.sn-a8675309</target>\n      </trans-unit>\n      <trans-unit id="e60c11e1b1dfbbeda577364b8de39ded2d796c5e" datatype="html">\n        <source>More information</source>\n        <target>추가 정보</target>\n      </trans-unit>\n      <trans-unit id="9b1aa85dfc6849196e64060db02c5410de69b7a1" datatype="html">\n        <source>This target has modified advanced settings.</source>\n        <target>이 타겟은 고급설정들을 수정했습니다.</target>\n      </trans-unit>\n      <trans-unit id="6990ad8d6182662e864495ac31c3758cda1c7a28" datatype="html">\n        <source>Portals</source>\n        <target>포털</target>\n      </trans-unit>\n      <trans-unit id="c3638c01b6c34066438909713ec96087c813fc7e" datatype="html">\n        <source>At least \n          <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.\n        </source>\n        <target>At least \n          <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.\n        </target>\n      </trans-unit>\n      <trans-unit id="6a3ac2b4137d723fd9878cd357c2012ff6c07973" datatype="html">\n        <source>Add portal</source>\n        <target>포털 추가</target>\n      </trans-unit>\n      <trans-unit id="9aff25be088f0efe3eaaf62edf2bff41cc41a617" datatype="html">\n        <source>Backstore: \n          <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. \n        </source>\n        <target>Backstore: \n          <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. \n        </target>\n      </trans-unit>\n      <trans-unit id="e3484cae8b118c576ca2815bf9c9406c2eb2cae3" datatype="html">\n        <source>This image has modified settings.</source>\n        <target>이 이미지는 설정들을 수정했습니다. </target>\n      </trans-unit>\n      <trans-unit id="107c84e820909b44fe258673938a68ced1bbff72" datatype="html">\n        <source>At least 1 image is required.</source>\n        <target>적어도 1 이미지는 필수적입니다.</target>\n      </trans-unit>\n      <trans-unit id="808038f912fdc7f0e03f82d4afd3bf9178527fc8" datatype="html">\n        <source>Add image</source>\n        <target>이미지 추가</target>\n      </trans-unit>\n      <trans-unit id="66c5fb27f52e75b70ca4b670b9b15a2a51cf9543" datatype="html">\n        <source>ACL authentication</source>\n        <target>ACL 인증</target>\n      </trans-unit>\n      <trans-unit id="419c8b402609dcf49ae4932a5a4647dc8d79bbaf" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n                can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Usernames must have a length of 8 to 64 characters and\n                can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</target>\n      </trans-unit>\n      <trans-unit id="938050960d6653fddfcfd42425e18fb35a308262" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n                and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n                and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="f494bd31f095f6dcc656ce87ec2dcf07a2e9b30c" datatype="html">\n        <source>Initiators</source>\n        <target>개시자들</target>\n      </trans-unit>\n      <trans-unit id="e98239d8a6be1100119ff4b5630c822b82786740" datatype="html">\n        <source>Initiator</source>\n        <target>개시자들</target>\n      </trans-unit>\n      <trans-unit id="f2c5059d8cda15d8d03e2cce30f2d139623d9a91" datatype="html">\n        <source>Client IQN</source>\n        <target>클라이언트 IQN</target>\n      </trans-unit>\n      <trans-unit id="107d5aabce23d900f0a80e6ddc1c10e29aa0bed8" datatype="html">\n        <source>Initiator IQN needs to be unique.</source>\n        <target>개시자 IQN은 유일해야 합니다.</target>\n      </trans-unit>\n      <trans-unit id="bbf0b34a3fcc80800fcb44b9e1e86931a530dfe3" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n                        can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>사용자이름은 8~64자까지 길이의 문자들을 가져야 하며 그리고, 오직 , \'.\', \'@\', \'-\', \'_\', \':\' 등의 특수 문자들만 포함이 가능합니다.</target>\n      </trans-unit>\n      <trans-unit id="fdfee5d7a27e1bdd97a176097277bee078de6aaf" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n                        and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n                        and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="8406eb7415ee40e54d9ecb209abb056f06e3d666" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters and\n                        can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters and\n                        can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="5d1878d5fc761cbe9614bfd87047a740c82a6951" datatype="html">\n        <source>Initiator belongs to a group. Images will be configure in the group.</source>\n        <target>개시자는 하나의 그룹에 속해야 하고, 이미지는 그룹안에서 설정합니다.</target>\n      </trans-unit>\n      <trans-unit id="c0de67b9d97fafbf200f9451e8388ee8128a56ac" datatype="html">\n        <source>No items added.</source>\n        <target>추가된 아이템들이 없음</target>\n      </trans-unit>\n      <trans-unit id="d565e47726158e428ecdc952fc9233b9b7d7f049" datatype="html">\n        <source>Add initiator</source>\n        <target>게시자 추가</target>\n      </trans-unit>\n      <trans-unit id="c22ba03540aa3217da059f45e7eab138b51a96e2" datatype="html">\n        <source>Groups</source>\n        <target>그룹들</target>\n      </trans-unit>\n      <trans-unit id="4c90059afafb7e160384d9f512797c95bb95c6dc" datatype="html">\n        <source>Group</source>\n        <target>그룹</target>\n      </trans-unit>\n      <trans-unit id="3084948274cff4f56d0f431af47240e9cf02fcc7" datatype="html">\n        <source>Add group</source>\n        <target>그룹추가</target>\n      </trans-unit>\n      <trans-unit id="66db799d67958d4b0765181d072df62e2d1c16f5" datatype="html">\n        <source>Issues</source>\n        <target>이슈들</target>\n      </trans-unit>\n      <trans-unit id="ef06d69259e587e28d52372455f44c7153cda7e7" datatype="html">\n        <source>Syncing</source>\n        <target>동기화중</target>\n      </trans-unit>\n      <trans-unit id="0b0901877d837d3fda16ba161eb74368d1c75b7a" datatype="html">\n        <source>Ready</source>\n        <target>준비됨</target>\n      </trans-unit>\n      <trans-unit id="4057c56d63a7e9b140b1d01871a9229a5f30eb27" datatype="html">\n        <source>Edit pool mirror mode</source>\n        <target>풀 미러모드를 편집하기</target>\n      </trans-unit>\n      <trans-unit id="e1f367f5feaab38f6637dd1f967c848b447dea2d" datatype="html">\n        <source>To edit the mirror mode for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>, select a new mode from the list and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>To edit the mirror mode for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>, select a new mode from the list and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="32ca348ef926b0a6a7a780b8b64c3a8239895cec" datatype="html">\n        <source>Peer clusters must be removed prior to disabling mirror.</source>\n        <target>상대방 클러스터들은 미러를 단절하기 전에 반드시 제거되어야 합니다.</target>\n      </trans-unit>\n      <trans-unit id="fa61522d482349707fd7dd03b90dc5781611b17f" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/>\n  pool mirror peer\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/>\n  pool mirror peer\n        </target>\n      </trans-unit>\n      <trans-unit id="4ddcb416c1c0aa1f54acf5beef1de81813e76fa6" datatype="html">\n        <source>{VAR_SELECT, select, edit {Edit} other {Add} }</source>\n        <target>{VAR_SELECT, select, edit {Edit} other {Add} }</target>\n      </trans-unit>\n      <trans-unit id="59ca65ece457429d90104ede4674965f62edbabe" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/> the pool\n          mirror peer attributes for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> and click\n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Submit\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/> the pool\n          mirror peer attributes for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> and click\n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Submit\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="d3cc964811f852a168f4a2d5daa59068abc5cf53" datatype="html">\n        <source>Cluster Name</source>\n        <target>클러스터 이름</target>\n      </trans-unit>\n      <trans-unit id="b631721fc56cb7fb1cbd07b802a487c5753f6a2d" datatype="html">\n        <source>The cluster name is not valid.</source>\n        <target>클러스터 이름이 유효하지 않습니다.</target>\n      </trans-unit>\n      <trans-unit id="ca6deafa31bf421f85094807982aee4bcb20a3ae" datatype="html">\n        <source>CephX ID</source>\n        <target>CephX 아이디</target>\n      </trans-unit>\n      <trans-unit id="7539188a568c3d553cbde1bacaf32310c4264e24" datatype="html">\n        <source>CephX ID...</source>\n        <target>CephX 아이디...</target>\n      </trans-unit>\n      <trans-unit id="a1c45b594b0fba22fc64e80c793a7ffe005fdb0e" datatype="html">\n        <source>The CephX ID is not valid.</source>\n        <target>CephX 아이디가 유효하지 않습니다.</target>\n      </trans-unit>\n      <trans-unit id="20861576fcfce773c918c782cd4f5adf32382921" datatype="html">\n        <source>Monitor Addresses</source>\n        <target>모니터 주소들</target>\n      </trans-unit>\n      <trans-unit id="fa28eeed2b4bd4ccbe6e9349a1c2b3cb1c5de70a" datatype="html">\n        <source>Comma-delimited addresses...</source>\n        <target>콤마로 분리된 주소들...</target>\n      </trans-unit>\n      <trans-unit id="dc016c82fd85848d5c1b2fd0e8469ee2027d9c16" datatype="html">\n        <source>The monitory address is not valid.</source>\n        <target>모니터 주소가 유효하지 않습니다.</target>\n      </trans-unit>\n      <trans-unit id="e0ac55b83dc6739e62bc655cfe375b67c93e7f4a" datatype="html">\n        <source>CephX Key</source>\n        <target>CephX 키</target>\n      </trans-unit>\n      <trans-unit id="f53434bcb95bd86f1df9c8e22966f757614fc4ad" datatype="html">\n        <source>Base64-encoded key...</source>\n        <target>Base64로 인코딩 된 키 ...</target>\n      </trans-unit>\n      <trans-unit id="4cd83164cd4f66b4abc2863f9ce6f599d789e4ca" datatype="html">\n        <source>CephX key must be base64 encoded.</source>\n        <target>CephX 키는 반드시 base64로 인코드 되어야 합니다.</target>\n      </trans-unit>\n      <trans-unit id="ca53d681a9892d6fdbb57ee9676582186515e961" datatype="html">\n        <source>Performance counters not available</source>\n        <target>성능 카운터들을 사용 할 수 없음</target>\n      </trans-unit>\n      <trans-unit id="9424badb7e0c6ac792d020d7830645b529a80aad" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the Object Gateway management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the Object Gateway management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="479488ab6e91ecb375484edc78bee3d13467f33f" datatype="html">\n        <source>Daemons List</source>\n        <target>데몬 목록들</target>\n      </trans-unit>\n      <trans-unit id="eeba399c4dae8d4890c27b7a2cd2dc28fcf8b5f9" datatype="html">\n        <source>Performance Counters</source>\n        <target>성능 카운터</target>\n      </trans-unit>\n      <trans-unit id="5f67f2247b9c6bbaf24a0f2d37f4ac0537c6fa53" datatype="html">\n        <source>Loading bucket data...</source>\n        <target>버킷데이타 적재 중</target>\n      </trans-unit>\n      <trans-unit id="2798cc1e152b1ec07fd8daf94a2a073d1ba1ebcc" datatype="html">\n        <source>Id</source>\n        <target>아이디</target>\n      </trans-unit>\n      <trans-unit id="db4e1a734518691b128ef40b939cc673f01d03a6" datatype="html">\n        <source>The value is not valid.</source>\n        <target>값이 유효하지 않습니다.</target>\n      </trans-unit>\n      <trans-unit id="eabb4db920d9f9b2480cf438468b86e1bea02a9b" datatype="html">\n        <source>The chosen name is already in use.</source>\n        <target>선택한 이름이 이미 사용중입니다.</target>\n      </trans-unit>\n      <trans-unit id="0ee5132a8da30e0b7f9f5c70dbc91928d17dd909" datatype="html">\n        <source>Owner</source>\n        <target>소유자</target>\n      </trans-unit>\n      <trans-unit id="8e4c918357c7445fbf19a203e5f0f0ece1960b3b" datatype="html">\n        <source>-- Select a user --</source>\n        <target>-- 사용자 선택 --</target>\n      </trans-unit>\n      <trans-unit id="a4aab1f837bc8ec222e4f25922465d1c5929a1fc" datatype="html">\n        <source>Placement target</source>\n        <target>Placement target</target>\n      </trans-unit>\n      <trans-unit id="6bae0a7fc2c9c1fde7d937a8a1a3c7e6825cf7d1" datatype="html">\n        <source>-- Select a placement target --</source>\n        <target>-- Select a placement target --</target>\n      </trans-unit>\n      <trans-unit id="efeade5060b3add63863c24871f0830fb16b7e6d" datatype="html">\n        <source>Versioning</source>\n        <target>Versioning</target>\n      </trans-unit>\n      <trans-unit id="f50a33d3c339f8f4a465141f8caa5d2d8c005251" datatype="html">\n        <source>Enabled</source>\n        <target>이용가능</target>\n      </trans-unit>\n      <trans-unit id="016d24e069e7d505a090fb8243e5cd43b35dc39b" datatype="html">\n        <source>Enables versioning for the objects in the bucket.</source>\n        <target>Enables versioning for the objects in the bucket.</target>\n      </trans-unit>\n      <trans-unit id="92f3f203270a29b3001871153f02c063484a1574" datatype="html">\n        <source>Suspended</source>\n        <target>유예되다.</target>\n      </trans-unit>\n      <trans-unit id="cd6a798fd0f85cd7e31a57c58074f25035d7850d" datatype="html">\n        <source>Disables versioning for the objects in the bucket.</source>\n        <target>Disables versioning for the objects in the bucket.</target>\n      </trans-unit>\n      <trans-unit id="45cc8ca94b5a50842a9a8ef804a5ab089a38ae5c" datatype="html">\n        <source>ID</source>\n        <target>아이디</target>\n      </trans-unit>\n      <trans-unit id="e5c51963a9c553b29427ef783bbb69fa6634fa8c" datatype="html">\n        <source>Index type</source>\n        <target>색인형식</target>\n      </trans-unit>\n      <trans-unit id="8e6f950a32eaea32ec7e192f9ca3d3dfe469d4ba" datatype="html">\n        <source>Placement rule</source>\n        <target>위치규칙</target>\n      </trans-unit>\n      <trans-unit id="6972d213e31c4ea4f887e60db99d9881bc8fcd3e" datatype="html">\n        <source>Marker</source>\n        <target>표시</target>\n      </trans-unit>\n      <trans-unit id="47b02acd2d3254d1ace1926f840523f154ebef71" datatype="html">\n        <source>Maximum marker</source>\n        <target>최대 마커</target>\n      </trans-unit>\n      <trans-unit id="8fe73a4787b8068b2ba61f54ab7e0f9af2ea1fc9" datatype="html">\n        <source>Version</source>\n        <target>버젼</target>\n      </trans-unit>\n      <trans-unit id="092fa3a7df9168b14d3f83a77a4035e92b92ce15" datatype="html">\n        <source>Master version</source>\n        <target>마스터 버젼</target>\n      </trans-unit>\n      <trans-unit id="97434cc5001d407f90c7447a12d9e8e6848a2aa3" datatype="html">\n        <source>Modification time</source>\n        <target>수정된 시간</target>\n      </trans-unit>\n      <trans-unit id="90fe2e41e7fde38453ce4e619efeea9bc6adea9c" datatype="html">\n        <source>Zonegroup</source>\n        <target>제로그룹</target>\n      </trans-unit>\n      <trans-unit id="649a410bd0ace333d067d8fa22f12bdbdb43533b" datatype="html">\n        <source>Bucket quota</source>\n        <target>버킷 할당량</target>\n      </trans-unit>\n      <trans-unit id="cef1595d040e77cbb4466e60382028d4c2040cac" datatype="html">\n        <source>Maximum size</source>\n        <target>최대 크기</target>\n      </trans-unit>\n      <trans-unit id="aa6fb95c355f172bda303de1ce2f38c251a149cf" datatype="html">\n        <source>Unlimited</source>\n        <target>무제한</target>\n      </trans-unit>\n      <trans-unit id="ee862a800364b4d11f9b8cb9955a28a60f840a45" datatype="html">\n        <source>Maximum objects</source>\n        <target>최대 객체들</target>\n      </trans-unit>\n      <trans-unit id="08c74dc9762957593b91f6eb5d65efdfc975bf48" datatype="html">\n        <source>Username</source>\n        <target>사용자명</target>\n      </trans-unit>\n      <trans-unit id="49c614babd1950adb2be75df4e2c9747286d6adc" datatype="html">\n        <source>-- Select a username --</source>\n        <target>-- 사용자명 선택 --</target>\n      </trans-unit>\n      <trans-unit id="c217ee914725a37e9dd2336c721c8e63e9666bdc" datatype="html">\n        <source>Auto-generate key</source>\n        <target>자동생성된 키</target>\n      </trans-unit>\n      <trans-unit id="2f1c1c0f2bce4c9f92d1a2061e8161cb0006c31a" datatype="html">\n        <source>Access key</source>\n        <target>접근 키</target>\n      </trans-unit>\n      <trans-unit id="b864acb67296a9819c1db0069c4c47d8b5ce8f44" datatype="html">\n        <source>Secret key</source>\n        <target>비밀 키</target>\n      </trans-unit>\n      <trans-unit id="b760f123248930122fc7e7b6b6bf94e376e959c8" datatype="html">\n        <source>Full name</source>\n        <target>전체 이름</target>\n      </trans-unit>\n      <trans-unit id="69b6ac577a19acc39fc0c22342092f327fff2529" datatype="html">\n        <source>Email address</source>\n        <target>전자우편 주소</target>\n      </trans-unit>\n      <trans-unit id="8011e20c5bbe51602d459a860fbf29b599b55edd" datatype="html">\n        <source>System</source>\n        <target>시스템</target>\n      </trans-unit>\n      <trans-unit id="db18a2772988415466a7f75dc42663ce78c9c1d3" datatype="html">\n        <source>Maximum buckets</source>\n        <target>최대 버킷들</target>\n      </trans-unit>\n      <trans-unit id="2c4c62e8ba24601be5cfe7dc5d32c24bbbd4b53c" datatype="html">\n        <source>Subusers</source>\n        <target>보조사용자들</target>\n      </trans-unit>\n      <trans-unit id="17bb3082e6fe5003203ef992a3714172334631a1" datatype="html">\n        <source>Capabilities</source>\n        <target>능력치들</target>\n      </trans-unit>\n      <trans-unit id="36ad38f9c1a1485e09b67778a28af84553290ffb" datatype="html">\n        <source>User quota</source>\n        <target>사용자 할당량</target>\n      </trans-unit>\n      <trans-unit id="2aba1e87039819aca3b70faa9aa848c12bf139ca" datatype="html">\n        <source>Show</source>\n        <target>보기</target>\n      </trans-unit>\n      <trans-unit id="0bcd5ef19af0f1b814141ca8c57df623d8270088" datatype="html">\n        <source>Keys</source>\n        <target>키들</target>\n      </trans-unit>\n      <trans-unit id="f61c6867295f3b53d23557021f2f4e0aa1d0b8fc" datatype="html">\n        <source>Type</source>\n        <target>형태</target>\n      </trans-unit>\n      <trans-unit id="1221ca97d19eaa9a7bc0c5243d5fc5befe1d2314" datatype="html">\n        <source>-- Select a type --</source>\n        <target>-- 형태 선택 --</target>\n      </trans-unit>\n      <trans-unit id="d1b8990332af18f1c5159a6061ca889bcbb28432" datatype="html">\n        <source>Permission</source>\n        <target>권한</target>\n      </trans-unit>\n      <trans-unit id="a08c589f82f69d892307288da14190ae1dd583d5" datatype="html">\n        <source>-- Select a permission --</source>\n        <target>-- 권한 선택 --</target>\n      </trans-unit>\n      <trans-unit id="b2841767821d6b66238c34d07e413b0af67aee92" datatype="html">\n        <source>Subuser</source>\n        <target>보조사용자</target>\n      </trans-unit>\n      <trans-unit id="bd59fc25a7bd98cff3e75117c09697c8a007a514" datatype="html">\n        <source>The chosen subuser ID is already in use.</source>\n        <target>선택한 보조사용자 아이디가 이미 사용중입니다.</target>\n      </trans-unit>\n      <trans-unit id="3d386c357ebcbc04ed05c4babd5a03626f9b1674" datatype="html">\n        <source>read, write</source>\n        <target>읽기, 쓰기</target>\n      </trans-unit>\n      <trans-unit id="84e3e3f9a4f31a039b648c97debf95fcb20f4c4a" datatype="html">\n        <source>full</source>\n        <target>가득찬</target>\n      </trans-unit>\n      <trans-unit id="b6bf81d032a2316464f9df2f0d2f3d753f89f0d3" datatype="html">\n        <source>Swift key</source>\n        <target>스위프트 키</target>\n      </trans-unit>\n      <trans-unit id="1e0c12685d50d47448ceed9423977ef39775c037" datatype="html">\n        <source>Auto-generate secret</source>\n        <target>자동생선된 비밀</target>\n      </trans-unit>\n      <trans-unit id="3d1c7a6004bd5d86a7fa096ae24209e8aa7a53e3" datatype="html">\n        <source>Loading user data...</source>\n        <target>사용자 데이타 적재 중...</target>\n      </trans-unit>\n      <trans-unit id="faa5d834ab28571423d794d32b57998920efb65f" datatype="html">\n        <source>The user data could not be loaded.</source>\n        <target>사용자 데이타를 적재할 수 없습니다.</target>\n      </trans-unit>\n      <trans-unit id="6aaf5d2a304167272ac73e3b1d1c162e16c77858" datatype="html">\n        <source>The chosen user ID is already in use.</source>\n        <target>선택된 사용자 아이디가 이미 사용 중입니다.</target>\n      </trans-unit>\n      <trans-unit id="df441e80db2157f9d272b75de724ba4a82b96b57" datatype="html">\n        <source>This is not a valid email address.</source>\n        <target>이것은 유효한 전자우편 주소가 아닙니다.</target>\n      </trans-unit>\n      <trans-unit id="ca271adf154956b8fcb28f4f50a37acb3057ff7c" datatype="html">\n        <source>The chosen email address is already in use.</source>\n        <target>선택한 전자우편 주소가 이미 사용 중입니다.</target>\n      </trans-unit>\n      <trans-unit id="030197cebe938edf35422e92fe14183d06eb670b" datatype="html">\n        <source>Max. buckets</source>\n        <target>최대 버킷들</target>\n      </trans-unit>\n      <trans-unit id="623ac50f37a26caec6fd7cd519b653e3315cba25" datatype="html">\n        <source>The entered value must be &gt;= 0.</source>\n        <target>입력된 값은 반드시 0보다 커야 합니다.</target>\n      </trans-unit>\n      <trans-unit id="583a219c524155c2314eb06ee29162bb315272a3" datatype="html">\n        <source>S3 key</source>\n        <target>S3 키</target>\n      </trans-unit>\n      <trans-unit id="128d6efb51d9ddc7c0cc695a2deeca5b9523f6e4" datatype="html">\n        <source>There are no subusers.</source>\n        <target>보조사용자가 없습니다.</target>\n      </trans-unit>\n      <trans-unit id="7fd6dfb8ecb982dbc3affb2c2d5414c4f5b6abd2" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ subuserLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ subuserLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="67c746c1ba9dab4351fedc4c7cba4e6d6b0dbc47" datatype="html">\n        <source>S3</source>\n        <target>S3</target>\n      </trans-unit>\n      <trans-unit id="d6819038d608623503918fb2553f53d68231ec3a" datatype="html">\n        <source>There are no keys.</source>\n        <target>키가 없습니다.</target>\n      </trans-unit>\n      <trans-unit id="fc1c1a7140ff6b815a95b65ee2780fdbe1b2b7a1" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ s3keyLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ s3keyLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6ddb5e991a3ecd2659fb520bc5acc81b67e08ddd" datatype="html">\n        <source>Swift</source>\n        <target>스위프트</target>\n      </trans-unit>\n      <trans-unit id="1d01eccdda47fc907c5be35bcb16d2dcd02b0270" datatype="html">\n        <source>There are no capabilities.</source>\n        <target>능력치가 없습니다.</target>\n      </trans-unit>\n      <trans-unit id="043e2ec0036ceadd926fd5e3f93cd6f3565f3648" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.ADD | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.ADD | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6146e13ceca5fa5cc17b771b282fe5955f3d19fa" datatype="html">\n        <source>Unlimited size</source>\n        <target>무제한 크기</target>\n      </trans-unit>\n      <trans-unit id="f6db8aa7c99fdce18edb33dde57729acede2b308" datatype="html">\n        <source>Max. size</source>\n        <target>최대 크기</target>\n      </trans-unit>\n      <trans-unit id="fc630b2093e880fffa19df99d5cd8b87605037f8" datatype="html">\n        <source>Unlimited objects</source>\n        <target>무제한 객체들</target>\n      </trans-unit>\n      <trans-unit id="6cda5a993d06f0bb10048be9d3aba6555aa9f356" datatype="html">\n        <source>Max. objects</source>\n        <target>최대 객체들</target>\n      </trans-unit>\n      <trans-unit id="1ea5c4d8942c00752dcc72e72949c5d9832f6399" datatype="html">\n        <source>Description...</source>\n        <target>세부설명...</target>\n      </trans-unit>\n      <trans-unit id="70f45880fce6ac5d8e468e25e82aefbba8098cfe" datatype="html">\n        <source>Permissions</source>\n        <target>권한들</target>\n      </trans-unit>\n      <trans-unit id="9610487cbeb5796d34d8601b5ac0c0a65f9e1d19" datatype="html">\n        <source>Roles</source>\n        <target>역할들</target>\n      </trans-unit>\n      <trans-unit id="7f3bdcce4b2e8c37cd7f0f6c92ef8cff34b039b8" datatype="html">\n        <source>Confirm password</source>\n        <target>암호 확인</target>\n      </trans-unit>\n      <trans-unit id="cbb979e63ba50e0ca3adfa09cbdcaefd0853fca1" datatype="html">\n        <source>Password confirmation doesn\'t match the password.</source>\n        <target>암호 확인이 암호와 일치하지 않습니다.</target>\n      </trans-unit>\n      <trans-unit id="244aae9346da82b0922506c2d2581373a15641cc" datatype="html">\n        <source>Email</source>\n        <target>전자우편</target>\n      </trans-unit>\n      <trans-unit id="d0ec081dd61eb4f43aea269077bbe38eae87b7f9" datatype="html">\n        <source>Invalid email.</source>\n        <target>유효하지않는 전자우편.</target>\n      </trans-unit>\n      <trans-unit id="0051a3479d3ba79135c16dc8cc017950a2cce821" datatype="html">\n        <source>You are about to remove "user read / update" permissions from your own user.</source>\n        <target>당신의 사용자로부터 "사용자 읽기 / 업데이트"권한을 제거하려고합니다.</target>\n      </trans-unit>\n      <trans-unit id="af4bf9fcb256853f14cf947eb1deb8d7f176d3f9" datatype="html">\n        <source>If you continue, you will no longer be able to add or remove roles from any user.</source>\n        <target>계속하면 모든 사용자에게 역할을 추가하거나 제거 할 수 없게됩니다.</target>\n      </trans-unit>\n      <trans-unit id="7d1dcf2a9146caac0581329acf94806ec69a89a5" datatype="html">\n        <source>Are you sure you want to continue?</source>\n        <target>계속 진행하기를 원하십니까?</target>\n      </trans-unit>\n      <trans-unit id="85b79c9064aed1ead31ace985f31aa1363f6bdaf" datatype="html">\n        <source>Help</source>\n        <target>도움말</target>\n      </trans-unit>\n      <trans-unit id="fcfd4675b4c90f08d18d3abede9a9a4dff4cfdc7" datatype="html">\n        <source>Documentation</source>\n        <target>문서</target>\n      </trans-unit>\n      <trans-unit id="e351b40b3869a5c7d19c3d4918cb1ac7aaab95c4" datatype="html">\n        <source>API</source>\n        <target>API</target>\n      </trans-unit>\n      <trans-unit id="004b222ff9ef9dd4771b777950ca1d0e4cd4348a" datatype="html">\n        <source>About</source>\n        <target>대하여</target>\n      </trans-unit>\n      <trans-unit id="1481ecd21e760ac919a24e26cf790acd82e40199" datatype="html">\n        <source>Dashboard Settings</source>\n        <target>대쉬보드 설정</target>\n      </trans-unit>\n      <trans-unit id="a79aab4ef674bf3f6532292107c0054302236e0f" datatype="html">\n        <source>User management</source>\n        <target>사용자 관리</target>\n      </trans-unit>\n      <trans-unit id="049dfd9fe6c78914ad58cf89ac6a631fca28ec74" datatype="html">\n        <source>Logged in user</source>\n        <target>로그인된 사용자</target>\n      </trans-unit>\n      <trans-unit id="cd38a58e73f306d838e621959d47d5e7a2f06d1f" datatype="html">\n        <source>Signed in as\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ username }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>\n        </source>\n        <target>Signed in as\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ username }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="739516c2ca75843d5aec9cf0e6b3e4335c4227b9" datatype="html">\n        <source>Change password</source>\n        <target>Change password</target>\n      </trans-unit>\n      <trans-unit id="5d22c795daf43877a5f708dca2bccd549eb0471d" datatype="html">\n        <source>Sign out</source>\n        <target>로그아웃</target>\n      </trans-unit>\n      <trans-unit id="91853167141c37b58868f3b0421383dd72fa8a01" datatype="html">\n        <source>Attributes (OSD map)</source>\n        <target>속성들 (OSD 맵)</target>\n      </trans-unit>\n      <trans-unit id="97842f379e1d4157ac3ab0661b90c352e7cb72d5" datatype="html">\n        <source>Metadata not available</source>\n        <target>메타데이타 사용할 수 없음</target>\n      </trans-unit>\n      <trans-unit id="f721a500a68c357e8f2a01e60510f6a01e4ba529" datatype="html">\n        <source>Metadata</source>\n        <target>메타데이타</target>\n      </trans-unit>\n      <trans-unit id="deba10b7279a589d01e919ea11f43c79ca1773e3" datatype="html">\n        <source>Device health</source>\n        <target>Device health</target>\n      </trans-unit>\n      <trans-unit id="d24e28e19c5703d7c6be44f4eb595a6a43b618ed" datatype="html">\n        <source>Performance counter</source>\n        <target>성능 카운터</target>\n      </trans-unit>\n      <trans-unit id="d1f7c81ed9c5034af4abcdf119b1c1e86cd019dd" datatype="html">\n        <source>Histogram not available: \n          <x id="INTERPOLATION" equiv-text="{{ osd.histogram_failed }}"/>\n        </source>\n        <target>Histogram not available: \n          <x id="INTERPOLATION" equiv-text="{{ osd.histogram_failed }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="868abfff914873d1c65df798d8432ed04b8ae2a9" datatype="html">\n        <source>Writes</source>\n        <target>쓰기</target>\n      </trans-unit>\n      <trans-unit id="996ebb9a653b5067f97bf3891ea9d2108e969492" datatype="html">\n        <source>Reads</source>\n        <target>읽기</target>\n      </trans-unit>\n      <trans-unit id="65ac79790aa477a97b1cc579e18a115a8df8918f" datatype="html">\n        <source>Histogram</source>\n        <target>히스토그램</target>\n      </trans-unit>\n      <trans-unit id="26fb5f81b3581f06b9210defb0e71dc69a67e819" datatype="html">\n        <source>Current values</source>\n        <target>현재 값들</target>\n      </trans-unit>\n      <trans-unit id="9abcd7c82643d60c22733470463f74e4a54bc069" datatype="html">\n        <source>Min</source>\n        <target>최소</target>\n      </trans-unit>\n      <trans-unit id="c3ced4d162a0a55ee233a187ce7208ba5e922418" datatype="html">\n        <source>Max</source>\n        <target>최대</target>\n      </trans-unit>\n      <trans-unit id="6834fa6b43d1ecbdf147c48dd9c4d72f1484571d" datatype="html">\n        <source>Source</source>\n        <target>소스</target>\n      </trans-unit>\n      <trans-unit id="a446fb0eb11fbffcac805ece5a2d306d24e733d8" datatype="html">\n        <source>Level</source>\n        <target>수준</target>\n      </trans-unit>\n      <trans-unit id="39f2fb094e9b2eda13163fa3f3a31594cf9c1307" datatype="html">\n        <source>Can be updated at runtime (editable)</source>\n        <target>수행시간에 갱신가능함(편집가능)</target>\n      </trans-unit>\n      <trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b" datatype="html">\n        <source>Tags</source>\n        <target>테크들</target>\n      </trans-unit>\n      <trans-unit id="ab0089ef47af61ca1d137bc908b96c290dfd9287" datatype="html">\n        <source>Enum values</source>\n        <target>열거형 값들</target>\n      </trans-unit>\n      <trans-unit id="819476f1264f1659f38e86f6abb542141b184832" datatype="html">\n        <source>See also</source>\n        <target>추가로 더보기</target>\n      </trans-unit>\n      <trans-unit id="d82a9af5b05e7cd17640f196f163771685ff8df6" datatype="html">\n        <source>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</source>\n        <target>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</target>\n      </trans-unit>\n      <trans-unit id="a185c9b97513b3882604ea9bab60edbfac945c15" datatype="html">\n        <source>SMART overall-health self-assessment test result</source>\n        <target>SMART overall-health self-assessment test result</target>\n      </trans-unit>\n      <trans-unit id="ddd5dd6d930030096ea617f62c82b648a0dd9484" datatype="html">\n        <source>Device Information</source>\n        <target>Device Information</target>\n      </trans-unit>\n      <trans-unit id="79c6bf990ea5b4d83bbf8f9e399f4bd933a1ebfc" datatype="html">\n        <source>S.M.A.R.T</source>\n        <target>S.M.A.R.T</target>\n      </trans-unit>\n      <trans-unit id="05c17e08939cbef1a5df5386263b1701e8d5742e" datatype="html">\n        <source>S.M.A.R.T data is loading.</source>\n        <target>S.M.A.R.T data is loading.</target>\n      </trans-unit>\n      <trans-unit id="73caac4265ea7314ff061e5a1d78a6361a6dd3b8" datatype="html">\n        <source>Cluster Status</source>\n        <target>클러스터 상태</target>\n      </trans-unit>\n      <trans-unit id="1d4bc612bbf19aa9553853266b9e92c9d75f4464" datatype="html">\n        <source>Manager Daemons</source>\n        <target>관리자 데몬들</target>\n      </trans-unit>\n      <trans-unit id="946ac5dea9921dc09d7b0a63b89535371f283b19" datatype="html">\n        <source>Object Gateways</source>\n        <target>오브젝트 게이트웨이들</target>\n      </trans-unit>\n      <trans-unit id="ff03fa5bcf37c4da46ad736c1f7d03f959e8ba9a" datatype="html">\n        <source>Metadata Servers</source>\n        <target>메타데이타 서버들</target>\n      </trans-unit>\n      <trans-unit id="d817609ba4993eba859409ab71e566168f4d5f5a" datatype="html">\n        <source>iSCSI Gateways</source>\n        <target>iSCSI 게이트웨이들</target>\n      </trans-unit>\n      <trans-unit id="42c13e50391250ea9379bdf55d5d6c0228c0c8bc" datatype="html">\n        <source>Client IOPS</source>\n        <target>클라이언트 IOPS</target>\n      </trans-unit>\n      <trans-unit id="52213660b2454d139ada3079a42ec6caf3c3c01e" datatype="html">\n        <source>Client Throughput</source>\n        <target>클라이언트 처리량</target>\n      </trans-unit>\n      <trans-unit id="32efd1c3f70e3c5244239de97a2cc95d98534a14" datatype="html">\n        <source>Client Read/Write</source>\n        <target>클라이언트 읽기/쓰기</target>\n      </trans-unit>\n      <trans-unit id="275485415092cbae3a9f3cbb786ebe283cacfdd5" datatype="html">\n        <source>Recovery Throughput</source>\n        <target>복구 처리량</target>\n      </trans-unit>\n      <trans-unit id="6d9a9f55046891733ef71170e7652063765eb542" datatype="html">\n        <source>Scrub</source>\n        <target>세정작업</target>\n      </trans-unit>\n      <trans-unit id="3cc9c2ae277393b3946b38c088dabff671b1ee1b" datatype="html">\n        <source>Performance</source>\n        <target>성능</target>\n      </trans-unit>\n      <trans-unit id="88f383269db2d32cccee9e936fe549dccb9fdbf4" datatype="html">\n        <source>Raw Capacity</source>\n        <target>원시용량</target>\n      </trans-unit>\n      <trans-unit id="c5f8a813f91a11af99132e4beafc136cfc13d73b" datatype="html">\n        <source>PGs per OSD</source>\n        <target>OSD당 PG들</target>\n      </trans-unit>\n      <trans-unit id="498a109c6e9e94f1966de01aa0326f7f0ac6fb52" datatype="html">\n        <source>PG Status</source>\n        <target>PG 상태들</target>\n      </trans-unit>\n      <trans-unit id="ce9dfdc6dccb28dc75a78c704e09dc18fb02dcfa" datatype="html">\n        <source>Capacity</source>\n        <target>용량</target>\n      </trans-unit>\n      <trans-unit id="44ecac93d67c6a671198091c2270354f80322327" datatype="html">\n        <source>\n          <x id="START_ITALIC_TEXT" ctype="x-i" equiv-text="<i>"/>\n          <x id="CLOSE_ITALIC_TEXT" ctype="x-i" equiv-text="</i>"/> See \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Logs\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more details.\n        </source>\n        <target>\n          <x id="START_ITALIC_TEXT" ctype="x-i" equiv-text="<i>"/>\n          <x id="CLOSE_ITALIC_TEXT" ctype="x-i" equiv-text="</i>"/> See \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Logs\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more details.\n        </target>\n      </trans-unit>\n      <trans-unit id="0c1e17956453ad772dbe82d6946f62748c692f3e" datatype="html">\n        <source>Ranks</source>\n        <target>순위</target>\n      </trans-unit>\n      <trans-unit id="2b24e0b0b1629d2e8a51b9da7c75d6e6379f4bc4" datatype="html">\n        <source>Standbys</source>\n        <target>Standbys</target>\n      </trans-unit>\n      <trans-unit id="50df62325726db950523a5be1c78b8905fcc25d4" datatype="html">\n        <source>MDS performance counters</source>\n        <target>MDS performance counters</target>\n      </trans-unit>\n      <trans-unit id="a7b6508fb834bee9e48e11e4503fbbc2d19204de" datatype="html">\n        <source>Clients: \n          <x id="INTERPOLATION" equiv-text="{{ clients.data.length }}"/>\n        </source>\n        <target>Clients: \n          <x id="INTERPOLATION" equiv-text="{{ clients.data.length }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6e213942c6354b9cbe7a650f0f1499bfc1000fb6" datatype="html">\n        <source>Directories</source>\n        <target>Directories</target>\n      </trans-unit>\n      <trans-unit id="47116253e36f4e38a97ba41b2d3122c6c15ab904" datatype="html">\n        <source>Clients (\n          <x id="INTERPOLATION" equiv-text="{{ clients.length }}"/>)\n        </source>\n        <target>Clients (\n          <x id="INTERPOLATION" equiv-text="{{ clients.length }}"/>)\n        </target>\n      </trans-unit>\n      <trans-unit id="bd5a3b1c5a3c185c7bbb0e09a061d4cdc88ce5ad" datatype="html">\n        <source>Current</source>\n        <target>현재</target>\n      </trans-unit>\n      <trans-unit id="e5e7d62e942083a59b0b31f54e17cd7958186052" datatype="html">\n        <source>Updated discovery authentication</source>\n        <target>업데이트된 검색 인증</target>\n      </trans-unit>\n      <trans-unit id="dd4ab758afd5fd5a6c6a25b2b30ff99d0c00e9ad" datatype="html">\n        <source>There are no portals available.</source>\n        <target>사용가능한 포탈들이 없습니다.</target>\n      </trans-unit>\n      <trans-unit id="83021e45778a4a230a14ca0c6d6ccdf05500ad93" datatype="html">\n        <source>There are no images available.</source>\n        <target>사용가능한 이미지들이 없습니다.</target>\n      </trans-unit>\n      <trans-unit id="86684eb21f8a768e1dbc659e3d5da6861db544a0" datatype="html">\n        <source>There are no images available. Please make sure you add an image to the target.</source>\n        <target>사용할 수있는 이미지가 없습니다. 대상에 이미지를 추가했는지 확인하십시오.</target>\n      </trans-unit>\n      <trans-unit id="fffda6e440078f57eba93944ce051c593cc6ed7f" datatype="html">\n        <source>There are no initiators available. Please make sure you add an initiator to the target.</source>\n        <target>사용할 수있는 개시자가 없습니다. 대상에 개시자를 추가했는지 확인하십시오.</target>\n      </trans-unit>\n      <trans-unit id="cea3c6fe490385eef1584cbc4983fda7ece24bb6" datatype="html">\n        <source>target</source>\n        <target>target</target>\n      </trans-unit>\n      <trans-unit id="38baeb215c17af9d9e295e371a57f4a48ab4c191" datatype="html">\n        <source>Target</source>\n        <target>타겟</target>\n      </trans-unit>\n      <trans-unit id="99e094878070eebc1b972bac02aaa33b2bf83b35" datatype="html">\n        <source># Sessions</source>\n        <target># Sessions</target>\n      </trans-unit>\n      <trans-unit id="c49e0dd71d551bd4928d967d78f0721dbf9f95e3" datatype="html">\n        <source>Target has active sessions</source>\n        <target>Target has active sessions</target>\n      </trans-unit>\n      <trans-unit id="a87acd72dfb68b45175270695209550a85adf50c" datatype="html">\n        <source>iSCSI target</source>\n        <target>iSCSI target</target>\n      </trans-unit>\n      <trans-unit id="873b72903b1858a9cd6c8967521030b4d7d1435b" datatype="html">\n        <source>State</source>\n        <target>상태</target>\n      </trans-unit>\n      <trans-unit id="02b75464c0dc0cf49ea0208211b6fbcad3bf728a" datatype="html">\n        <source># Targets</source>\n        <target># Targets</target>\n      </trans-unit>\n      <trans-unit id="13415637c325ceefee29111b31cb48701490adf7" datatype="html">\n        <source>Read Bytes</source>\n        <target>읽은 바이트들</target>\n      </trans-unit>\n      <trans-unit id="e2ed82b7bbf4a006e60e6208c597b05d5b5556e9" datatype="html">\n        <source>Write Bytes</source>\n        <target>쓰기 바이트들</target>\n      </trans-unit>\n      <trans-unit id="6a32a5f58845ca840185ea9564682094e77a1d80" datatype="html">\n        <source>Read Ops</source>\n        <target>읽기 Ops</target>\n      </trans-unit>\n      <trans-unit id="7c36cb8032af123d3550ffab2e1fa1e957c87fae" datatype="html">\n        <source>Write Ops</source>\n        <target>쓰기 Ops</target>\n      </trans-unit>\n      <trans-unit id="458c33846a8c7e2feb9404bcf06723784e756cdc" datatype="html">\n        <source>A/O Since</source>\n        <target>A/O 이래로</target>\n      </trans-unit>\n      <trans-unit id="ff78f059449d44322f627d0f66df07abe476962b" datatype="html">\n        <source>Instance</source>\n        <target>인스탄스</target>\n      </trans-unit>\n      <trans-unit id="36fad7995cadfb3a6f0d43ef2db280146b3ca022" datatype="html">\n        <source>Issue</source>\n        <target>이슈</target>\n      </trans-unit>\n      <trans-unit id="15793f4cbc261bedbc60f7105533dde536a3f42b" datatype="html">\n        <source>Progress</source>\n        <target>진행중</target>\n      </trans-unit>\n      <trans-unit id="f39256070bfc0714020dfee08895421fc1527014" datatype="html">\n        <source>Disabled</source>\n        <target>설정해제됨</target>\n      </trans-unit>\n      <trans-unit id="8c375764db42f5d736fb56d01b8052c006ccc8e2" datatype="html">\n        <source>Edit Mode</source>\n        <target>편집모드</target>\n      </trans-unit>\n      <trans-unit id="45932f2a0ea524b3425f4320ee46a6d1c68977bc" datatype="html">\n        <source>Add Peer</source>\n        <target>상대방 추가</target>\n      </trans-unit>\n      <trans-unit id="d3dc34662e3cda0dad646221651cebd26f731485" datatype="html">\n        <source>Edit Peer</source>\n        <target>상대방 편집</target>\n      </trans-unit>\n      <trans-unit id="e8a0ec0b6ee72db0f27c186e09640d1ed41964bd" datatype="html">\n        <source>Delete Peer</source>\n        <target>상대방 삭제</target>\n      </trans-unit>\n      <trans-unit id="314de06d6f64d39149e78e6d796585c0246fec0b" datatype="html">\n        <source>Leader</source>\n        <target>리더</target>\n      </trans-unit>\n      <trans-unit id="7acaab450312114059ced9e3737798ee9aa738b1" datatype="html">\n        <source># Local</source>\n        <target># 로컬</target>\n      </trans-unit>\n      <trans-unit id="7a3ffd88868135c44be3994263bb8e49d8358884" datatype="html">\n        <source># Remote</source>\n        <target># 원격</target>\n      </trans-unit>\n      <trans-unit id="85ca0fd6a6ddd211023c70a25753122c5b978787" datatype="html">\n        <source>mirror peer</source>\n        <target>상대방 미러</target>\n      </trans-unit>\n      <trans-unit id="a6493c6ca346cd052da40423eda9c132de2b2002" datatype="html">\n        <source>Key</source>\n        <target>키</target>\n      </trans-unit>\n      <trans-unit id="e9cac80fb5d9de66f0006d0bec530fd1fc69a674" datatype="html">\n        <source>RBD</source>\n        <target>RBD</target>\n      </trans-unit>\n      <trans-unit id="4130b1a836f2000cfe9a11fb62493dc42d444de7" datatype="html">\n        <source>Deep flatten</source>\n        <target>딥 패턴</target>\n      </trans-unit>\n      <trans-unit id="7b17694d7cb8ecb7c8440bc999dac21b44455b33" datatype="html">\n        <source>Layering</source>\n        <target>계층화</target>\n      </trans-unit>\n      <trans-unit id="6a072ce577c2079d0e0c31071a16824f6d22b84d" datatype="html">\n        <source>Exclusive lock</source>\n        <target>배타적인 락</target>\n      </trans-unit>\n      <trans-unit id="7354f01320bf936a7f85577c9f71402635c3a362" datatype="html">\n        <source>Object map (requires exclusive-lock)</source>\n        <target>오프젝트-맵(배타적인-락을 요구한다)</target>\n      </trans-unit>\n      <trans-unit id="fb7e625c1152f1c102cd16460955d124edff1770" datatype="html">\n        <source>Journaling (requires exclusive-lock)</source>\n        <target>저널링(배탁적인-락을 요구합니다.)</target>\n      </trans-unit>\n      <trans-unit id="df4044632bfc211dd96544fc8f007dabbeeb506c" datatype="html">\n        <source>Fast diff (interlocked with object-map)</source>\n        <target>Fast diff (interlocked with object-map)</target>\n      </trans-unit>\n      <trans-unit id="631fc50ec7c9bd81dc797a3c7e09eda1178ad999" datatype="html">\n        <source>Parent image must support Layering</source>\n        <target>Parent image must support Layering</target>\n      </trans-unit>\n      <trans-unit id="7eb984588f4835f6d0187b33769b4b0f62821640" datatype="html">\n        <source>RBD snapshot rollback</source>\n        <target>RBD 스냅샷 롤백</target>\n      </trans-unit>\n      <trans-unit id="4be22bf20ef82614ed53bcd3b912a85590aa71c9" datatype="html">\n        <source>Rollback</source>\n        <target>롤백</target>\n      </trans-unit>\n      <trans-unit id="2a04c483708d261751d62082d6f03a50d4577b1e" datatype="html">\n        <source>RBD snapshot</source>\n        <target>RBD 스냅샷</target>\n      </trans-unit>\n      <trans-unit id="fa96769d1ea86741297cb9b9769b0dcfde58c8b4" datatype="html">\n        <source>Deleted At</source>\n        <target>삭제될 </target>\n      </trans-unit>\n      <trans-unit id="e928864038ca70ee7d67bbf1fd71a01c3938a127" datatype="html">\n        <source>id</source>\n        <target>아이디</target>\n      </trans-unit>\n      <trans-unit id="240c9c1e96dc38814922a83ad041dc815b084f32" datatype="html">\n        <source>type</source>\n        <target>형태</target>\n      </trans-unit>\n      <trans-unit id="c9d7ec7ee5b4e282f2228fa996651ec4ef5195a9" datatype="html">\n        <source>state</source>\n        <target>상태</target>\n      </trans-unit>\n      <trans-unit id="5780e5c3b4fc2ae07836bb5221cec4f8d597630d" datatype="html">\n        <source>version</source>\n        <target>버젼</target>\n      </trans-unit>\n      <trans-unit id="fe22ca53e651df951dac25b67c17894b0980f767" datatype="html">\n        <source>Host</source>\n        <target>호스트</target>\n      </trans-unit>\n      <trans-unit id="fb69299354312c8954ecf324997ccafcd9f6b14b" datatype="html">\n        <source>root</source>\n        <target>루트</target>\n      </trans-unit>\n      <trans-unit id="d34feb369d308075b423d5c5fc431f9766bf7a11" datatype="html">\n        <source>Evicted client "\n          <x id="INTERPOLATION" equiv-text="{{clientId}}"/>"\n        </source>\n        <target>Evicted client "\n          <x id="INTERPOLATION" equiv-text="{{clientId}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="7db875ff4cc626d394f37fba95c075b2e4bfeb00" datatype="html">\n        <source>Standby daemons</source>\n        <target>대기 데몬들</target>\n      </trans-unit>\n      <trans-unit id="3c3a423d91e36ac6624e909fcd2669a25685f847" datatype="html">\n        <source>Rank</source>\n        <target>순위</target>\n      </trans-unit>\n      <trans-unit id="9596ecae8956e96921acef47aec787f6bdc37454" datatype="html">\n        <source>Daemon</source>\n        <target>데몬</target>\n      </trans-unit>\n      <trans-unit id="f2005fa461c06dc2e04d8918bbabedf23604b5b7" datatype="html">\n        <source>Activity</source>\n        <target>활동</target>\n      </trans-unit>\n      <trans-unit id="e3a986984ae0c3b43af648c3fa638649d1c00348" datatype="html">\n        <source>Dentries</source>\n        <target>덴트리들</target>\n      </trans-unit>\n      <trans-unit id="7c692ab865066967d73c6d64ec0691cc6ce91b93" datatype="html">\n        <source>Inodes</source>\n        <target>아이노드들</target>\n      </trans-unit>\n      <trans-unit id="45f210b96a2a6e91f52f153a4f8dc30662629f8e" datatype="html">\n        <source>Usage</source>\n        <target>사용량</target>\n      </trans-unit>\n      <trans-unit id="950b5f04a2efd3f11c0f76418d5a4212381e792e" datatype="html">\n        <source>Origin</source>\n        <target>Origin</target>\n      </trans-unit>\n      <trans-unit id="22e4e574b7f8abf58254f328792445b42e2a924a" datatype="html">\n        <source>The value can be updated at runtime.</source>\n        <target>이 값은 런타임에 업데이트 할 수 있습니다.</target>\n      </trans-unit>\n      <trans-unit id="d7770de7b2343c9deeaa7ebf37ba3e35ca5c5988" datatype="html">\n        <source>Daemons/clients do not pull this value from the\n      monitor config database. We disallow setting this option via \'ceph config\n      set ...\'. This option should be configured via ceph.conf or via the\n      command line.</source>\n        <target>데몬들 / 클라이언트들은 모니터 구성 데이터베이스에서이 값을 가져 오지 않습니다. \'ceph config set ...\'을 통해이 옵션을 설정하는 것은 허락되지 않습니다. 이 옵션은 ceph.conf 또는 명령 줄을 통해 구성해야합니다.</target>\n      </trans-unit>\n      <trans-unit id="83f11fd1dc503c37931ea6c1c5c1e8c2b4b597b6" datatype="html">\n        <source>Option takes effect only during daemon startup.</source>\n        <target>옵션은 데몬 시작 중에 만 적용됩니다.</target>\n      </trans-unit>\n      <trans-unit id="837a07cd6a971038b8b1aa190c43440c9fdb5d8b" datatype="html">\n        <source>Option only affects cluster creation.</source>\n        <target>옵션은 클러스터 생성할 때 만 영향을 줍니다.</target>\n      </trans-unit>\n      <trans-unit id="2566a88eb247c918b71cfe5b354c31de0d4b01e5" datatype="html">\n        <source>Option only affects daemon creation.</source>\n        <target>옵션은 데몬 생성할 때만 영향을줍니다.</target>\n      </trans-unit>\n      <trans-unit id="1cdc60cfc09c257625768f3d2082816cdef27279" datatype="html">\n        <source>Updated config option \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\n        </source>\n        <target>Updated config option \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="d473e0f684a60db45d6f31e993f693f74290e056" datatype="html">\n        <source>Service</source>\n        <target>서비스</target>\n      </trans-unit>\n      <trans-unit id="9951bb3983c7dba6fde013e05c922e4fe1a44367" datatype="html">\n        <source>Current value</source>\n        <target>현재값</target>\n      </trans-unit>\n      <trans-unit id="4a01c175f90dd92b432f4a4a199d2c7bb9d997ff" datatype="html">\n        <source>Editable</source>\n        <target>편집가능</target>\n      </trans-unit>\n      <trans-unit id="261c0af854e8684abc15f89dce6efb3e72344b18" datatype="html">\n        <source>host</source>\n        <target>host</target>\n      </trans-unit>\n      <trans-unit id="9e35065e7c579e1fb960499117fd4b3c68d1c263" datatype="html">\n        <source>Host operation is disabled because orchestrator is unavailable</source>\n        <target>Host operation is disabled because orchestrator is unavailable</target>\n      </trans-unit>\n      <trans-unit id="a5d5e407f8c4e1b152509c966c90f37edf68472e" datatype="html">\n        <source>Device path</source>\n        <target>Device path</target>\n      </trans-unit>\n      <trans-unit id="94e76c060aa68c05d8c4a3f5a20c92fab3e83ccf" datatype="html">\n        <source>Rotates</source>\n        <target>Rotates</target>\n      </trans-unit>\n      <trans-unit id="b7da3e3505cc80f9bf3cffc8444c53e8a9ec70a5" datatype="html">\n        <source>Available</source>\n        <target>Available</target>\n      </trans-unit>\n      <trans-unit id="6ec98fa3d6504ba1fd03465194b53706c8263c99" datatype="html">\n        <source>Model</source>\n        <target>Model</target>\n      </trans-unit>\n      <trans-unit id="1a6e6ad05508130b7a99ce5b15daf3227c2a930c" datatype="html">\n        <source>Updated options for module "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>".\n        </source>\n        <target>Updated options for module "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="ac6c9212896d39b23811ed2dadab7d07336ec559" datatype="html">\n        <source>Enable</source>\n        <target>사용가능</target>\n      </trans-unit>\n      <trans-unit id="6766a926d80bb7763785621098dae459d6226429" datatype="html">\n        <source>Disable</source>\n        <target>사용불가</target>\n      </trans-unit>\n      <trans-unit id="340f2f312c2eb353e5cd69aee6bee7f5a73c34ac" datatype="html">\n        <source>This Manager module is always on.</source>\n        <target>This Manager module is always on.</target>\n      </trans-unit>\n      <trans-unit id="6a0b3657745dd7a2f2162f1cc790bf9004d0845d" datatype="html">\n        <source>Reconnecting, please wait ...</source>\n        <target>재-접속 중, 기다려 주세요...</target>\n      </trans-unit>\n      <trans-unit id="7099a8878af7a0a26fe5663c4f46cfe87142b75d" datatype="html">\n        <source>Public Address</source>\n        <target>공개 주소</target>\n      </trans-unit>\n      <trans-unit id="cbdd1cdc0c7a87f55dd177bc44212f0fc4b80852" datatype="html">\n        <source>Open Sessions</source>\n        <target>열린 세션들</target>\n      </trans-unit>\n      <trans-unit id="37e58d1cbdf8212b380efa51422e42821d4f08e6" datatype="html">\n        <source>No In</source>\n        <target>들어올 수 없는</target>\n      </trans-unit>\n      <trans-unit id="12706eb5af17ff5ad77b3de21af368d24678e00b" datatype="html">\n        <source>OSDs that were previously marked out will not be marked back in when they start</source>\n        <target>이전에 마크 아웃 된 OSD는 시작시 다시 표시되지 않습니다.</target>\n      </trans-unit>\n      <trans-unit id="96114d7624d11dc90ca46cfa96145fe22118df76" datatype="html">\n        <source>No Out</source>\n        <target>나갈 수 없는</target>\n      </trans-unit>\n      <trans-unit id="a2ef636fe1ddd56b63e4aaf3d292f33dbf735ef3" datatype="html">\n        <source>OSDs will not automatically be marked out after the configured interval</source>\n        <target>OSD들은 구성된 간격 후에는 자동으로 표시되지 않습니다.</target>\n      </trans-unit>\n      <trans-unit id="ee50aefa9b8bde1e5429b48709a23abfe08358e0" datatype="html">\n        <source>No Up</source>\n        <target>살아나지 않는</target>\n      </trans-unit>\n      <trans-unit id="608929b939307e397586a98cea52ae38997c7273" datatype="html">\n        <source>OSDs are not allowed to start</source>\n        <target>OSD는 시작할 수 없습니다.</target>\n      </trans-unit>\n      <trans-unit id="1751ab69c1e7f62927afedbf7116e0116316c551" datatype="html">\n        <source>No Down</source>\n        <target>죽일 수 없는</target>\n      </trans-unit>\n      <trans-unit id="41fac86dfb65c1db690f3e87f6497cb73b281084" datatype="html">\n        <source>OSD failure reports are being ignored, such that the monitors will not mark OSDs down</source>\n        <target>모니터가 OSD들의 다운을 표시하지 않도록 OSD 장애 보고서가 무시되고 있습니다.</target>\n      </trans-unit>\n      <trans-unit id="b2838c6165a9672a17db188f4dd9676574353dd8" datatype="html">\n        <source>Pause</source>\n        <target>멈출</target>\n      </trans-unit>\n      <trans-unit id="191d71dadcc8790573d46706a0b48211de4b8334" datatype="html">\n        <source>Pauses reads and writes</source>\n        <target>읽기와 쓰기를 멈춤</target>\n      </trans-unit>\n      <trans-unit id="471d5ba75836f38c19992cf83d8822632d99e473" datatype="html">\n        <source>No Scrub</source>\n        <target>스크러빙 않됨</target>\n      </trans-unit>\n      <trans-unit id="5b8caa61814121bc36dac0c34a9e9de3cae74990" datatype="html">\n        <source>Scrubbing is disabled</source>\n        <target>스크러빙이 비활성화되었습니다.</target>\n      </trans-unit>\n      <trans-unit id="7f29a0ac1c797bdc0347dd5d0734ba83e96e7ce6" datatype="html">\n        <source>No Deep Scrub</source>\n        <target>딥 스크럽 안됨</target>\n      </trans-unit>\n      <trans-unit id="01da61ab216541a8d31259cebd16b10c7e5fc124" datatype="html">\n        <source>Deep Scrubbing is disabled</source>\n        <target>딥 스크러빙이 비활성되었습니다.</target>\n      </trans-unit>\n      <trans-unit id="0b86c7f18ac725de62c7e192dcfccd02c0dc40ab" datatype="html">\n        <source>No Backfill</source>\n        <target>백필 없음</target>\n      </trans-unit>\n      <trans-unit id="bd33a2bdc8fbed3b7469f3717c16d9aaa2851fdd" datatype="html">\n        <source>Backfilling of PGs is suspended</source>\n        <target>PG들의 백필이 일시중지 되었습니다.</target>\n      </trans-unit>\n      <trans-unit id="7fbbd036394cfa623add40299757bc87df8eaa7e" datatype="html">\n        <source>No Recover</source>\n        <target>복구 않됨</target>\n      </trans-unit>\n      <trans-unit id="f3ee9b451a64dca47299c9b4ae1091c2008068ad" datatype="html">\n        <source>Recovery of PGs is suspended</source>\n        <target>PG들의 복구가 일시중지 되었습니다.</target>\n      </trans-unit>\n      <trans-unit id="de904148fe7e8d812218f50333ffe247900617c5" datatype="html">\n        <source>Bitwise Sort</source>\n        <target>비트단위 정렬</target>\n      </trans-unit>\n      <trans-unit id="2613c9fde29785bcd75f0abeccb653d14d7527b3" datatype="html">\n        <source>Use bitwise sort</source>\n        <target>비트단위 정렬을 사용하세요</target>\n      </trans-unit>\n      <trans-unit id="2fe10d84250aeee365db244251d40934c70ff1e9" datatype="html">\n        <source>Purged Snapdirs</source>\n        <target>완전삭제된 스냅디렉토리들</target>\n      </trans-unit>\n      <trans-unit id="6b22a5b780eda3c5d500cdac9c6d4f96978c38f1" datatype="html">\n        <source>OSDs have converted snapsets</source>\n        <target>OSD들이 변화된 스냅셋을 가지고 있습니다.</target>\n      </trans-unit>\n      <trans-unit id="c42f0ba60564dc5b977a8c7f3fdcde9efbb39c60" datatype="html">\n        <source>Recovery Deletes</source>\n        <target>삭제된 복구들</target>\n      </trans-unit>\n      <trans-unit id="72fe39979198ea2ed6db6274b5029025cb316d90" datatype="html">\n        <source>Deletes performed during recovery instead of peering</source>\n        <target>피어링 대신 복구 중에 수행된 삭제물들</target>\n      </trans-unit>\n      <trans-unit id="1bb4a1f9127cefe624c173557a716d0ebb6d647c" datatype="html">\n        <source>PG Log Hard Limit</source>\n        <target>PG 로그 하드 한계</target>\n      </trans-unit>\n      <trans-unit id="e03c0321397fdf7a9c22e8d6b5015424943c0a57" datatype="html">\n        <source>Puts a hard limit on pg log length</source>\n        <target>pg 로그 길이에 하드 한계를 넣으세요</target>\n      </trans-unit>\n      <trans-unit id="3c384e2e80c6b5eb24861fbf4225b69486cff4a3" datatype="html">\n        <source>Updated OSD Flags</source>\n        <target>갱신된 OSD 플래그들</target>\n      </trans-unit>\n      <trans-unit id="688578fcc739d6f0c5fb6c366dbb19d21c6d9e36" datatype="html">\n        <source>out</source>\n        <target>아웃</target>\n      </trans-unit>\n      <trans-unit id="cb0f69bdd4dea41d7d45c74b6e07f98de8a2ab26" datatype="html">\n        <source>in</source>\n        <target>인</target>\n      </trans-unit>\n      <trans-unit id="b5fbc7c7f007dd53b2318525bb7ff8b0376c9e37" datatype="html">\n        <source>down</source>\n        <target>다운</target>\n      </trans-unit>\n      <trans-unit id="b58719bcb9184e1a7884d00d22d10899d59bf295" datatype="html">\n        <source>Mark</source>\n        <target>표시</target>\n      </trans-unit>\n      <trans-unit id="31a1c1aa03f1e5084750bedb4e3fdc04ce2cb6ca" datatype="html">\n        <source>OSD lost</source>\n        <target>OSD 손실</target>\n      </trans-unit>\n      <trans-unit id="f3fc4c85c5b8f1dedea0496b72d0af9da7b9e0d9" datatype="html">\n        <source>marked lost</source>\n        <target>손실 표시</target>\n      </trans-unit>\n      <trans-unit id="40fedc157ad899a18ec40573f770d18b040959d2" datatype="html">\n        <source>Purge</source>\n        <target>완전제거</target>\n      </trans-unit>\n      <trans-unit id="c8b1475105463088593de1022ff6dceb523eae0e" datatype="html">\n        <source>OSD</source>\n        <target>OSD</target>\n      </trans-unit>\n      <trans-unit id="4f3cff08c7033b63bbccfe66006b1bcaea48ddd8" datatype="html">\n        <source>purged</source>\n        <target>완전제거된</target>\n      </trans-unit>\n      <trans-unit id="8e5d1b01eca6dce26a4751f0b19bda7a6ab8db5b" datatype="html">\n        <source>destroy</source>\n        <target>파괴됨</target>\n      </trans-unit>\n      <trans-unit id="495a06b78bf165a7b545fa002137f0846b094a3d" datatype="html">\n        <source>destroyed</source>\n        <target>파괴된</target>\n      </trans-unit>\n      <trans-unit id="107614b994f2b01abdc1ca179bf780b0cd933ec4" datatype="html">\n        <source>Recovery Priority</source>\n        <target>Recovery Priority</target>\n      </trans-unit>\n      <trans-unit id="359dad5a3a912ef9dece3194035020856805aa96" datatype="html">\n        <source>PG scrub</source>\n        <target>PG scrub</target>\n      </trans-unit>\n      <trans-unit id="953144c420c2e5abd02e6a687433eac60fa852bd" datatype="html">\n        <source>PGs</source>\n        <target>파괴됨</target>\n      </trans-unit>\n      <trans-unit id="7d3523ea9d35c274cef84043de8a2fdde540a9a1" datatype="html">\n        <source>Read bytes</source>\n        <target>읽은 바이트들</target>\n      </trans-unit>\n      <trans-unit id="ecbe2fdca919499125bc42c2c67cedae8563db1c" datatype="html">\n        <source>Writes bytes</source>\n        <target>쓰기된 바이트들</target>\n      </trans-unit>\n      <trans-unit id="f3c33322823c846b13f59ba2c8f234405bba99e1" datatype="html">\n        <source>Read ops</source>\n        <target>읽기 ops</target>\n      </trans-unit>\n      <trans-unit id="7e0b24a17546cbfab48b03dc874461d1ca68bc9a" datatype="html">\n        <source>Write ops</source>\n        <target>쓰기 ops</target>\n      </trans-unit>\n      <trans-unit id="d45455406092f58e6b089cb440b5b7934b801a01" datatype="html">\n        <source>Mark OSD \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </source>\n        <target>Mark OSD \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="de0b7806e451b3b3dbd564decba59981fe781c18" datatype="html">\n        <source>Mark \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </source>\n        <target>Mark \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="bba1d3bb4f8a47aa2b3068e242562196eadb1e83" datatype="html">\n        <source>PG scrub options</source>\n        <target>PG scrub options</target>\n      </trans-unit>\n      <trans-unit id="b0b7748ebc9b7a6942a8cac4a89d4b215b365878" datatype="html">\n        <source>Updated PG scrub options</source>\n        <target>Updated PG scrub options</target>\n      </trans-unit>\n      <trans-unit id="4edc2162af0bd6cd941eaf730d20a7e3b5a83ba7" datatype="html">\n        <source>Max Backfills</source>\n        <target>최대 백필들</target>\n      </trans-unit>\n      <trans-unit id="eb5e6c24a48a1dfe23e0a772b762be5e949c0c8a" datatype="html">\n        <source>Recovery Max Active</source>\n        <target>최대 활성화를 복구하기</target>\n      </trans-unit>\n      <trans-unit id="4a23c6d3859e03184118620d2baeb736ac765fbf" datatype="html">\n        <source>Recovery Max Single Start</source>\n        <target>최대 단일 시작을 복구하기</target>\n      </trans-unit>\n      <trans-unit id="97049169ef5228fd1724de2fcdad1fec2858eaf8" datatype="html">\n        <source>Recovery Sleep</source>\n        <target>잠자기를 복구하기</target>\n      </trans-unit>\n      <trans-unit id="a5c05002b0ac2040f1aede5e727e0ffd06eda819" datatype="html">\n        <source>Custom</source>\n        <target>커스텀</target>\n      </trans-unit>\n      <trans-unit id="89553524f4e7db5c437b07dcfdc7b831d56ded1a" datatype="html">\n        <source>Updated OSD recovery speed priority "\n          <x id="INTERPOLATION" equiv-text="{{value}}"/>"\n        </source>\n        <target>Updated OSD recovery speed priority "\n          <x id="INTERPOLATION" equiv-text="{{value}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="ccf5f30798c03d2d8efd0e6eb508320c018b722d" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{operation}}"/> was initialized in the following OSD(s): \n          <x id="INTERPOLATION_1" equiv-text="{{id}}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{operation}}"/> was initialized in the following OSD(s): \n          <x id="INTERPOLATION_1" equiv-text="{{id}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="9836e830d0219585b36d53be00a31c3d4798a4aa" datatype="html">\n        <source>Smartctl has received an unknown argument (error code\n          <x id="INTERPOLATION" equiv-text="{{smartData.smartctl_error_code}}"/>). You may be using an\n                incompatible version of smartmontools. Version &gt;= 7.0 of\n                smartmontools is required to succesfully retrieve data.\n        </source>\n        <target>Smartctl has received an unknown argument (error code\n          <x id="INTERPOLATION" equiv-text="{{smartData.smartctl_error_code}}"/>). You may be using an\n                incompatible version of smartmontools. Version &gt;= 7.0 of\n                smartmontools is required to succesfully retrieve data.\n        </target>\n      </trans-unit>\n      <trans-unit id="d5fd840374ca1a6f394bcd81f390a6dca27f8224" datatype="html">\n        <source>An error with error code \n          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.\n        </source>\n        <target>An error with error code \n          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.\n        </target>\n      </trans-unit>\n      <trans-unit id="a0b59d7139692bb8d8ed786b6eb6e9e70ce743f3" datatype="html">\n        <source>Raw</source>\n        <target>Raw</target>\n      </trans-unit>\n      <trans-unit id="2f3beddc8234b30fb26a7f63ba2f1ea74f2ed6f7" datatype="html">\n        <source>Threshold</source>\n        <target>Threshold</target>\n      </trans-unit>\n      <trans-unit id="4654b5a68af3c8bad29aa14ca85ccea1f3143c6b" datatype="html">\n        <source>When Failed</source>\n        <target>When Failed</target>\n      </trans-unit>\n      <trans-unit id="5b7f56d5be49fb8e8d8f40209d6746f8f72e9177" datatype="html">\n        <source>Worst</source>\n        <target>Worst</target>\n      </trans-unit>\n      <trans-unit id="1edb8e46b0fac57c5feb3d7d3585afc0122d5481" datatype="html">\n        <source>Create silence</source>\n        <target>Create silence</target>\n      </trans-unit>\n      <trans-unit id="78917e8031aaf913ac3fa63295325ce8879703ce" datatype="html">\n        <source>Job</source>\n        <target>일</target>\n      </trans-unit>\n      <trans-unit id="94287619205068b591c18493c64781424864c259" datatype="html">\n        <source>Severity</source>\n        <target>심각도</target>\n      </trans-unit>\n      <trans-unit id="e6cfbe0c5e0302ba2cec22315f6a28f8ac46b651" datatype="html">\n        <source>Started</source>\n        <target>시작된</target>\n      </trans-unit>\n      <trans-unit id="801b98c6f02fe3b32f6afa3ee854c99ed83474e6" datatype="html">\n        <source>URL</source>\n        <target>URL</target>\n      </trans-unit>\n      <trans-unit id="a5cd682a8a33bdc72e093d059429e3cc3a50ec1d" datatype="html">\n        <source>silence</source>\n        <target>silence</target>\n      </trans-unit>\n      <trans-unit id="f557e117e059e7036c6eecacd325a6ae35d866e0" datatype="html">\n        <source>Attribute name</source>\n        <target>Attribute name</target>\n      </trans-unit>\n      <trans-unit id="50f7f517ad8158667f7d4e2bd6f3256e05156e75" datatype="html">\n        <source>Regular expression</source>\n        <target>Regular expression</target>\n      </trans-unit>\n      <trans-unit id="81b1eab399c47110d50f45e3ccb4c009de7cb581" datatype="html">\n        <source>Please add your Prometheus host to the dashboard configuration and refresh the page</source>\n        <target>Please add your Prometheus host to the dashboard configuration and refresh the page</target>\n      </trans-unit>\n      <trans-unit id="29b4ae3296e239446fa0dea88a5112de15cffa54" datatype="html">\n        <source>Created by</source>\n        <target>Created by</target>\n      </trans-unit>\n      <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc" datatype="html">\n        <source>Updated</source>\n        <target>갱신된</target>\n      </trans-unit>\n      <trans-unit id="8d833cceee0ba4c5161b130365e02bc1e129b57e" datatype="html">\n        <source>Ends</source>\n        <target>Ends</target>\n      </trans-unit>\n      <trans-unit id="46a11ff4289e8c88b1b7a935f8d8ee704055f11a" datatype="html">\n        <source>Silence</source>\n        <target>Silence</target>\n      </trans-unit>\n      <trans-unit id="f392abfbb997402ce2aebb13e660a8f01dec54db" datatype="html">\n        <source>Service type</source>\n        <target>Service type</target>\n      </trans-unit>\n      <trans-unit id="9ffa91b056fb979786627885651e19c8275675cd" datatype="html">\n        <source>Service instance</source>\n        <target>Service instance</target>\n      </trans-unit>\n      <trans-unit id="b5910192a9ac4816638ff6383b03f986ff965796" datatype="html">\n        <source>Container id</source>\n        <target>Container id</target>\n      </trans-unit>\n      <trans-unit id="60ab9cce12a56cdc5ec6a1b699f8c7afecd629d5" datatype="html">\n        <source>Rados config location</source>\n        <target>Rados config location</target>\n      </trans-unit>\n      <trans-unit id="dfa409f831c9168a377bdee02c5ea6aaf9b2bf61" datatype="html">\n        <source>Service URL</source>\n        <target>Service URL</target>\n      </trans-unit>\n      <trans-unit id="bf2468fd965b8a59c135ad549b3a612aa9873abc" datatype="html">\n        <source>Status Description</source>\n        <target>Status Description</target>\n      </trans-unit>\n      <trans-unit id="fb2e1bed329dc5b84197808c778abb9edcbdb335" datatype="html">\n        <source>Used</source>\n        <target>사용된</target>\n      </trans-unit>\n      <trans-unit id="4f1ab04d9100fb0df0e62b921ec46ae052ae29fc" datatype="html">\n        <source>Avail.</source>\n        <target>이용가능:</target>\n      </trans-unit>\n      <trans-unit id="a1c9b3d4fa67450fe9afd1d726f8a1bd91d990ea" datatype="html">\n        <source>Clean</source>\n        <target>깨끗한</target>\n      </trans-unit>\n      <trans-unit id="0054f5460090d6dde385e8f099d598df5d28cf54" datatype="html">\n        <source>Working</source>\n        <target>정상동작중</target>\n      </trans-unit>\n      <trans-unit id="a8059e31694578c1b0344a76a345357dd60e8f01" datatype="html">\n        <source>Warning</source>\n        <target>경고</target>\n      </trans-unit>\n      <trans-unit id="e5d8bb389c702588877f039d72178f219453a72d" datatype="html">\n        <source>Unknown</source>\n        <target>알려지지 않은</target>\n      </trans-unit>\n      <trans-unit id="88155be1b9b9c6140d6e8f93bac4a775cfdc6671" datatype="html">\n        <source>Healthy</source>\n        <target>Healthy</target>\n      </trans-unit>\n      <trans-unit id="8a3aec4dc1a6e2d4c612ae85e0537acbb20a0f85" datatype="html">\n        <source>Misplaced</source>\n        <target>Misplaced</target>\n      </trans-unit>\n      <trans-unit id="ee81f9bf7ceac69712e0b83e8adc268739f9673e" datatype="html">\n        <source>Degraded</source>\n        <target>Degraded</target>\n      </trans-unit>\n      <trans-unit id="14625bc4025daef1969777a67a3cca27e0cd9167" datatype="html">\n        <source>Unfound</source>\n        <target>Unfound</target>\n      </trans-unit>\n      <trans-unit id="8f23ea509d081c2f747d083d44608dbf125b2ea2" datatype="html">\n        <source>replicas</source>\n        <target>replicas</target>\n      </trans-unit>\n      <trans-unit id="129a2224e1f9d19eb5e11e2a07fe10a785556484" datatype="html">\n        <source>up</source>\n        <target>정상</target>\n      </trans-unit>\n      <trans-unit id="d5f29cf0af691726483262d647eb6622be002512" datatype="html">\n        <source>no filesystems</source>\n        <target>파일시스템들 없음</target>\n      </trans-unit>\n      <trans-unit id="b1c4387ffab06f3fa9fdb4411aea955595538d44" datatype="html">\n        <source>active</source>\n        <target>활성화된</target>\n      </trans-unit>\n      <trans-unit id="1aaf7054d826f2cb05ec3e88a5a4b8116861e1f5" datatype="html">\n        <source>standby</source>\n        <target>대기중인</target>\n      </trans-unit>\n      <trans-unit id="c9a1080024dca344a48acdb77fa2d54e059f7254" datatype="html">\n        <source>n/a</source>\n        <target>이용불가</target>\n      </trans-unit>\n      <trans-unit id="84a1787b6df375847c70f782861d7e7f8f43bff4" datatype="html">\n        <source>active daemon</source>\n        <target>활성화된 데몬들</target>\n      </trans-unit>\n      <trans-unit id="24407dc2ebfafaf6b131ee978683b893c3f1d763" datatype="html">\n        <source>quorum</source>\n        <target>정족수</target>\n      </trans-unit>\n      <trans-unit id="2fa50bc07995c6ea660412294298ded39fcb08d9" datatype="html">\n        <source>The NFS Ganesha service is not configured.</source>\n        <target>NFS Ganesha 서비스가 설정되지 않음</target>\n      </trans-unit>\n      <trans-unit id="af1396bdc49f45ea6c4a1e414769f5e2a382c834" datatype="html">\n        <source>Transport</source>\n        <target>전송</target>\n      </trans-unit>\n      <trans-unit id="b6a0e176d96c4feed2e975a039c044fcf822e152" datatype="html">\n        <source>CephFS User</source>\n        <target>CephFS 사용자</target>\n      </trans-unit>\n      <trans-unit id="44dc610cf201a163e8c38da810acec9596930bb3" datatype="html">\n        <source>CephFS Filesystem</source>\n        <target>CephFS 파일시스템</target>\n      </trans-unit>\n      <trans-unit id="db6dc7124be83c7055cb0f2719e31f2f9d46fd3d" datatype="html">\n        <source>(inherited from global config)</source>\n        <target>(전역 구성에서 상속)</target>\n      </trans-unit>\n      <trans-unit id="e1f97bb86f991553ec7b535cb39e7eaa99dfcfe2" datatype="html">\n        <source>inherited from global config</source>\n        <target>전역 구성에서 상속</target>\n      </trans-unit>\n      <trans-unit id="e751800766277e7c2edd652cec7a7a1a68a37852" datatype="html">\n        <source>-- Select what kind of user id squashing is performed --</source>\n        <target>- 어떤 종류의 사용자 ID 스쿼시가 수행되는지 선택 -</target>\n      </trans-unit>\n      <trans-unit id="4b58387f911e8a7b135a0c4d76c70335c65bbb32" datatype="html">\n        <source>There are no daemons available.</source>\n        <target>사용가능한 데몬이 없읍니다.</target>\n      </trans-unit>\n      <trans-unit id="18ae8dc1264f06df7ea251175ada2ac1b8401018" datatype="html">\n        <source>NFS export</source>\n        <target>NFS export</target>\n      </trans-unit>\n      <trans-unit id="ae128527ec18892f812a62a1fd15dc50a38060c0" datatype="html">\n        <source>EC Profile</source>\n        <target>EC Profile</target>\n      </trans-unit>\n      <trans-unit id="60fb10c145f9c7ede2b9ddf9b2b0b0f6191d0ebd" datatype="html">\n        <source>Cache Mode</source>\n        <target>캐쉬모드</target>\n      </trans-unit>\n      <trans-unit id="fa5bfad31d4139f6871443bb74324ffda5cad3e6" datatype="html">\n        <source>Min Evict Age</source>\n        <target>최소 퇴거 연령</target>\n      </trans-unit>\n      <trans-unit id="fd0eb851666df45c34c76fabcda79b0d77bc910b" datatype="html">\n        <source>Min Flush Age</source>\n        <target>최소 플러시 연령</target>\n      </trans-unit>\n      <trans-unit id="cb54d2c420a534cee0c308ea5589f8c394ef8d67" datatype="html">\n        <source>Target Max Bytes</source>\n        <target>목표 최대 바이트들</target>\n      </trans-unit>\n      <trans-unit id="07f4ebe6615dca466818ffdae2a69ee217d265fb" datatype="html">\n        <source>Target Max Objects</source>\n        <target>목표 최대 오브젝트들</target>\n      </trans-unit>\n      <trans-unit id="eaa8f4df53cf7fa78d078e20a701d10f3dccd77d" datatype="html">\n        <source>No applications added</source>\n        <target>추가된 응용프로그램 없음</target>\n      </trans-unit>\n      <trans-unit id="321c2a7640f11177ea49b0857b94c4b70830c0e6" datatype="html">\n        <source>Applications limit reached</source>\n        <target>응용프로그램 한계에 도달함</target>\n      </trans-unit>\n      <trans-unit id="519d27742b74fadc8336777452f78891e98aa1dc" datatype="html">\n        <source>A pool can only have up to four applications definitions.</source>\n        <target>하나의 풀은 오직 네개의 응용프로그램 정의들을 가질 수 있습니다.</target>\n      </trans-unit>\n      <trans-unit id="b5bec3813f0d45daa7eb9471272969e1bc3e734e" datatype="html">\n        <source>Allowed characters \'_a-zA-Z0-9\'</source>\n        <target> \'_a-zA-Z0-9\' 문자들만 허락됨</target>\n      </trans-unit>\n      <trans-unit id="807472d29602a0085bce62e534bd66208982c2e2" datatype="html">\n        <source>Maximum length is 128 characters</source>\n        <target>최대 길이는 128글자이다.</target>\n      </trans-unit>\n      <trans-unit id="37785748b9ac9ad1d3e4b111ac502c3284afe84b" datatype="html">\n        <source>Filter or add applications</source>\n        <target>필터 또는 추가된 응용프로그램들</target>\n      </trans-unit>\n      <trans-unit id="38c7b8610ca87835e13eeee6a09ba1c414cd5cb9" datatype="html">\n        <source>Add application</source>\n        <target>응용프로그램 추가</target>\n      </trans-unit>\n      <trans-unit id="db8c42f077700d8a94619fad9f4c94b7361d5f1d" datatype="html">\n        <source>pool</source>\n        <target>pool</target>\n      </trans-unit>\n      <trans-unit id="65bb2be83261bc4798853bbccdedc110c43feea7" datatype="html">\n        <source>erasure code profile</source>\n        <target>Erasure 코드 프로파일</target>\n      </trans-unit>\n      <trans-unit id="112d356ad6846959ca4aa5ec9a1f0d9d473b24ec" datatype="html">\n        <source>Replica Size</source>\n        <target>복제 크기</target>\n      </trans-unit>\n      <trans-unit id="ec50492db341fa752b023d8c924601286b6c9c0c" datatype="html">\n        <source>Last Change</source>\n        <target>마지막 변경</target>\n      </trans-unit>\n      <trans-unit id="563a8c136a9d423bc7ae1269a404d6da5fd83dad" datatype="html">\n        <source>Erasure Coded Profile</source>\n        <target>Erasure 코드화된 프로파일</target>\n      </trans-unit>\n      <trans-unit id="0ad7f0662956cff61ac1208f92b1a0305b1b2e58" datatype="html">\n        <source>Crush Ruleset</source>\n        <target>크러쉬 룰셋</target>\n      </trans-unit>\n      <trans-unit id="f15bf7f588f09ca79795b17bc244e8d336f28171" datatype="html">\n        <source>Write bytes</source>\n        <target>쓰여진 바이트들</target>\n      </trans-unit>\n      <trans-unit id="bcc365a084b6145b941b371bd4c2b6c3d2c79234" datatype="html">\n        <source>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</source>\n        <target>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</target>\n      </trans-unit>\n      <trans-unit id="44939fd05cedfd077db886528b755e77d5fa3885" datatype="html">\n        <source>bucket</source>\n        <target>버킷</target>\n      </trans-unit>\n      <trans-unit id="84fee774286ec4191311f1277075455c3ea5e2e2" datatype="html">\n        <source>Updated Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>".\n        </source>\n        <target>Updated Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="2d7a43674f0bbc131c9e555ec16ac37fa0445d76" datatype="html">\n        <source>Created Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>"\n        </source>\n        <target>Created Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="ec40d74ecfb1d6d60455af6805c9a714a3f5750a" datatype="html">\n        <source>buckets</source>\n        <target>버킷들</target>\n      </trans-unit>\n      <trans-unit id="764585d5595bac113582ee14a6fd07006770ceb1" datatype="html">\n        <source>capability</source>\n        <target>capability</target>\n      </trans-unit>\n      <trans-unit id="0914cbe18bae204217e1851be6d2d24d86e74605" datatype="html">\n        <source>user</source>\n        <target>사용자</target>\n      </trans-unit>\n      <trans-unit id="d8c86dc5e48a63590d9c94e19f90b5f8325cbd49" datatype="html">\n        <source>subuser</source>\n        <target>subuser</target>\n      </trans-unit>\n      <trans-unit id="f45a3de8a8b40d161cc36a55d77548a27107ca04" datatype="html">\n        <source>S3 Key</source>\n        <target>S3 Key</target>\n      </trans-unit>\n      <trans-unit id="854a763265e92f91ba3ccee1a0e8d823be584f7c" datatype="html">\n        <source>Updated Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </source>\n        <target>Updated Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="84ab3fd641e65e39cffee0ec722a059ed284229e" datatype="html">\n        <source>Created Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </source>\n        <target>Created Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="7c7f4be7b726e61c577e63842a58d9e435f7c597" datatype="html">\n        <source>users</source>\n        <target>사용자들</target>\n      </trans-unit>\n      <trans-unit id="9f7760223efd77806f1bbaf963e6993bb4bc6a0a" datatype="html">\n        <source>Swift Key</source>\n        <target>Swift Key</target>\n      </trans-unit>\n      <trans-unit id="1481b8488e10dbc437accce89d2ae35a0106e8ba" datatype="html">\n        <source>Scope</source>\n        <target>범위</target>\n      </trans-unit>\n      <trans-unit id="9b1d5e95f6bdcfb4b737413f5fa157e0dcb103d5" datatype="html">\n        <source>Read</source>\n        <target>읽기</target>\n      </trans-unit>\n      <trans-unit id="70a67e04629f6d412db0a12d51820b480788d795" datatype="html">\n        <source>Create</source>\n        <target>만들기</target>\n      </trans-unit>\n      <trans-unit id="dc4fba275819619ee78e8eae14d357ea69ba7477" datatype="html">\n        <source>role</source>\n        <target>role</target>\n      </trans-unit>\n      <trans-unit id="fe6ee93173884201ec62d62ba173c3de85ae177e" datatype="html">\n        <source>Created role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Created role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="41c032df0732f4318f8213fabd0719ac347d4b6c" datatype="html">\n        <source>Updated role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Updated role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="50e22b5289f79f1417369403345c9fa9911a4557" datatype="html">\n        <source>System Role</source>\n        <target>시스템 롤</target>\n      </trans-unit>\n      <trans-unit id="7f132668e2dbfcf616381d2daf59d1a6f2698102" datatype="html">\n        <source>Deleted role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Deleted role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="2e35d60a14ce0b470e8b54602864a867f7fcef40" datatype="html">\n        <source>There are no roles.</source>\n        <target>There are no roles.</target>\n      </trans-unit>\n      <trans-unit id="d2362a49d2434ce137bf19dab004251b7fd9c7b3" datatype="html">\n        <source>Created user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Created user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="9910122dfedd2eaa544a990f1430e5b82a76d99f" datatype="html">\n        <source>Update user</source>\n        <target>갱신된 사용자</target>\n      </trans-unit>\n      <trans-unit id="ac10a3d9b59575640797c1a8e6aea642cf5d5e77" datatype="html">\n        <source>Continue</source>\n        <target>계속</target>\n      </trans-unit>\n      <trans-unit id="cf4bcf4ce3d551e6099ccdc3546ae418fe5f8038" datatype="html">\n        <source>You were automatically logged out because your roles have been changed.</source>\n        <target>당신의 롤들이 변경되어 당신은 자동적으로 로그아웃되었습니다.</target>\n      </trans-unit>\n      <trans-unit id="0f6003fb0c1cc73b89d225801cc1b870945cd259" datatype="html">\n        <source>Updated user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Updated user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="fe516c6d820018fdc971113935e22ec1e852965f" datatype="html">\n        <source>Deleted user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Deleted user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="01a7e11502ff80421ef3615e533ea14ef57e1d5c" datatype="html">\n        <source>Failed to delete user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Failed to delete user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="63316a3861dbcb035147efc1b9fb6bc708242e94" datatype="html">\n        <source>You are currently logged in as "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>".\n        </source>\n        <target>You are currently logged in as "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="d8b81951d25439864e92f750f7c99d7426d6517c" datatype="html">\n        <source>password</source>\n        <target>password</target>\n      </trans-unit>\n      <trans-unit id="d361a9b5e1f7985a12c0433388f31626525a02b8" datatype="html">\n        <source>Updated user password"</source>\n        <target>Updated user password"</target>\n      </trans-unit>\n      <trans-unit id="1d7fbcc3d5efc946ffbcf86fed04c4e20dda20fb" datatype="html">\n        <source>Each object is split in data-chunks parts, each stored on a different OSD.</source>\n        <target>각각의 오브젝트들은 데이타-청크 부분들로 분리되어, 각기 다른 OSD에 보관됩니다.</target>\n      </trans-unit>\n      <trans-unit id="b1f8ed4e216585f1f9134740002ef3c8501debd8" datatype="html">\n        <source>Compute coding chunks for each object and store them on different OSDs.\n      The number of coding chunks is also the number of OSDs that can be down without losing data.</source>\n        <target>각 오브젝트들에 대한 코딩 청크를 계산하고 서로 다른 OSD에 저장합니다. \n코딩된 청크의 수는 데이터 손실없이 작동중지 되어 질 수있는 OSD의 숫자이기도합니다.</target>\n      </trans-unit>\n      <trans-unit id="c437ee74a9a8e781e1380153f742a685e3b8cc5e" datatype="html">\n        <source>The jerasure plugin is the most generic and flexible plugin,\n          it is also the default for Ceph erasure coded pools.</source>\n        <target>Jerasure 플러그인은 가장 일반적이고 유연한 플러그인으로,\n또한 Ceph erasure 코드 풀의 기본값이기도합니다.</target>\n      </trans-unit>\n      <trans-unit id="8c7e19322851402afa67e41f4f1d4e531caf1bf5" datatype="html">\n        <source>The more flexible technique is reed_sol_van : it is enough to set k\n          and m. The cauchy_good technique can be faster but you need to chose the packetsize\n          carefully. All of reed_sol_r6_op, liberation, blaum_roth, liber8tion are RAID6 equivalents\n          in the sense that they can only be configured with m=2.</source>\n        <target>보다 유연한 기술은 reed_sol_van입니다 : k와 m을 설정하면 충분합니다. \ncauchy_good 기술은 빠를 수 있지만 패킷크기를 주의깊게 선택해야합니다. \nreed_sol_r6_op, liberation, blaum_roth, liber8tion은 모두 m = 2로만 구성 할 수 있다는 점에서 RAID-6에 해당합니다.</target>\n      </trans-unit>\n      <trans-unit id="b1b11f49281b4e79219b4eecfbcb033cb15bd880" datatype="html">\n        <source>The encoding will be done on packets of bytes size at a time.\n          Chosing the right packet size is difficult.\n          The jerasure documentation contains extensive information on this topic.</source>\n        <target>인코딩은 한번에 바이트들 크기의 패킷에 대해 수행됩니다. 올바른 패킷 크기를 선택하는 것은 어렵습니다. jerasure 문서에는이 주제에 대한 광범위한 정보가 들어 있습니다.</target>\n      </trans-unit>\n      <trans-unit id="d9cb3bc07a25b26fbea457e0a7b543340bc13c49" datatype="html">\n        <source>With the jerasure plugin, when an erasure coded object is stored on\n          multiple OSDs, recovering from the loss of one OSD requires reading from all the others.\n          For instance if jerasure is configured with k=8 and m=4, losing one OSD requires reading\n          from the eleven others to repair.\n\n          The lrc erasure code plugin creates local parity chunks to be able to recover using\n          less OSDs. For instance if lrc is configured with k=8, m=4 and l=4, it will create\n          an additional parity chunk for every four OSDs. When a single OSD is lost, it can be\n          recovered with only four OSDs instead of eleven.</source>\n        <target>jerasure 플러그인을 사용하면 삭제 된 코딩 된 객체가 여러 OSD에 저장 될 때 하나의 OSD가 손실되는 것을 복구하려면 다른 모든 OSD를 읽어야합니다. 예를 들어 jerasure가 k = 8 및 m = 4로 구성되어있는 경우 하나의 OSD를 잃어 버리면 11 명의 다른 사람들이 수리해야합니다.\nlrc erasure code plugin은 적은 양의 OSD를 사용하여 복구 할 수 있도록 로컬 패리티 청크를 만듭니다. 예를 들어, lrc가 k = 8, m = 4 및 l = 4로 구성된 경우 4 개의 OSD마다 추가 패리티 덩어리가 생성됩니다. 단일 OSD가 손실되면 11 개 대신 4 개의 OSD만으로 복구 할 수 있습니다.</target>\n      </trans-unit>\n      <trans-unit id="813959d46e63a29bbd266b3af2ff9414c2ef553c" datatype="html">\n        <source>Group the coding and data chunks into sets of size locality. For instance,\n          for k=4 and m=2, when locality=3 two groups of three are created. Each set can\n          be recovered without reading chunks from another set.</source>\n        <target>코딩 및 데이터 청크를 크기 지역 집합으로 그룹화합니다. 예를 들어, k = 4 및 m = 2에 대해, 지역성 = 3 일 때 두 개의 세 그룹이 생성됩니다. 각 세트는 다른 세트의 청크를 읽지 않고도 복구 될 수 있습니다.</target>\n      </trans-unit>\n      <trans-unit id="f0ff63d92e0a1b4d4b51e31b9133802d160a5f4c" datatype="html">\n        <source>The type of the crush bucket in which each set of chunks defined\n          by l will be stored. For instance, if it is set to rack, each group of l chunks will be\n          placed in a different rack. It is used to create a CRUSH rule step such as step choose\n          rack. If it is not set, no such grouping is done.</source>\n        <target>l로 정의 된 각 청크 집합이 저장되는 크러시 버킷의 유형입니다. 예를 들어 랙으로 설정하면 l 개의 청크 그룹이 각각 다른 랙에 배치됩니다. \n랙 선택 단계와 같은 CRUSH 규칙 단계를 만드는 데 사용됩니다. 설정되어 있지 않으면, 그러한 그룹화가 수행되지 않습니다.</target>\n      </trans-unit>\n      <trans-unit id="3ece48df9d1e9a98f98bf3c5cc66e8b637020a4d" datatype="html">\n        <source>The isa plugin encapsulates the ISA library. It only runs on Intel processors.</source>\n        <target>isa 플러그인은 ISA 라이브러리를 캡슐화합니다. 인텔 프로세서에서만 실행됩니다.</target>\n      </trans-unit>\n      <trans-unit id="4472c9e31bfc7d96a83dc4afce0a6e885c99e839" datatype="html">\n        <source>The ISA plugin comes in two Reed Solomon forms.\n          If reed_sol_van is set, it is Vandermonde, if cauchy is set, it is Cauchy.</source>\n        <target>ISA 플러그인은 두 개의 리드 솔로몬 형식으로 제공됩니다.\nreed_sol_van이 설정되면 Vandermonde, cauchy가 설정되면 Cauchy입니다.</target>\n      </trans-unit>\n      <trans-unit id="fa385f5ecf63083ec848dca8dc5e52bdc72ac6f6" datatype="html">\n        <source>The shec plugin encapsulates the multiple SHEC library.\n          It allows ceph to recover data more efficiently than Reed Solomon codes.</source>\n        <target>shec plugin은 다중 SHEC 라이브러리를 캡슐화합니다.\n           ceph가 리드 솔로몬 코드보다 더 효율적으로 데이터를 복구 할 수 있습니다.</target>\n      </trans-unit>\n      <trans-unit id="687b3cd94b3475c24ff4481d64d4739f902a377c" datatype="html">\n        <source>The number of parity chunks each of which includes each data chunk in its\n          calculation range. The number is used as a durability estimator. For instance, if c=2,\n          2 OSDs can be down without losing data.</source>\n        <target>각 데이터 청크가 계산 범위에 포함되는 패리티 청크의 수입니다. 이 수치는 내구성 측정기로 사용됩니다. 예를 들어, c = 2 인 경우 2 개의 OSD가 데이터 손실없이 중단 될 수 있습니다.</target>\n      </trans-unit>\n      <trans-unit id="f3c4af6df91bdaabdb715f8f0b61a24faf73a3bc" datatype="html">\n        <source>The name of the crush bucket used for the first step of the CRUSH rule.\n      For instance step take default.</source>\n        <target>CRUSH 규칙의 첫 번째 단계에 사용 된 크러시 버킷의 이름입니다. 예를 들어 step은 기본값을 취합니다.</target>\n      </trans-unit>\n      <trans-unit id="e1059955a5ce65cdabf0c0a8207377e1f9bae57e" datatype="html">\n        <source>Ensure that no two chunks are in a bucket with the same failure\n      domain. For instance, if the failure domain is host no two chunks will be stored on the same\n      host. It is used to create a CRUSH rule step such as step chooseleaf host.</source>\n        <target>동일한 실패 도메인을 가진 양동이에 두 개의 청크가 없는지 확인하십시오. 예를 들어 실패 도메인이 호스트 인 경우 두 개의 청크가 동일한 호스트에 저장되지 않습니다. 이 단계는 리프 호스트를 선택하는 단계와 같은 CRUSH 규칙 단계를 만드는 데 사용됩니다.</target>\n      </trans-unit>\n      <trans-unit id="ac392ac9c6da5fde6da80fc57b9c09402fb6e73d" datatype="html">\n        <source>Restrict placement to devices of a specific class\n      (e.g., ssd or hdd), using the crush device class names in the CRUSH map.</source>\n        <target>CRUSH지도에서 크래시 장치 클래스 이름을 사용하여 특정 클래스 (예 : ssd 또는 hdd)의 장치로 배치를 제한합니다.</target>\n      </trans-unit>\n      <trans-unit id="62bcb9ae5583a088649b1adf5787a86ca3334f89" datatype="html">\n        <source>Set the directory name from which the erasure code plugin is loaded.</source>\n        <target>삭제 코드 플러그인이로드되는 디렉토리 이름을 설정하십시오.</target>\n      </trans-unit>\n      <trans-unit id="c8f10184a8433d132ede0a2c0c1aa96f291cacfa" datatype="html">\n        <source>Allows all operations</source>\n        <target>모든 작업들 허용</target>\n      </trans-unit>\n      <trans-unit id="82077ee97c11ee76efc3adf253b7b26654544317" datatype="html">\n        <source>Allows only operations that do not modify the server</source>\n        <target>오직 서버를 수정하지 않는 작업들만 가능합니다.</target>\n      </trans-unit>\n      <trans-unit id="22b5212ec10449dbf0a0af0ad34122eac51b5f2a" datatype="html">\n        <source>Does not allow read or write operations, but allows any other operation</source>\n        <target>읽기와 쓰기 작업은 허용되지 않지만, 그외 모든 작업이 가능합니다.</target>\n      </trans-unit>\n      <trans-unit id="9799d0f8c4b7727ae239fedfe3c0ce127feb7a50" datatype="html">\n        <source>Does not allow read, write, or any operation that modifies file        attributes or directory content</source>\n        <target>파일의 속성과 디렉토리 내용을 변경하는 읽기, 쓰기 또는 어떠한 작업은 허용되지 않습니다.</target>\n      </trans-unit>\n      <trans-unit id="aeddefe0af87025d8f00699aa94bed8216a99a58" datatype="html">\n        <source>Allows no access at all</source>\n        <target>전혀 어떠한 접근도 허용되지 않습니다.</target>\n      </trans-unit>\n      <trans-unit id="a436c6a4025a749198e93cac239de8deede72211" datatype="html">\n        <source>-- Select the priority --</source>\n        <target>-- 우선순위 선택 --</target>\n      </trans-unit>\n      <trans-unit id="9556266f0a2b1762a44b686f2bb21dbfefb01c12" datatype="html">\n        <source>Low</source>\n        <target>낮음</target>\n      </trans-unit>\n      <trans-unit id="72279141a67cc042d9864102b703216cc8a428a3" datatype="html">\n        <source>High</source>\n        <target>높음</target>\n      </trans-unit>\n      <trans-unit id="6080b77234e92ad41bb52653b239c4c4f851317d" datatype="html">\n        <source>Error</source>\n        <target>Error</target>\n      </trans-unit>\n      <trans-unit id="c43dc1967a603fefb886149ac35863a06d5b4ce5" datatype="html">\n        <source>Information</source>\n        <target>정보</target>\n      </trans-unit>\n      <trans-unit id="1e035e6ccfab771cad4226b2ad230cb0d4a88cba" datatype="html">\n        <source>Success</source>\n        <target>Success</target>\n      </trans-unit>\n      <trans-unit id="e6ca3c0efaf51e6d45a7f92f58bac37140c3fda4" datatype="html">\n        <source>Last 5 minutes</source>\n        <target>마지막 5분</target>\n      </trans-unit>\n      <trans-unit id="b0ecb2bbc548cc9bd95050fd8f0c84586d083fe2" datatype="html">\n        <source>Last 15 minutes</source>\n        <target>지난 15분</target>\n      </trans-unit>\n      <trans-unit id="857ae67deb51353120b203b0f2a06b0c48ef49fa" datatype="html">\n        <source>Last 30 minutes</source>\n        <target>지난 30분</target>\n      </trans-unit>\n      <trans-unit id="7b1738fad314e936dc14b94db8f43da736942308" datatype="html">\n        <source>Last 1 hour (Default)</source>\n        <target>지난 1시간(기본)</target>\n      </trans-unit>\n      <trans-unit id="a428288224389726cef9d9bd8d1d7808cccd7ffd" datatype="html">\n        <source>Last 3 hours</source>\n        <target>지난 3시간</target>\n      </trans-unit>\n      <trans-unit id="7cbabecc8d80cf183ac199cfaeb7619d56e5d43f" datatype="html">\n        <source>Last 6 hours</source>\n        <target>지난 6시간</target>\n      </trans-unit>\n      <trans-unit id="1a389cdf64187d34cf99eec30a290e3fa7d4744f" datatype="html">\n        <source>Last 12 hours</source>\n        <target>지난 12시간</target>\n      </trans-unit>\n      <trans-unit id="9e0ba5f591380a94d594a76288f0c41aa97eb9c2" datatype="html">\n        <source>Last 24 hours</source>\n        <target>지난 24시간</target>\n      </trans-unit>\n      <trans-unit id="e430eda9c785cd43465b7cbb400ee914f1057247" datatype="html">\n        <source>Yesterday</source>\n        <target>어제</target>\n      </trans-unit>\n      <trans-unit id="7fb1099e29660162f9154d5b2feee7743a423df6" datatype="html">\n        <source>Today</source>\n        <target>오늘</target>\n      </trans-unit>\n      <trans-unit id="33904058a97a64bd189bed84038b1ffe719769c7" datatype="html">\n        <source>Today so far</source>\n        <target>오늘 지금까지</target>\n      </trans-unit>\n      <trans-unit id="3b0b849be007510021d3d383df75bec95ef9c97b" datatype="html">\n        <source>Day before yesterday</source>\n        <target>그저께</target>\n      </trans-unit>\n      <trans-unit id="6b430c2c394c4d32ebd7d46c8c46ab60e1b29ccb" datatype="html">\n        <source>Last 2 days</source>\n        <target>지난 2일</target>\n      </trans-unit>\n      <trans-unit id="d5e812a87a5d57a94200a2013027cab76a7c4863" datatype="html">\n        <source>This day last week</source>\n        <target>이번 주 마지막날</target>\n      </trans-unit>\n      <trans-unit id="d00edc936eeab6b5577401f115ca86ca2c87dc9a" datatype="html">\n        <source>Previous week</source>\n        <target>전주</target>\n      </trans-unit>\n      <trans-unit id="b036e40577baa6b918b2267d319d4b3aeaa88a5a" datatype="html">\n        <source>This week</source>\n        <target>이번주</target>\n      </trans-unit>\n      <trans-unit id="99ad5a6096b3fcb3f021f3779bae710cdfeb8934" datatype="html">\n        <source>This week so far</source>\n        <target>이번주 지금까지</target>\n      </trans-unit>\n      <trans-unit id="02e0243b60007368f87dc01e083f232dd025096d" datatype="html">\n        <source>Last 7 days</source>\n        <target>지난 7일</target>\n      </trans-unit>\n      <trans-unit id="c3b08b07b5ab98e7cdcf18df39355690ab7d3884" datatype="html">\n        <source>Previous month</source>\n        <target>지난 달</target>\n      </trans-unit>\n      <trans-unit id="1b2562c6d5aa90644e7dc91feee82e2005fceb33" datatype="html">\n        <source>This month</source>\n        <target>이번 달</target>\n      </trans-unit>\n      <trans-unit id="26b4b18c5917934abb169ba9aa490e57f7bf10b8" datatype="html">\n        <source>This month so far</source>\n        <target>이번 달 지금까지</target>\n      </trans-unit>\n      <trans-unit id="7668986b9f753fcd72ad4a00b1a0c4861d1f7fb8" datatype="html">\n        <source>Last 30 days</source>\n        <target>지난 30일</target>\n      </trans-unit>\n      <trans-unit id="ba1e822408d90c6fbd2989100fa648bfd5e8ee84" datatype="html">\n        <source>Last 90 days</source>\n        <target>지난 90일</target>\n      </trans-unit>\n      <trans-unit id="c3df03f899a914c4181adcdc8a3f077424f7b6e8" datatype="html">\n        <source>Last 6 months</source>\n        <target>지난 6개월</target>\n      </trans-unit>\n      <trans-unit id="7f9a92757580c9f31c309c0a3812ea429274eadf" datatype="html">\n        <source>Last 1 year</source>\n        <target>지난 1년</target>\n      </trans-unit>\n      <trans-unit id="5a9fede30ff65cb4b4426f6b1ed31afb67ecd7b0" datatype="html">\n        <source>Previous year</source>\n        <target>전년도</target>\n      </trans-unit>\n      <trans-unit id="65cefcc53d1f6445df7568e8a40c49165f1090ee" datatype="html">\n        <source>This year</source>\n        <target>금년도</target>\n      </trans-unit>\n      <trans-unit id="1f68b766944dc3865bddab765fe952b0c1c43f92" datatype="html">\n        <source>This year so far</source>\n        <target>금년 지금까지</target>\n      </trans-unit>\n      <trans-unit id="4d4b77e614f8043fdadef5d6d235655bb48eb311" datatype="html">\n        <source>Last 2 years</source>\n        <target>지난 2년</target>\n      </trans-unit>\n      <trans-unit id="138afa339ea6e75d25a474affe1edbcb90e00ec0" datatype="html">\n        <source>Last 5 years</source>\n        <target>지난 5년</target>\n      </trans-unit>\n      <trans-unit id="37391297bb077a6f84484930261b01a3ce38327b" datatype="html">\n        <source>No items selected.</source>\n        <target>선택된 아이템 없음</target>\n      </trans-unit>\n      <trans-unit id="2c1e52ee832661b4a0f570877d24661736b16af1" datatype="html">\n        <source>Deselect item to select again</source>\n        <target>다시 선택하기 위해 아이템 선택을 취소</target>\n      </trans-unit>\n      <trans-unit id="c8c9c6e5918659336824bbdda3501c66eaa79a4c" datatype="html">\n        <source>Selection limit reached</source>\n        <target>선택 한계에 도달함</target>\n      </trans-unit>\n      <trans-unit id="02d184c288f567825a1fcbf83bcd3099a10853d5" datatype="html">\n        <source>Filter tags</source>\n        <target>필터 테그들</target>\n      </trans-unit>\n      <trans-unit id="aa00748e49c269956837d6f3acdd8d218796a8d8" datatype="html">\n        <source>Add badge</source>\n        <target>베찌 추가</target>\n      </trans-unit>\n      <trans-unit id="4078a92d8121abdce7d8f346a88914923ec835fc" datatype="html">\n        <source>There are no items available.</source>\n        <target>사용가능한 아이템 없음</target>\n      </trans-unit>\n      <trans-unit id="f6755cff4957d5c3c89bafce5651f1b6fa2b1fd9" datatype="html">\n        <source>Add</source>\n        <target>추가</target>\n      </trans-unit>\n      <trans-unit id="019d4bd6a5690f0cfa0ecf346a4e6bf7f0d8debb" datatype="html">\n        <source>Remove</source>\n        <target>Remove</target>\n      </trans-unit>\n      <trans-unit id="54a4a3132b693575728a45a5f3154ad4c9af404b" datatype="html">\n        <source>Clone</source>\n        <target>복제</target>\n      </trans-unit>\n      <trans-unit id="1979da7460819153e11d2078244645d94291b69c" datatype="html">\n        <source>Copy</source>\n        <target>복사</target>\n      </trans-unit>\n      <trans-unit id="2e5e77dbaadd6588d8bbf737139fd9806294ae28" datatype="html">\n        <source>Deep Scrub</source>\n        <target>딥 스크럽</target>\n      </trans-unit>\n      <trans-unit id="bf463b189696c19769ea263227e6c22aefafb918" datatype="html">\n        <source>Destroy</source>\n        <target>파괴됨</target>\n      </trans-unit>\n      <trans-unit id="b4e94d529ff10db4d86f3f48900fa67ede3411fd" datatype="html">\n        <source>Evict</source>\n        <target>Evict</target>\n      </trans-unit>\n      <trans-unit id="3747fff7faf52b436ecff5fb8555091736d92c70" datatype="html">\n        <source>Flatten</source>\n        <target>단조로움</target>\n      </trans-unit>\n      <trans-unit id="66fdbf32e5449cc54a3d1e19c7b8f4ea238facfb" datatype="html">\n        <source>Mark Down</source>\n        <target>다운 표시</target>\n      </trans-unit>\n      <trans-unit id="0cda3e824fb2f9c731e5a60b859dedc1fe03127e" datatype="html">\n        <source>Mark In</source>\n        <target>인 표시</target>\n      </trans-unit>\n      <trans-unit id="f833354f43cb38c5716faa8759a9bbdd1ab8f199" datatype="html">\n        <source>Mark Lost</source>\n        <target>손실 표시</target>\n      </trans-unit>\n      <trans-unit id="75fb9f970ba365398c45e57bbb1019c009f6b832" datatype="html">\n        <source>Mark Out</source>\n        <target>아웃 표시</target>\n      </trans-unit>\n      <trans-unit id="45480c03b0a3a37ff8f6a5600a6a034b40fbaea4" datatype="html">\n        <source>Protect</source>\n        <target>보호</target>\n      </trans-unit>\n      <trans-unit id="e26f9cf3666aace4e524b1505c9795d76d87738d" datatype="html">\n        <source>Rename</source>\n        <target>이름변경</target>\n      </trans-unit>\n      <trans-unit id="d5cec7468241d72cafd86ad1af6d55b09a6e3ae5" datatype="html">\n        <source>Restore</source>\n        <target>복구</target>\n      </trans-unit>\n      <trans-unit id="ba073985cfd2528c77a746ed596b2f2052b973c5" datatype="html">\n        <source>Move to Trash</source>\n        <target>휴지통으로 옮기기</target>\n      </trans-unit>\n      <trans-unit id="3ea9b96a21a499d296a7f25407da0f3df6c2d5ed" datatype="html">\n        <source>Unprotect</source>\n        <target>보호않됨</target>\n      </trans-unit>\n      <trans-unit id="024cdb2814b0cb3f4ced148f1a0b9854447cb214" datatype="html">\n        <source>Change</source>\n        <target>Change</target>\n      </trans-unit>\n      <trans-unit id="011f3e2bfc1fd8407eb5f599352665bfeb145664" datatype="html">\n        <source>Recreate</source>\n        <target>Recreate</target>\n      </trans-unit>\n      <trans-unit id="6df2dfa48bef5510c82fb43f4e71a7f9557f3d71" datatype="html">\n        <source>Expire</source>\n        <target>Expire</target>\n      </trans-unit>\n      <trans-unit id="28df1b02fd88d2deb0212bc5d7ff34cf9492fa54" datatype="html">\n        <source>Deleted</source>\n        <target>삭제돔</target>\n      </trans-unit>\n      <trans-unit id="80e3b490720757978c99a7b5af3885faf202b955" datatype="html">\n        <source>Added</source>\n        <target>Added</target>\n      </trans-unit>\n      <trans-unit id="1aa4883bc4f1352f7a0bdd94810a9bf6dc22bd02" datatype="html">\n        <source>Removed</source>\n        <target>Removed</target>\n      </trans-unit>\n      <trans-unit id="402f3ee47f98fbbc68530239b1ddcbb9e96a460c" datatype="html">\n        <source>Edited</source>\n        <target>Edited</target>\n      </trans-unit>\n      <trans-unit id="96d56ec71c6e78cb4d6204c4a9359a3d38fcdb59" datatype="html">\n        <source>Canceled</source>\n        <target>Canceled</target>\n      </trans-unit>\n      <trans-unit id="a3318a2ee2bd0064b6b9ff72a4018b679ec63125" datatype="html">\n        <source>Cloned</source>\n        <target>복제된</target>\n      </trans-unit>\n      <trans-unit id="ef90545bc832876c0d7f9a10363c75137472bbb5" datatype="html">\n        <source>Copied</source>\n        <target>복사된</target>\n      </trans-unit>\n      <trans-unit id="5a13d3834133e09544ec93885662f181372dcf46" datatype="html">\n        <source>Deep Scrubbed</source>\n        <target>Deep Scrubbed</target>\n      </trans-unit>\n      <trans-unit id="7c9efb91434a5c15e9579c0b31c8e184b8c8240d" datatype="html">\n        <source>Destroyed</source>\n        <target>Destroyed</target>\n      </trans-unit>\n      <trans-unit id="647059bf3ea098fffedf92ddfad792bb3daa3c95" datatype="html">\n        <source>Flattened</source>\n        <target>평평하게 됨</target>\n      </trans-unit>\n      <trans-unit id="8df71e952319eafa71c8e6ef6144b780af8813ff" datatype="html">\n        <source>Marked Down</source>\n        <target>Marked Down</target>\n      </trans-unit>\n      <trans-unit id="25658f5a080a1cab3b91e17b756b1d1dc46bb9b3" datatype="html">\n        <source>Marked In</source>\n        <target>Marked In</target>\n      </trans-unit>\n      <trans-unit id="ebcf306036a6c5579df9448f77eca98d491db245" datatype="html">\n        <source>Marked Lost</source>\n        <target>Marked Lost</target>\n      </trans-unit>\n      <trans-unit id="3a8803369ac18be3ad762384b9fda095fe2a6dcc" datatype="html">\n        <source>Marked Out</source>\n        <target>Marked Out</target>\n      </trans-unit>\n      <trans-unit id="0fe2a62ea7c609fa8326ee6d38060bc5ba8bf34f" datatype="html">\n        <source>Protected</source>\n        <target>Protected</target>\n      </trans-unit>\n      <trans-unit id="69b0446c6c2411c4fe01e411b8ceec72d4044fb4" datatype="html">\n        <source>Purged</source>\n        <target>완전삭제됨</target>\n      </trans-unit>\n      <trans-unit id="d53de1a61bd51c815dc374c7f97e4ee69230e412" datatype="html">\n        <source>Renamed</source>\n        <target>Renamed</target>\n      </trans-unit>\n      <trans-unit id="86fc6cae82c095f14105eb8a61d7b3fa948304b7" datatype="html">\n        <source>Restored</source>\n        <target>복구됨</target>\n      </trans-unit>\n      <trans-unit id="e87dd0fd35460cb743046db918dfce2137b5977a" datatype="html">\n        <source>Reweighted</source>\n        <target>Reweighted</target>\n      </trans-unit>\n      <trans-unit id="dc21fd6547f2325c67f6deff925f29eb07a2db3e" datatype="html">\n        <source>Rolled back</source>\n        <target>롤백됨</target>\n      </trans-unit>\n      <trans-unit id="15dec4c2d73a516c10aef90aeeea3364fa794615" datatype="html">\n        <source>Scrubbed</source>\n        <target>Scrubbed</target>\n      </trans-unit>\n      <trans-unit id="8dc560ded67482f109a98e0638851ad1d37188b3" datatype="html">\n        <source>Showed</source>\n        <target>Showed</target>\n      </trans-unit>\n      <trans-unit id="197259b7ea76f15c6d0a64b075a673fd4112ada7" datatype="html">\n        <source>Moved to Trash</source>\n        <target>Moved to Trash</target>\n      </trans-unit>\n      <trans-unit id="8fb15cb102cd75b562680290b7e04c44d80018f2" datatype="html">\n        <source>Unprotected</source>\n        <target>Unprotected</target>\n      </trans-unit>\n      <trans-unit id="8588eafa498262a1cbb5043ad68cf0ff669c4f10" datatype="html">\n        <source>Recreated</source>\n        <target>Recreated</target>\n      </trans-unit>\n      <trans-unit id="ffde7468d7b5cad6990095ed68ddee3d67cd02f8" datatype="html">\n        <source>Expired</source>\n        <target>Expired</target>\n      </trans-unit>\n      <trans-unit id="4f20f2d5a6882190892e58b85f6ccbedfa737952" datatype="html">\n        <source>Yes</source>\n        <target>예</target>\n      </trans-unit>\n      <trans-unit id="3d3ae7deebc5949b0c1c78b9847886a94321d9fd" datatype="html">\n        <source>No</source>\n        <target>아니오</target>\n      </trans-unit>\n      <trans-unit id="99fa0b67376d40142bd4d3ace3344abf4f98b6a5" datatype="html">\n        <source>Your matcher seems to match no currently defined rule or active alert.</source>\n        <target>Your matcher seems to match no currently defined rule or active alert.</target>\n      </trans-unit>\n      <trans-unit id="7e284852732c303eb1f47de9aca2569e41aeffed" datatype="html">\n        <source>no active alerts</source>\n        <target>no active alerts</target>\n      </trans-unit>\n      <trans-unit id="b8042829e4fbe7b09fd9bac9fa0ecf5cc1802fee" datatype="html">\n        <source>1 active alert</source>\n        <target>1 active alert</target>\n      </trans-unit>\n      <trans-unit id="e24adce97669cb0fc74cc13fdc14179b6f78ea5e" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{n}}"/> active alerts\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{n}}"/> active alerts\n        </target>\n      </trans-unit>\n      <trans-unit id="d8fb058ff5883731d38a132da4ca45cfe8d719a3" datatype="html">\n        <source>Matches 1 rule</source>\n        <target>Matches 1 rule</target>\n      </trans-unit>\n      <trans-unit id="90aaef24d192e67c3fbc2ec6f8bfaff211cea128" datatype="html">\n        <source>Matches \n          <x id="INTERPOLATION" equiv-text="{{n}}"/> rules\n        </source>\n        <target>Matches \n          <x id="INTERPOLATION" equiv-text="{{n}}"/> rules\n        </target>\n      </trans-unit>\n      <trans-unit id="f4685dc581e18244cd410f1057a8c56a9dbfe8df" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rules}}"/> with \n          <x id="INTERPOLATION_1" equiv-text="{{alerts}}"/>.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rules}}"/> with \n          <x id="INTERPOLATION_1" equiv-text="{{alerts}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8fd98fb2a0f24ba72cde0787dd3f02cfc17de469" datatype="html">\n        <source>Quality of Service</source>\n        <target>서비스 량</target>\n      </trans-unit>\n      <trans-unit id="2c53f3ce2c6fff9025a7b41cc334521725da6e7b" datatype="html">\n        <source>BPS Limit</source>\n        <target>BPS 한계</target>\n      </trans-unit>\n      <trans-unit id="e897624a392419386b035bcd8529337e262fc41d" datatype="html">\n        <source>The desired limit of IO bytes per second.</source>\n        <target>원하는 초당 IO 바이트 수 제한입니다.</target>\n      </trans-unit>\n      <trans-unit id="dc56f77e4507da7e86a3accd0a2a7099a838d539" datatype="html">\n        <source>IOPS Limit</source>\n        <target>IOPS 제한</target>\n      </trans-unit>\n      <trans-unit id="141c3f6eadbb35b0e17b2f847e4cac23240a6ea9" datatype="html">\n        <source>The desired limit of IO operations per second.</source>\n        <target>원하는 초당 IO 작업 제한입니다.</target>\n      </trans-unit>\n      <trans-unit id="3b3b101f16c38806e984b157e0cf22cd21451122" datatype="html">\n        <source>Read BPS Limit</source>\n        <target>읽기 BPS 제한</target>\n      </trans-unit>\n      <trans-unit id="87835fabb6a645873f3829a450ca1d58f97754f2" datatype="html">\n        <source>The desired limit of read bytes per second.</source>\n        <target>원하는 초당 읽기 바이스 수 제한입니다.</target>\n      </trans-unit>\n      <trans-unit id="28b485e700df46d70b96666099f714e3ae9e5c2e" datatype="html">\n        <source>Read IOPS Limit</source>\n        <target>읽기 IOPS 한도</target>\n      </trans-unit>\n      <trans-unit id="5907bd1a5cf3e20e740bca676cb1538372e1f9ff" datatype="html">\n        <source>The desired limit of read operations per second.</source>\n        <target>원하는 초당 읽기 작업 제한입니다.</target>\n      </trans-unit>\n      <trans-unit id="07317121f0b194987d4dee8b322f521ac17bf124" datatype="html">\n        <source>Write BPS Limit</source>\n        <target>쓰기 BPS 한도</target>\n      </trans-unit>\n      <trans-unit id="4022c78bd9132ca2ec67927f8484c437d1d9b6fd" datatype="html">\n        <source>The desired limit of write bytes per second.</source>\n        <target>원하는 초당 쓰기 바이트 수 제한입니다.</target>\n      </trans-unit>\n      <trans-unit id="52c22c19f98ff3a09bd811292954a889b93d28b7" datatype="html">\n        <source>Write IOPS Limit</source>\n        <target>쓰기 IOPS 제한</target>\n      </trans-unit>\n      <trans-unit id="0ed62e3fd8654b3191fc7fa959ad3f10f1ea773a" datatype="html">\n        <source>The desired limit of write operations per second.</source>\n        <target>원하는 초당 쓰기 작업 제한입니다.</target>\n      </trans-unit>\n      <trans-unit id="d90c99d77864f21f932ee1369019f400c4ad0e2d" datatype="html">\n        <source>BPS Burst</source>\n        <target>BPS 버스트</target>\n      </trans-unit>\n      <trans-unit id="29c32192f4d185139aaaf6d3a766a3411dfeabbe" datatype="html">\n        <source>The desired burst limit of IO bytes.</source>\n        <target>원하는 버스트 IO 바이트 한도 입니다.</target>\n      </trans-unit>\n      <trans-unit id="b988b90489e899941e196c3dd0ecc22e37540224" datatype="html">\n        <source>IOPS Burst</source>\n        <target>IOPS 버스트</target>\n      </trans-unit>\n      <trans-unit id="02c5de8ff11870f1b3896f2b45637ce0dba1ed4b" datatype="html">\n        <source>The desired burst limit of IO operations.</source>\n        <target>원하는 IO 작업의 버스트 한계입니다.</target>\n      </trans-unit>\n      <trans-unit id="7a160538129b37cf595f1651f28b5fac62fbc0f8" datatype="html">\n        <source>Read BPS Burst</source>\n        <target>읽기 BPS 버스트</target>\n      </trans-unit>\n      <trans-unit id="b573a5df16a53b9947288461bc24e6a0eb4341d6" datatype="html">\n        <source>The desired burst limit of read bytes.</source>\n        <target>원하는 읽기 버스트 한계입니다.</target>\n      </trans-unit>\n      <trans-unit id="1d5b8c2a0c653651cc4ca4b8fed9456f449220d1" datatype="html">\n        <source>Read IOPS Burst</source>\n        <target>읽기 IOPS 버스트</target>\n      </trans-unit>\n      <trans-unit id="20b199f9d4a8d08ffefec66040e27639ec221512" datatype="html">\n        <source>The desired burst limit of read operations.</source>\n        <target>원하는 읽기 작업의 버스트 한도입니다.</target>\n      </trans-unit>\n      <trans-unit id="824525ae57992aee629ddffcd500a8b77087ddec" datatype="html">\n        <source>Write BPS Burst</source>\n        <target>쓰기 BPS 버스트</target>\n      </trans-unit>\n      <trans-unit id="a90aac4050a5d79765da5e1186909f6d4d7f981d" datatype="html">\n        <source>The desired burst limit of write bytes.</source>\n        <target>쓰기 바이트의 원하는 버스트 한도.</target>\n      </trans-unit>\n      <trans-unit id="35a8c6e6c249c7d16e26aa7c4ef97c06db405070" datatype="html">\n        <source>Write IOPS Burst</source>\n        <target>쓰기 IOPS 버스트</target>\n      </trans-unit>\n      <trans-unit id="b356abd41d7e9eea4d20c03d2e6892b6d435ecbd" datatype="html">\n        <source>The desired burst limit of write operations.</source>\n        <target>쓰기 바이트의 원하는 버스트 한도.</target>\n      </trans-unit>\n      <trans-unit id="24c4d50fe8567de381a20a1745f1b6d37eacaa90" datatype="html">\n        <source>Failed to \n          <x id="INTERPOLATION" equiv-text="{{failure}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{metadata}}"/>\n        </source>\n        <target>Failed to \n          <x id="INTERPOLATION" equiv-text="{{failure}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{metadata}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="f54b6f09b390d5ade0e354f6c7d4743c10a315cc" datatype="html">\n        <source>Executing</source>\n        <target>수행중</target>\n      </trans-unit>\n      <trans-unit id="5cdfe3e3330ea42bfd29c540dbd268bee97d364d" datatype="html">\n        <source>execute</source>\n        <target>수행</target>\n      </trans-unit>\n      <trans-unit id="6e98e243518daa88be30330fcdbd2d10f8eae4d7" datatype="html">\n        <source>Executed</source>\n        <target>수행된</target>\n      </trans-unit>\n      <trans-unit id="24b09aa5bd909273a023d2d788a2673325c77e31" datatype="html">\n        <source>unknown task</source>\n        <target>알려지지 않는 작업</target>\n      </trans-unit>\n      <trans-unit id="114b5f92b9192b229ffc9a450319a97ccca2aa5c" datatype="html">\n        <source>Creating</source>\n        <target>생성하는 중</target>\n      </trans-unit>\n      <trans-unit id="56695b69d27437ada580a187958407e7c856d46e" datatype="html">\n        <source>create</source>\n        <target>생성</target>\n      </trans-unit>\n      <trans-unit id="9db60170ef3b3b41a863e7d5ee7cec10919b9141" datatype="html">\n        <source>Updating</source>\n        <target>갱신 중</target>\n      </trans-unit>\n      <trans-unit id="64412640835b7d25247cb254d4f911366c0e6862" datatype="html">\n        <source>update</source>\n        <target>갱신</target>\n      </trans-unit>\n      <trans-unit id="416193bb373d59477458b00e5922d755e2e2cacd" datatype="html">\n        <source>Deleting</source>\n        <target>삭제 중</target>\n      </trans-unit>\n      <trans-unit id="70ef158c584bafe788e319a0bffa11b02ee9abf1" datatype="html">\n        <source>delete</source>\n        <target>삭제</target>\n      </trans-unit>\n      <trans-unit id="d07a282afc7fbdb39cea6e1c9b544882a7260a86" datatype="html">\n        <source>Adding</source>\n        <target>Adding</target>\n      </trans-unit>\n      <trans-unit id="a11ec4e640f241329943237d2a3cceaa4823658e" datatype="html">\n        <source>add</source>\n        <target>add</target>\n      </trans-unit>\n      <trans-unit id="ea1c70b874904216cc5af24bd7cb3dab2d074d42" datatype="html">\n        <source>Removing</source>\n        <target>Removing</target>\n      </trans-unit>\n      <trans-unit id="4da487aec5a29ce4372e7b512227cd665b01fe6f" datatype="html">\n        <source>remove</source>\n        <target>remove</target>\n      </trans-unit>\n      <trans-unit id="3f757cfc3749ebb5d4462017cb60138ca082f15f" datatype="html">\n        <source>RBD \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>RBD \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="a6c681e6130fe440ae40de99a405fcf5c7eefee1" datatype="html">\n        <source>RBD snapshot \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>RBD snapshot \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="4fb54a0291f49583c317d4a3690239141b5a8f68" datatype="html">\n        <source>mirror mode for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>mirror mode for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="6621ab6e122a149326a1e48e9051a41e7f203cf6" datatype="html">\n        <source>mirror peer for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>mirror peer for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="db15adc778317d551232fe712eb03a2c1eac4a43" datatype="html">\n        <source>all dashboards</source>\n        <target>all dashboards</target>\n      </trans-unit>\n      <trans-unit id="1b559dbd9cc9664fd788c2da9a10d3abafe066cb" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8fc28e1103d9f2ef47b9fff9a4f74e8365c7cf19" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="1cdc7ea44fcb85d0cfcf6e7379d625d8674a8fbe" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="1ff7676ad1e991102224540a32dd44ad1ab88aa8" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.\n        </target>\n      </trans-unit>\n      <trans-unit id="c3a1dcca2b2ba20fbe39e2441e7bb1cf9c20cdf3" datatype="html">\n        <source>Cloning</source>\n        <target>복제중</target>\n      </trans-unit>\n      <trans-unit id="b5fa4e0a3a279dee5b6bf7b823e54387f7c79994" datatype="html">\n        <source>clone</source>\n        <target>복제</target>\n      </trans-unit>\n      <trans-unit id="29b7452e8367af9aa8fa828f16ff94c3530e7a1a" datatype="html">\n        <source>Snapshot of \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> must be protected.\n        </source>\n        <target>Snapshot of \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> must be protected.\n        </target>\n      </trans-unit>\n      <trans-unit id="369f93b9a07a9465f7a261e9f0021b6cfa7180c5" datatype="html">\n        <source>Copying</source>\n        <target>복사중</target>\n      </trans-unit>\n      <trans-unit id="37584f889855d153a106f5dffe23d21f9453c8ff" datatype="html">\n        <source>copy</source>\n        <target>복사</target>\n      </trans-unit>\n      <trans-unit id="6ea9e313a04ef59222feaadfe84e97b4c69d7e9e" datatype="html">\n        <source>Flattening</source>\n        <target>평평하게 하는 중</target>\n      </trans-unit>\n      <trans-unit id="1f57593581b64d2d4c70eab1736bd9bccc66a7dc" datatype="html">\n        <source>flatten</source>\n        <target>평평함</target>\n      </trans-unit>\n      <trans-unit id="d990ef9680cd23bbe652c37eb46bf038cfee80ad" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="a101745d080ef65c09bd5fafc796f94ddb9f9d60" datatype="html">\n        <source>Cannot unprotect \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it contains child images.\n        </source>\n        <target>Cannot unprotect \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it contains child images.\n        </target>\n      </trans-unit>\n      <trans-unit id="647968f4cde7786cd53ec8e6aa9802ac6824a262" datatype="html">\n        <source>Cannot delete \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it\'s protected.\n        </source>\n        <target>Cannot delete \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it\'s protected.\n        </target>\n      </trans-unit>\n      <trans-unit id="57ddd3e15cf0ce974356b757451f50116a27272b" datatype="html">\n        <source>Rolling back</source>\n        <target>롤백 중</target>\n      </trans-unit>\n      <trans-unit id="a8913a3a5ee61f2598b5f0432cb9b20cdd60548e" datatype="html">\n        <source>rollback</source>\n        <target>롤백</target>\n      </trans-unit>\n      <trans-unit id="de8676f0017c9db6c49388cd7d63cd0a83a0c1dc" datatype="html">\n        <source>Moving</source>\n        <target>옮기는 중</target>\n      </trans-unit>\n      <trans-unit id="2d810712308ae63cb795d809687a3254ef7a2f05" datatype="html">\n        <source>move</source>\n        <target>옮기기</target>\n      </trans-unit>\n      <trans-unit id="f3ba995236e5c1cc77686108980c099a90aec754" datatype="html">\n        <source>Moved</source>\n        <target>옮겨짐</target>\n      </trans-unit>\n      <trans-unit id="d0422169252d132624a20f267b5c29f28cb53ebe" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' to trash\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' to trash\n        </target>\n      </trans-unit>\n      <trans-unit id="b603e2dfed9808222fbcb5a7c5f4da2cc6ae2aae" datatype="html">\n        <source>Could not find image.</source>\n        <target>이미지를 찾을 수 없습니다.</target>\n      </trans-unit>\n      <trans-unit id="398debe73006b1fe5177ed81d2e7b0cc852f61ec" datatype="html">\n        <source>Restoring</source>\n        <target>복구중</target>\n      </trans-unit>\n      <trans-unit id="c252806fb400e79bac194696632c9362742b1538" datatype="html">\n        <source>restore</source>\n        <target>복구</target>\n      </trans-unit>\n      <trans-unit id="30b8bcf69b3f1754b7abba173fd806cfcea4cb04" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' into \'\n          <x id="INTERPOLATION_1" equiv-text="{{new_id}}"/>\'\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' into \'\n          <x id="INTERPOLATION_1" equiv-text="{{new_id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="13b7b241cef989fe0932ddd180e757658e1817e7" datatype="html">\n        <source>Image name \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' is already in use.\n        </source>\n        <target>Image name \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' is already in use.\n        </target>\n      </trans-unit>\n      <trans-unit id="cc1cee12c833e8fbbef28a2a7c449dc530da912d" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="38e5f47f8bef505652f3e87f46efb00ead1350a3" datatype="html">\n        <source>Purging</source>\n        <target>완전삭제 중</target>\n      </trans-unit>\n      <trans-unit id="e4e57747f123f0fe6fe3a0ecf608f8bc287dec0c" datatype="html">\n        <source>purge</source>\n        <target>완전삭제</target>\n      </trans-unit>\n      <trans-unit id="1560d58fdf39663929653250d45f5b1dfe078fea" datatype="html">\n        <source>all pools</source>\n        <target>모든 풀들</target>\n      </trans-unit>\n      <trans-unit id="1ac3dc50c2c3d86e98bc0967ee1e696810a2d3aa" datatype="html">\n        <source>images from \n          <x id="INTERPOLATION" equiv-text="{{message}}"/>\n        </source>\n        <target>images from \n          <x id="INTERPOLATION" equiv-text="{{message}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="02278abbb044ece04ab6bd80bd2060198d31d83b" datatype="html">\n        <source>Cannot disable mirroring because it contains a peer.</source>\n        <target>피어가 포함되어 있기 때문에 미러링을 비활성화 할 수 없습니다.</target>\n      </trans-unit>\n      <trans-unit id="f123ae1fc3b000e5d08e766dd78bff162afe709d" datatype="html">\n        <source>host \'\n          <x id="INTERPOLATION" equiv-text="{{hostname}}"/>\'\n        </source>\n        <target>host \'\n          <x id="INTERPOLATION" equiv-text="{{hostname}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="dfe70001dc590a9e12512cbb206aa29fb36fd00b" datatype="html">\n        <source>pool \'\n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>\'\n        </source>\n        <target>pool \'\n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="59630daf2f4786690fae0cdad55da8887236eabe" datatype="html">\n        <source>erasure code profile \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </source>\n        <target>erasure code profile \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="369462e5e018360e0600bb570866201ad5c3c8a8" datatype="html">\n        <source>target \'\n          <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>\'\n        </source>\n        <target>target \'\n          <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="cf41310917cb19b335e5a950972bbff2346f7a47" datatype="html">\n        <source>NFS \n          <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>\n        </source>\n        <target>NFS \n          <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="54bf6542e39412f83ec883266f443e31b304c937" datatype="html">\n        <source>Required rules for password complexity:\n    - must contain at least 8 characters\n    - cannot contain username\n    - cannot contain any keyword used in Ceph\n    - cannot contain any repetitive characters e.g. "aaa"\n    - cannot contain any sequencial characters e.g. "abc"\n    - must consist of characters from the following groups:\n      * alphabetic a-z, A-Z\n      * numbers 0-9\n      * special chars: !"#$%&amp; \'()*+,-./:;&lt;=&gt;?@[\\]^_`\n          <x id="INTERPOLATION" equiv-text="{{|}}"/>~\n      * any other characters (signs)\n        </source>\n        <target>Required rules for password complexity:\n    - must contain at least 8 characters\n    - cannot contain username\n    - cannot contain any keyword used in Ceph\n    - cannot contain any repetitive characters e.g. "aaa"\n    - cannot contain any sequencial characters e.g. "abc"\n    - must consist of characters from the following groups:\n      * alphabetic a-z, A-Z\n      * numbers 0-9\n      * special chars: !"#$%&amp; \'()*+,-./:;&lt;=&gt;?@[\\]^_`\n          <x id="INTERPOLATION" equiv-text="{{|}}"/>~\n      * any other characters (signs)\n        </target>\n      </trans-unit>\n      <trans-unit id="ba575e9364b43dc870e332265c5182bb357b7a49" datatype="html">\n        <source>Weak</source>\n        <target>Weak</target>\n      </trans-unit>\n      <trans-unit id="7e6c975ebea8b5f8b120905ca7acf9f8edf59d8e" datatype="html">\n        <source>OK</source>\n        <target>OK</target>\n      </trans-unit>\n      <trans-unit id="3f7349017a01eed18c3daf2b7295ca96ef442eb6" datatype="html">\n        <source>Strong</source>\n        <target>Strong</target>\n      </trans-unit>\n      <trans-unit id="a1e3aecc2022cb0ebed8575a24d0e29d2de815c6" datatype="html">\n        <source>Very strong</source>\n        <target>Very strong</target>\n      </trans-unit>\n    </body>\n  </file>\n</xliff>'},"3/HP":function(t,e,n){var a=n("mrSG").__assign,r=n("mrSG").__decorate,o=n("mrSG").__metadata;Object.defineProperty(e,"__esModule",{value:!0});var i=n("8Y7J"),s=n("5tze"),c=(n("bpWZ"),n("qwkt")),l=n("2V7f"),d=n("99TG"),u=n("QHrR"),g=n("i3PA"),f=n("fktO"),p=n("FLvf"),m=n("qCKp");e.DatatableComponent=function(){function t(t,e,n,a,r,o){this.scrollbarHelper=t,this.dimensionsHelper=e,this.cd=n,this.columnChangesService=o,this.selected=[],this.scrollbarV=!1,this.scrollbarH=!1,this.rowHeight=30,this.columnMode=c.ColumnMode.standard,this.headerHeight=30,this.footerHeight=0,this.externalPaging=!1,this.externalSorting=!1,this.loadingIndicator=!1,this.reorderable=!0,this.swapColumns=!0,this.sortType=c.SortType.single,this.sorts=[],this.cssClasses={sortAscending:"datatable-icon-up",sortDescending:"datatable-icon-down",pagerLeftArrow:"datatable-icon-left",pagerRightArrow:"datatable-icon-right",pagerPrevious:"datatable-icon-prev",pagerNext:"datatable-icon-skip"},this.messages={emptyMessage:"No data to display",totalMessage:"total",selectedMessage:"selected"},this.rowIdentity=function(t){return t},this.groupExpansionDefault=!1,this.selectAllRowsOnPage=!1,this.virtualization=!0,this.summaryRow=!1,this.summaryHeight=30,this.summaryPosition="top",this.scroll=new i.EventEmitter,this.activate=new i.EventEmitter,this.select=new i.EventEmitter,this.sort=new i.EventEmitter,this.page=new i.EventEmitter,this.reorder=new i.EventEmitter,this.resize=new i.EventEmitter,this.tableContextmenu=new i.EventEmitter(!1),this.treeAction=new i.EventEmitter,this.rowCount=0,this._offsetX=new m.BehaviorSubject(0),this._count=0,this._offset=0,this._subscriptions=[],this.element=a.nativeElement,this.rowDiffer=r.find({}).create()}return Object.defineProperty(t.prototype,"rows",{get:function(){return this._rows},set:function(t){this._rows=t,t&&(this._internalRows=t.slice()),this.externalSorting||this.sortInternalRows(),this._internalRows=s.groupRowsByParents(this._internalRows,s.optionalGetterForProp(this.treeFromRelation),s.optionalGetterForProp(this.treeToRelation)),this.recalculate(),this._rows&&this._groupRowsBy&&(this.groupedRows=this.groupArrayBy(this._rows,this._groupRowsBy)),this.cd.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"groupRowsBy",{get:function(){return this._groupRowsBy},set:function(t){t&&(this._groupRowsBy=t,this._rows&&this._groupRowsBy&&(this.groupedRows=this.groupArrayBy(this._rows,this._groupRowsBy)))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"columns",{get:function(){return this._columns},set:function(t){t&&(this._internalColumns=t.slice(),s.setColumnDefaults(this._internalColumns),this.recalculateColumns()),this._columns=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"limit",{get:function(){return this._limit},set:function(t){this._limit=t,this.recalculate()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"count",{get:function(){return this._count},set:function(t){this._count=t,this.recalculate()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"offset",{get:function(){return Math.max(Math.min(this._offset,Math.ceil(this.rowCount/this.pageSize)-1),0)},set:function(t){this._offset=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isFixedHeader",{get:function(){var t=this.headerHeight;return"string"!=typeof t||"auto"!==t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isFixedRow",{get:function(){var t=this.rowHeight;return"string"!=typeof t||"auto"!==t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isVertScroll",{get:function(){return this.scrollbarV},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isVirtualized",{get:function(){return this.virtualization},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isHorScroll",{get:function(){return this.scrollbarH},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isSelectable",{get:function(){return void 0!==this.selectionType},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isCheckboxSelection",{get:function(){return this.selectionType===c.SelectionType.checkbox},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isCellSelection",{get:function(){return this.selectionType===c.SelectionType.cell},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isSingleSelection",{get:function(){return this.selectionType===c.SelectionType.single},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isMultiSelection",{get:function(){return this.selectionType===c.SelectionType.multi},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isMultiClickSelection",{get:function(){return this.selectionType===c.SelectionType.multiClick},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"columnTemplates",{get:function(){return this._columnTemplates},set:function(t){this._columnTemplates=t,this.translateColumns(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"allRowsSelected",{get:function(){var t=this.rows&&this.selected&&this.selected.length===this.rows.length;if(this.selectAllRowsOnPage){var e=this.bodyComponent.indexes;t=this.selected.length===e.last-e.first}return this.selected&&this.rows&&0!==this.rows.length&&t},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){this.recalculate()},t.prototype.ngAfterViewInit=function(){var t=this;this.externalSorting||this.sortInternalRows(),"undefined"!=typeof requestAnimationFrame&&requestAnimationFrame((function(){t.recalculate(),t.externalPaging&&t.scrollbarV&&t.page.emit({count:t.count,pageSize:t.pageSize,limit:t.limit,offset:0})}))},t.prototype.ngAfterContentInit=function(){var t=this;this.columnTemplates.changes.subscribe((function(e){return t.translateColumns(e)})),this.listenForColumnInputChanges()},t.prototype.translateColumns=function(t){if(t){var e=t.toArray();e.length&&(this._internalColumns=s.translateTemplates(e),s.setColumnDefaults(this._internalColumns),this.recalculateColumns(),this.sortInternalRows(),this.cd.markForCheck())}},t.prototype.groupArrayBy=function(t,e){var n=new Map;return t.forEach((function(t){var a=t[e];n.has(a)?n.get(a).push(t):n.set(a,[t])})),Array.from(n,(function(t){return{key:t[0],value:t[1]}}))},t.prototype.ngDoCheck=function(){this.rowDiffer.diff(this.rows)&&(this.externalSorting?this._internalRows=this.rows.slice():this.sortInternalRows(),this._internalRows=s.groupRowsByParents(this._internalRows,s.optionalGetterForProp(this.treeFromRelation),s.optionalGetterForProp(this.treeToRelation)),this.recalculatePages(),this.cd.markForCheck())},t.prototype.recalculate=function(){this.recalculateDims(),this.recalculateColumns()},t.prototype.onWindowResize=function(){this.recalculate()},t.prototype.recalculateColumns=function(t,e,n){if(void 0===t&&(t=this._internalColumns),void 0===e&&(e=-1),void 0===n&&(n=this.scrollbarH),t){var a=this._innerWidth;return this.scrollbarV&&(a-=this.scrollbarHelper.width),this.columnMode===c.ColumnMode.force?s.forceFillColumnWidths(t,a,e,n):this.columnMode===c.ColumnMode.flex&&s.adjustColumnWidths(t,a),t}},t.prototype.recalculateDims=function(){var t=this.dimensionsHelper.getDimensions(this.element);if(this._innerWidth=Math.floor(t.width),this.scrollbarV){var e=t.height;this.headerHeight&&(e-=this.headerHeight),this.footerHeight&&(e-=this.footerHeight),this.bodyHeight=e}this.recalculatePages()},t.prototype.recalculatePages=function(){this.pageSize=this.calcPageSize(),this.rowCount=this.calcRowCount()},t.prototype.onBodyPage=function(t){this.externalPaging&&!this.virtualization||(this.offset=t.offset,this.page.emit({count:this.count,pageSize:this.pageSize,limit:this.limit,offset:this.offset}))},t.prototype.onBodyScroll=function(t){this._offsetX.next(t.offsetX),this.scroll.emit(t),this.cd.detectChanges()},t.prototype.onFooterPage=function(t){this.offset=t.page-1,this.bodyComponent.updateOffsetY(this.offset),this.page.emit({count:this.count,pageSize:this.pageSize,limit:this.limit,offset:this.offset}),this.selectAllRowsOnPage&&(this.selected=[],this.select.emit({selected:this.selected}))},t.prototype.calcPageSize=function(t){if(void 0===t&&(t=this.rows),this.scrollbarV&&this.virtualization){var e=Math.ceil(this.bodyHeight/this.rowHeight);return Math.max(e,0)}return void 0!==this.limit?this.limit:t?t.length:0},t.prototype.calcRowCount=function(t){return void 0===t&&(t=this.rows),this.externalPaging?this.count:t?this.groupedRows?this.groupedRows.length:null!=this.treeFromRelation&&null!=this.treeToRelation?this._internalRows.length:t.length:0},t.prototype.onColumnContextmenu=function(t){this.tableContextmenu.emit({event:t.event,type:c.ContextmenuType.header,content:t.column})},t.prototype.onRowContextmenu=function(t){this.tableContextmenu.emit({event:t.event,type:c.ContextmenuType.body,content:t.row})},t.prototype.onColumnResize=function(t){var e=t.column,n=t.newValue;if(void 0!==e){var r,o=this._internalColumns.map((function(t,o){return(t=a({},t)).$$id===e.$$id&&(r=o,t.width=n,t.$$oldWidth=n),t}));this.recalculateColumns(o,r),this._internalColumns=o,this.resize.emit({column:e,newValue:n})}},t.prototype.onColumnReorder=function(t){var e=t.column,n=t.newValue,r=t.prevValue,o=this._internalColumns.map((function(t){return a({},t)}));if(this.swapColumns){var i=o[n];o[n]=e,o[r]=i}else if(n>r){for(var s=o[r],c=r;c<n;c++)o[c]=o[c+1];o[n]=s}else{for(s=o[r],c=r;c>n;c--)o[c]=o[c-1];o[n]=s}this._internalColumns=o,this.reorder.emit({column:e,newValue:n,prevValue:r})},t.prototype.onColumnSort=function(t){this.selectAllRowsOnPage&&(this.selected=[],this.select.emit({selected:this.selected})),this.sorts=t.sorts,!1===this.externalSorting&&this.sortInternalRows(),this._internalRows=s.groupRowsByParents(this._internalRows,s.optionalGetterForProp(this.treeFromRelation),s.optionalGetterForProp(this.treeToRelation)),this.offset=0,this.bodyComponent.updateOffsetY(this.offset),this.sort.emit(t)},t.prototype.onHeaderSelect=function(t){var e,n;if(this.selectAllRowsOnPage){var a=this.bodyComponent.indexes.first,r=this.bodyComponent.indexes.last,o=this.selected.length===r-a;this.selected=[],o||(e=this.selected).push.apply(e,this._internalRows.slice(a,r))}else o=this.selected.length===this.rows.length,this.selected=[],o||(n=this.selected).push.apply(n,this.rows);this.select.emit({selected:this.selected})},t.prototype.onBodySelect=function(t){this.select.emit(t)},t.prototype.onTreeAction=function(t){var e=this,n=t.row,a=this._rows.findIndex((function(n){return n[e.treeToRelation]===t.row[e.treeToRelation]}));this.treeAction.emit({row:n,rowIndex:a})},t.prototype.ngOnDestroy=function(){this._subscriptions.forEach((function(t){return t.unsubscribe()}))},t.prototype.listenForColumnInputChanges=function(){var t=this;this._subscriptions.push(this.columnChangesService.columnInputChanges$.subscribe((function(){t.columnTemplates&&t.columnTemplates.notifyOnChanges()})))},t.prototype.sortInternalRows=function(){this._internalRows=s.sortRows(this._internalRows,this._internalColumns,this.sorts)},r([i.Input(),o("design:type",Object)],t.prototype,"targetMarkerTemplate",void 0),r([i.Input(),o("design:type",Object),o("design:paramtypes",[Object])],t.prototype,"rows",null),r([i.Input(),o("design:type",String),o("design:paramtypes",[String])],t.prototype,"groupRowsBy",null),r([i.Input(),o("design:type",Array)],t.prototype,"groupedRows",void 0),r([i.Input(),o("design:type",Array),o("design:paramtypes",[Array])],t.prototype,"columns",null),r([i.Input(),o("design:type",Array)],t.prototype,"selected",void 0),r([i.Input(),o("design:type",Boolean)],t.prototype,"scrollbarV",void 0),r([i.Input(),o("design:type",Boolean)],t.prototype,"scrollbarH",void 0),r([i.Input(),o("design:type",Number)],t.prototype,"rowHeight",void 0),r([i.Input(),o("design:type",String)],t.prototype,"columnMode",void 0),r([i.Input(),o("design:type",Object)],t.prototype,"headerHeight",void 0),r([i.Input(),o("design:type",Number)],t.prototype,"footerHeight",void 0),r([i.Input(),o("design:type",Boolean)],t.prototype,"externalPaging",void 0),r([i.Input(),o("design:type",Boolean)],t.prototype,"externalSorting",void 0),r([i.Input(),o("design:type",Number),o("design:paramtypes",[Number])],t.prototype,"limit",null),r([i.Input(),o("design:type",Number),o("design:paramtypes",[Number])],t.prototype,"count",null),r([i.Input(),o("design:type",Number),o("design:paramtypes",[Number])],t.prototype,"offset",null),r([i.Input(),o("design:type",Boolean)],t.prototype,"loadingIndicator",void 0),r([i.Input(),o("design:type",String)],t.prototype,"selectionType",void 0),r([i.Input(),o("design:type",Boolean)],t.prototype,"reorderable",void 0),r([i.Input(),o("design:type",Boolean)],t.prototype,"swapColumns",void 0),r([i.Input(),o("design:type",String)],t.prototype,"sortType",void 0),r([i.Input(),o("design:type",Array)],t.prototype,"sorts",void 0),r([i.Input(),o("design:type",Object)],t.prototype,"cssClasses",void 0),r([i.Input(),o("design:type",Object)],t.prototype,"messages",void 0),r([i.Input(),o("design:type",Function)],t.prototype,"rowIdentity",void 0),r([i.Input(),o("design:type",Object)],t.prototype,"rowClass",void 0),r([i.Input(),o("design:type",Object)],t.prototype,"selectCheck",void 0),r([i.Input(),o("design:type",Function)],t.prototype,"displayCheck",void 0),r([i.Input(),o("design:type",Boolean)],t.prototype,"groupExpansionDefault",void 0),r([i.Input(),o("design:type",String)],t.prototype,"trackByProp",void 0),r([i.Input(),o("design:type",Object)],t.prototype,"selectAllRowsOnPage",void 0),r([i.Input(),o("design:type",Boolean)],t.prototype,"virtualization",void 0),r([i.Input(),o("design:type",String)],t.prototype,"treeFromRelation",void 0),r([i.Input(),o("design:type",String)],t.prototype,"treeToRelation",void 0),r([i.Input(),o("design:type",Boolean)],t.prototype,"summaryRow",void 0),r([i.Input(),o("design:type",Number)],t.prototype,"summaryHeight",void 0),r([i.Input(),o("design:type",String)],t.prototype,"summaryPosition",void 0),r([i.Output(),o("design:type",i.EventEmitter)],t.prototype,"scroll",void 0),r([i.Output(),o("design:type",i.EventEmitter)],t.prototype,"activate",void 0),r([i.Output(),o("design:type",i.EventEmitter)],t.prototype,"select",void 0),r([i.Output(),o("design:type",i.EventEmitter)],t.prototype,"sort",void 0),r([i.Output(),o("design:type",i.EventEmitter)],t.prototype,"page",void 0),r([i.Output(),o("design:type",i.EventEmitter)],t.prototype,"reorder",void 0),r([i.Output(),o("design:type",i.EventEmitter)],t.prototype,"resize",void 0),r([i.Output(),o("design:type",Object)],t.prototype,"tableContextmenu",void 0),r([i.Output(),o("design:type",i.EventEmitter)],t.prototype,"treeAction",void 0),r([i.HostBinding("class.fixed-header"),o("design:type",Boolean),o("design:paramtypes",[])],t.prototype,"isFixedHeader",null),r([i.HostBinding("class.fixed-row"),o("design:type",Boolean),o("design:paramtypes",[])],t.prototype,"isFixedRow",null),r([i.HostBinding("class.scroll-vertical"),o("design:type",Boolean),o("design:paramtypes",[])],t.prototype,"isVertScroll",null),r([i.HostBinding("class.virtualized"),o("design:type",Boolean),o("design:paramtypes",[])],t.prototype,"isVirtualized",null),r([i.HostBinding("class.scroll-horz"),o("design:type",Boolean),o("design:paramtypes",[])],t.prototype,"isHorScroll",null),r([i.HostBinding("class.selectable"),o("design:type",Boolean),o("design:paramtypes",[])],t.prototype,"isSelectable",null),r([i.HostBinding("class.checkbox-selection"),o("design:type",Boolean),o("design:paramtypes",[])],t.prototype,"isCheckboxSelection",null),r([i.HostBinding("class.cell-selection"),o("design:type",Boolean),o("design:paramtypes",[])],t.prototype,"isCellSelection",null),r([i.HostBinding("class.single-selection"),o("design:type",Boolean),o("design:paramtypes",[])],t.prototype,"isSingleSelection",null),r([i.HostBinding("class.multi-selection"),o("design:type",Boolean),o("design:paramtypes",[])],t.prototype,"isMultiSelection",null),r([i.HostBinding("class.multi-click-selection"),o("design:type",Boolean),o("design:paramtypes",[])],t.prototype,"isMultiClickSelection",null),r([i.ContentChildren(u.DataTableColumnDirective),o("design:type",i.QueryList),o("design:paramtypes",[i.QueryList])],t.prototype,"columnTemplates",null),r([i.ContentChild(g.DatatableRowDetailDirective,{static:!1}),o("design:type",g.DatatableRowDetailDirective)],t.prototype,"rowDetail",void 0),r([i.ContentChild(d.DatatableGroupHeaderDirective,{static:!1}),o("design:type",d.DatatableGroupHeaderDirective)],t.prototype,"groupHeader",void 0),r([i.ContentChild(f.DatatableFooterDirective,{static:!1}),o("design:type",f.DatatableFooterDirective)],t.prototype,"footer",void 0),r([i.ViewChild(l.DataTableBodyComponent,{static:!1}),o("design:type",l.DataTableBodyComponent)],t.prototype,"bodyComponent",void 0),r([i.ViewChild(p.DataTableHeaderComponent,{static:!1}),o("design:type",p.DataTableHeaderComponent)],t.prototype,"headerComponent",void 0),r([i.HostListener("window:resize"),s.throttleable(5),o("design:type",Function),o("design:paramtypes",[]),o("design:returntype",void 0)],t.prototype,"onWindowResize",null),r([i.Component({selector:"ngx-datatable",template:'\n    <div\n      visibilityObserver\n      (visible)="recalculate()">\n      <datatable-header\n        *ngIf="headerHeight"\n        [sorts]="sorts"\n        [sortType]="sortType"\n        [scrollbarH]="scrollbarH"\n        [innerWidth]="_innerWidth"\n        [offsetX]="_offsetX | async"\n        [dealsWithGroup]="groupedRows"\n        [columns]="_internalColumns"\n        [headerHeight]="headerHeight"\n        [reorderable]="reorderable"\n        [targetMarkerTemplate]="targetMarkerTemplate"\n        [sortAscendingIcon]="cssClasses.sortAscending"\n        [sortDescendingIcon]="cssClasses.sortDescending"\n        [allRowsSelected]="allRowsSelected"\n        [selectionType]="selectionType"\n        (sort)="onColumnSort($event)"\n        (resize)="onColumnResize($event)"\n        (reorder)="onColumnReorder($event)"\n        (select)="onHeaderSelect($event)"\n        (columnContextmenu)="onColumnContextmenu($event)">\n      </datatable-header>\n      <datatable-body\n        [groupRowsBy]="groupRowsBy"\n        [groupedRows]="groupedRows"\n        [rows]="_internalRows"\n        [groupExpansionDefault]="groupExpansionDefault"\n        [scrollbarV]="scrollbarV"\n        [scrollbarH]="scrollbarH"\n        [virtualization]="virtualization"\n        [loadingIndicator]="loadingIndicator"\n        [externalPaging]="externalPaging"\n        [rowHeight]="rowHeight"\n        [rowCount]="rowCount"\n        [offset]="offset"\n        [trackByProp]="trackByProp"\n        [columns]="_internalColumns"\n        [pageSize]="pageSize"\n        [offsetX]="_offsetX | async"\n        [rowDetail]="rowDetail"\n        [groupHeader]="groupHeader"\n        [selected]="selected"\n        [innerWidth]="_innerWidth"\n        [bodyHeight]="bodyHeight"\n        [selectionType]="selectionType"\n        [emptyMessage]="messages.emptyMessage"\n        [rowIdentity]="rowIdentity"\n        [rowClass]="rowClass"\n        [selectCheck]="selectCheck"\n        [displayCheck]="displayCheck"\n        [summaryRow]="summaryRow"\n        [summaryHeight]="summaryHeight"\n        [summaryPosition]="summaryPosition"\n        (page)="onBodyPage($event)"\n        (activate)="activate.emit($event)"\n        (rowContextmenu)="onRowContextmenu($event)"\n        (select)="onBodySelect($event)"\n        (scroll)="onBodyScroll($event)"\n        (treeAction)="onTreeAction($event)">\n      </datatable-body>\n      <datatable-footer\n        *ngIf="footerHeight"\n        [rowCount]="rowCount"\n        [pageSize]="pageSize"\n        [offset]="offset"\n        [footerHeight]="footerHeight"\n        [footerTemplate]="footer"\n        [totalMessage]="messages.totalMessage"\n        [pagerLeftArrowIcon]="cssClasses.pagerLeftArrow"\n        [pagerRightArrowIcon]="cssClasses.pagerRightArrow"\n        [pagerPreviousIcon]="cssClasses.pagerPrevious"\n        [selectedCount]="selected.length"\n        [selectedMessage]="!!selectionType && messages.selectedMessage"\n        [pagerNextIcon]="cssClasses.pagerNext"\n        (page)="onFooterPage($event)">\n      </datatable-footer>\n    </div>\n  ',changeDetection:i.ChangeDetectionStrategy.OnPush,encapsulation:i.ViewEncapsulation.None,styleUrls:["./datatable.component.css"],host:{class:"ngx-datatable"}})],t)}()},"33Wh":function(t,e,n){var a=n("yoRg"),r=n("eDl+");t.exports=Object.keys||function(t){return a(t,r)}},"38Bd":function(t,e,n){"use strict";n.d(e,"a",(function(){return i})),n.d(e,"b",(function(){return o})),n.d(e,"c",(function(){return r})),n.d(e,"d",(function(){return s}));var a=n("hpHm");class r{constructor(){this.animate=!1,this.max=100}}class o{constructor(t){this.isStacked=!1,this.addClass=!0,this.bars=[],this._max=100,Object.assign(this,t)}set animate(t){this._animate=t,this.bars.forEach(e=>{e.animate=t})}set striped(t){this._striped=t,this.bars.forEach(e=>{e.striped=t})}set value(t){this.isStacked=Array.isArray(t),this._value=t}get isBs3(){return Object(a.d)()}get max(){return this._max}set max(t){this._max=t,this.bars.forEach(t=>{t.recalculatePercentage()})}addBar(t){t.animate=this._animate,t.striped=this._striped,this.bars.push(t)}removeBar(t){this.bars.splice(this.bars.indexOf(t),1)}}class i{constructor(t){this.percent=0,this.progress=t}get value(){return this._value}set value(t){(t||0===t)&&(this._value=t,this.recalculatePercentage())}get setBarWidth(){return this.recalculatePercentage(),this.percent}get isBs3(){return Object(a.d)()}ngOnInit(){this.progress.addBar(this)}ngOnDestroy(){this.progress.removeBar(this)}recalculatePercentage(){this.percent=+(this.value/this.progress.max*100).toFixed(2);const t=this.progress.bars.reduce((function(t,e){return t+e.percent}),0);t>100&&(this.percent-=t-100)}}class s{static forRoot(){return{ngModule:s,providers:[r]}}}},"3A9y":function(t,e){t.exports=function(t){return this.__data__.has(t)}},"3E1r":function(t,e,n){!function(t){"use strict";var e={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},n={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};t.defineLocale("hi",{months:"जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर".split("_"),monthsShort:"जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.".split("_"),monthsParseExact:!0,weekdays:"रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm बजे",LTS:"A h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm बजे",LLLL:"dddd, D MMMM YYYY, A h:mm बजे"},calendar:{sameDay:"[आज] LT",nextDay:"[कल] LT",nextWeek:"dddd, LT",lastDay:"[कल] LT",lastWeek:"[पिछले] dddd, LT",sameElse:"L"},relativeTime:{future:"%s में",past:"%s पहले",s:"कुछ ही क्षण",ss:"%d सेकंड",m:"एक मिनट",mm:"%d मिनट",h:"एक घंटा",hh:"%d घंटे",d:"एक दिन",dd:"%d दिन",M:"एक महीने",MM:"%d महीने",y:"एक वर्ष",yy:"%d वर्ष"},preparse:function(t){return t.replace(/[१२३४५६७८९०]/g,(function(t){return n[t]}))},postformat:function(t){return t.replace(/\d/g,(function(t){return e[t]}))},meridiemParse:/रात|सुबह|दोपहर|शाम/,meridiemHour:function(t,e){return 12===t&&(t=0),"रात"===e?t<4?t:t+12:"सुबह"===e?t:"दोपहर"===e?t>=10?t:t+12:"शाम"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"रात":t<10?"सुबह":t<17?"दोपहर":t<20?"शाम":"रात"},week:{dow:0,doy:6}})}(n("wd/R"))},"3Fdi":function(t,e){var n=Function.prototype.toString;t.exports=function(t){if(null!=t){try{return n.call(t)}catch(e){}try{return t+""}catch(e){}}return""}},"3L66":function(t,e,n){var a=n("MMmD"),r=n("ExA7");t.exports=function(t){return r(t)&&a(t)}},"3MdB":function(t,e,n){var a=n("mrSG").__decorate,r=n("mrSG").__metadata;Object.defineProperty(e,"__esModule",{value:!0});var o=n("8Y7J"),i=n("qCKp"),s=n("kU1M");e.DraggableDirective=function(){function t(t){this.dragX=!0,this.dragY=!0,this.dragStart=new o.EventEmitter,this.dragging=new o.EventEmitter,this.dragEnd=new o.EventEmitter,this.isDragging=!1,this.element=t.nativeElement}return t.prototype.ngOnChanges=function(t){t.dragEventTarget&&t.dragEventTarget.currentValue&&this.dragModel.dragging&&this.onMousedown(t.dragEventTarget.currentValue)},t.prototype.ngOnDestroy=function(){this._destroySubscription()},t.prototype.onMouseup=function(t){this.isDragging&&(this.isDragging=!1,this.element.classList.remove("dragging"),this.subscription&&(this._destroySubscription(),this.dragEnd.emit({event:t,element:this.element,model:this.dragModel})))},t.prototype.onMousedown=function(t){var e=this;if(t.target.classList.contains("draggable")&&(this.dragX||this.dragY)){t.preventDefault(),this.isDragging=!0;var n={x:t.clientX,y:t.clientY},a=i.fromEvent(document,"mouseup");this.subscription=a.subscribe((function(t){return e.onMouseup(t)}));var r=i.fromEvent(document,"mousemove").pipe(s.takeUntil(a)).subscribe((function(t){return e.move(t,n)}));this.subscription.add(r),this.dragStart.emit({event:t,element:this.element,model:this.dragModel})}},t.prototype.move=function(t,e){if(this.isDragging){var n=t.clientY-e.y;this.dragX&&(this.element.style.left=t.clientX-e.x+"px"),this.dragY&&(this.element.style.top=n+"px"),this.element.classList.add("dragging"),this.dragging.emit({event:t,element:this.element,model:this.dragModel})}},t.prototype._destroySubscription=function(){this.subscription&&(this.subscription.unsubscribe(),this.subscription=void 0)},a([o.Input(),r("design:type",Object)],t.prototype,"dragEventTarget",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"dragModel",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"dragX",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"dragY",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"dragStart",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"dragging",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"dragEnd",void 0),a([o.Directive({selector:"[draggable]"})],t)}()},"3N8a":function(t,e,n){"use strict";var a=n("quSY");class r extends a.a{constructor(t,e){super()}schedule(t,e=0){return this}}n.d(e,"a",(function(){return o}));class o extends r{constructor(t,e){super(t,e),this.scheduler=t,this.work=e,this.pending=!1}schedule(t,e=0){if(this.closed)return this;this.state=t;const n=this.id,a=this.scheduler;return null!=n&&(this.id=this.recycleAsyncId(a,n,e)),this.pending=!0,this.delay=e,this.id=this.id||this.requestAsyncId(a,this.id,e),this}requestAsyncId(t,e,n=0){return setInterval(t.flush.bind(t,this),n)}recycleAsyncId(t,e,n=0){if(null!==n&&this.delay===n&&!1===this.pending)return e;clearInterval(e)}execute(t,e){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const n=this._execute(t,e);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(t,e){let n=!1,a=void 0;try{this.work(t)}catch(r){n=!0,a=!!r&&r||new Error(r)}if(n)return this.unsubscribe(),a}_unsubscribe(){const t=this.id,e=this.scheduler,n=e.actions,a=n.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==a&&n.splice(a,1),null!=t&&(this.id=this.recycleAsyncId(e,t,null)),this.delay=null}}},"3bBZ":function(t,e,n){var a=n("2oRo"),r=n("/byt"),o=n("4mDm"),i=n("kRJp"),s=n("tiKp"),c=s("iterator"),l=s("toStringTag"),d=o.values;for(var u in r){var g=a[u],f=g&&g.prototype;if(f){if(f[c]!==d)try{i(f,c,d)}catch(m){f[c]=d}if(f[l]||i(f,l,u),r[u])for(var p in o)if(f[p]!==o[p])try{i(f,p,o[p])}catch(m){f[p]=o[p]}}}},"4/ic":function(t,e,n){var a=n("ZWtO");t.exports=function(t){return function(e){return a(e,t)}}},"44Ds":function(t,e,n){var a=n("e4Nc");function r(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError("Expected a function");var n=function(){var a=arguments,r=e?e.apply(this,a):a[0],o=n.cache;if(o.has(r))return o.get(r);var i=t.apply(this,a);return n.cache=o.set(r,i)||o,i};return n.cache=new(r.Cache||a),n}r.Cache=a,t.exports=r},"4DD9":function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{transform(t){let e=!1;switch(t){case!0:case 1:case"y":case"yes":case"t":case"true":case"on":case"1":e=!0}return e}}},"4DFU":function(t,e,n){var a=n("+Qka"),r=n("GoyQ");t.exports=function t(e,n,o,i,s,c){return r(e)&&r(n)&&(c.set(n,e),a(e,n,void 0,t,c),c.delete(n)),e}},"4Dmd":function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var a=n("8Y7J"),r=function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},o=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},i=function(){function t(t,e,n){this.renderer=t,this.templateRef=e,this.viewContainerRef=n}return Object.defineProperty(t.prototype,"isOpen",{set:function(t){t?(this._show(),this.isEnabled&&!1===this._isOpen&&this._animateOpen()):this.isEnabled?this._animateClose():this._hide(),this._isOpen=!!t},enumerable:!0,configurable:!0}),t.prototype._show=function(){this.innerElement||(this.innerElement=this.viewContainerRef.createEmbeddedView(this.templateRef).rootNodes[0])},t.prototype._hide=function(){this.viewContainerRef.clear(),this.innerElement=null},t.prototype._animateOpen=function(){var t=this,e=this.animateSpeed,n=this.animateAcceleration,a=0;this.renderer.setStyle(this.innerElement,"max-height","0"),setTimeout((function(){var r=setInterval((function(){if(!t._isOpen||!t.innerElement)return clearInterval(r);var o=Math.round(a+=e);t.renderer.setStyle(t.innerElement,"max-height",o+"px");var i=t.innerElement.getBoundingClientRect?t.innerElement.getBoundingClientRect().height:0;e*=n,n*=1.005,i<o&&(t.renderer.setStyle(t.innerElement,"max-height",null),clearInterval(r))}),17)}))},t.prototype._animateClose=function(){var t=this;if(this.innerElement)var e=this.animateSpeed,n=this.animateAcceleration,a=this.innerElement.getBoundingClientRect().height,r=setInterval((function(){if(t._isOpen||!t.innerElement)return clearInterval(r);t.renderer.setStyle(t.innerElement,"max-height",(a-=e)+"px"),e*=n,n*=1.005,a<=0&&(t.viewContainerRef.clear(),t.innerElement=null,clearInterval(r))}),17)},r([Object(a.Input)("treeAnimateOpenSpeed"),o("design:type",Number)],t.prototype,"animateSpeed",void 0),r([Object(a.Input)("treeAnimateOpenAcceleration"),o("design:type",Number)],t.prototype,"animateAcceleration",void 0),r([Object(a.Input)("treeAnimateOpenEnabled"),o("design:type",Boolean)],t.prototype,"isEnabled",void 0),r([Object(a.Input)("treeAnimateOpen"),o("design:type",Boolean),o("design:paramtypes",[Boolean])],t.prototype,"isOpen",null),r([Object(a.Directive)({selector:"[treeAnimateOpen]"}),o("design:paramtypes",[a.Renderer2,a.TemplateRef,a.ViewContainerRef])],t)}()},"4HWh":function(t,e,n){"use strict";var a=n("8Y7J"),r=n("SVse"),o=n("KOzp"),i=n("z/SZ"),s=n("2uy1");n("p4Cf"),n.d(e,"a",(function(){return c})),n.d(e,"b",(function(){return d}));var c=a["ɵcrt"]({encapsulation:0,styles:[["i[_ngcontent-%COMP%]{color:#2b99a8;cursor:pointer;padding-left:4px}"]],data:{}});function l(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,0,"div",[],[[8,"className",0],[8,"innerHTML",1]],null,null,null,null)),a["ɵncd"](null,0),(t()(),a["ɵand"](0,null,null,0))],null,(function(t,e){var n=e.component;t(e,0,0,n.class,n.html)}))}function d(t){return a["ɵvid"](0,[(t()(),a["ɵand"](0,[["popoverTpl",2]],null,0,null,l)),(t()(),a["ɵeld"](1,16777216,null,null,4,"i",[["aria-hidden","true"],["container","body"],["placement","bottom"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==n.preventDefault()&&a),a}),null,null)),a["ɵprd"](512,null,r["ɵNgClassImpl"],r["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](3,278528,null,0,r.NgClass,[r["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),a["ɵpad"](4,1),a["ɵdid"](5,212992,null,0,o.c,[o.a,a.ElementRef,a.Renderer2,a.ViewContainerRef,i.a,s.a],{popover:[0,"popover"],placement:[1,"placement"],outsideClick:[2,"outsideClick"],container:[3,"container"]},null)],(function(t,e){var n=t(e,4,0,e.component.icons.questionCircle);t(e,3,0,n),t(e,5,0,a["ɵnov"](e,0),"bottom",!0,"body")}),null)}},"4I5i":function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));const a=(()=>{function t(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return t.prototype=Object.create(Error.prototype),t})()},"4MV3":function(t,e,n){!function(t){"use strict";var e={1:"૧",2:"૨",3:"૩",4:"૪",5:"૫",6:"૬",7:"૭",8:"૮",9:"૯",0:"૦"},n={"૧":"1","૨":"2","૩":"3","૪":"4","૫":"5","૬":"6","૭":"7","૮":"8","૯":"9","૦":"0"};t.defineLocale("gu",{months:"જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર".split("_"),monthsShort:"જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.".split("_"),monthsParseExact:!0,weekdays:"રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર".split("_"),weekdaysShort:"રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ".split("_"),weekdaysMin:"ર_સો_મં_બુ_ગુ_શુ_શ".split("_"),longDateFormat:{LT:"A h:mm વાગ્યે",LTS:"A h:mm:ss વાગ્યે",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm વાગ્યે",LLLL:"dddd, D MMMM YYYY, A h:mm વાગ્યે"},calendar:{sameDay:"[આજ] LT",nextDay:"[કાલે] LT",nextWeek:"dddd, LT",lastDay:"[ગઇકાલે] LT",lastWeek:"[પાછલા] dddd, LT",sameElse:"L"},relativeTime:{future:"%s મા",past:"%s પેહલા",s:"અમુક પળો",ss:"%d સેકંડ",m:"એક મિનિટ",mm:"%d મિનિટ",h:"એક કલાક",hh:"%d કલાક",d:"એક દિવસ",dd:"%d દિવસ",M:"એક મહિનો",MM:"%d મહિનો",y:"એક વર્ષ",yy:"%d વર્ષ"},preparse:function(t){return t.replace(/[૧૨૩૪૫૬૭૮૯૦]/g,(function(t){return n[t]}))},postformat:function(t){return t.replace(/\d/g,(function(t){return e[t]}))},meridiemParse:/રાત|બપોર|સવાર|સાંજ/,meridiemHour:function(t,e){return 12===t&&(t=0),"રાત"===e?t<4?t:t+12:"સવાર"===e?t:"બપોર"===e?t>=10?t:t+12:"સાંજ"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"રાત":t<10?"સવાર":t<17?"બપોર":t<20?"સાંજ":"રાત"},week:{dow:0,doy:6}})}(n("wd/R"))},"4Oe1":function(t,e,n){var a=n("YO3V");t.exports=function(t){return a(t)?void 0:t}},"4WOD":function(t,e,n){var a=n("UTVS"),r=n("ewvW"),o=n("93I0"),i=n("4Xet"),s=o("IE_PROTO"),c=Object.prototype;t.exports=i?Object.getPrototypeOf:function(t){return t=r(t),a(t,s)?t[s]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?c:null}},"4Xet":function(t,e,n){var a=n("0Dky");t.exports=!a((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype}))},"4dOw":function(t,e,n){!function(t){"use strict";t.defineLocale("en-ie",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})}(n("wd/R"))},"4kuk":function(t,e,n){var a=n("SfRM"),r=n("Hvzi"),o=n("u8Dt"),i=n("ekgI"),s=n("JSQU");function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var a=t[e];this.set(a[0],a[1])}}c.prototype.clear=a,c.prototype.delete=r,c.prototype.get=o,c.prototype.has=i,c.prototype.set=s,t.exports=c},"4l63":function(t,e,n){var a=n("I+eb"),r=n("wg0c");a({global:!0,forced:parseInt!=r},{parseInt:r})},"4mDm":function(t,e,n){"use strict";var a=n("/GqU"),r=n("RNIs"),o=n("P4y1"),i=n("afO8"),s=n("fdAy"),c=i.set,l=i.getterFor("Array Iterator");t.exports=s(Array,"Array",(function(t,e){c(this,{type:"Array Iterator",target:a(t),index:0,kind:e})}),(function(){var t=l(this),e=t.target,n=t.kind,a=t.index++;return!e||a>=e.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==n?{value:a,done:!1}:"values"==n?{value:e[a],done:!1}:{value:[a,e[a]],done:!1}}),"values"),o.Arguments=o.Array,r("keys"),r("values"),r("entries")},"4qC0":function(t,e,n){var a=n("NykK"),r=n("Z0cm"),o=n("ExA7");t.exports=function(t){return"string"==typeof t||!r(t)&&o(t)&&"[object String]"==a(t)}},"4sDh":function(t,e,n){var a=n("4uTw"),r=n("03A+"),o=n("Z0cm"),i=n("wJg7"),s=n("shjB"),c=n("9Nap");t.exports=function(t,e,n){for(var l=-1,d=(e=a(e,t)).length,u=!1;++l<d;){var g=c(e[l]);if(!(u=null!=t&&n(t,g)))break;t=t[g]}return u||++l!=d?u:!!(d=null==t?0:t.length)&&s(d)&&i(g,d)&&(o(t)||r(t))}},"4syw":function(t,e,n){var a=n("busE");t.exports=function(t,e,n){for(var r in e)a(t,r,e[r],n);return t}},"4uTw":function(t,e,n){var a=n("Z0cm"),r=n("9ggG"),o=n("GNiM"),i=n("dt0z");t.exports=function(t,e){return a(t)?t:r(t,e)?[t]:o(i(t))}},"5+tZ":function(t,e,n){"use strict";n.d(e,"a",(function(){return c}));var a=n("ZUHj"),r=n("l7GE"),o=n("51Dv"),i=n("lJxs"),s=n("Cfvw");function c(t,e,n=Number.POSITIVE_INFINITY){return"function"==typeof e?a=>a.pipe(c((n,a)=>Object(s.a)(t(n,a)).pipe(Object(i.a)((t,r)=>e(n,t,a,r))),n)):("number"==typeof e&&(n=e),e=>e.lift(new l(t,n)))}class l{constructor(t,e=Number.POSITIVE_INFINITY){this.project=t,this.concurrent=e}call(t,e){return e.subscribe(new d(t,this.project,this.concurrent))}}class d extends r.a{constructor(t,e,n=Number.POSITIVE_INFINITY){super(t),this.project=e,this.concurrent=n,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(t){this.active<this.concurrent?this._tryNext(t):this.buffer.push(t)}_tryNext(t){let e;const n=this.index++;try{e=this.project(t,n)}catch(a){return void this.destination.error(a)}this.active++,this._innerSub(e,t,n)}_innerSub(t,e,n){const r=new o.a(this,e,n),i=this.destination;i.add(r);const s=Object(a.a)(this,t,void 0,void 0,r);s!==r&&i.add(s)}_complete(){this.hasCompleted=!0,0===this.active&&0===this.buffer.length&&this.destination.complete(),this.unsubscribe()}notifyNext(t,e,n,a,r){this.destination.next(e)}notifyComplete(t){const e=this.buffer;this.remove(t),this.active--,e.length>0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}},"51Dv":function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("7o/Q");class r extends a.a{constructor(t,e,n){super(),this.parent=t,this.outerValue=e,this.outerIndex=n,this.index=0}_next(t){this.parent.notifyNext(this.outerValue,t,this.outerIndex,this.index++,this)}_error(t){this.parent.notifyError(t,this),this.unsubscribe()}_complete(){this.parent.notifyComplete(this),this.unsubscribe()}}},"5Tg0":function(t,e,n){(function(t){var a=n("Kz5y"),r=e&&!e.nodeType&&e,o=r&&"object"==typeof t&&t&&!t.nodeType&&t,i=o&&o.exports===r?a.Buffer:void 0,s=i?i.allocUnsafe:void 0;t.exports=function(t,e){if(e)return t.slice();var n=t.length,a=s?s(n):new t.constructor(n);return t.copy(a),a}}).call(this,n("YuTi")(t))},"5tze":function(t,e,n){"use strict";function a(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),a(n("HV4d")),a(n("ae7Z")),a(n("h+PQ")),a(n("CVuo")),a(n("RnPR")),a(n("ohIB")),a(n("rdkg")),a(n("y9Z7")),a(n("1HVU")),a(n("MgB7")),a(n("h6KF")),a(n("GDJm")),a(n("VYA+")),a(n("AqeW")),a(n("FMPj"))},"6+QB":function(t,e,n){!function(t){"use strict";t.defineLocale("ms",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(t,e){return 12===t&&(t=0),"pagi"===e?t:"tengahari"===e?t>=11?t:t+12:"petang"===e||"malam"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"pagi":t<15?"tengahari":t<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}(n("wd/R"))},"6B0Y":function(t,e,n){!function(t){"use strict";var e={1:"១",2:"២",3:"៣",4:"៤",5:"៥",6:"៦",7:"៧",8:"៨",9:"៩",0:"០"},n={"១":"1","២":"2","៣":"3","៤":"4","៥":"5","៦":"6","៧":"7","៨":"8","៩":"9","០":"0"};t.defineLocale("km",{months:"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),monthsShort:"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),weekdays:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),weekdaysShort:"អា_ច_អ_ព_ព្រ_សុ_ស".split("_"),weekdaysMin:"អា_ច_អ_ព_ព្រ_សុ_ស".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/ព្រឹក|ល្ងាច/,isPM:function(t){return"ល្ងាច"===t},meridiem:function(t,e,n){return t<12?"ព្រឹក":"ល្ងាច"},calendar:{sameDay:"[ថ្ងៃនេះ ម៉ោង] LT",nextDay:"[ស្អែក ម៉ោង] LT",nextWeek:"dddd [ម៉ោង] LT",lastDay:"[ម្សិលមិញ ម៉ោង] LT",lastWeek:"dddd [សប្តាហ៍មុន] [ម៉ោង] LT",sameElse:"L"},relativeTime:{future:"%sទៀត",past:"%sមុន",s:"ប៉ុន្មានវិនាទី",ss:"%d វិនាទី",m:"មួយនាទី",mm:"%d នាទី",h:"មួយម៉ោង",hh:"%d ម៉ោង",d:"មួយថ្ងៃ",dd:"%d ថ្ងៃ",M:"មួយខែ",MM:"%d ខែ",y:"មួយឆ្នាំ",yy:"%d ឆ្នាំ"},dayOfMonthOrdinalParse:/ទី\d{1,2}/,ordinal:"ទី%d",preparse:function(t){return t.replace(/[១២៣៤៥៦៧៨៩០]/g,(function(t){return n[t]}))},postformat:function(t){return t.replace(/\d/g,(function(t){return e[t]}))},week:{dow:1,doy:4}})}(n("wd/R"))},"6JNq":function(t,e,n){var a=n("UTVS"),r=n("Vu81"),o=n("Bs8V"),i=n("m/L8");t.exports=function(t,e){for(var n=r(e),s=i.f,c=o.f,l=0;l<n.length;l++){var d=n[l];a(t,d)||s(t,d,c(e,d))}}},"6LWA":function(t,e,n){var a=n("xrYK");t.exports=Array.isArray||function(t){return"Array"==a(t)}},"6MUB":function(t,e,n){"use strict";var a=function(t){switch(typeof t){case"string":return t;case"boolean":return t?"true":"false";case"number":return isFinite(t)?t:"";default:return""}};t.exports=function(t,e,n,r){return e=e||"&",n=n||"=",null===t&&(t=void 0),"object"==typeof t?Object.keys(t).map((function(r){var o=encodeURIComponent(a(r))+n;return Array.isArray(t[r])?t[r].map((function(t){return o+encodeURIComponent(a(t))})).join(e):o+encodeURIComponent(a(t[r]))})).join(e):r?encodeURIComponent(a(r))+n+encodeURIComponent(a(t)):""}},"6VoE":function(t,e,n){var a=n("tiKp"),r=n("P4y1"),o=a("iterator"),i=Array.prototype;t.exports=function(t){return void 0!==t&&(r.Array===t||i[o]===t)}},"6sVZ":function(t,e){var n=Object.prototype;t.exports=function(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||n)}},"7+OI":function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("HDdC");function r(t){return!!t&&(t instanceof a.a||"function"==typeof t.lift&&"function"==typeof t.subscribe)}},"711d":function(t,e){t.exports=function(t){return function(e){return null==e?void 0:e[t]}}},"77Zs":function(t,e,n){var a=n("Xi7e");t.exports=function(){this.__data__=new a,this.size=0}},"7BjC":function(t,e,n){!function(t){"use strict";function e(t,e,n,a){var r={s:["mõne sekundi","mõni sekund","paar sekundit"],ss:[t+"sekundi",t+"sekundit"],m:["ühe minuti","üks minut"],mm:[t+" minuti",t+" minutit"],h:["ühe tunni","tund aega","üks tund"],hh:[t+" tunni",t+" tundi"],d:["ühe päeva","üks päev"],M:["kuu aja","kuu aega","üks kuu"],MM:[t+" kuu",t+" kuud"],y:["ühe aasta","aasta","üks aasta"],yy:[t+" aasta",t+" aastat"]};return e?r[n][2]?r[n][2]:r[n][1]:a?r[n][0]:r[n][1]}t.defineLocale("et",{months:"jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember".split("_"),monthsShort:"jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"),weekdays:"pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev".split("_"),weekdaysShort:"P_E_T_K_N_R_L".split("_"),weekdaysMin:"P_E_T_K_N_R_L".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[Täna,] LT",nextDay:"[Homme,] LT",nextWeek:"[Järgmine] dddd LT",lastDay:"[Eile,] LT",lastWeek:"[Eelmine] dddd LT",sameElse:"L"},relativeTime:{future:"%s pärast",past:"%s tagasi",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:"%d päeva",M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("wd/R"))},"7F1K":function(t,e,n){var a=n("mrSG").__decorate,r=n("mrSG").__metadata;Object.defineProperty(e,"__esModule",{value:!0});var o=n("8Y7J"),i=n("5tze"),s=n("qwkt");e.DataTableSelectionComponent=function(){function t(){this.activate=new o.EventEmitter,this.select=new o.EventEmitter}return t.prototype.selectRow=function(t,e,n){var a;if(this.selectEnabled){var r=this.selectionType===s.SelectionType.checkbox,o=this.selectionType===s.SelectionType.multiClick,c=[];c=this.selectionType===s.SelectionType.multi||r||o?t.shiftKey?i.selectRowsBetween([],this.rows,e,this.prevIndex,this.getRowSelectedIdx.bind(this)):i.selectRows(t.ctrlKey||t.metaKey||o||r?this.selected.slice():[],n,this.getRowSelectedIdx.bind(this)):i.selectRows([],n,this.getRowSelectedIdx.bind(this)),"function"==typeof this.selectCheck&&(c=c.filter(this.selectCheck.bind(this))),this.selected.splice(0,this.selected.length),(a=this.selected).push.apply(a,c),this.prevIndex=e,this.select.emit({selected:c})}},t.prototype.onActivate=function(t,e){var n=t.type,a=t.event,r=t.row,o=this.selectionType===s.SelectionType.checkbox;!o&&("click"===n||"dblclick"===n)||o&&"checkbox"===n?this.selectRow(a,e,r):"keydown"===n&&(a.keyCode===i.Keys.return?this.selectRow(a,e,r):this.onKeyboardFocus(t)),this.activate.emit(t)},t.prototype.onKeyboardFocus=function(t){var e=t.event.keyCode;if(e===i.Keys.up||e===i.Keys.down||e===i.Keys.right||e===i.Keys.left){var n=this.selectionType===s.SelectionType.cell;t.cellElement&&n?n&&this.focusCell(t.cellElement,t.rowElement,e,t.cellIndex):this.focusRow(t.rowElement,e)}},t.prototype.focusRow=function(t,e){var n=this.getPrevNextRow(t,e);n&&n.focus()},t.prototype.getPrevNextRow=function(t,e){var n=t.parentElement;if(n){var a=void 0;if(e===i.Keys.up?a=n.previousElementSibling:e===i.Keys.down&&(a=n.nextElementSibling),a&&a.children.length)return a.children[0]}},t.prototype.focusCell=function(t,e,n,a){var r;if(n===i.Keys.left)r=t.previousElementSibling;else if(n===i.Keys.right)r=t.nextElementSibling;else if(n===i.Keys.up||n===i.Keys.down){var o=this.getPrevNextRow(e,n);if(o){var s=o.getElementsByClassName("datatable-body-cell");s.length&&(r=s[a])}}r&&r.focus()},t.prototype.getRowSelected=function(t){return this.getRowSelectedIdx(t,this.selected)>-1},t.prototype.getRowSelectedIdx=function(t,e){var n=this;if(!e||!e.length)return-1;var a=this.rowIdentity(t);return e.findIndex((function(t){return n.rowIdentity(t)===a}))},a([o.Input(),r("design:type",Array)],t.prototype,"rows",void 0),a([o.Input(),r("design:type",Array)],t.prototype,"selected",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"selectEnabled",void 0),a([o.Input(),r("design:type",String)],t.prototype,"selectionType",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"rowIdentity",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"selectCheck",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"activate",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"select",void 0),a([o.Component({selector:"datatable-selection",template:"\n    <ng-content></ng-content>\n  ",changeDetection:o.ChangeDetectionStrategy.OnPush})],t)}()},"7GkX":function(t,e,n){var a=n("b80T"),r=n("A90E"),o=n("MMmD");t.exports=function(t){return o(t)?a(t):r(t)}},"7HRe":function(t,e,n){"use strict";var a=n("HDdC"),r=n("quSY"),o=n("kJWO"),i=n("jZKg"),s=n("Lhse"),c=n("c2HN"),l=n("I55L");function d(t,e){if(null!=t){if(function(t){return t&&"function"==typeof t[o.a]}(t))return function(t,e){return new a.a(n=>{const a=new r.a;return a.add(e.schedule(()=>{const r=t[o.a]();a.add(r.subscribe({next(t){a.add(e.schedule(()=>n.next(t)))},error(t){a.add(e.schedule(()=>n.error(t)))},complete(){a.add(e.schedule(()=>n.complete()))}}))})),a})}(t,e);if(Object(c.a)(t))return function(t,e){return new a.a(n=>{const a=new r.a;return a.add(e.schedule(()=>t.then(t=>{a.add(e.schedule(()=>{n.next(t),a.add(e.schedule(()=>n.complete()))}))},t=>{a.add(e.schedule(()=>n.error(t)))}))),a})}(t,e);if(Object(l.a)(t))return Object(i.a)(t,e);if(function(t){return t&&"function"==typeof t[s.a]}(t)||"string"==typeof t)return function(t,e){if(!t)throw new Error("Iterable cannot be null");return new a.a(n=>{const a=new r.a;let o;return a.add(()=>{o&&"function"==typeof o.return&&o.return()}),a.add(e.schedule(()=>{o=t[s.a](),a.add(e.schedule((function(){if(n.closed)return;let t,e;try{const n=o.next();t=n.value,e=n.done}catch(a){return void n.error(a)}e?n.complete():(n.next(t),this.schedule())})))})),a})}(t,e)}throw new TypeError((null!==t&&typeof t||t)+" is not observable")}n.d(e,"a",(function(){return d}))},"7Hc7":function(t,e,n){"use strict";let a=1;const r=(()=>Promise.resolve())(),o={};function i(t){return t in o&&(delete o[t],!0)}const s={setImmediate(t){const e=a++;return o[e]=!0,r.then(()=>i(e)&&t()),e},clearImmediate(t){i(t)}};var c=n("3N8a");class l extends c.a{constructor(t,e){super(t,e),this.scheduler=t,this.work=e}requestAsyncId(t,e,n=0){return null!==n&&n>0?super.requestAsyncId(t,e,n):(t.actions.push(this),t.scheduled||(t.scheduled=s.setImmediate(t.flush.bind(t,null))))}recycleAsyncId(t,e,n=0){if(null!==n&&n>0||null===n&&this.delay>0)return super.recycleAsyncId(t,e,n);0===t.actions.length&&(s.clearImmediate(e),t.scheduled=void 0)}}var d=n("IjjT");class u extends d.a{flush(t){this.active=!0,this.scheduled=void 0;const{actions:e}=this;let n,a=-1,r=e.length;t=t||e.shift();do{if(n=t.execute(t.state,t.delay))break}while(++a<r&&(t=e.shift()));if(this.active=!1,n){for(;++a<r&&(t=e.shift());)t.unsubscribe();throw n}}}n.d(e,"a",(function(){return g}));const g=new u(l)},"7Ix3":function(t,e){t.exports=function(t){var e=[];if(null!=t)for(var n in Object(t))e.push(n);return e}},"7aV9":function(t,e,n){!function(t){"use strict";t.defineLocale("si",{months:"ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්".split("_"),monthsShort:"ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ".split("_"),weekdays:"ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා".split("_"),weekdaysShort:"ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන".split("_"),weekdaysMin:"ඉ_ස_අ_බ_බ්‍ර_සි_සෙ".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"a h:mm",LTS:"a h:mm:ss",L:"YYYY/MM/DD",LL:"YYYY MMMM D",LLL:"YYYY MMMM D, a h:mm",LLLL:"YYYY MMMM D [වැනි] dddd, a h:mm:ss"},calendar:{sameDay:"[අද] LT[ට]",nextDay:"[හෙට] LT[ට]",nextWeek:"dddd LT[ට]",lastDay:"[ඊයේ] LT[ට]",lastWeek:"[පසුගිය] dddd LT[ට]",sameElse:"L"},relativeTime:{future:"%sකින්",past:"%sකට පෙර",s:"තත්පර කිහිපය",ss:"තත්පර %d",m:"මිනිත්තුව",mm:"මිනිත්තු %d",h:"පැය",hh:"පැය %d",d:"දිනය",dd:"දින %d",M:"මාසය",MM:"මාස %d",y:"වසර",yy:"වසර %d"},dayOfMonthOrdinalParse:/\d{1,2} වැනි/,ordinal:function(t){return t+" වැනි"},meridiemParse:/පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,isPM:function(t){return"ප.ව."===t||"පස් වරු"===t},meridiem:function(t,e,n){return t>11?n?"ප.ව.":"පස් වරු":n?"පෙ.ව.":"පෙර වරු"}})}(n("wd/R"))},"7fqy":function(t,e){t.exports=function(t){var e=-1,n=Array(t.size);return t.forEach((function(t,a){n[++e]=[a,t]})),n}},"7o/Q":function(t,e,n){"use strict";n.d(e,"a",(function(){return l}));var a=n("n6bG"),r=n("gRHU"),o=n("quSY"),i=n("2QA8"),s=n("2fFW"),c=n("NJ4a");class l extends o.a{constructor(t,e,n){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=r.a;break;case 1:if(!t){this.destination=r.a;break}if("object"==typeof t){t instanceof l?(this.syncErrorThrowable=t.syncErrorThrowable,this.destination=t,t.add(this)):(this.syncErrorThrowable=!0,this.destination=new d(this,t));break}default:this.syncErrorThrowable=!0,this.destination=new d(this,t,e,n)}}[i.a](){return this}static create(t,e,n){const a=new l(t,e,n);return a.syncErrorThrowable=!1,a}next(t){this.isStopped||this._next(t)}error(t){this.isStopped||(this.isStopped=!0,this._error(t))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(t){this.destination.next(t)}_error(t){this.destination.error(t),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){const{_parentOrParents:t}=this;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=t,this}}class d extends l{constructor(t,e,n,o){let i;super(),this._parentSubscriber=t;let s=this;Object(a.a)(e)?i=e:e&&(i=e.next,n=e.error,o=e.complete,e!==r.a&&(s=Object.create(e),Object(a.a)(s.unsubscribe)&&this.add(s.unsubscribe.bind(s)),s.unsubscribe=this.unsubscribe.bind(this))),this._context=s,this._next=i,this._error=n,this._complete=o}next(t){if(!this.isStopped&&this._next){const{_parentSubscriber:e}=this;s.a.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?this.__tryOrSetError(e,this._next,t)&&this.unsubscribe():this.__tryOrUnsub(this._next,t)}}error(t){if(!this.isStopped){const{_parentSubscriber:e}=this,{useDeprecatedSynchronousErrorHandling:n}=s.a;if(this._error)n&&e.syncErrorThrowable?(this.__tryOrSetError(e,this._error,t),this.unsubscribe()):(this.__tryOrUnsub(this._error,t),this.unsubscribe());else if(e.syncErrorThrowable)n?(e.syncErrorValue=t,e.syncErrorThrown=!0):Object(c.a)(t),this.unsubscribe();else{if(this.unsubscribe(),n)throw t;Object(c.a)(t)}}}complete(){if(!this.isStopped){const{_parentSubscriber:t}=this;if(this._complete){const e=()=>this._complete.call(this._context);s.a.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?(this.__tryOrSetError(t,e),this.unsubscribe()):(this.__tryOrUnsub(e),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(t,e){try{t.call(this._context,e)}catch(n){if(this.unsubscribe(),s.a.useDeprecatedSynchronousErrorHandling)throw n;Object(c.a)(n)}}__tryOrSetError(t,e,n){if(!s.a.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{e.call(this._context,n)}catch(a){return s.a.useDeprecatedSynchronousErrorHandling?(t.syncErrorValue=a,t.syncErrorThrown=!0,!0):(Object(c.a)(a),!0)}return!1}_unsubscribe(){const{_parentSubscriber:t}=this;this._context=null,this._parentSubscriber=null,t.unsubscribe()}}},"7qid":function(t,e,n){"use strict";n.d(e,"a",(function(){return c})),n.d(e,"b",(function(){return g}));var a=n("8Y7J"),r=n("38Bd"),o=n("SVse"),i=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function s(t){return a["ɵvid"](0,[a["ɵncd"](null,0)],null,null)}var c=a["ɵcrt"]({encapsulation:0,styles:["[_nghost-%COMP%] {\n      width: 100%;\n      display: flex;\n    }"],data:{}});function l(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"bar",[["aria-valuemin","0"],["role","progressbar"]],[[8,"className",0],[2,"progress-bar-animated",null],[2,"progress-bar-striped",null],[2,"active",null],[1,"aria-valuenow",0],[1,"aria-valuetext",0],[1,"aria-valuemax",0],[4,"height","%"],[4,"width","%"]],null,null,s,i)),a["ɵdid"](1,245760,null,0,r.a,[r.b],{type:[0,"type"],value:[1,"value"]},null),a["ɵncd"](0,0)],(function(t,e){var n=e.component;t(e,1,0,n.type,n._value)}),(function(t,e){t(e,0,0,"progress-bar "+(a["ɵnov"](e,1).type?"progress-bar-"+a["ɵnov"](e,1).type+" bg-"+a["ɵnov"](e,1).type:""),!a["ɵnov"](e,1).isBs3&&a["ɵnov"](e,1).animate,a["ɵnov"](e,1).striped,a["ɵnov"](e,1).isBs3&&a["ɵnov"](e,1).animate,a["ɵnov"](e,1).value,a["ɵnov"](e,1).percent?a["ɵnov"](e,1).percent.toFixed(0)+"%":"",a["ɵnov"](e,1).max,"100",a["ɵnov"](e,1).setBarWidth)}))}function d(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"bar",[["aria-valuemin","0"],["role","progressbar"]],[[8,"className",0],[2,"progress-bar-animated",null],[2,"progress-bar-striped",null],[2,"active",null],[1,"aria-valuenow",0],[1,"aria-valuetext",0],[1,"aria-valuemax",0],[4,"height","%"],[4,"width","%"]],null,null,s,i)),a["ɵdid"](1,245760,null,0,r.a,[r.b],{type:[0,"type"],value:[1,"value"]},null),(t()(),a["ɵted"](2,0,["",""]))],(function(t,e){t(e,1,0,e.context.$implicit.type,e.context.$implicit.value)}),(function(t,e){t(e,0,0,"progress-bar "+(a["ɵnov"](e,1).type?"progress-bar-"+a["ɵnov"](e,1).type+" bg-"+a["ɵnov"](e,1).type:""),!a["ɵnov"](e,1).isBs3&&a["ɵnov"](e,1).animate,a["ɵnov"](e,1).striped,a["ɵnov"](e,1).isBs3&&a["ɵnov"](e,1).animate,a["ɵnov"](e,1).value,a["ɵnov"](e,1).percent?a["ɵnov"](e,1).percent.toFixed(0)+"%":"",a["ɵnov"](e,1).max,"100",a["ɵnov"](e,1).setBarWidth),t(e,2,0,e.context.$implicit.label)}))}function u(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,1,null,d)),a["ɵdid"](1,278528,null,0,o.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),a["ɵand"](0,null,null,0))],(function(t,e){t(e,1,0,e.component._value)}),null)}function g(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,1,null,l)),a["ɵdid"](1,16384,null,0,o.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,u)),a["ɵdid"](3,16384,null,0,o.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0,!n.isStacked),t(e,3,0,n.isStacked)}),null)}},"8/+R":function(t,e,n){!function(t){"use strict";var e={1:"੧",2:"੨",3:"੩",4:"੪",5:"੫",6:"੬",7:"੭",8:"੮",9:"੯",0:"੦"},n={"੧":"1","੨":"2","੩":"3","੪":"4","੫":"5","੬":"6","੭":"7","੮":"8","੯":"9","੦":"0"};t.defineLocale("pa-in",{months:"ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ".split("_"),monthsShort:"ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ".split("_"),weekdays:"ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ".split("_"),weekdaysShort:"ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ".split("_"),weekdaysMin:"ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ".split("_"),longDateFormat:{LT:"A h:mm ਵਜੇ",LTS:"A h:mm:ss ਵਜੇ",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm ਵਜੇ",LLLL:"dddd, D MMMM YYYY, A h:mm ਵਜੇ"},calendar:{sameDay:"[ਅਜ] LT",nextDay:"[ਕਲ] LT",nextWeek:"[ਅਗਲਾ] dddd, LT",lastDay:"[ਕਲ] LT",lastWeek:"[ਪਿਛਲੇ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ਵਿੱਚ",past:"%s ਪਿਛਲੇ",s:"ਕੁਝ ਸਕਿੰਟ",ss:"%d ਸਕਿੰਟ",m:"ਇਕ ਮਿੰਟ",mm:"%d ਮਿੰਟ",h:"ਇੱਕ ਘੰਟਾ",hh:"%d ਘੰਟੇ",d:"ਇੱਕ ਦਿਨ",dd:"%d ਦਿਨ",M:"ਇੱਕ ਮਹੀਨਾ",MM:"%d ਮਹੀਨੇ",y:"ਇੱਕ ਸਾਲ",yy:"%d ਸਾਲ"},preparse:function(t){return t.replace(/[੧੨੩੪੫੬੭੮੯੦]/g,(function(t){return n[t]}))},postformat:function(t){return t.replace(/\d/g,(function(t){return e[t]}))},meridiemParse:/ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,meridiemHour:function(t,e){return 12===t&&(t=0),"ਰਾਤ"===e?t<4?t:t+12:"ਸਵੇਰ"===e?t:"ਦੁਪਹਿਰ"===e?t>=10?t:t+12:"ਸ਼ਾਮ"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"ਰਾਤ":t<10?"ਸਵੇਰ":t<17?"ਦੁਪਹਿਰ":t<20?"ਸ਼ਾਮ":"ਰਾਤ"},week:{dow:0,doy:6}})}(n("wd/R"))},"85J/":function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{transform(t){const e=/ceph version\s+([^ ]+)\s+\(.+\)/.exec(t);return e?e[1]:t}}},"88Gu":function(t,e){var n=Date.now;t.exports=function(t){var e=0,a=0;return function(){var r=n(),o=16-(r-a);if(a=r,o>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}},"8Qeq":function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("7o/Q");function r(t){for(;t;){const{closed:e,destination:n,isStopped:r}=t;if(e||r)return!1;t=n&&n instanceof a.a?n:null}return!0}},"8Y7J":function(t,e,n){"use strict";n.r(e),n.d(e,"ɵangular_packages_core_core_q",(function(){return oy})),n.d(e,"ɵangular_packages_core_core_n",(function(){return ny})),n.d(e,"ɵangular_packages_core_core_o",(function(){return ay})),n.d(e,"ɵangular_packages_core_core_p",(function(){return ry})),n.d(e,"ɵangular_packages_core_core_r",(function(){return iy})),n.d(e,"ɵangular_packages_core_core_f",(function(){return fb})),n.d(e,"ɵangular_packages_core_core_l",(function(){return eg})),n.d(e,"ɵangular_packages_core_core_m",(function(){return cg})),n.d(e,"ɵangular_packages_core_core_k",(function(){return z_})),n.d(e,"ɵangular_packages_core_core_j",(function(){return F_})),n.d(e,"ɵangular_packages_core_core_b",(function(){return et})),n.d(e,"ɵangular_packages_core_core_a",(function(){return Z})),n.d(e,"ɵangular_packages_core_core_c",(function(){return uc})),n.d(e,"ɵangular_packages_core_core_d",(function(){return Qs})),n.d(e,"ɵangular_packages_core_core_e",(function(){return oc})),n.d(e,"ɵangular_packages_core_core_i",(function(){return k_})),n.d(e,"ɵangular_packages_core_core_s",(function(){return Wb})),n.d(e,"ɵangular_packages_core_core_u",(function(){return Yb})),n.d(e,"ɵangular_packages_core_core_t",(function(){return Gb})),n.d(e,"ɵangular_packages_core_core_x",(function(){return Ub})),n.d(e,"ɵangular_packages_core_core_v",(function(){return Bb})),n.d(e,"ɵangular_packages_core_core_w",(function(){return Hb})),n.d(e,"ɵangular_packages_core_core_ba",(function(){return _p})),n.d(e,"ɵangular_packages_core_core_bb",(function(){return fa})),n.d(e,"ɵangular_packages_core_core_bc",(function(){return Pe})),n.d(e,"ɵangular_packages_core_core_bd",(function(){return Ee})),n.d(e,"ɵangular_packages_core_core_be",(function(){return Je})),n.d(e,"ɵangular_packages_core_core_bm",(function(){return ra})),n.d(e,"ɵangular_packages_core_core_bl",(function(){return ge})),n.d(e,"ɵangular_packages_core_core_g",(function(){return Yi})),n.d(e,"ɵangular_packages_core_core_h",(function(){return Bi})),n.d(e,"ɵangular_packages_core_core_bg",(function(){return vr})),n.d(e,"ɵangular_packages_core_core_bk",(function(){return bt})),n.d(e,"ɵangular_packages_core_core_bh",(function(){return f})),n.d(e,"ɵangular_packages_core_core_bi",(function(){return p})),n.d(e,"ɵangular_packages_core_core_bn",(function(){return C})),n.d(e,"ɵangular_packages_core_core_y",(function(){return ap})),n.d(e,"ɵangular_packages_core_core_z",(function(){return Rg})),n.d(e,"createPlatform",(function(){return __})),n.d(e,"assertPlatform",(function(){return O_})),n.d(e,"destroyPlatform",(function(){return v_})),n.d(e,"getPlatform",(function(){return C_})),n.d(e,"PlatformRef",(function(){return P_})),n.d(e,"ApplicationRef",(function(){return x_})),n.d(e,"createPlatformFactory",(function(){return y_})),n.d(e,"NgProbeToken",(function(){return b_})),n.d(e,"enableProdMode",(function(){return Va})),n.d(e,"isDevMode",(function(){return za})),n.d(e,"APP_ID",(function(){return gb})),n.d(e,"PACKAGE_ROOT_URL",(function(){return yb})),n.d(e,"PLATFORM_INITIALIZER",(function(){return hb})),n.d(e,"PLATFORM_ID",(function(){return bb})),n.d(e,"APP_BOOTSTRAP_LISTENER",(function(){return _b})),n.d(e,"APP_INITIALIZER",(function(){return db})),n.d(e,"ApplicationInitStatus",(function(){return ub})),n.d(e,"DebugElement",(function(){return ty})),n.d(e,"DebugEventListener",(function(){return j_})),n.d(e,"DebugNode",(function(){return Q_})),n.d(e,"asNativeElements",(function(){return V_})),n.d(e,"getDebugNode",(function(){return J_})),n.d(e,"Testability",(function(){return c_})),n.d(e,"TestabilityRegistry",(function(){return l_})),n.d(e,"setTestabilityGetter",(function(){return u_})),n.d(e,"TRANSLATIONS",(function(){return Cb})),n.d(e,"TRANSLATIONS_FORMAT",(function(){return Pb})),n.d(e,"LOCALE_ID",(function(){return vb})),n.d(e,"MissingTranslationStrategy",(function(){return Mb})),n.d(e,"ApplicationModule",(function(){return sy})),n.d(e,"wtfCreateScope",(function(){return $b})),n.d(e,"wtfLeave",(function(){return Zb})),n.d(e,"wtfStartTimeRange",(function(){return Jb})),n.d(e,"wtfEndTimeRange",(function(){return Xb})),n.d(e,"Type",(function(){return Zi})),n.d(e,"EventEmitter",(function(){return Wm})),n.d(e,"ErrorHandler",(function(){return Ta})),n.d(e,"Sanitizer",(function(){return gr})),n.d(e,"SecurityContext",(function(){return ur})),n.d(e,"Attribute",(function(){return O})),n.d(e,"ANALYZE_FOR_ENTRY_COMPONENTS",(function(){return gc})),n.d(e,"ContentChild",(function(){return mc})),n.d(e,"ContentChildren",(function(){return pc})),n.d(e,"Query",(function(){return fc})),n.d(e,"ViewChild",(function(){return bc})),n.d(e,"ViewChildren",(function(){return hc})),n.d(e,"Component",(function(){return $h})),n.d(e,"Directive",(function(){return Kh})),n.d(e,"HostBinding",(function(){return Qh})),n.d(e,"HostListener",(function(){return tb})),n.d(e,"Input",(function(){return Jh})),n.d(e,"Output",(function(){return Xh})),n.d(e,"Pipe",(function(){return Zh})),n.d(e,"NgModule",(function(){return sb})),n.d(e,"CUSTOM_ELEMENTS_SCHEMA",(function(){return ka})),n.d(e,"NO_ERRORS_SCHEMA",(function(){return Sa})),n.d(e,"ViewEncapsulation",(function(){return ht})),n.d(e,"Version",(function(){return Qu})),n.d(e,"VERSION",(function(){return tg})),n.d(e,"InjectFlags",(function(){return v})),n.d(e,"ɵɵdefineInjectable",(function(){return M})),n.d(e,"defineInjectable",(function(){return x})),n.d(e,"ɵɵdefineInjector",(function(){return w})),n.d(e,"forwardRef",(function(){return A})),n.d(e,"resolveForwardRef",(function(){return E})),n.d(e,"Injectable",(function(){return _s})),n.d(e,"Injector",(function(){return Ls})),n.d(e,"ɵɵinject",(function(){return J})),n.d(e,"inject",(function(){return X})),n.d(e,"INJECTOR",(function(){return G})),n.d(e,"ReflectiveInjector",(function(){return dc})),n.d(e,"ResolvedReflectiveFactory",(function(){return nc})),n.d(e,"ReflectiveKey",(function(){return Ks})),n.d(e,"InjectionToken",(function(){return V})),n.d(e,"Inject",(function(){return m})),n.d(e,"Optional",(function(){return h})),n.d(e,"Self",(function(){return b})),n.d(e,"SkipSelf",(function(){return _})),n.d(e,"Host",(function(){return y})),n.d(e,"NgZone",(function(){return e_})),n.d(e,"ɵNoopNgZone",(function(){return s_})),n.d(e,"RenderComponentType",(function(){return Bu})),n.d(e,"Renderer",(function(){return Uu})),n.d(e,"Renderer2",(function(){return Zu})),n.d(e,"RendererFactory2",(function(){return Ku})),n.d(e,"RendererStyleFlags2",(function(){return $u})),n.d(e,"RootRenderer",(function(){return Wu})),n.d(e,"COMPILER_OPTIONS",(function(){return jb})),n.d(e,"Compiler",(function(){return qb})),n.d(e,"CompilerFactory",(function(){return Fb})),n.d(e,"ModuleWithComponentFactories",(function(){return Tb})),n.d(e,"ComponentFactory",(function(){return Au})),n.d(e,"ɵComponentFactory",(function(){return Au})),n.d(e,"ComponentRef",(function(){return Ru})),n.d(e,"ComponentFactoryResolver",(function(){return qu})),n.d(e,"ElementRef",(function(){return Vu})),n.d(e,"NgModuleFactory",(function(){return it})),n.d(e,"NgModuleRef",(function(){return ot})),n.d(e,"NgModuleFactoryLoader",(function(){return T_})),n.d(e,"getModuleFactory",(function(){return I_})),n.d(e,"QueryList",(function(){return $m})),n.d(e,"SystemJsNgModuleLoader",(function(){return E_})),n.d(e,"SystemJsNgModuleLoaderConfig",(function(){return R_})),n.d(e,"TemplateRef",(function(){return hg})),n.d(e,"ViewContainerRef",(function(){return yg})),n.d(e,"EmbeddedViewRef",(function(){return q_})),n.d(e,"ViewRef",(function(){return L_})),n.d(e,"ChangeDetectionStrategy",(function(){return ft})),n.d(e,"ChangeDetectorRef",(function(){return Wi})),n.d(e,"DefaultIterableDiffer",(function(){return ag})),n.d(e,"IterableDiffers",(function(){return ug})),n.d(e,"KeyValueDiffers",(function(){return gg})),n.d(e,"SimpleChange",(function(){return mu})),n.d(e,"WrappedValue",(function(){return Sc})),n.d(e,"platformCore",(function(){return ey})),n.d(e,"ɵALLOW_MULTIPLE_PLATFORMS",(function(){return h_})),n.d(e,"ɵAPP_ID_RANDOM_PROVIDER",(function(){return pb})),n.d(e,"ɵdefaultIterableDiffers",(function(){return pg})),n.d(e,"ɵdefaultKeyValueDiffers",(function(){return mg})),n.d(e,"ɵdevModeEqual",(function(){return kc})),n.d(e,"ɵisListLikeIterable",(function(){return Ic})),n.d(e,"ɵChangeDetectorStatus",(function(){return pt})),n.d(e,"ɵisDefaultChangeDetectionStrategy",(function(){return mt})),n.d(e,"ɵConsole",(function(){return Ob})),n.d(e,"ɵsetCurrentInjector",(function(){return K})),n.d(e,"ɵgetInjectableDef",(function(){return T})),n.d(e,"ɵAPP_ROOT",(function(){return vs})),n.d(e,"ɵDEFAULT_LOCALE_ID",(function(){return Tp})),n.d(e,"ɵivyEnabled",(function(){return wb})),n.d(e,"ɵCodegenComponentFactoryResolver",(function(){return ju})),n.d(e,"ɵclearResolutionOfComponentResourcesQueue",(function(){return Cc})),n.d(e,"ɵresolveComponentResources",(function(){return _c})),n.d(e,"ɵReflectionCapabilities",(function(){return ns})),n.d(e,"ɵRenderDebugInfo",(function(){return Hu})),n.d(e,"ɵ_sanitizeHtml",(function(){return lr})),n.d(e,"ɵ_sanitizeStyle",(function(){return mr})),n.d(e,"ɵ_sanitizeUrl",(function(){return Ha})),n.d(e,"ɵglobal",(function(){return F})),n.d(e,"ɵlooseIdentical",(function(){return Tc})),n.d(e,"ɵstringify",(function(){return N})),n.d(e,"ɵmakeDecorator",(function(){return u})),n.d(e,"ɵisObservable",(function(){return Kl})),n.d(e,"ɵisPromise",(function(){return Wl})),n.d(e,"ɵclearOverrides",(function(){return LO})),n.d(e,"ɵinitServicesIfNeeded",(function(){return Jy})),n.d(e,"ɵoverrideComponentView",(function(){return DO})),n.d(e,"ɵoverrideProvider",(function(){return EO})),n.d(e,"ɵNOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR",(function(){return dp})),n.d(e,"ɵgetLocalePluralCase",(function(){return xp})),n.d(e,"ɵfindLocaleData",(function(){return wp})),n.d(e,"ɵLOCALE_DATA",(function(){return vp})),n.d(e,"ɵLocaleDataIndex",(function(){return Cp})),n.d(e,"ɵɵattribute",(function(){return zc})),n.d(e,"ɵɵattributeInterpolate1",(function(){return Zc})),n.d(e,"ɵɵattributeInterpolate2",(function(){return Jc})),n.d(e,"ɵɵattributeInterpolate3",(function(){return Xc})),n.d(e,"ɵɵattributeInterpolate4",(function(){return Qc})),n.d(e,"ɵɵattributeInterpolate5",(function(){return tl})),n.d(e,"ɵɵattributeInterpolate6",(function(){return el})),n.d(e,"ɵɵattributeInterpolate7",(function(){return nl})),n.d(e,"ɵɵattributeInterpolate8",(function(){return al})),n.d(e,"ɵɵattributeInterpolateV",(function(){return rl})),n.d(e,"ɵɵdefineBase",(function(){return Dt})),n.d(e,"ɵɵdefineComponent",(function(){return kt})),n.d(e,"ɵɵdefineDirective",(function(){return Lt})),n.d(e,"ɵɵdefinePipe",(function(){return qt})),n.d(e,"ɵɵdefineNgModule",(function(){return Rt})),n.d(e,"ɵdetectChanges",(function(){return ol})),n.d(e,"ɵrenderComponent",(function(){return lu})),n.d(e,"ɵRender3ComponentFactory",(function(){return yp})),n.d(e,"ɵRender3ComponentRef",(function(){return Op})),n.d(e,"ɵɵdirectiveInject",(function(){return ml})),n.d(e,"ɵɵinjectAttribute",(function(){return hl})),n.d(e,"ɵɵinjectPipeChangeDetectorRef",(function(){return _h})),n.d(e,"ɵɵgetFactoryOf",(function(){return Ca})),n.d(e,"ɵɵgetInheritedFactory",(function(){return Pa})),n.d(e,"ɵɵsetComponentScope",(function(){return St})),n.d(e,"ɵɵsetNgModuleScope",(function(){return At})),n.d(e,"ɵɵtemplateRefExtractor",(function(){return bh})),n.d(e,"ɵɵProvidersFeature",(function(){return Nu})),n.d(e,"ɵɵInheritDefinitionFeature",(function(){return Ou})),n.d(e,"ɵɵNgOnChangesFeature",(function(){return hu})),n.d(e,"ɵLifecycleHooksFeature",(function(){return fu})),n.d(e,"ɵRender3NgModuleRef",(function(){return wm})),n.d(e,"ɵmarkDirty",(function(){return il})),n.d(e,"ɵNgModuleFactory",(function(){return Tm})),n.d(e,"ɵNO_CHANGE",(function(){return ro})),n.d(e,"ɵɵcontainer",(function(){return sl})),n.d(e,"ɵɵnextContext",(function(){return td})),n.d(e,"ɵɵelementStart",(function(){return Ll})),n.d(e,"ɵɵnamespaceHTML",(function(){return sn})),n.d(e,"ɵɵnamespaceMathML",(function(){return on})),n.d(e,"ɵɵnamespaceSVG",(function(){return rn})),n.d(e,"ɵɵelement",(function(){return jl})),n.d(e,"ɵɵlistener",(function(){return $l})),n.d(e,"ɵɵtext",(function(){return hd})),n.d(e,"ɵɵtextInterpolate",(function(){return _d})),n.d(e,"ɵɵtextInterpolate1",(function(){return yd})),n.d(e,"ɵɵtextInterpolate2",(function(){return Od})),n.d(e,"ɵɵtextInterpolate3",(function(){return vd})),n.d(e,"ɵɵtextInterpolate4",(function(){return Cd})),n.d(e,"ɵɵtextInterpolate5",(function(){return Pd})),n.d(e,"ɵɵtextInterpolate6",(function(){return Md})),n.d(e,"ɵɵtextInterpolate7",(function(){return xd})),n.d(e,"ɵɵtextInterpolate8",(function(){return wd})),n.d(e,"ɵɵtextInterpolateV",(function(){return Td})),n.d(e,"ɵɵembeddedViewStart",(function(){return Bl})),n.d(e,"ɵɵprojection",(function(){return od})),n.d(e,"ɵɵpipeBind1",(function(){return zm})),n.d(e,"ɵɵpipeBind2",(function(){return Vm})),n.d(e,"ɵɵpipeBind3",(function(){return Gm})),n.d(e,"ɵɵpipeBind4",(function(){return Ym})),n.d(e,"ɵɵpipeBindV",(function(){return Bm})),n.d(e,"ɵɵpureFunction0",(function(){return Sm})),n.d(e,"ɵɵpureFunction1",(function(){return Im})),n.d(e,"ɵɵpureFunction2",(function(){return Nm})),n.d(e,"ɵɵpureFunction3",(function(){return Rm})),n.d(e,"ɵɵpureFunction4",(function(){return Am})),n.d(e,"ɵɵpureFunction5",(function(){return Em})),n.d(e,"ɵɵpureFunction6",(function(){return Dm})),n.d(e,"ɵɵpureFunction7",(function(){return Lm})),n.d(e,"ɵɵpureFunction8",(function(){return qm})),n.d(e,"ɵɵpureFunctionV",(function(){return jm})),n.d(e,"ɵɵgetCurrentView",(function(){return Ul})),n.d(e,"ɵgetDirectives",(function(){return Qd})),n.d(e,"ɵgetHostElement",(function(){return eu})),n.d(e,"ɵɵrestoreView",(function(){return Ae})),n.d(e,"ɵɵcontainerRefreshStart",(function(){return ll})),n.d(e,"ɵɵcontainerRefreshEnd",(function(){return dl})),n.d(e,"ɵɵqueryRefresh",(function(){return rh})),n.d(e,"ɵɵviewQuery",(function(){return ih})),n.d(e,"ɵɵstaticViewQuery",(function(){return oh})),n.d(e,"ɵɵstaticContentQuery",(function(){return dh})),n.d(e,"ɵɵloadViewQuery",(function(){return ch})),n.d(e,"ɵɵcontentQuery",(function(){return lh})),n.d(e,"ɵɵloadContentQuery",(function(){return gh})),n.d(e,"ɵɵelementEnd",(function(){return ql})),n.d(e,"ɵɵhostProperty",(function(){return Ud})),n.d(e,"ɵɵproperty",(function(){return jc})),n.d(e,"ɵɵpropertyInterpolate",(function(){return id})),n.d(e,"ɵɵpropertyInterpolate1",(function(){return sd})),n.d(e,"ɵɵpropertyInterpolate2",(function(){return cd})),n.d(e,"ɵɵpropertyInterpolate3",(function(){return ld})),n.d(e,"ɵɵpropertyInterpolate4",(function(){return dd})),n.d(e,"ɵɵpropertyInterpolate5",(function(){return ud})),n.d(e,"ɵɵpropertyInterpolate6",(function(){return gd})),n.d(e,"ɵɵpropertyInterpolate7",(function(){return fd})),n.d(e,"ɵɵpropertyInterpolate8",(function(){return pd})),n.d(e,"ɵɵpropertyInterpolateV",(function(){return md})),n.d(e,"ɵɵupdateSyntheticHostBinding",(function(){return Wd})),n.d(e,"ɵɵcomponentHostSyntheticListener",(function(){return Zl})),n.d(e,"ɵɵprojectionDef",(function(){return nd})),n.d(e,"ɵɵreference",(function(){return fl})),n.d(e,"ɵɵenableBindings",(function(){return ve})),n.d(e,"ɵɵdisableBindings",(function(){return Ce})),n.d(e,"ɵɵallocHostVars",(function(){return Mc})),n.d(e,"ɵɵelementContainerStart",(function(){return Vl})),n.d(e,"ɵɵelementContainerEnd",(function(){return Gl})),n.d(e,"ɵɵelementContainer",(function(){return Yl})),n.d(e,"ɵɵstyling",(function(){return bl})),n.d(e,"ɵɵstyleMap",(function(){return Pl})),n.d(e,"ɵɵstyleSanitizer",(function(){return _l})),n.d(e,"ɵɵclassMap",(function(){return Ml})),n.d(e,"ɵɵclassMapInterpolate1",(function(){return kd})),n.d(e,"ɵɵclassMapInterpolate2",(function(){return Sd})),n.d(e,"ɵɵclassMapInterpolate3",(function(){return Id})),n.d(e,"ɵɵclassMapInterpolate4",(function(){return Nd})),n.d(e,"ɵɵclassMapInterpolate5",(function(){return Rd})),n.d(e,"ɵɵclassMapInterpolate6",(function(){return Ad})),n.d(e,"ɵɵclassMapInterpolate7",(function(){return Ed})),n.d(e,"ɵɵclassMapInterpolate8",(function(){return Dd})),n.d(e,"ɵɵclassMapInterpolateV",(function(){return Ld})),n.d(e,"ɵɵstyleProp",(function(){return yl})),n.d(e,"ɵɵstylePropInterpolate1",(function(){return qd})),n.d(e,"ɵɵstylePropInterpolate2",(function(){return jd})),n.d(e,"ɵɵstylePropInterpolate3",(function(){return Fd})),n.d(e,"ɵɵstylePropInterpolate4",(function(){return zd})),n.d(e,"ɵɵstylePropInterpolate5",(function(){return Vd})),n.d(e,"ɵɵstylePropInterpolate6",(function(){return Gd})),n.d(e,"ɵɵstylePropInterpolate7",(function(){return Yd})),n.d(e,"ɵɵstylePropInterpolate8",(function(){return Bd})),n.d(e,"ɵɵstylePropInterpolateV",(function(){return Hd})),n.d(e,"ɵɵstylingApply",(function(){return kl})),n.d(e,"ɵɵclassProp",(function(){return vl})),n.d(e,"ɵɵelementHostAttrs",(function(){return Fl})),n.d(e,"ɵɵselect",(function(){return bo})),n.d(e,"ɵɵtextBinding",(function(){return bd})),n.d(e,"ɵɵtemplate",(function(){return cl})),n.d(e,"ɵɵembeddedViewEnd",(function(){return Hl})),n.d(e,"ɵstore",(function(){return gl})),n.d(e,"ɵɵload",(function(){return pl})),n.d(e,"ɵɵpipe",(function(){return Fm})),n.d(e,"ɵwhenRendered",(function(){return pu})),n.d(e,"ɵɵi18n",(function(){return am})),n.d(e,"ɵɵi18nAttributes",(function(){return rm})),n.d(e,"ɵɵi18nExp",(function(){return sm})),n.d(e,"ɵɵi18nStart",(function(){return $p})),n.d(e,"ɵɵi18nEnd",(function(){return Qp})),n.d(e,"ɵɵi18nApply",(function(){return cm})),n.d(e,"ɵɵi18nPostprocess",(function(){return Xp})),n.d(e,"ɵi18nConfigureLocalize",(function(){return mm})),n.d(e,"ɵɵi18nLocalize",(function(){return bm})),n.d(e,"ɵsetLocaleId",(function(){return ym})),n.d(e,"ɵsetClassMetadata",(function(){return km})),n.d(e,"ɵɵresolveWindow",(function(){return mn})),n.d(e,"ɵɵresolveDocument",(function(){return hn})),n.d(e,"ɵɵresolveBody",(function(){return bn})),n.d(e,"ɵcompileComponent",(function(){return Dh})),n.d(e,"ɵcompileDirective",(function(){return Lh})),n.d(e,"ɵcompileNgModule",(function(){return xh})),n.d(e,"ɵcompileNgModuleDefs",(function(){return wh})),n.d(e,"ɵpatchComponentDefWithScope",(function(){return Nh})),n.d(e,"ɵresetCompiledComponents",(function(){return Sh})),n.d(e,"ɵflushModuleScopingQueueAsMuchAsPossible",(function(){return Ph})),n.d(e,"ɵtransitiveScopesFor",(function(){return Rh})),n.d(e,"ɵcompilePipe",(function(){return Wh})),n.d(e,"ɵɵsanitizeHtml",(function(){return hr})),n.d(e,"ɵɵsanitizeStyle",(function(){return br})),n.d(e,"ɵɵdefaultStyleSanitizer",(function(){return Pr})),n.d(e,"ɵɵsanitizeScript",(function(){return Or})),n.d(e,"ɵɵsanitizeUrl",(function(){return _r})),n.d(e,"ɵɵsanitizeResourceUrl",(function(){return yr})),n.d(e,"ɵɵsanitizeUrlOrResourceUrl",(function(){return Cr})),n.d(e,"ɵbypassSanitizationTrustHtml",(function(){return Ra})),n.d(e,"ɵbypassSanitizationTrustStyle",(function(){return Aa})),n.d(e,"ɵbypassSanitizationTrustScript",(function(){return Ea})),n.d(e,"ɵbypassSanitizationTrustUrl",(function(){return Da})),n.d(e,"ɵbypassSanitizationTrustResourceUrl",(function(){return La})),n.d(e,"ɵgetLContext",(function(){return Tr})),n.d(e,"ɵNG_ELEMENT_ID",(function(){return wt})),n.d(e,"ɵNG_COMPONENT_DEF",(function(){return Ot})),n.d(e,"ɵNG_DIRECTIVE_DEF",(function(){return vt})),n.d(e,"ɵNG_PIPE_DEF",(function(){return Ct})),n.d(e,"ɵNG_MODULE_DEF",(function(){return Pt})),n.d(e,"ɵNG_BASE_DEF",(function(){return xt})),n.d(e,"ɵNG_INJECTABLE_DEF",(function(){return S})),n.d(e,"ɵNG_INJECTOR_DEF",(function(){return I})),n.d(e,"ɵcompileNgModuleFactory__POST_R3__",(function(){return p_})),n.d(e,"ɵisBoundToModule__POST_R3__",(function(){return m_})),n.d(e,"ɵSWITCH_COMPILE_COMPONENT__POST_R3__",(function(){return eb})),n.d(e,"ɵSWITCH_COMPILE_DIRECTIVE__POST_R3__",(function(){return nb})),n.d(e,"ɵSWITCH_COMPILE_PIPE__POST_R3__",(function(){return ab})),n.d(e,"ɵSWITCH_COMPILE_NGMODULE__POST_R3__",(function(){return cb})),n.d(e,"ɵgetDebugNode__POST_R3__",(function(){return Z_})),n.d(e,"ɵSWITCH_COMPILE_INJECTABLE__POST_R3__",(function(){return ys})),n.d(e,"ɵSWITCH_IVY_ENABLED__POST_R3__",(function(){return xb})),n.d(e,"ɵSWITCH_CHANGE_DETECTOR_REF_FACTORY__POST_R3__",(function(){return Ki})),n.d(e,"ɵCompiler_compileModuleSync__POST_R3__",(function(){return Sb})),n.d(e,"ɵCompiler_compileModuleAsync__POST_R3__",(function(){return Nb})),n.d(e,"ɵCompiler_compileModuleAndAllComponentsSync__POST_R3__",(function(){return Ab})),n.d(e,"ɵCompiler_compileModuleAndAllComponentsAsync__POST_R3__",(function(){return Db})),n.d(e,"ɵSWITCH_ELEMENT_REF_FACTORY__POST_R3__",(function(){return Gu})),n.d(e,"ɵSWITCH_TEMPLATE_REF_FACTORY__POST_R3__",(function(){return bg})),n.d(e,"ɵSWITCH_VIEW_CONTAINER_REF_FACTORY__POST_R3__",(function(){return Og})),n.d(e,"ɵSWITCH_RENDERER2_FACTORY__POST_R3__",(function(){return Ju})),n.d(e,"ɵgetModuleFactory__POST_R3__",(function(){return S_})),n.d(e,"ɵregisterNgModuleType",(function(){return Pm})),n.d(e,"ɵpublishGlobalUtil",(function(){return cu})),n.d(e,"ɵpublishDefaultGlobalUtils",(function(){return su})),n.d(e,"ɵcreateInjector",(function(){return Ts})),n.d(e,"ɵINJECTOR_IMPL__POST_R3__",(function(){return Es})),n.d(e,"ɵregisterModuleFactory",(function(){return vm})),n.d(e,"ɵEMPTY_ARRAY",(function(){return mf})),n.d(e,"ɵEMPTY_MAP",(function(){return hf})),n.d(e,"ɵand",(function(){return cy})),n.d(e,"ɵccf",(function(){return Sf})),n.d(e,"ɵcmf",(function(){return qO})),n.d(e,"ɵcrt",(function(){return jg})),n.d(e,"ɵdid",(function(){return tp})),n.d(e,"ɵeld",(function(){return ly})),n.d(e,"ɵgetComponentViewDefinitionFactory",(function(){return If})),n.d(e,"ɵinlineInterpolate",(function(){return ff})),n.d(e,"ɵinterpolate",(function(){return gf})),n.d(e,"ɵmod",(function(){return Cf})),n.d(e,"ɵmpd",(function(){return vf})),n.d(e,"ɵncd",(function(){return yy})),n.d(e,"ɵnov",(function(){return Vf})),n.d(e,"ɵpid",(function(){return ep})),n.d(e,"ɵprd",(function(){return np})),n.d(e,"ɵpad",(function(){return Cy})),n.d(e,"ɵpod",(function(){return Py})),n.d(e,"ɵppd",(function(){return vy})),n.d(e,"ɵqud",(function(){return py})),n.d(e,"ɵted",(function(){return xy})),n.d(e,"ɵunv",(function(){return qg})),n.d(e,"ɵvid",(function(){return ky}));var a=n("XNiG"),r=n("quSY"),o=n("HDdC"),i=n("VRyK"),s=n("w1tV");const c="__annotations__",l="__parameters__",d="__prop__metadata__";function u(t,e,n,a,r){const o=g(e);function i(...t){if(this instanceof i)return o.call(this,...t),this;const e=new i(...t);return function(n){return r&&r(n,...t),(n.hasOwnProperty(c)?n[c]:Object.defineProperty(n,c,{value:[]})[c]).push(e),a&&a(n),n}}return n&&(i.prototype=Object.create(n.prototype)),i.prototype.ngMetadataName=t,i.annotationCls=i,i}function g(t){return function(...e){if(t){const n=t(...e);for(const t in n)this[t]=n[t]}}}function f(t,e,n){const a=g(e);function r(...t){if(this instanceof r)return a.apply(this,t),this;const e=new r(...t);return n.annotation=e,n;function n(t,n,a){const r=t.hasOwnProperty(l)?t[l]:Object.defineProperty(t,l,{value:[]})[l];for(;r.length<=a;)r.push(null);return(r[a]=r[a]||[]).push(e),t}}return n&&(r.prototype=Object.create(n.prototype)),r.prototype.ngMetadataName=t,r.annotationCls=r,r}function p(t,e,n,a){const r=g(e);function o(...t){if(this instanceof o)return r.apply(this,t),this;const e=new o(...t);return function(n,r){const o=n.constructor,i=o.hasOwnProperty(d)?o[d]:Object.defineProperty(o,d,{value:{}})[d];i[r]=i.hasOwnProperty(r)&&i[r]||[],i[r].unshift(e),a&&a(n,r,...t)}}return n&&(o.prototype=Object.create(n.prototype)),o.prototype.ngMetadataName=t,o.annotationCls=o,o}const m=f("Inject",t=>({token:t})),h=f("Optional"),b=f("Self"),_=f("SkipSelf"),y=f("Host"),O=f("Attribute",t=>({attributeName:t}));var v=function(t){return t[t.Default=0]="Default",t[t.Host=1]="Host",t[t.Self=2]="Self",t[t.SkipSelf=4]="SkipSelf",t[t.Optional=8]="Optional",t}({});function C(t){for(let e in t)if(t[e]===C)return e;throw Error("Could not find renamed property on target object.")}function P(t,e){for(const n in e)e.hasOwnProperty(n)&&!t.hasOwnProperty(n)&&(t[n]=e[n])}function M(t){return{token:t.token,providedIn:t.providedIn||null,factory:t.factory,value:void 0}}const x=M;function w(t){return{factory:t.factory,providers:t.providers||[],imports:t.imports||[]}}function T(t){const e=t[S];return e&&e.token===t?e:null}function k(t){return t&&t.hasOwnProperty(I)?t[I]:null}const S=C({ngInjectableDef:C}),I=C({ngInjectorDef:C});function N(t){if("string"==typeof t)return t;if(t instanceof Array)return"["+t.map(N).join(", ")+"]";if(null==t)return""+t;if(t.overriddenName)return`${t.overriddenName}`;if(t.name)return`${t.name}`;const e=t.toString();if(null==e)return""+e;const n=e.indexOf("\n");return-1===n?e:e.substring(0,n)}const R=C({__forward_ref__:C});function A(t){return t.__forward_ref__=A,t.toString=function(){return N(this())},t}function E(t){const e=t;return"function"==typeof e&&e.hasOwnProperty(R)&&e.__forward_ref__===A?e():t}const D="undefined"!=typeof globalThis&&globalThis,L="undefined"!=typeof window&&window,q="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,j="undefined"!=typeof global&&global,F=D||j||L||q;function z(){const t=F.ng;if(!t||!t.ɵcompilerFacade)throw new Error("Angular JIT compilation failed: '@angular/compiler' not loaded!\n  - JIT compilation is discouraged for production use-cases! Consider AOT mode instead.\n  - Did you bootstrap using '@angular/platform-browser-dynamic' or '@angular/platform-server'?\n  - Alternatively provide the compiler with 'import \"@angular/compiler\";' before bootstrapping.");return t.ɵcompilerFacade}class V{constructor(t,e){this._desc=t,this.ngMetadataName="InjectionToken",this.ngInjectableDef=void 0,"number"==typeof e?this.__NG_ELEMENT_ID__=e:void 0!==e&&(this.ngInjectableDef=M({token:this,providedIn:e.providedIn||"root",factory:e.factory}))}toString(){return`InjectionToken ${this._desc}`}}const G=new V("INJECTOR",-1),Y=new Object,B=/\n/gm,H=C({provide:String,useValue:C});let U,W=void 0;function K(t){const e=W;return W=t,e}function $(t){const e=U;return U=t,e}function Z(t,e=v.Default){if(void 0===W)throw new Error("inject() must be called from an injection context");return null===W?Q(t,void 0,e):W.get(t,e&v.Optional?null:void 0,e)}function J(t,e=v.Default){return(U||Z)(t,e)}const X=J;function Q(t,e,n){const a=T(t);if(a&&"root"==a.providedIn)return void 0===a.value?a.value=a.factory():a.value;if(n&v.Optional)return null;if(void 0!==e)return e;throw new Error(`Injector: NOT_FOUND [${N(t)}]`)}function tt(t){const e=[];for(let n=0;n<t.length;n++){const a=E(t[n]);if(Array.isArray(a)){if(0===a.length)throw new Error("Arguments array must have arguments.");let t=void 0,n=v.Default;for(let e=0;e<a.length;e++){const r=a[e];r instanceof h||"Optional"===r.ngMetadataName||r===h?n|=v.Optional:r instanceof _||"SkipSelf"===r.ngMetadataName||r===_?n|=v.SkipSelf:r instanceof b||"Self"===r.ngMetadataName||r===b?n|=v.Self:t=r instanceof m||r===m?r.token:r}e.push(J(t,n))}else e.push(J(a))}return e}class et{get(t,e=Y){if(e===Y){const e=new Error(`NullInjectorError: No provider for ${N(t)}!`);throw e.name="NullInjectorError",e}return e}}function nt(t,e,n,a){const r=t.ngTempTokenPath;throw e.__source&&r.unshift(e.__source),t.message=at("\n"+t.message,r,n,a),t.ngTokenPath=r,t.ngTempTokenPath=null,t}function at(t,e,n,a=null){t=t&&"\n"===t.charAt(0)&&"ɵ"==t.charAt(1)?t.substr(2):t;let r=N(e);if(e instanceof Array)r=e.map(N).join(" -> ");else if("object"==typeof e){let t=[];for(let n in e)if(e.hasOwnProperty(n)){let a=e[n];t.push(n+":"+("string"==typeof a?JSON.stringify(a):N(a)))}r=`{${t.join(", ")}}`}return`${n}${a?"("+a+")":""}[${r}]: ${t.replace(B,"\n  ")}`}const rt={"ɵɵdefineInjectable":M,"ɵɵdefineInjector":w,"ɵɵinject":J,"ɵɵgetFactoryOf":function(t){const e=t,n=T(e)||k(e);return n&&void 0!==n.factory?n.factory:null}};class ot{}class it{}function st(t,e){for(let n=0;n<t.length;n++)e.push(t[n])}function ct(t,e){void 0===e&&(e=t);for(let n=0;n<t.length;n++){let a=t[n];Array.isArray(a)?(e===t&&(e=t.slice(0,n)),ct(a,e)):e!==t&&e.push(a)}return e}function lt(t,e){t.forEach(t=>Array.isArray(t)?lt(t,e):e(t))}function dt(t,e,n){e>=t.length?t.push(n):t.splice(e,0,n)}function ut(t,e){return e>=t.length-1?t.pop():t.splice(e,1)[0]}function gt(t){throw new Error(`ASSERTION ERROR: ${t}`)}const ft=function(){var t={OnPush:0,Default:1};return t[t.OnPush]="OnPush",t[t.Default]="Default",t}(),pt=function(){var t={CheckOnce:0,Checked:1,CheckAlways:2,Detached:3,Errored:4,Destroyed:5};return t[t.CheckOnce]="CheckOnce",t[t.Checked]="Checked",t[t.CheckAlways]="CheckAlways",t[t.Detached]="Detached",t[t.Errored]="Errored",t[t.Destroyed]="Destroyed",t}();function mt(t){return null==t||t===ft.Default}const ht=function(){var t={Emulated:0,Native:1,None:2,ShadowDom:3};return t[t.Emulated]="Emulated",t[t.Native]="Native",t[t.None]="None",t[t.ShadowDom]="ShadowDom",t}();function bt(t){return""+{toString:t}}const _t={},yt=[],Ot=C({ngComponentDef:C}),vt=C({ngDirectiveDef:C}),Ct=C({ngPipeDef:C}),Pt=C({ngModuleDef:C}),Mt=C({ngLocaleIdDef:C}),xt=C({ngBaseDef:C}),wt=C({__NG_ELEMENT_ID__:C});let Tt=0;function kt(t){const e=t.type,n=e.prototype,a={},r={type:e,providersResolver:null,consts:t.consts,vars:t.vars,factory:t.factory,template:t.template||null,ngContentSelectors:t.ngContentSelectors,hostBindings:t.hostBindings||null,contentQueries:t.contentQueries||null,declaredInputs:a,inputs:null,outputs:null,exportAs:t.exportAs||null,onChanges:null,onInit:n.ngOnInit||null,doCheck:n.ngDoCheck||null,afterContentInit:n.ngAfterContentInit||null,afterContentChecked:n.ngAfterContentChecked||null,afterViewInit:n.ngAfterViewInit||null,afterViewChecked:n.ngAfterViewChecked||null,onDestroy:n.ngOnDestroy||null,onPush:t.changeDetection===ft.OnPush,directiveDefs:null,pipeDefs:null,selectors:t.selectors,viewQuery:t.viewQuery||null,features:t.features||null,data:t.data||{},encapsulation:t.encapsulation||ht.Emulated,id:"c",styles:t.styles||yt,_:null,setInput:null,schemas:t.schemas||null,tView:null};return r._=bt(()=>{const n=t.directives,o=t.features,i=t.pipes;r.id+=Tt++,r.inputs=Et(t.inputs,a),r.outputs=Et(t.outputs),o&&o.forEach(t=>t(r)),r.directiveDefs=n?()=>("function"==typeof n?n():n).map(It):null,r.pipeDefs=i?()=>("function"==typeof i?i():i).map(Nt):null,e.hasOwnProperty(S)||(e[S]=M({token:e,factory:t.factory}))}),r}function St(t,e,n){const a=t.ngComponentDef;a.directiveDefs=()=>e.map(It),a.pipeDefs=()=>n.map(Nt)}function It(t){return jt(t)||Ft(t)}function Nt(t){return zt(t)}function Rt(t){return{type:t.type,bootstrap:t.bootstrap||yt,declarations:t.declarations||yt,imports:t.imports||yt,exports:t.exports||yt,transitiveCompileScopes:null,schemas:t.schemas||null,id:t.id||null}}function At(t,e){return bt(()=>{const n=Gt(t,!0);n.declarations=e.declarations||yt,n.imports=e.imports||yt,n.exports=e.exports||yt})}function Et(t,e){if(null==t)return _t;const n={};for(const a in t)if(t.hasOwnProperty(a)){let r=t[a],o=r;Array.isArray(r)&&(o=r[1],r=r[0]),n[r]=a,e&&(e[r]=o)}return n}function Dt(t){const e={};return{inputs:Et(t.inputs,e),declaredInputs:e,outputs:Et(t.outputs),viewQuery:t.viewQuery||null,contentQueries:t.contentQueries||null,hostBindings:t.hostBindings||null}}const Lt=kt;function qt(t){return{name:t.name,factory:t.factory,pure:!1!==t.pure,onDestroy:t.type.prototype.ngOnDestroy||null}}function jt(t){return t[Ot]||null}function Ft(t){return t[vt]||null}function zt(t){return t[Ct]||null}function Vt(t){return t[xt]||null}function Gt(t,e){const n=t[Pt]||null;if(!n&&!0===e)throw new Error(`Type ${N(t)} does not have 'ngModuleDef' property.`);return n}function Yt(t){return Array.isArray(t)&&"object"==typeof t[1]}function Bt(t){return Array.isArray(t)&&!0===t[1]}function Ht(t){return 0!=(4&t.flags)}function Ut(t){return 1==(1&t.flags)}function Wt(t){return null!==t.template}function Kt(t){return 0!=(512&t[2])}class $t{constructor(t,e,n){this.factory=t,this.resolving=!1,this.canSeeViewProviders=e,this.injectImpl=n}}function Zt(t,e,n,a,r,o){const{onChanges:i,onInit:s,doCheck:c}=e;r>=0&&(!n.preOrderHooks||r===n.preOrderHooks.length)&&(i||s||c)&&(n.preOrderHooks||(n.preOrderHooks=[])).push(a),o>=0&&(!n.preOrderCheckHooks||o===n.preOrderCheckHooks.length)&&(i||c)&&(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(a),i&&((n.preOrderHooks||(n.preOrderHooks=[])).push(t,i),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(t,i)),s&&(n.preOrderHooks||(n.preOrderHooks=[])).push(-t,s),c&&((n.preOrderHooks||(n.preOrderHooks=[])).push(t,c),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(t,c))}function Jt(t,e){if(t.firstTemplatePass)for(let n=e.directiveStart,a=e.directiveEnd;n<a;n++){const e=t.data[n];e.afterContentInit&&(t.contentHooks||(t.contentHooks=[])).push(-n,e.afterContentInit),e.afterContentChecked&&((t.contentHooks||(t.contentHooks=[])).push(n,e.afterContentChecked),(t.contentCheckHooks||(t.contentCheckHooks=[])).push(n,e.afterContentChecked)),e.afterViewInit&&(t.viewHooks||(t.viewHooks=[])).push(-n,e.afterViewInit),e.afterViewChecked&&((t.viewHooks||(t.viewHooks=[])).push(n,e.afterViewChecked),(t.viewCheckHooks||(t.viewCheckHooks=[])).push(n,e.afterViewChecked)),null!=e.onDestroy&&(t.destroyHooks||(t.destroyHooks=[])).push(n,e.onDestroy)}}function Xt(t,e,n,a){n||Qt(t,e.preOrderHooks,e.preOrderCheckHooks,n,0,void 0!==a?a:null)}function Qt(t,e,n,a,r,o){if(a)return;const i=(3&t[2])===r?e:n;i&&function(t,e,n,a){const r=null!=a?a:-1;let o=0;for(let i=void 0!==a?65535&t[18]:0;i<e.length;i++)if("number"==typeof e[i+1]){if(o=e[i],null!=a&&o>=a)break}else e[i]<0&&(t[18]+=65536),(o<r||-1==r)&&(te(t,n,e,i),t[18]=(4294901760&t[18])+i+2),i++}(t,i,r,o),null==o&&(3&t[2])===r&&3!==r&&(t[2]&=1023,t[2]+=1)}function te(t,e,n,a){const r=n[a]<0,o=n[a+1],i=t[r?-n[a]:n[a]];r?t[2]>>10<t[18]>>16&&(3&t[2])===e&&(t[2]+=1024,o.call(i)):o.call(i)}let ee=null;const ne=new Map;let ae,re=null;function oe(t,e){return re&&t===re||(re=t,e&&(ee=ne.get(t)||null),ee=ee||{classesBitMask:0,classesIndex:1,stylesBitMask:0,stylesIndex:1}),ee}function ie(){ee=null,re=null}function se(t){for(;Array.isArray(t);)t=t[0];return t}function ce(t,e){return se(e[t+19])}function le(t,e){return se(e[t.index])}function de(t,e){const n=t.index;return-1==n?null:se(e[n])}function ue(t,e){return e[1].data[t+19]}function ge(t,e){return t[e+19]}function fe(t,e){const n=e[t];return Yt(n)?n:n[0]}function pe(t){return t.__ngContext__}function me(t){const e=pe(t);return e?Array.isArray(e)?e:e.lView:null}function he(t){t[18]=0}let be,_e=null;function ye(t){_e=t}function Oe(){return be}function ve(){be=!0}function Ce(){be=!1}function Pe(){return we}let Me,xe,we,Te=1,ke=0,Se=0;function Ie(t=null){Qe!==t&&(en(null==t?-1:t),Te=null==t?0:1,ke=0,Se=0)}function Ne(){Te+=1+Se,ke=0,Se=0}function Re(t){ke+=t,Se=Math.max(Se,ke)}function Ae(t){ze=t}function Ee(){return Me}function De(t,e){Me=t,xe=e}function Le(t,e){Me=t,we=e}function qe(){return xe}function je(){xe=!1}function Fe(t=we){return 4==(4&t[2])}let ze=null,Ve=!1;function Ge(){return Ve}function Ye(t){Ve=t}let Be=-1;function He(){return Be}function Ue(t){Be=t}let We=0;function Ke(){return We}function $e(t){We=t}function Ze(t,e){const n=we;return t&&(Be=t[1].bindingStartIndex),Me=e,xe=!0,we=ze=t,n}function Je(t=1){return ze=function(t,e){for(;t>0;)e=e[16],t--;return e}(t,ze),ze[9]}function Xe(t,e){const n=we[1];if(Fe(we))we[2]&=-5;else try{he(we),e&&Qt(we,n.viewHooks,n.viewCheckHooks,Ve,2,void 0)}finally{we[2]&=-73,we[7]=n.bindingStartIndex}Ze(t,null)}let Qe=-1;function tn(){return Qe}function en(t){Qe=t,ie()}let nn,an=null;function rn(){an="http://www.w3.org/2000/svg"}function on(){an="http://www.w3.org/1998/MathML/"}function sn(){cn()}function cn(){an=null}function ln(t){nn=t}function dn(){return nn}function un(t,e){return!(t!=t&&e!=e)&&t!==e}function gn(t){return"string"==typeof t?t:null==t?"":""+t}function fn(t){return"function"==typeof t?t.name||t.toString():"object"==typeof t&&null!=t&&"function"==typeof t.type?t.type.name||t.type.toString():gn(t)}const pn=(()=>("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(F))();function mn(t){return{name:"window",target:t.ownerDocument.defaultView}}function hn(t){return{name:"document",target:t.ownerDocument}}function bn(t){return{name:"body",target:t.ownerDocument.body}}function _n(t){return t.indexOf("�")>=0}function yn(t){return t instanceof Function?t():t}function On(t,e){0===e?t[2]>0&&function(t){Cn(t,2|vn(t))}(t):t[2]=e}function vn(t){return t[1]}function Cn(t,e){t[1]=e}function Pn(t,e){return t[e+2]}function Mn(t,e){return 1&t[e+0]}function xn(t,e){return(1&Mn(t,e))>0}function wn(t,e){return t[e+0]>>1}function Tn(t,e,n){const a=Mn(t,e);t[e+0]=a|n<<1}function kn(t,e){return t[e+1]}function Sn(t,e,n){return t[e+3+n]}function In(t,e){return!(!t||e!==t[2])}function Nn(t){return(1&vn(t))>0}function Rn(t){return(2&vn(t))>0}function An(t){return 6+t[4]}function En(t,e){let n=Array.isArray(t)?t[0]:t,a=Array.isArray(e)?e[0]:e;return n instanceof String&&(n=n.toString()),a instanceof String&&(a=a.toString()),un(n,a)}function Dn(t){return null!=t&&""!==t}function Ln(t,e,n=" "){return t+(e.length&&t.length?n:"")+e}function qn(t){return t.replace(/[a-z][A-Z]/g,t=>t.charAt(0)+"-"+t.charAt(1)).toLowerCase()}function jn(t){return Fn(t)?t[0]:t}function Fn(t){return Array.isArray(t)&&t.length>=6&&"string"!=typeof t[1]}function zn(t){const e=jn(t);return e&&e[0]||""}function Vn(t){return 0!=(8&t.flags)}function Gn(t){return 0!=(16&t.flags)}function Yn(t,e){return t[e+0]}function Bn(t,e,n){t[e+1]=n}function Hn(t,e){return t[e+1]}const Un=function(){var t={Important:1,DashCase:2};return t[t.Important]="Important",t[t.DashCase]="DashCase",t}();function Wn(t){return!!t.listen}const Kn={createRenderer:(t,e)=>document};function $n(t,e){const n=Pe()[12],a=Wn(n);let r=0;for(;r<e.length;){const o=e[r];if("number"==typeof o){if(0!==o)break;r++;const i=e[r++],s=e[r++],c=e[r++];a?n.setAttribute(t,s,c,i):t.setAttributeNS(i,s,c)}else{const i=o,s=e[++r];Jn(i)?a&&n.setProperty(t,i,s):a?n.setAttribute(t,i,s):t.setAttribute(i,s),r++}}return r}function Zn(t){return 3===t||4===t||6===t}function Jn(t){return"@"===t[0]}function Xn(t){return-1!==t}function Qn(t){return 32767&t}function ta(t){return t>>16}function ea(t,e){let n=ta(t),a=e;for(;n>0;)a=a[16],n--;return a}function na(t){const e=t[3];return Bt(e)?e[3]:e}function aa(t){let e=t[6];for(;null!==e&&2===e.type;)e=(t=t[16])[6];return t}function ra(t){return function(t){let e=Yt(t)?t:me(t);for(;e&&!(512&e[2]);)e=na(e);return e}(t)[9]}let oa=!0;function ia(t){const e=oa;return oa=t,e}let sa=0;function ca(t,e){const n=da(t,e);if(-1!==n)return n;const a=e[1];a.firstTemplatePass&&(t.injectorIndex=e.length,la(a.data,t),la(e,null),la(a.blueprint,null));const r=ua(t,e),o=Qn(r),i=ea(r,e),s=t.injectorIndex;if(Xn(r)){const t=i[1].data;for(let n=0;n<8;n++)e[s+n]=i[o+n]|t[o+n]}return e[s+8]=r,s}function la(t,e){t.push(0,0,0,0,0,0,0,0,e)}function da(t,e){return-1===t.injectorIndex||t.parent&&t.parent.injectorIndex===t.injectorIndex||null==e[t.injectorIndex+8]?-1:t.injectorIndex}function ua(t,e){if(t.parent&&-1!==t.parent.injectorIndex)return t.parent.injectorIndex;let n=e[6],a=1;for(;n&&-1===n.injectorIndex;)n=(e=e[16])?e[6]:null,a++;return n?n.injectorIndex|a<<16:-1}function ga(t,e,n){!function(t,e,n){let a="string"!=typeof n?n[wt]:n.charCodeAt(0)||0;null==a&&(a=n[wt]=sa++);const r=255&a,o=1<<r,i=64&r,s=32&r,c=e.data;128&r?i?s?c[t+7]|=o:c[t+6]|=o:s?c[t+5]|=o:c[t+4]|=o:i?s?c[t+3]|=o:c[t+2]|=o:s?c[t+1]|=o:c[t]|=o}(t,e,n)}function fa(t,e){if("class"===e)return zn(t.classes);if("style"===e)return zn(t.styles);const n=t.attrs;if(n){const t=n.length;let a=0;for(;a<t;){const r=n[a];if(Zn(r))break;if(0===r)a+=2;else if("number"==typeof r)for(a++;a<t&&"string"==typeof n[a];)a++;else{if(r===e)return n[a+1];a+=2}}}return null}function pa(t,e,n,a=v.Default,r){if(t){const r=function(t){if("string"==typeof t)return t.charCodeAt(0)||0;const e=t[wt];return"number"==typeof e&&e>0?255&e:e}(n);if("function"==typeof r){const o=Ee(),i=Pe();Le(t,e);try{const t=r();if(null!=t||a&v.Optional)return t;throw new Error(`No provider for ${fn(n)}!`)}finally{Le(o,i)}}else if("number"==typeof r){if(-1===r)return new va(t,e);let o=null,i=da(t,e),s=-1,c=a&v.Host?aa(e)[6]:null;for((-1===i||a&v.SkipSelf)&&(s=-1===i?ua(t,e):e[i+8],Oa(a,!1)?(o=e[1],i=Qn(s),e=ea(s,e)):i=-1);-1!==i;){s=e[i+8];const t=e[1];if(ya(r,i,t.data)){const t=ha(i,e,n,o,a,c);if(t!==ma)return t}Oa(a,e[1].data[i+8]===c)&&ya(r,i,e)?(o=t,i=Qn(s),e=ea(s,e)):i=-1}}}if(a&v.Optional&&void 0===r&&(r=null),0==(a&(v.Self|v.Host))){const t=e[10],o=$(void 0);try{return t?t.get(n,r,a&v.Optional):Q(n,r,a&v.Optional)}finally{$(o)}}if(a&v.Optional)return r;throw new Error(`NodeInjector: NOT_FOUND [${fn(n)}]`)}const ma={};function ha(t,e,n,a,r,o){const i=e[1],s=i.data[t+8],c=ba(s,i,n,null==a?Ut(s)&&oa:a!=i&&3===s.type,r&v.Host&&o===s);return null!==c?_a(i.data,e,c,s):ma}function ba(t,e,n,a,r){const o=t.providerIndexes,i=e.data,s=65535&o,c=t.directiveStart,l=o>>16,d=r?s+l:t.directiveEnd;for(let u=a?s:s+l;u<d;u++){const t=i[u];if(u<c&&n===t||u>=c&&t.type===n)return u}if(r){const t=i[c];if(t&&Wt(t)&&t.type===n)return c}return null}function _a(t,e,n,a){let r=e[n];if(null!==(o=r)&&"object"==typeof o&&Object.getPrototypeOf(o)==$t.prototype){const o=r;if(o.resolving)throw new Error(`Circular dep for ${fn(t[n])}`);const i=ia(o.canSeeViewProviders);let s;o.resolving=!0,o.injectImpl&&(s=$(o.injectImpl));const c=Ee(),l=Pe();Le(a,e);try{r=e[n]=o.factory(void 0,t,e,a)}finally{o.injectImpl&&$(s),ia(i),o.resolving=!1,Le(c,l)}}var o;return r}function ya(t,e,n){const a=64&t,r=32&t;let o;return o=128&t?a?r?n[e+7]:n[e+6]:r?n[e+5]:n[e+4]:a?r?n[e+3]:n[e+2]:r?n[e+1]:n[e],!!(o&1<<t)}function Oa(t,e){return!(t&v.Self||t&v.Host&&e)}class va{constructor(t,e){this._tNode=t,this._lView=e}get(t,e){return pa(this._tNode,this._lView,t,void 0,e)}}function Ca(t){const e=t,n=jt(e)||Ft(e)||zt(e)||T(e)||k(e);return n&&void 0!==n.factory?n.factory:null}function Pa(t){const e=Ca(Object.getPrototypeOf(t.prototype).constructor);return null!==e?e:t=>new t}function Ma(t){return t.ngDebugContext}function xa(t){return t.ngOriginalError}function wa(t,...e){t.error(...e)}class Ta{constructor(){this._console=console}handleError(t){const e=this._findOriginalError(t),n=this._findContext(t),a=function(t){return t.ngErrorLogger||wa}(t);a(this._console,"ERROR",t),e&&a(this._console,"ORIGINAL ERROR",e),n&&a(this._console,"ERROR CONTEXT",n)}_findContext(t){return t?Ma(t)?Ma(t):this._findContext(xa(t)):null}_findOriginalError(t){let e=xa(t);for(;e&&xa(e);)e=xa(e);return e}}const ka={name:"custom-elements"},Sa={name:"no-errors-schema"},Ia="__SANITIZER_TRUSTED_BRAND__";function Na(t,e){return t instanceof String&&t[Ia]===e}function Ra(t){return qa(t,"Html")}function Aa(t){return qa(t,"Style")}function Ea(t){return qa(t,"Script")}function Da(t){return qa(t,"Url")}function La(t){return qa(t,"ResourceUrl")}function qa(t,e){const n=new String(t);return n[Ia]=e,n}let ja=!0,Fa=!1;function za(){return Fa=!0,ja}function Va(){if(Fa)throw new Error("Cannot enable prod mode after platform setup.");ja=!1}class Ga{constructor(t){if(this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),this.inertBodyElement=this.inertDocument.body,null==this.inertBodyElement){const t=this.inertDocument.createElement("html");this.inertDocument.appendChild(t),this.inertBodyElement=this.inertDocument.createElement("body"),t.appendChild(this.inertBodyElement)}this.inertBodyElement.innerHTML='<svg><g onload="this.parentNode.remove()"></g></svg>',!this.inertBodyElement.querySelector||this.inertBodyElement.querySelector("svg")?(this.inertBodyElement.innerHTML='<svg><p><style><img src="</style><img src=x onerror=alert(1)//">',this.getInertBodyElement=this.inertBodyElement.querySelector&&this.inertBodyElement.querySelector("svg img")&&function(){try{return!!window.DOMParser}catch(t){return!1}}()?this.getInertBodyElement_DOMParser:this.getInertBodyElement_InertDocument):this.getInertBodyElement=this.getInertBodyElement_XHR}getInertBodyElement_XHR(t){t="<body><remove></remove>"+t+"</body>";try{t=encodeURI(t)}catch(a){return null}const e=new XMLHttpRequest;e.responseType="document",e.open("GET","data:text/html;charset=utf-8,"+t,!1),e.send(void 0);const n=e.response.body;return n.removeChild(n.firstChild),n}getInertBodyElement_DOMParser(t){t="<body><remove></remove>"+t+"</body>";try{const e=(new window.DOMParser).parseFromString(t,"text/html").body;return e.removeChild(e.firstChild),e}catch(e){return null}}getInertBodyElement_InertDocument(t){const e=this.inertDocument.createElement("template");return"content"in e?(e.innerHTML=t,e):(this.inertBodyElement.innerHTML=t,this.defaultDoc.documentMode&&this.stripCustomNsAttrs(this.inertBodyElement),this.inertBodyElement)}stripCustomNsAttrs(t){const e=t.attributes;for(let a=e.length-1;0<a;a--){const n=e.item(a).name;"xmlns:ns1"!==n&&0!==n.indexOf("ns1:")||t.removeAttribute(n)}let n=t.firstChild;for(;n;)n.nodeType===Node.ELEMENT_NODE&&this.stripCustomNsAttrs(n),n=n.nextSibling}}const Ya=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi,Ba=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+\/]+=*$/i;function Ha(t){return(t=String(t)).match(Ya)||t.match(Ba)?t:(za()&&console.warn(`WARNING: sanitizing unsafe URL value ${t} (see http://g.co/ng/security#xss)`),"unsafe:"+t)}function Ua(t){return(t=String(t)).split(",").map(t=>Ha(t.trim())).join(", ")}function Wa(t){const e={};for(const n of t.split(","))e[n]=!0;return e}function Ka(...t){const e={};for(const n of t)for(const t in n)n.hasOwnProperty(t)&&(e[t]=!0);return e}const $a=Wa("area,br,col,hr,img,wbr"),Za=Wa("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),Ja=Wa("rp,rt"),Xa=Ka(Ja,Za),Qa=Ka($a,Ka(Za,Wa("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),Ka(Ja,Wa("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),Xa),tr=Wa("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),er=Wa("srcset"),nr=Ka(tr,er,Wa("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),Wa("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),ar=Wa("script,style,template");class rr{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(t){let e=t.firstChild,n=!0;for(;e;)if(e.nodeType===Node.ELEMENT_NODE?n=this.startElement(e):e.nodeType===Node.TEXT_NODE?this.chars(e.nodeValue):this.sanitizedSomething=!0,n&&e.firstChild)e=e.firstChild;else for(;e;){e.nodeType===Node.ELEMENT_NODE&&this.endElement(e);let t=this.checkClobberedElement(e,e.nextSibling);if(t){e=t;break}e=this.checkClobberedElement(e,e.parentNode)}return this.buf.join("")}startElement(t){const e=t.nodeName.toLowerCase();if(!Qa.hasOwnProperty(e))return this.sanitizedSomething=!0,!ar.hasOwnProperty(e);this.buf.push("<"),this.buf.push(e);const n=t.attributes;for(let a=0;a<n.length;a++){const t=n.item(a),e=t.name,r=e.toLowerCase();if(!nr.hasOwnProperty(r)){this.sanitizedSomething=!0;continue}let o=t.value;tr[r]&&(o=Ha(o)),er[r]&&(o=Ua(o)),this.buf.push(" ",e,'="',sr(o),'"')}return this.buf.push(">"),!0}endElement(t){const e=t.nodeName.toLowerCase();Qa.hasOwnProperty(e)&&!$a.hasOwnProperty(e)&&(this.buf.push("</"),this.buf.push(e),this.buf.push(">"))}chars(t){this.buf.push(sr(t))}checkClobberedElement(t,e){if(e&&(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`);return e}}const or=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,ir=/([^\#-~ |!])/g;function sr(t){return t.replace(/&/g,"&amp;").replace(or,(function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"})).replace(ir,(function(t){return"&#"+t.charCodeAt(0)+";"})).replace(/</g,"&lt;").replace(/>/g,"&gt;")}let cr;function lr(t,e){let n=null;try{cr=cr||new Ga(t);let a=e?String(e):"";n=cr.getInertBodyElement(a);let r=5,o=a;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,a=o,o=n.innerHTML,n=cr.getInertBodyElement(a)}while(a!==o);const i=new rr,s=i.sanitizeChildren(dr(n)||n);return za()&&i.sanitizedSomething&&console.warn("WARNING: sanitizing HTML stripped some content, see http://g.co/ng/security#xss"),s}finally{if(n){const t=dr(n)||n;for(;t.firstChild;)t.removeChild(t.firstChild)}}}function dr(t){return"content"in t&&function(t){return t.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===t.nodeName}(t)?t.content:null}const ur=function(){var t={NONE:0,HTML:1,STYLE:2,SCRIPT:3,URL:4,RESOURCE_URL:5};return t[t.NONE]="NONE",t[t.HTML]="HTML",t[t.STYLE]="STYLE",t[t.SCRIPT]="SCRIPT",t[t.URL]="URL",t[t.RESOURCE_URL]="RESOURCE_URL",t}();class gr{}const fr=new RegExp("^([-,.\"'%_!# a-zA-Z0-9]+|(?:(?:matrix|translate|scale|rotate|skew|perspective)(?:X|Y|Z|3d)?|(?:rgb|hsl)a?|(?:repeating-)?(?:linear|radial)-gradient|(?:calc|attr))\\([-0-9.%, #a-zA-Z]+\\))$","g"),pr=/^url\(([^)]+)\)$/;function mr(t){if(!(t=String(t).trim()))return"";const e=t.match(pr);return e&&Ha(e[1])===e[1]||t.match(fr)&&function(t){let e=!0,n=!0;for(let a=0;a<t.length;a++){const r=t.charAt(a);"'"===r&&n?e=!e:'"'===r&&e&&(n=!n)}return e&&n}(t)?t:(za()&&console.warn(`WARNING: sanitizing unsafe style value ${t} (see http://g.co/ng/security#xss).`),"unsafe")}function hr(t){const e=Mr();return e?e.sanitize(ur.HTML,t)||"":Na(t,"Html")?t.toString():lr(document,gn(t))}function br(t){const e=Mr();return e?e.sanitize(ur.STYLE,t)||"":Na(t,"Style")?t.toString():mr(gn(t))}function _r(t){const e=Mr();return e?e.sanitize(ur.URL,t)||"":Na(t,"Url")?t.toString():Ha(gn(t))}function yr(t){const e=Mr();if(e)return e.sanitize(ur.RESOURCE_URL,t)||"";if(Na(t,"ResourceUrl"))return t.toString();throw new Error("unsafe value used in a resource URL context (see http://g.co/ng/security#xss)")}function Or(t){const e=Mr();if(e)return e.sanitize(ur.SCRIPT,t)||"";if(Na(t,"Script"))return t.toString();throw new Error("unsafe value used in a script context")}function vr(t,e){return"src"===e&&("embed"===t||"frame"===t||"iframe"===t||"media"===t||"script"===t)||"href"===e&&("base"===t||"link"===t)?yr:_r}function Cr(t,e,n){return vr(e,n)(t)}const Pr=function(t,e,n){let a=!0;return 1&(n=n||3)&&(a="background-image"===t||"background"===t||"border-image"===t||"filter"===t||"list-style"===t||"list-style-image"===t||"clip-path"===t),2&n?a?br(e):e:a};function Mr(){const t=Pe();return t&&t[13]}const xr=/([A-Z])/g;function wr(t){try{return null!=t?t.toString().slice(0,30):t}catch(e){return"[ERROR] Exception while trying to serialize the value"}}function Tr(t){let e=pe(t);if(e){if(Array.isArray(e)){const a=e;let r,o=void 0,i=void 0;if((n=t)&&n.constructor&&n.constructor.ngComponentDef){if(r=Ar(a,t),-1==r)throw new Error("The provided component was not found in the application");o=t}else if(function(t){return t&&t.constructor&&t.constructor.ngDirectiveDef}(t)){if(r=function(t,e){let n=t[1].firstChild;for(;n;){const a=n.directiveEnd;for(let r=n.directiveStart;r<a;r++)if(t[r]===e)return n.index;n=Rr(n)}return-1}(a,t),-1==r)throw new Error("The provided directive was not found in the application");i=Er(r,a,!1)}else if(r=Nr(a,t),-1==r)return null;const s=se(a[r]),c=pe(s),l=c&&!Array.isArray(c)?c:kr(a,r,s);if(o&&void 0===l.component&&(l.component=o,Ir(l.component,l)),i&&void 0===l.directives){l.directives=i;for(let t=0;t<i.length;t++)Ir(i[t],l)}Ir(l.native,l),e=l}}else{const n=t;let a=n;for(;a=a.parentNode;){const t=pe(a);if(t){let a;if(a=Array.isArray(t)?t:t.lView,!a)return null;const r=Nr(a,n);if(r>=0){const t=se(a[r]),n=kr(a,r,t);Ir(t,n),e=n;break}}}}var n;return e||null}function kr(t,e,n){return{lView:t,nodeIndex:e,native:n,component:void 0,directives:void 0,localRefs:void 0}}function Sr(t){let e,n=pe(t);if(Array.isArray(n)){const a=Ar(n,t);e=fe(a,n);const r=kr(n,a,e[0]);r.component=t,Ir(t,r),Ir(r.native,r)}else e=fe(n.nodeIndex,n.lView);return e}function Ir(t,e){t.__ngContext__=e}function Nr(t,e){let n=t[1].firstChild;for(;n;){if(de(n,t)===e)return n.index;n=Rr(n)}return-1}function Rr(t){if(t.child)return t.child;if(t.next)return t.next;for(;t.parent&&!t.parent.next;)t=t.parent;return t.parent&&t.parent.next}function Ar(t,e){const n=t[1].components;if(n)for(let a=0;a<n.length;a++){const r=n[a];if(fe(r,t)[9]===e)return r}else if(fe(19,t)[9]===e)return 19;return-1}function Er(t,e,n){const a=e[1].data[t];let r=a.directiveStart;return 0==r?yt:(!n&&1&a.flags&&r++,e.slice(r,a.directiveEnd))}function Dr(t){throw new Error(`Multiple components match node with tagname ${t.tagName}`)}function Lr(){throw new Error("Cannot mix multi providers and regular providers")}function qr(t,e){const n=t.length,a=t.indexOf(e),r=a+e.length;return!(-1===a||a>0&&" "!==t[a-1]||r<n&&" "!==t[r])}function jr(t,e,n){return e===(0!==t.type||n?t.tagName:"ng-template")}function Fr(t,e,n){let a=4;const r=t.attrs||[],o=function(t){for(let e=0;e<t.length;e++)if(Zn(t[e]))return e;return t.length}(r);let i=!1;for(let s=0;s<e.length;s++){const c=e[s];if("number"!=typeof c){if(!i)if(4&a){if(a=2|1&a,""!==c&&!jr(t,c,n)||""===c&&1===e.length){if(zr(a))return!1;i=!0}}else{const l=8&a?c:e[++s];if(8&a&&t.classes){if(!qr(zn(t.classes),l)){if(zr(a))return!1;i=!0}continue}const d=Vr(8&a?"class":c,r,0==t.type&&"ng-template"!==t.tagName,n);if(-1===d){if(zr(a))return!1;i=!0;continue}if(""!==l){let t;t=d>o?"":r[d+1];const e=8&a?t:null;if(e&&!qr(e,l)||2&a&&l!==t){if(zr(a))return!1;i=!0}}}}else{if(!i&&!zr(a)&&!zr(c))return!1;if(i&&zr(c))continue;i=!1,a=c|1&a}}return zr(a)||i}function zr(t){return 0==(1&t)}function Vr(t,e,n,a){if(null===e)return-1;let r=0;if(a||!n){let n=!1;for(;r<e.length;){const a=e[r];if(a===t)return r;if(3===a||6===a)n=!0;else{if(1===a){let t=e[++r];for(;"string"==typeof t;)t=e[++r];continue}if(4===a)break;if(0===a){r+=4;continue}}r+=n?1:2}return-1}return function(t,e){let n=t.indexOf(4);if(n>-1)for(n++;n<t.length;){if(t[n]===e)return n;n++}return-1}(e,t)}function Gr(t,e,n=!1){for(let a=0;a<e.length;a++)if(Fr(t,e[a],n))return!0;return!1}function Yr(t,e){t:for(let n=0;n<e.length;n++){const a=e[n];if(t.length===a.length){for(let e=0;e<t.length;e++)if(t[e]!==a[e])continue t;return!0}}return!1}let Br=[];function Hr(t,e,n,a,r,o,i,s){const c=!a,l=oe(n,Rn(t)),d=c?0:l.classesIndex++;return!(!Wr(t,e,d,a,r,o,i,s,!1)&&!s||(l.classesBitMask|=1<<d,0))}function Ur(t,e,n,a,r,o,i,s,c){const l=!a,d=oe(n,Rn(t)),u=l?0:d.stylesIndex++;return!(!Wr(t,e,u,a,r,o,s,c,!!l||!!i&&i(a,null,1))&&!c||(d.stylesBitMask|=1<<u,0))}function Wr(t,e,n,a,r,o,i,s,c){Nn(t)||(i?function(t,e,n,a,r){Br.unshift(t,e,n,a,r)}(t,n,a,r,c):(Br.length&&Kr(),$r(t,n,a,r,c)));const l=s||En(e[r],o);return l&&(e[r]=o),l}function Kr(){let t=0;for(;t<Br.length;)$r(Br[t++],Br[t++],Br[t++],Br[t++],Br[t++]);Br.length=0}function $r(t,e,n,a,r){let o=!1;if(n){let i=!1,s=An(t);for(;s<t.length;){const o=kn(t,s),c=Pn(t,s);if(i=n<=c,i){n<c&&Zr(t,s,n,r),Jr(t,!1,s,a,e);break}s+=3+o}i||(Zr(t,t.length,n,r),Jr(t,!1,s,a,e),o=!0)}else Jr(t,!0,3,a,e),o=!0;return o}function Zr(t,e,n,a){t.splice(e,0,a?1:0,1,n,null),Tn(t,e,1)}function Jr(t,e,n,a,r){const o=n+3;let i=o+kn(t,n);if(e||i--,"number"==typeof a){for(let e=o;e<=i;e++)if(t[e]===a)return;t.splice(i,0,a),t[n+1]++,Tn(t,n,wn(t,n)|1<<r)}else null!==a&&null==t[i]&&(t[i]=a)}function Xr(t,e,n,a,r,o,i,s){return r&&a&&(function(t){if(!Nn(t)){const e=jn(t);e&&function(t,e){for(let n=1;n<e.length;n+=2){const a=Hn(e,n);a&&$r(t,-1,Yn(e,n),a,!1)}}(t,e),function(t){Cn(t,1|vn(t))}(t)}}(a),function(t,e){return t&&e>0}(a,o))?(Qr(a,t,e,n,o,i,s),!0):r}function Qr(t,e,n,a,r,o,i){const s=!0===(c=r)?-1:!1===c?0:c;var c;const l=to,d=(s&wn(t,3))>0?1:0;let u=An(t);for(;u<t.length;){const r=kn(t,u);if(s&wn(t,u)){let s=!1;const c=Pn(t,u),g=r-1,f=Sn(t,u,g);for(let r=0;r<g;r++){const l=Sn(t,u,r),d=a[l];if(Dn(d)){o(e,n,c,i&&xn(t,u)?i(c,d,2):d,l),s=!0;break}}if(l){const r=l(t,e,n,a,o,i,d|(s?4:2),c,f);s=s||r}s||o(e,n,c,f)}u+=3+r}l&&l(t,e,n,a,o,i,d)}let to=null;const eo=(t,e,n,a)=>{const r=e.style;a?(a=a.toString(),t&&Wn(t)?t.setStyle(e,n,a,Un.DashCase):r&&r.setProperty(n,a)):t&&Wn(t)?t.removeStyle(e,n,Un.DashCase):r&&r.removeProperty(n)},no=(t,e,n,a)=>{if(""!==n){const r=e.classList;a?t&&Wn(t)?t.addClass(e,n):r&&r.add(n):t&&Wn(t)?t.removeClass(e,n):r&&r.remove(n)}};function ao(t,e,n,a){const r=jn(n);if(r)for(let o=1;o<r.length;o+=2){const n=Yn(r,o),i=Hn(r,o);a?no(t,e,n,i):eo(t,e,n,i)}}const ro={},oo={marker:"element"},io={marker:"comment"},so=(t,e,n,a,r,o,i,s,c)=>{let l=!1;if(kn(t,3)){let d=!0;const u=!s;u&&-2&i&&(d=!1,l=!0),d&&(l=function t(e,n,a,r,o,i,s,c,l,d){let u=!1;if(l<kn(e,3)){const g=Sn(e,3,l),f=r[g];let p=function(t){return t>=go.length&&go.push(1),go[t]}(l);for(;p<f.length;){const m=Yn(f,p),h=c&&m>c,b=!h&&m===c,_=Hn(f,p),y=Dn(_);let O=t(e,n,a,r,o,i,h?s:lo(s,y,b),h?c:m,l+1,d);if(h){u||(u=O);break}if(!O&&uo(s,b)){const t=b&&!y,e=t?d:_,r=t?g:null;o(n,a,m,i?i(m,e,3):e,r),O=!0}u=O&&b,p+=2}if(go[l]=p,1===f.length||!c)return t(e,n,a,r,o,i,s,c,l+1,d)}return u}(t,e,n,a,r,o,i,s||null,0,c||null)),u&&function(){for(let t=0;t<go.length;t++)go[t]=1}()}return l};function co(){to=so}function lo(t,e,n){let a=t;return e||4&t||!(n||1&t)?(a|=4,a&=-3):(a|=2,a&=-5),a}function uo(t,e){let n=(1&t)>0;return n?4&t&&e&&(n=!1):2&t&&(n=e),n}const go=[];function fo(t,e,n,a){for(let r=1;r<t.length;r+=2){const o=Yn(t,r);if(e<=o){let i=!1;if(o===e){const e=t[r];!a&&Dn(e)||(i=!0,Bn(t,r,n))}else i=!0,t.splice(r,0,e,n);return i}}return t.push(e,n),!0}function po(t,e){let n="";for(let a=1;a<t.length;a+=2){const r=Yn(t,a),o=Hn(t,a),i=Ln(r,e?"":o,":");n=Ln(n,i,e?" ":"; ")}return n}function mo(t){let e={};if(t)for(let n=1;n<t.length;n+=2){const a=Yn(t,n),r=Hn(t,n);e[a]=r}return e}class ho{constructor(t,e,n){this.context=t,this._data=e,this._isClassBased=n,this._sanitizer=null}overrideSanitizer(t){this._sanitizer=t}get summary(){const t={};return this._mapValues((e,n,a)=>{t[e]={prop:e,value:n,bindingIndex:a}}),t}get values(){const t={};return this._mapValues((e,n)=>{t[e]=n}),t}_mapValues(t){kn(this.context,3)>0&&co();const e=this._isClassBased?null:this._sanitizer||dn();Qr(this.context,null,{},this._data,!0,(e,n,a,r,o)=>{t(a,r,o||null)},e)}}function bo(t){_o(Pe(),t)}function _o(t,e){Xt(t,t[1],Ge(),e),en(e)}const yo=(()=>Promise.resolve(null))();function Oo(t){const e=t[1],n=Fe(t);if(e.firstTemplatePass=!1,t[7]=e.bindingStartIndex,!n){const n=Ge();Xt(t,e,n,void 0),function(t){for(let e=t[14];null!==e;e=e[4])if(-1===e[2]&&Bt(e))for(let t=9;t<e.length;t++){const n=e[t];wo(n,n[1],n[9])}}(t),vo(e,t),he(t),Qt(t,e.contentHooks,e.contentCheckHooks,n,1,void 0),function(t,e){const n=tn();try{if(t.expandoInstructions){let n=e[7]=t.expandoStartIndex;Ue(n);let a=-1,r=-1;for(let o=0;o<t.expandoInstructions.length;o++){const i=t.expandoInstructions[o];"number"==typeof i?(i<=0?(r=-i,Ie(r),n+=9+t.expandoInstructions[++o],a=n):n+=i,Ue(n)):(null!==i&&(e[7]=n,i(2,se(e[a]),r),Ne()),a++)}}}finally{Ie(n)}}(e,t)}n&&e.staticContentQueries&&vo(e,t),n&&!e.staticViewQueries||ri(2,e,t[9]),function(t,e){if(null!=e)for(let n=0;n<e.length;n++)Jo(t,e[n])}(t,e.components)}function vo(t,e){const n=t.contentQueries;if(null!==n)for(let a=0;a<n.length;a+=2){const r=n[a],o=n[a+1];if(-1!==o){const n=t.data[o];$e(r),n.contentQueries(2,e[o],o)}}}function Co(t,e){let n;const a=e||Pe()[12],r=an;return n=Wn(a)?a.createElement(t,r):null===r?a.createElement(t):a.createElementNS(r,t),n}function Po(t,e,n,a,r,o,i,s,c,l){const d=e.blueprint.slice();return d[0]=r,d[2]=140|a,he(d),d[3]=d[16]=t,d[9]=n,d[11]=i||t&&t[11],d[12]=s||t&&t[12],d[13]=c||t&&t[13]||null,d[10]=l||t&&t[10]||null,d[6]=o,d}function Mo(t,e,n,a,r,o){const i=n+19,s=t.data[i]||function(t,e,n,a,r,o,i){const s=Ee(),c=qe(),l=c?s:s&&s.parent,d=t.data[n]=Do(0,l&&l!==e?l:null,a,n,r,o);return 0!==i&&t.firstChild||(t.firstChild=d),s&&(!c||null!=s.child||null===d.parent&&2!==s.type?c||(s.next=d):s.child=d),d}(t,e,i,a,r,o,n);return De(s,!0),s}function xo(t,e,n,a){let r=t.node;return null==r&&(t.node=r=Do(0,e,2,n,null,null)),a[6]=r}function wo(t,e,n){const a=qe(),r=Ee();let o;if(512&t[2])ti(ra(t));else{let i=!1;try{De(null,!0),o=Ze(t,t[6]),he(t),ko(t,e.template,So(t),n),e.firstTemplatePass=!1,Oo(t),i=!0}finally{Xe(o,i),De(r,a)}}}function To(t,e,n){const a=t[11],r=Ze(t,t[6]),o=!Ge(),i=Fe(t);let s=!1;try{o&&!i&&a.begin&&a.begin(),i&&(n&&ko(t,n,1,e),Oo(t),t[2]&=-5),he(t),n&&ko(t,n,2,e),Oo(t),s=!0}finally{o&&!i&&a.end&&a.end(),Xe(r,s)}}function ko(t,e,n,a){cn();const r=tn();try{Ie(null),2&n&&_o(t,0),e(n,a)}finally{en(r)}}function So(t){return Fe(t)?1:2}function Io(t,e,n){if(Ht(e)){const a=e.directiveEnd;for(let r=e.directiveStart;r<a;r++){const e=t.data[r];e.contentQueries&&e.contentQueries(1,n[r],r)}}}function No(t,e,n,a=le){Oe()&&(function(t,e,n){const a=n.directiveStart,r=n.directiveEnd;!t.firstTemplatePass&&a<r&&ca(n,e);for(let o=a;o<r;o++){const a=t.data[o];Wt(a)&&Ko(e,n,a),Go(e,_a(t.data,e,o,n),a,o)}}(t,e,n),function(t,e,n){const a=n.directiveStart,r=n.directiveEnd,o=t.expandoInstructions,i=t.firstTemplatePass,s=n.index-19,c=tn();try{Ie(s);for(let s=a;s<r;s++){const a=t.data[s],r=e[s];a.hostBindings?(zo(a,o,r,n,i),Ne()):i&&o.push(null)}}finally{Ie(c)}}(t,e,n),function(t,e,n){const a=e.localNames;if(a){let r=e.index+1;for(let o=0;o<a.length;o+=2){const i=a[o+1],s=-1===i?n(e,t):t[i];t[r++]=s}}}(e,n,a),Ie(null))}function Ro(t){return t.tView||(t.tView=Ao(-1,t.template,t.consts,t.vars,t.directiveDefs,t.pipeDefs,t.viewQuery,t.schemas))}function Ao(t,e,n,a,r,o,i,s){const c=19+n,l=c+a,d=function(t,e){const n=new Array(e).fill(null,0,t).fill(ro,t);return n[7]=t,n}(c,l);return d[1]={id:t,blueprint:d,template:e,queries:null,viewQuery:i,node:null,data:d.slice().fill(null,c),bindingStartIndex:c,expandoStartIndex:l,expandoInstructions:null,firstTemplatePass:!0,staticViewQueries:!1,staticContentQueries:!1,preOrderHooks:null,preOrderCheckHooks:null,contentHooks:null,contentCheckHooks:null,viewHooks:null,viewCheckHooks:null,destroyHooks:null,cleanup:null,contentQueries:null,components:null,directiveRegistry:"function"==typeof r?r():r,pipeRegistry:"function"==typeof o?o():o,firstChild:null,schemas:s}}function Eo(t,e){const n=t.createRenderer(null,null);return"string"==typeof e?Wn(n)?n.selectRootElement(e):n.querySelector(e):e}function Do(t,e,n,a,r,o){return{type:n,index:a,injectorIndex:e?e.injectorIndex:-1,directiveStart:-1,directiveEnd:-1,propertyMetadataStartIndex:-1,propertyMetadataEndIndex:-1,flags:0,providerIndexes:0,tagName:r,attrs:o,localNames:null,initialInputs:void 0,inputs:void 0,outputs:void 0,tViews:null,next:null,projectionNext:null,child:null,parent:e,projection:null,styles:null,classes:null}}function Lo(t,e){const n=Pe()[1];let a=null;const r=t.directiveStart,o=t.directiveEnd;if(o>r){const t=0===e,i=n.data;for(let e=r;e<o;e++){const n=i[e],r=t?n.inputs:n.outputs;for(let t in r)if(r.hasOwnProperty(t)){a=a||{};const n=r[t];a.hasOwnProperty(t)?a[t].push(e,t,n):a[t]=[e,t,n]}}}return a}const qo={class:"className",for:"htmlFor",formaction:"formAction",innerHtml:"innerHTML",readonly:"readOnly",tabindex:"tabIndex"};function jo(t,e,n,a,r,o){const i=Pe(),s=ce(t,i),c=ue(t,i);let l,d;if(!r&&(l=si(c))&&(d=l[e]))gi(i,d,n),Ut(c)&&function(t,e){const n=fe(e,t);16&n[2]||(n[2]|=64)}(i,t+19);else if(3===c.type){!function(t,e,n,a,r){const o=e[7]-1,i=a[o];"�"==i[0]&&(a[o]=n+i,r||(-1==t.propertyMetadataStartIndex&&(t.propertyMetadataStartIndex=o),t.propertyMetadataEndIndex=o+1))}(c,i,e=qo[e]||e,i[1].data,r);const t=o?o(c,i):i[12];n=null!=a?a(n,c.tagName||"",e):n,Wn(t)?t.setProperty(s,e,n):Jn(e)||(s.setProperty?s.setProperty(e,n):s[e]=n)}}function Fo(t,e,n,a){if(!Oe())return;const r=function(t,e,n){const a=t.directiveRegistry;let r=null;if(a)for(let o=0;o<a.length;o++){const i=a[o];Gr(n,i.selectors,!1)&&(r||(r=[]),ga(ca(n,e),t,i.type),Wt(i)?(1&n.flags&&Dr(n),n.flags=1,r.unshift(i)):r.push(i))}return r}(t,e,n),o=a?{"":-1}:null;if(r){Uo(n,t.data.length,r.length);for(let t=0;t<r.length;t++){const e=r[t];e.providersResolver&&e.providersResolver(e)}Vo(t,n,r.length);const a=t.preOrderHooks&&t.preOrderHooks.length||0,i=t.preOrderCheckHooks&&t.preOrderCheckHooks.length||0,s=n.index-19;for(let n=0;n<r.length;n++){const c=r[n],l=t.data.length;Wo(t,e,c,c.factory),Ho(t.data.length-1,c,o),Zt(l,c,t,s,a,i)}}o&&function(t,e,n){if(e){const a=t.localNames=[];for(let t=0;t<e.length;t+=2){const r=n[e[t+1]];if(null==r)throw new Error(`Export of name '${e[t+1]}' not found!`);a.push(e[t],r)}}}(n,a,o)}function zo(t,e,n,a,r){const o=e.length;ye(t),t.hostBindings(1,n,a.index-19),ye(null),o===e.length&&r&&e.push(t.hostBindings)}function Vo(t,e,n){const a=-(e.index-19),r=t.data.length-(65535&e.providerIndexes);(t.expandoInstructions||(t.expandoInstructions=[])).push(a,r,n)}function Go(t,e,n,a){const r=Ee();Yo(t,r,e),r&&r.attrs&&function(t,e,n,a){let r=a.initialInputs;(void 0===r||t>=r.length)&&(r=function(t,e,n){const a=n.initialInputs||(n.initialInputs=[]);for(let i=a.length;i<=t;i++)a.push(null);const r=n.attrs;let o=0;for(;o<r.length;){const n=r[o];if(0===n){o+=4;continue}if(5===n){o+=2;continue}if("number"==typeof n)break;const i=e[n],s=r[o+1];void 0!==i&&(a[t]||(a[t]=[])).push(n,i,s),o+=2}return a}(t,n.inputs,a));const o=r[t];if(o){const t=n.setInput;for(let a=0;a<o.length;){const r=o[a++],i=o[a++],s=o[a++];t?n.setInput(e,s,r,i):e[i]=s}}}(a,e,n,r),t[1].firstTemplatePass&&n.contentQueries&&(r.flags|=4),Wt(n)&&(fe(r.index,t)[9]=e)}function Yo(t,e,n){const a=le(e,t);Ir(n,t),a&&Ir(a,t)}function Bo(t){const e=Pe()[1];(e.components||(e.components=[])).push(t.index)}function Ho(t,e,n){if(n){if(e.exportAs)for(let a=0;a<e.exportAs.length;a++)n[e.exportAs[a]]=t;e.template&&(n[""]=t)}}function Uo(t,e,n){t.flags=1&t.flags,t.directiveStart=e,t.directiveEnd=e+n,t.providerIndexes=e}function Wo(t,e,n,a){t.data.push(n);const r=new $t(a,Wt(n),null);t.blueprint.push(r),e.push(r)}function Ko(t,e,n){const a=le(e,t),r=Ro(n),o=t[11],i=Xo(t,Po(t,r,null,n.onPush?64:16,t[e.index],e,o,o.createRenderer(a,n)));i[6]=e,t[e.index]=i,t[1].firstTemplatePass&&Bo(e)}function $o(t,e,n,a,r,o){const i=ce(t,a),s=a[12];if(null==n)Wn(s)?s.removeAttribute(i,e,o):i.removeAttribute(e);else{const c=ue(t,a),l=null==r?gn(n):r(n,c.tagName||"",e);Wn(s)?s.setAttribute(i,e,l,o):o?i.setAttributeNS(o,e,l):i.setAttribute(e,l)}}function Zo(t,e,n,a,r){return new Array(t,!0,r?-1:0,e,null,null,a,n,null)}function Jo(t,e){const n=fe(e,t);(128==(128&n[2])||Fe(t))&&80&n[2]&&(function(t){const e=t[1];for(let n=t.length;n<e.blueprint.length;n++)t[n]=e.blueprint[n]}(n),ai(n,n[9]))}function Xo(t,e){return t[14]?t[15][4]=e:t[14]=e,t[15]=e,e}function Qo(t){for(;t;){t[2]|=64;const e=na(t);if(Kt(t)&&!e)return t;t=e}return null}function ti(t){for(let e=0;e<t.components.length;e++){const n=t.components[e];To(me(n),n)}}function ei(t,e){const n=t[11];n.begin&&n.begin();try{Fe(t)&&ai(t,e),ai(t,e)}catch(a){throw ui(t,a),a}finally{n.end&&n.end()}}function ni(t){ti(t[9])}function ai(t,e){const n=t[1],a=Ze(t,t[6]),r=n.template,o=Fe(t);let i=!1;try{he(t),o&&ri(1,n,e),ko(t,r,So(t),e),Oo(t),i=!0}finally{Xe(a,i)}}function ri(t,e,n){const a=e.viewQuery;null!==a&&($e(0),a(t,n))}function oi(t,e="",n=""){const a=t[1].data,r=t[7]-1;return null==a[r]?a[r]="�"+e+"�"+n:null}const ii=yo;function si(t){return void 0===t.inputs&&(t.inputs=Lo(t,0)),t.inputs}function ci(t){return t[8]||(t[8]=[])}function li(t){return t[1].cleanup||(t[1].cleanup=[])}function di(t,e){return e[t.index][12]}function ui(t,e){const n=t[10],a=n?n.get(Ta,null):null;a&&a.handleError(e)}function gi(t,e,n){const a=t[1];for(let r=0;r<e.length;){const o=e[r++],i=e[r++],s=e[r++],c=t[o],l=a.data[o];l.setInput?l.setInput(c,n,i,s):c[s]=n}}function fi(t,e,n){const a=ce(e,t),r=t[12];Wn(r)?r.setValue(a,n):a.textContent=n}function pi(t,e,n){ao(t,e,n.classes,!0),ao(t,e,n.styles,!1)}function mi(t,e){const n=e[3];return-1===t.index?Bt(n)?n:null:n}function hi(t,e){const n=mi(t,e);return n?Si(e[12],n[7]):null}function bi(t,e,n,a,r){if(null!=a){let o,i=!1;Bt(a)?o=a:Yt(a)&&(i=!0,a=a[0]);const s=se(a);0===t?Ti(e,n,s,r||null):1===t?Ri(e,s,i):2===t&&e.destroyNode(s),null!=o&&function(t,e,n,a,r){const o=n[7];o!==se(n)&&bi(e,t,a,o,r);for(let i=9;i<n.length;i++)Li(t,e,n[i],a,o)}(e,t,o,n,r)}}function _i(t,e){return Wn(e)?e.createText(gn(t)):e.createTextNode(gn(t))}function yi(t,e,n){const a=hi(t[1].node,t);a&&Li(t[12],e?0:1,t,a,n)}function Oi(t,e,n){const a=9+n,r=e.length;n>0&&(e[a-1][4]=t),n<r-9?(t[4]=e[a],dt(e,9+n,t)):(e.push(t),t[4]=null),t[3]=e;const o=t[17];null!==o&&e!==o&&function(t,e){const n=t[5];null===n?t[5]=[e]:n.push(e)}(o,t);const i=t[5];null!==i&&i.insertView(t[1]),t[2]|=128}function vi(t,e){const n=t[5],a=n.indexOf(e);n.splice(a,1)}function Ci(t,e){if(t.length<=9)return;const n=9+e,a=t[n];if(a){const r=a[17];null!==r&&r!==t&&vi(r,a),e>0&&(t[n-1][4]=a[4]);const o=ut(t,9+e);yi(a,!1);const i=o[5];null!==i&&i.detachView(o[1]),a[3]=null,a[4]=null,a[2]&=-129}return a}function Pi(t,e){const n=Ci(t,e);n&&Mi(n)}function Mi(t){if(!(256&t[2])){const e=t[12];Wn(e)&&e.destroyNode&&Li(e,2,t,null,null),function(t){let e=t[14];if(!e)return wi(t);for(;e;){let n=null;if(Yt(e))n=e[14];else{const t=e[9];t&&(n=t)}if(!n){for(;e&&!e[4]&&e!==t;)wi(e),e=xi(e,t);wi(e||t),n=e&&e[4]}e=n}}(t)}}function xi(t,e){let n;return Yt(t)&&(n=t[6])&&2===n.type?mi(n,t):t[3]===e?null:t[3]}function wi(t){if(Yt(t)&&!(256&t[2])){t[2]&=-129,t[2]|=256,function(t){const e=t[1];let n;if(null!=e&&null!=(n=e.destroyHooks))for(let a=0;a<n.length;a+=2){const e=t[n[a]];e instanceof $t||n[a+1].call(e)}}(t),function(t){const e=t[1].cleanup;if(null!==e){const n=t[8];for(let a=0;a<e.length-1;a+=2)if("string"==typeof e[a]){const r=e[a+1],o="function"==typeof r?r(t):se(t[r]),i=n[e[a+2]],s=e[a+3];"boolean"==typeof s?o.removeEventListener(e[a],i,s):s>=0?n[s]():n[-s].unsubscribe(),a+=2}else e[a].call(n[e[a+1]]);t[8]=null}}(t);const e=t[6];e&&3===e.type&&Wn(t[12])&&t[12].destroy();const n=t[17];if(null!==n&&Bt(t[3])){n!==t[3]&&vi(n,t);const e=t[5];null!==e&&e.detachView(t[1])}}}function Ti(t,e,n,a){Wn(t)?t.insertBefore(e,n,a):e.insertBefore(n,a,!0)}function ki(t,e,n,a){null!==a?Ti(t,e,n,a):function(t,e,n){Wn(t)?t.appendChild(e,n):e.appendChild(n)}(t,e,n)}function Si(t,e){return Wn(t)?t.parentNode(e):e.parentNode}function Ii(t,e,n){const a=function(t,e){if(Kt(e))return Si(e[12],le(t,e));const n=function(t){for(;null!=t.parent&&(4===t.parent.type||5===t.parent.type);)t=t.parent;return t}(t),a=n.parent;if(null==a){const t=e[6];return 2===t.type?hi(t,e):function(t){const e=t[6];return e&&3===e.type?le(e,na(t)):null}(e)}{const t=n&&5===n.type;if(t&&2&n.flags)return le(n,e).parentNode;if(1&a.flags&&!t){const t=e[1].data,n=t[t[a.index].directiveStart].encapsulation;if(n!==ht.ShadowDom&&n!==ht.Native)return null}return le(a,e)}}(e,n);if(null!=a){const r=n[12],o=function(t,e){if(2===t.type){const n=mi(t,e);return Ni(n.indexOf(e,9)-9,n)}return 4===t.type||5===t.type?le(t,e):null}(e.parent||n[6],n);if(Array.isArray(t))for(let e of t)ki(r,a,e,o);else ki(r,a,t,o)}}function Ni(t,e){const n=9+t+1;if(n<e.length){const t=e[n],a=t[6].child;return null!==a?de(a,t):e[7]}return e[7]}function Ri(t,e,n){const a=Si(t,e);a&&function(t,e,n,a){Wn(t)?t.removeChild(e,n,a):e.removeChild(n)}(t,a,e,n)}function Ai(t,e,n,a){const r=a[3];let o=a[6].projection[n];if(Array.isArray(o))Ii(o,e,t);else for(;o;)32&o.flags||(1===o.type?Ai(t,e,o.projection,aa(r)):(o.flags|=2,Di(o,e,t,r))),o=o.projectionNext}function Ei(t,e,n,a){for(;t;)Di(t,e,n,a),t=t.next}function Di(t,e,n,a){const r=le(t,a);Ii(r,e,n),Ir(r,a);const o=a[t.index];if(0===t.type)for(let i=9;i<o.length;i++)yi(o[i],!0,o[7]);else if(5===t.type){let e=t.child;Ei(e,e,a,a)}else 4===t.type&&Ei(t.child,e,n,a),Bt(o)&&Ii(o[7],e,n)}function Li(t,e,n,a,r){let o=n[1].node.child;for(;null!==o;)qi(t,e,n,o,a,r),o=o.next}function qi(t,e,n,a,r,o){const i=a.type;32&a.flags||(4===i||5===i?function(t,e,n,a,r,o){bi(e,t,r,n[a.index],o);let i=a.child;for(;i;)qi(t,e,n,i,r,o),i=i.next}(t,e,n,a,r,o):1===i?function(t,e,n,a,r,o){const i=aa(n),s=i[6].projection[a.projection];if(void 0!==s)if(Array.isArray(s))for(let c=0;c<s.length;c++)bi(e,t,r,s[c],o);else{let n=s;const a=i[3];for(;null!==n;)qi(t,e,a,n,r,o),n=n.projectionNext}}(t,e,n,a,r,o):bi(e,t,r,n[a.index],o))}class ji{constructor(t,e,n){this._context=e,this._componentIndex=n,this._appRef=null,this._viewContainerRef=null,this._tViewNode=null,this._lView=t}get rootNodes(){return null==this._lView[0]?function t(e,n,a){let r=n.child;for(;r;){const n=de(r,e);if(n&&a.push(n),4===r.type)t(e,r,a);else if(1===r.type){const t=aa(e),n=t[6],o=na(t);let i=n.projection[r.projection];for(;i&&o;)a.push(le(i,o)),i=i.next}r=r.next}return a}(this._lView,this._lView[6],[]):[]}get context(){return this._context?this._context:this._lookUpContext()}get destroyed(){return 256==(256&this._lView[2])}destroy(){if(this._appRef)this._appRef.detachView(this);else if(this._viewContainerRef){const t=this._viewContainerRef.indexOf(this);t>-1&&this._viewContainerRef.detach(t),this._viewContainerRef=null}Mi(this._lView)}onDestroy(t){var e,n;n=t,ci(e=this._lView).push(n),e[1].firstTemplatePass&&li(e).push(e[8].length-1,null)}markForCheck(){Qo(this._lView)}detach(){this._lView[2]&=-129}reattach(){this._lView[2]|=128}detectChanges(){ei(this._lView,this.context)}checkNoChanges(){!function(t,e){Ye(!0);try{ei(t,e)}finally{Ye(!1)}}(this._lView,this.context)}attachToViewContainerRef(t){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._viewContainerRef=t}detachFromAppRef(){this._appRef=null,function(t){Li(t[12],1,t,null,null)}(this._lView)}attachToAppRef(t){if(this._viewContainerRef)throw new Error("This view is already attached to a ViewContainer!");this._appRef=t}_lookUpContext(){return this._context=na(this._lView)[this._componentIndex]}}class Fi extends ji{constructor(t){super(t,null,-1),this._view=t}detectChanges(){ni(this._view)}checkNoChanges(){!function(t){Ye(!0);try{ni(t)}finally{Ye(!1)}}(this._view)}get context(){return null}}let zi,Vi,Gi;function Yi(t,e,n){return zi||(zi=class extends t{}),new zi(le(e,n))}function Bi(t,e,n,a){return Vi||(Vi=class extends t{constructor(t,e,n){super(),this._declarationView=t,this._declarationTContainer=e,this.elementRef=n}createEmbeddedView(t){const e=this._declarationTContainer.tViews,n=function(t,e,n,a){const r=qe(),o=Ee();De(null,!0);const i=Po(n,t,e,16,null,null);return i[16]=n,xo(t,null,-1,i),t.firstTemplatePass&&(t.node.injectorIndex=a),De(o,r),i}(e,t,this._declarationView,this._declarationTContainer.injectorIndex);n[17]=this._declarationView[this._declarationTContainer.index];const a=this._declarationView[5];null!==a&&(n[5]=a.createEmbeddedView(e)),wo(n,e,t);const r=new ji(n,t,-1);return r._tViewNode=n[6],r}}),0===n.type?new Vi(a,n,Yi(e,n,a)):null}function Hi(t,e,n,a){let r;Gi||(Gi=class extends t{constructor(t,e,n){super(),this._lContainer=t,this._hostTNode=e,this._hostView=n}get element(){return Yi(e,this._hostTNode,this._hostView)}get injector(){return new va(this._hostTNode,this._hostView)}get parentInjector(){const t=ua(this._hostTNode,this._hostView),e=ea(t,this._hostView),n=function(t,e,n){if(n.parent&&-1!==n.parent.injectorIndex){const t=n.parent.injectorIndex;let e=n.parent;for(;null!=e.parent&&t==e.injectorIndex;)e=e.parent;return e}let a=ta(t),r=e,o=e[6];for(;a>1;)r=r[16],o=r[6],a--;return o}(t,this._hostView,this._hostTNode);return Xn(t)&&null!=n?new va(n,e):new va(null,this._hostView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){return null!==this._lContainer[8]&&this._lContainer[8][t]||null}get length(){return this._lContainer.length-9}createEmbeddedView(t,e,n){const a=t.createEmbeddedView(e||{});return this.insert(a,n),a}createComponent(t,e,n,a,r){const o=n||this.parentInjector;!r&&null==t.ngModule&&o&&(r=o.get(ot,null));const i=t.create(o,a,void 0,r);return this.insert(i.hostView,e),i}insert(t,e){if(t.destroyed)throw new Error("Cannot insert a destroyed View in a ViewContainer!");this.allocateContainerIfNeeded();const n=t._lView,a=this._adjustIndex(e);return Bt(n[3])?this.move(t,a):(Oi(n,this._lContainer,a),yi(n,!0,Ni(a,this._lContainer)),t.attachToViewContainerRef(this),dt(this._lContainer[8],a,t),t)}move(t,e){if(t.destroyed)throw new Error("Cannot move a destroyed View in a ViewContainer!");const n=this.indexOf(t);return-1!==n&&this.detach(n),this.insert(t,e),t}indexOf(t){return null!==this._lContainer[8]?this._lContainer[8].indexOf(t):0}remove(t){this.allocateContainerIfNeeded();const e=this._adjustIndex(t,-1);Pi(this._lContainer,e),ut(this._lContainer[8],e)}detach(t){this.allocateContainerIfNeeded();const e=this._adjustIndex(t,-1),n=Ci(this._lContainer,e);return n&&null!=ut(this._lContainer[8],e)?new ji(n,n[9],-1):null}_adjustIndex(t,e=0){return null==t?this.length+e:t}allocateContainerIfNeeded(){null===this._lContainer[8]&&(this._lContainer[8]=[])}});const o=a[n.index];if(Bt(o))r=o,r[2]=-1;else{let t;if(t=4===n.type?se(o):a[12].createComment(""),Kt(a)){const e=a[12],r=le(n,a);Ti(e,Si(e,r),t,function(t,e){return Wn(t)?t.nextSibling(e):e.nextSibling}(e,r))}else Ii(t,n,a);a[n.index]=r=Zo(o,a,t,n,!0),Xo(a,r)}return new Gi(r,n,a)}function Ui(t=!1){return function(t,e,n){if(Ut(t)&&!n){const n=t.directiveStart,a=fe(t.index,e);return new ji(a,null,n)}if(3===t.type||0===t.type||4===t.type){const t=aa(e);return new ji(t,t[9],-1)}return null}(Ee(),Pe(),t)}let Wi=(()=>{class t{}return t.__NG_ELEMENT_ID__=()=>$i(),t})();const Ki=Ui,$i=(...t)=>{},Zi=Function;function Ji(t){return"function"==typeof t}const Xi=/^function\s+\S+\(\)\s*{[\s\S]+\.apply\(this,\s*arguments\)/,Qi=/^class\s+[A-Za-z\d$_]*\s*extends\s+[^{]+{/,ts=/^class\s+[A-Za-z\d$_]*\s*extends\s+[^{]+{[\s\S]*constructor\s*\(/,es=/^class\s+[A-Za-z\d$_]*\s*extends\s+[^{]+{[\s\S]*constructor\s*\(\)\s*{\s+super\(\.\.\.arguments\)/;class ns{constructor(t){this._reflect=t||F.Reflect}isReflectionEnabled(){return!0}factory(t){return(...e)=>new t(...e)}_zipTypesAndAnnotations(t,e){let n;n=new Array(void 0===t?e.length:t.length);for(let a=0;a<n.length;a++)n[a]=void 0===t?[]:t[a]&&t[a]!=Object?[t[a]]:[],e&&null!=e[a]&&(n[a]=n[a].concat(e[a]));return n}_ownParameters(t,e){if(n=t.toString(),Xi.test(n)||es.test(n)||Qi.test(n)&&!ts.test(n))return null;var n;if(t.parameters&&t.parameters!==e.parameters)return t.parameters;const a=t.ctorParameters;if(a&&a!==e.ctorParameters){const t="function"==typeof a?a():a,e=t.map(t=>t&&t.type),n=t.map(t=>t&&as(t.decorators));return this._zipTypesAndAnnotations(e,n)}const r=t.hasOwnProperty(l)&&t[l],o=this._reflect&&this._reflect.getOwnMetadata&&this._reflect.getOwnMetadata("design:paramtypes",t);return o||r?this._zipTypesAndAnnotations(o,r):new Array(t.length).fill(void 0)}parameters(t){if(!Ji(t))return[];const e=rs(t);let n=this._ownParameters(t,e);return n||e===Object||(n=this.parameters(e)),n||[]}_ownAnnotations(t,e){if(t.annotations&&t.annotations!==e.annotations){let e=t.annotations;return"function"==typeof e&&e.annotations&&(e=e.annotations),e}return t.decorators&&t.decorators!==e.decorators?as(t.decorators):t.hasOwnProperty(c)?t[c]:null}annotations(t){if(!Ji(t))return[];const e=rs(t),n=this._ownAnnotations(t,e)||[];return(e!==Object?this.annotations(e):[]).concat(n)}_ownPropMetadata(t,e){if(t.propMetadata&&t.propMetadata!==e.propMetadata){let e=t.propMetadata;return"function"==typeof e&&e.propMetadata&&(e=e.propMetadata),e}if(t.propDecorators&&t.propDecorators!==e.propDecorators){const e=t.propDecorators,n={};return Object.keys(e).forEach(t=>{n[t]=as(e[t])}),n}return t.hasOwnProperty(d)?t[d]:null}propMetadata(t){if(!Ji(t))return{};const e=rs(t),n={};if(e!==Object){const t=this.propMetadata(e);Object.keys(t).forEach(e=>{n[e]=t[e]})}const a=this._ownPropMetadata(t,e);return a&&Object.keys(a).forEach(t=>{const e=[];n.hasOwnProperty(t)&&e.push(...n[t]),e.push(...a[t]),n[t]=e}),n}ownPropMetadata(t){return Ji(t)&&this._ownPropMetadata(t,rs(t))||{}}hasLifecycleHook(t,e){return t instanceof Zi&&e in t.prototype}guards(t){return{}}getter(t){return new Function("o","return o."+t+";")}setter(t){return new Function("o","v","return o."+t+" = v;")}method(t){return new Function("o","args",`if (!o.${t}) throw new Error('"${t}" is undefined');\n        return o.${t}.apply(o, args);`)}importUri(t){return"object"==typeof t&&t.filePath?t.filePath:`./${N(t)}`}resourceUri(t){return`./${N(t)}`}resolveIdentifier(t,e,n,a){return a}resolveEnum(t,e){return t[e]}}function as(t){return t?t.map(t=>new(0,t.type.annotationCls)(...t.args?t.args:[])):[]}function rs(t){const e=t.prototype?Object.getPrototypeOf(t.prototype):null;return(e?e.constructor:null)||Object}let os=null;function is(){return os=os||new ns}function ss(t){return cs(is().parameters(t))}function cs(t){const e=z();return t.map(t=>function(t,e){const n={token:null,host:!1,optional:!1,resolved:t.R3ResolvedDependencyType.Token,self:!1,skipSelf:!1};function a(e){n.resolved=t.R3ResolvedDependencyType.Token,n.token=e}if(Array.isArray(e)){if(0===e.length)throw new Error("Dependency array must have arguments.");for(let r=0;r<e.length;r++){const o=e[r];if(void 0!==o)if(o instanceof h||"Optional"===o.__proto__.ngMetadataName)n.optional=!0;else if(o instanceof _||"SkipSelf"===o.__proto__.ngMetadataName)n.skipSelf=!0;else if(o instanceof b||"Self"===o.__proto__.ngMetadataName)n.self=!0;else if(o instanceof y||"Host"===o.__proto__.ngMetadataName)n.host=!0;else if(o instanceof m)n.token=o.token;else if(o instanceof O){if(void 0===o.attributeName)throw new Error("Attribute name must be defined.");n.token=o.attributeName,n.resolved=t.R3ResolvedDependencyType.Attribute}else o===Wi?(n.token=o,n.resolved=t.R3ResolvedDependencyType.ChangeDetectorRef):a(o)}}else a(e);return n}(e,t))}function ls(t,e){let n=null;t.hasOwnProperty(S)||Object.defineProperty(t,S,{get:()=>{if(null===n){const a=e||{providedIn:null},r=us(a)||fs(a)||gs(a)||ps(a),o={name:t.name,type:t,typeArgumentCount:0,providedIn:a.providedIn,ctorDeps:ss(t),userDeps:void 0};if((us(a)||fs(a))&&void 0!==a.deps&&(o.userDeps=cs(a.deps)),r)if(us(a))o.useClass=a.useClass;else if(gs(a))o.useValue=a.useValue;else if(fs(a))o.useFactory=a.useFactory;else{if(!ps(a))throw new Error("Unreachable state.");o.useExisting=a.useExisting}else o.useClass=t;n=z().compileInjectable(rt,`ng:///${t.name}/ngInjectableDef.js`,o)}return n}})}const ds=C({provide:String,useValue:C});function us(t){return void 0!==t.useClass}function gs(t){return ds in t}function fs(t){return void 0!==t.useFactory}function ps(t){return void 0!==t.useExisting}const ms=C({provide:String,useValue:C}),hs=[];function bs(t,e){if(!e){const e=(new ns).parameters(t);return()=>new t(...tt(e))}if(ms in e){const t=e;return()=>t.useValue}if(e.useExisting){const t=e;return()=>J(t.useExisting)}if(e.useFactory){const t=e;return()=>t.useFactory(...tt(t.deps||hs))}if(e.useClass){const n=e;let a=e.deps;if(!a){const e=new ns;a=e.parameters(t)}return()=>new n.useClass(...tt(a))}{let n=e.deps;if(!n){const e=new ns;n=e.parameters(t)}return()=>new t(...tt(n))}}const _s=u("Injectable",void 0,void 0,void 0,(t,e)=>Os(t,e)),ys=ls,Os=function(t,e){e&&void 0!==e.providedIn&&!T(t)&&(t.ngInjectableDef=M({token:t,providedIn:e.providedIn,factory:bs(t,e)}))},vs=new V("The presence of this token marks an injector as being the root injector."),Cs={},Ps={},Ms=[];let xs=void 0;function ws(){return void 0===xs&&(xs=new et),xs}function Ts(t,e=null,n=null,a){return e=e||ws(),new ks(t,n,e,a)}class ks{constructor(t,e,n,a=null){this.parent=n,this.records=new Map,this.injectorDefTypes=new Set,this.onDestroy=new Set,this._destroyed=!1;const r=[];lt([t],t=>this.processInjectorType(t,[],r)),e&&lt(e,n=>this.processProvider(n,t,e)),this.records.set(G,Ns(void 0,this)),this.isRootInjector=this.records.has(vs),this.injectorDefTypes.forEach(t=>this.get(t)),this.source=a||("object"==typeof t?null:N(t))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{this.onDestroy.forEach(t=>t.ngOnDestroy())}finally{this.records.clear(),this.onDestroy.clear(),this.injectorDefTypes.clear()}}get(t,e=Y,n=v.Default){this.assertNotDestroyed();const a=K(this);try{if(!(n&v.SkipSelf)){let e=this.records.get(t);if(void 0===e){const n=("function"==typeof(r=t)||"object"==typeof r&&r instanceof V)&&T(t);n&&this.injectableDefInScope(n)&&(e=Ns(Ss(t),Cs),this.records.set(t,e))}if(void 0!==e)return this.hydrate(t,e)}return(n&v.Self?ws():this.parent).get(t,n&v.Optional?null:e)}catch(o){if("NullInjectorError"===o.name){if((o.ngTempTokenPath=o.ngTempTokenPath||[]).unshift(N(t)),a)throw o;return nt(o,t,"R3InjectorError",this.source)}throw o}finally{K(a)}var r}toString(){const t=[];return this.records.forEach((e,n)=>t.push(N(n))),`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Error("Injector has already been destroyed.")}processInjectorType(t,e,n){if(!(t=E(t)))return!1;let a=k(t);const r=null==a&&t.ngModule||void 0,o=void 0===r?t:r,i=-1!==n.indexOf(o);if(void 0!==r&&(a=k(r)),null==a)return!1;if(this.injectorDefTypes.add(o),this.records.set(o,Ns(a.factory,Cs)),null!=a.imports&&!i){let t;n.push(o);try{lt(a.imports,a=>{this.processInjectorType(a,e,n)&&(void 0===t&&(t=[]),t.push(a))})}finally{}if(void 0!==t)for(let e=0;e<t.length;e++){const{ngModule:n,providers:a}=t[e];lt(a,t=>this.processProvider(t,n,a||Ms))}}const s=a.providers;if(null!=s&&!i){const e=t;lt(s,t=>this.processProvider(t,e,s))}return void 0!==r&&void 0!==t.providers}processProvider(t,e,n){let a=As(t=E(t))?t:E(t&&t.provide);const r=function(t,e,n){let a=Is(t,e,n);return Rs(t)?Ns(void 0,t.useValue):Ns(a,Cs)}(t,e,n);if(As(t)||!0!==t.multi){const t=this.records.get(a);t&&void 0!==t.multi&&Lr()}else{let e=this.records.get(a);e?void 0===e.multi&&Lr():(e=Ns(void 0,Cs,!0),e.factory=()=>tt(e.multi),this.records.set(a,e)),a=t,e.multi.push(t)}this.records.set(a,r)}hydrate(t,e){var n;return e.value===Ps?function(t){throw new Error(`Cannot instantiate cyclic dependency! ${t}`)}(N(t)):e.value===Cs&&(e.value=Ps,e.value=e.factory()),"object"==typeof e.value&&e.value&&null!==(n=e.value)&&"object"==typeof n&&"function"==typeof n.ngOnDestroy&&this.onDestroy.add(e.value),e.value}injectableDefInScope(t){return!!t.providedIn&&("string"==typeof t.providedIn?"any"===t.providedIn||"root"===t.providedIn&&this.isRootInjector:this.injectorDefTypes.has(t.providedIn))}}function Ss(t){const e=T(t);if(null!==e)return e.factory;const n=k(t);if(null!==n)return n.factory;if(t instanceof V)throw new Error(`Token ${N(t)} is missing an ngInjectableDef definition.`);if(t instanceof Function)return function(t){const e=t.length;if(e>0){const n=new Array(e).fill("?");throw new Error(`Can't resolve all parameters for ${N(t)}: (${n.join(", ")}).`)}const n=(a=t)&&a[S]?(console.warn(`DEPRECATED: DI is instantiating a token "${a.name}" that inherits its @Injectable decorator but does not provide one itself.\n`+`This will become an error in v10. Please add @Injectable() to the "${a.name}" class.`),a[S]):null;var a;return null!==n?()=>n.factory(t):()=>new t}(t);throw new Error("unreachable")}function Is(t,e,n){let a=void 0;if(As(t))return Ss(E(t));if(Rs(t))a=()=>E(t.useValue);else if((r=t)&&r.useExisting)a=()=>J(E(t.useExisting));else if(function(t){return!(!t||!t.useFactory)}(t))a=()=>t.useFactory(...tt(t.deps||[]));else{const r=E(t&&(t.useClass||t.provide));if(r||function(t,e,n){let a="";throw t&&e&&(a=` - only instances of Provider and Type are allowed, got: [${e.map(t=>t==n?"?"+n+"?":"...").join(", ")}]`),new Error(`Invalid provider for the NgModule '${N(t)}'`+a)}(e,n,t),!function(t){return!!t.deps}(t))return Ss(r);a=()=>new r(...tt(t.deps))}var r;return a}function Ns(t,e,n=!1){return{factory:t,value:e,multi:n?[]:void 0}}function Rs(t){return null!==t&&"object"==typeof t&&H in t}function As(t){return"function"==typeof t}function Es(t,e,n){return Ts({name:n},e,t,n)}const Ds=function(t,e,n){return new Vs(t,e,n)};let Ls=(()=>{class t{static create(t,e){return Array.isArray(t)?Ds(t,e,""):Ds(t.providers,t.parent,t.name||"")}}return t.THROW_IF_NOT_FOUND=Y,t.NULL=new et,t.ngInjectableDef=M({token:t,providedIn:"any",factory:()=>J(G)}),t.__NG_ELEMENT_ID__=-1,t})();const qs=function(t){return t},js=[],Fs=qs,zs=function(){return Array.prototype.slice.call(arguments)};class Vs{constructor(t,e=Ls.NULL,n=null){this.parent=e,this.source=n;const a=this._records=new Map;a.set(Ls,{token:Ls,fn:qs,deps:js,value:this,useNew:!1}),a.set(G,{token:G,fn:qs,deps:js,value:this,useNew:!1}),function t(e,n){if(n)if((n=E(n))instanceof Array)for(let a=0;a<n.length;a++)t(e,n[a]);else{if("function"==typeof n)throw Ys("Function/Class not supported",n);if(!n||"object"!=typeof n||!n.provide)throw Ys("Unexpected provider",n);{let t=E(n.provide);const a=function(t){const e=function(t){let e=js;const n=t.deps;if(n&&n.length){e=[];for(let t=0;t<n.length;t++){let a=6,r=E(n[t]);if(r instanceof Array)for(let t=0,e=r;t<e.length;t++){const n=e[t];n instanceof h||n==h?a|=1:n instanceof _||n==_?a&=-3:n instanceof b||n==b?a&=-5:r=n instanceof m?n.token:E(n)}e.push({token:r,options:a})}}else if(t.useExisting)e=[{token:E(t.useExisting),options:6}];else if(!(n||H in t))throw Ys("'deps' required",t);return e}(t);let n=qs,a=js,r=!1,o=E(t.provide);if(H in t)a=t.useValue;else if(t.useFactory)n=t.useFactory;else if(t.useExisting);else if(t.useClass)r=!0,n=E(t.useClass);else{if("function"!=typeof o)throw Ys("StaticProvider does not have [useValue|useFactory|useExisting|useClass] or [provide] is not newable",t);r=!0,n=o}return{deps:e,fn:n,useNew:r,value:a}}(n);if(!0===n.multi){let a=e.get(t);if(a){if(a.fn!==zs)throw Gs(t)}else e.set(t,a={token:n.provide,deps:[],useNew:!1,fn:zs,value:js});t=n,a.deps.push({token:t,options:6})}const r=e.get(t);if(r&&r.fn==zs)throw Gs(t);e.set(t,a)}}}(a,t)}get(t,e,n=v.Default){const a=this._records.get(t);try{return function t(e,n,a,r,o,i){try{return function(e,n,a,r,o,i){let s;if(!n||i&v.SkipSelf)i&v.Self||(s=r.get(e,o,v.Default));else{if(s=n.value,s==Fs)throw Error("ɵCircular dependency");if(s===js){n.value=Fs;let e=void 0,o=n.useNew,i=n.fn,c=n.deps,l=js;if(c.length){l=[];for(let e=0;e<c.length;e++){const n=c[e],o=n.options,i=2&o?a.get(n.token):void 0;l.push(t(n.token,i,a,i||4&o?r:Ls.NULL,1&o?null:Ls.THROW_IF_NOT_FOUND,v.Default))}}n.value=s=o?new i(...l):i.apply(e,l)}}return s}(e,n,a,r,o,i)}catch(s){throw s instanceof Error||(s=new Error(s)),(s.ngTempTokenPath=s.ngTempTokenPath||[]).unshift(e),n&&n.value==Fs&&(n.value=js),s}}(t,a,this._records,this.parent,e,n)}catch(r){return nt(r,t,"StaticInjectorError",this.source)}}toString(){const t=[];return this._records.forEach((e,n)=>t.push(N(n))),`StaticInjector[${t.join(", ")}]`}}function Gs(t){return Ys("Cannot mix multi providers and regular providers",t)}function Ys(t,e){return new Error(at(t,e,"StaticInjectorError"))}function Bs(t){return t.length>1?" ("+function(t){const e=[];for(let n=0;n<t.length;++n){if(e.indexOf(t[n])>-1)return e.push(t[n]),e;e.push(t[n])}return e}(t.slice().reverse()).map(t=>N(t.token)).join(" -> ")+")":""}function Hs(t,e,n,a){const r=[e],o=n(r),i=a?function(t,e){const n=`${t} caused by: ${e instanceof Error?e.message:e}`,a=Error(n);return a.ngOriginalError=e,a}(o,a):Error(o);return i.addKey=Us,i.keys=r,i.injectors=[t],i.constructResolvingMessage=n,i.ngOriginalError=a,i}function Us(t,e){this.injectors.push(t),this.keys.push(e),this.message=this.constructResolvingMessage(this.keys)}function Ws(t,e){const n=[];for(let a=0,r=e.length;a<r;a++){const t=e[a];n.push(t&&0!=t.length?t.map(N).join(" "):"?")}return Error("Cannot resolve all parameters for '"+N(t)+"'("+n.join(", ")+"). Make sure that all the parameters are decorated with Inject or have valid type annotations and that '"+N(t)+"' is decorated with Injectable.")}class Ks{constructor(t,e){if(this.token=t,this.id=e,!t)throw new Error("Token must be defined!");this.displayName=N(this.token)}static get(t){return Zs.get(E(t))}static get numberOfKeys(){return Zs.numberOfKeys}}class $s{constructor(){this._allKeys=new Map}get(t){if(t instanceof Ks)return t;if(this._allKeys.has(t))return this._allKeys.get(t);const e=new Ks(t,Ks.numberOfKeys);return this._allKeys.set(t,e),e}get numberOfKeys(){return this._allKeys.size}}const Zs=new $s;class Js{constructor(t){this.reflectionCapabilities=t}updateCapabilities(t){this.reflectionCapabilities=t}factory(t){return this.reflectionCapabilities.factory(t)}parameters(t){return this.reflectionCapabilities.parameters(t)}annotations(t){return this.reflectionCapabilities.annotations(t)}propMetadata(t){return this.reflectionCapabilities.propMetadata(t)}hasLifecycleHook(t,e){return this.reflectionCapabilities.hasLifecycleHook(t,e)}getter(t){return this.reflectionCapabilities.getter(t)}setter(t){return this.reflectionCapabilities.setter(t)}method(t){return this.reflectionCapabilities.method(t)}importUri(t){return this.reflectionCapabilities.importUri(t)}resourceUri(t){return this.reflectionCapabilities.resourceUri(t)}resolveIdentifier(t,e,n,a){return this.reflectionCapabilities.resolveIdentifier(t,e,n,a)}resolveEnum(t,e){return this.reflectionCapabilities.resolveEnum(t,e)}}const Xs=new Js(new ns);class Qs{constructor(t,e,n){this.key=t,this.optional=e,this.visibility=n}static fromKey(t){return new Qs(t,!1,null)}}const tc=[];class ec{constructor(t,e,n){this.key=t,this.resolvedFactories=e,this.multiProvider=n,this.resolvedFactory=this.resolvedFactories[0]}}class nc{constructor(t,e){this.factory=t,this.dependencies=e}}function ac(t){let e,n;if(t.useClass){const a=E(t.useClass);e=Xs.factory(a),n=ic(a)}else t.useExisting?(e=t=>t,n=[Qs.fromKey(Ks.get(t.useExisting))]):t.useFactory?(e=t.useFactory,n=function(t,e){if(e){const n=e.map(t=>[t]);return e.map(e=>sc(t,e,n))}return ic(t)}(t.useFactory,t.deps)):(e=()=>t.useValue,n=tc);return new nc(e,n)}function rc(t){return new ec(Ks.get(t.provide),[ac(t)],t.multi||!1)}function oc(t){const e=function(t,e){for(let n=0;n<t.length;n++){const a=t[n],r=e.get(a.key.id);if(r){if(a.multiProvider!==r.multiProvider)throw Error(`Cannot mix multi providers and regular providers, got: ${r} ${a}`);if(a.multiProvider)for(let t=0;t<a.resolvedFactories.length;t++)r.resolvedFactories.push(a.resolvedFactories[t]);else e.set(a.key.id,a)}else{let t;t=a.multiProvider?new ec(a.key,a.resolvedFactories.slice(),a.multiProvider):a,e.set(a.key.id,t)}}return e}(function t(e,n){return e.forEach(e=>{if(e instanceof Zi)n.push({provide:e,useClass:e});else if(e&&"object"==typeof e&&void 0!==e.provide)n.push(e);else{if(!(e instanceof Array))throw Error(`Invalid provider - only instances of Provider and Type are allowed, got: ${e}`);t(e,n)}}),n}(t,[]).map(rc),new Map);return Array.from(e.values())}function ic(t){const e=Xs.parameters(t);if(!e)return[];if(e.some(t=>null==t))throw Ws(t,e);return e.map(n=>sc(t,n,e))}function sc(t,e,n){let a=null,r=!1;if(!Array.isArray(e))return cc(e instanceof m?e.token:e,r,null);let o=null;for(let i=0;i<e.length;++i){const t=e[i];t instanceof Zi?a=t:t instanceof m?a=t.token:t instanceof h?r=!0:t instanceof b||t instanceof _?o=t:t instanceof V&&(a=t)}if(a=E(a),null!=a)return cc(a,r,o);throw Ws(t,n)}function cc(t,e,n){return new Qs(Ks.get(t),e,n)}const lc=new Object;class dc{static resolve(t){return oc(t)}static resolveAndCreate(t,e){const n=dc.resolve(t);return dc.fromResolvedProviders(n,e)}static fromResolvedProviders(t,e){return new uc(t,e)}}let uc=(()=>{class t{constructor(t,e){this._constructionCounter=0,this._providers=t,this.parent=e||null;const n=t.length;this.keyIds=new Array(n),this.objs=new Array(n);for(let a=0;a<n;a++)this.keyIds[a]=t[a].key.id,this.objs[a]=lc}get(t,e=Y){return this._getByKey(Ks.get(t),null,e)}resolveAndCreateChild(t){const e=dc.resolve(t);return this.createChildFromResolved(e)}createChildFromResolved(e){const n=new t(e);return n.parent=this,n}resolveAndInstantiate(t){return this.instantiateResolved(dc.resolve([t])[0])}instantiateResolved(t){return this._instantiateProvider(t)}getProviderAtIndex(t){if(t<0||t>=this._providers.length)throw function(t){return Error(`Index ${t} is out-of-bounds.`)}(t);return this._providers[t]}_new(t){if(this._constructionCounter++>this._getMaxNumberOfObjects())throw Hs(this,t.key,(function(t){return`Cannot instantiate cyclic dependency!${Bs(t)}`}));return this._instantiateProvider(t)}_getMaxNumberOfObjects(){return this.objs.length}_instantiateProvider(t){if(t.multiProvider){const e=new Array(t.resolvedFactories.length);for(let n=0;n<t.resolvedFactories.length;++n)e[n]=this._instantiate(t,t.resolvedFactories[n]);return e}return this._instantiate(t,t.resolvedFactories[0])}_instantiate(t,e){const n=e.factory;let a,r;try{a=e.dependencies.map(t=>this._getByReflectiveDependency(t))}catch(i){throw i.addKey&&i.addKey(this,t.key),i}try{r=n(...a)}catch(i){throw Hs(this,t.key,(function(t){const e=N(t[0].token);return`${o.message}: Error during instantiation of ${e}!${Bs(t)}.`}),o=i)}var o;return r}_getByReflectiveDependency(t){return this._getByKey(t.key,t.visibility,t.optional?null:Y)}_getByKey(e,n,a){return e===t.INJECTOR_KEY?this:n instanceof b?this._getByKeySelf(e,a):this._getByKeyDefault(e,a,n)}_getObjByKeyId(t){for(let e=0;e<this.keyIds.length;e++)if(this.keyIds[e]===t)return this.objs[e]===lc&&(this.objs[e]=this._new(this._providers[e])),this.objs[e];return lc}_throwOrNull(t,e){if(e!==Y)return e;throw function(t,e){return Hs(t,e,(function(t){return`No provider for ${N(t[0].token)}!${Bs(t)}`}))}(this,t)}_getByKeySelf(t,e){const n=this._getObjByKeyId(t.id);return n!==lc?n:this._throwOrNull(t,e)}_getByKeyDefault(e,n,a){let r;for(r=a instanceof _?this.parent:this;r instanceof t;){const t=r,n=t._getObjByKeyId(e.id);if(n!==lc)return n;r=t.parent}return null!==r?r.get(e.token,n):this._throwOrNull(e,n)}get displayName(){return`ReflectiveInjector(providers: [${function(t,e){const n=new Array(t._providers.length);for(let a=0;a<t._providers.length;++a)n[a]=e(t.getProviderAtIndex(a));return n}(this,t=>' "'+t.key.displayName+'" ').join(", ")}])`}toString(){return this.displayName}}return t.INJECTOR_KEY=Ks.get(Ls),t})();const gc=new V("AnalyzeForEntryComponents");class fc{}const pc=p("ContentChildren",(t,e={})=>Object.assign({selector:t,first:!1,isViewQuery:!1,descendants:!1},e),fc),mc=p("ContentChild",(t,e={})=>Object.assign({selector:t,first:!0,isViewQuery:!1,descendants:!0},e),fc),hc=p("ViewChildren",(t,e={})=>Object.assign({selector:t,first:!1,isViewQuery:!0,descendants:!0},e),fc),bc=p("ViewChild",(t,e)=>Object.assign({selector:t,first:!0,isViewQuery:!0,descendants:!0},e),fc);function _c(t){const e=[],n=new Map;function a(e){let a=n.get(e);if(!a){const r=t(e);n.set(e,a=r.then(Pc))}return a}return yc.forEach((t,n)=>{const r=[];t.templateUrl&&r.push(a(t.templateUrl).then(e=>{t.template=e}));const o=t.styleUrls,i=t.styles||(t.styles=[]),s=t.styles.length;o&&o.forEach((e,n)=>{i.push(""),r.push(a(e).then(a=>{i[s+n]=a,o.splice(o.indexOf(e),1),0==o.length&&(t.styleUrls=void 0)}))});const c=Promise.all(r).then(()=>function(t){Oc.delete(t)}(n));e.push(c)}),Cc(),Promise.all(e).then(()=>{})}let yc=new Map;const Oc=new Set;function vc(t){return!!(t.templateUrl&&!t.hasOwnProperty("template")||t.styleUrls&&t.styleUrls.length)}function Cc(){const t=yc;return yc=new Map,t}function Pc(t){return"string"==typeof t?t:t.text()}function Mc(t){const e=Pe(),n=e[1];n.firstTemplatePass&&(function(t,e,n){const a=t.expandoInstructions,r=a.length;r>=2&&a[r-2]===e.hostBindings?a[r-1]=a[r-1]+n:a.push(e.hostBindings,n)}(n,_e,t),function(t,e,n){for(let a=0;a<n;a++)e.push(ro),t.blueprint.push(ro),t.data.push(null)}(n,e,t))}let xc=null;function wc(){if(!xc){const t=F.Symbol;if(t&&t.iterator)xc=t.iterator;else{const t=Object.getOwnPropertyNames(Map.prototype);for(let e=0;e<t.length;++e){const n=t[e];"entries"!==n&&"size"!==n&&Map.prototype[n]===Map.prototype.entries&&(xc=n)}}}return xc}function Tc(t,e){return t===e||"number"==typeof t&&"number"==typeof e&&isNaN(t)&&isNaN(e)}function kc(t,e){const n=Ic(t),a=Ic(e);if(n&&a)return function(t,e,n){const a=t[wc()](),r=e[wc()]();for(;;){const t=a.next(),e=r.next();if(t.done&&e.done)return!0;if(t.done||e.done)return!1;if(!n(t.value,e.value))return!1}}(t,e,kc);{const r=t&&("object"==typeof t||"function"==typeof t),o=e&&("object"==typeof e||"function"==typeof e);return!(n||!r||a||!o)||Tc(t,e)}}class Sc{constructor(t){this.wrapped=t}static wrap(t){return new Sc(t)}static unwrap(t){return Sc.isWrapped(t)?t.wrapped:t}static isWrapped(t){return t instanceof Sc}}function Ic(t){return!!Nc(t)&&(Array.isArray(t)||!(t instanceof Map)&&wc()in t)}function Nc(t){return null!==t&&("function"==typeof t||"object"==typeof t)}function Rc(t,e,n){return t[e]=n}function Ac(t,e){return t[e]}function Ec(t,e,n){return!!un(t[e],n)&&(t[e]=n,!0)}function Dc(t,e,n,a){const r=Ec(t,e,n);return Ec(t,e+1,a)||r}function Lc(t,e,n,a,r){const o=Dc(t,e,n,a);return Ec(t,e+2,r)||o}function qc(t,e,n,a,r,o){const i=Dc(t,e,n,a);return Dc(t,e+2,r,o)||i}function jc(t,e,n){const a=tn(),r=Fc(Pe(),e);return r!==ro&&jo(a,t,r,n),jc}function Fc(t,e){const n=t[7]++;return oi(t),Ec(t,n,e)?e:ro}function zc(t,e,n,a){const r=tn(),o=Pe(),i=Fc(o,e);return i!==ro&&$o(r,t,i,o,n,a),zc}function Vc(t,e){let n=!1;const a=t[1].data;let r=t[7];if(null==a[r]){for(let t=2;t<e.length;t+=2)a[r++]=e[t];r=t[7]}for(let i=1;i<e.length;i+=2)n=Ec(t,r++,e[i])||n;if(t[7]=r,oi(t,e[0],e[e.length-1]),!n)return ro;let o=e[0];for(let i=1;i<e.length;i+=2)o+=gn(e[i])+e[i+1];return o}function Gc(t,e,n,a){const r=Ec(t,t[7]++,n);return oi(t,e,a),r?e+gn(n)+a:ro}function Yc(t,e,n,a,r,o){const i=t[7],s=Dc(t,i,n,r);return t[7]+=2,oi(t,e,o)&&(t[1].data[i]=a),s?e+gn(n)+a+gn(r)+o:ro}function Bc(t,e,n,a,r,o,i,s){const c=t[7],l=Lc(t,c,n,r,i);if(t[7]+=3,oi(t,e,s)){const e=t[1].data;e[c]=a,e[c+1]=o}return l?e+gn(n)+a+gn(r)+o+gn(i)+s:ro}function Hc(t,e,n,a,r,o,i,s,c,l){const d=t[7],u=qc(t,d,n,r,i,c);if(t[7]+=4,oi(t,e,l)){const e=t[1].data;e[d]=a,e[d+1]=o,e[d+2]=s}return u?e+gn(n)+a+gn(r)+o+gn(i)+s+gn(c)+l:ro}function Uc(t,e,n,a,r,o,i,s,c,l,d,u){const g=t[7];let f=qc(t,g,n,r,i,c);if(f=Ec(t,g+4,d)||f,t[7]+=5,oi(t,e,u)){const e=t[1].data;e[g]=a,e[g+1]=o,e[g+2]=s,e[g+3]=l}return f?e+gn(n)+a+gn(r)+o+gn(i)+s+gn(c)+l+gn(d)+u:ro}function Wc(t,e,n,a,r,o,i,s,c,l,d,u,g,f){const p=t[7];let m=qc(t,p,n,r,i,c);if(m=Dc(t,p+4,d,g)||m,t[7]+=6,oi(t,e,f)){const e=t[1].data;e[p]=a,e[p+1]=o,e[p+2]=s,e[p+3]=l,e[p+4]=u}return m?e+gn(n)+a+gn(r)+o+gn(i)+s+gn(c)+l+gn(d)+u+gn(g)+f:ro}function Kc(t,e,n,a,r,o,i,s,c,l,d,u,g,f,p,m){const h=t[7];let b=qc(t,h,n,r,i,c);if(b=Lc(t,h+4,d,g,p)||b,t[7]+=7,oi(t,e,m)){const e=t[1].data;e[h]=a,e[h+1]=o,e[h+2]=s,e[h+3]=l,e[h+4]=u,e[h+5]=f}return b?e+gn(n)+a+gn(r)+o+gn(i)+s+gn(c)+l+gn(d)+u+gn(g)+f+gn(p)+m:ro}function $c(t,e,n,a,r,o,i,s,c,l,d,u,g,f,p,m,h,b){const _=t[7];let y=qc(t,_,n,r,i,c);if(y=qc(t,_+4,d,g,p,h)||y,t[7]+=8,oi(t,e,b)){const e=t[1].data;e[_]=a,e[_+1]=o,e[_+2]=s,e[_+3]=l,e[_+4]=u,e[_+5]=f,e[_+6]=m}return y?e+gn(n)+a+gn(r)+o+gn(i)+s+gn(c)+l+gn(d)+u+gn(g)+f+gn(p)+m+gn(h)+b:ro}function Zc(t,e,n,a,r,o){const i=tn(),s=Pe(),c=Gc(s,e,n,a);return c!==ro&&$o(i,t,c,s,r,o),Zc}function Jc(t,e,n,a,r,o,i,s){const c=tn(),l=Pe(),d=Yc(l,e,n,a,r,o);return d!==ro&&$o(c,t,d,l,i,s),Jc}function Xc(t,e,n,a,r,o,i,s,c,l){const d=tn(),u=Pe(),g=Bc(u,e,n,a,r,o,i,s);return g!==ro&&$o(d,t,g,u,c,l),Xc}function Qc(t,e,n,a,r,o,i,s,c,l,d,u){const g=tn(),f=Pe(),p=Hc(f,e,n,a,r,o,i,s,c,l);return p!==ro&&$o(g,t,p,f,d,u),Qc}function tl(t,e,n,a,r,o,i,s,c,l,d,u,g,f){const p=tn(),m=Pe(),h=Uc(m,e,n,a,r,o,i,s,c,l,d,u);return h!==ro&&$o(p,t,h,m,g,f),tl}function el(t,e,n,a,r,o,i,s,c,l,d,u,g,f,p,m){const h=tn(),b=Pe(),_=Wc(b,e,n,a,r,o,i,s,c,l,d,u,g,f);return _!==ro&&$o(h,t,_,b,p,m),el}function nl(t,e,n,a,r,o,i,s,c,l,d,u,g,f,p,m,h,b){const _=tn(),y=Pe(),O=Kc(y,e,n,a,r,o,i,s,c,l,d,u,g,f,p,m);return O!==ro&&$o(_,t,O,y,h,b),nl}function al(t,e,n,a,r,o,i,s,c,l,d,u,g,f,p,m,h,b,_,y){const O=tn(),v=Pe(),C=$c(v,e,n,a,r,o,i,s,c,l,d,u,g,f,p,m,h,b);return C!==ro&&$o(O,t,C,v,_,y),al}function rl(t,e,n,a){const r=tn(),o=Pe(),i=Vc(o,e);return i!==ro&&$o(r,t,i,o,n,a),rl}function ol(t){ei(Sr(t),t)}function il(t){!function(t,e){const n=0===t.flags;if(t.flags|=1,n&&t.clean==yo){let e;t.clean=new Promise(t=>e=t),t.scheduler(()=>{if(1&t.flags&&(t.flags&=-2,ti(t)),2&t.flags){t.flags&=-3;const e=t.playerHandler;e&&e.flushPlayers()}t.clean=yo,e(null)})}}(Qo(Sr(t))[9])}function sl(t){const e=Pe(),n=ul(e,t,null,null);e[1].firstTemplatePass&&(n.tViews=[]),je()}function cl(t,e,n,a,r,o,i,s){const c=Pe(),l=c[1],d=ul(c,t,r||null,o||null);if(l.firstTemplatePass){Fo(l,c,d,i||null);const t=d.tViews=Ao(-1,e,n,a,l.directiveRegistry,l.pipeRegistry,null,null);null!==l.queries&&(l.queries.template(l,d),t.queries=l.queries.embeddedTView(d))}No(l,c,d,s),Ir(le(d,c),c),Jt(l,d),je()}function ll(t){const e=Pe(),n=e[1];De(ge(n.data,t),!0),e[t+19][2]=0,Xt(e,n,Ge(),void 0)}function dl(){let t=Ee();qe()?je():(t=t.parent,De(t,!1));const e=Pe()[t.index],n=e[2];for(;n<e.length-9;)Pi(e,n)}function ul(t,e,n,a){const r=e+19,o=t[r]=t[12].createComment(""),i=Mo(t[1],t[6],e,0,n,a),s=t[r]=Zo(o,t,o,i);return Ii(o,i,t),Xo(t,s),i}function gl(t,e){const n=Pe(),a=n[1],r=t+19;r>=a.data.length&&(a.data[r]=null,a.blueprint[r]=null),n[r]=e}function fl(t){return ge(ze,t)}function pl(t){return ge(Pe(),t)}function ml(t,e=v.Default){t=E(t);const n=Pe();return null==n?J(t,e):pa(Ee(),n,t,e)}function hl(t){return fa(Ee(),t)}function bl(){var t,e;Pe()[1].firstTemplatePass&&(t=Ee(),e=Nl(),On(Al(t),e),On(Rl(t),e))}function _l(t){ln(t)}function yl(t,e,n){Ol(tn(),t,e,n)}function Ol(t,e,n,a){Cl(t,Pe()[7]++,e,function(t,e){if(t===ro)return t;let n=null;return null!==t&&(n=e?gn(t)+e:t),n}(n,a),!1,Dl())}function vl(t,e){const n=Pe()[7]++;Cl(tn(),n,t,e,!0,Dl())}function Cl(t,e,n,a,r,o){const i=Pe(),s=ue(t,i),c=le(s,i);let l=!1;if(a!==ro)if(r)l=Hr(Al(s),i,c,n,e,a,o,!1);else{const t=dn();l=Ur(Rl(s),i,c,n,e,a,t,o,!1)}return l}function Pl(t){const e=tn(),n=Pe(),a=ue(e,n),r=Rl(a),o=Nl(),i=n[7]++;!o&&Gn(a)&&t!==ro&&(Tl(r,n,a,i,t,!1),t=ro),wl(e,r,i,t,!1,Dl())}function Ml(t){xl(tn(),t)}function xl(t,e){const n=Pe(),a=ue(t,n),r=Al(a),o=Nl(),i=n[7]++;!o&&Vn(a)&&e!==ro&&(Tl(r,n,a,i,e,!0),e=ro),wl(t,r,i,e,!0,Dl())}function wl(t,e,n,a,r,o){co();const i=Pe();let s=!1;if(a!==ro){const c=le(ue(t,i),i),l=i[n];s=En(l,a);const d=function(t,e,n){const a=Array.isArray(t)?t:[null];a[0]=e||null;for(let s=1;s<a.length;s+=2)Bn(a,s,null);let r,o=null,i=!1;if("string"==typeof e?e.length&&(o=e.split(/\s+/),i=!0):(o=e?Object.keys(e):null,r=e),o)for(let s=0;s<o.length;s++){const t=o[s];fo(a,n?qn(t):t,!!i||r[t],!0)}return a}(l,a,!r);r?Hr(e,i,c,null,n,d,o,s):Ur(e,i,c,null,n,d,dn(),o,s)}return s}function Tl(t,e,n,a,r,o){e[a]!==r&&((r||Nn(t))&&gi(e,n.inputs[o?"class":"style"],function(t,e,n){let a=e;var r;return t.length>0&&(a=n?Ln(t,((r=e)&&"string"!=typeof r&&(r=Object.keys(r).join(" ")),r||"")):Ln(t,function(t){let e="";if(t){const n=Object.keys(t);for(let a=0;a<n.length;a++){const r=n[a];e=Ln(e,`${r}:${t[r]}`,";")}}return e}(e),";")),a}(zn(t),r,o)),e[a]=r)}function kl(){const t=tn(),e=Pe(),n=ue(t,e),a=function(t,e){return 3===t.type?e[12]:null}(n,e),r=le(n,e),o=Nl(),i=dn();(function(t,e,n,a,r,o,i){const s=n?Rn(n):!!a&&Rn(a),c=In(n,o),l=In(a,o);Br.length&&(c||l)&&Kr();const d=oe(r,s),u=Xr(t,r,e,n,c,d.classesBitMask,no,null),g=Xr(t,r,e,a,l,d.stylesBitMask,eo,i);u&&g?(ie(),s&&function(t){ne.delete(t)}(r)):s&&function(t,e){ne.set(t,e)}(r,d)})(a,e,Al(n),Rl(n),r,o,i),ln(null)}function Sl(t,e,n){let a=!1,r=jn(t.styles),o=jn(t.classes),i=-1;for(let s=n;s<e.length;s++){const t=e[s];"number"==typeof t?i=t:1==i?(o=o||[""],fo(o,t,!0),a=!0):2==i&&(r=r||[""],fo(r,t,e[++s]),a=!0)}return o&&o.length>1&&(t.classes||(t.classes=o),Il(t.classes,po(o,!0))),r&&r.length>1&&(t.styles||(t.styles=r),Il(t.styles,po(r,!1))),a}function Il(t,e){jn(t)[0]=e}function Nl(){return Te+ke}function Rl(t){return El(t,!1)}function Al(t){return El(t,!0)}function El(t,e){let n=e?t.classes:t.styles;return Fn(n)||(n=[n||[""],0,0,1,0,"--MAP--"],e?t.classes=n:t.styles=n),n}function Dl(){return Se>0}function Ll(t,e,n,a){const r=Pe(),o=r[1],i=r[t+19]=Co(e),s=r[12],c=Mo(o,r[6],t,3,e,n||null);if(null!=n){const t=$n(i,n);o.firstTemplatePass&&Sl(c,n,t)}if(pi(s,i,c),Ii(i,c,r),0===ae&&Ir(i,r),ae++,o.firstTemplatePass){Fo(o,r,c,a||null);const t=si(c);t&&t.hasOwnProperty("class")&&(c.flags|=8),t&&t.hasOwnProperty("style")&&(c.flags|=16),null!==o.queries&&o.queries.elementStart(o,c)}No(o,r,c),Io(o,c,r)}function ql(){let t=Ee();qe()?je():(t=t.parent,De(t,!1));const e=t,n=Pe(),a=n[1];Jt(a,t),ae--,a.firstTemplatePass&&null!==a.queries&&Ht(t)&&a.queries.elementEnd(t),Vn(e)&&e.classes&&zl(e.classes,n,e.inputs.class),Gn(e)&&e.styles&&zl(e.styles,n,e.inputs.style)}function jl(t,e,n,a){Ll(t,e,n,a),ql()}function Fl(t){const e=tn(),n=Pe(),a=n[1],r=ue(e,n);if(3===r.type){const e=le(r,n),o=$n(e,t);a.firstTemplatePass&&Sl(r,t,o)&&pi(n[12],e,r)}}function zl(t,e,n){gi(e,n,zn(t)||null)}function Vl(t,e,n){const a=Pe(),r=a[1],o=a[t+19]=a[12].createComment(""),i=Mo(r,a[6],t,4,"ng-container",e||null);e&&r.firstTemplatePass&&Sl(i,e,0),Ii(o,i,a),r.firstTemplatePass&&(Fo(r,a,i,n||null),r.queries&&r.queries.elementStart(r,i)),No(r,a,i),Ir(o,a),Io(r,i,a)}function Gl(){let t=Ee();const e=Pe()[1];qe()?je():(t=t.parent,De(t,!1)),Jt(e,t),e.firstTemplatePass&&null!==e.queries&&Ht(t)&&e.queries.elementEnd(t)}function Yl(t,e,n){Vl(t,e,n),Gl()}function Bl(t,e,n){const a=Pe(),r=Ee(),o=2===r.type?r.parent:r,i=a[o.index];let s=function(t,e,n){for(let a=e+9;a<t.length;a++){const e=t[a][1].id;if(e===n)return t[a];if(!(e<n))break;Pi(t,a-9)}return null}(i,i[2],t);if(s)xe=!0,Ze(s,s[1].node);else{s=Po(a,function(t,e,n,a){const r=Pe()[1],o=a.tViews;return(t>=o.length||null==o[t])&&(o[t]=Ao(t,null,e,n,r.directiveRegistry,r.pipeRegistry,null,null)),o[t]}(t,e,n,o),null,16,null,null);const i=qe()?r:r&&r.parent;xo(s[1],i,t,s),Ze(s,s[1].node)}return i&&(Fe(s)&&Oi(s,i,i[2]),i[2]++),Fe(s)?3:2}function Hl(){const t=Pe(),e=t[6];Fe(t)&&(Oo(t),t[2]&=-5),he(t),Oo(t),Xe(t[3][3],!0),De(e,!1)}function Ul(){return Pe()}function Wl(t){return!!t&&"function"==typeof t.then}function Kl(t){return!!t&&"function"==typeof t.subscribe}function $l(t,e,n=!1,a){Jl(t,e,n,a)}function Zl(t,e,n=!1,a){Jl(t,e,n,a,di)}function Jl(t,e,n=!1,a,r){const o=Pe(),i=Ee(),s=o[1],c=s.firstTemplatePass&&(s.cleanup||(s.cleanup=[]));let l=!0;if(3===i.type){const s=le(i,o),d=a?a(s):_t,u=d.target||s,g=r?r(i,o):o[12],f=ci(o),p=f.length,m=a?t=>a(se(t[i.index])).target:i.index;if(Wn(g)){let n=null;if(!a&&function(t){return t.directiveEnd>t.directiveStart}(i)&&(n=function(t,e,n){const a=t[1].cleanup;if(null!=a)for(let r=0;r<a.length-1;r+=2){const o=a[r];if(o===e&&a[r+1]===n){const e=t[8],n=a[r+2];return e.length>n?e[n]:null}"string"==typeof o&&(r+=2)}return null}(o,t,i.index)),null!==n)e.__ngNextListenerFn__=n.__ngNextListenerFn__,n.__ngNextListenerFn__=e,l=!1;else{e=Ql(i,o,e,!1);const n=g.listen(d.name||u,t,e);f.push(e,n),c&&c.push(t,m,p,p+1)}}else e=Ql(i,o,e,!0),u.addEventListener(t,e,n),f.push(e),c&&c.push(t,m,p,n)}void 0===i.outputs&&(i.outputs=Lo(i,1));const d=i.outputs;let u;if(l&&d&&(u=d[t])){const n=u.length;if(n){const a=ci(o);for(let r=0;r<n;r+=3){const n=o[u[r]][u[r+2]].subscribe(e),s=a.length;a.push(e,n),c&&c.push(t,i.index,s,-(s+1))}}}}function Xl(t,e,n){try{return!1!==e(n)}catch(a){return ui(t,a),!1}}function Ql(t,e,n,a){return function r(o){const i=1&t.flags?fe(t.index,e):e;0==(32&e[2])&&Qo(i);let s=Xl(e,n,o),c=r.__ngNextListenerFn__;for(;c;)s=Xl(e,c,o)&&s,c=c.__ngNextListenerFn__;return a&&!1===s&&(o.preventDefault(),o.returnValue=!1),s}}function td(t=1){return Je(t)}function ed(t,e){let n=null;const a=function(t){const e=t.attrs;if(null!=e){const t=e.indexOf(5);if(0==(1&t))return e[t+1]}return null}(t);for(let r=0;r<e.length;r++){const o=e[r];if("*"!==o){if(null===a?Gr(t,o,!0):Yr(a,o))return r}else n=r}return n}function nd(t){const e=aa(Pe())[6];if(!e.projection){const n=e.projection=new Array(t?t.length:1).fill(null),a=n.slice();let r=e.child;for(;null!==r;){const e=t?ed(r,t):0;null!==e&&(a[e]?a[e].projectionNext=r:n[e]=r,a[e]=r),r=r.next}}}let ad=!1;function rd(t){ad=t}function od(t,e=0,n){const a=Pe(),r=Mo(a[1],a[6],t,1,null,n||null);null===r.projection&&(r.projection=e),je(),ad||Ai(a,r,e,aa(a))}function id(t,e,n){return sd(t,"",e,"",n),id}function sd(t,e,n,a,r){const o=tn(),i=Gc(Pe(),e,n,a);return i!==ro&&jo(o,t,i,r),sd}function cd(t,e,n,a,r,o,i){const s=tn(),c=Yc(Pe(),e,n,a,r,o);return c!==ro&&jo(s,t,c,i),cd}function ld(t,e,n,a,r,o,i,s,c){const l=tn(),d=Bc(Pe(),e,n,a,r,o,i,s);return d!==ro&&jo(l,t,d,c),ld}function dd(t,e,n,a,r,o,i,s,c,l,d){const u=tn(),g=Hc(Pe(),e,n,a,r,o,i,s,c,l);return g!==ro&&jo(u,t,g,d),dd}function ud(t,e,n,a,r,o,i,s,c,l,d,u,g){const f=tn(),p=Uc(Pe(),e,n,a,r,o,i,s,c,l,d,u);return p!==ro&&jo(f,t,p,g),ud}function gd(t,e,n,a,r,o,i,s,c,l,d,u,g,f,p){const m=tn(),h=Wc(Pe(),e,n,a,r,o,i,s,c,l,d,u,g,f);return h!==ro&&jo(m,t,h,p),gd}function fd(t,e,n,a,r,o,i,s,c,l,d,u,g,f,p,m,h){const b=tn(),_=Kc(Pe(),e,n,a,r,o,i,s,c,l,d,u,g,f,p,m);return _!==ro&&jo(b,t,_,h),fd}function pd(t,e,n,a,r,o,i,s,c,l,d,u,g,f,p,m,h,b,_){const y=tn(),O=$c(Pe(),e,n,a,r,o,i,s,c,l,d,u,g,f,p,m,h,b);return O!==ro&&jo(y,t,O,_),pd}function md(t,e,n){const a=tn(),r=Vc(Pe(),e);return r!==ro&&jo(a,t,r,n),md}function hd(t,e){const n=Pe(),a=n[t+19]=_i(e,n[12]),r=Mo(n[1],n[6],t,3,null,null);je(),Ii(a,r,n)}function bd(t){const e=Pe(),n=tn(),a=Fc(e,t);a!==ro&&fi(e,n,gn(a))}function _d(t){return yd("",t,""),_d}function yd(t,e,n){const a=tn(),r=Pe(),o=Gc(r,t,e,n);return o!==ro&&fi(r,a,o),yd}function Od(t,e,n,a,r){const o=tn(),i=Pe(),s=Yc(i,t,e,n,a,r);return s!==ro&&fi(i,o,s),Od}function vd(t,e,n,a,r,o,i){const s=tn(),c=Pe(),l=Bc(c,t,e,n,a,r,o,i);return l!==ro&&fi(c,s,l),vd}function Cd(t,e,n,a,r,o,i,s,c){const l=tn(),d=Pe(),u=Hc(d,t,e,n,a,r,o,i,s,c);return u!==ro&&fi(d,l,u),Cd}function Pd(t,e,n,a,r,o,i,s,c,l,d){const u=tn(),g=Pe(),f=Uc(g,t,e,n,a,r,o,i,s,c,l,d);return f!==ro&&fi(g,u,f),Pd}function Md(t,e,n,a,r,o,i,s,c,l,d,u,g){const f=tn(),p=Pe(),m=Wc(p,t,e,n,a,r,o,i,s,c,l,d,u,g);return m!==ro&&fi(p,f,m),Md}function xd(t,e,n,a,r,o,i,s,c,l,d,u,g,f,p){const m=tn(),h=Pe(),b=Kc(h,t,e,n,a,r,o,i,s,c,l,d,u,g,f,p);return b!==ro&&fi(h,m,b),xd}function wd(t,e,n,a,r,o,i,s,c,l,d,u,g,f,p,m,h){const b=tn(),_=Pe(),y=$c(_,t,e,n,a,r,o,i,s,c,l,d,u,g,f,p,m,h);return y!==ro&&fi(_,b,y),wd}function Td(t){const e=tn(),n=Pe(),a=Vc(n,t);return a!==ro&&fi(n,e,a),Td}function kd(t,e,n){const a=Gc(Pe(),t,e,n);xl(tn(),a)}function Sd(t,e,n,a,r){const o=Yc(Pe(),t,e,n,a,r);xl(tn(),o)}function Id(t,e,n,a,r,o,i){const s=Bc(Pe(),t,e,n,a,r,o,i);xl(tn(),s)}function Nd(t,e,n,a,r,o,i,s,c){const l=Hc(Pe(),t,e,n,a,r,o,i,s,c);xl(tn(),l)}function Rd(t,e,n,a,r,o,i,s,c,l,d){const u=Uc(Pe(),t,e,n,a,r,o,i,s,c,l,d);xl(tn(),u)}function Ad(t,e,n,a,r,o,i,s,c,l,d,u,g){const f=Wc(Pe(),t,e,n,a,r,o,i,s,c,l,d,u,g);xl(tn(),f)}function Ed(t,e,n,a,r,o,i,s,c,l,d,u,g,f,p){const m=Kc(Pe(),t,e,n,a,r,o,i,s,c,l,d,u,g,f,p);xl(tn(),m)}function Dd(t,e,n,a,r,o,i,s,c,l,d,u,g,f,p,m,h){const b=$c(Pe(),t,e,n,a,r,o,i,s,c,l,d,u,g,f,p,m,h);xl(tn(),b)}function Ld(t){const e=Vc(Pe(),t);xl(tn(),e)}function qd(t,e,n,a,r){const o=Gc(Pe(),e,n,a);return Ol(tn(),t,o,r),qd}function jd(t,e,n,a,r,o,i){const s=Yc(Pe(),e,n,a,r,o);return Ol(tn(),t,s,i),jd}function Fd(t,e,n,a,r,o,i,s,c){const l=Bc(Pe(),e,n,a,r,o,i,s);return Ol(tn(),t,l,c),Fd}function zd(t,e,n,a,r,o,i,s,c,l,d){const u=Hc(Pe(),e,n,a,r,o,i,s,c,l);return Ol(tn(),t,u,d),zd}function Vd(t,e,n,a,r,o,i,s,c,l,d,u,g){const f=Uc(Pe(),e,n,a,r,o,i,s,c,l,d,u);return Ol(tn(),t,f,g),Vd}function Gd(t,e,n,a,r,o,i,s,c,l,d,u,g,f,p){const m=Wc(Pe(),e,n,a,r,o,i,s,c,l,d,u,g,f);return Ol(tn(),t,m,p),Gd}function Yd(t,e,n,a,r,o,i,s,c,l,d,u,g,f,p,m,h){const b=Kc(Pe(),e,n,a,r,o,i,s,c,l,d,u,g,f,p,m);return Ol(tn(),t,b,h),Yd}function Bd(t,e,n,a,r,o,i,s,c,l,d,u,g,f,p,m,h,b,_){const y=$c(Pe(),e,n,a,r,o,i,s,c,l,d,u,g,f,p,m,h,b);return Ol(tn(),t,y,_),Bd}function Hd(t,e,n){const a=Vc(Pe(),e);return Ol(tn(),t,a,n),Hd}function Ud(t,e,n){const a=tn(),r=Fc(Pe(),e);return r!==ro&&jo(a,t,r,n,!0),Ud}function Wd(t,e,n){const a=tn(),r=Fc(Pe(),e);return r!==ro&&jo(a,t,r,n,!0,di),Wd}function Kd(t){const e=nu(t);return void 0===e.component&&(e.component=function(t,e){const n=e[1].data[t];return 1&n.flags?e[n.directiveStart]:null}(e.nodeIndex,e.lView)),e.component}function $d(t){return nu(t).lView[9]}function Zd(t){let e,n=tu(t).lView;for(;null===n[0]&&(e=na(n));)n=e;return 512&n[2]?null:n[9]}function Jd(t){return[...ra(t).components]}function Xd(t){const e=tu(t);return new va(e.lView[1].data[e.nodeIndex],e.lView)}function Qd(t){const e=tu(t);return void 0===e.directives&&(e.directives=Er(e.nodeIndex,e.lView,!1)),e.directives||[]}function tu(t,e=!0){const n=Tr(t);if(!n&&e)throw new Error("Invalid ng target");return n}function eu(t){return Tr(t).native}function nu(t){if(!(t instanceof Node))throw new Error("Expecting instance of DOM Node");return tu(t)}function au(t){return"boolean"==typeof t.useCapture}function ru(t){const e=nu(t).lView,n=e[8],a=e[1].cleanup,r=[];if(a&&n)for(let o=0;o<a.length;){const i=a[o++],s=a[o++];if("string"==typeof i){const c=i,l=se(e[s]),d=n[a[o++]],u=a[o++],g="boolean"==typeof u?u:!(u>=0)&&null;t==l&&r.push({element:t,name:c,callback:d,useCapture:g})}}return r.sort(ou),r}function ou(t,e){return t.name==e.name?0:t.name<e.name?-1:1}let iu=!1;function su(){iu||(iu=!0,cu("getComponent",Kd),cu("getContext",$d),cu("getListeners",ru),cu("getViewComponent",Zd),cu("getHostElement",eu),cu("getInjector",Xd),cu("getRootComponents",Jd),cu("getDirectives",Qd),cu("markDirty",il))}function cu(t,e){if(F){let n=F.ng;n||(n=F.ng={}),n[t]=e}}function lu(t,e={}){Ie(null);const n=e.rendererFactory||Kn,a=e.sanitizer||null,r=jt(t);r.type!=t&&(r.type=t);const o=Eo(n,e.host||r.selectors[0][0]),i=r.onPush?576:528,s=gu(e.scheduler,e.playerHandler),c=n.createRenderer(o,r),l=Po(null,Ao(-1,null,1,0,null,null,null,null),s,i,null,null,n,c,void 0,e.injector||null),d=Ze(l,null);let u,g=!1;try{n.begin&&n.begin();const t=du(o,r,l,n,c,a);u=uu(t,r,l,s,e.hostFeatures||null),Xo(l,t),Oo(l),l[2]&=-5,he(l),Oo(l),g=!0}finally{Xe(d,g),n.end&&n.end()}return u}function du(t,e,n,a,r,o){xe=!1,Me=null,ae=0,be=!0,ln(null),ie(),ne.clear();const i=n[1];n[19]=t;const s=Mo(i,null,0,3,null,null),c=Po(n,Ro(e),null,e.onPush?64:16,n[19],s,a,r,o);return i.firstTemplatePass&&(ga(ca(s,n),i,e.type),s.flags=1,Uo(s,n.length,1),Bo(s)),n[19]=c}function uu(t,e,n,a,r){const o=n[1],i=function(t,e,n){const a=Ee();t.firstTemplatePass&&(n.providersResolver&&n.providersResolver(n),Vo(t,a,1),Wo(t,e,n,n.factory));const r=_a(t.data,e,e.length-1,a);return Yo(e,a,r),r}(o,n,e);a.components.push(i),t[9]=i,r&&r.forEach(t=>t(i,e)),e.contentQueries&&e.contentQueries(1,i,n.length-1);const s=Ee();return o.firstTemplatePass&&e.hostBindings&&(Ie(s.index-19),zo(e,o.expandoInstructions,i,s,o.firstTemplatePass),Ie(null)),i}function gu(t,e){return{components:[],scheduler:t||pn,clean:ii,playerHandler:e||null,flags:0}}function fu(t,e){const n=me(t)[1],a=n.data.length-1;Zt(a,e,n,-1,-1,-1),Jt(n,{directiveStart:a,directiveEnd:a+1})}function pu(t){return ra(t).clean}class mu{constructor(t,e,n){this.previousValue=t,this.currentValue=e,this.firstChange=n}isFirstChange(){return this.firstChange}}function hu(){return bu.ngInherit=!0,bu}function bu(t){t.type.prototype.ngOnChanges&&(t.setInput=_u,t.onChanges=function(){const t=yu(this),e=t&&t.current;if(e){const n=t.previous;if(n===_t)t.previous=e;else for(let t in e)n[t]=e[t];t.current=null,this.ngOnChanges(e)}})}function _u(t,e,n,a){const r=yu(t)||function(t,e){return t.__ngSimpleChanges__=e}(t,{previous:_t,current:null}),o=r.current||(r.current={}),i=r.previous,s=this.declaredInputs[n],c=i[s];o[s]=new mu(c&&c.currentValue,e,i===_t),t[a]=e}function yu(t){return t.__ngSimpleChanges__||null}function Ou(t){let e=Object.getPrototypeOf(t.type.prototype).constructor;for(;e;){let n=void 0;if(Wt(t))n=e.ngComponentDef||e.ngDirectiveDef;else{if(e.ngComponentDef)throw new Error("Directives cannot inherit Components");n=e.ngDirectiveDef}const a=e.ngBaseDef;if(a||n){const e=t;e.inputs=vu(t.inputs),e.declaredInputs=vu(t.declaredInputs),e.outputs=vu(t.outputs)}if(a){const e=a.viewQuery,n=a.contentQueries,r=a.hostBindings;r&&Mu(t,r),e&&Cu(t,e),n&&Pu(t,n),P(t.inputs,a.inputs),P(t.declaredInputs,a.declaredInputs),P(t.outputs,a.outputs)}if(n){const e=n.hostBindings;e&&Mu(t,e);const a=n.viewQuery,r=n.contentQueries;a&&Cu(t,a),r&&Pu(t,r),P(t.inputs,n.inputs),P(t.declaredInputs,n.declaredInputs),P(t.outputs,n.outputs),t.afterContentChecked=t.afterContentChecked||n.afterContentChecked,t.afterContentInit=t.afterContentInit||n.afterContentInit,t.afterViewChecked=t.afterViewChecked||n.afterViewChecked,t.afterViewInit=t.afterViewInit||n.afterViewInit,t.doCheck=t.doCheck||n.doCheck,t.onDestroy=t.onDestroy||n.onDestroy,t.onInit=t.onInit||n.onInit;const o=n.features;if(o)for(const n of o)n&&n.ngInherit&&n(t)}else{const n=e.prototype;n&&(t.afterContentChecked=t.afterContentChecked||n.ngAfterContentChecked,t.afterContentInit=t.afterContentInit||n.ngAfterContentInit,t.afterViewChecked=t.afterViewChecked||n.ngAfterViewChecked,t.afterViewInit=t.afterViewInit||n.ngAfterViewInit,t.doCheck=t.doCheck||n.ngDoCheck,t.onDestroy=t.onDestroy||n.ngOnDestroy,t.onInit=t.onInit||n.ngOnInit,n.ngOnChanges&&hu()(t))}e=Object.getPrototypeOf(e)}}function vu(t){return t===_t?{}:t===yt?[]:t}function Cu(t,e){const n=t.viewQuery;t.viewQuery=n?(t,a)=>{e(t,a),n(t,a)}:e}function Pu(t,e){const n=t.contentQueries;t.contentQueries=n?(t,a,r)=>{e(t,a,r),n(t,a,r)}:e}function Mu(t,e){const n=t.hostBindings;e!==n&&(t.hostBindings=n?(t,a,r)=>{Re(1);try{e(t,a,r)}finally{Re(-1)}n(t,a,r)}:e)}function xu(t,e,n,a,r){if(t=E(t),Array.isArray(t))for(let o=0;o<t.length;o++)xu(t[o],e,n,a,r);else{const o=Pe(),i=o[1];let s=As(t)?t:E(t.provide),c=Is(t);const l=Ee(),d=65535&l.providerIndexes,u=l.directiveStart,g=l.providerIndexes>>16;if(t.useClass||As(t)){const n=(t.useClass||t).prototype.ngOnDestroy;n&&(i.destroyHooks||(i.destroyHooks=[])).push(e.length,n)}if(As(t)||!t.multi){const t=new $t(c,r,ml),a=Tu(s,e,r?d:d+g,u);-1==a?(ga(ca(l,o),i,s),e.push(s),l.directiveStart++,l.directiveEnd++,r&&(l.providerIndexes+=65536),n.push(t),o.push(t)):(n[a]=t,o[a]=t)}else{const t=Tu(s,e,d+g,u),f=Tu(s,e,d,d+g),p=t>=0&&n[t],m=f>=0&&n[f];if(r&&!m||!r&&!p){ga(ca(l,o),i,s);const t=function(t,e,n,a,r){const o=new $t(t,n,ml);return o.multi=[],o.index=e,o.componentProviders=0,wu(o,r,a&&!n),o}(r?Su:ku,n.length,r,a,c);!r&&m&&(n[f].providerFactory=t),e.push(s),l.directiveStart++,l.directiveEnd++,r&&(l.providerIndexes+=65536),n.push(t),o.push(t)}else wu(n[r?f:t],c,!r&&a);!r&&a&&m&&n[f].componentProviders++}}}function wu(t,e,n){t.multi.push(e),n&&t.componentProviders++}function Tu(t,e,n,a){for(let r=n;r<a;r++)if(e[r]===t)return r;return-1}function ku(t,e,n,a){return Iu(this.multi,[])}function Su(t,e,n,a){const r=this.multi;let o;if(this.providerFactory){const t=this.providerFactory.componentProviders,i=_a(e,n,this.providerFactory.index,a);o=i.slice(0,t),Iu(r,o);for(let e=t;e<i.length;e++)o.push(i[e])}else o=[],Iu(r,o);return o}function Iu(t,e){for(let n=0;n<t.length;n++)e.push((0,t[n])());return e}function Nu(t,e=[]){return n=>{n.providersResolver=(n,a)=>function(t,e,n){const a=Pe()[1];if(a.firstTemplatePass){const r=Wt(t);xu(n,a.data,a.blueprint,r,!0),xu(e,a.data,a.blueprint,r,!1)}}(n,a?a(t):t,e)}}class Ru{}class Au{}function Eu(t){const e=Error(`No component factory found for ${N(t)}. Did you add it to @NgModule.entryComponents?`);return e[Du]=t,e}const Du="ngComponent";class Lu{resolveComponentFactory(t){throw Eu(t)}}let qu=(()=>{class t{}return t.NULL=new Lu,t})();class ju{constructor(t,e,n){this._parent=e,this._ngModule=n,this._factories=new Map;for(let a=0;a<t.length;a++){const e=t[a];this._factories.set(e.componentType,e)}}resolveComponentFactory(t){let e=this._factories.get(t);if(!e&&this._parent&&(e=this._parent.resolveComponentFactory(t)),!e)throw Eu(t);return new Fu(e,this._ngModule)}}class Fu extends Au{constructor(t,e){super(),this.factory=t,this.ngModule=e,this.selector=t.selector,this.componentType=t.componentType,this.ngContentSelectors=t.ngContentSelectors,this.inputs=t.inputs,this.outputs=t.outputs}create(t,e,n,a){return this.factory.create(t,e,n,a||this.ngModule)}}function zu(...t){}let Vu=(()=>{class t{constructor(t){this.nativeElement=t}}return t.__NG_ELEMENT_ID__=()=>Yu(t),t})();const Gu=function(t){return Yi(t,Ee(),Pe())},Yu=zu;class Bu{constructor(t,e,n,a,r,o){this.id=t,this.templateUrl=e,this.slotCount=n,this.encapsulation=a,this.styles=r,this.animations=o}}class Hu{}class Uu{}class Wu{}class Ku{}const $u=function(){var t={Important:1,DashCase:2};return t[t.Important]="Important",t[t.DashCase]="DashCase",t}();let Zu=(()=>{class t{}return t.__NG_ELEMENT_ID__=()=>Xu(),t})();const Ju=function(){const t=Pe(),e=fe(Ee().index,t);return function(t){const e=t[12];if(Wn(e))return e;throw new Error("Cannot inject Renderer2 when the application uses Renderer3!")}(Yt(e)?e:t)},Xu=zu;class Qu{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const tg=new Qu("8.2.14");class eg{constructor(){}supports(t){return Ic(t)}create(t){return new ag(t)}}const ng=(t,e)=>e;class ag{constructor(t){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=t||ng}forEachItem(t){let e;for(e=this._itHead;null!==e;e=e._next)t(e)}forEachOperation(t){let e=this._itHead,n=this._removalsHead,a=0,r=null;for(;e||n;){const o=!n||e&&e.currentIndex<sg(n,a,r)?e:n,i=sg(o,a,r),s=o.currentIndex;if(o===n)a--,n=n._nextRemoved;else if(e=e._next,null==o.previousIndex)a++;else{r||(r=[]);const t=i-a,e=s-a;if(t!=e){for(let n=0;n<t;n++){const a=n<r.length?r[n]:r[n]=0,o=a+n;e<=o&&o<t&&(r[n]=a+1)}r[o.previousIndex]=e-t}}i!==s&&t(o,i,s)}}forEachPreviousItem(t){let e;for(e=this._previousItHead;null!==e;e=e._nextPrevious)t(e)}forEachAddedItem(t){let e;for(e=this._additionsHead;null!==e;e=e._nextAdded)t(e)}forEachMovedItem(t){let e;for(e=this._movesHead;null!==e;e=e._nextMoved)t(e)}forEachRemovedItem(t){let e;for(e=this._removalsHead;null!==e;e=e._nextRemoved)t(e)}forEachIdentityChange(t){let e;for(e=this._identityChangesHead;null!==e;e=e._nextIdentityChange)t(e)}diff(t){if(null==t&&(t=[]),!Ic(t))throw new Error(`Error trying to diff '${N(t)}'. Only arrays and iterables are allowed`);return this.check(t)?this:null}onDestroy(){}check(t){this._reset();let e,n,a,r=this._itHead,o=!1;if(Array.isArray(t)){this.length=t.length;for(let e=0;e<this.length;e++)n=t[e],a=this._trackByFn(e,n),null!==r&&Tc(r.trackById,a)?(o&&(r=this._verifyReinsertion(r,n,a,e)),Tc(r.item,n)||this._addIdentityChange(r,n)):(r=this._mismatch(r,n,a,e),o=!0),r=r._next}else e=0,function(t,e){if(Array.isArray(t))for(let n=0;n<t.length;n++)e(t[n]);else{const n=t[wc()]();let a;for(;!(a=n.next()).done;)e(a.value)}}(t,t=>{a=this._trackByFn(e,t),null!==r&&Tc(r.trackById,a)?(o&&(r=this._verifyReinsertion(r,t,a,e)),Tc(r.item,t)||this._addIdentityChange(r,t)):(r=this._mismatch(r,t,a,e),o=!0),r=r._next,e++}),this.length=e;return this._truncate(r),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t,e;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=e)t.previousIndex=t.currentIndex,e=t._nextMoved;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,e,n,a){let r;return null===t?r=this._itTail:(r=t._prev,this._remove(t)),null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(n,a))?(Tc(t.item,e)||this._addIdentityChange(t,e),this._moveAfter(t,r,a)):null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null))?(Tc(t.item,e)||this._addIdentityChange(t,e),this._reinsertAfter(t,r,a)):t=this._addAfter(new rg(e,n),r,a),t}_verifyReinsertion(t,e,n,a){let r=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null);return null!==r?t=this._reinsertAfter(r,t._prev,a):t.currentIndex!=a&&(t.currentIndex=a,this._addToMoves(t,a)),t}_truncate(t){for(;null!==t;){const e=t._next;this._addToRemovals(this._unlink(t)),t=e}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(t,e,n){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const a=t._prevRemoved,r=t._nextRemoved;return null===a?this._removalsHead=r:a._nextRemoved=r,null===r?this._removalsTail=a:r._prevRemoved=a,this._insertAfter(t,e,n),this._addToMoves(t,n),t}_moveAfter(t,e,n){return this._unlink(t),this._insertAfter(t,e,n),this._addToMoves(t,n),t}_addAfter(t,e,n){return this._insertAfter(t,e,n),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,e,n){const a=null===e?this._itHead:e._next;return t._next=a,t._prev=e,null===a?this._itTail=t:a._prev=t,null===e?this._itHead=t:e._next=t,null===this._linkedRecords&&(this._linkedRecords=new ig),this._linkedRecords.put(t),t.currentIndex=n,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const e=t._prev,n=t._next;return null===e?this._itHead=n:e._next=n,null===n?this._itTail=e:n._prev=e,t}_addToMoves(t,e){return t.previousIndex===e?t:(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t,t)}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new ig),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,e){return t.item=e,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class rg{constructor(t,e){this.item=t,this.trackById=e,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class og{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,e){let n;for(n=this._head;null!==n;n=n._nextDup)if((null===e||e<=n.currentIndex)&&Tc(n.trackById,t))return n;return null}remove(t){const e=t._prevDup,n=t._nextDup;return null===e?this._head=n:e._nextDup=n,null===n?this._tail=e:n._prevDup=e,null===this._head}}class ig{constructor(){this.map=new Map}put(t){const e=t.trackById;let n=this.map.get(e);n||(n=new og,this.map.set(e,n)),n.add(t)}get(t,e){const n=this.map.get(t);return n?n.get(t,e):null}remove(t){const e=t.trackById;return this.map.get(e).remove(t)&&this.map.delete(e),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function sg(t,e,n){const a=t.previousIndex;if(null===a)return a;let r=0;return n&&a<n.length&&(r=n[a]),a+e+r}class cg{constructor(){}supports(t){return t instanceof Map||Nc(t)}create(){return new lg}}class lg{constructor(){this._records=new Map,this._mapHead=null,this._appendAfter=null,this._previousMapHead=null,this._changesHead=null,this._changesTail=null,this._additionsHead=null,this._additionsTail=null,this._removalsHead=null,this._removalsTail=null}get isDirty(){return null!==this._additionsHead||null!==this._changesHead||null!==this._removalsHead}forEachItem(t){let e;for(e=this._mapHead;null!==e;e=e._next)t(e)}forEachPreviousItem(t){let e;for(e=this._previousMapHead;null!==e;e=e._nextPrevious)t(e)}forEachChangedItem(t){let e;for(e=this._changesHead;null!==e;e=e._nextChanged)t(e)}forEachAddedItem(t){let e;for(e=this._additionsHead;null!==e;e=e._nextAdded)t(e)}forEachRemovedItem(t){let e;for(e=this._removalsHead;null!==e;e=e._nextRemoved)t(e)}diff(t){if(t){if(!(t instanceof Map||Nc(t)))throw new Error(`Error trying to diff '${N(t)}'. Only maps and objects are allowed`)}else t=new Map;return this.check(t)?this:null}onDestroy(){}check(t){this._reset();let e=this._mapHead;if(this._appendAfter=null,this._forEach(t,(t,n)=>{if(e&&e.key===n)this._maybeAddToChanges(e,t),this._appendAfter=e,e=e._next;else{const a=this._getOrCreateRecordForKey(n,t);e=this._insertBeforeOrAppend(e,a)}}),e){e._prev&&(e._prev._next=null),this._removalsHead=e;for(let t=e;null!==t;t=t._nextRemoved)t===this._mapHead&&(this._mapHead=null),this._records.delete(t.key),t._nextRemoved=t._next,t.previousValue=t.currentValue,t.currentValue=null,t._prev=null,t._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(t,e){if(t){const n=t._prev;return e._next=t,e._prev=n,t._prev=e,n&&(n._next=e),t===this._mapHead&&(this._mapHead=e),this._appendAfter=t,t}return this._appendAfter?(this._appendAfter._next=e,e._prev=this._appendAfter):this._mapHead=e,this._appendAfter=e,null}_getOrCreateRecordForKey(t,e){if(this._records.has(t)){const n=this._records.get(t);this._maybeAddToChanges(n,e);const a=n._prev,r=n._next;return a&&(a._next=r),r&&(r._prev=a),n._next=null,n._prev=null,n}const n=new dg(t);return this._records.set(t,n),n.currentValue=e,this._addToAdditions(n),n}_reset(){if(this.isDirty){let t;for(this._previousMapHead=this._mapHead,t=this._previousMapHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._changesHead;null!==t;t=t._nextChanged)t.previousValue=t.currentValue;for(t=this._additionsHead;null!=t;t=t._nextAdded)t.previousValue=t.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(t,e){Tc(e,t.currentValue)||(t.previousValue=t.currentValue,t.currentValue=e,this._addToChanges(t))}_addToAdditions(t){null===this._additionsHead?this._additionsHead=this._additionsTail=t:(this._additionsTail._nextAdded=t,this._additionsTail=t)}_addToChanges(t){null===this._changesHead?this._changesHead=this._changesTail=t:(this._changesTail._nextChanged=t,this._changesTail=t)}_forEach(t,e){t instanceof Map?t.forEach(e):Object.keys(t).forEach(n=>e(t[n],n))}}class dg{constructor(t){this.key=t,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}let ug=(()=>{class t{constructor(t){this.factories=t}static create(e,n){if(null!=n){const t=n.factories.slice();e=e.concat(t)}return new t(e)}static extend(e){return{provide:t,useFactory:n=>{if(!n)throw new Error("Cannot extend IterableDiffers without a parent injector");return t.create(e,n)},deps:[[t,new _,new h]]}}find(t){const e=this.factories.find(e=>e.supports(t));if(null!=e)return e;throw new Error(`Cannot find a differ supporting object '${t}' of type '${n=t,n.name||typeof n}'`);var n}}return t.ngInjectableDef=M({token:t,providedIn:"root",factory:()=>new t([new eg])}),t})(),gg=(()=>{class t{constructor(t){this.factories=t}static create(e,n){if(n){const t=n.factories.slice();e=e.concat(t)}return new t(e)}static extend(e){return{provide:t,useFactory:n=>{if(!n)throw new Error("Cannot extend KeyValueDiffers without a parent injector");return t.create(e,n)},deps:[[t,new _,new h]]}}find(t){const e=this.factories.find(e=>e.supports(t));if(e)return e;throw new Error(`Cannot find a differ supporting object '${t}'`)}}return t.ngInjectableDef=M({token:t,providedIn:"root",factory:()=>new t([new cg])}),t})();const fg=[new cg],pg=new ug([new eg]),mg=new gg(fg);let hg=(()=>{class t{}return t.__NG_ELEMENT_ID__=()=>_g(t,Vu),t})();const bg=function(t,e){return Bi(t,e,Ee(),Pe())},_g=zu;let yg=(()=>{class t{}return t.__NG_ELEMENT_ID__=()=>vg(t,Vu),t})();const Og=function(t,e){return Hi(t,e,Ee(),Pe())},vg=zu;function Cg(t,e,n,a){let r=`ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. Previous value: '${e}'. Current value: '${n}'.`;return a&&(r+=" It seems like the view has been created after its parent and its children have been dirty checked. Has it been created in a change detection hook ?"),function(t,e){const n=new Error(t);return Pg(n,e),n}(r,t)}function Pg(t,e){t.ngDebugContext=e,t.ngErrorLogger=e.logError.bind(e)}function Mg(t){return new Error(`ViewDestroyedError: Attempt to use a destroyed view: ${t}`)}function xg(t,e,n){const a=t.state,r=1792&a;return r===e?(t.state=-1793&a|n,t.initIndex=-1,!0):r===n}function wg(t,e,n){return(1792&t.state)===e&&t.initIndex<=n&&(t.initIndex=n+1,!0)}function Tg(t,e){return t.nodes[e]}function kg(t,e){return t.nodes[e]}function Sg(t,e){return t.nodes[e]}function Ig(t,e){return t.nodes[e]}function Ng(t,e){return t.nodes[e]}class Rg{}const Ag={setCurrentNode:void 0,createRootView:void 0,createEmbeddedView:void 0,createComponentView:void 0,createNgModuleRef:void 0,overrideProvider:void 0,overrideComponentView:void 0,clearOverrides:void 0,checkAndUpdateView:void 0,checkNoChangesView:void 0,destroyView:void 0,resolveDep:void 0,createDebugContext:void 0,handleEvent:void 0,updateDirectives:void 0,updateRenderer:void 0,dirtyParentQueries:void 0},Eg=()=>{},Dg=new Map;function Lg(t){let e=Dg.get(t);return e||(e=N(t)+"_"+Dg.size,Dg.set(t,e)),e}function qg(t,e,n,a){if(Sc.isWrapped(a)){a=Sc.unwrap(a);const r=t.def.nodes[e].bindingIndex+n,o=Sc.unwrap(t.oldValues[r]);t.oldValues[r]=new Sc(o)}return a}function jg(t){return{id:"$$undefined",styles:t.styles,encapsulation:t.encapsulation,data:t.data}}let Fg=0;function zg(t,e,n,a){return!(!(2&t.state)&&Tc(t.oldValues[e.bindingIndex+n],a))}function Vg(t,e,n,a){return!!zg(t,e,n,a)&&(t.oldValues[e.bindingIndex+n]=a,!0)}function Gg(t,e,n,a){const r=t.oldValues[e.bindingIndex+n];if(1&t.state||!kc(r,a)){const o=e.bindings[n].name;throw Cg(Ag.createDebugContext(t,e.nodeIndex),`${o}: ${r}`,`${o}: ${a}`,0!=(1&t.state))}}function Yg(t){let e=t;for(;e;)2&e.def.flags&&(e.state|=8),e=e.viewContainerParent||e.parent}function Bg(t,e){let n=t;for(;n&&n!==e;)n.state|=64,n=n.viewContainerParent||n.parent}function Hg(t,e,n,a){try{return Yg(33554432&t.def.nodes[e].flags?kg(t,e).componentView:t),Ag.handleEvent(t,e,n,a)}catch(r){t.root.errorHandler.handleError(r)}}function Ug(t){return t.parent?kg(t.parent,t.parentNodeDef.nodeIndex):null}function Wg(t){return t.parent?t.parentNodeDef.parent:null}function Kg(t,e){switch(201347067&e.flags){case 1:return kg(t,e.nodeIndex).renderElement;case 2:return Tg(t,e.nodeIndex).renderText}}function $g(t){return!!t.parent&&!!(32768&t.parentNodeDef.flags)}function Zg(t){return!(!t.parent||32768&t.parentNodeDef.flags)}function Jg(t){return 1<<t%32}function Xg(t){const e={};let n=0;const a={};return t&&t.forEach(([t,r])=>{"number"==typeof t?(e[t]=r,n|=Jg(t)):a[t]=r}),{matchedQueries:e,references:a,matchedQueryIds:n}}function Qg(t,e){return t.map(t=>{let n,a;return Array.isArray(t)?[a,n]=t:(a=0,n=t),n&&("function"==typeof n||"object"==typeof n)&&e&&Object.defineProperty(n,"__source",{value:e,configurable:!0}),{flags:a,token:n,tokenKey:Lg(n)}})}function tf(t,e,n){let a=n.renderParent;return a?0==(1&a.flags)||0==(33554432&a.flags)||a.element.componentRendererType&&a.element.componentRendererType.encapsulation===ht.Native?kg(t,n.renderParent.nodeIndex).renderElement:void 0:e}const ef=new WeakMap;function nf(t){let e=ef.get(t);return e||(e=t(()=>Eg),e.factory=t,ef.set(t,e)),e}function af(t,e,n,a,r){3===e&&(n=t.renderer.parentNode(Kg(t,t.def.lastRenderRootNode))),rf(t,e,0,t.def.nodes.length-1,n,a,r)}function rf(t,e,n,a,r,o,i){for(let s=n;s<=a;s++){const n=t.def.nodes[s];11&n.flags&&sf(t,n,e,r,o,i),s+=n.childCount}}function of(t,e,n,a,r,o){let i=t;for(;i&&!$g(i);)i=i.parent;const s=i.parent,c=Wg(i),l=c.nodeIndex+c.childCount;for(let d=c.nodeIndex+1;d<=l;d++){const t=s.def.nodes[d];t.ngContentIndex===e&&sf(s,t,n,a,r,o),d+=t.childCount}if(!s.parent){const i=t.root.projectableNodes[e];if(i)for(let e=0;e<i.length;e++)cf(t,i[e],n,a,r,o)}}function sf(t,e,n,a,r,o){if(8&e.flags)of(t,e.ngContent.index,n,a,r,o);else{const i=Kg(t,e);if(3===n&&33554432&e.flags&&48&e.bindingFlags?(16&e.bindingFlags&&cf(t,i,n,a,r,o),32&e.bindingFlags&&cf(kg(t,e.nodeIndex).componentView,i,n,a,r,o)):cf(t,i,n,a,r,o),16777216&e.flags){const i=kg(t,e.nodeIndex).viewContainer._embeddedViews;for(let t=0;t<i.length;t++)af(i[t],n,a,r,o)}1&e.flags&&!e.element.name&&rf(t,n,e.nodeIndex+1,e.nodeIndex+e.childCount,a,r,o)}}function cf(t,e,n,a,r,o){const i=t.renderer;switch(n){case 1:i.appendChild(a,e);break;case 2:i.insertBefore(a,e,r);break;case 3:i.removeChild(a,e);break;case 0:o.push(e)}}const lf=/^:([^:]+):(.+)$/;function df(t){if(":"===t[0]){const e=t.match(lf);return[e[1],e[2]]}return["",t]}function uf(t){let e=0;for(let n=0;n<t.length;n++)e|=t[n].flags;return e}function gf(t,e){let n="";for(let a=0;a<2*t;a+=2)n=n+e[a]+pf(e[a+1]);return n+e[2*t]}function ff(t,e,n,a,r,o,i,s,c,l,d,u,g,f,p,m,h,b,_,y){switch(t){case 1:return e+pf(n)+a;case 2:return e+pf(n)+a+pf(r)+o;case 3:return e+pf(n)+a+pf(r)+o+pf(i)+s;case 4:return e+pf(n)+a+pf(r)+o+pf(i)+s+pf(c)+l;case 5:return e+pf(n)+a+pf(r)+o+pf(i)+s+pf(c)+l+pf(d)+u;case 6:return e+pf(n)+a+pf(r)+o+pf(i)+s+pf(c)+l+pf(d)+u+pf(g)+f;case 7:return e+pf(n)+a+pf(r)+o+pf(i)+s+pf(c)+l+pf(d)+u+pf(g)+f+pf(p)+m;case 8:return e+pf(n)+a+pf(r)+o+pf(i)+s+pf(c)+l+pf(d)+u+pf(g)+f+pf(p)+m+pf(h)+b;case 9:return e+pf(n)+a+pf(r)+o+pf(i)+s+pf(c)+l+pf(d)+u+pf(g)+f+pf(p)+m+pf(h)+b+pf(_)+y;default:throw new Error("Does not support more than 9 expressions")}}function pf(t){return null!=t?t.toString():""}const mf=[],hf={},bf=new Object,_f=Lg(Ls),yf=Lg(G),Of=Lg(ot);function vf(t,e,n,a){return n=E(n),{index:-1,deps:Qg(a,N(e)),flags:t,token:e,value:n}}function Cf(t){const e={},n=[];let a=!1;for(let r=0;r<t.length;r++){const o=t[r];o.token===vs&&!0===o.value&&(a=!0),1073741824&o.flags&&n.push(o.token),o.index=r,e[Lg(o.token)]=o}return{factory:null,providersByKey:e,providers:t,modules:n,isRoot:a}}function Pf(t,e,n=Ls.THROW_IF_NOT_FOUND){const a=K(t);try{if(8&e.flags)return e.token;if(2&e.flags&&(n=null),1&e.flags)return t._parent.get(e.token,n);const i=e.tokenKey;switch(i){case _f:case yf:case Of:return t}const s=t._def.providersByKey[i];let c;if(s){let e=t._providers[s.index];return void 0===e&&(e=t._providers[s.index]=Mf(t,s)),e===bf?void 0:e}if((c=T(e.token))&&(r=t,null!=(o=c).providedIn&&(function(t,e){return t._def.modules.indexOf(e)>-1}(r,o.providedIn)||"root"===o.providedIn&&r._def.isRoot))){const n=t._providers.length;return t._def.providers[n]=t._def.providersByKey[e.tokenKey]={flags:5120,value:c.factory,deps:[],index:n,token:e.token},t._providers[n]=bf,t._providers[n]=Mf(t,t._def.providersByKey[e.tokenKey])}return 4&e.flags?n:t._parent.get(e.token,n)}finally{K(a)}var r,o}function Mf(t,e){let n;switch(201347067&e.flags){case 512:n=function(t,e,n){const a=n.length;switch(a){case 0:return new e;case 1:return new e(Pf(t,n[0]));case 2:return new e(Pf(t,n[0]),Pf(t,n[1]));case 3:return new e(Pf(t,n[0]),Pf(t,n[1]),Pf(t,n[2]));default:const r=new Array(a);for(let e=0;e<a;e++)r[e]=Pf(t,n[e]);return new e(...r)}}(t,e.value,e.deps);break;case 1024:n=function(t,e,n){const a=n.length;switch(a){case 0:return e();case 1:return e(Pf(t,n[0]));case 2:return e(Pf(t,n[0]),Pf(t,n[1]));case 3:return e(Pf(t,n[0]),Pf(t,n[1]),Pf(t,n[2]));default:const r=Array(a);for(let e=0;e<a;e++)r[e]=Pf(t,n[e]);return e(...r)}}(t,e.value,e.deps);break;case 2048:n=Pf(t,e.deps[0]);break;case 256:n=e.value}return n===bf||null===n||"object"!=typeof n||131072&e.flags||"function"!=typeof n.ngOnDestroy||(e.flags|=131072),void 0===n?bf:n}function xf(t,e){const n=t.viewContainer._embeddedViews;if((null==e||e>=n.length)&&(e=n.length-1),e<0)return null;const a=n[e];return a.viewContainerParent=null,ut(n,e),Ag.dirtyParentQueries(a),Tf(a),a}function wf(t,e,n){const a=e?Kg(e,e.def.lastRenderRootNode):t.renderElement,r=n.renderer.parentNode(a),o=n.renderer.nextSibling(a);af(n,2,r,o,void 0)}function Tf(t){af(t,3,null,null,void 0)}const kf=new Object;function Sf(t,e,n,a,r,o){return new Nf(t,e,n,a,r,o)}function If(t){return t.viewDefFactory}class Nf extends Au{constructor(t,e,n,a,r,o){super(),this.selector=t,this.componentType=e,this._inputs=a,this._outputs=r,this.ngContentSelectors=o,this.viewDefFactory=n}get inputs(){const t=[],e=this._inputs;for(let n in e)t.push({propName:n,templateName:e[n]});return t}get outputs(){const t=[];for(let e in this._outputs)t.push({propName:e,templateName:this._outputs[e]});return t}create(t,e,n,a){if(!a)throw new Error("ngModule should be provided");const r=nf(this.viewDefFactory),o=r.nodes[0].element.componentProvider.nodeIndex,i=Ag.createRootView(t,e||[],n,r,a,kf),s=Sg(i,o).instance;return n&&i.renderer.setAttribute(kg(i,0).renderElement,"ng-version",tg.full),new Rf(i,new Lf(i),s)}}class Rf extends Ru{constructor(t,e,n){super(),this._view=t,this._viewRef=e,this._component=n,this._elDef=this._view.def.nodes[0],this.hostView=e,this.changeDetectorRef=e,this.instance=n}get location(){return new Vu(kg(this._view,this._elDef.nodeIndex).renderElement)}get injector(){return new zf(this._view,this._elDef)}get componentType(){return this._component.constructor}destroy(){this._viewRef.destroy()}onDestroy(t){this._viewRef.onDestroy(t)}}function Af(t,e,n){return new Ef(t,e,n)}class Ef{constructor(t,e,n){this._view=t,this._elDef=e,this._data=n,this._embeddedViews=[]}get element(){return new Vu(this._data.renderElement)}get injector(){return new zf(this._view,this._elDef)}get parentInjector(){let t=this._view,e=this._elDef.parent;for(;!e&&t;)e=Wg(t),t=t.parent;return t?new zf(t,e):new zf(this._view,null)}clear(){for(let t=this._embeddedViews.length-1;t>=0;t--){const e=xf(this._data,t);Ag.destroyView(e)}}get(t){const e=this._embeddedViews[t];if(e){const t=new Lf(e);return t.attachToViewContainerRef(this),t}return null}get length(){return this._embeddedViews.length}createEmbeddedView(t,e,n){const a=t.createEmbeddedView(e||{});return this.insert(a,n),a}createComponent(t,e,n,a,r){const o=n||this.parentInjector;r||t instanceof Fu||(r=o.get(ot));const i=t.create(o,a,void 0,r);return this.insert(i.hostView,e),i}insert(t,e){if(t.destroyed)throw new Error("Cannot insert a destroyed View in a ViewContainer!");const n=t;return function(t,e,n,a){let r=e.viewContainer._embeddedViews;null==n&&(n=r.length),a.viewContainerParent=t,dt(r,n,a),function(t,e){const n=Ug(e);if(!n||n===t||16&e.state)return;e.state|=16;let a=n.template._projectedViews;a||(a=n.template._projectedViews=[]),a.push(e),function(t,e){if(4&e.flags)return;t.nodeFlags|=4,e.flags|=4;let n=e.parent;for(;n;)n.childFlags|=4,n=n.parent}(e.parent.def,e.parentNodeDef)}(e,a),Ag.dirtyParentQueries(a),wf(e,n>0?r[n-1]:null,a)}(this._view,this._data,e,n._view),n.attachToViewContainerRef(this),t}move(t,e){if(t.destroyed)throw new Error("Cannot move a destroyed View in a ViewContainer!");const n=this._embeddedViews.indexOf(t._view);return function(t,e,n){const a=t.viewContainer._embeddedViews,r=a[e];ut(a,e),null==n&&(n=a.length),dt(a,n,r),Ag.dirtyParentQueries(r),Tf(r),wf(t,n>0?a[n-1]:null,r)}(this._data,n,e),t}indexOf(t){return this._embeddedViews.indexOf(t._view)}remove(t){const e=xf(this._data,t);e&&Ag.destroyView(e)}detach(t){const e=xf(this._data,t);return e?new Lf(e):null}}function Df(t){return new Lf(t)}class Lf{constructor(t){this._view=t,this._viewContainerRef=null,this._appRef=null}get rootNodes(){return function(t){const e=[];return af(t,0,void 0,void 0,e),e}(this._view)}get context(){return this._view.context}get destroyed(){return 0!=(128&this._view.state)}markForCheck(){Yg(this._view)}detach(){this._view.state&=-5}detectChanges(){const t=this._view.root.rendererFactory;t.begin&&t.begin();try{Ag.checkAndUpdateView(this._view)}finally{t.end&&t.end()}}checkNoChanges(){Ag.checkNoChangesView(this._view)}reattach(){this._view.state|=4}onDestroy(t){this._view.disposables||(this._view.disposables=[]),this._view.disposables.push(t)}destroy(){this._appRef?this._appRef.detachView(this):this._viewContainerRef&&this._viewContainerRef.detach(this._viewContainerRef.indexOf(this)),Ag.destroyView(this._view)}detachFromAppRef(){this._appRef=null,Tf(this._view),Ag.dirtyParentQueries(this._view)}attachToAppRef(t){if(this._viewContainerRef)throw new Error("This view is already attached to a ViewContainer!");this._appRef=t}attachToViewContainerRef(t){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._viewContainerRef=t}}function qf(t,e){return new jf(t,e)}class jf extends hg{constructor(t,e){super(),this._parentView=t,this._def=e}createEmbeddedView(t){return new Lf(Ag.createEmbeddedView(this._parentView,this._def,this._def.element.template,t))}get elementRef(){return new Vu(kg(this._parentView,this._def.nodeIndex).renderElement)}}function Ff(t,e){return new zf(t,e)}class zf{constructor(t,e){this.view=t,this.elDef=e}get(t,e=Ls.THROW_IF_NOT_FOUND){return Ag.resolveDep(this.view,this.elDef,!!this.elDef&&0!=(33554432&this.elDef.flags),{flags:0,token:t,tokenKey:Lg(t)},e)}}function Vf(t,e){const n=t.def.nodes[e];if(1&n.flags){const e=kg(t,n.nodeIndex);return n.element.template?e.template:e.renderElement}if(2&n.flags)return Tg(t,n.nodeIndex).renderText;if(20240&n.flags)return Sg(t,n.nodeIndex).instance;throw new Error(`Illegal state: read nodeValue for node index ${e}`)}function Gf(t){return new Yf(t.renderer)}class Yf{constructor(t){this.delegate=t}selectRootElement(t){return this.delegate.selectRootElement(t)}createElement(t,e){const[n,a]=df(e),r=this.delegate.createElement(a,n);return t&&this.delegate.appendChild(t,r),r}createViewRoot(t){return t}createTemplateAnchor(t){const e=this.delegate.createComment("");return t&&this.delegate.appendChild(t,e),e}createText(t,e){const n=this.delegate.createText(e);return t&&this.delegate.appendChild(t,n),n}projectNodes(t,e){for(let n=0;n<e.length;n++)this.delegate.appendChild(t,e[n])}attachViewAfter(t,e){const n=this.delegate.parentNode(t),a=this.delegate.nextSibling(t);for(let r=0;r<e.length;r++)this.delegate.insertBefore(n,e[r],a)}detachView(t){for(let e=0;e<t.length;e++){const n=t[e],a=this.delegate.parentNode(n);this.delegate.removeChild(a,n)}}destroyView(t,e){for(let n=0;n<e.length;n++)this.delegate.destroyNode(e[n])}listen(t,e,n){return this.delegate.listen(t,e,n)}listenGlobal(t,e,n){return this.delegate.listen(t,e,n)}setElementProperty(t,e,n){this.delegate.setProperty(t,e,n)}setElementAttribute(t,e,n){const[a,r]=df(e);null!=n?this.delegate.setAttribute(t,r,n,a):this.delegate.removeAttribute(t,r,a)}setBindingDebugInfo(t,e,n){}setElementClass(t,e,n){n?this.delegate.addClass(t,e):this.delegate.removeClass(t,e)}setElementStyle(t,e,n){null!=n?this.delegate.setStyle(t,e,n):this.delegate.removeStyle(t,e)}invokeElementMethod(t,e,n){t[e].apply(t,n)}setText(t,e){this.delegate.setValue(t,e)}animate(){throw new Error("Renderer.animate is no longer supported!")}}function Bf(t,e,n,a){return new Hf(t,e,n,a)}class Hf{constructor(t,e,n,a){this._moduleType=t,this._parent=e,this._bootstrapComponents=n,this._def=a,this._destroyListeners=[],this._destroyed=!1,this.injector=this,function(t){const e=t._def,n=t._providers=new Array(e.providers.length);for(let a=0;a<e.providers.length;a++){const r=e.providers[a];4096&r.flags||void 0===n[a]&&(n[a]=Mf(t,r))}}(this)}get(t,e=Ls.THROW_IF_NOT_FOUND,n=v.Default){let a=0;return n&v.SkipSelf?a|=1:n&v.Self&&(a|=4),Pf(this,{token:t,tokenKey:Lg(t),flags:a},e)}get instance(){return this.get(this._moduleType)}get componentFactoryResolver(){return this.get(qu)}destroy(){if(this._destroyed)throw new Error(`The ng module ${N(this.instance.constructor)} has already been destroyed.`);this._destroyed=!0,function(t,e){const n=t._def,a=new Set;for(let r=0;r<n.providers.length;r++)if(131072&n.providers[r].flags){const e=t._providers[r];if(e&&e!==bf){const t=e.ngOnDestroy;"function"!=typeof t||a.has(e)||(t.apply(e),a.add(e))}}}(this),this._destroyListeners.forEach(t=>t())}onDestroy(t){this._destroyListeners.push(t)}}const Uf=Lg(Uu),Wf=Lg(Zu),Kf=Lg(Vu),$f=Lg(yg),Zf=Lg(hg),Jf=Lg(Wi),Xf=Lg(Ls),Qf=Lg(G);function tp(t,e,n,a,r,o,i,s){const c=[];if(i)for(let d in i){const[t,e]=i[d];c[t]={flags:8,name:d,nonMinifiedName:e,ns:null,securityContext:null,suffix:null}}const l=[];if(s)for(let d in s)l.push({type:1,propName:d,target:null,eventName:s[d]});return ap(t,e|=16384,n,a,r,r,o,c,l)}function ep(t,e,n){return ap(-1,t|=16,null,0,e,e,n)}function np(t,e,n,a,r){return ap(-1,t,e,0,n,a,r)}function ap(t,e,n,a,r,o,i,s,c){const{matchedQueries:l,references:d,matchedQueryIds:u}=Xg(n);c||(c=[]),s||(s=[]),o=E(o);const g=Qg(i,N(r));return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:t,flags:e,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:l,matchedQueryIds:u,references:d,ngContentIndex:-1,childCount:a,bindings:s,bindingFlags:uf(s),outputs:c,element:null,provider:{token:r,value:o,deps:g},text:null,query:null,ngContent:null}}function rp(t,e){return cp(t,e)}function op(t,e){let n=t;for(;n.parent&&!$g(n);)n=n.parent;return lp(n.parent,Wg(n),!0,e.provider.value,e.provider.deps)}function ip(t,e){const n=lp(t,e.parent,(32768&e.flags)>0,e.provider.value,e.provider.deps);if(e.outputs.length)for(let a=0;a<e.outputs.length;a++){const r=e.outputs[a],o=n[r.propName];if(!Kl(o))throw new Error(`@Output ${r.propName} not initialized in '${n.constructor.name}'.`);{const n=o.subscribe(sp(t,e.parent.nodeIndex,r.eventName));t.disposables[e.outputIndex+a]=n.unsubscribe.bind(n)}}return n}function sp(t,e,n){return a=>Hg(t,e,n,a)}function cp(t,e){const n=(8192&e.flags)>0,a=e.provider;switch(201347067&e.flags){case 512:return lp(t,e.parent,n,a.value,a.deps);case 1024:return function(t,e,n,a,r){const o=r.length;switch(o){case 0:return a();case 1:return a(up(t,e,n,r[0]));case 2:return a(up(t,e,n,r[0]),up(t,e,n,r[1]));case 3:return a(up(t,e,n,r[0]),up(t,e,n,r[1]),up(t,e,n,r[2]));default:const i=Array(o);for(let a=0;a<o;a++)i[a]=up(t,e,n,r[a]);return a(...i)}}(t,e.parent,n,a.value,a.deps);case 2048:return up(t,e.parent,n,a.deps[0]);case 256:return a.value}}function lp(t,e,n,a,r){const o=r.length;switch(o){case 0:return new a;case 1:return new a(up(t,e,n,r[0]));case 2:return new a(up(t,e,n,r[0]),up(t,e,n,r[1]));case 3:return new a(up(t,e,n,r[0]),up(t,e,n,r[1]),up(t,e,n,r[2]));default:const i=new Array(o);for(let a=0;a<o;a++)i[a]=up(t,e,n,r[a]);return new a(...i)}}const dp={};function up(t,e,n,a,r=Ls.THROW_IF_NOT_FOUND){if(8&a.flags)return a.token;const o=t;2&a.flags&&(r=null);const i=a.tokenKey;i===Jf&&(n=!(!e||!e.element.componentView)),e&&1&a.flags&&(n=!1,e=e.parent);let s=t;for(;s;){if(e)switch(i){case Uf:return Gf(gp(s,e,n));case Wf:return gp(s,e,n).renderer;case Kf:return new Vu(kg(s,e.nodeIndex).renderElement);case $f:return kg(s,e.nodeIndex).viewContainer;case Zf:if(e.element.template)return kg(s,e.nodeIndex).template;break;case Jf:return Df(gp(s,e,n));case Xf:case Qf:return Ff(s,e);default:const t=(n?e.element.allProviders:e.element.publicProviders)[i];if(t){let e=Sg(s,t.nodeIndex);return e||(e={instance:cp(s,t)},s.nodes[t.nodeIndex]=e),e.instance}}n=$g(s),e=Wg(s),s=s.parent,4&a.flags&&(s=null)}const c=o.root.injector.get(a.token,dp);return c!==dp||r===dp?c:o.root.ngModule.injector.get(a.token,r)}function gp(t,e,n){let a;if(n)a=kg(t,e.nodeIndex).componentView;else for(a=t;a.parent&&!$g(a);)a=a.parent;return a}function fp(t,e,n,a,r,o){if(32768&n.flags){const e=kg(t,n.parent.nodeIndex).componentView;2&e.def.flags&&(e.state|=8)}if(e.instance[n.bindings[a].name]=r,524288&n.flags){o=o||{};const e=Sc.unwrap(t.oldValues[n.bindingIndex+a]);o[n.bindings[a].nonMinifiedName]=new mu(e,r,0!=(2&t.state))}return t.oldValues[n.bindingIndex+a]=r,o}function pp(t,e){if(!(t.def.nodeFlags&e))return;const n=t.def.nodes;let a=0;for(let r=0;r<n.length;r++){const o=n[r];let i=o.parent;for(!i&&o.flags&e&&hp(t,r,o.flags&e,a++),0==(o.childFlags&e)&&(r+=o.childCount);i&&1&i.flags&&r===i.nodeIndex+i.childCount;)i.directChildFlags&e&&(a=mp(t,i,e,a)),i=i.parent}}function mp(t,e,n,a){for(let r=e.nodeIndex+1;r<=e.nodeIndex+e.childCount;r++){const e=t.def.nodes[r];e.flags&n&&hp(t,r,e.flags&n,a++),r+=e.childCount}return a}function hp(t,e,n,a){const r=Sg(t,e);if(!r)return;const o=r.instance;o&&(Ag.setCurrentNode(t,e),1048576&n&&wg(t,512,a)&&o.ngAfterContentInit(),2097152&n&&o.ngAfterContentChecked(),4194304&n&&wg(t,768,a)&&o.ngAfterViewInit(),8388608&n&&o.ngAfterViewChecked(),131072&n&&o.ngOnDestroy())}function bp(t){const e=[];for(let n in t)t.hasOwnProperty(n)&&e.push({propName:t[n],templateName:n});return e}const _p=new V("SCHEDULER_TOKEN",{providedIn:"root",factory:()=>pn});class yp extends Au{constructor(t,e){super(),this.componentDef=t,this.ngModule=e,this.componentType=t.type,this.selector=t.selectors[0][0]||"div",this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!e}get inputs(){return bp(this.componentDef.inputs)}get outputs(){return bp(this.componentDef.outputs)}create(t,e,n,a){const r=(a=a||this.ngModule)?function(t,e){return{get:(n,a,r)=>{const o=t.get(n,dp,r);return o!==dp||a===dp?o:e.get(n,a,r)}}}(t,a.injector):t,o=r.get(Ku,Kn),i=r.get(gr,null);cn();const s=n?Eo(o,n):Co(this.selector,o.createRenderer(null,this.componentDef)),c=this.componentDef.onPush?576:528,l="string"==typeof n&&/^#root-ng-internal-isolated-\d+/.test(n),d=gu(),u=o.createRenderer(s,this.componentDef);n&&s&&(Wn(u)?u.setAttribute(s,"ng-version",tg.full):s.setAttribute("ng-version",tg.full));const g=Po(null,Ao(-1,null,1,0,null,null,null,null),d,c,null,null,o,u,i,r),f=Ze(g,null);let p,m,h=!1;try{const t=du(s,this.componentDef,g,o,u);m=ue(0,g),e&&(m.projection=e.map(t=>Array.from(t))),p=uu(t,this.componentDef,g,d,[fu]),Xo(g,t),Oo(g),h=!0}finally{Xe(f,h)}const b=new Op(this.componentType,p,Yi(Vu,m,g),g,m);return n&&!l||(b.hostView._tViewNode.child=m),b}}class Op extends Ru{constructor(t,e,n,a,r){super(),this.location=n,this._rootLView=a,this._tNode=r,this.destroyCbs=[],this.instance=e,this.hostView=this.changeDetectorRef=new Fi(a),this.hostView._tViewNode=xo(a[1],null,-1,a),this.componentType=t}get injector(){return new va(this._tNode,this._rootLView)}destroy(){this.destroyCbs&&(this.destroyCbs.forEach(t=>t()),this.destroyCbs=null,!this.hostView.destroyed&&this.hostView.destroy())}onDestroy(t){this.destroyCbs&&this.destroyCbs.push(t)}}const vp={},Cp=function(){var t={LocaleId:0,DayPeriodsFormat:1,DayPeriodsStandalone:2,DaysFormat:3,DaysStandalone:4,MonthsFormat:5,MonthsStandalone:6,Eras:7,FirstDayOfWeek:8,WeekendRange:9,DateFormat:10,TimeFormat:11,DateTimeFormat:12,NumberSymbols:13,NumberFormats:14,CurrencySymbol:15,CurrencyName:16,Currencies:17,PluralCase:18,ExtraData:19};return t[t.LocaleId]="LocaleId",t[t.DayPeriodsFormat]="DayPeriodsFormat",t[t.DayPeriodsStandalone]="DayPeriodsStandalone",t[t.DaysFormat]="DaysFormat",t[t.DaysStandalone]="DaysStandalone",t[t.MonthsFormat]="MonthsFormat",t[t.MonthsStandalone]="MonthsStandalone",t[t.Eras]="Eras",t[t.FirstDayOfWeek]="FirstDayOfWeek",t[t.WeekendRange]="WeekendRange",t[t.DateFormat]="DateFormat",t[t.TimeFormat]="TimeFormat",t[t.DateTimeFormat]="DateTimeFormat",t[t.NumberSymbols]="NumberSymbols",t[t.NumberFormats]="NumberFormats",t[t.CurrencySymbol]="CurrencySymbol",t[t.CurrencyName]="CurrencyName",t[t.Currencies]="Currencies",t[t.PluralCase]="PluralCase",t[t.ExtraData]="ExtraData",t}(),Pp=void 0;var Mp=["en",[["a","p"],["AM","PM"],Pp],[["AM","PM"],Pp,Pp],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],Pp,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],Pp,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",Pp,"{1} 'at' {0}",Pp],[".",",",";","%","+","-","E","×","‰","∞","NaN",":"],["#,##0.###","#,##0%","¤#,##0.00","#E0"],"$","US Dollar",{},function(t){let e=Math.floor(Math.abs(t)),n=t.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===n?1:5}];function xp(t){return wp(t)[Cp.PluralCase]}function wp(t){const e=t.toLowerCase().replace(/_/g,"-");let n=vp[e];if(n)return n;const a=e.split("-")[0];if(n=vp[a],n)return n;if("en"===a)return Mp;throw new Error(`Missing locale data for the locale "${t}".`)}const Tp="en-US",kp=/^\s*(�\d+:?\d*�)\s*,\s*(select|plural)\s*,/,Sp=/�\/?\*(\d+:\d+)�/gi,Ip=/�(\/?[#*!]\d+):?\d*�/gi,Np=/�(\d+):?\d*�/gi,Rp=/({\s*�\d+:?\d*�\s*,\s*\S{6}\s*,[\s\S]*})/gi,Ap=/\[(�.+?�?)\]/,Ep=/\[(�.+?�?)\]|(�\/?\*\d+:\d+�)/g,Dp=/({\s*)(VAR_(PLURAL|SELECT)(_\d+)?)(\s*,)/g,Lp=/{([A-Z0-9_]+)}/g,qp=/�I18N_EXP_(ICU(_\d+)?)�/g,jp=/\/\*/,Fp=/\d+\:(\d+)/;function zp(t){if(!t)return[];let e=0;const n=[],a=[],r=/[{}]/g;let o;for(r.lastIndex=0;o=r.exec(t);){const r=o.index;if("}"==o[0]){if(n.pop(),0==n.length){const n=t.substring(e,r);kp.test(n)?a.push(Vp(n)):a.push(n),e=r+1}}else{if(0==n.length){const n=t.substring(e,r);a.push(n),e=r+1}n.push("{")}}const i=t.substring(e);return a.push(i),a}function Vp(t){const e=[],n=[];let a=1,r=0;const o=zp(t=t.replace(kp,(function(t,e,n){return a="select"===n?0:1,r=parseInt(e.substr(1),10),""})));for(let i=0;i<o.length;){let t=o[i++].trim();1===a&&(t=t.replace(/\s*(?:=)?(\w+)\s*/,"$1")),t.length&&e.push(t);const r=zp(o[i++]);e.length>n.length&&n.push(r)}return'Missing key "other" in ICU statement.',e.indexOf("other")<=-1&&gt('Missing key "other" in ICU statement.'),{type:a,mainBinding:r,cases:e,values:n}}function Gp(t){let e,n,a="",r=0,o=!1;for(;null!==(e=Sp.exec(t));)o?e[0]===`�/*${n}�`&&(r=e.index,o=!1):(a+=t.substring(r,e.index+e[0].length),n=e[1],o=!0);return a+=t.substr(r),a}function Yp(t,e,n,a=null){const r=[null,null],o=t.split(Np);let i=0;for(let s=0;s<o.length;s++){const t=o[s];if(1&s){const e=parseInt(t,10);r.push(-1-e),i|=Wp(e)}else""!==t&&r.push(t)}return r.push(e<<2|(n?1:0)),n&&r.push(n,a),r[0]=i,r[1]=r.length-2,r}function Bp(t,e=0){let n;e|=Wp(t.mainBinding);for(let a=0;a<t.values.length;a++){const r=t.values[a];for(let t=0;t<r.length;t++){const a=r[t];if("string"==typeof a)for(;n=Np.exec(a);)e|=Wp(parseInt(n[1],10));else e=Bp(a,e)}}return e}const Hp=[];let Up=-1;function Wp(t){return 1<<Math.min(t,31)}const Kp=[];function $p(t,e,n){const a=Pe()[1];Hp[++Up]=t,rd(!0),a.firstTemplatePass&&null===a.data[t+19]&&function(t,e,n,a){const r=Pe(),o=t.blueprint.length-19;Zp=0;const i=Ee(),s=qe()?Ee():i&&i.parent;let c=s&&s!==r[6]?s.index-19:e,l=0;Kp[l]=c;const d=[];e>0&&i!==s&&d.push(i.index<<3|0);const u=[],g=[],f=(p=function(t,e){if("number"!=typeof e)return Gp(t);{const n=t.indexOf(`:${e}�`)+2+e.toString().length,a=t.search(new RegExp(`�\\/\\*\\d+:${e}�`));return Gp(t.substring(n,a))}}(n,a),p.replace(fm," ")).split(Ip);var p;for(let m=0;m<f.length;m++){let t=f[m];if(1&m)if("/"===t.charAt(0)){if("#"===t.charAt(1)){const e=parseInt(t.substr(2),10);c=Kp[--l],d.push(e<<3|5)}}else{const e=parseInt(t.substr(1),10);d.push(e<<3|0,c<<17|1),"#"===t.charAt(0)&&(Kp[++l]=c=e)}else{const e=zp(t);for(let t=0;t<e.length;t++)if(1&t){const n=o+Zp++;d.push(io,"",n,c<<17|1);const a=e[t],r=Bp(a);dm(g,a,n,n);const i=g.length-1;u.push(Wp(a.mainBinding),3,-1-a.mainBinding,n<<2|2,i,r,2,n<<2|3,i)}else if(""!==e[t]){const n=e[t],a=n.match(Np),r=o+Zp++;d.push(a?"":n,r,c<<17|1),a&&st(Yp(n,r),u)}}}Zp>0&&function(t,e){if(e>0){const n=t[1];if(n.firstTemplatePass){for(let a=0;a<e;a++)n.blueprint.push(null),n.data.push(null),t.push(null);n.expandoInstructions?n.expandoInstructions.push(e):n.expandoStartIndex+=e}}}(r,Zp),t.data[e+19]={vars:Zp,create:d,update:u,icus:g.length?g:null}}(a,t,e,n)}let Zp;function Jp(t,e,n,a){const r=t.next;n||(n=e),n===e&&t!==e.child?(t.next=e.child,e.child=t):n!==e&&t!==n.next?(t.next=n.next,n.next=t):t.next=null,e!==a[6]&&(t.parent=e);let o=t.next;for(;o;)o.next===t&&(o.next=r),o=o.next;if(1===t.type)return Ai(a,t,t.projection,aa(a)),t;Ii(le(t,a),t,a);const i=a[t.index];return 0!==t.type&&Bt(i)&&Ii(i[7],t,a),t}function Xp(t,e={}){let n=t;if(Ap.test(t)){const t={},e=[0];n=n.replace(Ep,(n,a,r)=>{const o=a||r,i=t[o]||[];if(i.length||(o.split("|").forEach(t=>{const e=t.match(Fp),n=e?parseInt(e[1],10):0,a=jp.test(t);i.push([n,a,t])}),t[o]=i),!i.length)throw new Error(`i18n postprocess: unmatched placeholder - ${o}`);const s=e[e.length-1];let c=0;for(let t=0;t<i.length;t++)if(i[t][0]===s){c=t;break}const[l,d,u]=i[c];return d?e.pop():s!==l&&e.push(l),i.splice(c,1),u})}return Object.keys(e).length?(n=n.replace(Dp,(t,n,a,r,o,i)=>e.hasOwnProperty(a)?`${n}${e[a]}${i}`:t),n=n.replace(Lp,(t,n)=>e.hasOwnProperty(n)?e[n]:t),n=n.replace(qp,(t,n)=>{if(e.hasOwnProperty(n)){const a=e[n];if(!a.length)throw new Error(`i18n postprocess: unmatched ICU - ${t} with key: ${n}`);return a.shift()}return t}),n):n}function Qp(){!function(t){const e=Pe(),n=Hp[Up--],a=t.data[n+19];let r=Ee();const o=em(n,a.create,0,e);for(let i=n+1;i<=r.index-19;i++)-1===o.indexOf(i)&&nm(i,e)}(Pe()[1]),rd(!1)}function tm(t,e,n,a,r){const o=Ee();t[e+19]=a;const i=Mo(t[1],t[6],e,n,r,null);return o.next===i&&(o.next=null),i}function em(t,e,n,a){const r=Pe()[12];let o=null,i=null;const s=[];for(let c=0;c<e.length;c++){const n=e[c];if("string"==typeof n){const t=_i(n,r),l=e[++c];i=o,o=tm(a,l,3,t,null),s.push(l),je()}else if("number"==typeof n)switch(7&n){case 1:const r=n>>>17;let l;l=r===t?a[6]:ue(r,a),i=Jp(o,l,i,a);break;case 0:const d=n>>>3;s.push(d),i=o,o=ue(d,a),o&&De(o,3===o.type);break;case 5:i=o=ue(n>>>3,a),De(o,!1);break;case 4:$o(n>>>3,e[++c],e[++c],a);break;default:throw new Error(`Unable to determine the type of mutate operation for "${n}"`)}else switch(n){case io:const t=e[++c],l=e[++c],d=r.createComment(t);i=o,o=tm(a,l,5,d,null),s.push(l),Ir(d,a),o.activeCaseIndex=null,je();break;case oo:const u=e[++c],g=e[++c];i=o,o=tm(a,g,3,r.createElement(u),u),s.push(g);break;default:throw new Error(`Unable to determine the type of mutate operation for "${n}"`)}}return je(),s}function nm(t,e){const n=ue(t,e),a=ce(t,e);a&&Ri(e[12],a);const r=pl(t);if(Bt(r)){const t=r;0!==n.type&&Ri(e[12],t[7])}n.flags|=32}function am(t,e,n){$p(t,e,n),Qp()}function rm(t,e){!function(t,e,n){const a=Ee().index-19,r=[];for(let o=0;o<n.length;o+=2){const i=n[o],s=n[o+1].split(Rp);for(let n=0;n<s.length;n++){const o=s[n];if(1&n)throw new Error("ICU expressions are not yet supported in attributes");if(""!==o)if(o.match(Np))t.firstTemplatePass&&null===t.data[e+19]&&st(Yp(o,a,i),r);else{const t=Pe();$o(a,i,o,t);const e=ue(a,t),n=e.inputs&&e.inputs[i];n&&gi(t,n,o)}}}t.firstTemplatePass&&null===t.data[e+19]&&(t.data[e+19]=r)}(Pe()[1],t,e)}let om=0,im=0;function sm(t){return Fc(Pe(),t)!==ro&&(om|=1<<im),im++,sm}function cm(t){if(im){const e=Pe(),n=e[1].data[t+19];let a,r=null;Array.isArray(n)?a=n:(a=n.update,r=n.icus),function t(e,n,a,r,o,i=!1){let s=!1;for(let c=0;c<e.length;c++){const l=e[c],d=e[++c];if(i||l&r){let i="";for(let l=c+1;l<=c+d;l++){const c=e[l];if("string"==typeof c)i+=c;else if("number"==typeof c)if(c<0)i+=gn(o[a-c]);else{const d=c>>>2;let u,g,f;switch(3&c){case 1:jo(d,e[++l],i,e[++l]);break;case 0:fi(o,d,i);break;case 2:if(u=e[++l],g=n[u],f=ue(d,o),null!==f.activeCaseIndex){const t=g.remove[f.activeCaseIndex];for(let e=0;e<t.length;e++){const a=t[e];switch(7&a){case 3:nm(a>>>3,o);break;case 6:const r=ue(t[e+1]>>>3,o).activeCaseIndex;null!==r&&st(n[a>>>3].remove[r],t)}}}const c=lm(g,i);f.activeCaseIndex=-1!==c?c:null,em(-1,g.create[c],0,o),s=!0;break;case 3:u=e[++l],g=n[u],f=ue(d,o),t(g.update[f.activeCaseIndex],n,a,r,o,s)}}}}c+=d}}(a,r,e[7]-im-1,om,e),om=0,im=0}}function lm(t,e){let n=t.cases.indexOf(e);if(-1===n)switch(t.type){case 1:{const a=function(t,e){switch(xp(e)(t)){case 0:return"zero";case 1:return"one";case 2:return"two";case 3:return"few";case 4:return"many";default:return"other"}}(e,_m);n=t.cases.indexOf(a),-1===n&&"other"!==a&&(n=t.cases.indexOf("other"));break}case 0:n=t.cases.indexOf("other")}return n}function dm(t,e,n,a){const r=[],o=[],i=[],s=[],c=[];for(let l=0;l<e.values.length;l++){const d=e.values[l],u=[];for(let t=0;t<d.length;t++){const e=d[t];if("string"!=typeof e){const n=u.push(e)-1;d[t]=`\x3c!--�${n}�--\x3e`}}const g=um(d.join(""),n,u,t,a);r.push(g.create),o.push(g.remove),i.push(g.update),s.push(g.vars),c.push(g.childIcus)}t.push({type:e.type,vars:s,childIcus:c,cases:e.cases,create:r,remove:o,update:i}),Zp+=Math.max(...s)}function um(t,e,n,a,r){const o=new Ga(document).getInertBodyElement(t);if(!o)throw new Error("Unable to generate inert body element");const i={vars:0,childIcus:[],create:[],remove:[],update:[]};return function t(e,n,a,r,o,i){if(e){const s=[];for(;e;){const c=e.nextSibling,l=i+ ++n.vars;switch(e.nodeType){case Node.ELEMENT_NODE:const c=e,d=c.tagName.toLowerCase();if(Qa.hasOwnProperty(d)){n.create.push(oo,d,l,a<<17|1);const s=c.attributes;for(let t=0;t<s.length;t++){const e=s.item(t),a=e.name.toLowerCase();e.value.match(Np)?nr.hasOwnProperty(a)&&st(tr[a]?Yp(e.value,l,e.name,Ha):er[a]?Yp(e.value,l,e.name,Ua):Yp(e.value,l,e.name),n.update):n.create.push(l<<3|4,e.name,e.value)}t(e.firstChild,n,l,r,o,i),n.remove.push(l<<3|3)}else n.vars--;break;case Node.TEXT_NODE:const u=e.textContent||"",g=u.match(Np);n.create.push(g?"":u,l,a<<17|1),n.remove.push(l<<3|3),g&&st(Yp(u,l),n.update);break;case Node.COMMENT_NODE:const f=gm.exec(e.textContent||"");if(f){const t=parseInt(f[1],10);n.create.push(io,"",l,a<<17|1),s.push([r[t],l])}else n.vars--;break;default:n.vars--}e=c}for(let t=0;t<s.length;t++){const e=s[t][0],a=s[t][1];dm(o,e,a,i+n.vars);const r=o.length-1;n.vars+=Math.max(...o[r].vars),n.childIcus.push(r);const c=Bp(e);n.update.push(Wp(e.mainBinding),3,-1-e.mainBinding,a<<2|2,r,c,2,a<<2|3,r),n.remove.push(r<<3|6,a<<3|3)}}}((dr(o)||o).firstChild,i,e,n,a,r),i}const gm=/�(\d+)�/,fm=/\uE500/g;let pm={};function mm(t={translations:{}}){pm=t.translations}const hm=/\{\$(.*?)\}/g;function bm(t,e){return void 0!==pm[t]&&(t=pm[t]),void 0!==e&&Object.keys(e).length?t.replace(hm,(t,n)=>e[n]||""):t}let _m=Tp;function ym(t){null==t&&gt("Expected localeId to be defined"),"string"==typeof t&&(_m=t.toLowerCase().replace(/_/g,"-"))}const Om=new Map;function vm(t,e){const n=Om.get(t);Cm(t,n&&n.moduleType,e.moduleType),Om.set(t,e)}function Cm(t,e,n){if(e&&e!==n)throw new Error(`Duplicate module registered for ${t} - ${N(e)} vs ${N(e.name)}`)}function Pm(t){if(null!==t.ngModuleDef.id){const e=t.ngModuleDef.id;Cm(e,Om.get(e),t),Om.set(e,t)}let e=t.ngModuleDef.imports;e instanceof Function&&(e=e()),e&&e.forEach(t=>Pm(t))}function Mm(t){return Om.get(t)}const xm={provide:qu,useClass:class extends qu{constructor(t){super(),this.ngModule=t}resolveComponentFactory(t){const e=jt(t);return new yp(e,this.ngModule)}},deps:[ot]};class wm extends ot{constructor(t,e){super(),this._parent=e,this._bootstrapComponents=[],this.injector=this,this.destroyCbs=[];const n=Gt(t),a=t[Mt]||null;a&&ym(a),this._bootstrapComponents=yn(n.bootstrap),this._r3Injector=Ts(t,e,[{provide:ot,useValue:this},xm],N(t)),this.instance=this.get(t)}get(t,e=Ls.THROW_IF_NOT_FOUND,n=v.Default){return t===Ls||t===ot||t===G?this:this._r3Injector.get(t,e,n)}get componentFactoryResolver(){return this.get(qu)}destroy(){const t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class Tm extends it{constructor(t){super(),this.moduleType=t,null!==Gt(t)&&Pm(t)}create(t){return new wm(this.moduleType,t)}}function km(t,e,n,a){return bt(()=>{const r=t,o=r.prototype?Object.getPrototypeOf(r.prototype):null,i=o&&o.constructor;null!==e&&(void 0===r.decorators||i&&i.decorators===r.decorators?r.decorators=e:r.decorators.push(...e)),null!==n&&(r.ctorParameters=n),null!==a&&(r.propDecorators=void 0===r.propDecorators||i&&i.propDecorators===r.propDecorators?a:Object.assign({},r.propDecorators,a))})}function Sm(t,e,n){const a=He()+t,r=Pe();return Fe()?Rc(r,a,n?e.call(n):e()):Ac(r,a)}function Im(t,e,n,a){const r=Pe(),o=He()+t;return Ec(r,o,n)?Rc(r,o+1,a?e.call(a,n):e(n)):Ac(r,o+1)}function Nm(t,e,n,a,r){const o=He()+t,i=Pe();return Dc(i,o,n,a)?Rc(i,o+2,r?e.call(r,n,a):e(n,a)):Ac(i,o+2)}function Rm(t,e,n,a,r,o){const i=He()+t,s=Pe();return Lc(s,i,n,a,r)?Rc(s,i+3,o?e.call(o,n,a,r):e(n,a,r)):Ac(s,i+3)}function Am(t,e,n,a,r,o,i){const s=He()+t,c=Pe();return qc(c,s,n,a,r,o)?Rc(c,s+4,i?e.call(i,n,a,r,o):e(n,a,r,o)):Ac(c,s+4)}function Em(t,e,n,a,r,o,i,s){const c=He()+t,l=Pe(),d=qc(l,c,n,a,r,o);return Ec(l,c+4,i)||d?Rc(l,c+5,s?e.call(s,n,a,r,o,i):e(n,a,r,o,i)):Ac(l,c+5)}function Dm(t,e,n,a,r,o,i,s,c){const l=He()+t,d=Pe(),u=qc(d,l,n,a,r,o);return Dc(d,l+4,i,s)||u?Rc(d,l+6,c?e.call(c,n,a,r,o,i,s):e(n,a,r,o,i,s)):Ac(d,l+6)}function Lm(t,e,n,a,r,o,i,s,c,l){const d=He()+t,u=Pe();let g=qc(u,d,n,a,r,o);return Lc(u,d+4,i,s,c)||g?Rc(u,d+7,l?e.call(l,n,a,r,o,i,s,c):e(n,a,r,o,i,s,c)):Ac(u,d+7)}function qm(t,e,n,a,r,o,i,s,c,l,d){const u=He()+t,g=Pe(),f=qc(g,u,n,a,r,o);return qc(g,u+4,i,s,c,l)||f?Rc(g,u+8,d?e.call(d,n,a,r,o,i,s,c,l):e(n,a,r,o,i,s,c,l)):Ac(g,u+8)}function jm(t,e,n,a){let r=He()+t,o=!1;const i=Pe();for(let s=0;s<n.length;s++)Ec(i,r++,n[s])&&(o=!0);return o?Rc(i,r,e.apply(a,n)):Ac(i,r)}function Fm(t,e){const n=Pe()[1];let a;const r=t+19;n.firstTemplatePass?(a=function(t,e){if(e)for(let n=e.length-1;n>=0;n--){const a=e[n];if(t===a.name)return a}throw new Error(`The pipe '${t}' could not be found!`)}(e,n.pipeRegistry),n.data[r]=a,a.onDestroy&&(n.destroyHooks||(n.destroyHooks=[])).push(r,a.onDestroy)):a=n.data[r];const o=a.factory();return gl(t,o),o}function zm(t,e,n){const a=pl(t);return Um(Hm(t)?Im(e,a.transform,n,a):a.transform(n))}function Vm(t,e,n,a){const r=pl(t);return Um(Hm(t)?Nm(e,r.transform,n,a,r):r.transform(n,a))}function Gm(t,e,n,a,r){const o=pl(t);return Um(Hm(t)?Rm(e,o.transform,n,a,r,o):o.transform(n,a,r))}function Ym(t,e,n,a,r,o){const i=pl(t);return Um(Hm(t)?Am(e,i.transform,n,a,r,o,i):i.transform(n,a,r,o))}function Bm(t,e,n){const a=pl(t);return Um(Hm(t)?jm(e,a.transform,n,a):a.transform.apply(a,n))}function Hm(t){return Pe()[1].data[t+19].pure}function Um(t){if(Sc.isWrapped(t)){t=Sc.unwrap(t);const e=Pe();e[e[7]]=ro}return t}class Wm extends a.a{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,e,n){let a,o=t=>null,i=()=>null;t&&"object"==typeof t?(a=this.__isAsync?e=>{setTimeout(()=>t.next(e))}:e=>{t.next(e)},t.error&&(o=this.__isAsync?e=>{setTimeout(()=>t.error(e))}:e=>{t.error(e)}),t.complete&&(i=this.__isAsync?()=>{setTimeout(()=>t.complete())}:()=>{t.complete()})):(a=this.__isAsync?e=>{setTimeout(()=>t(e))}:e=>{t(e)},e&&(o=this.__isAsync?t=>{setTimeout(()=>e(t))}:t=>{e(t)}),n&&(i=this.__isAsync?()=>{setTimeout(()=>n())}:()=>{n()}));const s=super.subscribe(a,o,i);return t instanceof r.a&&t.add(s),s}}function Km(){return this._results[wc()]()}class $m{constructor(){this.dirty=!0,this._results=[],this.changes=new Wm,this.length=0;const t=wc(),e=$m.prototype;e[t]||(e[t]=Km)}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,e){return this._results.reduce(t,e)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(t){this._results=ct(t),this.dirty=!1,this.length=this._results.length,this.last=this._results[this.length-1],this.first=this._results[0]}notifyOnChanges(){this.changes.emit(this)}setDirty(){this.dirty=!0}destroy(){this.changes.complete(),this.changes.unsubscribe()}}class Zm{constructor(t){this.queryList=t,this.matches=null}clone(){return new Zm(this.queryList)}setDirty(){this.queryList.setDirty()}}class Jm{constructor(t=[]){this.queries=t}createEmbeddedView(t){const e=t.queries;if(null!==e){const n=null!==t.contentQueries?t.contentQueries[0]:e.length,a=new Array(n);for(let t=0;t<n;t++){const n=e.getByIndex(t);a[t]=this.queries[n.indexInDeclarationView].clone()}return new Jm(a)}return null}insertView(t){this.dirtyQueriesWithMatches(t)}detachView(t){this.dirtyQueriesWithMatches(t)}dirtyQueriesWithMatches(t){for(let e=0;e<this.queries.length;e++)null!==hh(t,e).matches&&this.queries[e].setDirty()}}class Xm{constructor(t,e,n,a=null){this.predicate=t,this.descendants=e,this.isStatic=n,this.read=a}}class Qm{constructor(t=[]){this.queries=t}elementStart(t,e){for(let n of this.queries)n.elementStart(t,e)}elementEnd(t){for(let e of this.queries)e.elementEnd(t)}embeddedTView(t){let e=null;for(let n=0;n<this.length;n++){const a=null!==e?e.length:0,r=this.getByIndex(n).embeddedTView(t,a);r&&(r.indexInDeclarationView=n,null!==e?e.push(r):e=[r])}return null!==e?new Qm(e):null}template(t,e){for(let n of this.queries)n.template(t,e)}getByIndex(t){return this.queries[t]}get length(){return this.queries.length}track(t){this.queries.push(t)}}class th{constructor(t,e=-1){this.metadata=t,this.matches=null,this.indexInDeclarationView=-1,this.crossesNgTemplate=!1,this._appliesToNextNode=!0,this._declarationNodeIndex=e}elementStart(t,e){this.isApplyingToNode(e)&&this.matchTNode(t,e)}elementEnd(t){this._declarationNodeIndex===t.index&&(this._appliesToNextNode=!1)}template(t,e){this.elementStart(t,e)}embeddedTView(t,e){return this.isApplyingToNode(t)?(this.crossesNgTemplate=!0,this.addMatch(-t.index,e),new th(this.metadata)):null}isApplyingToNode(t){return this._appliesToNextNode&&!1===this.metadata.descendants?this._declarationNodeIndex===(t.parent?t.parent.index:-1):this._appliesToNextNode}matchTNode(t,e){if(Array.isArray(this.metadata.predicate)){const n=this.metadata.predicate;for(let a=0;a<n.length;a++)this.matchTNodeWithReadOption(t,e,eh(e,n[a]))}else{const n=this.metadata.predicate;n===hg?0===e.type&&this.matchTNodeWithReadOption(t,e,-1):this.matchTNodeWithReadOption(t,e,ba(e,t,n,!1,!1))}}matchTNodeWithReadOption(t,e,n){if(null!==n){const a=this.metadata.read;if(null!==a)if(a===Vu||a===yg||a===hg&&0===e.type)this.addMatch(e.index,-2);else{const n=ba(e,t,a,!1,!1);null!==n&&this.addMatch(e.index,n)}else this.addMatch(e.index,n)}}addMatch(t,e){null===this.matches?this.matches=[t,e]:this.matches.push(t,e)}}function eh(t,e){const n=t.localNames;if(null!==n)for(let a=0;a<n.length;a+=2)if(n[a]===e)return n[a+1];return null}function nh(t,e,n,a){return-1===n?function(t,e){return 3===t.type||4===t.type?Yi(Vu,t,e):0===t.type?Bi(hg,Vu,t,e):null}(e,t):-2===n?function(t,e,n){return n===Vu?Yi(Vu,e,t):n===hg?Bi(hg,Vu,e,t):n===yg?Hi(yg,Vu,e,t):void 0}(t,e,a):_a(t[1].data,t,n,e)}function ah(t,e,n){const a=t[5].queries[n];if(null===a.matches){const n=t[1].data,r=e.matches,o=new Array(r.length/2);for(let a=0;a<r.length;a+=2){const i=r[a];o[a/2]=i<0?null:nh(t,n[i],r[a+1],e.metadata.read)}a.matches=o}return a.matches}function rh(t){const e=Pe(),n=Ke();$e(n+1);const a=hh(e[1],n);if(t.dirty&&Fe()===a.metadata.isStatic){if(null===a.matches)t.reset([]);else{const r=a.crossesNgTemplate?function t(e,n,a){const r=e[1].queries.getByIndex(n),o=r.matches;if(null!==o){const i=ah(e,r,n);for(let n=0;n<o.length;n+=2){const r=o[n];if(r>0)a.push(i[n/2]);else{const i=o[n+1],s=e[-r];for(let e=9;e<s.length;e++){const n=s[e];n[17]===n[3]&&t(n,i,a)}if(null!==s[5])for(let e of s[5])t(e,i,a)}}}return a}(e,n,[]):ah(e,a,n);t.reset(r),t.notifyOnChanges()}return!0}return!1}function oh(t,e,n){sh(Pe(),t,e,n,!0)}function ih(t,e,n){sh(Pe(),t,e,n,!1)}function sh(t,e,n,a,r){const o=t[1];o.firstTemplatePass&&(mh(o,new Xm(e,n,r,a),-1),r&&(o.staticViewQueries=!0)),ph(t)}function ch(){return fh(Pe(),Ke())}function lh(t,e,n,a){uh(Pe(),e,n,a,!1,Ee(),t)}function dh(t,e,n,a){uh(Pe(),e,n,a,!0,Ee(),t)}function uh(t,e,n,a,r,o,i){const s=t[1];s.firstTemplatePass&&(mh(s,new Xm(e,n,r,a),o.index),function(t,e){const n=t.contentQueries||(t.contentQueries=[]);e!==(t.contentQueries.length?n[n.length-1]:-1)&&n.push(t.queries.length-1,e)}(s,i),r&&(s.staticContentQueries=!0)),ph(t)}function gh(){return fh(Pe(),Ke())}function fh(t,e){return t[5].queries[e].queryList}function ph(t){const e=new $m;!function(t,e,n){const a=ci(t);a.push(e),t[1].firstTemplatePass&&li(t).push(n,a.length-1)}(t,e,e.destroy),null===t[5]&&(t[5]=new Jm),t[5].queries.push(new Zm(e))}function mh(t,e,n){null===t.queries&&(t.queries=new Qm),t.queries.track(new th(e,n))}function hh(t,e){return t.queries.getByIndex(e)}function bh(t,e){return Bi(hg,Vu,t,e)}function _h(t=v.Default){const e=Ui(!0);if(null!=e||t&v.Optional)return e;throw new Error("No provider for ChangeDetectorRef!")}const yh=(()=>({"ɵɵattribute":zc,"ɵɵattributeInterpolate1":Zc,"ɵɵattributeInterpolate2":Jc,"ɵɵattributeInterpolate3":Xc,"ɵɵattributeInterpolate4":Qc,"ɵɵattributeInterpolate5":tl,"ɵɵattributeInterpolate6":el,"ɵɵattributeInterpolate7":nl,"ɵɵattributeInterpolate8":al,"ɵɵattributeInterpolateV":rl,"ɵɵdefineBase":Dt,"ɵɵdefineComponent":kt,"ɵɵdefineDirective":Lt,"ɵɵdefineInjectable":M,"ɵɵdefineInjector":w,"ɵɵdefineNgModule":Rt,"ɵɵdefinePipe":qt,"ɵɵdirectiveInject":ml,"ɵɵgetFactoryOf":Ca,"ɵɵgetInheritedFactory":Pa,"ɵɵinject":J,"ɵɵinjectAttribute":hl,"ɵɵinjectPipeChangeDetectorRef":_h,"ɵɵtemplateRefExtractor":bh,"ɵɵNgOnChangesFeature":hu,"ɵɵProvidersFeature":Nu,"ɵɵInheritDefinitionFeature":Ou,"ɵɵcontainer":sl,"ɵɵnextContext":td,"ɵɵcontainerRefreshStart":ll,"ɵɵcontainerRefreshEnd":dl,"ɵɵnamespaceHTML":sn,"ɵɵnamespaceMathML":on,"ɵɵnamespaceSVG":rn,"ɵɵenableBindings":ve,"ɵɵdisableBindings":Ce,"ɵɵallocHostVars":Mc,"ɵɵelementStart":Ll,"ɵɵelementEnd":ql,"ɵɵelement":jl,"ɵɵelementContainerStart":Vl,"ɵɵelementContainerEnd":Gl,"ɵɵelementContainer":Yl,"ɵɵpureFunction0":Sm,"ɵɵpureFunction1":Im,"ɵɵpureFunction2":Nm,"ɵɵpureFunction3":Rm,"ɵɵpureFunction4":Am,"ɵɵpureFunction5":Em,"ɵɵpureFunction6":Dm,"ɵɵpureFunction7":Lm,"ɵɵpureFunction8":qm,"ɵɵpureFunctionV":jm,"ɵɵgetCurrentView":Ul,"ɵɵrestoreView":Ae,"ɵɵlistener":$l,"ɵɵload":pl,"ɵɵprojection":od,"ɵɵupdateSyntheticHostBinding":Wd,"ɵɵcomponentHostSyntheticListener":Zl,"ɵɵpipeBind1":zm,"ɵɵpipeBind2":Vm,"ɵɵpipeBind3":Gm,"ɵɵpipeBind4":Ym,"ɵɵpipeBindV":Bm,"ɵɵprojectionDef":nd,"ɵɵhostProperty":Ud,"ɵɵproperty":jc,"ɵɵpropertyInterpolate":id,"ɵɵpropertyInterpolate1":sd,"ɵɵpropertyInterpolate2":cd,"ɵɵpropertyInterpolate3":ld,"ɵɵpropertyInterpolate4":dd,"ɵɵpropertyInterpolate5":ud,"ɵɵpropertyInterpolate6":gd,"ɵɵpropertyInterpolate7":fd,"ɵɵpropertyInterpolate8":pd,"ɵɵpropertyInterpolateV":md,"ɵɵpipe":Fm,"ɵɵqueryRefresh":rh,"ɵɵviewQuery":ih,"ɵɵstaticViewQuery":oh,"ɵɵstaticContentQuery":dh,"ɵɵloadViewQuery":ch,"ɵɵcontentQuery":lh,"ɵɵloadContentQuery":gh,"ɵɵreference":fl,"ɵɵelementHostAttrs":Fl,"ɵɵclassMap":Ml,"ɵɵclassMapInterpolate1":kd,"ɵɵclassMapInterpolate2":Sd,"ɵɵclassMapInterpolate3":Id,"ɵɵclassMapInterpolate4":Nd,"ɵɵclassMapInterpolate5":Rd,"ɵɵclassMapInterpolate6":Ad,"ɵɵclassMapInterpolate7":Ed,"ɵɵclassMapInterpolate8":Dd,"ɵɵclassMapInterpolateV":Ld,"ɵɵstyling":bl,"ɵɵstyleMap":Pl,"ɵɵstyleProp":yl,"ɵɵstylePropInterpolate1":qd,"ɵɵstylePropInterpolate2":jd,"ɵɵstylePropInterpolate3":Fd,"ɵɵstylePropInterpolate4":zd,"ɵɵstylePropInterpolate5":Vd,"ɵɵstylePropInterpolate6":Gd,"ɵɵstylePropInterpolate7":Yd,"ɵɵstylePropInterpolate8":Bd,"ɵɵstylePropInterpolateV":Hd,"ɵɵstyleSanitizer":_l,"ɵɵstylingApply":kl,"ɵɵclassProp":vl,"ɵɵselect":bo,"ɵɵtemplate":cl,"ɵɵtext":hd,"ɵɵtextBinding":bd,"ɵɵtextInterpolate":_d,"ɵɵtextInterpolate1":yd,"ɵɵtextInterpolate2":Od,"ɵɵtextInterpolate3":vd,"ɵɵtextInterpolate4":Cd,"ɵɵtextInterpolate5":Pd,"ɵɵtextInterpolate6":Md,"ɵɵtextInterpolate7":xd,"ɵɵtextInterpolate8":wd,"ɵɵtextInterpolateV":Td,"ɵɵembeddedViewStart":Bl,"ɵɵembeddedViewEnd":Hl,"ɵɵi18n":am,"ɵɵi18nAttributes":rm,"ɵɵi18nExp":sm,"ɵɵi18nStart":$p,"ɵɵi18nEnd":Qp,"ɵɵi18nApply":cm,"ɵɵi18nPostprocess":Xp,"ɵɵi18nLocalize":bm,"ɵɵresolveWindow":mn,"ɵɵresolveDocument":hn,"ɵɵresolveBody":bn,"ɵɵsetComponentScope":St,"ɵɵsetNgModuleScope":At,"ɵɵsanitizeHtml":hr,"ɵɵsanitizeStyle":br,"ɵɵdefaultStyleSanitizer":Pr,"ɵɵsanitizeResourceUrl":yr,"ɵɵsanitizeScript":Or,"ɵɵsanitizeUrl":_r,"ɵɵsanitizeUrlOrResourceUrl":Cr}))(),Oh=[],vh=[];let Ch=!1;function Ph(){if(!Ch){Ch=!0;try{for(let t=vh.length-1;t>=0;t--){const{moduleType:e,ngModule:n}=vh[t];n.declarations&&n.declarations.every(Mh)&&(vh.splice(t,1),Ih(e,n))}}finally{Ch=!1}}}function Mh(t){return Array.isArray(t)?t.every(Mh):!!E(t)}function xh(t,e={}){wh(t,e),function(t,e){vh.push({moduleType:t,ngModule:e})}(t,e)}function wh(t,e,n=!1){const a=ct(e.declarations||Oh);let r=null;Object.defineProperty(t,Pt,{configurable:!0,get:()=>(null===r&&(r=z().compileNgModule(yh,`ng:///${t.name}/ngModuleDef.js`,{type:t,bootstrap:ct(e.bootstrap||Oh).map(E),declarations:a.map(E),imports:ct(e.imports||Oh).map(E).map(Ah),exports:ct(e.exports||Oh).map(E).map(Ah),emitInline:!0,schemas:e.schemas?ct(e.schemas):null,id:e.id||null})),r)});let o=null;Object.defineProperty(t,I,{get:()=>{if(null===o){const n={name:t.name,type:t,deps:ss(t),providers:e.providers||Oh,imports:[(e.imports||Oh).map(E),(e.exports||Oh).map(E)]};o=z().compileInjector(yh,`ng:///${t.name}/ngInjectorDef.js`,n)}return o},configurable:!1})}let Th=new Map,kh=new Map;function Sh(){Th=new Map,kh=new Map,vh.length=0}function Ih(t,e){const n=ct(e.declarations||Oh),a=Rh(t);n.forEach(e=>{e.hasOwnProperty(Ot)?Nh(jt(e),a):e.hasOwnProperty(vt)||e.hasOwnProperty(Ct)||(e.ngSelectorScope=t)})}function Nh(t,e){t.directiveDefs=()=>Array.from(e.compilation.directives).map(t=>t.hasOwnProperty(Ot)?jt(t):Ft(t)).filter(t=>!!t),t.pipeDefs=()=>Array.from(e.compilation.pipes).map(t=>zt(t)),t.schemas=e.schemas,t.tView=null}function Rh(t,e){if(!Eh(t))throw new Error(`${t.name} does not have an ngModuleDef`);const n=Gt(t);if(null!==n.transitiveCompileScopes)return n.transitiveCompileScopes;const a={schemas:n.schemas||null,compilation:{directives:new Set,pipes:new Set},exported:{directives:new Set,pipes:new Set}};return yn(n.declarations).forEach(t=>{zt(t)?a.compilation.pipes.add(t):a.compilation.directives.add(t)}),yn(n.imports).forEach(t=>{const n=t;if(!Eh(n))throw new Error(`Importing ${n.name} which does not have an ngModuleDef`);e&&e(n);const r=Rh(n,e);r.exported.directives.forEach(t=>a.compilation.directives.add(t)),r.exported.pipes.forEach(t=>a.compilation.pipes.add(t))}),yn(n.exports).forEach(t=>{const n=t;if(Eh(n)){const t=Rh(n,e);t.exported.directives.forEach(t=>{a.compilation.directives.add(t),a.exported.directives.add(t)}),t.exported.pipes.forEach(t=>{a.compilation.pipes.add(t),a.exported.pipes.add(t)})}else zt(n)?a.exported.pipes.add(n):a.exported.directives.add(n)}),n.transitiveCompileScopes=a,a}function Ah(t){return function(t){return void 0!==t.ngModule}(t)?t.ngModule:t}function Eh(t){return!!Gt(t)}function Dh(t,e){let n=null;!function(t,e){vc(e)&&(yc.set(t,e),Oc.add(t))}(t,e),Object.defineProperty(t,Ot,{get:()=>{const a=z();if(null===n){if(vc(e)){const n=[`Component '${t.name}' is not resolved:`];throw e.templateUrl&&n.push(` - templateUrl: ${e.templateUrl}`),e.styleUrls&&e.styleUrls.length&&n.push(` - styleUrls: ${JSON.stringify(e.styleUrls)}`),n.push("Did you run and wait for 'resolveComponentResources()'?"),new Error(n.join("\n"))}const r=e.templateUrl||`ng:///${t.name}/template.html`,o=Object.assign({},jh(t,e),{typeSourceSpan:a.createParseSourceSpan("Component",t.name,r),template:e.template||"",preserveWhitespaces:e.preserveWhitespaces||!1,styles:e.styles||yt,animations:e.animations,directives:[],changeDetection:e.changeDetection,pipes:new Map,encapsulation:e.encapsulation||ht.Emulated,interpolation:e.interpolation,viewProviders:e.viewProviders||null});if(o.usesInheritance&&Fh(t),n=a.compileComponent(yh,r,o),Ph(),void 0!==t.ngSelectorScope){const e=Rh(t.ngSelectorScope);Nh(n,e)}}return n},configurable:!1}),ls(t)}function Lh(t,e){let n=null;Object.defineProperty(t,vt,{get:()=>{if(null===n){const a=t&&t.name,r=`ng:///${a}/ngDirectiveDef.js`,o=z(),i=jh(t,e);i.typeSourceSpan=o.createParseSourceSpan("Directive",a,r),i.usesInheritance&&Fh(t),n=o.compileDirective(yh,r,i)}return n},configurable:!1}),ls(t)}function qh(t){return Object.getPrototypeOf(t.prototype)===Object.prototype}function jh(t,e){const n=is().ownPropMetadata(t);return{name:t.name,type:t,typeArgumentCount:0,selector:e.selector,deps:ss(t),host:e.host||_t,propMetadata:n,inputs:e.inputs||yt,outputs:e.outputs||yt,queries:Yh(t,n,Bh),lifecycle:{usesOnChanges:t.prototype.hasOwnProperty("ngOnChanges")},typeSourceSpan:null,usesInheritance:!qh(t),exportAs:(a=e.exportAs,void 0===a?null:a.split(",").map(t=>t.trim())),providers:e.providers||null,viewQueries:Yh(t,n,Hh)};var a}function Fh(t){const e=Object.prototype;let n=Object.getPrototypeOf(t);for(;n&&n!==e;){if(!Ft(n)&&!jt(n)&&!Vt(n)){const t=Vh(n);t&&zh(n,t)}n=Object.getPrototypeOf(n)}}function zh(t,e){let n=null;Object.defineProperty(t,xt,{get:()=>{if(null===n){const a=`ng://${t&&t.name}/ngBaseDef.js`,r=z();n=r.compileBase(yh,a,e)}return n},configurable:!1})}function Vh(t){const e=is().ownPropMetadata(t),n=Yh(t,e,Hh),a=Yh(t,e,Bh);let r,o,i=!1;for(const s in e)e[s].forEach(t=>{const e=t.ngMetadataName;"Input"===e?(r=r||{},r[s]=t.bindingPropertyName?[t.bindingPropertyName,s]:s):"Output"===e?(o=o||{},o[s]=t.bindingPropertyName||s):"HostBinding"!==e&&"HostListener"!==e||(i=!0)});return r||o||n.length||a.length||i?{name:t.name,type:t,inputs:r,outputs:o,viewQueries:n,queries:a,propMetadata:e}:null}function Gh(t,e){return{propertyName:t,predicate:(n=e.selector,"string"==typeof n?n.split(",").map(t=>t.trim()):E(n)),descendants:e.descendants,first:e.first,read:e.read?e.read:null,static:!!e.static};var n}function Yh(t,e,n){const a=[];for(const r in e)if(e.hasOwnProperty(r)){const o=e[r];o.forEach(e=>{if(n(e)){if(!e.selector)throw new Error(`Can't construct a query for the property "${r}" of `+`"${fn(t)}" since the query selector wasn't defined.`);if(o.some(Uh))throw new Error("Cannot combine @Input decorators with query decorators");a.push(Gh(r,e))}})}return a}function Bh(t){const e=t.ngMetadataName;return"ContentChild"===e||"ContentChildren"===e}function Hh(t){const e=t.ngMetadataName;return"ViewChild"===e||"ViewChildren"===e}function Uh(t){return"Input"===t.ngMetadataName}function Wh(t,e){let n=null;Object.defineProperty(t,Ct,{get:()=>{if(null===n){const a=t.name;n=z().compilePipe(yh,`ng:///${a}/ngPipeDef.js`,{type:t,typeArgumentCount:0,name:a,deps:ss(t),pipeName:e.name,pure:void 0===e.pure||e.pure})}return n},configurable:!1})}const Kh=u("Directive",(t={})=>t,void 0,void 0,(t,e)=>ob(t,e)),$h=u("Component",(t={})=>Object.assign({changeDetection:ft.Default},t),Kh,void 0,(t,e)=>rb(t,e)),Zh=u("Pipe",t=>Object.assign({pure:!0},t),void 0,void 0,(t,e)=>ib(t,e)),Jh=p("Input",t=>({bindingPropertyName:t})),Xh=p("Output",t=>({bindingPropertyName:t})),Qh=p("HostBinding",t=>({hostPropertyName:t})),tb=p("HostListener",(t,e)=>({eventName:t,args:e})),eb=Dh,nb=Lh,ab=Wh,rb=zu,ob=zu,ib=zu,sb=u("NgModule",t=>t,void 0,void 0,(t,e)=>lb(t,e)),cb=xh,lb=function(t,e){let n=e&&e.imports||[];e&&e.exports&&(n=[...n,e.exports]),t.ngInjectorDef=w({factory:bs(t,{useClass:t}),providers:e&&e.providers,imports:n})},db=new V("Application Initializer");class ub{constructor(t){this.appInits=t,this.initialized=!1,this.done=!1,this.donePromise=new Promise((t,e)=>{this.resolve=t,this.reject=e})}runInitializers(){if(this.initialized)return;const t=[],e=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let n=0;n<this.appInits.length;n++){const e=this.appInits[n]();Wl(e)&&t.push(e)}Promise.all(t).then(()=>{e()}).catch(t=>{this.reject(t)}),0===t.length&&e(),this.initialized=!0}}const gb=new V("AppId");function fb(){return`${mb()}${mb()}${mb()}`}const pb={provide:gb,useFactory:fb,deps:[]};function mb(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const hb=new V("Platform Initializer"),bb=new V("Platform ID"),_b=new V("appBootstrapListener"),yb=new V("Application Packages Root URL");class Ob{log(t){console.log(t)}warn(t){console.warn(t)}}const vb=new V("LocaleId"),Cb=new V("Translations"),Pb=new V("TranslationsFormat"),Mb=function(){var t={Error:0,Warning:1,Ignore:2};return t[t.Error]="Error",t[t.Warning]="Warning",t[t.Ignore]="Ignore",t}(),xb=!0,wb=!1;class Tb{constructor(t,e){this.ngModuleFactory=t,this.componentFactories=e}}function kb(){throw new Error("Runtime compiler is not loaded")}const Sb=function(t){return new Tm(t)},Ib=kb,Nb=function(t){return Promise.resolve(Sb(t))},Rb=kb,Ab=function(t){const e=Sb(t),n=yn(Gt(t).declarations).reduce((t,e)=>{const n=jt(e);return n&&t.push(new yp(n)),t},[]);return new Tb(e,n)},Eb=kb,Db=function(t){return Promise.resolve(Ab(t))},Lb=kb;class qb{constructor(){this.compileModuleSync=Ib,this.compileModuleAsync=Rb,this.compileModuleAndAllComponentsSync=Eb,this.compileModuleAndAllComponentsAsync=Lb}clearCache(){}clearCacheFor(t){}getModuleId(t){}}const jb=new V("compilerOptions");class Fb{}let zb,Vb;function Gb(){const t=F.wtf;return!(!t||(zb=t.trace,!zb)||(Vb=zb.events,0))}function Yb(t,e=null){return Vb.createScope(t,e)}function Bb(t,e){return zb.leaveScope(t,e),e}function Hb(t,e){return zb.beginTimeRange(t,e)}function Ub(t){zb.endTimeRange(t)}const Wb=Gb();function Kb(t,e){return null}const $b=Wb?Yb:(t,e)=>Kb,Zb=Wb?Bb:(t,e)=>e,Jb=Wb?Hb:(t,e)=>null,Xb=Wb?Ub:t=>null,Qb=(()=>Promise.resolve(0))();function t_(t){"undefined"==typeof Zone?Qb.then(()=>{t&&t.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",t)}class e_{constructor({enableLongStackTrace:t=!1}){if(this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Wm(!1),this.onMicrotaskEmpty=new Wm(!1),this.onStable=new Wm(!1),this.onError=new Wm(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");var e;Zone.assertZonePatched(),this._nesting=0,this._outer=this._inner=Zone.current,Zone.wtfZoneSpec&&(this._inner=this._inner.fork(Zone.wtfZoneSpec)),Zone.TaskTrackingZoneSpec&&(this._inner=this._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(this._inner=this._inner.fork(Zone.longStackTraceZoneSpec)),(e=this)._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(t,n,a,r,o,i)=>{try{return o_(e),t.invokeTask(a,r,o,i)}finally{i_(e)}},onInvoke:(t,n,a,r,o,i,s)=>{try{return o_(e),t.invoke(a,r,o,i,s)}finally{i_(e)}},onHasTask:(t,n,a,r)=>{t.hasTask(a,r),n===a&&("microTask"==r.change?(e.hasPendingMicrotasks=r.microTask,r_(e)):"macroTask"==r.change&&(e.hasPendingMacrotasks=r.macroTask))},onHandleError:(t,n,a,r)=>(t.handleError(a,r),e.runOutsideAngular(()=>e.onError.emit(r)),!1)})}static isInAngularZone(){return!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!e_.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(e_.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(t,e,n){return this._inner.run(t,e,n)}runTask(t,e,n,a){const r=this._inner,o=r.scheduleEventTask("NgZoneEvent: "+a,t,a_,n_,n_);try{return r.runTask(o,e,n)}finally{r.cancelTask(o)}}runGuarded(t,e,n){return this._inner.runGuarded(t,e,n)}runOutsideAngular(t){return this._outer.run(t)}}function n_(){}const a_={};function r_(t){if(0==t._nesting&&!t.hasPendingMicrotasks&&!t.isStable)try{t._nesting++,t.onMicrotaskEmpty.emit(null)}finally{if(t._nesting--,!t.hasPendingMicrotasks)try{t.runOutsideAngular(()=>t.onStable.emit(null))}finally{t.isStable=!0}}}function o_(t){t._nesting++,t.isStable&&(t.isStable=!1,t.onUnstable.emit(null))}function i_(t){t._nesting--,r_(t)}class s_{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Wm,this.onMicrotaskEmpty=new Wm,this.onStable=new Wm,this.onError=new Wm}run(t){return t()}runGuarded(t){return t()}runOutsideAngular(t){return t()}runTask(t){return t()}}class c_{constructor(t){this._ngZone=t,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone="undefined"==typeof Zone?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{e_.assertNotInAngularZone(),t_(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())t_(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(e=>!e.updateCb||!e.updateCb(t)||(clearTimeout(e.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,e,n){let a=-1;e&&e>0&&(a=setTimeout(()=>{this._callbacks=this._callbacks.filter(t=>t.timeoutId!==a),t(this._didWork,this.getPendingTasks())},e)),this._callbacks.push({doneCb:t,timeoutId:a,updateCb:n})}whenStable(t,e,n){if(n&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/dist/task-tracking.js" loaded?');this.addCallback(t,e,n),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}findProviders(t,e,n){return[]}}class l_{constructor(){this._applications=new Map,f_.addToWindow(this)}registerApplication(t,e){this._applications.set(t,e)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,e=!0){return f_.findTestabilityInTree(this,t,e)}}class d_{addToWindow(t){}findTestabilityInTree(t,e,n){return null}}function u_(t){f_=t}let g_,f_=new d_;function p_(t,e,n){const a=new Tm(n);if(0===yc.size)return Promise.resolve(a);const r=function(t){const e=[];return t.forEach(t=>t&&e.push(...t)),e}(t.get(jb,[]).concat(e).map(t=>t.providers));if(0===r.length)return Promise.resolve(a);const o=z(),i=Ls.create({providers:r}).get(o.ResourceLoader);return _c(t=>Promise.resolve(i.get(t))).then(()=>a)}function m_(t){return t.isBoundToModule}const h_=new V("AllowMultipleToken");class b_{constructor(t,e){this.name=t,this.token=e}}function __(t){if(g_&&!g_.destroyed&&!g_.injector.get(h_,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");g_=t.get(P_);const e=t.get(hb,null);return e&&e.forEach(t=>t()),g_}function y_(t,e,n=[]){const a=`Platform: ${e}`,r=new V(a);return(e=[])=>{let o=C_();if(!o||o.injector.get(h_,!1))if(t)t(n.concat(e).concat({provide:r,useValue:!0}));else{const t=n.concat(e).concat({provide:r,useValue:!0});__(Ls.create({providers:t,name:a}))}return O_(r)}}function O_(t){const e=C_();if(!e)throw new Error("No platform exists!");if(!e.injector.get(t,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return e}function v_(){g_&&!g_.destroyed&&g_.destroy()}function C_(){return g_&&!g_.destroyed?g_:null}class P_{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,e){const n=function(t){let e;return e="noop"===t?new s_:("zone.js"===t?void 0:t)||new e_({enableLongStackTrace:za()}),e}(e?e.ngZone:void 0),a=[{provide:e_,useValue:n}];return n.run(()=>{const e=Ls.create({providers:a,parent:this.injector,name:t.moduleType.name}),r=t.create(e),o=r.injector.get(Ta,null);if(!o)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return wb&&ym(r.injector.get(vb,Tp)||Tp),r.onDestroy(()=>w_(this._modules,r)),n.runOutsideAngular(()=>n.onError.subscribe({next:t=>{o.handleError(t)}})),function(t,e,n){try{const a=n();return Wl(a)?a.catch(n=>{throw e.runOutsideAngular(()=>t.handleError(n)),n}):a}catch(a){throw e.runOutsideAngular(()=>t.handleError(a)),a}}(o,n,()=>{const t=r.injector.get(ub);return t.runInitializers(),t.donePromise.then(()=>(this._moduleDoBootstrap(r),r))})})}bootstrapModule(t,e=[]){const n=M_({},e);return function(t,e,n){return t.get(Fb).createCompiler([e]).compileModuleAsync(n)}(this.injector,n,t).then(t=>this.bootstrapModuleFactory(t,n))}_moduleDoBootstrap(t){const e=t.injector.get(x_);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(t=>e.bootstrap(t));else{if(!t.instance.ngDoBootstrap)throw new Error(`The module ${N(t.instance.constructor)} was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. `+"Please define one of these.");t.instance.ngDoBootstrap(e)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(t=>t.destroy()),this._destroyListeners.forEach(t=>t()),this._destroyed=!0}get destroyed(){return this._destroyed}}function M_(t,e){return Array.isArray(e)?e.reduce(M_,t):Object.assign({},t,e)}let x_=(()=>{class t{constructor(t,e,n,a,r,c){this._zone=t,this._console=e,this._injector=n,this._exceptionHandler=a,this._componentFactoryResolver=r,this._initStatus=c,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._enforceNoNewChanges=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._enforceNoNewChanges=za(),this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const l=new o.a(t=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{t.next(this._stable),t.complete()})}),d=new o.a(t=>{let e;this._zone.runOutsideAngular(()=>{e=this._zone.onStable.subscribe(()=>{e_.assertNotInAngularZone(),t_(()=>{this._stable||this._zone.hasPendingMacrotasks||this._zone.hasPendingMicrotasks||(this._stable=!0,t.next(!0))})})});const n=this._zone.onUnstable.subscribe(()=>{e_.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{t.next(!1)}))});return()=>{e.unsubscribe(),n.unsubscribe()}});this.isStable=Object(i.a)(l,d.pipe(Object(s.a)()))}bootstrap(t,e){if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");let n;n=t instanceof Au?t:this._componentFactoryResolver.resolveComponentFactory(t),this.componentTypes.push(n.componentType);const a=n instanceof Fu?null:this._injector.get(ot),r=n.create(Ls.NULL,[],e||n.selector,a);r.onDestroy(()=>{this._unloadComponent(r)});const o=r.injector.get(c_,null);return o&&r.injector.get(l_).registerApplication(r.location.nativeElement,o),this._loadComponent(r),za()&&this._console.log("Angular is running in the development mode. Call enableProdMode() to enable the production mode."),r}tick(){if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");const e=t._tickScope();try{this._runningTick=!0;for(let t of this._views)t.detectChanges();if(this._enforceNoNewChanges)for(let t of this._views)t.checkNoChanges()}catch(n){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(n))}finally{this._runningTick=!1,Zb(e)}}attachView(t){const e=t;this._views.push(e),e.attachToAppRef(this)}detachView(t){const e=t;w_(this._views,e),e.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(_b,[]).concat(this._bootstrapListeners).forEach(e=>e(t))}_unloadComponent(t){this.detachView(t.hostView),w_(this.components,t)}ngOnDestroy(){this._views.slice().forEach(t=>t.destroy())}get viewCount(){return this._views.length}}return t._tickScope=$b("ApplicationRef#tick()"),t})();function w_(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}class T_{}function k_(t){const e=Mm(t);if(!e)throw N_(t);return e}function S_(t){const e=Mm(t);if(!e)throw N_(t);return new Tm(e)}const I_=k_;function N_(t){return new Error(`No module with ID ${t} loaded`)}class R_{}const A_={factoryPathPrefix:"",factoryPathSuffix:".ngfactory"};class E_{constructor(t,e){this._compiler=t,this._config=e||A_}load(t){return!wb&&this._compiler instanceof qb?this.loadFactory(t):this.loadAndCompile(t)}loadAndCompile(t){let[e,a]=t.split("#");return void 0===a&&(a="default"),n("crnd")(e).then(t=>t[a]).then(t=>D_(t,e,a)).then(t=>this._compiler.compileModuleAsync(t))}loadFactory(t){let[e,a]=t.split("#"),r="NgFactory";return void 0===a&&(a="default",r=""),n("crnd")(this._config.factoryPathPrefix+e+this._config.factoryPathSuffix).then(t=>t[a+r]).then(t=>D_(t,e,a))}}function D_(t,e,n){if(!t)throw new Error(`Cannot find '${n}' in '${e}'`);return t}class L_ extends Wi{}class q_ extends L_{}class j_{constructor(t,e){this.name=t,this.callback=e}}class F_{constructor(t,e,n){this.listeners=[],this.parent=null,this._debugContext=n,this.nativeNode=t,e&&e instanceof z_&&e.addChild(this)}get injector(){return this._debugContext.injector}get componentInstance(){return this._debugContext.component}get context(){return this._debugContext.context}get references(){return this._debugContext.references}get providerTokens(){return this._debugContext.providerTokens}}class z_ extends F_{constructor(t,e,n){super(t,e,n),this.properties={},this.attributes={},this.classes={},this.styles={},this.childNodes=[],this.nativeElement=t}addChild(t){t&&(this.childNodes.push(t),t.parent=this)}removeChild(t){const e=this.childNodes.indexOf(t);-1!==e&&(t.parent=null,this.childNodes.splice(e,1))}insertChildrenAfter(t,e){const n=this.childNodes.indexOf(t);-1!==n&&(this.childNodes.splice(n+1,0,...e),e.forEach(e=>{e.parent&&e.parent.removeChild(e),t.parent=this}))}insertBefore(t,e){const n=this.childNodes.indexOf(t);-1===n?this.addChild(e):(e.parent&&e.parent.removeChild(e),e.parent=this,this.childNodes.splice(n,0,e))}query(t){return this.queryAll(t)[0]||null}queryAll(t){const e=[];return function t(e,n,a){e.childNodes.forEach(e=>{e instanceof z_&&(n(e)&&a.push(e),t(e,n,a))})}(this,t,e),e}queryAllNodes(t){const e=[];return function t(e,n,a){e instanceof z_&&e.childNodes.forEach(e=>{n(e)&&a.push(e),e instanceof z_&&t(e,n,a)})}(this,t,e),e}get children(){return this.childNodes.filter(t=>t instanceof z_)}triggerEventHandler(t,e){this.listeners.forEach(n=>{n.name==t&&n.callback(e)})}}function V_(t){return t.map(t=>t.nativeElement)}class G_{constructor(t){this.nativeNode=t}get parent(){const t=this.nativeNode.parentNode;return t?new Y_(t):null}get injector(){return Xd(this.nativeNode)}get componentInstance(){const t=this.nativeNode;return t&&(Kd(t)||Zd(t))}get context(){return Kd(this.nativeNode)||$d(this.nativeNode)}get listeners(){return ru(this.nativeNode).filter(au)}get references(){return function(t){const e=tu(t);return void 0===e.localRefs&&(e.localRefs=function(t,e){const n=t[1].data[e];if(n&&n.localNames){const e={};let a=n.index+1;for(let r=0;r<n.localNames.length;r+=2)e[n.localNames[r]]=t[a],a++;return e}return null}(e.lView,e.nodeIndex)),e.localRefs||{}}(this.nativeNode)}get providerTokens(){return function(t){const e=tu(t,!1);if(!e)return[];const n=e.lView[1],a=n.data[e.nodeIndex],r=[],o=a.directiveEnd;for(let s=65535&a.providerIndexes;s<o;s++){let t=n.data[s];void 0!==(i=t).type&&void 0!==i.template&&void 0!==i.declaredInputs&&(t=t.type),r.push(t)}var i;return r}(this.nativeNode)}}class Y_ extends G_{constructor(t){super(t)}get nativeElement(){return this.nativeNode.nodeType==Node.ELEMENT_NODE?this.nativeNode:null}get name(){return this.nativeElement.nodeName}get properties(){const t=tu(this.nativeNode),e=t.lView,n=e[1].data,a=n[t.nodeIndex],r=function(t,e,n){const a={};let r=function(t,e){let n=t-1,a=e[n];for(;"string"==typeof a&&!_n(a);)a=e[--n];return n+1}(t.propertyMetadataStartIndex,n);for(;r<t.propertyMetadataEndIndex;){let t,o=n[r];for(;!_n(o);)t=(t||"")+gn(e[r])+n[r],o=n[++r];t=void 0===t?e[r]:t+=e[r];const i=o.split("�"),s=i[0];s&&(a[s]=i[1]&&i[2]?i[1]+t+i[2]:t),r++}return a}(a,e,n),o=function(t,e,n){const a={};let r=t.directiveEnd,o=n[r];for(;"string"==typeof o;)a[o.split("�")[0]]=e[r],o=n[++r];return a}(a,e,n),i=function(t){const e=t.classes;let n="";for(const a of Object.keys(e))e[a]&&(n=n?n+` ${a}`:a);return n}(this),s=Object.assign({},r,o);return i&&(s.className=s.className?s.className+` ${i}`:i),s}get attributes(){const t={},e=this.nativeElement;if(!e)return t;const n=tu(e),a=n.lView[1].data[n.nodeIndex].attrs,r=[];if(a){let e=0;for(;e<a.length;){const n=a[e];if("string"!=typeof n)break;t[n]=a[e+1],r.push(n.toLowerCase()),e+=2}}const o=e.attributes;for(let i=0;i<o.length;i++){const e=o[i];-1===r.indexOf(e.name)&&(t[e.name]=e.value)}return t}get styles(){return B_(this.nativeElement,!1)}get classes(){return B_(this.nativeElement,!0)}get childNodes(){const t=this.nativeNode.childNodes,e=[];for(let n=0;n<t.length;n++)e.push(Z_(t[n]));return e}get children(){const t=this.nativeElement;if(!t)return[];const e=t.children,n=[];for(let a=0;a<e.length;a++)n.push(Z_(e[a]));return n}query(t){return this.queryAll(t)[0]||null}queryAll(t){const e=[];return H_(this,t,e,!0),e}queryAllNodes(t){const e=[];return H_(this,t,e,!1),e}triggerEventHandler(t,e){this.listeners.forEach(n=>{n.name===t&&n.callback(e)})}}function B_(t,e){if(t){const n=nu(t),a=n.lView,r=a[1].data[n.nodeIndex];return e?Fn(r.classes)?new ho(r.classes,a,!0).values:mo(r.classes):Fn(r.styles)?new ho(r.styles,a,!1).values:mo(r.styles)}return{}}function H_(t,e,n,a){const r=tu(t.nativeNode);U_(r.lView[1].data[r.nodeIndex],r.lView,e,n,a,t.nativeNode)}function U_(t,e,n,a,r,o){const i=de(t,e);if(3===t.type||4===t.type){if(K_(i,n,a,r,o),Ut(t)){const i=fe(t.index,e);i&&i[1].firstChild&&U_(i[1].firstChild,i,n,a,r,o)}else t.child&&U_(t.child,e,n,a,r,o),i&&function t(e,n,a,r){const o=e.childNodes,i=o.length;for(let s=0;s<i;s++){const e=o[s],i=J_(e);i&&(r&&i instanceof Y_&&n(i)&&-1===a.indexOf(i)?a.push(i):!r&&n(i)&&-1===a.indexOf(i)&&a.push(i),t(e,n,a,r))}}(i,n,a,r);const s=e[t.index];Bt(s)&&W_(s,n,a,r,o)}else if(0===t.type){const i=e[t.index];K_(i[7],n,a,r,o),W_(i,n,a,r,o)}else if(1===t.type){const i=aa(e),s=i[6].projection[t.projection];if(Array.isArray(s))for(let t of s)K_(t,n,a,r,o);else if(s){const t=i[3];U_(t[1].data[s.index],t,n,a,r,o)}}else t.child&&U_(t.child,e,n,a,r,o);if(o!==i){const i=2&t.flags?t.projectionNext:t.next;i&&U_(i,e,n,a,r,o)}}function W_(t,e,n,a,r){for(let o=9;o<t.length;o++){const i=t[o];U_(i[1].node,i,e,n,a,r)}}function K_(t,e,n,a,r){if(r!==t){const r=J_(t);if(!r)return;a&&r instanceof Y_&&e(r)&&-1===n.indexOf(r)?n.push(r):!a&&e(r)&&-1===n.indexOf(r)&&n.push(r)}}const $_=new Map;function Z_(t){return t instanceof Node?(t.hasOwnProperty("__ng_debug__")||(t.__ng_debug__=t.nodeType==Node.ELEMENT_NODE?new Y_(t):new G_(t)),t.__ng_debug__):null}const J_=function(t){return $_.get(t)||null};function X_(t){$_.set(t.nativeNode,t)}const Q_=F_,ty=z_,ey=y_(null,"core",[{provide:bb,useValue:"unknown"},{provide:P_,deps:[Ls]},{provide:l_,deps:[]},{provide:Ob,deps:[]}]);function ny(){return pg}function ay(){return mg}function ry(t){return t?(wb&&ym(t),t):Tp}const oy=[{provide:x_,useClass:x_,deps:[e_,Ob,Ls,Ta,qu,ub]},{provide:_p,deps:[e_],useFactory:iy},{provide:ub,useClass:ub,deps:[[new h,db]]},{provide:qb,useClass:qb,deps:[]},pb,{provide:ug,useFactory:ny,deps:[]},{provide:gg,useFactory:ay,deps:[]},{provide:vb,useFactory:ry,deps:[[new m(vb),new h,new _]]}];function iy(t){let e=[];return t.onStable.subscribe(()=>{for(;e.length;)e.pop()()}),function(t){e.push(t)}}class sy{constructor(t){}}function cy(t,e,n,a,r,o){t|=1;const{matchedQueries:i,references:s,matchedQueryIds:c}=Xg(e);return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,flags:t,checkIndex:-1,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:i,matchedQueryIds:c,references:s,ngContentIndex:n,childCount:a,bindings:[],bindingFlags:0,outputs:[],element:{ns:null,name:null,attrs:null,template:o?nf(o):null,componentProvider:null,componentView:null,componentRendererType:null,publicProviders:null,allProviders:null,handleEvent:r||Eg},provider:null,text:null,query:null,ngContent:null}}function ly(t,e,n,a,r,o,i=[],s,c,l,d,u){l||(l=Eg);const{matchedQueries:g,references:f,matchedQueryIds:p}=Xg(n);let m=null,h=null;o&&([m,h]=df(o)),s=s||[];const b=new Array(s.length);for(let O=0;O<s.length;O++){const[t,e,n]=s[O],[a,r]=df(e);let o=void 0,i=void 0;switch(15&t){case 4:i=n;break;case 1:case 8:o=n}b[O]={flags:t,ns:a,name:r,nonMinifiedName:r,securityContext:o,suffix:i}}c=c||[];const _=new Array(c.length);for(let O=0;O<c.length;O++){const[t,e]=c[O];_[O]={type:0,target:t,eventName:e,propName:null}}const y=(i=i||[]).map(([t,e])=>{const[n,a]=df(t);return[n,a,e]});return u=function(t){if(t&&"$$undefined"===t.id){const e=null!=t.encapsulation&&t.encapsulation!==ht.None||t.styles.length||Object.keys(t.data).length;t.id=e?`c${Fg++}`:"$$empty"}return t&&"$$empty"===t.id&&(t=null),t||null}(u),d&&(e|=33554432),{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:t,flags:e|=1,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:g,matchedQueryIds:p,references:f,ngContentIndex:a,childCount:r,bindings:b,bindingFlags:uf(b),outputs:_,element:{ns:m,name:h,attrs:y,template:null,componentProvider:null,componentView:d||null,componentRendererType:u,publicProviders:null,allProviders:null,handleEvent:l||Eg},provider:null,text:null,query:null,ngContent:null}}function dy(t,e,n){const a=n.element,r=t.root.selectorOrNode,o=t.renderer;let i;if(t.parent||!r){i=a.name?o.createElement(a.name,a.ns):o.createComment("");const r=tf(t,e,n);r&&o.appendChild(r,i)}else i=o.selectRootElement(r,!!a.componentRendererType&&a.componentRendererType.encapsulation===ht.ShadowDom);if(a.attrs)for(let s=0;s<a.attrs.length;s++){const[t,e,n]=a.attrs[s];o.setAttribute(i,e,n,t)}return i}function uy(t,e,n,a){for(let i=0;i<n.outputs.length;i++){const s=n.outputs[i],c=gy(t,n.nodeIndex,(o=s.eventName,(r=s.target)?`${r}:${o}`:o));let l=s.target,d=t;"component"===s.target&&(l=null,d=e);const u=d.renderer.listen(l||a,s.eventName,c);t.disposables[n.outputIndex+i]=u}var r,o}function gy(t,e,n){return a=>Hg(t,e,n,a)}function fy(t,e,n,a){if(!Vg(t,e,n,a))return!1;const r=e.bindings[n],o=kg(t,e.nodeIndex),i=o.renderElement,s=r.name;switch(15&r.flags){case 1:!function(t,e,n,a,r,o){const i=e.securityContext;let s=i?t.root.sanitizer.sanitize(i,o):o;s=null!=s?s.toString():null;const c=t.renderer;null!=o?c.setAttribute(n,r,s,a):c.removeAttribute(n,r,a)}(t,r,i,r.ns,s,a);break;case 2:!function(t,e,n,a){const r=t.renderer;a?r.addClass(e,n):r.removeClass(e,n)}(t,i,s,a);break;case 4:!function(t,e,n,a,r){let o=t.root.sanitizer.sanitize(ur.STYLE,r);if(null!=o){o=o.toString();const t=e.suffix;null!=t&&(o+=t)}else o=null;const i=t.renderer;null!=o?i.setStyle(n,a,o):i.removeStyle(n,a)}(t,r,i,s,a);break;case 8:!function(t,e,n,a,r){const o=e.securityContext;let i=o?t.root.sanitizer.sanitize(o,r):r;t.renderer.setProperty(n,a,i)}(33554432&e.flags&&32&r.flags?o.componentView:t,r,i,s,a)}return!0}function py(t,e,n){let a=[];for(let r in n)a.push({propName:r,bindingType:n[r]});return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:-1,flags:t,childFlags:0,directChildFlags:0,childMatchedQueries:0,ngContentIndex:-1,matchedQueries:{},matchedQueryIds:0,references:{},childCount:0,bindings:[],bindingFlags:0,outputs:[],element:null,provider:null,text:null,query:{id:e,filterId:Jg(e),bindings:a},ngContent:null}}function my(t){const e=t.def.nodeMatchedQueries;for(;t.parent&&Zg(t);){let n=t.parentNodeDef;t=t.parent;const a=n.nodeIndex+n.childCount;for(let r=0;r<=a;r++){const a=t.def.nodes[r];67108864&a.flags&&536870912&a.flags&&(a.query.filterId&e)===a.query.filterId&&Ng(t,r).setDirty(),!(1&a.flags&&r+a.childCount<n.nodeIndex)&&67108864&a.childFlags&&536870912&a.childFlags||(r+=a.childCount)}}if(134217728&t.def.nodeFlags)for(let n=0;n<t.def.nodes.length;n++){const e=t.def.nodes[n];134217728&e.flags&&536870912&e.flags&&Ng(t,n).setDirty(),n+=e.childCount}}function hy(t,e){const n=Ng(t,e.nodeIndex);if(!n.dirty)return;let a,r=void 0;if(67108864&e.flags){const n=e.parent.parent;r=by(t,n.nodeIndex,n.nodeIndex+n.childCount,e.query,[]),a=Sg(t,e.parent.nodeIndex).instance}else 134217728&e.flags&&(r=by(t,0,t.def.nodes.length-1,e.query,[]),a=t.component);n.reset(r);const o=e.query.bindings;let i=!1;for(let s=0;s<o.length;s++){const t=o[s];let e;switch(t.bindingType){case 0:e=n.first;break;case 1:e=n,i=!0}a[t.propName]=e}i&&n.notifyOnChanges()}function by(t,e,n,a,r){for(let o=e;o<=n;o++){const e=t.def.nodes[o],n=e.matchedQueries[a.id];if(null!=n&&r.push(_y(t,e,n)),1&e.flags&&e.element.template&&(e.element.template.nodeMatchedQueries&a.filterId)===a.filterId){const n=kg(t,o);if((e.childMatchedQueries&a.filterId)===a.filterId&&(by(t,o+1,o+e.childCount,a,r),o+=e.childCount),16777216&e.flags){const t=n.viewContainer._embeddedViews;for(let e=0;e<t.length;e++){const o=t[e],i=Ug(o);i&&i===n&&by(o,0,o.def.nodes.length-1,a,r)}}const i=n.template._projectedViews;if(i)for(let t=0;t<i.length;t++){const e=i[t];by(e,0,e.def.nodes.length-1,a,r)}}(e.childMatchedQueries&a.filterId)!==a.filterId&&(o+=e.childCount)}return r}function _y(t,e,n){if(null!=n)switch(n){case 1:return kg(t,e.nodeIndex).renderElement;case 0:return new Vu(kg(t,e.nodeIndex).renderElement);case 2:return kg(t,e.nodeIndex).template;case 3:return kg(t,e.nodeIndex).viewContainer;case 4:return Sg(t,e.nodeIndex).instance}}function yy(t,e){return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:-1,flags:8,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:{},matchedQueryIds:0,references:{},ngContentIndex:t,childCount:0,bindings:[],bindingFlags:0,outputs:[],element:null,provider:null,text:null,query:null,ngContent:{index:e}}}function Oy(t,e,n){const a=tf(t,e,n);a&&of(t,n.ngContent.index,1,a,null,void 0)}function vy(t,e){return My(128,t,new Array(e+1))}function Cy(t,e){return My(32,t,new Array(e))}function Py(t,e){const n=Object.keys(e),a=n.length,r=new Array(a);for(let o=0;o<a;o++){const t=n[o];r[e[t]]=t}return My(64,t,r)}function My(t,e,n){const a=new Array(n.length);for(let r=0;r<n.length;r++){const t=n[r];a[r]={flags:8,name:t,ns:null,nonMinifiedName:t,securityContext:null,suffix:null}}return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:e,flags:t,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:{},matchedQueryIds:0,references:{},ngContentIndex:-1,childCount:0,bindings:a,bindingFlags:uf(a),outputs:[],element:null,provider:null,text:null,query:null,ngContent:null}}function xy(t,e,n){const a=new Array(n.length-1);for(let r=1;r<n.length;r++)a[r-1]={flags:8,name:null,ns:null,nonMinifiedName:null,securityContext:null,suffix:n[r]};return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:t,flags:2,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:{},matchedQueryIds:0,references:{},ngContentIndex:e,childCount:0,bindings:a,bindingFlags:8,outputs:[],element:null,provider:null,text:{prefix:n[0]},query:null,ngContent:null}}function wy(t,e,n){let a;const r=t.renderer;a=r.createText(n.text.prefix);const o=tf(t,e,n);return o&&r.appendChild(o,a),{renderText:a}}function Ty(t,e){return(null!=t?t.toString():"")+e.suffix}function ky(t,e,n,a){let r=0,o=0,i=0,s=0,c=0,l=null,d=null,u=!1,g=!1,f=null;for(let p=0;p<e.length;p++){const t=e[p];if(t.nodeIndex=p,t.parent=l,t.bindingIndex=r,t.outputIndex=o,t.renderParent=d,i|=t.flags,c|=t.matchedQueryIds,t.element){const e=t.element;e.publicProviders=l?l.element.publicProviders:Object.create(null),e.allProviders=e.publicProviders,u=!1,g=!1,t.element.template&&(c|=t.element.template.nodeMatchedQueries)}if(Iy(l,t,e.length),r+=t.bindings.length,o+=t.outputs.length,!d&&3&t.flags&&(f=t),20224&t.flags){u||(u=!0,l.element.publicProviders=Object.create(l.element.publicProviders),l.element.allProviders=l.element.publicProviders);const e=0!=(32768&t.flags);0==(8192&t.flags)||e?l.element.publicProviders[Lg(t.provider.token)]=t:(g||(g=!0,l.element.allProviders=Object.create(l.element.publicProviders)),l.element.allProviders[Lg(t.provider.token)]=t),e&&(l.element.componentProvider=t)}if(l?(l.childFlags|=t.flags,l.directChildFlags|=t.flags,l.childMatchedQueries|=t.matchedQueryIds,t.element&&t.element.template&&(l.childMatchedQueries|=t.element.template.nodeMatchedQueries)):s|=t.flags,t.childCount>0)l=t,Sy(t)||(d=t);else for(;l&&p===l.nodeIndex+l.childCount;){const t=l.parent;t&&(t.childFlags|=l.childFlags,t.childMatchedQueries|=l.childMatchedQueries),l=t,d=l&&Sy(l)?l.renderParent:l}}return{factory:null,nodeFlags:i,rootNodeFlags:s,nodeMatchedQueries:c,flags:t,nodes:e,updateDirectives:n||Eg,updateRenderer:a||Eg,handleEvent:(t,n,a,r)=>e[n].element.handleEvent(t,a,r),bindingCount:r,outputCount:o,lastRenderRootNode:f}}function Sy(t){return 0!=(1&t.flags)&&null===t.element.name}function Iy(t,e,n){const a=e.element&&e.element.template;if(a){if(!a.lastRenderRootNode)throw new Error("Illegal State: Embedded templates without nodes are not allowed!");if(a.lastRenderRootNode&&16777216&a.lastRenderRootNode.flags)throw new Error(`Illegal State: Last root node of a template can't have embedded views, at index ${e.nodeIndex}!`)}if(20224&e.flags&&0==(1&(t?t.flags:0)))throw new Error(`Illegal State: StaticProvider/Directive nodes need to be children of elements or anchors, at index ${e.nodeIndex}!`);if(e.query){if(67108864&e.flags&&(!t||0==(16384&t.flags)))throw new Error(`Illegal State: Content Query nodes need to be children of directives, at index ${e.nodeIndex}!`);if(134217728&e.flags&&t)throw new Error(`Illegal State: View Query nodes have to be top level nodes, at index ${e.nodeIndex}!`)}if(e.childCount){const a=t?t.nodeIndex+t.childCount:n-1;if(e.nodeIndex<=a&&e.nodeIndex+e.childCount>a)throw new Error(`Illegal State: childCount of node leads outside of parent, at index ${e.nodeIndex}!`)}}function Ny(t,e,n,a){const r=Ey(t.root,t.renderer,t,e,n);return Dy(r,t.component,a),Ly(r),r}function Ry(t,e,n){const a=Ey(t,t.renderer,null,null,e);return Dy(a,n,n),Ly(a),a}function Ay(t,e,n,a){const r=e.element.componentRendererType;let o;return o=r?t.root.rendererFactory.createRenderer(a,r):t.root.renderer,Ey(t.root,o,t,e.element.componentProvider,n)}function Ey(t,e,n,a,r){const o=new Array(r.nodes.length),i=r.outputCount?new Array(r.outputCount):null;return{def:r,parent:n,viewContainerParent:null,parentNodeDef:a,context:null,component:null,nodes:o,state:13,root:t,renderer:e,oldValues:new Array(r.bindingCount),disposables:i,initIndex:-1}}function Dy(t,e,n){t.component=e,t.context=n}function Ly(t){let e;$g(t)&&(e=kg(t.parent,t.parentNodeDef.parent.nodeIndex).renderElement);const n=t.def,a=t.nodes;for(let r=0;r<n.nodes.length;r++){const o=n.nodes[r];let i;switch(Ag.setCurrentNode(t,r),201347067&o.flags){case 1:const n=dy(t,e,o);let s=void 0;if(33554432&o.flags){const e=nf(o.element.componentView);s=Ag.createComponentView(t,o,e,n)}uy(t,s,o,n),i={renderElement:n,componentView:s,viewContainer:null,template:o.element.template?qf(t,o):void 0},16777216&o.flags&&(i.viewContainer=Af(t,o,i));break;case 2:i=wy(t,e,o);break;case 512:case 1024:case 2048:case 256:i=a[r],i||4096&o.flags||(i={instance:rp(t,o)});break;case 16:i={instance:op(t,o)};break;case 16384:i=a[r],i||(i={instance:ip(t,o)}),32768&o.flags&&Dy(kg(t,o.parent.nodeIndex).componentView,i.instance,i.instance);break;case 32:case 64:case 128:i={value:void 0};break;case 67108864:case 134217728:i=new $m;break;case 8:Oy(t,e,o),i=void 0}a[r]=i}Hy(t,By.CreateViewNodes),$y(t,201326592,268435456,0)}function qy(t){zy(t),Ag.updateDirectives(t,1),Uy(t,By.CheckNoChanges),Ag.updateRenderer(t,1),Hy(t,By.CheckNoChanges),t.state&=-97}function jy(t){1&t.state?(t.state&=-2,t.state|=2):t.state&=-3,xg(t,0,256),zy(t),Ag.updateDirectives(t,0),Uy(t,By.CheckAndUpdate),$y(t,67108864,536870912,0);let e=xg(t,256,512);pp(t,2097152|(e?1048576:0)),Ag.updateRenderer(t,0),Hy(t,By.CheckAndUpdate),$y(t,134217728,536870912,0),e=xg(t,512,768),pp(t,8388608|(e?4194304:0)),2&t.def.flags&&(t.state&=-9),t.state&=-97,xg(t,768,1024)}function Fy(t,e,n,a,r,o,i,s,c,l,d,u,g){return 0===n?function(t,e,n,a,r,o,i,s,c,l,d,u){switch(201347067&e.flags){case 1:return function(t,e,n,a,r,o,i,s,c,l,d,u){const g=e.bindings.length;let f=!1;return g>0&&fy(t,e,0,n)&&(f=!0),g>1&&fy(t,e,1,a)&&(f=!0),g>2&&fy(t,e,2,r)&&(f=!0),g>3&&fy(t,e,3,o)&&(f=!0),g>4&&fy(t,e,4,i)&&(f=!0),g>5&&fy(t,e,5,s)&&(f=!0),g>6&&fy(t,e,6,c)&&(f=!0),g>7&&fy(t,e,7,l)&&(f=!0),g>8&&fy(t,e,8,d)&&(f=!0),g>9&&fy(t,e,9,u)&&(f=!0),f}(t,e,n,a,r,o,i,s,c,l,d,u);case 2:return function(t,e,n,a,r,o,i,s,c,l,d,u){let g=!1;const f=e.bindings,p=f.length;if(p>0&&Vg(t,e,0,n)&&(g=!0),p>1&&Vg(t,e,1,a)&&(g=!0),p>2&&Vg(t,e,2,r)&&(g=!0),p>3&&Vg(t,e,3,o)&&(g=!0),p>4&&Vg(t,e,4,i)&&(g=!0),p>5&&Vg(t,e,5,s)&&(g=!0),p>6&&Vg(t,e,6,c)&&(g=!0),p>7&&Vg(t,e,7,l)&&(g=!0),p>8&&Vg(t,e,8,d)&&(g=!0),p>9&&Vg(t,e,9,u)&&(g=!0),g){let g=e.text.prefix;p>0&&(g+=Ty(n,f[0])),p>1&&(g+=Ty(a,f[1])),p>2&&(g+=Ty(r,f[2])),p>3&&(g+=Ty(o,f[3])),p>4&&(g+=Ty(i,f[4])),p>5&&(g+=Ty(s,f[5])),p>6&&(g+=Ty(c,f[6])),p>7&&(g+=Ty(l,f[7])),p>8&&(g+=Ty(d,f[8])),p>9&&(g+=Ty(u,f[9]));const m=Tg(t,e.nodeIndex).renderText;t.renderer.setValue(m,g)}return g}(t,e,n,a,r,o,i,s,c,l,d,u);case 16384:return function(t,e,n,a,r,o,i,s,c,l,d,u){const g=Sg(t,e.nodeIndex),f=g.instance;let p=!1,m=void 0;const h=e.bindings.length;return h>0&&zg(t,e,0,n)&&(p=!0,m=fp(t,g,e,0,n,m)),h>1&&zg(t,e,1,a)&&(p=!0,m=fp(t,g,e,1,a,m)),h>2&&zg(t,e,2,r)&&(p=!0,m=fp(t,g,e,2,r,m)),h>3&&zg(t,e,3,o)&&(p=!0,m=fp(t,g,e,3,o,m)),h>4&&zg(t,e,4,i)&&(p=!0,m=fp(t,g,e,4,i,m)),h>5&&zg(t,e,5,s)&&(p=!0,m=fp(t,g,e,5,s,m)),h>6&&zg(t,e,6,c)&&(p=!0,m=fp(t,g,e,6,c,m)),h>7&&zg(t,e,7,l)&&(p=!0,m=fp(t,g,e,7,l,m)),h>8&&zg(t,e,8,d)&&(p=!0,m=fp(t,g,e,8,d,m)),h>9&&zg(t,e,9,u)&&(p=!0,m=fp(t,g,e,9,u,m)),m&&f.ngOnChanges(m),65536&e.flags&&wg(t,256,e.nodeIndex)&&f.ngOnInit(),262144&e.flags&&f.ngDoCheck(),p}(t,e,n,a,r,o,i,s,c,l,d,u);case 32:case 64:case 128:return function(t,e,n,a,r,o,i,s,c,l,d,u){const g=e.bindings;let f=!1;const p=g.length;if(p>0&&Vg(t,e,0,n)&&(f=!0),p>1&&Vg(t,e,1,a)&&(f=!0),p>2&&Vg(t,e,2,r)&&(f=!0),p>3&&Vg(t,e,3,o)&&(f=!0),p>4&&Vg(t,e,4,i)&&(f=!0),p>5&&Vg(t,e,5,s)&&(f=!0),p>6&&Vg(t,e,6,c)&&(f=!0),p>7&&Vg(t,e,7,l)&&(f=!0),p>8&&Vg(t,e,8,d)&&(f=!0),p>9&&Vg(t,e,9,u)&&(f=!0),f){const f=Ig(t,e.nodeIndex);let m;switch(201347067&e.flags){case 32:m=new Array(g.length),p>0&&(m[0]=n),p>1&&(m[1]=a),p>2&&(m[2]=r),p>3&&(m[3]=o),p>4&&(m[4]=i),p>5&&(m[5]=s),p>6&&(m[6]=c),p>7&&(m[7]=l),p>8&&(m[8]=d),p>9&&(m[9]=u);break;case 64:m={},p>0&&(m[g[0].name]=n),p>1&&(m[g[1].name]=a),p>2&&(m[g[2].name]=r),p>3&&(m[g[3].name]=o),p>4&&(m[g[4].name]=i),p>5&&(m[g[5].name]=s),p>6&&(m[g[6].name]=c),p>7&&(m[g[7].name]=l),p>8&&(m[g[8].name]=d),p>9&&(m[g[9].name]=u);break;case 128:const t=n;switch(p){case 1:m=t.transform(n);break;case 2:m=t.transform(a);break;case 3:m=t.transform(a,r);break;case 4:m=t.transform(a,r,o);break;case 5:m=t.transform(a,r,o,i);break;case 6:m=t.transform(a,r,o,i,s);break;case 7:m=t.transform(a,r,o,i,s,c);break;case 8:m=t.transform(a,r,o,i,s,c,l);break;case 9:m=t.transform(a,r,o,i,s,c,l,d);break;case 10:m=t.transform(a,r,o,i,s,c,l,d,u)}}f.value=m}return f}(t,e,n,a,r,o,i,s,c,l,d,u);default:throw"unreachable"}}(t,e,a,r,o,i,s,c,l,d,u,g):function(t,e,n){switch(201347067&e.flags){case 1:return function(t,e,n){let a=!1;for(let r=0;r<n.length;r++)fy(t,e,r,n[r])&&(a=!0);return a}(t,e,n);case 2:return function(t,e,n){const a=e.bindings;let r=!1;for(let o=0;o<n.length;o++)Vg(t,e,o,n[o])&&(r=!0);if(r){let r="";for(let t=0;t<n.length;t++)r+=Ty(n[t],a[t]);r=e.text.prefix+r;const o=Tg(t,e.nodeIndex).renderText;t.renderer.setValue(o,r)}return r}(t,e,n);case 16384:return function(t,e,n){const a=Sg(t,e.nodeIndex),r=a.instance;let o=!1,i=void 0;for(let s=0;s<n.length;s++)zg(t,e,s,n[s])&&(o=!0,i=fp(t,a,e,s,n[s],i));return i&&r.ngOnChanges(i),65536&e.flags&&wg(t,256,e.nodeIndex)&&r.ngOnInit(),262144&e.flags&&r.ngDoCheck(),o}(t,e,n);case 32:case 64:case 128:return function(t,e,n){const a=e.bindings;let r=!1;for(let o=0;o<n.length;o++)Vg(t,e,o,n[o])&&(r=!0);if(r){const r=Ig(t,e.nodeIndex);let o;switch(201347067&e.flags){case 32:o=n;break;case 64:o={};for(let r=0;r<n.length;r++)o[a[r].name]=n[r];break;case 128:const t=n[0],e=n.slice(1);o=t.transform(...e)}r.value=o}return r}(t,e,n);default:throw"unreachable"}}(t,e,a)}function zy(t){const e=t.def;if(4&e.nodeFlags)for(let n=0;n<e.nodes.length;n++){const a=e.nodes[n];if(4&a.flags){const e=kg(t,n).template._projectedViews;if(e)for(let n=0;n<e.length;n++){const a=e[n];a.state|=32,Bg(a,t)}}else 0==(4&a.childFlags)&&(n+=a.childCount)}}function Vy(t,e,n,a,r,o,i,s,c,l,d,u,g){return 0===n?function(t,e,n,a,r,o,i,s,c,l,d,u){const g=e.bindings.length;g>0&&Gg(t,e,0,n),g>1&&Gg(t,e,1,a),g>2&&Gg(t,e,2,r),g>3&&Gg(t,e,3,o),g>4&&Gg(t,e,4,i),g>5&&Gg(t,e,5,s),g>6&&Gg(t,e,6,c),g>7&&Gg(t,e,7,l),g>8&&Gg(t,e,8,d),g>9&&Gg(t,e,9,u)}(t,e,a,r,o,i,s,c,l,d,u,g):function(t,e,n){for(let a=0;a<n.length;a++)Gg(t,e,a,n[a])}(t,e,a),!1}function Gy(t,e){if(Ng(t,e.nodeIndex).dirty)throw Cg(Ag.createDebugContext(t,e.nodeIndex),`Query ${e.query.id} not dirty`,`Query ${e.query.id} dirty`,0!=(1&t.state))}function Yy(t){if(!(128&t.state)){if(Uy(t,By.Destroy),Hy(t,By.Destroy),pp(t,131072),t.disposables)for(let e=0;e<t.disposables.length;e++)t.disposables[e]();!function(t){if(!(16&t.state))return;const e=Ug(t);if(e){const n=e.template._projectedViews;n&&(ut(n,n.indexOf(t)),Ag.dirtyParentQueries(t))}}(t),t.renderer.destroyNode&&function(t){const e=t.def.nodes.length;for(let n=0;n<e;n++){const e=t.def.nodes[n];1&e.flags?t.renderer.destroyNode(kg(t,n).renderElement):2&e.flags?t.renderer.destroyNode(Tg(t,n).renderText):(67108864&e.flags||134217728&e.flags)&&Ng(t,n).destroy()}}(t),$g(t)&&t.renderer.destroy(),t.state|=128}}const By=function(){var t={CreateViewNodes:0,CheckNoChanges:1,CheckNoChangesProjectedViews:2,CheckAndUpdate:3,CheckAndUpdateProjectedViews:4,Destroy:5};return t[t.CreateViewNodes]="CreateViewNodes",t[t.CheckNoChanges]="CheckNoChanges",t[t.CheckNoChangesProjectedViews]="CheckNoChangesProjectedViews",t[t.CheckAndUpdate]="CheckAndUpdate",t[t.CheckAndUpdateProjectedViews]="CheckAndUpdateProjectedViews",t[t.Destroy]="Destroy",t}();function Hy(t,e){const n=t.def;if(33554432&n.nodeFlags)for(let a=0;a<n.nodes.length;a++){const r=n.nodes[a];33554432&r.flags?Wy(kg(t,a).componentView,e):0==(33554432&r.childFlags)&&(a+=r.childCount)}}function Uy(t,e){const n=t.def;if(16777216&n.nodeFlags)for(let a=0;a<n.nodes.length;a++){const r=n.nodes[a];if(16777216&r.flags){const n=kg(t,a).viewContainer._embeddedViews;for(let t=0;t<n.length;t++)Wy(n[t],e)}else 0==(16777216&r.childFlags)&&(a+=r.childCount)}}function Wy(t,e){const n=t.state;switch(e){case By.CheckNoChanges:0==(128&n)&&(12==(12&n)?qy(t):64&n&&Ky(t,By.CheckNoChangesProjectedViews));break;case By.CheckNoChangesProjectedViews:0==(128&n)&&(32&n?qy(t):64&n&&Ky(t,e));break;case By.CheckAndUpdate:0==(128&n)&&(12==(12&n)?jy(t):64&n&&Ky(t,By.CheckAndUpdateProjectedViews));break;case By.CheckAndUpdateProjectedViews:0==(128&n)&&(32&n?jy(t):64&n&&Ky(t,e));break;case By.Destroy:Yy(t);break;case By.CreateViewNodes:Ly(t)}}function Ky(t,e){Uy(t,e),Hy(t,e)}function $y(t,e,n,a){if(!(t.def.nodeFlags&e&&t.def.nodeFlags&n))return;const r=t.def.nodes.length;for(let o=0;o<r;o++){const r=t.def.nodes[o];if(r.flags&e&&r.flags&n)switch(Ag.setCurrentNode(t,r.nodeIndex),a){case 0:hy(t,r);break;case 1:Gy(t,r)}r.childFlags&e&&r.childFlags&n||(o+=r.childCount)}}let Zy=!1;function Jy(){if(Zy)return;Zy=!0;const t=za()?{setCurrentNode:OO,createRootView:Qy,createEmbeddedView:eO,createComponentView:nO,createNgModuleRef:aO,overrideProvider:sO,overrideComponentView:cO,clearOverrides:lO,checkAndUpdateView:fO,checkNoChangesView:pO,destroyView:mO,createDebugContext:(t,e)=>new kO(t,e),handleEvent:vO,updateDirectives:CO,updateRenderer:PO}:{setCurrentNode:()=>{},createRootView:Xy,createEmbeddedView:Ny,createComponentView:Ay,createNgModuleRef:Bf,overrideProvider:Eg,overrideComponentView:Eg,clearOverrides:Eg,checkAndUpdateView:jy,checkNoChangesView:qy,destroyView:Yy,createDebugContext:(t,e)=>new kO(t,e),handleEvent:(t,e,n,a)=>t.def.handleEvent(t,e,n,a),updateDirectives:(t,e)=>t.def.updateDirectives(0===e?uO:gO,t),updateRenderer:(t,e)=>t.def.updateRenderer(0===e?uO:gO,t)};Ag.setCurrentNode=t.setCurrentNode,Ag.createRootView=t.createRootView,Ag.createEmbeddedView=t.createEmbeddedView,Ag.createComponentView=t.createComponentView,Ag.createNgModuleRef=t.createNgModuleRef,Ag.overrideProvider=t.overrideProvider,Ag.overrideComponentView=t.overrideComponentView,Ag.clearOverrides=t.clearOverrides,Ag.checkAndUpdateView=t.checkAndUpdateView,Ag.checkNoChangesView=t.checkNoChangesView,Ag.destroyView=t.destroyView,Ag.resolveDep=up,Ag.createDebugContext=t.createDebugContext,Ag.handleEvent=t.handleEvent,Ag.updateDirectives=t.updateDirectives,Ag.updateRenderer=t.updateRenderer,Ag.dirtyParentQueries=my}function Xy(t,e,n,a,r,o){const i=r.injector.get(Ku);return Ry(tO(t,r,i,e,n),a,o)}function Qy(t,e,n,a,r,o){const i=r.injector.get(Ku),s=tO(t,r,new RO(i),e,n),c=dO(a);return IO(hO.create,Ry,null,[s,c,o])}function tO(t,e,n,a,r){const o=e.injector.get(gr),i=e.injector.get(Ta),s=n.createRenderer(null,null);return{ngModule:e,injector:t,projectableNodes:a,selectorOrNode:r,sanitizer:o,rendererFactory:n,renderer:s,errorHandler:i}}function eO(t,e,n,a){const r=dO(n);return IO(hO.create,Ny,null,[t,e,r,a])}function nO(t,e,n,a){return n=iO.get(e.element.componentProvider.provider.token)||dO(n),IO(hO.create,Ay,null,[t,e,n,a])}function aO(t,e,n,a){return Bf(t,e,n,function(t){const{hasOverrides:e,hasDeprecatedOverrides:n}=function(t){let e=!1,n=!1;return 0===rO.size?{hasOverrides:e,hasDeprecatedOverrides:n}:(t.providers.forEach(t=>{const a=rO.get(t.token);3840&t.flags&&a&&(e=!0,n=n||a.deprecatedBehavior)}),t.modules.forEach(t=>{oO.forEach((a,r)=>{T(r).providedIn===t&&(e=!0,n=n||a.deprecatedBehavior)})}),{hasOverrides:e,hasDeprecatedOverrides:n})}(t);return e?(function(t){for(let e=0;e<t.providers.length;e++){const a=t.providers[e];n&&(a.flags|=4096);const r=rO.get(a.token);r&&(a.flags=-3841&a.flags|r.flags,a.deps=Qg(r.deps),a.value=r.value)}if(oO.size>0){let e=new Set(t.modules);oO.forEach((a,r)=>{if(e.has(T(r).providedIn)){let e={token:r,flags:a.flags|(n?4096:0),deps:Qg(a.deps),value:a.value,index:t.providers.length};t.providers.push(e),t.providersByKey[Lg(r)]=e}})}}(t=t.factory(()=>Eg)),t):t}(a))}const rO=new Map,oO=new Map,iO=new Map;function sO(t){let e;rO.set(t.token,t),"function"==typeof t.token&&(e=T(t.token))&&"function"==typeof e.providedIn&&oO.set(t.token,t)}function cO(t,e){const n=nf(If(e)),a=nf(n.nodes[0].element.componentView);iO.set(t,a)}function lO(){rO.clear(),oO.clear(),iO.clear()}function dO(t){if(0===rO.size)return t;const e=function(t){const e=[];let n=null;for(let a=0;a<t.nodes.length;a++){const r=t.nodes[a];1&r.flags&&(n=r),n&&3840&r.flags&&rO.has(r.provider.token)&&(e.push(n.nodeIndex),n=null)}return e}(t);if(0===e.length)return t;t=t.factory(()=>Eg);for(let a=0;a<e.length;a++)n(t,e[a]);return t;function n(t,e){for(let n=e+1;n<t.nodes.length;n++){const e=t.nodes[n];if(1&e.flags)return;if(3840&e.flags){const t=e.provider,n=rO.get(t.token);n&&(e.flags=-3841&e.flags|n.flags,t.deps=Qg(n.deps),t.value=n.value)}}}}function uO(t,e,n,a,r,o,i,s,c,l,d,u,g){const f=t.def.nodes[e];return Fy(t,f,n,a,r,o,i,s,c,l,d,u,g),224&f.flags?Ig(t,e).value:void 0}function gO(t,e,n,a,r,o,i,s,c,l,d,u,g){const f=t.def.nodes[e];return Vy(t,f,n,a,r,o,i,s,c,l,d,u,g),224&f.flags?Ig(t,e).value:void 0}function fO(t){return IO(hO.detectChanges,jy,null,[t])}function pO(t){return IO(hO.checkNoChanges,qy,null,[t])}function mO(t){return IO(hO.destroy,Yy,null,[t])}const hO=function(){var t={create:0,detectChanges:1,checkNoChanges:2,destroy:3,handleEvent:4};return t[t.create]="create",t[t.detectChanges]="detectChanges",t[t.checkNoChanges]="checkNoChanges",t[t.destroy]="destroy",t[t.handleEvent]="handleEvent",t}();let bO,_O,yO;function OO(t,e){_O=t,yO=e}function vO(t,e,n,a){return OO(t,e),IO(hO.handleEvent,t.def.handleEvent,null,[t,e,n,a])}function CO(t,e){if(128&t.state)throw Mg(hO[bO]);return OO(t,wO(t,0)),t.def.updateDirectives((function(t,n,a,...r){const o=t.def.nodes[n];return 0===e?MO(t,o,a,r):xO(t,o,a,r),16384&o.flags&&OO(t,wO(t,n)),224&o.flags?Ig(t,o.nodeIndex).value:void 0}),t)}function PO(t,e){if(128&t.state)throw Mg(hO[bO]);return OO(t,TO(t,0)),t.def.updateRenderer((function(t,n,a,...r){const o=t.def.nodes[n];return 0===e?MO(t,o,a,r):xO(t,o,a,r),3&o.flags&&OO(t,TO(t,n)),224&o.flags?Ig(t,o.nodeIndex).value:void 0}),t)}function MO(t,e,n,a){if(Fy(t,e,n,...a)){const i=1===n?a[0]:a;if(16384&e.flags){const n={};for(let t=0;t<e.bindings.length;t++){const a=e.bindings[t],s=i[t];8&a.flags&&(n[(r=a.nonMinifiedName,o=void 0,o=r.replace(/[$@]/g,"_"),`ng-reflect-${r=o.replace(xr,(...t)=>"-"+t[1].toLowerCase())}`)]=wr(s))}const a=e.parent,s=kg(t,a.nodeIndex).renderElement;if(a.element.name)for(let e in n){const a=n[e];null!=a?t.renderer.setAttribute(s,e,a):t.renderer.removeAttribute(s,e)}else t.renderer.setValue(s,`bindings=${JSON.stringify(n,null,2)}`)}}var r,o}function xO(t,e,n,a){Vy(t,e,n,...a)}function wO(t,e){for(let n=e;n<t.def.nodes.length;n++){const e=t.def.nodes[n];if(16384&e.flags&&e.bindings&&e.bindings.length)return n}return null}function TO(t,e){for(let n=e;n<t.def.nodes.length;n++){const e=t.def.nodes[n];if(3&e.flags&&e.bindings&&e.bindings.length)return n}return null}class kO{constructor(t,e){this.view=t,this.nodeIndex=e,null==e&&(this.nodeIndex=e=0),this.nodeDef=t.def.nodes[e];let n=this.nodeDef,a=t;for(;n&&0==(1&n.flags);)n=n.parent;if(!n)for(;!n&&a;)n=Wg(a),a=a.parent;this.elDef=n,this.elView=a}get elOrCompView(){return kg(this.elView,this.elDef.nodeIndex).componentView||this.view}get injector(){return Ff(this.elView,this.elDef)}get component(){return this.elOrCompView.component}get context(){return this.elOrCompView.context}get providerTokens(){const t=[];if(this.elDef)for(let e=this.elDef.nodeIndex+1;e<=this.elDef.nodeIndex+this.elDef.childCount;e++){const n=this.elView.def.nodes[e];20224&n.flags&&t.push(n.provider.token),e+=n.childCount}return t}get references(){const t={};if(this.elDef){SO(this.elView,this.elDef,t);for(let e=this.elDef.nodeIndex+1;e<=this.elDef.nodeIndex+this.elDef.childCount;e++){const n=this.elView.def.nodes[e];20224&n.flags&&SO(this.elView,n,t),e+=n.childCount}}return t}get componentRenderElement(){const t=function(t){for(;t&&!$g(t);)t=t.parent;return t.parent?kg(t.parent,Wg(t).nodeIndex):null}(this.elOrCompView);return t?t.renderElement:void 0}get renderNode(){return 2&this.nodeDef.flags?Kg(this.view,this.nodeDef):Kg(this.elView,this.elDef)}logError(t,...e){let n,a;2&this.nodeDef.flags?(n=this.view.def,a=this.nodeDef.nodeIndex):(n=this.elView.def,a=this.elDef.nodeIndex);const r=function(t,e){let n=-1;for(let a=0;a<=e;a++)3&t.nodes[a].flags&&n++;return n}(n,a);let o=-1;n.factory(()=>(o++,o===r?t.error.bind(t,...e):Eg)),o<r&&(t.error("Illegal state: the ViewDefinitionFactory did not call the logger!"),t.error(...e))}}function SO(t,e,n){for(let a in e.references)n[a]=_y(t,e,e.references[a])}function IO(t,e,n,a){const r=bO,o=_O,i=yO;try{bO=t;const s=e.apply(n,a);return _O=o,yO=i,bO=r,s}catch(s){if(Ma(s)||!_O)throw s;throw function(t,e){return t instanceof Error||(t=new Error(t.toString())),Pg(t,e),t}(s,NO())}}function NO(){return _O?new kO(_O,yO):null}class RO{constructor(t){this.delegate=t}createRenderer(t,e){return new AO(this.delegate.createRenderer(t,e))}begin(){this.delegate.begin&&this.delegate.begin()}end(){this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.delegate.whenRenderingDone?this.delegate.whenRenderingDone():Promise.resolve(null)}}class AO{constructor(t){this.delegate=t,this.debugContextFactory=NO,this.data=this.delegate.data}createDebugContext(t){return this.debugContextFactory(t)}destroyNode(t){const e=J_(t);!function(t){$_.delete(t.nativeNode)}(e),e instanceof F_&&(e.listeners.length=0),this.delegate.destroyNode&&this.delegate.destroyNode(t)}destroy(){this.delegate.destroy()}createElement(t,e){const n=this.delegate.createElement(t,e),a=this.createDebugContext(n);if(a){const e=new z_(n,null,a);e.name=t,X_(e)}return n}createComment(t){const e=this.delegate.createComment(t),n=this.createDebugContext(e);return n&&X_(new F_(e,null,n)),e}createText(t){const e=this.delegate.createText(t),n=this.createDebugContext(e);return n&&X_(new F_(e,null,n)),e}appendChild(t,e){const n=J_(t),a=J_(e);n&&a&&n instanceof z_&&n.addChild(a),this.delegate.appendChild(t,e)}insertBefore(t,e,n){const a=J_(t),r=J_(e),o=J_(n);a&&r&&a instanceof z_&&a.insertBefore(o,r),this.delegate.insertBefore(t,e,n)}removeChild(t,e){const n=J_(t),a=J_(e);n&&a&&n instanceof z_&&n.removeChild(a),this.delegate.removeChild(t,e)}selectRootElement(t,e){const n=this.delegate.selectRootElement(t,e),a=NO();return a&&X_(new z_(n,null,a)),n}setAttribute(t,e,n,a){const r=J_(t);r&&r instanceof z_&&(r.attributes[a?a+":"+e:e]=n),this.delegate.setAttribute(t,e,n,a)}removeAttribute(t,e,n){const a=J_(t);a&&a instanceof z_&&(a.attributes[n?n+":"+e:e]=null),this.delegate.removeAttribute(t,e,n)}addClass(t,e){const n=J_(t);n&&n instanceof z_&&(n.classes[e]=!0),this.delegate.addClass(t,e)}removeClass(t,e){const n=J_(t);n&&n instanceof z_&&(n.classes[e]=!1),this.delegate.removeClass(t,e)}setStyle(t,e,n,a){const r=J_(t);r&&r instanceof z_&&(r.styles[e]=n),this.delegate.setStyle(t,e,n,a)}removeStyle(t,e,n){const a=J_(t);a&&a instanceof z_&&(a.styles[e]=null),this.delegate.removeStyle(t,e,n)}setProperty(t,e,n){const a=J_(t);a&&a instanceof z_&&(a.properties[e]=n),this.delegate.setProperty(t,e,n)}listen(t,e,n){if("string"!=typeof t){const a=J_(t);a&&a.listeners.push(new j_(e,n))}return this.delegate.listen(t,e,n)}parentNode(t){return this.delegate.parentNode(t)}nextSibling(t){return this.delegate.nextSibling(t)}setValue(t,e){return this.delegate.setValue(t,e)}}function EO(t){return Jy(),Ag.overrideProvider(t)}function DO(t,e){return Jy(),Ag.overrideComponentView(t,e)}function LO(){return Jy(),Ag.clearOverrides()}function qO(t,e,n){return new jO(t,e,n)}class jO extends it{constructor(t,e,n){super(),this.moduleType=t,this._bootstrapComponents=e,this._ngModuleDefFactory=n}create(t){Jy();const e=function(t){const e=Array.from(t.providers),n=Array.from(t.modules),a={};for(const r in t.providersByKey)a[r]=t.providersByKey[r];return{factory:t.factory,isRoot:t.isRoot,providers:e,modules:n,providersByKey:a}}(nf(this._ngModuleDefFactory));return Ag.createNgModuleRef(this.moduleType,t||Ls.NULL,this._bootstrapComponents,e)}}},"8YOa":function(t,e,n){var a=n("0BK2"),r=n("hh1v"),o=n("UTVS"),i=n("m/L8").f,s=n("kOOl"),c=n("uy83"),l=s("meta"),d=0,u=Object.isExtensible||function(){return!0},g=function(t){i(t,l,{value:{objectID:"O"+ ++d,weakData:{}}})},f=t.exports={REQUIRED:!1,fastKey:function(t,e){if(!r(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!o(t,l)){if(!u(t))return"F";if(!e)return"E";g(t)}return t[l].objectID},getWeakData:function(t,e){if(!o(t,l)){if(!u(t))return!0;if(!e)return!1;g(t)}return t[l].weakData},onFreeze:function(t){return c&&f.REQUIRED&&u(t)&&!o(t,l)&&g(t),t}};a[l]=!0},"8iEZ":function(t,e,n){var a=n("mrSG").__decorate;Object.defineProperty(e,"__esModule",{value:!0});var r=n("8Y7J");e.DataTableColumnCellDirective=function(){return a([r.Directive({selector:"[ngx-datatable-cell-template]"})],(function(t){this.template=t}))}()},"8j5A":function(t,e,n){"use strict";n.r(e),e.default='<xliff xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 http://docs.oasis-open.org/xliff/v1.2/os/xliff-core-1.2-strict.xsd" xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">\n  <file original="ng2.template" datatype="plaintext" source-language="en-US" target-language="it-IT">\n    <body>\n      <trans-unit id="319e0745bcbc132451569294fa2fa21bf10f555a" datatype="html">\n        <source>Toggle navigation</source>\n        <target>Attiva/Disattiva barra di navigazione</target>\n      </trans-unit>\n      <trans-unit id="f65253954b66e929a8b4d5ecaf61f9129f8cec64" datatype="html">\n        <source>Dashboard</source>\n        <target>Dashboard</target>\n      </trans-unit>\n      <trans-unit id="f4d1dd59b039ad818d9da7e29a773e10e41d9821" datatype="html">\n        <source>Cluster</source>\n        <target>Cluster</target>\n      </trans-unit>\n      <trans-unit id="099b441d49333b3c6d30b36dc0a4763e64c78920" datatype="html">\n        <source>Hosts</source>\n        <target>Host</target>\n      </trans-unit>\n      <trans-unit id="2cc3ecb16e348fcf2f2fbfd2f997d4d22f37475b" datatype="html">\n        <source>Inventory</source>\n        <target>Inventory</target>\n      </trans-unit>\n      <trans-unit id="624f596cc3320f5e0a0d7c7346c364e5af9bdd8c" datatype="html">\n        <source>Monitors</source>\n        <target>Monitor</target>\n      </trans-unit>\n      <trans-unit id="419d940613972cc3fae9c8ea0a4306dbf80616e5" datatype="html">\n        <source>Services</source>\n        <target>Servizi</target>\n      </trans-unit>\n      <trans-unit id="1a9183778f2c6473d7ccb080f651caa01faaf70c" datatype="html">\n        <source>OSDs</source>\n        <target>OSD</target>\n      </trans-unit>\n      <trans-unit id="4a41f824a35ba01d5bd7be61aa06b3e8145209d0" datatype="html">\n        <source>Configuration</source>\n        <target>Configurazione</target>\n      </trans-unit>\n      <trans-unit id="8c95898abff46bfac3ed6eb2afef74597e60b15c" datatype="html">\n        <source>CRUSH map</source>\n        <target>Mappa CRUSH</target>\n      </trans-unit>\n      <trans-unit id="33da4dbeb076159510801ea764a218fd341269d2" datatype="html">\n        <source>Manager modules</source>\n        <target>Moduli Manager</target>\n      </trans-unit>\n      <trans-unit id="eb3d5aefff38a814b76da74371cbf02c0789a1ef" datatype="html">\n        <source>Logs</source>\n        <target>Log</target>\n      </trans-unit>\n      <trans-unit id="9fe218829514884cdd0ca2300573a4e0428c324f" datatype="html">\n        <source>Alerts</source>\n        <target>Avvisi</target>\n      </trans-unit>\n      <trans-unit id="aa0c44aa1e5727061baa91e954f77e2f5f9a37c9" datatype="html">\n        <source>Silences</source>\n        <target>Silences</target>\n      </trans-unit>\n      <trans-unit id="92899fa68e8ca108912163ff58edc8540e453787" datatype="html">\n        <source>Pools</source>\n        <target>Pool</target>\n      </trans-unit>\n      <trans-unit id="7f5d0c10614e8a34f0e2dad33a0568277c50cf69" datatype="html">\n        <source>Block</source>\n        <target>Blocco</target>\n      </trans-unit>\n      <trans-unit id="b73f7f5060fb22a1e9ec462b1bb02493fa3ab866" datatype="html">\n        <source>Images</source>\n        <target>Immagini</target>\n      </trans-unit>\n      <trans-unit id="3c2562ba992127203dcfd014010b03cb7b8113c6" datatype="html">\n        <source>Mirroring</source>\n        <target>Esecuzione della copia speculare</target>\n      </trans-unit>\n      <trans-unit id="811c241d56601b91ef26735b770e64428089b950" datatype="html">\n        <source>iSCSI</source>\n        <target>iSCSI </target>\n      </trans-unit>\n      <trans-unit id="a24eabd99ea5af20f5f94c4484649cd30370042b" datatype="html">\n        <source>NFS</source>\n        <target>NFS</target>\n      </trans-unit>\n      <trans-unit id="a4eff72d97b7ced051398d581f10968218057ddc" datatype="html">\n        <source>Filesystems</source>\n        <target>File system</target>\n      </trans-unit>\n      <trans-unit id="2190548d236ca5f7bc7ab2bca334b860c5ff2ad4" datatype="html">\n        <source>Object Gateway</source>\n        <target>Object Gateway</target>\n      </trans-unit>\n      <trans-unit id="9e24f9e2d42104ffc01599db4d566d1cc518f9e6" datatype="html">\n        <source>Daemons</source>\n        <target>Daemon</target>\n      </trans-unit>\n      <trans-unit id="4d13a9cd5ed3dcee0eab22cb25198d43886942be" datatype="html">\n        <source>Users</source>\n        <target>Utenti</target>\n      </trans-unit>\n      <trans-unit id="9515520496da83179d8b08132f00f575512a1f40" datatype="html">\n        <source>Buckets</source>\n        <target>Compartimenti</target>\n      </trans-unit>\n      <trans-unit id="797f8214e8148f4bf0d244baaa7341706b419549" datatype="html">\n        <source>Retrieving data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>. Please wait...\n        </source>\n        <target>Retrieving data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>. Please wait...\n        </target>\n      </trans-unit>\n      <trans-unit id="5a870dc77b9f6f33ee671ea2d856021276933339" datatype="html">\n        <source>Displaying previously cached data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>\n  for \n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n        </source>\n        <target>Displaying previously cached data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>\n  for \n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="ae580202919844531361ba2308287226ff74a584" datatype="html">\n        <source>Could not load data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n  Please check the cluster health.\n        </source>\n        <target>Could not load data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n  Please check the cluster health.\n        </target>\n      </trans-unit>\n      <trans-unit id="7e52e9143145e1db5146258de81eae018a407b31" datatype="html">\n        <source>Clear notifications</source>\n        <target>Clear notifications</target>\n      </trans-unit>\n      <trans-unit id="b0b07bb6b7ff21ede439dd04eaf8872d1ecb84d8" datatype="html">\n        <source>Remove notification</source>\n        <target>Remove notification</target>\n      </trans-unit>\n      <trans-unit id="e17a1d75189da843f541f7764f188f2b19a97df2" datatype="html">\n        <source>Duration:</source>\n        <target>Duration:</target>\n      </trans-unit>\n      <trans-unit id="0d4b37c6675c5b436a54c43d6716eec835e1aa7f" datatype="html">\n        <source>There are no notifications.</source>\n        <target>There are no notifications.</target>\n      </trans-unit>\n      <trans-unit id="0a23e992f6c6e169a38b2b7338b4e5e803b52e0d" datatype="html">\n        <source>Tasks and Notifications</source>\n        <target>Tasks and Notifications</target>\n      </trans-unit>\n      <trans-unit id="3fb5709e10166cbc85970cbff103db227dbeb813" datatype="html">\n        <source>Select a Language</source>\n        <target>Selezionare una lingua</target>\n      </trans-unit>\n      <trans-unit id="c5109325fb160b543f71a51e7511c00575057431" datatype="html">\n        <source>Loading panel data...</source>\n        <target>Caricamento pannello dati in corso...</target>\n      </trans-unit>\n      <trans-unit id="8ca12411f890ab8b0a9216418e2b8f5ea7d2441a" datatype="html">\n        <source>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the monitoring functionality.\n        </source>\n        <target>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the monitoring functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="160a9e80dc089792df42e2400b1e81b9e7025aa7" datatype="html">\n        <source>Grafana Dashboard doesn\'t exist. Please refer to\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  add dashboards to Grafana.\n        </source>\n        <target>Grafana Dashboard doesn\'t exist. Please refer to\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  add dashboards to Grafana.\n        </target>\n      </trans-unit>\n      <trans-unit id="4e11830040bd64804a0555de76f291d5832772d4" datatype="html">\n        <source>Grafana Time Picker</source>\n        <target>Selezione ora di Grafana</target>\n      </trans-unit>\n      <trans-unit id="238c1ba845dd7330e8088165275919a1debf1ca3" datatype="html">\n        <source>Reset Settings</source>\n        <target>Impostazioni di ripristino</target>\n      </trans-unit>\n      <trans-unit id="c8d1785038d461ec66b5799db21864182b35900a" datatype="html">\n        <source>Refresh</source>\n        <target>Refresh</target>\n      </trans-unit>\n      <trans-unit id="6c947210e2d162b6225083d18820ab602f58cd2d" datatype="html">\n        <source>Remove the custom configuration value. The default configuration will be inherited and used instead.</source>\n        <target>Remove the custom configuration value. The default configuration will be inherited and used instead.</target>\n      </trans-unit>\n      <trans-unit id="454ee9cb60b00446a8fb147fd2cc5eb836320586" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ option.maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ option.maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="7fc8a22825131e028336f60ef909ccbd96059703" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ option.minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ option.minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="cda31dbd724cf5f4fa7a4274d9120651490c8a8c" datatype="html">\n        <source>Back</source>\n        <target>Indietro</target>\n      </trans-unit>\n      <trans-unit id="012741ee52b3c050e4a977c37cc2334f7974f141" datatype="html">\n        <source>Failed to load data.</source>\n        <target>Non è stato possibile caricare i dati.</target>\n      </trans-unit>\n      <trans-unit id="80cc9a12d4bf6fe454ed94b379eeaf915f920bb7" datatype="html">\n        <source>selected</source>\n        <target>selezionato</target>\n        <note>X selected</note>\n      </trans-unit>\n      <trans-unit id="0cb77511a9a148e05b9adf36cc07269956fbb29d" datatype="html">\n        <source>found</source>\n        <target>trovato</target>\n        <note>X found</note>\n      </trans-unit>\n      <trans-unit id="79347388740c50b7ac97e144c2494bb62912f312" datatype="html">\n        <source>total</source>\n        <target>totale</target>\n        <note>X total</note>\n      </trans-unit>\n      <trans-unit id="cff1428d10d59d14e45edec3c735a27b5482db59" datatype="html">\n        <source>Name</source>\n        <target>Nome</target>\n      </trans-unit>\n      <trans-unit id="eec715de352a6b114713b30b640d319fa78207a0" datatype="html">\n        <source>Description</source>\n        <target>Descrizione</target>\n      </trans-unit>\n      <trans-unit id="4ad112ce9bcd55dfd137792a86afe1b5a5b13cf8" datatype="html">\n        <source>Long description</source>\n        <target>Descrizione lunga</target>\n      </trans-unit>\n      <trans-unit id="ff7cee38a2259526c519f878e71b964f41db4348" datatype="html">\n        <source>Default</source>\n        <target>Default</target>\n      </trans-unit>\n      <trans-unit id="33e1c1d9fc05ca3f62fcc8a1170fc31ebae4229c" datatype="html">\n        <source>Daemon default</source>\n        <target>Default del daemon</target>\n      </trans-unit>\n      <trans-unit id="809b0c848932a41318f77a2aace904ef429c13f4" datatype="html">\n        <source>Values</source>\n        <target>Valori</target>\n      </trans-unit>\n      <trans-unit id="82029b6db704c56a2aa3e82ac555b8655356b077" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8ed8b3967a7326b81b191c9f490006e6a6777a9a" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="52c9a103b812f258bcddc3d90a6e3f46871d25fe" datatype="html">\n        <source>Save</source>\n        <target>Salva</target>\n      </trans-unit>\n      <trans-unit id="738de688b22fba5d0dc7a5e549996838dddad0ee" datatype="html">\n        <source>CRUSH map viewer</source>\n        <target>Visualizzatore mappa CRUSH</target>\n      </trans-unit>\n      <trans-unit id="94516fa213706c67ce5a5b5765681d7fb032033a" datatype="html">\n        <source>Loading...</source>\n        <target>Caricamento in corso...</target>\n      </trans-unit>\n      <trans-unit id="formTitle" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </target>\n        <note>form title</note>\n      </trans-unit>\n      <trans-unit id="9a541ec1a4319fffc16ad3b3ab2c2b6d251a829d" datatype="html">\n        <source>Hostname</source>\n        <target>Nome host</target>\n      </trans-unit>\n      <trans-unit id="7cbdabcece469fab89cfa687ab152bca18b97498" datatype="html">\n        <source>This field is required.</source>\n        <target>Questo campo è obbligatorio.</target>\n      </trans-unit>\n      <trans-unit id="1b3f5e5291541678f7afa49d28fad5ca848a8061" datatype="html">\n        <source>The chosen hostname is already in use.</source>\n        <target>The chosen hostname is already in use.</target>\n      </trans-unit>\n      <trans-unit id="formActionButton" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </target>\n        <note>form action button</note>\n      </trans-unit>\n      <trans-unit id="6110699a3562eeb15371063c0cf7f6bfd88a0209" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemNames[0] }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemNames[0] }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>?\n        </target>\n      </trans-unit>\n      <trans-unit id="549859e511ba5af0ea03fcaa620c472f08038969" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected items?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected items?\n        </target>\n      </trans-unit>\n      <trans-unit id="54839ebc827b73c9dc4e1df731c6d36a85036af7" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected \n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected \n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>?\n        </target>\n      </trans-unit>\n      <trans-unit id="2be8b7f04f0104d3fad90d079d8202b74f758b9a" datatype="html">\n        <source>Yes, I am sure.</source>\n        <target>Sì.</target>\n      </trans-unit>\n      <trans-unit id="d7b35c384aecd25a516200d6921836374613dfe7" datatype="html">\n        <source>Cancel</source>\n        <target>Annulla</target>\n      </trans-unit>\n      <trans-unit id="40661476cb24c89d8b06614998e31d5fbe84eeb6" datatype="html">\n        <source>Hosts List</source>\n        <target>Elenco degli host</target>\n      </trans-unit>\n      <trans-unit id="5e7f4b1ca49e8d217bd0e12c6f7d6b6a2ade2c18" datatype="html">\n        <source>Overall Performance</source>\n        <target>Prestazioni complessive</target>\n      </trans-unit>\n      <trans-unit id="6bc15dc1a621b6ff7378db7fd3ac10b2a2627c77" datatype="html">\n        <source>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the orchestrator functionality.\n        </source>\n        <target>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the orchestrator functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="3e24569eca61d598c8b01defbbbb1fa8bd5222bc" datatype="html">\n        <source>Devices</source>\n        <target>Devices</target>\n      </trans-unit>\n      <trans-unit id="e6d57f36aa2bad303c8a8ee944b9bd7fae3c8c26" datatype="html">\n        <source>No entries found</source>\n        <target>Nessuna voce trovata</target>\n      </trans-unit>\n      <trans-unit id="d556ab48a65722b400e497f61737f553ee0f89e2" datatype="html">\n        <source>Cluster Logs</source>\n        <target>Log dei cluster</target>\n      </trans-unit>\n      <trans-unit id="5f966baffd188be0e8adc2d7067b86e55fc9b9de" datatype="html">\n        <source>Audit Logs</source>\n        <target>Log delle revisioni</target>\n      </trans-unit>\n      <trans-unit id="4193c9eb868aeec119b78a14795241e0aa5e8b60" datatype="html">\n        <source>Priority:</source>\n        <target>Priority:</target>\n      </trans-unit>\n      <trans-unit id="1d78ca51eab260ce3fd917d39190d64df5229b6e" datatype="html">\n        <source>Keyword:</source>\n        <target>Keyword:</target>\n      </trans-unit>\n      <trans-unit id="05fa0bded36de6e73a1fa44838b627349dace044" datatype="html">\n        <source>Date:</source>\n        <target>Date:</target>\n      </trans-unit>\n      <trans-unit id="31dadb362bf7f7c2afa10e5f96474ccd3977f91f" datatype="html">\n        <source>Datepicker</source>\n        <target>Datepicker</target>\n      </trans-unit>\n      <trans-unit id="85a400388de1899b1917138cf7e5286376f72847" datatype="html">\n        <source>Time range:</source>\n        <target>Time range:</target>\n      </trans-unit>\n      <trans-unit id="2447796ddbda942f4e2c46619cb84d69f066e568" datatype="html">\n        <source>Loading configuration...</source>\n        <target>Caricamento della configurazione in corso...</target>\n      </trans-unit>\n      <trans-unit id="b42c0b347a841bed8859ee83de05080ee28c803b" datatype="html">\n        <source>The configuration could not be loaded.</source>\n        <target>Impossibile caricare la configurazione.</target>\n      </trans-unit>\n      <trans-unit id="31a9c2870a934b594d1390146c489f76440859ea" datatype="html">\n        <source>Edit Manager module</source>\n        <target>Modifica modulo Manager</target>\n      </trans-unit>\n      <trans-unit id="46e09b8290d3d0afdb6baa2021395b0570606a31" datatype="html">\n        <source>The entered value is not a valid UUID, e.g.: 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8</source>\n        <target>Il valore immesso non è un UUID valido, ad es.: 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8</target>\n      </trans-unit>\n      <trans-unit id="7aacd038b39cfd347107d01d1dc27f5cb3e0951c" datatype="html">\n        <source>The entered value needs to be a valid IP address.</source>\n        <target>Il valore immesso deve essere un indirizzo IP valido.</target>\n      </trans-unit>\n      <trans-unit id="f19106149f4b07a0d721f9d317afed393cb7bd93" datatype="html">\n        <source>The entered value is too high! It must be lower or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.max }}"/>.\n        </source>\n        <target>The entered value is too high! It must be lower or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.max }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="6d33c40ef9a6c3bf0888df831b25e41e65f9d15b" datatype="html">\n        <source>The entered value is too low! It must be greater or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.min }}"/>.\n        </source>\n        <target>The entered value is too low! It must be greater or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.min }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="eae7086660cf1e38c7194a2c49ff52cc656f90f5" datatype="html">\n        <source>The entered value needs to be a number.</source>\n        <target>Il valore immesso deve essere un numero.</target>\n      </trans-unit>\n      <trans-unit id="a73376e04b4fb3a20734c8c39743fba32e6676ce" datatype="html">\n        <source>The entered value needs to be a number or decimal.</source>\n        <target>Il valore immesso deve essere un numero o un decimale.</target>\n      </trans-unit>\n      <trans-unit id="047f50bc5b5d17b5bec0196355953e1a5c590ddb" datatype="html">\n        <source>Update</source>\n        <target>Aggiorna</target>\n      </trans-unit>\n      <trans-unit id="81b97b8ea996ad1e4f9fca8415021850214884b1" datatype="html">\n        <source>Status</source>\n        <target>Stato</target>\n      </trans-unit>\n      <trans-unit id="57ec6032f5618d4a9f16eb950ad23d2ce7c24b54" datatype="html">\n        <source>Cluster ID</source>\n        <target>ID cluster</target>\n      </trans-unit>\n      <trans-unit id="67d7facc3fec5f8a49ab9ba0a245872184264ce5" datatype="html">\n        <source>monmap modified</source>\n        <target>mappa mon modificata</target>\n      </trans-unit>\n      <trans-unit id="d4906731aaf2b94b4f547646c9bfe58bb77951b6" datatype="html">\n        <source>monmap epoch</source>\n        <target>epoca mappa mon</target>\n      </trans-unit>\n      <trans-unit id="bd4ee06ffdc46d9dfbd0c0c4f81399021c680056" datatype="html">\n        <source>quorum con</source>\n        <target>quorum con</target>\n      </trans-unit>\n      <trans-unit id="1176c7db8a8276ccb44cc3d42e2c28d9fa6c6596" datatype="html">\n        <source>quorum mon</source>\n        <target>quorum mon</target>\n      </trans-unit>\n      <trans-unit id="530ef677a09d681b3ab68cb0760494b3ae72a77c" datatype="html">\n        <source>required con</source>\n        <target>con richiesta</target>\n      </trans-unit>\n      <trans-unit id="a91558e0d506c32021c31843f8f168899fc65cbf" datatype="html">\n        <source>required mon</source>\n        <target>mon richiesto</target>\n      </trans-unit>\n      <trans-unit id="b3abe9eac5bcd94a54c8da93b312e085ec512e74" datatype="html">\n        <source>In Quorum</source>\n        <target>Nel quorum</target>\n      </trans-unit>\n      <trans-unit id="ba4b748a676e1f217ce1e736fb7ec1215e677bae" datatype="html">\n        <source>Not In Quorum</source>\n        <target>Non nel quorum</target>\n      </trans-unit>\n      <trans-unit id="5ef50ba2514414f799d4c8fc36067a251904ba81" datatype="html">\n        <source>Cluster-wide OSD Flags</source>\n        <target>Flag OSD in tutto il cluster</target>\n      </trans-unit>\n      <trans-unit id="71c77bb8cecdf11ec3eead24dd1ba506573fa9cd" datatype="html">\n        <source>Submit</source>\n        <target>Invia</target>\n      </trans-unit>\n      <trans-unit id="1cfe07dac5b4ee1c464eb24225ddeb4f1d24076a" datatype="html">\n        <source>Advanced...</source>\n        <target>Avanzate...</target>\n      </trans-unit>\n      <trans-unit id="b1ef1c12ddcee305353623919ef02778569f5454" datatype="html">\n        <source>Advanced configuration options</source>\n        <target>Advanced configuration options</target>\n      </trans-unit>\n      <trans-unit id="c35f9c5f268a514b970cc55e9a5dc4bed0988e7f" datatype="html">\n        <source>OSD Recovery Priority</source>\n        <target>Priorità di recupero OSD</target>\n      </trans-unit>\n      <trans-unit id="b74af38005e8a8914e45af2ec412e11ceafef8b6" datatype="html">\n        <source>Priority</source>\n        <target>Priorità</target>\n      </trans-unit>\n      <trans-unit id="c2f48f04b379bfba133825747adfd238d511412e" datatype="html">\n        <source>Customize priority values</source>\n        <target>Personalizza valori di priorità</target>\n      </trans-unit>\n      <trans-unit id="4aa19de2a2b54cbda39e9c62917b23044c087776" datatype="html">\n        <source>This field is required!</source>\n        <target>Questo campo è obbligatorio.</target>\n      </trans-unit>\n      <trans-unit id="b699e94bf376491bd50b70a98531071c737eaf40" datatype="html">\n        <source>[object Object]</source>\n        <target>[object Object]</target>\n      </trans-unit>\n      <trans-unit id="98fe13e7ad6c2b80375d204b47858ded83f80e15" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="5423a3c111be47fc5a1bfe46ceb58c81c84db691" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="5251a4355cece3075db43f15d69a24a0f8485707" datatype="html">\n        <source>Reweight OSD: \n          <x id="INTERPOLATION" equiv-text="{{ osdId }}"/>\n        </source>\n        <target>Reweight OSD: \n          <x id="INTERPOLATION" equiv-text="{{ osdId }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="67650b2998db48201b2c6176cbfef51e7211ccaa" datatype="html">\n        <source>The value needs to be between 0 and 1.</source>\n        <target>Il valore deve essere compreso tra 0 e 1.</target>\n      </trans-unit>\n      <trans-unit id="bc11f92113d678a90e334fdf3d7b3fddbe34c579" datatype="html">\n        <source>Reweight</source>\n        <target>Ripesa</target>\n      </trans-unit>\n      <trans-unit id="d5ca5daf742023fc4f0919fb3c1c6a51991cda4f" datatype="html">\n        <source>OSDs \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>Scrub\n        </source>\n        <target>OSDs \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>Scrub\n        </target>\n      </trans-unit>\n      <trans-unit id="4c17d67c7c5799eb920030e9a399961e90f55dd8" datatype="html">\n        <source>{VAR_SELECT, select, 1 {Deep } }</source>\n        <target>{VAR_SELECT, select, 1 {Deep } }</target>\n      </trans-unit>\n      <trans-unit id="2613498e8e5853c26a1cc62ae8dc673d1fdf0e2a" datatype="html">\n        <source>You are about to apply a \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to\n          the OSD(s): \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ selected | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.\n        </source>\n        <target>You are about to apply a \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to\n          the OSD(s): \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ selected | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="dc6705f342a036b332c3fd3443201c3613e5524d" datatype="html">\n        <source>{VAR_SELECT, select, 1 {deep } }</source>\n        <target>{VAR_SELECT, select, 1 {deep } }</target>\n      </trans-unit>\n      <trans-unit id="b49d7877d24112d4bdfce9256edf61a007fae888" datatype="html">\n        <source>OSDs List</source>\n        <target>Elenco degli OSD</target>\n      </trans-unit>\n      <trans-unit id="c402e6ec1c6792ede81f56c28eee8955860391c8" datatype="html">\n        <source>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) \n          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </source>\n        <target>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) \n          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </target>\n      </trans-unit>\n      <trans-unit id="d2797d01ba86f5df03d875803e49e648a4027869" datatype="html">\n        <source>The \n          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to destroy!\n        </source>\n        <target>The \n          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to destroy!\n        </target>\n      </trans-unit>\n      <trans-unit id="e776996dac651ef3819bfa767ccf2a0613759f47" datatype="html">\n        <source>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</source>\n        <target>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</target>\n      </trans-unit>\n      <trans-unit id="1e2c50ed3c3934ef068976dc7f38513cec29d515" datatype="html">\n        <source>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD \n          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </source>\n        <target>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD \n          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </target>\n      </trans-unit>\n      <trans-unit id="4f8b2bb476981727ab34ed40fde1218361f92c45" datatype="html">\n        <source>Details</source>\n        <target>Dettagli</target>\n      </trans-unit>\n      <trans-unit id="8501055865d7031b5521a0c5467532648009a61d" datatype="html">\n        <source>Matcher</source>\n        <target>Matcher</target>\n      </trans-unit>\n      <trans-unit id="9c25e04f554875dc2625a78ba0fc56c6010cd0d3" datatype="html">\n        <source>-- Select an attribute to match against --</source>\n        <target>-- Select an attribute to match against --</target>\n      </trans-unit>\n      <trans-unit id="5049e204c14c648691ac775a64fb504467aeb549" datatype="html">\n        <source>Value</source>\n        <target>Valore</target>\n      </trans-unit>\n      <trans-unit id="77fc5c63497fc031ddc97645484e3d94ad27766c" datatype="html">\n        <source>Use regular expression</source>\n        <target>Use regular expression</target>\n      </trans-unit>\n      <trans-unit id="7bbec1a797283712c0adf9e71d77fb5a8cd720db" datatype="html">\n        <source>{VAR_SELECT, select, 1 {Update} other {Add} }</source>\n        <target>{VAR_SELECT, select, 1 {Update} other {Add} }</target>\n      </trans-unit>\n      <trans-unit id="f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8" datatype="html">\n        <source>Close</source>\n        <target>Chiudi</target>\n      </trans-unit>\n      <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c" datatype="html">\n        <source>Edit</source>\n        <target>Modifica</target>\n      </trans-unit>\n      <trans-unit id="826b25211922a1b46436589233cb6f1a163d89b7" datatype="html">\n        <source>Delete</source>\n        <target>Elimina</target>\n      </trans-unit>\n      <trans-unit id="a3ba06aba047605af8ea1718ec1ba153b7db12a2" datatype="html">\n        <source>Editing a silence will expire the old silence and recreate it as a new silence</source>\n        <target>Editing a silence will expire the old silence and recreate it as a new silence</target>\n      </trans-unit>\n      <trans-unit id="a20424156b8816671f61879f0574a4f27d7b16b9" datatype="html">\n        <source>Creator</source>\n        <target>Creator</target>\n      </trans-unit>\n      <trans-unit id="5a5d7ee2acbfa9c91ab7f41d26bda9ff0cafe42f" datatype="html">\n        <source>Comment</source>\n        <target>Comment</target>\n      </trans-unit>\n      <trans-unit id="4c11aad490b2d53fdae30b3807beabf79306752c" datatype="html">\n        <source>Start time</source>\n        <target>Start time</target>\n      </trans-unit>\n      <trans-unit id="32856b1e8e339b747b21e313e2fe65a51fd450bb" datatype="html">\n        <source>If the start time lies in the past the creation time will be used</source>\n        <target>If the start time lies in the past the creation time will be used</target>\n      </trans-unit>\n      <trans-unit id="a02ea1d4e7424ca989929da5e598f379940fdbf2" datatype="html">\n        <source>Duration</source>\n        <target>Duration</target>\n      </trans-unit>\n      <trans-unit id="2f4e35e36f4d3c62e2c17df41730b6dee4afc4b9" datatype="html">\n        <source>End time</source>\n        <target>End time</target>\n      </trans-unit>\n      <trans-unit id="dbe739ec8c99a0132e326067ffec9c0ee06b2655" datatype="html">\n        <source>Matchers\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>*\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n        </source>\n        <target>Matchers\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>*\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="3e023166c55833d5a13f4143e3dbe372befe1b4e" datatype="html">\n        <source>A silence requires at least one matcher</source>\n        <target>A silence requires at least one matcher</target>\n      </trans-unit>\n      <trans-unit id="ef765bd80c4806c51c891908c07a24bc76f019eb" datatype="html">\n        <source>Add matcher</source>\n        <target>Add matcher</target>\n      </trans-unit>\n      <trans-unit id="d2bcd3296d2850de762fb943060b7e086a893181" datatype="html">\n        <source>Health</source>\n        <target>Stato</target>\n      </trans-unit>\n      <trans-unit id="61e0f26d843eec0b33ff475e111b0c2f7a80b835" datatype="html">\n        <source>Statistics</source>\n        <target>Statistiche</target>\n      </trans-unit>\n      <trans-unit id="f8f74e5f683012b9c0702b1446011c6b9158bc67" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the NFS Ganesha management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the NFS Ganesha management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="7ffe39df9d88c972792bd8688b215392deb8313d" datatype="html">\n        <source>Clients</source>\n        <target>Client</target>\n      </trans-unit>\n      <trans-unit id="f2dae0bda66f6a349444951c0379c28cda47d6d1" datatype="html">\n        <source>Any client can access</source>\n        <target>Può accedere qualsiasi client</target>\n      </trans-unit>\n      <trans-unit id="7882f2edb1d4139800b276b6b0bbf5ae0b2234ef" datatype="html">\n        <source>Addresses</source>\n        <target>Indirizzi</target>\n      </trans-unit>\n      <trans-unit id="9bd96fcf50863e685c74d0490392f46689ffbdb6" datatype="html">\n        <source>Required field</source>\n        <target>Campo obbligatorio</target>\n      </trans-unit>\n      <trans-unit id="a5f3f74c0f6925826cb2188576391c0da01a23f0" datatype="html">\n        <source>Must contain one or more comma-separated values</source>\n        <target>Deve contenere uno o più valori delimitati da virgole</target>\n      </trans-unit>\n      <trans-unit id="8bb5b2073697f3f4378c44a49b7524934c9268f4" datatype="html">\n        <source>For example:</source>\n        <target>Ad esempio:</target>\n      </trans-unit>\n      <trans-unit id="8f969c655b3fbe4fba7e277caf4cd2c459f9fca5" datatype="html">\n        <source>Access Type</source>\n        <target>Tipo di accesso</target>\n      </trans-unit>\n      <trans-unit id="28952831a284cfe2b4fc39ca610e80b52598905a" datatype="html">\n        <source>Squash</source>\n        <target>Esegui squash</target>\n      </trans-unit>\n      <trans-unit id="0660ae339068979854ade34a96546980723dede3" datatype="html">\n        <source>Add clients</source>\n        <target>Aggiungi client</target>\n      </trans-unit>\n      <trans-unit id="135b91a2d908d5814b782695470a6a786c99d9d2" datatype="html">\n        <source>-- No cluster available --</source>\n        <target>-- Nessun cluster disponibile --</target>\n      </trans-unit>\n      <trans-unit id="c501dba379f566885919240ea277b5bc10c14d18" datatype="html">\n        <source>-- Select the cluster --</source>\n        <target>-- Selezionare il cluster --</target>\n      </trans-unit>\n      <trans-unit id="cf85b1ee58326aa9da63da41b2629c9db7c9a5b9" datatype="html">\n        <source>Add daemon</source>\n        <target>Aggiungi daemon</target>\n      </trans-unit>\n      <trans-unit id="b3f6ba7fe84d6508705cdfe234f0fcc8ff85c9cf" datatype="html">\n        <source>Storage Backend</source>\n        <target>Backend di storage</target>\n      </trans-unit>\n      <trans-unit id="151c80ea931037cd92e854442927f8a0f6ae7795" datatype="html">\n        <source>-- No data pools available --</source>\n        <target>-- Nessun pool di dati disponibile --</target>\n      </trans-unit>\n      <trans-unit id="b6fee356d1db954255a56d8169405a89595246b9" datatype="html">\n        <source>-- Select the storage backend --</source>\n        <target>-- Selezionare il backend di storage --</target>\n      </trans-unit>\n      <trans-unit id="76d67035c3ab3d8e56f725859f820f03fda41cfc" datatype="html">\n        <source>Object Gateway User</source>\n        <target>Utente Object Gateway</target>\n      </trans-unit>\n      <trans-unit id="fade7788bace74337f306ae209f10fc187ef4671" datatype="html">\n        <source>-- No users available --</source>\n        <target>-- Nessun utente disponibile --</target>\n      </trans-unit>\n      <trans-unit id="6d30b7b36cf8f6364167321bdb4ba35d4cefce7b" datatype="html">\n        <source>-- Select the object gateway user --</source>\n        <target>-- Selezionare l\'utente Object Gateway --</target>\n      </trans-unit>\n      <trans-unit id="589ce20d3ba3e3ac44f75decfaadc4ea8f0aec2d" datatype="html">\n        <source>CephFS User ID</source>\n        <target>ID utente CephFS</target>\n      </trans-unit>\n      <trans-unit id="c4b88a53ac3b0ece46ba9b3ad72355a3c190cce7" datatype="html">\n        <source>-- No clients available --</source>\n        <target>-- Nessun client disponibile --</target>\n      </trans-unit>\n      <trans-unit id="da52835b80497a0002d24414b057dc46ae44ce38" datatype="html">\n        <source>-- Select the cephx client --</source>\n        <target>-- Selezionare il client Cephx --</target>\n      </trans-unit>\n      <trans-unit id="fd3419e8957d928d7f7ba19c93356a0dbff02871" datatype="html">\n        <source>CephFS Name</source>\n        <target>Nome CephFS</target>\n      </trans-unit>\n      <trans-unit id="ee3ba0ab5f0ccd597b3e44021c71e9aaad14df0a" datatype="html">\n        <source>-- No CephFS filesystem available --</source>\n        <target>-- No CephFS filesystem available --</target>\n      </trans-unit>\n      <trans-unit id="764c57812558b1ae66c5eec95d7efd2b1bf761e3" datatype="html">\n        <source>-- Select the CephFS filesystem --</source>\n        <target>-- Select the CephFS filesystem --</target>\n      </trans-unit>\n      <trans-unit id="957512d0321f73e9f115bce1bd823fa635170c41" datatype="html">\n        <source>Security Label</source>\n        <target>Etichetta di sicurezza</target>\n      </trans-unit>\n      <trans-unit id="65ce0fa4da1ed55e658aeb31d1644a29f06bb342" datatype="html">\n        <source>Enable security label</source>\n        <target>Abilita etichetta di sicurezza</target>\n      </trans-unit>\n      <trans-unit id="7e808f804130c7b6ff719509cbc06ebb27393a48" datatype="html">\n        <source>CephFS Path</source>\n        <target>Percorso CephFS</target>\n      </trans-unit>\n      <trans-unit id="5ecc0107badb6625466aaa3f975b5c05276f432f" datatype="html">\n        <source>Path need to start with a \'/\' and can be followed by a word</source>\n        <target>Il percorso deve iniziare con una barra \'/\' e può essere seguito da una parola</target>\n      </trans-unit>\n      <trans-unit id="2d02916f44fc63e13ab16d1cbe72aa6cb51feab3" datatype="html">\n        <source>New directory will be created</source>\n        <target>Viene creata la nuova directory</target>\n      </trans-unit>\n      <trans-unit id="766c66ad5cc981c531aaf3fe3a2a7a346ddc8d83" datatype="html">\n        <source>Path</source>\n        <target>Percorso</target>\n      </trans-unit>\n      <trans-unit id="7ec35c722a50b976620f22612f7be619c12ceb90" datatype="html">\n        <source>Path can only be a single \'/\' or a word</source>\n        <target>Il percorso può essere solo una singola barra \'/\' o parola</target>\n      </trans-unit>\n      <trans-unit id="aebb6a5090c24511de4530195694bb3f3dcf0342" datatype="html">\n        <source>New bucket will be created</source>\n        <target>Viene creato il nuovo compartimento</target>\n      </trans-unit>\n      <trans-unit id="bee6900143996c0e908a10564532eba3da0b30fb" datatype="html">\n        <source>NFS Protocol</source>\n        <target>Protocollo NFS</target>\n      </trans-unit>\n      <trans-unit id="2f534178c01ebf1307da2eaeef04bc6801ebc729" datatype="html">\n        <source>NFSv3</source>\n        <target>NFSv3</target>\n      </trans-unit>\n      <trans-unit id="f5043c0921e709935ab026bb3253ffe1f159fca1" datatype="html">\n        <source>NFSv4</source>\n        <target>NFSv4</target>\n      </trans-unit>\n      <trans-unit id="92488963d23095985a47c0d6e62304e11d333f19" datatype="html">\n        <source>NFS Tag</source>\n        <target>Tag NFS</target>\n      </trans-unit>\n      <trans-unit id="aae93362720aea94623682996dd3fcd0f906f056" datatype="html">\n        <source>Alternative access for \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v3\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> mounts (it must not have a leading /).\n        </source>\n        <target>Alternative access for \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v3\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> mounts (it must not have a leading /).\n        </target>\n      </trans-unit>\n      <trans-unit id="45d6db77dcf1a3eeb921033abc7882e517a541cc" datatype="html">\n        <source>Clients may not mount subdirectories (i.e. if Tag = foo, the client may not mount foo/baz).</source>\n        <target>I client non possono montare le sottodirectory (ad es. se Tag = foo, il client non può montare foo/baz).</target>\n      </trans-unit>\n      <trans-unit id="a1c7a8676b55e882a97c6a6fb205204f9c761afa" datatype="html">\n        <source>By using different Tag options, the same Path may be exported multiple times.</source>\n        <target>Utilizzando diverse opzioni Tag, è possibile esportare più volte lo stesso percorso.</target>\n      </trans-unit>\n      <trans-unit id="6d2c39708a32910f89701dd7e1cfb9ec1c195768" datatype="html">\n        <source>Pseudo</source>\n        <target>Pseudo</target>\n      </trans-unit>\n      <trans-unit id="1f8be2ae25947bec0b84c2338201580ea053f34e" datatype="html">\n        <source>The position that this \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v4\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> export occupies\n                in the \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>Pseudo FS\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> (it must be unique).\n        </source>\n        <target>The position that this \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v4\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> export occupies\n                in the \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>Pseudo FS\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> (it must be unique).\n        </target>\n      </trans-unit>\n      <trans-unit id="f3af55f7fd5b1d9e5a53e030c80116dc635bfb9f" datatype="html">\n        <source>By using different Pseudo options, the same Path may be exported multiple times.</source>\n        <target>Utilizzando diverse opzioni Pseudo, è possibile esportare più volte lo stesso percorso.</target>\n      </trans-unit>\n      <trans-unit id="ddf98fcdeeb17643db020d54f42b5e56b5f9a52a" datatype="html">\n        <source>Pseudo needs to start with a \'/\' and can\'t contain any of the following: &gt;, &lt;, |, &amp;, ( or ).</source>\n        <target>Pseudo needs to start with a \'/\' and can\'t contain any of the following: &gt;, &lt;, |, &amp;, ( or ).</target>\n      </trans-unit>\n      <trans-unit id="27eb35c4b4ac08781a7253a2ab40f8f7d957ba51" datatype="html">\n        <source>-- No access type available --</source>\n        <target>-- Nessun tipo di accesso disponibile --</target>\n      </trans-unit>\n      <trans-unit id="509ce016c9110a54028dafd741f15ceacbe74b5a" datatype="html">\n        <source>-- Select the access type --</source>\n        <target>-- Selezionare il tipo di accesso --</target>\n      </trans-unit>\n      <trans-unit id="49850390a653cd05dc5843d74ef073a9122b54c9" datatype="html">\n        <source>The Object Gateway NFS backend has a number of\n              limitations which will seriously affect applications writing to\n              the share. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for details before enabling write access.\n        </source>\n        <target>The Object Gateway NFS backend has a number of\n              limitations which will seriously affect applications writing to\n              the share. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for details before enabling write access.\n        </target>\n      </trans-unit>\n      <trans-unit id="4deda03573eaaff77e63f6a238a1f0ca7816950a" datatype="html">\n        <source>-- No squash available --</source>\n        <target>-- Nessuno squash disponibile --</target>\n      </trans-unit>\n      <trans-unit id="a0e82a4da88e7fdf270444f838d45849676e9d4b" datatype="html">\n        <source>--Select what kind of user id squashing is performed --</source>\n        <target>--Selezionare il tipo di squash dell\'ID utente da eseguire --</target>\n      </trans-unit>\n      <trans-unit id="d01b7c3f7f06712c53d054cfbe4f53d446b038e8" datatype="html">\n        <source>Transport Protocol</source>\n        <target>Protocollo di trasporto</target>\n      </trans-unit>\n      <trans-unit id="d2a6ad6e8bc315f07911722c05767ac79c136d99" datatype="html">\n        <source>UDP</source>\n        <target>UDP</target>\n      </trans-unit>\n      <trans-unit id="9c030f11e0aae9b24d2c048c57f29f590be621df" datatype="html">\n        <source>TCP</source>\n        <target>TCP</target>\n      </trans-unit>\n      <trans-unit id="734c9905951a774870497c5aaae8e3ee833b6196" datatype="html">\n        <source>CephFS</source>\n        <target>CephFS</target>\n      </trans-unit>\n      <trans-unit id="449dca3d3a93ead418b0541ea81b0dda7e6483c2" datatype="html">\n        <source>Welcome to Ceph!</source>\n        <target>Benvenuto in Ceph.</target>\n        <note>The welcome message on the login page</note>\n      </trans-unit>\n      <trans-unit id="0070e83d11da39d6f4bb95065c2675db1610b419" datatype="html">\n        <source>Username is required</source>\n        <target>Nome utente necessario</target>\n      </trans-unit>\n      <trans-unit id="1e20f8b8a4706526c9024cc2f39d568345d100dc" datatype="html">\n        <source>Password is required</source>\n        <target>Password richiesta</target>\n      </trans-unit>\n      <trans-unit id="6765b4c916060f6bc42d9bb69e80377dbcb5e4e9" datatype="html">\n        <source>Login</source>\n        <target>Login</target>\n      </trans-unit>\n      <trans-unit id="58fc1b5c79a75370eb52644fd83fb2e7096b6649" datatype="html">\n        <source>Sorry, the user does not exist in Ceph.</source>\n        <target>Spiacenti, l\'utente non esiste in Ceph.</target>\n      </trans-unit>\n      <trans-unit id="d9deb94f78e7c41b35c6622b874f06657d7604c1" datatype="html">\n        <source>Return to \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Login Page\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You\'ll be logged out from the Identity Provider when you retry logging in.\n        </source>\n        <target>Return to \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Login Page\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You\'ll be logged out from the Identity Provider when you retry logging in.\n        </target>\n      </trans-unit>\n      <trans-unit id="0eb15f32b2b92d7f3103ef3ff032621888a8dc32" datatype="html">\n        <source>Old password</source>\n        <target>Old password</target>\n      </trans-unit>\n      <trans-unit id="1cf42e491adc166a337a960eb84d03c0c3f677c8" datatype="html">\n        <source>The old and new passwords must be different.</source>\n        <target>The old and new passwords must be different.</target>\n      </trans-unit>\n      <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229" datatype="html">\n        <source>New password</source>\n        <target>New password</target>\n      </trans-unit>\n      <trans-unit id="595ebc9279497f6dc733777e2816bee936901388" datatype="html">\n        <source>Too weak</source>\n        <target>Too weak</target>\n      </trans-unit>\n      <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b" datatype="html">\n        <source>Confirm new password</source>\n        <target>Confirm new password</target>\n      </trans-unit>\n      <trans-unit id="90163a3d3746819aef42e829f4446331232f3b66" datatype="html">\n        <source>Password confirmation doesn\'t match the new password.</source>\n        <target>Password confirmation doesn\'t match the new password.</target>\n      </trans-unit>\n      <trans-unit id="471e78026c258073ba687478dc54c35d9041ea42" datatype="html">\n        <source>Forbidden</source>\n        <target>Non consentito</target>\n      </trans-unit>\n      <trans-unit id="02ea8ad57677e3c63f3d7814ca5e6c7b74e360b4" datatype="html">\n        <source>Sorry, you are not allowed to see what you were looking for.</source>\n        <target>Spiacenti, non è consentito visualizzare ciò che si stava cercando.</target>\n      </trans-unit>\n      <trans-unit id="e3c028c58f92453d46f09b5adf95b2f013ee0300" datatype="html">\n        <source>Sorry, we could not find what you were looking for</source>\n        <target>Spiacenti, impossibile trovare ciò che si stava cercando</target>\n      </trans-unit>\n      <trans-unit id="a949d7e577902d0e5dc5d0971bb0170a21be7728" datatype="html">\n        <source>[object Object]</source>\n        <target>[object Object]</target>\n      </trans-unit>\n      <trans-unit id="ff92fbdec9fdd5054493eeda0d7ee8b450f83e72" datatype="html">\n        <source>RBD Configuration</source>\n        <target>Configurazione RBD</target>\n      </trans-unit>\n      <trans-unit id="b62d9efc8eb3b589904f6cb96a0406bbda55673a" datatype="html">\n        <source>Remove the local configuration value. The parent configuration value will be inherited and used instead.</source>\n        <target>Rimuovere il valore della configurazione locale. Al suo posto verrà ereditato e utilizzato il valore della configurazione superiore.</target>\n      </trans-unit>\n      <trans-unit id="963488a1010d46067b238c4ae917fab3907c0a3a" datatype="html">\n        <source>The mininum value is 0</source>\n        <target>Il valore minimo è 0</target>\n      </trans-unit>\n      <trans-unit id="1d8a7c8aea58294a3c57c23af0468ddf0ba0c9c7" datatype="html">\n        <source>Pools List</source>\n        <target>Elenco dei pool</target>\n      </trans-unit>\n      <trans-unit id="490e15ecc922965b6d8194754c87c5583aa071f3" datatype="html">\n        <source>The name can only consist of alphanumeric characters, dashes and underscores.</source>\n        <target>Il nome può contenere solo caratteri alfanumerici, trattini e caratteri di sottolineatura.</target>\n      </trans-unit>\n      <trans-unit id="9edc2b494e660618af3e5225f68d40b7ca67629c" datatype="html">\n        <source>The chosen erasure code profile name is already in use.</source>\n        <target>Il nome del profilo del codice di cancellazione selezionato è già in uso.</target>\n      </trans-unit>\n      <trans-unit id="ef9ff0e6227947b48dfab4ac39ade04af758913b" datatype="html">\n        <source>Plugin</source>\n        <target>Plugin</target>\n      </trans-unit>\n      <trans-unit id="dd69b31bce8f630eac1d4762b0bbcf72ce19d193" datatype="html">\n        <source>Data chunks (k)</source>\n        <target>Porzioni di dati (k)</target>\n      </trans-unit>\n      <trans-unit id="b0d26a6172d32cb81218fe2103c54a818cbc1189" datatype="html">\n        <source>Must be equal to or greater than 2.</source>\n        <target>Deve essere uguale o maggiore di 2.</target>\n      </trans-unit>\n      <trans-unit id="dab3a299ead121169b8e08ed618c3b6a2f66691b" datatype="html">\n        <source>Coding chunks (m)</source>\n        <target>Porzioni di codice (m)</target>\n      </trans-unit>\n      <trans-unit id="1e2773e5bd4948193f18f2361d663ecc3988c656" datatype="html">\n        <source>Must be equal to or greater than 1.</source>\n        <target>Deve essere uguale o maggiore di 1.</target>\n      </trans-unit>\n      <trans-unit id="6cde4c945a49a260c0a47bcc7cd956846930a5f7" datatype="html">\n        <source>Durability estimator (c)</source>\n        <target>Stima durata (c)</target>\n      </trans-unit>\n      <trans-unit id="af668c2a095a979ea2b4e43cd82c2120ab56c21c" datatype="html">\n        <source>Locality (l)</source>\n        <target>Località (l)</target>\n      </trans-unit>\n      <trans-unit id="d455a110bf6d2235e314e295ce1dfeee93d3dff2" datatype="html">\n        <source>Crush failure domain</source>\n        <target>Dominio di errore Crush</target>\n      </trans-unit>\n      <trans-unit id="b74a495f041f7dd102eee5c0bbc9e03083b538ae" datatype="html">\n        <source>Crush Locality</source>\n        <target>Località Crush</target>\n      </trans-unit>\n      <trans-unit id="a2f14a73f7a6e94479f67423cc51102da8d6f524" datatype="html">\n        <source>None</source>\n        <target>Nessuno</target>\n      </trans-unit>\n      <trans-unit id="2981733b912b693a9dd9d915d6d34f4692cc874a" datatype="html">\n        <source>Technique</source>\n        <target>Tecnica</target>\n      </trans-unit>\n      <trans-unit id="e0098b6e47b04ec817361f384ce81d454ba5c0bb" datatype="html">\n        <source>Packetsize</source>\n        <target>Dimensione del pacchetto</target>\n      </trans-unit>\n      <trans-unit id="c0252cd81ca54d0a2f69ec9ccf4248e73df5aa4a" datatype="html">\n        <source>Crush root</source>\n        <target>Radice Crush</target>\n      </trans-unit>\n      <trans-unit id="1548d5c76f0406ddd1ba3c557e1e6db22e95b340" datatype="html">\n        <source>Crush device class</source>\n        <target>Classe dispositivo Crush</target>\n      </trans-unit>\n      <trans-unit id="5e85feb6f9f0334366e46ee09ca6b8df52397432" datatype="html">\n        <source>any</source>\n        <target>qualsiasi</target>\n      </trans-unit>\n      <trans-unit id="03d84645f6e019c5a43909bbf2ea1696ee88332c" datatype="html">\n        <source>Directory</source>\n        <target>Directory</target>\n      </trans-unit>\n      <trans-unit id="2fecea01ce1d44114ee45144eff6d47a5016a74f" datatype="html">\n        <source>Name...</source>\n        <target>Nome...</target>\n      </trans-unit>\n      <trans-unit id="16e113230b6b0d3165e076300880542bac7c8138" datatype="html">\n        <source>The chosen Ceph pool name is already in use.</source>\n        <target>Il nome del pool Ceph scelto è già in uso.</target>\n      </trans-unit>\n      <trans-unit id="c75b132bef7b29fa5171768303c4b96e34ccaf68" datatype="html">\n        <source>It\'s not possible to create an RBD pool with \'/\' in the name.\n              Please change the name or remove \'rbd\' from the applications list.</source>\n        <target>It\'s not possible to create an RBD pool with \'/\' in the name.\n              Please change the name or remove \'rbd\' from the applications list.</target>\n      </trans-unit>\n      <trans-unit id="b85c657469e5ec8231c3de99b22f437bc01ffde5" datatype="html">\n        <source>Pool type</source>\n        <target>Tipo di pool</target>\n      </trans-unit>\n      <trans-unit id="526c5443254c3b126eedb264840ffe827727bfd3" datatype="html">\n        <source>-- Select a pool type --</source>\n        <target>-- Selezionare un tipo di pool --</target>\n      </trans-unit>\n      <trans-unit id="0aa21053410a94aa61d16985a4e95fd65523430d" datatype="html">\n        <source>Placement groups</source>\n        <target>Gruppi di posizionamento</target>\n      </trans-unit>\n      <trans-unit id="6301f1391d726f8f450bb358058534db19541ca9" datatype="html">\n        <source>At least one placement group is needed!</source>\n        <target>È necessario almeno un gruppo di posizionamento.</target>\n      </trans-unit>\n      <trans-unit id="ba9469a1ce6ed36e039c1f67247c8c81a5c71449" datatype="html">\n        <source>Your cluster can\'t handle this many PGs. Please recalculate the PG amount needed.</source>\n        <target>Il cluster non può gestire questo numero eccessivo di gruppi di posizionamento. Ricalcolare il numero di gruppi di posizionamento necessari.</target>\n      </trans-unit>\n      <trans-unit id="80ac68cd883369dac20688bc32b4cb33291b5e50" datatype="html">\n        <source>Calculation help</source>\n        <target>Guida per il calcolo</target>\n      </trans-unit>\n      <trans-unit id="fccbd60493df26705d957ed6c02a3c447894678f" datatype="html">\n        <source>The current PGs settings were calculated for you, you\n                should make sure the values suit your needs before submit.</source>\n        <target>The current PGs settings were calculated for you, you\n                should make sure the values suit your needs before submit.</target>\n      </trans-unit>\n      <trans-unit id="33150f22ce5348aa6c499bd092c3f4f3695d62cc" datatype="html">\n        <source>Crush ruleset</source>\n        <target>Set di regole Crush</target>\n      </trans-unit>\n      <trans-unit id="73a6b31116b3cc322af951daa0bafdc169e6c42e" datatype="html">\n        <source>-- Select a crush rule --</source>\n        <target>-- Selezionare una regola Crush --</target>\n      </trans-unit>\n      <trans-unit id="92da80699921e89fb19372e25b8d0f3b9fa427fc" datatype="html">\n        <source>Crush rule</source>\n        <target>Regola Crush</target>\n      </trans-unit>\n      <trans-unit id="5489e9f96835f469f6f728a00d8efa88ea5bc940" datatype="html">\n        <source>Crush steps</source>\n        <target>Passaggi Crush</target>\n      </trans-unit>\n      <trans-unit id="54a53b1b402aafff5b992ee9b64e409fbfe9074f" datatype="html">\n        <source>The rule can\'t be used in the current cluster as it has\n                to few OSDs to meet the minimum required OSD by this rule.</source>\n        <target>Non è possibile utilizzare la regola nel cluster attuale perché il numero degli\n                OSD che contiene è troppo basso e non soddisfa il numero minimo di OSD richiesto da questa regola.</target>\n      </trans-unit>\n      <trans-unit id="a43b2695131b48b76cebba676aba98a2bee17515" datatype="html">\n        <source>Replicated size</source>\n        <target>Dimensioni replicate</target>\n      </trans-unit>\n      <trans-unit id="7bff144a4c4dc63b0e18fff2617d61a7ebdf2b6c" datatype="html">\n        <source>Minimum: \n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/>\n        </source>\n        <target>Minimum: \n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="1a9c54b41f6d58a74e5d0aa3429ed0c87a482551" datatype="html">\n        <source>Maximum: \n          <x id="INTERPOLATION" equiv-text="{{ getMaxSize() }}"/>\n        </source>\n        <target>Maximum: \n          <x id="INTERPOLATION" equiv-text="{{ getMaxSize() }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6ab647b95bd2347ae6f4605576de5e0269fb893a" datatype="html">\n        <source>The size specified is out of range. A value from\n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/> to \n          <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.\n        </source>\n        <target>The size specified is out of range. A value from\n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/> to \n          <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.\n        </target>\n      </trans-unit>\n      <trans-unit id="9de7dde00e2139cc4bd03b1837afbe72ad15a1ff" datatype="html">\n        <source>Erasure code profile</source>\n        <target>Profilo del codice di cancellazione</target>\n      </trans-unit>\n      <trans-unit id="39b4620e6bd444e0a57a0a5c03fa8c96d7fe5235" datatype="html">\n        <source>-- No erasure code profile available --</source>\n        <target>-- Nessun profilo del codice di cancellazione disponibile --</target>\n      </trans-unit>\n      <trans-unit id="498561757390d5528b263ce450d5f38efb00266d" datatype="html">\n        <source>-- Select an erasure code profile --</source>\n        <target>-- Selezionare un profilo del codice di cancellazione --</target>\n      </trans-unit>\n      <trans-unit id="920617c6a1a4805e53bcb5af6a9c76f8387e89c6" datatype="html">\n        <source>Flags</source>\n        <target>Flag</target>\n      </trans-unit>\n      <trans-unit id="1c870fb00256b8a5b9cb9cd1a124e6390b9bc639" datatype="html">\n        <source>EC Overwrites</source>\n        <target>Sovrascritture EC</target>\n      </trans-unit>\n      <trans-unit id="f1abafaeb40ce52355ddcc24686e3cd17b64e08a" datatype="html">\n        <source>Applications</source>\n        <target>Applicazioni</target>\n      </trans-unit>\n      <trans-unit id="2208d63d5940ce656006a220102b1eb2b5e553da" datatype="html">\n        <source>Compression</source>\n        <target>Compressione</target>\n      </trans-unit>\n      <trans-unit id="37e10df2d9c0c25ef04ac112c9c9a7723e8efae0" datatype="html">\n        <source>Mode</source>\n        <target>Modalità</target>\n      </trans-unit>\n      <trans-unit id="6c6f25c47da62ec597c6057a36ddfc3209811ec5" datatype="html">\n        <source>Algorithm</source>\n        <target>Algoritmo</target>\n      </trans-unit>\n      <trans-unit id="4903231d42089325a28892c0fde1aed46b733ae6" datatype="html">\n        <source>-- No erasure compression algorithm available --</source>\n        <target>-- Nessun algoritmo di compressione della cancellazione disponibile --</target>\n      </trans-unit>\n      <trans-unit id="5d68ddb254275f8f44221e9ad6d8ceeb59ca46a6" datatype="html">\n        <source>Minimum blob size</source>\n        <target>Dimensioni minime del blob</target>\n      </trans-unit>\n      <trans-unit id="fb2f176df80647137cbb02bbeb29e5dec707a400" datatype="html">\n        <source>e.g., 128KiB</source>\n        <target>ad es. 128 KiB</target>\n      </trans-unit>\n      <trans-unit id="1b7f6e53a4521c6eb3ced4c007fdd4cf80bb7707" datatype="html">\n        <source>Value should be greater than 0</source>\n        <target>Il valore deve essere maggiore di 0</target>\n      </trans-unit>\n      <trans-unit id="8db98ab14b4e207ec763dfdefbc2dae367aab1cc" datatype="html">\n        <source>Value should be less than the maximum blob size</source>\n        <target>Value should be less than the maximum blob size</target>\n      </trans-unit>\n      <trans-unit id="151efb127a9a4dd25259a0b2055442318a141f5b" datatype="html">\n        <source>Maximum blob size</source>\n        <target>Dimensioni massime del blob</target>\n      </trans-unit>\n      <trans-unit id="0c656f0e346bbadf46eb1a5d20d0307a3bd20ba8" datatype="html">\n        <source>e.g., 512KiB</source>\n        <target>ad es. 512 KiB</target>\n      </trans-unit>\n      <trans-unit id="0a65a24eee8a026f3b1113fe9e157e9a0dd69486" datatype="html">\n        <source>Value should be greater than the minimum blob size</source>\n        <target>Il valore deve essere maggiore delle dimensioni minime del blob</target>\n      </trans-unit>\n      <trans-unit id="261ba09c4a59de83f48f52a23fd328da37e61ff4" datatype="html">\n        <source>Ratio</source>\n        <target>Rapporto</target>\n      </trans-unit>\n      <trans-unit id="c1430457a9c3c66366e51d76bf10396014c576be" datatype="html">\n        <source>Compression ratio</source>\n        <target>Rapporto di compressione</target>\n      </trans-unit>\n      <trans-unit id="ae5ce6de352cde949998fb10754459c3a4eb183b" datatype="html">\n        <source>Value should be between 0.0 and 1.0</source>\n        <target>Il valore deve essere compreso tra 0,0 e 1,0</target>\n      </trans-unit>\n      <trans-unit id="8bb8293aa8161433778762ae025ffd5e7c85795e" datatype="html">\n        <source>Quotas</source>\n        <target>Quotas</target>\n      </trans-unit>\n      <trans-unit id="d99b34162c9c34f10d0ccd8dbae83d8569c2db77" datatype="html">\n        <source>Max bytes</source>\n        <target>Max bytes</target>\n      </trans-unit>\n      <trans-unit id="a1d14a18879c62f3f4ed705318b7164a1160e249" datatype="html">\n        <source>Leave it blank or specify 0 to disable this quota.</source>\n        <target>Leave it blank or specify 0 to disable this quota.</target>\n      </trans-unit>\n      <trans-unit id="7565b131562ff6c5f769fdbd239a772154abdd97" datatype="html">\n        <source>A valid quota should be greater than 0.</source>\n        <target>A valid quota should be greater than 0.</target>\n      </trans-unit>\n      <trans-unit id="f0016bd458baa88284a658ce9eeda42d8ad88d2c" datatype="html">\n        <source>e.g., 10GiB</source>\n        <target>ad es. 10 GiB</target>\n      </trans-unit>\n      <trans-unit id="b8bf35b66f09a301eef92ffc3cb2fd259df67ce9" datatype="html">\n        <source>Max objects</source>\n        <target>Max objects</target>\n      </trans-unit>\n      <trans-unit id="95f348167622d832c5ae532b6944635c8e2ae5cb" datatype="html">\n        <source>The value should be greater or equal to 0</source>\n        <target>The value should be greater or equal to 0</target>\n      </trans-unit>\n      <trans-unit id="fbbaf5cb02ed419e79a27072478f716a4666a99d" datatype="html">\n        <source>Performance Details</source>\n        <target>Dettagli sulle prestazioni</target>\n      </trans-unit>\n      <trans-unit id="3938a411d76796f8ae73b72ea4c77661207453bd" datatype="html">\n        <source>Cache Tiers Details</source>\n        <target>Dettagli livelli cache</target>\n      </trans-unit>\n      <trans-unit id="f0b5d789d42c0e69348e5fe0037fcbf5b5fbbdcc" datatype="html">\n        <source>Move an image to trash</source>\n        <target>Sposta un\'immagine nel cestino</target>\n      </trans-unit>\n      <trans-unit id="86301cf2044b1eda218483365f6b9de8dde5040b" datatype="html">\n        <source>To move \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{ imageName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,\n          click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optionally, you can pick an expiration date.\n        </source>\n        <target>To move \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{ imageName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,\n          click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optionally, you can pick an expiration date.\n        </target>\n      </trans-unit>\n      <trans-unit id="88f27d390844aad53b4240360e928156c5f0d326" datatype="html">\n        <source>Protection expires at</source>\n        <target>La protezione scade alle</target>\n      </trans-unit>\n      <trans-unit id="da166e9a0d27322f6ba8916d71ecc0f9905bb4b1" datatype="html">\n        <source>NOT PROTECTED</source>\n        <target>NON PROTETTO</target>\n      </trans-unit>\n      <trans-unit id="a1506e5f2ca22cad14502ec7a20fb6113ace145d" datatype="html">\n        <source>Wrong date format. Please use "YYYY-MM-DD HH:mm:ss".</source>\n        <target>Formato data errato. Utilizzare "AAAA-MM-GG HH:mm:ss".</target>\n      </trans-unit>\n      <trans-unit id="aa7ea0bb7495281e0b3258467ac7d90a1e44a1a1" datatype="html">\n        <source>Protection has already expired. Please pick a future date or leave it empty.</source>\n        <target>La protezione è già scaduta. Selezionare una data futura o lasciarla vuota.</target>\n      </trans-unit>\n      <trans-unit id="536b3205c0c0d4d21685ec06feccfcf2fe14deb1" datatype="html">\n        <source>Move Image</source>\n        <target>Sposta immagine</target>\n      </trans-unit>\n      <trans-unit id="8a9910cd114c1deb9af74f6f99b4173403965bf2" datatype="html">\n        <source>Gateways</source>\n        <target>Gateways</target>\n      </trans-unit>\n      <trans-unit id="8835b9e49a3348b0a2f2162c21118af1f4bee45a" datatype="html">\n        <source>Must be greater than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'min\'] }}"/>.\n        </source>\n        <target>Must be greater than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'min\'] }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="bbddac59563c8c126e3fe28691e4e247614fcbd1" datatype="html">\n        <source>Must be less than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'max\'] }}"/>.\n        </source>\n        <target>Must be less than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'max\'] }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="e95ae009d0bdb45fcc656e8b65248cf7396080d5" datatype="html">\n        <source>Overview</source>\n        <target>Panoramica</target>\n      </trans-unit>\n      <trans-unit id="bbd2045d5c37e4bb39a3c0fb62ea1ddf70a12838" datatype="html">\n        <source>Targets</source>\n        <target>Destinazioni</target>\n      </trans-unit>\n      <trans-unit id="6803e31b7395d94934e091a49a9524026b59b018" datatype="html">\n        <source>Discovery Authentication</source>\n        <target>Autenticazione rilevazione</target>\n      </trans-unit>\n      <trans-unit id="e08a77594f3d89311cdf6da5090044270909c194" datatype="html">\n        <source>User</source>\n        <target>Utente</target>\n      </trans-unit>\n      <trans-unit id="0214f773f8e394f50f953f39962e352d7863e959" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n              can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>I nomi utente devono avere una lunghezza compresa tra 8 e 64 caratteri e\n              possono contenere solo lettere, \'.\', \'@\', \'-\', \'_\' o \':\'.</target>\n      </trans-unit>\n      <trans-unit id="c32ef07f8803a223a83ed17024b38e8d82292407" datatype="html">\n        <source>Password</source>\n        <target>Password</target>\n      </trans-unit>\n      <trans-unit id="6682d1c00263bee204583a5d589b308b6be88b0f" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n              and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n              and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="ff40391de7a1944ea95091e4045cc34c4979b736" datatype="html">\n        <source>Mutual User</source>\n        <target>Utente reciproco</target>\n      </trans-unit>\n      <trans-unit id="0cf73dbebe99b737c4d288788182fc356e3c93d3" datatype="html">\n        <source>Mutual Password</source>\n        <target>Password reciproca</target>\n      </trans-unit>\n      <trans-unit id="8800276925157c666b103c36ff7fe8ffe11980b4" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters and\n              can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters and\n              can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="53a583cd5f15059cc958b7d547f72cc78f68e123" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n    on how to configure and enable the iSCSI Targets management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n    on how to configure and enable the iSCSI Targets management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="3b301d0044f62c92af0da53d7aaca52a436a547d" datatype="html">\n        <source>Available information:</source>\n        <target>Informazioni disponibili:</target>\n      </trans-unit>\n      <trans-unit id="332227f088a4877b3c11f5fb3ae8bc812c470fae" datatype="html">\n        <source>iSCSI Targets not available</source>\n        <target>Destinazioni iSCSI non disponibili</target>\n      </trans-unit>\n      <trans-unit id="8414a5cb9d71cc1b21b10e4a9d1f2dad558f3361" datatype="html">\n        <source>Discovery authentication</source>\n        <target>Discovery authentication</target>\n      </trans-unit>\n      <trans-unit id="0f6e8f6094b180eaf1f11bc0ffe383f1cdcd059e" datatype="html">\n        <source>Only available for RBD images with \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>fast-diff\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> enabled\n        </source>\n        <target>Only available for RBD images with \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>fast-diff\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> enabled\n        </target>\n      </trans-unit>\n      <trans-unit id="e70fcca5a99575cffef3ff8cbd5e69f06ffd0f1c" datatype="html">\n        <source>Pool</source>\n        <target>Pool</target>\n      </trans-unit>\n      <trans-unit id="03cc5b14b0a20d075e9009ff021f4f1660ba348a" datatype="html">\n        <source>Data Pool</source>\n        <target>Pool di dati</target>\n      </trans-unit>\n      <trans-unit id="1b051734b0ee9021991c91b3ed4e81c244322462" datatype="html">\n        <source>Created</source>\n        <target>Creato</target>\n      </trans-unit>\n      <trans-unit id="7faaaa08f56427999f3be41df1093ce4089bbd75" datatype="html">\n        <source>Size</source>\n        <target>Dimensioni</target>\n      </trans-unit>\n      <trans-unit id="afdb601c16162f2c798b16a2920955f1cc6a20aa" datatype="html">\n        <source>Objects</source>\n        <target>Oggetti</target>\n      </trans-unit>\n      <trans-unit id="ceac8e132384322ec778ba760875a6c6897d3e42" datatype="html">\n        <source>Object size</source>\n        <target>Dimensioni oggetto</target>\n      </trans-unit>\n      <trans-unit id="6cdb1fea93d77c07950c0c76c6e0ad79ebbef084" datatype="html">\n        <source>Features</source>\n        <target>Funzioni</target>\n      </trans-unit>\n      <trans-unit id="0a65771c9a73b9aa609d592fc96a64801a8f40bd" datatype="html">\n        <source>Provisioned</source>\n        <target>Soggetto al provisioning</target>\n      </trans-unit>\n      <trans-unit id="84a36cb75660b736773fe36ffa3d54f0f0fe363e" datatype="html">\n        <source>N/A</source>\n        <target>N/D</target>\n      </trans-unit>\n      <trans-unit id="e5c009342a4e8381f64341d0bb61c2e4685f5a4b" datatype="html">\n        <source>Total provisioned</source>\n        <target>Totale soggetto al provisioning</target>\n      </trans-unit>\n      <trans-unit id="7f6bf8a43ae415f527ac961ea62471b983aaa97b" datatype="html">\n        <source>Striping unit</source>\n        <target>Unità di striping</target>\n      </trans-unit>\n      <trans-unit id="db710e8a8f011923f2d15d713fbae49c38b02b26" datatype="html">\n        <source>Striping count</source>\n        <target>Conteggio di striping</target>\n      </trans-unit>\n      <trans-unit id="3a4c2a9e76634ff14a60d52a718296f722d47c67" datatype="html">\n        <source>Parent</source>\n        <target>Superiore</target>\n      </trans-unit>\n      <trans-unit id="6a209e68d78ffc2cc9c53d2e76158624efab71ad" datatype="html">\n        <source>Block name prefix</source>\n        <target>Prefisso nome blocco</target>\n      </trans-unit>\n      <trans-unit id="5704ec2049d007c5f5fb495a5d8b607e68d58081" datatype="html">\n        <source>Order</source>\n        <target>Ordine</target>\n      </trans-unit>\n      <trans-unit id="f21b1d17b6c5042bb5805516eee37fde33739dd8" datatype="html">\n        <source>Snapshots</source>\n        <target>Snapshot</target>\n      </trans-unit>\n      <trans-unit id="a5f9ba9bb9faa8284bcadb1cdbc6aaf969e9c4bb" datatype="html">\n        <source>Image</source>\n        <target>Immagine</target>\n      </trans-unit>\n      <trans-unit id="58e58f1a8786da9031a05e6770c5dafce82badf5" datatype="html">\n        <source>This setting overrides the global value</source>\n        <target>Questa impostazione sostituisce il valore globale</target>\n      </trans-unit>\n      <trans-unit id="5decb3917d46a9ac6e5813699801becb7c3c1455" datatype="html">\n        <source>Global</source>\n        <target>Globale</target>\n      </trans-unit>\n      <trans-unit id="36b46714164964c6258b08ed0a25f57d8a950f92" datatype="html">\n        <source>This is the global value. No value for this option has been set for this image.</source>\n        <target>Questo è il valore globale. Nessun valore di opzione è stato impostato per questa immagine.</target>\n      </trans-unit>\n      <trans-unit id="6547c9c4d5f62942ac4b1fe459cf9a03d4dbf5a0" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/> from\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/> from\n        </target>\n      </trans-unit>\n      <trans-unit id="0e9ecf29a4fa5b057bd8052e0d801b3fde6a30bf" datatype="html">\n        <source>\'/\' and \'@\' are not allowed.</source>\n        <target>\'/\' e \'@\' non sono consentiti.</target>\n      </trans-unit>\n      <trans-unit id="b99417c4dd46286ffd37c8d2e987c8b512ec7052" datatype="html">\n        <source>-- No rbd pools available --</source>\n        <target>-- Nessun pool rbd disponibile --</target>\n      </trans-unit>\n      <trans-unit id="ef83ec9c304a89d45650e580dcdc2978c37b3a83" datatype="html">\n        <source>-- Select a pool --</source>\n        <target>-- Selezionare un pool --</target>\n      </trans-unit>\n      <trans-unit id="49449943d8cbf59d8c401c8bd2e76f92e207cc5f" datatype="html">\n        <source>Use a dedicated data pool</source>\n        <target>Utilizza un pool di dati dedicato</target>\n      </trans-unit>\n      <trans-unit id="870aee0dd31a9643bf62007beb8f1ae1deb34d42" datatype="html">\n        <source>Data pool</source>\n        <target>Pool di dati</target>\n      </trans-unit>\n      <trans-unit id="3792ca829d9b9f687e1f5d7733d30e9bb0bfec47" datatype="html">\n        <source>Dedicated pool that stores the object-data of the RBD.</source>\n        <target>Pool dedicato che archivia i dati oggetto dell\'RBD.</target>\n      </trans-unit>\n      <trans-unit id="0a88bbee20570aaf9615332fb27020627044874d" datatype="html">\n        <source>You have to increase the size.</source>\n        <target>È necessario aumentare le dimensioni.</target>\n      </trans-unit>\n      <trans-unit id="bc2e854e111ecf2bd7db170da5e3c2ed08181d88" datatype="html">\n        <source>Advanced</source>\n        <target>Avanzate</target>\n      </trans-unit>\n      <trans-unit id="3562a3778695a5f9c0445660e35301f0a39aaf73" datatype="html">\n        <source>Striping</source>\n        <target>Striping</target>\n      </trans-unit>\n      <trans-unit id="ef3c3f3b5f562a5cdbe0ee2874287db1534b5958" datatype="html">\n        <source>Stripe unit</source>\n        <target>Unità di striping</target>\n      </trans-unit>\n      <trans-unit id="84471be1049006edecbcaef1a32ae0893c229c50" datatype="html">\n        <source>-- Select stripe unit --</source>\n        <target>-- Selezionare l\'unità di striping --</target>\n      </trans-unit>\n      <trans-unit id="8d32c5c54c8581c774a7f467fbd4e329b15a74fa" datatype="html">\n        <source>This field is required because stripe count is defined!</source>\n        <target>Questo campo è obbligatorio perché è specificato il numero di striping.</target>\n      </trans-unit>\n      <trans-unit id="6bbf9040be7c5491d4a03f2185708f43a6582a3b" datatype="html">\n        <source>Stripe unit is greater than object size.</source>\n        <target>L\'unità di striping è maggiore delle dimensioni dell\'oggetto.</target>\n      </trans-unit>\n      <trans-unit id="a682f49f9b761591661276d7c6f550e641a130a4" datatype="html">\n        <source>Stripe count</source>\n        <target>Numero di striping</target>\n      </trans-unit>\n      <trans-unit id="baa74031990c5370008ba622d0a250f0929097f4" datatype="html">\n        <source>This field is required because stripe unit is defined!</source>\n        <target>Questo campo è obbligatorio perché è specificata l\'unità di striping.</target>\n      </trans-unit>\n      <trans-unit id="cd2ada6d5ecbd5cbf89eae0a1f5326efedac0dbc" datatype="html">\n        <source>Stripe count must be greater than 0.</source>\n        <target>Il numero di striping deve essere maggiore di 0.</target>\n      </trans-unit>\n      <trans-unit id="3f67f30568e9ae47507d46e28e1e82a7dca772e2" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> RBD Snapshot\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> RBD Snapshot\n        </target>\n      </trans-unit>\n      <trans-unit id="1628d19a4490817c18be2afab410ca4adfa62ea7" datatype="html">\n        <source>{VAR_SELECT, select, true {Rename} other {Create} }</source>\n        <target>{VAR_SELECT, select, true {Rename} other {Create} }</target>\n      </trans-unit>\n      <trans-unit id="73a287b41afe6b28f90edbeb98957a341a0276b4" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> Snapshot\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> Snapshot\n        </target>\n      </trans-unit>\n      <trans-unit id="cb60c1cd3655234756b5b92d4d597d92d520ee30" datatype="html">\n        <source>PROTECTED</source>\n        <target>PROTECTED</target>\n      </trans-unit>\n      <trans-unit id="deffb86b8fb0541254ad5a43862d82bff6b6a6c4" datatype="html">\n        <source>UNPROTECTED</source>\n        <target>NON PROTETTO</target>\n      </trans-unit>\n      <trans-unit id="5c5331983af566d4ac6a1024d15a3511786a4aa6" datatype="html">\n        <source>You are about to rollback</source>\n        <target>Si sta per eseguire il rollback</target>\n      </trans-unit>\n      <trans-unit id="49c0408946a6d67185947f455f15cc201d0d78e6" datatype="html">\n        <source>Purge Trash</source>\n        <target>Elimina definitivamente contenuto del cestino</target>\n      </trans-unit>\n      <trans-unit id="af728625d769b61acf291442644b89edb88faec3" datatype="html">\n        <source>To purge, select one or All images and click</source>\n        <target>Per eliminare definitivamente, selezionare una o tutte le immagini e fare clic su</target>\n      </trans-unit>\n      <trans-unit id="55a4f598a4894b7fd5cb88f0ffd3c37ad009dd70" datatype="html">\n        <source>Pool:</source>\n        <target>Pool:</target>\n      </trans-unit>\n      <trans-unit id="d43dd2b9f7797e4cf3a604695bb33e4479108516" datatype="html">\n        <source>Pool name...</source>\n        <target>Nome pool...</target>\n      </trans-unit>\n      <trans-unit id="dfc3c34e182ea73c5d784ff7c8135f087992dac1" datatype="html">\n        <source>All</source>\n        <target>Tutto</target>\n      </trans-unit>\n      <trans-unit id="b0e7c7ed1d51a0c205c815048bc9f79e24ee6db2" datatype="html">\n        <source>Restore Image</source>\n        <target>Ripristina immagine</target>\n      </trans-unit>\n      <trans-unit id="7369384817e0ad61ce871c9afdfbb538df2f97c1" datatype="html">\n        <source>To restore</source>\n        <target>Per ripristinare,</target>\n      </trans-unit>\n      <trans-unit id="e7f0abefc608f7fb452c2dc9b1cdc3dec432160e" datatype="html">\n        <source>type the image\'s new name and click</source>\n        <target>digitare il nuovo nome dell\'immagine e fare clic su</target>\n      </trans-unit>\n      <trans-unit id="41307dd56fea669eed72e12a6c23af275f6bfd82" datatype="html">\n        <source>New Name</source>\n        <target>Nuovo nome</target>\n      </trans-unit>\n      <trans-unit id="5c96a761dc55a21882c132c929583a424c9b8cf4" datatype="html">\n        <source>Expired at</source>\n        <target>Scaduto alle</target>\n      </trans-unit>\n      <trans-unit id="661041e3fcff4d3e75c561e038ca2504cf2cc643" datatype="html">\n        <source>Protected until</source>\n        <target>Protetto fino alle</target>\n      </trans-unit>\n      <trans-unit id="0ee3b2322a1d3277f7e3fdb8a5141ac42bcf350b" datatype="html">\n        <source>This image is protected until \n          <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.\n        </source>\n        <target>This image is protected until \n          <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="aba82bfd8e177d35b76cad7cd43941f8e5e5acac" datatype="html">\n        <source>Trash</source>\n        <target>Cestino</target>\n      </trans-unit>\n      <trans-unit id="a674ab267d1934bf395f87ca1503fd474296893f" datatype="html">\n        <source>iSCSI Topology</source>\n        <target>Topologia iSCSI</target>\n      </trans-unit>\n      <trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html">\n        <source>Settings</source>\n        <target>Impostazioni</target>\n      </trans-unit>\n      <trans-unit id="9e515f954730279c31d5301f02479666d6264e8b" datatype="html">\n        <source>Changing these parameters from their default values is usually not necessary.</source>\n        <target>Di solito non è necessario modificare questi parametri rispetto ai valori di default.</target>\n      </trans-unit>\n      <trans-unit id="69a47cbabcc51ca942606e1d8da0ec11f98a2690" datatype="html">\n        <source>Backstore</source>\n        <target>Backstore</target>\n      </trans-unit>\n      <trans-unit id="68e710782ccb5398b3acb8844caf0b199da2c3da" datatype="html">\n        <source>Confirm</source>\n        <target>Conferma</target>\n      </trans-unit>\n      <trans-unit id="339878da255ab55447c43afef8d9b2f9753bf5f6" datatype="html">\n        <source>Advanced Settings</source>\n        <target>Impostazioni avanzate</target>\n      </trans-unit>\n      <trans-unit id="1406c2fb12a20c1528b19bcc5e24a6a2386167f3" datatype="html">\n        <source>Target IQN</source>\n        <target>IQN di destinazione</target>\n      </trans-unit>\n      <trans-unit id="5fe42339be910372fa689f559155631862d218e8" datatype="html">\n        <source>IQN has wrong pattern.</source>\n        <target>IQN contiene un modello errato.</target>\n      </trans-unit>\n      <trans-unit id="050a7ff057d1e895357540406b6be5652b4d1c71" datatype="html">\n        <source>An IQN has the following notation\n                \'iqn.$year-$month.$reversedAddress:$definedName\'</source>\n        <target>An IQN has the following notation\n                \'iqn.$year-$month.$reversedAddress:$definedName\'</target>\n      </trans-unit>\n      <trans-unit id="c8ada4b53396d8366db00a435acc61d53d857047" datatype="html">\n        <source>For example: iqn.2016-06.org.dashboard:storage:disk.sn-a8675309</source>\n        <target>Ad esempio: iqn.2016-06.org.dashboard:storage:disk.sn-a8675309</target>\n      </trans-unit>\n      <trans-unit id="e60c11e1b1dfbbeda577364b8de39ded2d796c5e" datatype="html">\n        <source>More information</source>\n        <target>Ulteriori informazioni</target>\n      </trans-unit>\n      <trans-unit id="9b1aa85dfc6849196e64060db02c5410de69b7a1" datatype="html">\n        <source>This target has modified advanced settings.</source>\n        <target>Questa destinazione contiene impostazioni avanzate modificate.</target>\n      </trans-unit>\n      <trans-unit id="6990ad8d6182662e864495ac31c3758cda1c7a28" datatype="html">\n        <source>Portals</source>\n        <target>Portali</target>\n      </trans-unit>\n      <trans-unit id="c3638c01b6c34066438909713ec96087c813fc7e" datatype="html">\n        <source>At least \n          <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.\n        </source>\n        <target>At least \n          <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.\n        </target>\n      </trans-unit>\n      <trans-unit id="6a3ac2b4137d723fd9878cd357c2012ff6c07973" datatype="html">\n        <source>Add portal</source>\n        <target>Aggiungi portale</target>\n      </trans-unit>\n      <trans-unit id="9aff25be088f0efe3eaaf62edf2bff41cc41a617" datatype="html">\n        <source>Backstore: \n          <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. \n        </source>\n        <target>Backstore: \n          <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. \n        </target>\n      </trans-unit>\n      <trans-unit id="e3484cae8b118c576ca2815bf9c9406c2eb2cae3" datatype="html">\n        <source>This image has modified settings.</source>\n        <target>Questa immagine contiene impostazioni modificate.</target>\n      </trans-unit>\n      <trans-unit id="107c84e820909b44fe258673938a68ced1bbff72" datatype="html">\n        <source>At least 1 image is required.</source>\n        <target>È richiesta almeno 1 immagine.</target>\n      </trans-unit>\n      <trans-unit id="808038f912fdc7f0e03f82d4afd3bf9178527fc8" datatype="html">\n        <source>Add image</source>\n        <target>Aggiungi immagine</target>\n      </trans-unit>\n      <trans-unit id="66c5fb27f52e75b70ca4b670b9b15a2a51cf9543" datatype="html">\n        <source>ACL authentication</source>\n        <target>Autenticazione ACL</target>\n      </trans-unit>\n      <trans-unit id="419c8b402609dcf49ae4932a5a4647dc8d79bbaf" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n                can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Usernames must have a length of 8 to 64 characters and\n                can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</target>\n      </trans-unit>\n      <trans-unit id="938050960d6653fddfcfd42425e18fb35a308262" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n                and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n                and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="f494bd31f095f6dcc656ce87ec2dcf07a2e9b30c" datatype="html">\n        <source>Initiators</source>\n        <target>Iniziatori</target>\n      </trans-unit>\n      <trans-unit id="e98239d8a6be1100119ff4b5630c822b82786740" datatype="html">\n        <source>Initiator</source>\n        <target>Iniziatore</target>\n      </trans-unit>\n      <trans-unit id="f2c5059d8cda15d8d03e2cce30f2d139623d9a91" datatype="html">\n        <source>Client IQN</source>\n        <target>IQN client</target>\n      </trans-unit>\n      <trans-unit id="107d5aabce23d900f0a80e6ddc1c10e29aa0bed8" datatype="html">\n        <source>Initiator IQN needs to be unique.</source>\n        <target>L\'IQN dell\'iniziatore deve essere univoco.</target>\n      </trans-unit>\n      <trans-unit id="bbf0b34a3fcc80800fcb44b9e1e86931a530dfe3" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n                        can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>I nomi utente devono avere una lunghezza compresa tra 8 e 64 caratteri e\n                        possono contenere solo lettere, \'.\', \'@\', \'-\', \'_\' o \':\'.</target>\n      </trans-unit>\n      <trans-unit id="fdfee5d7a27e1bdd97a176097277bee078de6aaf" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n                        and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n                        and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="8406eb7415ee40e54d9ecb209abb056f06e3d666" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters and\n                        can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters and\n                        can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="5d1878d5fc761cbe9614bfd87047a740c82a6951" datatype="html">\n        <source>Initiator belongs to a group. Images will be configure in the group.</source>\n        <target>L\'iniziatore appartiene a un gruppo. Le immagini verranno configurate nel gruppo.</target>\n      </trans-unit>\n      <trans-unit id="c0de67b9d97fafbf200f9451e8388ee8128a56ac" datatype="html">\n        <source>No items added.</source>\n        <target>Nessun elemento aggiunto.</target>\n      </trans-unit>\n      <trans-unit id="d565e47726158e428ecdc952fc9233b9b7d7f049" datatype="html">\n        <source>Add initiator</source>\n        <target>Aggiungi iniziatore</target>\n      </trans-unit>\n      <trans-unit id="c22ba03540aa3217da059f45e7eab138b51a96e2" datatype="html">\n        <source>Groups</source>\n        <target>Gruppi</target>\n      </trans-unit>\n      <trans-unit id="4c90059afafb7e160384d9f512797c95bb95c6dc" datatype="html">\n        <source>Group</source>\n        <target>Gruppo</target>\n      </trans-unit>\n      <trans-unit id="3084948274cff4f56d0f431af47240e9cf02fcc7" datatype="html">\n        <source>Add group</source>\n        <target>Aggiungi gruppo</target>\n      </trans-unit>\n      <trans-unit id="66db799d67958d4b0765181d072df62e2d1c16f5" datatype="html">\n        <source>Issues</source>\n        <target>Problemi</target>\n      </trans-unit>\n      <trans-unit id="ef06d69259e587e28d52372455f44c7153cda7e7" datatype="html">\n        <source>Syncing</source>\n        <target>Sincronizzazione in corso</target>\n      </trans-unit>\n      <trans-unit id="0b0901877d837d3fda16ba161eb74368d1c75b7a" datatype="html">\n        <source>Ready</source>\n        <target>Pronto</target>\n      </trans-unit>\n      <trans-unit id="4057c56d63a7e9b140b1d01871a9229a5f30eb27" datatype="html">\n        <source>Edit pool mirror mode</source>\n        <target>Modifica modalità speculare per il pool</target>\n      </trans-unit>\n      <trans-unit id="e1f367f5feaab38f6637dd1f967c848b447dea2d" datatype="html">\n        <source>To edit the mirror mode for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>, select a new mode from the list and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>To edit the mirror mode for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>, select a new mode from the list and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="32ca348ef926b0a6a7a780b8b64c3a8239895cec" datatype="html">\n        <source>Peer clusters must be removed prior to disabling mirror.</source>\n        <target>È necessario rimuovere i cluster peer prima di disabilitare la copia speculare.</target>\n      </trans-unit>\n      <trans-unit id="fa61522d482349707fd7dd03b90dc5781611b17f" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/>\n  pool mirror peer\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/>\n  pool mirror peer\n        </target>\n      </trans-unit>\n      <trans-unit id="4ddcb416c1c0aa1f54acf5beef1de81813e76fa6" datatype="html">\n        <source>{VAR_SELECT, select, edit {Edit} other {Add} }</source>\n        <target>{VAR_SELECT, select, edit {Edit} other {Add} }</target>\n      </trans-unit>\n      <trans-unit id="59ca65ece457429d90104ede4674965f62edbabe" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/> the pool\n          mirror peer attributes for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> and click\n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Submit\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/> the pool\n          mirror peer attributes for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> and click\n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Submit\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="d3cc964811f852a168f4a2d5daa59068abc5cf53" datatype="html">\n        <source>Cluster Name</source>\n        <target>Nome cluster</target>\n      </trans-unit>\n      <trans-unit id="b631721fc56cb7fb1cbd07b802a487c5753f6a2d" datatype="html">\n        <source>The cluster name is not valid.</source>\n        <target>Il nome del cluster non è valido.</target>\n      </trans-unit>\n      <trans-unit id="ca6deafa31bf421f85094807982aee4bcb20a3ae" datatype="html">\n        <source>CephX ID</source>\n        <target>ID CephX</target>\n      </trans-unit>\n      <trans-unit id="7539188a568c3d553cbde1bacaf32310c4264e24" datatype="html">\n        <source>CephX ID...</source>\n        <target>ID CephX...</target>\n      </trans-unit>\n      <trans-unit id="a1c45b594b0fba22fc64e80c793a7ffe005fdb0e" datatype="html">\n        <source>The CephX ID is not valid.</source>\n        <target>L\'ID CephX non è valido.</target>\n      </trans-unit>\n      <trans-unit id="20861576fcfce773c918c782cd4f5adf32382921" datatype="html">\n        <source>Monitor Addresses</source>\n        <target>Indirizzi dei monitor</target>\n      </trans-unit>\n      <trans-unit id="fa28eeed2b4bd4ccbe6e9349a1c2b3cb1c5de70a" datatype="html">\n        <source>Comma-delimited addresses...</source>\n        <target>Indirizzi con valori delimitati da virgole...</target>\n      </trans-unit>\n      <trans-unit id="dc016c82fd85848d5c1b2fd0e8469ee2027d9c16" datatype="html">\n        <source>The monitory address is not valid.</source>\n        <target>L\'indirizzo del monitor non è valido.</target>\n      </trans-unit>\n      <trans-unit id="e0ac55b83dc6739e62bc655cfe375b67c93e7f4a" datatype="html">\n        <source>CephX Key</source>\n        <target>Chiave CephX</target>\n      </trans-unit>\n      <trans-unit id="f53434bcb95bd86f1df9c8e22966f757614fc4ad" datatype="html">\n        <source>Base64-encoded key...</source>\n        <target>Chiave con codifica Base64...</target>\n      </trans-unit>\n      <trans-unit id="4cd83164cd4f66b4abc2863f9ce6f599d789e4ca" datatype="html">\n        <source>CephX key must be base64 encoded.</source>\n        <target>La chiave CephX deve essere con codifica Base64.</target>\n      </trans-unit>\n      <trans-unit id="ca53d681a9892d6fdbb57ee9676582186515e961" datatype="html">\n        <source>Performance counters not available</source>\n        <target>Contatori delle prestazioni non disponibili</target>\n      </trans-unit>\n      <trans-unit id="9424badb7e0c6ac792d020d7830645b529a80aad" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the Object Gateway management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the Object Gateway management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="479488ab6e91ecb375484edc78bee3d13467f33f" datatype="html">\n        <source>Daemons List</source>\n        <target>Elenco dei daemon</target>\n      </trans-unit>\n      <trans-unit id="eeba399c4dae8d4890c27b7a2cd2dc28fcf8b5f9" datatype="html">\n        <source>Performance Counters</source>\n        <target>Contatori delle prestazioni</target>\n      </trans-unit>\n      <trans-unit id="5f67f2247b9c6bbaf24a0f2d37f4ac0537c6fa53" datatype="html">\n        <source>Loading bucket data...</source>\n        <target>Caricamento dati compartimento in corso...</target>\n      </trans-unit>\n      <trans-unit id="2798cc1e152b1ec07fd8daf94a2a073d1ba1ebcc" datatype="html">\n        <source>Id</source>\n        <target>ID</target>\n      </trans-unit>\n      <trans-unit id="db4e1a734518691b128ef40b939cc673f01d03a6" datatype="html">\n        <source>The value is not valid.</source>\n        <target>Il valore non è valido.</target>\n      </trans-unit>\n      <trans-unit id="eabb4db920d9f9b2480cf438468b86e1bea02a9b" datatype="html">\n        <source>The chosen name is already in use.</source>\n        <target>Il nome scelto è già in uso.</target>\n      </trans-unit>\n      <trans-unit id="0ee5132a8da30e0b7f9f5c70dbc91928d17dd909" datatype="html">\n        <source>Owner</source>\n        <target>Proprietario</target>\n      </trans-unit>\n      <trans-unit id="8e4c918357c7445fbf19a203e5f0f0ece1960b3b" datatype="html">\n        <source>-- Select a user --</source>\n        <target>-- Selezionare un utente --</target>\n      </trans-unit>\n      <trans-unit id="a4aab1f837bc8ec222e4f25922465d1c5929a1fc" datatype="html">\n        <source>Placement target</source>\n        <target>Placement target</target>\n      </trans-unit>\n      <trans-unit id="6bae0a7fc2c9c1fde7d937a8a1a3c7e6825cf7d1" datatype="html">\n        <source>-- Select a placement target --</source>\n        <target>-- Select a placement target --</target>\n      </trans-unit>\n      <trans-unit id="efeade5060b3add63863c24871f0830fb16b7e6d" datatype="html">\n        <source>Versioning</source>\n        <target>Versioning</target>\n      </trans-unit>\n      <trans-unit id="f50a33d3c339f8f4a465141f8caa5d2d8c005251" datatype="html">\n        <source>Enabled</source>\n        <target>Abilitato</target>\n      </trans-unit>\n      <trans-unit id="016d24e069e7d505a090fb8243e5cd43b35dc39b" datatype="html">\n        <source>Enables versioning for the objects in the bucket.</source>\n        <target>Enables versioning for the objects in the bucket.</target>\n      </trans-unit>\n      <trans-unit id="92f3f203270a29b3001871153f02c063484a1574" datatype="html">\n        <source>Suspended</source>\n        <target>Sospeso</target>\n      </trans-unit>\n      <trans-unit id="cd6a798fd0f85cd7e31a57c58074f25035d7850d" datatype="html">\n        <source>Disables versioning for the objects in the bucket.</source>\n        <target>Disables versioning for the objects in the bucket.</target>\n      </trans-unit>\n      <trans-unit id="45cc8ca94b5a50842a9a8ef804a5ab089a38ae5c" datatype="html">\n        <source>ID</source>\n        <target>ID</target>\n      </trans-unit>\n      <trans-unit id="e5c51963a9c553b29427ef783bbb69fa6634fa8c" datatype="html">\n        <source>Index type</source>\n        <target>Tipo di indice</target>\n      </trans-unit>\n      <trans-unit id="8e6f950a32eaea32ec7e192f9ca3d3dfe469d4ba" datatype="html">\n        <source>Placement rule</source>\n        <target>Regola di posizionamento</target>\n      </trans-unit>\n      <trans-unit id="6972d213e31c4ea4f887e60db99d9881bc8fcd3e" datatype="html">\n        <source>Marker</source>\n        <target>Contrassegno</target>\n      </trans-unit>\n      <trans-unit id="47b02acd2d3254d1ace1926f840523f154ebef71" datatype="html">\n        <source>Maximum marker</source>\n        <target>Contrassegno massimo</target>\n      </trans-unit>\n      <trans-unit id="8fe73a4787b8068b2ba61f54ab7e0f9af2ea1fc9" datatype="html">\n        <source>Version</source>\n        <target>Versione</target>\n      </trans-unit>\n      <trans-unit id="092fa3a7df9168b14d3f83a77a4035e92b92ce15" datatype="html">\n        <source>Master version</source>\n        <target>Versione master</target>\n      </trans-unit>\n      <trans-unit id="97434cc5001d407f90c7447a12d9e8e6848a2aa3" datatype="html">\n        <source>Modification time</source>\n        <target>Ora di modifica</target>\n      </trans-unit>\n      <trans-unit id="90fe2e41e7fde38453ce4e619efeea9bc6adea9c" datatype="html">\n        <source>Zonegroup</source>\n        <target>Gruppo di zone</target>\n      </trans-unit>\n      <trans-unit id="649a410bd0ace333d067d8fa22f12bdbdb43533b" datatype="html">\n        <source>Bucket quota</source>\n        <target>Quota compartimenti</target>\n      </trans-unit>\n      <trans-unit id="cef1595d040e77cbb4466e60382028d4c2040cac" datatype="html">\n        <source>Maximum size</source>\n        <target>Dimensioni massime</target>\n      </trans-unit>\n      <trans-unit id="aa6fb95c355f172bda303de1ce2f38c251a149cf" datatype="html">\n        <source>Unlimited</source>\n        <target>Illimitato</target>\n      </trans-unit>\n      <trans-unit id="ee862a800364b4d11f9b8cb9955a28a60f840a45" datatype="html">\n        <source>Maximum objects</source>\n        <target>Numero massimo di oggetti</target>\n      </trans-unit>\n      <trans-unit id="08c74dc9762957593b91f6eb5d65efdfc975bf48" datatype="html">\n        <source>Username</source>\n        <target>Nome utente</target>\n      </trans-unit>\n      <trans-unit id="49c614babd1950adb2be75df4e2c9747286d6adc" datatype="html">\n        <source>-- Select a username --</source>\n        <target>-- Selezionare un nome utente --</target>\n      </trans-unit>\n      <trans-unit id="c217ee914725a37e9dd2336c721c8e63e9666bdc" datatype="html">\n        <source>Auto-generate key</source>\n        <target>Generazione automatica chiave</target>\n      </trans-unit>\n      <trans-unit id="2f1c1c0f2bce4c9f92d1a2061e8161cb0006c31a" datatype="html">\n        <source>Access key</source>\n        <target>Chiave di accesso</target>\n      </trans-unit>\n      <trans-unit id="b864acb67296a9819c1db0069c4c47d8b5ce8f44" datatype="html">\n        <source>Secret key</source>\n        <target>Chiave segreta</target>\n      </trans-unit>\n      <trans-unit id="b760f123248930122fc7e7b6b6bf94e376e959c8" datatype="html">\n        <source>Full name</source>\n        <target>Nome completo</target>\n      </trans-unit>\n      <trans-unit id="69b6ac577a19acc39fc0c22342092f327fff2529" datatype="html">\n        <source>Email address</source>\n        <target>Indirizzo e-mail</target>\n      </trans-unit>\n      <trans-unit id="8011e20c5bbe51602d459a860fbf29b599b55edd" datatype="html">\n        <source>System</source>\n        <target>Sistema</target>\n      </trans-unit>\n      <trans-unit id="db18a2772988415466a7f75dc42663ce78c9c1d3" datatype="html">\n        <source>Maximum buckets</source>\n        <target>Numero massimo di compartimenti</target>\n      </trans-unit>\n      <trans-unit id="2c4c62e8ba24601be5cfe7dc5d32c24bbbd4b53c" datatype="html">\n        <source>Subusers</source>\n        <target>Sottoutenti</target>\n      </trans-unit>\n      <trans-unit id="17bb3082e6fe5003203ef992a3714172334631a1" datatype="html">\n        <source>Capabilities</source>\n        <target>Capacità</target>\n      </trans-unit>\n      <trans-unit id="36ad38f9c1a1485e09b67778a28af84553290ffb" datatype="html">\n        <source>User quota</source>\n        <target>Quota utenti</target>\n      </trans-unit>\n      <trans-unit id="2aba1e87039819aca3b70faa9aa848c12bf139ca" datatype="html">\n        <source>Show</source>\n        <target>Mostra</target>\n      </trans-unit>\n      <trans-unit id="0bcd5ef19af0f1b814141ca8c57df623d8270088" datatype="html">\n        <source>Keys</source>\n        <target>Chiavi</target>\n      </trans-unit>\n      <trans-unit id="f61c6867295f3b53d23557021f2f4e0aa1d0b8fc" datatype="html">\n        <source>Type</source>\n        <target>Tipo</target>\n      </trans-unit>\n      <trans-unit id="1221ca97d19eaa9a7bc0c5243d5fc5befe1d2314" datatype="html">\n        <source>-- Select a type --</source>\n        <target>-- Selezionare un tipo --</target>\n      </trans-unit>\n      <trans-unit id="d1b8990332af18f1c5159a6061ca889bcbb28432" datatype="html">\n        <source>Permission</source>\n        <target>Autorizzazione</target>\n      </trans-unit>\n      <trans-unit id="a08c589f82f69d892307288da14190ae1dd583d5" datatype="html">\n        <source>-- Select a permission --</source>\n        <target>-- Selezionare un\'autorizzazione --</target>\n      </trans-unit>\n      <trans-unit id="b2841767821d6b66238c34d07e413b0af67aee92" datatype="html">\n        <source>Subuser</source>\n        <target>Sottoutente</target>\n      </trans-unit>\n      <trans-unit id="bd59fc25a7bd98cff3e75117c09697c8a007a514" datatype="html">\n        <source>The chosen subuser ID is already in use.</source>\n        <target>L\'ID del sottoutente scelto è già in uso.</target>\n      </trans-unit>\n      <trans-unit id="3d386c357ebcbc04ed05c4babd5a03626f9b1674" datatype="html">\n        <source>read, write</source>\n        <target>lettura, scrittura</target>\n      </trans-unit>\n      <trans-unit id="84e3e3f9a4f31a039b648c97debf95fcb20f4c4a" datatype="html">\n        <source>full</source>\n        <target>pieno</target>\n      </trans-unit>\n      <trans-unit id="b6bf81d032a2316464f9df2f0d2f3d753f89f0d3" datatype="html">\n        <source>Swift key</source>\n        <target>Chiave Swift</target>\n      </trans-unit>\n      <trans-unit id="1e0c12685d50d47448ceed9423977ef39775c037" datatype="html">\n        <source>Auto-generate secret</source>\n        <target>Generazione automatica segreto</target>\n      </trans-unit>\n      <trans-unit id="3d1c7a6004bd5d86a7fa096ae24209e8aa7a53e3" datatype="html">\n        <source>Loading user data...</source>\n        <target>Caricamento dati utente in corso...</target>\n      </trans-unit>\n      <trans-unit id="faa5d834ab28571423d794d32b57998920efb65f" datatype="html">\n        <source>The user data could not be loaded.</source>\n        <target>Impossibile caricare i dati utente.</target>\n      </trans-unit>\n      <trans-unit id="6aaf5d2a304167272ac73e3b1d1c162e16c77858" datatype="html">\n        <source>The chosen user ID is already in use.</source>\n        <target>L\'ID utente scelto è già in uso.</target>\n      </trans-unit>\n      <trans-unit id="df441e80db2157f9d272b75de724ba4a82b96b57" datatype="html">\n        <source>This is not a valid email address.</source>\n        <target>Non è un indirizzo e-mail valido.</target>\n      </trans-unit>\n      <trans-unit id="ca271adf154956b8fcb28f4f50a37acb3057ff7c" datatype="html">\n        <source>The chosen email address is already in use.</source>\n        <target>L\'indirizzo e-mail scelto è già in uso.</target>\n      </trans-unit>\n      <trans-unit id="030197cebe938edf35422e92fe14183d06eb670b" datatype="html">\n        <source>Max. buckets</source>\n        <target>Numero max. di compartimenti</target>\n      </trans-unit>\n      <trans-unit id="623ac50f37a26caec6fd7cd519b653e3315cba25" datatype="html">\n        <source>The entered value must be &gt;= 0.</source>\n        <target>Il valore immesso deve essere &gt;= a 0.</target>\n      </trans-unit>\n      <trans-unit id="583a219c524155c2314eb06ee29162bb315272a3" datatype="html">\n        <source>S3 key</source>\n        <target>Chiave S3</target>\n      </trans-unit>\n      <trans-unit id="128d6efb51d9ddc7c0cc695a2deeca5b9523f6e4" datatype="html">\n        <source>There are no subusers.</source>\n        <target>Non esistono sottoutenti.</target>\n      </trans-unit>\n      <trans-unit id="7fd6dfb8ecb982dbc3affb2c2d5414c4f5b6abd2" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ subuserLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ subuserLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="67c746c1ba9dab4351fedc4c7cba4e6d6b0dbc47" datatype="html">\n        <source>S3</source>\n        <target>S3</target>\n      </trans-unit>\n      <trans-unit id="d6819038d608623503918fb2553f53d68231ec3a" datatype="html">\n        <source>There are no keys.</source>\n        <target>Non esistono chiavi.</target>\n      </trans-unit>\n      <trans-unit id="fc1c1a7140ff6b815a95b65ee2780fdbe1b2b7a1" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ s3keyLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ s3keyLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6ddb5e991a3ecd2659fb520bc5acc81b67e08ddd" datatype="html">\n        <source>Swift</source>\n        <target>Swift</target>\n      </trans-unit>\n      <trans-unit id="1d01eccdda47fc907c5be35bcb16d2dcd02b0270" datatype="html">\n        <source>There are no capabilities.</source>\n        <target>Non esistono capacità.</target>\n      </trans-unit>\n      <trans-unit id="043e2ec0036ceadd926fd5e3f93cd6f3565f3648" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.ADD | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.ADD | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6146e13ceca5fa5cc17b771b282fe5955f3d19fa" datatype="html">\n        <source>Unlimited size</source>\n        <target>Dimensioni illimitate</target>\n      </trans-unit>\n      <trans-unit id="f6db8aa7c99fdce18edb33dde57729acede2b308" datatype="html">\n        <source>Max. size</source>\n        <target>Dimensione max.</target>\n      </trans-unit>\n      <trans-unit id="fc630b2093e880fffa19df99d5cd8b87605037f8" datatype="html">\n        <source>Unlimited objects</source>\n        <target>Oggetti illimitati</target>\n      </trans-unit>\n      <trans-unit id="6cda5a993d06f0bb10048be9d3aba6555aa9f356" datatype="html">\n        <source>Max. objects</source>\n        <target>Numero max. di oggetti</target>\n      </trans-unit>\n      <trans-unit id="1ea5c4d8942c00752dcc72e72949c5d9832f6399" datatype="html">\n        <source>Description...</source>\n        <target>Descrizione...</target>\n      </trans-unit>\n      <trans-unit id="70f45880fce6ac5d8e468e25e82aefbba8098cfe" datatype="html">\n        <source>Permissions</source>\n        <target>Autorizzazioni</target>\n      </trans-unit>\n      <trans-unit id="9610487cbeb5796d34d8601b5ac0c0a65f9e1d19" datatype="html">\n        <source>Roles</source>\n        <target>Ruoli</target>\n      </trans-unit>\n      <trans-unit id="7f3bdcce4b2e8c37cd7f0f6c92ef8cff34b039b8" datatype="html">\n        <source>Confirm password</source>\n        <target>Conferma password</target>\n      </trans-unit>\n      <trans-unit id="cbb979e63ba50e0ca3adfa09cbdcaefd0853fca1" datatype="html">\n        <source>Password confirmation doesn\'t match the password.</source>\n        <target>La password di conferma non corrisponde alla password.</target>\n      </trans-unit>\n      <trans-unit id="244aae9346da82b0922506c2d2581373a15641cc" datatype="html">\n        <source>Email</source>\n        <target>E-mail</target>\n      </trans-unit>\n      <trans-unit id="d0ec081dd61eb4f43aea269077bbe38eae87b7f9" datatype="html">\n        <source>Invalid email.</source>\n        <target>E-mail non valida.</target>\n      </trans-unit>\n      <trans-unit id="0051a3479d3ba79135c16dc8cc017950a2cce821" datatype="html">\n        <source>You are about to remove "user read / update" permissions from your own user.</source>\n        <target>Si stanno per rimuovere le autorizzazioni di "lettura/aggiornamento utente" dal proprio utente.</target>\n      </trans-unit>\n      <trans-unit id="af4bf9fcb256853f14cf947eb1deb8d7f176d3f9" datatype="html">\n        <source>If you continue, you will no longer be able to add or remove roles from any user.</source>\n        <target>Se si continua, non è più possibile aggiungere o rimuovere ruoli da qualsiasi utente.</target>\n      </trans-unit>\n      <trans-unit id="7d1dcf2a9146caac0581329acf94806ec69a89a5" datatype="html">\n        <source>Are you sure you want to continue?</source>\n        <target>Continuare?</target>\n      </trans-unit>\n      <trans-unit id="85b79c9064aed1ead31ace985f31aa1363f6bdaf" datatype="html">\n        <source>Help</source>\n        <target>Guida</target>\n      </trans-unit>\n      <trans-unit id="fcfd4675b4c90f08d18d3abede9a9a4dff4cfdc7" datatype="html">\n        <source>Documentation</source>\n        <target>Documentazione</target>\n      </trans-unit>\n      <trans-unit id="e351b40b3869a5c7d19c3d4918cb1ac7aaab95c4" datatype="html">\n        <source>API</source>\n        <target>API</target>\n      </trans-unit>\n      <trans-unit id="004b222ff9ef9dd4771b777950ca1d0e4cd4348a" datatype="html">\n        <source>About</source>\n        <target>Informazioni su</target>\n      </trans-unit>\n      <trans-unit id="1481ecd21e760ac919a24e26cf790acd82e40199" datatype="html">\n        <source>Dashboard Settings</source>\n        <target>Impostazioni del dashboard</target>\n      </trans-unit>\n      <trans-unit id="a79aab4ef674bf3f6532292107c0054302236e0f" datatype="html">\n        <source>User management</source>\n        <target>Gestione utenti</target>\n      </trans-unit>\n      <trans-unit id="049dfd9fe6c78914ad58cf89ac6a631fca28ec74" datatype="html">\n        <source>Logged in user</source>\n        <target>Utente connesso</target>\n      </trans-unit>\n      <trans-unit id="cd38a58e73f306d838e621959d47d5e7a2f06d1f" datatype="html">\n        <source>Signed in as\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ username }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>\n        </source>\n        <target>Signed in as\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ username }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="739516c2ca75843d5aec9cf0e6b3e4335c4227b9" datatype="html">\n        <source>Change password</source>\n        <target>Change password</target>\n      </trans-unit>\n      <trans-unit id="5d22c795daf43877a5f708dca2bccd549eb0471d" datatype="html">\n        <source>Sign out</source>\n        <target>Disconnetti</target>\n      </trans-unit>\n      <trans-unit id="91853167141c37b58868f3b0421383dd72fa8a01" datatype="html">\n        <source>Attributes (OSD map)</source>\n        <target>Attributi (mappa OSD)</target>\n      </trans-unit>\n      <trans-unit id="97842f379e1d4157ac3ab0661b90c352e7cb72d5" datatype="html">\n        <source>Metadata not available</source>\n        <target>Metadati non disponibili</target>\n      </trans-unit>\n      <trans-unit id="f721a500a68c357e8f2a01e60510f6a01e4ba529" datatype="html">\n        <source>Metadata</source>\n        <target>Metadati</target>\n      </trans-unit>\n      <trans-unit id="deba10b7279a589d01e919ea11f43c79ca1773e3" datatype="html">\n        <source>Device health</source>\n        <target>Device health</target>\n      </trans-unit>\n      <trans-unit id="d24e28e19c5703d7c6be44f4eb595a6a43b618ed" datatype="html">\n        <source>Performance counter</source>\n        <target>Contatore delle prestazioni</target>\n      </trans-unit>\n      <trans-unit id="d1f7c81ed9c5034af4abcdf119b1c1e86cd019dd" datatype="html">\n        <source>Histogram not available: \n          <x id="INTERPOLATION" equiv-text="{{ osd.histogram_failed }}"/>\n        </source>\n        <target>Histogram not available: \n          <x id="INTERPOLATION" equiv-text="{{ osd.histogram_failed }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="868abfff914873d1c65df798d8432ed04b8ae2a9" datatype="html">\n        <source>Writes</source>\n        <target>Scritture</target>\n      </trans-unit>\n      <trans-unit id="996ebb9a653b5067f97bf3891ea9d2108e969492" datatype="html">\n        <source>Reads</source>\n        <target>Letture</target>\n      </trans-unit>\n      <trans-unit id="65ac79790aa477a97b1cc579e18a115a8df8918f" datatype="html">\n        <source>Histogram</source>\n        <target>Istogramma</target>\n      </trans-unit>\n      <trans-unit id="26fb5f81b3581f06b9210defb0e71dc69a67e819" datatype="html">\n        <source>Current values</source>\n        <target>Valori attuali</target>\n      </trans-unit>\n      <trans-unit id="9abcd7c82643d60c22733470463f74e4a54bc069" datatype="html">\n        <source>Min</source>\n        <target>Min</target>\n      </trans-unit>\n      <trans-unit id="c3ced4d162a0a55ee233a187ce7208ba5e922418" datatype="html">\n        <source>Max</source>\n        <target>Max</target>\n      </trans-unit>\n      <trans-unit id="6834fa6b43d1ecbdf147c48dd9c4d72f1484571d" datatype="html">\n        <source>Source</source>\n        <target>Origine</target>\n      </trans-unit>\n      <trans-unit id="a446fb0eb11fbffcac805ece5a2d306d24e733d8" datatype="html">\n        <source>Level</source>\n        <target>Livello</target>\n      </trans-unit>\n      <trans-unit id="39f2fb094e9b2eda13163fa3f3a31594cf9c1307" datatype="html">\n        <source>Can be updated at runtime (editable)</source>\n        <target>Può essere aggiornato al runtime (modificabile)</target>\n      </trans-unit>\n      <trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b" datatype="html">\n        <source>Tags</source>\n        <target>Tag</target>\n      </trans-unit>\n      <trans-unit id="ab0089ef47af61ca1d137bc908b96c290dfd9287" datatype="html">\n        <source>Enum values</source>\n        <target>Valori di enumerazione</target>\n      </trans-unit>\n      <trans-unit id="819476f1264f1659f38e86f6abb542141b184832" datatype="html">\n        <source>See also</source>\n        <target>Vedere anche</target>\n      </trans-unit>\n      <trans-unit id="d82a9af5b05e7cd17640f196f163771685ff8df6" datatype="html">\n        <source>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</source>\n        <target>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</target>\n      </trans-unit>\n      <trans-unit id="a185c9b97513b3882604ea9bab60edbfac945c15" datatype="html">\n        <source>SMART overall-health self-assessment test result</source>\n        <target>SMART overall-health self-assessment test result</target>\n      </trans-unit>\n      <trans-unit id="ddd5dd6d930030096ea617f62c82b648a0dd9484" datatype="html">\n        <source>Device Information</source>\n        <target>Device Information</target>\n      </trans-unit>\n      <trans-unit id="79c6bf990ea5b4d83bbf8f9e399f4bd933a1ebfc" datatype="html">\n        <source>S.M.A.R.T</source>\n        <target>S.M.A.R.T</target>\n      </trans-unit>\n      <trans-unit id="05c17e08939cbef1a5df5386263b1701e8d5742e" datatype="html">\n        <source>S.M.A.R.T data is loading.</source>\n        <target>S.M.A.R.T data is loading.</target>\n      </trans-unit>\n      <trans-unit id="73caac4265ea7314ff061e5a1d78a6361a6dd3b8" datatype="html">\n        <source>Cluster Status</source>\n        <target>Stato del cluster</target>\n      </trans-unit>\n      <trans-unit id="1d4bc612bbf19aa9553853266b9e92c9d75f4464" datatype="html">\n        <source>Manager Daemons</source>\n        <target>Manager Daemon</target>\n      </trans-unit>\n      <trans-unit id="946ac5dea9921dc09d7b0a63b89535371f283b19" datatype="html">\n        <source>Object Gateways</source>\n        <target>Object Gateway</target>\n      </trans-unit>\n      <trans-unit id="ff03fa5bcf37c4da46ad736c1f7d03f959e8ba9a" datatype="html">\n        <source>Metadata Servers</source>\n        <target>Server di metadati</target>\n      </trans-unit>\n      <trans-unit id="d817609ba4993eba859409ab71e566168f4d5f5a" datatype="html">\n        <source>iSCSI Gateways</source>\n        <target>iSCSI Gateway</target>\n      </trans-unit>\n      <trans-unit id="42c13e50391250ea9379bdf55d5d6c0228c0c8bc" datatype="html">\n        <source>Client IOPS</source>\n        <target>IOPS client</target>\n      </trans-unit>\n      <trans-unit id="52213660b2454d139ada3079a42ec6caf3c3c01e" datatype="html">\n        <source>Client Throughput</source>\n        <target>Velocità effettiva client</target>\n      </trans-unit>\n      <trans-unit id="32efd1c3f70e3c5244239de97a2cc95d98534a14" datatype="html">\n        <source>Client Read/Write</source>\n        <target>Lettura/scrittura client</target>\n      </trans-unit>\n      <trans-unit id="275485415092cbae3a9f3cbb786ebe283cacfdd5" datatype="html">\n        <source>Recovery Throughput</source>\n        <target>Velocità effettiva di recupero</target>\n      </trans-unit>\n      <trans-unit id="6d9a9f55046891733ef71170e7652063765eb542" datatype="html">\n        <source>Scrub</source>\n        <target>Pulitura</target>\n      </trans-unit>\n      <trans-unit id="3cc9c2ae277393b3946b38c088dabff671b1ee1b" datatype="html">\n        <source>Performance</source>\n        <target>Prestazioni</target>\n      </trans-unit>\n      <trans-unit id="88f383269db2d32cccee9e936fe549dccb9fdbf4" datatype="html">\n        <source>Raw Capacity</source>\n        <target>Capacità di base</target>\n      </trans-unit>\n      <trans-unit id="c5f8a813f91a11af99132e4beafc136cfc13d73b" datatype="html">\n        <source>PGs per OSD</source>\n        <target>Gruppi di posizionamento per OSD</target>\n      </trans-unit>\n      <trans-unit id="498a109c6e9e94f1966de01aa0326f7f0ac6fb52" datatype="html">\n        <source>PG Status</source>\n        <target>Stato gruppo di posizionamento</target>\n      </trans-unit>\n      <trans-unit id="ce9dfdc6dccb28dc75a78c704e09dc18fb02dcfa" datatype="html">\n        <source>Capacity</source>\n        <target>Capacità</target>\n      </trans-unit>\n      <trans-unit id="44ecac93d67c6a671198091c2270354f80322327" datatype="html">\n        <source>\n          <x id="START_ITALIC_TEXT" ctype="x-i" equiv-text="<i>"/>\n          <x id="CLOSE_ITALIC_TEXT" ctype="x-i" equiv-text="</i>"/> See \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Logs\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more details.\n        </source>\n        <target>\n          <x id="START_ITALIC_TEXT" ctype="x-i" equiv-text="<i>"/>\n          <x id="CLOSE_ITALIC_TEXT" ctype="x-i" equiv-text="</i>"/> See \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Logs\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more details.\n        </target>\n      </trans-unit>\n      <trans-unit id="0c1e17956453ad772dbe82d6946f62748c692f3e" datatype="html">\n        <source>Ranks</source>\n        <target>Classificazioni</target>\n      </trans-unit>\n      <trans-unit id="2b24e0b0b1629d2e8a51b9da7c75d6e6379f4bc4" datatype="html">\n        <source>Standbys</source>\n        <target>Standbys</target>\n      </trans-unit>\n      <trans-unit id="50df62325726db950523a5be1c78b8905fcc25d4" datatype="html">\n        <source>MDS performance counters</source>\n        <target>MDS performance counters</target>\n      </trans-unit>\n      <trans-unit id="a7b6508fb834bee9e48e11e4503fbbc2d19204de" datatype="html">\n        <source>Clients: \n          <x id="INTERPOLATION" equiv-text="{{ clients.data.length }}"/>\n        </source>\n        <target>Clients: \n          <x id="INTERPOLATION" equiv-text="{{ clients.data.length }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6e213942c6354b9cbe7a650f0f1499bfc1000fb6" datatype="html">\n        <source>Directories</source>\n        <target>Directories</target>\n      </trans-unit>\n      <trans-unit id="47116253e36f4e38a97ba41b2d3122c6c15ab904" datatype="html">\n        <source>Clients (\n          <x id="INTERPOLATION" equiv-text="{{ clients.length }}"/>)\n        </source>\n        <target>Clients (\n          <x id="INTERPOLATION" equiv-text="{{ clients.length }}"/>)\n        </target>\n      </trans-unit>\n      <trans-unit id="bd5a3b1c5a3c185c7bbb0e09a061d4cdc88ce5ad" datatype="html">\n        <source>Current</source>\n        <target>Attuale</target>\n      </trans-unit>\n      <trans-unit id="e5e7d62e942083a59b0b31f54e17cd7958186052" datatype="html">\n        <source>Updated discovery authentication</source>\n        <target>Autenticazione rilevazione aggiornata</target>\n      </trans-unit>\n      <trans-unit id="dd4ab758afd5fd5a6c6a25b2b30ff99d0c00e9ad" datatype="html">\n        <source>There are no portals available.</source>\n        <target>Non sono disponibili pool.</target>\n      </trans-unit>\n      <trans-unit id="83021e45778a4a230a14ca0c6d6ccdf05500ad93" datatype="html">\n        <source>There are no images available.</source>\n        <target>Non sono disponibili immagini.</target>\n      </trans-unit>\n      <trans-unit id="86684eb21f8a768e1dbc659e3d5da6861db544a0" datatype="html">\n        <source>There are no images available. Please make sure you add an image to the target.</source>\n        <target>Non sono disponibili immagini. Assicurarsi di aggiungere un\'immagine alla destinazione.</target>\n      </trans-unit>\n      <trans-unit id="fffda6e440078f57eba93944ce051c593cc6ed7f" datatype="html">\n        <source>There are no initiators available. Please make sure you add an initiator to the target.</source>\n        <target>Non sono disponibili iniziatori. Assicurarsi di aggiungere un iniziatore alla destinazione.</target>\n      </trans-unit>\n      <trans-unit id="cea3c6fe490385eef1584cbc4983fda7ece24bb6" datatype="html">\n        <source>target</source>\n        <target>target</target>\n      </trans-unit>\n      <trans-unit id="38baeb215c17af9d9e295e371a57f4a48ab4c191" datatype="html">\n        <source>Target</source>\n        <target>Destinazione</target>\n      </trans-unit>\n      <trans-unit id="99e094878070eebc1b972bac02aaa33b2bf83b35" datatype="html">\n        <source># Sessions</source>\n        <target># Sessions</target>\n      </trans-unit>\n      <trans-unit id="c49e0dd71d551bd4928d967d78f0721dbf9f95e3" datatype="html">\n        <source>Target has active sessions</source>\n        <target>Target has active sessions</target>\n      </trans-unit>\n      <trans-unit id="a87acd72dfb68b45175270695209550a85adf50c" datatype="html">\n        <source>iSCSI target</source>\n        <target>iSCSI target</target>\n      </trans-unit>\n      <trans-unit id="873b72903b1858a9cd6c8967521030b4d7d1435b" datatype="html">\n        <source>State</source>\n        <target>Stato</target>\n      </trans-unit>\n      <trans-unit id="02b75464c0dc0cf49ea0208211b6fbcad3bf728a" datatype="html">\n        <source># Targets</source>\n        <target># Targets</target>\n      </trans-unit>\n      <trans-unit id="13415637c325ceefee29111b31cb48701490adf7" datatype="html">\n        <source>Read Bytes</source>\n        <target>Byte letti</target>\n      </trans-unit>\n      <trans-unit id="e2ed82b7bbf4a006e60e6208c597b05d5b5556e9" datatype="html">\n        <source>Write Bytes</source>\n        <target>Byte scritti</target>\n      </trans-unit>\n      <trans-unit id="6a32a5f58845ca840185ea9564682094e77a1d80" datatype="html">\n        <source>Read Ops</source>\n        <target>Operazioni di lettura</target>\n      </trans-unit>\n      <trans-unit id="7c36cb8032af123d3550ffab2e1fa1e957c87fae" datatype="html">\n        <source>Write Ops</source>\n        <target>Operazioni di scrittura</target>\n      </trans-unit>\n      <trans-unit id="458c33846a8c7e2feb9404bcf06723784e756cdc" datatype="html">\n        <source>A/O Since</source>\n        <target>A/O da</target>\n      </trans-unit>\n      <trans-unit id="ff78f059449d44322f627d0f66df07abe476962b" datatype="html">\n        <source>Instance</source>\n        <target>Istanza</target>\n      </trans-unit>\n      <trans-unit id="36fad7995cadfb3a6f0d43ef2db280146b3ca022" datatype="html">\n        <source>Issue</source>\n        <target>Problema</target>\n      </trans-unit>\n      <trans-unit id="15793f4cbc261bedbc60f7105533dde536a3f42b" datatype="html">\n        <source>Progress</source>\n        <target>Avanzamento</target>\n      </trans-unit>\n      <trans-unit id="f39256070bfc0714020dfee08895421fc1527014" datatype="html">\n        <source>Disabled</source>\n        <target>Disabilitato</target>\n      </trans-unit>\n      <trans-unit id="8c375764db42f5d736fb56d01b8052c006ccc8e2" datatype="html">\n        <source>Edit Mode</source>\n        <target>Modalità di modifica</target>\n      </trans-unit>\n      <trans-unit id="45932f2a0ea524b3425f4320ee46a6d1c68977bc" datatype="html">\n        <source>Add Peer</source>\n        <target>Aggiungi peer</target>\n      </trans-unit>\n      <trans-unit id="d3dc34662e3cda0dad646221651cebd26f731485" datatype="html">\n        <source>Edit Peer</source>\n        <target>Modifica peer</target>\n      </trans-unit>\n      <trans-unit id="e8a0ec0b6ee72db0f27c186e09640d1ed41964bd" datatype="html">\n        <source>Delete Peer</source>\n        <target>Elimina peer</target>\n      </trans-unit>\n      <trans-unit id="314de06d6f64d39149e78e6d796585c0246fec0b" datatype="html">\n        <source>Leader</source>\n        <target>Sequenza iniziale</target>\n      </trans-unit>\n      <trans-unit id="7acaab450312114059ced9e3737798ee9aa738b1" datatype="html">\n        <source># Local</source>\n        <target># Locale</target>\n      </trans-unit>\n      <trans-unit id="7a3ffd88868135c44be3994263bb8e49d8358884" datatype="html">\n        <source># Remote</source>\n        <target># Remoto</target>\n      </trans-unit>\n      <trans-unit id="85ca0fd6a6ddd211023c70a25753122c5b978787" datatype="html">\n        <source>mirror peer</source>\n        <target>peer copia speculare</target>\n      </trans-unit>\n      <trans-unit id="a6493c6ca346cd052da40423eda9c132de2b2002" datatype="html">\n        <source>Key</source>\n        <target>Chiave</target>\n      </trans-unit>\n      <trans-unit id="e9cac80fb5d9de66f0006d0bec530fd1fc69a674" datatype="html">\n        <source>RBD</source>\n        <target>RBD</target>\n      </trans-unit>\n      <trans-unit id="4130b1a836f2000cfe9a11fb62493dc42d444de7" datatype="html">\n        <source>Deep flatten</source>\n        <target>Appiattimento profondo</target>\n      </trans-unit>\n      <trans-unit id="7b17694d7cb8ecb7c8440bc999dac21b44455b33" datatype="html">\n        <source>Layering</source>\n        <target>Su strati</target>\n      </trans-unit>\n      <trans-unit id="6a072ce577c2079d0e0c31071a16824f6d22b84d" datatype="html">\n        <source>Exclusive lock</source>\n        <target>Blocco esclusivo</target>\n      </trans-unit>\n      <trans-unit id="7354f01320bf936a7f85577c9f71402635c3a362" datatype="html">\n        <source>Object map (requires exclusive-lock)</source>\n        <target>Mappa oggetti (richiede il blocco escluso)</target>\n      </trans-unit>\n      <trans-unit id="fb7e625c1152f1c102cd16460955d124edff1770" datatype="html">\n        <source>Journaling (requires exclusive-lock)</source>\n        <target>Journaling (richiede il blocco esclusivo)</target>\n      </trans-unit>\n      <trans-unit id="df4044632bfc211dd96544fc8f007dabbeeb506c" datatype="html">\n        <source>Fast diff (interlocked with object-map)</source>\n        <target>Fast diff (interlocked with object-map)</target>\n      </trans-unit>\n      <trans-unit id="631fc50ec7c9bd81dc797a3c7e09eda1178ad999" datatype="html">\n        <source>Parent image must support Layering</source>\n        <target>Parent image must support Layering</target>\n      </trans-unit>\n      <trans-unit id="7eb984588f4835f6d0187b33769b4b0f62821640" datatype="html">\n        <source>RBD snapshot rollback</source>\n        <target>Rollback snapshot RBD</target>\n      </trans-unit>\n      <trans-unit id="4be22bf20ef82614ed53bcd3b912a85590aa71c9" datatype="html">\n        <source>Rollback</source>\n        <target>Esegui rollback</target>\n      </trans-unit>\n      <trans-unit id="2a04c483708d261751d62082d6f03a50d4577b1e" datatype="html">\n        <source>RBD snapshot</source>\n        <target>Snapshot RBD</target>\n      </trans-unit>\n      <trans-unit id="fa96769d1ea86741297cb9b9769b0dcfde58c8b4" datatype="html">\n        <source>Deleted At</source>\n        <target>Eliminato alle</target>\n      </trans-unit>\n      <trans-unit id="e928864038ca70ee7d67bbf1fd71a01c3938a127" datatype="html">\n        <source>id</source>\n        <target>ID</target>\n      </trans-unit>\n      <trans-unit id="240c9c1e96dc38814922a83ad041dc815b084f32" datatype="html">\n        <source>type</source>\n        <target>tipo</target>\n      </trans-unit>\n      <trans-unit id="c9d7ec7ee5b4e282f2228fa996651ec4ef5195a9" datatype="html">\n        <source>state</source>\n        <target>stato</target>\n      </trans-unit>\n      <trans-unit id="5780e5c3b4fc2ae07836bb5221cec4f8d597630d" datatype="html">\n        <source>version</source>\n        <target>versione</target>\n      </trans-unit>\n      <trans-unit id="fe22ca53e651df951dac25b67c17894b0980f767" datatype="html">\n        <source>Host</source>\n        <target>Host</target>\n      </trans-unit>\n      <trans-unit id="fb69299354312c8954ecf324997ccafcd9f6b14b" datatype="html">\n        <source>root</source>\n        <target>root</target>\n      </trans-unit>\n      <trans-unit id="d34feb369d308075b423d5c5fc431f9766bf7a11" datatype="html">\n        <source>Evicted client "\n          <x id="INTERPOLATION" equiv-text="{{clientId}}"/>"\n        </source>\n        <target>Evicted client "\n          <x id="INTERPOLATION" equiv-text="{{clientId}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="7db875ff4cc626d394f37fba95c075b2e4bfeb00" datatype="html">\n        <source>Standby daemons</source>\n        <target>Daemon in standby</target>\n      </trans-unit>\n      <trans-unit id="3c3a423d91e36ac6624e909fcd2669a25685f847" datatype="html">\n        <source>Rank</source>\n        <target>Classificazione</target>\n      </trans-unit>\n      <trans-unit id="9596ecae8956e96921acef47aec787f6bdc37454" datatype="html">\n        <source>Daemon</source>\n        <target>Daemon</target>\n      </trans-unit>\n      <trans-unit id="f2005fa461c06dc2e04d8918bbabedf23604b5b7" datatype="html">\n        <source>Activity</source>\n        <target>Task</target>\n      </trans-unit>\n      <trans-unit id="e3a986984ae0c3b43af648c3fa638649d1c00348" datatype="html">\n        <source>Dentries</source>\n        <target>Dentry</target>\n      </trans-unit>\n      <trans-unit id="7c692ab865066967d73c6d64ec0691cc6ce91b93" datatype="html">\n        <source>Inodes</source>\n        <target>Inode</target>\n      </trans-unit>\n      <trans-unit id="45f210b96a2a6e91f52f153a4f8dc30662629f8e" datatype="html">\n        <source>Usage</source>\n        <target>Utilizzo</target>\n      </trans-unit>\n      <trans-unit id="950b5f04a2efd3f11c0f76418d5a4212381e792e" datatype="html">\n        <source>Origin</source>\n        <target>Origin</target>\n      </trans-unit>\n      <trans-unit id="22e4e574b7f8abf58254f328792445b42e2a924a" datatype="html">\n        <source>The value can be updated at runtime.</source>\n        <target>È possibile aggiornare il valore al runtime.</target>\n      </trans-unit>\n      <trans-unit id="d7770de7b2343c9deeaa7ebf37ba3e35ca5c5988" datatype="html">\n        <source>Daemons/clients do not pull this value from the\n      monitor config database. We disallow setting this option via \'ceph config\n      set ...\'. This option should be configured via ceph.conf or via the\n      command line.</source>\n        <target>I daemon/client non estraggono questo valore dal\n      database della configurazione di monitoraggio. Non è consentito impostare questa opzione tramite \'ceph config\n      set ...\'. È necessario configurare questa opzione tramite ceph.conf o dalla\n      riga di comando.</target>\n      </trans-unit>\n      <trans-unit id="83f11fd1dc503c37931ea6c1c5c1e8c2b4b597b6" datatype="html">\n        <source>Option takes effect only during daemon startup.</source>\n        <target>L\'opzione diventa attiva solo all\'avvio del daemon.</target>\n      </trans-unit>\n      <trans-unit id="837a07cd6a971038b8b1aa190c43440c9fdb5d8b" datatype="html">\n        <source>Option only affects cluster creation.</source>\n        <target>L\'opzione interessa solo la creazione del cluster.</target>\n      </trans-unit>\n      <trans-unit id="2566a88eb247c918b71cfe5b354c31de0d4b01e5" datatype="html">\n        <source>Option only affects daemon creation.</source>\n        <target>L\'opzione interessa solo la creazione del daemon.</target>\n      </trans-unit>\n      <trans-unit id="1cdc60cfc09c257625768f3d2082816cdef27279" datatype="html">\n        <source>Updated config option \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\n        </source>\n        <target>Updated config option \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="d473e0f684a60db45d6f31e993f693f74290e056" datatype="html">\n        <source>Service</source>\n        <target>Servizio</target>\n      </trans-unit>\n      <trans-unit id="9951bb3983c7dba6fde013e05c922e4fe1a44367" datatype="html">\n        <source>Current value</source>\n        <target>Valore attuale</target>\n      </trans-unit>\n      <trans-unit id="4a01c175f90dd92b432f4a4a199d2c7bb9d997ff" datatype="html">\n        <source>Editable</source>\n        <target>Modificabile</target>\n      </trans-unit>\n      <trans-unit id="261c0af854e8684abc15f89dce6efb3e72344b18" datatype="html">\n        <source>host</source>\n        <target>host</target>\n      </trans-unit>\n      <trans-unit id="9e35065e7c579e1fb960499117fd4b3c68d1c263" datatype="html">\n        <source>Host operation is disabled because orchestrator is unavailable</source>\n        <target>Host operation is disabled because orchestrator is unavailable</target>\n      </trans-unit>\n      <trans-unit id="a5d5e407f8c4e1b152509c966c90f37edf68472e" datatype="html">\n        <source>Device path</source>\n        <target>Device path</target>\n      </trans-unit>\n      <trans-unit id="94e76c060aa68c05d8c4a3f5a20c92fab3e83ccf" datatype="html">\n        <source>Rotates</source>\n        <target>Rotates</target>\n      </trans-unit>\n      <trans-unit id="b7da3e3505cc80f9bf3cffc8444c53e8a9ec70a5" datatype="html">\n        <source>Available</source>\n        <target>Available</target>\n      </trans-unit>\n      <trans-unit id="6ec98fa3d6504ba1fd03465194b53706c8263c99" datatype="html">\n        <source>Model</source>\n        <target>Model</target>\n      </trans-unit>\n      <trans-unit id="1a6e6ad05508130b7a99ce5b15daf3227c2a930c" datatype="html">\n        <source>Updated options for module "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>".\n        </source>\n        <target>Updated options for module "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="ac6c9212896d39b23811ed2dadab7d07336ec559" datatype="html">\n        <source>Enable</source>\n        <target>Abilita</target>\n      </trans-unit>\n      <trans-unit id="6766a926d80bb7763785621098dae459d6226429" datatype="html">\n        <source>Disable</source>\n        <target>Disabilita</target>\n      </trans-unit>\n      <trans-unit id="340f2f312c2eb353e5cd69aee6bee7f5a73c34ac" datatype="html">\n        <source>This Manager module is always on.</source>\n        <target>This Manager module is always on.</target>\n      </trans-unit>\n      <trans-unit id="6a0b3657745dd7a2f2162f1cc790bf9004d0845d" datatype="html">\n        <source>Reconnecting, please wait ...</source>\n        <target>Riconnessione in corso. Attendere.</target>\n      </trans-unit>\n      <trans-unit id="7099a8878af7a0a26fe5663c4f46cfe87142b75d" datatype="html">\n        <source>Public Address</source>\n        <target>Indirizzo pubblico</target>\n      </trans-unit>\n      <trans-unit id="cbdd1cdc0c7a87f55dd177bc44212f0fc4b80852" datatype="html">\n        <source>Open Sessions</source>\n        <target>Sessioni aperte</target>\n      </trans-unit>\n      <trans-unit id="37e58d1cbdf8212b380efa51422e42821d4f08e6" datatype="html">\n        <source>No In</source>\n        <target>Nessuno in entrata</target>\n      </trans-unit>\n      <trans-unit id="12706eb5af17ff5ad77b3de21af368d24678e00b" datatype="html">\n        <source>OSDs that were previously marked out will not be marked back in when they start</source>\n        <target>Gli OSD che sono stati contrassegnati come disattivi in precedenza non verranno contrassegnati nuovamente come attivi all\'avvio</target>\n      </trans-unit>\n      <trans-unit id="96114d7624d11dc90ca46cfa96145fe22118df76" datatype="html">\n        <source>No Out</source>\n        <target>Nessuno in uscita</target>\n      </trans-unit>\n      <trans-unit id="a2ef636fe1ddd56b63e4aaf3d292f33dbf735ef3" datatype="html">\n        <source>OSDs will not automatically be marked out after the configured interval</source>\n        <target>Gli OSD non verranno disattivati automaticamente dopo l\'intervallo configurato</target>\n      </trans-unit>\n      <trans-unit id="ee50aefa9b8bde1e5429b48709a23abfe08358e0" datatype="html">\n        <source>No Up</source>\n        <target>Nessuno attivo</target>\n      </trans-unit>\n      <trans-unit id="608929b939307e397586a98cea52ae38997c7273" datatype="html">\n        <source>OSDs are not allowed to start</source>\n        <target>Non è consentito l\'avvio degli OSD</target>\n      </trans-unit>\n      <trans-unit id="1751ab69c1e7f62927afedbf7116e0116316c551" datatype="html">\n        <source>No Down</source>\n        <target>Nessuno disattivo</target>\n      </trans-unit>\n      <trans-unit id="41fac86dfb65c1db690f3e87f6497cb73b281084" datatype="html">\n        <source>OSD failure reports are being ignored, such that the monitors will not mark OSDs down</source>\n        <target>I rapporti di errore degli OSD vengono ignorati in modo che i monitor non disattivino gli OSD</target>\n      </trans-unit>\n      <trans-unit id="b2838c6165a9672a17db188f4dd9676574353dd8" datatype="html">\n        <source>Pause</source>\n        <target>Sospendi</target>\n      </trans-unit>\n      <trans-unit id="191d71dadcc8790573d46706a0b48211de4b8334" datatype="html">\n        <source>Pauses reads and writes</source>\n        <target>Sospende le operazioni di lettura e scrittura</target>\n      </trans-unit>\n      <trans-unit id="471d5ba75836f38c19992cf83d8822632d99e473" datatype="html">\n        <source>No Scrub</source>\n        <target>Nessuna pulitura</target>\n      </trans-unit>\n      <trans-unit id="5b8caa61814121bc36dac0c34a9e9de3cae74990" datatype="html">\n        <source>Scrubbing is disabled</source>\n        <target>Pulitura disabilitata</target>\n      </trans-unit>\n      <trans-unit id="7f29a0ac1c797bdc0347dd5d0734ba83e96e7ce6" datatype="html">\n        <source>No Deep Scrub</source>\n        <target>Nessun pulitura approfondita</target>\n      </trans-unit>\n      <trans-unit id="01da61ab216541a8d31259cebd16b10c7e5fc124" datatype="html">\n        <source>Deep Scrubbing is disabled</source>\n        <target>Pulitura approfondita disabilitata</target>\n      </trans-unit>\n      <trans-unit id="0b86c7f18ac725de62c7e192dcfccd02c0dc40ab" datatype="html">\n        <source>No Backfill</source>\n        <target>Nessuna operazione di recupero</target>\n      </trans-unit>\n      <trans-unit id="bd33a2bdc8fbed3b7469f3717c16d9aaa2851fdd" datatype="html">\n        <source>Backfilling of PGs is suspended</source>\n        <target>Recupero dei gruppi di posizionamento sospeso</target>\n      </trans-unit>\n      <trans-unit id="7fbbd036394cfa623add40299757bc87df8eaa7e" datatype="html">\n        <source>No Recover</source>\n        <target>Nessun recupero</target>\n      </trans-unit>\n      <trans-unit id="f3ee9b451a64dca47299c9b4ae1091c2008068ad" datatype="html">\n        <source>Recovery of PGs is suspended</source>\n        <target>Recupero dei gruppi di posizionamento sospeso</target>\n      </trans-unit>\n      <trans-unit id="de904148fe7e8d812218f50333ffe247900617c5" datatype="html">\n        <source>Bitwise Sort</source>\n        <target>Ordinamento bitwise</target>\n      </trans-unit>\n      <trans-unit id="2613c9fde29785bcd75f0abeccb653d14d7527b3" datatype="html">\n        <source>Use bitwise sort</source>\n        <target>Usa ordinamento bitwise</target>\n      </trans-unit>\n      <trans-unit id="2fe10d84250aeee365db244251d40934c70ff1e9" datatype="html">\n        <source>Purged Snapdirs</source>\n        <target>Snapdir eliminate definitivamente</target>\n      </trans-unit>\n      <trans-unit id="6b22a5b780eda3c5d500cdac9c6d4f96978c38f1" datatype="html">\n        <source>OSDs have converted snapsets</source>\n        <target>Gli OSD contengono set di snap convertiti</target>\n      </trans-unit>\n      <trans-unit id="c42f0ba60564dc5b977a8c7f3fdcde9efbb39c60" datatype="html">\n        <source>Recovery Deletes</source>\n        <target>Eliminazioni recuperi</target>\n      </trans-unit>\n      <trans-unit id="72fe39979198ea2ed6db6274b5029025cb316d90" datatype="html">\n        <source>Deletes performed during recovery instead of peering</source>\n        <target>Eliminazioni eseguite durante il recupero invece del peering</target>\n      </trans-unit>\n      <trans-unit id="1bb4a1f9127cefe624c173557a716d0ebb6d647c" datatype="html">\n        <source>PG Log Hard Limit</source>\n        <target>Limite rigido log gruppo di posizionamento</target>\n      </trans-unit>\n      <trans-unit id="e03c0321397fdf7a9c22e8d6b5015424943c0a57" datatype="html">\n        <source>Puts a hard limit on pg log length</source>\n        <target>Inserisce un limite rigido alla lunghezza del log del gruppo di posizionamento</target>\n      </trans-unit>\n      <trans-unit id="3c384e2e80c6b5eb24861fbf4225b69486cff4a3" datatype="html">\n        <source>Updated OSD Flags</source>\n        <target>Flag OSD aggiornati</target>\n      </trans-unit>\n      <trans-unit id="688578fcc739d6f0c5fb6c366dbb19d21c6d9e36" datatype="html">\n        <source>out</source>\n        <target>esterno</target>\n      </trans-unit>\n      <trans-unit id="cb0f69bdd4dea41d7d45c74b6e07f98de8a2ab26" datatype="html">\n        <source>in</source>\n        <target>interno</target>\n      </trans-unit>\n      <trans-unit id="b5fbc7c7f007dd53b2318525bb7ff8b0376c9e37" datatype="html">\n        <source>down</source>\n        <target>in basso</target>\n      </trans-unit>\n      <trans-unit id="b58719bcb9184e1a7884d00d22d10899d59bf295" datatype="html">\n        <source>Mark</source>\n        <target>Contrassegna</target>\n      </trans-unit>\n      <trans-unit id="31a1c1aa03f1e5084750bedb4e3fdc04ce2cb6ca" datatype="html">\n        <source>OSD lost</source>\n        <target>OSD perso</target>\n      </trans-unit>\n      <trans-unit id="f3fc4c85c5b8f1dedea0496b72d0af9da7b9e0d9" datatype="html">\n        <source>marked lost</source>\n        <target>contrassegnato come perso</target>\n      </trans-unit>\n      <trans-unit id="40fedc157ad899a18ec40573f770d18b040959d2" datatype="html">\n        <source>Purge</source>\n        <target>Elimina definitivamente</target>\n      </trans-unit>\n      <trans-unit id="c8b1475105463088593de1022ff6dceb523eae0e" datatype="html">\n        <source>OSD</source>\n        <target>OSD</target>\n      </trans-unit>\n      <trans-unit id="4f3cff08c7033b63bbccfe66006b1bcaea48ddd8" datatype="html">\n        <source>purged</source>\n        <target>eliminato definitivamente</target>\n      </trans-unit>\n      <trans-unit id="8e5d1b01eca6dce26a4751f0b19bda7a6ab8db5b" datatype="html">\n        <source>destroy</source>\n        <target>elimina definitivamente</target>\n      </trans-unit>\n      <trans-unit id="495a06b78bf165a7b545fa002137f0846b094a3d" datatype="html">\n        <source>destroyed</source>\n        <target>eliminato definitivamente</target>\n      </trans-unit>\n      <trans-unit id="107614b994f2b01abdc1ca179bf780b0cd933ec4" datatype="html">\n        <source>Recovery Priority</source>\n        <target>Recovery Priority</target>\n      </trans-unit>\n      <trans-unit id="359dad5a3a912ef9dece3194035020856805aa96" datatype="html">\n        <source>PG scrub</source>\n        <target>PG scrub</target>\n      </trans-unit>\n      <trans-unit id="953144c420c2e5abd02e6a687433eac60fa852bd" datatype="html">\n        <source>PGs</source>\n        <target>Gruppi di posizionamento</target>\n      </trans-unit>\n      <trans-unit id="7d3523ea9d35c274cef84043de8a2fdde540a9a1" datatype="html">\n        <source>Read bytes</source>\n        <target>Byte letti</target>\n      </trans-unit>\n      <trans-unit id="ecbe2fdca919499125bc42c2c67cedae8563db1c" datatype="html">\n        <source>Writes bytes</source>\n        <target>Byte scritti</target>\n      </trans-unit>\n      <trans-unit id="f3c33322823c846b13f59ba2c8f234405bba99e1" datatype="html">\n        <source>Read ops</source>\n        <target>Operazioni di lettura</target>\n      </trans-unit>\n      <trans-unit id="7e0b24a17546cbfab48b03dc874461d1ca68bc9a" datatype="html">\n        <source>Write ops</source>\n        <target>Operazioni di scrittura</target>\n      </trans-unit>\n      <trans-unit id="d45455406092f58e6b089cb440b5b7934b801a01" datatype="html">\n        <source>Mark OSD \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </source>\n        <target>Mark OSD \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="de0b7806e451b3b3dbd564decba59981fe781c18" datatype="html">\n        <source>Mark \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </source>\n        <target>Mark \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="bba1d3bb4f8a47aa2b3068e242562196eadb1e83" datatype="html">\n        <source>PG scrub options</source>\n        <target>PG scrub options</target>\n      </trans-unit>\n      <trans-unit id="b0b7748ebc9b7a6942a8cac4a89d4b215b365878" datatype="html">\n        <source>Updated PG scrub options</source>\n        <target>Updated PG scrub options</target>\n      </trans-unit>\n      <trans-unit id="4edc2162af0bd6cd941eaf730d20a7e3b5a83ba7" datatype="html">\n        <source>Max Backfills</source>\n        <target>Numero max di recuperi informazioni</target>\n      </trans-unit>\n      <trans-unit id="eb5e6c24a48a1dfe23e0a772b762be5e949c0c8a" datatype="html">\n        <source>Recovery Max Active</source>\n        <target>Numero max di recuperi attivi</target>\n      </trans-unit>\n      <trans-unit id="4a23c6d3859e03184118620d2baeb736ac765fbf" datatype="html">\n        <source>Recovery Max Single Start</source>\n        <target>Avvio singolo numero max di recuperi</target>\n      </trans-unit>\n      <trans-unit id="97049169ef5228fd1724de2fcdad1fec2858eaf8" datatype="html">\n        <source>Recovery Sleep</source>\n        <target>Sospensione recupero</target>\n      </trans-unit>\n      <trans-unit id="a5c05002b0ac2040f1aede5e727e0ffd06eda819" datatype="html">\n        <source>Custom</source>\n        <target>Personalizzato</target>\n      </trans-unit>\n      <trans-unit id="89553524f4e7db5c437b07dcfdc7b831d56ded1a" datatype="html">\n        <source>Updated OSD recovery speed priority "\n          <x id="INTERPOLATION" equiv-text="{{value}}"/>"\n        </source>\n        <target>Updated OSD recovery speed priority "\n          <x id="INTERPOLATION" equiv-text="{{value}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="ccf5f30798c03d2d8efd0e6eb508320c018b722d" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{operation}}"/> was initialized in the following OSD(s): \n          <x id="INTERPOLATION_1" equiv-text="{{id}}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{operation}}"/> was initialized in the following OSD(s): \n          <x id="INTERPOLATION_1" equiv-text="{{id}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="9836e830d0219585b36d53be00a31c3d4798a4aa" datatype="html">\n        <source>Smartctl has received an unknown argument (error code\n          <x id="INTERPOLATION" equiv-text="{{smartData.smartctl_error_code}}"/>). You may be using an\n                incompatible version of smartmontools. Version &gt;= 7.0 of\n                smartmontools is required to succesfully retrieve data.\n        </source>\n        <target>Smartctl has received an unknown argument (error code\n          <x id="INTERPOLATION" equiv-text="{{smartData.smartctl_error_code}}"/>). You may be using an\n                incompatible version of smartmontools. Version &gt;= 7.0 of\n                smartmontools is required to succesfully retrieve data.\n        </target>\n      </trans-unit>\n      <trans-unit id="d5fd840374ca1a6f394bcd81f390a6dca27f8224" datatype="html">\n        <source>An error with error code \n          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.\n        </source>\n        <target>An error with error code \n          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.\n        </target>\n      </trans-unit>\n      <trans-unit id="a0b59d7139692bb8d8ed786b6eb6e9e70ce743f3" datatype="html">\n        <source>Raw</source>\n        <target>Raw</target>\n      </trans-unit>\n      <trans-unit id="2f3beddc8234b30fb26a7f63ba2f1ea74f2ed6f7" datatype="html">\n        <source>Threshold</source>\n        <target>Threshold</target>\n      </trans-unit>\n      <trans-unit id="4654b5a68af3c8bad29aa14ca85ccea1f3143c6b" datatype="html">\n        <source>When Failed</source>\n        <target>When Failed</target>\n      </trans-unit>\n      <trans-unit id="5b7f56d5be49fb8e8d8f40209d6746f8f72e9177" datatype="html">\n        <source>Worst</source>\n        <target>Worst</target>\n      </trans-unit>\n      <trans-unit id="1edb8e46b0fac57c5feb3d7d3585afc0122d5481" datatype="html">\n        <source>Create silence</source>\n        <target>Create silence</target>\n      </trans-unit>\n      <trans-unit id="78917e8031aaf913ac3fa63295325ce8879703ce" datatype="html">\n        <source>Job</source>\n        <target>Lavoro</target>\n      </trans-unit>\n      <trans-unit id="94287619205068b591c18493c64781424864c259" datatype="html">\n        <source>Severity</source>\n        <target>Gravità</target>\n      </trans-unit>\n      <trans-unit id="e6cfbe0c5e0302ba2cec22315f6a28f8ac46b651" datatype="html">\n        <source>Started</source>\n        <target>Avviato</target>\n      </trans-unit>\n      <trans-unit id="801b98c6f02fe3b32f6afa3ee854c99ed83474e6" datatype="html">\n        <source>URL</source>\n        <target>URL</target>\n      </trans-unit>\n      <trans-unit id="a5cd682a8a33bdc72e093d059429e3cc3a50ec1d" datatype="html">\n        <source>silence</source>\n        <target>silence</target>\n      </trans-unit>\n      <trans-unit id="f557e117e059e7036c6eecacd325a6ae35d866e0" datatype="html">\n        <source>Attribute name</source>\n        <target>Attribute name</target>\n      </trans-unit>\n      <trans-unit id="50f7f517ad8158667f7d4e2bd6f3256e05156e75" datatype="html">\n        <source>Regular expression</source>\n        <target>Regular expression</target>\n      </trans-unit>\n      <trans-unit id="81b1eab399c47110d50f45e3ccb4c009de7cb581" datatype="html">\n        <source>Please add your Prometheus host to the dashboard configuration and refresh the page</source>\n        <target>Please add your Prometheus host to the dashboard configuration and refresh the page</target>\n      </trans-unit>\n      <trans-unit id="29b4ae3296e239446fa0dea88a5112de15cffa54" datatype="html">\n        <source>Created by</source>\n        <target>Created by</target>\n      </trans-unit>\n      <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc" datatype="html">\n        <source>Updated</source>\n        <target>Aggiornato</target>\n      </trans-unit>\n      <trans-unit id="8d833cceee0ba4c5161b130365e02bc1e129b57e" datatype="html">\n        <source>Ends</source>\n        <target>Ends</target>\n      </trans-unit>\n      <trans-unit id="46a11ff4289e8c88b1b7a935f8d8ee704055f11a" datatype="html">\n        <source>Silence</source>\n        <target>Silence</target>\n      </trans-unit>\n      <trans-unit id="f392abfbb997402ce2aebb13e660a8f01dec54db" datatype="html">\n        <source>Service type</source>\n        <target>Service type</target>\n      </trans-unit>\n      <trans-unit id="9ffa91b056fb979786627885651e19c8275675cd" datatype="html">\n        <source>Service instance</source>\n        <target>Service instance</target>\n      </trans-unit>\n      <trans-unit id="b5910192a9ac4816638ff6383b03f986ff965796" datatype="html">\n        <source>Container id</source>\n        <target>Container id</target>\n      </trans-unit>\n      <trans-unit id="60ab9cce12a56cdc5ec6a1b699f8c7afecd629d5" datatype="html">\n        <source>Rados config location</source>\n        <target>Rados config location</target>\n      </trans-unit>\n      <trans-unit id="dfa409f831c9168a377bdee02c5ea6aaf9b2bf61" datatype="html">\n        <source>Service URL</source>\n        <target>Service URL</target>\n      </trans-unit>\n      <trans-unit id="bf2468fd965b8a59c135ad549b3a612aa9873abc" datatype="html">\n        <source>Status Description</source>\n        <target>Status Description</target>\n      </trans-unit>\n      <trans-unit id="fb2e1bed329dc5b84197808c778abb9edcbdb335" datatype="html">\n        <source>Used</source>\n        <target>Utilizzato</target>\n      </trans-unit>\n      <trans-unit id="4f1ab04d9100fb0df0e62b921ec46ae052ae29fc" datatype="html">\n        <source>Avail.</source>\n        <target>Dispon.</target>\n      </trans-unit>\n      <trans-unit id="a1c9b3d4fa67450fe9afd1d726f8a1bd91d990ea" datatype="html">\n        <source>Clean</source>\n        <target>Pulisci</target>\n      </trans-unit>\n      <trans-unit id="0054f5460090d6dde385e8f099d598df5d28cf54" datatype="html">\n        <source>Working</source>\n        <target>In funzione</target>\n      </trans-unit>\n      <trans-unit id="a8059e31694578c1b0344a76a345357dd60e8f01" datatype="html">\n        <source>Warning</source>\n        <target>Avviso</target>\n      </trans-unit>\n      <trans-unit id="e5d8bb389c702588877f039d72178f219453a72d" datatype="html">\n        <source>Unknown</source>\n        <target>Sconosciuto</target>\n      </trans-unit>\n      <trans-unit id="88155be1b9b9c6140d6e8f93bac4a775cfdc6671" datatype="html">\n        <source>Healthy</source>\n        <target>Healthy</target>\n      </trans-unit>\n      <trans-unit id="8a3aec4dc1a6e2d4c612ae85e0537acbb20a0f85" datatype="html">\n        <source>Misplaced</source>\n        <target>Misplaced</target>\n      </trans-unit>\n      <trans-unit id="ee81f9bf7ceac69712e0b83e8adc268739f9673e" datatype="html">\n        <source>Degraded</source>\n        <target>Degraded</target>\n      </trans-unit>\n      <trans-unit id="14625bc4025daef1969777a67a3cca27e0cd9167" datatype="html">\n        <source>Unfound</source>\n        <target>Unfound</target>\n      </trans-unit>\n      <trans-unit id="8f23ea509d081c2f747d083d44608dbf125b2ea2" datatype="html">\n        <source>replicas</source>\n        <target>replicas</target>\n      </trans-unit>\n      <trans-unit id="129a2224e1f9d19eb5e11e2a07fe10a785556484" datatype="html">\n        <source>up</source>\n        <target>su</target>\n      </trans-unit>\n      <trans-unit id="d5f29cf0af691726483262d647eb6622be002512" datatype="html">\n        <source>no filesystems</source>\n        <target>nessun file system</target>\n      </trans-unit>\n      <trans-unit id="b1c4387ffab06f3fa9fdb4411aea955595538d44" datatype="html">\n        <source>active</source>\n        <target>attivo</target>\n      </trans-unit>\n      <trans-unit id="1aaf7054d826f2cb05ec3e88a5a4b8116861e1f5" datatype="html">\n        <source>standby</source>\n        <target>standby</target>\n      </trans-unit>\n      <trans-unit id="c9a1080024dca344a48acdb77fa2d54e059f7254" datatype="html">\n        <source>n/a</source>\n        <target>n/d</target>\n      </trans-unit>\n      <trans-unit id="84a1787b6df375847c70f782861d7e7f8f43bff4" datatype="html">\n        <source>active daemon</source>\n        <target>daemon attivo</target>\n      </trans-unit>\n      <trans-unit id="24407dc2ebfafaf6b131ee978683b893c3f1d763" datatype="html">\n        <source>quorum</source>\n        <target> quorum</target>\n      </trans-unit>\n      <trans-unit id="2fa50bc07995c6ea660412294298ded39fcb08d9" datatype="html">\n        <source>The NFS Ganesha service is not configured.</source>\n        <target>Il servizio NFS Ganesha non è configurato.</target>\n      </trans-unit>\n      <trans-unit id="af1396bdc49f45ea6c4a1e414769f5e2a382c834" datatype="html">\n        <source>Transport</source>\n        <target>Trasporto</target>\n      </trans-unit>\n      <trans-unit id="b6a0e176d96c4feed2e975a039c044fcf822e152" datatype="html">\n        <source>CephFS User</source>\n        <target>Utente CephFS</target>\n      </trans-unit>\n      <trans-unit id="44dc610cf201a163e8c38da810acec9596930bb3" datatype="html">\n        <source>CephFS Filesystem</source>\n        <target>File system CephFS</target>\n      </trans-unit>\n      <trans-unit id="db6dc7124be83c7055cb0f2719e31f2f9d46fd3d" datatype="html">\n        <source>(inherited from global config)</source>\n        <target>(ereditato dalla configurazione globale)</target>\n      </trans-unit>\n      <trans-unit id="e1f97bb86f991553ec7b535cb39e7eaa99dfcfe2" datatype="html">\n        <source>inherited from global config</source>\n        <target>importato dalla configurazione globale</target>\n      </trans-unit>\n      <trans-unit id="e751800766277e7c2edd652cec7a7a1a68a37852" datatype="html">\n        <source>-- Select what kind of user id squashing is performed --</source>\n        <target>-- Selezionare il tipo di squash dell\'ID utente che viene eseguito --</target>\n      </trans-unit>\n      <trans-unit id="4b58387f911e8a7b135a0c4d76c70335c65bbb32" datatype="html">\n        <source>There are no daemons available.</source>\n        <target>Non vi sono daemon disponibili.</target>\n      </trans-unit>\n      <trans-unit id="18ae8dc1264f06df7ea251175ada2ac1b8401018" datatype="html">\n        <source>NFS export</source>\n        <target>NFS export</target>\n      </trans-unit>\n      <trans-unit id="ae128527ec18892f812a62a1fd15dc50a38060c0" datatype="html">\n        <source>EC Profile</source>\n        <target>EC Profile</target>\n      </trans-unit>\n      <trans-unit id="60fb10c145f9c7ede2b9ddf9b2b0b0f6191d0ebd" datatype="html">\n        <source>Cache Mode</source>\n        <target>Modalità cache</target>\n      </trans-unit>\n      <trans-unit id="fa5bfad31d4139f6871443bb74324ffda5cad3e6" datatype="html">\n        <source>Min Evict Age</source>\n        <target>Numero minimo di giorni per la rimozione</target>\n      </trans-unit>\n      <trans-unit id="fd0eb851666df45c34c76fabcda79b0d77bc910b" datatype="html">\n        <source>Min Flush Age</source>\n        <target>Numero minimo di giorni per la cancellazione</target>\n      </trans-unit>\n      <trans-unit id="cb54d2c420a534cee0c308ea5589f8c394ef8d67" datatype="html">\n        <source>Target Max Bytes</source>\n        <target>Numero max di byte di destinazione</target>\n      </trans-unit>\n      <trans-unit id="07f4ebe6615dca466818ffdae2a69ee217d265fb" datatype="html">\n        <source>Target Max Objects</source>\n        <target>Numero max di oggetti di destinazione</target>\n      </trans-unit>\n      <trans-unit id="eaa8f4df53cf7fa78d078e20a701d10f3dccd77d" datatype="html">\n        <source>No applications added</source>\n        <target>Non sono state aggiunte applicazioni.</target>\n      </trans-unit>\n      <trans-unit id="321c2a7640f11177ea49b0857b94c4b70830c0e6" datatype="html">\n        <source>Applications limit reached</source>\n        <target>Raggiunto il limite di applicazioni</target>\n      </trans-unit>\n      <trans-unit id="519d27742b74fadc8336777452f78891e98aa1dc" datatype="html">\n        <source>A pool can only have up to four applications definitions.</source>\n        <target>Un pool può contenere solo fino a quattro definizioni delle applicazioni.</target>\n      </trans-unit>\n      <trans-unit id="b5bec3813f0d45daa7eb9471272969e1bc3e734e" datatype="html">\n        <source>Allowed characters \'_a-zA-Z0-9\'</source>\n        <target>Caratteri consentiti \'_a-zA-Z0-9\'</target>\n      </trans-unit>\n      <trans-unit id="807472d29602a0085bce62e534bd66208982c2e2" datatype="html">\n        <source>Maximum length is 128 characters</source>\n        <target>La lunghezza massima è di 128 caratteri</target>\n      </trans-unit>\n      <trans-unit id="37785748b9ac9ad1d3e4b111ac502c3284afe84b" datatype="html">\n        <source>Filter or add applications</source>\n        <target>Filtra o aggiungi applicazioni</target>\n      </trans-unit>\n      <trans-unit id="38c7b8610ca87835e13eeee6a09ba1c414cd5cb9" datatype="html">\n        <source>Add application</source>\n        <target>Aggiungi applicazione</target>\n      </trans-unit>\n      <trans-unit id="db8c42f077700d8a94619fad9f4c94b7361d5f1d" datatype="html">\n        <source>pool</source>\n        <target>pool</target>\n      </trans-unit>\n      <trans-unit id="65bb2be83261bc4798853bbccdedc110c43feea7" datatype="html">\n        <source>erasure code profile</source>\n        <target>profilo del codice di cancellazione</target>\n      </trans-unit>\n      <trans-unit id="112d356ad6846959ca4aa5ec9a1f0d9d473b24ec" datatype="html">\n        <source>Replica Size</source>\n        <target>Dimensioni della replica</target>\n      </trans-unit>\n      <trans-unit id="ec50492db341fa752b023d8c924601286b6c9c0c" datatype="html">\n        <source>Last Change</source>\n        <target>Ultima modifica</target>\n      </trans-unit>\n      <trans-unit id="563a8c136a9d423bc7ae1269a404d6da5fd83dad" datatype="html">\n        <source>Erasure Coded Profile</source>\n        <target>Profilo con codice di cancellazione</target>\n      </trans-unit>\n      <trans-unit id="0ad7f0662956cff61ac1208f92b1a0305b1b2e58" datatype="html">\n        <source>Crush Ruleset</source>\n        <target>Set di regole Crush</target>\n      </trans-unit>\n      <trans-unit id="f15bf7f588f09ca79795b17bc244e8d336f28171" datatype="html">\n        <source>Write bytes</source>\n        <target>Byte scritti</target>\n      </trans-unit>\n      <trans-unit id="bcc365a084b6145b941b371bd4c2b6c3d2c79234" datatype="html">\n        <source>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</source>\n        <target>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</target>\n      </trans-unit>\n      <trans-unit id="44939fd05cedfd077db886528b755e77d5fa3885" datatype="html">\n        <source>bucket</source>\n        <target>compartimento</target>\n      </trans-unit>\n      <trans-unit id="84fee774286ec4191311f1277075455c3ea5e2e2" datatype="html">\n        <source>Updated Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>".\n        </source>\n        <target>Updated Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="2d7a43674f0bbc131c9e555ec16ac37fa0445d76" datatype="html">\n        <source>Created Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>"\n        </source>\n        <target>Created Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="ec40d74ecfb1d6d60455af6805c9a714a3f5750a" datatype="html">\n        <source>buckets</source>\n        <target>compartimenti</target>\n      </trans-unit>\n      <trans-unit id="764585d5595bac113582ee14a6fd07006770ceb1" datatype="html">\n        <source>capability</source>\n        <target>capability</target>\n      </trans-unit>\n      <trans-unit id="0914cbe18bae204217e1851be6d2d24d86e74605" datatype="html">\n        <source>user</source>\n        <target>utente</target>\n      </trans-unit>\n      <trans-unit id="d8c86dc5e48a63590d9c94e19f90b5f8325cbd49" datatype="html">\n        <source>subuser</source>\n        <target>subuser</target>\n      </trans-unit>\n      <trans-unit id="f45a3de8a8b40d161cc36a55d77548a27107ca04" datatype="html">\n        <source>S3 Key</source>\n        <target>S3 Key</target>\n      </trans-unit>\n      <trans-unit id="854a763265e92f91ba3ccee1a0e8d823be584f7c" datatype="html">\n        <source>Updated Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </source>\n        <target>Updated Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="84ab3fd641e65e39cffee0ec722a059ed284229e" datatype="html">\n        <source>Created Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </source>\n        <target>Created Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="7c7f4be7b726e61c577e63842a58d9e435f7c597" datatype="html">\n        <source>users</source>\n        <target>utenti</target>\n      </trans-unit>\n      <trans-unit id="9f7760223efd77806f1bbaf963e6993bb4bc6a0a" datatype="html">\n        <source>Swift Key</source>\n        <target>Swift Key</target>\n      </trans-unit>\n      <trans-unit id="1481b8488e10dbc437accce89d2ae35a0106e8ba" datatype="html">\n        <source>Scope</source>\n        <target>Ambito</target>\n      </trans-unit>\n      <trans-unit id="9b1d5e95f6bdcfb4b737413f5fa157e0dcb103d5" datatype="html">\n        <source>Read</source>\n        <target>Lettura</target>\n      </trans-unit>\n      <trans-unit id="70a67e04629f6d412db0a12d51820b480788d795" datatype="html">\n        <source>Create</source>\n        <target>Crea</target>\n      </trans-unit>\n      <trans-unit id="dc4fba275819619ee78e8eae14d357ea69ba7477" datatype="html">\n        <source>role</source>\n        <target>role</target>\n      </trans-unit>\n      <trans-unit id="fe6ee93173884201ec62d62ba173c3de85ae177e" datatype="html">\n        <source>Created role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Created role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="41c032df0732f4318f8213fabd0719ac347d4b6c" datatype="html">\n        <source>Updated role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Updated role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="50e22b5289f79f1417369403345c9fa9911a4557" datatype="html">\n        <source>System Role</source>\n        <target>Ruolo di sistema</target>\n      </trans-unit>\n      <trans-unit id="7f132668e2dbfcf616381d2daf59d1a6f2698102" datatype="html">\n        <source>Deleted role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Deleted role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="2e35d60a14ce0b470e8b54602864a867f7fcef40" datatype="html">\n        <source>There are no roles.</source>\n        <target>There are no roles.</target>\n      </trans-unit>\n      <trans-unit id="d2362a49d2434ce137bf19dab004251b7fd9c7b3" datatype="html">\n        <source>Created user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Created user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="9910122dfedd2eaa544a990f1430e5b82a76d99f" datatype="html">\n        <source>Update user</source>\n        <target>Aggiorna utente</target>\n      </trans-unit>\n      <trans-unit id="ac10a3d9b59575640797c1a8e6aea642cf5d5e77" datatype="html">\n        <source>Continue</source>\n        <target>Continua</target>\n      </trans-unit>\n      <trans-unit id="cf4bcf4ce3d551e6099ccdc3546ae418fe5f8038" datatype="html">\n        <source>You were automatically logged out because your roles have been changed.</source>\n        <target>Si è stati automaticamente disconnessi perché i ruoli sono stati modificati.</target>\n      </trans-unit>\n      <trans-unit id="0f6003fb0c1cc73b89d225801cc1b870945cd259" datatype="html">\n        <source>Updated user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Updated user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="fe516c6d820018fdc971113935e22ec1e852965f" datatype="html">\n        <source>Deleted user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Deleted user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="01a7e11502ff80421ef3615e533ea14ef57e1d5c" datatype="html">\n        <source>Failed to delete user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Failed to delete user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="63316a3861dbcb035147efc1b9fb6bc708242e94" datatype="html">\n        <source>You are currently logged in as "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>".\n        </source>\n        <target>You are currently logged in as "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="d8b81951d25439864e92f750f7c99d7426d6517c" datatype="html">\n        <source>password</source>\n        <target>password</target>\n      </trans-unit>\n      <trans-unit id="d361a9b5e1f7985a12c0433388f31626525a02b8" datatype="html">\n        <source>Updated user password"</source>\n        <target>Updated user password"</target>\n      </trans-unit>\n      <trans-unit id="1d7fbcc3d5efc946ffbcf86fed04c4e20dda20fb" datatype="html">\n        <source>Each object is split in data-chunks parts, each stored on a different OSD.</source>\n        <target>Ogni oggetto è suddiviso in porzioni di dati, ciascuna delle quali è memorizzata su un diverso OSD.</target>\n      </trans-unit>\n      <trans-unit id="b1f8ed4e216585f1f9134740002ef3c8501debd8" datatype="html">\n        <source>Compute coding chunks for each object and store them on different OSDs.\n      The number of coding chunks is also the number of OSDs that can be down without losing data.</source>\n        <target>Calcola le porzioni di codice relative a ciascun oggetto e le memorizza su diversi OSD.\n      Il numero di porzioni di codice è anche il numero degli OSD che è possibile disattivare senza perdere i dati.</target>\n      </trans-unit>\n      <trans-unit id="c437ee74a9a8e781e1380153f742a685e3b8cc5e" datatype="html">\n        <source>The jerasure plugin is the most generic and flexible plugin,\n          it is also the default for Ceph erasure coded pools.</source>\n        <target>Il plugin jerasure è il plugin più generico e flessibile,\n          ed è anche il plugin di default dei pool con codice di cancellazione di Ceph.</target>\n      </trans-unit>\n      <trans-unit id="8c7e19322851402afa67e41f4f1d4e531caf1bf5" datatype="html">\n        <source>The more flexible technique is reed_sol_van : it is enough to set k\n          and m. The cauchy_good technique can be faster but you need to chose the packetsize\n          carefully. All of reed_sol_r6_op, liberation, blaum_roth, liber8tion are RAID6 equivalents\n          in the sense that they can only be configured with m=2.</source>\n        <target>La tecnica più flessibile è reed_sol_van: è sufficiente impostare k\n          ed m. La tecnica cauchy_good può essere più rapida ma occorre selezionare attentamente la dimensione del\n          pacchetto. reed_sol_r6_op, liberation, blaum_roth, liber8tion sono tutti equivalenti a RAID6,\n          nel senso che è possibile configurarli solo con m=2.</target>\n      </trans-unit>\n      <trans-unit id="b1b11f49281b4e79219b4eecfbcb033cb15bd880" datatype="html">\n        <source>The encoding will be done on packets of bytes size at a time.\n          Chosing the right packet size is difficult.\n          The jerasure documentation contains extensive information on this topic.</source>\n        <target>La codifica viene eseguita su pacchetti di dimensioni in byte, uno alla volta.\n          È difficile scegliere la dimensione del pacchetto corretta.\n          La documentazione su jerasure fornisce informazioni esaustive su questo argomento.</target>\n      </trans-unit>\n      <trans-unit id="d9cb3bc07a25b26fbea457e0a7b543340bc13c49" datatype="html">\n        <source>With the jerasure plugin, when an erasure coded object is stored on\n          multiple OSDs, recovering from the loss of one OSD requires reading from all the others.\n          For instance if jerasure is configured with k=8 and m=4, losing one OSD requires reading\n          from the eleven others to repair.\n\n          The lrc erasure code plugin creates local parity chunks to be able to recover using\n          less OSDs. For instance if lrc is configured with k=8, m=4 and l=4, it will create\n          an additional parity chunk for every four OSDs. When a single OSD is lost, it can be\n          recovered with only four OSDs instead of eleven.</source>\n        <target>Con il plugin di jerasure, quando un oggetto con codice di cancellazione viene memorizzato su\n          più OSD, il recupero della perdita di un OSD richiede la lettura di tutti gli altri.\n          Ad esempio, se jerasure è configurato con k=8 e m=4, la perdita di un OSD richiede la lettura\n          degli altri undici per il ripristino.\n\n          Il plugin del codice di cancellazione lrc crea porzioni di parità locali che è possibile recuperare utilizzando un\n          minor numero di OSD. Ad esempio, se lrc è configurato con k=8, m=4 e l=4, crea\n          una porzione di parità aggiuntiva ogni quattro OSD. Quando si perde un singolo OSD, è possibile\n          recuperarlo solo con quattro OSD invece che con undici.</target>\n      </trans-unit>\n      <trans-unit id="813959d46e63a29bbd266b3af2ff9414c2ef553c" datatype="html">\n        <source>Group the coding and data chunks into sets of size locality. For instance,\n          for k=4 and m=2, when locality=3 two groups of three are created. Each set can\n          be recovered without reading chunks from another set.</source>\n        <target>Raggruppa le porzioni di codice e dati in set di località dimensione. Ad esempio,\n          per k=4 e m=2, se località=3 vengono creati due gruppi su tre. È possibile recuperare ciascun set\n          senza leggere le porzioni di un altro set.</target>\n      </trans-unit>\n      <trans-unit id="f0ff63d92e0a1b4d4b51e31b9133802d160a5f4c" datatype="html">\n        <source>The type of the crush bucket in which each set of chunks defined\n          by l will be stored. For instance, if it is set to rack, each group of l chunks will be\n          placed in a different rack. It is used to create a CRUSH rule step such as step choose\n          rack. If it is not set, no such grouping is done.</source>\n        <target>Il tipo di compartimento Crush in cui viene memorizzato ciascun set di porzioni definito\n          dall\'utente. Ad esempio, se è impostato su rack, ciascun gruppo di porzioni viene\n          posizionato in un diverso rack. Viene utilizzato per creare un passaggio della regola CRUSH come il passaggio choose\n          rack. Se non è impostato, il raggruppamento non viene eseguito.</target>\n      </trans-unit>\n      <trans-unit id="3ece48df9d1e9a98f98bf3c5cc66e8b637020a4d" datatype="html">\n        <source>The isa plugin encapsulates the ISA library. It only runs on Intel processors.</source>\n        <target>Il plugin ISA incapsula la libreria ISA. Viene eseguito solo su processori Intel.</target>\n      </trans-unit>\n      <trans-unit id="4472c9e31bfc7d96a83dc4afce0a6e885c99e839" datatype="html">\n        <source>The ISA plugin comes in two Reed Solomon forms.\n          If reed_sol_van is set, it is Vandermonde, if cauchy is set, it is Cauchy.</source>\n        <target>Il plugin ISA è disponibile in due formati Reed Solomon.\n          Se è impostato reed_sol_van, il formato è Vandermonde, se è impostato cauchy, il formato è Cauchy.</target>\n      </trans-unit>\n      <trans-unit id="fa385f5ecf63083ec848dca8dc5e52bdc72ac6f6" datatype="html">\n        <source>The shec plugin encapsulates the multiple SHEC library.\n          It allows ceph to recover data more efficiently than Reed Solomon codes.</source>\n        <target>Il plugin shec incapsula la libreria SHEC multipla.\n          Consente a Ceph di recuperare i dati in modo più efficiente rispetto ai codici Reed Solomon.</target>\n      </trans-unit>\n      <trans-unit id="687b3cd94b3475c24ff4481d64d4739f902a377c" datatype="html">\n        <source>The number of parity chunks each of which includes each data chunk in its\n          calculation range. The number is used as a durability estimator. For instance, if c=2,\n          2 OSDs can be down without losing data.</source>\n        <target>Il numero di compartimenti di parità, ciascuno dei quali include i singoli compartimenti di dati\n          nell\'intervallo di calcolo. Il numero viene utilizzato come strumento di stima della durabilità. Ad esempio, se c=2,\n          è possibile disattivare 2 OSD senza perdere i dati.</target>\n      </trans-unit>\n      <trans-unit id="f3c4af6df91bdaabdb715f8f0b61a24faf73a3bc" datatype="html">\n        <source>The name of the crush bucket used for the first step of the CRUSH rule.\n      For instance step take default.</source>\n        <target>Il nome del compartimento Crush utilizzato per il primo passaggio della regola CRUSH.\n      Ad esempio il passaggio take default.</target>\n      </trans-unit>\n      <trans-unit id="e1059955a5ce65cdabf0c0a8207377e1f9bae57e" datatype="html">\n        <source>Ensure that no two chunks are in a bucket with the same failure\n      domain. For instance, if the failure domain is host no two chunks will be stored on the same\n      host. It is used to create a CRUSH rule step such as step chooseleaf host.</source>\n        <target>Assicurarsi che non esistano due porzioni in un compartimento con lo stesso dominio\n      di errore. Ad esempio, se il dominio di errore è l\'host, non verranno memorizzate due porzioni sullo stesso\n      host. Viene utilizzato per creare un passaggio della regola CRUSH come passaggio chooseleaf host.</target>\n      </trans-unit>\n      <trans-unit id="ac392ac9c6da5fde6da80fc57b9c09402fb6e73d" datatype="html">\n        <source>Restrict placement to devices of a specific class\n      (e.g., ssd or hdd), using the crush device class names in the CRUSH map.</source>\n        <target>Limitare il posizionamento ai dispositivi di una classe specifica\n      (ad es. ssd o hdd) usando i nomi delle classi di dispositivi Crush nella mappa CRUSH.</target>\n      </trans-unit>\n      <trans-unit id="62bcb9ae5583a088649b1adf5787a86ca3334f89" datatype="html">\n        <source>Set the directory name from which the erasure code plugin is loaded.</source>\n        <target>Impostare il nome della directory da cui viene caricato il plugin del codice di cancellazione.</target>\n      </trans-unit>\n      <trans-unit id="c8f10184a8433d132ede0a2c0c1aa96f291cacfa" datatype="html">\n        <source>Allows all operations</source>\n        <target>Consente tutte le operazioni</target>\n      </trans-unit>\n      <trans-unit id="82077ee97c11ee76efc3adf253b7b26654544317" datatype="html">\n        <source>Allows only operations that do not modify the server</source>\n        <target>Consente solo le operazioni che non modificano il server</target>\n      </trans-unit>\n      <trans-unit id="22b5212ec10449dbf0a0af0ad34122eac51b5f2a" datatype="html">\n        <source>Does not allow read or write operations, but allows any other operation</source>\n        <target>Non consente operazioni di lettura o scrittura, ma consente qualsiasi altra operazione</target>\n      </trans-unit>\n      <trans-unit id="9799d0f8c4b7727ae239fedfe3c0ce127feb7a50" datatype="html">\n        <source>Does not allow read, write, or any operation that modifies file        attributes or directory content</source>\n        <target>Non consente operazioni di lettura o scrittura o qualsiasi operazione che modifichi gli attributi dei file o il contenuto della directory</target>\n      </trans-unit>\n      <trans-unit id="aeddefe0af87025d8f00699aa94bed8216a99a58" datatype="html">\n        <source>Allows no access at all</source>\n        <target>Non consente alcun accesso</target>\n      </trans-unit>\n      <trans-unit id="a436c6a4025a749198e93cac239de8deede72211" datatype="html">\n        <source>-- Select the priority --</source>\n        <target>-- Selezionare la priorità --</target>\n      </trans-unit>\n      <trans-unit id="9556266f0a2b1762a44b686f2bb21dbfefb01c12" datatype="html">\n        <source>Low</source>\n        <target>Bassa</target>\n      </trans-unit>\n      <trans-unit id="72279141a67cc042d9864102b703216cc8a428a3" datatype="html">\n        <source>High</source>\n        <target>Alta</target>\n      </trans-unit>\n      <trans-unit id="6080b77234e92ad41bb52653b239c4c4f851317d" datatype="html">\n        <source>Error</source>\n        <target>Error</target>\n      </trans-unit>\n      <trans-unit id="c43dc1967a603fefb886149ac35863a06d5b4ce5" datatype="html">\n        <source>Information</source>\n        <target>Informazioni</target>\n      </trans-unit>\n      <trans-unit id="1e035e6ccfab771cad4226b2ad230cb0d4a88cba" datatype="html">\n        <source>Success</source>\n        <target>Success</target>\n      </trans-unit>\n      <trans-unit id="e6ca3c0efaf51e6d45a7f92f58bac37140c3fda4" datatype="html">\n        <source>Last 5 minutes</source>\n        <target>Ultimi 5 minuti</target>\n      </trans-unit>\n      <trans-unit id="b0ecb2bbc548cc9bd95050fd8f0c84586d083fe2" datatype="html">\n        <source>Last 15 minutes</source>\n        <target>Ultimi 15 minuti</target>\n      </trans-unit>\n      <trans-unit id="857ae67deb51353120b203b0f2a06b0c48ef49fa" datatype="html">\n        <source>Last 30 minutes</source>\n        <target>Ultimi 30 minuti</target>\n      </trans-unit>\n      <trans-unit id="7b1738fad314e936dc14b94db8f43da736942308" datatype="html">\n        <source>Last 1 hour (Default)</source>\n        <target>Ultima ora (Default)</target>\n      </trans-unit>\n      <trans-unit id="a428288224389726cef9d9bd8d1d7808cccd7ffd" datatype="html">\n        <source>Last 3 hours</source>\n        <target>Ultime 3 ore</target>\n      </trans-unit>\n      <trans-unit id="7cbabecc8d80cf183ac199cfaeb7619d56e5d43f" datatype="html">\n        <source>Last 6 hours</source>\n        <target>Ultime 6 ore</target>\n      </trans-unit>\n      <trans-unit id="1a389cdf64187d34cf99eec30a290e3fa7d4744f" datatype="html">\n        <source>Last 12 hours</source>\n        <target>Ultime 12 ore</target>\n      </trans-unit>\n      <trans-unit id="9e0ba5f591380a94d594a76288f0c41aa97eb9c2" datatype="html">\n        <source>Last 24 hours</source>\n        <target>Ultime 24 ore</target>\n      </trans-unit>\n      <trans-unit id="e430eda9c785cd43465b7cbb400ee914f1057247" datatype="html">\n        <source>Yesterday</source>\n        <target>Ieri</target>\n      </trans-unit>\n      <trans-unit id="7fb1099e29660162f9154d5b2feee7743a423df6" datatype="html">\n        <source>Today</source>\n        <target>Oggi</target>\n      </trans-unit>\n      <trans-unit id="33904058a97a64bd189bed84038b1ffe719769c7" datatype="html">\n        <source>Today so far</source>\n        <target>Fino a oggi</target>\n      </trans-unit>\n      <trans-unit id="3b0b849be007510021d3d383df75bec95ef9c97b" datatype="html">\n        <source>Day before yesterday</source>\n        <target>Giorno prima di ieri</target>\n      </trans-unit>\n      <trans-unit id="6b430c2c394c4d32ebd7d46c8c46ab60e1b29ccb" datatype="html">\n        <source>Last 2 days</source>\n        <target>Ultimi 2 giorni</target>\n      </trans-unit>\n      <trans-unit id="d5e812a87a5d57a94200a2013027cab76a7c4863" datatype="html">\n        <source>This day last week</source>\n        <target>Questo giorno della scorsa settimana</target>\n      </trans-unit>\n      <trans-unit id="d00edc936eeab6b5577401f115ca86ca2c87dc9a" datatype="html">\n        <source>Previous week</source>\n        <target>Settimana precedente</target>\n      </trans-unit>\n      <trans-unit id="b036e40577baa6b918b2267d319d4b3aeaa88a5a" datatype="html">\n        <source>This week</source>\n        <target>Questa settimana</target>\n      </trans-unit>\n      <trans-unit id="99ad5a6096b3fcb3f021f3779bae710cdfeb8934" datatype="html">\n        <source>This week so far</source>\n        <target>Fino a questa settimana</target>\n      </trans-unit>\n      <trans-unit id="02e0243b60007368f87dc01e083f232dd025096d" datatype="html">\n        <source>Last 7 days</source>\n        <target>Ultimi 7 giorni</target>\n      </trans-unit>\n      <trans-unit id="c3b08b07b5ab98e7cdcf18df39355690ab7d3884" datatype="html">\n        <source>Previous month</source>\n        <target>Mese precedente</target>\n      </trans-unit>\n      <trans-unit id="1b2562c6d5aa90644e7dc91feee82e2005fceb33" datatype="html">\n        <source>This month</source>\n        <target>Questo mese</target>\n      </trans-unit>\n      <trans-unit id="26b4b18c5917934abb169ba9aa490e57f7bf10b8" datatype="html">\n        <source>This month so far</source>\n        <target>Fino a questo mese</target>\n      </trans-unit>\n      <trans-unit id="7668986b9f753fcd72ad4a00b1a0c4861d1f7fb8" datatype="html">\n        <source>Last 30 days</source>\n        <target>Ultimi 30 giorni</target>\n      </trans-unit>\n      <trans-unit id="ba1e822408d90c6fbd2989100fa648bfd5e8ee84" datatype="html">\n        <source>Last 90 days</source>\n        <target>Ultimi 90 giorni</target>\n      </trans-unit>\n      <trans-unit id="c3df03f899a914c4181adcdc8a3f077424f7b6e8" datatype="html">\n        <source>Last 6 months</source>\n        <target>Ultimi 6 mesi</target>\n      </trans-unit>\n      <trans-unit id="7f9a92757580c9f31c309c0a3812ea429274eadf" datatype="html">\n        <source>Last 1 year</source>\n        <target>Ultimo anno</target>\n      </trans-unit>\n      <trans-unit id="5a9fede30ff65cb4b4426f6b1ed31afb67ecd7b0" datatype="html">\n        <source>Previous year</source>\n        <target>Anno precedente</target>\n      </trans-unit>\n      <trans-unit id="65cefcc53d1f6445df7568e8a40c49165f1090ee" datatype="html">\n        <source>This year</source>\n        <target>Quest\'anno</target>\n      </trans-unit>\n      <trans-unit id="1f68b766944dc3865bddab765fe952b0c1c43f92" datatype="html">\n        <source>This year so far</source>\n        <target>Fino a quest\'anno</target>\n      </trans-unit>\n      <trans-unit id="4d4b77e614f8043fdadef5d6d235655bb48eb311" datatype="html">\n        <source>Last 2 years</source>\n        <target>Ultimi 2 anni</target>\n      </trans-unit>\n      <trans-unit id="138afa339ea6e75d25a474affe1edbcb90e00ec0" datatype="html">\n        <source>Last 5 years</source>\n        <target>Ultimi 5 anni</target>\n      </trans-unit>\n      <trans-unit id="37391297bb077a6f84484930261b01a3ce38327b" datatype="html">\n        <source>No items selected.</source>\n        <target>Nessun elemento selezionato.</target>\n      </trans-unit>\n      <trans-unit id="2c1e52ee832661b4a0f570877d24661736b16af1" datatype="html">\n        <source>Deselect item to select again</source>\n        <target>Deselezionare l\'elemento per selezionare di nuovo</target>\n      </trans-unit>\n      <trans-unit id="c8c9c6e5918659336824bbdda3501c66eaa79a4c" datatype="html">\n        <source>Selection limit reached</source>\n        <target> Raggiunto il limite per la selezione</target>\n      </trans-unit>\n      <trans-unit id="02d184c288f567825a1fcbf83bcd3099a10853d5" datatype="html">\n        <source>Filter tags</source>\n        <target>Filtra tag</target>\n      </trans-unit>\n      <trans-unit id="aa00748e49c269956837d6f3acdd8d218796a8d8" datatype="html">\n        <source>Add badge</source>\n        <target>Aggiungi badge</target>\n      </trans-unit>\n      <trans-unit id="4078a92d8121abdce7d8f346a88914923ec835fc" datatype="html">\n        <source>There are no items available.</source>\n        <target>Non vi sono elementi disponibili.</target>\n      </trans-unit>\n      <trans-unit id="f6755cff4957d5c3c89bafce5651f1b6fa2b1fd9" datatype="html">\n        <source>Add</source>\n        <target>Aggiungi</target>\n      </trans-unit>\n      <trans-unit id="019d4bd6a5690f0cfa0ecf346a4e6bf7f0d8debb" datatype="html">\n        <source>Remove</source>\n        <target>Remove</target>\n      </trans-unit>\n      <trans-unit id="54a4a3132b693575728a45a5f3154ad4c9af404b" datatype="html">\n        <source>Clone</source>\n        <target>Clona</target>\n      </trans-unit>\n      <trans-unit id="1979da7460819153e11d2078244645d94291b69c" datatype="html">\n        <source>Copy</source>\n        <target>Copia</target>\n      </trans-unit>\n      <trans-unit id="2e5e77dbaadd6588d8bbf737139fd9806294ae28" datatype="html">\n        <source>Deep Scrub</source>\n        <target>Pulitura approfondita</target>\n      </trans-unit>\n      <trans-unit id="bf463b189696c19769ea263227e6c22aefafb918" datatype="html">\n        <source>Destroy</source>\n        <target>Eliminazione definitiva</target>\n      </trans-unit>\n      <trans-unit id="b4e94d529ff10db4d86f3f48900fa67ede3411fd" datatype="html">\n        <source>Evict</source>\n        <target>Evict</target>\n      </trans-unit>\n      <trans-unit id="3747fff7faf52b436ecff5fb8555091736d92c70" datatype="html">\n        <source>Flatten</source>\n        <target>Appiattisci</target>\n      </trans-unit>\n      <trans-unit id="66fdbf32e5449cc54a3d1e19c7b8f4ea238facfb" datatype="html">\n        <source>Mark Down</source>\n        <target>Declassa</target>\n      </trans-unit>\n      <trans-unit id="0cda3e824fb2f9c731e5a60b859dedc1fe03127e" datatype="html">\n        <source>Mark In</source>\n        <target>Attiva</target>\n      </trans-unit>\n      <trans-unit id="f833354f43cb38c5716faa8759a9bbdd1ab8f199" datatype="html">\n        <source>Mark Lost</source>\n        <target>Contrassegna come perso</target>\n      </trans-unit>\n      <trans-unit id="75fb9f970ba365398c45e57bbb1019c009f6b832" datatype="html">\n        <source>Mark Out</source>\n        <target>Disattiva</target>\n      </trans-unit>\n      <trans-unit id="45480c03b0a3a37ff8f6a5600a6a034b40fbaea4" datatype="html">\n        <source>Protect</source>\n        <target>Proteggi</target>\n      </trans-unit>\n      <trans-unit id="e26f9cf3666aace4e524b1505c9795d76d87738d" datatype="html">\n        <source>Rename</source>\n        <target>Rinomina</target>\n      </trans-unit>\n      <trans-unit id="d5cec7468241d72cafd86ad1af6d55b09a6e3ae5" datatype="html">\n        <source>Restore</source>\n        <target>Ripristina</target>\n      </trans-unit>\n      <trans-unit id="ba073985cfd2528c77a746ed596b2f2052b973c5" datatype="html">\n        <source>Move to Trash</source>\n        <target>Sposta nel cestino</target>\n      </trans-unit>\n      <trans-unit id="3ea9b96a21a499d296a7f25407da0f3df6c2d5ed" datatype="html">\n        <source>Unprotect</source>\n        <target>Rimuovi protezione</target>\n      </trans-unit>\n      <trans-unit id="024cdb2814b0cb3f4ced148f1a0b9854447cb214" datatype="html">\n        <source>Change</source>\n        <target>Change</target>\n      </trans-unit>\n      <trans-unit id="011f3e2bfc1fd8407eb5f599352665bfeb145664" datatype="html">\n        <source>Recreate</source>\n        <target>Recreate</target>\n      </trans-unit>\n      <trans-unit id="6df2dfa48bef5510c82fb43f4e71a7f9557f3d71" datatype="html">\n        <source>Expire</source>\n        <target>Expire</target>\n      </trans-unit>\n      <trans-unit id="28df1b02fd88d2deb0212bc5d7ff34cf9492fa54" datatype="html">\n        <source>Deleted</source>\n        <target>Eliminato</target>\n      </trans-unit>\n      <trans-unit id="80e3b490720757978c99a7b5af3885faf202b955" datatype="html">\n        <source>Added</source>\n        <target>Added</target>\n      </trans-unit>\n      <trans-unit id="1aa4883bc4f1352f7a0bdd94810a9bf6dc22bd02" datatype="html">\n        <source>Removed</source>\n        <target>Removed</target>\n      </trans-unit>\n      <trans-unit id="402f3ee47f98fbbc68530239b1ddcbb9e96a460c" datatype="html">\n        <source>Edited</source>\n        <target>Edited</target>\n      </trans-unit>\n      <trans-unit id="96d56ec71c6e78cb4d6204c4a9359a3d38fcdb59" datatype="html">\n        <source>Canceled</source>\n        <target>Canceled</target>\n      </trans-unit>\n      <trans-unit id="a3318a2ee2bd0064b6b9ff72a4018b679ec63125" datatype="html">\n        <source>Cloned</source>\n        <target>Clonato</target>\n      </trans-unit>\n      <trans-unit id="ef90545bc832876c0d7f9a10363c75137472bbb5" datatype="html">\n        <source>Copied</source>\n        <target>Copiato</target>\n      </trans-unit>\n      <trans-unit id="5a13d3834133e09544ec93885662f181372dcf46" datatype="html">\n        <source>Deep Scrubbed</source>\n        <target>Deep Scrubbed</target>\n      </trans-unit>\n      <trans-unit id="7c9efb91434a5c15e9579c0b31c8e184b8c8240d" datatype="html">\n        <source>Destroyed</source>\n        <target>Destroyed</target>\n      </trans-unit>\n      <trans-unit id="647059bf3ea098fffedf92ddfad792bb3daa3c95" datatype="html">\n        <source>Flattened</source>\n        <target>Appiattito</target>\n      </trans-unit>\n      <trans-unit id="8df71e952319eafa71c8e6ef6144b780af8813ff" datatype="html">\n        <source>Marked Down</source>\n        <target>Marked Down</target>\n      </trans-unit>\n      <trans-unit id="25658f5a080a1cab3b91e17b756b1d1dc46bb9b3" datatype="html">\n        <source>Marked In</source>\n        <target>Marked In</target>\n      </trans-unit>\n      <trans-unit id="ebcf306036a6c5579df9448f77eca98d491db245" datatype="html">\n        <source>Marked Lost</source>\n        <target>Marked Lost</target>\n      </trans-unit>\n      <trans-unit id="3a8803369ac18be3ad762384b9fda095fe2a6dcc" datatype="html">\n        <source>Marked Out</source>\n        <target>Marked Out</target>\n      </trans-unit>\n      <trans-unit id="0fe2a62ea7c609fa8326ee6d38060bc5ba8bf34f" datatype="html">\n        <source>Protected</source>\n        <target>Protected</target>\n      </trans-unit>\n      <trans-unit id="69b0446c6c2411c4fe01e411b8ceec72d4044fb4" datatype="html">\n        <source>Purged</source>\n        <target>Eliminato definitivamente</target>\n      </trans-unit>\n      <trans-unit id="d53de1a61bd51c815dc374c7f97e4ee69230e412" datatype="html">\n        <source>Renamed</source>\n        <target>Renamed</target>\n      </trans-unit>\n      <trans-unit id="86fc6cae82c095f14105eb8a61d7b3fa948304b7" datatype="html">\n        <source>Restored</source>\n        <target>Ripristinato</target>\n      </trans-unit>\n      <trans-unit id="e87dd0fd35460cb743046db918dfce2137b5977a" datatype="html">\n        <source>Reweighted</source>\n        <target>Reweighted</target>\n      </trans-unit>\n      <trans-unit id="dc21fd6547f2325c67f6deff925f29eb07a2db3e" datatype="html">\n        <source>Rolled back</source>\n        <target>Rollback eseguito</target>\n      </trans-unit>\n      <trans-unit id="15dec4c2d73a516c10aef90aeeea3364fa794615" datatype="html">\n        <source>Scrubbed</source>\n        <target>Scrubbed</target>\n      </trans-unit>\n      <trans-unit id="8dc560ded67482f109a98e0638851ad1d37188b3" datatype="html">\n        <source>Showed</source>\n        <target>Showed</target>\n      </trans-unit>\n      <trans-unit id="197259b7ea76f15c6d0a64b075a673fd4112ada7" datatype="html">\n        <source>Moved to Trash</source>\n        <target>Moved to Trash</target>\n      </trans-unit>\n      <trans-unit id="8fb15cb102cd75b562680290b7e04c44d80018f2" datatype="html">\n        <source>Unprotected</source>\n        <target>Unprotected</target>\n      </trans-unit>\n      <trans-unit id="8588eafa498262a1cbb5043ad68cf0ff669c4f10" datatype="html">\n        <source>Recreated</source>\n        <target>Recreated</target>\n      </trans-unit>\n      <trans-unit id="ffde7468d7b5cad6990095ed68ddee3d67cd02f8" datatype="html">\n        <source>Expired</source>\n        <target>Expired</target>\n      </trans-unit>\n      <trans-unit id="4f20f2d5a6882190892e58b85f6ccbedfa737952" datatype="html">\n        <source>Yes</source>\n        <target>Sì</target>\n      </trans-unit>\n      <trans-unit id="3d3ae7deebc5949b0c1c78b9847886a94321d9fd" datatype="html">\n        <source>No</source>\n        <target>No</target>\n      </trans-unit>\n      <trans-unit id="99fa0b67376d40142bd4d3ace3344abf4f98b6a5" datatype="html">\n        <source>Your matcher seems to match no currently defined rule or active alert.</source>\n        <target>Your matcher seems to match no currently defined rule or active alert.</target>\n      </trans-unit>\n      <trans-unit id="7e284852732c303eb1f47de9aca2569e41aeffed" datatype="html">\n        <source>no active alerts</source>\n        <target>no active alerts</target>\n      </trans-unit>\n      <trans-unit id="b8042829e4fbe7b09fd9bac9fa0ecf5cc1802fee" datatype="html">\n        <source>1 active alert</source>\n        <target>1 active alert</target>\n      </trans-unit>\n      <trans-unit id="e24adce97669cb0fc74cc13fdc14179b6f78ea5e" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{n}}"/> active alerts\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{n}}"/> active alerts\n        </target>\n      </trans-unit>\n      <trans-unit id="d8fb058ff5883731d38a132da4ca45cfe8d719a3" datatype="html">\n        <source>Matches 1 rule</source>\n        <target>Matches 1 rule</target>\n      </trans-unit>\n      <trans-unit id="90aaef24d192e67c3fbc2ec6f8bfaff211cea128" datatype="html">\n        <source>Matches \n          <x id="INTERPOLATION" equiv-text="{{n}}"/> rules\n        </source>\n        <target>Matches \n          <x id="INTERPOLATION" equiv-text="{{n}}"/> rules\n        </target>\n      </trans-unit>\n      <trans-unit id="f4685dc581e18244cd410f1057a8c56a9dbfe8df" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rules}}"/> with \n          <x id="INTERPOLATION_1" equiv-text="{{alerts}}"/>.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rules}}"/> with \n          <x id="INTERPOLATION_1" equiv-text="{{alerts}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8fd98fb2a0f24ba72cde0787dd3f02cfc17de469" datatype="html">\n        <source>Quality of Service</source>\n        <target>Qualità di servizio</target>\n      </trans-unit>\n      <trans-unit id="2c53f3ce2c6fff9025a7b41cc334521725da6e7b" datatype="html">\n        <source>BPS Limit</source>\n        <target>Limite di BPS</target>\n      </trans-unit>\n      <trans-unit id="e897624a392419386b035bcd8529337e262fc41d" datatype="html">\n        <source>The desired limit of IO bytes per second.</source>\n        <target>Il limite desiderato di byte I/O al secondo.</target>\n      </trans-unit>\n      <trans-unit id="dc56f77e4507da7e86a3accd0a2a7099a838d539" datatype="html">\n        <source>IOPS Limit</source>\n        <target>Limite di IOPS</target>\n      </trans-unit>\n      <trans-unit id="141c3f6eadbb35b0e17b2f847e4cac23240a6ea9" datatype="html">\n        <source>The desired limit of IO operations per second.</source>\n        <target>Il limite desiderato di operazioni I/O al secondo.</target>\n      </trans-unit>\n      <trans-unit id="3b3b101f16c38806e984b157e0cf22cd21451122" datatype="html">\n        <source>Read BPS Limit</source>\n        <target>Limite BPS in lettura</target>\n      </trans-unit>\n      <trans-unit id="87835fabb6a645873f3829a450ca1d58f97754f2" datatype="html">\n        <source>The desired limit of read bytes per second.</source>\n        <target>Il limite desiderato dei byte letti al secondo.</target>\n      </trans-unit>\n      <trans-unit id="28b485e700df46d70b96666099f714e3ae9e5c2e" datatype="html">\n        <source>Read IOPS Limit</source>\n        <target>Limite di IOPS in lettura</target>\n      </trans-unit>\n      <trans-unit id="5907bd1a5cf3e20e740bca676cb1538372e1f9ff" datatype="html">\n        <source>The desired limit of read operations per second.</source>\n        <target>Il limite desiderato di operazioni di lettura al secondo.</target>\n      </trans-unit>\n      <trans-unit id="07317121f0b194987d4dee8b322f521ac17bf124" datatype="html">\n        <source>Write BPS Limit</source>\n        <target>Limite di BPS in scrittura</target>\n      </trans-unit>\n      <trans-unit id="4022c78bd9132ca2ec67927f8484c437d1d9b6fd" datatype="html">\n        <source>The desired limit of write bytes per second.</source>\n        <target>Il limite desiderato di byte scritti al secondo.</target>\n      </trans-unit>\n      <trans-unit id="52c22c19f98ff3a09bd811292954a889b93d28b7" datatype="html">\n        <source>Write IOPS Limit</source>\n        <target>Limite di IOPS in scrittura</target>\n      </trans-unit>\n      <trans-unit id="0ed62e3fd8654b3191fc7fa959ad3f10f1ea773a" datatype="html">\n        <source>The desired limit of write operations per second.</source>\n        <target>Il limite desiderato di operazioni di scrittura al secondo.</target>\n      </trans-unit>\n      <trans-unit id="d90c99d77864f21f932ee1369019f400c4ad0e2d" datatype="html">\n        <source>BPS Burst</source>\n        <target>Burst BPS</target>\n      </trans-unit>\n      <trans-unit id="29c32192f4d185139aaaf6d3a766a3411dfeabbe" datatype="html">\n        <source>The desired burst limit of IO bytes.</source>\n        <target>Il limite di burst desiderato dei byte di I/O.</target>\n      </trans-unit>\n      <trans-unit id="b988b90489e899941e196c3dd0ecc22e37540224" datatype="html">\n        <source>IOPS Burst</source>\n        <target>Burst IOPS</target>\n      </trans-unit>\n      <trans-unit id="02c5de8ff11870f1b3896f2b45637ce0dba1ed4b" datatype="html">\n        <source>The desired burst limit of IO operations.</source>\n        <target>Il limite di burst desiderato delle operazioni di I/O.</target>\n      </trans-unit>\n      <trans-unit id="7a160538129b37cf595f1651f28b5fac62fbc0f8" datatype="html">\n        <source>Read BPS Burst</source>\n        <target>Burst BPS in lettura</target>\n      </trans-unit>\n      <trans-unit id="b573a5df16a53b9947288461bc24e6a0eb4341d6" datatype="html">\n        <source>The desired burst limit of read bytes.</source>\n        <target>Il limite di burst desiderato dei byte letti.</target>\n      </trans-unit>\n      <trans-unit id="1d5b8c2a0c653651cc4ca4b8fed9456f449220d1" datatype="html">\n        <source>Read IOPS Burst</source>\n        <target>Burst IOPS in lettura</target>\n      </trans-unit>\n      <trans-unit id="20b199f9d4a8d08ffefec66040e27639ec221512" datatype="html">\n        <source>The desired burst limit of read operations.</source>\n        <target>Il limite di burst desiderato delle operazioni di lettura.</target>\n      </trans-unit>\n      <trans-unit id="824525ae57992aee629ddffcd500a8b77087ddec" datatype="html">\n        <source>Write BPS Burst</source>\n        <target>Burst BPS in scrittura</target>\n      </trans-unit>\n      <trans-unit id="a90aac4050a5d79765da5e1186909f6d4d7f981d" datatype="html">\n        <source>The desired burst limit of write bytes.</source>\n        <target>Il limite di burst desiderato dei byte scritti.</target>\n      </trans-unit>\n      <trans-unit id="35a8c6e6c249c7d16e26aa7c4ef97c06db405070" datatype="html">\n        <source>Write IOPS Burst</source>\n        <target>Burst di IOPS in scrittura</target>\n      </trans-unit>\n      <trans-unit id="b356abd41d7e9eea4d20c03d2e6892b6d435ecbd" datatype="html">\n        <source>The desired burst limit of write operations.</source>\n        <target>Il limite di burst desiderato delle operazioni di scrittura.</target>\n      </trans-unit>\n      <trans-unit id="24c4d50fe8567de381a20a1745f1b6d37eacaa90" datatype="html">\n        <source>Failed to \n          <x id="INTERPOLATION" equiv-text="{{failure}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{metadata}}"/>\n        </source>\n        <target>Failed to \n          <x id="INTERPOLATION" equiv-text="{{failure}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{metadata}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="f54b6f09b390d5ade0e354f6c7d4743c10a315cc" datatype="html">\n        <source>Executing</source>\n        <target>In esecuzione</target>\n      </trans-unit>\n      <trans-unit id="5cdfe3e3330ea42bfd29c540dbd268bee97d364d" datatype="html">\n        <source>execute</source>\n        <target>esegui</target>\n      </trans-unit>\n      <trans-unit id="6e98e243518daa88be30330fcdbd2d10f8eae4d7" datatype="html">\n        <source>Executed</source>\n        <target>Eseguito</target>\n      </trans-unit>\n      <trans-unit id="24b09aa5bd909273a023d2d788a2673325c77e31" datatype="html">\n        <source>unknown task</source>\n        <target>task sconosciuto</target>\n      </trans-unit>\n      <trans-unit id="114b5f92b9192b229ffc9a450319a97ccca2aa5c" datatype="html">\n        <source>Creating</source>\n        <target>Creazione in corso</target>\n      </trans-unit>\n      <trans-unit id="56695b69d27437ada580a187958407e7c856d46e" datatype="html">\n        <source>create</source>\n        <target>crea</target>\n      </trans-unit>\n      <trans-unit id="9db60170ef3b3b41a863e7d5ee7cec10919b9141" datatype="html">\n        <source>Updating</source>\n        <target>Aggiornamento in corso</target>\n      </trans-unit>\n      <trans-unit id="64412640835b7d25247cb254d4f911366c0e6862" datatype="html">\n        <source>update</source>\n        <target>aggiorna</target>\n      </trans-unit>\n      <trans-unit id="416193bb373d59477458b00e5922d755e2e2cacd" datatype="html">\n        <source>Deleting</source>\n        <target>Eliminazione in corso</target>\n      </trans-unit>\n      <trans-unit id="70ef158c584bafe788e319a0bffa11b02ee9abf1" datatype="html">\n        <source>delete</source>\n        <target>elimina</target>\n      </trans-unit>\n      <trans-unit id="d07a282afc7fbdb39cea6e1c9b544882a7260a86" datatype="html">\n        <source>Adding</source>\n        <target>Adding</target>\n      </trans-unit>\n      <trans-unit id="a11ec4e640f241329943237d2a3cceaa4823658e" datatype="html">\n        <source>add</source>\n        <target>add</target>\n      </trans-unit>\n      <trans-unit id="ea1c70b874904216cc5af24bd7cb3dab2d074d42" datatype="html">\n        <source>Removing</source>\n        <target>Removing</target>\n      </trans-unit>\n      <trans-unit id="4da487aec5a29ce4372e7b512227cd665b01fe6f" datatype="html">\n        <source>remove</source>\n        <target>remove</target>\n      </trans-unit>\n      <trans-unit id="3f757cfc3749ebb5d4462017cb60138ca082f15f" datatype="html">\n        <source>RBD \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>RBD \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="a6c681e6130fe440ae40de99a405fcf5c7eefee1" datatype="html">\n        <source>RBD snapshot \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>RBD snapshot \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="4fb54a0291f49583c317d4a3690239141b5a8f68" datatype="html">\n        <source>mirror mode for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>mirror mode for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="6621ab6e122a149326a1e48e9051a41e7f203cf6" datatype="html">\n        <source>mirror peer for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>mirror peer for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="db15adc778317d551232fe712eb03a2c1eac4a43" datatype="html">\n        <source>all dashboards</source>\n        <target>all dashboards</target>\n      </trans-unit>\n      <trans-unit id="1b559dbd9cc9664fd788c2da9a10d3abafe066cb" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8fc28e1103d9f2ef47b9fff9a4f74e8365c7cf19" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="1cdc7ea44fcb85d0cfcf6e7379d625d8674a8fbe" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="1ff7676ad1e991102224540a32dd44ad1ab88aa8" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.\n        </target>\n      </trans-unit>\n      <trans-unit id="c3a1dcca2b2ba20fbe39e2441e7bb1cf9c20cdf3" datatype="html">\n        <source>Cloning</source>\n        <target>Clonazione in corso</target>\n      </trans-unit>\n      <trans-unit id="b5fa4e0a3a279dee5b6bf7b823e54387f7c79994" datatype="html">\n        <source>clone</source>\n        <target>clona</target>\n      </trans-unit>\n      <trans-unit id="29b7452e8367af9aa8fa828f16ff94c3530e7a1a" datatype="html">\n        <source>Snapshot of \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> must be protected.\n        </source>\n        <target>Snapshot of \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> must be protected.\n        </target>\n      </trans-unit>\n      <trans-unit id="369f93b9a07a9465f7a261e9f0021b6cfa7180c5" datatype="html">\n        <source>Copying</source>\n        <target>Copia in corso</target>\n      </trans-unit>\n      <trans-unit id="37584f889855d153a106f5dffe23d21f9453c8ff" datatype="html">\n        <source>copy</source>\n        <target>copia</target>\n      </trans-unit>\n      <trans-unit id="6ea9e313a04ef59222feaadfe84e97b4c69d7e9e" datatype="html">\n        <source>Flattening</source>\n        <target>Appiattimento</target>\n      </trans-unit>\n      <trans-unit id="1f57593581b64d2d4c70eab1736bd9bccc66a7dc" datatype="html">\n        <source>flatten</source>\n        <target>appiattisci</target>\n      </trans-unit>\n      <trans-unit id="d990ef9680cd23bbe652c37eb46bf038cfee80ad" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="a101745d080ef65c09bd5fafc796f94ddb9f9d60" datatype="html">\n        <source>Cannot unprotect \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it contains child images.\n        </source>\n        <target>Cannot unprotect \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it contains child images.\n        </target>\n      </trans-unit>\n      <trans-unit id="647968f4cde7786cd53ec8e6aa9802ac6824a262" datatype="html">\n        <source>Cannot delete \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it\'s protected.\n        </source>\n        <target>Cannot delete \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it\'s protected.\n        </target>\n      </trans-unit>\n      <trans-unit id="57ddd3e15cf0ce974356b757451f50116a27272b" datatype="html">\n        <source>Rolling back</source>\n        <target>Rollback in corso</target>\n      </trans-unit>\n      <trans-unit id="a8913a3a5ee61f2598b5f0432cb9b20cdd60548e" datatype="html">\n        <source>rollback</source>\n        <target>rollback</target>\n      </trans-unit>\n      <trans-unit id="de8676f0017c9db6c49388cd7d63cd0a83a0c1dc" datatype="html">\n        <source>Moving</source>\n        <target>Spostamento in corso</target>\n      </trans-unit>\n      <trans-unit id="2d810712308ae63cb795d809687a3254ef7a2f05" datatype="html">\n        <source>move</source>\n        <target>sposta</target>\n      </trans-unit>\n      <trans-unit id="f3ba995236e5c1cc77686108980c099a90aec754" datatype="html">\n        <source>Moved</source>\n        <target>Spostato</target>\n      </trans-unit>\n      <trans-unit id="d0422169252d132624a20f267b5c29f28cb53ebe" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' to trash\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' to trash\n        </target>\n      </trans-unit>\n      <trans-unit id="b603e2dfed9808222fbcb5a7c5f4da2cc6ae2aae" datatype="html">\n        <source>Could not find image.</source>\n        <target>Impossibile trovare l\'immagine.</target>\n      </trans-unit>\n      <trans-unit id="398debe73006b1fe5177ed81d2e7b0cc852f61ec" datatype="html">\n        <source>Restoring</source>\n        <target>Ripristino in corso</target>\n      </trans-unit>\n      <trans-unit id="c252806fb400e79bac194696632c9362742b1538" datatype="html">\n        <source>restore</source>\n        <target>ripristina</target>\n      </trans-unit>\n      <trans-unit id="30b8bcf69b3f1754b7abba173fd806cfcea4cb04" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' into \'\n          <x id="INTERPOLATION_1" equiv-text="{{new_id}}"/>\'\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' into \'\n          <x id="INTERPOLATION_1" equiv-text="{{new_id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="13b7b241cef989fe0932ddd180e757658e1817e7" datatype="html">\n        <source>Image name \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' is already in use.\n        </source>\n        <target>Image name \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' is already in use.\n        </target>\n      </trans-unit>\n      <trans-unit id="cc1cee12c833e8fbbef28a2a7c449dc530da912d" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="38e5f47f8bef505652f3e87f46efb00ead1350a3" datatype="html">\n        <source>Purging</source>\n        <target>Eliminazione in corso</target>\n      </trans-unit>\n      <trans-unit id="e4e57747f123f0fe6fe3a0ecf608f8bc287dec0c" datatype="html">\n        <source>purge</source>\n        <target>elimina definitivamente</target>\n      </trans-unit>\n      <trans-unit id="1560d58fdf39663929653250d45f5b1dfe078fea" datatype="html">\n        <source>all pools</source>\n        <target>tutti i pool</target>\n      </trans-unit>\n      <trans-unit id="1ac3dc50c2c3d86e98bc0967ee1e696810a2d3aa" datatype="html">\n        <source>images from \n          <x id="INTERPOLATION" equiv-text="{{message}}"/>\n        </source>\n        <target>images from \n          <x id="INTERPOLATION" equiv-text="{{message}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="02278abbb044ece04ab6bd80bd2060198d31d83b" datatype="html">\n        <source>Cannot disable mirroring because it contains a peer.</source>\n        <target>Impossibile disabilitare l\'esecuzione della copia speculare perché contiene un peer.</target>\n      </trans-unit>\n      <trans-unit id="f123ae1fc3b000e5d08e766dd78bff162afe709d" datatype="html">\n        <source>host \'\n          <x id="INTERPOLATION" equiv-text="{{hostname}}"/>\'\n        </source>\n        <target>host \'\n          <x id="INTERPOLATION" equiv-text="{{hostname}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="dfe70001dc590a9e12512cbb206aa29fb36fd00b" datatype="html">\n        <source>pool \'\n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>\'\n        </source>\n        <target>pool \'\n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="59630daf2f4786690fae0cdad55da8887236eabe" datatype="html">\n        <source>erasure code profile \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </source>\n        <target>erasure code profile \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="369462e5e018360e0600bb570866201ad5c3c8a8" datatype="html">\n        <source>target \'\n          <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>\'\n        </source>\n        <target>target \'\n          <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="cf41310917cb19b335e5a950972bbff2346f7a47" datatype="html">\n        <source>NFS \n          <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>\n        </source>\n        <target>NFS \n          <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="54bf6542e39412f83ec883266f443e31b304c937" datatype="html">\n        <source>Required rules for password complexity:\n    - must contain at least 8 characters\n    - cannot contain username\n    - cannot contain any keyword used in Ceph\n    - cannot contain any repetitive characters e.g. "aaa"\n    - cannot contain any sequencial characters e.g. "abc"\n    - must consist of characters from the following groups:\n      * alphabetic a-z, A-Z\n      * numbers 0-9\n      * special chars: !"#$%&amp; \'()*+,-./:;&lt;=&gt;?@[\\]^_`\n          <x id="INTERPOLATION" equiv-text="{{|}}"/>~\n      * any other characters (signs)\n        </source>\n        <target>Required rules for password complexity:\n    - must contain at least 8 characters\n    - cannot contain username\n    - cannot contain any keyword used in Ceph\n    - cannot contain any repetitive characters e.g. "aaa"\n    - cannot contain any sequencial characters e.g. "abc"\n    - must consist of characters from the following groups:\n      * alphabetic a-z, A-Z\n      * numbers 0-9\n      * special chars: !"#$%&amp; \'()*+,-./:;&lt;=&gt;?@[\\]^_`\n          <x id="INTERPOLATION" equiv-text="{{|}}"/>~\n      * any other characters (signs)\n        </target>\n      </trans-unit>\n      <trans-unit id="ba575e9364b43dc870e332265c5182bb357b7a49" datatype="html">\n        <source>Weak</source>\n        <target>Weak</target>\n      </trans-unit>\n      <trans-unit id="7e6c975ebea8b5f8b120905ca7acf9f8edf59d8e" datatype="html">\n        <source>OK</source>\n        <target>OK</target>\n      </trans-unit>\n      <trans-unit id="3f7349017a01eed18c3daf2b7295ca96ef442eb6" datatype="html">\n        <source>Strong</source>\n        <target>Strong</target>\n      </trans-unit>\n      <trans-unit id="a1e3aecc2022cb0ebed8575a24d0e29d2de815c6" datatype="html">\n        <source>Very strong</source>\n        <target>Very strong</target>\n      </trans-unit>\n    </body>\n  </file>\n</xliff>'},"8mBD":function(t,e,n){!function(t){"use strict";t.defineLocale("pt",{months:"Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Do_2ª_3ª_4ª_5ª_6ª_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"há %s",s:"segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n("wd/R"))},"8xTl":function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("LvDl");class r{transform(t){return a.upperFirst(t)}}},"9/5/":function(t,e){var n=/^\s+|\s+$/g,a=/^[-+]0x[0-9a-f]+$/i,r=/^0b[01]+$/i,o=/^0o[0-7]+$/i,i=parseInt,s="object"==typeof global&&global&&global.Object===Object&&global,c="object"==typeof self&&self&&self.Object===Object&&self,l=s||c||Function("return this")(),d=Object.prototype.toString,u=Math.max,g=Math.min,f=function(){return l.Date.now()};function p(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function m(t){if("number"==typeof t)return t;if(function(t){return"symbol"==typeof t||function(t){return!!t&&"object"==typeof t}(t)&&"[object Symbol]"==d.call(t)}(t))return NaN;if(p(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=p(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(n,"");var s=r.test(t);return s||o.test(t)?i(t.slice(2),s?2:8):a.test(t)?NaN:+t}t.exports=function(t,e,n){var a,r,o,i,s,c,l=0,d=!1,h=!1,b=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function _(e){var n=a,o=r;return a=r=void 0,l=e,i=t.apply(o,n)}function y(t){return l=t,s=setTimeout(v,e),d?_(t):i}function O(t){var n=t-c;return void 0===c||n>=e||n<0||h&&t-l>=o}function v(){var t=f();if(O(t))return C(t);s=setTimeout(v,function(t){var n=e-(t-c);return h?g(n,o-(t-l)):n}(t))}function C(t){return s=void 0,b&&a?_(t):(a=r=void 0,i)}function P(){var t=f(),n=O(t);if(a=arguments,r=this,c=t,n){if(void 0===s)return y(c);if(h)return s=setTimeout(v,e),_(c)}return void 0===s&&(s=setTimeout(v,e)),i}return e=m(e)||0,p(n)&&(d=!!n.leading,o=(h="maxWait"in n)?u(m(n.maxWait)||0,e):o,b="trailing"in n?!!n.trailing:b),P.cancel=function(){void 0!==s&&clearTimeout(s),l=0,a=c=r=s=void 0},P.flush=function(){return void 0===s?i:C(f())},P}},"93I0":function(t,e,n){var a=n("VpIT"),r=n("kOOl"),o=a("keys");t.exports=function(t){return o[t]||(o[t]=r(t))}},"978R":function(t,e,n){"use strict";n.d(e,"a",(function(){return l})),n.d(e,"b",(function(){return d})),n.d(e,"c",(function(){return g})),n.d(e,"d",(function(){return f}));var a=n("8Y7J"),r=n("hpHm"),o=n("mrSG"),i=n("z/SZ"),s=n("2uy1"),c=n("PqYM");class l{constructor(){this.adaptivePosition=!0,this.placement="top",this.triggers="hover focus",this.delay=0}}class d{constructor(t){Object.assign(this,t)}get isBs3(){return Object(r.d)()}ngAfterViewInit(){this.classMap={in:!1,fade:!1},this.classMap[this.placement]=!0,this.classMap[`tooltip-${this.placement}`]=!0,this.classMap.in=!0,this.animation&&(this.classMap.fade=!0),this.containerClass&&(this.classMap[this.containerClass]=!0)}}let u=0,g=(()=>{class t{constructor(t,e,n,r,o,i){this._elementRef=r,this._renderer=o,this._positionService=i,this.tooltipId=u++,this.tooltipChange=new a.EventEmitter,this.containerClass="",this.tooltipAnimation=!0,this.tooltipFadeDuration=150,this.ariaDescribedby=`tooltip-${this.tooltipId}`,this.tooltipStateChanged=new a.EventEmitter,this._tooltip=e.createLoader(this._elementRef,t,this._renderer).provide({provide:l,useValue:n}),Object.assign(this,n),this.onShown=this._tooltip.onShown,this.onHidden=this._tooltip.onHidden}get isOpen(){return this._tooltip.isShown}set isOpen(t){t?this.show():this.hide()}set htmlContent(t){Object(r.i)("tooltipHtml was deprecated, please use `tooltip` instead"),this.tooltip=t}set _placement(t){Object(r.i)("tooltipPlacement was deprecated, please use `placement` instead"),this.placement=t}set _isOpen(t){Object(r.i)("tooltipIsOpen was deprecated, please use `isOpen` instead"),this.isOpen=t}get _isOpen(){return Object(r.i)("tooltipIsOpen was deprecated, please use `isOpen` instead"),this.isOpen}set _enable(t){Object(r.i)("tooltipEnable was deprecated, please use `isDisabled` instead"),this.isDisabled=!t}get _enable(){return Object(r.i)("tooltipEnable was deprecated, please use `isDisabled` instead"),this.isDisabled}set _appendToBody(t){Object(r.i)('tooltipAppendToBody was deprecated, please use `container="body"` instead'),this.container=t?"body":this.container}get _appendToBody(){return Object(r.i)('tooltipAppendToBody was deprecated, please use `container="body"` instead'),"body"===this.container}set _popupClass(t){Object(r.i)("tooltipClass deprecated")}set _tooltipContext(t){Object(r.i)("tooltipContext deprecated")}set _tooltipPopupDelay(t){Object(r.i)("tooltipPopupDelay is deprecated, use `delay` instead"),this.delay=t}get _tooltipTrigger(){return Object(r.i)("tooltipTrigger was deprecated, please use `triggers` instead"),this.triggers}set _tooltipTrigger(t){Object(r.i)("tooltipTrigger was deprecated, please use `triggers` instead"),this.triggers=(t||"").toString()}ngOnInit(){this._tooltip.listen({triggers:this.triggers,show:()=>this.show()}),this.tooltipChange.subscribe(t=>{t||this._tooltip.hide()})}toggle(){if(this.isOpen)return this.hide();this.show()}show(){if(this._positionService.setOptions({modifiers:{flip:{enabled:this.adaptivePosition},preventOverflow:{enabled:this.adaptivePosition}}}),this.isOpen||this.isDisabled||this._delayTimeoutId||!this.tooltip)return;const t=()=>{this._delayTimeoutId&&(this._delayTimeoutId=void 0),this._tooltip.attach(d).to(this.container).position({attachment:this.placement}).show({content:this.tooltip,placement:this.placement,containerClass:this.containerClass,id:this.ariaDescribedby})},e=()=>{this._tooltipCancelShowFn&&this._tooltipCancelShowFn()};if(this.delay){const n=Object(c.a)(this.delay).subscribe(()=>{t(),e()});if(this.triggers){const t=Object(r.f)(this.triggers);this._tooltipCancelShowFn=this._renderer.listen(this._elementRef.nativeElement,t[0].close,()=>{n.unsubscribe(),e()})}}else t()}hide(){this._delayTimeoutId&&(clearTimeout(this._delayTimeoutId),this._delayTimeoutId=void 0),this._tooltip.isShown&&(this._tooltip.instance.classMap.in=!1,setTimeout(()=>{this._tooltip.hide()},this.tooltipFadeDuration))}ngOnDestroy(){this._tooltip.dispose()}}return Object(o.__decorate)([Object(r.a)(),Object(o.__metadata)("design:type",Object)],t.prototype,"tooltip",void 0),t})();class f{static forRoot(){return{ngModule:f,providers:[l,i.a,s.a]}}}},"99TG":function(t,e,n){var a=n("mrSG").__decorate,r=n("mrSG").__metadata;Object.defineProperty(e,"__esModule",{value:!0});var o=n("8Y7J"),i=n("Fjl2");e.DatatableGroupHeaderDirective=function(){function t(){this.rowHeight=0,this.toggle=new o.EventEmitter}return t.prototype.toggleExpandGroup=function(t){this.toggle.emit({type:"group",value:t})},t.prototype.expandAllGroups=function(){this.toggle.emit({type:"all",value:!0})},t.prototype.collapseAllGroups=function(){this.toggle.emit({type:"all",value:!1})},a([o.Input(),r("design:type",Object)],t.prototype,"rowHeight",void 0),a([o.Input(),o.ContentChild(i.DatatableGroupHeaderTemplateDirective,{read:o.TemplateRef,static:!0}),r("design:type",o.TemplateRef)],t.prototype,"template",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"toggle",void 0),a([o.Directive({selector:"ngx-datatable-group-header"})],t)}()},"9Nap":function(t,e,n){var a=n("/9aa");t.exports=function(t){if("string"==typeof t||a(t))return t;var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}},"9Xeq":function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{}},"9d/t":function(t,e,n){var a=n("AO7/"),r=n("xrYK"),o=n("tiKp")("toStringTag"),i="Arguments"==r(function(){return arguments}());t.exports=a?r:function(t){var e,n,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=function(t,e){try{return t[e]}catch(n){}}(e=Object(t),o))?n:i?r(e):"Object"==(a=r(e))&&"function"==typeof e.callee?"Arguments":a}},"9ggG":function(t,e,n){var a=n("Z0cm"),r=n("/9aa"),o=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,i=/^\w*$/;t.exports=function(t,e){if(a(t))return!1;var n=typeof t;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=t&&!r(t))||i.test(t)||!o.test(t)||null!=e&&t in Object(e)}},"9nlD":function(t,e,n){"use strict";n.d(e,"a",(function(){return g}));var a=n("LvDl"),r=n("2Vo4"),o=n("XNiG"),i=n("mtw6"),s=n("G1I9"),c=n("a0VL"),l=n("ufoC"),d=n("8Y7J"),u=n("EApP");let g=(()=>{class t{constructor(t,e,n){this.toastr=t,this.taskMessageService=e,this.cdDatePipe=n,this.hideToasties=!1,this.dataSource=new r.a([]),this.data$=this.dataSource.asObservable(),this.sidebarSubject=new o.a,this.queued=[],this.KEY="cdNotifications";const i=localStorage.getItem(this.KEY);let c=[];a.isString(i)&&(c=JSON.parse(i,(t,e)=>a.isPlainObject(e)?a.assign(new s.a,e):e)),this.dataSource.next(c)}removeAll(){localStorage.removeItem(this.KEY),this.dataSource.next([])}remove(t){const e=this.dataSource.getValue();e.splice(t,1),this.dataSource.next(e),localStorage.setItem(this.KEY,JSON.stringify(e))}save(t){const e=this.dataSource.getValue();for(e.push(t),e.sort((t,e)=>t.timestamp>e.timestamp?-1:1);e.length>10;)e.pop();this.dataSource.next(e),localStorage.setItem(this.KEY,JSON.stringify(e))}show(t,e,n,r,o){return window.setTimeout(()=>{let i;i=a.isFunction(t)?t():a.isObject(t)?t:new s.b(t,e,n,r,o),this.queueToShow(i)},10)}queueToShow(t){this.cancel(this.queuedTimeoutId),this.queued.find(e=>a.isEqual(e,t))||this.queued.push(t),this.queuedTimeoutId=window.setTimeout(()=>{this.showQueued()},500)}showQueued(){this.getUnifiedTitleQueue().forEach(t=>{const e=new s.a(t);e.isFinishedTask||this.save(e),this.showToasty(e)})}getUnifiedTitleQueue(){return Object.values(this.queueShiftByTitle()).map(t=>{const e=t[0];return t.length>1&&(e.message="<ul>"+t.map(t=>`<li>${t.message}</li>`).join("")+"</ul>"),e})}queueShiftByTitle(){const t={};let e;for(;e=this.queued.shift();)t[e.title]||(t[e.title]=[]),t[e.title].push(e);return t}showToasty(t){this.hideToasties||this.toastr[["error","info","success"][t.type]]((t.message?t.message+"<br>":"")+this.renderTimeAndApplicationHtml(t),t.title,t.options)}renderTimeAndApplicationHtml(t){return`<small class="date">${this.cdDatePipe.transform(t.timestamp)}</small><i class="float-right custom-icon ${t.applicationClass}" title="${t.application}"></i>`}notifyTask(t,e=!0){const n=this.finishedTaskToNotification(t,e);return n.isFinishedTask=!0,this.show(n)}finishedTaskToNotification(t,e=!0){let n;return n=t.success&&e?new s.b(i.a.success,this.taskMessageService.getSuccessTitle(t)):new s.b(i.a.error,this.taskMessageService.getErrorTitle(t),this.taskMessageService.getErrorMessage(t)),n.isFinishedTask=!0,n}cancel(t){window.clearTimeout(t)}suspendToasties(t){this.hideToasties=t}toggleSidebar(t=!1){this.sidebarSubject.next(t)}}return t.ngInjectableDef=d["ɵɵdefineInjectable"]({factory:function(){return new t(d["ɵɵinject"](u.j),d["ɵɵinject"](l.a),d["ɵɵinject"](c.a))},token:t,providedIn:"root"}),t})()},"9ppp":function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));const a=(()=>{function t(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return t.prototype=Object.create(Error.prototype),t})()},"9rRi":function(t,e,n){!function(t){"use strict";t.defineLocale("gd",{months:["Am Faoilleach","An Gearran","Am Màrt","An Giblean","An Cèitean","An t-Ògmhios","An t-Iuchar","An Lùnastal","An t-Sultain","An Dàmhair","An t-Samhain","An Dùbhlachd"],monthsShort:["Faoi","Gear","Màrt","Gibl","Cèit","Ògmh","Iuch","Lùn","Sult","Dàmh","Samh","Dùbh"],monthsParseExact:!0,weekdays:["Didòmhnaich","Diluain","Dimàirt","Diciadain","Diardaoin","Dihaoine","Disathairne"],weekdaysShort:["Did","Dil","Dim","Dic","Dia","Dih","Dis"],weekdaysMin:["Dò","Lu","Mà","Ci","Ar","Ha","Sa"],longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[An-diugh aig] LT",nextDay:"[A-màireach aig] LT",nextWeek:"dddd [aig] LT",lastDay:"[An-dè aig] LT",lastWeek:"dddd [seo chaidh] [aig] LT",sameElse:"L"},relativeTime:{future:"ann an %s",past:"bho chionn %s",s:"beagan diogan",ss:"%d diogan",m:"mionaid",mm:"%d mionaidean",h:"uair",hh:"%d uairean",d:"latha",dd:"%d latha",M:"mìos",MM:"%d mìosan",y:"bliadhna",yy:"%d bliadhna"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(t){return t+(1===t?"d":t%10==2?"na":"mh")},week:{dow:1,doy:4}})}(n("wd/R"))},"A+xa":function(t,e,n){!function(t){"use strict";t.defineLocale("cv",{months:"кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав".split("_"),monthsShort:"кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш".split("_"),weekdays:"вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун".split("_"),weekdaysShort:"выр_тун_ытл_юн_кӗҫ_эрн_шӑм".split("_"),weekdaysMin:"вр_тн_ыт_юн_кҫ_эр_шм".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]",LLL:"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm",LLLL:"dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm"},calendar:{sameDay:"[Паян] LT [сехетре]",nextDay:"[Ыран] LT [сехетре]",lastDay:"[Ӗнер] LT [сехетре]",nextWeek:"[Ҫитес] dddd LT [сехетре]",lastWeek:"[Иртнӗ] dddd LT [сехетре]",sameElse:"L"},relativeTime:{future:function(t){return t+(/сехет$/i.exec(t)?"рен":/ҫул$/i.exec(t)?"тан":"ран")},past:"%s каялла",s:"пӗр-ик ҫеккунт",ss:"%d ҫеккунт",m:"пӗр минут",mm:"%d минут",h:"пӗр сехет",hh:"%d сехет",d:"пӗр кун",dd:"%d кун",M:"пӗр уйӑх",MM:"%d уйӑх",y:"пӗр ҫул",yy:"%d ҫул"},dayOfMonthOrdinalParse:/\d{1,2}-мӗш/,ordinal:"%d-мӗш",week:{dow:1,doy:7}})}(n("wd/R"))},A2ZE:function(t,e,n){var a=n("HAuM");t.exports=function(t,e,n){if(a(t),void 0===e)return t;switch(n){case 0:return function(){return t.call(e)};case 1:return function(n){return t.call(e,n)};case 2:return function(n,a){return t.call(e,n,a)};case 3:return function(n,a,r){return t.call(e,n,a,r)}}return function(){return t.apply(e,arguments)}}},A90E:function(t,e,n){var a=n("6sVZ"),r=n("V6Ve"),o=Object.prototype.hasOwnProperty;t.exports=function(t){if(!a(t))return r(t);var e=[];for(var n in Object(t))o.call(t,n)&&"constructor"!=n&&e.push(n);return e}},"AO7/":function(t,e,n){var a={};a[n("tiKp")("toStringTag")]="z",t.exports="[object z]"===String(a)},AP2z:function(t,e,n){var a=n("nmnc"),r=Object.prototype,o=r.hasOwnProperty,i=r.toString,s=a?a.toStringTag:void 0;t.exports=function(t){var e=o.call(t,s),n=t[s];try{t[s]=void 0;var a=!0}catch(c){}var r=i.call(t);return a&&(e?t[s]=n:delete t[s]),r}},AQ68:function(t,e,n){!function(t){"use strict";t.defineLocale("uz-latn",{months:"Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr".split("_"),monthsShort:"Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek".split("_"),weekdays:"Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba".split("_"),weekdaysShort:"Yak_Dush_Sesh_Chor_Pay_Jum_Shan".split("_"),weekdaysMin:"Ya_Du_Se_Cho_Pa_Ju_Sha".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Bugun soat] LT [da]",nextDay:"[Ertaga] LT [da]",nextWeek:"dddd [kuni soat] LT [da]",lastDay:"[Kecha soat] LT [da]",lastWeek:"[O'tgan] dddd [kuni soat] LT [da]",sameElse:"L"},relativeTime:{future:"Yaqin %s ichida",past:"Bir necha %s oldin",s:"soniya",ss:"%d soniya",m:"bir daqiqa",mm:"%d daqiqa",h:"bir soat",hh:"%d soat",d:"bir kun",dd:"%d kun",M:"bir oy",MM:"%d oy",y:"bir yil",yy:"%d yil"},week:{dow:1,doy:7}})}(n("wd/R"))},AWcq:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("yJti");class r{constructor(){this.vcs=a.a}ngOnInit(){}}},AfCQ:function(t,e,n){"use strict";n.d(e,"a",(function(){return d})),n.d(e,"b",(function(){return u}));var a=n("2Vo4"),r=n("qgXg"),o=n("HDdC"),i=n("pxpQ"),s=n("Kqap"),c=n("lJxs"),l=n("/uUt");class d extends a.a{constructor(t,e,n){super(t),e.pipe(Object(i.b)(r.a)).pipe(Object(s.a)((t,e)=>e?n(t,e):t,t)).subscribe(t=>this.next(t))}}class u extends o.a{constructor(t,e,n){super(),this._dispatcher=t,this._reducer=e,this.source=n}select(t){return this.source.pipe(Object(c.a)(t)).pipe(Object(l.a)())}lift(t){const e=new u(this._dispatcher,this._reducer,this);return e.operator=t,e}dispatch(t){this._dispatcher.next(t)}next(t){this._dispatcher.next(t)}error(t){this._dispatcher.error(t)}complete(){}}},Ahxa:function(t,e,n){var a=n("mrSG").__decorate,r=n("mrSG").__metadata;Object.defineProperty(e,"__esModule",{value:!0});var o=n("8Y7J"),i=n("lUjN");e.DataTableFooterComponent=function(){function t(){this.selectedCount=0,this.page=new o.EventEmitter}return Object.defineProperty(t.prototype,"isVisible",{get:function(){return this.rowCount/this.pageSize>1},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"curPage",{get:function(){return this.offset+1},enumerable:!0,configurable:!0}),a([o.Input(),r("design:type",Number)],t.prototype,"footerHeight",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"rowCount",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"pageSize",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"offset",void 0),a([o.Input(),r("design:type",String)],t.prototype,"pagerLeftArrowIcon",void 0),a([o.Input(),r("design:type",String)],t.prototype,"pagerRightArrowIcon",void 0),a([o.Input(),r("design:type",String)],t.prototype,"pagerPreviousIcon",void 0),a([o.Input(),r("design:type",String)],t.prototype,"pagerNextIcon",void 0),a([o.Input(),r("design:type",String)],t.prototype,"totalMessage",void 0),a([o.Input(),r("design:type",i.DatatableFooterDirective)],t.prototype,"footerTemplate",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"selectedCount",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"selectedMessage",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"page",void 0),a([o.Component({selector:"datatable-footer",template:'\n    <div\n      class="datatable-footer-inner"\n      [ngClass]="{\'selected-count\': selectedMessage}"\n      [style.height.px]="footerHeight">\n      <ng-template\n        *ngIf="footerTemplate"\n        [ngTemplateOutlet]="footerTemplate.template"\n        [ngTemplateOutletContext]="{ \n          rowCount: rowCount, \n          pageSize: pageSize, \n          selectedCount: selectedCount,\n          curPage: curPage,\n          offset: offset\n        }">\n      </ng-template>\n      <div class="page-count" *ngIf="!footerTemplate">\n        <span *ngIf="selectedMessage">\n          {{selectedCount?.toLocaleString()}} {{selectedMessage}} / \n        </span>\n        {{rowCount?.toLocaleString()}} {{totalMessage}}\n      </div>\n      <datatable-pager *ngIf="!footerTemplate"\n        [pagerLeftArrowIcon]="pagerLeftArrowIcon"\n        [pagerRightArrowIcon]="pagerRightArrowIcon"\n        [pagerPreviousIcon]="pagerPreviousIcon"\n        [pagerNextIcon]="pagerNextIcon"\n        [page]="curPage"\n        [size]="pageSize"\n        [count]="rowCount"\n        [hidden]="!isVisible"\n        (change)="page.emit($event)">\n      </datatable-pager>\n    </div>\n  ',host:{class:"datatable-footer"},changeDetection:o.ChangeDetectionStrategy.OnPush})],t)}()},AiMb:function(t,e,n){"use strict";n.r(e),e.default='<xliff xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 http://docs.oasis-open.org/xliff/v1.2/os/xliff-core-1.2-strict.xsd" xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">\n  <file original="ng2.template" datatype="plaintext" source-language="en-US" target-language="zh-CN">\n    <body>\n      <trans-unit id="319e0745bcbc132451569294fa2fa21bf10f555a" datatype="html">\n        <source>Toggle navigation</source>\n        <target>切换导航</target>\n      </trans-unit>\n      <trans-unit id="f65253954b66e929a8b4d5ecaf61f9129f8cec64" datatype="html">\n        <source>Dashboard</source>\n        <target>仪表盘</target>\n      </trans-unit>\n      <trans-unit id="f4d1dd59b039ad818d9da7e29a773e10e41d9821" datatype="html">\n        <source>Cluster</source>\n        <target>集群</target>\n      </trans-unit>\n      <trans-unit id="099b441d49333b3c6d30b36dc0a4763e64c78920" datatype="html">\n        <source>Hosts</source>\n        <target>主机</target>\n      </trans-unit>\n      <trans-unit id="2cc3ecb16e348fcf2f2fbfd2f997d4d22f37475b" datatype="html">\n        <source>Inventory</source>\n        <target>Inventory</target>\n      </trans-unit>\n      <trans-unit id="624f596cc3320f5e0a0d7c7346c364e5af9bdd8c" datatype="html">\n        <source>Monitors</source>\n        <target>Monitor</target>\n      </trans-unit>\n      <trans-unit id="419d940613972cc3fae9c8ea0a4306dbf80616e5" datatype="html">\n        <source>Services</source>\n        <target>对应的服务</target>\n      </trans-unit>\n      <trans-unit id="1a9183778f2c6473d7ccb080f651caa01faaf70c" datatype="html">\n        <source>OSDs</source>\n        <target>OSD</target>\n      </trans-unit>\n      <trans-unit id="4a41f824a35ba01d5bd7be61aa06b3e8145209d0" datatype="html">\n        <source>Configuration</source>\n        <target>配置项</target>\n      </trans-unit>\n      <trans-unit id="8c95898abff46bfac3ed6eb2afef74597e60b15c" datatype="html">\n        <source>CRUSH map</source>\n        <target>CRUSH 索引</target>\n      </trans-unit>\n      <trans-unit id="33da4dbeb076159510801ea764a218fd341269d2" datatype="html">\n        <source>Manager modules</source>\n        <target>Manager 扩展模块</target>\n      </trans-unit>\n      <trans-unit id="eb3d5aefff38a814b76da74371cbf02c0789a1ef" datatype="html">\n        <source>Logs</source>\n        <target>日志</target>\n      </trans-unit>\n      <trans-unit id="9fe218829514884cdd0ca2300573a4e0428c324f" datatype="html">\n        <source>Alerts</source>\n        <target>警告</target>\n      </trans-unit>\n      <trans-unit id="aa0c44aa1e5727061baa91e954f77e2f5f9a37c9" datatype="html">\n        <source>Silences</source>\n        <target>Silences</target>\n      </trans-unit>\n      <trans-unit id="92899fa68e8ca108912163ff58edc8540e453787" datatype="html">\n        <source>Pools</source>\n        <target>存储池</target>\n      </trans-unit>\n      <trans-unit id="7f5d0c10614e8a34f0e2dad33a0568277c50cf69" datatype="html">\n        <source>Block</source>\n        <target>块设备</target>\n      </trans-unit>\n      <trans-unit id="b73f7f5060fb22a1e9ec462b1bb02493fa3ab866" datatype="html">\n        <source>Images</source>\n        <target>映像</target>\n      </trans-unit>\n      <trans-unit id="3c2562ba992127203dcfd014010b03cb7b8113c6" datatype="html">\n        <source>Mirroring</source>\n        <target>镜像</target>\n      </trans-unit>\n      <trans-unit id="811c241d56601b91ef26735b770e64428089b950" datatype="html">\n        <source>iSCSI</source>\n        <target>iSCSI</target>\n      </trans-unit>\n      <trans-unit id="a24eabd99ea5af20f5f94c4484649cd30370042b" datatype="html">\n        <source>NFS</source>\n        <target>NFS</target>\n      </trans-unit>\n      <trans-unit id="a4eff72d97b7ced051398d581f10968218057ddc" datatype="html">\n        <source>Filesystems</source>\n        <target>文件系统</target>\n      </trans-unit>\n      <trans-unit id="2190548d236ca5f7bc7ab2bca334b860c5ff2ad4" datatype="html">\n        <source>Object Gateway</source>\n        <target>对象网关</target>\n      </trans-unit>\n      <trans-unit id="9e24f9e2d42104ffc01599db4d566d1cc518f9e6" datatype="html">\n        <source>Daemons</source>\n        <target>守护进程</target>\n      </trans-unit>\n      <trans-unit id="4d13a9cd5ed3dcee0eab22cb25198d43886942be" datatype="html">\n        <source>Users</source>\n        <target>用户</target>\n      </trans-unit>\n      <trans-unit id="9515520496da83179d8b08132f00f575512a1f40" datatype="html">\n        <source>Buckets</source>\n        <target>存储桶</target>\n      </trans-unit>\n      <trans-unit id="797f8214e8148f4bf0d244baaa7341706b419549" datatype="html">\n        <source>Retrieving data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>. Please wait...\n        </source>\n        <target>Retrieving data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>. Please wait...\n        </target>\n      </trans-unit>\n      <trans-unit id="5a870dc77b9f6f33ee671ea2d856021276933339" datatype="html">\n        <source>Displaying previously cached data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>\n  for \n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n        </source>\n        <target>Displaying previously cached data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>\n  for \n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="ae580202919844531361ba2308287226ff74a584" datatype="html">\n        <source>Could not load data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n  Please check the cluster health.\n        </source>\n        <target>Could not load data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n  Please check the cluster health.\n        </target>\n      </trans-unit>\n      <trans-unit id="7e52e9143145e1db5146258de81eae018a407b31" datatype="html">\n        <source>Clear notifications</source>\n        <target>Clear notifications</target>\n      </trans-unit>\n      <trans-unit id="b0b07bb6b7ff21ede439dd04eaf8872d1ecb84d8" datatype="html">\n        <source>Remove notification</source>\n        <target>Remove notification</target>\n      </trans-unit>\n      <trans-unit id="e17a1d75189da843f541f7764f188f2b19a97df2" datatype="html">\n        <source>Duration:</source>\n        <target>Duration:</target>\n      </trans-unit>\n      <trans-unit id="0d4b37c6675c5b436a54c43d6716eec835e1aa7f" datatype="html">\n        <source>There are no notifications.</source>\n        <target>There are no notifications.</target>\n      </trans-unit>\n      <trans-unit id="0a23e992f6c6e169a38b2b7338b4e5e803b52e0d" datatype="html">\n        <source>Tasks and Notifications</source>\n        <target>Tasks and Notifications</target>\n      </trans-unit>\n      <trans-unit id="3fb5709e10166cbc85970cbff103db227dbeb813" datatype="html">\n        <source>Select a Language</source>\n        <target>请选择语言</target>\n      </trans-unit>\n      <trans-unit id="c5109325fb160b543f71a51e7511c00575057431" datatype="html">\n        <source>Loading panel data...</source>\n        <target>正在加载面板的相关数据…</target>\n      </trans-unit>\n      <trans-unit id="8ca12411f890ab8b0a9216418e2b8f5ea7d2441a" datatype="html">\n        <source>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the monitoring functionality.\n        </source>\n        <target>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the monitoring functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="160a9e80dc089792df42e2400b1e81b9e7025aa7" datatype="html">\n        <source>Grafana Dashboard doesn\'t exist. Please refer to\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  add dashboards to Grafana.\n        </source>\n        <target>Grafana Dashboard doesn\'t exist. Please refer to\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  add dashboards to Grafana.\n        </target>\n      </trans-unit>\n      <trans-unit id="4e11830040bd64804a0555de76f291d5832772d4" datatype="html">\n        <source>Grafana Time Picker</source>\n        <target>Grafana 时间选择工具</target>\n      </trans-unit>\n      <trans-unit id="238c1ba845dd7330e8088165275919a1debf1ca3" datatype="html">\n        <source>Reset Settings</source>\n        <target>重新设置</target>\n      </trans-unit>\n      <trans-unit id="c8d1785038d461ec66b5799db21864182b35900a" datatype="html">\n        <source>Refresh</source>\n        <target>Refresh</target>\n      </trans-unit>\n      <trans-unit id="6c947210e2d162b6225083d18820ab602f58cd2d" datatype="html">\n        <source>Remove the custom configuration value. The default configuration will be inherited and used instead.</source>\n        <target>Remove the custom configuration value. The default configuration will be inherited and used instead.</target>\n      </trans-unit>\n      <trans-unit id="454ee9cb60b00446a8fb147fd2cc5eb836320586" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ option.maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ option.maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="7fc8a22825131e028336f60ef909ccbd96059703" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ option.minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ option.minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="cda31dbd724cf5f4fa7a4274d9120651490c8a8c" datatype="html">\n        <source>Back</source>\n        <target>返回</target>\n      </trans-unit>\n      <trans-unit id="012741ee52b3c050e4a977c37cc2334f7974f141" datatype="html">\n        <source>Failed to load data.</source>\n        <target>无法加载数据。</target>\n      </trans-unit>\n      <trans-unit id="80cc9a12d4bf6fe454ed94b379eeaf915f920bb7" datatype="html">\n        <source>selected</source>\n        <target>选中个数</target>\n        <note>X selected</note>\n      </trans-unit>\n      <trans-unit id="0cb77511a9a148e05b9adf36cc07269956fbb29d" datatype="html">\n        <source>found</source>\n        <target>命中个数</target>\n        <note>X found</note>\n      </trans-unit>\n      <trans-unit id="79347388740c50b7ac97e144c2494bb62912f312" datatype="html">\n        <source>total</source>\n        <target>总数</target>\n        <note>X total</note>\n      </trans-unit>\n      <trans-unit id="cff1428d10d59d14e45edec3c735a27b5482db59" datatype="html">\n        <source>Name</source>\n        <target>名称</target>\n      </trans-unit>\n      <trans-unit id="eec715de352a6b114713b30b640d319fa78207a0" datatype="html">\n        <source>Description</source>\n        <target>解释</target>\n      </trans-unit>\n      <trans-unit id="4ad112ce9bcd55dfd137792a86afe1b5a5b13cf8" datatype="html">\n        <source>Long description</source>\n        <target>更详尽的解释</target>\n      </trans-unit>\n      <trans-unit id="ff7cee38a2259526c519f878e71b964f41db4348" datatype="html">\n        <source>Default</source>\n        <target>缺省值</target>\n      </trans-unit>\n      <trans-unit id="33e1c1d9fc05ca3f62fcc8a1170fc31ebae4229c" datatype="html">\n        <source>Daemon default</source>\n        <target>守护进程的缺省值</target>\n      </trans-unit>\n      <trans-unit id="809b0c848932a41318f77a2aace904ef429c13f4" datatype="html">\n        <source>Values</source>\n        <target>可选值</target>\n      </trans-unit>\n      <trans-unit id="82029b6db704c56a2aa3e82ac555b8655356b077" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8ed8b3967a7326b81b191c9f490006e6a6777a9a" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="52c9a103b812f258bcddc3d90a6e3f46871d25fe" datatype="html">\n        <source>Save</source>\n        <target>保存</target>\n      </trans-unit>\n      <trans-unit id="738de688b22fba5d0dc7a5e549996838dddad0ee" datatype="html">\n        <source>CRUSH map viewer</source>\n        <target>检查 CRUSH 索引图</target>\n      </trans-unit>\n      <trans-unit id="94516fa213706c67ce5a5b5765681d7fb032033a" datatype="html">\n        <source>Loading...</source>\n        <target>正在加载…</target>\n      </trans-unit>\n      <trans-unit id="formTitle" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </target>\n        <note>form title</note>\n      </trans-unit>\n      <trans-unit id="9a541ec1a4319fffc16ad3b3ab2c2b6d251a829d" datatype="html">\n        <source>Hostname</source>\n        <target>主机名</target>\n      </trans-unit>\n      <trans-unit id="7cbdabcece469fab89cfa687ab152bca18b97498" datatype="html">\n        <source>This field is required.</source>\n        <target>请填写此栏目!</target>\n      </trans-unit>\n      <trans-unit id="1b3f5e5291541678f7afa49d28fad5ca848a8061" datatype="html">\n        <source>The chosen hostname is already in use.</source>\n        <target>The chosen hostname is already in use.</target>\n      </trans-unit>\n      <trans-unit id="formActionButton" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </target>\n        <note>form action button</note>\n      </trans-unit>\n      <trans-unit id="6110699a3562eeb15371063c0cf7f6bfd88a0209" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemNames[0] }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemNames[0] }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>?\n        </target>\n      </trans-unit>\n      <trans-unit id="549859e511ba5af0ea03fcaa620c472f08038969" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected items?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected items?\n        </target>\n      </trans-unit>\n      <trans-unit id="54839ebc827b73c9dc4e1df731c6d36a85036af7" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected \n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected \n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>?\n        </target>\n      </trans-unit>\n      <trans-unit id="2be8b7f04f0104d3fad90d079d8202b74f758b9a" datatype="html">\n        <source>Yes, I am sure.</source>\n        <target>是的,我确定。</target>\n      </trans-unit>\n      <trans-unit id="d7b35c384aecd25a516200d6921836374613dfe7" datatype="html">\n        <source>Cancel</source>\n        <target>取消</target>\n      </trans-unit>\n      <trans-unit id="40661476cb24c89d8b06614998e31d5fbe84eeb6" datatype="html">\n        <source>Hosts List</source>\n        <target>主机列表</target>\n      </trans-unit>\n      <trans-unit id="5e7f4b1ca49e8d217bd0e12c6f7d6b6a2ade2c18" datatype="html">\n        <source>Overall Performance</source>\n        <target>总体性能</target>\n      </trans-unit>\n      <trans-unit id="6bc15dc1a621b6ff7378db7fd3ac10b2a2627c77" datatype="html">\n        <source>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the orchestrator functionality.\n        </source>\n        <target>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the orchestrator functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="3e24569eca61d598c8b01defbbbb1fa8bd5222bc" datatype="html">\n        <source>Devices</source>\n        <target>Devices</target>\n      </trans-unit>\n      <trans-unit id="e6d57f36aa2bad303c8a8ee944b9bd7fae3c8c26" datatype="html">\n        <source>No entries found</source>\n        <target>无法找到相关条目</target>\n      </trans-unit>\n      <trans-unit id="d556ab48a65722b400e497f61737f553ee0f89e2" datatype="html">\n        <source>Cluster Logs</source>\n        <target>集群日志</target>\n      </trans-unit>\n      <trans-unit id="5f966baffd188be0e8adc2d7067b86e55fc9b9de" datatype="html">\n        <source>Audit Logs</source>\n        <target>审计日志</target>\n      </trans-unit>\n      <trans-unit id="4193c9eb868aeec119b78a14795241e0aa5e8b60" datatype="html">\n        <source>Priority:</source>\n        <target>Priority:</target>\n      </trans-unit>\n      <trans-unit id="1d78ca51eab260ce3fd917d39190d64df5229b6e" datatype="html">\n        <source>Keyword:</source>\n        <target>Keyword:</target>\n      </trans-unit>\n      <trans-unit id="05fa0bded36de6e73a1fa44838b627349dace044" datatype="html">\n        <source>Date:</source>\n        <target>Date:</target>\n      </trans-unit>\n      <trans-unit id="31dadb362bf7f7c2afa10e5f96474ccd3977f91f" datatype="html">\n        <source>Datepicker</source>\n        <target>Datepicker</target>\n      </trans-unit>\n      <trans-unit id="85a400388de1899b1917138cf7e5286376f72847" datatype="html">\n        <source>Time range:</source>\n        <target>Time range:</target>\n      </trans-unit>\n      <trans-unit id="2447796ddbda942f4e2c46619cb84d69f066e568" datatype="html">\n        <source>Loading configuration...</source>\n        <target>正在加载相关配置信息...</target>\n      </trans-unit>\n      <trans-unit id="b42c0b347a841bed8859ee83de05080ee28c803b" datatype="html">\n        <source>The configuration could not be loaded.</source>\n        <target>配置信息无法加载。</target>\n      </trans-unit>\n      <trans-unit id="31a9c2870a934b594d1390146c489f76440859ea" datatype="html">\n        <source>Edit Manager module</source>\n        <target>编辑 Manager 扩展模块</target>\n      </trans-unit>\n      <trans-unit id="46e09b8290d3d0afdb6baa2021395b0570606a31" datatype="html">\n        <source>The entered value is not a valid UUID, e.g.: 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8</source>\n        <target>输入值不是有效的 UUID,如:67dcac9f-2c03-4d6c-b7bd-1210b3a259a8</target>\n      </trans-unit>\n      <trans-unit id="7aacd038b39cfd347107d01d1dc27f5cb3e0951c" datatype="html">\n        <source>The entered value needs to be a valid IP address.</source>\n        <target>输入的应该是个有效的 IP 地址。</target>\n      </trans-unit>\n      <trans-unit id="f19106149f4b07a0d721f9d317afed393cb7bd93" datatype="html">\n        <source>The entered value is too high! It must be lower or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.max }}"/>.\n        </source>\n        <target>The entered value is too high! It must be lower or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.max }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="6d33c40ef9a6c3bf0888df831b25e41e65f9d15b" datatype="html">\n        <source>The entered value is too low! It must be greater or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.min }}"/>.\n        </source>\n        <target>The entered value is too low! It must be greater or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.min }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="eae7086660cf1e38c7194a2c49ff52cc656f90f5" datatype="html">\n        <source>The entered value needs to be a number.</source>\n        <target>输入须为数字。</target>\n      </trans-unit>\n      <trans-unit id="a73376e04b4fb3a20734c8c39743fba32e6676ce" datatype="html">\n        <source>The entered value needs to be a number or decimal.</source>\n        <target>输入的应该是一个浮点数或者十进制整数。</target>\n      </trans-unit>\n      <trans-unit id="047f50bc5b5d17b5bec0196355953e1a5c590ddb" datatype="html">\n        <source>Update</source>\n        <target>更新</target>\n      </trans-unit>\n      <trans-unit id="81b97b8ea996ad1e4f9fca8415021850214884b1" datatype="html">\n        <source>Status</source>\n        <target>状态</target>\n      </trans-unit>\n      <trans-unit id="57ec6032f5618d4a9f16eb950ad23d2ce7c24b54" datatype="html">\n        <source>Cluster ID</source>\n        <target>集群 ID</target>\n      </trans-unit>\n      <trans-unit id="67d7facc3fec5f8a49ab9ba0a245872184264ce5" datatype="html">\n        <source>monmap modified</source>\n        <target>monmap 修改时间</target>\n      </trans-unit>\n      <trans-unit id="d4906731aaf2b94b4f547646c9bfe58bb77951b6" datatype="html">\n        <source>monmap epoch</source>\n        <target>monmap epoch</target>\n      </trans-unit>\n      <trans-unit id="bd4ee06ffdc46d9dfbd0c0c4f81399021c680056" datatype="html">\n        <source>quorum con</source>\n        <target>quorum con </target>\n      </trans-unit>\n      <trans-unit id="1176c7db8a8276ccb44cc3d42e2c28d9fa6c6596" datatype="html">\n        <source>quorum mon</source>\n        <target>quorum mon</target>\n      </trans-unit>\n      <trans-unit id="530ef677a09d681b3ab68cb0760494b3ae72a77c" datatype="html">\n        <source>required con</source>\n        <target>required con</target>\n      </trans-unit>\n      <trans-unit id="a91558e0d506c32021c31843f8f168899fc65cbf" datatype="html">\n        <source>required mon</source>\n        <target>required mon</target>\n      </trans-unit>\n      <trans-unit id="b3abe9eac5bcd94a54c8da93b312e085ec512e74" datatype="html">\n        <source>In Quorum</source>\n        <target>仲裁成员</target>\n      </trans-unit>\n      <trans-unit id="ba4b748a676e1f217ce1e736fb7ec1215e677bae" datatype="html">\n        <source>Not In Quorum</source>\n        <target>非仲裁成员</target>\n      </trans-unit>\n      <trans-unit id="5ef50ba2514414f799d4c8fc36067a251904ba81" datatype="html">\n        <source>Cluster-wide OSD Flags</source>\n        <target>集群范围的 OSD 标志</target>\n      </trans-unit>\n      <trans-unit id="71c77bb8cecdf11ec3eead24dd1ba506573fa9cd" datatype="html">\n        <source>Submit</source>\n        <target>提交</target>\n      </trans-unit>\n      <trans-unit id="1cfe07dac5b4ee1c464eb24225ddeb4f1d24076a" datatype="html">\n        <source>Advanced...</source>\n        <target>高级设置…</target>\n      </trans-unit>\n      <trans-unit id="b1ef1c12ddcee305353623919ef02778569f5454" datatype="html">\n        <source>Advanced configuration options</source>\n        <target>Advanced configuration options</target>\n      </trans-unit>\n      <trans-unit id="c35f9c5f268a514b970cc55e9a5dc4bed0988e7f" datatype="html">\n        <source>OSD Recovery Priority</source>\n        <target>OSD 恢复优先级</target>\n      </trans-unit>\n      <trans-unit id="b74af38005e8a8914e45af2ec412e11ceafef8b6" datatype="html">\n        <source>Priority</source>\n        <target>优先级</target>\n      </trans-unit>\n      <trans-unit id="c2f48f04b379bfba133825747adfd238d511412e" datatype="html">\n        <source>Customize priority values</source>\n        <target>自定义优先级</target>\n      </trans-unit>\n      <trans-unit id="4aa19de2a2b54cbda39e9c62917b23044c087776" datatype="html">\n        <source>This field is required!</source>\n        <target>这个字段是必填的!</target>\n      </trans-unit>\n      <trans-unit id="b699e94bf376491bd50b70a98531071c737eaf40" datatype="html">\n        <source>[object Object]</source>\n        <target>[object Object]</target>\n      </trans-unit>\n      <trans-unit id="98fe13e7ad6c2b80375d204b47858ded83f80e15" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="5423a3c111be47fc5a1bfe46ceb58c81c84db691" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="5251a4355cece3075db43f15d69a24a0f8485707" datatype="html">\n        <source>Reweight OSD: \n          <x id="INTERPOLATION" equiv-text="{{ osdId }}"/>\n        </source>\n        <target>Reweight OSD: \n          <x id="INTERPOLATION" equiv-text="{{ osdId }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="67650b2998db48201b2c6176cbfef51e7211ccaa" datatype="html">\n        <source>The value needs to be between 0 and 1.</source>\n        <target>权重值必须在 0 和 1 之间</target>\n      </trans-unit>\n      <trans-unit id="bc11f92113d678a90e334fdf3d7b3fddbe34c579" datatype="html">\n        <source>Reweight</source>\n        <target>重设权重</target>\n      </trans-unit>\n      <trans-unit id="d5ca5daf742023fc4f0919fb3c1c6a51991cda4f" datatype="html">\n        <source>OSDs \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>Scrub\n        </source>\n        <target>OSDs \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>Scrub\n        </target>\n      </trans-unit>\n      <trans-unit id="4c17d67c7c5799eb920030e9a399961e90f55dd8" datatype="html">\n        <source>{VAR_SELECT, select, 1 {Deep } }</source>\n        <target>{VAR_SELECT, select, 1 {深度}}</target>\n      </trans-unit>\n      <trans-unit id="2613498e8e5853c26a1cc62ae8dc673d1fdf0e2a" datatype="html">\n        <source>You are about to apply a \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to\n          the OSD(s): \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ selected | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.\n        </source>\n        <target>You are about to apply a \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to\n          the OSD(s): \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ selected | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="dc6705f342a036b332c3fd3443201c3613e5524d" datatype="html">\n        <source>{VAR_SELECT, select, 1 {deep } }</source>\n        <target>{VAR_SELECT, select, 1 {深度} }</target>\n      </trans-unit>\n      <trans-unit id="b49d7877d24112d4bdfce9256edf61a007fae888" datatype="html">\n        <source>OSDs List</source>\n        <target>OSD 列表</target>\n      </trans-unit>\n      <trans-unit id="c402e6ec1c6792ede81f56c28eee8955860391c8" datatype="html">\n        <source>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) \n          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </source>\n        <target>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) \n          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </target>\n      </trans-unit>\n      <trans-unit id="d2797d01ba86f5df03d875803e49e648a4027869" datatype="html">\n        <source>The \n          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to destroy!\n        </source>\n        <target>The \n          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to destroy!\n        </target>\n      </trans-unit>\n      <trans-unit id="e776996dac651ef3819bfa767ccf2a0613759f47" datatype="html">\n        <source>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</source>\n        <target>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</target>\n      </trans-unit>\n      <trans-unit id="1e2c50ed3c3934ef068976dc7f38513cec29d515" datatype="html">\n        <source>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD \n          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </source>\n        <target>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD \n          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </target>\n      </trans-unit>\n      <trans-unit id="4f8b2bb476981727ab34ed40fde1218361f92c45" datatype="html">\n        <source>Details</source>\n        <target>详情</target>\n      </trans-unit>\n      <trans-unit id="8501055865d7031b5521a0c5467532648009a61d" datatype="html">\n        <source>Matcher</source>\n        <target>Matcher</target>\n      </trans-unit>\n      <trans-unit id="9c25e04f554875dc2625a78ba0fc56c6010cd0d3" datatype="html">\n        <source>-- Select an attribute to match against --</source>\n        <target>-- Select an attribute to match against --</target>\n      </trans-unit>\n      <trans-unit id="5049e204c14c648691ac775a64fb504467aeb549" datatype="html">\n        <source>Value</source>\n        <target>值</target>\n      </trans-unit>\n      <trans-unit id="77fc5c63497fc031ddc97645484e3d94ad27766c" datatype="html">\n        <source>Use regular expression</source>\n        <target>Use regular expression</target>\n      </trans-unit>\n      <trans-unit id="7bbec1a797283712c0adf9e71d77fb5a8cd720db" datatype="html">\n        <source>{VAR_SELECT, select, 1 {Update} other {Add} }</source>\n        <target>{VAR_SELECT, select, 1 {Update} other {Add} }</target>\n      </trans-unit>\n      <trans-unit id="f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8" datatype="html">\n        <source>Close</source>\n        <target>关闭</target>\n      </trans-unit>\n      <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c" datatype="html">\n        <source>Edit</source>\n        <target>编辑</target>\n      </trans-unit>\n      <trans-unit id="826b25211922a1b46436589233cb6f1a163d89b7" datatype="html">\n        <source>Delete</source>\n        <target>删除</target>\n      </trans-unit>\n      <trans-unit id="a3ba06aba047605af8ea1718ec1ba153b7db12a2" datatype="html">\n        <source>Editing a silence will expire the old silence and recreate it as a new silence</source>\n        <target>Editing a silence will expire the old silence and recreate it as a new silence</target>\n      </trans-unit>\n      <trans-unit id="a20424156b8816671f61879f0574a4f27d7b16b9" datatype="html">\n        <source>Creator</source>\n        <target>Creator</target>\n      </trans-unit>\n      <trans-unit id="5a5d7ee2acbfa9c91ab7f41d26bda9ff0cafe42f" datatype="html">\n        <source>Comment</source>\n        <target>Comment</target>\n      </trans-unit>\n      <trans-unit id="4c11aad490b2d53fdae30b3807beabf79306752c" datatype="html">\n        <source>Start time</source>\n        <target>Start time</target>\n      </trans-unit>\n      <trans-unit id="32856b1e8e339b747b21e313e2fe65a51fd450bb" datatype="html">\n        <source>If the start time lies in the past the creation time will be used</source>\n        <target>If the start time lies in the past the creation time will be used</target>\n      </trans-unit>\n      <trans-unit id="a02ea1d4e7424ca989929da5e598f379940fdbf2" datatype="html">\n        <source>Duration</source>\n        <target>Duration</target>\n      </trans-unit>\n      <trans-unit id="2f4e35e36f4d3c62e2c17df41730b6dee4afc4b9" datatype="html">\n        <source>End time</source>\n        <target>End time</target>\n      </trans-unit>\n      <trans-unit id="dbe739ec8c99a0132e326067ffec9c0ee06b2655" datatype="html">\n        <source>Matchers\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>*\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n        </source>\n        <target>Matchers\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>*\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="3e023166c55833d5a13f4143e3dbe372befe1b4e" datatype="html">\n        <source>A silence requires at least one matcher</source>\n        <target>A silence requires at least one matcher</target>\n      </trans-unit>\n      <trans-unit id="ef765bd80c4806c51c891908c07a24bc76f019eb" datatype="html">\n        <source>Add matcher</source>\n        <target>Add matcher</target>\n      </trans-unit>\n      <trans-unit id="d2bcd3296d2850de762fb943060b7e086a893181" datatype="html">\n        <source>Health</source>\n        <target>健康状况</target>\n      </trans-unit>\n      <trans-unit id="61e0f26d843eec0b33ff475e111b0c2f7a80b835" datatype="html">\n        <source>Statistics</source>\n        <target>统计数据</target>\n      </trans-unit>\n      <trans-unit id="f8f74e5f683012b9c0702b1446011c6b9158bc67" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the NFS Ganesha management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the NFS Ganesha management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="7ffe39df9d88c972792bd8688b215392deb8313d" datatype="html">\n        <source>Clients</source>\n        <target>客户端</target>\n      </trans-unit>\n      <trans-unit id="f2dae0bda66f6a349444951c0379c28cda47d6d1" datatype="html">\n        <source>Any client can access</source>\n        <target>任何客户端均可访问</target>\n      </trans-unit>\n      <trans-unit id="7882f2edb1d4139800b276b6b0bbf5ae0b2234ef" datatype="html">\n        <source>Addresses</source>\n        <target>地址</target>\n      </trans-unit>\n      <trans-unit id="9bd96fcf50863e685c74d0490392f46689ffbdb6" datatype="html">\n        <source>Required field</source>\n        <target>必填项</target>\n      </trans-unit>\n      <trans-unit id="a5f3f74c0f6925826cb2188576391c0da01a23f0" datatype="html">\n        <source>Must contain one or more comma-separated values</source>\n        <target>必须包含一个或多个逗号分隔值</target>\n      </trans-unit>\n      <trans-unit id="8bb5b2073697f3f4378c44a49b7524934c9268f4" datatype="html">\n        <source>For example:</source>\n        <target>例如:</target>\n      </trans-unit>\n      <trans-unit id="8f969c655b3fbe4fba7e277caf4cd2c459f9fca5" datatype="html">\n        <source>Access Type</source>\n        <target>访问类型</target>\n      </trans-unit>\n      <trans-unit id="28952831a284cfe2b4fc39ca610e80b52598905a" datatype="html">\n        <source>Squash</source>\n        <target>Squash</target>\n      </trans-unit>\n      <trans-unit id="0660ae339068979854ade34a96546980723dede3" datatype="html">\n        <source>Add clients</source>\n        <target>添加客户端</target>\n      </trans-unit>\n      <trans-unit id="135b91a2d908d5814b782695470a6a786c99d9d2" datatype="html">\n        <source>-- No cluster available --</source>\n        <target>-- 无可用集群 --</target>\n      </trans-unit>\n      <trans-unit id="c501dba379f566885919240ea277b5bc10c14d18" datatype="html">\n        <source>-- Select the cluster --</source>\n        <target>-- 请选择一个集群 --</target>\n      </trans-unit>\n      <trans-unit id="cf85b1ee58326aa9da63da41b2629c9db7c9a5b9" datatype="html">\n        <source>Add daemon</source>\n        <target>添加守护进程</target>\n      </trans-unit>\n      <trans-unit id="b3f6ba7fe84d6508705cdfe234f0fcc8ff85c9cf" datatype="html">\n        <source>Storage Backend</source>\n        <target>存储后端</target>\n      </trans-unit>\n      <trans-unit id="151c80ea931037cd92e854442927f8a0f6ae7795" datatype="html">\n        <source>-- No data pools available --</source>\n        <target>-- 没有可用的数据存储池 --</target>\n      </trans-unit>\n      <trans-unit id="b6fee356d1db954255a56d8169405a89595246b9" datatype="html">\n        <source>-- Select the storage backend --</source>\n        <target>-- 请选择存储后端 --</target>\n      </trans-unit>\n      <trans-unit id="76d67035c3ab3d8e56f725859f820f03fda41cfc" datatype="html">\n        <source>Object Gateway User</source>\n        <target>对象网关用户</target>\n      </trans-unit>\n      <trans-unit id="fade7788bace74337f306ae209f10fc187ef4671" datatype="html">\n        <source>-- No users available --</source>\n        <target>-- 无可选用户 --</target>\n      </trans-unit>\n      <trans-unit id="6d30b7b36cf8f6364167321bdb4ba35d4cefce7b" datatype="html">\n        <source>-- Select the object gateway user --</source>\n        <target>-- 请选择对象网关用户 --</target>\n      </trans-unit>\n      <trans-unit id="589ce20d3ba3e3ac44f75decfaadc4ea8f0aec2d" datatype="html">\n        <source>CephFS User ID</source>\n        <target>CephFS 用户 ID</target>\n      </trans-unit>\n      <trans-unit id="c4b88a53ac3b0ece46ba9b3ad72355a3c190cce7" datatype="html">\n        <source>-- No clients available --</source>\n        <target>-- 无可用客户端 --</target>\n      </trans-unit>\n      <trans-unit id="da52835b80497a0002d24414b057dc46ae44ce38" datatype="html">\n        <source>-- Select the cephx client --</source>\n        <target>-- 请选择 cephx 客户端 --</target>\n      </trans-unit>\n      <trans-unit id="fd3419e8957d928d7f7ba19c93356a0dbff02871" datatype="html">\n        <source>CephFS Name</source>\n        <target>CephFS 名称</target>\n      </trans-unit>\n      <trans-unit id="ee3ba0ab5f0ccd597b3e44021c71e9aaad14df0a" datatype="html">\n        <source>-- No CephFS filesystem available --</source>\n        <target>-- No CephFS filesystem available --</target>\n      </trans-unit>\n      <trans-unit id="764c57812558b1ae66c5eec95d7efd2b1bf761e3" datatype="html">\n        <source>-- Select the CephFS filesystem --</source>\n        <target>-- Select the CephFS filesystem --</target>\n      </trans-unit>\n      <trans-unit id="957512d0321f73e9f115bce1bd823fa635170c41" datatype="html">\n        <source>Security Label</source>\n        <target>安全标签</target>\n      </trans-unit>\n      <trans-unit id="65ce0fa4da1ed55e658aeb31d1644a29f06bb342" datatype="html">\n        <source>Enable security label</source>\n        <target>启用安全标签</target>\n      </trans-unit>\n      <trans-unit id="7e808f804130c7b6ff719509cbc06ebb27393a48" datatype="html">\n        <source>CephFS Path</source>\n        <target>CephFS 路径</target>\n      </trans-unit>\n      <trans-unit id="5ecc0107badb6625466aaa3f975b5c05276f432f" datatype="html">\n        <source>Path need to start with a \'/\' and can be followed by a word</source>\n        <target>路径需以“/”开头,后面可跟单词</target>\n      </trans-unit>\n      <trans-unit id="2d02916f44fc63e13ab16d1cbe72aa6cb51feab3" datatype="html">\n        <source>New directory will be created</source>\n        <target>将创建新文件夹</target>\n      </trans-unit>\n      <trans-unit id="766c66ad5cc981c531aaf3fe3a2a7a346ddc8d83" datatype="html">\n        <source>Path</source>\n        <target>路径</target>\n      </trans-unit>\n      <trans-unit id="7ec35c722a50b976620f22612f7be619c12ceb90" datatype="html">\n        <source>Path can only be a single \'/\' or a word</source>\n        <target>路径只能是单个“/”或单词</target>\n      </trans-unit>\n      <trans-unit id="aebb6a5090c24511de4530195694bb3f3dcf0342" datatype="html">\n        <source>New bucket will be created</source>\n        <target>将创建新的桶</target>\n      </trans-unit>\n      <trans-unit id="bee6900143996c0e908a10564532eba3da0b30fb" datatype="html">\n        <source>NFS Protocol</source>\n        <target>NFS 协议</target>\n      </trans-unit>\n      <trans-unit id="2f534178c01ebf1307da2eaeef04bc6801ebc729" datatype="html">\n        <source>NFSv3</source>\n        <target>NFSv3</target>\n      </trans-unit>\n      <trans-unit id="f5043c0921e709935ab026bb3253ffe1f159fca1" datatype="html">\n        <source>NFSv4</source>\n        <target>NFSv4</target>\n      </trans-unit>\n      <trans-unit id="92488963d23095985a47c0d6e62304e11d333f19" datatype="html">\n        <source>NFS Tag</source>\n        <target>NFS 标签</target>\n      </trans-unit>\n      <trans-unit id="aae93362720aea94623682996dd3fcd0f906f056" datatype="html">\n        <source>Alternative access for \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v3\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> mounts (it must not have a leading /).\n        </source>\n        <target>Alternative access for \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v3\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> mounts (it must not have a leading /).\n        </target>\n      </trans-unit>\n      <trans-unit id="45d6db77dcf1a3eeb921033abc7882e517a541cc" datatype="html">\n        <source>Clients may not mount subdirectories (i.e. if Tag = foo, the client may not mount foo/baz).</source>\n        <target>客户端不能装入子目录(即如果标记为 foo,则客户端无法装入 foo/baz)。</target>\n      </trans-unit>\n      <trans-unit id="a1c7a8676b55e882a97c6a6fb205204f9c761afa" datatype="html">\n        <source>By using different Tag options, the same Path may be exported multiple times.</source>\n        <target>通过使用不同标记选项,可将同一路径导出多次。</target>\n      </trans-unit>\n      <trans-unit id="6d2c39708a32910f89701dd7e1cfb9ec1c195768" datatype="html">\n        <source>Pseudo</source>\n        <target>伪</target>\n      </trans-unit>\n      <trans-unit id="1f8be2ae25947bec0b84c2338201580ea053f34e" datatype="html">\n        <source>The position that this \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v4\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> export occupies\n                in the \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>Pseudo FS\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> (it must be unique).\n        </source>\n        <target>The position that this \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v4\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> export occupies\n                in the \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>Pseudo FS\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> (it must be unique).\n        </target>\n      </trans-unit>\n      <trans-unit id="f3af55f7fd5b1d9e5a53e030c80116dc635bfb9f" datatype="html">\n        <source>By using different Pseudo options, the same Path may be exported multiple times.</source>\n        <target>通过使用不同伪选项,可将同一路径导出多次。</target>\n      </trans-unit>\n      <trans-unit id="ddf98fcdeeb17643db020d54f42b5e56b5f9a52a" datatype="html">\n        <source>Pseudo needs to start with a \'/\' and can\'t contain any of the following: &gt;, &lt;, |, &amp;, ( or ).</source>\n        <target>Pseudo needs to start with a \'/\' and can\'t contain any of the following: &gt;, &lt;, |, &amp;, ( or ).</target>\n      </trans-unit>\n      <trans-unit id="27eb35c4b4ac08781a7253a2ab40f8f7d957ba51" datatype="html">\n        <source>-- No access type available --</source>\n        <target>-- 没有可用的访问类型 --</target>\n      </trans-unit>\n      <trans-unit id="509ce016c9110a54028dafd741f15ceacbe74b5a" datatype="html">\n        <source>-- Select the access type --</source>\n        <target>-- 选择访问类型 --</target>\n      </trans-unit>\n      <trans-unit id="49850390a653cd05dc5843d74ef073a9122b54c9" datatype="html">\n        <source>The Object Gateway NFS backend has a number of\n              limitations which will seriously affect applications writing to\n              the share. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for details before enabling write access.\n        </source>\n        <target>The Object Gateway NFS backend has a number of\n              limitations which will seriously affect applications writing to\n              the share. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for details before enabling write access.\n        </target>\n      </trans-unit>\n      <trans-unit id="4deda03573eaaff77e63f6a238a1f0ca7816950a" datatype="html">\n        <source>-- No squash available --</source>\n        <target>-- 没有可用的 squash --</target>\n      </trans-unit>\n      <trans-unit id="a0e82a4da88e7fdf270444f838d45849676e9d4b" datatype="html">\n        <source>--Select what kind of user id squashing is performed --</source>\n        <target>-- 选择执行哪种类型的用户 ID 匿名访问 --</target>\n      </trans-unit>\n      <trans-unit id="d01b7c3f7f06712c53d054cfbe4f53d446b038e8" datatype="html">\n        <source>Transport Protocol</source>\n        <target>传输协议</target>\n      </trans-unit>\n      <trans-unit id="d2a6ad6e8bc315f07911722c05767ac79c136d99" datatype="html">\n        <source>UDP</source>\n        <target>UDP</target>\n      </trans-unit>\n      <trans-unit id="9c030f11e0aae9b24d2c048c57f29f590be621df" datatype="html">\n        <source>TCP</source>\n        <target>TCP</target>\n      </trans-unit>\n      <trans-unit id="734c9905951a774870497c5aaae8e3ee833b6196" datatype="html">\n        <source>CephFS</source>\n        <target>CephFS</target>\n      </trans-unit>\n      <trans-unit id="449dca3d3a93ead418b0541ea81b0dda7e6483c2" datatype="html">\n        <source>Welcome to Ceph!</source>\n        <target>欢迎使用 Ceph!</target>\n        <note>The welcome message on the login page</note>\n      </trans-unit>\n      <trans-unit id="0070e83d11da39d6f4bb95065c2675db1610b419" datatype="html">\n        <source>Username is required</source>\n        <target>请输入用户名</target>\n      </trans-unit>\n      <trans-unit id="1e20f8b8a4706526c9024cc2f39d568345d100dc" datatype="html">\n        <source>Password is required</source>\n        <target>请输入密码</target>\n      </trans-unit>\n      <trans-unit id="6765b4c916060f6bc42d9bb69e80377dbcb5e4e9" datatype="html">\n        <source>Login</source>\n        <target>登录</target>\n      </trans-unit>\n      <trans-unit id="58fc1b5c79a75370eb52644fd83fb2e7096b6649" datatype="html">\n        <source>Sorry, the user does not exist in Ceph.</source>\n        <target>抱歉,此用户不存在。</target>\n      </trans-unit>\n      <trans-unit id="d9deb94f78e7c41b35c6622b874f06657d7604c1" datatype="html">\n        <source>Return to \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Login Page\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You\'ll be logged out from the Identity Provider when you retry logging in.\n        </source>\n        <target>Return to \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Login Page\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You\'ll be logged out from the Identity Provider when you retry logging in.\n        </target>\n      </trans-unit>\n      <trans-unit id="0eb15f32b2b92d7f3103ef3ff032621888a8dc32" datatype="html">\n        <source>Old password</source>\n        <target>Old password</target>\n      </trans-unit>\n      <trans-unit id="1cf42e491adc166a337a960eb84d03c0c3f677c8" datatype="html">\n        <source>The old and new passwords must be different.</source>\n        <target>The old and new passwords must be different.</target>\n      </trans-unit>\n      <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229" datatype="html">\n        <source>New password</source>\n        <target>New password</target>\n      </trans-unit>\n      <trans-unit id="595ebc9279497f6dc733777e2816bee936901388" datatype="html">\n        <source>Too weak</source>\n        <target>Too weak</target>\n      </trans-unit>\n      <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b" datatype="html">\n        <source>Confirm new password</source>\n        <target>Confirm new password</target>\n      </trans-unit>\n      <trans-unit id="90163a3d3746819aef42e829f4446331232f3b66" datatype="html">\n        <source>Password confirmation doesn\'t match the new password.</source>\n        <target>Password confirmation doesn\'t match the new password.</target>\n      </trans-unit>\n      <trans-unit id="471e78026c258073ba687478dc54c35d9041ea42" datatype="html">\n        <source>Forbidden</source>\n        <target>禁止访问</target>\n      </trans-unit>\n      <trans-unit id="02ea8ad57677e3c63f3d7814ca5e6c7b74e360b4" datatype="html">\n        <source>Sorry, you are not allowed to see what you were looking for.</source>\n        <target>抱歉,您无权访问这个页面。</target>\n      </trans-unit>\n      <trans-unit id="e3c028c58f92453d46f09b5adf95b2f013ee0300" datatype="html">\n        <source>Sorry, we could not find what you were looking for</source>\n        <target>抱歉,我们找不到您要看的东西。</target>\n      </trans-unit>\n      <trans-unit id="a949d7e577902d0e5dc5d0971bb0170a21be7728" datatype="html">\n        <source>[object Object]</source>\n        <target>[object Object]</target>\n      </trans-unit>\n      <trans-unit id="ff92fbdec9fdd5054493eeda0d7ee8b450f83e72" datatype="html">\n        <source>RBD Configuration</source>\n        <target>RBD 配置</target>\n      </trans-unit>\n      <trans-unit id="b62d9efc8eb3b589904f6cb96a0406bbda55673a" datatype="html">\n        <source>Remove the local configuration value. The parent configuration value will be inherited and used instead.</source>\n        <target>删除本地的配置项,改用更高作用域的配置值。</target>\n      </trans-unit>\n      <trans-unit id="963488a1010d46067b238c4ae917fab3907c0a3a" datatype="html">\n        <source>The mininum value is 0</source>\n        <target>最小值为 0</target>\n      </trans-unit>\n      <trans-unit id="1d8a7c8aea58294a3c57c23af0468ddf0ba0c9c7" datatype="html">\n        <source>Pools List</source>\n        <target>存储池列表</target>\n      </trans-unit>\n      <trans-unit id="490e15ecc922965b6d8194754c87c5583aa071f3" datatype="html">\n        <source>The name can only consist of alphanumeric characters, dashes and underscores.</source>\n        <target>名称只能由字母、数字、短划线和下划线组成。</target>\n      </trans-unit>\n      <trans-unit id="9edc2b494e660618af3e5225f68d40b7ca67629c" datatype="html">\n        <source>The chosen erasure code profile name is already in use.</source>\n        <target>此纠删码配置名称已被使用。</target>\n      </trans-unit>\n      <trans-unit id="ef9ff0e6227947b48dfab4ac39ade04af758913b" datatype="html">\n        <source>Plugin</source>\n        <target>纠删码算法</target>\n      </trans-unit>\n      <trans-unit id="dd69b31bce8f630eac1d4762b0bbcf72ce19d193" datatype="html">\n        <source>Data chunks (k)</source>\n        <target>数据块 (k)</target>\n      </trans-unit>\n      <trans-unit id="b0d26a6172d32cb81218fe2103c54a818cbc1189" datatype="html">\n        <source>Must be equal to or greater than 2.</source>\n        <target>必须大于等于 2</target>\n      </trans-unit>\n      <trans-unit id="dab3a299ead121169b8e08ed618c3b6a2f66691b" datatype="html">\n        <source>Coding chunks (m)</source>\n        <target>校验块 (m)</target>\n      </trans-unit>\n      <trans-unit id="1e2773e5bd4948193f18f2361d663ecc3988c656" datatype="html">\n        <source>Must be equal to or greater than 1.</source>\n        <target>必须大于等于 1</target>\n      </trans-unit>\n      <trans-unit id="6cde4c945a49a260c0a47bcc7cd956846930a5f7" datatype="html">\n        <source>Durability estimator (c)</source>\n        <target>持久因子 (c)</target>\n      </trans-unit>\n      <trans-unit id="af668c2a095a979ea2b4e43cd82c2120ab56c21c" datatype="html">\n        <source>Locality (l)</source>\n        <target>局部性因子 (l)</target>\n      </trans-unit>\n      <trans-unit id="d455a110bf6d2235e314e295ce1dfeee93d3dff2" datatype="html">\n        <source>Crush failure domain</source>\n        <target>CRUSH 故障域</target>\n      </trans-unit>\n      <trans-unit id="b74a495f041f7dd102eee5c0bbc9e03083b538ae" datatype="html">\n        <source>Crush Locality</source>\n        <target>CRUSH 局部性</target>\n      </trans-unit>\n      <trans-unit id="a2f14a73f7a6e94479f67423cc51102da8d6f524" datatype="html">\n        <source>None</source>\n        <target>无</target>\n      </trans-unit>\n      <trans-unit id="2981733b912b693a9dd9d915d6d34f4692cc874a" datatype="html">\n        <source>Technique</source>\n        <target>算法</target>\n      </trans-unit>\n      <trans-unit id="e0098b6e47b04ec817361f384ce81d454ba5c0bb" datatype="html">\n        <source>Packetsize</source>\n        <target>packetsize</target>\n      </trans-unit>\n      <trans-unit id="c0252cd81ca54d0a2f69ec9ccf4248e73df5aa4a" datatype="html">\n        <source>Crush root</source>\n        <target>CRUSH 根</target>\n      </trans-unit>\n      <trans-unit id="1548d5c76f0406ddd1ba3c557e1e6db22e95b340" datatype="html">\n        <source>Crush device class</source>\n        <target>CRUSH 设备类型</target>\n      </trans-unit>\n      <trans-unit id="5e85feb6f9f0334366e46ee09ca6b8df52397432" datatype="html">\n        <source>any</source>\n        <target>任意</target>\n      </trans-unit>\n      <trans-unit id="03d84645f6e019c5a43909bbf2ea1696ee88332c" datatype="html">\n        <source>Directory</source>\n        <target>目录</target>\n      </trans-unit>\n      <trans-unit id="2fecea01ce1d44114ee45144eff6d47a5016a74f" datatype="html">\n        <source>Name...</source>\n        <target>名称…</target>\n      </trans-unit>\n      <trans-unit id="16e113230b6b0d3165e076300880542bac7c8138" datatype="html">\n        <source>The chosen Ceph pool name is already in use.</source>\n        <target>此 Ceph 存储池名称已被使用。</target>\n      </trans-unit>\n      <trans-unit id="c75b132bef7b29fa5171768303c4b96e34ccaf68" datatype="html">\n        <source>It\'s not possible to create an RBD pool with \'/\' in the name.\n              Please change the name or remove \'rbd\' from the applications list.</source>\n        <target>It\'s not possible to create an RBD pool with \'/\' in the name.\n              Please change the name or remove \'rbd\' from the applications list.</target>\n      </trans-unit>\n      <trans-unit id="b85c657469e5ec8231c3de99b22f437bc01ffde5" datatype="html">\n        <source>Pool type</source>\n        <target>存储池类型</target>\n      </trans-unit>\n      <trans-unit id="526c5443254c3b126eedb264840ffe827727bfd3" datatype="html">\n        <source>-- Select a pool type --</source>\n        <target>-- 请选择存储池的类型 --</target>\n      </trans-unit>\n      <trans-unit id="0aa21053410a94aa61d16985a4e95fd65523430d" datatype="html">\n        <source>Placement groups</source>\n        <target>归置组 (PG)</target>\n      </trans-unit>\n      <trans-unit id="6301f1391d726f8f450bb358058534db19541ca9" datatype="html">\n        <source>At least one placement group is needed!</source>\n        <target>至少需要一个归置组!</target>\n      </trans-unit>\n      <trans-unit id="ba9469a1ce6ed36e039c1f67247c8c81a5c71449" datatype="html">\n        <source>Your cluster can\'t handle this many PGs. Please recalculate the PG amount needed.</source>\n        <target>您的集群没法支持这么多的 PG。请重新计算需要的 PG 个数。</target>\n      </trans-unit>\n      <trans-unit id="80ac68cd883369dac20688bc32b4cb33291b5e50" datatype="html">\n        <source>Calculation help</source>\n        <target>在线 PG 计算器</target>\n      </trans-unit>\n      <trans-unit id="fccbd60493df26705d957ed6c02a3c447894678f" datatype="html">\n        <source>The current PGs settings were calculated for you, you\n                should make sure the values suit your needs before submit.</source>\n        <target>The current PGs settings were calculated for you, you\n                should make sure the values suit your needs before submit.</target>\n      </trans-unit>\n      <trans-unit id="33150f22ce5348aa6c499bd092c3f4f3695d62cc" datatype="html">\n        <source>Crush ruleset</source>\n        <target>CRUSH 算法规则组</target>\n      </trans-unit>\n      <trans-unit id="73a6b31116b3cc322af951daa0bafdc169e6c42e" datatype="html">\n        <source>-- Select a crush rule --</source>\n        <target>-- 选择 CRUSH 规则 --</target>\n      </trans-unit>\n      <trans-unit id="92da80699921e89fb19372e25b8d0f3b9fa427fc" datatype="html">\n        <source>Crush rule</source>\n        <target>CRUSH 规则</target>\n      </trans-unit>\n      <trans-unit id="5489e9f96835f469f6f728a00d8efa88ea5bc940" datatype="html">\n        <source>Crush steps</source>\n        <target>CRUSH 步骤</target>\n      </trans-unit>\n      <trans-unit id="54a53b1b402aafff5b992ee9b64e409fbfe9074f" datatype="html">\n        <source>The rule can\'t be used in the current cluster as it has\n                to few OSDs to meet the minimum required OSD by this rule.</source>\n        <target>当前的集群无法使用该规则,因为集群的 OSD 个数过少,\n   无法满足规则所需的最低 OSD 数量。</target>\n      </trans-unit>\n      <trans-unit id="a43b2695131b48b76cebba676aba98a2bee17515" datatype="html">\n        <source>Replicated size</source>\n        <target>副本个数</target>\n      </trans-unit>\n      <trans-unit id="7bff144a4c4dc63b0e18fff2617d61a7ebdf2b6c" datatype="html">\n        <source>Minimum: \n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/>\n        </source>\n        <target>Minimum: \n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="1a9c54b41f6d58a74e5d0aa3429ed0c87a482551" datatype="html">\n        <source>Maximum: \n          <x id="INTERPOLATION" equiv-text="{{ getMaxSize() }}"/>\n        </source>\n        <target>Maximum: \n          <x id="INTERPOLATION" equiv-text="{{ getMaxSize() }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6ab647b95bd2347ae6f4605576de5e0269fb893a" datatype="html">\n        <source>The size specified is out of range. A value from\n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/> to \n          <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.\n        </source>\n        <target>The size specified is out of range. A value from\n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/> to \n          <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.\n        </target>\n      </trans-unit>\n      <trans-unit id="9de7dde00e2139cc4bd03b1837afbe72ad15a1ff" datatype="html">\n        <source>Erasure code profile</source>\n        <target>纠删码配置</target>\n      </trans-unit>\n      <trans-unit id="39b4620e6bd444e0a57a0a5c03fa8c96d7fe5235" datatype="html">\n        <source>-- No erasure code profile available --</source>\n        <target>-- 无纠删码配置可选 --</target>\n      </trans-unit>\n      <trans-unit id="498561757390d5528b263ce450d5f38efb00266d" datatype="html">\n        <source>-- Select an erasure code profile --</source>\n        <target>-- 请选择一个纠删码配置 --</target>\n      </trans-unit>\n      <trans-unit id="920617c6a1a4805e53bcb5af6a9c76f8387e89c6" datatype="html">\n        <source>Flags</source>\n        <target>标志</target>\n      </trans-unit>\n      <trans-unit id="1c870fb00256b8a5b9cb9cd1a124e6390b9bc639" datatype="html">\n        <source>EC Overwrites</source>\n        <target>EC 重写 (overwrite)</target>\n      </trans-unit>\n      <trans-unit id="f1abafaeb40ce52355ddcc24686e3cd17b64e08a" datatype="html">\n        <source>Applications</source>\n        <target>应用类型</target>\n      </trans-unit>\n      <trans-unit id="2208d63d5940ce656006a220102b1eb2b5e553da" datatype="html">\n        <source>Compression</source>\n        <target>压缩</target>\n      </trans-unit>\n      <trans-unit id="37e10df2d9c0c25ef04ac112c9c9a7723e8efae0" datatype="html">\n        <source>Mode</source>\n        <target>模式</target>\n      </trans-unit>\n      <trans-unit id="6c6f25c47da62ec597c6057a36ddfc3209811ec5" datatype="html">\n        <source>Algorithm</source>\n        <target>算法</target>\n      </trans-unit>\n      <trans-unit id="4903231d42089325a28892c0fde1aed46b733ae6" datatype="html">\n        <source>-- No erasure compression algorithm available --</source>\n        <target>-- 无可用的纠删码压缩算法 --</target>\n      </trans-unit>\n      <trans-unit id="5d68ddb254275f8f44221e9ad6d8ceeb59ca46a6" datatype="html">\n        <source>Minimum blob size</source>\n        <target>blob 大小下限</target>\n      </trans-unit>\n      <trans-unit id="fb2f176df80647137cbb02bbeb29e5dec707a400" datatype="html">\n        <source>e.g., 128KiB</source>\n        <target>比如 128 KiB</target>\n      </trans-unit>\n      <trans-unit id="1b7f6e53a4521c6eb3ced4c007fdd4cf80bb7707" datatype="html">\n        <source>Value should be greater than 0</source>\n        <target>取值必须大于 0</target>\n      </trans-unit>\n      <trans-unit id="8db98ab14b4e207ec763dfdefbc2dae367aab1cc" datatype="html">\n        <source>Value should be less than the maximum blob size</source>\n        <target>Value should be less than the maximum blob size</target>\n      </trans-unit>\n      <trans-unit id="151efb127a9a4dd25259a0b2055442318a141f5b" datatype="html">\n        <source>Maximum blob size</source>\n        <target>blob 大小上限</target>\n      </trans-unit>\n      <trans-unit id="0c656f0e346bbadf46eb1a5d20d0307a3bd20ba8" datatype="html">\n        <source>e.g., 512KiB</source>\n        <target>如 512KiB</target>\n      </trans-unit>\n      <trans-unit id="0a65a24eee8a026f3b1113fe9e157e9a0dd69486" datatype="html">\n        <source>Value should be greater than the minimum blob size</source>\n        <target>取值必须大于 blob 大小下限</target>\n      </trans-unit>\n      <trans-unit id="261ba09c4a59de83f48f52a23fd328da37e61ff4" datatype="html">\n        <source>Ratio</source>\n        <target>比例</target>\n      </trans-unit>\n      <trans-unit id="c1430457a9c3c66366e51d76bf10396014c576be" datatype="html">\n        <source>Compression ratio</source>\n        <target>压缩率</target>\n      </trans-unit>\n      <trans-unit id="ae5ce6de352cde949998fb10754459c3a4eb183b" datatype="html">\n        <source>Value should be between 0.0 and 1.0</source>\n        <target>取值必须在 0.0 和 1.0 之间</target>\n      </trans-unit>\n      <trans-unit id="8bb8293aa8161433778762ae025ffd5e7c85795e" datatype="html">\n        <source>Quotas</source>\n        <target>Quotas</target>\n      </trans-unit>\n      <trans-unit id="d99b34162c9c34f10d0ccd8dbae83d8569c2db77" datatype="html">\n        <source>Max bytes</source>\n        <target>Max bytes</target>\n      </trans-unit>\n      <trans-unit id="a1d14a18879c62f3f4ed705318b7164a1160e249" datatype="html">\n        <source>Leave it blank or specify 0 to disable this quota.</source>\n        <target>Leave it blank or specify 0 to disable this quota.</target>\n      </trans-unit>\n      <trans-unit id="7565b131562ff6c5f769fdbd239a772154abdd97" datatype="html">\n        <source>A valid quota should be greater than 0.</source>\n        <target>A valid quota should be greater than 0.</target>\n      </trans-unit>\n      <trans-unit id="f0016bd458baa88284a658ce9eeda42d8ad88d2c" datatype="html">\n        <source>e.g., 10GiB</source>\n        <target>如 10 GiB</target>\n      </trans-unit>\n      <trans-unit id="b8bf35b66f09a301eef92ffc3cb2fd259df67ce9" datatype="html">\n        <source>Max objects</source>\n        <target>Max objects</target>\n      </trans-unit>\n      <trans-unit id="95f348167622d832c5ae532b6944635c8e2ae5cb" datatype="html">\n        <source>The value should be greater or equal to 0</source>\n        <target>The value should be greater or equal to 0</target>\n      </trans-unit>\n      <trans-unit id="fbbaf5cb02ed419e79a27072478f716a4666a99d" datatype="html">\n        <source>Performance Details</source>\n        <target>性能详情</target>\n      </trans-unit>\n      <trans-unit id="3938a411d76796f8ae73b72ea4c77661207453bd" datatype="html">\n        <source>Cache Tiers Details</source>\n        <target>缓存层详细信息</target>\n      </trans-unit>\n      <trans-unit id="f0b5d789d42c0e69348e5fe0037fcbf5b5fbbdcc" datatype="html">\n        <source>Move an image to trash</source>\n        <target>将映像移至回收站</target>\n      </trans-unit>\n      <trans-unit id="86301cf2044b1eda218483365f6b9de8dde5040b" datatype="html">\n        <source>To move \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{ imageName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,\n          click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optionally, you can pick an expiration date.\n        </source>\n        <target>To move \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{ imageName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,\n          click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optionally, you can pick an expiration date.\n        </target>\n      </trans-unit>\n      <trans-unit id="88f27d390844aad53b4240360e928156c5f0d326" datatype="html">\n        <source>Protection expires at</source>\n        <target>保护期一直到</target>\n      </trans-unit>\n      <trans-unit id="da166e9a0d27322f6ba8916d71ecc0f9905bb4b1" datatype="html">\n        <source>NOT PROTECTED</source>\n        <target>无保护</target>\n      </trans-unit>\n      <trans-unit id="a1506e5f2ca22cad14502ec7a20fb6113ace145d" datatype="html">\n        <source>Wrong date format. Please use "YYYY-MM-DD HH:mm:ss".</source>\n        <target>日期格式有问题。请使用“YYYY-MM-DD HH:mm:ss”。</target>\n      </trans-unit>\n      <trans-unit id="aa7ea0bb7495281e0b3258467ac7d90a1e44a1a1" datatype="html">\n        <source>Protection has already expired. Please pick a future date or leave it empty.</source>\n        <target>保护期限已经过了。请设置一个将来的日期,或者清空不填。</target>\n      </trans-unit>\n      <trans-unit id="536b3205c0c0d4d21685ec06feccfcf2fe14deb1" datatype="html">\n        <source>Move Image</source>\n        <target>移动映像</target>\n      </trans-unit>\n      <trans-unit id="8a9910cd114c1deb9af74f6f99b4173403965bf2" datatype="html">\n        <source>Gateways</source>\n        <target>Gateways</target>\n      </trans-unit>\n      <trans-unit id="8835b9e49a3348b0a2f2162c21118af1f4bee45a" datatype="html">\n        <source>Must be greater than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'min\'] }}"/>.\n        </source>\n        <target>Must be greater than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'min\'] }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="bbddac59563c8c126e3fe28691e4e247614fcbd1" datatype="html">\n        <source>Must be less than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'max\'] }}"/>.\n        </source>\n        <target>Must be less than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'max\'] }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="e95ae009d0bdb45fcc656e8b65248cf7396080d5" datatype="html">\n        <source>Overview</source>\n        <target>概览</target>\n      </trans-unit>\n      <trans-unit id="bbd2045d5c37e4bb39a3c0fb62ea1ddf70a12838" datatype="html">\n        <source>Targets</source>\n        <target>目标</target>\n      </trans-unit>\n      <trans-unit id="6803e31b7395d94934e091a49a9524026b59b018" datatype="html">\n        <source>Discovery Authentication</source>\n        <target>发现身份验证</target>\n      </trans-unit>\n      <trans-unit id="e08a77594f3d89311cdf6da5090044270909c194" datatype="html">\n        <source>User</source>\n        <target>用户</target>\n      </trans-unit>\n      <trans-unit id="0214f773f8e394f50f953f39962e352d7863e959" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n              can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>用户名长度必须在 8 到 64 个字符之间,且只能包含\n以下字符:英文字母、“.”、“@”、“-”、“_”或“:”。</target>\n      </trans-unit>\n      <trans-unit id="c32ef07f8803a223a83ed17024b38e8d82292407" datatype="html">\n        <source>Password</source>\n        <target>密码</target>\n      </trans-unit>\n      <trans-unit id="6682d1c00263bee204583a5d589b308b6be88b0f" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n              and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n              and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="ff40391de7a1944ea95091e4045cc34c4979b736" datatype="html">\n        <source>Mutual User</source>\n        <target>互认证用户</target>\n      </trans-unit>\n      <trans-unit id="0cf73dbebe99b737c4d288788182fc356e3c93d3" datatype="html">\n        <source>Mutual Password</source>\n        <target>互认证密码</target>\n      </trans-unit>\n      <trans-unit id="8800276925157c666b103c36ff7fe8ffe11980b4" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters and\n              can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters and\n              can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="53a583cd5f15059cc958b7d547f72cc78f68e123" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n    on how to configure and enable the iSCSI Targets management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n    on how to configure and enable the iSCSI Targets management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="3b301d0044f62c92af0da53d7aaca52a436a547d" datatype="html">\n        <source>Available information:</source>\n        <target>可用信息:</target>\n      </trans-unit>\n      <trans-unit id="332227f088a4877b3c11f5fb3ae8bc812c470fae" datatype="html">\n        <source>iSCSI Targets not available</source>\n        <target>无可用 iSCSI 目标</target>\n      </trans-unit>\n      <trans-unit id="8414a5cb9d71cc1b21b10e4a9d1f2dad558f3361" datatype="html">\n        <source>Discovery authentication</source>\n        <target>Discovery authentication</target>\n      </trans-unit>\n      <trans-unit id="0f6e8f6094b180eaf1f11bc0ffe383f1cdcd059e" datatype="html">\n        <source>Only available for RBD images with \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>fast-diff\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> enabled\n        </source>\n        <target>Only available for RBD images with \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>fast-diff\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> enabled\n        </target>\n      </trans-unit>\n      <trans-unit id="e70fcca5a99575cffef3ff8cbd5e69f06ffd0f1c" datatype="html">\n        <source>Pool</source>\n        <target>存储池</target>\n      </trans-unit>\n      <trans-unit id="03cc5b14b0a20d075e9009ff021f4f1660ba348a" datatype="html">\n        <source>Data Pool</source>\n        <target>数据存储池</target>\n      </trans-unit>\n      <trans-unit id="1b051734b0ee9021991c91b3ed4e81c244322462" datatype="html">\n        <source>Created</source>\n        <target>创建</target>\n      </trans-unit>\n      <trans-unit id="7faaaa08f56427999f3be41df1093ce4089bbd75" datatype="html">\n        <source>Size</source>\n        <target>容量</target>\n      </trans-unit>\n      <trans-unit id="afdb601c16162f2c798b16a2920955f1cc6a20aa" datatype="html">\n        <source>Objects</source>\n        <target>对象数</target>\n      </trans-unit>\n      <trans-unit id="ceac8e132384322ec778ba760875a6c6897d3e42" datatype="html">\n        <source>Object size</source>\n        <target>对象大小</target>\n      </trans-unit>\n      <trans-unit id="6cdb1fea93d77c07950c0c76c6e0ad79ebbef084" datatype="html">\n        <source>Features</source>\n        <target>特性</target>\n      </trans-unit>\n      <trans-unit id="0a65771c9a73b9aa609d592fc96a64801a8f40bd" datatype="html">\n        <source>Provisioned</source>\n        <target>供给容量</target>\n      </trans-unit>\n      <trans-unit id="84a36cb75660b736773fe36ffa3d54f0f0fe363e" datatype="html">\n        <source>N/A</source>\n        <target>N/A</target>\n      </trans-unit>\n      <trans-unit id="e5c009342a4e8381f64341d0bb61c2e4685f5a4b" datatype="html">\n        <source>Total provisioned</source>\n        <target>总供给容量</target>\n      </trans-unit>\n      <trans-unit id="7f6bf8a43ae415f527ac961ea62471b983aaa97b" datatype="html">\n        <source>Striping unit</source>\n        <target>条带单元</target>\n      </trans-unit>\n      <trans-unit id="db710e8a8f011923f2d15d713fbae49c38b02b26" datatype="html">\n        <source>Striping count</source>\n        <target>条带个数</target>\n      </trans-unit>\n      <trans-unit id="3a4c2a9e76634ff14a60d52a718296f722d47c67" datatype="html">\n        <source>Parent</source>\n        <target>父节点</target>\n      </trans-unit>\n      <trans-unit id="6a209e68d78ffc2cc9c53d2e76158624efab71ad" datatype="html">\n        <source>Block name prefix</source>\n        <target>块存储名字前缀</target>\n      </trans-unit>\n      <trans-unit id="5704ec2049d007c5f5fb495a5d8b607e68d58081" datatype="html">\n        <source>Order</source>\n        <target>order</target>\n      </trans-unit>\n      <trans-unit id="f21b1d17b6c5042bb5805516eee37fde33739dd8" datatype="html">\n        <source>Snapshots</source>\n        <target>快照</target>\n      </trans-unit>\n      <trans-unit id="a5f9ba9bb9faa8284bcadb1cdbc6aaf969e9c4bb" datatype="html">\n        <source>Image</source>\n        <target>映像</target>\n      </trans-unit>\n      <trans-unit id="58e58f1a8786da9031a05e6770c5dafce82badf5" datatype="html">\n        <source>This setting overrides the global value</source>\n        <target>此设置会覆盖全局值</target>\n      </trans-unit>\n      <trans-unit id="5decb3917d46a9ac6e5813699801becb7c3c1455" datatype="html">\n        <source>Global</source>\n        <target>全局</target>\n      </trans-unit>\n      <trans-unit id="36b46714164964c6258b08ed0a25f57d8a950f92" datatype="html">\n        <source>This is the global value. No value for this option has been set for this image.</source>\n        <target>该值为全局值。没有为此映像设置此选项的值。</target>\n      </trans-unit>\n      <trans-unit id="6547c9c4d5f62942ac4b1fe459cf9a03d4dbf5a0" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/> from\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/> from\n        </target>\n      </trans-unit>\n      <trans-unit id="0e9ecf29a4fa5b057bd8052e0d801b3fde6a30bf" datatype="html">\n        <source>\'/\' and \'@\' are not allowed.</source>\n        <target>不允许使用“/”和“@”。</target>\n      </trans-unit>\n      <trans-unit id="b99417c4dd46286ffd37c8d2e987c8b512ec7052" datatype="html">\n        <source>-- No rbd pools available --</source>\n        <target>-- 没有可用的 RBD 存储池 --</target>\n      </trans-unit>\n      <trans-unit id="ef83ec9c304a89d45650e580dcdc2978c37b3a83" datatype="html">\n        <source>-- Select a pool --</source>\n        <target>-- 请选择存储池 --</target>\n      </trans-unit>\n      <trans-unit id="49449943d8cbf59d8c401c8bd2e76f92e207cc5f" datatype="html">\n        <source>Use a dedicated data pool</source>\n        <target>使用一个专用的数据池</target>\n      </trans-unit>\n      <trans-unit id="870aee0dd31a9643bf62007beb8f1ae1deb34d42" datatype="html">\n        <source>Data pool</source>\n        <target>数据池</target>\n      </trans-unit>\n      <trans-unit id="3792ca829d9b9f687e1f5d7733d30e9bb0bfec47" datatype="html">\n        <source>Dedicated pool that stores the object-data of the RBD.</source>\n        <target>为保存 RBD 的对象数据单独分配的存储池。</target>\n      </trans-unit>\n      <trans-unit id="0a88bbee20570aaf9615332fb27020627044874d" datatype="html">\n        <source>You have to increase the size.</source>\n        <target>您需要设置大一些的容量。</target>\n      </trans-unit>\n      <trans-unit id="bc2e854e111ecf2bd7db170da5e3c2ed08181d88" datatype="html">\n        <source>Advanced</source>\n        <target>高级设置</target>\n      </trans-unit>\n      <trans-unit id="3562a3778695a5f9c0445660e35301f0a39aaf73" datatype="html">\n        <source>Striping</source>\n        <target>条带</target>\n      </trans-unit>\n      <trans-unit id="ef3c3f3b5f562a5cdbe0ee2874287db1534b5958" datatype="html">\n        <source>Stripe unit</source>\n        <target>条带单元大小</target>\n      </trans-unit>\n      <trans-unit id="84471be1049006edecbcaef1a32ae0893c229c50" datatype="html">\n        <source>-- Select stripe unit --</source>\n        <target>-- 选择条带单元大小 --</target>\n      </trans-unit>\n      <trans-unit id="8d32c5c54c8581c774a7f467fbd4e329b15a74fa" datatype="html">\n        <source>This field is required because stripe count is defined!</source>\n        <target>因为设置了条带个数,所以这个字段是必选的!</target>\n      </trans-unit>\n      <trans-unit id="6bbf9040be7c5491d4a03f2185708f43a6582a3b" datatype="html">\n        <source>Stripe unit is greater than object size.</source>\n        <target>条带单元大小超过了对象大小。</target>\n      </trans-unit>\n      <trans-unit id="a682f49f9b761591661276d7c6f550e641a130a4" datatype="html">\n        <source>Stripe count</source>\n        <target>条带个数</target>\n      </trans-unit>\n      <trans-unit id="baa74031990c5370008ba622d0a250f0929097f4" datatype="html">\n        <source>This field is required because stripe unit is defined!</source>\n        <target>因为设置了条带单元大小,所以这个字段是必选的!</target>\n      </trans-unit>\n      <trans-unit id="cd2ada6d5ecbd5cbf89eae0a1f5326efedac0dbc" datatype="html">\n        <source>Stripe count must be greater than 0.</source>\n        <target>条带的个数必须大于 0。</target>\n      </trans-unit>\n      <trans-unit id="3f67f30568e9ae47507d46e28e1e82a7dca772e2" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> RBD Snapshot\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> RBD Snapshot\n        </target>\n      </trans-unit>\n      <trans-unit id="1628d19a4490817c18be2afab410ca4adfa62ea7" datatype="html">\n        <source>{VAR_SELECT, select, true {Rename} other {Create} }</source>\n        <target>{VAR_SELECT, select, true {改名} other {创建} }</target>\n      </trans-unit>\n      <trans-unit id="73a287b41afe6b28f90edbeb98957a341a0276b4" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> Snapshot\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> Snapshot\n        </target>\n      </trans-unit>\n      <trans-unit id="cb60c1cd3655234756b5b92d4d597d92d520ee30" datatype="html">\n        <source>PROTECTED</source>\n        <target>PROTECTED</target>\n      </trans-unit>\n      <trans-unit id="deffb86b8fb0541254ad5a43862d82bff6b6a6c4" datatype="html">\n        <source>UNPROTECTED</source>\n        <target>无保护的</target>\n      </trans-unit>\n      <trans-unit id="5c5331983af566d4ac6a1024d15a3511786a4aa6" datatype="html">\n        <source>You are about to rollback</source>\n        <target>您即将进行回滚操作</target>\n      </trans-unit>\n      <trans-unit id="49c0408946a6d67185947f455f15cc201d0d78e6" datatype="html">\n        <source>Purge Trash</source>\n        <target>清空回收站</target>\n      </trans-unit>\n      <trans-unit id="af728625d769b61acf291442644b89edb88faec3" datatype="html">\n        <source>To purge, select one or All images and click</source>\n        <target>要彻底清空的话,请选择单个或所有的映像,然后点击</target>\n      </trans-unit>\n      <trans-unit id="55a4f598a4894b7fd5cb88f0ffd3c37ad009dd70" datatype="html">\n        <source>Pool:</source>\n        <target>存储池:</target>\n      </trans-unit>\n      <trans-unit id="d43dd2b9f7797e4cf3a604695bb33e4479108516" datatype="html">\n        <source>Pool name...</source>\n        <target>存储池名称…</target>\n      </trans-unit>\n      <trans-unit id="dfc3c34e182ea73c5d784ff7c8135f087992dac1" datatype="html">\n        <source>All</source>\n        <target>全选</target>\n      </trans-unit>\n      <trans-unit id="b0e7c7ed1d51a0c205c815048bc9f79e24ee6db2" datatype="html">\n        <source>Restore Image</source>\n        <target>恢复映像</target>\n      </trans-unit>\n      <trans-unit id="7369384817e0ad61ce871c9afdfbb538df2f97c1" datatype="html">\n        <source>To restore</source>\n        <target>要恢复</target>\n      </trans-unit>\n      <trans-unit id="e7f0abefc608f7fb452c2dc9b1cdc3dec432160e" datatype="html">\n        <source>type the image\'s new name and click</source>\n        <target>输入映像的新名称,并点击</target>\n      </trans-unit>\n      <trans-unit id="41307dd56fea669eed72e12a6c23af275f6bfd82" datatype="html">\n        <source>New Name</source>\n        <target>新名称</target>\n      </trans-unit>\n      <trans-unit id="5c96a761dc55a21882c132c929583a424c9b8cf4" datatype="html">\n        <source>Expired at</source>\n        <target>过期时间</target>\n      </trans-unit>\n      <trans-unit id="661041e3fcff4d3e75c561e038ca2504cf2cc643" datatype="html">\n        <source>Protected until</source>\n        <target>保护期限</target>\n      </trans-unit>\n      <trans-unit id="0ee3b2322a1d3277f7e3fdb8a5141ac42bcf350b" datatype="html">\n        <source>This image is protected until \n          <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.\n        </source>\n        <target>This image is protected until \n          <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="aba82bfd8e177d35b76cad7cd43941f8e5e5acac" datatype="html">\n        <source>Trash</source>\n        <target>回收站</target>\n      </trans-unit>\n      <trans-unit id="a674ab267d1934bf395f87ca1503fd474296893f" datatype="html">\n        <source>iSCSI Topology</source>\n        <target>iSCSI 结构图</target>\n      </trans-unit>\n      <trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html">\n        <source>Settings</source>\n        <target>设置</target>\n      </trans-unit>\n      <trans-unit id="9e515f954730279c31d5301f02479666d6264e8b" datatype="html">\n        <source>Changing these parameters from their default values is usually not necessary.</source>\n        <target>通常无须改变这些默认参数值。</target>\n      </trans-unit>\n      <trans-unit id="69a47cbabcc51ca942606e1d8da0ec11f98a2690" datatype="html">\n        <source>Backstore</source>\n        <target>后备存储</target>\n      </trans-unit>\n      <trans-unit id="68e710782ccb5398b3acb8844caf0b199da2c3da" datatype="html">\n        <source>Confirm</source>\n        <target>确认</target>\n      </trans-unit>\n      <trans-unit id="339878da255ab55447c43afef8d9b2f9753bf5f6" datatype="html">\n        <source>Advanced Settings</source>\n        <target>高级设置</target>\n      </trans-unit>\n      <trans-unit id="1406c2fb12a20c1528b19bcc5e24a6a2386167f3" datatype="html">\n        <source>Target IQN</source>\n        <target>目标限定名</target>\n      </trans-unit>\n      <trans-unit id="5fe42339be910372fa689f559155631862d218e8" datatype="html">\n        <source>IQN has wrong pattern.</source>\n        <target>IQN 格式错误。</target>\n      </trans-unit>\n      <trans-unit id="050a7ff057d1e895357540406b6be5652b4d1c71" datatype="html">\n        <source>An IQN has the following notation\n                \'iqn.$year-$month.$reversedAddress:$definedName\'</source>\n        <target>An IQN has the following notation\n                \'iqn.$year-$month.$reversedAddress:$definedName\'</target>\n      </trans-unit>\n      <trans-unit id="c8ada4b53396d8366db00a435acc61d53d857047" datatype="html">\n        <source>For example: iqn.2016-06.org.dashboard:storage:disk.sn-a8675309</source>\n        <target>例如:iqn.2016-06.org.dashboard:storage:disk.sn-a8675309</target>\n      </trans-unit>\n      <trans-unit id="e60c11e1b1dfbbeda577364b8de39ded2d796c5e" datatype="html">\n        <source>More information</source>\n        <target>更多信息</target>\n      </trans-unit>\n      <trans-unit id="9b1aa85dfc6849196e64060db02c5410de69b7a1" datatype="html">\n        <source>This target has modified advanced settings.</source>\n        <target>此目标的高级设置项存在修改。</target>\n      </trans-unit>\n      <trans-unit id="6990ad8d6182662e864495ac31c3758cda1c7a28" datatype="html">\n        <source>Portals</source>\n        <target>端口</target>\n      </trans-unit>\n      <trans-unit id="c3638c01b6c34066438909713ec96087c813fc7e" datatype="html">\n        <source>At least \n          <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.\n        </source>\n        <target>At least \n          <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.\n        </target>\n      </trans-unit>\n      <trans-unit id="6a3ac2b4137d723fd9878cd357c2012ff6c07973" datatype="html">\n        <source>Add portal</source>\n        <target>添加端口</target>\n      </trans-unit>\n      <trans-unit id="9aff25be088f0efe3eaaf62edf2bff41cc41a617" datatype="html">\n        <source>Backstore: \n          <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. \n        </source>\n        <target>Backstore: \n          <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. \n        </target>\n      </trans-unit>\n      <trans-unit id="e3484cae8b118c576ca2815bf9c9406c2eb2cae3" datatype="html">\n        <source>This image has modified settings.</source>\n        <target>此映像的设置项存在修改。</target>\n      </trans-unit>\n      <trans-unit id="107c84e820909b44fe258673938a68ced1bbff72" datatype="html">\n        <source>At least 1 image is required.</source>\n        <target>至少需要 1 个映像!</target>\n      </trans-unit>\n      <trans-unit id="808038f912fdc7f0e03f82d4afd3bf9178527fc8" datatype="html">\n        <source>Add image</source>\n        <target>添加映像</target>\n      </trans-unit>\n      <trans-unit id="66c5fb27f52e75b70ca4b670b9b15a2a51cf9543" datatype="html">\n        <source>ACL authentication</source>\n        <target>ACL 身份验证</target>\n      </trans-unit>\n      <trans-unit id="419c8b402609dcf49ae4932a5a4647dc8d79bbaf" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n                can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Usernames must have a length of 8 to 64 characters and\n                can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</target>\n      </trans-unit>\n      <trans-unit id="938050960d6653fddfcfd42425e18fb35a308262" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n                and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n                and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="f494bd31f095f6dcc656ce87ec2dcf07a2e9b30c" datatype="html">\n        <source>Initiators</source>\n        <target>授权人</target>\n      </trans-unit>\n      <trans-unit id="e98239d8a6be1100119ff4b5630c822b82786740" datatype="html">\n        <source>Initiator</source>\n        <target>授权人</target>\n      </trans-unit>\n      <trans-unit id="f2c5059d8cda15d8d03e2cce30f2d139623d9a91" datatype="html">\n        <source>Client IQN</source>\n        <target>客户端 IQN</target>\n      </trans-unit>\n      <trans-unit id="107d5aabce23d900f0a80e6ddc1c10e29aa0bed8" datatype="html">\n        <source>Initiator IQN needs to be unique.</source>\n        <target>授权人 IQN 必须唯一。</target>\n      </trans-unit>\n      <trans-unit id="bbf0b34a3fcc80800fcb44b9e1e86931a530dfe3" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n                        can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>用户名长度必须在 8 到 64 个字符之间,且只能包含\n以下字符:英文字母、“.”、“@”、“-”、“_”或“:”。</target>\n      </trans-unit>\n      <trans-unit id="fdfee5d7a27e1bdd97a176097277bee078de6aaf" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n                        and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n                        and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="8406eb7415ee40e54d9ecb209abb056f06e3d666" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters and\n                        can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters and\n                        can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="5d1878d5fc761cbe9614bfd87047a740c82a6951" datatype="html">\n        <source>Initiator belongs to a group. Images will be configure in the group.</source>\n        <target>授权人属于群组。映像须在群组中进行设置。</target>\n      </trans-unit>\n      <trans-unit id="c0de67b9d97fafbf200f9451e8388ee8128a56ac" datatype="html">\n        <source>No items added.</source>\n        <target>无项目添加。</target>\n      </trans-unit>\n      <trans-unit id="d565e47726158e428ecdc952fc9233b9b7d7f049" datatype="html">\n        <source>Add initiator</source>\n        <target>添加授权人</target>\n      </trans-unit>\n      <trans-unit id="c22ba03540aa3217da059f45e7eab138b51a96e2" datatype="html">\n        <source>Groups</source>\n        <target>群组</target>\n      </trans-unit>\n      <trans-unit id="4c90059afafb7e160384d9f512797c95bb95c6dc" datatype="html">\n        <source>Group</source>\n        <target>群组</target>\n      </trans-unit>\n      <trans-unit id="3084948274cff4f56d0f431af47240e9cf02fcc7" datatype="html">\n        <source>Add group</source>\n        <target>添加群组</target>\n      </trans-unit>\n      <trans-unit id="66db799d67958d4b0765181d072df62e2d1c16f5" datatype="html">\n        <source>Issues</source>\n        <target>问题</target>\n      </trans-unit>\n      <trans-unit id="ef06d69259e587e28d52372455f44c7153cda7e7" datatype="html">\n        <source>Syncing</source>\n        <target>正在同步</target>\n      </trans-unit>\n      <trans-unit id="0b0901877d837d3fda16ba161eb74368d1c75b7a" datatype="html">\n        <source>Ready</source>\n        <target>已就绪</target>\n      </trans-unit>\n      <trans-unit id="4057c56d63a7e9b140b1d01871a9229a5f30eb27" datatype="html">\n        <source>Edit pool mirror mode</source>\n        <target>编辑存储池镜像模式</target>\n      </trans-unit>\n      <trans-unit id="e1f367f5feaab38f6637dd1f967c848b447dea2d" datatype="html">\n        <source>To edit the mirror mode for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>, select a new mode from the list and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>To edit the mirror mode for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>, select a new mode from the list and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="32ca348ef926b0a6a7a780b8b64c3a8239895cec" datatype="html">\n        <source>Peer clusters must be removed prior to disabling mirror.</source>\n        <target>在禁用镜像功能前必须先移除同伴集群。</target>\n      </trans-unit>\n      <trans-unit id="fa61522d482349707fd7dd03b90dc5781611b17f" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/>\n  pool mirror peer\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/>\n  pool mirror peer\n        </target>\n      </trans-unit>\n      <trans-unit id="4ddcb416c1c0aa1f54acf5beef1de81813e76fa6" datatype="html">\n        <source>{VAR_SELECT, select, edit {Edit} other {Add} }</source>\n        <target>{VAR_SELECT, select, edit {编辑} other {添加} }</target>\n      </trans-unit>\n      <trans-unit id="59ca65ece457429d90104ede4674965f62edbabe" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/> the pool\n          mirror peer attributes for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> and click\n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Submit\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/> the pool\n          mirror peer attributes for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> and click\n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Submit\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="d3cc964811f852a168f4a2d5daa59068abc5cf53" datatype="html">\n        <source>Cluster Name</source>\n        <target>集群名称</target>\n      </trans-unit>\n      <trans-unit id="b631721fc56cb7fb1cbd07b802a487c5753f6a2d" datatype="html">\n        <source>The cluster name is not valid.</source>\n        <target>集群名称无效。</target>\n      </trans-unit>\n      <trans-unit id="ca6deafa31bf421f85094807982aee4bcb20a3ae" datatype="html">\n        <source>CephX ID</source>\n        <target>CephX ID</target>\n      </trans-unit>\n      <trans-unit id="7539188a568c3d553cbde1bacaf32310c4264e24" datatype="html">\n        <source>CephX ID...</source>\n        <target>CephX ID...</target>\n      </trans-unit>\n      <trans-unit id="a1c45b594b0fba22fc64e80c793a7ffe005fdb0e" datatype="html">\n        <source>The CephX ID is not valid.</source>\n        <target>CephX ID 无效。</target>\n      </trans-unit>\n      <trans-unit id="20861576fcfce773c918c782cd4f5adf32382921" datatype="html">\n        <source>Monitor Addresses</source>\n        <target>Monitor 地址</target>\n      </trans-unit>\n      <trans-unit id="fa28eeed2b4bd4ccbe6e9349a1c2b3cb1c5de70a" datatype="html">\n        <source>Comma-delimited addresses...</source>\n        <target>逗号分割的地址...</target>\n      </trans-unit>\n      <trans-unit id="dc016c82fd85848d5c1b2fd0e8469ee2027d9c16" datatype="html">\n        <source>The monitory address is not valid.</source>\n        <target>Monitor 地址无效。</target>\n      </trans-unit>\n      <trans-unit id="e0ac55b83dc6739e62bc655cfe375b67c93e7f4a" datatype="html">\n        <source>CephX Key</source>\n        <target>CephX 密钥</target>\n      </trans-unit>\n      <trans-unit id="f53434bcb95bd86f1df9c8e22966f757614fc4ad" datatype="html">\n        <source>Base64-encoded key...</source>\n        <target>Base64 编码的密钥...</target>\n      </trans-unit>\n      <trans-unit id="4cd83164cd4f66b4abc2863f9ce6f599d789e4ca" datatype="html">\n        <source>CephX key must be base64 encoded.</source>\n        <target>CephX 密钥必须是 base64 编码的。</target>\n      </trans-unit>\n      <trans-unit id="ca53d681a9892d6fdbb57ee9676582186515e961" datatype="html">\n        <source>Performance counters not available</source>\n        <target>无法读取性能计数器</target>\n      </trans-unit>\n      <trans-unit id="9424badb7e0c6ac792d020d7830645b529a80aad" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the Object Gateway management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the Object Gateway management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="479488ab6e91ecb375484edc78bee3d13467f33f" datatype="html">\n        <source>Daemons List</source>\n        <target>守护进程列表</target>\n      </trans-unit>\n      <trans-unit id="eeba399c4dae8d4890c27b7a2cd2dc28fcf8b5f9" datatype="html">\n        <source>Performance Counters</source>\n        <target>性能计数器</target>\n      </trans-unit>\n      <trans-unit id="5f67f2247b9c6bbaf24a0f2d37f4ac0537c6fa53" datatype="html">\n        <source>Loading bucket data...</source>\n        <target>正在加载存储桶数据…</target>\n      </trans-unit>\n      <trans-unit id="2798cc1e152b1ec07fd8daf94a2a073d1ba1ebcc" datatype="html">\n        <source>Id</source>\n        <target>ID</target>\n      </trans-unit>\n      <trans-unit id="db4e1a734518691b128ef40b939cc673f01d03a6" datatype="html">\n        <source>The value is not valid.</source>\n        <target>输入值无效。</target>\n      </trans-unit>\n      <trans-unit id="eabb4db920d9f9b2480cf438468b86e1bea02a9b" datatype="html">\n        <source>The chosen name is already in use.</source>\n        <target>所选名称已经被使用。</target>\n      </trans-unit>\n      <trans-unit id="0ee5132a8da30e0b7f9f5c70dbc91928d17dd909" datatype="html">\n        <source>Owner</source>\n        <target>所有者</target>\n      </trans-unit>\n      <trans-unit id="8e4c918357c7445fbf19a203e5f0f0ece1960b3b" datatype="html">\n        <source>-- Select a user --</source>\n        <target>-- 请选择一个用户 --</target>\n      </trans-unit>\n      <trans-unit id="a4aab1f837bc8ec222e4f25922465d1c5929a1fc" datatype="html">\n        <source>Placement target</source>\n        <target>Placement target</target>\n      </trans-unit>\n      <trans-unit id="6bae0a7fc2c9c1fde7d937a8a1a3c7e6825cf7d1" datatype="html">\n        <source>-- Select a placement target --</source>\n        <target>-- Select a placement target --</target>\n      </trans-unit>\n      <trans-unit id="efeade5060b3add63863c24871f0830fb16b7e6d" datatype="html">\n        <source>Versioning</source>\n        <target>Versioning</target>\n      </trans-unit>\n      <trans-unit id="f50a33d3c339f8f4a465141f8caa5d2d8c005251" datatype="html">\n        <source>Enabled</source>\n        <target>开启</target>\n      </trans-unit>\n      <trans-unit id="016d24e069e7d505a090fb8243e5cd43b35dc39b" datatype="html">\n        <source>Enables versioning for the objects in the bucket.</source>\n        <target>Enables versioning for the objects in the bucket.</target>\n      </trans-unit>\n      <trans-unit id="92f3f203270a29b3001871153f02c063484a1574" datatype="html">\n        <source>Suspended</source>\n        <target>冻结</target>\n      </trans-unit>\n      <trans-unit id="cd6a798fd0f85cd7e31a57c58074f25035d7850d" datatype="html">\n        <source>Disables versioning for the objects in the bucket.</source>\n        <target>Disables versioning for the objects in the bucket.</target>\n      </trans-unit>\n      <trans-unit id="45cc8ca94b5a50842a9a8ef804a5ab089a38ae5c" datatype="html">\n        <source>ID</source>\n        <target>ID</target>\n      </trans-unit>\n      <trans-unit id="e5c51963a9c553b29427ef783bbb69fa6634fa8c" datatype="html">\n        <source>Index type</source>\n        <target>索引类型</target>\n      </trans-unit>\n      <trans-unit id="8e6f950a32eaea32ec7e192f9ca3d3dfe469d4ba" datatype="html">\n        <source>Placement rule</source>\n        <target>归置规则</target>\n      </trans-unit>\n      <trans-unit id="6972d213e31c4ea4f887e60db99d9881bc8fcd3e" datatype="html">\n        <source>Marker</source>\n        <target>标识</target>\n      </trans-unit>\n      <trans-unit id="47b02acd2d3254d1ace1926f840523f154ebef71" datatype="html">\n        <source>Maximum marker</source>\n        <target>max marker</target>\n      </trans-unit>\n      <trans-unit id="8fe73a4787b8068b2ba61f54ab7e0f9af2ea1fc9" datatype="html">\n        <source>Version</source>\n        <target>版本</target>\n      </trans-unit>\n      <trans-unit id="092fa3a7df9168b14d3f83a77a4035e92b92ce15" datatype="html">\n        <source>Master version</source>\n        <target>主版本</target>\n      </trans-unit>\n      <trans-unit id="97434cc5001d407f90c7447a12d9e8e6848a2aa3" datatype="html">\n        <source>Modification time</source>\n        <target>修改时间</target>\n      </trans-unit>\n      <trans-unit id="90fe2e41e7fde38453ce4e619efeea9bc6adea9c" datatype="html">\n        <source>Zonegroup</source>\n        <target>zonegroup</target>\n      </trans-unit>\n      <trans-unit id="649a410bd0ace333d067d8fa22f12bdbdb43533b" datatype="html">\n        <source>Bucket quota</source>\n        <target>存储桶配额</target>\n      </trans-unit>\n      <trans-unit id="cef1595d040e77cbb4466e60382028d4c2040cac" datatype="html">\n        <source>Maximum size</source>\n        <target>最大数目</target>\n      </trans-unit>\n      <trans-unit id="aa6fb95c355f172bda303de1ce2f38c251a149cf" datatype="html">\n        <source>Unlimited</source>\n        <target>无限制</target>\n      </trans-unit>\n      <trans-unit id="ee862a800364b4d11f9b8cb9955a28a60f840a45" datatype="html">\n        <source>Maximum objects</source>\n        <target>最大对象数目</target>\n      </trans-unit>\n      <trans-unit id="08c74dc9762957593b91f6eb5d65efdfc975bf48" datatype="html">\n        <source>Username</source>\n        <target>用户名</target>\n      </trans-unit>\n      <trans-unit id="49c614babd1950adb2be75df4e2c9747286d6adc" datatype="html">\n        <source>-- Select a username --</source>\n        <target>-- 请选择用户名 --</target>\n      </trans-unit>\n      <trans-unit id="c217ee914725a37e9dd2336c721c8e63e9666bdc" datatype="html">\n        <source>Auto-generate key</source>\n        <target>自动生成密钥</target>\n      </trans-unit>\n      <trans-unit id="2f1c1c0f2bce4c9f92d1a2061e8161cb0006c31a" datatype="html">\n        <source>Access key</source>\n        <target>访问密钥</target>\n      </trans-unit>\n      <trans-unit id="b864acb67296a9819c1db0069c4c47d8b5ce8f44" datatype="html">\n        <source>Secret key</source>\n        <target>秘密密钥</target>\n      </trans-unit>\n      <trans-unit id="b760f123248930122fc7e7b6b6bf94e376e959c8" datatype="html">\n        <source>Full name</source>\n        <target>全名</target>\n      </trans-unit>\n      <trans-unit id="69b6ac577a19acc39fc0c22342092f327fff2529" datatype="html">\n        <source>Email address</source>\n        <target>邮箱</target>\n      </trans-unit>\n      <trans-unit id="8011e20c5bbe51602d459a860fbf29b599b55edd" datatype="html">\n        <source>System</source>\n        <target>系统</target>\n      </trans-unit>\n      <trans-unit id="db18a2772988415466a7f75dc42663ce78c9c1d3" datatype="html">\n        <source>Maximum buckets</source>\n        <target>最大存储桶数目</target>\n      </trans-unit>\n      <trans-unit id="2c4c62e8ba24601be5cfe7dc5d32c24bbbd4b53c" datatype="html">\n        <source>Subusers</source>\n        <target>子用户</target>\n      </trans-unit>\n      <trans-unit id="17bb3082e6fe5003203ef992a3714172334631a1" datatype="html">\n        <source>Capabilities</source>\n        <target>用户权限</target>\n      </trans-unit>\n      <trans-unit id="36ad38f9c1a1485e09b67778a28af84553290ffb" datatype="html">\n        <source>User quota</source>\n        <target>用户配额</target>\n      </trans-unit>\n      <trans-unit id="2aba1e87039819aca3b70faa9aa848c12bf139ca" datatype="html">\n        <source>Show</source>\n        <target>显示</target>\n      </trans-unit>\n      <trans-unit id="0bcd5ef19af0f1b814141ca8c57df623d8270088" datatype="html">\n        <source>Keys</source>\n        <target>密钥</target>\n      </trans-unit>\n      <trans-unit id="f61c6867295f3b53d23557021f2f4e0aa1d0b8fc" datatype="html">\n        <source>Type</source>\n        <target>类型</target>\n      </trans-unit>\n      <trans-unit id="1221ca97d19eaa9a7bc0c5243d5fc5befe1d2314" datatype="html">\n        <source>-- Select a type --</source>\n        <target>-- 请选择一个类型 --</target>\n      </trans-unit>\n      <trans-unit id="d1b8990332af18f1c5159a6061ca889bcbb28432" datatype="html">\n        <source>Permission</source>\n        <target>权限</target>\n      </trans-unit>\n      <trans-unit id="a08c589f82f69d892307288da14190ae1dd583d5" datatype="html">\n        <source>-- Select a permission --</source>\n        <target>-- 请选择权限类型 --</target>\n      </trans-unit>\n      <trans-unit id="b2841767821d6b66238c34d07e413b0af67aee92" datatype="html">\n        <source>Subuser</source>\n        <target>子用户</target>\n      </trans-unit>\n      <trans-unit id="bd59fc25a7bd98cff3e75117c09697c8a007a514" datatype="html">\n        <source>The chosen subuser ID is already in use.</source>\n        <target>所选的子用户 ID 已被使用。</target>\n      </trans-unit>\n      <trans-unit id="3d386c357ebcbc04ed05c4babd5a03626f9b1674" datatype="html">\n        <source>read, write</source>\n        <target>读、写</target>\n      </trans-unit>\n      <trans-unit id="84e3e3f9a4f31a039b648c97debf95fcb20f4c4a" datatype="html">\n        <source>full</source>\n        <target>全部</target>\n      </trans-unit>\n      <trans-unit id="b6bf81d032a2316464f9df2f0d2f3d753f89f0d3" datatype="html">\n        <source>Swift key</source>\n        <target>Swift 密钥</target>\n      </trans-unit>\n      <trans-unit id="1e0c12685d50d47448ceed9423977ef39775c037" datatype="html">\n        <source>Auto-generate secret</source>\n        <target>自动生成密钥</target>\n      </trans-unit>\n      <trans-unit id="3d1c7a6004bd5d86a7fa096ae24209e8aa7a53e3" datatype="html">\n        <source>Loading user data...</source>\n        <target>正在加载用户数据…</target>\n      </trans-unit>\n      <trans-unit id="faa5d834ab28571423d794d32b57998920efb65f" datatype="html">\n        <source>The user data could not be loaded.</source>\n        <target>用户数据无法加载。 </target>\n      </trans-unit>\n      <trans-unit id="6aaf5d2a304167272ac73e3b1d1c162e16c77858" datatype="html">\n        <source>The chosen user ID is already in use.</source>\n        <target>所选的用户 ID 已被使用。</target>\n      </trans-unit>\n      <trans-unit id="df441e80db2157f9d272b75de724ba4a82b96b57" datatype="html">\n        <source>This is not a valid email address.</source>\n        <target>无效的邮箱地址。</target>\n      </trans-unit>\n      <trans-unit id="ca271adf154956b8fcb28f4f50a37acb3057ff7c" datatype="html">\n        <source>The chosen email address is already in use.</source>\n        <target>此邮箱地址已被使用。</target>\n      </trans-unit>\n      <trans-unit id="030197cebe938edf35422e92fe14183d06eb670b" datatype="html">\n        <source>Max. buckets</source>\n        <target>存储桶个数的上限</target>\n      </trans-unit>\n      <trans-unit id="623ac50f37a26caec6fd7cd519b653e3315cba25" datatype="html">\n        <source>The entered value must be &gt;= 0.</source>\n        <target>设置的值必须 &gt;= 0。</target>\n      </trans-unit>\n      <trans-unit id="583a219c524155c2314eb06ee29162bb315272a3" datatype="html">\n        <source>S3 key</source>\n        <target>S3 密钥</target>\n      </trans-unit>\n      <trans-unit id="128d6efb51d9ddc7c0cc695a2deeca5b9523f6e4" datatype="html">\n        <source>There are no subusers.</source>\n        <target>没有子用户。</target>\n      </trans-unit>\n      <trans-unit id="7fd6dfb8ecb982dbc3affb2c2d5414c4f5b6abd2" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ subuserLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ subuserLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="67c746c1ba9dab4351fedc4c7cba4e6d6b0dbc47" datatype="html">\n        <source>S3</source>\n        <target>S3</target>\n      </trans-unit>\n      <trans-unit id="d6819038d608623503918fb2553f53d68231ec3a" datatype="html">\n        <source>There are no keys.</source>\n        <target>没有任何密钥。</target>\n      </trans-unit>\n      <trans-unit id="fc1c1a7140ff6b815a95b65ee2780fdbe1b2b7a1" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ s3keyLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ s3keyLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6ddb5e991a3ecd2659fb520bc5acc81b67e08ddd" datatype="html">\n        <source>Swift</source>\n        <target>Swift</target>\n      </trans-unit>\n      <trans-unit id="1d01eccdda47fc907c5be35bcb16d2dcd02b0270" datatype="html">\n        <source>There are no capabilities.</source>\n        <target>权限为空。</target>\n      </trans-unit>\n      <trans-unit id="043e2ec0036ceadd926fd5e3f93cd6f3565f3648" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.ADD | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.ADD | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6146e13ceca5fa5cc17b771b282fe5955f3d19fa" datatype="html">\n        <source>Unlimited size</source>\n        <target>空间无限制</target>\n      </trans-unit>\n      <trans-unit id="f6db8aa7c99fdce18edb33dde57729acede2b308" datatype="html">\n        <source>Max. size</source>\n        <target>空间上限</target>\n      </trans-unit>\n      <trans-unit id="fc630b2093e880fffa19df99d5cd8b87605037f8" datatype="html">\n        <source>Unlimited objects</source>\n        <target>对象个数无限制</target>\n      </trans-unit>\n      <trans-unit id="6cda5a993d06f0bb10048be9d3aba6555aa9f356" datatype="html">\n        <source>Max. objects</source>\n        <target>对象个数上限</target>\n      </trans-unit>\n      <trans-unit id="1ea5c4d8942c00752dcc72e72949c5d9832f6399" datatype="html">\n        <source>Description...</source>\n        <target>描述…</target>\n      </trans-unit>\n      <trans-unit id="70f45880fce6ac5d8e468e25e82aefbba8098cfe" datatype="html">\n        <source>Permissions</source>\n        <target>权限</target>\n      </trans-unit>\n      <trans-unit id="9610487cbeb5796d34d8601b5ac0c0a65f9e1d19" datatype="html">\n        <source>Roles</source>\n        <target>角色</target>\n      </trans-unit>\n      <trans-unit id="7f3bdcce4b2e8c37cd7f0f6c92ef8cff34b039b8" datatype="html">\n        <source>Confirm password</source>\n        <target>确认密码</target>\n      </trans-unit>\n      <trans-unit id="cbb979e63ba50e0ca3adfa09cbdcaefd0853fca1" datatype="html">\n        <source>Password confirmation doesn\'t match the password.</source>\n        <target>密码和之前的输入不匹配。</target>\n      </trans-unit>\n      <trans-unit id="244aae9346da82b0922506c2d2581373a15641cc" datatype="html">\n        <source>Email</source>\n        <target>邮箱</target>\n      </trans-unit>\n      <trans-unit id="d0ec081dd61eb4f43aea269077bbe38eae87b7f9" datatype="html">\n        <source>Invalid email.</source>\n        <target>邮箱地址无效。</target>\n      </trans-unit>\n      <trans-unit id="0051a3479d3ba79135c16dc8cc017950a2cce821" datatype="html">\n        <source>You are about to remove "user read / update" permissions from your own user.</source>\n        <target>您即将取消您自己用户的 "user read / update" 权限。</target>\n      </trans-unit>\n      <trans-unit id="af4bf9fcb256853f14cf947eb1deb8d7f176d3f9" datatype="html">\n        <source>If you continue, you will no longer be able to add or remove roles from any user.</source>\n        <target>如果您继续的话,您以后就没办法为其他用户添加或者删除角色了。</target>\n      </trans-unit>\n      <trans-unit id="7d1dcf2a9146caac0581329acf94806ec69a89a5" datatype="html">\n        <source>Are you sure you want to continue?</source>\n        <target>您确实要继续吗?</target>\n      </trans-unit>\n      <trans-unit id="85b79c9064aed1ead31ace985f31aa1363f6bdaf" datatype="html">\n        <source>Help</source>\n        <target>帮助</target>\n      </trans-unit>\n      <trans-unit id="fcfd4675b4c90f08d18d3abede9a9a4dff4cfdc7" datatype="html">\n        <source>Documentation</source>\n        <target>文档</target>\n      </trans-unit>\n      <trans-unit id="e351b40b3869a5c7d19c3d4918cb1ac7aaab95c4" datatype="html">\n        <source>API</source>\n        <target>API</target>\n      </trans-unit>\n      <trans-unit id="004b222ff9ef9dd4771b777950ca1d0e4cd4348a" datatype="html">\n        <source>About</source>\n        <target>关于</target>\n      </trans-unit>\n      <trans-unit id="1481ecd21e760ac919a24e26cf790acd82e40199" datatype="html">\n        <source>Dashboard Settings</source>\n        <target>仪表盘设置</target>\n      </trans-unit>\n      <trans-unit id="a79aab4ef674bf3f6532292107c0054302236e0f" datatype="html">\n        <source>User management</source>\n        <target>用户管理</target>\n      </trans-unit>\n      <trans-unit id="049dfd9fe6c78914ad58cf89ac6a631fca28ec74" datatype="html">\n        <source>Logged in user</source>\n        <target>登录的用户</target>\n      </trans-unit>\n      <trans-unit id="cd38a58e73f306d838e621959d47d5e7a2f06d1f" datatype="html">\n        <source>Signed in as\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ username }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>\n        </source>\n        <target>Signed in as\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ username }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="739516c2ca75843d5aec9cf0e6b3e4335c4227b9" datatype="html">\n        <source>Change password</source>\n        <target>Change password</target>\n      </trans-unit>\n      <trans-unit id="5d22c795daf43877a5f708dca2bccd549eb0471d" datatype="html">\n        <source>Sign out</source>\n        <target>登出</target>\n      </trans-unit>\n      <trans-unit id="91853167141c37b58868f3b0421383dd72fa8a01" datatype="html">\n        <source>Attributes (OSD map)</source>\n        <target>OSD map</target>\n      </trans-unit>\n      <trans-unit id="97842f379e1d4157ac3ab0661b90c352e7cb72d5" datatype="html">\n        <source>Metadata not available</source>\n        <target>元数据不可用</target>\n      </trans-unit>\n      <trans-unit id="f721a500a68c357e8f2a01e60510f6a01e4ba529" datatype="html">\n        <source>Metadata</source>\n        <target>相关元数据</target>\n      </trans-unit>\n      <trans-unit id="deba10b7279a589d01e919ea11f43c79ca1773e3" datatype="html">\n        <source>Device health</source>\n        <target>Device health</target>\n      </trans-unit>\n      <trans-unit id="d24e28e19c5703d7c6be44f4eb595a6a43b618ed" datatype="html">\n        <source>Performance counter</source>\n        <target>性能计数器</target>\n      </trans-unit>\n      <trans-unit id="d1f7c81ed9c5034af4abcdf119b1c1e86cd019dd" datatype="html">\n        <source>Histogram not available: \n          <x id="INTERPOLATION" equiv-text="{{ osd.histogram_failed }}"/>\n        </source>\n        <target>Histogram not available: \n          <x id="INTERPOLATION" equiv-text="{{ osd.histogram_failed }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="868abfff914873d1c65df798d8432ed04b8ae2a9" datatype="html">\n        <source>Writes</source>\n        <target>写入请求</target>\n      </trans-unit>\n      <trans-unit id="996ebb9a653b5067f97bf3891ea9d2108e969492" datatype="html">\n        <source>Reads</source>\n        <target>读取请求</target>\n      </trans-unit>\n      <trans-unit id="65ac79790aa477a97b1cc579e18a115a8df8918f" datatype="html">\n        <source>Histogram</source>\n        <target>直方图</target>\n      </trans-unit>\n      <trans-unit id="26fb5f81b3581f06b9210defb0e71dc69a67e819" datatype="html">\n        <source>Current values</source>\n        <target>当前值</target>\n      </trans-unit>\n      <trans-unit id="9abcd7c82643d60c22733470463f74e4a54bc069" datatype="html">\n        <source>Min</source>\n        <target>下限</target>\n      </trans-unit>\n      <trans-unit id="c3ced4d162a0a55ee233a187ce7208ba5e922418" datatype="html">\n        <source>Max</source>\n        <target>上限</target>\n      </trans-unit>\n      <trans-unit id="6834fa6b43d1ecbdf147c48dd9c4d72f1484571d" datatype="html">\n        <source>Source</source>\n        <target>来源</target>\n      </trans-unit>\n      <trans-unit id="a446fb0eb11fbffcac805ece5a2d306d24e733d8" datatype="html">\n        <source>Level</source>\n        <target>级别</target>\n      </trans-unit>\n      <trans-unit id="39f2fb094e9b2eda13163fa3f3a31594cf9c1307" datatype="html">\n        <source>Can be updated at runtime (editable)</source>\n        <target>可在运行时更新(可编辑)</target>\n      </trans-unit>\n      <trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b" datatype="html">\n        <source>Tags</source>\n        <target>标记</target>\n      </trans-unit>\n      <trans-unit id="ab0089ef47af61ca1d137bc908b96c290dfd9287" datatype="html">\n        <source>Enum values</source>\n        <target>可选项</target>\n      </trans-unit>\n      <trans-unit id="819476f1264f1659f38e86f6abb542141b184832" datatype="html">\n        <source>See also</source>\n        <target>参见</target>\n      </trans-unit>\n      <trans-unit id="d82a9af5b05e7cd17640f196f163771685ff8df6" datatype="html">\n        <source>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</source>\n        <target>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</target>\n      </trans-unit>\n      <trans-unit id="a185c9b97513b3882604ea9bab60edbfac945c15" datatype="html">\n        <source>SMART overall-health self-assessment test result</source>\n        <target>SMART overall-health self-assessment test result</target>\n      </trans-unit>\n      <trans-unit id="ddd5dd6d930030096ea617f62c82b648a0dd9484" datatype="html">\n        <source>Device Information</source>\n        <target>Device Information</target>\n      </trans-unit>\n      <trans-unit id="79c6bf990ea5b4d83bbf8f9e399f4bd933a1ebfc" datatype="html">\n        <source>S.M.A.R.T</source>\n        <target>S.M.A.R.T</target>\n      </trans-unit>\n      <trans-unit id="05c17e08939cbef1a5df5386263b1701e8d5742e" datatype="html">\n        <source>S.M.A.R.T data is loading.</source>\n        <target>S.M.A.R.T data is loading.</target>\n      </trans-unit>\n      <trans-unit id="73caac4265ea7314ff061e5a1d78a6361a6dd3b8" datatype="html">\n        <source>Cluster Status</source>\n        <target>集群状态</target>\n      </trans-unit>\n      <trans-unit id="1d4bc612bbf19aa9553853266b9e92c9d75f4464" datatype="html">\n        <source>Manager Daemons</source>\n        <target>manager 守护进程</target>\n      </trans-unit>\n      <trans-unit id="946ac5dea9921dc09d7b0a63b89535371f283b19" datatype="html">\n        <source>Object Gateways</source>\n        <target>对象网关</target>\n      </trans-unit>\n      <trans-unit id="ff03fa5bcf37c4da46ad736c1f7d03f959e8ba9a" datatype="html">\n        <source>Metadata Servers</source>\n        <target>metadata 服务器</target>\n      </trans-unit>\n      <trans-unit id="d817609ba4993eba859409ab71e566168f4d5f5a" datatype="html">\n        <source>iSCSI Gateways</source>\n        <target>iSCSI 网关</target>\n      </trans-unit>\n      <trans-unit id="42c13e50391250ea9379bdf55d5d6c0228c0c8bc" datatype="html">\n        <source>Client IOPS</source>\n        <target>客户端 IOPS</target>\n      </trans-unit>\n      <trans-unit id="52213660b2454d139ada3079a42ec6caf3c3c01e" datatype="html">\n        <source>Client Throughput</source>\n        <target>客户端吞吐量</target>\n      </trans-unit>\n      <trans-unit id="32efd1c3f70e3c5244239de97a2cc95d98534a14" datatype="html">\n        <source>Client Read/Write</source>\n        <target>客户端读/写</target>\n      </trans-unit>\n      <trans-unit id="275485415092cbae3a9f3cbb786ebe283cacfdd5" datatype="html">\n        <source>Recovery Throughput</source>\n        <target>恢复吞吐量</target>\n      </trans-unit>\n      <trans-unit id="6d9a9f55046891733ef71170e7652063765eb542" datatype="html">\n        <source>Scrub</source>\n        <target>洗刷</target>\n      </trans-unit>\n      <trans-unit id="3cc9c2ae277393b3946b38c088dabff671b1ee1b" datatype="html">\n        <source>Performance</source>\n        <target>性能</target>\n      </trans-unit>\n      <trans-unit id="88f383269db2d32cccee9e936fe549dccb9fdbf4" datatype="html">\n        <source>Raw Capacity</source>\n        <target>基本容量</target>\n      </trans-unit>\n      <trans-unit id="c5f8a813f91a11af99132e4beafc136cfc13d73b" datatype="html">\n        <source>PGs per OSD</source>\n        <target>每个 OSD 的 PG 数</target>\n      </trans-unit>\n      <trans-unit id="498a109c6e9e94f1966de01aa0326f7f0ac6fb52" datatype="html">\n        <source>PG Status</source>\n        <target>PG 状态</target>\n      </trans-unit>\n      <trans-unit id="ce9dfdc6dccb28dc75a78c704e09dc18fb02dcfa" datatype="html">\n        <source>Capacity</source>\n        <target>容量</target>\n      </trans-unit>\n      <trans-unit id="44ecac93d67c6a671198091c2270354f80322327" datatype="html">\n        <source>\n          <x id="START_ITALIC_TEXT" ctype="x-i" equiv-text="<i>"/>\n          <x id="CLOSE_ITALIC_TEXT" ctype="x-i" equiv-text="</i>"/> See \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Logs\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more details.\n        </source>\n        <target>\n          <x id="START_ITALIC_TEXT" ctype="x-i" equiv-text="<i>"/>\n          <x id="CLOSE_ITALIC_TEXT" ctype="x-i" equiv-text="</i>"/> See \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Logs\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more details.\n        </target>\n      </trans-unit>\n      <trans-unit id="0c1e17956453ad772dbe82d6946f62748c692f3e" datatype="html">\n        <source>Ranks</source>\n        <target>排位</target>\n      </trans-unit>\n      <trans-unit id="2b24e0b0b1629d2e8a51b9da7c75d6e6379f4bc4" datatype="html">\n        <source>Standbys</source>\n        <target>Standbys</target>\n      </trans-unit>\n      <trans-unit id="50df62325726db950523a5be1c78b8905fcc25d4" datatype="html">\n        <source>MDS performance counters</source>\n        <target>MDS performance counters</target>\n      </trans-unit>\n      <trans-unit id="a7b6508fb834bee9e48e11e4503fbbc2d19204de" datatype="html">\n        <source>Clients: \n          <x id="INTERPOLATION" equiv-text="{{ clients.data.length }}"/>\n        </source>\n        <target>Clients: \n          <x id="INTERPOLATION" equiv-text="{{ clients.data.length }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6e213942c6354b9cbe7a650f0f1499bfc1000fb6" datatype="html">\n        <source>Directories</source>\n        <target>Directories</target>\n      </trans-unit>\n      <trans-unit id="47116253e36f4e38a97ba41b2d3122c6c15ab904" datatype="html">\n        <source>Clients (\n          <x id="INTERPOLATION" equiv-text="{{ clients.length }}"/>)\n        </source>\n        <target>Clients (\n          <x id="INTERPOLATION" equiv-text="{{ clients.length }}"/>)\n        </target>\n      </trans-unit>\n      <trans-unit id="bd5a3b1c5a3c185c7bbb0e09a061d4cdc88ce5ad" datatype="html">\n        <source>Current</source>\n        <target>当前</target>\n      </trans-unit>\n      <trans-unit id="e5e7d62e942083a59b0b31f54e17cd7958186052" datatype="html">\n        <source>Updated discovery authentication</source>\n        <target>已更新发现身份验证</target>\n      </trans-unit>\n      <trans-unit id="dd4ab758afd5fd5a6c6a25b2b30ff99d0c00e9ad" datatype="html">\n        <source>There are no portals available.</source>\n        <target>无可用端口。</target>\n      </trans-unit>\n      <trans-unit id="83021e45778a4a230a14ca0c6d6ccdf05500ad93" datatype="html">\n        <source>There are no images available.</source>\n        <target>无可用映像。</target>\n      </trans-unit>\n      <trans-unit id="86684eb21f8a768e1dbc659e3d5da6861db544a0" datatype="html">\n        <source>There are no images available. Please make sure you add an image to the target.</source>\n        <target>无可用映像。请确保为目标添加一个映像。</target>\n      </trans-unit>\n      <trans-unit id="fffda6e440078f57eba93944ce051c593cc6ed7f" datatype="html">\n        <source>There are no initiators available. Please make sure you add an initiator to the target.</source>\n        <target>无可用授权人。请确保为目标添加一个授权人。</target>\n      </trans-unit>\n      <trans-unit id="cea3c6fe490385eef1584cbc4983fda7ece24bb6" datatype="html">\n        <source>target</source>\n        <target>target</target>\n      </trans-unit>\n      <trans-unit id="38baeb215c17af9d9e295e371a57f4a48ab4c191" datatype="html">\n        <source>Target</source>\n        <target>目标</target>\n      </trans-unit>\n      <trans-unit id="99e094878070eebc1b972bac02aaa33b2bf83b35" datatype="html">\n        <source># Sessions</source>\n        <target># Sessions</target>\n      </trans-unit>\n      <trans-unit id="c49e0dd71d551bd4928d967d78f0721dbf9f95e3" datatype="html">\n        <source>Target has active sessions</source>\n        <target>Target has active sessions</target>\n      </trans-unit>\n      <trans-unit id="a87acd72dfb68b45175270695209550a85adf50c" datatype="html">\n        <source>iSCSI target</source>\n        <target>iSCSI target</target>\n      </trans-unit>\n      <trans-unit id="873b72903b1858a9cd6c8967521030b4d7d1435b" datatype="html">\n        <source>State</source>\n        <target>状态</target>\n      </trans-unit>\n      <trans-unit id="02b75464c0dc0cf49ea0208211b6fbcad3bf728a" datatype="html">\n        <source># Targets</source>\n        <target># Targets</target>\n      </trans-unit>\n      <trans-unit id="13415637c325ceefee29111b31cb48701490adf7" datatype="html">\n        <source>Read Bytes</source>\n        <target>读字节数</target>\n      </trans-unit>\n      <trans-unit id="e2ed82b7bbf4a006e60e6208c597b05d5b5556e9" datatype="html">\n        <source>Write Bytes</source>\n        <target>写字节数</target>\n      </trans-unit>\n      <trans-unit id="6a32a5f58845ca840185ea9564682094e77a1d80" datatype="html">\n        <source>Read Ops</source>\n        <target>读请求数</target>\n      </trans-unit>\n      <trans-unit id="7c36cb8032af123d3550ffab2e1fa1e957c87fae" datatype="html">\n        <source>Write Ops</source>\n        <target>写请求数</target>\n      </trans-unit>\n      <trans-unit id="458c33846a8c7e2feb9404bcf06723784e756cdc" datatype="html">\n        <source>A/O Since</source>\n        <target>活动/优化自</target>\n      </trans-unit>\n      <trans-unit id="ff78f059449d44322f627d0f66df07abe476962b" datatype="html">\n        <source>Instance</source>\n        <target>实例</target>\n      </trans-unit>\n      <trans-unit id="36fad7995cadfb3a6f0d43ef2db280146b3ca022" datatype="html">\n        <source>Issue</source>\n        <target>问题</target>\n      </trans-unit>\n      <trans-unit id="15793f4cbc261bedbc60f7105533dde536a3f42b" datatype="html">\n        <source>Progress</source>\n        <target>进度</target>\n      </trans-unit>\n      <trans-unit id="f39256070bfc0714020dfee08895421fc1527014" datatype="html">\n        <source>Disabled</source>\n        <target>禁用</target>\n      </trans-unit>\n      <trans-unit id="8c375764db42f5d736fb56d01b8052c006ccc8e2" datatype="html">\n        <source>Edit Mode</source>\n        <target>编辑模式</target>\n      </trans-unit>\n      <trans-unit id="45932f2a0ea524b3425f4320ee46a6d1c68977bc" datatype="html">\n        <source>Add Peer</source>\n        <target>添加 peer</target>\n      </trans-unit>\n      <trans-unit id="d3dc34662e3cda0dad646221651cebd26f731485" datatype="html">\n        <source>Edit Peer</source>\n        <target>编辑 peer</target>\n      </trans-unit>\n      <trans-unit id="e8a0ec0b6ee72db0f27c186e09640d1ed41964bd" datatype="html">\n        <source>Delete Peer</source>\n        <target>删除 peer</target>\n      </trans-unit>\n      <trans-unit id="314de06d6f64d39149e78e6d796585c0246fec0b" datatype="html">\n        <source>Leader</source>\n        <target>Leader</target>\n      </trans-unit>\n      <trans-unit id="7acaab450312114059ced9e3737798ee9aa738b1" datatype="html">\n        <source># Local</source>\n        <target># 本地</target>\n      </trans-unit>\n      <trans-unit id="7a3ffd88868135c44be3994263bb8e49d8358884" datatype="html">\n        <source># Remote</source>\n        <target># 远程</target>\n      </trans-unit>\n      <trans-unit id="85ca0fd6a6ddd211023c70a25753122c5b978787" datatype="html">\n        <source>mirror peer</source>\n        <target>镜像 peer</target>\n      </trans-unit>\n      <trans-unit id="a6493c6ca346cd052da40423eda9c132de2b2002" datatype="html">\n        <source>Key</source>\n        <target>密钥</target>\n      </trans-unit>\n      <trans-unit id="e9cac80fb5d9de66f0006d0bec530fd1fc69a674" datatype="html">\n        <source>RBD</source>\n        <target>RBD</target>\n      </trans-unit>\n      <trans-unit id="4130b1a836f2000cfe9a11fb62493dc42d444de7" datatype="html">\n        <source>Deep flatten</source>\n        <target>完全展开</target>\n      </trans-unit>\n      <trans-unit id="7b17694d7cb8ecb7c8440bc999dac21b44455b33" datatype="html">\n        <source>Layering</source>\n        <target>分层</target>\n      </trans-unit>\n      <trans-unit id="6a072ce577c2079d0e0c31071a16824f6d22b84d" datatype="html">\n        <source>Exclusive lock</source>\n        <target>互斥锁</target>\n      </trans-unit>\n      <trans-unit id="7354f01320bf936a7f85577c9f71402635c3a362" datatype="html">\n        <source>Object map (requires exclusive-lock)</source>\n        <target>object map(要求互斥锁支持)</target>\n      </trans-unit>\n      <trans-unit id="fb7e625c1152f1c102cd16460955d124edff1770" datatype="html">\n        <source>Journaling (requires exclusive-lock)</source>\n        <target>日志(要求互斥锁支持)</target>\n      </trans-unit>\n      <trans-unit id="df4044632bfc211dd96544fc8f007dabbeeb506c" datatype="html">\n        <source>Fast diff (interlocked with object-map)</source>\n        <target>Fast diff (interlocked with object-map)</target>\n      </trans-unit>\n      <trans-unit id="631fc50ec7c9bd81dc797a3c7e09eda1178ad999" datatype="html">\n        <source>Parent image must support Layering</source>\n        <target>Parent image must support Layering</target>\n      </trans-unit>\n      <trans-unit id="7eb984588f4835f6d0187b33769b4b0f62821640" datatype="html">\n        <source>RBD snapshot rollback</source>\n        <target>RBD 快照回滚</target>\n      </trans-unit>\n      <trans-unit id="4be22bf20ef82614ed53bcd3b912a85590aa71c9" datatype="html">\n        <source>Rollback</source>\n        <target>回滚</target>\n      </trans-unit>\n      <trans-unit id="2a04c483708d261751d62082d6f03a50d4577b1e" datatype="html">\n        <source>RBD snapshot</source>\n        <target>RBD 快照</target>\n      </trans-unit>\n      <trans-unit id="fa96769d1ea86741297cb9b9769b0dcfde58c8b4" datatype="html">\n        <source>Deleted At</source>\n        <target>定点删除</target>\n      </trans-unit>\n      <trans-unit id="e928864038ca70ee7d67bbf1fd71a01c3938a127" datatype="html">\n        <source>id</source>\n        <target>ID</target>\n      </trans-unit>\n      <trans-unit id="240c9c1e96dc38814922a83ad041dc815b084f32" datatype="html">\n        <source>type</source>\n        <target>类型</target>\n      </trans-unit>\n      <trans-unit id="c9d7ec7ee5b4e282f2228fa996651ec4ef5195a9" datatype="html">\n        <source>state</source>\n        <target>状态</target>\n      </trans-unit>\n      <trans-unit id="5780e5c3b4fc2ae07836bb5221cec4f8d597630d" datatype="html">\n        <source>version</source>\n        <target>版本</target>\n      </trans-unit>\n      <trans-unit id="fe22ca53e651df951dac25b67c17894b0980f767" datatype="html">\n        <source>Host</source>\n        <target>主机</target>\n      </trans-unit>\n      <trans-unit id="fb69299354312c8954ecf324997ccafcd9f6b14b" datatype="html">\n        <source>root</source>\n        <target>根</target>\n      </trans-unit>\n      <trans-unit id="d34feb369d308075b423d5c5fc431f9766bf7a11" datatype="html">\n        <source>Evicted client "\n          <x id="INTERPOLATION" equiv-text="{{clientId}}"/>"\n        </source>\n        <target>Evicted client "\n          <x id="INTERPOLATION" equiv-text="{{clientId}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="7db875ff4cc626d394f37fba95c075b2e4bfeb00" datatype="html">\n        <source>Standby daemons</source>\n        <target>备用服务</target>\n      </trans-unit>\n      <trans-unit id="3c3a423d91e36ac6624e909fcd2669a25685f847" datatype="html">\n        <source>Rank</source>\n        <target>排位</target>\n      </trans-unit>\n      <trans-unit id="9596ecae8956e96921acef47aec787f6bdc37454" datatype="html">\n        <source>Daemon</source>\n        <target>守护进程</target>\n      </trans-unit>\n      <trans-unit id="f2005fa461c06dc2e04d8918bbabedf23604b5b7" datatype="html">\n        <source>Activity</source>\n        <target>活跃度</target>\n      </trans-unit>\n      <trans-unit id="e3a986984ae0c3b43af648c3fa638649d1c00348" datatype="html">\n        <source>Dentries</source>\n        <target>dentries</target>\n      </trans-unit>\n      <trans-unit id="7c692ab865066967d73c6d64ec0691cc6ce91b93" datatype="html">\n        <source>Inodes</source>\n        <target>inodes</target>\n      </trans-unit>\n      <trans-unit id="45f210b96a2a6e91f52f153a4f8dc30662629f8e" datatype="html">\n        <source>Usage</source>\n        <target>使用率</target>\n      </trans-unit>\n      <trans-unit id="950b5f04a2efd3f11c0f76418d5a4212381e792e" datatype="html">\n        <source>Origin</source>\n        <target>Origin</target>\n      </trans-unit>\n      <trans-unit id="22e4e574b7f8abf58254f328792445b42e2a924a" datatype="html">\n        <source>The value can be updated at runtime.</source>\n        <target>该值可在运行时更新。</target>\n      </trans-unit>\n      <trans-unit id="d7770de7b2343c9deeaa7ebf37ba3e35ca5c5988" datatype="html">\n        <source>Daemons/clients do not pull this value from the\n      monitor config database. We disallow setting this option via \'ceph config\n      set ...\'. This option should be configured via ceph.conf or via the\n      command line.</source>\n        <target>服务器或客户端不会主动从 monitor 的配置数据库读取这个配置。\n 所以不能用“ceph config set ...”设置它。但是可以通过\n ceph.conf 或者用命令行进行配置。</target>\n      </trans-unit>\n      <trans-unit id="83f11fd1dc503c37931ea6c1c5c1e8c2b4b597b6" datatype="html">\n        <source>Option takes effect only during daemon startup.</source>\n        <target>该配置只有在服务启动的时候才会生效。</target>\n      </trans-unit>\n      <trans-unit id="837a07cd6a971038b8b1aa190c43440c9fdb5d8b" datatype="html">\n        <source>Option only affects cluster creation.</source>\n        <target>该配置只在创建集群的时候才会生效。</target>\n      </trans-unit>\n      <trans-unit id="2566a88eb247c918b71cfe5b354c31de0d4b01e5" datatype="html">\n        <source>Option only affects daemon creation.</source>\n        <target>该配置只在服务创建的时候才会生效。</target>\n      </trans-unit>\n      <trans-unit id="1cdc60cfc09c257625768f3d2082816cdef27279" datatype="html">\n        <source>Updated config option \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\n        </source>\n        <target>Updated config option \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="d473e0f684a60db45d6f31e993f693f74290e056" datatype="html">\n        <source>Service</source>\n        <target>服务</target>\n      </trans-unit>\n      <trans-unit id="9951bb3983c7dba6fde013e05c922e4fe1a44367" datatype="html">\n        <source>Current value</source>\n        <target>当前值</target>\n      </trans-unit>\n      <trans-unit id="4a01c175f90dd92b432f4a4a199d2c7bb9d997ff" datatype="html">\n        <source>Editable</source>\n        <target>可编辑</target>\n      </trans-unit>\n      <trans-unit id="261c0af854e8684abc15f89dce6efb3e72344b18" datatype="html">\n        <source>host</source>\n        <target>host</target>\n      </trans-unit>\n      <trans-unit id="9e35065e7c579e1fb960499117fd4b3c68d1c263" datatype="html">\n        <source>Host operation is disabled because orchestrator is unavailable</source>\n        <target>Host operation is disabled because orchestrator is unavailable</target>\n      </trans-unit>\n      <trans-unit id="a5d5e407f8c4e1b152509c966c90f37edf68472e" datatype="html">\n        <source>Device path</source>\n        <target>Device path</target>\n      </trans-unit>\n      <trans-unit id="94e76c060aa68c05d8c4a3f5a20c92fab3e83ccf" datatype="html">\n        <source>Rotates</source>\n        <target>Rotates</target>\n      </trans-unit>\n      <trans-unit id="b7da3e3505cc80f9bf3cffc8444c53e8a9ec70a5" datatype="html">\n        <source>Available</source>\n        <target>Available</target>\n      </trans-unit>\n      <trans-unit id="6ec98fa3d6504ba1fd03465194b53706c8263c99" datatype="html">\n        <source>Model</source>\n        <target>Model</target>\n      </trans-unit>\n      <trans-unit id="1a6e6ad05508130b7a99ce5b15daf3227c2a930c" datatype="html">\n        <source>Updated options for module "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>".\n        </source>\n        <target>Updated options for module "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="ac6c9212896d39b23811ed2dadab7d07336ec559" datatype="html">\n        <source>Enable</source>\n        <target>启用</target>\n      </trans-unit>\n      <trans-unit id="6766a926d80bb7763785621098dae459d6226429" datatype="html">\n        <source>Disable</source>\n        <target>禁用</target>\n      </trans-unit>\n      <trans-unit id="340f2f312c2eb353e5cd69aee6bee7f5a73c34ac" datatype="html">\n        <source>This Manager module is always on.</source>\n        <target>This Manager module is always on.</target>\n      </trans-unit>\n      <trans-unit id="6a0b3657745dd7a2f2162f1cc790bf9004d0845d" datatype="html">\n        <source>Reconnecting, please wait ...</source>\n        <target>正在重新连接,请稍候…</target>\n      </trans-unit>\n      <trans-unit id="7099a8878af7a0a26fe5663c4f46cfe87142b75d" datatype="html">\n        <source>Public Address</source>\n        <target>外部地址</target>\n      </trans-unit>\n      <trans-unit id="cbdd1cdc0c7a87f55dd177bc44212f0fc4b80852" datatype="html">\n        <source>Open Sessions</source>\n        <target>活动会话</target>\n      </trans-unit>\n      <trans-unit id="37e58d1cbdf8212b380efa51422e42821d4f08e6" datatype="html">\n        <source>No In</source>\n        <target>禁止加入</target>\n      </trans-unit>\n      <trans-unit id="12706eb5af17ff5ad77b3de21af368d24678e00b" datatype="html">\n        <source>OSDs that were previously marked out will not be marked back in when they start</source>\n        <target>之前被除名的 OSD 在启动之后,不会被加入集群</target>\n      </trans-unit>\n      <trans-unit id="96114d7624d11dc90ca46cfa96145fe22118df76" datatype="html">\n        <source>No Out</source>\n        <target>禁止除名</target>\n      </trans-unit>\n      <trans-unit id="a2ef636fe1ddd56b63e4aaf3d292f33dbf735ef3" datatype="html">\n        <source>OSDs will not automatically be marked out after the configured interval</source>\n        <target>在发现 OSD 没有响应之后一段时间,该 OSD 会被踢出集群。该标志会禁止这个功能。</target>\n      </trans-unit>\n      <trans-unit id="ee50aefa9b8bde1e5429b48709a23abfe08358e0" datatype="html">\n        <source>No Up</source>\n        <target>禁止启用</target>\n      </trans-unit>\n      <trans-unit id="608929b939307e397586a98cea52ae38997c7273" datatype="html">\n        <source>OSDs are not allowed to start</source>\n        <target>不允许 OSD 启动</target>\n      </trans-unit>\n      <trans-unit id="1751ab69c1e7f62927afedbf7116e0116316c551" datatype="html">\n        <source>No Down</source>\n        <target>禁止停用</target>\n      </trans-unit>\n      <trans-unit id="41fac86dfb65c1db690f3e87f6497cb73b281084" datatype="html">\n        <source>OSD failure reports are being ignored, such that the monitors will not mark OSDs down</source>\n        <target>当前不受理对 OSD 的失效报告,因而 monitor 不会停用 OSD</target>\n      </trans-unit>\n      <trans-unit id="b2838c6165a9672a17db188f4dd9676574353dd8" datatype="html">\n        <source>Pause</source>\n        <target>暂停</target>\n      </trans-unit>\n      <trans-unit id="191d71dadcc8790573d46706a0b48211de4b8334" datatype="html">\n        <source>Pauses reads and writes</source>\n        <target>暂停读写</target>\n      </trans-unit>\n      <trans-unit id="471d5ba75836f38c19992cf83d8822632d99e473" datatype="html">\n        <source>No Scrub</source>\n        <target>禁止洗刷</target>\n      </trans-unit>\n      <trans-unit id="5b8caa61814121bc36dac0c34a9e9de3cae74990" datatype="html">\n        <source>Scrubbing is disabled</source>\n        <target>洗刷已禁止</target>\n      </trans-unit>\n      <trans-unit id="7f29a0ac1c797bdc0347dd5d0734ba83e96e7ce6" datatype="html">\n        <source>No Deep Scrub</source>\n        <target>禁止深层洗刷</target>\n      </trans-unit>\n      <trans-unit id="01da61ab216541a8d31259cebd16b10c7e5fc124" datatype="html">\n        <source>Deep Scrubbing is disabled</source>\n        <target>深层洗刷已禁止</target>\n      </trans-unit>\n      <trans-unit id="0b86c7f18ac725de62c7e192dcfccd02c0dc40ab" datatype="html">\n        <source>No Backfill</source>\n        <target>禁止回填</target>\n      </trans-unit>\n      <trans-unit id="bd33a2bdc8fbed3b7469f3717c16d9aaa2851fdd" datatype="html">\n        <source>Backfilling of PGs is suspended</source>\n        <target>PG 回填已推迟</target>\n      </trans-unit>\n      <trans-unit id="7fbbd036394cfa623add40299757bc87df8eaa7e" datatype="html">\n        <source>No Recover</source>\n        <target>禁止恢复</target>\n      </trans-unit>\n      <trans-unit id="f3ee9b451a64dca47299c9b4ae1091c2008068ad" datatype="html">\n        <source>Recovery of PGs is suspended</source>\n        <target>PG 恢复已推迟</target>\n      </trans-unit>\n      <trans-unit id="de904148fe7e8d812218f50333ffe247900617c5" datatype="html">\n        <source>Bitwise Sort</source>\n        <target>逐位排序</target>\n      </trans-unit>\n      <trans-unit id="2613c9fde29785bcd75f0abeccb653d14d7527b3" datatype="html">\n        <source>Use bitwise sort</source>\n        <target>使用逐位排序</target>\n      </trans-unit>\n      <trans-unit id="2fe10d84250aeee365db244251d40934c70ff1e9" datatype="html">\n        <source>Purged Snapdirs</source>\n        <target>老版本的快照已全部升级</target>\n      </trans-unit>\n      <trans-unit id="6b22a5b780eda3c5d500cdac9c6d4f96978c38f1" datatype="html">\n        <source>OSDs have converted snapsets</source>\n        <target>OSD 上的快照已全部转换完毕</target>\n      </trans-unit>\n      <trans-unit id="c42f0ba60564dc5b977a8c7f3fdcde9efbb39c60" datatype="html">\n        <source>Recovery Deletes</source>\n        <target>在恢复时进行删除操作</target>\n      </trans-unit>\n      <trans-unit id="72fe39979198ea2ed6db6274b5029025cb316d90" datatype="html">\n        <source>Deletes performed during recovery instead of peering</source>\n        <target>在恢复时,而非对齐阶段进行删除</target>\n      </trans-unit>\n      <trans-unit id="1bb4a1f9127cefe624c173557a716d0ebb6d647c" datatype="html">\n        <source>PG Log Hard Limit</source>\n        <target>PG 日志硬限制</target>\n      </trans-unit>\n      <trans-unit id="e03c0321397fdf7a9c22e8d6b5015424943c0a57" datatype="html">\n        <source>Puts a hard limit on pg log length</source>\n        <target>为 pg 日志长度添加硬限制</target>\n      </trans-unit>\n      <trans-unit id="3c384e2e80c6b5eb24861fbf4225b69486cff4a3" datatype="html">\n        <source>Updated OSD Flags</source>\n        <target>已更新 OSD 标志</target>\n      </trans-unit>\n      <trans-unit id="688578fcc739d6f0c5fb6c366dbb19d21c6d9e36" datatype="html">\n        <source>out</source>\n        <target>除名</target>\n      </trans-unit>\n      <trans-unit id="cb0f69bdd4dea41d7d45c74b6e07f98de8a2ab26" datatype="html">\n        <source>in</source>\n        <target>加入</target>\n      </trans-unit>\n      <trans-unit id="b5fbc7c7f007dd53b2318525bb7ff8b0376c9e37" datatype="html">\n        <source>down</source>\n        <target>停用</target>\n      </trans-unit>\n      <trans-unit id="b58719bcb9184e1a7884d00d22d10899d59bf295" datatype="html">\n        <source>Mark</source>\n        <target>标记</target>\n      </trans-unit>\n      <trans-unit id="31a1c1aa03f1e5084750bedb4e3fdc04ce2cb6ca" datatype="html">\n        <source>OSD lost</source>\n        <target>OSD 丢失</target>\n      </trans-unit>\n      <trans-unit id="f3fc4c85c5b8f1dedea0496b72d0af9da7b9e0d9" datatype="html">\n        <source>marked lost</source>\n        <target>已标记丢失</target>\n      </trans-unit>\n      <trans-unit id="40fedc157ad899a18ec40573f770d18b040959d2" datatype="html">\n        <source>Purge</source>\n        <target>清除</target>\n      </trans-unit>\n      <trans-unit id="c8b1475105463088593de1022ff6dceb523eae0e" datatype="html">\n        <source>OSD</source>\n        <target>OSD</target>\n      </trans-unit>\n      <trans-unit id="4f3cff08c7033b63bbccfe66006b1bcaea48ddd8" datatype="html">\n        <source>purged</source>\n        <target>已清除</target>\n      </trans-unit>\n      <trans-unit id="8e5d1b01eca6dce26a4751f0b19bda7a6ab8db5b" datatype="html">\n        <source>destroy</source>\n        <target>销毁</target>\n      </trans-unit>\n      <trans-unit id="495a06b78bf165a7b545fa002137f0846b094a3d" datatype="html">\n        <source>destroyed</source>\n        <target>已销毁</target>\n      </trans-unit>\n      <trans-unit id="107614b994f2b01abdc1ca179bf780b0cd933ec4" datatype="html">\n        <source>Recovery Priority</source>\n        <target>Recovery Priority</target>\n      </trans-unit>\n      <trans-unit id="359dad5a3a912ef9dece3194035020856805aa96" datatype="html">\n        <source>PG scrub</source>\n        <target>PG scrub</target>\n      </trans-unit>\n      <trans-unit id="953144c420c2e5abd02e6a687433eac60fa852bd" datatype="html">\n        <source>PGs</source>\n        <target>PG</target>\n      </trans-unit>\n      <trans-unit id="7d3523ea9d35c274cef84043de8a2fdde540a9a1" datatype="html">\n        <source>Read bytes</source>\n        <target>读字节数</target>\n      </trans-unit>\n      <trans-unit id="ecbe2fdca919499125bc42c2c67cedae8563db1c" datatype="html">\n        <source>Writes bytes</source>\n        <target>写字节数</target>\n      </trans-unit>\n      <trans-unit id="f3c33322823c846b13f59ba2c8f234405bba99e1" datatype="html">\n        <source>Read ops</source>\n        <target>读请求数</target>\n      </trans-unit>\n      <trans-unit id="7e0b24a17546cbfab48b03dc874461d1ca68bc9a" datatype="html">\n        <source>Write ops</source>\n        <target>写请求数</target>\n      </trans-unit>\n      <trans-unit id="d45455406092f58e6b089cb440b5b7934b801a01" datatype="html">\n        <source>Mark OSD \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </source>\n        <target>Mark OSD \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="de0b7806e451b3b3dbd564decba59981fe781c18" datatype="html">\n        <source>Mark \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </source>\n        <target>Mark \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="bba1d3bb4f8a47aa2b3068e242562196eadb1e83" datatype="html">\n        <source>PG scrub options</source>\n        <target>PG scrub options</target>\n      </trans-unit>\n      <trans-unit id="b0b7748ebc9b7a6942a8cac4a89d4b215b365878" datatype="html">\n        <source>Updated PG scrub options</source>\n        <target>Updated PG scrub options</target>\n      </trans-unit>\n      <trans-unit id="4edc2162af0bd6cd941eaf730d20a7e3b5a83ba7" datatype="html">\n        <source>Max Backfills</source>\n        <target>最大回填量</target>\n      </trans-unit>\n      <trans-unit id="eb5e6c24a48a1dfe23e0a772b762be5e949c0c8a" datatype="html">\n        <source>Recovery Max Active</source>\n        <target>最大活跃恢复请求数</target>\n      </trans-unit>\n      <trans-unit id="4a23c6d3859e03184118620d2baeb736ac765fbf" datatype="html">\n        <source>Recovery Max Single Start</source>\n        <target>最大单次恢复操作数</target>\n      </trans-unit>\n      <trans-unit id="97049169ef5228fd1724de2fcdad1fec2858eaf8" datatype="html">\n        <source>Recovery Sleep</source>\n        <target>恢复/回填操作间隔睡眠时间</target>\n      </trans-unit>\n      <trans-unit id="a5c05002b0ac2040f1aede5e727e0ffd06eda819" datatype="html">\n        <source>Custom</source>\n        <target>自定义</target>\n      </trans-unit>\n      <trans-unit id="89553524f4e7db5c437b07dcfdc7b831d56ded1a" datatype="html">\n        <source>Updated OSD recovery speed priority "\n          <x id="INTERPOLATION" equiv-text="{{value}}"/>"\n        </source>\n        <target>Updated OSD recovery speed priority "\n          <x id="INTERPOLATION" equiv-text="{{value}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="ccf5f30798c03d2d8efd0e6eb508320c018b722d" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{operation}}"/> was initialized in the following OSD(s): \n          <x id="INTERPOLATION_1" equiv-text="{{id}}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{operation}}"/> was initialized in the following OSD(s): \n          <x id="INTERPOLATION_1" equiv-text="{{id}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="9836e830d0219585b36d53be00a31c3d4798a4aa" datatype="html">\n        <source>Smartctl has received an unknown argument (error code\n          <x id="INTERPOLATION" equiv-text="{{smartData.smartctl_error_code}}"/>). You may be using an\n                incompatible version of smartmontools. Version &gt;= 7.0 of\n                smartmontools is required to succesfully retrieve data.\n        </source>\n        <target>Smartctl has received an unknown argument (error code\n          <x id="INTERPOLATION" equiv-text="{{smartData.smartctl_error_code}}"/>). You may be using an\n                incompatible version of smartmontools. Version &gt;= 7.0 of\n                smartmontools is required to succesfully retrieve data.\n        </target>\n      </trans-unit>\n      <trans-unit id="d5fd840374ca1a6f394bcd81f390a6dca27f8224" datatype="html">\n        <source>An error with error code \n          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.\n        </source>\n        <target>An error with error code \n          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.\n        </target>\n      </trans-unit>\n      <trans-unit id="a0b59d7139692bb8d8ed786b6eb6e9e70ce743f3" datatype="html">\n        <source>Raw</source>\n        <target>Raw</target>\n      </trans-unit>\n      <trans-unit id="2f3beddc8234b30fb26a7f63ba2f1ea74f2ed6f7" datatype="html">\n        <source>Threshold</source>\n        <target>Threshold</target>\n      </trans-unit>\n      <trans-unit id="4654b5a68af3c8bad29aa14ca85ccea1f3143c6b" datatype="html">\n        <source>When Failed</source>\n        <target>When Failed</target>\n      </trans-unit>\n      <trans-unit id="5b7f56d5be49fb8e8d8f40209d6746f8f72e9177" datatype="html">\n        <source>Worst</source>\n        <target>Worst</target>\n      </trans-unit>\n      <trans-unit id="1edb8e46b0fac57c5feb3d7d3585afc0122d5481" datatype="html">\n        <source>Create silence</source>\n        <target>Create silence</target>\n      </trans-unit>\n      <trans-unit id="78917e8031aaf913ac3fa63295325ce8879703ce" datatype="html">\n        <source>Job</source>\n        <target>任务</target>\n      </trans-unit>\n      <trans-unit id="94287619205068b591c18493c64781424864c259" datatype="html">\n        <source>Severity</source>\n        <target>严重程度</target>\n      </trans-unit>\n      <trans-unit id="e6cfbe0c5e0302ba2cec22315f6a28f8ac46b651" datatype="html">\n        <source>Started</source>\n        <target>已启动</target>\n      </trans-unit>\n      <trans-unit id="801b98c6f02fe3b32f6afa3ee854c99ed83474e6" datatype="html">\n        <source>URL</source>\n        <target>URL</target>\n      </trans-unit>\n      <trans-unit id="a5cd682a8a33bdc72e093d059429e3cc3a50ec1d" datatype="html">\n        <source>silence</source>\n        <target>silence</target>\n      </trans-unit>\n      <trans-unit id="f557e117e059e7036c6eecacd325a6ae35d866e0" datatype="html">\n        <source>Attribute name</source>\n        <target>Attribute name</target>\n      </trans-unit>\n      <trans-unit id="50f7f517ad8158667f7d4e2bd6f3256e05156e75" datatype="html">\n        <source>Regular expression</source>\n        <target>Regular expression</target>\n      </trans-unit>\n      <trans-unit id="81b1eab399c47110d50f45e3ccb4c009de7cb581" datatype="html">\n        <source>Please add your Prometheus host to the dashboard configuration and refresh the page</source>\n        <target>Please add your Prometheus host to the dashboard configuration and refresh the page</target>\n      </trans-unit>\n      <trans-unit id="29b4ae3296e239446fa0dea88a5112de15cffa54" datatype="html">\n        <source>Created by</source>\n        <target>Created by</target>\n      </trans-unit>\n      <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc" datatype="html">\n        <source>Updated</source>\n        <target>更新完成</target>\n      </trans-unit>\n      <trans-unit id="8d833cceee0ba4c5161b130365e02bc1e129b57e" datatype="html">\n        <source>Ends</source>\n        <target>Ends</target>\n      </trans-unit>\n      <trans-unit id="46a11ff4289e8c88b1b7a935f8d8ee704055f11a" datatype="html">\n        <source>Silence</source>\n        <target>Silence</target>\n      </trans-unit>\n      <trans-unit id="f392abfbb997402ce2aebb13e660a8f01dec54db" datatype="html">\n        <source>Service type</source>\n        <target>Service type</target>\n      </trans-unit>\n      <trans-unit id="9ffa91b056fb979786627885651e19c8275675cd" datatype="html">\n        <source>Service instance</source>\n        <target>Service instance</target>\n      </trans-unit>\n      <trans-unit id="b5910192a9ac4816638ff6383b03f986ff965796" datatype="html">\n        <source>Container id</source>\n        <target>Container id</target>\n      </trans-unit>\n      <trans-unit id="60ab9cce12a56cdc5ec6a1b699f8c7afecd629d5" datatype="html">\n        <source>Rados config location</source>\n        <target>Rados config location</target>\n      </trans-unit>\n      <trans-unit id="dfa409f831c9168a377bdee02c5ea6aaf9b2bf61" datatype="html">\n        <source>Service URL</source>\n        <target>Service URL</target>\n      </trans-unit>\n      <trans-unit id="bf2468fd965b8a59c135ad549b3a612aa9873abc" datatype="html">\n        <source>Status Description</source>\n        <target>Status Description</target>\n      </trans-unit>\n      <trans-unit id="fb2e1bed329dc5b84197808c778abb9edcbdb335" datatype="html">\n        <source>Used</source>\n        <target>已使用</target>\n      </trans-unit>\n      <trans-unit id="4f1ab04d9100fb0df0e62b921ec46ae052ae29fc" datatype="html">\n        <source>Avail.</source>\n        <target>空闲</target>\n      </trans-unit>\n      <trans-unit id="a1c9b3d4fa67450fe9afd1d726f8a1bd91d990ea" datatype="html">\n        <source>Clean</source>\n        <target>正常</target>\n      </trans-unit>\n      <trans-unit id="0054f5460090d6dde385e8f099d598df5d28cf54" datatype="html">\n        <source>Working</source>\n        <target>运行中</target>\n      </trans-unit>\n      <trans-unit id="a8059e31694578c1b0344a76a345357dd60e8f01" datatype="html">\n        <source>Warning</source>\n        <target>警报</target>\n      </trans-unit>\n      <trans-unit id="e5d8bb389c702588877f039d72178f219453a72d" datatype="html">\n        <source>Unknown</source>\n        <target>未知</target>\n      </trans-unit>\n      <trans-unit id="88155be1b9b9c6140d6e8f93bac4a775cfdc6671" datatype="html">\n        <source>Healthy</source>\n        <target>Healthy</target>\n      </trans-unit>\n      <trans-unit id="8a3aec4dc1a6e2d4c612ae85e0537acbb20a0f85" datatype="html">\n        <source>Misplaced</source>\n        <target>Misplaced</target>\n      </trans-unit>\n      <trans-unit id="ee81f9bf7ceac69712e0b83e8adc268739f9673e" datatype="html">\n        <source>Degraded</source>\n        <target>Degraded</target>\n      </trans-unit>\n      <trans-unit id="14625bc4025daef1969777a67a3cca27e0cd9167" datatype="html">\n        <source>Unfound</source>\n        <target>Unfound</target>\n      </trans-unit>\n      <trans-unit id="8f23ea509d081c2f747d083d44608dbf125b2ea2" datatype="html">\n        <source>replicas</source>\n        <target>replicas</target>\n      </trans-unit>\n      <trans-unit id="129a2224e1f9d19eb5e11e2a07fe10a785556484" datatype="html">\n        <source>up</source>\n        <target>启用中</target>\n      </trans-unit>\n      <trans-unit id="d5f29cf0af691726483262d647eb6622be002512" datatype="html">\n        <source>no filesystems</source>\n        <target>无文件系统</target>\n      </trans-unit>\n      <trans-unit id="b1c4387ffab06f3fa9fdb4411aea955595538d44" datatype="html">\n        <source>active</source>\n        <target>工作</target>\n      </trans-unit>\n      <trans-unit id="1aaf7054d826f2cb05ec3e88a5a4b8116861e1f5" datatype="html">\n        <source>standby</source>\n        <target>待机</target>\n      </trans-unit>\n      <trans-unit id="c9a1080024dca344a48acdb77fa2d54e059f7254" datatype="html">\n        <source>n/a</source>\n        <target>n/a</target>\n      </trans-unit>\n      <trans-unit id="84a1787b6df375847c70f782861d7e7f8f43bff4" datatype="html">\n        <source>active daemon</source>\n        <target>工作的守护进程</target>\n      </trans-unit>\n      <trans-unit id="24407dc2ebfafaf6b131ee978683b893c3f1d763" datatype="html">\n        <source>quorum</source>\n        <target>quorum</target>\n      </trans-unit>\n      <trans-unit id="2fa50bc07995c6ea660412294298ded39fcb08d9" datatype="html">\n        <source>The NFS Ganesha service is not configured.</source>\n        <target>NFS Ganesha 服务的配置还没有完成。</target>\n      </trans-unit>\n      <trans-unit id="af1396bdc49f45ea6c4a1e414769f5e2a382c834" datatype="html">\n        <source>Transport</source>\n        <target>传输</target>\n      </trans-unit>\n      <trans-unit id="b6a0e176d96c4feed2e975a039c044fcf822e152" datatype="html">\n        <source>CephFS User</source>\n        <target>CephFS 用户</target>\n      </trans-unit>\n      <trans-unit id="44dc610cf201a163e8c38da810acec9596930bb3" datatype="html">\n        <source>CephFS Filesystem</source>\n        <target>CephFS 文件系统</target>\n      </trans-unit>\n      <trans-unit id="db6dc7124be83c7055cb0f2719e31f2f9d46fd3d" datatype="html">\n        <source>(inherited from global config)</source>\n        <target>(继承自全局配置)</target>\n      </trans-unit>\n      <trans-unit id="e1f97bb86f991553ec7b535cb39e7eaa99dfcfe2" datatype="html">\n        <source>inherited from global config</source>\n        <target>继承自全局配置</target>\n      </trans-unit>\n      <trans-unit id="e751800766277e7c2edd652cec7a7a1a68a37852" datatype="html">\n        <source>-- Select what kind of user id squashing is performed --</source>\n        <target>-- 选择执行哪种类型的用户 ID 匿名访问 --</target>\n      </trans-unit>\n      <trans-unit id="4b58387f911e8a7b135a0c4d76c70335c65bbb32" datatype="html">\n        <source>There are no daemons available.</source>\n        <target>没有可用的守护进程。</target>\n      </trans-unit>\n      <trans-unit id="18ae8dc1264f06df7ea251175ada2ac1b8401018" datatype="html">\n        <source>NFS export</source>\n        <target>NFS export</target>\n      </trans-unit>\n      <trans-unit id="ae128527ec18892f812a62a1fd15dc50a38060c0" datatype="html">\n        <source>EC Profile</source>\n        <target>EC Profile</target>\n      </trans-unit>\n      <trans-unit id="60fb10c145f9c7ede2b9ddf9b2b0b0f6191d0ebd" datatype="html">\n        <source>Cache Mode</source>\n        <target>缓存模式</target>\n      </trans-unit>\n      <trans-unit id="fa5bfad31d4139f6871443bb74324ffda5cad3e6" datatype="html">\n        <source>Min Evict Age</source>\n        <target>最少延迟赶出时间</target>\n      </trans-unit>\n      <trans-unit id="fd0eb851666df45c34c76fabcda79b0d77bc910b" datatype="html">\n        <source>Min Flush Age</source>\n        <target>最少延迟刷回时间</target>\n      </trans-unit>\n      <trans-unit id="cb54d2c420a534cee0c308ea5589f8c394ef8d67" datatype="html">\n        <source>Target Max Bytes</source>\n        <target>目标器最大字节数</target>\n      </trans-unit>\n      <trans-unit id="07f4ebe6615dca466818ffdae2a69ee217d265fb" datatype="html">\n        <source>Target Max Objects</source>\n        <target>目标器最大对象数</target>\n      </trans-unit>\n      <trans-unit id="eaa8f4df53cf7fa78d078e20a701d10f3dccd77d" datatype="html">\n        <source>No applications added</source>\n        <target>还没有任何应用标记</target>\n      </trans-unit>\n      <trans-unit id="321c2a7640f11177ea49b0857b94c4b70830c0e6" datatype="html">\n        <source>Applications limit reached</source>\n        <target>应用标记到了上限</target>\n      </trans-unit>\n      <trans-unit id="519d27742b74fadc8336777452f78891e98aa1dc" datatype="html">\n        <source>A pool can only have up to four applications definitions.</source>\n        <target>一个存储池最多能有四个应用标记。</target>\n      </trans-unit>\n      <trans-unit id="b5bec3813f0d45daa7eb9471272969e1bc3e734e" datatype="html">\n        <source>Allowed characters \'_a-zA-Z0-9\'</source>\n        <target>可用的字符为“_a-zA-Z0-9”</target>\n      </trans-unit>\n      <trans-unit id="807472d29602a0085bce62e534bd66208982c2e2" datatype="html">\n        <source>Maximum length is 128 characters</source>\n        <target>长度限制为 128 个字符</target>\n      </trans-unit>\n      <trans-unit id="37785748b9ac9ad1d3e4b111ac502c3284afe84b" datatype="html">\n        <source>Filter or add applications</source>\n        <target>添加应用标记或根据其进行筛选</target>\n      </trans-unit>\n      <trans-unit id="38c7b8610ca87835e13eeee6a09ba1c414cd5cb9" datatype="html">\n        <source>Add application</source>\n        <target>添加应用标记</target>\n      </trans-unit>\n      <trans-unit id="db8c42f077700d8a94619fad9f4c94b7361d5f1d" datatype="html">\n        <source>pool</source>\n        <target>pool</target>\n      </trans-unit>\n      <trans-unit id="65bb2be83261bc4798853bbccdedc110c43feea7" datatype="html">\n        <source>erasure code profile</source>\n        <target>纠删码配置</target>\n      </trans-unit>\n      <trans-unit id="112d356ad6846959ca4aa5ec9a1f0d9d473b24ec" datatype="html">\n        <source>Replica Size</source>\n        <target>副本个数</target>\n      </trans-unit>\n      <trans-unit id="ec50492db341fa752b023d8c924601286b6c9c0c" datatype="html">\n        <source>Last Change</source>\n        <target>最后修改时间</target>\n      </trans-unit>\n      <trans-unit id="563a8c136a9d423bc7ae1269a404d6da5fd83dad" datatype="html">\n        <source>Erasure Coded Profile</source>\n        <target>纠删码配置</target>\n      </trans-unit>\n      <trans-unit id="0ad7f0662956cff61ac1208f92b1a0305b1b2e58" datatype="html">\n        <source>Crush Ruleset</source>\n        <target>CRUSH 规则集</target>\n      </trans-unit>\n      <trans-unit id="f15bf7f588f09ca79795b17bc244e8d336f28171" datatype="html">\n        <source>Write bytes</source>\n        <target>写字节数</target>\n      </trans-unit>\n      <trans-unit id="bcc365a084b6145b941b371bd4c2b6c3d2c79234" datatype="html">\n        <source>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</source>\n        <target>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</target>\n      </trans-unit>\n      <trans-unit id="44939fd05cedfd077db886528b755e77d5fa3885" datatype="html">\n        <source>bucket</source>\n        <target>存储桶</target>\n      </trans-unit>\n      <trans-unit id="84fee774286ec4191311f1277075455c3ea5e2e2" datatype="html">\n        <source>Updated Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>".\n        </source>\n        <target>Updated Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="2d7a43674f0bbc131c9e555ec16ac37fa0445d76" datatype="html">\n        <source>Created Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>"\n        </source>\n        <target>Created Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="ec40d74ecfb1d6d60455af6805c9a714a3f5750a" datatype="html">\n        <source>buckets</source>\n        <target>存储桶</target>\n      </trans-unit>\n      <trans-unit id="764585d5595bac113582ee14a6fd07006770ceb1" datatype="html">\n        <source>capability</source>\n        <target>capability</target>\n      </trans-unit>\n      <trans-unit id="0914cbe18bae204217e1851be6d2d24d86e74605" datatype="html">\n        <source>user</source>\n        <target>用户</target>\n      </trans-unit>\n      <trans-unit id="d8c86dc5e48a63590d9c94e19f90b5f8325cbd49" datatype="html">\n        <source>subuser</source>\n        <target>subuser</target>\n      </trans-unit>\n      <trans-unit id="f45a3de8a8b40d161cc36a55d77548a27107ca04" datatype="html">\n        <source>S3 Key</source>\n        <target>S3 Key</target>\n      </trans-unit>\n      <trans-unit id="854a763265e92f91ba3ccee1a0e8d823be584f7c" datatype="html">\n        <source>Updated Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </source>\n        <target>Updated Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="84ab3fd641e65e39cffee0ec722a059ed284229e" datatype="html">\n        <source>Created Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </source>\n        <target>Created Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="7c7f4be7b726e61c577e63842a58d9e435f7c597" datatype="html">\n        <source>users</source>\n        <target>用户</target>\n      </trans-unit>\n      <trans-unit id="9f7760223efd77806f1bbaf963e6993bb4bc6a0a" datatype="html">\n        <source>Swift Key</source>\n        <target>Swift Key</target>\n      </trans-unit>\n      <trans-unit id="1481b8488e10dbc437accce89d2ae35a0106e8ba" datatype="html">\n        <source>Scope</source>\n        <target>作用范围</target>\n      </trans-unit>\n      <trans-unit id="9b1d5e95f6bdcfb4b737413f5fa157e0dcb103d5" datatype="html">\n        <source>Read</source>\n        <target>读权限</target>\n      </trans-unit>\n      <trans-unit id="70a67e04629f6d412db0a12d51820b480788d795" datatype="html">\n        <source>Create</source>\n        <target>新建</target>\n      </trans-unit>\n      <trans-unit id="dc4fba275819619ee78e8eae14d357ea69ba7477" datatype="html">\n        <source>role</source>\n        <target>role</target>\n      </trans-unit>\n      <trans-unit id="fe6ee93173884201ec62d62ba173c3de85ae177e" datatype="html">\n        <source>Created role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Created role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="41c032df0732f4318f8213fabd0719ac347d4b6c" datatype="html">\n        <source>Updated role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Updated role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="50e22b5289f79f1417369403345c9fa9911a4557" datatype="html">\n        <source>System Role</source>\n        <target>系统角色</target>\n      </trans-unit>\n      <trans-unit id="7f132668e2dbfcf616381d2daf59d1a6f2698102" datatype="html">\n        <source>Deleted role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Deleted role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="2e35d60a14ce0b470e8b54602864a867f7fcef40" datatype="html">\n        <source>There are no roles.</source>\n        <target>There are no roles.</target>\n      </trans-unit>\n      <trans-unit id="d2362a49d2434ce137bf19dab004251b7fd9c7b3" datatype="html">\n        <source>Created user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Created user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="9910122dfedd2eaa544a990f1430e5b82a76d99f" datatype="html">\n        <source>Update user</source>\n        <target>更新用户</target>\n      </trans-unit>\n      <trans-unit id="ac10a3d9b59575640797c1a8e6aea642cf5d5e77" datatype="html">\n        <source>Continue</source>\n        <target>继续</target>\n      </trans-unit>\n      <trans-unit id="cf4bcf4ce3d551e6099ccdc3546ae418fe5f8038" datatype="html">\n        <source>You were automatically logged out because your roles have been changed.</source>\n        <target>您被自动登出,因为您的角色有了变动。</target>\n      </trans-unit>\n      <trans-unit id="0f6003fb0c1cc73b89d225801cc1b870945cd259" datatype="html">\n        <source>Updated user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Updated user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="fe516c6d820018fdc971113935e22ec1e852965f" datatype="html">\n        <source>Deleted user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Deleted user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="01a7e11502ff80421ef3615e533ea14ef57e1d5c" datatype="html">\n        <source>Failed to delete user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Failed to delete user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="63316a3861dbcb035147efc1b9fb6bc708242e94" datatype="html">\n        <source>You are currently logged in as "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>".\n        </source>\n        <target>You are currently logged in as "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="d8b81951d25439864e92f750f7c99d7426d6517c" datatype="html">\n        <source>password</source>\n        <target>password</target>\n      </trans-unit>\n      <trans-unit id="d361a9b5e1f7985a12c0433388f31626525a02b8" datatype="html">\n        <source>Updated user password"</source>\n        <target>Updated user password"</target>\n      </trans-unit>\n      <trans-unit id="1d7fbcc3d5efc946ffbcf86fed04c4e20dda20fb" datatype="html">\n        <source>Each object is split in data-chunks parts, each stored on a different OSD.</source>\n        <target> 各对象都被分割为数据块,分别存储于不同 OSD 。</target>\n      </trans-unit>\n      <trans-unit id="b1f8ed4e216585f1f9134740002ef3c8501debd8" datatype="html">\n        <source>Compute coding chunks for each object and store them on different OSDs.\n      The number of coding chunks is also the number of OSDs that can be down without losing data.</source>\n        <target>计算各对象的编码块、并存储于不同 OSD 。\n编码块的数量等同于在不丢数据的前提下允许同时失效的 OSD 数量。</target>\n      </trans-unit>\n      <trans-unit id="c437ee74a9a8e781e1380153f742a685e3b8cc5e" datatype="html">\n        <source>The jerasure plugin is the most generic and flexible plugin,\n          it is also the default for Ceph erasure coded pools.</source>\n        <target>jerasure 插件是最通用、最灵活的插件,\n也是 Ceph 纠删码存储池的默认插件。</target>\n      </trans-unit>\n      <trans-unit id="8c7e19322851402afa67e41f4f1d4e531caf1bf5" datatype="html">\n        <source>The more flexible technique is reed_sol_van : it is enough to set k\n          and m. The cauchy_good technique can be faster but you need to chose the packetsize\n          carefully. All of reed_sol_r6_op, liberation, blaum_roth, liber8tion are RAID6 equivalents\n          in the sense that they can only be configured with m=2.</source>\n        <target>reed_sol_van 技术更灵活:它足以设置 k 和 m 值。 \ncauchy_good 技术更快,但你得谨慎地选择 packetsize 值。\nreed_sol_r6_op 、 liberation 、 blaum_roth 、 liber8tion 都是与 RAID6 等价的技术,\n它们只能配置为 m=2 。</target>\n      </trans-unit>\n      <trans-unit id="b1b11f49281b4e79219b4eecfbcb033cb15bd880" datatype="html">\n        <source>The encoding will be done on packets of bytes size at a time.\n          Chosing the right packet size is difficult.\n          The jerasure documentation contains extensive information on this topic.</source>\n        <target> 以 bytes 大小的包为单位进行编码。\n确定合适的包尺寸很难, \njerasure 文档对此有很详细的描述。</target>\n      </trans-unit>\n      <trans-unit id="d9cb3bc07a25b26fbea457e0a7b543340bc13c49" datatype="html">\n        <source>With the jerasure plugin, when an erasure coded object is stored on\n          multiple OSDs, recovering from the loss of one OSD requires reading from all the others.\n          For instance if jerasure is configured with k=8 and m=4, losing one OSD requires reading\n          from the eleven others to repair.\n\n          The lrc erasure code plugin creates local parity chunks to be able to recover using\n          less OSDs. For instance if lrc is configured with k=8, m=4 and l=4, it will create\n          an additional parity chunk for every four OSDs. When a single OSD is lost, it can be\n          recovered with only four OSDs instead of eleven.</source>\n        <target>用 jerasure 插件时,纠删码编码的对象存储在多个 OSD 上,\n丢失一个 OSD 的恢复过程需读取所有其他的 OSD 。\n比如 jerasure 的配置为 k=8 且 m=4 ,丢失一个 OSD 后需读取其他 11 个 OSD 才能恢复。\n\nlrc 纠删码插件创建的是局部校验块,这样只需较少的 OSD 即可恢复。\n比如 lrc 的配置为 k=8 、 m=4 且 l=4 ,它将为每四个 OSD 创建额外的校验块,\n当一个 OSD 丢失时,它只需四个 OSD 即可恢复,而不需要十一个。</target>\n      </trans-unit>\n      <trans-unit id="813959d46e63a29bbd266b3af2ff9414c2ef553c" datatype="html">\n        <source>Group the coding and data chunks into sets of size locality. For instance,\n          for k=4 and m=2, when locality=3 two groups of three are created. Each set can\n          be recovered without reading chunks from another set.</source>\n        <target>把编码块和数据块分组为大小为 locality 的集合。\n比如, k=4 且 m=2 时,若设置 locality=3 ,将会分组为大小为三的两组,\n这样各组都能自行恢复,无需从另一组读数据块。</target>\n      </trans-unit>\n      <trans-unit id="f0ff63d92e0a1b4d4b51e31b9133802d160a5f4c" datatype="html">\n        <source>The type of the crush bucket in which each set of chunks defined\n          by l will be stored. For instance, if it is set to rack, each group of l chunks will be\n          placed in a different rack. It is used to create a CRUSH rule step such as step choose\n          rack. If it is not set, no such grouping is done.</source>\n        <target>由 l 定义的块集合将按哪种 crush 桶类型存储。\n比如,若设置为 rack ,大小为 l 块的各组将被存入不同的机架,\n此值会被用于创建类似 step choose rack 的规则集。\n如果没设置,就不会这样分组。</target>\n      </trans-unit>\n      <trans-unit id="3ece48df9d1e9a98f98bf3c5cc66e8b637020a4d" datatype="html">\n        <source>The isa plugin encapsulates the ISA library. It only runs on Intel processors.</source>\n        <target>isa 插件封装了 ISA 库。它只能运行在 Intel 处理器上。</target>\n      </trans-unit>\n      <trans-unit id="4472c9e31bfc7d96a83dc4afce0a6e885c99e839" datatype="html">\n        <source>The ISA plugin comes in two Reed Solomon forms.\n          If reed_sol_van is set, it is Vandermonde, if cauchy is set, it is Cauchy.</source>\n        <target>ISA 插件包含两种 Reed Solomon 编码形式。\n设置为 reed_sol_van 表示用 Vandermonde 算法,设置为 cauchy 表示用 Cauchy 算法。</target>\n      </trans-unit>\n      <trans-unit id="fa385f5ecf63083ec848dca8dc5e52bdc72ac6f6" datatype="html">\n        <source>The shec plugin encapsulates the multiple SHEC library.\n          It allows ceph to recover data more efficiently than Reed Solomon codes.</source>\n        <target>shec 插件封装了 multiple SHEC 库。\n与 Reed Solomon 编码相比,它能使 Ceph 更高效地恢复数据。</target>\n      </trans-unit>\n      <trans-unit id="687b3cd94b3475c24ff4481d64d4739f902a377c" datatype="html">\n        <source>The number of parity chunks each of which includes each data chunk in its\n          calculation range. The number is used as a durability estimator. For instance, if c=2,\n          2 OSDs can be down without losing data.</source>\n        <target> 奇偶校验块数量,它们在各自的计算范围内包含了各数据块。\n此数值被用作持久性估值。\n例如,假设 c=2 ,就是说不丟数据的情况下可损失 2 个 OSD 。</target>\n      </trans-unit>\n      <trans-unit id="f3c4af6df91bdaabdb715f8f0b61a24faf73a3bc" datatype="html">\n        <source>The name of the crush bucket used for the first step of the CRUSH rule.\n      For instance step take default.</source>\n        <target>规则集第一步所指向的 CRUSH 桶之名,\n如 step take default 。</target>\n      </trans-unit>\n      <trans-unit id="e1059955a5ce65cdabf0c0a8207377e1f9bae57e" datatype="html">\n        <source>Ensure that no two chunks are in a bucket with the same failure\n      domain. For instance, if the failure domain is host no two chunks will be stored on the same\n      host. It is used to create a CRUSH rule step such as step chooseleaf host.</source>\n        <target>确保两个编码块不会存在于同一故障域的桶里面。\n比如,假设故障域是 host ,就不会有两个编码块存储到同一主机;\n此值用于在规则集中创建类似 step chooseleaf host 的步骤。</target>\n      </trans-unit>\n      <trans-unit id="ac392ac9c6da5fde6da80fc57b9c09402fb6e73d" datatype="html">\n        <source>Restrict placement to devices of a specific class\n      (e.g., ssd or hdd), using the crush device class names in the CRUSH map.</source>\n        <target>使用 CRUSH 索引中的 crush 设备类名,\n将归置限制于特定类的设备(例如,ssd 或 hdd)。</target>\n      </trans-unit>\n      <trans-unit id="62bcb9ae5583a088649b1adf5787a86ca3334f89" datatype="html">\n        <source>Set the directory name from which the erasure code plugin is loaded.</source>\n        <target>设置纠删码插件所在目录。</target>\n      </trans-unit>\n      <trans-unit id="c8f10184a8433d132ede0a2c0c1aa96f291cacfa" datatype="html">\n        <source>Allows all operations</source>\n        <target>允许所有操作</target>\n      </trans-unit>\n      <trans-unit id="82077ee97c11ee76efc3adf253b7b26654544317" datatype="html">\n        <source>Allows only operations that do not modify the server</source>\n        <target>只允许不修改服务器端数据的操作</target>\n      </trans-unit>\n      <trans-unit id="22b5212ec10449dbf0a0af0ad34122eac51b5f2a" datatype="html">\n        <source>Does not allow read or write operations, but allows any other operation</source>\n        <target>禁止读写,但是允许其他的操作</target>\n      </trans-unit>\n      <trans-unit id="9799d0f8c4b7727ae239fedfe3c0ce127feb7a50" datatype="html">\n        <source>Does not allow read, write, or any operation that modifies file        attributes or directory content</source>\n        <target>禁止读、写以及任何可能修改文件内容的操作</target>\n      </trans-unit>\n      <trans-unit id="aeddefe0af87025d8f00699aa94bed8216a99a58" datatype="html">\n        <source>Allows no access at all</source>\n        <target>完全禁止访问</target>\n      </trans-unit>\n      <trans-unit id="a436c6a4025a749198e93cac239de8deede72211" datatype="html">\n        <source>-- Select the priority --</source>\n        <target>-- 选择优先级 --</target>\n      </trans-unit>\n      <trans-unit id="9556266f0a2b1762a44b686f2bb21dbfefb01c12" datatype="html">\n        <source>Low</source>\n        <target>低</target>\n      </trans-unit>\n      <trans-unit id="72279141a67cc042d9864102b703216cc8a428a3" datatype="html">\n        <source>High</source>\n        <target>高</target>\n      </trans-unit>\n      <trans-unit id="6080b77234e92ad41bb52653b239c4c4f851317d" datatype="html">\n        <source>Error</source>\n        <target>Error</target>\n      </trans-unit>\n      <trans-unit id="c43dc1967a603fefb886149ac35863a06d5b4ce5" datatype="html">\n        <source>Information</source>\n        <target>信息</target>\n      </trans-unit>\n      <trans-unit id="1e035e6ccfab771cad4226b2ad230cb0d4a88cba" datatype="html">\n        <source>Success</source>\n        <target>Success</target>\n      </trans-unit>\n      <trans-unit id="e6ca3c0efaf51e6d45a7f92f58bac37140c3fda4" datatype="html">\n        <source>Last 5 minutes</source>\n        <target>过去 5 分钟</target>\n      </trans-unit>\n      <trans-unit id="b0ecb2bbc548cc9bd95050fd8f0c84586d083fe2" datatype="html">\n        <source>Last 15 minutes</source>\n        <target>过去 15 分钟</target>\n      </trans-unit>\n      <trans-unit id="857ae67deb51353120b203b0f2a06b0c48ef49fa" datatype="html">\n        <source>Last 30 minutes</source>\n        <target>过去 30 分钟</target>\n      </trans-unit>\n      <trans-unit id="7b1738fad314e936dc14b94db8f43da736942308" datatype="html">\n        <source>Last 1 hour (Default)</source>\n        <target>过去 1 小时(默认)</target>\n      </trans-unit>\n      <trans-unit id="a428288224389726cef9d9bd8d1d7808cccd7ffd" datatype="html">\n        <source>Last 3 hours</source>\n        <target>过去 3 小时</target>\n      </trans-unit>\n      <trans-unit id="7cbabecc8d80cf183ac199cfaeb7619d56e5d43f" datatype="html">\n        <source>Last 6 hours</source>\n        <target>过去 6 小时</target>\n      </trans-unit>\n      <trans-unit id="1a389cdf64187d34cf99eec30a290e3fa7d4744f" datatype="html">\n        <source>Last 12 hours</source>\n        <target>过去 12 小时</target>\n      </trans-unit>\n      <trans-unit id="9e0ba5f591380a94d594a76288f0c41aa97eb9c2" datatype="html">\n        <source>Last 24 hours</source>\n        <target>过去 24 小时</target>\n      </trans-unit>\n      <trans-unit id="e430eda9c785cd43465b7cbb400ee914f1057247" datatype="html">\n        <source>Yesterday</source>\n        <target>昨天</target>\n      </trans-unit>\n      <trans-unit id="7fb1099e29660162f9154d5b2feee7743a423df6" datatype="html">\n        <source>Today</source>\n        <target>今天</target>\n      </trans-unit>\n      <trans-unit id="33904058a97a64bd189bed84038b1ffe719769c7" datatype="html">\n        <source>Today so far</source>\n        <target>今天到现在为止</target>\n      </trans-unit>\n      <trans-unit id="3b0b849be007510021d3d383df75bec95ef9c97b" datatype="html">\n        <source>Day before yesterday</source>\n        <target>前天</target>\n      </trans-unit>\n      <trans-unit id="6b430c2c394c4d32ebd7d46c8c46ab60e1b29ccb" datatype="html">\n        <source>Last 2 days</source>\n        <target>过去 2 天</target>\n      </trans-unit>\n      <trans-unit id="d5e812a87a5d57a94200a2013027cab76a7c4863" datatype="html">\n        <source>This day last week</source>\n        <target>上周的今天</target>\n      </trans-unit>\n      <trans-unit id="d00edc936eeab6b5577401f115ca86ca2c87dc9a" datatype="html">\n        <source>Previous week</source>\n        <target>上个星期</target>\n      </trans-unit>\n      <trans-unit id="b036e40577baa6b918b2267d319d4b3aeaa88a5a" datatype="html">\n        <source>This week</source>\n        <target>本周</target>\n      </trans-unit>\n      <trans-unit id="99ad5a6096b3fcb3f021f3779bae710cdfeb8934" datatype="html">\n        <source>This week so far</source>\n        <target>本周以来</target>\n      </trans-unit>\n      <trans-unit id="02e0243b60007368f87dc01e083f232dd025096d" datatype="html">\n        <source>Last 7 days</source>\n        <target>过去 7 天</target>\n      </trans-unit>\n      <trans-unit id="c3b08b07b5ab98e7cdcf18df39355690ab7d3884" datatype="html">\n        <source>Previous month</source>\n        <target>上个月</target>\n      </trans-unit>\n      <trans-unit id="1b2562c6d5aa90644e7dc91feee82e2005fceb33" datatype="html">\n        <source>This month</source>\n        <target>当月</target>\n      </trans-unit>\n      <trans-unit id="26b4b18c5917934abb169ba9aa490e57f7bf10b8" datatype="html">\n        <source>This month so far</source>\n        <target>本月以来</target>\n      </trans-unit>\n      <trans-unit id="7668986b9f753fcd72ad4a00b1a0c4861d1f7fb8" datatype="html">\n        <source>Last 30 days</source>\n        <target>过去 30 天</target>\n      </trans-unit>\n      <trans-unit id="ba1e822408d90c6fbd2989100fa648bfd5e8ee84" datatype="html">\n        <source>Last 90 days</source>\n        <target>过去 90 天</target>\n      </trans-unit>\n      <trans-unit id="c3df03f899a914c4181adcdc8a3f077424f7b6e8" datatype="html">\n        <source>Last 6 months</source>\n        <target>过去 6 个月</target>\n      </trans-unit>\n      <trans-unit id="7f9a92757580c9f31c309c0a3812ea429274eadf" datatype="html">\n        <source>Last 1 year</source>\n        <target>过去 1 年</target>\n      </trans-unit>\n      <trans-unit id="5a9fede30ff65cb4b4426f6b1ed31afb67ecd7b0" datatype="html">\n        <source>Previous year</source>\n        <target>去年</target>\n      </trans-unit>\n      <trans-unit id="65cefcc53d1f6445df7568e8a40c49165f1090ee" datatype="html">\n        <source>This year</source>\n        <target>今年</target>\n      </trans-unit>\n      <trans-unit id="1f68b766944dc3865bddab765fe952b0c1c43f92" datatype="html">\n        <source>This year so far</source>\n        <target>今年以来</target>\n      </trans-unit>\n      <trans-unit id="4d4b77e614f8043fdadef5d6d235655bb48eb311" datatype="html">\n        <source>Last 2 years</source>\n        <target>过去 2 年</target>\n      </trans-unit>\n      <trans-unit id="138afa339ea6e75d25a474affe1edbcb90e00ec0" datatype="html">\n        <source>Last 5 years</source>\n        <target>过去 5 年</target>\n      </trans-unit>\n      <trans-unit id="37391297bb077a6f84484930261b01a3ce38327b" datatype="html">\n        <source>No items selected.</source>\n        <target>无选中项目。</target>\n      </trans-unit>\n      <trans-unit id="2c1e52ee832661b4a0f570877d24661736b16af1" datatype="html">\n        <source>Deselect item to select again</source>\n        <target>取消选择</target>\n      </trans-unit>\n      <trans-unit id="c8c9c6e5918659336824bbdda3501c66eaa79a4c" datatype="html">\n        <source>Selection limit reached</source>\n        <target>达到选择项数上限。</target>\n      </trans-unit>\n      <trans-unit id="02d184c288f567825a1fcbf83bcd3099a10853d5" datatype="html">\n        <source>Filter tags</source>\n        <target>过滤标签</target>\n      </trans-unit>\n      <trans-unit id="aa00748e49c269956837d6f3acdd8d218796a8d8" datatype="html">\n        <source>Add badge</source>\n        <target>添加 badge</target>\n      </trans-unit>\n      <trans-unit id="4078a92d8121abdce7d8f346a88914923ec835fc" datatype="html">\n        <source>There are no items available.</source>\n        <target>无可选项目。</target>\n      </trans-unit>\n      <trans-unit id="f6755cff4957d5c3c89bafce5651f1b6fa2b1fd9" datatype="html">\n        <source>Add</source>\n        <target>添加</target>\n      </trans-unit>\n      <trans-unit id="019d4bd6a5690f0cfa0ecf346a4e6bf7f0d8debb" datatype="html">\n        <source>Remove</source>\n        <target>Remove</target>\n      </trans-unit>\n      <trans-unit id="54a4a3132b693575728a45a5f3154ad4c9af404b" datatype="html">\n        <source>Clone</source>\n        <target>克隆</target>\n      </trans-unit>\n      <trans-unit id="1979da7460819153e11d2078244645d94291b69c" datatype="html">\n        <source>Copy</source>\n        <target>复制</target>\n      </trans-unit>\n      <trans-unit id="2e5e77dbaadd6588d8bbf737139fd9806294ae28" datatype="html">\n        <source>Deep Scrub</source>\n        <target>深层洗刷</target>\n      </trans-unit>\n      <trans-unit id="bf463b189696c19769ea263227e6c22aefafb918" datatype="html">\n        <source>Destroy</source>\n        <target>销毁</target>\n      </trans-unit>\n      <trans-unit id="b4e94d529ff10db4d86f3f48900fa67ede3411fd" datatype="html">\n        <source>Evict</source>\n        <target>Evict</target>\n      </trans-unit>\n      <trans-unit id="3747fff7faf52b436ecff5fb8555091736d92c70" datatype="html">\n        <source>Flatten</source>\n        <target>展开</target>\n      </trans-unit>\n      <trans-unit id="66fdbf32e5449cc54a3d1e19c7b8f4ea238facfb" datatype="html">\n        <source>Mark Down</source>\n        <target>标记为停用</target>\n      </trans-unit>\n      <trans-unit id="0cda3e824fb2f9c731e5a60b859dedc1fe03127e" datatype="html">\n        <source>Mark In</source>\n        <target>标记为加入</target>\n      </trans-unit>\n      <trans-unit id="f833354f43cb38c5716faa8759a9bbdd1ab8f199" datatype="html">\n        <source>Mark Lost</source>\n        <target>标记为丢失</target>\n      </trans-unit>\n      <trans-unit id="75fb9f970ba365398c45e57bbb1019c009f6b832" datatype="html">\n        <source>Mark Out</source>\n        <target>标记为已除名</target>\n      </trans-unit>\n      <trans-unit id="45480c03b0a3a37ff8f6a5600a6a034b40fbaea4" datatype="html">\n        <source>Protect</source>\n        <target>保护</target>\n      </trans-unit>\n      <trans-unit id="e26f9cf3666aace4e524b1505c9795d76d87738d" datatype="html">\n        <source>Rename</source>\n        <target>重命名</target>\n      </trans-unit>\n      <trans-unit id="d5cec7468241d72cafd86ad1af6d55b09a6e3ae5" datatype="html">\n        <source>Restore</source>\n        <target>恢复</target>\n      </trans-unit>\n      <trans-unit id="ba073985cfd2528c77a746ed596b2f2052b973c5" datatype="html">\n        <source>Move to Trash</source>\n        <target>移至回收站</target>\n      </trans-unit>\n      <trans-unit id="3ea9b96a21a499d296a7f25407da0f3df6c2d5ed" datatype="html">\n        <source>Unprotect</source>\n        <target>解除保护</target>\n      </trans-unit>\n      <trans-unit id="024cdb2814b0cb3f4ced148f1a0b9854447cb214" datatype="html">\n        <source>Change</source>\n        <target>Change</target>\n      </trans-unit>\n      <trans-unit id="011f3e2bfc1fd8407eb5f599352665bfeb145664" datatype="html">\n        <source>Recreate</source>\n        <target>Recreate</target>\n      </trans-unit>\n      <trans-unit id="6df2dfa48bef5510c82fb43f4e71a7f9557f3d71" datatype="html">\n        <source>Expire</source>\n        <target>Expire</target>\n      </trans-unit>\n      <trans-unit id="28df1b02fd88d2deb0212bc5d7ff34cf9492fa54" datatype="html">\n        <source>Deleted</source>\n        <target>删除完成</target>\n      </trans-unit>\n      <trans-unit id="80e3b490720757978c99a7b5af3885faf202b955" datatype="html">\n        <source>Added</source>\n        <target>Added</target>\n      </trans-unit>\n      <trans-unit id="1aa4883bc4f1352f7a0bdd94810a9bf6dc22bd02" datatype="html">\n        <source>Removed</source>\n        <target>Removed</target>\n      </trans-unit>\n      <trans-unit id="402f3ee47f98fbbc68530239b1ddcbb9e96a460c" datatype="html">\n        <source>Edited</source>\n        <target>Edited</target>\n      </trans-unit>\n      <trans-unit id="96d56ec71c6e78cb4d6204c4a9359a3d38fcdb59" datatype="html">\n        <source>Canceled</source>\n        <target>Canceled</target>\n      </trans-unit>\n      <trans-unit id="a3318a2ee2bd0064b6b9ff72a4018b679ec63125" datatype="html">\n        <source>Cloned</source>\n        <target>克隆完成</target>\n      </trans-unit>\n      <trans-unit id="ef90545bc832876c0d7f9a10363c75137472bbb5" datatype="html">\n        <source>Copied</source>\n        <target>复制完成</target>\n      </trans-unit>\n      <trans-unit id="5a13d3834133e09544ec93885662f181372dcf46" datatype="html">\n        <source>Deep Scrubbed</source>\n        <target>Deep Scrubbed</target>\n      </trans-unit>\n      <trans-unit id="7c9efb91434a5c15e9579c0b31c8e184b8c8240d" datatype="html">\n        <source>Destroyed</source>\n        <target>Destroyed</target>\n      </trans-unit>\n      <trans-unit id="647059bf3ea098fffedf92ddfad792bb3daa3c95" datatype="html">\n        <source>Flattened</source>\n        <target>展开完成</target>\n      </trans-unit>\n      <trans-unit id="8df71e952319eafa71c8e6ef6144b780af8813ff" datatype="html">\n        <source>Marked Down</source>\n        <target>Marked Down</target>\n      </trans-unit>\n      <trans-unit id="25658f5a080a1cab3b91e17b756b1d1dc46bb9b3" datatype="html">\n        <source>Marked In</source>\n        <target>Marked In</target>\n      </trans-unit>\n      <trans-unit id="ebcf306036a6c5579df9448f77eca98d491db245" datatype="html">\n        <source>Marked Lost</source>\n        <target>Marked Lost</target>\n      </trans-unit>\n      <trans-unit id="3a8803369ac18be3ad762384b9fda095fe2a6dcc" datatype="html">\n        <source>Marked Out</source>\n        <target>Marked Out</target>\n      </trans-unit>\n      <trans-unit id="0fe2a62ea7c609fa8326ee6d38060bc5ba8bf34f" datatype="html">\n        <source>Protected</source>\n        <target>Protected</target>\n      </trans-unit>\n      <trans-unit id="69b0446c6c2411c4fe01e411b8ceec72d4044fb4" datatype="html">\n        <source>Purged</source>\n        <target>已清除</target>\n      </trans-unit>\n      <trans-unit id="d53de1a61bd51c815dc374c7f97e4ee69230e412" datatype="html">\n        <source>Renamed</source>\n        <target>Renamed</target>\n      </trans-unit>\n      <trans-unit id="86fc6cae82c095f14105eb8a61d7b3fa948304b7" datatype="html">\n        <source>Restored</source>\n        <target>已经把</target>\n      </trans-unit>\n      <trans-unit id="e87dd0fd35460cb743046db918dfce2137b5977a" datatype="html">\n        <source>Reweighted</source>\n        <target>Reweighted</target>\n      </trans-unit>\n      <trans-unit id="dc21fd6547f2325c67f6deff925f29eb07a2db3e" datatype="html">\n        <source>Rolled back</source>\n        <target>回滚完成</target>\n      </trans-unit>\n      <trans-unit id="15dec4c2d73a516c10aef90aeeea3364fa794615" datatype="html">\n        <source>Scrubbed</source>\n        <target>Scrubbed</target>\n      </trans-unit>\n      <trans-unit id="8dc560ded67482f109a98e0638851ad1d37188b3" datatype="html">\n        <source>Showed</source>\n        <target>Showed</target>\n      </trans-unit>\n      <trans-unit id="197259b7ea76f15c6d0a64b075a673fd4112ada7" datatype="html">\n        <source>Moved to Trash</source>\n        <target>Moved to Trash</target>\n      </trans-unit>\n      <trans-unit id="8fb15cb102cd75b562680290b7e04c44d80018f2" datatype="html">\n        <source>Unprotected</source>\n        <target>Unprotected</target>\n      </trans-unit>\n      <trans-unit id="8588eafa498262a1cbb5043ad68cf0ff669c4f10" datatype="html">\n        <source>Recreated</source>\n        <target>Recreated</target>\n      </trans-unit>\n      <trans-unit id="ffde7468d7b5cad6990095ed68ddee3d67cd02f8" datatype="html">\n        <source>Expired</source>\n        <target>Expired</target>\n      </trans-unit>\n      <trans-unit id="4f20f2d5a6882190892e58b85f6ccbedfa737952" datatype="html">\n        <source>Yes</source>\n        <target>是</target>\n      </trans-unit>\n      <trans-unit id="3d3ae7deebc5949b0c1c78b9847886a94321d9fd" datatype="html">\n        <source>No</source>\n        <target>否</target>\n      </trans-unit>\n      <trans-unit id="99fa0b67376d40142bd4d3ace3344abf4f98b6a5" datatype="html">\n        <source>Your matcher seems to match no currently defined rule or active alert.</source>\n        <target>Your matcher seems to match no currently defined rule or active alert.</target>\n      </trans-unit>\n      <trans-unit id="7e284852732c303eb1f47de9aca2569e41aeffed" datatype="html">\n        <source>no active alerts</source>\n        <target>no active alerts</target>\n      </trans-unit>\n      <trans-unit id="b8042829e4fbe7b09fd9bac9fa0ecf5cc1802fee" datatype="html">\n        <source>1 active alert</source>\n        <target>1 active alert</target>\n      </trans-unit>\n      <trans-unit id="e24adce97669cb0fc74cc13fdc14179b6f78ea5e" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{n}}"/> active alerts\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{n}}"/> active alerts\n        </target>\n      </trans-unit>\n      <trans-unit id="d8fb058ff5883731d38a132da4ca45cfe8d719a3" datatype="html">\n        <source>Matches 1 rule</source>\n        <target>Matches 1 rule</target>\n      </trans-unit>\n      <trans-unit id="90aaef24d192e67c3fbc2ec6f8bfaff211cea128" datatype="html">\n        <source>Matches \n          <x id="INTERPOLATION" equiv-text="{{n}}"/> rules\n        </source>\n        <target>Matches \n          <x id="INTERPOLATION" equiv-text="{{n}}"/> rules\n        </target>\n      </trans-unit>\n      <trans-unit id="f4685dc581e18244cd410f1057a8c56a9dbfe8df" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rules}}"/> with \n          <x id="INTERPOLATION_1" equiv-text="{{alerts}}"/>.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rules}}"/> with \n          <x id="INTERPOLATION_1" equiv-text="{{alerts}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8fd98fb2a0f24ba72cde0787dd3f02cfc17de469" datatype="html">\n        <source>Quality of Service</source>\n        <target>服务质量 (QoS)</target>\n      </trans-unit>\n      <trans-unit id="2c53f3ce2c6fff9025a7b41cc334521725da6e7b" datatype="html">\n        <source>BPS Limit</source>\n        <target>BPS 上限</target>\n      </trans-unit>\n      <trans-unit id="e897624a392419386b035bcd8529337e262fc41d" datatype="html">\n        <source>The desired limit of IO bytes per second.</source>\n        <target>指定的每秒 IO 字节数上限。</target>\n      </trans-unit>\n      <trans-unit id="dc56f77e4507da7e86a3accd0a2a7099a838d539" datatype="html">\n        <source>IOPS Limit</source>\n        <target>IOPS 上限</target>\n      </trans-unit>\n      <trans-unit id="141c3f6eadbb35b0e17b2f847e4cac23240a6ea9" datatype="html">\n        <source>The desired limit of IO operations per second.</source>\n        <target>指定的每秒 IO 操作次数上限。</target>\n      </trans-unit>\n      <trans-unit id="3b3b101f16c38806e984b157e0cf22cd21451122" datatype="html">\n        <source>Read BPS Limit</source>\n        <target>读 BPS 上限</target>\n      </trans-unit>\n      <trans-unit id="87835fabb6a645873f3829a450ca1d58f97754f2" datatype="html">\n        <source>The desired limit of read bytes per second.</source>\n        <target>指定的每秒内读取的字节数上限。</target>\n      </trans-unit>\n      <trans-unit id="28b485e700df46d70b96666099f714e3ae9e5c2e" datatype="html">\n        <source>Read IOPS Limit</source>\n        <target>读 IOPS 上限</target>\n      </trans-unit>\n      <trans-unit id="5907bd1a5cf3e20e740bca676cb1538372e1f9ff" datatype="html">\n        <source>The desired limit of read operations per second.</source>\n        <target>指定的每秒读操作次数上限。</target>\n      </trans-unit>\n      <trans-unit id="07317121f0b194987d4dee8b322f521ac17bf124" datatype="html">\n        <source>Write BPS Limit</source>\n        <target>写 BPS 上限</target>\n      </trans-unit>\n      <trans-unit id="4022c78bd9132ca2ec67927f8484c437d1d9b6fd" datatype="html">\n        <source>The desired limit of write bytes per second.</source>\n        <target>指定的每秒内写入的字节数上限。</target>\n      </trans-unit>\n      <trans-unit id="52c22c19f98ff3a09bd811292954a889b93d28b7" datatype="html">\n        <source>Write IOPS Limit</source>\n        <target>写 IOPS 上限</target>\n      </trans-unit>\n      <trans-unit id="0ed62e3fd8654b3191fc7fa959ad3f10f1ea773a" datatype="html">\n        <source>The desired limit of write operations per second.</source>\n        <target>指定的每秒写操作次数上限。</target>\n      </trans-unit>\n      <trans-unit id="d90c99d77864f21f932ee1369019f400c4ad0e2d" datatype="html">\n        <source>BPS Burst</source>\n        <target>BPS 突发</target>\n      </trans-unit>\n      <trans-unit id="29c32192f4d185139aaaf6d3a766a3411dfeabbe" datatype="html">\n        <source>The desired burst limit of IO bytes.</source>\n        <target>指定的 IO 字节数突发上限。</target>\n      </trans-unit>\n      <trans-unit id="b988b90489e899941e196c3dd0ecc22e37540224" datatype="html">\n        <source>IOPS Burst</source>\n        <target>IOPS 突发</target>\n      </trans-unit>\n      <trans-unit id="02c5de8ff11870f1b3896f2b45637ce0dba1ed4b" datatype="html">\n        <source>The desired burst limit of IO operations.</source>\n        <target>指定的 IO 操作次数突发上限。</target>\n      </trans-unit>\n      <trans-unit id="7a160538129b37cf595f1651f28b5fac62fbc0f8" datatype="html">\n        <source>Read BPS Burst</source>\n        <target>读 BPS 突发</target>\n      </trans-unit>\n      <trans-unit id="b573a5df16a53b9947288461bc24e6a0eb4341d6" datatype="html">\n        <source>The desired burst limit of read bytes.</source>\n        <target>指定的读取的字节数突发上限。</target>\n      </trans-unit>\n      <trans-unit id="1d5b8c2a0c653651cc4ca4b8fed9456f449220d1" datatype="html">\n        <source>Read IOPS Burst</source>\n        <target>读 IOPS 突发</target>\n      </trans-unit>\n      <trans-unit id="20b199f9d4a8d08ffefec66040e27639ec221512" datatype="html">\n        <source>The desired burst limit of read operations.</source>\n        <target>指定的读操作次数突发上限。</target>\n      </trans-unit>\n      <trans-unit id="824525ae57992aee629ddffcd500a8b77087ddec" datatype="html">\n        <source>Write BPS Burst</source>\n        <target>写 BPS 突发</target>\n      </trans-unit>\n      <trans-unit id="a90aac4050a5d79765da5e1186909f6d4d7f981d" datatype="html">\n        <source>The desired burst limit of write bytes.</source>\n        <target>指定的写入的字节数突发上限。</target>\n      </trans-unit>\n      <trans-unit id="35a8c6e6c249c7d16e26aa7c4ef97c06db405070" datatype="html">\n        <source>Write IOPS Burst</source>\n        <target>写 IOPS 突发</target>\n      </trans-unit>\n      <trans-unit id="b356abd41d7e9eea4d20c03d2e6892b6d435ecbd" datatype="html">\n        <source>The desired burst limit of write operations.</source>\n        <target>指定的写操作次数突发上限。</target>\n      </trans-unit>\n      <trans-unit id="24c4d50fe8567de381a20a1745f1b6d37eacaa90" datatype="html">\n        <source>Failed to \n          <x id="INTERPOLATION" equiv-text="{{failure}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{metadata}}"/>\n        </source>\n        <target>Failed to \n          <x id="INTERPOLATION" equiv-text="{{failure}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{metadata}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="f54b6f09b390d5ade0e354f6c7d4743c10a315cc" datatype="html">\n        <source>Executing</source>\n        <target>正在执行</target>\n      </trans-unit>\n      <trans-unit id="5cdfe3e3330ea42bfd29c540dbd268bee97d364d" datatype="html">\n        <source>execute</source>\n        <target>执行</target>\n      </trans-unit>\n      <trans-unit id="6e98e243518daa88be30330fcdbd2d10f8eae4d7" datatype="html">\n        <source>Executed</source>\n        <target>执行完毕</target>\n      </trans-unit>\n      <trans-unit id="24b09aa5bd909273a023d2d788a2673325c77e31" datatype="html">\n        <source>unknown task</source>\n        <target>未知任务</target>\n      </trans-unit>\n      <trans-unit id="114b5f92b9192b229ffc9a450319a97ccca2aa5c" datatype="html">\n        <source>Creating</source>\n        <target>正在创建</target>\n      </trans-unit>\n      <trans-unit id="56695b69d27437ada580a187958407e7c856d46e" datatype="html">\n        <source>create</source>\n        <target>创建</target>\n      </trans-unit>\n      <trans-unit id="9db60170ef3b3b41a863e7d5ee7cec10919b9141" datatype="html">\n        <source>Updating</source>\n        <target>正在更新</target>\n      </trans-unit>\n      <trans-unit id="64412640835b7d25247cb254d4f911366c0e6862" datatype="html">\n        <source>update</source>\n        <target>更新</target>\n      </trans-unit>\n      <trans-unit id="416193bb373d59477458b00e5922d755e2e2cacd" datatype="html">\n        <source>Deleting</source>\n        <target>正在删除</target>\n      </trans-unit>\n      <trans-unit id="70ef158c584bafe788e319a0bffa11b02ee9abf1" datatype="html">\n        <source>delete</source>\n        <target>删除</target>\n      </trans-unit>\n      <trans-unit id="d07a282afc7fbdb39cea6e1c9b544882a7260a86" datatype="html">\n        <source>Adding</source>\n        <target>Adding</target>\n      </trans-unit>\n      <trans-unit id="a11ec4e640f241329943237d2a3cceaa4823658e" datatype="html">\n        <source>add</source>\n        <target>add</target>\n      </trans-unit>\n      <trans-unit id="ea1c70b874904216cc5af24bd7cb3dab2d074d42" datatype="html">\n        <source>Removing</source>\n        <target>Removing</target>\n      </trans-unit>\n      <trans-unit id="4da487aec5a29ce4372e7b512227cd665b01fe6f" datatype="html">\n        <source>remove</source>\n        <target>remove</target>\n      </trans-unit>\n      <trans-unit id="3f757cfc3749ebb5d4462017cb60138ca082f15f" datatype="html">\n        <source>RBD \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>RBD \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="a6c681e6130fe440ae40de99a405fcf5c7eefee1" datatype="html">\n        <source>RBD snapshot \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>RBD snapshot \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="4fb54a0291f49583c317d4a3690239141b5a8f68" datatype="html">\n        <source>mirror mode for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>mirror mode for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="6621ab6e122a149326a1e48e9051a41e7f203cf6" datatype="html">\n        <source>mirror peer for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>mirror peer for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="db15adc778317d551232fe712eb03a2c1eac4a43" datatype="html">\n        <source>all dashboards</source>\n        <target>all dashboards</target>\n      </trans-unit>\n      <trans-unit id="1b559dbd9cc9664fd788c2da9a10d3abafe066cb" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8fc28e1103d9f2ef47b9fff9a4f74e8365c7cf19" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="1cdc7ea44fcb85d0cfcf6e7379d625d8674a8fbe" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="1ff7676ad1e991102224540a32dd44ad1ab88aa8" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.\n        </target>\n      </trans-unit>\n      <trans-unit id="c3a1dcca2b2ba20fbe39e2441e7bb1cf9c20cdf3" datatype="html">\n        <source>Cloning</source>\n        <target>正在克隆</target>\n      </trans-unit>\n      <trans-unit id="b5fa4e0a3a279dee5b6bf7b823e54387f7c79994" datatype="html">\n        <source>clone</source>\n        <target>克隆</target>\n      </trans-unit>\n      <trans-unit id="29b7452e8367af9aa8fa828f16ff94c3530e7a1a" datatype="html">\n        <source>Snapshot of \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> must be protected.\n        </source>\n        <target>Snapshot of \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> must be protected.\n        </target>\n      </trans-unit>\n      <trans-unit id="369f93b9a07a9465f7a261e9f0021b6cfa7180c5" datatype="html">\n        <source>Copying</source>\n        <target>正在复制</target>\n      </trans-unit>\n      <trans-unit id="37584f889855d153a106f5dffe23d21f9453c8ff" datatype="html">\n        <source>copy</source>\n        <target>复制</target>\n      </trans-unit>\n      <trans-unit id="6ea9e313a04ef59222feaadfe84e97b4c69d7e9e" datatype="html">\n        <source>Flattening</source>\n        <target>正在展开</target>\n      </trans-unit>\n      <trans-unit id="1f57593581b64d2d4c70eab1736bd9bccc66a7dc" datatype="html">\n        <source>flatten</source>\n        <target>展开</target>\n      </trans-unit>\n      <trans-unit id="d990ef9680cd23bbe652c37eb46bf038cfee80ad" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="a101745d080ef65c09bd5fafc796f94ddb9f9d60" datatype="html">\n        <source>Cannot unprotect \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it contains child images.\n        </source>\n        <target>Cannot unprotect \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it contains child images.\n        </target>\n      </trans-unit>\n      <trans-unit id="647968f4cde7786cd53ec8e6aa9802ac6824a262" datatype="html">\n        <source>Cannot delete \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it\'s protected.\n        </source>\n        <target>Cannot delete \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it\'s protected.\n        </target>\n      </trans-unit>\n      <trans-unit id="57ddd3e15cf0ce974356b757451f50116a27272b" datatype="html">\n        <source>Rolling back</source>\n        <target>正在回滚</target>\n      </trans-unit>\n      <trans-unit id="a8913a3a5ee61f2598b5f0432cb9b20cdd60548e" datatype="html">\n        <source>rollback</source>\n        <target>回滚</target>\n      </trans-unit>\n      <trans-unit id="de8676f0017c9db6c49388cd7d63cd0a83a0c1dc" datatype="html">\n        <source>Moving</source>\n        <target>正在把</target>\n      </trans-unit>\n      <trans-unit id="2d810712308ae63cb795d809687a3254ef7a2f05" datatype="html">\n        <source>move</source>\n        <target>把</target>\n      </trans-unit>\n      <trans-unit id="f3ba995236e5c1cc77686108980c099a90aec754" datatype="html">\n        <source>Moved</source>\n        <target>已经把</target>\n      </trans-unit>\n      <trans-unit id="d0422169252d132624a20f267b5c29f28cb53ebe" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' to trash\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' to trash\n        </target>\n      </trans-unit>\n      <trans-unit id="b603e2dfed9808222fbcb5a7c5f4da2cc6ae2aae" datatype="html">\n        <source>Could not find image.</source>\n        <target>无法找到映像。</target>\n      </trans-unit>\n      <trans-unit id="398debe73006b1fe5177ed81d2e7b0cc852f61ec" datatype="html">\n        <source>Restoring</source>\n        <target>正在把</target>\n      </trans-unit>\n      <trans-unit id="c252806fb400e79bac194696632c9362742b1538" datatype="html">\n        <source>restore</source>\n        <target>把</target>\n      </trans-unit>\n      <trans-unit id="30b8bcf69b3f1754b7abba173fd806cfcea4cb04" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' into \'\n          <x id="INTERPOLATION_1" equiv-text="{{new_id}}"/>\'\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' into \'\n          <x id="INTERPOLATION_1" equiv-text="{{new_id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="13b7b241cef989fe0932ddd180e757658e1817e7" datatype="html">\n        <source>Image name \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' is already in use.\n        </source>\n        <target>Image name \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' is already in use.\n        </target>\n      </trans-unit>\n      <trans-unit id="cc1cee12c833e8fbbef28a2a7c449dc530da912d" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="38e5f47f8bef505652f3e87f46efb00ead1350a3" datatype="html">\n        <source>Purging</source>\n        <target>正在清除</target>\n      </trans-unit>\n      <trans-unit id="e4e57747f123f0fe6fe3a0ecf608f8bc287dec0c" datatype="html">\n        <source>purge</source>\n        <target>清除</target>\n      </trans-unit>\n      <trans-unit id="1560d58fdf39663929653250d45f5b1dfe078fea" datatype="html">\n        <source>all pools</source>\n        <target>所有存储池</target>\n      </trans-unit>\n      <trans-unit id="1ac3dc50c2c3d86e98bc0967ee1e696810a2d3aa" datatype="html">\n        <source>images from \n          <x id="INTERPOLATION" equiv-text="{{message}}"/>\n        </source>\n        <target>images from \n          <x id="INTERPOLATION" equiv-text="{{message}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="02278abbb044ece04ab6bd80bd2060198d31d83b" datatype="html">\n        <source>Cannot disable mirroring because it contains a peer.</source>\n        <target>因为包含同伴集群,无法禁用镜像功能</target>\n      </trans-unit>\n      <trans-unit id="f123ae1fc3b000e5d08e766dd78bff162afe709d" datatype="html">\n        <source>host \'\n          <x id="INTERPOLATION" equiv-text="{{hostname}}"/>\'\n        </source>\n        <target>host \'\n          <x id="INTERPOLATION" equiv-text="{{hostname}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="dfe70001dc590a9e12512cbb206aa29fb36fd00b" datatype="html">\n        <source>pool \'\n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>\'\n        </source>\n        <target>pool \'\n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="59630daf2f4786690fae0cdad55da8887236eabe" datatype="html">\n        <source>erasure code profile \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </source>\n        <target>erasure code profile \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="369462e5e018360e0600bb570866201ad5c3c8a8" datatype="html">\n        <source>target \'\n          <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>\'\n        </source>\n        <target>target \'\n          <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="cf41310917cb19b335e5a950972bbff2346f7a47" datatype="html">\n        <source>NFS \n          <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>\n        </source>\n        <target>NFS \n          <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="54bf6542e39412f83ec883266f443e31b304c937" datatype="html">\n        <source>Required rules for password complexity:\n    - must contain at least 8 characters\n    - cannot contain username\n    - cannot contain any keyword used in Ceph\n    - cannot contain any repetitive characters e.g. "aaa"\n    - cannot contain any sequencial characters e.g. "abc"\n    - must consist of characters from the following groups:\n      * alphabetic a-z, A-Z\n      * numbers 0-9\n      * special chars: !"#$%&amp; \'()*+,-./:;&lt;=&gt;?@[\\]^_`\n          <x id="INTERPOLATION" equiv-text="{{|}}"/>~\n      * any other characters (signs)\n        </source>\n        <target>Required rules for password complexity:\n    - must contain at least 8 characters\n    - cannot contain username\n    - cannot contain any keyword used in Ceph\n    - cannot contain any repetitive characters e.g. "aaa"\n    - cannot contain any sequencial characters e.g. "abc"\n    - must consist of characters from the following groups:\n      * alphabetic a-z, A-Z\n      * numbers 0-9\n      * special chars: !"#$%&amp; \'()*+,-./:;&lt;=&gt;?@[\\]^_`\n          <x id="INTERPOLATION" equiv-text="{{|}}"/>~\n      * any other characters (signs)\n        </target>\n      </trans-unit>\n      <trans-unit id="ba575e9364b43dc870e332265c5182bb357b7a49" datatype="html">\n        <source>Weak</source>\n        <target>Weak</target>\n      </trans-unit>\n      <trans-unit id="7e6c975ebea8b5f8b120905ca7acf9f8edf59d8e" datatype="html">\n        <source>OK</source>\n        <target>OK</target>\n      </trans-unit>\n      <trans-unit id="3f7349017a01eed18c3daf2b7295ca96ef442eb6" datatype="html">\n        <source>Strong</source>\n        <target>Strong</target>\n      </trans-unit>\n      <trans-unit id="a1e3aecc2022cb0ebed8575a24d0e29d2de815c6" datatype="html">\n        <source>Very strong</source>\n        <target>Very strong</target>\n      </trans-unit>\n    </body>\n  </file>\n</xliff>'},AqeW:function(t,e,n){"use strict";function a(t,e){for(var n,a,r,o=[],i=[];(n=document.elementFromPoint(t,e))&&-1===o.indexOf(n)&&null!=n;)o.push(n),i.push({value:n.style.getPropertyValue("pointer-events"),priority:n.style.getPropertyPriority("pointer-events")}),n.style.setProperty("pointer-events","none","important");for(a=i.length;r=i[--a];)o[a].style.setProperty("pointer-events",r.value?r.value:"",r.priority);return o}Object.defineProperty(e,"__esModule",{value:!0}),"undefined"==typeof document||document.elementsFromPoint||(document.elementsFromPoint=a),e.elementsFromPoint=a},Avrn:function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var a=n("aexS"),r=n("8Y7J"),o=n("iInd");let i=(()=>{class t{constructor(t,e){this.router=t,this.authStorageService=e}canActivate(){return!!this.authStorageService.isLoggedIn()||(this.router.navigate(["/login"]),!1)}canActivateChild(){return this.canActivate()}}return t.ngInjectableDef=r["ɵɵdefineInjectable"]({factory:function(){return new t(r["ɵɵinject"](o.m),r["ɵɵinject"](a.a))},token:t,providedIn:"root"}),t})()},AvvY:function(t,e,n){!function(t){"use strict";t.defineLocale("ml",{months:"ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ".split("_"),monthsShort:"ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.".split("_"),monthsParseExact:!0,weekdays:"ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച".split("_"),weekdaysShort:"ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി".split("_"),weekdaysMin:"ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ".split("_"),longDateFormat:{LT:"A h:mm -നു",LTS:"A h:mm:ss -നു",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm -നു",LLLL:"dddd, D MMMM YYYY, A h:mm -നു"},calendar:{sameDay:"[ഇന്ന്] LT",nextDay:"[നാളെ] LT",nextWeek:"dddd, LT",lastDay:"[ഇന്നലെ] LT",lastWeek:"[കഴിഞ്ഞ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s കഴിഞ്ഞ്",past:"%s മുൻപ്",s:"അൽപ നിമിഷങ്ങൾ",ss:"%d സെക്കൻഡ്",m:"ഒരു മിനിറ്റ്",mm:"%d മിനിറ്റ്",h:"ഒരു മണിക്കൂർ",hh:"%d മണിക്കൂർ",d:"ഒരു ദിവസം",dd:"%d ദിവസം",M:"ഒരു മാസം",MM:"%d മാസം",y:"ഒരു വർഷം",yy:"%d വർഷം"},meridiemParse:/രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,meridiemHour:function(t,e){return 12===t&&(t=0),"രാത്രി"===e&&t>=4||"ഉച്ച കഴിഞ്ഞ്"===e||"വൈകുന്നേരം"===e?t+12:t},meridiem:function(t,e,n){return t<4?"രാത്രി":t<12?"രാവിലെ":t<17?"ഉച്ച കഴിഞ്ഞ്":t<20?"വൈകുന്നേരം":"രാത്രി"}})}(n("wd/R"))},AxL3:function(t,e){var n=!("undefined"==typeof window||!window.document||!window.document.createElement);t.exports=n},B55N:function(t,e,n){!function(t){"use strict";t.defineLocale("ja",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日".split("_"),weekdaysShort:"日_月_火_水_木_金_土".split("_"),weekdaysMin:"日_月_火_水_木_金_土".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日 dddd HH:mm",l:"YYYY/MM/DD",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日(ddd) HH:mm"},meridiemParse:/午前|午後/i,isPM:function(t){return"午後"===t},meridiem:function(t,e,n){return t<12?"午前":"午後"},calendar:{sameDay:"[今日] LT",nextDay:"[明日] LT",nextWeek:function(t){return t.week()<this.week()?"[来週]dddd LT":"dddd LT"},lastDay:"[昨日] LT",lastWeek:function(t){return this.week()<t.week()?"[先週]dddd LT":"dddd LT"},sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}日/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"日";default:return t}},relativeTime:{future:"%s後",past:"%s前",s:"数秒",ss:"%d秒",m:"1分",mm:"%d分",h:"1時間",hh:"%d時間",d:"1日",dd:"%d日",M:"1ヶ月",MM:"%dヶ月",y:"1年",yy:"%d年"}})}(n("wd/R"))},B8du:function(t,e){t.exports=function(){return!1}},BARL:function(t,e,n){var a=n("mrSG").__decorate;Object.defineProperty(e,"__esModule",{value:!0});var r=n("8Y7J"),o=n("qCKp");e.ColumnChangesService=function(){function t(){this.columnInputChanges=new o.Subject}return Object.defineProperty(t.prototype,"columnInputChanges$",{get:function(){return this.columnInputChanges.asObservable()},enumerable:!0,configurable:!0}),t.prototype.onInputChange=function(){this.columnInputChanges.next()},a([r.Injectable()],t)}()},BFxc:function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var a=n("7o/Q"),r=n("4I5i"),o=n("EY2u");function i(t){return function(e){return 0===t?Object(o.b)():e.lift(new s(t))}}class s{constructor(t){if(this.total=t,this.total<0)throw new r.a}call(t,e){return e.subscribe(new c(t,this.total))}}class c extends a.a{constructor(t,e){super(t),this.total=e,this.ring=new Array,this.count=0}_next(t){const e=this.ring,n=this.total,a=this.count++;e.length<n?e.push(t):e[a%n]=t}_complete(){const t=this.destination;let e=this.count;if(e>0){const n=this.count>=this.total?this.total:this.count,a=this.ring;for(let r=0;r<n;r++){const r=e++%n;t.next(a[r])}}t.complete()}}},BQkM:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{transform(t){return`${t} IOPS`}}},BVg3:function(t,e,n){!function(t){"use strict";function e(t){return t%100==11||t%10!=1}function n(t,n,a,r){var o=t+" ";switch(a){case"s":return n||r?"nokkrar sekúndur":"nokkrum sekúndum";case"ss":return e(t)?o+(n||r?"sekúndur":"sekúndum"):o+"sekúnda";case"m":return n?"mínúta":"mínútu";case"mm":return e(t)?o+(n||r?"mínútur":"mínútum"):n?o+"mínúta":o+"mínútu";case"hh":return e(t)?o+(n||r?"klukkustundir":"klukkustundum"):o+"klukkustund";case"d":return n?"dagur":r?"dag":"degi";case"dd":return e(t)?n?o+"dagar":o+(r?"daga":"dögum"):n?o+"dagur":o+(r?"dag":"degi");case"M":return n?"mánuður":r?"mánuð":"mánuði";case"MM":return e(t)?n?o+"mánuðir":o+(r?"mánuði":"mánuðum"):n?o+"mánuður":o+(r?"mánuð":"mánuði");case"y":return n||r?"ár":"ári";case"yy":return e(t)?o+(n||r?"ár":"árum"):o+(n||r?"ár":"ári")}}t.defineLocale("is",{months:"janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember".split("_"),monthsShort:"jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des".split("_"),weekdays:"sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur".split("_"),weekdaysShort:"sun_mán_þri_mið_fim_fös_lau".split("_"),weekdaysMin:"Su_Má_Þr_Mi_Fi_Fö_La".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd, D. MMMM YYYY [kl.] H:mm"},calendar:{sameDay:"[í dag kl.] LT",nextDay:"[á morgun kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[í gær kl.] LT",lastWeek:"[síðasta] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"eftir %s",past:"fyrir %s síðan",s:n,ss:n,m:n,mm:n,h:"klukkustund",hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("wd/R"))},BiGR:function(t,e,n){var a=n("nmnc"),r=n("03A+"),o=n("Z0cm"),i=a?a.isConcatSpreadable:void 0;t.exports=function(t){return o(t)||r(t)||!!(i&&t&&t[i])}},Bs8V:function(t,e,n){var a=n("g6v/"),r=n("0eef"),o=n("XGwC"),i=n("/GqU"),s=n("wE6v"),c=n("UTVS"),l=n("DPsx"),d=Object.getOwnPropertyDescriptor;e.f=a?d:function(t,e){if(t=i(t),e=s(e,!0),l)try{return d(t,e)}catch(n){}if(c(t,e))return o(!r.f.call(t,e),t[e])}},ByF4:function(t,e,n){!function(t){"use strict";t.defineLocale("fo",{months:"januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur".split("_"),weekdaysShort:"sun_mán_týs_mik_hós_frí_ley".split("_"),weekdaysMin:"su_má_tý_mi_hó_fr_le".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D. MMMM, YYYY HH:mm"},calendar:{sameDay:"[Í dag kl.] LT",nextDay:"[Í morgin kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[Í gjár kl.] LT",lastWeek:"[síðstu] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"um %s",past:"%s síðani",s:"fá sekund",ss:"%d sekundir",m:"ein minuttur",mm:"%d minuttir",h:"ein tími",hh:"%d tímar",d:"ein dagur",dd:"%d dagar",M:"ein mánaður",MM:"%d mánaðir",y:"eitt ár",yy:"%d ár"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("wd/R"))},C523:function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var a=n("8Y7J"),r=n("gk6K"),o=function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},i=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},s=function(){function t(t,e,n,a){this.el=t,this.renderer=e,this.treeDraggedElement=n,this.ngZone=a,this.dragEventHandler=this.onDrag.bind(this)}return t.prototype.ngAfterViewInit=function(){var t=this,e=this.el.nativeElement;this.ngZone.runOutsideAngular((function(){e.addEventListener("drag",t.dragEventHandler)}))},t.prototype.ngDoCheck=function(){this.renderer.setAttribute(this.el.nativeElement,"draggable",this.treeDragEnabled?"true":"false")},t.prototype.ngOnDestroy=function(){this.el.nativeElement.removeEventListener("drag",this.dragEventHandler)},t.prototype.onDragStart=function(t){t.dataTransfer.setData("text",t.target.id),this.treeDraggedElement.set(this.draggedElement),this.draggedElement.mouseAction&&this.draggedElement.mouseAction("dragStart",t)},t.prototype.onDrag=function(t){this.draggedElement.mouseAction&&this.draggedElement.mouseAction("drag",t)},t.prototype.onDragEnd=function(){this.draggedElement.mouseAction&&this.draggedElement.mouseAction("dragEnd"),this.treeDraggedElement.set(null)},o([Object(a.Input)("treeDrag"),i("design:type",Object)],t.prototype,"draggedElement",void 0),o([Object(a.Input)(),i("design:type",Object)],t.prototype,"treeDragEnabled",void 0),o([Object(a.HostListener)("dragstart",["$event"]),i("design:type",Function),i("design:paramtypes",[Object]),i("design:returntype",void 0)],t.prototype,"onDragStart",null),o([Object(a.HostListener)("dragend"),i("design:type",Function),i("design:paramtypes",[]),i("design:returntype",void 0)],t.prototype,"onDragEnd",null),o([Object(a.Directive)({selector:"[treeDrag]"}),i("design:paramtypes",[a.ElementRef,a.Renderer2,r.a,a.NgZone])],t)}()},C6Ij:function(t,e,n){"use strict";var a=n("8Y7J"),r=n("DqMs"),o=n("/NlG"),i=n("GiVz"),s=n("SVse");n("AWcq"),n.d(e,"a",(function(){return c})),n.d(e,"b",(function(){return m}));var c=a["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function l(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),a["ɵted"](-1,null,[" for "])),(t()(),a["ɵeld"](2,0,null,null,0,"span",[],[[8,"innerHTML",1]],null,null,null,null))],null,(function(t,e){t(e,2,0,e.component.statusFor)}))}function d(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,6,"cd-alert-panel",[["type","info"]],null,null,null,r.b,r.a)),a["ɵdid"](1,114688,null,0,o.a,[i.a],{type:[0,"type"]},null),(t()(),a["ɵeld"](2,0,null,0,4,null,null,null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["Retrieving data"])),(t()(),a["ɵand"](16777216,null,null,1,null,l)),a["ɵdid"](5,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵted"](-1,null,[". Please wait..."]))],(function(t,e){var n=e.component;t(e,1,0,"info"),t(e,5,0,n.statusFor)}),null)}function u(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),a["ɵted"](-1,null,[" for "])),(t()(),a["ɵeld"](2,0,null,null,0,"span",[],[[8,"innerHTML",1]],null,null,null,null))],null,(function(t,e){t(e,2,0,e.component.statusFor)}))}function g(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,6,"cd-alert-panel",[["type","warning"]],null,null,null,r.b,r.a)),a["ɵdid"](1,114688,null,0,o.a,[i.a],{type:[0,"type"]},null),(t()(),a["ɵeld"](2,0,null,0,4,null,null,null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["Displaying previously cached data"])),(t()(),a["ɵand"](16777216,null,null,1,null,u)),a["ɵdid"](5,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵted"](-1,null,["."]))],(function(t,e){var n=e.component;t(e,1,0,"warning"),t(e,5,0,n.statusFor)}),null)}function f(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),a["ɵted"](-1,null,[" for "])),(t()(),a["ɵeld"](2,0,null,null,0,"span",[],[[8,"innerHTML",1]],null,null,null,null))],null,(function(t,e){t(e,2,0,e.component.statusFor)}))}function p(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,6,"cd-alert-panel",[["type","error"]],null,null,null,r.b,r.a)),a["ɵdid"](1,114688,null,0,o.a,[i.a],{type:[0,"type"]},null),(t()(),a["ɵeld"](2,0,null,0,4,null,null,null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["Could not load data"])),(t()(),a["ɵand"](16777216,null,null,1,null,f)),a["ɵdid"](5,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵted"](-1,null,[". Please check the cluster health."]))],(function(t,e){var n=e.component;t(e,1,0,"error"),t(e,5,0,n.statusFor)}),null)}function m(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,1,null,d)),a["ɵdid"](1,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,g)),a["ɵdid"](3,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,p)),a["ɵdid"](5,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0,n.status===n.vcs.ValueNone),t(e,3,0,n.status===n.vcs.ValueStale),t(e,5,0,n.status===n.vcs.ValueException)}),null)}},CFvb:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));var a={LEFT:37,UP:38,RIGHT:39,DOWN:40,ENTER:13,SPACE:32,CONTEXT_MENU:32}},CH3K:function(t,e){t.exports=function(t,e){for(var n=-1,a=e.length,r=t.length;++n<a;)t[r+n]=e[n];return t}},CMye:function(t,e,n){var a=n("GoyQ");t.exports=function(t){return t==t&&!a(t)}},CNMR:function(t,e,n){"use strict";n.d(e,"a",(function(){return s})),n.d(e,"b",(function(){return i})),n.d(e,"c",(function(){return c}));var a=n("mrSG"),r=n("8Y7J"),o=n("hpHm");class i{constructor(){this.type="warning",this.dismissible=!1,this.dismissOnTimeout=void 0}}let s=(()=>{class t{constructor(t,e){this.changeDetection=e,this.type="warning",this.dismissible=!1,this.isOpen=!0,this.onClose=new r.EventEmitter,this.onClosed=new r.EventEmitter,this.classes="",this.dismissibleChange=new r.EventEmitter,Object.assign(this,t),this.dismissibleChange.subscribe(t=>{this.classes=this.dismissible?"alert-dismissible":"",this.changeDetection.markForCheck()})}ngOnInit(){this.dismissOnTimeout&&setTimeout(()=>this.close(),parseInt(this.dismissOnTimeout,10))}close(){this.isOpen&&(this.onClose.emit(this),this.isOpen=!1,this.changeDetection.markForCheck(),this.onClosed.emit(this))}}return Object(a.__decorate)([Object(o.a)(),Object(a.__metadata)("design:type",Object)],t.prototype,"dismissible",void 0),t})();class c{static forRoot(){return{ngModule:c,providers:[i]}}}},CVuo:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.camelCase=function(t){return(t=(t=(t=t.replace(/[^a-zA-Z0-9 ]/g," ")).replace(/([a-z](?=[A-Z]))/g,"$1 ")).replace(/([^a-zA-Z0-9 ])|^[0-9]+/g,"").trim().toLowerCase()).replace(/([ 0-9]+)([a-zA-Z])/g,(function(t,e,n){return e.trim()+n.toUpperCase()}))},e.deCamelCase=function(t){return t.replace(/([A-Z])/g,(function(t){return" "+t})).replace(/^./,(function(t){return t.toUpperCase()}))}},CZoQ:function(t,e){t.exports=function(t,e,n){for(var a=n-1,r=t.length;++a<r;)if(t[a]===e)return a;return-1}},Cc8h:function(t,e,n){var a=n("mrSG").__decorate,r=n("mrSG").__metadata;Object.defineProperty(e,"__esModule",{value:!0});var o=n("8Y7J"),i=n("qCKp"),s=n("kU1M");n("czA5"),e.LongPressDirective=function(){function t(){this.pressEnabled=!0,this.duration=500,this.longPressStart=new o.EventEmitter,this.longPressing=new o.EventEmitter,this.longPressEnd=new o.EventEmitter,this.mouseX=0,this.mouseY=0}return Object.defineProperty(t.prototype,"press",{get:function(){return this.pressing},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isLongPress",{get:function(){return this.isLongPressing},enumerable:!0,configurable:!0}),t.prototype.onMouseDown=function(t){var e=this;if(1===t.which&&this.pressEnabled&&!t.target.classList.contains("resize-handle")){this.mouseX=t.clientX,this.mouseY=t.clientY,this.pressing=!0,this.isLongPressing=!1;var n=i.fromEvent(document,"mouseup");this.subscription=n.subscribe((function(t){return e.onMouseup()})),this.timeout=setTimeout((function(){e.isLongPressing=!0,e.longPressStart.emit({event:t,model:e.pressModel}),e.subscription.add(i.fromEvent(document,"mousemove").pipe(s.takeUntil(n)).subscribe((function(t){return e.onMouseMove(t)}))),e.loop(t)}),this.duration),this.loop(t)}},t.prototype.onMouseMove=function(t){if(this.pressing&&!this.isLongPressing){var e=Math.abs(t.clientX-this.mouseX)>10,n=Math.abs(t.clientY-this.mouseY)>10;(e||n)&&this.endPress()}},t.prototype.loop=function(t){var e=this;this.isLongPressing&&(this.timeout=setTimeout((function(){e.longPressing.emit({event:t,model:e.pressModel}),e.loop(t)}),50))},t.prototype.endPress=function(){clearTimeout(this.timeout),this.isLongPressing=!1,this.pressing=!1,this._destroySubscription(),this.longPressEnd.emit({model:this.pressModel})},t.prototype.onMouseup=function(){this.endPress()},t.prototype.ngOnDestroy=function(){this._destroySubscription()},t.prototype._destroySubscription=function(){this.subscription&&(this.subscription.unsubscribe(),this.subscription=void 0)},a([o.Input(),r("design:type",Boolean)],t.prototype,"pressEnabled",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"pressModel",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"duration",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"longPressStart",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"longPressing",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"longPressEnd",void 0),a([o.HostBinding("class.press"),r("design:type",Boolean),r("design:paramtypes",[])],t.prototype,"press",null),a([o.HostBinding("class.longpress"),r("design:type",Boolean),r("design:paramtypes",[])],t.prototype,"isLongPress",null),a([o.HostListener("mousedown",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],t.prototype,"onMouseDown",null),a([o.Directive({selector:"[long-press]"})],t)}()},Cfvw:function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var a=n("HDdC"),r=n("SeVD"),o=n("7HRe");function i(t,e){return e?Object(o.a)(t,e):t instanceof a.a?t:new a.a(Object(r.a)(t))}},ChqD:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{}},CjzT:function(t,e,n){!function(t){"use strict";var e="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),a=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],r=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;t.defineLocale("es-do",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(t,a){return t?/-MMM-/.test(a)?n[t.month()]:e[t.month()]:e},monthsRegex:r,monthsShortRegex:r,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n("wd/R"))},CoRJ:function(t,e,n){!function(t){"use strict";t.defineLocale("ar-ma",{months:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdays:"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:6,doy:12}})}(n("wd/R"))},CoVI:function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var a=n("8Y7J"),r=n("2vnA"),o=function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},i=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},s=function(){function t(t,e){this.templateRef=t,this.viewContainer=e,this.templateBindings={}}return t.prototype.ngOnInit=function(){this.view=this.viewContainer.createEmbeddedView(this.templateRef),this.dispose&&this.dispose(),this.shouldDetach()&&this.view.detach(),this.autoDetect(this.view)},t.prototype.shouldDetach=function(){return this.treeMobxAutorun&&this.treeMobxAutorun.detach},t.prototype.autoDetect=function(t){this.dispose=Object(r.b)((function(){return t.detectChanges()}))},t.prototype.ngOnDestroy=function(){this.dispose&&this.dispose()},o([Object(a.Input)(),i("design:type",Object)],t.prototype,"treeMobxAutorun",void 0),o([Object(a.Directive)({selector:"[treeMobxAutorun]"}),i("design:paramtypes",[a.TemplateRef,a.ViewContainerRef])],t)}()},Cwc5:function(t,e,n){var a=n("NKxu"),r=n("Npjl");t.exports=function(t,e){var n=r(t,e);return a(n)?n:void 0}},CxY0:function(t,e,n){"use strict";var a=n("nYho"),r=n("Nehr");function o(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}e.parse=y,e.resolve=function(t,e){return y(t,!1,!0).resolve(e)},e.resolveObject=function(t,e){return t?y(t,!1,!0).resolveObject(e):e},e.format=function(t){return r.isString(t)&&(t=y(t)),t instanceof o?t.format():o.prototype.format.call(t)},e.Url=o;var i=/^([a-z0-9.+-]+:)/i,s=/:[0-9]*$/,c=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,l=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),d=["'"].concat(l),u=["%","/","?",";","#"].concat(d),g=["/","?","#"],f=/^[+a-z0-9A-Z_-]{0,63}$/,p=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,m={javascript:!0,"javascript:":!0},h={javascript:!0,"javascript:":!0},b={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},_=n("r8II");function y(t,e,n){if(t&&r.isObject(t)&&t instanceof o)return t;var a=new o;return a.parse(t,e,n),a}o.prototype.parse=function(t,e,n){if(!r.isString(t))throw new TypeError("Parameter 'url' must be a string, not "+typeof t);var o=t.indexOf("?"),s=-1!==o&&o<t.indexOf("#")?"?":"#",l=t.split(s);l[0]=l[0].replace(/\\/g,"/");var y=t=l.join(s);if(y=y.trim(),!n&&1===t.split("#").length){var O=c.exec(y);if(O)return this.path=y,this.href=y,this.pathname=O[1],O[2]?(this.search=O[2],this.query=e?_.parse(this.search.substr(1)):this.search.substr(1)):e&&(this.search="",this.query={}),this}var v=i.exec(y);if(v){var C=(v=v[0]).toLowerCase();this.protocol=C,y=y.substr(v.length)}if(n||v||y.match(/^\/\/[^@\/]+@[^@\/]+/)){var P="//"===y.substr(0,2);!P||v&&h[v]||(y=y.substr(2),this.slashes=!0)}if(!h[v]&&(P||v&&!b[v])){for(var M,x,w=-1,T=0;T<g.length;T++)-1!==(k=y.indexOf(g[T]))&&(-1===w||k<w)&&(w=k);for(-1!==(x=-1===w?y.lastIndexOf("@"):y.lastIndexOf("@",w))&&(M=y.slice(0,x),y=y.slice(x+1),this.auth=decodeURIComponent(M)),w=-1,T=0;T<u.length;T++){var k;-1!==(k=y.indexOf(u[T]))&&(-1===w||k<w)&&(w=k)}-1===w&&(w=y.length),this.host=y.slice(0,w),y=y.slice(w),this.parseHost(),this.hostname=this.hostname||"";var S="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!S)for(var I=this.hostname.split(/\./),N=(T=0,I.length);T<N;T++){var R=I[T];if(R&&!R.match(f)){for(var A="",E=0,D=R.length;E<D;E++)R.charCodeAt(E)>127?A+="x":A+=R[E];if(!A.match(f)){var L=I.slice(0,T),q=I.slice(T+1),j=R.match(p);j&&(L.push(j[1]),q.unshift(j[2])),q.length&&(y="/"+q.join(".")+y),this.hostname=L.join(".");break}}}this.hostname=this.hostname.length>255?"":this.hostname.toLowerCase(),S||(this.hostname=a.toASCII(this.hostname)),this.host=(this.hostname||"")+(this.port?":"+this.port:""),this.href+=this.host,S&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==y[0]&&(y="/"+y))}if(!m[C])for(T=0,N=d.length;T<N;T++){var F=d[T];if(-1!==y.indexOf(F)){var z=encodeURIComponent(F);z===F&&(z=escape(F)),y=y.split(F).join(z)}}var V=y.indexOf("#");-1!==V&&(this.hash=y.substr(V),y=y.slice(0,V));var G=y.indexOf("?");return-1!==G?(this.search=y.substr(G),this.query=y.substr(G+1),e&&(this.query=_.parse(this.query)),y=y.slice(0,G)):e&&(this.search="",this.query={}),y&&(this.pathname=y),b[C]&&this.hostname&&!this.pathname&&(this.pathname="/"),(this.pathname||this.search)&&(this.path=(this.pathname||"")+(this.search||"")),this.href=this.format(),this},o.prototype.format=function(){var t=this.auth||"";t&&(t=(t=encodeURIComponent(t)).replace(/%3A/i,":"),t+="@");var e=this.protocol||"",n=this.pathname||"",a=this.hash||"",o=!1,i="";this.host?o=t+this.host:this.hostname&&(o=t+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(o+=":"+this.port)),this.query&&r.isObject(this.query)&&Object.keys(this.query).length&&(i=_.stringify(this.query));var s=this.search||i&&"?"+i||"";return e&&":"!==e.substr(-1)&&(e+=":"),this.slashes||(!e||b[e])&&!1!==o?(o="//"+(o||""),n&&"/"!==n.charAt(0)&&(n="/"+n)):o||(o=""),a&&"#"!==a.charAt(0)&&(a="#"+a),s&&"?"!==s.charAt(0)&&(s="?"+s),e+o+(n=n.replace(/[?#]/g,(function(t){return encodeURIComponent(t)})))+(s=s.replace("#","%23"))+a},o.prototype.resolve=function(t){return this.resolveObject(y(t,!1,!0)).format()},o.prototype.resolveObject=function(t){if(r.isString(t)){var e=new o;e.parse(t,!1,!0),t=e}for(var n=new o,a=Object.keys(this),i=0;i<a.length;i++){var s=a[i];n[s]=this[s]}if(n.hash=t.hash,""===t.href)return n.href=n.format(),n;if(t.slashes&&!t.protocol){for(var c=Object.keys(t),l=0;l<c.length;l++){var d=c[l];"protocol"!==d&&(n[d]=t[d])}return b[n.protocol]&&n.hostname&&!n.pathname&&(n.path=n.pathname="/"),n.href=n.format(),n}if(t.protocol&&t.protocol!==n.protocol){if(!b[t.protocol]){for(var u=Object.keys(t),g=0;g<u.length;g++){var f=u[g];n[f]=t[f]}return n.href=n.format(),n}if(n.protocol=t.protocol,t.host||h[t.protocol])n.pathname=t.pathname;else{for(var p=(t.pathname||"").split("/");p.length&&!(t.host=p.shift()););t.host||(t.host=""),t.hostname||(t.hostname=""),""!==p[0]&&p.unshift(""),p.length<2&&p.unshift(""),n.pathname=p.join("/")}return n.search=t.search,n.query=t.query,n.host=t.host||"",n.auth=t.auth,n.hostname=t.hostname||t.host,n.port=t.port,(n.pathname||n.search)&&(n.path=(n.pathname||"")+(n.search||"")),n.slashes=n.slashes||t.slashes,n.href=n.format(),n}var m=n.pathname&&"/"===n.pathname.charAt(0),_=t.host||t.pathname&&"/"===t.pathname.charAt(0),y=_||m||n.host&&t.pathname,O=y,v=n.pathname&&n.pathname.split("/")||[],C=(p=t.pathname&&t.pathname.split("/")||[],n.protocol&&!b[n.protocol]);if(C&&(n.hostname="",n.port=null,n.host&&(""===v[0]?v[0]=n.host:v.unshift(n.host)),n.host="",t.protocol&&(t.hostname=null,t.port=null,t.host&&(""===p[0]?p[0]=t.host:p.unshift(t.host)),t.host=null),y=y&&(""===p[0]||""===v[0])),_)n.host=t.host||""===t.host?t.host:n.host,n.hostname=t.hostname||""===t.hostname?t.hostname:n.hostname,n.search=t.search,n.query=t.query,v=p;else if(p.length)v||(v=[]),v.pop(),v=v.concat(p),n.search=t.search,n.query=t.query;else if(!r.isNullOrUndefined(t.search))return C&&(n.hostname=n.host=v.shift(),(T=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@"))&&(n.auth=T.shift(),n.host=n.hostname=T.shift())),n.search=t.search,n.query=t.query,r.isNull(n.pathname)&&r.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.href=n.format(),n;if(!v.length)return n.pathname=null,n.path=n.search?"/"+n.search:null,n.href=n.format(),n;for(var P=v.slice(-1)[0],M=(n.host||t.host||v.length>1)&&("."===P||".."===P)||""===P,x=0,w=v.length;w>=0;w--)"."===(P=v[w])?v.splice(w,1):".."===P?(v.splice(w,1),x++):x&&(v.splice(w,1),x--);if(!y&&!O)for(;x--;x)v.unshift("..");!y||""===v[0]||v[0]&&"/"===v[0].charAt(0)||v.unshift(""),M&&"/"!==v.join("/").substr(-1)&&v.push("");var T,k=""===v[0]||v[0]&&"/"===v[0].charAt(0);return C&&(n.hostname=n.host=k?"":v.length?v.shift():"",(T=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@"))&&(n.auth=T.shift(),n.host=n.hostname=T.shift())),(y=y||n.host&&v.length)&&!k&&v.unshift(""),v.length?n.pathname=v.join("/"):(n.pathname=null,n.path=null),r.isNull(n.pathname)&&r.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.auth=t.auth||n.auth,n.slashes=n.slashes||t.slashes,n.href=n.format(),n},o.prototype.parseHost=function(){var t=this.host,e=s.exec(t);e&&(":"!==(e=e[0])&&(this.port=e.substr(1)),t=t.substr(0,t.length-e.length)),t&&(this.hostname=t)}},"D/JM":function(t,e,n){!function(t){"use strict";t.defineLocale("eu",{months:"urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"),monthsShort:"urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"),monthsParseExact:!0,weekdays:"igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"),weekdaysShort:"ig._al._ar._az._og._ol._lr.".split("_"),weekdaysMin:"ig_al_ar_az_og_ol_lr".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY[ko] MMMM[ren] D[a]",LLL:"YYYY[ko] MMMM[ren] D[a] HH:mm",LLLL:"dddd, YYYY[ko] MMMM[ren] D[a] HH:mm",l:"YYYY-M-D",ll:"YYYY[ko] MMM D[a]",lll:"YYYY[ko] MMM D[a] HH:mm",llll:"ddd, YYYY[ko] MMM D[a] HH:mm"},calendar:{sameDay:"[gaur] LT[etan]",nextDay:"[bihar] LT[etan]",nextWeek:"dddd LT[etan]",lastDay:"[atzo] LT[etan]",lastWeek:"[aurreko] dddd LT[etan]",sameElse:"L"},relativeTime:{future:"%s barru",past:"duela %s",s:"segundo batzuk",ss:"%d segundo",m:"minutu bat",mm:"%d minutu",h:"ordu bat",hh:"%d ordu",d:"egun bat",dd:"%d egun",M:"hilabete bat",MM:"%d hilabete",y:"urte bat",yy:"%d urte"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n("wd/R"))},D0XW:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("3N8a");const r=new(n("IjjT").a)(a.a)},D4zM:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{constructor(t,e){this.elementRef=t,this.renderer=e}ngOnInit(){this.renderer.setAttribute(this.elementRef.nativeElement,"tabindex","-1"),this.iElement=this.renderer.createElement("i"),this.renderer.addClass(this.iElement,"fa"),this.renderer.appendChild(this.elementRef.nativeElement,this.iElement),this.update()}getInputElement(){return document.getElementById(this.cdPasswordButton)}update(){const t=this.getInputElement();t&&"text"===t.type?(this.renderer.removeClass(this.iElement,"fa-eye"),this.renderer.addClass(this.iElement,"fa-eye-slash")):(this.renderer.removeClass(this.iElement,"fa-eye-slash"),this.renderer.addClass(this.iElement,"fa-eye"))}onClick(){const t=this.getInputElement();t.type="password"===t.type?"text":"password",this.update()}}},DH7j:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));const a=(()=>Array.isArray||(t=>t&&"number"==typeof t.length))()},"DKr+":function(t,e,n){!function(t){"use strict";function e(t,e,n,a){var r={s:["thodde secondanim","thodde second"],ss:[t+" secondanim",t+" second"],m:["eka mintan","ek minute"],mm:[t+" mintanim",t+" mintam"],h:["eka voran","ek vor"],hh:[t+" voranim",t+" voram"],d:["eka disan","ek dis"],dd:[t+" disanim",t+" dis"],M:["eka mhoinean","ek mhoino"],MM:[t+" mhoineanim",t+" mhoine"],y:["eka vorsan","ek voros"],yy:[t+" vorsanim",t+" vorsam"]};return e?r[n][0]:r[n][1]}t.defineLocale("gom-latn",{months:"Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr".split("_"),monthsShort:"Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son'var".split("_"),weekdaysShort:"Ait._Som._Mon._Bud._Bre._Suk._Son.".split("_"),weekdaysMin:"Ai_Sm_Mo_Bu_Br_Su_Sn".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A h:mm [vazta]",LTS:"A h:mm:ss [vazta]",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY A h:mm [vazta]",LLLL:"dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]",llll:"ddd, D MMM YYYY, A h:mm [vazta]"},calendar:{sameDay:"[Aiz] LT",nextDay:"[Faleam] LT",nextWeek:"[Ieta to] dddd[,] LT",lastDay:"[Kal] LT",lastWeek:"[Fatlo] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s",past:"%s adim",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}(er)/,ordinal:function(t,e){switch(e){case"D":return t+"er";default:case"M":case"Q":case"DDD":case"d":case"w":case"W":return t}},week:{dow:1,doy:4},meridiemParse:/rati|sokalli|donparam|sanje/,meridiemHour:function(t,e){return 12===t&&(t=0),"rati"===e?t<4?t:t+12:"sokalli"===e?t:"donparam"===e?t>12?t:t+12:"sanje"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"rati":t<12?"sokalli":t<16?"donparam":t<20?"sanje":"rati"}})}(n("wd/R"))},DNAf:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("LvDl");class r{constructor(t,e){this.customValidations={},this.i18n=e,this.empty=this.i18n("No items selected."),this.selectionLimit={tooltip:this.i18n("Deselect item to select again"),text:this.i18n("Selection limit reached")},this.filter=this.i18n("Filter tags"),this.add=this.i18n("Add badge"),this.noOptions=this.i18n("There are no items available."),a.merge(this,t)}}},DPsx:function(t,e,n){var a=n("g6v/"),r=n("0Dky"),o=n("zBJ4");t.exports=!a&&!r((function(){return 7!=Object.defineProperty(o("div"),"a",{get:function(){return 7}}).a}))},DSRE:function(t,e,n){(function(t){var a=n("Kz5y"),r=n("B8du"),o=e&&!e.nodeType&&e,i=o&&"object"==typeof t&&t&&!t.nodeType&&t,s=i&&i.exports===o?a.Buffer:void 0;t.exports=(s?s.isBuffer:void 0)||r}).call(this,n("YuTi")(t))},DSvg:function(t,e,n){"use strict";n.d(e,"a",(function(){return l}));var a=n("vkgz"),r=n("aexS"),o=n("8Y7J"),i=n("IheW"),s=n("iInd"),c=n("pL04");let l=(()=>{class t{constructor(t,e,n){this.authStorageService=t,this.http=e,this.router=n}check(t){return this.http.post("api/auth/check",{token:t})}login(t){return this.http.post("api/auth",t).pipe(Object(a.a)(t=>{this.authStorageService.set(t.username,t.token,t.permissions,t.sso,t.pwdExpirationDate,t.pwdUpdateRequired)}))}logout(t=null){return this.http.post("api/auth/logout",null).subscribe(e=>{this.router.navigate(["/logout"],{skipLocationChange:!0}),this.authStorageService.remove(),t&&t(),window.location.replace(e.redirect_url)})}}return t.ngInjectableDef=o["ɵɵdefineInjectable"]({factory:function(){return new t(o["ɵɵinject"](r.a),o["ɵɵinject"](i.c),o["ɵɵinject"](s.m))},token:t,providedIn:c.a}),t})()},Dkky:function(t,e,n){!function(t){"use strict";t.defineLocale("fr-ch",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(t,e){switch(e){default:case"M":case"Q":case"D":case"DDD":case"d":return t+(1===t?"er":"e");case"w":case"W":return t+(1===t?"re":"e")}},week:{dow:1,doy:4}})}(n("wd/R"))},Dmvi:function(t,e,n){!function(t){"use strict";t.defineLocale("en-au",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})}(n("wd/R"))},DoHr:function(t,e,n){!function(t){"use strict";var e={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'üncü",4:"'üncü",100:"'üncü",6:"'ncı",9:"'uncu",10:"'uncu",30:"'uncu",60:"'ıncı",90:"'ıncı"};t.defineLocale("tr",{months:"Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık".split("_"),monthsShort:"Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pts_Sal_Çar_Per_Cum_Cts".split("_"),weekdaysMin:"Pz_Pt_Sa_Ça_Pe_Cu_Ct".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[yarın saat] LT",nextWeek:"[gelecek] dddd [saat] LT",lastDay:"[dün] LT",lastWeek:"[geçen] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s önce",s:"birkaç saniye",ss:"%d saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir yıl",yy:"%d yıl"},ordinal:function(t,n){switch(n){case"d":case"D":case"Do":case"DD":return t;default:if(0===t)return t+"'ıncı";var a=t%10;return t+(e[a]||e[t%100-a]||e[t>=100?100:null])}},week:{dow:1,doy:7}})}(n("wd/R"))},DqMs:function(t,e,n){"use strict";var a=n("8Y7J"),r=n("SVse"),o=n("IZUe"),i=n("MdoF"),s=n("CNMR");n("/NlG"),n("GiVz"),n.d(e,"a",(function(){return c})),n.d(e,"b",(function(){return y}));var c=a["ɵcrt"]({encapsulation:0,styles:[[".alert-panel-icon[_ngcontent-%COMP%]{vertical-align:top;padding-right:.5em}.alert-panel-title[_ngcontent-%COMP%]{font-weight:700}"]],data:{}});function l(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,4,"td",[["class","alert-panel-icon"],["rowspan","2"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,3,"i",[["aria-hidden","true"]],null,null,null,null,null)),a["ɵprd"](512,null,r["ɵNgClassImpl"],r["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](3,278528,null,0,r.NgClass,[r["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),a["ɵpad"](4,1)],(function(t,e){var n=e.component,r=a["ɵinlineInterpolate"](2,"alert-",n.bootstrapClass," ",n.typeIcon,""),o=t(e,4,0,n.icons.large3x);t(e,3,0,r,o)}),null)}function d(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"td",[["class","alert-panel-title"]],null,null,null,null,null)),(t()(),a["ɵted"](1,null,["",""]))],null,(function(t,e){t(e,1,0,e.component.title)}))}function u(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,0,null,null,null,null,null,null,null))],null,null)}function g(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,9,null,null,null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,4,"tr",[],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,l)),a["ɵdid"](3,16384,null,0,r.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,d)),a["ɵdid"](5,16384,null,0,r.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵeld"](6,0,null,null,3,"tr",[],null,null,null,null,null)),(t()(),a["ɵeld"](7,0,null,null,2,"td",[["class","alert-panel-text"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,u)),a["ɵdid"](9,540672,null,0,r.NgTemplateOutlet,[a.ViewContainerRef],{ngTemplateOutlet:[0,"ngTemplateOutlet"]},null)],(function(t,e){var n=e.component;t(e,3,0,n.showIcon),t(e,5,0,n.showTitle),t(e,9,0,a["ɵnov"](e.parent,6))}),null)}function f(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"td",[["class","alert-panel-icon"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,0,"i",[["aria-hidden","true"]],[[8,"className",0]],null,null,null,null))],null,(function(t,e){var n=e.component;t(e,1,0,a["ɵinlineInterpolate"](2,"alert-",n.bootstrapClass," ",n.typeIcon,""))}))}function p(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"td",[["class","alert-panel-title"]],null,null,null,null,null)),(t()(),a["ɵted"](1,null,["",""]))],null,(function(t,e){t(e,1,0,e.component.title)}))}function m(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,0,null,null,null,null,null,null,null))],null,null)}function h(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,7,"tr",[],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,f)),a["ɵdid"](2,16384,null,0,r.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,p)),a["ɵdid"](4,16384,null,0,r.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵeld"](5,0,null,null,2,"td",[["class","alert-panel-text"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,m)),a["ɵdid"](7,540672,null,0,r.NgTemplateOutlet,[a.ViewContainerRef],{ngTemplateOutlet:[0,"ngTemplateOutlet"]},null)],(function(t,e){var n=e.component;t(e,2,0,n.showIcon),t(e,4,0,n.showTitle),t(e,7,0,a["ɵnov"](e.parent,6))}),null)}function b(t){return a["ɵvid"](0,[a["ɵncd"](null,0),(t()(),a["ɵand"](0,null,null,0))],null,null)}function _(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"div",[["class","button-group text-right"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,2,"button",[["autofocus",""],["class","btn btn-light tc_backButton"],["type","button"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.backAction.emit()&&a),a}),null,null)),a["ɵdid"](2,4210688,null,0,o.a,[a.ElementRef],{autofocus:[0,"autofocus"]},null),(t()(),a["ɵted"](-1,null,["Back"]))],(function(t,e){t(e,2,0,"")}),null)}function y(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,5,"alert",[],null,null,null,i.c,i.b)),a["ɵdid"](1,114688,null,0,s.a,[s.b,a.ChangeDetectorRef],{type:[0,"type"]},null),(t()(),a["ɵeld"](2,0,null,0,3,"table",[],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,g)),a["ɵdid"](4,16384,null,0,r.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"],ngIfElse:[1,"ngIfElse"]},null),(t()(),a["ɵand"](0,[["slim",2]],null,0,null,h)),(t()(),a["ɵand"](0,[["content",2]],null,0,null,b)),(t()(),a["ɵand"](16777216,null,null,1,null,_)),a["ɵdid"](8,16384,null,0,r.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0,a["ɵinlineInterpolate"](1,"",n.bootstrapClass,"")),t(e,4,0,"normal"===n.size,a["ɵnov"](e,5)),t(e,8,0,n.backAction.observers.length>0)}),null)}},"Dw+G":function(t,e,n){var a=n("juv8"),r=n("mTTR");t.exports=function(t,e){return t&&a(e,r(e),t)}},Dwqy:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("wd/R");class r{constructor(){}transform(t){return t?a(1e3*t).fromNow():"unknown"}}},DxQv:function(t,e,n){!function(t){"use strict";t.defineLocale("da",{months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"søn_man_tir_ons_tor_fre_lør".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd [d.] D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"på dddd [kl.] LT",lastDay:"[i går kl.] LT",lastWeek:"[i] dddd[s kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"få sekunder",ss:"%d sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en måned",MM:"%d måneder",y:"et år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("wd/R"))},DzJC:function(t,e,n){var a=n("sEfC"),r=n("GoyQ");t.exports=function(t,e,n){var o=!0,i=!0;if("function"!=typeof t)throw new TypeError("Expected a function");return r(n)&&(o="leading"in n?!!n.leading:o,i="trailing"in n?!!n.trailing:i),a(t,e,{leading:o,maxWait:e,trailing:i})}},Dzi0:function(t,e,n){!function(t){"use strict";t.defineLocale("tl-ph",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},calendar:{sameDay:"LT [ngayong araw]",nextDay:"[Bukas ng] LT",nextWeek:"LT [sa susunod na] dddd",lastDay:"LT [kahapon]",lastWeek:"LT [noong nakaraang] dddd",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",ss:"%d segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(t){return t},week:{dow:1,doy:4}})}(n("wd/R"))},"E+lV":function(t,e,n){!function(t){"use strict";var e={words:{ss:["секунда","секунде","секунди"],m:["један минут","једне минуте"],mm:["минут","минуте","минута"],h:["један сат","једног сата"],hh:["сат","сата","сати"],dd:["дан","дана","дана"],MM:["месец","месеца","месеци"],yy:["година","године","година"]},correctGrammaticalCase:function(t,e){return 1===t?e[0]:t>=2&&t<=4?e[1]:e[2]},translate:function(t,n,a){var r=e.words[a];return 1===a.length?n?r[0]:r[1]:t+" "+e.correctGrammaticalCase(t,r)}};t.defineLocale("sr-cyrl",{months:"јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар".split("_"),monthsShort:"јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.".split("_"),monthsParseExact:!0,weekdays:"недеља_понедељак_уторак_среда_четвртак_петак_субота".split("_"),weekdaysShort:"нед._пон._уто._сре._чет._пет._суб.".split("_"),weekdaysMin:"не_по_ут_ср_че_пе_су".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[данас у] LT",nextDay:"[сутра у] LT",nextWeek:function(){switch(this.day()){case 0:return"[у] [недељу] [у] LT";case 3:return"[у] [среду] [у] LT";case 6:return"[у] [суботу] [у] LT";case 1:case 2:case 4:case 5:return"[у] dddd [у] LT"}},lastDay:"[јуче у] LT",lastWeek:function(){return["[прошле] [недеље] [у] LT","[прошлог] [понедељка] [у] LT","[прошлог] [уторка] [у] LT","[прошле] [среде] [у] LT","[прошлог] [четвртка] [у] LT","[прошлог] [петка] [у] LT","[прошле] [суботе] [у] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"за %s",past:"пре %s",s:"неколико секунди",ss:e.translate,m:e.translate,mm:e.translate,h:e.translate,hh:e.translate,d:"дан",dd:e.translate,M:"месец",MM:e.translate,y:"годину",yy:e.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n("wd/R"))},E2fk:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{transform(t){return"[INF]"===t?"info":"[WRN]"===t?"warn":"[ERR]"===t?"err":""}}},E2jh:function(t,e,n){var a,r=n("2gN3"),o=(a=/[^.]+$/.exec(r&&r.keys&&r.keys.IE_PROTO||""))?"Symbol(src)_1."+a:"";t.exports=function(t){return!!o&&o in t}},E9XD:function(t,e,n){"use strict";var a=n("I+eb"),r=n("1Y/n").left,o=n("pkCn"),i=n("rkAj"),s=o("reduce"),c=i("reduce",{1:0});a({target:"Array",proto:!0,forced:!s||!c},{reduce:function(t){return r(this,t,arguments.length,arguments.length>1?arguments[1]:void 0)}})},EA7m:function(t,e,n){var a=n("zZ0H"),r=n("Ioao"),o=n("wclG");t.exports=function(t,e){return o(r(t,e,a),t+"")}},EApP:function(t,e,n){"use strict";n.d(e,"a",(function(){return v})),n.d(e,"b",(function(){return d})),n.d(e,"c",(function(){return y})),n.d(e,"d",(function(){return s})),n.d(e,"e",(function(){return x})),n.d(e,"f",(function(){return T})),n.d(e,"g",(function(){return c})),n.d(e,"h",(function(){return P})),n.d(e,"i",(function(){return C})),n.d(e,"j",(function(){return _})),n("mrSG");var a=n("8Y7J"),r=n("XNiG"),o=n("cUpR"),i=n("SVse");let s=class{};class c{constructor(t,e,n,a,o,i){this.toastId=t,this.config=e,this.message=n,this.title=a,this.toastType=o,this.toastRef=i,this._onTap=new r.a,this._onAction=new r.a,this.toastRef.afterClosed().subscribe(()=>{this._onAction.complete(),this._onTap.complete()})}triggerTap(){this._onTap.next(),this.config.tapToDismiss&&this._onTap.complete()}onTap(){return this._onTap.asObservable()}triggerAction(t){this._onAction.next(t)}onAction(){return this._onAction.asObservable()}}const l={maxOpened:0,autoDismiss:!1,newestOnTop:!0,preventDuplicates:!1,countDuplicates:!1,resetTimeoutOnDuplicate:!1,iconClasses:{error:"toast-error",info:"toast-info",success:"toast-success",warning:"toast-warning"},closeButton:!1,disableTimeOut:!1,timeOut:5e3,extendedTimeOut:1e3,enableHtml:!1,progressBar:!1,toastClass:"ngx-toastr",positionClass:"toast-top-right",titleClass:"toast-title",messageClass:"toast-message",easing:"ease-in",easeTime:300,tapToDismiss:!0,onActivateTick:!1,progressAnimation:"decreasing"},d=new a.InjectionToken("ToastConfig");class u{constructor(t,e){this.component=t,this.injector=e}attach(t,e){return this._attachedHost=t,t.attach(this,e)}detach(){const t=this._attachedHost;if(t)return this._attachedHost=void 0,t.detach()}get isAttached(){return null!=this._attachedHost}setAttachedHost(t){this._attachedHost=t}}class g extends class{attach(t,e){return this._attachedPortal=t,this.attachComponentPortal(t,e)}detach(){this._attachedPortal&&this._attachedPortal.setAttachedHost(),this._attachedPortal=void 0,this._disposeFn&&(this._disposeFn(),this._disposeFn=void 0)}setDisposeFn(t){this._disposeFn=t}}{constructor(t,e,n){super(),this._hostDomElement=t,this._componentFactoryResolver=e,this._appRef=n}attachComponentPortal(t,e){const n=this._componentFactoryResolver.resolveComponentFactory(t.component);let a;return a=n.create(t.injector),this._appRef.attachView(a.hostView),this.setDisposeFn(()=>{this._appRef.detachView(a.hostView),a.destroy()}),e?this._hostDomElement.insertBefore(this._getComponentRootNode(a),this._hostDomElement.firstChild):this._hostDomElement.appendChild(this._getComponentRootNode(a)),a}_getComponentRootNode(t){return t.hostView.rootNodes[0]}}let f=(()=>{let t=class{constructor(t){this._document=t}ngOnDestroy(){this._containerElement&&this._containerElement.parentNode&&this._containerElement.parentNode.removeChild(this._containerElement)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const t=this._document.createElement("div");t.classList.add("overlay-container"),this._document.body.appendChild(t),this._containerElement=t}};return t.ngInjectableDef=Object(a["ɵɵdefineInjectable"])({factory:function(){return new t(Object(a["ɵɵinject"])(i.DOCUMENT))},token:t,providedIn:"root"}),t})();class p{constructor(t){this._portalHost=t}attach(t,e=!0){return this._portalHost.attach(t,e)}detach(){return this._portalHost.detach()}}let m=(()=>{let t=class{constructor(t,e,n,a){this._overlayContainer=t,this._componentFactoryResolver=e,this._appRef=n,this._document=a,this._paneElements=new Map}create(t,e){return this._createOverlayRef(this.getPaneElement(t,e))}getPaneElement(t="",e){return this._paneElements.get(e)||this._paneElements.set(e,{}),this._paneElements.get(e)[t]||(this._paneElements.get(e)[t]=this._createPaneElement(t,e)),this._paneElements.get(e)[t]}_createPaneElement(t,e){const n=this._document.createElement("div");return n.id="toast-container",n.classList.add(t),n.classList.add("toast-container"),e?e.getContainerElement().appendChild(n):this._overlayContainer.getContainerElement().appendChild(n),n}_createPortalHost(t){return new g(t,this._componentFactoryResolver,this._appRef)}_createOverlayRef(t){return new p(this._createPortalHost(t))}};return t.ngInjectableDef=Object(a["ɵɵdefineInjectable"])({factory:function(){return new t(Object(a["ɵɵinject"])(f),Object(a["ɵɵinject"])(a.ComponentFactoryResolver),Object(a["ɵɵinject"])(a.ApplicationRef),Object(a["ɵɵinject"])(i.DOCUMENT))},token:t,providedIn:"root"}),t})();class h{constructor(t){this._overlayRef=t,this.duplicatesCount=0,this._afterClosed=new r.a,this._activate=new r.a,this._manualClose=new r.a,this._resetTimeout=new r.a,this._countDuplicate=new r.a}manualClose(){this._manualClose.next(),this._manualClose.complete()}manualClosed(){return this._manualClose.asObservable()}timeoutReset(){return this._resetTimeout.asObservable()}countDuplicate(){return this._countDuplicate.asObservable()}close(){this._overlayRef.detach(),this._afterClosed.next(),this._manualClose.next(),this._afterClosed.complete(),this._manualClose.complete(),this._activate.complete(),this._resetTimeout.complete(),this._countDuplicate.complete()}afterClosed(){return this._afterClosed.asObservable()}isInactive(){return this._activate.isStopped}activate(){this._activate.next(),this._activate.complete()}afterActivate(){return this._activate.asObservable()}onDuplicate(t,e){t&&this._resetTimeout.next(),e&&this._countDuplicate.next(++this.duplicatesCount)}}class b{constructor(t,e){this._toastPackage=t,this._parentInjector=e}get(t,e,n){return t===c?this._toastPackage:this._parentInjector.get(t,e,n)}}let _=(()=>{let t=class{constructor(t,e,n,a,r){this.overlay=e,this._injector=n,this.sanitizer=a,this.ngZone=r,this.currentlyActive=0,this.toasts=[],this.index=0,this.toastrConfig=Object.assign({},t.default,t.config),t.config.iconClasses&&(this.toastrConfig.iconClasses=Object.assign({},t.default.iconClasses,t.config.iconClasses))}show(t,e,n={},a=""){return this._preBuildNotification(a,t,e,this.applyConfig(n))}success(t,e,n={}){return this._preBuildNotification(this.toastrConfig.iconClasses.success||"",t,e,this.applyConfig(n))}error(t,e,n={}){return this._preBuildNotification(this.toastrConfig.iconClasses.error||"",t,e,this.applyConfig(n))}info(t,e,n={}){return this._preBuildNotification(this.toastrConfig.iconClasses.info||"",t,e,this.applyConfig(n))}warning(t,e,n={}){return this._preBuildNotification(this.toastrConfig.iconClasses.warning||"",t,e,this.applyConfig(n))}clear(t){for(const e of this.toasts)if(void 0!==t){if(e.toastId===t)return void e.toastRef.manualClose()}else e.toastRef.manualClose()}remove(t){const e=this._findToast(t);if(!e)return!1;if(e.activeToast.toastRef.close(),this.toasts.splice(e.index,1),this.currentlyActive=this.currentlyActive-1,!this.toastrConfig.maxOpened||!this.toasts.length)return!1;if(this.currentlyActive<this.toastrConfig.maxOpened&&this.toasts[this.currentlyActive]){const t=this.toasts[this.currentlyActive].toastRef;t.isInactive()||(this.currentlyActive=this.currentlyActive+1,t.activate())}return!0}findDuplicate(t,e,n){for(const a of this.toasts)if(a.message===t)return a.toastRef.onDuplicate(e,n),a;return null}applyConfig(t={}){return Object.assign({},this.toastrConfig,t)}_findToast(t){for(let e=0;e<this.toasts.length;e++)if(this.toasts[e].toastId===t)return{index:e,activeToast:this.toasts[e]};return null}_preBuildNotification(t,e,n,a){return a.onActivateTick?this.ngZone.run(()=>this._buildNotification(t,e,n,a)):this._buildNotification(t,e,n,a)}_buildNotification(t,e,n,r){if(!r.toastComponent)throw new Error("toastComponent required");const o=this.findDuplicate(e,this.toastrConfig.resetTimeoutOnDuplicate&&r.timeOut>0,this.toastrConfig.countDuplicates);if(e&&this.toastrConfig.preventDuplicates&&null!==o)return o;this.previousToastMessage=e;let i=!1;this.toastrConfig.maxOpened&&this.currentlyActive>=this.toastrConfig.maxOpened&&(i=!0,this.toastrConfig.autoDismiss&&this.clear(this.toasts[0].toastId));const s=this.overlay.create(r.positionClass,this.overlayContainer);this.index=this.index+1;let l=e;e&&r.enableHtml&&(l=this.sanitizer.sanitize(a.SecurityContext.HTML,e));const d=new h(s),g=new c(this.index,r,l,n,t,d),f=new b(g,this._injector),p=new u(r.toastComponent,f),m=s.attach(p,this.toastrConfig.newestOnTop);d.componentInstance=m._component;const _={toastId:this.index,message:e||"",toastRef:d,onShown:d.afterActivate(),onHidden:d.afterClosed(),onTap:g.onTap(),onAction:g.onAction(),portal:m};return i||setTimeout(()=>{_.toastRef.activate(),this.currentlyActive=this.currentlyActive+1}),this.toasts.push(_),_}};return t.ngInjectableDef=Object(a["ɵɵdefineInjectable"])({factory:function(){return new t(Object(a["ɵɵinject"])(d),Object(a["ɵɵinject"])(m),Object(a["ɵɵinject"])(a.INJECTOR),Object(a["ɵɵinject"])(o.b),Object(a["ɵɵinject"])(a.NgZone))},token:t,providedIn:"root"}),t})(),y=class{constructor(t,e,n){this.toastrService=t,this.toastPackage=e,this.ngZone=n,this.width=-1,this.toastClasses="",this.state={value:"inactive",params:{easeTime:this.toastPackage.config.easeTime,easing:"ease-in"}},this.message=e.message,this.title=e.title,this.options=e.config,this.originalTimeout=e.config.timeOut,this.toastClasses=`${e.toastType} ${e.config.toastClass}`,this.sub=e.toastRef.afterActivate().subscribe(()=>{this.activateToast()}),this.sub1=e.toastRef.manualClosed().subscribe(()=>{this.remove()}),this.sub2=e.toastRef.timeoutReset().subscribe(()=>{this.resetTimeout()}),this.sub3=e.toastRef.countDuplicate().subscribe(t=>{this.duplicatesCount=t})}get displayStyle(){if("inactive"===this.state.value)return"none"}ngOnDestroy(){this.sub.unsubscribe(),this.sub1.unsubscribe(),this.sub2.unsubscribe(),this.sub3.unsubscribe(),clearInterval(this.intervalId),clearTimeout(this.timeout)}activateToast(){this.state=Object.assign({},this.state,{value:"active"}),!this.options.disableTimeOut&&this.options.timeOut&&(this.outsideTimeout(()=>this.remove(),this.options.timeOut),this.hideTime=(new Date).getTime()+this.options.timeOut,this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10))}updateProgress(){if(0===this.width||100===this.width||!this.options.timeOut)return;const t=(new Date).getTime();this.width=(this.hideTime-t)/this.options.timeOut*100,"increasing"===this.options.progressAnimation&&(this.width=100-this.width),this.width<=0&&(this.width=0),this.width>=100&&(this.width=100)}resetTimeout(){clearTimeout(this.timeout),clearInterval(this.intervalId),this.state=Object.assign({},this.state,{value:"active"}),this.outsideTimeout(()=>this.remove(),this.originalTimeout),this.options.timeOut=this.originalTimeout,this.hideTime=(new Date).getTime()+(this.options.timeOut||0),this.width=-1,this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10)}remove(){"removed"!==this.state.value&&(clearTimeout(this.timeout),this.state=Object.assign({},this.state,{value:"removed"}),this.outsideTimeout(()=>this.toastrService.remove(this.toastPackage.toastId),+this.toastPackage.config.easeTime))}tapToast(){"removed"!==this.state.value&&(this.toastPackage.triggerTap(),this.options.tapToDismiss&&this.remove())}stickAround(){"removed"!==this.state.value&&(clearTimeout(this.timeout),this.options.timeOut=0,this.hideTime=0,clearInterval(this.intervalId),this.width=0)}delayedHideToast(){this.options.disableTimeOut||0===this.options.extendedTimeOut||"removed"===this.state.value||(this.outsideTimeout(()=>this.remove(),this.options.extendedTimeOut),this.options.timeOut=this.options.extendedTimeOut,this.hideTime=(new Date).getTime()+(this.options.timeOut||0),this.width=-1,this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10))}outsideTimeout(t,e){this.ngZone?this.ngZone.runOutsideAngular(()=>this.timeout=setTimeout(()=>this.runInsideAngular(t),e)):this.timeout=setTimeout(()=>t(),e)}outsideInterval(t,e){this.ngZone?this.ngZone.runOutsideAngular(()=>this.intervalId=setInterval(()=>this.runInsideAngular(t),e)):this.intervalId=setInterval(()=>t(),e)}runInsideAngular(t){this.ngZone?this.ngZone.run(()=>t()):t()}};var O;const v=Object.assign({},l,{toastComponent:y});let C=O=class{static forRoot(t={}){return{ngModule:O,providers:[{provide:d,useValue:{default:v,config:t}}]}}},P=class{static forRoot(t={}){return{ngModule:C,providers:[{provide:d,useValue:{default:l,config:t}}]}}};var M;let x=class{constructor(t,e,n){this.toastrService=t,this.toastPackage=e,this.appRef=n,this.width=-1,this.toastClasses="",this.state="inactive",this.message=e.message,this.title=e.title,this.options=e.config,this.originalTimeout=e.config.timeOut,this.toastClasses=`${e.toastType} ${e.config.toastClass}`,this.sub=e.toastRef.afterActivate().subscribe(()=>{this.activateToast()}),this.sub1=e.toastRef.manualClosed().subscribe(()=>{this.remove()}),this.sub2=e.toastRef.timeoutReset().subscribe(()=>{this.resetTimeout()}),this.sub3=e.toastRef.countDuplicate().subscribe(t=>{this.duplicatesCount=t})}get displayStyle(){if("inactive"===this.state)return"none"}ngOnDestroy(){this.sub.unsubscribe(),this.sub1.unsubscribe(),this.sub2.unsubscribe(),this.sub3.unsubscribe(),clearInterval(this.intervalId),clearTimeout(this.timeout)}activateToast(){this.state="active",!this.options.disableTimeOut&&this.options.timeOut&&(this.timeout=setTimeout(()=>{this.remove()},this.options.timeOut),this.hideTime=(new Date).getTime()+this.options.timeOut,this.options.progressBar&&(this.intervalId=setInterval(()=>this.updateProgress(),10))),this.options.onActivateTick&&this.appRef.tick()}updateProgress(){if(0===this.width||100===this.width||!this.options.timeOut)return;const t=(new Date).getTime();this.width=(this.hideTime-t)/this.options.timeOut*100,"increasing"===this.options.progressAnimation&&(this.width=100-this.width),this.width<=0&&(this.width=0),this.width>=100&&(this.width=100)}resetTimeout(){clearTimeout(this.timeout),clearInterval(this.intervalId),this.state="active",this.options.timeOut=this.originalTimeout,this.timeout=setTimeout(()=>this.remove(),this.originalTimeout),this.hideTime=(new Date).getTime()+(this.originalTimeout||0),this.width=-1,this.options.progressBar&&(this.intervalId=setInterval(()=>this.updateProgress(),10))}remove(){"removed"!==this.state&&(clearTimeout(this.timeout),this.state="removed",this.timeout=setTimeout(()=>this.toastrService.remove(this.toastPackage.toastId)))}tapToast(){"removed"!==this.state&&(this.toastPackage.triggerTap(),this.options.tapToDismiss&&this.remove())}stickAround(){"removed"!==this.state&&(clearTimeout(this.timeout),this.options.timeOut=0,this.hideTime=0,clearInterval(this.intervalId),this.width=0)}delayedHideToast(){this.options.disableTimeOut||0===this.options.extendedTimeOut||"removed"===this.state||(this.timeout=setTimeout(()=>this.remove(),this.options.extendedTimeOut),this.options.timeOut=this.options.extendedTimeOut,this.hideTime=(new Date).getTime()+(this.options.timeOut||0),this.width=-1,this.options.progressBar&&(this.intervalId=setInterval(()=>this.updateProgress(),10)))}};const w=Object.assign({},l,{toastComponent:x});let T=M=class{static forRoot(t={}){return{ngModule:M,providers:[{provide:d,useValue:{default:w,config:t}}]}}}},EEGq:function(t,e,n){var a=n("juv8"),r=n("oCl/");t.exports=function(t,e){return a(t,r(t),e)}},EEJc:function(t,e,n){"use strict";var a=n("8Y7J"),r=n("ajRT");n.d(e,"b",(function(){return o})),n.d(e,"c",(function(){return i})),n.d(e,"a",(function(){return c}));var o=a["ɵcrt"]({encapsulation:0,styles:[[".modal-header[_ngcontent-%COMP%]{border-bottom:1px solid #d1d1d1;background-color:#f5f5f5;border-radius:5px 5px 0 0}  .modal-footer{border-bottom:1px solid #d1d1d1;background-color:#f5f5f5;border-radius:0 0 5px 5px}  .modal-body{max-height:70vh;overflow-y:auto;overflow-x:hidden}"]],data:{}});function i(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,5,"div",[["class","modal-header"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,1,"h4",[["class","modal-title float-left"]],null,null,null,null,null)),a["ɵncd"](null,0),(t()(),a["ɵeld"](3,0,null,null,2,"button",[["aria-label","Close"],["class","close float-right"],["type","button"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.close()&&a),a}),null,null)),(t()(),a["ɵeld"](4,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["×"])),a["ɵncd"](null,1)],null,null)}function s(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"cd-modal",[],null,null,null,i,o)),a["ɵdid"](1,49152,null,0,r.a,[],null,null)],null,null)}var c=a["ɵccf"]("cd-modal",r.a,s,{modalRef:"modalRef"},{hide:"hide"},[".modal-title",".modal-content"])},ENF9:function(t,e,n){"use strict";var a,r=n("2oRo"),o=n("4syw"),i=n("8YOa"),s=n("bWFh"),c=n("rKzb"),l=n("hh1v"),d=n("afO8").enforce,u=n("f5p1"),g=!r.ActiveXObject&&"ActiveXObject"in r,f=Object.isExtensible,p=function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},m=t.exports=s("WeakMap",p,c);if(u&&g){a=c.getConstructor(p,"WeakMap",!0),i.REQUIRED=!0;var h=m.prototype,b=h.delete,_=h.has,y=h.get,O=h.set;o(h,{delete:function(t){if(l(t)&&!f(t)){var e=d(this);return e.frozen||(e.frozen=new a),b.call(this,t)||e.frozen.delete(t)}return b.call(this,t)},has:function(t){if(l(t)&&!f(t)){var e=d(this);return e.frozen||(e.frozen=new a),_.call(this,t)||e.frozen.has(t)}return _.call(this,t)},get:function(t){if(l(t)&&!f(t)){var e=d(this);return e.frozen||(e.frozen=new a),_.call(this,t)?y.call(this,t):e.frozen.get(t)}return y.call(this,t)},set:function(t,e){if(l(t)&&!f(t)){var n=d(this);n.frozen||(n.frozen=new a),_.call(this,t)?O.call(this,t,e):n.frozen.set(t,e)}else O.call(this,t,e);return this}})}},EOgW:function(t,e,n){!function(t){"use strict";t.defineLocale("th",{months:"มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม".split("_"),monthsShort:"ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.".split("_"),monthsParseExact:!0,weekdays:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์".split("_"),weekdaysShort:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์".split("_"),weekdaysMin:"อา._จ._อ._พ._พฤ._ศ._ส.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY เวลา H:mm",LLLL:"วันddddที่ D MMMM YYYY เวลา H:mm"},meridiemParse:/ก่อนเที่ยง|หลังเที่ยง/,isPM:function(t){return"หลังเที่ยง"===t},meridiem:function(t,e,n){return t<12?"ก่อนเที่ยง":"หลังเที่ยง"},calendar:{sameDay:"[วันนี้ เวลา] LT",nextDay:"[พรุ่งนี้ เวลา] LT",nextWeek:"dddd[หน้า เวลา] LT",lastDay:"[เมื่อวานนี้ เวลา] LT",lastWeek:"[วัน]dddd[ที่แล้ว เวลา] LT",sameElse:"L"},relativeTime:{future:"อีก %s",past:"%sที่แล้ว",s:"ไม่กี่วินาที",ss:"%d วินาที",m:"1 นาที",mm:"%d นาที",h:"1 ชั่วโมง",hh:"%d ชั่วโมง",d:"1 วัน",dd:"%d วัน",M:"1 เดือน",MM:"%d เดือน",y:"1 ปี",yy:"%d ปี"}})}(n("wd/R"))},EQ5u:function(t,e,n){"use strict";n.d(e,"a",(function(){return s})),n.d(e,"b",(function(){return c}));var a=n("XNiG"),r=n("HDdC"),o=(n("7o/Q"),n("quSY")),i=n("x+ZX");class s extends r.a{constructor(t,e){super(),this.source=t,this.subjectFactory=e,this._refCount=0,this._isComplete=!1}_subscribe(t){return this.getSubject().subscribe(t)}getSubject(){const t=this._subject;return t&&!t.isStopped||(this._subject=this.subjectFactory()),this._subject}connect(){let t=this._connection;return t||(this._isComplete=!1,t=this._connection=new o.a,t.add(this.source.subscribe(new l(this.getSubject(),this))),t.closed&&(this._connection=null,t=o.a.EMPTY)),t}refCount(){return Object(i.a)()(this)}}const c=(()=>{const t=s.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:t._subscribe},_isComplete:{value:t._isComplete,writable:!0},getSubject:{value:t.getSubject},connect:{value:t.connect},refCount:{value:t.refCount}}})();class l extends a.b{constructor(t,e){super(t),this.connectable=e}_error(t){this._unsubscribe(),super._error(t)}_complete(){this.connectable._isComplete=!0,this._unsubscribe(),super._complete()}_unsubscribe(){const t=this.connectable;if(t){this.connectable=null;const e=t._connection;t._refCount=0,t._subject=null,t._connection=null,e&&e.unsubscribe()}}}},ES0t:function(t,e,n){"use strict";n.d(e,"a",(function(){return d}));var a=n("8Y7J"),r=n("KOzp"),o=n("SVse"),i=a["ɵcrt"]({encapsulation:0,styles:[".bs3.popover-top[_nghost-%COMP%] {\n      margin-bottom: 10px;\n    }\n    .bs3.popover.top[_nghost-%COMP%] > .arrow[_ngcontent-%COMP%] {\n      margin-left: -2px;\n    }\n    .bs3.popover.top[_nghost-%COMP%] {\n      margin-bottom: 10px;\n    }\n    .popover.bottom[_nghost-%COMP%] > .arrow[_ngcontent-%COMP%] {\n      margin-left: -4px;\n    }\n    .bs3.bs-popover-left[_nghost-%COMP%] {\n      margin-right: .5rem;\n    }\n    .bs3.bs-popover-right[_nghost-%COMP%]   .arrow[_ngcontent-%COMP%], .bs3.bs-popover-left[_nghost-%COMP%]   .arrow[_ngcontent-%COMP%]{\n      margin: .3rem 0;\n    }"],data:{}});function s(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"h3",[["class","popover-title popover-header"]],null,null,null,null,null)),(t()(),a["ɵted"](1,null,["",""]))],null,(function(t,e){t(e,1,0,e.component.title)}))}function c(t){return a["ɵvid"](2,[(t()(),a["ɵeld"](0,0,null,null,0,"div",[["class","popover-arrow arrow"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,s)),a["ɵdid"](2,16384,null,0,o.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵeld"](3,0,null,null,1,"div",[["class","popover-content popover-body"]],null,null,null,null,null)),a["ɵncd"](null,0)],(function(t,e){t(e,2,0,e.component.title)}),null)}function l(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"popover-container",[["role","tooltip"],["style","display:block;"]],[[8,"className",0],[2,"show",null],[2,"bs3",null]],null,null,c,i)),a["ɵdid"](1,49152,null,0,r.b,[r.a],null,null)],null,(function(t,e){t(e,0,0,"popover in popover-"+a["ɵnov"](e,1).placement+" bs-popover-"+a["ɵnov"](e,1).placement+" "+a["ɵnov"](e,1).placement+" "+a["ɵnov"](e,1).containerClass,!a["ɵnov"](e,1).isBs3,a["ɵnov"](e,1).isBs3)}))}var d=a["ɵccf"]("popover-container",r.b,l,{placement:"placement",title:"title"},{},["*"])},EY2u:function(t,e,n){"use strict";n.d(e,"a",(function(){return r})),n.d(e,"b",(function(){return o}));var a=n("HDdC");const r=new a.a(t=>t.complete());function o(t){return t?function(t){return new a.a(e=>t.schedule(()=>e.complete()))}(t):r}},EgGo:function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var a=n("SVse"),r=n("sne2");class o{constructor(t){this.base=t}static concatURLSegments(t){return t.reduce(a.Location.joinWithSlash)}static buildURL(t,...e){return o.concatURLSegments([...t?["/"]:[],...e])}getURL(t,e=!0,...n){return o.buildURL(e,this.base,t,...n)}getCreate(t=!0){return this.getURL(r.e.CREATE,t)}getCreateFrom(t,e=!0){return this.getURL(r.e.CREATE,e,t)}getDelete(t=!0){return this.getURL(r.e.DELETE,t)}getEdit(t,e=!0){return this.getURL(r.e.EDIT,e,t)}getUpdate(t,e=!0){return this.getURL(r.e.UPDATE,e,t)}getAdd(t=!0){return this.getURL(r.e.ADD,t)}getRemove(t=!0){return this.getURL(r.e.REMOVE,t)}getRecreate(t,e=!0){return this.getURL(r.e.RECREATE,e,t)}}},EiPl:function(t,e,n){"use strict";n.r(e),e.default='<xliff xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 http://docs.oasis-open.org/xliff/v1.2/os/xliff-core-1.2-strict.xsd" xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">\n  <file original="ng2.template" datatype="plaintext" source-language="en-US" target-language="de-DE">\n    <body>\n      <trans-unit id="319e0745bcbc132451569294fa2fa21bf10f555a" datatype="html">\n        <source>Toggle navigation</source>\n        <target>Navigation umschalten</target>\n      </trans-unit>\n      <trans-unit id="f65253954b66e929a8b4d5ecaf61f9129f8cec64" datatype="html">\n        <source>Dashboard</source>\n        <target>Dashboard</target>\n      </trans-unit>\n      <trans-unit id="f4d1dd59b039ad818d9da7e29a773e10e41d9821" datatype="html">\n        <source>Cluster</source>\n        <target>Cluster</target>\n      </trans-unit>\n      <trans-unit id="099b441d49333b3c6d30b36dc0a4763e64c78920" datatype="html">\n        <source>Hosts</source>\n        <target>Hosts</target>\n      </trans-unit>\n      <trans-unit id="2cc3ecb16e348fcf2f2fbfd2f997d4d22f37475b" datatype="html">\n        <source>Inventory</source>\n        <target>Inventory</target>\n      </trans-unit>\n      <trans-unit id="624f596cc3320f5e0a0d7c7346c364e5af9bdd8c" datatype="html">\n        <source>Monitors</source>\n        <target>Monitore</target>\n      </trans-unit>\n      <trans-unit id="419d940613972cc3fae9c8ea0a4306dbf80616e5" datatype="html">\n        <source>Services</source>\n        <target>Services</target>\n      </trans-unit>\n      <trans-unit id="1a9183778f2c6473d7ccb080f651caa01faaf70c" datatype="html">\n        <source>OSDs</source>\n        <target>OSDs</target>\n      </trans-unit>\n      <trans-unit id="4a41f824a35ba01d5bd7be61aa06b3e8145209d0" datatype="html">\n        <source>Configuration</source>\n        <target>Konfiguration</target>\n      </trans-unit>\n      <trans-unit id="8c95898abff46bfac3ed6eb2afef74597e60b15c" datatype="html">\n        <source>CRUSH map</source>\n        <target>CRUSH-Zuordnung</target>\n      </trans-unit>\n      <trans-unit id="33da4dbeb076159510801ea764a218fd341269d2" datatype="html">\n        <source>Manager modules</source>\n        <target>Manager-Module</target>\n      </trans-unit>\n      <trans-unit id="eb3d5aefff38a814b76da74371cbf02c0789a1ef" datatype="html">\n        <source>Logs</source>\n        <target>Protokolle</target>\n      </trans-unit>\n      <trans-unit id="9fe218829514884cdd0ca2300573a4e0428c324f" datatype="html">\n        <source>Alerts</source>\n        <target>Warnungen</target>\n      </trans-unit>\n      <trans-unit id="aa0c44aa1e5727061baa91e954f77e2f5f9a37c9" datatype="html">\n        <source>Silences</source>\n        <target>Silences</target>\n      </trans-unit>\n      <trans-unit id="92899fa68e8ca108912163ff58edc8540e453787" datatype="html">\n        <source>Pools</source>\n        <target>Pools</target>\n      </trans-unit>\n      <trans-unit id="7f5d0c10614e8a34f0e2dad33a0568277c50cf69" datatype="html">\n        <source>Block</source>\n        <target>Block</target>\n      </trans-unit>\n      <trans-unit id="b73f7f5060fb22a1e9ec462b1bb02493fa3ab866" datatype="html">\n        <source>Images</source>\n        <target>Images</target>\n      </trans-unit>\n      <trans-unit id="3c2562ba992127203dcfd014010b03cb7b8113c6" datatype="html">\n        <source>Mirroring</source>\n        <target>Spiegelung</target>\n      </trans-unit>\n      <trans-unit id="811c241d56601b91ef26735b770e64428089b950" datatype="html">\n        <source>iSCSI</source>\n        <target>iSCSI</target>\n      </trans-unit>\n      <trans-unit id="a24eabd99ea5af20f5f94c4484649cd30370042b" datatype="html">\n        <source>NFS</source>\n        <target>NFS</target>\n      </trans-unit>\n      <trans-unit id="a4eff72d97b7ced051398d581f10968218057ddc" datatype="html">\n        <source>Filesystems</source>\n        <target>Dateisysteme</target>\n      </trans-unit>\n      <trans-unit id="2190548d236ca5f7bc7ab2bca334b860c5ff2ad4" datatype="html">\n        <source>Object Gateway</source>\n        <target>Objektgateway</target>\n      </trans-unit>\n      <trans-unit id="9e24f9e2d42104ffc01599db4d566d1cc518f9e6" datatype="html">\n        <source>Daemons</source>\n        <target>Daemons</target>\n      </trans-unit>\n      <trans-unit id="4d13a9cd5ed3dcee0eab22cb25198d43886942be" datatype="html">\n        <source>Users</source>\n        <target>Benutzer</target>\n      </trans-unit>\n      <trans-unit id="9515520496da83179d8b08132f00f575512a1f40" datatype="html">\n        <source>Buckets</source>\n        <target>Buckets</target>\n      </trans-unit>\n      <trans-unit id="797f8214e8148f4bf0d244baaa7341706b419549" datatype="html">\n        <source>Retrieving data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>. Please wait...\n        </source>\n        <target>Daten \n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> für\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>werden abgerufen. Bitte warten...\n        </target>\n      </trans-unit>\n      <trans-unit id="5a870dc77b9f6f33ee671ea2d856021276933339" datatype="html">\n        <source>Displaying previously cached data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>\n  for \n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n        </source>\n        <target>Displaying previously cached data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>\n  for \n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="ae580202919844531361ba2308287226ff74a584" datatype="html">\n        <source>Could not load data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n  Please check the cluster health.\n        </source>\n        <target>Daten\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> für\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/> konnten nicht geladen werden.\n  Prüfen Sie die Clusterintegrität.\n        </target>\n      </trans-unit>\n      <trans-unit id="7e52e9143145e1db5146258de81eae018a407b31" datatype="html">\n        <source>Clear notifications</source>\n        <target>Clear notifications</target>\n      </trans-unit>\n      <trans-unit id="b0b07bb6b7ff21ede439dd04eaf8872d1ecb84d8" datatype="html">\n        <source>Remove notification</source>\n        <target>Remove notification</target>\n      </trans-unit>\n      <trans-unit id="e17a1d75189da843f541f7764f188f2b19a97df2" datatype="html">\n        <source>Duration:</source>\n        <target>Duration:</target>\n      </trans-unit>\n      <trans-unit id="0d4b37c6675c5b436a54c43d6716eec835e1aa7f" datatype="html">\n        <source>There are no notifications.</source>\n        <target>Es sind keine Benachrichtigungen verfügbar.</target>\n      </trans-unit>\n      <trans-unit id="0a23e992f6c6e169a38b2b7338b4e5e803b52e0d" datatype="html">\n        <source>Tasks and Notifications</source>\n        <target>Tasks and Notifications</target>\n      </trans-unit>\n      <trans-unit id="3fb5709e10166cbc85970cbff103db227dbeb813" datatype="html">\n        <source>Select a Language</source>\n        <target>Sprache auswählen</target>\n      </trans-unit>\n      <trans-unit id="c5109325fb160b543f71a51e7511c00575057431" datatype="html">\n        <source>Loading panel data...</source>\n        <target>Bereichsdaten werden geladen...</target>\n      </trans-unit>\n      <trans-unit id="8ca12411f890ab8b0a9216418e2b8f5ea7d2441a" datatype="html">\n        <source>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the monitoring functionality.\n        </source>\n        <target>Lesen Sie die\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Dokumentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> zum\n  Konfigurieren und Aktivieren der Überwachungsfunktion.\n        </target>\n      </trans-unit>\n      <trans-unit id="160a9e80dc089792df42e2400b1e81b9e7025aa7" datatype="html">\n        <source>Grafana Dashboard doesn\'t exist. Please refer to\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  add dashboards to Grafana.\n        </source>\n        <target>Das Grafana-Dashboard ist nicht vorhanden. In der\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Dokumentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> wird beschrieben,\n  wie Grafana Dashboards hinzugefügt werden.\n        </target>\n      </trans-unit>\n      <trans-unit id="4e11830040bd64804a0555de76f291d5832772d4" datatype="html">\n        <source>Grafana Time Picker</source>\n        <target>Grafana-Zeitauswahl</target>\n      </trans-unit>\n      <trans-unit id="238c1ba845dd7330e8088165275919a1debf1ca3" datatype="html">\n        <source>Reset Settings</source>\n        <target>Einstellungen für Zurücksetzungen</target>\n      </trans-unit>\n      <trans-unit id="c8d1785038d461ec66b5799db21864182b35900a" datatype="html">\n        <source>Refresh</source>\n        <target>Aktualisieren</target>\n      </trans-unit>\n      <trans-unit id="6c947210e2d162b6225083d18820ab602f58cd2d" datatype="html">\n        <source>Remove the custom configuration value. The default configuration will be inherited and used instead.</source>\n        <target>Entfernen Sie den aktuellen Konfigurationswert. Stattdessen wird der Standard-Konfigurationswert übernommen und verwendet.</target>\n      </trans-unit>\n      <trans-unit id="454ee9cb60b00446a8fb147fd2cc5eb836320586" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ option.maxValue }}"/>.\n        </source>\n        <target>Der eingegebene Wert ist zu hoch! Er darf nicht größer als \n          <x id="INTERPOLATION" equiv-text="{{ option.maxValue }}"/> sein.\n        </target>\n      </trans-unit>\n      <trans-unit id="7fc8a22825131e028336f60ef909ccbd96059703" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ option.minValue }}"/>.\n        </source>\n        <target>Der eingegebene Wert ist zu niedrig! Er darf nicht kleiner als \n          <x id="INTERPOLATION" equiv-text="{{ option.minValue }}"/> sein.\n        </target>\n      </trans-unit>\n      <trans-unit id="cda31dbd724cf5f4fa7a4274d9120651490c8a8c" datatype="html">\n        <source>Back</source>\n        <target>Zurück</target>\n      </trans-unit>\n      <trans-unit id="012741ee52b3c050e4a977c37cc2334f7974f141" datatype="html">\n        <source>Failed to load data.</source>\n        <target>Daten konnten nicht geladen werden.</target>\n      </trans-unit>\n      <trans-unit id="80cc9a12d4bf6fe454ed94b379eeaf915f920bb7" datatype="html">\n        <source>selected</source>\n        <target>ausgewählt</target>\n        <note>X selected</note>\n      </trans-unit>\n      <trans-unit id="0cb77511a9a148e05b9adf36cc07269956fbb29d" datatype="html">\n        <source>found</source>\n        <target>gefunden</target>\n        <note>X found</note>\n      </trans-unit>\n      <trans-unit id="79347388740c50b7ac97e144c2494bb62912f312" datatype="html">\n        <source>total</source>\n        <target>insgesamt</target>\n        <note>X total</note>\n      </trans-unit>\n      <trans-unit id="cff1428d10d59d14e45edec3c735a27b5482db59" datatype="html">\n        <source>Name</source>\n        <target>Name</target>\n      </trans-unit>\n      <trans-unit id="eec715de352a6b114713b30b640d319fa78207a0" datatype="html">\n        <source>Description</source>\n        <target>Beschreibung</target>\n      </trans-unit>\n      <trans-unit id="4ad112ce9bcd55dfd137792a86afe1b5a5b13cf8" datatype="html">\n        <source>Long description</source>\n        <target>Detaillierte Beschreibung</target>\n      </trans-unit>\n      <trans-unit id="ff7cee38a2259526c519f878e71b964f41db4348" datatype="html">\n        <source>Default</source>\n        <target>Standard</target>\n      </trans-unit>\n      <trans-unit id="33e1c1d9fc05ca3f62fcc8a1170fc31ebae4229c" datatype="html">\n        <source>Daemon default</source>\n        <target>Daemon-Standard</target>\n      </trans-unit>\n      <trans-unit id="809b0c848932a41318f77a2aace904ef429c13f4" datatype="html">\n        <source>Values</source>\n        <target>Werte</target>\n      </trans-unit>\n      <trans-unit id="82029b6db704c56a2aa3e82ac555b8655356b077" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.\n        </source>\n        <target>Der eingegebene Wert ist zu hoch! Er darf nicht größer als \n          <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/> sein.\n        </target>\n      </trans-unit>\n      <trans-unit id="8ed8b3967a7326b81b191c9f490006e6a6777a9a" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ minValue }}"/>.\n        </source>\n        <target>Der eingegebene Wert ist zu niedrig! Er darf nicht kleiner als \n          <x id="INTERPOLATION" equiv-text="{{ minValue }}"/> sein.\n        </target>\n      </trans-unit>\n      <trans-unit id="52c9a103b812f258bcddc3d90a6e3f46871d25fe" datatype="html">\n        <source>Save</source>\n        <target>Speichern</target>\n      </trans-unit>\n      <trans-unit id="738de688b22fba5d0dc7a5e549996838dddad0ee" datatype="html">\n        <source>CRUSH map viewer</source>\n        <target>CRUSH-Betrachter</target>\n      </trans-unit>\n      <trans-unit id="94516fa213706c67ce5a5b5765681d7fb032033a" datatype="html">\n        <source>Loading...</source>\n        <target>Laden...</target>\n      </trans-unit>\n      <trans-unit id="formTitle" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </target>\n        <note>form title</note>\n      </trans-unit>\n      <trans-unit id="9a541ec1a4319fffc16ad3b3ab2c2b6d251a829d" datatype="html">\n        <source>Hostname</source>\n        <target>Hostname</target>\n      </trans-unit>\n      <trans-unit id="7cbdabcece469fab89cfa687ab152bca18b97498" datatype="html">\n        <source>This field is required.</source>\n        <target>Dies ist ein Pflichtfeld.</target>\n      </trans-unit>\n      <trans-unit id="1b3f5e5291541678f7afa49d28fad5ca848a8061" datatype="html">\n        <source>The chosen hostname is already in use.</source>\n        <target>The chosen hostname is already in use.</target>\n      </trans-unit>\n      <trans-unit id="formActionButton" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </target>\n        <note>form action button</note>\n      </trans-unit>\n      <trans-unit id="6110699a3562eeb15371063c0cf7f6bfd88a0209" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemNames[0] }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemNames[0] }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>?\n        </target>\n      </trans-unit>\n      <trans-unit id="549859e511ba5af0ea03fcaa620c472f08038969" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected items?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected items?\n        </target>\n      </trans-unit>\n      <trans-unit id="54839ebc827b73c9dc4e1df731c6d36a85036af7" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected \n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected \n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>?\n        </target>\n      </trans-unit>\n      <trans-unit id="2be8b7f04f0104d3fad90d079d8202b74f758b9a" datatype="html">\n        <source>Yes, I am sure.</source>\n        <target>Ja, ich bin sicher.</target>\n      </trans-unit>\n      <trans-unit id="d7b35c384aecd25a516200d6921836374613dfe7" datatype="html">\n        <source>Cancel</source>\n        <target>Abbrechen</target>\n      </trans-unit>\n      <trans-unit id="40661476cb24c89d8b06614998e31d5fbe84eeb6" datatype="html">\n        <source>Hosts List</source>\n        <target>Liste mit Hosts</target>\n      </trans-unit>\n      <trans-unit id="5e7f4b1ca49e8d217bd0e12c6f7d6b6a2ade2c18" datatype="html">\n        <source>Overall Performance</source>\n        <target>Gesamtleistung</target>\n      </trans-unit>\n      <trans-unit id="6bc15dc1a621b6ff7378db7fd3ac10b2a2627c77" datatype="html">\n        <source>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the orchestrator functionality.\n        </source>\n        <target>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the orchestrator functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="3e24569eca61d598c8b01defbbbb1fa8bd5222bc" datatype="html">\n        <source>Devices</source>\n        <target>Devices</target>\n      </trans-unit>\n      <trans-unit id="e6d57f36aa2bad303c8a8ee944b9bd7fae3c8c26" datatype="html">\n        <source>No entries found</source>\n        <target>Keine Einträge gefunden</target>\n      </trans-unit>\n      <trans-unit id="d556ab48a65722b400e497f61737f553ee0f89e2" datatype="html">\n        <source>Cluster Logs</source>\n        <target>Clusterprotokolle</target>\n      </trans-unit>\n      <trans-unit id="5f966baffd188be0e8adc2d7067b86e55fc9b9de" datatype="html">\n        <source>Audit Logs</source>\n        <target>Revisionsprotokoll</target>\n      </trans-unit>\n      <trans-unit id="4193c9eb868aeec119b78a14795241e0aa5e8b60" datatype="html">\n        <source>Priority:</source>\n        <target>Priorität:</target>\n      </trans-unit>\n      <trans-unit id="1d78ca51eab260ce3fd917d39190d64df5229b6e" datatype="html">\n        <source>Keyword:</source>\n        <target>Schlüsselwort:</target>\n      </trans-unit>\n      <trans-unit id="05fa0bded36de6e73a1fa44838b627349dace044" datatype="html">\n        <source>Date:</source>\n        <target>Datum:</target>\n      </trans-unit>\n      <trans-unit id="31dadb362bf7f7c2afa10e5f96474ccd3977f91f" datatype="html">\n        <source>Datepicker</source>\n        <target>Datumsauswahl</target>\n      </trans-unit>\n      <trans-unit id="85a400388de1899b1917138cf7e5286376f72847" datatype="html">\n        <source>Time range:</source>\n        <target>Zeitraum:</target>\n      </trans-unit>\n      <trans-unit id="2447796ddbda942f4e2c46619cb84d69f066e568" datatype="html">\n        <source>Loading configuration...</source>\n        <target>Konfiguration wird geladen...</target>\n      </trans-unit>\n      <trans-unit id="b42c0b347a841bed8859ee83de05080ee28c803b" datatype="html">\n        <source>The configuration could not be loaded.</source>\n        <target>Die Konfiguration konnte nicht geladen werden.</target>\n      </trans-unit>\n      <trans-unit id="31a9c2870a934b594d1390146c489f76440859ea" datatype="html">\n        <source>Edit Manager module</source>\n        <target>Manager-Modul bearbeiten</target>\n      </trans-unit>\n      <trans-unit id="46e09b8290d3d0afdb6baa2021395b0570606a31" datatype="html">\n        <source>The entered value is not a valid UUID, e.g.: 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8</source>\n        <target>Der eingegebene Wert ist kein gültiger UUID, z. B.: 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8</target>\n      </trans-unit>\n      <trans-unit id="7aacd038b39cfd347107d01d1dc27f5cb3e0951c" datatype="html">\n        <source>The entered value needs to be a valid IP address.</source>\n        <target>Der eingegebene Wert muss eine gültige IP-Adresse sein.</target>\n      </trans-unit>\n      <trans-unit id="f19106149f4b07a0d721f9d317afed393cb7bd93" datatype="html">\n        <source>The entered value is too high! It must be lower or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.max }}"/>.\n        </source>\n        <target>Der eingegebene Wert ist zu hoch! Er muss kleiner als \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.max }}"/> sein oder diesem Wert entsprechen.\n        </target>\n      </trans-unit>\n      <trans-unit id="6d33c40ef9a6c3bf0888df831b25e41e65f9d15b" datatype="html">\n        <source>The entered value is too low! It must be greater or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.min }}"/>.\n        </source>\n        <target>Der eingegebene Wert ist zu niedrig! Er muss größer als \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.min }}"/> sein oder diesem Wert entsprechen.\n        </target>\n      </trans-unit>\n      <trans-unit id="eae7086660cf1e38c7194a2c49ff52cc656f90f5" datatype="html">\n        <source>The entered value needs to be a number.</source>\n        <target>Der eingegebene Wert muss eine Zahl sein.</target>\n      </trans-unit>\n      <trans-unit id="a73376e04b4fb3a20734c8c39743fba32e6676ce" datatype="html">\n        <source>The entered value needs to be a number or decimal.</source>\n        <target>Der eingegebene Wert muss eine Zahl oder Dezimalzahl sein.</target>\n      </trans-unit>\n      <trans-unit id="047f50bc5b5d17b5bec0196355953e1a5c590ddb" datatype="html">\n        <source>Update</source>\n        <target>Aktualisiere</target>\n      </trans-unit>\n      <trans-unit id="81b97b8ea996ad1e4f9fca8415021850214884b1" datatype="html">\n        <source>Status</source>\n        <target>Status</target>\n      </trans-unit>\n      <trans-unit id="57ec6032f5618d4a9f16eb950ad23d2ce7c24b54" datatype="html">\n        <source>Cluster ID</source>\n        <target>Cluster-ID</target>\n      </trans-unit>\n      <trans-unit id="67d7facc3fec5f8a49ab9ba0a245872184264ce5" datatype="html">\n        <source>monmap modified</source>\n        <target>Monmap geändert</target>\n      </trans-unit>\n      <trans-unit id="d4906731aaf2b94b4f547646c9bfe58bb77951b6" datatype="html">\n        <source>monmap epoch</source>\n        <target>Monmap-Epoche</target>\n      </trans-unit>\n      <trans-unit id="bd4ee06ffdc46d9dfbd0c0c4f81399021c680056" datatype="html">\n        <source>quorum con</source>\n        <target>quorum con</target>\n      </trans-unit>\n      <trans-unit id="1176c7db8a8276ccb44cc3d42e2c28d9fa6c6596" datatype="html">\n        <source>quorum mon</source>\n        <target>quorum mon</target>\n      </trans-unit>\n      <trans-unit id="530ef677a09d681b3ab68cb0760494b3ae72a77c" datatype="html">\n        <source>required con</source>\n        <target>erforderliche Verbindung</target>\n      </trans-unit>\n      <trans-unit id="a91558e0d506c32021c31843f8f168899fc65cbf" datatype="html">\n        <source>required mon</source>\n        <target>erforderliche Überwachung</target>\n      </trans-unit>\n      <trans-unit id="b3abe9eac5bcd94a54c8da93b312e085ec512e74" datatype="html">\n        <source>In Quorum</source>\n        <target>In Quorum</target>\n      </trans-unit>\n      <trans-unit id="ba4b748a676e1f217ce1e736fb7ec1215e677bae" datatype="html">\n        <source>Not In Quorum</source>\n        <target>Nicht in Quorum</target>\n      </trans-unit>\n      <trans-unit id="5ef50ba2514414f799d4c8fc36067a251904ba81" datatype="html">\n        <source>Cluster-wide OSD Flags</source>\n        <target>Clusterweite OSD-Flags</target>\n      </trans-unit>\n      <trans-unit id="71c77bb8cecdf11ec3eead24dd1ba506573fa9cd" datatype="html">\n        <source>Submit</source>\n        <target>Absenden</target>\n      </trans-unit>\n      <trans-unit id="1cfe07dac5b4ee1c464eb24225ddeb4f1d24076a" datatype="html">\n        <source>Advanced...</source>\n        <target>Erweitert...</target>\n      </trans-unit>\n      <trans-unit id="b1ef1c12ddcee305353623919ef02778569f5454" datatype="html">\n        <source>Advanced configuration options</source>\n        <target>Erweiterte Konfigurationsoptionen</target>\n      </trans-unit>\n      <trans-unit id="c35f9c5f268a514b970cc55e9a5dc4bed0988e7f" datatype="html">\n        <source>OSD Recovery Priority</source>\n        <target>OSD-Wiederherstellungspriorität</target>\n      </trans-unit>\n      <trans-unit id="b74af38005e8a8914e45af2ec412e11ceafef8b6" datatype="html">\n        <source>Priority</source>\n        <target>Priorität</target>\n      </trans-unit>\n      <trans-unit id="c2f48f04b379bfba133825747adfd238d511412e" datatype="html">\n        <source>Customize priority values</source>\n        <target>Prioritätswerte anpassen</target>\n      </trans-unit>\n      <trans-unit id="4aa19de2a2b54cbda39e9c62917b23044c087776" datatype="html">\n        <source>This field is required!</source>\n        <target>Dies ist ein Pflichtfeld!</target>\n      </trans-unit>\n      <trans-unit id="b699e94bf376491bd50b70a98531071c737eaf40" datatype="html">\n        <source>[object Object]</source>\n        <target>[object Object]</target>\n      </trans-unit>\n      <trans-unit id="98fe13e7ad6c2b80375d204b47858ded83f80e15" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.maxValue }}"/>.\n        </source>\n        <target>Der eingegebene Wert ist zu hoch! Er darf nicht größer als \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.maxValue }}"/> sein.\n        </target>\n      </trans-unit>\n      <trans-unit id="5423a3c111be47fc5a1bfe46ceb58c81c84db691" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.minValue }}"/>.\n        </source>\n        <target>Der eingegebene Wert ist zu niedrig! Er darf nicht kleiner als \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.minValue }}"/> sein.\n        </target>\n      </trans-unit>\n      <trans-unit id="5251a4355cece3075db43f15d69a24a0f8485707" datatype="html">\n        <source>Reweight OSD: \n          <x id="INTERPOLATION" equiv-text="{{ osdId }}"/>\n        </source>\n        <target>Reweight OSD: \n          <x id="INTERPOLATION" equiv-text="{{ osdId }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="67650b2998db48201b2c6176cbfef51e7211ccaa" datatype="html">\n        <source>The value needs to be between 0 and 1.</source>\n        <target>Der Wert muss zwischen 0 und 1 liegen.</target>\n      </trans-unit>\n      <trans-unit id="bc11f92113d678a90e334fdf3d7b3fddbe34c579" datatype="html">\n        <source>Reweight</source>\n        <target>Neu gewichten</target>\n      </trans-unit>\n      <trans-unit id="d5ca5daf742023fc4f0919fb3c1c6a51991cda4f" datatype="html">\n        <source>OSDs \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>Scrub\n        </source>\n        <target>OSDs \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>Scrub\n        </target>\n      </trans-unit>\n      <trans-unit id="4c17d67c7c5799eb920030e9a399961e90f55dd8" datatype="html">\n        <source>{VAR_SELECT, select, 1 {Deep } }</source>\n        <target>{VAR_SELECT, select, 1 {Tief } }</target>\n      </trans-unit>\n      <trans-unit id="2613498e8e5853c26a1cc62ae8dc673d1fdf0e2a" datatype="html">\n        <source>You are about to apply a \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to\n          the OSD(s): \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ selected | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.\n        </source>\n        <target>You are about to apply a \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to\n          the OSD(s): \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ selected | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="dc6705f342a036b332c3fd3443201c3613e5524d" datatype="html">\n        <source>{VAR_SELECT, select, 1 {deep } }</source>\n        <target>{VAR_SELECT, select, 1 {tief } }</target>\n      </trans-unit>\n      <trans-unit id="b49d7877d24112d4bdfce9256edf61a007fae888" datatype="html">\n        <source>OSDs List</source>\n        <target>OSD-Liste</target>\n      </trans-unit>\n      <trans-unit id="c402e6ec1c6792ede81f56c28eee8955860391c8" datatype="html">\n        <source>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) \n          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </source>\n        <target>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) \n          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </target>\n      </trans-unit>\n      <trans-unit id="d2797d01ba86f5df03d875803e49e648a4027869" datatype="html">\n        <source>The \n          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to destroy!\n        </source>\n        <target>The \n          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to destroy!\n        </target>\n      </trans-unit>\n      <trans-unit id="e776996dac651ef3819bfa767ccf2a0613759f47" datatype="html">\n        <source>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</source>\n        <target>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</target>\n      </trans-unit>\n      <trans-unit id="1e2c50ed3c3934ef068976dc7f38513cec29d515" datatype="html">\n        <source>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD \n          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </source>\n        <target>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD \n          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </target>\n      </trans-unit>\n      <trans-unit id="4f8b2bb476981727ab34ed40fde1218361f92c45" datatype="html">\n        <source>Details</source>\n        <target>Details</target>\n      </trans-unit>\n      <trans-unit id="8501055865d7031b5521a0c5467532648009a61d" datatype="html">\n        <source>Matcher</source>\n        <target>Matcher</target>\n      </trans-unit>\n      <trans-unit id="9c25e04f554875dc2625a78ba0fc56c6010cd0d3" datatype="html">\n        <source>-- Select an attribute to match against --</source>\n        <target>-- Wählen Sie das zu vergleichende Attribut --</target>\n      </trans-unit>\n      <trans-unit id="5049e204c14c648691ac775a64fb504467aeb549" datatype="html">\n        <source>Value</source>\n        <target>Wert</target>\n      </trans-unit>\n      <trans-unit id="77fc5c63497fc031ddc97645484e3d94ad27766c" datatype="html">\n        <source>Use regular expression</source>\n        <target>Regulären Ausdruck verwenden</target>\n      </trans-unit>\n      <trans-unit id="7bbec1a797283712c0adf9e71d77fb5a8cd720db" datatype="html">\n        <source>{VAR_SELECT, select, 1 {Update} other {Add} }</source>\n        <target>{VAR_SELECT, select, 1 {Update} other {Add} }</target>\n      </trans-unit>\n      <trans-unit id="f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8" datatype="html">\n        <source>Close</source>\n        <target>Schließen</target>\n      </trans-unit>\n      <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c" datatype="html">\n        <source>Edit</source>\n        <target>Bearbeiten</target>\n      </trans-unit>\n      <trans-unit id="826b25211922a1b46436589233cb6f1a163d89b7" datatype="html">\n        <source>Delete</source>\n        <target>Löschen</target>\n      </trans-unit>\n      <trans-unit id="a3ba06aba047605af8ea1718ec1ba153b7db12a2" datatype="html">\n        <source>Editing a silence will expire the old silence and recreate it as a new silence</source>\n        <target>Editing a silence will expire the old silence and recreate it as a new silence</target>\n      </trans-unit>\n      <trans-unit id="a20424156b8816671f61879f0574a4f27d7b16b9" datatype="html">\n        <source>Creator</source>\n        <target>Creator</target>\n      </trans-unit>\n      <trans-unit id="5a5d7ee2acbfa9c91ab7f41d26bda9ff0cafe42f" datatype="html">\n        <source>Comment</source>\n        <target>Kommentar</target>\n      </trans-unit>\n      <trans-unit id="4c11aad490b2d53fdae30b3807beabf79306752c" datatype="html">\n        <source>Start time</source>\n        <target>Startzeit</target>\n      </trans-unit>\n      <trans-unit id="32856b1e8e339b747b21e313e2fe65a51fd450bb" datatype="html">\n        <source>If the start time lies in the past the creation time will be used</source>\n        <target>Wenn die Startzeit in der Vergangenheit liegt, wird die Erstellungszeit verwendet</target>\n      </trans-unit>\n      <trans-unit id="a02ea1d4e7424ca989929da5e598f379940fdbf2" datatype="html">\n        <source>Duration</source>\n        <target>Dauer</target>\n      </trans-unit>\n      <trans-unit id="2f4e35e36f4d3c62e2c17df41730b6dee4afc4b9" datatype="html">\n        <source>End time</source>\n        <target>Ende</target>\n      </trans-unit>\n      <trans-unit id="dbe739ec8c99a0132e326067ffec9c0ee06b2655" datatype="html">\n        <source>Matchers\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>*\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n        </source>\n        <target>Matchers\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>*\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="3e023166c55833d5a13f4143e3dbe372befe1b4e" datatype="html">\n        <source>A silence requires at least one matcher</source>\n        <target>A silence requires at least one matcher</target>\n      </trans-unit>\n      <trans-unit id="ef765bd80c4806c51c891908c07a24bc76f019eb" datatype="html">\n        <source>Add matcher</source>\n        <target>Add matcher</target>\n      </trans-unit>\n      <trans-unit id="d2bcd3296d2850de762fb943060b7e086a893181" datatype="html">\n        <source>Health</source>\n        <target>Integrität</target>\n      </trans-unit>\n      <trans-unit id="61e0f26d843eec0b33ff475e111b0c2f7a80b835" datatype="html">\n        <source>Statistics</source>\n        <target>Statistiken</target>\n      </trans-unit>\n      <trans-unit id="f8f74e5f683012b9c0702b1446011c6b9158bc67" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the NFS Ganesha management functionality.\n        </source>\n        <target>Lesen Sie die \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Dokumentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> zum\n  Konfigurieren und Aktivieren der Verwaltungsfunktion für NFS Ganesha.\n        </target>\n      </trans-unit>\n      <trans-unit id="7ffe39df9d88c972792bd8688b215392deb8313d" datatype="html">\n        <source>Clients</source>\n        <target>Clients</target>\n      </trans-unit>\n      <trans-unit id="f2dae0bda66f6a349444951c0379c28cda47d6d1" datatype="html">\n        <source>Any client can access</source>\n        <target>Jeder Client hat Zugriff</target>\n      </trans-unit>\n      <trans-unit id="7882f2edb1d4139800b276b6b0bbf5ae0b2234ef" datatype="html">\n        <source>Addresses</source>\n        <target>Adressen</target>\n      </trans-unit>\n      <trans-unit id="9bd96fcf50863e685c74d0490392f46689ffbdb6" datatype="html">\n        <source>Required field</source>\n        <target>Pflichtfeld</target>\n      </trans-unit>\n      <trans-unit id="a5f3f74c0f6925826cb2188576391c0da01a23f0" datatype="html">\n        <source>Must contain one or more comma-separated values</source>\n        <target>Muss mindestens einen kommagetrennten Wert enthalten</target>\n      </trans-unit>\n      <trans-unit id="8bb5b2073697f3f4378c44a49b7524934c9268f4" datatype="html">\n        <source>For example:</source>\n        <target>Beispielsweise:</target>\n      </trans-unit>\n      <trans-unit id="8f969c655b3fbe4fba7e277caf4cd2c459f9fca5" datatype="html">\n        <source>Access Type</source>\n        <target>Zugriffstyp</target>\n      </trans-unit>\n      <trans-unit id="28952831a284cfe2b4fc39ca610e80b52598905a" datatype="html">\n        <source>Squash</source>\n        <target>Squash</target>\n      </trans-unit>\n      <trans-unit id="0660ae339068979854ade34a96546980723dede3" datatype="html">\n        <source>Add clients</source>\n        <target>Clients hinzufügen</target>\n      </trans-unit>\n      <trans-unit id="135b91a2d908d5814b782695470a6a786c99d9d2" datatype="html">\n        <source>-- No cluster available --</source>\n        <target>-- Kein Cluster verfügbar --</target>\n      </trans-unit>\n      <trans-unit id="c501dba379f566885919240ea277b5bc10c14d18" datatype="html">\n        <source>-- Select the cluster --</source>\n        <target>-- Cluster auswählen --</target>\n      </trans-unit>\n      <trans-unit id="cf85b1ee58326aa9da63da41b2629c9db7c9a5b9" datatype="html">\n        <source>Add daemon</source>\n        <target>Daemon hinzufügen</target>\n      </trans-unit>\n      <trans-unit id="b3f6ba7fe84d6508705cdfe234f0fcc8ff85c9cf" datatype="html">\n        <source>Storage Backend</source>\n        <target>Speicher-Back-End</target>\n      </trans-unit>\n      <trans-unit id="151c80ea931037cd92e854442927f8a0f6ae7795" datatype="html">\n        <source>-- No data pools available --</source>\n        <target>-- Keine Datenpools verfügbar --</target>\n      </trans-unit>\n      <trans-unit id="b6fee356d1db954255a56d8169405a89595246b9" datatype="html">\n        <source>-- Select the storage backend --</source>\n        <target>-- Speicher-Back-End auswählen --</target>\n      </trans-unit>\n      <trans-unit id="76d67035c3ab3d8e56f725859f820f03fda41cfc" datatype="html">\n        <source>Object Gateway User</source>\n        <target>Objektgatewaybenutzer</target>\n      </trans-unit>\n      <trans-unit id="fade7788bace74337f306ae209f10fc187ef4671" datatype="html">\n        <source>-- No users available --</source>\n        <target>-- Keine Benutzer verfügbar --</target>\n      </trans-unit>\n      <trans-unit id="6d30b7b36cf8f6364167321bdb4ba35d4cefce7b" datatype="html">\n        <source>-- Select the object gateway user --</source>\n        <target>-- Objektgatewaybenutzer auswählen --</target>\n      </trans-unit>\n      <trans-unit id="589ce20d3ba3e3ac44f75decfaadc4ea8f0aec2d" datatype="html">\n        <source>CephFS User ID</source>\n        <target>CephFS-Benutzer-ID</target>\n      </trans-unit>\n      <trans-unit id="c4b88a53ac3b0ece46ba9b3ad72355a3c190cce7" datatype="html">\n        <source>-- No clients available --</source>\n        <target>-- keine Clients verfügbar --</target>\n      </trans-unit>\n      <trans-unit id="da52835b80497a0002d24414b057dc46ae44ce38" datatype="html">\n        <source>-- Select the cephx client --</source>\n        <target>-- cephx-Client auswählen --</target>\n      </trans-unit>\n      <trans-unit id="fd3419e8957d928d7f7ba19c93356a0dbff02871" datatype="html">\n        <source>CephFS Name</source>\n        <target>CephFS-Name</target>\n      </trans-unit>\n      <trans-unit id="ee3ba0ab5f0ccd597b3e44021c71e9aaad14df0a" datatype="html">\n        <source>-- No CephFS filesystem available --</source>\n        <target>-- Kein CephFS Dateisystem verfügbar --</target>\n      </trans-unit>\n      <trans-unit id="764c57812558b1ae66c5eec95d7efd2b1bf761e3" datatype="html">\n        <source>-- Select the CephFS filesystem --</source>\n        <target>-- CephFS Dateisystem auswählen --</target>\n      </trans-unit>\n      <trans-unit id="957512d0321f73e9f115bce1bd823fa635170c41" datatype="html">\n        <source>Security Label</source>\n        <target>Sicherheitsbezeichnung</target>\n      </trans-unit>\n      <trans-unit id="65ce0fa4da1ed55e658aeb31d1644a29f06bb342" datatype="html">\n        <source>Enable security label</source>\n        <target>Sicherheitsbezeichnung aktivieren</target>\n      </trans-unit>\n      <trans-unit id="7e808f804130c7b6ff719509cbc06ebb27393a48" datatype="html">\n        <source>CephFS Path</source>\n        <target>CephFS-Pfad</target>\n      </trans-unit>\n      <trans-unit id="5ecc0107badb6625466aaa3f975b5c05276f432f" datatype="html">\n        <source>Path need to start with a \'/\' and can be followed by a word</source>\n        <target>Pfad muss mit einem \'/\' beginnen und kann von einem Wort gefolgt werden</target>\n      </trans-unit>\n      <trans-unit id="2d02916f44fc63e13ab16d1cbe72aa6cb51feab3" datatype="html">\n        <source>New directory will be created</source>\n        <target>Neues Verzeichnis wird erstellt</target>\n      </trans-unit>\n      <trans-unit id="766c66ad5cc981c531aaf3fe3a2a7a346ddc8d83" datatype="html">\n        <source>Path</source>\n        <target>Pfad</target>\n      </trans-unit>\n      <trans-unit id="7ec35c722a50b976620f22612f7be619c12ceb90" datatype="html">\n        <source>Path can only be a single \'/\' or a word</source>\n        <target>Pfad darf nur ein einzelner \'/\' oder ein Wort sein</target>\n      </trans-unit>\n      <trans-unit id="aebb6a5090c24511de4530195694bb3f3dcf0342" datatype="html">\n        <source>New bucket will be created</source>\n        <target>Neuer Bucket wird erstellt</target>\n      </trans-unit>\n      <trans-unit id="bee6900143996c0e908a10564532eba3da0b30fb" datatype="html">\n        <source>NFS Protocol</source>\n        <target>NFS-Protokoll</target>\n      </trans-unit>\n      <trans-unit id="2f534178c01ebf1307da2eaeef04bc6801ebc729" datatype="html">\n        <source>NFSv3</source>\n        <target>NFSv3</target>\n      </trans-unit>\n      <trans-unit id="f5043c0921e709935ab026bb3253ffe1f159fca1" datatype="html">\n        <source>NFSv4</source>\n        <target>NFSv4</target>\n      </trans-unit>\n      <trans-unit id="92488963d23095985a47c0d6e62304e11d333f19" datatype="html">\n        <source>NFS Tag</source>\n        <target>NFS-Tag</target>\n      </trans-unit>\n      <trans-unit id="aae93362720aea94623682996dd3fcd0f906f056" datatype="html">\n        <source>Alternative access for \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v3\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> mounts (it must not have a leading /).\n        </source>\n        <target>Alternativer Zugriff für \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v3\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>-Mountpunkte (dürfen keinen führenden / enthalten)\n        </target>\n      </trans-unit>\n      <trans-unit id="45d6db77dcf1a3eeb921033abc7882e517a541cc" datatype="html">\n        <source>Clients may not mount subdirectories (i.e. if Tag = foo, the client may not mount foo/baz).</source>\n        <target>Clients können Unterverzeichnisse möglicherweise nicht mounten (d. h. wenn der Pfad = foo ist, kann der Client foo/baz möglicherweise nicht mounten).</target>\n      </trans-unit>\n      <trans-unit id="a1c7a8676b55e882a97c6a6fb205204f9c761afa" datatype="html">\n        <source>By using different Tag options, the same Path may be exported multiple times.</source>\n        <target>Wenn unterschiedliche Tag-Optionen verwendet werden, wird derselbe Pfad möglicherweise mehrfach exportiert.</target>\n      </trans-unit>\n      <trans-unit id="6d2c39708a32910f89701dd7e1cfb9ec1c195768" datatype="html">\n        <source>Pseudo</source>\n        <target>Pseudo</target>\n      </trans-unit>\n      <trans-unit id="1f8be2ae25947bec0b84c2338201580ea053f34e" datatype="html">\n        <source>The position that this \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v4\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> export occupies\n                in the \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>Pseudo FS\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> (it must be unique).\n        </source>\n        <target>Die Position dieses \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v4\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>-Exports\n                auf dem \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>Pseudo-Dateisystem\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> (muss eindeutig sein).\n        </target>\n      </trans-unit>\n      <trans-unit id="f3af55f7fd5b1d9e5a53e030c80116dc635bfb9f" datatype="html">\n        <source>By using different Pseudo options, the same Path may be exported multiple times.</source>\n        <target>Wenn unterschiedliche Pseudo-Optionen verwendet werden, wird derselbe Pfad möglicherweise mehrfach exportiert.</target>\n      </trans-unit>\n      <trans-unit id="ddf98fcdeeb17643db020d54f42b5e56b5f9a52a" datatype="html">\n        <source>Pseudo needs to start with a \'/\' and can\'t contain any of the following: &gt;, &lt;, |, &amp;, ( or ).</source>\n        <target>Pseudo needs to start with a \'/\' and can\'t contain any of the following: &gt;, &lt;, |, &amp;, ( or ).</target>\n      </trans-unit>\n      <trans-unit id="27eb35c4b4ac08781a7253a2ab40f8f7d957ba51" datatype="html">\n        <source>-- No access type available --</source>\n        <target>-- Kein Zugriffstyp verfügbar --</target>\n      </trans-unit>\n      <trans-unit id="509ce016c9110a54028dafd741f15ceacbe74b5a" datatype="html">\n        <source>-- Select the access type --</source>\n        <target>-- Zugriffstyp auswählen --</target>\n      </trans-unit>\n      <trans-unit id="49850390a653cd05dc5843d74ef073a9122b54c9" datatype="html">\n        <source>The Object Gateway NFS backend has a number of\n              limitations which will seriously affect applications writing to\n              the share. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for details before enabling write access.\n        </source>\n        <target>The Object Gateway NFS backend has a number of\n              limitations which will seriously affect applications writing to\n              the share. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for details before enabling write access.\n        </target>\n      </trans-unit>\n      <trans-unit id="4deda03573eaaff77e63f6a238a1f0ca7816950a" datatype="html">\n        <source>-- No squash available --</source>\n        <target>-- Kein Squash verfügbar --</target>\n      </trans-unit>\n      <trans-unit id="a0e82a4da88e7fdf270444f838d45849676e9d4b" datatype="html">\n        <source>--Select what kind of user id squashing is performed --</source>\n        <target>-- Durchzuführende Benutzer-ID-Squashing-Art auswählen --</target>\n      </trans-unit>\n      <trans-unit id="d01b7c3f7f06712c53d054cfbe4f53d446b038e8" datatype="html">\n        <source>Transport Protocol</source>\n        <target>Transportprotokoll</target>\n      </trans-unit>\n      <trans-unit id="d2a6ad6e8bc315f07911722c05767ac79c136d99" datatype="html">\n        <source>UDP</source>\n        <target>UDP</target>\n      </trans-unit>\n      <trans-unit id="9c030f11e0aae9b24d2c048c57f29f590be621df" datatype="html">\n        <source>TCP</source>\n        <target>TCP</target>\n      </trans-unit>\n      <trans-unit id="734c9905951a774870497c5aaae8e3ee833b6196" datatype="html">\n        <source>CephFS</source>\n        <target>CephFS</target>\n      </trans-unit>\n      <trans-unit id="449dca3d3a93ead418b0541ea81b0dda7e6483c2" datatype="html">\n        <source>Welcome to Ceph!</source>\n        <target>Willkommen bei Ceph!</target>\n        <note>The welcome message on the login page</note>\n      </trans-unit>\n      <trans-unit id="0070e83d11da39d6f4bb95065c2675db1610b419" datatype="html">\n        <source>Username is required</source>\n        <target>Benutzername ist erforderlich</target>\n      </trans-unit>\n      <trans-unit id="1e20f8b8a4706526c9024cc2f39d568345d100dc" datatype="html">\n        <source>Password is required</source>\n        <target>Passwort ist erforderlich</target>\n      </trans-unit>\n      <trans-unit id="6765b4c916060f6bc42d9bb69e80377dbcb5e4e9" datatype="html">\n        <source>Login</source>\n        <target>Anmeldung</target>\n      </trans-unit>\n      <trans-unit id="58fc1b5c79a75370eb52644fd83fb2e7096b6649" datatype="html">\n        <source>Sorry, the user does not exist in Ceph.</source>\n        <target>Der Benutzer ist in Ceph leider nicht enthalten.</target>\n      </trans-unit>\n      <trans-unit id="d9deb94f78e7c41b35c6622b874f06657d7604c1" datatype="html">\n        <source>Return to \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Login Page\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You\'ll be logged out from the Identity Provider when you retry logging in.\n        </source>\n        <target>Kehren Sie zur \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Anmeldeseite\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> zurück. Sie werden vom Identitätsanbieter abgemeldet, wenn Sie versuchen, sich erneut anzumelden.\n        </target>\n      </trans-unit>\n      <trans-unit id="0eb15f32b2b92d7f3103ef3ff032621888a8dc32" datatype="html">\n        <source>Old password</source>\n        <target>Altes Passwort</target>\n      </trans-unit>\n      <trans-unit id="1cf42e491adc166a337a960eb84d03c0c3f677c8" datatype="html">\n        <source>The old and new passwords must be different.</source>\n        <target>Das alte und neue Passwort müssen unterschiedlich sein.</target>\n      </trans-unit>\n      <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229" datatype="html">\n        <source>New password</source>\n        <target>Neues Passwort</target>\n      </trans-unit>\n      <trans-unit id="595ebc9279497f6dc733777e2816bee936901388" datatype="html">\n        <source>Too weak</source>\n        <target>Too weak</target>\n      </trans-unit>\n      <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b" datatype="html">\n        <source>Confirm new password</source>\n        <target>Neues Passwort bestätigen</target>\n      </trans-unit>\n      <trans-unit id="90163a3d3746819aef42e829f4446331232f3b66" datatype="html">\n        <source>Password confirmation doesn\'t match the new password.</source>\n        <target>Passwortbestätigung stimmt nicht mit dem neuen Passwort überein.</target>\n      </trans-unit>\n      <trans-unit id="471e78026c258073ba687478dc54c35d9041ea42" datatype="html">\n        <source>Forbidden</source>\n        <target>Verboten</target>\n      </trans-unit>\n      <trans-unit id="02ea8ad57677e3c63f3d7814ca5e6c7b74e360b4" datatype="html">\n        <source>Sorry, you are not allowed to see what you were looking for.</source>\n        <target>Leider sind Sie nicht berechtigt, den gewünschten Inhalt anzuzeigen.</target>\n      </trans-unit>\n      <trans-unit id="e3c028c58f92453d46f09b5adf95b2f013ee0300" datatype="html">\n        <source>Sorry, we could not find what you were looking for</source>\n        <target>Leider konnte der gewünschte Inhalt nicht gefunden werden.</target>\n      </trans-unit>\n      <trans-unit id="a949d7e577902d0e5dc5d0971bb0170a21be7728" datatype="html">\n        <source>[object Object]</source>\n        <target>[object Object]</target>\n      </trans-unit>\n      <trans-unit id="ff92fbdec9fdd5054493eeda0d7ee8b450f83e72" datatype="html">\n        <source>RBD Configuration</source>\n        <target>RBD-Konfiguration</target>\n      </trans-unit>\n      <trans-unit id="b62d9efc8eb3b589904f6cb96a0406bbda55673a" datatype="html">\n        <source>Remove the local configuration value. The parent configuration value will be inherited and used instead.</source>\n        <target>Entfernen Sie den lokalen Konfigurationswert. Stattdessen wird der übergeordnete Konfigurationswert übernommen und verwendet.</target>\n      </trans-unit>\n      <trans-unit id="963488a1010d46067b238c4ae917fab3907c0a3a" datatype="html">\n        <source>The mininum value is 0</source>\n        <target>Der Mindestwert lautet 0</target>\n      </trans-unit>\n      <trans-unit id="1d8a7c8aea58294a3c57c23af0468ddf0ba0c9c7" datatype="html">\n        <source>Pools List</source>\n        <target>Pool-Liste</target>\n      </trans-unit>\n      <trans-unit id="490e15ecc922965b6d8194754c87c5583aa071f3" datatype="html">\n        <source>The name can only consist of alphanumeric characters, dashes and underscores.</source>\n        <target>Der Name darf nur alphanumerische Zeichen, Bindestriche und Unterstriche enthalten.</target>\n      </trans-unit>\n      <trans-unit id="9edc2b494e660618af3e5225f68d40b7ca67629c" datatype="html">\n        <source>The chosen erasure code profile name is already in use.</source>\n        <target>Der ausgewählte Erasure-Coding-Profilname wird bereits verwendet.</target>\n      </trans-unit>\n      <trans-unit id="ef9ff0e6227947b48dfab4ac39ade04af758913b" datatype="html">\n        <source>Plugin</source>\n        <target>Plugin</target>\n      </trans-unit>\n      <trans-unit id="dd69b31bce8f630eac1d4762b0bbcf72ce19d193" datatype="html">\n        <source>Data chunks (k)</source>\n        <target>Datenblöcke (k)</target>\n      </trans-unit>\n      <trans-unit id="b0d26a6172d32cb81218fe2103c54a818cbc1189" datatype="html">\n        <source>Must be equal to or greater than 2.</source>\n        <target>Muss größer oder gleich 2 sein.</target>\n      </trans-unit>\n      <trans-unit id="dab3a299ead121169b8e08ed618c3b6a2f66691b" datatype="html">\n        <source>Coding chunks (m)</source>\n        <target>Datenblöcke für die Codierung (m)</target>\n      </trans-unit>\n      <trans-unit id="1e2773e5bd4948193f18f2361d663ecc3988c656" datatype="html">\n        <source>Must be equal to or greater than 1.</source>\n        <target>Muss größer oder gleich 1 sein.</target>\n      </trans-unit>\n      <trans-unit id="6cde4c945a49a260c0a47bcc7cd956846930a5f7" datatype="html">\n        <source>Durability estimator (c)</source>\n        <target>Dauerhaftigkeitsschätzung (c)</target>\n      </trans-unit>\n      <trans-unit id="af668c2a095a979ea2b4e43cd82c2120ab56c21c" datatype="html">\n        <source>Locality (l)</source>\n        <target>Standort (l)</target>\n      </trans-unit>\n      <trans-unit id="d455a110bf6d2235e314e295ce1dfeee93d3dff2" datatype="html">\n        <source>Crush failure domain</source>\n        <target>Crush-Ausfalldomäne</target>\n      </trans-unit>\n      <trans-unit id="b74a495f041f7dd102eee5c0bbc9e03083b538ae" datatype="html">\n        <source>Crush Locality</source>\n        <target>Crush-Standort</target>\n      </trans-unit>\n      <trans-unit id="a2f14a73f7a6e94479f67423cc51102da8d6f524" datatype="html">\n        <source>None</source>\n        <target>Keine</target>\n      </trans-unit>\n      <trans-unit id="2981733b912b693a9dd9d915d6d34f4692cc874a" datatype="html">\n        <source>Technique</source>\n        <target>Technik</target>\n      </trans-unit>\n      <trans-unit id="e0098b6e47b04ec817361f384ce81d454ba5c0bb" datatype="html">\n        <source>Packetsize</source>\n        <target>Paketgröße</target>\n      </trans-unit>\n      <trans-unit id="c0252cd81ca54d0a2f69ec9ccf4248e73df5aa4a" datatype="html">\n        <source>Crush root</source>\n        <target>Crush-Stamm</target>\n      </trans-unit>\n      <trans-unit id="1548d5c76f0406ddd1ba3c557e1e6db22e95b340" datatype="html">\n        <source>Crush device class</source>\n        <target>Crush-Geräteklasse</target>\n      </trans-unit>\n      <trans-unit id="5e85feb6f9f0334366e46ee09ca6b8df52397432" datatype="html">\n        <source>any</source>\n        <target>beliebig</target>\n      </trans-unit>\n      <trans-unit id="03d84645f6e019c5a43909bbf2ea1696ee88332c" datatype="html">\n        <source>Directory</source>\n        <target>Verzeichnis</target>\n      </trans-unit>\n      <trans-unit id="2fecea01ce1d44114ee45144eff6d47a5016a74f" datatype="html">\n        <source>Name...</source>\n        <target>Name...</target>\n      </trans-unit>\n      <trans-unit id="16e113230b6b0d3165e076300880542bac7c8138" datatype="html">\n        <source>The chosen Ceph pool name is already in use.</source>\n        <target>Der ausgewählte Poolname wird bereits verwendet.</target>\n      </trans-unit>\n      <trans-unit id="c75b132bef7b29fa5171768303c4b96e34ccaf68" datatype="html">\n        <source>It\'s not possible to create an RBD pool with \'/\' in the name.\n              Please change the name or remove \'rbd\' from the applications list.</source>\n        <target>It\'s not possible to create an RBD pool with \'/\' in the name.\n              Please change the name or remove \'rbd\' from the applications list.</target>\n      </trans-unit>\n      <trans-unit id="b85c657469e5ec8231c3de99b22f437bc01ffde5" datatype="html">\n        <source>Pool type</source>\n        <target>Pooltyp</target>\n      </trans-unit>\n      <trans-unit id="526c5443254c3b126eedb264840ffe827727bfd3" datatype="html">\n        <source>-- Select a pool type --</source>\n        <target>-- Pooltyp auswählen --</target>\n      </trans-unit>\n      <trans-unit id="0aa21053410a94aa61d16985a4e95fd65523430d" datatype="html">\n        <source>Placement groups</source>\n        <target>Platzierungsgruppen</target>\n      </trans-unit>\n      <trans-unit id="6301f1391d726f8f450bb358058534db19541ca9" datatype="html">\n        <source>At least one placement group is needed!</source>\n        <target>Es wird mindestens eine Platzierungsgruppe benötigt.</target>\n      </trans-unit>\n      <trans-unit id="ba9469a1ce6ed36e039c1f67247c8c81a5c71449" datatype="html">\n        <source>Your cluster can\'t handle this many PGs. Please recalculate the PG amount needed.</source>\n        <target>Ihr Cluster kann nicht so viele Platzierungsgruppen verarbeiten. Berechnen Sie die benötigte Anzahl an Platzierungsgruppen.</target>\n      </trans-unit>\n      <trans-unit id="80ac68cd883369dac20688bc32b4cb33291b5e50" datatype="html">\n        <source>Calculation help</source>\n        <target>Hilfe zur Berechnung</target>\n      </trans-unit>\n      <trans-unit id="fccbd60493df26705d957ed6c02a3c447894678f" datatype="html">\n        <source>The current PGs settings were calculated for you, you\n                should make sure the values suit your needs before submit.</source>\n        <target>Die aktuellen Einstellungen für die Platzierungsgruppen wurden für Sie berechnet.\n                    Stellen Sie vor dem Senden sicher, dass die Werte Ihren Anforderungen entsprechen.</target>\n      </trans-unit>\n      <trans-unit id="33150f22ce5348aa6c499bd092c3f4f3695d62cc" datatype="html">\n        <source>Crush ruleset</source>\n        <target>Crush-Regelsatz</target>\n      </trans-unit>\n      <trans-unit id="73a6b31116b3cc322af951daa0bafdc169e6c42e" datatype="html">\n        <source>-- Select a crush rule --</source>\n        <target>-- Crush-Regel auswählen --</target>\n      </trans-unit>\n      <trans-unit id="92da80699921e89fb19372e25b8d0f3b9fa427fc" datatype="html">\n        <source>Crush rule</source>\n        <target>Crush-Regel</target>\n      </trans-unit>\n      <trans-unit id="5489e9f96835f469f6f728a00d8efa88ea5bc940" datatype="html">\n        <source>Crush steps</source>\n        <target>Crush-Schritte</target>\n      </trans-unit>\n      <trans-unit id="54a53b1b402aafff5b992ee9b64e409fbfe9074f" datatype="html">\n        <source>The rule can\'t be used in the current cluster as it has\n                to few OSDs to meet the minimum required OSD by this rule.</source>\n        <target>Die Regel kann im aktuellen Cluster nicht verwendet werden,\n                da es zu wenige OSDs enthält, um das von dieser Regel geforderte OSD-Minimum zu erfüllen.</target>\n      </trans-unit>\n      <trans-unit id="a43b2695131b48b76cebba676aba98a2bee17515" datatype="html">\n        <source>Replicated size</source>\n        <target>Reproduzierte Größe</target>\n      </trans-unit>\n      <trans-unit id="7bff144a4c4dc63b0e18fff2617d61a7ebdf2b6c" datatype="html">\n        <source>Minimum: \n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/>\n        </source>\n        <target>Minimum: \n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="1a9c54b41f6d58a74e5d0aa3429ed0c87a482551" datatype="html">\n        <source>Maximum: \n          <x id="INTERPOLATION" equiv-text="{{ getMaxSize() }}"/>\n        </source>\n        <target>Maximum: \n          <x id="INTERPOLATION" equiv-text="{{ getMaxSize() }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6ab647b95bd2347ae6f4605576de5e0269fb893a" datatype="html">\n        <source>The size specified is out of range. A value from\n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/> to \n          <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.\n        </source>\n        <target>Die angegebene Größe liegt außerhalb des Bereichs. Gültige Werte liegen zwischen\n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/> und \n          <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="9de7dde00e2139cc4bd03b1837afbe72ad15a1ff" datatype="html">\n        <source>Erasure code profile</source>\n        <target>Erasure-Coding-Profil</target>\n      </trans-unit>\n      <trans-unit id="39b4620e6bd444e0a57a0a5c03fa8c96d7fe5235" datatype="html">\n        <source>-- No erasure code profile available --</source>\n        <target>-- Kein Erasure-Coding-Profil verfügbar --</target>\n      </trans-unit>\n      <trans-unit id="498561757390d5528b263ce450d5f38efb00266d" datatype="html">\n        <source>-- Select an erasure code profile --</source>\n        <target>-- Erasure-Coding-Profil auswählen --</target>\n      </trans-unit>\n      <trans-unit id="920617c6a1a4805e53bcb5af6a9c76f8387e89c6" datatype="html">\n        <source>Flags</source>\n        <target>Flags</target>\n      </trans-unit>\n      <trans-unit id="1c870fb00256b8a5b9cb9cd1a124e6390b9bc639" datatype="html">\n        <source>EC Overwrites</source>\n        <target>EC-Überschreibungen</target>\n      </trans-unit>\n      <trans-unit id="f1abafaeb40ce52355ddcc24686e3cd17b64e08a" datatype="html">\n        <source>Applications</source>\n        <target>Anwendungen</target>\n      </trans-unit>\n      <trans-unit id="2208d63d5940ce656006a220102b1eb2b5e553da" datatype="html">\n        <source>Compression</source>\n        <target>Komprimierung</target>\n      </trans-unit>\n      <trans-unit id="37e10df2d9c0c25ef04ac112c9c9a7723e8efae0" datatype="html">\n        <source>Mode</source>\n        <target>Modus</target>\n      </trans-unit>\n      <trans-unit id="6c6f25c47da62ec597c6057a36ddfc3209811ec5" datatype="html">\n        <source>Algorithm</source>\n        <target>Algorithmus</target>\n      </trans-unit>\n      <trans-unit id="4903231d42089325a28892c0fde1aed46b733ae6" datatype="html">\n        <source>-- No erasure compression algorithm available --</source>\n        <target>-- Kein Komprimierungsalgorithmus für Erasure-Coding verfügbar --</target>\n      </trans-unit>\n      <trans-unit id="5d68ddb254275f8f44221e9ad6d8ceeb59ca46a6" datatype="html">\n        <source>Minimum blob size</source>\n        <target>Minimale Blobgröße</target>\n      </trans-unit>\n      <trans-unit id="fb2f176df80647137cbb02bbeb29e5dec707a400" datatype="html">\n        <source>e.g., 128KiB</source>\n        <target>z. B. 128KiB</target>\n      </trans-unit>\n      <trans-unit id="1b7f6e53a4521c6eb3ced4c007fdd4cf80bb7707" datatype="html">\n        <source>Value should be greater than 0</source>\n        <target>Wert sollte größer als 0 sein</target>\n      </trans-unit>\n      <trans-unit id="8db98ab14b4e207ec763dfdefbc2dae367aab1cc" datatype="html">\n        <source>Value should be less than the maximum blob size</source>\n        <target>Wert sollte niedriger als die maximale Blobgröße sein</target>\n      </trans-unit>\n      <trans-unit id="151efb127a9a4dd25259a0b2055442318a141f5b" datatype="html">\n        <source>Maximum blob size</source>\n        <target>Maximale Blobgröße</target>\n      </trans-unit>\n      <trans-unit id="0c656f0e346bbadf46eb1a5d20d0307a3bd20ba8" datatype="html">\n        <source>e.g., 512KiB</source>\n        <target>z. B. 512KiB</target>\n      </trans-unit>\n      <trans-unit id="0a65a24eee8a026f3b1113fe9e157e9a0dd69486" datatype="html">\n        <source>Value should be greater than the minimum blob size</source>\n        <target>Wert sollte größer als die minimale Blobgröße sein</target>\n      </trans-unit>\n      <trans-unit id="261ba09c4a59de83f48f52a23fd328da37e61ff4" datatype="html">\n        <source>Ratio</source>\n        <target>Verhältnis</target>\n      </trans-unit>\n      <trans-unit id="c1430457a9c3c66366e51d76bf10396014c576be" datatype="html">\n        <source>Compression ratio</source>\n        <target>Komprimierungsverhältnis</target>\n      </trans-unit>\n      <trans-unit id="ae5ce6de352cde949998fb10754459c3a4eb183b" datatype="html">\n        <source>Value should be between 0.0 and 1.0</source>\n        <target>Wert sollte zwischen 0,0 und 1,0 liegen</target>\n      </trans-unit>\n      <trans-unit id="8bb8293aa8161433778762ae025ffd5e7c85795e" datatype="html">\n        <source>Quotas</source>\n        <target>Kontingente</target>\n      </trans-unit>\n      <trans-unit id="d99b34162c9c34f10d0ccd8dbae83d8569c2db77" datatype="html">\n        <source>Max bytes</source>\n        <target>Max. Bytes</target>\n      </trans-unit>\n      <trans-unit id="a1d14a18879c62f3f4ed705318b7164a1160e249" datatype="html">\n        <source>Leave it blank or specify 0 to disable this quota.</source>\n        <target>Leave it blank or specify 0 to disable this quota.</target>\n      </trans-unit>\n      <trans-unit id="7565b131562ff6c5f769fdbd239a772154abdd97" datatype="html">\n        <source>A valid quota should be greater than 0.</source>\n        <target>Ein gültiges Kontingent sollte größer als 0 sein.</target>\n      </trans-unit>\n      <trans-unit id="f0016bd458baa88284a658ce9eeda42d8ad88d2c" datatype="html">\n        <source>e.g., 10GiB</source>\n        <target>z. B. 10GiB</target>\n      </trans-unit>\n      <trans-unit id="b8bf35b66f09a301eef92ffc3cb2fd259df67ce9" datatype="html">\n        <source>Max objects</source>\n        <target>Max. Objekte</target>\n      </trans-unit>\n      <trans-unit id="95f348167622d832c5ae532b6944635c8e2ae5cb" datatype="html">\n        <source>The value should be greater or equal to 0</source>\n        <target>Der Wert sollte größer als oder gleich 0 sein</target>\n      </trans-unit>\n      <trans-unit id="fbbaf5cb02ed419e79a27072478f716a4666a99d" datatype="html">\n        <source>Performance Details</source>\n        <target>Leistungsdetails</target>\n      </trans-unit>\n      <trans-unit id="3938a411d76796f8ae73b72ea4c77661207453bd" datatype="html">\n        <source>Cache Tiers Details</source>\n        <target>Details zu den Cache-Ebenen</target>\n      </trans-unit>\n      <trans-unit id="f0b5d789d42c0e69348e5fe0037fcbf5b5fbbdcc" datatype="html">\n        <source>Move an image to trash</source>\n        <target>Image in Papierkorb verschieben</target>\n      </trans-unit>\n      <trans-unit id="86301cf2044b1eda218483365f6b9de8dde5040b" datatype="html">\n        <source>To move \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{ imageName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,\n          click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optionally, you can pick an expiration date.\n        </source>\n        <target>Um \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{ imageName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> in den Papierkorb zu verschieben,\n          klicken Sie auf \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Image verschieben\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optional können Sie ein Ablaufdatum auswählen.\n        </target>\n      </trans-unit>\n      <trans-unit id="88f27d390844aad53b4240360e928156c5f0d326" datatype="html">\n        <source>Protection expires at</source>\n        <target>Schutz läuft ab am</target>\n      </trans-unit>\n      <trans-unit id="da166e9a0d27322f6ba8916d71ecc0f9905bb4b1" datatype="html">\n        <source>NOT PROTECTED</source>\n        <target>NICHT GESCHÜTZT</target>\n      </trans-unit>\n      <trans-unit id="a1506e5f2ca22cad14502ec7a20fb6113ace145d" datatype="html">\n        <source>Wrong date format. Please use "YYYY-MM-DD HH:mm:ss".</source>\n        <target>Falsches Datumsformat. Verwenden Sie "TT.MM.JJJJ HH:mm:ss".</target>\n      </trans-unit>\n      <trans-unit id="aa7ea0bb7495281e0b3258467ac7d90a1e44a1a1" datatype="html">\n        <source>Protection has already expired. Please pick a future date or leave it empty.</source>\n        <target>Schutz ist bereits abgelaufen. Wählen Sie ein künftiges Datum aus oder lassen Sie es leer.</target>\n      </trans-unit>\n      <trans-unit id="536b3205c0c0d4d21685ec06feccfcf2fe14deb1" datatype="html">\n        <source>Move Image</source>\n        <target>Image verschieben</target>\n      </trans-unit>\n      <trans-unit id="8a9910cd114c1deb9af74f6f99b4173403965bf2" datatype="html">\n        <source>Gateways</source>\n        <target>Gateways</target>\n      </trans-unit>\n      <trans-unit id="8835b9e49a3348b0a2f2162c21118af1f4bee45a" datatype="html">\n        <source>Must be greater than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'min\'] }}"/>.\n        </source>\n        <target>Must be greater than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'min\'] }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="bbddac59563c8c126e3fe28691e4e247614fcbd1" datatype="html">\n        <source>Must be less than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'max\'] }}"/>.\n        </source>\n        <target>Must be less than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'max\'] }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="e95ae009d0bdb45fcc656e8b65248cf7396080d5" datatype="html">\n        <source>Overview</source>\n        <target>Übersicht</target>\n      </trans-unit>\n      <trans-unit id="bbd2045d5c37e4bb39a3c0fb62ea1ddf70a12838" datatype="html">\n        <source>Targets</source>\n        <target>Ziele</target>\n      </trans-unit>\n      <trans-unit id="6803e31b7395d94934e091a49a9524026b59b018" datatype="html">\n        <source>Discovery Authentication</source>\n        <target>Ermittlungsauthentifizierung</target>\n      </trans-unit>\n      <trans-unit id="e08a77594f3d89311cdf6da5090044270909c194" datatype="html">\n        <source>User</source>\n        <target>Benutzer</target>\n      </trans-unit>\n      <trans-unit id="0214f773f8e394f50f953f39962e352d7863e959" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n              can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Benutzernamen müssen zwischen 8 und 64 Zeichen lang sein und\n              dürfen nur Buchstaben, \'.\', \'@\', \'-\', \'_\' oder \':\' enthalten.</target>\n      </trans-unit>\n      <trans-unit id="c32ef07f8803a223a83ed17024b38e8d82292407" datatype="html">\n        <source>Password</source>\n        <target>Passwort</target>\n      </trans-unit>\n      <trans-unit id="6682d1c00263bee204583a5d589b308b6be88b0f" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n              and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwörter müssen zwischen 12 und 16 Zeichen lang sein\n              und dürfen nur Buchstaben, \'@\', \'-\', \'_\' oder \'/\' enthalten.</target>\n      </trans-unit>\n      <trans-unit id="ff40391de7a1944ea95091e4045cc34c4979b736" datatype="html">\n        <source>Mutual User</source>\n        <target>Gemeinsamer Benutzer</target>\n      </trans-unit>\n      <trans-unit id="0cf73dbebe99b737c4d288788182fc356e3c93d3" datatype="html">\n        <source>Mutual Password</source>\n        <target>Gemeinsames Passwort</target>\n      </trans-unit>\n      <trans-unit id="8800276925157c666b103c36ff7fe8ffe11980b4" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters and\n              can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwörter müssen zwischen 12 und 16 Zeichen lang sein\n              und dürfen nur Buchstaben, \'@\', \'-\', \'_\' oder \'/\' enthalten.</target>\n      </trans-unit>\n      <trans-unit id="53a583cd5f15059cc958b7d547f72cc78f68e123" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n    on how to configure and enable the iSCSI Targets management functionality.\n        </source>\n        <target>Lesen Sie die\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Dokumentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> zum\n  Konfigurieren und Aktivieren der Verwaltungsfunktion für iSCSI-Ziele.\n        </target>\n      </trans-unit>\n      <trans-unit id="3b301d0044f62c92af0da53d7aaca52a436a547d" datatype="html">\n        <source>Available information:</source>\n        <target>Verfügbare Informationen:</target>\n      </trans-unit>\n      <trans-unit id="332227f088a4877b3c11f5fb3ae8bc812c470fae" datatype="html">\n        <source>iSCSI Targets not available</source>\n        <target>iSCSI-Ziele nicht verfügbar</target>\n      </trans-unit>\n      <trans-unit id="8414a5cb9d71cc1b21b10e4a9d1f2dad558f3361" datatype="html">\n        <source>Discovery authentication</source>\n        <target>Ermittlungsauthentifizierung</target>\n      </trans-unit>\n      <trans-unit id="0f6e8f6094b180eaf1f11bc0ffe383f1cdcd059e" datatype="html">\n        <source>Only available for RBD images with \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>fast-diff\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> enabled\n        </source>\n        <target>Nur für RBD-Images verfügbar, bei denen \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>fast-diff\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> aktiviert ist\n        </target>\n      </trans-unit>\n      <trans-unit id="e70fcca5a99575cffef3ff8cbd5e69f06ffd0f1c" datatype="html">\n        <source>Pool</source>\n        <target>Pool</target>\n      </trans-unit>\n      <trans-unit id="03cc5b14b0a20d075e9009ff021f4f1660ba348a" datatype="html">\n        <source>Data Pool</source>\n        <target>Datenpool</target>\n      </trans-unit>\n      <trans-unit id="1b051734b0ee9021991c91b3ed4e81c244322462" datatype="html">\n        <source>Created</source>\n        <target>Erstellt</target>\n      </trans-unit>\n      <trans-unit id="7faaaa08f56427999f3be41df1093ce4089bbd75" datatype="html">\n        <source>Size</source>\n        <target>Größe</target>\n      </trans-unit>\n      <trans-unit id="afdb601c16162f2c798b16a2920955f1cc6a20aa" datatype="html">\n        <source>Objects</source>\n        <target>Objekte</target>\n      </trans-unit>\n      <trans-unit id="ceac8e132384322ec778ba760875a6c6897d3e42" datatype="html">\n        <source>Object size</source>\n        <target>Objektgröße</target>\n      </trans-unit>\n      <trans-unit id="6cdb1fea93d77c07950c0c76c6e0ad79ebbef084" datatype="html">\n        <source>Features</source>\n        <target>Funktionen</target>\n      </trans-unit>\n      <trans-unit id="0a65771c9a73b9aa609d592fc96a64801a8f40bd" datatype="html">\n        <source>Provisioned</source>\n        <target>Bereitgestellt</target>\n      </trans-unit>\n      <trans-unit id="84a36cb75660b736773fe36ffa3d54f0f0fe363e" datatype="html">\n        <source>N/A</source>\n        <target>n. v.</target>\n      </trans-unit>\n      <trans-unit id="e5c009342a4e8381f64341d0bb61c2e4685f5a4b" datatype="html">\n        <source>Total provisioned</source>\n        <target>Bereitgestellt gesamt</target>\n      </trans-unit>\n      <trans-unit id="7f6bf8a43ae415f527ac961ea62471b983aaa97b" datatype="html">\n        <source>Striping unit</source>\n        <target>Striping-Einheit</target>\n      </trans-unit>\n      <trans-unit id="db710e8a8f011923f2d15d713fbae49c38b02b26" datatype="html">\n        <source>Striping count</source>\n        <target>Striping-Anzahl</target>\n      </trans-unit>\n      <trans-unit id="3a4c2a9e76634ff14a60d52a718296f722d47c67" datatype="html">\n        <source>Parent</source>\n        <target>Übergeordnet</target>\n      </trans-unit>\n      <trans-unit id="6a209e68d78ffc2cc9c53d2e76158624efab71ad" datatype="html">\n        <source>Block name prefix</source>\n        <target>Präfix für Blockname</target>\n      </trans-unit>\n      <trans-unit id="5704ec2049d007c5f5fb495a5d8b607e68d58081" datatype="html">\n        <source>Order</source>\n        <target>Reihenfolge</target>\n      </trans-unit>\n      <trans-unit id="f21b1d17b6c5042bb5805516eee37fde33739dd8" datatype="html">\n        <source>Snapshots</source>\n        <target>Snapshots</target>\n      </trans-unit>\n      <trans-unit id="a5f9ba9bb9faa8284bcadb1cdbc6aaf969e9c4bb" datatype="html">\n        <source>Image</source>\n        <target>Image</target>\n      </trans-unit>\n      <trans-unit id="58e58f1a8786da9031a05e6770c5dafce82badf5" datatype="html">\n        <source>This setting overrides the global value</source>\n        <target>Diese Einstellung überschreibt den globalen Wert</target>\n      </trans-unit>\n      <trans-unit id="5decb3917d46a9ac6e5813699801becb7c3c1455" datatype="html">\n        <source>Global</source>\n        <target>Global</target>\n      </trans-unit>\n      <trans-unit id="36b46714164964c6258b08ed0a25f57d8a950f92" datatype="html">\n        <source>This is the global value. No value for this option has been set for this image.</source>\n        <target>Dies ist der globale Wert. Kein Wert für diese Option wurde für dieses Image festgelegt.</target>\n      </trans-unit>\n      <trans-unit id="6547c9c4d5f62942ac4b1fe459cf9a03d4dbf5a0" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/> from\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/> from\n        </target>\n      </trans-unit>\n      <trans-unit id="0e9ecf29a4fa5b057bd8052e0d801b3fde6a30bf" datatype="html">\n        <source>\'/\' and \'@\' are not allowed.</source>\n        <target>\'/\' und \'@\' sind nicht zulässig.</target>\n      </trans-unit>\n      <trans-unit id="b99417c4dd46286ffd37c8d2e987c8b512ec7052" datatype="html">\n        <source>-- No rbd pools available --</source>\n        <target>-- Keine rbd-Pools verfügbar --</target>\n      </trans-unit>\n      <trans-unit id="ef83ec9c304a89d45650e580dcdc2978c37b3a83" datatype="html">\n        <source>-- Select a pool --</source>\n        <target>-- Pool auswählen --</target>\n      </trans-unit>\n      <trans-unit id="49449943d8cbf59d8c401c8bd2e76f92e207cc5f" datatype="html">\n        <source>Use a dedicated data pool</source>\n        <target>Dedizierten Datenpool verwenden</target>\n      </trans-unit>\n      <trans-unit id="870aee0dd31a9643bf62007beb8f1ae1deb34d42" datatype="html">\n        <source>Data pool</source>\n        <target>Datenpool</target>\n      </trans-unit>\n      <trans-unit id="3792ca829d9b9f687e1f5d7733d30e9bb0bfec47" datatype="html">\n        <source>Dedicated pool that stores the object-data of the RBD.</source>\n        <target>Dedizierter Pool zur Speicherung von RBD-Objektdaten.</target>\n      </trans-unit>\n      <trans-unit id="0a88bbee20570aaf9615332fb27020627044874d" datatype="html">\n        <source>You have to increase the size.</source>\n        <target>Sie müssen die Größe erhöhen.</target>\n      </trans-unit>\n      <trans-unit id="bc2e854e111ecf2bd7db170da5e3c2ed08181d88" datatype="html">\n        <source>Advanced</source>\n        <target>Erweitert</target>\n      </trans-unit>\n      <trans-unit id="3562a3778695a5f9c0445660e35301f0a39aaf73" datatype="html">\n        <source>Striping</source>\n        <target>Striping</target>\n      </trans-unit>\n      <trans-unit id="ef3c3f3b5f562a5cdbe0ee2874287db1534b5958" datatype="html">\n        <source>Stripe unit</source>\n        <target>Stripe-Einheit</target>\n      </trans-unit>\n      <trans-unit id="84471be1049006edecbcaef1a32ae0893c229c50" datatype="html">\n        <source>-- Select stripe unit --</source>\n        <target>-- Stripe-Einheit auswählen --</target>\n      </trans-unit>\n      <trans-unit id="8d32c5c54c8581c774a7f467fbd4e329b15a74fa" datatype="html">\n        <source>This field is required because stripe count is defined!</source>\n        <target>Dies ist ein Pflichtfeld, da eine Stripe-Anzahl definiert wurde!</target>\n      </trans-unit>\n      <trans-unit id="6bbf9040be7c5491d4a03f2185708f43a6582a3b" datatype="html">\n        <source>Stripe unit is greater than object size.</source>\n        <target>Die Stripe-Einheit ist größer als die Objektgröße.</target>\n      </trans-unit>\n      <trans-unit id="a682f49f9b761591661276d7c6f550e641a130a4" datatype="html">\n        <source>Stripe count</source>\n        <target>Stripe-Anzahl</target>\n      </trans-unit>\n      <trans-unit id="baa74031990c5370008ba622d0a250f0929097f4" datatype="html">\n        <source>This field is required because stripe unit is defined!</source>\n        <target>Dies ist ein Pflichtfeld, da eine Stripe-Einheit definiert wurde!</target>\n      </trans-unit>\n      <trans-unit id="cd2ada6d5ecbd5cbf89eae0a1f5326efedac0dbc" datatype="html">\n        <source>Stripe count must be greater than 0.</source>\n        <target>Die Stripe-Anzahl muss größer als 0 sein.</target>\n      </trans-unit>\n      <trans-unit id="3f67f30568e9ae47507d46e28e1e82a7dca772e2" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> RBD Snapshot\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> RBD-Snapshot\n        </target>\n      </trans-unit>\n      <trans-unit id="1628d19a4490817c18be2afab410ca4adfa62ea7" datatype="html">\n        <source>{VAR_SELECT, select, true {Rename} other {Create} }</source>\n        <target>{VAR_SELECT, select, true {Umbenennen} other {Erstellen} }</target>\n      </trans-unit>\n      <trans-unit id="73a287b41afe6b28f90edbeb98957a341a0276b4" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> Snapshot\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> Snapshot\n        </target>\n      </trans-unit>\n      <trans-unit id="cb60c1cd3655234756b5b92d4d597d92d520ee30" datatype="html">\n        <source>PROTECTED</source>\n        <target>PROTECTED</target>\n      </trans-unit>\n      <trans-unit id="deffb86b8fb0541254ad5a43862d82bff6b6a6c4" datatype="html">\n        <source>UNPROTECTED</source>\n        <target>NICHT GESCHÜTZT</target>\n      </trans-unit>\n      <trans-unit id="5c5331983af566d4ac6a1024d15a3511786a4aa6" datatype="html">\n        <source>You are about to rollback</source>\n        <target>Sie sind dabei, ein Rollback durchzuführen</target>\n      </trans-unit>\n      <trans-unit id="49c0408946a6d67185947f455f15cc201d0d78e6" datatype="html">\n        <source>Purge Trash</source>\n        <target>Papierkorb bereinigen</target>\n      </trans-unit>\n      <trans-unit id="af728625d769b61acf291442644b89edb88faec3" datatype="html">\n        <source>To purge, select one or All images and click</source>\n        <target>Zum Bereinigen ein oder alle Images auswählen und klicken</target>\n      </trans-unit>\n      <trans-unit id="55a4f598a4894b7fd5cb88f0ffd3c37ad009dd70" datatype="html">\n        <source>Pool:</source>\n        <target>Pool:</target>\n      </trans-unit>\n      <trans-unit id="d43dd2b9f7797e4cf3a604695bb33e4479108516" datatype="html">\n        <source>Pool name...</source>\n        <target>Poolname...</target>\n      </trans-unit>\n      <trans-unit id="dfc3c34e182ea73c5d784ff7c8135f087992dac1" datatype="html">\n        <source>All</source>\n        <target>Alle</target>\n      </trans-unit>\n      <trans-unit id="b0e7c7ed1d51a0c205c815048bc9f79e24ee6db2" datatype="html">\n        <source>Restore Image</source>\n        <target>Image wiederherstellen</target>\n      </trans-unit>\n      <trans-unit id="7369384817e0ad61ce871c9afdfbb538df2f97c1" datatype="html">\n        <source>To restore</source>\n        <target>Zum Wiederherstellen</target>\n      </trans-unit>\n      <trans-unit id="e7f0abefc608f7fb452c2dc9b1cdc3dec432160e" datatype="html">\n        <source>type the image\'s new name and click</source>\n        <target>Neuen Namen des Images eingeben und klicken</target>\n      </trans-unit>\n      <trans-unit id="41307dd56fea669eed72e12a6c23af275f6bfd82" datatype="html">\n        <source>New Name</source>\n        <target>Neuer Name</target>\n      </trans-unit>\n      <trans-unit id="5c96a761dc55a21882c132c929583a424c9b8cf4" datatype="html">\n        <source>Expired at</source>\n        <target>Abgelaufen am</target>\n      </trans-unit>\n      <trans-unit id="661041e3fcff4d3e75c561e038ca2504cf2cc643" datatype="html">\n        <source>Protected until</source>\n        <target>Geschützt bis</target>\n      </trans-unit>\n      <trans-unit id="0ee3b2322a1d3277f7e3fdb8a5141ac42bcf350b" datatype="html">\n        <source>This image is protected until \n          <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.\n        </source>\n        <target>Dieses Image ist geschützt bis \n          <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="aba82bfd8e177d35b76cad7cd43941f8e5e5acac" datatype="html">\n        <source>Trash</source>\n        <target>Papierkorb</target>\n      </trans-unit>\n      <trans-unit id="a674ab267d1934bf395f87ca1503fd474296893f" datatype="html">\n        <source>iSCSI Topology</source>\n        <target>iSCSI-Topologie</target>\n      </trans-unit>\n      <trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html">\n        <source>Settings</source>\n        <target>Einstellungen</target>\n      </trans-unit>\n      <trans-unit id="9e515f954730279c31d5301f02479666d6264e8b" datatype="html">\n        <source>Changing these parameters from their default values is usually not necessary.</source>\n        <target>Eine Änderung dieser Parameter von ihren Standardwerten ist in der Regel nicht erforderlich.</target>\n      </trans-unit>\n      <trans-unit id="69a47cbabcc51ca942606e1d8da0ec11f98a2690" datatype="html">\n        <source>Backstore</source>\n        <target>Backstore</target>\n      </trans-unit>\n      <trans-unit id="68e710782ccb5398b3acb8844caf0b199da2c3da" datatype="html">\n        <source>Confirm</source>\n        <target>Bestätigen</target>\n      </trans-unit>\n      <trans-unit id="339878da255ab55447c43afef8d9b2f9753bf5f6" datatype="html">\n        <source>Advanced Settings</source>\n        <target>Erweiterte Einstellungen</target>\n      </trans-unit>\n      <trans-unit id="1406c2fb12a20c1528b19bcc5e24a6a2386167f3" datatype="html">\n        <source>Target IQN</source>\n        <target>Ziel-IQN</target>\n      </trans-unit>\n      <trans-unit id="5fe42339be910372fa689f559155631862d218e8" datatype="html">\n        <source>IQN has wrong pattern.</source>\n        <target>IQN hat ein fehlerhaftes Muster.</target>\n      </trans-unit>\n      <trans-unit id="050a7ff057d1e895357540406b6be5652b4d1c71" datatype="html">\n        <source>An IQN has the following notation\n                \'iqn.$year-$month.$reversedAddress:$definedName\'</source>\n        <target>Eine IQN hat die folgende Notation \n\'iqn.$jahr-$monat.$umkehradresse:$definierterName\'</target>\n      </trans-unit>\n      <trans-unit id="c8ada4b53396d8366db00a435acc61d53d857047" datatype="html">\n        <source>For example: iqn.2016-06.org.dashboard:storage:disk.sn-a8675309</source>\n        <target>Zum Beispiel: iqn.2016-06.org.dashboard:storage:disk.sn-a8675309</target>\n      </trans-unit>\n      <trans-unit id="e60c11e1b1dfbbeda577364b8de39ded2d796c5e" datatype="html">\n        <source>More information</source>\n        <target>Weitere Informationen</target>\n      </trans-unit>\n      <trans-unit id="9b1aa85dfc6849196e64060db02c5410de69b7a1" datatype="html">\n        <source>This target has modified advanced settings.</source>\n        <target>Erweiterte Einstellungen bei diesem Ziel wurden geändert.</target>\n      </trans-unit>\n      <trans-unit id="6990ad8d6182662e864495ac31c3758cda1c7a28" datatype="html">\n        <source>Portals</source>\n        <target>Portale</target>\n      </trans-unit>\n      <trans-unit id="c3638c01b6c34066438909713ec96087c813fc7e" datatype="html">\n        <source>At least \n          <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.\n        </source>\n        <target>Es sind mindestens \n          <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> Gateways erforderlich.\n        </target>\n      </trans-unit>\n      <trans-unit id="6a3ac2b4137d723fd9878cd357c2012ff6c07973" datatype="html">\n        <source>Add portal</source>\n        <target>Portal hinzufügen</target>\n      </trans-unit>\n      <trans-unit id="9aff25be088f0efe3eaaf62edf2bff41cc41a617" datatype="html">\n        <source>Backstore: \n          <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. \n        </source>\n        <target>Backstore: \n          <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. \n        </target>\n      </trans-unit>\n      <trans-unit id="e3484cae8b118c576ca2815bf9c9406c2eb2cae3" datatype="html">\n        <source>This image has modified settings.</source>\n        <target>Einstellungen bei diesem Image wurden geändert.</target>\n      </trans-unit>\n      <trans-unit id="107c84e820909b44fe258673938a68ced1bbff72" datatype="html">\n        <source>At least 1 image is required.</source>\n        <target>Mindestens 1 Image ist erforderlich.</target>\n      </trans-unit>\n      <trans-unit id="808038f912fdc7f0e03f82d4afd3bf9178527fc8" datatype="html">\n        <source>Add image</source>\n        <target>Image hinzufügen</target>\n      </trans-unit>\n      <trans-unit id="66c5fb27f52e75b70ca4b670b9b15a2a51cf9543" datatype="html">\n        <source>ACL authentication</source>\n        <target>ACL-Authentifizierung</target>\n      </trans-unit>\n      <trans-unit id="419c8b402609dcf49ae4932a5a4647dc8d79bbaf" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n                can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Usernames must have a length of 8 to 64 characters and\n                can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</target>\n      </trans-unit>\n      <trans-unit id="938050960d6653fddfcfd42425e18fb35a308262" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n                and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n                and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="f494bd31f095f6dcc656ce87ec2dcf07a2e9b30c" datatype="html">\n        <source>Initiators</source>\n        <target>Initiatoren</target>\n      </trans-unit>\n      <trans-unit id="e98239d8a6be1100119ff4b5630c822b82786740" datatype="html">\n        <source>Initiator</source>\n        <target>Initiator</target>\n      </trans-unit>\n      <trans-unit id="f2c5059d8cda15d8d03e2cce30f2d139623d9a91" datatype="html">\n        <source>Client IQN</source>\n        <target>Client-IQN</target>\n      </trans-unit>\n      <trans-unit id="107d5aabce23d900f0a80e6ddc1c10e29aa0bed8" datatype="html">\n        <source>Initiator IQN needs to be unique.</source>\n        <target>Initiator-IQN muss eindeutig sein.</target>\n      </trans-unit>\n      <trans-unit id="bbf0b34a3fcc80800fcb44b9e1e86931a530dfe3" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n                        can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Benutzernamen müssen zwischen 8 und 64 Zeichen lang sein und\n                        dürfen nur Buchstaben, \'.\', \'@\', \'-\', \'_\' oder \':\' enthalten.</target>\n      </trans-unit>\n      <trans-unit id="fdfee5d7a27e1bdd97a176097277bee078de6aaf" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n                        and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwörter müssen zwischen 12 und 16 Zeichen lang sein\n              und dürfen nur Buchstaben, \'@\', \'-\', \'_\' oder \'/\' enthalten.</target>\n      </trans-unit>\n      <trans-unit id="8406eb7415ee40e54d9ecb209abb056f06e3d666" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters and\n                        can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwörter müssen zwischen 12 und 16 Zeichen lang sein\n              und dürfen nur Buchstaben, \'@\', \'-\', \'_\' oder \'/\' enthalten.</target>\n      </trans-unit>\n      <trans-unit id="5d1878d5fc761cbe9614bfd87047a740c82a6951" datatype="html">\n        <source>Initiator belongs to a group. Images will be configure in the group.</source>\n        <target>Der Initiator gehört zu einer Gruppe. Images werden in der Gruppe konfiguriert.</target>\n      </trans-unit>\n      <trans-unit id="c0de67b9d97fafbf200f9451e8388ee8128a56ac" datatype="html">\n        <source>No items added.</source>\n        <target>Keine Elemente hinzugefügt.</target>\n      </trans-unit>\n      <trans-unit id="d565e47726158e428ecdc952fc9233b9b7d7f049" datatype="html">\n        <source>Add initiator</source>\n        <target>Initiator hinzufügen</target>\n      </trans-unit>\n      <trans-unit id="c22ba03540aa3217da059f45e7eab138b51a96e2" datatype="html">\n        <source>Groups</source>\n        <target>Gruppen</target>\n      </trans-unit>\n      <trans-unit id="4c90059afafb7e160384d9f512797c95bb95c6dc" datatype="html">\n        <source>Group</source>\n        <target>Gruppe</target>\n      </trans-unit>\n      <trans-unit id="3084948274cff4f56d0f431af47240e9cf02fcc7" datatype="html">\n        <source>Add group</source>\n        <target>Gruppe hinzufügen</target>\n      </trans-unit>\n      <trans-unit id="66db799d67958d4b0765181d072df62e2d1c16f5" datatype="html">\n        <source>Issues</source>\n        <target>Probleme</target>\n      </trans-unit>\n      <trans-unit id="ef06d69259e587e28d52372455f44c7153cda7e7" datatype="html">\n        <source>Syncing</source>\n        <target>Wird synchronisiert</target>\n      </trans-unit>\n      <trans-unit id="0b0901877d837d3fda16ba161eb74368d1c75b7a" datatype="html">\n        <source>Ready</source>\n        <target>Fertig</target>\n      </trans-unit>\n      <trans-unit id="4057c56d63a7e9b140b1d01871a9229a5f30eb27" datatype="html">\n        <source>Edit pool mirror mode</source>\n        <target>Spiegelungsmodus für Pool bearbeiten</target>\n      </trans-unit>\n      <trans-unit id="e1f367f5feaab38f6637dd1f967c848b447dea2d" datatype="html">\n        <source>To edit the mirror mode for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>, select a new mode from the list and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>Wählen Sie zum Bearbeiten des Spiegelungsmodus für den Pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> einen neuen Modus aus der Liste aus und klicken Sie auf \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Aktualisieren\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="32ca348ef926b0a6a7a780b8b64c3a8239895cec" datatype="html">\n        <source>Peer clusters must be removed prior to disabling mirror.</source>\n        <target>Vor dem Deaktivieren der Spiegelung müssen Peer-Cluster entfernt werden.</target>\n      </trans-unit>\n      <trans-unit id="fa61522d482349707fd7dd03b90dc5781611b17f" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/>\n  pool mirror peer\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/>\n  Peer für Poolspiegelung\n        </target>\n      </trans-unit>\n      <trans-unit id="4ddcb416c1c0aa1f54acf5beef1de81813e76fa6" datatype="html">\n        <source>{VAR_SELECT, select, edit {Edit} other {Add} }</source>\n        <target>{VAR_SELECT, select, edit {Bearbeiten} other {Hinzufügen} }</target>\n      </trans-unit>\n      <trans-unit id="59ca65ece457429d90104ede4674965f62edbabe" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/> the pool\n          mirror peer attributes for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> and click\n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Submit\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/> the pool\n          mirror peer attributes for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> and click\n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Submit\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="d3cc964811f852a168f4a2d5daa59068abc5cf53" datatype="html">\n        <source>Cluster Name</source>\n        <target>Clustername</target>\n      </trans-unit>\n      <trans-unit id="b631721fc56cb7fb1cbd07b802a487c5753f6a2d" datatype="html">\n        <source>The cluster name is not valid.</source>\n        <target>Der Clustername ist ungültig.</target>\n      </trans-unit>\n      <trans-unit id="ca6deafa31bf421f85094807982aee4bcb20a3ae" datatype="html">\n        <source>CephX ID</source>\n        <target>CephX-ID</target>\n      </trans-unit>\n      <trans-unit id="7539188a568c3d553cbde1bacaf32310c4264e24" datatype="html">\n        <source>CephX ID...</source>\n        <target>CephX-ID...</target>\n      </trans-unit>\n      <trans-unit id="a1c45b594b0fba22fc64e80c793a7ffe005fdb0e" datatype="html">\n        <source>The CephX ID is not valid.</source>\n        <target>Die CephX ID ist ungültig.</target>\n      </trans-unit>\n      <trans-unit id="20861576fcfce773c918c782cd4f5adf32382921" datatype="html">\n        <source>Monitor Addresses</source>\n        <target>Adressen der Monitore</target>\n      </trans-unit>\n      <trans-unit id="fa28eeed2b4bd4ccbe6e9349a1c2b3cb1c5de70a" datatype="html">\n        <source>Comma-delimited addresses...</source>\n        <target>Kommagetrennte Adressen...</target>\n      </trans-unit>\n      <trans-unit id="dc016c82fd85848d5c1b2fd0e8469ee2027d9c16" datatype="html">\n        <source>The monitory address is not valid.</source>\n        <target>Die Anrede ist ungültig.</target>\n      </trans-unit>\n      <trans-unit id="e0ac55b83dc6739e62bc655cfe375b67c93e7f4a" datatype="html">\n        <source>CephX Key</source>\n        <target>CephX-Schlüssel</target>\n      </trans-unit>\n      <trans-unit id="f53434bcb95bd86f1df9c8e22966f757614fc4ad" datatype="html">\n        <source>Base64-encoded key...</source>\n        <target>Base64-codierter Schlüssel...</target>\n      </trans-unit>\n      <trans-unit id="4cd83164cd4f66b4abc2863f9ce6f599d789e4ca" datatype="html">\n        <source>CephX key must be base64 encoded.</source>\n        <target>CephX-Schlüssel muss base64-codiert sein.</target>\n      </trans-unit>\n      <trans-unit id="ca53d681a9892d6fdbb57ee9676582186515e961" datatype="html">\n        <source>Performance counters not available</source>\n        <target>Leistungsindikatoren nicht verfügbar</target>\n      </trans-unit>\n      <trans-unit id="9424badb7e0c6ac792d020d7830645b529a80aad" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the Object Gateway management functionality.\n        </source>\n        <target>Lesen Sie die \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Dokumentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> zum\n  Konfigurieren und Aktivieren der Verwaltungsfunktion für das Objektgateway.\n        </target>\n      </trans-unit>\n      <trans-unit id="479488ab6e91ecb375484edc78bee3d13467f33f" datatype="html">\n        <source>Daemons List</source>\n        <target>Liste der Daemons</target>\n      </trans-unit>\n      <trans-unit id="eeba399c4dae8d4890c27b7a2cd2dc28fcf8b5f9" datatype="html">\n        <source>Performance Counters</source>\n        <target>Leistungsindikatoren</target>\n      </trans-unit>\n      <trans-unit id="5f67f2247b9c6bbaf24a0f2d37f4ac0537c6fa53" datatype="html">\n        <source>Loading bucket data...</source>\n        <target>Bucket-Daten werden geladen...</target>\n      </trans-unit>\n      <trans-unit id="2798cc1e152b1ec07fd8daf94a2a073d1ba1ebcc" datatype="html">\n        <source>Id</source>\n        <target>ID</target>\n      </trans-unit>\n      <trans-unit id="db4e1a734518691b128ef40b939cc673f01d03a6" datatype="html">\n        <source>The value is not valid.</source>\n        <target>Der Wert ist ungültig.</target>\n      </trans-unit>\n      <trans-unit id="eabb4db920d9f9b2480cf438468b86e1bea02a9b" datatype="html">\n        <source>The chosen name is already in use.</source>\n        <target>Der ausgewählte Name wird bereits verwendet.</target>\n      </trans-unit>\n      <trans-unit id="0ee5132a8da30e0b7f9f5c70dbc91928d17dd909" datatype="html">\n        <source>Owner</source>\n        <target>Inhaber</target>\n      </trans-unit>\n      <trans-unit id="8e4c918357c7445fbf19a203e5f0f0ece1960b3b" datatype="html">\n        <source>-- Select a user --</source>\n        <target>-- Benutzer auswählen --</target>\n      </trans-unit>\n      <trans-unit id="a4aab1f837bc8ec222e4f25922465d1c5929a1fc" datatype="html">\n        <source>Placement target</source>\n        <target>Placement target</target>\n      </trans-unit>\n      <trans-unit id="6bae0a7fc2c9c1fde7d937a8a1a3c7e6825cf7d1" datatype="html">\n        <source>-- Select a placement target --</source>\n        <target>-- Select a placement target --</target>\n      </trans-unit>\n      <trans-unit id="efeade5060b3add63863c24871f0830fb16b7e6d" datatype="html">\n        <source>Versioning</source>\n        <target>Versioning</target>\n      </trans-unit>\n      <trans-unit id="f50a33d3c339f8f4a465141f8caa5d2d8c005251" datatype="html">\n        <source>Enabled</source>\n        <target>Aktiviert</target>\n      </trans-unit>\n      <trans-unit id="016d24e069e7d505a090fb8243e5cd43b35dc39b" datatype="html">\n        <source>Enables versioning for the objects in the bucket.</source>\n        <target>Enables versioning for the objects in the bucket.</target>\n      </trans-unit>\n      <trans-unit id="92f3f203270a29b3001871153f02c063484a1574" datatype="html">\n        <source>Suspended</source>\n        <target>Angehalten</target>\n      </trans-unit>\n      <trans-unit id="cd6a798fd0f85cd7e31a57c58074f25035d7850d" datatype="html">\n        <source>Disables versioning for the objects in the bucket.</source>\n        <target>Disables versioning for the objects in the bucket.</target>\n      </trans-unit>\n      <trans-unit id="45cc8ca94b5a50842a9a8ef804a5ab089a38ae5c" datatype="html">\n        <source>ID</source>\n        <target>ID</target>\n      </trans-unit>\n      <trans-unit id="e5c51963a9c553b29427ef783bbb69fa6634fa8c" datatype="html">\n        <source>Index type</source>\n        <target>Indextyp</target>\n      </trans-unit>\n      <trans-unit id="8e6f950a32eaea32ec7e192f9ca3d3dfe469d4ba" datatype="html">\n        <source>Placement rule</source>\n        <target>Platzierungsregel</target>\n      </trans-unit>\n      <trans-unit id="6972d213e31c4ea4f887e60db99d9881bc8fcd3e" datatype="html">\n        <source>Marker</source>\n        <target>Marker</target>\n      </trans-unit>\n      <trans-unit id="47b02acd2d3254d1ace1926f840523f154ebef71" datatype="html">\n        <source>Maximum marker</source>\n        <target>Maximum für Marker</target>\n      </trans-unit>\n      <trans-unit id="8fe73a4787b8068b2ba61f54ab7e0f9af2ea1fc9" datatype="html">\n        <source>Version</source>\n        <target>Version</target>\n      </trans-unit>\n      <trans-unit id="092fa3a7df9168b14d3f83a77a4035e92b92ce15" datatype="html">\n        <source>Master version</source>\n        <target>Masterversion</target>\n      </trans-unit>\n      <trans-unit id="97434cc5001d407f90c7447a12d9e8e6848a2aa3" datatype="html">\n        <source>Modification time</source>\n        <target>Änderungszeit</target>\n      </trans-unit>\n      <trans-unit id="90fe2e41e7fde38453ce4e619efeea9bc6adea9c" datatype="html">\n        <source>Zonegroup</source>\n        <target>Zonengruppe</target>\n      </trans-unit>\n      <trans-unit id="649a410bd0ace333d067d8fa22f12bdbdb43533b" datatype="html">\n        <source>Bucket quota</source>\n        <target>Bucket-Quote</target>\n      </trans-unit>\n      <trans-unit id="cef1595d040e77cbb4466e60382028d4c2040cac" datatype="html">\n        <source>Maximum size</source>\n        <target>Maximale Größe</target>\n      </trans-unit>\n      <trans-unit id="aa6fb95c355f172bda303de1ce2f38c251a149cf" datatype="html">\n        <source>Unlimited</source>\n        <target>Unbegrenzt</target>\n      </trans-unit>\n      <trans-unit id="ee862a800364b4d11f9b8cb9955a28a60f840a45" datatype="html">\n        <source>Maximum objects</source>\n        <target>Maximale Objekte</target>\n      </trans-unit>\n      <trans-unit id="08c74dc9762957593b91f6eb5d65efdfc975bf48" datatype="html">\n        <source>Username</source>\n        <target>Benutzername</target>\n      </trans-unit>\n      <trans-unit id="49c614babd1950adb2be75df4e2c9747286d6adc" datatype="html">\n        <source>-- Select a username --</source>\n        <target>-- Benutzername auswählen --</target>\n      </trans-unit>\n      <trans-unit id="c217ee914725a37e9dd2336c721c8e63e9666bdc" datatype="html">\n        <source>Auto-generate key</source>\n        <target>Schlüssel automatisch generieren</target>\n      </trans-unit>\n      <trans-unit id="2f1c1c0f2bce4c9f92d1a2061e8161cb0006c31a" datatype="html">\n        <source>Access key</source>\n        <target>Zugriffsschlüssel</target>\n      </trans-unit>\n      <trans-unit id="b864acb67296a9819c1db0069c4c47d8b5ce8f44" datatype="html">\n        <source>Secret key</source>\n        <target>Geheimer Schlüssel</target>\n      </trans-unit>\n      <trans-unit id="b760f123248930122fc7e7b6b6bf94e376e959c8" datatype="html">\n        <source>Full name</source>\n        <target>Vollständiger Name</target>\n      </trans-unit>\n      <trans-unit id="69b6ac577a19acc39fc0c22342092f327fff2529" datatype="html">\n        <source>Email address</source>\n        <target>E-Mail-Adresse</target>\n      </trans-unit>\n      <trans-unit id="8011e20c5bbe51602d459a860fbf29b599b55edd" datatype="html">\n        <source>System</source>\n        <target>System</target>\n      </trans-unit>\n      <trans-unit id="db18a2772988415466a7f75dc42663ce78c9c1d3" datatype="html">\n        <source>Maximum buckets</source>\n        <target>Maximale Buckets</target>\n      </trans-unit>\n      <trans-unit id="2c4c62e8ba24601be5cfe7dc5d32c24bbbd4b53c" datatype="html">\n        <source>Subusers</source>\n        <target>Unterbenutzer</target>\n      </trans-unit>\n      <trans-unit id="17bb3082e6fe5003203ef992a3714172334631a1" datatype="html">\n        <source>Capabilities</source>\n        <target>Befähigungen</target>\n      </trans-unit>\n      <trans-unit id="36ad38f9c1a1485e09b67778a28af84553290ffb" datatype="html">\n        <source>User quota</source>\n        <target>Benutzerquote</target>\n      </trans-unit>\n      <trans-unit id="2aba1e87039819aca3b70faa9aa848c12bf139ca" datatype="html">\n        <source>Show</source>\n        <target>Anzeigen</target>\n      </trans-unit>\n      <trans-unit id="0bcd5ef19af0f1b814141ca8c57df623d8270088" datatype="html">\n        <source>Keys</source>\n        <target>Schlüssel</target>\n      </trans-unit>\n      <trans-unit id="f61c6867295f3b53d23557021f2f4e0aa1d0b8fc" datatype="html">\n        <source>Type</source>\n        <target>Typ</target>\n      </trans-unit>\n      <trans-unit id="1221ca97d19eaa9a7bc0c5243d5fc5befe1d2314" datatype="html">\n        <source>-- Select a type --</source>\n        <target>-- Typ auswählen --</target>\n      </trans-unit>\n      <trans-unit id="d1b8990332af18f1c5159a6061ca889bcbb28432" datatype="html">\n        <source>Permission</source>\n        <target>Berechtigung</target>\n      </trans-unit>\n      <trans-unit id="a08c589f82f69d892307288da14190ae1dd583d5" datatype="html">\n        <source>-- Select a permission --</source>\n        <target>-- Berechtigung auswählen --</target>\n      </trans-unit>\n      <trans-unit id="b2841767821d6b66238c34d07e413b0af67aee92" datatype="html">\n        <source>Subuser</source>\n        <target>Unterbenutzer</target>\n      </trans-unit>\n      <trans-unit id="bd59fc25a7bd98cff3e75117c09697c8a007a514" datatype="html">\n        <source>The chosen subuser ID is already in use.</source>\n        <target>Die ausgewählte Unterbenutzer-ID wird bereits verwendet.</target>\n      </trans-unit>\n      <trans-unit id="3d386c357ebcbc04ed05c4babd5a03626f9b1674" datatype="html">\n        <source>read, write</source>\n        <target>lesen, schreiben</target>\n      </trans-unit>\n      <trans-unit id="84e3e3f9a4f31a039b648c97debf95fcb20f4c4a" datatype="html">\n        <source>full</source>\n        <target>voll</target>\n      </trans-unit>\n      <trans-unit id="b6bf81d032a2316464f9df2f0d2f3d753f89f0d3" datatype="html">\n        <source>Swift key</source>\n        <target>Swift-Schlüssel</target>\n      </trans-unit>\n      <trans-unit id="1e0c12685d50d47448ceed9423977ef39775c037" datatype="html">\n        <source>Auto-generate secret</source>\n        <target>Geheimnis automatisch generieren</target>\n      </trans-unit>\n      <trans-unit id="3d1c7a6004bd5d86a7fa096ae24209e8aa7a53e3" datatype="html">\n        <source>Loading user data...</source>\n        <target>Benutzerdaten werden geladen...</target>\n      </trans-unit>\n      <trans-unit id="faa5d834ab28571423d794d32b57998920efb65f" datatype="html">\n        <source>The user data could not be loaded.</source>\n        <target>Die Benutzerdaten konnten nicht geladen werden.</target>\n      </trans-unit>\n      <trans-unit id="6aaf5d2a304167272ac73e3b1d1c162e16c77858" datatype="html">\n        <source>The chosen user ID is already in use.</source>\n        <target>Die ausgewählte Benutzer-ID wird bereits verwendet.</target>\n      </trans-unit>\n      <trans-unit id="df441e80db2157f9d272b75de724ba4a82b96b57" datatype="html">\n        <source>This is not a valid email address.</source>\n        <target>Dies ist keine gültige E-Mail-Adresse.</target>\n      </trans-unit>\n      <trans-unit id="ca271adf154956b8fcb28f4f50a37acb3057ff7c" datatype="html">\n        <source>The chosen email address is already in use.</source>\n        <target>Die ausgewählte E-Mail-Adresse wird bereits verwendet.</target>\n      </trans-unit>\n      <trans-unit id="030197cebe938edf35422e92fe14183d06eb670b" datatype="html">\n        <source>Max. buckets</source>\n        <target>Max. Buckets</target>\n      </trans-unit>\n      <trans-unit id="623ac50f37a26caec6fd7cd519b653e3315cba25" datatype="html">\n        <source>The entered value must be &gt;= 0.</source>\n        <target>Der eingegebene Wert muss &gt;=0 sein.</target>\n      </trans-unit>\n      <trans-unit id="583a219c524155c2314eb06ee29162bb315272a3" datatype="html">\n        <source>S3 key</source>\n        <target>S3-Schlüssel</target>\n      </trans-unit>\n      <trans-unit id="128d6efb51d9ddc7c0cc695a2deeca5b9523f6e4" datatype="html">\n        <source>There are no subusers.</source>\n        <target>Keine Unterbenutzer vorhanden.</target>\n      </trans-unit>\n      <trans-unit id="7fd6dfb8ecb982dbc3affb2c2d5414c4f5b6abd2" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ subuserLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ subuserLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="67c746c1ba9dab4351fedc4c7cba4e6d6b0dbc47" datatype="html">\n        <source>S3</source>\n        <target>S3</target>\n      </trans-unit>\n      <trans-unit id="d6819038d608623503918fb2553f53d68231ec3a" datatype="html">\n        <source>There are no keys.</source>\n        <target>Keine Schlüssel vorhanden.</target>\n      </trans-unit>\n      <trans-unit id="fc1c1a7140ff6b815a95b65ee2780fdbe1b2b7a1" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ s3keyLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ s3keyLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6ddb5e991a3ecd2659fb520bc5acc81b67e08ddd" datatype="html">\n        <source>Swift</source>\n        <target>Swift</target>\n      </trans-unit>\n      <trans-unit id="1d01eccdda47fc907c5be35bcb16d2dcd02b0270" datatype="html">\n        <source>There are no capabilities.</source>\n        <target>Keine Befähigungen vorhanden.</target>\n      </trans-unit>\n      <trans-unit id="043e2ec0036ceadd926fd5e3f93cd6f3565f3648" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.ADD | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.ADD | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6146e13ceca5fa5cc17b771b282fe5955f3d19fa" datatype="html">\n        <source>Unlimited size</source>\n        <target>Unbegrenzte Größe</target>\n      </trans-unit>\n      <trans-unit id="f6db8aa7c99fdce18edb33dde57729acede2b308" datatype="html">\n        <source>Max. size</source>\n        <target>Max. Größe</target>\n      </trans-unit>\n      <trans-unit id="fc630b2093e880fffa19df99d5cd8b87605037f8" datatype="html">\n        <source>Unlimited objects</source>\n        <target>Unbegrenzte Objekte</target>\n      </trans-unit>\n      <trans-unit id="6cda5a993d06f0bb10048be9d3aba6555aa9f356" datatype="html">\n        <source>Max. objects</source>\n        <target>Max. Objekte</target>\n      </trans-unit>\n      <trans-unit id="1ea5c4d8942c00752dcc72e72949c5d9832f6399" datatype="html">\n        <source>Description...</source>\n        <target>Beschreibung...</target>\n      </trans-unit>\n      <trans-unit id="70f45880fce6ac5d8e468e25e82aefbba8098cfe" datatype="html">\n        <source>Permissions</source>\n        <target>Berechtigungen</target>\n      </trans-unit>\n      <trans-unit id="9610487cbeb5796d34d8601b5ac0c0a65f9e1d19" datatype="html">\n        <source>Roles</source>\n        <target>Rollen</target>\n      </trans-unit>\n      <trans-unit id="7f3bdcce4b2e8c37cd7f0f6c92ef8cff34b039b8" datatype="html">\n        <source>Confirm password</source>\n        <target>Passwort bestätigen</target>\n      </trans-unit>\n      <trans-unit id="cbb979e63ba50e0ca3adfa09cbdcaefd0853fca1" datatype="html">\n        <source>Password confirmation doesn\'t match the password.</source>\n        <target>Passwortbestätigung stimmt nicht mit dem Passwort überein.</target>\n      </trans-unit>\n      <trans-unit id="244aae9346da82b0922506c2d2581373a15641cc" datatype="html">\n        <source>Email</source>\n        <target>E-Mail-Adresse</target>\n      </trans-unit>\n      <trans-unit id="d0ec081dd61eb4f43aea269077bbe38eae87b7f9" datatype="html">\n        <source>Invalid email.</source>\n        <target>Ungültige E-Mail-Adresse.</target>\n      </trans-unit>\n      <trans-unit id="0051a3479d3ba79135c16dc8cc017950a2cce821" datatype="html">\n        <source>You are about to remove "user read / update" permissions from your own user.</source>\n        <target>Sie sind dabei, die Lese-/Aktualisierungsberechtigungen für Benutzer von Ihrem eigenen Benutzer zu entfernen.</target>\n      </trans-unit>\n      <trans-unit id="af4bf9fcb256853f14cf947eb1deb8d7f176d3f9" datatype="html">\n        <source>If you continue, you will no longer be able to add or remove roles from any user.</source>\n        <target>Wenn Sie den Vorgang fortsetzen, können Sie Benutzerrollen nicht mehr hinzufügen oder entfernen.</target>\n      </trans-unit>\n      <trans-unit id="7d1dcf2a9146caac0581329acf94806ec69a89a5" datatype="html">\n        <source>Are you sure you want to continue?</source>\n        <target>Möchten Sie den Vorgang wirklich fortsetzen?</target>\n      </trans-unit>\n      <trans-unit id="85b79c9064aed1ead31ace985f31aa1363f6bdaf" datatype="html">\n        <source>Help</source>\n        <target>Hilfe</target>\n      </trans-unit>\n      <trans-unit id="fcfd4675b4c90f08d18d3abede9a9a4dff4cfdc7" datatype="html">\n        <source>Documentation</source>\n        <target>Dokumentation</target>\n      </trans-unit>\n      <trans-unit id="e351b40b3869a5c7d19c3d4918cb1ac7aaab95c4" datatype="html">\n        <source>API</source>\n        <target>API</target>\n      </trans-unit>\n      <trans-unit id="004b222ff9ef9dd4771b777950ca1d0e4cd4348a" datatype="html">\n        <source>About</source>\n        <target>Über</target>\n      </trans-unit>\n      <trans-unit id="1481ecd21e760ac919a24e26cf790acd82e40199" datatype="html">\n        <source>Dashboard Settings</source>\n        <target>Dashboard-Einstellungen</target>\n      </trans-unit>\n      <trans-unit id="a79aab4ef674bf3f6532292107c0054302236e0f" datatype="html">\n        <source>User management</source>\n        <target>Benutzerverwaltung</target>\n      </trans-unit>\n      <trans-unit id="049dfd9fe6c78914ad58cf89ac6a631fca28ec74" datatype="html">\n        <source>Logged in user</source>\n        <target>Angemeldeter Benutzer</target>\n      </trans-unit>\n      <trans-unit id="cd38a58e73f306d838e621959d47d5e7a2f06d1f" datatype="html">\n        <source>Signed in as\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ username }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>\n        </source>\n        <target>Angemeldet als\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ username }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="739516c2ca75843d5aec9cf0e6b3e4335c4227b9" datatype="html">\n        <source>Change password</source>\n        <target>Passwort ändern</target>\n      </trans-unit>\n      <trans-unit id="5d22c795daf43877a5f708dca2bccd549eb0471d" datatype="html">\n        <source>Sign out</source>\n        <target>Abmelden</target>\n      </trans-unit>\n      <trans-unit id="91853167141c37b58868f3b0421383dd72fa8a01" datatype="html">\n        <source>Attributes (OSD map)</source>\n        <target>Attribute (OSD-Zuordnung)</target>\n      </trans-unit>\n      <trans-unit id="97842f379e1d4157ac3ab0661b90c352e7cb72d5" datatype="html">\n        <source>Metadata not available</source>\n        <target>Metadaten nicht verfügbar</target>\n      </trans-unit>\n      <trans-unit id="f721a500a68c357e8f2a01e60510f6a01e4ba529" datatype="html">\n        <source>Metadata</source>\n        <target>Metadaten</target>\n      </trans-unit>\n      <trans-unit id="deba10b7279a589d01e919ea11f43c79ca1773e3" datatype="html">\n        <source>Device health</source>\n        <target>Device health</target>\n      </trans-unit>\n      <trans-unit id="d24e28e19c5703d7c6be44f4eb595a6a43b618ed" datatype="html">\n        <source>Performance counter</source>\n        <target>Leistungsindikator</target>\n      </trans-unit>\n      <trans-unit id="d1f7c81ed9c5034af4abcdf119b1c1e86cd019dd" datatype="html">\n        <source>Histogram not available: \n          <x id="INTERPOLATION" equiv-text="{{ osd.histogram_failed }}"/>\n        </source>\n        <target>Histogramm nicht verfügbar: \n          <x id="INTERPOLATION" equiv-text="{{ osd.histogram_failed }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="868abfff914873d1c65df798d8432ed04b8ae2a9" datatype="html">\n        <source>Writes</source>\n        <target>Schreiben</target>\n      </trans-unit>\n      <trans-unit id="996ebb9a653b5067f97bf3891ea9d2108e969492" datatype="html">\n        <source>Reads</source>\n        <target>Lesen</target>\n      </trans-unit>\n      <trans-unit id="65ac79790aa477a97b1cc579e18a115a8df8918f" datatype="html">\n        <source>Histogram</source>\n        <target>Histogramm</target>\n      </trans-unit>\n      <trans-unit id="26fb5f81b3581f06b9210defb0e71dc69a67e819" datatype="html">\n        <source>Current values</source>\n        <target>Aktuelle Werte</target>\n      </trans-unit>\n      <trans-unit id="9abcd7c82643d60c22733470463f74e4a54bc069" datatype="html">\n        <source>Min</source>\n        <target>Min.</target>\n      </trans-unit>\n      <trans-unit id="c3ced4d162a0a55ee233a187ce7208ba5e922418" datatype="html">\n        <source>Max</source>\n        <target>Max.</target>\n      </trans-unit>\n      <trans-unit id="6834fa6b43d1ecbdf147c48dd9c4d72f1484571d" datatype="html">\n        <source>Source</source>\n        <target>Quelle</target>\n      </trans-unit>\n      <trans-unit id="a446fb0eb11fbffcac805ece5a2d306d24e733d8" datatype="html">\n        <source>Level</source>\n        <target>Ebene</target>\n      </trans-unit>\n      <trans-unit id="39f2fb094e9b2eda13163fa3f3a31594cf9c1307" datatype="html">\n        <source>Can be updated at runtime (editable)</source>\n        <target>Kann zur Laufzeit aktualisiert werden (bearbeitbar)</target>\n      </trans-unit>\n      <trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b" datatype="html">\n        <source>Tags</source>\n        <target>Tags</target>\n      </trans-unit>\n      <trans-unit id="ab0089ef47af61ca1d137bc908b96c290dfd9287" datatype="html">\n        <source>Enum values</source>\n        <target>Auflistungswerte</target>\n      </trans-unit>\n      <trans-unit id="819476f1264f1659f38e86f6abb542141b184832" datatype="html">\n        <source>See also</source>\n        <target>Siehe auch</target>\n      </trans-unit>\n      <trans-unit id="d82a9af5b05e7cd17640f196f163771685ff8df6" datatype="html">\n        <source>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</source>\n        <target>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</target>\n      </trans-unit>\n      <trans-unit id="a185c9b97513b3882604ea9bab60edbfac945c15" datatype="html">\n        <source>SMART overall-health self-assessment test result</source>\n        <target>SMART overall-health self-assessment test result</target>\n      </trans-unit>\n      <trans-unit id="ddd5dd6d930030096ea617f62c82b648a0dd9484" datatype="html">\n        <source>Device Information</source>\n        <target>Device Information</target>\n      </trans-unit>\n      <trans-unit id="79c6bf990ea5b4d83bbf8f9e399f4bd933a1ebfc" datatype="html">\n        <source>S.M.A.R.T</source>\n        <target>S.M.A.R.T</target>\n      </trans-unit>\n      <trans-unit id="05c17e08939cbef1a5df5386263b1701e8d5742e" datatype="html">\n        <source>S.M.A.R.T data is loading.</source>\n        <target>S.M.A.R.T data is loading.</target>\n      </trans-unit>\n      <trans-unit id="73caac4265ea7314ff061e5a1d78a6361a6dd3b8" datatype="html">\n        <source>Cluster Status</source>\n        <target>Clusterstatus</target>\n      </trans-unit>\n      <trans-unit id="1d4bc612bbf19aa9553853266b9e92c9d75f4464" datatype="html">\n        <source>Manager Daemons</source>\n        <target>Manager-Daemons</target>\n      </trans-unit>\n      <trans-unit id="946ac5dea9921dc09d7b0a63b89535371f283b19" datatype="html">\n        <source>Object Gateways</source>\n        <target>Objektgateways</target>\n      </trans-unit>\n      <trans-unit id="ff03fa5bcf37c4da46ad736c1f7d03f959e8ba9a" datatype="html">\n        <source>Metadata Servers</source>\n        <target>Metadatenserver</target>\n      </trans-unit>\n      <trans-unit id="d817609ba4993eba859409ab71e566168f4d5f5a" datatype="html">\n        <source>iSCSI Gateways</source>\n        <target>iSCSI-Gateways</target>\n      </trans-unit>\n      <trans-unit id="42c13e50391250ea9379bdf55d5d6c0228c0c8bc" datatype="html">\n        <source>Client IOPS</source>\n        <target>Client-IOPS</target>\n      </trans-unit>\n      <trans-unit id="52213660b2454d139ada3079a42ec6caf3c3c01e" datatype="html">\n        <source>Client Throughput</source>\n        <target>Clientdurchsatz</target>\n      </trans-unit>\n      <trans-unit id="32efd1c3f70e3c5244239de97a2cc95d98534a14" datatype="html">\n        <source>Client Read/Write</source>\n        <target>Client-Lese-/Schreibvorgänge</target>\n      </trans-unit>\n      <trans-unit id="275485415092cbae3a9f3cbb786ebe283cacfdd5" datatype="html">\n        <source>Recovery Throughput</source>\n        <target>Wiederherstellungsdurchsatz</target>\n      </trans-unit>\n      <trans-unit id="6d9a9f55046891733ef71170e7652063765eb542" datatype="html">\n        <source>Scrub</source>\n        <target>Scrub</target>\n      </trans-unit>\n      <trans-unit id="3cc9c2ae277393b3946b38c088dabff671b1ee1b" datatype="html">\n        <source>Performance</source>\n        <target>Leistung</target>\n      </trans-unit>\n      <trans-unit id="88f383269db2d32cccee9e936fe549dccb9fdbf4" datatype="html">\n        <source>Raw Capacity</source>\n        <target>Rohkapazität</target>\n      </trans-unit>\n      <trans-unit id="c5f8a813f91a11af99132e4beafc136cfc13d73b" datatype="html">\n        <source>PGs per OSD</source>\n        <target>Platzierungsgruppen pro OSD</target>\n      </trans-unit>\n      <trans-unit id="498a109c6e9e94f1966de01aa0326f7f0ac6fb52" datatype="html">\n        <source>PG Status</source>\n        <target>Platzierungsgruppenstatus</target>\n      </trans-unit>\n      <trans-unit id="ce9dfdc6dccb28dc75a78c704e09dc18fb02dcfa" datatype="html">\n        <source>Capacity</source>\n        <target>Kapazität</target>\n      </trans-unit>\n      <trans-unit id="44ecac93d67c6a671198091c2270354f80322327" datatype="html">\n        <source>\n          <x id="START_ITALIC_TEXT" ctype="x-i" equiv-text="<i>"/>\n          <x id="CLOSE_ITALIC_TEXT" ctype="x-i" equiv-text="</i>"/> See \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Logs\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more details.\n        </source>\n        <target>\n          <x id="START_ITALIC_TEXT" ctype="x-i" equiv-text="<i>"/>\n          <x id="CLOSE_ITALIC_TEXT" ctype="x-i" equiv-text="</i>"/> Weitere Details finden Sie in den \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Protokollen\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="0c1e17956453ad772dbe82d6946f62748c692f3e" datatype="html">\n        <source>Ranks</source>\n        <target>Ränge</target>\n      </trans-unit>\n      <trans-unit id="2b24e0b0b1629d2e8a51b9da7c75d6e6379f4bc4" datatype="html">\n        <source>Standbys</source>\n        <target>Standbys</target>\n      </trans-unit>\n      <trans-unit id="50df62325726db950523a5be1c78b8905fcc25d4" datatype="html">\n        <source>MDS performance counters</source>\n        <target>MDS performance counters</target>\n      </trans-unit>\n      <trans-unit id="a7b6508fb834bee9e48e11e4503fbbc2d19204de" datatype="html">\n        <source>Clients: \n          <x id="INTERPOLATION" equiv-text="{{ clients.data.length }}"/>\n        </source>\n        <target>Clients: \n          <x id="INTERPOLATION" equiv-text="{{ clients.data.length }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6e213942c6354b9cbe7a650f0f1499bfc1000fb6" datatype="html">\n        <source>Directories</source>\n        <target>Directories</target>\n      </trans-unit>\n      <trans-unit id="47116253e36f4e38a97ba41b2d3122c6c15ab904" datatype="html">\n        <source>Clients (\n          <x id="INTERPOLATION" equiv-text="{{ clients.length }}"/>)\n        </source>\n        <target>Clients (\n          <x id="INTERPOLATION" equiv-text="{{ clients.length }}"/>)\n        </target>\n      </trans-unit>\n      <trans-unit id="bd5a3b1c5a3c185c7bbb0e09a061d4cdc88ce5ad" datatype="html">\n        <source>Current</source>\n        <target>Aktuell</target>\n      </trans-unit>\n      <trans-unit id="e5e7d62e942083a59b0b31f54e17cd7958186052" datatype="html">\n        <source>Updated discovery authentication</source>\n        <target> Ermittlungsauthentifizierung aktualisiert</target>\n      </trans-unit>\n      <trans-unit id="dd4ab758afd5fd5a6c6a25b2b30ff99d0c00e9ad" datatype="html">\n        <source>There are no portals available.</source>\n        <target>Keine Portale verfügbar.</target>\n      </trans-unit>\n      <trans-unit id="83021e45778a4a230a14ca0c6d6ccdf05500ad93" datatype="html">\n        <source>There are no images available.</source>\n        <target>Keine Images verfügbar.</target>\n      </trans-unit>\n      <trans-unit id="86684eb21f8a768e1dbc659e3d5da6861db544a0" datatype="html">\n        <source>There are no images available. Please make sure you add an image to the target.</source>\n        <target>Keine Images verfügbar. Fügen Sie dem Ziel ein Image hinzu.</target>\n      </trans-unit>\n      <trans-unit id="fffda6e440078f57eba93944ce051c593cc6ed7f" datatype="html">\n        <source>There are no initiators available. Please make sure you add an initiator to the target.</source>\n        <target>Keine Initiatoren verfügen. Fügen Sie dem Ziel einen Initiator hinzu.</target>\n      </trans-unit>\n      <trans-unit id="cea3c6fe490385eef1584cbc4983fda7ece24bb6" datatype="html">\n        <source>target</source>\n        <target>target</target>\n      </trans-unit>\n      <trans-unit id="38baeb215c17af9d9e295e371a57f4a48ab4c191" datatype="html">\n        <source>Target</source>\n        <target>Ziel</target>\n      </trans-unit>\n      <trans-unit id="99e094878070eebc1b972bac02aaa33b2bf83b35" datatype="html">\n        <source># Sessions</source>\n        <target># Sessions</target>\n      </trans-unit>\n      <trans-unit id="c49e0dd71d551bd4928d967d78f0721dbf9f95e3" datatype="html">\n        <source>Target has active sessions</source>\n        <target>Target has active sessions</target>\n      </trans-unit>\n      <trans-unit id="a87acd72dfb68b45175270695209550a85adf50c" datatype="html">\n        <source>iSCSI target</source>\n        <target>iSCSI target</target>\n      </trans-unit>\n      <trans-unit id="873b72903b1858a9cd6c8967521030b4d7d1435b" datatype="html">\n        <source>State</source>\n        <target>Zustand</target>\n      </trans-unit>\n      <trans-unit id="02b75464c0dc0cf49ea0208211b6fbcad3bf728a" datatype="html">\n        <source># Targets</source>\n        <target># Targets</target>\n      </trans-unit>\n      <trans-unit id="13415637c325ceefee29111b31cb48701490adf7" datatype="html">\n        <source>Read Bytes</source>\n        <target>Bytes für Lesevorgang</target>\n      </trans-unit>\n      <trans-unit id="e2ed82b7bbf4a006e60e6208c597b05d5b5556e9" datatype="html">\n        <source>Write Bytes</source>\n        <target>Bytes für Schreibvorgang</target>\n      </trans-unit>\n      <trans-unit id="6a32a5f58845ca840185ea9564682094e77a1d80" datatype="html">\n        <source>Read Ops</source>\n        <target>Lesevorgänge</target>\n      </trans-unit>\n      <trans-unit id="7c36cb8032af123d3550ffab2e1fa1e957c87fae" datatype="html">\n        <source>Write Ops</source>\n        <target>Schreibvorgänge</target>\n      </trans-unit>\n      <trans-unit id="458c33846a8c7e2feb9404bcf06723784e756cdc" datatype="html">\n        <source>A/O Since</source>\n        <target>A/O seit</target>\n      </trans-unit>\n      <trans-unit id="ff78f059449d44322f627d0f66df07abe476962b" datatype="html">\n        <source>Instance</source>\n        <target>Instanz</target>\n      </trans-unit>\n      <trans-unit id="36fad7995cadfb3a6f0d43ef2db280146b3ca022" datatype="html">\n        <source>Issue</source>\n        <target>Problem</target>\n      </trans-unit>\n      <trans-unit id="15793f4cbc261bedbc60f7105533dde536a3f42b" datatype="html">\n        <source>Progress</source>\n        <target>Fortschritt</target>\n      </trans-unit>\n      <trans-unit id="f39256070bfc0714020dfee08895421fc1527014" datatype="html">\n        <source>Disabled</source>\n        <target>Deaktiviert</target>\n      </trans-unit>\n      <trans-unit id="8c375764db42f5d736fb56d01b8052c006ccc8e2" datatype="html">\n        <source>Edit Mode</source>\n        <target>Bearbeitungsmodus</target>\n      </trans-unit>\n      <trans-unit id="45932f2a0ea524b3425f4320ee46a6d1c68977bc" datatype="html">\n        <source>Add Peer</source>\n        <target>Peer hinzufügen</target>\n      </trans-unit>\n      <trans-unit id="d3dc34662e3cda0dad646221651cebd26f731485" datatype="html">\n        <source>Edit Peer</source>\n        <target>Peer bearbeiten</target>\n      </trans-unit>\n      <trans-unit id="e8a0ec0b6ee72db0f27c186e09640d1ed41964bd" datatype="html">\n        <source>Delete Peer</source>\n        <target>Peer löschen</target>\n      </trans-unit>\n      <trans-unit id="314de06d6f64d39149e78e6d796585c0246fec0b" datatype="html">\n        <source>Leader</source>\n        <target>Leader</target>\n      </trans-unit>\n      <trans-unit id="7acaab450312114059ced9e3737798ee9aa738b1" datatype="html">\n        <source># Local</source>\n        <target># lokal</target>\n      </trans-unit>\n      <trans-unit id="7a3ffd88868135c44be3994263bb8e49d8358884" datatype="html">\n        <source># Remote</source>\n        <target># remote</target>\n      </trans-unit>\n      <trans-unit id="85ca0fd6a6ddd211023c70a25753122c5b978787" datatype="html">\n        <source>mirror peer</source>\n        <target>Peer spiegeln</target>\n      </trans-unit>\n      <trans-unit id="a6493c6ca346cd052da40423eda9c132de2b2002" datatype="html">\n        <source>Key</source>\n        <target>Schlüssel</target>\n      </trans-unit>\n      <trans-unit id="e9cac80fb5d9de66f0006d0bec530fd1fc69a674" datatype="html">\n        <source>RBD</source>\n        <target>RBD</target>\n      </trans-unit>\n      <trans-unit id="4130b1a836f2000cfe9a11fb62493dc42d444de7" datatype="html">\n        <source>Deep flatten</source>\n        <target>Umfassende Vereinfachung</target>\n      </trans-unit>\n      <trans-unit id="7b17694d7cb8ecb7c8440bc999dac21b44455b33" datatype="html">\n        <source>Layering</source>\n        <target>Schichtung</target>\n      </trans-unit>\n      <trans-unit id="6a072ce577c2079d0e0c31071a16824f6d22b84d" datatype="html">\n        <source>Exclusive lock</source>\n        <target>Exklusive Sperre</target>\n      </trans-unit>\n      <trans-unit id="7354f01320bf936a7f85577c9f71402635c3a362" datatype="html">\n        <source>Object map (requires exclusive-lock)</source>\n        <target>Objektzuordnung (erfordert exklusive Sperre)</target>\n      </trans-unit>\n      <trans-unit id="fb7e625c1152f1c102cd16460955d124edff1770" datatype="html">\n        <source>Journaling (requires exclusive-lock)</source>\n        <target>Journaling (erfordert exklusive Sperre)</target>\n      </trans-unit>\n      <trans-unit id="df4044632bfc211dd96544fc8f007dabbeeb506c" datatype="html">\n        <source>Fast diff (interlocked with object-map)</source>\n        <target>Fast diff (interlocked with object-map)</target>\n      </trans-unit>\n      <trans-unit id="631fc50ec7c9bd81dc797a3c7e09eda1178ad999" datatype="html">\n        <source>Parent image must support Layering</source>\n        <target>Parent image must support Layering</target>\n      </trans-unit>\n      <trans-unit id="7eb984588f4835f6d0187b33769b4b0f62821640" datatype="html">\n        <source>RBD snapshot rollback</source>\n        <target>Rollback für RBD-Snapshot</target>\n      </trans-unit>\n      <trans-unit id="4be22bf20ef82614ed53bcd3b912a85590aa71c9" datatype="html">\n        <source>Rollback</source>\n        <target>Rollback</target>\n      </trans-unit>\n      <trans-unit id="2a04c483708d261751d62082d6f03a50d4577b1e" datatype="html">\n        <source>RBD snapshot</source>\n        <target>RBD-Snapshot</target>\n      </trans-unit>\n      <trans-unit id="fa96769d1ea86741297cb9b9769b0dcfde58c8b4" datatype="html">\n        <source>Deleted At</source>\n        <target>Gelöscht am</target>\n      </trans-unit>\n      <trans-unit id="e928864038ca70ee7d67bbf1fd71a01c3938a127" datatype="html">\n        <source>id</source>\n        <target>ID</target>\n      </trans-unit>\n      <trans-unit id="240c9c1e96dc38814922a83ad041dc815b084f32" datatype="html">\n        <source>type</source>\n        <target>Typ</target>\n      </trans-unit>\n      <trans-unit id="c9d7ec7ee5b4e282f2228fa996651ec4ef5195a9" datatype="html">\n        <source>state</source>\n        <target>Zustand</target>\n      </trans-unit>\n      <trans-unit id="5780e5c3b4fc2ae07836bb5221cec4f8d597630d" datatype="html">\n        <source>version</source>\n        <target>Version</target>\n      </trans-unit>\n      <trans-unit id="fe22ca53e651df951dac25b67c17894b0980f767" datatype="html">\n        <source>Host</source>\n        <target>Host</target>\n      </trans-unit>\n      <trans-unit id="fb69299354312c8954ecf324997ccafcd9f6b14b" datatype="html">\n        <source>root</source>\n        <target>Stamm</target>\n      </trans-unit>\n      <trans-unit id="d34feb369d308075b423d5c5fc431f9766bf7a11" datatype="html">\n        <source>Evicted client "\n          <x id="INTERPOLATION" equiv-text="{{clientId}}"/>"\n        </source>\n        <target>Evicted client "\n          <x id="INTERPOLATION" equiv-text="{{clientId}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="7db875ff4cc626d394f37fba95c075b2e4bfeb00" datatype="html">\n        <source>Standby daemons</source>\n        <target>Standby-Daemons</target>\n      </trans-unit>\n      <trans-unit id="3c3a423d91e36ac6624e909fcd2669a25685f847" datatype="html">\n        <source>Rank</source>\n        <target>Rang</target>\n      </trans-unit>\n      <trans-unit id="9596ecae8956e96921acef47aec787f6bdc37454" datatype="html">\n        <source>Daemon</source>\n        <target>Daemon</target>\n      </trans-unit>\n      <trans-unit id="f2005fa461c06dc2e04d8918bbabedf23604b5b7" datatype="html">\n        <source>Activity</source>\n        <target>Aktivität</target>\n      </trans-unit>\n      <trans-unit id="e3a986984ae0c3b43af648c3fa638649d1c00348" datatype="html">\n        <source>Dentries</source>\n        <target>Dentries</target>\n      </trans-unit>\n      <trans-unit id="7c692ab865066967d73c6d64ec0691cc6ce91b93" datatype="html">\n        <source>Inodes</source>\n        <target>Inodes</target>\n      </trans-unit>\n      <trans-unit id="45f210b96a2a6e91f52f153a4f8dc30662629f8e" datatype="html">\n        <source>Usage</source>\n        <target>Nutzung</target>\n      </trans-unit>\n      <trans-unit id="950b5f04a2efd3f11c0f76418d5a4212381e792e" datatype="html">\n        <source>Origin</source>\n        <target>Origin</target>\n      </trans-unit>\n      <trans-unit id="22e4e574b7f8abf58254f328792445b42e2a924a" datatype="html">\n        <source>The value can be updated at runtime.</source>\n        <target>Der Wert kann zur Laufzeit aktualisiert werden.</target>\n      </trans-unit>\n      <trans-unit id="d7770de7b2343c9deeaa7ebf37ba3e35ca5c5988" datatype="html">\n        <source>Daemons/clients do not pull this value from the\n      monitor config database. We disallow setting this option via \'ceph config\n      set ...\'. This option should be configured via ceph.conf or via the\n      command line.</source>\n        <target>Daemons/Clients rufen diesen Wert nicht aus der\n      Datenbank \'monitor config\' ab. Es ist nicht zulässig, diese Option über \'ceph config\n      set ...\' festzulegen. Diese Option sollte über \'ceph.conf\' oder an der\n      Befehlszeile konfiguriert werden.</target>\n      </trans-unit>\n      <trans-unit id="83f11fd1dc503c37931ea6c1c5c1e8c2b4b597b6" datatype="html">\n        <source>Option takes effect only during daemon startup.</source>\n        <target>Die Option wird nur während des Daemon-Starts wirksam.</target>\n      </trans-unit>\n      <trans-unit id="837a07cd6a971038b8b1aa190c43440c9fdb5d8b" datatype="html">\n        <source>Option only affects cluster creation.</source>\n        <target>Die Option wirkt sich nur auf die Cluster-Erstellung aus.</target>\n      </trans-unit>\n      <trans-unit id="2566a88eb247c918b71cfe5b354c31de0d4b01e5" datatype="html">\n        <source>Option only affects daemon creation.</source>\n        <target>Die Option wirkt sich nur auf die Daemon-Erstellung aus.</target>\n      </trans-unit>\n      <trans-unit id="1cdc60cfc09c257625768f3d2082816cdef27279" datatype="html">\n        <source>Updated config option \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\n        </source>\n        <target>Aktualisierte Konfigurationsoption \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="d473e0f684a60db45d6f31e993f693f74290e056" datatype="html">\n        <source>Service</source>\n        <target>Service</target>\n      </trans-unit>\n      <trans-unit id="9951bb3983c7dba6fde013e05c922e4fe1a44367" datatype="html">\n        <source>Current value</source>\n        <target>Aktueller Wert</target>\n      </trans-unit>\n      <trans-unit id="4a01c175f90dd92b432f4a4a199d2c7bb9d997ff" datatype="html">\n        <source>Editable</source>\n        <target>Bearbeitbar</target>\n      </trans-unit>\n      <trans-unit id="261c0af854e8684abc15f89dce6efb3e72344b18" datatype="html">\n        <source>host</source>\n        <target>host</target>\n      </trans-unit>\n      <trans-unit id="9e35065e7c579e1fb960499117fd4b3c68d1c263" datatype="html">\n        <source>Host operation is disabled because orchestrator is unavailable</source>\n        <target>Host operation is disabled because orchestrator is unavailable</target>\n      </trans-unit>\n      <trans-unit id="a5d5e407f8c4e1b152509c966c90f37edf68472e" datatype="html">\n        <source>Device path</source>\n        <target>Device path</target>\n      </trans-unit>\n      <trans-unit id="94e76c060aa68c05d8c4a3f5a20c92fab3e83ccf" datatype="html">\n        <source>Rotates</source>\n        <target>Rotates</target>\n      </trans-unit>\n      <trans-unit id="b7da3e3505cc80f9bf3cffc8444c53e8a9ec70a5" datatype="html">\n        <source>Available</source>\n        <target>Available</target>\n      </trans-unit>\n      <trans-unit id="6ec98fa3d6504ba1fd03465194b53706c8263c99" datatype="html">\n        <source>Model</source>\n        <target>Model</target>\n      </trans-unit>\n      <trans-unit id="1a6e6ad05508130b7a99ce5b15daf3227c2a930c" datatype="html">\n        <source>Updated options for module "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>".\n        </source>\n        <target>Updated options for module "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="ac6c9212896d39b23811ed2dadab7d07336ec559" datatype="html">\n        <source>Enable</source>\n        <target>Aktivieren</target>\n      </trans-unit>\n      <trans-unit id="6766a926d80bb7763785621098dae459d6226429" datatype="html">\n        <source>Disable</source>\n        <target>Deaktivieren</target>\n      </trans-unit>\n      <trans-unit id="340f2f312c2eb353e5cd69aee6bee7f5a73c34ac" datatype="html">\n        <source>This Manager module is always on.</source>\n        <target>This Manager module is always on.</target>\n      </trans-unit>\n      <trans-unit id="6a0b3657745dd7a2f2162f1cc790bf9004d0845d" datatype="html">\n        <source>Reconnecting, please wait ...</source>\n        <target>Verbindung wird erneut hergestellt, bitte warten...</target>\n      </trans-unit>\n      <trans-unit id="7099a8878af7a0a26fe5663c4f46cfe87142b75d" datatype="html">\n        <source>Public Address</source>\n        <target>Öffentliche Adresse</target>\n      </trans-unit>\n      <trans-unit id="cbdd1cdc0c7a87f55dd177bc44212f0fc4b80852" datatype="html">\n        <source>Open Sessions</source>\n        <target>Offene Sitzungen</target>\n      </trans-unit>\n      <trans-unit id="37e58d1cbdf8212b380efa51422e42821d4f08e6" datatype="html">\n        <source>No In</source>\n        <target>Kein In-Vorgang</target>\n      </trans-unit>\n      <trans-unit id="12706eb5af17ff5ad77b3de21af368d24678e00b" datatype="html">\n        <source>OSDs that were previously marked out will not be marked back in when they start</source>\n        <target>OSDs, die zuvor als \'out\' markiert wurden, werden beim Start nicht wieder markiert</target>\n      </trans-unit>\n      <trans-unit id="96114d7624d11dc90ca46cfa96145fe22118df76" datatype="html">\n        <source>No Out</source>\n        <target>Kein Out-Vorgang</target>\n      </trans-unit>\n      <trans-unit id="a2ef636fe1ddd56b63e4aaf3d292f33dbf735ef3" datatype="html">\n        <source>OSDs will not automatically be marked out after the configured interval</source>\n        <target>OSDs werden nach dem konfigurierten Intervall nicht automatisch als \'out\' markiert</target>\n      </trans-unit>\n      <trans-unit id="ee50aefa9b8bde1e5429b48709a23abfe08358e0" datatype="html">\n        <source>No Up</source>\n        <target>Kein Up-Vorgang</target>\n      </trans-unit>\n      <trans-unit id="608929b939307e397586a98cea52ae38997c7273" datatype="html">\n        <source>OSDs are not allowed to start</source>\n        <target>OSDs dürfen nicht gestartet werden</target>\n      </trans-unit>\n      <trans-unit id="1751ab69c1e7f62927afedbf7116e0116316c551" datatype="html">\n        <source>No Down</source>\n        <target>Kein Down-Vorgang</target>\n      </trans-unit>\n      <trans-unit id="41fac86dfb65c1db690f3e87f6497cb73b281084" datatype="html">\n        <source>OSD failure reports are being ignored, such that the monitors will not mark OSDs down</source>\n        <target>OSD-Fehlerberichte werden ignoriert, sodass die Monitore die OSDs nicht als ausgefallen markieren</target>\n      </trans-unit>\n      <trans-unit id="b2838c6165a9672a17db188f4dd9676574353dd8" datatype="html">\n        <source>Pause</source>\n        <target>Pause</target>\n      </trans-unit>\n      <trans-unit id="191d71dadcc8790573d46706a0b48211de4b8334" datatype="html">\n        <source>Pauses reads and writes</source>\n        <target>Hält Lese- und Schreibvorgänge an</target>\n      </trans-unit>\n      <trans-unit id="471d5ba75836f38c19992cf83d8822632d99e473" datatype="html">\n        <source>No Scrub</source>\n        <target>Kein Scrub</target>\n      </trans-unit>\n      <trans-unit id="5b8caa61814121bc36dac0c34a9e9de3cae74990" datatype="html">\n        <source>Scrubbing is disabled</source>\n        <target>Scrubbing ist deaktiviert</target>\n      </trans-unit>\n      <trans-unit id="7f29a0ac1c797bdc0347dd5d0734ba83e96e7ce6" datatype="html">\n        <source>No Deep Scrub</source>\n        <target>Kein umfassender Scrub</target>\n      </trans-unit>\n      <trans-unit id="01da61ab216541a8d31259cebd16b10c7e5fc124" datatype="html">\n        <source>Deep Scrubbing is disabled</source>\n        <target>Umfassendes Scrubbing ist deaktiviert</target>\n      </trans-unit>\n      <trans-unit id="0b86c7f18ac725de62c7e192dcfccd02c0dc40ab" datatype="html">\n        <source>No Backfill</source>\n        <target>Kein Abgleich</target>\n      </trans-unit>\n      <trans-unit id="bd33a2bdc8fbed3b7469f3717c16d9aaa2851fdd" datatype="html">\n        <source>Backfilling of PGs is suspended</source>\n        <target>Abgleich der Platzierungsgruppen ist ausgesetzt</target>\n      </trans-unit>\n      <trans-unit id="7fbbd036394cfa623add40299757bc87df8eaa7e" datatype="html">\n        <source>No Recover</source>\n        <target>Keine Wiederherstellung</target>\n      </trans-unit>\n      <trans-unit id="f3ee9b451a64dca47299c9b4ae1091c2008068ad" datatype="html">\n        <source>Recovery of PGs is suspended</source>\n        <target>Wiederherstellung der Platzierungsgruppen ist ausgesetzt</target>\n      </trans-unit>\n      <trans-unit id="de904148fe7e8d812218f50333ffe247900617c5" datatype="html">\n        <source>Bitwise Sort</source>\n        <target>Bitweise Sortierung</target>\n      </trans-unit>\n      <trans-unit id="2613c9fde29785bcd75f0abeccb653d14d7527b3" datatype="html">\n        <source>Use bitwise sort</source>\n        <target>Bitweise Sortierung verwenden</target>\n      </trans-unit>\n      <trans-unit id="2fe10d84250aeee365db244251d40934c70ff1e9" datatype="html">\n        <source>Purged Snapdirs</source>\n        <target>Bereinigte Snapdirs</target>\n      </trans-unit>\n      <trans-unit id="6b22a5b780eda3c5d500cdac9c6d4f96978c38f1" datatype="html">\n        <source>OSDs have converted snapsets</source>\n        <target>OSDs besitzen konvertierte Snapsets</target>\n      </trans-unit>\n      <trans-unit id="c42f0ba60564dc5b977a8c7f3fdcde9efbb39c60" datatype="html">\n        <source>Recovery Deletes</source>\n        <target>Löschvorgänge bei Wiederherstellungen</target>\n      </trans-unit>\n      <trans-unit id="72fe39979198ea2ed6db6274b5029025cb316d90" datatype="html">\n        <source>Deletes performed during recovery instead of peering</source>\n        <target>Bei der Wiederherstellung anstelle des Peerings durchgeführte Löschvorgänge</target>\n      </trans-unit>\n      <trans-unit id="1bb4a1f9127cefe624c173557a716d0ebb6d647c" datatype="html">\n        <source>PG Log Hard Limit</source>\n        <target>Hardlimit für Platzierungsgruppen-Protokoll</target>\n      </trans-unit>\n      <trans-unit id="e03c0321397fdf7a9c22e8d6b5015424943c0a57" datatype="html">\n        <source>Puts a hard limit on pg log length</source>\n        <target>Legt ein Hardlimit für die Platzierungsgruppen-Protokolllänge fest</target>\n      </trans-unit>\n      <trans-unit id="3c384e2e80c6b5eb24861fbf4225b69486cff4a3" datatype="html">\n        <source>Updated OSD Flags</source>\n        <target>Aktualisierte OSD-Flags</target>\n      </trans-unit>\n      <trans-unit id="688578fcc739d6f0c5fb6c366dbb19d21c6d9e36" datatype="html">\n        <source>out</source>\n        <target>aus</target>\n      </trans-unit>\n      <trans-unit id="cb0f69bdd4dea41d7d45c74b6e07f98de8a2ab26" datatype="html">\n        <source>in</source>\n        <target>ein</target>\n      </trans-unit>\n      <trans-unit id="b5fbc7c7f007dd53b2318525bb7ff8b0376c9e37" datatype="html">\n        <source>down</source>\n        <target>ausgefallen</target>\n      </trans-unit>\n      <trans-unit id="b58719bcb9184e1a7884d00d22d10899d59bf295" datatype="html">\n        <source>Mark</source>\n        <target>Markieren</target>\n      </trans-unit>\n      <trans-unit id="31a1c1aa03f1e5084750bedb4e3fdc04ce2cb6ca" datatype="html">\n        <source>OSD lost</source>\n        <target>OSD verloren</target>\n      </trans-unit>\n      <trans-unit id="f3fc4c85c5b8f1dedea0496b72d0af9da7b9e0d9" datatype="html">\n        <source>marked lost</source>\n        <target>markierter Verlust</target>\n      </trans-unit>\n      <trans-unit id="40fedc157ad899a18ec40573f770d18b040959d2" datatype="html">\n        <source>Purge</source>\n        <target>Bereinigen</target>\n      </trans-unit>\n      <trans-unit id="c8b1475105463088593de1022ff6dceb523eae0e" datatype="html">\n        <source>OSD</source>\n        <target>OSD</target>\n      </trans-unit>\n      <trans-unit id="4f3cff08c7033b63bbccfe66006b1bcaea48ddd8" datatype="html">\n        <source>purged</source>\n        <target>bereinigt</target>\n      </trans-unit>\n      <trans-unit id="8e5d1b01eca6dce26a4751f0b19bda7a6ab8db5b" datatype="html">\n        <source>destroy</source>\n        <target>vernichten</target>\n      </trans-unit>\n      <trans-unit id="495a06b78bf165a7b545fa002137f0846b094a3d" datatype="html">\n        <source>destroyed</source>\n        <target>vernichtet</target>\n      </trans-unit>\n      <trans-unit id="107614b994f2b01abdc1ca179bf780b0cd933ec4" datatype="html">\n        <source>Recovery Priority</source>\n        <target>Wiederherstellungspriorität</target>\n      </trans-unit>\n      <trans-unit id="359dad5a3a912ef9dece3194035020856805aa96" datatype="html">\n        <source>PG scrub</source>\n        <target>PG Scrub</target>\n      </trans-unit>\n      <trans-unit id="953144c420c2e5abd02e6a687433eac60fa852bd" datatype="html">\n        <source>PGs</source>\n        <target>Platzierungsgruppen</target>\n      </trans-unit>\n      <trans-unit id="7d3523ea9d35c274cef84043de8a2fdde540a9a1" datatype="html">\n        <source>Read bytes</source>\n        <target>Bytes für Lesevorgang</target>\n      </trans-unit>\n      <trans-unit id="ecbe2fdca919499125bc42c2c67cedae8563db1c" datatype="html">\n        <source>Writes bytes</source>\n        <target>Bytes für Schreibvorgang</target>\n      </trans-unit>\n      <trans-unit id="f3c33322823c846b13f59ba2c8f234405bba99e1" datatype="html">\n        <source>Read ops</source>\n        <target>Lesevorgänge</target>\n      </trans-unit>\n      <trans-unit id="7e0b24a17546cbfab48b03dc874461d1ca68bc9a" datatype="html">\n        <source>Write ops</source>\n        <target>Schreibvorgänge</target>\n      </trans-unit>\n      <trans-unit id="d45455406092f58e6b089cb440b5b7934b801a01" datatype="html">\n        <source>Mark OSD \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </source>\n        <target>OSD \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/> markieren\n        </target>\n      </trans-unit>\n      <trans-unit id="de0b7806e451b3b3dbd564decba59981fe781c18" datatype="html">\n        <source>Mark \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/> markieren\n        </target>\n      </trans-unit>\n      <trans-unit id="bba1d3bb4f8a47aa2b3068e242562196eadb1e83" datatype="html">\n        <source>PG scrub options</source>\n        <target>PG Scrub-Optionen</target>\n      </trans-unit>\n      <trans-unit id="b0b7748ebc9b7a6942a8cac4a89d4b215b365878" datatype="html">\n        <source>Updated PG scrub options</source>\n        <target>Aktualisierte PG Scrub-Optionen</target>\n      </trans-unit>\n      <trans-unit id="4edc2162af0bd6cd941eaf730d20a7e3b5a83ba7" datatype="html">\n        <source>Max Backfills</source>\n        <target>Max. Abgleiche</target>\n      </trans-unit>\n      <trans-unit id="eb5e6c24a48a1dfe23e0a772b762be5e949c0c8a" datatype="html">\n        <source>Recovery Max Active</source>\n        <target>Wiederherstellung, max. aktiv</target>\n      </trans-unit>\n      <trans-unit id="4a23c6d3859e03184118620d2baeb736ac765fbf" datatype="html">\n        <source>Recovery Max Single Start</source>\n        <target>Wiederherstellung, max. - einzelner Start</target>\n      </trans-unit>\n      <trans-unit id="97049169ef5228fd1724de2fcdad1fec2858eaf8" datatype="html">\n        <source>Recovery Sleep</source>\n        <target>Wiederherstellung - Inaktivität</target>\n      </trans-unit>\n      <trans-unit id="a5c05002b0ac2040f1aede5e727e0ffd06eda819" datatype="html">\n        <source>Custom</source>\n        <target>Benutzerdefiniert</target>\n      </trans-unit>\n      <trans-unit id="89553524f4e7db5c437b07dcfdc7b831d56ded1a" datatype="html">\n        <source>Updated OSD recovery speed priority "\n          <x id="INTERPOLATION" equiv-text="{{value}}"/>"\n        </source>\n        <target>Updated OSD recovery speed priority "\n          <x id="INTERPOLATION" equiv-text="{{value}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="ccf5f30798c03d2d8efd0e6eb508320c018b722d" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{operation}}"/> was initialized in the following OSD(s): \n          <x id="INTERPOLATION_1" equiv-text="{{id}}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{operation}}"/> was initialized in the following OSD(s): \n          <x id="INTERPOLATION_1" equiv-text="{{id}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="9836e830d0219585b36d53be00a31c3d4798a4aa" datatype="html">\n        <source>Smartctl has received an unknown argument (error code\n          <x id="INTERPOLATION" equiv-text="{{smartData.smartctl_error_code}}"/>). You may be using an\n                incompatible version of smartmontools. Version &gt;= 7.0 of\n                smartmontools is required to succesfully retrieve data.\n        </source>\n        <target>Smartctl has received an unknown argument (error code\n          <x id="INTERPOLATION" equiv-text="{{smartData.smartctl_error_code}}"/>). You may be using an\n                incompatible version of smartmontools. Version &gt;= 7.0 of\n                smartmontools is required to succesfully retrieve data.\n        </target>\n      </trans-unit>\n      <trans-unit id="d5fd840374ca1a6f394bcd81f390a6dca27f8224" datatype="html">\n        <source>An error with error code \n          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.\n        </source>\n        <target>An error with error code \n          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.\n        </target>\n      </trans-unit>\n      <trans-unit id="a0b59d7139692bb8d8ed786b6eb6e9e70ce743f3" datatype="html">\n        <source>Raw</source>\n        <target>Raw</target>\n      </trans-unit>\n      <trans-unit id="2f3beddc8234b30fb26a7f63ba2f1ea74f2ed6f7" datatype="html">\n        <source>Threshold</source>\n        <target>Threshold</target>\n      </trans-unit>\n      <trans-unit id="4654b5a68af3c8bad29aa14ca85ccea1f3143c6b" datatype="html">\n        <source>When Failed</source>\n        <target>When Failed</target>\n      </trans-unit>\n      <trans-unit id="5b7f56d5be49fb8e8d8f40209d6746f8f72e9177" datatype="html">\n        <source>Worst</source>\n        <target>Worst</target>\n      </trans-unit>\n      <trans-unit id="1edb8e46b0fac57c5feb3d7d3585afc0122d5481" datatype="html">\n        <source>Create silence</source>\n        <target>Create silence</target>\n      </trans-unit>\n      <trans-unit id="78917e8031aaf913ac3fa63295325ce8879703ce" datatype="html">\n        <source>Job</source>\n        <target>Auftrag</target>\n      </trans-unit>\n      <trans-unit id="94287619205068b591c18493c64781424864c259" datatype="html">\n        <source>Severity</source>\n        <target>Schweregrad</target>\n      </trans-unit>\n      <trans-unit id="e6cfbe0c5e0302ba2cec22315f6a28f8ac46b651" datatype="html">\n        <source>Started</source>\n        <target>Gestartet</target>\n      </trans-unit>\n      <trans-unit id="801b98c6f02fe3b32f6afa3ee854c99ed83474e6" datatype="html">\n        <source>URL</source>\n        <target>URL</target>\n      </trans-unit>\n      <trans-unit id="a5cd682a8a33bdc72e093d059429e3cc3a50ec1d" datatype="html">\n        <source>silence</source>\n        <target>silence</target>\n      </trans-unit>\n      <trans-unit id="f557e117e059e7036c6eecacd325a6ae35d866e0" datatype="html">\n        <source>Attribute name</source>\n        <target>Attributname</target>\n      </trans-unit>\n      <trans-unit id="50f7f517ad8158667f7d4e2bd6f3256e05156e75" datatype="html">\n        <source>Regular expression</source>\n        <target>Regulärer Ausdruck</target>\n      </trans-unit>\n      <trans-unit id="81b1eab399c47110d50f45e3ccb4c009de7cb581" datatype="html">\n        <source>Please add your Prometheus host to the dashboard configuration and refresh the page</source>\n        <target>Bitte fügen Sie Ihren Prometheus-Host zur Dashboard-Konfiguration hinzu und aktualisieren die Seite</target>\n      </trans-unit>\n      <trans-unit id="29b4ae3296e239446fa0dea88a5112de15cffa54" datatype="html">\n        <source>Created by</source>\n        <target>Erstellt von</target>\n      </trans-unit>\n      <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc" datatype="html">\n        <source>Updated</source>\n        <target>Aktualisiert</target>\n      </trans-unit>\n      <trans-unit id="8d833cceee0ba4c5161b130365e02bc1e129b57e" datatype="html">\n        <source>Ends</source>\n        <target>Endet</target>\n      </trans-unit>\n      <trans-unit id="46a11ff4289e8c88b1b7a935f8d8ee704055f11a" datatype="html">\n        <source>Silence</source>\n        <target>Silence</target>\n      </trans-unit>\n      <trans-unit id="f392abfbb997402ce2aebb13e660a8f01dec54db" datatype="html">\n        <source>Service type</source>\n        <target>Service type</target>\n      </trans-unit>\n      <trans-unit id="9ffa91b056fb979786627885651e19c8275675cd" datatype="html">\n        <source>Service instance</source>\n        <target>Service instance</target>\n      </trans-unit>\n      <trans-unit id="b5910192a9ac4816638ff6383b03f986ff965796" datatype="html">\n        <source>Container id</source>\n        <target>Container id</target>\n      </trans-unit>\n      <trans-unit id="60ab9cce12a56cdc5ec6a1b699f8c7afecd629d5" datatype="html">\n        <source>Rados config location</source>\n        <target>Rados config location</target>\n      </trans-unit>\n      <trans-unit id="dfa409f831c9168a377bdee02c5ea6aaf9b2bf61" datatype="html">\n        <source>Service URL</source>\n        <target>Service URL</target>\n      </trans-unit>\n      <trans-unit id="bf2468fd965b8a59c135ad549b3a612aa9873abc" datatype="html">\n        <source>Status Description</source>\n        <target>Status Description</target>\n      </trans-unit>\n      <trans-unit id="fb2e1bed329dc5b84197808c778abb9edcbdb335" datatype="html">\n        <source>Used</source>\n        <target>Verwendet</target>\n      </trans-unit>\n      <trans-unit id="4f1ab04d9100fb0df0e62b921ec46ae052ae29fc" datatype="html">\n        <source>Avail.</source>\n        <target>Verf.</target>\n      </trans-unit>\n      <trans-unit id="a1c9b3d4fa67450fe9afd1d726f8a1bd91d990ea" datatype="html">\n        <source>Clean</source>\n        <target>Bereinigen</target>\n      </trans-unit>\n      <trans-unit id="0054f5460090d6dde385e8f099d598df5d28cf54" datatype="html">\n        <source>Working</source>\n        <target>In Bearbeitung</target>\n      </trans-unit>\n      <trans-unit id="a8059e31694578c1b0344a76a345357dd60e8f01" datatype="html">\n        <source>Warning</source>\n        <target>Warnung</target>\n      </trans-unit>\n      <trans-unit id="e5d8bb389c702588877f039d72178f219453a72d" datatype="html">\n        <source>Unknown</source>\n        <target>Unbekannt</target>\n      </trans-unit>\n      <trans-unit id="88155be1b9b9c6140d6e8f93bac4a775cfdc6671" datatype="html">\n        <source>Healthy</source>\n        <target>Healthy</target>\n      </trans-unit>\n      <trans-unit id="8a3aec4dc1a6e2d4c612ae85e0537acbb20a0f85" datatype="html">\n        <source>Misplaced</source>\n        <target>Misplaced</target>\n      </trans-unit>\n      <trans-unit id="ee81f9bf7ceac69712e0b83e8adc268739f9673e" datatype="html">\n        <source>Degraded</source>\n        <target>Degraded</target>\n      </trans-unit>\n      <trans-unit id="14625bc4025daef1969777a67a3cca27e0cd9167" datatype="html">\n        <source>Unfound</source>\n        <target>Unfound</target>\n      </trans-unit>\n      <trans-unit id="8f23ea509d081c2f747d083d44608dbf125b2ea2" datatype="html">\n        <source>replicas</source>\n        <target>replicas</target>\n      </trans-unit>\n      <trans-unit id="129a2224e1f9d19eb5e11e2a07fe10a785556484" datatype="html">\n        <source>up</source>\n        <target>aktiv</target>\n      </trans-unit>\n      <trans-unit id="d5f29cf0af691726483262d647eb6622be002512" datatype="html">\n        <source>no filesystems</source>\n        <target>keine Dateisysteme</target>\n      </trans-unit>\n      <trans-unit id="b1c4387ffab06f3fa9fdb4411aea955595538d44" datatype="html">\n        <source>active</source>\n        <target>aktiv</target>\n      </trans-unit>\n      <trans-unit id="1aaf7054d826f2cb05ec3e88a5a4b8116861e1f5" datatype="html">\n        <source>standby</source>\n        <target>Standby</target>\n      </trans-unit>\n      <trans-unit id="c9a1080024dca344a48acdb77fa2d54e059f7254" datatype="html">\n        <source>n/a</source>\n        <target>n. v.</target>\n      </trans-unit>\n      <trans-unit id="84a1787b6df375847c70f782861d7e7f8f43bff4" datatype="html">\n        <source>active daemon</source>\n        <target>aktiver Daemon</target>\n      </trans-unit>\n      <trans-unit id="24407dc2ebfafaf6b131ee978683b893c3f1d763" datatype="html">\n        <source>quorum</source>\n        <target>Quorum</target>\n      </trans-unit>\n      <trans-unit id="2fa50bc07995c6ea660412294298ded39fcb08d9" datatype="html">\n        <source>The NFS Ganesha service is not configured.</source>\n        <target>Der NFS Ganesha-Dienst ist nicht konfiguriert.</target>\n      </trans-unit>\n      <trans-unit id="af1396bdc49f45ea6c4a1e414769f5e2a382c834" datatype="html">\n        <source>Transport</source>\n        <target>Transport</target>\n      </trans-unit>\n      <trans-unit id="b6a0e176d96c4feed2e975a039c044fcf822e152" datatype="html">\n        <source>CephFS User</source>\n        <target>CephFS-Benutzer</target>\n      </trans-unit>\n      <trans-unit id="44dc610cf201a163e8c38da810acec9596930bb3" datatype="html">\n        <source>CephFS Filesystem</source>\n        <target>CephFS-Dateisystem</target>\n      </trans-unit>\n      <trans-unit id="db6dc7124be83c7055cb0f2719e31f2f9d46fd3d" datatype="html">\n        <source>(inherited from global config)</source>\n        <target>(aus globaler Konfiguration übernommen)</target>\n      </trans-unit>\n      <trans-unit id="e1f97bb86f991553ec7b535cb39e7eaa99dfcfe2" datatype="html">\n        <source>inherited from global config</source>\n        <target>aus globaler Konfiguration übernommen</target>\n      </trans-unit>\n      <trans-unit id="e751800766277e7c2edd652cec7a7a1a68a37852" datatype="html">\n        <source>-- Select what kind of user id squashing is performed --</source>\n        <target>-- Durchzuführende Benutzer-ID-Squashing-Art auswählen --</target>\n      </trans-unit>\n      <trans-unit id="4b58387f911e8a7b135a0c4d76c70335c65bbb32" datatype="html">\n        <source>There are no daemons available.</source>\n        <target>Keine Daemons verfügbar.</target>\n      </trans-unit>\n      <trans-unit id="18ae8dc1264f06df7ea251175ada2ac1b8401018" datatype="html">\n        <source>NFS export</source>\n        <target>NFS-Export</target>\n      </trans-unit>\n      <trans-unit id="ae128527ec18892f812a62a1fd15dc50a38060c0" datatype="html">\n        <source>EC Profile</source>\n        <target>EC-Profil</target>\n      </trans-unit>\n      <trans-unit id="60fb10c145f9c7ede2b9ddf9b2b0b0f6191d0ebd" datatype="html">\n        <source>Cache Mode</source>\n        <target>Cache-Modus</target>\n      </trans-unit>\n      <trans-unit id="fa5bfad31d4139f6871443bb74324ffda5cad3e6" datatype="html">\n        <source>Min Evict Age</source>\n        <target>Min. Alter für Vertreibung</target>\n      </trans-unit>\n      <trans-unit id="fd0eb851666df45c34c76fabcda79b0d77bc910b" datatype="html">\n        <source>Min Flush Age</source>\n        <target>Min. Alter für Leerung</target>\n      </trans-unit>\n      <trans-unit id="cb54d2c420a534cee0c308ea5589f8c394ef8d67" datatype="html">\n        <source>Target Max Bytes</source>\n        <target>Max. Bytes für Ziel</target>\n      </trans-unit>\n      <trans-unit id="07f4ebe6615dca466818ffdae2a69ee217d265fb" datatype="html">\n        <source>Target Max Objects</source>\n        <target>Max. Objekte für Ziel</target>\n      </trans-unit>\n      <trans-unit id="eaa8f4df53cf7fa78d078e20a701d10f3dccd77d" datatype="html">\n        <source>No applications added</source>\n        <target>Keine Anwendungen hinzugefügt</target>\n      </trans-unit>\n      <trans-unit id="321c2a7640f11177ea49b0857b94c4b70830c0e6" datatype="html">\n        <source>Applications limit reached</source>\n        <target>Anwendungslimit erreicht</target>\n      </trans-unit>\n      <trans-unit id="519d27742b74fadc8336777452f78891e98aa1dc" datatype="html">\n        <source>A pool can only have up to four applications definitions.</source>\n        <target>Ein Pool kann nur bis zu vier Anwendungsdefinitionen aufweisen.</target>\n      </trans-unit>\n      <trans-unit id="b5bec3813f0d45daa7eb9471272969e1bc3e734e" datatype="html">\n        <source>Allowed characters \'_a-zA-Z0-9\'</source>\n        <target>Zulässige Zeichen \'_a-zA-Z0-9\'</target>\n      </trans-unit>\n      <trans-unit id="807472d29602a0085bce62e534bd66208982c2e2" datatype="html">\n        <source>Maximum length is 128 characters</source>\n        <target>Maximale Länge beträgt 128 Zeichen</target>\n      </trans-unit>\n      <trans-unit id="37785748b9ac9ad1d3e4b111ac502c3284afe84b" datatype="html">\n        <source>Filter or add applications</source>\n        <target>Anwendungen filtern oder hinzufügen</target>\n      </trans-unit>\n      <trans-unit id="38c7b8610ca87835e13eeee6a09ba1c414cd5cb9" datatype="html">\n        <source>Add application</source>\n        <target>Anwendung hinzufügen</target>\n      </trans-unit>\n      <trans-unit id="db8c42f077700d8a94619fad9f4c94b7361d5f1d" datatype="html">\n        <source>pool</source>\n        <target>Pool</target>\n      </trans-unit>\n      <trans-unit id="65bb2be83261bc4798853bbccdedc110c43feea7" datatype="html">\n        <source>erasure code profile</source>\n        <target>Erasure-Coding-Profil</target>\n      </trans-unit>\n      <trans-unit id="112d356ad6846959ca4aa5ec9a1f0d9d473b24ec" datatype="html">\n        <source>Replica Size</source>\n        <target>Größe des Replikats</target>\n      </trans-unit>\n      <trans-unit id="ec50492db341fa752b023d8c924601286b6c9c0c" datatype="html">\n        <source>Last Change</source>\n        <target>Letzte Änderung</target>\n      </trans-unit>\n      <trans-unit id="563a8c136a9d423bc7ae1269a404d6da5fd83dad" datatype="html">\n        <source>Erasure Coded Profile</source>\n        <target>Erasure-Coding-Profil</target>\n      </trans-unit>\n      <trans-unit id="0ad7f0662956cff61ac1208f92b1a0305b1b2e58" datatype="html">\n        <source>Crush Ruleset</source>\n        <target>Crush-Regelsatz</target>\n      </trans-unit>\n      <trans-unit id="f15bf7f588f09ca79795b17bc244e8d336f28171" datatype="html">\n        <source>Write bytes</source>\n        <target>Bytes für Schreibvorgang</target>\n      </trans-unit>\n      <trans-unit id="bcc365a084b6145b941b371bd4c2b6c3d2c79234" datatype="html">\n        <source>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</source>\n        <target>Das Löschen des Pools ist durch die Konfigurationsoption mon_allow_pool_delete deaktiviert.</target>\n      </trans-unit>\n      <trans-unit id="44939fd05cedfd077db886528b755e77d5fa3885" datatype="html">\n        <source>bucket</source>\n        <target>Bucket</target>\n      </trans-unit>\n      <trans-unit id="84fee774286ec4191311f1277075455c3ea5e2e2" datatype="html">\n        <source>Updated Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>".\n        </source>\n        <target>Updated Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="2d7a43674f0bbc131c9e555ec16ac37fa0445d76" datatype="html">\n        <source>Created Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>"\n        </source>\n        <target>Created Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="ec40d74ecfb1d6d60455af6805c9a714a3f5750a" datatype="html">\n        <source>buckets</source>\n        <target>Buckets</target>\n      </trans-unit>\n      <trans-unit id="764585d5595bac113582ee14a6fd07006770ceb1" datatype="html">\n        <source>capability</source>\n        <target>capability</target>\n      </trans-unit>\n      <trans-unit id="0914cbe18bae204217e1851be6d2d24d86e74605" datatype="html">\n        <source>user</source>\n        <target>Benutzer</target>\n      </trans-unit>\n      <trans-unit id="d8c86dc5e48a63590d9c94e19f90b5f8325cbd49" datatype="html">\n        <source>subuser</source>\n        <target>Unterbenutzer</target>\n      </trans-unit>\n      <trans-unit id="f45a3de8a8b40d161cc36a55d77548a27107ca04" datatype="html">\n        <source>S3 Key</source>\n        <target>S3-Schlüssel</target>\n      </trans-unit>\n      <trans-unit id="854a763265e92f91ba3ccee1a0e8d823be584f7c" datatype="html">\n        <source>Updated Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </source>\n        <target>Updated Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="84ab3fd641e65e39cffee0ec722a059ed284229e" datatype="html">\n        <source>Created Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </source>\n        <target>Created Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="7c7f4be7b726e61c577e63842a58d9e435f7c597" datatype="html">\n        <source>users</source>\n        <target>Benutzer</target>\n      </trans-unit>\n      <trans-unit id="9f7760223efd77806f1bbaf963e6993bb4bc6a0a" datatype="html">\n        <source>Swift Key</source>\n        <target>Swift-Schlüssel</target>\n      </trans-unit>\n      <trans-unit id="1481b8488e10dbc437accce89d2ae35a0106e8ba" datatype="html">\n        <source>Scope</source>\n        <target>Bereich</target>\n      </trans-unit>\n      <trans-unit id="9b1d5e95f6bdcfb4b737413f5fa157e0dcb103d5" datatype="html">\n        <source>Read</source>\n        <target>Lesen</target>\n      </trans-unit>\n      <trans-unit id="70a67e04629f6d412db0a12d51820b480788d795" datatype="html">\n        <source>Create</source>\n        <target>Erstelle</target>\n      </trans-unit>\n      <trans-unit id="dc4fba275819619ee78e8eae14d357ea69ba7477" datatype="html">\n        <source>role</source>\n        <target>Rolle</target>\n      </trans-unit>\n      <trans-unit id="fe6ee93173884201ec62d62ba173c3de85ae177e" datatype="html">\n        <source>Created role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Rolle \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\' erstellt\n        </target>\n      </trans-unit>\n      <trans-unit id="41c032df0732f4318f8213fabd0719ac347d4b6c" datatype="html">\n        <source>Updated role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Rolle \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\' aktualisiert\n        </target>\n      </trans-unit>\n      <trans-unit id="50e22b5289f79f1417369403345c9fa9911a4557" datatype="html">\n        <source>System Role</source>\n        <target>Systemrolle</target>\n      </trans-unit>\n      <trans-unit id="7f132668e2dbfcf616381d2daf59d1a6f2698102" datatype="html">\n        <source>Deleted role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Rolle \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\' gelöscht\n        </target>\n      </trans-unit>\n      <trans-unit id="2e35d60a14ce0b470e8b54602864a867f7fcef40" datatype="html">\n        <source>There are no roles.</source>\n        <target>There are no roles.</target>\n      </trans-unit>\n      <trans-unit id="d2362a49d2434ce137bf19dab004251b7fd9c7b3" datatype="html">\n        <source>Created user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Created user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="9910122dfedd2eaa544a990f1430e5b82a76d99f" datatype="html">\n        <source>Update user</source>\n        <target>Benutzer aktualisieren</target>\n      </trans-unit>\n      <trans-unit id="ac10a3d9b59575640797c1a8e6aea642cf5d5e77" datatype="html">\n        <source>Continue</source>\n        <target>Fortfahren</target>\n      </trans-unit>\n      <trans-unit id="cf4bcf4ce3d551e6099ccdc3546ae418fe5f8038" datatype="html">\n        <source>You were automatically logged out because your roles have been changed.</source>\n        <target>Sie wurden automatisch abgemeldet, da Ihre Rollen geändert wurden.</target>\n      </trans-unit>\n      <trans-unit id="0f6003fb0c1cc73b89d225801cc1b870945cd259" datatype="html">\n        <source>Updated user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Updated user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="fe516c6d820018fdc971113935e22ec1e852965f" datatype="html">\n        <source>Deleted user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Deleted user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="01a7e11502ff80421ef3615e533ea14ef57e1d5c" datatype="html">\n        <source>Failed to delete user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Failed to delete user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="63316a3861dbcb035147efc1b9fb6bc708242e94" datatype="html">\n        <source>You are currently logged in as "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>".\n        </source>\n        <target>You are currently logged in as "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="d8b81951d25439864e92f750f7c99d7426d6517c" datatype="html">\n        <source>password</source>\n        <target>Passwort</target>\n      </trans-unit>\n      <trans-unit id="d361a9b5e1f7985a12c0433388f31626525a02b8" datatype="html">\n        <source>Updated user password"</source>\n        <target>Benutzerpasswort aktualisiert</target>\n      </trans-unit>\n      <trans-unit id="1d7fbcc3d5efc946ffbcf86fed04c4e20dda20fb" datatype="html">\n        <source>Each object is split in data-chunks parts, each stored on a different OSD.</source>\n        <target>Jedes Objekt wird in Datenblöcke aufgeteilt und jeweils auf einem anderen OSD gespeichert.</target>\n      </trans-unit>\n      <trans-unit id="b1f8ed4e216585f1f9134740002ef3c8501debd8" datatype="html">\n        <source>Compute coding chunks for each object and store them on different OSDs.\n      The number of coding chunks is also the number of OSDs that can be down without losing data.</source>\n        <target>Berechnen Sie Codierungsdatenblöcke für jedes Objekt und speichern Sie sie auf unterschiedlichen OSDs.\n      Die Anzahl der Codierungsdatenblöcke entspricht auch der Anzahl der OSDs, die ausfallen können, ohne dass Daten verloren gehen.</target>\n      </trans-unit>\n      <trans-unit id="c437ee74a9a8e781e1380153f742a685e3b8cc5e" datatype="html">\n        <source>The jerasure plugin is the most generic and flexible plugin,\n          it is also the default for Ceph erasure coded pools.</source>\n        <target>Das jerasure-Modul ist das allgemeinste und flexibelste Modul\n          und fungiert auch als der Standard für Ceph-Pools mit Löschcodierung.</target>\n      </trans-unit>\n      <trans-unit id="8c7e19322851402afa67e41f4f1d4e531caf1bf5" datatype="html">\n        <source>The more flexible technique is reed_sol_van : it is enough to set k\n          and m. The cauchy_good technique can be faster but you need to chose the packetsize\n          carefully. All of reed_sol_r6_op, liberation, blaum_roth, liber8tion are RAID6 equivalents\n          in the sense that they can only be configured with m=2.</source>\n        <target>Die flexiblere Technik ist \'reed_sol_van :\', wobei es ausreicht, k\n          und m festzulegen. Die Technik \'cauchy_good\' kann schneller sein. Sie müssen jedoch die Paketgröße sorgfältig\n          auswählen. Sämtliche \'reed_sol_r6_op\'-, \'liberation\'-, \'blaum_roth\'- und \'liber8tion\'-Vorgänge sind dahingehend RAID6-Entsprechungen,\n          dass sie nur mit \'m=2\' konfiguriert werden können.</target>\n      </trans-unit>\n      <trans-unit id="b1b11f49281b4e79219b4eecfbcb033cb15bd880" datatype="html">\n        <source>The encoding will be done on packets of bytes size at a time.\n          Chosing the right packet size is difficult.\n          The jerasure documentation contains extensive information on this topic.</source>\n        <target>Die Codierung wird jeweils für Pakete auf Bytes-Größe vorgenommen.\n          Die Auswahl der richtigen Paketgröße ist schwierig.\n          In der Jerasure-Dokumentation sind ausführliche Informationen zu diesem Thema enthalten.</target>\n      </trans-unit>\n      <trans-unit id="d9cb3bc07a25b26fbea457e0a7b543340bc13c49" datatype="html">\n        <source>With the jerasure plugin, when an erasure coded object is stored on\n          multiple OSDs, recovering from the loss of one OSD requires reading from all the others.\n          For instance if jerasure is configured with k=8 and m=4, losing one OSD requires reading\n          from the eleven others to repair.\n\n          The lrc erasure code plugin creates local parity chunks to be able to recover using\n          less OSDs. For instance if lrc is configured with k=8, m=4 and l=4, it will create\n          an additional parity chunk for every four OSDs. When a single OSD is lost, it can be\n          recovered with only four OSDs instead of eleven.</source>\n        <target>Bei Verwendung des Jerasure-Moduls, wenn ein Objekt mit Löschcodierung auf mehreren OSDs gespeichert ist,\n          müssen alle anderen OSDs gelesen werden, um die verloren gegangenen Daten eines OSDs wiederherzustellen.\n          Wenn jerasure beispielsweise mit \'k=8\' und \'m=4\' konfiguriert ist,\n          müssen bei Verlust eines OSDs zum Reparieren die elf anderen gelesen werden.\n\n          Das lrc-Löschcode-Modul erstellt lokale Paritätsdatenblöcke, um die Wiederherstellung mit weniger OSDs auszuführen.\n          Wenn lrc beispielsweise mit \'k=8\', \'m=4\' und \'l=4\' konfiguriert ist, wird ein zusätzlicher Paritätsdatenblock für jeweils vier OSDs erstellt.\n          Geht ein einzelnes OSD verloren, kann es mit nur vier OSDs anstelle\n          von elf wiederhergestellt werden.</target>\n      </trans-unit>\n      <trans-unit id="813959d46e63a29bbd266b3af2ff9414c2ef553c" datatype="html">\n        <source>Group the coding and data chunks into sets of size locality. For instance,\n          for k=4 and m=2, when locality=3 two groups of three are created. Each set can\n          be recovered without reading chunks from another set.</source>\n        <target>Gruppieren Sie die Codierungs- und Datenblöcke in Sätze entsprechend dem Speicherort.\n          Beispielsweise werden für \'k=4\' und \'m=2\', wenn der Speicherort \'3\' entspricht, zwei Dreiergruppen erstellt.\n          Jeder Satz kann wiederhergestellt werden, ohne dass Datenblöcke aus einem anderen Satz gelesen werden.</target>\n      </trans-unit>\n      <trans-unit id="f0ff63d92e0a1b4d4b51e31b9133802d160a5f4c" datatype="html">\n        <source>The type of the crush bucket in which each set of chunks defined\n          by l will be stored. For instance, if it is set to rack, each group of l chunks will be\n          placed in a different rack. It is used to create a CRUSH rule step such as step choose\n          rack. If it is not set, no such grouping is done.</source>\n        <target>Der Typ des Crush-Buckets, in dem jeder durch l definierte Satz von Datenblöcken gespeichert wird.\n          Wenn er beispielsweise auf \'rack\' festgelegt ist, wird jede Gruppe an l-Datenblöcken in einem anderen Rack platziert.\n          Er wird zum Erstellen eines CRUSH-Regelschritts verwendet, beispielsweise für einen Schritt zum Auswählen des Racks.\n          Wenn er nicht festgelegt ist, wird keine solche Gruppierung vorgenommen.</target>\n      </trans-unit>\n      <trans-unit id="3ece48df9d1e9a98f98bf3c5cc66e8b637020a4d" datatype="html">\n        <source>The isa plugin encapsulates the ISA library. It only runs on Intel processors.</source>\n        <target>Das isa-Modul kapselt die ISA-Bibliothek und wird nur auf Intel-Prozessoren ausgeführt.</target>\n      </trans-unit>\n      <trans-unit id="4472c9e31bfc7d96a83dc4afce0a6e885c99e839" datatype="html">\n        <source>The ISA plugin comes in two Reed Solomon forms.\n          If reed_sol_van is set, it is Vandermonde, if cauchy is set, it is Cauchy.</source>\n        <target>Das ISA-Modul wird in zwei Reed Solomon-Formularen bereitgestellt.\n          Wenn \'reed_sol_van\' festgelegt ist, entspricht dies Vandermonde. Ist \'cauchy\' festgelegt, entspricht dies \'Cauchy\'.</target>\n      </trans-unit>\n      <trans-unit id="fa385f5ecf63083ec848dca8dc5e52bdc72ac6f6" datatype="html">\n        <source>The shec plugin encapsulates the multiple SHEC library.\n          It allows ceph to recover data more efficiently than Reed Solomon codes.</source>\n        <target>Das shec-Modul kapselt die SHEC-Mehrfachbibliothek.\n          Dadurch kann ceph Daten effizienter wiederherstellen als Reed Solomon-Codes.</target>\n      </trans-unit>\n      <trans-unit id="687b3cd94b3475c24ff4481d64d4739f902a377c" datatype="html">\n        <source>The number of parity chunks each of which includes each data chunk in its\n          calculation range. The number is used as a durability estimator. For instance, if c=2,\n          2 OSDs can be down without losing data.</source>\n        <target>Die Anzahl der Paritätsdatenblöcke, von denen jeder jeden Datenblock in seinem Berechnungsbereich enthält.\n          Die Anzahl wird als eine Dauerhaftigkeitsschätzung verwendet. Wenn beispielsweise \'c=2\' vorliegt,\n          können 2 OSDs ausfallen, ohne dass Daten verloren gehen.</target>\n      </trans-unit>\n      <trans-unit id="f3c4af6df91bdaabdb715f8f0b61a24faf73a3bc" datatype="html">\n        <source>The name of the crush bucket used for the first step of the CRUSH rule.\n      For instance step take default.</source>\n        <target>Der Name des für den ersten Schritt der CRUSH-Regel verwendeten Crush-Buckets.\n      Beispielsweise \'step take default\'.</target>\n      </trans-unit>\n      <trans-unit id="e1059955a5ce65cdabf0c0a8207377e1f9bae57e" datatype="html">\n        <source>Ensure that no two chunks are in a bucket with the same failure\n      domain. For instance, if the failure domain is host no two chunks will be stored on the same\n      host. It is used to create a CRUSH rule step such as step chooseleaf host.</source>\n        <target>Stellen Sie sicher, dass sich keine zwei Datenblöcke in einem Bucket mit derselben Ausfalldomäne befinden.\n      Wenn die Ausfalldomäne beispielsweise als Host fungiert, werden keine zwei Datenblöcke auf demselben Host gespeichert.\n      Er wird zum Erstellen eines CRUSH-Regelschritts verwendet, beispielsweise \'step chooseleaf host\'.</target>\n      </trans-unit>\n      <trans-unit id="ac392ac9c6da5fde6da80fc57b9c09402fb6e73d" datatype="html">\n        <source>Restrict placement to devices of a specific class\n      (e.g., ssd or hdd), using the crush device class names in the CRUSH map.</source>\n        <target>Schränken Sie mithilfe der Klassennamen für Crush-Geräte in der CRUSH-Zuordnung die Platzierung\n      auf Geräte einer bestimmten Klasse (z. B. SSD oder HDD) ein.</target>\n      </trans-unit>\n      <trans-unit id="62bcb9ae5583a088649b1adf5787a86ca3334f89" datatype="html">\n        <source>Set the directory name from which the erasure code plugin is loaded.</source>\n        <target>Legen Sie den Verzeichnisnamen fest, über den das Löschcode-Modul geladen wird.</target>\n      </trans-unit>\n      <trans-unit id="c8f10184a8433d132ede0a2c0c1aa96f291cacfa" datatype="html">\n        <source>Allows all operations</source>\n        <target>Lässt alle Vorgänge zu</target>\n      </trans-unit>\n      <trans-unit id="82077ee97c11ee76efc3adf253b7b26654544317" datatype="html">\n        <source>Allows only operations that do not modify the server</source>\n        <target>Lässt nur Vorgänge zu, die den Server nicht ändern</target>\n      </trans-unit>\n      <trans-unit id="22b5212ec10449dbf0a0af0ad34122eac51b5f2a" datatype="html">\n        <source>Does not allow read or write operations, but allows any other operation</source>\n        <target>Lässt weder Lese- noch Schreibvorgänge zu, jedoch alle anderen Vorgänge</target>\n      </trans-unit>\n      <trans-unit id="9799d0f8c4b7727ae239fedfe3c0ce127feb7a50" datatype="html">\n        <source>Does not allow read, write, or any operation that modifies file        attributes or directory content</source>\n        <target>Lässt Lese-/Schreibvorgänge und andere Vorgänge nicht zu, die Dateiattribute oder Verzeichnisinhalte ändern</target>\n      </trans-unit>\n      <trans-unit id="aeddefe0af87025d8f00699aa94bed8216a99a58" datatype="html">\n        <source>Allows no access at all</source>\n        <target>Lässt überhaupt keinen Zugriff zu</target>\n      </trans-unit>\n      <trans-unit id="a436c6a4025a749198e93cac239de8deede72211" datatype="html">\n        <source>-- Select the priority --</source>\n        <target>-- Priorität auswählen --</target>\n      </trans-unit>\n      <trans-unit id="9556266f0a2b1762a44b686f2bb21dbfefb01c12" datatype="html">\n        <source>Low</source>\n        <target>Niedrig</target>\n      </trans-unit>\n      <trans-unit id="72279141a67cc042d9864102b703216cc8a428a3" datatype="html">\n        <source>High</source>\n        <target>Hoch</target>\n      </trans-unit>\n      <trans-unit id="6080b77234e92ad41bb52653b239c4c4f851317d" datatype="html">\n        <source>Error</source>\n        <target>Error</target>\n      </trans-unit>\n      <trans-unit id="c43dc1967a603fefb886149ac35863a06d5b4ce5" datatype="html">\n        <source>Information</source>\n        <target>Informationen</target>\n      </trans-unit>\n      <trans-unit id="1e035e6ccfab771cad4226b2ad230cb0d4a88cba" datatype="html">\n        <source>Success</source>\n        <target>Success</target>\n      </trans-unit>\n      <trans-unit id="e6ca3c0efaf51e6d45a7f92f58bac37140c3fda4" datatype="html">\n        <source>Last 5 minutes</source>\n        <target>Letzte 5 Minuten</target>\n      </trans-unit>\n      <trans-unit id="b0ecb2bbc548cc9bd95050fd8f0c84586d083fe2" datatype="html">\n        <source>Last 15 minutes</source>\n        <target>Letzte 15 Minuten</target>\n      </trans-unit>\n      <trans-unit id="857ae67deb51353120b203b0f2a06b0c48ef49fa" datatype="html">\n        <source>Last 30 minutes</source>\n        <target>Letzte 30 Minuten</target>\n      </trans-unit>\n      <trans-unit id="7b1738fad314e936dc14b94db8f43da736942308" datatype="html">\n        <source>Last 1 hour (Default)</source>\n        <target>Letzte Stunde (Standard)</target>\n      </trans-unit>\n      <trans-unit id="a428288224389726cef9d9bd8d1d7808cccd7ffd" datatype="html">\n        <source>Last 3 hours</source>\n        <target>Letzte 3 Stunden</target>\n      </trans-unit>\n      <trans-unit id="7cbabecc8d80cf183ac199cfaeb7619d56e5d43f" datatype="html">\n        <source>Last 6 hours</source>\n        <target>Letzte 6 Stunden</target>\n      </trans-unit>\n      <trans-unit id="1a389cdf64187d34cf99eec30a290e3fa7d4744f" datatype="html">\n        <source>Last 12 hours</source>\n        <target>Letzte 12 Stunden</target>\n      </trans-unit>\n      <trans-unit id="9e0ba5f591380a94d594a76288f0c41aa97eb9c2" datatype="html">\n        <source>Last 24 hours</source>\n        <target>Letzte 24 Stunden</target>\n      </trans-unit>\n      <trans-unit id="e430eda9c785cd43465b7cbb400ee914f1057247" datatype="html">\n        <source>Yesterday</source>\n        <target>Gestern</target>\n      </trans-unit>\n      <trans-unit id="7fb1099e29660162f9154d5b2feee7743a423df6" datatype="html">\n        <source>Today</source>\n        <target>Heute</target>\n      </trans-unit>\n      <trans-unit id="33904058a97a64bd189bed84038b1ffe719769c7" datatype="html">\n        <source>Today so far</source>\n        <target>Heute bisher</target>\n      </trans-unit>\n      <trans-unit id="3b0b849be007510021d3d383df75bec95ef9c97b" datatype="html">\n        <source>Day before yesterday</source>\n        <target>Vorgestern</target>\n      </trans-unit>\n      <trans-unit id="6b430c2c394c4d32ebd7d46c8c46ab60e1b29ccb" datatype="html">\n        <source>Last 2 days</source>\n        <target>Letzte 2 Tage</target>\n      </trans-unit>\n      <trans-unit id="d5e812a87a5d57a94200a2013027cab76a7c4863" datatype="html">\n        <source>This day last week</source>\n        <target>Dieser Tag letzte Woche</target>\n      </trans-unit>\n      <trans-unit id="d00edc936eeab6b5577401f115ca86ca2c87dc9a" datatype="html">\n        <source>Previous week</source>\n        <target>Vorwoche</target>\n      </trans-unit>\n      <trans-unit id="b036e40577baa6b918b2267d319d4b3aeaa88a5a" datatype="html">\n        <source>This week</source>\n        <target>Diese Woche</target>\n      </trans-unit>\n      <trans-unit id="99ad5a6096b3fcb3f021f3779bae710cdfeb8934" datatype="html">\n        <source>This week so far</source>\n        <target>Diese Woche bisher</target>\n      </trans-unit>\n      <trans-unit id="02e0243b60007368f87dc01e083f232dd025096d" datatype="html">\n        <source>Last 7 days</source>\n        <target>Letzte 7 Tage</target>\n      </trans-unit>\n      <trans-unit id="c3b08b07b5ab98e7cdcf18df39355690ab7d3884" datatype="html">\n        <source>Previous month</source>\n        <target>Vormonat</target>\n      </trans-unit>\n      <trans-unit id="1b2562c6d5aa90644e7dc91feee82e2005fceb33" datatype="html">\n        <source>This month</source>\n        <target>Dieser Monat</target>\n      </trans-unit>\n      <trans-unit id="26b4b18c5917934abb169ba9aa490e57f7bf10b8" datatype="html">\n        <source>This month so far</source>\n        <target>Dieser Monat bisher</target>\n      </trans-unit>\n      <trans-unit id="7668986b9f753fcd72ad4a00b1a0c4861d1f7fb8" datatype="html">\n        <source>Last 30 days</source>\n        <target>Letzte 30 Tage</target>\n      </trans-unit>\n      <trans-unit id="ba1e822408d90c6fbd2989100fa648bfd5e8ee84" datatype="html">\n        <source>Last 90 days</source>\n        <target>Letzte 90 Tage</target>\n      </trans-unit>\n      <trans-unit id="c3df03f899a914c4181adcdc8a3f077424f7b6e8" datatype="html">\n        <source>Last 6 months</source>\n        <target>Letzte 6 Monate</target>\n      </trans-unit>\n      <trans-unit id="7f9a92757580c9f31c309c0a3812ea429274eadf" datatype="html">\n        <source>Last 1 year</source>\n        <target>Letztes Jahr</target>\n      </trans-unit>\n      <trans-unit id="5a9fede30ff65cb4b4426f6b1ed31afb67ecd7b0" datatype="html">\n        <source>Previous year</source>\n        <target>Vorjahr</target>\n      </trans-unit>\n      <trans-unit id="65cefcc53d1f6445df7568e8a40c49165f1090ee" datatype="html">\n        <source>This year</source>\n        <target>Dieses Jahr</target>\n      </trans-unit>\n      <trans-unit id="1f68b766944dc3865bddab765fe952b0c1c43f92" datatype="html">\n        <source>This year so far</source>\n        <target>Dieses Jahr bisher</target>\n      </trans-unit>\n      <trans-unit id="4d4b77e614f8043fdadef5d6d235655bb48eb311" datatype="html">\n        <source>Last 2 years</source>\n        <target>Letzte 2 Jahre</target>\n      </trans-unit>\n      <trans-unit id="138afa339ea6e75d25a474affe1edbcb90e00ec0" datatype="html">\n        <source>Last 5 years</source>\n        <target>Letzte 5 Jahre</target>\n      </trans-unit>\n      <trans-unit id="37391297bb077a6f84484930261b01a3ce38327b" datatype="html">\n        <source>No items selected.</source>\n        <target>Keine Elemente ausgewählt.</target>\n      </trans-unit>\n      <trans-unit id="2c1e52ee832661b4a0f570877d24661736b16af1" datatype="html">\n        <source>Deselect item to select again</source>\n        <target>Elementauswahl zum erneuten Auswählen aufheben</target>\n      </trans-unit>\n      <trans-unit id="c8c9c6e5918659336824bbdda3501c66eaa79a4c" datatype="html">\n        <source>Selection limit reached</source>\n        <target>Auswahllimit erreicht</target>\n      </trans-unit>\n      <trans-unit id="02d184c288f567825a1fcbf83bcd3099a10853d5" datatype="html">\n        <source>Filter tags</source>\n        <target>Tags filtern</target>\n      </trans-unit>\n      <trans-unit id="aa00748e49c269956837d6f3acdd8d218796a8d8" datatype="html">\n        <source>Add badge</source>\n        <target>Badge hinzufügen</target>\n      </trans-unit>\n      <trans-unit id="4078a92d8121abdce7d8f346a88914923ec835fc" datatype="html">\n        <source>There are no items available.</source>\n        <target>Keine Elemente verfügbar.</target>\n      </trans-unit>\n      <trans-unit id="f6755cff4957d5c3c89bafce5651f1b6fa2b1fd9" datatype="html">\n        <source>Add</source>\n        <target>Hinzufügen</target>\n      </trans-unit>\n      <trans-unit id="019d4bd6a5690f0cfa0ecf346a4e6bf7f0d8debb" datatype="html">\n        <source>Remove</source>\n        <target>Entfernen</target>\n      </trans-unit>\n      <trans-unit id="54a4a3132b693575728a45a5f3154ad4c9af404b" datatype="html">\n        <source>Clone</source>\n        <target>Klonen</target>\n      </trans-unit>\n      <trans-unit id="1979da7460819153e11d2078244645d94291b69c" datatype="html">\n        <source>Copy</source>\n        <target>Kopieren</target>\n      </trans-unit>\n      <trans-unit id="2e5e77dbaadd6588d8bbf737139fd9806294ae28" datatype="html">\n        <source>Deep Scrub</source>\n        <target>Umfassender Scrub</target>\n      </trans-unit>\n      <trans-unit id="bf463b189696c19769ea263227e6c22aefafb918" datatype="html">\n        <source>Destroy</source>\n        <target>Vernichten</target>\n      </trans-unit>\n      <trans-unit id="b4e94d529ff10db4d86f3f48900fa67ede3411fd" datatype="html">\n        <source>Evict</source>\n        <target>Evict</target>\n      </trans-unit>\n      <trans-unit id="3747fff7faf52b436ecff5fb8555091736d92c70" datatype="html">\n        <source>Flatten</source>\n        <target>Vereinfachen</target>\n      </trans-unit>\n      <trans-unit id="66fdbf32e5449cc54a3d1e19c7b8f4ea238facfb" datatype="html">\n        <source>Mark Down</source>\n        <target>Als ausgefallen markieren</target>\n      </trans-unit>\n      <trans-unit id="0cda3e824fb2f9c731e5a60b859dedc1fe03127e" datatype="html">\n        <source>Mark In</source>\n        <target>Mit Befehl \'In\' markieren</target>\n      </trans-unit>\n      <trans-unit id="f833354f43cb38c5716faa8759a9bbdd1ab8f199" datatype="html">\n        <source>Mark Lost</source>\n        <target>Als verloren markieren</target>\n      </trans-unit>\n      <trans-unit id="75fb9f970ba365398c45e57bbb1019c009f6b832" datatype="html">\n        <source>Mark Out</source>\n        <target>Mit Befehl \'Out\' markieren</target>\n      </trans-unit>\n      <trans-unit id="45480c03b0a3a37ff8f6a5600a6a034b40fbaea4" datatype="html">\n        <source>Protect</source>\n        <target>Schützen</target>\n      </trans-unit>\n      <trans-unit id="e26f9cf3666aace4e524b1505c9795d76d87738d" datatype="html">\n        <source>Rename</source>\n        <target>Umbenennen</target>\n      </trans-unit>\n      <trans-unit id="d5cec7468241d72cafd86ad1af6d55b09a6e3ae5" datatype="html">\n        <source>Restore</source>\n        <target>Wiederherstellen</target>\n      </trans-unit>\n      <trans-unit id="ba073985cfd2528c77a746ed596b2f2052b973c5" datatype="html">\n        <source>Move to Trash</source>\n        <target>In Papierkorb verschieben</target>\n      </trans-unit>\n      <trans-unit id="3ea9b96a21a499d296a7f25407da0f3df6c2d5ed" datatype="html">\n        <source>Unprotect</source>\n        <target>Schutz aufheben</target>\n      </trans-unit>\n      <trans-unit id="024cdb2814b0cb3f4ced148f1a0b9854447cb214" datatype="html">\n        <source>Change</source>\n        <target>Ändern</target>\n      </trans-unit>\n      <trans-unit id="011f3e2bfc1fd8407eb5f599352665bfeb145664" datatype="html">\n        <source>Recreate</source>\n        <target>Recreate</target>\n      </trans-unit>\n      <trans-unit id="6df2dfa48bef5510c82fb43f4e71a7f9557f3d71" datatype="html">\n        <source>Expire</source>\n        <target>Expire</target>\n      </trans-unit>\n      <trans-unit id="28df1b02fd88d2deb0212bc5d7ff34cf9492fa54" datatype="html">\n        <source>Deleted</source>\n        <target>Gelöscht</target>\n      </trans-unit>\n      <trans-unit id="80e3b490720757978c99a7b5af3885faf202b955" datatype="html">\n        <source>Added</source>\n        <target>Hinzugefügt</target>\n      </trans-unit>\n      <trans-unit id="1aa4883bc4f1352f7a0bdd94810a9bf6dc22bd02" datatype="html">\n        <source>Removed</source>\n        <target>Entfernt</target>\n      </trans-unit>\n      <trans-unit id="402f3ee47f98fbbc68530239b1ddcbb9e96a460c" datatype="html">\n        <source>Edited</source>\n        <target>Bearbeitet</target>\n      </trans-unit>\n      <trans-unit id="96d56ec71c6e78cb4d6204c4a9359a3d38fcdb59" datatype="html">\n        <source>Canceled</source>\n        <target>Abgebrochen</target>\n      </trans-unit>\n      <trans-unit id="a3318a2ee2bd0064b6b9ff72a4018b679ec63125" datatype="html">\n        <source>Cloned</source>\n        <target>Geklont</target>\n      </trans-unit>\n      <trans-unit id="ef90545bc832876c0d7f9a10363c75137472bbb5" datatype="html">\n        <source>Copied</source>\n        <target>Kopiert</target>\n      </trans-unit>\n      <trans-unit id="5a13d3834133e09544ec93885662f181372dcf46" datatype="html">\n        <source>Deep Scrubbed</source>\n        <target>Deep Scrubbed</target>\n      </trans-unit>\n      <trans-unit id="7c9efb91434a5c15e9579c0b31c8e184b8c8240d" datatype="html">\n        <source>Destroyed</source>\n        <target>Destroyed</target>\n      </trans-unit>\n      <trans-unit id="647059bf3ea098fffedf92ddfad792bb3daa3c95" datatype="html">\n        <source>Flattened</source>\n        <target>Vereinfacht</target>\n      </trans-unit>\n      <trans-unit id="8df71e952319eafa71c8e6ef6144b780af8813ff" datatype="html">\n        <source>Marked Down</source>\n        <target>Marked Down</target>\n      </trans-unit>\n      <trans-unit id="25658f5a080a1cab3b91e17b756b1d1dc46bb9b3" datatype="html">\n        <source>Marked In</source>\n        <target>Marked In</target>\n      </trans-unit>\n      <trans-unit id="ebcf306036a6c5579df9448f77eca98d491db245" datatype="html">\n        <source>Marked Lost</source>\n        <target>Marked Lost</target>\n      </trans-unit>\n      <trans-unit id="3a8803369ac18be3ad762384b9fda095fe2a6dcc" datatype="html">\n        <source>Marked Out</source>\n        <target>Marked Out</target>\n      </trans-unit>\n      <trans-unit id="0fe2a62ea7c609fa8326ee6d38060bc5ba8bf34f" datatype="html">\n        <source>Protected</source>\n        <target>Geschützt</target>\n      </trans-unit>\n      <trans-unit id="69b0446c6c2411c4fe01e411b8ceec72d4044fb4" datatype="html">\n        <source>Purged</source>\n        <target>Bereinigt</target>\n      </trans-unit>\n      <trans-unit id="d53de1a61bd51c815dc374c7f97e4ee69230e412" datatype="html">\n        <source>Renamed</source>\n        <target>Umbenannt</target>\n      </trans-unit>\n      <trans-unit id="86fc6cae82c095f14105eb8a61d7b3fa948304b7" datatype="html">\n        <source>Restored</source>\n        <target>Wiederhergestellt</target>\n      </trans-unit>\n      <trans-unit id="e87dd0fd35460cb743046db918dfce2137b5977a" datatype="html">\n        <source>Reweighted</source>\n        <target>Reweighted</target>\n      </trans-unit>\n      <trans-unit id="dc21fd6547f2325c67f6deff925f29eb07a2db3e" datatype="html">\n        <source>Rolled back</source>\n        <target>Rollback wurde ausgeführt</target>\n      </trans-unit>\n      <trans-unit id="15dec4c2d73a516c10aef90aeeea3364fa794615" datatype="html">\n        <source>Scrubbed</source>\n        <target>Scrubbed</target>\n      </trans-unit>\n      <trans-unit id="8dc560ded67482f109a98e0638851ad1d37188b3" datatype="html">\n        <source>Showed</source>\n        <target>Showed</target>\n      </trans-unit>\n      <trans-unit id="197259b7ea76f15c6d0a64b075a673fd4112ada7" datatype="html">\n        <source>Moved to Trash</source>\n        <target>In den Papierkorb verschoben</target>\n      </trans-unit>\n      <trans-unit id="8fb15cb102cd75b562680290b7e04c44d80018f2" datatype="html">\n        <source>Unprotected</source>\n        <target>Schutz aufgehoben</target>\n      </trans-unit>\n      <trans-unit id="8588eafa498262a1cbb5043ad68cf0ff669c4f10" datatype="html">\n        <source>Recreated</source>\n        <target>Recreated</target>\n      </trans-unit>\n      <trans-unit id="ffde7468d7b5cad6990095ed68ddee3d67cd02f8" datatype="html">\n        <source>Expired</source>\n        <target>Abgelaufen</target>\n      </trans-unit>\n      <trans-unit id="4f20f2d5a6882190892e58b85f6ccbedfa737952" datatype="html">\n        <source>Yes</source>\n        <target>Ja</target>\n      </trans-unit>\n      <trans-unit id="3d3ae7deebc5949b0c1c78b9847886a94321d9fd" datatype="html">\n        <source>No</source>\n        <target>Nein</target>\n      </trans-unit>\n      <trans-unit id="99fa0b67376d40142bd4d3ace3344abf4f98b6a5" datatype="html">\n        <source>Your matcher seems to match no currently defined rule or active alert.</source>\n        <target>Your matcher seems to match no currently defined rule or active alert.</target>\n      </trans-unit>\n      <trans-unit id="7e284852732c303eb1f47de9aca2569e41aeffed" datatype="html">\n        <source>no active alerts</source>\n        <target>no active alerts</target>\n      </trans-unit>\n      <trans-unit id="b8042829e4fbe7b09fd9bac9fa0ecf5cc1802fee" datatype="html">\n        <source>1 active alert</source>\n        <target>1 active alert</target>\n      </trans-unit>\n      <trans-unit id="e24adce97669cb0fc74cc13fdc14179b6f78ea5e" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{n}}"/> active alerts\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{n}}"/> active alerts\n        </target>\n      </trans-unit>\n      <trans-unit id="d8fb058ff5883731d38a132da4ca45cfe8d719a3" datatype="html">\n        <source>Matches 1 rule</source>\n        <target>Matches 1 rule</target>\n      </trans-unit>\n      <trans-unit id="90aaef24d192e67c3fbc2ec6f8bfaff211cea128" datatype="html">\n        <source>Matches \n          <x id="INTERPOLATION" equiv-text="{{n}}"/> rules\n        </source>\n        <target>Matches \n          <x id="INTERPOLATION" equiv-text="{{n}}"/> rules\n        </target>\n      </trans-unit>\n      <trans-unit id="f4685dc581e18244cd410f1057a8c56a9dbfe8df" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rules}}"/> with \n          <x id="INTERPOLATION_1" equiv-text="{{alerts}}"/>.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rules}}"/> with \n          <x id="INTERPOLATION_1" equiv-text="{{alerts}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8fd98fb2a0f24ba72cde0787dd3f02cfc17de469" datatype="html">\n        <source>Quality of Service</source>\n        <target>Quality of Service</target>\n      </trans-unit>\n      <trans-unit id="2c53f3ce2c6fff9025a7b41cc334521725da6e7b" datatype="html">\n        <source>BPS Limit</source>\n        <target>BPS-Limit</target>\n      </trans-unit>\n      <trans-unit id="e897624a392419386b035bcd8529337e262fc41d" datatype="html">\n        <source>The desired limit of IO bytes per second.</source>\n        <target>Das gewünschte Limit der E/A-Bytes pro Sekunde.</target>\n      </trans-unit>\n      <trans-unit id="dc56f77e4507da7e86a3accd0a2a7099a838d539" datatype="html">\n        <source>IOPS Limit</source>\n        <target>IOPS-Limit</target>\n      </trans-unit>\n      <trans-unit id="141c3f6eadbb35b0e17b2f847e4cac23240a6ea9" datatype="html">\n        <source>The desired limit of IO operations per second.</source>\n        <target>Das gewünschte Limit der E/A-Vorgänge pro Sekunde.</target>\n      </trans-unit>\n      <trans-unit id="3b3b101f16c38806e984b157e0cf22cd21451122" datatype="html">\n        <source>Read BPS Limit</source>\n        <target>BPS-Limit für Lesevorgänge</target>\n      </trans-unit>\n      <trans-unit id="87835fabb6a645873f3829a450ca1d58f97754f2" datatype="html">\n        <source>The desired limit of read bytes per second.</source>\n        <target>Das gewünschte Limit der gelesenen Bytes pro Sekunde.</target>\n      </trans-unit>\n      <trans-unit id="28b485e700df46d70b96666099f714e3ae9e5c2e" datatype="html">\n        <source>Read IOPS Limit</source>\n        <target>IOPS-Limit für Lesevorgänge</target>\n      </trans-unit>\n      <trans-unit id="5907bd1a5cf3e20e740bca676cb1538372e1f9ff" datatype="html">\n        <source>The desired limit of read operations per second.</source>\n        <target>Das gewünschte Limit für Lesevorgänge pro Sekunde.</target>\n      </trans-unit>\n      <trans-unit id="07317121f0b194987d4dee8b322f521ac17bf124" datatype="html">\n        <source>Write BPS Limit</source>\n        <target>BPS-Limit für Schreibvorgänge</target>\n      </trans-unit>\n      <trans-unit id="4022c78bd9132ca2ec67927f8484c437d1d9b6fd" datatype="html">\n        <source>The desired limit of write bytes per second.</source>\n        <target>Das gewünschte Limit der geschriebenen Bytes pro Sekunde.</target>\n      </trans-unit>\n      <trans-unit id="52c22c19f98ff3a09bd811292954a889b93d28b7" datatype="html">\n        <source>Write IOPS Limit</source>\n        <target>IOPS-Limit für Schreibvorgänge</target>\n      </trans-unit>\n      <trans-unit id="0ed62e3fd8654b3191fc7fa959ad3f10f1ea773a" datatype="html">\n        <source>The desired limit of write operations per second.</source>\n        <target>Das gewünschte Limit für Schreibvorgänge pro Sekunde.</target>\n      </trans-unit>\n      <trans-unit id="d90c99d77864f21f932ee1369019f400c4ad0e2d" datatype="html">\n        <source>BPS Burst</source>\n        <target>BPS-Block</target>\n      </trans-unit>\n      <trans-unit id="29c32192f4d185139aaaf6d3a766a3411dfeabbe" datatype="html">\n        <source>The desired burst limit of IO bytes.</source>\n        <target>Das gewünschte Blocklimit der E/A-Bytes.</target>\n      </trans-unit>\n      <trans-unit id="b988b90489e899941e196c3dd0ecc22e37540224" datatype="html">\n        <source>IOPS Burst</source>\n        <target>IOPS-Block</target>\n      </trans-unit>\n      <trans-unit id="02c5de8ff11870f1b3896f2b45637ce0dba1ed4b" datatype="html">\n        <source>The desired burst limit of IO operations.</source>\n        <target>Das gewünschte Blocklimit der E/A-Vorgänge.</target>\n      </trans-unit>\n      <trans-unit id="7a160538129b37cf595f1651f28b5fac62fbc0f8" datatype="html">\n        <source>Read BPS Burst</source>\n        <target>BPS-Block für Lesevorgänge</target>\n      </trans-unit>\n      <trans-unit id="b573a5df16a53b9947288461bc24e6a0eb4341d6" datatype="html">\n        <source>The desired burst limit of read bytes.</source>\n        <target>Das gewünschte Blocklimit der gelesenen Bytes.</target>\n      </trans-unit>\n      <trans-unit id="1d5b8c2a0c653651cc4ca4b8fed9456f449220d1" datatype="html">\n        <source>Read IOPS Burst</source>\n        <target>IOPS-Block für Lesevorgänge</target>\n      </trans-unit>\n      <trans-unit id="20b199f9d4a8d08ffefec66040e27639ec221512" datatype="html">\n        <source>The desired burst limit of read operations.</source>\n        <target>Das gewünschte Blocklimit der Lesevorgänge.</target>\n      </trans-unit>\n      <trans-unit id="824525ae57992aee629ddffcd500a8b77087ddec" datatype="html">\n        <source>Write BPS Burst</source>\n        <target>BPS-Block für Schreibvorgänge</target>\n      </trans-unit>\n      <trans-unit id="a90aac4050a5d79765da5e1186909f6d4d7f981d" datatype="html">\n        <source>The desired burst limit of write bytes.</source>\n        <target>Das gewünschte Blocklimit der geschriebenen Bytes.</target>\n      </trans-unit>\n      <trans-unit id="35a8c6e6c249c7d16e26aa7c4ef97c06db405070" datatype="html">\n        <source>Write IOPS Burst</source>\n        <target>IOPS-Block für Schreibvorgänge</target>\n      </trans-unit>\n      <trans-unit id="b356abd41d7e9eea4d20c03d2e6892b6d435ecbd" datatype="html">\n        <source>The desired burst limit of write operations.</source>\n        <target>Das gewünschte Blocklimit der Schreibvorgänge.</target>\n      </trans-unit>\n      <trans-unit id="24c4d50fe8567de381a20a1745f1b6d37eacaa90" datatype="html">\n        <source>Failed to \n          <x id="INTERPOLATION" equiv-text="{{failure}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{metadata}}"/>\n        </source>\n        <target>Failed to \n          <x id="INTERPOLATION" equiv-text="{{failure}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{metadata}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="f54b6f09b390d5ade0e354f6c7d4743c10a315cc" datatype="html">\n        <source>Executing</source>\n        <target>Wird ausgeführt</target>\n      </trans-unit>\n      <trans-unit id="5cdfe3e3330ea42bfd29c540dbd268bee97d364d" datatype="html">\n        <source>execute</source>\n        <target>ausführen</target>\n      </trans-unit>\n      <trans-unit id="6e98e243518daa88be30330fcdbd2d10f8eae4d7" datatype="html">\n        <source>Executed</source>\n        <target>Ausgeführt</target>\n      </trans-unit>\n      <trans-unit id="24b09aa5bd909273a023d2d788a2673325c77e31" datatype="html">\n        <source>unknown task</source>\n        <target>Unbekannte Aufgabe</target>\n      </trans-unit>\n      <trans-unit id="114b5f92b9192b229ffc9a450319a97ccca2aa5c" datatype="html">\n        <source>Creating</source>\n        <target>Wird erstellt</target>\n      </trans-unit>\n      <trans-unit id="56695b69d27437ada580a187958407e7c856d46e" datatype="html">\n        <source>create</source>\n        <target>erstellen</target>\n      </trans-unit>\n      <trans-unit id="9db60170ef3b3b41a863e7d5ee7cec10919b9141" datatype="html">\n        <source>Updating</source>\n        <target>Wird aktualisiert</target>\n      </trans-unit>\n      <trans-unit id="64412640835b7d25247cb254d4f911366c0e6862" datatype="html">\n        <source>update</source>\n        <target>aktualisieren</target>\n      </trans-unit>\n      <trans-unit id="416193bb373d59477458b00e5922d755e2e2cacd" datatype="html">\n        <source>Deleting</source>\n        <target>Wird gelöscht</target>\n      </trans-unit>\n      <trans-unit id="70ef158c584bafe788e319a0bffa11b02ee9abf1" datatype="html">\n        <source>delete</source>\n        <target>löschen</target>\n      </trans-unit>\n      <trans-unit id="d07a282afc7fbdb39cea6e1c9b544882a7260a86" datatype="html">\n        <source>Adding</source>\n        <target>Adding</target>\n      </trans-unit>\n      <trans-unit id="a11ec4e640f241329943237d2a3cceaa4823658e" datatype="html">\n        <source>add</source>\n        <target>add</target>\n      </trans-unit>\n      <trans-unit id="ea1c70b874904216cc5af24bd7cb3dab2d074d42" datatype="html">\n        <source>Removing</source>\n        <target>Removing</target>\n      </trans-unit>\n      <trans-unit id="4da487aec5a29ce4372e7b512227cd665b01fe6f" datatype="html">\n        <source>remove</source>\n        <target>remove</target>\n      </trans-unit>\n      <trans-unit id="3f757cfc3749ebb5d4462017cb60138ca082f15f" datatype="html">\n        <source>RBD \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>RBD \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="a6c681e6130fe440ae40de99a405fcf5c7eefee1" datatype="html">\n        <source>RBD snapshot \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>RBD-Snapshot \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="4fb54a0291f49583c317d4a3690239141b5a8f68" datatype="html">\n        <source>mirror mode for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>Spiegelungsmodus für Pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="6621ab6e122a149326a1e48e9051a41e7f203cf6" datatype="html">\n        <source>mirror peer for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>mirror peer for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="db15adc778317d551232fe712eb03a2c1eac4a43" datatype="html">\n        <source>all dashboards</source>\n        <target>Alle Dashboards</target>\n      </trans-unit>\n      <trans-unit id="1b559dbd9cc9664fd788c2da9a10d3abafe066cb" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.\n        </source>\n        <target>Name wird bereits von \n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/> verwendet.\n        </target>\n      </trans-unit>\n      <trans-unit id="8fc28e1103d9f2ef47b9fff9a4f74e8365c7cf19" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>.\n        </source>\n        <target>Name wird bereits von \n          <x id="INTERPOLATION" equiv-text="{{name}}"/> verwendet.\n        </target>\n      </trans-unit>\n      <trans-unit id="1cdc7ea44fcb85d0cfcf6e7379d625d8674a8fbe" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.\n        </source>\n        <target>Name wird bereits von \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> verwendet.\n        </target>\n      </trans-unit>\n      <trans-unit id="1ff7676ad1e991102224540a32dd44ad1ab88aa8" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> enthält Snapshots.\n        </target>\n      </trans-unit>\n      <trans-unit id="c3a1dcca2b2ba20fbe39e2441e7bb1cf9c20cdf3" datatype="html">\n        <source>Cloning</source>\n        <target>Wird geklont</target>\n      </trans-unit>\n      <trans-unit id="b5fa4e0a3a279dee5b6bf7b823e54387f7c79994" datatype="html">\n        <source>clone</source>\n        <target>klonen</target>\n      </trans-unit>\n      <trans-unit id="29b7452e8367af9aa8fa828f16ff94c3530e7a1a" datatype="html">\n        <source>Snapshot of \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> must be protected.\n        </source>\n        <target>Snapshot von \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> muss geschützt sein.\n        </target>\n      </trans-unit>\n      <trans-unit id="369f93b9a07a9465f7a261e9f0021b6cfa7180c5" datatype="html">\n        <source>Copying</source>\n        <target>Wird kopiert</target>\n      </trans-unit>\n      <trans-unit id="37584f889855d153a106f5dffe23d21f9453c8ff" datatype="html">\n        <source>copy</source>\n        <target>kopieren</target>\n      </trans-unit>\n      <trans-unit id="6ea9e313a04ef59222feaadfe84e97b4c69d7e9e" datatype="html">\n        <source>Flattening</source>\n        <target>Wird vereinfacht</target>\n      </trans-unit>\n      <trans-unit id="1f57593581b64d2d4c70eab1736bd9bccc66a7dc" datatype="html">\n        <source>flatten</source>\n        <target>vereinfachen</target>\n      </trans-unit>\n      <trans-unit id="d990ef9680cd23bbe652c37eb46bf038cfee80ad" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/>.\n        </source>\n        <target>Name wird bereits von \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> verwendet.\n        </target>\n      </trans-unit>\n      <trans-unit id="a101745d080ef65c09bd5fafc796f94ddb9f9d60" datatype="html">\n        <source>Cannot unprotect \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it contains child images.\n        </source>\n        <target>Der Schutz von \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> kann aufgrund untergeordneter Images nicht aufgehoben werden.\n        </target>\n      </trans-unit>\n      <trans-unit id="647968f4cde7786cd53ec8e6aa9802ac6824a262" datatype="html">\n        <source>Cannot delete \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it\'s protected.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> kann nicht gelöscht werden, da es geschützt ist.\n        </target>\n      </trans-unit>\n      <trans-unit id="57ddd3e15cf0ce974356b757451f50116a27272b" datatype="html">\n        <source>Rolling back</source>\n        <target>Rollback wird ausgeführt</target>\n      </trans-unit>\n      <trans-unit id="a8913a3a5ee61f2598b5f0432cb9b20cdd60548e" datatype="html">\n        <source>rollback</source>\n        <target>Rollback</target>\n      </trans-unit>\n      <trans-unit id="de8676f0017c9db6c49388cd7d63cd0a83a0c1dc" datatype="html">\n        <source>Moving</source>\n        <target>Wird verschoben</target>\n      </trans-unit>\n      <trans-unit id="2d810712308ae63cb795d809687a3254ef7a2f05" datatype="html">\n        <source>move</source>\n        <target>verschieben</target>\n      </trans-unit>\n      <trans-unit id="f3ba995236e5c1cc77686108980c099a90aec754" datatype="html">\n        <source>Moved</source>\n        <target>Verschoben</target>\n      </trans-unit>\n      <trans-unit id="d0422169252d132624a20f267b5c29f28cb53ebe" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' to trash\n        </source>\n        <target>Image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' in Papierkorb verschieben\n        </target>\n      </trans-unit>\n      <trans-unit id="b603e2dfed9808222fbcb5a7c5f4da2cc6ae2aae" datatype="html">\n        <source>Could not find image.</source>\n        <target>Image konnte nicht gefunden werden.</target>\n      </trans-unit>\n      <trans-unit id="398debe73006b1fe5177ed81d2e7b0cc852f61ec" datatype="html">\n        <source>Restoring</source>\n        <target>Wird wiederhergestellt</target>\n      </trans-unit>\n      <trans-unit id="c252806fb400e79bac194696632c9362742b1538" datatype="html">\n        <source>restore</source>\n        <target>wiederherstellen</target>\n      </trans-unit>\n      <trans-unit id="30b8bcf69b3f1754b7abba173fd806cfcea4cb04" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' into \'\n          <x id="INTERPOLATION_1" equiv-text="{{new_id}}"/>\'\n        </source>\n        <target>Image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' in \'\n          <x id="INTERPOLATION_1" equiv-text="{{new_id}}"/>\' verschieben\n        </target>\n      </trans-unit>\n      <trans-unit id="13b7b241cef989fe0932ddd180e757658e1817e7" datatype="html">\n        <source>Image name \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' is already in use.\n        </source>\n        <target>Image-Name \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' wird bereits verwendet.\n        </target>\n      </trans-unit>\n      <trans-unit id="cc1cee12c833e8fbbef28a2a7c449dc530da912d" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>Image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="38e5f47f8bef505652f3e87f46efb00ead1350a3" datatype="html">\n        <source>Purging</source>\n        <target>Wird bereinigt</target>\n      </trans-unit>\n      <trans-unit id="e4e57747f123f0fe6fe3a0ecf608f8bc287dec0c" datatype="html">\n        <source>purge</source>\n        <target>bereinigen</target>\n      </trans-unit>\n      <trans-unit id="1560d58fdf39663929653250d45f5b1dfe078fea" datatype="html">\n        <source>all pools</source>\n        <target>alle Pools</target>\n      </trans-unit>\n      <trans-unit id="1ac3dc50c2c3d86e98bc0967ee1e696810a2d3aa" datatype="html">\n        <source>images from \n          <x id="INTERPOLATION" equiv-text="{{message}}"/>\n        </source>\n        <target>Abbild von \n          <x id="INTERPOLATION" equiv-text="{{message}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="02278abbb044ece04ab6bd80bd2060198d31d83b" datatype="html">\n        <source>Cannot disable mirroring because it contains a peer.</source>\n        <target>Spiegelung kann nicht deaktiviert werden, da sie einen Peer enthält.</target>\n      </trans-unit>\n      <trans-unit id="f123ae1fc3b000e5d08e766dd78bff162afe709d" datatype="html">\n        <source>host \'\n          <x id="INTERPOLATION" equiv-text="{{hostname}}"/>\'\n        </source>\n        <target>host \'\n          <x id="INTERPOLATION" equiv-text="{{hostname}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="dfe70001dc590a9e12512cbb206aa29fb36fd00b" datatype="html">\n        <source>pool \'\n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>\'\n        </source>\n        <target>Pool \'\n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="59630daf2f4786690fae0cdad55da8887236eabe" datatype="html">\n        <source>erasure code profile \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </source>\n        <target>Erasure-Coding-Profil \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="369462e5e018360e0600bb570866201ad5c3c8a8" datatype="html">\n        <source>target \'\n          <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>\'\n        </source>\n        <target>Ziel \'\n          <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="cf41310917cb19b335e5a950972bbff2346f7a47" datatype="html">\n        <source>NFS \n          <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>\n        </source>\n        <target>NFS \n          <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="54bf6542e39412f83ec883266f443e31b304c937" datatype="html">\n        <source>Required rules for password complexity:\n    - must contain at least 8 characters\n    - cannot contain username\n    - cannot contain any keyword used in Ceph\n    - cannot contain any repetitive characters e.g. "aaa"\n    - cannot contain any sequencial characters e.g. "abc"\n    - must consist of characters from the following groups:\n      * alphabetic a-z, A-Z\n      * numbers 0-9\n      * special chars: !"#$%&amp; \'()*+,-./:;&lt;=&gt;?@[\\]^_`\n          <x id="INTERPOLATION" equiv-text="{{|}}"/>~\n      * any other characters (signs)\n        </source>\n        <target>Required rules for password complexity:\n    - must contain at least 8 characters\n    - cannot contain username\n    - cannot contain any keyword used in Ceph\n    - cannot contain any repetitive characters e.g. "aaa"\n    - cannot contain any sequencial characters e.g. "abc"\n    - must consist of characters from the following groups:\n      * alphabetic a-z, A-Z\n      * numbers 0-9\n      * special chars: !"#$%&amp; \'()*+,-./:;&lt;=&gt;?@[\\]^_`\n          <x id="INTERPOLATION" equiv-text="{{|}}"/>~\n      * any other characters (signs)\n        </target>\n      </trans-unit>\n      <trans-unit id="ba575e9364b43dc870e332265c5182bb357b7a49" datatype="html">\n        <source>Weak</source>\n        <target>Weak</target>\n      </trans-unit>\n      <trans-unit id="7e6c975ebea8b5f8b120905ca7acf9f8edf59d8e" datatype="html">\n        <source>OK</source>\n        <target>OK</target>\n      </trans-unit>\n      <trans-unit id="3f7349017a01eed18c3daf2b7295ca96ef442eb6" datatype="html">\n        <source>Strong</source>\n        <target>Strong</target>\n      </trans-unit>\n      <trans-unit id="a1e3aecc2022cb0ebed8575a24d0e29d2de815c6" datatype="html">\n        <source>Very strong</source>\n        <target>Very strong</target>\n      </trans-unit>\n    </body>\n  </file>\n</xliff>'},EmSq:function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var a=n("8Y7J"),r=n("LvDl");n("Fgil"),n("aXbf");class o{constructor(t,e,n,r){this.elementRef=t,this.control=e,this.dimlessBinaryPipe=n,this.formatter=r,this.ngModelChange=new a.EventEmitter,this.el=this.elementRef.nativeElement}ngOnInit(){this.setValue(this.el.value)}setValue(t){/^[\d.]+$/.test(t)&&(t+=this.defaultUnit||"m");const e=this.formatter.toBytes(t),n=this.round(e);this.el.value=this.dimlessBinaryPipe.transform(n),null!==e?(this.ngModelChange.emit(this.el.value),this.control.control.setValue(this.el.value)):(this.ngModelChange.emit(null),this.control.control.setValue(null))}round(t){if(null!==t&&0!==t){if(!r.isUndefined(this.minBytes)&&t<this.minBytes)return this.minBytes;if(!r.isUndefined(this.maxBytes)&&t>this.maxBytes)return this.maxBytes;if(!r.isUndefined(this.roundPower)){const e=Math.round(Math.log(t)/Math.log(this.roundPower));return Math.pow(this.roundPower,e)}}return t}onBlur(t){this.setValue(t)}}},EpBk:function(t,e){t.exports=function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}},ExA7:function(t,e){t.exports=function(t){return null!=t&&"object"==typeof t}},"F+uO":function(t,e,n){var a={"./messages.cs.xlf":"ViD7","./messages.de-DE.xlf":"EiPl","./messages.es-ES.xlf":"yt+r","./messages.fr-FR.xlf":"V5SL","./messages.id-ID.xlf":"jqst","./messages.it-IT.xlf":"8j5A","./messages.ja-JP.xlf":"bN42","./messages.ko-KR.xlf":"3+CB","./messages.pl-PL.xlf":"SPu7","./messages.pt-BR.xlf":"+Wg/","./messages.zh-CN.xlf":"AiMb","./messages.zh-TW.xlf":"HjS5"};function r(t){var e=o(t);return n(e)}function o(t){if(!n.o(a,t)){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e}return a[t]}r.keys=function(){return Object.keys(a)},r.resolve=o,t.exports=r,r.id="F+uO"},F8JR:function(t,e,n){"use strict";var a=n("tycR").forEach,r=n("pkCn"),o=n("rkAj"),i=r("forEach"),s=o("forEach");t.exports=i&&s?[].forEach:function(t){return a(this,t,arguments.length>1?arguments[1]:void 0)}},F8xH:function(t,e,n){var a=n("mrSG").__decorate;Object.defineProperty(e,"__esModule",{value:!0});var r=n("8Y7J"),o=n("SVse"),i=n("Nia1"),s=n("mn2k"),c=n("bpWZ");e.NgxDatatableModule=function(){return a([r.NgModule({imports:[o.CommonModule],providers:[c.ScrollbarHelper,c.DimensionsHelper,c.ColumnChangesService],declarations:[i.DataTableFooterTemplateDirective,s.VisibilityDirective,s.DraggableDirective,s.ResizeableDirective,s.OrderableDirective,s.LongPressDirective,i.ScrollerComponent,i.DatatableComponent,i.DataTableColumnDirective,i.DataTableHeaderComponent,i.DataTableHeaderCellComponent,i.DataTableBodyComponent,i.DataTableFooterComponent,i.DataTablePagerComponent,i.ProgressBarComponent,i.DataTableBodyRowComponent,i.DataTableRowWrapperComponent,i.DatatableRowDetailDirective,i.DatatableGroupHeaderDirective,i.DatatableRowDetailTemplateDirective,i.DataTableBodyCellComponent,i.DataTableSelectionComponent,i.DataTableColumnHeaderDirective,i.DataTableColumnCellDirective,i.DataTableColumnCellTreeToggle,i.DatatableFooterDirective,i.DatatableGroupHeaderTemplateDirective,i.DataTableSummaryRowComponent],exports:[i.DatatableComponent,i.DatatableRowDetailDirective,i.DatatableGroupHeaderDirective,i.DatatableRowDetailTemplateDirective,i.DataTableColumnDirective,i.DataTableColumnHeaderDirective,i.DataTableColumnCellDirective,i.DataTableColumnCellTreeToggle,i.DataTableFooterTemplateDirective,i.DatatableFooterDirective,i.DataTablePagerComponent,i.DatatableGroupHeaderTemplateDirective]})],(function(){}))}()},"F97/":function(t,e,n){"use strict";function a(t,e){function n(){return!n.pred.apply(n.thisArg,arguments)}return n.pred=t,n.thisArg=e,n}n.d(e,"a",(function(){return a}))},FE24:function(t,e,n){"use strict";n.d(e,"a",(function(){return c})),n.d(e,"b",(function(){return d})),n.d(e,"c",(function(){return u})),n.d(e,"d",(function(){return g})),n.d(e,"e",(function(){return p})),n.d(e,"f",(function(){return l})),n.d(e,"g",(function(){return f}));var a=n("8Y7J"),r=n("pLZG"),o=n("z/SZ"),i=n("hpHm"),s=n("2uy1");class c{constructor(){this.autoClose=!0,this.insideClick=!1}}class l{constructor(){this.direction="down",this.isOpenChange=new a.EventEmitter,this.isDisabledChange=new a.EventEmitter,this.toggleClick=new a.EventEmitter,this.dropdownMenu=new Promise(t=>{this.resolveDropdownMenu=t})}}class d{constructor(t,e,n,a){this._state=t,this.cd=e,this._renderer=n,this._element=a,this.isOpen=!1,this._subscription=t.isOpenChange.subscribe(t=>{this.isOpen=t;const e=this._element.nativeElement.querySelector(".dropdown-menu");e&&!Object(i.d)()&&(this._renderer.addClass(e,"show"),e.classList.contains("dropdown-menu-right")&&(this._renderer.setStyle(e,"left","auto"),this._renderer.setStyle(e,"right","0")),"up"===this.direction&&(this._renderer.setStyle(e,"top","auto"),this._renderer.setStyle(e,"transform","translateY(-101%)"))),this.cd.markForCheck(),this.cd.detectChanges()})}get direction(){return this._state.direction}_contains(t){return this._element.nativeElement.contains(t)}ngOnDestroy(){this._subscription.unsubscribe()}}class u{constructor(t,e,n,a,r,o){this._elementRef=t,this._renderer=e,this._viewContainerRef=n,this._cis=a,this._config=r,this._state=o,this._isInlineOpen=!1,this._subscriptions=[],this._isInited=!1,this._state.autoClose=this._config.autoClose,this._state.insideClick=this._config.insideClick,this._dropdown=this._cis.createLoader(this._elementRef,this._viewContainerRef,this._renderer).provide({provide:l,useValue:this._state}),this.onShown=this._dropdown.onShown,this.onHidden=this._dropdown.onHidden,this.isOpenChange=this._state.isOpenChange}set autoClose(t){this._state.autoClose=t}get autoClose(){return this._state.autoClose}set insideClick(t){this._state.insideClick=t}get insideClick(){return this._state.insideClick}set isDisabled(t){this._isDisabled=t,this._state.isDisabledChange.emit(t),t&&this.hide()}get isDisabled(){return this._isDisabled}get isOpen(){return this._showInline?this._isInlineOpen:this._dropdown.isShown}set isOpen(t){t?this.show():this.hide()}get isBs4(){return!Object(i.d)()}get _showInline(){return!this.container}ngOnInit(){this._isInited||(this._isInited=!0,this._dropdown.listen({outsideClick:!1,triggers:this.triggers,show:()=>this.show()}),this._subscriptions.push(this._state.toggleClick.subscribe(t=>this.toggle(t))),this._subscriptions.push(this._state.isDisabledChange.pipe(Object(r.a)(t=>t)).subscribe(t=>this.hide())))}show(){if(!this.isOpen&&!this.isDisabled)return this._showInline?(this._inlinedMenu||this._state.dropdownMenu.then(t=>{this._dropdown.attachInline(t.viewContainer,t.templateRef),this._inlinedMenu=this._dropdown._inlineViewRef,this.addBs4Polyfills()}).catch(),this.addBs4Polyfills(),this._isInlineOpen=!0,this.onShown.emit(!0),void this._state.isOpenChange.emit(!0)):void this._state.dropdownMenu.then(t=>{const e=this.dropup||void 0!==this.dropup&&this.dropup;this._state.direction=e?"up":"down";const n=this.placement||(e?"top start":"bottom start");this._dropdown.attach(d).to(this.container).position({attachment:n}).show({content:t.templateRef,placement:n}),this._state.isOpenChange.emit(!0)}).catch()}hide(){this.isOpen&&(this._showInline?(this.removeShowClass(),this.removeDropupStyles(),this._isInlineOpen=!1,this.onHidden.emit(!0)):this._dropdown.hide(),this._state.isOpenChange.emit(!1))}toggle(t){return this.isOpen||!t?this.hide():this.show()}_contains(t){return this._elementRef.nativeElement.contains(t.target)||this._dropdown.instance&&this._dropdown.instance._contains(t.target)}ngOnDestroy(){for(const t of this._subscriptions)t.unsubscribe();this._dropdown.dispose()}addBs4Polyfills(){Object(i.d)()||(this.addShowClass(),this.checkRightAlignment(),this.addDropupStyles())}addShowClass(){this._inlinedMenu&&this._inlinedMenu.rootNodes[0]&&this._renderer.addClass(this._inlinedMenu.rootNodes[0],"show")}removeShowClass(){this._inlinedMenu&&this._inlinedMenu.rootNodes[0]&&this._renderer.removeClass(this._inlinedMenu.rootNodes[0],"show")}checkRightAlignment(){if(this._inlinedMenu&&this._inlinedMenu.rootNodes[0]){const t=this._inlinedMenu.rootNodes[0].classList.contains("dropdown-menu-right");this._renderer.setStyle(this._inlinedMenu.rootNodes[0],"left",t?"auto":"0"),this._renderer.setStyle(this._inlinedMenu.rootNodes[0],"right",t?"0":"auto")}}addDropupStyles(){this._inlinedMenu&&this._inlinedMenu.rootNodes[0]&&(this._renderer.setStyle(this._inlinedMenu.rootNodes[0],"top",this.dropup?"auto":"100%"),this._renderer.setStyle(this._inlinedMenu.rootNodes[0],"transform",this.dropup?"translateY(-101%)":"translateY(0)"),this._renderer.setStyle(this._inlinedMenu.rootNodes[0],"bottom","auto"))}removeDropupStyles(){this._inlinedMenu&&this._inlinedMenu.rootNodes[0]&&(this._renderer.removeStyle(this._inlinedMenu.rootNodes[0],"top"),this._renderer.removeStyle(this._inlinedMenu.rootNodes[0],"transform"),this._renderer.removeStyle(this._inlinedMenu.rootNodes[0],"bottom"))}}class g{constructor(t,e,n){t.resolveDropdownMenu({templateRef:n,viewContainer:e})}}class f{constructor(t,e,n,a,r){this._changeDetectorRef=t,this._dropdown=e,this._element=n,this._renderer=a,this._state=r,this.isDisabled=null,this._subscriptions=[],this._subscriptions.push(this._state.isOpenChange.subscribe(t=>{this.isOpen=t,t?(this._documentClickListener=this._renderer.listen("document","click",t=>{!this._state.autoClose||2===t.button||this._element.nativeElement.contains(t.target)||this._state.insideClick&&this._dropdown._contains(t)||(this._state.toggleClick.emit(!1),this._changeDetectorRef.detectChanges())}),this._escKeyUpListener=this._renderer.listen(this._element.nativeElement,"keyup.esc",()=>{this._state.autoClose&&(this._state.toggleClick.emit(!1),this._changeDetectorRef.detectChanges())})):(this._documentClickListener(),this._escKeyUpListener())})),this._subscriptions.push(this._state.isDisabledChange.subscribe(t=>this.isDisabled=t||null))}onClick(){this.isDisabled||this._state.toggleClick.emit(!0)}ngOnDestroy(){this._documentClickListener&&this._documentClickListener(),this._escKeyUpListener&&this._escKeyUpListener();for(const t of this._subscriptions)t.unsubscribe()}}class p{static forRoot(t){return{ngModule:p,providers:[o.a,s.a,l,{provide:c,useValue:t||{autoClose:!0,insideClick:!1}}]}}}},FFMq:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{transform(t){return t.join(", ")}}},FLvf:function(t,e,n){"use strict";function a(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),a(n("tFKq")),a(n("0MID"))},FMNM:function(t,e,n){var a=n("xrYK"),r=n("kmMV");t.exports=function(t,e){var n=t.exec;if("function"==typeof n){var o=n.call(t,e);if("object"!=typeof o)throw TypeError("RegExp exec method returned something other than an Object or null");return o}if("RegExp"!==a(t))throw TypeError("RegExp#exec called on incompatible receiver");return r.call(t,e)}},FMPj:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=n("h+PQ");e.optionalGetterForProp=function(t){return t&&function(e){return a.getterForProp(t)(e,t)}},e.groupRowsByParents=function(t,e,n){if(e&&n){var a={},o=t.length,i=null;a[0]=new r;for(var s=t.reduce((function(t,e){var a=n(e);return-1===t.indexOf(a)&&t.push(a),t}),[]),c=0;c<o;c++)a[n(t[c])]=new r(t[c]);for(c=0;c<o;c++){var l=0,d=e((i=a[n(t[c])]).row);d&&s.indexOf(d)>-1&&(l=d),i.parent=a[l],i.row.level=i.parent.row.level+1,i.parent.children.push(i)}var u=[];return a[0].flatten((function(){u=u.concat([this.row])}),!0),u}return t};var r=function(){function t(t){void 0===t&&(t=null),t||(t={level:-1,treeStatus:"expanded"}),this.row=t,this.parent=null,this.children=[]}return t.prototype.flatten=function(t,e){if("expanded"===this.row.treeStatus)for(var n=0,a=this.children.length;n<a;n++){var r=this.children[n];t.apply(r,Array.prototype.slice.call(arguments,2)),e&&r.flatten.apply(r,arguments)}},t}()},"FO+L":function(t,e,n){var a=n("mrSG").__decorate;Object.defineProperty(e,"__esModule",{value:!0});var r=n("8Y7J");n("SVse"),e.ScrollbarHelper=function(){function t(t){this.document=t,this.width=this.getWidth()}return t.prototype.getWidth=function(){var t=this.document.createElement("div");t.style.visibility="hidden",t.style.width="100px",t.style.msOverflowStyle="scrollbar",this.document.body.appendChild(t);var e=t.offsetWidth;t.style.overflow="scroll";var n=this.document.createElement("div");n.style.width="100%",t.appendChild(n);var a=n.offsetWidth;return t.parentNode.removeChild(t),e-a},a([r.Injectable()],t)}()},FSuO:function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var a=n("8Y7J"),r=n("LvDl"),o=n("x38r");n("a0VL"),n("uIqm");class i{constructor(t){this.datePipe=t,this.autoReload=5e3,this.renderObjects=!1,this.appendParentKey=!0,this.hideEmpty=!1,this.hideKeys=[],this.columns=[],this.fetchData=new a.EventEmitter}ngOnInit(){this.columns=[{prop:"key",flexGrow:1,cellTransformation:o.a.bold},{prop:"value",flexGrow:3}],this.customCss&&(this.columns[1].cellTransformation=o.a.classAdding),this.fetchData.observers.length>0&&this.table.fetchData.subscribe(()=>{this.fetchData.emit()}),this.useData()}ngOnChanges(){this.useData()}useData(){if(!this.data)return;let t=this.makePairs(this.data);this.hideKeys&&(t=t.filter(t=>!this.hideKeys.includes(t.key))),this.tableData=t}makePairs(t){let e=[];if(t){if(r.isArray(t))e=this.makePairsFromArray(t);else{if(!r.isObject(t))throw new Error("Wrong data format");e=this.makePairsFromObject(t)}return e=e.map(t=>(t.value=this.convertValue(t.value),t)).filter(t=>null!==t.value),r.sortBy(this.renderObjects?this.insertFlattenObjects(e):e,"key")}}makePairsFromArray(t){let e=[];const n=t[0];if(r.isArray(n)){if(2!==n.length)throw new Error(`Array contains too many elements (${n.length}). `+"Needs to be of type [string, any][]");e=t.map(t=>({key:t[0],value:t[1]}))}else r.isObject(n)&&(e=r.has(n,"key")&&r.has(n,"value")?[...t]:t.reduce((t,e)=>t.concat(this.makePairsFromObject(e)),e));return e}makePairsFromObject(t){return Object.keys(t).map(e=>({key:e,value:t[e]}))}insertFlattenObjects(t){return r.flattenDeep(t.map(t=>{const e=t.value,n=r.isObject(e);return!n||r.isEmpty(e)?(n&&(t.value=""),t):this.splitItemIntoItems(t)}))}splitItemIntoItems(t){return this.makePairs(t.value).map(e=>(this.appendParentKey&&(e.key=t.key+" "+e.key),e))}convertValue(t){if(r.isArray(t)){if(r.isEmpty(t)&&this.hideEmpty)return null;t=t.map(t=>r.isObject(t)?JSON.stringify(t):t).join(", ")}else if(r.isObject(t)){if(this.hideEmpty&&r.isEmpty(t)||!this.renderObjects)return null}else if(r.isString(t)){if(""===t&&this.hideEmpty)return null;this.isDate(t)&&(t=this.datePipe.transform(t)||t)}return t}isDate(t){const e="\\d{2}[ -:.TZ]";return t.match(new RegExp("^\\d{4}[ -:.TZ]"+e+e+e+e+e+"\\d*Z?$"))}}},FZoo:function(t,e,n){var a=n("MrPd"),r=n("4uTw"),o=n("wJg7"),i=n("GoyQ"),s=n("9Nap");t.exports=function(t,e,n,c){if(!i(t))return t;for(var l=-1,d=(e=r(e,t)).length,u=d-1,g=t;null!=g&&++l<d;){var f=s(e[l]),p=n;if(l!=u){var m=g[f];void 0===(p=c?c(m,f,g):void 0)&&(p=i(m)?m:o(e[l+1])?[]:{})}a(g,f,p),g=g[f]}return t}},FfPP:function(t,e,n){var a=n("idmN"),r=n("hgQt");t.exports=function(t,e){return a(t,e,(function(e,n){return r(t,n)}))}},Fgil:function(t,e,n){"use strict";n.d(e,"a",(function(){return a})),n("aXbf");class a{constructor(t){this.formatter=t}transform(t){return this.formatter.format_number(t,1024,["B","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"])}}},Fjl2:function(t,e,n){var a=n("mrSG").__decorate;Object.defineProperty(e,"__esModule",{value:!0});var r=n("8Y7J");e.DatatableGroupHeaderTemplateDirective=function(){return a([r.Directive({selector:"[ngx-datatable-group-header-template]"})],(function(t){this.template=t}))}()},Fwy9:function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var a=n("8Y7J"),r=n("gk6K"),o=function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},i=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},s=function(){function t(t,e,n,r){this.el=t,this.renderer=e,this.treeDraggedElement=n,this.ngZone=r,this.allowDragoverStyling=!0,this.onDropCallback=new a.EventEmitter,this.onDragOverCallback=new a.EventEmitter,this.onDragLeaveCallback=new a.EventEmitter,this.onDragEnterCallback=new a.EventEmitter,this._allowDrop=function(t,e){return!0},this.dragOverEventHandler=this.onDragOver.bind(this),this.dragEnterEventHandler=this.onDragEnter.bind(this),this.dragLeaveEventHandler=this.onDragLeave.bind(this)}return Object.defineProperty(t.prototype,"treeAllowDrop",{set:function(t){this._allowDrop=t instanceof Function?t:function(e,n){return t}},enumerable:!0,configurable:!0}),t.prototype.allowDrop=function(t){return this._allowDrop(this.treeDraggedElement.get(),t)},t.prototype.ngAfterViewInit=function(){var t=this,e=this.el.nativeElement;this.ngZone.runOutsideAngular((function(){e.addEventListener("dragover",t.dragOverEventHandler),e.addEventListener("dragenter",t.dragEnterEventHandler),e.addEventListener("dragleave",t.dragLeaveEventHandler)}))},t.prototype.ngOnDestroy=function(){var t=this.el.nativeElement;t.removeEventListener("dragover",this.dragOverEventHandler),t.removeEventListener("dragenter",this.dragEnterEventHandler),t.removeEventListener("dragleave",this.dragLeaveEventHandler)},t.prototype.onDragOver=function(t){if(!this.allowDrop(t))return this.allowDragoverStyling?this.addDisabledClass():void 0;this.onDragOverCallback.emit({event:t,element:this.treeDraggedElement.get()}),t.preventDefault(),this.allowDragoverStyling&&this.addClass()},t.prototype.onDragEnter=function(t){this.allowDrop(t)&&(t.preventDefault(),this.onDragEnterCallback.emit({event:t,element:this.treeDraggedElement.get()}))},t.prototype.onDragLeave=function(t){if(!this.allowDrop(t))return this.allowDragoverStyling?this.removeDisabledClass():void 0;this.onDragLeaveCallback.emit({event:t,element:this.treeDraggedElement.get()}),this.allowDragoverStyling&&this.removeClass()},t.prototype.onDrop=function(t){this.allowDrop(t)&&(t.preventDefault(),this.onDropCallback.emit({event:t,element:this.treeDraggedElement.get()}),this.allowDragoverStyling&&this.removeClass(),this.treeDraggedElement.set(null))},t.prototype.addClass=function(){this.renderer.addClass(this.el.nativeElement,"is-dragging-over")},t.prototype.removeClass=function(){this.renderer.removeClass(this.el.nativeElement,"is-dragging-over")},t.prototype.addDisabledClass=function(){this.renderer.addClass(this.el.nativeElement,"is-dragging-over-disabled")},t.prototype.removeDisabledClass=function(){this.renderer.removeClass(this.el.nativeElement,"is-dragging-over-disabled")},o([Object(a.Input)(),i("design:type",Object)],t.prototype,"allowDragoverStyling",void 0),o([Object(a.Output)("treeDrop"),i("design:type",Object)],t.prototype,"onDropCallback",void 0),o([Object(a.Output)("treeDropDragOver"),i("design:type",Object)],t.prototype,"onDragOverCallback",void 0),o([Object(a.Output)("treeDropDragLeave"),i("design:type",Object)],t.prototype,"onDragLeaveCallback",void 0),o([Object(a.Output)("treeDropDragEnter"),i("design:type",Object)],t.prototype,"onDragEnterCallback",void 0),o([Object(a.Input)(),i("design:type",Object),i("design:paramtypes",[Object])],t.prototype,"treeAllowDrop",null),o([Object(a.HostListener)("drop",["$event"]),i("design:type",Function),i("design:paramtypes",[Object]),i("design:returntype",void 0)],t.prototype,"onDrop",null),o([Object(a.Directive)({selector:"[treeDrop]"}),i("design:paramtypes",[a.ElementRef,a.Renderer2,r.a,a.NgZone])],t)}()},"G+Rx":function(t,e,n){var a=n("0GbY");t.exports=a("document","documentElement")},G0Uy:function(t,e,n){!function(t){"use strict";t.defineLocale("mt",{months:"Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru".split("_"),monthsShort:"Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ".split("_"),weekdays:"Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt".split("_"),weekdaysShort:"Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib".split("_"),weekdaysMin:"Ħa_Tn_Tl_Er_Ħa_Ġi_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Illum fil-]LT",nextDay:"[Għada fil-]LT",nextWeek:"dddd [fil-]LT",lastDay:"[Il-bieraħ fil-]LT",lastWeek:"dddd [li għadda] [fil-]LT",sameElse:"L"},relativeTime:{future:"f’ %s",past:"%s ilu",s:"ftit sekondi",ss:"%d sekondi",m:"minuta",mm:"%d minuti",h:"siegħa",hh:"%d siegħat",d:"ġurnata",dd:"%d ġranet",M:"xahar",MM:"%d xhur",y:"sena",yy:"%d sni"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n("wd/R"))},"G1/K":function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{constructor(t){this.i18n=t}transform(t){return""===t?this.i18n("n/a"):t}}},G1I9:function(t,e,n){"use strict";n.d(e,"b",(function(){return o})),n.d(e,"a",(function(){return i}));var a=n("oxzT"),r=n("mtw6");class o{constructor(t=r.a.info,e,n,a,o="Ceph"){this.type=t,this.title=e,this.message=n,this.options=a,this.application=o,this.isFinishedTask=!1,this.classes={Ceph:"ceph-icon",Prometheus:"prometheus-icon"},this.applicationClass=this.classes[this.application]}}class i extends o{constructor(t=new o){super(t.type,t.title,t.message,t.options,t.application),this.config=t,this.textClasses=["text-danger","text-info","text-success"],this.iconClasses=[a.a.warning,a.a.info,a.a.check],delete this.config,this.timestamp=(new Date).toJSON(),this.iconClass=this.iconClasses[this.type],this.textClass=this.textClasses[this.type],this.isFinishedTask=t.isFinishedTask}}},"G6Q+":function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{}},G6z8:function(t,e,n){var a=n("fR/l"),r=n("oCl/"),o=n("mTTR");t.exports=function(t){return a(t,o,r)}},GDJm:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RowHeightCache=function(){function t(){this.treeArray=[]}return t.prototype.clearCache=function(){this.treeArray=[]},t.prototype.initCache=function(t){var e=t.rows,n=t.rowHeight,a=t.detailRowHeight,r=t.externalVirtual,o=t.rowCount,i=t.rowIndexes,s=t.rowExpansions,c="function"==typeof n,l="function"==typeof a;if(!c&&isNaN(n))throw new Error("Row Height cache initialization failed. Please ensure that 'rowHeight' is a\n        valid number or function value: ("+n+") when 'scrollbarV' is enabled.");if(!l&&isNaN(a))throw new Error("Row Height cache initialization failed. Please ensure that 'detailRowHeight' is a\n        valid number or function value: ("+a+") when 'scrollbarV' is enabled.");var d=r?o:e.length;this.treeArray=new Array(d);for(var u=0;u<d;++u)this.treeArray[u]=0;for(u=0;u<d;++u){var g=e[u],f=n;c&&(f=n(g));var p=s.get(g);g&&1===p&&(f+=l?a(g,i.get(g)):a),this.update(u,f)}},t.prototype.getRowIndex=function(t){return 0===t?0:this.calcRowIndex(t)},t.prototype.update=function(t,e){if(!this.treeArray.length)throw new Error("Update at index "+t+" with value "+e+" failed:\n        Row Height cache not initialized.");var n=this.treeArray.length;for(t|=0;t<n;)this.treeArray[t]+=e,t|=t+1},t.prototype.query=function(t){if(!this.treeArray.length)throw new Error("query at index "+t+" failed: Fenwick tree array not initialized.");var e=0;for(t|=0;t>=0;)e+=this.treeArray[t],t=(t&t+1)-1;return e},t.prototype.queryBetween=function(t,e){return this.query(e)-this.query(t-1)},t.prototype.calcRowIndex=function(t){if(!this.treeArray.length)return 0;for(var e=-1,n=this.treeArray.length,a=Math.pow(2,n.toString(2).length-1);0!==a;a>>=1){var r=e+a;r<n&&t>=this.treeArray[r]&&(t-=this.treeArray[r],e=r)}return e+1},t}()},GDhZ:function(t,e,n){var a=n("wF/u"),r=n("mwIZ"),o=n("hgQt"),i=n("9ggG"),s=n("CMye"),c=n("IOzZ"),l=n("9Nap");t.exports=function(t,e){return i(t)&&s(e)?c(l(t),e):function(n){var i=r(n,t);return void 0===i&&i===e?o(n,t):a(e,i,3)}}},GNiM:function(t,e,n){var a=n("I01J"),r=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,o=/\\(\\)?/g,i=a((function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(r,(function(t,n,a,r){e.push(a?r.replace(o,"$1"):n||t)})),e}));t.exports=i},GS7A:function(t,e,n){"use strict";n.d(e,"b",(function(){return a})),n.d(e,"c",(function(){return r})),n.d(e,"a",(function(){return o})),n.d(e,"e",(function(){return s})),n.d(e,"f",(function(){return c})),n.d(e,"g",(function(){return d})),n.d(e,"h",(function(){return l})),n.d(e,"i",(function(){return u})),n.d(e,"j",(function(){return i})),n.d(e,"d",(function(){return f})),n.d(e,"k",(function(){return p})),n.d(e,"l",(function(){return m}));class a{}class r{}const o="*";function i(t,e){return{type:7,name:t,definitions:e,options:{}}}function s(t,e=null){return{type:4,styles:e,timings:t}}function c(t,e=null){return{type:2,steps:t,options:e}}function l(t){return{type:6,styles:t,offset:null}}function d(t,e,n){return{type:0,name:t,styles:e,options:n}}function u(t,e,n=null){return{type:1,expr:t,animation:e,options:n}}function g(t){Promise.resolve(null).then(t)}class f{constructor(t=0,e=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this.parentPlayer=null,this.totalTime=t+e}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){g(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(t=>t()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}reset(){}setPosition(t){}getPosition(){return 0}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}class p{constructor(t){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=t;let e=0,n=0,a=0;const r=this.players.length;0==r?g(()=>this._onFinish()):this.players.forEach(t=>{t.onDone(()=>{++e==r&&this._onFinish()}),t.onDestroy(()=>{++n==r&&this._onDestroy()}),t.onStart(()=>{++a==r&&this._onStart()})}),this.totalTime=this.players.reduce((t,e)=>Math.max(t,e.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}init(){this.players.forEach(t=>t.init())}onStart(t){this._onStartFns.push(t)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(t=>t()),this._onStartFns=[])}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(t=>t.play())}pause(){this.players.forEach(t=>t.pause())}restart(){this.players.forEach(t=>t.restart())}finish(){this._onFinish(),this.players.forEach(t=>t.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(t=>t.destroy()),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}reset(){this.players.forEach(t=>t.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(t){const e=t*this.totalTime;this.players.forEach(t=>{const n=t.totalTime?Math.min(1,e/t.totalTime):1;t.setPosition(n)})}getPosition(){let t=0;return this.players.forEach(e=>{const n=e.getPosition();t=Math.min(n,t)}),t}beforeDestroy(){this.players.forEach(t=>{t.beforeDestroy&&t.beforeDestroy()})}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}const m="!"},GarU:function(t,e){t.exports=function(t,e,n){if(!(t instanceof e))throw TypeError("Incorrect "+(n?n+" ":"")+"invocation");return t}},GgAd:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{constructor(){}ngOnChanges(){this.usedPercentage=Math.round(this.usedBytes/this.totalBytes*100),this.freePercentage=100-this.usedPercentage,this.freeBytes=this.totalBytes-this.usedBytes}}},Gi0A:function(t,e,n){var a=n("QqLw"),r=n("ExA7");t.exports=function(t){return r(t)&&"[object Map]"==a(t)}},Gi4w:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("7o/Q");function r(t,e){return n=>n.lift(new o(t,e,n))}class o{constructor(t,e,n){this.predicate=t,this.thisArg=e,this.source=n}call(t,e){return e.subscribe(new i(t,this.predicate,this.thisArg,this.source))}}class i extends a.a{constructor(t,e,n,a){super(t),this.predicate=e,this.thisArg=n,this.source=a,this.index=0,this.thisArg=n||this}notifyComplete(t){this.destination.next(t),this.destination.complete()}_next(t){let e=!1;try{e=this.predicate.call(this.thisArg,t,this.index++,this.source)}catch(n){return void this.destination.error(n)}e||this.notifyComplete(!1)}_complete(){this.notifyComplete(!0)}}},GiVz:function(t,e,n){"use strict";n.d(e,"a",(function(){return We})),n.d(e,"b",(function(){return Ue}));var a=n("SVse"),r=n("8Y7J");class o{constructor(t,e){this.value=t,this.sourceSpan=e}visit(t,e){return t.visitText(this,e)}}class i{constructor(t,e,n,a,r){this.switchValue=t,this.type=e,this.cases=n,this.sourceSpan=a,this.switchValueSourceSpan=r}visit(t,e){return t.visitExpansion(this,e)}}class s{constructor(t,e,n,a,r){this.value=t,this.expression=e,this.sourceSpan=n,this.valueSourceSpan=a,this.expSourceSpan=r}visit(t,e){return t.visitExpansionCase(this,e)}}class c{constructor(t,e,n,a){this.name=t,this.value=e,this.sourceSpan=n,this.valueSpan=a}visit(t,e){return t.visitAttribute(this,e)}}class l{constructor(t,e,n,a,r=null,o=null){this.name=t,this.attrs=e,this.children=n,this.sourceSpan=a,this.startSourceSpan=r,this.endSourceSpan=o}visit(t,e){return t.visitElement(this,e)}}class d{constructor(t,e){this.value=t,this.sourceSpan=e}visit(t,e){return t.visitComment(this,e)}}function u(t,e,n=null){const a=[],r=t.visit?e=>t.visit(e,n)||e.visit(t,n):e=>e.visit(t,n);return e.forEach(t=>{const e=r(t);e&&a.push(e)}),a}class g{constructor(t,e,n,a,r,o){this.nodes=t,this.placeholders=e,this.placeholderToMessage=n,this.meaning=a,this.description=r,this.id=o,this.sources=t.length?[{filePath:t[0].sourceSpan.start.file.url,startLine:t[0].sourceSpan.start.line+1,startCol:t[0].sourceSpan.start.col+1,endLine:t[t.length-1].sourceSpan.end.line+1,endCol:t[0].sourceSpan.start.col+1}]:[]}}class f{constructor(t,e){this.value=t,this.sourceSpan=e}visit(t,e){return t.visitText(this,e)}}class p{constructor(t,e){this.children=t,this.sourceSpan=e}visit(t,e){return t.visitContainer(this,e)}}class m{constructor(t,e,n,a){this.expression=t,this.type=e,this.cases=n,this.sourceSpan=a}visit(t,e){return t.visitIcu(this,e)}}class h{constructor(t,e,n,a,r,o,i){this.tag=t,this.attrs=e,this.startName=n,this.closeName=a,this.children=r,this.isVoid=o,this.sourceSpan=i}visit(t,e){return t.visitTagPlaceholder(this,e)}}class b{constructor(t,e,n){this.value=t,this.name=e,this.sourceSpan=n}visit(t,e){return t.visitPlaceholder(this,e)}}class _{constructor(t,e,n){this.value=t,this.name=e,this.sourceSpan=n}visit(t,e){return t.visitIcuPlaceholder(this,e)}}class y{constructor(t,e,n,a){this.file=t,this.offset=e,this.line=n,this.col=a}toString(){return null!=this.offset?`${this.line}:${this.col}`:""}getContext(t,e){const n=this.file.content;let a=this.offset;if(null!=a){a>n.length-1&&(a=n.length-1);let r=a,o=0,i=0;for(;o<t&&a>0&&(a--,o++,"\n"!==n[a]||++i!==e););for(o=0,i=0;o<t&&r<n.length-1&&(r++,o++,"\n"!==n[r]||++i!==e););return{before:n.substring(a,this.offset),after:n.substring(this.offset,r+1)}}return null}}class O{constructor(t,e=""){this.content=t,this.url=e}}class v{constructor(t,e,n=null){this.start=t,this.end=e,this.details=n}toString(){return this.start.file.content.substring(this.start.offset,this.end.offset)}}const C=function(){var t={WARNING:0,ERROR:1};return t[t.WARNING]="WARNING",t[t.ERROR]="ERROR",t}();class P{constructor(t,e,n=C.ERROR){this.span=t,this.msg=e,this.level=n}contextualMessage(){const t=this.span.start.getContext(100,3);return t?` ("${t.before}[${C[this.level]} ->]${t.after}")`:""}toString(){const t=this.span.details?`, ${this.span.details}`:"";return`${this.msg}${this.contextualMessage()}: ${this.span.start}${t}`}}class M extends P{constructor(t,e){super(t,e)}}function x(t){return t.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}class w{constructor(t,e){this.start=t,this.end=e}}const T=new w("{{","}}");function k(t){return t>=9&&t<=32||160===t}function S(t){return 48<=t&&t<=57}function I(t){return t>=97&&t<=122||t>=65&&t<=90}const N=function(){var t={RAW_TEXT:0,ESCAPABLE_RAW_TEXT:1,PARSABLE_DATA:2};return t[t.RAW_TEXT]="RAW_TEXT",t[t.ESCAPABLE_RAW_TEXT]="ESCAPABLE_RAW_TEXT",t[t.PARSABLE_DATA]="PARSABLE_DATA",t}();function R(t){if(":"!==t[0])return[null,t];const e=t.indexOf(":",1);if(-1===e)throw new Error(`Unsupported format "${t}" expecting ":namespace:name"`);return[t.slice(1,e),t.slice(e+1)]}function A(t){return null===t?null:R(t)[0]}function E(t,e){return t?`:${t}:${e}`:e}const D={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",alefsym:"ℵ",Alpha:"Α",alpha:"α",amp:"&",and:"∧",ang:"∠",apos:"'",Aring:"Å",aring:"å",asymp:"≈",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",bdquo:"„",Beta:"Β",beta:"β",brvbar:"¦",bull:"•",cap:"∩",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",Chi:"Χ",chi:"χ",circ:"ˆ",clubs:"♣",cong:"≅",copy:"©",crarr:"↵",cup:"∪",curren:"¤",dagger:"†",Dagger:"‡",darr:"↓",dArr:"⇓",deg:"°",Delta:"Δ",delta:"δ",diams:"♦",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",empty:"∅",emsp:" ",ensp:" ",Epsilon:"Ε",epsilon:"ε",equiv:"≡",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",exist:"∃",fnof:"ƒ",forall:"∀",frac12:"½",frac14:"¼",frac34:"¾",frasl:"⁄",Gamma:"Γ",gamma:"γ",ge:"≥",gt:">",harr:"↔",hArr:"⇔",hearts:"♥",hellip:"…",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",image:"ℑ",infin:"∞",int:"∫",Iota:"Ι",iota:"ι",iquest:"¿",isin:"∈",Iuml:"Ï",iuml:"ï",Kappa:"Κ",kappa:"κ",Lambda:"Λ",lambda:"λ",lang:"⟨",laquo:"«",larr:"←",lArr:"⇐",lceil:"⌈",ldquo:"“",le:"≤",lfloor:"⌊",lowast:"∗",loz:"◊",lrm:"‎",lsaquo:"‹",lsquo:"‘",lt:"<",macr:"¯",mdash:"—",micro:"µ",middot:"·",minus:"−",Mu:"Μ",mu:"μ",nabla:"∇",nbsp:" ",ndash:"–",ne:"≠",ni:"∋",not:"¬",notin:"∉",nsub:"⊄",Ntilde:"Ñ",ntilde:"ñ",Nu:"Ν",nu:"ν",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",OElig:"Œ",oelig:"œ",Ograve:"Ò",ograve:"ò",oline:"‾",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",oplus:"⊕",or:"∨",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",otimes:"⊗",Ouml:"Ö",ouml:"ö",para:"¶",permil:"‰",perp:"⊥",Phi:"Φ",phi:"φ",Pi:"Π",pi:"π",piv:"ϖ",plusmn:"±",pound:"£",prime:"′",Prime:"″",prod:"∏",prop:"∝",Psi:"Ψ",psi:"ψ",quot:'"',radic:"√",rang:"⟩",raquo:"»",rarr:"→",rArr:"⇒",rceil:"⌉",rdquo:"”",real:"ℜ",reg:"®",rfloor:"⌋",Rho:"Ρ",rho:"ρ",rlm:"‏",rsaquo:"›",rsquo:"’",sbquo:"‚",Scaron:"Š",scaron:"š",sdot:"⋅",sect:"§",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sim:"∼",spades:"♠",sub:"⊂",sube:"⊆",sum:"∑",sup:"⊃",sup1:"¹",sup2:"²",sup3:"³",supe:"⊇",szlig:"ß",Tau:"Τ",tau:"τ",there4:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thinsp:" ",THORN:"Þ",thorn:"þ",tilde:"˜",times:"×",trade:"™",Uacute:"Ú",uacute:"ú",uarr:"↑",uArr:"⇑",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",Uuml:"Ü",uuml:"ü",weierp:"℘",Xi:"Ξ",xi:"ξ",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ",Yuml:"Ÿ",Zeta:"Ζ",zeta:"ζ",zwj:"‍",zwnj:"‌",ngsp:""},L=function(){var t={TAG_OPEN_START:0,TAG_OPEN_END:1,TAG_OPEN_END_VOID:2,TAG_CLOSE:3,TEXT:4,ESCAPABLE_RAW_TEXT:5,RAW_TEXT:6,COMMENT_START:7,COMMENT_END:8,CDATA_START:9,CDATA_END:10,ATTR_NAME:11,ATTR_VALUE:12,DOC_TYPE:13,EXPANSION_FORM_START:14,EXPANSION_CASE_VALUE:15,EXPANSION_CASE_EXP_START:16,EXPANSION_CASE_EXP_END:17,EXPANSION_FORM_END:18,EOF:19};return t[t.TAG_OPEN_START]="TAG_OPEN_START",t[t.TAG_OPEN_END]="TAG_OPEN_END",t[t.TAG_OPEN_END_VOID]="TAG_OPEN_END_VOID",t[t.TAG_CLOSE]="TAG_CLOSE",t[t.TEXT]="TEXT",t[t.ESCAPABLE_RAW_TEXT]="ESCAPABLE_RAW_TEXT",t[t.RAW_TEXT]="RAW_TEXT",t[t.COMMENT_START]="COMMENT_START",t[t.COMMENT_END]="COMMENT_END",t[t.CDATA_START]="CDATA_START",t[t.CDATA_END]="CDATA_END",t[t.ATTR_NAME]="ATTR_NAME",t[t.ATTR_VALUE]="ATTR_VALUE",t[t.DOC_TYPE]="DOC_TYPE",t[t.EXPANSION_FORM_START]="EXPANSION_FORM_START",t[t.EXPANSION_CASE_VALUE]="EXPANSION_CASE_VALUE",t[t.EXPANSION_CASE_EXP_START]="EXPANSION_CASE_EXP_START",t[t.EXPANSION_CASE_EXP_END]="EXPANSION_CASE_EXP_END",t[t.EXPANSION_FORM_END]="EXPANSION_FORM_END",t[t.EOF]="EOF",t}();class q{constructor(t,e,n){this.type=t,this.parts=e,this.sourceSpan=n}}class j extends P{constructor(t,e,n){super(n,t),this.tokenType=e}}class F{constructor(t,e){this.tokens=t,this.errors=e}}const z=/\r\n?/g;function V(t){return`Unexpected character "${0===t?"EOF":String.fromCharCode(t)}"`}function G(t){return`Unknown entity "${t}" - use the "&#<decimal>;" or  "&#x<hex>;" syntax`}class Y{constructor(t){this.error=t}}class B{constructor(t,e,n,a=T){this._file=t,this._getTagDefinition=e,this._tokenizeIcu=n,this._interpolationConfig=a,this._peek=-1,this._nextPeek=-1,this._index=-1,this._line=0,this._column=-1,this._expansionCaseStack=[],this._inInterpolation=!1,this.tokens=[],this.errors=[],this._input=t.content,this._length=t.content.length,this._advance()}_processCarriageReturns(t){return t.replace(z,"\n")}tokenize(){for(;0!==this._peek;){const e=this._getLocation();try{this._attemptCharCode(60)?this._attemptCharCode(33)?this._attemptCharCode(91)?this._consumeCdata(e):this._attemptCharCode(45)?this._consumeComment(e):this._consumeDocType(e):this._attemptCharCode(47)?this._consumeTagClose(e):this._consumeTagOpen(e):this._tokenizeIcu&&this._tokenizeExpansionForm()||this._consumeText()}catch(t){if(!(t instanceof Y))throw t;this.errors.push(t.error)}}return this._beginToken(L.EOF),this._endToken([]),new F(function(t){const e=[];let n=void 0;for(let a=0;a<t.length;a++){const r=t[a];n&&n.type===L.TEXT&&r.type===L.TEXT?(n.parts[0]+=r.parts[0],n.sourceSpan.end=r.sourceSpan.end):(n=r,e.push(n))}return e}(this.tokens),this.errors)}_tokenizeExpansionForm(){if($(this._input,this._index,this._interpolationConfig))return this._consumeExpansionFormStart(),!0;if((61===(t=this._peek)||I(t)||S(t))&&this._isInExpansionForm())return this._consumeExpansionCaseStart(),!0;var t;if(125===this._peek){if(this._isInExpansionCase())return this._consumeExpansionCaseEnd(),!0;if(this._isInExpansionForm())return this._consumeExpansionFormEnd(),!0}return!1}_getLocation(){return new y(this._file,this._index,this._line,this._column)}_getSpan(t=this._getLocation(),e=this._getLocation()){return new v(t,e)}_beginToken(t,e=this._getLocation()){this._currentTokenStart=e,this._currentTokenType=t}_endToken(t,e=this._getLocation()){const n=new q(this._currentTokenType,t,new v(this._currentTokenStart,e));return this.tokens.push(n),this._currentTokenStart=null,this._currentTokenType=null,n}_createError(t,e){this._isInExpansionForm()&&(t+=' (Do you have an unescaped "{" in your template? Use "{{ \'{\' }}") to escape it.)');const n=new j(t,this._currentTokenType,e);return this._currentTokenStart=null,this._currentTokenType=null,new Y(n)}_advance(){if(this._index>=this._length)throw this._createError(V(0),this._getSpan());10===this._peek?(this._line++,this._column=0):10!==this._peek&&13!==this._peek&&this._column++,this._index++,this._peek=this._index>=this._length?0:this._input.charCodeAt(this._index),this._nextPeek=this._index+1>=this._length?0:this._input.charCodeAt(this._index+1)}_attemptCharCode(t){return this._peek===t&&(this._advance(),!0)}_attemptCharCodeCaseInsensitive(t){return e=t,Z(this._peek)===Z(e)&&(this._advance(),!0);var e}_requireCharCode(t){const e=this._getLocation();if(!this._attemptCharCode(t))throw this._createError(V(this._peek),this._getSpan(e,e))}_attemptStr(t){const e=t.length;if(this._index+e>this._length)return!1;const n=this._savePosition();for(let a=0;a<e;a++)if(!this._attemptCharCode(t.charCodeAt(a)))return this._restorePosition(n),!1;return!0}_attemptStrCaseInsensitive(t){for(let e=0;e<t.length;e++)if(!this._attemptCharCodeCaseInsensitive(t.charCodeAt(e)))return!1;return!0}_requireStr(t){const e=this._getLocation();if(!this._attemptStr(t))throw this._createError(V(this._peek),this._getSpan(e))}_attemptCharCodeUntilFn(t){for(;!t(this._peek);)this._advance()}_requireCharCodeUntilFn(t,e){const n=this._getLocation();if(this._attemptCharCodeUntilFn(t),this._index-n.offset<e)throw this._createError(V(this._peek),this._getSpan(n,n))}_attemptUntilChar(t){for(;this._peek!==t;)this._advance()}_readChar(t){if(t&&38===this._peek)return this._decodeEntity();{const t=this._index;return this._advance(),this._input[t]}}_decodeEntity(){const t=this._getLocation();if(this._advance(),!this._attemptCharCode(35)){const e=this._savePosition();if(this._attemptCharCodeUntilFn(K),59!==this._peek)return this._restorePosition(e),"&";this._advance();const n=this._input.substring(t.offset+1,this._index-1),a=D[n];if(!a)throw this._createError(G(n),this._getSpan(t));return a}{const n=this._attemptCharCode(120)||this._attemptCharCode(88),a=this._getLocation().offset;if(this._attemptCharCodeUntilFn(W),59!==this._peek)throw this._createError(V(this._peek),this._getSpan());this._advance();const r=this._input.substring(a,this._index-1);try{const t=parseInt(r,n?16:10);return String.fromCharCode(t)}catch(e){const n=this._input.substring(t.offset+1,this._index-1);throw this._createError(G(n),this._getSpan(t))}}}_consumeRawText(t,e,n){let a;const r=this._getLocation();this._beginToken(t?L.ESCAPABLE_RAW_TEXT:L.RAW_TEXT,r);const o=[];for(;a=this._getLocation(),!this._attemptCharCode(e)||!n();)for(this._index>a.offset&&o.push(this._input.substring(a.offset,this._index));this._peek!==e;)o.push(this._readChar(t));return this._endToken([this._processCarriageReturns(o.join(""))],a)}_consumeComment(t){this._beginToken(L.COMMENT_START,t),this._requireCharCode(45),this._endToken([]);const e=this._consumeRawText(!1,45,()=>this._attemptStr("->"));this._beginToken(L.COMMENT_END,e.sourceSpan.end),this._endToken([])}_consumeCdata(t){this._beginToken(L.CDATA_START,t),this._requireStr("CDATA["),this._endToken([]);const e=this._consumeRawText(!1,93,()=>this._attemptStr("]>"));this._beginToken(L.CDATA_END,e.sourceSpan.end),this._endToken([])}_consumeDocType(t){this._beginToken(L.DOC_TYPE,t),this._attemptUntilChar(62),this._advance(),this._endToken([this._input.substring(t.offset+2,this._index-1)])}_consumePrefixAndName(){const t=this._index;let e=null;for(;58!==this._peek&&!(((n=this._peek)<97||122<n)&&(n<65||90<n)&&(n<48||n>57));)this._advance();var n;let a;return 58===this._peek?(this._advance(),e=this._input.substring(t,this._index-1),a=this._index):a=t,this._requireCharCodeUntilFn(U,this._index===a?1:0),[e,this._input.substring(a,this._index)]}_consumeTagOpen(t){const e=this._savePosition();let n,a;try{if(!I(this._peek))throw this._createError(V(this._peek),this._getSpan());const e=this._index;for(this._consumeTagOpenStart(t),n=this._input.substring(e,this._index),a=n.toLowerCase(),this._attemptCharCodeUntilFn(H);47!==this._peek&&62!==this._peek;)this._consumeAttributeName(),this._attemptCharCodeUntilFn(H),this._attemptCharCode(61)&&(this._attemptCharCodeUntilFn(H),this._consumeAttributeValue()),this._attemptCharCodeUntilFn(H);this._consumeTagOpenEnd()}catch(o){if(o instanceof Y)return this._restorePosition(e),this._beginToken(L.TEXT,t),void this._endToken(["<"]);throw o}const r=this._getTagDefinition(n).contentType;r===N.RAW_TEXT?this._consumeRawTextWithTagClose(a,!1):r===N.ESCAPABLE_RAW_TEXT&&this._consumeRawTextWithTagClose(a,!0)}_consumeRawTextWithTagClose(t,e){const n=this._consumeRawText(e,60,()=>!!this._attemptCharCode(47)&&(this._attemptCharCodeUntilFn(H),!!this._attemptStrCaseInsensitive(t)&&(this._attemptCharCodeUntilFn(H),this._attemptCharCode(62))));this._beginToken(L.TAG_CLOSE,n.sourceSpan.end),this._endToken([null,t])}_consumeTagOpenStart(t){this._beginToken(L.TAG_OPEN_START,t);const e=this._consumePrefixAndName();this._endToken(e)}_consumeAttributeName(){this._beginToken(L.ATTR_NAME);const t=this._consumePrefixAndName();this._endToken(t)}_consumeAttributeValue(){let t;if(this._beginToken(L.ATTR_VALUE),39===this._peek||34===this._peek){const e=this._peek;this._advance();const n=[];for(;this._peek!==e;)n.push(this._readChar(!0));t=n.join(""),this._advance()}else{const e=this._index;this._requireCharCodeUntilFn(U,1),t=this._input.substring(e,this._index)}this._endToken([this._processCarriageReturns(t)])}_consumeTagOpenEnd(){const t=this._attemptCharCode(47)?L.TAG_OPEN_END_VOID:L.TAG_OPEN_END;this._beginToken(t),this._requireCharCode(62),this._endToken([])}_consumeTagClose(t){this._beginToken(L.TAG_CLOSE,t),this._attemptCharCodeUntilFn(H);const e=this._consumePrefixAndName();this._attemptCharCodeUntilFn(H),this._requireCharCode(62),this._endToken(e)}_consumeExpansionFormStart(){this._beginToken(L.EXPANSION_FORM_START,this._getLocation()),this._requireCharCode(123),this._endToken([]),this._expansionCaseStack.push(L.EXPANSION_FORM_START),this._beginToken(L.RAW_TEXT,this._getLocation());const t=this._readUntil(44);this._endToken([t],this._getLocation()),this._requireCharCode(44),this._attemptCharCodeUntilFn(H),this._beginToken(L.RAW_TEXT,this._getLocation());const e=this._readUntil(44);this._endToken([e],this._getLocation()),this._requireCharCode(44),this._attemptCharCodeUntilFn(H)}_consumeExpansionCaseStart(){this._beginToken(L.EXPANSION_CASE_VALUE,this._getLocation());const t=this._readUntil(123).trim();this._endToken([t],this._getLocation()),this._attemptCharCodeUntilFn(H),this._beginToken(L.EXPANSION_CASE_EXP_START,this._getLocation()),this._requireCharCode(123),this._endToken([],this._getLocation()),this._attemptCharCodeUntilFn(H),this._expansionCaseStack.push(L.EXPANSION_CASE_EXP_START)}_consumeExpansionCaseEnd(){this._beginToken(L.EXPANSION_CASE_EXP_END,this._getLocation()),this._requireCharCode(125),this._endToken([],this._getLocation()),this._attemptCharCodeUntilFn(H),this._expansionCaseStack.pop()}_consumeExpansionFormEnd(){this._beginToken(L.EXPANSION_FORM_END,this._getLocation()),this._requireCharCode(125),this._endToken([]),this._expansionCaseStack.pop()}_consumeText(){const t=this._getLocation();this._beginToken(L.TEXT,t);const e=[];do{this._interpolationConfig&&this._attemptStr(this._interpolationConfig.start)?(e.push(this._interpolationConfig.start),this._inInterpolation=!0):this._interpolationConfig&&this._inInterpolation&&this._attemptStr(this._interpolationConfig.end)?(e.push(this._interpolationConfig.end),this._inInterpolation=!1):e.push(this._readChar(!0))}while(!this._isTextEnd());this._endToken([this._processCarriageReturns(e.join(""))])}_isTextEnd(){if(60===this._peek||0===this._peek)return!0;if(this._tokenizeIcu&&!this._inInterpolation){if($(this._input,this._index,this._interpolationConfig))return!0;if(125===this._peek&&this._isInExpansionCase())return!0}return!1}_savePosition(){return[this._peek,this._index,this._column,this._line,this.tokens.length]}_readUntil(t){const e=this._index;return this._attemptUntilChar(t),this._input.substring(e,this._index)}_restorePosition(t){this._peek=t[0],this._index=t[1],this._column=t[2],this._line=t[3];const e=t[4];e<this.tokens.length&&(this.tokens=this.tokens.slice(0,e))}_isInExpansionCase(){return this._expansionCaseStack.length>0&&this._expansionCaseStack[this._expansionCaseStack.length-1]===L.EXPANSION_CASE_EXP_START}_isInExpansionForm(){return this._expansionCaseStack.length>0&&this._expansionCaseStack[this._expansionCaseStack.length-1]===L.EXPANSION_FORM_START}}function H(t){return!k(t)||0===t}function U(t){return k(t)||62===t||47===t||39===t||34===t||61===t}function W(t){return 59===t||0===t||!function(t){return t>=97&&t<=102||t>=65&&t<=70||S(t)}(t)}function K(t){return 59===t||0===t||!I(t)}function $(t,e,n){const a=!!n&&t.indexOf(n.start,e)===e;return 123===t.charCodeAt(e)&&!a}function Z(t){return t>=97&&t<=122?t-97+65:t}class J extends P{constructor(t,e,n){super(e,n),this.elementName=t}static create(t,e,n){return new J(t,e,n)}}class X{constructor(t,e){this.rootNodes=t,this.errors=e}}class Q{constructor(t){this.getTagDefinition=t}parse(t,e,n=!1,a=T){const r=function(t,e,n,a=!1,r=T){return new B(new O(t,e),n,a,r).tokenize()}(t,e,this.getTagDefinition,n,a),o=new tt(r.tokens,this.getTagDefinition).build();return new X(o.rootNodes,r.errors.concat(o.errors))}}class tt{constructor(t,e){this.tokens=t,this.getTagDefinition=e,this._index=-1,this._rootNodes=[],this._errors=[],this._elementStack=[],this._advance()}build(){for(;this._peek.type!==L.EOF;)this._peek.type===L.TAG_OPEN_START?this._consumeStartTag(this._advance()):this._peek.type===L.TAG_CLOSE?this._consumeEndTag(this._advance()):this._peek.type===L.CDATA_START?(this._closeVoidElement(),this._consumeCdata(this._advance())):this._peek.type===L.COMMENT_START?(this._closeVoidElement(),this._consumeComment(this._advance())):this._peek.type===L.TEXT||this._peek.type===L.RAW_TEXT||this._peek.type===L.ESCAPABLE_RAW_TEXT?(this._closeVoidElement(),this._consumeText(this._advance())):this._peek.type===L.EXPANSION_FORM_START?this._consumeExpansion(this._advance()):this._advance();return new X(this._rootNodes,this._errors)}_advance(){const t=this._peek;return this._index<this.tokens.length-1&&this._index++,this._peek=this.tokens[this._index],t}_advanceIf(t){return this._peek.type===t?this._advance():null}_consumeCdata(t){this._consumeText(this._advance()),this._advanceIf(L.CDATA_END)}_consumeComment(t){const e=this._advanceIf(L.RAW_TEXT);this._advanceIf(L.COMMENT_END);const n=null!==e?e.parts[0].trim():null;this._addToParent(new d(n,t.sourceSpan))}_consumeExpansion(t){const e=this._advance(),n=this._advance(),a=[];for(;this._peek.type===L.EXPANSION_CASE_VALUE;){const t=this._parseExpansionCase();if(!t)return;a.push(t)}if(this._peek.type!==L.EXPANSION_FORM_END)return void this._errors.push(J.create(null,this._peek.sourceSpan,"Invalid ICU message. Missing '}'."));const r=new v(t.sourceSpan.start,this._peek.sourceSpan.end);this._addToParent(new i(e.parts[0],n.parts[0],a,r,e.sourceSpan)),this._advance()}_parseExpansionCase(){const t=this._advance();if(this._peek.type!==L.EXPANSION_CASE_EXP_START)return this._errors.push(J.create(null,this._peek.sourceSpan,"Invalid ICU message. Missing '{'.")),null;const e=this._advance(),n=this._collectExpansionExpTokens(e);if(!n)return null;const a=this._advance();n.push(new q(L.EOF,[],a.sourceSpan));const r=new tt(n,this.getTagDefinition).build();if(r.errors.length>0)return this._errors=this._errors.concat(r.errors),null;const o=new v(t.sourceSpan.start,a.sourceSpan.end),i=new v(e.sourceSpan.start,a.sourceSpan.end);return new s(t.parts[0],r.rootNodes,o,t.sourceSpan,i)}_collectExpansionExpTokens(t){const e=[],n=[L.EXPANSION_CASE_EXP_START];for(;;){if(this._peek.type!==L.EXPANSION_FORM_START&&this._peek.type!==L.EXPANSION_CASE_EXP_START||n.push(this._peek.type),this._peek.type===L.EXPANSION_CASE_EXP_END){if(!et(n,L.EXPANSION_CASE_EXP_START))return this._errors.push(J.create(null,t.sourceSpan,"Invalid ICU message. Missing '}'.")),null;if(n.pop(),0===n.length)return e}if(this._peek.type===L.EXPANSION_FORM_END){if(!et(n,L.EXPANSION_FORM_START))return this._errors.push(J.create(null,t.sourceSpan,"Invalid ICU message. Missing '}'.")),null;n.pop()}if(this._peek.type===L.EOF)return this._errors.push(J.create(null,t.sourceSpan,"Invalid ICU message. Missing '}'.")),null;e.push(this._advance())}}_consumeText(t){let e=t.parts[0];if(e.length>0&&"\n"===e[0]){const t=this._getParentElement();null!==t&&0===t.children.length&&this.getTagDefinition(t.name).ignoreFirstLf&&(e=e.substring(1))}e.length>0&&this._addToParent(new o(e,t.sourceSpan))}_closeVoidElement(){const t=this._getParentElement();t&&this.getTagDefinition(t.name).isVoid&&this._elementStack.pop()}_consumeStartTag(t){const e=t.parts[0],n=t.parts[1],a=[];for(;this._peek.type===L.ATTR_NAME;)a.push(this._consumeAttr(this._advance()));const r=this._getElementFullName(e,n,this._getParentElement());let o=!1;if(this._peek.type===L.TAG_OPEN_END_VOID){this._advance(),o=!0;const e=this.getTagDefinition(r);e.canSelfClose||null!==A(r)||e.isVoid||this._errors.push(J.create(r,t.sourceSpan,`Only void and foreign elements can be self closed "${t.parts[1]}"`))}else this._peek.type===L.TAG_OPEN_END&&(this._advance(),o=!1);const i=new v(t.sourceSpan.start,this._peek.sourceSpan.start),s=new l(r,a,[],i,i,void 0);this._pushElement(s),o&&(this._popElement(r),s.endSourceSpan=i)}_pushElement(t){const e=this._getParentElement();e&&this.getTagDefinition(e.name).isClosedByChild(t.name)&&this._elementStack.pop();const n=this.getTagDefinition(t.name),{parent:a,container:r}=this._getParentElementSkippingContainers();if(a&&n.requireExtraParent(a.name)){const e=new l(n.parentToAdd,[],[],t.sourceSpan,t.startSourceSpan,t.endSourceSpan);this._insertBeforeContainer(a,r,e)}this._addToParent(t),this._elementStack.push(t)}_consumeEndTag(t){const e=this._getElementFullName(t.parts[0],t.parts[1],this._getParentElement());this._getParentElement()&&(this._getParentElement().endSourceSpan=t.sourceSpan),this.getTagDefinition(e).isVoid?this._errors.push(J.create(e,t.sourceSpan,`Void elements do not have end tags "${t.parts[1]}"`)):this._popElement(e)||this._errors.push(J.create(e,t.sourceSpan,`Unexpected closing tag "${e}". It may happen when the tag has already been closed by another tag. For more info see https://www.w3.org/TR/html5/syntax.html#closing-elements-that-have-implied-end-tags`))}_popElement(t){for(let e=this._elementStack.length-1;e>=0;e--){const n=this._elementStack[e];if(n.name===t)return this._elementStack.splice(e,this._elementStack.length-e),!0;if(!this.getTagDefinition(n.name).closedByParent)return!1}return!1}_consumeAttr(t){const e=E(t.parts[0],t.parts[1]);let n=t.sourceSpan.end,a="",r=void 0;if(this._peek.type===L.ATTR_VALUE){const t=this._advance();a=t.parts[0],n=t.sourceSpan.end,r=t.sourceSpan}return new c(e,a,new v(t.sourceSpan.start,n),r)}_getParentElement(){return this._elementStack.length>0?this._elementStack[this._elementStack.length-1]:null}_getParentElementSkippingContainers(){let t=null;for(let e=this._elementStack.length-1;e>=0;e--){if("ng-container"!==R(this._elementStack[e].name)[1])return{parent:this._elementStack[e],container:t};t=this._elementStack[e]}return{parent:null,container:t}}_addToParent(t){const e=this._getParentElement();null!==e?e.children.push(t):this._rootNodes.push(t)}_insertBeforeContainer(t,e,n){if(e){if(t){const a=t.children.indexOf(e);t.children[a]=n}else this._rootNodes.push(n);n.children.push(e),this._elementStack.splice(this._elementStack.indexOf(e),0,n)}else this._addToParent(n),this._elementStack.push(n)}_getElementFullName(t,e,n){return null===t&&null===(t=this.getTagDefinition(e).implicitNamespacePrefix)&&null!==n&&(t=A(n.name)),E(t,e)}}function et(t,e){return t.length>0&&t[t.length-1]===e}class nt{constructor(){this.closedByParent=!1,this.contentType=N.PARSABLE_DATA,this.isVoid=!1,this.ignoreFirstLf=!1,this.canSelfClose=!0}requireExtraParent(t){return!1}isClosedByChild(t){return!1}}const at=new nt;function rt(t){return at}class ot{constructor({closedByChildren:t,requiredParents:e,implicitNamespacePrefix:n,contentType:a=N.PARSABLE_DATA,closedByParent:r=!1,isVoid:o=!1,ignoreFirstLf:i=!1}={}){this.closedByChildren={},this.closedByParent=!1,this.canSelfClose=!1,t&&t.length>0&&t.forEach(t=>this.closedByChildren[t]=!0),this.isVoid=o,this.closedByParent=r||o,e&&e.length>0&&(this.requiredParents={},this.parentToAdd=e[0],e.forEach(t=>this.requiredParents[t]=!0)),this.implicitNamespacePrefix=n||null,this.contentType=a,this.ignoreFirstLf=i}requireExtraParent(t){if(!this.requiredParents)return!1;if(!t)return!0;const e=t.toLowerCase();return!("template"===e||"ng-template"===t)&&!0!==this.requiredParents[e]}isClosedByChild(t){return this.isVoid||t.toLowerCase()in this.closedByChildren}}const it={base:new ot({isVoid:!0}),meta:new ot({isVoid:!0}),area:new ot({isVoid:!0}),embed:new ot({isVoid:!0}),link:new ot({isVoid:!0}),img:new ot({isVoid:!0}),input:new ot({isVoid:!0}),param:new ot({isVoid:!0}),hr:new ot({isVoid:!0}),br:new ot({isVoid:!0}),source:new ot({isVoid:!0}),track:new ot({isVoid:!0}),wbr:new ot({isVoid:!0}),p:new ot({closedByChildren:["address","article","aside","blockquote","div","dl","fieldset","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","main","nav","ol","p","pre","section","table","ul"],closedByParent:!0}),thead:new ot({closedByChildren:["tbody","tfoot"]}),tbody:new ot({closedByChildren:["tbody","tfoot"],closedByParent:!0}),tfoot:new ot({closedByChildren:["tbody"],closedByParent:!0}),tr:new ot({closedByChildren:["tr"],requiredParents:["tbody","tfoot","thead"],closedByParent:!0}),td:new ot({closedByChildren:["td","th"],closedByParent:!0}),th:new ot({closedByChildren:["td","th"],closedByParent:!0}),col:new ot({requiredParents:["colgroup"],isVoid:!0}),svg:new ot({implicitNamespacePrefix:"svg"}),math:new ot({implicitNamespacePrefix:"math"}),li:new ot({closedByChildren:["li"],closedByParent:!0}),dt:new ot({closedByChildren:["dt","dd"]}),dd:new ot({closedByChildren:["dt","dd"],closedByParent:!0}),rb:new ot({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),rt:new ot({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),rtc:new ot({closedByChildren:["rb","rtc","rp"],closedByParent:!0}),rp:new ot({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),optgroup:new ot({closedByChildren:["optgroup"],closedByParent:!0}),option:new ot({closedByChildren:["option","optgroup"],closedByParent:!0}),pre:new ot({ignoreFirstLf:!0}),listing:new ot({ignoreFirstLf:!0}),style:new ot({contentType:N.RAW_TEXT}),script:new ot({contentType:N.RAW_TEXT}),title:new ot({contentType:N.ESCAPABLE_RAW_TEXT}),textarea:new ot({contentType:N.ESCAPABLE_RAW_TEXT,ignoreFirstLf:!0})},st=new ot;function ct(t){return it[t.toLowerCase()]||st}class lt extends class{visitText(t,e){}visitContainer(t,e){t.children.forEach(t=>t.visit(this))}visitIcu(t,e){Object.keys(t.cases).forEach(e=>{t.cases[e].visit(this)})}visitTagPlaceholder(t,e){t.children.forEach(t=>t.visit(this))}visitPlaceholder(t,e){}visitIcuPlaceholder(t,e){}}{constructor(t,e){super(),this.mapName=e,this.internalToPublic={},this.publicToNextId={},this.publicToInternal={},t.nodes.forEach(t=>t.visit(this))}toPublicName(t){return this.internalToPublic.hasOwnProperty(t)?this.internalToPublic[t]:null}toInternalName(t){return this.publicToInternal.hasOwnProperty(t)?this.publicToInternal[t]:null}visitText(t,e){return null}visitTagPlaceholder(t,e){this.visitPlaceholderName(t.startName),super.visitTagPlaceholder(t,e),this.visitPlaceholderName(t.closeName)}visitPlaceholder(t,e){this.visitPlaceholderName(t.name)}visitIcuPlaceholder(t,e){this.visitPlaceholderName(t.name)}visitPlaceholderName(t){if(!t||this.internalToPublic.hasOwnProperty(t))return;let e=this.mapName(t);if(this.publicToInternal.hasOwnProperty(e)){const t=this.publicToNextId[e];this.publicToNextId[e]=t+1,e=`${e}_${t}`}else this.publicToNextId[e]=1;this.internalToPublic[t]=e,this.publicToInternal[e]=t}}const dt=new a.I18nSelectPipe;class ut{constructor(t,e){this.params=e,this.i18nPluralPipe=new a.I18nPluralPipe(new a.NgLocaleLocalization(t))}visitElement(t,e){return ct(t.name).isVoid?`<${t.name}${this.serializeNodes(t.attrs," ")}/>`:`<${t.name}${this.serializeNodes(t.attrs," ")}>${this.serializeNodes(t.children)}</${t.name}>`}visitAttribute(t,e){return`${t.name}="${t.value}"`}visitText(t,e){return t.value}visitComment(t,e){return`\x3c!--${t.value}--\x3e`}visitExpansion(t,e){const n={};switch(t.cases.forEach(t=>n[t.value]=this.serializeNodes(t.expression)),t.type){case"select":return dt.transform(this.params[t.switchValue]||"",n);case"plural":return this.i18nPluralPipe.transform(this.params[t.switchValue],n)}throw new Error(`Unknown expansion type "${t.type}"`)}visitExpansionCase(t,e){return` ${t.value} {${this.serializeNodes(t.expression)}}`}serializeNodes(t,e=""){return 0===t.length?"":e+t.map(t=>t.visit(this,null)).join(e)}}function gt(t){return t.id||function(t){const e=It(t),n=function(t,e){const n=Array(t.length+3>>>2);for(let a=0;a<n.length;a++)n[a]=wt(t,4*a,e);return n}(e,Ot.Big),a=8*e.length,r=new Array(80);let[o,i,s,c,l]=[1732584193,4023233417,2562383102,271733878,3285377520];n[a>>5]|=128<<24-a%32,n[15+(a+64>>9<<4)]=a;for(let d=0;d<n.length;d+=16){const[t,e,a,u,g]=[o,i,s,c,l];for(let f=0;f<80;f++){r[f]=f<16?n[d+f]:Mt(r[f-3]^r[f-8]^r[f-14]^r[f-16],1);const[t,e]=ht(f,i,s,c),a=[Mt(o,5),t,l,e,r[f]].reduce(vt);[l,c,s,i,o]=[c,s,Mt(i,30),o,a]}[o,i,s,c,l]=[vt(o,t),vt(i,e),vt(s,a),vt(c,u),vt(l,g)]}return function(t){let e="";for(let n=0;n<t.length;n++){const a=xt(t,n);e+=(a>>>4).toString(16)+(15&a).toString(16)}return e.toLowerCase()}(Tt([o,i,s,c,l]))}((e=t.nodes,e.map(t=>t.visit(pt,null))).join("")+`[${t.meaning}]`);var e}class ft{visitText(t,e){return t.value}visitContainer(t,e){return`[${t.children.map(t=>t.visit(this)).join(", ")}]`}visitIcu(t,e){const n=Object.keys(t.cases).map(e=>`${e} {${t.cases[e].visit(this)}}`);return`{${t.expression}, ${t.type}, ${n.join(", ")}}`}visitTagPlaceholder(t,e){return t.isVoid?`<ph tag name="${t.startName}"/>`:`<ph tag name="${t.startName}">${t.children.map(t=>t.visit(this)).join(", ")}</ph name="${t.closeName}">`}visitPlaceholder(t,e){return t.value?`<ph name="${t.name}">${t.value}</ph>`:`<ph name="${t.name}"/>`}visitIcuPlaceholder(t,e){return`<ph icu name="${t.name}">${t.value.visit(this)}</ph>`}}const pt=new ft;class mt extends ft{visitIcu(t,e){const n=Object.keys(t.cases).map(e=>`${e} {${t.cases[e].visit(this)}}`);return`{${t.type}, ${n.join(", ")}}`}}function ht(t,e,n,a){return t<20?[e&n|~e&a,1518500249]:t<40?[e^n^a,1859775393]:t<60?[e&n|e&a|n&a,2400959708]:[e^n^a,3395469782]}function bt(t){const e=It(t);let[n,a]=[_t(e,0),_t(e,102072)];return 0!==n||0!==a&&1!==a||(n^=319790063,a^=-1801410264),[n,a]}function _t(t,e){let n,[a,r]=[2654435769,2654435769];const o=t.length;for(n=0;n+12<=o;n+=12)a=vt(a,wt(t,n,Ot.Little)),r=vt(r,wt(t,n+4,Ot.Little)),e=vt(e,wt(t,n+8,Ot.Little)),[a,r,e]=yt([a,r,e]);return a=vt(a,wt(t,n,Ot.Little)),r=vt(r,wt(t,n+4,Ot.Little)),e=vt(e,o),yt([a,r,e=vt(e,wt(t,n+8,Ot.Little)<<8)])[2]}function yt([t,e,n]){return t=Pt(t,e),t=Pt(t,n),t^=n>>>13,e=Pt(e,n),e=Pt(e,t),e^=t<<8,n=Pt(n,t),n=Pt(n,e),n^=e>>>13,t=Pt(t,e),t=Pt(t,n),t^=n>>>12,e=Pt(e,n),e=Pt(e,t),e^=t<<16,n=Pt(n,t),n=Pt(n,e),n^=e>>>5,t=Pt(t,e),t=Pt(t,n),t^=n>>>3,e=Pt(e,n),e=Pt(e,t),e^=t<<10,n=Pt(n,t),n=Pt(n,e),[t,e,n^=e>>>15]}const Ot=function(){var t={Little:0,Big:1};return t[t.Little]="Little",t[t.Big]="Big",t}();function vt(t,e){return Ct(t,e)[1]}function Ct(t,e){const n=(65535&t)+(65535&e),a=(t>>>16)+(e>>>16)+(n>>>16);return[a>>>16,a<<16|65535&n]}function Pt(t,e){const n=(65535&t)-(65535&e);return(t>>16)-(e>>16)+(n>>16)<<16|65535&n}function Mt(t,e){return t<<e|t>>>32-e}function xt(t,e){return e>=t.length?0:255&t.charCodeAt(e)}function wt(t,e,n){let a=0;if(n===Ot.Big)for(let r=0;r<4;r++)a+=xt(t,e+r)<<24-8*r;else for(let r=0;r<4;r++)a+=xt(t,e+r)<<8*r;return a}function Tt(t){return t.reduce((t,e)=>t+function(t){let e="";for(let n=0;n<4;n++)e+=String.fromCharCode(t>>>8*(3-n)&255);return e}(e),"")}function kt(t,e){let n="";const a=Math.max(t.length,e.length);for(let r=0,o=0;r<a||o;r++){const a=o+ +(t[r]||0)+ +(e[r]||0);a>=10?(o=1,n+=a-10):(o=0,n+=a)}return n}function St(t,e){let n="",a=e;for(;0!==t;t>>>=1)1&t&&(n=kt(n,a)),a=kt(a,a);return n}function It(t){let e="";for(let n=0;n<t.length;n++){let a=t.charCodeAt(n);if(a>=55296&&a<=56319&&t.length>n+1){const e=t.charCodeAt(n+1);e>=56320&&e<=57343&&(n++,a=(a-55296<<10)+e-56320+65536)}a<=127?e+=String.fromCharCode(a):a<=2047?e+=String.fromCharCode(a>>6&31|192,63&a|128):a<=65535?e+=String.fromCharCode(a>>12|224,a>>6&63|128,63&a|128):a<=2097151&&(e+=String.fromCharCode(a>>18&7|240,a>>12&63|128,a>>6&63|128,63&a|128))}return e}function Nt(t){const e=new At,{msgIdToHtml:n,errors:a}=e.parse(t),r={},o=new Et;if(Object.keys(n).forEach(t=>{const{i18nNodes:e,errors:i}=o.convert(n[t]);a.push(...i),r[t]=e}),a.length)throw new Error(`xliff parse errors:\n${a.join("\n")}`);return r}const Rt=gt;class At{parse(t){this._unitMlString=null,this._msgIdToHtml={};const e=new Q(rt).parse(t,"",!1);return this._errors=e.errors,u(this,e.rootNodes,null),{msgIdToHtml:this._msgIdToHtml,errors:this._errors}}visitElement(t,e){switch(t.name){case"trans-unit":this._unitMlString=null;const e=t.attrs.find(t=>"id"===t.name);if(e){const n=e.value;this._msgIdToHtml.hasOwnProperty(n)?this._addError(t,`Duplicated translations for msg ${n}`):(u(this,t.children,null),"string"==typeof this._unitMlString?this._msgIdToHtml[n]=this._unitMlString:this._addError(t,`Message ${n} misses a translation`))}else this._addError(t,'<trans-unit> misses the "id" attribute');break;case"source":break;case"target":const n=t.startSourceSpan.start.file.content.slice(t.startSourceSpan.end.offset,t.endSourceSpan.start.offset);this._unitMlString=n;break;case"file":u(this,t.children,null);break;default:u(this,t.children,null)}}visitAttribute(t,e){}visitText(t,e){}visitComment(t,e){}visitExpansion(t,e){}visitExpansionCase(t,e){}_addError(t,e){this._errors.push(new M(t.sourceSpan,e))}}class Et{convert(t){const e=new Q(rt).parse(t,"",!0);return this._errors=e.errors,{i18nNodes:this._errors.length>0||0===e.rootNodes.length?[]:u(this,e.rootNodes),errors:this._errors}}visitText(t,e){return new f(t.value,t.sourceSpan)}visitElement(t,e){if("x"===t.name){const e=t.attrs.find(t=>"id"===t.name);if(e)return new b("",e.value,t.sourceSpan);this._addError(t,'<x> misses the "id" attribute')}else this._addError(t,"Unexpected tag");return null}visitExpansion(t,e){const n={};return u(this,t.cases).forEach(e=>{n[e.value]=new p(e.nodes,t.sourceSpan)}),new m(t.switchValue,t.type,n,t.sourceSpan)}visitExpansionCase(t,e){return{value:t.value,nodes:u(this,t.expression)}}visitComment(t,e){}visitAttribute(t,e){}_addError(t,e){this._errors.push(new M(t.sourceSpan,e))}}function Dt(t){const e=new qt,{msgIdToHtml:n,errors:a}=e.parse(t),r={},o=new jt;if(Object.keys(n).forEach(t=>{const{i18nNodes:e,errors:i}=o.convert(n[t]);a.push(...i),r[t]=e}),a.length)throw new Error(`xliff2 parse errors:\n${a.join("\n")}`);return r}const Lt=function(t){if(t.id)return t.id;const e=new mt;return function(t,e){let[n,a]=bt(t);if(e){const[t,r]=bt(e);[n,a]=function([t,e],[n,a]){const[r,o]=Ct(e,a);return[vt(vt(t,n),r),o]}(function([t,e],n){return[t<<n|e>>>32-n,e<<n|t>>>32-n]}([n,a],1),[t,r])}return function(t){let e="",n="1";for(let a=t.length-1;a>=0;a--)e=kt(e,St(xt(t,a),n)),n=St(256,n);return e.split("").reverse().join("")}(Tt([2147483647&n,a]))}(t.nodes.map(t=>t.visit(e,null)).join(""),t.meaning)};class qt{parse(t){this._unitMlString=null,this._msgIdToHtml={};const e=new Q(rt).parse(t,"",!1);return this._errors=e.errors,u(this,e.rootNodes,null),{msgIdToHtml:this._msgIdToHtml,errors:this._errors}}visitElement(t,e){switch(t.name){case"unit":this._unitMlString=null;const e=t.attrs.find(t=>"id"===t.name);if(e){const n=e.value;this._msgIdToHtml.hasOwnProperty(n)?this._addError(t,`Duplicated translations for msg ${n}`):(u(this,t.children,null),"string"==typeof this._unitMlString?this._msgIdToHtml[n]=this._unitMlString:this._addError(t,`Message ${n} misses a translation`))}else this._addError(t,'<unit> misses the "id" attribute');break;case"source":break;case"target":const n=t.startSourceSpan.start.file.content.slice(t.startSourceSpan.end.offset,t.endSourceSpan.start.offset);this._unitMlString=n;break;case"xliff":const a=t.attrs.find(t=>"version"===t.name);if(a){const e=a.value;"2.0"!==e?this._addError(t,`The XLIFF file version ${e} is not compatible with XLIFF 2.0 serializer`):u(this,t.children,null)}break;default:u(this,t.children,null)}}visitAttribute(t,e){}visitText(t,e){}visitComment(t,e){}visitExpansion(t,e){}visitExpansionCase(t,e){}_addError(t,e){this._errors.push(new M(t.sourceSpan,e))}}class jt{convert(t){const e=new Q(rt).parse(t,"",!0);return this._errors=e.errors,{i18nNodes:this._errors.length>0||0===e.rootNodes.length?[]:[].concat(...u(this,e.rootNodes)),errors:this._errors}}visitText(t,e){return new f(t.value,t.sourceSpan)}visitElement(t,e){switch(t.name){case"ph":const e=t.attrs.find(t=>"equiv"===t.name);if(e)return[new b("",e.value,t.sourceSpan)];this._addError(t,'<ph> misses the "equiv" attribute');break;case"pc":const n=t.attrs.find(t=>"equivStart"===t.name),a=t.attrs.find(t=>"equivEnd"===t.name);if(n){if(a){const e=a.value;return[].concat(new b("",n.value,t.sourceSpan),...t.children.map(t=>t.visit(this,null)),new b("",e,t.sourceSpan))}this._addError(t,'<ph> misses the "equivEnd" attribute')}else this._addError(t,'<ph> misses the "equivStart" attribute');break;default:this._addError(t,"Unexpected tag")}return null}visitExpansion(t,e){const n={};return u(this,t.cases).forEach(e=>{n[e.value]=new p(e.nodes,t.sourceSpan)}),new m(t.switchValue,t.type,n,t.sourceSpan)}visitExpansionCase(t,e){return{value:t.value,nodes:[].concat(...u(this,t.expression))}}visitComment(t,e){}visitAttribute(t,e){}_addError(t,e){this._errors.push(new M(t.sourceSpan,e))}}function Ft(t){return t.toUpperCase().replace(/[^A-Z0-9_]/g,"_")}function zt(t){const e=new Yt,{msgIdToHtml:n,errors:a}=e.parse(t);if(a.length)throw new Error(`xtb parse errors:\n${a.join("\n")}`);const r={},o=new Bt;return Object.keys(n).forEach(t=>{var e,a;e=r,a=t,Object.defineProperty(e,a,{configurable:!0,enumerable:!0,get:()=>{const r=(()=>{const{i18nNodes:e,errors:a}=o.convert(n[t]);if(a.length)throw new Error(`xtb parse errors:\n${a.join("\n")}`);return e})();return Object.defineProperty(e,a,{enumerable:!0,value:r}),r},set:t=>{throw new Error("Could not overwrite an XTB translation")}})}),r}const Vt=gt,Gt=function(t){return new lt(t,Ft)};class Yt{parse(t){this._bundleDepth=0,this._msgIdToHtml={};const e=new Q(rt).parse(t,"",!1);return this._errors=e.errors,u(this,e.rootNodes),{msgIdToHtml:this._msgIdToHtml,errors:this._errors}}visitElement(t,e){switch(t.name){case"translationbundle":this._bundleDepth++,this._bundleDepth>1&&this._addError(t,"<translationbundle> elements can not be nested"),u(this,t.children,null),this._bundleDepth--;break;case"translation":const e=t.attrs.find(t=>"id"===t.name);if(e){const n=e.value;if(this._msgIdToHtml.hasOwnProperty(n))this._addError(t,`Duplicated translations for msg ${n}`);else{const e=t.startSourceSpan.start.file.content.slice(t.startSourceSpan.end.offset,t.endSourceSpan.start.offset);this._msgIdToHtml[n]=e}}else this._addError(t,'<translation> misses the "id" attribute');break;default:this._addError(t,"Unexpected tag")}}visitAttribute(t,e){}visitText(t,e){}visitComment(t,e){}visitExpansion(t,e){}visitExpansionCase(t,e){}_addError(t,e){this._errors.push(new M(t.sourceSpan,e))}}class Bt{convert(t){const e=new Q(rt).parse(t,"",!0);return this._errors=e.errors,{i18nNodes:this._errors.length>0||0===e.rootNodes.length?[]:u(this,e.rootNodes),errors:this._errors}}visitText(t,e){return new f(t.value,t.sourceSpan)}visitExpansion(t,e){const n={};return u(this,t.cases).forEach(e=>{n[e.value]=new p(e.nodes,t.sourceSpan)}),new m(t.switchValue,t.type,n,t.sourceSpan)}visitExpansionCase(t,e){return{value:t.value,nodes:u(this,t.expression)}}visitElement(t,e){if("ph"===t.name){const e=t.attrs.find(t=>"name"===t.name);if(e)return new b("",e.value,t.sourceSpan);this._addError(t,'<ph> misses the "name" attribute')}else this._addError(t,"Unexpected tag");return null}visitComment(t,e){}visitAttribute(t,e){}_addError(t,e){this._errors.push(new M(t.sourceSpan,e))}}class Ht{constructor(t,e,n,a){this.input=e,this.errLocation=n,this.ctxLocation=a,this.message=`Parser Error: ${t} ${n} [${e}] in ${a}`}}class Ut{constructor(t,e){this.start=t,this.end=e}}class Wt{constructor(t){this.span=t}visit(t,e=null){return null}toString(){return"AST"}}class Kt extends Wt{constructor(t,e,n,a){super(t),this.prefix=e,this.uninterpretedExpression=n,this.location=a}visit(t,e=null){return t.visitQuote(this,e)}toString(){return"Quote"}}class $t extends Wt{visit(t,e=null){}}class Zt extends Wt{visit(t,e=null){return t.visitImplicitReceiver(this,e)}}class Jt extends Wt{constructor(t,e){super(t),this.expressions=e}visit(t,e=null){return t.visitChain(this,e)}}class Xt extends Wt{constructor(t,e,n,a){super(t),this.condition=e,this.trueExp=n,this.falseExp=a}visit(t,e=null){return t.visitConditional(this,e)}}class Qt extends Wt{constructor(t,e,n){super(t),this.receiver=e,this.name=n}visit(t,e=null){return t.visitPropertyRead(this,e)}}class te extends Wt{constructor(t,e,n,a){super(t),this.receiver=e,this.name=n,this.value=a}visit(t,e=null){return t.visitPropertyWrite(this,e)}}class ee extends Wt{constructor(t,e,n){super(t),this.receiver=e,this.name=n}visit(t,e=null){return t.visitSafePropertyRead(this,e)}}class ne extends Wt{constructor(t,e,n){super(t),this.obj=e,this.key=n}visit(t,e=null){return t.visitKeyedRead(this,e)}}class ae extends Wt{constructor(t,e,n,a){super(t),this.obj=e,this.key=n,this.value=a}visit(t,e=null){return t.visitKeyedWrite(this,e)}}class re extends Wt{constructor(t,e,n,a){super(t),this.exp=e,this.name=n,this.args=a}visit(t,e=null){return t.visitPipe(this,e)}}class oe extends Wt{constructor(t,e){super(t),this.value=e}visit(t,e=null){return t.visitLiteralPrimitive(this,e)}}class ie extends Wt{constructor(t,e){super(t),this.expressions=e}visit(t,e=null){return t.visitLiteralArray(this,e)}}class se extends Wt{constructor(t,e,n){super(t),this.keys=e,this.values=n}visit(t,e=null){return t.visitLiteralMap(this,e)}}class ce extends Wt{constructor(t,e,n){super(t),this.strings=e,this.expressions=n}visit(t,e=null){return t.visitInterpolation(this,e)}}class le extends Wt{constructor(t,e,n,a){super(t),this.operation=e,this.left=n,this.right=a}visit(t,e=null){return t.visitBinary(this,e)}}class de extends Wt{constructor(t,e){super(t),this.expression=e}visit(t,e=null){return t.visitPrefixNot(this,e)}}class ue extends Wt{constructor(t,e){super(t),this.expression=e}visit(t,e=null){return t.visitNonNullAssert(this,e)}}class ge extends Wt{constructor(t,e,n,a){super(t),this.receiver=e,this.name=n,this.args=a}visit(t,e=null){return t.visitMethodCall(this,e)}}class fe extends Wt{constructor(t,e,n,a){super(t),this.receiver=e,this.name=n,this.args=a}visit(t,e=null){return t.visitSafeMethodCall(this,e)}}class pe extends Wt{constructor(t,e,n){super(t),this.target=e,this.args=n}visit(t,e=null){return t.visitFunctionCall(this,e)}}class me extends Wt{constructor(t,e,n,a){super(new Ut(0,null==e?0:e.length)),this.ast=t,this.source=e,this.location=n,this.errors=a}visit(t,e=null){return this.ast.visit(t,e)}toString(){return`${this.source} in ${this.location}`}}class he{constructor(t,e,n,a,r){this.span=t,this.key=e,this.keyIsVar=n,this.name=a,this.expression=r}}const be=function(){var t={Character:0,Identifier:1,Keyword:2,String:3,Operator:4,Number:5,Error:6};return t[t.Character]="Character",t[t.Identifier]="Identifier",t[t.Keyword]="Keyword",t[t.String]="String",t[t.Operator]="Operator",t[t.Number]="Number",t[t.Error]="Error",t}(),_e=["var","let","as","null","undefined","true","false","if","else","this"];class ye{tokenize(t){const e=new Me(t),n=[];let a=e.scanToken();for(;null!=a;)n.push(a),a=e.scanToken();return n}}class Oe{constructor(t,e,n,a){this.index=t,this.type=e,this.numValue=n,this.strValue=a}isCharacter(t){return this.type===be.Character&&this.numValue===t}isNumber(){return this.type===be.Number}isString(){return this.type===be.String}isOperator(t){return this.type===be.Operator&&this.strValue===t}isIdentifier(){return this.type===be.Identifier}isKeyword(){return this.type===be.Keyword}isKeywordLet(){return this.type===be.Keyword&&"let"===this.strValue}isKeywordAs(){return this.type===be.Keyword&&"as"===this.strValue}isKeywordNull(){return this.type===be.Keyword&&"null"===this.strValue}isKeywordUndefined(){return this.type===be.Keyword&&"undefined"===this.strValue}isKeywordTrue(){return this.type===be.Keyword&&"true"===this.strValue}isKeywordFalse(){return this.type===be.Keyword&&"false"===this.strValue}isKeywordThis(){return this.type===be.Keyword&&"this"===this.strValue}isError(){return this.type===be.Error}toNumber(){return this.type===be.Number?this.numValue:-1}toString(){switch(this.type){case be.Character:case be.Identifier:case be.Keyword:case be.Operator:case be.String:case be.Error:return this.strValue;case be.Number:return this.numValue.toString();default:return null}}}function ve(t,e){return new Oe(t,be.Character,e,String.fromCharCode(e))}function Ce(t,e){return new Oe(t,be.Operator,0,e)}const Pe=new Oe(-1,be.Character,0,"");class Me{constructor(t){this.input=t,this.peek=0,this.index=-1,this.length=t.length,this.advance()}advance(){this.peek=++this.index>=this.length?0:this.input.charCodeAt(this.index)}scanToken(){const t=this.input,e=this.length;let n=this.peek,a=this.index;for(;n<=32;){if(++a>=e){n=0;break}n=t.charCodeAt(a)}if(this.peek=n,this.index=a,a>=e)return null;if(xe(n))return this.scanIdentifier();if(S(n))return this.scanNumber(a);const r=a;switch(n){case 46:return this.advance(),S(this.peek)?this.scanNumber(r):ve(r,46);case 40:case 41:case 123:case 125:case 91:case 93:case 44:case 58:case 59:return this.scanCharacter(r,n);case 39:case 34:return this.scanString();case 35:case 43:case 45:case 42:case 47:case 37:case 94:return this.scanOperator(r,String.fromCharCode(n));case 63:return this.scanComplexOperator(r,"?",46,".");case 60:case 62:return this.scanComplexOperator(r,String.fromCharCode(n),61,"=");case 33:case 61:return this.scanComplexOperator(r,String.fromCharCode(n),61,"=",61,"=");case 38:return this.scanComplexOperator(r,"&",38,"&");case 124:return this.scanComplexOperator(r,"|",124,"|");case 160:for(;k(this.peek);)this.advance();return this.scanToken()}return this.advance(),this.error(`Unexpected character [${String.fromCharCode(n)}]`,0)}scanCharacter(t,e){return this.advance(),ve(t,e)}scanOperator(t,e){return this.advance(),Ce(t,e)}scanComplexOperator(t,e,n,a,r,o){this.advance();let i=e;return this.peek===n&&(this.advance(),i+=a),null!=r&&this.peek===r&&(this.advance(),i+=o),Ce(t,i)}scanIdentifier(){const t=this.index;for(this.advance();we(this.peek);)this.advance();const e=this.input.substring(t,this.index);return _e.indexOf(e)>-1?new Oe(t,be.Keyword,0,e):function(t,e){return new Oe(t,be.Identifier,0,e)}(t,e)}scanNumber(t){let e=this.index===t;for(this.advance();;){if(S(this.peek));else if(46===this.peek)e=!1;else{if(101!==(n=this.peek)&&69!==n)break;if(this.advance(),Te(this.peek)&&this.advance(),!S(this.peek))return this.error("Invalid exponent",-1);e=!1}this.advance()}var n;const a=this.input.substring(t,this.index),r=e?function(t){const e=parseInt(t,10);if(isNaN(e))throw new Error("Invalid integer literal when parsing "+t);return e}(a):parseFloat(a);return new Oe(t,be.Number,r,"")}scanString(){const t=this.index,e=this.peek;this.advance();let n="",a=this.index;const r=this.input;for(;this.peek!==e;)if(92===this.peek){let t;if(n+=r.substring(a,this.index),this.advance(),this.peek=this.peek,117===this.peek){const e=r.substring(this.index+1,this.index+5);if(!/^[0-9a-f]+$/i.test(e))return this.error(`Invalid unicode escape [\\u${e}]`,0);t=parseInt(e,16);for(let t=0;t<5;t++)this.advance()}else t=ke(this.peek),this.advance();n+=String.fromCharCode(t),a=this.index}else{if(0===this.peek)return this.error("Unterminated quote",0);this.advance()}const o=r.substring(a,this.index);return this.advance(),new Oe(t,be.String,0,n+o)}error(t,e){const n=this.index+e;return function(t,e){return new Oe(t,be.Error,0,e)}(n,`Lexer Error: ${t} at column ${n} in expression [${this.input}]`)}}function xe(t){return 97<=t&&t<=122||65<=t&&t<=90||95===t||36===t}function we(t){return I(t)||S(t)||95===t||36===t}function Te(t){return 45===t||43===t}function ke(t){switch(t){case 110:return 10;case 102:return 12;case 114:return 13;case 116:return 9;case 118:return 11;default:return t}}class Se{constructor(t,e,n){this.strings=t,this.expressions=e,this.offsets=n}}class Ie{constructor(t,e,n){this.templateBindings=t,this.warnings=e,this.errors=n}}function Ne(t){const e=x(t.start)+"([\\s\\S]*?)"+x(t.end);return new RegExp(e,"g")}class Re{constructor(t){this._lexer=t,this.errors=[]}parseAction(t,e,n=T){this._checkNoInterpolation(t,e,n);const a=this._stripComments(t),r=this._lexer.tokenize(this._stripComments(t)),o=new Ae(t,e,r,a.length,!0,this.errors,t.length-a.length).parseChain();return new me(o,t,e,this.errors)}parseBinding(t,e,n=T){const a=this._parseBindingAst(t,e,n);return new me(a,t,e,this.errors)}parseSimpleBinding(t,e,n=T){const a=this._parseBindingAst(t,e,n),r=Ee.check(a);return r.length>0&&this._reportError(`Host binding expression cannot contain ${r.join(" ")}`,t,e),new me(a,t,e,this.errors)}_reportError(t,e,n,a){this.errors.push(new Ht(t,e,n,a))}_parseBindingAst(t,e,n){const a=this._parseQuote(t,e);if(null!=a)return a;this._checkNoInterpolation(t,e,n);const r=this._stripComments(t),o=this._lexer.tokenize(r);return new Ae(t,e,o,r.length,!1,this.errors,t.length-r.length).parseChain()}_parseQuote(t,e){if(null===t)return null;const n=t.indexOf(":");if(-1===n)return null;const a=t.substring(0,n).trim();if(!function(t){if(0===t.length)return!1;const e=new Me(t);if(!xe(e.peek))return!1;for(e.advance();0!==e.peek;){if(!we(e.peek))return!1;e.advance()}return!0}(a))return null;const r=t.substring(n+1);return new Kt(new Ut(0,t.length),a,r,e)}parseTemplateBindings(t,e,n){const a=this._lexer.tokenize(e);if(t){const e=this._lexer.tokenize(t).map(t=>(t.index=0,t));a.unshift(...e)}return new Ae(e,n,a,e.length,!1,this.errors,0).parseTemplateBindings()}parseInterpolation(t,e,n=T){const a=this.splitInterpolation(t,e,n);if(null===a)return null;const r=[];for(let o=0;o<a.expressions.length;++o){const n=a.expressions[o],i=this._stripComments(n),s=this._lexer.tokenize(i),c=new Ae(t,e,s,i.length,!1,this.errors,a.offsets[o]+(n.length-i.length)).parseChain();r.push(c)}return new me(new ce(new Ut(0,null===t?0:t.length),a.strings,r),t,e,this.errors)}splitInterpolation(t,e,n=T){const a=Ne(n),r=t.split(a);if(r.length<=1)return null;const o=[],i=[],s=[];let c=0;for(let l=0;l<r.length;l++){const a=r[l];l%2==0?(o.push(a),c+=a.length):a.trim().length>0?(c+=n.start.length,i.push(a),s.push(c),c+=a.length+n.end.length):(this._reportError("Blank expressions are not allowed in interpolated strings",t,`at column ${this._findInterpolationErrorColumn(r,l,n)} in`,e),i.push("$implict"),s.push(c))}return new Se(o,i,s)}wrapLiteralPrimitive(t,e){return new me(new oe(new Ut(0,null===t?0:t.length),t),t,e,this.errors)}_stripComments(t){const e=this._commentStart(t);return null!=e?t.substring(0,e).trim():t}_commentStart(t){let e=null;for(let a=0;a<t.length-1;a++){const r=t.charCodeAt(a),o=t.charCodeAt(a+1);if(47===r&&47===o&&null===e)return a;e===r?e=null:null===e&&(39===(n=r)||34===n||96===n)&&(e=r)}var n;return null}_checkNoInterpolation(t,e,n){const a=Ne(n),r=t.split(a);r.length>1&&this._reportError(`Got interpolation (${n.start}${n.end}) where expression was expected`,t,`at column ${this._findInterpolationErrorColumn(r,1,n)} in`,e)}_findInterpolationErrorColumn(t,e,n){let a="";for(let r=0;r<e;r++)a+=r%2==0?t[r]:`${n.start}${t[r]}${n.end}`;return a.length}}class Ae{constructor(t,e,n,a,r,o,i){this.input=t,this.location=e,this.tokens=n,this.inputLength=a,this.parseAction=r,this.errors=o,this.offset=i,this.rparensExpected=0,this.rbracketsExpected=0,this.rbracesExpected=0,this.index=0}peek(t){const e=this.index+t;return e<this.tokens.length?this.tokens[e]:Pe}get next(){return this.peek(0)}get inputIndex(){return this.index<this.tokens.length?this.next.index+this.offset:this.inputLength+this.offset}span(t){return new Ut(t,this.inputIndex)}advance(){this.index++}optionalCharacter(t){return!!this.next.isCharacter(t)&&(this.advance(),!0)}peekKeywordLet(){return this.next.isKeywordLet()}peekKeywordAs(){return this.next.isKeywordAs()}expectCharacter(t){this.optionalCharacter(t)||this.error(`Missing expected ${String.fromCharCode(t)}`)}optionalOperator(t){return!!this.next.isOperator(t)&&(this.advance(),!0)}expectOperator(t){this.optionalOperator(t)||this.error(`Missing expected operator ${t}`)}expectIdentifierOrKeyword(){const t=this.next;return t.isIdentifier()||t.isKeyword()?(this.advance(),t.toString()):(this.error(`Unexpected token ${t}, expected identifier or keyword`),"")}expectIdentifierOrKeywordOrString(){const t=this.next;return t.isIdentifier()||t.isKeyword()||t.isString()?(this.advance(),t.toString()):(this.error(`Unexpected token ${t}, expected identifier, keyword, or string`),"")}parseChain(){const t=[],e=this.inputIndex;for(;this.index<this.tokens.length;){const e=this.parsePipe();if(t.push(e),this.optionalCharacter(59))for(this.parseAction||this.error("Binding expression cannot contain chained expression");this.optionalCharacter(59););else this.index<this.tokens.length&&this.error(`Unexpected token '${this.next}'`)}return 0===t.length?new $t(this.span(e)):1===t.length?t[0]:new Jt(this.span(e),t)}parsePipe(){let t=this.parseExpression();if(this.optionalOperator("|")){this.parseAction&&this.error("Cannot have a pipe in an action expression");do{const e=this.expectIdentifierOrKeyword(),n=[];for(;this.optionalCharacter(58);)n.push(this.parseExpression());t=new re(this.span(t.span.start),t,e,n)}while(this.optionalOperator("|"))}return t}parseExpression(){return this.parseConditional()}parseConditional(){const t=this.inputIndex,e=this.parseLogicalOr();if(this.optionalOperator("?")){const n=this.parsePipe();let a;if(this.optionalCharacter(58))a=this.parsePipe();else{const e=this.input.substring(t,this.inputIndex);this.error(`Conditional expression ${e} requires all 3 expressions`),a=new $t(this.span(t))}return new Xt(this.span(t),e,n,a)}return e}parseLogicalOr(){let t=this.parseLogicalAnd();for(;this.optionalOperator("||");){const e=this.parseLogicalAnd();t=new le(this.span(t.span.start),"||",t,e)}return t}parseLogicalAnd(){let t=this.parseEquality();for(;this.optionalOperator("&&");){const e=this.parseEquality();t=new le(this.span(t.span.start),"&&",t,e)}return t}parseEquality(){let t=this.parseRelational();for(;this.next.type===be.Operator;){const e=this.next.strValue;switch(e){case"==":case"===":case"!=":case"!==":this.advance();const n=this.parseRelational();t=new le(this.span(t.span.start),e,t,n);continue}break}return t}parseRelational(){let t=this.parseAdditive();for(;this.next.type===be.Operator;){const e=this.next.strValue;switch(e){case"<":case">":case"<=":case">=":this.advance();const n=this.parseAdditive();t=new le(this.span(t.span.start),e,t,n);continue}break}return t}parseAdditive(){let t=this.parseMultiplicative();for(;this.next.type===be.Operator;){const e=this.next.strValue;switch(e){case"+":case"-":this.advance();const n=this.parseMultiplicative();t=new le(this.span(t.span.start),e,t,n);continue}break}return t}parseMultiplicative(){let t=this.parsePrefix();for(;this.next.type===be.Operator;){const e=this.next.strValue;switch(e){case"*":case"%":case"/":this.advance();const n=this.parsePrefix();t=new le(this.span(t.span.start),e,t,n);continue}break}return t}parsePrefix(){if(this.next.type===be.Operator){const t=this.inputIndex,e=this.next.strValue;let n;switch(e){case"+":return this.advance(),this.parsePrefix();case"-":return this.advance(),n=this.parsePrefix(),new le(this.span(t),e,new oe(new Ut(t,t),0),n);case"!":return this.advance(),n=this.parsePrefix(),new de(this.span(t),n)}}return this.parseCallChain()}parseCallChain(){let t=this.parsePrimary();for(;;)if(this.optionalCharacter(46))t=this.parseAccessMemberOrMethodCall(t,!1);else if(this.optionalOperator("?."))t=this.parseAccessMemberOrMethodCall(t,!0);else if(this.optionalCharacter(91)){this.rbracketsExpected++;const e=this.parsePipe();if(this.rbracketsExpected--,this.expectCharacter(93),this.optionalOperator("=")){const n=this.parseConditional();t=new ae(this.span(t.span.start),t,e,n)}else t=new ne(this.span(t.span.start),t,e)}else if(this.optionalCharacter(40)){this.rparensExpected++;const e=this.parseCallArguments();this.rparensExpected--,this.expectCharacter(41),t=new pe(this.span(t.span.start),t,e)}else{if(!this.optionalOperator("!"))return t;t=new ue(this.span(t.span.start),t)}}parsePrimary(){const t=this.inputIndex;if(this.optionalCharacter(40)){this.rparensExpected++;const t=this.parsePipe();return this.rparensExpected--,this.expectCharacter(41),t}if(this.next.isKeywordNull())return this.advance(),new oe(this.span(t),null);if(this.next.isKeywordUndefined())return this.advance(),new oe(this.span(t),void 0);if(this.next.isKeywordTrue())return this.advance(),new oe(this.span(t),!0);if(this.next.isKeywordFalse())return this.advance(),new oe(this.span(t),!1);if(this.next.isKeywordThis())return this.advance(),new Zt(this.span(t));if(this.optionalCharacter(91)){this.rbracketsExpected++;const e=this.parseExpressionList(93);return this.rbracketsExpected--,this.expectCharacter(93),new ie(this.span(t),e)}if(this.next.isCharacter(123))return this.parseLiteralMap();if(this.next.isIdentifier())return this.parseAccessMemberOrMethodCall(new Zt(this.span(t)),!1);if(this.next.isNumber()){const e=this.next.toNumber();return this.advance(),new oe(this.span(t),e)}if(this.next.isString()){const e=this.next.toString();return this.advance(),new oe(this.span(t),e)}return this.index>=this.tokens.length?(this.error(`Unexpected end of expression: ${this.input}`),new $t(this.span(t))):(this.error(`Unexpected token ${this.next}`),new $t(this.span(t)))}parseExpressionList(t){const e=[];if(!this.next.isCharacter(t))do{e.push(this.parsePipe())}while(this.optionalCharacter(44));return e}parseLiteralMap(){const t=[],e=[],n=this.inputIndex;if(this.expectCharacter(123),!this.optionalCharacter(125)){this.rbracesExpected++;do{const n=this.next.isString(),a=this.expectIdentifierOrKeywordOrString();t.push({key:a,quoted:n}),this.expectCharacter(58),e.push(this.parsePipe())}while(this.optionalCharacter(44));this.rbracesExpected--,this.expectCharacter(125)}return new se(this.span(n),t,e)}parseAccessMemberOrMethodCall(t,e=!1){const n=t.span.start,a=this.expectIdentifierOrKeyword();if(this.optionalCharacter(40)){this.rparensExpected++;const r=this.parseCallArguments();this.expectCharacter(41),this.rparensExpected--;const o=this.span(n);return e?new fe(o,t,a,r):new ge(o,t,a,r)}if(e)return this.optionalOperator("=")?(this.error("The '?.' operator cannot be used in the assignment"),new $t(this.span(n))):new ee(this.span(n),t,a);if(this.optionalOperator("=")){if(!this.parseAction)return this.error("Bindings cannot contain assignments"),new $t(this.span(n));const e=this.parseConditional();return new te(this.span(n),t,a,e)}return new Qt(this.span(n),t,a)}parseCallArguments(){if(this.next.isCharacter(41))return[];const t=[];do{t.push(this.parsePipe())}while(this.optionalCharacter(44));return t}expectTemplateBindingKey(){let t="",e=!1;do{t+=this.expectIdentifierOrKeywordOrString(),e=this.optionalOperator("-"),e&&(t+="-")}while(e);return t.toString()}parseTemplateBindings(){const t=[];let e=null;for(;this.index<this.tokens.length;){const n=this.inputIndex;let a=this.peekKeywordLet();a&&this.advance();const r=this.expectTemplateBindingKey();let o=r;a||(null===e?e=o:o=e+o[0].toUpperCase()+o.substring(1)),this.optionalCharacter(58);let i=null,s=null;if(a)i=this.optionalOperator("=")?this.expectTemplateBindingKey():"$implicit";else if(this.peekKeywordAs())this.advance(),i=r,o=this.expectTemplateBindingKey(),a=!0;else if(this.next!==Pe&&!this.peekKeywordLet()){const t=this.inputIndex,e=this.parsePipe(),n=this.input.substring(t-this.offset,this.inputIndex-this.offset);s=new me(e,n,this.location,this.errors)}if(t.push(new he(this.span(n),o,a,i,s)),this.peekKeywordAs()&&!a){const e=this.inputIndex;this.advance();const n=this.expectTemplateBindingKey();t.push(new he(this.span(e),n,!0,o,null))}this.optionalCharacter(59)||this.optionalCharacter(44)}return new Ie(t,[],this.errors)}error(t,e=null){this.errors.push(new Ht(t,this.input,this.locationText(e),this.location)),this.skip()}locationText(t=null){return null===t&&(t=this.index),t<this.tokens.length?`at column ${this.tokens[t].index+1} in`:"at the end of the expression"}skip(){let t=this.next;for(;this.index<this.tokens.length&&!t.isCharacter(59)&&(this.rparensExpected<=0||!t.isCharacter(41))&&(this.rbracesExpected<=0||!t.isCharacter(125))&&(this.rbracketsExpected<=0||!t.isCharacter(93));)this.next.isError()&&this.errors.push(new Ht(this.next.toString(),this.input,this.locationText(),this.location)),this.advance(),t=this.next}}class Ee{constructor(){this.errors=[]}static check(t){const e=new Ee;return t.visit(e),e.errors}visitImplicitReceiver(t,e){}visitInterpolation(t,e){}visitLiteralPrimitive(t,e){}visitPropertyRead(t,e){}visitPropertyWrite(t,e){}visitSafePropertyRead(t,e){}visitMethodCall(t,e){}visitSafeMethodCall(t,e){}visitFunctionCall(t,e){}visitLiteralArray(t,e){this.visitAll(t.expressions)}visitLiteralMap(t,e){this.visitAll(t.values)}visitBinary(t,e){}visitPrefixNot(t,e){}visitNonNullAssert(t,e){}visitConditional(t,e){}visitPipe(t,e){this.errors.push("pipes")}visitKeyedRead(t,e){}visitKeyedWrite(t,e){}visitAll(t){return t.map(t=>t.visit(this))}visitChain(t,e){}visitQuote(t,e){}}const De={A:"LINK",B:"BOLD_TEXT",BR:"LINE_BREAK",EM:"EMPHASISED_TEXT",H1:"HEADING_LEVEL1",H2:"HEADING_LEVEL2",H3:"HEADING_LEVEL3",H4:"HEADING_LEVEL4",H5:"HEADING_LEVEL5",H6:"HEADING_LEVEL6",HR:"HORIZONTAL_RULE",I:"ITALIC_TEXT",LI:"LIST_ITEM",LINK:"MEDIA_LINK",OL:"ORDERED_LIST",P:"PARAGRAPH",Q:"QUOTATION",S:"STRIKETHROUGH_TEXT",SMALL:"SMALL_TEXT",SUB:"SUBSTRIPT",SUP:"SUPERSCRIPT",TBODY:"TABLE_BODY",TD:"TABLE_CELL",TFOOT:"TABLE_FOOTER",TH:"TABLE_HEADER_CELL",THEAD:"TABLE_HEADER",TR:"TABLE_ROW",TT:"MONOSPACED_TEXT",U:"UNDERLINED_TEXT",UL:"UNORDERED_LIST"};class Le{constructor(){this._placeHolderNameCounts={},this._signatureToName={}}getStartTagPlaceholderName(t,e,n){const a=this._hashTag(t,e,n);if(this._signatureToName[a])return this._signatureToName[a];const r=t.toUpperCase(),o=De[r]||`TAG_${r}`,i=this._generateUniqueName(n?o:`START_${o}`);return this._signatureToName[a]=i,i}getCloseTagPlaceholderName(t){const e=this._hashClosingTag(t);if(this._signatureToName[e])return this._signatureToName[e];const n=t.toUpperCase(),a=this._generateUniqueName(`CLOSE_${De[n]||`TAG_${n}`}`);return this._signatureToName[e]=a,a}getPlaceholderName(t,e){const n=t.toUpperCase(),a=`PH: ${n}=${e}`;if(this._signatureToName[a])return this._signatureToName[a];const r=this._generateUniqueName(n);return this._signatureToName[a]=r,r}getUniquePlaceholder(t){return this._generateUniqueName(t.toUpperCase())}_hashTag(t,e,n){return`<${t}`+Object.keys(e).sort().map(t=>` ${t}=${e[t]}`).join("")+(n?"/>":`></${t}>`)}_hashClosingTag(t){return this._hashTag(`/${t}`,{},!1)}_generateUniqueName(t){if(!this._placeHolderNameCounts.hasOwnProperty(t))return this._placeHolderNameCounts[t]=1,t;const e=this._placeHolderNameCounts[t];return this._placeHolderNameCounts[t]=e+1,`${t}_${e}`}}const qe=new Re(new ye);class je{constructor(t,e){this._expressionParser=t,this._interpolationConfig=e}toI18nMessage(t,e,n,a){this._isIcu=1===t.length&&t[0]instanceof i,this._icuDepth=0,this._placeholderRegistry=new Le,this._placeholderToContent={},this._placeholderToMessage={};const r=u(this,t,{});return new g(r,this._placeholderToContent,this._placeholderToMessage,e,n,a)}visitElement(t,e){const n=u(this,t.children),a={};t.attrs.forEach(t=>{a[t.name]=t.value});const r=ct(t.name).isVoid,o=this._placeholderRegistry.getStartTagPlaceholderName(t.name,a,r);this._placeholderToContent[o]=t.sourceSpan?t.sourceSpan.toString():"";let i="";return r||(i=this._placeholderRegistry.getCloseTagPlaceholderName(t.name),this._placeholderToContent[i]=`</${t.name}>`),new h(t.name,a,o,i,n,r,t.sourceSpan)}visitAttribute(t,e){return this._visitTextWithInterpolation(t.value,t.sourceSpan)}visitText(t,e){return this._visitTextWithInterpolation(t.value,t.sourceSpan)}visitComment(t,e){return null}visitExpansion(t,e){this._icuDepth++;const n={},a=new m(t.switchValue,t.type,n,t.sourceSpan);if(t.cases.forEach(t=>{n[t.value]=new p(t.expression.map(t=>t.visit(this,{})),t.expSourceSpan)}),this._icuDepth--,this._isIcu||this._icuDepth>0){const e=this._placeholderRegistry.getUniquePlaceholder(`VAR_${t.type}`);return a.expressionPlaceholder=e,this._placeholderToContent[e]=t.switchValue,a}const r=this._placeholderRegistry.getPlaceholderName("ICU",t.sourceSpan.toString()),o=new je(this._expressionParser,this._interpolationConfig);return this._placeholderToMessage[r]=o.toI18nMessage([t],"","",""),new _(a,r,t.sourceSpan)}visitExpansionCase(t,e){throw new Error("Unreachable code")}_visitTextWithInterpolation(t,e){const n=this._expressionParser.splitInterpolation(t,e.start.toString(),this._interpolationConfig);if(!n)return new f(t,e);const a=[],r=new p(a,e),{start:o,end:i}=this._interpolationConfig;for(let c=0;c<n.strings.length-1;c++){const t=n.expressions[c],r=t.split(Fe)[2]||"INTERPOLATION",s=this._placeholderRegistry.getPlaceholderName(r,t);n.strings[c].length&&a.push(new f(n.strings[c],e)),a.push(new b(t,s,e)),this._placeholderToContent[s]=o+t+i}const s=n.strings.length-1;return n.strings[s].length&&a.push(new f(n.strings[s],e)),r}}const Fe=/\/\/[\s\S]*i18n[\s\S]*\([\s\S]*ph[\s\S]*=[\s\S]*("|')([\s\S]*?)\1[\s\S]*\)/g;class ze extends Q{constructor(t=T){super(ct),this.interpolationConfig=t}parse(t,e,n=!1){return super.parse(t,e,n,this.interpolationConfig)}extractMessages(t){const e=new He(["wrapper"]),n=new l("wrapper",[],t,void 0,void 0,void 0);return e.extract(n,this.interpolationConfig)}mergeTranslations(t,e,n,a,r=[]){const o=new He(r),i=new l("wrapper",[],t,void 0,void 0,void 0);return o.merge(i,e,this.interpolationConfig,n,a)}}class Ve{constructor(t,e){this.messages=t,this.errors=e}}class Ge{constructor(t={},e,n,a,r,o){this.i18nNodesByMsgId=t,this.digest=e,this.mapperFactory=r,this.i18nToHtml=new Ye(t,e,r,a,n,o)}static load(t,e,n,a,r,o,i=T){const s=r(t,e);return new Ge(s,t=>n(t),i,o,t=>a(t),console)}get(t,e){const n=this.i18nToHtml.convert(t,e);if(n.errors.length)throw new Error(n.errors.join("\n"));return n.nodes}has(t){return this.digest(t)in this.i18nNodesByMsgId}}class Ye{constructor(t={},e,n,a,r,o){this._i18nNodesByMsgId=t,this._digest=e,this._mapperFactory=n,this._missingTranslationStrategy=a,this._interpolationConfig=r,this._console=o,this._contextStack=[],this._errors=[]}convert(t,e){this._contextStack.length=0,this._errors.length=0,this._params=e,this._paramKeys=Object.keys(e);const n=this.convertToText(t),a=t.nodes[0].sourceSpan.start.file.url,r=(new ze).parse(n,a,!0);return{nodes:r.rootNodes,errors:[...this._errors,...r.errors]}}visitText(t,e){return t.value}visitContainer(t,e){return t.children.map(t=>t.visit(this)).join("")}visitIcu(t,e){const n=Object.keys(t.cases).map(e=>`${e} {${t.cases[e].visit(this)}}`);return`{${this._srcMsg.placeholders.hasOwnProperty(t.expression)?this._srcMsg.placeholders[t.expression]:t.expression}, ${t.type}, ${n.join(" ")}}`}visitPlaceholder(t,e){const n=this._mapper(t.name);return this._srcMsg.placeholders.hasOwnProperty(n)?this.convertToValue(this._srcMsg.placeholders[n]):this._srcMsg.placeholderToMessage.hasOwnProperty(n)?this.convertToText(this._srcMsg.placeholderToMessage[n]):(this._addError(t,`Unknown placeholder "${t.name}"`),"")}visitTagPlaceholder(t,e){const n=`${t.tag}`,a=Object.keys(t.attrs).map(e=>`${e}="${t.attrs[e]}"`).join(" ");return t.isVoid?`<${n} ${a}/>`:`<${n} ${a}>${t.children.map(t=>t.visit(this)).join("")}</${n}>`}visitIcuPlaceholder(t,e){return this.convertToText(this._srcMsg.placeholderToMessage[t.name])}convertToText(t){const e=this._digest(t),n=this._mapperFactory?this._mapperFactory(t):null;let a;this._contextStack.push({msg:this._srcMsg,mapper:this._mapper}),this._srcMsg=t,this._i18nNodesByMsgId.hasOwnProperty(e)?(a=this._i18nNodesByMsgId[e],this._mapper=t=>n?n.toInternalName(t):t):(this._missingTranslationStrategy===r.MissingTranslationStrategy.Error?this._addError(t.nodes[0],`Missing translation for message "${e}"`):this._console&&this._missingTranslationStrategy===r.MissingTranslationStrategy.Warning&&this._console.warn(`Missing translation for message "${e}"`),a=t.nodes,this._mapper=t=>t);const o=a.map(t=>t.visit(this)).join(""),i=this._contextStack.pop();return this._srcMsg=i.msg,this._mapper=i.mapper,o}convertToValue(t){const e=t.replace(this._interpolationConfig.start,"").replace(this._interpolationConfig.end,"");return-1!==this._paramKeys.indexOf(e)?this._params[e]:t}_addError(t,e){this._errors.push(new M(t.sourceSpan,e))}}const Be=function(){var t={Extract:0,Merge:1};return t[t.Extract]="Extract",t[t.Merge]="Merge",t}();class He{constructor(t=[]){this._implicitTags=t,this.blockChildren=[]}extract(t,e){return this.init(Be.Extract,e),t.visit(this,null),this.inI18nBlock&&this._reportError(t,"Unclosed block"),new Ve(this.messages,this.errors)}merge(t,e,n,a,r={}){this.init(Be.Merge,n,a),this.translations=e,this.metadata=r;const o=t.visit(this,null);return this.inI18nBlock&&this._reportError(t,"Unclosed block"),new X(o.children,this.errors)}visitExpansionCase(t,e){const n=u(this,t.expression,e);if(this.mode===Be.Merge)return new s(t.value,n,t.sourceSpan,t.valueSourceSpan,t.expSourceSpan)}visitExpansion(t,e){this.mayBeAddBlockChildren(t);const n=this.inIcu;this.inIcu||(this.isInTranslatableSection&&this.addMessage([t]),this.inIcu=!0);const a=u(this,t.cases,e);return this.mode===Be.Merge&&(t=new i(t.switchValue,t.type,a,t.sourceSpan,t.switchValueSourceSpan)),this.inIcu=n,t}visitComment(t,e){}visitText(t,e){return this.isInTranslatableSection&&this.mayBeAddBlockChildren(t),t}visitElement(t,e){this.mayBeAddBlockChildren(t),this.depth++;const n=this.inI18nNode,a=this.inImplicitNode;let r=[],o=void 0;const i=t.attrs.find(t=>"i18n"===t.name)||null,s=this._implicitTags.some(e=>t.name===e)&&!this.inIcu&&!this.isInTranslatableSection,c=!a&&s;if(this.inImplicitNode=a||s,this.isInTranslatableSection||this.inIcu)(i||c)&&this._reportError(t,"Could not mark an element as translatable inside a translatable section"),this.mode===Be.Extract&&u(this,t.children);else{if(i||c){this.inI18nNode=!0;const e=this.addMessage(t.children,this.metadata);o=this.translateMessage(t,e)}if(this.mode===Be.Extract){const e=i||c;e&&this.openTranslatableSection(t),u(this,t.children),e&&this._closeTranslatableSection(t,t.children)}}return this.mode===Be.Merge&&(o||t.children).forEach(t=>{const n=t.visit(this,e);n&&!this.isInTranslatableSection&&(r=r.concat(n))}),this.depth--,this.inI18nNode=n,this.inImplicitNode=a,this.mode===Be.Merge?new l(t.name,[],r,t.sourceSpan,t.startSourceSpan,t.endSourceSpan):null}visitAttribute(t,e){throw new Error("unreachable code")}init(t,e,n={}){this.mode=t,this.inI18nBlock=!1,this.inI18nNode=!1,this.depth=0,this.inIcu=!1,this.msgCountAtSectionStart=void 0,this.errors=[],this.messages=[],this.inImplicitNode=!1,this.createI18nMessage=function(t){const e=new je(qe,t);return(t,n,a,r)=>e.toI18nMessage(t,n,a,r)}(e),this.params=n}addMessage(t,{meaning:e="",description:n="",id:a=""}={}){if(0===t.length||1===t.length&&t[0]instanceof c&&!t[0].value)return null;const r=this.createI18nMessage(t,e,n,a);return this.messages.push(r),r}translateMessage(t,e){if(e&&this.mode===Be.Merge){const n=this.translations.get(e,this.params);if(n)return n;this._reportError(t,`Translation unavailable for message id="${this.translations.digest(e)}"`)}return[]}mayBeAddBlockChildren(t){this.inI18nBlock&&!this.inIcu&&this.depth===this.blockStartDepth&&this.blockChildren.push(t)}openTranslatableSection(t){this.isInTranslatableSection?this._reportError(t,"Unexpected section start"):this.msgCountAtSectionStart=this.messages.length}get isInTranslatableSection(){return void 0!==this.msgCountAtSectionStart}_closeTranslatableSection(t,e){if(!this.isInTranslatableSection)return void this._reportError(t,"Unexpected section end");const n=this.msgCountAtSectionStart;if(1===e.reduce((t,e)=>t+(e instanceof d?0:1),0))for(let a=this.messages.length-1;a>=n;a--){const t=this.messages[a].nodes;if(!(1===t.length&&t[0]instanceof f)){this.messages.splice(a,1);break}}this.msgCountAtSectionStart=void 0}_reportError(t,e){this.errors.push(new M(t.sourceSpan,e))}}const Ue=new r.InjectionToken("MissingTranslationStrategy");class We{constructor(t,e,n,a=r.MissingTranslationStrategy.Warning){let o,i,s=t=>null;switch(t=(t||"xlf").toLowerCase()){case"xtb":o=zt,i=Vt,s=Gt;break;case"xliff2":case"xlf2":o=Dt,i=Lt;break;case"xliff":case"xlf":o=Nt,i=Rt;break;default:throw new Error(`Unknown translations format ${t}`)}const c=new ze,l=Ge.load(e,"i18n",i,s,o,a);return(t,e={})=>{const a="string"==typeof t?t:t.value,r={};"object"==typeof t&&(r.id=t.id,r.meaning=t.meaning,r.description=t.description);const o=c.parse(a,"",!0);if(o.errors.length)throw o.errors;return function(t,e,n){return t.map(t=>t.visit(new ut(e,n),null))}(c.mergeTranslations(o.rootNodes,l,e,r,["wrapper"]).rootNodes,n,e).join("")}}}},GoyQ:function(t,e){t.exports=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},GyhO:function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var a=n("LRne"),r=n("0EUg");function o(...t){return Object(r.a)()(Object(a.a)(...t))}},H0h1:function(t,e,n){var a=n("SKAX");t.exports=function(t,e){var n=!0;return a(t,(function(t,a,r){return n=!!e(t,a,r)})),n}},H8ED:function(t,e,n){!function(t){"use strict";function e(t,e,n){var a,r;return"m"===n?e?"хвіліна":"хвіліну":"h"===n?e?"гадзіна":"гадзіну":t+" "+(a=+t,r={ss:e?"секунда_секунды_секунд":"секунду_секунды_секунд",mm:e?"хвіліна_хвіліны_хвілін":"хвіліну_хвіліны_хвілін",hh:e?"гадзіна_гадзіны_гадзін":"гадзіну_гадзіны_гадзін",dd:"дзень_дні_дзён",MM:"месяц_месяцы_месяцаў",yy:"год_гады_гадоў"}[n].split("_"),a%10==1&&a%100!=11?r[0]:a%10>=2&&a%10<=4&&(a%100<10||a%100>=20)?r[1]:r[2])}t.defineLocale("be",{months:{format:"студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня".split("_"),standalone:"студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань".split("_")},monthsShort:"студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж".split("_"),weekdays:{format:"нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу".split("_"),standalone:"нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота".split("_"),isFormat:/\[ ?[Ууў] ?(?:мінулую|наступную)? ?\] ?dddd/},weekdaysShort:"нд_пн_ат_ср_чц_пт_сб".split("_"),weekdaysMin:"нд_пн_ат_ср_чц_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., HH:mm",LLLL:"dddd, D MMMM YYYY г., HH:mm"},calendar:{sameDay:"[Сёння ў] LT",nextDay:"[Заўтра ў] LT",lastDay:"[Учора ў] LT",nextWeek:function(){return"[У] dddd [ў] LT"},lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return"[У мінулую] dddd [ў] LT";case 1:case 2:case 4:return"[У мінулы] dddd [ў] LT"}},sameElse:"L"},relativeTime:{future:"праз %s",past:"%s таму",s:"некалькі секунд",m:e,mm:e,h:e,hh:e,d:"дзень",dd:e,M:"месяц",MM:e,y:"год",yy:e},meridiemParse:/ночы|раніцы|дня|вечара/,isPM:function(t){return/^(дня|вечара)$/.test(t)},meridiem:function(t,e,n){return t<4?"ночы":t<12?"раніцы":t<17?"дня":"вечара"},dayOfMonthOrdinalParse:/\d{1,2}-(і|ы|га)/,ordinal:function(t,e){switch(e){case"M":case"d":case"DDD":case"w":case"W":return t%10!=2&&t%10!=3||t%100==12||t%100==13?t+"-ы":t+"-і";case"D":return t+"-га";default:return t}},week:{dow:1,doy:7}})}(n("wd/R"))},H8j4:function(t,e,n){var a=n("QkVE");t.exports=function(t,e){var n=a(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this}},HAuM:function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t}},HDdC:function(t,e,n){"use strict";var a=n("8Qeq"),r=n("7o/Q"),o=n("2QA8"),i=n("gRHU"),s=n("kJWO"),c=n("mCNh"),l=n("2fFW");n.d(e,"a",(function(){return d}));let d=(()=>{class t{constructor(t){this._isScalar=!1,t&&(this._subscribe=t)}lift(e){const n=new t;return n.source=this,n.operator=e,n}subscribe(t,e,n){const{operator:a}=this,s=function(t,e,n){if(t){if(t instanceof r.a)return t;if(t[o.a])return t[o.a]()}return t||e||n?new r.a(t,e,n):new r.a(i.a)}(t,e,n);if(s.add(a?a.call(s,this.source):this.source||l.a.useDeprecatedSynchronousErrorHandling&&!s.syncErrorThrowable?this._subscribe(s):this._trySubscribe(s)),l.a.useDeprecatedSynchronousErrorHandling&&s.syncErrorThrowable&&(s.syncErrorThrowable=!1,s.syncErrorThrown))throw s.syncErrorValue;return s}_trySubscribe(t){try{return this._subscribe(t)}catch(e){l.a.useDeprecatedSynchronousErrorHandling&&(t.syncErrorThrown=!0,t.syncErrorValue=e),Object(a.a)(t)?t.error(e):console.warn(e)}}forEach(t,e){return new(e=u(e))((e,n)=>{let a;a=this.subscribe(e=>{try{t(e)}catch(r){n(r),a&&a.unsubscribe()}},n,e)})}_subscribe(t){const{source:e}=this;return e&&e.subscribe(t)}[s.a](){return this}pipe(...t){return 0===t.length?this:Object(c.b)(t)(this)}toPromise(t){return new(t=u(t))((t,e)=>{let n;this.subscribe(t=>n=t,t=>e(t),()=>t(n))})}}return t.create=e=>new t(e),t})();function u(t){if(t||(t=l.a.Promise||Promise),!t)throw new Error("no Promise impl found");return t}},HDyB:function(t,e,n){var a=n("nmnc"),r=n("JHRd"),o=n("ljhN"),i=n("or5M"),s=n("7fqy"),c=n("rEGp"),l=a?a.prototype:void 0,d=l?l.valueOf:void 0;t.exports=function(t,e,n,a,l,u,g){switch(n){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=e.byteLength||!u(new r(t),new r(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return o(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var f=s;case"[object Set]":if(f||(f=c),t.size!=e.size&&!(1&a))return!1;var p=g.get(t);if(p)return p==e;a|=2,g.set(t,e);var m=i(f(t),f(e),a,l,u,g);return g.delete(t),m;case"[object Symbol]":if(d)return d.call(t)==d.call(e)}return!1}},HH4o:function(t,e,n){var a=n("tiKp")("iterator"),r=!1;try{var o=0,i={next:function(){return{done:!!o++}},return:function(){r=!0}};i[a]=function(){return this},Array.from(i,(function(){throw 2}))}catch(s){}t.exports=function(t,e){if(!e&&!r)return!1;var n=!1;try{var o={};o[a]=function(){return{next:function(){return{done:n=!0}}}},t(o)}catch(s){}return n}},HIU9:function(t,e,n){"use strict";n.d(e,"a",(function(){return l}));var a=n("8Y7J"),r=n("dApe"),o=n("X+05"),i=n("DzJC"),s=n.n(i),c=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},l=function(){function t(t,e,n){var a=this;this.elementRef=t,this.ngZone=e,this.virtualScroll=n,this.setViewport=s()((function(){a.virtualScroll.setViewport(a.elementRef.nativeElement)}),17),this.scrollEventHandler=this.setViewport.bind(this)}return t.prototype.ngOnInit=function(){this.virtualScroll.init()},t.prototype.ngAfterViewInit=function(){var t=this;setTimeout((function(){t.setViewport(),t.virtualScroll.fireEvent({eventName:o.a.initialized})}));var e=this.elementRef.nativeElement;this.ngZone.runOutsideAngular((function(){e.addEventListener("scroll",t.scrollEventHandler)}))},t.prototype.ngOnDestroy=function(){this.virtualScroll.clear(),this.elementRef.nativeElement.removeEventListener("scroll",this.scrollEventHandler)},t.prototype.getTotalHeight=function(){return this.virtualScroll.isEnabled()&&this.virtualScroll.totalHeight+"px"||"auto"},function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i}([Object(a.Component)({selector:"tree-viewport",styles:[],providers:[r.a],template:'\n    <ng-container *treeMobxAutorun="{ dontDetach: true }">\n      <div [style.height]="getTotalHeight()">\n        <ng-content></ng-content>\n      </div>\n    </ng-container>\n  '}),c("design:paramtypes",[a.ElementRef,a.NgZone,r.a])],t)}()},HOxn:function(t,e,n){var a=n("Cwc5")(n("Kz5y"),"Promise");t.exports=a},HP3h:function(t,e,n){!function(t){"use strict";var e={1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",0:"0"},n=function(t){return 0===t?0:1===t?1:2===t?2:t%100>=3&&t%100<=10?3:t%100>=11?4:5},a={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},r=function(t){return function(e,r,o,i){var s=n(e),c=a[t][n(e)];return 2===s&&(c=c[r?0:1]),c.replace(/%d/i,e)}},o=["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"];t.defineLocale("ar-ly",{months:o,monthsShort:o,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/‏M/‏YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(t){return"م"===t},meridiem:function(t,e,n){return t<12?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:r("s"),ss:r("s"),m:r("m"),mm:r("m"),h:r("h"),hh:r("h"),d:r("d"),dd:r("d"),M:r("M"),MM:r("M"),y:r("y"),yy:r("y")},preparse:function(t){return t.replace(/،/g,",")},postformat:function(t){return t.replace(/\d/g,(function(t){return e[t]})).replace(/,/g,"،")},week:{dow:6,doy:12}})}(n("wd/R"))},HV4d:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.id=function(){return("0000"+(Math.random()*Math.pow(36,4)<<0).toString(36)).slice(-4)}},HYAF:function(t,e){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},Hd5f:function(t,e,n){var a=n("0Dky"),r=n("tiKp"),o=n("LQDL"),i=r("species");t.exports=function(t){return o>=51||!a((function(){var e=[];return(e.constructor={})[i]=function(){return{foo:1}},1!==e[t](Boolean).foo}))}},HjS5:function(t,e,n){"use strict";n.r(e),e.default='<xliff xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 http://docs.oasis-open.org/xliff/v1.2/os/xliff-core-1.2-strict.xsd" xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">\n  <file original="ng2.template" datatype="plaintext" source-language="en-US" target-language="zh-TW">\n    <body>\n      <trans-unit id="319e0745bcbc132451569294fa2fa21bf10f555a" datatype="html">\n        <source>Toggle navigation</source>\n        <target>切換導覽</target>\n      </trans-unit>\n      <trans-unit id="f65253954b66e929a8b4d5ecaf61f9129f8cec64" datatype="html">\n        <source>Dashboard</source>\n        <target>儀表板</target>\n      </trans-unit>\n      <trans-unit id="f4d1dd59b039ad818d9da7e29a773e10e41d9821" datatype="html">\n        <source>Cluster</source>\n        <target>叢集</target>\n      </trans-unit>\n      <trans-unit id="099b441d49333b3c6d30b36dc0a4763e64c78920" datatype="html">\n        <source>Hosts</source>\n        <target>主機</target>\n      </trans-unit>\n      <trans-unit id="2cc3ecb16e348fcf2f2fbfd2f997d4d22f37475b" datatype="html">\n        <source>Inventory</source>\n        <target>Inventory</target>\n      </trans-unit>\n      <trans-unit id="624f596cc3320f5e0a0d7c7346c364e5af9bdd8c" datatype="html">\n        <source>Monitors</source>\n        <target>監控程式</target>\n      </trans-unit>\n      <trans-unit id="419d940613972cc3fae9c8ea0a4306dbf80616e5" datatype="html">\n        <source>Services</source>\n        <target>服務</target>\n      </trans-unit>\n      <trans-unit id="1a9183778f2c6473d7ccb080f651caa01faaf70c" datatype="html">\n        <source>OSDs</source>\n        <target>OSD</target>\n      </trans-unit>\n      <trans-unit id="4a41f824a35ba01d5bd7be61aa06b3e8145209d0" datatype="html">\n        <source>Configuration</source>\n        <target>組態</target>\n      </trans-unit>\n      <trans-unit id="8c95898abff46bfac3ed6eb2afef74597e60b15c" datatype="html">\n        <source>CRUSH map</source>\n        <target>CRUSH 地圖</target>\n      </trans-unit>\n      <trans-unit id="33da4dbeb076159510801ea764a218fd341269d2" datatype="html">\n        <source>Manager modules</source>\n        <target>管理員模組</target>\n      </trans-unit>\n      <trans-unit id="eb3d5aefff38a814b76da74371cbf02c0789a1ef" datatype="html">\n        <source>Logs</source>\n        <target>記錄</target>\n      </trans-unit>\n      <trans-unit id="9fe218829514884cdd0ca2300573a4e0428c324f" datatype="html">\n        <source>Alerts</source>\n        <target>警示</target>\n      </trans-unit>\n      <trans-unit id="aa0c44aa1e5727061baa91e954f77e2f5f9a37c9" datatype="html">\n        <source>Silences</source>\n        <target>Silences</target>\n      </trans-unit>\n      <trans-unit id="92899fa68e8ca108912163ff58edc8540e453787" datatype="html">\n        <source>Pools</source>\n        <target>池</target>\n      </trans-unit>\n      <trans-unit id="7f5d0c10614e8a34f0e2dad33a0568277c50cf69" datatype="html">\n        <source>Block</source>\n        <target>區塊</target>\n      </trans-unit>\n      <trans-unit id="b73f7f5060fb22a1e9ec462b1bb02493fa3ab866" datatype="html">\n        <source>Images</source>\n        <target>影像</target>\n      </trans-unit>\n      <trans-unit id="3c2562ba992127203dcfd014010b03cb7b8113c6" datatype="html">\n        <source>Mirroring</source>\n        <target>鏡像</target>\n      </trans-unit>\n      <trans-unit id="811c241d56601b91ef26735b770e64428089b950" datatype="html">\n        <source>iSCSI</source>\n        <target>iSCSI</target>\n      </trans-unit>\n      <trans-unit id="a24eabd99ea5af20f5f94c4484649cd30370042b" datatype="html">\n        <source>NFS</source>\n        <target>NFS</target>\n      </trans-unit>\n      <trans-unit id="a4eff72d97b7ced051398d581f10968218057ddc" datatype="html">\n        <source>Filesystems</source>\n        <target>檔案系統</target>\n      </trans-unit>\n      <trans-unit id="2190548d236ca5f7bc7ab2bca334b860c5ff2ad4" datatype="html">\n        <source>Object Gateway</source>\n        <target>物件閘道</target>\n      </trans-unit>\n      <trans-unit id="9e24f9e2d42104ffc01599db4d566d1cc518f9e6" datatype="html">\n        <source>Daemons</source>\n        <target>精靈</target>\n      </trans-unit>\n      <trans-unit id="4d13a9cd5ed3dcee0eab22cb25198d43886942be" datatype="html">\n        <source>Users</source>\n        <target>使用者</target>\n      </trans-unit>\n      <trans-unit id="9515520496da83179d8b08132f00f575512a1f40" datatype="html">\n        <source>Buckets</source>\n        <target>桶</target>\n      </trans-unit>\n      <trans-unit id="797f8214e8148f4bf0d244baaa7341706b419549" datatype="html">\n        <source>Retrieving data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>. Please wait...\n        </source>\n        <target>Retrieving data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>. Please wait...\n        </target>\n      </trans-unit>\n      <trans-unit id="5a870dc77b9f6f33ee671ea2d856021276933339" datatype="html">\n        <source>Displaying previously cached data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>\n  for \n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n        </source>\n        <target>Displaying previously cached data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>\n  for \n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="ae580202919844531361ba2308287226ff74a584" datatype="html">\n        <source>Could not load data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n  Please check the cluster health.\n        </source>\n        <target>Could not load data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n  Please check the cluster health.\n        </target>\n      </trans-unit>\n      <trans-unit id="7e52e9143145e1db5146258de81eae018a407b31" datatype="html">\n        <source>Clear notifications</source>\n        <target>Clear notifications</target>\n      </trans-unit>\n      <trans-unit id="b0b07bb6b7ff21ede439dd04eaf8872d1ecb84d8" datatype="html">\n        <source>Remove notification</source>\n        <target>Remove notification</target>\n      </trans-unit>\n      <trans-unit id="e17a1d75189da843f541f7764f188f2b19a97df2" datatype="html">\n        <source>Duration:</source>\n        <target>Duration:</target>\n      </trans-unit>\n      <trans-unit id="0d4b37c6675c5b436a54c43d6716eec835e1aa7f" datatype="html">\n        <source>There are no notifications.</source>\n        <target>There are no notifications.</target>\n      </trans-unit>\n      <trans-unit id="0a23e992f6c6e169a38b2b7338b4e5e803b52e0d" datatype="html">\n        <source>Tasks and Notifications</source>\n        <target>Tasks and Notifications</target>\n      </trans-unit>\n      <trans-unit id="3fb5709e10166cbc85970cbff103db227dbeb813" datatype="html">\n        <source>Select a Language</source>\n        <target>選取語言</target>\n      </trans-unit>\n      <trans-unit id="c5109325fb160b543f71a51e7511c00575057431" datatype="html">\n        <source>Loading panel data...</source>\n        <target>正在載入面板資料...</target>\n      </trans-unit>\n      <trans-unit id="8ca12411f890ab8b0a9216418e2b8f5ea7d2441a" datatype="html">\n        <source>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the monitoring functionality.\n        </source>\n        <target>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the monitoring functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="160a9e80dc089792df42e2400b1e81b9e7025aa7" datatype="html">\n        <source>Grafana Dashboard doesn\'t exist. Please refer to\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  add dashboards to Grafana.\n        </source>\n        <target>Grafana Dashboard doesn\'t exist. Please refer to\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  add dashboards to Grafana.\n        </target>\n      </trans-unit>\n      <trans-unit id="4e11830040bd64804a0555de76f291d5832772d4" datatype="html">\n        <source>Grafana Time Picker</source>\n        <target>Grafana 時間選擇器</target>\n      </trans-unit>\n      <trans-unit id="238c1ba845dd7330e8088165275919a1debf1ca3" datatype="html">\n        <source>Reset Settings</source>\n        <target>重設設定</target>\n      </trans-unit>\n      <trans-unit id="c8d1785038d461ec66b5799db21864182b35900a" datatype="html">\n        <source>Refresh</source>\n        <target>Refresh</target>\n      </trans-unit>\n      <trans-unit id="6c947210e2d162b6225083d18820ab602f58cd2d" datatype="html">\n        <source>Remove the custom configuration value. The default configuration will be inherited and used instead.</source>\n        <target>Remove the custom configuration value. The default configuration will be inherited and used instead.</target>\n      </trans-unit>\n      <trans-unit id="454ee9cb60b00446a8fb147fd2cc5eb836320586" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ option.maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ option.maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="7fc8a22825131e028336f60ef909ccbd96059703" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ option.minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ option.minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="cda31dbd724cf5f4fa7a4274d9120651490c8a8c" datatype="html">\n        <source>Back</source>\n        <target>返回</target>\n      </trans-unit>\n      <trans-unit id="012741ee52b3c050e4a977c37cc2334f7974f141" datatype="html">\n        <source>Failed to load data.</source>\n        <target>無法載入資料。</target>\n      </trans-unit>\n      <trans-unit id="80cc9a12d4bf6fe454ed94b379eeaf915f920bb7" datatype="html">\n        <source>selected</source>\n        <target>選取的數目</target>\n        <note>X selected</note>\n      </trans-unit>\n      <trans-unit id="0cb77511a9a148e05b9adf36cc07269956fbb29d" datatype="html">\n        <source>found</source>\n        <target>找到的數目</target>\n        <note>X found</note>\n      </trans-unit>\n      <trans-unit id="79347388740c50b7ac97e144c2494bb62912f312" datatype="html">\n        <source>total</source>\n        <target>總計</target>\n        <note>X total</note>\n      </trans-unit>\n      <trans-unit id="cff1428d10d59d14e45edec3c735a27b5482db59" datatype="html">\n        <source>Name</source>\n        <target>名稱</target>\n      </trans-unit>\n      <trans-unit id="eec715de352a6b114713b30b640d319fa78207a0" datatype="html">\n        <source>Description</source>\n        <target>描述</target>\n      </trans-unit>\n      <trans-unit id="4ad112ce9bcd55dfd137792a86afe1b5a5b13cf8" datatype="html">\n        <source>Long description</source>\n        <target>詳細描述</target>\n      </trans-unit>\n      <trans-unit id="ff7cee38a2259526c519f878e71b964f41db4348" datatype="html">\n        <source>Default</source>\n        <target>預設值</target>\n      </trans-unit>\n      <trans-unit id="33e1c1d9fc05ca3f62fcc8a1170fc31ebae4229c" datatype="html">\n        <source>Daemon default</source>\n        <target>精靈預設值</target>\n      </trans-unit>\n      <trans-unit id="809b0c848932a41318f77a2aace904ef429c13f4" datatype="html">\n        <source>Values</source>\n        <target>值</target>\n      </trans-unit>\n      <trans-unit id="82029b6db704c56a2aa3e82ac555b8655356b077" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8ed8b3967a7326b81b191c9f490006e6a6777a9a" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="52c9a103b812f258bcddc3d90a6e3f46871d25fe" datatype="html">\n        <source>Save</source>\n        <target>儲存</target>\n      </trans-unit>\n      <trans-unit id="738de688b22fba5d0dc7a5e549996838dddad0ee" datatype="html">\n        <source>CRUSH map viewer</source>\n        <target>CRUSH 地圖檢視器</target>\n      </trans-unit>\n      <trans-unit id="94516fa213706c67ce5a5b5765681d7fb032033a" datatype="html">\n        <source>Loading...</source>\n        <target>正在載入...</target>\n      </trans-unit>\n      <trans-unit id="formTitle" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </target>\n        <note>form title</note>\n      </trans-unit>\n      <trans-unit id="9a541ec1a4319fffc16ad3b3ab2c2b6d251a829d" datatype="html">\n        <source>Hostname</source>\n        <target>主機名稱</target>\n      </trans-unit>\n      <trans-unit id="7cbdabcece469fab89cfa687ab152bca18b97498" datatype="html">\n        <source>This field is required.</source>\n        <target>此欄位為必填欄位。</target>\n      </trans-unit>\n      <trans-unit id="1b3f5e5291541678f7afa49d28fad5ca848a8061" datatype="html">\n        <source>The chosen hostname is already in use.</source>\n        <target>The chosen hostname is already in use.</target>\n      </trans-unit>\n      <trans-unit id="formActionButton" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </target>\n        <note>form action button</note>\n      </trans-unit>\n      <trans-unit id="6110699a3562eeb15371063c0cf7f6bfd88a0209" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemNames[0] }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemNames[0] }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>?\n        </target>\n      </trans-unit>\n      <trans-unit id="549859e511ba5af0ea03fcaa620c472f08038969" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected items?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected items?\n        </target>\n      </trans-unit>\n      <trans-unit id="54839ebc827b73c9dc4e1df731c6d36a85036af7" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected \n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected \n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>?\n        </target>\n      </trans-unit>\n      <trans-unit id="2be8b7f04f0104d3fad90d079d8202b74f758b9a" datatype="html">\n        <source>Yes, I am sure.</source>\n        <target>是的,我確定。</target>\n      </trans-unit>\n      <trans-unit id="d7b35c384aecd25a516200d6921836374613dfe7" datatype="html">\n        <source>Cancel</source>\n        <target>取消</target>\n      </trans-unit>\n      <trans-unit id="40661476cb24c89d8b06614998e31d5fbe84eeb6" datatype="html">\n        <source>Hosts List</source>\n        <target>主機清單</target>\n      </trans-unit>\n      <trans-unit id="5e7f4b1ca49e8d217bd0e12c6f7d6b6a2ade2c18" datatype="html">\n        <source>Overall Performance</source>\n        <target>整體效能</target>\n      </trans-unit>\n      <trans-unit id="6bc15dc1a621b6ff7378db7fd3ac10b2a2627c77" datatype="html">\n        <source>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the orchestrator functionality.\n        </source>\n        <target>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the orchestrator functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="3e24569eca61d598c8b01defbbbb1fa8bd5222bc" datatype="html">\n        <source>Devices</source>\n        <target>Devices</target>\n      </trans-unit>\n      <trans-unit id="e6d57f36aa2bad303c8a8ee944b9bd7fae3c8c26" datatype="html">\n        <source>No entries found</source>\n        <target>找不到項目</target>\n      </trans-unit>\n      <trans-unit id="d556ab48a65722b400e497f61737f553ee0f89e2" datatype="html">\n        <source>Cluster Logs</source>\n        <target>叢集記錄</target>\n      </trans-unit>\n      <trans-unit id="5f966baffd188be0e8adc2d7067b86e55fc9b9de" datatype="html">\n        <source>Audit Logs</source>\n        <target>稽核記錄</target>\n      </trans-unit>\n      <trans-unit id="4193c9eb868aeec119b78a14795241e0aa5e8b60" datatype="html">\n        <source>Priority:</source>\n        <target>Priority:</target>\n      </trans-unit>\n      <trans-unit id="1d78ca51eab260ce3fd917d39190d64df5229b6e" datatype="html">\n        <source>Keyword:</source>\n        <target>Keyword:</target>\n      </trans-unit>\n      <trans-unit id="05fa0bded36de6e73a1fa44838b627349dace044" datatype="html">\n        <source>Date:</source>\n        <target>Date:</target>\n      </trans-unit>\n      <trans-unit id="31dadb362bf7f7c2afa10e5f96474ccd3977f91f" datatype="html">\n        <source>Datepicker</source>\n        <target>Datepicker</target>\n      </trans-unit>\n      <trans-unit id="85a400388de1899b1917138cf7e5286376f72847" datatype="html">\n        <source>Time range:</source>\n        <target>Time range:</target>\n      </trans-unit>\n      <trans-unit id="2447796ddbda942f4e2c46619cb84d69f066e568" datatype="html">\n        <source>Loading configuration...</source>\n        <target>正在載入組態...</target>\n      </trans-unit>\n      <trans-unit id="b42c0b347a841bed8859ee83de05080ee28c803b" datatype="html">\n        <source>The configuration could not be loaded.</source>\n        <target>無法載入組態。</target>\n      </trans-unit>\n      <trans-unit id="31a9c2870a934b594d1390146c489f76440859ea" datatype="html">\n        <source>Edit Manager module</source>\n        <target>編輯管理員模組</target>\n      </trans-unit>\n      <trans-unit id="46e09b8290d3d0afdb6baa2021395b0570606a31" datatype="html">\n        <source>The entered value is not a valid UUID, e.g.: 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8</source>\n        <target>輸入的值不是有效的 UUID,例如 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8</target>\n      </trans-unit>\n      <trans-unit id="7aacd038b39cfd347107d01d1dc27f5cb3e0951c" datatype="html">\n        <source>The entered value needs to be a valid IP address.</source>\n        <target>輸入的值必須是有效的  IP 位址。</target>\n      </trans-unit>\n      <trans-unit id="f19106149f4b07a0d721f9d317afed393cb7bd93" datatype="html">\n        <source>The entered value is too high! It must be lower or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.max }}"/>.\n        </source>\n        <target>The entered value is too high! It must be lower or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.max }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="6d33c40ef9a6c3bf0888df831b25e41e65f9d15b" datatype="html">\n        <source>The entered value is too low! It must be greater or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.min }}"/>.\n        </source>\n        <target>The entered value is too low! It must be greater or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.min }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="eae7086660cf1e38c7194a2c49ff52cc656f90f5" datatype="html">\n        <source>The entered value needs to be a number.</source>\n        <target>輸入的值必須為數字。</target>\n      </trans-unit>\n      <trans-unit id="a73376e04b4fb3a20734c8c39743fba32e6676ce" datatype="html">\n        <source>The entered value needs to be a number or decimal.</source>\n        <target>輸入的值必須為數字或小數。</target>\n      </trans-unit>\n      <trans-unit id="047f50bc5b5d17b5bec0196355953e1a5c590ddb" datatype="html">\n        <source>Update</source>\n        <target>更新</target>\n      </trans-unit>\n      <trans-unit id="81b97b8ea996ad1e4f9fca8415021850214884b1" datatype="html">\n        <source>Status</source>\n        <target>狀態</target>\n      </trans-unit>\n      <trans-unit id="57ec6032f5618d4a9f16eb950ad23d2ce7c24b54" datatype="html">\n        <source>Cluster ID</source>\n        <target>叢集 ID</target>\n      </trans-unit>\n      <trans-unit id="67d7facc3fec5f8a49ab9ba0a245872184264ce5" datatype="html">\n        <source>monmap modified</source>\n        <target>monmap 修改時間</target>\n      </trans-unit>\n      <trans-unit id="d4906731aaf2b94b4f547646c9bfe58bb77951b6" datatype="html">\n        <source>monmap epoch</source>\n        <target>monmap 版本編號</target>\n      </trans-unit>\n      <trans-unit id="bd4ee06ffdc46d9dfbd0c0c4f81399021c680056" datatype="html">\n        <source>quorum con</source>\n        <target>quorum con</target>\n      </trans-unit>\n      <trans-unit id="1176c7db8a8276ccb44cc3d42e2c28d9fa6c6596" datatype="html">\n        <source>quorum mon</source>\n        <target>quorum mon</target>\n      </trans-unit>\n      <trans-unit id="530ef677a09d681b3ab68cb0760494b3ae72a77c" datatype="html">\n        <source>required con</source>\n        <target>required con</target>\n      </trans-unit>\n      <trans-unit id="a91558e0d506c32021c31843f8f168899fc65cbf" datatype="html">\n        <source>required mon</source>\n        <target>required mon</target>\n      </trans-unit>\n      <trans-unit id="b3abe9eac5bcd94a54c8da93b312e085ec512e74" datatype="html">\n        <source>In Quorum</source>\n        <target>仲裁成員</target>\n      </trans-unit>\n      <trans-unit id="ba4b748a676e1f217ce1e736fb7ec1215e677bae" datatype="html">\n        <source>Not In Quorum</source>\n        <target>非仲裁成員</target>\n      </trans-unit>\n      <trans-unit id="5ef50ba2514414f799d4c8fc36067a251904ba81" datatype="html">\n        <source>Cluster-wide OSD Flags</source>\n        <target>叢集範圍的 OSD 旗標</target>\n      </trans-unit>\n      <trans-unit id="71c77bb8cecdf11ec3eead24dd1ba506573fa9cd" datatype="html">\n        <source>Submit</source>\n        <target>提交</target>\n      </trans-unit>\n      <trans-unit id="1cfe07dac5b4ee1c464eb24225ddeb4f1d24076a" datatype="html">\n        <source>Advanced...</source>\n        <target>進階...</target>\n      </trans-unit>\n      <trans-unit id="b1ef1c12ddcee305353623919ef02778569f5454" datatype="html">\n        <source>Advanced configuration options</source>\n        <target>Advanced configuration options</target>\n      </trans-unit>\n      <trans-unit id="c35f9c5f268a514b970cc55e9a5dc4bed0988e7f" datatype="html">\n        <source>OSD Recovery Priority</source>\n        <target>OSD 復原優先程度</target>\n      </trans-unit>\n      <trans-unit id="b74af38005e8a8914e45af2ec412e11ceafef8b6" datatype="html">\n        <source>Priority</source>\n        <target>優先程度</target>\n      </trans-unit>\n      <trans-unit id="c2f48f04b379bfba133825747adfd238d511412e" datatype="html">\n        <source>Customize priority values</source>\n        <target>自訂優先程度值</target>\n      </trans-unit>\n      <trans-unit id="4aa19de2a2b54cbda39e9c62917b23044c087776" datatype="html">\n        <source>This field is required!</source>\n        <target>此欄位為必填欄位!</target>\n      </trans-unit>\n      <trans-unit id="b699e94bf376491bd50b70a98531071c737eaf40" datatype="html">\n        <source>[object Object]</source>\n        <target>[object Object]</target>\n      </trans-unit>\n      <trans-unit id="98fe13e7ad6c2b80375d204b47858ded83f80e15" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="5423a3c111be47fc5a1bfe46ceb58c81c84db691" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="5251a4355cece3075db43f15d69a24a0f8485707" datatype="html">\n        <source>Reweight OSD: \n          <x id="INTERPOLATION" equiv-text="{{ osdId }}"/>\n        </source>\n        <target>Reweight OSD: \n          <x id="INTERPOLATION" equiv-text="{{ osdId }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="67650b2998db48201b2c6176cbfef51e7211ccaa" datatype="html">\n        <source>The value needs to be between 0 and 1.</source>\n        <target>該值必須介於 0 至 1 之間。</target>\n      </trans-unit>\n      <trans-unit id="bc11f92113d678a90e334fdf3d7b3fddbe34c579" datatype="html">\n        <source>Reweight</source>\n        <target>重新設定權數</target>\n      </trans-unit>\n      <trans-unit id="d5ca5daf742023fc4f0919fb3c1c6a51991cda4f" datatype="html">\n        <source>OSDs \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>Scrub\n        </source>\n        <target>OSDs \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>Scrub\n        </target>\n      </trans-unit>\n      <trans-unit id="4c17d67c7c5799eb920030e9a399961e90f55dd8" datatype="html">\n        <source>{VAR_SELECT, select, 1 {Deep } }</source>\n        <target>{VAR_SELECT, select, 1 {深層} }</target>\n      </trans-unit>\n      <trans-unit id="2613498e8e5853c26a1cc62ae8dc673d1fdf0e2a" datatype="html">\n        <source>You are about to apply a \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to\n          the OSD(s): \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ selected | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.\n        </source>\n        <target>You are about to apply a \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to\n          the OSD(s): \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ selected | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="dc6705f342a036b332c3fd3443201c3613e5524d" datatype="html">\n        <source>{VAR_SELECT, select, 1 {deep } }</source>\n        <target>{VAR_SELECT, select, 1 {深層} }</target>\n      </trans-unit>\n      <trans-unit id="b49d7877d24112d4bdfce9256edf61a007fae888" datatype="html">\n        <source>OSDs List</source>\n        <target>OSD 清單</target>\n      </trans-unit>\n      <trans-unit id="c402e6ec1c6792ede81f56c28eee8955860391c8" datatype="html">\n        <source>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) \n          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </source>\n        <target>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) \n          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </target>\n      </trans-unit>\n      <trans-unit id="d2797d01ba86f5df03d875803e49e648a4027869" datatype="html">\n        <source>The \n          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to destroy!\n        </source>\n        <target>The \n          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to destroy!\n        </target>\n      </trans-unit>\n      <trans-unit id="e776996dac651ef3819bfa767ccf2a0613759f47" datatype="html">\n        <source>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</source>\n        <target>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</target>\n      </trans-unit>\n      <trans-unit id="1e2c50ed3c3934ef068976dc7f38513cec29d515" datatype="html">\n        <source>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD \n          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </source>\n        <target>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD \n          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </target>\n      </trans-unit>\n      <trans-unit id="4f8b2bb476981727ab34ed40fde1218361f92c45" datatype="html">\n        <source>Details</source>\n        <target>詳細資料</target>\n      </trans-unit>\n      <trans-unit id="8501055865d7031b5521a0c5467532648009a61d" datatype="html">\n        <source>Matcher</source>\n        <target>Matcher</target>\n      </trans-unit>\n      <trans-unit id="9c25e04f554875dc2625a78ba0fc56c6010cd0d3" datatype="html">\n        <source>-- Select an attribute to match against --</source>\n        <target>-- Select an attribute to match against --</target>\n      </trans-unit>\n      <trans-unit id="5049e204c14c648691ac775a64fb504467aeb549" datatype="html">\n        <source>Value</source>\n        <target>值</target>\n      </trans-unit>\n      <trans-unit id="77fc5c63497fc031ddc97645484e3d94ad27766c" datatype="html">\n        <source>Use regular expression</source>\n        <target>Use regular expression</target>\n      </trans-unit>\n      <trans-unit id="7bbec1a797283712c0adf9e71d77fb5a8cd720db" datatype="html">\n        <source>{VAR_SELECT, select, 1 {Update} other {Add} }</source>\n        <target>{VAR_SELECT, select, 1 {Update} other {Add} }</target>\n      </trans-unit>\n      <trans-unit id="f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8" datatype="html">\n        <source>Close</source>\n        <target>關閉</target>\n      </trans-unit>\n      <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c" datatype="html">\n        <source>Edit</source>\n        <target>編輯</target>\n      </trans-unit>\n      <trans-unit id="826b25211922a1b46436589233cb6f1a163d89b7" datatype="html">\n        <source>Delete</source>\n        <target>刪除</target>\n      </trans-unit>\n      <trans-unit id="a3ba06aba047605af8ea1718ec1ba153b7db12a2" datatype="html">\n        <source>Editing a silence will expire the old silence and recreate it as a new silence</source>\n        <target>Editing a silence will expire the old silence and recreate it as a new silence</target>\n      </trans-unit>\n      <trans-unit id="a20424156b8816671f61879f0574a4f27d7b16b9" datatype="html">\n        <source>Creator</source>\n        <target>Creator</target>\n      </trans-unit>\n      <trans-unit id="5a5d7ee2acbfa9c91ab7f41d26bda9ff0cafe42f" datatype="html">\n        <source>Comment</source>\n        <target>Comment</target>\n      </trans-unit>\n      <trans-unit id="4c11aad490b2d53fdae30b3807beabf79306752c" datatype="html">\n        <source>Start time</source>\n        <target>Start time</target>\n      </trans-unit>\n      <trans-unit id="32856b1e8e339b747b21e313e2fe65a51fd450bb" datatype="html">\n        <source>If the start time lies in the past the creation time will be used</source>\n        <target>If the start time lies in the past the creation time will be used</target>\n      </trans-unit>\n      <trans-unit id="a02ea1d4e7424ca989929da5e598f379940fdbf2" datatype="html">\n        <source>Duration</source>\n        <target>Duration</target>\n      </trans-unit>\n      <trans-unit id="2f4e35e36f4d3c62e2c17df41730b6dee4afc4b9" datatype="html">\n        <source>End time</source>\n        <target>End time</target>\n      </trans-unit>\n      <trans-unit id="dbe739ec8c99a0132e326067ffec9c0ee06b2655" datatype="html">\n        <source>Matchers\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>*\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n        </source>\n        <target>Matchers\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>*\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="3e023166c55833d5a13f4143e3dbe372befe1b4e" datatype="html">\n        <source>A silence requires at least one matcher</source>\n        <target>A silence requires at least one matcher</target>\n      </trans-unit>\n      <trans-unit id="ef765bd80c4806c51c891908c07a24bc76f019eb" datatype="html">\n        <source>Add matcher</source>\n        <target>Add matcher</target>\n      </trans-unit>\n      <trans-unit id="d2bcd3296d2850de762fb943060b7e086a893181" datatype="html">\n        <source>Health</source>\n        <target>狀態</target>\n      </trans-unit>\n      <trans-unit id="61e0f26d843eec0b33ff475e111b0c2f7a80b835" datatype="html">\n        <source>Statistics</source>\n        <target>統計資料</target>\n      </trans-unit>\n      <trans-unit id="f8f74e5f683012b9c0702b1446011c6b9158bc67" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the NFS Ganesha management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the NFS Ganesha management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="7ffe39df9d88c972792bd8688b215392deb8313d" datatype="html">\n        <source>Clients</source>\n        <target>用戶端</target>\n      </trans-unit>\n      <trans-unit id="f2dae0bda66f6a349444951c0379c28cda47d6d1" datatype="html">\n        <source>Any client can access</source>\n        <target>任何用戶端均可存取</target>\n      </trans-unit>\n      <trans-unit id="7882f2edb1d4139800b276b6b0bbf5ae0b2234ef" datatype="html">\n        <source>Addresses</source>\n        <target>位址</target>\n      </trans-unit>\n      <trans-unit id="9bd96fcf50863e685c74d0490392f46689ffbdb6" datatype="html">\n        <source>Required field</source>\n        <target>必填欄位</target>\n      </trans-unit>\n      <trans-unit id="a5f3f74c0f6925826cb2188576391c0da01a23f0" datatype="html">\n        <source>Must contain one or more comma-separated values</source>\n        <target>必須包含一或多個逗號分隔值</target>\n      </trans-unit>\n      <trans-unit id="8bb5b2073697f3f4378c44a49b7524934c9268f4" datatype="html">\n        <source>For example:</source>\n        <target>例如︰</target>\n      </trans-unit>\n      <trans-unit id="8f969c655b3fbe4fba7e277caf4cd2c459f9fca5" datatype="html">\n        <source>Access Type</source>\n        <target>存取類型</target>\n      </trans-unit>\n      <trans-unit id="28952831a284cfe2b4fc39ca610e80b52598905a" datatype="html">\n        <source>Squash</source>\n        <target>Squash</target>\n      </trans-unit>\n      <trans-unit id="0660ae339068979854ade34a96546980723dede3" datatype="html">\n        <source>Add clients</source>\n        <target>新增用戶端</target>\n      </trans-unit>\n      <trans-unit id="135b91a2d908d5814b782695470a6a786c99d9d2" datatype="html">\n        <source>-- No cluster available --</source>\n        <target>-- 沒有可用的叢集 --</target>\n      </trans-unit>\n      <trans-unit id="c501dba379f566885919240ea277b5bc10c14d18" datatype="html">\n        <source>-- Select the cluster --</source>\n        <target>-- 選取叢集 --</target>\n      </trans-unit>\n      <trans-unit id="cf85b1ee58326aa9da63da41b2629c9db7c9a5b9" datatype="html">\n        <source>Add daemon</source>\n        <target>新增精靈</target>\n      </trans-unit>\n      <trans-unit id="b3f6ba7fe84d6508705cdfe234f0fcc8ff85c9cf" datatype="html">\n        <source>Storage Backend</source>\n        <target>儲存後端</target>\n      </trans-unit>\n      <trans-unit id="151c80ea931037cd92e854442927f8a0f6ae7795" datatype="html">\n        <source>-- No data pools available --</source>\n        <target>-- 沒有可用的資料池 --</target>\n      </trans-unit>\n      <trans-unit id="b6fee356d1db954255a56d8169405a89595246b9" datatype="html">\n        <source>-- Select the storage backend --</source>\n        <target>-- 選取儲存後端 --</target>\n      </trans-unit>\n      <trans-unit id="76d67035c3ab3d8e56f725859f820f03fda41cfc" datatype="html">\n        <source>Object Gateway User</source>\n        <target>物件閘道使用者</target>\n      </trans-unit>\n      <trans-unit id="fade7788bace74337f306ae209f10fc187ef4671" datatype="html">\n        <source>-- No users available --</source>\n        <target>-- 沒有可用的使用者 --</target>\n      </trans-unit>\n      <trans-unit id="6d30b7b36cf8f6364167321bdb4ba35d4cefce7b" datatype="html">\n        <source>-- Select the object gateway user --</source>\n        <target>-- 選取物件閘道使用者 --</target>\n      </trans-unit>\n      <trans-unit id="589ce20d3ba3e3ac44f75decfaadc4ea8f0aec2d" datatype="html">\n        <source>CephFS User ID</source>\n        <target>CephFS 使用者 ID</target>\n      </trans-unit>\n      <trans-unit id="c4b88a53ac3b0ece46ba9b3ad72355a3c190cce7" datatype="html">\n        <source>-- No clients available --</source>\n        <target>-- 沒有可用的用戶端 --</target>\n      </trans-unit>\n      <trans-unit id="da52835b80497a0002d24414b057dc46ae44ce38" datatype="html">\n        <source>-- Select the cephx client --</source>\n        <target>-- 選取 cephx 用戶端 --</target>\n      </trans-unit>\n      <trans-unit id="fd3419e8957d928d7f7ba19c93356a0dbff02871" datatype="html">\n        <source>CephFS Name</source>\n        <target>CephFS 名稱</target>\n      </trans-unit>\n      <trans-unit id="ee3ba0ab5f0ccd597b3e44021c71e9aaad14df0a" datatype="html">\n        <source>-- No CephFS filesystem available --</source>\n        <target>-- No CephFS filesystem available --</target>\n      </trans-unit>\n      <trans-unit id="764c57812558b1ae66c5eec95d7efd2b1bf761e3" datatype="html">\n        <source>-- Select the CephFS filesystem --</source>\n        <target>-- Select the CephFS filesystem --</target>\n      </trans-unit>\n      <trans-unit id="957512d0321f73e9f115bce1bd823fa635170c41" datatype="html">\n        <source>Security Label</source>\n        <target>安全標籤</target>\n      </trans-unit>\n      <trans-unit id="65ce0fa4da1ed55e658aeb31d1644a29f06bb342" datatype="html">\n        <source>Enable security label</source>\n        <target>啟用安全標籤</target>\n      </trans-unit>\n      <trans-unit id="7e808f804130c7b6ff719509cbc06ebb27393a48" datatype="html">\n        <source>CephFS Path</source>\n        <target>CephFS 路徑</target>\n      </trans-unit>\n      <trans-unit id="5ecc0107badb6625466aaa3f975b5c05276f432f" datatype="html">\n        <source>Path need to start with a \'/\' and can be followed by a word</source>\n        <target>路徑必須以「/」開頭,後面可接單詞</target>\n      </trans-unit>\n      <trans-unit id="2d02916f44fc63e13ab16d1cbe72aa6cb51feab3" datatype="html">\n        <source>New directory will be created</source>\n        <target>將建立新目錄</target>\n      </trans-unit>\n      <trans-unit id="766c66ad5cc981c531aaf3fe3a2a7a346ddc8d83" datatype="html">\n        <source>Path</source>\n        <target>路徑</target>\n      </trans-unit>\n      <trans-unit id="7ec35c722a50b976620f22612f7be619c12ceb90" datatype="html">\n        <source>Path can only be a single \'/\' or a word</source>\n        <target>路徑只能以單一「/」或單詞開頭</target>\n      </trans-unit>\n      <trans-unit id="aebb6a5090c24511de4530195694bb3f3dcf0342" datatype="html">\n        <source>New bucket will be created</source>\n        <target>將建立新桶</target>\n      </trans-unit>\n      <trans-unit id="bee6900143996c0e908a10564532eba3da0b30fb" datatype="html">\n        <source>NFS Protocol</source>\n        <target>NFS 通訊協定</target>\n      </trans-unit>\n      <trans-unit id="2f534178c01ebf1307da2eaeef04bc6801ebc729" datatype="html">\n        <source>NFSv3</source>\n        <target>NFSv3</target>\n      </trans-unit>\n      <trans-unit id="f5043c0921e709935ab026bb3253ffe1f159fca1" datatype="html">\n        <source>NFSv4</source>\n        <target>NFSv4</target>\n      </trans-unit>\n      <trans-unit id="92488963d23095985a47c0d6e62304e11d333f19" datatype="html">\n        <source>NFS Tag</source>\n        <target>NFS 標記</target>\n      </trans-unit>\n      <trans-unit id="aae93362720aea94623682996dd3fcd0f906f056" datatype="html">\n        <source>Alternative access for \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v3\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> mounts (it must not have a leading /).\n        </source>\n        <target>Alternative access for \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v3\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> mounts (it must not have a leading /).\n        </target>\n      </trans-unit>\n      <trans-unit id="45d6db77dcf1a3eeb921033abc7882e517a541cc" datatype="html">\n        <source>Clients may not mount subdirectories (i.e. if Tag = foo, the client may not mount foo/baz).</source>\n        <target>用戶端不能掛接子目錄 (即如果標記為 foo,則用戶端無法掛接 foo/baz)。</target>\n      </trans-unit>\n      <trans-unit id="a1c7a8676b55e882a97c6a6fb205204f9c761afa" datatype="html">\n        <source>By using different Tag options, the same Path may be exported multiple times.</source>\n        <target>透過使用不同標記選項,可將同一路徑輸出多次。</target>\n      </trans-unit>\n      <trans-unit id="6d2c39708a32910f89701dd7e1cfb9ec1c195768" datatype="html">\n        <source>Pseudo</source>\n        <target>虛擬</target>\n      </trans-unit>\n      <trans-unit id="1f8be2ae25947bec0b84c2338201580ea053f34e" datatype="html">\n        <source>The position that this \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v4\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> export occupies\n                in the \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>Pseudo FS\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> (it must be unique).\n        </source>\n        <target>The position that this \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v4\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> export occupies\n                in the \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>Pseudo FS\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> (it must be unique).\n        </target>\n      </trans-unit>\n      <trans-unit id="f3af55f7fd5b1d9e5a53e030c80116dc635bfb9f" datatype="html">\n        <source>By using different Pseudo options, the same Path may be exported multiple times.</source>\n        <target>透過使用不同虛擬選項,可將同一路徑輸出多次。</target>\n      </trans-unit>\n      <trans-unit id="ddf98fcdeeb17643db020d54f42b5e56b5f9a52a" datatype="html">\n        <source>Pseudo needs to start with a \'/\' and can\'t contain any of the following: &gt;, &lt;, |, &amp;, ( or ).</source>\n        <target>Pseudo needs to start with a \'/\' and can\'t contain any of the following: &gt;, &lt;, |, &amp;, ( or ).</target>\n      </trans-unit>\n      <trans-unit id="27eb35c4b4ac08781a7253a2ab40f8f7d957ba51" datatype="html">\n        <source>-- No access type available --</source>\n        <target>-- 沒有可用的存取類型 --</target>\n      </trans-unit>\n      <trans-unit id="509ce016c9110a54028dafd741f15ceacbe74b5a" datatype="html">\n        <source>-- Select the access type --</source>\n        <target>-- 選取存取類型 --</target>\n      </trans-unit>\n      <trans-unit id="49850390a653cd05dc5843d74ef073a9122b54c9" datatype="html">\n        <source>The Object Gateway NFS backend has a number of\n              limitations which will seriously affect applications writing to\n              the share. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for details before enabling write access.\n        </source>\n        <target>The Object Gateway NFS backend has a number of\n              limitations which will seriously affect applications writing to\n              the share. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for details before enabling write access.\n        </target>\n      </trans-unit>\n      <trans-unit id="4deda03573eaaff77e63f6a238a1f0ca7816950a" datatype="html">\n        <source>-- No squash available --</source>\n        <target>-- 沒有可用的 squash --</target>\n      </trans-unit>\n      <trans-unit id="a0e82a4da88e7fdf270444f838d45849676e9d4b" datatype="html">\n        <source>--Select what kind of user id squashing is performed --</source>\n        <target>-- 選取執行哪種類型的使用者 ID 匿名存取 --</target>\n      </trans-unit>\n      <trans-unit id="d01b7c3f7f06712c53d054cfbe4f53d446b038e8" datatype="html">\n        <source>Transport Protocol</source>\n        <target>傳輸通訊協定</target>\n      </trans-unit>\n      <trans-unit id="d2a6ad6e8bc315f07911722c05767ac79c136d99" datatype="html">\n        <source>UDP</source>\n        <target>UDP</target>\n      </trans-unit>\n      <trans-unit id="9c030f11e0aae9b24d2c048c57f29f590be621df" datatype="html">\n        <source>TCP</source>\n        <target>TCP</target>\n      </trans-unit>\n      <trans-unit id="734c9905951a774870497c5aaae8e3ee833b6196" datatype="html">\n        <source>CephFS</source>\n        <target>CephFS</target>\n      </trans-unit>\n      <trans-unit id="449dca3d3a93ead418b0541ea81b0dda7e6483c2" datatype="html">\n        <source>Welcome to Ceph!</source>\n        <target>歡迎使用 Ceph!</target>\n        <note>The welcome message on the login page</note>\n      </trans-unit>\n      <trans-unit id="0070e83d11da39d6f4bb95065c2675db1610b419" datatype="html">\n        <source>Username is required</source>\n        <target>需要指定使用者名稱</target>\n      </trans-unit>\n      <trans-unit id="1e20f8b8a4706526c9024cc2f39d568345d100dc" datatype="html">\n        <source>Password is required</source>\n        <target>需要指定密碼</target>\n      </trans-unit>\n      <trans-unit id="6765b4c916060f6bc42d9bb69e80377dbcb5e4e9" datatype="html">\n        <source>Login</source>\n        <target>登入</target>\n      </trans-unit>\n      <trans-unit id="58fc1b5c79a75370eb52644fd83fb2e7096b6649" datatype="html">\n        <source>Sorry, the user does not exist in Ceph.</source>\n        <target>抱歉,該使用者不存在於 Ceph 中。</target>\n      </trans-unit>\n      <trans-unit id="d9deb94f78e7c41b35c6622b874f06657d7604c1" datatype="html">\n        <source>Return to \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Login Page\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You\'ll be logged out from the Identity Provider when you retry logging in.\n        </source>\n        <target>Return to \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Login Page\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You\'ll be logged out from the Identity Provider when you retry logging in.\n        </target>\n      </trans-unit>\n      <trans-unit id="0eb15f32b2b92d7f3103ef3ff032621888a8dc32" datatype="html">\n        <source>Old password</source>\n        <target>Old password</target>\n      </trans-unit>\n      <trans-unit id="1cf42e491adc166a337a960eb84d03c0c3f677c8" datatype="html">\n        <source>The old and new passwords must be different.</source>\n        <target>The old and new passwords must be different.</target>\n      </trans-unit>\n      <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229" datatype="html">\n        <source>New password</source>\n        <target>New password</target>\n      </trans-unit>\n      <trans-unit id="595ebc9279497f6dc733777e2816bee936901388" datatype="html">\n        <source>Too weak</source>\n        <target>Too weak</target>\n      </trans-unit>\n      <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b" datatype="html">\n        <source>Confirm new password</source>\n        <target>Confirm new password</target>\n      </trans-unit>\n      <trans-unit id="90163a3d3746819aef42e829f4446331232f3b66" datatype="html">\n        <source>Password confirmation doesn\'t match the new password.</source>\n        <target>Password confirmation doesn\'t match the new password.</target>\n      </trans-unit>\n      <trans-unit id="471e78026c258073ba687478dc54c35d9041ea42" datatype="html">\n        <source>Forbidden</source>\n        <target>已禁止</target>\n      </trans-unit>\n      <trans-unit id="02ea8ad57677e3c63f3d7814ca5e6c7b74e360b4" datatype="html">\n        <source>Sorry, you are not allowed to see what you were looking for.</source>\n        <target>抱歉,您無權查看您要尋找的內容。</target>\n      </trans-unit>\n      <trans-unit id="e3c028c58f92453d46f09b5adf95b2f013ee0300" datatype="html">\n        <source>Sorry, we could not find what you were looking for</source>\n        <target>抱歉,我們找不到您要尋找的內容。</target>\n      </trans-unit>\n      <trans-unit id="a949d7e577902d0e5dc5d0971bb0170a21be7728" datatype="html">\n        <source>[object Object]</source>\n        <target>[object Object]</target>\n      </trans-unit>\n      <trans-unit id="ff92fbdec9fdd5054493eeda0d7ee8b450f83e72" datatype="html">\n        <source>RBD Configuration</source>\n        <target>RBD 組態</target>\n      </trans-unit>\n      <trans-unit id="b62d9efc8eb3b589904f6cb96a0406bbda55673a" datatype="html">\n        <source>Remove the local configuration value. The parent configuration value will be inherited and used instead.</source>\n        <target>移除本地組態值。將繼承並使用父組態值。</target>\n      </trans-unit>\n      <trans-unit id="963488a1010d46067b238c4ae917fab3907c0a3a" datatype="html">\n        <source>The mininum value is 0</source>\n        <target>最小值為 0</target>\n      </trans-unit>\n      <trans-unit id="1d8a7c8aea58294a3c57c23af0468ddf0ba0c9c7" datatype="html">\n        <source>Pools List</source>\n        <target>池清單</target>\n      </trans-unit>\n      <trans-unit id="490e15ecc922965b6d8194754c87c5583aa071f3" datatype="html">\n        <source>The name can only consist of alphanumeric characters, dashes and underscores.</source>\n        <target>名稱只能由英數字元、破折號和底線組成。</target>\n      </trans-unit>\n      <trans-unit id="9edc2b494e660618af3e5225f68d40b7ca67629c" datatype="html">\n        <source>The chosen erasure code profile name is already in use.</source>\n        <target>所選的糾刪碼設定檔名稱已在使用中。</target>\n      </trans-unit>\n      <trans-unit id="ef9ff0e6227947b48dfab4ac39ade04af758913b" datatype="html">\n        <source>Plugin</source>\n        <target>外掛程式</target>\n      </trans-unit>\n      <trans-unit id="dd69b31bce8f630eac1d4762b0bbcf72ce19d193" datatype="html">\n        <source>Data chunks (k)</source>\n        <target>資料區塊 (k)</target>\n      </trans-unit>\n      <trans-unit id="b0d26a6172d32cb81218fe2103c54a818cbc1189" datatype="html">\n        <source>Must be equal to or greater than 2.</source>\n        <target>必須大於或等於 2。</target>\n      </trans-unit>\n      <trans-unit id="dab3a299ead121169b8e08ed618c3b6a2f66691b" datatype="html">\n        <source>Coding chunks (m)</source>\n        <target>編碼區塊 (m)</target>\n      </trans-unit>\n      <trans-unit id="1e2773e5bd4948193f18f2361d663ecc3988c656" datatype="html">\n        <source>Must be equal to or greater than 1.</source>\n        <target>必須大於或等於 1。</target>\n      </trans-unit>\n      <trans-unit id="6cde4c945a49a260c0a47bcc7cd956846930a5f7" datatype="html">\n        <source>Durability estimator (c)</source>\n        <target>持久性估值 (c)</target>\n      </trans-unit>\n      <trans-unit id="af668c2a095a979ea2b4e43cd82c2120ab56c21c" datatype="html">\n        <source>Locality (l)</source>\n        <target>本地性 (l)</target>\n      </trans-unit>\n      <trans-unit id="d455a110bf6d2235e314e295ce1dfeee93d3dff2" datatype="html">\n        <source>Crush failure domain</source>\n        <target>CRUSH 故障網域</target>\n      </trans-unit>\n      <trans-unit id="b74a495f041f7dd102eee5c0bbc9e03083b538ae" datatype="html">\n        <source>Crush Locality</source>\n        <target>CRUSH 本地性</target>\n      </trans-unit>\n      <trans-unit id="a2f14a73f7a6e94479f67423cc51102da8d6f524" datatype="html">\n        <source>None</source>\n        <target>無</target>\n      </trans-unit>\n      <trans-unit id="2981733b912b693a9dd9d915d6d34f4692cc874a" datatype="html">\n        <source>Technique</source>\n        <target>技術</target>\n      </trans-unit>\n      <trans-unit id="e0098b6e47b04ec817361f384ce81d454ba5c0bb" datatype="html">\n        <source>Packetsize</source>\n        <target>封包大小</target>\n      </trans-unit>\n      <trans-unit id="c0252cd81ca54d0a2f69ec9ccf4248e73df5aa4a" datatype="html">\n        <source>Crush root</source>\n        <target>CRUSH 根</target>\n      </trans-unit>\n      <trans-unit id="1548d5c76f0406ddd1ba3c557e1e6db22e95b340" datatype="html">\n        <source>Crush device class</source>\n        <target>CRUSH 裝置類別</target>\n      </trans-unit>\n      <trans-unit id="5e85feb6f9f0334366e46ee09ca6b8df52397432" datatype="html">\n        <source>any</source>\n        <target>任何</target>\n      </trans-unit>\n      <trans-unit id="03d84645f6e019c5a43909bbf2ea1696ee88332c" datatype="html">\n        <source>Directory</source>\n        <target>目錄</target>\n      </trans-unit>\n      <trans-unit id="2fecea01ce1d44114ee45144eff6d47a5016a74f" datatype="html">\n        <source>Name...</source>\n        <target>名稱...</target>\n      </trans-unit>\n      <trans-unit id="16e113230b6b0d3165e076300880542bac7c8138" datatype="html">\n        <source>The chosen Ceph pool name is already in use.</source>\n        <target>所選的 Ceph 池名稱已在使用中。</target>\n      </trans-unit>\n      <trans-unit id="c75b132bef7b29fa5171768303c4b96e34ccaf68" datatype="html">\n        <source>It\'s not possible to create an RBD pool with \'/\' in the name.\n              Please change the name or remove \'rbd\' from the applications list.</source>\n        <target>It\'s not possible to create an RBD pool with \'/\' in the name.\n              Please change the name or remove \'rbd\' from the applications list.</target>\n      </trans-unit>\n      <trans-unit id="b85c657469e5ec8231c3de99b22f437bc01ffde5" datatype="html">\n        <source>Pool type</source>\n        <target>池類型</target>\n      </trans-unit>\n      <trans-unit id="526c5443254c3b126eedb264840ffe827727bfd3" datatype="html">\n        <source>-- Select a pool type --</source>\n        <target>-- 選取池類型 --</target>\n      </trans-unit>\n      <trans-unit id="0aa21053410a94aa61d16985a4e95fd65523430d" datatype="html">\n        <source>Placement groups</source>\n        <target>放置群組</target>\n      </trans-unit>\n      <trans-unit id="6301f1391d726f8f450bb358058534db19541ca9" datatype="html">\n        <source>At least one placement group is needed!</source>\n        <target>至少需要一個放置群組!</target>\n      </trans-unit>\n      <trans-unit id="ba9469a1ce6ed36e039c1f67247c8c81a5c71449" datatype="html">\n        <source>Your cluster can\'t handle this many PGs. Please recalculate the PG amount needed.</source>\n        <target>您的叢集無法處理這麼多的 PG。請重新計算所需的 PG 數量。</target>\n      </trans-unit>\n      <trans-unit id="80ac68cd883369dac20688bc32b4cb33291b5e50" datatype="html">\n        <source>Calculation help</source>\n        <target>計算說明</target>\n      </trans-unit>\n      <trans-unit id="fccbd60493df26705d957ed6c02a3c447894678f" datatype="html">\n        <source>The current PGs settings were calculated for you, you\n                should make sure the values suit your needs before submit.</source>\n        <target>The current PGs settings were calculated for you, you\n                should make sure the values suit your needs before submit.</target>\n      </trans-unit>\n      <trans-unit id="33150f22ce5348aa6c499bd092c3f4f3695d62cc" datatype="html">\n        <source>Crush ruleset</source>\n        <target>CRUSH 規則集</target>\n      </trans-unit>\n      <trans-unit id="73a6b31116b3cc322af951daa0bafdc169e6c42e" datatype="html">\n        <source>-- Select a crush rule --</source>\n        <target>-- 選取 CRUSH 規則 --</target>\n      </trans-unit>\n      <trans-unit id="92da80699921e89fb19372e25b8d0f3b9fa427fc" datatype="html">\n        <source>Crush rule</source>\n        <target>CRUSH 規則</target>\n      </trans-unit>\n      <trans-unit id="5489e9f96835f469f6f728a00d8efa88ea5bc940" datatype="html">\n        <source>Crush steps</source>\n        <target>CRUSH 步驟</target>\n      </trans-unit>\n      <trans-unit id="54a53b1b402aafff5b992ee9b64e409fbfe9074f" datatype="html">\n        <source>The rule can\'t be used in the current cluster as it has\n                to few OSDs to meet the minimum required OSD by this rule.</source>\n        <target>無法在目前的叢集中使用此規則,因為叢集的\n                OSD 數量過少,無法滿足規則所需的最低 OSD 數量。</target>\n      </trans-unit>\n      <trans-unit id="a43b2695131b48b76cebba676aba98a2bee17515" datatype="html">\n        <source>Replicated size</source>\n        <target>複製大小</target>\n      </trans-unit>\n      <trans-unit id="7bff144a4c4dc63b0e18fff2617d61a7ebdf2b6c" datatype="html">\n        <source>Minimum: \n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/>\n        </source>\n        <target>Minimum: \n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="1a9c54b41f6d58a74e5d0aa3429ed0c87a482551" datatype="html">\n        <source>Maximum: \n          <x id="INTERPOLATION" equiv-text="{{ getMaxSize() }}"/>\n        </source>\n        <target>Maximum: \n          <x id="INTERPOLATION" equiv-text="{{ getMaxSize() }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6ab647b95bd2347ae6f4605576de5e0269fb893a" datatype="html">\n        <source>The size specified is out of range. A value from\n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/> to \n          <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.\n        </source>\n        <target>The size specified is out of range. A value from\n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/> to \n          <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.\n        </target>\n      </trans-unit>\n      <trans-unit id="9de7dde00e2139cc4bd03b1837afbe72ad15a1ff" datatype="html">\n        <source>Erasure code profile</source>\n        <target>糾刪碼設定檔</target>\n      </trans-unit>\n      <trans-unit id="39b4620e6bd444e0a57a0a5c03fa8c96d7fe5235" datatype="html">\n        <source>-- No erasure code profile available --</source>\n        <target>-- 沒有可用的糾刪碼設定檔 --</target>\n      </trans-unit>\n      <trans-unit id="498561757390d5528b263ce450d5f38efb00266d" datatype="html">\n        <source>-- Select an erasure code profile --</source>\n        <target>-- 選取糾刪碼設定檔 --</target>\n      </trans-unit>\n      <trans-unit id="920617c6a1a4805e53bcb5af6a9c76f8387e89c6" datatype="html">\n        <source>Flags</source>\n        <target>旗標</target>\n      </trans-unit>\n      <trans-unit id="1c870fb00256b8a5b9cb9cd1a124e6390b9bc639" datatype="html">\n        <source>EC Overwrites</source>\n        <target>EC 覆寫</target>\n      </trans-unit>\n      <trans-unit id="f1abafaeb40ce52355ddcc24686e3cd17b64e08a" datatype="html">\n        <source>Applications</source>\n        <target>應用程式</target>\n      </trans-unit>\n      <trans-unit id="2208d63d5940ce656006a220102b1eb2b5e553da" datatype="html">\n        <source>Compression</source>\n        <target>壓縮</target>\n      </trans-unit>\n      <trans-unit id="37e10df2d9c0c25ef04ac112c9c9a7723e8efae0" datatype="html">\n        <source>Mode</source>\n        <target>模式</target>\n      </trans-unit>\n      <trans-unit id="6c6f25c47da62ec597c6057a36ddfc3209811ec5" datatype="html">\n        <source>Algorithm</source>\n        <target>演算法</target>\n      </trans-unit>\n      <trans-unit id="4903231d42089325a28892c0fde1aed46b733ae6" datatype="html">\n        <source>-- No erasure compression algorithm available --</source>\n        <target>-- 沒有可用的糾刪壓縮演算法 --</target>\n      </trans-unit>\n      <trans-unit id="5d68ddb254275f8f44221e9ad6d8ceeb59ca46a6" datatype="html">\n        <source>Minimum blob size</source>\n        <target>Blob 最小大小</target>\n      </trans-unit>\n      <trans-unit id="fb2f176df80647137cbb02bbeb29e5dec707a400" datatype="html">\n        <source>e.g., 128KiB</source>\n        <target>例如 128 KiB</target>\n      </trans-unit>\n      <trans-unit id="1b7f6e53a4521c6eb3ced4c007fdd4cf80bb7707" datatype="html">\n        <source>Value should be greater than 0</source>\n        <target>值應大於 0</target>\n      </trans-unit>\n      <trans-unit id="8db98ab14b4e207ec763dfdefbc2dae367aab1cc" datatype="html">\n        <source>Value should be less than the maximum blob size</source>\n        <target>Value should be less than the maximum blob size</target>\n      </trans-unit>\n      <trans-unit id="151efb127a9a4dd25259a0b2055442318a141f5b" datatype="html">\n        <source>Maximum blob size</source>\n        <target>Blob 最大大小</target>\n      </trans-unit>\n      <trans-unit id="0c656f0e346bbadf46eb1a5d20d0307a3bd20ba8" datatype="html">\n        <source>e.g., 512KiB</source>\n        <target>例如 512 KiB</target>\n      </trans-unit>\n      <trans-unit id="0a65a24eee8a026f3b1113fe9e157e9a0dd69486" datatype="html">\n        <source>Value should be greater than the minimum blob size</source>\n        <target>值應大於 blob 最小大小</target>\n      </trans-unit>\n      <trans-unit id="261ba09c4a59de83f48f52a23fd328da37e61ff4" datatype="html">\n        <source>Ratio</source>\n        <target>比率</target>\n      </trans-unit>\n      <trans-unit id="c1430457a9c3c66366e51d76bf10396014c576be" datatype="html">\n        <source>Compression ratio</source>\n        <target>壓縮率</target>\n      </trans-unit>\n      <trans-unit id="ae5ce6de352cde949998fb10754459c3a4eb183b" datatype="html">\n        <source>Value should be between 0.0 and 1.0</source>\n        <target>值應介於 0.0 至 1.0 之間</target>\n      </trans-unit>\n      <trans-unit id="8bb8293aa8161433778762ae025ffd5e7c85795e" datatype="html">\n        <source>Quotas</source>\n        <target>Quotas</target>\n      </trans-unit>\n      <trans-unit id="d99b34162c9c34f10d0ccd8dbae83d8569c2db77" datatype="html">\n        <source>Max bytes</source>\n        <target>Max bytes</target>\n      </trans-unit>\n      <trans-unit id="a1d14a18879c62f3f4ed705318b7164a1160e249" datatype="html">\n        <source>Leave it blank or specify 0 to disable this quota.</source>\n        <target>Leave it blank or specify 0 to disable this quota.</target>\n      </trans-unit>\n      <trans-unit id="7565b131562ff6c5f769fdbd239a772154abdd97" datatype="html">\n        <source>A valid quota should be greater than 0.</source>\n        <target>A valid quota should be greater than 0.</target>\n      </trans-unit>\n      <trans-unit id="f0016bd458baa88284a658ce9eeda42d8ad88d2c" datatype="html">\n        <source>e.g., 10GiB</source>\n        <target>例如 10 GiB</target>\n      </trans-unit>\n      <trans-unit id="b8bf35b66f09a301eef92ffc3cb2fd259df67ce9" datatype="html">\n        <source>Max objects</source>\n        <target>Max objects</target>\n      </trans-unit>\n      <trans-unit id="95f348167622d832c5ae532b6944635c8e2ae5cb" datatype="html">\n        <source>The value should be greater or equal to 0</source>\n        <target>The value should be greater or equal to 0</target>\n      </trans-unit>\n      <trans-unit id="fbbaf5cb02ed419e79a27072478f716a4666a99d" datatype="html">\n        <source>Performance Details</source>\n        <target>效能詳細資料</target>\n      </trans-unit>\n      <trans-unit id="3938a411d76796f8ae73b72ea4c77661207453bd" datatype="html">\n        <source>Cache Tiers Details</source>\n        <target>快取層詳細資料</target>\n      </trans-unit>\n      <trans-unit id="f0b5d789d42c0e69348e5fe0037fcbf5b5fbbdcc" datatype="html">\n        <source>Move an image to trash</source>\n        <target>將影像移至垃圾桶</target>\n      </trans-unit>\n      <trans-unit id="86301cf2044b1eda218483365f6b9de8dde5040b" datatype="html">\n        <source>To move \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{ imageName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,\n          click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optionally, you can pick an expiration date.\n        </source>\n        <target>To move \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{ imageName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,\n          click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optionally, you can pick an expiration date.\n        </target>\n      </trans-unit>\n      <trans-unit id="88f27d390844aad53b4240360e928156c5f0d326" datatype="html">\n        <source>Protection expires at</source>\n        <target>保護的過期日為</target>\n      </trans-unit>\n      <trans-unit id="da166e9a0d27322f6ba8916d71ecc0f9905bb4b1" datatype="html">\n        <source>NOT PROTECTED</source>\n        <target>無保護</target>\n      </trans-unit>\n      <trans-unit id="a1506e5f2ca22cad14502ec7a20fb6113ace145d" datatype="html">\n        <source>Wrong date format. Please use "YYYY-MM-DD HH:mm:ss".</source>\n        <target>日期格式錯誤。請使用「YYYY-MM-DD HH:mm:ss」。</target>\n      </trans-unit>\n      <trans-unit id="aa7ea0bb7495281e0b3258467ac7d90a1e44a1a1" datatype="html">\n        <source>Protection has already expired. Please pick a future date or leave it empty.</source>\n        <target>保護已過期。請選取一個未來的日期或保留空白。</target>\n      </trans-unit>\n      <trans-unit id="536b3205c0c0d4d21685ec06feccfcf2fe14deb1" datatype="html">\n        <source>Move Image</source>\n        <target>移動影像</target>\n      </trans-unit>\n      <trans-unit id="8a9910cd114c1deb9af74f6f99b4173403965bf2" datatype="html">\n        <source>Gateways</source>\n        <target>Gateways</target>\n      </trans-unit>\n      <trans-unit id="8835b9e49a3348b0a2f2162c21118af1f4bee45a" datatype="html">\n        <source>Must be greater than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'min\'] }}"/>.\n        </source>\n        <target>Must be greater than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'min\'] }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="bbddac59563c8c126e3fe28691e4e247614fcbd1" datatype="html">\n        <source>Must be less than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'max\'] }}"/>.\n        </source>\n        <target>Must be less than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'max\'] }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="e95ae009d0bdb45fcc656e8b65248cf7396080d5" datatype="html">\n        <source>Overview</source>\n        <target>綜覽</target>\n      </trans-unit>\n      <trans-unit id="bbd2045d5c37e4bb39a3c0fb62ea1ddf70a12838" datatype="html">\n        <source>Targets</source>\n        <target>目標</target>\n      </trans-unit>\n      <trans-unit id="6803e31b7395d94934e091a49a9524026b59b018" datatype="html">\n        <source>Discovery Authentication</source>\n        <target>探查驗證</target>\n      </trans-unit>\n      <trans-unit id="e08a77594f3d89311cdf6da5090044270909c194" datatype="html">\n        <source>User</source>\n        <target>使用者</target>\n      </trans-unit>\n      <trans-unit id="0214f773f8e394f50f953f39962e352d7863e959" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n              can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>使用者名稱的長度必須介於 8 至 64 個字元之間,並且只能包含以下\n                        字元︰字母、「.」、「@」、「-」、「_」或「:」。</target>\n      </trans-unit>\n      <trans-unit id="c32ef07f8803a223a83ed17024b38e8d82292407" datatype="html">\n        <source>Password</source>\n        <target>密碼</target>\n      </trans-unit>\n      <trans-unit id="6682d1c00263bee204583a5d589b308b6be88b0f" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n              and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n              and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="ff40391de7a1944ea95091e4045cc34c4979b736" datatype="html">\n        <source>Mutual User</source>\n        <target>雙向驗證使用者</target>\n      </trans-unit>\n      <trans-unit id="0cf73dbebe99b737c4d288788182fc356e3c93d3" datatype="html">\n        <source>Mutual Password</source>\n        <target>雙向驗證密碼</target>\n      </trans-unit>\n      <trans-unit id="8800276925157c666b103c36ff7fe8ffe11980b4" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters and\n              can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters and\n              can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="53a583cd5f15059cc958b7d547f72cc78f68e123" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n    on how to configure and enable the iSCSI Targets management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n    on how to configure and enable the iSCSI Targets management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="3b301d0044f62c92af0da53d7aaca52a436a547d" datatype="html">\n        <source>Available information:</source>\n        <target>可用資訊︰</target>\n      </trans-unit>\n      <trans-unit id="332227f088a4877b3c11f5fb3ae8bc812c470fae" datatype="html">\n        <source>iSCSI Targets not available</source>\n        <target>無法使用 iSCSI 目標</target>\n      </trans-unit>\n      <trans-unit id="8414a5cb9d71cc1b21b10e4a9d1f2dad558f3361" datatype="html">\n        <source>Discovery authentication</source>\n        <target>Discovery authentication</target>\n      </trans-unit>\n      <trans-unit id="0f6e8f6094b180eaf1f11bc0ffe383f1cdcd059e" datatype="html">\n        <source>Only available for RBD images with \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>fast-diff\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> enabled\n        </source>\n        <target>Only available for RBD images with \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>fast-diff\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> enabled\n        </target>\n      </trans-unit>\n      <trans-unit id="e70fcca5a99575cffef3ff8cbd5e69f06ffd0f1c" datatype="html">\n        <source>Pool</source>\n        <target>池</target>\n      </trans-unit>\n      <trans-unit id="03cc5b14b0a20d075e9009ff021f4f1660ba348a" datatype="html">\n        <source>Data Pool</source>\n        <target>資料池</target>\n      </trans-unit>\n      <trans-unit id="1b051734b0ee9021991c91b3ed4e81c244322462" datatype="html">\n        <source>Created</source>\n        <target>已建立</target>\n      </trans-unit>\n      <trans-unit id="7faaaa08f56427999f3be41df1093ce4089bbd75" datatype="html">\n        <source>Size</source>\n        <target>大小</target>\n      </trans-unit>\n      <trans-unit id="afdb601c16162f2c798b16a2920955f1cc6a20aa" datatype="html">\n        <source>Objects</source>\n        <target>物件</target>\n      </trans-unit>\n      <trans-unit id="ceac8e132384322ec778ba760875a6c6897d3e42" datatype="html">\n        <source>Object size</source>\n        <target>物件大小</target>\n      </trans-unit>\n      <trans-unit id="6cdb1fea93d77c07950c0c76c6e0ad79ebbef084" datatype="html">\n        <source>Features</source>\n        <target>功能</target>\n      </trans-unit>\n      <trans-unit id="0a65771c9a73b9aa609d592fc96a64801a8f40bd" datatype="html">\n        <source>Provisioned</source>\n        <target>已佈建</target>\n      </trans-unit>\n      <trans-unit id="84a36cb75660b736773fe36ffa3d54f0f0fe363e" datatype="html">\n        <source>N/A</source>\n        <target>無</target>\n      </trans-unit>\n      <trans-unit id="e5c009342a4e8381f64341d0bb61c2e4685f5a4b" datatype="html">\n        <source>Total provisioned</source>\n        <target>總佈建數</target>\n      </trans-unit>\n      <trans-unit id="7f6bf8a43ae415f527ac961ea62471b983aaa97b" datatype="html">\n        <source>Striping unit</source>\n        <target>分割單位</target>\n      </trans-unit>\n      <trans-unit id="db710e8a8f011923f2d15d713fbae49c38b02b26" datatype="html">\n        <source>Striping count</source>\n        <target>分割計數</target>\n      </trans-unit>\n      <trans-unit id="3a4c2a9e76634ff14a60d52a718296f722d47c67" datatype="html">\n        <source>Parent</source>\n        <target>父</target>\n      </trans-unit>\n      <trans-unit id="6a209e68d78ffc2cc9c53d2e76158624efab71ad" datatype="html">\n        <source>Block name prefix</source>\n        <target>區塊名稱字首</target>\n      </trans-unit>\n      <trans-unit id="5704ec2049d007c5f5fb495a5d8b607e68d58081" datatype="html">\n        <source>Order</source>\n        <target>順序</target>\n      </trans-unit>\n      <trans-unit id="f21b1d17b6c5042bb5805516eee37fde33739dd8" datatype="html">\n        <source>Snapshots</source>\n        <target>快照</target>\n      </trans-unit>\n      <trans-unit id="a5f9ba9bb9faa8284bcadb1cdbc6aaf969e9c4bb" datatype="html">\n        <source>Image</source>\n        <target>影像</target>\n      </trans-unit>\n      <trans-unit id="58e58f1a8786da9031a05e6770c5dafce82badf5" datatype="html">\n        <source>This setting overrides the global value</source>\n        <target>此設定會覆寫全域值</target>\n      </trans-unit>\n      <trans-unit id="5decb3917d46a9ac6e5813699801becb7c3c1455" datatype="html">\n        <source>Global</source>\n        <target>全域</target>\n      </trans-unit>\n      <trans-unit id="36b46714164964c6258b08ed0a25f57d8a950f92" datatype="html">\n        <source>This is the global value. No value for this option has been set for this image.</source>\n        <target>此值為全域值。未為此影像設定此選項的值。</target>\n      </trans-unit>\n      <trans-unit id="6547c9c4d5f62942ac4b1fe459cf9a03d4dbf5a0" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/> from\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/> from\n        </target>\n      </trans-unit>\n      <trans-unit id="0e9ecf29a4fa5b057bd8052e0d801b3fde6a30bf" datatype="html">\n        <source>\'/\' and \'@\' are not allowed.</source>\n        <target>不允許使用「/」和「@」。</target>\n      </trans-unit>\n      <trans-unit id="b99417c4dd46286ffd37c8d2e987c8b512ec7052" datatype="html">\n        <source>-- No rbd pools available --</source>\n        <target>-- 沒有可用的 RBD 池 --</target>\n      </trans-unit>\n      <trans-unit id="ef83ec9c304a89d45650e580dcdc2978c37b3a83" datatype="html">\n        <source>-- Select a pool --</source>\n        <target>-- 選取池 --</target>\n      </trans-unit>\n      <trans-unit id="49449943d8cbf59d8c401c8bd2e76f92e207cc5f" datatype="html">\n        <source>Use a dedicated data pool</source>\n        <target>使用專屬的資料池</target>\n      </trans-unit>\n      <trans-unit id="870aee0dd31a9643bf62007beb8f1ae1deb34d42" datatype="html">\n        <source>Data pool</source>\n        <target>資料池</target>\n      </trans-unit>\n      <trans-unit id="3792ca829d9b9f687e1f5d7733d30e9bb0bfec47" datatype="html">\n        <source>Dedicated pool that stores the object-data of the RBD.</source>\n        <target>專用於儲存 RBD 的物件資料的池</target>\n      </trans-unit>\n      <trans-unit id="0a88bbee20570aaf9615332fb27020627044874d" datatype="html">\n        <source>You have to increase the size.</source>\n        <target>您必須增加大小。</target>\n      </trans-unit>\n      <trans-unit id="bc2e854e111ecf2bd7db170da5e3c2ed08181d88" datatype="html">\n        <source>Advanced</source>\n        <target>進階</target>\n      </trans-unit>\n      <trans-unit id="3562a3778695a5f9c0445660e35301f0a39aaf73" datatype="html">\n        <source>Striping</source>\n        <target>分割</target>\n      </trans-unit>\n      <trans-unit id="ef3c3f3b5f562a5cdbe0ee2874287db1534b5958" datatype="html">\n        <source>Stripe unit</source>\n        <target>分割單位</target>\n      </trans-unit>\n      <trans-unit id="84471be1049006edecbcaef1a32ae0893c229c50" datatype="html">\n        <source>-- Select stripe unit --</source>\n        <target>-- 選取分割單位 --</target>\n      </trans-unit>\n      <trans-unit id="8d32c5c54c8581c774a7f467fbd4e329b15a74fa" datatype="html">\n        <source>This field is required because stripe count is defined!</source>\n        <target>由於已定義分割計數,因此必須填寫此欄位!</target>\n      </trans-unit>\n      <trans-unit id="6bbf9040be7c5491d4a03f2185708f43a6582a3b" datatype="html">\n        <source>Stripe unit is greater than object size.</source>\n        <target>分割單位大於物件大小。</target>\n      </trans-unit>\n      <trans-unit id="a682f49f9b761591661276d7c6f550e641a130a4" datatype="html">\n        <source>Stripe count</source>\n        <target>分割計數</target>\n      </trans-unit>\n      <trans-unit id="baa74031990c5370008ba622d0a250f0929097f4" datatype="html">\n        <source>This field is required because stripe unit is defined!</source>\n        <target>由於已定義分割單位,因此必須填寫此欄位!</target>\n      </trans-unit>\n      <trans-unit id="cd2ada6d5ecbd5cbf89eae0a1f5326efedac0dbc" datatype="html">\n        <source>Stripe count must be greater than 0.</source>\n        <target>分割計數必須大於 0。</target>\n      </trans-unit>\n      <trans-unit id="3f67f30568e9ae47507d46e28e1e82a7dca772e2" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> RBD Snapshot\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> RBD Snapshot\n        </target>\n      </trans-unit>\n      <trans-unit id="1628d19a4490817c18be2afab410ca4adfa62ea7" datatype="html">\n        <source>{VAR_SELECT, select, true {Rename} other {Create} }</source>\n        <target>{VAR_SELECT, select, true {重新命名} other {建立} }</target>\n      </trans-unit>\n      <trans-unit id="73a287b41afe6b28f90edbeb98957a341a0276b4" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> Snapshot\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> Snapshot\n        </target>\n      </trans-unit>\n      <trans-unit id="cb60c1cd3655234756b5b92d4d597d92d520ee30" datatype="html">\n        <source>PROTECTED</source>\n        <target>PROTECTED</target>\n      </trans-unit>\n      <trans-unit id="deffb86b8fb0541254ad5a43862d82bff6b6a6c4" datatype="html">\n        <source>UNPROTECTED</source>\n        <target>未受保護</target>\n      </trans-unit>\n      <trans-unit id="5c5331983af566d4ac6a1024d15a3511786a4aa6" datatype="html">\n        <source>You are about to rollback</source>\n        <target>您正要復原</target>\n      </trans-unit>\n      <trans-unit id="49c0408946a6d67185947f455f15cc201d0d78e6" datatype="html">\n        <source>Purge Trash</source>\n        <target>清除垃圾桶</target>\n      </trans-unit>\n      <trans-unit id="af728625d769b61acf291442644b89edb88faec3" datatype="html">\n        <source>To purge, select one or All images and click</source>\n        <target>若要清除,請選取一個或全部影像,然後按一下</target>\n      </trans-unit>\n      <trans-unit id="55a4f598a4894b7fd5cb88f0ffd3c37ad009dd70" datatype="html">\n        <source>Pool:</source>\n        <target>池︰</target>\n      </trans-unit>\n      <trans-unit id="d43dd2b9f7797e4cf3a604695bb33e4479108516" datatype="html">\n        <source>Pool name...</source>\n        <target>池名稱...</target>\n      </trans-unit>\n      <trans-unit id="dfc3c34e182ea73c5d784ff7c8135f087992dac1" datatype="html">\n        <source>All</source>\n        <target>全部</target>\n      </trans-unit>\n      <trans-unit id="b0e7c7ed1d51a0c205c815048bc9f79e24ee6db2" datatype="html">\n        <source>Restore Image</source>\n        <target>回存影像</target>\n      </trans-unit>\n      <trans-unit id="7369384817e0ad61ce871c9afdfbb538df2f97c1" datatype="html">\n        <source>To restore</source>\n        <target>若要回存</target>\n      </trans-unit>\n      <trans-unit id="e7f0abefc608f7fb452c2dc9b1cdc3dec432160e" datatype="html">\n        <source>type the image\'s new name and click</source>\n        <target>鍵入影像的新名稱并按一下</target>\n      </trans-unit>\n      <trans-unit id="41307dd56fea669eed72e12a6c23af275f6bfd82" datatype="html">\n        <source>New Name</source>\n        <target>新名稱</target>\n      </trans-unit>\n      <trans-unit id="5c96a761dc55a21882c132c929583a424c9b8cf4" datatype="html">\n        <source>Expired at</source>\n        <target>過期日為</target>\n      </trans-unit>\n      <trans-unit id="661041e3fcff4d3e75c561e038ca2504cf2cc643" datatype="html">\n        <source>Protected until</source>\n        <target>保護過期日為</target>\n      </trans-unit>\n      <trans-unit id="0ee3b2322a1d3277f7e3fdb8a5141ac42bcf350b" datatype="html">\n        <source>This image is protected until \n          <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.\n        </source>\n        <target>This image is protected until \n          <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="aba82bfd8e177d35b76cad7cd43941f8e5e5acac" datatype="html">\n        <source>Trash</source>\n        <target>垃圾桶</target>\n      </trans-unit>\n      <trans-unit id="a674ab267d1934bf395f87ca1503fd474296893f" datatype="html">\n        <source>iSCSI Topology</source>\n        <target>iSCSI 拓撲</target>\n      </trans-unit>\n      <trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html">\n        <source>Settings</source>\n        <target>設定</target>\n      </trans-unit>\n      <trans-unit id="9e515f954730279c31d5301f02479666d6264e8b" datatype="html">\n        <source>Changing these parameters from their default values is usually not necessary.</source>\n        <target>通常不需要變更這些參數的預設值。</target>\n      </trans-unit>\n      <trans-unit id="69a47cbabcc51ca942606e1d8da0ec11f98a2690" datatype="html">\n        <source>Backstore</source>\n        <target>支援儲存</target>\n      </trans-unit>\n      <trans-unit id="68e710782ccb5398b3acb8844caf0b199da2c3da" datatype="html">\n        <source>Confirm</source>\n        <target>確認</target>\n      </trans-unit>\n      <trans-unit id="339878da255ab55447c43afef8d9b2f9753bf5f6" datatype="html">\n        <source>Advanced Settings</source>\n        <target>進階設定</target>\n      </trans-unit>\n      <trans-unit id="1406c2fb12a20c1528b19bcc5e24a6a2386167f3" datatype="html">\n        <source>Target IQN</source>\n        <target>目標 IQN</target>\n      </trans-unit>\n      <trans-unit id="5fe42339be910372fa689f559155631862d218e8" datatype="html">\n        <source>IQN has wrong pattern.</source>\n        <target>IQN 模式錯誤。</target>\n      </trans-unit>\n      <trans-unit id="050a7ff057d1e895357540406b6be5652b4d1c71" datatype="html">\n        <source>An IQN has the following notation\n                \'iqn.$year-$month.$reversedAddress:$definedName\'</source>\n        <target>An IQN has the following notation\n                \'iqn.$year-$month.$reversedAddress:$definedName\'</target>\n      </trans-unit>\n      <trans-unit id="c8ada4b53396d8366db00a435acc61d53d857047" datatype="html">\n        <source>For example: iqn.2016-06.org.dashboard:storage:disk.sn-a8675309</source>\n        <target>例如:iqn.2016-06.org.dashboard:storage:disk.sn-a8675309</target>\n      </trans-unit>\n      <trans-unit id="e60c11e1b1dfbbeda577364b8de39ded2d796c5e" datatype="html">\n        <source>More information</source>\n        <target>更多資訊</target>\n      </trans-unit>\n      <trans-unit id="9b1aa85dfc6849196e64060db02c5410de69b7a1" datatype="html">\n        <source>This target has modified advanced settings.</source>\n        <target>此目標的進階設定存在修改。</target>\n      </trans-unit>\n      <trans-unit id="6990ad8d6182662e864495ac31c3758cda1c7a28" datatype="html">\n        <source>Portals</source>\n        <target>入口網站</target>\n      </trans-unit>\n      <trans-unit id="c3638c01b6c34066438909713ec96087c813fc7e" datatype="html">\n        <source>At least \n          <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.\n        </source>\n        <target>At least \n          <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.\n        </target>\n      </trans-unit>\n      <trans-unit id="6a3ac2b4137d723fd9878cd357c2012ff6c07973" datatype="html">\n        <source>Add portal</source>\n        <target>新增入口網站</target>\n      </trans-unit>\n      <trans-unit id="9aff25be088f0efe3eaaf62edf2bff41cc41a617" datatype="html">\n        <source>Backstore: \n          <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. \n        </source>\n        <target>Backstore: \n          <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. \n        </target>\n      </trans-unit>\n      <trans-unit id="e3484cae8b118c576ca2815bf9c9406c2eb2cae3" datatype="html">\n        <source>This image has modified settings.</source>\n        <target>此影像的設定存在修改。</target>\n      </trans-unit>\n      <trans-unit id="107c84e820909b44fe258673938a68ced1bbff72" datatype="html">\n        <source>At least 1 image is required.</source>\n        <target>至少需要 1 個影像。</target>\n      </trans-unit>\n      <trans-unit id="808038f912fdc7f0e03f82d4afd3bf9178527fc8" datatype="html">\n        <source>Add image</source>\n        <target>新增影像</target>\n      </trans-unit>\n      <trans-unit id="66c5fb27f52e75b70ca4b670b9b15a2a51cf9543" datatype="html">\n        <source>ACL authentication</source>\n        <target>ACL 驗證</target>\n      </trans-unit>\n      <trans-unit id="419c8b402609dcf49ae4932a5a4647dc8d79bbaf" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n                can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Usernames must have a length of 8 to 64 characters and\n                can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</target>\n      </trans-unit>\n      <trans-unit id="938050960d6653fddfcfd42425e18fb35a308262" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n                and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n                and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="f494bd31f095f6dcc656ce87ec2dcf07a2e9b30c" datatype="html">\n        <source>Initiators</source>\n        <target>啟動器</target>\n      </trans-unit>\n      <trans-unit id="e98239d8a6be1100119ff4b5630c822b82786740" datatype="html">\n        <source>Initiator</source>\n        <target>啟動器</target>\n      </trans-unit>\n      <trans-unit id="f2c5059d8cda15d8d03e2cce30f2d139623d9a91" datatype="html">\n        <source>Client IQN</source>\n        <target>用戶端 IQN</target>\n      </trans-unit>\n      <trans-unit id="107d5aabce23d900f0a80e6ddc1c10e29aa0bed8" datatype="html">\n        <source>Initiator IQN needs to be unique.</source>\n        <target>啟動器 IQN 必須唯一。</target>\n      </trans-unit>\n      <trans-unit id="bbf0b34a3fcc80800fcb44b9e1e86931a530dfe3" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n                        can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>使用者名稱的長度必須介於 8 至 64 個字元之間,並且只能包含以下\n                        字元︰字母、「.」、「@」、「-」、「_」或「:」。</target>\n      </trans-unit>\n      <trans-unit id="fdfee5d7a27e1bdd97a176097277bee078de6aaf" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n                        and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n                        and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="8406eb7415ee40e54d9ecb209abb056f06e3d666" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters and\n                        can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters and\n                        can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="5d1878d5fc761cbe9614bfd87047a740c82a6951" datatype="html">\n        <source>Initiator belongs to a group. Images will be configure in the group.</source>\n        <target>啟動器屬於群組。影像須在群組中進行設定。 </target>\n      </trans-unit>\n      <trans-unit id="c0de67b9d97fafbf200f9451e8388ee8128a56ac" datatype="html">\n        <source>No items added.</source>\n        <target>未新增項目。</target>\n      </trans-unit>\n      <trans-unit id="d565e47726158e428ecdc952fc9233b9b7d7f049" datatype="html">\n        <source>Add initiator</source>\n        <target>新增啟動器</target>\n      </trans-unit>\n      <trans-unit id="c22ba03540aa3217da059f45e7eab138b51a96e2" datatype="html">\n        <source>Groups</source>\n        <target>群組</target>\n      </trans-unit>\n      <trans-unit id="4c90059afafb7e160384d9f512797c95bb95c6dc" datatype="html">\n        <source>Group</source>\n        <target>群組</target>\n      </trans-unit>\n      <trans-unit id="3084948274cff4f56d0f431af47240e9cf02fcc7" datatype="html">\n        <source>Add group</source>\n        <target>新增群組</target>\n      </trans-unit>\n      <trans-unit id="66db799d67958d4b0765181d072df62e2d1c16f5" datatype="html">\n        <source>Issues</source>\n        <target>問題</target>\n      </trans-unit>\n      <trans-unit id="ef06d69259e587e28d52372455f44c7153cda7e7" datatype="html">\n        <source>Syncing</source>\n        <target>正在同步</target>\n      </trans-unit>\n      <trans-unit id="0b0901877d837d3fda16ba161eb74368d1c75b7a" datatype="html">\n        <source>Ready</source>\n        <target>準備就緒</target>\n      </trans-unit>\n      <trans-unit id="4057c56d63a7e9b140b1d01871a9229a5f30eb27" datatype="html">\n        <source>Edit pool mirror mode</source>\n        <target>編輯池鏡像模式</target>\n      </trans-unit>\n      <trans-unit id="e1f367f5feaab38f6637dd1f967c848b447dea2d" datatype="html">\n        <source>To edit the mirror mode for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>, select a new mode from the list and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>To edit the mirror mode for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>, select a new mode from the list and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="32ca348ef926b0a6a7a780b8b64c3a8239895cec" datatype="html">\n        <source>Peer clusters must be removed prior to disabling mirror.</source>\n        <target>在停用鏡像之前,必須先移除對等叢集。</target>\n      </trans-unit>\n      <trans-unit id="fa61522d482349707fd7dd03b90dc5781611b17f" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/>\n  pool mirror peer\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/>\n  pool mirror peer\n        </target>\n      </trans-unit>\n      <trans-unit id="4ddcb416c1c0aa1f54acf5beef1de81813e76fa6" datatype="html">\n        <source>{VAR_SELECT, select, edit {Edit} other {Add} }</source>\n        <target>{VAR_SELECT, select, edit {編輯} other {新增} }</target>\n      </trans-unit>\n      <trans-unit id="59ca65ece457429d90104ede4674965f62edbabe" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/> the pool\n          mirror peer attributes for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> and click\n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Submit\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/> the pool\n          mirror peer attributes for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> and click\n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Submit\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="d3cc964811f852a168f4a2d5daa59068abc5cf53" datatype="html">\n        <source>Cluster Name</source>\n        <target>叢集名稱</target>\n      </trans-unit>\n      <trans-unit id="b631721fc56cb7fb1cbd07b802a487c5753f6a2d" datatype="html">\n        <source>The cluster name is not valid.</source>\n        <target>叢集名稱無效。</target>\n      </trans-unit>\n      <trans-unit id="ca6deafa31bf421f85094807982aee4bcb20a3ae" datatype="html">\n        <source>CephX ID</source>\n        <target>CephX ID</target>\n      </trans-unit>\n      <trans-unit id="7539188a568c3d553cbde1bacaf32310c4264e24" datatype="html">\n        <source>CephX ID...</source>\n        <target>CephX ID...</target>\n      </trans-unit>\n      <trans-unit id="a1c45b594b0fba22fc64e80c793a7ffe005fdb0e" datatype="html">\n        <source>The CephX ID is not valid.</source>\n        <target>CephX ID 無效。</target>\n      </trans-unit>\n      <trans-unit id="20861576fcfce773c918c782cd4f5adf32382921" datatype="html">\n        <source>Monitor Addresses</source>\n        <target>監控程式位址</target>\n      </trans-unit>\n      <trans-unit id="fa28eeed2b4bd4ccbe6e9349a1c2b3cb1c5de70a" datatype="html">\n        <source>Comma-delimited addresses...</source>\n        <target>逗號分隔的位址...</target>\n      </trans-unit>\n      <trans-unit id="dc016c82fd85848d5c1b2fd0e8469ee2027d9c16" datatype="html">\n        <source>The monitory address is not valid.</source>\n        <target>監控程式位址無效。</target>\n      </trans-unit>\n      <trans-unit id="e0ac55b83dc6739e62bc655cfe375b67c93e7f4a" datatype="html">\n        <source>CephX Key</source>\n        <target>CephX 金鑰</target>\n      </trans-unit>\n      <trans-unit id="f53434bcb95bd86f1df9c8e22966f757614fc4ad" datatype="html">\n        <source>Base64-encoded key...</source>\n        <target>Base64 編碼的金鑰...</target>\n      </trans-unit>\n      <trans-unit id="4cd83164cd4f66b4abc2863f9ce6f599d789e4ca" datatype="html">\n        <source>CephX key must be base64 encoded.</source>\n        <target>CephX 金鑰必須為 Base64 編碼的金鑰。</target>\n      </trans-unit>\n      <trans-unit id="ca53d681a9892d6fdbb57ee9676582186515e961" datatype="html">\n        <source>Performance counters not available</source>\n        <target>沒有可用的效能計數器</target>\n      </trans-unit>\n      <trans-unit id="9424badb7e0c6ac792d020d7830645b529a80aad" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the Object Gateway management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the Object Gateway management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="479488ab6e91ecb375484edc78bee3d13467f33f" datatype="html">\n        <source>Daemons List</source>\n        <target>精靈清單</target>\n      </trans-unit>\n      <trans-unit id="eeba399c4dae8d4890c27b7a2cd2dc28fcf8b5f9" datatype="html">\n        <source>Performance Counters</source>\n        <target>效能計數器</target>\n      </trans-unit>\n      <trans-unit id="5f67f2247b9c6bbaf24a0f2d37f4ac0537c6fa53" datatype="html">\n        <source>Loading bucket data...</source>\n        <target>正在載入桶資料...</target>\n      </trans-unit>\n      <trans-unit id="2798cc1e152b1ec07fd8daf94a2a073d1ba1ebcc" datatype="html">\n        <source>Id</source>\n        <target>ID</target>\n      </trans-unit>\n      <trans-unit id="db4e1a734518691b128ef40b939cc673f01d03a6" datatype="html">\n        <source>The value is not valid.</source>\n        <target>該值無效。</target>\n      </trans-unit>\n      <trans-unit id="eabb4db920d9f9b2480cf438468b86e1bea02a9b" datatype="html">\n        <source>The chosen name is already in use.</source>\n        <target>所選的名稱已在使用中。</target>\n      </trans-unit>\n      <trans-unit id="0ee5132a8da30e0b7f9f5c70dbc91928d17dd909" datatype="html">\n        <source>Owner</source>\n        <target>擁有者</target>\n      </trans-unit>\n      <trans-unit id="8e4c918357c7445fbf19a203e5f0f0ece1960b3b" datatype="html">\n        <source>-- Select a user --</source>\n        <target>-- 選取使用者 --</target>\n      </trans-unit>\n      <trans-unit id="a4aab1f837bc8ec222e4f25922465d1c5929a1fc" datatype="html">\n        <source>Placement target</source>\n        <target>Placement target</target>\n      </trans-unit>\n      <trans-unit id="6bae0a7fc2c9c1fde7d937a8a1a3c7e6825cf7d1" datatype="html">\n        <source>-- Select a placement target --</source>\n        <target>-- Select a placement target --</target>\n      </trans-unit>\n      <trans-unit id="efeade5060b3add63863c24871f0830fb16b7e6d" datatype="html">\n        <source>Versioning</source>\n        <target>Versioning</target>\n      </trans-unit>\n      <trans-unit id="f50a33d3c339f8f4a465141f8caa5d2d8c005251" datatype="html">\n        <source>Enabled</source>\n        <target>已啟用</target>\n      </trans-unit>\n      <trans-unit id="016d24e069e7d505a090fb8243e5cd43b35dc39b" datatype="html">\n        <source>Enables versioning for the objects in the bucket.</source>\n        <target>Enables versioning for the objects in the bucket.</target>\n      </trans-unit>\n      <trans-unit id="92f3f203270a29b3001871153f02c063484a1574" datatype="html">\n        <source>Suspended</source>\n        <target>已暫停</target>\n      </trans-unit>\n      <trans-unit id="cd6a798fd0f85cd7e31a57c58074f25035d7850d" datatype="html">\n        <source>Disables versioning for the objects in the bucket.</source>\n        <target>Disables versioning for the objects in the bucket.</target>\n      </trans-unit>\n      <trans-unit id="45cc8ca94b5a50842a9a8ef804a5ab089a38ae5c" datatype="html">\n        <source>ID</source>\n        <target>ID</target>\n      </trans-unit>\n      <trans-unit id="e5c51963a9c553b29427ef783bbb69fa6634fa8c" datatype="html">\n        <source>Index type</source>\n        <target>索引類型</target>\n      </trans-unit>\n      <trans-unit id="8e6f950a32eaea32ec7e192f9ca3d3dfe469d4ba" datatype="html">\n        <source>Placement rule</source>\n        <target>放置規則</target>\n      </trans-unit>\n      <trans-unit id="6972d213e31c4ea4f887e60db99d9881bc8fcd3e" datatype="html">\n        <source>Marker</source>\n        <target>標記</target>\n      </trans-unit>\n      <trans-unit id="47b02acd2d3254d1ace1926f840523f154ebef71" datatype="html">\n        <source>Maximum marker</source>\n        <target>最大標記數</target>\n      </trans-unit>\n      <trans-unit id="8fe73a4787b8068b2ba61f54ab7e0f9af2ea1fc9" datatype="html">\n        <source>Version</source>\n        <target>版本</target>\n      </trans-unit>\n      <trans-unit id="092fa3a7df9168b14d3f83a77a4035e92b92ce15" datatype="html">\n        <source>Master version</source>\n        <target>主版本</target>\n      </trans-unit>\n      <trans-unit id="97434cc5001d407f90c7447a12d9e8e6848a2aa3" datatype="html">\n        <source>Modification time</source>\n        <target>修改時間</target>\n      </trans-unit>\n      <trans-unit id="90fe2e41e7fde38453ce4e619efeea9bc6adea9c" datatype="html">\n        <source>Zonegroup</source>\n        <target>區域群組</target>\n      </trans-unit>\n      <trans-unit id="649a410bd0ace333d067d8fa22f12bdbdb43533b" datatype="html">\n        <source>Bucket quota</source>\n        <target>桶定額</target>\n      </trans-unit>\n      <trans-unit id="cef1595d040e77cbb4466e60382028d4c2040cac" datatype="html">\n        <source>Maximum size</source>\n        <target>最大大小</target>\n      </trans-unit>\n      <trans-unit id="aa6fb95c355f172bda303de1ce2f38c251a149cf" datatype="html">\n        <source>Unlimited</source>\n        <target>無限制</target>\n      </trans-unit>\n      <trans-unit id="ee862a800364b4d11f9b8cb9955a28a60f840a45" datatype="html">\n        <source>Maximum objects</source>\n        <target>最大物件數</target>\n      </trans-unit>\n      <trans-unit id="08c74dc9762957593b91f6eb5d65efdfc975bf48" datatype="html">\n        <source>Username</source>\n        <target>使用者名稱</target>\n      </trans-unit>\n      <trans-unit id="49c614babd1950adb2be75df4e2c9747286d6adc" datatype="html">\n        <source>-- Select a username --</source>\n        <target>-- 選取使用者名稱 --</target>\n      </trans-unit>\n      <trans-unit id="c217ee914725a37e9dd2336c721c8e63e9666bdc" datatype="html">\n        <source>Auto-generate key</source>\n        <target>自動產生金鑰</target>\n      </trans-unit>\n      <trans-unit id="2f1c1c0f2bce4c9f92d1a2061e8161cb0006c31a" datatype="html">\n        <source>Access key</source>\n        <target>存取金鑰</target>\n      </trans-unit>\n      <trans-unit id="b864acb67296a9819c1db0069c4c47d8b5ce8f44" datatype="html">\n        <source>Secret key</source>\n        <target>機密金鑰</target>\n      </trans-unit>\n      <trans-unit id="b760f123248930122fc7e7b6b6bf94e376e959c8" datatype="html">\n        <source>Full name</source>\n        <target>全名</target>\n      </trans-unit>\n      <trans-unit id="69b6ac577a19acc39fc0c22342092f327fff2529" datatype="html">\n        <source>Email address</source>\n        <target>電子郵件地址</target>\n      </trans-unit>\n      <trans-unit id="8011e20c5bbe51602d459a860fbf29b599b55edd" datatype="html">\n        <source>System</source>\n        <target>系統</target>\n      </trans-unit>\n      <trans-unit id="db18a2772988415466a7f75dc42663ce78c9c1d3" datatype="html">\n        <source>Maximum buckets</source>\n        <target>最大桶數</target>\n      </trans-unit>\n      <trans-unit id="2c4c62e8ba24601be5cfe7dc5d32c24bbbd4b53c" datatype="html">\n        <source>Subusers</source>\n        <target>子使用者</target>\n      </trans-unit>\n      <trans-unit id="17bb3082e6fe5003203ef992a3714172334631a1" datatype="html">\n        <source>Capabilities</source>\n        <target>功能</target>\n      </trans-unit>\n      <trans-unit id="36ad38f9c1a1485e09b67778a28af84553290ffb" datatype="html">\n        <source>User quota</source>\n        <target>使用者定額</target>\n      </trans-unit>\n      <trans-unit id="2aba1e87039819aca3b70faa9aa848c12bf139ca" datatype="html">\n        <source>Show</source>\n        <target>顯示</target>\n      </trans-unit>\n      <trans-unit id="0bcd5ef19af0f1b814141ca8c57df623d8270088" datatype="html">\n        <source>Keys</source>\n        <target>金鑰</target>\n      </trans-unit>\n      <trans-unit id="f61c6867295f3b53d23557021f2f4e0aa1d0b8fc" datatype="html">\n        <source>Type</source>\n        <target>類型</target>\n      </trans-unit>\n      <trans-unit id="1221ca97d19eaa9a7bc0c5243d5fc5befe1d2314" datatype="html">\n        <source>-- Select a type --</source>\n        <target>-- 選取類型 --</target>\n      </trans-unit>\n      <trans-unit id="d1b8990332af18f1c5159a6061ca889bcbb28432" datatype="html">\n        <source>Permission</source>\n        <target>許可權</target>\n      </trans-unit>\n      <trans-unit id="a08c589f82f69d892307288da14190ae1dd583d5" datatype="html">\n        <source>-- Select a permission --</source>\n        <target>-- 選取許可權 --</target>\n      </trans-unit>\n      <trans-unit id="b2841767821d6b66238c34d07e413b0af67aee92" datatype="html">\n        <source>Subuser</source>\n        <target>子使用者</target>\n      </trans-unit>\n      <trans-unit id="bd59fc25a7bd98cff3e75117c09697c8a007a514" datatype="html">\n        <source>The chosen subuser ID is already in use.</source>\n        <target>所選的子使用者 ID 已在使用中。</target>\n      </trans-unit>\n      <trans-unit id="3d386c357ebcbc04ed05c4babd5a03626f9b1674" datatype="html">\n        <source>read, write</source>\n        <target>讀取、寫入</target>\n      </trans-unit>\n      <trans-unit id="84e3e3f9a4f31a039b648c97debf95fcb20f4c4a" datatype="html">\n        <source>full</source>\n        <target>完整</target>\n      </trans-unit>\n      <trans-unit id="b6bf81d032a2316464f9df2f0d2f3d753f89f0d3" datatype="html">\n        <source>Swift key</source>\n        <target>Swift 金鑰</target>\n      </trans-unit>\n      <trans-unit id="1e0c12685d50d47448ceed9423977ef39775c037" datatype="html">\n        <source>Auto-generate secret</source>\n        <target>自動產生機密金鑰</target>\n      </trans-unit>\n      <trans-unit id="3d1c7a6004bd5d86a7fa096ae24209e8aa7a53e3" datatype="html">\n        <source>Loading user data...</source>\n        <target>正在載入使用者資料...</target>\n      </trans-unit>\n      <trans-unit id="faa5d834ab28571423d794d32b57998920efb65f" datatype="html">\n        <source>The user data could not be loaded.</source>\n        <target>無法載入使用者資料。</target>\n      </trans-unit>\n      <trans-unit id="6aaf5d2a304167272ac73e3b1d1c162e16c77858" datatype="html">\n        <source>The chosen user ID is already in use.</source>\n        <target>所選的使用者 ID 已在使用中。</target>\n      </trans-unit>\n      <trans-unit id="df441e80db2157f9d272b75de724ba4a82b96b57" datatype="html">\n        <source>This is not a valid email address.</source>\n        <target>電子郵件地址無效。</target>\n      </trans-unit>\n      <trans-unit id="ca271adf154956b8fcb28f4f50a37acb3057ff7c" datatype="html">\n        <source>The chosen email address is already in use.</source>\n        <target>所選的電子郵件地址已在使用中。</target>\n      </trans-unit>\n      <trans-unit id="030197cebe938edf35422e92fe14183d06eb670b" datatype="html">\n        <source>Max. buckets</source>\n        <target>最大桶數</target>\n      </trans-unit>\n      <trans-unit id="623ac50f37a26caec6fd7cd519b653e3315cba25" datatype="html">\n        <source>The entered value must be &gt;= 0.</source>\n        <target>輸入的值必須大於或等於 0。</target>\n      </trans-unit>\n      <trans-unit id="583a219c524155c2314eb06ee29162bb315272a3" datatype="html">\n        <source>S3 key</source>\n        <target>S3 金鑰</target>\n      </trans-unit>\n      <trans-unit id="128d6efb51d9ddc7c0cc695a2deeca5b9523f6e4" datatype="html">\n        <source>There are no subusers.</source>\n        <target>沒有子使用者。</target>\n      </trans-unit>\n      <trans-unit id="7fd6dfb8ecb982dbc3affb2c2d5414c4f5b6abd2" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ subuserLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ subuserLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="67c746c1ba9dab4351fedc4c7cba4e6d6b0dbc47" datatype="html">\n        <source>S3</source>\n        <target>S3</target>\n      </trans-unit>\n      <trans-unit id="d6819038d608623503918fb2553f53d68231ec3a" datatype="html">\n        <source>There are no keys.</source>\n        <target>沒有金鑰。</target>\n      </trans-unit>\n      <trans-unit id="fc1c1a7140ff6b815a95b65ee2780fdbe1b2b7a1" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ s3keyLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ s3keyLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6ddb5e991a3ecd2659fb520bc5acc81b67e08ddd" datatype="html">\n        <source>Swift</source>\n        <target>Swift</target>\n      </trans-unit>\n      <trans-unit id="1d01eccdda47fc907c5be35bcb16d2dcd02b0270" datatype="html">\n        <source>There are no capabilities.</source>\n        <target>沒有功能。</target>\n      </trans-unit>\n      <trans-unit id="043e2ec0036ceadd926fd5e3f93cd6f3565f3648" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.ADD | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.ADD | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6146e13ceca5fa5cc17b771b282fe5955f3d19fa" datatype="html">\n        <source>Unlimited size</source>\n        <target>大小不限</target>\n      </trans-unit>\n      <trans-unit id="f6db8aa7c99fdce18edb33dde57729acede2b308" datatype="html">\n        <source>Max. size</source>\n        <target>最大大小</target>\n      </trans-unit>\n      <trans-unit id="fc630b2093e880fffa19df99d5cd8b87605037f8" datatype="html">\n        <source>Unlimited objects</source>\n        <target>物件數不限</target>\n      </trans-unit>\n      <trans-unit id="6cda5a993d06f0bb10048be9d3aba6555aa9f356" datatype="html">\n        <source>Max. objects</source>\n        <target>最大物件數</target>\n      </trans-unit>\n      <trans-unit id="1ea5c4d8942c00752dcc72e72949c5d9832f6399" datatype="html">\n        <source>Description...</source>\n        <target>描述...</target>\n      </trans-unit>\n      <trans-unit id="70f45880fce6ac5d8e468e25e82aefbba8098cfe" datatype="html">\n        <source>Permissions</source>\n        <target>許可權</target>\n      </trans-unit>\n      <trans-unit id="9610487cbeb5796d34d8601b5ac0c0a65f9e1d19" datatype="html">\n        <source>Roles</source>\n        <target>角色</target>\n      </trans-unit>\n      <trans-unit id="7f3bdcce4b2e8c37cd7f0f6c92ef8cff34b039b8" datatype="html">\n        <source>Confirm password</source>\n        <target>確認密碼</target>\n      </trans-unit>\n      <trans-unit id="cbb979e63ba50e0ca3adfa09cbdcaefd0853fca1" datatype="html">\n        <source>Password confirmation doesn\'t match the password.</source>\n        <target>確認的密碼與之前輸入的密碼不符。</target>\n      </trans-unit>\n      <trans-unit id="244aae9346da82b0922506c2d2581373a15641cc" datatype="html">\n        <source>Email</source>\n        <target>電子郵件</target>\n      </trans-unit>\n      <trans-unit id="d0ec081dd61eb4f43aea269077bbe38eae87b7f9" datatype="html">\n        <source>Invalid email.</source>\n        <target>電子郵件無效。</target>\n      </trans-unit>\n      <trans-unit id="0051a3479d3ba79135c16dc8cc017950a2cce821" datatype="html">\n        <source>You are about to remove "user read / update" permissions from your own user.</source>\n        <target>您正要為您自己的使用者移除「使用者讀取/寫入」許可權。</target>\n      </trans-unit>\n      <trans-unit id="af4bf9fcb256853f14cf947eb1deb8d7f176d3f9" datatype="html">\n        <source>If you continue, you will no longer be able to add or remove roles from any user.</source>\n        <target>若繼續,您將再也無法為任何使用者新增或移除角色。</target>\n      </trans-unit>\n      <trans-unit id="7d1dcf2a9146caac0581329acf94806ec69a89a5" datatype="html">\n        <source>Are you sure you want to continue?</source>\n        <target>確定要繼續嗎?</target>\n      </trans-unit>\n      <trans-unit id="85b79c9064aed1ead31ace985f31aa1363f6bdaf" datatype="html">\n        <source>Help</source>\n        <target>說明</target>\n      </trans-unit>\n      <trans-unit id="fcfd4675b4c90f08d18d3abede9a9a4dff4cfdc7" datatype="html">\n        <source>Documentation</source>\n        <target>文件</target>\n      </trans-unit>\n      <trans-unit id="e351b40b3869a5c7d19c3d4918cb1ac7aaab95c4" datatype="html">\n        <source>API</source>\n        <target>API</target>\n      </trans-unit>\n      <trans-unit id="004b222ff9ef9dd4771b777950ca1d0e4cd4348a" datatype="html">\n        <source>About</source>\n        <target>關於</target>\n      </trans-unit>\n      <trans-unit id="1481ecd21e760ac919a24e26cf790acd82e40199" datatype="html">\n        <source>Dashboard Settings</source>\n        <target>儀表板設定</target>\n      </trans-unit>\n      <trans-unit id="a79aab4ef674bf3f6532292107c0054302236e0f" datatype="html">\n        <source>User management</source>\n        <target>使用者管理</target>\n      </trans-unit>\n      <trans-unit id="049dfd9fe6c78914ad58cf89ac6a631fca28ec74" datatype="html">\n        <source>Logged in user</source>\n        <target>登入的使用者</target>\n      </trans-unit>\n      <trans-unit id="cd38a58e73f306d838e621959d47d5e7a2f06d1f" datatype="html">\n        <source>Signed in as\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ username }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>\n        </source>\n        <target>Signed in as\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ username }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="739516c2ca75843d5aec9cf0e6b3e4335c4227b9" datatype="html">\n        <source>Change password</source>\n        <target>Change password</target>\n      </trans-unit>\n      <trans-unit id="5d22c795daf43877a5f708dca2bccd549eb0471d" datatype="html">\n        <source>Sign out</source>\n        <target>登出</target>\n      </trans-unit>\n      <trans-unit id="91853167141c37b58868f3b0421383dd72fa8a01" datatype="html">\n        <source>Attributes (OSD map)</source>\n        <target>屬性 (OSD 地圖)</target>\n      </trans-unit>\n      <trans-unit id="97842f379e1d4157ac3ab0661b90c352e7cb72d5" datatype="html">\n        <source>Metadata not available</source>\n        <target>無法使用中繼資料</target>\n      </trans-unit>\n      <trans-unit id="f721a500a68c357e8f2a01e60510f6a01e4ba529" datatype="html">\n        <source>Metadata</source>\n        <target>中繼資料</target>\n      </trans-unit>\n      <trans-unit id="deba10b7279a589d01e919ea11f43c79ca1773e3" datatype="html">\n        <source>Device health</source>\n        <target>Device health</target>\n      </trans-unit>\n      <trans-unit id="d24e28e19c5703d7c6be44f4eb595a6a43b618ed" datatype="html">\n        <source>Performance counter</source>\n        <target>效能計數器</target>\n      </trans-unit>\n      <trans-unit id="d1f7c81ed9c5034af4abcdf119b1c1e86cd019dd" datatype="html">\n        <source>Histogram not available: \n          <x id="INTERPOLATION" equiv-text="{{ osd.histogram_failed }}"/>\n        </source>\n        <target>Histogram not available: \n          <x id="INTERPOLATION" equiv-text="{{ osd.histogram_failed }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="868abfff914873d1c65df798d8432ed04b8ae2a9" datatype="html">\n        <source>Writes</source>\n        <target>寫入</target>\n      </trans-unit>\n      <trans-unit id="996ebb9a653b5067f97bf3891ea9d2108e969492" datatype="html">\n        <source>Reads</source>\n        <target>讀取</target>\n      </trans-unit>\n      <trans-unit id="65ac79790aa477a97b1cc579e18a115a8df8918f" datatype="html">\n        <source>Histogram</source>\n        <target>長條圖</target>\n      </trans-unit>\n      <trans-unit id="26fb5f81b3581f06b9210defb0e71dc69a67e819" datatype="html">\n        <source>Current values</source>\n        <target>目前的值</target>\n      </trans-unit>\n      <trans-unit id="9abcd7c82643d60c22733470463f74e4a54bc069" datatype="html">\n        <source>Min</source>\n        <target>最小值</target>\n      </trans-unit>\n      <trans-unit id="c3ced4d162a0a55ee233a187ce7208ba5e922418" datatype="html">\n        <source>Max</source>\n        <target>最大值</target>\n      </trans-unit>\n      <trans-unit id="6834fa6b43d1ecbdf147c48dd9c4d72f1484571d" datatype="html">\n        <source>Source</source>\n        <target>來源</target>\n      </trans-unit>\n      <trans-unit id="a446fb0eb11fbffcac805ece5a2d306d24e733d8" datatype="html">\n        <source>Level</source>\n        <target>層級</target>\n      </trans-unit>\n      <trans-unit id="39f2fb094e9b2eda13163fa3f3a31594cf9c1307" datatype="html">\n        <source>Can be updated at runtime (editable)</source>\n        <target>可在執行時期更新 (可編輯)</target>\n      </trans-unit>\n      <trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b" datatype="html">\n        <source>Tags</source>\n        <target>標記</target>\n      </trans-unit>\n      <trans-unit id="ab0089ef47af61ca1d137bc908b96c290dfd9287" datatype="html">\n        <source>Enum values</source>\n        <target>列舉值</target>\n      </trans-unit>\n      <trans-unit id="819476f1264f1659f38e86f6abb542141b184832" datatype="html">\n        <source>See also</source>\n        <target>另請參閱</target>\n      </trans-unit>\n      <trans-unit id="d82a9af5b05e7cd17640f196f163771685ff8df6" datatype="html">\n        <source>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</source>\n        <target>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</target>\n      </trans-unit>\n      <trans-unit id="a185c9b97513b3882604ea9bab60edbfac945c15" datatype="html">\n        <source>SMART overall-health self-assessment test result</source>\n        <target>SMART overall-health self-assessment test result</target>\n      </trans-unit>\n      <trans-unit id="ddd5dd6d930030096ea617f62c82b648a0dd9484" datatype="html">\n        <source>Device Information</source>\n        <target>Device Information</target>\n      </trans-unit>\n      <trans-unit id="79c6bf990ea5b4d83bbf8f9e399f4bd933a1ebfc" datatype="html">\n        <source>S.M.A.R.T</source>\n        <target>S.M.A.R.T</target>\n      </trans-unit>\n      <trans-unit id="05c17e08939cbef1a5df5386263b1701e8d5742e" datatype="html">\n        <source>S.M.A.R.T data is loading.</source>\n        <target>S.M.A.R.T data is loading.</target>\n      </trans-unit>\n      <trans-unit id="73caac4265ea7314ff061e5a1d78a6361a6dd3b8" datatype="html">\n        <source>Cluster Status</source>\n        <target>叢集狀態</target>\n      </trans-unit>\n      <trans-unit id="1d4bc612bbf19aa9553853266b9e92c9d75f4464" datatype="html">\n        <source>Manager Daemons</source>\n        <target>管理員精靈</target>\n      </trans-unit>\n      <trans-unit id="946ac5dea9921dc09d7b0a63b89535371f283b19" datatype="html">\n        <source>Object Gateways</source>\n        <target>物件閘道</target>\n      </trans-unit>\n      <trans-unit id="ff03fa5bcf37c4da46ad736c1f7d03f959e8ba9a" datatype="html">\n        <source>Metadata Servers</source>\n        <target>中繼資料伺服器</target>\n      </trans-unit>\n      <trans-unit id="d817609ba4993eba859409ab71e566168f4d5f5a" datatype="html">\n        <source>iSCSI Gateways</source>\n        <target>iSCSI 閘道</target>\n      </trans-unit>\n      <trans-unit id="42c13e50391250ea9379bdf55d5d6c0228c0c8bc" datatype="html">\n        <source>Client IOPS</source>\n        <target>用戶端 IOPS</target>\n      </trans-unit>\n      <trans-unit id="52213660b2454d139ada3079a42ec6caf3c3c01e" datatype="html">\n        <source>Client Throughput</source>\n        <target>用戶端輸送量</target>\n      </trans-unit>\n      <trans-unit id="32efd1c3f70e3c5244239de97a2cc95d98534a14" datatype="html">\n        <source>Client Read/Write</source>\n        <target>用戶端讀取/寫入</target>\n      </trans-unit>\n      <trans-unit id="275485415092cbae3a9f3cbb786ebe283cacfdd5" datatype="html">\n        <source>Recovery Throughput</source>\n        <target>復原輸送量</target>\n      </trans-unit>\n      <trans-unit id="6d9a9f55046891733ef71170e7652063765eb542" datatype="html">\n        <source>Scrub</source>\n        <target>整理</target>\n      </trans-unit>\n      <trans-unit id="3cc9c2ae277393b3946b38c088dabff671b1ee1b" datatype="html">\n        <source>Performance</source>\n        <target>效能</target>\n      </trans-unit>\n      <trans-unit id="88f383269db2d32cccee9e936fe549dccb9fdbf4" datatype="html">\n        <source>Raw Capacity</source>\n        <target>原始容量</target>\n      </trans-unit>\n      <trans-unit id="c5f8a813f91a11af99132e4beafc136cfc13d73b" datatype="html">\n        <source>PGs per OSD</source>\n        <target>每個 OSD 的 PG 數</target>\n      </trans-unit>\n      <trans-unit id="498a109c6e9e94f1966de01aa0326f7f0ac6fb52" datatype="html">\n        <source>PG Status</source>\n        <target>PG 狀態</target>\n      </trans-unit>\n      <trans-unit id="ce9dfdc6dccb28dc75a78c704e09dc18fb02dcfa" datatype="html">\n        <source>Capacity</source>\n        <target>容量</target>\n      </trans-unit>\n      <trans-unit id="44ecac93d67c6a671198091c2270354f80322327" datatype="html">\n        <source>\n          <x id="START_ITALIC_TEXT" ctype="x-i" equiv-text="<i>"/>\n          <x id="CLOSE_ITALIC_TEXT" ctype="x-i" equiv-text="</i>"/> See \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Logs\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more details.\n        </source>\n        <target>\n          <x id="START_ITALIC_TEXT" ctype="x-i" equiv-text="<i>"/>\n          <x id="CLOSE_ITALIC_TEXT" ctype="x-i" equiv-text="</i>"/> See \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Logs\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more details.\n        </target>\n      </trans-unit>\n      <trans-unit id="0c1e17956453ad772dbe82d6946f62748c692f3e" datatype="html">\n        <source>Ranks</source>\n        <target>階層</target>\n      </trans-unit>\n      <trans-unit id="2b24e0b0b1629d2e8a51b9da7c75d6e6379f4bc4" datatype="html">\n        <source>Standbys</source>\n        <target>Standbys</target>\n      </trans-unit>\n      <trans-unit id="50df62325726db950523a5be1c78b8905fcc25d4" datatype="html">\n        <source>MDS performance counters</source>\n        <target>MDS performance counters</target>\n      </trans-unit>\n      <trans-unit id="a7b6508fb834bee9e48e11e4503fbbc2d19204de" datatype="html">\n        <source>Clients: \n          <x id="INTERPOLATION" equiv-text="{{ clients.data.length }}"/>\n        </source>\n        <target>Clients: \n          <x id="INTERPOLATION" equiv-text="{{ clients.data.length }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6e213942c6354b9cbe7a650f0f1499bfc1000fb6" datatype="html">\n        <source>Directories</source>\n        <target>Directories</target>\n      </trans-unit>\n      <trans-unit id="47116253e36f4e38a97ba41b2d3122c6c15ab904" datatype="html">\n        <source>Clients (\n          <x id="INTERPOLATION" equiv-text="{{ clients.length }}"/>)\n        </source>\n        <target>Clients (\n          <x id="INTERPOLATION" equiv-text="{{ clients.length }}"/>)\n        </target>\n      </trans-unit>\n      <trans-unit id="bd5a3b1c5a3c185c7bbb0e09a061d4cdc88ce5ad" datatype="html">\n        <source>Current</source>\n        <target>目前</target>\n      </trans-unit>\n      <trans-unit id="e5e7d62e942083a59b0b31f54e17cd7958186052" datatype="html">\n        <source>Updated discovery authentication</source>\n        <target>已更新探查驗證</target>\n      </trans-unit>\n      <trans-unit id="dd4ab758afd5fd5a6c6a25b2b30ff99d0c00e9ad" datatype="html">\n        <source>There are no portals available.</source>\n        <target>沒有可用的入口網站。</target>\n      </trans-unit>\n      <trans-unit id="83021e45778a4a230a14ca0c6d6ccdf05500ad93" datatype="html">\n        <source>There are no images available.</source>\n        <target>沒有可用的影像。</target>\n      </trans-unit>\n      <trans-unit id="86684eb21f8a768e1dbc659e3d5da6861db544a0" datatype="html">\n        <source>There are no images available. Please make sure you add an image to the target.</source>\n        <target>沒有可用的影像。請確定為目標新增一個影像。</target>\n      </trans-unit>\n      <trans-unit id="fffda6e440078f57eba93944ce051c593cc6ed7f" datatype="html">\n        <source>There are no initiators available. Please make sure you add an initiator to the target.</source>\n        <target>沒有可用的啟動器。請確定為目標新增一個啟動器。</target>\n      </trans-unit>\n      <trans-unit id="cea3c6fe490385eef1584cbc4983fda7ece24bb6" datatype="html">\n        <source>target</source>\n        <target>target</target>\n      </trans-unit>\n      <trans-unit id="38baeb215c17af9d9e295e371a57f4a48ab4c191" datatype="html">\n        <source>Target</source>\n        <target>目標</target>\n      </trans-unit>\n      <trans-unit id="99e094878070eebc1b972bac02aaa33b2bf83b35" datatype="html">\n        <source># Sessions</source>\n        <target># Sessions</target>\n      </trans-unit>\n      <trans-unit id="c49e0dd71d551bd4928d967d78f0721dbf9f95e3" datatype="html">\n        <source>Target has active sessions</source>\n        <target>Target has active sessions</target>\n      </trans-unit>\n      <trans-unit id="a87acd72dfb68b45175270695209550a85adf50c" datatype="html">\n        <source>iSCSI target</source>\n        <target>iSCSI target</target>\n      </trans-unit>\n      <trans-unit id="873b72903b1858a9cd6c8967521030b4d7d1435b" datatype="html">\n        <source>State</source>\n        <target>狀態</target>\n      </trans-unit>\n      <trans-unit id="02b75464c0dc0cf49ea0208211b6fbcad3bf728a" datatype="html">\n        <source># Targets</source>\n        <target># Targets</target>\n      </trans-unit>\n      <trans-unit id="13415637c325ceefee29111b31cb48701490adf7" datatype="html">\n        <source>Read Bytes</source>\n        <target>讀取位元組數</target>\n      </trans-unit>\n      <trans-unit id="e2ed82b7bbf4a006e60e6208c597b05d5b5556e9" datatype="html">\n        <source>Write Bytes</source>\n        <target>寫入位元組數</target>\n      </trans-unit>\n      <trans-unit id="6a32a5f58845ca840185ea9564682094e77a1d80" datatype="html">\n        <source>Read Ops</source>\n        <target>讀取操作數</target>\n      </trans-unit>\n      <trans-unit id="7c36cb8032af123d3550ffab2e1fa1e957c87fae" datatype="html">\n        <source>Write Ops</source>\n        <target>寫入操作數</target>\n      </trans-unit>\n      <trans-unit id="458c33846a8c7e2feb9404bcf06723784e756cdc" datatype="html">\n        <source>A/O Since</source>\n        <target>使用中/最佳化開始時間</target>\n      </trans-unit>\n      <trans-unit id="ff78f059449d44322f627d0f66df07abe476962b" datatype="html">\n        <source>Instance</source>\n        <target>例項</target>\n      </trans-unit>\n      <trans-unit id="36fad7995cadfb3a6f0d43ef2db280146b3ca022" datatype="html">\n        <source>Issue</source>\n        <target>問題</target>\n      </trans-unit>\n      <trans-unit id="15793f4cbc261bedbc60f7105533dde536a3f42b" datatype="html">\n        <source>Progress</source>\n        <target>進度</target>\n      </trans-unit>\n      <trans-unit id="f39256070bfc0714020dfee08895421fc1527014" datatype="html">\n        <source>Disabled</source>\n        <target>已停用</target>\n      </trans-unit>\n      <trans-unit id="8c375764db42f5d736fb56d01b8052c006ccc8e2" datatype="html">\n        <source>Edit Mode</source>\n        <target>編輯模式</target>\n      </trans-unit>\n      <trans-unit id="45932f2a0ea524b3425f4320ee46a6d1c68977bc" datatype="html">\n        <source>Add Peer</source>\n        <target>新增對等</target>\n      </trans-unit>\n      <trans-unit id="d3dc34662e3cda0dad646221651cebd26f731485" datatype="html">\n        <source>Edit Peer</source>\n        <target>編輯對等</target>\n      </trans-unit>\n      <trans-unit id="e8a0ec0b6ee72db0f27c186e09640d1ed41964bd" datatype="html">\n        <source>Delete Peer</source>\n        <target>刪除對等</target>\n      </trans-unit>\n      <trans-unit id="314de06d6f64d39149e78e6d796585c0246fec0b" datatype="html">\n        <source>Leader</source>\n        <target>Leader</target>\n      </trans-unit>\n      <trans-unit id="7acaab450312114059ced9e3737798ee9aa738b1" datatype="html">\n        <source># Local</source>\n        <target>本地數量</target>\n      </trans-unit>\n      <trans-unit id="7a3ffd88868135c44be3994263bb8e49d8358884" datatype="html">\n        <source># Remote</source>\n        <target>遠端數量</target>\n      </trans-unit>\n      <trans-unit id="85ca0fd6a6ddd211023c70a25753122c5b978787" datatype="html">\n        <source>mirror peer</source>\n        <target>鏡像對等</target>\n      </trans-unit>\n      <trans-unit id="a6493c6ca346cd052da40423eda9c132de2b2002" datatype="html">\n        <source>Key</source>\n        <target>金鑰</target>\n      </trans-unit>\n      <trans-unit id="e9cac80fb5d9de66f0006d0bec530fd1fc69a674" datatype="html">\n        <source>RBD</source>\n        <target>RBD</target>\n      </trans-unit>\n      <trans-unit id="4130b1a836f2000cfe9a11fb62493dc42d444de7" datatype="html">\n        <source>Deep flatten</source>\n        <target>深層壓平</target>\n      </trans-unit>\n      <trans-unit id="7b17694d7cb8ecb7c8440bc999dac21b44455b33" datatype="html">\n        <source>Layering</source>\n        <target>分層</target>\n      </trans-unit>\n      <trans-unit id="6a072ce577c2079d0e0c31071a16824f6d22b84d" datatype="html">\n        <source>Exclusive lock</source>\n        <target>獨佔鎖定</target>\n      </trans-unit>\n      <trans-unit id="7354f01320bf936a7f85577c9f71402635c3a362" datatype="html">\n        <source>Object map (requires exclusive-lock)</source>\n        <target>物件對應 (需要獨佔鎖定)</target>\n      </trans-unit>\n      <trans-unit id="fb7e625c1152f1c102cd16460955d124edff1770" datatype="html">\n        <source>Journaling (requires exclusive-lock)</source>\n        <target>記錄 (需要獨佔鎖定)</target>\n      </trans-unit>\n      <trans-unit id="df4044632bfc211dd96544fc8f007dabbeeb506c" datatype="html">\n        <source>Fast diff (interlocked with object-map)</source>\n        <target>Fast diff (interlocked with object-map)</target>\n      </trans-unit>\n      <trans-unit id="631fc50ec7c9bd81dc797a3c7e09eda1178ad999" datatype="html">\n        <source>Parent image must support Layering</source>\n        <target>Parent image must support Layering</target>\n      </trans-unit>\n      <trans-unit id="7eb984588f4835f6d0187b33769b4b0f62821640" datatype="html">\n        <source>RBD snapshot rollback</source>\n        <target>RBD 快照復原</target>\n      </trans-unit>\n      <trans-unit id="4be22bf20ef82614ed53bcd3b912a85590aa71c9" datatype="html">\n        <source>Rollback</source>\n        <target>復原</target>\n      </trans-unit>\n      <trans-unit id="2a04c483708d261751d62082d6f03a50d4577b1e" datatype="html">\n        <source>RBD snapshot</source>\n        <target>RBD 快照</target>\n      </trans-unit>\n      <trans-unit id="fa96769d1ea86741297cb9b9769b0dcfde58c8b4" datatype="html">\n        <source>Deleted At</source>\n        <target>刪除位置</target>\n      </trans-unit>\n      <trans-unit id="e928864038ca70ee7d67bbf1fd71a01c3938a127" datatype="html">\n        <source>id</source>\n        <target>ID</target>\n      </trans-unit>\n      <trans-unit id="240c9c1e96dc38814922a83ad041dc815b084f32" datatype="html">\n        <source>type</source>\n        <target>類型</target>\n      </trans-unit>\n      <trans-unit id="c9d7ec7ee5b4e282f2228fa996651ec4ef5195a9" datatype="html">\n        <source>state</source>\n        <target>狀態</target>\n      </trans-unit>\n      <trans-unit id="5780e5c3b4fc2ae07836bb5221cec4f8d597630d" datatype="html">\n        <source>version</source>\n        <target>版本</target>\n      </trans-unit>\n      <trans-unit id="fe22ca53e651df951dac25b67c17894b0980f767" datatype="html">\n        <source>Host</source>\n        <target>主機</target>\n      </trans-unit>\n      <trans-unit id="fb69299354312c8954ecf324997ccafcd9f6b14b" datatype="html">\n        <source>root</source>\n        <target>根</target>\n      </trans-unit>\n      <trans-unit id="d34feb369d308075b423d5c5fc431f9766bf7a11" datatype="html">\n        <source>Evicted client "\n          <x id="INTERPOLATION" equiv-text="{{clientId}}"/>"\n        </source>\n        <target>Evicted client "\n          <x id="INTERPOLATION" equiv-text="{{clientId}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="7db875ff4cc626d394f37fba95c075b2e4bfeb00" datatype="html">\n        <source>Standby daemons</source>\n        <target>待命精靈</target>\n      </trans-unit>\n      <trans-unit id="3c3a423d91e36ac6624e909fcd2669a25685f847" datatype="html">\n        <source>Rank</source>\n        <target>階層</target>\n      </trans-unit>\n      <trans-unit id="9596ecae8956e96921acef47aec787f6bdc37454" datatype="html">\n        <source>Daemon</source>\n        <target>精靈</target>\n      </trans-unit>\n      <trans-unit id="f2005fa461c06dc2e04d8918bbabedf23604b5b7" datatype="html">\n        <source>Activity</source>\n        <target>活動</target>\n      </trans-unit>\n      <trans-unit id="e3a986984ae0c3b43af648c3fa638649d1c00348" datatype="html">\n        <source>Dentries</source>\n        <target>Dentry</target>\n      </trans-unit>\n      <trans-unit id="7c692ab865066967d73c6d64ec0691cc6ce91b93" datatype="html">\n        <source>Inodes</source>\n        <target>Inode</target>\n      </trans-unit>\n      <trans-unit id="45f210b96a2a6e91f52f153a4f8dc30662629f8e" datatype="html">\n        <source>Usage</source>\n        <target>使用率</target>\n      </trans-unit>\n      <trans-unit id="950b5f04a2efd3f11c0f76418d5a4212381e792e" datatype="html">\n        <source>Origin</source>\n        <target>Origin</target>\n      </trans-unit>\n      <trans-unit id="22e4e574b7f8abf58254f328792445b42e2a924a" datatype="html">\n        <source>The value can be updated at runtime.</source>\n        <target>該值可在執行時期更新。</target>\n      </trans-unit>\n      <trans-unit id="d7770de7b2343c9deeaa7ebf37ba3e35ca5c5988" datatype="html">\n        <source>Daemons/clients do not pull this value from the\n      monitor config database. We disallow setting this option via \'ceph config\n      set ...\'. This option should be configured via ceph.conf or via the\n      command line.</source>\n        <target>精靈/用戶端不會從監控程式組態資料庫\n      提取此值。我們不允許透過「ceph config set ...」\n      設定此選項。應透過 ceph.conf 或使用指令行\n      進行設定。</target>\n      </trans-unit>\n      <trans-unit id="83f11fd1dc503c37931ea6c1c5c1e8c2b4b597b6" datatype="html">\n        <source>Option takes effect only during daemon startup.</source>\n        <target>該選項僅在精靈啟動期間生效。</target>\n      </trans-unit>\n      <trans-unit id="837a07cd6a971038b8b1aa190c43440c9fdb5d8b" datatype="html">\n        <source>Option only affects cluster creation.</source>\n        <target>該選項僅影響叢集建立。</target>\n      </trans-unit>\n      <trans-unit id="2566a88eb247c918b71cfe5b354c31de0d4b01e5" datatype="html">\n        <source>Option only affects daemon creation.</source>\n        <target>該選項僅影響精靈建立。</target>\n      </trans-unit>\n      <trans-unit id="1cdc60cfc09c257625768f3d2082816cdef27279" datatype="html">\n        <source>Updated config option \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\n        </source>\n        <target>Updated config option \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="d473e0f684a60db45d6f31e993f693f74290e056" datatype="html">\n        <source>Service</source>\n        <target>服務</target>\n      </trans-unit>\n      <trans-unit id="9951bb3983c7dba6fde013e05c922e4fe1a44367" datatype="html">\n        <source>Current value</source>\n        <target>目前的值</target>\n      </trans-unit>\n      <trans-unit id="4a01c175f90dd92b432f4a4a199d2c7bb9d997ff" datatype="html">\n        <source>Editable</source>\n        <target>可編輯</target>\n      </trans-unit>\n      <trans-unit id="261c0af854e8684abc15f89dce6efb3e72344b18" datatype="html">\n        <source>host</source>\n        <target>host</target>\n      </trans-unit>\n      <trans-unit id="9e35065e7c579e1fb960499117fd4b3c68d1c263" datatype="html">\n        <source>Host operation is disabled because orchestrator is unavailable</source>\n        <target>Host operation is disabled because orchestrator is unavailable</target>\n      </trans-unit>\n      <trans-unit id="a5d5e407f8c4e1b152509c966c90f37edf68472e" datatype="html">\n        <source>Device path</source>\n        <target>Device path</target>\n      </trans-unit>\n      <trans-unit id="94e76c060aa68c05d8c4a3f5a20c92fab3e83ccf" datatype="html">\n        <source>Rotates</source>\n        <target>Rotates</target>\n      </trans-unit>\n      <trans-unit id="b7da3e3505cc80f9bf3cffc8444c53e8a9ec70a5" datatype="html">\n        <source>Available</source>\n        <target>Available</target>\n      </trans-unit>\n      <trans-unit id="6ec98fa3d6504ba1fd03465194b53706c8263c99" datatype="html">\n        <source>Model</source>\n        <target>Model</target>\n      </trans-unit>\n      <trans-unit id="1a6e6ad05508130b7a99ce5b15daf3227c2a930c" datatype="html">\n        <source>Updated options for module "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>".\n        </source>\n        <target>Updated options for module "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="ac6c9212896d39b23811ed2dadab7d07336ec559" datatype="html">\n        <source>Enable</source>\n        <target>啟用</target>\n      </trans-unit>\n      <trans-unit id="6766a926d80bb7763785621098dae459d6226429" datatype="html">\n        <source>Disable</source>\n        <target>停用</target>\n      </trans-unit>\n      <trans-unit id="340f2f312c2eb353e5cd69aee6bee7f5a73c34ac" datatype="html">\n        <source>This Manager module is always on.</source>\n        <target>This Manager module is always on.</target>\n      </trans-unit>\n      <trans-unit id="6a0b3657745dd7a2f2162f1cc790bf9004d0845d" datatype="html">\n        <source>Reconnecting, please wait ...</source>\n        <target>正在重新連接,請稍候...</target>\n      </trans-unit>\n      <trans-unit id="7099a8878af7a0a26fe5663c4f46cfe87142b75d" datatype="html">\n        <source>Public Address</source>\n        <target>公用位址</target>\n      </trans-unit>\n      <trans-unit id="cbdd1cdc0c7a87f55dd177bc44212f0fc4b80852" datatype="html">\n        <source>Open Sessions</source>\n        <target>開啟的工作階段</target>\n      </trans-unit>\n      <trans-unit id="37e58d1cbdf8212b380efa51422e42821d4f08e6" datatype="html">\n        <source>No In</source>\n        <target>禁止標示為 In</target>\n      </trans-unit>\n      <trans-unit id="12706eb5af17ff5ad77b3de21af368d24678e00b" datatype="html">\n        <source>OSDs that were previously marked out will not be marked back in when they start</source>\n        <target>之前標示為 out 的 OSD 在啟動時將不會重新標示為 in</target>\n      </trans-unit>\n      <trans-unit id="96114d7624d11dc90ca46cfa96145fe22118df76" datatype="html">\n        <source>No Out</source>\n        <target>禁止標示為 Out</target>\n      </trans-unit>\n      <trans-unit id="a2ef636fe1ddd56b63e4aaf3d292f33dbf735ef3" datatype="html">\n        <source>OSDs will not automatically be marked out after the configured interval</source>\n        <target>OSD 在設定的間隔過後將不會自動標示為 out</target>\n      </trans-unit>\n      <trans-unit id="ee50aefa9b8bde1e5429b48709a23abfe08358e0" datatype="html">\n        <source>No Up</source>\n        <target>禁止標示為 Up</target>\n      </trans-unit>\n      <trans-unit id="608929b939307e397586a98cea52ae38997c7273" datatype="html">\n        <source>OSDs are not allowed to start</source>\n        <target>不允許 OSD 啟動</target>\n      </trans-unit>\n      <trans-unit id="1751ab69c1e7f62927afedbf7116e0116316c551" datatype="html">\n        <source>No Down</source>\n        <target>禁止標示為 Down</target>\n      </trans-unit>\n      <trans-unit id="41fac86dfb65c1db690f3e87f6497cb73b281084" datatype="html">\n        <source>OSD failure reports are being ignored, such that the monitors will not mark OSDs down</source>\n        <target>將會忽略 OSD 故障報告,如此監控程式便不會將 OSD 標示為 down</target>\n      </trans-unit>\n      <trans-unit id="b2838c6165a9672a17db188f4dd9676574353dd8" datatype="html">\n        <source>Pause</source>\n        <target>暫停</target>\n      </trans-unit>\n      <trans-unit id="191d71dadcc8790573d46706a0b48211de4b8334" datatype="html">\n        <source>Pauses reads and writes</source>\n        <target>暫停讀取和寫入</target>\n      </trans-unit>\n      <trans-unit id="471d5ba75836f38c19992cf83d8822632d99e473" datatype="html">\n        <source>No Scrub</source>\n        <target>禁止整理</target>\n      </trans-unit>\n      <trans-unit id="5b8caa61814121bc36dac0c34a9e9de3cae74990" datatype="html">\n        <source>Scrubbing is disabled</source>\n        <target>整理已停用</target>\n      </trans-unit>\n      <trans-unit id="7f29a0ac1c797bdc0347dd5d0734ba83e96e7ce6" datatype="html">\n        <source>No Deep Scrub</source>\n        <target>禁止深層整理</target>\n      </trans-unit>\n      <trans-unit id="01da61ab216541a8d31259cebd16b10c7e5fc124" datatype="html">\n        <source>Deep Scrubbing is disabled</source>\n        <target>深層整理已停用</target>\n      </trans-unit>\n      <trans-unit id="0b86c7f18ac725de62c7e192dcfccd02c0dc40ab" datatype="html">\n        <source>No Backfill</source>\n        <target>禁止回填</target>\n      </trans-unit>\n      <trans-unit id="bd33a2bdc8fbed3b7469f3717c16d9aaa2851fdd" datatype="html">\n        <source>Backfilling of PGs is suspended</source>\n        <target>PG 回填已暫停</target>\n      </trans-unit>\n      <trans-unit id="7fbbd036394cfa623add40299757bc87df8eaa7e" datatype="html">\n        <source>No Recover</source>\n        <target>禁止復原</target>\n      </trans-unit>\n      <trans-unit id="f3ee9b451a64dca47299c9b4ae1091c2008068ad" datatype="html">\n        <source>Recovery of PGs is suspended</source>\n        <target>PG 復原已暫停</target>\n      </trans-unit>\n      <trans-unit id="de904148fe7e8d812218f50333ffe247900617c5" datatype="html">\n        <source>Bitwise Sort</source>\n        <target>按位元排序</target>\n      </trans-unit>\n      <trans-unit id="2613c9fde29785bcd75f0abeccb653d14d7527b3" datatype="html">\n        <source>Use bitwise sort</source>\n        <target>使用按位元排序</target>\n      </trans-unit>\n      <trans-unit id="2fe10d84250aeee365db244251d40934c70ff1e9" datatype="html">\n        <source>Purged Snapdirs</source>\n        <target>已清除 Snapdir</target>\n      </trans-unit>\n      <trans-unit id="6b22a5b780eda3c5d500cdac9c6d4f96978c38f1" datatype="html">\n        <source>OSDs have converted snapsets</source>\n        <target>OSD 已轉換 snapset</target>\n      </trans-unit>\n      <trans-unit id="c42f0ba60564dc5b977a8c7f3fdcde9efbb39c60" datatype="html">\n        <source>Recovery Deletes</source>\n        <target>復原刪除</target>\n      </trans-unit>\n      <trans-unit id="72fe39979198ea2ed6db6274b5029025cb316d90" datatype="html">\n        <source>Deletes performed during recovery instead of peering</source>\n        <target>在復原期間,而非在建立互聯時執行刪除</target>\n      </trans-unit>\n      <trans-unit id="1bb4a1f9127cefe624c173557a716d0ebb6d647c" datatype="html">\n        <source>PG Log Hard Limit</source>\n        <target>PG 記錄硬限制</target>\n      </trans-unit>\n      <trans-unit id="e03c0321397fdf7a9c22e8d6b5015424943c0a57" datatype="html">\n        <source>Puts a hard limit on pg log length</source>\n        <target>為 pg 記錄長度設定硬限制</target>\n      </trans-unit>\n      <trans-unit id="3c384e2e80c6b5eb24861fbf4225b69486cff4a3" datatype="html">\n        <source>Updated OSD Flags</source>\n        <target>已更新 OSD 旗標</target>\n      </trans-unit>\n      <trans-unit id="688578fcc739d6f0c5fb6c366dbb19d21c6d9e36" datatype="html">\n        <source>out</source>\n        <target>out</target>\n      </trans-unit>\n      <trans-unit id="cb0f69bdd4dea41d7d45c74b6e07f98de8a2ab26" datatype="html">\n        <source>in</source>\n        <target>in</target>\n      </trans-unit>\n      <trans-unit id="b5fbc7c7f007dd53b2318525bb7ff8b0376c9e37" datatype="html">\n        <source>down</source>\n        <target>down</target>\n      </trans-unit>\n      <trans-unit id="b58719bcb9184e1a7884d00d22d10899d59bf295" datatype="html">\n        <source>Mark</source>\n        <target>標示</target>\n      </trans-unit>\n      <trans-unit id="31a1c1aa03f1e5084750bedb4e3fdc04ce2cb6ca" datatype="html">\n        <source>OSD lost</source>\n        <target>OSD 遺失</target>\n      </trans-unit>\n      <trans-unit id="f3fc4c85c5b8f1dedea0496b72d0af9da7b9e0d9" datatype="html">\n        <source>marked lost</source>\n        <target>已標示為遺失</target>\n      </trans-unit>\n      <trans-unit id="40fedc157ad899a18ec40573f770d18b040959d2" datatype="html">\n        <source>Purge</source>\n        <target>清除</target>\n      </trans-unit>\n      <trans-unit id="c8b1475105463088593de1022ff6dceb523eae0e" datatype="html">\n        <source>OSD</source>\n        <target>OSD</target>\n      </trans-unit>\n      <trans-unit id="4f3cff08c7033b63bbccfe66006b1bcaea48ddd8" datatype="html">\n        <source>purged</source>\n        <target>已清除</target>\n      </trans-unit>\n      <trans-unit id="8e5d1b01eca6dce26a4751f0b19bda7a6ab8db5b" datatype="html">\n        <source>destroy</source>\n        <target>損毀</target>\n      </trans-unit>\n      <trans-unit id="495a06b78bf165a7b545fa002137f0846b094a3d" datatype="html">\n        <source>destroyed</source>\n        <target>已損毀</target>\n      </trans-unit>\n      <trans-unit id="107614b994f2b01abdc1ca179bf780b0cd933ec4" datatype="html">\n        <source>Recovery Priority</source>\n        <target>Recovery Priority</target>\n      </trans-unit>\n      <trans-unit id="359dad5a3a912ef9dece3194035020856805aa96" datatype="html">\n        <source>PG scrub</source>\n        <target>PG scrub</target>\n      </trans-unit>\n      <trans-unit id="953144c420c2e5abd02e6a687433eac60fa852bd" datatype="html">\n        <source>PGs</source>\n        <target>PG</target>\n      </trans-unit>\n      <trans-unit id="7d3523ea9d35c274cef84043de8a2fdde540a9a1" datatype="html">\n        <source>Read bytes</source>\n        <target>讀取位元組數</target>\n      </trans-unit>\n      <trans-unit id="ecbe2fdca919499125bc42c2c67cedae8563db1c" datatype="html">\n        <source>Writes bytes</source>\n        <target>寫入位元組數</target>\n      </trans-unit>\n      <trans-unit id="f3c33322823c846b13f59ba2c8f234405bba99e1" datatype="html">\n        <source>Read ops</source>\n        <target>讀取操作數</target>\n      </trans-unit>\n      <trans-unit id="7e0b24a17546cbfab48b03dc874461d1ca68bc9a" datatype="html">\n        <source>Write ops</source>\n        <target>寫入操作數</target>\n      </trans-unit>\n      <trans-unit id="d45455406092f58e6b089cb440b5b7934b801a01" datatype="html">\n        <source>Mark OSD \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </source>\n        <target>Mark OSD \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="de0b7806e451b3b3dbd564decba59981fe781c18" datatype="html">\n        <source>Mark \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </source>\n        <target>Mark \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="bba1d3bb4f8a47aa2b3068e242562196eadb1e83" datatype="html">\n        <source>PG scrub options</source>\n        <target>PG scrub options</target>\n      </trans-unit>\n      <trans-unit id="b0b7748ebc9b7a6942a8cac4a89d4b215b365878" datatype="html">\n        <source>Updated PG scrub options</source>\n        <target>Updated PG scrub options</target>\n      </trans-unit>\n      <trans-unit id="4edc2162af0bd6cd941eaf730d20a7e3b5a83ba7" datatype="html">\n        <source>Max Backfills</source>\n        <target>最大回填數</target>\n      </trans-unit>\n      <trans-unit id="eb5e6c24a48a1dfe23e0a772b762be5e949c0c8a" datatype="html">\n        <source>Recovery Max Active</source>\n        <target>處於使用中狀態的最大復原操作數</target>\n      </trans-unit>\n      <trans-unit id="4a23c6d3859e03184118620d2baeb736ac765fbf" datatype="html">\n        <source>Recovery Max Single Start</source>\n        <target>單次啟動的最大復原操作數</target>\n      </trans-unit>\n      <trans-unit id="97049169ef5228fd1724de2fcdad1fec2858eaf8" datatype="html">\n        <source>Recovery Sleep</source>\n        <target>復原操作間隔睡眠時間</target>\n      </trans-unit>\n      <trans-unit id="a5c05002b0ac2040f1aede5e727e0ffd06eda819" datatype="html">\n        <source>Custom</source>\n        <target>自訂</target>\n      </trans-unit>\n      <trans-unit id="89553524f4e7db5c437b07dcfdc7b831d56ded1a" datatype="html">\n        <source>Updated OSD recovery speed priority "\n          <x id="INTERPOLATION" equiv-text="{{value}}"/>"\n        </source>\n        <target>Updated OSD recovery speed priority "\n          <x id="INTERPOLATION" equiv-text="{{value}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="ccf5f30798c03d2d8efd0e6eb508320c018b722d" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{operation}}"/> was initialized in the following OSD(s): \n          <x id="INTERPOLATION_1" equiv-text="{{id}}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{operation}}"/> was initialized in the following OSD(s): \n          <x id="INTERPOLATION_1" equiv-text="{{id}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="9836e830d0219585b36d53be00a31c3d4798a4aa" datatype="html">\n        <source>Smartctl has received an unknown argument (error code\n          <x id="INTERPOLATION" equiv-text="{{smartData.smartctl_error_code}}"/>). You may be using an\n                incompatible version of smartmontools. Version &gt;= 7.0 of\n                smartmontools is required to succesfully retrieve data.\n        </source>\n        <target>Smartctl has received an unknown argument (error code\n          <x id="INTERPOLATION" equiv-text="{{smartData.smartctl_error_code}}"/>). You may be using an\n                incompatible version of smartmontools. Version &gt;= 7.0 of\n                smartmontools is required to succesfully retrieve data.\n        </target>\n      </trans-unit>\n      <trans-unit id="d5fd840374ca1a6f394bcd81f390a6dca27f8224" datatype="html">\n        <source>An error with error code \n          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.\n        </source>\n        <target>An error with error code \n          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.\n        </target>\n      </trans-unit>\n      <trans-unit id="a0b59d7139692bb8d8ed786b6eb6e9e70ce743f3" datatype="html">\n        <source>Raw</source>\n        <target>Raw</target>\n      </trans-unit>\n      <trans-unit id="2f3beddc8234b30fb26a7f63ba2f1ea74f2ed6f7" datatype="html">\n        <source>Threshold</source>\n        <target>Threshold</target>\n      </trans-unit>\n      <trans-unit id="4654b5a68af3c8bad29aa14ca85ccea1f3143c6b" datatype="html">\n        <source>When Failed</source>\n        <target>When Failed</target>\n      </trans-unit>\n      <trans-unit id="5b7f56d5be49fb8e8d8f40209d6746f8f72e9177" datatype="html">\n        <source>Worst</source>\n        <target>Worst</target>\n      </trans-unit>\n      <trans-unit id="1edb8e46b0fac57c5feb3d7d3585afc0122d5481" datatype="html">\n        <source>Create silence</source>\n        <target>Create silence</target>\n      </trans-unit>\n      <trans-unit id="78917e8031aaf913ac3fa63295325ce8879703ce" datatype="html">\n        <source>Job</source>\n        <target>工作</target>\n      </trans-unit>\n      <trans-unit id="94287619205068b591c18493c64781424864c259" datatype="html">\n        <source>Severity</source>\n        <target>嚴重性</target>\n      </trans-unit>\n      <trans-unit id="e6cfbe0c5e0302ba2cec22315f6a28f8ac46b651" datatype="html">\n        <source>Started</source>\n        <target>已啟動</target>\n      </trans-unit>\n      <trans-unit id="801b98c6f02fe3b32f6afa3ee854c99ed83474e6" datatype="html">\n        <source>URL</source>\n        <target>URL</target>\n      </trans-unit>\n      <trans-unit id="a5cd682a8a33bdc72e093d059429e3cc3a50ec1d" datatype="html">\n        <source>silence</source>\n        <target>silence</target>\n      </trans-unit>\n      <trans-unit id="f557e117e059e7036c6eecacd325a6ae35d866e0" datatype="html">\n        <source>Attribute name</source>\n        <target>Attribute name</target>\n      </trans-unit>\n      <trans-unit id="50f7f517ad8158667f7d4e2bd6f3256e05156e75" datatype="html">\n        <source>Regular expression</source>\n        <target>Regular expression</target>\n      </trans-unit>\n      <trans-unit id="81b1eab399c47110d50f45e3ccb4c009de7cb581" datatype="html">\n        <source>Please add your Prometheus host to the dashboard configuration and refresh the page</source>\n        <target>Please add your Prometheus host to the dashboard configuration and refresh the page</target>\n      </trans-unit>\n      <trans-unit id="29b4ae3296e239446fa0dea88a5112de15cffa54" datatype="html">\n        <source>Created by</source>\n        <target>Created by</target>\n      </trans-unit>\n      <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc" datatype="html">\n        <source>Updated</source>\n        <target>已更新</target>\n      </trans-unit>\n      <trans-unit id="8d833cceee0ba4c5161b130365e02bc1e129b57e" datatype="html">\n        <source>Ends</source>\n        <target>Ends</target>\n      </trans-unit>\n      <trans-unit id="46a11ff4289e8c88b1b7a935f8d8ee704055f11a" datatype="html">\n        <source>Silence</source>\n        <target>Silence</target>\n      </trans-unit>\n      <trans-unit id="f392abfbb997402ce2aebb13e660a8f01dec54db" datatype="html">\n        <source>Service type</source>\n        <target>Service type</target>\n      </trans-unit>\n      <trans-unit id="9ffa91b056fb979786627885651e19c8275675cd" datatype="html">\n        <source>Service instance</source>\n        <target>Service instance</target>\n      </trans-unit>\n      <trans-unit id="b5910192a9ac4816638ff6383b03f986ff965796" datatype="html">\n        <source>Container id</source>\n        <target>Container id</target>\n      </trans-unit>\n      <trans-unit id="60ab9cce12a56cdc5ec6a1b699f8c7afecd629d5" datatype="html">\n        <source>Rados config location</source>\n        <target>Rados config location</target>\n      </trans-unit>\n      <trans-unit id="dfa409f831c9168a377bdee02c5ea6aaf9b2bf61" datatype="html">\n        <source>Service URL</source>\n        <target>Service URL</target>\n      </trans-unit>\n      <trans-unit id="bf2468fd965b8a59c135ad549b3a612aa9873abc" datatype="html">\n        <source>Status Description</source>\n        <target>Status Description</target>\n      </trans-unit>\n      <trans-unit id="fb2e1bed329dc5b84197808c778abb9edcbdb335" datatype="html">\n        <source>Used</source>\n        <target>已使用</target>\n      </trans-unit>\n      <trans-unit id="4f1ab04d9100fb0df0e62b921ec46ae052ae29fc" datatype="html">\n        <source>Avail.</source>\n        <target>可用</target>\n      </trans-unit>\n      <trans-unit id="a1c9b3d4fa67450fe9afd1d726f8a1bd91d990ea" datatype="html">\n        <source>Clean</source>\n        <target>乾淨</target>\n      </trans-unit>\n      <trans-unit id="0054f5460090d6dde385e8f099d598df5d28cf54" datatype="html">\n        <source>Working</source>\n        <target>工作中</target>\n      </trans-unit>\n      <trans-unit id="a8059e31694578c1b0344a76a345357dd60e8f01" datatype="html">\n        <source>Warning</source>\n        <target>警告</target>\n      </trans-unit>\n      <trans-unit id="e5d8bb389c702588877f039d72178f219453a72d" datatype="html">\n        <source>Unknown</source>\n        <target>未知</target>\n      </trans-unit>\n      <trans-unit id="88155be1b9b9c6140d6e8f93bac4a775cfdc6671" datatype="html">\n        <source>Healthy</source>\n        <target>Healthy</target>\n      </trans-unit>\n      <trans-unit id="8a3aec4dc1a6e2d4c612ae85e0537acbb20a0f85" datatype="html">\n        <source>Misplaced</source>\n        <target>Misplaced</target>\n      </trans-unit>\n      <trans-unit id="ee81f9bf7ceac69712e0b83e8adc268739f9673e" datatype="html">\n        <source>Degraded</source>\n        <target>Degraded</target>\n      </trans-unit>\n      <trans-unit id="14625bc4025daef1969777a67a3cca27e0cd9167" datatype="html">\n        <source>Unfound</source>\n        <target>Unfound</target>\n      </trans-unit>\n      <trans-unit id="8f23ea509d081c2f747d083d44608dbf125b2ea2" datatype="html">\n        <source>replicas</source>\n        <target>replicas</target>\n      </trans-unit>\n      <trans-unit id="129a2224e1f9d19eb5e11e2a07fe10a785556484" datatype="html">\n        <source>up</source>\n        <target>啟用中</target>\n      </trans-unit>\n      <trans-unit id="d5f29cf0af691726483262d647eb6622be002512" datatype="html">\n        <source>no filesystems</source>\n        <target>無檔案系統</target>\n      </trans-unit>\n      <trans-unit id="b1c4387ffab06f3fa9fdb4411aea955595538d44" datatype="html">\n        <source>active</source>\n        <target>使用中</target>\n      </trans-unit>\n      <trans-unit id="1aaf7054d826f2cb05ec3e88a5a4b8116861e1f5" datatype="html">\n        <source>standby</source>\n        <target>待命</target>\n      </trans-unit>\n      <trans-unit id="c9a1080024dca344a48acdb77fa2d54e059f7254" datatype="html">\n        <source>n/a</source>\n        <target>無</target>\n      </trans-unit>\n      <trans-unit id="84a1787b6df375847c70f782861d7e7f8f43bff4" datatype="html">\n        <source>active daemon</source>\n        <target>使用中的精靈</target>\n      </trans-unit>\n      <trans-unit id="24407dc2ebfafaf6b131ee978683b893c3f1d763" datatype="html">\n        <source>quorum</source>\n        <target>quorum</target>\n      </trans-unit>\n      <trans-unit id="2fa50bc07995c6ea660412294298ded39fcb08d9" datatype="html">\n        <source>The NFS Ganesha service is not configured.</source>\n        <target>未設定 NFS Ganesha 服務。</target>\n      </trans-unit>\n      <trans-unit id="af1396bdc49f45ea6c4a1e414769f5e2a382c834" datatype="html">\n        <source>Transport</source>\n        <target>傳輸</target>\n      </trans-unit>\n      <trans-unit id="b6a0e176d96c4feed2e975a039c044fcf822e152" datatype="html">\n        <source>CephFS User</source>\n        <target>CephFS 使用者</target>\n      </trans-unit>\n      <trans-unit id="44dc610cf201a163e8c38da810acec9596930bb3" datatype="html">\n        <source>CephFS Filesystem</source>\n        <target>CephFS 檔案系統</target>\n      </trans-unit>\n      <trans-unit id="db6dc7124be83c7055cb0f2719e31f2f9d46fd3d" datatype="html">\n        <source>(inherited from global config)</source>\n        <target>(繼承自全域組態)</target>\n      </trans-unit>\n      <trans-unit id="e1f97bb86f991553ec7b535cb39e7eaa99dfcfe2" datatype="html">\n        <source>inherited from global config</source>\n        <target>繼承自全域組態</target>\n      </trans-unit>\n      <trans-unit id="e751800766277e7c2edd652cec7a7a1a68a37852" datatype="html">\n        <source>-- Select what kind of user id squashing is performed --</source>\n        <target>-- 選取執行哪種類型的使用者 ID 匿名存取 --</target>\n      </trans-unit>\n      <trans-unit id="4b58387f911e8a7b135a0c4d76c70335c65bbb32" datatype="html">\n        <source>There are no daemons available.</source>\n        <target>沒有可用的精靈。</target>\n      </trans-unit>\n      <trans-unit id="18ae8dc1264f06df7ea251175ada2ac1b8401018" datatype="html">\n        <source>NFS export</source>\n        <target>NFS export</target>\n      </trans-unit>\n      <trans-unit id="ae128527ec18892f812a62a1fd15dc50a38060c0" datatype="html">\n        <source>EC Profile</source>\n        <target>EC Profile</target>\n      </trans-unit>\n      <trans-unit id="60fb10c145f9c7ede2b9ddf9b2b0b0f6191d0ebd" datatype="html">\n        <source>Cache Mode</source>\n        <target>快取模式</target>\n      </trans-unit>\n      <trans-unit id="fa5bfad31d4139f6871443bb74324ffda5cad3e6" datatype="html">\n        <source>Min Evict Age</source>\n        <target>逐出前至少可留存的時間</target>\n      </trans-unit>\n      <trans-unit id="fd0eb851666df45c34c76fabcda79b0d77bc910b" datatype="html">\n        <source>Min Flush Age</source>\n        <target>衝洗前至少可留存的時間</target>\n      </trans-unit>\n      <trans-unit id="cb54d2c420a534cee0c308ea5589f8c394ef8d67" datatype="html">\n        <source>Target Max Bytes</source>\n        <target>目標最大位元組數</target>\n      </trans-unit>\n      <trans-unit id="07f4ebe6615dca466818ffdae2a69ee217d265fb" datatype="html">\n        <source>Target Max Objects</source>\n        <target>目標最大物件數</target>\n      </trans-unit>\n      <trans-unit id="eaa8f4df53cf7fa78d078e20a701d10f3dccd77d" datatype="html">\n        <source>No applications added</source>\n        <target>未新增應用程式</target>\n      </trans-unit>\n      <trans-unit id="321c2a7640f11177ea49b0857b94c4b70830c0e6" datatype="html">\n        <source>Applications limit reached</source>\n        <target>已達到應用程式上限</target>\n      </trans-unit>\n      <trans-unit id="519d27742b74fadc8336777452f78891e98aa1dc" datatype="html">\n        <source>A pool can only have up to four applications definitions.</source>\n        <target>一個池最多只能四個應用程式定義。</target>\n      </trans-unit>\n      <trans-unit id="b5bec3813f0d45daa7eb9471272969e1bc3e734e" datatype="html">\n        <source>Allowed characters \'_a-zA-Z0-9\'</source>\n        <target>允許的字元為「_a-zA-Z0-9」</target>\n      </trans-unit>\n      <trans-unit id="807472d29602a0085bce62e534bd66208982c2e2" datatype="html">\n        <source>Maximum length is 128 characters</source>\n        <target>最大長度為 128 個字元</target>\n      </trans-unit>\n      <trans-unit id="37785748b9ac9ad1d3e4b111ac502c3284afe84b" datatype="html">\n        <source>Filter or add applications</source>\n        <target>過濾或新增應用程式</target>\n      </trans-unit>\n      <trans-unit id="38c7b8610ca87835e13eeee6a09ba1c414cd5cb9" datatype="html">\n        <source>Add application</source>\n        <target>新增應用程式</target>\n      </trans-unit>\n      <trans-unit id="db8c42f077700d8a94619fad9f4c94b7361d5f1d" datatype="html">\n        <source>pool</source>\n        <target>pool</target>\n      </trans-unit>\n      <trans-unit id="65bb2be83261bc4798853bbccdedc110c43feea7" datatype="html">\n        <source>erasure code profile</source>\n        <target>糾刪碼設定檔</target>\n      </trans-unit>\n      <trans-unit id="112d356ad6846959ca4aa5ec9a1f0d9d473b24ec" datatype="html">\n        <source>Replica Size</source>\n        <target>複本大小</target>\n      </trans-unit>\n      <trans-unit id="ec50492db341fa752b023d8c924601286b6c9c0c" datatype="html">\n        <source>Last Change</source>\n        <target>上次變更時間</target>\n      </trans-unit>\n      <trans-unit id="563a8c136a9d423bc7ae1269a404d6da5fd83dad" datatype="html">\n        <source>Erasure Coded Profile</source>\n        <target>糾刪碼設定檔</target>\n      </trans-unit>\n      <trans-unit id="0ad7f0662956cff61ac1208f92b1a0305b1b2e58" datatype="html">\n        <source>Crush Ruleset</source>\n        <target>CRUSH 規則集</target>\n      </trans-unit>\n      <trans-unit id="f15bf7f588f09ca79795b17bc244e8d336f28171" datatype="html">\n        <source>Write bytes</source>\n        <target>寫入位元組數</target>\n      </trans-unit>\n      <trans-unit id="bcc365a084b6145b941b371bd4c2b6c3d2c79234" datatype="html">\n        <source>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</source>\n        <target>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</target>\n      </trans-unit>\n      <trans-unit id="44939fd05cedfd077db886528b755e77d5fa3885" datatype="html">\n        <source>bucket</source>\n        <target>桶</target>\n      </trans-unit>\n      <trans-unit id="84fee774286ec4191311f1277075455c3ea5e2e2" datatype="html">\n        <source>Updated Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>".\n        </source>\n        <target>Updated Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="2d7a43674f0bbc131c9e555ec16ac37fa0445d76" datatype="html">\n        <source>Created Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>"\n        </source>\n        <target>Created Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="ec40d74ecfb1d6d60455af6805c9a714a3f5750a" datatype="html">\n        <source>buckets</source>\n        <target>桶</target>\n      </trans-unit>\n      <trans-unit id="764585d5595bac113582ee14a6fd07006770ceb1" datatype="html">\n        <source>capability</source>\n        <target>capability</target>\n      </trans-unit>\n      <trans-unit id="0914cbe18bae204217e1851be6d2d24d86e74605" datatype="html">\n        <source>user</source>\n        <target>使用者</target>\n      </trans-unit>\n      <trans-unit id="d8c86dc5e48a63590d9c94e19f90b5f8325cbd49" datatype="html">\n        <source>subuser</source>\n        <target>subuser</target>\n      </trans-unit>\n      <trans-unit id="f45a3de8a8b40d161cc36a55d77548a27107ca04" datatype="html">\n        <source>S3 Key</source>\n        <target>S3 Key</target>\n      </trans-unit>\n      <trans-unit id="854a763265e92f91ba3ccee1a0e8d823be584f7c" datatype="html">\n        <source>Updated Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </source>\n        <target>Updated Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="84ab3fd641e65e39cffee0ec722a059ed284229e" datatype="html">\n        <source>Created Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </source>\n        <target>Created Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="7c7f4be7b726e61c577e63842a58d9e435f7c597" datatype="html">\n        <source>users</source>\n        <target>使用者</target>\n      </trans-unit>\n      <trans-unit id="9f7760223efd77806f1bbaf963e6993bb4bc6a0a" datatype="html">\n        <source>Swift Key</source>\n        <target>Swift Key</target>\n      </trans-unit>\n      <trans-unit id="1481b8488e10dbc437accce89d2ae35a0106e8ba" datatype="html">\n        <source>Scope</source>\n        <target>範圍</target>\n      </trans-unit>\n      <trans-unit id="9b1d5e95f6bdcfb4b737413f5fa157e0dcb103d5" datatype="html">\n        <source>Read</source>\n        <target>讀取</target>\n      </trans-unit>\n      <trans-unit id="70a67e04629f6d412db0a12d51820b480788d795" datatype="html">\n        <source>Create</source>\n        <target>建立</target>\n      </trans-unit>\n      <trans-unit id="dc4fba275819619ee78e8eae14d357ea69ba7477" datatype="html">\n        <source>role</source>\n        <target>role</target>\n      </trans-unit>\n      <trans-unit id="fe6ee93173884201ec62d62ba173c3de85ae177e" datatype="html">\n        <source>Created role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Created role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="41c032df0732f4318f8213fabd0719ac347d4b6c" datatype="html">\n        <source>Updated role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Updated role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="50e22b5289f79f1417369403345c9fa9911a4557" datatype="html">\n        <source>System Role</source>\n        <target>系統角色</target>\n      </trans-unit>\n      <trans-unit id="7f132668e2dbfcf616381d2daf59d1a6f2698102" datatype="html">\n        <source>Deleted role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Deleted role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="2e35d60a14ce0b470e8b54602864a867f7fcef40" datatype="html">\n        <source>There are no roles.</source>\n        <target>There are no roles.</target>\n      </trans-unit>\n      <trans-unit id="d2362a49d2434ce137bf19dab004251b7fd9c7b3" datatype="html">\n        <source>Created user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Created user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="9910122dfedd2eaa544a990f1430e5b82a76d99f" datatype="html">\n        <source>Update user</source>\n        <target>更新使用者</target>\n      </trans-unit>\n      <trans-unit id="ac10a3d9b59575640797c1a8e6aea642cf5d5e77" datatype="html">\n        <source>Continue</source>\n        <target>繼續</target>\n      </trans-unit>\n      <trans-unit id="cf4bcf4ce3d551e6099ccdc3546ae418fe5f8038" datatype="html">\n        <source>You were automatically logged out because your roles have been changed.</source>\n        <target>您已被自動登出,因為您的角色發生了變更。</target>\n      </trans-unit>\n      <trans-unit id="0f6003fb0c1cc73b89d225801cc1b870945cd259" datatype="html">\n        <source>Updated user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Updated user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="fe516c6d820018fdc971113935e22ec1e852965f" datatype="html">\n        <source>Deleted user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Deleted user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="01a7e11502ff80421ef3615e533ea14ef57e1d5c" datatype="html">\n        <source>Failed to delete user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Failed to delete user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="63316a3861dbcb035147efc1b9fb6bc708242e94" datatype="html">\n        <source>You are currently logged in as "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>".\n        </source>\n        <target>You are currently logged in as "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="d8b81951d25439864e92f750f7c99d7426d6517c" datatype="html">\n        <source>password</source>\n        <target>password</target>\n      </trans-unit>\n      <trans-unit id="d361a9b5e1f7985a12c0433388f31626525a02b8" datatype="html">\n        <source>Updated user password"</source>\n        <target>Updated user password"</target>\n      </trans-unit>\n      <trans-unit id="1d7fbcc3d5efc946ffbcf86fed04c4e20dda20fb" datatype="html">\n        <source>Each object is split in data-chunks parts, each stored on a different OSD.</source>\n        <target>各物件都被分割成資料區塊部分,分別儲存於不同的 OSD。</target>\n      </trans-unit>\n      <trans-unit id="b1f8ed4e216585f1f9134740002ef3c8501debd8" datatype="html">\n        <source>Compute coding chunks for each object and store them on different OSDs.\n      The number of coding chunks is also the number of OSDs that can be down without losing data.</source>\n        <target>運算各物件的編碼區塊并將它們儲存到不同的 OSD。\n      編碼區塊的數量等同於在不遺失資料的前提下,可停機的 OSD 數量。</target>\n      </trans-unit>\n      <trans-unit id="c437ee74a9a8e781e1380153f742a685e3b8cc5e" datatype="html">\n        <source>The jerasure plugin is the most generic and flexible plugin,\n          it is also the default for Ceph erasure coded pools.</source>\n        <target>Jerasure 外掛程式是最一般、最靈活的外掛程式,\n          也是 Ceph 糾刪碼池的預設外掛程式。</target>\n      </trans-unit>\n      <trans-unit id="8c7e19322851402afa67e41f4f1d4e531caf1bf5" datatype="html">\n        <source>The more flexible technique is reed_sol_van : it is enough to set k\n          and m. The cauchy_good technique can be faster but you need to chose the packetsize\n          carefully. All of reed_sol_r6_op, liberation, blaum_roth, liber8tion are RAID6 equivalents\n          in the sense that they can only be configured with m=2.</source>\n        <target>Reed_sol_van 方法更靈活︰它足以設定 k\n          和 m。Cauchy_good 方法更快,但您需要小心選取封包大小。\n          所有 reed_sol_r6_op、liberation、blaum_roth、liber8tion 都\n          等同於 RAID6,它們只能設定為 m=2。</target>\n      </trans-unit>\n      <trans-unit id="b1b11f49281b4e79219b4eecfbcb033cb15bd880" datatype="html">\n        <source>The encoding will be done on packets of bytes size at a time.\n          Chosing the right packet size is difficult.\n          The jerasure documentation contains extensive information on this topic.</source>\n        <target>將以位元組大小的封包為單位進行編碼。\n          選取合適的封包大小很難。\n          Jerasure 文件包含有關此主題的詳細資訊。</target>\n      </trans-unit>\n      <trans-unit id="d9cb3bc07a25b26fbea457e0a7b543340bc13c49" datatype="html">\n        <source>With the jerasure plugin, when an erasure coded object is stored on\n          multiple OSDs, recovering from the loss of one OSD requires reading from all the others.\n          For instance if jerasure is configured with k=8 and m=4, losing one OSD requires reading\n          from the eleven others to repair.\n\n          The lrc erasure code plugin creates local parity chunks to be able to recover using\n          less OSDs. For instance if lrc is configured with k=8, m=4 and l=4, it will create\n          an additional parity chunk for every four OSDs. When a single OSD is lost, it can be\n          recovered with only four OSDs instead of eleven.</source>\n        <target>使用 jerasure 外掛程式時,若糾刪碼物件儲存於\n          多個 OSD 上,則復原一個遺失的 OSD 時需要讀取所有其他 OSD。\n          例如,若 jerasure 設定為 k=8 且 m=4,則遺失一個 OSD 後需讀取\n          其他十一個 OSD 才能修復。\n\n          lrc 糾刪碼外掛程式會建立本地同位區塊,因此只需較少的 OSD 即\n          可復原。例如,若 lrc 設定為 k=8、m=4 且 l=4,它將為每四個 OSD\n          建立額外的同位區塊。這樣,當一個 OSD 遺失時,它只需四個 OSD\n          即可復原,而不需要十一個。</target>\n      </trans-unit>\n      <trans-unit id="813959d46e63a29bbd266b3af2ff9414c2ef553c" datatype="html">\n        <source>Group the coding and data chunks into sets of size locality. For instance,\n          for k=4 and m=2, when locality=3 two groups of three are created. Each set can\n          be recovered without reading chunks from another set.</source>\n        <target>將編碼區塊和資料區塊分組為大小為 locality 的集合。例如,\n          k=4 且 m=2 時,若 locality=3,則會建立 2 個大小為 3 的組。這樣,各組都能\n          自行復原,而無需從另一組讀取區塊。</target>\n      </trans-unit>\n      <trans-unit id="f0ff63d92e0a1b4d4b51e31b9133802d160a5f4c" datatype="html">\n        <source>The type of the crush bucket in which each set of chunks defined\n          by l will be stored. For instance, if it is set to rack, each group of l chunks will be\n          placed in a different rack. It is used to create a CRUSH rule step such as step choose\n          rack. If it is not set, no such grouping is done.</source>\n        <target>由 l 定義的區塊集將按哪種 CRUSH 桶類型儲存。\n          例如,若設定為機架,則各組 l 區塊將會被放置到不同的\n          機架中。該值用於建立類似 step choose rack 的 CRUSH\n          規則步驟。若未設定,則不會進行此類分組。</target>\n      </trans-unit>\n      <trans-unit id="3ece48df9d1e9a98f98bf3c5cc66e8b637020a4d" datatype="html">\n        <source>The isa plugin encapsulates the ISA library. It only runs on Intel processors.</source>\n        <target>isa 外掛程式封包了 ISA 程式庫。它只能在 Intel 處理器上執行。</target>\n      </trans-unit>\n      <trans-unit id="4472c9e31bfc7d96a83dc4afce0a6e885c99e839" datatype="html">\n        <source>The ISA plugin comes in two Reed Solomon forms.\n          If reed_sol_van is set, it is Vandermonde, if cauchy is set, it is Cauchy.</source>\n        <target>ISA 外掛程式包含兩種 Reed Solomon 格式。\n          若設定為 reed_sol_van,則為 Vandermonde。若設定為 cauchy,則為 Cauchy。</target>\n      </trans-unit>\n      <trans-unit id="fa385f5ecf63083ec848dca8dc5e52bdc72ac6f6" datatype="html">\n        <source>The shec plugin encapsulates the multiple SHEC library.\n          It allows ceph to recover data more efficiently than Reed Solomon codes.</source>\n        <target>shec 外掛程式封包了多個 SHEC 程式庫。\n          與 Reed Solomon 代碼相比,它能更有效地復原資料。</target>\n      </trans-unit>\n      <trans-unit id="687b3cd94b3475c24ff4481d64d4739f902a377c" datatype="html">\n        <source>The number of parity chunks each of which includes each data chunk in its\n          calculation range. The number is used as a durability estimator. For instance, if c=2,\n          2 OSDs can be down without losing data.</source>\n        <target>同位區塊的數量,它們在各自的計算範圍內包含了\n          各資料區塊。該數值被用做持久性估值。例如,若 c=2,\n          則在不遺失資料的前提下,可有 2 個 OSD 停機。</target>\n      </trans-unit>\n      <trans-unit id="f3c4af6df91bdaabdb715f8f0b61a24faf73a3bc" datatype="html">\n        <source>The name of the crush bucket used for the first step of the CRUSH rule.\n      For instance step take default.</source>\n        <target>CRUSH 規則的第一步所指向的 CRUSH 桶名稱。\n      例如 step take default。</target>\n      </trans-unit>\n      <trans-unit id="e1059955a5ce65cdabf0c0a8207377e1f9bae57e" datatype="html">\n        <source>Ensure that no two chunks are in a bucket with the same failure\n      domain. For instance, if the failure domain is host no two chunks will be stored on the same\n      host. It is used to create a CRUSH rule step such as step chooseleaf host.</source>\n        <target>確定兩個區塊不會存在於同一故障網域的桶中。\n      例如,若故障網域為主機,則不會有兩個區塊儲存於同一主機中。\n      該值用於建立類似 step chooseleaf host 的 CRUSH 規則步驟。</target>\n      </trans-unit>\n      <trans-unit id="ac392ac9c6da5fde6da80fc57b9c09402fb6e73d" datatype="html">\n        <source>Restrict placement to devices of a specific class\n      (e.g., ssd or hdd), using the crush device class names in the CRUSH map.</source>\n        <target>使用 CRUSH 地圖中的 crush 裝置類別名稱,\n      將放置限制於特定類別的裝置 (例如 ssd 或 hdd)。</target>\n      </trans-unit>\n      <trans-unit id="62bcb9ae5583a088649b1adf5787a86ca3334f89" datatype="html">\n        <source>Set the directory name from which the erasure code plugin is loaded.</source>\n        <target>設定糾刪碼外掛程式所在目錄。</target>\n      </trans-unit>\n      <trans-unit id="c8f10184a8433d132ede0a2c0c1aa96f291cacfa" datatype="html">\n        <source>Allows all operations</source>\n        <target>允許所有操作</target>\n      </trans-unit>\n      <trans-unit id="82077ee97c11ee76efc3adf253b7b26654544317" datatype="html">\n        <source>Allows only operations that do not modify the server</source>\n        <target>僅允許不修改伺服器的操作</target>\n      </trans-unit>\n      <trans-unit id="22b5212ec10449dbf0a0af0ad34122eac51b5f2a" datatype="html">\n        <source>Does not allow read or write operations, but allows any other operation</source>\n        <target>不允許讀取或寫入操作,但是允許任何其他操作</target>\n      </trans-unit>\n      <trans-unit id="9799d0f8c4b7727ae239fedfe3c0ce127feb7a50" datatype="html">\n        <source>Does not allow read, write, or any operation that modifies file        attributes or directory content</source>\n        <target>不允許讀取、寫入或任何可能修改檔案屬性或目錄內容的操作</target>\n      </trans-unit>\n      <trans-unit id="aeddefe0af87025d8f00699aa94bed8216a99a58" datatype="html">\n        <source>Allows no access at all</source>\n        <target>完全禁止存取</target>\n      </trans-unit>\n      <trans-unit id="a436c6a4025a749198e93cac239de8deede72211" datatype="html">\n        <source>-- Select the priority --</source>\n        <target>-- 選取優先程度 --</target>\n      </trans-unit>\n      <trans-unit id="9556266f0a2b1762a44b686f2bb21dbfefb01c12" datatype="html">\n        <source>Low</source>\n        <target>低</target>\n      </trans-unit>\n      <trans-unit id="72279141a67cc042d9864102b703216cc8a428a3" datatype="html">\n        <source>High</source>\n        <target>高</target>\n      </trans-unit>\n      <trans-unit id="6080b77234e92ad41bb52653b239c4c4f851317d" datatype="html">\n        <source>Error</source>\n        <target>Error</target>\n      </trans-unit>\n      <trans-unit id="c43dc1967a603fefb886149ac35863a06d5b4ce5" datatype="html">\n        <source>Information</source>\n        <target>資訊</target>\n      </trans-unit>\n      <trans-unit id="1e035e6ccfab771cad4226b2ad230cb0d4a88cba" datatype="html">\n        <source>Success</source>\n        <target>Success</target>\n      </trans-unit>\n      <trans-unit id="e6ca3c0efaf51e6d45a7f92f58bac37140c3fda4" datatype="html">\n        <source>Last 5 minutes</source>\n        <target>過去 5 分鐘</target>\n      </trans-unit>\n      <trans-unit id="b0ecb2bbc548cc9bd95050fd8f0c84586d083fe2" datatype="html">\n        <source>Last 15 minutes</source>\n        <target>過去 15 分鐘</target>\n      </trans-unit>\n      <trans-unit id="857ae67deb51353120b203b0f2a06b0c48ef49fa" datatype="html">\n        <source>Last 30 minutes</source>\n        <target>過去 30 分鐘</target>\n      </trans-unit>\n      <trans-unit id="7b1738fad314e936dc14b94db8f43da736942308" datatype="html">\n        <source>Last 1 hour (Default)</source>\n        <target>過去 1 小時 (預設值)</target>\n      </trans-unit>\n      <trans-unit id="a428288224389726cef9d9bd8d1d7808cccd7ffd" datatype="html">\n        <source>Last 3 hours</source>\n        <target>過去 3 小時</target>\n      </trans-unit>\n      <trans-unit id="7cbabecc8d80cf183ac199cfaeb7619d56e5d43f" datatype="html">\n        <source>Last 6 hours</source>\n        <target>過去 6 小時</target>\n      </trans-unit>\n      <trans-unit id="1a389cdf64187d34cf99eec30a290e3fa7d4744f" datatype="html">\n        <source>Last 12 hours</source>\n        <target>過去 12 小時</target>\n      </trans-unit>\n      <trans-unit id="9e0ba5f591380a94d594a76288f0c41aa97eb9c2" datatype="html">\n        <source>Last 24 hours</source>\n        <target>過去 24 小時</target>\n      </trans-unit>\n      <trans-unit id="e430eda9c785cd43465b7cbb400ee914f1057247" datatype="html">\n        <source>Yesterday</source>\n        <target>昨天</target>\n      </trans-unit>\n      <trans-unit id="7fb1099e29660162f9154d5b2feee7743a423df6" datatype="html">\n        <source>Today</source>\n        <target>今天</target>\n      </trans-unit>\n      <trans-unit id="33904058a97a64bd189bed84038b1ffe719769c7" datatype="html">\n        <source>Today so far</source>\n        <target>今天到目前為止</target>\n      </trans-unit>\n      <trans-unit id="3b0b849be007510021d3d383df75bec95ef9c97b" datatype="html">\n        <source>Day before yesterday</source>\n        <target>前天</target>\n      </trans-unit>\n      <trans-unit id="6b430c2c394c4d32ebd7d46c8c46ab60e1b29ccb" datatype="html">\n        <source>Last 2 days</source>\n        <target>過去 2 天</target>\n      </trans-unit>\n      <trans-unit id="d5e812a87a5d57a94200a2013027cab76a7c4863" datatype="html">\n        <source>This day last week</source>\n        <target>上週的今天</target>\n      </trans-unit>\n      <trans-unit id="d00edc936eeab6b5577401f115ca86ca2c87dc9a" datatype="html">\n        <source>Previous week</source>\n        <target>上週</target>\n      </trans-unit>\n      <trans-unit id="b036e40577baa6b918b2267d319d4b3aeaa88a5a" datatype="html">\n        <source>This week</source>\n        <target>本週</target>\n      </trans-unit>\n      <trans-unit id="99ad5a6096b3fcb3f021f3779bae710cdfeb8934" datatype="html">\n        <source>This week so far</source>\n        <target>本週目前為止</target>\n      </trans-unit>\n      <trans-unit id="02e0243b60007368f87dc01e083f232dd025096d" datatype="html">\n        <source>Last 7 days</source>\n        <target>過去 7 天</target>\n      </trans-unit>\n      <trans-unit id="c3b08b07b5ab98e7cdcf18df39355690ab7d3884" datatype="html">\n        <source>Previous month</source>\n        <target>上個月</target>\n      </trans-unit>\n      <trans-unit id="1b2562c6d5aa90644e7dc91feee82e2005fceb33" datatype="html">\n        <source>This month</source>\n        <target>本月</target>\n      </trans-unit>\n      <trans-unit id="26b4b18c5917934abb169ba9aa490e57f7bf10b8" datatype="html">\n        <source>This month so far</source>\n        <target>本月目前為止</target>\n      </trans-unit>\n      <trans-unit id="7668986b9f753fcd72ad4a00b1a0c4861d1f7fb8" datatype="html">\n        <source>Last 30 days</source>\n        <target>過去 30 天</target>\n      </trans-unit>\n      <trans-unit id="ba1e822408d90c6fbd2989100fa648bfd5e8ee84" datatype="html">\n        <source>Last 90 days</source>\n        <target>過去 90 天</target>\n      </trans-unit>\n      <trans-unit id="c3df03f899a914c4181adcdc8a3f077424f7b6e8" datatype="html">\n        <source>Last 6 months</source>\n        <target>過去 6 個月</target>\n      </trans-unit>\n      <trans-unit id="7f9a92757580c9f31c309c0a3812ea429274eadf" datatype="html">\n        <source>Last 1 year</source>\n        <target>過去 1 年</target>\n      </trans-unit>\n      <trans-unit id="5a9fede30ff65cb4b4426f6b1ed31afb67ecd7b0" datatype="html">\n        <source>Previous year</source>\n        <target>去年</target>\n      </trans-unit>\n      <trans-unit id="65cefcc53d1f6445df7568e8a40c49165f1090ee" datatype="html">\n        <source>This year</source>\n        <target>今年</target>\n      </trans-unit>\n      <trans-unit id="1f68b766944dc3865bddab765fe952b0c1c43f92" datatype="html">\n        <source>This year so far</source>\n        <target>今年目前為止</target>\n      </trans-unit>\n      <trans-unit id="4d4b77e614f8043fdadef5d6d235655bb48eb311" datatype="html">\n        <source>Last 2 years</source>\n        <target>過去 2 年</target>\n      </trans-unit>\n      <trans-unit id="138afa339ea6e75d25a474affe1edbcb90e00ec0" datatype="html">\n        <source>Last 5 years</source>\n        <target>過去 5 年</target>\n      </trans-unit>\n      <trans-unit id="37391297bb077a6f84484930261b01a3ce38327b" datatype="html">\n        <source>No items selected.</source>\n        <target>未選取項目。</target>\n      </trans-unit>\n      <trans-unit id="2c1e52ee832661b4a0f570877d24661736b16af1" datatype="html">\n        <source>Deselect item to select again</source>\n        <target>取消選取項目以再次選取</target>\n      </trans-unit>\n      <trans-unit id="c8c9c6e5918659336824bbdda3501c66eaa79a4c" datatype="html">\n        <source>Selection limit reached</source>\n        <target>已達到選取上限</target>\n      </trans-unit>\n      <trans-unit id="02d184c288f567825a1fcbf83bcd3099a10853d5" datatype="html">\n        <source>Filter tags</source>\n        <target>過濾標記</target>\n      </trans-unit>\n      <trans-unit id="aa00748e49c269956837d6f3acdd8d218796a8d8" datatype="html">\n        <source>Add badge</source>\n        <target>新增徽章</target>\n      </trans-unit>\n      <trans-unit id="4078a92d8121abdce7d8f346a88914923ec835fc" datatype="html">\n        <source>There are no items available.</source>\n        <target>沒有可用的項目。</target>\n      </trans-unit>\n      <trans-unit id="f6755cff4957d5c3c89bafce5651f1b6fa2b1fd9" datatype="html">\n        <source>Add</source>\n        <target>新增</target>\n      </trans-unit>\n      <trans-unit id="019d4bd6a5690f0cfa0ecf346a4e6bf7f0d8debb" datatype="html">\n        <source>Remove</source>\n        <target>Remove</target>\n      </trans-unit>\n      <trans-unit id="54a4a3132b693575728a45a5f3154ad4c9af404b" datatype="html">\n        <source>Clone</source>\n        <target>克隆</target>\n      </trans-unit>\n      <trans-unit id="1979da7460819153e11d2078244645d94291b69c" datatype="html">\n        <source>Copy</source>\n        <target>複製</target>\n      </trans-unit>\n      <trans-unit id="2e5e77dbaadd6588d8bbf737139fd9806294ae28" datatype="html">\n        <source>Deep Scrub</source>\n        <target>深層整理</target>\n      </trans-unit>\n      <trans-unit id="bf463b189696c19769ea263227e6c22aefafb918" datatype="html">\n        <source>Destroy</source>\n        <target>損毀</target>\n      </trans-unit>\n      <trans-unit id="b4e94d529ff10db4d86f3f48900fa67ede3411fd" datatype="html">\n        <source>Evict</source>\n        <target>Evict</target>\n      </trans-unit>\n      <trans-unit id="3747fff7faf52b436ecff5fb8555091736d92c70" datatype="html">\n        <source>Flatten</source>\n        <target>壓平</target>\n      </trans-unit>\n      <trans-unit id="66fdbf32e5449cc54a3d1e19c7b8f4ea238facfb" datatype="html">\n        <source>Mark Down</source>\n        <target>標示為 Down</target>\n      </trans-unit>\n      <trans-unit id="0cda3e824fb2f9c731e5a60b859dedc1fe03127e" datatype="html">\n        <source>Mark In</source>\n        <target>標示為 In</target>\n      </trans-unit>\n      <trans-unit id="f833354f43cb38c5716faa8759a9bbdd1ab8f199" datatype="html">\n        <source>Mark Lost</source>\n        <target>標示為遺失</target>\n      </trans-unit>\n      <trans-unit id="75fb9f970ba365398c45e57bbb1019c009f6b832" datatype="html">\n        <source>Mark Out</source>\n        <target>標示為 Out</target>\n      </trans-unit>\n      <trans-unit id="45480c03b0a3a37ff8f6a5600a6a034b40fbaea4" datatype="html">\n        <source>Protect</source>\n        <target>保護</target>\n      </trans-unit>\n      <trans-unit id="e26f9cf3666aace4e524b1505c9795d76d87738d" datatype="html">\n        <source>Rename</source>\n        <target>重新命名</target>\n      </trans-unit>\n      <trans-unit id="d5cec7468241d72cafd86ad1af6d55b09a6e3ae5" datatype="html">\n        <source>Restore</source>\n        <target>還原</target>\n      </trans-unit>\n      <trans-unit id="ba073985cfd2528c77a746ed596b2f2052b973c5" datatype="html">\n        <source>Move to Trash</source>\n        <target>移至垃圾桶</target>\n      </trans-unit>\n      <trans-unit id="3ea9b96a21a499d296a7f25407da0f3df6c2d5ed" datatype="html">\n        <source>Unprotect</source>\n        <target>取消保護</target>\n      </trans-unit>\n      <trans-unit id="024cdb2814b0cb3f4ced148f1a0b9854447cb214" datatype="html">\n        <source>Change</source>\n        <target>Change</target>\n      </trans-unit>\n      <trans-unit id="011f3e2bfc1fd8407eb5f599352665bfeb145664" datatype="html">\n        <source>Recreate</source>\n        <target>Recreate</target>\n      </trans-unit>\n      <trans-unit id="6df2dfa48bef5510c82fb43f4e71a7f9557f3d71" datatype="html">\n        <source>Expire</source>\n        <target>Expire</target>\n      </trans-unit>\n      <trans-unit id="28df1b02fd88d2deb0212bc5d7ff34cf9492fa54" datatype="html">\n        <source>Deleted</source>\n        <target>已刪除</target>\n      </trans-unit>\n      <trans-unit id="80e3b490720757978c99a7b5af3885faf202b955" datatype="html">\n        <source>Added</source>\n        <target>Added</target>\n      </trans-unit>\n      <trans-unit id="1aa4883bc4f1352f7a0bdd94810a9bf6dc22bd02" datatype="html">\n        <source>Removed</source>\n        <target>Removed</target>\n      </trans-unit>\n      <trans-unit id="402f3ee47f98fbbc68530239b1ddcbb9e96a460c" datatype="html">\n        <source>Edited</source>\n        <target>Edited</target>\n      </trans-unit>\n      <trans-unit id="96d56ec71c6e78cb4d6204c4a9359a3d38fcdb59" datatype="html">\n        <source>Canceled</source>\n        <target>Canceled</target>\n      </trans-unit>\n      <trans-unit id="a3318a2ee2bd0064b6b9ff72a4018b679ec63125" datatype="html">\n        <source>Cloned</source>\n        <target>已克隆</target>\n      </trans-unit>\n      <trans-unit id="ef90545bc832876c0d7f9a10363c75137472bbb5" datatype="html">\n        <source>Copied</source>\n        <target>已複製</target>\n      </trans-unit>\n      <trans-unit id="5a13d3834133e09544ec93885662f181372dcf46" datatype="html">\n        <source>Deep Scrubbed</source>\n        <target>Deep Scrubbed</target>\n      </trans-unit>\n      <trans-unit id="7c9efb91434a5c15e9579c0b31c8e184b8c8240d" datatype="html">\n        <source>Destroyed</source>\n        <target>Destroyed</target>\n      </trans-unit>\n      <trans-unit id="647059bf3ea098fffedf92ddfad792bb3daa3c95" datatype="html">\n        <source>Flattened</source>\n        <target>已壓平</target>\n      </trans-unit>\n      <trans-unit id="8df71e952319eafa71c8e6ef6144b780af8813ff" datatype="html">\n        <source>Marked Down</source>\n        <target>Marked Down</target>\n      </trans-unit>\n      <trans-unit id="25658f5a080a1cab3b91e17b756b1d1dc46bb9b3" datatype="html">\n        <source>Marked In</source>\n        <target>Marked In</target>\n      </trans-unit>\n      <trans-unit id="ebcf306036a6c5579df9448f77eca98d491db245" datatype="html">\n        <source>Marked Lost</source>\n        <target>Marked Lost</target>\n      </trans-unit>\n      <trans-unit id="3a8803369ac18be3ad762384b9fda095fe2a6dcc" datatype="html">\n        <source>Marked Out</source>\n        <target>Marked Out</target>\n      </trans-unit>\n      <trans-unit id="0fe2a62ea7c609fa8326ee6d38060bc5ba8bf34f" datatype="html">\n        <source>Protected</source>\n        <target>Protected</target>\n      </trans-unit>\n      <trans-unit id="69b0446c6c2411c4fe01e411b8ceec72d4044fb4" datatype="html">\n        <source>Purged</source>\n        <target>已清除</target>\n      </trans-unit>\n      <trans-unit id="d53de1a61bd51c815dc374c7f97e4ee69230e412" datatype="html">\n        <source>Renamed</source>\n        <target>Renamed</target>\n      </trans-unit>\n      <trans-unit id="86fc6cae82c095f14105eb8a61d7b3fa948304b7" datatype="html">\n        <source>Restored</source>\n        <target>已還原</target>\n      </trans-unit>\n      <trans-unit id="e87dd0fd35460cb743046db918dfce2137b5977a" datatype="html">\n        <source>Reweighted</source>\n        <target>Reweighted</target>\n      </trans-unit>\n      <trans-unit id="dc21fd6547f2325c67f6deff925f29eb07a2db3e" datatype="html">\n        <source>Rolled back</source>\n        <target>已復原</target>\n      </trans-unit>\n      <trans-unit id="15dec4c2d73a516c10aef90aeeea3364fa794615" datatype="html">\n        <source>Scrubbed</source>\n        <target>Scrubbed</target>\n      </trans-unit>\n      <trans-unit id="8dc560ded67482f109a98e0638851ad1d37188b3" datatype="html">\n        <source>Showed</source>\n        <target>Showed</target>\n      </trans-unit>\n      <trans-unit id="197259b7ea76f15c6d0a64b075a673fd4112ada7" datatype="html">\n        <source>Moved to Trash</source>\n        <target>Moved to Trash</target>\n      </trans-unit>\n      <trans-unit id="8fb15cb102cd75b562680290b7e04c44d80018f2" datatype="html">\n        <source>Unprotected</source>\n        <target>Unprotected</target>\n      </trans-unit>\n      <trans-unit id="8588eafa498262a1cbb5043ad68cf0ff669c4f10" datatype="html">\n        <source>Recreated</source>\n        <target>Recreated</target>\n      </trans-unit>\n      <trans-unit id="ffde7468d7b5cad6990095ed68ddee3d67cd02f8" datatype="html">\n        <source>Expired</source>\n        <target>Expired</target>\n      </trans-unit>\n      <trans-unit id="4f20f2d5a6882190892e58b85f6ccbedfa737952" datatype="html">\n        <source>Yes</source>\n        <target>是</target>\n      </trans-unit>\n      <trans-unit id="3d3ae7deebc5949b0c1c78b9847886a94321d9fd" datatype="html">\n        <source>No</source>\n        <target>否</target>\n      </trans-unit>\n      <trans-unit id="99fa0b67376d40142bd4d3ace3344abf4f98b6a5" datatype="html">\n        <source>Your matcher seems to match no currently defined rule or active alert.</source>\n        <target>Your matcher seems to match no currently defined rule or active alert.</target>\n      </trans-unit>\n      <trans-unit id="7e284852732c303eb1f47de9aca2569e41aeffed" datatype="html">\n        <source>no active alerts</source>\n        <target>no active alerts</target>\n      </trans-unit>\n      <trans-unit id="b8042829e4fbe7b09fd9bac9fa0ecf5cc1802fee" datatype="html">\n        <source>1 active alert</source>\n        <target>1 active alert</target>\n      </trans-unit>\n      <trans-unit id="e24adce97669cb0fc74cc13fdc14179b6f78ea5e" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{n}}"/> active alerts\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{n}}"/> active alerts\n        </target>\n      </trans-unit>\n      <trans-unit id="d8fb058ff5883731d38a132da4ca45cfe8d719a3" datatype="html">\n        <source>Matches 1 rule</source>\n        <target>Matches 1 rule</target>\n      </trans-unit>\n      <trans-unit id="90aaef24d192e67c3fbc2ec6f8bfaff211cea128" datatype="html">\n        <source>Matches \n          <x id="INTERPOLATION" equiv-text="{{n}}"/> rules\n        </source>\n        <target>Matches \n          <x id="INTERPOLATION" equiv-text="{{n}}"/> rules\n        </target>\n      </trans-unit>\n      <trans-unit id="f4685dc581e18244cd410f1057a8c56a9dbfe8df" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rules}}"/> with \n          <x id="INTERPOLATION_1" equiv-text="{{alerts}}"/>.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rules}}"/> with \n          <x id="INTERPOLATION_1" equiv-text="{{alerts}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8fd98fb2a0f24ba72cde0787dd3f02cfc17de469" datatype="html">\n        <source>Quality of Service</source>\n        <target>服務品質</target>\n      </trans-unit>\n      <trans-unit id="2c53f3ce2c6fff9025a7b41cc334521725da6e7b" datatype="html">\n        <source>BPS Limit</source>\n        <target>BPS 上限</target>\n      </trans-unit>\n      <trans-unit id="e897624a392419386b035bcd8529337e262fc41d" datatype="html">\n        <source>The desired limit of IO bytes per second.</source>\n        <target>指定的每秒 IO 位元組數上限。</target>\n      </trans-unit>\n      <trans-unit id="dc56f77e4507da7e86a3accd0a2a7099a838d539" datatype="html">\n        <source>IOPS Limit</source>\n        <target>IOPS 上限</target>\n      </trans-unit>\n      <trans-unit id="141c3f6eadbb35b0e17b2f847e4cac23240a6ea9" datatype="html">\n        <source>The desired limit of IO operations per second.</source>\n        <target>指定的每秒 IO 操作次數上限。</target>\n      </trans-unit>\n      <trans-unit id="3b3b101f16c38806e984b157e0cf22cd21451122" datatype="html">\n        <source>Read BPS Limit</source>\n        <target>讀取 BPS 上限</target>\n      </trans-unit>\n      <trans-unit id="87835fabb6a645873f3829a450ca1d58f97754f2" datatype="html">\n        <source>The desired limit of read bytes per second.</source>\n        <target>指定的每秒內讀取的位元組數上限。</target>\n      </trans-unit>\n      <trans-unit id="28b485e700df46d70b96666099f714e3ae9e5c2e" datatype="html">\n        <source>Read IOPS Limit</source>\n        <target>讀取 IOPS 上限</target>\n      </trans-unit>\n      <trans-unit id="5907bd1a5cf3e20e740bca676cb1538372e1f9ff" datatype="html">\n        <source>The desired limit of read operations per second.</source>\n        <target>指定的每秒讀取操作次數上限。</target>\n      </trans-unit>\n      <trans-unit id="07317121f0b194987d4dee8b322f521ac17bf124" datatype="html">\n        <source>Write BPS Limit</source>\n        <target>寫入 BPS 上限</target>\n      </trans-unit>\n      <trans-unit id="4022c78bd9132ca2ec67927f8484c437d1d9b6fd" datatype="html">\n        <source>The desired limit of write bytes per second.</source>\n        <target>指定的每秒內寫入的位元組數上限。</target>\n      </trans-unit>\n      <trans-unit id="52c22c19f98ff3a09bd811292954a889b93d28b7" datatype="html">\n        <source>Write IOPS Limit</source>\n        <target>寫入 IOPS 上限</target>\n      </trans-unit>\n      <trans-unit id="0ed62e3fd8654b3191fc7fa959ad3f10f1ea773a" datatype="html">\n        <source>The desired limit of write operations per second.</source>\n        <target>指定的每秒寫入操作次數上限。</target>\n      </trans-unit>\n      <trans-unit id="d90c99d77864f21f932ee1369019f400c4ad0e2d" datatype="html">\n        <source>BPS Burst</source>\n        <target>BPS 高載</target>\n      </trans-unit>\n      <trans-unit id="29c32192f4d185139aaaf6d3a766a3411dfeabbe" datatype="html">\n        <source>The desired burst limit of IO bytes.</source>\n        <target>指定的 IO 位元組數高載上限。</target>\n      </trans-unit>\n      <trans-unit id="b988b90489e899941e196c3dd0ecc22e37540224" datatype="html">\n        <source>IOPS Burst</source>\n        <target>IOPS 高載</target>\n      </trans-unit>\n      <trans-unit id="02c5de8ff11870f1b3896f2b45637ce0dba1ed4b" datatype="html">\n        <source>The desired burst limit of IO operations.</source>\n        <target>指定的 IO 操作次數高載上限。</target>\n      </trans-unit>\n      <trans-unit id="7a160538129b37cf595f1651f28b5fac62fbc0f8" datatype="html">\n        <source>Read BPS Burst</source>\n        <target>讀取 BPS 高載</target>\n      </trans-unit>\n      <trans-unit id="b573a5df16a53b9947288461bc24e6a0eb4341d6" datatype="html">\n        <source>The desired burst limit of read bytes.</source>\n        <target>指定的讀取的位元組數高載上限。</target>\n      </trans-unit>\n      <trans-unit id="1d5b8c2a0c653651cc4ca4b8fed9456f449220d1" datatype="html">\n        <source>Read IOPS Burst</source>\n        <target>讀取 IOPS 高載</target>\n      </trans-unit>\n      <trans-unit id="20b199f9d4a8d08ffefec66040e27639ec221512" datatype="html">\n        <source>The desired burst limit of read operations.</source>\n        <target>指定的讀取操作次數高載上限。</target>\n      </trans-unit>\n      <trans-unit id="824525ae57992aee629ddffcd500a8b77087ddec" datatype="html">\n        <source>Write BPS Burst</source>\n        <target>寫入 BPS 高載</target>\n      </trans-unit>\n      <trans-unit id="a90aac4050a5d79765da5e1186909f6d4d7f981d" datatype="html">\n        <source>The desired burst limit of write bytes.</source>\n        <target>指定的寫入的位元組數高載上限。</target>\n      </trans-unit>\n      <trans-unit id="35a8c6e6c249c7d16e26aa7c4ef97c06db405070" datatype="html">\n        <source>Write IOPS Burst</source>\n        <target>寫入 IOPS 高載</target>\n      </trans-unit>\n      <trans-unit id="b356abd41d7e9eea4d20c03d2e6892b6d435ecbd" datatype="html">\n        <source>The desired burst limit of write operations.</source>\n        <target>指定的寫入操作次數高載上限。</target>\n      </trans-unit>\n      <trans-unit id="24c4d50fe8567de381a20a1745f1b6d37eacaa90" datatype="html">\n        <source>Failed to \n          <x id="INTERPOLATION" equiv-text="{{failure}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{metadata}}"/>\n        </source>\n        <target>Failed to \n          <x id="INTERPOLATION" equiv-text="{{failure}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{metadata}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="f54b6f09b390d5ade0e354f6c7d4743c10a315cc" datatype="html">\n        <source>Executing</source>\n        <target>正在執行</target>\n      </trans-unit>\n      <trans-unit id="5cdfe3e3330ea42bfd29c540dbd268bee97d364d" datatype="html">\n        <source>execute</source>\n        <target>執行</target>\n      </trans-unit>\n      <trans-unit id="6e98e243518daa88be30330fcdbd2d10f8eae4d7" datatype="html">\n        <source>Executed</source>\n        <target>已執行</target>\n      </trans-unit>\n      <trans-unit id="24b09aa5bd909273a023d2d788a2673325c77e31" datatype="html">\n        <source>unknown task</source>\n        <target>未知任務</target>\n      </trans-unit>\n      <trans-unit id="114b5f92b9192b229ffc9a450319a97ccca2aa5c" datatype="html">\n        <source>Creating</source>\n        <target>正在建立</target>\n      </trans-unit>\n      <trans-unit id="56695b69d27437ada580a187958407e7c856d46e" datatype="html">\n        <source>create</source>\n        <target>建立</target>\n      </trans-unit>\n      <trans-unit id="9db60170ef3b3b41a863e7d5ee7cec10919b9141" datatype="html">\n        <source>Updating</source>\n        <target>正在更新</target>\n      </trans-unit>\n      <trans-unit id="64412640835b7d25247cb254d4f911366c0e6862" datatype="html">\n        <source>update</source>\n        <target>更新</target>\n      </trans-unit>\n      <trans-unit id="416193bb373d59477458b00e5922d755e2e2cacd" datatype="html">\n        <source>Deleting</source>\n        <target>正在刪除</target>\n      </trans-unit>\n      <trans-unit id="70ef158c584bafe788e319a0bffa11b02ee9abf1" datatype="html">\n        <source>delete</source>\n        <target>刪除</target>\n      </trans-unit>\n      <trans-unit id="d07a282afc7fbdb39cea6e1c9b544882a7260a86" datatype="html">\n        <source>Adding</source>\n        <target>Adding</target>\n      </trans-unit>\n      <trans-unit id="a11ec4e640f241329943237d2a3cceaa4823658e" datatype="html">\n        <source>add</source>\n        <target>add</target>\n      </trans-unit>\n      <trans-unit id="ea1c70b874904216cc5af24bd7cb3dab2d074d42" datatype="html">\n        <source>Removing</source>\n        <target>Removing</target>\n      </trans-unit>\n      <trans-unit id="4da487aec5a29ce4372e7b512227cd665b01fe6f" datatype="html">\n        <source>remove</source>\n        <target>remove</target>\n      </trans-unit>\n      <trans-unit id="3f757cfc3749ebb5d4462017cb60138ca082f15f" datatype="html">\n        <source>RBD \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>RBD \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="a6c681e6130fe440ae40de99a405fcf5c7eefee1" datatype="html">\n        <source>RBD snapshot \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>RBD snapshot \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="4fb54a0291f49583c317d4a3690239141b5a8f68" datatype="html">\n        <source>mirror mode for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>mirror mode for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="6621ab6e122a149326a1e48e9051a41e7f203cf6" datatype="html">\n        <source>mirror peer for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>mirror peer for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="db15adc778317d551232fe712eb03a2c1eac4a43" datatype="html">\n        <source>all dashboards</source>\n        <target>all dashboards</target>\n      </trans-unit>\n      <trans-unit id="1b559dbd9cc9664fd788c2da9a10d3abafe066cb" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8fc28e1103d9f2ef47b9fff9a4f74e8365c7cf19" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="1cdc7ea44fcb85d0cfcf6e7379d625d8674a8fbe" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="1ff7676ad1e991102224540a32dd44ad1ab88aa8" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.\n        </target>\n      </trans-unit>\n      <trans-unit id="c3a1dcca2b2ba20fbe39e2441e7bb1cf9c20cdf3" datatype="html">\n        <source>Cloning</source>\n        <target>正在克隆</target>\n      </trans-unit>\n      <trans-unit id="b5fa4e0a3a279dee5b6bf7b823e54387f7c79994" datatype="html">\n        <source>clone</source>\n        <target>克隆</target>\n      </trans-unit>\n      <trans-unit id="29b7452e8367af9aa8fa828f16ff94c3530e7a1a" datatype="html">\n        <source>Snapshot of \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> must be protected.\n        </source>\n        <target>Snapshot of \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> must be protected.\n        </target>\n      </trans-unit>\n      <trans-unit id="369f93b9a07a9465f7a261e9f0021b6cfa7180c5" datatype="html">\n        <source>Copying</source>\n        <target>正在複製</target>\n      </trans-unit>\n      <trans-unit id="37584f889855d153a106f5dffe23d21f9453c8ff" datatype="html">\n        <source>copy</source>\n        <target>複製</target>\n      </trans-unit>\n      <trans-unit id="6ea9e313a04ef59222feaadfe84e97b4c69d7e9e" datatype="html">\n        <source>Flattening</source>\n        <target>正在壓平</target>\n      </trans-unit>\n      <trans-unit id="1f57593581b64d2d4c70eab1736bd9bccc66a7dc" datatype="html">\n        <source>flatten</source>\n        <target>壓平</target>\n      </trans-unit>\n      <trans-unit id="d990ef9680cd23bbe652c37eb46bf038cfee80ad" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="a101745d080ef65c09bd5fafc796f94ddb9f9d60" datatype="html">\n        <source>Cannot unprotect \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it contains child images.\n        </source>\n        <target>Cannot unprotect \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it contains child images.\n        </target>\n      </trans-unit>\n      <trans-unit id="647968f4cde7786cd53ec8e6aa9802ac6824a262" datatype="html">\n        <source>Cannot delete \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it\'s protected.\n        </source>\n        <target>Cannot delete \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it\'s protected.\n        </target>\n      </trans-unit>\n      <trans-unit id="57ddd3e15cf0ce974356b757451f50116a27272b" datatype="html">\n        <source>Rolling back</source>\n        <target>正在復原</target>\n      </trans-unit>\n      <trans-unit id="a8913a3a5ee61f2598b5f0432cb9b20cdd60548e" datatype="html">\n        <source>rollback</source>\n        <target>復原</target>\n      </trans-unit>\n      <trans-unit id="de8676f0017c9db6c49388cd7d63cd0a83a0c1dc" datatype="html">\n        <source>Moving</source>\n        <target>正在移動</target>\n      </trans-unit>\n      <trans-unit id="2d810712308ae63cb795d809687a3254ef7a2f05" datatype="html">\n        <source>move</source>\n        <target>移動</target>\n      </trans-unit>\n      <trans-unit id="f3ba995236e5c1cc77686108980c099a90aec754" datatype="html">\n        <source>Moved</source>\n        <target>已移動</target>\n      </trans-unit>\n      <trans-unit id="d0422169252d132624a20f267b5c29f28cb53ebe" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' to trash\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' to trash\n        </target>\n      </trans-unit>\n      <trans-unit id="b603e2dfed9808222fbcb5a7c5f4da2cc6ae2aae" datatype="html">\n        <source>Could not find image.</source>\n        <target>找不到影像。</target>\n      </trans-unit>\n      <trans-unit id="398debe73006b1fe5177ed81d2e7b0cc852f61ec" datatype="html">\n        <source>Restoring</source>\n        <target>正在還原</target>\n      </trans-unit>\n      <trans-unit id="c252806fb400e79bac194696632c9362742b1538" datatype="html">\n        <source>restore</source>\n        <target>還原</target>\n      </trans-unit>\n      <trans-unit id="30b8bcf69b3f1754b7abba173fd806cfcea4cb04" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' into \'\n          <x id="INTERPOLATION_1" equiv-text="{{new_id}}"/>\'\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' into \'\n          <x id="INTERPOLATION_1" equiv-text="{{new_id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="13b7b241cef989fe0932ddd180e757658e1817e7" datatype="html">\n        <source>Image name \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' is already in use.\n        </source>\n        <target>Image name \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' is already in use.\n        </target>\n      </trans-unit>\n      <trans-unit id="cc1cee12c833e8fbbef28a2a7c449dc530da912d" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="38e5f47f8bef505652f3e87f46efb00ead1350a3" datatype="html">\n        <source>Purging</source>\n        <target>正在清除</target>\n      </trans-unit>\n      <trans-unit id="e4e57747f123f0fe6fe3a0ecf608f8bc287dec0c" datatype="html">\n        <source>purge</source>\n        <target>清除</target>\n      </trans-unit>\n      <trans-unit id="1560d58fdf39663929653250d45f5b1dfe078fea" datatype="html">\n        <source>all pools</source>\n        <target>所有池</target>\n      </trans-unit>\n      <trans-unit id="1ac3dc50c2c3d86e98bc0967ee1e696810a2d3aa" datatype="html">\n        <source>images from \n          <x id="INTERPOLATION" equiv-text="{{message}}"/>\n        </source>\n        <target>images from \n          <x id="INTERPOLATION" equiv-text="{{message}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="02278abbb044ece04ab6bd80bd2060198d31d83b" datatype="html">\n        <source>Cannot disable mirroring because it contains a peer.</source>\n        <target>無法停用鏡像,因為其包含對等。</target>\n      </trans-unit>\n      <trans-unit id="f123ae1fc3b000e5d08e766dd78bff162afe709d" datatype="html">\n        <source>host \'\n          <x id="INTERPOLATION" equiv-text="{{hostname}}"/>\'\n        </source>\n        <target>host \'\n          <x id="INTERPOLATION" equiv-text="{{hostname}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="dfe70001dc590a9e12512cbb206aa29fb36fd00b" datatype="html">\n        <source>pool \'\n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>\'\n        </source>\n        <target>pool \'\n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="59630daf2f4786690fae0cdad55da8887236eabe" datatype="html">\n        <source>erasure code profile \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </source>\n        <target>erasure code profile \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="369462e5e018360e0600bb570866201ad5c3c8a8" datatype="html">\n        <source>target \'\n          <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>\'\n        </source>\n        <target>target \'\n          <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="cf41310917cb19b335e5a950972bbff2346f7a47" datatype="html">\n        <source>NFS \n          <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>\n        </source>\n        <target>NFS \n          <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="54bf6542e39412f83ec883266f443e31b304c937" datatype="html">\n        <source>Required rules for password complexity:\n    - must contain at least 8 characters\n    - cannot contain username\n    - cannot contain any keyword used in Ceph\n    - cannot contain any repetitive characters e.g. "aaa"\n    - cannot contain any sequencial characters e.g. "abc"\n    - must consist of characters from the following groups:\n      * alphabetic a-z, A-Z\n      * numbers 0-9\n      * special chars: !"#$%&amp; \'()*+,-./:;&lt;=&gt;?@[\\]^_`\n          <x id="INTERPOLATION" equiv-text="{{|}}"/>~\n      * any other characters (signs)\n        </source>\n        <target>Required rules for password complexity:\n    - must contain at least 8 characters\n    - cannot contain username\n    - cannot contain any keyword used in Ceph\n    - cannot contain any repetitive characters e.g. "aaa"\n    - cannot contain any sequencial characters e.g. "abc"\n    - must consist of characters from the following groups:\n      * alphabetic a-z, A-Z\n      * numbers 0-9\n      * special chars: !"#$%&amp; \'()*+,-./:;&lt;=&gt;?@[\\]^_`\n          <x id="INTERPOLATION" equiv-text="{{|}}"/>~\n      * any other characters (signs)\n        </target>\n      </trans-unit>\n      <trans-unit id="ba575e9364b43dc870e332265c5182bb357b7a49" datatype="html">\n        <source>Weak</source>\n        <target>Weak</target>\n      </trans-unit>\n      <trans-unit id="7e6c975ebea8b5f8b120905ca7acf9f8edf59d8e" datatype="html">\n        <source>OK</source>\n        <target>OK</target>\n      </trans-unit>\n      <trans-unit id="3f7349017a01eed18c3daf2b7295ca96ef442eb6" datatype="html">\n        <source>Strong</source>\n        <target>Strong</target>\n      </trans-unit>\n      <trans-unit id="a1e3aecc2022cb0ebed8575a24d0e29d2de815c6" datatype="html">\n        <source>Very strong</source>\n        <target>Very strong</target>\n      </trans-unit>\n    </body>\n  </file>\n</xliff>'},Hvzi:function(t,e){t.exports=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}},"I+eb":function(t,e,n){var a=n("2oRo"),r=n("Bs8V").f,o=n("kRJp"),i=n("busE"),s=n("zk60"),c=n("6JNq"),l=n("lMq5");t.exports=function(t,e){var n,d,u,g,f,p=t.target,m=t.global,h=t.stat;if(n=m?a:h?a[p]||s(p,{}):(a[p]||{}).prototype)for(d in e){if(g=e[d],u=t.noTargetGet?(f=r(n,d))&&f.value:n[d],!l(m?d:p+(h?".":"#")+d,t.forced)&&void 0!==u){if(typeof g==typeof u)continue;c(g,u)}(t.sham||u&&u.sham)&&o(g,"sham",!0),i(n,d,g,t)}}},I01J:function(t,e,n){var a=n("44Ds");t.exports=function(t){var e=a(t,(function(t){return 500===n.size&&n.clear(),t})),n=e.cache;return e}},I55L:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));const a=t=>t&&"number"==typeof t.length&&"function"!=typeof t},I8vh:function(t,e,n){var a=n("ppGB"),r=Math.max,o=Math.min;t.exports=function(t,e){var n=a(t);return n<0?r(n+e,0):o(n,e)}},IAdc:function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var a=n("128B");function r(t,e,n){return 0===n?[e]:(t.push(e),t)}function o(){return Object(a.a)(r,[])}},IBtZ:function(t,e,n){!function(t){"use strict";t.defineLocale("ka",{months:{standalone:"იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი".split("_"),format:"იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს".split("_")},monthsShort:"იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ".split("_"),weekdays:{standalone:"კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი".split("_"),format:"კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს".split("_"),isFormat:/(წინა|შემდეგ)/},weekdaysShort:"კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ".split("_"),weekdaysMin:"კვ_ორ_სა_ოთ_ხუ_პა_შა".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[დღეს] LT[-ზე]",nextDay:"[ხვალ] LT[-ზე]",lastDay:"[გუშინ] LT[-ზე]",nextWeek:"[შემდეგ] dddd LT[-ზე]",lastWeek:"[წინა] dddd LT-ზე",sameElse:"L"},relativeTime:{future:function(t){return/(წამი|წუთი|საათი|წელი)/.test(t)?t.replace(/ი$/,"ში"):t+"ში"},past:function(t){return/(წამი|წუთი|საათი|დღე|თვე)/.test(t)?t.replace(/(ი|ე)$/,"ის წინ"):/წელი/.test(t)?t.replace(/წელი$/,"წლის წინ"):void 0},s:"რამდენიმე წამი",ss:"%d წამი",m:"წუთი",mm:"%d წუთი",h:"საათი",hh:"%d საათი",d:"დღე",dd:"%d დღე",M:"თვე",MM:"%d თვე",y:"წელი",yy:"%d წელი"},dayOfMonthOrdinalParse:/0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/,ordinal:function(t){return 0===t?t:1===t?t+"-ლი":t<20||t<=100&&t%20==0||t%100==0?"მე-"+t:t+"-ე"},week:{dow:1,doy:7}})}(n("wd/R"))},ILDN:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ClickType=function(t){return t.single="single",t.double="double",t}(e.ClickType||{})},IOzZ:function(t,e){t.exports=function(t,e){return function(n){return null!=n&&n[t]===e&&(void 0!==e||t in Object(n))}}},IPm6:function(t,e,n){var a=n("mrSG").__decorate,r=n("mrSG").__metadata;Object.defineProperty(e,"__esModule",{value:!0});var o=n("8Y7J"),i=n("5tze"),s=(n("qwkt"),n("SfHT"));e.DataTableBodyComponent=function(){function t(t){var e=this;this.cd=t,this.selected=[],this.scroll=new o.EventEmitter,this.page=new o.EventEmitter,this.activate=new o.EventEmitter,this.select=new o.EventEmitter,this.detailToggle=new o.EventEmitter,this.rowContextmenu=new o.EventEmitter(!1),this.treeAction=new o.EventEmitter,this.rowHeightsCache=new i.RowHeightCache,this.temp=[],this.offsetY=0,this.indexes={},this.rowIndexes=new Map,this.rowExpansions=new Map,this.getDetailRowHeight=function(t,n){if(!e.rowDetail)return 0;var a=e.rowDetail.rowHeight;return"function"==typeof a?a(t,n):a},this.rowTrackingFn=function(t,n){var a=e.getRowIndex(n);return e.trackByProp?n[e.trackByProp]:a}}return Object.defineProperty(t.prototype,"pageSize",{get:function(){return this._pageSize},set:function(t){this._pageSize=t,this.recalcLayout()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"rows",{get:function(){return this._rows},set:function(t){this._rows=t,this.rowExpansions.clear(),this.recalcLayout()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"columns",{get:function(){return this._columns},set:function(t){this._columns=t;var e=i.columnsByPin(t);this.columnGroupWidths=i.columnGroupWidths(e,t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"offset",{get:function(){return this._offset},set:function(t){this._offset=t,this.recalcLayout()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"rowCount",{get:function(){return this._rowCount},set:function(t){this._rowCount=t,this.recalcLayout()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"bodyWidth",{get:function(){return this.scrollbarH?this.innerWidth+"px":"100%"},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"bodyHeight",{get:function(){return this._bodyHeight},set:function(t){this._bodyHeight=this.scrollbarV?t+"px":"auto",this.recalcLayout()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"selectEnabled",{get:function(){return!!this.selectionType},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"scrollHeight",{get:function(){if(this.scrollbarV&&this.virtualization&&this.rowCount)return this.rowHeightsCache.query(this.rowCount-1)},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){var t=this;this.rowDetail&&(this.listener=this.rowDetail.toggle.subscribe((function(e){var n=e.type,a=e.value;"row"===n&&t.toggleRowExpansion(a),"all"===n&&t.toggleAllRows(a),t.updateIndexes(),t.updateRows(),t.cd.markForCheck()}))),this.groupHeader&&(this.listener=this.groupHeader.toggle.subscribe((function(e){var n=e.type,a=e.value;"group"===n&&t.toggleRowExpansion(a),"all"===n&&t.toggleAllRows(a),t.updateIndexes(),t.updateRows(),t.cd.markForCheck()})))},t.prototype.ngOnDestroy=function(){this.rowDetail&&this.listener.unsubscribe(),this.groupHeader&&this.listener.unsubscribe()},t.prototype.updateOffsetY=function(t){this.scroller&&(this.scrollbarV&&this.virtualization&&t?t=this.rowHeightsCache.query(this.pageSize*t-1):this.scrollbarV&&!this.virtualization&&(t=0),this.scroller.setOffset(t||0))},t.prototype.onBodyScroll=function(t){var e=t.scrollYPos,n=t.scrollXPos;this.offsetY===e&&this.offsetX===n||this.scroll.emit({offsetY:e,offsetX:n}),this.offsetY=e,this.offsetX=n,this.updateIndexes(),this.updatePage(t.direction),this.updateRows()},t.prototype.updatePage=function(t){var e=this.indexes.first/this.pageSize;"up"===t?e=Math.ceil(e):"down"===t&&(e=Math.floor(e)),void 0===t||isNaN(e)||this.page.emit({offset:e})},t.prototype.updateRows=function(){var t=this.indexes,e=t.last,n=t.first,a=0,r=[];if(this.rowIndexes.clear(),this.groupedRows)for(;n<e&&n<this.groupedRows.length;)r[a]=this.groupedRows[n],a++,n++;else for(;n<e&&n<this.rowCount;){var o=this.rows[n];o&&(this.rowIndexes.set(o,n),r[a]=o),a++,n++}this.temp=r},t.prototype.getRowHeight=function(t){return"function"==typeof this.rowHeight?this.rowHeight(t):this.rowHeight},t.prototype.getGroupHeight=function(t){var e=0;if(t.value)for(var n=0;n<t.value.length;n++)e+=this.getRowAndDetailHeight(t.value[n]);return e},t.prototype.getRowAndDetailHeight=function(t){var e=this.getRowHeight(t);return 1===this.rowExpansions.get(t)&&(e+=this.getDetailRowHeight(t)),e},t.prototype.getRowsStyles=function(t){var e={};if(this.groupedRows&&(e.width=this.columnGroupWidths.total),this.scrollbarV&&this.virtualization){var n=0;if(this.groupedRows){var a=t[t.length-1];n=a?this.getRowIndex(a):0}else n=this.getRowIndex(t);var r=this.rowHeightsCache.query(n-1);i.translateXY(e,0,r)}return e},t.prototype.getBottomSummaryRowStyles=function(){if(!this.scrollbarV||!this.rows||!this.rows.length)return null;var t={position:"absolute"},e=this.rowHeightsCache.query(this.rows.length-1);return i.translateXY(t,0,e),t},t.prototype.hideIndicator=function(){var t=this;setTimeout((function(){return t.loadingIndicator=!1}),500)},t.prototype.updateIndexes=function(){var t=0,e=0;if(this.scrollbarV)if(this.virtualization){var n=parseInt(this.bodyHeight,0);t=this.rowHeightsCache.getRowIndex(this.offsetY),e=this.rowHeightsCache.getRowIndex(n+this.offsetY)+1}else t=0,e=this.rowCount;else this.externalPaging||(t=Math.max(this.offset*this.pageSize,0)),e=Math.min(t+this.pageSize,this.rowCount);this.indexes={first:t,last:e}},t.prototype.refreshRowHeightCache=function(){!this.scrollbarV||this.scrollbarV&&!this.virtualization||(this.rowHeightsCache.clearCache(),this.rows&&this.rows.length&&this.rowHeightsCache.initCache({rows:this.rows,rowHeight:this.rowHeight,detailRowHeight:this.getDetailRowHeight,externalVirtual:this.scrollbarV&&this.externalPaging,rowCount:this.rowCount,rowIndexes:this.rowIndexes,rowExpansions:this.rowExpansions}))},t.prototype.getAdjustedViewPortIndex=function(){var t=this.indexes.first;return this.scrollbarV&&this.virtualization&&this.rowHeightsCache.query(t-1)<=this.offsetY?t-1:t},t.prototype.toggleRowExpansion=function(t){var e=this.getAdjustedViewPortIndex(),n=this.rowExpansions.get(t);if(this.scrollbarV&&this.virtualization){var a=this.getDetailRowHeight(t)*(n?-1:1),r=this.getRowIndex(t);this.rowHeightsCache.update(r,a)}n=n^=1,this.rowExpansions.set(t,n),this.detailToggle.emit({rows:[t],currentIndex:e})},t.prototype.toggleAllRows=function(t){this.rowExpansions.clear();for(var e=t?1:0,n=this.getAdjustedViewPortIndex(),a=0,r=this.rows;a<r.length;a++)this.rowExpansions.set(r[a],e);this.scrollbarV&&this.recalcLayout(),this.detailToggle.emit({rows:this.rows,currentIndex:n})},t.prototype.recalcLayout=function(){this.refreshRowHeightCache(),this.updateIndexes(),this.updateRows()},t.prototype.columnTrackingFn=function(t,e){return e.$$id},t.prototype.stylesByGroup=function(t){var e=this.columnGroupWidths,n=this.offsetX,a={width:e[t]+"px"};if("left"===t)i.translateXY(a,n,0);else if("right"===t){var r=parseInt(this.innerWidth+"",0);i.translateXY(a,-1*(e.total-r-n),0)}return a},t.prototype.getRowExpanded=function(t){if(0===this.rowExpansions.size&&this.groupExpansionDefault)for(var e=0,n=this.groupedRows;e<n.length;e++)this.rowExpansions.set(n[e],1);return 1===this.rowExpansions.get(t)},t.prototype.getRowIndex=function(t){return this.rowIndexes.get(t)||0},t.prototype.onTreeAction=function(t){this.treeAction.emit({row:t})},a([o.Input(),r("design:type",Boolean)],t.prototype,"scrollbarV",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"scrollbarH",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"loadingIndicator",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"externalPaging",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"rowHeight",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"offsetX",void 0),a([o.Input(),r("design:type",String)],t.prototype,"emptyMessage",void 0),a([o.Input(),r("design:type",String)],t.prototype,"selectionType",void 0),a([o.Input(),r("design:type",Array)],t.prototype,"selected",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"rowIdentity",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"rowDetail",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"groupHeader",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"selectCheck",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"displayCheck",void 0),a([o.Input(),r("design:type",String)],t.prototype,"trackByProp",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"rowClass",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"groupedRows",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"groupExpansionDefault",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"innerWidth",void 0),a([o.Input(),r("design:type",String)],t.prototype,"groupRowsBy",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"virtualization",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"summaryRow",void 0),a([o.Input(),r("design:type",String)],t.prototype,"summaryPosition",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"summaryHeight",void 0),a([o.Input(),r("design:type",Number),r("design:paramtypes",[Number])],t.prototype,"pageSize",null),a([o.Input(),r("design:type",Array),r("design:paramtypes",[Array])],t.prototype,"rows",null),a([o.Input(),r("design:type",Array),r("design:paramtypes",[Array])],t.prototype,"columns",null),a([o.Input(),r("design:type",Number),r("design:paramtypes",[Number])],t.prototype,"offset",null),a([o.Input(),r("design:type",Number),r("design:paramtypes",[Number])],t.prototype,"rowCount",null),a([o.HostBinding("style.width"),r("design:type",String),r("design:paramtypes",[])],t.prototype,"bodyWidth",null),a([o.Input(),o.HostBinding("style.height"),r("design:type",Object),r("design:paramtypes",[Object])],t.prototype,"bodyHeight",null),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"scroll",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"page",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"activate",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"select",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"detailToggle",void 0),a([o.Output(),r("design:type",Object)],t.prototype,"rowContextmenu",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"treeAction",void 0),a([o.ViewChild(s.ScrollerComponent,{static:!1}),r("design:type",s.ScrollerComponent)],t.prototype,"scroller",void 0),a([o.Component({selector:"datatable-body",template:'\n    <datatable-selection\n      #selector\n      [selected]="selected"\n      [rows]="rows"\n      [selectCheck]="selectCheck"\n      [selectEnabled]="selectEnabled"\n      [selectionType]="selectionType"\n      [rowIdentity]="rowIdentity"\n      (select)="select.emit($event)"\n      (activate)="activate.emit($event)"\n    >\n      <datatable-progress *ngIf="loadingIndicator"> </datatable-progress>\n      <datatable-scroller\n        *ngIf="rows?.length"\n        [scrollbarV]="scrollbarV"\n        [scrollbarH]="scrollbarH"\n        [scrollHeight]="scrollHeight"\n        [scrollWidth]="columnGroupWidths?.total"\n        (scroll)="onBodyScroll($event)"\n      >\n        <datatable-summary-row\n          *ngIf="summaryRow && summaryPosition === \'top\'"\n          [rowHeight]="summaryHeight"\n          [offsetX]="offsetX"\n          [innerWidth]="innerWidth"\n          [rows]="rows"\n          [columns]="columns"\n        >\n        </datatable-summary-row>\n        <datatable-row-wrapper\n          [groupedRows]="groupedRows"\n          *ngFor="let group of temp; let i = index; trackBy: rowTrackingFn"\n          [innerWidth]="innerWidth"\n          [ngStyle]="getRowsStyles(group)"\n          [rowDetail]="rowDetail"\n          [groupHeader]="groupHeader"\n          [offsetX]="offsetX"\n          [detailRowHeight]="getDetailRowHeight(group[i], i)"\n          [row]="group"\n          [expanded]="getRowExpanded(group)"\n          [rowIndex]="getRowIndex(group[i])"\n          (rowContextmenu)="rowContextmenu.emit($event)"\n        >\n          <datatable-body-row\n            *ngIf="!groupedRows; else groupedRowsTemplate"\n            tabindex="-1"\n            [isSelected]="selector.getRowSelected(group)"\n            [innerWidth]="innerWidth"\n            [offsetX]="offsetX"\n            [columns]="columns"\n            [rowHeight]="getRowHeight(group)"\n            [row]="group"\n            [rowIndex]="getRowIndex(group)"\n            [expanded]="getRowExpanded(group)"\n            [rowClass]="rowClass"\n            [displayCheck]="displayCheck"\n            [treeStatus]="group.treeStatus"\n            (treeAction)="onTreeAction(group)"\n            (activate)="selector.onActivate($event, indexes.first + i)"\n          >\n          </datatable-body-row>\n          <ng-template #groupedRowsTemplate>\n            <datatable-body-row\n              *ngFor="\n                let row of group.value;\n                let i = index;\n                trackBy: rowTrackingFn\n              "\n              tabindex="-1"\n              [isSelected]="selector.getRowSelected(row)"\n              [innerWidth]="innerWidth"\n              [offsetX]="offsetX"\n              [columns]="columns"\n              [rowHeight]="getRowHeight(row)"\n              [row]="row"\n              [group]="group.value"\n              [rowIndex]="getRowIndex(row)"\n              [expanded]="getRowExpanded(row)"\n              [rowClass]="rowClass"\n              (activate)="selector.onActivate($event, i)"\n            >\n            </datatable-body-row>\n          </ng-template>\n        </datatable-row-wrapper>\n        <datatable-summary-row\n          *ngIf="summaryRow && summaryPosition === \'bottom\'"\n          [ngStyle]="getBottomSummaryRowStyles()"\n          [rowHeight]="summaryHeight"\n          [offsetX]="offsetX"\n          [innerWidth]="innerWidth"\n          [rows]="rows"\n          [columns]="columns"\n        >\n        </datatable-summary-row>\n      </datatable-scroller>\n      <div\n        class="empty-row"\n        *ngIf="!rows?.length && !loadingIndicator"\n        [innerHTML]="emptyMessage"\n      ></div>\n    </datatable-selection>\n  ',changeDetection:o.ChangeDetectionStrategy.OnPush,host:{class:"datatable-body"}})],t)}()},IZUe:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("LvDl");class r{constructor(t){this.elementRef=t,this.focus=!0}ngAfterViewInit(){const t=this.elementRef.nativeElement;this.focus&&a.isFunction(t.focus)&&t.focus()}set autofocus(t){a.isBoolean(t)?this.focus=t:a.isFunction(t)&&(this.focus=t())}}},IheW:function(t,e,n){"use strict";n.d(e,"m",(function(){return R})),n.d(e,"p",(function(){return q})),n.d(e,"q",(function(){return j})),n.d(e,"n",(function(){return E})),n.d(e,"o",(function(){return D})),n.d(e,"b",(function(){return u})),n.d(e,"g",(function(){return d})),n.d(e,"c",(function(){return w})),n.d(e,"a",(function(){return k})),n.d(e,"d",(function(){return V})),n.d(e,"e",(function(){return z})),n.d(e,"l",(function(){return F})),n.d(e,"h",(function(){return m})),n.d(e,"f",(function(){return M})),n.d(e,"i",(function(){return A})),n.d(e,"k",(function(){return N})),n.d(e,"j",(function(){return L}));var a=n("8Y7J"),r=n("LRne"),o=n("HDdC"),i=n("bOdf"),s=n("pLZG"),c=n("lJxs"),l=n("SVse");class d{}class u{}class g{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?this.lazyInit="string"==typeof t?()=>{this.headers=new Map,t.split("\n").forEach(t=>{const e=t.indexOf(":");if(e>0){const n=t.slice(0,e),a=n.toLowerCase(),r=t.slice(e+1).trim();this.maybeSetNormalizedName(n,a),this.headers.has(a)?this.headers.get(a).push(r):this.headers.set(a,[r])}})}:()=>{this.headers=new Map,Object.keys(t).forEach(e=>{let n=t[e];const a=e.toLowerCase();"string"==typeof n&&(n=[n]),n.length>0&&(this.headers.set(a,n),this.maybeSetNormalizedName(e,a))})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const e=this.headers.get(t.toLowerCase());return e&&e.length>0?e[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,e){return this.clone({name:t,value:e,op:"a"})}set(t,e){return this.clone({name:t,value:e,op:"s"})}delete(t,e){return this.clone({name:t,value:e,op:"d"})}maybeSetNormalizedName(t,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,t)}init(){this.lazyInit&&(this.lazyInit instanceof g?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(e=>{this.headers.set(e,t.headers.get(e)),this.normalizedNames.set(e,t.normalizedNames.get(e))})}clone(t){const e=new g;return e.lazyInit=this.lazyInit&&this.lazyInit instanceof g?this.lazyInit:this,e.lazyUpdate=(this.lazyUpdate||[]).concat([t]),e}applyUpdate(t){const e=t.name.toLowerCase();switch(t.op){case"a":case"s":let n=t.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(t.name,e);const a=("a"===t.op?this.headers.get(e):void 0)||[];a.push(...n),this.headers.set(e,a);break;case"d":const r=t.value;if(r){let t=this.headers.get(e);if(!t)return;t=t.filter(t=>-1===r.indexOf(t)),0===t.length?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,t)}else this.headers.delete(e),this.normalizedNames.delete(e)}}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(e=>t(this.normalizedNames.get(e),this.headers.get(e)))}}class f{encodeKey(t){return p(t)}encodeValue(t){return p(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}function p(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/gi,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%2B/gi,"+").replace(/%3D/gi,"=").replace(/%3F/gi,"?").replace(/%2F/gi,"/")}class m{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new f,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function(t,e){const n=new Map;return t.length>0&&t.split("&").forEach(t=>{const a=t.indexOf("="),[r,o]=-1==a?[e.decodeKey(t),""]:[e.decodeKey(t.slice(0,a)),e.decodeValue(t.slice(a+1))],i=n.get(r)||[];i.push(o),n.set(r,i)}),n}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(e=>{const n=t.fromObject[e];this.map.set(e,Array.isArray(n)?n:[n])})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const e=this.map.get(t);return e?e[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,e){return this.clone({param:t,value:e,op:"a"})}set(t,e){return this.clone({param:t,value:e,op:"s"})}delete(t,e){return this.clone({param:t,value:e,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const e=this.encoder.encodeKey(t);return this.map.get(t).map(t=>e+"="+this.encoder.encodeValue(t)).join("&")}).join("&")}clone(t){const e=new m({encoder:this.encoder});return e.cloneFrom=this.cloneFrom||this,e.updates=(this.updates||[]).concat([t]),e}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":const e=("a"===t.op?this.map.get(t.param):void 0)||[];e.push(t.value),this.map.set(t.param,e);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let e=this.map.get(t.param)||[];const n=e.indexOf(t.value);-1!==n&&e.splice(n,1),e.length>0?this.map.set(t.param,e):this.map.delete(t.param)}}}),this.cloneFrom=this.updates=null)}}function h(t){return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer}function b(t){return"undefined"!=typeof Blob&&t instanceof Blob}function _(t){return"undefined"!=typeof FormData&&t instanceof FormData}class y{constructor(t,e,n,a){let r;if(this.url=e,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function(t){switch(t){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||a?(this.body=void 0!==n?n:null,r=a):r=n,r&&(this.reportProgress=!!r.reportProgress,this.withCredentials=!!r.withCredentials,r.responseType&&(this.responseType=r.responseType),r.headers&&(this.headers=r.headers),r.params&&(this.params=r.params)),this.headers||(this.headers=new g),this.params){const t=this.params.toString();if(0===t.length)this.urlWithParams=e;else{const n=e.indexOf("?");this.urlWithParams=e+(-1===n?"?":n<e.length-1?"&":"")+t}}else this.params=new m,this.urlWithParams=e}serializeBody(){return null===this.body?null:h(this.body)||b(this.body)||_(this.body)||"string"==typeof this.body?this.body:this.body instanceof m?this.body.toString():"object"==typeof this.body||"boolean"==typeof this.body||Array.isArray(this.body)?JSON.stringify(this.body):this.body.toString()}detectContentTypeHeader(){return null===this.body?null:_(this.body)?null:b(this.body)?this.body.type||null:h(this.body)?null:"string"==typeof this.body?"text/plain":this.body instanceof m?"application/x-www-form-urlencoded;charset=UTF-8":"object"==typeof this.body||"number"==typeof this.body||Array.isArray(this.body)?"application/json":null}clone(t={}){const e=t.method||this.method,n=t.url||this.url,a=t.responseType||this.responseType,r=void 0!==t.body?t.body:this.body,o=void 0!==t.withCredentials?t.withCredentials:this.withCredentials,i=void 0!==t.reportProgress?t.reportProgress:this.reportProgress;let s=t.headers||this.headers,c=t.params||this.params;return void 0!==t.setHeaders&&(s=Object.keys(t.setHeaders).reduce((e,n)=>e.set(n,t.setHeaders[n]),s)),t.setParams&&(c=Object.keys(t.setParams).reduce((e,n)=>e.set(n,t.setParams[n]),c)),new y(e,n,r,{params:c,headers:s,reportProgress:i,responseType:a,withCredentials:o})}}const O=function(){var t={Sent:0,UploadProgress:1,ResponseHeader:2,DownloadProgress:3,Response:4,User:5};return t[t.Sent]="Sent",t[t.UploadProgress]="UploadProgress",t[t.ResponseHeader]="ResponseHeader",t[t.DownloadProgress]="DownloadProgress",t[t.Response]="Response",t[t.User]="User",t}();class v{constructor(t,e=200,n="OK"){this.headers=t.headers||new g,this.status=void 0!==t.status?t.status:e,this.statusText=t.statusText||n,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class C extends v{constructor(t={}){super(t),this.type=O.ResponseHeader}clone(t={}){return new C({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class P extends v{constructor(t={}){super(t),this.type=O.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new P({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class M extends v{constructor(t){super(t,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${t.url||"(unknown url)"}`:`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}}function x(t,e){return{body:e,headers:t.headers,observe:t.observe,params:t.params,reportProgress:t.reportProgress,responseType:t.responseType,withCredentials:t.withCredentials}}class w{constructor(t){this.handler=t}request(t,e,n={}){let a;if(t instanceof y)a=t;else{let r=void 0;r=n.headers instanceof g?n.headers:new g(n.headers);let o=void 0;n.params&&(o=n.params instanceof m?n.params:new m({fromObject:n.params})),a=new y(t,e,void 0!==n.body?n.body:null,{headers:r,params:o,reportProgress:n.reportProgress,responseType:n.responseType||"json",withCredentials:n.withCredentials})}const o=Object(r.a)(a).pipe(Object(i.a)(t=>this.handler.handle(t)));if(t instanceof y||"events"===n.observe)return o;const l=o.pipe(Object(s.a)(t=>t instanceof P));switch(n.observe||"body"){case"body":switch(a.responseType){case"arraybuffer":return l.pipe(Object(c.a)(t=>{if(null!==t.body&&!(t.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return t.body}));case"blob":return l.pipe(Object(c.a)(t=>{if(null!==t.body&&!(t.body instanceof Blob))throw new Error("Response is not a Blob.");return t.body}));case"text":return l.pipe(Object(c.a)(t=>{if(null!==t.body&&"string"!=typeof t.body)throw new Error("Response is not a string.");return t.body}));case"json":default:return l.pipe(Object(c.a)(t=>t.body))}case"response":return l;default:throw new Error(`Unreachable: unhandled observe type ${n.observe}}`)}}delete(t,e={}){return this.request("DELETE",t,e)}get(t,e={}){return this.request("GET",t,e)}head(t,e={}){return this.request("HEAD",t,e)}jsonp(t,e){return this.request("JSONP",t,{params:(new m).append(e,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,e={}){return this.request("OPTIONS",t,e)}patch(t,e,n={}){return this.request("PATCH",t,x(n,e))}post(t,e,n={}){return this.request("POST",t,x(n,e))}put(t,e,n={}){return this.request("PUT",t,x(n,e))}}class T{constructor(t,e){this.next=t,this.interceptor=e}handle(t){return this.interceptor.intercept(t,this.next)}}const k=new a.InjectionToken("HTTP_INTERCEPTORS");class S{intercept(t,e){return e.handle(t)}}const I=/^\)\]\}',?\n/;class N{}class R{constructor(){}build(){return new XMLHttpRequest}}class A{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new Error("Attempted to construct Jsonp request without JsonpClientModule installed.");return new o.a(e=>{const n=this.xhrFactory.build();if(n.open(t.method,t.urlWithParams),t.withCredentials&&(n.withCredentials=!0),t.headers.forEach((t,e)=>n.setRequestHeader(t,e.join(","))),t.headers.has("Accept")||n.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const e=t.detectContentTypeHeader();null!==e&&n.setRequestHeader("Content-Type",e)}if(t.responseType){const e=t.responseType.toLowerCase();n.responseType="json"!==e?e:"text"}const a=t.serializeBody();let r=null;const o=()=>{if(null!==r)return r;const e=1223===n.status?204:n.status,a=n.statusText||"OK",o=new g(n.getAllResponseHeaders()),i=function(t){return"responseURL"in t&&t.responseURL?t.responseURL:/^X-Request-URL:/m.test(t.getAllResponseHeaders())?t.getResponseHeader("X-Request-URL"):null}(n)||t.url;return r=new C({headers:o,status:e,statusText:a,url:i}),r},i=()=>{let{headers:a,status:r,statusText:i,url:s}=o(),c=null;204!==r&&(c=void 0===n.response?n.responseText:n.response),0===r&&(r=c?200:0);let l=r>=200&&r<300;if("json"===t.responseType&&"string"==typeof c){const t=c;c=c.replace(I,"");try{c=""!==c?JSON.parse(c):null}catch(d){c=t,l&&(l=!1,c={error:d,text:c})}}l?(e.next(new P({body:c,headers:a,status:r,statusText:i,url:s||void 0})),e.complete()):e.error(new M({error:c,headers:a,status:r,statusText:i,url:s||void 0}))},s=t=>{const{url:a}=o(),r=new M({error:t,status:n.status||0,statusText:n.statusText||"Unknown Error",url:a||void 0});e.error(r)};let c=!1;const l=a=>{c||(e.next(o()),c=!0);let r={type:O.DownloadProgress,loaded:a.loaded};a.lengthComputable&&(r.total=a.total),"text"===t.responseType&&n.responseText&&(r.partialText=n.responseText),e.next(r)},d=t=>{let n={type:O.UploadProgress,loaded:t.loaded};t.lengthComputable&&(n.total=t.total),e.next(n)};return n.addEventListener("load",i),n.addEventListener("error",s),t.reportProgress&&(n.addEventListener("progress",l),null!==a&&n.upload&&n.upload.addEventListener("progress",d)),n.send(a),e.next({type:O.Sent}),()=>{n.removeEventListener("error",s),n.removeEventListener("load",i),t.reportProgress&&(n.removeEventListener("progress",l),null!==a&&n.upload&&n.upload.removeEventListener("progress",d)),n.abort()}})}}const E=new a.InjectionToken("XSRF_COOKIE_NAME"),D=new a.InjectionToken("XSRF_HEADER_NAME");class L{}class q{constructor(t,e,n){this.doc=t,this.platform=e,this.cookieName=n,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=Object(l["ɵparseCookieValue"])(t,this.cookieName),this.lastCookieString=t),this.lastToken}}class j{constructor(t,e){this.tokenService=t,this.headerName=e}intercept(t,e){const n=t.url.toLowerCase();if("GET"===t.method||"HEAD"===t.method||n.startsWith("http://")||n.startsWith("https://"))return e.handle(t);const a=this.tokenService.getToken();return null===a||t.headers.has(this.headerName)||(t=t.clone({headers:t.headers.set(this.headerName,a)})),e.handle(t)}}class F{constructor(t,e){this.backend=t,this.injector=e,this.chain=null}handle(t){if(null===this.chain){const t=this.injector.get(k,[]);this.chain=t.reduceRight((t,e)=>new T(t,e),this.backend)}return this.chain.handle(t)}}class z{static disable(){return{ngModule:z,providers:[{provide:j,useClass:S}]}}static withOptions(t={}){return{ngModule:z,providers:[t.cookieName?{provide:E,useValue:t.cookieName}:[],t.headerName?{provide:D,useValue:t.headerName}:[]]}}}class V{}},IjjT:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("Y/cZ");class r extends a.a{constructor(t,e=a.a.now){super(t,()=>r.delegate&&r.delegate!==this?r.delegate.now():e()),this.actions=[],this.active=!1,this.scheduled=void 0}schedule(t,e=0,n){return r.delegate&&r.delegate!==this?r.delegate.schedule(t,e,n):super.schedule(t,e,n)}flush(t){const{actions:e}=this;if(this.active)return void e.push(t);let n;this.active=!0;do{if(n=t.execute(t.state,t.delay))break}while(t=e.shift());if(this.active=!1,n){for(;t=e.shift();)t.unsubscribe();throw n}}}},ImZN:function(t,e,n){var a=n("glrk"),r=n("6VoE"),o=n("UMSQ"),i=n("A2ZE"),s=n("NaFW"),c=n("m92n"),l=function(t,e){this.stopped=t,this.result=e};(t.exports=function(t,e,n,d,u){var g,f,p,m,h,b,_,y=i(e,n,d?2:1);if(u)g=t;else{if("function"!=typeof(f=s(t)))throw TypeError("Target is not iterable");if(r(f)){for(p=0,m=o(t.length);m>p;p++)if((h=d?y(a(_=t[p])[0],_[1]):y(t[p]))&&h instanceof l)return h;return new l(!1)}g=f.call(t)}for(b=g.next;!(_=b.call(g)).done;)if("object"==typeof(h=c(g,y,_.value,d))&&h&&h instanceof l)return h;return new l(!1)}).stop=function(t){return new l(!0,t)}},Ioao:function(t,e,n){var a=n("heNW"),r=Math.max;t.exports=function(t,e,n){return e=r(void 0===e?t.length-1:e,0),function(){for(var o=arguments,i=-1,s=r(o.length-e,0),c=Array(s);++i<s;)c[i]=o[e+i];i=-1;for(var l=Array(e+1);++i<e;)l[i]=o[i];return l[e]=n(c),a(t,this,l)}}},"Ivi+":function(t,e,n){!function(t){"use strict";t.defineLocale("ko",{months:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),monthsShort:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),weekdays:"일요일_월요일_화요일_수요일_목요일_금요일_토요일".split("_"),weekdaysShort:"일_월_화_수_목_금_토".split("_"),weekdaysMin:"일_월_화_수_목_금_토".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY년 MMMM D일",LLL:"YYYY년 MMMM D일 A h:mm",LLLL:"YYYY년 MMMM D일 dddd A h:mm",l:"YYYY.MM.DD.",ll:"YYYY년 MMMM D일",lll:"YYYY년 MMMM D일 A h:mm",llll:"YYYY년 MMMM D일 dddd A h:mm"},calendar:{sameDay:"오늘 LT",nextDay:"내일 LT",nextWeek:"dddd LT",lastDay:"어제 LT",lastWeek:"지난주 dddd LT",sameElse:"L"},relativeTime:{future:"%s 후",past:"%s 전",s:"몇 초",ss:"%d초",m:"1분",mm:"%d분",h:"한 시간",hh:"%d시간",d:"하루",dd:"%d일",M:"한 달",MM:"%d달",y:"일 년",yy:"%d년"},dayOfMonthOrdinalParse:/\d{1,2}(일|월|주)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"일";case"M":return t+"월";case"w":case"W":return t+"주";default:return t}},meridiemParse:/오전|오후/,isPM:function(t){return"오후"===t},meridiem:function(t,e,n){return t<12?"오전":"오후"}})}(n("wd/R"))},IzCI:function(t,e,n){"use strict";n.d(e,"a",(function(){return a})),n("aXbf");class a{constructor(t){this.formatter=t}transform(t){return this.formatter.format_number(t,1024,["B/s","kB/s","MB/s","GB/s","TB/s","PB/s","EB/s","ZB/s","YB/s"])}}},IzEk:function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var a=n("7o/Q"),r=n("4I5i"),o=n("EY2u");function i(t){return e=>0===t?Object(o.b)():e.lift(new s(t))}class s{constructor(t){if(this.total=t,this.total<0)throw new r.a}call(t,e){return e.subscribe(new c(t,this.total))}}class c extends a.a{constructor(t,e){super(t),this.total=e,this.count=0}_next(t){const e=this.total,n=++this.count;n<=e&&(this.destination.next(t),n===e&&(this.destination.complete(),this.unsubscribe()))}}},J2m7:function(t,e,n){var a=n("XKAG")(n("UfWW"));t.exports=a},JBE3:function(t,e,n){var a=n("+Qka"),r=n("LsHQ")((function(t,e,n,r){a(t,e,n,r)}));t.exports=r},JBy8:function(t,e,n){var a=n("yoRg"),r=n("eDl+").concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return a(t,r)}},JC6p:function(t,e,n){var a=n("cq/+"),r=n("7GkX");t.exports=function(t,e){return t&&a(t,e,r)}},"JCF/":function(t,e,n){!function(t){"use strict";var e={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},n={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},a=["کانونی دووەم","شوبات","ئازار","نیسان","ئایار","حوزەیران","تەمموز","ئاب","ئەیلوول","تشرینی یەكەم","تشرینی دووەم","كانونی یەکەم"];t.defineLocale("ku",{months:a,monthsShort:a,weekdays:"یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌".split("_"),weekdaysShort:"یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌".split("_"),weekdaysMin:"ی_د_س_چ_پ_ه_ش".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/ئێواره‌|به‌یانی/,isPM:function(t){return/ئێواره‌/.test(t)},meridiem:function(t,e,n){return t<12?"به‌یانی":"ئێواره‌"},calendar:{sameDay:"[ئه‌مرۆ كاتژمێر] LT",nextDay:"[به‌یانی كاتژمێر] LT",nextWeek:"dddd [كاتژمێر] LT",lastDay:"[دوێنێ كاتژمێر] LT",lastWeek:"dddd [كاتژمێر] LT",sameElse:"L"},relativeTime:{future:"له‌ %s",past:"%s",s:"چه‌ند چركه‌یه‌ك",ss:"چركه‌ %d",m:"یه‌ك خوله‌ك",mm:"%d خوله‌ك",h:"یه‌ك كاتژمێر",hh:"%d كاتژمێر",d:"یه‌ك ڕۆژ",dd:"%d ڕۆژ",M:"یه‌ك مانگ",MM:"%d مانگ",y:"یه‌ك ساڵ",yy:"%d ساڵ"},preparse:function(t){return t.replace(/[١٢٣٤٥٦٧٨٩٠]/g,(function(t){return n[t]})).replace(/،/g,",")},postformat:function(t){return t.replace(/\d/g,(function(t){return e[t]})).replace(/,/g,"،")},week:{dow:6,doy:12}})}(n("wd/R"))},JHRd:function(t,e,n){var a=n("Kz5y");t.exports=a.Uint8Array},JHgL:function(t,e,n){var a=n("QkVE");t.exports=function(t){return a(this,t).get(t)}},JIr8:function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var a=n("l7GE"),r=n("51Dv"),o=n("ZUHj");function i(t){return function(e){const n=new s(t),a=e.lift(n);return n.caught=a}}class s{constructor(t){this.selector=t}call(t,e){return e.subscribe(new c(t,this.selector,this.caught))}}class c extends a.a{constructor(t,e,n){super(t),this.selector=e,this.caught=n}error(t){if(!this.isStopped){let n;try{n=this.selector(t,this.caught)}catch(e){return void super.error(e)}this._unsubscribeAndRecycle();const a=new r.a(this,void 0,void 0);this.add(a);const i=Object(o.a)(this,n,void 0,void 0,a);i!==a&&this.add(i)}}}},JSQU:function(t,e,n){var a=n("YESw");t.exports=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=a&&void 0===e?"__lodash_hash_undefined__":e,this}},JTzB:function(t,e,n){var a=n("NykK"),r=n("ExA7");t.exports=function(t){return r(t)&&"[object Arguments]"==a(t)}},JVSJ:function(t,e,n){!function(t){"use strict";function e(t,e,n){var a=t+" ";switch(n){case"ss":return a+(1===t?"sekunda":2===t||3===t||4===t?"sekunde":"sekundi");case"m":return e?"jedna minuta":"jedne minute";case"mm":return a+(1===t?"minuta":2===t||3===t||4===t?"minute":"minuta");case"h":return e?"jedan sat":"jednog sata";case"hh":return a+(1===t?"sat":2===t||3===t||4===t?"sata":"sati");case"dd":return a+(1===t?"dan":"dana");case"MM":return a+(1===t?"mjesec":2===t||3===t||4===t?"mjeseca":"mjeseci");case"yy":return a+(1===t?"godina":2===t||3===t||4===t?"godine":"godina")}}t.defineLocale("bs",{months:"januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return"[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:e,m:e,mm:e,h:e,hh:e,d:"dan",dd:e,M:"mjesec",MM:e,y:"godinu",yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n("wd/R"))},JX91:function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var a=n("GyhO"),r=n("z+Ro");function o(...t){const e=t[t.length-1];return Object(r.a)(e)?(t.pop(),n=>Object(a.a)(t,n,e)):e=>Object(a.a)(t,e)}},JZM8:function(t,e,n){var a=n("FfPP"),r=n("xs/l")((function(t,e){return null==t?{}:a(t,e)}));t.exports=r},Jlc5:function(t,e,n){var a=n("ZirO"),r=n("H0h1"),o=n("ut/Y"),i=n("Z0cm"),s=n("mv/X");t.exports=function(t,e,n){var c=i(t)?a:r;return n&&s(t,e,n)&&(e=void 0),c(t,o(e,3))}},JmpY:function(t,e,n){var a=n("eUgh");t.exports=function(t,e){return a(e,(function(e){return t[e]}))}},Juji:function(t,e){t.exports=function(t,e){return null!=t&&e in Object(t)}},JvlW:function(t,e,n){!function(t){"use strict";var e={ss:"sekundė_sekundžių_sekundes",m:"minutė_minutės_minutę",mm:"minutės_minučių_minutes",h:"valanda_valandos_valandą",hh:"valandos_valandų_valandas",d:"diena_dienos_dieną",dd:"dienos_dienų_dienas",M:"mėnuo_mėnesio_mėnesį",MM:"mėnesiai_mėnesių_mėnesius",y:"metai_metų_metus",yy:"metai_metų_metus"};function n(t,e,n,a){return e?r(n)[0]:a?r(n)[1]:r(n)[2]}function a(t){return t%10==0||t>10&&t<20}function r(t){return e[t].split("_")}function o(t,e,o,i){var s=t+" ";return 1===t?s+n(0,e,o[0],i):e?s+(a(t)?r(o)[1]:r(o)[0]):i?s+r(o)[1]:s+(a(t)?r(o)[1]:r(o)[2])}t.defineLocale("lt",{months:{format:"sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio".split("_"),standalone:"sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis".split("_"),isFormat:/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/},monthsShort:"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),weekdays:{format:"sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį".split("_"),standalone:"sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis".split("_"),isFormat:/dddd HH:mm/},weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_Šeš".split("_"),weekdaysMin:"S_P_A_T_K_Pn_Š".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"},calendar:{sameDay:"[Šiandien] LT",nextDay:"[Rytoj] LT",nextWeek:"dddd LT",lastDay:"[Vakar] LT",lastWeek:"[Praėjusį] dddd LT",sameElse:"L"},relativeTime:{future:"po %s",past:"prieš %s",s:function(t,e,n,a){return e?"kelios sekundės":a?"kelių sekundžių":"kelias sekundes"},ss:o,m:n,mm:o,h:n,hh:o,d:n,dd:o,M:n,MM:o,y:n,yy:o},dayOfMonthOrdinalParse:/\d{1,2}-oji/,ordinal:function(t){return t+"-oji"},week:{dow:1,doy:4}})}(n("wd/R"))},JxMD:function(t,e,n){"use strict";var a=n("8Y7J"),r=n("SVse"),o=n("hrfs");n("dgut"),n("Fgil"),n.d(e,"a",(function(){return i})),n.d(e,"b",(function(){return s}));var i=a["ɵcrt"]({encapsulation:0,styles:[['canvas[_ngcontent-%COMP%]{-moz-user-select:none;user-select:none}.chartjs-tooltip[_ngcontent-%COMP%]{opacity:0;position:absolute;background:rgba(0,0,0,.7);color:#fff;border-radius:3px;transition:all .1s ease;pointer-events:none;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif!important;transform:translate(-50%,0)}.chartjs-tooltip.transform-left[_ngcontent-%COMP%]{transform:translate(-10%,0)}.chartjs-tooltip.transform-left[_ngcontent-%COMP%]::after{left:10%}.chartjs-tooltip.transform-right[_ngcontent-%COMP%]{transform:translate(-90%,0)}.chartjs-tooltip.transform-right[_ngcontent-%COMP%]::after{left:90%}.chartjs-tooltip[_ngcontent-%COMP%]::after{content:" ";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:#000 transparent transparent}  .chartjs-tooltip-key{display:inline-block;width:10px;height:10px;margin-right:10px}.chart-container[_ngcontent-%COMP%]{margin:auto;cursor:pointer;overflow:visible;position:static!important}']],data:{}});function s(t){return a["ɵvid"](0,[a["ɵqud"](402653184,1,{chartCanvasRef:0}),a["ɵqud"](402653184,2,{chartTooltipRef:0}),(t()(),a["ɵeld"](2,0,null,null,6,"div",[["class","chart-container"]],null,null,null,null,null)),a["ɵprd"](512,null,r["ɵNgStyleImpl"],r["ɵNgStyleR2Impl"],[a.ElementRef,a.KeyValueDiffers,a.Renderer2]),a["ɵdid"](4,278528,null,0,r.NgStyle,[r["ɵNgStyleImpl"]],{ngStyle:[0,"ngStyle"]},null),(t()(),a["ɵeld"](5,0,[[1,0],["sparkCanvas",1]],null,1,"canvas",[["baseChart",""]],null,null,null,null,null)),a["ɵdid"](6,999424,null,0,o.a,[a.ElementRef,o.c],{datasets:[0,"datasets"],labels:[1,"labels"],options:[2,"options"],chartType:[3,"chartType"],colors:[4,"colors"]},null),(t()(),a["ɵeld"](7,0,[[2,0],["sparkTooltip",1]],null,1,"div",[["class","chartjs-tooltip"]],null,null,null,null,null)),(t()(),a["ɵeld"](8,0,null,null,0,"table",[],null,null,null,null,null))],(function(t,e){var n=e.component;t(e,4,0,n.style),t(e,6,0,n.datasets,n.labels,n.options,"line",n.colors)}),null)}},"K/tc":function(t,e,n){!function(t){"use strict";t.defineLocale("af",{months:"Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des".split("_"),weekdays:"Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag".split("_"),weekdaysShort:"Son_Maa_Din_Woe_Don_Vry_Sat".split("_"),weekdaysMin:"So_Ma_Di_Wo_Do_Vr_Sa".split("_"),meridiemParse:/vm|nm/i,isPM:function(t){return/^nm$/i.test(t)},meridiem:function(t,e,n){return t<12?n?"vm":"VM":n?"nm":"NM"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Vandag om] LT",nextDay:"[Môre om] LT",nextWeek:"dddd [om] LT",lastDay:"[Gister om] LT",lastWeek:"[Laas] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oor %s",past:"%s gelede",s:"'n paar sekondes",ss:"%d sekondes",m:"'n minuut",mm:"%d minute",h:"'n uur",hh:"%d ure",d:"'n dag",dd:"%d dae",M:"'n maand",MM:"%d maande",y:"'n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(t){return t+(1===t||8===t||t>=20?"ste":"de")},week:{dow:1,doy:4}})}(n("wd/R"))},KMkd:function(t,e){t.exports=function(){this.__data__=[],this.size=0}},KOzp:function(t,e,n){"use strict";n.d(e,"a",(function(){return i})),n.d(e,"b",(function(){return s})),n.d(e,"c",(function(){return c})),n.d(e,"d",(function(){return l}));var a=n("z/SZ"),r=n("hpHm"),o=n("2uy1");class i{constructor(){this.adaptivePosition=!0,this.placement="top",this.triggers="click",this.outsideClick=!1}}class s{constructor(t){Object.assign(this,t)}get isBs3(){return Object(r.d)()}}class c{constructor(t,e,n,a,r,o){this._positionService=o,this.outsideClick=!1,this.containerClass="",this._isInited=!1,this._popover=r.createLoader(e,a,n).provide({provide:i,useValue:t}),Object.assign(this,t),this.onShown=this._popover.onShown,this.onHidden=this._popover.onHidden,"undefined"!=typeof window&&e.nativeElement.addEventListener("click",(function(){try{e.nativeElement.focus()}catch(t){return}}))}get isOpen(){return this._popover.isShown}set isOpen(t){t?this.show():this.hide()}show(){!this._popover.isShown&&this.popover&&(this._positionService.setOptions({modifiers:{flip:{enabled:this.adaptivePosition},preventOverflow:{enabled:this.adaptivePosition}}}),this._popover.attach(s).to(this.container).position({attachment:this.placement}).show({content:this.popover,context:this.popoverContext,placement:this.placement,title:this.popoverTitle,containerClass:this.containerClass}),this.adaptivePosition||(this._positionService.calcPosition(),this._positionService.deletePositionElement(this._popover._componentRef.location)),this.isOpen=!0)}hide(){this.isOpen&&(this._popover.hide(),this.isOpen=!1)}toggle(){if(this.isOpen)return this.hide();this.show()}ngOnInit(){this._isInited||(this._isInited=!0,this._popover.listen({triggers:this.triggers,outsideClick:this.outsideClick,show:()=>this.show()}))}ngOnDestroy(){this._popover.dispose()}}class l{static forRoot(){return{ngModule:l,providers:[i,a.a,o.a]}}}},KSF8:function(t,e,n){!function(t){"use strict";t.defineLocale("vi",{months:"tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12".split("_"),monthsShort:"Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12".split("_"),monthsParseExact:!0,weekdays:"chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy".split("_"),weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysParseExact:!0,meridiemParse:/sa|ch/i,isPM:function(t){return/^ch$/i.test(t)},meridiem:function(t,e,n){return t<12?n?"sa":"SA":n?"ch":"CH"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [năm] YYYY",LLL:"D MMMM [năm] YYYY HH:mm",LLLL:"dddd, D MMMM [năm] YYYY HH:mm",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[Hôm nay lúc] LT",nextDay:"[Ngày mai lúc] LT",nextWeek:"dddd [tuần tới lúc] LT",lastDay:"[Hôm qua lúc] LT",lastWeek:"dddd [tuần rồi lúc] LT",sameElse:"L"},relativeTime:{future:"%s tới",past:"%s trước",s:"vài giây",ss:"%d giây",m:"một phút",mm:"%d phút",h:"một giờ",hh:"%d giờ",d:"một ngày",dd:"%d ngày",M:"một tháng",MM:"%d tháng",y:"một năm",yy:"%d năm"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(t){return t},week:{dow:1,doy:4}})}(n("wd/R"))},KTz0:function(t,e,n){!function(t){"use strict";var e={words:{ss:["sekund","sekunda","sekundi"],m:["jedan minut","jednog minuta"],mm:["minut","minuta","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mjesec","mjeseca","mjeseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(t,e){return 1===t?e[0]:t>=2&&t<=4?e[1]:e[2]},translate:function(t,n,a){var r=e.words[a];return 1===a.length?n?r[0]:r[1]:t+" "+e.correctGrammaticalCase(t,r)}};t.defineLocale("me",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sjutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){return["[prošle] [nedjelje] [u] LT","[prošlog] [ponedjeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srijede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"nekoliko sekundi",ss:e.translate,m:e.translate,mm:e.translate,h:e.translate,hh:e.translate,d:"dan",dd:e.translate,M:"mjesec",MM:e.translate,y:"godinu",yy:e.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n("wd/R"))},KVJa:function(t,e,n){"use strict";var a=n("8Y7J");n("Z21x"),n("SVse"),n("sne2"),n.d(e,"a",(function(){return r})),n.d(e,"b",(function(){return o}));var r=a["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function o(t){return a["ɵvid"](0,[(t()(),a["ɵted"](-1,null,[" \n"])),(t()(),a["ɵeld"](1,0,null,null,1,"button",[["class","btn btn-light tc_backButton"],["type","button"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.back()&&a),a}),null,null)),(t()(),a["ɵted"](2,null,[" ","\n"]))],null,(function(t,e){t(e,2,0,e.component.name)}))}},KfNM:function(t,e){var n=Object.prototype.toString;t.exports=function(t){return n.call(t)}},Kj3r:function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var a=n("7o/Q"),r=n("D0XW");function o(t,e=r.a){return n=>n.lift(new i(t,e))}class i{constructor(t,e){this.dueTime=t,this.scheduler=e}call(t,e){return e.subscribe(new s(t,this.dueTime,this.scheduler))}}class s extends a.a{constructor(t,e,n){super(t),this.dueTime=e,this.scheduler=n,this.debouncedSubscription=null,this.lastValue=null,this.hasValue=!1}_next(t){this.clearDebounce(),this.lastValue=t,this.hasValue=!0,this.add(this.debouncedSubscription=this.scheduler.schedule(c,this.dueTime,this))}_complete(){this.debouncedNext(),this.destination.complete()}debouncedNext(){if(this.clearDebounce(),this.hasValue){const{lastValue:t}=this;this.lastValue=null,this.hasValue=!1,this.destination.next(t)}}clearDebounce(){const t=this.debouncedSubscription;null!==t&&(this.remove(t),t.unsubscribe(),this.debouncedSubscription=null)}}function c(t){t.debouncedNext()}},Kqap:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("7o/Q");function r(t,e){let n=!1;return arguments.length>=2&&(n=!0),function(a){return a.lift(new o(t,e,n))}}class o{constructor(t,e,n=!1){this.accumulator=t,this.seed=e,this.hasSeed=n}call(t,e){return e.subscribe(new i(t,this.accumulator,this.seed,this.hasSeed))}}class i extends a.a{constructor(t,e,n,a){super(t),this.accumulator=e,this._seed=n,this.hasSeed=a,this.index=0}get seed(){return this._seed}set seed(t){this.hasSeed=!0,this._seed=t}_next(t){if(this.hasSeed)return this._tryNext(t);this.seed=t,this.destination.next(t)}_tryNext(t){const e=this.index++;let n;try{n=this.accumulator(this.seed,t,e)}catch(a){this.destination.error(a)}this.seed=n,this.destination.next(n)}}},KqfI:function(t,e,n){"use strict";function a(){}n.d(e,"a",(function(){return a}))},KwMD:function(t,e){t.exports=function(t,e,n,a){for(var r=t.length,o=n+(a?1:-1);a?o--:++o<r;)if(e(t[o],o,t))return o;return-1}},KxBF:function(t,e){t.exports=function(t,e,n){var a=-1,r=t.length;e<0&&(e=-e>r?0:r+e),(n=n>r?r:n)<0&&(n+=r),r=e>n?0:n-e>>>0,e>>>=0;for(var o=Array(r);++a<r;)o[a]=t[a+e];return o}},Kz5y:function(t,e,n){var a=n("WFqU"),r="object"==typeof self&&self&&self.Object===Object&&self,o=a||r||Function("return this")();t.exports=o},L5sC:function(t,e,n){var a=n("mrSG").__decorate;Object.defineProperty(e,"__esModule",{value:!0});var r=n("8Y7J");e.DataTableColumnCellTreeToggle=function(){return a([r.Directive({selector:"[ngx-datatable-tree-toggle]"})],(function(t){this.template=t}))}()},L8xA:function(t,e){t.exports=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}},LOMR:function(t,e,n){"use strict";var a=n("8Y7J"),r=n("Fwy9"),o=n("gk6K"),i=n("woSy"),s=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function c(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"div",[["class","node-drop-slot"]],null,[[null,"treeDrop"],[null,"drop"]],(function(t,e,n){var r=!0,o=t.component;return"drop"===e&&(r=!1!==a["ɵnov"](t,1).onDrop(n)&&r),"treeDrop"===e&&(r=!1!==o.onDrop(n)&&r),r}),null,null)),a["ɵdid"](1,4341760,null,0,r.a,[a.ElementRef,a.Renderer2,o.a,a.NgZone],{allowDragoverStyling:[0,"allowDragoverStyling"],treeAllowDrop:[1,"treeAllowDrop"]},{onDropCallback:"treeDrop"})],(function(t,e){var n=e.component;t(e,1,0,!0,n.allowDrop.bind(n))}),null)}var l=n("SVse"),d=n("CoVI"),u=n("uNpg"),g=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function f(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,null,null,null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,0,"input",[["class","tree-node-checkbox"],["type","checkbox"]],[[8,"checked",0],[8,"indeterminate",0]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.node.mouseAction("checkboxClick",n)&&a),a}),null,null))],null,(function(t,e){var n=e.component;t(e,1,0,n.node.isSelected,n.node.isPartiallySelected)}))}function p(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,2,null,f)),a["ɵdid"](1,212992,null,0,d.a,[a.TemplateRef,a.ViewContainerRef],{treeMobxAutorun:[0,"treeMobxAutorun"]},null),a["ɵpod"](2,{dontDetach:0})],(function(t,e){var n=t(e,2,0,!0);t(e,1,0,n)}),null)}var m=n("jV1L"),h=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function b(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"span",[["class","toggle-children-wrapper"]],[[2,"toggle-children-wrapper-expanded",null],[2,"toggle-children-wrapper-collapsed",null]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.node.mouseAction("expanderClick",n)&&a),a}),null,null)),(t()(),a["ɵeld"](1,0,null,null,0,"span",[["class","toggle-children"]],null,null,null,null,null))],null,(function(t,e){var n=e.component;t(e,0,0,n.node.isExpanded,n.node.isCollapsed)}))}function _(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,0,"span",[["class","toggle-children-placeholder"]],null,null,null,null,null))],null,null)}function y(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,4,null,null,null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,b)),a["ɵdid"](2,16384,null,0,l.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,_)),a["ɵdid"](4,16384,null,0,l.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](0,null,null,0))],(function(t,e){var n=e.component;t(e,2,0,n.node.hasChildren),t(e,4,0,!n.node.hasChildren)}),null)}function O(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,2,null,y)),a["ɵdid"](1,212992,null,0,d.a,[a.TemplateRef,a.ViewContainerRef],{treeMobxAutorun:[0,"treeMobxAutorun"]},null),a["ɵpod"](2,{dontDetach:0})],(function(t,e){var n=t(e,2,0,!0);t(e,1,0,n)}),null)}var v=n("C523"),C=n("rZud"),P=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function M(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),a["ɵted"](1,null,["",""]))],null,(function(t,e){t(e,1,0,e.component.node.displayField)}))}function x(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,1,null,M)),a["ɵdid"](1,16384,null,0,l.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵeld"](2,16777216,null,null,2,null,null,null,null,null,null,null)),a["ɵdid"](3,540672,null,0,l.NgTemplateOutlet,[a.ViewContainerRef],{ngTemplateOutletContext:[0,"ngTemplateOutletContext"],ngTemplateOutlet:[1,"ngTemplateOutlet"]},null),a["ɵpod"](4,{$implicit:0,node:1,index:2})],(function(t,e){var n=e.component;t(e,1,0,!n.template);var a=t(e,4,0,n.node,n.node,n.index);t(e,3,0,a,n.template)}),null)}var w=n("OIDT"),T=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function k(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"tree-node-checkbox",[],null,null,null,p,g)),a["ɵdid"](1,49152,null,0,u.a,[],{node:[0,"node"]},null)],(function(t,e){t(e,1,0,e.component.node)}),null)}function S(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,9,"div",[["class","node-wrapper"]],[[4,"padding-left",null]],null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,k)),a["ɵdid"](2,16384,null,0,l.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵeld"](3,0,null,null,1,"tree-node-expander",[],null,null,null,O,h)),a["ɵdid"](4,49152,null,0,m.a,[],{node:[0,"node"]},null),(t()(),a["ɵeld"](5,0,null,null,4,"div",[["class","node-content-wrapper"]],[[2,"node-content-wrapper-active",null],[2,"node-content-wrapper-focused",null]],[[null,"click"],[null,"dblclick"],[null,"mouseover"],[null,"mouseout"],[null,"contextmenu"],[null,"treeDrop"],[null,"treeDropDragOver"],[null,"treeDropDragLeave"],[null,"treeDropDragEnter"],[null,"drop"],[null,"dragstart"],[null,"dragend"]],(function(t,e,n){var r=!0,o=t.component;return"drop"===e&&(r=!1!==a["ɵnov"](t,6).onDrop(n)&&r),"dragstart"===e&&(r=!1!==a["ɵnov"](t,7).onDragStart(n)&&r),"dragend"===e&&(r=!1!==a["ɵnov"](t,7).onDragEnd()&&r),"click"===e&&(r=!1!==o.node.mouseAction("click",n)&&r),"dblclick"===e&&(r=!1!==o.node.mouseAction("dblClick",n)&&r),"mouseover"===e&&(r=!1!==o.node.mouseAction("mouseOver",n)&&r),"mouseout"===e&&(r=!1!==o.node.mouseAction("mouseOut",n)&&r),"contextmenu"===e&&(r=!1!==o.node.mouseAction("contextMenu",n)&&r),"treeDrop"===e&&(r=!1!==o.node.onDrop(n)&&r),"treeDropDragOver"===e&&(r=!1!==o.node.mouseAction("dragOver",n)&&r),"treeDropDragLeave"===e&&(r=!1!==o.node.mouseAction("dragLeave",n)&&r),"treeDropDragEnter"===e&&(r=!1!==o.node.mouseAction("dragEnter",n)&&r),r}),null,null)),a["ɵdid"](6,4341760,null,0,r.a,[a.ElementRef,a.Renderer2,o.a,a.NgZone],{allowDragoverStyling:[0,"allowDragoverStyling"],treeAllowDrop:[1,"treeAllowDrop"]},{onDropCallback:"treeDrop",onDragOverCallback:"treeDropDragOver",onDragLeaveCallback:"treeDropDragLeave",onDragEnterCallback:"treeDropDragEnter"}),a["ɵdid"](7,4603904,null,0,v.a,[a.ElementRef,a.Renderer2,o.a,a.NgZone],{draggedElement:[0,"draggedElement"],treeDragEnabled:[1,"treeDragEnabled"]},null),(t()(),a["ɵeld"](8,0,null,null,1,"tree-node-content",[],null,null,null,x,P)),a["ɵdid"](9,49152,null,0,C.a,[],{node:[0,"node"],index:[1,"index"],template:[2,"template"]},null)],(function(t,e){var n=e.component;t(e,2,0,n.node.options.useCheckbox),t(e,4,0,n.node),t(e,6,0,n.node.allowDragoverStyling(),n.node.allowDrop),t(e,7,0,n.node,n.node.allowDrag()),t(e,9,0,n.node,n.index,n.templates.treeNodeTemplate)}),(function(t,e){var n=e.component;t(e,0,0,n.node.getNodePadding()),t(e,5,0,n.node.isActive,n.node.isFocused)}))}function I(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,1,null,S)),a["ɵdid"](1,16384,null,0,l.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵeld"](2,16777216,null,null,2,null,null,null,null,null,null,null)),a["ɵdid"](3,540672,null,0,l.NgTemplateOutlet,[a.ViewContainerRef],{ngTemplateOutletContext:[0,"ngTemplateOutletContext"],ngTemplateOutlet:[1,"ngTemplateOutlet"]},null),a["ɵpod"](4,{$implicit:0,node:1,index:2,templates:3})],(function(t,e){var n=e.component;t(e,1,0,!n.templates.treeNodeWrapperTemplate);var a=t(e,4,0,n.node,n.node,n.index,n.templates);t(e,3,0,a,n.templates.treeNodeWrapperTemplate)}),null)}var N=n("WaXT"),R=n("ZhuC"),A=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function E(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["loading..."]))],null,null)}function D(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,1,null,E)),a["ɵdid"](1,16384,null,0,l.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵeld"](2,16777216,null,null,2,null,null,null,null,null,null,null)),a["ɵdid"](3,540672,null,0,l.NgTemplateOutlet,[a.ViewContainerRef],{ngTemplateOutletContext:[0,"ngTemplateOutletContext"],ngTemplateOutlet:[1,"ngTemplateOutlet"]},null),a["ɵpod"](4,{$implicit:0})],(function(t,e){var n=e.component;t(e,1,0,!n.template);var a=t(e,4,0,n.node);t(e,3,0,a,n.template)}),null)}var L=n("4Dmd"),q=n("pcHL"),j=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function F(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"tree-node-collection",[],null,null,null,Q,Z)),a["ɵdid"](1,245760,null,0,N.a,[],{nodes:[0,"nodes"],treeModel:[1,"treeModel"],templates:[2,"templates"]},null)],(function(t,e){var n=e.component;t(e,1,0,n.node.children,n.node.treeModel,n.templates)}),null)}function z(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"tree-loading-component",[["class","tree-node-loading"]],[[4,"padding-left",null]],null,null,D,A)),a["ɵdid"](1,49152,null,0,R.a,[],{template:[0,"template"],node:[1,"node"]},null)],(function(t,e){var n=e.component;t(e,1,0,n.templates.loadingTemplate,n.node)}),(function(t,e){t(e,0,0,e.component.node.getNodePadding())}))}function V(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,4,"div",[],[[2,"tree-children",null],[2,"tree-children-no-padding",null]],null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,F)),a["ɵdid"](2,16384,null,0,l.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,z)),a["ɵdid"](4,16384,null,0,l.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,2,0,n.node.children),t(e,4,0,!n.node.children)}),(function(t,e){t(e,0,0,!0,e.component.node.options.levelPadding)}))}function G(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,null,null,null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,V)),a["ɵdid"](2,16384,null,0,L.a,[a.Renderer2,a.TemplateRef,a.ViewContainerRef],{animateSpeed:[0,"animateSpeed"],animateAcceleration:[1,"animateAcceleration"],isEnabled:[2,"isEnabled"],isOpen:[3,"isOpen"]},null),(t()(),a["ɵand"](0,null,null,0))],(function(t,e){var n=e.component;t(e,2,0,n.node.options.animateSpeed,n.node.options.animateAcceleration,n.node.options.animateExpand,n.node.isExpanded)}),null)}function Y(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,2,null,G)),a["ɵdid"](1,212992,null,0,d.a,[a.TemplateRef,a.ViewContainerRef],{treeMobxAutorun:[0,"treeMobxAutorun"]},null),a["ɵpod"](2,{dontDetach:0})],(function(t,e){var n=t(e,2,0,!0);t(e,1,0,n)}),null)}var B=n("TNUL"),H=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function U(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"tree-node-drop-slot",[],null,null,null,c,s)),a["ɵdid"](1,49152,null,0,i.a,[],{node:[0,"node"],dropIndex:[1,"dropIndex"]},null)],(function(t,e){var n=e.component;t(e,1,0,n.node.parent,n.node.index)}),null)}function W(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,8,"div",[],[[8,"className",0],[2,"tree-node",null],[2,"tree-node-expanded",null],[2,"tree-node-collapsed",null],[2,"tree-node-leaf",null],[2,"tree-node-active",null],[2,"tree-node-focused",null]],null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,U)),a["ɵdid"](2,16384,null,0,l.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵeld"](3,0,null,null,1,"tree-node-wrapper",[],null,null,null,I,T)),a["ɵdid"](4,49152,null,0,w.a,[],{node:[0,"node"],index:[1,"index"],templates:[2,"templates"]},null),(t()(),a["ɵeld"](5,0,null,null,1,"tree-node-children",[],null,null,null,Y,j)),a["ɵdid"](6,49152,null,0,q.a,[],{node:[0,"node"],templates:[1,"templates"]},null),(t()(),a["ɵeld"](7,0,null,null,1,"tree-node-drop-slot",[],null,null,null,c,s)),a["ɵdid"](8,49152,null,0,i.a,[],{node:[0,"node"],dropIndex:[1,"dropIndex"]},null)],(function(t,e){var n=e.component;t(e,2,0,0===n.index),t(e,4,0,n.node,n.index,n.templates),t(e,6,0,n.node,n.templates),t(e,8,0,n.node.parent,n.node.index+1)}),(function(t,e){var n=e.component;t(e,0,0,n.node.getClass(),!0,n.node.isExpanded&&n.node.hasChildren,n.node.isCollapsed&&n.node.hasChildren,n.node.isLeaf,n.node.isActive,n.node.isFocused)}))}function K(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,5,null,null,null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,W)),a["ɵdid"](2,16384,null,0,l.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵeld"](3,16777216,null,null,2,null,null,null,null,null,null,null)),a["ɵdid"](4,540672,null,0,l.NgTemplateOutlet,[a.ViewContainerRef],{ngTemplateOutletContext:[0,"ngTemplateOutletContext"],ngTemplateOutlet:[1,"ngTemplateOutlet"]},null),a["ɵpod"](5,{$implicit:0,node:1,index:2,templates:3}),(t()(),a["ɵand"](0,null,null,0))],(function(t,e){var n=e.component;t(e,2,0,!n.templates.treeNodeFullTemplate);var a=t(e,5,0,n.node,n.node,n.index,n.templates);t(e,4,0,a,n.templates.treeNodeFullTemplate)}),null)}function $(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,2,null,K)),a["ɵdid"](1,212992,null,0,d.a,[a.TemplateRef,a.ViewContainerRef],{treeMobxAutorun:[0,"treeMobxAutorun"]},null),a["ɵpod"](2,{dontDetach:0})],(function(t,e){var n=t(e,2,0,!0);t(e,1,0,n)}),null)}var Z=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function J(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"tree-node",[],null,null,null,$,H)),a["ɵdid"](1,49152,null,0,B.a,[],{node:[0,"node"],index:[1,"index"],templates:[2,"templates"]},null)],(function(t,e){t(e,1,0,e.context.$implicit,e.context.index,e.component.templates)}),null)}function X(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,null,null,null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,2,"div",[],[[4,"margin-top",null]],null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,J)),a["ɵdid"](3,278528,null,0,l.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"],ngForTrackBy:[1,"ngForTrackBy"]},null)],(function(t,e){var n=e.component;t(e,3,0,n.viewportNodes,n.trackNode)}),(function(t,e){t(e,1,0,e.component.marginTop)}))}function Q(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,2,null,X)),a["ɵdid"](1,212992,null,0,d.a,[a.TemplateRef,a.ViewContainerRef],{treeMobxAutorun:[0,"treeMobxAutorun"]},null),a["ɵpod"](2,{dontDetach:0})],(function(t,e){var n=t(e,2,0,!0);t(e,1,0,n)}),null)}var tt=n("dApe"),et=n("MP8s"),nt=n("HIU9"),at=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function rt(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,null,null,null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,1,"div",[],[[4,"height",null]],null,null,null,null)),a["ɵncd"](null,0)],null,(function(t,e){t(e,1,0,e.component.getTotalHeight())}))}function ot(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,2,null,rt)),a["ɵdid"](1,212992,null,0,d.a,[a.TemplateRef,a.ViewContainerRef],{treeMobxAutorun:[0,"treeMobxAutorun"]},null),a["ɵpod"](2,{dontDetach:0})],(function(t,e){var n=t(e,2,0,!0);t(e,1,0,n)}),null)}n("fxL3"),n.d(e,"a",(function(){return it})),n.d(e,"b",(function(){return lt}));var it=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function st(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"tree-node-collection",[],null,null,null,Q,Z)),a["ɵdid"](1,245760,null,0,N.a,[],{nodes:[0,"nodes"],treeModel:[1,"treeModel"],templates:[2,"templates"]},null),a["ɵpod"](2,{loadingTemplate:0,treeNodeTemplate:1,treeNodeWrapperTemplate:2,treeNodeFullTemplate:3})],(function(t,e){var n=e.component,a=n.treeModel.roots,r=n.treeModel,o=t(e,2,0,n.loadingTemplate,n.treeNodeTemplate,n.treeNodeWrapperTemplate,n.treeNodeFullTemplate);t(e,1,0,a,r,o)}),null)}function ct(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"tree-node-drop-slot",[["class","empty-tree-drop-slot"]],null,null,null,c,s)),a["ɵdid"](1,49152,null,0,i.a,[],{node:[0,"node"],dropIndex:[1,"dropIndex"]},null)],(function(t,e){t(e,1,0,e.component.treeModel.virtualRoot,0)}),null)}function lt(t){return a["ɵvid"](0,[a["ɵqud"](671088640,1,{viewportComponent:0}),(t()(),a["ɵeld"](1,0,null,null,7,"tree-viewport",[],null,null,null,ot,at)),a["ɵprd"](512,null,tt.a,tt.a,[et.a]),a["ɵdid"](3,4440064,[[1,4],["viewport",4]],0,nt.a,[a.ElementRef,a.NgZone,tt.a],null,null),(t()(),a["ɵeld"](4,0,null,0,4,"div",[["class","angular-tree-component"]],[[2,"node-dragging",null],[2,"angular-tree-component-rtl",null]],null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,st)),a["ɵdid"](6,16384,null,0,l.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,ct)),a["ɵdid"](8,16384,null,0,l.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,3,0),t(e,6,0,n.treeModel.roots),t(e,8,0,n.treeModel.isEmptyTree())}),(function(t,e){var n=e.component;t(e,4,0,n.treeDraggedElement.isDragging(),n.treeModel.options.rtl)}))}},LQDL:function(t,e,n){var a,r,o=n("2oRo"),i=n("NC/Y"),s=o.process,c=s&&s.versions,l=c&&c.v8;l?r=(a=l.split("."))[0]+a[1]:i&&(!(a=i.match(/Edge\/(\d+)/))||a[1]>=74)&&(a=i.match(/Chrome\/(\d+)/))&&(r=a[1]),t.exports=r&&+r},LRne:function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var a=n("z+Ro"),r=n("yCtX"),o=n("jZKg");function i(...t){let e=t[t.length-1];return Object(a.a)(e)?(t.pop(),Object(o.a)(t,e)):Object(r.a)(t)}},LXxW:function(t,e){t.exports=function(t,e){for(var n=-1,a=null==t?0:t.length,r=0,o=[];++n<a;){var i=t[n];e(i,n,t)&&(o[r++]=i)}return o}},LceX:function(t,e,n){"use strict";n.d(e,"a",(function(){return r})),n.d(e,"b",(function(){return u})),n.d(e,"c",(function(){return o})),n.d(e,"d",(function(){return i})),n.d(e,"e",(function(){return s})),n.d(e,"f",(function(){return c})),n.d(e,"g",(function(){return l})),n.d(e,"h",(function(){return d}));var a=n("sne2");n("eTJe"),n("n/D3"),n("V3my"),n("ZEkX");class r{}const o={breadcrumbs:"Users"},i={breadcrumbs:a.a.CREATE},s={breadcrumbs:a.a.EDIT},c={breadcrumbs:"Roles"},l={breadcrumbs:a.a.CREATE},d={breadcrumbs:a.a.EDIT};class u{}},LcsW:function(t,e,n){var a=n("kekF")(Object.getPrototypeOf,Object);t.exports=a},Lhse:function(t,e,n){"use strict";function a(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}n.d(e,"a",(function(){return r}));const r=a()},Loxo:function(t,e,n){!function(t){"use strict";t.defineLocale("uz",{months:"январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр".split("_"),monthsShort:"янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек".split("_"),weekdays:"Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба".split("_"),weekdaysShort:"Якш_Душ_Сеш_Чор_Пай_Жум_Шан".split("_"),weekdaysMin:"Як_Ду_Се_Чо_Па_Жу_Ша".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Бугун соат] LT [да]",nextDay:"[Эртага] LT [да]",nextWeek:"dddd [куни соат] LT [да]",lastDay:"[Кеча соат] LT [да]",lastWeek:"[Утган] dddd [куни соат] LT [да]",sameElse:"L"},relativeTime:{future:"Якин %s ичида",past:"Бир неча %s олдин",s:"фурсат",ss:"%d фурсат",m:"бир дакика",mm:"%d дакика",h:"бир соат",hh:"%d соат",d:"бир кун",dd:"%d кун",M:"бир ой",MM:"%d ой",y:"бир йил",yy:"%d йил"},week:{dow:1,doy:7}})}(n("wd/R"))},LqlI:function(t,e,n){"use strict";n.d(e,"a",(function(){return s})),n.d(e,"b",(function(){return g})),n.d(e,"c",(function(){return u})),n.d(e,"d",(function(){return d})),n.d(e,"e",(function(){return f})),n.d(e,"f",(function(){return c}));var a=n("8Y7J"),r=n("hpHm"),o=n("z/SZ"),i=n("2uy1");class s{constructor(){this.hide=Function,this.setClass=Function}}class c{}const l={backdrop:!0,keyboard:!0,focus:!0,show:!1,ignoreBackdropClick:!1,class:"",animated:!0,initialState:{}};class d{constructor(t,e,n){this._element=e,this._renderer=n,this.isShown=!1,this.isModalHiding=!1,this.config=Object.assign({},t)}ngOnInit(){this.isAnimated&&this._renderer.addClass(this._element.nativeElement,"fade"),this._renderer.setStyle(this._element.nativeElement,"display","block"),setTimeout(()=>{this.isShown=!0,this._renderer.addClass(this._element.nativeElement,Object(r.d)()?"in":"show")},this.isAnimated?150:0),document&&document.body&&(1===this.bsModalService.getModalsCount()&&(this.bsModalService.checkScrollbar(),this.bsModalService.setScrollbar()),this._renderer.addClass(document.body,"modal-open")),this._element.nativeElement&&this._element.nativeElement.focus()}onClick(t){this.config.ignoreBackdropClick||"static"===this.config.backdrop||t.target!==this._element.nativeElement||(this.bsModalService.setDismissReason("backdrop-click"),this.hide())}onEsc(t){this.isShown&&(27!==t.keyCode&&"Escape"!==t.key||t.preventDefault(),this.config.keyboard&&this.level===this.bsModalService.getModalsCount()&&(this.bsModalService.setDismissReason("esc"),this.hide()))}ngOnDestroy(){this.isShown&&this.hide()}hide(){!this.isModalHiding&&this.isShown&&(this.isModalHiding=!0,this._renderer.removeClass(this._element.nativeElement,Object(r.d)()?"in":"show"),setTimeout(()=>{this.isShown=!1,document&&document.body&&1===this.bsModalService.getModalsCount()&&this._renderer.removeClass(document.body,"modal-open"),this.bsModalService.hide(this.level),this.isModalHiding=!1},this.isAnimated?300:0))}}class u{constructor(t,e){this._isShown=!1,this.element=t,this.renderer=e}get isAnimated(){return this._isAnimated}set isAnimated(t){this._isAnimated=t}get isShown(){return this._isShown}set isShown(t){this._isShown=t,t?this.renderer.addClass(this.element.nativeElement,"in"):this.renderer.removeClass(this.element.nativeElement,"in"),Object(r.d)()||(t?this.renderer.addClass(this.element.nativeElement,"show"):this.renderer.removeClass(this.element.nativeElement,"show"))}ngOnInit(){this.isAnimated&&(this.renderer.addClass(this.element.nativeElement,"fade"),r.b.reflow(this.element.nativeElement)),this.isShown=!0}}class g{constructor(t,e){this.clf=e,this.config=l,this.onShow=new a.EventEmitter,this.onShown=new a.EventEmitter,this.onHide=new a.EventEmitter,this.onHidden=new a.EventEmitter,this.isBodyOverflowing=!1,this.originalBodyPadding=0,this.scrollbarWidth=0,this.modalsCount=0,this.lastDismissReason="",this.loaders=[],this._backdropLoader=this.clf.createLoader(null,null,null),this._renderer=t.createRenderer(null,null)}show(t,e){return this.modalsCount++,this._createLoaders(),this.config=Object.assign({},l,e),this._showBackdrop(),this.lastDismissReason=null,this._showModal(t)}hide(t){1===this.modalsCount&&(this._hideBackdrop(),this.resetScrollbar()),this.modalsCount=this.modalsCount>=1?this.modalsCount-1:0,setTimeout(()=>{this._hideModal(t),this.removeLoaders(t)},this.config.animated?150:0)}_showBackdrop(){const t=this.config.backdrop||"static"===this.config.backdrop,e=!this.backdropRef||!this.backdropRef.instance.isShown;1===this.modalsCount&&(this.removeBackdrop(),t&&e&&(this._backdropLoader.attach(u).to("body").show({isAnimated:this.config.animated}),this.backdropRef=this._backdropLoader._componentRef))}_hideBackdrop(){this.backdropRef&&(this.backdropRef.instance.isShown=!1,setTimeout(()=>this.removeBackdrop(),this.config.animated?150:0))}_showModal(t){const e=this.loaders[this.loaders.length-1],n=new s,a=e.provide({provide:c,useValue:this.config}).provide({provide:s,useValue:n}).attach(d).to("body").show({content:t,isAnimated:this.config.animated,initialState:this.config.initialState,bsModalService:this});return a.instance.level=this.getModalsCount(),n.hide=()=>{a.instance.hide()},n.content=e.getInnerComponent()||null,n.setClass=t=>{a.instance.config.class=t},n}_hideModal(t){const e=this.loaders[t-1];e&&e.hide()}getModalsCount(){return this.modalsCount}setDismissReason(t){this.lastDismissReason=t}removeBackdrop(){this._backdropLoader.hide(),this.backdropRef=null}checkScrollbar(){this.isBodyOverflowing=document.body.clientWidth<window.innerWidth,this.scrollbarWidth=this.getScrollbarWidth()}setScrollbar(){document&&(this.originalBodyPadding=parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right")||"0",10),this.isBodyOverflowing&&(document.body.style.paddingRight=`${this.originalBodyPadding+this.scrollbarWidth}px`))}resetScrollbar(){document.body.style.paddingRight=`${this.originalBodyPadding}px`}getScrollbarWidth(){const t=this._renderer.createElement("div");this._renderer.addClass(t,"modal-scrollbar-measure"),this._renderer.appendChild(document.body,t);const e=t.offsetWidth-t.clientWidth;return this._renderer.removeChild(document.body,t),e}_createLoaders(){const t=this.clf.createLoader(null,null,null);this.copyEvent(t.onBeforeShow,this.onShow),this.copyEvent(t.onShown,this.onShown),this.copyEvent(t.onBeforeHide,this.onHide),this.copyEvent(t.onHidden,this.onHidden),this.loaders.push(t)}removeLoaders(t){this.loaders.splice(t-1,1),this.loaders.forEach((t,e)=>{t.instance.level=e+1})}copyEvent(t,e){t.subscribe(()=>{e.emit(this.lastDismissReason)})}}class f{static forRoot(){return{ngModule:f,providers:[g,o.a,i.a]}}}},LsHQ:function(t,e,n){var a=n("EA7m"),r=n("mv/X");t.exports=function(t){return a((function(e,n){var a=-1,o=n.length,i=o>1?n[o-1]:void 0,s=o>2?n[2]:void 0;for(i=t.length>3&&"function"==typeof i?(o--,i):void 0,s&&r(n[0],n[1],s)&&(i=o<3?void 0:i,o=1),e=Object(e);++a<o;){var c=n[a];c&&t(e,c,a,i)}return e}))}},LvDl:function(t,e,n){(function(t){var a;(function(){var r="Expected a function",o="__lodash_placeholder__",i=[["ary",128],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",32],["partialRight",64],["rearg",256]],s="[object Arguments]",c="[object Array]",l="[object Boolean]",d="[object Date]",u="[object Error]",g="[object Function]",f="[object GeneratorFunction]",p="[object Map]",m="[object Number]",h="[object Object]",b="[object RegExp]",_="[object Set]",y="[object String]",O="[object Symbol]",v="[object WeakMap]",C="[object ArrayBuffer]",P="[object DataView]",M="[object Float32Array]",x="[object Float64Array]",w="[object Int8Array]",T="[object Int16Array]",k="[object Int32Array]",S="[object Uint8Array]",I="[object Uint16Array]",N="[object Uint32Array]",R=/\b__p \+= '';/g,A=/\b(__p \+=) '' \+/g,E=/(__e\(.*?\)|\b__t\)) \+\n'';/g,D=/&(?:amp|lt|gt|quot|#39);/g,L=/[&<>"']/g,q=RegExp(D.source),j=RegExp(L.source),F=/<%-([\s\S]+?)%>/g,z=/<%([\s\S]+?)%>/g,V=/<%=([\s\S]+?)%>/g,G=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Y=/^\w*$/,B=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,H=/[\\^$.*+?()[\]{}|]/g,U=RegExp(H.source),W=/^\s+|\s+$/g,K=/^\s+/,$=/\s+$/,Z=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,J=/\{\n\/\* \[wrapped with (.+)\] \*/,X=/,? & /,Q=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,tt=/\\(\\)?/g,et=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,nt=/\w*$/,at=/^[-+]0x[0-9a-f]+$/i,rt=/^0b[01]+$/i,ot=/^\[object .+?Constructor\]$/,it=/^0o[0-7]+$/i,st=/^(?:0|[1-9]\d*)$/,ct=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,lt=/($^)/,dt=/['\n\r\u2028\u2029\\]/g,ut="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",gt="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",ft="["+gt+"]",pt="["+ut+"]",mt="\\d+",ht="[a-z\\xdf-\\xf6\\xf8-\\xff]",bt="[^\\ud800-\\udfff"+gt+mt+"\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",_t="\\ud83c[\\udffb-\\udfff]",yt="[^\\ud800-\\udfff]",Ot="(?:\\ud83c[\\udde6-\\uddff]){2}",vt="[\\ud800-\\udbff][\\udc00-\\udfff]",Ct="[A-Z\\xc0-\\xd6\\xd8-\\xde]",Pt="(?:"+ht+"|"+bt+")",Mt="(?:"+Ct+"|"+bt+")",xt="(?:"+pt+"|"+_t+")?",wt="[\\ufe0e\\ufe0f]?"+xt+"(?:\\u200d(?:"+[yt,Ot,vt].join("|")+")[\\ufe0e\\ufe0f]?"+xt+")*",Tt="(?:"+["[\\u2700-\\u27bf]",Ot,vt].join("|")+")"+wt,kt="(?:"+[yt+pt+"?",pt,Ot,vt,"[\\ud800-\\udfff]"].join("|")+")",St=RegExp("['’]","g"),It=RegExp(pt,"g"),Nt=RegExp(_t+"(?="+_t+")|"+kt+wt,"g"),Rt=RegExp([Ct+"?"+ht+"+(?:['’](?:d|ll|m|re|s|t|ve))?(?="+[ft,Ct,"$"].join("|")+")",Mt+"+(?:['’](?:D|LL|M|RE|S|T|VE))?(?="+[ft,Ct+Pt,"$"].join("|")+")",Ct+"?"+Pt+"+(?:['’](?:d|ll|m|re|s|t|ve))?",Ct+"+(?:['’](?:D|LL|M|RE|S|T|VE))?","\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",mt,Tt].join("|"),"g"),At=RegExp("[\\u200d\\ud800-\\udfff"+ut+"\\ufe0e\\ufe0f]"),Et=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Dt=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Lt=-1,qt={};qt[M]=qt[x]=qt[w]=qt[T]=qt[k]=qt[S]=qt["[object Uint8ClampedArray]"]=qt[I]=qt[N]=!0,qt[s]=qt[c]=qt[C]=qt[l]=qt[P]=qt[d]=qt[u]=qt[g]=qt[p]=qt[m]=qt[h]=qt[b]=qt[_]=qt[y]=qt[v]=!1;var jt={};jt[s]=jt[c]=jt[C]=jt[P]=jt[l]=jt[d]=jt[M]=jt[x]=jt[w]=jt[T]=jt[k]=jt[p]=jt[m]=jt[h]=jt[b]=jt[_]=jt[y]=jt[O]=jt[S]=jt["[object Uint8ClampedArray]"]=jt[I]=jt[N]=!0,jt[u]=jt[g]=jt[v]=!1;var Ft={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},zt=parseFloat,Vt=parseInt,Gt="object"==typeof global&&global&&global.Object===Object&&global,Yt="object"==typeof self&&self&&self.Object===Object&&self,Bt=Gt||Yt||Function("return this")(),Ht=e&&!e.nodeType&&e,Ut=Ht&&"object"==typeof t&&t&&!t.nodeType&&t,Wt=Ut&&Ut.exports===Ht,Kt=Wt&&Gt.process,$t=function(){try{return Ut&&Ut.require&&Ut.require("util").types||Kt&&Kt.binding&&Kt.binding("util")}catch(t){}}(),Zt=$t&&$t.isArrayBuffer,Jt=$t&&$t.isDate,Xt=$t&&$t.isMap,Qt=$t&&$t.isRegExp,te=$t&&$t.isSet,ee=$t&&$t.isTypedArray;function ne(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function ae(t,e,n,a){for(var r=-1,o=null==t?0:t.length;++r<o;){var i=t[r];e(a,i,n(i),t)}return a}function re(t,e){for(var n=-1,a=null==t?0:t.length;++n<a&&!1!==e(t[n],n,t););return t}function oe(t,e){for(var n=null==t?0:t.length;n--&&!1!==e(t[n],n,t););return t}function ie(t,e){for(var n=-1,a=null==t?0:t.length;++n<a;)if(!e(t[n],n,t))return!1;return!0}function se(t,e){for(var n=-1,a=null==t?0:t.length,r=0,o=[];++n<a;){var i=t[n];e(i,n,t)&&(o[r++]=i)}return o}function ce(t,e){return!(null==t||!t.length)&&_e(t,e,0)>-1}function le(t,e,n){for(var a=-1,r=null==t?0:t.length;++a<r;)if(n(e,t[a]))return!0;return!1}function de(t,e){for(var n=-1,a=null==t?0:t.length,r=Array(a);++n<a;)r[n]=e(t[n],n,t);return r}function ue(t,e){for(var n=-1,a=e.length,r=t.length;++n<a;)t[r+n]=e[n];return t}function ge(t,e,n,a){var r=-1,o=null==t?0:t.length;for(a&&o&&(n=t[++r]);++r<o;)n=e(n,t[r],r,t);return n}function fe(t,e,n,a){var r=null==t?0:t.length;for(a&&r&&(n=t[--r]);r--;)n=e(n,t[r],r,t);return n}function pe(t,e){for(var n=-1,a=null==t?0:t.length;++n<a;)if(e(t[n],n,t))return!0;return!1}var me=Ce("length");function he(t,e,n){var a;return n(t,(function(t,n,r){if(e(t,n,r))return a=n,!1})),a}function be(t,e,n,a){for(var r=t.length,o=n+(a?1:-1);a?o--:++o<r;)if(e(t[o],o,t))return o;return-1}function _e(t,e,n){return e==e?function(t,e,n){for(var a=n-1,r=t.length;++a<r;)if(t[a]===e)return a;return-1}(t,e,n):be(t,Oe,n)}function ye(t,e,n,a){for(var r=n-1,o=t.length;++r<o;)if(a(t[r],e))return r;return-1}function Oe(t){return t!=t}function ve(t,e){var n=null==t?0:t.length;return n?xe(t,e)/n:NaN}function Ce(t){return function(e){return null==e?void 0:e[t]}}function Pe(t){return function(e){return null==t?void 0:t[e]}}function Me(t,e,n,a,r){return r(t,(function(t,r,o){n=a?(a=!1,t):e(n,t,r,o)})),n}function xe(t,e){for(var n,a=-1,r=t.length;++a<r;){var o=e(t[a]);void 0!==o&&(n=void 0===n?o:n+o)}return n}function we(t,e){for(var n=-1,a=Array(t);++n<t;)a[n]=e(n);return a}function Te(t){return function(e){return t(e)}}function ke(t,e){return de(e,(function(e){return t[e]}))}function Se(t,e){return t.has(e)}function Ie(t,e){for(var n=-1,a=t.length;++n<a&&_e(e,t[n],0)>-1;);return n}function Ne(t,e){for(var n=t.length;n--&&_e(e,t[n],0)>-1;);return n}function Re(t,e){for(var n=t.length,a=0;n--;)t[n]===e&&++a;return a}var Ae=Pe({"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"}),Ee=Pe({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"});function De(t){return"\\"+Ft[t]}function Le(t){return At.test(t)}function qe(t){var e=-1,n=Array(t.size);return t.forEach((function(t,a){n[++e]=[a,t]})),n}function je(t,e){return function(n){return t(e(n))}}function Fe(t,e){for(var n=-1,a=t.length,r=0,i=[];++n<a;){var s=t[n];s!==e&&s!==o||(t[n]=o,i[r++]=n)}return i}function ze(t){var e=-1,n=Array(t.size);return t.forEach((function(t){n[++e]=t})),n}function Ve(t){var e=-1,n=Array(t.size);return t.forEach((function(t){n[++e]=[t,t]})),n}function Ge(t){return Le(t)?function(t){for(var e=Nt.lastIndex=0;Nt.test(t);)++e;return e}(t):me(t)}function Ye(t){return Le(t)?function(t){return t.match(Nt)||[]}(t):function(t){return t.split("")}(t)}var Be=Pe({"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"}),He=function t(e){var n,a=(e=null==e?Bt:He.defaults(Bt.Object(),e,He.pick(Bt,Dt))).Array,ut=e.Date,gt=e.Error,ft=e.Function,pt=e.Math,mt=e.Object,ht=e.RegExp,bt=e.String,_t=e.TypeError,yt=a.prototype,Ot=mt.prototype,vt=e["__core-js_shared__"],Ct=ft.prototype.toString,Pt=Ot.hasOwnProperty,Mt=0,xt=(n=/[^.]+$/.exec(vt&&vt.keys&&vt.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",wt=Ot.toString,Tt=Ct.call(mt),kt=Bt._,Nt=ht("^"+Ct.call(Pt).replace(H,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),At=Wt?e.Buffer:void 0,Ft=e.Symbol,Gt=e.Uint8Array,Yt=At?At.allocUnsafe:void 0,Ht=je(mt.getPrototypeOf,mt),Ut=mt.create,Kt=Ot.propertyIsEnumerable,$t=yt.splice,me=Ft?Ft.isConcatSpreadable:void 0,Pe=Ft?Ft.iterator:void 0,Ue=Ft?Ft.toStringTag:void 0,We=function(){try{var t=Jr(mt,"defineProperty");return t({},"",{}),t}catch(e){}}(),Ke=e.clearTimeout!==Bt.clearTimeout&&e.clearTimeout,$e=ut&&ut.now!==Bt.Date.now&&ut.now,Ze=e.setTimeout!==Bt.setTimeout&&e.setTimeout,Je=pt.ceil,Xe=pt.floor,Qe=mt.getOwnPropertySymbols,tn=At?At.isBuffer:void 0,en=e.isFinite,nn=yt.join,an=je(mt.keys,mt),rn=pt.max,on=pt.min,sn=ut.now,cn=e.parseInt,ln=pt.random,dn=yt.reverse,un=Jr(e,"DataView"),gn=Jr(e,"Map"),fn=Jr(e,"Promise"),pn=Jr(e,"Set"),mn=Jr(e,"WeakMap"),hn=Jr(mt,"create"),bn=mn&&new mn,_n={},yn=To(un),On=To(gn),vn=To(fn),Cn=To(pn),Pn=To(mn),Mn=Ft?Ft.prototype:void 0,xn=Mn?Mn.valueOf:void 0,wn=Mn?Mn.toString:void 0;function Tn(t){if(Bi(t)&&!Ai(t)&&!(t instanceof Nn)){if(t instanceof In)return t;if(Pt.call(t,"__wrapped__"))return ko(t)}return new In(t)}var kn=function(){function t(){}return function(e){if(!Yi(e))return{};if(Ut)return Ut(e);t.prototype=e;var n=new t;return t.prototype=void 0,n}}();function Sn(){}function In(t,e){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!e,this.__index__=0,this.__values__=void 0}function Nn(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=4294967295,this.__views__=[]}function Rn(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var a=t[e];this.set(a[0],a[1])}}function An(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var a=t[e];this.set(a[0],a[1])}}function En(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var a=t[e];this.set(a[0],a[1])}}function Dn(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new En;++e<n;)this.add(t[e])}function Ln(t){var e=this.__data__=new An(t);this.size=e.size}function qn(t,e){var n=Ai(t),a=!n&&Ri(t),r=!n&&!a&&qi(t),o=!n&&!a&&!r&&Xi(t),i=n||a||r||o,s=i?we(t.length,bt):[],c=s.length;for(var l in t)!e&&!Pt.call(t,l)||i&&("length"==l||r&&("offset"==l||"parent"==l)||o&&("buffer"==l||"byteLength"==l||"byteOffset"==l)||ro(l,c))||s.push(l);return s}function jn(t){var e=t.length;return e?t[Ea(0,e-1)]:void 0}function Fn(t,e){return Co(mr(t),Kn(e,0,t.length))}function zn(t){return Co(mr(t))}function Vn(t,e,n){(void 0===n||Si(t[e],n))&&(void 0!==n||e in t)||Un(t,e,n)}function Gn(t,e,n){var a=t[e];Pt.call(t,e)&&Si(a,n)&&(void 0!==n||e in t)||Un(t,e,n)}function Yn(t,e){for(var n=t.length;n--;)if(Si(t[n][0],e))return n;return-1}function Bn(t,e,n,a){return Qn(t,(function(t,r,o){e(a,t,n(t),o)})),a}function Hn(t,e){return t&&hr(e,Os(e),t)}function Un(t,e,n){"__proto__"==e&&We?We(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}function Wn(t,e){for(var n=-1,r=e.length,o=a(r),i=null==t;++n<r;)o[n]=i?void 0:ms(t,e[n]);return o}function Kn(t,e,n){return t==t&&(void 0!==n&&(t=t<=n?t:n),void 0!==e&&(t=t>=e?t:e)),t}function $n(t,e,n,a,r,o){var i,c=1&e,u=2&e,v=4&e;if(n&&(i=r?n(t,a,r,o):n(t)),void 0!==i)return i;if(!Yi(t))return t;var R=Ai(t);if(R){if(i=function(t){var e=t.length,n=new t.constructor(e);return e&&"string"==typeof t[0]&&Pt.call(t,"index")&&(n.index=t.index,n.input=t.input),n}(t),!c)return mr(t,i)}else{var A=to(t),E=A==g||A==f;if(qi(t))return lr(t,c);if(A==h||A==s||E&&!r){if(i=u||E?{}:no(t),!c)return u?function(t,e){return hr(t,Qr(t),e)}(t,function(t,e){return t&&hr(e,vs(e),t)}(i,t)):function(t,e){return hr(t,Xr(t),e)}(t,Hn(i,t))}else{if(!jt[A])return r?t:{};i=function(t,e,n){var a=t.constructor;switch(e){case C:return dr(t);case l:case d:return new a(+t);case P:return function(t,e){var n=e?dr(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}(t,n);case M:case x:case w:case T:case k:case S:case"[object Uint8ClampedArray]":case I:case N:return ur(t,n);case p:return new a;case m:case y:return new a(t);case b:return function(t){var e=new t.constructor(t.source,nt.exec(t));return e.lastIndex=t.lastIndex,e}(t);case _:return new a;case O:return xn?mt(xn.call(t)):{}}}(t,A,c)}}o||(o=new Ln);var D=o.get(t);if(D)return D;o.set(t,i),$i(t)?t.forEach((function(a){i.add($n(a,e,n,a,t,o))})):Hi(t)&&t.forEach((function(a,r){i.set(r,$n(a,e,n,r,t,o))}));var L=R?void 0:(v?u?Br:Yr:u?vs:Os)(t);return re(L||t,(function(a,r){L&&(a=t[r=a]),Gn(i,r,$n(a,e,n,r,t,o))})),i}function Zn(t,e,n){var a=n.length;if(null==t)return!a;for(t=mt(t);a--;){var r=n[a],o=t[r];if(void 0===o&&!(r in t)||!(0,e[r])(o))return!1}return!0}function Jn(t,e,n){if("function"!=typeof t)throw new _t(r);return _o((function(){t.apply(void 0,n)}),e)}function Xn(t,e,n,a){var r=-1,o=ce,i=!0,s=t.length,c=[],l=e.length;if(!s)return c;n&&(e=de(e,Te(n))),a?(o=le,i=!1):e.length>=200&&(o=Se,i=!1,e=new Dn(e));t:for(;++r<s;){var d=t[r],u=null==n?d:n(d);if(d=a||0!==d?d:0,i&&u==u){for(var g=l;g--;)if(e[g]===u)continue t;c.push(d)}else o(e,u,a)||c.push(d)}return c}Tn.templateSettings={escape:F,evaluate:z,interpolate:V,variable:"",imports:{_:Tn}},(Tn.prototype=Sn.prototype).constructor=Tn,(In.prototype=kn(Sn.prototype)).constructor=In,(Nn.prototype=kn(Sn.prototype)).constructor=Nn,Rn.prototype.clear=function(){this.__data__=hn?hn(null):{},this.size=0},Rn.prototype.delete=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},Rn.prototype.get=function(t){var e=this.__data__;if(hn){var n=e[t];return"__lodash_hash_undefined__"===n?void 0:n}return Pt.call(e,t)?e[t]:void 0},Rn.prototype.has=function(t){var e=this.__data__;return hn?void 0!==e[t]:Pt.call(e,t)},Rn.prototype.set=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=hn&&void 0===e?"__lodash_hash_undefined__":e,this},An.prototype.clear=function(){this.__data__=[],this.size=0},An.prototype.delete=function(t){var e=this.__data__,n=Yn(e,t);return!(n<0||(n==e.length-1?e.pop():$t.call(e,n,1),--this.size,0))},An.prototype.get=function(t){var e=this.__data__,n=Yn(e,t);return n<0?void 0:e[n][1]},An.prototype.has=function(t){return Yn(this.__data__,t)>-1},An.prototype.set=function(t,e){var n=this.__data__,a=Yn(n,t);return a<0?(++this.size,n.push([t,e])):n[a][1]=e,this},En.prototype.clear=function(){this.size=0,this.__data__={hash:new Rn,map:new(gn||An),string:new Rn}},En.prototype.delete=function(t){var e=$r(this,t).delete(t);return this.size-=e?1:0,e},En.prototype.get=function(t){return $r(this,t).get(t)},En.prototype.has=function(t){return $r(this,t).has(t)},En.prototype.set=function(t,e){var n=$r(this,t),a=n.size;return n.set(t,e),this.size+=n.size==a?0:1,this},Dn.prototype.add=Dn.prototype.push=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},Dn.prototype.has=function(t){return this.__data__.has(t)},Ln.prototype.clear=function(){this.__data__=new An,this.size=0},Ln.prototype.delete=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n},Ln.prototype.get=function(t){return this.__data__.get(t)},Ln.prototype.has=function(t){return this.__data__.has(t)},Ln.prototype.set=function(t,e){var n=this.__data__;if(n instanceof An){var a=n.__data__;if(!gn||a.length<199)return a.push([t,e]),this.size=++n.size,this;n=this.__data__=new En(a)}return n.set(t,e),this.size=n.size,this};var Qn=yr(sa),ta=yr(ca,!0);function ea(t,e){var n=!0;return Qn(t,(function(t,a,r){return n=!!e(t,a,r)})),n}function na(t,e,n){for(var a=-1,r=t.length;++a<r;){var o=t[a],i=e(o);if(null!=i&&(void 0===s?i==i&&!Ji(i):n(i,s)))var s=i,c=o}return c}function aa(t,e){var n=[];return Qn(t,(function(t,a,r){e(t,a,r)&&n.push(t)})),n}function ra(t,e,n,a,r){var o=-1,i=t.length;for(n||(n=ao),r||(r=[]);++o<i;){var s=t[o];e>0&&n(s)?e>1?ra(s,e-1,n,a,r):ue(r,s):a||(r[r.length]=s)}return r}var oa=Or(),ia=Or(!0);function sa(t,e){return t&&oa(t,e,Os)}function ca(t,e){return t&&ia(t,e,Os)}function la(t,e){return se(e,(function(e){return zi(t[e])}))}function da(t,e){for(var n=0,a=(e=or(e,t)).length;null!=t&&n<a;)t=t[wo(e[n++])];return n&&n==a?t:void 0}function ua(t,e,n){var a=e(t);return Ai(t)?a:ue(a,n(t))}function ga(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":Ue&&Ue in mt(t)?function(t){var e=Pt.call(t,Ue),n=t[Ue];try{t[Ue]=void 0;var a=!0}catch(o){}var r=wt.call(t);return a&&(e?t[Ue]=n:delete t[Ue]),r}(t):function(t){return wt.call(t)}(t)}function fa(t,e){return t>e}function pa(t,e){return null!=t&&Pt.call(t,e)}function ma(t,e){return null!=t&&e in mt(t)}function ha(t,e,n){for(var r=n?le:ce,o=t[0].length,i=t.length,s=i,c=a(i),l=1/0,d=[];s--;){var u=t[s];s&&e&&(u=de(u,Te(e))),l=on(u.length,l),c[s]=!n&&(e||o>=120&&u.length>=120)?new Dn(s&&u):void 0}u=t[0];var g=-1,f=c[0];t:for(;++g<o&&d.length<l;){var p=u[g],m=e?e(p):p;if(p=n||0!==p?p:0,!(f?Se(f,m):r(d,m,n))){for(s=i;--s;){var h=c[s];if(!(h?Se(h,m):r(t[s],m,n)))continue t}f&&f.push(m),d.push(p)}}return d}function ba(t,e,n){var a=null==(t=po(t,e=or(e,t)))?t:t[wo(Fo(e))];return null==a?void 0:ne(a,t,n)}function _a(t){return Bi(t)&&ga(t)==s}function ya(t,e,n,a,r){return t===e||(null==t||null==e||!Bi(t)&&!Bi(e)?t!=t&&e!=e:function(t,e,n,a,r,o){var i=Ai(t),g=Ai(e),f=i?c:to(t),v=g?c:to(e),M=(f=f==s?h:f)==h,x=(v=v==s?h:v)==h,w=f==v;if(w&&qi(t)){if(!qi(e))return!1;i=!0,M=!1}if(w&&!M)return o||(o=new Ln),i||Xi(t)?Vr(t,e,n,a,r,o):function(t,e,n,a,r,o,i){switch(n){case P:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case C:return!(t.byteLength!=e.byteLength||!o(new Gt(t),new Gt(e)));case l:case d:case m:return Si(+t,+e);case u:return t.name==e.name&&t.message==e.message;case b:case y:return t==e+"";case p:var s=qe;case _:if(s||(s=ze),t.size!=e.size&&!(1&a))return!1;var c=i.get(t);if(c)return c==e;a|=2,i.set(t,e);var g=Vr(s(t),s(e),a,r,o,i);return i.delete(t),g;case O:if(xn)return xn.call(t)==xn.call(e)}return!1}(t,e,f,n,a,r,o);if(!(1&n)){var T=M&&Pt.call(t,"__wrapped__"),k=x&&Pt.call(e,"__wrapped__");if(T||k){var S=T?t.value():t,I=k?e.value():e;return o||(o=new Ln),r(S,I,n,a,o)}}return!!w&&(o||(o=new Ln),function(t,e,n,a,r,o){var i=1&n,s=Yr(t),c=s.length;if(c!=Yr(e).length&&!i)return!1;for(var l=c;l--;){var d=s[l];if(!(i?d in e:Pt.call(e,d)))return!1}var u=o.get(t);if(u&&o.get(e))return u==e;var g=!0;o.set(t,e),o.set(e,t);for(var f=i;++l<c;){var p=t[d=s[l]],m=e[d];if(a)var h=i?a(m,p,d,e,t,o):a(p,m,d,t,e,o);if(!(void 0===h?p===m||r(p,m,n,a,o):h)){g=!1;break}f||(f="constructor"==d)}if(g&&!f){var b=t.constructor,_=e.constructor;b!=_&&"constructor"in t&&"constructor"in e&&!("function"==typeof b&&b instanceof b&&"function"==typeof _&&_ instanceof _)&&(g=!1)}return o.delete(t),o.delete(e),g}(t,e,n,a,r,o))}(t,e,n,a,ya,r))}function Oa(t,e,n,a){var r=n.length,o=r,i=!a;if(null==t)return!o;for(t=mt(t);r--;){var s=n[r];if(i&&s[2]?s[1]!==t[s[0]]:!(s[0]in t))return!1}for(;++r<o;){var c=(s=n[r])[0],l=t[c],d=s[1];if(i&&s[2]){if(void 0===l&&!(c in t))return!1}else{var u=new Ln;if(a)var g=a(l,d,c,t,e,u);if(!(void 0===g?ya(d,l,3,a,u):g))return!1}}return!0}function va(t){return!(!Yi(t)||(e=t,xt&&xt in e))&&(zi(t)?Nt:ot).test(To(t));var e}function Ca(t){return"function"==typeof t?t:null==t?Us:"object"==typeof t?Ai(t)?Ta(t[0],t[1]):wa(t):ec(t)}function Pa(t){if(!lo(t))return an(t);var e=[];for(var n in mt(t))Pt.call(t,n)&&"constructor"!=n&&e.push(n);return e}function Ma(t,e){return t<e}function xa(t,e){var n=-1,r=Di(t)?a(t.length):[];return Qn(t,(function(t,a,o){r[++n]=e(t,a,o)})),r}function wa(t){var e=Zr(t);return 1==e.length&&e[0][2]?go(e[0][0],e[0][1]):function(n){return n===t||Oa(n,t,e)}}function Ta(t,e){return io(t)&&uo(e)?go(wo(t),e):function(n){var a=ms(n,t);return void 0===a&&a===e?hs(n,t):ya(e,a,3)}}function ka(t,e,n,a,r){t!==e&&oa(e,(function(o,i){if(r||(r=new Ln),Yi(o))!function(t,e,n,a,r,o,i){var s=ho(t,n),c=ho(e,n),l=i.get(c);if(l)Vn(t,n,l);else{var d=o?o(s,c,n+"",t,e,i):void 0,u=void 0===d;if(u){var g=Ai(c),f=!g&&qi(c),p=!g&&!f&&Xi(c);d=c,g||f||p?Ai(s)?d=s:Li(s)?d=mr(s):f?(u=!1,d=lr(c,!0)):p?(u=!1,d=ur(c,!0)):d=[]:Wi(c)||Ri(c)?(d=s,Ri(s)?d=is(s):Yi(s)&&!zi(s)||(d=no(c))):u=!1}u&&(i.set(c,d),r(d,c,a,o,i),i.delete(c)),Vn(t,n,d)}}(t,e,i,n,ka,a,r);else{var s=a?a(ho(t,i),o,i+"",t,e,r):void 0;void 0===s&&(s=o),Vn(t,i,s)}}),vs)}function Sa(t,e){var n=t.length;if(n)return ro(e+=e<0?n:0,n)?t[e]:void 0}function Ia(t,e,n){var a=-1;return e=de(e.length?e:[Us],Te(Kr())),function(t,e){var a=t.length;for(t.sort((function(t,e){return function(t,e,n){for(var a=-1,r=t.criteria,o=e.criteria,i=r.length,s=n.length;++a<i;){var c=gr(r[a],o[a]);if(c)return a>=s?c:c*("desc"==n[a]?-1:1)}return t.index-e.index}(t,e,n)}));a--;)t[a]=t[a].value;return t}(xa(t,(function(t,n,r){return{criteria:de(e,(function(e){return e(t)})),index:++a,value:t}})))}function Na(t,e,n){for(var a=-1,r=e.length,o={};++a<r;){var i=e[a],s=da(t,i);n(s,i)&&Fa(o,or(i,t),s)}return o}function Ra(t,e,n,a){var r=a?ye:_e,o=-1,i=e.length,s=t;for(t===e&&(e=mr(e)),n&&(s=de(t,Te(n)));++o<i;)for(var c=0,l=e[o],d=n?n(l):l;(c=r(s,d,c,a))>-1;)s!==t&&$t.call(s,c,1),$t.call(t,c,1);return t}function Aa(t,e){for(var n=t?e.length:0,a=n-1;n--;){var r=e[n];if(n==a||r!==o){var o=r;ro(r)?$t.call(t,r,1):Ja(t,r)}}return t}function Ea(t,e){return t+Xe(ln()*(e-t+1))}function Da(t,e){var n="";if(!t||e<1||e>9007199254740991)return n;do{e%2&&(n+=t),(e=Xe(e/2))&&(t+=t)}while(e);return n}function La(t,e){return yo(fo(t,e,Us),t+"")}function qa(t){return jn(Ss(t))}function ja(t,e){var n=Ss(t);return Co(n,Kn(e,0,n.length))}function Fa(t,e,n,a){if(!Yi(t))return t;for(var r=-1,o=(e=or(e,t)).length,i=o-1,s=t;null!=s&&++r<o;){var c=wo(e[r]),l=n;if(r!=i){var d=s[c];void 0===(l=a?a(d,c,s):void 0)&&(l=Yi(d)?d:ro(e[r+1])?[]:{})}Gn(s,c,l),s=s[c]}return t}var za=bn?function(t,e){return bn.set(t,e),t}:Us,Va=We?function(t,e){return We(t,"toString",{configurable:!0,enumerable:!1,value:Ys(e),writable:!0})}:Us;function Ga(t){return Co(Ss(t))}function Ya(t,e,n){var r=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(n=n>o?o:n)<0&&(n+=o),o=e>n?0:n-e>>>0,e>>>=0;for(var i=a(o);++r<o;)i[r]=t[r+e];return i}function Ba(t,e){var n;return Qn(t,(function(t,a,r){return!(n=e(t,a,r))})),!!n}function Ha(t,e,n){var a=0,r=null==t?a:t.length;if("number"==typeof e&&e==e&&r<=2147483647){for(;a<r;){var o=a+r>>>1,i=t[o];null!==i&&!Ji(i)&&(n?i<=e:i<e)?a=o+1:r=o}return r}return Ua(t,e,Us,n)}function Ua(t,e,n,a){e=n(e);for(var r=0,o=null==t?0:t.length,i=e!=e,s=null===e,c=Ji(e),l=void 0===e;r<o;){var d=Xe((r+o)/2),u=n(t[d]),g=void 0!==u,f=null===u,p=u==u,m=Ji(u);if(i)var h=a||p;else h=l?p&&(a||g):s?p&&g&&(a||!f):c?p&&g&&!f&&(a||!m):!f&&!m&&(a?u<=e:u<e);h?r=d+1:o=d}return on(o,4294967294)}function Wa(t,e){for(var n=-1,a=t.length,r=0,o=[];++n<a;){var i=t[n],s=e?e(i):i;if(!n||!Si(s,c)){var c=s;o[r++]=0===i?0:i}}return o}function Ka(t){return"number"==typeof t?t:Ji(t)?NaN:+t}function $a(t){if("string"==typeof t)return t;if(Ai(t))return de(t,$a)+"";if(Ji(t))return wn?wn.call(t):"";var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}function Za(t,e,n){var a=-1,r=ce,o=t.length,i=!0,s=[],c=s;if(n)i=!1,r=le;else if(o>=200){var l=e?null:Dr(t);if(l)return ze(l);i=!1,r=Se,c=new Dn}else c=e?[]:s;t:for(;++a<o;){var d=t[a],u=e?e(d):d;if(d=n||0!==d?d:0,i&&u==u){for(var g=c.length;g--;)if(c[g]===u)continue t;e&&c.push(u),s.push(d)}else r(c,u,n)||(c!==s&&c.push(u),s.push(d))}return s}function Ja(t,e){return null==(t=po(t,e=or(e,t)))||delete t[wo(Fo(e))]}function Xa(t,e,n,a){return Fa(t,e,n(da(t,e)),a)}function Qa(t,e,n,a){for(var r=t.length,o=a?r:-1;(a?o--:++o<r)&&e(t[o],o,t););return n?Ya(t,a?0:o,a?o+1:r):Ya(t,a?o+1:0,a?r:o)}function tr(t,e){var n=t;return n instanceof Nn&&(n=n.value()),ge(e,(function(t,e){return e.func.apply(e.thisArg,ue([t],e.args))}),n)}function er(t,e,n){var r=t.length;if(r<2)return r?Za(t[0]):[];for(var o=-1,i=a(r);++o<r;)for(var s=t[o],c=-1;++c<r;)c!=o&&(i[o]=Xn(i[o]||s,t[c],e,n));return Za(ra(i,1),e,n)}function nr(t,e,n){for(var a=-1,r=t.length,o=e.length,i={};++a<r;)n(i,t[a],a<o?e[a]:void 0);return i}function ar(t){return Li(t)?t:[]}function rr(t){return"function"==typeof t?t:Us}function or(t,e){return Ai(t)?t:io(t,e)?[t]:xo(ss(t))}var ir=La;function sr(t,e,n){var a=t.length;return n=void 0===n?a:n,!e&&n>=a?t:Ya(t,e,n)}var cr=Ke||function(t){return Bt.clearTimeout(t)};function lr(t,e){if(e)return t.slice();var n=t.length,a=Yt?Yt(n):new t.constructor(n);return t.copy(a),a}function dr(t){var e=new t.constructor(t.byteLength);return new Gt(e).set(new Gt(t)),e}function ur(t,e){var n=e?dr(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}function gr(t,e){if(t!==e){var n=void 0!==t,a=null===t,r=t==t,o=Ji(t),i=void 0!==e,s=null===e,c=e==e,l=Ji(e);if(!s&&!l&&!o&&t>e||o&&i&&c&&!s&&!l||a&&i&&c||!n&&c||!r)return 1;if(!a&&!o&&!l&&t<e||l&&n&&r&&!a&&!o||s&&n&&r||!i&&r||!c)return-1}return 0}function fr(t,e,n,r){for(var o=-1,i=t.length,s=n.length,c=-1,l=e.length,d=rn(i-s,0),u=a(l+d),g=!r;++c<l;)u[c]=e[c];for(;++o<s;)(g||o<i)&&(u[n[o]]=t[o]);for(;d--;)u[c++]=t[o++];return u}function pr(t,e,n,r){for(var o=-1,i=t.length,s=-1,c=n.length,l=-1,d=e.length,u=rn(i-c,0),g=a(u+d),f=!r;++o<u;)g[o]=t[o];for(var p=o;++l<d;)g[p+l]=e[l];for(;++s<c;)(f||o<i)&&(g[p+n[s]]=t[o++]);return g}function mr(t,e){var n=-1,r=t.length;for(e||(e=a(r));++n<r;)e[n]=t[n];return e}function hr(t,e,n,a){var r=!n;n||(n={});for(var o=-1,i=e.length;++o<i;){var s=e[o],c=a?a(n[s],t[s],s,n,t):void 0;void 0===c&&(c=t[s]),r?Un(n,s,c):Gn(n,s,c)}return n}function br(t,e){return function(n,a){var r=Ai(n)?ae:Bn,o=e?e():{};return r(n,t,Kr(a,2),o)}}function _r(t){return La((function(e,n){var a=-1,r=n.length,o=r>1?n[r-1]:void 0,i=r>2?n[2]:void 0;for(o=t.length>3&&"function"==typeof o?(r--,o):void 0,i&&oo(n[0],n[1],i)&&(o=r<3?void 0:o,r=1),e=mt(e);++a<r;){var s=n[a];s&&t(e,s,a,o)}return e}))}function yr(t,e){return function(n,a){if(null==n)return n;if(!Di(n))return t(n,a);for(var r=n.length,o=e?r:-1,i=mt(n);(e?o--:++o<r)&&!1!==a(i[o],o,i););return n}}function Or(t){return function(e,n,a){for(var r=-1,o=mt(e),i=a(e),s=i.length;s--;){var c=i[t?s:++r];if(!1===n(o[c],c,o))break}return e}}function vr(t){return function(e){var n=Le(e=ss(e))?Ye(e):void 0,a=n?n[0]:e.charAt(0),r=n?sr(n,1).join(""):e.slice(1);return a[t]()+r}}function Cr(t){return function(e){return ge(zs(Rs(e).replace(St,"")),t,"")}}function Pr(t){return function(){var e=arguments;switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3]);case 5:return new t(e[0],e[1],e[2],e[3],e[4]);case 6:return new t(e[0],e[1],e[2],e[3],e[4],e[5]);case 7:return new t(e[0],e[1],e[2],e[3],e[4],e[5],e[6])}var n=kn(t.prototype),a=t.apply(n,e);return Yi(a)?a:n}}function Mr(t){return function(e,n,a){var r=mt(e);if(!Di(e)){var o=Kr(n,3);e=Os(e),n=function(t){return o(r[t],t,r)}}var i=t(e,n,a);return i>-1?r[o?e[i]:i]:void 0}}function xr(t){return Gr((function(e){var n=e.length,a=n,o=In.prototype.thru;for(t&&e.reverse();a--;){var i=e[a];if("function"!=typeof i)throw new _t(r);if(o&&!s&&"wrapper"==Ur(i))var s=new In([],!0)}for(a=s?a:n;++a<n;){var c=Ur(i=e[a]),l="wrapper"==c?Hr(i):void 0;s=l&&so(l[0])&&424==l[1]&&!l[4].length&&1==l[9]?s[Ur(l[0])].apply(s,l[3]):1==i.length&&so(i)?s[c]():s.thru(i)}return function(){var t=arguments,a=t[0];if(s&&1==t.length&&Ai(a))return s.plant(a).value();for(var r=0,o=n?e[r].apply(this,t):a;++r<n;)o=e[r].call(this,o);return o}}))}function wr(t,e,n,r,o,i,s,c,l,d){var u=128&e,g=1&e,f=2&e,p=24&e,m=512&e,h=f?void 0:Pr(t);return function b(){for(var _=arguments.length,y=a(_),O=_;O--;)y[O]=arguments[O];if(p)var v=Wr(b),C=Re(y,v);if(r&&(y=fr(y,r,o,p)),i&&(y=pr(y,i,s,p)),_-=C,p&&_<d){var P=Fe(y,v);return Ar(t,e,wr,b.placeholder,n,y,P,c,l,d-_)}var M=g?n:this,x=f?M[t]:t;return _=y.length,c?y=mo(y,c):m&&_>1&&y.reverse(),u&&l<_&&(y.length=l),this&&this!==Bt&&this instanceof b&&(x=h||Pr(x)),x.apply(M,y)}}function Tr(t,e){return function(n,a){return function(t,e,n,a){return sa(t,(function(t,r,o){e(a,n(t),r,o)})),a}(n,t,e(a),{})}}function kr(t,e){return function(n,a){var r;if(void 0===n&&void 0===a)return e;if(void 0!==n&&(r=n),void 0!==a){if(void 0===r)return a;"string"==typeof n||"string"==typeof a?(n=$a(n),a=$a(a)):(n=Ka(n),a=Ka(a)),r=t(n,a)}return r}}function Sr(t){return Gr((function(e){return e=de(e,Te(Kr())),La((function(n){var a=this;return t(e,(function(t){return ne(t,a,n)}))}))}))}function Ir(t,e){var n=(e=void 0===e?" ":$a(e)).length;if(n<2)return n?Da(e,t):e;var a=Da(e,Je(t/Ge(e)));return Le(e)?sr(Ye(a),0,t).join(""):a.slice(0,t)}function Nr(t){return function(e,n,r){return r&&"number"!=typeof r&&oo(e,n,r)&&(n=r=void 0),e=ns(e),void 0===n?(n=e,e=0):n=ns(n),function(t,e,n,r){for(var o=-1,i=rn(Je((e-t)/(n||1)),0),s=a(i);i--;)s[r?i:++o]=t,t+=n;return s}(e,n,r=void 0===r?e<n?1:-1:ns(r),t)}}function Rr(t){return function(e,n){return"string"==typeof e&&"string"==typeof n||(e=os(e),n=os(n)),t(e,n)}}function Ar(t,e,n,a,r,o,i,s,c,l){var d=8&e;e|=d?32:64,4&(e&=~(d?64:32))||(e&=-4);var u=[t,e,r,d?o:void 0,d?i:void 0,d?void 0:o,d?void 0:i,s,c,l],g=n.apply(void 0,u);return so(t)&&bo(g,u),g.placeholder=a,Oo(g,t,e)}function Er(t){var e=pt[t];return function(t,n){if(t=os(t),(n=null==n?0:on(as(n),292))&&en(t)){var a=(ss(t)+"e").split("e");return+((a=(ss(e(a[0]+"e"+(+a[1]+n)))+"e").split("e"))[0]+"e"+(+a[1]-n))}return e(t)}}var Dr=pn&&1/ze(new pn([,-0]))[1]==1/0?function(t){return new pn(t)}:Js;function Lr(t){return function(e){var n=to(e);return n==p?qe(e):n==_?Ve(e):function(t,e){return de(e,(function(e){return[e,t[e]]}))}(e,t(e))}}function qr(t,e,n,i,s,c,l,d){var u=2&e;if(!u&&"function"!=typeof t)throw new _t(r);var g=i?i.length:0;if(g||(e&=-97,i=s=void 0),l=void 0===l?l:rn(as(l),0),d=void 0===d?d:as(d),g-=s?s.length:0,64&e){var f=i,p=s;i=s=void 0}var m=u?void 0:Hr(t),h=[t,e,n,i,s,f,p,c,l,d];if(m&&function(t,e){var n=t[1],a=e[1],r=n|a;if(!(r<131||128==a&&8==n||128==a&&256==n&&t[7].length<=e[8]||384==a&&e[7].length<=e[8]&&8==n))return t;1&a&&(t[2]=e[2],r|=1&n?0:4);var i=e[3];if(i){var s=t[3];t[3]=s?fr(s,i,e[4]):i,t[4]=s?Fe(t[3],o):e[4]}(i=e[5])&&(t[5]=(s=t[5])?pr(s,i,e[6]):i,t[6]=s?Fe(t[5],o):e[6]),(i=e[7])&&(t[7]=i),128&a&&(t[8]=null==t[8]?e[8]:on(t[8],e[8])),null==t[9]&&(t[9]=e[9]),t[0]=e[0],t[1]=r}(h,m),t=h[0],e=h[1],n=h[2],i=h[3],s=h[4],!(d=h[9]=void 0===h[9]?u?0:t.length:rn(h[9]-g,0))&&24&e&&(e&=-25),e&&1!=e)b=8==e||16==e?function(t,e,n){var r=Pr(t);return function o(){for(var i=arguments.length,s=a(i),c=i,l=Wr(o);c--;)s[c]=arguments[c];var d=i<3&&s[0]!==l&&s[i-1]!==l?[]:Fe(s,l);if((i-=d.length)<n)return Ar(t,e,wr,o.placeholder,void 0,s,d,void 0,void 0,n-i);var u=this&&this!==Bt&&this instanceof o?r:t;return ne(u,this,s)}}(t,e,d):32!=e&&33!=e||s.length?wr.apply(void 0,h):function(t,e,n,r){var o=1&e,i=Pr(t);return function e(){for(var s=-1,c=arguments.length,l=-1,d=r.length,u=a(d+c),g=this&&this!==Bt&&this instanceof e?i:t;++l<d;)u[l]=r[l];for(;c--;)u[l++]=arguments[++s];return ne(g,o?n:this,u)}}(t,e,n,i);else var b=function(t,e,n){var a=1&e,r=Pr(t);return function e(){var o=this&&this!==Bt&&this instanceof e?r:t;return o.apply(a?n:this,arguments)}}(t,e,n);return Oo((m?za:bo)(b,h),t,e)}function jr(t,e,n,a){return void 0===t||Si(t,Ot[n])&&!Pt.call(a,n)?e:t}function Fr(t,e,n,a,r,o){return Yi(t)&&Yi(e)&&(o.set(e,t),ka(t,e,void 0,Fr,o),o.delete(e)),t}function zr(t){return Wi(t)?void 0:t}function Vr(t,e,n,a,r,o){var i=1&n,s=t.length,c=e.length;if(s!=c&&!(i&&c>s))return!1;var l=o.get(t);if(l&&o.get(e))return l==e;var d=-1,u=!0,g=2&n?new Dn:void 0;for(o.set(t,e),o.set(e,t);++d<s;){var f=t[d],p=e[d];if(a)var m=i?a(p,f,d,e,t,o):a(f,p,d,t,e,o);if(void 0!==m){if(m)continue;u=!1;break}if(g){if(!pe(e,(function(t,e){if(!Se(g,e)&&(f===t||r(f,t,n,a,o)))return g.push(e)}))){u=!1;break}}else if(f!==p&&!r(f,p,n,a,o)){u=!1;break}}return o.delete(t),o.delete(e),u}function Gr(t){return yo(fo(t,void 0,Eo),t+"")}function Yr(t){return ua(t,Os,Xr)}function Br(t){return ua(t,vs,Qr)}var Hr=bn?function(t){return bn.get(t)}:Js;function Ur(t){for(var e=t.name+"",n=_n[e],a=Pt.call(_n,e)?n.length:0;a--;){var r=n[a],o=r.func;if(null==o||o==t)return r.name}return e}function Wr(t){return(Pt.call(Tn,"placeholder")?Tn:t).placeholder}function Kr(){var t=Tn.iteratee||Ws;return t=t===Ws?Ca:t,arguments.length?t(arguments[0],arguments[1]):t}function $r(t,e){var n,a,r=t.__data__;return("string"==(a=typeof(n=e))||"number"==a||"symbol"==a||"boolean"==a?"__proto__"!==n:null===n)?r["string"==typeof e?"string":"hash"]:r.map}function Zr(t){for(var e=Os(t),n=e.length;n--;){var a=e[n],r=t[a];e[n]=[a,r,uo(r)]}return e}function Jr(t,e){var n=function(t,e){return null==t?void 0:t[e]}(t,e);return va(n)?n:void 0}var Xr=Qe?function(t){return null==t?[]:(t=mt(t),se(Qe(t),(function(e){return Kt.call(t,e)})))}:rc,Qr=Qe?function(t){for(var e=[];t;)ue(e,Xr(t)),t=Ht(t);return e}:rc,to=ga;function eo(t,e,n){for(var a=-1,r=(e=or(e,t)).length,o=!1;++a<r;){var i=wo(e[a]);if(!(o=null!=t&&n(t,i)))break;t=t[i]}return o||++a!=r?o:!!(r=null==t?0:t.length)&&Gi(r)&&ro(i,r)&&(Ai(t)||Ri(t))}function no(t){return"function"!=typeof t.constructor||lo(t)?{}:kn(Ht(t))}function ao(t){return Ai(t)||Ri(t)||!!(me&&t&&t[me])}function ro(t,e){var n=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==n||"symbol"!=n&&st.test(t))&&t>-1&&t%1==0&&t<e}function oo(t,e,n){if(!Yi(n))return!1;var a=typeof e;return!!("number"==a?Di(n)&&ro(e,n.length):"string"==a&&e in n)&&Si(n[e],t)}function io(t,e){if(Ai(t))return!1;var n=typeof t;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=t&&!Ji(t))||Y.test(t)||!G.test(t)||null!=e&&t in mt(e)}function so(t){var e=Ur(t),n=Tn[e];if("function"!=typeof n||!(e in Nn.prototype))return!1;if(t===n)return!0;var a=Hr(n);return!!a&&t===a[0]}(un&&to(new un(new ArrayBuffer(1)))!=P||gn&&to(new gn)!=p||fn&&"[object Promise]"!=to(fn.resolve())||pn&&to(new pn)!=_||mn&&to(new mn)!=v)&&(to=function(t){var e=ga(t),n=e==h?t.constructor:void 0,a=n?To(n):"";if(a)switch(a){case yn:return P;case On:return p;case vn:return"[object Promise]";case Cn:return _;case Pn:return v}return e});var co=vt?zi:oc;function lo(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||Ot)}function uo(t){return t==t&&!Yi(t)}function go(t,e){return function(n){return null!=n&&n[t]===e&&(void 0!==e||t in mt(n))}}function fo(t,e,n){return e=rn(void 0===e?t.length-1:e,0),function(){for(var r=arguments,o=-1,i=rn(r.length-e,0),s=a(i);++o<i;)s[o]=r[e+o];o=-1;for(var c=a(e+1);++o<e;)c[o]=r[o];return c[e]=n(s),ne(t,this,c)}}function po(t,e){return e.length<2?t:da(t,Ya(e,0,-1))}function mo(t,e){for(var n=t.length,a=on(e.length,n),r=mr(t);a--;){var o=e[a];t[a]=ro(o,n)?r[o]:void 0}return t}function ho(t,e){if(("constructor"!==e||"function"!=typeof t[e])&&"__proto__"!=e)return t[e]}var bo=vo(za),_o=Ze||function(t,e){return Bt.setTimeout(t,e)},yo=vo(Va);function Oo(t,e,n){var a=e+"";return yo(t,function(t,e){var n=e.length;if(!n)return t;var a=n-1;return e[a]=(n>1?"& ":"")+e[a],e=e.join(n>2?", ":" "),t.replace(Z,"{\n/* [wrapped with "+e+"] */\n")}(a,function(t,e){return re(i,(function(n){var a="_."+n[0];e&n[1]&&!ce(t,a)&&t.push(a)})),t.sort()}(function(t){var e=t.match(J);return e?e[1].split(X):[]}(a),n)))}function vo(t){var e=0,n=0;return function(){var a=sn(),r=16-(a-n);if(n=a,r>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}function Co(t,e){var n=-1,a=t.length,r=a-1;for(e=void 0===e?a:e;++n<e;){var o=Ea(n,r),i=t[o];t[o]=t[n],t[n]=i}return t.length=e,t}var Po,Mo,xo=(Po=Pi((function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(B,(function(t,n,a,r){e.push(a?r.replace(tt,"$1"):n||t)})),e}),(function(t){return 500===Mo.size&&Mo.clear(),t})),Mo=Po.cache,Po);function wo(t){if("string"==typeof t||Ji(t))return t;var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}function To(t){if(null!=t){try{return Ct.call(t)}catch(e){}try{return t+""}catch(e){}}return""}function ko(t){if(t instanceof Nn)return t.clone();var e=new In(t.__wrapped__,t.__chain__);return e.__actions__=mr(t.__actions__),e.__index__=t.__index__,e.__values__=t.__values__,e}var So=La((function(t,e){return Li(t)?Xn(t,ra(e,1,Li,!0)):[]})),Io=La((function(t,e){var n=Fo(e);return Li(n)&&(n=void 0),Li(t)?Xn(t,ra(e,1,Li,!0),Kr(n,2)):[]})),No=La((function(t,e){var n=Fo(e);return Li(n)&&(n=void 0),Li(t)?Xn(t,ra(e,1,Li,!0),void 0,n):[]}));function Ro(t,e,n){var a=null==t?0:t.length;if(!a)return-1;var r=null==n?0:as(n);return r<0&&(r=rn(a+r,0)),be(t,Kr(e,3),r)}function Ao(t,e,n){var a=null==t?0:t.length;if(!a)return-1;var r=a-1;return void 0!==n&&(r=as(n),r=n<0?rn(a+r,0):on(r,a-1)),be(t,Kr(e,3),r,!0)}function Eo(t){return null!=t&&t.length?ra(t,1):[]}function Do(t){return t&&t.length?t[0]:void 0}var Lo=La((function(t){var e=de(t,ar);return e.length&&e[0]===t[0]?ha(e):[]})),qo=La((function(t){var e=Fo(t),n=de(t,ar);return e===Fo(n)?e=void 0:n.pop(),n.length&&n[0]===t[0]?ha(n,Kr(e,2)):[]})),jo=La((function(t){var e=Fo(t),n=de(t,ar);return(e="function"==typeof e?e:void 0)&&n.pop(),n.length&&n[0]===t[0]?ha(n,void 0,e):[]}));function Fo(t){var e=null==t?0:t.length;return e?t[e-1]:void 0}var zo=La(Vo);function Vo(t,e){return t&&t.length&&e&&e.length?Ra(t,e):t}var Go=Gr((function(t,e){var n=null==t?0:t.length,a=Wn(t,e);return Aa(t,de(e,(function(t){return ro(t,n)?+t:t})).sort(gr)),a}));function Yo(t){return null==t?t:dn.call(t)}var Bo=La((function(t){return Za(ra(t,1,Li,!0))})),Ho=La((function(t){var e=Fo(t);return Li(e)&&(e=void 0),Za(ra(t,1,Li,!0),Kr(e,2))})),Uo=La((function(t){var e=Fo(t);return e="function"==typeof e?e:void 0,Za(ra(t,1,Li,!0),void 0,e)}));function Wo(t){if(!t||!t.length)return[];var e=0;return t=se(t,(function(t){if(Li(t))return e=rn(t.length,e),!0})),we(e,(function(e){return de(t,Ce(e))}))}function Ko(t,e){if(!t||!t.length)return[];var n=Wo(t);return null==e?n:de(n,(function(t){return ne(e,void 0,t)}))}var $o=La((function(t,e){return Li(t)?Xn(t,e):[]})),Zo=La((function(t){return er(se(t,Li))})),Jo=La((function(t){var e=Fo(t);return Li(e)&&(e=void 0),er(se(t,Li),Kr(e,2))})),Xo=La((function(t){var e=Fo(t);return e="function"==typeof e?e:void 0,er(se(t,Li),void 0,e)})),Qo=La(Wo),ti=La((function(t){var e=t.length,n=e>1?t[e-1]:void 0;return n="function"==typeof n?(t.pop(),n):void 0,Ko(t,n)}));function ei(t){var e=Tn(t);return e.__chain__=!0,e}function ni(t,e){return e(t)}var ai=Gr((function(t){var e=t.length,n=e?t[0]:0,a=this.__wrapped__,r=function(e){return Wn(e,t)};return!(e>1||this.__actions__.length)&&a instanceof Nn&&ro(n)?((a=a.slice(n,+n+(e?1:0))).__actions__.push({func:ni,args:[r],thisArg:void 0}),new In(a,this.__chain__).thru((function(t){return e&&!t.length&&t.push(void 0),t}))):this.thru(r)})),ri=br((function(t,e,n){Pt.call(t,n)?++t[n]:Un(t,n,1)})),oi=Mr(Ro),ii=Mr(Ao);function si(t,e){return(Ai(t)?re:Qn)(t,Kr(e,3))}function ci(t,e){return(Ai(t)?oe:ta)(t,Kr(e,3))}var li=br((function(t,e,n){Pt.call(t,n)?t[n].push(e):Un(t,n,[e])})),di=La((function(t,e,n){var r=-1,o="function"==typeof e,i=Di(t)?a(t.length):[];return Qn(t,(function(t){i[++r]=o?ne(e,t,n):ba(t,e,n)})),i})),ui=br((function(t,e,n){Un(t,n,e)}));function gi(t,e){return(Ai(t)?de:xa)(t,Kr(e,3))}var fi=br((function(t,e,n){t[n?0:1].push(e)}),(function(){return[[],[]]})),pi=La((function(t,e){if(null==t)return[];var n=e.length;return n>1&&oo(t,e[0],e[1])?e=[]:n>2&&oo(e[0],e[1],e[2])&&(e=[e[0]]),Ia(t,ra(e,1),[])})),mi=$e||function(){return Bt.Date.now()};function hi(t,e,n){return e=n?void 0:e,qr(t,128,void 0,void 0,void 0,void 0,e=t&&null==e?t.length:e)}function bi(t,e){var n;if("function"!=typeof e)throw new _t(r);return t=as(t),function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=void 0),n}}var _i=La((function(t,e,n){var a=1;if(n.length){var r=Fe(n,Wr(_i));a|=32}return qr(t,a,e,n,r)})),yi=La((function(t,e,n){var a=3;if(n.length){var r=Fe(n,Wr(yi));a|=32}return qr(e,a,t,n,r)}));function Oi(t,e,n){var a,o,i,s,c,l,d=0,u=!1,g=!1,f=!0;if("function"!=typeof t)throw new _t(r);function p(e){var n=a,r=o;return a=o=void 0,d=e,s=t.apply(r,n)}function m(t){return d=t,c=_o(b,e),u?p(t):s}function h(t){var n=t-l;return void 0===l||n>=e||n<0||g&&t-d>=i}function b(){var t=mi();if(h(t))return _(t);c=_o(b,function(t){var n=e-(t-l);return g?on(n,i-(t-d)):n}(t))}function _(t){return c=void 0,f&&a?p(t):(a=o=void 0,s)}function y(){var t=mi(),n=h(t);if(a=arguments,o=this,l=t,n){if(void 0===c)return m(l);if(g)return cr(c),c=_o(b,e),p(l)}return void 0===c&&(c=_o(b,e)),s}return e=os(e)||0,Yi(n)&&(u=!!n.leading,i=(g="maxWait"in n)?rn(os(n.maxWait)||0,e):i,f="trailing"in n?!!n.trailing:f),y.cancel=function(){void 0!==c&&cr(c),d=0,a=l=o=c=void 0},y.flush=function(){return void 0===c?s:_(mi())},y}var vi=La((function(t,e){return Jn(t,1,e)})),Ci=La((function(t,e,n){return Jn(t,os(e)||0,n)}));function Pi(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new _t(r);var n=function(){var a=arguments,r=e?e.apply(this,a):a[0],o=n.cache;if(o.has(r))return o.get(r);var i=t.apply(this,a);return n.cache=o.set(r,i)||o,i};return n.cache=new(Pi.Cache||En),n}function Mi(t){if("function"!=typeof t)throw new _t(r);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}Pi.Cache=En;var xi=ir((function(t,e){var n=(e=1==e.length&&Ai(e[0])?de(e[0],Te(Kr())):de(ra(e,1),Te(Kr()))).length;return La((function(a){for(var r=-1,o=on(a.length,n);++r<o;)a[r]=e[r].call(this,a[r]);return ne(t,this,a)}))})),wi=La((function(t,e){return qr(t,32,void 0,e,Fe(e,Wr(wi)))})),Ti=La((function(t,e){return qr(t,64,void 0,e,Fe(e,Wr(Ti)))})),ki=Gr((function(t,e){return qr(t,256,void 0,void 0,void 0,e)}));function Si(t,e){return t===e||t!=t&&e!=e}var Ii=Rr(fa),Ni=Rr((function(t,e){return t>=e})),Ri=_a(function(){return arguments}())?_a:function(t){return Bi(t)&&Pt.call(t,"callee")&&!Kt.call(t,"callee")},Ai=a.isArray,Ei=Zt?Te(Zt):function(t){return Bi(t)&&ga(t)==C};function Di(t){return null!=t&&Gi(t.length)&&!zi(t)}function Li(t){return Bi(t)&&Di(t)}var qi=tn||oc,ji=Jt?Te(Jt):function(t){return Bi(t)&&ga(t)==d};function Fi(t){if(!Bi(t))return!1;var e=ga(t);return e==u||"[object DOMException]"==e||"string"==typeof t.message&&"string"==typeof t.name&&!Wi(t)}function zi(t){if(!Yi(t))return!1;var e=ga(t);return e==g||e==f||"[object AsyncFunction]"==e||"[object Proxy]"==e}function Vi(t){return"number"==typeof t&&t==as(t)}function Gi(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}function Yi(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function Bi(t){return null!=t&&"object"==typeof t}var Hi=Xt?Te(Xt):function(t){return Bi(t)&&to(t)==p};function Ui(t){return"number"==typeof t||Bi(t)&&ga(t)==m}function Wi(t){if(!Bi(t)||ga(t)!=h)return!1;var e=Ht(t);if(null===e)return!0;var n=Pt.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&Ct.call(n)==Tt}var Ki=Qt?Te(Qt):function(t){return Bi(t)&&ga(t)==b},$i=te?Te(te):function(t){return Bi(t)&&to(t)==_};function Zi(t){return"string"==typeof t||!Ai(t)&&Bi(t)&&ga(t)==y}function Ji(t){return"symbol"==typeof t||Bi(t)&&ga(t)==O}var Xi=ee?Te(ee):function(t){return Bi(t)&&Gi(t.length)&&!!qt[ga(t)]},Qi=Rr(Ma),ts=Rr((function(t,e){return t<=e}));function es(t){if(!t)return[];if(Di(t))return Zi(t)?Ye(t):mr(t);if(Pe&&t[Pe])return function(t){for(var e,n=[];!(e=t.next()).done;)n.push(e.value);return n}(t[Pe]());var e=to(t);return(e==p?qe:e==_?ze:Ss)(t)}function ns(t){return t?(t=os(t))===1/0||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}function as(t){var e=ns(t),n=e%1;return e==e?n?e-n:e:0}function rs(t){return t?Kn(as(t),0,4294967295):0}function os(t){if("number"==typeof t)return t;if(Ji(t))return NaN;if(Yi(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=Yi(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(W,"");var n=rt.test(t);return n||it.test(t)?Vt(t.slice(2),n?2:8):at.test(t)?NaN:+t}function is(t){return hr(t,vs(t))}function ss(t){return null==t?"":$a(t)}var cs=_r((function(t,e){if(lo(e)||Di(e))hr(e,Os(e),t);else for(var n in e)Pt.call(e,n)&&Gn(t,n,e[n])})),ls=_r((function(t,e){hr(e,vs(e),t)})),ds=_r((function(t,e,n,a){hr(e,vs(e),t,a)})),us=_r((function(t,e,n,a){hr(e,Os(e),t,a)})),gs=Gr(Wn),fs=La((function(t,e){t=mt(t);var n=-1,a=e.length,r=a>2?e[2]:void 0;for(r&&oo(e[0],e[1],r)&&(a=1);++n<a;)for(var o=e[n],i=vs(o),s=-1,c=i.length;++s<c;){var l=i[s],d=t[l];(void 0===d||Si(d,Ot[l])&&!Pt.call(t,l))&&(t[l]=o[l])}return t})),ps=La((function(t){return t.push(void 0,Fr),ne(Ps,void 0,t)}));function ms(t,e,n){var a=null==t?void 0:da(t,e);return void 0===a?n:a}function hs(t,e){return null!=t&&eo(t,e,ma)}var bs=Tr((function(t,e,n){null!=e&&"function"!=typeof e.toString&&(e=wt.call(e)),t[e]=n}),Ys(Us)),_s=Tr((function(t,e,n){null!=e&&"function"!=typeof e.toString&&(e=wt.call(e)),Pt.call(t,e)?t[e].push(n):t[e]=[n]}),Kr),ys=La(ba);function Os(t){return Di(t)?qn(t):Pa(t)}function vs(t){return Di(t)?qn(t,!0):function(t){if(!Yi(t))return function(t){var e=[];if(null!=t)for(var n in mt(t))e.push(n);return e}(t);var e=lo(t),n=[];for(var a in t)("constructor"!=a||!e&&Pt.call(t,a))&&n.push(a);return n}(t)}var Cs=_r((function(t,e,n){ka(t,e,n)})),Ps=_r((function(t,e,n,a){ka(t,e,n,a)})),Ms=Gr((function(t,e){var n={};if(null==t)return n;var a=!1;e=de(e,(function(e){return e=or(e,t),a||(a=e.length>1),e})),hr(t,Br(t),n),a&&(n=$n(n,7,zr));for(var r=e.length;r--;)Ja(n,e[r]);return n})),xs=Gr((function(t,e){return null==t?{}:function(t,e){return Na(t,e,(function(e,n){return hs(t,n)}))}(t,e)}));function ws(t,e){if(null==t)return{};var n=de(Br(t),(function(t){return[t]}));return e=Kr(e),Na(t,n,(function(t,n){return e(t,n[0])}))}var Ts=Lr(Os),ks=Lr(vs);function Ss(t){return null==t?[]:ke(t,Os(t))}var Is=Cr((function(t,e,n){return e=e.toLowerCase(),t+(n?Ns(e):e)}));function Ns(t){return Fs(ss(t).toLowerCase())}function Rs(t){return(t=ss(t))&&t.replace(ct,Ae).replace(It,"")}var As=Cr((function(t,e,n){return t+(n?"-":"")+e.toLowerCase()})),Es=Cr((function(t,e,n){return t+(n?" ":"")+e.toLowerCase()})),Ds=vr("toLowerCase"),Ls=Cr((function(t,e,n){return t+(n?"_":"")+e.toLowerCase()})),qs=Cr((function(t,e,n){return t+(n?" ":"")+Fs(e)})),js=Cr((function(t,e,n){return t+(n?" ":"")+e.toUpperCase()})),Fs=vr("toUpperCase");function zs(t,e,n){return t=ss(t),void 0===(e=n?void 0:e)?function(t){return Et.test(t)}(t)?function(t){return t.match(Rt)||[]}(t):function(t){return t.match(Q)||[]}(t):t.match(e)||[]}var Vs=La((function(t,e){try{return ne(t,void 0,e)}catch(n){return Fi(n)?n:new gt(n)}})),Gs=Gr((function(t,e){return re(e,(function(e){e=wo(e),Un(t,e,_i(t[e],t))})),t}));function Ys(t){return function(){return t}}var Bs=xr(),Hs=xr(!0);function Us(t){return t}function Ws(t){return Ca("function"==typeof t?t:$n(t,1))}var Ks=La((function(t,e){return function(n){return ba(n,t,e)}})),$s=La((function(t,e){return function(n){return ba(t,n,e)}}));function Zs(t,e,n){var a=Os(e),r=la(e,a);null!=n||Yi(e)&&(r.length||!a.length)||(n=e,e=t,t=this,r=la(e,Os(e)));var o=!(Yi(n)&&"chain"in n&&!n.chain),i=zi(t);return re(r,(function(n){var a=e[n];t[n]=a,i&&(t.prototype[n]=function(){var e=this.__chain__;if(o||e){var n=t(this.__wrapped__),r=n.__actions__=mr(this.__actions__);return r.push({func:a,args:arguments,thisArg:t}),n.__chain__=e,n}return a.apply(t,ue([this.value()],arguments))})})),t}function Js(){}var Xs=Sr(de),Qs=Sr(ie),tc=Sr(pe);function ec(t){return io(t)?Ce(wo(t)):function(t){return function(e){return da(e,t)}}(t)}var nc=Nr(),ac=Nr(!0);function rc(){return[]}function oc(){return!1}var ic,sc=kr((function(t,e){return t+e}),0),cc=Er("ceil"),lc=kr((function(t,e){return t/e}),1),dc=Er("floor"),uc=kr((function(t,e){return t*e}),1),gc=Er("round"),fc=kr((function(t,e){return t-e}),0);return Tn.after=function(t,e){if("function"!=typeof e)throw new _t(r);return t=as(t),function(){if(--t<1)return e.apply(this,arguments)}},Tn.ary=hi,Tn.assign=cs,Tn.assignIn=ls,Tn.assignInWith=ds,Tn.assignWith=us,Tn.at=gs,Tn.before=bi,Tn.bind=_i,Tn.bindAll=Gs,Tn.bindKey=yi,Tn.castArray=function(){if(!arguments.length)return[];var t=arguments[0];return Ai(t)?t:[t]},Tn.chain=ei,Tn.chunk=function(t,e,n){e=(n?oo(t,e,n):void 0===e)?1:rn(as(e),0);var r=null==t?0:t.length;if(!r||e<1)return[];for(var o=0,i=0,s=a(Je(r/e));o<r;)s[i++]=Ya(t,o,o+=e);return s},Tn.compact=function(t){for(var e=-1,n=null==t?0:t.length,a=0,r=[];++e<n;){var o=t[e];o&&(r[a++]=o)}return r},Tn.concat=function(){var t=arguments.length;if(!t)return[];for(var e=a(t-1),n=arguments[0],r=t;r--;)e[r-1]=arguments[r];return ue(Ai(n)?mr(n):[n],ra(e,1))},Tn.cond=function(t){var e=null==t?0:t.length,n=Kr();return t=e?de(t,(function(t){if("function"!=typeof t[1])throw new _t(r);return[n(t[0]),t[1]]})):[],La((function(n){for(var a=-1;++a<e;){var r=t[a];if(ne(r[0],this,n))return ne(r[1],this,n)}}))},Tn.conforms=function(t){return function(t){var e=Os(t);return function(n){return Zn(n,t,e)}}($n(t,1))},Tn.constant=Ys,Tn.countBy=ri,Tn.create=function(t,e){var n=kn(t);return null==e?n:Hn(n,e)},Tn.curry=function t(e,n,a){var r=qr(e,8,void 0,void 0,void 0,void 0,void 0,n=a?void 0:n);return r.placeholder=t.placeholder,r},Tn.curryRight=function t(e,n,a){var r=qr(e,16,void 0,void 0,void 0,void 0,void 0,n=a?void 0:n);return r.placeholder=t.placeholder,r},Tn.debounce=Oi,Tn.defaults=fs,Tn.defaultsDeep=ps,Tn.defer=vi,Tn.delay=Ci,Tn.difference=So,Tn.differenceBy=Io,Tn.differenceWith=No,Tn.drop=function(t,e,n){var a=null==t?0:t.length;return a?Ya(t,(e=n||void 0===e?1:as(e))<0?0:e,a):[]},Tn.dropRight=function(t,e,n){var a=null==t?0:t.length;return a?Ya(t,0,(e=a-(e=n||void 0===e?1:as(e)))<0?0:e):[]},Tn.dropRightWhile=function(t,e){return t&&t.length?Qa(t,Kr(e,3),!0,!0):[]},Tn.dropWhile=function(t,e){return t&&t.length?Qa(t,Kr(e,3),!0):[]},Tn.fill=function(t,e,n,a){var r=null==t?0:t.length;return r?(n&&"number"!=typeof n&&oo(t,e,n)&&(n=0,a=r),function(t,e,n,a){var r=t.length;for((n=as(n))<0&&(n=-n>r?0:r+n),(a=void 0===a||a>r?r:as(a))<0&&(a+=r),a=n>a?0:rs(a);n<a;)t[n++]=e;return t}(t,e,n,a)):[]},Tn.filter=function(t,e){return(Ai(t)?se:aa)(t,Kr(e,3))},Tn.flatMap=function(t,e){return ra(gi(t,e),1)},Tn.flatMapDeep=function(t,e){return ra(gi(t,e),1/0)},Tn.flatMapDepth=function(t,e,n){return n=void 0===n?1:as(n),ra(gi(t,e),n)},Tn.flatten=Eo,Tn.flattenDeep=function(t){return null!=t&&t.length?ra(t,1/0):[]},Tn.flattenDepth=function(t,e){return null!=t&&t.length?ra(t,e=void 0===e?1:as(e)):[]},Tn.flip=function(t){return qr(t,512)},Tn.flow=Bs,Tn.flowRight=Hs,Tn.fromPairs=function(t){for(var e=-1,n=null==t?0:t.length,a={};++e<n;){var r=t[e];a[r[0]]=r[1]}return a},Tn.functions=function(t){return null==t?[]:la(t,Os(t))},Tn.functionsIn=function(t){return null==t?[]:la(t,vs(t))},Tn.groupBy=li,Tn.initial=function(t){return null!=t&&t.length?Ya(t,0,-1):[]},Tn.intersection=Lo,Tn.intersectionBy=qo,Tn.intersectionWith=jo,Tn.invert=bs,Tn.invertBy=_s,Tn.invokeMap=di,Tn.iteratee=Ws,Tn.keyBy=ui,Tn.keys=Os,Tn.keysIn=vs,Tn.map=gi,Tn.mapKeys=function(t,e){var n={};return e=Kr(e,3),sa(t,(function(t,a,r){Un(n,e(t,a,r),t)})),n},Tn.mapValues=function(t,e){var n={};return e=Kr(e,3),sa(t,(function(t,a,r){Un(n,a,e(t,a,r))})),n},Tn.matches=function(t){return wa($n(t,1))},Tn.matchesProperty=function(t,e){return Ta(t,$n(e,1))},Tn.memoize=Pi,Tn.merge=Cs,Tn.mergeWith=Ps,Tn.method=Ks,Tn.methodOf=$s,Tn.mixin=Zs,Tn.negate=Mi,Tn.nthArg=function(t){return t=as(t),La((function(e){return Sa(e,t)}))},Tn.omit=Ms,Tn.omitBy=function(t,e){return ws(t,Mi(Kr(e)))},Tn.once=function(t){return bi(2,t)},Tn.orderBy=function(t,e,n,a){return null==t?[]:(Ai(e)||(e=null==e?[]:[e]),Ai(n=a?void 0:n)||(n=null==n?[]:[n]),Ia(t,e,n))},Tn.over=Xs,Tn.overArgs=xi,Tn.overEvery=Qs,Tn.overSome=tc,Tn.partial=wi,Tn.partialRight=Ti,Tn.partition=fi,Tn.pick=xs,Tn.pickBy=ws,Tn.property=ec,Tn.propertyOf=function(t){return function(e){return null==t?void 0:da(t,e)}},Tn.pull=zo,Tn.pullAll=Vo,Tn.pullAllBy=function(t,e,n){return t&&t.length&&e&&e.length?Ra(t,e,Kr(n,2)):t},Tn.pullAllWith=function(t,e,n){return t&&t.length&&e&&e.length?Ra(t,e,void 0,n):t},Tn.pullAt=Go,Tn.range=nc,Tn.rangeRight=ac,Tn.rearg=ki,Tn.reject=function(t,e){return(Ai(t)?se:aa)(t,Mi(Kr(e,3)))},Tn.remove=function(t,e){var n=[];if(!t||!t.length)return n;var a=-1,r=[],o=t.length;for(e=Kr(e,3);++a<o;){var i=t[a];e(i,a,t)&&(n.push(i),r.push(a))}return Aa(t,r),n},Tn.rest=function(t,e){if("function"!=typeof t)throw new _t(r);return La(t,e=void 0===e?e:as(e))},Tn.reverse=Yo,Tn.sampleSize=function(t,e,n){return e=(n?oo(t,e,n):void 0===e)?1:as(e),(Ai(t)?Fn:ja)(t,e)},Tn.set=function(t,e,n){return null==t?t:Fa(t,e,n)},Tn.setWith=function(t,e,n,a){return a="function"==typeof a?a:void 0,null==t?t:Fa(t,e,n,a)},Tn.shuffle=function(t){return(Ai(t)?zn:Ga)(t)},Tn.slice=function(t,e,n){var a=null==t?0:t.length;return a?(n&&"number"!=typeof n&&oo(t,e,n)?(e=0,n=a):(e=null==e?0:as(e),n=void 0===n?a:as(n)),Ya(t,e,n)):[]},Tn.sortBy=pi,Tn.sortedUniq=function(t){return t&&t.length?Wa(t):[]},Tn.sortedUniqBy=function(t,e){return t&&t.length?Wa(t,Kr(e,2)):[]},Tn.split=function(t,e,n){return n&&"number"!=typeof n&&oo(t,e,n)&&(e=n=void 0),(n=void 0===n?4294967295:n>>>0)?(t=ss(t))&&("string"==typeof e||null!=e&&!Ki(e))&&!(e=$a(e))&&Le(t)?sr(Ye(t),0,n):t.split(e,n):[]},Tn.spread=function(t,e){if("function"!=typeof t)throw new _t(r);return e=null==e?0:rn(as(e),0),La((function(n){var a=n[e],r=sr(n,0,e);return a&&ue(r,a),ne(t,this,r)}))},Tn.tail=function(t){var e=null==t?0:t.length;return e?Ya(t,1,e):[]},Tn.take=function(t,e,n){return t&&t.length?Ya(t,0,(e=n||void 0===e?1:as(e))<0?0:e):[]},Tn.takeRight=function(t,e,n){var a=null==t?0:t.length;return a?Ya(t,(e=a-(e=n||void 0===e?1:as(e)))<0?0:e,a):[]},Tn.takeRightWhile=function(t,e){return t&&t.length?Qa(t,Kr(e,3),!1,!0):[]},Tn.takeWhile=function(t,e){return t&&t.length?Qa(t,Kr(e,3)):[]},Tn.tap=function(t,e){return e(t),t},Tn.throttle=function(t,e,n){var a=!0,o=!0;if("function"!=typeof t)throw new _t(r);return Yi(n)&&(a="leading"in n?!!n.leading:a,o="trailing"in n?!!n.trailing:o),Oi(t,e,{leading:a,maxWait:e,trailing:o})},Tn.thru=ni,Tn.toArray=es,Tn.toPairs=Ts,Tn.toPairsIn=ks,Tn.toPath=function(t){return Ai(t)?de(t,wo):Ji(t)?[t]:mr(xo(ss(t)))},Tn.toPlainObject=is,Tn.transform=function(t,e,n){var a=Ai(t),r=a||qi(t)||Xi(t);if(e=Kr(e,4),null==n){var o=t&&t.constructor;n=r?a?new o:[]:Yi(t)&&zi(o)?kn(Ht(t)):{}}return(r?re:sa)(t,(function(t,a,r){return e(n,t,a,r)})),n},Tn.unary=function(t){return hi(t,1)},Tn.union=Bo,Tn.unionBy=Ho,Tn.unionWith=Uo,Tn.uniq=function(t){return t&&t.length?Za(t):[]},Tn.uniqBy=function(t,e){return t&&t.length?Za(t,Kr(e,2)):[]},Tn.uniqWith=function(t,e){return e="function"==typeof e?e:void 0,t&&t.length?Za(t,void 0,e):[]},Tn.unset=function(t,e){return null==t||Ja(t,e)},Tn.unzip=Wo,Tn.unzipWith=Ko,Tn.update=function(t,e,n){return null==t?t:Xa(t,e,rr(n))},Tn.updateWith=function(t,e,n,a){return a="function"==typeof a?a:void 0,null==t?t:Xa(t,e,rr(n),a)},Tn.values=Ss,Tn.valuesIn=function(t){return null==t?[]:ke(t,vs(t))},Tn.without=$o,Tn.words=zs,Tn.wrap=function(t,e){return wi(rr(e),t)},Tn.xor=Zo,Tn.xorBy=Jo,Tn.xorWith=Xo,Tn.zip=Qo,Tn.zipObject=function(t,e){return nr(t||[],e||[],Gn)},Tn.zipObjectDeep=function(t,e){return nr(t||[],e||[],Fa)},Tn.zipWith=ti,Tn.entries=Ts,Tn.entriesIn=ks,Tn.extend=ls,Tn.extendWith=ds,Zs(Tn,Tn),Tn.add=sc,Tn.attempt=Vs,Tn.camelCase=Is,Tn.capitalize=Ns,Tn.ceil=cc,Tn.clamp=function(t,e,n){return void 0===n&&(n=e,e=void 0),void 0!==n&&(n=(n=os(n))==n?n:0),void 0!==e&&(e=(e=os(e))==e?e:0),Kn(os(t),e,n)},Tn.clone=function(t){return $n(t,4)},Tn.cloneDeep=function(t){return $n(t,5)},Tn.cloneDeepWith=function(t,e){return $n(t,5,e="function"==typeof e?e:void 0)},Tn.cloneWith=function(t,e){return $n(t,4,e="function"==typeof e?e:void 0)},Tn.conformsTo=function(t,e){return null==e||Zn(t,e,Os(e))},Tn.deburr=Rs,Tn.defaultTo=function(t,e){return null==t||t!=t?e:t},Tn.divide=lc,Tn.endsWith=function(t,e,n){t=ss(t),e=$a(e);var a=t.length,r=n=void 0===n?a:Kn(as(n),0,a);return(n-=e.length)>=0&&t.slice(n,r)==e},Tn.eq=Si,Tn.escape=function(t){return(t=ss(t))&&j.test(t)?t.replace(L,Ee):t},Tn.escapeRegExp=function(t){return(t=ss(t))&&U.test(t)?t.replace(H,"\\$&"):t},Tn.every=function(t,e,n){var a=Ai(t)?ie:ea;return n&&oo(t,e,n)&&(e=void 0),a(t,Kr(e,3))},Tn.find=oi,Tn.findIndex=Ro,Tn.findKey=function(t,e){return he(t,Kr(e,3),sa)},Tn.findLast=ii,Tn.findLastIndex=Ao,Tn.findLastKey=function(t,e){return he(t,Kr(e,3),ca)},Tn.floor=dc,Tn.forEach=si,Tn.forEachRight=ci,Tn.forIn=function(t,e){return null==t?t:oa(t,Kr(e,3),vs)},Tn.forInRight=function(t,e){return null==t?t:ia(t,Kr(e,3),vs)},Tn.forOwn=function(t,e){return t&&sa(t,Kr(e,3))},Tn.forOwnRight=function(t,e){return t&&ca(t,Kr(e,3))},Tn.get=ms,Tn.gt=Ii,Tn.gte=Ni,Tn.has=function(t,e){return null!=t&&eo(t,e,pa)},Tn.hasIn=hs,Tn.head=Do,Tn.identity=Us,Tn.includes=function(t,e,n,a){t=Di(t)?t:Ss(t),n=n&&!a?as(n):0;var r=t.length;return n<0&&(n=rn(r+n,0)),Zi(t)?n<=r&&t.indexOf(e,n)>-1:!!r&&_e(t,e,n)>-1},Tn.indexOf=function(t,e,n){var a=null==t?0:t.length;if(!a)return-1;var r=null==n?0:as(n);return r<0&&(r=rn(a+r,0)),_e(t,e,r)},Tn.inRange=function(t,e,n){return e=ns(e),void 0===n?(n=e,e=0):n=ns(n),function(t,e,n){return t>=on(e,n)&&t<rn(e,n)}(t=os(t),e,n)},Tn.invoke=ys,Tn.isArguments=Ri,Tn.isArray=Ai,Tn.isArrayBuffer=Ei,Tn.isArrayLike=Di,Tn.isArrayLikeObject=Li,Tn.isBoolean=function(t){return!0===t||!1===t||Bi(t)&&ga(t)==l},Tn.isBuffer=qi,Tn.isDate=ji,Tn.isElement=function(t){return Bi(t)&&1===t.nodeType&&!Wi(t)},Tn.isEmpty=function(t){if(null==t)return!0;if(Di(t)&&(Ai(t)||"string"==typeof t||"function"==typeof t.splice||qi(t)||Xi(t)||Ri(t)))return!t.length;var e=to(t);if(e==p||e==_)return!t.size;if(lo(t))return!Pa(t).length;for(var n in t)if(Pt.call(t,n))return!1;return!0},Tn.isEqual=function(t,e){return ya(t,e)},Tn.isEqualWith=function(t,e,n){var a=(n="function"==typeof n?n:void 0)?n(t,e):void 0;return void 0===a?ya(t,e,void 0,n):!!a},Tn.isError=Fi,Tn.isFinite=function(t){return"number"==typeof t&&en(t)},Tn.isFunction=zi,Tn.isInteger=Vi,Tn.isLength=Gi,Tn.isMap=Hi,Tn.isMatch=function(t,e){return t===e||Oa(t,e,Zr(e))},Tn.isMatchWith=function(t,e,n){return n="function"==typeof n?n:void 0,Oa(t,e,Zr(e),n)},Tn.isNaN=function(t){return Ui(t)&&t!=+t},Tn.isNative=function(t){if(co(t))throw new gt("Unsupported core-js use. Try https://npms.io/search?q=ponyfill.");return va(t)},Tn.isNil=function(t){return null==t},Tn.isNull=function(t){return null===t},Tn.isNumber=Ui,Tn.isObject=Yi,Tn.isObjectLike=Bi,Tn.isPlainObject=Wi,Tn.isRegExp=Ki,Tn.isSafeInteger=function(t){return Vi(t)&&t>=-9007199254740991&&t<=9007199254740991},Tn.isSet=$i,Tn.isString=Zi,Tn.isSymbol=Ji,Tn.isTypedArray=Xi,Tn.isUndefined=function(t){return void 0===t},Tn.isWeakMap=function(t){return Bi(t)&&to(t)==v},Tn.isWeakSet=function(t){return Bi(t)&&"[object WeakSet]"==ga(t)},Tn.join=function(t,e){return null==t?"":nn.call(t,e)},Tn.kebabCase=As,Tn.last=Fo,Tn.lastIndexOf=function(t,e,n){var a=null==t?0:t.length;if(!a)return-1;var r=a;return void 0!==n&&(r=(r=as(n))<0?rn(a+r,0):on(r,a-1)),e==e?function(t,e,n){for(var a=n+1;a--;)if(t[a]===e)return a;return a}(t,e,r):be(t,Oe,r,!0)},Tn.lowerCase=Es,Tn.lowerFirst=Ds,Tn.lt=Qi,Tn.lte=ts,Tn.max=function(t){return t&&t.length?na(t,Us,fa):void 0},Tn.maxBy=function(t,e){return t&&t.length?na(t,Kr(e,2),fa):void 0},Tn.mean=function(t){return ve(t,Us)},Tn.meanBy=function(t,e){return ve(t,Kr(e,2))},Tn.min=function(t){return t&&t.length?na(t,Us,Ma):void 0},Tn.minBy=function(t,e){return t&&t.length?na(t,Kr(e,2),Ma):void 0},Tn.stubArray=rc,Tn.stubFalse=oc,Tn.stubObject=function(){return{}},Tn.stubString=function(){return""},Tn.stubTrue=function(){return!0},Tn.multiply=uc,Tn.nth=function(t,e){return t&&t.length?Sa(t,as(e)):void 0},Tn.noConflict=function(){return Bt._===this&&(Bt._=kt),this},Tn.noop=Js,Tn.now=mi,Tn.pad=function(t,e,n){t=ss(t);var a=(e=as(e))?Ge(t):0;if(!e||a>=e)return t;var r=(e-a)/2;return Ir(Xe(r),n)+t+Ir(Je(r),n)},Tn.padEnd=function(t,e,n){t=ss(t);var a=(e=as(e))?Ge(t):0;return e&&a<e?t+Ir(e-a,n):t},Tn.padStart=function(t,e,n){t=ss(t);var a=(e=as(e))?Ge(t):0;return e&&a<e?Ir(e-a,n)+t:t},Tn.parseInt=function(t,e,n){return n||null==e?e=0:e&&(e=+e),cn(ss(t).replace(K,""),e||0)},Tn.random=function(t,e,n){if(n&&"boolean"!=typeof n&&oo(t,e,n)&&(e=n=void 0),void 0===n&&("boolean"==typeof e?(n=e,e=void 0):"boolean"==typeof t&&(n=t,t=void 0)),void 0===t&&void 0===e?(t=0,e=1):(t=ns(t),void 0===e?(e=t,t=0):e=ns(e)),t>e){var a=t;t=e,e=a}if(n||t%1||e%1){var r=ln();return on(t+r*(e-t+zt("1e-"+((r+"").length-1))),e)}return Ea(t,e)},Tn.reduce=function(t,e,n){var a=Ai(t)?ge:Me,r=arguments.length<3;return a(t,Kr(e,4),n,r,Qn)},Tn.reduceRight=function(t,e,n){var a=Ai(t)?fe:Me,r=arguments.length<3;return a(t,Kr(e,4),n,r,ta)},Tn.repeat=function(t,e,n){return e=(n?oo(t,e,n):void 0===e)?1:as(e),Da(ss(t),e)},Tn.replace=function(){var t=arguments,e=ss(t[0]);return t.length<3?e:e.replace(t[1],t[2])},Tn.result=function(t,e,n){var a=-1,r=(e=or(e,t)).length;for(r||(r=1,t=void 0);++a<r;){var o=null==t?void 0:t[wo(e[a])];void 0===o&&(a=r,o=n),t=zi(o)?o.call(t):o}return t},Tn.round=gc,Tn.runInContext=t,Tn.sample=function(t){return(Ai(t)?jn:qa)(t)},Tn.size=function(t){if(null==t)return 0;if(Di(t))return Zi(t)?Ge(t):t.length;var e=to(t);return e==p||e==_?t.size:Pa(t).length},Tn.snakeCase=Ls,Tn.some=function(t,e,n){var a=Ai(t)?pe:Ba;return n&&oo(t,e,n)&&(e=void 0),a(t,Kr(e,3))},Tn.sortedIndex=function(t,e){return Ha(t,e)},Tn.sortedIndexBy=function(t,e,n){return Ua(t,e,Kr(n,2))},Tn.sortedIndexOf=function(t,e){var n=null==t?0:t.length;if(n){var a=Ha(t,e);if(a<n&&Si(t[a],e))return a}return-1},Tn.sortedLastIndex=function(t,e){return Ha(t,e,!0)},Tn.sortedLastIndexBy=function(t,e,n){return Ua(t,e,Kr(n,2),!0)},Tn.sortedLastIndexOf=function(t,e){if(null!=t&&t.length){var n=Ha(t,e,!0)-1;if(Si(t[n],e))return n}return-1},Tn.startCase=qs,Tn.startsWith=function(t,e,n){return t=ss(t),n=null==n?0:Kn(as(n),0,t.length),e=$a(e),t.slice(n,n+e.length)==e},Tn.subtract=fc,Tn.sum=function(t){return t&&t.length?xe(t,Us):0},Tn.sumBy=function(t,e){return t&&t.length?xe(t,Kr(e,2)):0},Tn.template=function(t,e,n){var a=Tn.templateSettings;n&&oo(t,e,n)&&(e=void 0),t=ss(t),e=ds({},e,a,jr);var r,o,i=ds({},e.imports,a.imports,jr),s=Os(i),c=ke(i,s),l=0,d=e.interpolate||lt,u="__p += '",g=ht((e.escape||lt).source+"|"+d.source+"|"+(d===V?et:lt).source+"|"+(e.evaluate||lt).source+"|$","g"),f="//# sourceURL="+(Pt.call(e,"sourceURL")?(e.sourceURL+"").replace(/[\r\n]/g," "):"lodash.templateSources["+ ++Lt+"]")+"\n";t.replace(g,(function(e,n,a,i,s,c){return a||(a=i),u+=t.slice(l,c).replace(dt,De),n&&(r=!0,u+="' +\n__e("+n+") +\n'"),s&&(o=!0,u+="';\n"+s+";\n__p += '"),a&&(u+="' +\n((__t = ("+a+")) == null ? '' : __t) +\n'"),l=c+e.length,e})),u+="';\n";var p=Pt.call(e,"variable")&&e.variable;p||(u="with (obj) {\n"+u+"\n}\n"),u=(o?u.replace(R,""):u).replace(A,"$1").replace(E,"$1;"),u="function("+(p||"obj")+") {\n"+(p?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(r?", __e = _.escape":"")+(o?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+u+"return __p\n}";var m=Vs((function(){return ft(s,f+"return "+u).apply(void 0,c)}));if(m.source=u,Fi(m))throw m;return m},Tn.times=function(t,e){if((t=as(t))<1||t>9007199254740991)return[];var n=4294967295,a=on(t,4294967295);t-=4294967295;for(var r=we(a,e=Kr(e));++n<t;)e(n);return r},Tn.toFinite=ns,Tn.toInteger=as,Tn.toLength=rs,Tn.toLower=function(t){return ss(t).toLowerCase()},Tn.toNumber=os,Tn.toSafeInteger=function(t){return t?Kn(as(t),-9007199254740991,9007199254740991):0===t?t:0},Tn.toString=ss,Tn.toUpper=function(t){return ss(t).toUpperCase()},Tn.trim=function(t,e,n){if((t=ss(t))&&(n||void 0===e))return t.replace(W,"");if(!t||!(e=$a(e)))return t;var a=Ye(t),r=Ye(e);return sr(a,Ie(a,r),Ne(a,r)+1).join("")},Tn.trimEnd=function(t,e,n){if((t=ss(t))&&(n||void 0===e))return t.replace($,"");if(!t||!(e=$a(e)))return t;var a=Ye(t);return sr(a,0,Ne(a,Ye(e))+1).join("")},Tn.trimStart=function(t,e,n){if((t=ss(t))&&(n||void 0===e))return t.replace(K,"");if(!t||!(e=$a(e)))return t;var a=Ye(t);return sr(a,Ie(a,Ye(e))).join("")},Tn.truncate=function(t,e){var n=30,a="...";if(Yi(e)){var r="separator"in e?e.separator:r;n="length"in e?as(e.length):n,a="omission"in e?$a(e.omission):a}var o=(t=ss(t)).length;if(Le(t)){var i=Ye(t);o=i.length}if(n>=o)return t;var s=n-Ge(a);if(s<1)return a;var c=i?sr(i,0,s).join(""):t.slice(0,s);if(void 0===r)return c+a;if(i&&(s+=c.length-s),Ki(r)){if(t.slice(s).search(r)){var l,d=c;for(r.global||(r=ht(r.source,ss(nt.exec(r))+"g")),r.lastIndex=0;l=r.exec(d);)var u=l.index;c=c.slice(0,void 0===u?s:u)}}else if(t.indexOf($a(r),s)!=s){var g=c.lastIndexOf(r);g>-1&&(c=c.slice(0,g))}return c+a},Tn.unescape=function(t){return(t=ss(t))&&q.test(t)?t.replace(D,Be):t},Tn.uniqueId=function(t){var e=++Mt;return ss(t)+e},Tn.upperCase=js,Tn.upperFirst=Fs,Tn.each=si,Tn.eachRight=ci,Tn.first=Do,Zs(Tn,(ic={},sa(Tn,(function(t,e){Pt.call(Tn.prototype,e)||(ic[e]=t)})),ic),{chain:!1}),Tn.VERSION="4.17.15",re(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(t){Tn[t].placeholder=Tn})),re(["drop","take"],(function(t,e){Nn.prototype[t]=function(n){n=void 0===n?1:rn(as(n),0);var a=this.__filtered__&&!e?new Nn(this):this.clone();return a.__filtered__?a.__takeCount__=on(n,a.__takeCount__):a.__views__.push({size:on(n,4294967295),type:t+(a.__dir__<0?"Right":"")}),a},Nn.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}})),re(["filter","map","takeWhile"],(function(t,e){var n=e+1,a=1==n||3==n;Nn.prototype[t]=function(t){var e=this.clone();return e.__iteratees__.push({iteratee:Kr(t,3),type:n}),e.__filtered__=e.__filtered__||a,e}})),re(["head","last"],(function(t,e){var n="take"+(e?"Right":"");Nn.prototype[t]=function(){return this[n](1).value()[0]}})),re(["initial","tail"],(function(t,e){var n="drop"+(e?"":"Right");Nn.prototype[t]=function(){return this.__filtered__?new Nn(this):this[n](1)}})),Nn.prototype.compact=function(){return this.filter(Us)},Nn.prototype.find=function(t){return this.filter(t).head()},Nn.prototype.findLast=function(t){return this.reverse().find(t)},Nn.prototype.invokeMap=La((function(t,e){return"function"==typeof t?new Nn(this):this.map((function(n){return ba(n,t,e)}))})),Nn.prototype.reject=function(t){return this.filter(Mi(Kr(t)))},Nn.prototype.slice=function(t,e){t=as(t);var n=this;return n.__filtered__&&(t>0||e<0)?new Nn(n):(t<0?n=n.takeRight(-t):t&&(n=n.drop(t)),void 0!==e&&(n=(e=as(e))<0?n.dropRight(-e):n.take(e-t)),n)},Nn.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},Nn.prototype.toArray=function(){return this.take(4294967295)},sa(Nn.prototype,(function(t,e){var n=/^(?:filter|find|map|reject)|While$/.test(e),a=/^(?:head|last)$/.test(e),r=Tn[a?"take"+("last"==e?"Right":""):e],o=a||/^find/.test(e);r&&(Tn.prototype[e]=function(){var e=this.__wrapped__,i=a?[1]:arguments,s=e instanceof Nn,c=i[0],l=s||Ai(e),d=function(t){var e=r.apply(Tn,ue([t],i));return a&&u?e[0]:e};l&&n&&"function"==typeof c&&1!=c.length&&(s=l=!1);var u=this.__chain__,g=!!this.__actions__.length,f=o&&!u,p=s&&!g;if(!o&&l){e=p?e:new Nn(this);var m=t.apply(e,i);return m.__actions__.push({func:ni,args:[d],thisArg:void 0}),new In(m,u)}return f&&p?t.apply(this,i):(m=this.thru(d),f?a?m.value()[0]:m.value():m)})})),re(["pop","push","shift","sort","splice","unshift"],(function(t){var e=yt[t],n=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",a=/^(?:pop|shift)$/.test(t);Tn.prototype[t]=function(){var t=arguments;if(a&&!this.__chain__){var r=this.value();return e.apply(Ai(r)?r:[],t)}return this[n]((function(n){return e.apply(Ai(n)?n:[],t)}))}})),sa(Nn.prototype,(function(t,e){var n=Tn[e];if(n){var a=n.name+"";Pt.call(_n,a)||(_n[a]=[]),_n[a].push({name:e,func:n})}})),_n[wr(void 0,2).name]=[{name:"wrapper",func:void 0}],Nn.prototype.clone=function(){var t=new Nn(this.__wrapped__);return t.__actions__=mr(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=mr(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=mr(this.__views__),t},Nn.prototype.reverse=function(){if(this.__filtered__){var t=new Nn(this);t.__dir__=-1,t.__filtered__=!0}else(t=this.clone()).__dir__*=-1;return t},Nn.prototype.value=function(){var t=this.__wrapped__.value(),e=this.__dir__,n=Ai(t),a=e<0,r=n?t.length:0,o=function(t,e,n){for(var a=-1,r=n.length;++a<r;){var o=n[a],i=o.size;switch(o.type){case"drop":t+=i;break;case"dropRight":e-=i;break;case"take":e=on(e,t+i);break;case"takeRight":t=rn(t,e-i)}}return{start:t,end:e}}(0,r,this.__views__),i=o.start,s=o.end,c=s-i,l=a?s:i-1,d=this.__iteratees__,u=d.length,g=0,f=on(c,this.__takeCount__);if(!n||!a&&r==c&&f==c)return tr(t,this.__actions__);var p=[];t:for(;c--&&g<f;){for(var m=-1,h=t[l+=e];++m<u;){var b=d[m],_=b.type,y=(0,b.iteratee)(h);if(2==_)h=y;else if(!y){if(1==_)continue t;break t}}p[g++]=h}return p},Tn.prototype.at=ai,Tn.prototype.chain=function(){return ei(this)},Tn.prototype.commit=function(){return new In(this.value(),this.__chain__)},Tn.prototype.next=function(){void 0===this.__values__&&(this.__values__=es(this.value()));var t=this.__index__>=this.__values__.length;return{done:t,value:t?void 0:this.__values__[this.__index__++]}},Tn.prototype.plant=function(t){for(var e,n=this;n instanceof Sn;){var a=ko(n);a.__index__=0,a.__values__=void 0,e?r.__wrapped__=a:e=a;var r=a;n=n.__wrapped__}return r.__wrapped__=t,e},Tn.prototype.reverse=function(){var t=this.__wrapped__;if(t instanceof Nn){var e=t;return this.__actions__.length&&(e=new Nn(this)),(e=e.reverse()).__actions__.push({func:ni,args:[Yo],thisArg:void 0}),new In(e,this.__chain__)}return this.thru(Yo)},Tn.prototype.toJSON=Tn.prototype.valueOf=Tn.prototype.value=function(){return tr(this.__wrapped__,this.__actions__)},Tn.prototype.first=Tn.prototype.head,Pe&&(Tn.prototype[Pe]=function(){return this}),Tn}();Bt._=He,void 0===(a=(function(){return He}).call(e,n,e,t))||(t.exports=a)}).call(this)}).call(this,n("YuTi")(t))},Lwhh:function(t,e,n){var a=n("mrSG").__decorate;Object.defineProperty(e,"__esModule",{value:!0});var r=n("8Y7J");e.DataTableColumnHeaderDirective=function(){return a([r.Directive({selector:"[ngx-datatable-header-template]"})],(function(t){this.template=t}))}()},M9eX:function(t,e,n){var a=n("mrSG").__decorate,r=n("mrSG").__metadata;Object.defineProperty(e,"__esModule",{value:!0});var o=n("8Y7J"),i=n("qCKp"),s=(n("czA5"),n("kU1M"));e.ResizeableDirective=function(){function t(t,e){this.renderer=e,this.resizeEnabled=!0,this.resize=new o.EventEmitter,this.resizing=!1,this.element=t.nativeElement}return t.prototype.ngAfterViewInit=function(){var t=this.renderer,e=t.createElement("span");t.addClass(e,this.resizeEnabled?"resize-handle":"resize-handle--not-resizable"),t.appendChild(this.element,e)},t.prototype.ngOnDestroy=function(){this._destroySubscription()},t.prototype.onMouseup=function(){this.resizing=!1,this.subscription&&!this.subscription.closed&&(this._destroySubscription(),this.resize.emit(this.element.clientWidth))},t.prototype.onMousedown=function(t){var e=this,n=t.target.classList.contains("resize-handle"),a=this.element.clientWidth,r=t.screenX;if(n){t.stopPropagation(),this.resizing=!0;var o=i.fromEvent(document,"mouseup");this.subscription=o.subscribe((function(t){return e.onMouseup()}));var c=i.fromEvent(document,"mousemove").pipe(s.takeUntil(o)).subscribe((function(t){return e.move(t,a,r)}));this.subscription.add(c)}},t.prototype.move=function(t,e,n){var a=e+(t.screenX-n);(!this.minWidth||a>=this.minWidth)&&(!this.maxWidth||a<=this.maxWidth)&&(this.element.style.width=a+"px")},t.prototype._destroySubscription=function(){this.subscription&&(this.subscription.unsubscribe(),this.subscription=void 0)},a([o.Input(),r("design:type",Boolean)],t.prototype,"resizeEnabled",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"minWidth",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"maxWidth",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"resize",void 0),a([o.HostListener("mousedown",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],t.prototype,"onMousedown",null),a([o.Directive({selector:"[resizeable]",host:{"[class.resizeable]":"resizeEnabled"}})],t)}()},MJIl:function(t,e,n){var a=n("QoRX"),r=n("ut/Y"),o=n("Nh2a"),i=n("Z0cm"),s=n("mv/X");t.exports=function(t,e,n){var c=i(t)?a:o;return n&&s(t,e,n)&&(e=void 0),c(t,r(e,3))}},MMmD:function(t,e,n){var a=n("lSCD"),r=n("shjB");t.exports=function(t){return null!=t&&r(t.length)&&!a(t)}},"MO+k":function(t,e,n){t.exports=function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var e={rgb2hsl:n,rgb2hsv:a,rgb2hwb:o,rgb2cmyk:i,rgb2keyword:s,rgb2xyz:c,rgb2lab:l,rgb2lch:function(t){return y(l(t))},hsl2rgb:d,hsl2hsv:function(t){var e=t[1]/100,n=t[2]/100;return 0===n?[0,0,0]:[t[0],2*(e*=(n*=2)<=1?n:2-n)/(n+e)*100,(n+e)/2*100]},hsl2hwb:function(t){return o(d(t))},hsl2cmyk:function(t){return i(d(t))},hsl2keyword:function(t){return s(d(t))},hsv2rgb:u,hsv2hsl:function(t){var e,n,a=t[1]/100,r=t[2]/100;return e=a*r,[t[0],100*(e=(e/=(n=(2-a)*r)<=1?n:2-n)||0),100*(n/=2)]},hsv2hwb:function(t){return o(u(t))},hsv2cmyk:function(t){return i(u(t))},hsv2keyword:function(t){return s(u(t))},hwb2rgb:f,hwb2hsl:function(t){return n(f(t))},hwb2hsv:function(t){return a(f(t))},hwb2cmyk:function(t){return i(f(t))},hwb2keyword:function(t){return s(f(t))},cmyk2rgb:p,cmyk2hsl:function(t){return n(p(t))},cmyk2hsv:function(t){return a(p(t))},cmyk2hwb:function(t){return o(p(t))},cmyk2keyword:function(t){return s(p(t))},keyword2rgb:C,keyword2hsl:function(t){return n(C(t))},keyword2hsv:function(t){return a(C(t))},keyword2hwb:function(t){return o(C(t))},keyword2cmyk:function(t){return i(C(t))},keyword2lab:function(t){return l(C(t))},keyword2xyz:function(t){return c(C(t))},xyz2rgb:m,xyz2lab:h,xyz2lch:function(t){return y(h(t))},lab2xyz:_,lab2rgb:O,lab2lch:y,lch2lab:v,lch2xyz:function(t){return _(v(t))},lch2rgb:function(t){return O(v(t))}};function n(t){var e,n,a=t[0]/255,r=t[1]/255,o=t[2]/255,i=Math.min(a,r,o),s=Math.max(a,r,o),c=s-i;return s==i?e=0:a==s?e=(r-o)/c:r==s?e=2+(o-a)/c:o==s&&(e=4+(a-r)/c),(e=Math.min(60*e,360))<0&&(e+=360),n=(i+s)/2,[e,100*(s==i?0:n<=.5?c/(s+i):c/(2-s-i)),100*n]}function a(t){var e,n,a=t[0],r=t[1],o=t[2],i=Math.min(a,r,o),s=Math.max(a,r,o),c=s-i;return n=0==s?0:c/s*1e3/10,s==i?e=0:a==s?e=(r-o)/c:r==s?e=2+(o-a)/c:o==s&&(e=4+(a-r)/c),(e=Math.min(60*e,360))<0&&(e+=360),[e,n,s/255*1e3/10]}function o(t){var e=t[0],a=t[1],r=t[2];return[n(t)[0],1/255*Math.min(e,Math.min(a,r))*100,100*(r=1-1/255*Math.max(e,Math.max(a,r)))]}function i(t){var e,n=t[0]/255,a=t[1]/255,r=t[2]/255;return[100*((1-n-(e=Math.min(1-n,1-a,1-r)))/(1-e)||0),100*((1-a-e)/(1-e)||0),100*((1-r-e)/(1-e)||0),100*e]}function s(t){return M[JSON.stringify(t)]}function c(t){var e=t[0]/255,n=t[1]/255,a=t[2]/255;return[100*(.4124*(e=e>.04045?Math.pow((e+.055)/1.055,2.4):e/12.92)+.3576*(n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92)+.1805*(a=a>.04045?Math.pow((a+.055)/1.055,2.4):a/12.92)),100*(.2126*e+.7152*n+.0722*a),100*(.0193*e+.1192*n+.9505*a)]}function l(t){var e=c(t),n=e[0],a=e[1],r=e[2];return a/=100,r/=108.883,n=(n/=95.047)>.008856?Math.pow(n,1/3):7.787*n+16/116,[116*(a=a>.008856?Math.pow(a,1/3):7.787*a+16/116)-16,500*(n-a),200*(a-(r=r>.008856?Math.pow(r,1/3):7.787*r+16/116))]}function d(t){var e,n,a,r,o,i=t[0]/360,s=t[1]/100,c=t[2]/100;if(0==s)return[o=255*c,o,o];e=2*c-(n=c<.5?c*(1+s):c+s-c*s),r=[0,0,0];for(var l=0;l<3;l++)(a=i+1/3*-(l-1))<0&&a++,a>1&&a--,r[l]=255*(o=6*a<1?e+6*(n-e)*a:2*a<1?n:3*a<2?e+(n-e)*(2/3-a)*6:e);return r}function u(t){var e=t[0]/60,n=t[1]/100,a=t[2]/100,r=Math.floor(e)%6,o=e-Math.floor(e),i=255*a*(1-n),s=255*a*(1-n*o),c=255*a*(1-n*(1-o));switch(a*=255,r){case 0:return[a,c,i];case 1:return[s,a,i];case 2:return[i,a,c];case 3:return[i,s,a];case 4:return[c,i,a];case 5:return[a,i,s]}}function f(t){var e,n,a,o,i=t[0]/360,s=t[1]/100,c=t[2]/100,l=s+c;switch(l>1&&(s/=l,c/=l),a=6*i-(e=Math.floor(6*i)),0!=(1&e)&&(a=1-a),o=s+a*((n=1-c)-s),e){default:case 6:case 0:r=n,g=o,b=s;break;case 1:r=o,g=n,b=s;break;case 2:r=s,g=n,b=o;break;case 3:r=s,g=o,b=n;break;case 4:r=o,g=s,b=n;break;case 5:r=n,g=s,b=o}return[255*r,255*g,255*b]}function p(t){var e=t[1]/100,n=t[2]/100,a=t[3]/100;return[255*(1-Math.min(1,t[0]/100*(1-a)+a)),255*(1-Math.min(1,e*(1-a)+a)),255*(1-Math.min(1,n*(1-a)+a))]}function m(t){var e,n,a,r=t[0]/100,o=t[1]/100,i=t[2]/100;return n=-.9689*r+1.8758*o+.0415*i,a=.0557*r+-.204*o+1.057*i,e=(e=3.2406*r+-1.5372*o+-.4986*i)>.0031308?1.055*Math.pow(e,1/2.4)-.055:e*=12.92,n=n>.0031308?1.055*Math.pow(n,1/2.4)-.055:n*=12.92,a=a>.0031308?1.055*Math.pow(a,1/2.4)-.055:a*=12.92,[255*(e=Math.min(Math.max(0,e),1)),255*(n=Math.min(Math.max(0,n),1)),255*(a=Math.min(Math.max(0,a),1))]}function h(t){var e=t[0],n=t[1],a=t[2];return n/=100,a/=108.883,e=(e/=95.047)>.008856?Math.pow(e,1/3):7.787*e+16/116,[116*(n=n>.008856?Math.pow(n,1/3):7.787*n+16/116)-16,500*(e-n),200*(n-(a=a>.008856?Math.pow(a,1/3):7.787*a+16/116))]}function _(t){var e,n,a,r,o=t[0],i=t[1],s=t[2];return o<=8?r=(n=100*o/903.3)/100*7.787+16/116:(n=100*Math.pow((o+16)/116,3),r=Math.pow(n/100,1/3)),[e=e/95.047<=.008856?e=95.047*(i/500+r-16/116)/7.787:95.047*Math.pow(i/500+r,3),n,a=a/108.883<=.008859?a=108.883*(r-s/200-16/116)/7.787:108.883*Math.pow(r-s/200,3)]}function y(t){var e,n=t[0],a=t[1],r=t[2];return(e=360*Math.atan2(r,a)/2/Math.PI)<0&&(e+=360),[n,Math.sqrt(a*a+r*r),e]}function O(t){return m(_(t))}function v(t){var e,n=t[1];return e=t[2]/360*2*Math.PI,[t[0],n*Math.cos(e),n*Math.sin(e)]}function C(t){return P[t]}var P={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},M={};for(var x in P)M[JSON.stringify(P[x])]=x;var w=function(){return new N};for(var T in e){w[T+"Raw"]=function(t){return function(n){return"number"==typeof n&&(n=Array.prototype.slice.call(arguments)),e[t](n)}}(T);var k=/(\w+)2(\w+)/.exec(T),S=k[1],I=k[2];(w[S]=w[S]||{})[I]=w[T]=function(t){return function(n){"number"==typeof n&&(n=Array.prototype.slice.call(arguments));var a=e[t](n);if("string"==typeof a||void 0===a)return a;for(var r=0;r<a.length;r++)a[r]=Math.round(a[r]);return a}}(T)}var N=function(){this.convs={}};N.prototype.routeSpace=function(t,e){var n=e[0];return void 0===n?this.getValues(t):("number"==typeof n&&(n=Array.prototype.slice.call(e)),this.setValues(t,n))},N.prototype.setValues=function(t,e){return this.space=t,this.convs={},this.convs[t]=e,this},N.prototype.getValues=function(t){var e=this.convs[t];if(!e){var n=this.space;e=w[n][t](this.convs[n]),this.convs[t]=e}return e},["rgb","hsl","hsv","cmyk","keyword"].forEach((function(t){N.prototype[t]=function(e){return this.routeSpace(t,arguments)}}));var R=w,A={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},E={getRgba:D,getHsla:L,getRgb:function(t){var e=D(t);return e&&e.slice(0,3)},getHsl:function(t){var e=L(t);return e&&e.slice(0,3)},getHwb:q,getAlpha:function(t){var e=D(t);return e?e[3]:(e=L(t))?e[3]:(e=q(t))?e[3]:void 0},hexString:function(t,e){return e=void 0!==e&&3===t.length?e:t[3],"#"+G(t[0])+G(t[1])+G(t[2])+(e>=0&&e<1?G(Math.round(255*e)):"")},rgbString:function(t,e){return e<1||t[3]&&t[3]<1?j(t,e):"rgb("+t[0]+", "+t[1]+", "+t[2]+")"},rgbaString:j,percentString:function(t,e){return e<1||t[3]&&t[3]<1?F(t,e):"rgb("+Math.round(t[0]/255*100)+"%, "+Math.round(t[1]/255*100)+"%, "+Math.round(t[2]/255*100)+"%)"},percentaString:F,hslString:function(t,e){return e<1||t[3]&&t[3]<1?z(t,e):"hsl("+t[0]+", "+t[1]+"%, "+t[2]+"%)"},hslaString:z,hwbString:function(t,e){return void 0===e&&(e=void 0!==t[3]?t[3]:1),"hwb("+t[0]+", "+t[1]+"%, "+t[2]+"%"+(void 0!==e&&1!==e?", "+e:"")+")"},keyword:function(t){return Y[t.slice(0,3)]}};function D(t){if(t){var e=[0,0,0],n=1,a=t.match(/^#([a-fA-F0-9]{3,4})$/i),r="";if(a){r=(a=a[1])[3];for(var o=0;o<e.length;o++)e[o]=parseInt(a[o]+a[o],16);r&&(n=Math.round(parseInt(r+r,16)/255*100)/100)}else if(a=t.match(/^#([a-fA-F0-9]{6}([a-fA-F0-9]{2})?)$/i)){for(r=a[2],a=a[1],o=0;o<e.length;o++)e[o]=parseInt(a.slice(2*o,2*o+2),16);r&&(n=Math.round(parseInt(r,16)/255*100)/100)}else if(a=t.match(/^rgba?\(\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/i)){for(o=0;o<e.length;o++)e[o]=parseInt(a[o+1]);n=parseFloat(a[4])}else if(a=t.match(/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,\s*([+-]?[\d\.]+)\%\s*,\s*([+-]?[\d\.]+)\%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/i)){for(o=0;o<e.length;o++)e[o]=Math.round(2.55*parseFloat(a[o+1]));n=parseFloat(a[4])}else if(a=t.match(/(\w+)/)){if("transparent"==a[1])return[0,0,0,0];if(!(e=A[a[1]]))return}for(o=0;o<e.length;o++)e[o]=V(e[o],0,255);return n=n||0==n?V(n,0,1):1,e[3]=n,e}}function L(t){if(t){var e=t.match(/^hsla?\(\s*([+-]?\d+)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)/);if(e){var n=parseFloat(e[4]);return[V(parseInt(e[1]),0,360),V(parseFloat(e[2]),0,100),V(parseFloat(e[3]),0,100),V(isNaN(n)?1:n,0,1)]}}}function q(t){if(t){var e=t.match(/^hwb\(\s*([+-]?\d+)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)/);if(e){var n=parseFloat(e[4]);return[V(parseInt(e[1]),0,360),V(parseFloat(e[2]),0,100),V(parseFloat(e[3]),0,100),V(isNaN(n)?1:n,0,1)]}}}function j(t,e){return void 0===e&&(e=void 0!==t[3]?t[3]:1),"rgba("+t[0]+", "+t[1]+", "+t[2]+", "+e+")"}function F(t,e){return"rgba("+Math.round(t[0]/255*100)+"%, "+Math.round(t[1]/255*100)+"%, "+Math.round(t[2]/255*100)+"%, "+(e||t[3]||1)+")"}function z(t,e){return void 0===e&&(e=void 0!==t[3]?t[3]:1),"hsla("+t[0]+", "+t[1]+"%, "+t[2]+"%, "+e+")"}function V(t,e,n){return Math.min(Math.max(e,t),n)}function G(t){var e=t.toString(16).toUpperCase();return e.length<2?"0"+e:e}var Y={};for(var B in A)Y[A[B]]=B;var H=function(t){return t instanceof H?t:this instanceof H?(this.valid=!1,this.values={rgb:[0,0,0],hsl:[0,0,0],hsv:[0,0,0],hwb:[0,0,0],cmyk:[0,0,0,0],alpha:1},void("string"==typeof t?(e=E.getRgba(t))?this.setValues("rgb",e):(e=E.getHsla(t))?this.setValues("hsl",e):(e=E.getHwb(t))&&this.setValues("hwb",e):"object"==typeof t&&(void 0!==(e=t).r||void 0!==e.red?this.setValues("rgb",e):void 0!==e.l||void 0!==e.lightness?this.setValues("hsl",e):void 0!==e.v||void 0!==e.value?this.setValues("hsv",e):void 0!==e.w||void 0!==e.whiteness?this.setValues("hwb",e):void 0===e.c&&void 0===e.cyan||this.setValues("cmyk",e)))):new H(t);var e};H.prototype={isValid:function(){return this.valid},rgb:function(){return this.setSpace("rgb",arguments)},hsl:function(){return this.setSpace("hsl",arguments)},hsv:function(){return this.setSpace("hsv",arguments)},hwb:function(){return this.setSpace("hwb",arguments)},cmyk:function(){return this.setSpace("cmyk",arguments)},rgbArray:function(){return this.values.rgb},hslArray:function(){return this.values.hsl},hsvArray:function(){return this.values.hsv},hwbArray:function(){var t=this.values;return 1!==t.alpha?t.hwb.concat([t.alpha]):t.hwb},cmykArray:function(){return this.values.cmyk},rgbaArray:function(){var t=this.values;return t.rgb.concat([t.alpha])},hslaArray:function(){var t=this.values;return t.hsl.concat([t.alpha])},alpha:function(t){return void 0===t?this.values.alpha:(this.setValues("alpha",t),this)},red:function(t){return this.setChannel("rgb",0,t)},green:function(t){return this.setChannel("rgb",1,t)},blue:function(t){return this.setChannel("rgb",2,t)},hue:function(t){return t&&(t=(t%=360)<0?360+t:t),this.setChannel("hsl",0,t)},saturation:function(t){return this.setChannel("hsl",1,t)},lightness:function(t){return this.setChannel("hsl",2,t)},saturationv:function(t){return this.setChannel("hsv",1,t)},whiteness:function(t){return this.setChannel("hwb",1,t)},blackness:function(t){return this.setChannel("hwb",2,t)},value:function(t){return this.setChannel("hsv",2,t)},cyan:function(t){return this.setChannel("cmyk",0,t)},magenta:function(t){return this.setChannel("cmyk",1,t)},yellow:function(t){return this.setChannel("cmyk",2,t)},black:function(t){return this.setChannel("cmyk",3,t)},hexString:function(){return E.hexString(this.values.rgb)},rgbString:function(){return E.rgbString(this.values.rgb,this.values.alpha)},rgbaString:function(){return E.rgbaString(this.values.rgb,this.values.alpha)},percentString:function(){return E.percentString(this.values.rgb,this.values.alpha)},hslString:function(){return E.hslString(this.values.hsl,this.values.alpha)},hslaString:function(){return E.hslaString(this.values.hsl,this.values.alpha)},hwbString:function(){return E.hwbString(this.values.hwb,this.values.alpha)},keyword:function(){return E.keyword(this.values.rgb,this.values.alpha)},rgbNumber:function(){var t=this.values.rgb;return t[0]<<16|t[1]<<8|t[2]},luminosity:function(){for(var t=this.values.rgb,e=[],n=0;n<t.length;n++){var a=t[n]/255;e[n]=a<=.03928?a/12.92:Math.pow((a+.055)/1.055,2.4)}return.2126*e[0]+.7152*e[1]+.0722*e[2]},contrast:function(t){var e=this.luminosity(),n=t.luminosity();return e>n?(e+.05)/(n+.05):(n+.05)/(e+.05)},level:function(t){var e=this.contrast(t);return e>=7.1?"AAA":e>=4.5?"AA":""},dark:function(){var t=this.values.rgb;return(299*t[0]+587*t[1]+114*t[2])/1e3<128},light:function(){return!this.dark()},negate:function(){for(var t=[],e=0;e<3;e++)t[e]=255-this.values.rgb[e];return this.setValues("rgb",t),this},lighten:function(t){var e=this.values.hsl;return e[2]+=e[2]*t,this.setValues("hsl",e),this},darken:function(t){var e=this.values.hsl;return e[2]-=e[2]*t,this.setValues("hsl",e),this},saturate:function(t){var e=this.values.hsl;return e[1]+=e[1]*t,this.setValues("hsl",e),this},desaturate:function(t){var e=this.values.hsl;return e[1]-=e[1]*t,this.setValues("hsl",e),this},whiten:function(t){var e=this.values.hwb;return e[1]+=e[1]*t,this.setValues("hwb",e),this},blacken:function(t){var e=this.values.hwb;return e[2]+=e[2]*t,this.setValues("hwb",e),this},greyscale:function(){var t=this.values.rgb,e=.3*t[0]+.59*t[1]+.11*t[2];return this.setValues("rgb",[e,e,e]),this},clearer:function(t){var e=this.values.alpha;return this.setValues("alpha",e-e*t),this},opaquer:function(t){var e=this.values.alpha;return this.setValues("alpha",e+e*t),this},rotate:function(t){var e=this.values.hsl,n=(e[0]+t)%360;return e[0]=n<0?360+n:n,this.setValues("hsl",e),this},mix:function(t,e){var n=t,a=void 0===e?.5:e,r=2*a-1,o=this.alpha()-n.alpha(),i=((r*o==-1?r:(r+o)/(1+r*o))+1)/2,s=1-i;return this.rgb(i*this.red()+s*n.red(),i*this.green()+s*n.green(),i*this.blue()+s*n.blue()).alpha(this.alpha()*a+n.alpha()*(1-a))},toJSON:function(){return this.rgb()},clone:function(){var t,e,n=new H,a=this.values,r=n.values;for(var o in a)a.hasOwnProperty(o)&&("[object Array]"===(e={}.toString.call(t=a[o]))?r[o]=t.slice(0):"[object Number]"===e?r[o]=t:console.error("unexpected color value:",t));return n}},H.prototype.spaces={rgb:["red","green","blue"],hsl:["hue","saturation","lightness"],hsv:["hue","saturation","value"],hwb:["hue","whiteness","blackness"],cmyk:["cyan","magenta","yellow","black"]},H.prototype.maxes={rgb:[255,255,255],hsl:[360,100,100],hsv:[360,100,100],hwb:[360,100,100],cmyk:[100,100,100,100]},H.prototype.getValues=function(t){for(var e=this.values,n={},a=0;a<t.length;a++)n[t.charAt(a)]=e[t][a];return 1!==e.alpha&&(n.a=e.alpha),n},H.prototype.setValues=function(t,e){var n,a,r=this.values,o=this.spaces,i=this.maxes,s=1;if(this.valid=!0,"alpha"===t)s=e;else if(e.length)r[t]=e.slice(0,t.length),s=e[t.length];else if(void 0!==e[t.charAt(0)]){for(n=0;n<t.length;n++)r[t][n]=e[t.charAt(n)];s=e.a}else if(void 0!==e[o[t][0]]){var c=o[t];for(n=0;n<t.length;n++)r[t][n]=e[c[n]];s=e.alpha}if(r.alpha=Math.max(0,Math.min(1,void 0===s?r.alpha:s)),"alpha"===t)return!1;for(n=0;n<t.length;n++)a=Math.max(0,Math.min(i[t][n],r[t][n])),r[t][n]=Math.round(a);for(var l in o)l!==t&&(r[l]=R[t][l](r[t]));return!0},H.prototype.setSpace=function(t,e){var n=e[0];return void 0===n?this.getValues(t):("number"==typeof n&&(n=Array.prototype.slice.call(e)),this.setValues(t,n),this)},H.prototype.setChannel=function(t,e,n){var a=this.values[t];return void 0===n?a[e]:n===a[e]?this:(a[e]=n,this.setValues(t,a),this)},"undefined"!=typeof window&&(window.Color=H);var U,W=H,K={noop:function(){},uid:(U=0,function(){return U++}),isNullOrUndef:function(t){return null==t},isArray:function(t){if(Array.isArray&&Array.isArray(t))return!0;var e=Object.prototype.toString.call(t);return"[object"===e.substr(0,7)&&"Array]"===e.substr(-6)},isObject:function(t){return null!==t&&"[object Object]"===Object.prototype.toString.call(t)},isFinite:function(t){return("number"==typeof t||t instanceof Number)&&isFinite(t)},valueOrDefault:function(t,e){return void 0===t?e:t},valueAtIndexOrDefault:function(t,e,n){return K.valueOrDefault(K.isArray(t)?t[e]:t,n)},callback:function(t,e,n){if(t&&"function"==typeof t.call)return t.apply(n,e)},each:function(t,e,n,a){var r,o,i;if(K.isArray(t))if(o=t.length,a)for(r=o-1;r>=0;r--)e.call(n,t[r],r);else for(r=0;r<o;r++)e.call(n,t[r],r);else if(K.isObject(t))for(o=(i=Object.keys(t)).length,r=0;r<o;r++)e.call(n,t[i[r]],i[r])},arrayEquals:function(t,e){var n,a,r,o;if(!t||!e||t.length!==e.length)return!1;for(n=0,a=t.length;n<a;++n)if(o=e[n],(r=t[n])instanceof Array&&o instanceof Array){if(!K.arrayEquals(r,o))return!1}else if(r!==o)return!1;return!0},clone:function(t){if(K.isArray(t))return t.map(K.clone);if(K.isObject(t)){for(var e={},n=Object.keys(t),a=n.length,r=0;r<a;++r)e[n[r]]=K.clone(t[n[r]]);return e}return t},_merger:function(t,e,n,a){var r=e[t],o=n[t];K.isObject(r)&&K.isObject(o)?K.merge(r,o,a):e[t]=K.clone(o)},_mergerIf:function(t,e,n){var a=e[t],r=n[t];K.isObject(a)&&K.isObject(r)?K.mergeIf(a,r):e.hasOwnProperty(t)||(e[t]=K.clone(r))},merge:function(t,e,n){var a,r,o,i,s,c=K.isArray(e)?e:[e],l=c.length;if(!K.isObject(t))return t;for(a=(n=n||{}).merger||K._merger,r=0;r<l;++r)if(K.isObject(e=c[r]))for(s=0,i=(o=Object.keys(e)).length;s<i;++s)a(o[s],t,e,n);return t},mergeIf:function(t,e){return K.merge(t,e,{merger:K._mergerIf})},extend:function(t){for(var e=function(e,n){t[n]=e},n=1,a=arguments.length;n<a;++n)K.each(arguments[n],e);return t},inherits:function(t){var e=this,n=t&&t.hasOwnProperty("constructor")?t.constructor:function(){return e.apply(this,arguments)},a=function(){this.constructor=n};return a.prototype=e.prototype,n.prototype=new a,n.extend=K.inherits,t&&K.extend(n.prototype,t),n.__super__=e.prototype,n}},$=K;K.callCallback=K.callback,K.indexOf=function(t,e,n){return Array.prototype.indexOf.call(t,e,n)},K.getValueOrDefault=K.valueOrDefault,K.getValueAtIndexOrDefault=K.valueAtIndexOrDefault;var Z={linear:function(t){return t},easeInQuad:function(t){return t*t},easeOutQuad:function(t){return-t*(t-2)},easeInOutQuad:function(t){return(t/=.5)<1?.5*t*t:-.5*(--t*(t-2)-1)},easeInCubic:function(t){return t*t*t},easeOutCubic:function(t){return(t-=1)*t*t+1},easeInOutCubic:function(t){return(t/=.5)<1?.5*t*t*t:.5*((t-=2)*t*t+2)},easeInQuart:function(t){return t*t*t*t},easeOutQuart:function(t){return-((t-=1)*t*t*t-1)},easeInOutQuart:function(t){return(t/=.5)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)},easeInQuint:function(t){return t*t*t*t*t},easeOutQuint:function(t){return(t-=1)*t*t*t*t+1},easeInOutQuint:function(t){return(t/=.5)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)},easeInSine:function(t){return 1-Math.cos(t*(Math.PI/2))},easeOutSine:function(t){return Math.sin(t*(Math.PI/2))},easeInOutSine:function(t){return-.5*(Math.cos(Math.PI*t)-1)},easeInExpo:function(t){return 0===t?0:Math.pow(2,10*(t-1))},easeOutExpo:function(t){return 1===t?1:1-Math.pow(2,-10*t)},easeInOutExpo:function(t){return 0===t?0:1===t?1:(t/=.5)<1?.5*Math.pow(2,10*(t-1)):.5*(2-Math.pow(2,-10*--t))},easeInCirc:function(t){return t>=1?t:-(Math.sqrt(1-t*t)-1)},easeOutCirc:function(t){return Math.sqrt(1-(t-=1)*t)},easeInOutCirc:function(t){return(t/=.5)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)},easeInElastic:function(t){var e=1.70158,n=0,a=1;return 0===t?0:1===t?1:(n||(n=.3),a<1?(a=1,e=n/4):e=n/(2*Math.PI)*Math.asin(1/a),-a*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/n))},easeOutElastic:function(t){var e=1.70158,n=0,a=1;return 0===t?0:1===t?1:(n||(n=.3),a<1?(a=1,e=n/4):e=n/(2*Math.PI)*Math.asin(1/a),a*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/n)+1)},easeInOutElastic:function(t){var e=1.70158,n=0,a=1;return 0===t?0:2==(t/=.5)?1:(n||(n=.45),a<1?(a=1,e=n/4):e=n/(2*Math.PI)*Math.asin(1/a),t<1?a*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/n)*-.5:a*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/n)*.5+1)},easeInBack:function(t){var e=1.70158;return t*t*((e+1)*t-e)},easeOutBack:function(t){var e=1.70158;return(t-=1)*t*((e+1)*t+e)+1},easeInOutBack:function(t){var e=1.70158;return(t/=.5)<1?t*t*((1+(e*=1.525))*t-e)*.5:.5*((t-=2)*t*((1+(e*=1.525))*t+e)+2)},easeInBounce:function(t){return 1-Z.easeOutBounce(1-t)},easeOutBounce:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},easeInOutBounce:function(t){return t<.5?.5*Z.easeInBounce(2*t):.5*Z.easeOutBounce(2*t-1)+.5}},J={effects:Z};$.easingEffects=Z;var X=Math.PI,Q=X/180,tt=2*X,et=X/2,nt=X/4,at=2*X/3,rt={clear:function(t){t.ctx.clearRect(0,0,t.width,t.height)},roundedRect:function(t,e,n,a,r,o){if(o){var i=Math.min(o,r/2,a/2),s=e+i,c=n+i,l=e+a-i,d=n+r-i;t.moveTo(e,c),s<l&&c<d?(t.arc(s,c,i,-X,-et),t.arc(l,c,i,-et,0),t.arc(l,d,i,0,et),t.arc(s,d,i,et,X)):s<l?(t.moveTo(s,n),t.arc(l,c,i,-et,et),t.arc(s,c,i,et,X+et)):c<d?(t.arc(s,c,i,-X,0),t.arc(s,d,i,0,X)):t.arc(s,c,i,-X,X),t.closePath(),t.moveTo(e,n)}else t.rect(e,n,a,r)},drawPoint:function(t,e,n,a,r,o){var i,s,c,l,d,u=(o||0)*Q;if(!e||"object"!=typeof e||"[object HTMLImageElement]"!==(i=e.toString())&&"[object HTMLCanvasElement]"!==i){if(!(isNaN(n)||n<=0)){switch(t.beginPath(),e){default:t.arc(a,r,n,0,tt),t.closePath();break;case"triangle":t.moveTo(a+Math.sin(u)*n,r-Math.cos(u)*n),u+=at,t.lineTo(a+Math.sin(u)*n,r-Math.cos(u)*n),u+=at,t.lineTo(a+Math.sin(u)*n,r-Math.cos(u)*n),t.closePath();break;case"rectRounded":l=n-(d=.516*n),s=Math.cos(u+nt)*l,c=Math.sin(u+nt)*l,t.arc(a-s,r-c,d,u-X,u-et),t.arc(a+c,r-s,d,u-et,u),t.arc(a+s,r+c,d,u,u+et),t.arc(a-c,r+s,d,u+et,u+X),t.closePath();break;case"rect":if(!o){l=Math.SQRT1_2*n,t.rect(a-l,r-l,2*l,2*l);break}u+=nt;case"rectRot":s=Math.cos(u)*n,c=Math.sin(u)*n,t.moveTo(a-s,r-c),t.lineTo(a+c,r-s),t.lineTo(a+s,r+c),t.lineTo(a-c,r+s),t.closePath();break;case"crossRot":u+=nt;case"cross":s=Math.cos(u)*n,c=Math.sin(u)*n,t.moveTo(a-s,r-c),t.lineTo(a+s,r+c),t.moveTo(a+c,r-s),t.lineTo(a-c,r+s);break;case"star":s=Math.cos(u)*n,c=Math.sin(u)*n,t.moveTo(a-s,r-c),t.lineTo(a+s,r+c),t.moveTo(a+c,r-s),t.lineTo(a-c,r+s),u+=nt,s=Math.cos(u)*n,c=Math.sin(u)*n,t.moveTo(a-s,r-c),t.lineTo(a+s,r+c),t.moveTo(a+c,r-s),t.lineTo(a-c,r+s);break;case"line":s=Math.cos(u)*n,c=Math.sin(u)*n,t.moveTo(a-s,r-c),t.lineTo(a+s,r+c);break;case"dash":t.moveTo(a,r),t.lineTo(a+Math.cos(u)*n,r+Math.sin(u)*n)}t.fill(),t.stroke()}}else t.drawImage(e,a-e.width/2,r-e.height/2,e.width,e.height)},_isPointInArea:function(t,e){return t.x>e.left-1e-6&&t.x<e.right+1e-6&&t.y>e.top-1e-6&&t.y<e.bottom+1e-6},clipArea:function(t,e){t.save(),t.beginPath(),t.rect(e.left,e.top,e.right-e.left,e.bottom-e.top),t.clip()},unclipArea:function(t){t.restore()},lineTo:function(t,e,n,a){var r=n.steppedLine;if(r){if("middle"===r){var o=(e.x+n.x)/2;t.lineTo(o,a?n.y:e.y),t.lineTo(o,a?e.y:n.y)}else"after"===r&&!a||"after"!==r&&a?t.lineTo(e.x,n.y):t.lineTo(n.x,e.y);t.lineTo(n.x,n.y)}else n.tension?t.bezierCurveTo(a?e.controlPointPreviousX:e.controlPointNextX,a?e.controlPointPreviousY:e.controlPointNextY,a?n.controlPointNextX:n.controlPointPreviousX,a?n.controlPointNextY:n.controlPointPreviousY,n.x,n.y):t.lineTo(n.x,n.y)}},ot=rt;$.clear=rt.clear,$.drawRoundedRectangle=function(t){t.beginPath(),rt.roundedRect.apply(rt,arguments)};var it={_set:function(t,e){return $.merge(this[t]||(this[t]={}),e)}};it._set("global",{defaultColor:"rgba(0,0,0,0.1)",defaultFontColor:"#666",defaultFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",defaultFontSize:12,defaultFontStyle:"normal",defaultLineHeight:1.2,showLines:!0});var st=it,ct=$.valueOrDefault,lt={toLineHeight:function(t,e){var n=(""+t).match(/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/);if(!n||"normal"===n[1])return 1.2*e;switch(t=+n[2],n[3]){case"px":return t;case"%":t/=100}return e*t},toPadding:function(t){var e,n,a,r;return $.isObject(t)?(e=+t.top||0,n=+t.right||0,a=+t.bottom||0,r=+t.left||0):e=n=a=r=+t||0,{top:e,right:n,bottom:a,left:r,height:e+a,width:r+n}},_parseFont:function(t){var e=st.global,n=ct(t.fontSize,e.defaultFontSize),a={family:ct(t.fontFamily,e.defaultFontFamily),lineHeight:$.options.toLineHeight(ct(t.lineHeight,e.defaultLineHeight),n),size:n,style:ct(t.fontStyle,e.defaultFontStyle),weight:null,string:""};return a.string=function(t){return!t||$.isNullOrUndef(t.size)||$.isNullOrUndef(t.family)?null:(t.style?t.style+" ":"")+(t.weight?t.weight+" ":"")+t.size+"px "+t.family}(a),a},resolve:function(t,e,n){var a,r,o;for(a=0,r=t.length;a<r;++a)if(void 0!==(o=t[a])&&(void 0!==e&&"function"==typeof o&&(o=o(e)),void 0!==n&&$.isArray(o)&&(o=o[n]),void 0!==o))return o}},dt=$,ut=ot,gt=lt;dt.easing=J,dt.canvas=ut,dt.options=gt;var ft=function(t){dt.extend(this,t),this.initialize.apply(this,arguments)};dt.extend(ft.prototype,{initialize:function(){this.hidden=!1},pivot:function(){var t=this;return t._view||(t._view=dt.clone(t._model)),t._start={},t},transition:function(t){var e=this,n=e._model,a=e._start,r=e._view;return n&&1!==t?(r||(r=e._view={}),a||(a=e._start={}),function(t,e,n,a){var r,o,i,s,c,l,d,u,g,f=Object.keys(n);for(r=0,o=f.length;r<o;++r)if(l=n[i=f[r]],e.hasOwnProperty(i)||(e[i]=l),(s=e[i])!==l&&"_"!==i[0]){if(t.hasOwnProperty(i)||(t[i]=s),(d=typeof l)==typeof(c=t[i]))if("string"===d){if((u=W(c)).valid&&(g=W(l)).valid){e[i]=g.mix(u,a).rgbString();continue}}else if(dt.isFinite(c)&&dt.isFinite(l)){e[i]=c+(l-c)*a;continue}e[i]=l}}(a,r,n,t),e):(e._view=n,e._start=null,e)},tooltipPosition:function(){return{x:this._model.x,y:this._model.y}},hasValue:function(){return dt.isNumber(this._model.x)&&dt.isNumber(this._model.y)}}),ft.extend=dt.inherits;var pt=ft,mt=pt.extend({chart:null,currentStep:0,numSteps:60,easing:"",render:null,onAnimationProgress:null,onAnimationComplete:null}),ht=mt;Object.defineProperty(mt.prototype,"animationObject",{get:function(){return this}}),Object.defineProperty(mt.prototype,"chartInstance",{get:function(){return this.chart},set:function(t){this.chart=t}}),st._set("global",{animation:{duration:1e3,easing:"easeOutQuart",onProgress:dt.noop,onComplete:dt.noop}});var bt={animations:[],request:null,addAnimation:function(t,e,n,a){var r,o,i=this.animations;for(e.chart=t,e.startTime=Date.now(),e.duration=n,a||(t.animating=!0),r=0,o=i.length;r<o;++r)if(i[r].chart===t)return void(i[r]=e);i.push(e),1===i.length&&this.requestAnimationFrame()},cancelAnimation:function(t){var e=dt.findIndex(this.animations,(function(e){return e.chart===t}));-1!==e&&(this.animations.splice(e,1),t.animating=!1)},requestAnimationFrame:function(){var t=this;null===t.request&&(t.request=dt.requestAnimFrame.call(window,(function(){t.request=null,t.startDigest()})))},startDigest:function(){this.advance(),this.animations.length>0&&this.requestAnimationFrame()},advance:function(){for(var t,e,n,a,r=this.animations,o=0;o<r.length;)e=(t=r[o]).chart,n=t.numSteps,a=Math.floor((Date.now()-t.startTime)/t.duration*n)+1,t.currentStep=Math.min(a,n),dt.callback(t.render,[e,t],e),dt.callback(t.onAnimationProgress,[t],e),t.currentStep>=n?(dt.callback(t.onAnimationComplete,[t],e),e.animating=!1,r.splice(o,1)):++o}},_t=dt.options.resolve,yt=["push","pop","shift","splice","unshift"];function Ot(t,e){var n=t._chartjs;if(n){var a=n.listeners,r=a.indexOf(e);-1!==r&&a.splice(r,1),a.length>0||(yt.forEach((function(e){delete t[e]})),delete t._chartjs)}}var vt=function(t,e){this.initialize(t,e)};dt.extend(vt.prototype,{datasetElementType:null,dataElementType:null,initialize:function(t,e){this.chart=t,this.index=e,this.linkScales(),this.addElements()},updateIndex:function(t){this.index=t},linkScales:function(){var t=this,e=t.getMeta(),n=t.getDataset();null!==e.xAxisID&&e.xAxisID in t.chart.scales||(e.xAxisID=n.xAxisID||t.chart.options.scales.xAxes[0].id),null!==e.yAxisID&&e.yAxisID in t.chart.scales||(e.yAxisID=n.yAxisID||t.chart.options.scales.yAxes[0].id)},getDataset:function(){return this.chart.data.datasets[this.index]},getMeta:function(){return this.chart.getDatasetMeta(this.index)},getScaleForId:function(t){return this.chart.scales[t]},_getValueScaleId:function(){return this.getMeta().yAxisID},_getIndexScaleId:function(){return this.getMeta().xAxisID},_getValueScale:function(){return this.getScaleForId(this._getValueScaleId())},_getIndexScale:function(){return this.getScaleForId(this._getIndexScaleId())},reset:function(){this.update(!0)},destroy:function(){this._data&&Ot(this._data,this)},createMetaDataset:function(){var t=this.datasetElementType;return t&&new t({_chart:this.chart,_datasetIndex:this.index})},createMetaData:function(t){var e=this.dataElementType;return e&&new e({_chart:this.chart,_datasetIndex:this.index,_index:t})},addElements:function(){var t,e,n=this.getMeta(),a=this.getDataset().data||[],r=n.data;for(t=0,e=a.length;t<e;++t)r[t]=r[t]||this.createMetaData(t);n.dataset=n.dataset||this.createMetaDataset()},addElementAndReset:function(t){var e=this.createMetaData(t);this.getMeta().data.splice(t,0,e),this.updateElement(e,t,!0)},buildOrUpdateElements:function(){var t,e,n=this,a=n.getDataset(),r=a.data||(a.data=[]);n._data!==r&&(n._data&&Ot(n._data,n),r&&Object.isExtensible(r)&&(e=n,(t=r)._chartjs?t._chartjs.listeners.push(e):(Object.defineProperty(t,"_chartjs",{configurable:!0,enumerable:!1,value:{listeners:[e]}}),yt.forEach((function(e){var n="onData"+e.charAt(0).toUpperCase()+e.slice(1),a=t[e];Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value:function(){var e=Array.prototype.slice.call(arguments),r=a.apply(this,e);return dt.each(t._chartjs.listeners,(function(t){"function"==typeof t[n]&&t[n].apply(t,e)})),r}})})))),n._data=r),n.resyncElements()},update:dt.noop,transition:function(t){for(var e=this.getMeta(),n=e.data||[],a=n.length,r=0;r<a;++r)n[r].transition(t);e.dataset&&e.dataset.transition(t)},draw:function(){var t=this.getMeta(),e=t.data||[],n=e.length,a=0;for(t.dataset&&t.dataset.draw();a<n;++a)e[a].draw()},removeHoverStyle:function(t){dt.merge(t._model,t.$previousStyle||{}),delete t.$previousStyle},setHoverStyle:function(t){var e=this.chart.data.datasets[t._datasetIndex],n=t._index,a=t.custom||{},r=t._model,o=dt.getHoverColor;t.$previousStyle={backgroundColor:r.backgroundColor,borderColor:r.borderColor,borderWidth:r.borderWidth},r.backgroundColor=_t([a.hoverBackgroundColor,e.hoverBackgroundColor,o(r.backgroundColor)],void 0,n),r.borderColor=_t([a.hoverBorderColor,e.hoverBorderColor,o(r.borderColor)],void 0,n),r.borderWidth=_t([a.hoverBorderWidth,e.hoverBorderWidth,r.borderWidth],void 0,n)},resyncElements:function(){var t=this.getMeta(),e=this.getDataset().data,n=t.data.length,a=e.length;a<n?t.data.splice(a,n-a):a>n&&this.insertElements(n,a-n)},insertElements:function(t,e){for(var n=0;n<e;++n)this.addElementAndReset(t+n)},onDataPush:function(){var t=arguments.length;this.insertElements(this.getDataset().data.length-t,t)},onDataPop:function(){this.getMeta().data.pop()},onDataShift:function(){this.getMeta().data.shift()},onDataSplice:function(t,e){this.getMeta().data.splice(t,e),this.insertElements(t,arguments.length-2)},onDataUnshift:function(){this.insertElements(0,arguments.length)}}),vt.extend=dt.inherits;var Ct=vt;st._set("global",{elements:{arc:{backgroundColor:st.global.defaultColor,borderColor:"#fff",borderWidth:2,borderAlign:"center"}}});var Pt=pt.extend({inLabelRange:function(t){var e=this._view;return!!e&&Math.pow(t-e.x,2)<Math.pow(e.radius+e.hoverRadius,2)},inRange:function(t,e){var n=this._view;if(n){for(var a=dt.getAngleFromPoint(n,{x:t,y:e}),r=a.angle,o=a.distance,i=n.startAngle,s=n.endAngle;s<i;)s+=2*Math.PI;for(;r>s;)r-=2*Math.PI;for(;r<i;)r+=2*Math.PI;return r>=i&&r<=s&&o>=n.innerRadius&&o<=n.outerRadius}return!1},getCenterPoint:function(){var t=this._view,e=(t.startAngle+t.endAngle)/2,n=(t.innerRadius+t.outerRadius)/2;return{x:t.x+Math.cos(e)*n,y:t.y+Math.sin(e)*n}},getArea:function(){var t=this._view;return Math.PI*((t.endAngle-t.startAngle)/(2*Math.PI))*(Math.pow(t.outerRadius,2)-Math.pow(t.innerRadius,2))},tooltipPosition:function(){var t=this._view,e=t.startAngle+(t.endAngle-t.startAngle)/2,n=(t.outerRadius-t.innerRadius)/2+t.innerRadius;return{x:t.x+Math.cos(e)*n,y:t.y+Math.sin(e)*n}},draw:function(){var t,e=this._chart.ctx,n=this._view,a=n.startAngle,r=n.endAngle,o="inner"===n.borderAlign?.33:0;e.save(),e.beginPath(),e.arc(n.x,n.y,Math.max(n.outerRadius-o,0),a,r),e.arc(n.x,n.y,n.innerRadius,r,a,!0),e.closePath(),e.fillStyle=n.backgroundColor,e.fill(),n.borderWidth&&("inner"===n.borderAlign?(e.beginPath(),e.arc(n.x,n.y,n.outerRadius,a-(t=o/n.outerRadius),r+t),n.innerRadius>o?e.arc(n.x,n.y,n.innerRadius-o,r+(t=o/n.innerRadius),a-t,!0):e.arc(n.x,n.y,o,r+Math.PI/2,a-Math.PI/2),e.closePath(),e.clip(),e.beginPath(),e.arc(n.x,n.y,n.outerRadius,a,r),e.arc(n.x,n.y,n.innerRadius,r,a,!0),e.closePath(),e.lineWidth=2*n.borderWidth,e.lineJoin="round"):(e.lineWidth=n.borderWidth,e.lineJoin="bevel"),e.strokeStyle=n.borderColor,e.stroke()),e.restore()}}),Mt=dt.valueOrDefault,xt=st.global.defaultColor;st._set("global",{elements:{line:{tension:.4,backgroundColor:xt,borderWidth:3,borderColor:xt,borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",capBezierPoints:!0,fill:!0}}});var wt=pt.extend({draw:function(){var t,e,n,a,r=this._view,o=this._chart.ctx,i=r.spanGaps,s=this._children.slice(),c=st.global,l=c.elements.line,d=-1;for(this._loop&&s.length&&s.push(s[0]),o.save(),o.lineCap=r.borderCapStyle||l.borderCapStyle,o.setLineDash&&o.setLineDash(r.borderDash||l.borderDash),o.lineDashOffset=Mt(r.borderDashOffset,l.borderDashOffset),o.lineJoin=r.borderJoinStyle||l.borderJoinStyle,o.lineWidth=Mt(r.borderWidth,l.borderWidth),o.strokeStyle=r.borderColor||c.defaultColor,o.beginPath(),d=-1,t=0;t<s.length;++t)e=s[t],n=dt.previousItem(s,t),a=e._view,0===t?a.skip||(o.moveTo(a.x,a.y),d=t):(n=-1===d?n:s[d],a.skip||(d!==t-1&&!i||-1===d?o.moveTo(a.x,a.y):dt.canvas.lineTo(o,n._view,e._view),d=t));o.stroke(),o.restore()}}),Tt=dt.valueOrDefault,kt=st.global.defaultColor;function St(t){var e=this._view;return!!e&&Math.abs(t-e.x)<e.radius+e.hitRadius}st._set("global",{elements:{point:{radius:3,pointStyle:"circle",backgroundColor:kt,borderColor:kt,borderWidth:1,hitRadius:1,hoverRadius:4,hoverBorderWidth:1}}});var It=pt.extend({inRange:function(t,e){var n=this._view;return!!n&&Math.pow(t-n.x,2)+Math.pow(e-n.y,2)<Math.pow(n.hitRadius+n.radius,2)},inLabelRange:St,inXRange:St,inYRange:function(t){var e=this._view;return!!e&&Math.abs(t-e.y)<e.radius+e.hitRadius},getCenterPoint:function(){var t=this._view;return{x:t.x,y:t.y}},getArea:function(){return Math.PI*Math.pow(this._view.radius,2)},tooltipPosition:function(){var t=this._view;return{x:t.x,y:t.y,padding:t.radius+t.borderWidth}},draw:function(t){var e=this._view,n=this._chart.ctx,a=e.pointStyle,r=e.rotation,o=e.radius,i=e.x,s=e.y,c=st.global,l=c.defaultColor;e.skip||(void 0===t||dt.canvas._isPointInArea(e,t))&&(n.strokeStyle=e.borderColor||l,n.lineWidth=Tt(e.borderWidth,c.elements.point.borderWidth),n.fillStyle=e.backgroundColor||l,dt.canvas.drawPoint(n,a,o,i,s,r))}}),Nt=st.global.defaultColor;function Rt(t){return t&&void 0!==t.width}function At(t){var e,n,a,r,o;return Rt(t)?(e=t.x-(o=t.width/2),n=t.x+o,a=Math.min(t.y,t.base),r=Math.max(t.y,t.base)):(o=t.height/2,e=Math.min(t.x,t.base),n=Math.max(t.x,t.base),a=t.y-o,r=t.y+o),{left:e,top:a,right:n,bottom:r}}function Et(t,e,n){return t===e?n:t===n?e:t}function Dt(t,e,n){var a=null===e,r=null===n,o=!(!t||a&&r)&&At(t);return o&&(a||e>=o.left&&e<=o.right)&&(r||n>=o.top&&n<=o.bottom)}st._set("global",{elements:{rectangle:{backgroundColor:Nt,borderColor:Nt,borderSkipped:"bottom",borderWidth:0}}});var Lt=pt.extend({draw:function(){var t=this._chart.ctx,e=this._view,n=function(t){var e=At(t),n=e.right-e.left,a=e.bottom-e.top,r=function(t,e,n){var a,r,o,i,s=t.borderWidth,c=function(t){var e=t.borderSkipped,n={};return e?(t.horizontal?t.base>t.x&&(e=Et(e,"left","right")):t.base<t.y&&(e=Et(e,"bottom","top")),n[e]=!0,n):n}(t);return dt.isObject(s)?(a=+s.top||0,r=+s.right||0,o=+s.bottom||0,i=+s.left||0):a=r=o=i=+s||0,{t:c.top||a<0?0:a>n?n:a,r:c.right||r<0?0:r>e?e:r,b:c.bottom||o<0?0:o>n?n:o,l:c.left||i<0?0:i>e?e:i}}(t,n/2,a/2);return{outer:{x:e.left,y:e.top,w:n,h:a},inner:{x:e.left+r.l,y:e.top+r.t,w:n-r.l-r.r,h:a-r.t-r.b}}}(e),a=n.outer,r=n.inner;t.fillStyle=e.backgroundColor,t.fillRect(a.x,a.y,a.w,a.h),a.w===r.w&&a.h===r.h||(t.save(),t.beginPath(),t.rect(a.x,a.y,a.w,a.h),t.clip(),t.fillStyle=e.borderColor,t.rect(r.x,r.y,r.w,r.h),t.fill("evenodd"),t.restore())},height:function(){var t=this._view;return t.base-t.y},inRange:function(t,e){return Dt(this._view,t,e)},inLabelRange:function(t,e){var n=this._view;return Rt(n)?Dt(n,t,null):Dt(n,null,e)},inXRange:function(t){return Dt(this._view,t,null)},inYRange:function(t){return Dt(this._view,null,t)},getCenterPoint:function(){var t,e,n=this._view;return Rt(n)?(t=n.x,e=(n.y+n.base)/2):(t=(n.x+n.base)/2,e=n.y),{x:t,y:e}},getArea:function(){var t=this._view;return Rt(t)?t.width*Math.abs(t.y-t.base):t.height*Math.abs(t.x-t.base)},tooltipPosition:function(){var t=this._view;return{x:t.x,y:t.y}}}),qt={},jt=wt,Ft=It,zt=Lt;qt.Arc=Pt,qt.Line=jt,qt.Point=Ft,qt.Rectangle=zt;var Vt=dt.options.resolve;st._set("bar",{hover:{mode:"label"},scales:{xAxes:[{type:"category",categoryPercentage:.8,barPercentage:.9,offset:!0,gridLines:{offsetGridLines:!0}}],yAxes:[{type:"linear"}]}});var Gt=Ct.extend({dataElementType:qt.Rectangle,initialize:function(){var t,e=this;Ct.prototype.initialize.apply(e,arguments),(t=e.getMeta()).stack=e.getDataset().stack,t.bar=!0},update:function(t){var e,n,a=this.getMeta().data;for(this._ruler=this.getRuler(),e=0,n=a.length;e<n;++e)this.updateElement(a[e],e,t)},updateElement:function(t,e,n){var a=this,r=a.getMeta(),o=a.getDataset(),i=a._resolveElementOptions(t,e);t._xScale=a.getScaleForId(r.xAxisID),t._yScale=a.getScaleForId(r.yAxisID),t._datasetIndex=a.index,t._index=e,t._model={backgroundColor:i.backgroundColor,borderColor:i.borderColor,borderSkipped:i.borderSkipped,borderWidth:i.borderWidth,datasetLabel:o.label,label:a.chart.data.labels[e]},a._updateElementGeometry(t,e,n),t.pivot()},_updateElementGeometry:function(t,e,n){var a=this,r=t._model,o=a._getValueScale(),i=o.getBasePixel(),s=o.isHorizontal(),c=a._ruler||a.getRuler(),l=a.calculateBarValuePixels(a.index,e),d=a.calculateBarIndexPixels(a.index,e,c);r.horizontal=s,r.base=n?i:l.base,r.x=s?n?i:l.head:d.center,r.y=s?d.center:n?i:l.head,r.height=s?d.size:void 0,r.width=s?void 0:d.size},_getStacks:function(t){var e,n,a=this.chart,r=this._getIndexScale().options.stacked,o=void 0===t?a.data.datasets.length:t+1,i=[];for(e=0;e<o;++e)(n=a.getDatasetMeta(e)).bar&&a.isDatasetVisible(e)&&(!1===r||!0===r&&-1===i.indexOf(n.stack)||void 0===r&&(void 0===n.stack||-1===i.indexOf(n.stack)))&&i.push(n.stack);return i},getStackCount:function(){return this._getStacks().length},getStackIndex:function(t,e){var n=this._getStacks(t),a=void 0!==e?n.indexOf(e):-1;return-1===a?n.length-1:a},getRuler:function(){var t,e,n=this._getIndexScale(),a=this.getStackCount(),r=this.index,o=n.isHorizontal(),i=o?n.left:n.top,s=i+(o?n.width:n.height),c=[];for(t=0,e=this.getMeta().data.length;t<e;++t)c.push(n.getPixelForValue(null,t,r));return{min:dt.isNullOrUndef(n.options.barThickness)?function(t,e){var n,a,r,o,i=t.isHorizontal()?t.width:t.height,s=t.getTicks();for(r=1,o=e.length;r<o;++r)i=Math.min(i,Math.abs(e[r]-e[r-1]));for(r=0,o=s.length;r<o;++r)a=t.getPixelForTick(r),i=r>0?Math.min(i,a-n):i,n=a;return i}(n,c):-1,pixels:c,start:i,end:s,stackCount:a,scale:n}},calculateBarValuePixels:function(t,e){var n,a,r,o,i,s,c=this.chart,l=this.getMeta(),d=this._getValueScale(),u=d.isHorizontal(),g=c.data.datasets,f=+d.getRightValue(g[t].data[e]),p=d.options.minBarLength,m=d.options.stacked,h=l.stack,b=0;if(m||void 0===m&&void 0!==h)for(n=0;n<t;++n)(a=c.getDatasetMeta(n)).bar&&a.stack===h&&a.controller._getValueScaleId()===d.id&&c.isDatasetVisible(n)&&(r=+d.getRightValue(g[n].data[e]),(f<0&&r<0||f>=0&&r>0)&&(b+=r));return o=d.getPixelForValue(b),s=(i=d.getPixelForValue(b+f))-o,void 0!==p&&Math.abs(s)<p&&(s=p,i=f>=0&&!u||f<0&&u?o-p:o+p),{size:s,base:o,head:i,center:i+s/2}},calculateBarIndexPixels:function(t,e,n){var a=n.scale.options,r="flex"===a.barThickness?function(t,e,n){var a,r=e.pixels,o=r[t],i=t>0?r[t-1]:null,s=t<r.length-1?r[t+1]:null,c=n.categoryPercentage;return null===i&&(i=o-(null===s?e.end-e.start:s-o)),null===s&&(s=o+o-i),a=o-(o-Math.min(i,s))/2*c,{chunk:Math.abs(s-i)/2*c/e.stackCount,ratio:n.barPercentage,start:a}}(e,n,a):function(t,e,n){var a,r,o=n.barThickness,i=e.stackCount,s=e.pixels[t];return dt.isNullOrUndef(o)?(a=e.min*n.categoryPercentage,r=n.barPercentage):(a=o*i,r=1),{chunk:a/i,ratio:r,start:s-a/2}}(e,n,a),o=this.getStackIndex(t,this.getMeta().stack),i=r.start+r.chunk*o+r.chunk/2,s=Math.min(dt.valueOrDefault(a.maxBarThickness,1/0),r.chunk*r.ratio);return{base:i-s/2,head:i+s/2,center:i,size:s}},draw:function(){var t=this.chart,e=this._getValueScale(),n=this.getMeta().data,a=this.getDataset(),r=n.length,o=0;for(dt.canvas.clipArea(t.ctx,t.chartArea);o<r;++o)isNaN(e.getRightValue(a.data[o]))||n[o].draw();dt.canvas.unclipArea(t.ctx)},_resolveElementOptions:function(t,e){var n,a,r,o=this.chart,i=o.data.datasets[this.index],s=t.custom||{},c=o.options.elements.rectangle,l={},d={chart:o,dataIndex:e,dataset:i,datasetIndex:this.index},u=["backgroundColor","borderColor","borderSkipped","borderWidth"];for(n=0,a=u.length;n<a;++n)l[r=u[n]]=Vt([s[r],i[r],c[r]],d,e);return l}}),Yt=dt.valueOrDefault,Bt=dt.options.resolve;st._set("bubble",{hover:{mode:"single"},scales:{xAxes:[{type:"linear",position:"bottom",id:"x-axis-0"}],yAxes:[{type:"linear",position:"left",id:"y-axis-0"}]},tooltips:{callbacks:{title:function(){return""},label:function(t,e){return(e.datasets[t.datasetIndex].label||"")+": ("+t.xLabel+", "+t.yLabel+", "+e.datasets[t.datasetIndex].data[t.index].r+")"}}}});var Ht=Ct.extend({dataElementType:qt.Point,update:function(t){var e=this,n=e.getMeta();dt.each(n.data,(function(n,a){e.updateElement(n,a,t)}))},updateElement:function(t,e,n){var a=this,r=a.getMeta(),o=t.custom||{},i=a.getScaleForId(r.xAxisID),s=a.getScaleForId(r.yAxisID),c=a._resolveElementOptions(t,e),l=a.getDataset().data[e],d=a.index,u=n?i.getPixelForDecimal(.5):i.getPixelForValue("object"==typeof l?l:NaN,e,d),g=n?s.getBasePixel():s.getPixelForValue(l,e,d);t._xScale=i,t._yScale=s,t._options=c,t._datasetIndex=d,t._index=e,t._model={backgroundColor:c.backgroundColor,borderColor:c.borderColor,borderWidth:c.borderWidth,hitRadius:c.hitRadius,pointStyle:c.pointStyle,rotation:c.rotation,radius:n?0:c.radius,skip:o.skip||isNaN(u)||isNaN(g),x:u,y:g},t.pivot()},setHoverStyle:function(t){var e=t._model,n=t._options,a=dt.getHoverColor;t.$previousStyle={backgroundColor:e.backgroundColor,borderColor:e.borderColor,borderWidth:e.borderWidth,radius:e.radius},e.backgroundColor=Yt(n.hoverBackgroundColor,a(n.backgroundColor)),e.borderColor=Yt(n.hoverBorderColor,a(n.borderColor)),e.borderWidth=Yt(n.hoverBorderWidth,n.borderWidth),e.radius=n.radius+n.hoverRadius},_resolveElementOptions:function(t,e){var n,a,r,o=this.chart,i=o.data.datasets[this.index],s=t.custom||{},c=o.options.elements.point,l=i.data[e],d={},u={chart:o,dataIndex:e,dataset:i,datasetIndex:this.index},g=["backgroundColor","borderColor","borderWidth","hoverBackgroundColor","hoverBorderColor","hoverBorderWidth","hoverRadius","hitRadius","pointStyle","rotation"];for(n=0,a=g.length;n<a;++n)d[r=g[n]]=Bt([s[r],i[r],c[r]],u,e);return d.radius=Bt([s.radius,l?l.r:void 0,i.radius,c.radius],u,e),d}}),Ut=dt.options.resolve,Wt=dt.valueOrDefault;st._set("doughnut",{animation:{animateRotate:!0,animateScale:!1},hover:{mode:"single"},legendCallback:function(t){var e=[];e.push('<ul class="'+t.id+'-legend">');var n=t.data,a=n.datasets,r=n.labels;if(a.length)for(var o=0;o<a[0].data.length;++o)e.push('<li><span style="background-color:'+a[0].backgroundColor[o]+'"></span>'),r[o]&&e.push(r[o]),e.push("</li>");return e.push("</ul>"),e.join("")},legend:{labels:{generateLabels:function(t){var e=t.data;return e.labels.length&&e.datasets.length?e.labels.map((function(n,a){var r=t.getDatasetMeta(0),o=e.datasets[0],i=r.data[a],s=i&&i.custom||{},c=t.options.elements.arc;return{text:n,fillStyle:Ut([s.backgroundColor,o.backgroundColor,c.backgroundColor],void 0,a),strokeStyle:Ut([s.borderColor,o.borderColor,c.borderColor],void 0,a),lineWidth:Ut([s.borderWidth,o.borderWidth,c.borderWidth],void 0,a),hidden:isNaN(o.data[a])||r.data[a].hidden,index:a}})):[]}},onClick:function(t,e){var n,a,r,o=e.index,i=this.chart;for(n=0,a=(i.data.datasets||[]).length;n<a;++n)(r=i.getDatasetMeta(n)).data[o]&&(r.data[o].hidden=!r.data[o].hidden);i.update()}},cutoutPercentage:50,rotation:-.5*Math.PI,circumference:2*Math.PI,tooltips:{callbacks:{title:function(){return""},label:function(t,e){var n=e.labels[t.index],a=": "+e.datasets[t.datasetIndex].data[t.index];return dt.isArray(n)?(n=n.slice())[0]+=a:n+=a,n}}}});var Kt=Ct.extend({dataElementType:qt.Arc,linkScales:dt.noop,getRingIndex:function(t){for(var e=0,n=0;n<t;++n)this.chart.isDatasetVisible(n)&&++e;return e},update:function(t){var e,n,a=this,r=a.chart,o=r.chartArea,i=r.options,s=o.right-o.left,c=o.bottom-o.top,l=Math.min(s,c),d={x:0,y:0},u=a.getMeta(),g=u.data,f=i.cutoutPercentage,p=i.circumference,m=a._getRingWeight(a.index);if(p<2*Math.PI){var h=i.rotation%(2*Math.PI),b=(h+=2*Math.PI*(h>=Math.PI?-1:h<-Math.PI?1:0))+p,_={x:Math.cos(h),y:Math.sin(h)},y={x:Math.cos(b),y:Math.sin(b)},O=h<=0&&b>=0||h<=2*Math.PI&&2*Math.PI<=b,v=h<=.5*Math.PI&&.5*Math.PI<=b||h<=2.5*Math.PI&&2.5*Math.PI<=b,C=h<=-Math.PI&&-Math.PI<=b||h<=Math.PI&&Math.PI<=b,P=h<=.5*-Math.PI&&.5*-Math.PI<=b||h<=1.5*Math.PI&&1.5*Math.PI<=b,M=f/100,x={x:C?-1:Math.min(_.x*(_.x<0?1:M),y.x*(y.x<0?1:M)),y:P?-1:Math.min(_.y*(_.y<0?1:M),y.y*(y.y<0?1:M))},w={x:O?1:Math.max(_.x*(_.x>0?1:M),y.x*(y.x>0?1:M)),y:v?1:Math.max(_.y*(_.y>0?1:M),y.y*(y.y>0?1:M))},T={width:.5*(w.x-x.x),height:.5*(w.y-x.y)};l=Math.min(s/T.width,c/T.height),d={x:-.5*(w.x+x.x),y:-.5*(w.y+x.y)}}for(e=0,n=g.length;e<n;++e)g[e]._options=a._resolveElementOptions(g[e],e);for(r.borderWidth=a.getMaxBorderWidth(),r.outerRadius=Math.max((l-r.borderWidth)/2,0),r.innerRadius=Math.max(f?r.outerRadius/100*f:0,0),r.radiusLength=(r.outerRadius-r.innerRadius)/(a._getVisibleDatasetWeightTotal()||1),r.offsetX=d.x*r.outerRadius,r.offsetY=d.y*r.outerRadius,u.total=a.calculateTotal(),a.outerRadius=r.outerRadius-r.radiusLength*a._getRingWeightOffset(a.index),a.innerRadius=Math.max(a.outerRadius-r.radiusLength*m,0),e=0,n=g.length;e<n;++e)a.updateElement(g[e],e,t)},updateElement:function(t,e,n){var a=this,r=a.chart,o=r.chartArea,i=r.options,s=i.animation,c=(o.left+o.right)/2,l=(o.top+o.bottom)/2,d=i.rotation,u=i.rotation,g=a.getDataset(),f=n&&s.animateRotate?0:t.hidden?0:a.calculateCircumference(g.data[e])*(i.circumference/(2*Math.PI)),p=t._options||{};dt.extend(t,{_datasetIndex:a.index,_index:e,_model:{backgroundColor:p.backgroundColor,borderColor:p.borderColor,borderWidth:p.borderWidth,borderAlign:p.borderAlign,x:c+r.offsetX,y:l+r.offsetY,startAngle:d,endAngle:u,circumference:f,outerRadius:n&&s.animateScale?0:a.outerRadius,innerRadius:n&&s.animateScale?0:a.innerRadius,label:dt.valueAtIndexOrDefault(g.label,e,r.data.labels[e])}});var m=t._model;n&&s.animateRotate||(m.startAngle=0===e?i.rotation:a.getMeta().data[e-1]._model.endAngle,m.endAngle=m.startAngle+m.circumference),t.pivot()},calculateTotal:function(){var t,e=this.getDataset(),n=this.getMeta(),a=0;return dt.each(n.data,(function(n,r){t=e.data[r],isNaN(t)||n.hidden||(a+=Math.abs(t))})),a},calculateCircumference:function(t){var e=this.getMeta().total;return e>0&&!isNaN(t)?2*Math.PI*(Math.abs(t)/e):0},getMaxBorderWidth:function(t){var e,n,a,r,o,i,s,c,l=0,d=this.chart;if(!t)for(e=0,n=d.data.datasets.length;e<n;++e)if(d.isDatasetVisible(e)){t=(a=d.getDatasetMeta(e)).data,e!==this.index&&(o=a.controller);break}if(!t)return 0;for(e=0,n=t.length;e<n;++e)r=t[e],"inner"!==(i=o?o._resolveElementOptions(r,e):r._options).borderAlign&&(l=(c=i.hoverBorderWidth)>(l=(s=i.borderWidth)>l?s:l)?c:l);return l},setHoverStyle:function(t){var e=t._model,n=t._options,a=dt.getHoverColor;t.$previousStyle={backgroundColor:e.backgroundColor,borderColor:e.borderColor,borderWidth:e.borderWidth},e.backgroundColor=Wt(n.hoverBackgroundColor,a(n.backgroundColor)),e.borderColor=Wt(n.hoverBorderColor,a(n.borderColor)),e.borderWidth=Wt(n.hoverBorderWidth,n.borderWidth)},_resolveElementOptions:function(t,e){var n,a,r,o=this.chart,i=this.getDataset(),s=t.custom||{},c=o.options.elements.arc,l={},d={chart:o,dataIndex:e,dataset:i,datasetIndex:this.index},u=["backgroundColor","borderColor","borderWidth","borderAlign","hoverBackgroundColor","hoverBorderColor","hoverBorderWidth"];for(n=0,a=u.length;n<a;++n)l[r=u[n]]=Ut([s[r],i[r],c[r]],d,e);return l},_getRingWeightOffset:function(t){for(var e=0,n=0;n<t;++n)this.chart.isDatasetVisible(n)&&(e+=this._getRingWeight(n));return e},_getRingWeight:function(t){return Math.max(Wt(this.chart.data.datasets[t].weight,1),0)},_getVisibleDatasetWeightTotal:function(){return this._getRingWeightOffset(this.chart.data.datasets.length)}});st._set("horizontalBar",{hover:{mode:"index",axis:"y"},scales:{xAxes:[{type:"linear",position:"bottom"}],yAxes:[{type:"category",position:"left",categoryPercentage:.8,barPercentage:.9,offset:!0,gridLines:{offsetGridLines:!0}}]},elements:{rectangle:{borderSkipped:"left"}},tooltips:{mode:"index",axis:"y"}});var $t=Gt.extend({_getValueScaleId:function(){return this.getMeta().xAxisID},_getIndexScaleId:function(){return this.getMeta().yAxisID}}),Zt=dt.valueOrDefault,Jt=dt.options.resolve,Xt=dt.canvas._isPointInArea;function Qt(t,e){return Zt(t.showLine,e.showLines)}st._set("line",{showLines:!0,spanGaps:!1,hover:{mode:"label"},scales:{xAxes:[{type:"category",id:"x-axis-0"}],yAxes:[{type:"linear",id:"y-axis-0"}]}});var te=Ct.extend({datasetElementType:qt.Line,dataElementType:qt.Point,update:function(t){var e,n,a=this,r=a.getMeta(),o=r.dataset,i=r.data||[],s=a.getScaleForId(r.yAxisID),c=a.getDataset(),l=Qt(c,a.chart.options);for(l&&(void 0!==c.tension&&void 0===c.lineTension&&(c.lineTension=c.tension),o._scale=s,o._datasetIndex=a.index,o._children=i,o._model=a._resolveLineOptions(o),o.pivot()),e=0,n=i.length;e<n;++e)a.updateElement(i[e],e,t);for(l&&0!==o._model.tension&&a.updateBezierControlPoints(),e=0,n=i.length;e<n;++e)i[e].pivot()},updateElement:function(t,e,n){var a,r,o=this,i=o.getMeta(),s=t.custom||{},c=o.getDataset(),l=o.index,d=c.data[e],u=o.getScaleForId(i.yAxisID),g=o.getScaleForId(i.xAxisID),f=i.dataset._model,p=o._resolvePointOptions(t,e);a=g.getPixelForValue("object"==typeof d?d:NaN,e,l),r=n?u.getBasePixel():o.calculatePointY(d,e,l),t._xScale=g,t._yScale=u,t._options=p,t._datasetIndex=l,t._index=e,t._model={x:a,y:r,skip:s.skip||isNaN(a)||isNaN(r),radius:p.radius,pointStyle:p.pointStyle,rotation:p.rotation,backgroundColor:p.backgroundColor,borderColor:p.borderColor,borderWidth:p.borderWidth,tension:Zt(s.tension,f?f.tension:0),steppedLine:!!f&&f.steppedLine,hitRadius:p.hitRadius}},_resolvePointOptions:function(t,e){var n,a,r,o=this.chart,i=o.data.datasets[this.index],s=t.custom||{},c=o.options.elements.point,l={},d={chart:o,dataIndex:e,dataset:i,datasetIndex:this.index},u={backgroundColor:"pointBackgroundColor",borderColor:"pointBorderColor",borderWidth:"pointBorderWidth",hitRadius:"pointHitRadius",hoverBackgroundColor:"pointHoverBackgroundColor",hoverBorderColor:"pointHoverBorderColor",hoverBorderWidth:"pointHoverBorderWidth",hoverRadius:"pointHoverRadius",pointStyle:"pointStyle",radius:"pointRadius",rotation:"pointRotation"},g=Object.keys(u);for(n=0,a=g.length;n<a;++n)l[r=g[n]]=Jt([s[r],i[u[r]],i[r],c[r]],d,e);return l},_resolveLineOptions:function(t){var e,n,a,r=this.chart,o=r.data.datasets[this.index],i=t.custom||{},s=r.options,c=s.elements.line,l={},d=["backgroundColor","borderWidth","borderColor","borderCapStyle","borderDash","borderDashOffset","borderJoinStyle","fill","cubicInterpolationMode"];for(e=0,n=d.length;e<n;++e)l[a=d[e]]=Jt([i[a],o[a],c[a]]);return l.spanGaps=Zt(o.spanGaps,s.spanGaps),l.tension=Zt(o.lineTension,c.tension),l.steppedLine=Jt([i.steppedLine,o.steppedLine,c.stepped]),l},calculatePointY:function(t,e,n){var a,r,o,i=this.chart,s=this.getMeta(),c=this.getScaleForId(s.yAxisID),l=0,d=0;if(c.options.stacked){for(a=0;a<n;a++)if(r=i.data.datasets[a],"line"===(o=i.getDatasetMeta(a)).type&&o.yAxisID===c.id&&i.isDatasetVisible(a)){var u=Number(c.getRightValue(r.data[e]));u<0?d+=u||0:l+=u||0}var g=Number(c.getRightValue(t));return c.getPixelForValue(g<0?d+g:l+g)}return c.getPixelForValue(t)},updateBezierControlPoints:function(){var t,e,n,a,r=this.chart,o=this.getMeta(),i=o.dataset._model,s=r.chartArea,c=o.data||[];function l(t,e,n){return Math.max(Math.min(t,n),e)}if(i.spanGaps&&(c=c.filter((function(t){return!t._model.skip}))),"monotone"===i.cubicInterpolationMode)dt.splineCurveMonotone(c);else for(t=0,e=c.length;t<e;++t)n=c[t]._model,a=dt.splineCurve(dt.previousItem(c,t)._model,n,dt.nextItem(c,t)._model,i.tension),n.controlPointPreviousX=a.previous.x,n.controlPointPreviousY=a.previous.y,n.controlPointNextX=a.next.x,n.controlPointNextY=a.next.y;if(r.options.elements.line.capBezierPoints)for(t=0,e=c.length;t<e;++t)Xt(n=c[t]._model,s)&&(t>0&&Xt(c[t-1]._model,s)&&(n.controlPointPreviousX=l(n.controlPointPreviousX,s.left,s.right),n.controlPointPreviousY=l(n.controlPointPreviousY,s.top,s.bottom)),t<c.length-1&&Xt(c[t+1]._model,s)&&(n.controlPointNextX=l(n.controlPointNextX,s.left,s.right),n.controlPointNextY=l(n.controlPointNextY,s.top,s.bottom)))},draw:function(){var t,e=this.chart,n=this.getMeta(),a=n.data||[],r=e.chartArea,o=a.length,i=0;for(Qt(this.getDataset(),e.options)&&(dt.canvas.clipArea(e.ctx,{left:r.left,right:r.right,top:r.top-(t=(n.dataset._model.borderWidth||0)/2),bottom:r.bottom+t}),n.dataset.draw(),dt.canvas.unclipArea(e.ctx));i<o;++i)a[i].draw(r)},setHoverStyle:function(t){var e=t._model,n=t._options,a=dt.getHoverColor;t.$previousStyle={backgroundColor:e.backgroundColor,borderColor:e.borderColor,borderWidth:e.borderWidth,radius:e.radius},e.backgroundColor=Zt(n.hoverBackgroundColor,a(n.backgroundColor)),e.borderColor=Zt(n.hoverBorderColor,a(n.borderColor)),e.borderWidth=Zt(n.hoverBorderWidth,n.borderWidth),e.radius=Zt(n.hoverRadius,n.radius)}}),ee=dt.options.resolve;st._set("polarArea",{scale:{type:"radialLinear",angleLines:{display:!1},gridLines:{circular:!0},pointLabels:{display:!1},ticks:{beginAtZero:!0}},animation:{animateRotate:!0,animateScale:!0},startAngle:-.5*Math.PI,legendCallback:function(t){var e=[];e.push('<ul class="'+t.id+'-legend">');var n=t.data,a=n.datasets,r=n.labels;if(a.length)for(var o=0;o<a[0].data.length;++o)e.push('<li><span style="background-color:'+a[0].backgroundColor[o]+'"></span>'),r[o]&&e.push(r[o]),e.push("</li>");return e.push("</ul>"),e.join("")},legend:{labels:{generateLabels:function(t){var e=t.data;return e.labels.length&&e.datasets.length?e.labels.map((function(n,a){var r=t.getDatasetMeta(0),o=e.datasets[0],i=r.data[a].custom||{},s=t.options.elements.arc;return{text:n,fillStyle:ee([i.backgroundColor,o.backgroundColor,s.backgroundColor],void 0,a),strokeStyle:ee([i.borderColor,o.borderColor,s.borderColor],void 0,a),lineWidth:ee([i.borderWidth,o.borderWidth,s.borderWidth],void 0,a),hidden:isNaN(o.data[a])||r.data[a].hidden,index:a}})):[]}},onClick:function(t,e){var n,a,r,o=e.index,i=this.chart;for(n=0,a=(i.data.datasets||[]).length;n<a;++n)(r=i.getDatasetMeta(n)).data[o].hidden=!r.data[o].hidden;i.update()}},tooltips:{callbacks:{title:function(){return""},label:function(t,e){return e.labels[t.index]+": "+t.yLabel}}}});var ne=Ct.extend({dataElementType:qt.Arc,linkScales:dt.noop,update:function(t){var e,n,a,r=this,o=r.getDataset(),i=r.getMeta(),s=r.chart.options.startAngle||0,c=r._starts=[],l=r._angles=[],d=i.data;for(r._updateRadius(),i.count=r.countVisibleElements(),e=0,n=o.data.length;e<n;e++)c[e]=s,a=r._computeAngle(e),l[e]=a,s+=a;for(e=0,n=d.length;e<n;++e)d[e]._options=r._resolveElementOptions(d[e],e),r.updateElement(d[e],e,t)},_updateRadius:function(){var t=this,e=t.chart,n=e.chartArea,a=e.options,r=Math.min(n.right-n.left,n.bottom-n.top);e.outerRadius=Math.max(r/2,0),e.innerRadius=Math.max(a.cutoutPercentage?e.outerRadius/100*a.cutoutPercentage:1,0),e.radiusLength=(e.outerRadius-e.innerRadius)/e.getVisibleDatasetCount(),t.outerRadius=e.outerRadius-e.radiusLength*t.index,t.innerRadius=t.outerRadius-e.radiusLength},updateElement:function(t,e,n){var a=this,r=a.chart,o=a.getDataset(),i=r.options,s=i.animation,c=r.scale,l=r.data.labels,d=c.xCenter,u=c.yCenter,g=i.startAngle,f=t.hidden?0:c.getDistanceFromCenterForValue(o.data[e]),p=a._starts[e],m=p+(t.hidden?0:a._angles[e]),h=s.animateScale?0:c.getDistanceFromCenterForValue(o.data[e]),b=t._options||{};dt.extend(t,{_datasetIndex:a.index,_index:e,_scale:c,_model:{backgroundColor:b.backgroundColor,borderColor:b.borderColor,borderWidth:b.borderWidth,borderAlign:b.borderAlign,x:d,y:u,innerRadius:0,outerRadius:n?h:f,startAngle:n&&s.animateRotate?g:p,endAngle:n&&s.animateRotate?g:m,label:dt.valueAtIndexOrDefault(l,e,l[e])}}),t.pivot()},countVisibleElements:function(){var t=this.getDataset(),e=this.getMeta(),n=0;return dt.each(e.data,(function(e,a){isNaN(t.data[a])||e.hidden||n++})),n},setHoverStyle:function(t){var e=t._model,n=t._options,a=dt.getHoverColor,r=dt.valueOrDefault;t.$previousStyle={backgroundColor:e.backgroundColor,borderColor:e.borderColor,borderWidth:e.borderWidth},e.backgroundColor=r(n.hoverBackgroundColor,a(n.backgroundColor)),e.borderColor=r(n.hoverBorderColor,a(n.borderColor)),e.borderWidth=r(n.hoverBorderWidth,n.borderWidth)},_resolveElementOptions:function(t,e){var n,a,r,o=this.chart,i=this.getDataset(),s=t.custom||{},c=o.options.elements.arc,l={},d={chart:o,dataIndex:e,dataset:i,datasetIndex:this.index},u=["backgroundColor","borderColor","borderWidth","borderAlign","hoverBackgroundColor","hoverBorderColor","hoverBorderWidth"];for(n=0,a=u.length;n<a;++n)l[r=u[n]]=ee([s[r],i[r],c[r]],d,e);return l},_computeAngle:function(t){var e=this,n=this.getMeta().count,a=e.getDataset(),r=e.getMeta();return isNaN(a.data[t])||r.data[t].hidden?0:ee([e.chart.options.elements.arc.angle,2*Math.PI/n],{chart:e.chart,dataIndex:t,dataset:a,datasetIndex:e.index},t)}});st._set("pie",dt.clone(st.doughnut)),st._set("pie",{cutoutPercentage:0});var ae=Kt,re=dt.valueOrDefault,oe=dt.options.resolve;st._set("radar",{scale:{type:"radialLinear"},elements:{line:{tension:0}}});var ie=Ct.extend({datasetElementType:qt.Line,dataElementType:qt.Point,linkScales:dt.noop,update:function(t){var e,n,a=this,r=a.getMeta(),o=r.dataset,i=r.data||[],s=a.chart.scale,c=a.getDataset();for(void 0!==c.tension&&void 0===c.lineTension&&(c.lineTension=c.tension),o._scale=s,o._datasetIndex=a.index,o._children=i,o._loop=!0,o._model=a._resolveLineOptions(o),o.pivot(),e=0,n=i.length;e<n;++e)a.updateElement(i[e],e,t);for(a.updateBezierControlPoints(),e=0,n=i.length;e<n;++e)i[e].pivot()},updateElement:function(t,e,n){var a=this,r=t.custom||{},o=a.getDataset(),i=a.chart.scale,s=i.getPointPositionForValue(e,o.data[e]),c=a._resolvePointOptions(t,e),l=a.getMeta().dataset._model,d=n?i.xCenter:s.x,u=n?i.yCenter:s.y;t._scale=i,t._options=c,t._datasetIndex=a.index,t._index=e,t._model={x:d,y:u,skip:r.skip||isNaN(d)||isNaN(u),radius:c.radius,pointStyle:c.pointStyle,rotation:c.rotation,backgroundColor:c.backgroundColor,borderColor:c.borderColor,borderWidth:c.borderWidth,tension:re(r.tension,l?l.tension:0),hitRadius:c.hitRadius}},_resolvePointOptions:function(t,e){var n,a,r,o=this.chart,i=o.data.datasets[this.index],s=t.custom||{},c=o.options.elements.point,l={},d={chart:o,dataIndex:e,dataset:i,datasetIndex:this.index},u={backgroundColor:"pointBackgroundColor",borderColor:"pointBorderColor",borderWidth:"pointBorderWidth",hitRadius:"pointHitRadius",hoverBackgroundColor:"pointHoverBackgroundColor",hoverBorderColor:"pointHoverBorderColor",hoverBorderWidth:"pointHoverBorderWidth",hoverRadius:"pointHoverRadius",pointStyle:"pointStyle",radius:"pointRadius",rotation:"pointRotation"},g=Object.keys(u);for(n=0,a=g.length;n<a;++n)l[r=g[n]]=oe([s[r],i[u[r]],i[r],c[r]],d,e);return l},_resolveLineOptions:function(t){var e,n,a,r=this.chart,o=r.data.datasets[this.index],i=t.custom||{},s=r.options.elements.line,c={},l=["backgroundColor","borderWidth","borderColor","borderCapStyle","borderDash","borderDashOffset","borderJoinStyle","fill"];for(e=0,n=l.length;e<n;++e)c[a=l[e]]=oe([i[a],o[a],s[a]]);return c.tension=re(o.lineTension,s.tension),c},updateBezierControlPoints:function(){var t,e,n,a,r=this.getMeta(),o=this.chart.chartArea,i=r.data||[];function s(t,e,n){return Math.max(Math.min(t,n),e)}for(t=0,e=i.length;t<e;++t)n=i[t]._model,a=dt.splineCurve(dt.previousItem(i,t,!0)._model,n,dt.nextItem(i,t,!0)._model,n.tension),n.controlPointPreviousX=s(a.previous.x,o.left,o.right),n.controlPointPreviousY=s(a.previous.y,o.top,o.bottom),n.controlPointNextX=s(a.next.x,o.left,o.right),n.controlPointNextY=s(a.next.y,o.top,o.bottom)},setHoverStyle:function(t){var e=t._model,n=t._options,a=dt.getHoverColor;t.$previousStyle={backgroundColor:e.backgroundColor,borderColor:e.borderColor,borderWidth:e.borderWidth,radius:e.radius},e.backgroundColor=re(n.hoverBackgroundColor,a(n.backgroundColor)),e.borderColor=re(n.hoverBorderColor,a(n.borderColor)),e.borderWidth=re(n.hoverBorderWidth,n.borderWidth),e.radius=re(n.hoverRadius,n.radius)}});st._set("scatter",{hover:{mode:"single"},scales:{xAxes:[{id:"x-axis-1",type:"linear",position:"bottom"}],yAxes:[{id:"y-axis-1",type:"linear",position:"left"}]},showLines:!1,tooltips:{callbacks:{title:function(){return""},label:function(t){return"("+t.xLabel+", "+t.yLabel+")"}}}});var se={bar:Gt,bubble:Ht,doughnut:Kt,horizontalBar:$t,line:te,polarArea:ne,pie:ae,radar:ie,scatter:te};function ce(t,e){return t.native?{x:t.x,y:t.y}:dt.getRelativePosition(t,e)}function le(t,e){var n,a,r,o,i;for(a=0,o=t.data.datasets.length;a<o;++a)if(t.isDatasetVisible(a))for(r=0,i=(n=t.getDatasetMeta(a)).data.length;r<i;++r){var s=n.data[r];s._view.skip||e(s)}}function de(t,e){var n=[];return le(t,(function(t){t.inRange(e.x,e.y)&&n.push(t)})),n}function ue(t,e,n,a){var r=Number.POSITIVE_INFINITY,o=[];return le(t,(function(t){if(!n||t.inRange(e.x,e.y)){var i=t.getCenterPoint(),s=a(e,i);s<r?(o=[t],r=s):s===r&&o.push(t)}})),o}function ge(t){var e=-1!==t.indexOf("x"),n=-1!==t.indexOf("y");return function(t,a){var r=e?Math.abs(t.x-a.x):0,o=n?Math.abs(t.y-a.y):0;return Math.sqrt(Math.pow(r,2)+Math.pow(o,2))}}function fe(t,e,n){var a=ce(e,t);n.axis=n.axis||"x";var r=ge(n.axis),o=n.intersect?de(t,a):ue(t,a,!1,r),i=[];return o.length?(t.data.datasets.forEach((function(e,n){if(t.isDatasetVisible(n)){var a=t.getDatasetMeta(n).data[o[0]._index];a&&!a._view.skip&&i.push(a)}})),i):[]}var pe={modes:{single:function(t,e){var n=ce(e,t),a=[];return le(t,(function(t){if(t.inRange(n.x,n.y))return a.push(t),a})),a.slice(0,1)},label:fe,index:fe,dataset:function(t,e,n){var a=ce(e,t);n.axis=n.axis||"xy";var r=ge(n.axis),o=n.intersect?de(t,a):ue(t,a,!1,r);return o.length>0&&(o=t.getDatasetMeta(o[0]._datasetIndex).data),o},"x-axis":function(t,e){return fe(t,e,{intersect:!1})},point:function(t,e){return de(t,ce(e,t))},nearest:function(t,e,n){var a=ce(e,t);n.axis=n.axis||"xy";var r=ge(n.axis);return ue(t,a,n.intersect,r)},x:function(t,e,n){var a=ce(e,t),r=[],o=!1;return le(t,(function(t){t.inXRange(a.x)&&r.push(t),t.inRange(a.x,a.y)&&(o=!0)})),n.intersect&&!o&&(r=[]),r},y:function(t,e,n){var a=ce(e,t),r=[],o=!1;return le(t,(function(t){t.inYRange(a.y)&&r.push(t),t.inRange(a.x,a.y)&&(o=!0)})),n.intersect&&!o&&(r=[]),r}}};function me(t,e){return dt.where(t,(function(t){return t.position===e}))}function he(t,e){t.forEach((function(t,e){return t._tmpIndex_=e,t})),t.sort((function(t,n){var a=e?n:t,r=e?t:n;return a.weight===r.weight?a._tmpIndex_-r._tmpIndex_:a.weight-r.weight})),t.forEach((function(t){delete t._tmpIndex_}))}function be(t,e){dt.each(t,(function(t){e[t.position]+=t.isHorizontal()?t.height:t.width}))}st._set("global",{layout:{padding:{top:0,right:0,bottom:0,left:0}}});var _e,ye={defaults:{},addBox:function(t,e){t.boxes||(t.boxes=[]),e.fullWidth=e.fullWidth||!1,e.position=e.position||"top",e.weight=e.weight||0,t.boxes.push(e)},removeBox:function(t,e){var n=t.boxes?t.boxes.indexOf(e):-1;-1!==n&&t.boxes.splice(n,1)},configure:function(t,e,n){for(var a,r=["fullWidth","position","weight"],o=r.length,i=0;i<o;++i)n.hasOwnProperty(a=r[i])&&(e[a]=n[a])},update:function(t,e,n){if(t){var a=dt.options.toPadding((t.options.layout||{}).padding),r=a.left,o=a.right,i=a.top,s=a.bottom,c=me(t.boxes,"left"),l=me(t.boxes,"right"),d=me(t.boxes,"top"),u=me(t.boxes,"bottom"),g=me(t.boxes,"chartArea");he(c,!0),he(l,!1),he(d,!0),he(u,!1);var f,p=c.concat(l),m=d.concat(u),h=p.concat(m),b=e-r-o,_=n-i-s,y=(e-b/2)/p.length,O=b,v=_,C={top:i,left:r,bottom:s,right:o},P=[];dt.each(h,(function(t){var e,n=t.isHorizontal();n?(e=t.update(t.fullWidth?b:O,_/2),v-=e.height):(e=t.update(y,v),O-=e.width),P.push({horizontal:n,width:e.width,box:t})})),f=function(t){var e=0,n=0,a=0,r=0;return dt.each(t,(function(t){if(t.getPadding){var o=t.getPadding();e=Math.max(e,o.top),n=Math.max(n,o.left),a=Math.max(a,o.bottom),r=Math.max(r,o.right)}})),{top:e,left:n,bottom:a,right:r}}(h),dt.each(p,I),be(p,C),dt.each(m,I),be(m,C),dt.each(p,(function(t){var e=dt.findNextWhere(P,(function(e){return e.box===t}));e&&t.update(e.width,v,{left:0,right:0,top:C.top,bottom:C.bottom})})),be(h,C={top:i,left:r,bottom:s,right:o});var M=Math.max(f.left-C.left,0);C.left+=M,C.right+=Math.max(f.right-C.right,0);var x=Math.max(f.top-C.top,0);C.top+=x,C.bottom+=Math.max(f.bottom-C.bottom,0);var w=n-C.top-C.bottom,T=e-C.left-C.right;T===O&&w===v||(dt.each(p,(function(t){t.height=w})),dt.each(m,(function(t){t.fullWidth||(t.width=T)})),v=w,O=T);var k=r+M,S=i+x;dt.each(c.concat(d),N),k+=O,S+=v,dt.each(l,N),dt.each(u,N),t.chartArea={left:C.left,top:C.top,right:C.left+O,bottom:C.top+v},dt.each(g,(function(e){e.left=t.chartArea.left,e.top=t.chartArea.top,e.right=t.chartArea.right,e.bottom=t.chartArea.bottom,e.update(O,v)}))}function I(t){var e=dt.findNextWhere(P,(function(e){return e.box===t}));if(e)if(e.horizontal){var n={left:Math.max(C.left,f.left),right:Math.max(C.right,f.right),top:0,bottom:0};t.update(t.fullWidth?b:O,_/2,n)}else t.update(e.width,v)}function N(t){t.isHorizontal()?(t.left=t.fullWidth?r:C.left,t.right=t.fullWidth?e-o:C.left+O,t.top=S,t.bottom=S+t.height,S=t.bottom):(t.left=k,t.right=k+t.width,t.top=C.top,t.bottom=C.top+v,k=t.right)}}},Oe=(_e=Object.freeze({default:"/*\n * DOM element rendering detection\n * https://davidwalsh.name/detect-node-insertion\n */\n@keyframes chartjs-render-animation {\n\tfrom { opacity: 0.99; }\n\tto { opacity: 1; }\n}\n\n.chartjs-render-monitor {\n\tanimation: chartjs-render-animation 0.001s;\n}\n\n/*\n * DOM element resizing detection\n * https://github.com/marcj/css-element-queries\n */\n.chartjs-size-monitor,\n.chartjs-size-monitor-expand,\n.chartjs-size-monitor-shrink {\n\tposition: absolute;\n\tdirection: ltr;\n\tleft: 0;\n\ttop: 0;\n\tright: 0;\n\tbottom: 0;\n\toverflow: hidden;\n\tpointer-events: none;\n\tvisibility: hidden;\n\tz-index: -1;\n}\n\n.chartjs-size-monitor-expand > div {\n\tposition: absolute;\n\twidth: 1000000px;\n\theight: 1000000px;\n\tleft: 0;\n\ttop: 0;\n}\n\n.chartjs-size-monitor-shrink > div {\n\tposition: absolute;\n\twidth: 200%;\n\theight: 200%;\n\tleft: 0;\n\ttop: 0;\n}\n"}))&&_e.default||_e,ve=["animationstart","webkitAnimationStart"],Ce={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"};function Pe(t,e){var n=dt.getStyle(t,e),a=n&&n.match(/^(\d+)(\.\d+)?px$/);return a?Number(a[1]):void 0}var Me=!!function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("e",null,e)}catch(n){}return t}()&&{passive:!0};function xe(t,e,n){t.addEventListener(e,n,Me)}function we(t,e,n){t.removeEventListener(e,n,Me)}function Te(t,e,n,a,r){return{type:t,chart:e,native:r||null,x:void 0!==n?n:null,y:void 0!==a?a:null}}function ke(t){var e=document.createElement("div");return e.className=t||"",e}var Se={disableCSSInjection:!1,_enabled:"undefined"!=typeof window&&"undefined"!=typeof document,_ensureLoaded:function(){this._loaded||(this._loaded=!0,this.disableCSSInjection||function(t,e){var n=t._style||document.createElement("style");t._style||(t._style=n,e="/* Chart.js */\n"+e,n.setAttribute("type","text/css"),document.getElementsByTagName("head")[0].appendChild(n)),n.appendChild(document.createTextNode(e))}(this,Oe))},acquireContext:function(t,e){"string"==typeof t?t=document.getElementById(t):t.length&&(t=t[0]),t&&t.canvas&&(t=t.canvas);var n=t&&t.getContext&&t.getContext("2d");return this._ensureLoaded(),n&&n.canvas===t?(function(t,e){var n=t.style,a=t.getAttribute("height"),r=t.getAttribute("width");if(t.$chartjs={initial:{height:a,width:r,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||"block",null===r||""===r){var o=Pe(t,"width");void 0!==o&&(t.width=o)}if(null===a||""===a)if(""===t.style.height)t.height=t.width/(e.options.aspectRatio||2);else{var i=Pe(t,"height");void 0!==o&&(t.height=i)}}(t,e),n):null},releaseContext:function(t){var e=t.canvas;if(e.$chartjs){var n=e.$chartjs.initial;["height","width"].forEach((function(t){var a=n[t];dt.isNullOrUndef(a)?e.removeAttribute(t):e.setAttribute(t,a)})),dt.each(n.style||{},(function(t,n){e.style[n]=t})),e.width=e.width,delete e.$chartjs}},addEventListener:function(t,e,n){var a=t.canvas;if("resize"!==e){var r=n.$chartjs||(n.$chartjs={});xe(a,e,(r.proxies||(r.proxies={}))[t.id+"_"+e]=function(e){n(function(t,e){var n=Ce[t.type]||t.type,a=dt.getRelativePosition(t,e);return Te(n,e,a.x,a.y,t)}(e,t))})}else!function(t,e,n){var a,r,o,i,s=t.$chartjs||(t.$chartjs={}),c=s.resizer=function(t){var e=ke("chartjs-size-monitor"),n=ke("chartjs-size-monitor-expand"),a=ke("chartjs-size-monitor-shrink");n.appendChild(ke()),a.appendChild(ke()),e.appendChild(n),e.appendChild(a),e._reset=function(){n.scrollLeft=1e6,n.scrollTop=1e6,a.scrollLeft=1e6,a.scrollTop=1e6};var r=function(){e._reset(),t()};return xe(n,"scroll",r.bind(n,"expand")),xe(a,"scroll",r.bind(a,"shrink")),e}((a=function(){if(s.resizer){var a=n.options.maintainAspectRatio&&t.parentNode,r=a?a.clientWidth:0;e(Te("resize",n)),a&&a.clientWidth<r&&n.canvas&&e(Te("resize",n))}},o=!1,i=[],function(){i=Array.prototype.slice.call(arguments),r=r||this,o||(o=!0,dt.requestAnimFrame.call(window,(function(){o=!1,a.apply(r,i)})))}));!function(t,e){var n=t.$chartjs||(t.$chartjs={}),a=n.renderProxy=function(t){"chartjs-render-animation"===t.animationName&&e()};dt.each(ve,(function(e){xe(t,e,a)})),n.reflow=!!t.offsetParent,t.classList.add("chartjs-render-monitor")}(t,(function(){if(s.resizer){var e=t.parentNode;e&&e!==c.parentNode&&e.insertBefore(c,e.firstChild),c._reset()}}))}(a,n,t)},removeEventListener:function(t,e,n){var a,r,o,i=t.canvas;if("resize"!==e){var s=((n.$chartjs||{}).proxies||{})[t.id+"_"+e];s&&we(i,e,s)}else o=(r=(a=i).$chartjs||{}).resizer,delete r.resizer,function(t){var e=t.$chartjs||{},n=e.renderProxy;n&&(dt.each(ve,(function(e){we(t,e,n)})),delete e.renderProxy),t.classList.remove("chartjs-render-monitor")}(a),o&&o.parentNode&&o.parentNode.removeChild(o)}};dt.addEvent=xe,dt.removeEvent=we;var Ie=dt.extend({initialize:function(){},acquireContext:function(){},releaseContext:function(){},addEventListener:function(){},removeEventListener:function(){}},Se._enabled?Se:{acquireContext:function(t){return t&&t.canvas&&(t=t.canvas),t&&t.getContext("2d")||null}});st._set("global",{plugins:{}});var Ne={_plugins:[],_cacheId:0,register:function(t){var e=this._plugins;[].concat(t).forEach((function(t){-1===e.indexOf(t)&&e.push(t)})),this._cacheId++},unregister:function(t){var e=this._plugins;[].concat(t).forEach((function(t){var n=e.indexOf(t);-1!==n&&e.splice(n,1)})),this._cacheId++},clear:function(){this._plugins=[],this._cacheId++},count:function(){return this._plugins.length},getAll:function(){return this._plugins},notify:function(t,e,n){var a,r,o,i,s,c=this.descriptors(t),l=c.length;for(a=0;a<l;++a)if("function"==typeof(s=(o=(r=c[a]).plugin)[e])&&((i=[t].concat(n||[])).push(r.options),!1===s.apply(o,i)))return!1;return!0},descriptors:function(t){var e=t.$plugins||(t.$plugins={});if(e.id===this._cacheId)return e.descriptors;var n=[],a=[],r=t&&t.config||{},o=r.options&&r.options.plugins||{};return this._plugins.concat(r.plugins||[]).forEach((function(t){if(-1===n.indexOf(t)){var e=t.id,r=o[e];!1!==r&&(!0===r&&(r=dt.clone(st.global.plugins[e])),n.push(t),a.push({plugin:t,options:r||{}}))}})),e.descriptors=a,e.id=this._cacheId,a},_invalidate:function(t){delete t.$plugins}},Re={constructors:{},defaults:{},registerScaleType:function(t,e,n){this.constructors[t]=e,this.defaults[t]=dt.clone(n)},getScaleConstructor:function(t){return this.constructors.hasOwnProperty(t)?this.constructors[t]:void 0},getScaleDefaults:function(t){return this.defaults.hasOwnProperty(t)?dt.merge({},[st.scale,this.defaults[t]]):{}},updateScaleDefaults:function(t,e){this.defaults.hasOwnProperty(t)&&(this.defaults[t]=dt.extend(this.defaults[t],e))},addScalesToLayout:function(t){dt.each(t.scales,(function(e){e.fullWidth=e.options.fullWidth,e.position=e.options.position,e.weight=e.options.weight,ye.addBox(t,e)}))}},Ae=dt.valueOrDefault;st._set("global",{tooltips:{enabled:!0,custom:null,mode:"nearest",position:"average",intersect:!0,backgroundColor:"rgba(0,0,0,0.8)",titleFontStyle:"bold",titleSpacing:2,titleMarginBottom:6,titleFontColor:"#fff",titleAlign:"left",bodySpacing:2,bodyFontColor:"#fff",bodyAlign:"left",footerFontStyle:"bold",footerSpacing:2,footerMarginTop:6,footerFontColor:"#fff",footerAlign:"left",yPadding:6,xPadding:6,caretPadding:2,caretSize:5,cornerRadius:6,multiKeyBackground:"#fff",displayColors:!0,borderColor:"rgba(0,0,0,0)",borderWidth:0,callbacks:{beforeTitle:dt.noop,title:function(t,e){var n="",a=e.labels,r=a?a.length:0;if(t.length>0){var o=t[0];o.label?n=o.label:o.xLabel?n=o.xLabel:r>0&&o.index<r&&(n=a[o.index])}return n},afterTitle:dt.noop,beforeBody:dt.noop,beforeLabel:dt.noop,label:function(t,e){var n=e.datasets[t.datasetIndex].label||"";return n&&(n+=": "),dt.isNullOrUndef(t.value)?n+=t.yLabel:n+=t.value,n},labelColor:function(t,e){var n=e.getDatasetMeta(t.datasetIndex).data[t.index]._view;return{borderColor:n.borderColor,backgroundColor:n.backgroundColor}},labelTextColor:function(){return this._options.bodyFontColor},afterLabel:dt.noop,afterBody:dt.noop,beforeFooter:dt.noop,footer:dt.noop,afterFooter:dt.noop}}});var Ee={average:function(t){if(!t.length)return!1;var e,n,a=0,r=0,o=0;for(e=0,n=t.length;e<n;++e){var i=t[e];if(i&&i.hasValue()){var s=i.tooltipPosition();a+=s.x,r+=s.y,++o}}return{x:a/o,y:r/o}},nearest:function(t,e){var n,a,r,o=e.x,i=e.y,s=Number.POSITIVE_INFINITY;for(n=0,a=t.length;n<a;++n){var c=t[n];if(c&&c.hasValue()){var l=c.getCenterPoint(),d=dt.distanceBetweenPoints(e,l);d<s&&(s=d,r=c)}}if(r){var u=r.tooltipPosition();o=u.x,i=u.y}return{x:o,y:i}}};function De(t,e){return e&&(dt.isArray(e)?Array.prototype.push.apply(t,e):t.push(e)),t}function Le(t){return("string"==typeof t||t instanceof String)&&t.indexOf("\n")>-1?t.split("\n"):t}function qe(t){var e=st.global;return{xPadding:t.xPadding,yPadding:t.yPadding,xAlign:t.xAlign,yAlign:t.yAlign,bodyFontColor:t.bodyFontColor,_bodyFontFamily:Ae(t.bodyFontFamily,e.defaultFontFamily),_bodyFontStyle:Ae(t.bodyFontStyle,e.defaultFontStyle),_bodyAlign:t.bodyAlign,bodyFontSize:Ae(t.bodyFontSize,e.defaultFontSize),bodySpacing:t.bodySpacing,titleFontColor:t.titleFontColor,_titleFontFamily:Ae(t.titleFontFamily,e.defaultFontFamily),_titleFontStyle:Ae(t.titleFontStyle,e.defaultFontStyle),titleFontSize:Ae(t.titleFontSize,e.defaultFontSize),_titleAlign:t.titleAlign,titleSpacing:t.titleSpacing,titleMarginBottom:t.titleMarginBottom,footerFontColor:t.footerFontColor,_footerFontFamily:Ae(t.footerFontFamily,e.defaultFontFamily),_footerFontStyle:Ae(t.footerFontStyle,e.defaultFontStyle),footerFontSize:Ae(t.footerFontSize,e.defaultFontSize),_footerAlign:t.footerAlign,footerSpacing:t.footerSpacing,footerMarginTop:t.footerMarginTop,caretSize:t.caretSize,cornerRadius:t.cornerRadius,backgroundColor:t.backgroundColor,opacity:0,legendColorBackground:t.multiKeyBackground,displayColors:t.displayColors,borderColor:t.borderColor,borderWidth:t.borderWidth}}function je(t,e){return"center"===e?t.x+t.width/2:"right"===e?t.x+t.width-t.xPadding:t.x+t.xPadding}function Fe(t){return De([],Le(t))}var ze=pt.extend({initialize:function(){this._model=qe(this._options),this._lastActive=[]},getTitle:function(){var t=this,e=t._options,n=e.callbacks,a=n.beforeTitle.apply(t,arguments),r=n.title.apply(t,arguments),o=n.afterTitle.apply(t,arguments),i=[];return i=De(i,Le(a)),i=De(i,Le(r)),De(i,Le(o))},getBeforeBody:function(){return Fe(this._options.callbacks.beforeBody.apply(this,arguments))},getBody:function(t,e){var n=this,a=n._options.callbacks,r=[];return dt.each(t,(function(t){var o={before:[],lines:[],after:[]};De(o.before,Le(a.beforeLabel.call(n,t,e))),De(o.lines,a.label.call(n,t,e)),De(o.after,Le(a.afterLabel.call(n,t,e))),r.push(o)})),r},getAfterBody:function(){return Fe(this._options.callbacks.afterBody.apply(this,arguments))},getFooter:function(){var t=this,e=t._options.callbacks,n=e.beforeFooter.apply(t,arguments),a=e.footer.apply(t,arguments),r=e.afterFooter.apply(t,arguments),o=[];return o=De(o,Le(n)),o=De(o,Le(a)),De(o,Le(r))},update:function(t){var e,n,a,r,o,i,s,c,l,d,u=this,g=u._options,f=u._model,p=u._model=qe(g),m=u._active,h=u._data,b={xAlign:f.xAlign,yAlign:f.yAlign},_={x:f.x,y:f.y},y={width:f.width,height:f.height},O={x:f.caretX,y:f.caretY};if(m.length){p.opacity=1;var v=[],C=[];O=Ee[g.position].call(u,m,u._eventPosition);var P=[];for(e=0,n=m.length;e<n;++e)P.push((r=void 0,o=void 0,c=void 0,l=void 0,d=void 0,r=(a=m[e])._xScale,o=a._yScale||a._scale,i=a._index,l=(c=a._chart.getDatasetMeta(s=a._datasetIndex).controller)._getIndexScale(),d=c._getValueScale(),{xLabel:r?r.getLabelForIndex(i,s):"",yLabel:o?o.getLabelForIndex(i,s):"",label:l?""+l.getLabelForIndex(i,s):"",value:d?""+d.getLabelForIndex(i,s):"",index:i,datasetIndex:s,x:a._model.x,y:a._model.y}));g.filter&&(P=P.filter((function(t){return g.filter(t,h)}))),g.itemSort&&(P=P.sort((function(t,e){return g.itemSort(t,e,h)}))),dt.each(P,(function(t){v.push(g.callbacks.labelColor.call(u,t,u._chart)),C.push(g.callbacks.labelTextColor.call(u,t,u._chart))})),p.title=u.getTitle(P,h),p.beforeBody=u.getBeforeBody(P,h),p.body=u.getBody(P,h),p.afterBody=u.getAfterBody(P,h),p.footer=u.getFooter(P,h),p.x=O.x,p.y=O.y,p.caretPadding=g.caretPadding,p.labelColors=v,p.labelTextColors=C,p.dataPoints=P,y=function(t,e){var n=t._chart.ctx,a=2*e.yPadding,r=0,o=e.body,i=o.reduce((function(t,e){return t+e.before.length+e.lines.length+e.after.length}),0),s=e.title.length,c=e.footer.length,l=e.titleFontSize,d=e.bodyFontSize,u=e.footerFontSize;a+=s*l,a+=s?(s-1)*e.titleSpacing:0,a+=s?e.titleMarginBottom:0,a+=(i+=e.beforeBody.length+e.afterBody.length)*d,a+=i?(i-1)*e.bodySpacing:0,a+=c?e.footerMarginTop:0,a+=c*u,a+=c?(c-1)*e.footerSpacing:0;var g=0,f=function(t){r=Math.max(r,n.measureText(t).width+g)};return n.font=dt.fontString(l,e._titleFontStyle,e._titleFontFamily),dt.each(e.title,f),n.font=dt.fontString(d,e._bodyFontStyle,e._bodyFontFamily),dt.each(e.beforeBody.concat(e.afterBody),f),g=e.displayColors?d+2:0,dt.each(o,(function(t){dt.each(t.before,f),dt.each(t.lines,f),dt.each(t.after,f)})),g=0,n.font=dt.fontString(u,e._footerFontStyle,e._footerFontFamily),dt.each(e.footer,f),{width:r+=2*e.xPadding,height:a}}(this,p),_=function(t,e,n,a){var r=t.x,o=t.y,i=t.caretPadding,s=n.xAlign,c=n.yAlign,l=t.caretSize+i,d=t.cornerRadius+i;return"right"===s?r-=e.width:"center"===s&&((r-=e.width/2)+e.width>a.width&&(r=a.width-e.width),r<0&&(r=0)),"top"===c?o+=l:o-="bottom"===c?e.height+l:e.height/2,"center"===c?"left"===s?r+=l:"right"===s&&(r-=l):"left"===s?r-=d:"right"===s&&(r+=d),{x:r,y:o}}(p,y,b=function(t,e){var n,a,r,o,i,s=t._model,c=t._chart,l=t._chart.chartArea,d="center",u="center";s.y<e.height?u="top":s.y>c.height-e.height&&(u="bottom");var g=(l.left+l.right)/2,f=(l.top+l.bottom)/2;"center"===u?(n=function(t){return t<=g},a=function(t){return t>g}):(n=function(t){return t<=e.width/2},a=function(t){return t>=c.width-e.width/2}),r=function(t){return t+e.width+s.caretSize+s.caretPadding>c.width},o=function(t){return t-e.width-s.caretSize-s.caretPadding<0},i=function(t){return t<=f?"top":"bottom"},n(s.x)?(d="left",r(s.x)&&(d="center",u=i(s.y))):a(s.x)&&(d="right",o(s.x)&&(d="center",u=i(s.y)));var p=t._options;return{xAlign:p.xAlign?p.xAlign:d,yAlign:p.yAlign?p.yAlign:u}}(this,y),u._chart)}else p.opacity=0;return p.xAlign=b.xAlign,p.yAlign=b.yAlign,p.x=_.x,p.y=_.y,p.width=y.width,p.height=y.height,p.caretX=O.x,p.caretY=O.y,u._model=p,t&&g.custom&&g.custom.call(u,p),u},drawCaret:function(t,e){var n=this._chart.ctx,a=this.getCaretPosition(t,e,this._view);n.lineTo(a.x1,a.y1),n.lineTo(a.x2,a.y2),n.lineTo(a.x3,a.y3)},getCaretPosition:function(t,e,n){var a,r,o,i,s,c,l=n.caretSize,d=n.cornerRadius,u=n.xAlign,g=n.yAlign,f=t.x,p=t.y,m=e.width,h=e.height;if("center"===g)s=p+h/2,"left"===u?(r=(a=f)-l,o=a,i=s+l,c=s-l):(r=(a=f+m)+l,o=a,i=s-l,c=s+l);else if("left"===u?(a=(r=f+d+l)-l,o=r+l):"right"===u?(a=(r=f+m-d-l)-l,o=r+l):(a=(r=n.caretX)-l,o=r+l),"top"===g)s=(i=p)-l,c=i;else{s=(i=p+h)+l,c=i;var b=o;o=a,a=b}return{x1:a,x2:r,x3:o,y1:i,y2:s,y3:c}},drawTitle:function(t,e,n){var a=e.title;if(a.length){t.x=je(e,e._titleAlign),n.textAlign=e._titleAlign,n.textBaseline="top";var r,o,i=e.titleFontSize,s=e.titleSpacing;for(n.fillStyle=e.titleFontColor,n.font=dt.fontString(i,e._titleFontStyle,e._titleFontFamily),r=0,o=a.length;r<o;++r)n.fillText(a[r],t.x,t.y),t.y+=i+s,r+1===a.length&&(t.y+=e.titleMarginBottom-s)}},drawBody:function(t,e,n){var a,r=e.bodyFontSize,o=e.bodySpacing,i=e._bodyAlign,s=e.body,c=e.displayColors,l=e.labelColors,d=0,u=c?je(e,"left"):0;n.textAlign=i,n.textBaseline="top",n.font=dt.fontString(r,e._bodyFontStyle,e._bodyFontFamily),t.x=je(e,i);var g=function(e){n.fillText(e,t.x+d,t.y),t.y+=r+o};n.fillStyle=e.bodyFontColor,dt.each(e.beforeBody,g),d=c&&"right"!==i?"center"===i?r/2+1:r+2:0,dt.each(s,(function(o,i){n.fillStyle=a=e.labelTextColors[i],dt.each(o.before,g),dt.each(o.lines,(function(o){c&&(n.fillStyle=e.legendColorBackground,n.fillRect(u,t.y,r,r),n.lineWidth=1,n.strokeStyle=l[i].borderColor,n.strokeRect(u,t.y,r,r),n.fillStyle=l[i].backgroundColor,n.fillRect(u+1,t.y+1,r-2,r-2),n.fillStyle=a),g(o)})),dt.each(o.after,g)})),d=0,dt.each(e.afterBody,g),t.y-=o},drawFooter:function(t,e,n){var a=e.footer;a.length&&(t.x=je(e,e._footerAlign),t.y+=e.footerMarginTop,n.textAlign=e._footerAlign,n.textBaseline="top",n.fillStyle=e.footerFontColor,n.font=dt.fontString(e.footerFontSize,e._footerFontStyle,e._footerFontFamily),dt.each(a,(function(a){n.fillText(a,t.x,t.y),t.y+=e.footerFontSize+e.footerSpacing})))},drawBackground:function(t,e,n,a){n.fillStyle=e.backgroundColor,n.strokeStyle=e.borderColor,n.lineWidth=e.borderWidth;var r=e.xAlign,o=e.yAlign,i=t.x,s=t.y,c=a.width,l=a.height,d=e.cornerRadius;n.beginPath(),n.moveTo(i+d,s),"top"===o&&this.drawCaret(t,a),n.lineTo(i+c-d,s),n.quadraticCurveTo(i+c,s,i+c,s+d),"center"===o&&"right"===r&&this.drawCaret(t,a),n.lineTo(i+c,s+l-d),n.quadraticCurveTo(i+c,s+l,i+c-d,s+l),"bottom"===o&&this.drawCaret(t,a),n.lineTo(i+d,s+l),n.quadraticCurveTo(i,s+l,i,s+l-d),"center"===o&&"left"===r&&this.drawCaret(t,a),n.lineTo(i,s+d),n.quadraticCurveTo(i,s,i+d,s),n.closePath(),n.fill(),e.borderWidth>0&&n.stroke()},draw:function(){var t=this._chart.ctx,e=this._view;if(0!==e.opacity){var n={width:e.width,height:e.height},a={x:e.x,y:e.y},r=Math.abs(e.opacity<.001)?0:e.opacity;this._options.enabled&&(e.title.length||e.beforeBody.length||e.body.length||e.afterBody.length||e.footer.length)&&(t.save(),t.globalAlpha=r,this.drawBackground(a,e,t,n),a.y+=e.yPadding,this.drawTitle(a,e,t),this.drawBody(a,e,t),this.drawFooter(a,e,t),t.restore())}},handleEvent:function(t){var e,n=this,a=n._options;return n._lastActive=n._lastActive||[],n._active="mouseout"===t.type?[]:n._chart.getElementsAtEventForMode(t,a.mode,a),(e=!dt.arrayEquals(n._active,n._lastActive))&&(n._lastActive=n._active,(a.enabled||a.custom)&&(n._eventPosition={x:t.x,y:t.y},n.update(!0),n.pivot())),e}});ze.positioners=Ee;var Ve=dt.valueOrDefault;function Ge(){return dt.merge({},[].slice.call(arguments),{merger:function(t,e,n,a){if("xAxes"===t||"yAxes"===t){var r,o,i,s=n[t].length;for(e[t]||(e[t]=[]),r=0;r<s;++r)o=Ve((i=n[t][r]).type,"xAxes"===t?"category":"linear"),r>=e[t].length&&e[t].push({}),dt.merge(e[t][r],!e[t][r].type||i.type&&i.type!==e[t][r].type?[Re.getScaleDefaults(o),i]:i)}else dt._merger(t,e,n,a)}})}function Ye(){return dt.merge({},[].slice.call(arguments),{merger:function(t,e,n,a){var r=e[t]||{},o=n[t];"scales"===t?e[t]=Ge(r,o):"scale"===t?e[t]=dt.merge(r,[Re.getScaleDefaults(o.type),o]):dt._merger(t,e,n,a)}})}function Be(t){var e=t.options;dt.each(t.scales,(function(e){ye.removeBox(t,e)})),e=Ye(st.global,st[t.config.type],e),t.options=t.config.options=e,t.ensureScalesHaveIDs(),t.buildOrUpdateScales(),t.tooltip._options=e.tooltips,t.tooltip.initialize()}function He(t){return"top"===t||"bottom"===t}st._set("global",{elements:{},events:["mousemove","mouseout","click","touchstart","touchmove"],hover:{onHover:null,mode:"nearest",intersect:!0,animationDuration:400},onClick:null,maintainAspectRatio:!0,responsive:!0,responsiveAnimationDuration:0});var Ue=function(t,e){return this.construct(t,e),this};dt.extend(Ue.prototype,{construct:function(t,e){var n=this;e=function(t){var e=(t=t||{}).data=t.data||{};return e.datasets=e.datasets||[],e.labels=e.labels||[],t.options=Ye(st.global,st[t.type],t.options||{}),t}(e);var a=Ie.acquireContext(t,e),r=a&&a.canvas,o=r&&r.height,i=r&&r.width;n.id=dt.uid(),n.ctx=a,n.canvas=r,n.config=e,n.width=i,n.height=o,n.aspectRatio=o?i/o:null,n.options=e.options,n._bufferedRender=!1,n.chart=n,n.controller=n,Ue.instances[n.id]=n,Object.defineProperty(n,"data",{get:function(){return n.config.data},set:function(t){n.config.data=t}}),a&&r?(n.initialize(),n.update()):console.error("Failed to create chart: can't acquire context from the given item")},initialize:function(){var t=this;return Ne.notify(t,"beforeInit"),dt.retinaScale(t,t.options.devicePixelRatio),t.bindEvents(),t.options.responsive&&t.resize(!0),t.ensureScalesHaveIDs(),t.buildOrUpdateScales(),t.initToolTip(),Ne.notify(t,"afterInit"),t},clear:function(){return dt.canvas.clear(this),this},stop:function(){return bt.cancelAnimation(this),this},resize:function(t){var e=this,n=e.options,a=e.canvas,r=n.maintainAspectRatio&&e.aspectRatio||null,o=Math.max(0,Math.floor(dt.getMaximumWidth(a))),i=Math.max(0,Math.floor(r?o/r:dt.getMaximumHeight(a)));if((e.width!==o||e.height!==i)&&(a.width=e.width=o,a.height=e.height=i,a.style.width=o+"px",a.style.height=i+"px",dt.retinaScale(e,n.devicePixelRatio),!t)){var s={width:o,height:i};Ne.notify(e,"resize",[s]),n.onResize&&n.onResize(e,s),e.stop(),e.update({duration:n.responsiveAnimationDuration})}},ensureScalesHaveIDs:function(){var t=this.options,e=t.scales||{},n=t.scale;dt.each(e.xAxes,(function(t,e){t.id=t.id||"x-axis-"+e})),dt.each(e.yAxes,(function(t,e){t.id=t.id||"y-axis-"+e})),n&&(n.id=n.id||"scale")},buildOrUpdateScales:function(){var t=this,e=t.options,n=t.scales||{},a=[],r=Object.keys(n).reduce((function(t,e){return t[e]=!1,t}),{});e.scales&&(a=a.concat((e.scales.xAxes||[]).map((function(t){return{options:t,dtype:"category",dposition:"bottom"}})),(e.scales.yAxes||[]).map((function(t){return{options:t,dtype:"linear",dposition:"left"}})))),e.scale&&a.push({options:e.scale,dtype:"radialLinear",isDefault:!0,dposition:"chartArea"}),dt.each(a,(function(e){var a=e.options,o=a.id,i=Ve(a.type,e.dtype);He(a.position)!==He(e.dposition)&&(a.position=e.dposition),r[o]=!0;var s=null;if(o in n&&n[o].type===i)(s=n[o]).options=a,s.ctx=t.ctx,s.chart=t;else{var c=Re.getScaleConstructor(i);if(!c)return;s=new c({id:o,type:i,options:a,ctx:t.ctx,chart:t}),n[s.id]=s}s.mergeTicksOptions(),e.isDefault&&(t.scale=s)})),dt.each(r,(function(t,e){t||delete n[e]})),t.scales=n,Re.addScalesToLayout(this)},buildOrUpdateControllers:function(){var t=this,e=[];return dt.each(t.data.datasets,(function(n,a){var r=t.getDatasetMeta(a),o=n.type||t.config.type;if(r.type&&r.type!==o&&(t.destroyDatasetMeta(a),r=t.getDatasetMeta(a)),r.type=o,r.controller)r.controller.updateIndex(a),r.controller.linkScales();else{var i=se[r.type];if(void 0===i)throw new Error('"'+r.type+'" is not a chart type.');r.controller=new i(t,a),e.push(r.controller)}}),t),e},resetElements:function(){var t=this;dt.each(t.data.datasets,(function(e,n){t.getDatasetMeta(n).controller.reset()}),t)},reset:function(){this.resetElements(),this.tooltip.initialize()},update:function(t){var e=this;if(t&&"object"==typeof t||(t={duration:t,lazy:arguments[1]}),Be(e),Ne._invalidate(e),!1!==Ne.notify(e,"beforeUpdate")){e.tooltip._data=e.data;var n=e.buildOrUpdateControllers();dt.each(e.data.datasets,(function(t,n){e.getDatasetMeta(n).controller.buildOrUpdateElements()}),e),e.updateLayout(),e.options.animation&&e.options.animation.duration&&dt.each(n,(function(t){t.reset()})),e.updateDatasets(),e.tooltip.initialize(),e.lastActive=[],Ne.notify(e,"afterUpdate"),e._bufferedRender?e._bufferedRequest={duration:t.duration,easing:t.easing,lazy:t.lazy}:e.render(t)}},updateLayout:function(){!1!==Ne.notify(this,"beforeLayout")&&(ye.update(this,this.width,this.height),Ne.notify(this,"afterScaleUpdate"),Ne.notify(this,"afterLayout"))},updateDatasets:function(){if(!1!==Ne.notify(this,"beforeDatasetsUpdate")){for(var t=0,e=this.data.datasets.length;t<e;++t)this.updateDataset(t);Ne.notify(this,"afterDatasetsUpdate")}},updateDataset:function(t){var e=this.getDatasetMeta(t),n={meta:e,index:t};!1!==Ne.notify(this,"beforeDatasetUpdate",[n])&&(e.controller.update(),Ne.notify(this,"afterDatasetUpdate",[n]))},render:function(t){var e=this;t&&"object"==typeof t||(t={duration:t,lazy:arguments[1]});var n=e.options.animation,a=Ve(t.duration,n&&n.duration),r=t.lazy;if(!1!==Ne.notify(e,"beforeRender")){var o=function(t){Ne.notify(e,"afterRender"),dt.callback(n&&n.onComplete,[t],e)};if(n&&a){var i=new ht({numSteps:a/16.66,easing:t.easing||n.easing,render:function(t,e){var n=e.currentStep,a=n/e.numSteps;t.draw((0,dt.easing.effects[e.easing])(a),a,n)},onAnimationProgress:n.onProgress,onAnimationComplete:o});bt.addAnimation(e,i,a,r)}else e.draw(),o(new ht({numSteps:0,chart:e}));return e}},draw:function(t){var e=this;e.clear(),dt.isNullOrUndef(t)&&(t=1),e.transition(t),e.width<=0||e.height<=0||!1!==Ne.notify(e,"beforeDraw",[t])&&(dt.each(e.boxes,(function(t){t.draw(e.chartArea)}),e),e.drawDatasets(t),e._drawTooltip(t),Ne.notify(e,"afterDraw",[t]))},transition:function(t){for(var e=0,n=(this.data.datasets||[]).length;e<n;++e)this.isDatasetVisible(e)&&this.getDatasetMeta(e).controller.transition(t);this.tooltip.transition(t)},drawDatasets:function(t){var e=this;if(!1!==Ne.notify(e,"beforeDatasetsDraw",[t])){for(var n=(e.data.datasets||[]).length-1;n>=0;--n)e.isDatasetVisible(n)&&e.drawDataset(n,t);Ne.notify(e,"afterDatasetsDraw",[t])}},drawDataset:function(t,e){var n=this.getDatasetMeta(t),a={meta:n,index:t,easingValue:e};!1!==Ne.notify(this,"beforeDatasetDraw",[a])&&(n.controller.draw(e),Ne.notify(this,"afterDatasetDraw",[a]))},_drawTooltip:function(t){var e=this.tooltip,n={tooltip:e,easingValue:t};!1!==Ne.notify(this,"beforeTooltipDraw",[n])&&(e.draw(),Ne.notify(this,"afterTooltipDraw",[n]))},getElementAtEvent:function(t){return pe.modes.single(this,t)},getElementsAtEvent:function(t){return pe.modes.label(this,t,{intersect:!0})},getElementsAtXAxis:function(t){return pe.modes["x-axis"](this,t,{intersect:!0})},getElementsAtEventForMode:function(t,e,n){var a=pe.modes[e];return"function"==typeof a?a(this,t,n):[]},getDatasetAtEvent:function(t){return pe.modes.dataset(this,t,{intersect:!0})},getDatasetMeta:function(t){var e=this.data.datasets[t];e._meta||(e._meta={});var n=e._meta[this.id];return n||(n=e._meta[this.id]={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null}),n},getVisibleDatasetCount:function(){for(var t=0,e=0,n=this.data.datasets.length;e<n;++e)this.isDatasetVisible(e)&&t++;return t},isDatasetVisible:function(t){var e=this.getDatasetMeta(t);return"boolean"==typeof e.hidden?!e.hidden:!this.data.datasets[t].hidden},generateLegend:function(){return this.options.legendCallback(this)},destroyDatasetMeta:function(t){var e=this.id,n=this.data.datasets[t],a=n._meta&&n._meta[e];a&&(a.controller.destroy(),delete n._meta[e])},destroy:function(){var t,e,n=this,a=n.canvas;for(n.stop(),t=0,e=n.data.datasets.length;t<e;++t)n.destroyDatasetMeta(t);a&&(n.unbindEvents(),dt.canvas.clear(n),Ie.releaseContext(n.ctx),n.canvas=null,n.ctx=null),Ne.notify(n,"destroy"),delete Ue.instances[n.id]},toBase64Image:function(){return this.canvas.toDataURL.apply(this.canvas,arguments)},initToolTip:function(){var t=this;t.tooltip=new ze({_chart:t,_chartInstance:t,_data:t.data,_options:t.options.tooltips},t)},bindEvents:function(){var t=this,e=t._listeners={},n=function(){t.eventHandler.apply(t,arguments)};dt.each(t.options.events,(function(a){Ie.addEventListener(t,a,n),e[a]=n})),t.options.responsive&&(n=function(){t.resize()},Ie.addEventListener(t,"resize",n),e.resize=n)},unbindEvents:function(){var t=this,e=t._listeners;e&&(delete t._listeners,dt.each(e,(function(e,n){Ie.removeEventListener(t,n,e)})))},updateHoverStyle:function(t,e,n){var a,r,o,i=n?"setHoverStyle":"removeHoverStyle";for(r=0,o=t.length;r<o;++r)(a=t[r])&&this.getDatasetMeta(a._datasetIndex).controller[i](a)},eventHandler:function(t){var e=this,n=e.tooltip;if(!1!==Ne.notify(e,"beforeEvent",[t])){e._bufferedRender=!0,e._bufferedRequest=null;var a=e.handleEvent(t);n&&(a=n._start?n.handleEvent(t):a|n.handleEvent(t)),Ne.notify(e,"afterEvent",[t]);var r=e._bufferedRequest;return r?e.render(r):a&&!e.animating&&(e.stop(),e.render({duration:e.options.hover.animationDuration,lazy:!0})),e._bufferedRender=!1,e._bufferedRequest=null,e}},handleEvent:function(t){var e,n=this,a=n.options||{},r=a.hover;return n.lastActive=n.lastActive||[],n.active="mouseout"===t.type?[]:n.getElementsAtEventForMode(t,r.mode,r),dt.callback(a.onHover||a.hover.onHover,[t.native,n.active],n),"mouseup"!==t.type&&"click"!==t.type||a.onClick&&a.onClick.call(n,t.native,n.active),n.lastActive.length&&n.updateHoverStyle(n.lastActive,r.mode,!1),n.active.length&&r.mode&&n.updateHoverStyle(n.active,r.mode,!0),e=!dt.arrayEquals(n.active,n.lastActive),n.lastActive=n.active,e}}),Ue.instances={};var We=Ue;function Ke(){throw new Error("This method is not implemented: either no adapter can be found or an incomplete integration was provided.")}function $e(t){this.options=t||{}}Ue.Controller=Ue,Ue.types={},dt.configMerge=Ye,dt.scaleMerge=Ge,dt.extend($e.prototype,{formats:Ke,parse:Ke,format:Ke,add:Ke,diff:Ke,startOf:Ke,endOf:Ke,_create:function(t){return t}}),$e.override=function(t){dt.extend($e.prototype,t)};var Ze={_date:$e},Je={formatters:{values:function(t){return dt.isArray(t)?t:""+t},linear:function(t,e,n){var a=n.length>3?n[2]-n[1]:n[1]-n[0];Math.abs(a)>1&&t!==Math.floor(t)&&(a=t-Math.floor(t));var r=dt.log10(Math.abs(a)),o="";if(0!==t)if(Math.max(Math.abs(n[0]),Math.abs(n[n.length-1]))<1e-4){var i=dt.log10(Math.abs(t));o=t.toExponential(Math.floor(i)-Math.floor(r))}else{var s=-1*Math.floor(r);s=Math.max(Math.min(s,20),0),o=t.toFixed(s)}else o="0";return o},logarithmic:function(t,e,n){var a=t/Math.pow(10,Math.floor(dt.log10(t)));return 0===t?"0":1===a||2===a||5===a||0===e||e===n.length-1?t.toExponential():""}}},Xe=dt.valueOrDefault,Qe=dt.valueAtIndexOrDefault;function tn(t){var e,n,a=[];for(e=0,n=t.length;e<n;++e)a.push(t[e].label);return a}function en(t,e,n){return dt.isArray(e)?dt.longestText(t,n,e):t.measureText(e).width}st._set("scale",{display:!0,position:"left",offset:!1,gridLines:{display:!0,color:"rgba(0, 0, 0, 0.1)",lineWidth:1,drawBorder:!0,drawOnChartArea:!0,drawTicks:!0,tickMarkLength:10,zeroLineWidth:1,zeroLineColor:"rgba(0,0,0,0.25)",zeroLineBorderDash:[],zeroLineBorderDashOffset:0,offsetGridLines:!1,borderDash:[],borderDashOffset:0},scaleLabel:{display:!1,labelString:"",padding:{top:4,bottom:4}},ticks:{beginAtZero:!1,minRotation:0,maxRotation:50,mirror:!1,padding:0,reverse:!1,display:!0,autoSkip:!0,autoSkipPadding:0,labelOffset:0,callback:Je.formatters.values,minor:{},major:{}}});var nn=pt.extend({getPadding:function(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}},getTicks:function(){return this._ticks},mergeTicksOptions:function(){var t=this.options.ticks;for(var e in!1===t.minor&&(t.minor={display:!1}),!1===t.major&&(t.major={display:!1}),t)"major"!==e&&"minor"!==e&&(void 0===t.minor[e]&&(t.minor[e]=t[e]),void 0===t.major[e]&&(t.major[e]=t[e]))},beforeUpdate:function(){dt.callback(this.options.beforeUpdate,[this])},update:function(t,e,n){var a,r,o,i,s,c,l=this;for(l.beforeUpdate(),l.maxWidth=t,l.maxHeight=e,l.margins=dt.extend({left:0,right:0,top:0,bottom:0},n),l._maxLabelLines=0,l.longestLabelWidth=0,l.longestTextCache=l.longestTextCache||{},l.beforeSetDimensions(),l.setDimensions(),l.afterSetDimensions(),l.beforeDataLimits(),l.determineDataLimits(),l.afterDataLimits(),l.beforeBuildTicks(),s=l.buildTicks()||[],s=l.afterBuildTicks(s)||s,l.beforeTickToLabelConversion(),o=l.convertTicksToLabels(s)||l.ticks,l.afterTickToLabelConversion(),l.ticks=o,a=0,r=o.length;a<r;++a)i=o[a],(c=s[a])?c.label=i:s.push(c={label:i,major:!1});return l._ticks=s,l.beforeCalculateTickRotation(),l.calculateTickRotation(),l.afterCalculateTickRotation(),l.beforeFit(),l.fit(),l.afterFit(),l.afterUpdate(),l.minSize},afterUpdate:function(){dt.callback(this.options.afterUpdate,[this])},beforeSetDimensions:function(){dt.callback(this.options.beforeSetDimensions,[this])},setDimensions:function(){var t=this;t.isHorizontal()?(t.width=t.maxWidth,t.left=0,t.right=t.width):(t.height=t.maxHeight,t.top=0,t.bottom=t.height),t.paddingLeft=0,t.paddingTop=0,t.paddingRight=0,t.paddingBottom=0},afterSetDimensions:function(){dt.callback(this.options.afterSetDimensions,[this])},beforeDataLimits:function(){dt.callback(this.options.beforeDataLimits,[this])},determineDataLimits:dt.noop,afterDataLimits:function(){dt.callback(this.options.afterDataLimits,[this])},beforeBuildTicks:function(){dt.callback(this.options.beforeBuildTicks,[this])},buildTicks:dt.noop,afterBuildTicks:function(t){var e=this;return dt.isArray(t)&&t.length?dt.callback(e.options.afterBuildTicks,[e,t]):(e.ticks=dt.callback(e.options.afterBuildTicks,[e,e.ticks])||e.ticks,t)},beforeTickToLabelConversion:function(){dt.callback(this.options.beforeTickToLabelConversion,[this])},convertTicksToLabels:function(){var t=this.options.ticks;this.ticks=this.ticks.map(t.userCallback||t.callback,this)},afterTickToLabelConversion:function(){dt.callback(this.options.afterTickToLabelConversion,[this])},beforeCalculateTickRotation:function(){dt.callback(this.options.beforeCalculateTickRotation,[this])},calculateTickRotation:function(){var t=this,e=t.ctx,n=t.options.ticks,a=tn(t._ticks),r=dt.options._parseFont(n);e.font=r.string;var o=n.minRotation||0;if(a.length&&t.options.display&&t.isHorizontal())for(var i,s=dt.longestText(e,r.string,a,t.longestTextCache),c=s,l=t.getPixelForTick(1)-t.getPixelForTick(0)-6;c>l&&o<n.maxRotation;){var d=dt.toRadians(o);if(i=Math.cos(d),Math.sin(d)*s>t.maxHeight){o--;break}o++,c=i*s}t.labelRotation=o},afterCalculateTickRotation:function(){dt.callback(this.options.afterCalculateTickRotation,[this])},beforeFit:function(){dt.callback(this.options.beforeFit,[this])},fit:function(){var t=this,e=t.minSize={width:0,height:0},n=tn(t._ticks),a=t.options,r=a.ticks,o=a.scaleLabel,i=a.gridLines,s=t._isVisible(),c=a.position,l=t.isHorizontal(),d=dt.options._parseFont,u=d(r),g=a.gridLines.tickMarkLength;if(e.width=l?t.isFullWidth()?t.maxWidth-t.margins.left-t.margins.right:t.maxWidth:s&&i.drawTicks?g:0,e.height=l?s&&i.drawTicks?g:0:t.maxHeight,o.display&&s){var f=d(o),p=dt.options.toPadding(o.padding),m=f.lineHeight+p.height;l?e.height+=m:e.width+=m}if(r.display&&s){var h=dt.longestText(t.ctx,u.string,n,t.longestTextCache),b=dt.numberOfLabelLines(n),_=.5*u.size,y=t.options.ticks.padding;if(t._maxLabelLines=b,t.longestLabelWidth=h,l){var O=dt.toRadians(t.labelRotation),v=Math.cos(O),C=Math.sin(O);e.height=Math.min(t.maxHeight,e.height+(C*h+u.lineHeight*b+_)+y),t.ctx.font=u.string;var P,M,x=en(t.ctx,n[0],u.string),w=en(t.ctx,n[n.length-1],u.string),T=t.getPixelForTick(0)-t.left,k=t.right-t.getPixelForTick(n.length-1);0!==t.labelRotation?(P="bottom"===c?v*x:v*_,M="bottom"===c?v*_:v*w):(P=x/2,M=w/2),t.paddingLeft=Math.max(P-T,0)+3,t.paddingRight=Math.max(M-k,0)+3}else r.mirror?h=0:h+=y+_,e.width=Math.min(t.maxWidth,e.width+h),t.paddingTop=u.size/2,t.paddingBottom=u.size/2}t.handleMargins(),t.width=e.width,t.height=e.height},handleMargins:function(){var t=this;t.margins&&(t.paddingLeft=Math.max(t.paddingLeft-t.margins.left,0),t.paddingTop=Math.max(t.paddingTop-t.margins.top,0),t.paddingRight=Math.max(t.paddingRight-t.margins.right,0),t.paddingBottom=Math.max(t.paddingBottom-t.margins.bottom,0))},afterFit:function(){dt.callback(this.options.afterFit,[this])},isHorizontal:function(){return"top"===this.options.position||"bottom"===this.options.position},isFullWidth:function(){return this.options.fullWidth},getRightValue:function(t){if(dt.isNullOrUndef(t))return NaN;if(("number"==typeof t||t instanceof Number)&&!isFinite(t))return NaN;if(t)if(this.isHorizontal()){if(void 0!==t.x)return this.getRightValue(t.x)}else if(void 0!==t.y)return this.getRightValue(t.y);return t},getLabelForIndex:dt.noop,getPixelForValue:dt.noop,getValueForPixel:dt.noop,getPixelForTick:function(t){var e=this,n=e.options.offset;if(e.isHorizontal()){var a=(e.width-(e.paddingLeft+e.paddingRight))/Math.max(e._ticks.length-(n?0:1),1),r=a*t+e.paddingLeft;return n&&(r+=a/2),e.left+r+(e.isFullWidth()?e.margins.left:0)}return e.top+t*((e.height-(e.paddingTop+e.paddingBottom))/(e._ticks.length-1))},getPixelForDecimal:function(t){var e=this;return e.isHorizontal()?e.left+((e.width-(e.paddingLeft+e.paddingRight))*t+e.paddingLeft)+(e.isFullWidth()?e.margins.left:0):e.top+t*e.height},getBasePixel:function(){return this.getPixelForValue(this.getBaseValue())},getBaseValue:function(){var t=this.min,e=this.max;return this.beginAtZero?0:t<0&&e<0?e:t>0&&e>0?t:0},_autoSkip:function(t){var e,n,a=this,r=a.isHorizontal(),o=t.length,i=!1,s=a.options.ticks.minor.maxTicksLimit,c=a._tickSize()*(o-1),l=r?a.width-(a.paddingLeft+a.paddingRight):a.height-(a.paddingTop+a.PaddingBottom),d=[];for(c>l&&(i=1+Math.floor(c/l)),o>s&&(i=Math.max(i,1+Math.floor(o/s))),e=0;e<o;e++)n=t[e],i>1&&e%i>0&&delete n.label,d.push(n);return d},_tickSize:function(){var t=this,e=t.isHorizontal(),n=t.options.ticks.minor,a=dt.toRadians(t.labelRotation),r=Math.abs(Math.cos(a)),o=Math.abs(Math.sin(a)),i=n.autoSkipPadding||0,s=t.longestLabelWidth+i||0,c=dt.options._parseFont(n),l=t._maxLabelLines*c.lineHeight+i||0;return e?l*r>s*o?s/r:l/o:l*o<s*r?l/r:s/o},_isVisible:function(){var t,e,n,a=this.chart,r=this.options.display;if("auto"!==r)return!!r;for(t=0,e=a.data.datasets.length;t<e;++t)if(a.isDatasetVisible(t)&&((n=a.getDatasetMeta(t)).xAxisID===this.id||n.yAxisID===this.id))return!0;return!1},draw:function(t){var e=this,n=e.options;if(e._isVisible()){var a,r,o,i=e.chart,s=e.ctx,c=st.global.defaultFontColor,l=n.ticks.minor,d=n.ticks.major||l,u=n.gridLines,g=n.scaleLabel,f=n.position,p=0!==e.labelRotation,m=l.mirror,h=e.isHorizontal(),b=dt.options._parseFont,_=l.display&&l.autoSkip?e._autoSkip(e.getTicks()):e.getTicks(),y=Xe(l.fontColor,c),O=b(l),v=O.lineHeight,C=Xe(d.fontColor,c),P=b(d),M=l.padding,x=l.labelOffset,w=u.drawTicks?u.tickMarkLength:0,T=Xe(g.fontColor,c),k=b(g),S=dt.options.toPadding(g.padding),I=dt.toRadians(e.labelRotation),N=[],R=u.drawBorder?Qe(u.lineWidth,0,0):0,A=dt._alignPixel;if("top"===f?(a=A(i,e.bottom,R),r=e.bottom-w,o=a-R/2):"bottom"===f?(a=A(i,e.top,R),r=a+R/2,o=e.top+w):"left"===f?(a=A(i,e.right,R),r=e.right-w,o=a-R/2):(a=A(i,e.left,R),r=a+R/2,o=e.left+w),dt.each(_,(function(a,s){if(!dt.isNullOrUndef(a.label)){var c,l,d,g,b,_,y,O,C,P,T,k,S,E,D,L,q=a.label;s===e.zeroLineIndex&&n.offset===u.offsetGridLines?(c=u.zeroLineWidth,l=u.zeroLineColor,d=u.zeroLineBorderDash||[],g=u.zeroLineBorderDashOffset||0):(c=Qe(u.lineWidth,s),l=Qe(u.color,s),d=u.borderDash||[],g=u.borderDashOffset||0);var j=dt.isArray(q)?q.length:1,F=function(t,e,n){var a=t.getPixelForTick(e);return n&&(1===t.getTicks().length?a-=t.isHorizontal()?Math.max(a-t.left,t.right-a):Math.max(a-t.top,t.bottom-a):a-=0===e?(t.getPixelForTick(1)-a)/2:(a-t.getPixelForTick(e-1))/2),a}(e,s,u.offsetGridLines);if(h){var z=w+M;F<e.left-1e-7&&(l="rgba(0,0,0,0)"),b=y=C=T=A(i,F,c),_=r,O=o,S=e.getPixelForTick(s)+x,"top"===f?(P=A(i,t.top,R)+R/2,k=t.bottom,D=((p?1:.5)-j)*v,L=p?"left":"center",E=e.bottom-z):(P=t.top,k=A(i,t.bottom,R)-R/2,D=(p?0:.5)*v,L=p?"right":"center",E=e.top+z)}else{var V=(m?0:w)+M;F<e.top-1e-7&&(l="rgba(0,0,0,0)"),b=r,y=o,_=O=P=k=A(i,F,c),E=e.getPixelForTick(s)+x,D=(1-j)*v/2,"left"===f?(C=A(i,t.left,R)+R/2,T=t.right,L=m?"left":"right",S=e.right-V):(C=t.left,T=A(i,t.right,R)-R/2,L=m?"right":"left",S=e.left+V)}N.push({tx1:b,ty1:_,tx2:y,ty2:O,x1:C,y1:P,x2:T,y2:k,labelX:S,labelY:E,glWidth:c,glColor:l,glBorderDash:d,glBorderDashOffset:g,rotation:-1*I,label:q,major:a.major,textOffset:D,textAlign:L})}})),dt.each(N,(function(t){var e=t.glWidth,n=t.glColor;if(u.display&&e&&n&&(s.save(),s.lineWidth=e,s.strokeStyle=n,s.setLineDash&&(s.setLineDash(t.glBorderDash),s.lineDashOffset=t.glBorderDashOffset),s.beginPath(),u.drawTicks&&(s.moveTo(t.tx1,t.ty1),s.lineTo(t.tx2,t.ty2)),u.drawOnChartArea&&(s.moveTo(t.x1,t.y1),s.lineTo(t.x2,t.y2)),s.stroke(),s.restore()),l.display){s.save(),s.translate(t.labelX,t.labelY),s.rotate(t.rotation),s.font=t.major?P.string:O.string,s.fillStyle=t.major?C:y,s.textBaseline="middle",s.textAlign=t.textAlign;var a=t.label,r=t.textOffset;if(dt.isArray(a))for(var o=0;o<a.length;++o)s.fillText(""+a[o],0,r),r+=v;else s.fillText(a,0,r);s.restore()}})),g.display){var E,D,L=0,q=k.lineHeight/2;if(h)E=e.left+(e.right-e.left)/2,D="bottom"===f?e.bottom-q-S.bottom:e.top+q+S.top;else{var j="left"===f;E=j?e.left+q+S.top:e.right-q-S.top,D=e.top+(e.bottom-e.top)/2,L=j?-.5*Math.PI:.5*Math.PI}s.save(),s.translate(E,D),s.rotate(L),s.textAlign="center",s.textBaseline="middle",s.fillStyle=T,s.font=k.string,s.fillText(g.labelString,0,0),s.restore()}if(R){var F,z,V,G,Y=R,B=Qe(u.lineWidth,_.length-1,0);h?(F=A(i,e.left,Y)-Y/2,z=A(i,e.right,B)+B/2,V=G=a):(V=A(i,e.top,Y)-Y/2,G=A(i,e.bottom,B)+B/2,F=z=a),s.lineWidth=R,s.strokeStyle=Qe(u.color,0),s.beginPath(),s.moveTo(F,V),s.lineTo(z,G),s.stroke()}}}}),an=nn.extend({getLabels:function(){var t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels},determineDataLimits:function(){var t,e=this,n=e.getLabels();e.minIndex=0,e.maxIndex=n.length-1,void 0!==e.options.ticks.min&&(t=n.indexOf(e.options.ticks.min),e.minIndex=-1!==t?t:e.minIndex),void 0!==e.options.ticks.max&&(t=n.indexOf(e.options.ticks.max),e.maxIndex=-1!==t?t:e.maxIndex),e.min=n[e.minIndex],e.max=n[e.maxIndex]},buildTicks:function(){var t=this,e=t.getLabels();t.ticks=0===t.minIndex&&t.maxIndex===e.length-1?e:e.slice(t.minIndex,t.maxIndex+1)},getLabelForIndex:function(t,e){var n=this,a=n.chart;return a.getDatasetMeta(e).controller._getValueScaleId()===n.id?n.getRightValue(a.data.datasets[e].data[t]):n.ticks[t-n.minIndex]},getPixelForValue:function(t,e){var n,a=this,r=a.options.offset,o=Math.max(a.maxIndex+1-a.minIndex-(r?0:1),1);if(null!=t&&(n=a.isHorizontal()?t.x:t.y),void 0!==n||void 0!==t&&isNaN(e)){var i=a.getLabels().indexOf(t=n||t);e=-1!==i?i:e}if(a.isHorizontal()){var s=a.width/o,c=s*(e-a.minIndex);return r&&(c+=s/2),a.left+c}var l=a.height/o,d=l*(e-a.minIndex);return r&&(d+=l/2),a.top+d},getPixelForTick:function(t){return this.getPixelForValue(this.ticks[t],t+this.minIndex,null)},getValueForPixel:function(t){var e=this,n=e.options.offset,a=Math.max(e._ticks.length-(n?0:1),1),r=e.isHorizontal(),o=(r?e.width:e.height)/a;return t-=r?e.left:e.top,n&&(t-=o/2),(t<=0?0:Math.round(t/o))+e.minIndex},getBasePixel:function(){return this.bottom}});an._defaults={position:"bottom"};var rn=dt.isNullOrUndef,on=nn.extend({getRightValue:function(t){return"string"==typeof t?+t:nn.prototype.getRightValue.call(this,t)},handleTickRangeOptions:function(){var t=this,e=t.options.ticks;if(e.beginAtZero){var n=dt.sign(t.min),a=dt.sign(t.max);n<0&&a<0?t.max=0:n>0&&a>0&&(t.min=0)}var r=void 0!==e.min||void 0!==e.suggestedMin,o=void 0!==e.max||void 0!==e.suggestedMax;void 0!==e.min?t.min=e.min:void 0!==e.suggestedMin&&(t.min=null===t.min?e.suggestedMin:Math.min(t.min,e.suggestedMin)),void 0!==e.max?t.max=e.max:void 0!==e.suggestedMax&&(t.max=null===t.max?e.suggestedMax:Math.max(t.max,e.suggestedMax)),r!==o&&t.min>=t.max&&(r?t.max=t.min+1:t.min=t.max-1),t.min===t.max&&(t.max++,e.beginAtZero||t.min--)},getTickLimit:function(){var t,e=this.options.ticks,n=e.stepSize,a=e.maxTicksLimit;return n?t=Math.ceil(this.max/n)-Math.floor(this.min/n)+1:(t=this._computeTickLimit(),a=a||11),a&&(t=Math.min(a,t)),t},_computeTickLimit:function(){return Number.POSITIVE_INFINITY},handleDirectionalChanges:dt.noop,buildTicks:function(){var t=this,e=t.options.ticks,n=t.getTickLimit(),a={maxTicks:n=Math.max(2,n),min:e.min,max:e.max,precision:e.precision,stepSize:dt.valueOrDefault(e.fixedStepSize,e.stepSize)},r=t.ticks=function(t,e){var n,a,r,o,i=[],s=t.stepSize,c=s||1,l=t.maxTicks-1,d=t.min,u=t.max,g=t.precision,f=e.min,p=e.max,m=dt.niceNum((p-f)/l/c)*c;if(m<1e-14&&rn(d)&&rn(u))return[f,p];(o=Math.ceil(p/m)-Math.floor(f/m))>l&&(m=dt.niceNum(o*m/l/c)*c),s||rn(g)?n=Math.pow(10,dt._decimalPlaces(m)):(n=Math.pow(10,g),m=Math.ceil(m*n)/n),a=Math.floor(f/m)*m,r=Math.ceil(p/m)*m,s&&(!rn(d)&&dt.almostWhole(d/m,m/1e3)&&(a=d),!rn(u)&&dt.almostWhole(u/m,m/1e3)&&(r=u)),o=dt.almostEquals(o=(r-a)/m,Math.round(o),m/1e3)?Math.round(o):Math.ceil(o),a=Math.round(a*n)/n,r=Math.round(r*n)/n,i.push(rn(d)?a:d);for(var h=1;h<o;++h)i.push(Math.round((a+h*m)*n)/n);return i.push(rn(u)?r:u),i}(a,t);t.handleDirectionalChanges(),t.max=dt.max(r),t.min=dt.min(r),e.reverse?(r.reverse(),t.start=t.max,t.end=t.min):(t.start=t.min,t.end=t.max)},convertTicksToLabels:function(){var t=this;t.ticksAsNumbers=t.ticks.slice(),t.zeroLineIndex=t.ticks.indexOf(0),nn.prototype.convertTicksToLabels.call(t)}}),sn={position:"left",ticks:{callback:Je.formatters.linear}},cn=on.extend({determineDataLimits:function(){var t=this,e=t.options,n=t.chart,a=n.data.datasets,r=t.isHorizontal();function o(e){return r?e.xAxisID===t.id:e.yAxisID===t.id}t.min=null,t.max=null;var i=e.stacked;if(void 0===i&&dt.each(a,(function(t,e){if(!i){var a=n.getDatasetMeta(e);n.isDatasetVisible(e)&&o(a)&&void 0!==a.stack&&(i=!0)}})),e.stacked||i){var s={};dt.each(a,(function(a,r){var i=n.getDatasetMeta(r),c=[i.type,void 0===e.stacked&&void 0===i.stack?r:"",i.stack].join(".");void 0===s[c]&&(s[c]={positiveValues:[],negativeValues:[]});var l=s[c].positiveValues,d=s[c].negativeValues;n.isDatasetVisible(r)&&o(i)&&dt.each(a.data,(function(n,a){var r=+t.getRightValue(n);isNaN(r)||i.data[a].hidden||(l[a]=l[a]||0,d[a]=d[a]||0,e.relativePoints?l[a]=100:r<0?d[a]+=r:l[a]+=r)}))})),dt.each(s,(function(e){var n=e.positiveValues.concat(e.negativeValues),a=dt.min(n),r=dt.max(n);t.min=null===t.min?a:Math.min(t.min,a),t.max=null===t.max?r:Math.max(t.max,r)}))}else dt.each(a,(function(e,a){var r=n.getDatasetMeta(a);n.isDatasetVisible(a)&&o(r)&&dt.each(e.data,(function(e,n){var a=+t.getRightValue(e);isNaN(a)||r.data[n].hidden||(null===t.min?t.min=a:a<t.min&&(t.min=a),null===t.max?t.max=a:a>t.max&&(t.max=a))}))}));t.min=isFinite(t.min)&&!isNaN(t.min)?t.min:0,t.max=isFinite(t.max)&&!isNaN(t.max)?t.max:1,this.handleTickRangeOptions()},_computeTickLimit:function(){var t;return this.isHorizontal()?Math.ceil(this.width/40):(t=dt.options._parseFont(this.options.ticks),Math.ceil(this.height/t.lineHeight))},handleDirectionalChanges:function(){this.isHorizontal()||this.ticks.reverse()},getLabelForIndex:function(t,e){return+this.getRightValue(this.chart.data.datasets[e].data[t])},getPixelForValue:function(t){var e=this,n=e.start,a=+e.getRightValue(t),r=e.end-n;return e.isHorizontal()?e.left+e.width/r*(a-n):e.bottom-e.height/r*(a-n)},getValueForPixel:function(t){var e=this,n=e.isHorizontal();return e.start+(n?t-e.left:e.bottom-t)/(n?e.width:e.height)*(e.end-e.start)},getPixelForTick:function(t){return this.getPixelForValue(this.ticksAsNumbers[t])}});cn._defaults=sn;var ln=dt.valueOrDefault,dn={position:"left",ticks:{callback:Je.formatters.logarithmic}};function un(t,e){return dt.isFinite(t)&&t>=0?t:e}var gn=nn.extend({determineDataLimits:function(){var t=this,e=t.options,n=t.chart,a=n.data.datasets,r=t.isHorizontal();function o(e){return r?e.xAxisID===t.id:e.yAxisID===t.id}t.min=null,t.max=null,t.minNotZero=null;var i=e.stacked;if(void 0===i&&dt.each(a,(function(t,e){if(!i){var a=n.getDatasetMeta(e);n.isDatasetVisible(e)&&o(a)&&void 0!==a.stack&&(i=!0)}})),e.stacked||i){var s={};dt.each(a,(function(a,r){var i=n.getDatasetMeta(r),c=[i.type,void 0===e.stacked&&void 0===i.stack?r:"",i.stack].join(".");n.isDatasetVisible(r)&&o(i)&&(void 0===s[c]&&(s[c]=[]),dt.each(a.data,(function(e,n){var a=s[c],r=+t.getRightValue(e);isNaN(r)||i.data[n].hidden||r<0||(a[n]=a[n]||0,a[n]+=r)})))})),dt.each(s,(function(e){if(e.length>0){var n=dt.min(e),a=dt.max(e);t.min=null===t.min?n:Math.min(t.min,n),t.max=null===t.max?a:Math.max(t.max,a)}}))}else dt.each(a,(function(e,a){var r=n.getDatasetMeta(a);n.isDatasetVisible(a)&&o(r)&&dt.each(e.data,(function(e,n){var a=+t.getRightValue(e);isNaN(a)||r.data[n].hidden||a<0||(null===t.min?t.min=a:a<t.min&&(t.min=a),null===t.max?t.max=a:a>t.max&&(t.max=a),0!==a&&(null===t.minNotZero||a<t.minNotZero)&&(t.minNotZero=a))}))}));this.handleTickRangeOptions()},handleTickRangeOptions:function(){var t=this,e=t.options.ticks;t.min=un(e.min,t.min),t.max=un(e.max,t.max),t.min===t.max&&(0!==t.min&&null!==t.min?(t.min=Math.pow(10,Math.floor(dt.log10(t.min))-1),t.max=Math.pow(10,Math.floor(dt.log10(t.max))+1)):(t.min=1,t.max=10)),null===t.min&&(t.min=Math.pow(10,Math.floor(dt.log10(t.max))-1)),null===t.max&&(t.max=0!==t.min?Math.pow(10,Math.floor(dt.log10(t.min))+1):10),null===t.minNotZero&&(t.minNotZero=t.min>0?t.min:t.max<1?Math.pow(10,Math.floor(dt.log10(t.max))):1)},buildTicks:function(){var t=this,e=t.options.ticks,n=!t.isHorizontal(),a={min:un(e.min),max:un(e.max)},r=t.ticks=function(t,e){var n,a,r=[],o=ln(t.min,Math.pow(10,Math.floor(dt.log10(e.min)))),i=Math.floor(dt.log10(e.max)),s=Math.ceil(e.max/Math.pow(10,i));0===o?(n=Math.floor(dt.log10(e.minNotZero)),a=Math.floor(e.minNotZero/Math.pow(10,n)),r.push(o),o=a*Math.pow(10,n)):(n=Math.floor(dt.log10(o)),a=Math.floor(o/Math.pow(10,n)));var c=n<0?Math.pow(10,Math.abs(n)):1;do{r.push(o),10==++a&&(a=1,c=++n>=0?1:c),o=Math.round(a*Math.pow(10,n)*c)/c}while(n<i||n===i&&a<s);var l=ln(t.max,o);return r.push(l),r}(a,t);t.max=dt.max(r),t.min=dt.min(r),e.reverse?(n=!n,t.start=t.max,t.end=t.min):(t.start=t.min,t.end=t.max),n&&r.reverse()},convertTicksToLabels:function(){this.tickValues=this.ticks.slice(),nn.prototype.convertTicksToLabels.call(this)},getLabelForIndex:function(t,e){return+this.getRightValue(this.chart.data.datasets[e].data[t])},getPixelForTick:function(t){return this.getPixelForValue(this.tickValues[t])},_getFirstTickValue:function(t){var e=Math.floor(dt.log10(t));return Math.floor(t/Math.pow(10,e))*Math.pow(10,e)},getPixelForValue:function(t){var e,n,a,r,o,i=this,s=i.options.ticks,c=s.reverse,l=dt.log10,d=i._getFirstTickValue(i.minNotZero),u=0;return t=+i.getRightValue(t),c?(a=i.end,r=i.start,o=-1):(a=i.start,r=i.end,o=1),i.isHorizontal()?(e=i.width,n=c?i.right:i.left):(e=i.height,o*=-1,n=c?i.top:i.bottom),t!==a&&(0===a&&(e-=u=ln(s.fontSize,st.global.defaultFontSize),a=d),0!==t&&(u+=e/(l(r)-l(a))*(l(t)-l(a))),n+=o*u),n},getValueForPixel:function(t){var e,n,a,r,o=this,i=o.options.ticks,s=i.reverse,c=dt.log10,l=o._getFirstTickValue(o.minNotZero);if(s?(n=o.end,a=o.start):(n=o.start,a=o.end),o.isHorizontal()?(e=o.width,r=s?o.right-t:t-o.left):(e=o.height,r=s?t-o.top:o.bottom-t),r!==n){if(0===n){var d=ln(i.fontSize,st.global.defaultFontSize);r-=d,e-=d,n=l}r*=c(a)-c(n),r/=e,r=Math.pow(10,c(n)+r)}return r}});gn._defaults=dn;var fn=dt.valueOrDefault,pn=dt.valueAtIndexOrDefault,mn=dt.options.resolve,hn={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,color:"rgba(0, 0, 0, 0.1)",lineWidth:1,borderDash:[],borderDashOffset:0},gridLines:{circular:!1},ticks:{showLabelBackdrop:!0,backdropColor:"rgba(255,255,255,0.75)",backdropPaddingY:2,backdropPaddingX:2,callback:Je.formatters.linear},pointLabels:{display:!0,fontSize:10,callback:function(t){return t}}};function bn(t){var e=t.options;return e.angleLines.display||e.pointLabels.display?t.chart.data.labels.length:0}function _n(t){var e=t.ticks;return e.display&&t.display?fn(e.fontSize,st.global.defaultFontSize)+2*e.backdropPaddingY:0}function yn(t,e,n,a,r){return t===a||t===r?{start:e-n/2,end:e+n/2}:t<a||t>r?{start:e-n,end:e}:{start:e,end:e+n}}function On(t){return 0===t||180===t?"center":t<180?"left":"right"}function vn(t,e,n,a){var r,o,i=n.y+a/2;if(dt.isArray(e))for(r=0,o=e.length;r<o;++r)t.fillText(e[r],n.x,i),i+=a;else t.fillText(e,n.x,i)}function Cn(t,e,n){90===t||270===t?n.y-=e.h/2:(t>270||t<90)&&(n.y-=e.h)}function Pn(t){return dt.isNumber(t)?t:0}var Mn=on.extend({setDimensions:function(){var t=this;t.width=t.maxWidth,t.height=t.maxHeight,t.paddingTop=_n(t.options)/2,t.xCenter=Math.floor(t.width/2),t.yCenter=Math.floor((t.height-t.paddingTop)/2),t.drawingArea=Math.min(t.height-t.paddingTop,t.width)/2},determineDataLimits:function(){var t=this,e=t.chart,n=Number.POSITIVE_INFINITY,a=Number.NEGATIVE_INFINITY;dt.each(e.data.datasets,(function(r,o){if(e.isDatasetVisible(o)){var i=e.getDatasetMeta(o);dt.each(r.data,(function(e,r){var o=+t.getRightValue(e);isNaN(o)||i.data[r].hidden||(n=Math.min(o,n),a=Math.max(o,a))}))}})),t.min=n===Number.POSITIVE_INFINITY?0:n,t.max=a===Number.NEGATIVE_INFINITY?0:a,t.handleTickRangeOptions()},_computeTickLimit:function(){return Math.ceil(this.drawingArea/_n(this.options))},convertTicksToLabels:function(){var t=this;on.prototype.convertTicksToLabels.call(t),t.pointLabels=t.chart.data.labels.map(t.options.pointLabels.callback,t)},getLabelForIndex:function(t,e){return+this.getRightValue(this.chart.data.datasets[e].data[t])},fit:function(){var t=this.options;t.display&&t.pointLabels.display?function(t){var e,n,a,r=dt.options._parseFont(t.options.pointLabels),o={l:0,r:t.width,t:0,b:t.height-t.paddingTop},i={};t.ctx.font=r.string,t._pointLabelSizes=[];var s,c,l,d=bn(t);for(e=0;e<d;e++){a=t.getPointPosition(e,t.drawingArea+5),s=t.ctx,c=r.lineHeight,n=dt.isArray(l=t.pointLabels[e]||"")?{w:dt.longestText(s,s.font,l),h:l.length*c}:{w:s.measureText(l).width,h:c},t._pointLabelSizes[e]=n;var u=t.getIndexAngle(e),g=dt.toDegrees(u)%360,f=yn(g,a.x,n.w,0,180),p=yn(g,a.y,n.h,90,270);f.start<o.l&&(o.l=f.start,i.l=u),f.end>o.r&&(o.r=f.end,i.r=u),p.start<o.t&&(o.t=p.start,i.t=u),p.end>o.b&&(o.b=p.end,i.b=u)}t.setReductions(t.drawingArea,o,i)}(this):this.setCenterPoint(0,0,0,0)},setReductions:function(t,e,n){var a=this,r=e.l/Math.sin(n.l),o=Math.max(e.r-a.width,0)/Math.sin(n.r),i=-e.t/Math.cos(n.t),s=-Math.max(e.b-(a.height-a.paddingTop),0)/Math.cos(n.b);r=Pn(r),o=Pn(o),i=Pn(i),s=Pn(s),a.drawingArea=Math.min(Math.floor(t-(r+o)/2),Math.floor(t-(i+s)/2)),a.setCenterPoint(r,o,i,s)},setCenterPoint:function(t,e,n,a){var r=this,o=n+r.drawingArea,i=r.height-r.paddingTop-a-r.drawingArea;r.xCenter=Math.floor((t+r.drawingArea+(r.width-e-r.drawingArea))/2+r.left),r.yCenter=Math.floor((o+i)/2+r.top+r.paddingTop)},getIndexAngle:function(t){return t*(2*Math.PI/bn(this))+(this.chart.options&&this.chart.options.startAngle?this.chart.options.startAngle:0)*Math.PI*2/360},getDistanceFromCenterForValue:function(t){var e=this;if(null===t)return 0;var n=e.drawingArea/(e.max-e.min);return e.options.ticks.reverse?(e.max-t)*n:(t-e.min)*n},getPointPosition:function(t,e){var n=this.getIndexAngle(t)-Math.PI/2;return{x:Math.cos(n)*e+this.xCenter,y:Math.sin(n)*e+this.yCenter}},getPointPositionForValue:function(t,e){return this.getPointPosition(t,this.getDistanceFromCenterForValue(e))},getBasePosition:function(){var t=this.min,e=this.max;return this.getPointPositionForValue(0,this.beginAtZero?0:t<0&&e<0?e:t>0&&e>0?t:0)},draw:function(){var t=this,e=t.options,n=e.gridLines,a=e.ticks;if(e.display){var r=t.ctx,o=this.getIndexAngle(0),i=dt.options._parseFont(a);(e.angleLines.display||e.pointLabels.display)&&function(t){var e=t.ctx,n=t.options,a=n.angleLines,r=n.gridLines,o=n.pointLabels,i=fn(a.lineWidth,r.lineWidth),s=fn(a.color,r.color),c=_n(n);e.save(),e.lineWidth=i,e.strokeStyle=s,e.setLineDash&&(e.setLineDash(mn([a.borderDash,r.borderDash,[]])),e.lineDashOffset=mn([a.borderDashOffset,r.borderDashOffset,0]));var l=t.getDistanceFromCenterForValue(n.ticks.reverse?t.min:t.max),d=dt.options._parseFont(o);e.font=d.string,e.textBaseline="middle";for(var u=bn(t)-1;u>=0;u--){if(a.display&&i&&s){var g=t.getPointPosition(u,l);e.beginPath(),e.moveTo(t.xCenter,t.yCenter),e.lineTo(g.x,g.y),e.stroke()}if(o.display){var f=t.getPointPosition(u,l+(0===u?c/2:0)+5),p=pn(o.fontColor,u,st.global.defaultFontColor);e.fillStyle=p;var m=t.getIndexAngle(u),h=dt.toDegrees(m);e.textAlign=On(h),Cn(h,t._pointLabelSizes[u],f),vn(e,t.pointLabels[u]||"",f,d.lineHeight)}}e.restore()}(t),dt.each(t.ticks,(function(e,s){if(s>0||a.reverse){var c=t.getDistanceFromCenterForValue(t.ticksAsNumbers[s]);if(n.display&&0!==s&&function(t,e,n,a){var r,o=t.ctx,i=e.circular,s=bn(t),c=pn(e.color,a-1),l=pn(e.lineWidth,a-1);if((i||s)&&c&&l){if(o.save(),o.strokeStyle=c,o.lineWidth=l,o.setLineDash&&(o.setLineDash(e.borderDash||[]),o.lineDashOffset=e.borderDashOffset||0),o.beginPath(),i)o.arc(t.xCenter,t.yCenter,n,0,2*Math.PI);else{r=t.getPointPosition(0,n),o.moveTo(r.x,r.y);for(var d=1;d<s;d++)r=t.getPointPosition(d,n),o.lineTo(r.x,r.y)}o.closePath(),o.stroke(),o.restore()}}(t,n,c,s),a.display){var l=fn(a.fontColor,st.global.defaultFontColor);if(r.font=i.string,r.save(),r.translate(t.xCenter,t.yCenter),r.rotate(o),a.showLabelBackdrop){var d=r.measureText(e).width;r.fillStyle=a.backdropColor,r.fillRect(-d/2-a.backdropPaddingX,-c-i.size/2-a.backdropPaddingY,d+2*a.backdropPaddingX,i.size+2*a.backdropPaddingY)}r.textAlign="center",r.textBaseline="middle",r.fillStyle=l,r.fillText(e,0,-c),r.restore()}}}))}}});Mn._defaults=hn;var xn=dt.valueOrDefault,wn=Number.MIN_SAFE_INTEGER||-9007199254740991,Tn=Number.MAX_SAFE_INTEGER||9007199254740991,kn={millisecond:{common:!0,size:1,steps:[1,2,5,10,20,50,100,250,500]},second:{common:!0,size:1e3,steps:[1,2,5,10,15,30]},minute:{common:!0,size:6e4,steps:[1,2,5,10,15,30]},hour:{common:!0,size:36e5,steps:[1,2,3,6,12]},day:{common:!0,size:864e5,steps:[1,2,5]},week:{common:!1,size:6048e5,steps:[1,2,3,4]},month:{common:!0,size:2628e6,steps:[1,2,3]},quarter:{common:!1,size:7884e6,steps:[1,2,3,4]},year:{common:!0,size:3154e7}},Sn=Object.keys(kn);function In(t,e){return t-e}function Nn(t){var e,n,a,r={},o=[];for(e=0,n=t.length;e<n;++e)r[a=t[e]]||(r[a]=!0,o.push(a));return o}function Rn(t,e,n,a){var r=function(t,e,n){for(var a,r,o,i=0,s=t.length-1;i>=0&&i<=s;){if(o=t[a=i+s>>1],!(r=t[a-1]||null))return{lo:null,hi:o};if(o[e]<n)i=a+1;else{if(!(r[e]>n))return{lo:r,hi:o};s=a-1}}return{lo:o,hi:null}}(t,e,n),o=r.lo?r.hi?r.lo:t[t.length-2]:t[0],i=r.lo?r.hi?r.hi:t[t.length-1]:t[1],s=i[e]-o[e];return o[a]+(i[a]-o[a])*(s?(n-o[e])/s:0)}function An(t,e){var n=t._adapter,a=t.options.time,r=a.parser,o=r||a.format,i=e;return"function"==typeof r&&(i=r(i)),dt.isFinite(i)||(i="string"==typeof o?n.parse(i,o):n.parse(i)),null!==i?+i:(r||"function"!=typeof o||(i=o(e),dt.isFinite(i)||(i=n.parse(i))),i)}function En(t,e){if(dt.isNullOrUndef(e))return null;var n=t.options.time,a=An(t,t.getRightValue(e));return null===a?a:(n.round&&(a=+t._adapter.startOf(a,n.round)),a)}function Dn(t){for(var e=Sn.indexOf(t)+1,n=Sn.length;e<n;++e)if(kn[Sn[e]].common)return Sn[e]}var Ln=nn.extend({initialize:function(){this.mergeTicksOptions(),nn.prototype.initialize.call(this)},update:function(){var t=this,e=t.options,n=e.time||(e.time={}),a=t._adapter=new Ze._date(e.adapters.date);return n.format&&console.warn("options.time.format is deprecated and replaced by options.time.parser."),dt.mergeIf(n.displayFormats,a.formats()),nn.prototype.update.apply(t,arguments)},getRightValue:function(t){return t&&void 0!==t.t&&(t=t.t),nn.prototype.getRightValue.call(this,t)},determineDataLimits:function(){var t,e,n,a,r,o,i=this,s=i.chart,c=i._adapter,l=i.options.time,d=l.unit||"day",u=Tn,g=wn,f=[],p=[],m=[],h=s.data.labels||[];for(t=0,n=h.length;t<n;++t)m.push(En(i,h[t]));for(t=0,n=(s.data.datasets||[]).length;t<n;++t)if(s.isDatasetVisible(t))if(dt.isObject((r=s.data.datasets[t].data)[0]))for(p[t]=[],e=0,a=r.length;e<a;++e)o=En(i,r[e]),f.push(o),p[t][e]=o;else{for(e=0,a=m.length;e<a;++e)f.push(m[e]);p[t]=m.slice(0)}else p[t]=[];m.length&&(m=Nn(m).sort(In),u=Math.min(u,m[0]),g=Math.max(g,m[m.length-1])),f.length&&(f=Nn(f).sort(In),u=Math.min(u,f[0]),g=Math.max(g,f[f.length-1])),u=En(i,l.min)||u,g=En(i,l.max)||g,u=u===Tn?+c.startOf(Date.now(),d):u,g=g===wn?+c.endOf(Date.now(),d)+1:g,i.min=Math.min(u,g),i.max=Math.max(u+1,g),i._horizontal=i.isHorizontal(),i._table=[],i._timestamps={data:f,datasets:p,labels:m}},buildTicks:function(){var t,e,n,a=this,r=a.min,o=a.max,i=a.options,s=i.time,c=[],l=[];switch(i.ticks.source){case"data":c=a._timestamps.data;break;case"labels":c=a._timestamps.labels;break;case"auto":default:c=function(t,e,n,a){var r,o=t._adapter,i=t.options,s=i.time,c=s.unit||function(t,e,n,a){var r,o,i=Sn.length;for(r=Sn.indexOf(t);r<i-1;++r)if((o=kn[Sn[r]]).common&&Math.ceil((n-e)/((o.steps?o.steps[o.steps.length-1]:Tn)*o.size))<=a)return Sn[r];return Sn[i-1]}(s.minUnit,e,n,a),l=Dn(c),d=xn(s.stepSize,s.unitStepSize),u="week"===c&&s.isoWeekday,g=i.ticks.major.enabled,f=kn[c],p=e,m=n,h=[];for(d||(d=function(t,e,n,a){var r,o,i,s=e-t,c=kn[n],l=c.size,d=c.steps;if(!d)return Math.ceil(s/(a*l));for(r=0,o=d.length;r<o&&(i=d[r],!(Math.ceil(s/(l*i))<=a));++r);return i}(e,n,c,a)),u&&(p=+o.startOf(p,"isoWeek",u),m=+o.startOf(m,"isoWeek",u)),p=+o.startOf(p,u?"day":c),(m=+o.startOf(m,u?"day":c))<n&&(m=+o.add(m,1,c)),r=p,g&&l&&!u&&!s.round&&(r=+o.startOf(r,l),r=+o.add(r,~~((p-r)/(f.size*d))*d,c));r<m;r=+o.add(r,d,c))h.push(+r);return h.push(+r),h}(a,r,o,a.getLabelCapacity(r))}for("ticks"===i.bounds&&c.length&&(r=c[0],o=c[c.length-1]),r=En(a,s.min)||r,o=En(a,s.max)||o,t=0,e=c.length;t<e;++t)(n=c[t])>=r&&n<=o&&l.push(n);return a.min=r,a.max=o,a._unit=s.unit||function(t,e,n,a,r){var o,i;for(o=Sn.length-1;o>=Sn.indexOf(n);o--)if(kn[i=Sn[o]].common&&t._adapter.diff(r,a,i)>=e.length)return i;return Sn[n?Sn.indexOf(n):0]}(a,l,s.minUnit,a.min,a.max),a._majorUnit=Dn(a._unit),a._table=function(t,e,n,a){if("linear"===a||!t.length)return[{time:e,pos:0},{time:n,pos:1}];var r,o,i,s,c,l=[],d=[e];for(r=0,o=t.length;r<o;++r)(s=t[r])>e&&s<n&&d.push(s);for(d.push(n),r=0,o=d.length;r<o;++r)c=d[r+1],s=d[r],void 0!==(i=d[r-1])&&void 0!==c&&Math.round((c+i)/2)===s||l.push({time:s,pos:r/(o-1)});return l}(a._timestamps.data,r,o,i.distribution),a._offsets=function(t,e,n,a,r){var o,i,s=0,c=0;return r.offset&&e.length&&(r.time.min||(o=Rn(t,"time",e[0],"pos"),s=1===e.length?1-o:(Rn(t,"time",e[1],"pos")-o)/2),r.time.max||(i=Rn(t,"time",e[e.length-1],"pos"),c=1===e.length?i:(i-Rn(t,"time",e[e.length-2],"pos"))/2)),{start:s,end:c}}(a._table,l,0,0,i),i.ticks.reverse&&l.reverse(),function(t,e,n){var a,r,o,i,s=[];for(a=0,r=e.length;a<r;++a)o=e[a],i=!!n&&o===+t._adapter.startOf(o,n),s.push({value:o,major:i});return s}(a,l,a._majorUnit)},getLabelForIndex:function(t,e){var n=this,a=n._adapter,r=n.chart.data,o=n.options.time,i=r.labels&&t<r.labels.length?r.labels[t]:"",s=r.datasets[e].data[t];return dt.isObject(s)&&(i=n.getRightValue(s)),o.tooltipFormat?a.format(An(n,i),o.tooltipFormat):"string"==typeof i?i:a.format(An(n,i),o.displayFormats.datetime)},tickFormatFunction:function(t,e,n,a){var r=this._adapter,o=this.options,i=o.time.displayFormats,s=i[this._unit],c=this._majorUnit,l=i[c],d=+r.startOf(t,c),u=o.ticks.major,g=u.enabled&&c&&l&&t===d,f=r.format(t,a||(g?l:s)),p=g?u:o.ticks.minor,m=xn(p.callback,p.userCallback);return m?m(f,e,n):f},convertTicksToLabels:function(t){var e,n,a=[];for(e=0,n=t.length;e<n;++e)a.push(this.tickFormatFunction(t[e].value,e,t));return a},getPixelForOffset:function(t){var e=this,n=e.options.ticks.reverse,a=e._horizontal?e.width:e.height,r=e._horizontal?n?e.right:e.left:n?e.bottom:e.top,o=Rn(e._table,"time",t,"pos"),i=a*(e._offsets.start+o)/(e._offsets.start+1+e._offsets.end);return n?r-i:r+i},getPixelForValue:function(t,e,n){var a=null;if(void 0!==e&&void 0!==n&&(a=this._timestamps.datasets[n][e]),null===a&&(a=En(this,t)),null!==a)return this.getPixelForOffset(a)},getPixelForTick:function(t){var e=this.getTicks();return t>=0&&t<e.length?this.getPixelForOffset(e[t].value):null},getValueForPixel:function(t){var e=this,n=e._horizontal?e.width:e.height,a=Rn(e._table,"pos",(n?(t-(e._horizontal?e.left:e.top))/n:0)*(e._offsets.start+1+e._offsets.start)-e._offsets.end,"time");return e._adapter._create(a)},getLabelWidth:function(t){var e=this.options.ticks,n=this.ctx.measureText(t).width,a=dt.toRadians(e.maxRotation),r=Math.cos(a),o=Math.sin(a);return n*r+xn(e.fontSize,st.global.defaultFontSize)*o},getLabelCapacity:function(t){var e=this,n=e.tickFormatFunction(t,0,[],e.options.time.displayFormats.millisecond),a=e.getLabelWidth(n),r=e.isHorizontal()?e.width:e.height,o=Math.floor(r/a);return o>0?o:1}});Ln._defaults={position:"bottom",distribution:"linear",bounds:"data",adapters:{},time:{parser:!1,format:!1,unit:!1,round:!1,displayFormat:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{autoSkip:!1,source:"auto",major:{enabled:!1}}};var qn={category:an,linear:cn,logarithmic:gn,radialLinear:Mn,time:Ln},jn={datetime:"MMM D, YYYY, h:mm:ss a",millisecond:"h:mm:ss.SSS a",second:"h:mm:ss a",minute:"h:mm a",hour:"hA",day:"MMM D",week:"ll",month:"MMM YYYY",quarter:"[Q]Q - YYYY",year:"YYYY"};Ze._date.override("function"==typeof t?{_id:"moment",formats:function(){return jn},parse:function(e,n){return"string"==typeof e&&"string"==typeof n?e=t(e,n):e instanceof t||(e=t(e)),e.isValid()?e.valueOf():null},format:function(e,n){return t(e).format(n)},add:function(e,n,a){return t(e).add(n,a).valueOf()},diff:function(e,n,a){return t.duration(t(e).diff(t(n))).as(a)},startOf:function(e,n,a){return e=t(e),"isoWeek"===n?e.isoWeekday(a).valueOf():e.startOf(n).valueOf()},endOf:function(e,n){return t(e).endOf(n).valueOf()},_create:function(e){return t(e)}}:{}),st._set("global",{plugins:{filler:{propagate:!0}}});var Fn={dataset:function(t){var e=t.fill,n=t.chart,a=n.getDatasetMeta(e),r=a&&n.isDatasetVisible(e)&&a.dataset._children||[],o=r.length||0;return o?function(t,e){return e<o&&r[e]._view||null}:null},boundary:function(t){var e=t.boundary,n=e?e.x:null,a=e?e.y:null;return function(t){return{x:null===n?t.x:n,y:null===a?t.y:a}}}};function zn(t,e,n){var a,r=t._model||{},o=r.fill;if(void 0===o&&(o=!!r.backgroundColor),!1===o||null===o)return!1;if(!0===o)return"origin";if(a=parseFloat(o,10),isFinite(a)&&Math.floor(a)===a)return"-"!==o[0]&&"+"!==o[0]||(a=e+a),!(a===e||a<0||a>=n)&&a;switch(o){case"bottom":return"start";case"top":return"end";case"zero":return"origin";case"origin":case"start":case"end":return o;default:return!1}}function Vn(t){var e,n=t.el._model||{},a=t.el._scale||{},r=t.fill,o=null;if(isFinite(r))return null;if("start"===r?o=void 0===n.scaleBottom?a.bottom:n.scaleBottom:"end"===r?o=void 0===n.scaleTop?a.top:n.scaleTop:void 0!==n.scaleZero?o=n.scaleZero:a.getBasePosition?o=a.getBasePosition():a.getBasePixel&&(o=a.getBasePixel()),null!=o){if(void 0!==o.x&&void 0!==o.y)return o;if(dt.isFinite(o))return{x:(e=a.isHorizontal())?o:null,y:e?null:o}}return null}function Gn(t,e,n){var a,r=t[e].fill,o=[e];if(!n)return r;for(;!1!==r&&-1===o.indexOf(r);){if(!isFinite(r))return r;if(!(a=t[r]))return!1;if(a.visible)return r;o.push(r),r=a.fill}return!1}function Yn(t){var e=t.fill,n="dataset";return!1===e?null:(isFinite(e)||(n="boundary"),Fn[n](t))}function Bn(t){return t&&!t.skip}function Hn(t,e,n,a,r){var o;if(a&&r){for(t.moveTo(e[0].x,e[0].y),o=1;o<a;++o)dt.canvas.lineTo(t,e[o-1],e[o]);for(t.lineTo(n[r-1].x,n[r-1].y),o=r-1;o>0;--o)dt.canvas.lineTo(t,n[o],n[o-1],!0)}}var Un={id:"filler",afterDatasetsUpdate:function(t,e){var n,a,r,o,i=(t.data.datasets||[]).length,s=e.propagate,c=[];for(a=0;a<i;++a)o=null,(r=(n=t.getDatasetMeta(a)).dataset)&&r._model&&r instanceof qt.Line&&(o={visible:t.isDatasetVisible(a),fill:zn(r,a,i),chart:t,el:r}),n.$filler=o,c.push(o);for(a=0;a<i;++a)(o=c[a])&&(o.fill=Gn(c,a,s),o.boundary=Vn(o),o.mapper=Yn(o))},beforeDatasetDraw:function(t,e){var n=e.meta.$filler;if(n){var a=t.ctx,r=n.el,o=r._view,i=r._children||[],s=n.mapper,c=o.backgroundColor||st.global.defaultColor;s&&c&&i.length&&(dt.canvas.clipArea(a,t.chartArea),function(t,e,n,a,r,o){var i,s,c,l,d,u,g,f=e.length,p=a.spanGaps,m=[],h=[],b=0,_=0;for(t.beginPath(),i=0,s=f+!!o;i<s;++i)d=n(l=e[c=i%f]._view,c,a),u=Bn(l),g=Bn(d),u&&g?(b=m.push(l),_=h.push(d)):b&&_&&(p?(u&&m.push(l),g&&h.push(d)):(Hn(t,m,h,b,_),b=_=0,m=[],h=[]));Hn(t,m,h,b,_),t.closePath(),t.fillStyle=r,t.fill()}(a,i,s,o,c,r._loop),dt.canvas.unclipArea(a))}}},Wn=dt.noop,Kn=dt.valueOrDefault;function $n(t,e){return t.usePointStyle&&t.boxWidth>e?e:t.boxWidth}st._set("global",{legend:{display:!0,position:"top",fullWidth:!0,reverse:!1,weight:1e3,onClick:function(t,e){var n=e.datasetIndex,a=this.chart,r=a.getDatasetMeta(n);r.hidden=null===r.hidden?!a.data.datasets[n].hidden:null,a.update()},onHover:null,onLeave:null,labels:{boxWidth:40,padding:10,generateLabels:function(t){var e=t.data;return dt.isArray(e.datasets)?e.datasets.map((function(e,n){return{text:e.label,fillStyle:dt.isArray(e.backgroundColor)?e.backgroundColor[0]:e.backgroundColor,hidden:!t.isDatasetVisible(n),lineCap:e.borderCapStyle,lineDash:e.borderDash,lineDashOffset:e.borderDashOffset,lineJoin:e.borderJoinStyle,lineWidth:e.borderWidth,strokeStyle:e.borderColor,pointStyle:e.pointStyle,datasetIndex:n}}),this):[]}}},legendCallback:function(t){var e=[];e.push('<ul class="'+t.id+'-legend">');for(var n=0;n<t.data.datasets.length;n++)e.push('<li><span style="background-color:'+t.data.datasets[n].backgroundColor+'"></span>'),t.data.datasets[n].label&&e.push(t.data.datasets[n].label),e.push("</li>");return e.push("</ul>"),e.join("")}});var Zn=pt.extend({initialize:function(t){dt.extend(this,t),this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1},beforeUpdate:Wn,update:function(t,e,n){var a=this;return a.beforeUpdate(),a.maxWidth=t,a.maxHeight=e,a.margins=n,a.beforeSetDimensions(),a.setDimensions(),a.afterSetDimensions(),a.beforeBuildLabels(),a.buildLabels(),a.afterBuildLabels(),a.beforeFit(),a.fit(),a.afterFit(),a.afterUpdate(),a.minSize},afterUpdate:Wn,beforeSetDimensions:Wn,setDimensions:function(){var t=this;t.isHorizontal()?(t.width=t.maxWidth,t.left=0,t.right=t.width):(t.height=t.maxHeight,t.top=0,t.bottom=t.height),t.paddingLeft=0,t.paddingTop=0,t.paddingRight=0,t.paddingBottom=0,t.minSize={width:0,height:0}},afterSetDimensions:Wn,beforeBuildLabels:Wn,buildLabels:function(){var t=this,e=t.options.labels||{},n=dt.callback(e.generateLabels,[t.chart],t)||[];e.filter&&(n=n.filter((function(n){return e.filter(n,t.chart.data)}))),t.options.reverse&&n.reverse(),t.legendItems=n},afterBuildLabels:Wn,beforeFit:Wn,fit:function(){var t=this,e=t.options,n=e.labels,a=e.display,r=t.ctx,o=dt.options._parseFont(n),i=o.size,s=t.legendHitBoxes=[],c=t.minSize,l=t.isHorizontal();if(l?(c.width=t.maxWidth,c.height=a?10:0):(c.width=a?10:0,c.height=t.maxHeight),a)if(r.font=o.string,l){var d=t.lineWidths=[0],u=0;r.textAlign="left",r.textBaseline="top",dt.each(t.legendItems,(function(t,e){var a=$n(n,i)+i/2+r.measureText(t.text).width;(0===e||d[d.length-1]+a+n.padding>c.width)&&(u+=i+n.padding,d[d.length-(e>0?0:1)]=n.padding),s[e]={left:0,top:0,width:a,height:i},d[d.length-1]+=a+n.padding})),c.height+=u}else{var g=n.padding,f=t.columnWidths=[],p=n.padding,m=0,h=0,b=i+g;dt.each(t.legendItems,(function(t,e){var a=$n(n,i)+i/2+r.measureText(t.text).width;e>0&&h+b>c.height-g&&(p+=m+n.padding,f.push(m),m=0,h=0),m=Math.max(m,a),h+=b,s[e]={left:0,top:0,width:a,height:i}})),p+=m,f.push(m),c.width+=p}t.width=c.width,t.height=c.height},afterFit:Wn,isHorizontal:function(){return"top"===this.options.position||"bottom"===this.options.position},draw:function(){var t=this,e=t.options,n=e.labels,a=st.global,r=a.defaultColor,o=a.elements.line,i=t.width,s=t.lineWidths;if(e.display){var c,l=t.ctx,d=Kn(n.fontColor,a.defaultFontColor),u=dt.options._parseFont(n),g=u.size;l.textAlign="left",l.textBaseline="middle",l.lineWidth=.5,l.strokeStyle=d,l.fillStyle=d,l.font=u.string;var f=$n(n,g),p=t.legendHitBoxes,m=t.isHorizontal();c=m?{x:t.left+(i-s[0])/2+n.padding,y:t.top+n.padding,line:0}:{x:t.left+n.padding,y:t.top+n.padding,line:0};var h=g+n.padding;dt.each(t.legendItems,(function(a,d){var u=l.measureText(a.text).width,b=f+g/2+u,_=c.x,y=c.y;m?d>0&&_+b+n.padding>t.left+t.minSize.width&&(y=c.y+=h,c.line++,_=c.x=t.left+(i-s[c.line])/2+n.padding):d>0&&y+h>t.top+t.minSize.height&&(_=c.x=_+t.columnWidths[c.line]+n.padding,y=c.y=t.top+n.padding,c.line++),function(t,n,a){if(!(isNaN(f)||f<=0)){l.save();var i=Kn(a.lineWidth,o.borderWidth);if(l.fillStyle=Kn(a.fillStyle,r),l.lineCap=Kn(a.lineCap,o.borderCapStyle),l.lineDashOffset=Kn(a.lineDashOffset,o.borderDashOffset),l.lineJoin=Kn(a.lineJoin,o.borderJoinStyle),l.lineWidth=i,l.strokeStyle=Kn(a.strokeStyle,r),l.setLineDash&&l.setLineDash(Kn(a.lineDash,o.borderDash)),e.labels&&e.labels.usePointStyle){var s=f*Math.SQRT2/2;dt.canvas.drawPoint(l,a.pointStyle,s,t+f/2,n+g/2)}else 0!==i&&l.strokeRect(t,n,f,g),l.fillRect(t,n,f,g);l.restore()}}(_,y,a),p[d].left=_,p[d].top=y,function(t,e,n,a){var r=g/2,o=f+r+t,i=e+r;l.fillText(n.text,o,i),n.hidden&&(l.beginPath(),l.lineWidth=2,l.moveTo(o,i),l.lineTo(o+a,i),l.stroke())}(_,y,a,u),m?c.x+=b+n.padding:c.y+=h}))}},_getLegendItemAt:function(t,e){var n,a,r,o=this;if(t>=o.left&&t<=o.right&&e>=o.top&&e<=o.bottom)for(r=o.legendHitBoxes,n=0;n<r.length;++n)if(t>=(a=r[n]).left&&t<=a.left+a.width&&e>=a.top&&e<=a.top+a.height)return o.legendItems[n];return null},handleEvent:function(t){var e,n=this,a=n.options,r="mouseup"===t.type?"click":t.type;if("mousemove"===r){if(!a.onHover&&!a.onLeave)return}else{if("click"!==r)return;if(!a.onClick)return}e=n._getLegendItemAt(t.x,t.y),"click"===r?e&&a.onClick&&a.onClick.call(n,t.native,e):(a.onLeave&&e!==n._hoveredItem&&(n._hoveredItem&&a.onLeave.call(n,t.native,n._hoveredItem),n._hoveredItem=e),a.onHover&&e&&a.onHover.call(n,t.native,e))}});function Jn(t,e){var n=new Zn({ctx:t.ctx,options:e,chart:t});ye.configure(t,n,e),ye.addBox(t,n),t.legend=n}var Xn={id:"legend",_element:Zn,beforeInit:function(t){var e=t.options.legend;e&&Jn(t,e)},beforeUpdate:function(t){var e=t.options.legend,n=t.legend;e?(dt.mergeIf(e,st.global.legend),n?(ye.configure(t,n,e),n.options=e):Jn(t,e)):n&&(ye.removeBox(t,n),delete t.legend)},afterEvent:function(t,e){var n=t.legend;n&&n.handleEvent(e)}},Qn=dt.noop;st._set("global",{title:{display:!1,fontStyle:"bold",fullWidth:!0,padding:10,position:"top",text:"",weight:2e3}});var ta=pt.extend({initialize:function(t){dt.extend(this,t),this.legendHitBoxes=[]},beforeUpdate:Qn,update:function(t,e,n){var a=this;return a.beforeUpdate(),a.maxWidth=t,a.maxHeight=e,a.margins=n,a.beforeSetDimensions(),a.setDimensions(),a.afterSetDimensions(),a.beforeBuildLabels(),a.buildLabels(),a.afterBuildLabels(),a.beforeFit(),a.fit(),a.afterFit(),a.afterUpdate(),a.minSize},afterUpdate:Qn,beforeSetDimensions:Qn,setDimensions:function(){var t=this;t.isHorizontal()?(t.width=t.maxWidth,t.left=0,t.right=t.width):(t.height=t.maxHeight,t.top=0,t.bottom=t.height),t.paddingLeft=0,t.paddingTop=0,t.paddingRight=0,t.paddingBottom=0,t.minSize={width:0,height:0}},afterSetDimensions:Qn,beforeBuildLabels:Qn,buildLabels:Qn,afterBuildLabels:Qn,beforeFit:Qn,fit:function(){var t=this,e=t.options,n=e.display,a=t.minSize,r=dt.isArray(e.text)?e.text.length:1,o=dt.options._parseFont(e),i=n?r*o.lineHeight+2*e.padding:0;t.isHorizontal()?(a.width=t.maxWidth,a.height=i):(a.width=i,a.height=t.maxHeight),t.width=a.width,t.height=a.height},afterFit:Qn,isHorizontal:function(){var t=this.options.position;return"top"===t||"bottom"===t},draw:function(){var t=this,e=t.ctx,n=t.options;if(n.display){var a,r,o,i=dt.options._parseFont(n),s=i.lineHeight,c=s/2+n.padding,l=0,d=t.top,u=t.left,g=t.bottom,f=t.right;e.fillStyle=dt.valueOrDefault(n.fontColor,st.global.defaultFontColor),e.font=i.string,t.isHorizontal()?(r=u+(f-u)/2,o=d+c,a=f-u):(r="left"===n.position?u+c:f-c,o=d+(g-d)/2,a=g-d,l=Math.PI*("left"===n.position?-.5:.5)),e.save(),e.translate(r,o),e.rotate(l),e.textAlign="center",e.textBaseline="middle";var p=n.text;if(dt.isArray(p))for(var m=0,h=0;h<p.length;++h)e.fillText(p[h],0,m,a),m+=s;else e.fillText(p,0,0,a);e.restore()}}});function ea(t,e){var n=new ta({ctx:t.ctx,options:e,chart:t});ye.configure(t,n,e),ye.addBox(t,n),t.titleBlock=n}var na={},aa=Un,ra=Xn,oa={id:"title",_element:ta,beforeInit:function(t){var e=t.options.title;e&&ea(t,e)},beforeUpdate:function(t){var e=t.options.title,n=t.titleBlock;e?(dt.mergeIf(e,st.global.title),n?(ye.configure(t,n,e),n.options=e):ea(t,e)):n&&(ye.removeBox(t,n),delete t.titleBlock)}};for(var ia in na.filler=aa,na.legend=ra,na.title=oa,We.helpers=dt,function(){function t(t,e,n){var a;return"string"==typeof t?(a=parseInt(t,10),-1!==t.indexOf("%")&&(a=a/100*e.parentNode[n])):a=t,a}function e(t){return null!=t&&"none"!==t}function n(n,a,r){var o=document.defaultView,i=dt._getParentNode(n),s=o.getComputedStyle(n)[a],c=o.getComputedStyle(i)[a],l=e(s),d=e(c),u=Number.POSITIVE_INFINITY;return l||d?Math.min(l?t(s,n,r):u,d?t(c,i,r):u):"none"}dt.where=function(t,e){if(dt.isArray(t)&&Array.prototype.filter)return t.filter(e);var n=[];return dt.each(t,(function(t){e(t)&&n.push(t)})),n},dt.findIndex=Array.prototype.findIndex?function(t,e,n){return t.findIndex(e,n)}:function(t,e,n){n=void 0===n?t:n;for(var a=0,r=t.length;a<r;++a)if(e.call(n,t[a],a,t))return a;return-1},dt.findNextWhere=function(t,e,n){dt.isNullOrUndef(n)&&(n=-1);for(var a=n+1;a<t.length;a++){var r=t[a];if(e(r))return r}},dt.findPreviousWhere=function(t,e,n){dt.isNullOrUndef(n)&&(n=t.length);for(var a=n-1;a>=0;a--){var r=t[a];if(e(r))return r}},dt.isNumber=function(t){return!isNaN(parseFloat(t))&&isFinite(t)},dt.almostEquals=function(t,e,n){return Math.abs(t-e)<n},dt.almostWhole=function(t,e){var n=Math.round(t);return n-e<t&&n+e>t},dt.max=function(t){return t.reduce((function(t,e){return isNaN(e)?t:Math.max(t,e)}),Number.NEGATIVE_INFINITY)},dt.min=function(t){return t.reduce((function(t,e){return isNaN(e)?t:Math.min(t,e)}),Number.POSITIVE_INFINITY)},dt.sign=Math.sign?function(t){return Math.sign(t)}:function(t){return 0==(t=+t)||isNaN(t)?t:t>0?1:-1},dt.log10=Math.log10?function(t){return Math.log10(t)}:function(t){var e=Math.log(t)*Math.LOG10E,n=Math.round(e);return t===Math.pow(10,n)?n:e},dt.toRadians=function(t){return t*(Math.PI/180)},dt.toDegrees=function(t){return t*(180/Math.PI)},dt._decimalPlaces=function(t){if(dt.isFinite(t)){for(var e=1,n=0;Math.round(t*e)/e!==t;)e*=10,n++;return n}},dt.getAngleFromPoint=function(t,e){var n=e.x-t.x,a=e.y-t.y,r=Math.sqrt(n*n+a*a),o=Math.atan2(a,n);return o<-.5*Math.PI&&(o+=2*Math.PI),{angle:o,distance:r}},dt.distanceBetweenPoints=function(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))},dt.aliasPixel=function(t){return t%2==0?0:.5},dt._alignPixel=function(t,e,n){var a=t.currentDevicePixelRatio,r=n/2;return Math.round((e-r)*a)/a+r},dt.splineCurve=function(t,e,n,a){var r=t.skip?e:t,o=e,i=n.skip?e:n,s=Math.sqrt(Math.pow(o.x-r.x,2)+Math.pow(o.y-r.y,2)),c=Math.sqrt(Math.pow(i.x-o.x,2)+Math.pow(i.y-o.y,2)),l=s/(s+c),d=c/(s+c),u=a*(l=isNaN(l)?0:l),g=a*(d=isNaN(d)?0:d);return{previous:{x:o.x-u*(i.x-r.x),y:o.y-u*(i.y-r.y)},next:{x:o.x+g*(i.x-r.x),y:o.y+g*(i.y-r.y)}}},dt.EPSILON=Number.EPSILON||1e-14,dt.splineCurveMonotone=function(t){var e,n,a,r,o,i,s,c,l,d=(t||[]).map((function(t){return{model:t._model,deltaK:0,mK:0}})),u=d.length;for(e=0;e<u;++e)if(!(a=d[e]).model.skip){if(n=e>0?d[e-1]:null,(r=e<u-1?d[e+1]:null)&&!r.model.skip){var g=r.model.x-a.model.x;a.deltaK=0!==g?(r.model.y-a.model.y)/g:0}a.mK=!n||n.model.skip?a.deltaK:!r||r.model.skip?n.deltaK:this.sign(n.deltaK)!==this.sign(a.deltaK)?0:(n.deltaK+a.deltaK)/2}for(e=0;e<u-1;++e)r=d[e+1],(a=d[e]).model.skip||r.model.skip||(dt.almostEquals(a.deltaK,0,this.EPSILON)?a.mK=r.mK=0:(o=a.mK/a.deltaK,i=r.mK/a.deltaK,(c=Math.pow(o,2)+Math.pow(i,2))<=9||(s=3/Math.sqrt(c),a.mK=o*s*a.deltaK,r.mK=i*s*a.deltaK)));for(e=0;e<u;++e)(a=d[e]).model.skip||(r=e<u-1?d[e+1]:null,(n=e>0?d[e-1]:null)&&!n.model.skip&&(a.model.controlPointPreviousX=a.model.x-(l=(a.model.x-n.model.x)/3),a.model.controlPointPreviousY=a.model.y-l*a.mK),r&&!r.model.skip&&(a.model.controlPointNextX=a.model.x+(l=(r.model.x-a.model.x)/3),a.model.controlPointNextY=a.model.y+l*a.mK))},dt.nextItem=function(t,e,n){return n?e>=t.length-1?t[0]:t[e+1]:e>=t.length-1?t[t.length-1]:t[e+1]},dt.previousItem=function(t,e,n){return n?e<=0?t[t.length-1]:t[e-1]:e<=0?t[0]:t[e-1]},dt.niceNum=function(t,e){var n=Math.floor(dt.log10(t)),a=t/Math.pow(10,n);return(e?a<1.5?1:a<3?2:a<7?5:10:a<=1?1:a<=2?2:a<=5?5:10)*Math.pow(10,n)},dt.requestAnimFrame="undefined"==typeof window?function(t){t()}:window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(t){return window.setTimeout(t,1e3/60)},dt.getRelativePosition=function(t,e){var n,a,r=t.originalEvent||t,o=t.target||t.srcElement,i=o.getBoundingClientRect(),s=r.touches;s&&s.length>0?(n=s[0].clientX,a=s[0].clientY):(n=r.clientX,a=r.clientY);var c=parseFloat(dt.getStyle(o,"padding-left")),l=parseFloat(dt.getStyle(o,"padding-top")),d=parseFloat(dt.getStyle(o,"padding-right")),u=parseFloat(dt.getStyle(o,"padding-bottom")),g=i.bottom-i.top-l-u;return{x:n=Math.round((n-i.left-c)/(i.right-i.left-c-d)*o.width/e.currentDevicePixelRatio),y:a=Math.round((a-i.top-l)/g*o.height/e.currentDevicePixelRatio)}},dt.getConstraintWidth=function(t){return n(t,"max-width","clientWidth")},dt.getConstraintHeight=function(t){return n(t,"max-height","clientHeight")},dt._calculatePadding=function(t,e,n){return(e=dt.getStyle(t,e)).indexOf("%")>-1?n*parseInt(e,10)/100:parseInt(e,10)},dt._getParentNode=function(t){var e=t.parentNode;return e&&"[object ShadowRoot]"===e.toString()&&(e=e.host),e},dt.getMaximumWidth=function(t){var e=dt._getParentNode(t);if(!e)return t.clientWidth;var n=e.clientWidth,a=n-dt._calculatePadding(e,"padding-left",n)-dt._calculatePadding(e,"padding-right",n),r=dt.getConstraintWidth(t);return isNaN(r)?a:Math.min(a,r)},dt.getMaximumHeight=function(t){var e=dt._getParentNode(t);if(!e)return t.clientHeight;var n=e.clientHeight,a=n-dt._calculatePadding(e,"padding-top",n)-dt._calculatePadding(e,"padding-bottom",n),r=dt.getConstraintHeight(t);return isNaN(r)?a:Math.min(a,r)},dt.getStyle=function(t,e){return t.currentStyle?t.currentStyle[e]:document.defaultView.getComputedStyle(t,null).getPropertyValue(e)},dt.retinaScale=function(t,e){var n=t.currentDevicePixelRatio=e||"undefined"!=typeof window&&window.devicePixelRatio||1;if(1!==n){var a=t.canvas,r=t.height,o=t.width;a.height=r*n,a.width=o*n,t.ctx.scale(n,n),a.style.height||a.style.width||(a.style.height=r+"px",a.style.width=o+"px")}},dt.fontString=function(t,e,n){return e+" "+t+"px "+n},dt.longestText=function(t,e,n,a){var r=(a=a||{}).data=a.data||{},o=a.garbageCollect=a.garbageCollect||[];a.font!==e&&(r=a.data={},o=a.garbageCollect=[],a.font=e),t.font=e;var i=0;dt.each(n,(function(e){null!=e&&!0!==dt.isArray(e)?i=dt.measureText(t,r,o,i,e):dt.isArray(e)&&dt.each(e,(function(e){null==e||dt.isArray(e)||(i=dt.measureText(t,r,o,i,e))}))}));var s=o.length/2;if(s>n.length){for(var c=0;c<s;c++)delete r[o[c]];o.splice(0,s)}return i},dt.measureText=function(t,e,n,a,r){var o=e[r];return o||(o=e[r]=t.measureText(r).width,n.push(r)),o>a&&(a=o),a},dt.numberOfLabelLines=function(t){var e=1;return dt.each(t,(function(t){dt.isArray(t)&&t.length>e&&(e=t.length)})),e},dt.color=W?function(t){return t instanceof CanvasGradient&&(t=st.global.defaultColor),W(t)}:function(t){return console.error("Color.js not found!"),t},dt.getHoverColor=function(t){return t instanceof CanvasPattern||t instanceof CanvasGradient?t:dt.color(t).saturate(.5).darken(.1).rgbString()}}(),We._adapters=Ze,We.Animation=ht,We.animationService=bt,We.controllers=se,We.DatasetController=Ct,We.defaults=st,We.Element=pt,We.elements=qt,We.Interaction=pe,We.layouts=ye,We.platform=Ie,We.plugins=Ne,We.Scale=nn,We.scaleService=Re,We.Ticks=Je,We.Tooltip=ze,We.helpers.each(qn,(function(t,e){We.scaleService.registerScaleType(e,t,t._defaults)})),na)na.hasOwnProperty(ia)&&We.plugins.register(na[ia]);We.platform.initialize();var sa=We;return"undefined"!=typeof window&&(window.Chart=We),We.Chart=We,We.Legend=na.legend._element,We.Title=na.title._element,We.pluginService=We.plugins,We.PluginBase=We.Element.extend({}),We.canvasHelpers=We.helpers.canvas,We.layoutService=We.layouts,We.LinearScaleBase=on,We.helpers.each(["Bar","Bubble","Doughnut","Line","PolarArea","Radar","Scatter"],(function(t){We[t]=function(e,n){return new We(e,We.helpers.merge(n||{},{type:t.charAt(0).toLowerCase()+t.slice(1)}))}})),sa}(function(){try{return n("wd/R")}catch(t){}}())},MP8s:function(t,e,n){"use strict";n.d(e,"a",(function(){return C}));var a=n("8Y7J"),r=n("2vnA"),o=n("f95s"),i=n("mfoh"),s=n("X+05"),c=n("afOK"),l=n.n(c),d=n("RBan"),u=n.n(d),g=n("wig9"),f=n.n(g),p=n("J2m7"),m=n.n(p),h=n("4qC0"),b=n.n(h),_=n("lSCD"),y=n.n(_),O=function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},v=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},C=function(){function t(){this.options=new i.b,this.eventNames=Object.keys(s.a),this.expandedNodeIds={},this.selectedLeafNodeIds={},this.activeNodeIds={},this.hiddenNodeIds={},this.focusedNodeId=null,this.firstUpdate=!0,this.subscriptions=[]}var e;return e=t,t.prototype.fireEvent=function(t){t.treeModel=this,this.events[t.eventName].emit(t),this.events.event.emit(t)},t.prototype.subscribe=function(t,e){var n=this.events[t].subscribe(e);this.subscriptions.push(n)},t.prototype.getFocusedNode=function(){return this.focusedNode},t.prototype.getActiveNode=function(){return this.activeNodes[0]},t.prototype.getActiveNodes=function(){return this.activeNodes},t.prototype.getVisibleRoots=function(){return this.virtualRoot.visibleChildren},t.prototype.getFirstRoot=function(t){return void 0===t&&(t=!1),l()(t?this.getVisibleRoots():this.roots)},t.prototype.getLastRoot=function(t){return void 0===t&&(t=!1),u()(t?this.getVisibleRoots():this.roots)},Object.defineProperty(t.prototype,"isFocused",{get:function(){return e.focusedTree===this},enumerable:!0,configurable:!0}),t.prototype.isNodeFocused=function(t){return this.focusedNode===t},t.prototype.isEmptyTree=function(){return this.roots&&0===this.roots.length},Object.defineProperty(t.prototype,"focusedNode",{get:function(){return this.focusedNodeId?this.getNodeById(this.focusedNodeId):null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"expandedNodes",{get:function(){var t=this,e=Object.keys(this.expandedNodeIds).filter((function(e){return t.expandedNodeIds[e]})).map((function(e){return t.getNodeById(e)}));return f()(e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"activeNodes",{get:function(){var t=this,e=Object.keys(this.activeNodeIds).filter((function(e){return t.activeNodeIds[e]})).map((function(e){return t.getNodeById(e)}));return f()(e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hiddenNodes",{get:function(){var t=this,e=Object.keys(this.hiddenNodeIds).filter((function(e){return t.hiddenNodeIds[e]})).map((function(e){return t.getNodeById(e)}));return f()(e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"selectedLeafNodes",{get:function(){var t=this,e=Object.keys(this.selectedLeafNodeIds).filter((function(e){return t.selectedLeafNodeIds[e]})).map((function(e){return t.getNodeById(e)}));return f()(e)},enumerable:!0,configurable:!0}),t.prototype.getNodeByPath=function(t,e){if(void 0===e&&(e=null),!t)return null;if(e=e||this.virtualRoot,0===t.length)return e;if(!e.children)return null;var n=t.shift(),a=m()(e.children,{id:n});return a?this.getNodeByPath(t,a):null},t.prototype.getNodeById=function(t){var e=t.toString();return this.getNodeBy((function(t){return t.id.toString()===e}))},t.prototype.getNodeBy=function(t,e){if(void 0===e&&(e=null),!(e=e||this.virtualRoot).children)return null;var n=m()(e.children,t);if(n)return n;for(var a=0,r=e.children;a<r.length;a++){var o=this.getNodeBy(t,r[a]);if(o)return o}},t.prototype.isExpanded=function(t){return this.expandedNodeIds[t.id]},t.prototype.isHidden=function(t){return this.hiddenNodeIds[t.id]},t.prototype.isActive=function(t){return this.activeNodeIds[t.id]},t.prototype.isSelected=function(t){return this.selectedLeafNodeIds[t.id]},t.prototype.ngOnDestroy=function(){this.dispose(),this.unsubscribeAll()},t.prototype.dispose=function(){this.virtualRoot&&this.virtualRoot.dispose()},t.prototype.unsubscribeAll=function(){this.subscriptions.forEach((function(t){return t.unsubscribe()})),this.subscriptions=[]},t.prototype.setData=function(t){var e=t.nodes,n=t.options,a=void 0===n?null:n,r=t.events,o=void 0===r?null:r;a&&(this.options=new i.b(a)),o&&(this.events=o),e&&(this.nodes=e),this.update()},t.prototype.update=function(){var t,e=((t={id:this.options.rootId,virtual:!0})[this.options.childrenField]=this.nodes,t);this.dispose(),this.virtualRoot=new o.a(e,null,this,0),this.roots=this.virtualRoot.children,this.firstUpdate?this.roots&&(this.firstUpdate=!1,this._calculateExpandedNodes()):this.fireEvent({eventName:s.a.updateData})},t.prototype.setFocusedNode=function(t){this.focusedNodeId=t?t.id:null},t.prototype.setFocus=function(t){e.focusedTree=t?this:null},t.prototype.doForAll=function(t){this.roots.forEach((function(e){return e.doForAll(t)}))},t.prototype.focusNextNode=function(){var t=this.getFocusedNode(),e=t?t.findNextNode(!0,!0):this.getFirstRoot(!0);e&&e.focus()},t.prototype.focusPreviousNode=function(){var t=this.getFocusedNode(),e=t?t.findPreviousNode(!0):this.getLastRoot(!0);e&&e.focus()},t.prototype.focusDrillDown=function(){var t=this.getFocusedNode();if(t&&t.isCollapsed&&t.hasChildren)t.toggleExpanded();else{var e=t?t.getFirstChild(!0):this.getFirstRoot(!0);e&&e.focus()}},t.prototype.focusDrillUp=function(){var t=this.getFocusedNode();if(t)if(t.isExpanded)t.toggleExpanded();else{var e=t.realParent;e&&e.focus()}},t.prototype.setActiveNode=function(t,e,n){void 0===n&&(n=!1),n?this._setActiveNodeMulti(t,e):this._setActiveNodeSingle(t,e),e?(t.focus(this.options.scrollOnActivate),this.fireEvent({eventName:s.a.activate,node:t}),this.fireEvent({eventName:s.a.nodeActivate,node:t})):(this.fireEvent({eventName:s.a.deactivate,node:t}),this.fireEvent({eventName:s.a.nodeDeactivate,node:t}))},t.prototype.setSelectedNode=function(t,e){var n;this.selectedLeafNodeIds=Object.assign({},this.selectedLeafNodeIds,((n={})[t.id]=e,n)),e?(t.focus(),this.fireEvent({eventName:s.a.select,node:t})):this.fireEvent({eventName:s.a.deselect,node:t})},t.prototype.setExpandedNode=function(t,e){var n;this.expandedNodeIds=Object.assign({},this.expandedNodeIds,((n={})[t.id]=e,n)),this.fireEvent({eventName:s.a.toggleExpanded,node:t,isExpanded:e})},t.prototype.expandAll=function(){this.roots.forEach((function(t){return t.expandAll()}))},t.prototype.collapseAll=function(){this.roots.forEach((function(t){return t.collapseAll()}))},t.prototype.setIsHidden=function(t,e){var n;this.hiddenNodeIds=Object.assign({},this.hiddenNodeIds,((n={})[t.id]=e,n))},t.prototype.setHiddenNodeIds=function(t){this.hiddenNodeIds=t.reduce((function(t,e){var n;return Object.assign(t,((n={})[e]=!0,n))}),{})},t.prototype.performKeyAction=function(t,e){var n=this.options.actionMapping.keys[e.keyCode];return!!n&&(e.preventDefault(),n(this,t,e),!0)},t.prototype.filterNodes=function(t,e){var n,a=this;if(void 0===e&&(e=!0),!t)return this.clearFilter();if(b()(t))n=function(e){return-1!==e.displayField.toLowerCase().indexOf(t.toLowerCase())};else{if(!y()(t))return console.error("Don't know what to do with filter",t),void console.error("Should be either a string or function");n=t}var r={};this.roots.forEach((function(t){return a._filterNode(r,t,n,e)})),this.hiddenNodeIds=r,this.fireEvent({eventName:s.a.changeFilter})},t.prototype.clearFilter=function(){this.hiddenNodeIds={},this.fireEvent({eventName:s.a.changeFilter})},t.prototype.moveNode=function(t,e){var n=t.getIndexInParent(),a=t.parent;if(this.canMoveNode(t,e,n)){var r=a.getField("children");e.parent.getField("children")||e.parent.setField("children",[]);var o=e.parent.getField("children"),i=r.splice(n,1)[0],c=a===e.parent&&e.index>n?e.index-1:e.index;o.splice(c,0,i),a.treeModel.update(),e.parent.treeModel!==a.treeModel&&e.parent.treeModel.update(),this.fireEvent({eventName:s.a.moveNode,node:i,to:{parent:e.parent.data,index:c},from:{parent:a.data,index:n}})}},t.prototype.copyNode=function(t,e){var n=t.getIndexInParent();if(this.canMoveNode(t,e,n)){e.parent.getField("children")||e.parent.setField("children",[]);var a=e.parent.getField("children"),r=this.options.getNodeClone(t);a.splice(e.index,0,r),t.treeModel.update(),e.parent.treeModel!==t.treeModel&&e.parent.treeModel.update(),this.fireEvent({eventName:s.a.copyNode,node:r,to:{parent:e.parent.data,index:e.index}})}},t.prototype.getState=function(){return{expandedNodeIds:this.expandedNodeIds,selectedLeafNodeIds:this.selectedLeafNodeIds,activeNodeIds:this.activeNodeIds,hiddenNodeIds:this.hiddenNodeIds,focusedNodeId:this.focusedNodeId}},t.prototype.setState=function(t){t&&Object.assign(this,{expandedNodeIds:t.expandedNodeIds||{},selectedLeafNodeIds:t.selectedLeafNodeIds||{},activeNodeIds:t.activeNodeIds||{},hiddenNodeIds:t.hiddenNodeIds||{},focusedNodeId:t.focusedNodeId})},t.prototype.subscribeToState=function(t){var e=this;Object(r.b)((function(){return t(e.getState())}))},t.prototype.canMoveNode=function(t,e,n){return void 0===n&&(n=void 0),n||t.getIndexInParent(),(t.parent!==e.parent||n!==e.index)&&!e.parent.isDescendantOf(t)},t.prototype.calculateExpandedNodes=function(){this._calculateExpandedNodes()},t.prototype._filterNode=function(t,e,n,a){var r=this,o=n(e);return e.children&&e.children.forEach((function(e){r._filterNode(t,e,n,a)&&(o=!0)})),o||(t[e.id]=!0),a&&o&&e.ensureVisible(),o},t.prototype._calculateExpandedNodes=function(t){var e,n=this;void 0===t&&(t=null),(t=t||this.virtualRoot).data[this.options.isExpandedField]&&(this.expandedNodeIds=Object.assign({},this.expandedNodeIds,((e={})[t.id]=!0,e))),t.children&&t.children.forEach((function(t){return n._calculateExpandedNodes(t)}))},t.prototype._setActiveNodeSingle=function(t,e){var n,a=this;this.activeNodes.filter((function(e){return e!==t})).forEach((function(t){a.fireEvent({eventName:s.a.deactivate,node:t}),a.fireEvent({eventName:s.a.nodeDeactivate,node:t})})),this.activeNodeIds=e?((n={})[t.id]=!0,n):{}},t.prototype._setActiveNodeMulti=function(t,e){var n;this.activeNodeIds=Object.assign({},this.activeNodeIds,((n={})[t.id]=e,n))},t.focusedTree=null,O([r.d,v("design:type",Array)],t.prototype,"roots",void 0),O([r.d,v("design:type",Object)],t.prototype,"expandedNodeIds",void 0),O([r.d,v("design:type",Object)],t.prototype,"selectedLeafNodeIds",void 0),O([r.d,v("design:type",Object)],t.prototype,"activeNodeIds",void 0),O([r.d,v("design:type",Object)],t.prototype,"hiddenNodeIds",void 0),O([r.d,v("design:type",Object)],t.prototype,"focusedNodeId",void 0),O([r.d,v("design:type",o.a)],t.prototype,"virtualRoot",void 0),O([r.c,v("design:type",Object),v("design:paramtypes",[])],t.prototype,"focusedNode",null),O([r.c,v("design:type",Object),v("design:paramtypes",[])],t.prototype,"expandedNodes",null),O([r.c,v("design:type",Object),v("design:paramtypes",[])],t.prototype,"activeNodes",null),O([r.c,v("design:type",Object),v("design:paramtypes",[])],t.prototype,"hiddenNodes",null),O([r.c,v("design:type",Object),v("design:paramtypes",[])],t.prototype,"selectedLeafNodes",null),O([r.a,v("design:type",Function),v("design:paramtypes",[Object]),v("design:returntype",void 0)],t.prototype,"setData",null),O([r.a,v("design:type",Function),v("design:paramtypes",[]),v("design:returntype",void 0)],t.prototype,"update",null),O([r.a,v("design:type",Function),v("design:paramtypes",[Object]),v("design:returntype",void 0)],t.prototype,"setFocusedNode",null),O([r.a,v("design:type",Function),v("design:paramtypes",[Object]),v("design:returntype",void 0)],t.prototype,"setFocus",null),O([r.a,v("design:type",Function),v("design:paramtypes",[Object]),v("design:returntype",void 0)],t.prototype,"doForAll",null),O([r.a,v("design:type",Function),v("design:paramtypes",[]),v("design:returntype",void 0)],t.prototype,"focusNextNode",null),O([r.a,v("design:type",Function),v("design:paramtypes",[]),v("design:returntype",void 0)],t.prototype,"focusPreviousNode",null),O([r.a,v("design:type",Function),v("design:paramtypes",[]),v("design:returntype",void 0)],t.prototype,"focusDrillDown",null),O([r.a,v("design:type",Function),v("design:paramtypes",[]),v("design:returntype",void 0)],t.prototype,"focusDrillUp",null),O([r.a,v("design:type",Function),v("design:paramtypes",[Object,Object,Object]),v("design:returntype",void 0)],t.prototype,"setActiveNode",null),O([r.a,v("design:type",Function),v("design:paramtypes",[Object,Object]),v("design:returntype",void 0)],t.prototype,"setSelectedNode",null),O([r.a,v("design:type",Function),v("design:paramtypes",[Object,Object]),v("design:returntype",void 0)],t.prototype,"setExpandedNode",null),O([r.a,v("design:type",Function),v("design:paramtypes",[]),v("design:returntype",void 0)],t.prototype,"expandAll",null),O([r.a,v("design:type",Function),v("design:paramtypes",[]),v("design:returntype",void 0)],t.prototype,"collapseAll",null),O([r.a,v("design:type",Function),v("design:paramtypes",[Object,Object]),v("design:returntype",void 0)],t.prototype,"setIsHidden",null),O([r.a,v("design:type",Function),v("design:paramtypes",[Object]),v("design:returntype",void 0)],t.prototype,"setHiddenNodeIds",null),O([r.a,v("design:type",Function),v("design:paramtypes",[Object,Object]),v("design:returntype",void 0)],t.prototype,"filterNodes",null),O([r.a,v("design:type",Function),v("design:paramtypes",[]),v("design:returntype",void 0)],t.prototype,"clearFilter",null),O([r.a,v("design:type",Function),v("design:paramtypes",[Object,Object]),v("design:returntype",void 0)],t.prototype,"moveNode",null),O([r.a,v("design:type",Function),v("design:paramtypes",[Object,Object]),v("design:returntype",void 0)],t.prototype,"copyNode",null),O([r.a,v("design:type",Function),v("design:paramtypes",[Object]),v("design:returntype",void 0)],t.prototype,"setState",null),e=O([Object(a.Injectable)()],t)}()},MdoF:function(t,e,n){"use strict";n.d(e,"b",(function(){return i})),n.d(e,"c",(function(){return l})),n.d(e,"a",(function(){return u}));var a=n("8Y7J"),r=n("CNMR"),o=n("SVse"),i=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function s(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,4,"button",[["aria-label","Close"],["class","close"],["type","button"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.close()&&a),a}),null,null)),(t()(),a["ɵeld"](1,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["×"])),(t()(),a["ɵeld"](3,0,null,null,1,"span",[["class","sr-only"]],null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["Close"]))],null,null)}function c(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,5,"div",[["role","alert"]],null,null,null,null,null)),a["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](2,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,s)),a["ɵdid"](4,16384,null,0,o.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),a["ɵncd"](null,0)],(function(t,e){var n=e.component;t(e,2,0,"alert alert-"+n.type,n.classes),t(e,4,0,n.dismissible)}),null)}function l(t){return a["ɵvid"](2,[(t()(),a["ɵand"](16777216,null,null,1,null,c)),a["ɵdid"](1,16384,null,0,o.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){t(e,1,0,e.component.isOpen)}),null)}function d(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"alert",[],null,null,null,l,i)),a["ɵdid"](1,114688,null,0,r.a,[r.b,a.ChangeDetectorRef],null,null)],(function(t,e){t(e,1,0)}),null)}var u=a["ɵccf"]("alert,bs-alert",r.a,d,{type:"type",dismissible:"dismissible",dismissOnTimeout:"dismissOnTimeout",isOpen:"isOpen"},{onClose:"onClose",onClosed:"onClosed"},["*"])},Mfce:function(t,e,n){var a=n("mrSG").__decorate,r=n("mrSG").__metadata;Object.defineProperty(e,"__esModule",{value:!0});var o=n("8Y7J");n("czA5"),e.DataTableRowWrapperComponent=function(){function t(t,e){this.cd=t,this.differs=e,this.rowContextmenu=new o.EventEmitter(!1),this.groupContext={group:this.row,expanded:this.expanded,rowIndex:this.rowIndex},this.rowContext={row:this.row,expanded:this.expanded,rowIndex:this.rowIndex},this._expanded=!1,this.rowDiffer=e.find({}).create()}return Object.defineProperty(t.prototype,"rowIndex",{get:function(){return this._rowIndex},set:function(t){this._rowIndex=t,this.rowContext.rowIndex=t,this.groupContext.rowIndex=t,this.cd.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"expanded",{get:function(){return this._expanded},set:function(t){this._expanded=t,this.groupContext.expanded=t,this.rowContext.expanded=t,this.cd.markForCheck()},enumerable:!0,configurable:!0}),t.prototype.ngDoCheck=function(){this.rowDiffer.diff(this.row)&&(this.rowContext.row=this.row,this.groupContext.group=this.row,this.cd.markForCheck())},t.prototype.onContextmenu=function(t){this.rowContextmenu.emit({event:t,row:this.row})},t.prototype.getGroupHeaderStyle=function(){var t={};return t.transform="translate3d("+this.offsetX+"px, 0px, 0px)",t["backface-visibility"]="hidden",t.width=this.innerWidth,t},a([o.Input(),r("design:type",Number)],t.prototype,"innerWidth",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"rowDetail",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"groupHeader",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"offsetX",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"detailRowHeight",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"row",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"groupedRows",void 0),a([o.Output(),r("design:type",Object)],t.prototype,"rowContextmenu",void 0),a([o.Input(),r("design:type",Number),r("design:paramtypes",[Number])],t.prototype,"rowIndex",null),a([o.Input(),r("design:type",Boolean),r("design:paramtypes",[Boolean])],t.prototype,"expanded",null),a([o.HostListener("contextmenu",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],t.prototype,"onContextmenu",null),a([o.Component({selector:"datatable-row-wrapper",changeDetection:o.ChangeDetectionStrategy.OnPush,template:'\n    <div \n      *ngIf="groupHeader && groupHeader.template"\n      class="datatable-group-header"\n      [ngStyle]="getGroupHeaderStyle()">\n      <ng-template\n        *ngIf="groupHeader && groupHeader.template"\n        [ngTemplateOutlet]="groupHeader.template"\n        [ngTemplateOutletContext]="groupContext">\n      </ng-template>\n    </div>\n    <ng-content \n      *ngIf="(groupHeader && groupHeader.template && expanded) || \n             (!groupHeader || !groupHeader.template)">\n    </ng-content>\n    <div\n      *ngIf="rowDetail && rowDetail.template && expanded"\n      [style.height.px]="detailRowHeight"\n      class="datatable-row-detail">\n      <ng-template\n        *ngIf="rowDetail && rowDetail.template"\n        [ngTemplateOutlet]="rowDetail.template"\n        [ngTemplateOutletContext]="rowContext">\n      </ng-template>\n    </div>\n  ',host:{class:"datatable-row-wrapper"}})],t)}()},MgB7:function(t,e,n){"use strict";function a(t,e,n){var a,r,o;n=n||{};var i=null,s=0;function c(){s=!1===n.leading?0:+new Date,i=null,o=t.apply(a,r)}return function(){var l=+new Date;s||!1!==n.leading||(s=l);var d=e-(l-s);return a=this,r=arguments,d<=0?(clearTimeout(i),i=null,s=l,o=t.apply(a,r)):i||!1===n.trailing||(i=setTimeout(c,d)),o}}Object.defineProperty(e,"__esModule",{value:!0}),e.throttle=a,e.throttleable=function(t,e){return function(n,r,o){return{configurable:!0,enumerable:o.enumerable,get:function(){return Object.defineProperty(this,r,{configurable:!0,enumerable:o.enumerable,value:a(o.value,t,e)}),this[r]}}}}},MrPd:function(t,e,n){var a=n("hypo"),r=n("ljhN"),o=Object.prototype.hasOwnProperty;t.exports=function(t,e,n){var i=t[e];o.call(t,e)&&r(i,n)&&(void 0!==n||e in t)||a(t,e,n)}},MuvH:function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var a=n("8Y7J"),r=n("IheW"),o=n("pL04");let i=(()=>{class t{constructor(t){this.http=t}findValue(t,e){if(t.value)return t.value.find(t=>t.section===e)}getValue(t,e){let n=this.findValue(t,e);if(!n){const a=e.indexOf(".");-1!==a&&(n=this.findValue(t,e.substring(0,a)))}return n||(n=this.findValue(t,"global")),n?n.value:t.default}getConfigData(){return this.http.get("api/cluster_conf/")}get(t){return this.http.get(`api/cluster_conf/${t}`)}filter(t){return this.http.get(`api/cluster_conf/filter?names=${t.join(",")}`)}create(t){return this.http.post("api/cluster_conf/",t)}delete(t,e){return this.http.delete(`api/cluster_conf/${t}?section=${e}`)}bulkCreate(t){return this.http.put("api/cluster_conf/",t)}}return t.ngInjectableDef=a["ɵɵdefineInjectable"]({factory:function(){return new t(a["ɵɵinject"](r.c))},token:t,providedIn:o.a}),t})()},MvSz:function(t,e,n){var a=n("LXxW"),r=n("0ycA"),o=Object.prototype.propertyIsEnumerable,i=Object.getOwnPropertySymbols;t.exports=i?function(t){return null==t?[]:(t=Object(t),a(i(t),(function(e){return o.call(t,e)})))}:r},Mxhz:function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var a=n("IheW"),r=n("8Y7J"),o=n("pL04");let i=(()=>{class t{constructor(t){this.http=t}list(){return this.http.get("api/user")}delete(t){return this.http.delete(`api/user/${t}`)}get(t){return this.http.get(`api/user/${t}`)}create(t){return this.http.post("api/user",t)}update(t){return this.http.put(`api/user/${t.username}`,t)}changePassword(t,e,n){return this.http.post(`api/user/${t}/change_password`,{old_password:e,new_password:n})}validatePassword(t,e=null,n=null){let r=new a.h;return r=r.append("password",t),e&&(r=r.append("username",e)),n&&(r=r.append("old_password",n)),this.http.post("api/user/validate_password",null,{params:r})}}return t.ngInjectableDef=r["ɵɵdefineInjectable"]({factory:function(){return new t(r["ɵɵinject"](a.c))},token:t,providedIn:o.a}),t})()},"N+g0":function(t,e,n){var a=n("g6v/"),r=n("m/L8"),o=n("glrk"),i=n("33Wh");t.exports=a?Object.defineProperties:function(t,e){o(t);for(var n,a=i(e),s=a.length,c=0;s>c;)r.f(t,n=a[c++],e[n]);return t}},"NC/Y":function(t,e,n){var a=n("0GbY");t.exports=a("navigator","userAgent")||""},NEZu:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{constructor(t,e,n,a){this.customColors={backgroundColor:void 0,borderColor:void 0},this.checkOffset=!1,this.chartEl=t.nativeElement,this.getStyleLeft=n,this.getStyleTop=a,this.tooltipEl=e.nativeElement}customTooltips(t){if(0===t.opacity)return void(this.tooltipEl.style.opacity=0);if(this.tooltipEl.classList.remove("above","below","no-transform"),this.tooltipEl.classList.add(t.yAlign?t.yAlign:"no-transform"),t.body){const e=t.title||[],n=t.body.map(t=>t.lines);let a="<thead>";e.forEach(t=>{a+="<tr><th>"+this.getTitle(t)+"</th></tr>"}),a+="</thead><tbody>",n.forEach((e,n)=>{const r=t.labelColors[n];let o="background:"+(this.customColors.backgroundColor||r.backgroundColor);o+="; border-color:"+(this.customColors.borderColor||r.borderColor),o+="; border-width: 2px",a+='<tr><td nowrap><span class="chartjs-tooltip-key" style="'+o+'"></span>'+this.getBody(e)+"</td></tr>"}),a+="</tbody>",this.tooltipEl.querySelector("table").innerHTML=a}const e=this.chartEl.offsetTop,n=this.chartEl.offsetLeft;if(this.checkOffset){const e=t.width/2;this.tooltipEl.classList.remove("transform-left"),this.tooltipEl.classList.remove("transform-right"),t.caretX-e<0?this.tooltipEl.classList.add("transform-left"):t.caretX+e>this.chartEl.width&&this.tooltipEl.classList.add("transform-right")}this.tooltipEl.style.left=this.getStyleLeft(t,n),this.tooltipEl.style.top=this.getStyleTop(t,e),this.tooltipEl.style.opacity=1,this.tooltipEl.style.fontFamily=t._fontFamily,this.tooltipEl.style.fontSize=t.fontSize,this.tooltipEl.style.fontStyle=t._fontStyle,this.tooltipEl.style.padding=t.yPadding+"px "+t.xPadding+"px"}getBody(t){return t}getTitle(t){return t}}},"NHP+":function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var a=n("XNiG"),r=n("quSY");class o extends a.a{constructor(){super(...arguments),this.value=null,this.hasNext=!1,this.hasCompleted=!1}_subscribe(t){return this.hasError?(t.error(this.thrownError),r.a.EMPTY):this.hasCompleted&&this.hasNext?(t.next(this.value),t.complete(),r.a.EMPTY):super._subscribe(t)}next(t){this.hasCompleted||(this.value=t,this.hasNext=!0)}error(t){this.hasCompleted||super.error(t)}complete(){this.hasCompleted=!0,this.hasNext&&super.next(this.value),super.complete()}}},NJ4a:function(t,e,n){"use strict";function a(t){setTimeout(()=>{throw t},0)}n.d(e,"a",(function(){return a}))},NJ9Y:function(t,e,n){"use strict";n.d(e,"a",(function(){return l}));var a=n("sVev"),r=n("pLZG"),o=n("BFxc"),i=n("XDbj"),s=n("xbPD"),c=n("SpAZ");function l(t,e){const n=arguments.length>=2;return l=>l.pipe(t?Object(r.a)((e,n)=>t(e,n,l)):c.a,Object(o.a)(1),n?Object(s.a)(e):Object(i.a)(()=>new a.a))}},NKxu:function(t,e,n){var a=n("lSCD"),r=n("E2jh"),o=n("GoyQ"),i=n("3Fdi"),s=/^\[object .+?Constructor\]$/,c=RegExp("^"+Function.prototype.toString.call(Object.prototype.hasOwnProperty).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=function(t){return!(!o(t)||r(t))&&(a(t)?c:s).test(i(t))}},NUGo:function(t,e,n){"use strict";var a=n("8Y7J"),r=n("SVse"),o=n("iInd"),i=n("FE24"),s=n("z/SZ");n("S7zO"),n.d(e,"a",(function(){return c})),n.d(e,"b",(function(){return m}));var c=a["ɵcrt"]({encapsulation:0,styles:[["html[_ngcontent-%COMP%]{box-sizing:border-box;-ms-overflow-style:scrollbar}*[_ngcontent-%COMP%], [_ngcontent-%COMP%]::after, [_ngcontent-%COMP%]::before{box-sizing:inherit}.container[_ngcontent-%COMP%]{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container[_ngcontent-%COMP%]{max-width:540px}}@media (min-width:768px){.container[_ngcontent-%COMP%]{max-width:720px}}@media (min-width:992px){.container[_ngcontent-%COMP%]{max-width:960px}}@media (min-width:1200px){.container[_ngcontent-%COMP%]{max-width:1140px}}.container-fluid[_ngcontent-%COMP%]{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters[_ngcontent-%COMP%]{margin-right:0;margin-left:0}.no-gutters[_ngcontent-%COMP%] > .col[_ngcontent-%COMP%], .no-gutters[_ngcontent-%COMP%] > [class*=col-][_ngcontent-%COMP%]{padding-right:0;padding-left:0}.col[_ngcontent-%COMP%], .col-1[_ngcontent-%COMP%], .col-10[_ngcontent-%COMP%], .col-11[_ngcontent-%COMP%], .col-12[_ngcontent-%COMP%], .col-2[_ngcontent-%COMP%], .col-3[_ngcontent-%COMP%], .col-4[_ngcontent-%COMP%], .col-5[_ngcontent-%COMP%], .col-6[_ngcontent-%COMP%], .col-7[_ngcontent-%COMP%], .col-8[_ngcontent-%COMP%], .col-9[_ngcontent-%COMP%], .col-auto[_ngcontent-%COMP%], .col-lg[_ngcontent-%COMP%], .col-lg-1[_ngcontent-%COMP%], .col-lg-10[_ngcontent-%COMP%], .col-lg-11[_ngcontent-%COMP%], .col-lg-12[_ngcontent-%COMP%], .col-lg-2[_ngcontent-%COMP%], .col-lg-3[_ngcontent-%COMP%], .col-lg-4[_ngcontent-%COMP%], .col-lg-5[_ngcontent-%COMP%], .col-lg-6[_ngcontent-%COMP%], .col-lg-7[_ngcontent-%COMP%], .col-lg-8[_ngcontent-%COMP%], .col-lg-9[_ngcontent-%COMP%], .col-lg-auto[_ngcontent-%COMP%], .col-md[_ngcontent-%COMP%], .col-md-1[_ngcontent-%COMP%], .col-md-10[_ngcontent-%COMP%], .col-md-11[_ngcontent-%COMP%], .col-md-12[_ngcontent-%COMP%], .col-md-2[_ngcontent-%COMP%], .col-md-3[_ngcontent-%COMP%], .col-md-4[_ngcontent-%COMP%], .col-md-5[_ngcontent-%COMP%], .col-md-6[_ngcontent-%COMP%], .col-md-7[_ngcontent-%COMP%], .col-md-8[_ngcontent-%COMP%], .col-md-9[_ngcontent-%COMP%], .col-md-auto[_ngcontent-%COMP%], .col-sm[_ngcontent-%COMP%], .col-sm-1[_ngcontent-%COMP%], .col-sm-10[_ngcontent-%COMP%], .col-sm-11[_ngcontent-%COMP%], .col-sm-12[_ngcontent-%COMP%], .col-sm-2[_ngcontent-%COMP%], .col-sm-3[_ngcontent-%COMP%], .col-sm-4[_ngcontent-%COMP%], .col-sm-5[_ngcontent-%COMP%], .col-sm-6[_ngcontent-%COMP%], .col-sm-7[_ngcontent-%COMP%], .col-sm-8[_ngcontent-%COMP%], .col-sm-9[_ngcontent-%COMP%], .col-sm-auto[_ngcontent-%COMP%], .col-xl[_ngcontent-%COMP%], .col-xl-1[_ngcontent-%COMP%], .col-xl-10[_ngcontent-%COMP%], .col-xl-11[_ngcontent-%COMP%], .col-xl-12[_ngcontent-%COMP%], .col-xl-2[_ngcontent-%COMP%], .col-xl-3[_ngcontent-%COMP%], .col-xl-4[_ngcontent-%COMP%], .col-xl-5[_ngcontent-%COMP%], .col-xl-6[_ngcontent-%COMP%], .col-xl-7[_ngcontent-%COMP%], .col-xl-8[_ngcontent-%COMP%], .col-xl-9[_ngcontent-%COMP%], .col-xl-auto[_ngcontent-%COMP%]{position:relative;width:100%;padding-right:15px;padding-left:15px}.col[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;max-width:100%}.col-auto[_ngcontent-%COMP%]{flex:0 0 auto;width:auto;max-width:100%}.col-1[_ngcontent-%COMP%]{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-2[_ngcontent-%COMP%]{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-3[_ngcontent-%COMP%]{flex:0 0 25%;max-width:25%}.col-4[_ngcontent-%COMP%]{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-5[_ngcontent-%COMP%]{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-6[_ngcontent-%COMP%]{flex:0 0 50%;max-width:50%}.col-7[_ngcontent-%COMP%]{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-8[_ngcontent-%COMP%]{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-9[_ngcontent-%COMP%]{flex:0 0 75%;max-width:75%}.col-10[_ngcontent-%COMP%]{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-11[_ngcontent-%COMP%]{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-12[_ngcontent-%COMP%]{flex:0 0 100%;max-width:100%}.order-first[_ngcontent-%COMP%]{order:-1}.order-last[_ngcontent-%COMP%]{order:13}.order-0[_ngcontent-%COMP%]{order:0}.order-1[_ngcontent-%COMP%]{order:1}.order-2[_ngcontent-%COMP%]{order:2}.order-3[_ngcontent-%COMP%]{order:3}.order-4[_ngcontent-%COMP%]{order:4}.order-5[_ngcontent-%COMP%]{order:5}.order-6[_ngcontent-%COMP%]{order:6}.order-7[_ngcontent-%COMP%]{order:7}.order-8[_ngcontent-%COMP%]{order:8}.order-9[_ngcontent-%COMP%]{order:9}.order-10[_ngcontent-%COMP%]{order:10}.order-11[_ngcontent-%COMP%]{order:11}.order-12[_ngcontent-%COMP%]{order:12}.offset-1[_ngcontent-%COMP%]{margin-left:8.3333333333%}.offset-2[_ngcontent-%COMP%]{margin-left:16.6666666667%}.offset-3[_ngcontent-%COMP%]{margin-left:25%}.offset-4[_ngcontent-%COMP%]{margin-left:33.3333333333%}.offset-5[_ngcontent-%COMP%]{margin-left:41.6666666667%}.offset-6[_ngcontent-%COMP%]{margin-left:50%}.offset-7[_ngcontent-%COMP%]{margin-left:58.3333333333%}.offset-8[_ngcontent-%COMP%]{margin-left:66.6666666667%}.offset-9[_ngcontent-%COMP%]{margin-left:75%}.offset-10[_ngcontent-%COMP%]{margin-left:83.3333333333%}.offset-11[_ngcontent-%COMP%]{margin-left:91.6666666667%}.d-none[_ngcontent-%COMP%]{display:none!important}.d-inline[_ngcontent-%COMP%]{display:inline!important}.d-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-block[_ngcontent-%COMP%]{display:block!important}.d-table[_ngcontent-%COMP%]{display:table!important}.d-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-flex[_ngcontent-%COMP%]{display:flex!important}.d-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}@media (min-width:576px){.col-sm[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;max-width:100%}.col-sm-auto[_ngcontent-%COMP%]{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1[_ngcontent-%COMP%]{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-sm-2[_ngcontent-%COMP%]{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-3[_ngcontent-%COMP%]{flex:0 0 25%;max-width:25%}.col-sm-4[_ngcontent-%COMP%]{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-sm-5[_ngcontent-%COMP%]{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-sm-6[_ngcontent-%COMP%]{flex:0 0 50%;max-width:50%}.col-sm-7[_ngcontent-%COMP%]{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-sm-8[_ngcontent-%COMP%]{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-sm-9[_ngcontent-%COMP%]{flex:0 0 75%;max-width:75%}.col-sm-10[_ngcontent-%COMP%]{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-sm-11[_ngcontent-%COMP%]{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-sm-12[_ngcontent-%COMP%]{flex:0 0 100%;max-width:100%}.order-sm-first[_ngcontent-%COMP%]{order:-1}.order-sm-last[_ngcontent-%COMP%]{order:13}.order-sm-0[_ngcontent-%COMP%]{order:0}.order-sm-1[_ngcontent-%COMP%]{order:1}.order-sm-2[_ngcontent-%COMP%]{order:2}.order-sm-3[_ngcontent-%COMP%]{order:3}.order-sm-4[_ngcontent-%COMP%]{order:4}.order-sm-5[_ngcontent-%COMP%]{order:5}.order-sm-6[_ngcontent-%COMP%]{order:6}.order-sm-7[_ngcontent-%COMP%]{order:7}.order-sm-8[_ngcontent-%COMP%]{order:8}.order-sm-9[_ngcontent-%COMP%]{order:9}.order-sm-10[_ngcontent-%COMP%]{order:10}.order-sm-11[_ngcontent-%COMP%]{order:11}.order-sm-12[_ngcontent-%COMP%]{order:12}.offset-sm-0[_ngcontent-%COMP%]{margin-left:0}.offset-sm-1[_ngcontent-%COMP%]{margin-left:8.3333333333%}.offset-sm-2[_ngcontent-%COMP%]{margin-left:16.6666666667%}.offset-sm-3[_ngcontent-%COMP%]{margin-left:25%}.offset-sm-4[_ngcontent-%COMP%]{margin-left:33.3333333333%}.offset-sm-5[_ngcontent-%COMP%]{margin-left:41.6666666667%}.offset-sm-6[_ngcontent-%COMP%]{margin-left:50%}.offset-sm-7[_ngcontent-%COMP%]{margin-left:58.3333333333%}.offset-sm-8[_ngcontent-%COMP%]{margin-left:66.6666666667%}.offset-sm-9[_ngcontent-%COMP%]{margin-left:75%}.offset-sm-10[_ngcontent-%COMP%]{margin-left:83.3333333333%}.offset-sm-11[_ngcontent-%COMP%]{margin-left:91.6666666667%}.d-sm-none[_ngcontent-%COMP%]{display:none!important}.d-sm-inline[_ngcontent-%COMP%]{display:inline!important}.d-sm-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-sm-block[_ngcontent-%COMP%]{display:block!important}.d-sm-table[_ngcontent-%COMP%]{display:table!important}.d-sm-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-sm-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-sm-flex[_ngcontent-%COMP%]{display:flex!important}.d-sm-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}}@media (min-width:768px){.col-md[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;max-width:100%}.col-md-auto[_ngcontent-%COMP%]{flex:0 0 auto;width:auto;max-width:100%}.col-md-1[_ngcontent-%COMP%]{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-md-2[_ngcontent-%COMP%]{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-3[_ngcontent-%COMP%]{flex:0 0 25%;max-width:25%}.col-md-4[_ngcontent-%COMP%]{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-md-5[_ngcontent-%COMP%]{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-md-6[_ngcontent-%COMP%]{flex:0 0 50%;max-width:50%}.col-md-7[_ngcontent-%COMP%]{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-md-8[_ngcontent-%COMP%]{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-md-9[_ngcontent-%COMP%]{flex:0 0 75%;max-width:75%}.col-md-10[_ngcontent-%COMP%]{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-md-11[_ngcontent-%COMP%]{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-md-12[_ngcontent-%COMP%]{flex:0 0 100%;max-width:100%}.order-md-first[_ngcontent-%COMP%]{order:-1}.order-md-last[_ngcontent-%COMP%]{order:13}.order-md-0[_ngcontent-%COMP%]{order:0}.order-md-1[_ngcontent-%COMP%]{order:1}.order-md-2[_ngcontent-%COMP%]{order:2}.order-md-3[_ngcontent-%COMP%]{order:3}.order-md-4[_ngcontent-%COMP%]{order:4}.order-md-5[_ngcontent-%COMP%]{order:5}.order-md-6[_ngcontent-%COMP%]{order:6}.order-md-7[_ngcontent-%COMP%]{order:7}.order-md-8[_ngcontent-%COMP%]{order:8}.order-md-9[_ngcontent-%COMP%]{order:9}.order-md-10[_ngcontent-%COMP%]{order:10}.order-md-11[_ngcontent-%COMP%]{order:11}.order-md-12[_ngcontent-%COMP%]{order:12}.offset-md-0[_ngcontent-%COMP%]{margin-left:0}.offset-md-1[_ngcontent-%COMP%]{margin-left:8.3333333333%}.offset-md-2[_ngcontent-%COMP%]{margin-left:16.6666666667%}.offset-md-3[_ngcontent-%COMP%]{margin-left:25%}.offset-md-4[_ngcontent-%COMP%]{margin-left:33.3333333333%}.offset-md-5[_ngcontent-%COMP%]{margin-left:41.6666666667%}.offset-md-6[_ngcontent-%COMP%]{margin-left:50%}.offset-md-7[_ngcontent-%COMP%]{margin-left:58.3333333333%}.offset-md-8[_ngcontent-%COMP%]{margin-left:66.6666666667%}.offset-md-9[_ngcontent-%COMP%]{margin-left:75%}.offset-md-10[_ngcontent-%COMP%]{margin-left:83.3333333333%}.offset-md-11[_ngcontent-%COMP%]{margin-left:91.6666666667%}.d-md-none[_ngcontent-%COMP%]{display:none!important}.d-md-inline[_ngcontent-%COMP%]{display:inline!important}.d-md-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-md-block[_ngcontent-%COMP%]{display:block!important}.d-md-table[_ngcontent-%COMP%]{display:table!important}.d-md-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-md-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-md-flex[_ngcontent-%COMP%]{display:flex!important}.d-md-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}}@media (min-width:992px){.col-lg[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;max-width:100%}.col-lg-auto[_ngcontent-%COMP%]{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1[_ngcontent-%COMP%]{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-lg-2[_ngcontent-%COMP%]{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-lg-3[_ngcontent-%COMP%]{flex:0 0 25%;max-width:25%}.col-lg-4[_ngcontent-%COMP%]{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-lg-5[_ngcontent-%COMP%]{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-lg-6[_ngcontent-%COMP%]{flex:0 0 50%;max-width:50%}.col-lg-7[_ngcontent-%COMP%]{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-lg-8[_ngcontent-%COMP%]{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-lg-9[_ngcontent-%COMP%]{flex:0 0 75%;max-width:75%}.col-lg-10[_ngcontent-%COMP%]{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-lg-11[_ngcontent-%COMP%]{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-lg-12[_ngcontent-%COMP%]{flex:0 0 100%;max-width:100%}.order-lg-first[_ngcontent-%COMP%]{order:-1}.order-lg-last[_ngcontent-%COMP%]{order:13}.order-lg-0[_ngcontent-%COMP%]{order:0}.order-lg-1[_ngcontent-%COMP%]{order:1}.order-lg-2[_ngcontent-%COMP%]{order:2}.order-lg-3[_ngcontent-%COMP%]{order:3}.order-lg-4[_ngcontent-%COMP%]{order:4}.order-lg-5[_ngcontent-%COMP%]{order:5}.order-lg-6[_ngcontent-%COMP%]{order:6}.order-lg-7[_ngcontent-%COMP%]{order:7}.order-lg-8[_ngcontent-%COMP%]{order:8}.order-lg-9[_ngcontent-%COMP%]{order:9}.order-lg-10[_ngcontent-%COMP%]{order:10}.order-lg-11[_ngcontent-%COMP%]{order:11}.order-lg-12[_ngcontent-%COMP%]{order:12}.offset-lg-0[_ngcontent-%COMP%]{margin-left:0}.offset-lg-1[_ngcontent-%COMP%]{margin-left:8.3333333333%}.offset-lg-2[_ngcontent-%COMP%]{margin-left:16.6666666667%}.offset-lg-3[_ngcontent-%COMP%]{margin-left:25%}.offset-lg-4[_ngcontent-%COMP%]{margin-left:33.3333333333%}.offset-lg-5[_ngcontent-%COMP%]{margin-left:41.6666666667%}.offset-lg-6[_ngcontent-%COMP%]{margin-left:50%}.offset-lg-7[_ngcontent-%COMP%]{margin-left:58.3333333333%}.offset-lg-8[_ngcontent-%COMP%]{margin-left:66.6666666667%}.offset-lg-9[_ngcontent-%COMP%]{margin-left:75%}.offset-lg-10[_ngcontent-%COMP%]{margin-left:83.3333333333%}.offset-lg-11[_ngcontent-%COMP%]{margin-left:91.6666666667%}.d-lg-none[_ngcontent-%COMP%]{display:none!important}.d-lg-inline[_ngcontent-%COMP%]{display:inline!important}.d-lg-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-lg-block[_ngcontent-%COMP%]{display:block!important}.d-lg-table[_ngcontent-%COMP%]{display:table!important}.d-lg-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-lg-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-lg-flex[_ngcontent-%COMP%]{display:flex!important}.d-lg-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}}@media (min-width:1200px){.col-xl[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;max-width:100%}.col-xl-auto[_ngcontent-%COMP%]{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1[_ngcontent-%COMP%]{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-xl-2[_ngcontent-%COMP%]{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xl-3[_ngcontent-%COMP%]{flex:0 0 25%;max-width:25%}.col-xl-4[_ngcontent-%COMP%]{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-xl-5[_ngcontent-%COMP%]{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-xl-6[_ngcontent-%COMP%]{flex:0 0 50%;max-width:50%}.col-xl-7[_ngcontent-%COMP%]{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-xl-8[_ngcontent-%COMP%]{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-xl-9[_ngcontent-%COMP%]{flex:0 0 75%;max-width:75%}.col-xl-10[_ngcontent-%COMP%]{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-xl-11[_ngcontent-%COMP%]{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-xl-12[_ngcontent-%COMP%]{flex:0 0 100%;max-width:100%}.order-xl-first[_ngcontent-%COMP%]{order:-1}.order-xl-last[_ngcontent-%COMP%]{order:13}.order-xl-0[_ngcontent-%COMP%]{order:0}.order-xl-1[_ngcontent-%COMP%]{order:1}.order-xl-2[_ngcontent-%COMP%]{order:2}.order-xl-3[_ngcontent-%COMP%]{order:3}.order-xl-4[_ngcontent-%COMP%]{order:4}.order-xl-5[_ngcontent-%COMP%]{order:5}.order-xl-6[_ngcontent-%COMP%]{order:6}.order-xl-7[_ngcontent-%COMP%]{order:7}.order-xl-8[_ngcontent-%COMP%]{order:8}.order-xl-9[_ngcontent-%COMP%]{order:9}.order-xl-10[_ngcontent-%COMP%]{order:10}.order-xl-11[_ngcontent-%COMP%]{order:11}.order-xl-12[_ngcontent-%COMP%]{order:12}.offset-xl-0[_ngcontent-%COMP%]{margin-left:0}.offset-xl-1[_ngcontent-%COMP%]{margin-left:8.3333333333%}.offset-xl-2[_ngcontent-%COMP%]{margin-left:16.6666666667%}.offset-xl-3[_ngcontent-%COMP%]{margin-left:25%}.offset-xl-4[_ngcontent-%COMP%]{margin-left:33.3333333333%}.offset-xl-5[_ngcontent-%COMP%]{margin-left:41.6666666667%}.offset-xl-6[_ngcontent-%COMP%]{margin-left:50%}.offset-xl-7[_ngcontent-%COMP%]{margin-left:58.3333333333%}.offset-xl-8[_ngcontent-%COMP%]{margin-left:66.6666666667%}.offset-xl-9[_ngcontent-%COMP%]{margin-left:75%}.offset-xl-10[_ngcontent-%COMP%]{margin-left:83.3333333333%}.offset-xl-11[_ngcontent-%COMP%]{margin-left:91.6666666667%}.d-xl-none[_ngcontent-%COMP%]{display:none!important}.d-xl-inline[_ngcontent-%COMP%]{display:inline!important}.d-xl-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-xl-block[_ngcontent-%COMP%]{display:block!important}.d-xl-table[_ngcontent-%COMP%]{display:table!important}.d-xl-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-xl-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-xl-flex[_ngcontent-%COMP%]{display:flex!important}.d-xl-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}}@media print{.d-print-none[_ngcontent-%COMP%]{display:none!important}.d-print-inline[_ngcontent-%COMP%]{display:inline!important}.d-print-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-print-block[_ngcontent-%COMP%]{display:block!important}.d-print-table[_ngcontent-%COMP%]{display:table!important}.d-print-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-print-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-print-flex[_ngcontent-%COMP%]{display:flex!important}.d-print-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}}.flex-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-column[_ngcontent-%COMP%]{flex-direction:column!important}.flex-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.flex-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.justify-content-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-stretch[_ngcontent-%COMP%]{align-self:stretch!important}.m-0[_ngcontent-%COMP%]{margin:0!important}.mt-0[_ngcontent-%COMP%], .my-0[_ngcontent-%COMP%]{margin-top:0!important}.mr-0[_ngcontent-%COMP%], .mx-0[_ngcontent-%COMP%]{margin-right:0!important}.mb-0[_ngcontent-%COMP%], .my-0[_ngcontent-%COMP%]{margin-bottom:0!important}.ml-0[_ngcontent-%COMP%], .mx-0[_ngcontent-%COMP%]{margin-left:0!important}.m-1[_ngcontent-%COMP%]{margin:.25rem!important}.mt-1[_ngcontent-%COMP%], .my-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mr-1[_ngcontent-%COMP%], .mx-1[_ngcontent-%COMP%],   .btn-toolbar .btn-group{margin-right:.25rem!important}.mb-1[_ngcontent-%COMP%], .my-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.ml-1[_ngcontent-%COMP%], .mx-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.m-2[_ngcontent-%COMP%]{margin:.5rem!important}.mt-2[_ngcontent-%COMP%], .my-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mr-2[_ngcontent-%COMP%], .mx-2[_ngcontent-%COMP%]{margin-right:.5rem!important}.mb-2[_ngcontent-%COMP%], .my-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.ml-2[_ngcontent-%COMP%], .mx-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.m-3[_ngcontent-%COMP%]{margin:1rem!important}.mt-3[_ngcontent-%COMP%], .my-3[_ngcontent-%COMP%]{margin-top:1rem!important}.mr-3[_ngcontent-%COMP%], .mx-3[_ngcontent-%COMP%]{margin-right:1rem!important}.mb-3[_ngcontent-%COMP%], .my-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.ml-3[_ngcontent-%COMP%], .mx-3[_ngcontent-%COMP%]{margin-left:1rem!important}.m-4[_ngcontent-%COMP%]{margin:1.5rem!important}.mt-4[_ngcontent-%COMP%], .my-4[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mr-4[_ngcontent-%COMP%], .mx-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.mb-4[_ngcontent-%COMP%], .my-4[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.ml-4[_ngcontent-%COMP%], .mx-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.m-5[_ngcontent-%COMP%]{margin:3rem!important}.mt-5[_ngcontent-%COMP%], .my-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mr-5[_ngcontent-%COMP%], .mx-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mb-5[_ngcontent-%COMP%], .my-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.ml-5[_ngcontent-%COMP%], .mx-5[_ngcontent-%COMP%]{margin-left:3rem!important}.p-0[_ngcontent-%COMP%]{padding:0!important}.pt-0[_ngcontent-%COMP%], .py-0[_ngcontent-%COMP%]{padding-top:0!important}.pr-0[_ngcontent-%COMP%], .px-0[_ngcontent-%COMP%]{padding-right:0!important}.pb-0[_ngcontent-%COMP%], .py-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pl-0[_ngcontent-%COMP%], .px-0[_ngcontent-%COMP%]{padding-left:0!important}.p-1[_ngcontent-%COMP%]{padding:.25rem!important}.pt-1[_ngcontent-%COMP%], .py-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pr-1[_ngcontent-%COMP%], .px-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.pb-1[_ngcontent-%COMP%], .py-1[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pl-1[_ngcontent-%COMP%], .px-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.p-2[_ngcontent-%COMP%]{padding:.5rem!important}.pt-2[_ngcontent-%COMP%], .py-2[_ngcontent-%COMP%]{padding-top:.5rem!important}.pr-2[_ngcontent-%COMP%], .px-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.pb-2[_ngcontent-%COMP%], .py-2[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pl-2[_ngcontent-%COMP%], .px-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.p-3[_ngcontent-%COMP%]{padding:1rem!important}.pt-3[_ngcontent-%COMP%], .py-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pr-3[_ngcontent-%COMP%], .px-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pb-3[_ngcontent-%COMP%], .py-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pl-3[_ngcontent-%COMP%], .px-3[_ngcontent-%COMP%]{padding-left:1rem!important}.p-4[_ngcontent-%COMP%]{padding:1.5rem!important}.pt-4[_ngcontent-%COMP%], .py-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pr-4[_ngcontent-%COMP%], .px-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pb-4[_ngcontent-%COMP%], .py-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pl-4[_ngcontent-%COMP%], .px-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.p-5[_ngcontent-%COMP%]{padding:3rem!important}.pt-5[_ngcontent-%COMP%], .py-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-5[_ngcontent-%COMP%], .px-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-5[_ngcontent-%COMP%], .py-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-5[_ngcontent-%COMP%], .px-5[_ngcontent-%COMP%]{padding-left:3rem!important}.m-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.mt-n1[_ngcontent-%COMP%], .my-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mr-n1[_ngcontent-%COMP%], .mx-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mb-n1[_ngcontent-%COMP%], .my-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.ml-n1[_ngcontent-%COMP%], .mx-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.m-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.mt-n2[_ngcontent-%COMP%], .my-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mr-n2[_ngcontent-%COMP%], .mx-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mb-n2[_ngcontent-%COMP%], .my-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.ml-n2[_ngcontent-%COMP%], .mx-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.m-n3[_ngcontent-%COMP%]{margin:-1rem!important}.mt-n3[_ngcontent-%COMP%], .my-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mr-n3[_ngcontent-%COMP%], .mx-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mb-n3[_ngcontent-%COMP%], .my-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.ml-n3[_ngcontent-%COMP%], .mx-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.m-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.mt-n4[_ngcontent-%COMP%], .my-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mr-n4[_ngcontent-%COMP%], .mx-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mb-n4[_ngcontent-%COMP%], .my-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.ml-n4[_ngcontent-%COMP%], .mx-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.m-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mt-n5[_ngcontent-%COMP%], .my-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-n5[_ngcontent-%COMP%], .mx-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-n5[_ngcontent-%COMP%], .my-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-n5[_ngcontent-%COMP%], .mx-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.m-auto[_ngcontent-%COMP%]{margin:auto!important}.mt-auto[_ngcontent-%COMP%], .my-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-auto[_ngcontent-%COMP%], .mx-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-auto[_ngcontent-%COMP%], .my-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-auto[_ngcontent-%COMP%], .mx-auto[_ngcontent-%COMP%]{margin-left:auto!important}@media (min-width:576px){.flex-sm-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-sm-column[_ngcontent-%COMP%]{flex-direction:column!important}.flex-sm-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-sm-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-sm-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-sm-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-sm-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.flex-sm-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-sm-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-sm-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-sm-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-sm-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.justify-content-sm-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-sm-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-sm-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-sm-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-sm-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-sm-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-sm-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-sm-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-sm-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-sm-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-sm-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-sm-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-sm-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-sm-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-sm-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-sm-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-sm-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-sm-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-sm-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-sm-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-sm-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-sm-stretch[_ngcontent-%COMP%]{align-self:stretch!important}.m-sm-0[_ngcontent-%COMP%]{margin:0!important}.mt-sm-0[_ngcontent-%COMP%], .my-sm-0[_ngcontent-%COMP%]{margin-top:0!important}.mr-sm-0[_ngcontent-%COMP%], .mx-sm-0[_ngcontent-%COMP%]{margin-right:0!important}.mb-sm-0[_ngcontent-%COMP%], .my-sm-0[_ngcontent-%COMP%]{margin-bottom:0!important}.ml-sm-0[_ngcontent-%COMP%], .mx-sm-0[_ngcontent-%COMP%]{margin-left:0!important}.m-sm-1[_ngcontent-%COMP%]{margin:.25rem!important}.mt-sm-1[_ngcontent-%COMP%], .my-sm-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mr-sm-1[_ngcontent-%COMP%], .mx-sm-1[_ngcontent-%COMP%]{margin-right:.25rem!important}.mb-sm-1[_ngcontent-%COMP%], .my-sm-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.ml-sm-1[_ngcontent-%COMP%], .mx-sm-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.m-sm-2[_ngcontent-%COMP%]{margin:.5rem!important}.mt-sm-2[_ngcontent-%COMP%], .my-sm-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mr-sm-2[_ngcontent-%COMP%], .mx-sm-2[_ngcontent-%COMP%]{margin-right:.5rem!important}.mb-sm-2[_ngcontent-%COMP%], .my-sm-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.ml-sm-2[_ngcontent-%COMP%], .mx-sm-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.m-sm-3[_ngcontent-%COMP%]{margin:1rem!important}.mt-sm-3[_ngcontent-%COMP%], .my-sm-3[_ngcontent-%COMP%]{margin-top:1rem!important}.mr-sm-3[_ngcontent-%COMP%], .mx-sm-3[_ngcontent-%COMP%]{margin-right:1rem!important}.mb-sm-3[_ngcontent-%COMP%], .my-sm-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.ml-sm-3[_ngcontent-%COMP%], .mx-sm-3[_ngcontent-%COMP%]{margin-left:1rem!important}.m-sm-4[_ngcontent-%COMP%]{margin:1.5rem!important}.mt-sm-4[_ngcontent-%COMP%], .my-sm-4[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mr-sm-4[_ngcontent-%COMP%], .mx-sm-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.mb-sm-4[_ngcontent-%COMP%], .my-sm-4[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.ml-sm-4[_ngcontent-%COMP%], .mx-sm-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.m-sm-5[_ngcontent-%COMP%]{margin:3rem!important}.mt-sm-5[_ngcontent-%COMP%], .my-sm-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mr-sm-5[_ngcontent-%COMP%], .mx-sm-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mb-sm-5[_ngcontent-%COMP%], .my-sm-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.ml-sm-5[_ngcontent-%COMP%], .mx-sm-5[_ngcontent-%COMP%]{margin-left:3rem!important}.p-sm-0[_ngcontent-%COMP%]{padding:0!important}.pt-sm-0[_ngcontent-%COMP%], .py-sm-0[_ngcontent-%COMP%]{padding-top:0!important}.pr-sm-0[_ngcontent-%COMP%], .px-sm-0[_ngcontent-%COMP%]{padding-right:0!important}.pb-sm-0[_ngcontent-%COMP%], .py-sm-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pl-sm-0[_ngcontent-%COMP%], .px-sm-0[_ngcontent-%COMP%]{padding-left:0!important}.p-sm-1[_ngcontent-%COMP%]{padding:.25rem!important}.pt-sm-1[_ngcontent-%COMP%], .py-sm-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pr-sm-1[_ngcontent-%COMP%], .px-sm-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.pb-sm-1[_ngcontent-%COMP%], .py-sm-1[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pl-sm-1[_ngcontent-%COMP%], .px-sm-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.p-sm-2[_ngcontent-%COMP%]{padding:.5rem!important}.pt-sm-2[_ngcontent-%COMP%], .py-sm-2[_ngcontent-%COMP%]{padding-top:.5rem!important}.pr-sm-2[_ngcontent-%COMP%], .px-sm-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.pb-sm-2[_ngcontent-%COMP%], .py-sm-2[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pl-sm-2[_ngcontent-%COMP%], .px-sm-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.p-sm-3[_ngcontent-%COMP%]{padding:1rem!important}.pt-sm-3[_ngcontent-%COMP%], .py-sm-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pr-sm-3[_ngcontent-%COMP%], .px-sm-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pb-sm-3[_ngcontent-%COMP%], .py-sm-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pl-sm-3[_ngcontent-%COMP%], .px-sm-3[_ngcontent-%COMP%]{padding-left:1rem!important}.p-sm-4[_ngcontent-%COMP%]{padding:1.5rem!important}.pt-sm-4[_ngcontent-%COMP%], .py-sm-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pr-sm-4[_ngcontent-%COMP%], .px-sm-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pb-sm-4[_ngcontent-%COMP%], .py-sm-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pl-sm-4[_ngcontent-%COMP%], .px-sm-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.p-sm-5[_ngcontent-%COMP%]{padding:3rem!important}.pt-sm-5[_ngcontent-%COMP%], .py-sm-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-sm-5[_ngcontent-%COMP%], .px-sm-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-sm-5[_ngcontent-%COMP%], .py-sm-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-sm-5[_ngcontent-%COMP%], .px-sm-5[_ngcontent-%COMP%]{padding-left:3rem!important}.m-sm-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.mt-sm-n1[_ngcontent-%COMP%], .my-sm-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mr-sm-n1[_ngcontent-%COMP%], .mx-sm-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mb-sm-n1[_ngcontent-%COMP%], .my-sm-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.ml-sm-n1[_ngcontent-%COMP%], .mx-sm-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.m-sm-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.mt-sm-n2[_ngcontent-%COMP%], .my-sm-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mr-sm-n2[_ngcontent-%COMP%], .mx-sm-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mb-sm-n2[_ngcontent-%COMP%], .my-sm-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.ml-sm-n2[_ngcontent-%COMP%], .mx-sm-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.m-sm-n3[_ngcontent-%COMP%]{margin:-1rem!important}.mt-sm-n3[_ngcontent-%COMP%], .my-sm-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mr-sm-n3[_ngcontent-%COMP%], .mx-sm-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mb-sm-n3[_ngcontent-%COMP%], .my-sm-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.ml-sm-n3[_ngcontent-%COMP%], .mx-sm-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.m-sm-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.mt-sm-n4[_ngcontent-%COMP%], .my-sm-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mr-sm-n4[_ngcontent-%COMP%], .mx-sm-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mb-sm-n4[_ngcontent-%COMP%], .my-sm-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.ml-sm-n4[_ngcontent-%COMP%], .mx-sm-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.m-sm-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mt-sm-n5[_ngcontent-%COMP%], .my-sm-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-sm-n5[_ngcontent-%COMP%], .mx-sm-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-sm-n5[_ngcontent-%COMP%], .my-sm-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-sm-n5[_ngcontent-%COMP%], .mx-sm-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.m-sm-auto[_ngcontent-%COMP%]{margin:auto!important}.mt-sm-auto[_ngcontent-%COMP%], .my-sm-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-sm-auto[_ngcontent-%COMP%], .mx-sm-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-sm-auto[_ngcontent-%COMP%], .my-sm-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-sm-auto[_ngcontent-%COMP%], .mx-sm-auto[_ngcontent-%COMP%]{margin-left:auto!important}}@media (min-width:768px){.flex-md-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-md-column[_ngcontent-%COMP%]{flex-direction:column!important}.flex-md-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-md-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-md-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-md-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-md-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.flex-md-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-md-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-md-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-md-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-md-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.justify-content-md-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-md-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-md-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-md-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-md-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-md-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-md-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-md-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-md-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-md-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-md-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-md-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-md-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-md-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-md-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-md-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-md-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-md-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-md-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-md-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-md-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-md-stretch[_ngcontent-%COMP%]{align-self:stretch!important}.m-md-0[_ngcontent-%COMP%]{margin:0!important}.mt-md-0[_ngcontent-%COMP%], .my-md-0[_ngcontent-%COMP%]{margin-top:0!important}.mr-md-0[_ngcontent-%COMP%], .mx-md-0[_ngcontent-%COMP%]{margin-right:0!important}.mb-md-0[_ngcontent-%COMP%], .my-md-0[_ngcontent-%COMP%]{margin-bottom:0!important}.ml-md-0[_ngcontent-%COMP%], .mx-md-0[_ngcontent-%COMP%]{margin-left:0!important}.m-md-1[_ngcontent-%COMP%]{margin:.25rem!important}.mt-md-1[_ngcontent-%COMP%], .my-md-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mr-md-1[_ngcontent-%COMP%], .mx-md-1[_ngcontent-%COMP%]{margin-right:.25rem!important}.mb-md-1[_ngcontent-%COMP%], .my-md-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.ml-md-1[_ngcontent-%COMP%], .mx-md-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.m-md-2[_ngcontent-%COMP%]{margin:.5rem!important}.mt-md-2[_ngcontent-%COMP%], .my-md-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mr-md-2[_ngcontent-%COMP%], .mx-md-2[_ngcontent-%COMP%]{margin-right:.5rem!important}.mb-md-2[_ngcontent-%COMP%], .my-md-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.ml-md-2[_ngcontent-%COMP%], .mx-md-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.m-md-3[_ngcontent-%COMP%]{margin:1rem!important}.mt-md-3[_ngcontent-%COMP%], .my-md-3[_ngcontent-%COMP%]{margin-top:1rem!important}.mr-md-3[_ngcontent-%COMP%], .mx-md-3[_ngcontent-%COMP%]{margin-right:1rem!important}.mb-md-3[_ngcontent-%COMP%], .my-md-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.ml-md-3[_ngcontent-%COMP%], .mx-md-3[_ngcontent-%COMP%]{margin-left:1rem!important}.m-md-4[_ngcontent-%COMP%]{margin:1.5rem!important}.mt-md-4[_ngcontent-%COMP%], .my-md-4[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mr-md-4[_ngcontent-%COMP%], .mx-md-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.mb-md-4[_ngcontent-%COMP%], .my-md-4[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.ml-md-4[_ngcontent-%COMP%], .mx-md-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.m-md-5[_ngcontent-%COMP%]{margin:3rem!important}.mt-md-5[_ngcontent-%COMP%], .my-md-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mr-md-5[_ngcontent-%COMP%], .mx-md-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mb-md-5[_ngcontent-%COMP%], .my-md-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.ml-md-5[_ngcontent-%COMP%], .mx-md-5[_ngcontent-%COMP%]{margin-left:3rem!important}.p-md-0[_ngcontent-%COMP%]{padding:0!important}.pt-md-0[_ngcontent-%COMP%], .py-md-0[_ngcontent-%COMP%]{padding-top:0!important}.pr-md-0[_ngcontent-%COMP%], .px-md-0[_ngcontent-%COMP%]{padding-right:0!important}.pb-md-0[_ngcontent-%COMP%], .py-md-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pl-md-0[_ngcontent-%COMP%], .px-md-0[_ngcontent-%COMP%]{padding-left:0!important}.p-md-1[_ngcontent-%COMP%]{padding:.25rem!important}.pt-md-1[_ngcontent-%COMP%], .py-md-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pr-md-1[_ngcontent-%COMP%], .px-md-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.pb-md-1[_ngcontent-%COMP%], .py-md-1[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pl-md-1[_ngcontent-%COMP%], .px-md-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.p-md-2[_ngcontent-%COMP%]{padding:.5rem!important}.pt-md-2[_ngcontent-%COMP%], .py-md-2[_ngcontent-%COMP%]{padding-top:.5rem!important}.pr-md-2[_ngcontent-%COMP%], .px-md-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.pb-md-2[_ngcontent-%COMP%], .py-md-2[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pl-md-2[_ngcontent-%COMP%], .px-md-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.p-md-3[_ngcontent-%COMP%]{padding:1rem!important}.pt-md-3[_ngcontent-%COMP%], .py-md-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pr-md-3[_ngcontent-%COMP%], .px-md-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pb-md-3[_ngcontent-%COMP%], .py-md-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pl-md-3[_ngcontent-%COMP%], .px-md-3[_ngcontent-%COMP%]{padding-left:1rem!important}.p-md-4[_ngcontent-%COMP%]{padding:1.5rem!important}.pt-md-4[_ngcontent-%COMP%], .py-md-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pr-md-4[_ngcontent-%COMP%], .px-md-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pb-md-4[_ngcontent-%COMP%], .py-md-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pl-md-4[_ngcontent-%COMP%], .px-md-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.p-md-5[_ngcontent-%COMP%]{padding:3rem!important}.pt-md-5[_ngcontent-%COMP%], .py-md-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-md-5[_ngcontent-%COMP%], .px-md-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-md-5[_ngcontent-%COMP%], .py-md-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-md-5[_ngcontent-%COMP%], .px-md-5[_ngcontent-%COMP%]{padding-left:3rem!important}.m-md-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.mt-md-n1[_ngcontent-%COMP%], .my-md-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mr-md-n1[_ngcontent-%COMP%], .mx-md-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mb-md-n1[_ngcontent-%COMP%], .my-md-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.ml-md-n1[_ngcontent-%COMP%], .mx-md-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.m-md-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.mt-md-n2[_ngcontent-%COMP%], .my-md-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mr-md-n2[_ngcontent-%COMP%], .mx-md-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mb-md-n2[_ngcontent-%COMP%], .my-md-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.ml-md-n2[_ngcontent-%COMP%], .mx-md-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.m-md-n3[_ngcontent-%COMP%]{margin:-1rem!important}.mt-md-n3[_ngcontent-%COMP%], .my-md-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mr-md-n3[_ngcontent-%COMP%], .mx-md-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mb-md-n3[_ngcontent-%COMP%], .my-md-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.ml-md-n3[_ngcontent-%COMP%], .mx-md-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.m-md-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.mt-md-n4[_ngcontent-%COMP%], .my-md-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mr-md-n4[_ngcontent-%COMP%], .mx-md-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mb-md-n4[_ngcontent-%COMP%], .my-md-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.ml-md-n4[_ngcontent-%COMP%], .mx-md-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.m-md-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mt-md-n5[_ngcontent-%COMP%], .my-md-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-md-n5[_ngcontent-%COMP%], .mx-md-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-md-n5[_ngcontent-%COMP%], .my-md-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-md-n5[_ngcontent-%COMP%], .mx-md-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.m-md-auto[_ngcontent-%COMP%]{margin:auto!important}.mt-md-auto[_ngcontent-%COMP%], .my-md-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-md-auto[_ngcontent-%COMP%], .mx-md-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-md-auto[_ngcontent-%COMP%], .my-md-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-md-auto[_ngcontent-%COMP%], .mx-md-auto[_ngcontent-%COMP%]{margin-left:auto!important}}@media (min-width:992px){.flex-lg-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-lg-column[_ngcontent-%COMP%]{flex-direction:column!important}.flex-lg-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-lg-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-lg-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-lg-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-lg-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.flex-lg-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-lg-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-lg-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-lg-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-lg-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.justify-content-lg-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-lg-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-lg-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-lg-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-lg-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-lg-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-lg-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-lg-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-lg-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-lg-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-lg-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-lg-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-lg-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-lg-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-lg-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-lg-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-lg-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-lg-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-lg-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-lg-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-lg-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-lg-stretch[_ngcontent-%COMP%]{align-self:stretch!important}.m-lg-0[_ngcontent-%COMP%]{margin:0!important}.mt-lg-0[_ngcontent-%COMP%], .my-lg-0[_ngcontent-%COMP%]{margin-top:0!important}.mr-lg-0[_ngcontent-%COMP%], .mx-lg-0[_ngcontent-%COMP%]{margin-right:0!important}.mb-lg-0[_ngcontent-%COMP%], .my-lg-0[_ngcontent-%COMP%]{margin-bottom:0!important}.ml-lg-0[_ngcontent-%COMP%], .mx-lg-0[_ngcontent-%COMP%]{margin-left:0!important}.m-lg-1[_ngcontent-%COMP%]{margin:.25rem!important}.mt-lg-1[_ngcontent-%COMP%], .my-lg-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mr-lg-1[_ngcontent-%COMP%], .mx-lg-1[_ngcontent-%COMP%]{margin-right:.25rem!important}.mb-lg-1[_ngcontent-%COMP%], .my-lg-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.ml-lg-1[_ngcontent-%COMP%], .mx-lg-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.m-lg-2[_ngcontent-%COMP%]{margin:.5rem!important}.mt-lg-2[_ngcontent-%COMP%], .my-lg-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mr-lg-2[_ngcontent-%COMP%], .mx-lg-2[_ngcontent-%COMP%]{margin-right:.5rem!important}.mb-lg-2[_ngcontent-%COMP%], .my-lg-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.ml-lg-2[_ngcontent-%COMP%], .mx-lg-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.m-lg-3[_ngcontent-%COMP%]{margin:1rem!important}.mt-lg-3[_ngcontent-%COMP%], .my-lg-3[_ngcontent-%COMP%]{margin-top:1rem!important}.mr-lg-3[_ngcontent-%COMP%], .mx-lg-3[_ngcontent-%COMP%]{margin-right:1rem!important}.mb-lg-3[_ngcontent-%COMP%], .my-lg-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.ml-lg-3[_ngcontent-%COMP%], .mx-lg-3[_ngcontent-%COMP%]{margin-left:1rem!important}.m-lg-4[_ngcontent-%COMP%]{margin:1.5rem!important}.mt-lg-4[_ngcontent-%COMP%], .my-lg-4[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mr-lg-4[_ngcontent-%COMP%], .mx-lg-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.mb-lg-4[_ngcontent-%COMP%], .my-lg-4[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.ml-lg-4[_ngcontent-%COMP%], .mx-lg-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.m-lg-5[_ngcontent-%COMP%]{margin:3rem!important}.mt-lg-5[_ngcontent-%COMP%], .my-lg-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mr-lg-5[_ngcontent-%COMP%], .mx-lg-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mb-lg-5[_ngcontent-%COMP%], .my-lg-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.ml-lg-5[_ngcontent-%COMP%], .mx-lg-5[_ngcontent-%COMP%]{margin-left:3rem!important}.p-lg-0[_ngcontent-%COMP%]{padding:0!important}.pt-lg-0[_ngcontent-%COMP%], .py-lg-0[_ngcontent-%COMP%]{padding-top:0!important}.pr-lg-0[_ngcontent-%COMP%], .px-lg-0[_ngcontent-%COMP%]{padding-right:0!important}.pb-lg-0[_ngcontent-%COMP%], .py-lg-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pl-lg-0[_ngcontent-%COMP%], .px-lg-0[_ngcontent-%COMP%]{padding-left:0!important}.p-lg-1[_ngcontent-%COMP%]{padding:.25rem!important}.pt-lg-1[_ngcontent-%COMP%], .py-lg-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pr-lg-1[_ngcontent-%COMP%], .px-lg-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.pb-lg-1[_ngcontent-%COMP%], .py-lg-1[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pl-lg-1[_ngcontent-%COMP%], .px-lg-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.p-lg-2[_ngcontent-%COMP%]{padding:.5rem!important}.pt-lg-2[_ngcontent-%COMP%], .py-lg-2[_ngcontent-%COMP%]{padding-top:.5rem!important}.pr-lg-2[_ngcontent-%COMP%], .px-lg-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.pb-lg-2[_ngcontent-%COMP%], .py-lg-2[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pl-lg-2[_ngcontent-%COMP%], .px-lg-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.p-lg-3[_ngcontent-%COMP%]{padding:1rem!important}.pt-lg-3[_ngcontent-%COMP%], .py-lg-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pr-lg-3[_ngcontent-%COMP%], .px-lg-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pb-lg-3[_ngcontent-%COMP%], .py-lg-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pl-lg-3[_ngcontent-%COMP%], .px-lg-3[_ngcontent-%COMP%]{padding-left:1rem!important}.p-lg-4[_ngcontent-%COMP%]{padding:1.5rem!important}.pt-lg-4[_ngcontent-%COMP%], .py-lg-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pr-lg-4[_ngcontent-%COMP%], .px-lg-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pb-lg-4[_ngcontent-%COMP%], .py-lg-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pl-lg-4[_ngcontent-%COMP%], .px-lg-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.p-lg-5[_ngcontent-%COMP%]{padding:3rem!important}.pt-lg-5[_ngcontent-%COMP%], .py-lg-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-lg-5[_ngcontent-%COMP%], .px-lg-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-lg-5[_ngcontent-%COMP%], .py-lg-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-lg-5[_ngcontent-%COMP%], .px-lg-5[_ngcontent-%COMP%]{padding-left:3rem!important}.m-lg-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.mt-lg-n1[_ngcontent-%COMP%], .my-lg-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mr-lg-n1[_ngcontent-%COMP%], .mx-lg-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mb-lg-n1[_ngcontent-%COMP%], .my-lg-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.ml-lg-n1[_ngcontent-%COMP%], .mx-lg-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.m-lg-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.mt-lg-n2[_ngcontent-%COMP%], .my-lg-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mr-lg-n2[_ngcontent-%COMP%], .mx-lg-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mb-lg-n2[_ngcontent-%COMP%], .my-lg-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.ml-lg-n2[_ngcontent-%COMP%], .mx-lg-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.m-lg-n3[_ngcontent-%COMP%]{margin:-1rem!important}.mt-lg-n3[_ngcontent-%COMP%], .my-lg-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mr-lg-n3[_ngcontent-%COMP%], .mx-lg-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mb-lg-n3[_ngcontent-%COMP%], .my-lg-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.ml-lg-n3[_ngcontent-%COMP%], .mx-lg-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.m-lg-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.mt-lg-n4[_ngcontent-%COMP%], .my-lg-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mr-lg-n4[_ngcontent-%COMP%], .mx-lg-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mb-lg-n4[_ngcontent-%COMP%], .my-lg-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.ml-lg-n4[_ngcontent-%COMP%], .mx-lg-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.m-lg-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mt-lg-n5[_ngcontent-%COMP%], .my-lg-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-lg-n5[_ngcontent-%COMP%], .mx-lg-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-lg-n5[_ngcontent-%COMP%], .my-lg-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-lg-n5[_ngcontent-%COMP%], .mx-lg-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.m-lg-auto[_ngcontent-%COMP%]{margin:auto!important}.mt-lg-auto[_ngcontent-%COMP%], .my-lg-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-lg-auto[_ngcontent-%COMP%], .mx-lg-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-lg-auto[_ngcontent-%COMP%], .my-lg-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-lg-auto[_ngcontent-%COMP%], .mx-lg-auto[_ngcontent-%COMP%]{margin-left:auto!important}}@media (min-width:1200px){.flex-xl-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-xl-column[_ngcontent-%COMP%]{flex-direction:column!important}.flex-xl-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-xl-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-xl-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-xl-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-xl-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.flex-xl-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-xl-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-xl-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-xl-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-xl-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.justify-content-xl-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-xl-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-xl-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-xl-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-xl-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-xl-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-xl-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-xl-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-xl-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-xl-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-xl-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-xl-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-xl-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-xl-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-xl-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-xl-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-xl-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-xl-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-xl-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-xl-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-xl-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-xl-stretch[_ngcontent-%COMP%]{align-self:stretch!important}.m-xl-0[_ngcontent-%COMP%]{margin:0!important}.mt-xl-0[_ngcontent-%COMP%], .my-xl-0[_ngcontent-%COMP%]{margin-top:0!important}.mr-xl-0[_ngcontent-%COMP%], .mx-xl-0[_ngcontent-%COMP%]{margin-right:0!important}.mb-xl-0[_ngcontent-%COMP%], .my-xl-0[_ngcontent-%COMP%]{margin-bottom:0!important}.ml-xl-0[_ngcontent-%COMP%], .mx-xl-0[_ngcontent-%COMP%]{margin-left:0!important}.m-xl-1[_ngcontent-%COMP%]{margin:.25rem!important}.mt-xl-1[_ngcontent-%COMP%], .my-xl-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mr-xl-1[_ngcontent-%COMP%], .mx-xl-1[_ngcontent-%COMP%]{margin-right:.25rem!important}.mb-xl-1[_ngcontent-%COMP%], .my-xl-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.ml-xl-1[_ngcontent-%COMP%], .mx-xl-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.m-xl-2[_ngcontent-%COMP%]{margin:.5rem!important}.mt-xl-2[_ngcontent-%COMP%], .my-xl-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mr-xl-2[_ngcontent-%COMP%], .mx-xl-2[_ngcontent-%COMP%]{margin-right:.5rem!important}.mb-xl-2[_ngcontent-%COMP%], .my-xl-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.ml-xl-2[_ngcontent-%COMP%], .mx-xl-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.m-xl-3[_ngcontent-%COMP%]{margin:1rem!important}.mt-xl-3[_ngcontent-%COMP%], .my-xl-3[_ngcontent-%COMP%]{margin-top:1rem!important}.mr-xl-3[_ngcontent-%COMP%], .mx-xl-3[_ngcontent-%COMP%]{margin-right:1rem!important}.mb-xl-3[_ngcontent-%COMP%], .my-xl-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.ml-xl-3[_ngcontent-%COMP%], .mx-xl-3[_ngcontent-%COMP%]{margin-left:1rem!important}.m-xl-4[_ngcontent-%COMP%]{margin:1.5rem!important}.mt-xl-4[_ngcontent-%COMP%], .my-xl-4[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mr-xl-4[_ngcontent-%COMP%], .mx-xl-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.mb-xl-4[_ngcontent-%COMP%], .my-xl-4[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.ml-xl-4[_ngcontent-%COMP%], .mx-xl-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.m-xl-5[_ngcontent-%COMP%]{margin:3rem!important}.mt-xl-5[_ngcontent-%COMP%], .my-xl-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mr-xl-5[_ngcontent-%COMP%], .mx-xl-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mb-xl-5[_ngcontent-%COMP%], .my-xl-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.ml-xl-5[_ngcontent-%COMP%], .mx-xl-5[_ngcontent-%COMP%]{margin-left:3rem!important}.p-xl-0[_ngcontent-%COMP%]{padding:0!important}.pt-xl-0[_ngcontent-%COMP%], .py-xl-0[_ngcontent-%COMP%]{padding-top:0!important}.pr-xl-0[_ngcontent-%COMP%], .px-xl-0[_ngcontent-%COMP%]{padding-right:0!important}.pb-xl-0[_ngcontent-%COMP%], .py-xl-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pl-xl-0[_ngcontent-%COMP%], .px-xl-0[_ngcontent-%COMP%]{padding-left:0!important}.p-xl-1[_ngcontent-%COMP%]{padding:.25rem!important}.pt-xl-1[_ngcontent-%COMP%], .py-xl-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pr-xl-1[_ngcontent-%COMP%], .px-xl-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.pb-xl-1[_ngcontent-%COMP%], .py-xl-1[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pl-xl-1[_ngcontent-%COMP%], .px-xl-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.p-xl-2[_ngcontent-%COMP%]{padding:.5rem!important}.pt-xl-2[_ngcontent-%COMP%], .py-xl-2[_ngcontent-%COMP%]{padding-top:.5rem!important}.pr-xl-2[_ngcontent-%COMP%], .px-xl-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.pb-xl-2[_ngcontent-%COMP%], .py-xl-2[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pl-xl-2[_ngcontent-%COMP%], .px-xl-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.p-xl-3[_ngcontent-%COMP%]{padding:1rem!important}.pt-xl-3[_ngcontent-%COMP%], .py-xl-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pr-xl-3[_ngcontent-%COMP%], .px-xl-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pb-xl-3[_ngcontent-%COMP%], .py-xl-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pl-xl-3[_ngcontent-%COMP%], .px-xl-3[_ngcontent-%COMP%]{padding-left:1rem!important}.p-xl-4[_ngcontent-%COMP%]{padding:1.5rem!important}.pt-xl-4[_ngcontent-%COMP%], .py-xl-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pr-xl-4[_ngcontent-%COMP%], .px-xl-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pb-xl-4[_ngcontent-%COMP%], .py-xl-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pl-xl-4[_ngcontent-%COMP%], .px-xl-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.p-xl-5[_ngcontent-%COMP%]{padding:3rem!important}.pt-xl-5[_ngcontent-%COMP%], .py-xl-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-xl-5[_ngcontent-%COMP%], .px-xl-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-xl-5[_ngcontent-%COMP%], .py-xl-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-xl-5[_ngcontent-%COMP%], .px-xl-5[_ngcontent-%COMP%]{padding-left:3rem!important}.m-xl-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.mt-xl-n1[_ngcontent-%COMP%], .my-xl-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mr-xl-n1[_ngcontent-%COMP%], .mx-xl-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mb-xl-n1[_ngcontent-%COMP%], .my-xl-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.ml-xl-n1[_ngcontent-%COMP%], .mx-xl-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.m-xl-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.mt-xl-n2[_ngcontent-%COMP%], .my-xl-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mr-xl-n2[_ngcontent-%COMP%], .mx-xl-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mb-xl-n2[_ngcontent-%COMP%], .my-xl-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.ml-xl-n2[_ngcontent-%COMP%], .mx-xl-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.m-xl-n3[_ngcontent-%COMP%]{margin:-1rem!important}.mt-xl-n3[_ngcontent-%COMP%], .my-xl-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mr-xl-n3[_ngcontent-%COMP%], .mx-xl-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mb-xl-n3[_ngcontent-%COMP%], .my-xl-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.ml-xl-n3[_ngcontent-%COMP%], .mx-xl-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.m-xl-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.mt-xl-n4[_ngcontent-%COMP%], .my-xl-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mr-xl-n4[_ngcontent-%COMP%], .mx-xl-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mb-xl-n4[_ngcontent-%COMP%], .my-xl-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.ml-xl-n4[_ngcontent-%COMP%], .mx-xl-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.m-xl-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mt-xl-n5[_ngcontent-%COMP%], .my-xl-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-xl-n5[_ngcontent-%COMP%], .mx-xl-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-xl-n5[_ngcontent-%COMP%], .my-xl-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-xl-n5[_ngcontent-%COMP%], .mx-xl-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.m-xl-auto[_ngcontent-%COMP%]{margin:auto!important}.mt-xl-auto[_ngcontent-%COMP%], .my-xl-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-xl-auto[_ngcontent-%COMP%], .mx-xl-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-xl-auto[_ngcontent-%COMP%], .my-xl-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-xl-auto[_ngcontent-%COMP%], .mx-xl-auto[_ngcontent-%COMP%]{margin-left:auto!important}}.dropdown-menu[_ngcontent-%COMP%] > .disabled[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{pointer-events:auto;cursor:default!important}"]],data:{}});function l(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,11,null,null,null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,10,"button",[["type","button"]],null,[[null,"click"]],(function(t,e,n){var r=!0,o=t.component;return"click"===e&&(r=!1!==a["ɵnov"](t,5).onClick()&&r),"click"===e&&(r=!1!==o.useClickAction(t.context.ngIf)&&r),r}),null,null)),a["ɵprd"](512,null,r["ɵNgClassImpl"],r["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](3,278528,null,0,r.NgClass,[r["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),a["ɵpod"](4,{disabled:0}),a["ɵdid"](5,16384,null,0,o.n,[o.m,o.a,[8,null],a.Renderer2,a.ElementRef],{preserveFragment:[0,"preserveFragment"],routerLink:[1,"routerLink"]},null),(t()(),a["ɵeld"](6,0,null,null,3,"i",[],null,null,null,null,null)),a["ɵprd"](512,null,r["ɵNgClassImpl"],r["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](8,278528,null,0,r.NgClass,[r["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),a["ɵpad"](9,1),(t()(),a["ɵeld"](10,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),a["ɵted"](11,null,["",""]))],(function(t,e){var n=e.component,r=a["ɵinlineInterpolate"](1,"btn btn-",n.btnColor,""),o=t(e,4,0,n.disableSelectionAction(e.context.ngIf));t(e,3,0,r,o),t(e,5,0,e.context.ngIf.preserveFragment?"":null,n.useRouterLink(e.context.ngIf));var i=t(e,9,0,e.context.ngIf.icon);t(e,8,0,i)}),(function(t,e){t(e,11,0,e.context.ngIf.name)}))}function d(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,null,null,null,null,null,null,null)),(t()(),a["ɵted"](1,null,[""," "]))],null,(function(t,e){t(e,1,0,e.component.dropDownOnly)}))}function u(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,0,"span",[["class","sr-only"]],null,null,null,null,null))],null,null)}function g(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,5,"button",[["dropdownToggle",""],["type","button"]],[[8,"className",0],[1,"aria-haspopup",0],[1,"disabled",0],[1,"aria-expanded",0]],[[null,"click"]],(function(t,e,n){var r=!0;return"click"===e&&(r=!1!==a["ɵnov"](t,1).onClick()&&r),r}),null,null)),a["ɵdid"](1,147456,null,0,i.g,[a.ChangeDetectorRef,i.c,a.ElementRef,a.Renderer2,i.f],null,null),(t()(),a["ɵand"](16777216,null,null,1,null,d)),a["ɵdid"](3,16384,null,0,r.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,u)),a["ɵdid"](5,16384,null,0,r.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,3,0,n.dropDownOnly),t(e,5,0,!n.dropDownOnly)}),(function(t,e){t(e,0,0,a["ɵinlineInterpolate"](1,"btn btn-",e.component.btnColor," dropdown-toggle dropdown-toggle-split"),!0,a["ɵnov"](e,1).isDisabled,a["ɵnov"](e,1).isOpen)}))}function f(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,12,null,null,null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,11,"li",[["data-toggle","tooltip"],["role","menuitem"]],[[8,"className",0],[8,"title",0]],null,null,null,null)),(t()(),a["ɵeld"](2,0,null,null,10,"a",[["class","dropdown-item"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var r=!0,o=t.component;return"click"===e&&(r=!1!==a["ɵnov"](t,6).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&r),"click"===e&&(r=!1!==o.useClickAction(t.context.$implicit)&&r),r}),null,null)),a["ɵprd"](512,null,r["ɵNgClassImpl"],r["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](4,278528,null,0,r.NgClass,[r["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),a["ɵpod"](5,{disabled:0}),a["ɵdid"](6,671744,null,0,o.p,[o.m,o.a,r.LocationStrategy],{preserveFragment:[0,"preserveFragment"],routerLink:[1,"routerLink"]},null),(t()(),a["ɵeld"](7,0,null,null,3,"i",[],null,null,null,null,null)),a["ɵprd"](512,null,r["ɵNgClassImpl"],r["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](9,278528,null,0,r.NgClass,[r["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),a["ɵpad"](10,1),(t()(),a["ɵeld"](11,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),a["ɵted"](12,null,["",""]))],(function(t,e){var n=e.component,a=t(e,5,0,n.disableSelectionAction(e.context.$implicit));t(e,4,0,"dropdown-item",a),t(e,6,0,e.context.$implicit.preserveFragment?"":null,n.useRouterLink(e.context.$implicit));var r=t(e,10,0,e.context.$implicit.icon);t(e,9,0,r)}),(function(t,e){var n=e.component;t(e,1,0,a["ɵinlineInterpolate"](1,"",n.toClassName(e.context.$implicit.name),""),a["ɵinlineInterpolate"](1,"",n.useDisableDesc(e.context.$implicit),"")),t(e,2,0,a["ɵnov"](e,6).target,a["ɵnov"](e,6).href),t(e,12,0,e.context.$implicit.name)}))}function p(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"ul",[["class","dropdown-menu"],["role","menu"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,f)),a["ɵdid"](2,278528,null,0,r.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){t(e,2,0,e.component.dropDownActions)}),null)}function m(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,16777216,null,null,8,"div",[["class","btn-group"],["dropdown",""]],[[2,"dropup",null],[2,"open",null],[2,"show",null]],null,null,null,null)),a["ɵprd"](512,null,i.f,i.f,[]),a["ɵdid"](2,212992,null,0,i.c,[a.ElementRef,a.Renderer2,a.ViewContainerRef,s.a,i.a,i.f],null,null),(t()(),a["ɵand"](16777216,null,null,1,null,l)),a["ɵdid"](4,16384,null,0,r.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,g)),a["ɵdid"](6,16384,null,0,r.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,p)),a["ɵdid"](8,16384,null,0,i.d,[i.f,a.ViewContainerRef,a.TemplateRef],null,null)],(function(t,e){var n=e.component;t(e,2,0),t(e,4,0,n.getCurrentButton()),t(e,6,0,n.showDropDownActions())}),(function(t,e){t(e,0,0,a["ɵnov"](e,2).dropup,a["ɵnov"](e,2).isOpen,a["ɵnov"](e,2).isOpen&&a["ɵnov"](e,2).isBs4)}))}},NXyV:function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var a=n("HDdC"),r=n("Cfvw"),o=n("EY2u");function i(t){return new a.a(e=>{let n;try{n=t()}catch(a){return void e.error(a)}return(n?Object(r.a)(n):Object(o.b)()).subscribe(e)})}},NaFW:function(t,e,n){var a=n("9d/t"),r=n("P4y1"),o=n("tiKp")("iterator");t.exports=function(t){if(null!=t)return t[o]||t["@@iterator"]||r[a(t)]}},Nehr:function(t,e,n){"use strict";t.exports={isString:function(t){return"string"==typeof t},isObject:function(t){return"object"==typeof t&&null!==t},isNull:function(t){return null===t},isNullOrUndefined:function(t){return null==t}}},Nh2a:function(t,e,n){var a=n("SKAX");t.exports=function(t,e){var n;return a(t,(function(t,a,r){return!(n=e(t,a,r))})),!!n}},Nia1:function(t,e,n){"use strict";function a(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),a(n("3/HP")),a(n("FLvf")),a(n("2V7f")),a(n("fktO")),a(n("QHrR")),a(n("i3PA"))},Npjl:function(t,e){t.exports=function(t,e){return null==t?void 0:t[e]}},Nv8m:function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var a=n("DH7j"),r=n("yCtX"),o=n("l7GE"),i=n("ZUHj");function s(...t){if(1===t.length){if(!Object(a.a)(t[0]))return t[0];t=t[0]}return Object(r.a)(t,void 0).lift(new c)}class c{call(t,e){return e.subscribe(new l(t))}}class l extends o.a{constructor(t){super(t),this.hasFirst=!1,this.observables=[],this.subscriptions=[]}_next(t){this.observables.push(t)}_complete(){const t=this.observables,e=t.length;if(0===e)this.destination.complete();else{for(let n=0;n<e&&!this.hasFirst;n++){let e=t[n],a=Object(i.a)(this,e,e,n);this.subscriptions&&this.subscriptions.push(a),this.add(a)}this.observables=null}}notifyNext(t,e,n,a,r){if(!this.hasFirst){this.hasFirst=!0;for(let t=0;t<this.subscriptions.length;t++)if(t!==n){let e=this.subscriptions[t];e.unsubscribe(),this.remove(e)}this.subscriptions=null}this.destination.next(e)}}},NykK:function(t,e,n){var a=n("nmnc"),r=n("AP2z"),o=n("KfNM"),i=a?a.toStringTag:void 0;t.exports=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":i&&i in Object(t)?r(t):o(t)}},O0oS:function(t,e,n){var a=n("Cwc5"),r=function(){try{var t=a(Object,"defineProperty");return t({},"",{}),t}catch(e){}}();t.exports=r},O741:function(t,e,n){var a=n("hh1v");t.exports=function(t){if(!a(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype");return t}},O7RO:function(t,e,n){var a=n("CMye"),r=n("7GkX");t.exports=function(t){for(var e=r(t),n=e.length;n--;){var o=e[n],i=t[o];e[n]=[o,i,a(i)]}return e}},O9Tv:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=n("YzqF");e.Mutex=a.default},OBhP:function(t,e,n){var a=n("fmRc"),r=n("gFfm"),o=n("MrPd"),i=n("WwFo"),s=n("Dw+G"),c=n("5Tg0"),l=n("Q1l4"),d=n("VOtZ"),u=n("EEGq"),g=n("qZTm"),f=n("G6z8"),p=n("QqLw"),m=n("yHx3"),h=n("wrZu"),b=n("+iFO"),_=n("Z0cm"),y=n("DSRE"),O=n("zEVN"),v=n("GoyQ"),C=n("1+5i"),P=n("7GkX"),M={};M["[object Arguments]"]=M["[object Array]"]=M["[object ArrayBuffer]"]=M["[object DataView]"]=M["[object Boolean]"]=M["[object Date]"]=M["[object Float32Array]"]=M["[object Float64Array]"]=M["[object Int8Array]"]=M["[object Int16Array]"]=M["[object Int32Array]"]=M["[object Map]"]=M["[object Number]"]=M["[object Object]"]=M["[object RegExp]"]=M["[object Set]"]=M["[object String]"]=M["[object Symbol]"]=M["[object Uint8Array]"]=M["[object Uint8ClampedArray]"]=M["[object Uint16Array]"]=M["[object Uint32Array]"]=!0,M["[object Error]"]=M["[object Function]"]=M["[object WeakMap]"]=!1,t.exports=function t(e,n,x,w,T,k){var S,I=1&n,N=2&n,R=4&n;if(x&&(S=T?x(e,w,T,k):x(e)),void 0!==S)return S;if(!v(e))return e;var A=_(e);if(A){if(S=m(e),!I)return l(e,S)}else{var E=p(e),D="[object Function]"==E||"[object GeneratorFunction]"==E;if(y(e))return c(e,I);if("[object Object]"==E||"[object Arguments]"==E||D&&!T){if(S=N||D?{}:b(e),!I)return N?u(e,s(S,e)):d(e,i(S,e))}else{if(!M[E])return T?e:{};S=h(e,E,I)}}k||(k=new a);var L=k.get(e);if(L)return L;k.set(e,S),C(e)?e.forEach((function(a){S.add(t(a,n,x,a,e,k))})):O(e)&&e.forEach((function(a,r){S.set(r,t(a,n,x,r,e,k))}));var q=R?N?f:g:N?keysIn:P,j=A?void 0:q(e);return r(j||e,(function(a,r){j&&(a=e[r=a]),o(S,r,t(a,n,x,r,e,k))})),S}},OIDT:function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var a=n("8Y7J"),r=n("f95s"),o=function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},i=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},s=function(){function t(){}return o([Object(a.Input)(),i("design:type",r.a)],t.prototype,"node",void 0),o([Object(a.Input)(),i("design:type",Number)],t.prototype,"index",void 0),o([Object(a.Input)(),i("design:type",Object)],t.prototype,"templates",void 0),o([Object(a.Component)({selector:"tree-node-wrapper",encapsulation:a.ViewEncapsulation.None,styles:[],template:'\n      <div *ngIf="!templates.treeNodeWrapperTemplate" class="node-wrapper" [style.padding-left]="node.getNodePadding()">\n          <tree-node-checkbox *ngIf="node.options.useCheckbox" [node]="node"></tree-node-checkbox>\n          <tree-node-expander [node]="node"></tree-node-expander>\n          <div class="node-content-wrapper"\n               [class.node-content-wrapper-active]="node.isActive"\n               [class.node-content-wrapper-focused]="node.isFocused"\n               (click)="node.mouseAction(\'click\', $event)"\n               (dblclick)="node.mouseAction(\'dblClick\', $event)"\n               (mouseover)="node.mouseAction(\'mouseOver\', $event)"\n               (mouseout)="node.mouseAction(\'mouseOut\', $event)"\n               (contextmenu)="node.mouseAction(\'contextMenu\', $event)"\n               (treeDrop)="node.onDrop($event)"\n               (treeDropDragOver)="node.mouseAction(\'dragOver\', $event)"\n               (treeDropDragLeave)="node.mouseAction(\'dragLeave\', $event)"\n               (treeDropDragEnter)="node.mouseAction(\'dragEnter\', $event)"\n               [treeAllowDrop]="node.allowDrop"\n               [allowDragoverStyling]="node.allowDragoverStyling()"\n               [treeDrag]="node"\n               [treeDragEnabled]="node.allowDrag()">\n\n              <tree-node-content [node]="node" [index]="index" [template]="templates.treeNodeTemplate">\n              </tree-node-content>\n          </div>\n      </div>\n      <ng-container\n              [ngTemplateOutlet]="templates.treeNodeWrapperTemplate"\n              [ngTemplateOutletContext]="{ $implicit: node, node: node, index: index, templates: templates }">\n      </ng-container>\n  '}),i("design:paramtypes",[])],t)}()},OIYi:function(t,e,n){!function(t){"use strict";t.defineLocale("en-ca",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"YYYY-MM-DD",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")}})}(n("wd/R"))},OLbh:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("s7LF");class r{constructor(t,e){this.modalRef=t,this.modalService=e,this.boundCancel=this.cancel.bind(this),this.canceled=!1,this.confirmationForm=new a.k({}),this.onHide=this.modalService.onHide.subscribe(t=>{this.onCancel&&(t||this.canceled)&&this.onCancel()})}ngOnInit(){if(this.bodyContext=this.bodyContext||{},this.bodyContext.$implicit=this.bodyData,!this.onSubmit)throw new Error("No submit action defined");if(!this.buttonText)throw new Error("No action name defined");if(!this.titleText)throw new Error("No title defined");if(!this.bodyTpl&&!this.description)throw new Error("No description defined")}ngOnDestroy(){this.onHide.unsubscribe()}cancel(){this.canceled=!0,this.modalRef.hide()}stopLoadingSpinner(){this.confirmationForm.setErrors({cdSubmitButton:!0})}}},OQgR:function(t,e,n){"use strict";n.d(e,"b",(function(){return s})),n.d(e,"a",(function(){return u}));var a=n("7o/Q"),r=n("quSY"),o=n("HDdC"),i=n("XNiG");function s(t,e,n,a){return r=>r.lift(new c(t,e,n,a))}class c{constructor(t,e,n,a){this.keySelector=t,this.elementSelector=e,this.durationSelector=n,this.subjectSelector=a}call(t,e){return e.subscribe(new l(t,this.keySelector,this.elementSelector,this.durationSelector,this.subjectSelector))}}class l extends a.a{constructor(t,e,n,a,r){super(t),this.keySelector=e,this.elementSelector=n,this.durationSelector=a,this.subjectSelector=r,this.groups=null,this.attemptedToUnsubscribe=!1,this.count=0}_next(t){let e;try{e=this.keySelector(t)}catch(n){return void this.error(n)}this._group(t,e)}_group(t,e){let n=this.groups;n||(n=this.groups=new Map);let a,r=n.get(e);if(this.elementSelector)try{a=this.elementSelector(t)}catch(o){this.error(o)}else a=t;if(!r){r=this.subjectSelector?this.subjectSelector():new i.a,n.set(e,r);const t=new u(e,r,this);if(this.destination.next(t),this.durationSelector){let t;try{t=this.durationSelector(new u(e,r))}catch(o){return void this.error(o)}this.add(t.subscribe(new d(e,r,this)))}}r.closed||r.next(a)}_error(t){const e=this.groups;e&&(e.forEach((e,n)=>{e.error(t)}),e.clear()),this.destination.error(t)}_complete(){const t=this.groups;t&&(t.forEach((t,e)=>{t.complete()}),t.clear()),this.destination.complete()}removeGroup(t){this.groups.delete(t)}unsubscribe(){this.closed||(this.attemptedToUnsubscribe=!0,0===this.count&&super.unsubscribe())}}class d extends a.a{constructor(t,e,n){super(e),this.key=t,this.group=e,this.parent=n}_next(t){this.complete()}_unsubscribe(){const{parent:t,key:e}=this;this.key=this.parent=null,t&&t.removeGroup(e)}}class u extends o.a{constructor(t,e,n){super(),this.key=t,this.groupSubject=e,this.refCountSubscription=n}_subscribe(t){const e=new r.a,{refCountSubscription:n,groupSubject:a}=this;return n&&!n.closed&&e.add(new g(n)),e.add(a.subscribe(t)),e}}class g extends r.a{constructor(t){super(),this.parent=t,t.count++}unsubscribe(){const t=this.parent;t.closed||this.closed||(super.unsubscribe(),t.count-=1,0===t.count&&t.attemptedToUnsubscribe&&t.unsubscribe())}}},Oaa7:function(t,e,n){!function(t){"use strict";t.defineLocale("en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})}(n("wd/R"))},Ob0Z:function(t,e,n){!function(t){"use strict";var e={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},n={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};function a(t,e,n,a){var r="";if(e)switch(n){case"s":r="काही सेकंद";break;case"ss":r="%d सेकंद";break;case"m":r="एक मिनिट";break;case"mm":r="%d मिनिटे";break;case"h":r="एक तास";break;case"hh":r="%d तास";break;case"d":r="एक दिवस";break;case"dd":r="%d दिवस";break;case"M":r="एक महिना";break;case"MM":r="%d महिने";break;case"y":r="एक वर्ष";break;case"yy":r="%d वर्षे"}else switch(n){case"s":r="काही सेकंदां";break;case"ss":r="%d सेकंदां";break;case"m":r="एका मिनिटा";break;case"mm":r="%d मिनिटां";break;case"h":r="एका तासा";break;case"hh":r="%d तासां";break;case"d":r="एका दिवसा";break;case"dd":r="%d दिवसां";break;case"M":r="एका महिन्या";break;case"MM":r="%d महिन्यां";break;case"y":r="एका वर्षा";break;case"yy":r="%d वर्षां"}return r.replace(/%d/i,t)}t.defineLocale("mr",{months:"जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर".split("_"),monthsShort:"जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.".split("_"),monthsParseExact:!0,weekdays:"रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm वाजता",LTS:"A h:mm:ss वाजता",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm वाजता",LLLL:"dddd, D MMMM YYYY, A h:mm वाजता"},calendar:{sameDay:"[आज] LT",nextDay:"[उद्या] LT",nextWeek:"dddd, LT",lastDay:"[काल] LT",lastWeek:"[मागील] dddd, LT",sameElse:"L"},relativeTime:{future:"%sमध्ये",past:"%sपूर्वी",s:a,ss:a,m:a,mm:a,h:a,hh:a,d:a,dd:a,M:a,MM:a,y:a,yy:a},preparse:function(t){return t.replace(/[१२३४५६७८९०]/g,(function(t){return n[t]}))},postformat:function(t){return t.replace(/\d/g,(function(t){return e[t]}))},meridiemParse:/रात्री|सकाळी|दुपारी|सायंकाळी/,meridiemHour:function(t,e){return 12===t&&(t=0),"रात्री"===e?t<4?t:t+12:"सकाळी"===e?t:"दुपारी"===e?t>=10?t:t+12:"सायंकाळी"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"रात्री":t<10?"सकाळी":t<17?"दुपारी":t<20?"सायंकाळी":"रात्री"},week:{dow:0,doy:6}})}(n("wd/R"))},"Of+w":function(t,e,n){var a=n("Cwc5")(n("Kz5y"),"WeakMap");t.exports=a},OjkT:function(t,e,n){!function(t){"use strict";var e={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},n={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};t.defineLocale("ne",{months:"जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर".split("_"),monthsShort:"जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.".split("_"),monthsParseExact:!0,weekdays:"आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार".split("_"),weekdaysShort:"आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.".split("_"),weekdaysMin:"आ._सो._मं._बु._बि._शु._श.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"Aको h:mm बजे",LTS:"Aको h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, Aको h:mm बजे",LLLL:"dddd, D MMMM YYYY, Aको h:mm बजे"},preparse:function(t){return t.replace(/[१२३४५६७८९०]/g,(function(t){return n[t]}))},postformat:function(t){return t.replace(/\d/g,(function(t){return e[t]}))},meridiemParse:/राति|बिहान|दिउँसो|साँझ/,meridiemHour:function(t,e){return 12===t&&(t=0),"राति"===e?t<4?t:t+12:"बिहान"===e?t:"दिउँसो"===e?t>=10?t:t+12:"साँझ"===e?t+12:void 0},meridiem:function(t,e,n){return t<3?"राति":t<12?"बिहान":t<16?"दिउँसो":t<20?"साँझ":"राति"},calendar:{sameDay:"[आज] LT",nextDay:"[भोलि] LT",nextWeek:"[आउँदो] dddd[,] LT",lastDay:"[हिजो] LT",lastWeek:"[गएको] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%sमा",past:"%s अगाडि",s:"केही क्षण",ss:"%d सेकेण्ड",m:"एक मिनेट",mm:"%d मिनेट",h:"एक घण्टा",hh:"%d घण्टा",d:"एक दिन",dd:"%d दिन",M:"एक महिना",MM:"%d महिना",y:"एक बर्ष",yy:"%d बर्ष"},week:{dow:0,doy:6}})}(n("wd/R"))},Oxv6:function(t,e,n){!function(t){"use strict";var e={0:"-ум",1:"-ум",2:"-юм",3:"-юм",4:"-ум",5:"-ум",6:"-ум",7:"-ум",8:"-ум",9:"-ум",10:"-ум",12:"-ум",13:"-ум",20:"-ум",30:"-юм",40:"-ум",50:"-ум",60:"-ум",70:"-ум",80:"-ум",90:"-ум",100:"-ум"};t.defineLocale("tg",{months:"январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр".split("_"),monthsShort:"янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек".split("_"),weekdays:"якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе".split("_"),weekdaysShort:"яшб_дшб_сшб_чшб_пшб_ҷум_шнб".split("_"),weekdaysMin:"яш_дш_сш_чш_пш_ҷм_шб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Имрӯз соати] LT",nextDay:"[Пагоҳ соати] LT",lastDay:"[Дирӯз соати] LT",nextWeek:"dddd[и] [ҳафтаи оянда соати] LT",lastWeek:"dddd[и] [ҳафтаи гузашта соати] LT",sameElse:"L"},relativeTime:{future:"баъди %s",past:"%s пеш",s:"якчанд сония",m:"як дақиқа",mm:"%d дақиқа",h:"як соат",hh:"%d соат",d:"як рӯз",dd:"%d рӯз",M:"як моҳ",MM:"%d моҳ",y:"як сол",yy:"%d сол"},meridiemParse:/шаб|субҳ|рӯз|бегоҳ/,meridiemHour:function(t,e){return 12===t&&(t=0),"шаб"===e?t<4?t:t+12:"субҳ"===e?t:"рӯз"===e?t>=11?t:t+12:"бегоҳ"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"шаб":t<11?"субҳ":t<16?"рӯз":t<19?"бегоҳ":"шаб"},dayOfMonthOrdinalParse:/\d{1,2}-(ум|юм)/,ordinal:function(t){return t+(e[t]||e[t%10]||e[t>=100?100:null])},week:{dow:1,doy:7}})}(n("wd/R"))},"P/G1":function(t,e,n){var a=n("JmpY"),r=n("7GkX");t.exports=function(t){return null==t?[]:a(t,r(t))}},P4Tr:function(t,e,n){var a=n("heNW"),r=n("EA7m"),o=n("4DFU"),i=n("JBE3"),s=r((function(t){return t.push(void 0,o),a(i,void 0,t)}));t.exports=s},P4y1:function(t,e){t.exports={}},P8lu:function(t,e,n){"use strict";n.d(e,"a",(function(){return g}));var a=n("mrSG"),r=n("IheW"),o=n("LvDl"),i=n("cp0P"),s=n("LRne"),c=n("5+tZ"),l=n("xTzq"),d=n("8Y7J"),u=n("pL04");let g=(()=>{let t=class{constructor(t){this.http=t,this.url="api/rgw/user"}list(){return this.enumerate().pipe(Object(c.a)(t=>t.length>0?Object(i.a)(t.map(t=>this.get(t))):Object(s.a)([])))}enumerate(){return this.http.get(this.url)}enumerateEmail(){return this.http.get(`${this.url}/get_emails`)}get(t){return this.http.get(`${this.url}/${t}`)}getQuota(t){return this.http.get(`${this.url}/${t}/quota`)}create(t){let e=new r.h;return o.keys(t).forEach(n=>{e=e.append(n,t[n])}),this.http.post(this.url,null,{params:e})}update(t,e){let n=new r.h;return o.keys(e).forEach(t=>{n=n.append(t,e[t])}),this.http.put(`${this.url}/${t}`,null,{params:n})}updateQuota(t,e){let n=new r.h;return o.keys(e).forEach(t=>{n=n.append(t,e[t])}),this.http.put(`${this.url}/${t}/quota`,null,{params:n})}delete(t){return this.http.delete(`${this.url}/${t}`)}createSubuser(t,e){let n=new r.h;return o.keys(e).forEach(t=>{n=n.append(t,e[t])}),this.http.post(`${this.url}/${t}/subuser`,null,{params:n})}deleteSubuser(t,e){return this.http.delete(`${this.url}/${t}/subuser/${e}`)}addCapability(t,e,n){let a=new r.h;return a=a.append("type",e),a=a.append("perm",n),this.http.post(`${this.url}/${t}/capability`,null,{params:a})}deleteCapability(t,e,n){let a=new r.h;return a=a.append("type",e),a=a.append("perm",n),this.http.delete(`${this.url}/${t}/capability`,{params:a})}addS3Key(t,e){let n=new r.h;return n=n.append("key_type","s3"),o.keys(e).forEach(t=>{n=n.append(t,e[t])}),this.http.post(`${this.url}/${t}/key`,null,{params:n})}deleteS3Key(t,e){let n=new r.h;return n=n.append("key_type","s3"),n=n.append("access_key",e),this.http.delete(`${this.url}/${t}/key`,{params:n})}exists(t){return this.enumerate().pipe(Object(c.a)(e=>{const n=o.indexOf(e,t);return Object(s.a)(-1!==n)}))}emailExists(t){return t=decodeURIComponent(t),this.enumerateEmail().pipe(Object(c.a)(e=>{const n=o.indexOf(e,t);return Object(s.a)(-1!==n)}))}};return t.ngInjectableDef=d["ɵɵdefineInjectable"]({factory:function(){return new t(d["ɵɵinject"](r.c))},token:t,providedIn:u.a}),t=a.__decorate([l.a,a.__metadata("design:paramtypes",[r.c])],t),t})()},PA2r:function(t,e,n){!function(t){"use strict";var e="leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec".split("_"),n="led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro".split("_"),a=[/^led/i,/^úno/i,/^bře/i,/^dub/i,/^kvě/i,/^(čvn|červen$|června)/i,/^(čvc|červenec|července)/i,/^srp/i,/^zář/i,/^říj/i,/^lis/i,/^pro/i],r=/^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i;function o(t){return t>1&&t<5&&1!=~~(t/10)}function i(t,e,n,a){var r=t+" ";switch(n){case"s":return e||a?"pár sekund":"pár sekundami";case"ss":return e||a?r+(o(t)?"sekundy":"sekund"):r+"sekundami";case"m":return e?"minuta":a?"minutu":"minutou";case"mm":return e||a?r+(o(t)?"minuty":"minut"):r+"minutami";case"h":return e?"hodina":a?"hodinu":"hodinou";case"hh":return e||a?r+(o(t)?"hodiny":"hodin"):r+"hodinami";case"d":return e||a?"den":"dnem";case"dd":return e||a?r+(o(t)?"dny":"dní"):r+"dny";case"M":return e||a?"měsíc":"měsícem";case"MM":return e||a?r+(o(t)?"měsíce":"měsíců"):r+"měsíci";case"y":return e||a?"rok":"rokem";case"yy":return e||a?r+(o(t)?"roky":"let"):r+"lety"}}t.defineLocale("cs",{months:e,monthsShort:n,monthsRegex:r,monthsShortRegex:r,monthsStrictRegex:/^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i,monthsShortStrictRegex:/^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota".split("_"),weekdaysShort:"ne_po_út_st_čt_pá_so".split("_"),weekdaysMin:"ne_po_út_st_čt_pá_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm",l:"D. M. YYYY"},calendar:{sameDay:"[dnes v] LT",nextDay:"[zítra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v neděli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve středu v] LT";case 4:return"[ve čtvrtek v] LT";case 5:return"[v pátek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[včera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou neděli v] LT";case 1:case 2:return"[minulé] dddd [v] LT";case 3:return"[minulou středu v] LT";case 4:case 5:return"[minulý] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"před %s",s:i,ss:i,m:i,mm:i,h:i,hh:i,d:i,dd:i,M:i,MM:i,y:i,yy:i},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("wd/R"))},PCNd:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{}},"PEr+":function(t,e,n){"use strict";var a=n("8Y7J"),r=n("SVse"),o=n("EEJc"),i=n("ajRT"),s=n("s7LF"),c=n("+gVj"),l=n("mXUL"),d=n("IZUe"),u=n("gp3X"),g=n("sb0X"),f=n("KVJa"),p=n("Z21x"),m=n("sne2"),h=n("0+/T"),b=n("LqlI");n.d(e,"a",(function(){return I}));var _=a["ɵcrt"]({encapsulation:0,styles:[[".modal-body[_ngcontent-%COMP%]   .question[_ngcontent-%COMP%]{margin-top:1em}.modal-body[_ngcontent-%COMP%]   label[_ngcontent-%COMP%]{font-weight:700}.modal-body[_ngcontent-%COMP%]   .question[_ngcontent-%COMP%]   .form-check[_ngcontent-%COMP%]{padding-top:7px}"]],data:{}});function y(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,0,null,null,null,null,null,null,null))],null,null)}function O(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,0,null,null,null,null,null,null,null))],null,null)}function v(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,5,"p",[],null,null,null,null,null)),(t()(),a["ɵted"](1,null,["Are you sure that you want to "," "])),a["ɵppd"](2,1),(t()(),a["ɵeld"](3,0,null,null,1,"strong",[],null,null,null,null,null)),(t()(),a["ɵted"](4,null,["",""])),(t()(),a["ɵted"](-1,null,["?"]))],null,(function(t,e){var n=e.component,r=a["ɵunv"](e,1,0,t(e,2,0,a["ɵnov"](e.parent.parent,0),n.actionDescription));t(e,1,0,r),t(e,4,0,n.itemNames[0])}))}function C(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"li",[],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,1,"strong",[],null,null,null,null,null)),(t()(),a["ɵted"](2,null,["",""]))],null,(function(t,e){t(e,2,0,e.context.$implicit)}))}function P(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"p",[],null,null,null,null,null)),(t()(),a["ɵted"](1,null,["Are you sure that you want to "," the selected items?"])),a["ɵppd"](2,1),(t()(),a["ɵeld"](3,0,null,null,2,"ul",[],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,C)),a["ɵdid"](5,278528,null,0,r.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){t(e,5,0,e.component.itemNames)}),(function(t,e){var n=e.component,r=a["ɵunv"](e,1,0,t(e,2,0,a["ɵnov"](e.parent.parent,0),n.actionDescription));t(e,1,0,r)}))}function M(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"span",[],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,v)),a["ɵdid"](2,16384,null,0,r.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"],ngIfElse:[1,"ngIfElse"]},null),(t()(),a["ɵand"](0,[["manyNames",2]],null,0,null,P))],(function(t,e){t(e,2,0,1===e.component.itemNames.length,a["ɵnov"](e,3))}),null)}function x(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"p",[],null,null,null,null,null)),(t()(),a["ɵted"](1,null,["Are you sure that you want to "," the selected ","?"])),a["ɵppd"](2,1)],null,(function(t,e){var n=e.component,r=a["ɵunv"](e,1,0,t(e,2,0,a["ɵnov"](e.parent,0),n.actionDescription));t(e,1,0,r,n.itemDescription)}))}function w(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,0,null,null,null,null,null,null,null))],null,null)}function T(t){return a["ɵvid"](0,[(t()(),a["ɵted"](0,null,[" "," ","\n"])),a["ɵppd"](1,1)],null,(function(t,e){var n=e.component,r=a["ɵunv"](e,0,0,t(e,1,0,a["ɵnov"](e.parent,1),n.actionDescription));t(e,0,0,r,n.itemDescription)}))}function k(t){return a["ɵvid"](0,[a["ɵpid"](0,r.LowerCasePipe,[]),a["ɵpid"](0,r.TitleCasePipe,[]),a["ɵqud"](402653184,1,{submitButton:0}),(t()(),a["ɵeld"](3,0,null,null,40,"cd-modal",[],null,null,null,o.c,o.b)),a["ɵdid"](4,49152,[["modal",4]],0,i.a,[],{modalRef:[0,"modalRef"]},null),(t()(),a["ɵeld"](5,0,null,0,2,null,null,null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,y)),a["ɵdid"](7,540672,null,0,r.NgTemplateOutlet,[a.ViewContainerRef],{ngTemplateOutlet:[0,"ngTemplateOutlet"]},null),(t()(),a["ɵeld"](8,0,null,1,35,null,null,null,null,null,null,null)),(t()(),a["ɵeld"](9,0,null,null,34,"form",[["name","deletionForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(t,e,n){var r=!0;return"submit"===e&&(r=!1!==a["ɵnov"](t,11).onSubmit(n)&&r),"reset"===e&&(r=!1!==a["ɵnov"](t,11).onReset()&&r),"submit"===e&&(r=!1!==a["ɵnov"](t,14).onSubmit()&&r),r}),null,null)),a["ɵdid"](10,16384,null,0,s.G,[],null,null),a["ɵdid"](11,540672,[["formDir",4]],0,s.l,[[8,null],[8,null]],{form:[0,"form"]},null),a["ɵprd"](2048,null,s.d,null,[s.l]),a["ɵdid"](13,16384,null,0,s.s,[[4,s.d]],null,null),a["ɵdid"](14,16384,null,0,c.d,[],{formGroup:[0,"formGroup"]},null),(t()(),a["ɵeld"](15,0,null,null,21,"div",[["class","modal-body"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,O)),a["ɵdid"](17,540672,null,0,r.NgTemplateOutlet,[a.ViewContainerRef],{ngTemplateOutletContext:[0,"ngTemplateOutletContext"],ngTemplateOutlet:[1,"ngTemplateOutlet"]},null),(t()(),a["ɵeld"](18,0,null,null,18,"div",[["class","question"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,M)),a["ɵdid"](20,16384,null,0,r.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"],ngIfElse:[1,"ngIfElse"]},null),(t()(),a["ɵand"](0,[["noNames",2]],null,0,null,x)),(t()(),a["ɵeld"](22,0,null,null,14,"div",[["class","form-group"]],[[2,"has-error",null],[2,"has-success",null]],null,null,l.b,l.a)),a["ɵdid"](23,1163264,null,2,c.c,[a.ElementRef,c.g],null,null),a["ɵqud"](603979776,2,{FormControlNames:1}),a["ɵqud"](603979776,3,{messagesBlock:0}),(t()(),a["ɵeld"](26,0,null,0,10,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(t()(),a["ɵeld"](27,0,null,null,7,"input",[["autofocus",""],["class","custom-control-input"],["formControlName","confirmation"],["id","confirmation"],["name","confirmation"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(t,e,n){var r=!0;return"change"===e&&(r=!1!==a["ɵnov"](t,28).onChange(n.target.checked)&&r),"blur"===e&&(r=!1!==a["ɵnov"](t,28).onTouched()&&r),r}),null,null)),a["ɵdid"](28,16384,null,0,s.c,[a.Renderer2,a.ElementRef],null,null),a["ɵprd"](1024,null,s.p,(function(t){return[t]}),[s.c]),a["ɵdid"](30,671744,[[2,4]],0,s.j,[[3,s.d],[8,null],[8,null],[6,s.p],[2,s.E]],{name:[0,"name"]},null),a["ɵprd"](2048,null,s.q,null,[s.j]),a["ɵdid"](32,16384,null,0,s.r,[[4,s.q]],null,null),a["ɵdid"](33,4210688,null,0,d.a,[a.ElementRef],{autofocus:[0,"autofocus"]},null),a["ɵdid"](34,16384,null,0,c.h,[[3,s.d],c.a],{formControlName:[0,"formControlName"]},null),(t()(),a["ɵeld"](35,0,null,null,1,"label",[["class","custom-control-label"],["for","confirmation"]],null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["Yes, I am sure."])),(t()(),a["ɵeld"](37,0,null,null,6,"div",[["class","modal-footer"]],null,null,null,null,null)),(t()(),a["ɵeld"](38,0,null,null,3,"cd-submit-button",[],null,[[null,"submitAction"]],(function(t,e,n){var a=!0;return"submitAction"===e&&(a=!1!==t.component.callSubmitAction()&&a),a}),u.b,u.a)),a["ɵdid"](39,114688,[[1,4],["submitButton",4]],0,g.a,[a.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(t()(),a["ɵand"](16777216,null,0,1,null,w)),a["ɵdid"](41,540672,null,0,r.NgTemplateOutlet,[a.ViewContainerRef],{ngTemplateOutlet:[0,"ngTemplateOutlet"]},null),(t()(),a["ɵeld"](42,0,null,null,1,"cd-back-button",[["name","Cancel"]],null,null,null,f.b,f.a)),a["ɵdid"](43,49152,null,0,p.a,[r.Location,m.b],{name:[0,"name"],back:[1,"back"]},null),(t()(),a["ɵand"](0,[["deletionHeading",2]],null,0,null,T))],(function(t,e){var n=e.component;t(e,4,0,n.modalRef),t(e,7,0,a["ɵnov"](e,44)),t(e,11,0,n.deletionForm),t(e,14,0,n.deletionForm),t(e,17,0,n.bodyContext,n.bodyTemplate),t(e,20,0,n.itemNames,a["ɵnov"](e,21)),t(e,23,0),t(e,30,0,"confirmation"),t(e,33,0,""),t(e,34,0,"confirmation"),t(e,39,0,n.deletionForm),t(e,41,0,a["ɵnov"](e,44)),t(e,43,0,"Cancel",n.modalRef.hide)}),(function(t,e){t(e,9,0,a["ɵnov"](e,13).ngClassUntouched,a["ɵnov"](e,13).ngClassTouched,a["ɵnov"](e,13).ngClassPristine,a["ɵnov"](e,13).ngClassDirty,a["ɵnov"](e,13).ngClassValid,a["ɵnov"](e,13).ngClassInvalid,a["ɵnov"](e,13).ngClassPending),t(e,22,0,a["ɵnov"](e,23).hasErrors,a["ɵnov"](e,23).hasSuccess),t(e,27,0,a["ɵnov"](e,32).ngClassUntouched,a["ɵnov"](e,32).ngClassTouched,a["ɵnov"](e,32).ngClassPristine,a["ɵnov"](e,32).ngClassDirty,a["ɵnov"](e,32).ngClassValid,a["ɵnov"](e,32).ngClassInvalid,a["ɵnov"](e,32).ngClassPending,a["ɵnov"](e,34).validClass,a["ɵnov"](e,34).invalidClass)}))}function S(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"cd-deletion-modal",[],null,null,null,k,_)),a["ɵdid"](1,114688,null,0,h.a,[b.a],null,null)],(function(t,e){t(e,1,0)}),null)}var I=a["ɵccf"]("cd-deletion-modal",h.a,S,{},{},[])},PKPk:function(t,e,n){"use strict";var a=n("ZUd8").charAt,r=n("afO8"),o=n("fdAy"),i=r.set,s=r.getterFor("String Iterator");o(String,"String",(function(t){i(this,{type:"String Iterator",string:String(t),index:0})}),(function(){var t,e=s(this),n=e.string,r=e.index;return r>=n.length?{value:void 0,done:!0}:(t=a(n,r),e.index+=t.length,{value:t,done:!1})}))},PNOi:function(t,e,n){var a=n("mrSG").__decorate;Object.defineProperty(e,"__esModule",{value:!0});var r=n("8Y7J");e.ProgressBarComponent=function(){return a([r.Component({selector:"datatable-progress",template:'\n    <div class="progress-linear" role="progressbar">\n      <div class="container">\n        <div class="bar"></div>\n      </div>\n    </div>\n  ',changeDetection:r.ChangeDetectionStrategy.OnPush})],(function(){}))}()},PeUW:function(t,e,n){!function(t){"use strict";var e={1:"௧",2:"௨",3:"௩",4:"௪",5:"௫",6:"௬",7:"௭",8:"௮",9:"௯",0:"௦"},n={"௧":"1","௨":"2","௩":"3","௪":"4","௫":"5","௬":"6","௭":"7","௮":"8","௯":"9","௦":"0"};t.defineLocale("ta",{months:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),monthsShort:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),weekdays:"ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை".split("_"),weekdaysShort:"ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி".split("_"),weekdaysMin:"ஞா_தி_செ_பு_வி_வெ_ச".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, HH:mm",LLLL:"dddd, D MMMM YYYY, HH:mm"},calendar:{sameDay:"[இன்று] LT",nextDay:"[நாளை] LT",nextWeek:"dddd, LT",lastDay:"[நேற்று] LT",lastWeek:"[கடந்த வாரம்] dddd, LT",sameElse:"L"},relativeTime:{future:"%s இல்",past:"%s முன்",s:"ஒரு சில விநாடிகள்",ss:"%d விநாடிகள்",m:"ஒரு நிமிடம்",mm:"%d நிமிடங்கள்",h:"ஒரு மணி நேரம்",hh:"%d மணி நேரம்",d:"ஒரு நாள்",dd:"%d நாட்கள்",M:"ஒரு மாதம்",MM:"%d மாதங்கள்",y:"ஒரு வருடம்",yy:"%d ஆண்டுகள்"},dayOfMonthOrdinalParse:/\d{1,2}வது/,ordinal:function(t){return t+"வது"},preparse:function(t){return t.replace(/[௧௨௩௪௫௬௭௮௯௦]/g,(function(t){return n[t]}))},postformat:function(t){return t.replace(/\d/g,(function(t){return e[t]}))},meridiemParse:/யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,meridiem:function(t,e,n){return t<2?" யாமம்":t<6?" வைகறை":t<10?" காலை":t<14?" நண்பகல்":t<18?" எற்பாடு":t<22?" மாலை":" யாமம்"},meridiemHour:function(t,e){return 12===t&&(t=0),"யாமம்"===e?t<2?t:t+12:"வைகறை"===e||"காலை"===e?t:"நண்பகல்"===e&&t>=10?t:t+12},week:{dow:0,doy:6}})}(n("wd/R"))},PpIw:function(t,e,n){!function(t){"use strict";var e={1:"೧",2:"೨",3:"೩",4:"೪",5:"೫",6:"೬",7:"೭",8:"೮",9:"೯",0:"೦"},n={"೧":"1","೨":"2","೩":"3","೪":"4","೫":"5","೬":"6","೭":"7","೮":"8","೯":"9","೦":"0"};t.defineLocale("kn",{months:"ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್".split("_"),monthsShort:"ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ".split("_"),monthsParseExact:!0,weekdays:"ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ".split("_"),weekdaysShort:"ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ".split("_"),weekdaysMin:"ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[ಇಂದು] LT",nextDay:"[ನಾಳೆ] LT",nextWeek:"dddd, LT",lastDay:"[ನಿನ್ನೆ] LT",lastWeek:"[ಕೊನೆಯ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ನಂತರ",past:"%s ಹಿಂದೆ",s:"ಕೆಲವು ಕ್ಷಣಗಳು",ss:"%d ಸೆಕೆಂಡುಗಳು",m:"ಒಂದು ನಿಮಿಷ",mm:"%d ನಿಮಿಷ",h:"ಒಂದು ಗಂಟೆ",hh:"%d ಗಂಟೆ",d:"ಒಂದು ದಿನ",dd:"%d ದಿನ",M:"ಒಂದು ತಿಂಗಳು",MM:"%d ತಿಂಗಳು",y:"ಒಂದು ವರ್ಷ",yy:"%d ವರ್ಷ"},preparse:function(t){return t.replace(/[೧೨೩೪೫೬೭೮೯೦]/g,(function(t){return n[t]}))},postformat:function(t){return t.replace(/\d/g,(function(t){return e[t]}))},meridiemParse:/ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,meridiemHour:function(t,e){return 12===t&&(t=0),"ರಾತ್ರಿ"===e?t<4?t:t+12:"ಬೆಳಿಗ್ಗೆ"===e?t:"ಮಧ್ಯಾಹ್ನ"===e?t>=10?t:t+12:"ಸಂಜೆ"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"ರಾತ್ರಿ":t<10?"ಬೆಳಿಗ್ಗೆ":t<17?"ಮಧ್ಯಾಹ್ನ":t<20?"ಸಂಜೆ":"ರಾತ್ರಿ"},dayOfMonthOrdinalParse:/\d{1,2}(ನೇ)/,ordinal:function(t){return t+"ನೇ"},week:{dow:0,doy:6}})}(n("wd/R"))},PqYM:function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var a=n("HDdC"),r=n("D0XW"),o=n("Y7HM"),i=n("z+Ro");function s(t=0,e,n){let s=-1;return Object(o.a)(e)?s=Number(e)<1?1:Number(e):Object(i.a)(e)&&(n=e),Object(i.a)(n)||(n=r.a),new a.a(e=>{const a=Object(o.a)(t)?t:+t-n.now();return n.schedule(c,a,{index:0,period:s,subscriber:e})})}function c(t){const{index:e,period:n,subscriber:a}=t;if(a.next(e),!a.closed){if(-1===n)return a.complete();t.index=e+1,this.schedule(t,n)}}},Puqe:function(t,e,n){var a=n("eUgh"),r=n("OBhP"),o=n("S7Xf"),i=n("4uTw"),s=n("juv8"),c=n("4Oe1"),l=n("xs/l"),d=n("G6z8"),u=l((function(t,e){var n={};if(null==t)return n;var l=!1;e=a(e,(function(e){return e=i(e,t),l||(l=e.length>1),e})),s(t,d(t),n),l&&(n=r(n,7,c));for(var u=e.length;u--;)o(n,e[u]);return n}));t.exports=u},Q1l4:function(t,e){t.exports=function(t,e){var n=-1,a=t.length;for(e||(e=Array(a));++n<a;)e[n]=t[n];return e}},QC43:function(t,e,n){"use strict";var a=n("8Y7J"),r=n("MdoF"),o=n("CNMR"),i=n("SVse");n("XFyV"),n.d(e,"a",(function(){return s})),n.d(e,"b",(function(){return c}));var s=a["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function c(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,7,"alert",[["type","info"]],null,null,null,r.c,r.b)),a["ɵdid"](1,114688,null,0,o.a,[o.b,a.ChangeDetectorRef],{type:[0,"type"]},null),(t()(),a["ɵeld"](2,0,null,0,4,"strong",[],null,null,null,null,null)),(t()(),a["ɵeld"](3,0,null,null,3,"i",[["aria-hidden","true"]],null,null,null,null,null)),a["ɵprd"](512,null,i["ɵNgClassImpl"],i["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](5,278528,null,0,i.NgClass,[i["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),a["ɵpad"](6,2),a["ɵncd"](0,0)],(function(t,e){var n=e.component;t(e,1,0,"info");var a=t(e,6,0,n.icons.spinner,n.icons.spin);t(e,5,0,a)}),null)}},QFaf:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("s7LF");class r extends a.k{constructor(t,e,n){super(t,e,n),this.controls=t}get(t){const e=this._get(t);if(!e)throw new Error(`Control '${t}' could not be found!`);return e}_get(t){return super.get(t)||Object.values(this.controls).filter(t=>t.get).map(e=>e instanceof r?e._get(t):e.get(t)).find(t=>Boolean(t))}getValue(t){return this.get(t).value}silentSet(t,e){this.get(t).setValue(e,{emitEvent:!1})}showError(t,e,n){const a=this.get(t);return(e.submitted||a.dirty)&&(n?a.hasError(n):a.invalid)}}},QHrR:function(t,e,n){"use strict";function a(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),a(n("Y0Co")),a(n("Lwhh")),a(n("8iEZ")),a(n("L5sC"))},QIyF:function(t,e,n){var a=n("Kz5y");t.exports=function(){return a.Date.now()}},QTAa:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("t/zF");class r extends a.a{}},QWBl:function(t,e,n){"use strict";var a=n("I+eb"),r=n("F8JR");a({target:"Array",proto:!0,forced:[].forEach!=r},{forEach:r})},QcOe:function(t,e,n){var a=n("GoyQ"),r=n("6sVZ"),o=n("7Ix3"),i=Object.prototype.hasOwnProperty;t.exports=function(t){if(!a(t))return o(t);var e=r(t),n=[];for(var s in t)("constructor"!=s||!e&&i.call(t,s))&&n.push(s);return n}},Qj4J:function(t,e,n){!function(t){"use strict";t.defineLocale("ar-kw",{months:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdays:"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:0,doy:12}})}(n("wd/R"))},QkVE:function(t,e,n){var a=n("EpBk");t.exports=function(t,e){var n=t.__data__;return a(e)?n["string"==typeof e?"string":"hash"]:n.map}},Qo9l:function(t,e,n){var a=n("2oRo");t.exports=a},QoRX:function(t,e){t.exports=function(t,e){for(var n=-1,a=null==t?0:t.length;++n<a;)if(e(t[n],n,t))return!0;return!1}},QqLw:function(t,e,n){var a=n("tadb"),r=n("ebwN"),o=n("HOxn"),i=n("yGk4"),s=n("Of+w"),c=n("NykK"),l=n("3Fdi"),d=l(a),u=l(r),g=l(o),f=l(i),p=l(s),m=c;(a&&"[object DataView]"!=m(new a(new ArrayBuffer(1)))||r&&"[object Map]"!=m(new r)||o&&"[object Promise]"!=m(o.resolve())||i&&"[object Set]"!=m(new i)||s&&"[object WeakMap]"!=m(new s))&&(m=function(t){var e=c(t),n="[object Object]"==e?t.constructor:void 0,a=n?l(n):"";if(a)switch(a){case d:return"[object DataView]";case u:return"[object Map]";case g:return"[object Promise]";case f:return"[object Set]";case p:return"[object WeakMap]"}return e}),t.exports=m},"R/W3":function(t,e,n){var a=n("KwMD"),r=n("2ajD"),o=n("CZoQ");t.exports=function(t,e,n){return e==e?o(t,e,n):a(t,r,n)}},RAwQ:function(t,e,n){!function(t){"use strict";function e(t,e,n,a){var r={m:["eng Minutt","enger Minutt"],h:["eng Stonn","enger Stonn"],d:["een Dag","engem Dag"],M:["ee Mount","engem Mount"],y:["ee Joer","engem Joer"]};return e?r[n][0]:r[n][1]}function n(t){if(t=parseInt(t,10),isNaN(t))return!1;if(t<0)return!0;if(t<10)return 4<=t&&t<=7;if(t<100){var e=t%10;return n(0===e?t/10:e)}if(t<1e4){for(;t>=10;)t/=10;return n(t)}return n(t/=1e3)}t.defineLocale("lb",{months:"Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg".split("_"),weekdaysShort:"So._Mé._Dë._Më._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mé_Dë_Më_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm [Auer]",LTS:"H:mm:ss [Auer]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm [Auer]",LLLL:"dddd, D. MMMM YYYY H:mm [Auer]"},calendar:{sameDay:"[Haut um] LT",sameElse:"L",nextDay:"[Muer um] LT",nextWeek:"dddd [um] LT",lastDay:"[Gëschter um] LT",lastWeek:function(){switch(this.day()){case 2:case 4:return"[Leschten] dddd [um] LT";default:return"[Leschte] dddd [um] LT"}}},relativeTime:{future:function(t){return n(t.substr(0,t.indexOf(" ")))?"a "+t:"an "+t},past:function(t){return n(t.substr(0,t.indexOf(" ")))?"viru "+t:"virun "+t},s:"e puer Sekonnen",ss:"%d Sekonnen",m:e,mm:"%d Minutten",h:e,hh:"%d Stonnen",d:e,dd:"%d Deeg",M:e,MM:"%d Méint",y:e,yy:"%d Joer"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("wd/R"))},RBan:function(t,e){t.exports=function(t){var e=null==t?0:t.length;return e?t[e-1]:void 0}},RK3t:function(t,e,n){var a=n("0Dky"),r=n("xrYK"),o="".split;t.exports=a((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==r(t)?o.call(t,""):Object(t)}:Object},RNIs:function(t,e,n){var a=n("tiKp"),r=n("fHMY"),o=n("m/L8"),i=a("unscopables"),s=Array.prototype;null==s[i]&&o.f(s,i,{configurable:!0,value:r(null)}),t.exports=function(t){s[i][t]=!0}},Rf2I:function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var a=n("s7LF"),r=n("LvDl");n("2EZI"),n("Fgil"),n("aXbf");class o{constructor(t,e,n,a,r){this.bsModalRef=t,this.formBuilder=e,this.formatter=n,this.dimlessBinaryPipe=a,this.i18n=r}ngOnInit(){this.createForm()}createForm(){const t={};this.fields.forEach(e=>{t[e.name]=this.createFormControl(e)}),this.formGroup=this.formBuilder.group(t)}createFormControl(t){let e=[];return r.isBoolean(t.required)&&t.required&&e.push(a.B.required),t.validators&&(e=e.concat(t.validators)),new a.i(r.defaultTo("binary"===t.type?this.dimlessBinaryPipe.transform(t.value):t.value,null),{validators:e})}getError(t){const e=this.formGroup.get(t.name).errors;return Object.keys(e).map(n=>this.getErrorMessage(n,e[n],t.errors)).join("<br>")}getErrorMessage(t,e,n){if(n){const e=n[t];if(e)return e}return["binaryMin","binaryMax"].includes(t)?e(this.i18n):this.i18n("required"===t?"This field is required.":"An error occurred.")}onSubmitForm(t){this.fields.filter(t=>"binary"===t.type).map(t=>t.name).forEach(e=>{const n=t[e];n&&(t[e]=this.formatter.toBytes(n))}),this.bsModalRef.hide(),r.isFunction(this.onSubmit)&&this.onSubmit(t)}}},Rm1S:function(t,e,n){"use strict";var a=n("14Sl"),r=n("glrk"),o=n("UMSQ"),i=n("HYAF"),s=n("iqWW"),c=n("FMNM");a("match",1,(function(t,e,n){return[function(e){var n=i(this),a=null==e?void 0:e[t];return void 0!==a?a.call(e,n):new RegExp(e)[t](String(n))},function(t){var a=n(e,t,this);if(a.done)return a.value;var i=r(t),l=String(this);if(!i.global)return c(i,l);var d=i.unicode;i.lastIndex=0;for(var u,g=[],f=0;null!==(u=c(i,l));){var p=String(u[0]);g[f]=p,""===p&&(i.lastIndex=s(l,o(i.lastIndex),d)),f++}return 0===f?null:g}]}))},RnPR:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Keys=function(t){return t[t.up=38]="up",t[t.down=40]="down",t[t.return=13]="return",t[t.escape=27]="escape",t[t.left=37]="left",t[t.right=39]="right",t}(e.Keys||{})},RnhZ:function(t,e,n){var a={"./af":"K/tc","./af.js":"K/tc","./ar":"jnO4","./ar-dz":"o1bE","./ar-dz.js":"o1bE","./ar-kw":"Qj4J","./ar-kw.js":"Qj4J","./ar-ly":"HP3h","./ar-ly.js":"HP3h","./ar-ma":"CoRJ","./ar-ma.js":"CoRJ","./ar-sa":"gjCT","./ar-sa.js":"gjCT","./ar-tn":"bYM6","./ar-tn.js":"bYM6","./ar.js":"jnO4","./az":"SFxW","./az.js":"SFxW","./be":"H8ED","./be.js":"H8ED","./bg":"hKrs","./bg.js":"hKrs","./bm":"p/rL","./bm.js":"p/rL","./bn":"kEOa","./bn.js":"kEOa","./bo":"0mo+","./bo.js":"0mo+","./br":"aIdf","./br.js":"aIdf","./bs":"JVSJ","./bs.js":"JVSJ","./ca":"1xZ4","./ca.js":"1xZ4","./cs":"PA2r","./cs.js":"PA2r","./cv":"A+xa","./cv.js":"A+xa","./cy":"l5ep","./cy.js":"l5ep","./da":"DxQv","./da.js":"DxQv","./de":"tGlX","./de-at":"s+uk","./de-at.js":"s+uk","./de-ch":"u3GI","./de-ch.js":"u3GI","./de.js":"tGlX","./dv":"WYrj","./dv.js":"WYrj","./el":"jUeY","./el.js":"jUeY","./en-SG":"zavE","./en-SG.js":"zavE","./en-au":"Dmvi","./en-au.js":"Dmvi","./en-ca":"OIYi","./en-ca.js":"OIYi","./en-gb":"Oaa7","./en-gb.js":"Oaa7","./en-ie":"4dOw","./en-ie.js":"4dOw","./en-il":"czMo","./en-il.js":"czMo","./en-nz":"b1Dy","./en-nz.js":"b1Dy","./eo":"Zduo","./eo.js":"Zduo","./es":"iYuL","./es-do":"CjzT","./es-do.js":"CjzT","./es-us":"Vclq","./es-us.js":"Vclq","./es.js":"iYuL","./et":"7BjC","./et.js":"7BjC","./eu":"D/JM","./eu.js":"D/JM","./fa":"jfSC","./fa.js":"jfSC","./fi":"gekB","./fi.js":"gekB","./fo":"ByF4","./fo.js":"ByF4","./fr":"nyYc","./fr-ca":"2fjn","./fr-ca.js":"2fjn","./fr-ch":"Dkky","./fr-ch.js":"Dkky","./fr.js":"nyYc","./fy":"cRix","./fy.js":"cRix","./ga":"USCx","./ga.js":"USCx","./gd":"9rRi","./gd.js":"9rRi","./gl":"iEDd","./gl.js":"iEDd","./gom-latn":"DKr+","./gom-latn.js":"DKr+","./gu":"4MV3","./gu.js":"4MV3","./he":"x6pH","./he.js":"x6pH","./hi":"3E1r","./hi.js":"3E1r","./hr":"S6ln","./hr.js":"S6ln","./hu":"WxRl","./hu.js":"WxRl","./hy-am":"1rYy","./hy-am.js":"1rYy","./id":"UDhR","./id.js":"UDhR","./is":"BVg3","./is.js":"BVg3","./it":"bpih","./it-ch":"bxKX","./it-ch.js":"bxKX","./it.js":"bpih","./ja":"B55N","./ja.js":"B55N","./jv":"tUCv","./jv.js":"tUCv","./ka":"IBtZ","./ka.js":"IBtZ","./kk":"bXm7","./kk.js":"bXm7","./km":"6B0Y","./km.js":"6B0Y","./kn":"PpIw","./kn.js":"PpIw","./ko":"Ivi+","./ko.js":"Ivi+","./ku":"JCF/","./ku.js":"JCF/","./ky":"lgnt","./ky.js":"lgnt","./lb":"RAwQ","./lb.js":"RAwQ","./lo":"sp3z","./lo.js":"sp3z","./lt":"JvlW","./lt.js":"JvlW","./lv":"uXwI","./lv.js":"uXwI","./me":"KTz0","./me.js":"KTz0","./mi":"aIsn","./mi.js":"aIsn","./mk":"aQkU","./mk.js":"aQkU","./ml":"AvvY","./ml.js":"AvvY","./mn":"lYtQ","./mn.js":"lYtQ","./mr":"Ob0Z","./mr.js":"Ob0Z","./ms":"6+QB","./ms-my":"ZAMP","./ms-my.js":"ZAMP","./ms.js":"6+QB","./mt":"G0Uy","./mt.js":"G0Uy","./my":"honF","./my.js":"honF","./nb":"bOMt","./nb.js":"bOMt","./ne":"OjkT","./ne.js":"OjkT","./nl":"+s0g","./nl-be":"2ykv","./nl-be.js":"2ykv","./nl.js":"+s0g","./nn":"uEye","./nn.js":"uEye","./pa-in":"8/+R","./pa-in.js":"8/+R","./pl":"jVdC","./pl.js":"jVdC","./pt":"8mBD","./pt-br":"0tRk","./pt-br.js":"0tRk","./pt.js":"8mBD","./ro":"lyxo","./ro.js":"lyxo","./ru":"lXzo","./ru.js":"lXzo","./sd":"Z4QM","./sd.js":"Z4QM","./se":"//9w","./se.js":"//9w","./si":"7aV9","./si.js":"7aV9","./sk":"e+ae","./sk.js":"e+ae","./sl":"gVVK","./sl.js":"gVVK","./sq":"yPMs","./sq.js":"yPMs","./sr":"zx6S","./sr-cyrl":"E+lV","./sr-cyrl.js":"E+lV","./sr.js":"zx6S","./ss":"Ur1D","./ss.js":"Ur1D","./sv":"X709","./sv.js":"X709","./sw":"dNwA","./sw.js":"dNwA","./ta":"PeUW","./ta.js":"PeUW","./te":"XLvN","./te.js":"XLvN","./tet":"V2x9","./tet.js":"V2x9","./tg":"Oxv6","./tg.js":"Oxv6","./th":"EOgW","./th.js":"EOgW","./tl-ph":"Dzi0","./tl-ph.js":"Dzi0","./tlh":"z3Vd","./tlh.js":"z3Vd","./tr":"DoHr","./tr.js":"DoHr","./tzl":"z1FC","./tzl.js":"z1FC","./tzm":"wQk9","./tzm-latn":"tT3J","./tzm-latn.js":"tT3J","./tzm.js":"wQk9","./ug-cn":"YRex","./ug-cn.js":"YRex","./uk":"raLr","./uk.js":"raLr","./ur":"UpQW","./ur.js":"UpQW","./uz":"Loxo","./uz-latn":"AQ68","./uz-latn.js":"AQ68","./uz.js":"Loxo","./vi":"KSF8","./vi.js":"KSF8","./x-pseudo":"/X5v","./x-pseudo.js":"/X5v","./yo":"fzPg","./yo.js":"fzPg","./zh-cn":"XDpg","./zh-cn.js":"XDpg","./zh-hk":"SatO","./zh-hk.js":"SatO","./zh-tw":"kOpN","./zh-tw.js":"kOpN"};function r(t){var e=o(t);return n(e)}function o(t){if(!n.o(a,t)){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e}return a[t]}r.keys=function(){return Object.keys(a)},r.resolve=o,t.exports=r,r.id="RnhZ"},S6ln:function(t,e,n){!function(t){"use strict";function e(t,e,n){var a=t+" ";switch(n){case"ss":return a+(1===t?"sekunda":2===t||3===t||4===t?"sekunde":"sekundi");case"m":return e?"jedna minuta":"jedne minute";case"mm":return a+(1===t?"minuta":2===t||3===t||4===t?"minute":"minuta");case"h":return e?"jedan sat":"jednog sata";case"hh":return a+(1===t?"sat":2===t||3===t||4===t?"sata":"sati");case"dd":return a+(1===t?"dan":"dana");case"MM":return a+(1===t?"mjesec":2===t||3===t||4===t?"mjeseca":"mjeseci");case"yy":return a+(1===t?"godina":2===t||3===t||4===t?"godine":"godina")}}t.defineLocale("hr",{months:{format:"siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca".split("_"),standalone:"siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac".split("_")},monthsShort:"sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return"[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:e,m:e,mm:e,h:e,hh:e,d:"dan",dd:e,M:"mjesec",MM:e,y:"godinu",yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n("wd/R"))},S7Xf:function(t,e,n){var a=n("4uTw"),r=n("RBan"),o=n("gpbi"),i=n("9Nap");t.exports=function(t,e){return e=a(e,t),null==(t=o(t,e))||delete t[i(r(e))]}},S7zO:function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var a=n("LvDl"),r=n("oxzT");n("vCyI"),n("jKX/");class o{constructor(){this.btnColor="secondary",this.dropDownActions=[],this.icons=r.a}ngOnInit(){this.removeActionsWithNoPermissions(),this.updateDropDownActions()}toClassName(t){return t.replace(/ /g,"-").replace(/[^a-z-]/gi,"").toLowerCase()}removeActionsWithNoPermissions(){if(!this.permission)return void(this.tableActions=[]);const t=Object.keys(this.permission).filter(t=>this.permission[t]);this.tableActions=this.tableActions.filter(e=>t.includes(e.permission))}updateDropDownActions(){this.dropDownActions=this.tableActions.filter(t=>t.visible?t.visible(this.selection):t)}getCurrentButton(){if(this.dropDownOnly)return;let t=this.dropDownActions.find(t=>this.showableAction(t));return!t&&this.dropDownActions.length>0&&(t=this.dropDownActions[0]),t}showableAction(t){const e=t.canBePrimary,n=this.selection.hasSingleSelection,a="create"===t.permission?!n:n;return e&&e(this.selection)||!e&&a}useRouterLink(t){if(t.routerLink&&!this.disableSelectionAction(t))return a.isString(t.routerLink)?t.routerLink:t.routerLink()}disableSelectionAction(t){const e=t.disable;if(e)return Boolean(e(this.selection));const n=t.permission,a=this.selection.hasSingleSelection&&this.selection.first();return Boolean(["update","delete"].includes(n)&&(!a||a.cdExecuting))}showDropDownActions(){return this.updateDropDownActions(),this.dropDownActions.length>1}useClickAction(t){return!this.disableSelectionAction(t)&&t.click&&t.click()}useDisableDesc(t){return t.disableDesc&&t.disableDesc()}}},"SB+Q":function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{transform(t){return encodeURIComponent(t)}}},SFxW:function(t,e,n){!function(t){"use strict";var e={1:"-inci",5:"-inci",8:"-inci",70:"-inci",80:"-inci",2:"-nci",7:"-nci",20:"-nci",50:"-nci",3:"-üncü",4:"-üncü",100:"-üncü",6:"-ncı",9:"-uncu",10:"-uncu",30:"-uncu",60:"-ıncı",90:"-ıncı"};t.defineLocale("az",{months:"yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr".split("_"),monthsShort:"yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek".split("_"),weekdays:"Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə".split("_"),weekdaysShort:"Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən".split("_"),weekdaysMin:"Bz_BE_ÇA_Çə_CA_Cü_Şə".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[sabah saat] LT",nextWeek:"[gələn həftə] dddd [saat] LT",lastDay:"[dünən] LT",lastWeek:"[keçən həftə] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s əvvəl",s:"birneçə saniyə",ss:"%d saniyə",m:"bir dəqiqə",mm:"%d dəqiqə",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir il",yy:"%d il"},meridiemParse:/gecə|səhər|gündüz|axşam/,isPM:function(t){return/^(gündüz|axşam)$/.test(t)},meridiem:function(t,e,n){return t<4?"gecə":t<12?"səhər":t<17?"gündüz":"axşam"},dayOfMonthOrdinalParse:/\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,ordinal:function(t){if(0===t)return t+"-ıncı";var n=t%10;return t+(e[n]||e[t%100-n]||e[t>=100?100:null])},week:{dow:1,doy:7}})}(n("wd/R"))},SKAX:function(t,e,n){var a=n("JC6p"),r=n("lQqw")(a);t.exports=r},SPu7:function(t,e,n){"use strict";n.r(e),e.default='<xliff xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 http://docs.oasis-open.org/xliff/v1.2/os/xliff-core-1.2-strict.xsd" xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">\n  <file original="ng2.template" datatype="plaintext" source-language="en-US" target-language="pl-PL">\n    <body>\n      <trans-unit id="319e0745bcbc132451569294fa2fa21bf10f555a" datatype="html">\n        <source>Toggle navigation</source>\n        <target>Rozwiń</target>\n      </trans-unit>\n      <trans-unit id="f65253954b66e929a8b4d5ecaf61f9129f8cec64" datatype="html">\n        <source>Dashboard</source>\n        <target>Pulpit</target>\n      </trans-unit>\n      <trans-unit id="f4d1dd59b039ad818d9da7e29a773e10e41d9821" datatype="html">\n        <source>Cluster</source>\n        <target>Klaster</target>\n      </trans-unit>\n      <trans-unit id="099b441d49333b3c6d30b36dc0a4763e64c78920" datatype="html">\n        <source>Hosts</source>\n        <target>Hosty</target>\n      </trans-unit>\n      <trans-unit id="2cc3ecb16e348fcf2f2fbfd2f997d4d22f37475b" datatype="html">\n        <source>Inventory</source>\n        <target>Inventory</target>\n      </trans-unit>\n      <trans-unit id="624f596cc3320f5e0a0d7c7346c364e5af9bdd8c" datatype="html">\n        <source>Monitors</source>\n        <target>Monitory</target>\n      </trans-unit>\n      <trans-unit id="419d940613972cc3fae9c8ea0a4306dbf80616e5" datatype="html">\n        <source>Services</source>\n        <target>Usługi</target>\n      </trans-unit>\n      <trans-unit id="1a9183778f2c6473d7ccb080f651caa01faaf70c" datatype="html">\n        <source>OSDs</source>\n        <target>OSD-ki</target>\n      </trans-unit>\n      <trans-unit id="4a41f824a35ba01d5bd7be61aa06b3e8145209d0" datatype="html">\n        <source>Configuration</source>\n        <target>Konfiguracja</target>\n      </trans-unit>\n      <trans-unit id="8c95898abff46bfac3ed6eb2afef74597e60b15c" datatype="html">\n        <source>CRUSH map</source>\n        <target>CRUSH mapa</target>\n      </trans-unit>\n      <trans-unit id="33da4dbeb076159510801ea764a218fd341269d2" datatype="html">\n        <source>Manager modules</source>\n        <target>Zarządca modułów</target>\n      </trans-unit>\n      <trans-unit id="eb3d5aefff38a814b76da74371cbf02c0789a1ef" datatype="html">\n        <source>Logs</source>\n        <target>Logi</target>\n      </trans-unit>\n      <trans-unit id="9fe218829514884cdd0ca2300573a4e0428c324f" datatype="html">\n        <source>Alerts</source>\n        <target>Powiadomienia</target>\n      </trans-unit>\n      <trans-unit id="aa0c44aa1e5727061baa91e954f77e2f5f9a37c9" datatype="html">\n        <source>Silences</source>\n        <target>Silences</target>\n      </trans-unit>\n      <trans-unit id="92899fa68e8ca108912163ff58edc8540e453787" datatype="html">\n        <source>Pools</source>\n        <target>Pule</target>\n      </trans-unit>\n      <trans-unit id="7f5d0c10614e8a34f0e2dad33a0568277c50cf69" datatype="html">\n        <source>Block</source>\n        <target>Dostęp blokowy</target>\n      </trans-unit>\n      <trans-unit id="b73f7f5060fb22a1e9ec462b1bb02493fa3ab866" datatype="html">\n        <source>Images</source>\n        <target>Obrazy</target>\n      </trans-unit>\n      <trans-unit id="3c2562ba992127203dcfd014010b03cb7b8113c6" datatype="html">\n        <source>Mirroring</source>\n        <target>Kopia lustrzana</target>\n      </trans-unit>\n      <trans-unit id="811c241d56601b91ef26735b770e64428089b950" datatype="html">\n        <source>iSCSI</source>\n        <target>iSCSI</target>\n      </trans-unit>\n      <trans-unit id="a24eabd99ea5af20f5f94c4484649cd30370042b" datatype="html">\n        <source>NFS</source>\n        <target>Sieciowy system plików NFS</target>\n      </trans-unit>\n      <trans-unit id="a4eff72d97b7ced051398d581f10968218057ddc" datatype="html">\n        <source>Filesystems</source>\n        <target>Systemy plików</target>\n      </trans-unit>\n      <trans-unit id="2190548d236ca5f7bc7ab2bca334b860c5ff2ad4" datatype="html">\n        <source>Object Gateway</source>\n        <target>Dostęp obiektowy</target>\n      </trans-unit>\n      <trans-unit id="9e24f9e2d42104ffc01599db4d566d1cc518f9e6" datatype="html">\n        <source>Daemons</source>\n        <target>Demony</target>\n      </trans-unit>\n      <trans-unit id="4d13a9cd5ed3dcee0eab22cb25198d43886942be" datatype="html">\n        <source>Users</source>\n        <target>Użytkownicy</target>\n      </trans-unit>\n      <trans-unit id="9515520496da83179d8b08132f00f575512a1f40" datatype="html">\n        <source>Buckets</source>\n        <target>Wiadra</target>\n      </trans-unit>\n      <trans-unit id="797f8214e8148f4bf0d244baaa7341706b419549" datatype="html">\n        <source>Retrieving data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>. Please wait...\n        </source>\n        <target>Retrieving data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>. Please wait...\n        </target>\n      </trans-unit>\n      <trans-unit id="5a870dc77b9f6f33ee671ea2d856021276933339" datatype="html">\n        <source>Displaying previously cached data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>\n  for \n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n        </source>\n        <target>Displaying previously cached data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>\n  for \n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="ae580202919844531361ba2308287226ff74a584" datatype="html">\n        <source>Could not load data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n  Please check the cluster health.\n        </source>\n        <target>Could not load data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n  Please check the cluster health.\n        </target>\n      </trans-unit>\n      <trans-unit id="7e52e9143145e1db5146258de81eae018a407b31" datatype="html">\n        <source>Clear notifications</source>\n        <target>Clear notifications</target>\n      </trans-unit>\n      <trans-unit id="b0b07bb6b7ff21ede439dd04eaf8872d1ecb84d8" datatype="html">\n        <source>Remove notification</source>\n        <target>Remove notification</target>\n      </trans-unit>\n      <trans-unit id="e17a1d75189da843f541f7764f188f2b19a97df2" datatype="html">\n        <source>Duration:</source>\n        <target>Duration:</target>\n      </trans-unit>\n      <trans-unit id="0d4b37c6675c5b436a54c43d6716eec835e1aa7f" datatype="html">\n        <source>There are no notifications.</source>\n        <target>There are no notifications.</target>\n      </trans-unit>\n      <trans-unit id="0a23e992f6c6e169a38b2b7338b4e5e803b52e0d" datatype="html">\n        <source>Tasks and Notifications</source>\n        <target>Tasks and Notifications</target>\n      </trans-unit>\n      <trans-unit id="3fb5709e10166cbc85970cbff103db227dbeb813" datatype="html">\n        <source>Select a Language</source>\n        <target>Wybierz język</target>\n      </trans-unit>\n      <trans-unit id="c5109325fb160b543f71a51e7511c00575057431" datatype="html">\n        <source>Loading panel data...</source>\n        <target>Trwa ładowanie danych...</target>\n      </trans-unit>\n      <trans-unit id="8ca12411f890ab8b0a9216418e2b8f5ea7d2441a" datatype="html">\n        <source>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the monitoring functionality.\n        </source>\n        <target>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the monitoring functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="160a9e80dc089792df42e2400b1e81b9e7025aa7" datatype="html">\n        <source>Grafana Dashboard doesn\'t exist. Please refer to\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  add dashboards to Grafana.\n        </source>\n        <target>Grafana Dashboard doesn\'t exist. Please refer to\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  add dashboards to Grafana.\n        </target>\n      </trans-unit>\n      <trans-unit id="4e11830040bd64804a0555de76f291d5832772d4" datatype="html">\n        <source>Grafana Time Picker</source>\n        <target>Wybór czasu Grafana</target>\n      </trans-unit>\n      <trans-unit id="238c1ba845dd7330e8088165275919a1debf1ca3" datatype="html">\n        <source>Reset Settings</source>\n        <target>Zresetuj ustawienia</target>\n      </trans-unit>\n      <trans-unit id="c8d1785038d461ec66b5799db21864182b35900a" datatype="html">\n        <source>Refresh</source>\n        <target>Refresh</target>\n      </trans-unit>\n      <trans-unit id="6c947210e2d162b6225083d18820ab602f58cd2d" datatype="html">\n        <source>Remove the custom configuration value. The default configuration will be inherited and used instead.</source>\n        <target>Remove the custom configuration value. The default configuration will be inherited and used instead.</target>\n      </trans-unit>\n      <trans-unit id="454ee9cb60b00446a8fb147fd2cc5eb836320586" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ option.maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ option.maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="7fc8a22825131e028336f60ef909ccbd96059703" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ option.minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ option.minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="cda31dbd724cf5f4fa7a4274d9120651490c8a8c" datatype="html">\n        <source>Back</source>\n        <target>Wstecz</target>\n      </trans-unit>\n      <trans-unit id="012741ee52b3c050e4a977c37cc2334f7974f141" datatype="html">\n        <source>Failed to load data.</source>\n        <target>Błąd wczytywania danych.</target>\n      </trans-unit>\n      <trans-unit id="80cc9a12d4bf6fe454ed94b379eeaf915f920bb7" datatype="html">\n        <source>selected</source>\n        <target>Wybrane</target>\n        <note>X selected</note>\n      </trans-unit>\n      <trans-unit id="0cb77511a9a148e05b9adf36cc07269956fbb29d" datatype="html">\n        <source>found</source>\n        <target>Znaleziono</target>\n        <note>X found</note>\n      </trans-unit>\n      <trans-unit id="79347388740c50b7ac97e144c2494bb62912f312" datatype="html">\n        <source>total</source>\n        <target>Razem</target>\n        <note>X total</note>\n      </trans-unit>\n      <trans-unit id="cff1428d10d59d14e45edec3c735a27b5482db59" datatype="html">\n        <source>Name</source>\n        <target>Nazwa</target>\n      </trans-unit>\n      <trans-unit id="eec715de352a6b114713b30b640d319fa78207a0" datatype="html">\n        <source>Description</source>\n        <target>Opis</target>\n      </trans-unit>\n      <trans-unit id="4ad112ce9bcd55dfd137792a86afe1b5a5b13cf8" datatype="html">\n        <source>Long description</source>\n        <target>Długi opis</target>\n      </trans-unit>\n      <trans-unit id="ff7cee38a2259526c519f878e71b964f41db4348" datatype="html">\n        <source>Default</source>\n        <target>Domyślna</target>\n      </trans-unit>\n      <trans-unit id="33e1c1d9fc05ca3f62fcc8a1170fc31ebae4229c" datatype="html">\n        <source>Daemon default</source>\n        <target>Domyślny demon</target>\n      </trans-unit>\n      <trans-unit id="809b0c848932a41318f77a2aace904ef429c13f4" datatype="html">\n        <source>Values</source>\n        <target>Wartości</target>\n      </trans-unit>\n      <trans-unit id="82029b6db704c56a2aa3e82ac555b8655356b077" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8ed8b3967a7326b81b191c9f490006e6a6777a9a" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="52c9a103b812f258bcddc3d90a6e3f46871d25fe" datatype="html">\n        <source>Save</source>\n        <target>Zapisz</target>\n      </trans-unit>\n      <trans-unit id="738de688b22fba5d0dc7a5e549996838dddad0ee" datatype="html">\n        <source>CRUSH map viewer</source>\n        <target>widok CRUSH mapy</target>\n      </trans-unit>\n      <trans-unit id="94516fa213706c67ce5a5b5765681d7fb032033a" datatype="html">\n        <source>Loading...</source>\n        <target>Ładowanie...</target>\n      </trans-unit>\n      <trans-unit id="formTitle" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </target>\n        <note>form title</note>\n      </trans-unit>\n      <trans-unit id="9a541ec1a4319fffc16ad3b3ab2c2b6d251a829d" datatype="html">\n        <source>Hostname</source>\n        <target>Nazwa hosta</target>\n      </trans-unit>\n      <trans-unit id="7cbdabcece469fab89cfa687ab152bca18b97498" datatype="html">\n        <source>This field is required.</source>\n        <target>Pole jest wymagane.</target>\n      </trans-unit>\n      <trans-unit id="1b3f5e5291541678f7afa49d28fad5ca848a8061" datatype="html">\n        <source>The chosen hostname is already in use.</source>\n        <target>The chosen hostname is already in use.</target>\n      </trans-unit>\n      <trans-unit id="formActionButton" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </target>\n        <note>form action button</note>\n      </trans-unit>\n      <trans-unit id="6110699a3562eeb15371063c0cf7f6bfd88a0209" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemNames[0] }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemNames[0] }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>?\n        </target>\n      </trans-unit>\n      <trans-unit id="549859e511ba5af0ea03fcaa620c472f08038969" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected items?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected items?\n        </target>\n      </trans-unit>\n      <trans-unit id="54839ebc827b73c9dc4e1df731c6d36a85036af7" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected \n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected \n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>?\n        </target>\n      </trans-unit>\n      <trans-unit id="2be8b7f04f0104d3fad90d079d8202b74f758b9a" datatype="html">\n        <source>Yes, I am sure.</source>\n        <target>Tak, jestem pewny.</target>\n      </trans-unit>\n      <trans-unit id="d7b35c384aecd25a516200d6921836374613dfe7" datatype="html">\n        <source>Cancel</source>\n        <target>Anuluj</target>\n      </trans-unit>\n      <trans-unit id="40661476cb24c89d8b06614998e31d5fbe84eeb6" datatype="html">\n        <source>Hosts List</source>\n        <target>Lista hostów</target>\n      </trans-unit>\n      <trans-unit id="5e7f4b1ca49e8d217bd0e12c6f7d6b6a2ade2c18" datatype="html">\n        <source>Overall Performance</source>\n        <target>Całkowita wydajność</target>\n      </trans-unit>\n      <trans-unit id="6bc15dc1a621b6ff7378db7fd3ac10b2a2627c77" datatype="html">\n        <source>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the orchestrator functionality.\n        </source>\n        <target>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the orchestrator functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="3e24569eca61d598c8b01defbbbb1fa8bd5222bc" datatype="html">\n        <source>Devices</source>\n        <target>Devices</target>\n      </trans-unit>\n      <trans-unit id="e6d57f36aa2bad303c8a8ee944b9bd7fae3c8c26" datatype="html">\n        <source>No entries found</source>\n        <target>Nie znaleziono wejść</target>\n      </trans-unit>\n      <trans-unit id="d556ab48a65722b400e497f61737f553ee0f89e2" datatype="html">\n        <source>Cluster Logs</source>\n        <target>Logi z klastra </target>\n      </trans-unit>\n      <trans-unit id="5f966baffd188be0e8adc2d7067b86e55fc9b9de" datatype="html">\n        <source>Audit Logs</source>\n        <target>Audyt logów</target>\n      </trans-unit>\n      <trans-unit id="4193c9eb868aeec119b78a14795241e0aa5e8b60" datatype="html">\n        <source>Priority:</source>\n        <target>Priority:</target>\n      </trans-unit>\n      <trans-unit id="1d78ca51eab260ce3fd917d39190d64df5229b6e" datatype="html">\n        <source>Keyword:</source>\n        <target>Keyword:</target>\n      </trans-unit>\n      <trans-unit id="05fa0bded36de6e73a1fa44838b627349dace044" datatype="html">\n        <source>Date:</source>\n        <target>Date:</target>\n      </trans-unit>\n      <trans-unit id="31dadb362bf7f7c2afa10e5f96474ccd3977f91f" datatype="html">\n        <source>Datepicker</source>\n        <target>Datepicker</target>\n      </trans-unit>\n      <trans-unit id="85a400388de1899b1917138cf7e5286376f72847" datatype="html">\n        <source>Time range:</source>\n        <target>Time range:</target>\n      </trans-unit>\n      <trans-unit id="2447796ddbda942f4e2c46619cb84d69f066e568" datatype="html">\n        <source>Loading configuration...</source>\n        <target>Ładowanie konfiguracji.</target>\n      </trans-unit>\n      <trans-unit id="b42c0b347a841bed8859ee83de05080ee28c803b" datatype="html">\n        <source>The configuration could not be loaded.</source>\n        <target>Nie można załadować konfiguracji</target>\n      </trans-unit>\n      <trans-unit id="31a9c2870a934b594d1390146c489f76440859ea" datatype="html">\n        <source>Edit Manager module</source>\n        <target>Edytuj moduł zarządzania</target>\n      </trans-unit>\n      <trans-unit id="46e09b8290d3d0afdb6baa2021395b0570606a31" datatype="html">\n        <source>The entered value is not a valid UUID, e.g.: 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8</source>\n        <target>Wpisana wartość nie jest poprawnym UUID, np. 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8</target>\n      </trans-unit>\n      <trans-unit id="7aacd038b39cfd347107d01d1dc27f5cb3e0951c" datatype="html">\n        <source>The entered value needs to be a valid IP address.</source>\n        <target>Wpisana wartość musi być poprawnym adresem IP</target>\n      </trans-unit>\n      <trans-unit id="f19106149f4b07a0d721f9d317afed393cb7bd93" datatype="html">\n        <source>The entered value is too high! It must be lower or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.max }}"/>.\n        </source>\n        <target>The entered value is too high! It must be lower or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.max }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="6d33c40ef9a6c3bf0888df831b25e41e65f9d15b" datatype="html">\n        <source>The entered value is too low! It must be greater or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.min }}"/>.\n        </source>\n        <target>The entered value is too low! It must be greater or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.min }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="eae7086660cf1e38c7194a2c49ff52cc656f90f5" datatype="html">\n        <source>The entered value needs to be a number.</source>\n        <target>Podana wartość musi być liczbą</target>\n      </trans-unit>\n      <trans-unit id="a73376e04b4fb3a20734c8c39743fba32e6676ce" datatype="html">\n        <source>The entered value needs to be a number or decimal.</source>\n        <target>Podana wartość musi być liczbą albo dziesiętną.</target>\n      </trans-unit>\n      <trans-unit id="047f50bc5b5d17b5bec0196355953e1a5c590ddb" datatype="html">\n        <source>Update</source>\n        <target>Zaktualizuj</target>\n      </trans-unit>\n      <trans-unit id="81b97b8ea996ad1e4f9fca8415021850214884b1" datatype="html">\n        <source>Status</source>\n        <target>Status</target>\n      </trans-unit>\n      <trans-unit id="57ec6032f5618d4a9f16eb950ad23d2ce7c24b54" datatype="html">\n        <source>Cluster ID</source>\n        <target>Klaster ID</target>\n      </trans-unit>\n      <trans-unit id="67d7facc3fec5f8a49ab9ba0a245872184264ce5" datatype="html">\n        <source>monmap modified</source>\n        <target>Zmodyfikowana monmapa</target>\n      </trans-unit>\n      <trans-unit id="d4906731aaf2b94b4f547646c9bfe58bb77951b6" datatype="html">\n        <source>monmap epoch</source>\n        <target>epoka monmap</target>\n      </trans-unit>\n      <trans-unit id="bd4ee06ffdc46d9dfbd0c0c4f81399021c680056" datatype="html">\n        <source>quorum con</source>\n        <target>kworum con</target>\n      </trans-unit>\n      <trans-unit id="1176c7db8a8276ccb44cc3d42e2c28d9fa6c6596" datatype="html">\n        <source>quorum mon</source>\n        <target>kworum mon</target>\n      </trans-unit>\n      <trans-unit id="530ef677a09d681b3ab68cb0760494b3ae72a77c" datatype="html">\n        <source>required con</source>\n        <target>wymagany con</target>\n      </trans-unit>\n      <trans-unit id="a91558e0d506c32021c31843f8f168899fc65cbf" datatype="html">\n        <source>required mon</source>\n        <target>Wymagane mon </target>\n      </trans-unit>\n      <trans-unit id="b3abe9eac5bcd94a54c8da93b312e085ec512e74" datatype="html">\n        <source>In Quorum</source>\n        <target>W kworum</target>\n      </trans-unit>\n      <trans-unit id="ba4b748a676e1f217ce1e736fb7ec1215e677bae" datatype="html">\n        <source>Not In Quorum</source>\n        <target>Nie w kworum</target>\n      </trans-unit>\n      <trans-unit id="5ef50ba2514414f799d4c8fc36067a251904ba81" datatype="html">\n        <source>Cluster-wide OSD Flags</source>\n        <target>Flagi OSD w całym klastrze</target>\n      </trans-unit>\n      <trans-unit id="71c77bb8cecdf11ec3eead24dd1ba506573fa9cd" datatype="html">\n        <source>Submit</source>\n        <target>Zatwierdź</target>\n      </trans-unit>\n      <trans-unit id="1cfe07dac5b4ee1c464eb24225ddeb4f1d24076a" datatype="html">\n        <source>Advanced...</source>\n        <target>Zaawansowane...</target>\n      </trans-unit>\n      <trans-unit id="b1ef1c12ddcee305353623919ef02778569f5454" datatype="html">\n        <source>Advanced configuration options</source>\n        <target>Advanced configuration options</target>\n      </trans-unit>\n      <trans-unit id="c35f9c5f268a514b970cc55e9a5dc4bed0988e7f" datatype="html">\n        <source>OSD Recovery Priority</source>\n        <target>Priorytet odzyskiwania OSD</target>\n      </trans-unit>\n      <trans-unit id="b74af38005e8a8914e45af2ec412e11ceafef8b6" datatype="html">\n        <source>Priority</source>\n        <target>Priorytet</target>\n      </trans-unit>\n      <trans-unit id="c2f48f04b379bfba133825747adfd238d511412e" datatype="html">\n        <source>Customize priority values</source>\n        <target>Dostosuj wartości priorytetowe</target>\n      </trans-unit>\n      <trans-unit id="4aa19de2a2b54cbda39e9c62917b23044c087776" datatype="html">\n        <source>This field is required!</source>\n        <target>To pole jest wymagane.</target>\n      </trans-unit>\n      <trans-unit id="b699e94bf376491bd50b70a98531071c737eaf40" datatype="html">\n        <source>[object Object]</source>\n        <target>[object Object]</target>\n      </trans-unit>\n      <trans-unit id="98fe13e7ad6c2b80375d204b47858ded83f80e15" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="5423a3c111be47fc5a1bfe46ceb58c81c84db691" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="5251a4355cece3075db43f15d69a24a0f8485707" datatype="html">\n        <source>Reweight OSD: \n          <x id="INTERPOLATION" equiv-text="{{ osdId }}"/>\n        </source>\n        <target>Reweight OSD: \n          <x id="INTERPOLATION" equiv-text="{{ osdId }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="67650b2998db48201b2c6176cbfef51e7211ccaa" datatype="html">\n        <source>The value needs to be between 0 and 1.</source>\n        <target>Wartość powinna być pomiędzy 0 a 1. </target>\n      </trans-unit>\n      <trans-unit id="bc11f92113d678a90e334fdf3d7b3fddbe34c579" datatype="html">\n        <source>Reweight</source>\n        <target>Ponowne ważenie</target>\n      </trans-unit>\n      <trans-unit id="d5ca5daf742023fc4f0919fb3c1c6a51991cda4f" datatype="html">\n        <source>OSDs \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>Scrub\n        </source>\n        <target>OSDs \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>Scrub\n        </target>\n      </trans-unit>\n      <trans-unit id="4c17d67c7c5799eb920030e9a399961e90f55dd8" datatype="html">\n        <source>{VAR_SELECT, select, 1 {Deep } }</source>\n        <target>{VAR_SELECT, wybierz, 1 {Głębokość} }</target>\n      </trans-unit>\n      <trans-unit id="2613498e8e5853c26a1cc62ae8dc673d1fdf0e2a" datatype="html">\n        <source>You are about to apply a \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to\n          the OSD(s): \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ selected | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.\n        </source>\n        <target>You are about to apply a \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to\n          the OSD(s): \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ selected | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="dc6705f342a036b332c3fd3443201c3613e5524d" datatype="html">\n        <source>{VAR_SELECT, select, 1 {deep } }</source>\n        <target>{VAR_SELECT, wybierz, 1 {głębokość} }</target>\n      </trans-unit>\n      <trans-unit id="b49d7877d24112d4bdfce9256edf61a007fae888" datatype="html">\n        <source>OSDs List</source>\n        <target>Lista OSD-ków </target>\n      </trans-unit>\n      <trans-unit id="c402e6ec1c6792ede81f56c28eee8955860391c8" datatype="html">\n        <source>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) \n          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </source>\n        <target>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) \n          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </target>\n      </trans-unit>\n      <trans-unit id="d2797d01ba86f5df03d875803e49e648a4027869" datatype="html">\n        <source>The \n          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to destroy!\n        </source>\n        <target>The \n          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to destroy!\n        </target>\n      </trans-unit>\n      <trans-unit id="e776996dac651ef3819bfa767ccf2a0613759f47" datatype="html">\n        <source>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</source>\n        <target>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</target>\n      </trans-unit>\n      <trans-unit id="1e2c50ed3c3934ef068976dc7f38513cec29d515" datatype="html">\n        <source>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD \n          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </source>\n        <target>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD \n          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </target>\n      </trans-unit>\n      <trans-unit id="4f8b2bb476981727ab34ed40fde1218361f92c45" datatype="html">\n        <source>Details</source>\n        <target>Szczegóły</target>\n      </trans-unit>\n      <trans-unit id="8501055865d7031b5521a0c5467532648009a61d" datatype="html">\n        <source>Matcher</source>\n        <target>Matcher</target>\n      </trans-unit>\n      <trans-unit id="9c25e04f554875dc2625a78ba0fc56c6010cd0d3" datatype="html">\n        <source>-- Select an attribute to match against --</source>\n        <target>-- Select an attribute to match against --</target>\n      </trans-unit>\n      <trans-unit id="5049e204c14c648691ac775a64fb504467aeb549" datatype="html">\n        <source>Value</source>\n        <target>Wartość</target>\n      </trans-unit>\n      <trans-unit id="77fc5c63497fc031ddc97645484e3d94ad27766c" datatype="html">\n        <source>Use regular expression</source>\n        <target>Use regular expression</target>\n      </trans-unit>\n      <trans-unit id="7bbec1a797283712c0adf9e71d77fb5a8cd720db" datatype="html">\n        <source>{VAR_SELECT, select, 1 {Update} other {Add} }</source>\n        <target>{VAR_SELECT, select, 1 {Update} other {Add} }</target>\n      </trans-unit>\n      <trans-unit id="f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8" datatype="html">\n        <source>Close</source>\n        <target>Zamknij</target>\n      </trans-unit>\n      <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c" datatype="html">\n        <source>Edit</source>\n        <target>Edytuj</target>\n      </trans-unit>\n      <trans-unit id="826b25211922a1b46436589233cb6f1a163d89b7" datatype="html">\n        <source>Delete</source>\n        <target>Usuń</target>\n      </trans-unit>\n      <trans-unit id="a3ba06aba047605af8ea1718ec1ba153b7db12a2" datatype="html">\n        <source>Editing a silence will expire the old silence and recreate it as a new silence</source>\n        <target>Editing a silence will expire the old silence and recreate it as a new silence</target>\n      </trans-unit>\n      <trans-unit id="a20424156b8816671f61879f0574a4f27d7b16b9" datatype="html">\n        <source>Creator</source>\n        <target>Creator</target>\n      </trans-unit>\n      <trans-unit id="5a5d7ee2acbfa9c91ab7f41d26bda9ff0cafe42f" datatype="html">\n        <source>Comment</source>\n        <target>Comment</target>\n      </trans-unit>\n      <trans-unit id="4c11aad490b2d53fdae30b3807beabf79306752c" datatype="html">\n        <source>Start time</source>\n        <target>Start time</target>\n      </trans-unit>\n      <trans-unit id="32856b1e8e339b747b21e313e2fe65a51fd450bb" datatype="html">\n        <source>If the start time lies in the past the creation time will be used</source>\n        <target>If the start time lies in the past the creation time will be used</target>\n      </trans-unit>\n      <trans-unit id="a02ea1d4e7424ca989929da5e598f379940fdbf2" datatype="html">\n        <source>Duration</source>\n        <target>Duration</target>\n      </trans-unit>\n      <trans-unit id="2f4e35e36f4d3c62e2c17df41730b6dee4afc4b9" datatype="html">\n        <source>End time</source>\n        <target>End time</target>\n      </trans-unit>\n      <trans-unit id="dbe739ec8c99a0132e326067ffec9c0ee06b2655" datatype="html">\n        <source>Matchers\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>*\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n        </source>\n        <target>Matchers\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>*\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="3e023166c55833d5a13f4143e3dbe372befe1b4e" datatype="html">\n        <source>A silence requires at least one matcher</source>\n        <target>A silence requires at least one matcher</target>\n      </trans-unit>\n      <trans-unit id="ef765bd80c4806c51c891908c07a24bc76f019eb" datatype="html">\n        <source>Add matcher</source>\n        <target>Add matcher</target>\n      </trans-unit>\n      <trans-unit id="d2bcd3296d2850de762fb943060b7e086a893181" datatype="html">\n        <source>Health</source>\n        <target>Zdrowie</target>\n      </trans-unit>\n      <trans-unit id="61e0f26d843eec0b33ff475e111b0c2f7a80b835" datatype="html">\n        <source>Statistics</source>\n        <target>Statystyki</target>\n      </trans-unit>\n      <trans-unit id="f8f74e5f683012b9c0702b1446011c6b9158bc67" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the NFS Ganesha management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the NFS Ganesha management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="7ffe39df9d88c972792bd8688b215392deb8313d" datatype="html">\n        <source>Clients</source>\n        <target>Klienci</target>\n      </trans-unit>\n      <trans-unit id="f2dae0bda66f6a349444951c0379c28cda47d6d1" datatype="html">\n        <source>Any client can access</source>\n        <target>Każdy klient ma dostęp</target>\n      </trans-unit>\n      <trans-unit id="7882f2edb1d4139800b276b6b0bbf5ae0b2234ef" datatype="html">\n        <source>Addresses</source>\n        <target>Adresy</target>\n      </trans-unit>\n      <trans-unit id="9bd96fcf50863e685c74d0490392f46689ffbdb6" datatype="html">\n        <source>Required field</source>\n        <target>Obowiązkowe pole</target>\n      </trans-unit>\n      <trans-unit id="a5f3f74c0f6925826cb2188576391c0da01a23f0" datatype="html">\n        <source>Must contain one or more comma-separated values</source>\n        <target>Musi zawierać jedną albo więcej ,rozdzielonych przecinkiem, wartości </target>\n      </trans-unit>\n      <trans-unit id="8bb5b2073697f3f4378c44a49b7524934c9268f4" datatype="html">\n        <source>For example:</source>\n        <target>Na przykład: </target>\n      </trans-unit>\n      <trans-unit id="8f969c655b3fbe4fba7e277caf4cd2c459f9fca5" datatype="html">\n        <source>Access Type</source>\n        <target>Typ dostępu</target>\n      </trans-unit>\n      <trans-unit id="28952831a284cfe2b4fc39ca610e80b52598905a" datatype="html">\n        <source>Squash</source>\n        <target>Squash</target>\n      </trans-unit>\n      <trans-unit id="0660ae339068979854ade34a96546980723dede3" datatype="html">\n        <source>Add clients</source>\n        <target>Dodaj klientów </target>\n      </trans-unit>\n      <trans-unit id="135b91a2d908d5814b782695470a6a786c99d9d2" datatype="html">\n        <source>-- No cluster available --</source>\n        <target>-- Brak dostępnego klastra -- </target>\n      </trans-unit>\n      <trans-unit id="c501dba379f566885919240ea277b5bc10c14d18" datatype="html">\n        <source>-- Select the cluster --</source>\n        <target>-- Wybierz klaster --</target>\n      </trans-unit>\n      <trans-unit id="cf85b1ee58326aa9da63da41b2629c9db7c9a5b9" datatype="html">\n        <source>Add daemon</source>\n        <target>Dodaj demona</target>\n      </trans-unit>\n      <trans-unit id="b3f6ba7fe84d6508705cdfe234f0fcc8ff85c9cf" datatype="html">\n        <source>Storage Backend</source>\n        <target>Pamięć Podręczna</target>\n      </trans-unit>\n      <trans-unit id="151c80ea931037cd92e854442927f8a0f6ae7795" datatype="html">\n        <source>-- No data pools available --</source>\n        <target>-- Brak danych puli -- </target>\n      </trans-unit>\n      <trans-unit id="b6fee356d1db954255a56d8169405a89595246b9" datatype="html">\n        <source>-- Select the storage backend --</source>\n        <target>-- Wybierz pamięć podręczną -- </target>\n      </trans-unit>\n      <trans-unit id="76d67035c3ab3d8e56f725859f820f03fda41cfc" datatype="html">\n        <source>Object Gateway User</source>\n        <target>Użytkownik dostępu obiektowego</target>\n      </trans-unit>\n      <trans-unit id="fade7788bace74337f306ae209f10fc187ef4671" datatype="html">\n        <source>-- No users available --</source>\n        <target>-- Brak dostępnych użytkowników -- </target>\n      </trans-unit>\n      <trans-unit id="6d30b7b36cf8f6364167321bdb4ba35d4cefce7b" datatype="html">\n        <source>-- Select the object gateway user --</source>\n        <target>-- Wybierz użytkownika dostępu obiektowego -- </target>\n      </trans-unit>\n      <trans-unit id="589ce20d3ba3e3ac44f75decfaadc4ea8f0aec2d" datatype="html">\n        <source>CephFS User ID</source>\n        <target>CephFS Użytkownik ID</target>\n      </trans-unit>\n      <trans-unit id="c4b88a53ac3b0ece46ba9b3ad72355a3c190cce7" datatype="html">\n        <source>-- No clients available --</source>\n        <target>-- Brak dostępnych klientów -- </target>\n      </trans-unit>\n      <trans-unit id="da52835b80497a0002d24414b057dc46ae44ce38" datatype="html">\n        <source>-- Select the cephx client --</source>\n        <target>-- Wybierz klienta cephx -- </target>\n      </trans-unit>\n      <trans-unit id="fd3419e8957d928d7f7ba19c93356a0dbff02871" datatype="html">\n        <source>CephFS Name</source>\n        <target>Nazwa CephFS</target>\n      </trans-unit>\n      <trans-unit id="ee3ba0ab5f0ccd597b3e44021c71e9aaad14df0a" datatype="html">\n        <source>-- No CephFS filesystem available --</source>\n        <target>-- No CephFS filesystem available --</target>\n      </trans-unit>\n      <trans-unit id="764c57812558b1ae66c5eec95d7efd2b1bf761e3" datatype="html">\n        <source>-- Select the CephFS filesystem --</source>\n        <target>-- Select the CephFS filesystem --</target>\n      </trans-unit>\n      <trans-unit id="957512d0321f73e9f115bce1bd823fa635170c41" datatype="html">\n        <source>Security Label</source>\n        <target>Etykieta bezpieczeństwa</target>\n      </trans-unit>\n      <trans-unit id="65ce0fa4da1ed55e658aeb31d1644a29f06bb342" datatype="html">\n        <source>Enable security label</source>\n        <target>Uruchom etykietę bezpieczeństwa</target>\n      </trans-unit>\n      <trans-unit id="7e808f804130c7b6ff719509cbc06ebb27393a48" datatype="html">\n        <source>CephFS Path</source>\n        <target>Ścieżka CephFS </target>\n      </trans-unit>\n      <trans-unit id="5ecc0107badb6625466aaa3f975b5c05276f432f" datatype="html">\n        <source>Path need to start with a \'/\' and can be followed by a word</source>\n        <target>Ścieżka powinna zaczynać się z \'/\' i następne może być słowo</target>\n      </trans-unit>\n      <trans-unit id="2d02916f44fc63e13ab16d1cbe72aa6cb51feab3" datatype="html">\n        <source>New directory will be created</source>\n        <target>Nowy katalog będzie stworzony. </target>\n      </trans-unit>\n      <trans-unit id="766c66ad5cc981c531aaf3fe3a2a7a346ddc8d83" datatype="html">\n        <source>Path</source>\n        <target>Ścieżka</target>\n      </trans-unit>\n      <trans-unit id="7ec35c722a50b976620f22612f7be619c12ceb90" datatype="html">\n        <source>Path can only be a single \'/\' or a word</source>\n        <target>Ścieżką może być tylko \'/\' albo słowo</target>\n      </trans-unit>\n      <trans-unit id="aebb6a5090c24511de4530195694bb3f3dcf0342" datatype="html">\n        <source>New bucket will be created</source>\n        <target>Nowe wiadro będzie stworzone </target>\n      </trans-unit>\n      <trans-unit id="bee6900143996c0e908a10564532eba3da0b30fb" datatype="html">\n        <source>NFS Protocol</source>\n        <target>Protokół NFS</target>\n      </trans-unit>\n      <trans-unit id="2f534178c01ebf1307da2eaeef04bc6801ebc729" datatype="html">\n        <source>NFSv3</source>\n        <target>NFSv3</target>\n      </trans-unit>\n      <trans-unit id="f5043c0921e709935ab026bb3253ffe1f159fca1" datatype="html">\n        <source>NFSv4</source>\n        <target>NFSv4</target>\n      </trans-unit>\n      <trans-unit id="92488963d23095985a47c0d6e62304e11d333f19" datatype="html">\n        <source>NFS Tag</source>\n        <target>Tag NFS</target>\n      </trans-unit>\n      <trans-unit id="aae93362720aea94623682996dd3fcd0f906f056" datatype="html">\n        <source>Alternative access for \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v3\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> mounts (it must not have a leading /).\n        </source>\n        <target>Alternative access for \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v3\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> mounts (it must not have a leading /).\n        </target>\n      </trans-unit>\n      <trans-unit id="45d6db77dcf1a3eeb921033abc7882e517a541cc" datatype="html">\n        <source>Clients may not mount subdirectories (i.e. if Tag = foo, the client may not mount foo/baz).</source>\n        <target>Klient może nie montować podkatalogów ( np. jeśli Tag = foo, klient może nie montować foo/baz) </target>\n      </trans-unit>\n      <trans-unit id="a1c7a8676b55e882a97c6a6fb205204f9c761afa" datatype="html">\n        <source>By using different Tag options, the same Path may be exported multiple times.</source>\n        <target>Używając różnych opcji Tagu, ta sama Ścieżka może być wyeksportowana kilka razy.</target>\n      </trans-unit>\n      <trans-unit id="6d2c39708a32910f89701dd7e1cfb9ec1c195768" datatype="html">\n        <source>Pseudo</source>\n        <target>Pseudo</target>\n      </trans-unit>\n      <trans-unit id="1f8be2ae25947bec0b84c2338201580ea053f34e" datatype="html">\n        <source>The position that this \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v4\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> export occupies\n                in the \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>Pseudo FS\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> (it must be unique).\n        </source>\n        <target>The position that this \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v4\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> export occupies\n                in the \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>Pseudo FS\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> (it must be unique).\n        </target>\n      </trans-unit>\n      <trans-unit id="f3af55f7fd5b1d9e5a53e030c80116dc635bfb9f" datatype="html">\n        <source>By using different Pseudo options, the same Path may be exported multiple times.</source>\n        <target>Używając różnych opcji Pseudo, ta sama Ścieżka może być wyeksportowana kilka razy.</target>\n      </trans-unit>\n      <trans-unit id="ddf98fcdeeb17643db020d54f42b5e56b5f9a52a" datatype="html">\n        <source>Pseudo needs to start with a \'/\' and can\'t contain any of the following: &gt;, &lt;, |, &amp;, ( or ).</source>\n        <target>Pseudo needs to start with a \'/\' and can\'t contain any of the following: &gt;, &lt;, |, &amp;, ( or ).</target>\n      </trans-unit>\n      <trans-unit id="27eb35c4b4ac08781a7253a2ab40f8f7d957ba51" datatype="html">\n        <source>-- No access type available --</source>\n        <target>-- Brak dostępnych typów dostępu --</target>\n      </trans-unit>\n      <trans-unit id="509ce016c9110a54028dafd741f15ceacbe74b5a" datatype="html">\n        <source>-- Select the access type --</source>\n        <target>-- Wybierz typ dostępu --</target>\n      </trans-unit>\n      <trans-unit id="49850390a653cd05dc5843d74ef073a9122b54c9" datatype="html">\n        <source>The Object Gateway NFS backend has a number of\n              limitations which will seriously affect applications writing to\n              the share. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for details before enabling write access.\n        </source>\n        <target>The Object Gateway NFS backend has a number of\n              limitations which will seriously affect applications writing to\n              the share. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for details before enabling write access.\n        </target>\n      </trans-unit>\n      <trans-unit id="4deda03573eaaff77e63f6a238a1f0ca7816950a" datatype="html">\n        <source>-- No squash available --</source>\n        <target>- Brak squasha -</target>\n      </trans-unit>\n      <trans-unit id="a0e82a4da88e7fdf270444f838d45849676e9d4b" datatype="html">\n        <source>--Select what kind of user id squashing is performed --</source>\n        <target>-- Wybierz, jakiego rodzaju identyfikacja użytkownika ma być przeprowadzana --</target>\n      </trans-unit>\n      <trans-unit id="d01b7c3f7f06712c53d054cfbe4f53d446b038e8" datatype="html">\n        <source>Transport Protocol</source>\n        <target>Protokół Transportu </target>\n      </trans-unit>\n      <trans-unit id="d2a6ad6e8bc315f07911722c05767ac79c136d99" datatype="html">\n        <source>UDP</source>\n        <target>UDP</target>\n      </trans-unit>\n      <trans-unit id="9c030f11e0aae9b24d2c048c57f29f590be621df" datatype="html">\n        <source>TCP</source>\n        <target>TCP</target>\n      </trans-unit>\n      <trans-unit id="734c9905951a774870497c5aaae8e3ee833b6196" datatype="html">\n        <source>CephFS</source>\n        <target>CephFS</target>\n      </trans-unit>\n      <trans-unit id="449dca3d3a93ead418b0541ea81b0dda7e6483c2" datatype="html">\n        <source>Welcome to Ceph!</source>\n        <target>Witamy w Cephie! </target>\n        <note>The welcome message on the login page</note>\n      </trans-unit>\n      <trans-unit id="0070e83d11da39d6f4bb95065c2675db1610b419" datatype="html">\n        <source>Username is required</source>\n        <target>Nazwa użytkownika jest wymagana</target>\n      </trans-unit>\n      <trans-unit id="1e20f8b8a4706526c9024cc2f39d568345d100dc" datatype="html">\n        <source>Password is required</source>\n        <target>Hasło jest wymagane.</target>\n      </trans-unit>\n      <trans-unit id="6765b4c916060f6bc42d9bb69e80377dbcb5e4e9" datatype="html">\n        <source>Login</source>\n        <target>Zaloguj</target>\n      </trans-unit>\n      <trans-unit id="58fc1b5c79a75370eb52644fd83fb2e7096b6649" datatype="html">\n        <source>Sorry, the user does not exist in Ceph.</source>\n        <target>Przepraszam, użytkownik nie istnieje w  Ceph.</target>\n      </trans-unit>\n      <trans-unit id="d9deb94f78e7c41b35c6622b874f06657d7604c1" datatype="html">\n        <source>Return to \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Login Page\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You\'ll be logged out from the Identity Provider when you retry logging in.\n        </source>\n        <target>Return to \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Login Page\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You\'ll be logged out from the Identity Provider when you retry logging in.\n        </target>\n      </trans-unit>\n      <trans-unit id="0eb15f32b2b92d7f3103ef3ff032621888a8dc32" datatype="html">\n        <source>Old password</source>\n        <target>Old password</target>\n      </trans-unit>\n      <trans-unit id="1cf42e491adc166a337a960eb84d03c0c3f677c8" datatype="html">\n        <source>The old and new passwords must be different.</source>\n        <target>The old and new passwords must be different.</target>\n      </trans-unit>\n      <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229" datatype="html">\n        <source>New password</source>\n        <target>New password</target>\n      </trans-unit>\n      <trans-unit id="595ebc9279497f6dc733777e2816bee936901388" datatype="html">\n        <source>Too weak</source>\n        <target>Too weak</target>\n      </trans-unit>\n      <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b" datatype="html">\n        <source>Confirm new password</source>\n        <target>Confirm new password</target>\n      </trans-unit>\n      <trans-unit id="90163a3d3746819aef42e829f4446331232f3b66" datatype="html">\n        <source>Password confirmation doesn\'t match the new password.</source>\n        <target>Password confirmation doesn\'t match the new password.</target>\n      </trans-unit>\n      <trans-unit id="471e78026c258073ba687478dc54c35d9041ea42" datatype="html">\n        <source>Forbidden</source>\n        <target>Zakazany</target>\n      </trans-unit>\n      <trans-unit id="02ea8ad57677e3c63f3d7814ca5e6c7b74e360b4" datatype="html">\n        <source>Sorry, you are not allowed to see what you were looking for.</source>\n        <target>Przepraszam, nie masz dostępu do tego czego szukasz. </target>\n      </trans-unit>\n      <trans-unit id="e3c028c58f92453d46f09b5adf95b2f013ee0300" datatype="html">\n        <source>Sorry, we could not find what you were looking for</source>\n        <target>Przepraszam, nie możemy znaleźć tego czego szukasz.</target>\n      </trans-unit>\n      <trans-unit id="a949d7e577902d0e5dc5d0971bb0170a21be7728" datatype="html">\n        <source>[object Object]</source>\n        <target>[object Object]</target>\n      </trans-unit>\n      <trans-unit id="ff92fbdec9fdd5054493eeda0d7ee8b450f83e72" datatype="html">\n        <source>RBD Configuration</source>\n        <target>Konfiguracja RBD</target>\n      </trans-unit>\n      <trans-unit id="b62d9efc8eb3b589904f6cb96a0406bbda55673a" datatype="html">\n        <source>Remove the local configuration value. The parent configuration value will be inherited and used instead.</source>\n        <target>Usuń wartość konfiguracji lokalnej. Wartość konfiguracji rodzica będzie odziedziczona i zostanie użyta zamiast tej.</target>\n      </trans-unit>\n      <trans-unit id="963488a1010d46067b238c4ae917fab3907c0a3a" datatype="html">\n        <source>The mininum value is 0</source>\n        <target>Minimalna wartość wynosi 0.</target>\n      </trans-unit>\n      <trans-unit id="1d8a7c8aea58294a3c57c23af0468ddf0ba0c9c7" datatype="html">\n        <source>Pools List</source>\n        <target>Lista puli</target>\n      </trans-unit>\n      <trans-unit id="490e15ecc922965b6d8194754c87c5583aa071f3" datatype="html">\n        <source>The name can only consist of alphanumeric characters, dashes and underscores.</source>\n        <target>Nazwa może składać się z alfanumerycznych znaków, kresek i podkreśleń.</target>\n      </trans-unit>\n      <trans-unit id="9edc2b494e660618af3e5225f68d40b7ca67629c" datatype="html">\n        <source>The chosen erasure code profile name is already in use.</source>\n        <target>Wybrana nazwa profilu kodu kasowania jest już używana.</target>\n      </trans-unit>\n      <trans-unit id="ef9ff0e6227947b48dfab4ac39ade04af758913b" datatype="html">\n        <source>Plugin</source>\n        <target>Wtyczka</target>\n      </trans-unit>\n      <trans-unit id="dd69b31bce8f630eac1d4762b0bbcf72ce19d193" datatype="html">\n        <source>Data chunks (k)</source>\n        <target>Ramka danych (k)</target>\n      </trans-unit>\n      <trans-unit id="b0d26a6172d32cb81218fe2103c54a818cbc1189" datatype="html">\n        <source>Must be equal to or greater than 2.</source>\n        <target>Musi być większa bądź równa 2.</target>\n      </trans-unit>\n      <trans-unit id="dab3a299ead121169b8e08ed618c3b6a2f66691b" datatype="html">\n        <source>Coding chunks (m)</source>\n        <target>Kodowanie kawałka (m)</target>\n      </trans-unit>\n      <trans-unit id="1e2773e5bd4948193f18f2361d663ecc3988c656" datatype="html">\n        <source>Must be equal to or greater than 1.</source>\n        <target>Musi być większa bądź równa 1.</target>\n      </trans-unit>\n      <trans-unit id="6cde4c945a49a260c0a47bcc7cd956846930a5f7" datatype="html">\n        <source>Durability estimator (c)</source>\n        <target>Estymator trwałości (c)</target>\n      </trans-unit>\n      <trans-unit id="af668c2a095a979ea2b4e43cd82c2120ab56c21c" datatype="html">\n        <source>Locality (l)</source>\n        <target>Lokalność  (l)</target>\n      </trans-unit>\n      <trans-unit id="d455a110bf6d2235e314e295ce1dfeee93d3dff2" datatype="html">\n        <source>Crush failure domain</source>\n        <target>Domena niepowodzenia Crush</target>\n      </trans-unit>\n      <trans-unit id="b74a495f041f7dd102eee5c0bbc9e03083b538ae" datatype="html">\n        <source>Crush Locality</source>\n        <target>Lokalność Crusha</target>\n      </trans-unit>\n      <trans-unit id="a2f14a73f7a6e94479f67423cc51102da8d6f524" datatype="html">\n        <source>None</source>\n        <target>Nic</target>\n      </trans-unit>\n      <trans-unit id="2981733b912b693a9dd9d915d6d34f4692cc874a" datatype="html">\n        <source>Technique</source>\n        <target>Technika</target>\n      </trans-unit>\n      <trans-unit id="e0098b6e47b04ec817361f384ce81d454ba5c0bb" datatype="html">\n        <source>Packetsize</source>\n        <target>Rozmiar pakietu</target>\n      </trans-unit>\n      <trans-unit id="c0252cd81ca54d0a2f69ec9ccf4248e73df5aa4a" datatype="html">\n        <source>Crush root</source>\n        <target>korzeń Crusha</target>\n      </trans-unit>\n      <trans-unit id="1548d5c76f0406ddd1ba3c557e1e6db22e95b340" datatype="html">\n        <source>Crush device class</source>\n        <target>urządzenie klasy Crush</target>\n      </trans-unit>\n      <trans-unit id="5e85feb6f9f0334366e46ee09ca6b8df52397432" datatype="html">\n        <source>any</source>\n        <target>którykolwiek</target>\n      </trans-unit>\n      <trans-unit id="03d84645f6e019c5a43909bbf2ea1696ee88332c" datatype="html">\n        <source>Directory</source>\n        <target>Katalog</target>\n      </trans-unit>\n      <trans-unit id="2fecea01ce1d44114ee45144eff6d47a5016a74f" datatype="html">\n        <source>Name...</source>\n        <target>Nazwa...</target>\n      </trans-unit>\n      <trans-unit id="16e113230b6b0d3165e076300880542bac7c8138" datatype="html">\n        <source>The chosen Ceph pool name is already in use.</source>\n        <target>Wybrana nazwa Ceph pula jest już użyta.</target>\n      </trans-unit>\n      <trans-unit id="c75b132bef7b29fa5171768303c4b96e34ccaf68" datatype="html">\n        <source>It\'s not possible to create an RBD pool with \'/\' in the name.\n              Please change the name or remove \'rbd\' from the applications list.</source>\n        <target>It\'s not possible to create an RBD pool with \'/\' in the name.\n              Please change the name or remove \'rbd\' from the applications list.</target>\n      </trans-unit>\n      <trans-unit id="b85c657469e5ec8231c3de99b22f437bc01ffde5" datatype="html">\n        <source>Pool type</source>\n        <target>Typ pula</target>\n      </trans-unit>\n      <trans-unit id="526c5443254c3b126eedb264840ffe827727bfd3" datatype="html">\n        <source>-- Select a pool type --</source>\n        <target>-- Wybierz typ pula --</target>\n      </trans-unit>\n      <trans-unit id="0aa21053410a94aa61d16985a4e95fd65523430d" datatype="html">\n        <source>Placement groups</source>\n        <target>Grupa umieszczenia</target>\n      </trans-unit>\n      <trans-unit id="6301f1391d726f8f450bb358058534db19541ca9" datatype="html">\n        <source>At least one placement group is needed!</source>\n        <target>Przynajmniej jedna grupa umieszczenia jest wymagana</target>\n      </trans-unit>\n      <trans-unit id="ba9469a1ce6ed36e039c1f67247c8c81a5c71449" datatype="html">\n        <source>Your cluster can\'t handle this many PGs. Please recalculate the PG amount needed.</source>\n        <target>Twój klaster nie obsługuje tylu PG. Skalkuluj proszę potrzebną ilość PG.</target>\n      </trans-unit>\n      <trans-unit id="80ac68cd883369dac20688bc32b4cb33291b5e50" datatype="html">\n        <source>Calculation help</source>\n        <target>Pomoc obliczeniowa</target>\n      </trans-unit>\n      <trans-unit id="fccbd60493df26705d957ed6c02a3c447894678f" datatype="html">\n        <source>The current PGs settings were calculated for you, you\n                should make sure the values suit your needs before submit.</source>\n        <target>The current PGs settings were calculated for you, you\n                should make sure the values suit your needs before submit.</target>\n      </trans-unit>\n      <trans-unit id="33150f22ce5348aa6c499bd092c3f4f3695d62cc" datatype="html">\n        <source>Crush ruleset</source>\n        <target>zbiór zasad Crush</target>\n      </trans-unit>\n      <trans-unit id="73a6b31116b3cc322af951daa0bafdc169e6c42e" datatype="html">\n        <source>-- Select a crush rule --</source>\n        <target>-- Wybierz zasadę Crush --</target>\n      </trans-unit>\n      <trans-unit id="92da80699921e89fb19372e25b8d0f3b9fa427fc" datatype="html">\n        <source>Crush rule</source>\n        <target>zasada Crush</target>\n      </trans-unit>\n      <trans-unit id="5489e9f96835f469f6f728a00d8efa88ea5bc940" datatype="html">\n        <source>Crush steps</source>\n        <target>Kroki Crush</target>\n      </trans-unit>\n      <trans-unit id="54a53b1b402aafff5b992ee9b64e409fbfe9074f" datatype="html">\n        <source>The rule can\'t be used in the current cluster as it has\n                to few OSDs to meet the minimum required OSD by this rule.</source>\n        <target>Zasada nie może być użyta w obecnym klastrze, gdyż ma\nzbyt mało OSD-ków, żeby spełnić minimum OSD-ków wymaganych przez tę zasadę.</target>\n      </trans-unit>\n      <trans-unit id="a43b2695131b48b76cebba676aba98a2bee17515" datatype="html">\n        <source>Replicated size</source>\n        <target>Replikowany rozmiar</target>\n      </trans-unit>\n      <trans-unit id="7bff144a4c4dc63b0e18fff2617d61a7ebdf2b6c" datatype="html">\n        <source>Minimum: \n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/>\n        </source>\n        <target>Minimum: \n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="1a9c54b41f6d58a74e5d0aa3429ed0c87a482551" datatype="html">\n        <source>Maximum: \n          <x id="INTERPOLATION" equiv-text="{{ getMaxSize() }}"/>\n        </source>\n        <target>Maximum: \n          <x id="INTERPOLATION" equiv-text="{{ getMaxSize() }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6ab647b95bd2347ae6f4605576de5e0269fb893a" datatype="html">\n        <source>The size specified is out of range. A value from\n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/> to \n          <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.\n        </source>\n        <target>The size specified is out of range. A value from\n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/> to \n          <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.\n        </target>\n      </trans-unit>\n      <trans-unit id="9de7dde00e2139cc4bd03b1837afbe72ad15a1ff" datatype="html">\n        <source>Erasure code profile</source>\n        <target>Skasuj profil kodu.</target>\n      </trans-unit>\n      <trans-unit id="39b4620e6bd444e0a57a0a5c03fa8c96d7fe5235" datatype="html">\n        <source>-- No erasure code profile available --</source>\n        <target>-- Brak profilu kasowania --</target>\n      </trans-unit>\n      <trans-unit id="498561757390d5528b263ce450d5f38efb00266d" datatype="html">\n        <source>-- Select an erasure code profile --</source>\n        <target>-- Wybierz profil kodu wymazywania --</target>\n      </trans-unit>\n      <trans-unit id="920617c6a1a4805e53bcb5af6a9c76f8387e89c6" datatype="html">\n        <source>Flags</source>\n        <target>Flagi</target>\n      </trans-unit>\n      <trans-unit id="1c870fb00256b8a5b9cb9cd1a124e6390b9bc639" datatype="html">\n        <source>EC Overwrites</source>\n        <target>EC Nadpisuje</target>\n      </trans-unit>\n      <trans-unit id="f1abafaeb40ce52355ddcc24686e3cd17b64e08a" datatype="html">\n        <source>Applications</source>\n        <target>Zastosowania</target>\n      </trans-unit>\n      <trans-unit id="2208d63d5940ce656006a220102b1eb2b5e553da" datatype="html">\n        <source>Compression</source>\n        <target>Kompresja</target>\n      </trans-unit>\n      <trans-unit id="37e10df2d9c0c25ef04ac112c9c9a7723e8efae0" datatype="html">\n        <source>Mode</source>\n        <target>Tryb</target>\n      </trans-unit>\n      <trans-unit id="6c6f25c47da62ec597c6057a36ddfc3209811ec5" datatype="html">\n        <source>Algorithm</source>\n        <target>Algorytm</target>\n      </trans-unit>\n      <trans-unit id="4903231d42089325a28892c0fde1aed46b733ae6" datatype="html">\n        <source>-- No erasure compression algorithm available --</source>\n        <target>-- Brak algorytmu kompresji wymazywania --</target>\n      </trans-unit>\n      <trans-unit id="5d68ddb254275f8f44221e9ad6d8ceeb59ca46a6" datatype="html">\n        <source>Minimum blob size</source>\n        <target>Minimalny rozmiar blob</target>\n      </trans-unit>\n      <trans-unit id="fb2f176df80647137cbb02bbeb29e5dec707a400" datatype="html">\n        <source>e.g., 128KiB</source>\n        <target>np. 128 KB</target>\n      </trans-unit>\n      <trans-unit id="1b7f6e53a4521c6eb3ced4c007fdd4cf80bb7707" datatype="html">\n        <source>Value should be greater than 0</source>\n        <target>Wartość powinna być większa niż 0</target>\n      </trans-unit>\n      <trans-unit id="8db98ab14b4e207ec763dfdefbc2dae367aab1cc" datatype="html">\n        <source>Value should be less than the maximum blob size</source>\n        <target>Value should be less than the maximum blob size</target>\n      </trans-unit>\n      <trans-unit id="151efb127a9a4dd25259a0b2055442318a141f5b" datatype="html">\n        <source>Maximum blob size</source>\n        <target>Maksymalny rozmiar blob</target>\n      </trans-unit>\n      <trans-unit id="0c656f0e346bbadf46eb1a5d20d0307a3bd20ba8" datatype="html">\n        <source>e.g., 512KiB</source>\n        <target>np. 512 KB</target>\n      </trans-unit>\n      <trans-unit id="0a65a24eee8a026f3b1113fe9e157e9a0dd69486" datatype="html">\n        <source>Value should be greater than the minimum blob size</source>\n        <target>Wartość powinna być większa niż minimalny rozmiar blob</target>\n      </trans-unit>\n      <trans-unit id="261ba09c4a59de83f48f52a23fd328da37e61ff4" datatype="html">\n        <source>Ratio</source>\n        <target>Stosunek</target>\n      </trans-unit>\n      <trans-unit id="c1430457a9c3c66366e51d76bf10396014c576be" datatype="html">\n        <source>Compression ratio</source>\n        <target>Skompresowany stosunek</target>\n      </trans-unit>\n      <trans-unit id="ae5ce6de352cde949998fb10754459c3a4eb183b" datatype="html">\n        <source>Value should be between 0.0 and 1.0</source>\n        <target>Wartość powinna być pomiędzy 0.0, a 1.0</target>\n      </trans-unit>\n      <trans-unit id="8bb8293aa8161433778762ae025ffd5e7c85795e" datatype="html">\n        <source>Quotas</source>\n        <target>Quotas</target>\n      </trans-unit>\n      <trans-unit id="d99b34162c9c34f10d0ccd8dbae83d8569c2db77" datatype="html">\n        <source>Max bytes</source>\n        <target>Max bytes</target>\n      </trans-unit>\n      <trans-unit id="a1d14a18879c62f3f4ed705318b7164a1160e249" datatype="html">\n        <source>Leave it blank or specify 0 to disable this quota.</source>\n        <target>Leave it blank or specify 0 to disable this quota.</target>\n      </trans-unit>\n      <trans-unit id="7565b131562ff6c5f769fdbd239a772154abdd97" datatype="html">\n        <source>A valid quota should be greater than 0.</source>\n        <target>A valid quota should be greater than 0.</target>\n      </trans-unit>\n      <trans-unit id="f0016bd458baa88284a658ce9eeda42d8ad88d2c" datatype="html">\n        <source>e.g., 10GiB</source>\n        <target>np. 10 GiB</target>\n      </trans-unit>\n      <trans-unit id="b8bf35b66f09a301eef92ffc3cb2fd259df67ce9" datatype="html">\n        <source>Max objects</source>\n        <target>Max objects</target>\n      </trans-unit>\n      <trans-unit id="95f348167622d832c5ae532b6944635c8e2ae5cb" datatype="html">\n        <source>The value should be greater or equal to 0</source>\n        <target>The value should be greater or equal to 0</target>\n      </trans-unit>\n      <trans-unit id="fbbaf5cb02ed419e79a27072478f716a4666a99d" datatype="html">\n        <source>Performance Details</source>\n        <target>Szczegóły wydajności</target>\n      </trans-unit>\n      <trans-unit id="3938a411d76796f8ae73b72ea4c77661207453bd" datatype="html">\n        <source>Cache Tiers Details</source>\n        <target>Szczegóły poziomów pamięci podręcznej</target>\n      </trans-unit>\n      <trans-unit id="f0b5d789d42c0e69348e5fe0037fcbf5b5fbbdcc" datatype="html">\n        <source>Move an image to trash</source>\n        <target>Przenieś obraz do kosza</target>\n      </trans-unit>\n      <trans-unit id="86301cf2044b1eda218483365f6b9de8dde5040b" datatype="html">\n        <source>To move \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{ imageName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,\n          click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optionally, you can pick an expiration date.\n        </source>\n        <target>To move \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{ imageName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,\n          click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optionally, you can pick an expiration date.\n        </target>\n      </trans-unit>\n      <trans-unit id="88f27d390844aad53b4240360e928156c5f0d326" datatype="html">\n        <source>Protection expires at</source>\n        <target>Zabezpieczenie wygasa w </target>\n      </trans-unit>\n      <trans-unit id="da166e9a0d27322f6ba8916d71ecc0f9905bb4b1" datatype="html">\n        <source>NOT PROTECTED</source>\n        <target>NIEZABEZPIECZONY </target>\n      </trans-unit>\n      <trans-unit id="a1506e5f2ca22cad14502ec7a20fb6113ace145d" datatype="html">\n        <source>Wrong date format. Please use "YYYY-MM-DD HH:mm:ss".</source>\n        <target>Zły format daty. Proszę używać "RRRR-MM-DD GG:mm:ss".</target>\n      </trans-unit>\n      <trans-unit id="aa7ea0bb7495281e0b3258467ac7d90a1e44a1a1" datatype="html">\n        <source>Protection has already expired. Please pick a future date or leave it empty.</source>\n        <target>Ochrona już wygasła. Proszę wybrać przyszłą datę lub zostawić pustą.</target>\n      </trans-unit>\n      <trans-unit id="536b3205c0c0d4d21685ec06feccfcf2fe14deb1" datatype="html">\n        <source>Move Image</source>\n        <target>Przenieś obraz</target>\n      </trans-unit>\n      <trans-unit id="8a9910cd114c1deb9af74f6f99b4173403965bf2" datatype="html">\n        <source>Gateways</source>\n        <target>Gateways</target>\n      </trans-unit>\n      <trans-unit id="8835b9e49a3348b0a2f2162c21118af1f4bee45a" datatype="html">\n        <source>Must be greater than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'min\'] }}"/>.\n        </source>\n        <target>Must be greater than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'min\'] }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="bbddac59563c8c126e3fe28691e4e247614fcbd1" datatype="html">\n        <source>Must be less than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'max\'] }}"/>.\n        </source>\n        <target>Must be less than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'max\'] }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="e95ae009d0bdb45fcc656e8b65248cf7396080d5" datatype="html">\n        <source>Overview</source>\n        <target>Przegląd</target>\n      </trans-unit>\n      <trans-unit id="bbd2045d5c37e4bb39a3c0fb62ea1ddf70a12838" datatype="html">\n        <source>Targets</source>\n        <target>Obiekty docelowe</target>\n      </trans-unit>\n      <trans-unit id="6803e31b7395d94934e091a49a9524026b59b018" datatype="html">\n        <source>Discovery Authentication</source>\n        <target>Uwierzytelnianie wykrywania</target>\n      </trans-unit>\n      <trans-unit id="e08a77594f3d89311cdf6da5090044270909c194" datatype="html">\n        <source>User</source>\n        <target>Użytkownik</target>\n      </trans-unit>\n      <trans-unit id="0214f773f8e394f50f953f39962e352d7863e959" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n              can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Nazwy użytkowników muszą mieć długość od 8 do 64 znaków i \nmogą zawierać jedynie litery, \'.\', \'@\', \'-\', \'_\' lub \':\'.</target>\n      </trans-unit>\n      <trans-unit id="c32ef07f8803a223a83ed17024b38e8d82292407" datatype="html">\n        <source>Password</source>\n        <target>Hasło</target>\n      </trans-unit>\n      <trans-unit id="6682d1c00263bee204583a5d589b308b6be88b0f" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n              and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n              and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="ff40391de7a1944ea95091e4045cc34c4979b736" datatype="html">\n        <source>Mutual User</source>\n        <target>Wspólny użytkownik </target>\n      </trans-unit>\n      <trans-unit id="0cf73dbebe99b737c4d288788182fc356e3c93d3" datatype="html">\n        <source>Mutual Password</source>\n        <target>Wspólne hasło</target>\n      </trans-unit>\n      <trans-unit id="8800276925157c666b103c36ff7fe8ffe11980b4" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters and\n              can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters and\n              can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="53a583cd5f15059cc958b7d547f72cc78f68e123" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n    on how to configure and enable the iSCSI Targets management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n    on how to configure and enable the iSCSI Targets management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="3b301d0044f62c92af0da53d7aaca52a436a547d" datatype="html">\n        <source>Available information:</source>\n        <target>Dostępne informacje: </target>\n      </trans-unit>\n      <trans-unit id="332227f088a4877b3c11f5fb3ae8bc812c470fae" datatype="html">\n        <source>iSCSI Targets not available</source>\n        <target>obiekty docelowe iSCSI niedostępne </target>\n      </trans-unit>\n      <trans-unit id="8414a5cb9d71cc1b21b10e4a9d1f2dad558f3361" datatype="html">\n        <source>Discovery authentication</source>\n        <target>Discovery authentication</target>\n      </trans-unit>\n      <trans-unit id="0f6e8f6094b180eaf1f11bc0ffe383f1cdcd059e" datatype="html">\n        <source>Only available for RBD images with \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>fast-diff\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> enabled\n        </source>\n        <target>Only available for RBD images with \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>fast-diff\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> enabled\n        </target>\n      </trans-unit>\n      <trans-unit id="e70fcca5a99575cffef3ff8cbd5e69f06ffd0f1c" datatype="html">\n        <source>Pool</source>\n        <target>Pul</target>\n      </trans-unit>\n      <trans-unit id="03cc5b14b0a20d075e9009ff021f4f1660ba348a" datatype="html">\n        <source>Data Pool</source>\n        <target>Dane pula</target>\n      </trans-unit>\n      <trans-unit id="1b051734b0ee9021991c91b3ed4e81c244322462" datatype="html">\n        <source>Created</source>\n        <target>Utworzony</target>\n      </trans-unit>\n      <trans-unit id="7faaaa08f56427999f3be41df1093ce4089bbd75" datatype="html">\n        <source>Size</source>\n        <target>Rozmiar</target>\n      </trans-unit>\n      <trans-unit id="afdb601c16162f2c798b16a2920955f1cc6a20aa" datatype="html">\n        <source>Objects</source>\n        <target>Obiekty</target>\n      </trans-unit>\n      <trans-unit id="ceac8e132384322ec778ba760875a6c6897d3e42" datatype="html">\n        <source>Object size</source>\n        <target>Rozmiar obiektu</target>\n      </trans-unit>\n      <trans-unit id="6cdb1fea93d77c07950c0c76c6e0ad79ebbef084" datatype="html">\n        <source>Features</source>\n        <target>Funkcje</target>\n      </trans-unit>\n      <trans-unit id="0a65771c9a73b9aa609d592fc96a64801a8f40bd" datatype="html">\n        <source>Provisioned</source>\n        <target>Zaopatrzony</target>\n      </trans-unit>\n      <trans-unit id="84a36cb75660b736773fe36ffa3d54f0f0fe363e" datatype="html">\n        <source>N/A</source>\n        <target>Niedostępny</target>\n      </trans-unit>\n      <trans-unit id="e5c009342a4e8381f64341d0bb61c2e4685f5a4b" datatype="html">\n        <source>Total provisioned</source>\n        <target>Całkowite rezerwy</target>\n      </trans-unit>\n      <trans-unit id="7f6bf8a43ae415f527ac961ea62471b983aaa97b" datatype="html">\n        <source>Striping unit</source>\n        <target>Jednostka maskowana</target>\n      </trans-unit>\n      <trans-unit id="db710e8a8f011923f2d15d713fbae49c38b02b26" datatype="html">\n        <source>Striping count</source>\n        <target>Licznik maskowania</target>\n      </trans-unit>\n      <trans-unit id="3a4c2a9e76634ff14a60d52a718296f722d47c67" datatype="html">\n        <source>Parent</source>\n        <target>Rodzic</target>\n      </trans-unit>\n      <trans-unit id="6a209e68d78ffc2cc9c53d2e76158624efab71ad" datatype="html">\n        <source>Block name prefix</source>\n        <target>Prefiks nazwy bloku</target>\n      </trans-unit>\n      <trans-unit id="5704ec2049d007c5f5fb495a5d8b607e68d58081" datatype="html">\n        <source>Order</source>\n        <target>Zamówienie</target>\n      </trans-unit>\n      <trans-unit id="f21b1d17b6c5042bb5805516eee37fde33739dd8" datatype="html">\n        <source>Snapshots</source>\n        <target>Migawki</target>\n      </trans-unit>\n      <trans-unit id="a5f9ba9bb9faa8284bcadb1cdbc6aaf969e9c4bb" datatype="html">\n        <source>Image</source>\n        <target>Obraz</target>\n      </trans-unit>\n      <trans-unit id="58e58f1a8786da9031a05e6770c5dafce82badf5" datatype="html">\n        <source>This setting overrides the global value</source>\n        <target>To ustawienie zastępuję wartość globalną.</target>\n      </trans-unit>\n      <trans-unit id="5decb3917d46a9ac6e5813699801becb7c3c1455" datatype="html">\n        <source>Global</source>\n        <target>Globalne</target>\n      </trans-unit>\n      <trans-unit id="36b46714164964c6258b08ed0a25f57d8a950f92" datatype="html">\n        <source>This is the global value. No value for this option has been set for this image.</source>\n        <target>To jest globalna wartość. Dla tego obrazu nie ustawiono żadnej wartości dla tej opcji.</target>\n      </trans-unit>\n      <trans-unit id="6547c9c4d5f62942ac4b1fe459cf9a03d4dbf5a0" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/> from\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/> from\n        </target>\n      </trans-unit>\n      <trans-unit id="0e9ecf29a4fa5b057bd8052e0d801b3fde6a30bf" datatype="html">\n        <source>\'/\' and \'@\' are not allowed.</source>\n        <target>\'/\' and \'@\' nie są dozwolone.</target>\n      </trans-unit>\n      <trans-unit id="b99417c4dd46286ffd37c8d2e987c8b512ec7052" datatype="html">\n        <source>-- No rbd pools available --</source>\n        <target>-- Brak dostępnych rbd puli --  </target>\n      </trans-unit>\n      <trans-unit id="ef83ec9c304a89d45650e580dcdc2978c37b3a83" datatype="html">\n        <source>-- Select a pool --</source>\n        <target>-- Wybierz pul --</target>\n      </trans-unit>\n      <trans-unit id="49449943d8cbf59d8c401c8bd2e76f92e207cc5f" datatype="html">\n        <source>Use a dedicated data pool</source>\n        <target>Użyj dedykowanych danych pul </target>\n      </trans-unit>\n      <trans-unit id="870aee0dd31a9643bf62007beb8f1ae1deb34d42" datatype="html">\n        <source>Data pool</source>\n        <target>Dane pul</target>\n      </trans-unit>\n      <trans-unit id="3792ca829d9b9f687e1f5d7733d30e9bb0bfec47" datatype="html">\n        <source>Dedicated pool that stores the object-data of the RBD.</source>\n        <target>Dedykowany pul, który przechowuje dane obiektowe z RBD</target>\n      </trans-unit>\n      <trans-unit id="0a88bbee20570aaf9615332fb27020627044874d" datatype="html">\n        <source>You have to increase the size.</source>\n        <target>Musisz zwiększyć rozmiar.</target>\n      </trans-unit>\n      <trans-unit id="bc2e854e111ecf2bd7db170da5e3c2ed08181d88" datatype="html">\n        <source>Advanced</source>\n        <target>Zaawansowane</target>\n      </trans-unit>\n      <trans-unit id="3562a3778695a5f9c0445660e35301f0a39aaf73" datatype="html">\n        <source>Striping</source>\n        <target>Maskowanie</target>\n      </trans-unit>\n      <trans-unit id="ef3c3f3b5f562a5cdbe0ee2874287db1534b5958" datatype="html">\n        <source>Stripe unit</source>\n        <target>Jednostka pasków</target>\n      </trans-unit>\n      <trans-unit id="84471be1049006edecbcaef1a32ae0893c229c50" datatype="html">\n        <source>-- Select stripe unit --</source>\n        <target>-- Wybierz jednostkę pasków -- </target>\n      </trans-unit>\n      <trans-unit id="8d32c5c54c8581c774a7f467fbd4e329b15a74fa" datatype="html">\n        <source>This field is required because stripe count is defined!</source>\n        <target>Pole jest wymagane, ponieważ licznik pasków jest zdefiniowany. </target>\n      </trans-unit>\n      <trans-unit id="6bbf9040be7c5491d4a03f2185708f43a6582a3b" datatype="html">\n        <source>Stripe unit is greater than object size.</source>\n        <target>Jednostka pasków jest większa niż rozmiar obiektu.</target>\n      </trans-unit>\n      <trans-unit id="a682f49f9b761591661276d7c6f550e641a130a4" datatype="html">\n        <source>Stripe count</source>\n        <target>Licznik pasków </target>\n      </trans-unit>\n      <trans-unit id="baa74031990c5370008ba622d0a250f0929097f4" datatype="html">\n        <source>This field is required because stripe unit is defined!</source>\n        <target>Pole jest wymagane, ponieważ jednostka pasków jest zdefiniowana! </target>\n      </trans-unit>\n      <trans-unit id="cd2ada6d5ecbd5cbf89eae0a1f5326efedac0dbc" datatype="html">\n        <source>Stripe count must be greater than 0.</source>\n        <target>Licznik pasków musi być większy od 0.</target>\n      </trans-unit>\n      <trans-unit id="3f67f30568e9ae47507d46e28e1e82a7dca772e2" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> RBD Snapshot\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> RBD Snapshot\n        </target>\n      </trans-unit>\n      <trans-unit id="1628d19a4490817c18be2afab410ca4adfa62ea7" datatype="html">\n        <source>{VAR_SELECT, select, true {Rename} other {Create} }</source>\n        <target>{VAR_SELECT, wybierz, prawda {Zmień nazwe} inaczej{Utwórz} }</target>\n      </trans-unit>\n      <trans-unit id="73a287b41afe6b28f90edbeb98957a341a0276b4" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> Snapshot\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> Snapshot\n        </target>\n      </trans-unit>\n      <trans-unit id="cb60c1cd3655234756b5b92d4d597d92d520ee30" datatype="html">\n        <source>PROTECTED</source>\n        <target>PROTECTED</target>\n      </trans-unit>\n      <trans-unit id="deffb86b8fb0541254ad5a43862d82bff6b6a6c4" datatype="html">\n        <source>UNPROTECTED</source>\n        <target>NIEZABEZPIECZONY </target>\n      </trans-unit>\n      <trans-unit id="5c5331983af566d4ac6a1024d15a3511786a4aa6" datatype="html">\n        <source>You are about to rollback</source>\n        <target>Zaraz się wycofasz. </target>\n      </trans-unit>\n      <trans-unit id="49c0408946a6d67185947f455f15cc201d0d78e6" datatype="html">\n        <source>Purge Trash</source>\n        <target>Usuń Śmieci</target>\n      </trans-unit>\n      <trans-unit id="af728625d769b61acf291442644b89edb88faec3" datatype="html">\n        <source>To purge, select one or All images and click</source>\n        <target>Aby usunąć, wybierz jeden albo wszystkie obrazy i kliknij </target>\n      </trans-unit>\n      <trans-unit id="55a4f598a4894b7fd5cb88f0ffd3c37ad009dd70" datatype="html">\n        <source>Pool:</source>\n        <target>Pul:</target>\n      </trans-unit>\n      <trans-unit id="d43dd2b9f7797e4cf3a604695bb33e4479108516" datatype="html">\n        <source>Pool name...</source>\n        <target>Nazwa pula</target>\n      </trans-unit>\n      <trans-unit id="dfc3c34e182ea73c5d784ff7c8135f087992dac1" datatype="html">\n        <source>All</source>\n        <target>Wszystkie</target>\n      </trans-unit>\n      <trans-unit id="b0e7c7ed1d51a0c205c815048bc9f79e24ee6db2" datatype="html">\n        <source>Restore Image</source>\n        <target>Przywróć obraz</target>\n      </trans-unit>\n      <trans-unit id="7369384817e0ad61ce871c9afdfbb538df2f97c1" datatype="html">\n        <source>To restore</source>\n        <target>Przywróć</target>\n      </trans-unit>\n      <trans-unit id="e7f0abefc608f7fb452c2dc9b1cdc3dec432160e" datatype="html">\n        <source>type the image\'s new name and click</source>\n        <target>Wpisz nazwe nowego obrazu i kliknij. </target>\n      </trans-unit>\n      <trans-unit id="41307dd56fea669eed72e12a6c23af275f6bfd82" datatype="html">\n        <source>New Name</source>\n        <target>Nowa Nazwa</target>\n      </trans-unit>\n      <trans-unit id="5c96a761dc55a21882c132c929583a424c9b8cf4" datatype="html">\n        <source>Expired at</source>\n        <target>Wygasły w</target>\n      </trans-unit>\n      <trans-unit id="661041e3fcff4d3e75c561e038ca2504cf2cc643" datatype="html">\n        <source>Protected until</source>\n        <target>Zabezpieczony do</target>\n      </trans-unit>\n      <trans-unit id="0ee3b2322a1d3277f7e3fdb8a5141ac42bcf350b" datatype="html">\n        <source>This image is protected until \n          <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.\n        </source>\n        <target>This image is protected until \n          <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="aba82bfd8e177d35b76cad7cd43941f8e5e5acac" datatype="html">\n        <source>Trash</source>\n        <target>Kosz</target>\n      </trans-unit>\n      <trans-unit id="a674ab267d1934bf395f87ca1503fd474296893f" datatype="html">\n        <source>iSCSI Topology</source>\n        <target>Topologia iSCSI</target>\n      </trans-unit>\n      <trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html">\n        <source>Settings</source>\n        <target>Ustawienia</target>\n      </trans-unit>\n      <trans-unit id="9e515f954730279c31d5301f02479666d6264e8b" datatype="html">\n        <source>Changing these parameters from their default values is usually not necessary.</source>\n        <target>Zmiana tych parametrów z domyślnych wartości przeważnie nie jest potrzebna.</target>\n      </trans-unit>\n      <trans-unit id="69a47cbabcc51ca942606e1d8da0ec11f98a2690" datatype="html">\n        <source>Backstore</source>\n        <target>Tylny koniec przechowywania</target>\n      </trans-unit>\n      <trans-unit id="68e710782ccb5398b3acb8844caf0b199da2c3da" datatype="html">\n        <source>Confirm</source>\n        <target>Potwierdź</target>\n      </trans-unit>\n      <trans-unit id="339878da255ab55447c43afef8d9b2f9753bf5f6" datatype="html">\n        <source>Advanced Settings</source>\n        <target>Ustawienia zaawansowane</target>\n      </trans-unit>\n      <trans-unit id="1406c2fb12a20c1528b19bcc5e24a6a2386167f3" datatype="html">\n        <source>Target IQN</source>\n        <target>Nazwa IQN obiektu docelowego iSCSI</target>\n      </trans-unit>\n      <trans-unit id="5fe42339be910372fa689f559155631862d218e8" datatype="html">\n        <source>IQN has wrong pattern.</source>\n        <target>Błędna składnia nazwy IQN.</target>\n      </trans-unit>\n      <trans-unit id="050a7ff057d1e895357540406b6be5652b4d1c71" datatype="html">\n        <source>An IQN has the following notation\n                \'iqn.$year-$month.$reversedAddress:$definedName\'</source>\n        <target>An IQN has the following notation\n                \'iqn.$year-$month.$reversedAddress:$definedName\'</target>\n      </trans-unit>\n      <trans-unit id="c8ada4b53396d8366db00a435acc61d53d857047" datatype="html">\n        <source>For example: iqn.2016-06.org.dashboard:storage:disk.sn-a8675309</source>\n        <target>Na przykład: iqn.2016-06.org.dashboard:storage:disk.sn-a8675309</target>\n      </trans-unit>\n      <trans-unit id="e60c11e1b1dfbbeda577364b8de39ded2d796c5e" datatype="html">\n        <source>More information</source>\n        <target>Więcej informacji</target>\n      </trans-unit>\n      <trans-unit id="9b1aa85dfc6849196e64060db02c5410de69b7a1" datatype="html">\n        <source>This target has modified advanced settings.</source>\n        <target>Ten obiekt docelowy  zmodyfikował zaawansowane ustawienia.</target>\n      </trans-unit>\n      <trans-unit id="6990ad8d6182662e864495ac31c3758cda1c7a28" datatype="html">\n        <source>Portals</source>\n        <target>Portale</target>\n      </trans-unit>\n      <trans-unit id="c3638c01b6c34066438909713ec96087c813fc7e" datatype="html">\n        <source>At least \n          <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.\n        </source>\n        <target>At least \n          <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.\n        </target>\n      </trans-unit>\n      <trans-unit id="6a3ac2b4137d723fd9878cd357c2012ff6c07973" datatype="html">\n        <source>Add portal</source>\n        <target>Dodaj portal</target>\n      </trans-unit>\n      <trans-unit id="9aff25be088f0efe3eaaf62edf2bff41cc41a617" datatype="html">\n        <source>Backstore: \n          <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. \n        </source>\n        <target>Backstore: \n          <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. \n        </target>\n      </trans-unit>\n      <trans-unit id="e3484cae8b118c576ca2815bf9c9406c2eb2cae3" datatype="html">\n        <source>This image has modified settings.</source>\n        <target>Ten obraz zmodyfikował ustawienia. </target>\n      </trans-unit>\n      <trans-unit id="107c84e820909b44fe258673938a68ced1bbff72" datatype="html">\n        <source>At least 1 image is required.</source>\n        <target>Wymagany jest przynajmniej 1 obraz.</target>\n      </trans-unit>\n      <trans-unit id="808038f912fdc7f0e03f82d4afd3bf9178527fc8" datatype="html">\n        <source>Add image</source>\n        <target>Dodaj obraz.</target>\n      </trans-unit>\n      <trans-unit id="66c5fb27f52e75b70ca4b670b9b15a2a51cf9543" datatype="html">\n        <source>ACL authentication</source>\n        <target>Uwierzytelnianie ACL</target>\n      </trans-unit>\n      <trans-unit id="419c8b402609dcf49ae4932a5a4647dc8d79bbaf" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n                can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Usernames must have a length of 8 to 64 characters and\n                can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</target>\n      </trans-unit>\n      <trans-unit id="938050960d6653fddfcfd42425e18fb35a308262" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n                and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n                and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="f494bd31f095f6dcc656ce87ec2dcf07a2e9b30c" datatype="html">\n        <source>Initiators</source>\n        <target>Inicjatory iSCSI</target>\n      </trans-unit>\n      <trans-unit id="e98239d8a6be1100119ff4b5630c822b82786740" datatype="html">\n        <source>Initiator</source>\n        <target>Inicjator iSCSI</target>\n      </trans-unit>\n      <trans-unit id="f2c5059d8cda15d8d03e2cce30f2d139623d9a91" datatype="html">\n        <source>Client IQN</source>\n        <target>Klient IQN</target>\n      </trans-unit>\n      <trans-unit id="107d5aabce23d900f0a80e6ddc1c10e29aa0bed8" datatype="html">\n        <source>Initiator IQN needs to be unique.</source>\n        <target>Inicjator IQN powinien być unikalny.</target>\n      </trans-unit>\n      <trans-unit id="bbf0b34a3fcc80800fcb44b9e1e86931a530dfe3" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n                        can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Nazwy użytkowników muszą mieć długość od 8 do 64 znaków i mogą zawierać jedynie litery,  \'.\', \'@\', \'-\', \'_\' lub  \':\'.</target>\n      </trans-unit>\n      <trans-unit id="fdfee5d7a27e1bdd97a176097277bee078de6aaf" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n                        and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n                        and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="8406eb7415ee40e54d9ecb209abb056f06e3d666" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters and\n                        can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters and\n                        can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="5d1878d5fc761cbe9614bfd87047a740c82a6951" datatype="html">\n        <source>Initiator belongs to a group. Images will be configure in the group.</source>\n        <target>Inicjator iSCSI należą do grupy. Obrazy będą skonfigurowane w grupie. </target>\n      </trans-unit>\n      <trans-unit id="c0de67b9d97fafbf200f9451e8388ee8128a56ac" datatype="html">\n        <source>No items added.</source>\n        <target>Brak dodanych pozycji.</target>\n      </trans-unit>\n      <trans-unit id="d565e47726158e428ecdc952fc9233b9b7d7f049" datatype="html">\n        <source>Add initiator</source>\n        <target>Dodaj inicjator iSCSI</target>\n      </trans-unit>\n      <trans-unit id="c22ba03540aa3217da059f45e7eab138b51a96e2" datatype="html">\n        <source>Groups</source>\n        <target>Grupy</target>\n      </trans-unit>\n      <trans-unit id="4c90059afafb7e160384d9f512797c95bb95c6dc" datatype="html">\n        <source>Group</source>\n        <target>Grupa</target>\n      </trans-unit>\n      <trans-unit id="3084948274cff4f56d0f431af47240e9cf02fcc7" datatype="html">\n        <source>Add group</source>\n        <target>Dodaj grupę</target>\n      </trans-unit>\n      <trans-unit id="66db799d67958d4b0765181d072df62e2d1c16f5" datatype="html">\n        <source>Issues</source>\n        <target>Zagadnienia</target>\n      </trans-unit>\n      <trans-unit id="ef06d69259e587e28d52372455f44c7153cda7e7" datatype="html">\n        <source>Syncing</source>\n        <target>Synchronizacja</target>\n      </trans-unit>\n      <trans-unit id="0b0901877d837d3fda16ba161eb74368d1c75b7a" datatype="html">\n        <source>Ready</source>\n        <target>Gotowy</target>\n      </trans-unit>\n      <trans-unit id="4057c56d63a7e9b140b1d01871a9229a5f30eb27" datatype="html">\n        <source>Edit pool mirror mode</source>\n        <target>Tryb edycji lustrzanego pula</target>\n      </trans-unit>\n      <trans-unit id="e1f367f5feaab38f6637dd1f967c848b447dea2d" datatype="html">\n        <source>To edit the mirror mode for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>, select a new mode from the list and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>To edit the mirror mode for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>, select a new mode from the list and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="32ca348ef926b0a6a7a780b8b64c3a8239895cec" datatype="html">\n        <source>Peer clusters must be removed prior to disabling mirror.</source>\n        <target>Sparowany klaster musi być usunięty  przed wyłączeniem lustra. </target>\n      </trans-unit>\n      <trans-unit id="fa61522d482349707fd7dd03b90dc5781611b17f" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/>\n  pool mirror peer\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/>\n  pool mirror peer\n        </target>\n      </trans-unit>\n      <trans-unit id="4ddcb416c1c0aa1f54acf5beef1de81813e76fa6" datatype="html">\n        <source>{VAR_SELECT, select, edit {Edit} other {Add} }</source>\n        <target>{VAR_SELECT, wybierz, edytuj{Edytuj} inaczej {Dodaj} }</target>\n      </trans-unit>\n      <trans-unit id="59ca65ece457429d90104ede4674965f62edbabe" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/> the pool\n          mirror peer attributes for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> and click\n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Submit\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/> the pool\n          mirror peer attributes for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> and click\n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Submit\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="d3cc964811f852a168f4a2d5daa59068abc5cf53" datatype="html">\n        <source>Cluster Name</source>\n        <target>Nazwa Klastra</target>\n      </trans-unit>\n      <trans-unit id="b631721fc56cb7fb1cbd07b802a487c5753f6a2d" datatype="html">\n        <source>The cluster name is not valid.</source>\n        <target>Nazwa klastra jest niepoprawna </target>\n      </trans-unit>\n      <trans-unit id="ca6deafa31bf421f85094807982aee4bcb20a3ae" datatype="html">\n        <source>CephX ID</source>\n        <target>CephX ID</target>\n      </trans-unit>\n      <trans-unit id="7539188a568c3d553cbde1bacaf32310c4264e24" datatype="html">\n        <source>CephX ID...</source>\n        <target>CephX ID...</target>\n      </trans-unit>\n      <trans-unit id="a1c45b594b0fba22fc64e80c793a7ffe005fdb0e" datatype="html">\n        <source>The CephX ID is not valid.</source>\n        <target>ID CephX nie jest poprawne.</target>\n      </trans-unit>\n      <trans-unit id="20861576fcfce773c918c782cd4f5adf32382921" datatype="html">\n        <source>Monitor Addresses</source>\n        <target>Adres monitora </target>\n      </trans-unit>\n      <trans-unit id="fa28eeed2b4bd4ccbe6e9349a1c2b3cb1c5de70a" datatype="html">\n        <source>Comma-delimited addresses...</source>\n        <target>Adresy rozdzielane przecinkami... </target>\n      </trans-unit>\n      <trans-unit id="dc016c82fd85848d5c1b2fd0e8469ee2027d9c16" datatype="html">\n        <source>The monitory address is not valid.</source>\n        <target>Adres monitora nie jest poprawny.</target>\n      </trans-unit>\n      <trans-unit id="e0ac55b83dc6739e62bc655cfe375b67c93e7f4a" datatype="html">\n        <source>CephX Key</source>\n        <target>Klucz CephX</target>\n      </trans-unit>\n      <trans-unit id="f53434bcb95bd86f1df9c8e22966f757614fc4ad" datatype="html">\n        <source>Base64-encoded key...</source>\n        <target>Klucz zakodowany w Base64...</target>\n      </trans-unit>\n      <trans-unit id="4cd83164cd4f66b4abc2863f9ce6f599d789e4ca" datatype="html">\n        <source>CephX key must be base64 encoded.</source>\n        <target>Klucz CephX musi być zakodowany w Base64/</target>\n      </trans-unit>\n      <trans-unit id="ca53d681a9892d6fdbb57ee9676582186515e961" datatype="html">\n        <source>Performance counters not available</source>\n        <target>Liczniki wydajności nie są dostępne</target>\n      </trans-unit>\n      <trans-unit id="9424badb7e0c6ac792d020d7830645b529a80aad" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the Object Gateway management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the Object Gateway management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="479488ab6e91ecb375484edc78bee3d13467f33f" datatype="html">\n        <source>Daemons List</source>\n        <target>Lista demonów</target>\n      </trans-unit>\n      <trans-unit id="eeba399c4dae8d4890c27b7a2cd2dc28fcf8b5f9" datatype="html">\n        <source>Performance Counters</source>\n        <target>Liczniki wydajności</target>\n      </trans-unit>\n      <trans-unit id="5f67f2247b9c6bbaf24a0f2d37f4ac0537c6fa53" datatype="html">\n        <source>Loading bucket data...</source>\n        <target>Ładowanie wiadra danych</target>\n      </trans-unit>\n      <trans-unit id="2798cc1e152b1ec07fd8daf94a2a073d1ba1ebcc" datatype="html">\n        <source>Id</source>\n        <target>Number ID</target>\n      </trans-unit>\n      <trans-unit id="db4e1a734518691b128ef40b939cc673f01d03a6" datatype="html">\n        <source>The value is not valid.</source>\n        <target>Wartość nie jest poprawna.</target>\n      </trans-unit>\n      <trans-unit id="eabb4db920d9f9b2480cf438468b86e1bea02a9b" datatype="html">\n        <source>The chosen name is already in use.</source>\n        <target>Wybrana nazwa już jest użyta.</target>\n      </trans-unit>\n      <trans-unit id="0ee5132a8da30e0b7f9f5c70dbc91928d17dd909" datatype="html">\n        <source>Owner</source>\n        <target>Właściciel</target>\n      </trans-unit>\n      <trans-unit id="8e4c918357c7445fbf19a203e5f0f0ece1960b3b" datatype="html">\n        <source>-- Select a user --</source>\n        <target>-- Wybierz użytkownika -- </target>\n      </trans-unit>\n      <trans-unit id="a4aab1f837bc8ec222e4f25922465d1c5929a1fc" datatype="html">\n        <source>Placement target</source>\n        <target>Placement target</target>\n      </trans-unit>\n      <trans-unit id="6bae0a7fc2c9c1fde7d937a8a1a3c7e6825cf7d1" datatype="html">\n        <source>-- Select a placement target --</source>\n        <target>-- Select a placement target --</target>\n      </trans-unit>\n      <trans-unit id="efeade5060b3add63863c24871f0830fb16b7e6d" datatype="html">\n        <source>Versioning</source>\n        <target>Versioning</target>\n      </trans-unit>\n      <trans-unit id="f50a33d3c339f8f4a465141f8caa5d2d8c005251" datatype="html">\n        <source>Enabled</source>\n        <target>Uaktywniony</target>\n      </trans-unit>\n      <trans-unit id="016d24e069e7d505a090fb8243e5cd43b35dc39b" datatype="html">\n        <source>Enables versioning for the objects in the bucket.</source>\n        <target>Enables versioning for the objects in the bucket.</target>\n      </trans-unit>\n      <trans-unit id="92f3f203270a29b3001871153f02c063484a1574" datatype="html">\n        <source>Suspended</source>\n        <target>Zawieszony</target>\n      </trans-unit>\n      <trans-unit id="cd6a798fd0f85cd7e31a57c58074f25035d7850d" datatype="html">\n        <source>Disables versioning for the objects in the bucket.</source>\n        <target>Disables versioning for the objects in the bucket.</target>\n      </trans-unit>\n      <trans-unit id="45cc8ca94b5a50842a9a8ef804a5ab089a38ae5c" datatype="html">\n        <source>ID</source>\n        <target>ID</target>\n      </trans-unit>\n      <trans-unit id="e5c51963a9c553b29427ef783bbb69fa6634fa8c" datatype="html">\n        <source>Index type</source>\n        <target>Typ indeksu</target>\n      </trans-unit>\n      <trans-unit id="8e6f950a32eaea32ec7e192f9ca3d3dfe469d4ba" datatype="html">\n        <source>Placement rule</source>\n        <target>Zasada umieszczania</target>\n      </trans-unit>\n      <trans-unit id="6972d213e31c4ea4f887e60db99d9881bc8fcd3e" datatype="html">\n        <source>Marker</source>\n        <target>Znacznik</target>\n      </trans-unit>\n      <trans-unit id="47b02acd2d3254d1ace1926f840523f154ebef71" datatype="html">\n        <source>Maximum marker</source>\n        <target>Maksymalny znacznik</target>\n      </trans-unit>\n      <trans-unit id="8fe73a4787b8068b2ba61f54ab7e0f9af2ea1fc9" datatype="html">\n        <source>Version</source>\n        <target>Wersja</target>\n      </trans-unit>\n      <trans-unit id="092fa3a7df9168b14d3f83a77a4035e92b92ce15" datatype="html">\n        <source>Master version</source>\n        <target>Główna wersja</target>\n      </trans-unit>\n      <trans-unit id="97434cc5001d407f90c7447a12d9e8e6848a2aa3" datatype="html">\n        <source>Modification time</source>\n        <target>Czas modyfikacji</target>\n      </trans-unit>\n      <trans-unit id="90fe2e41e7fde38453ce4e619efeea9bc6adea9c" datatype="html">\n        <source>Zonegroup</source>\n        <target>Strefa </target>\n      </trans-unit>\n      <trans-unit id="649a410bd0ace333d067d8fa22f12bdbdb43533b" datatype="html">\n        <source>Bucket quota</source>\n        <target>kontyngent wiadra</target>\n      </trans-unit>\n      <trans-unit id="cef1595d040e77cbb4466e60382028d4c2040cac" datatype="html">\n        <source>Maximum size</source>\n        <target>Maksymalny rozmiar</target>\n      </trans-unit>\n      <trans-unit id="aa6fb95c355f172bda303de1ce2f38c251a149cf" datatype="html">\n        <source>Unlimited</source>\n        <target>Nielimitowany</target>\n      </trans-unit>\n      <trans-unit id="ee862a800364b4d11f9b8cb9955a28a60f840a45" datatype="html">\n        <source>Maximum objects</source>\n        <target>Maksimum obiektów</target>\n      </trans-unit>\n      <trans-unit id="08c74dc9762957593b91f6eb5d65efdfc975bf48" datatype="html">\n        <source>Username</source>\n        <target>Nazwa użytkownika</target>\n      </trans-unit>\n      <trans-unit id="49c614babd1950adb2be75df4e2c9747286d6adc" datatype="html">\n        <source>-- Select a username --</source>\n        <target>-- Wybierz nazwę użytkownika -- </target>\n      </trans-unit>\n      <trans-unit id="c217ee914725a37e9dd2336c721c8e63e9666bdc" datatype="html">\n        <source>Auto-generate key</source>\n        <target>Auto-generowany klucz</target>\n      </trans-unit>\n      <trans-unit id="2f1c1c0f2bce4c9f92d1a2061e8161cb0006c31a" datatype="html">\n        <source>Access key</source>\n        <target>Klucz dostępu</target>\n      </trans-unit>\n      <trans-unit id="b864acb67296a9819c1db0069c4c47d8b5ce8f44" datatype="html">\n        <source>Secret key</source>\n        <target>Tajny klucz </target>\n      </trans-unit>\n      <trans-unit id="b760f123248930122fc7e7b6b6bf94e376e959c8" datatype="html">\n        <source>Full name</source>\n        <target>Pełne imię </target>\n      </trans-unit>\n      <trans-unit id="69b6ac577a19acc39fc0c22342092f327fff2529" datatype="html">\n        <source>Email address</source>\n        <target>Adres email</target>\n      </trans-unit>\n      <trans-unit id="8011e20c5bbe51602d459a860fbf29b599b55edd" datatype="html">\n        <source>System</source>\n        <target>System</target>\n      </trans-unit>\n      <trans-unit id="db18a2772988415466a7f75dc42663ce78c9c1d3" datatype="html">\n        <source>Maximum buckets</source>\n        <target>Maksimum wiader</target>\n      </trans-unit>\n      <trans-unit id="2c4c62e8ba24601be5cfe7dc5d32c24bbbd4b53c" datatype="html">\n        <source>Subusers</source>\n        <target>pod-użytkownicy</target>\n      </trans-unit>\n      <trans-unit id="17bb3082e6fe5003203ef992a3714172334631a1" datatype="html">\n        <source>Capabilities</source>\n        <target>Zdolności</target>\n      </trans-unit>\n      <trans-unit id="36ad38f9c1a1485e09b67778a28af84553290ffb" datatype="html">\n        <source>User quota</source>\n        <target>Limit użytkownika</target>\n      </trans-unit>\n      <trans-unit id="2aba1e87039819aca3b70faa9aa848c12bf139ca" datatype="html">\n        <source>Show</source>\n        <target>Pokaż</target>\n      </trans-unit>\n      <trans-unit id="0bcd5ef19af0f1b814141ca8c57df623d8270088" datatype="html">\n        <source>Keys</source>\n        <target>Klucze</target>\n      </trans-unit>\n      <trans-unit id="f61c6867295f3b53d23557021f2f4e0aa1d0b8fc" datatype="html">\n        <source>Type</source>\n        <target>Typ</target>\n      </trans-unit>\n      <trans-unit id="1221ca97d19eaa9a7bc0c5243d5fc5befe1d2314" datatype="html">\n        <source>-- Select a type --</source>\n        <target>-- wybierz typ --</target>\n      </trans-unit>\n      <trans-unit id="d1b8990332af18f1c5159a6061ca889bcbb28432" datatype="html">\n        <source>Permission</source>\n        <target>Pozwolenie </target>\n      </trans-unit>\n      <trans-unit id="a08c589f82f69d892307288da14190ae1dd583d5" datatype="html">\n        <source>-- Select a permission --</source>\n        <target>-- Wybierz pozwolenie --</target>\n      </trans-unit>\n      <trans-unit id="b2841767821d6b66238c34d07e413b0af67aee92" datatype="html">\n        <source>Subuser</source>\n        <target>pod-użytkownik</target>\n      </trans-unit>\n      <trans-unit id="bd59fc25a7bd98cff3e75117c09697c8a007a514" datatype="html">\n        <source>The chosen subuser ID is already in use.</source>\n        <target>Wybrane ID pod-użytkownika jest już użyte.</target>\n      </trans-unit>\n      <trans-unit id="3d386c357ebcbc04ed05c4babd5a03626f9b1674" datatype="html">\n        <source>read, write</source>\n        <target>odczyt, zapis</target>\n      </trans-unit>\n      <trans-unit id="84e3e3f9a4f31a039b648c97debf95fcb20f4c4a" datatype="html">\n        <source>full</source>\n        <target>pełny</target>\n      </trans-unit>\n      <trans-unit id="b6bf81d032a2316464f9df2f0d2f3d753f89f0d3" datatype="html">\n        <source>Swift key</source>\n        <target>Szybki klucz</target>\n      </trans-unit>\n      <trans-unit id="1e0c12685d50d47448ceed9423977ef39775c037" datatype="html">\n        <source>Auto-generate secret</source>\n        <target>Auto-generowany sekret</target>\n      </trans-unit>\n      <trans-unit id="3d1c7a6004bd5d86a7fa096ae24209e8aa7a53e3" datatype="html">\n        <source>Loading user data...</source>\n        <target>Ładowanie danych użytkownika...</target>\n      </trans-unit>\n      <trans-unit id="faa5d834ab28571423d794d32b57998920efb65f" datatype="html">\n        <source>The user data could not be loaded.</source>\n        <target>Nie można załadować danych użytkownika.</target>\n      </trans-unit>\n      <trans-unit id="6aaf5d2a304167272ac73e3b1d1c162e16c77858" datatype="html">\n        <source>The chosen user ID is already in use.</source>\n        <target>Wybrane ID użytkownika jest już użyte.</target>\n      </trans-unit>\n      <trans-unit id="df441e80db2157f9d272b75de724ba4a82b96b57" datatype="html">\n        <source>This is not a valid email address.</source>\n        <target>Ten adres email nie jest poprawny.</target>\n      </trans-unit>\n      <trans-unit id="ca271adf154956b8fcb28f4f50a37acb3057ff7c" datatype="html">\n        <source>The chosen email address is already in use.</source>\n        <target>Wybrany adres email jest już użyty.</target>\n      </trans-unit>\n      <trans-unit id="030197cebe938edf35422e92fe14183d06eb670b" datatype="html">\n        <source>Max. buckets</source>\n        <target>Max. wiader </target>\n      </trans-unit>\n      <trans-unit id="623ac50f37a26caec6fd7cd519b653e3315cba25" datatype="html">\n        <source>The entered value must be &gt;= 0.</source>\n        <target>Podana wartość musi być &gt;= 0</target>\n      </trans-unit>\n      <trans-unit id="583a219c524155c2314eb06ee29162bb315272a3" datatype="html">\n        <source>S3 key</source>\n        <target>klucz S3</target>\n      </trans-unit>\n      <trans-unit id="128d6efb51d9ddc7c0cc695a2deeca5b9523f6e4" datatype="html">\n        <source>There are no subusers.</source>\n        <target>Nie ma pod-użytkowników.</target>\n      </trans-unit>\n      <trans-unit id="7fd6dfb8ecb982dbc3affb2c2d5414c4f5b6abd2" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ subuserLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ subuserLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="67c746c1ba9dab4351fedc4c7cba4e6d6b0dbc47" datatype="html">\n        <source>S3</source>\n        <target>S3 (prosty serwis przechowywania) </target>\n      </trans-unit>\n      <trans-unit id="d6819038d608623503918fb2553f53d68231ec3a" datatype="html">\n        <source>There are no keys.</source>\n        <target>Nie ma kluczy.</target>\n      </trans-unit>\n      <trans-unit id="fc1c1a7140ff6b815a95b65ee2780fdbe1b2b7a1" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ s3keyLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ s3keyLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6ddb5e991a3ecd2659fb520bc5acc81b67e08ddd" datatype="html">\n        <source>Swift</source>\n        <target>Szybki</target>\n      </trans-unit>\n      <trans-unit id="1d01eccdda47fc907c5be35bcb16d2dcd02b0270" datatype="html">\n        <source>There are no capabilities.</source>\n        <target>Nie ma zdolności. </target>\n      </trans-unit>\n      <trans-unit id="043e2ec0036ceadd926fd5e3f93cd6f3565f3648" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.ADD | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.ADD | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6146e13ceca5fa5cc17b771b282fe5955f3d19fa" datatype="html">\n        <source>Unlimited size</source>\n        <target>Nielimitowany rozmiar</target>\n      </trans-unit>\n      <trans-unit id="f6db8aa7c99fdce18edb33dde57729acede2b308" datatype="html">\n        <source>Max. size</source>\n        <target>Max. rozmiar</target>\n      </trans-unit>\n      <trans-unit id="fc630b2093e880fffa19df99d5cd8b87605037f8" datatype="html">\n        <source>Unlimited objects</source>\n        <target>Nielimitowane obiekty</target>\n      </trans-unit>\n      <trans-unit id="6cda5a993d06f0bb10048be9d3aba6555aa9f356" datatype="html">\n        <source>Max. objects</source>\n        <target>Max. obiektów</target>\n      </trans-unit>\n      <trans-unit id="1ea5c4d8942c00752dcc72e72949c5d9832f6399" datatype="html">\n        <source>Description...</source>\n        <target>Opis...</target>\n      </trans-unit>\n      <trans-unit id="70f45880fce6ac5d8e468e25e82aefbba8098cfe" datatype="html">\n        <source>Permissions</source>\n        <target>Pozwolenia</target>\n      </trans-unit>\n      <trans-unit id="9610487cbeb5796d34d8601b5ac0c0a65f9e1d19" datatype="html">\n        <source>Roles</source>\n        <target>Role</target>\n      </trans-unit>\n      <trans-unit id="7f3bdcce4b2e8c37cd7f0f6c92ef8cff34b039b8" datatype="html">\n        <source>Confirm password</source>\n        <target>Potwierdź hasło</target>\n      </trans-unit>\n      <trans-unit id="cbb979e63ba50e0ca3adfa09cbdcaefd0853fca1" datatype="html">\n        <source>Password confirmation doesn\'t match the password.</source>\n        <target>Potwierdzające hasło nie pokrywa się z hasłem.</target>\n      </trans-unit>\n      <trans-unit id="244aae9346da82b0922506c2d2581373a15641cc" datatype="html">\n        <source>Email</source>\n        <target>Email</target>\n      </trans-unit>\n      <trans-unit id="d0ec081dd61eb4f43aea269077bbe38eae87b7f9" datatype="html">\n        <source>Invalid email.</source>\n        <target>Niepoprawny email.</target>\n      </trans-unit>\n      <trans-unit id="0051a3479d3ba79135c16dc8cc017950a2cce821" datatype="html">\n        <source>You are about to remove "user read / update" permissions from your own user.</source>\n        <target>Zamierzasz usunąć uprawnienia „odczytu / aktualizacji użytkownika” od własnego użytkownika.</target>\n      </trans-unit>\n      <trans-unit id="af4bf9fcb256853f14cf947eb1deb8d7f176d3f9" datatype="html">\n        <source>If you continue, you will no longer be able to add or remove roles from any user.</source>\n        <target>Jeśli kontynuujesz, nie będziesz mógł dodawać albo usuwać role od użytkowników.</target>\n      </trans-unit>\n      <trans-unit id="7d1dcf2a9146caac0581329acf94806ec69a89a5" datatype="html">\n        <source>Are you sure you want to continue?</source>\n        <target>Jesteś pewny, że chcesz kontynuować? </target>\n      </trans-unit>\n      <trans-unit id="85b79c9064aed1ead31ace985f31aa1363f6bdaf" datatype="html">\n        <source>Help</source>\n        <target>Pomoc</target>\n      </trans-unit>\n      <trans-unit id="fcfd4675b4c90f08d18d3abede9a9a4dff4cfdc7" datatype="html">\n        <source>Documentation</source>\n        <target>Dokumentacja</target>\n      </trans-unit>\n      <trans-unit id="e351b40b3869a5c7d19c3d4918cb1ac7aaab95c4" datatype="html">\n        <source>API</source>\n        <target>Interfejs API</target>\n      </trans-unit>\n      <trans-unit id="004b222ff9ef9dd4771b777950ca1d0e4cd4348a" datatype="html">\n        <source>About</source>\n        <target>O</target>\n      </trans-unit>\n      <trans-unit id="1481ecd21e760ac919a24e26cf790acd82e40199" datatype="html">\n        <source>Dashboard Settings</source>\n        <target>Ustawienia Pulpitu</target>\n      </trans-unit>\n      <trans-unit id="a79aab4ef674bf3f6532292107c0054302236e0f" datatype="html">\n        <source>User management</source>\n        <target>Zarządzanie użytkownikami</target>\n      </trans-unit>\n      <trans-unit id="049dfd9fe6c78914ad58cf89ac6a631fca28ec74" datatype="html">\n        <source>Logged in user</source>\n        <target>Zalogowany użytkownik</target>\n      </trans-unit>\n      <trans-unit id="cd38a58e73f306d838e621959d47d5e7a2f06d1f" datatype="html">\n        <source>Signed in as\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ username }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>\n        </source>\n        <target>Signed in as\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ username }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="739516c2ca75843d5aec9cf0e6b3e4335c4227b9" datatype="html">\n        <source>Change password</source>\n        <target>Change password</target>\n      </trans-unit>\n      <trans-unit id="5d22c795daf43877a5f708dca2bccd549eb0471d" datatype="html">\n        <source>Sign out</source>\n        <target>Wyloguj</target>\n      </trans-unit>\n      <trans-unit id="91853167141c37b58868f3b0421383dd72fa8a01" datatype="html">\n        <source>Attributes (OSD map)</source>\n        <target>Atrybuty (mapa OSD-ków)</target>\n      </trans-unit>\n      <trans-unit id="97842f379e1d4157ac3ab0661b90c352e7cb72d5" datatype="html">\n        <source>Metadata not available</source>\n        <target>Niedostępne metadane</target>\n      </trans-unit>\n      <trans-unit id="f721a500a68c357e8f2a01e60510f6a01e4ba529" datatype="html">\n        <source>Metadata</source>\n        <target>Metadane</target>\n      </trans-unit>\n      <trans-unit id="deba10b7279a589d01e919ea11f43c79ca1773e3" datatype="html">\n        <source>Device health</source>\n        <target>Device health</target>\n      </trans-unit>\n      <trans-unit id="d24e28e19c5703d7c6be44f4eb595a6a43b618ed" datatype="html">\n        <source>Performance counter</source>\n        <target>Licznik wydajności</target>\n      </trans-unit>\n      <trans-unit id="d1f7c81ed9c5034af4abcdf119b1c1e86cd019dd" datatype="html">\n        <source>Histogram not available: \n          <x id="INTERPOLATION" equiv-text="{{ osd.histogram_failed }}"/>\n        </source>\n        <target>Histogram not available: \n          <x id="INTERPOLATION" equiv-text="{{ osd.histogram_failed }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="868abfff914873d1c65df798d8432ed04b8ae2a9" datatype="html">\n        <source>Writes</source>\n        <target>Pisze</target>\n      </trans-unit>\n      <trans-unit id="996ebb9a653b5067f97bf3891ea9d2108e969492" datatype="html">\n        <source>Reads</source>\n        <target>Czyta</target>\n      </trans-unit>\n      <trans-unit id="65ac79790aa477a97b1cc579e18a115a8df8918f" datatype="html">\n        <source>Histogram</source>\n        <target>Histogram</target>\n      </trans-unit>\n      <trans-unit id="26fb5f81b3581f06b9210defb0e71dc69a67e819" datatype="html">\n        <source>Current values</source>\n        <target>Obecne wartości </target>\n      </trans-unit>\n      <trans-unit id="9abcd7c82643d60c22733470463f74e4a54bc069" datatype="html">\n        <source>Min</source>\n        <target>Min</target>\n      </trans-unit>\n      <trans-unit id="c3ced4d162a0a55ee233a187ce7208ba5e922418" datatype="html">\n        <source>Max</source>\n        <target>Max</target>\n      </trans-unit>\n      <trans-unit id="6834fa6b43d1ecbdf147c48dd9c4d72f1484571d" datatype="html">\n        <source>Source</source>\n        <target>Źródło </target>\n      </trans-unit>\n      <trans-unit id="a446fb0eb11fbffcac805ece5a2d306d24e733d8" datatype="html">\n        <source>Level</source>\n        <target>Poziom</target>\n      </trans-unit>\n      <trans-unit id="39f2fb094e9b2eda13163fa3f3a31594cf9c1307" datatype="html">\n        <source>Can be updated at runtime (editable)</source>\n        <target>Może być aktualizowany w czasie wykonywania (edytowalny)</target>\n      </trans-unit>\n      <trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b" datatype="html">\n        <source>Tags</source>\n        <target>Tagi</target>\n      </trans-unit>\n      <trans-unit id="ab0089ef47af61ca1d137bc908b96c290dfd9287" datatype="html">\n        <source>Enum values</source>\n        <target>Wartości enumerowane </target>\n      </trans-unit>\n      <trans-unit id="819476f1264f1659f38e86f6abb542141b184832" datatype="html">\n        <source>See also</source>\n        <target>Zobacz także </target>\n      </trans-unit>\n      <trans-unit id="d82a9af5b05e7cd17640f196f163771685ff8df6" datatype="html">\n        <source>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</source>\n        <target>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</target>\n      </trans-unit>\n      <trans-unit id="a185c9b97513b3882604ea9bab60edbfac945c15" datatype="html">\n        <source>SMART overall-health self-assessment test result</source>\n        <target>SMART overall-health self-assessment test result</target>\n      </trans-unit>\n      <trans-unit id="ddd5dd6d930030096ea617f62c82b648a0dd9484" datatype="html">\n        <source>Device Information</source>\n        <target>Device Information</target>\n      </trans-unit>\n      <trans-unit id="79c6bf990ea5b4d83bbf8f9e399f4bd933a1ebfc" datatype="html">\n        <source>S.M.A.R.T</source>\n        <target>S.M.A.R.T</target>\n      </trans-unit>\n      <trans-unit id="05c17e08939cbef1a5df5386263b1701e8d5742e" datatype="html">\n        <source>S.M.A.R.T data is loading.</source>\n        <target>S.M.A.R.T data is loading.</target>\n      </trans-unit>\n      <trans-unit id="73caac4265ea7314ff061e5a1d78a6361a6dd3b8" datatype="html">\n        <source>Cluster Status</source>\n        <target>Status klastra</target>\n      </trans-unit>\n      <trans-unit id="1d4bc612bbf19aa9553853266b9e92c9d75f4464" datatype="html">\n        <source>Manager Daemons</source>\n        <target>Zarządzanie demonami</target>\n      </trans-unit>\n      <trans-unit id="946ac5dea9921dc09d7b0a63b89535371f283b19" datatype="html">\n        <source>Object Gateways</source>\n        <target>Obiekty bram </target>\n      </trans-unit>\n      <trans-unit id="ff03fa5bcf37c4da46ad736c1f7d03f959e8ba9a" datatype="html">\n        <source>Metadata Servers</source>\n        <target>Serwery metadanych</target>\n      </trans-unit>\n      <trans-unit id="d817609ba4993eba859409ab71e566168f4d5f5a" datatype="html">\n        <source>iSCSI Gateways</source>\n        <target>Bramy iSCSI</target>\n      </trans-unit>\n      <trans-unit id="42c13e50391250ea9379bdf55d5d6c0228c0c8bc" datatype="html">\n        <source>Client IOPS</source>\n        <target>Klient IOPS</target>\n      </trans-unit>\n      <trans-unit id="52213660b2454d139ada3079a42ec6caf3c3c01e" datatype="html">\n        <source>Client Throughput</source>\n        <target>Przepustowość klienta</target>\n      </trans-unit>\n      <trans-unit id="32efd1c3f70e3c5244239de97a2cc95d98534a14" datatype="html">\n        <source>Client Read/Write</source>\n        <target>Odczyt/Zapis klienta</target>\n      </trans-unit>\n      <trans-unit id="275485415092cbae3a9f3cbb786ebe283cacfdd5" datatype="html">\n        <source>Recovery Throughput</source>\n        <target>Przepustowość odzyskiwania</target>\n      </trans-unit>\n      <trans-unit id="6d9a9f55046891733ef71170e7652063765eb542" datatype="html">\n        <source>Scrub</source>\n        <target>Szoruj</target>\n      </trans-unit>\n      <trans-unit id="3cc9c2ae277393b3946b38c088dabff671b1ee1b" datatype="html">\n        <source>Performance</source>\n        <target>Wydajność</target>\n      </trans-unit>\n      <trans-unit id="88f383269db2d32cccee9e936fe549dccb9fdbf4" datatype="html">\n        <source>Raw Capacity</source>\n        <target>Pojemność rzędu</target>\n      </trans-unit>\n      <trans-unit id="c5f8a813f91a11af99132e4beafc136cfc13d73b" datatype="html">\n        <source>PGs per OSD</source>\n        <target>PG-y na OSD</target>\n      </trans-unit>\n      <trans-unit id="498a109c6e9e94f1966de01aa0326f7f0ac6fb52" datatype="html">\n        <source>PG Status</source>\n        <target>Status PG</target>\n      </trans-unit>\n      <trans-unit id="ce9dfdc6dccb28dc75a78c704e09dc18fb02dcfa" datatype="html">\n        <source>Capacity</source>\n        <target>Pojemność</target>\n      </trans-unit>\n      <trans-unit id="44ecac93d67c6a671198091c2270354f80322327" datatype="html">\n        <source>\n          <x id="START_ITALIC_TEXT" ctype="x-i" equiv-text="<i>"/>\n          <x id="CLOSE_ITALIC_TEXT" ctype="x-i" equiv-text="</i>"/> See \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Logs\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more details.\n        </source>\n        <target>\n          <x id="START_ITALIC_TEXT" ctype="x-i" equiv-text="<i>"/>\n          <x id="CLOSE_ITALIC_TEXT" ctype="x-i" equiv-text="</i>"/> See \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Logs\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more details.\n        </target>\n      </trans-unit>\n      <trans-unit id="0c1e17956453ad772dbe82d6946f62748c692f3e" datatype="html">\n        <source>Ranks</source>\n        <target>Szeregi</target>\n      </trans-unit>\n      <trans-unit id="2b24e0b0b1629d2e8a51b9da7c75d6e6379f4bc4" datatype="html">\n        <source>Standbys</source>\n        <target>Standbys</target>\n      </trans-unit>\n      <trans-unit id="50df62325726db950523a5be1c78b8905fcc25d4" datatype="html">\n        <source>MDS performance counters</source>\n        <target>MDS performance counters</target>\n      </trans-unit>\n      <trans-unit id="a7b6508fb834bee9e48e11e4503fbbc2d19204de" datatype="html">\n        <source>Clients: \n          <x id="INTERPOLATION" equiv-text="{{ clients.data.length }}"/>\n        </source>\n        <target>Clients: \n          <x id="INTERPOLATION" equiv-text="{{ clients.data.length }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6e213942c6354b9cbe7a650f0f1499bfc1000fb6" datatype="html">\n        <source>Directories</source>\n        <target>Directories</target>\n      </trans-unit>\n      <trans-unit id="47116253e36f4e38a97ba41b2d3122c6c15ab904" datatype="html">\n        <source>Clients (\n          <x id="INTERPOLATION" equiv-text="{{ clients.length }}"/>)\n        </source>\n        <target>Clients (\n          <x id="INTERPOLATION" equiv-text="{{ clients.length }}"/>)\n        </target>\n      </trans-unit>\n      <trans-unit id="bd5a3b1c5a3c185c7bbb0e09a061d4cdc88ce5ad" datatype="html">\n        <source>Current</source>\n        <target>Obecny</target>\n      </trans-unit>\n      <trans-unit id="e5e7d62e942083a59b0b31f54e17cd7958186052" datatype="html">\n        <source>Updated discovery authentication</source>\n        <target>Zaktualizowane uwierzytelnianie wykrywania</target>\n      </trans-unit>\n      <trans-unit id="dd4ab758afd5fd5a6c6a25b2b30ff99d0c00e9ad" datatype="html">\n        <source>There are no portals available.</source>\n        <target>Brak dostępnych portali.</target>\n      </trans-unit>\n      <trans-unit id="83021e45778a4a230a14ca0c6d6ccdf05500ad93" datatype="html">\n        <source>There are no images available.</source>\n        <target>Nie ma dostępnych obrazów. </target>\n      </trans-unit>\n      <trans-unit id="86684eb21f8a768e1dbc659e3d5da6861db544a0" datatype="html">\n        <source>There are no images available. Please make sure you add an image to the target.</source>\n        <target>Nie ma dostępnych obrazów. Proszę się upewnić, że dodajesz obraz do obiektu docelowego. </target>\n      </trans-unit>\n      <trans-unit id="fffda6e440078f57eba93944ce051c593cc6ed7f" datatype="html">\n        <source>There are no initiators available. Please make sure you add an initiator to the target.</source>\n        <target>Nie ma dostępnych inicjatorów iSCSI. Proszę upewnić się, że dodajesz inicjator iSCSI do obiektu docelowego.</target>\n      </trans-unit>\n      <trans-unit id="cea3c6fe490385eef1584cbc4983fda7ece24bb6" datatype="html">\n        <source>target</source>\n        <target>target</target>\n      </trans-unit>\n      <trans-unit id="38baeb215c17af9d9e295e371a57f4a48ab4c191" datatype="html">\n        <source>Target</source>\n        <target>obiekt docelowy iSCSI</target>\n      </trans-unit>\n      <trans-unit id="99e094878070eebc1b972bac02aaa33b2bf83b35" datatype="html">\n        <source># Sessions</source>\n        <target># Sessions</target>\n      </trans-unit>\n      <trans-unit id="c49e0dd71d551bd4928d967d78f0721dbf9f95e3" datatype="html">\n        <source>Target has active sessions</source>\n        <target>Target has active sessions</target>\n      </trans-unit>\n      <trans-unit id="a87acd72dfb68b45175270695209550a85adf50c" datatype="html">\n        <source>iSCSI target</source>\n        <target>iSCSI target</target>\n      </trans-unit>\n      <trans-unit id="873b72903b1858a9cd6c8967521030b4d7d1435b" datatype="html">\n        <source>State</source>\n        <target>Stan</target>\n      </trans-unit>\n      <trans-unit id="02b75464c0dc0cf49ea0208211b6fbcad3bf728a" datatype="html">\n        <source># Targets</source>\n        <target># Targets</target>\n      </trans-unit>\n      <trans-unit id="13415637c325ceefee29111b31cb48701490adf7" datatype="html">\n        <source>Read Bytes</source>\n        <target>Odczyt bajtów </target>\n      </trans-unit>\n      <trans-unit id="e2ed82b7bbf4a006e60e6208c597b05d5b5556e9" datatype="html">\n        <source>Write Bytes</source>\n        <target>Zapis bajtów</target>\n      </trans-unit>\n      <trans-unit id="6a32a5f58845ca840185ea9564682094e77a1d80" datatype="html">\n        <source>Read Ops</source>\n        <target>Odczyt Ops</target>\n      </trans-unit>\n      <trans-unit id="7c36cb8032af123d3550ffab2e1fa1e957c87fae" datatype="html">\n        <source>Write Ops</source>\n        <target>Zapis Ops</target>\n      </trans-unit>\n      <trans-unit id="458c33846a8c7e2feb9404bcf06723784e756cdc" datatype="html">\n        <source>A/O Since</source>\n        <target>A/O Od</target>\n      </trans-unit>\n      <trans-unit id="ff78f059449d44322f627d0f66df07abe476962b" datatype="html">\n        <source>Instance</source>\n        <target>Instancja</target>\n      </trans-unit>\n      <trans-unit id="36fad7995cadfb3a6f0d43ef2db280146b3ca022" datatype="html">\n        <source>Issue</source>\n        <target>Zagadnienie </target>\n      </trans-unit>\n      <trans-unit id="15793f4cbc261bedbc60f7105533dde536a3f42b" datatype="html">\n        <source>Progress</source>\n        <target>Progres</target>\n      </trans-unit>\n      <trans-unit id="f39256070bfc0714020dfee08895421fc1527014" datatype="html">\n        <source>Disabled</source>\n        <target>Wyłączony</target>\n      </trans-unit>\n      <trans-unit id="8c375764db42f5d736fb56d01b8052c006ccc8e2" datatype="html">\n        <source>Edit Mode</source>\n        <target>Tryb Edycji</target>\n      </trans-unit>\n      <trans-unit id="45932f2a0ea524b3425f4320ee46a6d1c68977bc" datatype="html">\n        <source>Add Peer</source>\n        <target>Dodaj parowanie </target>\n      </trans-unit>\n      <trans-unit id="d3dc34662e3cda0dad646221651cebd26f731485" datatype="html">\n        <source>Edit Peer</source>\n        <target>Edytuj parowanie</target>\n      </trans-unit>\n      <trans-unit id="e8a0ec0b6ee72db0f27c186e09640d1ed41964bd" datatype="html">\n        <source>Delete Peer</source>\n        <target>Usuń parowanie</target>\n      </trans-unit>\n      <trans-unit id="314de06d6f64d39149e78e6d796585c0246fec0b" datatype="html">\n        <source>Leader</source>\n        <target>Lider</target>\n      </trans-unit>\n      <trans-unit id="7acaab450312114059ced9e3737798ee9aa738b1" datatype="html">\n        <source># Local</source>\n        <target># Lokalny</target>\n      </trans-unit>\n      <trans-unit id="7a3ffd88868135c44be3994263bb8e49d8358884" datatype="html">\n        <source># Remote</source>\n        <target># Zdalny</target>\n      </trans-unit>\n      <trans-unit id="85ca0fd6a6ddd211023c70a25753122c5b978787" datatype="html">\n        <source>mirror peer</source>\n        <target>lustrzane parowanie</target>\n      </trans-unit>\n      <trans-unit id="a6493c6ca346cd052da40423eda9c132de2b2002" datatype="html">\n        <source>Key</source>\n        <target>Klucz</target>\n      </trans-unit>\n      <trans-unit id="e9cac80fb5d9de66f0006d0bec530fd1fc69a674" datatype="html">\n        <source>RBD</source>\n        <target>RBD</target>\n      </trans-unit>\n      <trans-unit id="4130b1a836f2000cfe9a11fb62493dc42d444de7" datatype="html">\n        <source>Deep flatten</source>\n        <target>Głębokie spłaszczenie</target>\n      </trans-unit>\n      <trans-unit id="7b17694d7cb8ecb7c8440bc999dac21b44455b33" datatype="html">\n        <source>Layering</source>\n        <target>Warstwowanie </target>\n      </trans-unit>\n      <trans-unit id="6a072ce577c2079d0e0c31071a16824f6d22b84d" datatype="html">\n        <source>Exclusive lock</source>\n        <target>Wyłączna blokada</target>\n      </trans-unit>\n      <trans-unit id="7354f01320bf936a7f85577c9f71402635c3a362" datatype="html">\n        <source>Object map (requires exclusive-lock)</source>\n        <target>Mapa obiektów (wymaga wyłącznej blokady)</target>\n      </trans-unit>\n      <trans-unit id="fb7e625c1152f1c102cd16460955d124edff1770" datatype="html">\n        <source>Journaling (requires exclusive-lock)</source>\n        <target>Kronikowanie  (wymaga wyłącznej blokady)</target>\n      </trans-unit>\n      <trans-unit id="df4044632bfc211dd96544fc8f007dabbeeb506c" datatype="html">\n        <source>Fast diff (interlocked with object-map)</source>\n        <target>Fast diff (interlocked with object-map)</target>\n      </trans-unit>\n      <trans-unit id="631fc50ec7c9bd81dc797a3c7e09eda1178ad999" datatype="html">\n        <source>Parent image must support Layering</source>\n        <target>Parent image must support Layering</target>\n      </trans-unit>\n      <trans-unit id="7eb984588f4835f6d0187b33769b4b0f62821640" datatype="html">\n        <source>RBD snapshot rollback</source>\n        <target>Wycofywanie migawek RBD</target>\n      </trans-unit>\n      <trans-unit id="4be22bf20ef82614ed53bcd3b912a85590aa71c9" datatype="html">\n        <source>Rollback</source>\n        <target>Wycofanie</target>\n      </trans-unit>\n      <trans-unit id="2a04c483708d261751d62082d6f03a50d4577b1e" datatype="html">\n        <source>RBD snapshot</source>\n        <target>migawka RBD</target>\n      </trans-unit>\n      <trans-unit id="fa96769d1ea86741297cb9b9769b0dcfde58c8b4" datatype="html">\n        <source>Deleted At</source>\n        <target>Usunięty o </target>\n      </trans-unit>\n      <trans-unit id="e928864038ca70ee7d67bbf1fd71a01c3938a127" datatype="html">\n        <source>id</source>\n        <target>id</target>\n      </trans-unit>\n      <trans-unit id="240c9c1e96dc38814922a83ad041dc815b084f32" datatype="html">\n        <source>type</source>\n        <target>typ</target>\n      </trans-unit>\n      <trans-unit id="c9d7ec7ee5b4e282f2228fa996651ec4ef5195a9" datatype="html">\n        <source>state</source>\n        <target>stan</target>\n      </trans-unit>\n      <trans-unit id="5780e5c3b4fc2ae07836bb5221cec4f8d597630d" datatype="html">\n        <source>version</source>\n        <target>wersja</target>\n      </trans-unit>\n      <trans-unit id="fe22ca53e651df951dac25b67c17894b0980f767" datatype="html">\n        <source>Host</source>\n        <target>Host</target>\n      </trans-unit>\n      <trans-unit id="fb69299354312c8954ecf324997ccafcd9f6b14b" datatype="html">\n        <source>root</source>\n        <target>administrator</target>\n      </trans-unit>\n      <trans-unit id="d34feb369d308075b423d5c5fc431f9766bf7a11" datatype="html">\n        <source>Evicted client "\n          <x id="INTERPOLATION" equiv-text="{{clientId}}"/>"\n        </source>\n        <target>Evicted client "\n          <x id="INTERPOLATION" equiv-text="{{clientId}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="7db875ff4cc626d394f37fba95c075b2e4bfeb00" datatype="html">\n        <source>Standby daemons</source>\n        <target>Czuwanie demona </target>\n      </trans-unit>\n      <trans-unit id="3c3a423d91e36ac6624e909fcd2669a25685f847" datatype="html">\n        <source>Rank</source>\n        <target>Ranga</target>\n      </trans-unit>\n      <trans-unit id="9596ecae8956e96921acef47aec787f6bdc37454" datatype="html">\n        <source>Daemon</source>\n        <target>Demon</target>\n      </trans-unit>\n      <trans-unit id="f2005fa461c06dc2e04d8918bbabedf23604b5b7" datatype="html">\n        <source>Activity</source>\n        <target>Aktywność</target>\n      </trans-unit>\n      <trans-unit id="e3a986984ae0c3b43af648c3fa638649d1c00348" datatype="html">\n        <source>Dentries</source>\n        <target>centrale</target>\n      </trans-unit>\n      <trans-unit id="7c692ab865066967d73c6d64ec0691cc6ce91b93" datatype="html">\n        <source>Inodes</source>\n        <target>i-węzły</target>\n      </trans-unit>\n      <trans-unit id="45f210b96a2a6e91f52f153a4f8dc30662629f8e" datatype="html">\n        <source>Usage</source>\n        <target>Użycie</target>\n      </trans-unit>\n      <trans-unit id="950b5f04a2efd3f11c0f76418d5a4212381e792e" datatype="html">\n        <source>Origin</source>\n        <target>Origin</target>\n      </trans-unit>\n      <trans-unit id="22e4e574b7f8abf58254f328792445b42e2a924a" datatype="html">\n        <source>The value can be updated at runtime.</source>\n        <target>Wartość może być zaktualizowana w czasie wykonywania . </target>\n      </trans-unit>\n      <trans-unit id="d7770de7b2343c9deeaa7ebf37ba3e35ca5c5988" datatype="html">\n        <source>Daemons/clients do not pull this value from the\n      monitor config database. We disallow setting this option via \'ceph config\n      set ...\'. This option should be configured via ceph.conf or via the\n      command line.</source>\n        <target>Demony/klienci nie pobierają tej wartości z\nbazy danych skonfigurowanego monitora. Nie zezwalamy na ustawienie tej opcji przez \'konfiguracje ceph\nustaw.. \'. Ta opcja powinna być skonfigurowana przez ceph.conf albo przez\nterminal.</target>\n      </trans-unit>\n      <trans-unit id="83f11fd1dc503c37931ea6c1c5c1e8c2b4b597b6" datatype="html">\n        <source>Option takes effect only during daemon startup.</source>\n        <target>Opcja działa tylko podczas startu demona.</target>\n      </trans-unit>\n      <trans-unit id="837a07cd6a971038b8b1aa190c43440c9fdb5d8b" datatype="html">\n        <source>Option only affects cluster creation.</source>\n        <target>Opcja dotyczy tylko tworzenia klastra.</target>\n      </trans-unit>\n      <trans-unit id="2566a88eb247c918b71cfe5b354c31de0d4b01e5" datatype="html">\n        <source>Option only affects daemon creation.</source>\n        <target>Opcja tylko wpływa na tworzenie demona.</target>\n      </trans-unit>\n      <trans-unit id="1cdc60cfc09c257625768f3d2082816cdef27279" datatype="html">\n        <source>Updated config option \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\n        </source>\n        <target>Updated config option \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="d473e0f684a60db45d6f31e993f693f74290e056" datatype="html">\n        <source>Service</source>\n        <target>Usługa</target>\n      </trans-unit>\n      <trans-unit id="9951bb3983c7dba6fde013e05c922e4fe1a44367" datatype="html">\n        <source>Current value</source>\n        <target>Obecna wartość</target>\n      </trans-unit>\n      <trans-unit id="4a01c175f90dd92b432f4a4a199d2c7bb9d997ff" datatype="html">\n        <source>Editable</source>\n        <target>Edytowalny</target>\n      </trans-unit>\n      <trans-unit id="261c0af854e8684abc15f89dce6efb3e72344b18" datatype="html">\n        <source>host</source>\n        <target>host</target>\n      </trans-unit>\n      <trans-unit id="9e35065e7c579e1fb960499117fd4b3c68d1c263" datatype="html">\n        <source>Host operation is disabled because orchestrator is unavailable</source>\n        <target>Host operation is disabled because orchestrator is unavailable</target>\n      </trans-unit>\n      <trans-unit id="a5d5e407f8c4e1b152509c966c90f37edf68472e" datatype="html">\n        <source>Device path</source>\n        <target>Device path</target>\n      </trans-unit>\n      <trans-unit id="94e76c060aa68c05d8c4a3f5a20c92fab3e83ccf" datatype="html">\n        <source>Rotates</source>\n        <target>Rotates</target>\n      </trans-unit>\n      <trans-unit id="b7da3e3505cc80f9bf3cffc8444c53e8a9ec70a5" datatype="html">\n        <source>Available</source>\n        <target>Available</target>\n      </trans-unit>\n      <trans-unit id="6ec98fa3d6504ba1fd03465194b53706c8263c99" datatype="html">\n        <source>Model</source>\n        <target>Model</target>\n      </trans-unit>\n      <trans-unit id="1a6e6ad05508130b7a99ce5b15daf3227c2a930c" datatype="html">\n        <source>Updated options for module "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>".\n        </source>\n        <target>Updated options for module "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="ac6c9212896d39b23811ed2dadab7d07336ec559" datatype="html">\n        <source>Enable</source>\n        <target>Włączyć</target>\n      </trans-unit>\n      <trans-unit id="6766a926d80bb7763785621098dae459d6226429" datatype="html">\n        <source>Disable</source>\n        <target>Wyłączyć</target>\n      </trans-unit>\n      <trans-unit id="340f2f312c2eb353e5cd69aee6bee7f5a73c34ac" datatype="html">\n        <source>This Manager module is always on.</source>\n        <target>This Manager module is always on.</target>\n      </trans-unit>\n      <trans-unit id="6a0b3657745dd7a2f2162f1cc790bf9004d0845d" datatype="html">\n        <source>Reconnecting, please wait ...</source>\n        <target>Ponowne łączenie, proszę czekać</target>\n      </trans-unit>\n      <trans-unit id="7099a8878af7a0a26fe5663c4f46cfe87142b75d" datatype="html">\n        <source>Public Address</source>\n        <target>Adres publiczny</target>\n      </trans-unit>\n      <trans-unit id="cbdd1cdc0c7a87f55dd177bc44212f0fc4b80852" datatype="html">\n        <source>Open Sessions</source>\n        <target>Otwarte sesje</target>\n      </trans-unit>\n      <trans-unit id="37e58d1cbdf8212b380efa51422e42821d4f08e6" datatype="html">\n        <source>No In</source>\n        <target>Nie w </target>\n      </trans-unit>\n      <trans-unit id="12706eb5af17ff5ad77b3de21af368d24678e00b" datatype="html">\n        <source>OSDs that were previously marked out will not be marked back in when they start</source>\n        <target>OSD-ki, które zostały oznaczone jako poza, nie będą oznaczone ponownie jako w gdy zostaną uruchomion</target>\n      </trans-unit>\n      <trans-unit id="96114d7624d11dc90ca46cfa96145fe22118df76" datatype="html">\n        <source>No Out</source>\n        <target>Nie poza</target>\n      </trans-unit>\n      <trans-unit id="a2ef636fe1ddd56b63e4aaf3d292f33dbf735ef3" datatype="html">\n        <source>OSDs will not automatically be marked out after the configured interval</source>\n        <target>OSD-ki nie będą automatycznie oznaczone jako poza po konfiguracji interwału</target>\n      </trans-unit>\n      <trans-unit id="ee50aefa9b8bde1e5429b48709a23abfe08358e0" datatype="html">\n        <source>No Up</source>\n        <target>Nie powstały </target>\n      </trans-unit>\n      <trans-unit id="608929b939307e397586a98cea52ae38997c7273" datatype="html">\n        <source>OSDs are not allowed to start</source>\n        <target>OSD-ki nie mogą startować</target>\n      </trans-unit>\n      <trans-unit id="1751ab69c1e7f62927afedbf7116e0116316c551" datatype="html">\n        <source>No Down</source>\n        <target>Nie upadły</target>\n      </trans-unit>\n      <trans-unit id="41fac86dfb65c1db690f3e87f6497cb73b281084" datatype="html">\n        <source>OSD failure reports are being ignored, such that the monitors will not mark OSDs down</source>\n        <target>Raport z niepowodzenia OSD jest ignorowany, także monitory nie oznaczą OSD jako upadłego. </target>\n      </trans-unit>\n      <trans-unit id="b2838c6165a9672a17db188f4dd9676574353dd8" datatype="html">\n        <source>Pause</source>\n        <target>Pauza </target>\n      </trans-unit>\n      <trans-unit id="191d71dadcc8790573d46706a0b48211de4b8334" datatype="html">\n        <source>Pauses reads and writes</source>\n        <target>Pauzuje czytanie i zapisywanie</target>\n      </trans-unit>\n      <trans-unit id="471d5ba75836f38c19992cf83d8822632d99e473" datatype="html">\n        <source>No Scrub</source>\n        <target>Nie szoruj</target>\n      </trans-unit>\n      <trans-unit id="5b8caa61814121bc36dac0c34a9e9de3cae74990" datatype="html">\n        <source>Scrubbing is disabled</source>\n        <target>Szorowanie jest wyłączone</target>\n      </trans-unit>\n      <trans-unit id="7f29a0ac1c797bdc0347dd5d0734ba83e96e7ce6" datatype="html">\n        <source>No Deep Scrub</source>\n        <target>Nie ma głębokiego szorowania</target>\n      </trans-unit>\n      <trans-unit id="01da61ab216541a8d31259cebd16b10c7e5fc124" datatype="html">\n        <source>Deep Scrubbing is disabled</source>\n        <target>Głębokie szorowanie jest wyłączone</target>\n      </trans-unit>\n      <trans-unit id="0b86c7f18ac725de62c7e192dcfccd02c0dc40ab" datatype="html">\n        <source>No Backfill</source>\n        <target>Brak zasypywania</target>\n      </trans-unit>\n      <trans-unit id="bd33a2bdc8fbed3b7469f3717c16d9aaa2851fdd" datatype="html">\n        <source>Backfilling of PGs is suspended</source>\n        <target>Zasypywanie PG jest zawieszone</target>\n      </trans-unit>\n      <trans-unit id="7fbbd036394cfa623add40299757bc87df8eaa7e" datatype="html">\n        <source>No Recover</source>\n        <target>Nie przywrócono</target>\n      </trans-unit>\n      <trans-unit id="f3ee9b451a64dca47299c9b4ae1091c2008068ad" datatype="html">\n        <source>Recovery of PGs is suspended</source>\n        <target>Przywrócenie PGy jest zawieszone </target>\n      </trans-unit>\n      <trans-unit id="de904148fe7e8d812218f50333ffe247900617c5" datatype="html">\n        <source>Bitwise Sort</source>\n        <target>Sortuj bitowo</target>\n      </trans-unit>\n      <trans-unit id="2613c9fde29785bcd75f0abeccb653d14d7527b3" datatype="html">\n        <source>Use bitwise sort</source>\n        <target>Użyj sortowania bitowego</target>\n      </trans-unit>\n      <trans-unit id="2fe10d84250aeee365db244251d40934c70ff1e9" datatype="html">\n        <source>Purged Snapdirs</source>\n        <target>Usuń snap katalogi</target>\n      </trans-unit>\n      <trans-unit id="6b22a5b780eda3c5d500cdac9c6d4f96978c38f1" datatype="html">\n        <source>OSDs have converted snapsets</source>\n        <target>OSD-ki zmieniły snapsety</target>\n      </trans-unit>\n      <trans-unit id="c42f0ba60564dc5b977a8c7f3fdcde9efbb39c60" datatype="html">\n        <source>Recovery Deletes</source>\n        <target>Odzyskaj usunięte</target>\n      </trans-unit>\n      <trans-unit id="72fe39979198ea2ed6db6274b5029025cb316d90" datatype="html">\n        <source>Deletes performed during recovery instead of peering</source>\n        <target>Podczas zdrowienia zastosowano usunięcie zamiast parowania</target>\n      </trans-unit>\n      <trans-unit id="1bb4a1f9127cefe624c173557a716d0ebb6d647c" datatype="html">\n        <source>PG Log Hard Limit</source>\n        <target>Twardy limit logów PG</target>\n      </trans-unit>\n      <trans-unit id="e03c0321397fdf7a9c22e8d6b5015424943c0a57" datatype="html">\n        <source>Puts a hard limit on pg log length</source>\n        <target>Ustawia twardy limit na długość logów PG</target>\n      </trans-unit>\n      <trans-unit id="3c384e2e80c6b5eb24861fbf4225b69486cff4a3" datatype="html">\n        <source>Updated OSD Flags</source>\n        <target>Zaktualizowane flagi OSD-ków</target>\n      </trans-unit>\n      <trans-unit id="688578fcc739d6f0c5fb6c366dbb19d21c6d9e36" datatype="html">\n        <source>out</source>\n        <target>poza</target>\n      </trans-unit>\n      <trans-unit id="cb0f69bdd4dea41d7d45c74b6e07f98de8a2ab26" datatype="html">\n        <source>in</source>\n        <target>w</target>\n      </trans-unit>\n      <trans-unit id="b5fbc7c7f007dd53b2318525bb7ff8b0376c9e37" datatype="html">\n        <source>down</source>\n        <target>upadły</target>\n      </trans-unit>\n      <trans-unit id="b58719bcb9184e1a7884d00d22d10899d59bf295" datatype="html">\n        <source>Mark</source>\n        <target>Zaznacz</target>\n      </trans-unit>\n      <trans-unit id="31a1c1aa03f1e5084750bedb4e3fdc04ce2cb6ca" datatype="html">\n        <source>OSD lost</source>\n        <target>Stracony OSD</target>\n      </trans-unit>\n      <trans-unit id="f3fc4c85c5b8f1dedea0496b72d0af9da7b9e0d9" datatype="html">\n        <source>marked lost</source>\n        <target>Zaznaczony jako stracony</target>\n      </trans-unit>\n      <trans-unit id="40fedc157ad899a18ec40573f770d18b040959d2" datatype="html">\n        <source>Purge</source>\n        <target>Czyść</target>\n      </trans-unit>\n      <trans-unit id="c8b1475105463088593de1022ff6dceb523eae0e" datatype="html">\n        <source>OSD</source>\n        <target>OSD-ik</target>\n      </trans-unit>\n      <trans-unit id="4f3cff08c7033b63bbccfe66006b1bcaea48ddd8" datatype="html">\n        <source>purged</source>\n        <target>Oczyszczony</target>\n      </trans-unit>\n      <trans-unit id="8e5d1b01eca6dce26a4751f0b19bda7a6ab8db5b" datatype="html">\n        <source>destroy</source>\n        <target>Zniszcz</target>\n      </trans-unit>\n      <trans-unit id="495a06b78bf165a7b545fa002137f0846b094a3d" datatype="html">\n        <source>destroyed</source>\n        <target>Zniszczony</target>\n      </trans-unit>\n      <trans-unit id="107614b994f2b01abdc1ca179bf780b0cd933ec4" datatype="html">\n        <source>Recovery Priority</source>\n        <target>Recovery Priority</target>\n      </trans-unit>\n      <trans-unit id="359dad5a3a912ef9dece3194035020856805aa96" datatype="html">\n        <source>PG scrub</source>\n        <target>PG scrub</target>\n      </trans-unit>\n      <trans-unit id="953144c420c2e5abd02e6a687433eac60fa852bd" datatype="html">\n        <source>PGs</source>\n        <target>PG-y</target>\n      </trans-unit>\n      <trans-unit id="7d3523ea9d35c274cef84043de8a2fdde540a9a1" datatype="html">\n        <source>Read bytes</source>\n        <target>Czytanie bajtów</target>\n      </trans-unit>\n      <trans-unit id="ecbe2fdca919499125bc42c2c67cedae8563db1c" datatype="html">\n        <source>Writes bytes</source>\n        <target>Zapis bajtów</target>\n      </trans-unit>\n      <trans-unit id="f3c33322823c846b13f59ba2c8f234405bba99e1" datatype="html">\n        <source>Read ops</source>\n        <target>Czytanie ops</target>\n      </trans-unit>\n      <trans-unit id="7e0b24a17546cbfab48b03dc874461d1ca68bc9a" datatype="html">\n        <source>Write ops</source>\n        <target>Zapis ops</target>\n      </trans-unit>\n      <trans-unit id="d45455406092f58e6b089cb440b5b7934b801a01" datatype="html">\n        <source>Mark OSD \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </source>\n        <target>Mark OSD \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="de0b7806e451b3b3dbd564decba59981fe781c18" datatype="html">\n        <source>Mark \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </source>\n        <target>Mark \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="bba1d3bb4f8a47aa2b3068e242562196eadb1e83" datatype="html">\n        <source>PG scrub options</source>\n        <target>PG scrub options</target>\n      </trans-unit>\n      <trans-unit id="b0b7748ebc9b7a6942a8cac4a89d4b215b365878" datatype="html">\n        <source>Updated PG scrub options</source>\n        <target>Updated PG scrub options</target>\n      </trans-unit>\n      <trans-unit id="4edc2162af0bd6cd941eaf730d20a7e3b5a83ba7" datatype="html">\n        <source>Max Backfills</source>\n        <target>Max zasypywanie</target>\n      </trans-unit>\n      <trans-unit id="eb5e6c24a48a1dfe23e0a772b762be5e949c0c8a" datatype="html">\n        <source>Recovery Max Active</source>\n        <target>Max aktywność wyzdrowienia</target>\n      </trans-unit>\n      <trans-unit id="4a23c6d3859e03184118620d2baeb736ac765fbf" datatype="html">\n        <source>Recovery Max Single Start</source>\n        <target>Max pojedynczy start wyzdrowienia</target>\n      </trans-unit>\n      <trans-unit id="97049169ef5228fd1724de2fcdad1fec2858eaf8" datatype="html">\n        <source>Recovery Sleep</source>\n        <target>Uśpienie wyzdrowienia</target>\n      </trans-unit>\n      <trans-unit id="a5c05002b0ac2040f1aede5e727e0ffd06eda819" datatype="html">\n        <source>Custom</source>\n        <target>Zwyczaj</target>\n      </trans-unit>\n      <trans-unit id="89553524f4e7db5c437b07dcfdc7b831d56ded1a" datatype="html">\n        <source>Updated OSD recovery speed priority "\n          <x id="INTERPOLATION" equiv-text="{{value}}"/>"\n        </source>\n        <target>Updated OSD recovery speed priority "\n          <x id="INTERPOLATION" equiv-text="{{value}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="ccf5f30798c03d2d8efd0e6eb508320c018b722d" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{operation}}"/> was initialized in the following OSD(s): \n          <x id="INTERPOLATION_1" equiv-text="{{id}}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{operation}}"/> was initialized in the following OSD(s): \n          <x id="INTERPOLATION_1" equiv-text="{{id}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="9836e830d0219585b36d53be00a31c3d4798a4aa" datatype="html">\n        <source>Smartctl has received an unknown argument (error code\n          <x id="INTERPOLATION" equiv-text="{{smartData.smartctl_error_code}}"/>). You may be using an\n                incompatible version of smartmontools. Version &gt;= 7.0 of\n                smartmontools is required to succesfully retrieve data.\n        </source>\n        <target>Smartctl has received an unknown argument (error code\n          <x id="INTERPOLATION" equiv-text="{{smartData.smartctl_error_code}}"/>). You may be using an\n                incompatible version of smartmontools. Version &gt;= 7.0 of\n                smartmontools is required to succesfully retrieve data.\n        </target>\n      </trans-unit>\n      <trans-unit id="d5fd840374ca1a6f394bcd81f390a6dca27f8224" datatype="html">\n        <source>An error with error code \n          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.\n        </source>\n        <target>An error with error code \n          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.\n        </target>\n      </trans-unit>\n      <trans-unit id="a0b59d7139692bb8d8ed786b6eb6e9e70ce743f3" datatype="html">\n        <source>Raw</source>\n        <target>Raw</target>\n      </trans-unit>\n      <trans-unit id="2f3beddc8234b30fb26a7f63ba2f1ea74f2ed6f7" datatype="html">\n        <source>Threshold</source>\n        <target>Threshold</target>\n      </trans-unit>\n      <trans-unit id="4654b5a68af3c8bad29aa14ca85ccea1f3143c6b" datatype="html">\n        <source>When Failed</source>\n        <target>When Failed</target>\n      </trans-unit>\n      <trans-unit id="5b7f56d5be49fb8e8d8f40209d6746f8f72e9177" datatype="html">\n        <source>Worst</source>\n        <target>Worst</target>\n      </trans-unit>\n      <trans-unit id="1edb8e46b0fac57c5feb3d7d3585afc0122d5481" datatype="html">\n        <source>Create silence</source>\n        <target>Create silence</target>\n      </trans-unit>\n      <trans-unit id="78917e8031aaf913ac3fa63295325ce8879703ce" datatype="html">\n        <source>Job</source>\n        <target>Praca</target>\n      </trans-unit>\n      <trans-unit id="94287619205068b591c18493c64781424864c259" datatype="html">\n        <source>Severity</source>\n        <target>surowość</target>\n      </trans-unit>\n      <trans-unit id="e6cfbe0c5e0302ba2cec22315f6a28f8ac46b651" datatype="html">\n        <source>Started</source>\n        <target>Wystartowany</target>\n      </trans-unit>\n      <trans-unit id="801b98c6f02fe3b32f6afa3ee854c99ed83474e6" datatype="html">\n        <source>URL</source>\n        <target>URL</target>\n      </trans-unit>\n      <trans-unit id="a5cd682a8a33bdc72e093d059429e3cc3a50ec1d" datatype="html">\n        <source>silence</source>\n        <target>silence</target>\n      </trans-unit>\n      <trans-unit id="f557e117e059e7036c6eecacd325a6ae35d866e0" datatype="html">\n        <source>Attribute name</source>\n        <target>Attribute name</target>\n      </trans-unit>\n      <trans-unit id="50f7f517ad8158667f7d4e2bd6f3256e05156e75" datatype="html">\n        <source>Regular expression</source>\n        <target>Regular expression</target>\n      </trans-unit>\n      <trans-unit id="81b1eab399c47110d50f45e3ccb4c009de7cb581" datatype="html">\n        <source>Please add your Prometheus host to the dashboard configuration and refresh the page</source>\n        <target>Please add your Prometheus host to the dashboard configuration and refresh the page</target>\n      </trans-unit>\n      <trans-unit id="29b4ae3296e239446fa0dea88a5112de15cffa54" datatype="html">\n        <source>Created by</source>\n        <target>Created by</target>\n      </trans-unit>\n      <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc" datatype="html">\n        <source>Updated</source>\n        <target>Zaktualizowany</target>\n      </trans-unit>\n      <trans-unit id="8d833cceee0ba4c5161b130365e02bc1e129b57e" datatype="html">\n        <source>Ends</source>\n        <target>Ends</target>\n      </trans-unit>\n      <trans-unit id="46a11ff4289e8c88b1b7a935f8d8ee704055f11a" datatype="html">\n        <source>Silence</source>\n        <target>Silence</target>\n      </trans-unit>\n      <trans-unit id="f392abfbb997402ce2aebb13e660a8f01dec54db" datatype="html">\n        <source>Service type</source>\n        <target>Service type</target>\n      </trans-unit>\n      <trans-unit id="9ffa91b056fb979786627885651e19c8275675cd" datatype="html">\n        <source>Service instance</source>\n        <target>Service instance</target>\n      </trans-unit>\n      <trans-unit id="b5910192a9ac4816638ff6383b03f986ff965796" datatype="html">\n        <source>Container id</source>\n        <target>Container id</target>\n      </trans-unit>\n      <trans-unit id="60ab9cce12a56cdc5ec6a1b699f8c7afecd629d5" datatype="html">\n        <source>Rados config location</source>\n        <target>Rados config location</target>\n      </trans-unit>\n      <trans-unit id="dfa409f831c9168a377bdee02c5ea6aaf9b2bf61" datatype="html">\n        <source>Service URL</source>\n        <target>Service URL</target>\n      </trans-unit>\n      <trans-unit id="bf2468fd965b8a59c135ad549b3a612aa9873abc" datatype="html">\n        <source>Status Description</source>\n        <target>Status Description</target>\n      </trans-unit>\n      <trans-unit id="fb2e1bed329dc5b84197808c778abb9edcbdb335" datatype="html">\n        <source>Used</source>\n        <target>Użyty</target>\n      </trans-unit>\n      <trans-unit id="4f1ab04d9100fb0df0e62b921ec46ae052ae29fc" datatype="html">\n        <source>Avail.</source>\n        <target>Dostępny</target>\n      </trans-unit>\n      <trans-unit id="a1c9b3d4fa67450fe9afd1d726f8a1bd91d990ea" datatype="html">\n        <source>Clean</source>\n        <target>Czyść</target>\n      </trans-unit>\n      <trans-unit id="0054f5460090d6dde385e8f099d598df5d28cf54" datatype="html">\n        <source>Working</source>\n        <target>Działający</target>\n      </trans-unit>\n      <trans-unit id="a8059e31694578c1b0344a76a345357dd60e8f01" datatype="html">\n        <source>Warning</source>\n        <target>Ostrzeżenie </target>\n      </trans-unit>\n      <trans-unit id="e5d8bb389c702588877f039d72178f219453a72d" datatype="html">\n        <source>Unknown</source>\n        <target>Nieznany</target>\n      </trans-unit>\n      <trans-unit id="88155be1b9b9c6140d6e8f93bac4a775cfdc6671" datatype="html">\n        <source>Healthy</source>\n        <target>Healthy</target>\n      </trans-unit>\n      <trans-unit id="8a3aec4dc1a6e2d4c612ae85e0537acbb20a0f85" datatype="html">\n        <source>Misplaced</source>\n        <target>Misplaced</target>\n      </trans-unit>\n      <trans-unit id="ee81f9bf7ceac69712e0b83e8adc268739f9673e" datatype="html">\n        <source>Degraded</source>\n        <target>Degraded</target>\n      </trans-unit>\n      <trans-unit id="14625bc4025daef1969777a67a3cca27e0cd9167" datatype="html">\n        <source>Unfound</source>\n        <target>Unfound</target>\n      </trans-unit>\n      <trans-unit id="8f23ea509d081c2f747d083d44608dbf125b2ea2" datatype="html">\n        <source>replicas</source>\n        <target>replicas</target>\n      </trans-unit>\n      <trans-unit id="129a2224e1f9d19eb5e11e2a07fe10a785556484" datatype="html">\n        <source>up</source>\n        <target>Podniesiony</target>\n      </trans-unit>\n      <trans-unit id="d5f29cf0af691726483262d647eb6622be002512" datatype="html">\n        <source>no filesystems</source>\n        <target>brak systemów plików</target>\n      </trans-unit>\n      <trans-unit id="b1c4387ffab06f3fa9fdb4411aea955595538d44" datatype="html">\n        <source>active</source>\n        <target>aktywny</target>\n      </trans-unit>\n      <trans-unit id="1aaf7054d826f2cb05ec3e88a5a4b8116861e1f5" datatype="html">\n        <source>standby</source>\n        <target>Rezerwa</target>\n      </trans-unit>\n      <trans-unit id="c9a1080024dca344a48acdb77fa2d54e059f7254" datatype="html">\n        <source>n/a</source>\n        <target>niedostępny</target>\n      </trans-unit>\n      <trans-unit id="84a1787b6df375847c70f782861d7e7f8f43bff4" datatype="html">\n        <source>active daemon</source>\n        <target>aktywny demon</target>\n      </trans-unit>\n      <trans-unit id="24407dc2ebfafaf6b131ee978683b893c3f1d763" datatype="html">\n        <source>quorum</source>\n        <target>kworum</target>\n      </trans-unit>\n      <trans-unit id="2fa50bc07995c6ea660412294298ded39fcb08d9" datatype="html">\n        <source>The NFS Ganesha service is not configured.</source>\n        <target>Usługa NFS Ganesha nie jest skonfigurowana</target>\n      </trans-unit>\n      <trans-unit id="af1396bdc49f45ea6c4a1e414769f5e2a382c834" datatype="html">\n        <source>Transport</source>\n        <target>Transport</target>\n      </trans-unit>\n      <trans-unit id="b6a0e176d96c4feed2e975a039c044fcf822e152" datatype="html">\n        <source>CephFS User</source>\n        <target>Użytkownik CephFS</target>\n      </trans-unit>\n      <trans-unit id="44dc610cf201a163e8c38da810acec9596930bb3" datatype="html">\n        <source>CephFS Filesystem</source>\n        <target>system plików CephFS </target>\n      </trans-unit>\n      <trans-unit id="db6dc7124be83c7055cb0f2719e31f2f9d46fd3d" datatype="html">\n        <source>(inherited from global config)</source>\n        <target>(Odziedziczyło z globalnej konfiguracji)</target>\n      </trans-unit>\n      <trans-unit id="e1f97bb86f991553ec7b535cb39e7eaa99dfcfe2" datatype="html">\n        <source>inherited from global config</source>\n        <target>Odziedziczyło z globalnej konfiguracji</target>\n      </trans-unit>\n      <trans-unit id="e751800766277e7c2edd652cec7a7a1a68a37852" datatype="html">\n        <source>-- Select what kind of user id squashing is performed --</source>\n        <target>-- Wybierz, jakiego rodzaju identyfikacja użytkownika ma być przeprowadzana -- </target>\n      </trans-unit>\n      <trans-unit id="4b58387f911e8a7b135a0c4d76c70335c65bbb32" datatype="html">\n        <source>There are no daemons available.</source>\n        <target>Brak dostępnym demonów</target>\n      </trans-unit>\n      <trans-unit id="18ae8dc1264f06df7ea251175ada2ac1b8401018" datatype="html">\n        <source>NFS export</source>\n        <target>NFS export</target>\n      </trans-unit>\n      <trans-unit id="ae128527ec18892f812a62a1fd15dc50a38060c0" datatype="html">\n        <source>EC Profile</source>\n        <target>EC Profile</target>\n      </trans-unit>\n      <trans-unit id="60fb10c145f9c7ede2b9ddf9b2b0b0f6191d0ebd" datatype="html">\n        <source>Cache Mode</source>\n        <target>Tryb pamięci podręcznej</target>\n      </trans-unit>\n      <trans-unit id="fa5bfad31d4139f6871443bb74324ffda5cad3e6" datatype="html">\n        <source>Min Evict Age</source>\n        <target>Min wiek eksmisji</target>\n      </trans-unit>\n      <trans-unit id="fd0eb851666df45c34c76fabcda79b0d77bc910b" datatype="html">\n        <source>Min Flush Age</source>\n        <target>Min wiek wyrównania </target>\n      </trans-unit>\n      <trans-unit id="cb54d2c420a534cee0c308ea5589f8c394ef8d67" datatype="html">\n        <source>Target Max Bytes</source>\n        <target>Max bajtów obiektu docelowego </target>\n      </trans-unit>\n      <trans-unit id="07f4ebe6615dca466818ffdae2a69ee217d265fb" datatype="html">\n        <source>Target Max Objects</source>\n        <target>Max obiektów docelowych</target>\n      </trans-unit>\n      <trans-unit id="eaa8f4df53cf7fa78d078e20a701d10f3dccd77d" datatype="html">\n        <source>No applications added</source>\n        <target>Nie dodano żadnego zastosowania</target>\n      </trans-unit>\n      <trans-unit id="321c2a7640f11177ea49b0857b94c4b70830c0e6" datatype="html">\n        <source>Applications limit reached</source>\n        <target>Osiągnięto limit zastosowań </target>\n      </trans-unit>\n      <trans-unit id="519d27742b74fadc8336777452f78891e98aa1dc" datatype="html">\n        <source>A pool can only have up to four applications definitions.</source>\n        <target>Pul może mieć maksymalnie 4 definicje aplikacji. </target>\n      </trans-unit>\n      <trans-unit id="b5bec3813f0d45daa7eb9471272969e1bc3e734e" datatype="html">\n        <source>Allowed characters \'_a-zA-Z0-9\'</source>\n        <target>Dozwolone znaki \'_a-zA-Z0-9\'</target>\n      </trans-unit>\n      <trans-unit id="807472d29602a0085bce62e534bd66208982c2e2" datatype="html">\n        <source>Maximum length is 128 characters</source>\n        <target>Maksymalna długość wynosi 128 znaków</target>\n      </trans-unit>\n      <trans-unit id="37785748b9ac9ad1d3e4b111ac502c3284afe84b" datatype="html">\n        <source>Filter or add applications</source>\n        <target>Filtruj lub dodaj zastosowanie</target>\n      </trans-unit>\n      <trans-unit id="38c7b8610ca87835e13eeee6a09ba1c414cd5cb9" datatype="html">\n        <source>Add application</source>\n        <target>Dodaj zastosowanie</target>\n      </trans-unit>\n      <trans-unit id="db8c42f077700d8a94619fad9f4c94b7361d5f1d" datatype="html">\n        <source>pool</source>\n        <target>pool</target>\n      </trans-unit>\n      <trans-unit id="65bb2be83261bc4798853bbccdedc110c43feea7" datatype="html">\n        <source>erasure code profile</source>\n        <target>skasuj profil kodu</target>\n      </trans-unit>\n      <trans-unit id="112d356ad6846959ca4aa5ec9a1f0d9d473b24ec" datatype="html">\n        <source>Replica Size</source>\n        <target>Rozmiar repliki</target>\n      </trans-unit>\n      <trans-unit id="ec50492db341fa752b023d8c924601286b6c9c0c" datatype="html">\n        <source>Last Change</source>\n        <target>Ostatnia zmiana</target>\n      </trans-unit>\n      <trans-unit id="563a8c136a9d423bc7ae1269a404d6da5fd83dad" datatype="html">\n        <source>Erasure Coded Profile</source>\n        <target>Skasuj profil zakodowany</target>\n      </trans-unit>\n      <trans-unit id="0ad7f0662956cff61ac1208f92b1a0305b1b2e58" datatype="html">\n        <source>Crush Ruleset</source>\n        <target>Zbiór zasad Crush</target>\n      </trans-unit>\n      <trans-unit id="f15bf7f588f09ca79795b17bc244e8d336f28171" datatype="html">\n        <source>Write bytes</source>\n        <target>Zapis bajtów </target>\n      </trans-unit>\n      <trans-unit id="bcc365a084b6145b941b371bd4c2b6c3d2c79234" datatype="html">\n        <source>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</source>\n        <target>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</target>\n      </trans-unit>\n      <trans-unit id="44939fd05cedfd077db886528b755e77d5fa3885" datatype="html">\n        <source>bucket</source>\n        <target>wiadro</target>\n      </trans-unit>\n      <trans-unit id="84fee774286ec4191311f1277075455c3ea5e2e2" datatype="html">\n        <source>Updated Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>".\n        </source>\n        <target>Updated Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="2d7a43674f0bbc131c9e555ec16ac37fa0445d76" datatype="html">\n        <source>Created Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>"\n        </source>\n        <target>Created Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="ec40d74ecfb1d6d60455af6805c9a714a3f5750a" datatype="html">\n        <source>buckets</source>\n        <target>Wiadra</target>\n      </trans-unit>\n      <trans-unit id="764585d5595bac113582ee14a6fd07006770ceb1" datatype="html">\n        <source>capability</source>\n        <target>capability</target>\n      </trans-unit>\n      <trans-unit id="0914cbe18bae204217e1851be6d2d24d86e74605" datatype="html">\n        <source>user</source>\n        <target>użytkownik</target>\n      </trans-unit>\n      <trans-unit id="d8c86dc5e48a63590d9c94e19f90b5f8325cbd49" datatype="html">\n        <source>subuser</source>\n        <target>subuser</target>\n      </trans-unit>\n      <trans-unit id="f45a3de8a8b40d161cc36a55d77548a27107ca04" datatype="html">\n        <source>S3 Key</source>\n        <target>S3 Key</target>\n      </trans-unit>\n      <trans-unit id="854a763265e92f91ba3ccee1a0e8d823be584f7c" datatype="html">\n        <source>Updated Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </source>\n        <target>Updated Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="84ab3fd641e65e39cffee0ec722a059ed284229e" datatype="html">\n        <source>Created Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </source>\n        <target>Created Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="7c7f4be7b726e61c577e63842a58d9e435f7c597" datatype="html">\n        <source>users</source>\n        <target>użytkownicy</target>\n      </trans-unit>\n      <trans-unit id="9f7760223efd77806f1bbaf963e6993bb4bc6a0a" datatype="html">\n        <source>Swift Key</source>\n        <target>Swift Key</target>\n      </trans-unit>\n      <trans-unit id="1481b8488e10dbc437accce89d2ae35a0106e8ba" datatype="html">\n        <source>Scope</source>\n        <target>Zakres</target>\n      </trans-unit>\n      <trans-unit id="9b1d5e95f6bdcfb4b737413f5fa157e0dcb103d5" datatype="html">\n        <source>Read</source>\n        <target>Czytaj</target>\n      </trans-unit>\n      <trans-unit id="70a67e04629f6d412db0a12d51820b480788d795" datatype="html">\n        <source>Create</source>\n        <target>Stwórz</target>\n      </trans-unit>\n      <trans-unit id="dc4fba275819619ee78e8eae14d357ea69ba7477" datatype="html">\n        <source>role</source>\n        <target>role</target>\n      </trans-unit>\n      <trans-unit id="fe6ee93173884201ec62d62ba173c3de85ae177e" datatype="html">\n        <source>Created role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Created role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="41c032df0732f4318f8213fabd0719ac347d4b6c" datatype="html">\n        <source>Updated role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Updated role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="50e22b5289f79f1417369403345c9fa9911a4557" datatype="html">\n        <source>System Role</source>\n        <target>System roli </target>\n      </trans-unit>\n      <trans-unit id="7f132668e2dbfcf616381d2daf59d1a6f2698102" datatype="html">\n        <source>Deleted role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Deleted role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="2e35d60a14ce0b470e8b54602864a867f7fcef40" datatype="html">\n        <source>There are no roles.</source>\n        <target>There are no roles.</target>\n      </trans-unit>\n      <trans-unit id="d2362a49d2434ce137bf19dab004251b7fd9c7b3" datatype="html">\n        <source>Created user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Created user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="9910122dfedd2eaa544a990f1430e5b82a76d99f" datatype="html">\n        <source>Update user</source>\n        <target>Zaktualizuj użytkownika</target>\n      </trans-unit>\n      <trans-unit id="ac10a3d9b59575640797c1a8e6aea642cf5d5e77" datatype="html">\n        <source>Continue</source>\n        <target>Kontynuuj </target>\n      </trans-unit>\n      <trans-unit id="cf4bcf4ce3d551e6099ccdc3546ae418fe5f8038" datatype="html">\n        <source>You were automatically logged out because your roles have been changed.</source>\n        <target>Zostałeś automatycznie wylogowany, ponieważ zostały zmienione twoje role.</target>\n      </trans-unit>\n      <trans-unit id="0f6003fb0c1cc73b89d225801cc1b870945cd259" datatype="html">\n        <source>Updated user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Updated user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="fe516c6d820018fdc971113935e22ec1e852965f" datatype="html">\n        <source>Deleted user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Deleted user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="01a7e11502ff80421ef3615e533ea14ef57e1d5c" datatype="html">\n        <source>Failed to delete user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Failed to delete user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="63316a3861dbcb035147efc1b9fb6bc708242e94" datatype="html">\n        <source>You are currently logged in as "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>".\n        </source>\n        <target>You are currently logged in as "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="d8b81951d25439864e92f750f7c99d7426d6517c" datatype="html">\n        <source>password</source>\n        <target>password</target>\n      </trans-unit>\n      <trans-unit id="d361a9b5e1f7985a12c0433388f31626525a02b8" datatype="html">\n        <source>Updated user password"</source>\n        <target>Updated user password"</target>\n      </trans-unit>\n      <trans-unit id="1d7fbcc3d5efc946ffbcf86fed04c4e20dda20fb" datatype="html">\n        <source>Each object is split in data-chunks parts, each stored on a different OSD.</source>\n        <target>Każdy obiekt jest podzielony na części fragmentów danych, każdy jest przechowywany na innym OSD.</target>\n      </trans-unit>\n      <trans-unit id="b1f8ed4e216585f1f9134740002ef3c8501debd8" datatype="html">\n        <source>Compute coding chunks for each object and store them on different OSDs.\n      The number of coding chunks is also the number of OSDs that can be down without losing data.</source>\n        <target>Oblicz porcje kodu dla każdego obiektu i przechowuj je na różnych OSD.\n Liczba fragmentów kodujących to również liczba OSD, które mogą zostać wyłączone bez utraty danych.</target>\n      </trans-unit>\n      <trans-unit id="c437ee74a9a8e781e1380153f742a685e3b8cc5e" datatype="html">\n        <source>The jerasure plugin is the most generic and flexible plugin,\n          it is also the default for Ceph erasure coded pools.</source>\n        <target>Wtyczka jerasure jest najbardziej uniwersalną i elastyczną wtyczką,\n jest to również domyślne ustawienie dla pui kodowanych przez Ceph.</target>\n      </trans-unit>\n      <trans-unit id="8c7e19322851402afa67e41f4f1d4e531caf1bf5" datatype="html">\n        <source>The more flexible technique is reed_sol_van : it is enough to set k\n          and m. The cauchy_good technique can be faster but you need to chose the packetsize\n          carefully. All of reed_sol_r6_op, liberation, blaum_roth, liber8tion are RAID6 equivalents\n          in the sense that they can only be configured with m=2.</source>\n        <target>Bardziej elastyczną techniką jest reed_sol_van: wystarczy ustawić k\n oraz m. Technika cauchy_good może być szybsza, ale musisz wybrać rozmiar pakietu\n ostrożnie. Wszystkie reed_sol_r6_op, liberation, blaum_roth, liber8tion są odpowiednikami RAID6\n w tym sensie, że mogą być skonfigurowane tylko z m = 2.</target>\n      </trans-unit>\n      <trans-unit id="b1b11f49281b4e79219b4eecfbcb033cb15bd880" datatype="html">\n        <source>The encoding will be done on packets of bytes size at a time.\n          Chosing the right packet size is difficult.\n          The jerasure documentation contains extensive information on this topic.</source>\n        <target>Kodowanie będzie wykonywane na pakietach o rozmiarze bajtów naraz.\n Wybór odpowiedniego rozmiaru pakietu jest trudny.\n Dokumentacja jerasure zawiera obszerne informacje na ten temat.</target>\n      </trans-unit>\n      <trans-unit id="d9cb3bc07a25b26fbea457e0a7b543340bc13c49" datatype="html">\n        <source>With the jerasure plugin, when an erasure coded object is stored on\n          multiple OSDs, recovering from the loss of one OSD requires reading from all the others.\n          For instance if jerasure is configured with k=8 and m=4, losing one OSD requires reading\n          from the eleven others to repair.\n\n          The lrc erasure code plugin creates local parity chunks to be able to recover using\n          less OSDs. For instance if lrc is configured with k=8, m=4 and l=4, it will create\n          an additional parity chunk for every four OSDs. When a single OSD is lost, it can be\n          recovered with only four OSDs instead of eleven.</source>\n        <target>Z wtyczką jerasure, gdy obiekt zakodowany przy użyciu skasowania jest przechowywany na \n wielu OSD-kach, odzyskiwanie po utracie jednego OSD wymaga odczytu ze wszystkich pozostałych.\n Na przykład, jeśli konfiguracja skryptu ma wartość k = 8 ,m = 4 i l=4, utrata jednego OSD wymaga odczytu\n od jedenastu innych do naprawy.\n\n Wtyczka kodu wymazywania lrc tworzy fragmenty o parzystości lokalnej, aby móc je odzyskać\n mniej OSD. Na przykład, jeśli lrc jest skonfigurowane z k = 8, m = 4 i l = 4, zostanie utworzony\n dodatkowy fragment parzystości na każde cztery OSD. Gdy jeden OSD zostanie utracone, może to być\n odzyskane tylko z czterema OSD zamiast jedenastu.</target>\n      </trans-unit>\n      <trans-unit id="813959d46e63a29bbd266b3af2ff9414c2ef553c" datatype="html">\n        <source>Group the coding and data chunks into sets of size locality. For instance,\n          for k=4 and m=2, when locality=3 two groups of three are created. Each set can\n          be recovered without reading chunks from another set.</source>\n        <target>Grupuj fragmenty kodu i danych w zestawy lokalizacji wielkości. Na przykład,\n dla k = 4 i m = 2, gdy lokalność = 3 tworzone są dwie grupy po trzy. Każdy zestaw może\n odzyskać bez czytania kawałków z innego zestawu.</target>\n      </trans-unit>\n      <trans-unit id="f0ff63d92e0a1b4d4b51e31b9133802d160a5f4c" datatype="html">\n        <source>The type of the crush bucket in which each set of chunks defined\n          by l will be stored. For instance, if it is set to rack, each group of l chunks will be\n          placed in a different rack. It is used to create a CRUSH rule step such as step choose\n          rack. If it is not set, no such grouping is done.</source>\n        <target>Typ wiadra CRUSH, w którym zdefiniowano każdy zestaw porcji\n przez l zostaną zapisane. Na przykład, jeśli jest ustawiony na rack, każda grupa l porcji będzie\n umieszczona w innym raku. Służy do utworzenia kroku reguły CRUSH, takiego jak krok wyboru\n racka. Jeśli nie jest ustawiony, nie ma takiego grupowania.</target>\n      </trans-unit>\n      <trans-unit id="3ece48df9d1e9a98f98bf3c5cc66e8b637020a4d" datatype="html">\n        <source>The isa plugin encapsulates the ISA library. It only runs on Intel processors.</source>\n        <target>Wtyczka isa zawiera bibliotekę ISA. Działa tylko na procesorach Intel.</target>\n      </trans-unit>\n      <trans-unit id="4472c9e31bfc7d96a83dc4afce0a6e885c99e839" datatype="html">\n        <source>The ISA plugin comes in two Reed Solomon forms.\n          If reed_sol_van is set, it is Vandermonde, if cauchy is set, it is Cauchy.</source>\n        <target>Wtyczka ISA jest dostępna w dwóch formach Reed Solomon.\n Jeśli ustawiono reed_sol_van, jest to Vandermonde, jeśli ustawiono cauchy, to jest to Cauchy.</target>\n      </trans-unit>\n      <trans-unit id="fa385f5ecf63083ec848dca8dc5e52bdc72ac6f6" datatype="html">\n        <source>The shec plugin encapsulates the multiple SHEC library.\n          It allows ceph to recover data more efficiently than Reed Solomon codes.</source>\n        <target>Wtyczka shec zawiera wiele bibliotek SHEC.\n Pozwala ceph odzyskać dane bardziej efektywnie niż kody Reeda Solomona.</target>\n      </trans-unit>\n      <trans-unit id="687b3cd94b3475c24ff4481d64d4739f902a377c" datatype="html">\n        <source>The number of parity chunks each of which includes each data chunk in its\n          calculation range. The number is used as a durability estimator. For instance, if c=2,\n          2 OSDs can be down without losing data.</source>\n        <target>Liczba kawałków parzystości, z których każdy zawiera każdą porcję danych w swoim zakresie obliczeń. Liczba jest używana jako estymator trwałości. Na przykład, jeśli c = 2,\n 2 OSD można wyłączyć bez utraty danych.</target>\n      </trans-unit>\n      <trans-unit id="f3c4af6df91bdaabdb715f8f0b61a24faf73a3bc" datatype="html">\n        <source>The name of the crush bucket used for the first step of the CRUSH rule.\n      For instance step take default.</source>\n        <target>Nazwa wiadra crush jest użyte do pierwszego kroku reguły CRUSH.\nNa przykład krok jest domyślny.</target>\n      </trans-unit>\n      <trans-unit id="e1059955a5ce65cdabf0c0a8207377e1f9bae57e" datatype="html">\n        <source>Ensure that no two chunks are in a bucket with the same failure\n      domain. For instance, if the failure domain is host no two chunks will be stored on the same\n      host. It is used to create a CRUSH rule step such as step chooseleaf host.</source>\n        <target>Upewnij się, że żadne dwie porcje nie znajdują się w wiadrze z tą samą awarią\n domeny. Na przykład, jeśli domena awarii jest hostem, nie zostaną na niej zapisane dwie porcje\n hosta. Służy do utworzenia kroku reguły CRUSH, takiego jak krok wyboru hosta.</target>\n      </trans-unit>\n      <trans-unit id="ac392ac9c6da5fde6da80fc57b9c09402fb6e73d" datatype="html">\n        <source>Restrict placement to devices of a specific class\n      (e.g., ssd or hdd), using the crush device class names in the CRUSH map.</source>\n        <target>Ogranicz umieszczanie do urządzeń określonej klasy\n (np. ssd lub hdd), używając nazw klas urządzeń zgniatających na mapie CRUSH.</target>\n      </trans-unit>\n      <trans-unit id="62bcb9ae5583a088649b1adf5787a86ca3334f89" datatype="html">\n        <source>Set the directory name from which the erasure code plugin is loaded.</source>\n        <target>Ustaw nazwę katalogu, z którego ładowana jest wtyczka kodu kasowania.</target>\n      </trans-unit>\n      <trans-unit id="c8f10184a8433d132ede0a2c0c1aa96f291cacfa" datatype="html">\n        <source>Allows all operations</source>\n        <target>Dozwolone są wszystkie operacje</target>\n      </trans-unit>\n      <trans-unit id="82077ee97c11ee76efc3adf253b7b26654544317" datatype="html">\n        <source>Allows only operations that do not modify the server</source>\n        <target>Dozwolone są operacje, które nie modyfikują serweru</target>\n      </trans-unit>\n      <trans-unit id="22b5212ec10449dbf0a0af0ad34122eac51b5f2a" datatype="html">\n        <source>Does not allow read or write operations, but allows any other operation</source>\n        <target>Operacje odczytu i zapisu są zakazane, wszystkie inne dozwolone</target>\n      </trans-unit>\n      <trans-unit id="9799d0f8c4b7727ae239fedfe3c0ce127feb7a50" datatype="html">\n        <source>Does not allow read, write, or any operation that modifies file        attributes or directory content</source>\n        <target>Operacje odczytu i zapisu, oraz wszystkie operacje modyfikujące atrybuty albo katalogi są zakazane </target>\n      </trans-unit>\n      <trans-unit id="aeddefe0af87025d8f00699aa94bed8216a99a58" datatype="html">\n        <source>Allows no access at all</source>\n        <target>Brak dostępu w ogóle</target>\n      </trans-unit>\n      <trans-unit id="a436c6a4025a749198e93cac239de8deede72211" datatype="html">\n        <source>-- Select the priority --</source>\n        <target>-- wybierz priorytet -- </target>\n      </trans-unit>\n      <trans-unit id="9556266f0a2b1762a44b686f2bb21dbfefb01c12" datatype="html">\n        <source>Low</source>\n        <target>Niski</target>\n      </trans-unit>\n      <trans-unit id="72279141a67cc042d9864102b703216cc8a428a3" datatype="html">\n        <source>High</source>\n        <target>Wysoki</target>\n      </trans-unit>\n      <trans-unit id="6080b77234e92ad41bb52653b239c4c4f851317d" datatype="html">\n        <source>Error</source>\n        <target>Error</target>\n      </trans-unit>\n      <trans-unit id="c43dc1967a603fefb886149ac35863a06d5b4ce5" datatype="html">\n        <source>Information</source>\n        <target>Informacja</target>\n      </trans-unit>\n      <trans-unit id="1e035e6ccfab771cad4226b2ad230cb0d4a88cba" datatype="html">\n        <source>Success</source>\n        <target>Success</target>\n      </trans-unit>\n      <trans-unit id="e6ca3c0efaf51e6d45a7f92f58bac37140c3fda4" datatype="html">\n        <source>Last 5 minutes</source>\n        <target>Ostatnie 5 minut</target>\n      </trans-unit>\n      <trans-unit id="b0ecb2bbc548cc9bd95050fd8f0c84586d083fe2" datatype="html">\n        <source>Last 15 minutes</source>\n        <target>Ostatnie 15 minut</target>\n      </trans-unit>\n      <trans-unit id="857ae67deb51353120b203b0f2a06b0c48ef49fa" datatype="html">\n        <source>Last 30 minutes</source>\n        <target>Ostatnie 30 minut</target>\n      </trans-unit>\n      <trans-unit id="7b1738fad314e936dc14b94db8f43da736942308" datatype="html">\n        <source>Last 1 hour (Default)</source>\n        <target>Ostatnia 1 godzina (domyślnie)</target>\n      </trans-unit>\n      <trans-unit id="a428288224389726cef9d9bd8d1d7808cccd7ffd" datatype="html">\n        <source>Last 3 hours</source>\n        <target>Ostatnie 3 godziny</target>\n      </trans-unit>\n      <trans-unit id="7cbabecc8d80cf183ac199cfaeb7619d56e5d43f" datatype="html">\n        <source>Last 6 hours</source>\n        <target>Ostatnie 6 godzin</target>\n      </trans-unit>\n      <trans-unit id="1a389cdf64187d34cf99eec30a290e3fa7d4744f" datatype="html">\n        <source>Last 12 hours</source>\n        <target>Ostatnie 12 godzin</target>\n      </trans-unit>\n      <trans-unit id="9e0ba5f591380a94d594a76288f0c41aa97eb9c2" datatype="html">\n        <source>Last 24 hours</source>\n        <target>Ostatnie 24 godziny</target>\n      </trans-unit>\n      <trans-unit id="e430eda9c785cd43465b7cbb400ee914f1057247" datatype="html">\n        <source>Yesterday</source>\n        <target>Wczoraj</target>\n      </trans-unit>\n      <trans-unit id="7fb1099e29660162f9154d5b2feee7743a423df6" datatype="html">\n        <source>Today</source>\n        <target>Dzisiaj</target>\n      </trans-unit>\n      <trans-unit id="33904058a97a64bd189bed84038b1ffe719769c7" datatype="html">\n        <source>Today so far</source>\n        <target>Do tej pory dzisiaj</target>\n      </trans-unit>\n      <trans-unit id="3b0b849be007510021d3d383df75bec95ef9c97b" datatype="html">\n        <source>Day before yesterday</source>\n        <target>Przedwczoraj</target>\n      </trans-unit>\n      <trans-unit id="6b430c2c394c4d32ebd7d46c8c46ab60e1b29ccb" datatype="html">\n        <source>Last 2 days</source>\n        <target>Ostatnie 2 dni</target>\n      </trans-unit>\n      <trans-unit id="d5e812a87a5d57a94200a2013027cab76a7c4863" datatype="html">\n        <source>This day last week</source>\n        <target>Tego dnia tydzień temu</target>\n      </trans-unit>\n      <trans-unit id="d00edc936eeab6b5577401f115ca86ca2c87dc9a" datatype="html">\n        <source>Previous week</source>\n        <target>Poprzedni tydzień</target>\n      </trans-unit>\n      <trans-unit id="b036e40577baa6b918b2267d319d4b3aeaa88a5a" datatype="html">\n        <source>This week</source>\n        <target>Ten tydzień </target>\n      </trans-unit>\n      <trans-unit id="99ad5a6096b3fcb3f021f3779bae710cdfeb8934" datatype="html">\n        <source>This week so far</source>\n        <target>Do tej pory w tym tygodniu</target>\n      </trans-unit>\n      <trans-unit id="02e0243b60007368f87dc01e083f232dd025096d" datatype="html">\n        <source>Last 7 days</source>\n        <target>Ostatnie 7 dni</target>\n      </trans-unit>\n      <trans-unit id="c3b08b07b5ab98e7cdcf18df39355690ab7d3884" datatype="html">\n        <source>Previous month</source>\n        <target>Poprzedniego miesiąca</target>\n      </trans-unit>\n      <trans-unit id="1b2562c6d5aa90644e7dc91feee82e2005fceb33" datatype="html">\n        <source>This month</source>\n        <target>ten miesiąc</target>\n      </trans-unit>\n      <trans-unit id="26b4b18c5917934abb169ba9aa490e57f7bf10b8" datatype="html">\n        <source>This month so far</source>\n        <target>Do tej pory w tym miesiącu</target>\n      </trans-unit>\n      <trans-unit id="7668986b9f753fcd72ad4a00b1a0c4861d1f7fb8" datatype="html">\n        <source>Last 30 days</source>\n        <target>Ostatnie 30 dni</target>\n      </trans-unit>\n      <trans-unit id="ba1e822408d90c6fbd2989100fa648bfd5e8ee84" datatype="html">\n        <source>Last 90 days</source>\n        <target>Ostatnie 90 dni</target>\n      </trans-unit>\n      <trans-unit id="c3df03f899a914c4181adcdc8a3f077424f7b6e8" datatype="html">\n        <source>Last 6 months</source>\n        <target>Ostatnie 6 miesięcy</target>\n      </trans-unit>\n      <trans-unit id="7f9a92757580c9f31c309c0a3812ea429274eadf" datatype="html">\n        <source>Last 1 year</source>\n        <target>Ostatni 1 rok</target>\n      </trans-unit>\n      <trans-unit id="5a9fede30ff65cb4b4426f6b1ed31afb67ecd7b0" datatype="html">\n        <source>Previous year</source>\n        <target>Poprzedniego roku</target>\n      </trans-unit>\n      <trans-unit id="65cefcc53d1f6445df7568e8a40c49165f1090ee" datatype="html">\n        <source>This year</source>\n        <target>Bieżącego roku</target>\n      </trans-unit>\n      <trans-unit id="1f68b766944dc3865bddab765fe952b0c1c43f92" datatype="html">\n        <source>This year so far</source>\n        <target>Do tej pory bieżącego roku</target>\n      </trans-unit>\n      <trans-unit id="4d4b77e614f8043fdadef5d6d235655bb48eb311" datatype="html">\n        <source>Last 2 years</source>\n        <target>Ostatnie 2 lata</target>\n      </trans-unit>\n      <trans-unit id="138afa339ea6e75d25a474affe1edbcb90e00ec0" datatype="html">\n        <source>Last 5 years</source>\n        <target>Ostatnie 5 lat</target>\n      </trans-unit>\n      <trans-unit id="37391297bb077a6f84484930261b01a3ce38327b" datatype="html">\n        <source>No items selected.</source>\n        <target>Nie wybrano żadnej pozycji</target>\n      </trans-unit>\n      <trans-unit id="2c1e52ee832661b4a0f570877d24661736b16af1" datatype="html">\n        <source>Deselect item to select again</source>\n        <target>Odznacz pozycję, żeby wybrać ponownie</target>\n      </trans-unit>\n      <trans-unit id="c8c9c6e5918659336824bbdda3501c66eaa79a4c" datatype="html">\n        <source>Selection limit reached</source>\n        <target>Osiągnięto limit wyboru. </target>\n      </trans-unit>\n      <trans-unit id="02d184c288f567825a1fcbf83bcd3099a10853d5" datatype="html">\n        <source>Filter tags</source>\n        <target>Filtr tagów.</target>\n      </trans-unit>\n      <trans-unit id="aa00748e49c269956837d6f3acdd8d218796a8d8" datatype="html">\n        <source>Add badge</source>\n        <target>Dodaj odznakę</target>\n      </trans-unit>\n      <trans-unit id="4078a92d8121abdce7d8f346a88914923ec835fc" datatype="html">\n        <source>There are no items available.</source>\n        <target>Brak dostępnych pozycji.</target>\n      </trans-unit>\n      <trans-unit id="f6755cff4957d5c3c89bafce5651f1b6fa2b1fd9" datatype="html">\n        <source>Add</source>\n        <target>Dodaj</target>\n      </trans-unit>\n      <trans-unit id="019d4bd6a5690f0cfa0ecf346a4e6bf7f0d8debb" datatype="html">\n        <source>Remove</source>\n        <target>Remove</target>\n      </trans-unit>\n      <trans-unit id="54a4a3132b693575728a45a5f3154ad4c9af404b" datatype="html">\n        <source>Clone</source>\n        <target>Sklonuj</target>\n      </trans-unit>\n      <trans-unit id="1979da7460819153e11d2078244645d94291b69c" datatype="html">\n        <source>Copy</source>\n        <target>Kopia</target>\n      </trans-unit>\n      <trans-unit id="2e5e77dbaadd6588d8bbf737139fd9806294ae28" datatype="html">\n        <source>Deep Scrub</source>\n        <target>Szoruj głęboko</target>\n      </trans-unit>\n      <trans-unit id="bf463b189696c19769ea263227e6c22aefafb918" datatype="html">\n        <source>Destroy</source>\n        <target>Zniszcz</target>\n      </trans-unit>\n      <trans-unit id="b4e94d529ff10db4d86f3f48900fa67ede3411fd" datatype="html">\n        <source>Evict</source>\n        <target>Evict</target>\n      </trans-unit>\n      <trans-unit id="3747fff7faf52b436ecff5fb8555091736d92c70" datatype="html">\n        <source>Flatten</source>\n        <target>Spłaszcz</target>\n      </trans-unit>\n      <trans-unit id="66fdbf32e5449cc54a3d1e19c7b8f4ea238facfb" datatype="html">\n        <source>Mark Down</source>\n        <target>zaznacz jako upadły</target>\n      </trans-unit>\n      <trans-unit id="0cda3e824fb2f9c731e5a60b859dedc1fe03127e" datatype="html">\n        <source>Mark In</source>\n        <target>Zaznacz jako w </target>\n      </trans-unit>\n      <trans-unit id="f833354f43cb38c5716faa8759a9bbdd1ab8f199" datatype="html">\n        <source>Mark Lost</source>\n        <target>Zaznacz jako stracony</target>\n      </trans-unit>\n      <trans-unit id="75fb9f970ba365398c45e57bbb1019c009f6b832" datatype="html">\n        <source>Mark Out</source>\n        <target>Zaznacz jako poza</target>\n      </trans-unit>\n      <trans-unit id="45480c03b0a3a37ff8f6a5600a6a034b40fbaea4" datatype="html">\n        <source>Protect</source>\n        <target>Zabezpiecz</target>\n      </trans-unit>\n      <trans-unit id="e26f9cf3666aace4e524b1505c9795d76d87738d" datatype="html">\n        <source>Rename</source>\n        <target>Zmień nazwę</target>\n      </trans-unit>\n      <trans-unit id="d5cec7468241d72cafd86ad1af6d55b09a6e3ae5" datatype="html">\n        <source>Restore</source>\n        <target>Przywróć</target>\n      </trans-unit>\n      <trans-unit id="ba073985cfd2528c77a746ed596b2f2052b973c5" datatype="html">\n        <source>Move to Trash</source>\n        <target>Przenieś do kosza</target>\n      </trans-unit>\n      <trans-unit id="3ea9b96a21a499d296a7f25407da0f3df6c2d5ed" datatype="html">\n        <source>Unprotect</source>\n        <target>Odbezpiecz </target>\n      </trans-unit>\n      <trans-unit id="024cdb2814b0cb3f4ced148f1a0b9854447cb214" datatype="html">\n        <source>Change</source>\n        <target>Change</target>\n      </trans-unit>\n      <trans-unit id="011f3e2bfc1fd8407eb5f599352665bfeb145664" datatype="html">\n        <source>Recreate</source>\n        <target>Recreate</target>\n      </trans-unit>\n      <trans-unit id="6df2dfa48bef5510c82fb43f4e71a7f9557f3d71" datatype="html">\n        <source>Expire</source>\n        <target>Expire</target>\n      </trans-unit>\n      <trans-unit id="28df1b02fd88d2deb0212bc5d7ff34cf9492fa54" datatype="html">\n        <source>Deleted</source>\n        <target>Usunięty</target>\n      </trans-unit>\n      <trans-unit id="80e3b490720757978c99a7b5af3885faf202b955" datatype="html">\n        <source>Added</source>\n        <target>Added</target>\n      </trans-unit>\n      <trans-unit id="1aa4883bc4f1352f7a0bdd94810a9bf6dc22bd02" datatype="html">\n        <source>Removed</source>\n        <target>Removed</target>\n      </trans-unit>\n      <trans-unit id="402f3ee47f98fbbc68530239b1ddcbb9e96a460c" datatype="html">\n        <source>Edited</source>\n        <target>Edited</target>\n      </trans-unit>\n      <trans-unit id="96d56ec71c6e78cb4d6204c4a9359a3d38fcdb59" datatype="html">\n        <source>Canceled</source>\n        <target>Canceled</target>\n      </trans-unit>\n      <trans-unit id="a3318a2ee2bd0064b6b9ff72a4018b679ec63125" datatype="html">\n        <source>Cloned</source>\n        <target>Sklonowano</target>\n      </trans-unit>\n      <trans-unit id="ef90545bc832876c0d7f9a10363c75137472bbb5" datatype="html">\n        <source>Copied</source>\n        <target>Skopiowano </target>\n      </trans-unit>\n      <trans-unit id="5a13d3834133e09544ec93885662f181372dcf46" datatype="html">\n        <source>Deep Scrubbed</source>\n        <target>Deep Scrubbed</target>\n      </trans-unit>\n      <trans-unit id="7c9efb91434a5c15e9579c0b31c8e184b8c8240d" datatype="html">\n        <source>Destroyed</source>\n        <target>Destroyed</target>\n      </trans-unit>\n      <trans-unit id="647059bf3ea098fffedf92ddfad792bb3daa3c95" datatype="html">\n        <source>Flattened</source>\n        <target>Spłaszczony</target>\n      </trans-unit>\n      <trans-unit id="8df71e952319eafa71c8e6ef6144b780af8813ff" datatype="html">\n        <source>Marked Down</source>\n        <target>Marked Down</target>\n      </trans-unit>\n      <trans-unit id="25658f5a080a1cab3b91e17b756b1d1dc46bb9b3" datatype="html">\n        <source>Marked In</source>\n        <target>Marked In</target>\n      </trans-unit>\n      <trans-unit id="ebcf306036a6c5579df9448f77eca98d491db245" datatype="html">\n        <source>Marked Lost</source>\n        <target>Marked Lost</target>\n      </trans-unit>\n      <trans-unit id="3a8803369ac18be3ad762384b9fda095fe2a6dcc" datatype="html">\n        <source>Marked Out</source>\n        <target>Marked Out</target>\n      </trans-unit>\n      <trans-unit id="0fe2a62ea7c609fa8326ee6d38060bc5ba8bf34f" datatype="html">\n        <source>Protected</source>\n        <target>Protected</target>\n      </trans-unit>\n      <trans-unit id="69b0446c6c2411c4fe01e411b8ceec72d4044fb4" datatype="html">\n        <source>Purged</source>\n        <target>Oczyszczony</target>\n      </trans-unit>\n      <trans-unit id="d53de1a61bd51c815dc374c7f97e4ee69230e412" datatype="html">\n        <source>Renamed</source>\n        <target>Renamed</target>\n      </trans-unit>\n      <trans-unit id="86fc6cae82c095f14105eb8a61d7b3fa948304b7" datatype="html">\n        <source>Restored</source>\n        <target>Przywrócony</target>\n      </trans-unit>\n      <trans-unit id="e87dd0fd35460cb743046db918dfce2137b5977a" datatype="html">\n        <source>Reweighted</source>\n        <target>Reweighted</target>\n      </trans-unit>\n      <trans-unit id="dc21fd6547f2325c67f6deff925f29eb07a2db3e" datatype="html">\n        <source>Rolled back</source>\n        <target>Wycofaj</target>\n      </trans-unit>\n      <trans-unit id="15dec4c2d73a516c10aef90aeeea3364fa794615" datatype="html">\n        <source>Scrubbed</source>\n        <target>Scrubbed</target>\n      </trans-unit>\n      <trans-unit id="8dc560ded67482f109a98e0638851ad1d37188b3" datatype="html">\n        <source>Showed</source>\n        <target>Showed</target>\n      </trans-unit>\n      <trans-unit id="197259b7ea76f15c6d0a64b075a673fd4112ada7" datatype="html">\n        <source>Moved to Trash</source>\n        <target>Moved to Trash</target>\n      </trans-unit>\n      <trans-unit id="8fb15cb102cd75b562680290b7e04c44d80018f2" datatype="html">\n        <source>Unprotected</source>\n        <target>Unprotected</target>\n      </trans-unit>\n      <trans-unit id="8588eafa498262a1cbb5043ad68cf0ff669c4f10" datatype="html">\n        <source>Recreated</source>\n        <target>Recreated</target>\n      </trans-unit>\n      <trans-unit id="ffde7468d7b5cad6990095ed68ddee3d67cd02f8" datatype="html">\n        <source>Expired</source>\n        <target>Expired</target>\n      </trans-unit>\n      <trans-unit id="4f20f2d5a6882190892e58b85f6ccbedfa737952" datatype="html">\n        <source>Yes</source>\n        <target>Tak</target>\n      </trans-unit>\n      <trans-unit id="3d3ae7deebc5949b0c1c78b9847886a94321d9fd" datatype="html">\n        <source>No</source>\n        <target>Nie</target>\n      </trans-unit>\n      <trans-unit id="99fa0b67376d40142bd4d3ace3344abf4f98b6a5" datatype="html">\n        <source>Your matcher seems to match no currently defined rule or active alert.</source>\n        <target>Your matcher seems to match no currently defined rule or active alert.</target>\n      </trans-unit>\n      <trans-unit id="7e284852732c303eb1f47de9aca2569e41aeffed" datatype="html">\n        <source>no active alerts</source>\n        <target>no active alerts</target>\n      </trans-unit>\n      <trans-unit id="b8042829e4fbe7b09fd9bac9fa0ecf5cc1802fee" datatype="html">\n        <source>1 active alert</source>\n        <target>1 active alert</target>\n      </trans-unit>\n      <trans-unit id="e24adce97669cb0fc74cc13fdc14179b6f78ea5e" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{n}}"/> active alerts\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{n}}"/> active alerts\n        </target>\n      </trans-unit>\n      <trans-unit id="d8fb058ff5883731d38a132da4ca45cfe8d719a3" datatype="html">\n        <source>Matches 1 rule</source>\n        <target>Matches 1 rule</target>\n      </trans-unit>\n      <trans-unit id="90aaef24d192e67c3fbc2ec6f8bfaff211cea128" datatype="html">\n        <source>Matches \n          <x id="INTERPOLATION" equiv-text="{{n}}"/> rules\n        </source>\n        <target>Matches \n          <x id="INTERPOLATION" equiv-text="{{n}}"/> rules\n        </target>\n      </trans-unit>\n      <trans-unit id="f4685dc581e18244cd410f1057a8c56a9dbfe8df" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rules}}"/> with \n          <x id="INTERPOLATION_1" equiv-text="{{alerts}}"/>.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rules}}"/> with \n          <x id="INTERPOLATION_1" equiv-text="{{alerts}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8fd98fb2a0f24ba72cde0787dd3f02cfc17de469" datatype="html">\n        <source>Quality of Service</source>\n        <target>Jakość serwisu</target>\n      </trans-unit>\n      <trans-unit id="2c53f3ce2c6fff9025a7b41cc334521725da6e7b" datatype="html">\n        <source>BPS Limit</source>\n        <target>Limit BPS</target>\n      </trans-unit>\n      <trans-unit id="e897624a392419386b035bcd8529337e262fc41d" datatype="html">\n        <source>The desired limit of IO bytes per second.</source>\n        <target>Pożądany limit IO bajtów na sekundę.</target>\n      </trans-unit>\n      <trans-unit id="dc56f77e4507da7e86a3accd0a2a7099a838d539" datatype="html">\n        <source>IOPS Limit</source>\n        <target>Limit IOPS</target>\n      </trans-unit>\n      <trans-unit id="141c3f6eadbb35b0e17b2f847e4cac23240a6ea9" datatype="html">\n        <source>The desired limit of IO operations per second.</source>\n        <target>Pożądany limit operacji IO na sekundę.</target>\n      </trans-unit>\n      <trans-unit id="3b3b101f16c38806e984b157e0cf22cd21451122" datatype="html">\n        <source>Read BPS Limit</source>\n        <target>limit odczytu BPS</target>\n      </trans-unit>\n      <trans-unit id="87835fabb6a645873f3829a450ca1d58f97754f2" datatype="html">\n        <source>The desired limit of read bytes per second.</source>\n        <target>Pożądany limit odczytu bajtów na sekundę.</target>\n      </trans-unit>\n      <trans-unit id="28b485e700df46d70b96666099f714e3ae9e5c2e" datatype="html">\n        <source>Read IOPS Limit</source>\n        <target>limit  odczytu IOPS</target>\n      </trans-unit>\n      <trans-unit id="5907bd1a5cf3e20e740bca676cb1538372e1f9ff" datatype="html">\n        <source>The desired limit of read operations per second.</source>\n        <target>Pożądany limit operacji odczytu na sekundę.</target>\n      </trans-unit>\n      <trans-unit id="07317121f0b194987d4dee8b322f521ac17bf124" datatype="html">\n        <source>Write BPS Limit</source>\n        <target>Limit zapisu BPS</target>\n      </trans-unit>\n      <trans-unit id="4022c78bd9132ca2ec67927f8484c437d1d9b6fd" datatype="html">\n        <source>The desired limit of write bytes per second.</source>\n        <target>Pożądany limit zapisu bajtów na sekundę.</target>\n      </trans-unit>\n      <trans-unit id="52c22c19f98ff3a09bd811292954a889b93d28b7" datatype="html">\n        <source>Write IOPS Limit</source>\n        <target>Limit zapisu IOPS</target>\n      </trans-unit>\n      <trans-unit id="0ed62e3fd8654b3191fc7fa959ad3f10f1ea773a" datatype="html">\n        <source>The desired limit of write operations per second.</source>\n        <target>Pożądany limit operacji zapisu na sekundę.</target>\n      </trans-unit>\n      <trans-unit id="d90c99d77864f21f932ee1369019f400c4ad0e2d" datatype="html">\n        <source>BPS Burst</source>\n        <target>Wiązka BPS</target>\n      </trans-unit>\n      <trans-unit id="29c32192f4d185139aaaf6d3a766a3411dfeabbe" datatype="html">\n        <source>The desired burst limit of IO bytes.</source>\n        <target>Żądana granica serii IO bajtów.</target>\n      </trans-unit>\n      <trans-unit id="b988b90489e899941e196c3dd0ecc22e37540224" datatype="html">\n        <source>IOPS Burst</source>\n        <target>Wiązka IOPS</target>\n      </trans-unit>\n      <trans-unit id="02c5de8ff11870f1b3896f2b45637ce0dba1ed4b" datatype="html">\n        <source>The desired burst limit of IO operations.</source>\n        <target>Żądana granica serii operacji IO.</target>\n      </trans-unit>\n      <trans-unit id="7a160538129b37cf595f1651f28b5fac62fbc0f8" datatype="html">\n        <source>Read BPS Burst</source>\n        <target>Odczyt wiązki BPS</target>\n      </trans-unit>\n      <trans-unit id="b573a5df16a53b9947288461bc24e6a0eb4341d6" datatype="html">\n        <source>The desired burst limit of read bytes.</source>\n        <target>Żądana granica serii odczytanych bajtów.</target>\n      </trans-unit>\n      <trans-unit id="1d5b8c2a0c653651cc4ca4b8fed9456f449220d1" datatype="html">\n        <source>Read IOPS Burst</source>\n        <target>Odczyt wiązki IOPS</target>\n      </trans-unit>\n      <trans-unit id="20b199f9d4a8d08ffefec66040e27639ec221512" datatype="html">\n        <source>The desired burst limit of read operations.</source>\n        <target> Żądana granica serii operacji odczytu.</target>\n      </trans-unit>\n      <trans-unit id="824525ae57992aee629ddffcd500a8b77087ddec" datatype="html">\n        <source>Write BPS Burst</source>\n        <target>Zapis wiązki BPS</target>\n      </trans-unit>\n      <trans-unit id="a90aac4050a5d79765da5e1186909f6d4d7f981d" datatype="html">\n        <source>The desired burst limit of write bytes.</source>\n        <target>Żądana granica serii bajtów zapisu.</target>\n      </trans-unit>\n      <trans-unit id="35a8c6e6c249c7d16e26aa7c4ef97c06db405070" datatype="html">\n        <source>Write IOPS Burst</source>\n        <target>Zapis wiązki IOPS</target>\n      </trans-unit>\n      <trans-unit id="b356abd41d7e9eea4d20c03d2e6892b6d435ecbd" datatype="html">\n        <source>The desired burst limit of write operations.</source>\n        <target>Żądana granica serii operacji zapisu.</target>\n      </trans-unit>\n      <trans-unit id="24c4d50fe8567de381a20a1745f1b6d37eacaa90" datatype="html">\n        <source>Failed to \n          <x id="INTERPOLATION" equiv-text="{{failure}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{metadata}}"/>\n        </source>\n        <target>Failed to \n          <x id="INTERPOLATION" equiv-text="{{failure}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{metadata}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="f54b6f09b390d5ade0e354f6c7d4743c10a315cc" datatype="html">\n        <source>Executing</source>\n        <target>Wykonywanie </target>\n      </trans-unit>\n      <trans-unit id="5cdfe3e3330ea42bfd29c540dbd268bee97d364d" datatype="html">\n        <source>execute</source>\n        <target>Wykonaj</target>\n      </trans-unit>\n      <trans-unit id="6e98e243518daa88be30330fcdbd2d10f8eae4d7" datatype="html">\n        <source>Executed</source>\n        <target>Wykonany</target>\n      </trans-unit>\n      <trans-unit id="24b09aa5bd909273a023d2d788a2673325c77e31" datatype="html">\n        <source>unknown task</source>\n        <target>Nieznane zadanie</target>\n      </trans-unit>\n      <trans-unit id="114b5f92b9192b229ffc9a450319a97ccca2aa5c" datatype="html">\n        <source>Creating</source>\n        <target>Tworzenie</target>\n      </trans-unit>\n      <trans-unit id="56695b69d27437ada580a187958407e7c856d46e" datatype="html">\n        <source>create</source>\n        <target>Utwórz</target>\n      </trans-unit>\n      <trans-unit id="9db60170ef3b3b41a863e7d5ee7cec10919b9141" datatype="html">\n        <source>Updating</source>\n        <target>Aktualizowanie </target>\n      </trans-unit>\n      <trans-unit id="64412640835b7d25247cb254d4f911366c0e6862" datatype="html">\n        <source>update</source>\n        <target>Zaktualizuj</target>\n      </trans-unit>\n      <trans-unit id="416193bb373d59477458b00e5922d755e2e2cacd" datatype="html">\n        <source>Deleting</source>\n        <target>Usuwanie</target>\n      </trans-unit>\n      <trans-unit id="70ef158c584bafe788e319a0bffa11b02ee9abf1" datatype="html">\n        <source>delete</source>\n        <target>Usuń</target>\n      </trans-unit>\n      <trans-unit id="d07a282afc7fbdb39cea6e1c9b544882a7260a86" datatype="html">\n        <source>Adding</source>\n        <target>Adding</target>\n      </trans-unit>\n      <trans-unit id="a11ec4e640f241329943237d2a3cceaa4823658e" datatype="html">\n        <source>add</source>\n        <target>add</target>\n      </trans-unit>\n      <trans-unit id="ea1c70b874904216cc5af24bd7cb3dab2d074d42" datatype="html">\n        <source>Removing</source>\n        <target>Removing</target>\n      </trans-unit>\n      <trans-unit id="4da487aec5a29ce4372e7b512227cd665b01fe6f" datatype="html">\n        <source>remove</source>\n        <target>remove</target>\n      </trans-unit>\n      <trans-unit id="3f757cfc3749ebb5d4462017cb60138ca082f15f" datatype="html">\n        <source>RBD \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>RBD \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="a6c681e6130fe440ae40de99a405fcf5c7eefee1" datatype="html">\n        <source>RBD snapshot \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>RBD snapshot \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="4fb54a0291f49583c317d4a3690239141b5a8f68" datatype="html">\n        <source>mirror mode for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>mirror mode for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="6621ab6e122a149326a1e48e9051a41e7f203cf6" datatype="html">\n        <source>mirror peer for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>mirror peer for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="db15adc778317d551232fe712eb03a2c1eac4a43" datatype="html">\n        <source>all dashboards</source>\n        <target>all dashboards</target>\n      </trans-unit>\n      <trans-unit id="1b559dbd9cc9664fd788c2da9a10d3abafe066cb" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8fc28e1103d9f2ef47b9fff9a4f74e8365c7cf19" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="1cdc7ea44fcb85d0cfcf6e7379d625d8674a8fbe" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="1ff7676ad1e991102224540a32dd44ad1ab88aa8" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.\n        </target>\n      </trans-unit>\n      <trans-unit id="c3a1dcca2b2ba20fbe39e2441e7bb1cf9c20cdf3" datatype="html">\n        <source>Cloning</source>\n        <target>Klonowanie</target>\n      </trans-unit>\n      <trans-unit id="b5fa4e0a3a279dee5b6bf7b823e54387f7c79994" datatype="html">\n        <source>clone</source>\n        <target>Sklonuj </target>\n      </trans-unit>\n      <trans-unit id="29b7452e8367af9aa8fa828f16ff94c3530e7a1a" datatype="html">\n        <source>Snapshot of \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> must be protected.\n        </source>\n        <target>Snapshot of \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> must be protected.\n        </target>\n      </trans-unit>\n      <trans-unit id="369f93b9a07a9465f7a261e9f0021b6cfa7180c5" datatype="html">\n        <source>Copying</source>\n        <target>Kopiowanie </target>\n      </trans-unit>\n      <trans-unit id="37584f889855d153a106f5dffe23d21f9453c8ff" datatype="html">\n        <source>copy</source>\n        <target>Kopiuj</target>\n      </trans-unit>\n      <trans-unit id="6ea9e313a04ef59222feaadfe84e97b4c69d7e9e" datatype="html">\n        <source>Flattening</source>\n        <target>Spłaszczanie</target>\n      </trans-unit>\n      <trans-unit id="1f57593581b64d2d4c70eab1736bd9bccc66a7dc" datatype="html">\n        <source>flatten</source>\n        <target>Spłaszcz</target>\n      </trans-unit>\n      <trans-unit id="d990ef9680cd23bbe652c37eb46bf038cfee80ad" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="a101745d080ef65c09bd5fafc796f94ddb9f9d60" datatype="html">\n        <source>Cannot unprotect \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it contains child images.\n        </source>\n        <target>Cannot unprotect \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it contains child images.\n        </target>\n      </trans-unit>\n      <trans-unit id="647968f4cde7786cd53ec8e6aa9802ac6824a262" datatype="html">\n        <source>Cannot delete \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it\'s protected.\n        </source>\n        <target>Cannot delete \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it\'s protected.\n        </target>\n      </trans-unit>\n      <trans-unit id="57ddd3e15cf0ce974356b757451f50116a27272b" datatype="html">\n        <source>Rolling back</source>\n        <target>Wycofywanie </target>\n      </trans-unit>\n      <trans-unit id="a8913a3a5ee61f2598b5f0432cb9b20cdd60548e" datatype="html">\n        <source>rollback</source>\n        <target>Wycofanie</target>\n      </trans-unit>\n      <trans-unit id="de8676f0017c9db6c49388cd7d63cd0a83a0c1dc" datatype="html">\n        <source>Moving</source>\n        <target>Przenoszenie</target>\n      </trans-unit>\n      <trans-unit id="2d810712308ae63cb795d809687a3254ef7a2f05" datatype="html">\n        <source>move</source>\n        <target>Przenieś</target>\n      </trans-unit>\n      <trans-unit id="f3ba995236e5c1cc77686108980c099a90aec754" datatype="html">\n        <source>Moved</source>\n        <target>Przeniesiono</target>\n      </trans-unit>\n      <trans-unit id="d0422169252d132624a20f267b5c29f28cb53ebe" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' to trash\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' to trash\n        </target>\n      </trans-unit>\n      <trans-unit id="b603e2dfed9808222fbcb5a7c5f4da2cc6ae2aae" datatype="html">\n        <source>Could not find image.</source>\n        <target>Nie znaleziono obrazu.</target>\n      </trans-unit>\n      <trans-unit id="398debe73006b1fe5177ed81d2e7b0cc852f61ec" datatype="html">\n        <source>Restoring</source>\n        <target>Przywracanie</target>\n      </trans-unit>\n      <trans-unit id="c252806fb400e79bac194696632c9362742b1538" datatype="html">\n        <source>restore</source>\n        <target>Przywróć </target>\n      </trans-unit>\n      <trans-unit id="30b8bcf69b3f1754b7abba173fd806cfcea4cb04" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' into \'\n          <x id="INTERPOLATION_1" equiv-text="{{new_id}}"/>\'\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' into \'\n          <x id="INTERPOLATION_1" equiv-text="{{new_id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="13b7b241cef989fe0932ddd180e757658e1817e7" datatype="html">\n        <source>Image name \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' is already in use.\n        </source>\n        <target>Image name \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' is already in use.\n        </target>\n      </trans-unit>\n      <trans-unit id="cc1cee12c833e8fbbef28a2a7c449dc530da912d" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="38e5f47f8bef505652f3e87f46efb00ead1350a3" datatype="html">\n        <source>Purging</source>\n        <target>oczyszczać</target>\n      </trans-unit>\n      <trans-unit id="e4e57747f123f0fe6fe3a0ecf608f8bc287dec0c" datatype="html">\n        <source>purge</source>\n        <target>oczyść</target>\n      </trans-unit>\n      <trans-unit id="1560d58fdf39663929653250d45f5b1dfe078fea" datatype="html">\n        <source>all pools</source>\n        <target>Wszystkie pule</target>\n      </trans-unit>\n      <trans-unit id="1ac3dc50c2c3d86e98bc0967ee1e696810a2d3aa" datatype="html">\n        <source>images from \n          <x id="INTERPOLATION" equiv-text="{{message}}"/>\n        </source>\n        <target>images from \n          <x id="INTERPOLATION" equiv-text="{{message}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="02278abbb044ece04ab6bd80bd2060198d31d83b" datatype="html">\n        <source>Cannot disable mirroring because it contains a peer.</source>\n        <target>Nie można wyłączyć lustrzenia ponieważ zawiera parowanie.</target>\n      </trans-unit>\n      <trans-unit id="f123ae1fc3b000e5d08e766dd78bff162afe709d" datatype="html">\n        <source>host \'\n          <x id="INTERPOLATION" equiv-text="{{hostname}}"/>\'\n        </source>\n        <target>host \'\n          <x id="INTERPOLATION" equiv-text="{{hostname}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="dfe70001dc590a9e12512cbb206aa29fb36fd00b" datatype="html">\n        <source>pool \'\n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>\'\n        </source>\n        <target>pool \'\n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="59630daf2f4786690fae0cdad55da8887236eabe" datatype="html">\n        <source>erasure code profile \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </source>\n        <target>erasure code profile \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="369462e5e018360e0600bb570866201ad5c3c8a8" datatype="html">\n        <source>target \'\n          <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>\'\n        </source>\n        <target>target \'\n          <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="cf41310917cb19b335e5a950972bbff2346f7a47" datatype="html">\n        <source>NFS \n          <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>\n        </source>\n        <target>NFS \n          <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="54bf6542e39412f83ec883266f443e31b304c937" datatype="html">\n        <source>Required rules for password complexity:\n    - must contain at least 8 characters\n    - cannot contain username\n    - cannot contain any keyword used in Ceph\n    - cannot contain any repetitive characters e.g. "aaa"\n    - cannot contain any sequencial characters e.g. "abc"\n    - must consist of characters from the following groups:\n      * alphabetic a-z, A-Z\n      * numbers 0-9\n      * special chars: !"#$%&amp; \'()*+,-./:;&lt;=&gt;?@[\\]^_`\n          <x id="INTERPOLATION" equiv-text="{{|}}"/>~\n      * any other characters (signs)\n        </source>\n        <target>Required rules for password complexity:\n    - must contain at least 8 characters\n    - cannot contain username\n    - cannot contain any keyword used in Ceph\n    - cannot contain any repetitive characters e.g. "aaa"\n    - cannot contain any sequencial characters e.g. "abc"\n    - must consist of characters from the following groups:\n      * alphabetic a-z, A-Z\n      * numbers 0-9\n      * special chars: !"#$%&amp; \'()*+,-./:;&lt;=&gt;?@[\\]^_`\n          <x id="INTERPOLATION" equiv-text="{{|}}"/>~\n      * any other characters (signs)\n        </target>\n      </trans-unit>\n      <trans-unit id="ba575e9364b43dc870e332265c5182bb357b7a49" datatype="html">\n        <source>Weak</source>\n        <target>Weak</target>\n      </trans-unit>\n      <trans-unit id="7e6c975ebea8b5f8b120905ca7acf9f8edf59d8e" datatype="html">\n        <source>OK</source>\n        <target>OK</target>\n      </trans-unit>\n      <trans-unit id="3f7349017a01eed18c3daf2b7295ca96ef442eb6" datatype="html">\n        <source>Strong</source>\n        <target>Strong</target>\n      </trans-unit>\n      <trans-unit id="a1e3aecc2022cb0ebed8575a24d0e29d2de815c6" datatype="html">\n        <source>Very strong</source>\n        <target>Very strong</target>\n      </trans-unit>\n    </body>\n  </file>\n</xliff>'},STAE:function(t,e,n){var a=n("0Dky");t.exports=!!Object.getOwnPropertySymbols&&!a((function(){return!String(Symbol())}))},SVse:function(t,e,n){"use strict";n.r(e),n.d(e,"ɵangular_packages_common_common_c",(function(){return ae})),n.d(e,"ɵangular_packages_common_common_h",(function(){return It})),n.d(e,"ɵangular_packages_common_common_g",(function(){return kt})),n.d(e,"ɵangular_packages_common_common_f",(function(){return Tt})),n.d(e,"ɵangular_packages_common_common_k",(function(){return Xt})),n.d(e,"ɵangular_packages_common_common_j",(function(){return Zt})),n.d(e,"ɵangular_packages_common_common_i",(function(){return $t})),n.d(e,"ɵangular_packages_common_common_a",(function(){return gt})),n.d(e,"ɵangular_packages_common_common_b",(function(){return ht})),n.d(e,"ɵangular_packages_common_common_e",(function(){return xe})),n.d(e,"ɵangular_packages_common_common_d",(function(){return Ke})),n.d(e,"ɵregisterLocaleData",(function(){return bt})),n.d(e,"registerLocaleData",(function(){return bt})),n.d(e,"formatDate",(function(){return K})),n.d(e,"formatCurrency",(function(){return st})),n.d(e,"formatNumber",(function(){return lt})),n.d(e,"formatPercent",(function(){return ct})),n.d(e,"NgLocaleLocalization",(function(){return mt})),n.d(e,"NgLocalization",(function(){return ft})),n.d(e,"Plural",(function(){return p})),n.d(e,"NumberFormatStyle",(function(){return f})),n.d(e,"FormStyle",(function(){return m})),n.d(e,"TranslationWidth",(function(){return h})),n.d(e,"FormatWidth",(function(){return b})),n.d(e,"NumberSymbol",(function(){return _})),n.d(e,"WeekDay",(function(){return y})),n.d(e,"getNumberOfCurrencyDigits",(function(){return V})),n.d(e,"getCurrencySymbol",(function(){return z})),n.d(e,"getLocaleDayPeriods",(function(){return v})),n.d(e,"getLocaleDayNames",(function(){return C})),n.d(e,"getLocaleMonthNames",(function(){return P})),n.d(e,"getLocaleId",(function(){return O})),n.d(e,"getLocaleEraNames",(function(){return M})),n.d(e,"getLocaleWeekEndRange",(function(){return w})),n.d(e,"getLocaleFirstDayOfWeek",(function(){return x})),n.d(e,"getLocaleDateFormat",(function(){return T})),n.d(e,"getLocaleDateTimeFormat",(function(){return S})),n.d(e,"getLocaleExtraDayPeriodRules",(function(){return L})),n.d(e,"getLocaleExtraDayPeriods",(function(){return q})),n.d(e,"getLocalePluralCase",(function(){return E})),n.d(e,"getLocaleTimeFormat",(function(){return k})),n.d(e,"getLocaleNumberSymbol",(function(){return I})),n.d(e,"getLocaleNumberFormat",(function(){return N})),n.d(e,"getLocaleCurrencyName",(function(){return A})),n.d(e,"getLocaleCurrencySymbol",(function(){return R})),n.d(e,"ɵparseCookieValue",(function(){return _t})),n.d(e,"CommonModule",(function(){return $e})),n.d(e,"DeprecatedI18NPipesModule",(function(){return Ze})),n.d(e,"NgClass",(function(){return At})),n.d(e,"NgClassBase",(function(){return Rt})),n.d(e,"NgForOf",(function(){return Lt})),n.d(e,"NgForOfContext",(function(){return Dt})),n.d(e,"NgIf",(function(){return jt})),n.d(e,"NgIfContext",(function(){return Ft})),n.d(e,"NgPlural",(function(){return Ht})),n.d(e,"NgPluralCase",(function(){return Ut})),n.d(e,"NgStyle",(function(){return ee})),n.d(e,"NgStyleBase",(function(){return te})),n.d(e,"NgSwitch",(function(){return Gt})),n.d(e,"NgSwitchCase",(function(){return Yt})),n.d(e,"NgSwitchDefault",(function(){return Bt})),n.d(e,"NgTemplateOutlet",(function(){return ne})),n.d(e,"NgComponentOutlet",(function(){return Et})),n.d(e,"DOCUMENT",(function(){return Je})),n.d(e,"AsyncPipe",(function(){return Ie})),n.d(e,"DatePipe",(function(){return De})),n.d(e,"I18nPluralPipe",(function(){return qe})),n.d(e,"I18nSelectPipe",(function(){return je})),n.d(e,"JsonPipe",(function(){return Fe})),n.d(e,"LowerCasePipe",(function(){return Ne})),n.d(e,"CurrencyPipe",(function(){return Be})),n.d(e,"DecimalPipe",(function(){return Ge})),n.d(e,"PercentPipe",(function(){return Ye})),n.d(e,"SlicePipe",(function(){return We})),n.d(e,"UpperCasePipe",(function(){return Ee})),n.d(e,"TitleCasePipe",(function(){return Ae})),n.d(e,"KeyValuePipe",(function(){return ze})),n.d(e,"DeprecatedDatePipe",(function(){return ye})),n.d(e,"DeprecatedCurrencyPipe",(function(){return Me})),n.d(e,"DeprecatedDecimalPipe",(function(){return Ce})),n.d(e,"DeprecatedPercentPipe",(function(){return Pe})),n.d(e,"ɵPLATFORM_BROWSER_ID",(function(){return Xe})),n.d(e,"ɵPLATFORM_SERVER_ID",(function(){return Qe})),n.d(e,"ɵPLATFORM_WORKER_APP_ID",(function(){return tn})),n.d(e,"ɵPLATFORM_WORKER_UI_ID",(function(){return en})),n.d(e,"isPlatformBrowser",(function(){return nn})),n.d(e,"isPlatformServer",(function(){return an})),n.d(e,"isPlatformWorkerApp",(function(){return rn})),n.d(e,"isPlatformWorkerUi",(function(){return on})),n.d(e,"VERSION",(function(){return sn})),n.d(e,"ViewportScroller",(function(){return cn})),n.d(e,"ɵNullViewportScroller",(function(){return dn})),n.d(e,"ɵNgClassImplProvider__POST_R3__",(function(){return St})),n.d(e,"ɵNgClassR2Impl",(function(){return wt})),n.d(e,"ɵNgClassImpl",(function(){return xt})),n.d(e,"ɵNgStyleImplProvider__POST_R3__",(function(){return Jt})),n.d(e,"ɵNgStyleR2Impl",(function(){return Kt})),n.d(e,"ɵNgStyleImpl",(function(){return Wt})),n.d(e,"ɵngStyleDirectiveDef__POST_R3__",(function(){return Qt})),n.d(e,"ɵngClassDirectiveDef__POST_R3__",(function(){return Nt})),n.d(e,"PlatformLocation",(function(){return r})),n.d(e,"LOCATION_INITIALIZED",(function(){return o})),n.d(e,"LocationStrategy",(function(){return i})),n.d(e,"APP_BASE_HREF",(function(){return s})),n.d(e,"HashLocationStrategy",(function(){return d})),n.d(e,"PathLocationStrategy",(function(){return u})),n.d(e,"Location",(function(){return c}));var a=n("8Y7J");class r{}const o=new a.InjectionToken("Location Initialized");class i{}const s=new a.InjectionToken("appBaseHref");class c{constructor(t,e){this._subject=new a.EventEmitter,this._urlChangeListeners=[],this._platformStrategy=t;const n=this._platformStrategy.getBaseHref();this._platformLocation=e,this._baseHref=c.stripTrailingSlash(l(n)),this._platformStrategy.onPopState(t=>{this._subject.emit({url:this.path(!0),pop:!0,state:t.state,type:t.type})})}path(t=!1){return this.normalize(this._platformStrategy.path(t))}getState(){return this._platformLocation.getState()}isCurrentPathEqualTo(t,e=""){return this.path()==this.normalize(t+c.normalizeQueryParams(e))}normalize(t){return c.stripTrailingSlash(function(t,e){return t&&e.startsWith(t)?e.substring(t.length):e}(this._baseHref,l(t)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._platformStrategy.prepareExternalUrl(t)}go(t,e="",n=null){this._platformStrategy.pushState(n,"",t,e),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+c.normalizeQueryParams(e)),n)}replaceState(t,e="",n=null){this._platformStrategy.replaceState(n,"",t,e),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+c.normalizeQueryParams(e)),n)}forward(){this._platformStrategy.forward()}back(){this._platformStrategy.back()}onUrlChange(t){this._urlChangeListeners.push(t),this.subscribe(t=>{this._notifyUrlChangeListeners(t.url,t.state)})}_notifyUrlChangeListeners(t="",e){this._urlChangeListeners.forEach(n=>n(t,e))}subscribe(t,e,n){return this._subject.subscribe({next:t,error:e,complete:n})}static normalizeQueryParams(t){return t&&"?"!==t[0]?"?"+t:t}static joinWithSlash(t,e){if(0==t.length)return e;if(0==e.length)return t;let n=0;return t.endsWith("/")&&n++,e.startsWith("/")&&n++,2==n?t+e.substring(1):1==n?t+e:t+"/"+e}static stripTrailingSlash(t){const e=t.match(/#|\?|$/),n=e&&e.index||t.length;return t.slice(0,n-("/"===t[n-1]?1:0))+t.slice(n)}}function l(t){return t.replace(/\/index.html$/,"")}class d extends i{constructor(t,e){super(),this._platformLocation=t,this._baseHref="",null!=e&&(this._baseHref=e)}onPopState(t){this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t)}getBaseHref(){return this._baseHref}path(t=!1){let e=this._platformLocation.hash;return null==e&&(e="#"),e.length>0?e.substring(1):e}prepareExternalUrl(t){const e=c.joinWithSlash(this._baseHref,t);return e.length>0?"#"+e:e}pushState(t,e,n,a){let r=this.prepareExternalUrl(n+c.normalizeQueryParams(a));0==r.length&&(r=this._platformLocation.pathname),this._platformLocation.pushState(t,e,r)}replaceState(t,e,n,a){let r=this.prepareExternalUrl(n+c.normalizeQueryParams(a));0==r.length&&(r=this._platformLocation.pathname),this._platformLocation.replaceState(t,e,r)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}}class u extends i{constructor(t,e){if(super(),this._platformLocation=t,null==e&&(e=this._platformLocation.getBaseHrefFromDOM()),null==e)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");this._baseHref=e}onPopState(t){this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t)}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return c.joinWithSlash(this._baseHref,t)}path(t=!1){const e=this._platformLocation.pathname+c.normalizeQueryParams(this._platformLocation.search),n=this._platformLocation.hash;return n&&t?`${e}${n}`:e}pushState(t,e,n,a){const r=this.prepareExternalUrl(n+c.normalizeQueryParams(a));this._platformLocation.pushState(t,e,r)}replaceState(t,e,n,a){const r=this.prepareExternalUrl(n+c.normalizeQueryParams(a));this._platformLocation.replaceState(t,e,r)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}}const g={ADP:[void 0,void 0,0],AFN:[void 0,void 0,0],ALL:[void 0,void 0,0],AMD:[void 0,void 0,0],AOA:[void 0,"Kz"],ARS:[void 0,"$"],AUD:["A$","$"],BAM:[void 0,"KM"],BBD:[void 0,"$"],BDT:[void 0,"৳"],BHD:[void 0,void 0,3],BIF:[void 0,void 0,0],BMD:[void 0,"$"],BND:[void 0,"$"],BOB:[void 0,"Bs"],BRL:["R$"],BSD:[void 0,"$"],BWP:[void 0,"P"],BYN:[void 0,"р.",2],BYR:[void 0,void 0,0],BZD:[void 0,"$"],CAD:["CA$","$",2],CHF:[void 0,void 0,2],CLF:[void 0,void 0,4],CLP:[void 0,"$",0],CNY:["CN¥","¥"],COP:[void 0,"$",0],CRC:[void 0,"₡",2],CUC:[void 0,"$"],CUP:[void 0,"$"],CZK:[void 0,"Kč",2],DJF:[void 0,void 0,0],DKK:[void 0,"kr",2],DOP:[void 0,"$"],EGP:[void 0,"E£"],ESP:[void 0,"₧",0],EUR:["€"],FJD:[void 0,"$"],FKP:[void 0,"£"],GBP:["£"],GEL:[void 0,"₾"],GIP:[void 0,"£"],GNF:[void 0,"FG",0],GTQ:[void 0,"Q"],GYD:[void 0,"$",0],HKD:["HK$","$"],HNL:[void 0,"L"],HRK:[void 0,"kn"],HUF:[void 0,"Ft",2],IDR:[void 0,"Rp",0],ILS:["₪"],INR:["₹"],IQD:[void 0,void 0,0],IRR:[void 0,void 0,0],ISK:[void 0,"kr",0],ITL:[void 0,void 0,0],JMD:[void 0,"$"],JOD:[void 0,void 0,3],JPY:["¥",void 0,0],KHR:[void 0,"៛"],KMF:[void 0,"CF",0],KPW:[void 0,"₩",0],KRW:["₩",void 0,0],KWD:[void 0,void 0,3],KYD:[void 0,"$"],KZT:[void 0,"₸"],LAK:[void 0,"₭",0],LBP:[void 0,"L£",0],LKR:[void 0,"Rs"],LRD:[void 0,"$"],LTL:[void 0,"Lt"],LUF:[void 0,void 0,0],LVL:[void 0,"Ls"],LYD:[void 0,void 0,3],MGA:[void 0,"Ar",0],MGF:[void 0,void 0,0],MMK:[void 0,"K",0],MNT:[void 0,"₮",0],MRO:[void 0,void 0,0],MUR:[void 0,"Rs",0],MXN:["MX$","$"],MYR:[void 0,"RM"],NAD:[void 0,"$"],NGN:[void 0,"₦"],NIO:[void 0,"C$"],NOK:[void 0,"kr",2],NPR:[void 0,"Rs"],NZD:["NZ$","$"],OMR:[void 0,void 0,3],PHP:[void 0,"₱"],PKR:[void 0,"Rs",0],PLN:[void 0,"zł"],PYG:[void 0,"₲",0],RON:[void 0,"lei"],RSD:[void 0,void 0,0],RUB:[void 0,"₽"],RUR:[void 0,"р."],RWF:[void 0,"RF",0],SBD:[void 0,"$"],SEK:[void 0,"kr",2],SGD:[void 0,"$"],SHP:[void 0,"£"],SLL:[void 0,void 0,0],SOS:[void 0,void 0,0],SRD:[void 0,"$"],SSP:[void 0,"£"],STD:[void 0,void 0,0],STN:[void 0,"Db"],SYP:[void 0,"£",0],THB:[void 0,"฿"],TMM:[void 0,void 0,0],TND:[void 0,void 0,3],TOP:[void 0,"T$"],TRL:[void 0,void 0,0],TRY:[void 0,"₺"],TTD:[void 0,"$"],TWD:["NT$","$",2],TZS:[void 0,void 0,0],UAH:[void 0,"₴"],UGX:[void 0,void 0,0],USD:["$"],UYI:[void 0,void 0,0],UYU:[void 0,"$"],UZS:[void 0,void 0,0],VEF:[void 0,"Bs"],VND:["₫",void 0,0],VUV:[void 0,void 0,0],XAF:["FCFA",void 0,0],XCD:["EC$","$"],XOF:["CFA",void 0,0],XPF:["CFPF",void 0,0],YER:[void 0,void 0,0],ZAR:[void 0,"R"],ZMK:[void 0,void 0,0],ZMW:[void 0,"ZK"],ZWD:[void 0,void 0,0]},f=function(){var t={Decimal:0,Percent:1,Currency:2,Scientific:3};return t[t.Decimal]="Decimal",t[t.Percent]="Percent",t[t.Currency]="Currency",t[t.Scientific]="Scientific",t}(),p=function(){var t={Zero:0,One:1,Two:2,Few:3,Many:4,Other:5};return t[t.Zero]="Zero",t[t.One]="One",t[t.Two]="Two",t[t.Few]="Few",t[t.Many]="Many",t[t.Other]="Other",t}(),m=function(){var t={Format:0,Standalone:1};return t[t.Format]="Format",t[t.Standalone]="Standalone",t}(),h=function(){var t={Narrow:0,Abbreviated:1,Wide:2,Short:3};return t[t.Narrow]="Narrow",t[t.Abbreviated]="Abbreviated",t[t.Wide]="Wide",t[t.Short]="Short",t}(),b=function(){var t={Short:0,Medium:1,Long:2,Full:3};return t[t.Short]="Short",t[t.Medium]="Medium",t[t.Long]="Long",t[t.Full]="Full",t}(),_=function(){var t={Decimal:0,Group:1,List:2,PercentSign:3,PlusSign:4,MinusSign:5,Exponential:6,SuperscriptingExponent:7,PerMille:8,Infinity:9,NaN:10,TimeSeparator:11,CurrencyDecimal:12,CurrencyGroup:13};return t[t.Decimal]="Decimal",t[t.Group]="Group",t[t.List]="List",t[t.PercentSign]="PercentSign",t[t.PlusSign]="PlusSign",t[t.MinusSign]="MinusSign",t[t.Exponential]="Exponential",t[t.SuperscriptingExponent]="SuperscriptingExponent",t[t.PerMille]="PerMille",t[t.Infinity]="Infinity",t[t.NaN]="NaN",t[t.TimeSeparator]="TimeSeparator",t[t.CurrencyDecimal]="CurrencyDecimal",t[t.CurrencyGroup]="CurrencyGroup",t}(),y=function(){var t={Sunday:0,Monday:1,Tuesday:2,Wednesday:3,Thursday:4,Friday:5,Saturday:6};return t[t.Sunday]="Sunday",t[t.Monday]="Monday",t[t.Tuesday]="Tuesday",t[t.Wednesday]="Wednesday",t[t.Thursday]="Thursday",t[t.Friday]="Friday",t[t.Saturday]="Saturday",t}();function O(t){return Object(a["ɵfindLocaleData"])(t)[a["ɵLocaleDataIndex"].LocaleId]}function v(t,e,n){const r=Object(a["ɵfindLocaleData"])(t),o=j([r[a["ɵLocaleDataIndex"].DayPeriodsFormat],r[a["ɵLocaleDataIndex"].DayPeriodsStandalone]],e);return j(o,n)}function C(t,e,n){const r=Object(a["ɵfindLocaleData"])(t),o=j([r[a["ɵLocaleDataIndex"].DaysFormat],r[a["ɵLocaleDataIndex"].DaysStandalone]],e);return j(o,n)}function P(t,e,n){const r=Object(a["ɵfindLocaleData"])(t),o=j([r[a["ɵLocaleDataIndex"].MonthsFormat],r[a["ɵLocaleDataIndex"].MonthsStandalone]],e);return j(o,n)}function M(t,e){return j(Object(a["ɵfindLocaleData"])(t)[a["ɵLocaleDataIndex"].Eras],e)}function x(t){return Object(a["ɵfindLocaleData"])(t)[a["ɵLocaleDataIndex"].FirstDayOfWeek]}function w(t){return Object(a["ɵfindLocaleData"])(t)[a["ɵLocaleDataIndex"].WeekendRange]}function T(t,e){return j(Object(a["ɵfindLocaleData"])(t)[a["ɵLocaleDataIndex"].DateFormat],e)}function k(t,e){return j(Object(a["ɵfindLocaleData"])(t)[a["ɵLocaleDataIndex"].TimeFormat],e)}function S(t,e){return j(Object(a["ɵfindLocaleData"])(t)[a["ɵLocaleDataIndex"].DateTimeFormat],e)}function I(t,e){const n=Object(a["ɵfindLocaleData"])(t),r=n[a["ɵLocaleDataIndex"].NumberSymbols][e];if(void 0===r){if(e===_.CurrencyDecimal)return n[a["ɵLocaleDataIndex"].NumberSymbols][_.Decimal];if(e===_.CurrencyGroup)return n[a["ɵLocaleDataIndex"].NumberSymbols][_.Group]}return r}function N(t,e){return Object(a["ɵfindLocaleData"])(t)[a["ɵLocaleDataIndex"].NumberFormats][e]}function R(t){return Object(a["ɵfindLocaleData"])(t)[a["ɵLocaleDataIndex"].CurrencySymbol]||null}function A(t){return Object(a["ɵfindLocaleData"])(t)[a["ɵLocaleDataIndex"].CurrencyName]||null}const E=a["ɵgetLocalePluralCase"];function D(t){if(!t[a["ɵLocaleDataIndex"].ExtraData])throw new Error(`Missing extra locale data for the locale "${t[a["ɵLocaleDataIndex"].LocaleId]}". Use "registerLocaleData" to load new data. See the "I18n guide" on angular.io to know more.`)}function L(t){const e=Object(a["ɵfindLocaleData"])(t);return D(e),(e[a["ɵLocaleDataIndex"].ExtraData][2]||[]).map(t=>"string"==typeof t?F(t):[F(t[0]),F(t[1])])}function q(t,e,n){const r=Object(a["ɵfindLocaleData"])(t);D(r);const o=j([r[a["ɵLocaleDataIndex"].ExtraData][0],r[a["ɵLocaleDataIndex"].ExtraData][1]],e)||[];return j(o,n)||[]}function j(t,e){for(let n=e;n>-1;n--)if(void 0!==t[n])return t[n];throw new Error("Locale data API: locale data undefined")}function F(t){const[e,n]=t.split(":");return{hours:+e,minutes:+n}}function z(t,e,n="en"){const r=function(t){return Object(a["ɵfindLocaleData"])(t)[a["ɵLocaleDataIndex"].Currencies]}(n)[t]||g[t]||[],o=r[1];return"narrow"===e&&"string"==typeof o?o:r[0]||t}function V(t){let e;const n=g[t];return n&&(e=n[2]),"number"==typeof e?e:2}const G=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/,Y={},B=/((?:[^GyMLwWdEabBhHmsSzZO']+)|(?:'(?:[^']|'')*')|(?:G{1,5}|y{1,4}|M{1,5}|L{1,5}|w{1,2}|W{1}|d{1,2}|E{1,6}|a{1,5}|b{1,5}|B{1,5}|h{1,2}|H{1,2}|m{1,2}|s{1,2}|S{1,3}|z{1,4}|Z{1,5}|O{1,4}))([\s\S]*)/,H=function(){var t={Short:0,ShortGMT:1,Long:2,Extended:3};return t[t.Short]="Short",t[t.ShortGMT]="ShortGMT",t[t.Long]="Long",t[t.Extended]="Extended",t}(),U=function(){var t={FullYear:0,Month:1,Date:2,Hours:3,Minutes:4,Seconds:5,FractionalSeconds:6,Day:7};return t[t.FullYear]="FullYear",t[t.Month]="Month",t[t.Date]="Date",t[t.Hours]="Hours",t[t.Minutes]="Minutes",t[t.Seconds]="Seconds",t[t.FractionalSeconds]="FractionalSeconds",t[t.Day]="Day",t}(),W=function(){var t={DayPeriods:0,Days:1,Months:2,Eras:3};return t[t.DayPeriods]="DayPeriods",t[t.Days]="Days",t[t.Months]="Months",t[t.Eras]="Eras",t}();function K(t,e,n,a){let r=function(t){if(rt(t))return t;if("number"==typeof t&&!isNaN(t))return new Date(t);if("string"==typeof t){t=t.trim();const e=parseFloat(t);if(!isNaN(t-e))return new Date(e);if(/^(\d{4}-\d{1,2}-\d{1,2})$/.test(t)){const[e,n,a]=t.split("-").map(t=>+t);return new Date(e,n-1,a)}let n;if(n=t.match(G))return at(n)}const e=new Date(t);if(!rt(e))throw new Error(`Unable to convert "${t}" into a date`);return e}(t);e=function t(e,n){const a=O(e);if(Y[a]=Y[a]||{},Y[a][n])return Y[a][n];let r="";switch(n){case"shortDate":r=T(e,b.Short);break;case"mediumDate":r=T(e,b.Medium);break;case"longDate":r=T(e,b.Long);break;case"fullDate":r=T(e,b.Full);break;case"shortTime":r=k(e,b.Short);break;case"mediumTime":r=k(e,b.Medium);break;case"longTime":r=k(e,b.Long);break;case"fullTime":r=k(e,b.Full);break;case"short":const n=t(e,"shortTime"),a=t(e,"shortDate");r=$(S(e,b.Short),[n,a]);break;case"medium":const o=t(e,"mediumTime"),i=t(e,"mediumDate");r=$(S(e,b.Medium),[o,i]);break;case"long":const s=t(e,"longTime"),c=t(e,"longDate");r=$(S(e,b.Long),[s,c]);break;case"full":const l=t(e,"fullTime"),d=t(e,"fullDate");r=$(S(e,b.Full),[l,d])}return r&&(Y[a][n]=r),r}(n,e)||e;let o,i=[];for(;e;){if(o=B.exec(e),!o){i.push(e);break}{i=i.concat(o.slice(1));const t=i.pop();if(!t)break;e=t}}let s=r.getTimezoneOffset();a&&(s=nt(a,s),r=function(t,e,n){const a=t.getTimezoneOffset();return function(t,e){return(t=new Date(t.getTime())).setMinutes(t.getMinutes()+e),t}(t,-1*(nt(e,a)-a))}(r,a));let c="";return i.forEach(t=>{const e=function(t){if(et[t])return et[t];let e;switch(t){case"G":case"GG":case"GGG":e=X(W.Eras,h.Abbreviated);break;case"GGGG":e=X(W.Eras,h.Wide);break;case"GGGGG":e=X(W.Eras,h.Narrow);break;case"y":e=J(U.FullYear,1,0,!1,!0);break;case"yy":e=J(U.FullYear,2,0,!0,!0);break;case"yyy":e=J(U.FullYear,3,0,!1,!0);break;case"yyyy":e=J(U.FullYear,4,0,!1,!0);break;case"M":case"L":e=J(U.Month,1,1);break;case"MM":case"LL":e=J(U.Month,2,1);break;case"MMM":e=X(W.Months,h.Abbreviated);break;case"MMMM":e=X(W.Months,h.Wide);break;case"MMMMM":e=X(W.Months,h.Narrow);break;case"LLL":e=X(W.Months,h.Abbreviated,m.Standalone);break;case"LLLL":e=X(W.Months,h.Wide,m.Standalone);break;case"LLLLL":e=X(W.Months,h.Narrow,m.Standalone);break;case"w":e=tt(1);break;case"ww":e=tt(2);break;case"W":e=tt(1,!0);break;case"d":e=J(U.Date,1);break;case"dd":e=J(U.Date,2);break;case"E":case"EE":case"EEE":e=X(W.Days,h.Abbreviated);break;case"EEEE":e=X(W.Days,h.Wide);break;case"EEEEE":e=X(W.Days,h.Narrow);break;case"EEEEEE":e=X(W.Days,h.Short);break;case"a":case"aa":case"aaa":e=X(W.DayPeriods,h.Abbreviated);break;case"aaaa":e=X(W.DayPeriods,h.Wide);break;case"aaaaa":e=X(W.DayPeriods,h.Narrow);break;case"b":case"bb":case"bbb":e=X(W.DayPeriods,h.Abbreviated,m.Standalone,!0);break;case"bbbb":e=X(W.DayPeriods,h.Wide,m.Standalone,!0);break;case"bbbbb":e=X(W.DayPeriods,h.Narrow,m.Standalone,!0);break;case"B":case"BB":case"BBB":e=X(W.DayPeriods,h.Abbreviated,m.Format,!0);break;case"BBBB":e=X(W.DayPeriods,h.Wide,m.Format,!0);break;case"BBBBB":e=X(W.DayPeriods,h.Narrow,m.Format,!0);break;case"h":e=J(U.Hours,1,-12);break;case"hh":e=J(U.Hours,2,-12);break;case"H":e=J(U.Hours,1);break;case"HH":e=J(U.Hours,2);break;case"m":e=J(U.Minutes,1);break;case"mm":e=J(U.Minutes,2);break;case"s":e=J(U.Seconds,1);break;case"ss":e=J(U.Seconds,2);break;case"S":e=J(U.FractionalSeconds,1);break;case"SS":e=J(U.FractionalSeconds,2);break;case"SSS":e=J(U.FractionalSeconds,3);break;case"Z":case"ZZ":case"ZZZ":e=Q(H.Short);break;case"ZZZZZ":e=Q(H.Extended);break;case"O":case"OO":case"OOO":case"z":case"zz":case"zzz":e=Q(H.ShortGMT);break;case"OOOO":case"ZZZZ":case"zzzz":e=Q(H.Long);break;default:return null}return et[t]=e,e}(t);c+=e?e(r,n,s):"''"===t?"'":t.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),c}function $(t,e){return e&&(t=t.replace(/\{([^}]+)}/g,(function(t,n){return null!=e&&n in e?e[n]:t}))),t}function Z(t,e,n="-",a,r){let o="";(t<0||r&&t<=0)&&(r?t=1-t:(t=-t,o=n));let i=String(t);for(;i.length<e;)i="0"+i;return a&&(i=i.substr(i.length-e)),o+i}function J(t,e,n=0,a=!1,r=!1){return function(o,i){let s=function(t,e){switch(t){case U.FullYear:return e.getFullYear();case U.Month:return e.getMonth();case U.Date:return e.getDate();case U.Hours:return e.getHours();case U.Minutes:return e.getMinutes();case U.Seconds:return e.getSeconds();case U.FractionalSeconds:return e.getMilliseconds();case U.Day:return e.getDay();default:throw new Error(`Unknown DateType value "${t}".`)}}(t,o);if((n>0||s>-n)&&(s+=n),t===U.Hours)0===s&&-12===n&&(s=12);else if(t===U.FractionalSeconds)return c=e,Z(s,3).substr(0,c);var c;const l=I(i,_.MinusSign);return Z(s,e,l,a,r)}}function X(t,e,n=m.Format,a=!1){return function(r,o){return function(t,e,n,a,r,o){switch(n){case W.Months:return P(e,r,a)[t.getMonth()];case W.Days:return C(e,r,a)[t.getDay()];case W.DayPeriods:const i=t.getHours(),s=t.getMinutes();if(o){const t=L(e),n=q(e,r,a);let o;if(t.forEach((t,e)=>{if(Array.isArray(t)){const{hours:a,minutes:r}=t[0],{hours:c,minutes:l}=t[1];i>=a&&s>=r&&(i<c||i===c&&s<l)&&(o=n[e])}else{const{hours:a,minutes:r}=t;a===i&&r===s&&(o=n[e])}}),o)return o}return v(e,r,a)[i<12?0:1];case W.Eras:return M(e,a)[t.getFullYear()<=0?0:1];default:throw new Error(`unexpected translation type ${n}`)}}(r,o,t,e,n,a)}}function Q(t){return function(e,n,a){const r=-1*a,o=I(n,_.MinusSign),i=r>0?Math.floor(r/60):Math.ceil(r/60);switch(t){case H.Short:return(r>=0?"+":"")+Z(i,2,o)+Z(Math.abs(r%60),2,o);case H.ShortGMT:return"GMT"+(r>=0?"+":"")+Z(i,1,o);case H.Long:return"GMT"+(r>=0?"+":"")+Z(i,2,o)+":"+Z(Math.abs(r%60),2,o);case H.Extended:return 0===a?"Z":(r>=0?"+":"")+Z(i,2,o)+":"+Z(Math.abs(r%60),2,o);default:throw new Error(`Unknown zone width "${t}"`)}}}function tt(t,e=!1){return function(n,a){let r;if(e){const t=new Date(n.getFullYear(),n.getMonth(),1).getDay()-1,e=n.getDate();r=1+Math.floor((e+t)/7)}else{const t=function(t){const e=new Date(t,0,1).getDay();return new Date(t,0,1+(e<=4?4:11)-e)}(n.getFullYear()),e=(o=n,new Date(o.getFullYear(),o.getMonth(),o.getDate()+(4-o.getDay()))).getTime()-t.getTime();r=1+Math.round(e/6048e5)}var o;return Z(r,t,I(a,_.MinusSign))}}const et={};function nt(t,e){t=t.replace(/:/g,"");const n=Date.parse("Jan 01, 1970 00:00:00 "+t)/6e4;return isNaN(n)?e:n}function at(t){const e=new Date(0);let n=0,a=0;const r=t[8]?e.setUTCFullYear:e.setFullYear,o=t[8]?e.setUTCHours:e.setHours;t[9]&&(n=Number(t[9]+t[10]),a=Number(t[9]+t[11])),r.call(e,Number(t[1]),Number(t[2])-1,Number(t[3]));const i=Number(t[4]||0)-n,s=Number(t[5]||0)-a,c=Number(t[6]||0),l=Math.round(1e3*parseFloat("0."+(t[7]||0)));return o.call(e,i,s,c,l),e}function rt(t){return t instanceof Date&&!isNaN(t.valueOf())}const ot=/^(\d+)?\.((\d+)(-(\d+))?)?$/;function it(t,e,n,a,r,o,i=!1){let s="",c=!1;if(isFinite(t)){let l=function(t){let e,n,a,r,o,i=Math.abs(t)+"",s=0;for((n=i.indexOf("."))>-1&&(i=i.replace(".","")),(a=i.search(/e/i))>0?(n<0&&(n=a),n+=+i.slice(a+1),i=i.substring(0,a)):n<0&&(n=i.length),a=0;"0"===i.charAt(a);a++);if(a===(o=i.length))e=[0],n=1;else{for(o--;"0"===i.charAt(o);)o--;for(n-=a,e=[],r=0;a<=o;a++,r++)e[r]=Number(i.charAt(a))}return n>22&&(e=e.splice(0,21),s=n-1,n=1),{digits:e,exponent:s,integerLen:n}}(t);i&&(l=function(t){if(0===t.digits[0])return t;const e=t.digits.length-t.integerLen;return t.exponent?t.exponent+=2:(0===e?t.digits.push(0,0):1===e&&t.digits.push(0),t.integerLen+=2),t}(l));let d=e.minInt,u=e.minFrac,g=e.maxFrac;if(o){const t=o.match(ot);if(null===t)throw new Error(`${o} is not a valid digit info`);const e=t[1],n=t[3],a=t[5];null!=e&&(d=ut(e)),null!=n&&(u=ut(n)),null!=a?g=ut(a):null!=n&&u>g&&(g=u)}!function(t,e,n){if(e>n)throw new Error(`The minimum number of digits after fraction (${e}) is higher than the maximum (${n}).`);let a=t.digits,r=a.length-t.integerLen;const o=Math.min(Math.max(e,r),n);let i=o+t.integerLen,s=a[i];if(i>0){a.splice(Math.max(t.integerLen,i));for(let t=i;t<a.length;t++)a[t]=0}else{r=Math.max(0,r),t.integerLen=1,a.length=Math.max(1,i=o+1),a[0]=0;for(let t=1;t<i;t++)a[t]=0}if(s>=5)if(i-1<0){for(let e=0;e>i;e--)a.unshift(0),t.integerLen++;a.unshift(1),t.integerLen++}else a[i-1]++;for(;r<Math.max(0,o);r++)a.push(0);let c=0!==o;const l=e+t.integerLen,d=a.reduceRight((function(t,e,n,a){return a[n]=(e+=t)<10?e:e-10,c&&(0===a[n]&&n>=l?a.pop():c=!1),e>=10?1:0}),0);d&&(a.unshift(d),t.integerLen++)}(l,u,g);let f=l.digits,p=l.integerLen;const m=l.exponent;let h=[];for(c=f.every(t=>!t);p<d;p++)f.unshift(0);for(;p<0;p++)f.unshift(0);p>0?h=f.splice(p,f.length):(h=f,f=[0]);const b=[];for(f.length>=e.lgSize&&b.unshift(f.splice(-e.lgSize,f.length).join(""));f.length>e.gSize;)b.unshift(f.splice(-e.gSize,f.length).join(""));f.length&&b.unshift(f.join("")),s=b.join(I(n,a)),h.length&&(s+=I(n,r)+h.join("")),m&&(s+=I(n,_.Exponential)+"+"+m)}else s=I(n,_.Infinity);return s=t<0&&!c?e.negPre+s+e.negSuf:e.posPre+s+e.posSuf,s}function st(t,e,n,a,r){const o=dt(N(e,f.Currency),I(e,_.MinusSign));return o.minFrac=V(a),o.maxFrac=o.minFrac,it(t,o,e,_.CurrencyGroup,_.CurrencyDecimal,r).replace("¤",n).replace("¤","")}function ct(t,e,n){return it(t,dt(N(e,f.Percent),I(e,_.MinusSign)),e,_.Group,_.Decimal,n,!0).replace(new RegExp("%","g"),I(e,_.PercentSign))}function lt(t,e,n){return it(t,dt(N(e,f.Decimal),I(e,_.MinusSign)),e,_.Group,_.Decimal,n)}function dt(t,e="-"){const n={minInt:1,minFrac:0,maxFrac:0,posPre:"",posSuf:"",negPre:"",negSuf:"",gSize:0,lgSize:0},a=t.split(";"),r=a[0],o=a[1],i=-1!==r.indexOf(".")?r.split("."):[r.substring(0,r.lastIndexOf("0")+1),r.substring(r.lastIndexOf("0")+1)],s=i[0],c=i[1]||"";n.posPre=s.substr(0,s.indexOf("#"));for(let d=0;d<c.length;d++){const t=c.charAt(d);"0"===t?n.minFrac=n.maxFrac=d+1:"#"===t?n.maxFrac=d+1:n.posSuf+=t}const l=s.split(",");if(n.gSize=l[1]?l[1].length:0,n.lgSize=l[2]||l[1]?(l[2]||l[1]).length:0,o){const t=r.length-n.posPre.length-n.posSuf.length,e=o.indexOf("#");n.negPre=o.substr(0,e).replace(/'/g,""),n.negSuf=o.substr(e+t).replace(/'/g,"")}else n.negPre=e+n.posPre,n.negSuf=n.posSuf;return n}function ut(t){const e=parseInt(t);if(isNaN(e))throw new Error("Invalid integer literal when parsing "+t);return e}const gt=new a.InjectionToken("UseV4Plurals");class ft{}function pt(t,e,n,a){let r=`=${t}`;if(e.indexOf(r)>-1)return r;if(r=n.getPluralCategory(t,a),e.indexOf(r)>-1)return r;if(e.indexOf("other")>-1)return"other";throw new Error(`No plural message found for value "${t}"`)}class mt extends ft{constructor(t,e){super(),this.locale=t,this.deprecatedPluralFn=e}getPluralCategory(t,e){switch(this.deprecatedPluralFn?this.deprecatedPluralFn(e||this.locale,t):E(e||this.locale)(t)){case p.Zero:return"zero";case p.One:return"one";case p.Two:return"two";case p.Few:return"few";case p.Many:return"many";default:return"other"}}}function ht(t,e){"string"==typeof e&&(e=parseInt(e,10));const n=e,a=n.toString().replace(/^[^.]*\.?/,""),r=Math.floor(Math.abs(n)),o=a.length,i=parseInt(a,10),s=parseInt(n.toString().replace(/^[^.]*\.?|0+$/g,""),10)||0;switch(t.split("-")[0].toLowerCase()){case"af":case"asa":case"az":case"bem":case"bez":case"bg":case"brx":case"ce":case"cgg":case"chr":case"ckb":case"ee":case"el":case"eo":case"es":case"eu":case"fo":case"fur":case"gsw":case"ha":case"haw":case"hu":case"jgo":case"jmc":case"ka":case"kk":case"kkj":case"kl":case"ks":case"ksb":case"ky":case"lb":case"lg":case"mas":case"mgo":case"ml":case"mn":case"nb":case"nd":case"ne":case"nn":case"nnh":case"nyn":case"om":case"or":case"os":case"ps":case"rm":case"rof":case"rwk":case"saq":case"seh":case"sn":case"so":case"sq":case"ta":case"te":case"teo":case"tk":case"tr":case"ug":case"uz":case"vo":case"vun":case"wae":case"xog":return 1===n?p.One:p.Other;case"ak":case"ln":case"mg":case"pa":case"ti":return n===Math.floor(n)&&n>=0&&n<=1?p.One:p.Other;case"am":case"as":case"bn":case"fa":case"gu":case"hi":case"kn":case"mr":case"zu":return 0===r||1===n?p.One:p.Other;case"ar":return 0===n?p.Zero:1===n?p.One:2===n?p.Two:n%100===Math.floor(n%100)&&n%100>=3&&n%100<=10?p.Few:n%100===Math.floor(n%100)&&n%100>=11&&n%100<=99?p.Many:p.Other;case"ast":case"ca":case"de":case"en":case"et":case"fi":case"fy":case"gl":case"it":case"nl":case"sv":case"sw":case"ur":case"yi":return 1===r&&0===o?p.One:p.Other;case"be":return n%10==1&&n%100!=11?p.One:n%10===Math.floor(n%10)&&n%10>=2&&n%10<=4&&!(n%100>=12&&n%100<=14)?p.Few:n%10==0||n%10===Math.floor(n%10)&&n%10>=5&&n%10<=9||n%100===Math.floor(n%100)&&n%100>=11&&n%100<=14?p.Many:p.Other;case"br":return n%10==1&&n%100!=11&&n%100!=71&&n%100!=91?p.One:n%10==2&&n%100!=12&&n%100!=72&&n%100!=92?p.Two:n%10===Math.floor(n%10)&&(n%10>=3&&n%10<=4||n%10==9)&&!(n%100>=10&&n%100<=19||n%100>=70&&n%100<=79||n%100>=90&&n%100<=99)?p.Few:0!==n&&n%1e6==0?p.Many:p.Other;case"bs":case"hr":case"sr":return 0===o&&r%10==1&&r%100!=11||i%10==1&&i%100!=11?p.One:0===o&&r%10===Math.floor(r%10)&&r%10>=2&&r%10<=4&&!(r%100>=12&&r%100<=14)||i%10===Math.floor(i%10)&&i%10>=2&&i%10<=4&&!(i%100>=12&&i%100<=14)?p.Few:p.Other;case"cs":case"sk":return 1===r&&0===o?p.One:r===Math.floor(r)&&r>=2&&r<=4&&0===o?p.Few:0!==o?p.Many:p.Other;case"cy":return 0===n?p.Zero:1===n?p.One:2===n?p.Two:3===n?p.Few:6===n?p.Many:p.Other;case"da":return 1===n||0!==s&&(0===r||1===r)?p.One:p.Other;case"dsb":case"hsb":return 0===o&&r%100==1||i%100==1?p.One:0===o&&r%100==2||i%100==2?p.Two:0===o&&r%100===Math.floor(r%100)&&r%100>=3&&r%100<=4||i%100===Math.floor(i%100)&&i%100>=3&&i%100<=4?p.Few:p.Other;case"ff":case"fr":case"hy":case"kab":return 0===r||1===r?p.One:p.Other;case"fil":return 0===o&&(1===r||2===r||3===r)||0===o&&r%10!=4&&r%10!=6&&r%10!=9||0!==o&&i%10!=4&&i%10!=6&&i%10!=9?p.One:p.Other;case"ga":return 1===n?p.One:2===n?p.Two:n===Math.floor(n)&&n>=3&&n<=6?p.Few:n===Math.floor(n)&&n>=7&&n<=10?p.Many:p.Other;case"gd":return 1===n||11===n?p.One:2===n||12===n?p.Two:n===Math.floor(n)&&(n>=3&&n<=10||n>=13&&n<=19)?p.Few:p.Other;case"gv":return 0===o&&r%10==1?p.One:0===o&&r%10==2?p.Two:0!==o||r%100!=0&&r%100!=20&&r%100!=40&&r%100!=60&&r%100!=80?0!==o?p.Many:p.Other:p.Few;case"he":return 1===r&&0===o?p.One:2===r&&0===o?p.Two:0!==o||n>=0&&n<=10||n%10!=0?p.Other:p.Many;case"is":return 0===s&&r%10==1&&r%100!=11||0!==s?p.One:p.Other;case"ksh":return 0===n?p.Zero:1===n?p.One:p.Other;case"kw":case"naq":case"se":case"smn":return 1===n?p.One:2===n?p.Two:p.Other;case"lag":return 0===n?p.Zero:0!==r&&1!==r||0===n?p.Other:p.One;case"lt":return n%10!=1||n%100>=11&&n%100<=19?n%10===Math.floor(n%10)&&n%10>=2&&n%10<=9&&!(n%100>=11&&n%100<=19)?p.Few:0!==i?p.Many:p.Other:p.One;case"lv":case"prg":return n%10==0||n%100===Math.floor(n%100)&&n%100>=11&&n%100<=19||2===o&&i%100===Math.floor(i%100)&&i%100>=11&&i%100<=19?p.Zero:n%10==1&&n%100!=11||2===o&&i%10==1&&i%100!=11||2!==o&&i%10==1?p.One:p.Other;case"mk":return 0===o&&r%10==1||i%10==1?p.One:p.Other;case"mt":return 1===n?p.One:0===n||n%100===Math.floor(n%100)&&n%100>=2&&n%100<=10?p.Few:n%100===Math.floor(n%100)&&n%100>=11&&n%100<=19?p.Many:p.Other;case"pl":return 1===r&&0===o?p.One:0===o&&r%10===Math.floor(r%10)&&r%10>=2&&r%10<=4&&!(r%100>=12&&r%100<=14)?p.Few:0===o&&1!==r&&r%10===Math.floor(r%10)&&r%10>=0&&r%10<=1||0===o&&r%10===Math.floor(r%10)&&r%10>=5&&r%10<=9||0===o&&r%100===Math.floor(r%100)&&r%100>=12&&r%100<=14?p.Many:p.Other;case"pt":return n===Math.floor(n)&&n>=0&&n<=2&&2!==n?p.One:p.Other;case"ro":return 1===r&&0===o?p.One:0!==o||0===n||1!==n&&n%100===Math.floor(n%100)&&n%100>=1&&n%100<=19?p.Few:p.Other;case"ru":case"uk":return 0===o&&r%10==1&&r%100!=11?p.One:0===o&&r%10===Math.floor(r%10)&&r%10>=2&&r%10<=4&&!(r%100>=12&&r%100<=14)?p.Few:0===o&&r%10==0||0===o&&r%10===Math.floor(r%10)&&r%10>=5&&r%10<=9||0===o&&r%100===Math.floor(r%100)&&r%100>=11&&r%100<=14?p.Many:p.Other;case"shi":return 0===r||1===n?p.One:n===Math.floor(n)&&n>=2&&n<=10?p.Few:p.Other;case"si":return 0===n||1===n||0===r&&1===i?p.One:p.Other;case"sl":return 0===o&&r%100==1?p.One:0===o&&r%100==2?p.Two:0===o&&r%100===Math.floor(r%100)&&r%100>=3&&r%100<=4||0!==o?p.Few:p.Other;case"tzm":return n===Math.floor(n)&&n>=0&&n<=1||n===Math.floor(n)&&n>=11&&n<=99?p.One:p.Other;default:return p.Other}}function bt(t,e,n){"string"!=typeof e&&(n=e,e=t[a["ɵLocaleDataIndex"].LocaleId]),e=e.toLowerCase().replace(/_/g,"-"),a["ɵLOCALE_DATA"][e]=t,n&&(a["ɵLOCALE_DATA"][e][a["ɵLocaleDataIndex"].ExtraData]=n)}function _t(t,e){e=encodeURIComponent(e);for(const n of t.split(";")){const t=n.indexOf("="),[a,r]=-1==t?[n,""]:[n.slice(0,t),n.slice(t+1)];if(a.trim()===e)return decodeURIComponent(r)}return null}class yt{constructor(t,e){this._name=t,this._options=e,this.value=null,this._lastSetValue=null,this._lastSetValueType=0,this._lastSetValueIdentityChange=!1}setValue(t){if(Array.isArray(t))this._lastSetValueType=4;else if(t instanceof Set)this._lastSetValueType=8;else if(t&&"string"==typeof t){if(!(4&this._options))throw new Error(this._name+" string values are not allowed");this._lastSetValueType=1}else this._lastSetValueType=t?2:0;this._lastSetValueIdentityChange=!0,this._lastSetValue=t||null}hasValueChanged(){let t=this._lastSetValueIdentityChange;if(!(t||14&this._lastSetValueType))return!1;let e=null;const n=!!(1&this._options),a=!!(8&this._options),r=!!(2&this._options);switch(this._lastSetValueType){case 1:const o=this._lastSetValue.split(/\s+/g);16&this._options?(e={},o.forEach((t,n)=>e[t]=!0)):e=o.reduce((t,e,n)=>t+(n?" ":"")+e);break;case 2:const i=this._lastSetValue,s=Object.keys(i);t||(t=!this.value||function(t,e,n){const a=t;if(!Mt(Object.keys(e),a))return!0;for(let r=0;r<a.length;r++){const t=a[r];if(e[t]!==n[t])return!0}return!1}(s,this.value,i)),t&&(e=Ot(this._name,n,a,r,i,s));break;case 4:case 8:const c=Array.from(this._lastSetValue);t||(t=!Mt(Object.keys(this.value),c)),t&&(e=Ot(this._name,n,a,r,c));break;default:e=null}return t&&(this.value=e),t}}function Ot(t,e,n,a,r,o){const i={};if(o)for(let s=0;s<o.length;s++){let t=o[s];t=e?t.trim():t,Ct(i,t,r[t],n,a)}else for(let s=0;s<r.length;s++){let n=r[s];vt(t,n),n=e?n.trim():n,Ct(i,n,!0,!1,a)}return i}function vt(t,e){if("string"!=typeof e)throw new Error(`${t} can only toggle CSS classes expressed as strings, got ${e}`)}function Ct(t,e,n,a,r){if(r&&e.indexOf(" ")>0){const r=e.split(/\s+/g);for(let e=0;e<r.length;e++)Pt(t,r[e],n,a)}else Pt(t,e,n,a)}function Pt(t,e,n,a){if(a){const t=function(t,e){const n=t.indexOf(".");if(n>0){const a=t.substr(n+1);t=t.substring(0,n),null!=e&&(e+=a)}return{key:t,value:e}}(e,n);n=t.value,e=t.key}t[e]=n}function Mt(t,e){if(t&&e){if(t.length!==e.length)return!1;for(let n=0;n<t.length;n++)if(-1===e.indexOf(t[n]))return!1;return!0}return!1}class xt{}class wt{constructor(t,e,n,a){this._iterableDiffers=t,this._keyValueDiffers=e,this._ngEl=n,this._renderer=a,this._initialClasses=[]}getValue(){return null}setClass(t){this._removeClasses(this._initialClasses),this._initialClasses="string"==typeof t?t.split(/\s+/):[],this._applyClasses(this._initialClasses),this._applyClasses(this._rawClass)}setNgClass(t){this._removeClasses(this._rawClass),this._applyClasses(this._initialClasses),this._iterableDiffer=null,this._keyValueDiffer=null,this._rawClass="string"==typeof t?t.split(/\s+/):t,this._rawClass&&(Object(a["ɵisListLikeIterable"])(this._rawClass)?this._iterableDiffer=this._iterableDiffers.find(this._rawClass).create():this._keyValueDiffer=this._keyValueDiffers.find(this._rawClass).create())}applyChanges(){if(this._iterableDiffer){const t=this._iterableDiffer.diff(this._rawClass);t&&this._applyIterableChanges(t)}else if(this._keyValueDiffer){const t=this._keyValueDiffer.diff(this._rawClass);t&&this._applyKeyValueChanges(t)}}_applyKeyValueChanges(t){t.forEachAddedItem(t=>this._toggleClass(t.key,t.currentValue)),t.forEachChangedItem(t=>this._toggleClass(t.key,t.currentValue)),t.forEachRemovedItem(t=>{t.previousValue&&this._toggleClass(t.key,!1)})}_applyIterableChanges(t){t.forEachAddedItem(t=>{if("string"!=typeof t.item)throw new Error(`NgClass can only toggle CSS classes expressed as strings, got ${Object(a["ɵstringify"])(t.item)}`);this._toggleClass(t.item,!0)}),t.forEachRemovedItem(t=>this._toggleClass(t.item,!1))}_applyClasses(t){t&&(Array.isArray(t)||t instanceof Set?t.forEach(t=>this._toggleClass(t,!0)):Object.keys(t).forEach(e=>this._toggleClass(e,!!t[e])))}_removeClasses(t){t&&(Array.isArray(t)||t instanceof Set?t.forEach(t=>this._toggleClass(t,!1)):Object.keys(t).forEach(t=>this._toggleClass(t,!1)))}_toggleClass(t,e){(t=t.trim())&&t.split(/\s+/g).forEach(t=>{e?this._renderer.addClass(this._ngEl.nativeElement,t):this._renderer.removeClass(this._ngEl.nativeElement,t)})}}class Tt{constructor(){this._value=null,this._ngClassDiffer=new yt("NgClass",23),this._classStringDiffer=null}getValue(){return this._value}setClass(t){(t||this._classStringDiffer)&&(this._classStringDiffer=this._classStringDiffer||new yt("class",20),this._classStringDiffer.setValue(t))}setNgClass(t){this._ngClassDiffer.setValue(t)}applyChanges(){const t=!!this._classStringDiffer&&this._classStringDiffer.hasValueChanged(),e=this._ngClassDiffer.hasValueChanged();if(t||e){let t=this._ngClassDiffer.value;if(this._classStringDiffer){let e=this._classStringDiffer.value;e&&(t=t?Object.assign({},e,t):e)}this._value=t}}}const kt={provide:xt,useClass:wt},St={provide:xt,useClass:Tt},It=kt,Nt=Object(a["ɵɵdefineDirective"])({type:function(){},selectors:null,factory:()=>{},hostBindings:function(t,e,n){1&t&&(Object(a["ɵɵallocHostVars"])(1),Object(a["ɵɵstyling"])()),2&t&&(Object(a["ɵɵclassMap"])(e.getValue()),Object(a["ɵɵstylingApply"])())}});let Rt=(()=>{class t{constructor(t){this._delegate=t}getValue(){return this._delegate.getValue()}}return t.ngDirectiveDef=void 0,t})();class At extends Rt{constructor(t){super(t)}set klass(t){this._delegate.setClass(t)}set ngClass(t){this._delegate.setNgClass(t)}ngDoCheck(){this._delegate.applyChanges()}}class Et{constructor(t){this._viewContainerRef=t,this._componentRef=null,this._moduleRef=null}ngOnChanges(t){if(this._viewContainerRef.clear(),this._componentRef=null,this.ngComponentOutlet){const e=this.ngComponentOutletInjector||this._viewContainerRef.parentInjector;if(t.ngComponentOutletNgModuleFactory)if(this._moduleRef&&this._moduleRef.destroy(),this.ngComponentOutletNgModuleFactory){const t=e.get(a.NgModuleRef);this._moduleRef=this.ngComponentOutletNgModuleFactory.create(t.injector)}else this._moduleRef=null;const n=(this._moduleRef?this._moduleRef.componentFactoryResolver:e.get(a.ComponentFactoryResolver)).resolveComponentFactory(this.ngComponentOutlet);this._componentRef=this._viewContainerRef.createComponent(n,this._viewContainerRef.length,e,this.ngComponentOutletContent)}}ngOnDestroy(){this._moduleRef&&this._moduleRef.destroy()}}class Dt{constructor(t,e,n,a){this.$implicit=t,this.ngForOf=e,this.index=n,this.count=a}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}class Lt{constructor(t,e,n){this._viewContainer=t,this._template=e,this._differs=n,this._ngForOfDirty=!0,this._differ=null}set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){Object(a.isDevMode)()&&null!=t&&"function"!=typeof t&&console&&console.warn&&console.warn(`trackBy must be a function, but received ${JSON.stringify(t)}. `+"See https://angular.io/docs/ts/latest/api/common/index/NgFor-directive.html#!#change-propagation for more information."),this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const n=this._ngForOf;if(!this._differ&&n)try{this._differ=this._differs.find(n).create(this.ngForTrackBy)}catch(e){throw new Error(`Cannot find a differ supporting object '${n}' of type '${t=n,t.name||typeof t}'. NgFor only supports binding to Iterables such as Arrays.`)}}var t;if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const e=[];t.forEachOperation((t,n,a)=>{if(null==t.previousIndex){const n=this._viewContainer.createEmbeddedView(this._template,new Dt(null,this._ngForOf,-1,-1),null===a?void 0:a),r=new qt(t,n);e.push(r)}else if(null==a)this._viewContainer.remove(null===n?void 0:n);else if(null!==n){const r=this._viewContainer.get(n);this._viewContainer.move(r,a);const o=new qt(t,r);e.push(o)}});for(let n=0;n<e.length;n++)this._perViewChange(e[n].view,e[n].record);for(let n=0,a=this._viewContainer.length;n<a;n++){const t=this._viewContainer.get(n);t.context.index=n,t.context.count=a,t.context.ngForOf=this._ngForOf}t.forEachIdentityChange(t=>{this._viewContainer.get(t.currentIndex).context.$implicit=t.item})}_perViewChange(t,e){t.context.$implicit=e.item}static ngTemplateContextGuard(t,e){return!0}}class qt{constructor(t,e){this.record=t,this.view=e}}class jt{constructor(t,e){this._viewContainer=t,this._context=new Ft,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=e}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){zt("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){zt("ngIfElse",t),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}}class Ft{constructor(){this.$implicit=null,this.ngIf=null}}function zt(t,e){if(e&&!e.createEmbeddedView)throw new Error(`${t} must be a TemplateRef, but received '${Object(a["ɵstringify"])(e)}'.`)}class Vt{constructor(t,e){this._viewContainerRef=t,this._templateRef=e,this._created=!1}create(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)}destroy(){this._created=!1,this._viewContainerRef.clear()}enforceState(t){t&&!this._created?this.create():!t&&this._created&&this.destroy()}}class Gt{constructor(){this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckIndex=0,this._lastCasesMatched=!1}set ngSwitch(t){this._ngSwitch=t,0===this._caseCount&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(t){this._defaultViews||(this._defaultViews=[]),this._defaultViews.push(t)}_matchCase(t){const e=t==this._ngSwitch;return this._lastCasesMatched=this._lastCasesMatched||e,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),e}_updateDefaultCases(t){if(this._defaultViews&&t!==this._defaultUsed){this._defaultUsed=t;for(let e=0;e<this._defaultViews.length;e++)this._defaultViews[e].enforceState(t)}}}class Yt{constructor(t,e,n){this.ngSwitch=n,n._addCase(),this._view=new Vt(t,e)}ngDoCheck(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))}}class Bt{constructor(t,e,n){n._addDefault(new Vt(t,e))}}class Ht{constructor(t){this._localization=t,this._caseViews={}}set ngPlural(t){this._switchValue=t,this._updateView()}addCase(t,e){this._caseViews[t]=e}_updateView(){this._clearViews();const t=Object.keys(this._caseViews),e=pt(this._switchValue,t,this._localization);this._activateView(this._caseViews[e])}_clearViews(){this._activeView&&this._activeView.destroy()}_activateView(t){t&&(this._activeView=t,this._activeView.create())}}class Ut{constructor(t,e,n,a){this.value=t;const r=!isNaN(Number(t));a.addCase(r?`=${t}`:t,new Vt(n,e))}}class Wt{}class Kt{constructor(t,e,n){this._ngEl=t,this._differs=e,this._renderer=n}getValue(){return null}setNgStyle(t){this._ngStyle=t,!this._differ&&t&&(this._differ=this._differs.find(t).create())}applyChanges(){if(this._differ){const t=this._differ.diff(this._ngStyle);t&&this._applyChanges(t)}}_applyChanges(t){t.forEachRemovedItem(t=>this._setStyle(t.key,null)),t.forEachAddedItem(t=>this._setStyle(t.key,t.currentValue)),t.forEachChangedItem(t=>this._setStyle(t.key,t.currentValue))}_setStyle(t,e){const[n,a]=t.split(".");null!=(e=null!=e&&a?`${e}${a}`:e)?this._renderer.setStyle(this._ngEl.nativeElement,n,e):this._renderer.removeStyle(this._ngEl.nativeElement,n)}}class $t{constructor(){this._differ=new yt("NgStyle",8),this._value=null}getValue(){return this._value}setNgStyle(t){this._differ.setValue(t)}applyChanges(){this._differ.hasValueChanged()&&(this._value=this._differ.value)}}const Zt={provide:Wt,useClass:Kt},Jt={provide:Wt,useClass:$t},Xt=Zt,Qt=Object(a["ɵɵdefineDirective"])({type:function(){},selectors:null,factory:()=>{},hostBindings:function(t,e,n){1&t&&Object(a["ɵɵstyling"])(),2&t&&(Object(a["ɵɵstyleMap"])(e.getValue()),Object(a["ɵɵstylingApply"])())}});let te=(()=>{class t{constructor(t){this._delegate=t}getValue(){return this._delegate.getValue()}}return t.ngDirectiveDef=void 0,t})();class ee extends te{constructor(t){super(t)}set ngStyle(t){this._delegate.setNgStyle(t)}ngDoCheck(){this._delegate.applyChanges()}}class ne{constructor(t){this._viewContainerRef=t,this._viewRef=null,this.ngTemplateOutletContext=null,this.ngTemplateOutlet=null}ngOnChanges(t){this._shouldRecreateView(t)?(this._viewRef&&this._viewContainerRef.remove(this._viewContainerRef.indexOf(this._viewRef)),this.ngTemplateOutlet&&(this._viewRef=this._viewContainerRef.createEmbeddedView(this.ngTemplateOutlet,this.ngTemplateOutletContext))):this._viewRef&&this.ngTemplateOutletContext&&this._updateExistingContext(this.ngTemplateOutletContext)}_shouldRecreateView(t){const e=t.ngTemplateOutletContext;return!!t.ngTemplateOutlet||e&&this._hasContextShapeChanged(e)}_hasContextShapeChanged(t){const e=Object.keys(t.previousValue||{}),n=Object.keys(t.currentValue||{});if(e.length===n.length){for(let t of n)if(-1===e.indexOf(t))return!0;return!1}return!0}_updateExistingContext(t){for(let e of Object.keys(t))this._viewRef.context[e]=this.ngTemplateOutletContext[e]}}const ae=[At,Et,Lt,jt,ne,ee,Gt,Yt,Bt,Ht,Ut];function re(t,e){return Error(`InvalidPipeArgument: '${e}' for pipe '${Object(a["ɵstringify"])(t)}'`)}const oe=/((?:[^yMLdHhmsazZEwGjJ']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|L+|d+|H+|h+|J+|j+|m+|s+|a|z|Z|G+|w+))(.*)/,ie={yMMMdjms:be(he([pe("year",1),me("month",3),pe("day",1),pe("hour",1),pe("minute",1),pe("second",1)])),yMdjm:be(he([pe("year",1),pe("month",1),pe("day",1),pe("hour",1),pe("minute",1)])),yMMMMEEEEd:be(he([pe("year",1),me("month",4),me("weekday",4),pe("day",1)])),yMMMMd:be(he([pe("year",1),me("month",4),pe("day",1)])),yMMMd:be(he([pe("year",1),me("month",3),pe("day",1)])),yMd:be(he([pe("year",1),pe("month",1),pe("day",1)])),jms:be(he([pe("hour",1),pe("second",1),pe("minute",1)])),jm:be(he([pe("hour",1),pe("minute",1)]))},se={yyyy:be(pe("year",4)),yy:be(pe("year",2)),y:be(pe("year",1)),MMMM:be(me("month",4)),MMM:be(me("month",3)),MM:be(pe("month",2)),M:be(pe("month",1)),LLLL:be(me("month",4)),L:be(me("month",1)),dd:be(pe("day",2)),d:be(pe("day",1)),HH:ce(de(be(fe(pe("hour",2),!1)))),H:de(be(fe(pe("hour",1),!1))),hh:ce(de(be(fe(pe("hour",2),!0)))),h:de(be(fe(pe("hour",1),!0))),jj:be(pe("hour",2)),j:be(pe("hour",1)),mm:ce(be(pe("minute",2))),m:be(pe("minute",1)),ss:ce(be(pe("second",2))),s:be(pe("second",1)),sss:be(pe("second",3)),EEEE:be(me("weekday",4)),EEE:be(me("weekday",3)),EE:be(me("weekday",2)),E:be(me("weekday",1)),a:le(be(fe(pe("hour",1),!0))),Z:ge("short"),z:ge("long"),ww:be({}),w:be({}),G:be(me("era",1)),GG:be(me("era",2)),GGG:be(me("era",3)),GGGG:be(me("era",4))};function ce(t){return function(e,n){const a=t(e,n);return 1==a.length?"0"+a:a}}function le(t){return function(e,n){return t(e,n).split(" ")[1]}}function de(t){return function(e,n){return t(e,n).split(" ")[0]}}function ue(t,e,n){return new Intl.DateTimeFormat(e,n).format(t).replace(/[\u200e\u200f]/g,"")}function ge(t){const e={hour:"2-digit",hour12:!1,timeZoneName:t};return function(t,n){const a=ue(t,n,e);return a?a.substring(3):""}}function fe(t,e){return t.hour12=e,t}function pe(t,e){const n={};return n[t]=2===e?"2-digit":"numeric",n}function me(t,e){const n={};return n[t]=e<4?e>1?"short":"narrow":"long",n}function he(t){return t.reduce((t,e)=>Object.assign({},t,e),{})}function be(t){return(e,n)=>ue(e,n,t)}const _e=new Map;let ye=(()=>{class t{constructor(t){this._locale=t}transform(e,n="mediumDate"){if(null==e||""===e||e!=e)return null;let a;if("string"==typeof e&&(e=e.trim()),Oe(e))a=e;else if(isNaN(e-parseFloat(e)))if("string"==typeof e&&/^(\d{4}-\d{1,2}-\d{1,2})$/.test(e)){const[t,n,r]=e.split("-").map(t=>parseInt(t,10));a=new Date(t,n-1,r)}else a=new Date(e);else a=new Date(parseFloat(e));if(!Oe(a)){let n;if("string"!=typeof e||!(n=e.match(G)))throw re(t,e);a=at(n)}return class{static format(t,e,n){return function(t,e,n){const a=ie[t];if(a)return a(e,n);const r=t;let o=_e.get(r);if(!o){let e;o=[],oe.exec(t);let n=t;for(;n;)e=oe.exec(n),e?(o=o.concat(e.slice(1)),n=o.pop()):(o.push(n),n=null);_e.set(r,o)}return o.reduce((t,a)=>{const r=se[a];return t+(r?r(e,n):function(t){return"''"===t?"'":t.replace(/(^'|'$)/g,"").replace(/''/g,"'")}(a))},"")}(n,t,e)}}.format(a,this._locale,t._ALIASES[n]||n)}}return t._ALIASES={medium:"yMMMdjms",short:"yMdjm",fullDate:"yMMMMEEEEd",longDate:"yMMMMd",mediumDate:"yMMMd",shortDate:"yMd",mediumTime:"jms",shortTime:"jm"},t})();function Oe(t){return t instanceof Date&&!isNaN(t.valueOf())}function ve(t,e,n,a,r,o=null,i=!1){if(null==n)return null;if("number"!=typeof(n="string"!=typeof n||isNaN(+n-parseFloat(n))?n:+n))throw re(t,n);let s,c,l;if(a!==f.Currency&&(s=1,c=0,l=3),r){const t=r.match(ot);if(null===t)throw new Error(`${r} is not a valid digit info for number pipes`);null!=t[1]&&(s=ut(t[1])),null!=t[3]&&(c=ut(t[3])),null!=t[5]&&(l=ut(t[5]))}return class{static format(t,e,n,a={}){const{minimumIntegerDigits:r,minimumFractionDigits:o,maximumFractionDigits:i,currency:s,currencyAsSymbol:c=!1}=a,l={minimumIntegerDigits:r,minimumFractionDigits:o,maximumFractionDigits:i,style:f[n].toLowerCase()};return n==f.Currency&&(l.currency="string"==typeof s?s:void 0,l.currencyDisplay=c?"symbol":"code"),new Intl.NumberFormat(e,l).format(t)}}.format(n,e,a,{minimumIntegerDigits:s,minimumFractionDigits:c,maximumFractionDigits:l,currency:o,currencyAsSymbol:i})}class Ce{constructor(t){this._locale=t}transform(t,e){return ve(Ce,this._locale,t,f.Decimal,e)}}class Pe{constructor(t){this._locale=t}transform(t,e){return ve(Pe,this._locale,t,f.Percent,e)}}class Me{constructor(t){this._locale=t}transform(t,e="USD",n=!1,a){return ve(Me,this._locale,t,f.Currency,a,e,n)}}const xe=[Ce,Pe,Me,ye];class we{createSubscription(t,e){return t.subscribe({next:e,error:t=>{throw t}})}dispose(t){t.unsubscribe()}onDestroy(t){t.unsubscribe()}}class Te{createSubscription(t,e){return t.then(e,t=>{throw t})}dispose(t){}onDestroy(t){}}const ke=new Te,Se=new we;class Ie{constructor(t){this._ref=t,this._latestValue=null,this._latestReturnedValue=null,this._subscription=null,this._obj=null,this._strategy=null}ngOnDestroy(){this._subscription&&this._dispose()}transform(t){return this._obj?t!==this._obj?(this._dispose(),this.transform(t)):Object(a["ɵlooseIdentical"])(this._latestValue,this._latestReturnedValue)?this._latestReturnedValue:(this._latestReturnedValue=this._latestValue,a.WrappedValue.wrap(this._latestValue)):(t&&this._subscribe(t),this._latestReturnedValue=this._latestValue,this._latestValue)}_subscribe(t){this._obj=t,this._strategy=this._selectStrategy(t),this._subscription=this._strategy.createSubscription(t,e=>this._updateLatestValue(t,e))}_selectStrategy(t){if(Object(a["ɵisPromise"])(t))return ke;if(Object(a["ɵisObservable"])(t))return Se;throw re(Ie,t)}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._latestReturnedValue=null,this._subscription=null,this._obj=null}_updateLatestValue(t,e){t===this._obj&&(this._latestValue=e,this._ref.markForCheck())}}class Ne{transform(t){if(!t)return t;if("string"!=typeof t)throw re(Ne,t);return t.toLowerCase()}}const Re=/(?:[A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D])\S*/g;class Ae{transform(t){if(!t)return t;if("string"!=typeof t)throw re(Ae,t);return t.replace(Re,t=>t[0].toUpperCase()+t.substr(1).toLowerCase())}}class Ee{transform(t){if(!t)return t;if("string"!=typeof t)throw re(Ee,t);return t.toUpperCase()}}class De{constructor(t){this.locale=t}transform(t,e="mediumDate",n,a){if(null==t||""===t||t!=t)return null;try{return K(t,e,a||this.locale,n)}catch(r){throw re(De,r.message)}}}const Le=/#/g;class qe{constructor(t){this._localization=t}transform(t,e,n){if(null==t)return"";if("object"!=typeof e||null===e)throw re(qe,e);return e[pt(t,Object.keys(e),this._localization,n)].replace(Le,t.toString())}}class je{transform(t,e){if(null==t)return"";if("object"!=typeof e||"string"!=typeof t)throw re(je,e);return e.hasOwnProperty(t)?e[t]:e.hasOwnProperty("other")?e.other:""}}class Fe{transform(t){return JSON.stringify(t,null,2)}}class ze{constructor(t){this.differs=t,this.keyValues=[]}transform(t,e=Ve){if(!t||!(t instanceof Map)&&"object"!=typeof t)return null;this.differ||(this.differ=this.differs.find(t).create());const n=this.differ.diff(t);return n&&(this.keyValues=[],n.forEachItem(t=>{this.keyValues.push({key:t.key,value:t.currentValue})}),this.keyValues.sort(e)),this.keyValues}}function Ve(t,e){const n=t.key,a=e.key;if(n===a)return 0;if(void 0===n)return 1;if(void 0===a)return-1;if(null===n)return 1;if(null===a)return-1;if("string"==typeof n&&"string"==typeof a)return n<a?-1:1;if("number"==typeof n&&"number"==typeof a)return n-a;if("boolean"==typeof n&&"boolean"==typeof a)return n<a?-1:1;const r=String(n),o=String(a);return r==o?0:r<o?-1:1}class Ge{constructor(t){this._locale=t}transform(t,e,n){if(He(t))return null;n=n||this._locale;try{return lt(Ue(t),n,e)}catch(a){throw re(Ge,a.message)}}}class Ye{constructor(t){this._locale=t}transform(t,e,n){if(He(t))return null;n=n||this._locale;try{return ct(Ue(t),n,e)}catch(a){throw re(Ye,a.message)}}}class Be{constructor(t){this._locale=t}transform(t,e,n="symbol",a,r){if(He(t))return null;r=r||this._locale,"boolean"==typeof n&&(console&&console.warn&&console.warn('Warning: the currency pipe has been changed in Angular v5. The symbolDisplay option (third parameter) is now a string instead of a boolean. The accepted values are "code", "symbol" or "symbol-narrow".'),n=n?"symbol":"code");let o=e||"USD";"code"!==n&&(o="symbol"===n||"symbol-narrow"===n?z(o,"symbol"===n?"wide":"narrow",r):n);try{return st(Ue(t),r,o,e,a)}catch(i){throw re(Be,i.message)}}}function He(t){return null==t||""===t||t!=t}function Ue(t){if("string"==typeof t&&!isNaN(Number(t)-parseFloat(t)))return Number(t);if("number"!=typeof t)throw new Error(`${t} is not a number`);return t}class We{transform(t,e,n){if(null==t)return t;if(!this.supports(t))throw re(We,t);return t.slice(e,n)}supports(t){return"string"==typeof t||Array.isArray(t)}}const Ke=[Ie,Ee,Ne,Fe,We,Ge,Ye,Ae,Be,De,qe,je,ze];class $e{}class Ze{}const Je=new a.InjectionToken("DocumentToken"),Xe="browser",Qe="server",tn="browserWorkerApp",en="browserWorkerUi";function nn(t){return t===Xe}function an(t){return t===Qe}function rn(t){return t===tn}function on(t){return t===en}const sn=new a.Version("8.2.14");let cn=(()=>{class t{}return t.ngInjectableDef=Object(a["ɵɵdefineInjectable"])({token:t,providedIn:"root",factory:()=>new ln(Object(a["ɵɵinject"])(Je),window,Object(a["ɵɵinject"])(a.ErrorHandler))}),t})();class ln{constructor(t,e,n){this.document=t,this.window=e,this.errorHandler=n,this.offset=()=>[0,0]}setOffset(t){this.offset=Array.isArray(t)?()=>t:t}getScrollPosition(){return this.supportScrollRestoration()?[this.window.scrollX,this.window.scrollY]:[0,0]}scrollToPosition(t){this.supportScrollRestoration()&&this.window.scrollTo(t[0],t[1])}scrollToAnchor(t){if(this.supportScrollRestoration()){t=this.window.CSS&&this.window.CSS.escape?this.window.CSS.escape(t):t.replace(/(\"|\'\ |:|\.|\[|\]|,|=)/g,"\\$1");try{const e=this.document.querySelector(`#${t}`);if(e)return void this.scrollToElement(e);const n=this.document.querySelector(`[name='${t}']`);if(n)return void this.scrollToElement(n)}catch(e){this.errorHandler.handleError(e)}}}setHistoryScrollRestoration(t){if(this.supportScrollRestoration()){const e=this.window.history;e&&e.scrollRestoration&&(e.scrollRestoration=t)}}scrollToElement(t){const e=t.getBoundingClientRect(),n=e.left+this.window.pageXOffset,a=e.top+this.window.pageYOffset,r=this.offset();this.window.scrollTo(n-r[0],a-r[1])}supportScrollRestoration(){try{return!!this.window&&!!this.window.scrollTo}catch(t){return!1}}}class dn{setOffset(t){}getScrollPosition(){return[0,0]}scrollToPosition(t){}scrollToAnchor(t){}setHistoryScrollRestoration(t){}}},SatO:function(t,e,n){!function(t){"use strict";t.defineLocale("zh-hk",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日dddd HH:mm",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(t,e){return 12===t&&(t=0),"凌晨"===e||"早上"===e||"上午"===e?t:"中午"===e?t>=11?t:t+12:"下午"===e||"晚上"===e?t+12:void 0},meridiem:function(t,e,n){var a=100*t+e;return a<600?"凌晨":a<900?"早上":a<1130?"上午":a<1230?"中午":a<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|週)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"日";case"M":return t+"月";case"w":case"W":return t+"週";default:return t}},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",ss:"%d 秒",m:"1 分鐘",mm:"%d 分鐘",h:"1 小時",hh:"%d 小時",d:"1 天",dd:"%d 天",M:"1 個月",MM:"%d 個月",y:"1 年",yy:"%d 年"}})}(n("wd/R"))},SeVD:function(t,e,n){"use strict";var a=n("ngJS"),r=n("NJ4a"),o=n("Lhse"),i=n("kJWO"),s=n("I55L"),c=n("c2HN"),l=n("XoHu");n.d(e,"a",(function(){return d}));const d=t=>{if(t&&"function"==typeof t[i.a])return d=t,t=>{const e=d[i.a]();if("function"!=typeof e.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return e.subscribe(t)};if(Object(s.a)(t))return Object(a.a)(t);if(Object(c.a)(t))return n=t,t=>(n.then(e=>{t.closed||(t.next(e),t.complete())},e=>t.error(e)).then(null,r.a),t);if(t&&"function"==typeof t[o.a])return e=t,t=>{const n=e[o.a]();for(;;){const e=n.next();if(e.done){t.complete();break}if(t.next(e.value),t.closed)break}return"function"==typeof n.return&&t.add(()=>{n.return&&n.return()}),t};{const e=Object(l.a)(t)?"an invalid object":`'${t}'`;throw new TypeError(`You provided ${e} where a stream was expected.`+" You can provide an Observable, Promise, Array, or Iterable.")}var e,n,d}},SfHT:function(t,e,n){var a=n("mrSG").__decorate,r=n("mrSG").__metadata;Object.defineProperty(e,"__esModule",{value:!0});var o=n("8Y7J");e.ScrollerComponent=function(){function t(t,e,n){this.ngZone=t,this.renderer=n,this.scrollbarV=!1,this.scrollbarH=!1,this.scroll=new o.EventEmitter,this.scrollYPos=0,this.scrollXPos=0,this.prevScrollYPos=0,this.prevScrollXPos=0,this.element=e.nativeElement}return t.prototype.ngOnInit=function(){if(this.scrollbarV||this.scrollbarH){var t=this.renderer;this.parentElement=t.parentNode(t.parentNode(this.element)),this.parentElement.addEventListener("scroll",this.onScrolled.bind(this))}},t.prototype.ngOnDestroy=function(){(this.scrollbarV||this.scrollbarH)&&this.parentElement.removeEventListener("scroll",this.onScrolled.bind(this))},t.prototype.setOffset=function(t){this.parentElement&&(this.parentElement.scrollTop=t)},t.prototype.onScrolled=function(t){var e=this,n=t.currentTarget;requestAnimationFrame((function(){e.scrollYPos=n.scrollTop,e.scrollXPos=n.scrollLeft,e.updateOffset()}))},t.prototype.updateOffset=function(){var t;this.scrollYPos<this.prevScrollYPos?t="down":this.scrollYPos>this.prevScrollYPos&&(t="up"),this.scroll.emit({direction:t,scrollYPos:this.scrollYPos,scrollXPos:this.scrollXPos}),this.prevScrollYPos=this.scrollYPos,this.prevScrollXPos=this.scrollXPos},a([o.Input(),r("design:type",Boolean)],t.prototype,"scrollbarV",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"scrollbarH",void 0),a([o.HostBinding("style.height.px"),o.Input(),r("design:type",Number)],t.prototype,"scrollHeight",void 0),a([o.HostBinding("style.width.px"),o.Input(),r("design:type",Number)],t.prototype,"scrollWidth",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"scroll",void 0),a([o.Component({selector:"datatable-scroller",template:"\n    <ng-content></ng-content>\n  ",host:{class:"datatable-scroll"},changeDetection:o.ChangeDetectionStrategy.OnPush})],t)}()},SfRM:function(t,e,n){var a=n("YESw");t.exports=function(){this.__data__=a?a(null):{},this.size=0}},SgmB:function(t,e,n){"use strict";n.d(e,"a",(function(){return c}));var a=n("IheW"),r=n("LRne"),o=n("5+tZ"),i=n("8Y7J"),s=n("pL04");let c=(()=>{class t{constructor(t){this.http=t}list(){return this.http.get("api/role")}delete(t){return this.http.delete(`api/role/${t}`)}get(t){return this.http.get(`api/role/${t}`)}create(t){return this.http.post("api/role",t)}clone(t,e){let n=new a.h;return n=n.append("new_name",e),this.http.post(`api/role/${t}/clone`,null,{params:n})}update(t){return this.http.put(`api/role/${t.name}`,t)}exists(t){return this.list().pipe(Object(o.a)(e=>{const n=e.some(e=>e.name===t);return Object(r.a)(n)}))}}return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t(i["ɵɵinject"](a.c))},token:t,providedIn:s.a}),t})()},SjWX:function(t,e,n){"use strict";var a=this&&this.__spreadArrays||function(){for(var t=0,e=0,n=arguments.length;e<n;e++)t+=arguments[e].length;var a=Array(t),r=0;for(e=0;e<n;e++)for(var o=arguments[e],i=0,s=o.length;i<s;i++,r++)a[r]=o[i];return a};Object.defineProperty(e,"__esModule",{value:!0});var r=function(t,e,n){this.name=t,this.version=e,this.os=n};e.BrowserInfo=r;var o=function(t){this.version=t,this.name="node",this.os=process.platform};e.NodeInfo=o;var i=function(){this.bot=!0,this.name="bot",this.version=null,this.os=null};e.BotInfo=i;var s=[["aol",/AOLShield\/([0-9\._]+)/],["edge",/Edge\/([0-9\._]+)/],["yandexbrowser",/YaBrowser\/([0-9\._]+)/],["vivaldi",/Vivaldi\/([0-9\.]+)/],["kakaotalk",/KAKAOTALK\s([0-9\.]+)/],["samsung",/SamsungBrowser\/([0-9\.]+)/],["silk",/\bSilk\/([0-9._-]+)\b/],["miui",/MiuiBrowser\/([0-9\.]+)$/],["beaker",/BeakerBrowser\/([0-9\.]+)/],["edge-chromium",/Edg\/([0-9\.]+)/],["chromium-webview",/(?!Chrom.*OPR)wv\).*Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["chrome",/(?!Chrom.*OPR)Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["phantomjs",/PhantomJS\/([0-9\.]+)(:?\s|$)/],["crios",/CriOS\/([0-9\.]+)(:?\s|$)/],["firefox",/Firefox\/([0-9\.]+)(?:\s|$)/],["fxios",/FxiOS\/([0-9\.]+)/],["opera-mini",/Opera Mini.*Version\/([0-9\.]+)/],["opera",/Opera\/([0-9\.]+)(?:\s|$)/],["opera",/OPR\/([0-9\.]+)(:?\s|$)/],["ie",/Trident\/7\.0.*rv\:([0-9\.]+).*\).*Gecko$/],["ie",/MSIE\s([0-9\.]+);.*Trident\/[4-7].0/],["ie",/MSIE\s(7\.0)/],["bb10",/BB10;\sTouch.*Version\/([0-9\.]+)/],["android",/Android\s([0-9\.]+)/],["ios",/Version\/([0-9\._]+).*Mobile.*Safari.*/],["safari",/Version\/([0-9\._]+).*Safari/],["facebook",/FBAV\/([0-9\.]+)/],["instagram",/Instagram\s([0-9\.]+)/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Mobile/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Gecko\)$/],["searchbot",/alexa|bot|crawl(er|ing)|facebookexternalhit|feedburner|google web preview|nagios|postrank|pingdom|slurp|spider|yahoo!|yandex/]],c=[["iOS",/iP(hone|od|ad)/],["Android OS",/Android/],["BlackBerry OS",/BlackBerry|BB10/],["Windows Mobile",/IEMobile/],["Amazon OS",/Kindle/],["Windows 3.11",/Win16/],["Windows 95",/(Windows 95)|(Win95)|(Windows_95)/],["Windows 98",/(Windows 98)|(Win98)/],["Windows 2000",/(Windows NT 5.0)|(Windows 2000)/],["Windows XP",/(Windows NT 5.1)|(Windows XP)/],["Windows Server 2003",/(Windows NT 5.2)/],["Windows Vista",/(Windows NT 6.0)/],["Windows 7",/(Windows NT 6.1)/],["Windows 8",/(Windows NT 6.2)/],["Windows 8.1",/(Windows NT 6.3)/],["Windows 10",/(Windows NT 10.0)/],["Windows ME",/Windows ME/],["Open BSD",/OpenBSD/],["Sun OS",/SunOS/],["Chrome OS",/CrOS/],["Linux",/(Linux)|(X11)/],["Mac OS",/(Mac_PowerPC)|(Macintosh)/],["QNX",/QNX/],["BeOS",/BeOS/],["OS/2",/OS\/2/],["Search Bot",/(nuhk)|(Googlebot)|(Yammybot)|(Openbot)|(Slurp)|(MSNBot)|(Ask Jeeves\/Teoma)|(ia_archiver)/]];function l(t){var e=""!==t&&s.reduce((function(e,n){var a=n[0];if(e)return e;var r=n[1].exec(t);return!!r&&[a,r]}),!1);if(!e)return null;var n=e[0],o=e[1];if("searchbot"===n)return new i;var c=o[1]&&o[1].split(/[._]/).slice(0,3);return c?c.length<3&&(c=a(c,function(t){for(var e=[],n=0;n<t;n++)e.push("0");return e}(3-c.length))):c=[],new r(n,c.join("."),d(t))}function d(t){for(var e=0,n=c.length;e<n;e++){var a=c[e],r=a[0];if(a[1].test(t))return r}return null}function u(){return"undefined"!=typeof process&&process.version?new o(process.version.slice(1)):null}e.detect=function(t){return t?l(t):"undefined"!=typeof navigator?l(navigator.userAgent):u()},e.parseUserAgent=l,e.detectOS=d,e.getNodeVersion=u},SpAZ:function(t,e,n){"use strict";function a(t){return t}n.d(e,"a",(function(){return a}))},SxV6:function(t,e,n){"use strict";n.d(e,"a",(function(){return l}));var a=n("sVev"),r=n("pLZG"),o=n("IzEk"),i=n("xbPD"),s=n("XDbj"),c=n("SpAZ");function l(t,e){const n=arguments.length>=2;return l=>l.pipe(t?Object(r.a)((e,n)=>t(e,n,l)):c.a,Object(o.a)(1),n?Object(i.a)(e):Object(s.a)(()=>new a.a))}},Sxd8:function(t,e,n){var a=n("ZCgT");t.exports=function(t){var e=a(t),n=e%1;return e==e?n?e-n:e:0}},T1AV:function(t,e,n){var a=n("t2Dn"),r=n("5Tg0"),o=n("yP5f"),i=n("Q1l4"),s=n("+iFO"),c=n("03A+"),l=n("Z0cm"),d=n("3L66"),u=n("DSRE"),g=n("lSCD"),f=n("GoyQ"),p=n("YO3V"),m=n("c6wG"),h=n("itsj"),b=n("jeLo");t.exports=function(t,e,n,_,y,O,v){var C=h(t,n),P=h(e,n),M=v.get(P);if(M)a(t,n,M);else{var x=O?O(C,P,n+"",t,e,v):void 0,w=void 0===x;if(w){var T=l(P),k=!T&&u(P),S=!T&&!k&&m(P);x=P,T||k||S?l(C)?x=C:d(C)?x=i(C):k?(w=!1,x=r(P,!0)):S?(w=!1,x=o(P,!0)):x=[]:p(P)||c(P)?(x=C,c(C)?x=b(C):f(C)&&!g(C)||(x=s(P))):w=!1}w&&(v.set(P,x),y(x,P,_,O,v),v.delete(P)),a(t,n,x)}}},TJUb:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("LvDl");class r{transform(t,e){return a.isPlainObject(e)?a.get(e,t,t):t}}},TNUL:function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var a=n("8Y7J"),r=n("f95s"),o=function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},i=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},s=function(){function t(){}return o([Object(a.Input)(),i("design:type",r.a)],t.prototype,"node",void 0),o([Object(a.Input)(),i("design:type",Number)],t.prototype,"index",void 0),o([Object(a.Input)(),i("design:type",Object)],t.prototype,"templates",void 0),o([Object(a.Component)({selector:"TreeNode, tree-node",encapsulation:a.ViewEncapsulation.None,styles:[],template:'\n    <ng-container *treeMobxAutorun="{ dontDetach: true }">\n      <div\n        *ngIf="!templates.treeNodeFullTemplate"\n        [class]="node.getClass()"\n        [class.tree-node]="true"\n        [class.tree-node-expanded]="node.isExpanded && node.hasChildren"\n        [class.tree-node-collapsed]="node.isCollapsed && node.hasChildren"\n        [class.tree-node-leaf]="node.isLeaf"\n        [class.tree-node-active]="node.isActive"\n        [class.tree-node-focused]="node.isFocused"\n      >\n        <tree-node-drop-slot\n          *ngIf="index === 0"\n          [dropIndex]="node.index"\n          [node]="node.parent"\n        ></tree-node-drop-slot>\n\n        <tree-node-wrapper\n          [node]="node"\n          [index]="index"\n          [templates]="templates"\n        ></tree-node-wrapper>\n\n        <tree-node-children\n          [node]="node"\n          [templates]="templates"\n        ></tree-node-children>\n        <tree-node-drop-slot\n          [dropIndex]="node.index + 1"\n          [node]="node.parent"\n        ></tree-node-drop-slot>\n      </div>\n      <ng-container\n        [ngTemplateOutlet]="templates.treeNodeFullTemplate"\n        [ngTemplateOutletContext]="{\n          $implicit: node,\n          node: node,\n          index: index,\n          templates: templates\n        }"\n      >\n      </ng-container>\n    </ng-container>\n  '})],t)}()},TWQb:function(t,e,n){var a=n("/GqU"),r=n("UMSQ"),o=n("I8vh"),i=function(t){return function(e,n,i){var s,c=a(e),l=r(c.length),d=o(i,l);if(t&&n!=n){for(;l>d;)if((s=c[d++])!=s)return!0}else for(;l>d;d++)if((t||d in c)&&c[d]===n)return t||d||0;return!t&&-1}};t.exports={includes:i(!0),indexOf:i(!1)}},TYy9:function(t,e,n){var a=n("XGnz");t.exports=function(t){return null!=t&&t.length?a(t,1):[]}},TYzs:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{transform(t){const e=parseInt(t,10);return isNaN(e)?t:t+(1===Math.floor(e/10)?"th":e%10==1?"st":e%10==2?"nd":e%10==3?"rd":"th")}}},TeQF:function(t,e,n){"use strict";var a=n("I+eb"),r=n("tycR").filter,o=n("Hd5f"),i=n("rkAj"),s=o("filter"),c=i("filter");a({target:"Array",proto:!0,forced:!s||!c},{filter:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}})},UB5X:function(t,e,n){var a=n("NykK"),r=n("ExA7");t.exports=function(t){return"number"==typeof t||r(t)&&"[object Number]"==a(t)}},UDhR:function(t,e,n){!function(t){"use strict";t.defineLocale("id",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des".split("_"),weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|siang|sore|malam/,meridiemHour:function(t,e){return 12===t&&(t=0),"pagi"===e?t:"siang"===e?t>=11?t:t+12:"sore"===e||"malam"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"pagi":t<15?"siang":t<19?"sore":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",ss:"%d detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}(n("wd/R"))},UMSQ:function(t,e,n){var a=n("ppGB"),r=Math.min;t.exports=function(t){return t>0?r(a(t),9007199254740991):0}},"UNi/":function(t,e){t.exports=function(t,e){for(var n=-1,a=Array(t);++n<t;)a[n]=e(n);return a}},UReH:function(t,e,n){var a=n("mrSG").__decorate;Object.defineProperty(e,"__esModule",{value:!0});var r=n("8Y7J");e.DatatableRowDetailTemplateDirective=function(){return a([r.Directive({selector:"[ngx-datatable-row-detail-template]"})],(function(t){this.template=t}))}()},USCx:function(t,e,n){!function(t){"use strict";t.defineLocale("ga",{months:["Eanáir","Feabhra","Márta","Aibreán","Bealtaine","Méitheamh","Iúil","Lúnasa","Meán Fómhair","Deaireadh Fómhair","Samhain","Nollaig"],monthsShort:["Eaná","Feab","Márt","Aibr","Beal","Méit","Iúil","Lúna","Meán","Deai","Samh","Noll"],monthsParseExact:!0,weekdays:["Dé Domhnaigh","Dé Luain","Dé Máirt","Dé Céadaoin","Déardaoin","Dé hAoine","Dé Satharn"],weekdaysShort:["Dom","Lua","Mái","Céa","Déa","hAo","Sat"],weekdaysMin:["Do","Lu","Má","Ce","Dé","hA","Sa"],longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Inniu ag] LT",nextDay:"[Amárach ag] LT",nextWeek:"dddd [ag] LT",lastDay:"[Inné aig] LT",lastWeek:"dddd [seo caite] [ag] LT",sameElse:"L"},relativeTime:{future:"i %s",past:"%s ó shin",s:"cúpla soicind",ss:"%d soicind",m:"nóiméad",mm:"%d nóiméad",h:"uair an chloig",hh:"%d uair an chloig",d:"lá",dd:"%d lá",M:"mí",MM:"%d mí",y:"bliain",yy:"%d bliain"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(t){return t+(1===t?"d":t%10==2?"na":"mh")},week:{dow:1,doy:4}})}(n("wd/R"))},UTVS:function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},UXun:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("jtHE");function r(t,e,n){let r;return r=t&&"object"==typeof t?t:{bufferSize:t,windowTime:e,refCount:!1,scheduler:n},t=>t.lift(function({bufferSize:t=Number.POSITIVE_INFINITY,windowTime:e=Number.POSITIVE_INFINITY,refCount:n,scheduler:r}){let o,i,s=0,c=!1,l=!1;return function(d){s++,o&&!c||(c=!1,o=new a.a(t,e,r),i=d.subscribe({next(t){o.next(t)},error(t){c=!0,o.error(t)},complete(){l=!0,i=void 0,o.complete()}}));const u=o.subscribe(this);this.add(()=>{s--,u.unsubscribe(),i&&!l&&n&&0===s&&(i.unsubscribe(),i=void 0,o=void 0)})}}(r))}},UfWW:function(t,e,n){var a=n("KwMD"),r=n("ut/Y"),o=n("Sxd8"),i=Math.max;t.exports=function(t,e,n){var s=null==t?0:t.length;if(!s)return-1;var c=null==n?0:o(n);return c<0&&(c=i(s+c,0)),a(t,r(e,3),c)}},UpQW:function(t,e,n){!function(t){"use strict";var e=["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر"],n=["اتوار","پیر","منگل","بدھ","جمعرات","جمعہ","ہفتہ"];t.defineLocale("ur",{months:e,monthsShort:e,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(t){return"شام"===t},meridiem:function(t,e,n){return t<12?"صبح":"شام"},calendar:{sameDay:"[آج بوقت] LT",nextDay:"[کل بوقت] LT",nextWeek:"dddd [بوقت] LT",lastDay:"[گذشتہ روز بوقت] LT",lastWeek:"[گذشتہ] dddd [بوقت] LT",sameElse:"L"},relativeTime:{future:"%s بعد",past:"%s قبل",s:"چند سیکنڈ",ss:"%d سیکنڈ",m:"ایک منٹ",mm:"%d منٹ",h:"ایک گھنٹہ",hh:"%d گھنٹے",d:"ایک دن",dd:"%d دن",M:"ایک ماہ",MM:"%d ماہ",y:"ایک سال",yy:"%d سال"},preparse:function(t){return t.replace(/،/g,",")},postformat:function(t){return t.replace(/,/g,"،")},week:{dow:1,doy:4}})}(n("wd/R"))},Ur1D:function(t,e,n){!function(t){"use strict";t.defineLocale("ss",{months:"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split("_"),monthsShort:"Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo".split("_"),weekdays:"Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo".split("_"),weekdaysShort:"Lis_Umb_Lsb_Les_Lsi_Lsh_Umg".split("_"),weekdaysMin:"Li_Us_Lb_Lt_Ls_Lh_Ug".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Namuhla nga] LT",nextDay:"[Kusasa nga] LT",nextWeek:"dddd [nga] LT",lastDay:"[Itolo nga] LT",lastWeek:"dddd [leliphelile] [nga] LT",sameElse:"L"},relativeTime:{future:"nga %s",past:"wenteka nga %s",s:"emizuzwana lomcane",ss:"%d mzuzwana",m:"umzuzu",mm:"%d emizuzu",h:"lihora",hh:"%d emahora",d:"lilanga",dd:"%d emalanga",M:"inyanga",MM:"%d tinyanga",y:"umnyaka",yy:"%d iminyaka"},meridiemParse:/ekuseni|emini|entsambama|ebusuku/,meridiem:function(t,e,n){return t<11?"ekuseni":t<15?"emini":t<19?"entsambama":"ebusuku"},meridiemHour:function(t,e){return 12===t&&(t=0),"ekuseni"===e?t:"emini"===e?t>=11?t:t+12:"entsambama"===e||"ebusuku"===e?0===t?0:t+12:void 0},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:"%d",week:{dow:1,doy:4}})}(n("wd/R"))},UxlC:function(t,e,n){"use strict";var a=n("14Sl"),r=n("glrk"),o=n("ewvW"),i=n("UMSQ"),s=n("ppGB"),c=n("HYAF"),l=n("iqWW"),d=n("FMNM"),u=Math.max,g=Math.min,f=Math.floor,p=/\$([$&'`]|\d\d?|<[^>]*>)/g,m=/\$([$&'`]|\d\d?)/g;a("replace",2,(function(t,e,n,a){var h=a.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,b=a.REPLACE_KEEPS_$0,_=h?"$":"$0";return[function(n,a){var r=c(this),o=null==n?void 0:n[t];return void 0!==o?o.call(n,r,a):e.call(String(r),n,a)},function(t,a){if(!h&&b||"string"==typeof a&&-1===a.indexOf(_)){var o=n(e,t,this,a);if(o.done)return o.value}var c=r(t),f=String(this),p="function"==typeof a;p||(a=String(a));var m=c.global;if(m){var O=c.unicode;c.lastIndex=0}for(var v=[];;){var C=d(c,f);if(null===C)break;if(v.push(C),!m)break;""===String(C[0])&&(c.lastIndex=l(f,i(c.lastIndex),O))}for(var P,M="",x=0,w=0;w<v.length;w++){C=v[w];for(var T=String(C[0]),k=u(g(s(C.index),f.length),0),S=[],I=1;I<C.length;I++)S.push(void 0===(P=C[I])?P:String(P));var N=C.groups;if(p){var R=[T].concat(S,k,f);void 0!==N&&R.push(N);var A=String(a.apply(void 0,R))}else A=y(T,f,k,S,N,a);k>=x&&(M+=f.slice(x,k)+A,x=k+T.length)}return M+f.slice(x)}];function y(t,n,a,r,i,s){var c=a+t.length,l=r.length,d=m;return void 0!==i&&(i=o(i),d=p),e.call(s,d,(function(e,o){var s;switch(o.charAt(0)){case"$":return"$";case"&":return t;case"`":return n.slice(0,a);case"'":return n.slice(c);case"<":s=i[o.slice(1,-1)];break;default:var d=+o;if(0===d)return e;if(d>l){var u=f(d/10);return 0===u?e:u<=l?void 0===r[u-1]?o.charAt(1):r[u-1]+o.charAt(1):e}s=r[d-1]}return void 0===s?"":s}))}}))},"V/fk":function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{}},V2x9:function(t,e,n){!function(t){"use strict";t.defineLocale("tet",{months:"Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu".split("_"),weekdaysShort:"Dom_Seg_Ters_Kua_Kint_Sest_Sab".split("_"),weekdaysMin:"Do_Seg_Te_Ku_Ki_Ses_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Ohin iha] LT",nextDay:"[Aban iha] LT",nextWeek:"dddd [iha] LT",lastDay:"[Horiseik iha] LT",lastWeek:"dddd [semana kotuk] [iha] LT",sameElse:"L"},relativeTime:{future:"iha %s",past:"%s liuba",s:"minutu balun",ss:"minutu %d",m:"minutu ida",mm:"minutu %d",h:"oras ida",hh:"oras %d",d:"loron ida",dd:"loron %d",M:"fulan ida",MM:"fulan %d",y:"tinan ida",yy:"tinan %d"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})}(n("wd/R"))},V3my:function(t,e,n){"use strict";var a=n("s7LF"),r=n("LvDl"),o=n("cp0P"),i=(n("DSvg"),n("SgmB"),n("20UP"),n("Mxhz"),n("OLbh")),s=n("DNAf"),c=(n("sne2"),n("oxzT")),l=n("mtw6"),d=(n("2EZI"),n("1Ni5")),u=n("oMSZ"),g=(n("aexS"),n("9nlD"),n("1nQr"),function(t){return t.editing="editing",t}({}));class f{}n.d(e,"a",(function(){return p}));class p{constructor(t,e,n,a,r,o,i,l,d,u,f,p,m){this.authService=t,this.authStorageService=e,this.route=n,this.router=a,this.modalService=r,this.roleService=o,this.userService=i,this.notificationService=l,this.i18n=d,this.actionLabels=u,this.passwordPolicyService=f,this.formBuilder=p,this.settingsService=m,this.userFormMode=g,this.messages=new s.a({empty:this.i18n("There are no roles.")},this.i18n),this.passwordPolicyHelpText="",this.icons=c.a,this.bsConfig={dateInputFormat:"YYYY-MM-DD",containerClass:"theme-default"},this.resource=this.i18n("user"),this.createForm(),this.messages=new s.a({empty:this.i18n("There are no roles.")},this.i18n)}createForm(){this.passwordPolicyService.getHelpText().subscribe(t=>{this.passwordPolicyHelpText=t}),this.userForm=this.formBuilder.group({username:["",[a.B.required]],name:[""],password:["",[],[d.a.passwordPolicy(this.userService,()=>this.userForm.getValue("username"),(t,e,n)=>{this.passwordStrengthLevelClass=this.passwordPolicyService.mapCreditsToCssClass(e),this.passwordValuation=r.defaultTo(n,"")})]],confirmpassword:[""],pwdExpirationDate:[""],email:["",[d.a.email]],roles:[[]],enabled:[!0,[a.B.required]],pwdUpdateRequired:[!0]},{validators:[d.a.match("password","confirmpassword")]})}ngOnInit(){this.router.url.startsWith("/user-management/users/edit")?(this.mode=this.userFormMode.editing,this.action=this.actionLabels.EDIT):this.action=this.actionLabels.CREATE,this.minDate=new Date;const t=[this.roleService.list(),this.settingsService.getStandardSettings()];Object(o.a)(t).subscribe(t=>{if(this.allRoles=r.map(t[0],t=>(t.enabled=!0,t)),this.pwdExpirationSettings=new u.a(t[1]),this.mode===this.userFormMode.editing)this.initEdit();else if(this.pwdExpirationSettings.pwdExpirationSpan>0){const t=this.userForm.get("pwdExpirationDate"),e=new Date;e.setDate(this.minDate.getDate()+this.pwdExpirationSettings.pwdExpirationSpan),t.setValue(e),t.setValidators([a.B.required])}})}initEdit(){this.disableForEdit(),this.route.params.subscribe(t=>{this.userService.get(t.username).subscribe(t=>{this.response=r.cloneDeep(t),this.setResponse(t)})})}disableForEdit(){this.userForm.get("username").disable()}setResponse(t){["username","name","email","roles","enabled","pwdUpdateRequired"].forEach(e=>this.userForm.get(e).setValue(t[e]));const e=t.pwdExpirationDate;e&&this.userForm.get("pwdExpirationDate").setValue(new Date(1e3*e))}getRequest(){const t=new f;["username","password","name","email","roles","enabled","pwdUpdateRequired"].forEach(e=>t[e]=this.userForm.get(e).value);const e=this.userForm.get("pwdExpirationDate").value;return e&&(this.mode===this.userFormMode.editing&&this.response.pwdExpirationDate===Number(e)/1e3||e.setHours(23,59,59),t.pwdExpirationDate=Number(e)/1e3),t}createAction(){const t=this.getRequest();this.userService.create(t).subscribe(()=>{this.notificationService.show(l.a.success,this.i18n('Created user "{{username}}"',{username:t.username})),this.router.navigate(["/user-management/users"])},()=>{this.userForm.setErrors({cdSubmitButton:!0})})}editAction(){if(this.isUserRemovingNeededRolePermissions()){const t={titleText:this.i18n("Update user"),buttonText:this.i18n("Continue"),bodyTpl:this.removeSelfUserReadUpdatePermissionTpl,onSubmit:()=>{this.modalRef.hide(),this.doEditAction()},onCancel:()=>{this.userForm.setErrors({cdSubmitButton:!0}),this.userForm.get("roles").reset(this.userForm.get("roles").value)}};this.modalRef=this.modalService.show(i.a,{initialState:t})}else this.doEditAction()}isCurrentUser(){return this.authStorageService.getUsername()===this.userForm.getValue("username")}isUserChangingRoles(){return this.isCurrentUser()&&this.response&&!r.isEqual(this.response.roles,this.userForm.getValue("roles"))}isUserRemovingNeededRolePermissions(){return this.isCurrentUser()&&!this.hasUserReadUpdatePermissions(this.userForm.getValue("roles"))}hasUserReadUpdatePermissions(t=[]){for(const e of this.allRoles)if(-1!==t.indexOf(e.name)&&e.scopes_permissions.user){const t=e.scopes_permissions.user;return["read","update"].every(e=>-1!==t.indexOf(e))}return!1}doEditAction(){const t=this.getRequest();this.userService.update(t).subscribe(()=>{this.isUserChangingRoles()?this.authService.logout(()=>{this.notificationService.show(l.a.info,this.i18n("You were automatically logged out because your roles have been changed."))}):(this.notificationService.show(l.a.success,this.i18n('Updated user "{{username}}"',{username:t.username})),this.router.navigate(["/user-management/users"]))},()=>{this.userForm.setErrors({cdSubmitButton:!0})})}clearExpirationDate(){this.userForm.get("pwdExpirationDate").setValue(void 0)}submit(){this.mode===this.userFormMode.editing?this.editAction():this.createAction()}}},V5SL:function(t,e,n){"use strict";n.r(e),e.default='<xliff xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 http://docs.oasis-open.org/xliff/v1.2/os/xliff-core-1.2-strict.xsd" xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">\n  <file original="ng2.template" datatype="plaintext" source-language="en-US" target-language="fr-FR">\n    <body>\n      <trans-unit id="319e0745bcbc132451569294fa2fa21bf10f555a" datatype="html">\n        <source>Toggle navigation</source>\n        <target>Activer/Désactiver la navigation</target>\n      </trans-unit>\n      <trans-unit id="f65253954b66e929a8b4d5ecaf61f9129f8cec64" datatype="html">\n        <source>Dashboard</source>\n        <target>Tableau de bord</target>\n      </trans-unit>\n      <trans-unit id="f4d1dd59b039ad818d9da7e29a773e10e41d9821" datatype="html">\n        <source>Cluster</source>\n        <target>Grappe</target>\n      </trans-unit>\n      <trans-unit id="099b441d49333b3c6d30b36dc0a4763e64c78920" datatype="html">\n        <source>Hosts</source>\n        <target>Serveurs</target>\n      </trans-unit>\n      <trans-unit id="2cc3ecb16e348fcf2f2fbfd2f997d4d22f37475b" datatype="html">\n        <source>Inventory</source>\n        <target>Inventory</target>\n      </trans-unit>\n      <trans-unit id="624f596cc3320f5e0a0d7c7346c364e5af9bdd8c" datatype="html">\n        <source>Monitors</source>\n        <target>Moniteurs</target>\n      </trans-unit>\n      <trans-unit id="419d940613972cc3fae9c8ea0a4306dbf80616e5" datatype="html">\n        <source>Services</source>\n        <target>Services</target>\n      </trans-unit>\n      <trans-unit id="1a9183778f2c6473d7ccb080f651caa01faaf70c" datatype="html">\n        <source>OSDs</source>\n        <target>OSD</target>\n      </trans-unit>\n      <trans-unit id="4a41f824a35ba01d5bd7be61aa06b3e8145209d0" datatype="html">\n        <source>Configuration</source>\n        <target>Configuration</target>\n      </trans-unit>\n      <trans-unit id="8c95898abff46bfac3ed6eb2afef74597e60b15c" datatype="html">\n        <source>CRUSH map</source>\n        <target>Carte CRUSH</target>\n      </trans-unit>\n      <trans-unit id="33da4dbeb076159510801ea764a218fd341269d2" datatype="html">\n        <source>Manager modules</source>\n        <target>Modules Manager</target>\n      </trans-unit>\n      <trans-unit id="eb3d5aefff38a814b76da74371cbf02c0789a1ef" datatype="html">\n        <source>Logs</source>\n        <target>Journaux</target>\n      </trans-unit>\n      <trans-unit id="9fe218829514884cdd0ca2300573a4e0428c324f" datatype="html">\n        <source>Alerts</source>\n        <target>Alertes</target>\n      </trans-unit>\n      <trans-unit id="aa0c44aa1e5727061baa91e954f77e2f5f9a37c9" datatype="html">\n        <source>Silences</source>\n        <target>Silences</target>\n      </trans-unit>\n      <trans-unit id="92899fa68e8ca108912163ff58edc8540e453787" datatype="html">\n        <source>Pools</source>\n        <target>Réserves</target>\n      </trans-unit>\n      <trans-unit id="7f5d0c10614e8a34f0e2dad33a0568277c50cf69" datatype="html">\n        <source>Block</source>\n        <target>Bloc</target>\n      </trans-unit>\n      <trans-unit id="b73f7f5060fb22a1e9ec462b1bb02493fa3ab866" datatype="html">\n        <source>Images</source>\n        <target>Images</target>\n      </trans-unit>\n      <trans-unit id="3c2562ba992127203dcfd014010b03cb7b8113c6" datatype="html">\n        <source>Mirroring</source>\n        <target>Mise en miroir</target>\n      </trans-unit>\n      <trans-unit id="811c241d56601b91ef26735b770e64428089b950" datatype="html">\n        <source>iSCSI</source>\n        <target>iSCSI</target>\n      </trans-unit>\n      <trans-unit id="a24eabd99ea5af20f5f94c4484649cd30370042b" datatype="html">\n        <source>NFS</source>\n        <target>NFS</target>\n      </trans-unit>\n      <trans-unit id="a4eff72d97b7ced051398d581f10968218057ddc" datatype="html">\n        <source>Filesystems</source>\n        <target>Systèmes de fichiers</target>\n      </trans-unit>\n      <trans-unit id="2190548d236ca5f7bc7ab2bca334b860c5ff2ad4" datatype="html">\n        <source>Object Gateway</source>\n        <target>Object Gateway</target>\n      </trans-unit>\n      <trans-unit id="9e24f9e2d42104ffc01599db4d566d1cc518f9e6" datatype="html">\n        <source>Daemons</source>\n        <target>Daemons</target>\n      </trans-unit>\n      <trans-unit id="4d13a9cd5ed3dcee0eab22cb25198d43886942be" datatype="html">\n        <source>Users</source>\n        <target>Utilisateurs</target>\n      </trans-unit>\n      <trans-unit id="9515520496da83179d8b08132f00f575512a1f40" datatype="html">\n        <source>Buckets</source>\n        <target>Compartiments</target>\n      </trans-unit>\n      <trans-unit id="797f8214e8148f4bf0d244baaa7341706b419549" datatype="html">\n        <source>Retrieving data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>. Please wait...\n        </source>\n        <target>Retrieving data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>. Please wait...\n        </target>\n      </trans-unit>\n      <trans-unit id="5a870dc77b9f6f33ee671ea2d856021276933339" datatype="html">\n        <source>Displaying previously cached data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>\n  for \n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n        </source>\n        <target>Displaying previously cached data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>\n  for \n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="ae580202919844531361ba2308287226ff74a584" datatype="html">\n        <source>Could not load data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n  Please check the cluster health.\n        </source>\n        <target>Could not load data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n  Please check the cluster health.\n        </target>\n      </trans-unit>\n      <trans-unit id="7e52e9143145e1db5146258de81eae018a407b31" datatype="html">\n        <source>Clear notifications</source>\n        <target>Clear notifications</target>\n      </trans-unit>\n      <trans-unit id="b0b07bb6b7ff21ede439dd04eaf8872d1ecb84d8" datatype="html">\n        <source>Remove notification</source>\n        <target>Remove notification</target>\n      </trans-unit>\n      <trans-unit id="e17a1d75189da843f541f7764f188f2b19a97df2" datatype="html">\n        <source>Duration:</source>\n        <target>Duration:</target>\n      </trans-unit>\n      <trans-unit id="0d4b37c6675c5b436a54c43d6716eec835e1aa7f" datatype="html">\n        <source>There are no notifications.</source>\n        <target>There are no notifications.</target>\n      </trans-unit>\n      <trans-unit id="0a23e992f6c6e169a38b2b7338b4e5e803b52e0d" datatype="html">\n        <source>Tasks and Notifications</source>\n        <target>Tasks and Notifications</target>\n      </trans-unit>\n      <trans-unit id="3fb5709e10166cbc85970cbff103db227dbeb813" datatype="html">\n        <source>Select a Language</source>\n        <target>Sélectionner une langue</target>\n      </trans-unit>\n      <trans-unit id="c5109325fb160b543f71a51e7511c00575057431" datatype="html">\n        <source>Loading panel data...</source>\n        <target>Chargement des données du panneau...</target>\n      </trans-unit>\n      <trans-unit id="8ca12411f890ab8b0a9216418e2b8f5ea7d2441a" datatype="html">\n        <source>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the monitoring functionality.\n        </source>\n        <target>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the monitoring functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="160a9e80dc089792df42e2400b1e81b9e7025aa7" datatype="html">\n        <source>Grafana Dashboard doesn\'t exist. Please refer to\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  add dashboards to Grafana.\n        </source>\n        <target>Grafana Dashboard doesn\'t exist. Please refer to\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  add dashboards to Grafana.\n        </target>\n      </trans-unit>\n      <trans-unit id="4e11830040bd64804a0555de76f291d5832772d4" datatype="html">\n        <source>Grafana Time Picker</source>\n        <target>Sélecteur d\'heure Grafana</target>\n      </trans-unit>\n      <trans-unit id="238c1ba845dd7330e8088165275919a1debf1ca3" datatype="html">\n        <source>Reset Settings</source>\n        <target>Réinitialiser les paramètres</target>\n      </trans-unit>\n      <trans-unit id="c8d1785038d461ec66b5799db21864182b35900a" datatype="html">\n        <source>Refresh</source>\n        <target>Refresh</target>\n      </trans-unit>\n      <trans-unit id="6c947210e2d162b6225083d18820ab602f58cd2d" datatype="html">\n        <source>Remove the custom configuration value. The default configuration will be inherited and used instead.</source>\n        <target>Remove the custom configuration value. The default configuration will be inherited and used instead.</target>\n      </trans-unit>\n      <trans-unit id="454ee9cb60b00446a8fb147fd2cc5eb836320586" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ option.maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ option.maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="7fc8a22825131e028336f60ef909ccbd96059703" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ option.minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ option.minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="cda31dbd724cf5f4fa7a4274d9120651490c8a8c" datatype="html">\n        <source>Back</source>\n        <target>Retour</target>\n      </trans-unit>\n      <trans-unit id="012741ee52b3c050e4a977c37cc2334f7974f141" datatype="html">\n        <source>Failed to load data.</source>\n        <target>Échec du chargement des données.</target>\n      </trans-unit>\n      <trans-unit id="80cc9a12d4bf6fe454ed94b379eeaf915f920bb7" datatype="html">\n        <source>selected</source>\n        <target>sélectionné(e)(s)</target>\n        <note>X selected</note>\n      </trans-unit>\n      <trans-unit id="0cb77511a9a148e05b9adf36cc07269956fbb29d" datatype="html">\n        <source>found</source>\n        <target>trouvé(e)(s)</target>\n        <note>X found</note>\n      </trans-unit>\n      <trans-unit id="79347388740c50b7ac97e144c2494bb62912f312" datatype="html">\n        <source>total</source>\n        <target>total</target>\n        <note>X total</note>\n      </trans-unit>\n      <trans-unit id="cff1428d10d59d14e45edec3c735a27b5482db59" datatype="html">\n        <source>Name</source>\n        <target>Nom</target>\n      </trans-unit>\n      <trans-unit id="eec715de352a6b114713b30b640d319fa78207a0" datatype="html">\n        <source>Description</source>\n        <target>Description</target>\n      </trans-unit>\n      <trans-unit id="4ad112ce9bcd55dfd137792a86afe1b5a5b13cf8" datatype="html">\n        <source>Long description</source>\n        <target>Description longue</target>\n      </trans-unit>\n      <trans-unit id="ff7cee38a2259526c519f878e71b964f41db4348" datatype="html">\n        <source>Default</source>\n        <target>Valeur par défaut</target>\n      </trans-unit>\n      <trans-unit id="33e1c1d9fc05ca3f62fcc8a1170fc31ebae4229c" datatype="html">\n        <source>Daemon default</source>\n        <target>Valeur par défaut du daemon</target>\n      </trans-unit>\n      <trans-unit id="809b0c848932a41318f77a2aace904ef429c13f4" datatype="html">\n        <source>Values</source>\n        <target>Valeurs</target>\n      </trans-unit>\n      <trans-unit id="82029b6db704c56a2aa3e82ac555b8655356b077" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8ed8b3967a7326b81b191c9f490006e6a6777a9a" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="52c9a103b812f258bcddc3d90a6e3f46871d25fe" datatype="html">\n        <source>Save</source>\n        <target>Sauvegarder</target>\n      </trans-unit>\n      <trans-unit id="738de688b22fba5d0dc7a5e549996838dddad0ee" datatype="html">\n        <source>CRUSH map viewer</source>\n        <target>Visionneuse de carte CRUSH</target>\n      </trans-unit>\n      <trans-unit id="94516fa213706c67ce5a5b5765681d7fb032033a" datatype="html">\n        <source>Loading...</source>\n        <target>Chargement...</target>\n      </trans-unit>\n      <trans-unit id="formTitle" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </target>\n        <note>form title</note>\n      </trans-unit>\n      <trans-unit id="9a541ec1a4319fffc16ad3b3ab2c2b6d251a829d" datatype="html">\n        <source>Hostname</source>\n        <target>Nom d\'hôte</target>\n      </trans-unit>\n      <trans-unit id="7cbdabcece469fab89cfa687ab152bca18b97498" datatype="html">\n        <source>This field is required.</source>\n        <target>Ce champs est requis.</target>\n      </trans-unit>\n      <trans-unit id="1b3f5e5291541678f7afa49d28fad5ca848a8061" datatype="html">\n        <source>The chosen hostname is already in use.</source>\n        <target>The chosen hostname is already in use.</target>\n      </trans-unit>\n      <trans-unit id="formActionButton" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </target>\n        <note>form action button</note>\n      </trans-unit>\n      <trans-unit id="6110699a3562eeb15371063c0cf7f6bfd88a0209" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemNames[0] }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemNames[0] }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>?\n        </target>\n      </trans-unit>\n      <trans-unit id="549859e511ba5af0ea03fcaa620c472f08038969" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected items?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected items?\n        </target>\n      </trans-unit>\n      <trans-unit id="54839ebc827b73c9dc4e1df731c6d36a85036af7" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected \n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected \n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>?\n        </target>\n      </trans-unit>\n      <trans-unit id="2be8b7f04f0104d3fad90d079d8202b74f758b9a" datatype="html">\n        <source>Yes, I am sure.</source>\n        <target>Oui.</target>\n      </trans-unit>\n      <trans-unit id="d7b35c384aecd25a516200d6921836374613dfe7" datatype="html">\n        <source>Cancel</source>\n        <target>Annuler</target>\n      </trans-unit>\n      <trans-unit id="40661476cb24c89d8b06614998e31d5fbe84eeb6" datatype="html">\n        <source>Hosts List</source>\n        <target>Liste d\'hôtes</target>\n      </trans-unit>\n      <trans-unit id="5e7f4b1ca49e8d217bd0e12c6f7d6b6a2ade2c18" datatype="html">\n        <source>Overall Performance</source>\n        <target>Performance globale</target>\n      </trans-unit>\n      <trans-unit id="6bc15dc1a621b6ff7378db7fd3ac10b2a2627c77" datatype="html">\n        <source>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the orchestrator functionality.\n        </source>\n        <target>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the orchestrator functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="3e24569eca61d598c8b01defbbbb1fa8bd5222bc" datatype="html">\n        <source>Devices</source>\n        <target>Devices</target>\n      </trans-unit>\n      <trans-unit id="e6d57f36aa2bad303c8a8ee944b9bd7fae3c8c26" datatype="html">\n        <source>No entries found</source>\n        <target>Aucune entrée trouvée</target>\n      </trans-unit>\n      <trans-unit id="d556ab48a65722b400e497f61737f553ee0f89e2" datatype="html">\n        <source>Cluster Logs</source>\n        <target>Journaux de grappes</target>\n      </trans-unit>\n      <trans-unit id="5f966baffd188be0e8adc2d7067b86e55fc9b9de" datatype="html">\n        <source>Audit Logs</source>\n        <target>Journaux d\'audit</target>\n      </trans-unit>\n      <trans-unit id="4193c9eb868aeec119b78a14795241e0aa5e8b60" datatype="html">\n        <source>Priority:</source>\n        <target>Priority:</target>\n      </trans-unit>\n      <trans-unit id="1d78ca51eab260ce3fd917d39190d64df5229b6e" datatype="html">\n        <source>Keyword:</source>\n        <target>Keyword:</target>\n      </trans-unit>\n      <trans-unit id="05fa0bded36de6e73a1fa44838b627349dace044" datatype="html">\n        <source>Date:</source>\n        <target>Date:</target>\n      </trans-unit>\n      <trans-unit id="31dadb362bf7f7c2afa10e5f96474ccd3977f91f" datatype="html">\n        <source>Datepicker</source>\n        <target>Datepicker</target>\n      </trans-unit>\n      <trans-unit id="85a400388de1899b1917138cf7e5286376f72847" datatype="html">\n        <source>Time range:</source>\n        <target>Time range:</target>\n      </trans-unit>\n      <trans-unit id="2447796ddbda942f4e2c46619cb84d69f066e568" datatype="html">\n        <source>Loading configuration...</source>\n        <target>Chargement de la configuration...</target>\n      </trans-unit>\n      <trans-unit id="b42c0b347a841bed8859ee83de05080ee28c803b" datatype="html">\n        <source>The configuration could not be loaded.</source>\n        <target>La configuration n\'a pas pu être chargée.</target>\n      </trans-unit>\n      <trans-unit id="31a9c2870a934b594d1390146c489f76440859ea" datatype="html">\n        <source>Edit Manager module</source>\n        <target>Modifier le module Manager</target>\n      </trans-unit>\n      <trans-unit id="46e09b8290d3d0afdb6baa2021395b0570606a31" datatype="html">\n        <source>The entered value is not a valid UUID, e.g.: 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8</source>\n        <target>La valeur entrée n\'est pas un UUID valide, par exemple : 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8</target>\n      </trans-unit>\n      <trans-unit id="7aacd038b39cfd347107d01d1dc27f5cb3e0951c" datatype="html">\n        <source>The entered value needs to be a valid IP address.</source>\n        <target>La valeur entrée doit être une adresse IP valide.</target>\n      </trans-unit>\n      <trans-unit id="f19106149f4b07a0d721f9d317afed393cb7bd93" datatype="html">\n        <source>The entered value is too high! It must be lower or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.max }}"/>.\n        </source>\n        <target>The entered value is too high! It must be lower or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.max }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="6d33c40ef9a6c3bf0888df831b25e41e65f9d15b" datatype="html">\n        <source>The entered value is too low! It must be greater or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.min }}"/>.\n        </source>\n        <target>The entered value is too low! It must be greater or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.min }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="eae7086660cf1e38c7194a2c49ff52cc656f90f5" datatype="html">\n        <source>The entered value needs to be a number.</source>\n        <target>La valeur entrée doit être un nombre.</target>\n      </trans-unit>\n      <trans-unit id="a73376e04b4fb3a20734c8c39743fba32e6676ce" datatype="html">\n        <source>The entered value needs to be a number or decimal.</source>\n        <target>La valeur entrée doit être un nombre ou une valeur décimale.</target>\n      </trans-unit>\n      <trans-unit id="047f50bc5b5d17b5bec0196355953e1a5c590ddb" datatype="html">\n        <source>Update</source>\n        <target>Mise à jour</target>\n      </trans-unit>\n      <trans-unit id="81b97b8ea996ad1e4f9fca8415021850214884b1" datatype="html">\n        <source>Status</source>\n        <target>Statut</target>\n      </trans-unit>\n      <trans-unit id="57ec6032f5618d4a9f16eb950ad23d2ce7c24b54" datatype="html">\n        <source>Cluster ID</source>\n        <target>ID de grappe</target>\n      </trans-unit>\n      <trans-unit id="67d7facc3fec5f8a49ab9ba0a245872184264ce5" datatype="html">\n        <source>monmap modified</source>\n        <target>monmap modifié</target>\n      </trans-unit>\n      <trans-unit id="d4906731aaf2b94b4f547646c9bfe58bb77951b6" datatype="html">\n        <source>monmap epoch</source>\n        <target>monmap epoch</target>\n      </trans-unit>\n      <trans-unit id="bd4ee06ffdc46d9dfbd0c0c4f81399021c680056" datatype="html">\n        <source>quorum con</source>\n        <target>quorum con</target>\n      </trans-unit>\n      <trans-unit id="1176c7db8a8276ccb44cc3d42e2c28d9fa6c6596" datatype="html">\n        <source>quorum mon</source>\n        <target>quorum mon</target>\n      </trans-unit>\n      <trans-unit id="530ef677a09d681b3ab68cb0760494b3ae72a77c" datatype="html">\n        <source>required con</source>\n        <target>required con</target>\n      </trans-unit>\n      <trans-unit id="a91558e0d506c32021c31843f8f168899fc65cbf" datatype="html">\n        <source>required mon</source>\n        <target>required mon</target>\n      </trans-unit>\n      <trans-unit id="b3abe9eac5bcd94a54c8da93b312e085ec512e74" datatype="html">\n        <source>In Quorum</source>\n        <target>Dans le quorum</target>\n      </trans-unit>\n      <trans-unit id="ba4b748a676e1f217ce1e736fb7ec1215e677bae" datatype="html">\n        <source>Not In Quorum</source>\n        <target>Hors quorum</target>\n      </trans-unit>\n      <trans-unit id="5ef50ba2514414f799d4c8fc36067a251904ba81" datatype="html">\n        <source>Cluster-wide OSD Flags</source>\n        <target>Drapeaux OSD à l\'échelle de la grappe</target>\n      </trans-unit>\n      <trans-unit id="71c77bb8cecdf11ec3eead24dd1ba506573fa9cd" datatype="html">\n        <source>Submit</source>\n        <target>Soumettre</target>\n      </trans-unit>\n      <trans-unit id="1cfe07dac5b4ee1c464eb24225ddeb4f1d24076a" datatype="html">\n        <source>Advanced...</source>\n        <target>Avancé...</target>\n      </trans-unit>\n      <trans-unit id="b1ef1c12ddcee305353623919ef02778569f5454" datatype="html">\n        <source>Advanced configuration options</source>\n        <target>Advanced configuration options</target>\n      </trans-unit>\n      <trans-unit id="c35f9c5f268a514b970cc55e9a5dc4bed0988e7f" datatype="html">\n        <source>OSD Recovery Priority</source>\n        <target>Priorité de récupération des OSD</target>\n      </trans-unit>\n      <trans-unit id="b74af38005e8a8914e45af2ec412e11ceafef8b6" datatype="html">\n        <source>Priority</source>\n        <target>Priorité</target>\n      </trans-unit>\n      <trans-unit id="c2f48f04b379bfba133825747adfd238d511412e" datatype="html">\n        <source>Customize priority values</source>\n        <target>Personnaliser les valeurs de priorité</target>\n      </trans-unit>\n      <trans-unit id="4aa19de2a2b54cbda39e9c62917b23044c087776" datatype="html">\n        <source>This field is required!</source>\n        <target>Ce champ est obligatoire !</target>\n      </trans-unit>\n      <trans-unit id="b699e94bf376491bd50b70a98531071c737eaf40" datatype="html">\n        <source>[object Object]</source>\n        <target>[object Object]</target>\n      </trans-unit>\n      <trans-unit id="98fe13e7ad6c2b80375d204b47858ded83f80e15" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="5423a3c111be47fc5a1bfe46ceb58c81c84db691" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="5251a4355cece3075db43f15d69a24a0f8485707" datatype="html">\n        <source>Reweight OSD: \n          <x id="INTERPOLATION" equiv-text="{{ osdId }}"/>\n        </source>\n        <target>Reweight OSD: \n          <x id="INTERPOLATION" equiv-text="{{ osdId }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="67650b2998db48201b2c6176cbfef51e7211ccaa" datatype="html">\n        <source>The value needs to be between 0 and 1.</source>\n        <target>La valeur doit être comprise entre 0 et 1.</target>\n      </trans-unit>\n      <trans-unit id="bc11f92113d678a90e334fdf3d7b3fddbe34c579" datatype="html">\n        <source>Reweight</source>\n        <target>Réévaluer</target>\n      </trans-unit>\n      <trans-unit id="d5ca5daf742023fc4f0919fb3c1c6a51991cda4f" datatype="html">\n        <source>OSDs \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>Scrub\n        </source>\n        <target>OSDs \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>Scrub\n        </target>\n      </trans-unit>\n      <trans-unit id="4c17d67c7c5799eb920030e9a399961e90f55dd8" datatype="html">\n        <source>{VAR_SELECT, select, 1 {Deep } }</source>\n        <target>{VAR_SELECT, select, 1 {Profondeur } }</target>\n      </trans-unit>\n      <trans-unit id="2613498e8e5853c26a1cc62ae8dc673d1fdf0e2a" datatype="html">\n        <source>You are about to apply a \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to\n          the OSD(s): \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ selected | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.\n        </source>\n        <target>You are about to apply a \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to\n          the OSD(s): \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ selected | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="dc6705f342a036b332c3fd3443201c3613e5524d" datatype="html">\n        <source>{VAR_SELECT, select, 1 {deep } }</source>\n        <target>{VAR_SELECT, select, 1 {profondeur } }</target>\n      </trans-unit>\n      <trans-unit id="b49d7877d24112d4bdfce9256edf61a007fae888" datatype="html">\n        <source>OSDs List</source>\n        <target>Liste des OSD</target>\n      </trans-unit>\n      <trans-unit id="c402e6ec1c6792ede81f56c28eee8955860391c8" datatype="html">\n        <source>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) \n          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </source>\n        <target>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) \n          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </target>\n      </trans-unit>\n      <trans-unit id="d2797d01ba86f5df03d875803e49e648a4027869" datatype="html">\n        <source>The \n          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to destroy!\n        </source>\n        <target>The \n          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to destroy!\n        </target>\n      </trans-unit>\n      <trans-unit id="e776996dac651ef3819bfa767ccf2a0613759f47" datatype="html">\n        <source>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</source>\n        <target>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</target>\n      </trans-unit>\n      <trans-unit id="1e2c50ed3c3934ef068976dc7f38513cec29d515" datatype="html">\n        <source>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD \n          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </source>\n        <target>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD \n          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </target>\n      </trans-unit>\n      <trans-unit id="4f8b2bb476981727ab34ed40fde1218361f92c45" datatype="html">\n        <source>Details</source>\n        <target>Détails</target>\n      </trans-unit>\n      <trans-unit id="8501055865d7031b5521a0c5467532648009a61d" datatype="html">\n        <source>Matcher</source>\n        <target>Matcher</target>\n      </trans-unit>\n      <trans-unit id="9c25e04f554875dc2625a78ba0fc56c6010cd0d3" datatype="html">\n        <source>-- Select an attribute to match against --</source>\n        <target>-- Select an attribute to match against --</target>\n      </trans-unit>\n      <trans-unit id="5049e204c14c648691ac775a64fb504467aeb549" datatype="html">\n        <source>Value</source>\n        <target>Valeur</target>\n      </trans-unit>\n      <trans-unit id="77fc5c63497fc031ddc97645484e3d94ad27766c" datatype="html">\n        <source>Use regular expression</source>\n        <target>Use regular expression</target>\n      </trans-unit>\n      <trans-unit id="7bbec1a797283712c0adf9e71d77fb5a8cd720db" datatype="html">\n        <source>{VAR_SELECT, select, 1 {Update} other {Add} }</source>\n        <target>{VAR_SELECT, select, 1 {Update} other {Add} }</target>\n      </trans-unit>\n      <trans-unit id="f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8" datatype="html">\n        <source>Close</source>\n        <target>Fermer</target>\n      </trans-unit>\n      <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c" datatype="html">\n        <source>Edit</source>\n        <target>Modifier</target>\n      </trans-unit>\n      <trans-unit id="826b25211922a1b46436589233cb6f1a163d89b7" datatype="html">\n        <source>Delete</source>\n        <target>Supprimer</target>\n      </trans-unit>\n      <trans-unit id="a3ba06aba047605af8ea1718ec1ba153b7db12a2" datatype="html">\n        <source>Editing a silence will expire the old silence and recreate it as a new silence</source>\n        <target>Editing a silence will expire the old silence and recreate it as a new silence</target>\n      </trans-unit>\n      <trans-unit id="a20424156b8816671f61879f0574a4f27d7b16b9" datatype="html">\n        <source>Creator</source>\n        <target>Creator</target>\n      </trans-unit>\n      <trans-unit id="5a5d7ee2acbfa9c91ab7f41d26bda9ff0cafe42f" datatype="html">\n        <source>Comment</source>\n        <target>Comment</target>\n      </trans-unit>\n      <trans-unit id="4c11aad490b2d53fdae30b3807beabf79306752c" datatype="html">\n        <source>Start time</source>\n        <target>Start time</target>\n      </trans-unit>\n      <trans-unit id="32856b1e8e339b747b21e313e2fe65a51fd450bb" datatype="html">\n        <source>If the start time lies in the past the creation time will be used</source>\n        <target>If the start time lies in the past the creation time will be used</target>\n      </trans-unit>\n      <trans-unit id="a02ea1d4e7424ca989929da5e598f379940fdbf2" datatype="html">\n        <source>Duration</source>\n        <target>Duration</target>\n      </trans-unit>\n      <trans-unit id="2f4e35e36f4d3c62e2c17df41730b6dee4afc4b9" datatype="html">\n        <source>End time</source>\n        <target>End time</target>\n      </trans-unit>\n      <trans-unit id="dbe739ec8c99a0132e326067ffec9c0ee06b2655" datatype="html">\n        <source>Matchers\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>*\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n        </source>\n        <target>Matchers\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>*\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="3e023166c55833d5a13f4143e3dbe372befe1b4e" datatype="html">\n        <source>A silence requires at least one matcher</source>\n        <target>A silence requires at least one matcher</target>\n      </trans-unit>\n      <trans-unit id="ef765bd80c4806c51c891908c07a24bc76f019eb" datatype="html">\n        <source>Add matcher</source>\n        <target>Add matcher</target>\n      </trans-unit>\n      <trans-unit id="d2bcd3296d2850de762fb943060b7e086a893181" datatype="html">\n        <source>Health</source>\n        <target>Santé</target>\n      </trans-unit>\n      <trans-unit id="61e0f26d843eec0b33ff475e111b0c2f7a80b835" datatype="html">\n        <source>Statistics</source>\n        <target>Statistiques</target>\n      </trans-unit>\n      <trans-unit id="f8f74e5f683012b9c0702b1446011c6b9158bc67" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the NFS Ganesha management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the NFS Ganesha management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="7ffe39df9d88c972792bd8688b215392deb8313d" datatype="html">\n        <source>Clients</source>\n        <target>Clients</target>\n      </trans-unit>\n      <trans-unit id="f2dae0bda66f6a349444951c0379c28cda47d6d1" datatype="html">\n        <source>Any client can access</source>\n        <target>Accès possible par tous les clients</target>\n      </trans-unit>\n      <trans-unit id="7882f2edb1d4139800b276b6b0bbf5ae0b2234ef" datatype="html">\n        <source>Addresses</source>\n        <target>Adresses</target>\n      </trans-unit>\n      <trans-unit id="9bd96fcf50863e685c74d0490392f46689ffbdb6" datatype="html">\n        <source>Required field</source>\n        <target>Champ obligatoire</target>\n      </trans-unit>\n      <trans-unit id="a5f3f74c0f6925826cb2188576391c0da01a23f0" datatype="html">\n        <source>Must contain one or more comma-separated values</source>\n        <target>Doit contenir une ou plusieurs valeurs séparées par une virgule</target>\n      </trans-unit>\n      <trans-unit id="8bb5b2073697f3f4378c44a49b7524934c9268f4" datatype="html">\n        <source>For example:</source>\n        <target>Par exemple :</target>\n      </trans-unit>\n      <trans-unit id="8f969c655b3fbe4fba7e277caf4cd2c459f9fca5" datatype="html">\n        <source>Access Type</source>\n        <target>Type d\'accès</target>\n      </trans-unit>\n      <trans-unit id="28952831a284cfe2b4fc39ca610e80b52598905a" datatype="html">\n        <source>Squash</source>\n        <target>Squash</target>\n      </trans-unit>\n      <trans-unit id="0660ae339068979854ade34a96546980723dede3" datatype="html">\n        <source>Add clients</source>\n        <target>Ajouter des clients</target>\n      </trans-unit>\n      <trans-unit id="135b91a2d908d5814b782695470a6a786c99d9d2" datatype="html">\n        <source>-- No cluster available --</source>\n        <target>-- Aucune grappe disponible --</target>\n      </trans-unit>\n      <trans-unit id="c501dba379f566885919240ea277b5bc10c14d18" datatype="html">\n        <source>-- Select the cluster --</source>\n        <target>-- Sélectionner la grappe --</target>\n      </trans-unit>\n      <trans-unit id="cf85b1ee58326aa9da63da41b2629c9db7c9a5b9" datatype="html">\n        <source>Add daemon</source>\n        <target>Ajouter un daemon</target>\n      </trans-unit>\n      <trans-unit id="b3f6ba7fe84d6508705cdfe234f0fcc8ff85c9cf" datatype="html">\n        <source>Storage Backend</source>\n        <target>Backend de stockage</target>\n      </trans-unit>\n      <trans-unit id="151c80ea931037cd92e854442927f8a0f6ae7795" datatype="html">\n        <source>-- No data pools available --</source>\n        <target>-- Aucune réserve de données disponible --</target>\n      </trans-unit>\n      <trans-unit id="b6fee356d1db954255a56d8169405a89595246b9" datatype="html">\n        <source>-- Select the storage backend --</source>\n        <target>-- Sélectionner le backend de stockage --</target>\n      </trans-unit>\n      <trans-unit id="76d67035c3ab3d8e56f725859f820f03fda41cfc" datatype="html">\n        <source>Object Gateway User</source>\n        <target>Utilisateur Object Gateway</target>\n      </trans-unit>\n      <trans-unit id="fade7788bace74337f306ae209f10fc187ef4671" datatype="html">\n        <source>-- No users available --</source>\n        <target>-- Aucun utilisateur disponible --</target>\n      </trans-unit>\n      <trans-unit id="6d30b7b36cf8f6364167321bdb4ba35d4cefce7b" datatype="html">\n        <source>-- Select the object gateway user --</source>\n        <target>-- Sélectionner l\'utilisateur Object Gateway --</target>\n      </trans-unit>\n      <trans-unit id="589ce20d3ba3e3ac44f75decfaadc4ea8f0aec2d" datatype="html">\n        <source>CephFS User ID</source>\n        <target>ID utilisateur CephFS</target>\n      </trans-unit>\n      <trans-unit id="c4b88a53ac3b0ece46ba9b3ad72355a3c190cce7" datatype="html">\n        <source>-- No clients available --</source>\n        <target>-- Aucun client disponible --</target>\n      </trans-unit>\n      <trans-unit id="da52835b80497a0002d24414b057dc46ae44ce38" datatype="html">\n        <source>-- Select the cephx client --</source>\n        <target>-- Sélectionner le client cephx --</target>\n      </trans-unit>\n      <trans-unit id="fd3419e8957d928d7f7ba19c93356a0dbff02871" datatype="html">\n        <source>CephFS Name</source>\n        <target>Nom CephFS</target>\n      </trans-unit>\n      <trans-unit id="ee3ba0ab5f0ccd597b3e44021c71e9aaad14df0a" datatype="html">\n        <source>-- No CephFS filesystem available --</source>\n        <target>-- No CephFS filesystem available --</target>\n      </trans-unit>\n      <trans-unit id="764c57812558b1ae66c5eec95d7efd2b1bf761e3" datatype="html">\n        <source>-- Select the CephFS filesystem --</source>\n        <target>-- Select the CephFS filesystem --</target>\n      </trans-unit>\n      <trans-unit id="957512d0321f73e9f115bce1bd823fa635170c41" datatype="html">\n        <source>Security Label</source>\n        <target>Libellé de sécurité</target>\n      </trans-unit>\n      <trans-unit id="65ce0fa4da1ed55e658aeb31d1644a29f06bb342" datatype="html">\n        <source>Enable security label</source>\n        <target>Activer le libellé de sécurité</target>\n      </trans-unit>\n      <trans-unit id="7e808f804130c7b6ff719509cbc06ebb27393a48" datatype="html">\n        <source>CephFS Path</source>\n        <target>Chemin CephFS</target>\n      </trans-unit>\n      <trans-unit id="5ecc0107badb6625466aaa3f975b5c05276f432f" datatype="html">\n        <source>Path need to start with a \'/\' and can be followed by a word</source>\n        <target>Le chemin doit commencer par \'/\' et peut être suivi d\'un mot</target>\n      </trans-unit>\n      <trans-unit id="2d02916f44fc63e13ab16d1cbe72aa6cb51feab3" datatype="html">\n        <source>New directory will be created</source>\n        <target>Un nouveau répertoire sera créé</target>\n      </trans-unit>\n      <trans-unit id="766c66ad5cc981c531aaf3fe3a2a7a346ddc8d83" datatype="html">\n        <source>Path</source>\n        <target>Chemin</target>\n      </trans-unit>\n      <trans-unit id="7ec35c722a50b976620f22612f7be619c12ceb90" datatype="html">\n        <source>Path can only be a single \'/\' or a word</source>\n        <target>Le chemin peut être constitué d\'un seul \'/\' ou d\'un seul mot</target>\n      </trans-unit>\n      <trans-unit id="aebb6a5090c24511de4530195694bb3f3dcf0342" datatype="html">\n        <source>New bucket will be created</source>\n        <target>Un compartiment sera créé</target>\n      </trans-unit>\n      <trans-unit id="bee6900143996c0e908a10564532eba3da0b30fb" datatype="html">\n        <source>NFS Protocol</source>\n        <target>Protocole NFS</target>\n      </trans-unit>\n      <trans-unit id="2f534178c01ebf1307da2eaeef04bc6801ebc729" datatype="html">\n        <source>NFSv3</source>\n        <target>NFSv3</target>\n      </trans-unit>\n      <trans-unit id="f5043c0921e709935ab026bb3253ffe1f159fca1" datatype="html">\n        <source>NFSv4</source>\n        <target>NFSv4</target>\n      </trans-unit>\n      <trans-unit id="92488963d23095985a47c0d6e62304e11d333f19" datatype="html">\n        <source>NFS Tag</source>\n        <target>Balise NFS</target>\n      </trans-unit>\n      <trans-unit id="aae93362720aea94623682996dd3fcd0f906f056" datatype="html">\n        <source>Alternative access for \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v3\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> mounts (it must not have a leading /).\n        </source>\n        <target>Alternative access for \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v3\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> mounts (it must not have a leading /).\n        </target>\n      </trans-unit>\n      <trans-unit id="45d6db77dcf1a3eeb921033abc7882e517a541cc" datatype="html">\n        <source>Clients may not mount subdirectories (i.e. if Tag = foo, the client may not mount foo/baz).</source>\n        <target>Les clients ne peuvent pas monter de sous-répertoires (si la balise = foo, le client ne peut pas monter foo/baz).</target>\n      </trans-unit>\n      <trans-unit id="a1c7a8676b55e882a97c6a6fb205204f9c761afa" datatype="html">\n        <source>By using different Tag options, the same Path may be exported multiple times.</source>\n        <target>En utilisant différentes options de balise, il est possible d\'exporter plusieurs fois le même chemin.</target>\n      </trans-unit>\n      <trans-unit id="6d2c39708a32910f89701dd7e1cfb9ec1c195768" datatype="html">\n        <source>Pseudo</source>\n        <target>Pseudo</target>\n      </trans-unit>\n      <trans-unit id="1f8be2ae25947bec0b84c2338201580ea053f34e" datatype="html">\n        <source>The position that this \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v4\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> export occupies\n                in the \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>Pseudo FS\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> (it must be unique).\n        </source>\n        <target>The position that this \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v4\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> export occupies\n                in the \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>Pseudo FS\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> (it must be unique).\n        </target>\n      </trans-unit>\n      <trans-unit id="f3af55f7fd5b1d9e5a53e030c80116dc635bfb9f" datatype="html">\n        <source>By using different Pseudo options, the same Path may be exported multiple times.</source>\n        <target>En utilisant différentes options de pseudo, il est possible d\'exporter exporter plusieurs fois le même chemin.</target>\n      </trans-unit>\n      <trans-unit id="ddf98fcdeeb17643db020d54f42b5e56b5f9a52a" datatype="html">\n        <source>Pseudo needs to start with a \'/\' and can\'t contain any of the following: &gt;, &lt;, |, &amp;, ( or ).</source>\n        <target>Pseudo needs to start with a \'/\' and can\'t contain any of the following: &gt;, &lt;, |, &amp;, ( or ).</target>\n      </trans-unit>\n      <trans-unit id="27eb35c4b4ac08781a7253a2ab40f8f7d957ba51" datatype="html">\n        <source>-- No access type available --</source>\n        <target>-- Aucun type d\'accès disponible --</target>\n      </trans-unit>\n      <trans-unit id="509ce016c9110a54028dafd741f15ceacbe74b5a" datatype="html">\n        <source>-- Select the access type --</source>\n        <target>-- Sélectionner le type d\'accès --</target>\n      </trans-unit>\n      <trans-unit id="49850390a653cd05dc5843d74ef073a9122b54c9" datatype="html">\n        <source>The Object Gateway NFS backend has a number of\n              limitations which will seriously affect applications writing to\n              the share. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for details before enabling write access.\n        </source>\n        <target>The Object Gateway NFS backend has a number of\n              limitations which will seriously affect applications writing to\n              the share. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for details before enabling write access.\n        </target>\n      </trans-unit>\n      <trans-unit id="4deda03573eaaff77e63f6a238a1f0ca7816950a" datatype="html">\n        <source>-- No squash available --</source>\n        <target>-- Aucun squash disponible --</target>\n      </trans-unit>\n      <trans-unit id="a0e82a4da88e7fdf270444f838d45849676e9d4b" datatype="html">\n        <source>--Select what kind of user id squashing is performed --</source>\n        <target>-- Sélectionnez le type de squash d\'ID utilisateur qui est effectué --</target>\n      </trans-unit>\n      <trans-unit id="d01b7c3f7f06712c53d054cfbe4f53d446b038e8" datatype="html">\n        <source>Transport Protocol</source>\n        <target>Protocole de transport</target>\n      </trans-unit>\n      <trans-unit id="d2a6ad6e8bc315f07911722c05767ac79c136d99" datatype="html">\n        <source>UDP</source>\n        <target>UDP</target>\n      </trans-unit>\n      <trans-unit id="9c030f11e0aae9b24d2c048c57f29f590be621df" datatype="html">\n        <source>TCP</source>\n        <target>TCP</target>\n      </trans-unit>\n      <trans-unit id="734c9905951a774870497c5aaae8e3ee833b6196" datatype="html">\n        <source>CephFS</source>\n        <target>CephFS</target>\n      </trans-unit>\n      <trans-unit id="449dca3d3a93ead418b0541ea81b0dda7e6483c2" datatype="html">\n        <source>Welcome to Ceph!</source>\n        <target>Bienvenue dans Ceph !</target>\n        <note>The welcome message on the login page</note>\n      </trans-unit>\n      <trans-unit id="0070e83d11da39d6f4bb95065c2675db1610b419" datatype="html">\n        <source>Username is required</source>\n        <target>Nom d\'utilisateur requis</target>\n      </trans-unit>\n      <trans-unit id="1e20f8b8a4706526c9024cc2f39d568345d100dc" datatype="html">\n        <source>Password is required</source>\n        <target>Mot de passe requis</target>\n      </trans-unit>\n      <trans-unit id="6765b4c916060f6bc42d9bb69e80377dbcb5e4e9" datatype="html">\n        <source>Login</source>\n        <target>Connexion</target>\n      </trans-unit>\n      <trans-unit id="58fc1b5c79a75370eb52644fd83fb2e7096b6649" datatype="html">\n        <source>Sorry, the user does not exist in Ceph.</source>\n        <target>Désolé, l\'utilisateur n\'existe pas dans Ceph.</target>\n      </trans-unit>\n      <trans-unit id="d9deb94f78e7c41b35c6622b874f06657d7604c1" datatype="html">\n        <source>Return to \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Login Page\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You\'ll be logged out from the Identity Provider when you retry logging in.\n        </source>\n        <target>Return to \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Login Page\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You\'ll be logged out from the Identity Provider when you retry logging in.\n        </target>\n      </trans-unit>\n      <trans-unit id="0eb15f32b2b92d7f3103ef3ff032621888a8dc32" datatype="html">\n        <source>Old password</source>\n        <target>Old password</target>\n      </trans-unit>\n      <trans-unit id="1cf42e491adc166a337a960eb84d03c0c3f677c8" datatype="html">\n        <source>The old and new passwords must be different.</source>\n        <target>The old and new passwords must be different.</target>\n      </trans-unit>\n      <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229" datatype="html">\n        <source>New password</source>\n        <target>New password</target>\n      </trans-unit>\n      <trans-unit id="595ebc9279497f6dc733777e2816bee936901388" datatype="html">\n        <source>Too weak</source>\n        <target>Too weak</target>\n      </trans-unit>\n      <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b" datatype="html">\n        <source>Confirm new password</source>\n        <target>Confirm new password</target>\n      </trans-unit>\n      <trans-unit id="90163a3d3746819aef42e829f4446331232f3b66" datatype="html">\n        <source>Password confirmation doesn\'t match the new password.</source>\n        <target>Password confirmation doesn\'t match the new password.</target>\n      </trans-unit>\n      <trans-unit id="471e78026c258073ba687478dc54c35d9041ea42" datatype="html">\n        <source>Forbidden</source>\n        <target>Interdit</target>\n      </trans-unit>\n      <trans-unit id="02ea8ad57677e3c63f3d7814ca5e6c7b74e360b4" datatype="html">\n        <source>Sorry, you are not allowed to see what you were looking for.</source>\n        <target>Désolé, vous n\'êtes pas autorisé à voir ce que vous cherchez.</target>\n      </trans-unit>\n      <trans-unit id="e3c028c58f92453d46f09b5adf95b2f013ee0300" datatype="html">\n        <source>Sorry, we could not find what you were looking for</source>\n        <target>Désolés, nous ne parvenons pas à trouver ce que vous cherchez.</target>\n      </trans-unit>\n      <trans-unit id="a949d7e577902d0e5dc5d0971bb0170a21be7728" datatype="html">\n        <source>[object Object]</source>\n        <target>[object Object]</target>\n      </trans-unit>\n      <trans-unit id="ff92fbdec9fdd5054493eeda0d7ee8b450f83e72" datatype="html">\n        <source>RBD Configuration</source>\n        <target>Configuration RBD</target>\n      </trans-unit>\n      <trans-unit id="b62d9efc8eb3b589904f6cb96a0406bbda55673a" datatype="html">\n        <source>Remove the local configuration value. The parent configuration value will be inherited and used instead.</source>\n        <target>Supprimez la valeur de configuration locale. La valeur de configuration parent sera héritée et utilisée à la place.</target>\n      </trans-unit>\n      <trans-unit id="963488a1010d46067b238c4ae917fab3907c0a3a" datatype="html">\n        <source>The mininum value is 0</source>\n        <target>La valeur minimale est 0.</target>\n      </trans-unit>\n      <trans-unit id="1d8a7c8aea58294a3c57c23af0468ddf0ba0c9c7" datatype="html">\n        <source>Pools List</source>\n        <target>Liste des réserves</target>\n      </trans-unit>\n      <trans-unit id="490e15ecc922965b6d8194754c87c5583aa071f3" datatype="html">\n        <source>The name can only consist of alphanumeric characters, dashes and underscores.</source>\n        <target>Le nom doit être exclusivement composé de caractères alphanumériques, de tirets et de traits de soulignement.</target>\n      </trans-unit>\n      <trans-unit id="9edc2b494e660618af3e5225f68d40b7ca67629c" datatype="html">\n        <source>The chosen erasure code profile name is already in use.</source>\n        <target>Le nom de profil du code d\'effacement sélectionné est déjà utilisé.</target>\n      </trans-unit>\n      <trans-unit id="ef9ff0e6227947b48dfab4ac39ade04af758913b" datatype="html">\n        <source>Plugin</source>\n        <target>Plug-in</target>\n      </trans-unit>\n      <trans-unit id="dd69b31bce8f630eac1d4762b0bbcf72ce19d193" datatype="html">\n        <source>Data chunks (k)</source>\n        <target>Blocs de données (k)</target>\n      </trans-unit>\n      <trans-unit id="b0d26a6172d32cb81218fe2103c54a818cbc1189" datatype="html">\n        <source>Must be equal to or greater than 2.</source>\n        <target>Doit être égal ou supérieur à 2.</target>\n      </trans-unit>\n      <trans-unit id="dab3a299ead121169b8e08ed618c3b6a2f66691b" datatype="html">\n        <source>Coding chunks (m)</source>\n        <target>Blocs de codage (m)</target>\n      </trans-unit>\n      <trans-unit id="1e2773e5bd4948193f18f2361d663ecc3988c656" datatype="html">\n        <source>Must be equal to or greater than 1.</source>\n        <target>Doit être égal ou supérieur à 1.</target>\n      </trans-unit>\n      <trans-unit id="6cde4c945a49a260c0a47bcc7cd956846930a5f7" datatype="html">\n        <source>Durability estimator (c)</source>\n        <target>Estimateur de durabilité (c)</target>\n      </trans-unit>\n      <trans-unit id="af668c2a095a979ea2b4e43cd82c2120ab56c21c" datatype="html">\n        <source>Locality (l)</source>\n        <target>Localité (l)</target>\n      </trans-unit>\n      <trans-unit id="d455a110bf6d2235e314e295ce1dfeee93d3dff2" datatype="html">\n        <source>Crush failure domain</source>\n        <target>Domaine de défaillance Crush</target>\n      </trans-unit>\n      <trans-unit id="b74a495f041f7dd102eee5c0bbc9e03083b538ae" datatype="html">\n        <source>Crush Locality</source>\n        <target>Localité Crush</target>\n      </trans-unit>\n      <trans-unit id="a2f14a73f7a6e94479f67423cc51102da8d6f524" datatype="html">\n        <source>None</source>\n        <target>Aucun</target>\n      </trans-unit>\n      <trans-unit id="2981733b912b693a9dd9d915d6d34f4692cc874a" datatype="html">\n        <source>Technique</source>\n        <target>Technique</target>\n      </trans-unit>\n      <trans-unit id="e0098b6e47b04ec817361f384ce81d454ba5c0bb" datatype="html">\n        <source>Packetsize</source>\n        <target>Taille de paquet</target>\n      </trans-unit>\n      <trans-unit id="c0252cd81ca54d0a2f69ec9ccf4248e73df5aa4a" datatype="html">\n        <source>Crush root</source>\n        <target>Racine Crush</target>\n      </trans-unit>\n      <trans-unit id="1548d5c76f0406ddd1ba3c557e1e6db22e95b340" datatype="html">\n        <source>Crush device class</source>\n        <target>Classe de périphérique Crush</target>\n      </trans-unit>\n      <trans-unit id="5e85feb6f9f0334366e46ee09ca6b8df52397432" datatype="html">\n        <source>any</source>\n        <target>tout</target>\n      </trans-unit>\n      <trans-unit id="03d84645f6e019c5a43909bbf2ea1696ee88332c" datatype="html">\n        <source>Directory</source>\n        <target>Répertoire</target>\n      </trans-unit>\n      <trans-unit id="2fecea01ce1d44114ee45144eff6d47a5016a74f" datatype="html">\n        <source>Name...</source>\n        <target>Nom...</target>\n      </trans-unit>\n      <trans-unit id="16e113230b6b0d3165e076300880542bac7c8138" datatype="html">\n        <source>The chosen Ceph pool name is already in use.</source>\n        <target>Le nom de réserve Ceph sélectionné est déjà utilisé.</target>\n      </trans-unit>\n      <trans-unit id="c75b132bef7b29fa5171768303c4b96e34ccaf68" datatype="html">\n        <source>It\'s not possible to create an RBD pool with \'/\' in the name.\n              Please change the name or remove \'rbd\' from the applications list.</source>\n        <target>It\'s not possible to create an RBD pool with \'/\' in the name.\n              Please change the name or remove \'rbd\' from the applications list.</target>\n      </trans-unit>\n      <trans-unit id="b85c657469e5ec8231c3de99b22f437bc01ffde5" datatype="html">\n        <source>Pool type</source>\n        <target>Type de réserve</target>\n      </trans-unit>\n      <trans-unit id="526c5443254c3b126eedb264840ffe827727bfd3" datatype="html">\n        <source>-- Select a pool type --</source>\n        <target>-- Sélectionner un type de réserve --</target>\n      </trans-unit>\n      <trans-unit id="0aa21053410a94aa61d16985a4e95fd65523430d" datatype="html">\n        <source>Placement groups</source>\n        <target>Groupes de placements</target>\n      </trans-unit>\n      <trans-unit id="6301f1391d726f8f450bb358058534db19541ca9" datatype="html">\n        <source>At least one placement group is needed!</source>\n        <target>Au moins un groupe de placements est nécessaire.</target>\n      </trans-unit>\n      <trans-unit id="ba9469a1ce6ed36e039c1f67247c8c81a5c71449" datatype="html">\n        <source>Your cluster can\'t handle this many PGs. Please recalculate the PG amount needed.</source>\n        <target>Votre grappe ne peut pas gérer autant de groupes de placements. Veuillez recalculer le nombre de groupes de placements nécessaires.</target>\n      </trans-unit>\n      <trans-unit id="80ac68cd883369dac20688bc32b4cb33291b5e50" datatype="html">\n        <source>Calculation help</source>\n        <target>Aide au calcul</target>\n      </trans-unit>\n      <trans-unit id="fccbd60493df26705d957ed6c02a3c447894678f" datatype="html">\n        <source>The current PGs settings were calculated for you, you\n                should make sure the values suit your needs before submit.</source>\n        <target>The current PGs settings were calculated for you, you\n                should make sure the values suit your needs before submit.</target>\n      </trans-unit>\n      <trans-unit id="33150f22ce5348aa6c499bd092c3f4f3695d62cc" datatype="html">\n        <source>Crush ruleset</source>\n        <target>Jeu de règles Crush</target>\n      </trans-unit>\n      <trans-unit id="73a6b31116b3cc322af951daa0bafdc169e6c42e" datatype="html">\n        <source>-- Select a crush rule --</source>\n        <target>-- Sélectionner une règle crush --</target>\n      </trans-unit>\n      <trans-unit id="92da80699921e89fb19372e25b8d0f3b9fa427fc" datatype="html">\n        <source>Crush rule</source>\n        <target>Règle Crush</target>\n      </trans-unit>\n      <trans-unit id="5489e9f96835f469f6f728a00d8efa88ea5bc940" datatype="html">\n        <source>Crush steps</source>\n        <target>Étapes Crush</target>\n      </trans-unit>\n      <trans-unit id="54a53b1b402aafff5b992ee9b64e409fbfe9074f" datatype="html">\n        <source>The rule can\'t be used in the current cluster as it has\n                to few OSDs to meet the minimum required OSD by this rule.</source>\n        <target>La règle ne peut pas être utilisée dans la grappe active, car celle-ci\n comporte un nombre d\'OSD inférieur au nombre d\'OSD minimum requis par cette règle.</target>\n      </trans-unit>\n      <trans-unit id="a43b2695131b48b76cebba676aba98a2bee17515" datatype="html">\n        <source>Replicated size</source>\n        <target>Taille de réplication</target>\n      </trans-unit>\n      <trans-unit id="7bff144a4c4dc63b0e18fff2617d61a7ebdf2b6c" datatype="html">\n        <source>Minimum: \n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/>\n        </source>\n        <target>Minimum: \n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="1a9c54b41f6d58a74e5d0aa3429ed0c87a482551" datatype="html">\n        <source>Maximum: \n          <x id="INTERPOLATION" equiv-text="{{ getMaxSize() }}"/>\n        </source>\n        <target>Maximum: \n          <x id="INTERPOLATION" equiv-text="{{ getMaxSize() }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6ab647b95bd2347ae6f4605576de5e0269fb893a" datatype="html">\n        <source>The size specified is out of range. A value from\n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/> to \n          <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.\n        </source>\n        <target>The size specified is out of range. A value from\n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/> to \n          <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.\n        </target>\n      </trans-unit>\n      <trans-unit id="9de7dde00e2139cc4bd03b1837afbe72ad15a1ff" datatype="html">\n        <source>Erasure code profile</source>\n        <target>Profil de code d\'effacement</target>\n      </trans-unit>\n      <trans-unit id="39b4620e6bd444e0a57a0a5c03fa8c96d7fe5235" datatype="html">\n        <source>-- No erasure code profile available --</source>\n        <target>-- Aucun profil de code d\'effacement n\'est disponible --</target>\n      </trans-unit>\n      <trans-unit id="498561757390d5528b263ce450d5f38efb00266d" datatype="html">\n        <source>-- Select an erasure code profile --</source>\n        <target>-- Sélectionner un profil de code d\'effacement --</target>\n      </trans-unit>\n      <trans-unit id="920617c6a1a4805e53bcb5af6a9c76f8387e89c6" datatype="html">\n        <source>Flags</source>\n        <target>Drapeaux</target>\n      </trans-unit>\n      <trans-unit id="1c870fb00256b8a5b9cb9cd1a124e6390b9bc639" datatype="html">\n        <source>EC Overwrites</source>\n        <target>Écrasements EC</target>\n      </trans-unit>\n      <trans-unit id="f1abafaeb40ce52355ddcc24686e3cd17b64e08a" datatype="html">\n        <source>Applications</source>\n        <target>Applications</target>\n      </trans-unit>\n      <trans-unit id="2208d63d5940ce656006a220102b1eb2b5e553da" datatype="html">\n        <source>Compression</source>\n        <target>Compression</target>\n      </trans-unit>\n      <trans-unit id="37e10df2d9c0c25ef04ac112c9c9a7723e8efae0" datatype="html">\n        <source>Mode</source>\n        <target>Mode</target>\n      </trans-unit>\n      <trans-unit id="6c6f25c47da62ec597c6057a36ddfc3209811ec5" datatype="html">\n        <source>Algorithm</source>\n        <target>Algorithme</target>\n      </trans-unit>\n      <trans-unit id="4903231d42089325a28892c0fde1aed46b733ae6" datatype="html">\n        <source>-- No erasure compression algorithm available --</source>\n        <target>-- Aucun algorithme de compression d\'effacement n\'est disponible --</target>\n      </trans-unit>\n      <trans-unit id="5d68ddb254275f8f44221e9ad6d8ceeb59ca46a6" datatype="html">\n        <source>Minimum blob size</source>\n        <target>Taille de blob minimale</target>\n      </trans-unit>\n      <trans-unit id="fb2f176df80647137cbb02bbeb29e5dec707a400" datatype="html">\n        <source>e.g., 128KiB</source>\n        <target>par ex. 128 Kio</target>\n      </trans-unit>\n      <trans-unit id="1b7f6e53a4521c6eb3ced4c007fdd4cf80bb7707" datatype="html">\n        <source>Value should be greater than 0</source>\n        <target>La valeur doit être supérieure à 0</target>\n      </trans-unit>\n      <trans-unit id="8db98ab14b4e207ec763dfdefbc2dae367aab1cc" datatype="html">\n        <source>Value should be less than the maximum blob size</source>\n        <target>Value should be less than the maximum blob size</target>\n      </trans-unit>\n      <trans-unit id="151efb127a9a4dd25259a0b2055442318a141f5b" datatype="html">\n        <source>Maximum blob size</source>\n        <target>Taille de blob maximale</target>\n      </trans-unit>\n      <trans-unit id="0c656f0e346bbadf46eb1a5d20d0307a3bd20ba8" datatype="html">\n        <source>e.g., 512KiB</source>\n        <target>par ex., 512 Kio</target>\n      </trans-unit>\n      <trans-unit id="0a65a24eee8a026f3b1113fe9e157e9a0dd69486" datatype="html">\n        <source>Value should be greater than the minimum blob size</source>\n        <target>La valeur doit être supérieure à la taille de blob minimale.</target>\n      </trans-unit>\n      <trans-unit id="261ba09c4a59de83f48f52a23fd328da37e61ff4" datatype="html">\n        <source>Ratio</source>\n        <target>Rapport</target>\n      </trans-unit>\n      <trans-unit id="c1430457a9c3c66366e51d76bf10396014c576be" datatype="html">\n        <source>Compression ratio</source>\n        <target>Rapport de compression</target>\n      </trans-unit>\n      <trans-unit id="ae5ce6de352cde949998fb10754459c3a4eb183b" datatype="html">\n        <source>Value should be between 0.0 and 1.0</source>\n        <target>La valeur doit se situer entre 0.0 et 1.0</target>\n      </trans-unit>\n      <trans-unit id="8bb8293aa8161433778762ae025ffd5e7c85795e" datatype="html">\n        <source>Quotas</source>\n        <target>Quotas</target>\n      </trans-unit>\n      <trans-unit id="d99b34162c9c34f10d0ccd8dbae83d8569c2db77" datatype="html">\n        <source>Max bytes</source>\n        <target>Max bytes</target>\n      </trans-unit>\n      <trans-unit id="a1d14a18879c62f3f4ed705318b7164a1160e249" datatype="html">\n        <source>Leave it blank or specify 0 to disable this quota.</source>\n        <target>Leave it blank or specify 0 to disable this quota.</target>\n      </trans-unit>\n      <trans-unit id="7565b131562ff6c5f769fdbd239a772154abdd97" datatype="html">\n        <source>A valid quota should be greater than 0.</source>\n        <target>A valid quota should be greater than 0.</target>\n      </trans-unit>\n      <trans-unit id="f0016bd458baa88284a658ce9eeda42d8ad88d2c" datatype="html">\n        <source>e.g., 10GiB</source>\n        <target>par exemple, 10 Gio</target>\n      </trans-unit>\n      <trans-unit id="b8bf35b66f09a301eef92ffc3cb2fd259df67ce9" datatype="html">\n        <source>Max objects</source>\n        <target>Max objects</target>\n      </trans-unit>\n      <trans-unit id="95f348167622d832c5ae532b6944635c8e2ae5cb" datatype="html">\n        <source>The value should be greater or equal to 0</source>\n        <target>The value should be greater or equal to 0</target>\n      </trans-unit>\n      <trans-unit id="fbbaf5cb02ed419e79a27072478f716a4666a99d" datatype="html">\n        <source>Performance Details</source>\n        <target>Détails des performances</target>\n      </trans-unit>\n      <trans-unit id="3938a411d76796f8ae73b72ea4c77661207453bd" datatype="html">\n        <source>Cache Tiers Details</source>\n        <target>Détails des niveaux de mise en cache</target>\n      </trans-unit>\n      <trans-unit id="f0b5d789d42c0e69348e5fe0037fcbf5b5fbbdcc" datatype="html">\n        <source>Move an image to trash</source>\n        <target>Déplacer une image vers la corbeille.</target>\n      </trans-unit>\n      <trans-unit id="86301cf2044b1eda218483365f6b9de8dde5040b" datatype="html">\n        <source>To move \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{ imageName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,\n          click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optionally, you can pick an expiration date.\n        </source>\n        <target>To move \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{ imageName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,\n          click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optionally, you can pick an expiration date.\n        </target>\n      </trans-unit>\n      <trans-unit id="88f27d390844aad53b4240360e928156c5f0d326" datatype="html">\n        <source>Protection expires at</source>\n        <target>La protection expire le </target>\n      </trans-unit>\n      <trans-unit id="da166e9a0d27322f6ba8916d71ecc0f9905bb4b1" datatype="html">\n        <source>NOT PROTECTED</source>\n        <target>NON PROTÉGÉ</target>\n      </trans-unit>\n      <trans-unit id="a1506e5f2ca22cad14502ec7a20fb6113ace145d" datatype="html">\n        <source>Wrong date format. Please use "YYYY-MM-DD HH:mm:ss".</source>\n        <target>Format de date incorrect. Veuillez utiliser "AAAA-MM-JJ HH:mm:ss"</target>\n      </trans-unit>\n      <trans-unit id="aa7ea0bb7495281e0b3258467ac7d90a1e44a1a1" datatype="html">\n        <source>Protection has already expired. Please pick a future date or leave it empty.</source>\n        <target>La protection a déjà expiré. Veuillez sélectionner une date ultérieure ou laisser le champ vide.</target>\n      </trans-unit>\n      <trans-unit id="536b3205c0c0d4d21685ec06feccfcf2fe14deb1" datatype="html">\n        <source>Move Image</source>\n        <target>Déplacer une image</target>\n      </trans-unit>\n      <trans-unit id="8a9910cd114c1deb9af74f6f99b4173403965bf2" datatype="html">\n        <source>Gateways</source>\n        <target>Gateways</target>\n      </trans-unit>\n      <trans-unit id="8835b9e49a3348b0a2f2162c21118af1f4bee45a" datatype="html">\n        <source>Must be greater than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'min\'] }}"/>.\n        </source>\n        <target>Must be greater than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'min\'] }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="bbddac59563c8c126e3fe28691e4e247614fcbd1" datatype="html">\n        <source>Must be less than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'max\'] }}"/>.\n        </source>\n        <target>Must be less than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'max\'] }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="e95ae009d0bdb45fcc656e8b65248cf7396080d5" datatype="html">\n        <source>Overview</source>\n        <target>Présentation</target>\n      </trans-unit>\n      <trans-unit id="bbd2045d5c37e4bb39a3c0fb62ea1ddf70a12838" datatype="html">\n        <source>Targets</source>\n        <target>Cibles</target>\n      </trans-unit>\n      <trans-unit id="6803e31b7395d94934e091a49a9524026b59b018" datatype="html">\n        <source>Discovery Authentication</source>\n        <target>Authentification de la découverte</target>\n      </trans-unit>\n      <trans-unit id="e08a77594f3d89311cdf6da5090044270909c194" datatype="html">\n        <source>User</source>\n        <target>Utilisateur</target>\n      </trans-unit>\n      <trans-unit id="0214f773f8e394f50f953f39962e352d7863e959" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n              can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Les noms d\'utilisateur doivent comporter entre 8 et 64 caractères et\n                        ne peuvent contenir que des lettres et les caractères \'.\', \'@\', \'-\', \'_\' ou \':\'.</target>\n      </trans-unit>\n      <trans-unit id="c32ef07f8803a223a83ed17024b38e8d82292407" datatype="html">\n        <source>Password</source>\n        <target>Mot de passe</target>\n      </trans-unit>\n      <trans-unit id="6682d1c00263bee204583a5d589b308b6be88b0f" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n              and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n              and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="ff40391de7a1944ea95091e4045cc34c4979b736" datatype="html">\n        <source>Mutual User</source>\n        <target>Utilisateur commun</target>\n      </trans-unit>\n      <trans-unit id="0cf73dbebe99b737c4d288788182fc356e3c93d3" datatype="html">\n        <source>Mutual Password</source>\n        <target>Mot de passe commun</target>\n      </trans-unit>\n      <trans-unit id="8800276925157c666b103c36ff7fe8ffe11980b4" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters and\n              can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters and\n              can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="53a583cd5f15059cc958b7d547f72cc78f68e123" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n    on how to configure and enable the iSCSI Targets management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n    on how to configure and enable the iSCSI Targets management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="3b301d0044f62c92af0da53d7aaca52a436a547d" datatype="html">\n        <source>Available information:</source>\n        <target>Informations disponibles :</target>\n      </trans-unit>\n      <trans-unit id="332227f088a4877b3c11f5fb3ae8bc812c470fae" datatype="html">\n        <source>iSCSI Targets not available</source>\n        <target>Cibles iSCSI non disponibles</target>\n      </trans-unit>\n      <trans-unit id="8414a5cb9d71cc1b21b10e4a9d1f2dad558f3361" datatype="html">\n        <source>Discovery authentication</source>\n        <target>Discovery authentication</target>\n      </trans-unit>\n      <trans-unit id="0f6e8f6094b180eaf1f11bc0ffe383f1cdcd059e" datatype="html">\n        <source>Only available for RBD images with \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>fast-diff\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> enabled\n        </source>\n        <target>Only available for RBD images with \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>fast-diff\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> enabled\n        </target>\n      </trans-unit>\n      <trans-unit id="e70fcca5a99575cffef3ff8cbd5e69f06ffd0f1c" datatype="html">\n        <source>Pool</source>\n        <target>Réserve</target>\n      </trans-unit>\n      <trans-unit id="03cc5b14b0a20d075e9009ff021f4f1660ba348a" datatype="html">\n        <source>Data Pool</source>\n        <target>Réserve de données</target>\n      </trans-unit>\n      <trans-unit id="1b051734b0ee9021991c91b3ed4e81c244322462" datatype="html">\n        <source>Created</source>\n        <target>Créé</target>\n      </trans-unit>\n      <trans-unit id="7faaaa08f56427999f3be41df1093ce4089bbd75" datatype="html">\n        <source>Size</source>\n        <target>Taille</target>\n      </trans-unit>\n      <trans-unit id="afdb601c16162f2c798b16a2920955f1cc6a20aa" datatype="html">\n        <source>Objects</source>\n        <target>Objets</target>\n      </trans-unit>\n      <trans-unit id="ceac8e132384322ec778ba760875a6c6897d3e42" datatype="html">\n        <source>Object size</source>\n        <target>Taille de l\'objet</target>\n      </trans-unit>\n      <trans-unit id="6cdb1fea93d77c07950c0c76c6e0ad79ebbef084" datatype="html">\n        <source>Features</source>\n        <target>Fonctionnalités</target>\n      </trans-unit>\n      <trans-unit id="0a65771c9a73b9aa609d592fc96a64801a8f40bd" datatype="html">\n        <source>Provisioned</source>\n        <target>Provisionné</target>\n      </trans-unit>\n      <trans-unit id="84a36cb75660b736773fe36ffa3d54f0f0fe363e" datatype="html">\n        <source>N/A</source>\n        <target>N/A</target>\n      </trans-unit>\n      <trans-unit id="e5c009342a4e8381f64341d0bb61c2e4685f5a4b" datatype="html">\n        <source>Total provisioned</source>\n        <target>Provisionnement total</target>\n      </trans-unit>\n      <trans-unit id="7f6bf8a43ae415f527ac961ea62471b983aaa97b" datatype="html">\n        <source>Striping unit</source>\n        <target>Unité de segmentation</target>\n      </trans-unit>\n      <trans-unit id="db710e8a8f011923f2d15d713fbae49c38b02b26" datatype="html">\n        <source>Striping count</source>\n        <target>Nombre de segmentations</target>\n      </trans-unit>\n      <trans-unit id="3a4c2a9e76634ff14a60d52a718296f722d47c67" datatype="html">\n        <source>Parent</source>\n        <target>Parent</target>\n      </trans-unit>\n      <trans-unit id="6a209e68d78ffc2cc9c53d2e76158624efab71ad" datatype="html">\n        <source>Block name prefix</source>\n        <target>Préfixe du nom de bloc</target>\n      </trans-unit>\n      <trans-unit id="5704ec2049d007c5f5fb495a5d8b607e68d58081" datatype="html">\n        <source>Order</source>\n        <target>Tri</target>\n      </trans-unit>\n      <trans-unit id="f21b1d17b6c5042bb5805516eee37fde33739dd8" datatype="html">\n        <source>Snapshots</source>\n        <target>Instantanés</target>\n      </trans-unit>\n      <trans-unit id="a5f9ba9bb9faa8284bcadb1cdbc6aaf969e9c4bb" datatype="html">\n        <source>Image</source>\n        <target>Image</target>\n      </trans-unit>\n      <trans-unit id="58e58f1a8786da9031a05e6770c5dafce82badf5" datatype="html">\n        <source>This setting overrides the global value</source>\n        <target>Ce paramètre remplace la valeur globale</target>\n      </trans-unit>\n      <trans-unit id="5decb3917d46a9ac6e5813699801becb7c3c1455" datatype="html">\n        <source>Global</source>\n        <target>Global</target>\n      </trans-unit>\n      <trans-unit id="36b46714164964c6258b08ed0a25f57d8a950f92" datatype="html">\n        <source>This is the global value. No value for this option has been set for this image.</source>\n        <target>Il s\'agit de la valeur globale. Aucune valeur de cette option n\'a été définie pour cette image.</target>\n      </trans-unit>\n      <trans-unit id="6547c9c4d5f62942ac4b1fe459cf9a03d4dbf5a0" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/> from\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/> from\n        </target>\n      </trans-unit>\n      <trans-unit id="0e9ecf29a4fa5b057bd8052e0d801b3fde6a30bf" datatype="html">\n        <source>\'/\' and \'@\' are not allowed.</source>\n        <target>Les caractères \'/\' et \'@\' ne sont pas autorisés.</target>\n      </trans-unit>\n      <trans-unit id="b99417c4dd46286ffd37c8d2e987c8b512ec7052" datatype="html">\n        <source>-- No rbd pools available --</source>\n        <target>-- Aucune réserve RBD disponible --</target>\n      </trans-unit>\n      <trans-unit id="ef83ec9c304a89d45650e580dcdc2978c37b3a83" datatype="html">\n        <source>-- Select a pool --</source>\n        <target>-- Sélectionner une réserve --</target>\n      </trans-unit>\n      <trans-unit id="49449943d8cbf59d8c401c8bd2e76f92e207cc5f" datatype="html">\n        <source>Use a dedicated data pool</source>\n        <target>Utiliser une réserve de données dédiée</target>\n      </trans-unit>\n      <trans-unit id="870aee0dd31a9643bf62007beb8f1ae1deb34d42" datatype="html">\n        <source>Data pool</source>\n        <target>Réserve de données</target>\n      </trans-unit>\n      <trans-unit id="3792ca829d9b9f687e1f5d7733d30e9bb0bfec47" datatype="html">\n        <source>Dedicated pool that stores the object-data of the RBD.</source>\n        <target>Réserve dédiée qui stocke les données objet du RBD.</target>\n      </trans-unit>\n      <trans-unit id="0a88bbee20570aaf9615332fb27020627044874d" datatype="html">\n        <source>You have to increase the size.</source>\n        <target>Vous devez augmenter la taille.</target>\n      </trans-unit>\n      <trans-unit id="bc2e854e111ecf2bd7db170da5e3c2ed08181d88" datatype="html">\n        <source>Advanced</source>\n        <target>Avancé</target>\n      </trans-unit>\n      <trans-unit id="3562a3778695a5f9c0445660e35301f0a39aaf73" datatype="html">\n        <source>Striping</source>\n        <target>Segmentation</target>\n      </trans-unit>\n      <trans-unit id="ef3c3f3b5f562a5cdbe0ee2874287db1534b5958" datatype="html">\n        <source>Stripe unit</source>\n        <target>Unité de segmentation</target>\n      </trans-unit>\n      <trans-unit id="84471be1049006edecbcaef1a32ae0893c229c50" datatype="html">\n        <source>-- Select stripe unit --</source>\n        <target>-- Sélectionner une unité de segmentation --</target>\n      </trans-unit>\n      <trans-unit id="8d32c5c54c8581c774a7f467fbd4e329b15a74fa" datatype="html">\n        <source>This field is required because stripe count is defined!</source>\n        <target>Ce champ est obligatoire, car le nombre de segments est défini.</target>\n      </trans-unit>\n      <trans-unit id="6bbf9040be7c5491d4a03f2185708f43a6582a3b" datatype="html">\n        <source>Stripe unit is greater than object size.</source>\n        <target>L\'unité de segmentation est supérieure à la taille de l\'objet.</target>\n      </trans-unit>\n      <trans-unit id="a682f49f9b761591661276d7c6f550e641a130a4" datatype="html">\n        <source>Stripe count</source>\n        <target>Nombre de segments</target>\n      </trans-unit>\n      <trans-unit id="baa74031990c5370008ba622d0a250f0929097f4" datatype="html">\n        <source>This field is required because stripe unit is defined!</source>\n        <target>Ce champ est obligatoire, car l\'unité de segmentation est définie.</target>\n      </trans-unit>\n      <trans-unit id="cd2ada6d5ecbd5cbf89eae0a1f5326efedac0dbc" datatype="html">\n        <source>Stripe count must be greater than 0.</source>\n        <target>Le nombre de segments doit être supérieur à 0.</target>\n      </trans-unit>\n      <trans-unit id="3f67f30568e9ae47507d46e28e1e82a7dca772e2" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> RBD Snapshot\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> RBD Snapshot\n        </target>\n      </trans-unit>\n      <trans-unit id="1628d19a4490817c18be2afab410ca4adfa62ea7" datatype="html">\n        <source>{VAR_SELECT, select, true {Rename} other {Create} }</source>\n        <target>{VAR_SELECT, select, true {Renommer} other {Créer} }</target>\n      </trans-unit>\n      <trans-unit id="73a287b41afe6b28f90edbeb98957a341a0276b4" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> Snapshot\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> Snapshot\n        </target>\n      </trans-unit>\n      <trans-unit id="cb60c1cd3655234756b5b92d4d597d92d520ee30" datatype="html">\n        <source>PROTECTED</source>\n        <target>PROTECTED</target>\n      </trans-unit>\n      <trans-unit id="deffb86b8fb0541254ad5a43862d82bff6b6a6c4" datatype="html">\n        <source>UNPROTECTED</source>\n        <target>NON PROTÉGÉ</target>\n      </trans-unit>\n      <trans-unit id="5c5331983af566d4ac6a1024d15a3511786a4aa6" datatype="html">\n        <source>You are about to rollback</source>\n        <target>Vous êtes sur le point de revenir à l\'état initial</target>\n      </trans-unit>\n      <trans-unit id="49c0408946a6d67185947f455f15cc201d0d78e6" datatype="html">\n        <source>Purge Trash</source>\n        <target>Vider la corbeille</target>\n      </trans-unit>\n      <trans-unit id="af728625d769b61acf291442644b89edb88faec3" datatype="html">\n        <source>To purge, select one or All images and click</source>\n        <target>Pour purger, sélectionner une image ou toutes, puis cliquez sur</target>\n      </trans-unit>\n      <trans-unit id="55a4f598a4894b7fd5cb88f0ffd3c37ad009dd70" datatype="html">\n        <source>Pool:</source>\n        <target>Réserve :</target>\n      </trans-unit>\n      <trans-unit id="d43dd2b9f7797e4cf3a604695bb33e4479108516" datatype="html">\n        <source>Pool name...</source>\n        <target>Nom de la réserve...</target>\n      </trans-unit>\n      <trans-unit id="dfc3c34e182ea73c5d784ff7c8135f087992dac1" datatype="html">\n        <source>All</source>\n        <target>Tout</target>\n      </trans-unit>\n      <trans-unit id="b0e7c7ed1d51a0c205c815048bc9f79e24ee6db2" datatype="html">\n        <source>Restore Image</source>\n        <target>Restaurer l\'image</target>\n      </trans-unit>\n      <trans-unit id="7369384817e0ad61ce871c9afdfbb538df2f97c1" datatype="html">\n        <source>To restore</source>\n        <target>Pour restaurer</target>\n      </trans-unit>\n      <trans-unit id="e7f0abefc608f7fb452c2dc9b1cdc3dec432160e" datatype="html">\n        <source>type the image\'s new name and click</source>\n        <target>saisissez le nouveau nom de l\'image, puis cliquez sur</target>\n      </trans-unit>\n      <trans-unit id="41307dd56fea669eed72e12a6c23af275f6bfd82" datatype="html">\n        <source>New Name</source>\n        <target>Nouveau nom</target>\n      </trans-unit>\n      <trans-unit id="5c96a761dc55a21882c132c929583a424c9b8cf4" datatype="html">\n        <source>Expired at</source>\n        <target>Expiration le </target>\n      </trans-unit>\n      <trans-unit id="661041e3fcff4d3e75c561e038ca2504cf2cc643" datatype="html">\n        <source>Protected until</source>\n        <target>Protection jusqu\'au</target>\n      </trans-unit>\n      <trans-unit id="0ee3b2322a1d3277f7e3fdb8a5141ac42bcf350b" datatype="html">\n        <source>This image is protected until \n          <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.\n        </source>\n        <target>This image is protected until \n          <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="aba82bfd8e177d35b76cad7cd43941f8e5e5acac" datatype="html">\n        <source>Trash</source>\n        <target>Corbeille</target>\n      </trans-unit>\n      <trans-unit id="a674ab267d1934bf395f87ca1503fd474296893f" datatype="html">\n        <source>iSCSI Topology</source>\n        <target>Topologie iSCSI</target>\n      </trans-unit>\n      <trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html">\n        <source>Settings</source>\n        <target>Paramètres</target>\n      </trans-unit>\n      <trans-unit id="9e515f954730279c31d5301f02479666d6264e8b" datatype="html">\n        <source>Changing these parameters from their default values is usually not necessary.</source>\n        <target>Il n\'est généralement pas nécessaire de modifier ces paramètres par défaut.</target>\n      </trans-unit>\n      <trans-unit id="69a47cbabcc51ca942606e1d8da0ec11f98a2690" datatype="html">\n        <source>Backstore</source>\n        <target>Backstore</target>\n      </trans-unit>\n      <trans-unit id="68e710782ccb5398b3acb8844caf0b199da2c3da" datatype="html">\n        <source>Confirm</source>\n        <target>Confirmer</target>\n      </trans-unit>\n      <trans-unit id="339878da255ab55447c43afef8d9b2f9753bf5f6" datatype="html">\n        <source>Advanced Settings</source>\n        <target>Paramètres avancés</target>\n      </trans-unit>\n      <trans-unit id="1406c2fb12a20c1528b19bcc5e24a6a2386167f3" datatype="html">\n        <source>Target IQN</source>\n        <target>IQN cible</target>\n      </trans-unit>\n      <trans-unit id="5fe42339be910372fa689f559155631862d218e8" datatype="html">\n        <source>IQN has wrong pattern.</source>\n        <target>Modèle IQN incorrect.</target>\n      </trans-unit>\n      <trans-unit id="050a7ff057d1e895357540406b6be5652b4d1c71" datatype="html">\n        <source>An IQN has the following notation\n                \'iqn.$year-$month.$reversedAddress:$definedName\'</source>\n        <target>An IQN has the following notation\n                \'iqn.$year-$month.$reversedAddress:$definedName\'</target>\n      </trans-unit>\n      <trans-unit id="c8ada4b53396d8366db00a435acc61d53d857047" datatype="html">\n        <source>For example: iqn.2016-06.org.dashboard:storage:disk.sn-a8675309</source>\n        <target>Par exemple : iqn.2016-06.org.dashboard:storage:disk.sn-a8675309</target>\n      </trans-unit>\n      <trans-unit id="e60c11e1b1dfbbeda577364b8de39ded2d796c5e" datatype="html">\n        <source>More information</source>\n        <target>Plus d\'informations</target>\n      </trans-unit>\n      <trans-unit id="9b1aa85dfc6849196e64060db02c5410de69b7a1" datatype="html">\n        <source>This target has modified advanced settings.</source>\n        <target>Des paramètres avancés de cette cible ont été modifiés.</target>\n      </trans-unit>\n      <trans-unit id="6990ad8d6182662e864495ac31c3758cda1c7a28" datatype="html">\n        <source>Portals</source>\n        <target>Portails</target>\n      </trans-unit>\n      <trans-unit id="c3638c01b6c34066438909713ec96087c813fc7e" datatype="html">\n        <source>At least \n          <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.\n        </source>\n        <target>At least \n          <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.\n        </target>\n      </trans-unit>\n      <trans-unit id="6a3ac2b4137d723fd9878cd357c2012ff6c07973" datatype="html">\n        <source>Add portal</source>\n        <target>Ajouter un portail</target>\n      </trans-unit>\n      <trans-unit id="9aff25be088f0efe3eaaf62edf2bff41cc41a617" datatype="html">\n        <source>Backstore: \n          <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. \n        </source>\n        <target>Backstore: \n          <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. \n        </target>\n      </trans-unit>\n      <trans-unit id="e3484cae8b118c576ca2815bf9c9406c2eb2cae3" datatype="html">\n        <source>This image has modified settings.</source>\n        <target>Des paramètres avancés de cette image ont été modifiés.</target>\n      </trans-unit>\n      <trans-unit id="107c84e820909b44fe258673938a68ced1bbff72" datatype="html">\n        <source>At least 1 image is required.</source>\n        <target>Au moins 1 image est requise.</target>\n      </trans-unit>\n      <trans-unit id="808038f912fdc7f0e03f82d4afd3bf9178527fc8" datatype="html">\n        <source>Add image</source>\n        <target>Ajouter une image</target>\n      </trans-unit>\n      <trans-unit id="66c5fb27f52e75b70ca4b670b9b15a2a51cf9543" datatype="html">\n        <source>ACL authentication</source>\n        <target>Authentification ACL</target>\n      </trans-unit>\n      <trans-unit id="419c8b402609dcf49ae4932a5a4647dc8d79bbaf" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n                can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Usernames must have a length of 8 to 64 characters and\n                can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</target>\n      </trans-unit>\n      <trans-unit id="938050960d6653fddfcfd42425e18fb35a308262" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n                and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n                and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="f494bd31f095f6dcc656ce87ec2dcf07a2e9b30c" datatype="html">\n        <source>Initiators</source>\n        <target>Initiateurs</target>\n      </trans-unit>\n      <trans-unit id="e98239d8a6be1100119ff4b5630c822b82786740" datatype="html">\n        <source>Initiator</source>\n        <target>Initiateur</target>\n      </trans-unit>\n      <trans-unit id="f2c5059d8cda15d8d03e2cce30f2d139623d9a91" datatype="html">\n        <source>Client IQN</source>\n        <target>IQN client</target>\n      </trans-unit>\n      <trans-unit id="107d5aabce23d900f0a80e6ddc1c10e29aa0bed8" datatype="html">\n        <source>Initiator IQN needs to be unique.</source>\n        <target>L\'IQN de l\'initiateur doit être unique.</target>\n      </trans-unit>\n      <trans-unit id="bbf0b34a3fcc80800fcb44b9e1e86931a530dfe3" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n                        can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Les noms d\'utilisateur doivent comporter entre 8 et 64 caractères et\n                        ne peuvent contenir que des lettres et les caractères \'.\', \'@\', \'-\', \'_\' ou \':\'.</target>\n      </trans-unit>\n      <trans-unit id="fdfee5d7a27e1bdd97a176097277bee078de6aaf" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n                        and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n                        and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="8406eb7415ee40e54d9ecb209abb056f06e3d666" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters and\n                        can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters and\n                        can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="5d1878d5fc761cbe9614bfd87047a740c82a6951" datatype="html">\n        <source>Initiator belongs to a group. Images will be configure in the group.</source>\n        <target>L\'initiateur appartient à un groupe dans lequel les images seront configurées.</target>\n      </trans-unit>\n      <trans-unit id="c0de67b9d97fafbf200f9451e8388ee8128a56ac" datatype="html">\n        <source>No items added.</source>\n        <target>Aucun élément ajouté.</target>\n      </trans-unit>\n      <trans-unit id="d565e47726158e428ecdc952fc9233b9b7d7f049" datatype="html">\n        <source>Add initiator</source>\n        <target>Ajouter un initiateur</target>\n      </trans-unit>\n      <trans-unit id="c22ba03540aa3217da059f45e7eab138b51a96e2" datatype="html">\n        <source>Groups</source>\n        <target>Groupes</target>\n      </trans-unit>\n      <trans-unit id="4c90059afafb7e160384d9f512797c95bb95c6dc" datatype="html">\n        <source>Group</source>\n        <target>Groupe</target>\n      </trans-unit>\n      <trans-unit id="3084948274cff4f56d0f431af47240e9cf02fcc7" datatype="html">\n        <source>Add group</source>\n        <target>Ajouter un groupe</target>\n      </trans-unit>\n      <trans-unit id="66db799d67958d4b0765181d072df62e2d1c16f5" datatype="html">\n        <source>Issues</source>\n        <target>Problèmes</target>\n      </trans-unit>\n      <trans-unit id="ef06d69259e587e28d52372455f44c7153cda7e7" datatype="html">\n        <source>Syncing</source>\n        <target>Synchronisation en cours</target>\n      </trans-unit>\n      <trans-unit id="0b0901877d837d3fda16ba161eb74368d1c75b7a" datatype="html">\n        <source>Ready</source>\n        <target>Prêt</target>\n      </trans-unit>\n      <trans-unit id="4057c56d63a7e9b140b1d01871a9229a5f30eb27" datatype="html">\n        <source>Edit pool mirror mode</source>\n        <target>Modifier le mode de mise en miroir de la réserve</target>\n      </trans-unit>\n      <trans-unit id="e1f367f5feaab38f6637dd1f967c848b447dea2d" datatype="html">\n        <source>To edit the mirror mode for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>, select a new mode from the list and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>To edit the mirror mode for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>, select a new mode from the list and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="32ca348ef926b0a6a7a780b8b64c3a8239895cec" datatype="html">\n        <source>Peer clusters must be removed prior to disabling mirror.</source>\n        <target>Les grappes d\'homologues doivent être supprimées avant de désactiver la mise en miroir.</target>\n      </trans-unit>\n      <trans-unit id="fa61522d482349707fd7dd03b90dc5781611b17f" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/>\n  pool mirror peer\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/>\n  pool mirror peer\n        </target>\n      </trans-unit>\n      <trans-unit id="4ddcb416c1c0aa1f54acf5beef1de81813e76fa6" datatype="html">\n        <source>{VAR_SELECT, select, edit {Edit} other {Add} }</source>\n        <target>{VAR_SELECT, select, edit {Modifier} other {Ajouter} }</target>\n      </trans-unit>\n      <trans-unit id="59ca65ece457429d90104ede4674965f62edbabe" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/> the pool\n          mirror peer attributes for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> and click\n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Submit\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/> the pool\n          mirror peer attributes for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> and click\n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Submit\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="d3cc964811f852a168f4a2d5daa59068abc5cf53" datatype="html">\n        <source>Cluster Name</source>\n        <target>Nom de grappe</target>\n      </trans-unit>\n      <trans-unit id="b631721fc56cb7fb1cbd07b802a487c5753f6a2d" datatype="html">\n        <source>The cluster name is not valid.</source>\n        <target>Le nom de grappe n\'est pas valide.</target>\n      </trans-unit>\n      <trans-unit id="ca6deafa31bf421f85094807982aee4bcb20a3ae" datatype="html">\n        <source>CephX ID</source>\n        <target>ID CephX</target>\n      </trans-unit>\n      <trans-unit id="7539188a568c3d553cbde1bacaf32310c4264e24" datatype="html">\n        <source>CephX ID...</source>\n        <target>ID CephX</target>\n      </trans-unit>\n      <trans-unit id="a1c45b594b0fba22fc64e80c793a7ffe005fdb0e" datatype="html">\n        <source>The CephX ID is not valid.</source>\n        <target>L\'ID CephX n\'est pas valide.</target>\n      </trans-unit>\n      <trans-unit id="20861576fcfce773c918c782cd4f5adf32382921" datatype="html">\n        <source>Monitor Addresses</source>\n        <target>Adresses du moniteur</target>\n      </trans-unit>\n      <trans-unit id="fa28eeed2b4bd4ccbe6e9349a1c2b3cb1c5de70a" datatype="html">\n        <source>Comma-delimited addresses...</source>\n        <target>Adresses séparées par une virgule...</target>\n      </trans-unit>\n      <trans-unit id="dc016c82fd85848d5c1b2fd0e8469ee2027d9c16" datatype="html">\n        <source>The monitory address is not valid.</source>\n        <target>L\'adresse du moniteur n\'est pas valide.</target>\n      </trans-unit>\n      <trans-unit id="e0ac55b83dc6739e62bc655cfe375b67c93e7f4a" datatype="html">\n        <source>CephX Key</source>\n        <target>Clef CephX</target>\n      </trans-unit>\n      <trans-unit id="f53434bcb95bd86f1df9c8e22966f757614fc4ad" datatype="html">\n        <source>Base64-encoded key...</source>\n        <target>Clef Base64...</target>\n      </trans-unit>\n      <trans-unit id="4cd83164cd4f66b4abc2863f9ce6f599d789e4ca" datatype="html">\n        <source>CephX key must be base64 encoded.</source>\n        <target>La clef CephX doit être codée en base64.</target>\n      </trans-unit>\n      <trans-unit id="ca53d681a9892d6fdbb57ee9676582186515e961" datatype="html">\n        <source>Performance counters not available</source>\n        <target>Compteurs de performance non disponibles</target>\n      </trans-unit>\n      <trans-unit id="9424badb7e0c6ac792d020d7830645b529a80aad" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the Object Gateway management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the Object Gateway management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="479488ab6e91ecb375484edc78bee3d13467f33f" datatype="html">\n        <source>Daemons List</source>\n        <target>Liste de daemons</target>\n      </trans-unit>\n      <trans-unit id="eeba399c4dae8d4890c27b7a2cd2dc28fcf8b5f9" datatype="html">\n        <source>Performance Counters</source>\n        <target>Compteurs de performance</target>\n      </trans-unit>\n      <trans-unit id="5f67f2247b9c6bbaf24a0f2d37f4ac0537c6fa53" datatype="html">\n        <source>Loading bucket data...</source>\n        <target>Chargement des données de compartiment...</target>\n      </trans-unit>\n      <trans-unit id="2798cc1e152b1ec07fd8daf94a2a073d1ba1ebcc" datatype="html">\n        <source>Id</source>\n        <target>ID</target>\n      </trans-unit>\n      <trans-unit id="db4e1a734518691b128ef40b939cc673f01d03a6" datatype="html">\n        <source>The value is not valid.</source>\n        <target>La valeur n\'est pas valide.</target>\n      </trans-unit>\n      <trans-unit id="eabb4db920d9f9b2480cf438468b86e1bea02a9b" datatype="html">\n        <source>The chosen name is already in use.</source>\n        <target>Le nom sélectionné est déjà en cours d\'utilisation.</target>\n      </trans-unit>\n      <trans-unit id="0ee5132a8da30e0b7f9f5c70dbc91928d17dd909" datatype="html">\n        <source>Owner</source>\n        <target>Propriétaire</target>\n      </trans-unit>\n      <trans-unit id="8e4c918357c7445fbf19a203e5f0f0ece1960b3b" datatype="html">\n        <source>-- Select a user --</source>\n        <target>-- Sélectionner un utilisateur --</target>\n      </trans-unit>\n      <trans-unit id="a4aab1f837bc8ec222e4f25922465d1c5929a1fc" datatype="html">\n        <source>Placement target</source>\n        <target>Placement target</target>\n      </trans-unit>\n      <trans-unit id="6bae0a7fc2c9c1fde7d937a8a1a3c7e6825cf7d1" datatype="html">\n        <source>-- Select a placement target --</source>\n        <target>-- Select a placement target --</target>\n      </trans-unit>\n      <trans-unit id="efeade5060b3add63863c24871f0830fb16b7e6d" datatype="html">\n        <source>Versioning</source>\n        <target>Versioning</target>\n      </trans-unit>\n      <trans-unit id="f50a33d3c339f8f4a465141f8caa5d2d8c005251" datatype="html">\n        <source>Enabled</source>\n        <target>Activé</target>\n      </trans-unit>\n      <trans-unit id="016d24e069e7d505a090fb8243e5cd43b35dc39b" datatype="html">\n        <source>Enables versioning for the objects in the bucket.</source>\n        <target>Enables versioning for the objects in the bucket.</target>\n      </trans-unit>\n      <trans-unit id="92f3f203270a29b3001871153f02c063484a1574" datatype="html">\n        <source>Suspended</source>\n        <target>Suspendu</target>\n      </trans-unit>\n      <trans-unit id="cd6a798fd0f85cd7e31a57c58074f25035d7850d" datatype="html">\n        <source>Disables versioning for the objects in the bucket.</source>\n        <target>Disables versioning for the objects in the bucket.</target>\n      </trans-unit>\n      <trans-unit id="45cc8ca94b5a50842a9a8ef804a5ab089a38ae5c" datatype="html">\n        <source>ID</source>\n        <target>ID</target>\n      </trans-unit>\n      <trans-unit id="e5c51963a9c553b29427ef783bbb69fa6634fa8c" datatype="html">\n        <source>Index type</source>\n        <target>Type d\'index</target>\n      </trans-unit>\n      <trans-unit id="8e6f950a32eaea32ec7e192f9ca3d3dfe469d4ba" datatype="html">\n        <source>Placement rule</source>\n        <target>Règle de placement</target>\n      </trans-unit>\n      <trans-unit id="6972d213e31c4ea4f887e60db99d9881bc8fcd3e" datatype="html">\n        <source>Marker</source>\n        <target>Marqueur</target>\n      </trans-unit>\n      <trans-unit id="47b02acd2d3254d1ace1926f840523f154ebef71" datatype="html">\n        <source>Maximum marker</source>\n        <target>Marqueur maximum</target>\n      </trans-unit>\n      <trans-unit id="8fe73a4787b8068b2ba61f54ab7e0f9af2ea1fc9" datatype="html">\n        <source>Version</source>\n        <target>Version</target>\n      </trans-unit>\n      <trans-unit id="092fa3a7df9168b14d3f83a77a4035e92b92ce15" datatype="html">\n        <source>Master version</source>\n        <target>Version principale</target>\n      </trans-unit>\n      <trans-unit id="97434cc5001d407f90c7447a12d9e8e6848a2aa3" datatype="html">\n        <source>Modification time</source>\n        <target>Date de modification</target>\n      </trans-unit>\n      <trans-unit id="90fe2e41e7fde38453ce4e619efeea9bc6adea9c" datatype="html">\n        <source>Zonegroup</source>\n        <target>Groupe de zones</target>\n      </trans-unit>\n      <trans-unit id="649a410bd0ace333d067d8fa22f12bdbdb43533b" datatype="html">\n        <source>Bucket quota</source>\n        <target>Quota de compartiments</target>\n      </trans-unit>\n      <trans-unit id="cef1595d040e77cbb4466e60382028d4c2040cac" datatype="html">\n        <source>Maximum size</source>\n        <target>Taille maximale</target>\n      </trans-unit>\n      <trans-unit id="aa6fb95c355f172bda303de1ce2f38c251a149cf" datatype="html">\n        <source>Unlimited</source>\n        <target>Illimité</target>\n      </trans-unit>\n      <trans-unit id="ee862a800364b4d11f9b8cb9955a28a60f840a45" datatype="html">\n        <source>Maximum objects</source>\n        <target>Nombre maximal d\'objets</target>\n      </trans-unit>\n      <trans-unit id="08c74dc9762957593b91f6eb5d65efdfc975bf48" datatype="html">\n        <source>Username</source>\n        <target>Nom d\'utilisateur</target>\n      </trans-unit>\n      <trans-unit id="49c614babd1950adb2be75df4e2c9747286d6adc" datatype="html">\n        <source>-- Select a username --</source>\n        <target>-- Sélectionner un nom d\'utilisateur --</target>\n      </trans-unit>\n      <trans-unit id="c217ee914725a37e9dd2336c721c8e63e9666bdc" datatype="html">\n        <source>Auto-generate key</source>\n        <target>Générer automatiquement la clef</target>\n      </trans-unit>\n      <trans-unit id="2f1c1c0f2bce4c9f92d1a2061e8161cb0006c31a" datatype="html">\n        <source>Access key</source>\n        <target>Clef d\'accès</target>\n      </trans-unit>\n      <trans-unit id="b864acb67296a9819c1db0069c4c47d8b5ce8f44" datatype="html">\n        <source>Secret key</source>\n        <target>Clef secrète</target>\n      </trans-unit>\n      <trans-unit id="b760f123248930122fc7e7b6b6bf94e376e959c8" datatype="html">\n        <source>Full name</source>\n        <target>Nom complet</target>\n      </trans-unit>\n      <trans-unit id="69b6ac577a19acc39fc0c22342092f327fff2529" datatype="html">\n        <source>Email address</source>\n        <target>Adresse électronique</target>\n      </trans-unit>\n      <trans-unit id="8011e20c5bbe51602d459a860fbf29b599b55edd" datatype="html">\n        <source>System</source>\n        <target>Système</target>\n      </trans-unit>\n      <trans-unit id="db18a2772988415466a7f75dc42663ce78c9c1d3" datatype="html">\n        <source>Maximum buckets</source>\n        <target>Nombre maximal de compartiments</target>\n      </trans-unit>\n      <trans-unit id="2c4c62e8ba24601be5cfe7dc5d32c24bbbd4b53c" datatype="html">\n        <source>Subusers</source>\n        <target>Utilisateurs secondaires</target>\n      </trans-unit>\n      <trans-unit id="17bb3082e6fe5003203ef992a3714172334631a1" datatype="html">\n        <source>Capabilities</source>\n        <target>Fonctionnalités</target>\n      </trans-unit>\n      <trans-unit id="36ad38f9c1a1485e09b67778a28af84553290ffb" datatype="html">\n        <source>User quota</source>\n        <target>Quota utilisateur</target>\n      </trans-unit>\n      <trans-unit id="2aba1e87039819aca3b70faa9aa848c12bf139ca" datatype="html">\n        <source>Show</source>\n        <target>Afficher</target>\n      </trans-unit>\n      <trans-unit id="0bcd5ef19af0f1b814141ca8c57df623d8270088" datatype="html">\n        <source>Keys</source>\n        <target>Clefs</target>\n      </trans-unit>\n      <trans-unit id="f61c6867295f3b53d23557021f2f4e0aa1d0b8fc" datatype="html">\n        <source>Type</source>\n        <target>Type</target>\n      </trans-unit>\n      <trans-unit id="1221ca97d19eaa9a7bc0c5243d5fc5befe1d2314" datatype="html">\n        <source>-- Select a type --</source>\n        <target>-- Sélectionner un type --</target>\n      </trans-unit>\n      <trans-unit id="d1b8990332af18f1c5159a6061ca889bcbb28432" datatype="html">\n        <source>Permission</source>\n        <target>Autorisation</target>\n      </trans-unit>\n      <trans-unit id="a08c589f82f69d892307288da14190ae1dd583d5" datatype="html">\n        <source>-- Select a permission --</source>\n        <target>-- Sélectionner une autorisation --</target>\n      </trans-unit>\n      <trans-unit id="b2841767821d6b66238c34d07e413b0af67aee92" datatype="html">\n        <source>Subuser</source>\n        <target>Utilisateur secondaire</target>\n      </trans-unit>\n      <trans-unit id="bd59fc25a7bd98cff3e75117c09697c8a007a514" datatype="html">\n        <source>The chosen subuser ID is already in use.</source>\n        <target>L\'ID d\'utilisateur secondaire sélectionné est déjà utilisé.</target>\n      </trans-unit>\n      <trans-unit id="3d386c357ebcbc04ed05c4babd5a03626f9b1674" datatype="html">\n        <source>read, write</source>\n        <target>lire, écrire</target>\n      </trans-unit>\n      <trans-unit id="84e3e3f9a4f31a039b648c97debf95fcb20f4c4a" datatype="html">\n        <source>full</source>\n        <target>complet</target>\n      </trans-unit>\n      <trans-unit id="b6bf81d032a2316464f9df2f0d2f3d753f89f0d3" datatype="html">\n        <source>Swift key</source>\n        <target>Clé Swift</target>\n      </trans-unit>\n      <trans-unit id="1e0c12685d50d47448ceed9423977ef39775c037" datatype="html">\n        <source>Auto-generate secret</source>\n        <target>Générer automatiquement le secret</target>\n      </trans-unit>\n      <trans-unit id="3d1c7a6004bd5d86a7fa096ae24209e8aa7a53e3" datatype="html">\n        <source>Loading user data...</source>\n        <target>Chargement des donnés utilisateur…</target>\n      </trans-unit>\n      <trans-unit id="faa5d834ab28571423d794d32b57998920efb65f" datatype="html">\n        <source>The user data could not be loaded.</source>\n        <target>Les donnés utilisateur n\'ont pas pu être chargées.</target>\n      </trans-unit>\n      <trans-unit id="6aaf5d2a304167272ac73e3b1d1c162e16c77858" datatype="html">\n        <source>The chosen user ID is already in use.</source>\n        <target>L\'ID utilisateur spécifié est déjà utilisé.</target>\n      </trans-unit>\n      <trans-unit id="df441e80db2157f9d272b75de724ba4a82b96b57" datatype="html">\n        <source>This is not a valid email address.</source>\n        <target>Ceci n\'est pas une adresse électronique valide.</target>\n      </trans-unit>\n      <trans-unit id="ca271adf154956b8fcb28f4f50a37acb3057ff7c" datatype="html">\n        <source>The chosen email address is already in use.</source>\n        <target>L\'adresse électronique spécifiée est déjà utilisée.</target>\n      </trans-unit>\n      <trans-unit id="030197cebe938edf35422e92fe14183d06eb670b" datatype="html">\n        <source>Max. buckets</source>\n        <target>Nombre max. de compartiments</target>\n      </trans-unit>\n      <trans-unit id="623ac50f37a26caec6fd7cd519b653e3315cba25" datatype="html">\n        <source>The entered value must be &gt;= 0.</source>\n        <target>La valeur saisie doit être &gt;= 0.</target>\n      </trans-unit>\n      <trans-unit id="583a219c524155c2314eb06ee29162bb315272a3" datatype="html">\n        <source>S3 key</source>\n        <target>Clef S3</target>\n      </trans-unit>\n      <trans-unit id="128d6efb51d9ddc7c0cc695a2deeca5b9523f6e4" datatype="html">\n        <source>There are no subusers.</source>\n        <target>Il n\'y a aucun utilisateur secondaire.</target>\n      </trans-unit>\n      <trans-unit id="7fd6dfb8ecb982dbc3affb2c2d5414c4f5b6abd2" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ subuserLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ subuserLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="67c746c1ba9dab4351fedc4c7cba4e6d6b0dbc47" datatype="html">\n        <source>S3</source>\n        <target>S3</target>\n      </trans-unit>\n      <trans-unit id="d6819038d608623503918fb2553f53d68231ec3a" datatype="html">\n        <source>There are no keys.</source>\n        <target>Il n\'y a pas de clefs.</target>\n      </trans-unit>\n      <trans-unit id="fc1c1a7140ff6b815a95b65ee2780fdbe1b2b7a1" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ s3keyLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ s3keyLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6ddb5e991a3ecd2659fb520bc5acc81b67e08ddd" datatype="html">\n        <source>Swift</source>\n        <target>Swift</target>\n      </trans-unit>\n      <trans-unit id="1d01eccdda47fc907c5be35bcb16d2dcd02b0270" datatype="html">\n        <source>There are no capabilities.</source>\n        <target>Il n\'y a aucune fonctionnalité.</target>\n      </trans-unit>\n      <trans-unit id="043e2ec0036ceadd926fd5e3f93cd6f3565f3648" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.ADD | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.ADD | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6146e13ceca5fa5cc17b771b282fe5955f3d19fa" datatype="html">\n        <source>Unlimited size</source>\n        <target>Taille illimitée</target>\n      </trans-unit>\n      <trans-unit id="f6db8aa7c99fdce18edb33dde57729acede2b308" datatype="html">\n        <source>Max. size</source>\n        <target>Taille max.</target>\n      </trans-unit>\n      <trans-unit id="fc630b2093e880fffa19df99d5cd8b87605037f8" datatype="html">\n        <source>Unlimited objects</source>\n        <target>Objets illimités</target>\n      </trans-unit>\n      <trans-unit id="6cda5a993d06f0bb10048be9d3aba6555aa9f356" datatype="html">\n        <source>Max. objects</source>\n        <target>Nombre max. d\'objets</target>\n      </trans-unit>\n      <trans-unit id="1ea5c4d8942c00752dcc72e72949c5d9832f6399" datatype="html">\n        <source>Description...</source>\n        <target>Description...</target>\n      </trans-unit>\n      <trans-unit id="70f45880fce6ac5d8e468e25e82aefbba8098cfe" datatype="html">\n        <source>Permissions</source>\n        <target>Autorisations</target>\n      </trans-unit>\n      <trans-unit id="9610487cbeb5796d34d8601b5ac0c0a65f9e1d19" datatype="html">\n        <source>Roles</source>\n        <target>Rôles</target>\n      </trans-unit>\n      <trans-unit id="7f3bdcce4b2e8c37cd7f0f6c92ef8cff34b039b8" datatype="html">\n        <source>Confirm password</source>\n        <target>Confirmer le mot de passe</target>\n      </trans-unit>\n      <trans-unit id="cbb979e63ba50e0ca3adfa09cbdcaefd0853fca1" datatype="html">\n        <source>Password confirmation doesn\'t match the password.</source>\n        <target>Le mot de passe de confirmation ne correspond pas au mot de passe.</target>\n      </trans-unit>\n      <trans-unit id="244aae9346da82b0922506c2d2581373a15641cc" datatype="html">\n        <source>Email</source>\n        <target>Adresse électronique</target>\n      </trans-unit>\n      <trans-unit id="d0ec081dd61eb4f43aea269077bbe38eae87b7f9" datatype="html">\n        <source>Invalid email.</source>\n        <target>L\'adresse électronique n\'est pas valide.</target>\n      </trans-unit>\n      <trans-unit id="0051a3479d3ba79135c16dc8cc017950a2cce821" datatype="html">\n        <source>You are about to remove "user read / update" permissions from your own user.</source>\n        <target>Vous êtes sur le point de supprimer les autorisations "lecture/mise à jour utilisateur" de votre propre utilisateur.</target>\n      </trans-unit>\n      <trans-unit id="af4bf9fcb256853f14cf947eb1deb8d7f176d3f9" datatype="html">\n        <source>If you continue, you will no longer be able to add or remove roles from any user.</source>\n        <target>Si vous continuez, vous ne serez plus en mesure d\'ajouter ni de supprimer des rôles pour n\'importe quel utilisateur.</target>\n      </trans-unit>\n      <trans-unit id="7d1dcf2a9146caac0581329acf94806ec69a89a5" datatype="html">\n        <source>Are you sure you want to continue?</source>\n        <target>Voulez-vous vraiment continuer ?</target>\n      </trans-unit>\n      <trans-unit id="85b79c9064aed1ead31ace985f31aa1363f6bdaf" datatype="html">\n        <source>Help</source>\n        <target>Aide</target>\n      </trans-unit>\n      <trans-unit id="fcfd4675b4c90f08d18d3abede9a9a4dff4cfdc7" datatype="html">\n        <source>Documentation</source>\n        <target>Documentation</target>\n      </trans-unit>\n      <trans-unit id="e351b40b3869a5c7d19c3d4918cb1ac7aaab95c4" datatype="html">\n        <source>API</source>\n        <target>API</target>\n      </trans-unit>\n      <trans-unit id="004b222ff9ef9dd4771b777950ca1d0e4cd4348a" datatype="html">\n        <source>About</source>\n        <target>À propos de</target>\n      </trans-unit>\n      <trans-unit id="1481ecd21e760ac919a24e26cf790acd82e40199" datatype="html">\n        <source>Dashboard Settings</source>\n        <target>Paramètres du tableau de bord</target>\n      </trans-unit>\n      <trans-unit id="a79aab4ef674bf3f6532292107c0054302236e0f" datatype="html">\n        <source>User management</source>\n        <target>Gestion des utilisateurs</target>\n      </trans-unit>\n      <trans-unit id="049dfd9fe6c78914ad58cf89ac6a631fca28ec74" datatype="html">\n        <source>Logged in user</source>\n        <target>Utilisateur connecté</target>\n      </trans-unit>\n      <trans-unit id="cd38a58e73f306d838e621959d47d5e7a2f06d1f" datatype="html">\n        <source>Signed in as\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ username }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>\n        </source>\n        <target>Signed in as\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ username }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="739516c2ca75843d5aec9cf0e6b3e4335c4227b9" datatype="html">\n        <source>Change password</source>\n        <target>Change password</target>\n      </trans-unit>\n      <trans-unit id="5d22c795daf43877a5f708dca2bccd549eb0471d" datatype="html">\n        <source>Sign out</source>\n        <target>Se déconnecter</target>\n      </trans-unit>\n      <trans-unit id="91853167141c37b58868f3b0421383dd72fa8a01" datatype="html">\n        <source>Attributes (OSD map)</source>\n        <target>Attributs (carte OSD)</target>\n      </trans-unit>\n      <trans-unit id="97842f379e1d4157ac3ab0661b90c352e7cb72d5" datatype="html">\n        <source>Metadata not available</source>\n        <target>Métadonnées non disponibles</target>\n      </trans-unit>\n      <trans-unit id="f721a500a68c357e8f2a01e60510f6a01e4ba529" datatype="html">\n        <source>Metadata</source>\n        <target>Métadonnées</target>\n      </trans-unit>\n      <trans-unit id="deba10b7279a589d01e919ea11f43c79ca1773e3" datatype="html">\n        <source>Device health</source>\n        <target>Device health</target>\n      </trans-unit>\n      <trans-unit id="d24e28e19c5703d7c6be44f4eb595a6a43b618ed" datatype="html">\n        <source>Performance counter</source>\n        <target>Compteur de performance</target>\n      </trans-unit>\n      <trans-unit id="d1f7c81ed9c5034af4abcdf119b1c1e86cd019dd" datatype="html">\n        <source>Histogram not available: \n          <x id="INTERPOLATION" equiv-text="{{ osd.histogram_failed }}"/>\n        </source>\n        <target>Histogram not available: \n          <x id="INTERPOLATION" equiv-text="{{ osd.histogram_failed }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="868abfff914873d1c65df798d8432ed04b8ae2a9" datatype="html">\n        <source>Writes</source>\n        <target>Écritures</target>\n      </trans-unit>\n      <trans-unit id="996ebb9a653b5067f97bf3891ea9d2108e969492" datatype="html">\n        <source>Reads</source>\n        <target>Lectures</target>\n      </trans-unit>\n      <trans-unit id="65ac79790aa477a97b1cc579e18a115a8df8918f" datatype="html">\n        <source>Histogram</source>\n        <target>Histogramme</target>\n      </trans-unit>\n      <trans-unit id="26fb5f81b3581f06b9210defb0e71dc69a67e819" datatype="html">\n        <source>Current values</source>\n        <target>Valeurs actuelles</target>\n      </trans-unit>\n      <trans-unit id="9abcd7c82643d60c22733470463f74e4a54bc069" datatype="html">\n        <source>Min</source>\n        <target>Minimum</target>\n      </trans-unit>\n      <trans-unit id="c3ced4d162a0a55ee233a187ce7208ba5e922418" datatype="html">\n        <source>Max</source>\n        <target>Maximum</target>\n      </trans-unit>\n      <trans-unit id="6834fa6b43d1ecbdf147c48dd9c4d72f1484571d" datatype="html">\n        <source>Source</source>\n        <target>Source</target>\n      </trans-unit>\n      <trans-unit id="a446fb0eb11fbffcac805ece5a2d306d24e733d8" datatype="html">\n        <source>Level</source>\n        <target>Niveau</target>\n      </trans-unit>\n      <trans-unit id="39f2fb094e9b2eda13163fa3f3a31594cf9c1307" datatype="html">\n        <source>Can be updated at runtime (editable)</source>\n        <target>Mise à jour possible lors de l\'exécution (modifiable)</target>\n      </trans-unit>\n      <trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b" datatype="html">\n        <source>Tags</source>\n        <target>Balises</target>\n      </trans-unit>\n      <trans-unit id="ab0089ef47af61ca1d137bc908b96c290dfd9287" datatype="html">\n        <source>Enum values</source>\n        <target>Valeurs d\'énuménation</target>\n      </trans-unit>\n      <trans-unit id="819476f1264f1659f38e86f6abb542141b184832" datatype="html">\n        <source>See also</source>\n        <target>Voir aussi</target>\n      </trans-unit>\n      <trans-unit id="d82a9af5b05e7cd17640f196f163771685ff8df6" datatype="html">\n        <source>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</source>\n        <target>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</target>\n      </trans-unit>\n      <trans-unit id="a185c9b97513b3882604ea9bab60edbfac945c15" datatype="html">\n        <source>SMART overall-health self-assessment test result</source>\n        <target>SMART overall-health self-assessment test result</target>\n      </trans-unit>\n      <trans-unit id="ddd5dd6d930030096ea617f62c82b648a0dd9484" datatype="html">\n        <source>Device Information</source>\n        <target>Device Information</target>\n      </trans-unit>\n      <trans-unit id="79c6bf990ea5b4d83bbf8f9e399f4bd933a1ebfc" datatype="html">\n        <source>S.M.A.R.T</source>\n        <target>S.M.A.R.T</target>\n      </trans-unit>\n      <trans-unit id="05c17e08939cbef1a5df5386263b1701e8d5742e" datatype="html">\n        <source>S.M.A.R.T data is loading.</source>\n        <target>S.M.A.R.T data is loading.</target>\n      </trans-unit>\n      <trans-unit id="73caac4265ea7314ff061e5a1d78a6361a6dd3b8" datatype="html">\n        <source>Cluster Status</source>\n        <target>Statut de la grappe</target>\n      </trans-unit>\n      <trans-unit id="1d4bc612bbf19aa9553853266b9e92c9d75f4464" datatype="html">\n        <source>Manager Daemons</source>\n        <target>Daemons du gestionnaire</target>\n      </trans-unit>\n      <trans-unit id="946ac5dea9921dc09d7b0a63b89535371f283b19" datatype="html">\n        <source>Object Gateways</source>\n        <target>Passerelles d\'objet</target>\n      </trans-unit>\n      <trans-unit id="ff03fa5bcf37c4da46ad736c1f7d03f959e8ba9a" datatype="html">\n        <source>Metadata Servers</source>\n        <target>Serveurs de métadonnées</target>\n      </trans-unit>\n      <trans-unit id="d817609ba4993eba859409ab71e566168f4d5f5a" datatype="html">\n        <source>iSCSI Gateways</source>\n        <target>Passerelles iSCSI</target>\n      </trans-unit>\n      <trans-unit id="42c13e50391250ea9379bdf55d5d6c0228c0c8bc" datatype="html">\n        <source>Client IOPS</source>\n        <target>IOPS client</target>\n      </trans-unit>\n      <trans-unit id="52213660b2454d139ada3079a42ec6caf3c3c01e" datatype="html">\n        <source>Client Throughput</source>\n        <target>Débit client</target>\n      </trans-unit>\n      <trans-unit id="32efd1c3f70e3c5244239de97a2cc95d98534a14" datatype="html">\n        <source>Client Read/Write</source>\n        <target>Lectures/Écritures client</target>\n      </trans-unit>\n      <trans-unit id="275485415092cbae3a9f3cbb786ebe283cacfdd5" datatype="html">\n        <source>Recovery Throughput</source>\n        <target>Débit de récupération</target>\n      </trans-unit>\n      <trans-unit id="6d9a9f55046891733ef71170e7652063765eb542" datatype="html">\n        <source>Scrub</source>\n        <target>Nettoyer</target>\n      </trans-unit>\n      <trans-unit id="3cc9c2ae277393b3946b38c088dabff671b1ee1b" datatype="html">\n        <source>Performance</source>\n        <target>Performance</target>\n      </trans-unit>\n      <trans-unit id="88f383269db2d32cccee9e936fe549dccb9fdbf4" datatype="html">\n        <source>Raw Capacity</source>\n        <target>Capacité brute</target>\n      </trans-unit>\n      <trans-unit id="c5f8a813f91a11af99132e4beafc136cfc13d73b" datatype="html">\n        <source>PGs per OSD</source>\n        <target>Groupes de placements par OSD</target>\n      </trans-unit>\n      <trans-unit id="498a109c6e9e94f1966de01aa0326f7f0ac6fb52" datatype="html">\n        <source>PG Status</source>\n        <target>Statut du groupe de placements</target>\n      </trans-unit>\n      <trans-unit id="ce9dfdc6dccb28dc75a78c704e09dc18fb02dcfa" datatype="html">\n        <source>Capacity</source>\n        <target>Capacité</target>\n      </trans-unit>\n      <trans-unit id="44ecac93d67c6a671198091c2270354f80322327" datatype="html">\n        <source>\n          <x id="START_ITALIC_TEXT" ctype="x-i" equiv-text="<i>"/>\n          <x id="CLOSE_ITALIC_TEXT" ctype="x-i" equiv-text="</i>"/> See \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Logs\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more details.\n        </source>\n        <target>\n          <x id="START_ITALIC_TEXT" ctype="x-i" equiv-text="<i>"/>\n          <x id="CLOSE_ITALIC_TEXT" ctype="x-i" equiv-text="</i>"/> See \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Logs\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more details.\n        </target>\n      </trans-unit>\n      <trans-unit id="0c1e17956453ad772dbe82d6946f62748c692f3e" datatype="html">\n        <source>Ranks</source>\n        <target>Rangs</target>\n      </trans-unit>\n      <trans-unit id="2b24e0b0b1629d2e8a51b9da7c75d6e6379f4bc4" datatype="html">\n        <source>Standbys</source>\n        <target>Standbys</target>\n      </trans-unit>\n      <trans-unit id="50df62325726db950523a5be1c78b8905fcc25d4" datatype="html">\n        <source>MDS performance counters</source>\n        <target>MDS performance counters</target>\n      </trans-unit>\n      <trans-unit id="a7b6508fb834bee9e48e11e4503fbbc2d19204de" datatype="html">\n        <source>Clients: \n          <x id="INTERPOLATION" equiv-text="{{ clients.data.length }}"/>\n        </source>\n        <target>Clients: \n          <x id="INTERPOLATION" equiv-text="{{ clients.data.length }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6e213942c6354b9cbe7a650f0f1499bfc1000fb6" datatype="html">\n        <source>Directories</source>\n        <target>Directories</target>\n      </trans-unit>\n      <trans-unit id="47116253e36f4e38a97ba41b2d3122c6c15ab904" datatype="html">\n        <source>Clients (\n          <x id="INTERPOLATION" equiv-text="{{ clients.length }}"/>)\n        </source>\n        <target>Clients (\n          <x id="INTERPOLATION" equiv-text="{{ clients.length }}"/>)\n        </target>\n      </trans-unit>\n      <trans-unit id="bd5a3b1c5a3c185c7bbb0e09a061d4cdc88ce5ad" datatype="html">\n        <source>Current</source>\n        <target>Actuel</target>\n      </trans-unit>\n      <trans-unit id="e5e7d62e942083a59b0b31f54e17cd7958186052" datatype="html">\n        <source>Updated discovery authentication</source>\n        <target>Authentification de la découverte mise à jour</target>\n      </trans-unit>\n      <trans-unit id="dd4ab758afd5fd5a6c6a25b2b30ff99d0c00e9ad" datatype="html">\n        <source>There are no portals available.</source>\n        <target>Il n\'y a aucun portail disponible.</target>\n      </trans-unit>\n      <trans-unit id="83021e45778a4a230a14ca0c6d6ccdf05500ad93" datatype="html">\n        <source>There are no images available.</source>\n        <target>Il n\'y a aucune image disponible.</target>\n      </trans-unit>\n      <trans-unit id="86684eb21f8a768e1dbc659e3d5da6861db544a0" datatype="html">\n        <source>There are no images available. Please make sure you add an image to the target.</source>\n        <target>Il n\'y a aucune image disponible. Veillez à ajouter une image à la cible.</target>\n      </trans-unit>\n      <trans-unit id="fffda6e440078f57eba93944ce051c593cc6ed7f" datatype="html">\n        <source>There are no initiators available. Please make sure you add an initiator to the target.</source>\n        <target>Il n\'y a aucun initiateur disponible. Veillez à ajouter un initiateur à la cible.</target>\n      </trans-unit>\n      <trans-unit id="cea3c6fe490385eef1584cbc4983fda7ece24bb6" datatype="html">\n        <source>target</source>\n        <target>target</target>\n      </trans-unit>\n      <trans-unit id="38baeb215c17af9d9e295e371a57f4a48ab4c191" datatype="html">\n        <source>Target</source>\n        <target>Cible</target>\n      </trans-unit>\n      <trans-unit id="99e094878070eebc1b972bac02aaa33b2bf83b35" datatype="html">\n        <source># Sessions</source>\n        <target># Sessions</target>\n      </trans-unit>\n      <trans-unit id="c49e0dd71d551bd4928d967d78f0721dbf9f95e3" datatype="html">\n        <source>Target has active sessions</source>\n        <target>Target has active sessions</target>\n      </trans-unit>\n      <trans-unit id="a87acd72dfb68b45175270695209550a85adf50c" datatype="html">\n        <source>iSCSI target</source>\n        <target>iSCSI target</target>\n      </trans-unit>\n      <trans-unit id="873b72903b1858a9cd6c8967521030b4d7d1435b" datatype="html">\n        <source>State</source>\n        <target>État</target>\n      </trans-unit>\n      <trans-unit id="02b75464c0dc0cf49ea0208211b6fbcad3bf728a" datatype="html">\n        <source># Targets</source>\n        <target># Targets</target>\n      </trans-unit>\n      <trans-unit id="13415637c325ceefee29111b31cb48701490adf7" datatype="html">\n        <source>Read Bytes</source>\n        <target>Octets de lecture</target>\n      </trans-unit>\n      <trans-unit id="e2ed82b7bbf4a006e60e6208c597b05d5b5556e9" datatype="html">\n        <source>Write Bytes</source>\n        <target>Octets d\'écriture</target>\n      </trans-unit>\n      <trans-unit id="6a32a5f58845ca840185ea9564682094e77a1d80" datatype="html">\n        <source>Read Ops</source>\n        <target>Opérations de lecture</target>\n      </trans-unit>\n      <trans-unit id="7c36cb8032af123d3550ffab2e1fa1e957c87fae" datatype="html">\n        <source>Write Ops</source>\n        <target>Opérations d\'écriture</target>\n      </trans-unit>\n      <trans-unit id="458c33846a8c7e2feb9404bcf06723784e756cdc" datatype="html">\n        <source>A/O Since</source>\n        <target>A/O depuis</target>\n      </trans-unit>\n      <trans-unit id="ff78f059449d44322f627d0f66df07abe476962b" datatype="html">\n        <source>Instance</source>\n        <target>Instance</target>\n      </trans-unit>\n      <trans-unit id="36fad7995cadfb3a6f0d43ef2db280146b3ca022" datatype="html">\n        <source>Issue</source>\n        <target>Problème</target>\n      </trans-unit>\n      <trans-unit id="15793f4cbc261bedbc60f7105533dde536a3f42b" datatype="html">\n        <source>Progress</source>\n        <target>Avancement</target>\n      </trans-unit>\n      <trans-unit id="f39256070bfc0714020dfee08895421fc1527014" datatype="html">\n        <source>Disabled</source>\n        <target>Désactivé</target>\n      </trans-unit>\n      <trans-unit id="8c375764db42f5d736fb56d01b8052c006ccc8e2" datatype="html">\n        <source>Edit Mode</source>\n        <target>Mode d\'édition</target>\n      </trans-unit>\n      <trans-unit id="45932f2a0ea524b3425f4320ee46a6d1c68977bc" datatype="html">\n        <source>Add Peer</source>\n        <target>Ajouter un homologue</target>\n      </trans-unit>\n      <trans-unit id="d3dc34662e3cda0dad646221651cebd26f731485" datatype="html">\n        <source>Edit Peer</source>\n        <target>Modifier un homologue</target>\n      </trans-unit>\n      <trans-unit id="e8a0ec0b6ee72db0f27c186e09640d1ed41964bd" datatype="html">\n        <source>Delete Peer</source>\n        <target>Supprimer un homologue</target>\n      </trans-unit>\n      <trans-unit id="314de06d6f64d39149e78e6d796585c0246fec0b" datatype="html">\n        <source>Leader</source>\n        <target>Leader</target>\n      </trans-unit>\n      <trans-unit id="7acaab450312114059ced9e3737798ee9aa738b1" datatype="html">\n        <source># Local</source>\n        <target>nb en local</target>\n      </trans-unit>\n      <trans-unit id="7a3ffd88868135c44be3994263bb8e49d8358884" datatype="html">\n        <source># Remote</source>\n        <target>nb à distance</target>\n      </trans-unit>\n      <trans-unit id="85ca0fd6a6ddd211023c70a25753122c5b978787" datatype="html">\n        <source>mirror peer</source>\n        <target>mettre en miroir l\'homologue</target>\n      </trans-unit>\n      <trans-unit id="a6493c6ca346cd052da40423eda9c132de2b2002" datatype="html">\n        <source>Key</source>\n        <target>Clef</target>\n      </trans-unit>\n      <trans-unit id="e9cac80fb5d9de66f0006d0bec530fd1fc69a674" datatype="html">\n        <source>RBD</source>\n        <target>RBD</target>\n      </trans-unit>\n      <trans-unit id="4130b1a836f2000cfe9a11fb62493dc42d444de7" datatype="html">\n        <source>Deep flatten</source>\n        <target>Aplatissement en profondeur</target>\n      </trans-unit>\n      <trans-unit id="7b17694d7cb8ecb7c8440bc999dac21b44455b33" datatype="html">\n        <source>Layering</source>\n        <target>Superposition</target>\n      </trans-unit>\n      <trans-unit id="6a072ce577c2079d0e0c31071a16824f6d22b84d" datatype="html">\n        <source>Exclusive lock</source>\n        <target>Verrou exclusif</target>\n      </trans-unit>\n      <trans-unit id="7354f01320bf936a7f85577c9f71402635c3a362" datatype="html">\n        <source>Object map (requires exclusive-lock)</source>\n        <target>Assignation d\'objet (nécessite exclusive-lock)</target>\n      </trans-unit>\n      <trans-unit id="fb7e625c1152f1c102cd16460955d124edff1770" datatype="html">\n        <source>Journaling (requires exclusive-lock)</source>\n        <target>Journalisation (nécessite exclusive-lock)</target>\n      </trans-unit>\n      <trans-unit id="df4044632bfc211dd96544fc8f007dabbeeb506c" datatype="html">\n        <source>Fast diff (interlocked with object-map)</source>\n        <target>Fast diff (interlocked with object-map)</target>\n      </trans-unit>\n      <trans-unit id="631fc50ec7c9bd81dc797a3c7e09eda1178ad999" datatype="html">\n        <source>Parent image must support Layering</source>\n        <target>Parent image must support Layering</target>\n      </trans-unit>\n      <trans-unit id="7eb984588f4835f6d0187b33769b4b0f62821640" datatype="html">\n        <source>RBD snapshot rollback</source>\n        <target>Retour à l\'état initial de l\'instantané RBD</target>\n      </trans-unit>\n      <trans-unit id="4be22bf20ef82614ed53bcd3b912a85590aa71c9" datatype="html">\n        <source>Rollback</source>\n        <target>Revenir à l\'état initial</target>\n      </trans-unit>\n      <trans-unit id="2a04c483708d261751d62082d6f03a50d4577b1e" datatype="html">\n        <source>RBD snapshot</source>\n        <target>Intantané RBD</target>\n      </trans-unit>\n      <trans-unit id="fa96769d1ea86741297cb9b9769b0dcfde58c8b4" datatype="html">\n        <source>Deleted At</source>\n        <target>Supprimé le</target>\n      </trans-unit>\n      <trans-unit id="e928864038ca70ee7d67bbf1fd71a01c3938a127" datatype="html">\n        <source>id</source>\n        <target>ID</target>\n      </trans-unit>\n      <trans-unit id="240c9c1e96dc38814922a83ad041dc815b084f32" datatype="html">\n        <source>type</source>\n        <target>type</target>\n      </trans-unit>\n      <trans-unit id="c9d7ec7ee5b4e282f2228fa996651ec4ef5195a9" datatype="html">\n        <source>state</source>\n        <target>état</target>\n      </trans-unit>\n      <trans-unit id="5780e5c3b4fc2ae07836bb5221cec4f8d597630d" datatype="html">\n        <source>version</source>\n        <target>version</target>\n      </trans-unit>\n      <trans-unit id="fe22ca53e651df951dac25b67c17894b0980f767" datatype="html">\n        <source>Host</source>\n        <target>Hôte</target>\n      </trans-unit>\n      <trans-unit id="fb69299354312c8954ecf324997ccafcd9f6b14b" datatype="html">\n        <source>root</source>\n        <target>racine</target>\n      </trans-unit>\n      <trans-unit id="d34feb369d308075b423d5c5fc431f9766bf7a11" datatype="html">\n        <source>Evicted client "\n          <x id="INTERPOLATION" equiv-text="{{clientId}}"/>"\n        </source>\n        <target>Evicted client "\n          <x id="INTERPOLATION" equiv-text="{{clientId}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="7db875ff4cc626d394f37fba95c075b2e4bfeb00" datatype="html">\n        <source>Standby daemons</source>\n        <target>Daemons en veille</target>\n      </trans-unit>\n      <trans-unit id="3c3a423d91e36ac6624e909fcd2669a25685f847" datatype="html">\n        <source>Rank</source>\n        <target>Rang</target>\n      </trans-unit>\n      <trans-unit id="9596ecae8956e96921acef47aec787f6bdc37454" datatype="html">\n        <source>Daemon</source>\n        <target>Daemon</target>\n      </trans-unit>\n      <trans-unit id="f2005fa461c06dc2e04d8918bbabedf23604b5b7" datatype="html">\n        <source>Activity</source>\n        <target>Activité</target>\n      </trans-unit>\n      <trans-unit id="e3a986984ae0c3b43af648c3fa638649d1c00348" datatype="html">\n        <source>Dentries</source>\n        <target>Dentries</target>\n      </trans-unit>\n      <trans-unit id="7c692ab865066967d73c6d64ec0691cc6ce91b93" datatype="html">\n        <source>Inodes</source>\n        <target>Inodes</target>\n      </trans-unit>\n      <trans-unit id="45f210b96a2a6e91f52f153a4f8dc30662629f8e" datatype="html">\n        <source>Usage</source>\n        <target>Utilisation</target>\n      </trans-unit>\n      <trans-unit id="950b5f04a2efd3f11c0f76418d5a4212381e792e" datatype="html">\n        <source>Origin</source>\n        <target>Origin</target>\n      </trans-unit>\n      <trans-unit id="22e4e574b7f8abf58254f328792445b42e2a924a" datatype="html">\n        <source>The value can be updated at runtime.</source>\n        <target>La valeur peut être mise à jour au moment de l\'exécution.</target>\n      </trans-unit>\n      <trans-unit id="d7770de7b2343c9deeaa7ebf37ba3e35ca5c5988" datatype="html">\n        <source>Daemons/clients do not pull this value from the\n      monitor config database. We disallow setting this option via \'ceph config\n      set ...\'. This option should be configured via ceph.conf or via the\n      command line.</source>\n        <target>Les daemons/clients ne tirent pas cette valeur de\n  la base de données de configuration de Monitor. Nous n\'autorisons pas le réglage de cette option via \'ceph config\n  set ...\'. Cette option doit être configurée via ceph.conf ou via\n  la ligne de commande.</target>\n      </trans-unit>\n      <trans-unit id="83f11fd1dc503c37931ea6c1c5c1e8c2b4b597b6" datatype="html">\n        <source>Option takes effect only during daemon startup.</source>\n        <target>L\'option ne prend effet qu\'au démarrage du daemon.</target>\n      </trans-unit>\n      <trans-unit id="837a07cd6a971038b8b1aa190c43440c9fdb5d8b" datatype="html">\n        <source>Option only affects cluster creation.</source>\n        <target>L\'option n\'affecte que la création des grappes.</target>\n      </trans-unit>\n      <trans-unit id="2566a88eb247c918b71cfe5b354c31de0d4b01e5" datatype="html">\n        <source>Option only affects daemon creation.</source>\n        <target>L\'option n\'affecte que la création des daemons.</target>\n      </trans-unit>\n      <trans-unit id="1cdc60cfc09c257625768f3d2082816cdef27279" datatype="html">\n        <source>Updated config option \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\n        </source>\n        <target>Updated config option \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="d473e0f684a60db45d6f31e993f693f74290e056" datatype="html">\n        <source>Service</source>\n        <target>Service</target>\n      </trans-unit>\n      <trans-unit id="9951bb3983c7dba6fde013e05c922e4fe1a44367" datatype="html">\n        <source>Current value</source>\n        <target>Valeur actuelle</target>\n      </trans-unit>\n      <trans-unit id="4a01c175f90dd92b432f4a4a199d2c7bb9d997ff" datatype="html">\n        <source>Editable</source>\n        <target>Modifiable</target>\n      </trans-unit>\n      <trans-unit id="261c0af854e8684abc15f89dce6efb3e72344b18" datatype="html">\n        <source>host</source>\n        <target>host</target>\n      </trans-unit>\n      <trans-unit id="9e35065e7c579e1fb960499117fd4b3c68d1c263" datatype="html">\n        <source>Host operation is disabled because orchestrator is unavailable</source>\n        <target>Host operation is disabled because orchestrator is unavailable</target>\n      </trans-unit>\n      <trans-unit id="a5d5e407f8c4e1b152509c966c90f37edf68472e" datatype="html">\n        <source>Device path</source>\n        <target>Device path</target>\n      </trans-unit>\n      <trans-unit id="94e76c060aa68c05d8c4a3f5a20c92fab3e83ccf" datatype="html">\n        <source>Rotates</source>\n        <target>Rotates</target>\n      </trans-unit>\n      <trans-unit id="b7da3e3505cc80f9bf3cffc8444c53e8a9ec70a5" datatype="html">\n        <source>Available</source>\n        <target>Available</target>\n      </trans-unit>\n      <trans-unit id="6ec98fa3d6504ba1fd03465194b53706c8263c99" datatype="html">\n        <source>Model</source>\n        <target>Model</target>\n      </trans-unit>\n      <trans-unit id="1a6e6ad05508130b7a99ce5b15daf3227c2a930c" datatype="html">\n        <source>Updated options for module "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>".\n        </source>\n        <target>Updated options for module "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="ac6c9212896d39b23811ed2dadab7d07336ec559" datatype="html">\n        <source>Enable</source>\n        <target>Activer</target>\n      </trans-unit>\n      <trans-unit id="6766a926d80bb7763785621098dae459d6226429" datatype="html">\n        <source>Disable</source>\n        <target>Désactiver</target>\n      </trans-unit>\n      <trans-unit id="340f2f312c2eb353e5cd69aee6bee7f5a73c34ac" datatype="html">\n        <source>This Manager module is always on.</source>\n        <target>This Manager module is always on.</target>\n      </trans-unit>\n      <trans-unit id="6a0b3657745dd7a2f2162f1cc790bf9004d0845d" datatype="html">\n        <source>Reconnecting, please wait ...</source>\n        <target>Reconnexion en cours… Veuillez patienter.</target>\n      </trans-unit>\n      <trans-unit id="7099a8878af7a0a26fe5663c4f46cfe87142b75d" datatype="html">\n        <source>Public Address</source>\n        <target>Adresse publique</target>\n      </trans-unit>\n      <trans-unit id="cbdd1cdc0c7a87f55dd177bc44212f0fc4b80852" datatype="html">\n        <source>Open Sessions</source>\n        <target>Sessions ouvertes</target>\n      </trans-unit>\n      <trans-unit id="37e58d1cbdf8212b380efa51422e42821d4f08e6" datatype="html">\n        <source>No In</source>\n        <target>Pas rentrés</target>\n      </trans-unit>\n      <trans-unit id="12706eb5af17ff5ad77b3de21af368d24678e00b" datatype="html">\n        <source>OSDs that were previously marked out will not be marked back in when they start</source>\n        <target>Les OSD qui ont été marqués comme sortis ne seront pas marqués comme rentrés à leur démarrage.</target>\n      </trans-unit>\n      <trans-unit id="96114d7624d11dc90ca46cfa96145fe22118df76" datatype="html">\n        <source>No Out</source>\n        <target>Pas sortis</target>\n      </trans-unit>\n      <trans-unit id="a2ef636fe1ddd56b63e4aaf3d292f33dbf735ef3" datatype="html">\n        <source>OSDs will not automatically be marked out after the configured interval</source>\n        <target>Les OSD ne seront pas marqués automatiquement comme sortis après l\'intervalle configuré.</target>\n      </trans-unit>\n      <trans-unit id="ee50aefa9b8bde1e5429b48709a23abfe08358e0" datatype="html">\n        <source>No Up</source>\n        <target>Pas démarrés</target>\n      </trans-unit>\n      <trans-unit id="608929b939307e397586a98cea52ae38997c7273" datatype="html">\n        <source>OSDs are not allowed to start</source>\n        <target>Les OSD ne sont pas autorisés à démarrer.</target>\n      </trans-unit>\n      <trans-unit id="1751ab69c1e7f62927afedbf7116e0116316c551" datatype="html">\n        <source>No Down</source>\n        <target>Pas arrêtés</target>\n      </trans-unit>\n      <trans-unit id="41fac86dfb65c1db690f3e87f6497cb73b281084" datatype="html">\n        <source>OSD failure reports are being ignored, such that the monitors will not mark OSDs down</source>\n        <target>Les rapports de défaillance des OSD sont ignorés, de sorte que les moniteurs ne marquent pas les OSD comme étant arrêtés.</target>\n      </trans-unit>\n      <trans-unit id="b2838c6165a9672a17db188f4dd9676574353dd8" datatype="html">\n        <source>Pause</source>\n        <target>Pause</target>\n      </trans-unit>\n      <trans-unit id="191d71dadcc8790573d46706a0b48211de4b8334" datatype="html">\n        <source>Pauses reads and writes</source>\n        <target>Met en pause les lectures et écritures</target>\n      </trans-unit>\n      <trans-unit id="471d5ba75836f38c19992cf83d8822632d99e473" datatype="html">\n        <source>No Scrub</source>\n        <target>Pas de nettoyage</target>\n      </trans-unit>\n      <trans-unit id="5b8caa61814121bc36dac0c34a9e9de3cae74990" datatype="html">\n        <source>Scrubbing is disabled</source>\n        <target>Nettoyage désactivé</target>\n      </trans-unit>\n      <trans-unit id="7f29a0ac1c797bdc0347dd5d0734ba83e96e7ce6" datatype="html">\n        <source>No Deep Scrub</source>\n        <target>Pas de nettoyage en profondeur</target>\n      </trans-unit>\n      <trans-unit id="01da61ab216541a8d31259cebd16b10c7e5fc124" datatype="html">\n        <source>Deep Scrubbing is disabled</source>\n        <target>Le nettoyage en profondeur est désactivé</target>\n      </trans-unit>\n      <trans-unit id="0b86c7f18ac725de62c7e192dcfccd02c0dc40ab" datatype="html">\n        <source>No Backfill</source>\n        <target>Pas de renvoi</target>\n      </trans-unit>\n      <trans-unit id="bd33a2bdc8fbed3b7469f3717c16d9aaa2851fdd" datatype="html">\n        <source>Backfilling of PGs is suspended</source>\n        <target>Le renvoi des groupes de placements est suspendu</target>\n      </trans-unit>\n      <trans-unit id="7fbbd036394cfa623add40299757bc87df8eaa7e" datatype="html">\n        <source>No Recover</source>\n        <target>Pas de récupération</target>\n      </trans-unit>\n      <trans-unit id="f3ee9b451a64dca47299c9b4ae1091c2008068ad" datatype="html">\n        <source>Recovery of PGs is suspended</source>\n        <target>La récupération des groupes de placements est suspendue</target>\n      </trans-unit>\n      <trans-unit id="de904148fe7e8d812218f50333ffe247900617c5" datatype="html">\n        <source>Bitwise Sort</source>\n        <target>Tri au niveau du bit</target>\n      </trans-unit>\n      <trans-unit id="2613c9fde29785bcd75f0abeccb653d14d7527b3" datatype="html">\n        <source>Use bitwise sort</source>\n        <target>Utiliser le tri au niveau du bit</target>\n      </trans-unit>\n      <trans-unit id="2fe10d84250aeee365db244251d40934c70ff1e9" datatype="html">\n        <source>Purged Snapdirs</source>\n        <target>Variables snapdir purgées</target>\n      </trans-unit>\n      <trans-unit id="6b22a5b780eda3c5d500cdac9c6d4f96978c38f1" datatype="html">\n        <source>OSDs have converted snapsets</source>\n        <target>Les OSD ont converti les variables snapset</target>\n      </trans-unit>\n      <trans-unit id="c42f0ba60564dc5b977a8c7f3fdcde9efbb39c60" datatype="html">\n        <source>Recovery Deletes</source>\n        <target>Suppressions des récupérations</target>\n      </trans-unit>\n      <trans-unit id="72fe39979198ea2ed6db6274b5029025cb316d90" datatype="html">\n        <source>Deletes performed during recovery instead of peering</source>\n        <target>Suppressions effectuées pendant la restauration et non l\'homologation</target>\n      </trans-unit>\n      <trans-unit id="1bb4a1f9127cefe624c173557a716d0ebb6d647c" datatype="html">\n        <source>PG Log Hard Limit</source>\n        <target>Limite stricte de journalisation des groupes de placements</target>\n      </trans-unit>\n      <trans-unit id="e03c0321397fdf7a9c22e8d6b5015424943c0a57" datatype="html">\n        <source>Puts a hard limit on pg log length</source>\n        <target>Impose une limite stricte à la longueur du journal des groupes de placements</target>\n      </trans-unit>\n      <trans-unit id="3c384e2e80c6b5eb24861fbf4225b69486cff4a3" datatype="html">\n        <source>Updated OSD Flags</source>\n        <target>Drapeaux OSD mis à jour</target>\n      </trans-unit>\n      <trans-unit id="688578fcc739d6f0c5fb6c366dbb19d21c6d9e36" datatype="html">\n        <source>out</source>\n        <target>sorti</target>\n      </trans-unit>\n      <trans-unit id="cb0f69bdd4dea41d7d45c74b6e07f98de8a2ab26" datatype="html">\n        <source>in</source>\n        <target>rentré</target>\n      </trans-unit>\n      <trans-unit id="b5fbc7c7f007dd53b2318525bb7ff8b0376c9e37" datatype="html">\n        <source>down</source>\n        <target>arrêté</target>\n      </trans-unit>\n      <trans-unit id="b58719bcb9184e1a7884d00d22d10899d59bf295" datatype="html">\n        <source>Mark</source>\n        <target>Marquer</target>\n      </trans-unit>\n      <trans-unit id="31a1c1aa03f1e5084750bedb4e3fdc04ce2cb6ca" datatype="html">\n        <source>OSD lost</source>\n        <target>OSD perdu</target>\n      </trans-unit>\n      <trans-unit id="f3fc4c85c5b8f1dedea0496b72d0af9da7b9e0d9" datatype="html">\n        <source>marked lost</source>\n        <target>marqué comme perdu</target>\n      </trans-unit>\n      <trans-unit id="40fedc157ad899a18ec40573f770d18b040959d2" datatype="html">\n        <source>Purge</source>\n        <target>Purger</target>\n      </trans-unit>\n      <trans-unit id="c8b1475105463088593de1022ff6dceb523eae0e" datatype="html">\n        <source>OSD</source>\n        <target>OSD</target>\n      </trans-unit>\n      <trans-unit id="4f3cff08c7033b63bbccfe66006b1bcaea48ddd8" datatype="html">\n        <source>purged</source>\n        <target>purgé</target>\n      </trans-unit>\n      <trans-unit id="8e5d1b01eca6dce26a4751f0b19bda7a6ab8db5b" datatype="html">\n        <source>destroy</source>\n        <target>détruire</target>\n      </trans-unit>\n      <trans-unit id="495a06b78bf165a7b545fa002137f0846b094a3d" datatype="html">\n        <source>destroyed</source>\n        <target>détruit</target>\n      </trans-unit>\n      <trans-unit id="107614b994f2b01abdc1ca179bf780b0cd933ec4" datatype="html">\n        <source>Recovery Priority</source>\n        <target>Recovery Priority</target>\n      </trans-unit>\n      <trans-unit id="359dad5a3a912ef9dece3194035020856805aa96" datatype="html">\n        <source>PG scrub</source>\n        <target>PG scrub</target>\n      </trans-unit>\n      <trans-unit id="953144c420c2e5abd02e6a687433eac60fa852bd" datatype="html">\n        <source>PGs</source>\n        <target>Groupes de placements</target>\n      </trans-unit>\n      <trans-unit id="7d3523ea9d35c274cef84043de8a2fdde540a9a1" datatype="html">\n        <source>Read bytes</source>\n        <target>Octets de lecture</target>\n      </trans-unit>\n      <trans-unit id="ecbe2fdca919499125bc42c2c67cedae8563db1c" datatype="html">\n        <source>Writes bytes</source>\n        <target>Octets d\'écriture</target>\n      </trans-unit>\n      <trans-unit id="f3c33322823c846b13f59ba2c8f234405bba99e1" datatype="html">\n        <source>Read ops</source>\n        <target>Opérations de lecture</target>\n      </trans-unit>\n      <trans-unit id="7e0b24a17546cbfab48b03dc874461d1ca68bc9a" datatype="html">\n        <source>Write ops</source>\n        <target>Opérations d\'écriture</target>\n      </trans-unit>\n      <trans-unit id="d45455406092f58e6b089cb440b5b7934b801a01" datatype="html">\n        <source>Mark OSD \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </source>\n        <target>Mark OSD \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="de0b7806e451b3b3dbd564decba59981fe781c18" datatype="html">\n        <source>Mark \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </source>\n        <target>Mark \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="bba1d3bb4f8a47aa2b3068e242562196eadb1e83" datatype="html">\n        <source>PG scrub options</source>\n        <target>PG scrub options</target>\n      </trans-unit>\n      <trans-unit id="b0b7748ebc9b7a6942a8cac4a89d4b215b365878" datatype="html">\n        <source>Updated PG scrub options</source>\n        <target>Updated PG scrub options</target>\n      </trans-unit>\n      <trans-unit id="4edc2162af0bd6cd941eaf730d20a7e3b5a83ba7" datatype="html">\n        <source>Max Backfills</source>\n        <target>Nbre max. de renvois</target>\n      </trans-unit>\n      <trans-unit id="eb5e6c24a48a1dfe23e0a772b762be5e949c0c8a" datatype="html">\n        <source>Recovery Max Active</source>\n        <target>Nombre maximum de récupérations actives</target>\n      </trans-unit>\n      <trans-unit id="4a23c6d3859e03184118620d2baeb736ac765fbf" datatype="html">\n        <source>Recovery Max Single Start</source>\n        <target>Nombre maximum de démarrages uniques de récupérations</target>\n      </trans-unit>\n      <trans-unit id="97049169ef5228fd1724de2fcdad1fec2858eaf8" datatype="html">\n        <source>Recovery Sleep</source>\n        <target>Mise en veille de la récupération</target>\n      </trans-unit>\n      <trans-unit id="a5c05002b0ac2040f1aede5e727e0ffd06eda819" datatype="html">\n        <source>Custom</source>\n        <target>Personnalisé</target>\n      </trans-unit>\n      <trans-unit id="89553524f4e7db5c437b07dcfdc7b831d56ded1a" datatype="html">\n        <source>Updated OSD recovery speed priority "\n          <x id="INTERPOLATION" equiv-text="{{value}}"/>"\n        </source>\n        <target>Updated OSD recovery speed priority "\n          <x id="INTERPOLATION" equiv-text="{{value}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="ccf5f30798c03d2d8efd0e6eb508320c018b722d" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{operation}}"/> was initialized in the following OSD(s): \n          <x id="INTERPOLATION_1" equiv-text="{{id}}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{operation}}"/> was initialized in the following OSD(s): \n          <x id="INTERPOLATION_1" equiv-text="{{id}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="9836e830d0219585b36d53be00a31c3d4798a4aa" datatype="html">\n        <source>Smartctl has received an unknown argument (error code\n          <x id="INTERPOLATION" equiv-text="{{smartData.smartctl_error_code}}"/>). You may be using an\n                incompatible version of smartmontools. Version &gt;= 7.0 of\n                smartmontools is required to succesfully retrieve data.\n        </source>\n        <target>Smartctl has received an unknown argument (error code\n          <x id="INTERPOLATION" equiv-text="{{smartData.smartctl_error_code}}"/>). You may be using an\n                incompatible version of smartmontools. Version &gt;= 7.0 of\n                smartmontools is required to succesfully retrieve data.\n        </target>\n      </trans-unit>\n      <trans-unit id="d5fd840374ca1a6f394bcd81f390a6dca27f8224" datatype="html">\n        <source>An error with error code \n          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.\n        </source>\n        <target>An error with error code \n          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.\n        </target>\n      </trans-unit>\n      <trans-unit id="a0b59d7139692bb8d8ed786b6eb6e9e70ce743f3" datatype="html">\n        <source>Raw</source>\n        <target>Raw</target>\n      </trans-unit>\n      <trans-unit id="2f3beddc8234b30fb26a7f63ba2f1ea74f2ed6f7" datatype="html">\n        <source>Threshold</source>\n        <target>Threshold</target>\n      </trans-unit>\n      <trans-unit id="4654b5a68af3c8bad29aa14ca85ccea1f3143c6b" datatype="html">\n        <source>When Failed</source>\n        <target>When Failed</target>\n      </trans-unit>\n      <trans-unit id="5b7f56d5be49fb8e8d8f40209d6746f8f72e9177" datatype="html">\n        <source>Worst</source>\n        <target>Worst</target>\n      </trans-unit>\n      <trans-unit id="1edb8e46b0fac57c5feb3d7d3585afc0122d5481" datatype="html">\n        <source>Create silence</source>\n        <target>Create silence</target>\n      </trans-unit>\n      <trans-unit id="78917e8031aaf913ac3fa63295325ce8879703ce" datatype="html">\n        <source>Job</source>\n        <target>Travail</target>\n      </trans-unit>\n      <trans-unit id="94287619205068b591c18493c64781424864c259" datatype="html">\n        <source>Severity</source>\n        <target>Gravité</target>\n      </trans-unit>\n      <trans-unit id="e6cfbe0c5e0302ba2cec22315f6a28f8ac46b651" datatype="html">\n        <source>Started</source>\n        <target>Démarré</target>\n      </trans-unit>\n      <trans-unit id="801b98c6f02fe3b32f6afa3ee854c99ed83474e6" datatype="html">\n        <source>URL</source>\n        <target>URL</target>\n      </trans-unit>\n      <trans-unit id="a5cd682a8a33bdc72e093d059429e3cc3a50ec1d" datatype="html">\n        <source>silence</source>\n        <target>silence</target>\n      </trans-unit>\n      <trans-unit id="f557e117e059e7036c6eecacd325a6ae35d866e0" datatype="html">\n        <source>Attribute name</source>\n        <target>Attribute name</target>\n      </trans-unit>\n      <trans-unit id="50f7f517ad8158667f7d4e2bd6f3256e05156e75" datatype="html">\n        <source>Regular expression</source>\n        <target>Regular expression</target>\n      </trans-unit>\n      <trans-unit id="81b1eab399c47110d50f45e3ccb4c009de7cb581" datatype="html">\n        <source>Please add your Prometheus host to the dashboard configuration and refresh the page</source>\n        <target>Please add your Prometheus host to the dashboard configuration and refresh the page</target>\n      </trans-unit>\n      <trans-unit id="29b4ae3296e239446fa0dea88a5112de15cffa54" datatype="html">\n        <source>Created by</source>\n        <target>Created by</target>\n      </trans-unit>\n      <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc" datatype="html">\n        <source>Updated</source>\n        <target>Mis à jour</target>\n      </trans-unit>\n      <trans-unit id="8d833cceee0ba4c5161b130365e02bc1e129b57e" datatype="html">\n        <source>Ends</source>\n        <target>Ends</target>\n      </trans-unit>\n      <trans-unit id="46a11ff4289e8c88b1b7a935f8d8ee704055f11a" datatype="html">\n        <source>Silence</source>\n        <target>Silence</target>\n      </trans-unit>\n      <trans-unit id="f392abfbb997402ce2aebb13e660a8f01dec54db" datatype="html">\n        <source>Service type</source>\n        <target>Service type</target>\n      </trans-unit>\n      <trans-unit id="9ffa91b056fb979786627885651e19c8275675cd" datatype="html">\n        <source>Service instance</source>\n        <target>Service instance</target>\n      </trans-unit>\n      <trans-unit id="b5910192a9ac4816638ff6383b03f986ff965796" datatype="html">\n        <source>Container id</source>\n        <target>Container id</target>\n      </trans-unit>\n      <trans-unit id="60ab9cce12a56cdc5ec6a1b699f8c7afecd629d5" datatype="html">\n        <source>Rados config location</source>\n        <target>Rados config location</target>\n      </trans-unit>\n      <trans-unit id="dfa409f831c9168a377bdee02c5ea6aaf9b2bf61" datatype="html">\n        <source>Service URL</source>\n        <target>Service URL</target>\n      </trans-unit>\n      <trans-unit id="bf2468fd965b8a59c135ad549b3a612aa9873abc" datatype="html">\n        <source>Status Description</source>\n        <target>Status Description</target>\n      </trans-unit>\n      <trans-unit id="fb2e1bed329dc5b84197808c778abb9edcbdb335" datatype="html">\n        <source>Used</source>\n        <target>Utilisé</target>\n      </trans-unit>\n      <trans-unit id="4f1ab04d9100fb0df0e62b921ec46ae052ae29fc" datatype="html">\n        <source>Avail.</source>\n        <target>Dispo.</target>\n      </trans-unit>\n      <trans-unit id="a1c9b3d4fa67450fe9afd1d726f8a1bd91d990ea" datatype="html">\n        <source>Clean</source>\n        <target>Nettoyé</target>\n      </trans-unit>\n      <trans-unit id="0054f5460090d6dde385e8f099d598df5d28cf54" datatype="html">\n        <source>Working</source>\n        <target>En cours</target>\n      </trans-unit>\n      <trans-unit id="a8059e31694578c1b0344a76a345357dd60e8f01" datatype="html">\n        <source>Warning</source>\n        <target>Avertissement</target>\n      </trans-unit>\n      <trans-unit id="e5d8bb389c702588877f039d72178f219453a72d" datatype="html">\n        <source>Unknown</source>\n        <target>Inconnu</target>\n      </trans-unit>\n      <trans-unit id="88155be1b9b9c6140d6e8f93bac4a775cfdc6671" datatype="html">\n        <source>Healthy</source>\n        <target>Healthy</target>\n      </trans-unit>\n      <trans-unit id="8a3aec4dc1a6e2d4c612ae85e0537acbb20a0f85" datatype="html">\n        <source>Misplaced</source>\n        <target>Misplaced</target>\n      </trans-unit>\n      <trans-unit id="ee81f9bf7ceac69712e0b83e8adc268739f9673e" datatype="html">\n        <source>Degraded</source>\n        <target>Degraded</target>\n      </trans-unit>\n      <trans-unit id="14625bc4025daef1969777a67a3cca27e0cd9167" datatype="html">\n        <source>Unfound</source>\n        <target>Unfound</target>\n      </trans-unit>\n      <trans-unit id="8f23ea509d081c2f747d083d44608dbf125b2ea2" datatype="html">\n        <source>replicas</source>\n        <target>replicas</target>\n      </trans-unit>\n      <trans-unit id="129a2224e1f9d19eb5e11e2a07fe10a785556484" datatype="html">\n        <source>up</source>\n        <target>opérationnel</target>\n      </trans-unit>\n      <trans-unit id="d5f29cf0af691726483262d647eb6622be002512" datatype="html">\n        <source>no filesystems</source>\n        <target>aucun système de fichiers</target>\n      </trans-unit>\n      <trans-unit id="b1c4387ffab06f3fa9fdb4411aea955595538d44" datatype="html">\n        <source>active</source>\n        <target>actif</target>\n      </trans-unit>\n      <trans-unit id="1aaf7054d826f2cb05ec3e88a5a4b8116861e1f5" datatype="html">\n        <source>standby</source>\n        <target>veille</target>\n      </trans-unit>\n      <trans-unit id="c9a1080024dca344a48acdb77fa2d54e059f7254" datatype="html">\n        <source>n/a</source>\n        <target>n/a</target>\n      </trans-unit>\n      <trans-unit id="84a1787b6df375847c70f782861d7e7f8f43bff4" datatype="html">\n        <source>active daemon</source>\n        <target>daemon actif</target>\n      </trans-unit>\n      <trans-unit id="24407dc2ebfafaf6b131ee978683b893c3f1d763" datatype="html">\n        <source>quorum</source>\n        <target>quorum</target>\n      </trans-unit>\n      <trans-unit id="2fa50bc07995c6ea660412294298ded39fcb08d9" datatype="html">\n        <source>The NFS Ganesha service is not configured.</source>\n        <target>Le service NFS Ganesha n\'est pas configuré.</target>\n      </trans-unit>\n      <trans-unit id="af1396bdc49f45ea6c4a1e414769f5e2a382c834" datatype="html">\n        <source>Transport</source>\n        <target>Transport</target>\n      </trans-unit>\n      <trans-unit id="b6a0e176d96c4feed2e975a039c044fcf822e152" datatype="html">\n        <source>CephFS User</source>\n        <target>Utilisateur CephFS</target>\n      </trans-unit>\n      <trans-unit id="44dc610cf201a163e8c38da810acec9596930bb3" datatype="html">\n        <source>CephFS Filesystem</source>\n        <target>Système de fichiers CephFS</target>\n      </trans-unit>\n      <trans-unit id="db6dc7124be83c7055cb0f2719e31f2f9d46fd3d" datatype="html">\n        <source>(inherited from global config)</source>\n        <target>(hérité de la configuration globale)</target>\n      </trans-unit>\n      <trans-unit id="e1f97bb86f991553ec7b535cb39e7eaa99dfcfe2" datatype="html">\n        <source>inherited from global config</source>\n        <target>hérité de la configuration globale</target>\n      </trans-unit>\n      <trans-unit id="e751800766277e7c2edd652cec7a7a1a68a37852" datatype="html">\n        <source>-- Select what kind of user id squashing is performed --</source>\n        <target>-- Sélectionner le type de squashing d\'ID utilisateur effectué --</target>\n      </trans-unit>\n      <trans-unit id="4b58387f911e8a7b135a0c4d76c70335c65bbb32" datatype="html">\n        <source>There are no daemons available.</source>\n        <target>Aucun daemon n\'est disponible.</target>\n      </trans-unit>\n      <trans-unit id="18ae8dc1264f06df7ea251175ada2ac1b8401018" datatype="html">\n        <source>NFS export</source>\n        <target>NFS export</target>\n      </trans-unit>\n      <trans-unit id="ae128527ec18892f812a62a1fd15dc50a38060c0" datatype="html">\n        <source>EC Profile</source>\n        <target>EC Profile</target>\n      </trans-unit>\n      <trans-unit id="60fb10c145f9c7ede2b9ddf9b2b0b0f6191d0ebd" datatype="html">\n        <source>Cache Mode</source>\n        <target>Mode cache</target>\n      </trans-unit>\n      <trans-unit id="fa5bfad31d4139f6871443bb74324ffda5cad3e6" datatype="html">\n        <source>Min Evict Age</source>\n        <target>Âge évict min.</target>\n      </trans-unit>\n      <trans-unit id="fd0eb851666df45c34c76fabcda79b0d77bc910b" datatype="html">\n        <source>Min Flush Age</source>\n        <target>Âge vidage min.</target>\n      </trans-unit>\n      <trans-unit id="cb54d2c420a534cee0c308ea5589f8c394ef8d67" datatype="html">\n        <source>Target Max Bytes</source>\n        <target>Nombre max d\'octets cibles</target>\n      </trans-unit>\n      <trans-unit id="07f4ebe6615dca466818ffdae2a69ee217d265fb" datatype="html">\n        <source>Target Max Objects</source>\n        <target>Nombre max. d\'objets cibles</target>\n      </trans-unit>\n      <trans-unit id="eaa8f4df53cf7fa78d078e20a701d10f3dccd77d" datatype="html">\n        <source>No applications added</source>\n        <target>Aucune application ajoutée</target>\n      </trans-unit>\n      <trans-unit id="321c2a7640f11177ea49b0857b94c4b70830c0e6" datatype="html">\n        <source>Applications limit reached</source>\n        <target>Limite d\'applications atteinte</target>\n      </trans-unit>\n      <trans-unit id="519d27742b74fadc8336777452f78891e98aa1dc" datatype="html">\n        <source>A pool can only have up to four applications definitions.</source>\n        <target>Une réserve peut avoir quatre définitions d\'application maximum.</target>\n      </trans-unit>\n      <trans-unit id="b5bec3813f0d45daa7eb9471272969e1bc3e734e" datatype="html">\n        <source>Allowed characters \'_a-zA-Z0-9\'</source>\n        <target>Caractère autorisés \'_a-zA-Z0-9\'</target>\n      </trans-unit>\n      <trans-unit id="807472d29602a0085bce62e534bd66208982c2e2" datatype="html">\n        <source>Maximum length is 128 characters</source>\n        <target>La longueur maximale est de 128 caractères.</target>\n      </trans-unit>\n      <trans-unit id="37785748b9ac9ad1d3e4b111ac502c3284afe84b" datatype="html">\n        <source>Filter or add applications</source>\n        <target>Filtrer ou ajouter des applications</target>\n      </trans-unit>\n      <trans-unit id="38c7b8610ca87835e13eeee6a09ba1c414cd5cb9" datatype="html">\n        <source>Add application</source>\n        <target>Ajouter une application</target>\n      </trans-unit>\n      <trans-unit id="db8c42f077700d8a94619fad9f4c94b7361d5f1d" datatype="html">\n        <source>pool</source>\n        <target>pool</target>\n      </trans-unit>\n      <trans-unit id="65bb2be83261bc4798853bbccdedc110c43feea7" datatype="html">\n        <source>erasure code profile</source>\n        <target>profil de code d\'effacement</target>\n      </trans-unit>\n      <trans-unit id="112d356ad6846959ca4aa5ec9a1f0d9d473b24ec" datatype="html">\n        <source>Replica Size</source>\n        <target>Taille de la réplique</target>\n      </trans-unit>\n      <trans-unit id="ec50492db341fa752b023d8c924601286b6c9c0c" datatype="html">\n        <source>Last Change</source>\n        <target>Dernier changement</target>\n      </trans-unit>\n      <trans-unit id="563a8c136a9d423bc7ae1269a404d6da5fd83dad" datatype="html">\n        <source>Erasure Coded Profile</source>\n        <target>Profil de code d\'effacement</target>\n      </trans-unit>\n      <trans-unit id="0ad7f0662956cff61ac1208f92b1a0305b1b2e58" datatype="html">\n        <source>Crush Ruleset</source>\n        <target>Jeu de règles Crush</target>\n      </trans-unit>\n      <trans-unit id="f15bf7f588f09ca79795b17bc244e8d336f28171" datatype="html">\n        <source>Write bytes</source>\n        <target>Octets d\'écriture</target>\n      </trans-unit>\n      <trans-unit id="bcc365a084b6145b941b371bd4c2b6c3d2c79234" datatype="html">\n        <source>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</source>\n        <target>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</target>\n      </trans-unit>\n      <trans-unit id="44939fd05cedfd077db886528b755e77d5fa3885" datatype="html">\n        <source>bucket</source>\n        <target>compartiment</target>\n      </trans-unit>\n      <trans-unit id="84fee774286ec4191311f1277075455c3ea5e2e2" datatype="html">\n        <source>Updated Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>".\n        </source>\n        <target>Updated Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="2d7a43674f0bbc131c9e555ec16ac37fa0445d76" datatype="html">\n        <source>Created Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>"\n        </source>\n        <target>Created Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="ec40d74ecfb1d6d60455af6805c9a714a3f5750a" datatype="html">\n        <source>buckets</source>\n        <target>compartiments</target>\n      </trans-unit>\n      <trans-unit id="764585d5595bac113582ee14a6fd07006770ceb1" datatype="html">\n        <source>capability</source>\n        <target>capability</target>\n      </trans-unit>\n      <trans-unit id="0914cbe18bae204217e1851be6d2d24d86e74605" datatype="html">\n        <source>user</source>\n        <target>utilisateur</target>\n      </trans-unit>\n      <trans-unit id="d8c86dc5e48a63590d9c94e19f90b5f8325cbd49" datatype="html">\n        <source>subuser</source>\n        <target>subuser</target>\n      </trans-unit>\n      <trans-unit id="f45a3de8a8b40d161cc36a55d77548a27107ca04" datatype="html">\n        <source>S3 Key</source>\n        <target>S3 Key</target>\n      </trans-unit>\n      <trans-unit id="854a763265e92f91ba3ccee1a0e8d823be584f7c" datatype="html">\n        <source>Updated Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </source>\n        <target>Updated Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="84ab3fd641e65e39cffee0ec722a059ed284229e" datatype="html">\n        <source>Created Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </source>\n        <target>Created Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="7c7f4be7b726e61c577e63842a58d9e435f7c597" datatype="html">\n        <source>users</source>\n        <target>utilisateurs</target>\n      </trans-unit>\n      <trans-unit id="9f7760223efd77806f1bbaf963e6993bb4bc6a0a" datatype="html">\n        <source>Swift Key</source>\n        <target>Swift Key</target>\n      </trans-unit>\n      <trans-unit id="1481b8488e10dbc437accce89d2ae35a0106e8ba" datatype="html">\n        <source>Scope</source>\n        <target>Périmètre</target>\n      </trans-unit>\n      <trans-unit id="9b1d5e95f6bdcfb4b737413f5fa157e0dcb103d5" datatype="html">\n        <source>Read</source>\n        <target>Lecture</target>\n      </trans-unit>\n      <trans-unit id="70a67e04629f6d412db0a12d51820b480788d795" datatype="html">\n        <source>Create</source>\n        <target>Créer</target>\n      </trans-unit>\n      <trans-unit id="dc4fba275819619ee78e8eae14d357ea69ba7477" datatype="html">\n        <source>role</source>\n        <target>role</target>\n      </trans-unit>\n      <trans-unit id="fe6ee93173884201ec62d62ba173c3de85ae177e" datatype="html">\n        <source>Created role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Created role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="41c032df0732f4318f8213fabd0719ac347d4b6c" datatype="html">\n        <source>Updated role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Updated role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="50e22b5289f79f1417369403345c9fa9911a4557" datatype="html">\n        <source>System Role</source>\n        <target>Rôle système</target>\n      </trans-unit>\n      <trans-unit id="7f132668e2dbfcf616381d2daf59d1a6f2698102" datatype="html">\n        <source>Deleted role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Deleted role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="2e35d60a14ce0b470e8b54602864a867f7fcef40" datatype="html">\n        <source>There are no roles.</source>\n        <target>There are no roles.</target>\n      </trans-unit>\n      <trans-unit id="d2362a49d2434ce137bf19dab004251b7fd9c7b3" datatype="html">\n        <source>Created user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Created user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="9910122dfedd2eaa544a990f1430e5b82a76d99f" datatype="html">\n        <source>Update user</source>\n        <target>Mettre à jour l\'utilisateur</target>\n      </trans-unit>\n      <trans-unit id="ac10a3d9b59575640797c1a8e6aea642cf5d5e77" datatype="html">\n        <source>Continue</source>\n        <target>Continuer</target>\n      </trans-unit>\n      <trans-unit id="cf4bcf4ce3d551e6099ccdc3546ae418fe5f8038" datatype="html">\n        <source>You were automatically logged out because your roles have been changed.</source>\n        <target>Vous avez été automatiquement déconnecté, car vos rôles ont changé.</target>\n      </trans-unit>\n      <trans-unit id="0f6003fb0c1cc73b89d225801cc1b870945cd259" datatype="html">\n        <source>Updated user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Updated user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="fe516c6d820018fdc971113935e22ec1e852965f" datatype="html">\n        <source>Deleted user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Deleted user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="01a7e11502ff80421ef3615e533ea14ef57e1d5c" datatype="html">\n        <source>Failed to delete user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Failed to delete user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="63316a3861dbcb035147efc1b9fb6bc708242e94" datatype="html">\n        <source>You are currently logged in as "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>".\n        </source>\n        <target>You are currently logged in as "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="d8b81951d25439864e92f750f7c99d7426d6517c" datatype="html">\n        <source>password</source>\n        <target>password</target>\n      </trans-unit>\n      <trans-unit id="d361a9b5e1f7985a12c0433388f31626525a02b8" datatype="html">\n        <source>Updated user password"</source>\n        <target>Updated user password"</target>\n      </trans-unit>\n      <trans-unit id="1d7fbcc3d5efc946ffbcf86fed04c4e20dda20fb" datatype="html">\n        <source>Each object is split in data-chunks parts, each stored on a different OSD.</source>\n        <target>Chaque objet est divisé en parties de blocs de données, chacune étant stockée sur un OSD différent.</target>\n      </trans-unit>\n      <trans-unit id="b1f8ed4e216585f1f9134740002ef3c8501debd8" datatype="html">\n        <source>Compute coding chunks for each object and store them on different OSDs.\n      The number of coding chunks is also the number of OSDs that can be down without losing data.</source>\n        <target>Calculez des blocs de codage pour chaque objet et stockez-les sur différents OSD.\n Le nombre de blocs de codage correspond également au nombre d\'OSD qui peuvent être arrêtés sans perdre de données.</target>\n      </trans-unit>\n      <trans-unit id="c437ee74a9a8e781e1380153f742a685e3b8cc5e" datatype="html">\n        <source>The jerasure plugin is the most generic and flexible plugin,\n          it is also the default for Ceph erasure coded pools.</source>\n        <target>Le plugin jerasure est le plugin le plus générique et le plus flexible,\n  c\'est aussi la valeur par défaut des réserves codées à effacement Ceph.</target>\n      </trans-unit>\n      <trans-unit id="8c7e19322851402afa67e41f4f1d4e531caf1bf5" datatype="html">\n        <source>The more flexible technique is reed_sol_van : it is enough to set k\n          and m. The cauchy_good technique can be faster but you need to chose the packetsize\n          carefully. All of reed_sol_r6_op, liberation, blaum_roth, liber8tion are RAID6 equivalents\n          in the sense that they can only be configured with m=2.</source>\n        <target>La technique la plus flexible est reed_sol_van_van : il suffit de définir k\n et m. La technique cauchy_good peut être plus rapide, mais vous devez choisir la taille du paquet\n avec précaution. reed_sol_r6_op, liberation, blaum_roth et liber8tion sont des équivalents RAID6\n en ce sens qu\'ils ne peuvent être configurés qu\'avec m=2.</target>\n      </trans-unit>\n      <trans-unit id="b1b11f49281b4e79219b4eecfbcb033cb15bd880" datatype="html">\n        <source>The encoding will be done on packets of bytes size at a time.\n          Chosing the right packet size is difficult.\n          The jerasure documentation contains extensive information on this topic.</source>\n        <target>L\'encodage se fera sur des paquets de taille d\'octets.\n  Choisir la bonne taille de paquet est difficile.\n  La documentation de jerasure contient de nombreuses informations à ce sujet.</target>\n      </trans-unit>\n      <trans-unit id="d9cb3bc07a25b26fbea457e0a7b543340bc13c49" datatype="html">\n        <source>With the jerasure plugin, when an erasure coded object is stored on\n          multiple OSDs, recovering from the loss of one OSD requires reading from all the others.\n          For instance if jerasure is configured with k=8 and m=4, losing one OSD requires reading\n          from the eleven others to repair.\n\n          The lrc erasure code plugin creates local parity chunks to be able to recover using\n          less OSDs. For instance if lrc is configured with k=8, m=4 and l=4, it will create\n          an additional parity chunk for every four OSDs. When a single OSD is lost, it can be\n          recovered with only four OSDs instead of eleven.</source>\n        <target>Avec le plugin jerasure, lorsqu\'un objet codé à effacement est stocké sur\n plusieurs OSD, la récupération à la suite de la perte d\'un OSD nécessite la lecture de tous les autres.\n Par exemple, si jerasure est configuré avec k=8 et m=4, la perte d\'un OSD nécessite de lire\n les onze autres pour pouvoir effectuer une réparation.\n\n Le plugin de code d\'effacement lrc crée des blocs de parité locale pour permettre la récupération avec\n moins d\'OSD. Par exemple, si lrc est configuré avec k=8, m=4 et l=4,\n un bloc de parité supplémentaire est créé pour chaque groupe de quatre OSD. Lorsqu\'un seul OSD est perdu, il peut être\n récupéré avec seulement quatre OSD au lieu de onze.</target>\n      </trans-unit>\n      <trans-unit id="813959d46e63a29bbd266b3af2ff9414c2ef553c" datatype="html">\n        <source>Group the coding and data chunks into sets of size locality. For instance,\n          for k=4 and m=2, when locality=3 two groups of three are created. Each set can\n          be recovered without reading chunks from another set.</source>\n        <target>Regroupez les blocs de données et de codage en ensembles de localité de taille. Par exemple,\n pour k=4 et m=2, lorsque locality=3, deux groupes de trois sont créés. Chaque ensemble peut\n être récupéré sans lire les blocs d\'un autre jeu.</target>\n      </trans-unit>\n      <trans-unit id="f0ff63d92e0a1b4d4b51e31b9133802d160a5f4c" datatype="html">\n        <source>The type of the crush bucket in which each set of chunks defined\n          by l will be stored. For instance, if it is set to rack, each group of l chunks will be\n          placed in a different rack. It is used to create a CRUSH rule step such as step choose\n          rack. If it is not set, no such grouping is done.</source>\n        <target>Type de compartiment Crush dans lequel chaque ensemble de blocs défini\n par I sera stocké. Par exemple, s\'il est réglé sur rack, chaque groupe de blocs I sera\n placé dans un rack différent. Il est utilisé pour créer une étape de la règle CRUSH telle que l\'étape de choix\n d\'un rack. S\'il n\'est pas défini, aucun regroupement de ce type n\'est effectué.</target>\n      </trans-unit>\n      <trans-unit id="3ece48df9d1e9a98f98bf3c5cc66e8b637020a4d" datatype="html">\n        <source>The isa plugin encapsulates the ISA library. It only runs on Intel processors.</source>\n        <target>Le plug-in isa encapsule la bibliothèque ISA. Il ne fonctionne qu\'avec des processeurs Intel.</target>\n      </trans-unit>\n      <trans-unit id="4472c9e31bfc7d96a83dc4afce0a6e885c99e839" datatype="html">\n        <source>The ISA plugin comes in two Reed Solomon forms.\n          If reed_sol_van is set, it is Vandermonde, if cauchy is set, it is Cauchy.</source>\n        <target>Le plugin ISA se présente sous deux formes Reed Solomon.\n Si reed_sol_van est défini, il équivaut à Vandermonde. Si cauchy est configuré, il équivaut à Cauchy.</target>\n      </trans-unit>\n      <trans-unit id="fa385f5ecf63083ec848dca8dc5e52bdc72ac6f6" datatype="html">\n        <source>The shec plugin encapsulates the multiple SHEC library.\n          It allows ceph to recover data more efficiently than Reed Solomon codes.</source>\n        <target>Le plug-in shec encapsule la bibliothèque SHEC multiple.\n Il permet à Ceph de récupérer les données plus efficacement qu\'avec les codes Reed Solomon.</target>\n      </trans-unit>\n      <trans-unit id="687b3cd94b3475c24ff4481d64d4739f902a377c" datatype="html">\n        <source>The number of parity chunks each of which includes each data chunk in its\n          calculation range. The number is used as a durability estimator. For instance, if c=2,\n          2 OSDs can be down without losing data.</source>\n        <target>Nombre de blocs de parité, chacun incluant chaque bloc de données dans sa\n plage de calcul. Ce nombre est utilisé comme estimateur de durabilité. Par exemple, si c=2,\n 2 OSD peuvent être arrêtés sans perte de données.</target>\n      </trans-unit>\n      <trans-unit id="f3c4af6df91bdaabdb715f8f0b61a24faf73a3bc" datatype="html">\n        <source>The name of the crush bucket used for the first step of the CRUSH rule.\n      For instance step take default.</source>\n        <target>Nom du compartiment crush utilisé pour la première étape de la règle CRUSH.\n Par exemple, l\'étape de définition des valeurs par défaut.</target>\n      </trans-unit>\n      <trans-unit id="e1059955a5ce65cdabf0c0a8207377e1f9bae57e" datatype="html">\n        <source>Ensure that no two chunks are in a bucket with the same failure\n      domain. For instance, if the failure domain is host no two chunks will be stored on the same\n      host. It is used to create a CRUSH rule step such as step chooseleaf host.</source>\n        <target>Vérifiez qu\'il n\'existe pas deux blocs dans un compartiment avec le même domaine de\n défaillance. Par exemple, si le domaine de défaillance est un hôte, deux blocs ne seront pas stockés sur le même\n hôte. Cette option est utilisée pour créer une étape de la règle CRUSH telle que chooseleaf host.</target>\n      </trans-unit>\n      <trans-unit id="ac392ac9c6da5fde6da80fc57b9c09402fb6e73d" datatype="html">\n        <source>Restrict placement to devices of a specific class\n      (e.g., ssd or hdd), using the crush device class names in the CRUSH map.</source>\n        <target>Restreindre le placement aux périphériques d\'une classe spécifique\n (par exemple, ssd ou hdd), en utilisant les noms des classes de périphériques crush dans la carte CRUSH.</target>\n      </trans-unit>\n      <trans-unit id="62bcb9ae5583a088649b1adf5787a86ca3334f89" datatype="html">\n        <source>Set the directory name from which the erasure code plugin is loaded.</source>\n        <target>Définissez le nom du répertoire à partir duquel le plug-in de code d\'effacement est chargé.</target>\n      </trans-unit>\n      <trans-unit id="c8f10184a8433d132ede0a2c0c1aa96f291cacfa" datatype="html">\n        <source>Allows all operations</source>\n        <target>Autoriser toutes les opérations</target>\n      </trans-unit>\n      <trans-unit id="82077ee97c11ee76efc3adf253b7b26654544317" datatype="html">\n        <source>Allows only operations that do not modify the server</source>\n        <target>Autorise uniquement les opérations qui ne modifient pas le serveur</target>\n      </trans-unit>\n      <trans-unit id="22b5212ec10449dbf0a0af0ad34122eac51b5f2a" datatype="html">\n        <source>Does not allow read or write operations, but allows any other operation</source>\n        <target>N\'autorise pas les opérations de lecture ou d\'écriture, mais toutes les autres.</target>\n      </trans-unit>\n      <trans-unit id="9799d0f8c4b7727ae239fedfe3c0ce127feb7a50" datatype="html">\n        <source>Does not allow read, write, or any operation that modifies file        attributes or directory content</source>\n        <target>N\'autorise pas la lecture, l\'écriture ni aucune autre opération modifiant les attributs d\'un fichier ou le contenu d\'un répertoire.</target>\n      </trans-unit>\n      <trans-unit id="aeddefe0af87025d8f00699aa94bed8216a99a58" datatype="html">\n        <source>Allows no access at all</source>\n        <target>N\'autorise aucun accès</target>\n      </trans-unit>\n      <trans-unit id="a436c6a4025a749198e93cac239de8deede72211" datatype="html">\n        <source>-- Select the priority --</source>\n        <target>-- Sélectionner la priorité --</target>\n      </trans-unit>\n      <trans-unit id="9556266f0a2b1762a44b686f2bb21dbfefb01c12" datatype="html">\n        <source>Low</source>\n        <target>Faible</target>\n      </trans-unit>\n      <trans-unit id="72279141a67cc042d9864102b703216cc8a428a3" datatype="html">\n        <source>High</source>\n        <target>Élevée</target>\n      </trans-unit>\n      <trans-unit id="6080b77234e92ad41bb52653b239c4c4f851317d" datatype="html">\n        <source>Error</source>\n        <target>Error</target>\n      </trans-unit>\n      <trans-unit id="c43dc1967a603fefb886149ac35863a06d5b4ce5" datatype="html">\n        <source>Information</source>\n        <target>Informations</target>\n      </trans-unit>\n      <trans-unit id="1e035e6ccfab771cad4226b2ad230cb0d4a88cba" datatype="html">\n        <source>Success</source>\n        <target>Success</target>\n      </trans-unit>\n      <trans-unit id="e6ca3c0efaf51e6d45a7f92f58bac37140c3fda4" datatype="html">\n        <source>Last 5 minutes</source>\n        <target>Les 5 dernières minutes</target>\n      </trans-unit>\n      <trans-unit id="b0ecb2bbc548cc9bd95050fd8f0c84586d083fe2" datatype="html">\n        <source>Last 15 minutes</source>\n        <target>Les 15 dernières minutes</target>\n      </trans-unit>\n      <trans-unit id="857ae67deb51353120b203b0f2a06b0c48ef49fa" datatype="html">\n        <source>Last 30 minutes</source>\n        <target>Les 30 dernières minutes</target>\n      </trans-unit>\n      <trans-unit id="7b1738fad314e936dc14b94db8f43da736942308" datatype="html">\n        <source>Last 1 hour (Default)</source>\n        <target>La dernière heure (par défaut)</target>\n      </trans-unit>\n      <trans-unit id="a428288224389726cef9d9bd8d1d7808cccd7ffd" datatype="html">\n        <source>Last 3 hours</source>\n        <target>Les 3 dernières heures</target>\n      </trans-unit>\n      <trans-unit id="7cbabecc8d80cf183ac199cfaeb7619d56e5d43f" datatype="html">\n        <source>Last 6 hours</source>\n        <target>Les 6 dernières heures</target>\n      </trans-unit>\n      <trans-unit id="1a389cdf64187d34cf99eec30a290e3fa7d4744f" datatype="html">\n        <source>Last 12 hours</source>\n        <target>Les 12 dernières heures</target>\n      </trans-unit>\n      <trans-unit id="9e0ba5f591380a94d594a76288f0c41aa97eb9c2" datatype="html">\n        <source>Last 24 hours</source>\n        <target>Les 24 dernières heures</target>\n      </trans-unit>\n      <trans-unit id="e430eda9c785cd43465b7cbb400ee914f1057247" datatype="html">\n        <source>Yesterday</source>\n        <target>Hier</target>\n      </trans-unit>\n      <trans-unit id="7fb1099e29660162f9154d5b2feee7743a423df6" datatype="html">\n        <source>Today</source>\n        <target>Aujourd\'hui</target>\n      </trans-unit>\n      <trans-unit id="33904058a97a64bd189bed84038b1ffe719769c7" datatype="html">\n        <source>Today so far</source>\n        <target>Depuis le début de la journée</target>\n      </trans-unit>\n      <trans-unit id="3b0b849be007510021d3d383df75bec95ef9c97b" datatype="html">\n        <source>Day before yesterday</source>\n        <target>Avant-hier</target>\n      </trans-unit>\n      <trans-unit id="6b430c2c394c4d32ebd7d46c8c46ab60e1b29ccb" datatype="html">\n        <source>Last 2 days</source>\n        <target>Les 2 derniers jours</target>\n      </trans-unit>\n      <trans-unit id="d5e812a87a5d57a94200a2013027cab76a7c4863" datatype="html">\n        <source>This day last week</source>\n        <target>Il y a huit jours</target>\n      </trans-unit>\n      <trans-unit id="d00edc936eeab6b5577401f115ca86ca2c87dc9a" datatype="html">\n        <source>Previous week</source>\n        <target>La semaine dernière</target>\n      </trans-unit>\n      <trans-unit id="b036e40577baa6b918b2267d319d4b3aeaa88a5a" datatype="html">\n        <source>This week</source>\n        <target>Cette semaine</target>\n      </trans-unit>\n      <trans-unit id="99ad5a6096b3fcb3f021f3779bae710cdfeb8934" datatype="html">\n        <source>This week so far</source>\n        <target>Depuis le début de la semaine</target>\n      </trans-unit>\n      <trans-unit id="02e0243b60007368f87dc01e083f232dd025096d" datatype="html">\n        <source>Last 7 days</source>\n        <target>Les 7 derniers jours</target>\n      </trans-unit>\n      <trans-unit id="c3b08b07b5ab98e7cdcf18df39355690ab7d3884" datatype="html">\n        <source>Previous month</source>\n        <target>Le mois dernier</target>\n      </trans-unit>\n      <trans-unit id="1b2562c6d5aa90644e7dc91feee82e2005fceb33" datatype="html">\n        <source>This month</source>\n        <target>Ce mois</target>\n      </trans-unit>\n      <trans-unit id="26b4b18c5917934abb169ba9aa490e57f7bf10b8" datatype="html">\n        <source>This month so far</source>\n        <target>Depuis le début du mois</target>\n      </trans-unit>\n      <trans-unit id="7668986b9f753fcd72ad4a00b1a0c4861d1f7fb8" datatype="html">\n        <source>Last 30 days</source>\n        <target>Les 30 derniers jours</target>\n      </trans-unit>\n      <trans-unit id="ba1e822408d90c6fbd2989100fa648bfd5e8ee84" datatype="html">\n        <source>Last 90 days</source>\n        <target>Les 90 derniers jours</target>\n      </trans-unit>\n      <trans-unit id="c3df03f899a914c4181adcdc8a3f077424f7b6e8" datatype="html">\n        <source>Last 6 months</source>\n        <target>Les 6 derniers mois</target>\n      </trans-unit>\n      <trans-unit id="7f9a92757580c9f31c309c0a3812ea429274eadf" datatype="html">\n        <source>Last 1 year</source>\n        <target>L\'année écoulée</target>\n      </trans-unit>\n      <trans-unit id="5a9fede30ff65cb4b4426f6b1ed31afb67ecd7b0" datatype="html">\n        <source>Previous year</source>\n        <target>L\'année dernière</target>\n      </trans-unit>\n      <trans-unit id="65cefcc53d1f6445df7568e8a40c49165f1090ee" datatype="html">\n        <source>This year</source>\n        <target>Cette année</target>\n      </trans-unit>\n      <trans-unit id="1f68b766944dc3865bddab765fe952b0c1c43f92" datatype="html">\n        <source>This year so far</source>\n        <target>Depuis le début de l\'année</target>\n      </trans-unit>\n      <trans-unit id="4d4b77e614f8043fdadef5d6d235655bb48eb311" datatype="html">\n        <source>Last 2 years</source>\n        <target>Les 2 dernières années</target>\n      </trans-unit>\n      <trans-unit id="138afa339ea6e75d25a474affe1edbcb90e00ec0" datatype="html">\n        <source>Last 5 years</source>\n        <target>Les 5 dernières années</target>\n      </trans-unit>\n      <trans-unit id="37391297bb077a6f84484930261b01a3ce38327b" datatype="html">\n        <source>No items selected.</source>\n        <target>Aucun élément sélectionné.</target>\n      </trans-unit>\n      <trans-unit id="2c1e52ee832661b4a0f570877d24661736b16af1" datatype="html">\n        <source>Deselect item to select again</source>\n        <target>Désélectionnez l\'élément pour le sélectionner à nouveau.</target>\n      </trans-unit>\n      <trans-unit id="c8c9c6e5918659336824bbdda3501c66eaa79a4c" datatype="html">\n        <source>Selection limit reached</source>\n        <target>Limite de sélection atteinte</target>\n      </trans-unit>\n      <trans-unit id="02d184c288f567825a1fcbf83bcd3099a10853d5" datatype="html">\n        <source>Filter tags</source>\n        <target>Balises de filtre</target>\n      </trans-unit>\n      <trans-unit id="aa00748e49c269956837d6f3acdd8d218796a8d8" datatype="html">\n        <source>Add badge</source>\n        <target>Ajouter un badge</target>\n      </trans-unit>\n      <trans-unit id="4078a92d8121abdce7d8f346a88914923ec835fc" datatype="html">\n        <source>There are no items available.</source>\n        <target>Aucun élément disponible.</target>\n      </trans-unit>\n      <trans-unit id="f6755cff4957d5c3c89bafce5651f1b6fa2b1fd9" datatype="html">\n        <source>Add</source>\n        <target>Ajouter</target>\n      </trans-unit>\n      <trans-unit id="019d4bd6a5690f0cfa0ecf346a4e6bf7f0d8debb" datatype="html">\n        <source>Remove</source>\n        <target>Remove</target>\n      </trans-unit>\n      <trans-unit id="54a4a3132b693575728a45a5f3154ad4c9af404b" datatype="html">\n        <source>Clone</source>\n        <target>Cloner</target>\n      </trans-unit>\n      <trans-unit id="1979da7460819153e11d2078244645d94291b69c" datatype="html">\n        <source>Copy</source>\n        <target>Copier</target>\n      </trans-unit>\n      <trans-unit id="2e5e77dbaadd6588d8bbf737139fd9806294ae28" datatype="html">\n        <source>Deep Scrub</source>\n        <target>Nettoyage en profondeur</target>\n      </trans-unit>\n      <trans-unit id="bf463b189696c19769ea263227e6c22aefafb918" datatype="html">\n        <source>Destroy</source>\n        <target>Détruire</target>\n      </trans-unit>\n      <trans-unit id="b4e94d529ff10db4d86f3f48900fa67ede3411fd" datatype="html">\n        <source>Evict</source>\n        <target>Evict</target>\n      </trans-unit>\n      <trans-unit id="3747fff7faf52b436ecff5fb8555091736d92c70" datatype="html">\n        <source>Flatten</source>\n        <target>Aplatir</target>\n      </trans-unit>\n      <trans-unit id="66fdbf32e5449cc54a3d1e19c7b8f4ea238facfb" datatype="html">\n        <source>Mark Down</source>\n        <target>Marquer comme arrêté</target>\n      </trans-unit>\n      <trans-unit id="0cda3e824fb2f9c731e5a60b859dedc1fe03127e" datatype="html">\n        <source>Mark In</source>\n        <target>Marquer comme rentré</target>\n      </trans-unit>\n      <trans-unit id="f833354f43cb38c5716faa8759a9bbdd1ab8f199" datatype="html">\n        <source>Mark Lost</source>\n        <target>Marquer comme perdu</target>\n      </trans-unit>\n      <trans-unit id="75fb9f970ba365398c45e57bbb1019c009f6b832" datatype="html">\n        <source>Mark Out</source>\n        <target>Marquer comme sorti</target>\n      </trans-unit>\n      <trans-unit id="45480c03b0a3a37ff8f6a5600a6a034b40fbaea4" datatype="html">\n        <source>Protect</source>\n        <target>Protéger</target>\n      </trans-unit>\n      <trans-unit id="e26f9cf3666aace4e524b1505c9795d76d87738d" datatype="html">\n        <source>Rename</source>\n        <target>Renommer</target>\n      </trans-unit>\n      <trans-unit id="d5cec7468241d72cafd86ad1af6d55b09a6e3ae5" datatype="html">\n        <source>Restore</source>\n        <target>Restaurer</target>\n      </trans-unit>\n      <trans-unit id="ba073985cfd2528c77a746ed596b2f2052b973c5" datatype="html">\n        <source>Move to Trash</source>\n        <target>Déplacer vers la corbeille</target>\n      </trans-unit>\n      <trans-unit id="3ea9b96a21a499d296a7f25407da0f3df6c2d5ed" datatype="html">\n        <source>Unprotect</source>\n        <target>Annuler la protection</target>\n      </trans-unit>\n      <trans-unit id="024cdb2814b0cb3f4ced148f1a0b9854447cb214" datatype="html">\n        <source>Change</source>\n        <target>Change</target>\n      </trans-unit>\n      <trans-unit id="011f3e2bfc1fd8407eb5f599352665bfeb145664" datatype="html">\n        <source>Recreate</source>\n        <target>Recreate</target>\n      </trans-unit>\n      <trans-unit id="6df2dfa48bef5510c82fb43f4e71a7f9557f3d71" datatype="html">\n        <source>Expire</source>\n        <target>Expire</target>\n      </trans-unit>\n      <trans-unit id="28df1b02fd88d2deb0212bc5d7ff34cf9492fa54" datatype="html">\n        <source>Deleted</source>\n        <target>Supprimé</target>\n      </trans-unit>\n      <trans-unit id="80e3b490720757978c99a7b5af3885faf202b955" datatype="html">\n        <source>Added</source>\n        <target>Added</target>\n      </trans-unit>\n      <trans-unit id="1aa4883bc4f1352f7a0bdd94810a9bf6dc22bd02" datatype="html">\n        <source>Removed</source>\n        <target>Removed</target>\n      </trans-unit>\n      <trans-unit id="402f3ee47f98fbbc68530239b1ddcbb9e96a460c" datatype="html">\n        <source>Edited</source>\n        <target>Edited</target>\n      </trans-unit>\n      <trans-unit id="96d56ec71c6e78cb4d6204c4a9359a3d38fcdb59" datatype="html">\n        <source>Canceled</source>\n        <target>Canceled</target>\n      </trans-unit>\n      <trans-unit id="a3318a2ee2bd0064b6b9ff72a4018b679ec63125" datatype="html">\n        <source>Cloned</source>\n        <target>Cloné</target>\n      </trans-unit>\n      <trans-unit id="ef90545bc832876c0d7f9a10363c75137472bbb5" datatype="html">\n        <source>Copied</source>\n        <target>Copié</target>\n      </trans-unit>\n      <trans-unit id="5a13d3834133e09544ec93885662f181372dcf46" datatype="html">\n        <source>Deep Scrubbed</source>\n        <target>Deep Scrubbed</target>\n      </trans-unit>\n      <trans-unit id="7c9efb91434a5c15e9579c0b31c8e184b8c8240d" datatype="html">\n        <source>Destroyed</source>\n        <target>Destroyed</target>\n      </trans-unit>\n      <trans-unit id="647059bf3ea098fffedf92ddfad792bb3daa3c95" datatype="html">\n        <source>Flattened</source>\n        <target>Applati</target>\n      </trans-unit>\n      <trans-unit id="8df71e952319eafa71c8e6ef6144b780af8813ff" datatype="html">\n        <source>Marked Down</source>\n        <target>Marked Down</target>\n      </trans-unit>\n      <trans-unit id="25658f5a080a1cab3b91e17b756b1d1dc46bb9b3" datatype="html">\n        <source>Marked In</source>\n        <target>Marked In</target>\n      </trans-unit>\n      <trans-unit id="ebcf306036a6c5579df9448f77eca98d491db245" datatype="html">\n        <source>Marked Lost</source>\n        <target>Marked Lost</target>\n      </trans-unit>\n      <trans-unit id="3a8803369ac18be3ad762384b9fda095fe2a6dcc" datatype="html">\n        <source>Marked Out</source>\n        <target>Marked Out</target>\n      </trans-unit>\n      <trans-unit id="0fe2a62ea7c609fa8326ee6d38060bc5ba8bf34f" datatype="html">\n        <source>Protected</source>\n        <target>Protected</target>\n      </trans-unit>\n      <trans-unit id="69b0446c6c2411c4fe01e411b8ceec72d4044fb4" datatype="html">\n        <source>Purged</source>\n        <target>Purgé</target>\n      </trans-unit>\n      <trans-unit id="d53de1a61bd51c815dc374c7f97e4ee69230e412" datatype="html">\n        <source>Renamed</source>\n        <target>Renamed</target>\n      </trans-unit>\n      <trans-unit id="86fc6cae82c095f14105eb8a61d7b3fa948304b7" datatype="html">\n        <source>Restored</source>\n        <target>Restauré</target>\n      </trans-unit>\n      <trans-unit id="e87dd0fd35460cb743046db918dfce2137b5977a" datatype="html">\n        <source>Reweighted</source>\n        <target>Reweighted</target>\n      </trans-unit>\n      <trans-unit id="dc21fd6547f2325c67f6deff925f29eb07a2db3e" datatype="html">\n        <source>Rolled back</source>\n        <target>Rétabli à l\'état initial</target>\n      </trans-unit>\n      <trans-unit id="15dec4c2d73a516c10aef90aeeea3364fa794615" datatype="html">\n        <source>Scrubbed</source>\n        <target>Scrubbed</target>\n      </trans-unit>\n      <trans-unit id="8dc560ded67482f109a98e0638851ad1d37188b3" datatype="html">\n        <source>Showed</source>\n        <target>Showed</target>\n      </trans-unit>\n      <trans-unit id="197259b7ea76f15c6d0a64b075a673fd4112ada7" datatype="html">\n        <source>Moved to Trash</source>\n        <target>Moved to Trash</target>\n      </trans-unit>\n      <trans-unit id="8fb15cb102cd75b562680290b7e04c44d80018f2" datatype="html">\n        <source>Unprotected</source>\n        <target>Unprotected</target>\n      </trans-unit>\n      <trans-unit id="8588eafa498262a1cbb5043ad68cf0ff669c4f10" datatype="html">\n        <source>Recreated</source>\n        <target>Recreated</target>\n      </trans-unit>\n      <trans-unit id="ffde7468d7b5cad6990095ed68ddee3d67cd02f8" datatype="html">\n        <source>Expired</source>\n        <target>Expired</target>\n      </trans-unit>\n      <trans-unit id="4f20f2d5a6882190892e58b85f6ccbedfa737952" datatype="html">\n        <source>Yes</source>\n        <target>Oui</target>\n      </trans-unit>\n      <trans-unit id="3d3ae7deebc5949b0c1c78b9847886a94321d9fd" datatype="html">\n        <source>No</source>\n        <target>Non</target>\n      </trans-unit>\n      <trans-unit id="99fa0b67376d40142bd4d3ace3344abf4f98b6a5" datatype="html">\n        <source>Your matcher seems to match no currently defined rule or active alert.</source>\n        <target>Your matcher seems to match no currently defined rule or active alert.</target>\n      </trans-unit>\n      <trans-unit id="7e284852732c303eb1f47de9aca2569e41aeffed" datatype="html">\n        <source>no active alerts</source>\n        <target>no active alerts</target>\n      </trans-unit>\n      <trans-unit id="b8042829e4fbe7b09fd9bac9fa0ecf5cc1802fee" datatype="html">\n        <source>1 active alert</source>\n        <target>1 active alert</target>\n      </trans-unit>\n      <trans-unit id="e24adce97669cb0fc74cc13fdc14179b6f78ea5e" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{n}}"/> active alerts\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{n}}"/> active alerts\n        </target>\n      </trans-unit>\n      <trans-unit id="d8fb058ff5883731d38a132da4ca45cfe8d719a3" datatype="html">\n        <source>Matches 1 rule</source>\n        <target>Matches 1 rule</target>\n      </trans-unit>\n      <trans-unit id="90aaef24d192e67c3fbc2ec6f8bfaff211cea128" datatype="html">\n        <source>Matches \n          <x id="INTERPOLATION" equiv-text="{{n}}"/> rules\n        </source>\n        <target>Matches \n          <x id="INTERPOLATION" equiv-text="{{n}}"/> rules\n        </target>\n      </trans-unit>\n      <trans-unit id="f4685dc581e18244cd410f1057a8c56a9dbfe8df" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rules}}"/> with \n          <x id="INTERPOLATION_1" equiv-text="{{alerts}}"/>.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rules}}"/> with \n          <x id="INTERPOLATION_1" equiv-text="{{alerts}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8fd98fb2a0f24ba72cde0787dd3f02cfc17de469" datatype="html">\n        <source>Quality of Service</source>\n        <target>Qualité de service</target>\n      </trans-unit>\n      <trans-unit id="2c53f3ce2c6fff9025a7b41cc334521725da6e7b" datatype="html">\n        <source>BPS Limit</source>\n        <target>Limite de bits/s</target>\n      </trans-unit>\n      <trans-unit id="e897624a392419386b035bcd8529337e262fc41d" datatype="html">\n        <source>The desired limit of IO bytes per second.</source>\n        <target>Limite souhaitée d\'octets E/S par seconde.</target>\n      </trans-unit>\n      <trans-unit id="dc56f77e4507da7e86a3accd0a2a7099a838d539" datatype="html">\n        <source>IOPS Limit</source>\n        <target>Limite E/S par seconde</target>\n      </trans-unit>\n      <trans-unit id="141c3f6eadbb35b0e17b2f847e4cac23240a6ea9" datatype="html">\n        <source>The desired limit of IO operations per second.</source>\n        <target>Limite souhaitée d\'opérations E/S par seconde.</target>\n      </trans-unit>\n      <trans-unit id="3b3b101f16c38806e984b157e0cf22cd21451122" datatype="html">\n        <source>Read BPS Limit</source>\n        <target>Limite de bits/s en lecture</target>\n      </trans-unit>\n      <trans-unit id="87835fabb6a645873f3829a450ca1d58f97754f2" datatype="html">\n        <source>The desired limit of read bytes per second.</source>\n        <target>Limite souhaitée de lecture d\'octets par seconde.</target>\n      </trans-unit>\n      <trans-unit id="28b485e700df46d70b96666099f714e3ae9e5c2e" datatype="html">\n        <source>Read IOPS Limit</source>\n        <target>Limite E/S par seconde en lecture</target>\n      </trans-unit>\n      <trans-unit id="5907bd1a5cf3e20e740bca676cb1538372e1f9ff" datatype="html">\n        <source>The desired limit of read operations per second.</source>\n        <target>Limite souhaitée d\'opérations de lecture par seconde.</target>\n      </trans-unit>\n      <trans-unit id="07317121f0b194987d4dee8b322f521ac17bf124" datatype="html">\n        <source>Write BPS Limit</source>\n        <target>Limite de bits/s en écriture</target>\n      </trans-unit>\n      <trans-unit id="4022c78bd9132ca2ec67927f8484c437d1d9b6fd" datatype="html">\n        <source>The desired limit of write bytes per second.</source>\n        <target>Limite souhaitée d\'écriture d\'octets par seconde.</target>\n      </trans-unit>\n      <trans-unit id="52c22c19f98ff3a09bd811292954a889b93d28b7" datatype="html">\n        <source>Write IOPS Limit</source>\n        <target>Limite E/S par seconde en écriture</target>\n      </trans-unit>\n      <trans-unit id="0ed62e3fd8654b3191fc7fa959ad3f10f1ea773a" datatype="html">\n        <source>The desired limit of write operations per second.</source>\n        <target>Limite souhaitée d\'opérations d\'écriture par seconde.</target>\n      </trans-unit>\n      <trans-unit id="d90c99d77864f21f932ee1369019f400c4ad0e2d" datatype="html">\n        <source>BPS Burst</source>\n        <target>Rafale de bits/s</target>\n      </trans-unit>\n      <trans-unit id="29c32192f4d185139aaaf6d3a766a3411dfeabbe" datatype="html">\n        <source>The desired burst limit of IO bytes.</source>\n        <target>Limite de rafale d\'octets en E/S souhaitée.</target>\n      </trans-unit>\n      <trans-unit id="b988b90489e899941e196c3dd0ecc22e37540224" datatype="html">\n        <source>IOPS Burst</source>\n        <target>Rafale E/S par seconde</target>\n      </trans-unit>\n      <trans-unit id="02c5de8ff11870f1b3896f2b45637ce0dba1ed4b" datatype="html">\n        <source>The desired burst limit of IO operations.</source>\n        <target>Limite de rafale d\'opérations E/S souhaitée.</target>\n      </trans-unit>\n      <trans-unit id="7a160538129b37cf595f1651f28b5fac62fbc0f8" datatype="html">\n        <source>Read BPS Burst</source>\n        <target>Rafale E/S par seconde en lecture</target>\n      </trans-unit>\n      <trans-unit id="b573a5df16a53b9947288461bc24e6a0eb4341d6" datatype="html">\n        <source>The desired burst limit of read bytes.</source>\n        <target>Limite de rafale d\'octets lus par seconde.</target>\n      </trans-unit>\n      <trans-unit id="1d5b8c2a0c653651cc4ca4b8fed9456f449220d1" datatype="html">\n        <source>Read IOPS Burst</source>\n        <target>Rafale E/S par seconde en lecture</target>\n      </trans-unit>\n      <trans-unit id="20b199f9d4a8d08ffefec66040e27639ec221512" datatype="html">\n        <source>The desired burst limit of read operations.</source>\n        <target>Limite de rafale d\'opérations de lecture</target>\n      </trans-unit>\n      <trans-unit id="824525ae57992aee629ddffcd500a8b77087ddec" datatype="html">\n        <source>Write BPS Burst</source>\n        <target>Rafale E/S par seconde en écriture</target>\n      </trans-unit>\n      <trans-unit id="a90aac4050a5d79765da5e1186909f6d4d7f981d" datatype="html">\n        <source>The desired burst limit of write bytes.</source>\n        <target>Limite de rafale de lectures d\'octets souhaitée.</target>\n      </trans-unit>\n      <trans-unit id="35a8c6e6c249c7d16e26aa7c4ef97c06db405070" datatype="html">\n        <source>Write IOPS Burst</source>\n        <target>Rafale d\'E/S par seconde en écriture</target>\n      </trans-unit>\n      <trans-unit id="b356abd41d7e9eea4d20c03d2e6892b6d435ecbd" datatype="html">\n        <source>The desired burst limit of write operations.</source>\n        <target>Limite de rafale d\'opérations d\'écriture souhaitée.</target>\n      </trans-unit>\n      <trans-unit id="24c4d50fe8567de381a20a1745f1b6d37eacaa90" datatype="html">\n        <source>Failed to \n          <x id="INTERPOLATION" equiv-text="{{failure}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{metadata}}"/>\n        </source>\n        <target>Failed to \n          <x id="INTERPOLATION" equiv-text="{{failure}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{metadata}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="f54b6f09b390d5ade0e354f6c7d4743c10a315cc" datatype="html">\n        <source>Executing</source>\n        <target>En cours d\'exécution</target>\n      </trans-unit>\n      <trans-unit id="5cdfe3e3330ea42bfd29c540dbd268bee97d364d" datatype="html">\n        <source>execute</source>\n        <target>exécuter</target>\n      </trans-unit>\n      <trans-unit id="6e98e243518daa88be30330fcdbd2d10f8eae4d7" datatype="html">\n        <source>Executed</source>\n        <target>Exécuté</target>\n      </trans-unit>\n      <trans-unit id="24b09aa5bd909273a023d2d788a2673325c77e31" datatype="html">\n        <source>unknown task</source>\n        <target>tâche inconnue</target>\n      </trans-unit>\n      <trans-unit id="114b5f92b9192b229ffc9a450319a97ccca2aa5c" datatype="html">\n        <source>Creating</source>\n        <target>En cours de création</target>\n      </trans-unit>\n      <trans-unit id="56695b69d27437ada580a187958407e7c856d46e" datatype="html">\n        <source>create</source>\n        <target>créer</target>\n      </trans-unit>\n      <trans-unit id="9db60170ef3b3b41a863e7d5ee7cec10919b9141" datatype="html">\n        <source>Updating</source>\n        <target>En cours de mise à jour</target>\n      </trans-unit>\n      <trans-unit id="64412640835b7d25247cb254d4f911366c0e6862" datatype="html">\n        <source>update</source>\n        <target>mettre à jour</target>\n      </trans-unit>\n      <trans-unit id="416193bb373d59477458b00e5922d755e2e2cacd" datatype="html">\n        <source>Deleting</source>\n        <target>En cours de suppression</target>\n      </trans-unit>\n      <trans-unit id="70ef158c584bafe788e319a0bffa11b02ee9abf1" datatype="html">\n        <source>delete</source>\n        <target>supprimer</target>\n      </trans-unit>\n      <trans-unit id="d07a282afc7fbdb39cea6e1c9b544882a7260a86" datatype="html">\n        <source>Adding</source>\n        <target>Adding</target>\n      </trans-unit>\n      <trans-unit id="a11ec4e640f241329943237d2a3cceaa4823658e" datatype="html">\n        <source>add</source>\n        <target>add</target>\n      </trans-unit>\n      <trans-unit id="ea1c70b874904216cc5af24bd7cb3dab2d074d42" datatype="html">\n        <source>Removing</source>\n        <target>Removing</target>\n      </trans-unit>\n      <trans-unit id="4da487aec5a29ce4372e7b512227cd665b01fe6f" datatype="html">\n        <source>remove</source>\n        <target>remove</target>\n      </trans-unit>\n      <trans-unit id="3f757cfc3749ebb5d4462017cb60138ca082f15f" datatype="html">\n        <source>RBD \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>RBD \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="a6c681e6130fe440ae40de99a405fcf5c7eefee1" datatype="html">\n        <source>RBD snapshot \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>RBD snapshot \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="4fb54a0291f49583c317d4a3690239141b5a8f68" datatype="html">\n        <source>mirror mode for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>mirror mode for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="6621ab6e122a149326a1e48e9051a41e7f203cf6" datatype="html">\n        <source>mirror peer for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>mirror peer for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="db15adc778317d551232fe712eb03a2c1eac4a43" datatype="html">\n        <source>all dashboards</source>\n        <target>all dashboards</target>\n      </trans-unit>\n      <trans-unit id="1b559dbd9cc9664fd788c2da9a10d3abafe066cb" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8fc28e1103d9f2ef47b9fff9a4f74e8365c7cf19" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="1cdc7ea44fcb85d0cfcf6e7379d625d8674a8fbe" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="1ff7676ad1e991102224540a32dd44ad1ab88aa8" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.\n        </target>\n      </trans-unit>\n      <trans-unit id="c3a1dcca2b2ba20fbe39e2441e7bb1cf9c20cdf3" datatype="html">\n        <source>Cloning</source>\n        <target>Clonage en cours</target>\n      </trans-unit>\n      <trans-unit id="b5fa4e0a3a279dee5b6bf7b823e54387f7c79994" datatype="html">\n        <source>clone</source>\n        <target>cloner</target>\n      </trans-unit>\n      <trans-unit id="29b7452e8367af9aa8fa828f16ff94c3530e7a1a" datatype="html">\n        <source>Snapshot of \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> must be protected.\n        </source>\n        <target>Snapshot of \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> must be protected.\n        </target>\n      </trans-unit>\n      <trans-unit id="369f93b9a07a9465f7a261e9f0021b6cfa7180c5" datatype="html">\n        <source>Copying</source>\n        <target>En cours de copie</target>\n      </trans-unit>\n      <trans-unit id="37584f889855d153a106f5dffe23d21f9453c8ff" datatype="html">\n        <source>copy</source>\n        <target>copie</target>\n      </trans-unit>\n      <trans-unit id="6ea9e313a04ef59222feaadfe84e97b4c69d7e9e" datatype="html">\n        <source>Flattening</source>\n        <target>Aplatissement</target>\n      </trans-unit>\n      <trans-unit id="1f57593581b64d2d4c70eab1736bd9bccc66a7dc" datatype="html">\n        <source>flatten</source>\n        <target>aplatir</target>\n      </trans-unit>\n      <trans-unit id="d990ef9680cd23bbe652c37eb46bf038cfee80ad" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="a101745d080ef65c09bd5fafc796f94ddb9f9d60" datatype="html">\n        <source>Cannot unprotect \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it contains child images.\n        </source>\n        <target>Cannot unprotect \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it contains child images.\n        </target>\n      </trans-unit>\n      <trans-unit id="647968f4cde7786cd53ec8e6aa9802ac6824a262" datatype="html">\n        <source>Cannot delete \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it\'s protected.\n        </source>\n        <target>Cannot delete \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it\'s protected.\n        </target>\n      </trans-unit>\n      <trans-unit id="57ddd3e15cf0ce974356b757451f50116a27272b" datatype="html">\n        <source>Rolling back</source>\n        <target>Retour à l\'état initial</target>\n      </trans-unit>\n      <trans-unit id="a8913a3a5ee61f2598b5f0432cb9b20cdd60548e" datatype="html">\n        <source>rollback</source>\n        <target>rétablir l\'état initial</target>\n      </trans-unit>\n      <trans-unit id="de8676f0017c9db6c49388cd7d63cd0a83a0c1dc" datatype="html">\n        <source>Moving</source>\n        <target>En cours de déplacement</target>\n      </trans-unit>\n      <trans-unit id="2d810712308ae63cb795d809687a3254ef7a2f05" datatype="html">\n        <source>move</source>\n        <target>déplacer</target>\n      </trans-unit>\n      <trans-unit id="f3ba995236e5c1cc77686108980c099a90aec754" datatype="html">\n        <source>Moved</source>\n        <target>Déplacé</target>\n      </trans-unit>\n      <trans-unit id="d0422169252d132624a20f267b5c29f28cb53ebe" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' to trash\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' to trash\n        </target>\n      </trans-unit>\n      <trans-unit id="b603e2dfed9808222fbcb5a7c5f4da2cc6ae2aae" datatype="html">\n        <source>Could not find image.</source>\n        <target>Impossible de trouver l\'image.</target>\n      </trans-unit>\n      <trans-unit id="398debe73006b1fe5177ed81d2e7b0cc852f61ec" datatype="html">\n        <source>Restoring</source>\n        <target>En cours de restauration.</target>\n      </trans-unit>\n      <trans-unit id="c252806fb400e79bac194696632c9362742b1538" datatype="html">\n        <source>restore</source>\n        <target>restaurer</target>\n      </trans-unit>\n      <trans-unit id="30b8bcf69b3f1754b7abba173fd806cfcea4cb04" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' into \'\n          <x id="INTERPOLATION_1" equiv-text="{{new_id}}"/>\'\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' into \'\n          <x id="INTERPOLATION_1" equiv-text="{{new_id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="13b7b241cef989fe0932ddd180e757658e1817e7" datatype="html">\n        <source>Image name \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' is already in use.\n        </source>\n        <target>Image name \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' is already in use.\n        </target>\n      </trans-unit>\n      <trans-unit id="cc1cee12c833e8fbbef28a2a7c449dc530da912d" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="38e5f47f8bef505652f3e87f46efb00ead1350a3" datatype="html">\n        <source>Purging</source>\n        <target>En cours de purge</target>\n      </trans-unit>\n      <trans-unit id="e4e57747f123f0fe6fe3a0ecf608f8bc287dec0c" datatype="html">\n        <source>purge</source>\n        <target>purger</target>\n      </trans-unit>\n      <trans-unit id="1560d58fdf39663929653250d45f5b1dfe078fea" datatype="html">\n        <source>all pools</source>\n        <target>toutes les réserves</target>\n      </trans-unit>\n      <trans-unit id="1ac3dc50c2c3d86e98bc0967ee1e696810a2d3aa" datatype="html">\n        <source>images from \n          <x id="INTERPOLATION" equiv-text="{{message}}"/>\n        </source>\n        <target>images from \n          <x id="INTERPOLATION" equiv-text="{{message}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="02278abbb044ece04ab6bd80bd2060198d31d83b" datatype="html">\n        <source>Cannot disable mirroring because it contains a peer.</source>\n        <target>Impossible de désactiver la mise en miroir, car l\'élément contient un homologue.</target>\n      </trans-unit>\n      <trans-unit id="f123ae1fc3b000e5d08e766dd78bff162afe709d" datatype="html">\n        <source>host \'\n          <x id="INTERPOLATION" equiv-text="{{hostname}}"/>\'\n        </source>\n        <target>host \'\n          <x id="INTERPOLATION" equiv-text="{{hostname}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="dfe70001dc590a9e12512cbb206aa29fb36fd00b" datatype="html">\n        <source>pool \'\n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>\'\n        </source>\n        <target>pool \'\n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="59630daf2f4786690fae0cdad55da8887236eabe" datatype="html">\n        <source>erasure code profile \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </source>\n        <target>erasure code profile \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="369462e5e018360e0600bb570866201ad5c3c8a8" datatype="html">\n        <source>target \'\n          <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>\'\n        </source>\n        <target>target \'\n          <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="cf41310917cb19b335e5a950972bbff2346f7a47" datatype="html">\n        <source>NFS \n          <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>\n        </source>\n        <target>NFS \n          <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="54bf6542e39412f83ec883266f443e31b304c937" datatype="html">\n        <source>Required rules for password complexity:\n    - must contain at least 8 characters\n    - cannot contain username\n    - cannot contain any keyword used in Ceph\n    - cannot contain any repetitive characters e.g. "aaa"\n    - cannot contain any sequencial characters e.g. "abc"\n    - must consist of characters from the following groups:\n      * alphabetic a-z, A-Z\n      * numbers 0-9\n      * special chars: !"#$%&amp; \'()*+,-./:;&lt;=&gt;?@[\\]^_`\n          <x id="INTERPOLATION" equiv-text="{{|}}"/>~\n      * any other characters (signs)\n        </source>\n        <target>Required rules for password complexity:\n    - must contain at least 8 characters\n    - cannot contain username\n    - cannot contain any keyword used in Ceph\n    - cannot contain any repetitive characters e.g. "aaa"\n    - cannot contain any sequencial characters e.g. "abc"\n    - must consist of characters from the following groups:\n      * alphabetic a-z, A-Z\n      * numbers 0-9\n      * special chars: !"#$%&amp; \'()*+,-./:;&lt;=&gt;?@[\\]^_`\n          <x id="INTERPOLATION" equiv-text="{{|}}"/>~\n      * any other characters (signs)\n        </target>\n      </trans-unit>\n      <trans-unit id="ba575e9364b43dc870e332265c5182bb357b7a49" datatype="html">\n        <source>Weak</source>\n        <target>Weak</target>\n      </trans-unit>\n      <trans-unit id="7e6c975ebea8b5f8b120905ca7acf9f8edf59d8e" datatype="html">\n        <source>OK</source>\n        <target>OK</target>\n      </trans-unit>\n      <trans-unit id="3f7349017a01eed18c3daf2b7295ca96ef442eb6" datatype="html">\n        <source>Strong</source>\n        <target>Strong</target>\n      </trans-unit>\n      <trans-unit id="a1e3aecc2022cb0ebed8575a24d0e29d2de815c6" datatype="html">\n        <source>Very strong</source>\n        <target>Very strong</target>\n      </trans-unit>\n    </body>\n  </file>\n</xliff>'},V6Ve:function(t,e,n){var a=n("kekF")(Object.keys,Object);t.exports=a},VHo1:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}(n("rLYq"))},VOtZ:function(t,e,n){var a=n("juv8"),r=n("MvSz");t.exports=function(t,e){return a(t,r(t),e)}},VRyK:function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var a=n("HDdC"),r=n("z+Ro"),o=n("bHdf"),i=n("yCtX");function s(...t){let e=Number.POSITIVE_INFINITY,n=null,s=t[t.length-1];return Object(r.a)(s)?(n=t.pop(),t.length>1&&"number"==typeof t[t.length-1]&&(e=t.pop())):"number"==typeof s&&(e=t.pop()),null===n&&1===t.length&&t[0]instanceof a.a?t[0]:Object(o.a)(e)(Object(i.a)(t,n))}},VTlA:function(t,e,n){"use strict";n.d(e,"a",(function(){return a})),n("mSOc"),n("ufoC");class a{constructor(t,e){this.taskMessageService=t,this.summaryService=e}init(t,e,n,a,r,o,i){this.getUpdate=t,this.preProcessing=e,this.setList=n,this.onFetchError=a,this.taskFilter=r,this.itemFilter=o,this.builders=i||{},this.summaryDataSubscription=this.summaryService.subscribe(t=>{t&&this.getUpdate().subscribe(e=>{this.updateData(e,t.executing_tasks.filter(this.taskFilter))},this.onFetchError)},this.onFetchError)}updateData(t,e){const n=this.preProcessing?this.preProcessing(t):t;this.addMissing(n,e),n.forEach(t=>{const n=e.filter(e=>this.itemFilter(t,e));t.cdExecuting=this.getTaskAction(n)}),this.setList(n)}addMissing(t,e){const n=this.builders.default;e.forEach(e=>{const a=t.find(t=>this.itemFilter(t,e)),r=this.builders[e.name];a||!r&&!n||t.push(r?r(e.metadata):n(e.metadata))})}getTaskAction(t){if(0!==t.length)return t.map(t=>{const e=t.progress?` ${t.progress}%`:"";return this.taskMessageService.getRunningText(t)+"..."+e}).join(", ")}ngOnDestroy(){this.summaryDataSubscription&&this.summaryDataSubscription.unsubscribe()}}},VXsX:function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var a=n("LvDl"),r=n("mSOc"),o=n("8Y7J");class i{constructor(t,e,n){this.name=t,this.metadata=e,this.onTaskFinished=n}}let s=(()=>{class t{constructor(t){this.subscriptions=[],t.subscribe(t=>{if(!t)return;const e=t.executing_tasks,n=t.finished_tasks,a=[];for(const r of this.subscriptions){const t=this._getTask(r,n),o=this._getTask(r,e);null!==t&&null===o&&r.onTaskFinished(t),null!==o&&a.push(r),this.subscriptions=a}})}subscribe(t,e,n){this.subscriptions.push(new i(t,e,n))}_getTask(t,e){for(const n of e)if(n.name===t.name&&a.isEqual(n.metadata,t.metadata))return n;return null}}return t.ngInjectableDef=o["ɵɵdefineInjectable"]({factory:function(){return new t(o["ɵɵinject"](r.a))},token:t,providedIn:"root"}),t})()},"VYA+":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=n("CVuo"),r=n("HV4d"),o=n("h+PQ");function i(t){return null==t}e.setColumnDefaults=function(t){if(t)for(var e=!1,n=0,s=t;n<s.length;n++){var c=s[n];c.$$id||(c.$$id=r.id()),i(c.prop)&&c.name&&(c.prop=a.camelCase(c.name)),c.$$valueGetter||(c.$$valueGetter=o.getterForProp(c.prop)),!i(c.prop)&&i(c.name)&&(c.name=a.deCamelCase(String(c.prop))),i(c.prop)&&i(c.name)&&(c.name=""),c.hasOwnProperty("resizeable")||(c.resizeable=!0),c.hasOwnProperty("sortable")||(c.sortable=!0),c.hasOwnProperty("draggable")||(c.draggable=!0),c.hasOwnProperty("canAutoResize")||(c.canAutoResize=!0),c.hasOwnProperty("width")||(c.width=150),c.hasOwnProperty("isTreeColumn")&&c.isTreeColumn&&!e?e=!0:c.isTreeColumn=!1}},e.isNullOrUndefined=i,e.translateTemplates=function(t){for(var e=[],n=0,a=t;n<a.length;n++){for(var r=a[n],o={},i=0,s=Object.getOwnPropertyNames(r);i<s.length;i++){var c=s[i];o[c]=r[c]}r.headerTemplate&&(o.headerTemplate=r.headerTemplate),r.cellTemplate&&(o.cellTemplate=r.cellTemplate),r.summaryFunc&&(o.summaryFunc=r.summaryFunc),r.summaryTemplate&&(o.summaryTemplate=r.summaryTemplate),e.push(o)}return e}},VaNO:function(t,e){t.exports=function(t){return this.__data__.has(t)}},Vclq:function(t,e,n){!function(t){"use strict";var e="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),a=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],r=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;t.defineLocale("es-us",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(t,a){return t?/-MMM-/.test(a)?n[t.month()]:e[t.month()]:e},monthsRegex:r,monthsShortRegex:r,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"MM/DD/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:0,doy:6}})}(n("wd/R"))},Vhfg:function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var a=n("lJxs"),r=n("ej+x"),o=n("8Y7J"),i=n("iInd");let s=(()=>{class t{constructor(t,e){this.router=t,this.featureToggles=e}canActivate(t){return this.featureToggles.get().pipe(Object(a.a)(e=>!1!==e[t.routeConfig.path]||(this.router.navigate(["404"]),!1)))}canActivateChild(t){return this.canActivate(t.parent)}}return t.ngInjectableDef=o["ɵɵdefineInjectable"]({factory:function(){return new t(o["ɵɵinject"](i.m),o["ɵɵinject"](r.a))},token:t,providedIn:"root"}),t})()},ViD7:function(t,e,n){"use strict";n.r(e),e.default='<xliff xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 http://docs.oasis-open.org/xliff/v1.2/os/xliff-core-1.2-strict.xsd" xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">\n  <file original="ng2.template" datatype="plaintext" source-language="en-US" target-language="cs">\n    <body>\n      <trans-unit id="319e0745bcbc132451569294fa2fa21bf10f555a" datatype="html">\n        <source>Toggle navigation</source>\n        <target>Zobraz./skrýt navigaci</target>\n      </trans-unit>\n      <trans-unit id="f65253954b66e929a8b4d5ecaf61f9129f8cec64" datatype="html">\n        <source>Dashboard</source>\n        <target>Přehled</target>\n      </trans-unit>\n      <trans-unit id="f4d1dd59b039ad818d9da7e29a773e10e41d9821" datatype="html">\n        <source>Cluster</source>\n        <target>Klastr</target>\n      </trans-unit>\n      <trans-unit id="099b441d49333b3c6d30b36dc0a4763e64c78920" datatype="html">\n        <source>Hosts</source>\n        <target>Stroje</target>\n      </trans-unit>\n      <trans-unit id="2cc3ecb16e348fcf2f2fbfd2f997d4d22f37475b" datatype="html">\n        <source>Inventory</source>\n        <target>Inventory</target>\n      </trans-unit>\n      <trans-unit id="624f596cc3320f5e0a0d7c7346c364e5af9bdd8c" datatype="html">\n        <source>Monitors</source>\n        <target>Monitory</target>\n      </trans-unit>\n      <trans-unit id="419d940613972cc3fae9c8ea0a4306dbf80616e5" datatype="html">\n        <source>Services</source>\n        <target>Služby</target>\n      </trans-unit>\n      <trans-unit id="1a9183778f2c6473d7ccb080f651caa01faaf70c" datatype="html">\n        <source>OSDs</source>\n        <target>OSD</target>\n      </trans-unit>\n      <trans-unit id="4a41f824a35ba01d5bd7be61aa06b3e8145209d0" datatype="html">\n        <source>Configuration</source>\n        <target>Nastavení</target>\n      </trans-unit>\n      <trans-unit id="8c95898abff46bfac3ed6eb2afef74597e60b15c" datatype="html">\n        <source>CRUSH map</source>\n        <target>CRUSH mapa</target>\n      </trans-unit>\n      <trans-unit id="33da4dbeb076159510801ea764a218fd341269d2" datatype="html">\n        <source>Manager modules</source>\n        <target>Moduly správy</target>\n      </trans-unit>\n      <trans-unit id="eb3d5aefff38a814b76da74371cbf02c0789a1ef" datatype="html">\n        <source>Logs</source>\n        <target>Záznamy událostí</target>\n      </trans-unit>\n      <trans-unit id="9fe218829514884cdd0ca2300573a4e0428c324f" datatype="html">\n        <source>Alerts</source>\n        <target>Výstrahy</target>\n      </trans-unit>\n      <trans-unit id="aa0c44aa1e5727061baa91e954f77e2f5f9a37c9" datatype="html">\n        <source>Silences</source>\n        <target>Ticha</target>\n      </trans-unit>\n      <trans-unit id="92899fa68e8ca108912163ff58edc8540e453787" datatype="html">\n        <source>Pools</source>\n        <target>Fondy</target>\n      </trans-unit>\n      <trans-unit id="7f5d0c10614e8a34f0e2dad33a0568277c50cf69" datatype="html">\n        <source>Block</source>\n        <target>Blok</target>\n      </trans-unit>\n      <trans-unit id="b73f7f5060fb22a1e9ec462b1bb02493fa3ab866" datatype="html">\n        <source>Images</source>\n        <target>Obrazy</target>\n      </trans-unit>\n      <trans-unit id="3c2562ba992127203dcfd014010b03cb7b8113c6" datatype="html">\n        <source>Mirroring</source>\n        <target>Zrcadlení</target>\n      </trans-unit>\n      <trans-unit id="811c241d56601b91ef26735b770e64428089b950" datatype="html">\n        <source>iSCSI</source>\n        <target>iSCSI</target>\n      </trans-unit>\n      <trans-unit id="a24eabd99ea5af20f5f94c4484649cd30370042b" datatype="html">\n        <source>NFS</source>\n        <target>NFS</target>\n      </trans-unit>\n      <trans-unit id="a4eff72d97b7ced051398d581f10968218057ddc" datatype="html">\n        <source>Filesystems</source>\n        <target>Souborové systémy</target>\n      </trans-unit>\n      <trans-unit id="2190548d236ca5f7bc7ab2bca334b860c5ff2ad4" datatype="html">\n        <source>Object Gateway</source>\n        <target>Objektová brána</target>\n      </trans-unit>\n      <trans-unit id="9e24f9e2d42104ffc01599db4d566d1cc518f9e6" datatype="html">\n        <source>Daemons</source>\n        <target>Procesy služeb</target>\n      </trans-unit>\n      <trans-unit id="4d13a9cd5ed3dcee0eab22cb25198d43886942be" datatype="html">\n        <source>Users</source>\n        <target>Uživatelé</target>\n      </trans-unit>\n      <trans-unit id="9515520496da83179d8b08132f00f575512a1f40" datatype="html">\n        <source>Buckets</source>\n        <target>Nádoby</target>\n      </trans-unit>\n      <trans-unit id="797f8214e8148f4bf0d244baaa7341706b419549" datatype="html">\n        <source>Retrieving data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>. Please wait...\n        </source>\n        <target>Získávají se data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> pro\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>. Čekejte…\n        </target>\n      </trans-unit>\n      <trans-unit id="5a870dc77b9f6f33ee671ea2d856021276933339" datatype="html">\n        <source>Displaying previously cached data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>\n  for \n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n        </source>\n        <target>Zobrazují se data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>z mezipaměti\n  pro \n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="ae580202919844531361ba2308287226ff74a584" datatype="html">\n        <source>Could not load data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n  Please check the cluster health.\n        </source>\n        <target>Nedaří se načíst dat \n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> pro\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n  Zkontrolujte zdraví klastru.\n        </target>\n      </trans-unit>\n      <trans-unit id="7e52e9143145e1db5146258de81eae018a407b31" datatype="html">\n        <source>Clear notifications</source>\n        <target>Vyčistit oznámení</target>\n      </trans-unit>\n      <trans-unit id="b0b07bb6b7ff21ede439dd04eaf8872d1ecb84d8" datatype="html">\n        <source>Remove notification</source>\n        <target>Odebrat oznámení</target>\n      </trans-unit>\n      <trans-unit id="e17a1d75189da843f541f7764f188f2b19a97df2" datatype="html">\n        <source>Duration:</source>\n        <target>Trvání:</target>\n      </trans-unit>\n      <trans-unit id="0d4b37c6675c5b436a54c43d6716eec835e1aa7f" datatype="html">\n        <source>There are no notifications.</source>\n        <target>Nejsou zde žádná oznámení.</target>\n      </trans-unit>\n      <trans-unit id="0a23e992f6c6e169a38b2b7338b4e5e803b52e0d" datatype="html">\n        <source>Tasks and Notifications</source>\n        <target>Úlohy a oznámení</target>\n      </trans-unit>\n      <trans-unit id="3fb5709e10166cbc85970cbff103db227dbeb813" datatype="html">\n        <source>Select a Language</source>\n        <target>Vyberte jazyk</target>\n      </trans-unit>\n      <trans-unit id="c5109325fb160b543f71a51e7511c00575057431" datatype="html">\n        <source>Loading panel data...</source>\n        <target>Načítání údajů panelu…</target>\n      </trans-unit>\n      <trans-unit id="8ca12411f890ab8b0a9216418e2b8f5ea7d2441a" datatype="html">\n        <source>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the monitoring functionality.\n        </source>\n        <target>Nahlédněte do\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>dokumentace\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>, kde naleznete jak\n  nastavit a zapnout funkci monitorování.\n        </target>\n      </trans-unit>\n      <trans-unit id="160a9e80dc089792df42e2400b1e81b9e7025aa7" datatype="html">\n        <source>Grafana Dashboard doesn\'t exist. Please refer to\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  add dashboards to Grafana.\n        </source>\n        <target>Grafana přehled neexistuje. Podívejte se do\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>dokumentace\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> jak\n  přidat přehledy do Grafany.\n        </target>\n      </trans-unit>\n      <trans-unit id="4e11830040bd64804a0555de76f291d5832772d4" datatype="html">\n        <source>Grafana Time Picker</source>\n        <target>Volič čas Grafana</target>\n      </trans-unit>\n      <trans-unit id="238c1ba845dd7330e8088165275919a1debf1ca3" datatype="html">\n        <source>Reset Settings</source>\n        <target>Resetovat nastavení</target>\n      </trans-unit>\n      <trans-unit id="c8d1785038d461ec66b5799db21864182b35900a" datatype="html">\n        <source>Refresh</source>\n        <target>Načíst znovu</target>\n      </trans-unit>\n      <trans-unit id="6c947210e2d162b6225083d18820ab602f58cd2d" datatype="html">\n        <source>Remove the custom configuration value. The default configuration will be inherited and used instead.</source>\n        <target>Odebrat uživatelsky určenou hodnotu nastavení. Namísto toho bude převzato a použito výchozí nastavení.</target>\n      </trans-unit>\n      <trans-unit id="454ee9cb60b00446a8fb147fd2cc5eb836320586" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ option.maxValue }}"/>.\n        </source>\n        <target>Zadaná hodnota je příliš vysoká! Nemůže být vyšší než \n          <x id="INTERPOLATION" equiv-text="{{ option.maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="7fc8a22825131e028336f60ef909ccbd96059703" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ option.minValue }}"/>.\n        </source>\n        <target>Zadaná hodnota je příliš nízká! Nemůže být nižší než 1.</target>\n      </trans-unit>\n      <trans-unit id="cda31dbd724cf5f4fa7a4274d9120651490c8a8c" datatype="html">\n        <source>Back</source>\n        <target>Zpět</target>\n      </trans-unit>\n      <trans-unit id="012741ee52b3c050e4a977c37cc2334f7974f141" datatype="html">\n        <source>Failed to load data.</source>\n        <target>Data se nepodařilo načíst</target>\n      </trans-unit>\n      <trans-unit id="80cc9a12d4bf6fe454ed94b379eeaf915f920bb7" datatype="html">\n        <source>selected</source>\n        <target>vybráno</target>\n        <note>X selected</note>\n      </trans-unit>\n      <trans-unit id="0cb77511a9a148e05b9adf36cc07269956fbb29d" datatype="html">\n        <source>found</source>\n        <target>nalezeno</target>\n        <note>X found</note>\n      </trans-unit>\n      <trans-unit id="79347388740c50b7ac97e144c2494bb62912f312" datatype="html">\n        <source>total</source>\n        <target>celkem</target>\n        <note>X total</note>\n      </trans-unit>\n      <trans-unit id="cff1428d10d59d14e45edec3c735a27b5482db59" datatype="html">\n        <source>Name</source>\n        <target>Název</target>\n      </trans-unit>\n      <trans-unit id="eec715de352a6b114713b30b640d319fa78207a0" datatype="html">\n        <source>Description</source>\n        <target>Popis</target>\n      </trans-unit>\n      <trans-unit id="4ad112ce9bcd55dfd137792a86afe1b5a5b13cf8" datatype="html">\n        <source>Long description</source>\n        <target>Podrobnější popis</target>\n      </trans-unit>\n      <trans-unit id="ff7cee38a2259526c519f878e71b964f41db4348" datatype="html">\n        <source>Default</source>\n        <target>Výchozí</target>\n      </trans-unit>\n      <trans-unit id="33e1c1d9fc05ca3f62fcc8a1170fc31ebae4229c" datatype="html">\n        <source>Daemon default</source>\n        <target>Výchozí pro proces služby</target>\n      </trans-unit>\n      <trans-unit id="809b0c848932a41318f77a2aace904ef429c13f4" datatype="html">\n        <source>Values</source>\n        <target>Hodnoty</target>\n      </trans-unit>\n      <trans-unit id="82029b6db704c56a2aa3e82ac555b8655356b077" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.\n        </source>\n        <target>Zadaná hodnota je příliš vysoká! Nemůže být vyšší než \n          <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8ed8b3967a7326b81b191c9f490006e6a6777a9a" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ minValue }}"/>.\n        </source>\n        <target>Zadaná hodnota je příliš nízká! Nemůže být nižší než \n          <x id="INTERPOLATION" equiv-text="{{ minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="52c9a103b812f258bcddc3d90a6e3f46871d25fe" datatype="html">\n        <source>Save</source>\n        <target>Uložit</target>\n      </trans-unit>\n      <trans-unit id="738de688b22fba5d0dc7a5e549996838dddad0ee" datatype="html">\n        <source>CRUSH map viewer</source>\n        <target>prohlížeč CRUSH mapy</target>\n      </trans-unit>\n      <trans-unit id="94516fa213706c67ce5a5b5765681d7fb032033a" datatype="html">\n        <source>Loading...</source>\n        <target>Načítání…</target>\n      </trans-unit>\n      <trans-unit id="formTitle" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </target>\n        <note>form title</note>\n      </trans-unit>\n      <trans-unit id="9a541ec1a4319fffc16ad3b3ab2c2b6d251a829d" datatype="html">\n        <source>Hostname</source>\n        <target>Název stroje</target>\n      </trans-unit>\n      <trans-unit id="7cbdabcece469fab89cfa687ab152bca18b97498" datatype="html">\n        <source>This field is required.</source>\n        <target>Tuto kolonku je třeba vyplnit.</target>\n      </trans-unit>\n      <trans-unit id="1b3f5e5291541678f7afa49d28fad5ca848a8061" datatype="html">\n        <source>The chosen hostname is already in use.</source>\n        <target>Zvolený název stroje už je používán.</target>\n      </trans-unit>\n      <trans-unit id="formActionButton" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </target>\n        <note>form action button</note>\n      </trans-unit>\n      <trans-unit id="6110699a3562eeb15371063c0cf7f6bfd88a0209" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemNames[0] }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>?\n        </source>\n        <target>Opravdu chcete \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemNames[0] }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>?\n        </target>\n      </trans-unit>\n      <trans-unit id="549859e511ba5af0ea03fcaa620c472f08038969" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected items?\n        </source>\n        <target>Opravdu chcete označené položky \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> ?\n        </target>\n      </trans-unit>\n      <trans-unit id="54839ebc827b73c9dc4e1df731c6d36a85036af7" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected \n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>?\n        </source>\n        <target>Opravdu chcete \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> označené \n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>?\n        </target>\n      </trans-unit>\n      <trans-unit id="2be8b7f04f0104d3fad90d079d8202b74f758b9a" datatype="html">\n        <source>Yes, I am sure.</source>\n        <target>Ano, opravdu to chci.</target>\n      </trans-unit>\n      <trans-unit id="d7b35c384aecd25a516200d6921836374613dfe7" datatype="html">\n        <source>Cancel</source>\n        <target>Storno</target>\n      </trans-unit>\n      <trans-unit id="40661476cb24c89d8b06614998e31d5fbe84eeb6" datatype="html">\n        <source>Hosts List</source>\n        <target>Seznam strojů</target>\n      </trans-unit>\n      <trans-unit id="5e7f4b1ca49e8d217bd0e12c6f7d6b6a2ade2c18" datatype="html">\n        <source>Overall Performance</source>\n        <target>Celková výkonnost</target>\n      </trans-unit>\n      <trans-unit id="6bc15dc1a621b6ff7378db7fd3ac10b2a2627c77" datatype="html">\n        <source>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the orchestrator functionality.\n        </source>\n        <target>Nahlédněte do dokumentace\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> ohledně toho, jak\n   nastavit a zapnout funkci orchestrace.\n        </target>\n      </trans-unit>\n      <trans-unit id="3e24569eca61d598c8b01defbbbb1fa8bd5222bc" datatype="html">\n        <source>Devices</source>\n        <target>Zařízení</target>\n      </trans-unit>\n      <trans-unit id="e6d57f36aa2bad303c8a8ee944b9bd7fae3c8c26" datatype="html">\n        <source>No entries found</source>\n        <target>Nenalezeny žádné položky</target>\n      </trans-unit>\n      <trans-unit id="d556ab48a65722b400e497f61737f553ee0f89e2" datatype="html">\n        <source>Cluster Logs</source>\n        <target>Záznamy událostí v klastra</target>\n      </trans-unit>\n      <trans-unit id="5f966baffd188be0e8adc2d7067b86e55fc9b9de" datatype="html">\n        <source>Audit Logs</source>\n        <target>Auditní záznamy událostí</target>\n      </trans-unit>\n      <trans-unit id="4193c9eb868aeec119b78a14795241e0aa5e8b60" datatype="html">\n        <source>Priority:</source>\n        <target>Priorita:</target>\n      </trans-unit>\n      <trans-unit id="1d78ca51eab260ce3fd917d39190d64df5229b6e" datatype="html">\n        <source>Keyword:</source>\n        <target>Klíčové slovo:</target>\n      </trans-unit>\n      <trans-unit id="05fa0bded36de6e73a1fa44838b627349dace044" datatype="html">\n        <source>Date:</source>\n        <target>Datum:</target>\n      </trans-unit>\n      <trans-unit id="31dadb362bf7f7c2afa10e5f96474ccd3977f91f" datatype="html">\n        <source>Datepicker</source>\n        <target>Volba data</target>\n      </trans-unit>\n      <trans-unit id="85a400388de1899b1917138cf7e5286376f72847" datatype="html">\n        <source>Time range:</source>\n        <target>Časový rozsah:</target>\n      </trans-unit>\n      <trans-unit id="2447796ddbda942f4e2c46619cb84d69f066e568" datatype="html">\n        <source>Loading configuration...</source>\n        <target>Načítání nastavení…</target>\n      </trans-unit>\n      <trans-unit id="b42c0b347a841bed8859ee83de05080ee28c803b" datatype="html">\n        <source>The configuration could not be loaded.</source>\n        <target>Toto nastavení se nepodařilo načíst.</target>\n      </trans-unit>\n      <trans-unit id="31a9c2870a934b594d1390146c489f76440859ea" datatype="html">\n        <source>Edit Manager module</source>\n        <target>Upravit modul správy</target>\n      </trans-unit>\n      <trans-unit id="46e09b8290d3d0afdb6baa2021395b0570606a31" datatype="html">\n        <source>The entered value is not a valid UUID, e.g.: 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8</source>\n        <target>Zadaná hodnota není platné UUID, např.: 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8</target>\n      </trans-unit>\n      <trans-unit id="7aacd038b39cfd347107d01d1dc27f5cb3e0951c" datatype="html">\n        <source>The entered value needs to be a valid IP address.</source>\n        <target>Je třeba, aby zadaná hodnota byla platnou IP adresou.</target>\n      </trans-unit>\n      <trans-unit id="f19106149f4b07a0d721f9d317afed393cb7bd93" datatype="html">\n        <source>The entered value is too high! It must be lower or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.max }}"/>.\n        </source>\n        <target>Zadaná hodnota je příliš vysoká! Je třeba, aby byla nižší nebo rovná \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.max }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="6d33c40ef9a6c3bf0888df831b25e41e65f9d15b" datatype="html">\n        <source>The entered value is too low! It must be greater or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.min }}"/>.\n        </source>\n        <target>Zadaná hodnota je příliš nízká! Je třeba, aby byla vyšší než nebo rovná \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.min }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="eae7086660cf1e38c7194a2c49ff52cc656f90f5" datatype="html">\n        <source>The entered value needs to be a number.</source>\n        <target>Je třeba, aby zadaná hodnota byla číslo.</target>\n      </trans-unit>\n      <trans-unit id="a73376e04b4fb3a20734c8c39743fba32e6676ce" datatype="html">\n        <source>The entered value needs to be a number or decimal.</source>\n        <target>Je třeba, aby zadaná hodnota byla číslo nebo desítkové.</target>\n      </trans-unit>\n      <trans-unit id="047f50bc5b5d17b5bec0196355953e1a5c590ddb" datatype="html">\n        <source>Update</source>\n        <target>Aktualizovat</target>\n      </trans-unit>\n      <trans-unit id="81b97b8ea996ad1e4f9fca8415021850214884b1" datatype="html">\n        <source>Status</source>\n        <target>Stav</target>\n      </trans-unit>\n      <trans-unit id="57ec6032f5618d4a9f16eb950ad23d2ce7c24b54" datatype="html">\n        <source>Cluster ID</source>\n        <target>Identif. kastru</target>\n      </trans-unit>\n      <trans-unit id="67d7facc3fec5f8a49ab9ba0a245872184264ce5" datatype="html">\n        <source>monmap modified</source>\n        <target>mapa monitorů změněna</target>\n      </trans-unit>\n      <trans-unit id="d4906731aaf2b94b4f547646c9bfe58bb77951b6" datatype="html">\n        <source>monmap epoch</source>\n        <target>monmap epocha</target>\n      </trans-unit>\n      <trans-unit id="bd4ee06ffdc46d9dfbd0c0c4f81399021c680056" datatype="html">\n        <source>quorum con</source>\n        <target>kvórum spojení</target>\n      </trans-unit>\n      <trans-unit id="1176c7db8a8276ccb44cc3d42e2c28d9fa6c6596" datatype="html">\n        <source>quorum mon</source>\n        <target>kvórum monitor</target>\n      </trans-unit>\n      <trans-unit id="530ef677a09d681b3ab68cb0760494b3ae72a77c" datatype="html">\n        <source>required con</source>\n        <target>vyžadováno spojení</target>\n      </trans-unit>\n      <trans-unit id="a91558e0d506c32021c31843f8f168899fc65cbf" datatype="html">\n        <source>required mon</source>\n        <target>vyžadováno monitorů</target>\n      </trans-unit>\n      <trans-unit id="b3abe9eac5bcd94a54c8da93b312e085ec512e74" datatype="html">\n        <source>In Quorum</source>\n        <target>V kvóru</target>\n      </trans-unit>\n      <trans-unit id="ba4b748a676e1f217ce1e736fb7ec1215e677bae" datatype="html">\n        <source>Not In Quorum</source>\n        <target>Není v kvóru</target>\n      </trans-unit>\n      <trans-unit id="5ef50ba2514414f799d4c8fc36067a251904ba81" datatype="html">\n        <source>Cluster-wide OSD Flags</source>\n        <target>Příznaky OSD pro celý klastr</target>\n      </trans-unit>\n      <trans-unit id="71c77bb8cecdf11ec3eead24dd1ba506573fa9cd" datatype="html">\n        <source>Submit</source>\n        <target>Odeslat</target>\n      </trans-unit>\n      <trans-unit id="1cfe07dac5b4ee1c464eb24225ddeb4f1d24076a" datatype="html">\n        <source>Advanced...</source>\n        <target>Pokročilé…</target>\n      </trans-unit>\n      <trans-unit id="b1ef1c12ddcee305353623919ef02778569f5454" datatype="html">\n        <source>Advanced configuration options</source>\n        <target>Pokročilé volby nastavení</target>\n      </trans-unit>\n      <trans-unit id="c35f9c5f268a514b970cc55e9a5dc4bed0988e7f" datatype="html">\n        <source>OSD Recovery Priority</source>\n        <target>Priorita obnovení OSD</target>\n      </trans-unit>\n      <trans-unit id="b74af38005e8a8914e45af2ec412e11ceafef8b6" datatype="html">\n        <source>Priority</source>\n        <target>Priorita</target>\n      </trans-unit>\n      <trans-unit id="c2f48f04b379bfba133825747adfd238d511412e" datatype="html">\n        <source>Customize priority values</source>\n        <target>Přizpůsobit hodnoty priority</target>\n      </trans-unit>\n      <trans-unit id="4aa19de2a2b54cbda39e9c62917b23044c087776" datatype="html">\n        <source>This field is required!</source>\n        <target>Tuto kolonku je třeba vyplnit!</target>\n      </trans-unit>\n      <trans-unit id="b699e94bf376491bd50b70a98531071c737eaf40" datatype="html">\n        <source>[object Object]</source>\n        <target>[object Object]</target>\n      </trans-unit>\n      <trans-unit id="98fe13e7ad6c2b80375d204b47858ded83f80e15" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.maxValue }}"/>.\n        </source>\n        <target>Zadaná hodnota je příliš vysoká, je třeba, aby nebyla vyšší než \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="5423a3c111be47fc5a1bfe46ceb58c81c84db691" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.minValue }}"/>.\n        </source>\n        <target>Zadaná hodnota je příliš nízká! Je třeba, aby byla nižší než \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="5251a4355cece3075db43f15d69a24a0f8485707" datatype="html">\n        <source>Reweight OSD: \n          <x id="INTERPOLATION" equiv-text="{{ osdId }}"/>\n        </source>\n        <target>Reweight OSD: \n          <x id="INTERPOLATION" equiv-text="{{ osdId }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="67650b2998db48201b2c6176cbfef51e7211ccaa" datatype="html">\n        <source>The value needs to be between 0 and 1.</source>\n        <target>Je třeba, aby hodnota byla mezi 0 a 1.</target>\n      </trans-unit>\n      <trans-unit id="bc11f92113d678a90e334fdf3d7b3fddbe34c579" datatype="html">\n        <source>Reweight</source>\n        <target>Znovu vyvážit</target>\n      </trans-unit>\n      <trans-unit id="d5ca5daf742023fc4f0919fb3c1c6a51991cda4f" datatype="html">\n        <source>OSDs \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>Scrub\n        </source>\n        <target>OSD \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>kontrola\n        </target>\n      </trans-unit>\n      <trans-unit id="4c17d67c7c5799eb920030e9a399961e90f55dd8" datatype="html">\n        <source>{VAR_SELECT, select, 1 {Deep } }</source>\n        <target>{VAR_SELECT, vybrat, 1 {Deep } }</target>\n      </trans-unit>\n      <trans-unit id="2613498e8e5853c26a1cc62ae8dc673d1fdf0e2a" datatype="html">\n        <source>You are about to apply a \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to\n          the OSD(s): \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ selected | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.\n        </source>\n        <target>Chystáte se použít \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub na\n          OSD(s): \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ selected | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="dc6705f342a036b332c3fd3443201c3613e5524d" datatype="html">\n        <source>{VAR_SELECT, select, 1 {deep } }</source>\n        <target>{VAR_SELECT, vybrat, 1 {deep } }</target>\n      </trans-unit>\n      <trans-unit id="b49d7877d24112d4bdfce9256edf61a007fae888" datatype="html">\n        <source>OSDs List</source>\n        <target>Seznam OSD</target>\n      </trans-unit>\n      <trans-unit id="c402e6ec1c6792ede81f56c28eee8955860391c8" datatype="html">\n        <source>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) \n          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </source>\n        <target>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD \n          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> budou označena\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> pokud budete pokračovat.\n        </target>\n      </trans-unit>\n      <trans-unit id="d2797d01ba86f5df03d875803e49e648a4027869" datatype="html">\n        <source>The \n          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to destroy!\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> není bezpečné zlikvidovat!\n        </target>\n      </trans-unit>\n      <trans-unit id="e776996dac651ef3819bfa767ccf2a0613759f47" datatype="html">\n        <source>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</source>\n        <target>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</target>\n      </trans-unit>\n      <trans-unit id="1e2c50ed3c3934ef068976dc7f38513cec29d515" datatype="html">\n        <source>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD \n          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </source>\n        <target>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD \n          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> bude\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> pokud budete pokračovat.\n        </target>\n      </trans-unit>\n      <trans-unit id="4f8b2bb476981727ab34ed40fde1218361f92c45" datatype="html">\n        <source>Details</source>\n        <target>Podrobnosti</target>\n      </trans-unit>\n      <trans-unit id="8501055865d7031b5521a0c5467532648009a61d" datatype="html">\n        <source>Matcher</source>\n        <target>Matcher</target>\n      </trans-unit>\n      <trans-unit id="9c25e04f554875dc2625a78ba0fc56c6010cd0d3" datatype="html">\n        <source>-- Select an attribute to match against --</source>\n        <target>-- Vyberte atribut vůči kterému hledat shodu --</target>\n      </trans-unit>\n      <trans-unit id="5049e204c14c648691ac775a64fb504467aeb549" datatype="html">\n        <source>Value</source>\n        <target>Hodnota</target>\n      </trans-unit>\n      <trans-unit id="77fc5c63497fc031ddc97645484e3d94ad27766c" datatype="html">\n        <source>Use regular expression</source>\n        <target>Použít regulární výraz</target>\n      </trans-unit>\n      <trans-unit id="7bbec1a797283712c0adf9e71d77fb5a8cd720db" datatype="html">\n        <source>{VAR_SELECT, select, 1 {Update} other {Add} }</source>\n        <target>{VAR_SELECT, select, 1 {Update} other {Add} }</target>\n      </trans-unit>\n      <trans-unit id="f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8" datatype="html">\n        <source>Close</source>\n        <target>Zavřít</target>\n      </trans-unit>\n      <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c" datatype="html">\n        <source>Edit</source>\n        <target>Upravit</target>\n      </trans-unit>\n      <trans-unit id="826b25211922a1b46436589233cb6f1a163d89b7" datatype="html">\n        <source>Delete</source>\n        <target>Smazat</target>\n      </trans-unit>\n      <trans-unit id="a3ba06aba047605af8ea1718ec1ba153b7db12a2" datatype="html">\n        <source>Editing a silence will expire the old silence and recreate it as a new silence</source>\n        <target>Úprava ticha skončí platnost původního ticha a znovu ho vytvoří jako nové ticho</target>\n      </trans-unit>\n      <trans-unit id="a20424156b8816671f61879f0574a4f27d7b16b9" datatype="html">\n        <source>Creator</source>\n        <target>Tvůrce</target>\n      </trans-unit>\n      <trans-unit id="5a5d7ee2acbfa9c91ab7f41d26bda9ff0cafe42f" datatype="html">\n        <source>Comment</source>\n        <target>Komentář</target>\n      </trans-unit>\n      <trans-unit id="4c11aad490b2d53fdae30b3807beabf79306752c" datatype="html">\n        <source>Start time</source>\n        <target>Čas začátku</target>\n      </trans-unit>\n      <trans-unit id="32856b1e8e339b747b21e313e2fe65a51fd450bb" datatype="html">\n        <source>If the start time lies in the past the creation time will be used</source>\n        <target>Pokud čas začátku leží v minulosti, bude namísto něj použit okamžik vytvoření</target>\n      </trans-unit>\n      <trans-unit id="a02ea1d4e7424ca989929da5e598f379940fdbf2" datatype="html">\n        <source>Duration</source>\n        <target>Trvání</target>\n      </trans-unit>\n      <trans-unit id="2f4e35e36f4d3c62e2c17df41730b6dee4afc4b9" datatype="html">\n        <source>End time</source>\n        <target>Čas konce</target>\n      </trans-unit>\n      <trans-unit id="dbe739ec8c99a0132e326067ffec9c0ee06b2655" datatype="html">\n        <source>Matchers\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>*\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n        </source>\n        <target>Matchers\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>*\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="3e023166c55833d5a13f4143e3dbe372befe1b4e" datatype="html">\n        <source>A silence requires at least one matcher</source>\n        <target>A silence requires at least one matcher</target>\n      </trans-unit>\n      <trans-unit id="ef765bd80c4806c51c891908c07a24bc76f019eb" datatype="html">\n        <source>Add matcher</source>\n        <target>Add matcher</target>\n      </trans-unit>\n      <trans-unit id="d2bcd3296d2850de762fb943060b7e086a893181" datatype="html">\n        <source>Health</source>\n        <target>Zdraví</target>\n      </trans-unit>\n      <trans-unit id="61e0f26d843eec0b33ff475e111b0c2f7a80b835" datatype="html">\n        <source>Statistics</source>\n        <target>Statistiky</target>\n      </trans-unit>\n      <trans-unit id="f8f74e5f683012b9c0702b1446011c6b9158bc67" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the NFS Ganesha management functionality.\n        </source>\n        <target>Ohledně nastavení a zapnutí funkce správy NFS Ganesha nahlédněte do \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>dokumentace\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="7ffe39df9d88c972792bd8688b215392deb8313d" datatype="html">\n        <source>Clients</source>\n        <target>Klienti</target>\n      </trans-unit>\n      <trans-unit id="f2dae0bda66f6a349444951c0379c28cda47d6d1" datatype="html">\n        <source>Any client can access</source>\n        <target>Přistupovat může libovolný klient</target>\n      </trans-unit>\n      <trans-unit id="7882f2edb1d4139800b276b6b0bbf5ae0b2234ef" datatype="html">\n        <source>Addresses</source>\n        <target>Adresy</target>\n      </trans-unit>\n      <trans-unit id="9bd96fcf50863e685c74d0490392f46689ffbdb6" datatype="html">\n        <source>Required field</source>\n        <target>Vyžadovaná kolonka</target>\n      </trans-unit>\n      <trans-unit id="a5f3f74c0f6925826cb2188576391c0da01a23f0" datatype="html">\n        <source>Must contain one or more comma-separated values</source>\n        <target>Je třeba, aby obsahovalo jednu nebo více čárkou oddělovaných hodnot</target>\n      </trans-unit>\n      <trans-unit id="8bb5b2073697f3f4378c44a49b7524934c9268f4" datatype="html">\n        <source>For example:</source>\n        <target>Například:</target>\n      </trans-unit>\n      <trans-unit id="8f969c655b3fbe4fba7e277caf4cd2c459f9fca5" datatype="html">\n        <source>Access Type</source>\n        <target>Typ přístupu</target>\n      </trans-unit>\n      <trans-unit id="28952831a284cfe2b4fc39ca610e80b52598905a" datatype="html">\n        <source>Squash</source>\n        <target>Squash</target>\n      </trans-unit>\n      <trans-unit id="0660ae339068979854ade34a96546980723dede3" datatype="html">\n        <source>Add clients</source>\n        <target>Přidat klienty</target>\n      </trans-unit>\n      <trans-unit id="135b91a2d908d5814b782695470a6a786c99d9d2" datatype="html">\n        <source>-- No cluster available --</source>\n        <target>-- Žádný klastr k dispozici --</target>\n      </trans-unit>\n      <trans-unit id="c501dba379f566885919240ea277b5bc10c14d18" datatype="html">\n        <source>-- Select the cluster --</source>\n        <target>-- Vyberte klastr --</target>\n      </trans-unit>\n      <trans-unit id="cf85b1ee58326aa9da63da41b2629c9db7c9a5b9" datatype="html">\n        <source>Add daemon</source>\n        <target>Přidat proces služby</target>\n      </trans-unit>\n      <trans-unit id="b3f6ba7fe84d6508705cdfe234f0fcc8ff85c9cf" datatype="html">\n        <source>Storage Backend</source>\n        <target>Podpůrná vrstva úložiště</target>\n      </trans-unit>\n      <trans-unit id="151c80ea931037cd92e854442927f8a0f6ae7795" datatype="html">\n        <source>-- No data pools available --</source>\n        <target>-- Žádné fondy k dispozici --</target>\n      </trans-unit>\n      <trans-unit id="b6fee356d1db954255a56d8169405a89595246b9" datatype="html">\n        <source>-- Select the storage backend --</source>\n        <target>-- Vyberte podpůrnou vrstvu úložiště --</target>\n      </trans-unit>\n      <trans-unit id="76d67035c3ab3d8e56f725859f820f03fda41cfc" datatype="html">\n        <source>Object Gateway User</source>\n        <target>Uživatel objektové brány</target>\n      </trans-unit>\n      <trans-unit id="fade7788bace74337f306ae209f10fc187ef4671" datatype="html">\n        <source>-- No users available --</source>\n        <target>-- Žádní uživatelé k dispozici --</target>\n      </trans-unit>\n      <trans-unit id="6d30b7b36cf8f6364167321bdb4ba35d4cefce7b" datatype="html">\n        <source>-- Select the object gateway user --</source>\n        <target>-- Vyberte uživatele brány objektů --</target>\n      </trans-unit>\n      <trans-unit id="589ce20d3ba3e3ac44f75decfaadc4ea8f0aec2d" datatype="html">\n        <source>CephFS User ID</source>\n        <target>Identif. uživatele CephFS</target>\n      </trans-unit>\n      <trans-unit id="c4b88a53ac3b0ece46ba9b3ad72355a3c190cce7" datatype="html">\n        <source>-- No clients available --</source>\n        <target>-- Žádní klienti k dispozici --</target>\n      </trans-unit>\n      <trans-unit id="da52835b80497a0002d24414b057dc46ae44ce38" datatype="html">\n        <source>-- Select the cephx client --</source>\n        <target>-- Vyberte cephx klienta --</target>\n      </trans-unit>\n      <trans-unit id="fd3419e8957d928d7f7ba19c93356a0dbff02871" datatype="html">\n        <source>CephFS Name</source>\n        <target>Název CephFS</target>\n      </trans-unit>\n      <trans-unit id="ee3ba0ab5f0ccd597b3e44021c71e9aaad14df0a" datatype="html">\n        <source>-- No CephFS filesystem available --</source>\n        <target>-- Žádný souborový systém CephFS k dispozici --</target>\n      </trans-unit>\n      <trans-unit id="764c57812558b1ae66c5eec95d7efd2b1bf761e3" datatype="html">\n        <source>-- Select the CephFS filesystem --</source>\n        <target>-- Vyberte CephFS souborový systém --</target>\n      </trans-unit>\n      <trans-unit id="957512d0321f73e9f115bce1bd823fa635170c41" datatype="html">\n        <source>Security Label</source>\n        <target>Štítek zabezpečení</target>\n      </trans-unit>\n      <trans-unit id="65ce0fa4da1ed55e658aeb31d1644a29f06bb342" datatype="html">\n        <source>Enable security label</source>\n        <target>Zapnout štítek zabezpečení</target>\n      </trans-unit>\n      <trans-unit id="7e808f804130c7b6ff719509cbc06ebb27393a48" datatype="html">\n        <source>CephFS Path</source>\n        <target>Popis umístění CephFS</target>\n      </trans-unit>\n      <trans-unit id="5ecc0107badb6625466aaa3f975b5c05276f432f" datatype="html">\n        <source>Path need to start with a \'/\' and can be followed by a word</source>\n        <target>Je třeba, aby popis umístění začínal na „/“, za kterým následuje slovo</target>\n      </trans-unit>\n      <trans-unit id="2d02916f44fc63e13ab16d1cbe72aa6cb51feab3" datatype="html">\n        <source>New directory will be created</source>\n        <target>Bude vytvořena nová složka</target>\n      </trans-unit>\n      <trans-unit id="766c66ad5cc981c531aaf3fe3a2a7a346ddc8d83" datatype="html">\n        <source>Path</source>\n        <target>Popis umístění</target>\n      </trans-unit>\n      <trans-unit id="7ec35c722a50b976620f22612f7be619c12ceb90" datatype="html">\n        <source>Path can only be a single \'/\' or a word</source>\n        <target>Popis umístění může být pouze jediné „/“ nebo slovo</target>\n      </trans-unit>\n      <trans-unit id="aebb6a5090c24511de4530195694bb3f3dcf0342" datatype="html">\n        <source>New bucket will be created</source>\n        <target>Bude vytvořena nová nádoba</target>\n      </trans-unit>\n      <trans-unit id="bee6900143996c0e908a10564532eba3da0b30fb" datatype="html">\n        <source>NFS Protocol</source>\n        <target>NFS protokol</target>\n      </trans-unit>\n      <trans-unit id="2f534178c01ebf1307da2eaeef04bc6801ebc729" datatype="html">\n        <source>NFSv3</source>\n        <target>NFSv3</target>\n      </trans-unit>\n      <trans-unit id="f5043c0921e709935ab026bb3253ffe1f159fca1" datatype="html">\n        <source>NFSv4</source>\n        <target>NFSv4</target>\n      </trans-unit>\n      <trans-unit id="92488963d23095985a47c0d6e62304e11d333f19" datatype="html">\n        <source>NFS Tag</source>\n        <target>NFS štítek</target>\n      </trans-unit>\n      <trans-unit id="aae93362720aea94623682996dd3fcd0f906f056" datatype="html">\n        <source>Alternative access for \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v3\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> mounts (it must not have a leading /).\n        </source>\n        <target>Alternativní přístup pro \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v3\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> připojení (nemůže začínat na /).\n        </target>\n      </trans-unit>\n      <trans-unit id="45d6db77dcf1a3eeb921033abc7882e517a541cc" datatype="html">\n        <source>Clients may not mount subdirectories (i.e. if Tag = foo, the client may not mount foo/baz).</source>\n        <target>Klienti nemohou připojovat podsložky (tj. pokud Tag = neco, klient nemůže připojit neco/podslozka).</target>\n      </trans-unit>\n      <trans-unit id="a1c7a8676b55e882a97c6a6fb205204f9c761afa" datatype="html">\n        <source>By using different Tag options, the same Path may be exported multiple times.</source>\n        <target>Použitím různých voleb Štítku, může to stejné umístění být exportováno vícekrát.</target>\n      </trans-unit>\n      <trans-unit id="6d2c39708a32910f89701dd7e1cfb9ec1c195768" datatype="html">\n        <source>Pseudo</source>\n        <target>Pseudo</target>\n      </trans-unit>\n      <trans-unit id="1f8be2ae25947bec0b84c2338201580ea053f34e" datatype="html">\n        <source>The position that this \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v4\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> export occupies\n                in the \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>Pseudo FS\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> (it must be unique).\n        </source>\n        <target>Pozice kterou tento \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v4\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> export zabírá\n                v \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>Pseudo FS\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> (je třeba, aby se neopakovalo).\n        </target>\n      </trans-unit>\n      <trans-unit id="f3af55f7fd5b1d9e5a53e030c80116dc635bfb9f" datatype="html">\n        <source>By using different Pseudo options, the same Path may be exported multiple times.</source>\n        <target>By using different Pseudo options, the same Path may be exported multiple times.</target>\n      </trans-unit>\n      <trans-unit id="ddf98fcdeeb17643db020d54f42b5e56b5f9a52a" datatype="html">\n        <source>Pseudo needs to start with a \'/\' and can\'t contain any of the following: &gt;, &lt;, |, &amp;, ( or ).</source>\n        <target>Je třeba, aby Pseudo začínalo na „/“ a a nemůže obsahovat nic z následujícího: &gt;, &lt;, |, &amp;, ( nebo ).</target>\n      </trans-unit>\n      <trans-unit id="27eb35c4b4ac08781a7253a2ab40f8f7d957ba51" datatype="html">\n        <source>-- No access type available --</source>\n        <target>-- Žádný typ přístupu k dispozici --</target>\n      </trans-unit>\n      <trans-unit id="509ce016c9110a54028dafd741f15ceacbe74b5a" datatype="html">\n        <source>-- Select the access type --</source>\n        <target>-- Vyberte typ přístupu --</target>\n      </trans-unit>\n      <trans-unit id="49850390a653cd05dc5843d74ef073a9122b54c9" datatype="html">\n        <source>The Object Gateway NFS backend has a number of\n              limitations which will seriously affect applications writing to\n              the share. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for details before enabling write access.\n        </source>\n        <target>The Object Gateway NFS backend has a number of\n              limitations which will seriously affect applications writing to\n              the share. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for details before enabling write access.\n        </target>\n      </trans-unit>\n      <trans-unit id="4deda03573eaaff77e63f6a238a1f0ca7816950a" datatype="html">\n        <source>-- No squash available --</source>\n        <target>-- Žádné squash k dispozici --</target>\n      </trans-unit>\n      <trans-unit id="a0e82a4da88e7fdf270444f838d45849676e9d4b" datatype="html">\n        <source>--Select what kind of user id squashing is performed --</source>\n        <target>-- Vyberte jaký druh squashování identifikátor uživatele je prováděn --</target>\n      </trans-unit>\n      <trans-unit id="d01b7c3f7f06712c53d054cfbe4f53d446b038e8" datatype="html">\n        <source>Transport Protocol</source>\n        <target>Transportní protokol</target>\n      </trans-unit>\n      <trans-unit id="d2a6ad6e8bc315f07911722c05767ac79c136d99" datatype="html">\n        <source>UDP</source>\n        <target>UDP</target>\n      </trans-unit>\n      <trans-unit id="9c030f11e0aae9b24d2c048c57f29f590be621df" datatype="html">\n        <source>TCP</source>\n        <target>TCP</target>\n      </trans-unit>\n      <trans-unit id="734c9905951a774870497c5aaae8e3ee833b6196" datatype="html">\n        <source>CephFS</source>\n        <target>CephFS</target>\n      </trans-unit>\n      <trans-unit id="449dca3d3a93ead418b0541ea81b0dda7e6483c2" datatype="html">\n        <source>Welcome to Ceph!</source>\n        <target>Vítejte v Ceph!</target>\n        <note>The welcome message on the login page</note>\n      </trans-unit>\n      <trans-unit id="0070e83d11da39d6f4bb95065c2675db1610b419" datatype="html">\n        <source>Username is required</source>\n        <target>Je třeba vyplnit uživatelské jméno</target>\n      </trans-unit>\n      <trans-unit id="1e20f8b8a4706526c9024cc2f39d568345d100dc" datatype="html">\n        <source>Password is required</source>\n        <target>Je třeba vyplnit heslo</target>\n      </trans-unit>\n      <trans-unit id="6765b4c916060f6bc42d9bb69e80377dbcb5e4e9" datatype="html">\n        <source>Login</source>\n        <target>Přihlásit</target>\n      </trans-unit>\n      <trans-unit id="58fc1b5c79a75370eb52644fd83fb2e7096b6649" datatype="html">\n        <source>Sorry, the user does not exist in Ceph.</source>\n        <target>Je nám líto, uživatel v Ceph neexistuje.</target>\n      </trans-unit>\n      <trans-unit id="d9deb94f78e7c41b35c6622b874f06657d7604c1" datatype="html">\n        <source>Return to \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Login Page\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You\'ll be logged out from the Identity Provider when you retry logging in.\n        </source>\n        <target>Vrátit se na \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Přihlašovací stránku\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. Budete odhlášeni od poskytovatele identity když se pokusíte znovu přihlásit.\n        </target>\n      </trans-unit>\n      <trans-unit id="0eb15f32b2b92d7f3103ef3ff032621888a8dc32" datatype="html">\n        <source>Old password</source>\n        <target>Původní heslo</target>\n      </trans-unit>\n      <trans-unit id="1cf42e491adc166a337a960eb84d03c0c3f677c8" datatype="html">\n        <source>The old and new passwords must be different.</source>\n        <target>Je třeba, aby původní a nové heslo nebyly stejné</target>\n      </trans-unit>\n      <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229" datatype="html">\n        <source>New password</source>\n        <target>Nové heslo</target>\n      </trans-unit>\n      <trans-unit id="595ebc9279497f6dc733777e2816bee936901388" datatype="html">\n        <source>Too weak</source>\n        <target>Příliš neodolné</target>\n      </trans-unit>\n      <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b" datatype="html">\n        <source>Confirm new password</source>\n        <target>Zopakování zadání nového hesla</target>\n      </trans-unit>\n      <trans-unit id="90163a3d3746819aef42e829f4446331232f3b66" datatype="html">\n        <source>Password confirmation doesn\'t match the new password.</source>\n        <target>Kontrolní zadání nového hesla se neshoduje.</target>\n      </trans-unit>\n      <trans-unit id="471e78026c258073ba687478dc54c35d9041ea42" datatype="html">\n        <source>Forbidden</source>\n        <target>Odepřeno</target>\n      </trans-unit>\n      <trans-unit id="02ea8ad57677e3c63f3d7814ca5e6c7b74e360b4" datatype="html">\n        <source>Sorry, you are not allowed to see what you were looking for.</source>\n        <target>Omlouváme se, ale nemáte oprávnění zobrazit to, po čem se  poohlížíte.</target>\n      </trans-unit>\n      <trans-unit id="e3c028c58f92453d46f09b5adf95b2f013ee0300" datatype="html">\n        <source>Sorry, we could not find what you were looking for</source>\n        <target>Omlouváme se, nepodařilo se najít to, po čem se poohlížíte</target>\n      </trans-unit>\n      <trans-unit id="a949d7e577902d0e5dc5d0971bb0170a21be7728" datatype="html">\n        <source>[object Object]</source>\n        <target>[object Object]</target>\n      </trans-unit>\n      <trans-unit id="ff92fbdec9fdd5054493eeda0d7ee8b450f83e72" datatype="html">\n        <source>RBD Configuration</source>\n        <target>Nastavení RBD</target>\n      </trans-unit>\n      <trans-unit id="b62d9efc8eb3b589904f6cb96a0406bbda55673a" datatype="html">\n        <source>Remove the local configuration value. The parent configuration value will be inherited and used instead.</source>\n        <target>Odebrat hodnotu místnímu nastavení. Namísto ní bude použita hodnota nadřazeného nastavení.</target>\n      </trans-unit>\n      <trans-unit id="963488a1010d46067b238c4ae917fab3907c0a3a" datatype="html">\n        <source>The mininum value is 0</source>\n        <target>Minimální hodnota je 0</target>\n      </trans-unit>\n      <trans-unit id="1d8a7c8aea58294a3c57c23af0468ddf0ba0c9c7" datatype="html">\n        <source>Pools List</source>\n        <target>Seznam fondů</target>\n      </trans-unit>\n      <trans-unit id="490e15ecc922965b6d8194754c87c5583aa071f3" datatype="html">\n        <source>The name can only consist of alphanumeric characters, dashes and underscores.</source>\n        <target>Název může být tvořen pouze písmeny a číslicemi, dále ještě spojovníky a podtržítky.</target>\n      </trans-unit>\n      <trans-unit id="9edc2b494e660618af3e5225f68d40b7ca67629c" datatype="html">\n        <source>The chosen erasure code profile name is already in use.</source>\n        <target>Zvolený název pro profil mazacího kódu je už používán.</target>\n      </trans-unit>\n      <trans-unit id="ef9ff0e6227947b48dfab4ac39ade04af758913b" datatype="html">\n        <source>Plugin</source>\n        <target>Zásuvný modul</target>\n      </trans-unit>\n      <trans-unit id="dd69b31bce8f630eac1d4762b0bbcf72ce19d193" datatype="html">\n        <source>Data chunks (k)</source>\n        <target>Shluky dat (k)</target>\n      </trans-unit>\n      <trans-unit id="b0d26a6172d32cb81218fe2103c54a818cbc1189" datatype="html">\n        <source>Must be equal to or greater than 2.</source>\n        <target>Je třeba, aby bylo 2 a více.</target>\n      </trans-unit>\n      <trans-unit id="dab3a299ead121169b8e08ed618c3b6a2f66691b" datatype="html">\n        <source>Coding chunks (m)</source>\n        <target>Shluky kódování (m)</target>\n      </trans-unit>\n      <trans-unit id="1e2773e5bd4948193f18f2361d663ecc3988c656" datatype="html">\n        <source>Must be equal to or greater than 1.</source>\n        <target>Je třeba, aby bylo 1 a více.</target>\n      </trans-unit>\n      <trans-unit id="6cde4c945a49a260c0a47bcc7cd956846930a5f7" datatype="html">\n        <source>Durability estimator (c)</source>\n        <target>Odhadování odolnosti (c)</target>\n      </trans-unit>\n      <trans-unit id="af668c2a095a979ea2b4e43cd82c2120ab56c21c" datatype="html">\n        <source>Locality (l)</source>\n        <target>Umístění (l)</target>\n      </trans-unit>\n      <trans-unit id="d455a110bf6d2235e314e295ce1dfeee93d3dff2" datatype="html">\n        <source>Crush failure domain</source>\n        <target>Doména selhání crush</target>\n      </trans-unit>\n      <trans-unit id="b74a495f041f7dd102eee5c0bbc9e03083b538ae" datatype="html">\n        <source>Crush Locality</source>\n        <target>Lokalita crush</target>\n      </trans-unit>\n      <trans-unit id="a2f14a73f7a6e94479f67423cc51102da8d6f524" datatype="html">\n        <source>None</source>\n        <target>Žádné</target>\n      </trans-unit>\n      <trans-unit id="2981733b912b693a9dd9d915d6d34f4692cc874a" datatype="html">\n        <source>Technique</source>\n        <target>Technika</target>\n      </trans-unit>\n      <trans-unit id="e0098b6e47b04ec817361f384ce81d454ba5c0bb" datatype="html">\n        <source>Packetsize</source>\n        <target>Velikostpaketu</target>\n      </trans-unit>\n      <trans-unit id="c0252cd81ca54d0a2f69ec9ccf4248e73df5aa4a" datatype="html">\n        <source>Crush root</source>\n        <target>Kořen crush</target>\n      </trans-unit>\n      <trans-unit id="1548d5c76f0406ddd1ba3c557e1e6db22e95b340" datatype="html">\n        <source>Crush device class</source>\n        <target>Třída crush zařízení</target>\n      </trans-unit>\n      <trans-unit id="5e85feb6f9f0334366e46ee09ca6b8df52397432" datatype="html">\n        <source>any</source>\n        <target>libovolné</target>\n      </trans-unit>\n      <trans-unit id="03d84645f6e019c5a43909bbf2ea1696ee88332c" datatype="html">\n        <source>Directory</source>\n        <target>Složka</target>\n      </trans-unit>\n      <trans-unit id="2fecea01ce1d44114ee45144eff6d47a5016a74f" datatype="html">\n        <source>Name...</source>\n        <target>Název…</target>\n      </trans-unit>\n      <trans-unit id="16e113230b6b0d3165e076300880542bac7c8138" datatype="html">\n        <source>The chosen Ceph pool name is already in use.</source>\n        <target>Zvolený název pro Ceph fond je už používán.</target>\n      </trans-unit>\n      <trans-unit id="c75b132bef7b29fa5171768303c4b96e34ccaf68" datatype="html">\n        <source>It\'s not possible to create an RBD pool with \'/\' in the name.\n              Please change the name or remove \'rbd\' from the applications list.</source>\n        <target>Není možné vytvořit RBD fond s názvem „/“ v názvu.\n              Změňte název nebo \'rbd\' odeberte ze seznamu aplikací.</target>\n      </trans-unit>\n      <trans-unit id="b85c657469e5ec8231c3de99b22f437bc01ffde5" datatype="html">\n        <source>Pool type</source>\n        <target>Typ fondul</target>\n      </trans-unit>\n      <trans-unit id="526c5443254c3b126eedb264840ffe827727bfd3" datatype="html">\n        <source>-- Select a pool type --</source>\n        <target>-- Vybrat typ fondu --</target>\n      </trans-unit>\n      <trans-unit id="0aa21053410a94aa61d16985a4e95fd65523430d" datatype="html">\n        <source>Placement groups</source>\n        <target>Skupiny umístění</target>\n      </trans-unit>\n      <trans-unit id="6301f1391d726f8f450bb358058534db19541ca9" datatype="html">\n        <source>At least one placement group is needed!</source>\n        <target>Je třeba alespoň jedné skupiny umístění!</target>\n      </trans-unit>\n      <trans-unit id="ba9469a1ce6ed36e039c1f67247c8c81a5c71449" datatype="html">\n        <source>Your cluster can\'t handle this many PGs. Please recalculate the PG amount needed.</source>\n        <target>Váš klastr nemůže obsloužit tolik skupin umístění. Přepočítejte potřebné množství skupin umístění.</target>\n      </trans-unit>\n      <trans-unit id="80ac68cd883369dac20688bc32b4cb33291b5e50" datatype="html">\n        <source>Calculation help</source>\n        <target>Nápověda k výpočtu</target>\n      </trans-unit>\n      <trans-unit id="fccbd60493df26705d957ed6c02a3c447894678f" datatype="html">\n        <source>The current PGs settings were calculated for you, you\n                should make sure the values suit your needs before submit.</source>\n        <target>The current PGs settings were calculated for you, you\n                should make sure the values suit your needs before submit.</target>\n      </trans-unit>\n      <trans-unit id="33150f22ce5348aa6c499bd092c3f4f3695d62cc" datatype="html">\n        <source>Crush ruleset</source>\n        <target>Sada pravidel crush</target>\n      </trans-unit>\n      <trans-unit id="73a6b31116b3cc322af951daa0bafdc169e6c42e" datatype="html">\n        <source>-- Select a crush rule --</source>\n        <target>-- Vybrat crush pravidlo --</target>\n      </trans-unit>\n      <trans-unit id="92da80699921e89fb19372e25b8d0f3b9fa427fc" datatype="html">\n        <source>Crush rule</source>\n        <target>Crush pravidlo</target>\n      </trans-unit>\n      <trans-unit id="5489e9f96835f469f6f728a00d8efa88ea5bc940" datatype="html">\n        <source>Crush steps</source>\n        <target>Crush kroky</target>\n      </trans-unit>\n      <trans-unit id="54a53b1b402aafff5b992ee9b64e409fbfe9074f" datatype="html">\n        <source>The rule can\'t be used in the current cluster as it has\n                to few OSDs to meet the minimum required OSD by this rule.</source>\n        <target>Pravidlo nemůže být uplatněno na stávající klastr protože má\n                příliš málo OSD aby splnil minimum OSD vyžadovaných tímto pravidlem.</target>\n      </trans-unit>\n      <trans-unit id="a43b2695131b48b76cebba676aba98a2bee17515" datatype="html">\n        <source>Replicated size</source>\n        <target>Replikovaná velikost</target>\n      </trans-unit>\n      <trans-unit id="7bff144a4c4dc63b0e18fff2617d61a7ebdf2b6c" datatype="html">\n        <source>Minimum: \n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/>\n        </source>\n        <target>Nejméně: \n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="1a9c54b41f6d58a74e5d0aa3429ed0c87a482551" datatype="html">\n        <source>Maximum: \n          <x id="INTERPOLATION" equiv-text="{{ getMaxSize() }}"/>\n        </source>\n        <target>Nejvíce: \n          <x id="INTERPOLATION" equiv-text="{{ getMaxSize() }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6ab647b95bd2347ae6f4605576de5e0269fb893a" datatype="html">\n        <source>The size specified is out of range. A value from\n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/> to \n          <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.\n        </source>\n        <target>Zadaná velikost je mimo rozsah. Platná hodnota je\n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/> až \n          <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> .\n        </target>\n      </trans-unit>\n      <trans-unit id="9de7dde00e2139cc4bd03b1837afbe72ad15a1ff" datatype="html">\n        <source>Erasure code profile</source>\n        <target>Profil mazacího kódu</target>\n      </trans-unit>\n      <trans-unit id="39b4620e6bd444e0a57a0a5c03fa8c96d7fe5235" datatype="html">\n        <source>-- No erasure code profile available --</source>\n        <target>-- Žádný profil mazacího kódu --</target>\n      </trans-unit>\n      <trans-unit id="498561757390d5528b263ce450d5f38efb00266d" datatype="html">\n        <source>-- Select an erasure code profile --</source>\n        <target>-- Vyberte profil mazacího kódu --</target>\n      </trans-unit>\n      <trans-unit id="920617c6a1a4805e53bcb5af6a9c76f8387e89c6" datatype="html">\n        <source>Flags</source>\n        <target>Příznaky</target>\n      </trans-unit>\n      <trans-unit id="1c870fb00256b8a5b9cb9cd1a124e6390b9bc639" datatype="html">\n        <source>EC Overwrites</source>\n        <target>EC přebití</target>\n      </trans-unit>\n      <trans-unit id="f1abafaeb40ce52355ddcc24686e3cd17b64e08a" datatype="html">\n        <source>Applications</source>\n        <target>Aplikace</target>\n      </trans-unit>\n      <trans-unit id="2208d63d5940ce656006a220102b1eb2b5e553da" datatype="html">\n        <source>Compression</source>\n        <target>Komprese</target>\n      </trans-unit>\n      <trans-unit id="37e10df2d9c0c25ef04ac112c9c9a7723e8efae0" datatype="html">\n        <source>Mode</source>\n        <target>Režim</target>\n      </trans-unit>\n      <trans-unit id="6c6f25c47da62ec597c6057a36ddfc3209811ec5" datatype="html">\n        <source>Algorithm</source>\n        <target>Algoritmus</target>\n      </trans-unit>\n      <trans-unit id="4903231d42089325a28892c0fde1aed46b733ae6" datatype="html">\n        <source>-- No erasure compression algorithm available --</source>\n        <target>-- Žádný algoritmus komprese mazání --</target>\n      </trans-unit>\n      <trans-unit id="5d68ddb254275f8f44221e9ad6d8ceeb59ca46a6" datatype="html">\n        <source>Minimum blob size</source>\n        <target>Minimální velikost blobu</target>\n      </trans-unit>\n      <trans-unit id="fb2f176df80647137cbb02bbeb29e5dec707a400" datatype="html">\n        <source>e.g., 128KiB</source>\n        <target>např. 128 KiB</target>\n      </trans-unit>\n      <trans-unit id="1b7f6e53a4521c6eb3ced4c007fdd4cf80bb7707" datatype="html">\n        <source>Value should be greater than 0</source>\n        <target>Hodnota by měla být vyšší než nula</target>\n      </trans-unit>\n      <trans-unit id="8db98ab14b4e207ec763dfdefbc2dae367aab1cc" datatype="html">\n        <source>Value should be less than the maximum blob size</source>\n        <target>Hodnota by měla být nižší než maximální velikost blobu</target>\n      </trans-unit>\n      <trans-unit id="151efb127a9a4dd25259a0b2055442318a141f5b" datatype="html">\n        <source>Maximum blob size</source>\n        <target>Nejvyšší velikost blobu</target>\n      </trans-unit>\n      <trans-unit id="0c656f0e346bbadf46eb1a5d20d0307a3bd20ba8" datatype="html">\n        <source>e.g., 512KiB</source>\n        <target>např. 512 KiB</target>\n      </trans-unit>\n      <trans-unit id="0a65a24eee8a026f3b1113fe9e157e9a0dd69486" datatype="html">\n        <source>Value should be greater than the minimum blob size</source>\n        <target>Hodnota by měla být vyšší než nejnižší velikost blobu</target>\n      </trans-unit>\n      <trans-unit id="261ba09c4a59de83f48f52a23fd328da37e61ff4" datatype="html">\n        <source>Ratio</source>\n        <target>Poměr</target>\n      </trans-unit>\n      <trans-unit id="c1430457a9c3c66366e51d76bf10396014c576be" datatype="html">\n        <source>Compression ratio</source>\n        <target>Kompresní poměr</target>\n      </trans-unit>\n      <trans-unit id="ae5ce6de352cde949998fb10754459c3a4eb183b" datatype="html">\n        <source>Value should be between 0.0 and 1.0</source>\n        <target>Hodnota by měla být z rozmezí 0.0 až 1.0</target>\n      </trans-unit>\n      <trans-unit id="8bb8293aa8161433778762ae025ffd5e7c85795e" datatype="html">\n        <source>Quotas</source>\n        <target>Kvóty</target>\n      </trans-unit>\n      <trans-unit id="d99b34162c9c34f10d0ccd8dbae83d8569c2db77" datatype="html">\n        <source>Max bytes</source>\n        <target>Nejvýše bajtů</target>\n      </trans-unit>\n      <trans-unit id="a1d14a18879c62f3f4ed705318b7164a1160e249" datatype="html">\n        <source>Leave it blank or specify 0 to disable this quota.</source>\n        <target>Pro vypnutí této kvóty nevyplňujte nebo zadejte 0 (nulu).</target>\n      </trans-unit>\n      <trans-unit id="7565b131562ff6c5f769fdbd239a772154abdd97" datatype="html">\n        <source>A valid quota should be greater than 0.</source>\n        <target>Platná kvóta by měla být vyšší než 0 (nula).</target>\n      </trans-unit>\n      <trans-unit id="f0016bd458baa88284a658ce9eeda42d8ad88d2c" datatype="html">\n        <source>e.g., 10GiB</source>\n        <target>např. 10 GiB</target>\n      </trans-unit>\n      <trans-unit id="b8bf35b66f09a301eef92ffc3cb2fd259df67ce9" datatype="html">\n        <source>Max objects</source>\n        <target>Nejvýše objektů</target>\n      </trans-unit>\n      <trans-unit id="95f348167622d832c5ae532b6944635c8e2ae5cb" datatype="html">\n        <source>The value should be greater or equal to 0</source>\n        <target>Hodnota by měla být vyšší nebo rovna 0</target>\n      </trans-unit>\n      <trans-unit id="fbbaf5cb02ed419e79a27072478f716a4666a99d" datatype="html">\n        <source>Performance Details</source>\n        <target>Podrobnosti o výkonnosti</target>\n      </trans-unit>\n      <trans-unit id="3938a411d76796f8ae73b72ea4c77661207453bd" datatype="html">\n        <source>Cache Tiers Details</source>\n        <target>Podrobnosti o stupních mezipaměti</target>\n      </trans-unit>\n      <trans-unit id="f0b5d789d42c0e69348e5fe0037fcbf5b5fbbdcc" datatype="html">\n        <source>Move an image to trash</source>\n        <target>Přesunout obraz do koše</target>\n      </trans-unit>\n      <trans-unit id="86301cf2044b1eda218483365f6b9de8dde5040b" datatype="html">\n        <source>To move \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{ imageName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,\n          click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optionally, you can pick an expiration date.\n        </source>\n        <target>Pro přesunutí \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{ imageName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> do koše,\n          klikněte na \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Přesunout obraz\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Volitelně je možné zvolit datum skončení platnosti.\n        </target>\n      </trans-unit>\n      <trans-unit id="88f27d390844aad53b4240360e928156c5f0d326" datatype="html">\n        <source>Protection expires at</source>\n        <target>Platnost ochrany skončí v</target>\n      </trans-unit>\n      <trans-unit id="da166e9a0d27322f6ba8916d71ecc0f9905bb4b1" datatype="html">\n        <source>NOT PROTECTED</source>\n        <target>NECHRÁNĚNO</target>\n      </trans-unit>\n      <trans-unit id="a1506e5f2ca22cad14502ec7a20fb6113ace145d" datatype="html">\n        <source>Wrong date format. Please use "YYYY-MM-DD HH:mm:ss".</source>\n        <target>Chybný formát data. Použijte „RRRR-MM-DD HH:mm:ss“.</target>\n      </trans-unit>\n      <trans-unit id="aa7ea0bb7495281e0b3258467ac7d90a1e44a1a1" datatype="html">\n        <source>Protection has already expired. Please pick a future date or leave it empty.</source>\n        <target>Platnost ochrany už skončila. Zvolte budoucí datum nebo nevyplňujte.</target>\n      </trans-unit>\n      <trans-unit id="536b3205c0c0d4d21685ec06feccfcf2fe14deb1" datatype="html">\n        <source>Move Image</source>\n        <target>Přesunout obraz</target>\n      </trans-unit>\n      <trans-unit id="8a9910cd114c1deb9af74f6f99b4173403965bf2" datatype="html">\n        <source>Gateways</source>\n        <target>Brány</target>\n      </trans-unit>\n      <trans-unit id="8835b9e49a3348b0a2f2162c21118af1f4bee45a" datatype="html">\n        <source>Must be greater than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'min\'] }}"/>.\n        </source>\n        <target>Je třeba, aby bylo vyšší nebo rovno \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'min\'] }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="bbddac59563c8c126e3fe28691e4e247614fcbd1" datatype="html">\n        <source>Must be less than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'max\'] }}"/>.\n        </source>\n        <target>Je třeba, aby bylo nižší nebo rovno \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'max\'] }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="e95ae009d0bdb45fcc656e8b65248cf7396080d5" datatype="html">\n        <source>Overview</source>\n        <target>Přehled</target>\n      </trans-unit>\n      <trans-unit id="bbd2045d5c37e4bb39a3c0fb62ea1ddf70a12838" datatype="html">\n        <source>Targets</source>\n        <target>Cíle</target>\n      </trans-unit>\n      <trans-unit id="6803e31b7395d94934e091a49a9524026b59b018" datatype="html">\n        <source>Discovery Authentication</source>\n        <target>Ověřování pro objevování</target>\n      </trans-unit>\n      <trans-unit id="e08a77594f3d89311cdf6da5090044270909c194" datatype="html">\n        <source>User</source>\n        <target>Uživatele</target>\n      </trans-unit>\n      <trans-unit id="0214f773f8e394f50f953f39962e352d7863e959" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n              can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Je třeba, aby uživatelská jména byla 8 až 64 znaků dlouhá a\n              mohu obsahovat pouze písmena a znaky „.“, „@“, „-“, „_“ a „:“.</target>\n      </trans-unit>\n      <trans-unit id="c32ef07f8803a223a83ed17024b38e8d82292407" datatype="html">\n        <source>Password</source>\n        <target>Heslo</target>\n      </trans-unit>\n      <trans-unit id="6682d1c00263bee204583a5d589b308b6be88b0f" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n              and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Je třeba, aby hesla byla 12 až 16 znaků dlouhá\n              a mohou obsahovat pouze písmena, „@“, „-“, „_“ nebo „/“.</target>\n      </trans-unit>\n      <trans-unit id="ff40391de7a1944ea95091e4045cc34c4979b736" datatype="html">\n        <source>Mutual User</source>\n        <target>Uživatel pro vzájemné ověření</target>\n      </trans-unit>\n      <trans-unit id="0cf73dbebe99b737c4d288788182fc356e3c93d3" datatype="html">\n        <source>Mutual Password</source>\n        <target>Heslo pro vzájemné ověření</target>\n      </trans-unit>\n      <trans-unit id="8800276925157c666b103c36ff7fe8ffe11980b4" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters and\n              can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Je třeba, aby heslo byla 12 až 16 znaků dlouhá a\n              mohou obsahovat pouze písmena, „@“, „-“, „_“ nebo „/“.</target>\n      </trans-unit>\n      <trans-unit id="53a583cd5f15059cc958b7d547f72cc78f68e123" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n    on how to configure and enable the iSCSI Targets management functionality.\n        </source>\n        <target>Podívejte se do \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>dokumentace\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  jak nastavit a zapnout funkci správy iSCSI cílů.\n        </target>\n      </trans-unit>\n      <trans-unit id="3b301d0044f62c92af0da53d7aaca52a436a547d" datatype="html">\n        <source>Available information:</source>\n        <target>Informace k dispozici:</target>\n      </trans-unit>\n      <trans-unit id="332227f088a4877b3c11f5fb3ae8bc812c470fae" datatype="html">\n        <source>iSCSI Targets not available</source>\n        <target>iSCSI cíl není k dispozici</target>\n      </trans-unit>\n      <trans-unit id="8414a5cb9d71cc1b21b10e4a9d1f2dad558f3361" datatype="html">\n        <source>Discovery authentication</source>\n        <target>Ověřování pro objevování</target>\n      </trans-unit>\n      <trans-unit id="0f6e8f6094b180eaf1f11bc0ffe383f1cdcd059e" datatype="html">\n        <source>Only available for RBD images with \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>fast-diff\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> enabled\n        </source>\n        <target>K dispozici pouze pro RBD obrazy se zapnutým \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>fast-diff\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="e70fcca5a99575cffef3ff8cbd5e69f06ffd0f1c" datatype="html">\n        <source>Pool</source>\n        <target>Fond</target>\n      </trans-unit>\n      <trans-unit id="03cc5b14b0a20d075e9009ff021f4f1660ba348a" datatype="html">\n        <source>Data Pool</source>\n        <target>Datový fond</target>\n      </trans-unit>\n      <trans-unit id="1b051734b0ee9021991c91b3ed4e81c244322462" datatype="html">\n        <source>Created</source>\n        <target>Vytvořeno</target>\n      </trans-unit>\n      <trans-unit id="7faaaa08f56427999f3be41df1093ce4089bbd75" datatype="html">\n        <source>Size</source>\n        <target>Velikost</target>\n      </trans-unit>\n      <trans-unit id="afdb601c16162f2c798b16a2920955f1cc6a20aa" datatype="html">\n        <source>Objects</source>\n        <target>Objekty</target>\n      </trans-unit>\n      <trans-unit id="ceac8e132384322ec778ba760875a6c6897d3e42" datatype="html">\n        <source>Object size</source>\n        <target>Velikost objektu</target>\n      </trans-unit>\n      <trans-unit id="6cdb1fea93d77c07950c0c76c6e0ad79ebbef084" datatype="html">\n        <source>Features</source>\n        <target>Funkce</target>\n      </trans-unit>\n      <trans-unit id="0a65771c9a73b9aa609d592fc96a64801a8f40bd" datatype="html">\n        <source>Provisioned</source>\n        <target>Poskytováno</target>\n      </trans-unit>\n      <trans-unit id="84a36cb75660b736773fe36ffa3d54f0f0fe363e" datatype="html">\n        <source>N/A</source>\n        <target>neaplikovatelné</target>\n      </trans-unit>\n      <trans-unit id="e5c009342a4e8381f64341d0bb61c2e4685f5a4b" datatype="html">\n        <source>Total provisioned</source>\n        <target>Celkem poskytováno</target>\n      </trans-unit>\n      <trans-unit id="7f6bf8a43ae415f527ac961ea62471b983aaa97b" datatype="html">\n        <source>Striping unit</source>\n        <target>Proužkovací jednotka</target>\n      </trans-unit>\n      <trans-unit id="db710e8a8f011923f2d15d713fbae49c38b02b26" datatype="html">\n        <source>Striping count</source>\n        <target>Počet proužkování</target>\n      </trans-unit>\n      <trans-unit id="3a4c2a9e76634ff14a60d52a718296f722d47c67" datatype="html">\n        <source>Parent</source>\n        <target>Nadřazené</target>\n      </trans-unit>\n      <trans-unit id="6a209e68d78ffc2cc9c53d2e76158624efab71ad" datatype="html">\n        <source>Block name prefix</source>\n        <target>Předpona názvu bloku</target>\n      </trans-unit>\n      <trans-unit id="5704ec2049d007c5f5fb495a5d8b607e68d58081" datatype="html">\n        <source>Order</source>\n        <target>Pořadí</target>\n      </trans-unit>\n      <trans-unit id="f21b1d17b6c5042bb5805516eee37fde33739dd8" datatype="html">\n        <source>Snapshots</source>\n        <target>Zachycené stavy</target>\n      </trans-unit>\n      <trans-unit id="a5f9ba9bb9faa8284bcadb1cdbc6aaf969e9c4bb" datatype="html">\n        <source>Image</source>\n        <target>Obraz</target>\n      </trans-unit>\n      <trans-unit id="58e58f1a8786da9031a05e6770c5dafce82badf5" datatype="html">\n        <source>This setting overrides the global value</source>\n        <target>Toto nastavení přebije globální hodnotu</target>\n      </trans-unit>\n      <trans-unit id="5decb3917d46a9ac6e5813699801becb7c3c1455" datatype="html">\n        <source>Global</source>\n        <target>Globální</target>\n      </trans-unit>\n      <trans-unit id="36b46714164964c6258b08ed0a25f57d8a950f92" datatype="html">\n        <source>This is the global value. No value for this option has been set for this image.</source>\n        <target>Toto je globální hodnota. Pro tento obraz nebyla u této volby nastavena žádná hodnota.</target>\n      </trans-unit>\n      <trans-unit id="6547c9c4d5f62942ac4b1fe459cf9a03d4dbf5a0" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/> from\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/> od\n        </target>\n      </trans-unit>\n      <trans-unit id="0e9ecf29a4fa5b057bd8052e0d801b3fde6a30bf" datatype="html">\n        <source>\'/\' and \'@\' are not allowed.</source>\n        <target>„/“ a „@“ nejsou dovoleny.</target>\n      </trans-unit>\n      <trans-unit id="b99417c4dd46286ffd37c8d2e987c8b512ec7052" datatype="html">\n        <source>-- No rbd pools available --</source>\n        <target>-- Žádné rbd fondy k dispozici --</target>\n      </trans-unit>\n      <trans-unit id="ef83ec9c304a89d45650e580dcdc2978c37b3a83" datatype="html">\n        <source>-- Select a pool --</source>\n        <target>-- Vybrat fond --</target>\n      </trans-unit>\n      <trans-unit id="49449943d8cbf59d8c401c8bd2e76f92e207cc5f" datatype="html">\n        <source>Use a dedicated data pool</source>\n        <target>Použít vyhrazený datový fond</target>\n      </trans-unit>\n      <trans-unit id="870aee0dd31a9643bf62007beb8f1ae1deb34d42" datatype="html">\n        <source>Data pool</source>\n        <target>Datový fond</target>\n      </trans-unit>\n      <trans-unit id="3792ca829d9b9f687e1f5d7733d30e9bb0bfec47" datatype="html">\n        <source>Dedicated pool that stores the object-data of the RBD.</source>\n        <target>Vyhrazený fond který uchovává objektová data RBD.</target>\n      </trans-unit>\n      <trans-unit id="0a88bbee20570aaf9615332fb27020627044874d" datatype="html">\n        <source>You have to increase the size.</source>\n        <target>Je třeba zvětšit.</target>\n      </trans-unit>\n      <trans-unit id="bc2e854e111ecf2bd7db170da5e3c2ed08181d88" datatype="html">\n        <source>Advanced</source>\n        <target>Pokročilé</target>\n      </trans-unit>\n      <trans-unit id="3562a3778695a5f9c0445660e35301f0a39aaf73" datatype="html">\n        <source>Striping</source>\n        <target>Proužkování</target>\n      </trans-unit>\n      <trans-unit id="ef3c3f3b5f562a5cdbe0ee2874287db1534b5958" datatype="html">\n        <source>Stripe unit</source>\n        <target>Jednotka proužku</target>\n      </trans-unit>\n      <trans-unit id="84471be1049006edecbcaef1a32ae0893c229c50" datatype="html">\n        <source>-- Select stripe unit --</source>\n        <target>-- Vybrat jednotku proužku --</target>\n      </trans-unit>\n      <trans-unit id="8d32c5c54c8581c774a7f467fbd4e329b15a74fa" datatype="html">\n        <source>This field is required because stripe count is defined!</source>\n        <target>Tuto kolonku je třeba vyplnit, protože je definován počet proužků!</target>\n      </trans-unit>\n      <trans-unit id="6bbf9040be7c5491d4a03f2185708f43a6582a3b" datatype="html">\n        <source>Stripe unit is greater than object size.</source>\n        <target>Jednotka proužku je vyšší než velikost objektu.</target>\n      </trans-unit>\n      <trans-unit id="a682f49f9b761591661276d7c6f550e641a130a4" datatype="html">\n        <source>Stripe count</source>\n        <target>Počet proužků</target>\n      </trans-unit>\n      <trans-unit id="baa74031990c5370008ba622d0a250f0929097f4" datatype="html">\n        <source>This field is required because stripe unit is defined!</source>\n        <target>Tuto kolonku je třeba vyplnit, protože je definována jednotka proužku!</target>\n      </trans-unit>\n      <trans-unit id="cd2ada6d5ecbd5cbf89eae0a1f5326efedac0dbc" datatype="html">\n        <source>Stripe count must be greater than 0.</source>\n        <target>Je třeba, aby počet proužků byl větší než nula.</target>\n      </trans-unit>\n      <trans-unit id="3f67f30568e9ae47507d46e28e1e82a7dca772e2" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> RBD Snapshot\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> RBD zachycený stav\n        </target>\n      </trans-unit>\n      <trans-unit id="1628d19a4490817c18be2afab410ca4adfa62ea7" datatype="html">\n        <source>{VAR_SELECT, select, true {Rename} other {Create} }</source>\n        <target>{VAR_SELECT, vybrat, skutečné {Rename} ostatní {Create} }</target>\n      </trans-unit>\n      <trans-unit id="73a287b41afe6b28f90edbeb98957a341a0276b4" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> Snapshot\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> zachycený stav\n        </target>\n      </trans-unit>\n      <trans-unit id="cb60c1cd3655234756b5b92d4d597d92d520ee30" datatype="html">\n        <source>PROTECTED</source>\n        <target>CHRÁNĚNO</target>\n      </trans-unit>\n      <trans-unit id="deffb86b8fb0541254ad5a43862d82bff6b6a6c4" datatype="html">\n        <source>UNPROTECTED</source>\n        <target>NECHRÁNĚNO</target>\n      </trans-unit>\n      <trans-unit id="5c5331983af566d4ac6a1024d15a3511786a4aa6" datatype="html">\n        <source>You are about to rollback</source>\n        <target>Chystáte se vrátit zpět</target>\n      </trans-unit>\n      <trans-unit id="49c0408946a6d67185947f455f15cc201d0d78e6" datatype="html">\n        <source>Purge Trash</source>\n        <target>Vysypat koš</target>\n      </trans-unit>\n      <trans-unit id="af728625d769b61acf291442644b89edb88faec3" datatype="html">\n        <source>To purge, select one or All images and click</source>\n        <target>Pro vyčištění, vyberte jeden nebo všechny obrazy a klikněte na</target>\n      </trans-unit>\n      <trans-unit id="55a4f598a4894b7fd5cb88f0ffd3c37ad009dd70" datatype="html">\n        <source>Pool:</source>\n        <target>Fond:</target>\n      </trans-unit>\n      <trans-unit id="d43dd2b9f7797e4cf3a604695bb33e4479108516" datatype="html">\n        <source>Pool name...</source>\n        <target>Název fondu…</target>\n      </trans-unit>\n      <trans-unit id="dfc3c34e182ea73c5d784ff7c8135f087992dac1" datatype="html">\n        <source>All</source>\n        <target>Vše</target>\n      </trans-unit>\n      <trans-unit id="b0e7c7ed1d51a0c205c815048bc9f79e24ee6db2" datatype="html">\n        <source>Restore Image</source>\n        <target>Obnovit obraz</target>\n      </trans-unit>\n      <trans-unit id="7369384817e0ad61ce871c9afdfbb538df2f97c1" datatype="html">\n        <source>To restore</source>\n        <target>Pro obnovení</target>\n      </trans-unit>\n      <trans-unit id="e7f0abefc608f7fb452c2dc9b1cdc3dec432160e" datatype="html">\n        <source>type the image\'s new name and click</source>\n        <target>zadejte nový název pro obraz a klikněte na</target>\n      </trans-unit>\n      <trans-unit id="41307dd56fea669eed72e12a6c23af275f6bfd82" datatype="html">\n        <source>New Name</source>\n        <target>Nový název</target>\n      </trans-unit>\n      <trans-unit id="5c96a761dc55a21882c132c929583a424c9b8cf4" datatype="html">\n        <source>Expired at</source>\n        <target>Platnost skončila v</target>\n      </trans-unit>\n      <trans-unit id="661041e3fcff4d3e75c561e038ca2504cf2cc643" datatype="html">\n        <source>Protected until</source>\n        <target>Chráněno do</target>\n      </trans-unit>\n      <trans-unit id="0ee3b2322a1d3277f7e3fdb8a5141ac42bcf350b" datatype="html">\n        <source>This image is protected until \n          <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.\n        </source>\n        <target>Tento obraz je chráněn do\n          <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="aba82bfd8e177d35b76cad7cd43941f8e5e5acac" datatype="html">\n        <source>Trash</source>\n        <target>Koš</target>\n      </trans-unit>\n      <trans-unit id="a674ab267d1934bf395f87ca1503fd474296893f" datatype="html">\n        <source>iSCSI Topology</source>\n        <target>Topologie iSCSI</target>\n      </trans-unit>\n      <trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html">\n        <source>Settings</source>\n        <target>Nastavení</target>\n      </trans-unit>\n      <trans-unit id="9e515f954730279c31d5301f02479666d6264e8b" datatype="html">\n        <source>Changing these parameters from their default values is usually not necessary.</source>\n        <target>Měnit tyto parametry z jejich výchozích hodnot obvykle není potřeba.</target>\n      </trans-unit>\n      <trans-unit id="69a47cbabcc51ca942606e1d8da0ec11f98a2690" datatype="html">\n        <source>Backstore</source>\n        <target>Backstore</target>\n      </trans-unit>\n      <trans-unit id="68e710782ccb5398b3acb8844caf0b199da2c3da" datatype="html">\n        <source>Confirm</source>\n        <target>Potvrdit</target>\n      </trans-unit>\n      <trans-unit id="339878da255ab55447c43afef8d9b2f9753bf5f6" datatype="html">\n        <source>Advanced Settings</source>\n        <target>Pokročilá nastavení</target>\n      </trans-unit>\n      <trans-unit id="1406c2fb12a20c1528b19bcc5e24a6a2386167f3" datatype="html">\n        <source>Target IQN</source>\n        <target>IQN cíle</target>\n      </trans-unit>\n      <trans-unit id="5fe42339be910372fa689f559155631862d218e8" datatype="html">\n        <source>IQN has wrong pattern.</source>\n        <target>IQN nemá správný formát.</target>\n      </trans-unit>\n      <trans-unit id="050a7ff057d1e895357540406b6be5652b4d1c71" datatype="html">\n        <source>An IQN has the following notation\n                \'iqn.$year-$month.$reversedAddress:$definedName\'</source>\n        <target>IQN má následující formu zápisu\n                \'iqn.$rok-$mesic.$adresaObracene:$definovanyNazev\'</target>\n      </trans-unit>\n      <trans-unit id="c8ada4b53396d8366db00a435acc61d53d857047" datatype="html">\n        <source>For example: iqn.2016-06.org.dashboard:storage:disk.sn-a8675309</source>\n        <target>Například: iqn.2016-06.org.dashboard:storage:disk.sn-a8675309</target>\n      </trans-unit>\n      <trans-unit id="e60c11e1b1dfbbeda577364b8de39ded2d796c5e" datatype="html">\n        <source>More information</source>\n        <target>Další informace</target>\n      </trans-unit>\n      <trans-unit id="9b1aa85dfc6849196e64060db02c5410de69b7a1" datatype="html">\n        <source>This target has modified advanced settings.</source>\n        <target>Tento cíl má změněná pokročilá nastavení.</target>\n      </trans-unit>\n      <trans-unit id="6990ad8d6182662e864495ac31c3758cda1c7a28" datatype="html">\n        <source>Portals</source>\n        <target>Portály</target>\n      </trans-unit>\n      <trans-unit id="c3638c01b6c34066438909713ec96087c813fc7e" datatype="html">\n        <source>At least \n          <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.\n        </source>\n        <target>Je třeba alespoň \n          <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> bran.\n        </target>\n      </trans-unit>\n      <trans-unit id="6a3ac2b4137d723fd9878cd357c2012ff6c07973" datatype="html">\n        <source>Add portal</source>\n        <target>Přidat portál</target>\n      </trans-unit>\n      <trans-unit id="9aff25be088f0efe3eaaf62edf2bff41cc41a617" datatype="html">\n        <source>Backstore: \n          <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. \n        </source>\n        <target>Backstore: \n          <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. \n        </target>\n      </trans-unit>\n      <trans-unit id="e3484cae8b118c576ca2815bf9c9406c2eb2cae3" datatype="html">\n        <source>This image has modified settings.</source>\n        <target>Tento obraz má změněná nastavení.</target>\n      </trans-unit>\n      <trans-unit id="107c84e820909b44fe258673938a68ced1bbff72" datatype="html">\n        <source>At least 1 image is required.</source>\n        <target>Je třeba alespoň 1 obraz.</target>\n      </trans-unit>\n      <trans-unit id="808038f912fdc7f0e03f82d4afd3bf9178527fc8" datatype="html">\n        <source>Add image</source>\n        <target>Přidat obraz</target>\n      </trans-unit>\n      <trans-unit id="66c5fb27f52e75b70ca4b670b9b15a2a51cf9543" datatype="html">\n        <source>ACL authentication</source>\n        <target>ACL ověřování</target>\n      </trans-unit>\n      <trans-unit id="419c8b402609dcf49ae4932a5a4647dc8d79bbaf" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n                can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Je třeba, aby uživatelská jména měla délku 8 až 64 znaků a\n                obsahovala pouze písmena a případně ještě znaky „.“, „@“, „-“, „_“ nebo „:“.</target>\n      </trans-unit>\n      <trans-unit id="938050960d6653fddfcfd42425e18fb35a308262" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n                and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Je třeba, aby hesla měla délku 12 až 16 znaků\n                a obsahovala písmena a znaky „@“, „-“, „_“ nebo „/“.</target>\n      </trans-unit>\n      <trans-unit id="f494bd31f095f6dcc656ce87ec2dcf07a2e9b30c" datatype="html">\n        <source>Initiators</source>\n        <target>Iniciátory</target>\n      </trans-unit>\n      <trans-unit id="e98239d8a6be1100119ff4b5630c822b82786740" datatype="html">\n        <source>Initiator</source>\n        <target>Iniciátor</target>\n      </trans-unit>\n      <trans-unit id="f2c5059d8cda15d8d03e2cce30f2d139623d9a91" datatype="html">\n        <source>Client IQN</source>\n        <target>IQN klienta</target>\n      </trans-unit>\n      <trans-unit id="107d5aabce23d900f0a80e6ddc1c10e29aa0bed8" datatype="html">\n        <source>Initiator IQN needs to be unique.</source>\n        <target>Je třeba, aby se IQN iniciátoru neopakovalo.</target>\n      </trans-unit>\n      <trans-unit id="bbf0b34a3fcc80800fcb44b9e1e86931a530dfe3" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n                        can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Je třeba, aby uživatelská jména měla délku 8 až 64 znaků a\n                        mohou obsahovat pouze písmena a znaky „.“, „@“, „-“, „_“ nebo „:“.</target>\n      </trans-unit>\n      <trans-unit id="fdfee5d7a27e1bdd97a176097277bee078de6aaf" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n                        and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Je třeba, aby hesla měla délku 12 až 16 znaků\n                        a mohou obsahovat pouze písmena, „@“, „-“, „_“ nebo „/“.</target>\n      </trans-unit>\n      <trans-unit id="8406eb7415ee40e54d9ecb209abb056f06e3d666" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters and\n                        can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Je třeba, aby hesla měla délku 12 znaků 16 a\n                        mohou obsahovat pouze písmena, „@“, „-“, „_“ nebo „/“.</target>\n      </trans-unit>\n      <trans-unit id="5d1878d5fc761cbe9614bfd87047a740c82a6951" datatype="html">\n        <source>Initiator belongs to a group. Images will be configure in the group.</source>\n        <target>Iniciátor spadá do skupiny. Obrazy budou nastaveny ve skupině.</target>\n      </trans-unit>\n      <trans-unit id="c0de67b9d97fafbf200f9451e8388ee8128a56ac" datatype="html">\n        <source>No items added.</source>\n        <target>Nepřidány žádné položky.</target>\n      </trans-unit>\n      <trans-unit id="d565e47726158e428ecdc952fc9233b9b7d7f049" datatype="html">\n        <source>Add initiator</source>\n        <target>Přidat iniciátor</target>\n      </trans-unit>\n      <trans-unit id="c22ba03540aa3217da059f45e7eab138b51a96e2" datatype="html">\n        <source>Groups</source>\n        <target>Skupiny</target>\n      </trans-unit>\n      <trans-unit id="4c90059afafb7e160384d9f512797c95bb95c6dc" datatype="html">\n        <source>Group</source>\n        <target>Skupina</target>\n      </trans-unit>\n      <trans-unit id="3084948274cff4f56d0f431af47240e9cf02fcc7" datatype="html">\n        <source>Add group</source>\n        <target>Přidat skupinu</target>\n      </trans-unit>\n      <trans-unit id="66db799d67958d4b0765181d072df62e2d1c16f5" datatype="html">\n        <source>Issues</source>\n        <target>problémy</target>\n      </trans-unit>\n      <trans-unit id="ef06d69259e587e28d52372455f44c7153cda7e7" datatype="html">\n        <source>Syncing</source>\n        <target>Synchronizuje se</target>\n      </trans-unit>\n      <trans-unit id="0b0901877d837d3fda16ba161eb74368d1c75b7a" datatype="html">\n        <source>Ready</source>\n        <target>Připraveno</target>\n      </trans-unit>\n      <trans-unit id="4057c56d63a7e9b140b1d01871a9229a5f30eb27" datatype="html">\n        <source>Edit pool mirror mode</source>\n        <target>Upravit režim zrcadlení fondu</target>\n      </trans-unit>\n      <trans-unit id="e1f367f5feaab38f6637dd1f967c848b447dea2d" datatype="html">\n        <source>To edit the mirror mode for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>, select a new mode from the list and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>Pro úpravu režimu zrcadlení pro fond \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>, vyberte ze seznamu nový režim a klikněte na \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Aktualizovat\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="32ca348ef926b0a6a7a780b8b64c3a8239895cec" datatype="html">\n        <source>Peer clusters must be removed prior to disabling mirror.</source>\n        <target>Před vypnutím zrcadlení je třeba odebrat klastry-protějšky.</target>\n      </trans-unit>\n      <trans-unit id="fa61522d482349707fd7dd03b90dc5781611b17f" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/>\n  pool mirror peer\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/>\n  protějšek zrcadlení fondu\n        </target>\n      </trans-unit>\n      <trans-unit id="4ddcb416c1c0aa1f54acf5beef1de81813e76fa6" datatype="html">\n        <source>{VAR_SELECT, select, edit {Edit} other {Add} }</source>\n        <target>{VAR_SELECT, select, edit {Edit} other {Add} }</target>\n      </trans-unit>\n      <trans-unit id="59ca65ece457429d90104ede4674965f62edbabe" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/> the pool\n          mirror peer attributes for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> and click\n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Submit\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/> the pool\n          mirror peer attributes for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> and click\n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Submit\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="d3cc964811f852a168f4a2d5daa59068abc5cf53" datatype="html">\n        <source>Cluster Name</source>\n        <target>Název klastru</target>\n      </trans-unit>\n      <trans-unit id="b631721fc56cb7fb1cbd07b802a487c5753f6a2d" datatype="html">\n        <source>The cluster name is not valid.</source>\n        <target>Název klastru není platný</target>\n      </trans-unit>\n      <trans-unit id="ca6deafa31bf421f85094807982aee4bcb20a3ae" datatype="html">\n        <source>CephX ID</source>\n        <target>CephX identif.</target>\n      </trans-unit>\n      <trans-unit id="7539188a568c3d553cbde1bacaf32310c4264e24" datatype="html">\n        <source>CephX ID...</source>\n        <target>CephX identif. …</target>\n      </trans-unit>\n      <trans-unit id="a1c45b594b0fba22fc64e80c793a7ffe005fdb0e" datatype="html">\n        <source>The CephX ID is not valid.</source>\n        <target>CephX identif. není platný.</target>\n      </trans-unit>\n      <trans-unit id="20861576fcfce773c918c782cd4f5adf32382921" datatype="html">\n        <source>Monitor Addresses</source>\n        <target>Adresy monitorů</target>\n      </trans-unit>\n      <trans-unit id="fa28eeed2b4bd4ccbe6e9349a1c2b3cb1c5de70a" datatype="html">\n        <source>Comma-delimited addresses...</source>\n        <target>Čárkou oddělované adresy…</target>\n      </trans-unit>\n      <trans-unit id="dc016c82fd85848d5c1b2fd0e8469ee2027d9c16" datatype="html">\n        <source>The monitory address is not valid.</source>\n        <target>Adresa monitoru není platná.</target>\n      </trans-unit>\n      <trans-unit id="e0ac55b83dc6739e62bc655cfe375b67c93e7f4a" datatype="html">\n        <source>CephX Key</source>\n        <target>CephX klíč</target>\n      </trans-unit>\n      <trans-unit id="f53434bcb95bd86f1df9c8e22966f757614fc4ad" datatype="html">\n        <source>Base64-encoded key...</source>\n        <target>Klíč v base64 kódování…</target>\n      </trans-unit>\n      <trans-unit id="4cd83164cd4f66b4abc2863f9ce6f599d789e4ca" datatype="html">\n        <source>CephX key must be base64 encoded.</source>\n        <target>Je třeba, aby CephX klíč byl v kódování base64.</target>\n      </trans-unit>\n      <trans-unit id="ca53d681a9892d6fdbb57ee9676582186515e961" datatype="html">\n        <source>Performance counters not available</source>\n        <target>Výkonnostní čítače nejsou k dispozici</target>\n      </trans-unit>\n      <trans-unit id="9424badb7e0c6ac792d020d7830645b529a80aad" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the Object Gateway management functionality.\n        </source>\n        <target>Podívejte se do \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>dokumentace\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  jak nastavit a zapnout funkci správy brány objektů.\n        </target>\n      </trans-unit>\n      <trans-unit id="479488ab6e91ecb375484edc78bee3d13467f33f" datatype="html">\n        <source>Daemons List</source>\n        <target>Seznam procesů služeb</target>\n      </trans-unit>\n      <trans-unit id="eeba399c4dae8d4890c27b7a2cd2dc28fcf8b5f9" datatype="html">\n        <source>Performance Counters</source>\n        <target>Výkonnostní čítače</target>\n      </trans-unit>\n      <trans-unit id="5f67f2247b9c6bbaf24a0f2d37f4ac0537c6fa53" datatype="html">\n        <source>Loading bucket data...</source>\n        <target>Načítání dat nádoby…</target>\n      </trans-unit>\n      <trans-unit id="2798cc1e152b1ec07fd8daf94a2a073d1ba1ebcc" datatype="html">\n        <source>Id</source>\n        <target>Identif.</target>\n      </trans-unit>\n      <trans-unit id="db4e1a734518691b128ef40b939cc673f01d03a6" datatype="html">\n        <source>The value is not valid.</source>\n        <target>Hodnota není platná.</target>\n      </trans-unit>\n      <trans-unit id="eabb4db920d9f9b2480cf438468b86e1bea02a9b" datatype="html">\n        <source>The chosen name is already in use.</source>\n        <target>Zvolený název už je používán.</target>\n      </trans-unit>\n      <trans-unit id="0ee5132a8da30e0b7f9f5c70dbc91928d17dd909" datatype="html">\n        <source>Owner</source>\n        <target>Vlastník</target>\n      </trans-unit>\n      <trans-unit id="8e4c918357c7445fbf19a203e5f0f0ece1960b3b" datatype="html">\n        <source>-- Select a user --</source>\n        <target>-- Vybrat uživatele --</target>\n      </trans-unit>\n      <trans-unit id="a4aab1f837bc8ec222e4f25922465d1c5929a1fc" datatype="html">\n        <source>Placement target</source>\n        <target>Cíl umístění</target>\n      </trans-unit>\n      <trans-unit id="6bae0a7fc2c9c1fde7d937a8a1a3c7e6825cf7d1" datatype="html">\n        <source>-- Select a placement target --</source>\n        <target>-- Vybrat cíl umístění --</target>\n      </trans-unit>\n      <trans-unit id="efeade5060b3add63863c24871f0830fb16b7e6d" datatype="html">\n        <source>Versioning</source>\n        <target>Verzování</target>\n      </trans-unit>\n      <trans-unit id="f50a33d3c339f8f4a465141f8caa5d2d8c005251" datatype="html">\n        <source>Enabled</source>\n        <target>Zapnuto</target>\n      </trans-unit>\n      <trans-unit id="016d24e069e7d505a090fb8243e5cd43b35dc39b" datatype="html">\n        <source>Enables versioning for the objects in the bucket.</source>\n        <target>Enables versioning for the objects in the bucket.</target>\n      </trans-unit>\n      <trans-unit id="92f3f203270a29b3001871153f02c063484a1574" datatype="html">\n        <source>Suspended</source>\n        <target>Pozastaveno</target>\n      </trans-unit>\n      <trans-unit id="cd6a798fd0f85cd7e31a57c58074f25035d7850d" datatype="html">\n        <source>Disables versioning for the objects in the bucket.</source>\n        <target>Disables versioning for the objects in the bucket.</target>\n      </trans-unit>\n      <trans-unit id="45cc8ca94b5a50842a9a8ef804a5ab089a38ae5c" datatype="html">\n        <source>ID</source>\n        <target>Identif.</target>\n      </trans-unit>\n      <trans-unit id="e5c51963a9c553b29427ef783bbb69fa6634fa8c" datatype="html">\n        <source>Index type</source>\n        <target>Typ rejstříku</target>\n      </trans-unit>\n      <trans-unit id="8e6f950a32eaea32ec7e192f9ca3d3dfe469d4ba" datatype="html">\n        <source>Placement rule</source>\n        <target>Pravidlo umístění</target>\n      </trans-unit>\n      <trans-unit id="6972d213e31c4ea4f887e60db99d9881bc8fcd3e" datatype="html">\n        <source>Marker</source>\n        <target>Označovač</target>\n      </trans-unit>\n      <trans-unit id="47b02acd2d3254d1ace1926f840523f154ebef71" datatype="html">\n        <source>Maximum marker</source>\n        <target>Nejvyšší označovač</target>\n      </trans-unit>\n      <trans-unit id="8fe73a4787b8068b2ba61f54ab7e0f9af2ea1fc9" datatype="html">\n        <source>Version</source>\n        <target>Verze</target>\n      </trans-unit>\n      <trans-unit id="092fa3a7df9168b14d3f83a77a4035e92b92ce15" datatype="html">\n        <source>Master version</source>\n        <target>Hlavní verze</target>\n      </trans-unit>\n      <trans-unit id="97434cc5001d407f90c7447a12d9e8e6848a2aa3" datatype="html">\n        <source>Modification time</source>\n        <target>Okamžik úpravy</target>\n      </trans-unit>\n      <trans-unit id="90fe2e41e7fde38453ce4e619efeea9bc6adea9c" datatype="html">\n        <source>Zonegroup</source>\n        <target>Skupinazóny</target>\n      </trans-unit>\n      <trans-unit id="649a410bd0ace333d067d8fa22f12bdbdb43533b" datatype="html">\n        <source>Bucket quota</source>\n        <target>Kvóta nádoby</target>\n      </trans-unit>\n      <trans-unit id="cef1595d040e77cbb4466e60382028d4c2040cac" datatype="html">\n        <source>Maximum size</source>\n        <target>Nejvyšší velikost</target>\n      </trans-unit>\n      <trans-unit id="aa6fb95c355f172bda303de1ce2f38c251a149cf" datatype="html">\n        <source>Unlimited</source>\n        <target>Neomezeno</target>\n      </trans-unit>\n      <trans-unit id="ee862a800364b4d11f9b8cb9955a28a60f840a45" datatype="html">\n        <source>Maximum objects</source>\n        <target>Nejvýše objektů</target>\n      </trans-unit>\n      <trans-unit id="08c74dc9762957593b91f6eb5d65efdfc975bf48" datatype="html">\n        <source>Username</source>\n        <target>Uživatelské jméno</target>\n      </trans-unit>\n      <trans-unit id="49c614babd1950adb2be75df4e2c9747286d6adc" datatype="html">\n        <source>-- Select a username --</source>\n        <target>-- Vybrat uživatelské jméno --</target>\n      </trans-unit>\n      <trans-unit id="c217ee914725a37e9dd2336c721c8e63e9666bdc" datatype="html">\n        <source>Auto-generate key</source>\n        <target>Automaticky vytvořit klíč</target>\n      </trans-unit>\n      <trans-unit id="2f1c1c0f2bce4c9f92d1a2061e8161cb0006c31a" datatype="html">\n        <source>Access key</source>\n        <target>Přístupový klíč</target>\n      </trans-unit>\n      <trans-unit id="b864acb67296a9819c1db0069c4c47d8b5ce8f44" datatype="html">\n        <source>Secret key</source>\n        <target>Tajný klíč</target>\n      </trans-unit>\n      <trans-unit id="b760f123248930122fc7e7b6b6bf94e376e959c8" datatype="html">\n        <source>Full name</source>\n        <target>Celé jméno</target>\n      </trans-unit>\n      <trans-unit id="69b6ac577a19acc39fc0c22342092f327fff2529" datatype="html">\n        <source>Email address</source>\n        <target>E-mailová adresa</target>\n      </trans-unit>\n      <trans-unit id="8011e20c5bbe51602d459a860fbf29b599b55edd" datatype="html">\n        <source>System</source>\n        <target>Systém</target>\n      </trans-unit>\n      <trans-unit id="db18a2772988415466a7f75dc42663ce78c9c1d3" datatype="html">\n        <source>Maximum buckets</source>\n        <target>Nejvýše nádob</target>\n      </trans-unit>\n      <trans-unit id="2c4c62e8ba24601be5cfe7dc5d32c24bbbd4b53c" datatype="html">\n        <source>Subusers</source>\n        <target>Dílčí uživatelé</target>\n      </trans-unit>\n      <trans-unit id="17bb3082e6fe5003203ef992a3714172334631a1" datatype="html">\n        <source>Capabilities</source>\n        <target>Schopnosti</target>\n      </trans-unit>\n      <trans-unit id="36ad38f9c1a1485e09b67778a28af84553290ffb" datatype="html">\n        <source>User quota</source>\n        <target>Kvóta uživatele</target>\n      </trans-unit>\n      <trans-unit id="2aba1e87039819aca3b70faa9aa848c12bf139ca" datatype="html">\n        <source>Show</source>\n        <target>Zobrazit</target>\n      </trans-unit>\n      <trans-unit id="0bcd5ef19af0f1b814141ca8c57df623d8270088" datatype="html">\n        <source>Keys</source>\n        <target>Klíče</target>\n      </trans-unit>\n      <trans-unit id="f61c6867295f3b53d23557021f2f4e0aa1d0b8fc" datatype="html">\n        <source>Type</source>\n        <target>Typ</target>\n      </trans-unit>\n      <trans-unit id="1221ca97d19eaa9a7bc0c5243d5fc5befe1d2314" datatype="html">\n        <source>-- Select a type --</source>\n        <target>-- Vybrat typ --</target>\n      </trans-unit>\n      <trans-unit id="d1b8990332af18f1c5159a6061ca889bcbb28432" datatype="html">\n        <source>Permission</source>\n        <target>Oprávnění</target>\n      </trans-unit>\n      <trans-unit id="a08c589f82f69d892307288da14190ae1dd583d5" datatype="html">\n        <source>-- Select a permission --</source>\n        <target>-- Vybrat oprávnění --</target>\n      </trans-unit>\n      <trans-unit id="b2841767821d6b66238c34d07e413b0af67aee92" datatype="html">\n        <source>Subuser</source>\n        <target>Dílčí uživatel</target>\n      </trans-unit>\n      <trans-unit id="bd59fc25a7bd98cff3e75117c09697c8a007a514" datatype="html">\n        <source>The chosen subuser ID is already in use.</source>\n        <target>Zvolený identifikátor dílčího uživatele už je používán.</target>\n      </trans-unit>\n      <trans-unit id="3d386c357ebcbc04ed05c4babd5a03626f9b1674" datatype="html">\n        <source>read, write</source>\n        <target>číst, zapisovat</target>\n      </trans-unit>\n      <trans-unit id="84e3e3f9a4f31a039b648c97debf95fcb20f4c4a" datatype="html">\n        <source>full</source>\n        <target>plné</target>\n      </trans-unit>\n      <trans-unit id="b6bf81d032a2316464f9df2f0d2f3d753f89f0d3" datatype="html">\n        <source>Swift key</source>\n        <target>Swift klíč</target>\n      </trans-unit>\n      <trans-unit id="1e0c12685d50d47448ceed9423977ef39775c037" datatype="html">\n        <source>Auto-generate secret</source>\n        <target>Automaticky vytvořit tajemství</target>\n      </trans-unit>\n      <trans-unit id="3d1c7a6004bd5d86a7fa096ae24209e8aa7a53e3" datatype="html">\n        <source>Loading user data...</source>\n        <target>Načítání údajů uživatele…</target>\n      </trans-unit>\n      <trans-unit id="faa5d834ab28571423d794d32b57998920efb65f" datatype="html">\n        <source>The user data could not be loaded.</source>\n        <target>Údaje uživatele se nepodařilo načíst.</target>\n      </trans-unit>\n      <trans-unit id="6aaf5d2a304167272ac73e3b1d1c162e16c77858" datatype="html">\n        <source>The chosen user ID is already in use.</source>\n        <target>Zvolený identif. uživatele už je používán.</target>\n      </trans-unit>\n      <trans-unit id="df441e80db2157f9d272b75de724ba4a82b96b57" datatype="html">\n        <source>This is not a valid email address.</source>\n        <target>Toto není platná e-mailová adresa.</target>\n      </trans-unit>\n      <trans-unit id="ca271adf154956b8fcb28f4f50a37acb3057ff7c" datatype="html">\n        <source>The chosen email address is already in use.</source>\n        <target>Zvolená e-mailová adresa už je používána.</target>\n      </trans-unit>\n      <trans-unit id="030197cebe938edf35422e92fe14183d06eb670b" datatype="html">\n        <source>Max. buckets</source>\n        <target>Nejvýše nádob</target>\n      </trans-unit>\n      <trans-unit id="623ac50f37a26caec6fd7cd519b653e3315cba25" datatype="html">\n        <source>The entered value must be &gt;= 0.</source>\n        <target>Je třeba, aby zadaná hodnota byla 0 a vyšší.</target>\n      </trans-unit>\n      <trans-unit id="583a219c524155c2314eb06ee29162bb315272a3" datatype="html">\n        <source>S3 key</source>\n        <target>S3 klíč</target>\n      </trans-unit>\n      <trans-unit id="128d6efb51d9ddc7c0cc695a2deeca5b9523f6e4" datatype="html">\n        <source>There are no subusers.</source>\n        <target>Nejsou zde žádní dílčí uživatelé.</target>\n      </trans-unit>\n      <trans-unit id="7fd6dfb8ecb982dbc3affb2c2d5414c4f5b6abd2" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ subuserLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ subuserLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="67c746c1ba9dab4351fedc4c7cba4e6d6b0dbc47" datatype="html">\n        <source>S3</source>\n        <target>S3</target>\n      </trans-unit>\n      <trans-unit id="d6819038d608623503918fb2553f53d68231ec3a" datatype="html">\n        <source>There are no keys.</source>\n        <target>Nejsou zde žádné klíče.</target>\n      </trans-unit>\n      <trans-unit id="fc1c1a7140ff6b815a95b65ee2780fdbe1b2b7a1" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ s3keyLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ s3keyLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6ddb5e991a3ecd2659fb520bc5acc81b67e08ddd" datatype="html">\n        <source>Swift</source>\n        <target>Swift</target>\n      </trans-unit>\n      <trans-unit id="1d01eccdda47fc907c5be35bcb16d2dcd02b0270" datatype="html">\n        <source>There are no capabilities.</source>\n        <target>Nejsou zde žádné schopnosti.</target>\n      </trans-unit>\n      <trans-unit id="043e2ec0036ceadd926fd5e3f93cd6f3565f3648" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.ADD | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.ADD | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6146e13ceca5fa5cc17b771b282fe5955f3d19fa" datatype="html">\n        <source>Unlimited size</source>\n        <target>Neomezená velikost</target>\n      </trans-unit>\n      <trans-unit id="f6db8aa7c99fdce18edb33dde57729acede2b308" datatype="html">\n        <source>Max. size</source>\n        <target>Nejvyšší velikost</target>\n      </trans-unit>\n      <trans-unit id="fc630b2093e880fffa19df99d5cd8b87605037f8" datatype="html">\n        <source>Unlimited objects</source>\n        <target>Neomezené objekty</target>\n      </trans-unit>\n      <trans-unit id="6cda5a993d06f0bb10048be9d3aba6555aa9f356" datatype="html">\n        <source>Max. objects</source>\n        <target>Nejvýše objektů</target>\n      </trans-unit>\n      <trans-unit id="1ea5c4d8942c00752dcc72e72949c5d9832f6399" datatype="html">\n        <source>Description...</source>\n        <target>Popis…</target>\n      </trans-unit>\n      <trans-unit id="70f45880fce6ac5d8e468e25e82aefbba8098cfe" datatype="html">\n        <source>Permissions</source>\n        <target>Oprávnění</target>\n      </trans-unit>\n      <trans-unit id="9610487cbeb5796d34d8601b5ac0c0a65f9e1d19" datatype="html">\n        <source>Roles</source>\n        <target>Role</target>\n      </trans-unit>\n      <trans-unit id="7f3bdcce4b2e8c37cd7f0f6c92ef8cff34b039b8" datatype="html">\n        <source>Confirm password</source>\n        <target>Potvrzení zadání hesla</target>\n      </trans-unit>\n      <trans-unit id="cbb979e63ba50e0ca3adfa09cbdcaefd0853fca1" datatype="html">\n        <source>Password confirmation doesn\'t match the password.</source>\n        <target>Zadání hesla se neshodují.</target>\n      </trans-unit>\n      <trans-unit id="244aae9346da82b0922506c2d2581373a15641cc" datatype="html">\n        <source>Email</source>\n        <target>E-mail</target>\n      </trans-unit>\n      <trans-unit id="d0ec081dd61eb4f43aea269077bbe38eae87b7f9" datatype="html">\n        <source>Invalid email.</source>\n        <target>Neplatný e-mail.</target>\n      </trans-unit>\n      <trans-unit id="0051a3479d3ba79135c16dc8cc017950a2cce821" datatype="html">\n        <source>You are about to remove "user read / update" permissions from your own user.</source>\n        <target>Chystáte se odebrat oprávnění „uživatel číst/aktualizovat“ svému vlastnímu účtu.</target>\n      </trans-unit>\n      <trans-unit id="af4bf9fcb256853f14cf947eb1deb8d7f176d3f9" datatype="html">\n        <source>If you continue, you will no longer be able to add or remove roles from any user.</source>\n        <target>Pokud budete pokračovat, nebudete nadále schopní přidávat nebo nebo odebírat role žádnému z uživatelů.</target>\n      </trans-unit>\n      <trans-unit id="7d1dcf2a9146caac0581329acf94806ec69a89a5" datatype="html">\n        <source>Are you sure you want to continue?</source>\n        <target>Opravdu chcete pokračovat?</target>\n      </trans-unit>\n      <trans-unit id="85b79c9064aed1ead31ace985f31aa1363f6bdaf" datatype="html">\n        <source>Help</source>\n        <target>Nápověda</target>\n      </trans-unit>\n      <trans-unit id="fcfd4675b4c90f08d18d3abede9a9a4dff4cfdc7" datatype="html">\n        <source>Documentation</source>\n        <target>Dokumentace</target>\n      </trans-unit>\n      <trans-unit id="e351b40b3869a5c7d19c3d4918cb1ac7aaab95c4" datatype="html">\n        <source>API</source>\n        <target>Aplikační program. rozhraní</target>\n      </trans-unit>\n      <trans-unit id="004b222ff9ef9dd4771b777950ca1d0e4cd4348a" datatype="html">\n        <source>About</source>\n        <target>O aplikaci</target>\n      </trans-unit>\n      <trans-unit id="1481ecd21e760ac919a24e26cf790acd82e40199" datatype="html">\n        <source>Dashboard Settings</source>\n        <target>Nastavení přehledu</target>\n      </trans-unit>\n      <trans-unit id="a79aab4ef674bf3f6532292107c0054302236e0f" datatype="html">\n        <source>User management</source>\n        <target>Správa uživatelů</target>\n      </trans-unit>\n      <trans-unit id="049dfd9fe6c78914ad58cf89ac6a631fca28ec74" datatype="html">\n        <source>Logged in user</source>\n        <target>Přihlášený uživatel</target>\n      </trans-unit>\n      <trans-unit id="cd38a58e73f306d838e621959d47d5e7a2f06d1f" datatype="html">\n        <source>Signed in as\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ username }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>\n        </source>\n        <target>Přihlášeni jako\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ username }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="739516c2ca75843d5aec9cf0e6b3e4335c4227b9" datatype="html">\n        <source>Change password</source>\n        <target>Změnit heslo</target>\n      </trans-unit>\n      <trans-unit id="5d22c795daf43877a5f708dca2bccd549eb0471d" datatype="html">\n        <source>Sign out</source>\n        <target>Odhlásit</target>\n      </trans-unit>\n      <trans-unit id="91853167141c37b58868f3b0421383dd72fa8a01" datatype="html">\n        <source>Attributes (OSD map)</source>\n        <target>Atributy (OSD mapa)</target>\n      </trans-unit>\n      <trans-unit id="97842f379e1d4157ac3ab0661b90c352e7cb72d5" datatype="html">\n        <source>Metadata not available</source>\n        <target>Metadata nejsou k dispozici</target>\n      </trans-unit>\n      <trans-unit id="f721a500a68c357e8f2a01e60510f6a01e4ba529" datatype="html">\n        <source>Metadata</source>\n        <target>Metadata</target>\n      </trans-unit>\n      <trans-unit id="deba10b7279a589d01e919ea11f43c79ca1773e3" datatype="html">\n        <source>Device health</source>\n        <target>Stav zařízení</target>\n      </trans-unit>\n      <trans-unit id="d24e28e19c5703d7c6be44f4eb595a6a43b618ed" datatype="html">\n        <source>Performance counter</source>\n        <target>Výkonnostní čítač</target>\n      </trans-unit>\n      <trans-unit id="d1f7c81ed9c5034af4abcdf119b1c1e86cd019dd" datatype="html">\n        <source>Histogram not available: \n          <x id="INTERPOLATION" equiv-text="{{ osd.histogram_failed }}"/>\n        </source>\n        <target>Histogram není k dispozici: \n          <x id="INTERPOLATION" equiv-text="{{ osd.histogram_failed }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="868abfff914873d1c65df798d8432ed04b8ae2a9" datatype="html">\n        <source>Writes</source>\n        <target>Zápisy</target>\n      </trans-unit>\n      <trans-unit id="996ebb9a653b5067f97bf3891ea9d2108e969492" datatype="html">\n        <source>Reads</source>\n        <target>Čtení</target>\n      </trans-unit>\n      <trans-unit id="65ac79790aa477a97b1cc579e18a115a8df8918f" datatype="html">\n        <source>Histogram</source>\n        <target>Histogram</target>\n      </trans-unit>\n      <trans-unit id="26fb5f81b3581f06b9210defb0e71dc69a67e819" datatype="html">\n        <source>Current values</source>\n        <target>Stávající hodnoty</target>\n      </trans-unit>\n      <trans-unit id="9abcd7c82643d60c22733470463f74e4a54bc069" datatype="html">\n        <source>Min</source>\n        <target>Min</target>\n      </trans-unit>\n      <trans-unit id="c3ced4d162a0a55ee233a187ce7208ba5e922418" datatype="html">\n        <source>Max</source>\n        <target>Max</target>\n      </trans-unit>\n      <trans-unit id="6834fa6b43d1ecbdf147c48dd9c4d72f1484571d" datatype="html">\n        <source>Source</source>\n        <target>Zdroj</target>\n      </trans-unit>\n      <trans-unit id="a446fb0eb11fbffcac805ece5a2d306d24e733d8" datatype="html">\n        <source>Level</source>\n        <target>Úroveň</target>\n      </trans-unit>\n      <trans-unit id="39f2fb094e9b2eda13163fa3f3a31594cf9c1307" datatype="html">\n        <source>Can be updated at runtime (editable)</source>\n        <target>Je možné aktualizovat za provozu (upravitelné)</target>\n      </trans-unit>\n      <trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b" datatype="html">\n        <source>Tags</source>\n        <target>Štítky</target>\n      </trans-unit>\n      <trans-unit id="ab0089ef47af61ca1d137bc908b96c290dfd9287" datatype="html">\n        <source>Enum values</source>\n        <target>Vyčíslit hodnoty</target>\n      </trans-unit>\n      <trans-unit id="819476f1264f1659f38e86f6abb542141b184832" datatype="html">\n        <source>See also</source>\n        <target>Viz také</target>\n      </trans-unit>\n      <trans-unit id="d82a9af5b05e7cd17640f196f163771685ff8df6" datatype="html">\n        <source>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</source>\n        <target>Data obdržena v JSON formátu verze 2.x, což je v tuto chvíli nekompatibilní s přehledem.</target>\n      </trans-unit>\n      <trans-unit id="a185c9b97513b3882604ea9bab60edbfac945c15" datatype="html">\n        <source>SMART overall-health self-assessment test result</source>\n        <target>výsledek SMART testu samoposouzení celkového stavu</target>\n      </trans-unit>\n      <trans-unit id="ddd5dd6d930030096ea617f62c82b648a0dd9484" datatype="html">\n        <source>Device Information</source>\n        <target>Informace o zařízení</target>\n      </trans-unit>\n      <trans-unit id="79c6bf990ea5b4d83bbf8f9e399f4bd933a1ebfc" datatype="html">\n        <source>S.M.A.R.T</source>\n        <target>S.M.A.R.T</target>\n      </trans-unit>\n      <trans-unit id="05c17e08939cbef1a5df5386263b1701e8d5742e" datatype="html">\n        <source>S.M.A.R.T data is loading.</source>\n        <target>Načítání dat ze S.M.A.R.T diagnostiky.</target>\n      </trans-unit>\n      <trans-unit id="73caac4265ea7314ff061e5a1d78a6361a6dd3b8" datatype="html">\n        <source>Cluster Status</source>\n        <target>Stav klastru</target>\n      </trans-unit>\n      <trans-unit id="1d4bc612bbf19aa9553853266b9e92c9d75f4464" datatype="html">\n        <source>Manager Daemons</source>\n        <target>Procesy služby správy</target>\n      </trans-unit>\n      <trans-unit id="946ac5dea9921dc09d7b0a63b89535371f283b19" datatype="html">\n        <source>Object Gateways</source>\n        <target>Objektové brány</target>\n      </trans-unit>\n      <trans-unit id="ff03fa5bcf37c4da46ad736c1f7d03f959e8ba9a" datatype="html">\n        <source>Metadata Servers</source>\n        <target>Metadata servery</target>\n      </trans-unit>\n      <trans-unit id="d817609ba4993eba859409ab71e566168f4d5f5a" datatype="html">\n        <source>iSCSI Gateways</source>\n        <target>iSCSI brány</target>\n      </trans-unit>\n      <trans-unit id="42c13e50391250ea9379bdf55d5d6c0228c0c8bc" datatype="html">\n        <source>Client IOPS</source>\n        <target>vst/výst. klienta</target>\n      </trans-unit>\n      <trans-unit id="52213660b2454d139ada3079a42ec6caf3c3c01e" datatype="html">\n        <source>Client Throughput</source>\n        <target>Propustnost klienta</target>\n      </trans-unit>\n      <trans-unit id="32efd1c3f70e3c5244239de97a2cc95d98534a14" datatype="html">\n        <source>Client Read/Write</source>\n        <target>Čtení/zápis klienta</target>\n      </trans-unit>\n      <trans-unit id="275485415092cbae3a9f3cbb786ebe283cacfdd5" datatype="html">\n        <source>Recovery Throughput</source>\n        <target>Propustnost zotavení</target>\n      </trans-unit>\n      <trans-unit id="6d9a9f55046891733ef71170e7652063765eb542" datatype="html">\n        <source>Scrub</source>\n        <target>Kontrola</target>\n      </trans-unit>\n      <trans-unit id="3cc9c2ae277393b3946b38c088dabff671b1ee1b" datatype="html">\n        <source>Performance</source>\n        <target>Výkonnost</target>\n      </trans-unit>\n      <trans-unit id="88f383269db2d32cccee9e936fe549dccb9fdbf4" datatype="html">\n        <source>Raw Capacity</source>\n        <target>Holá kapacita</target>\n      </trans-unit>\n      <trans-unit id="c5f8a813f91a11af99132e4beafc136cfc13d73b" datatype="html">\n        <source>PGs per OSD</source>\n        <target>Skupin umístění na OSD</target>\n      </trans-unit>\n      <trans-unit id="498a109c6e9e94f1966de01aa0326f7f0ac6fb52" datatype="html">\n        <source>PG Status</source>\n        <target>Stav skupiny umístění</target>\n      </trans-unit>\n      <trans-unit id="ce9dfdc6dccb28dc75a78c704e09dc18fb02dcfa" datatype="html">\n        <source>Capacity</source>\n        <target>Kapacita</target>\n      </trans-unit>\n      <trans-unit id="44ecac93d67c6a671198091c2270354f80322327" datatype="html">\n        <source>\n          <x id="START_ITALIC_TEXT" ctype="x-i" equiv-text="<i>"/>\n          <x id="CLOSE_ITALIC_TEXT" ctype="x-i" equiv-text="</i>"/> See \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Logs\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more details.\n        </source>\n        <target>Další podrobnosti \n          <x id="START_ITALIC_TEXT" ctype="x-i" equiv-text="<i>"/>\n          <x id="CLOSE_ITALIC_TEXT" ctype="x-i" equiv-text="</i>"/> naleznete v \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>záznamech událostí\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="0c1e17956453ad772dbe82d6946f62748c692f3e" datatype="html">\n        <source>Ranks</source>\n        <target>Hodnocení</target>\n      </trans-unit>\n      <trans-unit id="2b24e0b0b1629d2e8a51b9da7c75d6e6379f4bc4" datatype="html">\n        <source>Standbys</source>\n        <target>Pohotovosti</target>\n      </trans-unit>\n      <trans-unit id="50df62325726db950523a5be1c78b8905fcc25d4" datatype="html">\n        <source>MDS performance counters</source>\n        <target>čítače výkonnosti MDS</target>\n      </trans-unit>\n      <trans-unit id="a7b6508fb834bee9e48e11e4503fbbc2d19204de" datatype="html">\n        <source>Clients: \n          <x id="INTERPOLATION" equiv-text="{{ clients.data.length }}"/>\n        </source>\n        <target>Klienti: \n          <x id="INTERPOLATION" equiv-text="{{ clients.data.length }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6e213942c6354b9cbe7a650f0f1499bfc1000fb6" datatype="html">\n        <source>Directories</source>\n        <target>Složky</target>\n      </trans-unit>\n      <trans-unit id="47116253e36f4e38a97ba41b2d3122c6c15ab904" datatype="html">\n        <source>Clients (\n          <x id="INTERPOLATION" equiv-text="{{ clients.length }}"/>)\n        </source>\n        <target>Klienti (\n          <x id="INTERPOLATION" equiv-text="{{ clients.length }}"/>)\n        </target>\n      </trans-unit>\n      <trans-unit id="bd5a3b1c5a3c185c7bbb0e09a061d4cdc88ce5ad" datatype="html">\n        <source>Current</source>\n        <target>Stávající</target>\n      </trans-unit>\n      <trans-unit id="e5e7d62e942083a59b0b31f54e17cd7958186052" datatype="html">\n        <source>Updated discovery authentication</source>\n        <target>Aktualizováno ověřování pro objevování</target>\n      </trans-unit>\n      <trans-unit id="dd4ab758afd5fd5a6c6a25b2b30ff99d0c00e9ad" datatype="html">\n        <source>There are no portals available.</source>\n        <target>Nejsou k dispozici žádné portály.</target>\n      </trans-unit>\n      <trans-unit id="83021e45778a4a230a14ca0c6d6ccdf05500ad93" datatype="html">\n        <source>There are no images available.</source>\n        <target>Nejsou k dispozici žádné obrazy.</target>\n      </trans-unit>\n      <trans-unit id="86684eb21f8a768e1dbc659e3d5da6861db544a0" datatype="html">\n        <source>There are no images available. Please make sure you add an image to the target.</source>\n        <target>Nejsou k dispozici žádné obrazy. Ověřte, že jste cíli přidali obraz.</target>\n      </trans-unit>\n      <trans-unit id="fffda6e440078f57eba93944ce051c593cc6ed7f" datatype="html">\n        <source>There are no initiators available. Please make sure you add an initiator to the target.</source>\n        <target>Nejsou k dispozici žádné iniciátory. Ověřte, že jste cíli přidali iniciátor.</target>\n      </trans-unit>\n      <trans-unit id="cea3c6fe490385eef1584cbc4983fda7ece24bb6" datatype="html">\n        <source>target</source>\n        <target>cíl</target>\n      </trans-unit>\n      <trans-unit id="38baeb215c17af9d9e295e371a57f4a48ab4c191" datatype="html">\n        <source>Target</source>\n        <target>Cíl</target>\n      </trans-unit>\n      <trans-unit id="99e094878070eebc1b972bac02aaa33b2bf83b35" datatype="html">\n        <source># Sessions</source>\n        <target>Počet relací</target>\n      </trans-unit>\n      <trans-unit id="c49e0dd71d551bd4928d967d78f0721dbf9f95e3" datatype="html">\n        <source>Target has active sessions</source>\n        <target>Cíl má aktivní relace</target>\n      </trans-unit>\n      <trans-unit id="a87acd72dfb68b45175270695209550a85adf50c" datatype="html">\n        <source>iSCSI target</source>\n        <target>iSCSI cíl</target>\n      </trans-unit>\n      <trans-unit id="873b72903b1858a9cd6c8967521030b4d7d1435b" datatype="html">\n        <source>State</source>\n        <target>Stav</target>\n      </trans-unit>\n      <trans-unit id="02b75464c0dc0cf49ea0208211b6fbcad3bf728a" datatype="html">\n        <source># Targets</source>\n        <target>Počet cílů</target>\n      </trans-unit>\n      <trans-unit id="13415637c325ceefee29111b31cb48701490adf7" datatype="html">\n        <source>Read Bytes</source>\n        <target>Bajtů čtení</target>\n      </trans-unit>\n      <trans-unit id="e2ed82b7bbf4a006e60e6208c597b05d5b5556e9" datatype="html">\n        <source>Write Bytes</source>\n        <target>Bajtů zápis</target>\n      </trans-unit>\n      <trans-unit id="6a32a5f58845ca840185ea9564682094e77a1d80" datatype="html">\n        <source>Read Ops</source>\n        <target>Operací/s čtení</target>\n      </trans-unit>\n      <trans-unit id="7c36cb8032af123d3550ffab2e1fa1e957c87fae" datatype="html">\n        <source>Write Ops</source>\n        <target>Operací/s zápis</target>\n      </trans-unit>\n      <trans-unit id="458c33846a8c7e2feb9404bcf06723784e756cdc" datatype="html">\n        <source>A/O Since</source>\n        <target>A/O od</target>\n      </trans-unit>\n      <trans-unit id="ff78f059449d44322f627d0f66df07abe476962b" datatype="html">\n        <source>Instance</source>\n        <target>Instance</target>\n      </trans-unit>\n      <trans-unit id="36fad7995cadfb3a6f0d43ef2db280146b3ca022" datatype="html">\n        <source>Issue</source>\n        <target>Problém</target>\n      </trans-unit>\n      <trans-unit id="15793f4cbc261bedbc60f7105533dde536a3f42b" datatype="html">\n        <source>Progress</source>\n        <target>Ukazatel postupu</target>\n      </trans-unit>\n      <trans-unit id="f39256070bfc0714020dfee08895421fc1527014" datatype="html">\n        <source>Disabled</source>\n        <target>Vypnuto</target>\n      </trans-unit>\n      <trans-unit id="8c375764db42f5d736fb56d01b8052c006ccc8e2" datatype="html">\n        <source>Edit Mode</source>\n        <target>Upravit režim</target>\n      </trans-unit>\n      <trans-unit id="45932f2a0ea524b3425f4320ee46a6d1c68977bc" datatype="html">\n        <source>Add Peer</source>\n        <target>Přidat protějšek</target>\n      </trans-unit>\n      <trans-unit id="d3dc34662e3cda0dad646221651cebd26f731485" datatype="html">\n        <source>Edit Peer</source>\n        <target>Upravit protějšek</target>\n      </trans-unit>\n      <trans-unit id="e8a0ec0b6ee72db0f27c186e09640d1ed41964bd" datatype="html">\n        <source>Delete Peer</source>\n        <target>Smazat protějšek</target>\n      </trans-unit>\n      <trans-unit id="314de06d6f64d39149e78e6d796585c0246fec0b" datatype="html">\n        <source>Leader</source>\n        <target>Vedoucí</target>\n      </trans-unit>\n      <trans-unit id="7acaab450312114059ced9e3737798ee9aa738b1" datatype="html">\n        <source># Local</source>\n        <target>Počet místních</target>\n      </trans-unit>\n      <trans-unit id="7a3ffd88868135c44be3994263bb8e49d8358884" datatype="html">\n        <source># Remote</source>\n        <target>Počet vzdálených</target>\n      </trans-unit>\n      <trans-unit id="85ca0fd6a6ddd211023c70a25753122c5b978787" datatype="html">\n        <source>mirror peer</source>\n        <target>zrcadlit protějšek</target>\n      </trans-unit>\n      <trans-unit id="a6493c6ca346cd052da40423eda9c132de2b2002" datatype="html">\n        <source>Key</source>\n        <target>Klíč</target>\n      </trans-unit>\n      <trans-unit id="e9cac80fb5d9de66f0006d0bec530fd1fc69a674" datatype="html">\n        <source>RBD</source>\n        <target>RBD</target>\n      </trans-unit>\n      <trans-unit id="4130b1a836f2000cfe9a11fb62493dc42d444de7" datatype="html">\n        <source>Deep flatten</source>\n        <target>Hluboké zploštění</target>\n      </trans-unit>\n      <trans-unit id="7b17694d7cb8ecb7c8440bc999dac21b44455b33" datatype="html">\n        <source>Layering</source>\n        <target>Vrstvení</target>\n      </trans-unit>\n      <trans-unit id="6a072ce577c2079d0e0c31071a16824f6d22b84d" datatype="html">\n        <source>Exclusive lock</source>\n        <target>Výhradní zámek</target>\n      </trans-unit>\n      <trans-unit id="7354f01320bf936a7f85577c9f71402635c3a362" datatype="html">\n        <source>Object map (requires exclusive-lock)</source>\n        <target>Mapa objektů (vyžaduje výhradní zámek)</target>\n      </trans-unit>\n      <trans-unit id="fb7e625c1152f1c102cd16460955d124edff1770" datatype="html">\n        <source>Journaling (requires exclusive-lock)</source>\n        <target>Žurnálování (vyžaduje výhradní zámek)</target>\n      </trans-unit>\n      <trans-unit id="df4044632bfc211dd96544fc8f007dabbeeb506c" datatype="html">\n        <source>Fast diff (interlocked with object-map)</source>\n        <target>Fast diff (interlocked with object-map)</target>\n      </trans-unit>\n      <trans-unit id="631fc50ec7c9bd81dc797a3c7e09eda1178ad999" datatype="html">\n        <source>Parent image must support Layering</source>\n        <target>Je třeba, aby nadřazený obraz podporoval vrstvy</target>\n      </trans-unit>\n      <trans-unit id="7eb984588f4835f6d0187b33769b4b0f62821640" datatype="html">\n        <source>RBD snapshot rollback</source>\n        <target>Vrácení zachyceného stavu RBD zpět</target>\n      </trans-unit>\n      <trans-unit id="4be22bf20ef82614ed53bcd3b912a85590aa71c9" datatype="html">\n        <source>Rollback</source>\n        <target>Vrácení zpět</target>\n      </trans-unit>\n      <trans-unit id="2a04c483708d261751d62082d6f03a50d4577b1e" datatype="html">\n        <source>RBD snapshot</source>\n        <target>Zachycený stav RBD</target>\n      </trans-unit>\n      <trans-unit id="fa96769d1ea86741297cb9b9769b0dcfde58c8b4" datatype="html">\n        <source>Deleted At</source>\n        <target>Smazáno v</target>\n      </trans-unit>\n      <trans-unit id="e928864038ca70ee7d67bbf1fd71a01c3938a127" datatype="html">\n        <source>id</source>\n        <target>identif.</target>\n      </trans-unit>\n      <trans-unit id="240c9c1e96dc38814922a83ad041dc815b084f32" datatype="html">\n        <source>type</source>\n        <target>typ</target>\n      </trans-unit>\n      <trans-unit id="c9d7ec7ee5b4e282f2228fa996651ec4ef5195a9" datatype="html">\n        <source>state</source>\n        <target>stav</target>\n      </trans-unit>\n      <trans-unit id="5780e5c3b4fc2ae07836bb5221cec4f8d597630d" datatype="html">\n        <source>version</source>\n        <target>verze</target>\n      </trans-unit>\n      <trans-unit id="fe22ca53e651df951dac25b67c17894b0980f767" datatype="html">\n        <source>Host</source>\n        <target>Stroj</target>\n      </trans-unit>\n      <trans-unit id="fb69299354312c8954ecf324997ccafcd9f6b14b" datatype="html">\n        <source>root</source>\n        <target>kořen</target>\n      </trans-unit>\n      <trans-unit id="d34feb369d308075b423d5c5fc431f9766bf7a11" datatype="html">\n        <source>Evicted client "\n          <x id="INTERPOLATION" equiv-text="{{clientId}}"/>"\n        </source>\n        <target>Evicted client "\n          <x id="INTERPOLATION" equiv-text="{{clientId}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="7db875ff4cc626d394f37fba95c075b2e4bfeb00" datatype="html">\n        <source>Standby daemons</source>\n        <target>Procesy služeb v pohotovosti</target>\n      </trans-unit>\n      <trans-unit id="3c3a423d91e36ac6624e909fcd2669a25685f847" datatype="html">\n        <source>Rank</source>\n        <target>Hodnocení</target>\n      </trans-unit>\n      <trans-unit id="9596ecae8956e96921acef47aec787f6bdc37454" datatype="html">\n        <source>Daemon</source>\n        <target>Proces služby</target>\n      </trans-unit>\n      <trans-unit id="f2005fa461c06dc2e04d8918bbabedf23604b5b7" datatype="html">\n        <source>Activity</source>\n        <target>Aktivita</target>\n      </trans-unit>\n      <trans-unit id="e3a986984ae0c3b43af648c3fa638649d1c00348" datatype="html">\n        <source>Dentries</source>\n        <target>Struktury složek</target>\n      </trans-unit>\n      <trans-unit id="7c692ab865066967d73c6d64ec0691cc6ce91b93" datatype="html">\n        <source>Inodes</source>\n        <target>I-uzlů</target>\n      </trans-unit>\n      <trans-unit id="45f210b96a2a6e91f52f153a4f8dc30662629f8e" datatype="html">\n        <source>Usage</source>\n        <target>Využití</target>\n      </trans-unit>\n      <trans-unit id="950b5f04a2efd3f11c0f76418d5a4212381e792e" datatype="html">\n        <source>Origin</source>\n        <target>Původ</target>\n      </trans-unit>\n      <trans-unit id="22e4e574b7f8abf58254f328792445b42e2a924a" datatype="html">\n        <source>The value can be updated at runtime.</source>\n        <target>Hodnotu je možné aktualizovat za chodu.</target>\n      </trans-unit>\n      <trans-unit id="d7770de7b2343c9deeaa7ebf37ba3e35ca5c5988" datatype="html">\n        <source>Daemons/clients do not pull this value from the\n      monitor config database. We disallow setting this option via \'ceph config\n      set ...\'. This option should be configured via ceph.conf or via the\n      command line.</source>\n        <target>Procesy služeb / klienti nezískávají tuto hodnotu\n      z databáze nastavení monitoru. Není umožněno nastavit tuto volbu\n      prostřednictvím „ceph config set …\'. Tato volba by měla být nastavena\n      z příkazového řádku.</target>\n      </trans-unit>\n      <trans-unit id="83f11fd1dc503c37931ea6c1c5c1e8c2b4b597b6" datatype="html">\n        <source>Option takes effect only during daemon startup.</source>\n        <target>Volba se uplatní pouze při spouštění procesu služby.</target>\n      </trans-unit>\n      <trans-unit id="837a07cd6a971038b8b1aa190c43440c9fdb5d8b" datatype="html">\n        <source>Option only affects cluster creation.</source>\n        <target>Volba ovlivní pouze vytváření klastru.</target>\n      </trans-unit>\n      <trans-unit id="2566a88eb247c918b71cfe5b354c31de0d4b01e5" datatype="html">\n        <source>Option only affects daemon creation.</source>\n        <target>Volba ovlivní pouze vytvoření procesu služby.</target>\n      </trans-unit>\n      <trans-unit id="1cdc60cfc09c257625768f3d2082816cdef27279" datatype="html">\n        <source>Updated config option \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\n        </source>\n        <target>Aktualizována volba nastavení \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="d473e0f684a60db45d6f31e993f693f74290e056" datatype="html">\n        <source>Service</source>\n        <target>Služba</target>\n      </trans-unit>\n      <trans-unit id="9951bb3983c7dba6fde013e05c922e4fe1a44367" datatype="html">\n        <source>Current value</source>\n        <target>Stávající hodnota</target>\n      </trans-unit>\n      <trans-unit id="4a01c175f90dd92b432f4a4a199d2c7bb9d997ff" datatype="html">\n        <source>Editable</source>\n        <target>Upravitelné</target>\n      </trans-unit>\n      <trans-unit id="261c0af854e8684abc15f89dce6efb3e72344b18" datatype="html">\n        <source>host</source>\n        <target>stroj</target>\n      </trans-unit>\n      <trans-unit id="9e35065e7c579e1fb960499117fd4b3c68d1c263" datatype="html">\n        <source>Host operation is disabled because orchestrator is unavailable</source>\n        <target>Host operation is disabled because orchestrator is unavailable</target>\n      </trans-unit>\n      <trans-unit id="a5d5e407f8c4e1b152509c966c90f37edf68472e" datatype="html">\n        <source>Device path</source>\n        <target>Popis umístění zařízení</target>\n      </trans-unit>\n      <trans-unit id="94e76c060aa68c05d8c4a3f5a20c92fab3e83ccf" datatype="html">\n        <source>Rotates</source>\n        <target>Rotates</target>\n      </trans-unit>\n      <trans-unit id="b7da3e3505cc80f9bf3cffc8444c53e8a9ec70a5" datatype="html">\n        <source>Available</source>\n        <target>K dispozici</target>\n      </trans-unit>\n      <trans-unit id="6ec98fa3d6504ba1fd03465194b53706c8263c99" datatype="html">\n        <source>Model</source>\n        <target>Model</target>\n      </trans-unit>\n      <trans-unit id="1a6e6ad05508130b7a99ce5b15daf3227c2a930c" datatype="html">\n        <source>Updated options for module "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>".\n        </source>\n        <target>Aktualizována volba pro modul „\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>“\n        </target>\n      </trans-unit>\n      <trans-unit id="ac6c9212896d39b23811ed2dadab7d07336ec559" datatype="html">\n        <source>Enable</source>\n        <target>Zapnout</target>\n      </trans-unit>\n      <trans-unit id="6766a926d80bb7763785621098dae459d6226429" datatype="html">\n        <source>Disable</source>\n        <target>Vypnout</target>\n      </trans-unit>\n      <trans-unit id="340f2f312c2eb353e5cd69aee6bee7f5a73c34ac" datatype="html">\n        <source>This Manager module is always on.</source>\n        <target>Modul Zpráva je vždy zapnutý.</target>\n      </trans-unit>\n      <trans-unit id="6a0b3657745dd7a2f2162f1cc790bf9004d0845d" datatype="html">\n        <source>Reconnecting, please wait ...</source>\n        <target>Opětovné připojování, čekejte…</target>\n      </trans-unit>\n      <trans-unit id="7099a8878af7a0a26fe5663c4f46cfe87142b75d" datatype="html">\n        <source>Public Address</source>\n        <target>Veřejná adresa</target>\n      </trans-unit>\n      <trans-unit id="cbdd1cdc0c7a87f55dd177bc44212f0fc4b80852" datatype="html">\n        <source>Open Sessions</source>\n        <target>Otevřené relace</target>\n      </trans-unit>\n      <trans-unit id="37e58d1cbdf8212b380efa51422e42821d4f08e6" datatype="html">\n        <source>No In</source>\n        <target>Počet do</target>\n      </trans-unit>\n      <trans-unit id="12706eb5af17ff5ad77b3de21af368d24678e00b" datatype="html">\n        <source>OSDs that were previously marked out will not be marked back in when they start</source>\n        <target>OSD které byly dříve odznačeny nebudou označeny nazpět když spustí</target>\n      </trans-unit>\n      <trans-unit id="96114d7624d11dc90ca46cfa96145fe22118df76" datatype="html">\n        <source>No Out</source>\n        <target>Počet ven</target>\n      </trans-unit>\n      <trans-unit id="a2ef636fe1ddd56b63e4aaf3d292f33dbf735ef3" datatype="html">\n        <source>OSDs will not automatically be marked out after the configured interval</source>\n        <target>OSD nebudou automaticky odznačeny po nastaveném intervalu</target>\n      </trans-unit>\n      <trans-unit id="ee50aefa9b8bde1e5429b48709a23abfe08358e0" datatype="html">\n        <source>No Up</source>\n        <target>Počet aktivních</target>\n      </trans-unit>\n      <trans-unit id="608929b939307e397586a98cea52ae38997c7273" datatype="html">\n        <source>OSDs are not allowed to start</source>\n        <target>OSD není dovoleno spuštění</target>\n      </trans-unit>\n      <trans-unit id="1751ab69c1e7f62927afedbf7116e0116316c551" datatype="html">\n        <source>No Down</source>\n        <target>Počet neaktivních</target>\n      </trans-unit>\n      <trans-unit id="41fac86dfb65c1db690f3e87f6497cb73b281084" datatype="html">\n        <source>OSD failure reports are being ignored, such that the monitors will not mark OSDs down</source>\n        <target>Hlášení o selhání OSD jsou ignorovány, jako například že monitory OSD neoznačí jako nedostupné</target>\n      </trans-unit>\n      <trans-unit id="b2838c6165a9672a17db188f4dd9676574353dd8" datatype="html">\n        <source>Pause</source>\n        <target>Pozastavit</target>\n      </trans-unit>\n      <trans-unit id="191d71dadcc8790573d46706a0b48211de4b8334" datatype="html">\n        <source>Pauses reads and writes</source>\n        <target>Pozastavit čtení a zápisy</target>\n      </trans-unit>\n      <trans-unit id="471d5ba75836f38c19992cf83d8822632d99e473" datatype="html">\n        <source>No Scrub</source>\n        <target>Žádná kontrola</target>\n      </trans-unit>\n      <trans-unit id="5b8caa61814121bc36dac0c34a9e9de3cae74990" datatype="html">\n        <source>Scrubbing is disabled</source>\n        <target>Kontrola je vypnutá</target>\n      </trans-unit>\n      <trans-unit id="7f29a0ac1c797bdc0347dd5d0734ba83e96e7ce6" datatype="html">\n        <source>No Deep Scrub</source>\n        <target>Žádná hloubková kontrola</target>\n      </trans-unit>\n      <trans-unit id="01da61ab216541a8d31259cebd16b10c7e5fc124" datatype="html">\n        <source>Deep Scrubbing is disabled</source>\n        <target>Hloubková kontrola je vypnutá</target>\n      </trans-unit>\n      <trans-unit id="0b86c7f18ac725de62c7e192dcfccd02c0dc40ab" datatype="html">\n        <source>No Backfill</source>\n        <target>Žádné zasypávání</target>\n      </trans-unit>\n      <trans-unit id="bd33a2bdc8fbed3b7469f3717c16d9aaa2851fdd" datatype="html">\n        <source>Backfilling of PGs is suspended</source>\n        <target>Zasypávání skupin umístění je pozastaveno</target>\n      </trans-unit>\n      <trans-unit id="7fbbd036394cfa623add40299757bc87df8eaa7e" datatype="html">\n        <source>No Recover</source>\n        <target>Žádné obnovení</target>\n      </trans-unit>\n      <trans-unit id="f3ee9b451a64dca47299c9b4ae1091c2008068ad" datatype="html">\n        <source>Recovery of PGs is suspended</source>\n        <target>Obnovování skupin umístění je pozastaveno</target>\n      </trans-unit>\n      <trans-unit id="de904148fe7e8d812218f50333ffe247900617c5" datatype="html">\n        <source>Bitwise Sort</source>\n        <target>Bitové třídění</target>\n      </trans-unit>\n      <trans-unit id="2613c9fde29785bcd75f0abeccb653d14d7527b3" datatype="html">\n        <source>Use bitwise sort</source>\n        <target>Třídit podle bitů</target>\n      </trans-unit>\n      <trans-unit id="2fe10d84250aeee365db244251d40934c70ff1e9" datatype="html">\n        <source>Purged Snapdirs</source>\n        <target>Vyčištěné složky zachycených stavů</target>\n      </trans-unit>\n      <trans-unit id="6b22a5b780eda3c5d500cdac9c6d4f96978c38f1" datatype="html">\n        <source>OSDs have converted snapsets</source>\n        <target>OSD mají převedené sady zachycených stavů</target>\n      </trans-unit>\n      <trans-unit id="c42f0ba60564dc5b977a8c7f3fdcde9efbb39c60" datatype="html">\n        <source>Recovery Deletes</source>\n        <target>Smazáno při zotavování</target>\n      </trans-unit>\n      <trans-unit id="72fe39979198ea2ed6db6274b5029025cb316d90" datatype="html">\n        <source>Deletes performed during recovery instead of peering</source>\n        <target>Mazání provedená při obnovování namísto peeringu</target>\n      </trans-unit>\n      <trans-unit id="1bb4a1f9127cefe624c173557a716d0ebb6d647c" datatype="html">\n        <source>PG Log Hard Limit</source>\n        <target>Nepřekročitelný limit záznamu událostí PG</target>\n      </trans-unit>\n      <trans-unit id="e03c0321397fdf7a9c22e8d6b5015424943c0a57" datatype="html">\n        <source>Puts a hard limit on pg log length</source>\n        <target>Zapne nepřekročitelný limit na délku záznamu událostí v pg</target>\n      </trans-unit>\n      <trans-unit id="3c384e2e80c6b5eb24861fbf4225b69486cff4a3" datatype="html">\n        <source>Updated OSD Flags</source>\n        <target>Aktualizovány OSD příznaky</target>\n      </trans-unit>\n      <trans-unit id="688578fcc739d6f0c5fb6c366dbb19d21c6d9e36" datatype="html">\n        <source>out</source>\n        <target>ven</target>\n      </trans-unit>\n      <trans-unit id="cb0f69bdd4dea41d7d45c74b6e07f98de8a2ab26" datatype="html">\n        <source>in</source>\n        <target>dovnitř</target>\n      </trans-unit>\n      <trans-unit id="b5fbc7c7f007dd53b2318525bb7ff8b0376c9e37" datatype="html">\n        <source>down</source>\n        <target>nedostupné</target>\n      </trans-unit>\n      <trans-unit id="b58719bcb9184e1a7884d00d22d10899d59bf295" datatype="html">\n        <source>Mark</source>\n        <target>Značka</target>\n      </trans-unit>\n      <trans-unit id="31a1c1aa03f1e5084750bedb4e3fdc04ce2cb6ca" datatype="html">\n        <source>OSD lost</source>\n        <target>OSD ztraceno</target>\n      </trans-unit>\n      <trans-unit id="f3fc4c85c5b8f1dedea0496b72d0af9da7b9e0d9" datatype="html">\n        <source>marked lost</source>\n        <target>označeno jako ztracené</target>\n      </trans-unit>\n      <trans-unit id="40fedc157ad899a18ec40573f770d18b040959d2" datatype="html">\n        <source>Purge</source>\n        <target>Vyčistit</target>\n      </trans-unit>\n      <trans-unit id="c8b1475105463088593de1022ff6dceb523eae0e" datatype="html">\n        <source>OSD</source>\n        <target>OSD</target>\n      </trans-unit>\n      <trans-unit id="4f3cff08c7033b63bbccfe66006b1bcaea48ddd8" datatype="html">\n        <source>purged</source>\n        <target>vyčištěno</target>\n      </trans-unit>\n      <trans-unit id="8e5d1b01eca6dce26a4751f0b19bda7a6ab8db5b" datatype="html">\n        <source>destroy</source>\n        <target>zlikvidovat</target>\n      </trans-unit>\n      <trans-unit id="495a06b78bf165a7b545fa002137f0846b094a3d" datatype="html">\n        <source>destroyed</source>\n        <target>zlikvidováno</target>\n      </trans-unit>\n      <trans-unit id="107614b994f2b01abdc1ca179bf780b0cd933ec4" datatype="html">\n        <source>Recovery Priority</source>\n        <target>Priorita zotavování</target>\n      </trans-unit>\n      <trans-unit id="359dad5a3a912ef9dece3194035020856805aa96" datatype="html">\n        <source>PG scrub</source>\n        <target>PG scrub</target>\n      </trans-unit>\n      <trans-unit id="953144c420c2e5abd02e6a687433eac60fa852bd" datatype="html">\n        <source>PGs</source>\n        <target>skupiny umístění</target>\n      </trans-unit>\n      <trans-unit id="7d3523ea9d35c274cef84043de8a2fdde540a9a1" datatype="html">\n        <source>Read bytes</source>\n        <target>Přečteno bajtů</target>\n      </trans-unit>\n      <trans-unit id="ecbe2fdca919499125bc42c2c67cedae8563db1c" datatype="html">\n        <source>Writes bytes</source>\n        <target>Zapsáno bajtů</target>\n      </trans-unit>\n      <trans-unit id="f3c33322823c846b13f59ba2c8f234405bba99e1" datatype="html">\n        <source>Read ops</source>\n        <target>Operací/s čtení</target>\n      </trans-unit>\n      <trans-unit id="7e0b24a17546cbfab48b03dc874461d1ca68bc9a" datatype="html">\n        <source>Write ops</source>\n        <target>Operací/s zápis</target>\n      </trans-unit>\n      <trans-unit id="d45455406092f58e6b089cb440b5b7934b801a01" datatype="html">\n        <source>Mark OSD \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </source>\n        <target>Označit OSD \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="de0b7806e451b3b3dbd564decba59981fe781c18" datatype="html">\n        <source>Mark \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </source>\n        <target>Označit \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="bba1d3bb4f8a47aa2b3068e242562196eadb1e83" datatype="html">\n        <source>PG scrub options</source>\n        <target>PG scrub options</target>\n      </trans-unit>\n      <trans-unit id="b0b7748ebc9b7a6942a8cac4a89d4b215b365878" datatype="html">\n        <source>Updated PG scrub options</source>\n        <target>Updated PG scrub options</target>\n      </trans-unit>\n      <trans-unit id="4edc2162af0bd6cd941eaf730d20a7e3b5a83ba7" datatype="html">\n        <source>Max Backfills</source>\n        <target>Max Backfills</target>\n      </trans-unit>\n      <trans-unit id="eb5e6c24a48a1dfe23e0a772b762be5e949c0c8a" datatype="html">\n        <source>Recovery Max Active</source>\n        <target>Recovery Max Active</target>\n      </trans-unit>\n      <trans-unit id="4a23c6d3859e03184118620d2baeb736ac765fbf" datatype="html">\n        <source>Recovery Max Single Start</source>\n        <target>Recovery Max Single Start</target>\n      </trans-unit>\n      <trans-unit id="97049169ef5228fd1724de2fcdad1fec2858eaf8" datatype="html">\n        <source>Recovery Sleep</source>\n        <target>Uspání zotavení</target>\n      </trans-unit>\n      <trans-unit id="a5c05002b0ac2040f1aede5e727e0ffd06eda819" datatype="html">\n        <source>Custom</source>\n        <target>Uživatelsky určené</target>\n      </trans-unit>\n      <trans-unit id="89553524f4e7db5c437b07dcfdc7b831d56ded1a" datatype="html">\n        <source>Updated OSD recovery speed priority "\n          <x id="INTERPOLATION" equiv-text="{{value}}"/>"\n        </source>\n        <target>Aktualizována rychlost zotavení OSD „\n          <x id="INTERPOLATION" equiv-text="{{value}}"/>“\n        </target>\n      </trans-unit>\n      <trans-unit id="ccf5f30798c03d2d8efd0e6eb508320c018b722d" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{operation}}"/> was initialized in the following OSD(s): \n          <x id="INTERPOLATION_1" equiv-text="{{id}}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{operation}}"/> was initialized in the following OSD(s): \n          <x id="INTERPOLATION_1" equiv-text="{{id}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="9836e830d0219585b36d53be00a31c3d4798a4aa" datatype="html">\n        <source>Smartctl has received an unknown argument (error code\n          <x id="INTERPOLATION" equiv-text="{{smartData.smartctl_error_code}}"/>). You may be using an\n                incompatible version of smartmontools. Version &gt;= 7.0 of\n                smartmontools is required to succesfully retrieve data.\n        </source>\n        <target>Smartctl obdrželo neznámý argument (kód chyby\n          <x id="INTERPOLATION" equiv-text="{{smartData.smartctl_error_code}}"/>). Možná používáte nekompatibilní\n                verzi smartmontools. Pro úspěšné získání dat je třeba verze\n                smartmontools &amp;gt;= 7.0.\n        </target>\n      </trans-unit>\n      <trans-unit id="d5fd840374ca1a6f394bcd81f390a6dca27f8224" datatype="html">\n        <source>An error with error code \n          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.\n        </source>\n        <target>Vyskytla se chyba s kódem \n          <x id="INTERPOLATION" equiv-text="{{code}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="a0b59d7139692bb8d8ed786b6eb6e9e70ce743f3" datatype="html">\n        <source>Raw</source>\n        <target>Raw</target>\n      </trans-unit>\n      <trans-unit id="2f3beddc8234b30fb26a7f63ba2f1ea74f2ed6f7" datatype="html">\n        <source>Threshold</source>\n        <target>Práh</target>\n      </trans-unit>\n      <trans-unit id="4654b5a68af3c8bad29aa14ca85ccea1f3143c6b" datatype="html">\n        <source>When Failed</source>\n        <target>Když se nezdařilo</target>\n      </trans-unit>\n      <trans-unit id="5b7f56d5be49fb8e8d8f40209d6746f8f72e9177" datatype="html">\n        <source>Worst</source>\n        <target>Nejhorší</target>\n      </trans-unit>\n      <trans-unit id="1edb8e46b0fac57c5feb3d7d3585afc0122d5481" datatype="html">\n        <source>Create silence</source>\n        <target>Vytvořit ticho</target>\n      </trans-unit>\n      <trans-unit id="78917e8031aaf913ac3fa63295325ce8879703ce" datatype="html">\n        <source>Job</source>\n        <target>Úloha</target>\n      </trans-unit>\n      <trans-unit id="94287619205068b591c18493c64781424864c259" datatype="html">\n        <source>Severity</source>\n        <target>Závažnost</target>\n      </trans-unit>\n      <trans-unit id="e6cfbe0c5e0302ba2cec22315f6a28f8ac46b651" datatype="html">\n        <source>Started</source>\n        <target>Zahájeno</target>\n      </trans-unit>\n      <trans-unit id="801b98c6f02fe3b32f6afa3ee854c99ed83474e6" datatype="html">\n        <source>URL</source>\n        <target>URL adresa</target>\n      </trans-unit>\n      <trans-unit id="a5cd682a8a33bdc72e093d059429e3cc3a50ec1d" datatype="html">\n        <source>silence</source>\n        <target>ticho</target>\n      </trans-unit>\n      <trans-unit id="f557e117e059e7036c6eecacd325a6ae35d866e0" datatype="html">\n        <source>Attribute name</source>\n        <target>Název atributu</target>\n      </trans-unit>\n      <trans-unit id="50f7f517ad8158667f7d4e2bd6f3256e05156e75" datatype="html">\n        <source>Regular expression</source>\n        <target>Regulární výraz</target>\n      </trans-unit>\n      <trans-unit id="81b1eab399c47110d50f45e3ccb4c009de7cb581" datatype="html">\n        <source>Please add your Prometheus host to the dashboard configuration and refresh the page</source>\n        <target>Přidejte hostitele s Prometheus do nastavení přehledu a znovu načtete stránku</target>\n      </trans-unit>\n      <trans-unit id="29b4ae3296e239446fa0dea88a5112de15cffa54" datatype="html">\n        <source>Created by</source>\n        <target>Vytvořil(a)</target>\n      </trans-unit>\n      <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc" datatype="html">\n        <source>Updated</source>\n        <target>Aktualizováno</target>\n      </trans-unit>\n      <trans-unit id="8d833cceee0ba4c5161b130365e02bc1e129b57e" datatype="html">\n        <source>Ends</source>\n        <target>Končí</target>\n      </trans-unit>\n      <trans-unit id="46a11ff4289e8c88b1b7a935f8d8ee704055f11a" datatype="html">\n        <source>Silence</source>\n        <target>Ticho</target>\n      </trans-unit>\n      <trans-unit id="f392abfbb997402ce2aebb13e660a8f01dec54db" datatype="html">\n        <source>Service type</source>\n        <target>Typ služby</target>\n      </trans-unit>\n      <trans-unit id="9ffa91b056fb979786627885651e19c8275675cd" datatype="html">\n        <source>Service instance</source>\n        <target>Instance služby</target>\n      </trans-unit>\n      <trans-unit id="b5910192a9ac4816638ff6383b03f986ff965796" datatype="html">\n        <source>Container id</source>\n        <target>Identifikátor kontejneru</target>\n      </trans-unit>\n      <trans-unit id="60ab9cce12a56cdc5ec6a1b699f8c7afecd629d5" datatype="html">\n        <source>Rados config location</source>\n        <target>Umístění nastavení pro rados</target>\n      </trans-unit>\n      <trans-unit id="dfa409f831c9168a377bdee02c5ea6aaf9b2bf61" datatype="html">\n        <source>Service URL</source>\n        <target>URL služby</target>\n      </trans-unit>\n      <trans-unit id="bf2468fd965b8a59c135ad549b3a612aa9873abc" datatype="html">\n        <source>Status Description</source>\n        <target>Popis stavu</target>\n      </trans-unit>\n      <trans-unit id="fb2e1bed329dc5b84197808c778abb9edcbdb335" datatype="html">\n        <source>Used</source>\n        <target>Použito</target>\n      </trans-unit>\n      <trans-unit id="4f1ab04d9100fb0df0e62b921ec46ae052ae29fc" datatype="html">\n        <source>Avail.</source>\n        <target>K dispozici</target>\n      </trans-unit>\n      <trans-unit id="a1c9b3d4fa67450fe9afd1d726f8a1bd91d990ea" datatype="html">\n        <source>Clean</source>\n        <target>Čisté</target>\n      </trans-unit>\n      <trans-unit id="0054f5460090d6dde385e8f099d598df5d28cf54" datatype="html">\n        <source>Working</source>\n        <target>Pracující</target>\n      </trans-unit>\n      <trans-unit id="a8059e31694578c1b0344a76a345357dd60e8f01" datatype="html">\n        <source>Warning</source>\n        <target>Varování</target>\n      </trans-unit>\n      <trans-unit id="e5d8bb389c702588877f039d72178f219453a72d" datatype="html">\n        <source>Unknown</source>\n        <target>Neznámé</target>\n      </trans-unit>\n      <trans-unit id="88155be1b9b9c6140d6e8f93bac4a775cfdc6671" datatype="html">\n        <source>Healthy</source>\n        <target>Zdravé</target>\n      </trans-unit>\n      <trans-unit id="8a3aec4dc1a6e2d4c612ae85e0537acbb20a0f85" datatype="html">\n        <source>Misplaced</source>\n        <target>Chybně umístěno</target>\n      </trans-unit>\n      <trans-unit id="ee81f9bf7ceac69712e0b83e8adc268739f9673e" datatype="html">\n        <source>Degraded</source>\n        <target>Degradováno</target>\n      </trans-unit>\n      <trans-unit id="14625bc4025daef1969777a67a3cca27e0cd9167" datatype="html">\n        <source>Unfound</source>\n        <target>Odnalezeno</target>\n      </trans-unit>\n      <trans-unit id="8f23ea509d081c2f747d083d44608dbf125b2ea2" datatype="html">\n        <source>replicas</source>\n        <target>repliky</target>\n      </trans-unit>\n      <trans-unit id="129a2224e1f9d19eb5e11e2a07fe10a785556484" datatype="html">\n        <source>up</source>\n        <target>aktivní</target>\n      </trans-unit>\n      <trans-unit id="d5f29cf0af691726483262d647eb6622be002512" datatype="html">\n        <source>no filesystems</source>\n        <target>žádné souborové systémy</target>\n      </trans-unit>\n      <trans-unit id="b1c4387ffab06f3fa9fdb4411aea955595538d44" datatype="html">\n        <source>active</source>\n        <target>aktivní</target>\n      </trans-unit>\n      <trans-unit id="1aaf7054d826f2cb05ec3e88a5a4b8116861e1f5" datatype="html">\n        <source>standby</source>\n        <target>v pohotovosti</target>\n      </trans-unit>\n      <trans-unit id="c9a1080024dca344a48acdb77fa2d54e059f7254" datatype="html">\n        <source>n/a</source>\n        <target>neaplikovatelné</target>\n      </trans-unit>\n      <trans-unit id="84a1787b6df375847c70f782861d7e7f8f43bff4" datatype="html">\n        <source>active daemon</source>\n        <target>aktivní proces služby</target>\n      </trans-unit>\n      <trans-unit id="24407dc2ebfafaf6b131ee978683b893c3f1d763" datatype="html">\n        <source>quorum</source>\n        <target>kvórum</target>\n      </trans-unit>\n      <trans-unit id="2fa50bc07995c6ea660412294298ded39fcb08d9" datatype="html">\n        <source>The NFS Ganesha service is not configured.</source>\n        <target>Služba NFS Ganesha není nastavena.</target>\n      </trans-unit>\n      <trans-unit id="af1396bdc49f45ea6c4a1e414769f5e2a382c834" datatype="html">\n        <source>Transport</source>\n        <target>Transport</target>\n      </trans-unit>\n      <trans-unit id="b6a0e176d96c4feed2e975a039c044fcf822e152" datatype="html">\n        <source>CephFS User</source>\n        <target>CephFS uživatel</target>\n      </trans-unit>\n      <trans-unit id="44dc610cf201a163e8c38da810acec9596930bb3" datatype="html">\n        <source>CephFS Filesystem</source>\n        <target>Souborový systém CephFS</target>\n      </trans-unit>\n      <trans-unit id="db6dc7124be83c7055cb0f2719e31f2f9d46fd3d" datatype="html">\n        <source>(inherited from global config)</source>\n        <target>(převzato z globálního nastavení)</target>\n      </trans-unit>\n      <trans-unit id="e1f97bb86f991553ec7b535cb39e7eaa99dfcfe2" datatype="html">\n        <source>inherited from global config</source>\n        <target>převzato z globálního nastavení</target>\n      </trans-unit>\n      <trans-unit id="e751800766277e7c2edd652cec7a7a1a68a37852" datatype="html">\n        <source>-- Select what kind of user id squashing is performed --</source>\n        <target>-- Vyberte jaký druh squashování identifikátor uživatele je prováděn --</target>\n      </trans-unit>\n      <trans-unit id="4b58387f911e8a7b135a0c4d76c70335c65bbb32" datatype="html">\n        <source>There are no daemons available.</source>\n        <target>Nejsou k dispozici žádné procesy služeb.</target>\n      </trans-unit>\n      <trans-unit id="18ae8dc1264f06df7ea251175ada2ac1b8401018" datatype="html">\n        <source>NFS export</source>\n        <target>NFS export</target>\n      </trans-unit>\n      <trans-unit id="ae128527ec18892f812a62a1fd15dc50a38060c0" datatype="html">\n        <source>EC Profile</source>\n        <target>EC profil</target>\n      </trans-unit>\n      <trans-unit id="60fb10c145f9c7ede2b9ddf9b2b0b0f6191d0ebd" datatype="html">\n        <source>Cache Mode</source>\n        <target>Režim mezipaměti</target>\n      </trans-unit>\n      <trans-unit id="fa5bfad31d4139f6871443bb74324ffda5cad3e6" datatype="html">\n        <source>Min Evict Age</source>\n        <target>Min Evict Age</target>\n      </trans-unit>\n      <trans-unit id="fd0eb851666df45c34c76fabcda79b0d77bc910b" datatype="html">\n        <source>Min Flush Age</source>\n        <target>Min Flush Age</target>\n      </trans-unit>\n      <trans-unit id="cb54d2c420a534cee0c308ea5589f8c394ef8d67" datatype="html">\n        <source>Target Max Bytes</source>\n        <target>Nejvýše bajtů cíle</target>\n      </trans-unit>\n      <trans-unit id="07f4ebe6615dca466818ffdae2a69ee217d265fb" datatype="html">\n        <source>Target Max Objects</source>\n        <target>Nejvýše objektů cíle</target>\n      </trans-unit>\n      <trans-unit id="eaa8f4df53cf7fa78d078e20a701d10f3dccd77d" datatype="html">\n        <source>No applications added</source>\n        <target>Nebyla přidána žádná aplikace</target>\n      </trans-unit>\n      <trans-unit id="321c2a7640f11177ea49b0857b94c4b70830c0e6" datatype="html">\n        <source>Applications limit reached</source>\n        <target>Dosažen limit aplikací</target>\n      </trans-unit>\n      <trans-unit id="519d27742b74fadc8336777452f78891e98aa1dc" datatype="html">\n        <source>A pool can only have up to four applications definitions.</source>\n        <target>Fond může mít nejvýše čtyři definice aplikací.</target>\n      </trans-unit>\n      <trans-unit id="b5bec3813f0d45daa7eb9471272969e1bc3e734e" datatype="html">\n        <source>Allowed characters \'_a-zA-Z0-9\'</source>\n        <target>Použitelné znaky „_a-zA-Z0-9“</target>\n      </trans-unit>\n      <trans-unit id="807472d29602a0085bce62e534bd66208982c2e2" datatype="html">\n        <source>Maximum length is 128 characters</source>\n        <target>Nejvyšší délka je 128 znaků</target>\n      </trans-unit>\n      <trans-unit id="37785748b9ac9ad1d3e4b111ac502c3284afe84b" datatype="html">\n        <source>Filter or add applications</source>\n        <target>Filtrovat nebo přidat aplikace</target>\n      </trans-unit>\n      <trans-unit id="38c7b8610ca87835e13eeee6a09ba1c414cd5cb9" datatype="html">\n        <source>Add application</source>\n        <target>Přidat aplikaci</target>\n      </trans-unit>\n      <trans-unit id="db8c42f077700d8a94619fad9f4c94b7361d5f1d" datatype="html">\n        <source>pool</source>\n        <target>fond</target>\n      </trans-unit>\n      <trans-unit id="65bb2be83261bc4798853bbccdedc110c43feea7" datatype="html">\n        <source>erasure code profile</source>\n        <target>profil mazacího kódu</target>\n      </trans-unit>\n      <trans-unit id="112d356ad6846959ca4aa5ec9a1f0d9d473b24ec" datatype="html">\n        <source>Replica Size</source>\n        <target>Velikost repliky</target>\n      </trans-unit>\n      <trans-unit id="ec50492db341fa752b023d8c924601286b6c9c0c" datatype="html">\n        <source>Last Change</source>\n        <target>Nejnovější změna</target>\n      </trans-unit>\n      <trans-unit id="563a8c136a9d423bc7ae1269a404d6da5fd83dad" datatype="html">\n        <source>Erasure Coded Profile</source>\n        <target>Mazáním kódovaný profil</target>\n      </trans-unit>\n      <trans-unit id="0ad7f0662956cff61ac1208f92b1a0305b1b2e58" datatype="html">\n        <source>Crush Ruleset</source>\n        <target>Sada crush pravidel</target>\n      </trans-unit>\n      <trans-unit id="f15bf7f588f09ca79795b17bc244e8d336f28171" datatype="html">\n        <source>Write bytes</source>\n        <target>Zapsáno bajtů</target>\n      </trans-unit>\n      <trans-unit id="bcc365a084b6145b941b371bd4c2b6c3d2c79234" datatype="html">\n        <source>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</source>\n        <target>Smazání fondu je vypnuto nastavením mon_allow_pool_delete configuration.</target>\n      </trans-unit>\n      <trans-unit id="44939fd05cedfd077db886528b755e77d5fa3885" datatype="html">\n        <source>bucket</source>\n        <target>nádoba</target>\n      </trans-unit>\n      <trans-unit id="84fee774286ec4191311f1277075455c3ea5e2e2" datatype="html">\n        <source>Updated Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>".\n        </source>\n        <target>Updated Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="2d7a43674f0bbc131c9e555ec16ac37fa0445d76" datatype="html">\n        <source>Created Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>"\n        </source>\n        <target>Vytvořena nádoba objektové brány „\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>“\n        </target>\n      </trans-unit>\n      <trans-unit id="ec40d74ecfb1d6d60455af6805c9a714a3f5750a" datatype="html">\n        <source>buckets</source>\n        <target>nádoby</target>\n      </trans-unit>\n      <trans-unit id="764585d5595bac113582ee14a6fd07006770ceb1" datatype="html">\n        <source>capability</source>\n        <target>schopnost</target>\n      </trans-unit>\n      <trans-unit id="0914cbe18bae204217e1851be6d2d24d86e74605" datatype="html">\n        <source>user</source>\n        <target>uživatel</target>\n      </trans-unit>\n      <trans-unit id="d8c86dc5e48a63590d9c94e19f90b5f8325cbd49" datatype="html">\n        <source>subuser</source>\n        <target>dílčí uživatel</target>\n      </trans-unit>\n      <trans-unit id="f45a3de8a8b40d161cc36a55d77548a27107ca04" datatype="html">\n        <source>S3 Key</source>\n        <target>S3 klíč</target>\n      </trans-unit>\n      <trans-unit id="854a763265e92f91ba3ccee1a0e8d823be584f7c" datatype="html">\n        <source>Updated Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </source>\n        <target>Aktualizován uživatel objektové brány „\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>“\n        </target>\n      </trans-unit>\n      <trans-unit id="84ab3fd641e65e39cffee0ec722a059ed284229e" datatype="html">\n        <source>Created Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </source>\n        <target>Vytvořen uživatel objektové brány „\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>“\n        </target>\n      </trans-unit>\n      <trans-unit id="7c7f4be7b726e61c577e63842a58d9e435f7c597" datatype="html">\n        <source>users</source>\n        <target>uživatelé</target>\n      </trans-unit>\n      <trans-unit id="9f7760223efd77806f1bbaf963e6993bb4bc6a0a" datatype="html">\n        <source>Swift Key</source>\n        <target>Swift klíč</target>\n      </trans-unit>\n      <trans-unit id="1481b8488e10dbc437accce89d2ae35a0106e8ba" datatype="html">\n        <source>Scope</source>\n        <target>Rozsah</target>\n      </trans-unit>\n      <trans-unit id="9b1d5e95f6bdcfb4b737413f5fa157e0dcb103d5" datatype="html">\n        <source>Read</source>\n        <target>Čtení</target>\n      </trans-unit>\n      <trans-unit id="70a67e04629f6d412db0a12d51820b480788d795" datatype="html">\n        <source>Create</source>\n        <target>Vytvořit</target>\n      </trans-unit>\n      <trans-unit id="dc4fba275819619ee78e8eae14d357ea69ba7477" datatype="html">\n        <source>role</source>\n        <target>role</target>\n      </trans-unit>\n      <trans-unit id="fe6ee93173884201ec62d62ba173c3de85ae177e" datatype="html">\n        <source>Created role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Vytvořena role „\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>“\n        </target>\n      </trans-unit>\n      <trans-unit id="41c032df0732f4318f8213fabd0719ac347d4b6c" datatype="html">\n        <source>Updated role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Aktualizována role „\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>“\n        </target>\n      </trans-unit>\n      <trans-unit id="50e22b5289f79f1417369403345c9fa9911a4557" datatype="html">\n        <source>System Role</source>\n        <target>Systémová role</target>\n      </trans-unit>\n      <trans-unit id="7f132668e2dbfcf616381d2daf59d1a6f2698102" datatype="html">\n        <source>Deleted role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Smazána role „\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>“\n        </target>\n      </trans-unit>\n      <trans-unit id="2e35d60a14ce0b470e8b54602864a867f7fcef40" datatype="html">\n        <source>There are no roles.</source>\n        <target>Nejsou zde žádné role.</target>\n      </trans-unit>\n      <trans-unit id="d2362a49d2434ce137bf19dab004251b7fd9c7b3" datatype="html">\n        <source>Created user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Vytvořen uživatel „\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>“\n        </target>\n      </trans-unit>\n      <trans-unit id="9910122dfedd2eaa544a990f1430e5b82a76d99f" datatype="html">\n        <source>Update user</source>\n        <target>Aktualizovat uživatele</target>\n      </trans-unit>\n      <trans-unit id="ac10a3d9b59575640797c1a8e6aea642cf5d5e77" datatype="html">\n        <source>Continue</source>\n        <target>Pokračovat</target>\n      </trans-unit>\n      <trans-unit id="cf4bcf4ce3d551e6099ccdc3546ae418fe5f8038" datatype="html">\n        <source>You were automatically logged out because your roles have been changed.</source>\n        <target>Byli jste automaticky odhlášeni protože vaše role byly změněny.</target>\n      </trans-unit>\n      <trans-unit id="0f6003fb0c1cc73b89d225801cc1b870945cd259" datatype="html">\n        <source>Updated user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Aktualizován uživatel „\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>“\n        </target>\n      </trans-unit>\n      <trans-unit id="fe516c6d820018fdc971113935e22ec1e852965f" datatype="html">\n        <source>Deleted user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Smazán uživatel „\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>“\n        </target>\n      </trans-unit>\n      <trans-unit id="01a7e11502ff80421ef3615e533ea14ef57e1d5c" datatype="html">\n        <source>Failed to delete user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Nepodařilo se smazat uživatele „\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>“\n        </target>\n      </trans-unit>\n      <trans-unit id="63316a3861dbcb035147efc1b9fb6bc708242e94" datatype="html">\n        <source>You are currently logged in as "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>".\n        </source>\n        <target>Nyní jste přihlášení jako „\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>“.\n        </target>\n      </trans-unit>\n      <trans-unit id="d8b81951d25439864e92f750f7c99d7426d6517c" datatype="html">\n        <source>password</source>\n        <target>heslo</target>\n      </trans-unit>\n      <trans-unit id="d361a9b5e1f7985a12c0433388f31626525a02b8" datatype="html">\n        <source>Updated user password"</source>\n        <target>Aktualizované heslo uživatele"</target>\n      </trans-unit>\n      <trans-unit id="1d7fbcc3d5efc946ffbcf86fed04c4e20dda20fb" datatype="html">\n        <source>Each object is split in data-chunks parts, each stored on a different OSD.</source>\n        <target>Každý objekt je rozdělen v částech shluků dat, každé uložené na jiném OSD.</target>\n      </trans-unit>\n      <trans-unit id="b1f8ed4e216585f1f9134740002ef3c8501debd8" datatype="html">\n        <source>Compute coding chunks for each object and store them on different OSDs.\n      The number of coding chunks is also the number of OSDs that can be down without losing data.</source>\n        <target>Počítat kódovací shluky pro každý objekt a ukládat je na různých OSD.\n      Počet kódovacích shluků je také počet OSD, které mohou vypadnou, aniž dojde ke ztrátě dat.</target>\n      </trans-unit>\n      <trans-unit id="c437ee74a9a8e781e1380153f742a685e3b8cc5e" datatype="html">\n        <source>The jerasure plugin is the most generic and flexible plugin,\n          it is also the default for Ceph erasure coded pools.</source>\n        <target>Zásuvný modul jerasure je nejobecnější a nejpřizpůsobivější,\n je také výchozí pro Ceph fondy kódované mazáním.</target>\n      </trans-unit>\n      <trans-unit id="8c7e19322851402afa67e41f4f1d4e531caf1bf5" datatype="html">\n        <source>The more flexible technique is reed_sol_van : it is enough to set k\n          and m. The cauchy_good technique can be faster but you need to chose the packetsize\n          carefully. All of reed_sol_r6_op, liberation, blaum_roth, liber8tion are RAID6 equivalents\n          in the sense that they can only be configured with m=2.</source>\n        <target>Přizpůsobivější technikou je reed_sol_van: postačí nastvit k\n          a m. Technika cauchy_good technique může být rychlejší, ale je třeba pečlivě nastavit velikost\n          paketu. Všechny z reed_sol_r6_op, liberation, blaum_roth, liber8tion jsou ekvivalenty RAID6\n          v tom smyslu, že je možné je nastavit pouze s m=2.</target>\n      </trans-unit>\n      <trans-unit id="b1b11f49281b4e79219b4eecfbcb033cb15bd880" datatype="html">\n        <source>The encoding will be done on packets of bytes size at a time.\n          Chosing the right packet size is difficult.\n          The jerasure documentation contains extensive information on this topic.</source>\n        <target>The encoding will be done on packets of bytes size at a time.\n          Chosing the right packet size is difficult.\n          The jerasure documentation contains extensive information on this topic.</target>\n      </trans-unit>\n      <trans-unit id="d9cb3bc07a25b26fbea457e0a7b543340bc13c49" datatype="html">\n        <source>With the jerasure plugin, when an erasure coded object is stored on\n          multiple OSDs, recovering from the loss of one OSD requires reading from all the others.\n          For instance if jerasure is configured with k=8 and m=4, losing one OSD requires reading\n          from the eleven others to repair.\n\n          The lrc erasure code plugin creates local parity chunks to be able to recover using\n          less OSDs. For instance if lrc is configured with k=8, m=4 and l=4, it will create\n          an additional parity chunk for every four OSDs. When a single OSD is lost, it can be\n          recovered with only four OSDs instead of eleven.</source>\n        <target>With the jerasure plugin, when an erasure coded object is stored on\n          multiple OSDs, recovering from the loss of one OSD requires reading from all the others.\n          For instance if jerasure is configured with k=8 and m=4, losing one OSD requires reading\n          from the eleven others to repair.\n\n          The lrc erasure code plugin creates local parity chunks to be able to recover using\n          less OSDs. For instance if lrc is configured with k=8, m=4 and l=4, it will create\n          an additional parity chunk for every four OSDs. When a single OSD is lost, it can be\n          recovered with only four OSDs instead of eleven.</target>\n      </trans-unit>\n      <trans-unit id="813959d46e63a29bbd266b3af2ff9414c2ef553c" datatype="html">\n        <source>Group the coding and data chunks into sets of size locality. For instance,\n          for k=4 and m=2, when locality=3 two groups of three are created. Each set can\n          be recovered without reading chunks from another set.</source>\n        <target>Group the coding and data chunks into sets of size locality. For instance,\n          for k=4 and m=2, when locality=3 two groups of three are created. Each set can\n          be recovered without reading chunks from another set.</target>\n      </trans-unit>\n      <trans-unit id="f0ff63d92e0a1b4d4b51e31b9133802d160a5f4c" datatype="html">\n        <source>The type of the crush bucket in which each set of chunks defined\n          by l will be stored. For instance, if it is set to rack, each group of l chunks will be\n          placed in a different rack. It is used to create a CRUSH rule step such as step choose\n          rack. If it is not set, no such grouping is done.</source>\n        <target>The type of the crush bucket in which each set of chunks defined\n          by l will be stored. For instance, if it is set to rack, each group of l chunks will be\n          placed in a different rack. It is used to create a CRUSH rule step such as step choose\n          rack. If it is not set, no such grouping is done.</target>\n      </trans-unit>\n      <trans-unit id="3ece48df9d1e9a98f98bf3c5cc66e8b637020a4d" datatype="html">\n        <source>The isa plugin encapsulates the ISA library. It only runs on Intel processors.</source>\n        <target>Zásuvný modul isa obaluje knihovnu ISA. Funguje pouze na procesorech Intel.</target>\n      </trans-unit>\n      <trans-unit id="4472c9e31bfc7d96a83dc4afce0a6e885c99e839" datatype="html">\n        <source>The ISA plugin comes in two Reed Solomon forms.\n          If reed_sol_van is set, it is Vandermonde, if cauchy is set, it is Cauchy.</source>\n        <target>Zásuvný modul ISA přichází ve dvou Reed Solomon podobách.\n          Pokud je nastaveno reed_sol_van, je to Vandermonde, pokud je nastaveno Cauchy, je Cauchy.</target>\n      </trans-unit>\n      <trans-unit id="fa385f5ecf63083ec848dca8dc5e52bdc72ac6f6" datatype="html">\n        <source>The shec plugin encapsulates the multiple SHEC library.\n          It allows ceph to recover data more efficiently than Reed Solomon codes.</source>\n        <target>The shec plugin encapsulates the multiple SHEC library.\n          It allows ceph to recover data more efficiently than Reed Solomon codes.</target>\n      </trans-unit>\n      <trans-unit id="687b3cd94b3475c24ff4481d64d4739f902a377c" datatype="html">\n        <source>The number of parity chunks each of which includes each data chunk in its\n          calculation range. The number is used as a durability estimator. For instance, if c=2,\n          2 OSDs can be down without losing data.</source>\n        <target>Počet paritních shluků, ze kterých každý obsahuje každý shluk dat ve svém\n          výpočetním rozsahu. Číslo je použito pro odhad odolnosti. Například, pokud c=2,\n          2 OSD mohou vypadnou aniž by byla ztracena data.</target>\n      </trans-unit>\n      <trans-unit id="f3c4af6df91bdaabdb715f8f0b61a24faf73a3bc" datatype="html">\n        <source>The name of the crush bucket used for the first step of the CRUSH rule.\n      For instance step take default.</source>\n        <target>Název crush nádoby sloužící jako první krok CRUSH pravidla.\n Například krok vzít výchozí.</target>\n      </trans-unit>\n      <trans-unit id="e1059955a5ce65cdabf0c0a8207377e1f9bae57e" datatype="html">\n        <source>Ensure that no two chunks are in a bucket with the same failure\n      domain. For instance, if the failure domain is host no two chunks will be stored on the same\n      host. It is used to create a CRUSH rule step such as step chooseleaf host.</source>\n        <target>Zajistit, aby žádné dva shluky nebyly v nádobě nacházejícící se ve stejné\n      doméně selhání. Například, pokud doména selhání je hostitel, žádné dva shluky nebudou uloženy na stejném hostiteli\n      Je použito pro vytvoření kroku CRUSH pravidla jako krok chooseleaf hostitele.</target>\n      </trans-unit>\n      <trans-unit id="ac392ac9c6da5fde6da80fc57b9c09402fb6e73d" datatype="html">\n        <source>Restrict placement to devices of a specific class\n      (e.g., ssd or hdd), using the crush device class names in the CRUSH map.</source>\n        <target>Omezit umístění na zařízení určité třídy\n      (např., ssd nebo hdd), pomocí názvu crush třídy zařízení v  CRUSH mapě.</target>\n      </trans-unit>\n      <trans-unit id="62bcb9ae5583a088649b1adf5787a86ca3334f89" datatype="html">\n        <source>Set the directory name from which the erasure code plugin is loaded.</source>\n        <target>Nastavit složku ze které načítat zásuvný modul mazacího kódu.</target>\n      </trans-unit>\n      <trans-unit id="c8f10184a8433d132ede0a2c0c1aa96f291cacfa" datatype="html">\n        <source>Allows all operations</source>\n        <target>Umožnit všechny operace</target>\n      </trans-unit>\n      <trans-unit id="82077ee97c11ee76efc3adf253b7b26654544317" datatype="html">\n        <source>Allows only operations that do not modify the server</source>\n        <target>Umožnit pouze operace které neupraví server</target>\n      </trans-unit>\n      <trans-unit id="22b5212ec10449dbf0a0af0ad34122eac51b5f2a" datatype="html">\n        <source>Does not allow read or write operations, but allows any other operation</source>\n        <target>Neumožňuje operace čtení či zápisu, ale umožňuje ostatní</target>\n      </trans-unit>\n      <trans-unit id="9799d0f8c4b7727ae239fedfe3c0ce127feb7a50" datatype="html">\n        <source>Does not allow read, write, or any operation that modifies file        attributes or directory content</source>\n        <target>Neumožňuje čtení, zápis nebo jinou operaci která upravuje atributy        souboru nebo obsah složky</target>\n      </trans-unit>\n      <trans-unit id="aeddefe0af87025d8f00699aa94bed8216a99a58" datatype="html">\n        <source>Allows no access at all</source>\n        <target>Neumožnit vůbec žádný přístup</target>\n      </trans-unit>\n      <trans-unit id="a436c6a4025a749198e93cac239de8deede72211" datatype="html">\n        <source>-- Select the priority --</source>\n        <target>-- Vyberte prioritu --</target>\n      </trans-unit>\n      <trans-unit id="9556266f0a2b1762a44b686f2bb21dbfefb01c12" datatype="html">\n        <source>Low</source>\n        <target>Nízká</target>\n      </trans-unit>\n      <trans-unit id="72279141a67cc042d9864102b703216cc8a428a3" datatype="html">\n        <source>High</source>\n        <target>Vysoká</target>\n      </trans-unit>\n      <trans-unit id="6080b77234e92ad41bb52653b239c4c4f851317d" datatype="html">\n        <source>Error</source>\n        <target>Chyba</target>\n      </trans-unit>\n      <trans-unit id="c43dc1967a603fefb886149ac35863a06d5b4ce5" datatype="html">\n        <source>Information</source>\n        <target>Informace</target>\n      </trans-unit>\n      <trans-unit id="1e035e6ccfab771cad4226b2ad230cb0d4a88cba" datatype="html">\n        <source>Success</source>\n        <target>Úspěch</target>\n      </trans-unit>\n      <trans-unit id="e6ca3c0efaf51e6d45a7f92f58bac37140c3fda4" datatype="html">\n        <source>Last 5 minutes</source>\n        <target>Uplynulých 5 minut</target>\n      </trans-unit>\n      <trans-unit id="b0ecb2bbc548cc9bd95050fd8f0c84586d083fe2" datatype="html">\n        <source>Last 15 minutes</source>\n        <target>Uplynulých 15 minut</target>\n      </trans-unit>\n      <trans-unit id="857ae67deb51353120b203b0f2a06b0c48ef49fa" datatype="html">\n        <source>Last 30 minutes</source>\n        <target>Uplynulých 30 minut</target>\n      </trans-unit>\n      <trans-unit id="7b1738fad314e936dc14b94db8f43da736942308" datatype="html">\n        <source>Last 1 hour (Default)</source>\n        <target>Uplynulá 1 hodina (výchozí)</target>\n      </trans-unit>\n      <trans-unit id="a428288224389726cef9d9bd8d1d7808cccd7ffd" datatype="html">\n        <source>Last 3 hours</source>\n        <target>Uplynulé 3 hodiny</target>\n      </trans-unit>\n      <trans-unit id="7cbabecc8d80cf183ac199cfaeb7619d56e5d43f" datatype="html">\n        <source>Last 6 hours</source>\n        <target>Uplynulých 6 hodin</target>\n      </trans-unit>\n      <trans-unit id="1a389cdf64187d34cf99eec30a290e3fa7d4744f" datatype="html">\n        <source>Last 12 hours</source>\n        <target>Uplynulých 12 hodin</target>\n      </trans-unit>\n      <trans-unit id="9e0ba5f591380a94d594a76288f0c41aa97eb9c2" datatype="html">\n        <source>Last 24 hours</source>\n        <target>Uplynulých 24 hodin</target>\n      </trans-unit>\n      <trans-unit id="e430eda9c785cd43465b7cbb400ee914f1057247" datatype="html">\n        <source>Yesterday</source>\n        <target>Včera</target>\n      </trans-unit>\n      <trans-unit id="7fb1099e29660162f9154d5b2feee7743a423df6" datatype="html">\n        <source>Today</source>\n        <target>Dnes</target>\n      </trans-unit>\n      <trans-unit id="33904058a97a64bd189bed84038b1ffe719769c7" datatype="html">\n        <source>Today so far</source>\n        <target>Dnes doposud</target>\n      </trans-unit>\n      <trans-unit id="3b0b849be007510021d3d383df75bec95ef9c97b" datatype="html">\n        <source>Day before yesterday</source>\n        <target>Včerejšek</target>\n      </trans-unit>\n      <trans-unit id="6b430c2c394c4d32ebd7d46c8c46ab60e1b29ccb" datatype="html">\n        <source>Last 2 days</source>\n        <target>Uplynulé 2 dny</target>\n      </trans-unit>\n      <trans-unit id="d5e812a87a5d57a94200a2013027cab76a7c4863" datatype="html">\n        <source>This day last week</source>\n        <target>Tento den minulý týden</target>\n      </trans-unit>\n      <trans-unit id="d00edc936eeab6b5577401f115ca86ca2c87dc9a" datatype="html">\n        <source>Previous week</source>\n        <target>Předchozí týden</target>\n      </trans-unit>\n      <trans-unit id="b036e40577baa6b918b2267d319d4b3aeaa88a5a" datatype="html">\n        <source>This week</source>\n        <target>Tento týden</target>\n      </trans-unit>\n      <trans-unit id="99ad5a6096b3fcb3f021f3779bae710cdfeb8934" datatype="html">\n        <source>This week so far</source>\n        <target>Tento týden doposud</target>\n      </trans-unit>\n      <trans-unit id="02e0243b60007368f87dc01e083f232dd025096d" datatype="html">\n        <source>Last 7 days</source>\n        <target>Uplynulých 7 dnů</target>\n      </trans-unit>\n      <trans-unit id="c3b08b07b5ab98e7cdcf18df39355690ab7d3884" datatype="html">\n        <source>Previous month</source>\n        <target>Předchozí měsíc</target>\n      </trans-unit>\n      <trans-unit id="1b2562c6d5aa90644e7dc91feee82e2005fceb33" datatype="html">\n        <source>This month</source>\n        <target>Tento měsíc</target>\n      </trans-unit>\n      <trans-unit id="26b4b18c5917934abb169ba9aa490e57f7bf10b8" datatype="html">\n        <source>This month so far</source>\n        <target>Tento měsíc doposud</target>\n      </trans-unit>\n      <trans-unit id="7668986b9f753fcd72ad4a00b1a0c4861d1f7fb8" datatype="html">\n        <source>Last 30 days</source>\n        <target>Uplynulých 30 dnů</target>\n      </trans-unit>\n      <trans-unit id="ba1e822408d90c6fbd2989100fa648bfd5e8ee84" datatype="html">\n        <source>Last 90 days</source>\n        <target>Uplynulých 90 dnů</target>\n      </trans-unit>\n      <trans-unit id="c3df03f899a914c4181adcdc8a3f077424f7b6e8" datatype="html">\n        <source>Last 6 months</source>\n        <target>Uplynulých 6 měsíců</target>\n      </trans-unit>\n      <trans-unit id="7f9a92757580c9f31c309c0a3812ea429274eadf" datatype="html">\n        <source>Last 1 year</source>\n        <target>Uplynulý 1 rok</target>\n      </trans-unit>\n      <trans-unit id="5a9fede30ff65cb4b4426f6b1ed31afb67ecd7b0" datatype="html">\n        <source>Previous year</source>\n        <target>Předchozí rok</target>\n      </trans-unit>\n      <trans-unit id="65cefcc53d1f6445df7568e8a40c49165f1090ee" datatype="html">\n        <source>This year</source>\n        <target>Tento rok</target>\n      </trans-unit>\n      <trans-unit id="1f68b766944dc3865bddab765fe952b0c1c43f92" datatype="html">\n        <source>This year so far</source>\n        <target>Tento rok doposud</target>\n      </trans-unit>\n      <trans-unit id="4d4b77e614f8043fdadef5d6d235655bb48eb311" datatype="html">\n        <source>Last 2 years</source>\n        <target>Uplynulé 2 roky</target>\n      </trans-unit>\n      <trans-unit id="138afa339ea6e75d25a474affe1edbcb90e00ec0" datatype="html">\n        <source>Last 5 years</source>\n        <target>Uplynulých 5 let</target>\n      </trans-unit>\n      <trans-unit id="37391297bb077a6f84484930261b01a3ce38327b" datatype="html">\n        <source>No items selected.</source>\n        <target>Nevybrány žádné položky.</target>\n      </trans-unit>\n      <trans-unit id="2c1e52ee832661b4a0f570877d24661736b16af1" datatype="html">\n        <source>Deselect item to select again</source>\n        <target>Aby položku bylo možné znovu vybrat, je třeba nejprve zrušit její výběr</target>\n      </trans-unit>\n      <trans-unit id="c8c9c6e5918659336824bbdda3501c66eaa79a4c" datatype="html">\n        <source>Selection limit reached</source>\n        <target>Dosažen limit výběru</target>\n      </trans-unit>\n      <trans-unit id="02d184c288f567825a1fcbf83bcd3099a10853d5" datatype="html">\n        <source>Filter tags</source>\n        <target>Filtrovat štítky</target>\n      </trans-unit>\n      <trans-unit id="aa00748e49c269956837d6f3acdd8d218796a8d8" datatype="html">\n        <source>Add badge</source>\n        <target>Přidat odznak</target>\n      </trans-unit>\n      <trans-unit id="4078a92d8121abdce7d8f346a88914923ec835fc" datatype="html">\n        <source>There are no items available.</source>\n        <target>Nejsou k dispozici žádné položky.</target>\n      </trans-unit>\n      <trans-unit id="f6755cff4957d5c3c89bafce5651f1b6fa2b1fd9" datatype="html">\n        <source>Add</source>\n        <target>Přidat</target>\n      </trans-unit>\n      <trans-unit id="019d4bd6a5690f0cfa0ecf346a4e6bf7f0d8debb" datatype="html">\n        <source>Remove</source>\n        <target>Odebrat</target>\n      </trans-unit>\n      <trans-unit id="54a4a3132b693575728a45a5f3154ad4c9af404b" datatype="html">\n        <source>Clone</source>\n        <target>Klonovat</target>\n      </trans-unit>\n      <trans-unit id="1979da7460819153e11d2078244645d94291b69c" datatype="html">\n        <source>Copy</source>\n        <target>Kopírovat</target>\n      </trans-unit>\n      <trans-unit id="2e5e77dbaadd6588d8bbf737139fd9806294ae28" datatype="html">\n        <source>Deep Scrub</source>\n        <target>Hloubková kontrola</target>\n      </trans-unit>\n      <trans-unit id="bf463b189696c19769ea263227e6c22aefafb918" datatype="html">\n        <source>Destroy</source>\n        <target>Zlikvidovat</target>\n      </trans-unit>\n      <trans-unit id="b4e94d529ff10db4d86f3f48900fa67ede3411fd" datatype="html">\n        <source>Evict</source>\n        <target>Evict</target>\n      </trans-unit>\n      <trans-unit id="3747fff7faf52b436ecff5fb8555091736d92c70" datatype="html">\n        <source>Flatten</source>\n        <target>Zploštit</target>\n      </trans-unit>\n      <trans-unit id="66fdbf32e5449cc54a3d1e19c7b8f4ea238facfb" datatype="html">\n        <source>Mark Down</source>\n        <target>Označit</target>\n      </trans-unit>\n      <trans-unit id="0cda3e824fb2f9c731e5a60b859dedc1fe03127e" datatype="html">\n        <source>Mark In</source>\n        <target>Označit</target>\n      </trans-unit>\n      <trans-unit id="f833354f43cb38c5716faa8759a9bbdd1ab8f199" datatype="html">\n        <source>Mark Lost</source>\n        <target>Označit ztracené</target>\n      </trans-unit>\n      <trans-unit id="75fb9f970ba365398c45e57bbb1019c009f6b832" datatype="html">\n        <source>Mark Out</source>\n        <target>Odznačit</target>\n      </trans-unit>\n      <trans-unit id="45480c03b0a3a37ff8f6a5600a6a034b40fbaea4" datatype="html">\n        <source>Protect</source>\n        <target>Ochránit</target>\n      </trans-unit>\n      <trans-unit id="e26f9cf3666aace4e524b1505c9795d76d87738d" datatype="html">\n        <source>Rename</source>\n        <target>Přejmenovat</target>\n      </trans-unit>\n      <trans-unit id="d5cec7468241d72cafd86ad1af6d55b09a6e3ae5" datatype="html">\n        <source>Restore</source>\n        <target>Obnovit</target>\n      </trans-unit>\n      <trans-unit id="ba073985cfd2528c77a746ed596b2f2052b973c5" datatype="html">\n        <source>Move to Trash</source>\n        <target>Přesunout do koše</target>\n      </trans-unit>\n      <trans-unit id="3ea9b96a21a499d296a7f25407da0f3df6c2d5ed" datatype="html">\n        <source>Unprotect</source>\n        <target>Zrušit ochranu</target>\n      </trans-unit>\n      <trans-unit id="024cdb2814b0cb3f4ced148f1a0b9854447cb214" datatype="html">\n        <source>Change</source>\n        <target>Změnit</target>\n      </trans-unit>\n      <trans-unit id="011f3e2bfc1fd8407eb5f599352665bfeb145664" datatype="html">\n        <source>Recreate</source>\n        <target>Znovuvytvořit</target>\n      </trans-unit>\n      <trans-unit id="6df2dfa48bef5510c82fb43f4e71a7f9557f3d71" datatype="html">\n        <source>Expire</source>\n        <target>Expire</target>\n      </trans-unit>\n      <trans-unit id="28df1b02fd88d2deb0212bc5d7ff34cf9492fa54" datatype="html">\n        <source>Deleted</source>\n        <target>Smazáno</target>\n      </trans-unit>\n      <trans-unit id="80e3b490720757978c99a7b5af3885faf202b955" datatype="html">\n        <source>Added</source>\n        <target>Přidáno</target>\n      </trans-unit>\n      <trans-unit id="1aa4883bc4f1352f7a0bdd94810a9bf6dc22bd02" datatype="html">\n        <source>Removed</source>\n        <target>Odebráno</target>\n      </trans-unit>\n      <trans-unit id="402f3ee47f98fbbc68530239b1ddcbb9e96a460c" datatype="html">\n        <source>Edited</source>\n        <target>Upraveno</target>\n      </trans-unit>\n      <trans-unit id="96d56ec71c6e78cb4d6204c4a9359a3d38fcdb59" datatype="html">\n        <source>Canceled</source>\n        <target>Zrušeno</target>\n      </trans-unit>\n      <trans-unit id="a3318a2ee2bd0064b6b9ff72a4018b679ec63125" datatype="html">\n        <source>Cloned</source>\n        <target>Naklonováno</target>\n      </trans-unit>\n      <trans-unit id="ef90545bc832876c0d7f9a10363c75137472bbb5" datatype="html">\n        <source>Copied</source>\n        <target>Zkopírováno</target>\n      </trans-unit>\n      <trans-unit id="5a13d3834133e09544ec93885662f181372dcf46" datatype="html">\n        <source>Deep Scrubbed</source>\n        <target>Deep Scrubbed</target>\n      </trans-unit>\n      <trans-unit id="7c9efb91434a5c15e9579c0b31c8e184b8c8240d" datatype="html">\n        <source>Destroyed</source>\n        <target>Zlikvidováno</target>\n      </trans-unit>\n      <trans-unit id="647059bf3ea098fffedf92ddfad792bb3daa3c95" datatype="html">\n        <source>Flattened</source>\n        <target>Zploštěno</target>\n      </trans-unit>\n      <trans-unit id="8df71e952319eafa71c8e6ef6144b780af8813ff" datatype="html">\n        <source>Marked Down</source>\n        <target>Marked Down</target>\n      </trans-unit>\n      <trans-unit id="25658f5a080a1cab3b91e17b756b1d1dc46bb9b3" datatype="html">\n        <source>Marked In</source>\n        <target>Marked In</target>\n      </trans-unit>\n      <trans-unit id="ebcf306036a6c5579df9448f77eca98d491db245" datatype="html">\n        <source>Marked Lost</source>\n        <target>Označeno jako ztracené</target>\n      </trans-unit>\n      <trans-unit id="3a8803369ac18be3ad762384b9fda095fe2a6dcc" datatype="html">\n        <source>Marked Out</source>\n        <target>Marked Out</target>\n      </trans-unit>\n      <trans-unit id="0fe2a62ea7c609fa8326ee6d38060bc5ba8bf34f" datatype="html">\n        <source>Protected</source>\n        <target>Chráněno</target>\n      </trans-unit>\n      <trans-unit id="69b0446c6c2411c4fe01e411b8ceec72d4044fb4" datatype="html">\n        <source>Purged</source>\n        <target>Vyčištěno</target>\n      </trans-unit>\n      <trans-unit id="d53de1a61bd51c815dc374c7f97e4ee69230e412" datatype="html">\n        <source>Renamed</source>\n        <target>Přejmenováno</target>\n      </trans-unit>\n      <trans-unit id="86fc6cae82c095f14105eb8a61d7b3fa948304b7" datatype="html">\n        <source>Restored</source>\n        <target>Obnoveno</target>\n      </trans-unit>\n      <trans-unit id="e87dd0fd35460cb743046db918dfce2137b5977a" datatype="html">\n        <source>Reweighted</source>\n        <target>Reweighted</target>\n      </trans-unit>\n      <trans-unit id="dc21fd6547f2325c67f6deff925f29eb07a2db3e" datatype="html">\n        <source>Rolled back</source>\n        <target>Vzato zpět</target>\n      </trans-unit>\n      <trans-unit id="15dec4c2d73a516c10aef90aeeea3364fa794615" datatype="html">\n        <source>Scrubbed</source>\n        <target>Scrubbed</target>\n      </trans-unit>\n      <trans-unit id="8dc560ded67482f109a98e0638851ad1d37188b3" datatype="html">\n        <source>Showed</source>\n        <target>Zobrazeno</target>\n      </trans-unit>\n      <trans-unit id="197259b7ea76f15c6d0a64b075a673fd4112ada7" datatype="html">\n        <source>Moved to Trash</source>\n        <target>Přesunout do koše</target>\n      </trans-unit>\n      <trans-unit id="8fb15cb102cd75b562680290b7e04c44d80018f2" datatype="html">\n        <source>Unprotected</source>\n        <target>Ochrana zrušena</target>\n      </trans-unit>\n      <trans-unit id="8588eafa498262a1cbb5043ad68cf0ff669c4f10" datatype="html">\n        <source>Recreated</source>\n        <target>Znovu vytvořeno</target>\n      </trans-unit>\n      <trans-unit id="ffde7468d7b5cad6990095ed68ddee3d67cd02f8" datatype="html">\n        <source>Expired</source>\n        <target>Platnost skončila</target>\n      </trans-unit>\n      <trans-unit id="4f20f2d5a6882190892e58b85f6ccbedfa737952" datatype="html">\n        <source>Yes</source>\n        <target>Ano</target>\n      </trans-unit>\n      <trans-unit id="3d3ae7deebc5949b0c1c78b9847886a94321d9fd" datatype="html">\n        <source>No</source>\n        <target>Ne</target>\n      </trans-unit>\n      <trans-unit id="99fa0b67376d40142bd4d3ace3344abf4f98b6a5" datatype="html">\n        <source>Your matcher seems to match no currently defined rule or active alert.</source>\n        <target>Your matcher seems to match no currently defined rule or active alert.</target>\n      </trans-unit>\n      <trans-unit id="7e284852732c303eb1f47de9aca2569e41aeffed" datatype="html">\n        <source>no active alerts</source>\n        <target>žádné aktivní výstrahy</target>\n      </trans-unit>\n      <trans-unit id="b8042829e4fbe7b09fd9bac9fa0ecf5cc1802fee" datatype="html">\n        <source>1 active alert</source>\n        <target>Jedna aktivní výstraha</target>\n      </trans-unit>\n      <trans-unit id="e24adce97669cb0fc74cc13fdc14179b6f78ea5e" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{n}}"/> active alerts\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{n}}"/> aktivních výstrah\n        </target>\n      </trans-unit>\n      <trans-unit id="d8fb058ff5883731d38a132da4ca45cfe8d719a3" datatype="html">\n        <source>Matches 1 rule</source>\n        <target>Odpovídá jednomu pravidlu</target>\n      </trans-unit>\n      <trans-unit id="90aaef24d192e67c3fbc2ec6f8bfaff211cea128" datatype="html">\n        <source>Matches \n          <x id="INTERPOLATION" equiv-text="{{n}}"/> rules\n        </source>\n        <target>Odpovídá \n          <x id="INTERPOLATION" equiv-text="{{n}}"/> pravidlům\n        </target>\n      </trans-unit>\n      <trans-unit id="f4685dc581e18244cd410f1057a8c56a9dbfe8df" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rules}}"/> with \n          <x id="INTERPOLATION_1" equiv-text="{{alerts}}"/>.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rules}}"/> s \n          <x id="INTERPOLATION_1" equiv-text="{{alerts}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8fd98fb2a0f24ba72cde0787dd3f02cfc17de469" datatype="html">\n        <source>Quality of Service</source>\n        <target>Kvalita služby</target>\n      </trans-unit>\n      <trans-unit id="2c53f3ce2c6fff9025a7b41cc334521725da6e7b" datatype="html">\n        <source>BPS Limit</source>\n        <target>Limit BPS</target>\n      </trans-unit>\n      <trans-unit id="e897624a392419386b035bcd8529337e262fc41d" datatype="html">\n        <source>The desired limit of IO bytes per second.</source>\n        <target>Požadovaný limit vst./výstup. bajtů za sekundu.</target>\n      </trans-unit>\n      <trans-unit id="dc56f77e4507da7e86a3accd0a2a7099a838d539" datatype="html">\n        <source>IOPS Limit</source>\n        <target>Limit vst/výstup. operací / s</target>\n      </trans-unit>\n      <trans-unit id="141c3f6eadbb35b0e17b2f847e4cac23240a6ea9" datatype="html">\n        <source>The desired limit of IO operations per second.</source>\n        <target>Požadovaný limit vst./výstup. operací za sekundu.</target>\n      </trans-unit>\n      <trans-unit id="3b3b101f16c38806e984b157e0cf22cd21451122" datatype="html">\n        <source>Read BPS Limit</source>\n        <target>Limit BPS čtení</target>\n      </trans-unit>\n      <trans-unit id="87835fabb6a645873f3829a450ca1d58f97754f2" datatype="html">\n        <source>The desired limit of read bytes per second.</source>\n        <target>Požadovaný limit čtení bajtů za sekundu.</target>\n      </trans-unit>\n      <trans-unit id="28b485e700df46d70b96666099f714e3ae9e5c2e" datatype="html">\n        <source>Read IOPS Limit</source>\n        <target>Limit IOPS čtení</target>\n      </trans-unit>\n      <trans-unit id="5907bd1a5cf3e20e740bca676cb1538372e1f9ff" datatype="html">\n        <source>The desired limit of read operations per second.</source>\n        <target>Požadovaný limit operací čtení za sekundu.</target>\n      </trans-unit>\n      <trans-unit id="07317121f0b194987d4dee8b322f521ac17bf124" datatype="html">\n        <source>Write BPS Limit</source>\n        <target>Limit BPS zápisu</target>\n      </trans-unit>\n      <trans-unit id="4022c78bd9132ca2ec67927f8484c437d1d9b6fd" datatype="html">\n        <source>The desired limit of write bytes per second.</source>\n        <target>Požadovaný limit zápisu bajtů za sekundu.</target>\n      </trans-unit>\n      <trans-unit id="52c22c19f98ff3a09bd811292954a889b93d28b7" datatype="html">\n        <source>Write IOPS Limit</source>\n        <target>Limit IOPS zápisu</target>\n      </trans-unit>\n      <trans-unit id="0ed62e3fd8654b3191fc7fa959ad3f10f1ea773a" datatype="html">\n        <source>The desired limit of write operations per second.</source>\n        <target>Požadovaný limit operací čtení za sekundu.</target>\n      </trans-unit>\n      <trans-unit id="d90c99d77864f21f932ee1369019f400c4ad0e2d" datatype="html">\n        <source>BPS Burst</source>\n        <target>BPS dávka</target>\n      </trans-unit>\n      <trans-unit id="29c32192f4d185139aaaf6d3a766a3411dfeabbe" datatype="html">\n        <source>The desired burst limit of IO bytes.</source>\n        <target>Požadovaný limit dávky bajtů vstup/výstupu.</target>\n      </trans-unit>\n      <trans-unit id="b988b90489e899941e196c3dd0ecc22e37540224" datatype="html">\n        <source>IOPS Burst</source>\n        <target>IOPS dávka</target>\n      </trans-unit>\n      <trans-unit id="02c5de8ff11870f1b3896f2b45637ce0dba1ed4b" datatype="html">\n        <source>The desired burst limit of IO operations.</source>\n        <target>Požadovaný limit dávky vst./výstup. operací.</target>\n      </trans-unit>\n      <trans-unit id="7a160538129b37cf595f1651f28b5fac62fbc0f8" datatype="html">\n        <source>Read BPS Burst</source>\n        <target>Dávka BPS čtení</target>\n      </trans-unit>\n      <trans-unit id="b573a5df16a53b9947288461bc24e6a0eb4341d6" datatype="html">\n        <source>The desired burst limit of read bytes.</source>\n        <target>Požadovaný limit dávky bajtů čtení.</target>\n      </trans-unit>\n      <trans-unit id="1d5b8c2a0c653651cc4ca4b8fed9456f449220d1" datatype="html">\n        <source>Read IOPS Burst</source>\n        <target>Dávka IOPS čtení</target>\n      </trans-unit>\n      <trans-unit id="20b199f9d4a8d08ffefec66040e27639ec221512" datatype="html">\n        <source>The desired burst limit of read operations.</source>\n        <target>Požadovaný limit dávky čtení bajtů.</target>\n      </trans-unit>\n      <trans-unit id="824525ae57992aee629ddffcd500a8b77087ddec" datatype="html">\n        <source>Write BPS Burst</source>\n        <target>Dávka BPS zápisu</target>\n      </trans-unit>\n      <trans-unit id="a90aac4050a5d79765da5e1186909f6d4d7f981d" datatype="html">\n        <source>The desired burst limit of write bytes.</source>\n        <target>Požadovaný limit bajtů dávky zápisu.</target>\n      </trans-unit>\n      <trans-unit id="35a8c6e6c249c7d16e26aa7c4ef97c06db405070" datatype="html">\n        <source>Write IOPS Burst</source>\n        <target>Dávka IOPS zápisu</target>\n      </trans-unit>\n      <trans-unit id="b356abd41d7e9eea4d20c03d2e6892b6d435ecbd" datatype="html">\n        <source>The desired burst limit of write operations.</source>\n        <target>Požadovaný limit dávky operace zápisu.</target>\n      </trans-unit>\n      <trans-unit id="24c4d50fe8567de381a20a1745f1b6d37eacaa90" datatype="html">\n        <source>Failed to \n          <x id="INTERPOLATION" equiv-text="{{failure}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{metadata}}"/>\n        </source>\n        <target>Nepodařilo se \n          <x id="INTERPOLATION" equiv-text="{{failure}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{metadata}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="f54b6f09b390d5ade0e354f6c7d4743c10a315cc" datatype="html">\n        <source>Executing</source>\n        <target>Vykonává se</target>\n      </trans-unit>\n      <trans-unit id="5cdfe3e3330ea42bfd29c540dbd268bee97d364d" datatype="html">\n        <source>execute</source>\n        <target>vykonat</target>\n      </trans-unit>\n      <trans-unit id="6e98e243518daa88be30330fcdbd2d10f8eae4d7" datatype="html">\n        <source>Executed</source>\n        <target>Vykonáno</target>\n      </trans-unit>\n      <trans-unit id="24b09aa5bd909273a023d2d788a2673325c77e31" datatype="html">\n        <source>unknown task</source>\n        <target>neznámý úkol</target>\n      </trans-unit>\n      <trans-unit id="114b5f92b9192b229ffc9a450319a97ccca2aa5c" datatype="html">\n        <source>Creating</source>\n        <target>Vytváří se</target>\n      </trans-unit>\n      <trans-unit id="56695b69d27437ada580a187958407e7c856d46e" datatype="html">\n        <source>create</source>\n        <target>vytvořit</target>\n      </trans-unit>\n      <trans-unit id="9db60170ef3b3b41a863e7d5ee7cec10919b9141" datatype="html">\n        <source>Updating</source>\n        <target>Aktualizuje se</target>\n      </trans-unit>\n      <trans-unit id="64412640835b7d25247cb254d4f911366c0e6862" datatype="html">\n        <source>update</source>\n        <target>aktualizovat</target>\n      </trans-unit>\n      <trans-unit id="416193bb373d59477458b00e5922d755e2e2cacd" datatype="html">\n        <source>Deleting</source>\n        <target>Maže se</target>\n      </trans-unit>\n      <trans-unit id="70ef158c584bafe788e319a0bffa11b02ee9abf1" datatype="html">\n        <source>delete</source>\n        <target>smazat</target>\n      </trans-unit>\n      <trans-unit id="d07a282afc7fbdb39cea6e1c9b544882a7260a86" datatype="html">\n        <source>Adding</source>\n        <target>Přidávání</target>\n      </trans-unit>\n      <trans-unit id="a11ec4e640f241329943237d2a3cceaa4823658e" datatype="html">\n        <source>add</source>\n        <target>přidat</target>\n      </trans-unit>\n      <trans-unit id="ea1c70b874904216cc5af24bd7cb3dab2d074d42" datatype="html">\n        <source>Removing</source>\n        <target>Odebírání</target>\n      </trans-unit>\n      <trans-unit id="4da487aec5a29ce4372e7b512227cd665b01fe6f" datatype="html">\n        <source>remove</source>\n        <target>odebrat</target>\n      </trans-unit>\n      <trans-unit id="3f757cfc3749ebb5d4462017cb60138ca082f15f" datatype="html">\n        <source>RBD \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>RBD „\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>“\n        </target>\n      </trans-unit>\n      <trans-unit id="a6c681e6130fe440ae40de99a405fcf5c7eefee1" datatype="html">\n        <source>RBD snapshot \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>RBD zachycený stav „\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>“\n        </target>\n      </trans-unit>\n      <trans-unit id="4fb54a0291f49583c317d4a3690239141b5a8f68" datatype="html">\n        <source>mirror mode for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>režim zrcadlení pro fond „\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>“\n        </target>\n      </trans-unit>\n      <trans-unit id="6621ab6e122a149326a1e48e9051a41e7f203cf6" datatype="html">\n        <source>mirror peer for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>protějšek zrcadlení pro fond „\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>“\n        </target>\n      </trans-unit>\n      <trans-unit id="db15adc778317d551232fe712eb03a2c1eac4a43" datatype="html">\n        <source>all dashboards</source>\n        <target>všechny přehledy</target>\n      </trans-unit>\n      <trans-unit id="1b559dbd9cc9664fd788c2da9a10d3abafe066cb" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.\n        </source>\n        <target>Název už je používán \n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8fc28e1103d9f2ef47b9fff9a4f74e8365c7cf19" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>.\n        </source>\n        <target>Název už je používán \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="1cdc7ea44fcb85d0cfcf6e7379d625d8674a8fbe" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.\n        </source>\n        <target>Název už je používán \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="1ff7676ad1e991102224540a32dd44ad1ab88aa8" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> obsahuje zachycené stavy.\n        </target>\n      </trans-unit>\n      <trans-unit id="c3a1dcca2b2ba20fbe39e2441e7bb1cf9c20cdf3" datatype="html">\n        <source>Cloning</source>\n        <target>Klonuje se</target>\n      </trans-unit>\n      <trans-unit id="b5fa4e0a3a279dee5b6bf7b823e54387f7c79994" datatype="html">\n        <source>clone</source>\n        <target>klonovat</target>\n      </trans-unit>\n      <trans-unit id="29b7452e8367af9aa8fa828f16ff94c3530e7a1a" datatype="html">\n        <source>Snapshot of \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> must be protected.\n        </source>\n        <target>Je třeba, aby zachycený stav \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> byl chráněný.\n        </target>\n      </trans-unit>\n      <trans-unit id="369f93b9a07a9465f7a261e9f0021b6cfa7180c5" datatype="html">\n        <source>Copying</source>\n        <target>Kopíruje se</target>\n      </trans-unit>\n      <trans-unit id="37584f889855d153a106f5dffe23d21f9453c8ff" datatype="html">\n        <source>copy</source>\n        <target>zkopírovat</target>\n      </trans-unit>\n      <trans-unit id="6ea9e313a04ef59222feaadfe84e97b4c69d7e9e" datatype="html">\n        <source>Flattening</source>\n        <target>Zploštění</target>\n      </trans-unit>\n      <trans-unit id="1f57593581b64d2d4c70eab1736bd9bccc66a7dc" datatype="html">\n        <source>flatten</source>\n        <target>zploštit</target>\n      </trans-unit>\n      <trans-unit id="d990ef9680cd23bbe652c37eb46bf038cfee80ad" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/>.\n        </source>\n        <target>Název už je používán pro \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="a101745d080ef65c09bd5fafc796f94ddb9f9d60" datatype="html">\n        <source>Cannot unprotect \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it contains child images.\n        </source>\n        <target>Není možné zrušit ochranu \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/>, protože obsahuje podřízené obrazy.\n        </target>\n      </trans-unit>\n      <trans-unit id="647968f4cde7786cd53ec8e6aa9802ac6824a262" datatype="html">\n        <source>Cannot delete \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it\'s protected.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> není možné smazat, protože je chráněné.\n        </target>\n      </trans-unit>\n      <trans-unit id="57ddd3e15cf0ce974356b757451f50116a27272b" datatype="html">\n        <source>Rolling back</source>\n        <target>Bere se zpět</target>\n      </trans-unit>\n      <trans-unit id="a8913a3a5ee61f2598b5f0432cb9b20cdd60548e" datatype="html">\n        <source>rollback</source>\n        <target>vzít zpět</target>\n      </trans-unit>\n      <trans-unit id="de8676f0017c9db6c49388cd7d63cd0a83a0c1dc" datatype="html">\n        <source>Moving</source>\n        <target>Přesouvá se</target>\n      </trans-unit>\n      <trans-unit id="2d810712308ae63cb795d809687a3254ef7a2f05" datatype="html">\n        <source>move</source>\n        <target>přesunout</target>\n      </trans-unit>\n      <trans-unit id="f3ba995236e5c1cc77686108980c099a90aec754" datatype="html">\n        <source>Moved</source>\n        <target>Přesunuto</target>\n      </trans-unit>\n      <trans-unit id="d0422169252d132624a20f267b5c29f28cb53ebe" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' to trash\n        </source>\n        <target>obraz „\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>“ do koše\n        </target>\n      </trans-unit>\n      <trans-unit id="b603e2dfed9808222fbcb5a7c5f4da2cc6ae2aae" datatype="html">\n        <source>Could not find image.</source>\n        <target>Obraz se nedaří najít.</target>\n      </trans-unit>\n      <trans-unit id="398debe73006b1fe5177ed81d2e7b0cc852f61ec" datatype="html">\n        <source>Restoring</source>\n        <target>Obnovuje se</target>\n      </trans-unit>\n      <trans-unit id="c252806fb400e79bac194696632c9362742b1538" datatype="html">\n        <source>restore</source>\n        <target>obnovit</target>\n      </trans-unit>\n      <trans-unit id="30b8bcf69b3f1754b7abba173fd806cfcea4cb04" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' into \'\n          <x id="INTERPOLATION_1" equiv-text="{{new_id}}"/>\'\n        </source>\n        <target>obraz „\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>“ do „\n          <x id="INTERPOLATION_1" equiv-text="{{new_id}}"/>“\n        </target>\n      </trans-unit>\n      <trans-unit id="13b7b241cef989fe0932ddd180e757658e1817e7" datatype="html">\n        <source>Image name \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' is already in use.\n        </source>\n        <target>Název „\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>“ už je používán pro jiný obraz.\n        </target>\n      </trans-unit>\n      <trans-unit id="cc1cee12c833e8fbbef28a2a7c449dc530da912d" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>obraz „\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>“\n        </target>\n      </trans-unit>\n      <trans-unit id="38e5f47f8bef505652f3e87f46efb00ead1350a3" datatype="html">\n        <source>Purging</source>\n        <target>Čistí se</target>\n      </trans-unit>\n      <trans-unit id="e4e57747f123f0fe6fe3a0ecf608f8bc287dec0c" datatype="html">\n        <source>purge</source>\n        <target>vyčistit</target>\n      </trans-unit>\n      <trans-unit id="1560d58fdf39663929653250d45f5b1dfe078fea" datatype="html">\n        <source>all pools</source>\n        <target>všechny fondy</target>\n      </trans-unit>\n      <trans-unit id="1ac3dc50c2c3d86e98bc0967ee1e696810a2d3aa" datatype="html">\n        <source>images from \n          <x id="INTERPOLATION" equiv-text="{{message}}"/>\n        </source>\n        <target>obrazy z \n          <x id="INTERPOLATION" equiv-text="{{message}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="02278abbb044ece04ab6bd80bd2060198d31d83b" datatype="html">\n        <source>Cannot disable mirroring because it contains a peer.</source>\n        <target>Zrcadlení nelze vypnout protože obsahuje protějšek.</target>\n      </trans-unit>\n      <trans-unit id="f123ae1fc3b000e5d08e766dd78bff162afe709d" datatype="html">\n        <source>host \'\n          <x id="INTERPOLATION" equiv-text="{{hostname}}"/>\'\n        </source>\n        <target>stroj „\n          <x id="INTERPOLATION" equiv-text="{{hostname}}"/>“\n        </target>\n      </trans-unit>\n      <trans-unit id="dfe70001dc590a9e12512cbb206aa29fb36fd00b" datatype="html">\n        <source>pool \'\n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>\'\n        </source>\n        <target>fond „\n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>“\n        </target>\n      </trans-unit>\n      <trans-unit id="59630daf2f4786690fae0cdad55da8887236eabe" datatype="html">\n        <source>erasure code profile \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </source>\n        <target>profil mazacího kódu „\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>“\n        </target>\n      </trans-unit>\n      <trans-unit id="369462e5e018360e0600bb570866201ad5c3c8a8" datatype="html">\n        <source>target \'\n          <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>\'\n        </source>\n        <target>cíl „\n          <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>“\n        </target>\n      </trans-unit>\n      <trans-unit id="cf41310917cb19b335e5a950972bbff2346f7a47" datatype="html">\n        <source>NFS \n          <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>\n        </source>\n        <target>NFS \n          <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="54bf6542e39412f83ec883266f443e31b304c937" datatype="html">\n        <source>Required rules for password complexity:\n    - must contain at least 8 characters\n    - cannot contain username\n    - cannot contain any keyword used in Ceph\n    - cannot contain any repetitive characters e.g. "aaa"\n    - cannot contain any sequencial characters e.g. "abc"\n    - must consist of characters from the following groups:\n      * alphabetic a-z, A-Z\n      * numbers 0-9\n      * special chars: !"#$%&amp; \'()*+,-./:;&lt;=&gt;?@[\\]^_`\n          <x id="INTERPOLATION" equiv-text="{{|}}"/>~\n      * any other characters (signs)\n        </source>\n        <target>Required rules for password complexity:\n    - must contain at least 8 characters\n    - cannot contain username\n    - cannot contain any keyword used in Ceph\n    - cannot contain any repetitive characters e.g. "aaa"\n    - cannot contain any sequencial characters e.g. "abc"\n    - must consist of characters from the following groups:\n      * alphabetic a-z, A-Z\n      * numbers 0-9\n      * special chars: !"#$%&amp; \'()*+,-./:;&lt;=&gt;?@[\\]^_`\n          <x id="INTERPOLATION" equiv-text="{{|}}"/>~\n      * any other characters (signs)\n        </target>\n      </trans-unit>\n      <trans-unit id="ba575e9364b43dc870e332265c5182bb357b7a49" datatype="html">\n        <source>Weak</source>\n        <target>Snadno prolomitelné</target>\n      </trans-unit>\n      <trans-unit id="7e6c975ebea8b5f8b120905ca7acf9f8edf59d8e" datatype="html">\n        <source>OK</source>\n        <target>OK</target>\n      </trans-unit>\n      <trans-unit id="3f7349017a01eed18c3daf2b7295ca96ef442eb6" datatype="html">\n        <source>Strong</source>\n        <target>Odolné</target>\n      </trans-unit>\n      <trans-unit id="a1e3aecc2022cb0ebed8575a24d0e29d2de815c6" datatype="html">\n        <source>Very strong</source>\n        <target>Velmi odolné</target>\n      </trans-unit>\n    </body>\n  </file>\n</xliff>'},VpIT:function(t,e,n){var a=n("xDBR"),r=n("xs3f");(t.exports=function(t,e){return r[t]||(r[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.6.4",mode:a?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},Vu81:function(t,e,n){var a=n("0GbY"),r=n("JBy8"),o=n("dBg+"),i=n("glrk");t.exports=a("Reflect","ownKeys")||function(t){var e=r.f(i(t)),n=o.f;return n?e.concat(n(t)):e}},WF9J:function(t,e,n){"use strict";n("TeQF"),n("QWBl"),n("4mDm"),n("zKZe"),n("07d7"),n("4l63"),n("PKPk"),n("ENF9"),n("3bBZ");var a=n("hKI/"),r=n.n(a),o=n("9/5/"),i=n.n(o),s=n("uyHG"),c=n.n(s),l=function(){if("undefined"!=typeof Map)return Map;function t(t,e){var n=-1;return t.some((function(t,a){return t[0]===e&&(n=a,!0)})),n}return function(){function e(){this.__entries__=[]}return Object.defineProperty(e.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),e.prototype.get=function(e){var n=t(this.__entries__,e),a=this.__entries__[n];return a&&a[1]},e.prototype.set=function(e,n){var a=t(this.__entries__,e);~a?this.__entries__[a][1]=n:this.__entries__.push([e,n])},e.prototype.delete=function(e){var n=this.__entries__,a=t(n,e);~a&&n.splice(a,1)},e.prototype.has=function(e){return!!~t(this.__entries__,e)},e.prototype.clear=function(){this.__entries__.splice(0)},e.prototype.forEach=function(t,e){void 0===e&&(e=null);for(var n=0,a=this.__entries__;n<a.length;n++){var r=a[n];t.call(e,r[1],r[0])}},e}()}(),d="undefined"!=typeof window&&"undefined"!=typeof document&&window.document===document,u="undefined"!=typeof global&&global.Math===Math?global:"undefined"!=typeof self&&self.Math===Math?self:"undefined"!=typeof window&&window.Math===Math?window:Function("return this")(),g="function"==typeof requestAnimationFrame?requestAnimationFrame.bind(u):function(t){return setTimeout((function(){return t(Date.now())}),1e3/60)},f=["top","right","bottom","left","width","height","size","weight"],p="undefined"!=typeof MutationObserver,m=function(){function t(){this.connected_=!1,this.mutationEventsAdded_=!1,this.mutationsObserver_=null,this.observers_=[],this.onTransitionEnd_=this.onTransitionEnd_.bind(this),this.refresh=function(t,e){var n=!1,a=!1,r=0;function o(){n&&(n=!1,t()),a&&s()}function i(){g(o)}function s(){var t=Date.now();if(n){if(t-r<2)return;a=!0}else n=!0,a=!1,setTimeout(i,20);r=t}return s}(this.refresh.bind(this))}return t.prototype.addObserver=function(t){~this.observers_.indexOf(t)||this.observers_.push(t),this.connected_||this.connect_()},t.prototype.removeObserver=function(t){var e=this.observers_,n=e.indexOf(t);~n&&e.splice(n,1),!e.length&&this.connected_&&this.disconnect_()},t.prototype.refresh=function(){this.updateObservers_()&&this.refresh()},t.prototype.updateObservers_=function(){var t=this.observers_.filter((function(t){return t.gatherActive(),t.hasActive()}));return t.forEach((function(t){return t.broadcastActive()})),t.length>0},t.prototype.connect_=function(){d&&!this.connected_&&(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),p?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},t.prototype.disconnect_=function(){d&&this.connected_&&(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},t.prototype.onTransitionEnd_=function(t){var e=t.propertyName,n=void 0===e?"":e;f.some((function(t){return!!~n.indexOf(t)}))&&this.refresh()},t.getInstance=function(){return this.instance_||(this.instance_=new t),this.instance_},t.instance_=null,t}(),h=function(t,e){for(var n=0,a=Object.keys(e);n<a.length;n++){var r=a[n];Object.defineProperty(t,r,{value:e[r],enumerable:!1,writable:!1,configurable:!0})}return t},b=function(t){return t&&t.ownerDocument&&t.ownerDocument.defaultView||u},_=C(0,0,0,0);function y(t){return parseFloat(t)||0}function O(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];return e.reduce((function(e,n){return e+y(t["border-"+n+"-width"])}),0)}var v="undefined"!=typeof SVGGraphicsElement?function(t){return t instanceof b(t).SVGGraphicsElement}:function(t){return t instanceof b(t).SVGElement&&"function"==typeof t.getBBox};function C(t,e,n,a){return{x:t,y:e,width:n,height:a}}var P=function(){function t(t){this.broadcastWidth=0,this.broadcastHeight=0,this.contentRect_=C(0,0,0,0),this.target=t}return t.prototype.isActive=function(){var t,e=(t=this.target,d?v(t)?function(t){var e=t.getBBox();return C(0,0,e.width,e.height)}(t):function(t){var e=t.clientWidth,n=t.clientHeight;if(!e&&!n)return _;var a=b(t).getComputedStyle(t),r=function(t){for(var e={},n=0,a=["top","right","bottom","left"];n<a.length;n++){var r=a[n];e[r]=y(t["padding-"+r])}return e}(a),o=r.left+r.right,i=r.top+r.bottom,s=y(a.width),c=y(a.height);if("border-box"===a.boxSizing&&(Math.round(s+o)!==e&&(s-=O(a,"left","right")+o),Math.round(c+i)!==n&&(c-=O(a,"top","bottom")+i)),!function(t){return t===b(t).document.documentElement}(t)){var l=Math.round(s+o)-e,d=Math.round(c+i)-n;1!==Math.abs(l)&&(s-=l),1!==Math.abs(d)&&(c-=d)}return C(r.left,r.top,s,c)}(t):_);return this.contentRect_=e,e.width!==this.broadcastWidth||e.height!==this.broadcastHeight},t.prototype.broadcastRect=function(){var t=this.contentRect_;return this.broadcastWidth=t.width,this.broadcastHeight=t.height,t},t}(),M=function(t,e){var n,a,r,o,i,s,c,l=(a=(n=e).x,r=n.y,o=n.width,i=n.height,s="undefined"!=typeof DOMRectReadOnly?DOMRectReadOnly:Object,c=Object.create(s.prototype),h(c,{x:a,y:r,width:o,height:i,top:r,right:a+o,bottom:i+r,left:a}),c);h(this,{target:t,contentRect:l})},x=function(){function t(t,e,n){if(this.activeObservations_=[],this.observations_=new l,"function"!=typeof t)throw new TypeError("The callback provided as parameter 1 is not a function.");this.callback_=t,this.controller_=e,this.callbackCtx_=n}return t.prototype.observe=function(t){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if("undefined"!=typeof Element&&Element instanceof Object){if(!(t instanceof b(t).Element))throw new TypeError('parameter 1 is not of type "Element".');var e=this.observations_;e.has(t)||(e.set(t,new P(t)),this.controller_.addObserver(this),this.controller_.refresh())}},t.prototype.unobserve=function(t){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if("undefined"!=typeof Element&&Element instanceof Object){if(!(t instanceof b(t).Element))throw new TypeError('parameter 1 is not of type "Element".');var e=this.observations_;e.has(t)&&(e.delete(t),e.size||this.controller_.removeObserver(this))}},t.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},t.prototype.gatherActive=function(){var t=this;this.clearActive(),this.observations_.forEach((function(e){e.isActive()&&t.activeObservations_.push(e)}))},t.prototype.broadcastActive=function(){if(this.hasActive()){var t=this.callbackCtx_,e=this.activeObservations_.map((function(t){return new M(t.target,t.broadcastRect())}));this.callback_.call(t,e,t),this.clearActive()}},t.prototype.clearActive=function(){this.activeObservations_.splice(0)},t.prototype.hasActive=function(){return this.activeObservations_.length>0},t}(),w="undefined"!=typeof WeakMap?new WeakMap:new l,T=function t(e){if(!(this instanceof t))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var n=m.getInstance(),a=new x(e,n,this);w.set(this,a)};["observe","unobserve","disconnect"].forEach((function(t){T.prototype[t]=function(){var e;return(e=w.get(this))[t].apply(e,arguments)}}));var k=void 0!==u.ResizeObserver?u.ResizeObserver:T,S=n("AxL3"),I=n.n(S),N=(n("E9XD"),n("sMBO"),n("rB9j"),n("Rm1S"),n("UxlC"),null),R=null;function A(){if(null===N){if("undefined"==typeof document)return N=0;var t=document.body,e=document.createElement("div");e.classList.add("simplebar-hide-scrollbar"),t.appendChild(e);var n=e.getBoundingClientRect().right;t.removeChild(e),N=n}return N}function E(t){return t&&t.ownerDocument&&t.ownerDocument.defaultView?t.ownerDocument.defaultView:window}function D(t){return t&&t.ownerDocument?t.ownerDocument:document}I.a&&window.addEventListener("resize",(function(){R!==window.devicePixelRatio&&(R=window.devicePixelRatio,N=null)}));var L=function(){function t(e,n){var a=this;this.onScroll=function(){var t=E(a.el);a.scrollXTicking||(t.requestAnimationFrame(a.scrollX),a.scrollXTicking=!0),a.scrollYTicking||(t.requestAnimationFrame(a.scrollY),a.scrollYTicking=!0)},this.scrollX=function(){a.axis.x.isOverflowing&&(a.showScrollbar("x"),a.positionScrollbar("x")),a.scrollXTicking=!1},this.scrollY=function(){a.axis.y.isOverflowing&&(a.showScrollbar("y"),a.positionScrollbar("y")),a.scrollYTicking=!1},this.onMouseEnter=function(){a.showScrollbar("x"),a.showScrollbar("y")},this.onMouseMove=function(t){a.mouseX=t.clientX,a.mouseY=t.clientY,(a.axis.x.isOverflowing||a.axis.x.forceVisible)&&a.onMouseMoveForAxis("x"),(a.axis.y.isOverflowing||a.axis.y.forceVisible)&&a.onMouseMoveForAxis("y")},this.onMouseLeave=function(){a.onMouseMove.cancel(),(a.axis.x.isOverflowing||a.axis.x.forceVisible)&&a.onMouseLeaveForAxis("x"),(a.axis.y.isOverflowing||a.axis.y.forceVisible)&&a.onMouseLeaveForAxis("y"),a.mouseX=-1,a.mouseY=-1},this.onWindowResize=function(){a.scrollbarWidth=a.getScrollbarWidth(),a.hideNativeScrollbar()},this.hideScrollbars=function(){a.axis.x.track.rect=a.axis.x.track.el.getBoundingClientRect(),a.axis.y.track.rect=a.axis.y.track.el.getBoundingClientRect(),a.isWithinBounds(a.axis.y.track.rect)||(a.axis.y.scrollbar.el.classList.remove(a.classNames.visible),a.axis.y.isVisible=!1),a.isWithinBounds(a.axis.x.track.rect)||(a.axis.x.scrollbar.el.classList.remove(a.classNames.visible),a.axis.x.isVisible=!1)},this.onPointerEvent=function(t){var e,n;a.axis.x.track.rect=a.axis.x.track.el.getBoundingClientRect(),a.axis.y.track.rect=a.axis.y.track.el.getBoundingClientRect(),(a.axis.x.isOverflowing||a.axis.x.forceVisible)&&(e=a.isWithinBounds(a.axis.x.track.rect)),(a.axis.y.isOverflowing||a.axis.y.forceVisible)&&(n=a.isWithinBounds(a.axis.y.track.rect)),(e||n)&&(t.preventDefault(),t.stopPropagation(),"mousedown"===t.type&&(e&&(a.axis.x.scrollbar.rect=a.axis.x.scrollbar.el.getBoundingClientRect(),a.isWithinBounds(a.axis.x.scrollbar.rect)?a.onDragStart(t,"x"):a.onTrackClick(t,"x")),n&&(a.axis.y.scrollbar.rect=a.axis.y.scrollbar.el.getBoundingClientRect(),a.isWithinBounds(a.axis.y.scrollbar.rect)?a.onDragStart(t,"y"):a.onTrackClick(t,"y"))))},this.drag=function(e){var n=a.axis[a.draggedAxis].track,r=n.rect[a.axis[a.draggedAxis].sizeAttr],o=a.axis[a.draggedAxis].scrollbar,i=a.contentWrapperEl[a.axis[a.draggedAxis].scrollSizeAttr],s=parseInt(a.elStyles[a.axis[a.draggedAxis].sizeAttr],10);e.preventDefault(),e.stopPropagation();var c=(("y"===a.draggedAxis?e.pageY:e.pageX)-n.rect[a.axis[a.draggedAxis].offsetAttr]-a.axis[a.draggedAxis].dragOffset)/(r-o.size)*(i-s);"x"===a.draggedAxis&&(c=a.isRtl&&t.getRtlHelpers().isRtlScrollbarInverted?c-(r+o.size):c,c=a.isRtl&&t.getRtlHelpers().isRtlScrollingInverted?-c:c),a.contentWrapperEl[a.axis[a.draggedAxis].scrollOffsetAttr]=c},this.onEndDrag=function(t){var e=D(a.el),n=E(a.el);t.preventDefault(),t.stopPropagation(),a.el.classList.remove(a.classNames.dragging),e.removeEventListener("mousemove",a.drag,!0),e.removeEventListener("mouseup",a.onEndDrag,!0),a.removePreventClickId=n.setTimeout((function(){e.removeEventListener("click",a.preventClick,!0),e.removeEventListener("dblclick",a.preventClick,!0),a.removePreventClickId=null}))},this.preventClick=function(t){t.preventDefault(),t.stopPropagation()},this.el=e,this.minScrollbarWidth=20,this.options=Object.assign({},t.defaultOptions,{},n),this.classNames=Object.assign({},t.defaultOptions.classNames,{},this.options.classNames),this.axis={x:{scrollOffsetAttr:"scrollLeft",sizeAttr:"width",scrollSizeAttr:"scrollWidth",offsetSizeAttr:"offsetWidth",offsetAttr:"left",overflowAttr:"overflowX",dragOffset:0,isOverflowing:!0,isVisible:!1,forceVisible:!1,track:{},scrollbar:{}},y:{scrollOffsetAttr:"scrollTop",sizeAttr:"height",scrollSizeAttr:"scrollHeight",offsetSizeAttr:"offsetHeight",offsetAttr:"top",overflowAttr:"overflowY",dragOffset:0,isOverflowing:!0,isVisible:!1,forceVisible:!1,track:{},scrollbar:{}}},this.removePreventClickId=null,t.instances.has(this.el)||(this.recalculate=r()(this.recalculate.bind(this),64),this.onMouseMove=r()(this.onMouseMove.bind(this),64),this.hideScrollbars=i()(this.hideScrollbars.bind(this),this.options.timeout),this.onWindowResize=i()(this.onWindowResize.bind(this),64,{leading:!0}),t.getRtlHelpers=c()(t.getRtlHelpers),this.init())}t.getRtlHelpers=function(){var e=document.createElement("div");e.innerHTML='<div class="hs-dummy-scrollbar-size"><div style="height: 200%; width: 200%; margin: 10px 0;"></div></div>';var n=e.firstElementChild;document.body.appendChild(n);var a=n.firstElementChild;n.scrollLeft=0;var r=t.getOffset(n),o=t.getOffset(a);n.scrollLeft=999;var i=t.getOffset(a);return{isRtlScrollingInverted:r.left!==o.left&&o.left-i.left!=0,isRtlScrollbarInverted:r.left!==o.left}},t.getOffset=function(t){var e=t.getBoundingClientRect(),n=D(t),a=E(t);return{top:e.top+(a.pageYOffset||n.documentElement.scrollTop),left:e.left+(a.pageXOffset||n.documentElement.scrollLeft)}};var e=t.prototype;return e.init=function(){t.instances.set(this.el,this),I.a&&(this.initDOM(),this.scrollbarWidth=this.getScrollbarWidth(),this.recalculate(),this.initListeners())},e.initDOM=function(){var t=this;if(D(this.el),Array.prototype.filter.call(this.el.children,(function(e){return e.classList.contains(t.classNames.wrapper)})).length)this.wrapperEl=this.el.querySelector("."+this.classNames.wrapper),this.contentWrapperEl=this.options.scrollableNode||this.el.querySelector("."+this.classNames.contentWrapper),this.contentEl=this.options.contentNode||this.el.querySelector("."+this.classNames.contentEl),this.offsetEl=this.el.querySelector("."+this.classNames.offset),this.maskEl=this.el.querySelector("."+this.classNames.mask),this.placeholderEl=this.findChild(this.wrapperEl,"."+this.classNames.placeholder),this.heightAutoObserverWrapperEl=this.el.querySelector("."+this.classNames.heightAutoObserverWrapperEl),this.heightAutoObserverEl=this.el.querySelector("."+this.classNames.heightAutoObserverEl),this.axis.x.track.el=this.findChild(this.el,"."+this.classNames.track+"."+this.classNames.horizontal),this.axis.y.track.el=this.findChild(this.el,"."+this.classNames.track+"."+this.classNames.vertical);else{for(this.wrapperEl=document.createElement("div"),this.contentWrapperEl=document.createElement("div"),this.offsetEl=document.createElement("div"),this.maskEl=document.createElement("div"),this.contentEl=document.createElement("div"),this.placeholderEl=document.createElement("div"),this.heightAutoObserverWrapperEl=document.createElement("div"),this.heightAutoObserverEl=document.createElement("div"),this.wrapperEl.classList.add(this.classNames.wrapper),this.contentWrapperEl.classList.add(this.classNames.contentWrapper),this.offsetEl.classList.add(this.classNames.offset),this.maskEl.classList.add(this.classNames.mask),this.contentEl.classList.add(this.classNames.contentEl),this.placeholderEl.classList.add(this.classNames.placeholder),this.heightAutoObserverWrapperEl.classList.add(this.classNames.heightAutoObserverWrapperEl),this.heightAutoObserverEl.classList.add(this.classNames.heightAutoObserverEl);this.el.firstChild;)this.contentEl.appendChild(this.el.firstChild);this.contentWrapperEl.appendChild(this.contentEl),this.offsetEl.appendChild(this.contentWrapperEl),this.maskEl.appendChild(this.offsetEl),this.heightAutoObserverWrapperEl.appendChild(this.heightAutoObserverEl),this.wrapperEl.appendChild(this.heightAutoObserverWrapperEl),this.wrapperEl.appendChild(this.maskEl),this.wrapperEl.appendChild(this.placeholderEl),this.el.appendChild(this.wrapperEl)}if(!this.axis.x.track.el||!this.axis.y.track.el){var e=document.createElement("div"),n=document.createElement("div");e.classList.add(this.classNames.track),n.classList.add(this.classNames.scrollbar),e.appendChild(n),this.axis.x.track.el=e.cloneNode(!0),this.axis.x.track.el.classList.add(this.classNames.horizontal),this.axis.y.track.el=e.cloneNode(!0),this.axis.y.track.el.classList.add(this.classNames.vertical),this.el.appendChild(this.axis.x.track.el),this.el.appendChild(this.axis.y.track.el)}this.axis.x.scrollbar.el=this.axis.x.track.el.querySelector("."+this.classNames.scrollbar),this.axis.y.scrollbar.el=this.axis.y.track.el.querySelector("."+this.classNames.scrollbar),this.options.autoHide||(this.axis.x.scrollbar.el.classList.add(this.classNames.visible),this.axis.y.scrollbar.el.classList.add(this.classNames.visible)),this.el.setAttribute("data-simplebar","init")},e.initListeners=function(){var t=this,e=E(this.el);this.options.autoHide&&this.el.addEventListener("mouseenter",this.onMouseEnter),["mousedown","click","dblclick"].forEach((function(e){t.el.addEventListener(e,t.onPointerEvent,!0)})),["touchstart","touchend","touchmove"].forEach((function(e){t.el.addEventListener(e,t.onPointerEvent,{capture:!0,passive:!0})})),this.el.addEventListener("mousemove",this.onMouseMove),this.el.addEventListener("mouseleave",this.onMouseLeave),this.contentWrapperEl.addEventListener("scroll",this.onScroll),e.addEventListener("resize",this.onWindowResize);var n=!1;this.resizeObserver=new(e.ResizeObserver||k)((function(){n&&t.recalculate()})),this.resizeObserver.observe(this.el),this.resizeObserver.observe(this.contentEl),e.requestAnimationFrame((function(){n=!0})),this.mutationObserver=new e.MutationObserver(this.recalculate),this.mutationObserver.observe(this.contentEl,{childList:!0,subtree:!0,characterData:!0})},e.recalculate=function(){var t=E(this.el);this.elStyles=t.getComputedStyle(this.el),this.isRtl="rtl"===this.elStyles.direction;var e=this.heightAutoObserverEl.offsetHeight<=1,n=this.heightAutoObserverEl.offsetWidth<=1,a=this.contentEl.offsetWidth,r=this.contentWrapperEl.offsetWidth,o=this.elStyles.overflowX,i=this.elStyles.overflowY;this.contentEl.style.padding=this.elStyles.paddingTop+" "+this.elStyles.paddingRight+" "+this.elStyles.paddingBottom+" "+this.elStyles.paddingLeft,this.wrapperEl.style.margin="-"+this.elStyles.paddingTop+" -"+this.elStyles.paddingRight+" -"+this.elStyles.paddingBottom+" -"+this.elStyles.paddingLeft;var s=this.contentEl.scrollHeight,c=this.contentEl.scrollWidth;this.contentWrapperEl.style.height=e?"auto":"100%",this.placeholderEl.style.width=n?a+"px":"auto",this.placeholderEl.style.height=s+"px";var l=this.contentWrapperEl.offsetHeight;this.axis.x.isOverflowing=c>a,this.axis.y.isOverflowing=s>l,this.axis.x.isOverflowing="hidden"!==o&&this.axis.x.isOverflowing,this.axis.y.isOverflowing="hidden"!==i&&this.axis.y.isOverflowing,this.axis.x.forceVisible="x"===this.options.forceVisible||!0===this.options.forceVisible,this.axis.y.forceVisible="y"===this.options.forceVisible||!0===this.options.forceVisible,this.hideNativeScrollbar();var d=this.axis.x.isOverflowing?this.scrollbarWidth:0;this.axis.x.isOverflowing=this.axis.x.isOverflowing&&c>r-(this.axis.y.isOverflowing?this.scrollbarWidth:0),this.axis.y.isOverflowing=this.axis.y.isOverflowing&&s>l-d,this.axis.x.scrollbar.size=this.getScrollbarSize("x"),this.axis.y.scrollbar.size=this.getScrollbarSize("y"),this.axis.x.scrollbar.el.style.width=this.axis.x.scrollbar.size+"px",this.axis.y.scrollbar.el.style.height=this.axis.y.scrollbar.size+"px",this.positionScrollbar("x"),this.positionScrollbar("y"),this.toggleTrackVisibility("x"),this.toggleTrackVisibility("y")},e.getScrollbarSize=function(t){if(void 0===t&&(t="y"),!this.axis[t].isOverflowing)return 0;var e,n=this.axis[t].track.el[this.axis[t].offsetSizeAttr];return e=Math.max(~~(n/this.contentEl[this.axis[t].scrollSizeAttr]*n),this.options.scrollbarMinSize),this.options.scrollbarMaxSize&&(e=Math.min(e,this.options.scrollbarMaxSize)),e},e.positionScrollbar=function(e){if(void 0===e&&(e="y"),this.axis[e].isOverflowing){var n=this.contentWrapperEl[this.axis[e].scrollSizeAttr],a=this.axis[e].track.el[this.axis[e].offsetSizeAttr],r=parseInt(this.elStyles[this.axis[e].sizeAttr],10),o=this.axis[e].scrollbar,i=this.contentWrapperEl[this.axis[e].scrollOffsetAttr],s=~~((i="x"===e&&this.isRtl&&t.getRtlHelpers().isRtlScrollingInverted?-i:i)/(n-r)*(a-o.size));s="x"===e&&this.isRtl&&t.getRtlHelpers().isRtlScrollbarInverted?s+(a-o.size):s,o.el.style.transform="x"===e?"translate3d("+s+"px, 0, 0)":"translate3d(0, "+s+"px, 0)"}},e.toggleTrackVisibility=function(t){void 0===t&&(t="y");var e=this.axis[t].track.el,n=this.axis[t].scrollbar.el;this.axis[t].isOverflowing||this.axis[t].forceVisible?(e.style.visibility="visible",this.contentWrapperEl.style[this.axis[t].overflowAttr]="scroll"):(e.style.visibility="hidden",this.contentWrapperEl.style[this.axis[t].overflowAttr]="hidden"),n.style.display=this.axis[t].isOverflowing?"block":"none"},e.hideNativeScrollbar=function(){this.offsetEl.style[this.isRtl?"left":"right"]=this.axis.y.isOverflowing||this.axis.y.forceVisible?"-"+this.scrollbarWidth+"px":0,this.offsetEl.style.bottom=this.axis.x.isOverflowing||this.axis.x.forceVisible?"-"+this.scrollbarWidth+"px":0},e.onMouseMoveForAxis=function(t){void 0===t&&(t="y"),this.axis[t].track.rect=this.axis[t].track.el.getBoundingClientRect(),this.axis[t].scrollbar.rect=this.axis[t].scrollbar.el.getBoundingClientRect(),this.isWithinBounds(this.axis[t].scrollbar.rect)?this.axis[t].scrollbar.el.classList.add(this.classNames.hover):this.axis[t].scrollbar.el.classList.remove(this.classNames.hover),this.isWithinBounds(this.axis[t].track.rect)?(this.showScrollbar(t),this.axis[t].track.el.classList.add(this.classNames.hover)):this.axis[t].track.el.classList.remove(this.classNames.hover)},e.onMouseLeaveForAxis=function(t){void 0===t&&(t="y"),this.axis[t].track.el.classList.remove(this.classNames.hover),this.axis[t].scrollbar.el.classList.remove(this.classNames.hover)},e.showScrollbar=function(t){void 0===t&&(t="y"),this.axis[t].isVisible||(this.axis[t].scrollbar.el.classList.add(this.classNames.visible),this.axis[t].isVisible=!0),this.options.autoHide&&this.hideScrollbars()},e.onDragStart=function(t,e){void 0===e&&(e="y");var n=D(this.el),a=E(this.el);this.axis[e].dragOffset=("y"===e?t.pageY:t.pageX)-this.axis[e].scrollbar.rect[this.axis[e].offsetAttr],this.draggedAxis=e,this.el.classList.add(this.classNames.dragging),n.addEventListener("mousemove",this.drag,!0),n.addEventListener("mouseup",this.onEndDrag,!0),null===this.removePreventClickId?(n.addEventListener("click",this.preventClick,!0),n.addEventListener("dblclick",this.preventClick,!0)):(a.clearTimeout(this.removePreventClickId),this.removePreventClickId=null)},e.onTrackClick=function(t,e){var n=this;if(void 0===e&&(e="y"),this.options.clickOnTrack){var a=E(this.el);this.axis[e].scrollbar.rect=this.axis[e].scrollbar.el.getBoundingClientRect();var r=this.axis[e].scrollbar.rect[this.axis[e].offsetAttr],o=parseInt(this.elStyles[this.axis[e].sizeAttr],10),i=this.contentWrapperEl[this.axis[e].scrollOffsetAttr],s=("y"===e?this.mouseY-r:this.mouseX-r)<0?-1:1,c=-1===s?i-o:i+o;!function t(){var r,o;-1===s?i>c&&(n.contentWrapperEl.scrollTo(((r={})[n.axis[e].offsetAttr]=i-=40,r)),a.requestAnimationFrame(t)):i<c&&(n.contentWrapperEl.scrollTo(((o={})[n.axis[e].offsetAttr]=i+=40,o)),a.requestAnimationFrame(t))}()}},e.getContentElement=function(){return this.contentEl},e.getScrollElement=function(){return this.contentWrapperEl},e.getScrollbarWidth=function(){try{return"none"===getComputedStyle(this.contentWrapperEl,"::-webkit-scrollbar").display||"scrollbarWidth"in document.documentElement.style||"-ms-overflow-style"in document.documentElement.style?0:A()}catch(t){return A()}},e.removeListeners=function(){var t=this,e=E(this.el);this.options.autoHide&&this.el.removeEventListener("mouseenter",this.onMouseEnter),["mousedown","click","dblclick"].forEach((function(e){t.el.removeEventListener(e,t.onPointerEvent,!0)})),["touchstart","touchend","touchmove"].forEach((function(e){t.el.removeEventListener(e,t.onPointerEvent,{capture:!0,passive:!0})})),this.el.removeEventListener("mousemove",this.onMouseMove),this.el.removeEventListener("mouseleave",this.onMouseLeave),this.contentWrapperEl.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onWindowResize),this.mutationObserver.disconnect(),this.resizeObserver.disconnect(),this.recalculate.cancel(),this.onMouseMove.cancel(),this.hideScrollbars.cancel(),this.onWindowResize.cancel()},e.unMount=function(){this.removeListeners(),t.instances.delete(this.el)},e.isWithinBounds=function(t){return this.mouseX>=t.left&&this.mouseX<=t.left+t.width&&this.mouseY>=t.top&&this.mouseY<=t.top+t.height},e.findChild=function(t,e){var n=t.matches||t.webkitMatchesSelector||t.mozMatchesSelector||t.msMatchesSelector;return Array.prototype.filter.call(t.children,(function(t){return n.call(t,e)}))[0]},t}();L.defaultOptions={autoHide:!0,forceVisible:!1,clickOnTrack:!0,classNames:{contentEl:"simplebar-content",contentWrapper:"simplebar-content-wrapper",offset:"simplebar-offset",mask:"simplebar-mask",wrapper:"simplebar-wrapper",placeholder:"simplebar-placeholder",scrollbar:"simplebar-scrollbar",track:"simplebar-track",heightAutoObserverWrapperEl:"simplebar-height-auto-observer-wrapper",heightAutoObserverEl:"simplebar-height-auto-observer",visible:"simplebar-visible",horizontal:"simplebar-horizontal",vertical:"simplebar-vertical",hover:"simplebar-hover",dragging:"simplebar-dragging"},scrollbarMinSize:25,scrollbarMaxSize:0,timeout:1e3},L.instances=new WeakMap;var q=L;n.d(e,"a",(function(){return j})),n.d(e,"b",(function(){return F}));class j{constructor(t){this.elRef=t}ngOnInit(){}ngAfterViewInit(){this.SimpleBar=new q(this.elRef.nativeElement,this.options||{})}ngOnDestroy(){this.SimpleBar.unMount(),this.SimpleBar=null}}class F{}},WFqU:function(t,e){var n="object"==typeof global&&global&&global.Object===Object&&global;t.exports=n},WJkJ:function(t,e){t.exports="\t\n\v\f\r                 \u2028\u2029\ufeff"},WKiH:function(t,e,n){var a=n("HYAF"),r="["+n("WJkJ")+"]",o=RegExp("^"+r+r+"*"),i=RegExp(r+r+"*$"),s=function(t){return function(e){var n=String(a(e));return 1&t&&(n=n.replace(o,"")),2&t&&(n=n.replace(i,"")),n}};t.exports={start:s(1),end:s(2),trim:s(3)}},WMd4:function(t,e,n){"use strict";n.d(e,"b",(function(){return i})),n.d(e,"a",(function(){return s}));var a=n("EY2u"),r=n("LRne"),o=n("z6cu"),i=function(t){return t.NEXT="N",t.ERROR="E",t.COMPLETE="C",t}({});let s=(()=>{class t{constructor(t,e,n){this.kind=t,this.value=e,this.error=n,this.hasValue="N"===t}observe(t){switch(this.kind){case"N":return t.next&&t.next(this.value);case"E":return t.error&&t.error(this.error);case"C":return t.complete&&t.complete()}}do(t,e,n){switch(this.kind){case"N":return t&&t(this.value);case"E":return e&&e(this.error);case"C":return n&&n()}}accept(t,e,n){return t&&"function"==typeof t.next?this.observe(t):this.do(t,e,n)}toObservable(){switch(this.kind){case"N":return Object(r.a)(this.value);case"E":return Object(o.a)(this.error);case"C":return Object(a.b)()}throw new Error("unexpected notification kind value")}static createNext(e){return void 0!==e?new t("N",e):t.undefinedValueNotification}static createError(e){return new t("E",void 0,e)}static createComplete(){return t.completeNotification}}return t.completeNotification=new t("C"),t.undefinedValueNotification=new t("N",void 0),t})()},WOoz:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SortDirection=function(t){return t.asc="asc",t.desc="desc",t}(e.SortDirection||{})},WYrj:function(t,e,n){!function(t){"use strict";var e=["ޖެނުއަރީ","ފެބްރުއަރީ","މާރިޗު","އޭޕްރީލު","މޭ","ޖޫން","ޖުލައި","އޯގަސްޓު","ސެޕްޓެމްބަރު","އޮކްޓޯބަރު","ނޮވެމްބަރު","ޑިސެމްބަރު"],n=["އާދިއްތަ","ހޯމަ","އަންގާރަ","ބުދަ","ބުރާސްފަތި","ހުކުރު","ހޮނިހިރު"];t.defineLocale("dv",{months:e,monthsShort:e,weekdays:n,weekdaysShort:n,weekdaysMin:"އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/M/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/މކ|މފ/,isPM:function(t){return"މފ"===t},meridiem:function(t,e,n){return t<12?"މކ":"މފ"},calendar:{sameDay:"[މިއަދު] LT",nextDay:"[މާދަމާ] LT",nextWeek:"dddd LT",lastDay:"[އިއްޔެ] LT",lastWeek:"[ފާއިތުވި] dddd LT",sameElse:"L"},relativeTime:{future:"ތެރޭގައި %s",past:"ކުރިން %s",s:"ސިކުންތުކޮޅެއް",ss:"d% ސިކުންތު",m:"މިނިޓެއް",mm:"މިނިޓު %d",h:"ގަޑިއިރެއް",hh:"ގަޑިއިރު %d",d:"ދުވަހެއް",dd:"ދުވަސް %d",M:"މަހެއް",MM:"މަސް %d",y:"އަހަރެއް",yy:"އަހަރު %d"},preparse:function(t){return t.replace(/،/g,",")},postformat:function(t){return t.replace(/,/g,"،")},week:{dow:7,doy:12}})}(n("wd/R"))},WaXT:function(t,e,n){"use strict";var a=n("8Y7J"),r=n("2vnA"),o=Object.assign((function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return r.a.apply(void 0,t)}),r.a),i=Object.assign((function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return r.c.apply(void 0,t)}),r.c),s=Object.assign((function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return r.d.apply(void 0,t)}),r.d),c=n("MP8s");n.d(e,"a",(function(){return u}));var l=function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},d=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},u=function(){function t(){this._dispose=[]}return Object.defineProperty(t.prototype,"nodes",{get:function(){return this._nodes},set:function(t){this.setNodes(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"marginTop",{get:function(){var t=this.viewportNodes&&this.viewportNodes.length&&this.viewportNodes[0];return(t&&t.parent?t.position-t.parent.position-t.parent.getSelfHeight():0)+"px"},enumerable:!0,configurable:!0}),t.prototype.setNodes=function(t){this._nodes=t},t.prototype.ngOnInit=function(){var t=this;this.virtualScroll=this.treeModel.virtualScroll,this._dispose=[Object(r.e)((function(){return t.virtualScroll.getViewportNodes(t.nodes).map((function(t){return t.index}))}),(function(e){t.viewportNodes=e.map((function(e){return t.nodes[e]}))}),{compareStructural:!0,fireImmediately:!0}),Object(r.e)((function(){return t.nodes}),(function(e){t.viewportNodes=t.virtualScroll.getViewportNodes(e)}))]},t.prototype.ngOnDestroy=function(){this._dispose.forEach((function(t){return t()}))},t.prototype.trackNode=function(t,e){return e.id},l([Object(a.Input)(),d("design:type",Object),d("design:paramtypes",[Object])],t.prototype,"nodes",null),l([Object(a.Input)(),d("design:type",c.a)],t.prototype,"treeModel",void 0),l([s,d("design:type",Object)],t.prototype,"_nodes",void 0),l([Object(a.Input)(),d("design:type",Object)],t.prototype,"templates",void 0),l([s,d("design:type",Array)],t.prototype,"viewportNodes",void 0),l([i,d("design:type",String),d("design:paramtypes",[])],t.prototype,"marginTop",null),l([o,d("design:type",Function),d("design:paramtypes",[Object]),d("design:returntype",void 0)],t.prototype,"setNodes",null),l([Object(a.Component)({selector:"tree-node-collection",encapsulation:a.ViewEncapsulation.None,template:'\n    <ng-container *treeMobxAutorun="{ dontDetach: true }">\n      <div [style.margin-top]="marginTop">\n        <tree-node\n          *ngFor="let node of viewportNodes; let i = index; trackBy: trackNode"\n          [node]="node"\n          [index]="i"\n          [templates]="templates"\n        >\n        </tree-node>\n      </div>\n    </ng-container>\n  '})],t)}()},WiuZ:function(t,e,n){"use strict";var a=n("8Y7J"),r=n("SVse"),o=n("978R"),i=n("z/SZ"),s=n("2uy1"),c=n("s7LF"),l=n("+gVj"),d=n("KOzp");n("wnGv"),n("GiVz"),n.d(e,"a",(function(){return u})),n.d(e,"b",(function(){return M}));var u=a["ɵcrt"]({encapsulation:0,styles:[[".select-menu-item[_ngcontent-%COMP%]{display:block;cursor:pointer;border-bottom:1px solid rgba(0,0,0,.09);font-size:12px}.select-menu-item[_ngcontent-%COMP%]:hover{background-color:#f5f5f5}.select-menu-item-icon[_ngcontent-%COMP%]{float:left;padding:.5em;width:3em}.select-menu-item-content[_ngcontent-%COMP%]{padding:.5em}"]],data:{}});function g(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback text-center"]],null,null,null,null,null)),(t()(),a["ɵted"](1,null,[" "," "]))],null,(function(t,e){t(e,1,0,e.component.messages.customValidations[e.parent.context.$implicit])}))}function f(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,null,null,null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,g)),a["ɵdid"](2,16384,null,0,r.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](0,null,null,0))],(function(t,e){var n=e.component;t(e,2,0,n.form.showError("filter",a["ɵnov"](e.parent,2))&&n.filter.hasError(e.context.$implicit))}),null)}function p(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"i",[["aria-hidden","true"]],null,null,null,null,null)),a["ɵprd"](512,null,r["ɵNgClassImpl"],r["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](2,278528,null,0,r.NgClass,[r["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),a["ɵpad"](3,1)],(function(t,e){var n=t(e,3,0,e.component.icons.check);t(e,2,0,n)}),null)}function m(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,null,null,null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,0,"br",[],null,null,null,null,null)),(t()(),a["ɵeld"](2,0,null,null,1,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(t()(),a["ɵted"](3,null,[" ","  "]))],null,(function(t,e){t(e,3,0,e.parent.context.$implicit.description)}))}function h(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,11,"div",[["class","select-menu-item"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.triggerSelection(t.context.$implicit)&&a),a}),null,null)),a["ɵprd"](512,null,r["ɵNgClassImpl"],r["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](2,278528,null,0,r.NgClass,[r["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),a["ɵpod"](3,{"help-block disabled":0}),(t()(),a["ɵeld"](4,0,null,null,3,"div",[["class","select-menu-item-icon"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,p)),a["ɵdid"](6,16384,null,0,r.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵted"](-1,null,["   "])),(t()(),a["ɵeld"](8,0,null,null,3,"div",[["class","select-menu-item-content"]],null,null,null,null,null)),(t()(),a["ɵted"](9,null,[" "," "])),(t()(),a["ɵand"](16777216,null,null,1,null,m)),a["ɵdid"](11,16384,null,0,r.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component,a=t(e,3,0,!(n.data.length!==n.selectionLimit&&e.context.$implicit.enabled||e.context.$implicit.selected));t(e,2,0,"select-menu-item",a),t(e,6,0,e.context.$implicit.selected),t(e,11,0,e.context.$implicit.description)}),(function(t,e){t(e,9,0,e.context.$implicit.name)}))}function b(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,8,"div",[["class","select-menu-item"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.addCustomOption()&&a),a}),null,null)),(t()(),a["ɵeld"](1,0,null,null,5,"div",[["class","select-menu-item-icon"]],null,null,null,null,null)),(t()(),a["ɵeld"](2,0,null,null,3,"i",[["aria-hidden","true"]],null,null,null,null,null)),a["ɵprd"](512,null,r["ɵNgClassImpl"],r["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](4,278528,null,0,r.NgClass,[r["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),a["ɵpad"](5,1),(t()(),a["ɵted"](-1,null,["   "])),(t()(),a["ɵeld"](7,0,null,null,1,"div",[["class","select-menu-item-content"]],null,null,null,null,null)),(t()(),a["ɵted"](8,null,[" "," '","' "]))],(function(t,e){var n=t(e,5,0,e.component.icons.tag);t(e,4,0,n)}),(function(t,e){var n=e.component;t(e,8,0,n.messages.add,n.filter.value)}))}function _(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,16777216,null,null,2,"span",[["class","form-text text-muted text-center text-warning"]],[[1,"aria-describedby",0]],null,null,null,null)),a["ɵdid"](1,212992,null,0,o.c,[a.ViewContainerRef,i.a,o.a,a.ElementRef,a.Renderer2,s.a],{tooltip:[0,"tooltip"]},null),(t()(),a["ɵted"](2,null,[" "," "])),(t()(),a["ɵand"](0,null,null,0))],(function(t,e){t(e,1,0,e.component.messages.selectionLimit.tooltip)}),(function(t,e){var n=e.component;t(e,0,0,a["ɵnov"](e,1).ariaDescribedby),t(e,2,0,n.messages.selectionLimit.text)}))}function y(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"div",[["class","is-invalid"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,_)),a["ɵdid"](2,16384,null,0,r.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,2,0,n.data.length===n.selectionLimit)}),null)}function O(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,15,"form",[["name","form"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(t,e,n){var r=!0;return"submit"===e&&(r=!1!==a["ɵnov"](t,2).onSubmit(n)&&r),"reset"===e&&(r=!1!==a["ɵnov"](t,2).onReset()&&r),"submit"===e&&(r=!1!==a["ɵnov"](t,5).onSubmit()&&r),r}),null,null)),a["ɵdid"](1,16384,null,0,c.G,[],null,null),a["ɵdid"](2,540672,[["formDir",4]],0,c.l,[[8,null],[8,null]],{form:[0,"form"]},null),a["ɵprd"](2048,null,c.d,null,[c.l]),a["ɵdid"](4,16384,null,0,c.s,[[4,c.d]],null,null),a["ɵdid"](5,16384,null,0,l.d,[],{formGroup:[0,"formGroup"]},null),(t()(),a["ɵeld"](6,0,null,null,9,"div",[],null,null,null,null,null)),(t()(),a["ɵeld"](7,0,null,null,6,"input",[["class","form-control text-center"],["formControlName","filter"],["type","text"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"keyup"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var r=!0,o=t.component;return"input"===e&&(r=!1!==a["ɵnov"](t,8)._handleInput(n.target.value)&&r),"blur"===e&&(r=!1!==a["ɵnov"](t,8).onTouched()&&r),"compositionstart"===e&&(r=!1!==a["ɵnov"](t,8)._compositionStart()&&r),"compositionend"===e&&(r=!1!==a["ɵnov"](t,8)._compositionEnd(n.target.value)&&r),"keyup"===e&&(r=!1!==(13==n.keyCode?o.selectOption():o.updateFilter())&&r),r}),null,null)),a["ɵdid"](8,16384,null,0,c.e,[a.Renderer2,a.ElementRef,[2,c.b]],null,null),a["ɵprd"](1024,null,c.p,(function(t){return[t]}),[c.e]),a["ɵdid"](10,671744,null,0,c.j,[[3,c.d],[8,null],[8,null],[6,c.p],[2,c.E]],{name:[0,"name"]},null),a["ɵprd"](2048,null,c.q,null,[c.j]),a["ɵdid"](12,16384,null,0,c.r,[[4,c.q]],null,null),a["ɵdid"](13,16384,null,0,l.h,[[3,c.d],l.a],{formControlName:[0,"formControlName"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,f)),a["ɵdid"](15,278528,null,0,r.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,h)),a["ɵdid"](17,278528,null,0,r.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,b)),a["ɵdid"](19,16384,null,0,r.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,y)),a["ɵdid"](21,16384,null,0,r.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](0,null,null,0))],(function(t,e){var n=e.component;t(e,2,0,n.form),t(e,5,0,n.form),t(e,10,0,"filter"),t(e,13,0,"filter"),t(e,15,0,n.Object.keys(n.messages.customValidations)),t(e,17,0,n.filteredOptions),t(e,19,0,n.isCreatable()),t(e,21,0,n.data.length===n.selectionLimit)}),(function(t,e){var n=e.component;t(e,0,0,a["ɵnov"](e,4).ngClassUntouched,a["ɵnov"](e,4).ngClassTouched,a["ɵnov"](e,4).ngClassPristine,a["ɵnov"](e,4).ngClassDirty,a["ɵnov"](e,4).ngClassValid,a["ɵnov"](e,4).ngClassInvalid,a["ɵnov"](e,4).ngClassPending),t(e,7,0,n.messages.filter,a["ɵnov"](e,12).ngClassUntouched,a["ɵnov"](e,12).ngClassTouched,a["ɵnov"](e,12).ngClassPristine,a["ɵnov"](e,12).ngClassDirty,a["ɵnov"](e,12).ngClassValid,a["ɵnov"](e,12).ngClassInvalid,a["ɵnov"](e,12).ngClassPending,a["ɵnov"](e,13).validClass,a["ɵnov"](e,13).invalidClass)}))}function v(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,16777216,null,null,4,"a",[["class","select-menu-edit float-left"],["container","body"],["outsideClick","true"],["placement","bottom"]],null,null,null,null,null)),a["ɵprd"](512,null,r["ɵNgClassImpl"],r["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](2,278528,null,0,r.NgClass,[r["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),a["ɵdid"](3,212992,null,0,d.c,[d.a,a.ElementRef,a.Renderer2,a.ViewContainerRef,i.a,s.a],{popover:[0,"popover"],placement:[1,"placement"],outsideClick:[2,"outsideClick"],container:[3,"container"]},null),a["ɵncd"](null,0),(t()(),a["ɵand"](0,null,null,0))],(function(t,e){t(e,2,0,"select-menu-edit float-left",e.component.elemClass),t(e,3,0,a["ɵnov"](e.parent,0),"bottom","true","body")}),null)}function C(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"span",[["class","form-text text-muted float-left"]],null,null,null,null,null)),(t()(),a["ɵted"](1,null,[" ","\n"]))],null,(function(t,e){t(e,1,0,e.component.messages.empty)}))}function P(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"span",[["class","form-text text-muted  float-left"]],null,null,null,null,null)),(t()(),a["ɵted"](1,null,[" ","\n"]))],null,(function(t,e){t(e,1,0,e.component.messages.noOptions)}))}function M(t){return a["ɵvid"](0,[(t()(),a["ɵand"](0,[["popTemplate",2]],null,0,null,O)),(t()(),a["ɵand"](16777216,null,null,1,null,v)),a["ɵdid"](2,16384,null,0,r.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,C)),a["ɵdid"](4,16384,null,0,r.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,P)),a["ɵdid"](6,16384,null,0,r.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,2,0,n.options.length>0),t(e,4,0,0===n.data.length&&n.options.length>0),t(e,6,0,0===n.options.length)}),null)}},WwFo:function(t,e,n){var a=n("juv8"),r=n("7GkX");t.exports=function(t,e){return t&&a(e,r(e),t)}},WxRl:function(t,e,n){!function(t){"use strict";var e="vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton".split(" ");function n(t,e,n,a){var r=t;switch(n){case"s":return a||e?"néhány másodperc":"néhány másodperce";case"ss":return r+(a||e)?" másodperc":" másodperce";case"m":return"egy"+(a||e?" perc":" perce");case"mm":return r+(a||e?" perc":" perce");case"h":return"egy"+(a||e?" óra":" órája");case"hh":return r+(a||e?" óra":" órája");case"d":return"egy"+(a||e?" nap":" napja");case"dd":return r+(a||e?" nap":" napja");case"M":return"egy"+(a||e?" hónap":" hónapja");case"MM":return r+(a||e?" hónap":" hónapja");case"y":return"egy"+(a||e?" év":" éve");case"yy":return r+(a||e?" év":" éve")}return""}function a(t){return(t?"":"[múlt] ")+"["+e[this.day()]+"] LT[-kor]"}t.defineLocale("hu",{months:"január_február_március_április_május_június_július_augusztus_szeptember_október_november_december".split("_"),monthsShort:"jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec".split("_"),weekdays:"vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat".split("_"),weekdaysShort:"vas_hét_kedd_sze_csüt_pén_szo".split("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D. H:mm",LLLL:"YYYY. MMMM D., dddd H:mm"},meridiemParse:/de|du/i,isPM:function(t){return"u"===t.charAt(1).toLowerCase()},meridiem:function(t,e,n){return t<12?!0===n?"de":"DE":!0===n?"du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek:function(){return a.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return a.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s múlva",past:"%s",s:n,ss:n,m:n,mm:n,h:n,hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("wd/R"))},"X+05":function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));var a={toggleExpanded:"toggleExpanded",activate:"activate",deactivate:"deactivate",nodeActivate:"nodeActivate",nodeDeactivate:"nodeDeactivate",select:"select",deselect:"deselect",focus:"focus",blur:"blur",initialized:"initialized",updateData:"updateData",moveNode:"moveNode",copyNode:"copyNode",event:"event",loadNodeChildren:"loadNodeChildren",changeFilter:"changeFilter",stateChange:"stateChange"}},X709:function(t,e,n){!function(t){"use strict";t.defineLocale("sv",{months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag".split("_"),weekdaysShort:"sön_mån_tis_ons_tor_fre_lör".split("_"),weekdaysMin:"sö_må_ti_on_to_fr_lö".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [kl.] HH:mm",LLLL:"dddd D MMMM YYYY [kl.] HH:mm",lll:"D MMM YYYY HH:mm",llll:"ddd D MMM YYYY HH:mm"},calendar:{sameDay:"[Idag] LT",nextDay:"[Imorgon] LT",lastDay:"[Igår] LT",nextWeek:"[På] dddd LT",lastWeek:"[I] dddd[s] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"för %s sedan",s:"några sekunder",ss:"%d sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en månad",MM:"%d månader",y:"ett år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}(e|a)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"e":1===e?"a":2===e?"a":"e")},week:{dow:1,doy:4}})}(n("wd/R"))},XDbj:function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var a=n("sVev"),r=n("7o/Q");function o(t=c){return e=>e.lift(new i(t))}class i{constructor(t){this.errorFactory=t}call(t,e){return e.subscribe(new s(t,this.errorFactory))}}class s extends r.a{constructor(t,e){super(t),this.errorFactory=e,this.hasValue=!1}_next(t){this.hasValue=!0,this.destination.next(t)}_complete(){if(this.hasValue)return this.destination.complete();{let e;try{e=this.errorFactory()}catch(t){e=t}this.destination.error(e)}}}function c(){return new a.a}},XDpg:function(t,e,n){!function(t){"use strict";t.defineLocale("zh-cn",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日Ah点mm分",LLLL:"YYYY年M月D日ddddAh点mm分",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(t,e){return 12===t&&(t=0),"凌晨"===e||"早上"===e||"上午"===e?t:"下午"===e||"晚上"===e?t+12:t>=11?t:t+12},meridiem:function(t,e,n){var a=100*t+e;return a<600?"凌晨":a<900?"早上":a<1130?"上午":a<1230?"中午":a<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|周)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"日";case"M":return t+"月";case"w":case"W":return t+"周";default:return t}},relativeTime:{future:"%s内",past:"%s前",s:"几秒",ss:"%d 秒",m:"1 分钟",mm:"%d 分钟",h:"1 小时",hh:"%d 小时",d:"1 天",dd:"%d 天",M:"1 个月",MM:"%d 个月",y:"1 年",yy:"%d 年"},week:{dow:1,doy:4}})}(n("wd/R"))},XFyV:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("oxzT");class r{constructor(){this.icons=a.a}}},XGnz:function(t,e,n){var a=n("CH3K"),r=n("BiGR");t.exports=function t(e,n,o,i,s){var c=-1,l=e.length;for(o||(o=r),s||(s=[]);++c<l;){var d=e[c];n>0&&o(d)?n>1?t(d,n-1,o,i,s):a(s,d):i||(s[s.length]=d)}return s}},XGwC:function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},XKAG:function(t,e,n){var a=n("ut/Y"),r=n("MMmD"),o=n("7GkX");t.exports=function(t){return function(e,n,i){var s=Object(e);if(!r(e)){var c=a(n,3);e=o(e),n=function(t){return c(s[t],t,s)}}var l=t(e,n,i);return l>-1?s[c?e[l]:l]:void 0}}},XLvN:function(t,e,n){!function(t){"use strict";t.defineLocale("te",{months:"జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్".split("_"),monthsShort:"జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.".split("_"),monthsParseExact:!0,weekdays:"ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం".split("_"),weekdaysShort:"ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని".split("_"),weekdaysMin:"ఆ_సో_మం_బు_గు_శు_శ".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[నేడు] LT",nextDay:"[రేపు] LT",nextWeek:"dddd, LT",lastDay:"[నిన్న] LT",lastWeek:"[గత] dddd, LT",sameElse:"L"},relativeTime:{future:"%s లో",past:"%s క్రితం",s:"కొన్ని క్షణాలు",ss:"%d సెకన్లు",m:"ఒక నిమిషం",mm:"%d నిమిషాలు",h:"ఒక గంట",hh:"%d గంటలు",d:"ఒక రోజు",dd:"%d రోజులు",M:"ఒక నెల",MM:"%d నెలలు",y:"ఒక సంవత్సరం",yy:"%d సంవత్సరాలు"},dayOfMonthOrdinalParse:/\d{1,2}వ/,ordinal:"%dవ",meridiemParse:/రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,meridiemHour:function(t,e){return 12===t&&(t=0),"రాత్రి"===e?t<4?t:t+12:"ఉదయం"===e?t:"మధ్యాహ్నం"===e?t>=10?t:t+12:"సాయంత్రం"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"రాత్రి":t<10?"ఉదయం":t<17?"మధ్యాహ్నం":t<20?"సాయంత్రం":"రాత్రి"},week:{dow:0,doy:6}})}(n("wd/R"))},XNiG:function(t,e,n){"use strict";n.d(e,"b",(function(){return l})),n.d(e,"a",(function(){return d}));var a=n("HDdC"),r=n("7o/Q"),o=n("quSY"),i=n("9ppp"),s=n("Ylt2"),c=n("2QA8");class l extends r.a{constructor(t){super(t),this.destination=t}}let d=(()=>{class t extends a.a{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[c.a](){return new l(this)}lift(t){const e=new u(this,this);return e.operator=t,e}next(t){if(this.closed)throw new i.a;if(!this.isStopped){const{observers:e}=this,n=e.length,a=e.slice();for(let r=0;r<n;r++)a[r].next(t)}}error(t){if(this.closed)throw new i.a;this.hasError=!0,this.thrownError=t,this.isStopped=!0;const{observers:e}=this,n=e.length,a=e.slice();for(let r=0;r<n;r++)a[r].error(t);this.observers.length=0}complete(){if(this.closed)throw new i.a;this.isStopped=!0;const{observers:t}=this,e=t.length,n=t.slice();for(let a=0;a<e;a++)n[a].complete();this.observers.length=0}unsubscribe(){this.isStopped=!0,this.closed=!0,this.observers=null}_trySubscribe(t){if(this.closed)throw new i.a;return super._trySubscribe(t)}_subscribe(t){if(this.closed)throw new i.a;return this.hasError?(t.error(this.thrownError),o.a.EMPTY):this.isStopped?(t.complete(),o.a.EMPTY):(this.observers.push(t),new s.a(this,t))}asObservable(){const t=new a.a;return t.source=this,t}}return t.create=(t,e)=>new u(t,e),t})();class u extends d{constructor(t,e){super(),this.destination=t,this.source=e}next(t){const{destination:e}=this;e&&e.next&&e.next(t)}error(t){const{destination:e}=this;e&&e.error&&this.destination.error(t)}complete(){const{destination:t}=this;t&&t.complete&&this.destination.complete()}_subscribe(t){const{source:e}=this;return e?this.source.subscribe(t):o.a.EMPTY}}},XYm9:function(t,e,n){var a=n("+K+b");t.exports=function(t,e){var n=e?a(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}},Xg1U:function(t,e,n){"use strict";n.d(e,"a",(function(){return c}));var a=n("8Y7J"),r=n("978R"),o=(n("SVse"),a["ɵcrt"]({encapsulation:0,styles:[".tooltip[_nghost-%COMP%] {\n      display: block;\n      pointer-events: none;\n    }\n    .bs3.tooltip.top[_nghost-%COMP%] > .arrow[_ngcontent-%COMP%] {\n      margin-left: -2px;\n    }\n    .bs3.tooltip.bottom[_nghost-%COMP%] {\n      margin-top: 0px;\n    }\n    .bs3.bs-tooltip-left[_nghost-%COMP%], .bs3.bs-tooltip-right[_nghost-%COMP%]{\n      margin: 0px;\n    }\n    .bs3.bs-tooltip-right[_nghost-%COMP%]   .arrow[_ngcontent-%COMP%], .bs3.bs-tooltip-left[_nghost-%COMP%]   .arrow[_ngcontent-%COMP%] {\n      margin: .3rem 0;\n    }"],data:{}}));function i(t){return a["ɵvid"](2,[(t()(),a["ɵeld"](0,0,null,null,0,"div",[["class","tooltip-arrow arrow"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,1,"div",[["class","tooltip-inner"]],null,null,null,null,null)),a["ɵncd"](null,0)],null,null)}function s(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"bs-tooltip-container",[["role","tooltip"]],[[8,"className",0],[2,"show",null],[2,"bs3",null],[1,"id",0]],null,null,i,o)),a["ɵdid"](1,4243456,null,0,r.b,[r.a],null,null)],null,(function(t,e){t(e,0,0,"tooltip in tooltip-"+a["ɵnov"](e,1).placement+" bs-tooltip-"+a["ɵnov"](e,1).placement+" "+a["ɵnov"](e,1).placement+" "+a["ɵnov"](e,1).containerClass,!a["ɵnov"](e,1).isBs3,a["ɵnov"](e,1).isBs3,a["ɵnov"](e,1).id)}))}var c=a["ɵccf"]("bs-tooltip-container",r.b,s,{},{},["*"])},Xi7e:function(t,e,n){var a=n("KMkd"),r=n("adU4"),o=n("tMB7"),i=n("+6XX"),s=n("Z8oC");function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var a=t[e];this.set(a[0],a[1])}}c.prototype.clear=a,c.prototype.delete=r,c.prototype.get=o,c.prototype.has=i,c.prototype.set=s,t.exports=c},XoHu:function(t,e,n){"use strict";function a(t){return null!==t&&"object"==typeof t}n.d(e,"a",(function(){return a}))},"Y/cZ":function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));let a=(()=>{class t{constructor(e,n=t.now){this.SchedulerAction=e,this.now=n}schedule(t,e=0,n){return new this.SchedulerAction(this,t).schedule(n,e)}}return t.now=()=>Date.now(),t})()},Y0Co:function(t,e,n){var a=n("mrSG").__decorate,r=n("mrSG").__metadata;Object.defineProperty(e,"__esModule",{value:!0});var o=n("8Y7J"),i=n("Lwhh"),s=n("8iEZ"),c=n("L5sC");n("BARL"),e.DataTableColumnDirective=function(){function t(t){this.columnChangesService=t,this.isFirstChange=!0}return t.prototype.ngOnChanges=function(){this.isFirstChange?this.isFirstChange=!1:this.columnChangesService.onInputChange()},a([o.Input(),r("design:type",String)],t.prototype,"name",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"prop",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"frozenLeft",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"frozenRight",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"flexGrow",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"resizeable",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"comparator",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"pipe",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"sortable",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"draggable",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"canAutoResize",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"minWidth",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"width",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"maxWidth",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"checkboxable",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"headerCheckboxable",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"headerClass",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"cellClass",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"isTreeColumn",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"treeLevelIndent",void 0),a([o.Input(),r("design:type",Function)],t.prototype,"summaryFunc",void 0),a([o.Input(),r("design:type",o.TemplateRef)],t.prototype,"summaryTemplate",void 0),a([o.Input(),o.ContentChild(s.DataTableColumnCellDirective,{read:o.TemplateRef,static:!0}),r("design:type",o.TemplateRef)],t.prototype,"cellTemplate",void 0),a([o.Input(),o.ContentChild(i.DataTableColumnHeaderDirective,{read:o.TemplateRef,static:!0}),r("design:type",o.TemplateRef)],t.prototype,"headerTemplate",void 0),a([o.Input(),o.ContentChild(c.DataTableColumnCellTreeToggle,{read:o.TemplateRef,static:!0}),r("design:type",o.TemplateRef)],t.prototype,"treeToggleTemplate",void 0),a([o.Directive({selector:"ngx-datatable-column"})],t)}()},Y6u4:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));const a=(()=>{function t(){return Error.call(this),this.message="Timeout has occurred",this.name="TimeoutError",this}return t.prototype=Object.create(Error.prototype),t})()},Y7HM:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("DH7j");function r(t){return!Object(a.a)(t)&&t-parseFloat(t)+1>=0}},YESw:function(t,e,n){var a=n("Cwc5")(Object,"create");t.exports=a},YNrV:function(t,e,n){"use strict";var a=n("g6v/"),r=n("0Dky"),o=n("33Wh"),i=n("dBg+"),s=n("0eef"),c=n("ewvW"),l=n("RK3t"),d=Object.assign,u=Object.defineProperty;t.exports=!d||r((function(){if(a&&1!==d({b:1},d(u({},"a",{enumerable:!0,get:function(){u(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},e={},n=Symbol();return t[n]=7,"abcdefghijklmnopqrst".split("").forEach((function(t){e[t]=t})),7!=d({},t)[n]||"abcdefghijklmnopqrst"!=o(d({},e)).join("")}))?function(t,e){for(var n=c(t),r=arguments.length,d=1,u=i.f,g=s.f;r>d;)for(var f,p=l(arguments[d++]),m=u?o(p).concat(u(p)):o(p),h=m.length,b=0;h>b;)f=m[b++],a&&!g.call(p,f)||(n[f]=p[f]);return n}:d},YO3V:function(t,e,n){var a=n("NykK"),r=n("LcsW"),o=n("ExA7"),i=Function.prototype.toString,s=Object.prototype.hasOwnProperty,c=i.call(Object);t.exports=function(t){if(!o(t)||"[object Object]"!=a(t))return!1;var e=r(t);if(null===e)return!0;var n=s.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&i.call(n)==c}},YRex:function(t,e,n){!function(t){"use strict";t.defineLocale("ug-cn",{months:"يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر".split("_"),monthsShort:"يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر".split("_"),weekdays:"يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە".split("_"),weekdaysShort:"يە_دۈ_سە_چا_پە_جۈ_شە".split("_"),weekdaysMin:"يە_دۈ_سە_چا_پە_جۈ_شە".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY-يىلىM-ئاينىڭD-كۈنى",LLL:"YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm",LLLL:"dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm"},meridiemParse:/يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,meridiemHour:function(t,e){return 12===t&&(t=0),"يېرىم كېچە"===e||"سەھەر"===e||"چۈشتىن بۇرۇن"===e?t:"چۈشتىن كېيىن"===e||"كەچ"===e?t+12:t>=11?t:t+12},meridiem:function(t,e,n){var a=100*t+e;return a<600?"يېرىم كېچە":a<900?"سەھەر":a<1130?"چۈشتىن بۇرۇن":a<1230?"چۈش":a<1800?"چۈشتىن كېيىن":"كەچ"},calendar:{sameDay:"[بۈگۈن سائەت] LT",nextDay:"[ئەتە سائەت] LT",nextWeek:"[كېلەركى] dddd [سائەت] LT",lastDay:"[تۆنۈگۈن] LT",lastWeek:"[ئالدىنقى] dddd [سائەت] LT",sameElse:"L"},relativeTime:{future:"%s كېيىن",past:"%s بۇرۇن",s:"نەچچە سېكونت",ss:"%d سېكونت",m:"بىر مىنۇت",mm:"%d مىنۇت",h:"بىر سائەت",hh:"%d سائەت",d:"بىر كۈن",dd:"%d كۈن",M:"بىر ئاي",MM:"%d ئاي",y:"بىر يىل",yy:"%d يىل"},dayOfMonthOrdinalParse:/\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"-كۈنى";case"w":case"W":return t+"-ھەپتە";default:return t}},preparse:function(t){return t.replace(/،/g,",")},postformat:function(t){return t.replace(/,/g,"،")},week:{dow:1,doy:7}})}(n("wd/R"))},YVFZ:function(t,e,n){var a=n("mrSG").__decorate,r=n("mrSG").__metadata;Object.defineProperty(e,"__esModule",{value:!0});var o=n("8Y7J"),i=n("5tze"),s=n("qwkt");n("czA5"),e.DataTableBodyCellComponent=function(){function t(t,e){this.cd=e,this.activate=new o.EventEmitter,this.treeAction=new o.EventEmitter,this.isFocused=!1,this.onCheckboxChangeFn=this.onCheckboxChange.bind(this),this.activateFn=this.activate.emit.bind(this.activate),this.cellContext={onCheckboxChangeFn:this.onCheckboxChangeFn,activateFn:this.activateFn,row:this.row,group:this.group,value:this.value,column:this.column,rowHeight:this.rowHeight,isSelected:this.isSelected,rowIndex:this.rowIndex,treeStatus:this.treeStatus,onTreeAction:this.onTreeAction.bind(this)},this._element=t.nativeElement}return Object.defineProperty(t.prototype,"group",{get:function(){return this._group},set:function(t){this._group=t,this.cellContext.group=t,this.checkValueUpdates(),this.cd.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"rowHeight",{get:function(){return this._rowHeight},set:function(t){this._rowHeight=t,this.cellContext.rowHeight=t,this.checkValueUpdates(),this.cd.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isSelected",{get:function(){return this._isSelected},set:function(t){this._isSelected=t,this.cellContext.isSelected=t,this.cd.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"expanded",{get:function(){return this._expanded},set:function(t){this._expanded=t,this.cellContext.expanded=t,this.cd.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"rowIndex",{get:function(){return this._rowIndex},set:function(t){this._rowIndex=t,this.cellContext.rowIndex=t,this.checkValueUpdates(),this.cd.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"column",{get:function(){return this._column},set:function(t){this._column=t,this.cellContext.column=t,this.checkValueUpdates(),this.cd.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"row",{get:function(){return this._row},set:function(t){this._row=t,this.cellContext.row=t,this.checkValueUpdates(),this.cd.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"sorts",{get:function(){return this._sorts},set:function(t){this._sorts=t,this.calcSortDir=this.calcSortDir(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"treeStatus",{get:function(){return this._treeStatus},set:function(t){this._treeStatus="collapsed"!==t&&"expanded"!==t&&"loading"!==t&&"disabled"!==t?"collapsed":t,this.cellContext.treeStatus=this._treeStatus,this.checkValueUpdates(),this.cd.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"columnCssClasses",{get:function(){var t="datatable-body-cell";if(this.column.cellClass)if("string"==typeof this.column.cellClass)t+=" "+this.column.cellClass;else if("function"==typeof this.column.cellClass){var e=this.column.cellClass({row:this.row,group:this.group,column:this.column,value:this.value,rowHeight:this.rowHeight});if("string"==typeof e)t+=e;else if("object"==typeof e)for(var n=0,a=Object.keys(e);n<a.length;n++){var r=a[n];!0===e[r]&&(t+=" "+r)}}return this.sortDir||(t+=" sort-active"),this.isFocused&&(t+=" active"),this.sortDir===s.SortDirection.asc&&(t+=" sort-asc"),this.sortDir===s.SortDirection.desc&&(t+=" sort-desc"),t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"width",{get:function(){return this.column.width},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"minWidth",{get:function(){return this.column.minWidth},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"maxWidth",{get:function(){return this.column.maxWidth},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"height",{get:function(){var t=this.rowHeight;return isNaN(t)?t:t+"px"},enumerable:!0,configurable:!0}),t.prototype.ngDoCheck=function(){this.checkValueUpdates()},t.prototype.ngOnDestroy=function(){this.cellTemplate&&this.cellTemplate.clear()},t.prototype.checkValueUpdates=function(){var t="";if(this.row&&this.column){var e=this.column.$$valueGetter(this.row,this.column.prop),n=this.column.pipe;n?t=n.transform(e):void 0!==t&&(t=e)}else t="";this.value!==t&&(this.value=t,this.cellContext.value=t,this.sanitizedValue=null!=t?this.stripHtml(t):t,this.cd.markForCheck())},t.prototype.onFocus=function(){this.isFocused=!0},t.prototype.onBlur=function(){this.isFocused=!1},t.prototype.onClick=function(t){this.activate.emit({type:"click",event:t,row:this.row,group:this.group,rowHeight:this.rowHeight,column:this.column,value:this.value,cellElement:this._element})},t.prototype.onDblClick=function(t){this.activate.emit({type:"dblclick",event:t,row:this.row,group:this.group,rowHeight:this.rowHeight,column:this.column,value:this.value,cellElement:this._element})},t.prototype.onKeyDown=function(t){var e=t.keyCode;(e===i.Keys.return||e===i.Keys.down||e===i.Keys.up||e===i.Keys.left||e===i.Keys.right)&&t.target===this._element&&(t.preventDefault(),t.stopPropagation(),this.activate.emit({type:"keydown",event:t,row:this.row,group:this.group,rowHeight:this.rowHeight,column:this.column,value:this.value,cellElement:this._element}))},t.prototype.onCheckboxChange=function(t){this.activate.emit({type:"checkbox",event:t,row:this.row,group:this.group,rowHeight:this.rowHeight,column:this.column,value:this.value,cellElement:this._element,treeStatus:"collapsed"})},t.prototype.calcSortDir=function(t){var e=this;if(t){var n=t.find((function(t){return t.prop===e.column.prop}));return n?n.dir:void 0}},t.prototype.stripHtml=function(t){return t.replace?t.replace(/<\/?[^>]+(>|$)/g,""):t},t.prototype.onTreeAction=function(){this.treeAction.emit(this.row)},t.prototype.calcLeftMargin=function(t,e){return t.isTreeColumn?e.level*(null!=t.treeLevelIndent?t.treeLevelIndent:50):0},a([o.Input(),r("design:type",Function)],t.prototype,"displayCheck",void 0),a([o.Input(),r("design:type",Object),r("design:paramtypes",[Object])],t.prototype,"group",null),a([o.Input(),r("design:type",Number),r("design:paramtypes",[Number])],t.prototype,"rowHeight",null),a([o.Input(),r("design:type",Boolean),r("design:paramtypes",[Boolean])],t.prototype,"isSelected",null),a([o.Input(),r("design:type",Boolean),r("design:paramtypes",[Boolean])],t.prototype,"expanded",null),a([o.Input(),r("design:type",Number),r("design:paramtypes",[Number])],t.prototype,"rowIndex",null),a([o.Input(),r("design:type",Object),r("design:paramtypes",[Object])],t.prototype,"column",null),a([o.Input(),r("design:type",Object),r("design:paramtypes",[Object])],t.prototype,"row",null),a([o.Input(),r("design:type",Array),r("design:paramtypes",[Array])],t.prototype,"sorts",null),a([o.Input(),r("design:type",String),r("design:paramtypes",[String])],t.prototype,"treeStatus",null),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"activate",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"treeAction",void 0),a([o.ViewChild("cellTemplate",{read:o.ViewContainerRef,static:!0}),r("design:type",o.ViewContainerRef)],t.prototype,"cellTemplate",void 0),a([o.HostBinding("class"),r("design:type",Object),r("design:paramtypes",[])],t.prototype,"columnCssClasses",null),a([o.HostBinding("style.width.px"),r("design:type",Number),r("design:paramtypes",[])],t.prototype,"width",null),a([o.HostBinding("style.minWidth.px"),r("design:type",Number),r("design:paramtypes",[])],t.prototype,"minWidth",null),a([o.HostBinding("style.maxWidth.px"),r("design:type",Number),r("design:paramtypes",[])],t.prototype,"maxWidth",null),a([o.HostBinding("style.height"),r("design:type",Object),r("design:paramtypes",[])],t.prototype,"height",null),a([o.HostListener("focus"),r("design:type",Function),r("design:paramtypes",[]),r("design:returntype",void 0)],t.prototype,"onFocus",null),a([o.HostListener("blur"),r("design:type",Function),r("design:paramtypes",[]),r("design:returntype",void 0)],t.prototype,"onBlur",null),a([o.HostListener("click",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],t.prototype,"onClick",null),a([o.HostListener("dblclick",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],t.prototype,"onDblClick",null),a([o.HostListener("keydown",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],t.prototype,"onKeyDown",null),a([o.Component({selector:"datatable-body-cell",changeDetection:o.ChangeDetectionStrategy.OnPush,template:'\n    <div\n      class="datatable-body-cell-label"\n      [style.margin-left.px]="calcLeftMargin(column, row)"\n    >\n      <label\n        *ngIf="\n          column.checkboxable &&\n          (!displayCheck || displayCheck(row, column, value))\n        "\n        class="datatable-checkbox"\n      >\n        <input\n          type="checkbox"\n          [checked]="isSelected"\n          (click)="onCheckboxChange($event)"\n        />\n      </label>\n      <ng-container *ngIf="column.isTreeColumn">\n        <button\n          *ngIf="!column.treeToggleTemplate"\n          class="datatable-tree-button"\n          [disabled]="treeStatus === \'disabled\'"\n          (click)="onTreeAction()"\n        >\n          <span>\n            <i\n              *ngIf="treeStatus === \'loading\'"\n              class="icon datatable-icon-collapse"\n            ></i>\n            <i\n              *ngIf="treeStatus === \'collapsed\'"\n              class="icon datatable-icon-up"\n            ></i>\n            <i\n              *ngIf="treeStatus === \'expanded\' || treeStatus === \'disabled\'"\n              class="icon datatable-icon-down"\n            ></i>\n          </span>\n        </button>\n        <ng-template\n          *ngIf="column.treeToggleTemplate"\n          [ngTemplateOutlet]="column.treeToggleTemplate"\n          [ngTemplateOutletContext]="{ cellContext: cellContext }"\n        >\n        </ng-template>\n      </ng-container>\n\n      <span\n        *ngIf="!column.cellTemplate"\n        [title]="sanitizedValue"\n        [innerHTML]="value"\n      >\n      </span>\n      <ng-template\n        #cellTemplate\n        *ngIf="column.cellTemplate"\n        [ngTemplateOutlet]="column.cellTemplate"\n        [ngTemplateOutletContext]="cellContext"\n      >\n      </ng-template>\n    </div>\n  '})],t)}()},YcCt:function(t,e,n){"use strict";function a(t,e){return Object.prototype.hasOwnProperty.call(t,e)}t.exports=function(t,e,n,r){n=n||"=";var o={};if("string"!=typeof t||0===t.length)return o;var i=/\+/g;t=t.split(e=e||"&");var s=1e3;r&&"number"==typeof r.maxKeys&&(s=r.maxKeys);var c=t.length;s>0&&c>s&&(c=s);for(var l=0;l<c;++l){var d,u,g,f,p=t[l].replace(i,"%20"),m=p.indexOf(n);m>=0?(d=p.substr(0,m),u=p.substr(m+1)):(d=p,u=""),g=decodeURIComponent(d),f=decodeURIComponent(u),a(o,g)?Array.isArray(o[g])?o[g].push(f):o[g]=[o[g],f]:o[g]=f}return o}},Ylt2:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("quSY");class r extends a.a{constructor(t,e){super(),this.subject=t,this.subscriber=e,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;const t=this.subject,e=t.observers;if(this.subject=null,!e||0===e.length||t.isStopped||t.closed)return;const n=e.indexOf(this.subscriber);-1!==n&&e.splice(n,1)}}},YuTi:function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},YzqF:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(){this._queue=[],this._pending=!1}return t.prototype.isLocked=function(){return this._pending},t.prototype.acquire=function(){var t=this,e=new Promise((function(e){return t._queue.push(e)}));return this._pending||this._dispatchNext(),e},t.prototype.runExclusive=function(t){return this.acquire().then((function(e){var n;try{n=t()}catch(a){throw e(),a}return Promise.resolve(n).then((function(t){return e(),t}),(function(t){throw e(),t}))}))},t.prototype._dispatchNext=function(){this._queue.length>0?(this._pending=!0,this._queue.shift()(this._dispatchNext.bind(this))):this._pending=!1},t}();e.default=a},Z0cm:function(t,e){t.exports=Array.isArray},Z21x:function(t,e,n){"use strict";n.d(e,"a",(function(){return a})),n("sne2");class a{constructor(t,e){this.location=t,this.actionLabels=e,this.name=this.actionLabels.CANCEL,this.back=()=>this.location.back()}}},Z4QM:function(t,e,n){!function(t){"use strict";var e=["جنوري","فيبروري","مارچ","اپريل","مئي","جون","جولاءِ","آگسٽ","سيپٽمبر","آڪٽوبر","نومبر","ڊسمبر"],n=["آچر","سومر","اڱارو","اربع","خميس","جمع","ڇنڇر"];t.defineLocale("sd",{months:e,monthsShort:e,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(t){return"شام"===t},meridiem:function(t,e,n){return t<12?"صبح":"شام"},calendar:{sameDay:"[اڄ] LT",nextDay:"[سڀاڻي] LT",nextWeek:"dddd [اڳين هفتي تي] LT",lastDay:"[ڪالهه] LT",lastWeek:"[گزريل هفتي] dddd [تي] LT",sameElse:"L"},relativeTime:{future:"%s پوء",past:"%s اڳ",s:"چند سيڪنڊ",ss:"%d سيڪنڊ",m:"هڪ منٽ",mm:"%d منٽ",h:"هڪ ڪلاڪ",hh:"%d ڪلاڪ",d:"هڪ ڏينهن",dd:"%d ڏينهن",M:"هڪ مهينو",MM:"%d مهينا",y:"هڪ سال",yy:"%d سال"},preparse:function(t){return t.replace(/،/g,",")},postformat:function(t){return t.replace(/,/g,"،")},week:{dow:1,doy:4}})}(n("wd/R"))},Z8oC:function(t,e,n){var a=n("y1pI");t.exports=function(t,e){var n=this.__data__,r=a(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this}},ZAMP:function(t,e,n){!function(t){"use strict";t.defineLocale("ms-my",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(t,e){return 12===t&&(t=0),"pagi"===e?t:"tengahari"===e?t>=11?t:t+12:"petang"===e||"malam"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"pagi":t<15?"tengahari":t<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}(n("wd/R"))},ZCgT:function(t,e,n){var a=n("tLB3");t.exports=function(t){return t?(t=a(t))===1/0||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}},ZCpW:function(t,e,n){var a=n("lm/5"),r=n("O7RO"),o=n("IOzZ");t.exports=function(t){var e=r(t);return 1==e.length&&e[0][2]?o(e[0][0],e[0][1]):function(n){return n===t||a(n,t,e)}}},ZDA6:function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var a=n("8Y7J"),r=n("IheW"),o=n("pL04");let i=(()=>{class t{constructor(t){this.http=t}list(){return this.http.get("ui-api/scope")}}return t.ngInjectableDef=a["ɵɵdefineInjectable"]({factory:function(){return new t(a["ɵɵinject"](r.c))},token:t,providedIn:o.a}),t})()},ZEkX:function(t,e,n){"use strict";n.d(e,"a",(function(){return l})),n.d(e,"b",(function(){return c})),n("Mxhz");var a=n("0+/T"),r=(n("sne2"),n("x38r")),o=n("oxzT"),i=n("mtw6"),s=n("vCyI");n("a0VL"),n("nSDx"),n("aexS"),n("9nlD");const c=new(n("EgGo").a)("user-management/users");class l{constructor(t,e,n,a,r,i,c,l,d){this.userService=t,this.emptyPipe=e,this.modalService=n,this.notificationService=a,this.authStorageService=r,this.i18n=i,this.urlBuilder=c,this.cdDatePipe=l,this.actionLabels=d,this.selection=new s.a,this.permission=this.authStorageService.getPermissions().user,this.tableActions=[{permission:"create",icon:o.a.add,routerLink:()=>this.urlBuilder.getCreate(),name:this.actionLabels.CREATE},{permission:"update",icon:o.a.edit,routerLink:()=>this.selection.first()&&this.urlBuilder.getEdit(this.selection.first().username),name:this.actionLabels.EDIT},{permission:"delete",icon:o.a.destroy,click:()=>this.deleteUserModal(),name:this.actionLabels.DELETE}]}ngOnInit(){this.columns=[{name:this.i18n("Username"),prop:"username",flexGrow:1},{name:this.i18n("Name"),prop:"name",flexGrow:1,pipe:this.emptyPipe},{name:this.i18n("Email"),prop:"email",flexGrow:1,pipe:this.emptyPipe},{name:this.i18n("Roles"),prop:"roles",flexGrow:1,cellTemplate:this.userRolesTpl},{name:this.i18n("Enabled"),prop:"enabled",flexGrow:1,cellTransformation:r.a.checkIcon},{name:this.i18n("Password expiration date"),prop:"pwdExpirationDate",flexGrow:1,pipe:this.cdDatePipe}]}getUsers(){this.userService.list().subscribe(t=>{t.forEach(t=>{t.pwdExpirationDate&&t.pwdExpirationDate>0&&(t.pwdExpirationDate=1e3*t.pwdExpirationDate)}),this.users=t})}updateSelection(t){this.selection=t}deleteUser(t){this.userService.delete(t).subscribe(()=>{this.getUsers(),this.modalRef.hide(),this.notificationService.show(i.a.success,this.i18n('Deleted user "{{username}}"',{username:t}))},()=>{this.modalRef.content.stopLoadingSpinner()})}deleteUserModal(){const t=this.authStorageService.getUsername(),e=this.selection.first().username;t!==e?this.modalRef=this.modalService.show(a.a,{initialState:{itemDescription:"User",itemNames:[e],submitAction:()=>this.deleteUser(e)}}):this.notificationService.show(i.a.error,this.i18n('Failed to delete user "{{username}}"',{username:e}),this.i18n('You are currently logged in as "{{username}}".',{username:e}))}}},ZUHj:function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var a=n("51Dv"),r=n("SeVD"),o=n("HDdC");function i(t,e,n,i,s=new a.a(t,n,i)){if(!s.closed)return e instanceof o.a?e.subscribe(s):Object(r.a)(e)(s)}},ZUd8:function(t,e,n){var a=n("ppGB"),r=n("HYAF"),o=function(t){return function(e,n){var o,i,s=String(r(e)),c=a(n),l=s.length;return c<0||c>=l?t?"":void 0:(o=s.charCodeAt(c))<55296||o>56319||c+1===l||(i=s.charCodeAt(c+1))<56320||i>57343?t?s.charAt(c):o:t?s.slice(c,c+2):i-56320+(o-55296<<10)+65536}};t.exports={codeAt:o(!1),charAt:o(!0)}},ZWtO:function(t,e,n){var a=n("4uTw"),r=n("9Nap");t.exports=function(t,e){for(var n=0,o=(e=a(e,t)).length;null!=t&&n<o;)t=t[r(e[n++])];return n&&n==o?t:void 0}},Zduo:function(t,e,n){!function(t){"use strict";t.defineLocale("eo",{months:"januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec".split("_"),weekdays:"dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato".split("_"),weekdaysShort:"dim_lun_mard_merk_ĵaŭ_ven_sab".split("_"),weekdaysMin:"di_lu_ma_me_ĵa_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D[-a de] MMMM, YYYY",LLL:"D[-a de] MMMM, YYYY HH:mm",LLLL:"dddd, [la] D[-a de] MMMM, YYYY HH:mm"},meridiemParse:/[ap]\.t\.m/i,isPM:function(t){return"p"===t.charAt(0).toLowerCase()},meridiem:function(t,e,n){return t>11?n?"p.t.m.":"P.T.M.":n?"a.t.m.":"A.T.M."},calendar:{sameDay:"[Hodiaŭ je] LT",nextDay:"[Morgaŭ je] LT",nextWeek:"dddd [je] LT",lastDay:"[Hieraŭ je] LT",lastWeek:"[pasinta] dddd [je] LT",sameElse:"L"},relativeTime:{future:"post %s",past:"antaŭ %s",s:"sekundoj",ss:"%d sekundoj",m:"minuto",mm:"%d minutoj",h:"horo",hh:"%d horoj",d:"tago",dd:"%d tagoj",M:"monato",MM:"%d monatoj",y:"jaro",yy:"%d jaroj"},dayOfMonthOrdinalParse:/\d{1,2}a/,ordinal:"%da",week:{dow:1,doy:7}})}(n("wd/R"))},ZfDv:function(t,e,n){var a=n("hh1v"),r=n("6LWA"),o=n("tiKp")("species");t.exports=function(t,e){var n;return r(t)&&("function"!=typeof(n=t.constructor)||n!==Array&&!r(n.prototype)?a(n)&&null===(n=n[o])&&(n=void 0):n=void 0),new(void 0===n?Array:n)(0===e?0:e)}},ZhuC:function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var a=n("8Y7J"),r=n("f95s"),o=function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},i=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},s=function(){function t(){}return o([Object(a.Input)(),i("design:type",a.TemplateRef)],t.prototype,"template",void 0),o([Object(a.Input)(),i("design:type",r.a)],t.prototype,"node",void 0),o([Object(a.Component)({encapsulation:a.ViewEncapsulation.None,selector:"tree-loading-component",template:'\n    <span *ngIf="!template">loading...</span>\n    <ng-container\n      [ngTemplateOutlet]="template"\n      [ngTemplateOutletContext]="{ $implicit: node }">\n    </ng-container>\n  '})],t)}()},ZirO:function(t,e){t.exports=function(t,e){for(var n=-1,a=null==t?0:t.length;++n<a;)if(!e(t[n],n,t))return!1;return!0}},a0VL:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{constructor(t){this.datePipe=t}transform(t){return null===t||""===t?"":this.datePipe.transform(t,"shortDate")+" "+this.datePipe.transform(t,"mediumTime")}}},a278:function(t,e,n){"use strict";var a=n("8Y7J"),r=n("QC43"),o=n("XFyV"),i=n("DqMs"),s=n("/NlG"),c=n("GiVz"),l=n("s7LF"),d=n("SVse");n("insk"),n("mSOc"),n("cUpR"),n("20UP"),n("+0ag"),n.d(e,"a",(function(){return u})),n.d(e,"b",(function(){return b}));var u=a["ɵcrt"]({encapsulation:0,styles:[[".grafana[_ngcontent-%COMP%]{width:100%;height:600px;z-index:0}.grafana_one[_ngcontent-%COMP%]{height:400px}.grafana_two[_ngcontent-%COMP%]{height:750px}.grafana_three[_ngcontent-%COMP%]{height:900px}.timepicker[_ngcontent-%COMP%]   label[_ngcontent-%COMP%]{font-weight:700}.dropdown-menu[_ngcontent-%COMP%]{top:20px;right:20px;left:auto}"]],data:{}});function g(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"cd-loading-panel",[],null,null,null,r.b,r.a)),a["ɵdid"](1,49152,null,0,o.a,[],null,null),(t()(),a["ɵted"](-1,0,["Loading panel data..."]))],null,null)}function f(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,5,"cd-alert-panel",[["type","info"]],null,null,null,i.b,i.a)),a["ɵdid"](1,114688,null,0,s.a,[c.a],{type:[0,"type"]},null),(t()(),a["ɵted"](-1,0,["Please consult the "])),(t()(),a["ɵeld"](3,0,null,0,1,"a",[["target","_blank"]],[[8,"href",4]],null,null,null,null)),(t()(),a["ɵted"](-1,null,["documentation"])),(t()(),a["ɵted"](-1,0,[" on how to configure and enable the monitoring functionality."]))],(function(t,e){t(e,1,0,"info")}),(function(t,e){t(e,3,0,a["ɵinlineInterpolate"](1,"",e.component.docsUrl,""))}))}function p(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,5,"cd-alert-panel",[["type","info"]],null,null,null,i.b,i.a)),a["ɵdid"](1,114688,null,0,s.a,[c.a],{type:[0,"type"]},null),(t()(),a["ɵted"](-1,0,["Grafana Dashboard doesn't exist. Please refer to "])),(t()(),a["ɵeld"](3,0,null,0,1,"a",[["target","_blank"]],[[8,"href",4]],null,null,null,null)),(t()(),a["ɵted"](-1,null,["documentation"])),(t()(),a["ɵted"](-1,0,[" on how to add dashboards to Grafana."]))],(function(t,e){t(e,1,0,"info")}),(function(t,e){t(e,3,0,a["ɵinlineInterpolate"](1,"",e.component.docsUrl,""))}))}function m(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),a["ɵdid"](1,147456,null,0,l.v,[a.ElementRef,a.Renderer2,[2,l.A]],{ngValue:[0,"ngValue"]},null),a["ɵdid"](2,147456,null,0,l.F,[a.ElementRef,a.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(t()(),a["ɵted"](3,null,[""," "]))],(function(t,e){t(e,1,0,e.context.$implicit.value),t(e,2,0,e.context.$implicit.value)}),(function(t,e){t(e,3,0,e.context.$implicit.name)}))}function h(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,24,null,null,null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,17,"div",[["class","row"]],null,null,null,null,null)),(t()(),a["ɵeld"](2,0,null,null,16,"div",[["class","col-12"]],null,null,null,null,null)),(t()(),a["ɵeld"](3,0,null,null,15,"div",[["class","form-inline timepicker"]],null,null,null,null,null)),(t()(),a["ɵeld"](4,0,null,null,1,"label",[["class","ml-1 my-1 col-form-label"],["for","timepicker"]],null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["Grafana Time Picker"])),(t()(),a["ɵeld"](6,0,null,null,7,"select",[["class","custom-select my-1 mx-3"],["id","timepicker"],["name","timepicker"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],(function(t,e,n){var r=!0,o=t.component;return"change"===e&&(r=!1!==a["ɵnov"](t,7).onChange(n.target.value)&&r),"blur"===e&&(r=!1!==a["ɵnov"](t,7).onTouched()&&r),"ngModelChange"===e&&(r=!1!==(o.time=n)&&r),"ngModelChange"===e&&(r=!1!==o.onTimepickerChange(n)&&r),r}),null,null)),a["ɵdid"](7,16384,null,0,l.A,[a.Renderer2,a.ElementRef],null,null),a["ɵprd"](1024,null,l.p,(function(t){return[t]}),[l.A]),a["ɵdid"](9,671744,null,0,l.u,[[8,null],[8,null],[8,null],[6,l.p]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),a["ɵprd"](2048,null,l.q,null,[l.u]),a["ɵdid"](11,16384,null,0,l.r,[[4,l.q]],null,null),(t()(),a["ɵand"](16777216,null,null,1,null,m)),a["ɵdid"](13,278528,null,0,d.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),a["ɵeld"](14,0,null,null,4,"button",[["class","btn btn-light my-1"],["title","Reset Settings"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.reset()&&a),a}),null,null)),(t()(),a["ɵeld"](15,0,null,null,3,"i",[],null,null,null,null,null)),a["ɵprd"](512,null,d["ɵNgClassImpl"],d["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](17,278528,null,0,d.NgClass,[d["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),a["ɵpad"](18,1),(t()(),a["ɵeld"](19,0,null,null,5,"div",[["class","row"]],null,null,null,null,null)),(t()(),a["ɵeld"](20,0,null,null,4,"div",[["class","col-12"]],null,null,null,null,null)),(t()(),a["ɵeld"](21,0,null,null,3,"div",[["class","grafana-container"]],null,null,null,null,null)),(t()(),a["ɵeld"](22,0,[["iframe",1]],null,2,"iframe",[["class","grafana"],["frameborder","0"],["id","iframe"],["scrolling","no"]],[[8,"src",5]],null,null,null,null)),a["ɵprd"](512,null,d["ɵNgClassImpl"],d["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](24,278528,null,0,d.NgClass,[d["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null)],(function(t,e){var n=e.component;t(e,9,0,"timepicker",n.time),t(e,13,0,n.grafanaTimes);var a=t(e,18,0,n.icons.undo);t(e,17,0,a),t(e,24,0,"grafana",n.panelStyle)}),(function(t,e){var n=e.component;t(e,6,0,a["ɵnov"](e,11).ngClassUntouched,a["ɵnov"](e,11).ngClassTouched,a["ɵnov"](e,11).ngClassPristine,a["ɵnov"](e,11).ngClassDirty,a["ɵnov"](e,11).ngClassValid,a["ɵnov"](e,11).ngClassInvalid,a["ɵnov"](e,11).ngClassPending),t(e,22,0,n.grafanaSrc)}))}function b(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,1,null,g)),a["ɵdid"](1,16384,null,0,d.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,f)),a["ɵdid"](3,16384,null,0,d.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,p)),a["ɵdid"](5,16384,null,0,d.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,h)),a["ɵdid"](7,16384,null,0,d.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0,n.loading&&n.grafanaExist),t(e,3,0,!n.grafanaExist),t(e,5,0,!n.dashboardExist),t(e,7,0,n.grafanaExist&&n.dashboardExist)}),null)}},a40w:function(t,e,n){"use strict";var a=n("8Y7J"),r=n("EEJc"),o=n("ajRT"),i=n("s7LF"),s=n("+gVj"),c=n("SVse"),l=n("gp3X"),d=n("sb0X"),u=n("KVJa"),g=n("Z21x"),f=n("sne2"),p=n("OLbh"),m=n("LqlI");n.d(e,"a",(function(){return v}));var h=a["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function b(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,0,null,null,null,null,null,null,null))],null,null)}function _(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"p",[],null,null,null,null,null)),(t()(),a["ɵted"](1,null,[" "," "]))],null,(function(t,e){t(e,1,0,e.component.description)}))}function y(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,22,"cd-modal",[],null,[[null,"hide"]],(function(t,e,n){var a=!0;return"hide"===e&&(a=!1!==t.component.cancel()&&a),a}),r.c,r.b)),a["ɵdid"](1,49152,null,0,o.a,[],null,{hide:"hide"}),(t()(),a["ɵeld"](2,0,null,0,1,null,null,null,null,null,null,null)),(t()(),a["ɵted"](3,null,["",""])),(t()(),a["ɵeld"](4,0,null,1,18,null,null,null,null,null,null,null)),(t()(),a["ɵeld"](5,0,null,null,17,"form",[["name","confirmationForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(t,e,n){var r=!0;return"submit"===e&&(r=!1!==a["ɵnov"](t,7).onSubmit(n)&&r),"reset"===e&&(r=!1!==a["ɵnov"](t,7).onReset()&&r),"submit"===e&&(r=!1!==a["ɵnov"](t,10).onSubmit()&&r),r}),null,null)),a["ɵdid"](6,16384,null,0,i.G,[],null,null),a["ɵdid"](7,540672,[["formDir",4]],0,i.l,[[8,null],[8,null]],{form:[0,"form"]},null),a["ɵprd"](2048,null,i.d,null,[i.l]),a["ɵdid"](9,16384,null,0,i.s,[[4,i.d]],null,null),a["ɵdid"](10,16384,null,0,s.d,[],{formGroup:[0,"formGroup"]},null),(t()(),a["ɵeld"](11,0,null,null,4,"div",[["class","modal-body"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,b)),a["ɵdid"](13,540672,null,0,c.NgTemplateOutlet,[a.ViewContainerRef],{ngTemplateOutletContext:[0,"ngTemplateOutletContext"],ngTemplateOutlet:[1,"ngTemplateOutlet"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,_)),a["ɵdid"](15,16384,null,0,c.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵeld"](16,0,null,null,6,"div",[["class","modal-footer"]],null,null,null,null,null)),(t()(),a["ɵeld"](17,0,null,null,5,"div",[["class","button-group text-right"]],null,null,null,null,null)),(t()(),a["ɵeld"](18,0,null,null,2,"cd-submit-button",[],null,[[null,"submitAction"]],(function(t,e,n){var a=!0,r=t.component;return"submitAction"===e&&(a=!1!==r.onSubmit(r.confirmationForm.value)&&a),a}),l.b,l.a)),a["ɵdid"](19,114688,null,0,d.a,[a.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(t()(),a["ɵted"](20,0,[" "," "])),(t()(),a["ɵeld"](21,0,null,null,1,"cd-back-button",[["name","Cancel"]],null,null,null,u.b,u.a)),a["ɵdid"](22,49152,null,0,g.a,[c.Location,f.b],{name:[0,"name"],back:[1,"back"]},null)],(function(t,e){var n=e.component;t(e,7,0,n.confirmationForm),t(e,10,0,n.confirmationForm),t(e,13,0,n.bodyContext,n.bodyTpl),t(e,15,0,n.description),t(e,19,0,n.confirmationForm),t(e,22,0,"Cancel",n.boundCancel)}),(function(t,e){var n=e.component;t(e,3,0,n.titleText),t(e,5,0,a["ɵnov"](e,9).ngClassUntouched,a["ɵnov"](e,9).ngClassTouched,a["ɵnov"](e,9).ngClassPristine,a["ɵnov"](e,9).ngClassDirty,a["ɵnov"](e,9).ngClassValid,a["ɵnov"](e,9).ngClassInvalid,a["ɵnov"](e,9).ngClassPending),t(e,20,0,n.buttonText)}))}function O(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"cd-confirmation-modal",[],null,null,null,y,h)),a["ɵdid"](1,245760,null,0,p.a,[m.a,m.b],null,null)],(function(t,e){t(e,1,0)}),null)}var v=a["ɵccf"]("cd-confirmation-modal",p.a,O,{},{},[])},a96k:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{constructor(t,e,n,a=!0){this.selected=t,this.name=e,this.description=n,this.enabled=a}}},aGrj:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("eIep");function r(t,e){return e?Object(a.a)(()=>t,e):Object(a.a)(()=>t)}},aHM3:function(t,e,n){"use strict";n.d(e,"a",(function(){return a})),n("8Y7J"),n("s7LF");class a{static forRoot(){return{ngModule:a,providers:[]}}}},aIdf:function(t,e,n){!function(t){"use strict";function e(t,e,n){return t+" "+function(t,e){return 2===e?function(t){var e={m:"v",b:"v",d:"z"};return void 0===e[t.charAt(0)]?t:e[t.charAt(0)]+t.substring(1)}(t):t}({mm:"munutenn",MM:"miz",dd:"devezh"}[n],t)}t.defineLocale("br",{months:"Genver_C'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),monthsShort:"Gen_C'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),weekdays:"Sul_Lun_Meurzh_Merc'her_Yaou_Gwener_Sadorn".split("_"),weekdaysShort:"Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),weekdaysMin:"Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h[e]mm A",LTS:"h[e]mm:ss A",L:"DD/MM/YYYY",LL:"D [a viz] MMMM YYYY",LLL:"D [a viz] MMMM YYYY h[e]mm A",LLLL:"dddd, D [a viz] MMMM YYYY h[e]mm A"},calendar:{sameDay:"[Hiziv da] LT",nextDay:"[Warc'hoazh da] LT",nextWeek:"dddd [da] LT",lastDay:"[Dec'h da] LT",lastWeek:"dddd [paset da] LT",sameElse:"L"},relativeTime:{future:"a-benn %s",past:"%s 'zo",s:"un nebeud segondennoù",ss:"%d eilenn",m:"ur vunutenn",mm:e,h:"un eur",hh:"%d eur",d:"un devezh",dd:e,M:"ur miz",MM:e,y:"ur bloaz",yy:function(t){switch(function t(e){return e>9?t(e%10):e}(t)){case 1:case 3:case 4:case 5:case 9:return t+" bloaz";default:return t+" vloaz"}}},dayOfMonthOrdinalParse:/\d{1,2}(añ|vet)/,ordinal:function(t){return t+(1===t?"añ":"vet")},week:{dow:1,doy:4}})}(n("wd/R"))},aIsn:function(t,e,n){!function(t){"use strict";t.defineLocale("mi",{months:"Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea".split("_"),monthsShort:"Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki".split("_"),monthsRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,weekdays:"Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei".split("_"),weekdaysShort:"Ta_Ma_Tū_We_Tāi_Pa_Hā".split("_"),weekdaysMin:"Ta_Ma_Tū_We_Tāi_Pa_Hā".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [i] HH:mm",LLLL:"dddd, D MMMM YYYY [i] HH:mm"},calendar:{sameDay:"[i teie mahana, i] LT",nextDay:"[apopo i] LT",nextWeek:"dddd [i] LT",lastDay:"[inanahi i] LT",lastWeek:"dddd [whakamutunga i] LT",sameElse:"L"},relativeTime:{future:"i roto i %s",past:"%s i mua",s:"te hēkona ruarua",ss:"%d hēkona",m:"he meneti",mm:"%d meneti",h:"te haora",hh:"%d haora",d:"he ra",dd:"%d ra",M:"he marama",MM:"%d marama",y:"he tau",yy:"%d tau"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n("wd/R"))},aQkU:function(t,e,n){!function(t){"use strict";t.defineLocale("mk",{months:"јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември".split("_"),monthsShort:"јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек".split("_"),weekdays:"недела_понеделник_вторник_среда_четврток_петок_сабота".split("_"),weekdaysShort:"нед_пон_вто_сре_чет_пет_саб".split("_"),weekdaysMin:"нe_пo_вт_ср_че_пе_сa".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[Денес во] LT",nextDay:"[Утре во] LT",nextWeek:"[Во] dddd [во] LT",lastDay:"[Вчера во] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[Изминатата] dddd [во] LT";case 1:case 2:case 4:case 5:return"[Изминатиот] dddd [во] LT"}},sameElse:"L"},relativeTime:{future:"после %s",past:"пред %s",s:"неколку секунди",ss:"%d секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дена",M:"месец",MM:"%d месеци",y:"година",yy:"%d години"},dayOfMonthOrdinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(t){var e=t%10,n=t%100;return 0===t?t+"-ев":0===n?t+"-ен":n>10&&n<20?t+"-ти":1===e?t+"-ви":2===e?t+"-ри":7===e||8===e?t+"-ми":t+"-ти"},week:{dow:1,doy:7}})}(n("wd/R"))},aTeT:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SortType=function(t){return t.single="single",t.multi="multi",t}(e.SortType||{})},aXbf:function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var a=n("LvDl"),r=n("8Y7J");let o=(()=>{class t{constructor(){}format_number(t,e,n,r=1){if(a.isString(t)&&(t=Number(t)),!a.isNumber(t))return"-";let o=t<1?0:Math.floor(Math.log(t)/Math.log(e));o=o>=n.length?n.length-1:o;let i=a.round(t/Math.pow(e,o),r).toString();return""===i?"-":(""!==n[o]&&(i=`${i} ${n[o]}`),i)}toBytes(t,e=null){const n=["b","k","m","g","t","p","e","z","y"],r=RegExp("^(\\d+(.\\d+)?) ?(["+n.join("")+"]?(b|ib|B/s)?)?$","i").exec(t);if(null===r)return e;let o=parseFloat(r[1]);return a.isString(r[3])&&(o*=Math.pow(1024,n.indexOf(r[3].toLowerCase()[0]))),Math.round(o)}toMilliseconds(t){const e=/^\s*(\d+)\s*(ms)?\s*$/i.exec(t);return null!==e?+e[1]:0}toIops(t){const e=/^\s*(\d+)\s*(IOPS)?\s*$/i.exec(t);return null!==e?+e[1]:0}}return t.ngInjectableDef=r["ɵɵdefineInjectable"]({factory:function(){return new t},token:t,providedIn:"root"}),t})()},adU4:function(t,e,n){var a=n("y1pI"),r=Array.prototype.splice;t.exports=function(t){var e=this.__data__,n=a(e,t);return!(n<0||(n==e.length-1?e.pop():r.call(e,n,1),--this.size,0))}},ae7Z:function(t,e,n){"use strict";function a(t){var e={left:[],center:[],right:[]};if(t)for(var n=0,a=t;n<a.length;n++){var r=a[n];r.frozenLeft?e.left.push(r):r.frozenRight?e.right.push(r):e.center.push(r)}return e}function r(t,e){var n=0;if(t)for(var a=0,r=t;a<r.length;a++){var o=r[a];n+=parseFloat(e&&o[e]?o[e]:o.width)}return n}Object.defineProperty(e,"__esModule",{value:!0}),e.columnsByPin=a,e.columnGroupWidths=function(t,e){return{left:r(t.left),center:r(t.center),right:r(t.right),total:Math.floor(r(e))}},e.columnTotalWidth=r,e.columnsTotalWidth=function(t,e){for(var n=0,a=0,r=t;a<r.length;a++){var o=r[a];n+=e&&o[e]?o[e]:o.width}return n},e.columnsByPinArr=function(t){var e=[],n=a(t);return e.push({type:"left",columns:n.left}),e.push({type:"center",columns:n.center}),e.push({type:"right",columns:n.right}),e}},aexS:function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var a=n("2Vo4"),r=n("jKX/"),o=n("8Y7J");let i=(()=>{class t{constructor(){this.isPwdDisplayedSource=new a.a(!1),this.isPwdDisplayed$=this.isPwdDisplayedSource.asObservable()}set(t,e,n={},a=!1,o=null,i=!1){localStorage.setItem("dashboard_username",t),localStorage.setItem("access_token",e),localStorage.setItem("dashboard_permissions",JSON.stringify(new r.a(n))),localStorage.setItem("user_pwd_expiration_date",String(o)),localStorage.setItem("user_pwd_update_required",String(i)),localStorage.setItem("sso",String(a))}remove(){localStorage.removeItem("access_token"),localStorage.removeItem("dashboard_username"),localStorage.removeItem("user_pwd_expiration_data"),localStorage.removeItem("user_pwd_update_required")}getToken(){return localStorage.getItem("access_token")}isLoggedIn(){return null!==localStorage.getItem("dashboard_username")}getUsername(){return localStorage.getItem("dashboard_username")}getPermissions(){return JSON.parse(localStorage.getItem("dashboard_permissions")||JSON.stringify(new r.a({})))}getPwdExpirationDate(){return Number(localStorage.getItem("user_pwd_expiration_date"))}getPwdUpdateRequired(){return"true"===localStorage.getItem("user_pwd_update_required")}isSSO(){return"true"===localStorage.getItem("sso")}}return t.ngInjectableDef=o["ɵɵdefineInjectable"]({factory:function(){return new t},token:t,providedIn:"root"}),t})()},afO8:function(t,e,n){var a,r,o,i=n("f5p1"),s=n("2oRo"),c=n("hh1v"),l=n("kRJp"),d=n("UTVS"),u=n("93I0"),g=n("0BK2");if(i){var f=new(0,s.WeakMap),p=f.get,m=f.has,h=f.set;a=function(t,e){return h.call(f,t,e),e},r=function(t){return p.call(f,t)||{}},o=function(t){return m.call(f,t)}}else{var b=u("state");g[b]=!0,a=function(t,e){return l(t,b,e),e},r=function(t){return d(t,b)?t[b]:{}},o=function(t){return d(t,b)}}t.exports={set:a,get:r,has:o,enforce:function(t){return o(t)?r(t):a(t,{})},getterFor:function(t){return function(e){var n;if(!c(e)||(n=r(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return n}}}},afOK:function(t,e,n){t.exports=n("pZt1")},ajRT:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("8Y7J");class r{constructor(){this.hide=new a.EventEmitter}close(){this.modalRef&&this.modalRef.hide(),this.hide.emit()}}},atuK:function(t,e,n){"use strict";n.d(e,"a",(function(){return y})),n.d(e,"b",(function(){return R})),n.d(e,"c",(function(){return H}));var a=n("8Y7J"),r=n("ienR"),o=n("SVse"),i=(n("s7LF"),n("2uy1")),s=a["ɵcrt"]({encapsulation:2,styles:[],data:{animation:[{type:7,name:"datepickerAnimation",definitions:[{type:0,name:"animated-down",styles:{type:6,styles:{height:"*",overflow:"hidden"},offset:null},options:void 0},{type:1,expr:"* => animated-down",animation:[{type:6,styles:{height:0,overflow:"hidden"},offset:null},{type:4,styles:null,timings:"220ms cubic-bezier(0, 0, 0.2, 1)"}],options:null},{type:0,name:"animated-up",styles:{type:6,styles:{height:"*",overflow:"hidden"},offset:null},options:void 0},{type:1,expr:"* => animated-up",animation:[{type:6,styles:{height:"*",overflow:"hidden"},offset:null},{type:4,styles:null,timings:"220ms cubic-bezier(0, 0, 0.2, 1)"}],options:null},{type:1,expr:"* => unanimated",animation:{type:4,styles:null,timings:"0s"},options:null}],options:{}}]}});function c(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"bs-days-calendar-view",[],[[2,"bs-datepicker-multiple",null]],[[null,"onNavigate"],[null,"onViewMode"],[null,"onHover"],[null,"onHoverWeek"],[null,"onSelect"]],(function(t,e,n){var a=!0,r=t.component;return"onNavigate"===e&&(a=!1!==r.navigateTo(n)&&a),"onViewMode"===e&&(a=!1!==r.setViewMode(n)&&a),"onHover"===e&&(a=!1!==r.dayHoverHandler(n)&&a),"onHoverWeek"===e&&(a=!1!==r.weekHoverHandler(n)&&a),"onSelect"===e&&(a=!1!==r.daySelectHandler(n)&&a),a}),ut,ot)),a["ɵdid"](1,49152,null,0,r.z,[r.a],{calendar:[0,"calendar"],options:[1,"options"]},{onNavigate:"onNavigate",onViewMode:"onViewMode",onSelect:"onSelect",onHover:"onHover",onHoverWeek:"onHoverWeek"}),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef]),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef])],(function(t,e){var n=e.component;t(e,1,0,e.context.$implicit,a["ɵunv"](e,1,1,a["ɵnov"](e,2).transform(n.options)))}),(function(t,e){var n,r=e.component;t(e,0,0,(null==(n=a["ɵunv"](e,0,0,a["ɵnov"](e,3).transform(r.daysCalendar)))?null:n.length)>1)}))}function l(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"div",[["class","bs-media-container"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,2,null,c)),a["ɵdid"](2,278528,null,0,o.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef])],(function(t,e){var n=e.component;t(e,2,0,a["ɵunv"](e,2,0,a["ɵnov"](e,3).transform(n.daysCalendar)))}),null)}function d(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"bs-month-calendar-view",[],[[2,"bs-datepicker-multiple",null]],[[null,"onNavigate"],[null,"onViewMode"],[null,"onHover"],[null,"onSelect"]],(function(t,e,n){var a=!0,r=t.component;return"onNavigate"===e&&(a=!1!==r.navigateTo(n)&&a),"onViewMode"===e&&(a=!1!==r.setViewMode(n)&&a),"onHover"===e&&(a=!1!==r.monthHoverHandler(n)&&a),"onSelect"===e&&(a=!1!==r.monthSelectHandler(n)&&a),a}),mt,gt)),a["ɵdid"](1,49152,null,0,r.A,[],{calendar:[0,"calendar"]},{onNavigate:"onNavigate",onViewMode:"onViewMode",onSelect:"onSelect",onHover:"onHover"}),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef])],(function(t,e){t(e,1,0,e.context.$implicit)}),(function(t,e){var n,r=e.component;t(e,0,0,(null==(n=a["ɵunv"](e,0,0,a["ɵnov"](e,2).transform(r.daysCalendar)))?null:n.length)>1)}))}function u(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"div",[["class","bs-media-container"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,2,null,d)),a["ɵdid"](2,278528,null,0,o.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef])],(function(t,e){var n=e.component;t(e,2,0,a["ɵunv"](e,2,0,a["ɵnov"](e,3).transform(n.monthsCalendar)))}),null)}function g(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"bs-years-calendar-view",[],[[2,"bs-datepicker-multiple",null]],[[null,"onNavigate"],[null,"onViewMode"],[null,"onHover"],[null,"onSelect"]],(function(t,e,n){var a=!0,r=t.component;return"onNavigate"===e&&(a=!1!==r.navigateTo(n)&&a),"onViewMode"===e&&(a=!1!==r.setViewMode(n)&&a),"onHover"===e&&(a=!1!==r.yearHoverHandler(n)&&a),"onSelect"===e&&(a=!1!==r.yearSelectHandler(n)&&a),a}),yt,ht)),a["ɵdid"](1,49152,null,0,r.B,[],{calendar:[0,"calendar"]},{onNavigate:"onNavigate",onViewMode:"onViewMode",onSelect:"onSelect",onHover:"onHover"}),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef])],(function(t,e){t(e,1,0,e.context.$implicit)}),(function(t,e){var n,r=e.component;t(e,0,0,(null==(n=a["ɵunv"](e,0,0,a["ɵnov"](e,2).transform(r.daysCalendar)))?null:n.length)>1)}))}function f(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"div",[["class","bs-media-container"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,2,null,g)),a["ɵdid"](2,278528,null,0,o.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef])],(function(t,e){var n=e.component;t(e,2,0,a["ɵunv"](e,2,0,a["ɵnov"](e,3).transform(n.yearsCalendar)))}),null)}function p(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,4,"div",[["class","bs-datepicker-buttons"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,1,"button",[["class","btn btn-success"]],null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["Apply"])),(t()(),a["ɵeld"](3,0,null,null,1,"button",[["class","btn btn-default"]],null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["Cancel"]))],null,null)}function m(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"div",[["class","bs-datepicker-custom-range"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,1,"bs-custom-date-view",[],null,null,null,Pt,Ot)),a["ɵdid"](2,49152,null,0,r.C,[],{ranges:[0,"ranges"]},null)],(function(t,e){t(e,2,0,e.component._customRangesFish)}),null)}function h(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,16,"div",[["class","bs-datepicker"]],null,null,null,null,null)),a["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](2,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),(t()(),a["ɵeld"](3,0,null,null,11,"div",[["class","bs-datepicker-container"]],[[24,"@datepickerAnimation",0]],[[null,"@datepickerAnimation.done"]],(function(t,e,n){var a=!0;return"@datepickerAnimation.done"===e&&(a=!1!==t.component.positionServiceEnable()&&a),a}),null,null)),(t()(),a["ɵeld"](4,0,null,null,8,"div",[["class","bs-calendar-container"],["role","application"]],null,null,null,null,null)),a["ɵdid"](5,16384,null,0,o.NgSwitch,[],{ngSwitch:[0,"ngSwitch"]},null),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef]),(t()(),a["ɵand"](16777216,null,null,1,null,l)),a["ɵdid"](8,278528,null,0,o.NgSwitchCase,[a.ViewContainerRef,a.TemplateRef,o.NgSwitch],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,u)),a["ɵdid"](10,278528,null,0,o.NgSwitchCase,[a.ViewContainerRef,a.TemplateRef,o.NgSwitch],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,f)),a["ɵdid"](12,278528,null,0,o.NgSwitchCase,[a.ViewContainerRef,a.TemplateRef,o.NgSwitch],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,p)),a["ɵdid"](14,16384,null,0,o.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,m)),a["ɵdid"](16,16384,null,0,o.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,2,0,"bs-datepicker",n.containerClass),t(e,5,0,a["ɵunv"](e,5,0,a["ɵnov"](e,6).transform(n.viewMode))),t(e,8,0,"day"),t(e,10,0,"month"),t(e,12,0,"year"),t(e,14,0,!1),t(e,16,0,!1)}),(function(t,e){t(e,3,0,e.component.animationState)}))}function b(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,2,null,h)),a["ɵdid"](1,16384,null,0,o.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef])],(function(t,e){var n=e.component;t(e,1,0,a["ɵunv"](e,1,0,a["ɵnov"](e,2).transform(n.viewMode)))}),null)}function _(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"bs-datepicker-container",[["aria-label","calendar"],["class","bottom"],["role","dialog"]],null,[[null,"click"]],(function(t,e,n){var r=!0;return"click"===e&&(r=!1!==a["ɵnov"](t,3)._stopPropagation(n)&&r),r}),b,s)),a["ɵprd"](512,null,r.r,r.r,[]),a["ɵprd"](512,null,r.s,r.s,[r.t,r.j]),a["ɵdid"](3,245760,null,0,r.b,[a.Renderer2,r.a,r.r,a.ElementRef,r.t,r.s,i.a],null,null)],(function(t,e){t(e,3,0)}),null)}var y=a["ɵccf"]("bs-datepicker-container",r.b,_,{},{},[]),O=a["ɵcrt"]({encapsulation:2,styles:[],data:{animation:[{type:7,name:"datepickerAnimation",definitions:[{type:0,name:"animated-down",styles:{type:6,styles:{height:"*",overflow:"hidden"},offset:null},options:void 0},{type:1,expr:"* => animated-down",animation:[{type:6,styles:{height:0,overflow:"hidden"},offset:null},{type:4,styles:null,timings:"220ms cubic-bezier(0, 0, 0.2, 1)"}],options:null},{type:0,name:"animated-up",styles:{type:6,styles:{height:"*",overflow:"hidden"},offset:null},options:void 0},{type:1,expr:"* => animated-up",animation:[{type:6,styles:{height:"*",overflow:"hidden"},offset:null},{type:4,styles:null,timings:"220ms cubic-bezier(0, 0, 0.2, 1)"}],options:null},{type:1,expr:"* => unanimated",animation:{type:4,styles:null,timings:"0s"},options:null}],options:{}}]}});function v(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"bs-days-calendar-view",[],[[2,"bs-datepicker-multiple",null]],[[null,"onNavigate"],[null,"onViewMode"],[null,"onHover"],[null,"onHoverWeek"],[null,"onSelect"]],(function(t,e,n){var a=!0,r=t.component;return"onNavigate"===e&&(a=!1!==r.navigateTo(n)&&a),"onViewMode"===e&&(a=!1!==r.setViewMode(n)&&a),"onHover"===e&&(a=!1!==r.dayHoverHandler(n)&&a),"onHoverWeek"===e&&(a=!1!==r.weekHoverHandler(n)&&a),"onSelect"===e&&(a=!1!==r.daySelectHandler(n)&&a),a}),ut,ot)),a["ɵdid"](1,49152,null,0,r.z,[r.a],{calendar:[0,"calendar"],options:[1,"options"]},{onNavigate:"onNavigate",onViewMode:"onViewMode",onSelect:"onSelect",onHover:"onHover",onHoverWeek:"onHoverWeek"}),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef]),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef])],(function(t,e){var n=e.component;t(e,1,0,e.context.$implicit,a["ɵunv"](e,1,1,a["ɵnov"](e,2).transform(n.options)))}),(function(t,e){var n,r=e.component;t(e,0,0,(null==(n=a["ɵunv"](e,0,0,a["ɵnov"](e,3).transform(r.daysCalendar)))?null:n.length)>1)}))}function C(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"div",[["class","bs-media-container"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,2,null,v)),a["ɵdid"](2,278528,null,0,o.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef])],(function(t,e){var n=e.component;t(e,2,0,a["ɵunv"](e,2,0,a["ɵnov"](e,3).transform(n.daysCalendar)))}),null)}function P(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"bs-month-calendar-view",[],[[2,"bs-datepicker-multiple",null]],[[null,"onNavigate"],[null,"onViewMode"],[null,"onHover"],[null,"onSelect"]],(function(t,e,n){var a=!0,r=t.component;return"onNavigate"===e&&(a=!1!==r.navigateTo(n)&&a),"onViewMode"===e&&(a=!1!==r.setViewMode(n)&&a),"onHover"===e&&(a=!1!==r.monthHoverHandler(n)&&a),"onSelect"===e&&(a=!1!==r.monthSelectHandler(n)&&a),a}),mt,gt)),a["ɵdid"](1,49152,null,0,r.A,[],{calendar:[0,"calendar"]},{onNavigate:"onNavigate",onViewMode:"onViewMode",onSelect:"onSelect",onHover:"onHover"}),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef])],(function(t,e){t(e,1,0,e.context.$implicit)}),(function(t,e){var n,r=e.component;t(e,0,0,(null==(n=a["ɵunv"](e,0,0,a["ɵnov"](e,2).transform(r.daysCalendar)))?null:n.length)>1)}))}function M(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"div",[["class","bs-media-container"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,2,null,P)),a["ɵdid"](2,278528,null,0,o.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef])],(function(t,e){var n=e.component;t(e,2,0,a["ɵunv"](e,2,0,a["ɵnov"](e,3).transform(n.monthsCalendar)))}),null)}function x(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"bs-years-calendar-view",[],[[2,"bs-datepicker-multiple",null]],[[null,"onNavigate"],[null,"onViewMode"],[null,"onHover"],[null,"onSelect"]],(function(t,e,n){var a=!0,r=t.component;return"onNavigate"===e&&(a=!1!==r.navigateTo(n)&&a),"onViewMode"===e&&(a=!1!==r.setViewMode(n)&&a),"onHover"===e&&(a=!1!==r.yearHoverHandler(n)&&a),"onSelect"===e&&(a=!1!==r.yearSelectHandler(n)&&a),a}),yt,ht)),a["ɵdid"](1,49152,null,0,r.B,[],{calendar:[0,"calendar"]},{onNavigate:"onNavigate",onViewMode:"onViewMode",onSelect:"onSelect",onHover:"onHover"}),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef])],(function(t,e){t(e,1,0,e.context.$implicit)}),(function(t,e){var n,r=e.component;t(e,0,0,(null==(n=a["ɵunv"](e,0,0,a["ɵnov"](e,2).transform(r.daysCalendar)))?null:n.length)>1)}))}function w(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"div",[["class","bs-media-container"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,2,null,x)),a["ɵdid"](2,278528,null,0,o.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef])],(function(t,e){var n=e.component;t(e,2,0,a["ɵunv"](e,2,0,a["ɵnov"](e,3).transform(n.yearsCalendar)))}),null)}function T(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,4,"div",[["class","bs-datepicker-buttons"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,1,"button",[["class","btn btn-success"]],null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["Apply"])),(t()(),a["ɵeld"](3,0,null,null,1,"button",[["class","btn btn-default"]],null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["Cancel"]))],null,null)}function k(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"div",[["class","bs-datepicker-custom-range"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,1,"bs-custom-date-view",[],null,null,null,Pt,Ot)),a["ɵdid"](2,49152,null,0,r.C,[],{ranges:[0,"ranges"]},null)],(function(t,e){t(e,2,0,e.component._customRangesFish)}),null)}function S(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,16,"div",[["class","bs-datepicker"]],null,null,null,null,null)),a["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](2,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),(t()(),a["ɵeld"](3,0,null,null,11,"div",[["class","bs-datepicker-container"]],[[24,"@datepickerAnimation",0]],[[null,"@datepickerAnimation.done"]],(function(t,e,n){var a=!0;return"@datepickerAnimation.done"===e&&(a=!1!==t.component.positionServiceEnable()&&a),a}),null,null)),(t()(),a["ɵeld"](4,0,null,null,8,"div",[["class","bs-calendar-container"],["role","application"]],null,null,null,null,null)),a["ɵdid"](5,16384,null,0,o.NgSwitch,[],{ngSwitch:[0,"ngSwitch"]},null),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef]),(t()(),a["ɵand"](16777216,null,null,1,null,C)),a["ɵdid"](8,278528,null,0,o.NgSwitchCase,[a.ViewContainerRef,a.TemplateRef,o.NgSwitch],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,M)),a["ɵdid"](10,278528,null,0,o.NgSwitchCase,[a.ViewContainerRef,a.TemplateRef,o.NgSwitch],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,w)),a["ɵdid"](12,278528,null,0,o.NgSwitchCase,[a.ViewContainerRef,a.TemplateRef,o.NgSwitch],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,T)),a["ɵdid"](14,16384,null,0,o.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,k)),a["ɵdid"](16,16384,null,0,o.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,2,0,"bs-datepicker",n.containerClass),t(e,5,0,a["ɵunv"](e,5,0,a["ɵnov"](e,6).transform(n.viewMode))),t(e,8,0,"day"),t(e,10,0,"month"),t(e,12,0,"year"),t(e,14,0,!1),t(e,16,0,!1)}),(function(t,e){t(e,3,0,e.component.animationState)}))}function I(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,2,null,S)),a["ɵdid"](1,16384,null,0,o.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef])],(function(t,e){var n=e.component;t(e,1,0,a["ɵunv"](e,1,0,a["ɵnov"](e,2).transform(n.viewMode)))}),null)}function N(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"bs-datepicker-inline-container",[],null,[[null,"click"]],(function(t,e,n){var r=!0;return"click"===e&&(r=!1!==a["ɵnov"](t,3)._stopPropagation(n)&&r),r}),I,O)),a["ɵprd"](512,null,r.r,r.r,[]),a["ɵprd"](512,null,r.s,r.s,[r.t,r.j]),a["ɵdid"](3,245760,null,0,r.e,[a.Renderer2,r.a,r.r,a.ElementRef,r.t,r.s,i.a],null,null)],(function(t,e){t(e,3,0)}),null)}var R=a["ɵccf"]("bs-datepicker-inline-container",r.e,N,{},{},[]),A=a["ɵcrt"]({encapsulation:2,styles:[],data:{animation:[{type:7,name:"datepickerAnimation",definitions:[{type:0,name:"animated-down",styles:{type:6,styles:{height:"*",overflow:"hidden"},offset:null},options:void 0},{type:1,expr:"* => animated-down",animation:[{type:6,styles:{height:0,overflow:"hidden"},offset:null},{type:4,styles:null,timings:"220ms cubic-bezier(0, 0, 0.2, 1)"}],options:null},{type:0,name:"animated-up",styles:{type:6,styles:{height:"*",overflow:"hidden"},offset:null},options:void 0},{type:1,expr:"* => animated-up",animation:[{type:6,styles:{height:"*",overflow:"hidden"},offset:null},{type:4,styles:null,timings:"220ms cubic-bezier(0, 0, 0.2, 1)"}],options:null},{type:1,expr:"* => unanimated",animation:{type:4,styles:null,timings:"0s"},options:null}],options:{}}]}});function E(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"bs-days-calendar-view",[],[[2,"bs-datepicker-multiple",null]],[[null,"onNavigate"],[null,"onViewMode"],[null,"onHover"],[null,"onHoverWeek"],[null,"onSelect"]],(function(t,e,n){var a=!0,r=t.component;return"onNavigate"===e&&(a=!1!==r.navigateTo(n)&&a),"onViewMode"===e&&(a=!1!==r.setViewMode(n)&&a),"onHover"===e&&(a=!1!==r.dayHoverHandler(n)&&a),"onHoverWeek"===e&&(a=!1!==r.weekHoverHandler(n)&&a),"onSelect"===e&&(a=!1!==r.daySelectHandler(n)&&a),a}),ut,ot)),a["ɵdid"](1,49152,null,0,r.z,[r.a],{calendar:[0,"calendar"],options:[1,"options"]},{onNavigate:"onNavigate",onViewMode:"onViewMode",onSelect:"onSelect",onHover:"onHover",onHoverWeek:"onHoverWeek"}),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef]),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef])],(function(t,e){var n=e.component;t(e,1,0,e.context.$implicit,a["ɵunv"](e,1,1,a["ɵnov"](e,2).transform(n.options)))}),(function(t,e){var n,r=e.component;t(e,0,0,(null==(n=a["ɵunv"](e,0,0,a["ɵnov"](e,3).transform(r.daysCalendar)))?null:n.length)>1)}))}function D(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"div",[["class","bs-media-container"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,2,null,E)),a["ɵdid"](2,278528,null,0,o.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef])],(function(t,e){var n=e.component;t(e,2,0,a["ɵunv"](e,2,0,a["ɵnov"](e,3).transform(n.daysCalendar)))}),null)}function L(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"bs-month-calendar-view",[],[[2,"bs-datepicker-multiple",null]],[[null,"onNavigate"],[null,"onViewMode"],[null,"onHover"],[null,"onSelect"]],(function(t,e,n){var a=!0,r=t.component;return"onNavigate"===e&&(a=!1!==r.navigateTo(n)&&a),"onViewMode"===e&&(a=!1!==r.setViewMode(n)&&a),"onHover"===e&&(a=!1!==r.monthHoverHandler(n)&&a),"onSelect"===e&&(a=!1!==r.monthSelectHandler(n)&&a),a}),mt,gt)),a["ɵdid"](1,49152,null,0,r.A,[],{calendar:[0,"calendar"]},{onNavigate:"onNavigate",onViewMode:"onViewMode",onSelect:"onSelect",onHover:"onHover"}),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef])],(function(t,e){t(e,1,0,e.context.$implicit)}),(function(t,e){var n,r=e.component;t(e,0,0,(null==(n=a["ɵunv"](e,0,0,a["ɵnov"](e,2).transform(r.daysCalendar)))?null:n.length)>1)}))}function q(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"div",[["class","bs-media-container"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,2,null,L)),a["ɵdid"](2,278528,null,0,o.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef])],(function(t,e){var n=e.component;t(e,2,0,a["ɵunv"](e,2,0,a["ɵnov"](e,3).transform(n.monthsCalendar)))}),null)}function j(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"bs-years-calendar-view",[],[[2,"bs-datepicker-multiple",null]],[[null,"onNavigate"],[null,"onViewMode"],[null,"onHover"],[null,"onSelect"]],(function(t,e,n){var a=!0,r=t.component;return"onNavigate"===e&&(a=!1!==r.navigateTo(n)&&a),"onViewMode"===e&&(a=!1!==r.setViewMode(n)&&a),"onHover"===e&&(a=!1!==r.yearHoverHandler(n)&&a),"onSelect"===e&&(a=!1!==r.yearSelectHandler(n)&&a),a}),yt,ht)),a["ɵdid"](1,49152,null,0,r.B,[],{calendar:[0,"calendar"]},{onNavigate:"onNavigate",onViewMode:"onViewMode",onSelect:"onSelect",onHover:"onHover"}),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef])],(function(t,e){t(e,1,0,e.context.$implicit)}),(function(t,e){var n,r=e.component;t(e,0,0,(null==(n=a["ɵunv"](e,0,0,a["ɵnov"](e,2).transform(r.daysCalendar)))?null:n.length)>1)}))}function F(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"div",[["class","bs-media-container"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,2,null,j)),a["ɵdid"](2,278528,null,0,o.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef])],(function(t,e){var n=e.component;t(e,2,0,a["ɵunv"](e,2,0,a["ɵnov"](e,3).transform(n.yearsCalendar)))}),null)}function z(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,4,"div",[["class","bs-datepicker-buttons"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,1,"button",[["class","btn btn-success"]],null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["Apply"])),(t()(),a["ɵeld"](3,0,null,null,1,"button",[["class","btn btn-default"]],null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["Cancel"]))],null,null)}function V(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"div",[["class","bs-datepicker-custom-range"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,1,"bs-custom-date-view",[],null,null,null,Pt,Ot)),a["ɵdid"](2,49152,null,0,r.C,[],{ranges:[0,"ranges"]},null)],(function(t,e){t(e,2,0,e.component._customRangesFish)}),null)}function G(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,16,"div",[["class","bs-datepicker"]],null,null,null,null,null)),a["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](2,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),(t()(),a["ɵeld"](3,0,null,null,11,"div",[["class","bs-datepicker-container"]],[[24,"@datepickerAnimation",0]],[[null,"@datepickerAnimation.done"]],(function(t,e,n){var a=!0;return"@datepickerAnimation.done"===e&&(a=!1!==t.component.positionServiceEnable()&&a),a}),null,null)),(t()(),a["ɵeld"](4,0,null,null,8,"div",[["class","bs-calendar-container"],["role","application"]],null,null,null,null,null)),a["ɵdid"](5,16384,null,0,o.NgSwitch,[],{ngSwitch:[0,"ngSwitch"]},null),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef]),(t()(),a["ɵand"](16777216,null,null,1,null,D)),a["ɵdid"](8,278528,null,0,o.NgSwitchCase,[a.ViewContainerRef,a.TemplateRef,o.NgSwitch],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,q)),a["ɵdid"](10,278528,null,0,o.NgSwitchCase,[a.ViewContainerRef,a.TemplateRef,o.NgSwitch],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,F)),a["ɵdid"](12,278528,null,0,o.NgSwitchCase,[a.ViewContainerRef,a.TemplateRef,o.NgSwitch],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,z)),a["ɵdid"](14,16384,null,0,o.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,V)),a["ɵdid"](16,16384,null,0,o.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,2,0,"bs-datepicker",n.containerClass),t(e,5,0,a["ɵunv"](e,5,0,a["ɵnov"](e,6).transform(n.viewMode))),t(e,8,0,"day"),t(e,10,0,"month"),t(e,12,0,"year"),t(e,14,0,!1),t(e,16,0,!1)}),(function(t,e){t(e,3,0,e.component.animationState)}))}function Y(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,2,null,G)),a["ɵdid"](1,16384,null,0,o.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef])],(function(t,e){var n=e.component;t(e,1,0,a["ɵunv"](e,1,0,a["ɵnov"](e,2).transform(n.viewMode)))}),null)}function B(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"bs-daterangepicker-container",[["aria-label","calendar"],["class","bottom"],["role","dialog"],["style","position: absolute; display: block;"]],null,[[null,"click"]],(function(t,e,n){var r=!0;return"click"===e&&(r=!1!==a["ɵnov"](t,3)._stopPropagation(n)&&r),r}),Y,A)),a["ɵprd"](512,null,r.s,r.s,[r.t,r.j]),a["ɵprd"](512,null,r.r,r.r,[]),a["ɵdid"](3,245760,null,0,r.i,[r.s,r.t,r.a,r.r,a.ElementRef,i.a],null,null)],(function(t,e){t(e,3,0)}),null)}var H=a["ɵccf"]("bs-daterangepicker-container",r.i,B,{},{},[]),U=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function W(t){return a["ɵvid"](2,[(t()(),a["ɵted"](0,null,["",""]))],null,(function(t,e){t(e,0,0,e.component.day.label)}))}var K=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function $(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"div",[["class","current-timedate"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),a["ɵted"](2,null,["",""]))],null,(function(t,e){t(e,2,0,e.component.title)}))}var Z=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function J(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"button",[["class","current"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.view("month")&&a),a}),null,null)),(t()(),a["ɵeld"](1,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),a["ɵted"](2,null,["",""]))],null,(function(t,e){t(e,2,0,e.component.calendar.monthTitle)}))}function X(t){return a["ɵvid"](2,[(t()(),a["ɵeld"](0,0,null,null,2,"button",[["class","previous"]],[[8,"disabled",0],[4,"visibility",null]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.navTo(!0)&&a),a}),null,null)),(t()(),a["ɵeld"](1,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["‹"])),(t()(),a["ɵted"](-1,null,[" ​ "])),(t()(),a["ɵand"](16777216,null,null,1,null,J)),a["ɵdid"](5,16384,null,0,o.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵted"](-1,null,[" ​ "])),(t()(),a["ɵeld"](7,0,null,null,2,"button",[["class","current"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.view("year")&&a),a}),null,null)),(t()(),a["ɵeld"](8,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),a["ɵted"](9,null,["",""])),(t()(),a["ɵted"](-1,null,[" ​ "])),(t()(),a["ɵeld"](11,0,null,null,2,"button",[["class","next"]],[[8,"disabled",0],[4,"visibility",null]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.navTo(!1)&&a),a}),null,null)),(t()(),a["ɵeld"](12,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["›"]))],(function(t,e){t(e,5,0,e.component.calendar.monthTitle)}),(function(t,e){var n=e.component;t(e,0,0,n.calendar.disableLeftArrow,n.calendar.hideLeftArrow?"hidden":"visible"),t(e,9,0,n.calendar.yearTitle),t(e,11,0,n.calendar.disableRightArrow,n.calendar.hideRightArrow?"hidden":"visible")}))}var Q=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function tt(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,15,"div",[["class","bs-timepicker-container"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,5,"div",[["class","bs-timepicker-controls"]],null,null,null,null,null)),(t()(),a["ɵeld"](2,0,null,null,1,"button",[["class","bs-decrease"]],null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["-"])),(t()(),a["ɵeld"](4,0,null,null,0,"input",[["placeholder","00"],["type","text"]],[[8,"value",0]],null,null,null,null)),(t()(),a["ɵeld"](5,0,null,null,1,"button",[["class","bs-increase"]],null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["+"])),(t()(),a["ɵeld"](7,0,null,null,5,"div",[["class","bs-timepicker-controls"]],null,null,null,null,null)),(t()(),a["ɵeld"](8,0,null,null,1,"button",[["class","bs-decrease"]],null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["-"])),(t()(),a["ɵeld"](10,0,null,null,0,"input",[["placeholder","00"],["type","text"]],[[8,"value",0]],null,null,null,null)),(t()(),a["ɵeld"](11,0,null,null,1,"button",[["class","bs-increase"]],null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["+"])),(t()(),a["ɵeld"](13,0,null,null,2,"button",[["class","switch-time-format"]],null,null,null,null,null)),(t()(),a["ɵted"](14,null,[""," "])),(t()(),a["ɵeld"](15,0,null,null,0,"img",[["alt",""],["src","data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAKCAYAAABi8KSDAAABSElEQVQYV3XQPUvDUBQG4HNuagtVqc6KgouCv6GIuIntYBLB9hcIQpLStCAIV7DYmpTcRWcXqZio3Vwc/UCc/QEqfgyKGbr0I7nS1EiHeqYzPO/h5SD0jaxUZjmSLCB+OFb+UFINFwASAEAdpu9gaGXVyAHHFQBkHpKHc6a9dzECvADyY9sqlAMsK9W0jzxDXqeytr3mhQckxSji27TJJ5/rPmIpwJJq3HrtduriYOurv1a4i1p5HnhkG9OFymi0ReoO05cGwb+ayv4dysVygjeFmsP05f8wpZQ8fsdvfmuY9zjWSNqUtgYFVnOVReILYoBFzdQI5/GGFzNHhGbeZnopDGU29sZbscgldmC99w35VOATTycIMMcBXIfpSVGzZhA6C8hh00conln6VQ9TGgV32OEAKQC4DrBq7CJwd0ggR7Vq/rPrfgB+C3sGypY5DAAAAABJRU5ErkJggg=="]],null,null,null,null,null))],null,(function(t,e){var n=e.component;t(e,4,0,n.hours),t(e,10,0,n.minutes),t(e,14,0,n.ampm)}))}var et=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function nt(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"bs-current-date",[["title","hey there"]],null,null,null,$,K)),a["ɵdid"](1,49152,null,0,r.v,[],{title:[0,"title"]},null)],(function(t,e){t(e,1,0,"hey there")}),null)}function at(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"bs-timepicker",[],null,null,null,tt,Q)),a["ɵdid"](1,49152,null,0,r.x,[],null,null)],null,null)}function rt(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,1,null,nt)),a["ɵdid"](1,16384,null,0,o.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵeld"](2,0,null,null,1,"div",[["class","bs-datepicker-head"]],null,null,null,null,null)),a["ɵncd"](null,0),(t()(),a["ɵeld"](4,0,null,null,1,"div",[["class","bs-datepicker-body"]],null,null,null,null,null)),a["ɵncd"](null,1),(t()(),a["ɵand"](16777216,null,null,1,null,at)),a["ɵdid"](7,16384,null,0,o.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){t(e,1,0,!1),t(e,7,0,!1)}),null)}var ot=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function it(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,0,"th",[],null,null,null,null,null))],null,null)}function st(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"th",[["aria-label","weekday"]],null,null,null,null,null)),(t()(),a["ɵted"](1,null,[""," "]))],null,(function(t,e){t(e,1,0,e.component.calendar.weekdays[e.context.index])}))}function ct(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"td",[["class","week"]],[[2,"active-week",null]],null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,1,"span",[],null,[[null,"click"],[null,"mouseenter"],[null,"mouseleave"]],(function(t,e,n){var a=!0,r=t.component;return"click"===e&&(a=!1!==r.selectWeek(t.parent.context.$implicit)&&a),"mouseenter"===e&&(a=!1!==r.weekHoverHandler(t.parent.context.$implicit,!0)&&a),"mouseleave"===e&&(a=!1!==r.weekHoverHandler(t.parent.context.$implicit,!1)&&a),a}),null,null)),(t()(),a["ɵted"](2,null,["",""]))],null,(function(t,e){var n=e.component;t(e,0,0,n.isWeekHovered),t(e,2,0,n.calendar.weekNumbers[e.parent.context.index])}))}function lt(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"td",[["role","gridcell"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,2,"span",[["bsDatepickerDayDecorator",""]],[[2,"disabled",null],[2,"is-highlighted",null],[2,"is-other-month",null],[2,"is-active-other-month",null],[2,"in-range",null],[2,"select-start",null],[2,"select-end",null],[2,"selected",null]],[[null,"click"],[null,"mouseenter"],[null,"mouseleave"]],(function(t,e,n){var a=!0,r=t.component;return"click"===e&&(a=!1!==r.selectDay(t.context.$implicit)&&a),"mouseenter"===e&&(a=!1!==r.hoverDay(t.context.$implicit,!0)&&a),"mouseleave"===e&&(a=!1!==r.hoverDay(t.context.$implicit,!1)&&a),a}),W,U)),a["ɵdid"](2,114688,null,0,r.u,[r.a,a.ElementRef,a.Renderer2],{day:[0,"day"]},null),(t()(),a["ɵted"](3,null,["",""]))],(function(t,e){t(e,2,0,e.context.$implicit)}),(function(t,e){t(e,1,0,a["ɵnov"](e,2).day.isDisabled,a["ɵnov"](e,2).day.isHovered,a["ɵnov"](e,2).day.isOtherMonth,a["ɵnov"](e,2).day.isOtherMonthHovered,a["ɵnov"](e,2).day.isInRange,a["ɵnov"](e,2).day.isSelectionStart,a["ɵnov"](e,2).day.isSelectionEnd,a["ɵnov"](e,2).day.isSelected),t(e,3,0,e.context.$implicit.label)}))}function dt(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,4,"tr",[],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,ct)),a["ɵdid"](2,16384,null,0,o.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,lt)),a["ɵdid"](4,278528,null,0,o.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){t(e,2,0,e.component.options.showWeekNumbers),t(e,4,0,e.context.$implicit.days)}),null)}function ut(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,13,"bs-calendar-layout",[],null,null,null,rt,et)),a["ɵdid"](1,49152,null,0,r.y,[],null,null),(t()(),a["ɵeld"](2,0,null,0,1,"bs-datepicker-navigation-view",[],null,[[null,"onNavigate"],[null,"onViewMode"]],(function(t,e,n){var a=!0,r=t.component;return"onNavigate"===e&&(a=!1!==r.navigateTo(n)&&a),"onViewMode"===e&&(a=!1!==r.changeViewMode(n)&&a),a}),X,Z)),a["ɵdid"](3,49152,null,0,r.w,[],{calendar:[0,"calendar"]},{onNavigate:"onNavigate",onViewMode:"onViewMode"}),(t()(),a["ɵeld"](4,0,null,1,9,"table",[["class","days weeks"],["role","grid"]],null,null,null,null,null)),(t()(),a["ɵeld"](5,0,null,null,5,"thead",[],null,null,null,null,null)),(t()(),a["ɵeld"](6,0,null,null,4,"tr",[],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,it)),a["ɵdid"](8,16384,null,0,o.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,st)),a["ɵdid"](10,278528,null,0,o.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),a["ɵeld"](11,0,null,null,2,"tbody",[],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,dt)),a["ɵdid"](13,278528,null,0,o.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){var n=e.component;t(e,3,0,n.calendar),t(e,8,0,n.options.showWeekNumbers),t(e,10,0,n.calendar.weekdays),t(e,13,0,n.calendar.weeks)}),null)}var gt=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function ft(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"td",[["role","gridcell"]],[[2,"disabled",null],[2,"is-highlighted",null]],[[null,"click"],[null,"mouseenter"],[null,"mouseleave"]],(function(t,e,n){var a=!0,r=t.component;return"click"===e&&(a=!1!==r.viewMonth(t.context.$implicit)&&a),"mouseenter"===e&&(a=!1!==r.hoverMonth(t.context.$implicit,!0)&&a),"mouseleave"===e&&(a=!1!==r.hoverMonth(t.context.$implicit,!1)&&a),a}),null,null)),(t()(),a["ɵeld"](1,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),a["ɵted"](2,null,["",""]))],null,(function(t,e){t(e,0,0,e.context.$implicit.isDisabled,e.context.$implicit.isHovered),t(e,2,0,e.context.$implicit.label)}))}function pt(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"tr",[],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,ft)),a["ɵdid"](2,278528,null,0,o.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){t(e,2,0,e.context.$implicit)}),null)}function mt(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,7,"bs-calendar-layout",[],null,null,null,rt,et)),a["ɵdid"](1,49152,null,0,r.y,[],null,null),(t()(),a["ɵeld"](2,0,null,0,1,"bs-datepicker-navigation-view",[],null,[[null,"onNavigate"],[null,"onViewMode"]],(function(t,e,n){var a=!0,r=t.component;return"onNavigate"===e&&(a=!1!==r.navigateTo(n)&&a),"onViewMode"===e&&(a=!1!==r.changeViewMode(n)&&a),a}),X,Z)),a["ɵdid"](3,49152,null,0,r.w,[],{calendar:[0,"calendar"]},{onNavigate:"onNavigate",onViewMode:"onViewMode"}),(t()(),a["ɵeld"](4,0,null,1,3,"table",[["class","months"],["role","grid"]],null,null,null,null,null)),(t()(),a["ɵeld"](5,0,null,null,2,"tbody",[],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,pt)),a["ɵdid"](7,278528,null,0,o.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){var n=e.component;t(e,3,0,n.calendar),t(e,7,0,n.calendar.months)}),null)}var ht=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function bt(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"td",[["role","gridcell"]],[[2,"disabled",null],[2,"is-highlighted",null]],[[null,"click"],[null,"mouseenter"],[null,"mouseleave"]],(function(t,e,n){var a=!0,r=t.component;return"click"===e&&(a=!1!==r.viewYear(t.context.$implicit)&&a),"mouseenter"===e&&(a=!1!==r.hoverYear(t.context.$implicit,!0)&&a),"mouseleave"===e&&(a=!1!==r.hoverYear(t.context.$implicit,!1)&&a),a}),null,null)),(t()(),a["ɵeld"](1,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),a["ɵted"](2,null,["",""]))],null,(function(t,e){t(e,0,0,e.context.$implicit.isDisabled,e.context.$implicit.isHovered),t(e,2,0,e.context.$implicit.label)}))}function _t(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"tr",[],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,bt)),a["ɵdid"](2,278528,null,0,o.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){t(e,2,0,e.context.$implicit)}),null)}function yt(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,7,"bs-calendar-layout",[],null,null,null,rt,et)),a["ɵdid"](1,49152,null,0,r.y,[],null,null),(t()(),a["ɵeld"](2,0,null,0,1,"bs-datepicker-navigation-view",[],null,[[null,"onNavigate"],[null,"onViewMode"]],(function(t,e,n){var a=!0,r=t.component;return"onNavigate"===e&&(a=!1!==r.navigateTo(n)&&a),"onViewMode"===e&&(a=!1!==r.changeViewMode(n)&&a),a}),X,Z)),a["ɵdid"](3,49152,null,0,r.w,[],{calendar:[0,"calendar"]},{onNavigate:"onNavigate",onViewMode:"onViewMode"}),(t()(),a["ɵeld"](4,0,null,1,3,"table",[["class","years"],["role","grid"]],null,null,null,null,null)),(t()(),a["ɵeld"](5,0,null,null,2,"tbody",[],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,_t)),a["ɵdid"](7,278528,null,0,o.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){var n=e.component;t(e,3,0,n.calendar),t(e,7,0,n.calendar.years)}),null)}var Ot=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function vt(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"button",[],null,null,null,null,null)),(t()(),a["ɵted"](1,null,["",""]))],null,(function(t,e){t(e,1,0,e.context.$implicit.label)}))}function Ct(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"button",[],null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["Custom Range"]))],null,null)}function Pt(t){return a["ɵvid"](2,[(t()(),a["ɵeld"](0,0,null,null,4,"div",[["class","bs-datepicker-predefined-btns"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,vt)),a["ɵdid"](2,278528,null,0,o.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,Ct)),a["ɵdid"](4,16384,null,0,o.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,2,0,n.ranges),t(e,4,0,n.isCustomRangeShown)}),null)}},b1Dy:function(t,e,n){!function(t){"use strict";t.defineLocale("en-nz",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})}(n("wd/R"))},b2z7:function(t,e){var n=/\w*$/;t.exports=function(t){var e=new t.constructor(t.source,n.exec(t));return e.lastIndex=t.lastIndex,e}},b5OY:function(t,e,n){"use strict";n.d(e,"a",(function(){return a})),n("pxLl");class a{constructor(t,e){this.performanceCounterService=t,this.i18n=e,this.columns=[],this.counters=[]}ngOnInit(){this.columns=[{name:this.i18n("Name"),prop:"name",flexGrow:1},{name:this.i18n("Description"),prop:"description",flexGrow:1},{name:this.i18n("Value"),prop:"value",cellTemplate:this.valueTpl,flexGrow:1}]}getCounters(t){this.performanceCounterService.get(this.serviceType,this.serviceId).subscribe(t=>{this.counters=t},e=>{404===e.status?(e.preventDefault(),this.counters=null):t.error()})}}},b80T:function(t,e,n){var a=n("UNi/"),r=n("03A+"),o=n("Z0cm"),i=n("DSRE"),s=n("wJg7"),c=n("c6wG"),l=Object.prototype.hasOwnProperty;t.exports=function(t,e){var n=o(t),d=!n&&r(t),u=!n&&!d&&i(t),g=!n&&!d&&!u&&c(t),f=n||d||u||g,p=f?a(t.length,String):[],m=p.length;for(var h in t)!e&&!l.call(t,h)||f&&("length"==h||u&&("offset"==h||"parent"==h)||g&&("buffer"==h||"byteLength"==h||"byteOffset"==h)||s(h,m))||p.push(h);return p}},bHdf:function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var a=n("5+tZ"),r=n("SpAZ");function o(t=Number.POSITIVE_INFINITY){return Object(a.a)(r.a,t)}},bN42:function(t,e,n){"use strict";n.r(e),e.default='<xliff xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 http://docs.oasis-open.org/xliff/v1.2/os/xliff-core-1.2-strict.xsd" xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">\n  <file original="ng2.template" datatype="plaintext" source-language="en-US" target-language="ja-JP">\n    <body>\n      <trans-unit id="319e0745bcbc132451569294fa2fa21bf10f555a" datatype="html">\n        <source>Toggle navigation</source>\n        <target>ナビゲーションの切り替え</target>\n      </trans-unit>\n      <trans-unit id="f65253954b66e929a8b4d5ecaf61f9129f8cec64" datatype="html">\n        <source>Dashboard</source>\n        <target>ダッシュボード</target>\n      </trans-unit>\n      <trans-unit id="f4d1dd59b039ad818d9da7e29a773e10e41d9821" datatype="html">\n        <source>Cluster</source>\n        <target>クラスタ</target>\n      </trans-unit>\n      <trans-unit id="099b441d49333b3c6d30b36dc0a4763e64c78920" datatype="html">\n        <source>Hosts</source>\n        <target>ホスト</target>\n      </trans-unit>\n      <trans-unit id="2cc3ecb16e348fcf2f2fbfd2f997d4d22f37475b" datatype="html">\n        <source>Inventory</source>\n        <target>Inventory</target>\n      </trans-unit>\n      <trans-unit id="624f596cc3320f5e0a0d7c7346c364e5af9bdd8c" datatype="html">\n        <source>Monitors</source>\n        <target>モニター</target>\n      </trans-unit>\n      <trans-unit id="419d940613972cc3fae9c8ea0a4306dbf80616e5" datatype="html">\n        <source>Services</source>\n        <target>サービス</target>\n      </trans-unit>\n      <trans-unit id="1a9183778f2c6473d7ccb080f651caa01faaf70c" datatype="html">\n        <source>OSDs</source>\n        <target>OSD</target>\n      </trans-unit>\n      <trans-unit id="4a41f824a35ba01d5bd7be61aa06b3e8145209d0" datatype="html">\n        <source>Configuration</source>\n        <target>設定</target>\n      </trans-unit>\n      <trans-unit id="8c95898abff46bfac3ed6eb2afef74597e60b15c" datatype="html">\n        <source>CRUSH map</source>\n        <target>CRUSHマップ</target>\n      </trans-unit>\n      <trans-unit id="33da4dbeb076159510801ea764a218fd341269d2" datatype="html">\n        <source>Manager modules</source>\n        <target>マネージャモジュール</target>\n      </trans-unit>\n      <trans-unit id="eb3d5aefff38a814b76da74371cbf02c0789a1ef" datatype="html">\n        <source>Logs</source>\n        <target>ログ</target>\n      </trans-unit>\n      <trans-unit id="9fe218829514884cdd0ca2300573a4e0428c324f" datatype="html">\n        <source>Alerts</source>\n        <target>アラート</target>\n      </trans-unit>\n      <trans-unit id="aa0c44aa1e5727061baa91e954f77e2f5f9a37c9" datatype="html">\n        <source>Silences</source>\n        <target>Silences</target>\n      </trans-unit>\n      <trans-unit id="92899fa68e8ca108912163ff58edc8540e453787" datatype="html">\n        <source>Pools</source>\n        <target>プール</target>\n      </trans-unit>\n      <trans-unit id="7f5d0c10614e8a34f0e2dad33a0568277c50cf69" datatype="html">\n        <source>Block</source>\n        <target>ブロック</target>\n      </trans-unit>\n      <trans-unit id="b73f7f5060fb22a1e9ec462b1bb02493fa3ab866" datatype="html">\n        <source>Images</source>\n        <target>イメージ</target>\n      </trans-unit>\n      <trans-unit id="3c2562ba992127203dcfd014010b03cb7b8113c6" datatype="html">\n        <source>Mirroring</source>\n        <target>ミラーリング</target>\n      </trans-unit>\n      <trans-unit id="811c241d56601b91ef26735b770e64428089b950" datatype="html">\n        <source>iSCSI</source>\n        <target>iSCSI</target>\n      </trans-unit>\n      <trans-unit id="a24eabd99ea5af20f5f94c4484649cd30370042b" datatype="html">\n        <source>NFS</source>\n        <target>NFS</target>\n      </trans-unit>\n      <trans-unit id="a4eff72d97b7ced051398d581f10968218057ddc" datatype="html">\n        <source>Filesystems</source>\n        <target>ファイルシステム</target>\n      </trans-unit>\n      <trans-unit id="2190548d236ca5f7bc7ab2bca334b860c5ff2ad4" datatype="html">\n        <source>Object Gateway</source>\n        <target>オブジェクトゲートウェイ</target>\n      </trans-unit>\n      <trans-unit id="9e24f9e2d42104ffc01599db4d566d1cc518f9e6" datatype="html">\n        <source>Daemons</source>\n        <target>デーモン</target>\n      </trans-unit>\n      <trans-unit id="4d13a9cd5ed3dcee0eab22cb25198d43886942be" datatype="html">\n        <source>Users</source>\n        <target>ユーザ</target>\n      </trans-unit>\n      <trans-unit id="9515520496da83179d8b08132f00f575512a1f40" datatype="html">\n        <source>Buckets</source>\n        <target>バケット</target>\n      </trans-unit>\n      <trans-unit id="797f8214e8148f4bf0d244baaa7341706b419549" datatype="html">\n        <source>Retrieving data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>. Please wait...\n        </source>\n        <target>Retrieving data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>. Please wait...\n        </target>\n      </trans-unit>\n      <trans-unit id="5a870dc77b9f6f33ee671ea2d856021276933339" datatype="html">\n        <source>Displaying previously cached data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>\n  for \n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n        </source>\n        <target>Displaying previously cached data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>\n  for \n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="ae580202919844531361ba2308287226ff74a584" datatype="html">\n        <source>Could not load data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n  Please check the cluster health.\n        </source>\n        <target>Could not load data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n  Please check the cluster health.\n        </target>\n      </trans-unit>\n      <trans-unit id="7e52e9143145e1db5146258de81eae018a407b31" datatype="html">\n        <source>Clear notifications</source>\n        <target>Clear notifications</target>\n      </trans-unit>\n      <trans-unit id="b0b07bb6b7ff21ede439dd04eaf8872d1ecb84d8" datatype="html">\n        <source>Remove notification</source>\n        <target>Remove notification</target>\n      </trans-unit>\n      <trans-unit id="e17a1d75189da843f541f7764f188f2b19a97df2" datatype="html">\n        <source>Duration:</source>\n        <target>Duration:</target>\n      </trans-unit>\n      <trans-unit id="0d4b37c6675c5b436a54c43d6716eec835e1aa7f" datatype="html">\n        <source>There are no notifications.</source>\n        <target>There are no notifications.</target>\n      </trans-unit>\n      <trans-unit id="0a23e992f6c6e169a38b2b7338b4e5e803b52e0d" datatype="html">\n        <source>Tasks and Notifications</source>\n        <target>Tasks and Notifications</target>\n      </trans-unit>\n      <trans-unit id="3fb5709e10166cbc85970cbff103db227dbeb813" datatype="html">\n        <source>Select a Language</source>\n        <target>言語の選択</target>\n      </trans-unit>\n      <trans-unit id="c5109325fb160b543f71a51e7511c00575057431" datatype="html">\n        <source>Loading panel data...</source>\n        <target>パネルデータを読み込んでいます...</target>\n      </trans-unit>\n      <trans-unit id="8ca12411f890ab8b0a9216418e2b8f5ea7d2441a" datatype="html">\n        <source>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the monitoring functionality.\n        </source>\n        <target>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the monitoring functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="160a9e80dc089792df42e2400b1e81b9e7025aa7" datatype="html">\n        <source>Grafana Dashboard doesn\'t exist. Please refer to\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  add dashboards to Grafana.\n        </source>\n        <target>Grafana Dashboard doesn\'t exist. Please refer to\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  add dashboards to Grafana.\n        </target>\n      </trans-unit>\n      <trans-unit id="4e11830040bd64804a0555de76f291d5832772d4" datatype="html">\n        <source>Grafana Time Picker</source>\n        <target>Grafana Time Picker</target>\n      </trans-unit>\n      <trans-unit id="238c1ba845dd7330e8088165275919a1debf1ca3" datatype="html">\n        <source>Reset Settings</source>\n        <target>設定のリセット</target>\n      </trans-unit>\n      <trans-unit id="c8d1785038d461ec66b5799db21864182b35900a" datatype="html">\n        <source>Refresh</source>\n        <target>Refresh</target>\n      </trans-unit>\n      <trans-unit id="6c947210e2d162b6225083d18820ab602f58cd2d" datatype="html">\n        <source>Remove the custom configuration value. The default configuration will be inherited and used instead.</source>\n        <target>Remove the custom configuration value. The default configuration will be inherited and used instead.</target>\n      </trans-unit>\n      <trans-unit id="454ee9cb60b00446a8fb147fd2cc5eb836320586" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ option.maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ option.maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="7fc8a22825131e028336f60ef909ccbd96059703" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ option.minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ option.minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="cda31dbd724cf5f4fa7a4274d9120651490c8a8c" datatype="html">\n        <source>Back</source>\n        <target>戻る</target>\n      </trans-unit>\n      <trans-unit id="012741ee52b3c050e4a977c37cc2334f7974f141" datatype="html">\n        <source>Failed to load data.</source>\n        <target>データを読み込めませんでした。</target>\n      </trans-unit>\n      <trans-unit id="80cc9a12d4bf6fe454ed94b379eeaf915f920bb7" datatype="html">\n        <source>selected</source>\n        <target>選択済み</target>\n        <note>X selected</note>\n      </trans-unit>\n      <trans-unit id="0cb77511a9a148e05b9adf36cc07269956fbb29d" datatype="html">\n        <source>found</source>\n        <target>検出済み</target>\n        <note>X found</note>\n      </trans-unit>\n      <trans-unit id="79347388740c50b7ac97e144c2494bb62912f312" datatype="html">\n        <source>total</source>\n        <target>合計</target>\n        <note>X total</note>\n      </trans-unit>\n      <trans-unit id="cff1428d10d59d14e45edec3c735a27b5482db59" datatype="html">\n        <source>Name</source>\n        <target>名前</target>\n      </trans-unit>\n      <trans-unit id="eec715de352a6b114713b30b640d319fa78207a0" datatype="html">\n        <source>Description</source>\n        <target>説明</target>\n      </trans-unit>\n      <trans-unit id="4ad112ce9bcd55dfd137792a86afe1b5a5b13cf8" datatype="html">\n        <source>Long description</source>\n        <target>長い説明</target>\n      </trans-unit>\n      <trans-unit id="ff7cee38a2259526c519f878e71b964f41db4348" datatype="html">\n        <source>Default</source>\n        <target>デフォルト</target>\n      </trans-unit>\n      <trans-unit id="33e1c1d9fc05ca3f62fcc8a1170fc31ebae4229c" datatype="html">\n        <source>Daemon default</source>\n        <target>デーモンのデフォルト</target>\n      </trans-unit>\n      <trans-unit id="809b0c848932a41318f77a2aace904ef429c13f4" datatype="html">\n        <source>Values</source>\n        <target>値</target>\n      </trans-unit>\n      <trans-unit id="82029b6db704c56a2aa3e82ac555b8655356b077" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8ed8b3967a7326b81b191c9f490006e6a6777a9a" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="52c9a103b812f258bcddc3d90a6e3f46871d25fe" datatype="html">\n        <source>Save</source>\n        <target>保存</target>\n      </trans-unit>\n      <trans-unit id="738de688b22fba5d0dc7a5e549996838dddad0ee" datatype="html">\n        <source>CRUSH map viewer</source>\n        <target>CRUSHマップビューア</target>\n      </trans-unit>\n      <trans-unit id="94516fa213706c67ce5a5b5765681d7fb032033a" datatype="html">\n        <source>Loading...</source>\n        <target>読み込んでいます...</target>\n      </trans-unit>\n      <trans-unit id="formTitle" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </target>\n        <note>form title</note>\n      </trans-unit>\n      <trans-unit id="9a541ec1a4319fffc16ad3b3ab2c2b6d251a829d" datatype="html">\n        <source>Hostname</source>\n        <target>ホスト名</target>\n      </trans-unit>\n      <trans-unit id="7cbdabcece469fab89cfa687ab152bca18b97498" datatype="html">\n        <source>This field is required.</source>\n        <target>このフィールドは必須です。</target>\n      </trans-unit>\n      <trans-unit id="1b3f5e5291541678f7afa49d28fad5ca848a8061" datatype="html">\n        <source>The chosen hostname is already in use.</source>\n        <target>The chosen hostname is already in use.</target>\n      </trans-unit>\n      <trans-unit id="formActionButton" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </target>\n        <note>form action button</note>\n      </trans-unit>\n      <trans-unit id="6110699a3562eeb15371063c0cf7f6bfd88a0209" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemNames[0] }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemNames[0] }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>?\n        </target>\n      </trans-unit>\n      <trans-unit id="549859e511ba5af0ea03fcaa620c472f08038969" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected items?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected items?\n        </target>\n      </trans-unit>\n      <trans-unit id="54839ebc827b73c9dc4e1df731c6d36a85036af7" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected \n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected \n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>?\n        </target>\n      </trans-unit>\n      <trans-unit id="2be8b7f04f0104d3fad90d079d8202b74f758b9a" datatype="html">\n        <source>Yes, I am sure.</source>\n        <target>はい。</target>\n      </trans-unit>\n      <trans-unit id="d7b35c384aecd25a516200d6921836374613dfe7" datatype="html">\n        <source>Cancel</source>\n        <target>キャンセル</target>\n      </trans-unit>\n      <trans-unit id="40661476cb24c89d8b06614998e31d5fbe84eeb6" datatype="html">\n        <source>Hosts List</source>\n        <target>ホストリスト</target>\n      </trans-unit>\n      <trans-unit id="5e7f4b1ca49e8d217bd0e12c6f7d6b6a2ade2c18" datatype="html">\n        <source>Overall Performance</source>\n        <target>全体的なパフォーマンス</target>\n      </trans-unit>\n      <trans-unit id="6bc15dc1a621b6ff7378db7fd3ac10b2a2627c77" datatype="html">\n        <source>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the orchestrator functionality.\n        </source>\n        <target>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the orchestrator functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="3e24569eca61d598c8b01defbbbb1fa8bd5222bc" datatype="html">\n        <source>Devices</source>\n        <target>Devices</target>\n      </trans-unit>\n      <trans-unit id="e6d57f36aa2bad303c8a8ee944b9bd7fae3c8c26" datatype="html">\n        <source>No entries found</source>\n        <target>エントリが見つかりません</target>\n      </trans-unit>\n      <trans-unit id="d556ab48a65722b400e497f61737f553ee0f89e2" datatype="html">\n        <source>Cluster Logs</source>\n        <target>クラスタログ</target>\n      </trans-unit>\n      <trans-unit id="5f966baffd188be0e8adc2d7067b86e55fc9b9de" datatype="html">\n        <source>Audit Logs</source>\n        <target>監査ログ</target>\n      </trans-unit>\n      <trans-unit id="4193c9eb868aeec119b78a14795241e0aa5e8b60" datatype="html">\n        <source>Priority:</source>\n        <target>Priority:</target>\n      </trans-unit>\n      <trans-unit id="1d78ca51eab260ce3fd917d39190d64df5229b6e" datatype="html">\n        <source>Keyword:</source>\n        <target>Keyword:</target>\n      </trans-unit>\n      <trans-unit id="05fa0bded36de6e73a1fa44838b627349dace044" datatype="html">\n        <source>Date:</source>\n        <target>Date:</target>\n      </trans-unit>\n      <trans-unit id="31dadb362bf7f7c2afa10e5f96474ccd3977f91f" datatype="html">\n        <source>Datepicker</source>\n        <target>Datepicker</target>\n      </trans-unit>\n      <trans-unit id="85a400388de1899b1917138cf7e5286376f72847" datatype="html">\n        <source>Time range:</source>\n        <target>Time range:</target>\n      </trans-unit>\n      <trans-unit id="2447796ddbda942f4e2c46619cb84d69f066e568" datatype="html">\n        <source>Loading configuration...</source>\n        <target>設定を読み込んでいます...</target>\n      </trans-unit>\n      <trans-unit id="b42c0b347a841bed8859ee83de05080ee28c803b" datatype="html">\n        <source>The configuration could not be loaded.</source>\n        <target>設定を読み込めませんでした。</target>\n      </trans-unit>\n      <trans-unit id="31a9c2870a934b594d1390146c489f76440859ea" datatype="html">\n        <source>Edit Manager module</source>\n        <target>マネージャモジュールの編集</target>\n      </trans-unit>\n      <trans-unit id="46e09b8290d3d0afdb6baa2021395b0570606a31" datatype="html">\n        <source>The entered value is not a valid UUID, e.g.: 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8</source>\n        <target>入力された値は有効なUUIDではありません(有効なUUIDの例: 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8)。</target>\n      </trans-unit>\n      <trans-unit id="7aacd038b39cfd347107d01d1dc27f5cb3e0951c" datatype="html">\n        <source>The entered value needs to be a valid IP address.</source>\n        <target>有効なIPアドレスを入力する必要があります。</target>\n      </trans-unit>\n      <trans-unit id="f19106149f4b07a0d721f9d317afed393cb7bd93" datatype="html">\n        <source>The entered value is too high! It must be lower or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.max }}"/>.\n        </source>\n        <target>The entered value is too high! It must be lower or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.max }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="6d33c40ef9a6c3bf0888df831b25e41e65f9d15b" datatype="html">\n        <source>The entered value is too low! It must be greater or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.min }}"/>.\n        </source>\n        <target>The entered value is too low! It must be greater or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.min }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="eae7086660cf1e38c7194a2c49ff52cc656f90f5" datatype="html">\n        <source>The entered value needs to be a number.</source>\n        <target>数字を入力する必要があります。</target>\n      </trans-unit>\n      <trans-unit id="a73376e04b4fb3a20734c8c39743fba32e6676ce" datatype="html">\n        <source>The entered value needs to be a number or decimal.</source>\n        <target>数字または小数を入力する必要があります。</target>\n      </trans-unit>\n      <trans-unit id="047f50bc5b5d17b5bec0196355953e1a5c590ddb" datatype="html">\n        <source>Update</source>\n        <target>更新</target>\n      </trans-unit>\n      <trans-unit id="81b97b8ea996ad1e4f9fca8415021850214884b1" datatype="html">\n        <source>Status</source>\n        <target>ステータス</target>\n      </trans-unit>\n      <trans-unit id="57ec6032f5618d4a9f16eb950ad23d2ce7c24b54" datatype="html">\n        <source>Cluster ID</source>\n        <target>クラスタID</target>\n      </trans-unit>\n      <trans-unit id="67d7facc3fec5f8a49ab9ba0a245872184264ce5" datatype="html">\n        <source>monmap modified</source>\n        <target>monmapが変更されました</target>\n      </trans-unit>\n      <trans-unit id="d4906731aaf2b94b4f547646c9bfe58bb77951b6" datatype="html">\n        <source>monmap epoch</source>\n        <target>monmapエポック</target>\n      </trans-unit>\n      <trans-unit id="bd4ee06ffdc46d9dfbd0c0c4f81399021c680056" datatype="html">\n        <source>quorum con</source>\n        <target>定数con</target>\n      </trans-unit>\n      <trans-unit id="1176c7db8a8276ccb44cc3d42e2c28d9fa6c6596" datatype="html">\n        <source>quorum mon</source>\n        <target>定数mon</target>\n      </trans-unit>\n      <trans-unit id="530ef677a09d681b3ab68cb0760494b3ae72a77c" datatype="html">\n        <source>required con</source>\n        <target>必須のcon</target>\n      </trans-unit>\n      <trans-unit id="a91558e0d506c32021c31843f8f168899fc65cbf" datatype="html">\n        <source>required mon</source>\n        <target>必須のmon</target>\n      </trans-unit>\n      <trans-unit id="b3abe9eac5bcd94a54c8da93b312e085ec512e74" datatype="html">\n        <source>In Quorum</source>\n        <target>定数内</target>\n      </trans-unit>\n      <trans-unit id="ba4b748a676e1f217ce1e736fb7ec1215e677bae" datatype="html">\n        <source>Not In Quorum</source>\n        <target>非定数内</target>\n      </trans-unit>\n      <trans-unit id="5ef50ba2514414f799d4c8fc36067a251904ba81" datatype="html">\n        <source>Cluster-wide OSD Flags</source>\n        <target>クラスタ全体のOSDフラグ</target>\n      </trans-unit>\n      <trans-unit id="71c77bb8cecdf11ec3eead24dd1ba506573fa9cd" datatype="html">\n        <source>Submit</source>\n        <target>送信</target>\n      </trans-unit>\n      <trans-unit id="1cfe07dac5b4ee1c464eb24225ddeb4f1d24076a" datatype="html">\n        <source>Advanced...</source>\n        <target>詳細...</target>\n      </trans-unit>\n      <trans-unit id="b1ef1c12ddcee305353623919ef02778569f5454" datatype="html">\n        <source>Advanced configuration options</source>\n        <target>Advanced configuration options</target>\n      </trans-unit>\n      <trans-unit id="c35f9c5f268a514b970cc55e9a5dc4bed0988e7f" datatype="html">\n        <source>OSD Recovery Priority</source>\n        <target>OSD回復優先度</target>\n      </trans-unit>\n      <trans-unit id="b74af38005e8a8914e45af2ec412e11ceafef8b6" datatype="html">\n        <source>Priority</source>\n        <target>優先度</target>\n      </trans-unit>\n      <trans-unit id="c2f48f04b379bfba133825747adfd238d511412e" datatype="html">\n        <source>Customize priority values</source>\n        <target>優先度値のカスタマイズ</target>\n      </trans-unit>\n      <trans-unit id="4aa19de2a2b54cbda39e9c62917b23044c087776" datatype="html">\n        <source>This field is required!</source>\n        <target>このフィールドは必須です。</target>\n      </trans-unit>\n      <trans-unit id="b699e94bf376491bd50b70a98531071c737eaf40" datatype="html">\n        <source>[object Object]</source>\n        <target>[object Object]</target>\n      </trans-unit>\n      <trans-unit id="98fe13e7ad6c2b80375d204b47858ded83f80e15" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="5423a3c111be47fc5a1bfe46ceb58c81c84db691" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="5251a4355cece3075db43f15d69a24a0f8485707" datatype="html">\n        <source>Reweight OSD: \n          <x id="INTERPOLATION" equiv-text="{{ osdId }}"/>\n        </source>\n        <target>Reweight OSD: \n          <x id="INTERPOLATION" equiv-text="{{ osdId }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="67650b2998db48201b2c6176cbfef51e7211ccaa" datatype="html">\n        <source>The value needs to be between 0 and 1.</source>\n        <target>値は0と1の間である必要があります。</target>\n      </trans-unit>\n      <trans-unit id="bc11f92113d678a90e334fdf3d7b3fddbe34c579" datatype="html">\n        <source>Reweight</source>\n        <target>再重みづけ</target>\n      </trans-unit>\n      <trans-unit id="d5ca5daf742023fc4f0919fb3c1c6a51991cda4f" datatype="html">\n        <source>OSDs \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>Scrub\n        </source>\n        <target>OSDs \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>Scrub\n        </target>\n      </trans-unit>\n      <trans-unit id="4c17d67c7c5799eb920030e9a399961e90f55dd8" datatype="html">\n        <source>{VAR_SELECT, select, 1 {Deep } }</source>\n        <target>{VAR_SELECT, select, 1 {Deep } }</target>\n      </trans-unit>\n      <trans-unit id="2613498e8e5853c26a1cc62ae8dc673d1fdf0e2a" datatype="html">\n        <source>You are about to apply a \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to\n          the OSD(s): \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ selected | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.\n        </source>\n        <target>You are about to apply a \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to\n          the OSD(s): \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ selected | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="dc6705f342a036b332c3fd3443201c3613e5524d" datatype="html">\n        <source>{VAR_SELECT, select, 1 {deep } }</source>\n        <target>{VAR_SELECT, select, 1 {deep } }</target>\n      </trans-unit>\n      <trans-unit id="b49d7877d24112d4bdfce9256edf61a007fae888" datatype="html">\n        <source>OSDs List</source>\n        <target>OSDリスト</target>\n      </trans-unit>\n      <trans-unit id="c402e6ec1c6792ede81f56c28eee8955860391c8" datatype="html">\n        <source>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) \n          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </source>\n        <target>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) \n          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </target>\n      </trans-unit>\n      <trans-unit id="d2797d01ba86f5df03d875803e49e648a4027869" datatype="html">\n        <source>The \n          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to destroy!\n        </source>\n        <target>The \n          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to destroy!\n        </target>\n      </trans-unit>\n      <trans-unit id="e776996dac651ef3819bfa767ccf2a0613759f47" datatype="html">\n        <source>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</source>\n        <target>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</target>\n      </trans-unit>\n      <trans-unit id="1e2c50ed3c3934ef068976dc7f38513cec29d515" datatype="html">\n        <source>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD \n          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </source>\n        <target>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD \n          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </target>\n      </trans-unit>\n      <trans-unit id="4f8b2bb476981727ab34ed40fde1218361f92c45" datatype="html">\n        <source>Details</source>\n        <target>詳細</target>\n      </trans-unit>\n      <trans-unit id="8501055865d7031b5521a0c5467532648009a61d" datatype="html">\n        <source>Matcher</source>\n        <target>Matcher</target>\n      </trans-unit>\n      <trans-unit id="9c25e04f554875dc2625a78ba0fc56c6010cd0d3" datatype="html">\n        <source>-- Select an attribute to match against --</source>\n        <target>-- Select an attribute to match against --</target>\n      </trans-unit>\n      <trans-unit id="5049e204c14c648691ac775a64fb504467aeb549" datatype="html">\n        <source>Value</source>\n        <target>値</target>\n      </trans-unit>\n      <trans-unit id="77fc5c63497fc031ddc97645484e3d94ad27766c" datatype="html">\n        <source>Use regular expression</source>\n        <target>Use regular expression</target>\n      </trans-unit>\n      <trans-unit id="7bbec1a797283712c0adf9e71d77fb5a8cd720db" datatype="html">\n        <source>{VAR_SELECT, select, 1 {Update} other {Add} }</source>\n        <target>{VAR_SELECT, select, 1 {Update} other {Add} }</target>\n      </trans-unit>\n      <trans-unit id="f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8" datatype="html">\n        <source>Close</source>\n        <target>閉じる</target>\n      </trans-unit>\n      <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c" datatype="html">\n        <source>Edit</source>\n        <target>編集</target>\n      </trans-unit>\n      <trans-unit id="826b25211922a1b46436589233cb6f1a163d89b7" datatype="html">\n        <source>Delete</source>\n        <target>削除</target>\n      </trans-unit>\n      <trans-unit id="a3ba06aba047605af8ea1718ec1ba153b7db12a2" datatype="html">\n        <source>Editing a silence will expire the old silence and recreate it as a new silence</source>\n        <target>Editing a silence will expire the old silence and recreate it as a new silence</target>\n      </trans-unit>\n      <trans-unit id="a20424156b8816671f61879f0574a4f27d7b16b9" datatype="html">\n        <source>Creator</source>\n        <target>Creator</target>\n      </trans-unit>\n      <trans-unit id="5a5d7ee2acbfa9c91ab7f41d26bda9ff0cafe42f" datatype="html">\n        <source>Comment</source>\n        <target>Comment</target>\n      </trans-unit>\n      <trans-unit id="4c11aad490b2d53fdae30b3807beabf79306752c" datatype="html">\n        <source>Start time</source>\n        <target>Start time</target>\n      </trans-unit>\n      <trans-unit id="32856b1e8e339b747b21e313e2fe65a51fd450bb" datatype="html">\n        <source>If the start time lies in the past the creation time will be used</source>\n        <target>If the start time lies in the past the creation time will be used</target>\n      </trans-unit>\n      <trans-unit id="a02ea1d4e7424ca989929da5e598f379940fdbf2" datatype="html">\n        <source>Duration</source>\n        <target>Duration</target>\n      </trans-unit>\n      <trans-unit id="2f4e35e36f4d3c62e2c17df41730b6dee4afc4b9" datatype="html">\n        <source>End time</source>\n        <target>End time</target>\n      </trans-unit>\n      <trans-unit id="dbe739ec8c99a0132e326067ffec9c0ee06b2655" datatype="html">\n        <source>Matchers\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>*\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n        </source>\n        <target>Matchers\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>*\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="3e023166c55833d5a13f4143e3dbe372befe1b4e" datatype="html">\n        <source>A silence requires at least one matcher</source>\n        <target>A silence requires at least one matcher</target>\n      </trans-unit>\n      <trans-unit id="ef765bd80c4806c51c891908c07a24bc76f019eb" datatype="html">\n        <source>Add matcher</source>\n        <target>Add matcher</target>\n      </trans-unit>\n      <trans-unit id="d2bcd3296d2850de762fb943060b7e086a893181" datatype="html">\n        <source>Health</source>\n        <target>ヘルス</target>\n      </trans-unit>\n      <trans-unit id="61e0f26d843eec0b33ff475e111b0c2f7a80b835" datatype="html">\n        <source>Statistics</source>\n        <target>統計情報</target>\n      </trans-unit>\n      <trans-unit id="f8f74e5f683012b9c0702b1446011c6b9158bc67" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the NFS Ganesha management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the NFS Ganesha management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="7ffe39df9d88c972792bd8688b215392deb8313d" datatype="html">\n        <source>Clients</source>\n        <target>クライアント</target>\n      </trans-unit>\n      <trans-unit id="f2dae0bda66f6a349444951c0379c28cda47d6d1" datatype="html">\n        <source>Any client can access</source>\n        <target>任意のクライアントからアクセスできます</target>\n      </trans-unit>\n      <trans-unit id="7882f2edb1d4139800b276b6b0bbf5ae0b2234ef" datatype="html">\n        <source>Addresses</source>\n        <target>アドレス</target>\n      </trans-unit>\n      <trans-unit id="9bd96fcf50863e685c74d0490392f46689ffbdb6" datatype="html">\n        <source>Required field</source>\n        <target>必須フィールド</target>\n      </trans-unit>\n      <trans-unit id="a5f3f74c0f6925826cb2188576391c0da01a23f0" datatype="html">\n        <source>Must contain one or more comma-separated values</source>\n        <target>1つ以上のカンマ区切り値を含んでいる必要があります</target>\n      </trans-unit>\n      <trans-unit id="8bb5b2073697f3f4378c44a49b7524934c9268f4" datatype="html">\n        <source>For example:</source>\n        <target>例:</target>\n      </trans-unit>\n      <trans-unit id="8f969c655b3fbe4fba7e277caf4cd2c459f9fca5" datatype="html">\n        <source>Access Type</source>\n        <target>アクセスタイプ</target>\n      </trans-unit>\n      <trans-unit id="28952831a284cfe2b4fc39ca610e80b52598905a" datatype="html">\n        <source>Squash</source>\n        <target>スカッシュ</target>\n      </trans-unit>\n      <trans-unit id="0660ae339068979854ade34a96546980723dede3" datatype="html">\n        <source>Add clients</source>\n        <target>クライアントの追加</target>\n      </trans-unit>\n      <trans-unit id="135b91a2d908d5814b782695470a6a786c99d9d2" datatype="html">\n        <source>-- No cluster available --</source>\n        <target>-- 使用可能なクラスタがありません --</target>\n      </trans-unit>\n      <trans-unit id="c501dba379f566885919240ea277b5bc10c14d18" datatype="html">\n        <source>-- Select the cluster --</source>\n        <target>-- クラスタを選択してください --</target>\n      </trans-unit>\n      <trans-unit id="cf85b1ee58326aa9da63da41b2629c9db7c9a5b9" datatype="html">\n        <source>Add daemon</source>\n        <target>デーモンの追加</target>\n      </trans-unit>\n      <trans-unit id="b3f6ba7fe84d6508705cdfe234f0fcc8ff85c9cf" datatype="html">\n        <source>Storage Backend</source>\n        <target>ストレージバックエンド</target>\n      </trans-unit>\n      <trans-unit id="151c80ea931037cd92e854442927f8a0f6ae7795" datatype="html">\n        <source>-- No data pools available --</source>\n        <target>-- 使用可能なデータプールがありません --</target>\n      </trans-unit>\n      <trans-unit id="b6fee356d1db954255a56d8169405a89595246b9" datatype="html">\n        <source>-- Select the storage backend --</source>\n        <target>-- ストレージバックエンドを選択してください --</target>\n      </trans-unit>\n      <trans-unit id="76d67035c3ab3d8e56f725859f820f03fda41cfc" datatype="html">\n        <source>Object Gateway User</source>\n        <target>オブジェクトゲートウェイユーザ</target>\n      </trans-unit>\n      <trans-unit id="fade7788bace74337f306ae209f10fc187ef4671" datatype="html">\n        <source>-- No users available --</source>\n        <target>-- 使用可能なユーザがありません --</target>\n      </trans-unit>\n      <trans-unit id="6d30b7b36cf8f6364167321bdb4ba35d4cefce7b" datatype="html">\n        <source>-- Select the object gateway user --</source>\n        <target>-- オブジェクトゲートウェイユーザを選択してください --</target>\n      </trans-unit>\n      <trans-unit id="589ce20d3ba3e3ac44f75decfaadc4ea8f0aec2d" datatype="html">\n        <source>CephFS User ID</source>\n        <target>CephFSユーザID</target>\n      </trans-unit>\n      <trans-unit id="c4b88a53ac3b0ece46ba9b3ad72355a3c190cce7" datatype="html">\n        <source>-- No clients available --</source>\n        <target>-- 使用可能なクライアントがありません --</target>\n      </trans-unit>\n      <trans-unit id="da52835b80497a0002d24414b057dc46ae44ce38" datatype="html">\n        <source>-- Select the cephx client --</source>\n        <target>-- cephxクライアントを選択してください --</target>\n      </trans-unit>\n      <trans-unit id="fd3419e8957d928d7f7ba19c93356a0dbff02871" datatype="html">\n        <source>CephFS Name</source>\n        <target>CephFS名</target>\n      </trans-unit>\n      <trans-unit id="ee3ba0ab5f0ccd597b3e44021c71e9aaad14df0a" datatype="html">\n        <source>-- No CephFS filesystem available --</source>\n        <target>-- No CephFS filesystem available --</target>\n      </trans-unit>\n      <trans-unit id="764c57812558b1ae66c5eec95d7efd2b1bf761e3" datatype="html">\n        <source>-- Select the CephFS filesystem --</source>\n        <target>-- Select the CephFS filesystem --</target>\n      </trans-unit>\n      <trans-unit id="957512d0321f73e9f115bce1bd823fa635170c41" datatype="html">\n        <source>Security Label</source>\n        <target>セキュリティラベル</target>\n      </trans-unit>\n      <trans-unit id="65ce0fa4da1ed55e658aeb31d1644a29f06bb342" datatype="html">\n        <source>Enable security label</source>\n        <target>セキュリティラベルの有効化</target>\n      </trans-unit>\n      <trans-unit id="7e808f804130c7b6ff719509cbc06ebb27393a48" datatype="html">\n        <source>CephFS Path</source>\n        <target>CephFSパス</target>\n      </trans-unit>\n      <trans-unit id="5ecc0107badb6625466aaa3f975b5c05276f432f" datatype="html">\n        <source>Path need to start with a \'/\' and can be followed by a word</source>\n        <target>パスは「/」で始まる必要があり、その後ろに1つの単語を配置できます</target>\n      </trans-unit>\n      <trans-unit id="2d02916f44fc63e13ab16d1cbe72aa6cb51feab3" datatype="html">\n        <source>New directory will be created</source>\n        <target>新しいディレクトリが作成されます</target>\n      </trans-unit>\n      <trans-unit id="766c66ad5cc981c531aaf3fe3a2a7a346ddc8d83" datatype="html">\n        <source>Path</source>\n        <target>パス</target>\n      </trans-unit>\n      <trans-unit id="7ec35c722a50b976620f22612f7be619c12ceb90" datatype="html">\n        <source>Path can only be a single \'/\' or a word</source>\n        <target>パスは単一の「/」または1つの単語である必要があります</target>\n      </trans-unit>\n      <trans-unit id="aebb6a5090c24511de4530195694bb3f3dcf0342" datatype="html">\n        <source>New bucket will be created</source>\n        <target>新しいバケットが作成されます</target>\n      </trans-unit>\n      <trans-unit id="bee6900143996c0e908a10564532eba3da0b30fb" datatype="html">\n        <source>NFS Protocol</source>\n        <target>NFSプロトコル</target>\n      </trans-unit>\n      <trans-unit id="2f534178c01ebf1307da2eaeef04bc6801ebc729" datatype="html">\n        <source>NFSv3</source>\n        <target>NFSv3</target>\n      </trans-unit>\n      <trans-unit id="f5043c0921e709935ab026bb3253ffe1f159fca1" datatype="html">\n        <source>NFSv4</source>\n        <target>NFSv4</target>\n      </trans-unit>\n      <trans-unit id="92488963d23095985a47c0d6e62304e11d333f19" datatype="html">\n        <source>NFS Tag</source>\n        <target>NFSタグ</target>\n      </trans-unit>\n      <trans-unit id="aae93362720aea94623682996dd3fcd0f906f056" datatype="html">\n        <source>Alternative access for \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v3\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> mounts (it must not have a leading /).\n        </source>\n        <target>Alternative access for \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v3\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> mounts (it must not have a leading /).\n        </target>\n      </trans-unit>\n      <trans-unit id="45d6db77dcf1a3eeb921033abc7882e517a541cc" datatype="html">\n        <source>Clients may not mount subdirectories (i.e. if Tag = foo, the client may not mount foo/baz).</source>\n        <target>クライアントはサブディレクトリをマウントできません(たとえば、[タグ] = fooの場合は、クライアントはfoo/bazをマウントできません)。</target>\n      </trans-unit>\n      <trans-unit id="a1c7a8676b55e882a97c6a6fb205204f9c761afa" datatype="html">\n        <source>By using different Tag options, the same Path may be exported multiple times.</source>\n        <target>異なる[タグ]オプションを使用することで、同じパスを複数回エクスポートできます。</target>\n      </trans-unit>\n      <trans-unit id="6d2c39708a32910f89701dd7e1cfb9ec1c195768" datatype="html">\n        <source>Pseudo</source>\n        <target>疑似</target>\n      </trans-unit>\n      <trans-unit id="1f8be2ae25947bec0b84c2338201580ea053f34e" datatype="html">\n        <source>The position that this \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v4\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> export occupies\n                in the \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>Pseudo FS\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> (it must be unique).\n        </source>\n        <target>The position that this \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v4\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> export occupies\n                in the \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>Pseudo FS\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> (it must be unique).\n        </target>\n      </trans-unit>\n      <trans-unit id="f3af55f7fd5b1d9e5a53e030c80116dc635bfb9f" datatype="html">\n        <source>By using different Pseudo options, the same Path may be exported multiple times.</source>\n        <target>異なる[疑似]オプションを使用することで、同じパスを複数回エクスポートできます。</target>\n      </trans-unit>\n      <trans-unit id="ddf98fcdeeb17643db020d54f42b5e56b5f9a52a" datatype="html">\n        <source>Pseudo needs to start with a \'/\' and can\'t contain any of the following: &gt;, &lt;, |, &amp;, ( or ).</source>\n        <target>Pseudo needs to start with a \'/\' and can\'t contain any of the following: &gt;, &lt;, |, &amp;, ( or ).</target>\n      </trans-unit>\n      <trans-unit id="27eb35c4b4ac08781a7253a2ab40f8f7d957ba51" datatype="html">\n        <source>-- No access type available --</source>\n        <target>-- 使用可能なアクセスタイプがありません --</target>\n      </trans-unit>\n      <trans-unit id="509ce016c9110a54028dafd741f15ceacbe74b5a" datatype="html">\n        <source>-- Select the access type --</source>\n        <target>-- アクセスタイプを選択してください --</target>\n      </trans-unit>\n      <trans-unit id="49850390a653cd05dc5843d74ef073a9122b54c9" datatype="html">\n        <source>The Object Gateway NFS backend has a number of\n              limitations which will seriously affect applications writing to\n              the share. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for details before enabling write access.\n        </source>\n        <target>The Object Gateway NFS backend has a number of\n              limitations which will seriously affect applications writing to\n              the share. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for details before enabling write access.\n        </target>\n      </trans-unit>\n      <trans-unit id="4deda03573eaaff77e63f6a238a1f0ca7816950a" datatype="html">\n        <source>-- No squash available --</source>\n        <target>-- 使用可能なスカッシュがありません --</target>\n      </trans-unit>\n      <trans-unit id="a0e82a4da88e7fdf270444f838d45849676e9d4b" datatype="html">\n        <source>--Select what kind of user id squashing is performed --</source>\n        <target>-- 実行されるユーザIDスカッシュ操作の種類を選択してください --</target>\n      </trans-unit>\n      <trans-unit id="d01b7c3f7f06712c53d054cfbe4f53d446b038e8" datatype="html">\n        <source>Transport Protocol</source>\n        <target>トランスポートプロトコル</target>\n      </trans-unit>\n      <trans-unit id="d2a6ad6e8bc315f07911722c05767ac79c136d99" datatype="html">\n        <source>UDP</source>\n        <target>UDP</target>\n      </trans-unit>\n      <trans-unit id="9c030f11e0aae9b24d2c048c57f29f590be621df" datatype="html">\n        <source>TCP</source>\n        <target>TCP</target>\n      </trans-unit>\n      <trans-unit id="734c9905951a774870497c5aaae8e3ee833b6196" datatype="html">\n        <source>CephFS</source>\n        <target>CephFS</target>\n      </trans-unit>\n      <trans-unit id="449dca3d3a93ead418b0541ea81b0dda7e6483c2" datatype="html">\n        <source>Welcome to Ceph!</source>\n        <target>Cephにようこそ!</target>\n        <note>The welcome message on the login page</note>\n      </trans-unit>\n      <trans-unit id="0070e83d11da39d6f4bb95065c2675db1610b419" datatype="html">\n        <source>Username is required</source>\n        <target>ユーザ名は必須です</target>\n      </trans-unit>\n      <trans-unit id="1e20f8b8a4706526c9024cc2f39d568345d100dc" datatype="html">\n        <source>Password is required</source>\n        <target>パスワードは必須です</target>\n      </trans-unit>\n      <trans-unit id="6765b4c916060f6bc42d9bb69e80377dbcb5e4e9" datatype="html">\n        <source>Login</source>\n        <target>ログイン</target>\n      </trans-unit>\n      <trans-unit id="58fc1b5c79a75370eb52644fd83fb2e7096b6649" datatype="html">\n        <source>Sorry, the user does not exist in Ceph.</source>\n        <target>このユーザはCephに存在しません。</target>\n      </trans-unit>\n      <trans-unit id="d9deb94f78e7c41b35c6622b874f06657d7604c1" datatype="html">\n        <source>Return to \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Login Page\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You\'ll be logged out from the Identity Provider when you retry logging in.\n        </source>\n        <target>Return to \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Login Page\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You\'ll be logged out from the Identity Provider when you retry logging in.\n        </target>\n      </trans-unit>\n      <trans-unit id="0eb15f32b2b92d7f3103ef3ff032621888a8dc32" datatype="html">\n        <source>Old password</source>\n        <target>Old password</target>\n      </trans-unit>\n      <trans-unit id="1cf42e491adc166a337a960eb84d03c0c3f677c8" datatype="html">\n        <source>The old and new passwords must be different.</source>\n        <target>The old and new passwords must be different.</target>\n      </trans-unit>\n      <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229" datatype="html">\n        <source>New password</source>\n        <target>New password</target>\n      </trans-unit>\n      <trans-unit id="595ebc9279497f6dc733777e2816bee936901388" datatype="html">\n        <source>Too weak</source>\n        <target>Too weak</target>\n      </trans-unit>\n      <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b" datatype="html">\n        <source>Confirm new password</source>\n        <target>Confirm new password</target>\n      </trans-unit>\n      <trans-unit id="90163a3d3746819aef42e829f4446331232f3b66" datatype="html">\n        <source>Password confirmation doesn\'t match the new password.</source>\n        <target>Password confirmation doesn\'t match the new password.</target>\n      </trans-unit>\n      <trans-unit id="471e78026c258073ba687478dc54c35d9041ea42" datatype="html">\n        <source>Forbidden</source>\n        <target>禁止</target>\n      </trans-unit>\n      <trans-unit id="02ea8ad57677e3c63f3d7814ca5e6c7b74e360b4" datatype="html">\n        <source>Sorry, you are not allowed to see what you were looking for.</source>\n        <target>検索していた内容を表示することは許可されていません。</target>\n      </trans-unit>\n      <trans-unit id="e3c028c58f92453d46f09b5adf95b2f013ee0300" datatype="html">\n        <source>Sorry, we could not find what you were looking for</source>\n        <target>検索していた内容が見つかりませんでした</target>\n      </trans-unit>\n      <trans-unit id="a949d7e577902d0e5dc5d0971bb0170a21be7728" datatype="html">\n        <source>[object Object]</source>\n        <target>[object Object]</target>\n      </trans-unit>\n      <trans-unit id="ff92fbdec9fdd5054493eeda0d7ee8b450f83e72" datatype="html">\n        <source>RBD Configuration</source>\n        <target>RBD設定</target>\n      </trans-unit>\n      <trans-unit id="b62d9efc8eb3b589904f6cb96a0406bbda55673a" datatype="html">\n        <source>Remove the local configuration value. The parent configuration value will be inherited and used instead.</source>\n        <target>ローカル設定値を削除します。親設定値が継承されて代わりに使用されます。</target>\n      </trans-unit>\n      <trans-unit id="963488a1010d46067b238c4ae917fab3907c0a3a" datatype="html">\n        <source>The mininum value is 0</source>\n        <target>最小値は0です</target>\n      </trans-unit>\n      <trans-unit id="1d8a7c8aea58294a3c57c23af0468ddf0ba0c9c7" datatype="html">\n        <source>Pools List</source>\n        <target>プールリスト</target>\n      </trans-unit>\n      <trans-unit id="490e15ecc922965b6d8194754c87c5583aa071f3" datatype="html">\n        <source>The name can only consist of alphanumeric characters, dashes and underscores.</source>\n        <target>名前は英数字、ダッシュ、および下線のみで構成される必要があります。</target>\n      </trans-unit>\n      <trans-unit id="9edc2b494e660618af3e5225f68d40b7ca67629c" datatype="html">\n        <source>The chosen erasure code profile name is already in use.</source>\n        <target>選択されたイレイジャコードプロファイル名はすでに使用されています。</target>\n      </trans-unit>\n      <trans-unit id="ef9ff0e6227947b48dfab4ac39ade04af758913b" datatype="html">\n        <source>Plugin</source>\n        <target>プラグイン</target>\n      </trans-unit>\n      <trans-unit id="dd69b31bce8f630eac1d4762b0bbcf72ce19d193" datatype="html">\n        <source>Data chunks (k)</source>\n        <target>データチャンク(k)</target>\n      </trans-unit>\n      <trans-unit id="b0d26a6172d32cb81218fe2103c54a818cbc1189" datatype="html">\n        <source>Must be equal to or greater than 2.</source>\n        <target>2以上である必要があります。</target>\n      </trans-unit>\n      <trans-unit id="dab3a299ead121169b8e08ed618c3b6a2f66691b" datatype="html">\n        <source>Coding chunks (m)</source>\n        <target>コーディングチャンク(m)</target>\n      </trans-unit>\n      <trans-unit id="1e2773e5bd4948193f18f2361d663ecc3988c656" datatype="html">\n        <source>Must be equal to or greater than 1.</source>\n        <target>1以上である必要があります。</target>\n      </trans-unit>\n      <trans-unit id="6cde4c945a49a260c0a47bcc7cd956846930a5f7" datatype="html">\n        <source>Durability estimator (c)</source>\n        <target>耐久性推定子(c)</target>\n      </trans-unit>\n      <trans-unit id="af668c2a095a979ea2b4e43cd82c2120ab56c21c" datatype="html">\n        <source>Locality (l)</source>\n        <target>地域(l)</target>\n      </trans-unit>\n      <trans-unit id="d455a110bf6d2235e314e295ce1dfeee93d3dff2" datatype="html">\n        <source>Crush failure domain</source>\n        <target>Crush障害ドメイン</target>\n      </trans-unit>\n      <trans-unit id="b74a495f041f7dd102eee5c0bbc9e03083b538ae" datatype="html">\n        <source>Crush Locality</source>\n        <target>Crush地域</target>\n      </trans-unit>\n      <trans-unit id="a2f14a73f7a6e94479f67423cc51102da8d6f524" datatype="html">\n        <source>None</source>\n        <target>なし</target>\n      </trans-unit>\n      <trans-unit id="2981733b912b693a9dd9d915d6d34f4692cc874a" datatype="html">\n        <source>Technique</source>\n        <target>技法</target>\n      </trans-unit>\n      <trans-unit id="e0098b6e47b04ec817361f384ce81d454ba5c0bb" datatype="html">\n        <source>Packetsize</source>\n        <target>パケットサイズ</target>\n      </trans-unit>\n      <trans-unit id="c0252cd81ca54d0a2f69ec9ccf4248e73df5aa4a" datatype="html">\n        <source>Crush root</source>\n        <target>Crushルート</target>\n      </trans-unit>\n      <trans-unit id="1548d5c76f0406ddd1ba3c557e1e6db22e95b340" datatype="html">\n        <source>Crush device class</source>\n        <target>Crushデバイスクラス</target>\n      </trans-unit>\n      <trans-unit id="5e85feb6f9f0334366e46ee09ca6b8df52397432" datatype="html">\n        <source>any</source>\n        <target>任意</target>\n      </trans-unit>\n      <trans-unit id="03d84645f6e019c5a43909bbf2ea1696ee88332c" datatype="html">\n        <source>Directory</source>\n        <target>ディレクトリ</target>\n      </trans-unit>\n      <trans-unit id="2fecea01ce1d44114ee45144eff6d47a5016a74f" datatype="html">\n        <source>Name...</source>\n        <target>名前...</target>\n      </trans-unit>\n      <trans-unit id="16e113230b6b0d3165e076300880542bac7c8138" datatype="html">\n        <source>The chosen Ceph pool name is already in use.</source>\n        <target>選択されたCephプール名はすでに使用されています。</target>\n      </trans-unit>\n      <trans-unit id="c75b132bef7b29fa5171768303c4b96e34ccaf68" datatype="html">\n        <source>It\'s not possible to create an RBD pool with \'/\' in the name.\n              Please change the name or remove \'rbd\' from the applications list.</source>\n        <target>It\'s not possible to create an RBD pool with \'/\' in the name.\n              Please change the name or remove \'rbd\' from the applications list.</target>\n      </trans-unit>\n      <trans-unit id="b85c657469e5ec8231c3de99b22f437bc01ffde5" datatype="html">\n        <source>Pool type</source>\n        <target>プールタイプ</target>\n      </trans-unit>\n      <trans-unit id="526c5443254c3b126eedb264840ffe827727bfd3" datatype="html">\n        <source>-- Select a pool type --</source>\n        <target>-- プールタイプを選択してください --</target>\n      </trans-unit>\n      <trans-unit id="0aa21053410a94aa61d16985a4e95fd65523430d" datatype="html">\n        <source>Placement groups</source>\n        <target>配置グループ</target>\n      </trans-unit>\n      <trans-unit id="6301f1391d726f8f450bb358058534db19541ca9" datatype="html">\n        <source>At least one placement group is needed!</source>\n        <target>少なくとも1つの配置グループが必要です。</target>\n      </trans-unit>\n      <trans-unit id="ba9469a1ce6ed36e039c1f67247c8c81a5c71449" datatype="html">\n        <source>Your cluster can\'t handle this many PGs. Please recalculate the PG amount needed.</source>\n        <target>ご使用のクラスタはこれだけ多数の配置グループを処理できません。必要な配置グループの数を再計算してください。</target>\n      </trans-unit>\n      <trans-unit id="80ac68cd883369dac20688bc32b4cb33291b5e50" datatype="html">\n        <source>Calculation help</source>\n        <target>計算のヘルプ</target>\n      </trans-unit>\n      <trans-unit id="fccbd60493df26705d957ed6c02a3c447894678f" datatype="html">\n        <source>The current PGs settings were calculated for you, you\n                should make sure the values suit your needs before submit.</source>\n        <target>The current PGs settings were calculated for you, you\n                should make sure the values suit your needs before submit.</target>\n      </trans-unit>\n      <trans-unit id="33150f22ce5348aa6c499bd092c3f4f3695d62cc" datatype="html">\n        <source>Crush ruleset</source>\n        <target>Crushルールセット</target>\n      </trans-unit>\n      <trans-unit id="73a6b31116b3cc322af951daa0bafdc169e6c42e" datatype="html">\n        <source>-- Select a crush rule --</source>\n        <target>-- Crushルールを選択してください --</target>\n      </trans-unit>\n      <trans-unit id="92da80699921e89fb19372e25b8d0f3b9fa427fc" datatype="html">\n        <source>Crush rule</source>\n        <target>Crushルール</target>\n      </trans-unit>\n      <trans-unit id="5489e9f96835f469f6f728a00d8efa88ea5bc940" datatype="html">\n        <source>Crush steps</source>\n        <target>Crushステップ</target>\n      </trans-unit>\n      <trans-unit id="54a53b1b402aafff5b992ee9b64e409fbfe9074f" datatype="html">\n        <source>The rule can\'t be used in the current cluster as it has\n                to few OSDs to meet the minimum required OSD by this rule.</source>\n        <target>現在のクラスタ内のOSD数はこのルールで要求される最小OSD数を下回っているため、\nこのルールを現在のクラスタで使用することはできません。</target>\n      </trans-unit>\n      <trans-unit id="a43b2695131b48b76cebba676aba98a2bee17515" datatype="html">\n        <source>Replicated size</source>\n        <target>複製されたサイズ</target>\n      </trans-unit>\n      <trans-unit id="7bff144a4c4dc63b0e18fff2617d61a7ebdf2b6c" datatype="html">\n        <source>Minimum: \n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/>\n        </source>\n        <target>Minimum: \n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="1a9c54b41f6d58a74e5d0aa3429ed0c87a482551" datatype="html">\n        <source>Maximum: \n          <x id="INTERPOLATION" equiv-text="{{ getMaxSize() }}"/>\n        </source>\n        <target>Maximum: \n          <x id="INTERPOLATION" equiv-text="{{ getMaxSize() }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6ab647b95bd2347ae6f4605576de5e0269fb893a" datatype="html">\n        <source>The size specified is out of range. A value from\n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/> to \n          <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.\n        </source>\n        <target>The size specified is out of range. A value from\n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/> to \n          <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.\n        </target>\n      </trans-unit>\n      <trans-unit id="9de7dde00e2139cc4bd03b1837afbe72ad15a1ff" datatype="html">\n        <source>Erasure code profile</source>\n        <target>イレイジャコードプロファイル</target>\n      </trans-unit>\n      <trans-unit id="39b4620e6bd444e0a57a0a5c03fa8c96d7fe5235" datatype="html">\n        <source>-- No erasure code profile available --</source>\n        <target>-- 使用可能なイレイジャコードプロファイルがありません --</target>\n      </trans-unit>\n      <trans-unit id="498561757390d5528b263ce450d5f38efb00266d" datatype="html">\n        <source>-- Select an erasure code profile --</source>\n        <target>-- イレイジャコードプロファイルを選択してください --</target>\n      </trans-unit>\n      <trans-unit id="920617c6a1a4805e53bcb5af6a9c76f8387e89c6" datatype="html">\n        <source>Flags</source>\n        <target>フラグ</target>\n      </trans-unit>\n      <trans-unit id="1c870fb00256b8a5b9cb9cd1a124e6390b9bc639" datatype="html">\n        <source>EC Overwrites</source>\n        <target>ECの上書き</target>\n      </trans-unit>\n      <trans-unit id="f1abafaeb40ce52355ddcc24686e3cd17b64e08a" datatype="html">\n        <source>Applications</source>\n        <target>アプリケーション</target>\n      </trans-unit>\n      <trans-unit id="2208d63d5940ce656006a220102b1eb2b5e553da" datatype="html">\n        <source>Compression</source>\n        <target>圧縮</target>\n      </trans-unit>\n      <trans-unit id="37e10df2d9c0c25ef04ac112c9c9a7723e8efae0" datatype="html">\n        <source>Mode</source>\n        <target>モード</target>\n      </trans-unit>\n      <trans-unit id="6c6f25c47da62ec597c6057a36ddfc3209811ec5" datatype="html">\n        <source>Algorithm</source>\n        <target>アルゴリズム</target>\n      </trans-unit>\n      <trans-unit id="4903231d42089325a28892c0fde1aed46b733ae6" datatype="html">\n        <source>-- No erasure compression algorithm available --</source>\n        <target>-- 使用可能なイレイジャ圧縮アルゴリズムがありません --</target>\n      </trans-unit>\n      <trans-unit id="5d68ddb254275f8f44221e9ad6d8ceeb59ca46a6" datatype="html">\n        <source>Minimum blob size</source>\n        <target>最小blobサイズ</target>\n      </trans-unit>\n      <trans-unit id="fb2f176df80647137cbb02bbeb29e5dec707a400" datatype="html">\n        <source>e.g., 128KiB</source>\n        <target>例: 128KiB</target>\n      </trans-unit>\n      <trans-unit id="1b7f6e53a4521c6eb3ced4c007fdd4cf80bb7707" datatype="html">\n        <source>Value should be greater than 0</source>\n        <target>値は0より大きい必要があります</target>\n      </trans-unit>\n      <trans-unit id="8db98ab14b4e207ec763dfdefbc2dae367aab1cc" datatype="html">\n        <source>Value should be less than the maximum blob size</source>\n        <target>Value should be less than the maximum blob size</target>\n      </trans-unit>\n      <trans-unit id="151efb127a9a4dd25259a0b2055442318a141f5b" datatype="html">\n        <source>Maximum blob size</source>\n        <target>最大blobサイズ</target>\n      </trans-unit>\n      <trans-unit id="0c656f0e346bbadf46eb1a5d20d0307a3bd20ba8" datatype="html">\n        <source>e.g., 512KiB</source>\n        <target>例: 512KiB</target>\n      </trans-unit>\n      <trans-unit id="0a65a24eee8a026f3b1113fe9e157e9a0dd69486" datatype="html">\n        <source>Value should be greater than the minimum blob size</source>\n        <target>値は最小blobサイズより大きい必要があります</target>\n      </trans-unit>\n      <trans-unit id="261ba09c4a59de83f48f52a23fd328da37e61ff4" datatype="html">\n        <source>Ratio</source>\n        <target>率</target>\n      </trans-unit>\n      <trans-unit id="c1430457a9c3c66366e51d76bf10396014c576be" datatype="html">\n        <source>Compression ratio</source>\n        <target>圧縮率</target>\n      </trans-unit>\n      <trans-unit id="ae5ce6de352cde949998fb10754459c3a4eb183b" datatype="html">\n        <source>Value should be between 0.0 and 1.0</source>\n        <target>値は0.0~1.0の間である必要があります</target>\n      </trans-unit>\n      <trans-unit id="8bb8293aa8161433778762ae025ffd5e7c85795e" datatype="html">\n        <source>Quotas</source>\n        <target>Quotas</target>\n      </trans-unit>\n      <trans-unit id="d99b34162c9c34f10d0ccd8dbae83d8569c2db77" datatype="html">\n        <source>Max bytes</source>\n        <target>Max bytes</target>\n      </trans-unit>\n      <trans-unit id="a1d14a18879c62f3f4ed705318b7164a1160e249" datatype="html">\n        <source>Leave it blank or specify 0 to disable this quota.</source>\n        <target>Leave it blank or specify 0 to disable this quota.</target>\n      </trans-unit>\n      <trans-unit id="7565b131562ff6c5f769fdbd239a772154abdd97" datatype="html">\n        <source>A valid quota should be greater than 0.</source>\n        <target>A valid quota should be greater than 0.</target>\n      </trans-unit>\n      <trans-unit id="f0016bd458baa88284a658ce9eeda42d8ad88d2c" datatype="html">\n        <source>e.g., 10GiB</source>\n        <target>例: 10GiB</target>\n      </trans-unit>\n      <trans-unit id="b8bf35b66f09a301eef92ffc3cb2fd259df67ce9" datatype="html">\n        <source>Max objects</source>\n        <target>Max objects</target>\n      </trans-unit>\n      <trans-unit id="95f348167622d832c5ae532b6944635c8e2ae5cb" datatype="html">\n        <source>The value should be greater or equal to 0</source>\n        <target>The value should be greater or equal to 0</target>\n      </trans-unit>\n      <trans-unit id="fbbaf5cb02ed419e79a27072478f716a4666a99d" datatype="html">\n        <source>Performance Details</source>\n        <target>パフォーマンスの詳細</target>\n      </trans-unit>\n      <trans-unit id="3938a411d76796f8ae73b72ea4c77661207453bd" datatype="html">\n        <source>Cache Tiers Details</source>\n        <target>キャッシュ層の詳細</target>\n      </trans-unit>\n      <trans-unit id="f0b5d789d42c0e69348e5fe0037fcbf5b5fbbdcc" datatype="html">\n        <source>Move an image to trash</source>\n        <target>イメージをごみ箱に移動する</target>\n      </trans-unit>\n      <trans-unit id="86301cf2044b1eda218483365f6b9de8dde5040b" datatype="html">\n        <source>To move \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{ imageName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,\n          click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optionally, you can pick an expiration date.\n        </source>\n        <target>To move \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{ imageName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,\n          click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optionally, you can pick an expiration date.\n        </target>\n      </trans-unit>\n      <trans-unit id="88f27d390844aad53b4240360e928156c5f0d326" datatype="html">\n        <source>Protection expires at</source>\n        <target>保護の失効日</target>\n      </trans-unit>\n      <trans-unit id="da166e9a0d27322f6ba8916d71ecc0f9905bb4b1" datatype="html">\n        <source>NOT PROTECTED</source>\n        <target>保護されていません</target>\n      </trans-unit>\n      <trans-unit id="a1506e5f2ca22cad14502ec7a20fb6113ace145d" datatype="html">\n        <source>Wrong date format. Please use "YYYY-MM-DD HH:mm:ss".</source>\n        <target>日付の形式が正しくありません。「YYYY-MM-DD HH:mm:ss」という形式を使用してください。</target>\n      </trans-unit>\n      <trans-unit id="aa7ea0bb7495281e0b3258467ac7d90a1e44a1a1" datatype="html">\n        <source>Protection has already expired. Please pick a future date or leave it empty.</source>\n        <target>保護はすでに失効しています。将来の日付を選択するか、日付を空白のままにしてください。</target>\n      </trans-unit>\n      <trans-unit id="536b3205c0c0d4d21685ec06feccfcf2fe14deb1" datatype="html">\n        <source>Move Image</source>\n        <target>イメージの移動</target>\n      </trans-unit>\n      <trans-unit id="8a9910cd114c1deb9af74f6f99b4173403965bf2" datatype="html">\n        <source>Gateways</source>\n        <target>Gateways</target>\n      </trans-unit>\n      <trans-unit id="8835b9e49a3348b0a2f2162c21118af1f4bee45a" datatype="html">\n        <source>Must be greater than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'min\'] }}"/>.\n        </source>\n        <target>Must be greater than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'min\'] }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="bbddac59563c8c126e3fe28691e4e247614fcbd1" datatype="html">\n        <source>Must be less than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'max\'] }}"/>.\n        </source>\n        <target>Must be less than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'max\'] }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="e95ae009d0bdb45fcc656e8b65248cf7396080d5" datatype="html">\n        <source>Overview</source>\n        <target>概要</target>\n      </trans-unit>\n      <trans-unit id="bbd2045d5c37e4bb39a3c0fb62ea1ddf70a12838" datatype="html">\n        <source>Targets</source>\n        <target>ターゲット</target>\n      </trans-unit>\n      <trans-unit id="6803e31b7395d94934e091a49a9524026b59b018" datatype="html">\n        <source>Discovery Authentication</source>\n        <target>検出認証</target>\n      </trans-unit>\n      <trans-unit id="e08a77594f3d89311cdf6da5090044270909c194" datatype="html">\n        <source>User</source>\n        <target>ユーザ</target>\n      </trans-unit>\n      <trans-unit id="0214f773f8e394f50f953f39962e352d7863e959" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n              can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>ユーザ名は8~64文字の長さである必要があり、\n英字、「.」、「@」、「-」、「_」、または「:」のみで構成される必要があります。</target>\n      </trans-unit>\n      <trans-unit id="c32ef07f8803a223a83ed17024b38e8d82292407" datatype="html">\n        <source>Password</source>\n        <target>パスワード</target>\n      </trans-unit>\n      <trans-unit id="6682d1c00263bee204583a5d589b308b6be88b0f" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n              and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n              and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="ff40391de7a1944ea95091e4045cc34c4979b736" datatype="html">\n        <source>Mutual User</source>\n        <target>相互ユーザ</target>\n      </trans-unit>\n      <trans-unit id="0cf73dbebe99b737c4d288788182fc356e3c93d3" datatype="html">\n        <source>Mutual Password</source>\n        <target>相互パスワード</target>\n      </trans-unit>\n      <trans-unit id="8800276925157c666b103c36ff7fe8ffe11980b4" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters and\n              can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters and\n              can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="53a583cd5f15059cc958b7d547f72cc78f68e123" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n    on how to configure and enable the iSCSI Targets management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n    on how to configure and enable the iSCSI Targets management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="3b301d0044f62c92af0da53d7aaca52a436a547d" datatype="html">\n        <source>Available information:</source>\n        <target>取得可能な情報:</target>\n      </trans-unit>\n      <trans-unit id="332227f088a4877b3c11f5fb3ae8bc812c470fae" datatype="html">\n        <source>iSCSI Targets not available</source>\n        <target>使用可能なiSCSIターゲットがありません</target>\n      </trans-unit>\n      <trans-unit id="8414a5cb9d71cc1b21b10e4a9d1f2dad558f3361" datatype="html">\n        <source>Discovery authentication</source>\n        <target>Discovery authentication</target>\n      </trans-unit>\n      <trans-unit id="0f6e8f6094b180eaf1f11bc0ffe383f1cdcd059e" datatype="html">\n        <source>Only available for RBD images with \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>fast-diff\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> enabled\n        </source>\n        <target>Only available for RBD images with \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>fast-diff\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> enabled\n        </target>\n      </trans-unit>\n      <trans-unit id="e70fcca5a99575cffef3ff8cbd5e69f06ffd0f1c" datatype="html">\n        <source>Pool</source>\n        <target>プール</target>\n      </trans-unit>\n      <trans-unit id="03cc5b14b0a20d075e9009ff021f4f1660ba348a" datatype="html">\n        <source>Data Pool</source>\n        <target>データプール</target>\n      </trans-unit>\n      <trans-unit id="1b051734b0ee9021991c91b3ed4e81c244322462" datatype="html">\n        <source>Created</source>\n        <target>作成済み</target>\n      </trans-unit>\n      <trans-unit id="7faaaa08f56427999f3be41df1093ce4089bbd75" datatype="html">\n        <source>Size</source>\n        <target>サイズ</target>\n      </trans-unit>\n      <trans-unit id="afdb601c16162f2c798b16a2920955f1cc6a20aa" datatype="html">\n        <source>Objects</source>\n        <target>オブジェクト数</target>\n      </trans-unit>\n      <trans-unit id="ceac8e132384322ec778ba760875a6c6897d3e42" datatype="html">\n        <source>Object size</source>\n        <target>オブジェクトサイズ</target>\n      </trans-unit>\n      <trans-unit id="6cdb1fea93d77c07950c0c76c6e0ad79ebbef084" datatype="html">\n        <source>Features</source>\n        <target>機能</target>\n      </trans-unit>\n      <trans-unit id="0a65771c9a73b9aa609d592fc96a64801a8f40bd" datatype="html">\n        <source>Provisioned</source>\n        <target>プロビジョニング済み</target>\n      </trans-unit>\n      <trans-unit id="84a36cb75660b736773fe36ffa3d54f0f0fe363e" datatype="html">\n        <source>N/A</source>\n        <target>なし</target>\n      </trans-unit>\n      <trans-unit id="e5c009342a4e8381f64341d0bb61c2e4685f5a4b" datatype="html">\n        <source>Total provisioned</source>\n        <target>プロビジョニング済み合計</target>\n      </trans-unit>\n      <trans-unit id="7f6bf8a43ae415f527ac961ea62471b983aaa97b" datatype="html">\n        <source>Striping unit</source>\n        <target>ストライピング単位</target>\n      </trans-unit>\n      <trans-unit id="db710e8a8f011923f2d15d713fbae49c38b02b26" datatype="html">\n        <source>Striping count</source>\n        <target>ストライピング数</target>\n      </trans-unit>\n      <trans-unit id="3a4c2a9e76634ff14a60d52a718296f722d47c67" datatype="html">\n        <source>Parent</source>\n        <target>親</target>\n      </trans-unit>\n      <trans-unit id="6a209e68d78ffc2cc9c53d2e76158624efab71ad" datatype="html">\n        <source>Block name prefix</source>\n        <target>ブロック名のプレフィックス</target>\n      </trans-unit>\n      <trans-unit id="5704ec2049d007c5f5fb495a5d8b607e68d58081" datatype="html">\n        <source>Order</source>\n        <target>順番</target>\n      </trans-unit>\n      <trans-unit id="f21b1d17b6c5042bb5805516eee37fde33739dd8" datatype="html">\n        <source>Snapshots</source>\n        <target>スナップショット</target>\n      </trans-unit>\n      <trans-unit id="a5f9ba9bb9faa8284bcadb1cdbc6aaf969e9c4bb" datatype="html">\n        <source>Image</source>\n        <target>イメージ</target>\n      </trans-unit>\n      <trans-unit id="58e58f1a8786da9031a05e6770c5dafce82badf5" datatype="html">\n        <source>This setting overrides the global value</source>\n        <target>この設定はグローバル値よりも優先されます</target>\n      </trans-unit>\n      <trans-unit id="5decb3917d46a9ac6e5813699801becb7c3c1455" datatype="html">\n        <source>Global</source>\n        <target>グローバル</target>\n      </trans-unit>\n      <trans-unit id="36b46714164964c6258b08ed0a25f57d8a950f92" datatype="html">\n        <source>This is the global value. No value for this option has been set for this image.</source>\n        <target>これはグローバル値です。このイメージについて、このオプションの値は設定されていません。</target>\n      </trans-unit>\n      <trans-unit id="6547c9c4d5f62942ac4b1fe459cf9a03d4dbf5a0" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/> from\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/> from\n        </target>\n      </trans-unit>\n      <trans-unit id="0e9ecf29a4fa5b057bd8052e0d801b3fde6a30bf" datatype="html">\n        <source>\'/\' and \'@\' are not allowed.</source>\n        <target>「/」と「@」は使用できません。</target>\n      </trans-unit>\n      <trans-unit id="b99417c4dd46286ffd37c8d2e987c8b512ec7052" datatype="html">\n        <source>-- No rbd pools available --</source>\n        <target>-- 使用可能なrbdプールがありません --</target>\n      </trans-unit>\n      <trans-unit id="ef83ec9c304a89d45650e580dcdc2978c37b3a83" datatype="html">\n        <source>-- Select a pool --</source>\n        <target>-- プールを選択してください --</target>\n      </trans-unit>\n      <trans-unit id="49449943d8cbf59d8c401c8bd2e76f92e207cc5f" datatype="html">\n        <source>Use a dedicated data pool</source>\n        <target>専用のデータプールを使用してください</target>\n      </trans-unit>\n      <trans-unit id="870aee0dd31a9643bf62007beb8f1ae1deb34d42" datatype="html">\n        <source>Data pool</source>\n        <target>データプール</target>\n      </trans-unit>\n      <trans-unit id="3792ca829d9b9f687e1f5d7733d30e9bb0bfec47" datatype="html">\n        <source>Dedicated pool that stores the object-data of the RBD.</source>\n        <target>RBDのオブジェクトデータを保管するための専用プール</target>\n      </trans-unit>\n      <trans-unit id="0a88bbee20570aaf9615332fb27020627044874d" datatype="html">\n        <source>You have to increase the size.</source>\n        <target>サイズを大きくする必要があります。</target>\n      </trans-unit>\n      <trans-unit id="bc2e854e111ecf2bd7db170da5e3c2ed08181d88" datatype="html">\n        <source>Advanced</source>\n        <target>詳細</target>\n      </trans-unit>\n      <trans-unit id="3562a3778695a5f9c0445660e35301f0a39aaf73" datatype="html">\n        <source>Striping</source>\n        <target>ストライピング</target>\n      </trans-unit>\n      <trans-unit id="ef3c3f3b5f562a5cdbe0ee2874287db1534b5958" datatype="html">\n        <source>Stripe unit</source>\n        <target>ストライプ単位</target>\n      </trans-unit>\n      <trans-unit id="84471be1049006edecbcaef1a32ae0893c229c50" datatype="html">\n        <source>-- Select stripe unit --</source>\n        <target>-- ストライプ単位を選択してください --</target>\n      </trans-unit>\n      <trans-unit id="8d32c5c54c8581c774a7f467fbd4e329b15a74fa" datatype="html">\n        <source>This field is required because stripe count is defined!</source>\n        <target>ストライプ数が定義されているため、このフィールドは必須です。</target>\n      </trans-unit>\n      <trans-unit id="6bbf9040be7c5491d4a03f2185708f43a6582a3b" datatype="html">\n        <source>Stripe unit is greater than object size.</source>\n        <target>ストライプ単位がオブジェクトサイズより大きいです。</target>\n      </trans-unit>\n      <trans-unit id="a682f49f9b761591661276d7c6f550e641a130a4" datatype="html">\n        <source>Stripe count</source>\n        <target>ストライプ数</target>\n      </trans-unit>\n      <trans-unit id="baa74031990c5370008ba622d0a250f0929097f4" datatype="html">\n        <source>This field is required because stripe unit is defined!</source>\n        <target>ストライプ単位が定義されているため、このフィールドは必須です。</target>\n      </trans-unit>\n      <trans-unit id="cd2ada6d5ecbd5cbf89eae0a1f5326efedac0dbc" datatype="html">\n        <source>Stripe count must be greater than 0.</source>\n        <target>ストライプ数は0より大きい必要があります。</target>\n      </trans-unit>\n      <trans-unit id="3f67f30568e9ae47507d46e28e1e82a7dca772e2" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> RBD Snapshot\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> RBD Snapshot\n        </target>\n      </trans-unit>\n      <trans-unit id="1628d19a4490817c18be2afab410ca4adfa62ea7" datatype="html">\n        <source>{VAR_SELECT, select, true {Rename} other {Create} }</source>\n        <target>{VAR_SELECT, select, true {Rename} other {Create} }</target>\n      </trans-unit>\n      <trans-unit id="73a287b41afe6b28f90edbeb98957a341a0276b4" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> Snapshot\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> Snapshot\n        </target>\n      </trans-unit>\n      <trans-unit id="cb60c1cd3655234756b5b92d4d597d92d520ee30" datatype="html">\n        <source>PROTECTED</source>\n        <target>PROTECTED</target>\n      </trans-unit>\n      <trans-unit id="deffb86b8fb0541254ad5a43862d82bff6b6a6c4" datatype="html">\n        <source>UNPROTECTED</source>\n        <target>未保護</target>\n      </trans-unit>\n      <trans-unit id="5c5331983af566d4ac6a1024d15a3511786a4aa6" datatype="html">\n        <source>You are about to rollback</source>\n        <target>ロールバックしようとしています</target>\n      </trans-unit>\n      <trans-unit id="49c0408946a6d67185947f455f15cc201d0d78e6" datatype="html">\n        <source>Purge Trash</source>\n        <target>ごみ箱を空にする</target>\n      </trans-unit>\n      <trans-unit id="af728625d769b61acf291442644b89edb88faec3" datatype="html">\n        <source>To purge, select one or All images and click</source>\n        <target>空にするには、1つまたはすべてのイメージを選択してクリックします</target>\n      </trans-unit>\n      <trans-unit id="55a4f598a4894b7fd5cb88f0ffd3c37ad009dd70" datatype="html">\n        <source>Pool:</source>\n        <target>プール:</target>\n      </trans-unit>\n      <trans-unit id="d43dd2b9f7797e4cf3a604695bb33e4479108516" datatype="html">\n        <source>Pool name...</source>\n        <target>プール名...</target>\n      </trans-unit>\n      <trans-unit id="dfc3c34e182ea73c5d784ff7c8135f087992dac1" datatype="html">\n        <source>All</source>\n        <target>すべて</target>\n      </trans-unit>\n      <trans-unit id="b0e7c7ed1d51a0c205c815048bc9f79e24ee6db2" datatype="html">\n        <source>Restore Image</source>\n        <target>イメージの復元</target>\n      </trans-unit>\n      <trans-unit id="7369384817e0ad61ce871c9afdfbb538df2f97c1" datatype="html">\n        <source>To restore</source>\n        <target>復元するには</target>\n      </trans-unit>\n      <trans-unit id="e7f0abefc608f7fb452c2dc9b1cdc3dec432160e" datatype="html">\n        <source>type the image\'s new name and click</source>\n        <target>イメージの新しい名前を入力してクリックします</target>\n      </trans-unit>\n      <trans-unit id="41307dd56fea669eed72e12a6c23af275f6bfd82" datatype="html">\n        <source>New Name</source>\n        <target>新しい名前</target>\n      </trans-unit>\n      <trans-unit id="5c96a761dc55a21882c132c929583a424c9b8cf4" datatype="html">\n        <source>Expired at</source>\n        <target>失効日</target>\n      </trans-unit>\n      <trans-unit id="661041e3fcff4d3e75c561e038ca2504cf2cc643" datatype="html">\n        <source>Protected until</source>\n        <target>保護の終了日</target>\n      </trans-unit>\n      <trans-unit id="0ee3b2322a1d3277f7e3fdb8a5141ac42bcf350b" datatype="html">\n        <source>This image is protected until \n          <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.\n        </source>\n        <target>This image is protected until \n          <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="aba82bfd8e177d35b76cad7cd43941f8e5e5acac" datatype="html">\n        <source>Trash</source>\n        <target>ごみ箱</target>\n      </trans-unit>\n      <trans-unit id="a674ab267d1934bf395f87ca1503fd474296893f" datatype="html">\n        <source>iSCSI Topology</source>\n        <target>iSCSIトポロジ</target>\n      </trans-unit>\n      <trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html">\n        <source>Settings</source>\n        <target>設定</target>\n      </trans-unit>\n      <trans-unit id="9e515f954730279c31d5301f02479666d6264e8b" datatype="html">\n        <source>Changing these parameters from their default values is usually not necessary.</source>\n        <target>通常はこれらのパラメータをデフォルト値から変更する必要はありません。</target>\n      </trans-unit>\n      <trans-unit id="69a47cbabcc51ca942606e1d8da0ec11f98a2690" datatype="html">\n        <source>Backstore</source>\n        <target>バックストア</target>\n      </trans-unit>\n      <trans-unit id="68e710782ccb5398b3acb8844caf0b199da2c3da" datatype="html">\n        <source>Confirm</source>\n        <target>確認</target>\n      </trans-unit>\n      <trans-unit id="339878da255ab55447c43afef8d9b2f9753bf5f6" datatype="html">\n        <source>Advanced Settings</source>\n        <target>詳細設定</target>\n      </trans-unit>\n      <trans-unit id="1406c2fb12a20c1528b19bcc5e24a6a2386167f3" datatype="html">\n        <source>Target IQN</source>\n        <target>ターゲットIQN</target>\n      </trans-unit>\n      <trans-unit id="5fe42339be910372fa689f559155631862d218e8" datatype="html">\n        <source>IQN has wrong pattern.</source>\n        <target>IQNのパターンが正しくありません。</target>\n      </trans-unit>\n      <trans-unit id="050a7ff057d1e895357540406b6be5652b4d1c71" datatype="html">\n        <source>An IQN has the following notation\n                \'iqn.$year-$month.$reversedAddress:$definedName\'</source>\n        <target>An IQN has the following notation\n                \'iqn.$year-$month.$reversedAddress:$definedName\'</target>\n      </trans-unit>\n      <trans-unit id="c8ada4b53396d8366db00a435acc61d53d857047" datatype="html">\n        <source>For example: iqn.2016-06.org.dashboard:storage:disk.sn-a8675309</source>\n        <target>例: iqn.2016-06.org.dashboard:storage:disk.sn-a8675309</target>\n      </trans-unit>\n      <trans-unit id="e60c11e1b1dfbbeda577364b8de39ded2d796c5e" datatype="html">\n        <source>More information</source>\n        <target>詳細情報</target>\n      </trans-unit>\n      <trans-unit id="9b1aa85dfc6849196e64060db02c5410de69b7a1" datatype="html">\n        <source>This target has modified advanced settings.</source>\n        <target>このターゲットの詳細設定は変更されています。</target>\n      </trans-unit>\n      <trans-unit id="6990ad8d6182662e864495ac31c3758cda1c7a28" datatype="html">\n        <source>Portals</source>\n        <target>ポータル</target>\n      </trans-unit>\n      <trans-unit id="c3638c01b6c34066438909713ec96087c813fc7e" datatype="html">\n        <source>At least \n          <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.\n        </source>\n        <target>At least \n          <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.\n        </target>\n      </trans-unit>\n      <trans-unit id="6a3ac2b4137d723fd9878cd357c2012ff6c07973" datatype="html">\n        <source>Add portal</source>\n        <target>ポータルの追加</target>\n      </trans-unit>\n      <trans-unit id="9aff25be088f0efe3eaaf62edf2bff41cc41a617" datatype="html">\n        <source>Backstore: \n          <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. \n        </source>\n        <target>Backstore: \n          <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. \n        </target>\n      </trans-unit>\n      <trans-unit id="e3484cae8b118c576ca2815bf9c9406c2eb2cae3" datatype="html">\n        <source>This image has modified settings.</source>\n        <target>このイメージの設定は変更されています。</target>\n      </trans-unit>\n      <trans-unit id="107c84e820909b44fe258673938a68ced1bbff72" datatype="html">\n        <source>At least 1 image is required.</source>\n        <target>少なくとも1つのイメージが必要です。</target>\n      </trans-unit>\n      <trans-unit id="808038f912fdc7f0e03f82d4afd3bf9178527fc8" datatype="html">\n        <source>Add image</source>\n        <target>イメージの追加</target>\n      </trans-unit>\n      <trans-unit id="66c5fb27f52e75b70ca4b670b9b15a2a51cf9543" datatype="html">\n        <source>ACL authentication</source>\n        <target>ACL認証</target>\n      </trans-unit>\n      <trans-unit id="419c8b402609dcf49ae4932a5a4647dc8d79bbaf" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n                can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Usernames must have a length of 8 to 64 characters and\n                can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</target>\n      </trans-unit>\n      <trans-unit id="938050960d6653fddfcfd42425e18fb35a308262" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n                and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n                and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="f494bd31f095f6dcc656ce87ec2dcf07a2e9b30c" datatype="html">\n        <source>Initiators</source>\n        <target>イニシエータ</target>\n      </trans-unit>\n      <trans-unit id="e98239d8a6be1100119ff4b5630c822b82786740" datatype="html">\n        <source>Initiator</source>\n        <target>イニシエータ</target>\n      </trans-unit>\n      <trans-unit id="f2c5059d8cda15d8d03e2cce30f2d139623d9a91" datatype="html">\n        <source>Client IQN</source>\n        <target>クライアントIQN</target>\n      </trans-unit>\n      <trans-unit id="107d5aabce23d900f0a80e6ddc1c10e29aa0bed8" datatype="html">\n        <source>Initiator IQN needs to be unique.</source>\n        <target>イニシエータIQNは一意である必要があります。</target>\n      </trans-unit>\n      <trans-unit id="bbf0b34a3fcc80800fcb44b9e1e86931a530dfe3" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n                        can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>ユーザ名は8~64文字の長さである必要があり、\n英字、「.」、「@」、「-」、「_」、または「:」のみで構成される必要があります。</target>\n      </trans-unit>\n      <trans-unit id="fdfee5d7a27e1bdd97a176097277bee078de6aaf" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n                        and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n                        and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="8406eb7415ee40e54d9ecb209abb056f06e3d666" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters and\n                        can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters and\n                        can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="5d1878d5fc761cbe9614bfd87047a740c82a6951" datatype="html">\n        <source>Initiator belongs to a group. Images will be configure in the group.</source>\n        <target>イニシエータはいずれかのグループに属します。イメージはそのグループ内で設定されます。</target>\n      </trans-unit>\n      <trans-unit id="c0de67b9d97fafbf200f9451e8388ee8128a56ac" datatype="html">\n        <source>No items added.</source>\n        <target>アイテムが追加されていません。</target>\n      </trans-unit>\n      <trans-unit id="d565e47726158e428ecdc952fc9233b9b7d7f049" datatype="html">\n        <source>Add initiator</source>\n        <target>イニシエータの追加</target>\n      </trans-unit>\n      <trans-unit id="c22ba03540aa3217da059f45e7eab138b51a96e2" datatype="html">\n        <source>Groups</source>\n        <target>グループ</target>\n      </trans-unit>\n      <trans-unit id="4c90059afafb7e160384d9f512797c95bb95c6dc" datatype="html">\n        <source>Group</source>\n        <target>グループ</target>\n      </trans-unit>\n      <trans-unit id="3084948274cff4f56d0f431af47240e9cf02fcc7" datatype="html">\n        <source>Add group</source>\n        <target>グループの追加</target>\n      </trans-unit>\n      <trans-unit id="66db799d67958d4b0765181d072df62e2d1c16f5" datatype="html">\n        <source>Issues</source>\n        <target>問題</target>\n      </trans-unit>\n      <trans-unit id="ef06d69259e587e28d52372455f44c7153cda7e7" datatype="html">\n        <source>Syncing</source>\n        <target>同期中</target>\n      </trans-unit>\n      <trans-unit id="0b0901877d837d3fda16ba161eb74368d1c75b7a" datatype="html">\n        <source>Ready</source>\n        <target>準備完了</target>\n      </trans-unit>\n      <trans-unit id="4057c56d63a7e9b140b1d01871a9229a5f30eb27" datatype="html">\n        <source>Edit pool mirror mode</source>\n        <target>プールのミラーモードの編集</target>\n      </trans-unit>\n      <trans-unit id="e1f367f5feaab38f6637dd1f967c848b447dea2d" datatype="html">\n        <source>To edit the mirror mode for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>, select a new mode from the list and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>To edit the mirror mode for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>, select a new mode from the list and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="32ca348ef926b0a6a7a780b8b64c3a8239895cec" datatype="html">\n        <source>Peer clusters must be removed prior to disabling mirror.</source>\n        <target>ミラーを無効にする前に、ピアクラスタを削除する必要があります。</target>\n      </trans-unit>\n      <trans-unit id="fa61522d482349707fd7dd03b90dc5781611b17f" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/>\n  pool mirror peer\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/>\n  pool mirror peer\n        </target>\n      </trans-unit>\n      <trans-unit id="4ddcb416c1c0aa1f54acf5beef1de81813e76fa6" datatype="html">\n        <source>{VAR_SELECT, select, edit {Edit} other {Add} }</source>\n        <target>{VAR_SELECT, select, edit {Edit} other {Add} }</target>\n      </trans-unit>\n      <trans-unit id="59ca65ece457429d90104ede4674965f62edbabe" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/> the pool\n          mirror peer attributes for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> and click\n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Submit\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/> the pool\n          mirror peer attributes for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> and click\n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Submit\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="d3cc964811f852a168f4a2d5daa59068abc5cf53" datatype="html">\n        <source>Cluster Name</source>\n        <target>クラスタ名</target>\n      </trans-unit>\n      <trans-unit id="b631721fc56cb7fb1cbd07b802a487c5753f6a2d" datatype="html">\n        <source>The cluster name is not valid.</source>\n        <target>このクラスタ名は無効です。</target>\n      </trans-unit>\n      <trans-unit id="ca6deafa31bf421f85094807982aee4bcb20a3ae" datatype="html">\n        <source>CephX ID</source>\n        <target>CephX ID</target>\n      </trans-unit>\n      <trans-unit id="7539188a568c3d553cbde1bacaf32310c4264e24" datatype="html">\n        <source>CephX ID...</source>\n        <target>CephX ID...</target>\n      </trans-unit>\n      <trans-unit id="a1c45b594b0fba22fc64e80c793a7ffe005fdb0e" datatype="html">\n        <source>The CephX ID is not valid.</source>\n        <target>このCephX IDは無効です。</target>\n      </trans-unit>\n      <trans-unit id="20861576fcfce773c918c782cd4f5adf32382921" datatype="html">\n        <source>Monitor Addresses</source>\n        <target>モニターアドレス</target>\n      </trans-unit>\n      <trans-unit id="fa28eeed2b4bd4ccbe6e9349a1c2b3cb1c5de70a" datatype="html">\n        <source>Comma-delimited addresses...</source>\n        <target>カンマ区切りアドレス...</target>\n      </trans-unit>\n      <trans-unit id="dc016c82fd85848d5c1b2fd0e8469ee2027d9c16" datatype="html">\n        <source>The monitory address is not valid.</source>\n        <target>この警告アドレスは無効です。</target>\n      </trans-unit>\n      <trans-unit id="e0ac55b83dc6739e62bc655cfe375b67c93e7f4a" datatype="html">\n        <source>CephX Key</source>\n        <target>CephXキー</target>\n      </trans-unit>\n      <trans-unit id="f53434bcb95bd86f1df9c8e22966f757614fc4ad" datatype="html">\n        <source>Base64-encoded key...</source>\n        <target>Base64エンコード化済みキー...</target>\n      </trans-unit>\n      <trans-unit id="4cd83164cd4f66b4abc2863f9ce6f599d789e4ca" datatype="html">\n        <source>CephX key must be base64 encoded.</source>\n        <target>CephXキーはbase64でエンコードされている必要があります。</target>\n      </trans-unit>\n      <trans-unit id="ca53d681a9892d6fdbb57ee9676582186515e961" datatype="html">\n        <source>Performance counters not available</source>\n        <target>パフォーマンスカウンタを使用できません</target>\n      </trans-unit>\n      <trans-unit id="9424badb7e0c6ac792d020d7830645b529a80aad" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the Object Gateway management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the Object Gateway management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="479488ab6e91ecb375484edc78bee3d13467f33f" datatype="html">\n        <source>Daemons List</source>\n        <target>デーモンリスト</target>\n      </trans-unit>\n      <trans-unit id="eeba399c4dae8d4890c27b7a2cd2dc28fcf8b5f9" datatype="html">\n        <source>Performance Counters</source>\n        <target>パフォーマンスカウンタ</target>\n      </trans-unit>\n      <trans-unit id="5f67f2247b9c6bbaf24a0f2d37f4ac0537c6fa53" datatype="html">\n        <source>Loading bucket data...</source>\n        <target>バケットデータを読み込んでいます...</target>\n      </trans-unit>\n      <trans-unit id="2798cc1e152b1ec07fd8daf94a2a073d1ba1ebcc" datatype="html">\n        <source>Id</source>\n        <target>Id</target>\n      </trans-unit>\n      <trans-unit id="db4e1a734518691b128ef40b939cc673f01d03a6" datatype="html">\n        <source>The value is not valid.</source>\n        <target>この値は無効です。</target>\n      </trans-unit>\n      <trans-unit id="eabb4db920d9f9b2480cf438468b86e1bea02a9b" datatype="html">\n        <source>The chosen name is already in use.</source>\n        <target>選択された名前はすでに使用されています。</target>\n      </trans-unit>\n      <trans-unit id="0ee5132a8da30e0b7f9f5c70dbc91928d17dd909" datatype="html">\n        <source>Owner</source>\n        <target>所有者</target>\n      </trans-unit>\n      <trans-unit id="8e4c918357c7445fbf19a203e5f0f0ece1960b3b" datatype="html">\n        <source>-- Select a user --</source>\n        <target>-- ユーザを選択してください --</target>\n      </trans-unit>\n      <trans-unit id="a4aab1f837bc8ec222e4f25922465d1c5929a1fc" datatype="html">\n        <source>Placement target</source>\n        <target>Placement target</target>\n      </trans-unit>\n      <trans-unit id="6bae0a7fc2c9c1fde7d937a8a1a3c7e6825cf7d1" datatype="html">\n        <source>-- Select a placement target --</source>\n        <target>-- Select a placement target --</target>\n      </trans-unit>\n      <trans-unit id="efeade5060b3add63863c24871f0830fb16b7e6d" datatype="html">\n        <source>Versioning</source>\n        <target>Versioning</target>\n      </trans-unit>\n      <trans-unit id="f50a33d3c339f8f4a465141f8caa5d2d8c005251" datatype="html">\n        <source>Enabled</source>\n        <target>有効化済み</target>\n      </trans-unit>\n      <trans-unit id="016d24e069e7d505a090fb8243e5cd43b35dc39b" datatype="html">\n        <source>Enables versioning for the objects in the bucket.</source>\n        <target>Enables versioning for the objects in the bucket.</target>\n      </trans-unit>\n      <trans-unit id="92f3f203270a29b3001871153f02c063484a1574" datatype="html">\n        <source>Suspended</source>\n        <target>中断済み</target>\n      </trans-unit>\n      <trans-unit id="cd6a798fd0f85cd7e31a57c58074f25035d7850d" datatype="html">\n        <source>Disables versioning for the objects in the bucket.</source>\n        <target>Disables versioning for the objects in the bucket.</target>\n      </trans-unit>\n      <trans-unit id="45cc8ca94b5a50842a9a8ef804a5ab089a38ae5c" datatype="html">\n        <source>ID</source>\n        <target>ID</target>\n      </trans-unit>\n      <trans-unit id="e5c51963a9c553b29427ef783bbb69fa6634fa8c" datatype="html">\n        <source>Index type</source>\n        <target>インデックスタイプ</target>\n      </trans-unit>\n      <trans-unit id="8e6f950a32eaea32ec7e192f9ca3d3dfe469d4ba" datatype="html">\n        <source>Placement rule</source>\n        <target>配置ルール</target>\n      </trans-unit>\n      <trans-unit id="6972d213e31c4ea4f887e60db99d9881bc8fcd3e" datatype="html">\n        <source>Marker</source>\n        <target>マーカー</target>\n      </trans-unit>\n      <trans-unit id="47b02acd2d3254d1ace1926f840523f154ebef71" datatype="html">\n        <source>Maximum marker</source>\n        <target>最大マーカー</target>\n      </trans-unit>\n      <trans-unit id="8fe73a4787b8068b2ba61f54ab7e0f9af2ea1fc9" datatype="html">\n        <source>Version</source>\n        <target>バージョン</target>\n      </trans-unit>\n      <trans-unit id="092fa3a7df9168b14d3f83a77a4035e92b92ce15" datatype="html">\n        <source>Master version</source>\n        <target>マスタバージョン</target>\n      </trans-unit>\n      <trans-unit id="97434cc5001d407f90c7447a12d9e8e6848a2aa3" datatype="html">\n        <source>Modification time</source>\n        <target>変更時間</target>\n      </trans-unit>\n      <trans-unit id="90fe2e41e7fde38453ce4e619efeea9bc6adea9c" datatype="html">\n        <source>Zonegroup</source>\n        <target>ゾーングループ</target>\n      </trans-unit>\n      <trans-unit id="649a410bd0ace333d067d8fa22f12bdbdb43533b" datatype="html">\n        <source>Bucket quota</source>\n        <target>バケットクォータ</target>\n      </trans-unit>\n      <trans-unit id="cef1595d040e77cbb4466e60382028d4c2040cac" datatype="html">\n        <source>Maximum size</source>\n        <target>最大サイズ</target>\n      </trans-unit>\n      <trans-unit id="aa6fb95c355f172bda303de1ce2f38c251a149cf" datatype="html">\n        <source>Unlimited</source>\n        <target>無制限</target>\n      </trans-unit>\n      <trans-unit id="ee862a800364b4d11f9b8cb9955a28a60f840a45" datatype="html">\n        <source>Maximum objects</source>\n        <target>最大オブジェクト数</target>\n      </trans-unit>\n      <trans-unit id="08c74dc9762957593b91f6eb5d65efdfc975bf48" datatype="html">\n        <source>Username</source>\n        <target>ユーザ名</target>\n      </trans-unit>\n      <trans-unit id="49c614babd1950adb2be75df4e2c9747286d6adc" datatype="html">\n        <source>-- Select a username --</source>\n        <target>-- ユーザ名を選択してください --</target>\n      </trans-unit>\n      <trans-unit id="c217ee914725a37e9dd2336c721c8e63e9666bdc" datatype="html">\n        <source>Auto-generate key</source>\n        <target>キーの自動生成</target>\n      </trans-unit>\n      <trans-unit id="2f1c1c0f2bce4c9f92d1a2061e8161cb0006c31a" datatype="html">\n        <source>Access key</source>\n        <target>アクセスキー</target>\n      </trans-unit>\n      <trans-unit id="b864acb67296a9819c1db0069c4c47d8b5ce8f44" datatype="html">\n        <source>Secret key</source>\n        <target>秘密キー</target>\n      </trans-unit>\n      <trans-unit id="b760f123248930122fc7e7b6b6bf94e376e959c8" datatype="html">\n        <source>Full name</source>\n        <target>氏名</target>\n      </trans-unit>\n      <trans-unit id="69b6ac577a19acc39fc0c22342092f327fff2529" datatype="html">\n        <source>Email address</source>\n        <target>電子メールアドレス</target>\n      </trans-unit>\n      <trans-unit id="8011e20c5bbe51602d459a860fbf29b599b55edd" datatype="html">\n        <source>System</source>\n        <target>システム</target>\n      </trans-unit>\n      <trans-unit id="db18a2772988415466a7f75dc42663ce78c9c1d3" datatype="html">\n        <source>Maximum buckets</source>\n        <target>最大バケット数</target>\n      </trans-unit>\n      <trans-unit id="2c4c62e8ba24601be5cfe7dc5d32c24bbbd4b53c" datatype="html">\n        <source>Subusers</source>\n        <target>サブユーザ</target>\n      </trans-unit>\n      <trans-unit id="17bb3082e6fe5003203ef992a3714172334631a1" datatype="html">\n        <source>Capabilities</source>\n        <target>機能</target>\n      </trans-unit>\n      <trans-unit id="36ad38f9c1a1485e09b67778a28af84553290ffb" datatype="html">\n        <source>User quota</source>\n        <target>ユーザクォータ</target>\n      </trans-unit>\n      <trans-unit id="2aba1e87039819aca3b70faa9aa848c12bf139ca" datatype="html">\n        <source>Show</source>\n        <target>表示</target>\n      </trans-unit>\n      <trans-unit id="0bcd5ef19af0f1b814141ca8c57df623d8270088" datatype="html">\n        <source>Keys</source>\n        <target>キー</target>\n      </trans-unit>\n      <trans-unit id="f61c6867295f3b53d23557021f2f4e0aa1d0b8fc" datatype="html">\n        <source>Type</source>\n        <target>タイプ</target>\n      </trans-unit>\n      <trans-unit id="1221ca97d19eaa9a7bc0c5243d5fc5befe1d2314" datatype="html">\n        <source>-- Select a type --</source>\n        <target>-- タイプを選択してください --</target>\n      </trans-unit>\n      <trans-unit id="d1b8990332af18f1c5159a6061ca889bcbb28432" datatype="html">\n        <source>Permission</source>\n        <target>許可</target>\n      </trans-unit>\n      <trans-unit id="a08c589f82f69d892307288da14190ae1dd583d5" datatype="html">\n        <source>-- Select a permission --</source>\n        <target>-- 許可を選択してください --</target>\n      </trans-unit>\n      <trans-unit id="b2841767821d6b66238c34d07e413b0af67aee92" datatype="html">\n        <source>Subuser</source>\n        <target>サブユーザ</target>\n      </trans-unit>\n      <trans-unit id="bd59fc25a7bd98cff3e75117c09697c8a007a514" datatype="html">\n        <source>The chosen subuser ID is already in use.</source>\n        <target>選択されたサブユーザIDはすでに使用されています。</target>\n      </trans-unit>\n      <trans-unit id="3d386c357ebcbc04ed05c4babd5a03626f9b1674" datatype="html">\n        <source>read, write</source>\n        <target>読み取り、書き込み</target>\n      </trans-unit>\n      <trans-unit id="84e3e3f9a4f31a039b648c97debf95fcb20f4c4a" datatype="html">\n        <source>full</source>\n        <target>フル</target>\n      </trans-unit>\n      <trans-unit id="b6bf81d032a2316464f9df2f0d2f3d753f89f0d3" datatype="html">\n        <source>Swift key</source>\n        <target>スウィフトキー</target>\n      </trans-unit>\n      <trans-unit id="1e0c12685d50d47448ceed9423977ef39775c037" datatype="html">\n        <source>Auto-generate secret</source>\n        <target>秘密の自動生成</target>\n      </trans-unit>\n      <trans-unit id="3d1c7a6004bd5d86a7fa096ae24209e8aa7a53e3" datatype="html">\n        <source>Loading user data...</source>\n        <target>ユーザデータを読み込んでいます...</target>\n      </trans-unit>\n      <trans-unit id="faa5d834ab28571423d794d32b57998920efb65f" datatype="html">\n        <source>The user data could not be loaded.</source>\n        <target>ユーザデータを読み込めませんでした。</target>\n      </trans-unit>\n      <trans-unit id="6aaf5d2a304167272ac73e3b1d1c162e16c77858" datatype="html">\n        <source>The chosen user ID is already in use.</source>\n        <target>選択されたユーザIDはすでに使用されています。</target>\n      </trans-unit>\n      <trans-unit id="df441e80db2157f9d272b75de724ba4a82b96b57" datatype="html">\n        <source>This is not a valid email address.</source>\n        <target>これは有効な電子メールアドレスではありません。</target>\n      </trans-unit>\n      <trans-unit id="ca271adf154956b8fcb28f4f50a37acb3057ff7c" datatype="html">\n        <source>The chosen email address is already in use.</source>\n        <target>選択された電子メールアドレスはすでに使用されています。</target>\n      </trans-unit>\n      <trans-unit id="030197cebe938edf35422e92fe14183d06eb670b" datatype="html">\n        <source>Max. buckets</source>\n        <target>最大バケット数</target>\n      </trans-unit>\n      <trans-unit id="623ac50f37a26caec6fd7cd519b653e3315cba25" datatype="html">\n        <source>The entered value must be &gt;= 0.</source>\n        <target>0以上の値を入力する必要があります。</target>\n      </trans-unit>\n      <trans-unit id="583a219c524155c2314eb06ee29162bb315272a3" datatype="html">\n        <source>S3 key</source>\n        <target>S3キー</target>\n      </trans-unit>\n      <trans-unit id="128d6efb51d9ddc7c0cc695a2deeca5b9523f6e4" datatype="html">\n        <source>There are no subusers.</source>\n        <target>サブユーザがいません。</target>\n      </trans-unit>\n      <trans-unit id="7fd6dfb8ecb982dbc3affb2c2d5414c4f5b6abd2" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ subuserLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ subuserLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="67c746c1ba9dab4351fedc4c7cba4e6d6b0dbc47" datatype="html">\n        <source>S3</source>\n        <target>S3</target>\n      </trans-unit>\n      <trans-unit id="d6819038d608623503918fb2553f53d68231ec3a" datatype="html">\n        <source>There are no keys.</source>\n        <target>キーがありません。</target>\n      </trans-unit>\n      <trans-unit id="fc1c1a7140ff6b815a95b65ee2780fdbe1b2b7a1" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ s3keyLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ s3keyLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6ddb5e991a3ecd2659fb520bc5acc81b67e08ddd" datatype="html">\n        <source>Swift</source>\n        <target>スウィフト</target>\n      </trans-unit>\n      <trans-unit id="1d01eccdda47fc907c5be35bcb16d2dcd02b0270" datatype="html">\n        <source>There are no capabilities.</source>\n        <target>機能がありません。</target>\n      </trans-unit>\n      <trans-unit id="043e2ec0036ceadd926fd5e3f93cd6f3565f3648" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.ADD | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.ADD | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6146e13ceca5fa5cc17b771b282fe5955f3d19fa" datatype="html">\n        <source>Unlimited size</source>\n        <target>無制限のサイズ</target>\n      </trans-unit>\n      <trans-unit id="f6db8aa7c99fdce18edb33dde57729acede2b308" datatype="html">\n        <source>Max. size</source>\n        <target>最大サイズ</target>\n      </trans-unit>\n      <trans-unit id="fc630b2093e880fffa19df99d5cd8b87605037f8" datatype="html">\n        <source>Unlimited objects</source>\n        <target>無制限のオブジェクト数</target>\n      </trans-unit>\n      <trans-unit id="6cda5a993d06f0bb10048be9d3aba6555aa9f356" datatype="html">\n        <source>Max. objects</source>\n        <target>最大オブジェクト数</target>\n      </trans-unit>\n      <trans-unit id="1ea5c4d8942c00752dcc72e72949c5d9832f6399" datatype="html">\n        <source>Description...</source>\n        <target>説明...</target>\n      </trans-unit>\n      <trans-unit id="70f45880fce6ac5d8e468e25e82aefbba8098cfe" datatype="html">\n        <source>Permissions</source>\n        <target>許可</target>\n      </trans-unit>\n      <trans-unit id="9610487cbeb5796d34d8601b5ac0c0a65f9e1d19" datatype="html">\n        <source>Roles</source>\n        <target>役割</target>\n      </trans-unit>\n      <trans-unit id="7f3bdcce4b2e8c37cd7f0f6c92ef8cff34b039b8" datatype="html">\n        <source>Confirm password</source>\n        <target>パスワードの確認入力</target>\n      </trans-unit>\n      <trans-unit id="cbb979e63ba50e0ca3adfa09cbdcaefd0853fca1" datatype="html">\n        <source>Password confirmation doesn\'t match the password.</source>\n        <target>確認入力されたパスワードがパスワードと一致しません。</target>\n      </trans-unit>\n      <trans-unit id="244aae9346da82b0922506c2d2581373a15641cc" datatype="html">\n        <source>Email</source>\n        <target>電子メール</target>\n      </trans-unit>\n      <trans-unit id="d0ec081dd61eb4f43aea269077bbe38eae87b7f9" datatype="html">\n        <source>Invalid email.</source>\n        <target>無効な電子メールです。</target>\n      </trans-unit>\n      <trans-unit id="0051a3479d3ba79135c16dc8cc017950a2cce821" datatype="html">\n        <source>You are about to remove "user read / update" permissions from your own user.</source>\n        <target>自身のユーザから「user read / update」という許可を削除しようとしています。</target>\n      </trans-unit>\n      <trans-unit id="af4bf9fcb256853f14cf947eb1deb8d7f176d3f9" datatype="html">\n        <source>If you continue, you will no longer be able to add or remove roles from any user.</source>\n        <target>続行した場合は、どのユーザの役割も追加および削除できなくなります。</target>\n      </trans-unit>\n      <trans-unit id="7d1dcf2a9146caac0581329acf94806ec69a89a5" datatype="html">\n        <source>Are you sure you want to continue?</source>\n        <target>続行してもよろしいですか?</target>\n      </trans-unit>\n      <trans-unit id="85b79c9064aed1ead31ace985f31aa1363f6bdaf" datatype="html">\n        <source>Help</source>\n        <target>ヘルプ</target>\n      </trans-unit>\n      <trans-unit id="fcfd4675b4c90f08d18d3abede9a9a4dff4cfdc7" datatype="html">\n        <source>Documentation</source>\n        <target>ドキュメント</target>\n      </trans-unit>\n      <trans-unit id="e351b40b3869a5c7d19c3d4918cb1ac7aaab95c4" datatype="html">\n        <source>API</source>\n        <target>API</target>\n      </trans-unit>\n      <trans-unit id="004b222ff9ef9dd4771b777950ca1d0e4cd4348a" datatype="html">\n        <source>About</source>\n        <target>バージョン情報</target>\n      </trans-unit>\n      <trans-unit id="1481ecd21e760ac919a24e26cf790acd82e40199" datatype="html">\n        <source>Dashboard Settings</source>\n        <target>ダッシュボード設定</target>\n      </trans-unit>\n      <trans-unit id="a79aab4ef674bf3f6532292107c0054302236e0f" datatype="html">\n        <source>User management</source>\n        <target>ユーザ管理</target>\n      </trans-unit>\n      <trans-unit id="049dfd9fe6c78914ad58cf89ac6a631fca28ec74" datatype="html">\n        <source>Logged in user</source>\n        <target>ログイン済みユーザ</target>\n      </trans-unit>\n      <trans-unit id="cd38a58e73f306d838e621959d47d5e7a2f06d1f" datatype="html">\n        <source>Signed in as\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ username }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>\n        </source>\n        <target>Signed in as\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ username }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="739516c2ca75843d5aec9cf0e6b3e4335c4227b9" datatype="html">\n        <source>Change password</source>\n        <target>Change password</target>\n      </trans-unit>\n      <trans-unit id="5d22c795daf43877a5f708dca2bccd549eb0471d" datatype="html">\n        <source>Sign out</source>\n        <target>サインアウト</target>\n      </trans-unit>\n      <trans-unit id="91853167141c37b58868f3b0421383dd72fa8a01" datatype="html">\n        <source>Attributes (OSD map)</source>\n        <target>属性(OSDマップ)</target>\n      </trans-unit>\n      <trans-unit id="97842f379e1d4157ac3ab0661b90c352e7cb72d5" datatype="html">\n        <source>Metadata not available</source>\n        <target>メタデータを使用できません</target>\n      </trans-unit>\n      <trans-unit id="f721a500a68c357e8f2a01e60510f6a01e4ba529" datatype="html">\n        <source>Metadata</source>\n        <target>メタデータ</target>\n      </trans-unit>\n      <trans-unit id="deba10b7279a589d01e919ea11f43c79ca1773e3" datatype="html">\n        <source>Device health</source>\n        <target>Device health</target>\n      </trans-unit>\n      <trans-unit id="d24e28e19c5703d7c6be44f4eb595a6a43b618ed" datatype="html">\n        <source>Performance counter</source>\n        <target>パフォーマンスカウンタ</target>\n      </trans-unit>\n      <trans-unit id="d1f7c81ed9c5034af4abcdf119b1c1e86cd019dd" datatype="html">\n        <source>Histogram not available: \n          <x id="INTERPOLATION" equiv-text="{{ osd.histogram_failed }}"/>\n        </source>\n        <target>Histogram not available: \n          <x id="INTERPOLATION" equiv-text="{{ osd.histogram_failed }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="868abfff914873d1c65df798d8432ed04b8ae2a9" datatype="html">\n        <source>Writes</source>\n        <target>書き込み回数</target>\n      </trans-unit>\n      <trans-unit id="996ebb9a653b5067f97bf3891ea9d2108e969492" datatype="html">\n        <source>Reads</source>\n        <target>読み取り回数</target>\n      </trans-unit>\n      <trans-unit id="65ac79790aa477a97b1cc579e18a115a8df8918f" datatype="html">\n        <source>Histogram</source>\n        <target>ヒストグラム</target>\n      </trans-unit>\n      <trans-unit id="26fb5f81b3581f06b9210defb0e71dc69a67e819" datatype="html">\n        <source>Current values</source>\n        <target>現行値</target>\n      </trans-unit>\n      <trans-unit id="9abcd7c82643d60c22733470463f74e4a54bc069" datatype="html">\n        <source>Min</source>\n        <target>最小</target>\n      </trans-unit>\n      <trans-unit id="c3ced4d162a0a55ee233a187ce7208ba5e922418" datatype="html">\n        <source>Max</source>\n        <target>最大</target>\n      </trans-unit>\n      <trans-unit id="6834fa6b43d1ecbdf147c48dd9c4d72f1484571d" datatype="html">\n        <source>Source</source>\n        <target>ソース</target>\n      </trans-unit>\n      <trans-unit id="a446fb0eb11fbffcac805ece5a2d306d24e733d8" datatype="html">\n        <source>Level</source>\n        <target>レベル</target>\n      </trans-unit>\n      <trans-unit id="39f2fb094e9b2eda13163fa3f3a31594cf9c1307" datatype="html">\n        <source>Can be updated at runtime (editable)</source>\n        <target>実行時に更新できます(編集可能)</target>\n      </trans-unit>\n      <trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b" datatype="html">\n        <source>Tags</source>\n        <target>タグ</target>\n      </trans-unit>\n      <trans-unit id="ab0089ef47af61ca1d137bc908b96c290dfd9287" datatype="html">\n        <source>Enum values</source>\n        <target>列挙値</target>\n      </trans-unit>\n      <trans-unit id="819476f1264f1659f38e86f6abb542141b184832" datatype="html">\n        <source>See also</source>\n        <target>関連項目</target>\n      </trans-unit>\n      <trans-unit id="d82a9af5b05e7cd17640f196f163771685ff8df6" datatype="html">\n        <source>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</source>\n        <target>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</target>\n      </trans-unit>\n      <trans-unit id="a185c9b97513b3882604ea9bab60edbfac945c15" datatype="html">\n        <source>SMART overall-health self-assessment test result</source>\n        <target>SMART overall-health self-assessment test result</target>\n      </trans-unit>\n      <trans-unit id="ddd5dd6d930030096ea617f62c82b648a0dd9484" datatype="html">\n        <source>Device Information</source>\n        <target>Device Information</target>\n      </trans-unit>\n      <trans-unit id="79c6bf990ea5b4d83bbf8f9e399f4bd933a1ebfc" datatype="html">\n        <source>S.M.A.R.T</source>\n        <target>S.M.A.R.T</target>\n      </trans-unit>\n      <trans-unit id="05c17e08939cbef1a5df5386263b1701e8d5742e" datatype="html">\n        <source>S.M.A.R.T data is loading.</source>\n        <target>S.M.A.R.T data is loading.</target>\n      </trans-unit>\n      <trans-unit id="73caac4265ea7314ff061e5a1d78a6361a6dd3b8" datatype="html">\n        <source>Cluster Status</source>\n        <target>クラスタのステータス</target>\n      </trans-unit>\n      <trans-unit id="1d4bc612bbf19aa9553853266b9e92c9d75f4464" datatype="html">\n        <source>Manager Daemons</source>\n        <target>マネージャデーモン</target>\n      </trans-unit>\n      <trans-unit id="946ac5dea9921dc09d7b0a63b89535371f283b19" datatype="html">\n        <source>Object Gateways</source>\n        <target>オブジェクトゲートウェイ</target>\n      </trans-unit>\n      <trans-unit id="ff03fa5bcf37c4da46ad736c1f7d03f959e8ba9a" datatype="html">\n        <source>Metadata Servers</source>\n        <target>メタデータサーバ</target>\n      </trans-unit>\n      <trans-unit id="d817609ba4993eba859409ab71e566168f4d5f5a" datatype="html">\n        <source>iSCSI Gateways</source>\n        <target>iSCSIゲートウェイ</target>\n      </trans-unit>\n      <trans-unit id="42c13e50391250ea9379bdf55d5d6c0228c0c8bc" datatype="html">\n        <source>Client IOPS</source>\n        <target>クライアントのIOPS</target>\n      </trans-unit>\n      <trans-unit id="52213660b2454d139ada3079a42ec6caf3c3c01e" datatype="html">\n        <source>Client Throughput</source>\n        <target>クライアントのスループット</target>\n      </trans-unit>\n      <trans-unit id="32efd1c3f70e3c5244239de97a2cc95d98534a14" datatype="html">\n        <source>Client Read/Write</source>\n        <target>クライアントの読み取り/書き込み</target>\n      </trans-unit>\n      <trans-unit id="275485415092cbae3a9f3cbb786ebe283cacfdd5" datatype="html">\n        <source>Recovery Throughput</source>\n        <target>回復スループット</target>\n      </trans-unit>\n      <trans-unit id="6d9a9f55046891733ef71170e7652063765eb542" datatype="html">\n        <source>Scrub</source>\n        <target>スクラブ</target>\n      </trans-unit>\n      <trans-unit id="3cc9c2ae277393b3946b38c088dabff671b1ee1b" datatype="html">\n        <source>Performance</source>\n        <target>パフォーマンス</target>\n      </trans-unit>\n      <trans-unit id="88f383269db2d32cccee9e936fe549dccb9fdbf4" datatype="html">\n        <source>Raw Capacity</source>\n        <target>未フォーマット時の容量</target>\n      </trans-unit>\n      <trans-unit id="c5f8a813f91a11af99132e4beafc136cfc13d73b" datatype="html">\n        <source>PGs per OSD</source>\n        <target>OSDあたりの配置グループ数</target>\n      </trans-unit>\n      <trans-unit id="498a109c6e9e94f1966de01aa0326f7f0ac6fb52" datatype="html">\n        <source>PG Status</source>\n        <target>配置グループのステータス</target>\n      </trans-unit>\n      <trans-unit id="ce9dfdc6dccb28dc75a78c704e09dc18fb02dcfa" datatype="html">\n        <source>Capacity</source>\n        <target>容量</target>\n      </trans-unit>\n      <trans-unit id="44ecac93d67c6a671198091c2270354f80322327" datatype="html">\n        <source>\n          <x id="START_ITALIC_TEXT" ctype="x-i" equiv-text="<i>"/>\n          <x id="CLOSE_ITALIC_TEXT" ctype="x-i" equiv-text="</i>"/> See \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Logs\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more details.\n        </source>\n        <target>\n          <x id="START_ITALIC_TEXT" ctype="x-i" equiv-text="<i>"/>\n          <x id="CLOSE_ITALIC_TEXT" ctype="x-i" equiv-text="</i>"/> See \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Logs\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more details.\n        </target>\n      </trans-unit>\n      <trans-unit id="0c1e17956453ad772dbe82d6946f62748c692f3e" datatype="html">\n        <source>Ranks</source>\n        <target>ランク</target>\n      </trans-unit>\n      <trans-unit id="2b24e0b0b1629d2e8a51b9da7c75d6e6379f4bc4" datatype="html">\n        <source>Standbys</source>\n        <target>Standbys</target>\n      </trans-unit>\n      <trans-unit id="50df62325726db950523a5be1c78b8905fcc25d4" datatype="html">\n        <source>MDS performance counters</source>\n        <target>MDS performance counters</target>\n      </trans-unit>\n      <trans-unit id="a7b6508fb834bee9e48e11e4503fbbc2d19204de" datatype="html">\n        <source>Clients: \n          <x id="INTERPOLATION" equiv-text="{{ clients.data.length }}"/>\n        </source>\n        <target>Clients: \n          <x id="INTERPOLATION" equiv-text="{{ clients.data.length }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6e213942c6354b9cbe7a650f0f1499bfc1000fb6" datatype="html">\n        <source>Directories</source>\n        <target>Directories</target>\n      </trans-unit>\n      <trans-unit id="47116253e36f4e38a97ba41b2d3122c6c15ab904" datatype="html">\n        <source>Clients (\n          <x id="INTERPOLATION" equiv-text="{{ clients.length }}"/>)\n        </source>\n        <target>Clients (\n          <x id="INTERPOLATION" equiv-text="{{ clients.length }}"/>)\n        </target>\n      </trans-unit>\n      <trans-unit id="bd5a3b1c5a3c185c7bbb0e09a061d4cdc88ce5ad" datatype="html">\n        <source>Current</source>\n        <target>現在</target>\n      </trans-unit>\n      <trans-unit id="e5e7d62e942083a59b0b31f54e17cd7958186052" datatype="html">\n        <source>Updated discovery authentication</source>\n        <target>検出認証を更新しました</target>\n      </trans-unit>\n      <trans-unit id="dd4ab758afd5fd5a6c6a25b2b30ff99d0c00e9ad" datatype="html">\n        <source>There are no portals available.</source>\n        <target>使用可能なポータルはありません。</target>\n      </trans-unit>\n      <trans-unit id="83021e45778a4a230a14ca0c6d6ccdf05500ad93" datatype="html">\n        <source>There are no images available.</source>\n        <target>使用可能なイメージはありません。</target>\n      </trans-unit>\n      <trans-unit id="86684eb21f8a768e1dbc659e3d5da6861db544a0" datatype="html">\n        <source>There are no images available. Please make sure you add an image to the target.</source>\n        <target>使用可能なイメージはありません。ターゲットにイメージを追加したことを確認してください。</target>\n      </trans-unit>\n      <trans-unit id="fffda6e440078f57eba93944ce051c593cc6ed7f" datatype="html">\n        <source>There are no initiators available. Please make sure you add an initiator to the target.</source>\n        <target>使用可能なイニシエータはありません。ターゲットにイニシエータを追加したことを確認してください。</target>\n      </trans-unit>\n      <trans-unit id="cea3c6fe490385eef1584cbc4983fda7ece24bb6" datatype="html">\n        <source>target</source>\n        <target>target</target>\n      </trans-unit>\n      <trans-unit id="38baeb215c17af9d9e295e371a57f4a48ab4c191" datatype="html">\n        <source>Target</source>\n        <target>ターゲット</target>\n      </trans-unit>\n      <trans-unit id="99e094878070eebc1b972bac02aaa33b2bf83b35" datatype="html">\n        <source># Sessions</source>\n        <target># Sessions</target>\n      </trans-unit>\n      <trans-unit id="c49e0dd71d551bd4928d967d78f0721dbf9f95e3" datatype="html">\n        <source>Target has active sessions</source>\n        <target>Target has active sessions</target>\n      </trans-unit>\n      <trans-unit id="a87acd72dfb68b45175270695209550a85adf50c" datatype="html">\n        <source>iSCSI target</source>\n        <target>iSCSI target</target>\n      </trans-unit>\n      <trans-unit id="873b72903b1858a9cd6c8967521030b4d7d1435b" datatype="html">\n        <source>State</source>\n        <target>状態</target>\n      </trans-unit>\n      <trans-unit id="02b75464c0dc0cf49ea0208211b6fbcad3bf728a" datatype="html">\n        <source># Targets</source>\n        <target># Targets</target>\n      </trans-unit>\n      <trans-unit id="13415637c325ceefee29111b31cb48701490adf7" datatype="html">\n        <source>Read Bytes</source>\n        <target>読み取りバイト数</target>\n      </trans-unit>\n      <trans-unit id="e2ed82b7bbf4a006e60e6208c597b05d5b5556e9" datatype="html">\n        <source>Write Bytes</source>\n        <target>書き込みバイト数</target>\n      </trans-unit>\n      <trans-unit id="6a32a5f58845ca840185ea9564682094e77a1d80" datatype="html">\n        <source>Read Ops</source>\n        <target>読み取り操作数</target>\n      </trans-unit>\n      <trans-unit id="7c36cb8032af123d3550ffab2e1fa1e957c87fae" datatype="html">\n        <source>Write Ops</source>\n        <target>書き込み操作数</target>\n      </trans-unit>\n      <trans-unit id="458c33846a8c7e2feb9404bcf06723784e756cdc" datatype="html">\n        <source>A/O Since</source>\n        <target>次の日付以降のA/O</target>\n      </trans-unit>\n      <trans-unit id="ff78f059449d44322f627d0f66df07abe476962b" datatype="html">\n        <source>Instance</source>\n        <target>インスタンス</target>\n      </trans-unit>\n      <trans-unit id="36fad7995cadfb3a6f0d43ef2db280146b3ca022" datatype="html">\n        <source>Issue</source>\n        <target>問題</target>\n      </trans-unit>\n      <trans-unit id="15793f4cbc261bedbc60f7105533dde536a3f42b" datatype="html">\n        <source>Progress</source>\n        <target>進捗</target>\n      </trans-unit>\n      <trans-unit id="f39256070bfc0714020dfee08895421fc1527014" datatype="html">\n        <source>Disabled</source>\n        <target>無効化済み</target>\n      </trans-unit>\n      <trans-unit id="8c375764db42f5d736fb56d01b8052c006ccc8e2" datatype="html">\n        <source>Edit Mode</source>\n        <target>モードの編集</target>\n      </trans-unit>\n      <trans-unit id="45932f2a0ea524b3425f4320ee46a6d1c68977bc" datatype="html">\n        <source>Add Peer</source>\n        <target>ピアの追加</target>\n      </trans-unit>\n      <trans-unit id="d3dc34662e3cda0dad646221651cebd26f731485" datatype="html">\n        <source>Edit Peer</source>\n        <target>ピアの編集</target>\n      </trans-unit>\n      <trans-unit id="e8a0ec0b6ee72db0f27c186e09640d1ed41964bd" datatype="html">\n        <source>Delete Peer</source>\n        <target>ピアの削除</target>\n      </trans-unit>\n      <trans-unit id="314de06d6f64d39149e78e6d796585c0246fec0b" datatype="html">\n        <source>Leader</source>\n        <target>リーダー</target>\n      </trans-unit>\n      <trans-unit id="7acaab450312114059ced9e3737798ee9aa738b1" datatype="html">\n        <source># Local</source>\n        <target>#ローカル</target>\n      </trans-unit>\n      <trans-unit id="7a3ffd88868135c44be3994263bb8e49d8358884" datatype="html">\n        <source># Remote</source>\n        <target>#リモート</target>\n      </trans-unit>\n      <trans-unit id="85ca0fd6a6ddd211023c70a25753122c5b978787" datatype="html">\n        <source>mirror peer</source>\n        <target>ミラーピア</target>\n      </trans-unit>\n      <trans-unit id="a6493c6ca346cd052da40423eda9c132de2b2002" datatype="html">\n        <source>Key</source>\n        <target>キー</target>\n      </trans-unit>\n      <trans-unit id="e9cac80fb5d9de66f0006d0bec530fd1fc69a674" datatype="html">\n        <source>RBD</source>\n        <target>RBD</target>\n      </trans-unit>\n      <trans-unit id="4130b1a836f2000cfe9a11fb62493dc42d444de7" datatype="html">\n        <source>Deep flatten</source>\n        <target>ディープフラット化</target>\n      </trans-unit>\n      <trans-unit id="7b17694d7cb8ecb7c8440bc999dac21b44455b33" datatype="html">\n        <source>Layering</source>\n        <target>階層化</target>\n      </trans-unit>\n      <trans-unit id="6a072ce577c2079d0e0c31071a16824f6d22b84d" datatype="html">\n        <source>Exclusive lock</source>\n        <target>排他ロック</target>\n      </trans-unit>\n      <trans-unit id="7354f01320bf936a7f85577c9f71402635c3a362" datatype="html">\n        <source>Object map (requires exclusive-lock)</source>\n        <target>オブジェクトマップ(排他ロックが必要)</target>\n      </trans-unit>\n      <trans-unit id="fb7e625c1152f1c102cd16460955d124edff1770" datatype="html">\n        <source>Journaling (requires exclusive-lock)</source>\n        <target>ジャーナリング(排他ロックが必要)</target>\n      </trans-unit>\n      <trans-unit id="df4044632bfc211dd96544fc8f007dabbeeb506c" datatype="html">\n        <source>Fast diff (interlocked with object-map)</source>\n        <target>Fast diff (interlocked with object-map)</target>\n      </trans-unit>\n      <trans-unit id="631fc50ec7c9bd81dc797a3c7e09eda1178ad999" datatype="html">\n        <source>Parent image must support Layering</source>\n        <target>Parent image must support Layering</target>\n      </trans-unit>\n      <trans-unit id="7eb984588f4835f6d0187b33769b4b0f62821640" datatype="html">\n        <source>RBD snapshot rollback</source>\n        <target>RBDスナップショットのロールバック</target>\n      </trans-unit>\n      <trans-unit id="4be22bf20ef82614ed53bcd3b912a85590aa71c9" datatype="html">\n        <source>Rollback</source>\n        <target>ロールバック</target>\n      </trans-unit>\n      <trans-unit id="2a04c483708d261751d62082d6f03a50d4577b1e" datatype="html">\n        <source>RBD snapshot</source>\n        <target>RBDスナップショット</target>\n      </trans-unit>\n      <trans-unit id="fa96769d1ea86741297cb9b9769b0dcfde58c8b4" datatype="html">\n        <source>Deleted At</source>\n        <target>削除日時</target>\n      </trans-unit>\n      <trans-unit id="e928864038ca70ee7d67bbf1fd71a01c3938a127" datatype="html">\n        <source>id</source>\n        <target>id</target>\n      </trans-unit>\n      <trans-unit id="240c9c1e96dc38814922a83ad041dc815b084f32" datatype="html">\n        <source>type</source>\n        <target>タイプ</target>\n      </trans-unit>\n      <trans-unit id="c9d7ec7ee5b4e282f2228fa996651ec4ef5195a9" datatype="html">\n        <source>state</source>\n        <target>状態</target>\n      </trans-unit>\n      <trans-unit id="5780e5c3b4fc2ae07836bb5221cec4f8d597630d" datatype="html">\n        <source>version</source>\n        <target>バージョン</target>\n      </trans-unit>\n      <trans-unit id="fe22ca53e651df951dac25b67c17894b0980f767" datatype="html">\n        <source>Host</source>\n        <target>ホスト</target>\n      </trans-unit>\n      <trans-unit id="fb69299354312c8954ecf324997ccafcd9f6b14b" datatype="html">\n        <source>root</source>\n        <target>ルート</target>\n      </trans-unit>\n      <trans-unit id="d34feb369d308075b423d5c5fc431f9766bf7a11" datatype="html">\n        <source>Evicted client "\n          <x id="INTERPOLATION" equiv-text="{{clientId}}"/>"\n        </source>\n        <target>Evicted client "\n          <x id="INTERPOLATION" equiv-text="{{clientId}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="7db875ff4cc626d394f37fba95c075b2e4bfeb00" datatype="html">\n        <source>Standby daemons</source>\n        <target>スタンバイデーモン</target>\n      </trans-unit>\n      <trans-unit id="3c3a423d91e36ac6624e909fcd2669a25685f847" datatype="html">\n        <source>Rank</source>\n        <target>ランク</target>\n      </trans-unit>\n      <trans-unit id="9596ecae8956e96921acef47aec787f6bdc37454" datatype="html">\n        <source>Daemon</source>\n        <target>デーモン</target>\n      </trans-unit>\n      <trans-unit id="f2005fa461c06dc2e04d8918bbabedf23604b5b7" datatype="html">\n        <source>Activity</source>\n        <target>アクティビティ</target>\n      </trans-unit>\n      <trans-unit id="e3a986984ae0c3b43af648c3fa638649d1c00348" datatype="html">\n        <source>Dentries</source>\n        <target>dエントリ</target>\n      </trans-unit>\n      <trans-unit id="7c692ab865066967d73c6d64ec0691cc6ce91b93" datatype="html">\n        <source>Inodes</source>\n        <target>iノード</target>\n      </trans-unit>\n      <trans-unit id="45f210b96a2a6e91f52f153a4f8dc30662629f8e" datatype="html">\n        <source>Usage</source>\n        <target>使用量</target>\n      </trans-unit>\n      <trans-unit id="950b5f04a2efd3f11c0f76418d5a4212381e792e" datatype="html">\n        <source>Origin</source>\n        <target>Origin</target>\n      </trans-unit>\n      <trans-unit id="22e4e574b7f8abf58254f328792445b42e2a924a" datatype="html">\n        <source>The value can be updated at runtime.</source>\n        <target>この値は実行時に更新できます。</target>\n      </trans-unit>\n      <trans-unit id="d7770de7b2343c9deeaa7ebf37ba3e35ca5c5988" datatype="html">\n        <source>Daemons/clients do not pull this value from the\n      monitor config database. We disallow setting this option via \'ceph config\n      set ...\'. This option should be configured via ceph.conf or via the\n      command line.</source>\n        <target>デーモン/クライアントはこの値をモニター設定データベースから取得しません。\nこのオプションを「ceph config set ...」を通じて設定することは禁止されています。\nこのオプションは、ceph.confまたはコマンドラインを通じて\n設定する必要があります。</target>\n      </trans-unit>\n      <trans-unit id="83f11fd1dc503c37931ea6c1c5c1e8c2b4b597b6" datatype="html">\n        <source>Option takes effect only during daemon startup.</source>\n        <target>オプションはデーモン始動時のみに有効になります。</target>\n      </trans-unit>\n      <trans-unit id="837a07cd6a971038b8b1aa190c43440c9fdb5d8b" datatype="html">\n        <source>Option only affects cluster creation.</source>\n        <target>オプションはクラスタの作成のみに適用されます。</target>\n      </trans-unit>\n      <trans-unit id="2566a88eb247c918b71cfe5b354c31de0d4b01e5" datatype="html">\n        <source>Option only affects daemon creation.</source>\n        <target>オプションはデーモンの作成のみに適用されます。</target>\n      </trans-unit>\n      <trans-unit id="1cdc60cfc09c257625768f3d2082816cdef27279" datatype="html">\n        <source>Updated config option \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\n        </source>\n        <target>Updated config option \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="d473e0f684a60db45d6f31e993f693f74290e056" datatype="html">\n        <source>Service</source>\n        <target>サービス</target>\n      </trans-unit>\n      <trans-unit id="9951bb3983c7dba6fde013e05c922e4fe1a44367" datatype="html">\n        <source>Current value</source>\n        <target>現行値</target>\n      </trans-unit>\n      <trans-unit id="4a01c175f90dd92b432f4a4a199d2c7bb9d997ff" datatype="html">\n        <source>Editable</source>\n        <target>編集可能</target>\n      </trans-unit>\n      <trans-unit id="261c0af854e8684abc15f89dce6efb3e72344b18" datatype="html">\n        <source>host</source>\n        <target>host</target>\n      </trans-unit>\n      <trans-unit id="9e35065e7c579e1fb960499117fd4b3c68d1c263" datatype="html">\n        <source>Host operation is disabled because orchestrator is unavailable</source>\n        <target>Host operation is disabled because orchestrator is unavailable</target>\n      </trans-unit>\n      <trans-unit id="a5d5e407f8c4e1b152509c966c90f37edf68472e" datatype="html">\n        <source>Device path</source>\n        <target>Device path</target>\n      </trans-unit>\n      <trans-unit id="94e76c060aa68c05d8c4a3f5a20c92fab3e83ccf" datatype="html">\n        <source>Rotates</source>\n        <target>Rotates</target>\n      </trans-unit>\n      <trans-unit id="b7da3e3505cc80f9bf3cffc8444c53e8a9ec70a5" datatype="html">\n        <source>Available</source>\n        <target>Available</target>\n      </trans-unit>\n      <trans-unit id="6ec98fa3d6504ba1fd03465194b53706c8263c99" datatype="html">\n        <source>Model</source>\n        <target>Model</target>\n      </trans-unit>\n      <trans-unit id="1a6e6ad05508130b7a99ce5b15daf3227c2a930c" datatype="html">\n        <source>Updated options for module "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>".\n        </source>\n        <target>Updated options for module "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="ac6c9212896d39b23811ed2dadab7d07336ec559" datatype="html">\n        <source>Enable</source>\n        <target>有効化</target>\n      </trans-unit>\n      <trans-unit id="6766a926d80bb7763785621098dae459d6226429" datatype="html">\n        <source>Disable</source>\n        <target>無効化</target>\n      </trans-unit>\n      <trans-unit id="340f2f312c2eb353e5cd69aee6bee7f5a73c34ac" datatype="html">\n        <source>This Manager module is always on.</source>\n        <target>This Manager module is always on.</target>\n      </trans-unit>\n      <trans-unit id="6a0b3657745dd7a2f2162f1cc790bf9004d0845d" datatype="html">\n        <source>Reconnecting, please wait ...</source>\n        <target>再接続していますので、しばらくお待ちください...</target>\n      </trans-unit>\n      <trans-unit id="7099a8878af7a0a26fe5663c4f46cfe87142b75d" datatype="html">\n        <source>Public Address</source>\n        <target>パブリックアドレス</target>\n      </trans-unit>\n      <trans-unit id="cbdd1cdc0c7a87f55dd177bc44212f0fc4b80852" datatype="html">\n        <source>Open Sessions</source>\n        <target>セッションの開始</target>\n      </trans-unit>\n      <trans-unit id="37e58d1cbdf8212b380efa51422e42821d4f08e6" datatype="html">\n        <source>No In</source>\n        <target>インなし</target>\n      </trans-unit>\n      <trans-unit id="12706eb5af17ff5ad77b3de21af368d24678e00b" datatype="html">\n        <source>OSDs that were previously marked out will not be marked back in when they start</source>\n        <target>以前にアウトとしてマークされたOSDは、それらの始動時にインとしてマークされることはありません</target>\n      </trans-unit>\n      <trans-unit id="96114d7624d11dc90ca46cfa96145fe22118df76" datatype="html">\n        <source>No Out</source>\n        <target>アウトなし</target>\n      </trans-unit>\n      <trans-unit id="a2ef636fe1ddd56b63e4aaf3d292f33dbf735ef3" datatype="html">\n        <source>OSDs will not automatically be marked out after the configured interval</source>\n        <target>OSDは、設定済みの間隔が経過した後に自動的にアウトとしてマークされます</target>\n      </trans-unit>\n      <trans-unit id="ee50aefa9b8bde1e5429b48709a23abfe08358e0" datatype="html">\n        <source>No Up</source>\n        <target>アップなし</target>\n      </trans-unit>\n      <trans-unit id="608929b939307e397586a98cea52ae38997c7273" datatype="html">\n        <source>OSDs are not allowed to start</source>\n        <target>OSDを始動することは許可されていません</target>\n      </trans-unit>\n      <trans-unit id="1751ab69c1e7f62927afedbf7116e0116316c551" datatype="html">\n        <source>No Down</source>\n        <target>ダウンなし</target>\n      </trans-unit>\n      <trans-unit id="41fac86dfb65c1db690f3e87f6497cb73b281084" datatype="html">\n        <source>OSD failure reports are being ignored, such that the monitors will not mark OSDs down</source>\n        <target>OSDの障害レポートは無視されているため、OSDはモニターによってダウンとしてマークされません</target>\n      </trans-unit>\n      <trans-unit id="b2838c6165a9672a17db188f4dd9676574353dd8" datatype="html">\n        <source>Pause</source>\n        <target>一時停止</target>\n      </trans-unit>\n      <trans-unit id="191d71dadcc8790573d46706a0b48211de4b8334" datatype="html">\n        <source>Pauses reads and writes</source>\n        <target>読み取りと書き込みを一時停止します</target>\n      </trans-unit>\n      <trans-unit id="471d5ba75836f38c19992cf83d8822632d99e473" datatype="html">\n        <source>No Scrub</source>\n        <target>スクラブなし</target>\n      </trans-unit>\n      <trans-unit id="5b8caa61814121bc36dac0c34a9e9de3cae74990" datatype="html">\n        <source>Scrubbing is disabled</source>\n        <target>スクラブ処理は無効化されています</target>\n      </trans-unit>\n      <trans-unit id="7f29a0ac1c797bdc0347dd5d0734ba83e96e7ce6" datatype="html">\n        <source>No Deep Scrub</source>\n        <target>ディープスクラブなし</target>\n      </trans-unit>\n      <trans-unit id="01da61ab216541a8d31259cebd16b10c7e5fc124" datatype="html">\n        <source>Deep Scrubbing is disabled</source>\n        <target>ディープスクラブ処理は無効化されています</target>\n      </trans-unit>\n      <trans-unit id="0b86c7f18ac725de62c7e192dcfccd02c0dc40ab" datatype="html">\n        <source>No Backfill</source>\n        <target>バックフィルなし</target>\n      </trans-unit>\n      <trans-unit id="bd33a2bdc8fbed3b7469f3717c16d9aaa2851fdd" datatype="html">\n        <source>Backfilling of PGs is suspended</source>\n        <target>配置グループのバックフィルは中断されています</target>\n      </trans-unit>\n      <trans-unit id="7fbbd036394cfa623add40299757bc87df8eaa7e" datatype="html">\n        <source>No Recover</source>\n        <target>回復なし</target>\n      </trans-unit>\n      <trans-unit id="f3ee9b451a64dca47299c9b4ae1091c2008068ad" datatype="html">\n        <source>Recovery of PGs is suspended</source>\n        <target>配置グループの回復は中断されています</target>\n      </trans-unit>\n      <trans-unit id="de904148fe7e8d812218f50333ffe247900617c5" datatype="html">\n        <source>Bitwise Sort</source>\n        <target>ビット単位のソート</target>\n      </trans-unit>\n      <trans-unit id="2613c9fde29785bcd75f0abeccb653d14d7527b3" datatype="html">\n        <source>Use bitwise sort</source>\n        <target>ビット単位のソートを使用する</target>\n      </trans-unit>\n      <trans-unit id="2fe10d84250aeee365db244251d40934c70ff1e9" datatype="html">\n        <source>Purged Snapdirs</source>\n        <target>消去されたスナップディレクトリ</target>\n      </trans-unit>\n      <trans-unit id="6b22a5b780eda3c5d500cdac9c6d4f96978c38f1" datatype="html">\n        <source>OSDs have converted snapsets</source>\n        <target>OSDによってスナップセットが変換されました</target>\n      </trans-unit>\n      <trans-unit id="c42f0ba60564dc5b977a8c7f3fdcde9efbb39c60" datatype="html">\n        <source>Recovery Deletes</source>\n        <target>回復の削除</target>\n      </trans-unit>\n      <trans-unit id="72fe39979198ea2ed6db6274b5029025cb316d90" datatype="html">\n        <source>Deletes performed during recovery instead of peering</source>\n        <target>ピアリングの代わりに回復時に削除が実行されました</target>\n      </trans-unit>\n      <trans-unit id="1bb4a1f9127cefe624c173557a716d0ebb6d647c" datatype="html">\n        <source>PG Log Hard Limit</source>\n        <target>配置グループログのハード制限</target>\n      </trans-unit>\n      <trans-unit id="e03c0321397fdf7a9c22e8d6b5015424943c0a57" datatype="html">\n        <source>Puts a hard limit on pg log length</source>\n        <target>配置グループログ長のハード制限を適用します</target>\n      </trans-unit>\n      <trans-unit id="3c384e2e80c6b5eb24861fbf4225b69486cff4a3" datatype="html">\n        <source>Updated OSD Flags</source>\n        <target>OSDフラグを更新しました</target>\n      </trans-unit>\n      <trans-unit id="688578fcc739d6f0c5fb6c366dbb19d21c6d9e36" datatype="html">\n        <source>out</source>\n        <target>アウト</target>\n      </trans-unit>\n      <trans-unit id="cb0f69bdd4dea41d7d45c74b6e07f98de8a2ab26" datatype="html">\n        <source>in</source>\n        <target>イン</target>\n      </trans-unit>\n      <trans-unit id="b5fbc7c7f007dd53b2318525bb7ff8b0376c9e37" datatype="html">\n        <source>down</source>\n        <target>ダウン</target>\n      </trans-unit>\n      <trans-unit id="b58719bcb9184e1a7884d00d22d10899d59bf295" datatype="html">\n        <source>Mark</source>\n        <target>マーク</target>\n      </trans-unit>\n      <trans-unit id="31a1c1aa03f1e5084750bedb4e3fdc04ce2cb6ca" datatype="html">\n        <source>OSD lost</source>\n        <target>喪失したOSD</target>\n      </trans-unit>\n      <trans-unit id="f3fc4c85c5b8f1dedea0496b72d0af9da7b9e0d9" datatype="html">\n        <source>marked lost</source>\n        <target>喪失としてマーク済み</target>\n      </trans-unit>\n      <trans-unit id="40fedc157ad899a18ec40573f770d18b040959d2" datatype="html">\n        <source>Purge</source>\n        <target>消去</target>\n      </trans-unit>\n      <trans-unit id="c8b1475105463088593de1022ff6dceb523eae0e" datatype="html">\n        <source>OSD</source>\n        <target>OSD</target>\n      </trans-unit>\n      <trans-unit id="4f3cff08c7033b63bbccfe66006b1bcaea48ddd8" datatype="html">\n        <source>purged</source>\n        <target>消去済み</target>\n      </trans-unit>\n      <trans-unit id="8e5d1b01eca6dce26a4751f0b19bda7a6ab8db5b" datatype="html">\n        <source>destroy</source>\n        <target>破棄</target>\n      </trans-unit>\n      <trans-unit id="495a06b78bf165a7b545fa002137f0846b094a3d" datatype="html">\n        <source>destroyed</source>\n        <target>破棄済み</target>\n      </trans-unit>\n      <trans-unit id="107614b994f2b01abdc1ca179bf780b0cd933ec4" datatype="html">\n        <source>Recovery Priority</source>\n        <target>Recovery Priority</target>\n      </trans-unit>\n      <trans-unit id="359dad5a3a912ef9dece3194035020856805aa96" datatype="html">\n        <source>PG scrub</source>\n        <target>PG scrub</target>\n      </trans-unit>\n      <trans-unit id="953144c420c2e5abd02e6a687433eac60fa852bd" datatype="html">\n        <source>PGs</source>\n        <target>配置グループ数</target>\n      </trans-unit>\n      <trans-unit id="7d3523ea9d35c274cef84043de8a2fdde540a9a1" datatype="html">\n        <source>Read bytes</source>\n        <target>読み取りバイト数</target>\n      </trans-unit>\n      <trans-unit id="ecbe2fdca919499125bc42c2c67cedae8563db1c" datatype="html">\n        <source>Writes bytes</source>\n        <target>書き込みバイト数</target>\n      </trans-unit>\n      <trans-unit id="f3c33322823c846b13f59ba2c8f234405bba99e1" datatype="html">\n        <source>Read ops</source>\n        <target>読み取り操作数</target>\n      </trans-unit>\n      <trans-unit id="7e0b24a17546cbfab48b03dc874461d1ca68bc9a" datatype="html">\n        <source>Write ops</source>\n        <target>書き込み操作数</target>\n      </trans-unit>\n      <trans-unit id="d45455406092f58e6b089cb440b5b7934b801a01" datatype="html">\n        <source>Mark OSD \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </source>\n        <target>Mark OSD \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="de0b7806e451b3b3dbd564decba59981fe781c18" datatype="html">\n        <source>Mark \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </source>\n        <target>Mark \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="bba1d3bb4f8a47aa2b3068e242562196eadb1e83" datatype="html">\n        <source>PG scrub options</source>\n        <target>PG scrub options</target>\n      </trans-unit>\n      <trans-unit id="b0b7748ebc9b7a6942a8cac4a89d4b215b365878" datatype="html">\n        <source>Updated PG scrub options</source>\n        <target>Updated PG scrub options</target>\n      </trans-unit>\n      <trans-unit id="4edc2162af0bd6cd941eaf730d20a7e3b5a83ba7" datatype="html">\n        <source>Max Backfills</source>\n        <target>最大バックフィル数</target>\n      </trans-unit>\n      <trans-unit id="eb5e6c24a48a1dfe23e0a772b762be5e949c0c8a" datatype="html">\n        <source>Recovery Max Active</source>\n        <target>回復最大アクティブ</target>\n      </trans-unit>\n      <trans-unit id="4a23c6d3859e03184118620d2baeb736ac765fbf" datatype="html">\n        <source>Recovery Max Single Start</source>\n        <target>回復最大単一始動</target>\n      </trans-unit>\n      <trans-unit id="97049169ef5228fd1724de2fcdad1fec2858eaf8" datatype="html">\n        <source>Recovery Sleep</source>\n        <target>回復スリープ</target>\n      </trans-unit>\n      <trans-unit id="a5c05002b0ac2040f1aede5e727e0ffd06eda819" datatype="html">\n        <source>Custom</source>\n        <target>カスタム</target>\n      </trans-unit>\n      <trans-unit id="89553524f4e7db5c437b07dcfdc7b831d56ded1a" datatype="html">\n        <source>Updated OSD recovery speed priority "\n          <x id="INTERPOLATION" equiv-text="{{value}}"/>"\n        </source>\n        <target>Updated OSD recovery speed priority "\n          <x id="INTERPOLATION" equiv-text="{{value}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="ccf5f30798c03d2d8efd0e6eb508320c018b722d" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{operation}}"/> was initialized in the following OSD(s): \n          <x id="INTERPOLATION_1" equiv-text="{{id}}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{operation}}"/> was initialized in the following OSD(s): \n          <x id="INTERPOLATION_1" equiv-text="{{id}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="9836e830d0219585b36d53be00a31c3d4798a4aa" datatype="html">\n        <source>Smartctl has received an unknown argument (error code\n          <x id="INTERPOLATION" equiv-text="{{smartData.smartctl_error_code}}"/>). You may be using an\n                incompatible version of smartmontools. Version &gt;= 7.0 of\n                smartmontools is required to succesfully retrieve data.\n        </source>\n        <target>Smartctl has received an unknown argument (error code\n          <x id="INTERPOLATION" equiv-text="{{smartData.smartctl_error_code}}"/>). You may be using an\n                incompatible version of smartmontools. Version &gt;= 7.0 of\n                smartmontools is required to succesfully retrieve data.\n        </target>\n      </trans-unit>\n      <trans-unit id="d5fd840374ca1a6f394bcd81f390a6dca27f8224" datatype="html">\n        <source>An error with error code \n          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.\n        </source>\n        <target>An error with error code \n          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.\n        </target>\n      </trans-unit>\n      <trans-unit id="a0b59d7139692bb8d8ed786b6eb6e9e70ce743f3" datatype="html">\n        <source>Raw</source>\n        <target>Raw</target>\n      </trans-unit>\n      <trans-unit id="2f3beddc8234b30fb26a7f63ba2f1ea74f2ed6f7" datatype="html">\n        <source>Threshold</source>\n        <target>Threshold</target>\n      </trans-unit>\n      <trans-unit id="4654b5a68af3c8bad29aa14ca85ccea1f3143c6b" datatype="html">\n        <source>When Failed</source>\n        <target>When Failed</target>\n      </trans-unit>\n      <trans-unit id="5b7f56d5be49fb8e8d8f40209d6746f8f72e9177" datatype="html">\n        <source>Worst</source>\n        <target>Worst</target>\n      </trans-unit>\n      <trans-unit id="1edb8e46b0fac57c5feb3d7d3585afc0122d5481" datatype="html">\n        <source>Create silence</source>\n        <target>Create silence</target>\n      </trans-unit>\n      <trans-unit id="78917e8031aaf913ac3fa63295325ce8879703ce" datatype="html">\n        <source>Job</source>\n        <target>ジョブ</target>\n      </trans-unit>\n      <trans-unit id="94287619205068b591c18493c64781424864c259" datatype="html">\n        <source>Severity</source>\n        <target>重大度</target>\n      </trans-unit>\n      <trans-unit id="e6cfbe0c5e0302ba2cec22315f6a28f8ac46b651" datatype="html">\n        <source>Started</source>\n        <target>始動済み</target>\n      </trans-unit>\n      <trans-unit id="801b98c6f02fe3b32f6afa3ee854c99ed83474e6" datatype="html">\n        <source>URL</source>\n        <target>URL</target>\n      </trans-unit>\n      <trans-unit id="a5cd682a8a33bdc72e093d059429e3cc3a50ec1d" datatype="html">\n        <source>silence</source>\n        <target>silence</target>\n      </trans-unit>\n      <trans-unit id="f557e117e059e7036c6eecacd325a6ae35d866e0" datatype="html">\n        <source>Attribute name</source>\n        <target>Attribute name</target>\n      </trans-unit>\n      <trans-unit id="50f7f517ad8158667f7d4e2bd6f3256e05156e75" datatype="html">\n        <source>Regular expression</source>\n        <target>Regular expression</target>\n      </trans-unit>\n      <trans-unit id="81b1eab399c47110d50f45e3ccb4c009de7cb581" datatype="html">\n        <source>Please add your Prometheus host to the dashboard configuration and refresh the page</source>\n        <target>Please add your Prometheus host to the dashboard configuration and refresh the page</target>\n      </trans-unit>\n      <trans-unit id="29b4ae3296e239446fa0dea88a5112de15cffa54" datatype="html">\n        <source>Created by</source>\n        <target>Created by</target>\n      </trans-unit>\n      <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc" datatype="html">\n        <source>Updated</source>\n        <target>更新済み</target>\n      </trans-unit>\n      <trans-unit id="8d833cceee0ba4c5161b130365e02bc1e129b57e" datatype="html">\n        <source>Ends</source>\n        <target>Ends</target>\n      </trans-unit>\n      <trans-unit id="46a11ff4289e8c88b1b7a935f8d8ee704055f11a" datatype="html">\n        <source>Silence</source>\n        <target>Silence</target>\n      </trans-unit>\n      <trans-unit id="f392abfbb997402ce2aebb13e660a8f01dec54db" datatype="html">\n        <source>Service type</source>\n        <target>Service type</target>\n      </trans-unit>\n      <trans-unit id="9ffa91b056fb979786627885651e19c8275675cd" datatype="html">\n        <source>Service instance</source>\n        <target>Service instance</target>\n      </trans-unit>\n      <trans-unit id="b5910192a9ac4816638ff6383b03f986ff965796" datatype="html">\n        <source>Container id</source>\n        <target>Container id</target>\n      </trans-unit>\n      <trans-unit id="60ab9cce12a56cdc5ec6a1b699f8c7afecd629d5" datatype="html">\n        <source>Rados config location</source>\n        <target>Rados config location</target>\n      </trans-unit>\n      <trans-unit id="dfa409f831c9168a377bdee02c5ea6aaf9b2bf61" datatype="html">\n        <source>Service URL</source>\n        <target>Service URL</target>\n      </trans-unit>\n      <trans-unit id="bf2468fd965b8a59c135ad549b3a612aa9873abc" datatype="html">\n        <source>Status Description</source>\n        <target>Status Description</target>\n      </trans-unit>\n      <trans-unit id="fb2e1bed329dc5b84197808c778abb9edcbdb335" datatype="html">\n        <source>Used</source>\n        <target>使用済み</target>\n      </trans-unit>\n      <trans-unit id="4f1ab04d9100fb0df0e62b921ec46ae052ae29fc" datatype="html">\n        <source>Avail.</source>\n        <target>使用可能</target>\n      </trans-unit>\n      <trans-unit id="a1c9b3d4fa67450fe9afd1d726f8a1bd91d990ea" datatype="html">\n        <source>Clean</source>\n        <target>クリーン</target>\n      </trans-unit>\n      <trans-unit id="0054f5460090d6dde385e8f099d598df5d28cf54" datatype="html">\n        <source>Working</source>\n        <target>動作中</target>\n      </trans-unit>\n      <trans-unit id="a8059e31694578c1b0344a76a345357dd60e8f01" datatype="html">\n        <source>Warning</source>\n        <target>警告</target>\n      </trans-unit>\n      <trans-unit id="e5d8bb389c702588877f039d72178f219453a72d" datatype="html">\n        <source>Unknown</source>\n        <target>不明</target>\n      </trans-unit>\n      <trans-unit id="88155be1b9b9c6140d6e8f93bac4a775cfdc6671" datatype="html">\n        <source>Healthy</source>\n        <target>Healthy</target>\n      </trans-unit>\n      <trans-unit id="8a3aec4dc1a6e2d4c612ae85e0537acbb20a0f85" datatype="html">\n        <source>Misplaced</source>\n        <target>Misplaced</target>\n      </trans-unit>\n      <trans-unit id="ee81f9bf7ceac69712e0b83e8adc268739f9673e" datatype="html">\n        <source>Degraded</source>\n        <target>Degraded</target>\n      </trans-unit>\n      <trans-unit id="14625bc4025daef1969777a67a3cca27e0cd9167" datatype="html">\n        <source>Unfound</source>\n        <target>Unfound</target>\n      </trans-unit>\n      <trans-unit id="8f23ea509d081c2f747d083d44608dbf125b2ea2" datatype="html">\n        <source>replicas</source>\n        <target>replicas</target>\n      </trans-unit>\n      <trans-unit id="129a2224e1f9d19eb5e11e2a07fe10a785556484" datatype="html">\n        <source>up</source>\n        <target>アップ</target>\n      </trans-unit>\n      <trans-unit id="d5f29cf0af691726483262d647eb6622be002512" datatype="html">\n        <source>no filesystems</source>\n        <target>ファイルシステムがありません</target>\n      </trans-unit>\n      <trans-unit id="b1c4387ffab06f3fa9fdb4411aea955595538d44" datatype="html">\n        <source>active</source>\n        <target>アクティブ</target>\n      </trans-unit>\n      <trans-unit id="1aaf7054d826f2cb05ec3e88a5a4b8116861e1f5" datatype="html">\n        <source>standby</source>\n        <target>スタンバイ</target>\n      </trans-unit>\n      <trans-unit id="c9a1080024dca344a48acdb77fa2d54e059f7254" datatype="html">\n        <source>n/a</source>\n        <target>なし</target>\n      </trans-unit>\n      <trans-unit id="84a1787b6df375847c70f782861d7e7f8f43bff4" datatype="html">\n        <source>active daemon</source>\n        <target>アクティブデーモン</target>\n      </trans-unit>\n      <trans-unit id="24407dc2ebfafaf6b131ee978683b893c3f1d763" datatype="html">\n        <source>quorum</source>\n        <target>定数</target>\n      </trans-unit>\n      <trans-unit id="2fa50bc07995c6ea660412294298ded39fcb08d9" datatype="html">\n        <source>The NFS Ganesha service is not configured.</source>\n        <target>NFS Ganeshaサービスが設定されていません。</target>\n      </trans-unit>\n      <trans-unit id="af1396bdc49f45ea6c4a1e414769f5e2a382c834" datatype="html">\n        <source>Transport</source>\n        <target>トランスポート</target>\n      </trans-unit>\n      <trans-unit id="b6a0e176d96c4feed2e975a039c044fcf822e152" datatype="html">\n        <source>CephFS User</source>\n        <target>CephFSユーザ</target>\n      </trans-unit>\n      <trans-unit id="44dc610cf201a163e8c38da810acec9596930bb3" datatype="html">\n        <source>CephFS Filesystem</source>\n        <target>CephFSファイルシステム</target>\n      </trans-unit>\n      <trans-unit id="db6dc7124be83c7055cb0f2719e31f2f9d46fd3d" datatype="html">\n        <source>(inherited from global config)</source>\n        <target>(グローバル設定から継承)</target>\n      </trans-unit>\n      <trans-unit id="e1f97bb86f991553ec7b535cb39e7eaa99dfcfe2" datatype="html">\n        <source>inherited from global config</source>\n        <target>グローバル設定から継承されました</target>\n      </trans-unit>\n      <trans-unit id="e751800766277e7c2edd652cec7a7a1a68a37852" datatype="html">\n        <source>-- Select what kind of user id squashing is performed --</source>\n        <target>-- 実行されるユーザIDスカッシュ操作を選択してください --</target>\n      </trans-unit>\n      <trans-unit id="4b58387f911e8a7b135a0c4d76c70335c65bbb32" datatype="html">\n        <source>There are no daemons available.</source>\n        <target>使用可能なデーモンがありません。</target>\n      </trans-unit>\n      <trans-unit id="18ae8dc1264f06df7ea251175ada2ac1b8401018" datatype="html">\n        <source>NFS export</source>\n        <target>NFS export</target>\n      </trans-unit>\n      <trans-unit id="ae128527ec18892f812a62a1fd15dc50a38060c0" datatype="html">\n        <source>EC Profile</source>\n        <target>EC Profile</target>\n      </trans-unit>\n      <trans-unit id="60fb10c145f9c7ede2b9ddf9b2b0b0f6191d0ebd" datatype="html">\n        <source>Cache Mode</source>\n        <target>キャッシュモード</target>\n      </trans-unit>\n      <trans-unit id="fa5bfad31d4139f6871443bb74324ffda5cad3e6" datatype="html">\n        <source>Min Evict Age</source>\n        <target>退去までの最小経過時間</target>\n      </trans-unit>\n      <trans-unit id="fd0eb851666df45c34c76fabcda79b0d77bc910b" datatype="html">\n        <source>Min Flush Age</source>\n        <target>消去までの最小経過時間</target>\n      </trans-unit>\n      <trans-unit id="cb54d2c420a534cee0c308ea5589f8c394ef8d67" datatype="html">\n        <source>Target Max Bytes</source>\n        <target>ターゲットの最大バイト数</target>\n      </trans-unit>\n      <trans-unit id="07f4ebe6615dca466818ffdae2a69ee217d265fb" datatype="html">\n        <source>Target Max Objects</source>\n        <target>ターゲットの最大オブジェクト数</target>\n      </trans-unit>\n      <trans-unit id="eaa8f4df53cf7fa78d078e20a701d10f3dccd77d" datatype="html">\n        <source>No applications added</source>\n        <target>アプリケーションは追加されていません</target>\n      </trans-unit>\n      <trans-unit id="321c2a7640f11177ea49b0857b94c4b70830c0e6" datatype="html">\n        <source>Applications limit reached</source>\n        <target>アプリケーション数の上限に達しました</target>\n      </trans-unit>\n      <trans-unit id="519d27742b74fadc8336777452f78891e98aa1dc" datatype="html">\n        <source>A pool can only have up to four applications definitions.</source>\n        <target>1つのプールは最大で4つのアプリケーション定義しか保有できません。</target>\n      </trans-unit>\n      <trans-unit id="b5bec3813f0d45daa7eb9471272969e1bc3e734e" datatype="html">\n        <source>Allowed characters \'_a-zA-Z0-9\'</source>\n        <target>使用可能な文字「_a-zA-Z0-9」</target>\n      </trans-unit>\n      <trans-unit id="807472d29602a0085bce62e534bd66208982c2e2" datatype="html">\n        <source>Maximum length is 128 characters</source>\n        <target>最大長は128文字です</target>\n      </trans-unit>\n      <trans-unit id="37785748b9ac9ad1d3e4b111ac502c3284afe84b" datatype="html">\n        <source>Filter or add applications</source>\n        <target>アプリケーションのフィルタリングまたは追加</target>\n      </trans-unit>\n      <trans-unit id="38c7b8610ca87835e13eeee6a09ba1c414cd5cb9" datatype="html">\n        <source>Add application</source>\n        <target>アプリケーションの追加</target>\n      </trans-unit>\n      <trans-unit id="db8c42f077700d8a94619fad9f4c94b7361d5f1d" datatype="html">\n        <source>pool</source>\n        <target>pool</target>\n      </trans-unit>\n      <trans-unit id="65bb2be83261bc4798853bbccdedc110c43feea7" datatype="html">\n        <source>erasure code profile</source>\n        <target>イレイジャコードプロファイル</target>\n      </trans-unit>\n      <trans-unit id="112d356ad6846959ca4aa5ec9a1f0d9d473b24ec" datatype="html">\n        <source>Replica Size</source>\n        <target>レプリカサイズ</target>\n      </trans-unit>\n      <trans-unit id="ec50492db341fa752b023d8c924601286b6c9c0c" datatype="html">\n        <source>Last Change</source>\n        <target>最後の変更</target>\n      </trans-unit>\n      <trans-unit id="563a8c136a9d423bc7ae1269a404d6da5fd83dad" datatype="html">\n        <source>Erasure Coded Profile</source>\n        <target>イレイジャコード化済みプロファイル</target>\n      </trans-unit>\n      <trans-unit id="0ad7f0662956cff61ac1208f92b1a0305b1b2e58" datatype="html">\n        <source>Crush Ruleset</source>\n        <target>Crushルールセット</target>\n      </trans-unit>\n      <trans-unit id="f15bf7f588f09ca79795b17bc244e8d336f28171" datatype="html">\n        <source>Write bytes</source>\n        <target>書き込みバイト数</target>\n      </trans-unit>\n      <trans-unit id="bcc365a084b6145b941b371bd4c2b6c3d2c79234" datatype="html">\n        <source>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</source>\n        <target>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</target>\n      </trans-unit>\n      <trans-unit id="44939fd05cedfd077db886528b755e77d5fa3885" datatype="html">\n        <source>bucket</source>\n        <target>バケット</target>\n      </trans-unit>\n      <trans-unit id="84fee774286ec4191311f1277075455c3ea5e2e2" datatype="html">\n        <source>Updated Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>".\n        </source>\n        <target>Updated Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="2d7a43674f0bbc131c9e555ec16ac37fa0445d76" datatype="html">\n        <source>Created Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>"\n        </source>\n        <target>Created Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="ec40d74ecfb1d6d60455af6805c9a714a3f5750a" datatype="html">\n        <source>buckets</source>\n        <target>バケット数</target>\n      </trans-unit>\n      <trans-unit id="764585d5595bac113582ee14a6fd07006770ceb1" datatype="html">\n        <source>capability</source>\n        <target>capability</target>\n      </trans-unit>\n      <trans-unit id="0914cbe18bae204217e1851be6d2d24d86e74605" datatype="html">\n        <source>user</source>\n        <target>ユーザ</target>\n      </trans-unit>\n      <trans-unit id="d8c86dc5e48a63590d9c94e19f90b5f8325cbd49" datatype="html">\n        <source>subuser</source>\n        <target>subuser</target>\n      </trans-unit>\n      <trans-unit id="f45a3de8a8b40d161cc36a55d77548a27107ca04" datatype="html">\n        <source>S3 Key</source>\n        <target>S3 Key</target>\n      </trans-unit>\n      <trans-unit id="854a763265e92f91ba3ccee1a0e8d823be584f7c" datatype="html">\n        <source>Updated Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </source>\n        <target>Updated Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="84ab3fd641e65e39cffee0ec722a059ed284229e" datatype="html">\n        <source>Created Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </source>\n        <target>Created Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="7c7f4be7b726e61c577e63842a58d9e435f7c597" datatype="html">\n        <source>users</source>\n        <target>ユーザ数</target>\n      </trans-unit>\n      <trans-unit id="9f7760223efd77806f1bbaf963e6993bb4bc6a0a" datatype="html">\n        <source>Swift Key</source>\n        <target>Swift Key</target>\n      </trans-unit>\n      <trans-unit id="1481b8488e10dbc437accce89d2ae35a0106e8ba" datatype="html">\n        <source>Scope</source>\n        <target>範囲</target>\n      </trans-unit>\n      <trans-unit id="9b1d5e95f6bdcfb4b737413f5fa157e0dcb103d5" datatype="html">\n        <source>Read</source>\n        <target>読み取り</target>\n      </trans-unit>\n      <trans-unit id="70a67e04629f6d412db0a12d51820b480788d795" datatype="html">\n        <source>Create</source>\n        <target>作成</target>\n      </trans-unit>\n      <trans-unit id="dc4fba275819619ee78e8eae14d357ea69ba7477" datatype="html">\n        <source>role</source>\n        <target>role</target>\n      </trans-unit>\n      <trans-unit id="fe6ee93173884201ec62d62ba173c3de85ae177e" datatype="html">\n        <source>Created role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Created role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="41c032df0732f4318f8213fabd0719ac347d4b6c" datatype="html">\n        <source>Updated role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Updated role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="50e22b5289f79f1417369403345c9fa9911a4557" datatype="html">\n        <source>System Role</source>\n        <target>システム役割</target>\n      </trans-unit>\n      <trans-unit id="7f132668e2dbfcf616381d2daf59d1a6f2698102" datatype="html">\n        <source>Deleted role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Deleted role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="2e35d60a14ce0b470e8b54602864a867f7fcef40" datatype="html">\n        <source>There are no roles.</source>\n        <target>There are no roles.</target>\n      </trans-unit>\n      <trans-unit id="d2362a49d2434ce137bf19dab004251b7fd9c7b3" datatype="html">\n        <source>Created user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Created user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="9910122dfedd2eaa544a990f1430e5b82a76d99f" datatype="html">\n        <source>Update user</source>\n        <target>ユーザの更新</target>\n      </trans-unit>\n      <trans-unit id="ac10a3d9b59575640797c1a8e6aea642cf5d5e77" datatype="html">\n        <source>Continue</source>\n        <target>続行</target>\n      </trans-unit>\n      <trans-unit id="cf4bcf4ce3d551e6099ccdc3546ae418fe5f8038" datatype="html">\n        <source>You were automatically logged out because your roles have been changed.</source>\n        <target>このユーザの役割が変更されたため、このユーザは自動的にログアウトされました。</target>\n      </trans-unit>\n      <trans-unit id="0f6003fb0c1cc73b89d225801cc1b870945cd259" datatype="html">\n        <source>Updated user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Updated user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="fe516c6d820018fdc971113935e22ec1e852965f" datatype="html">\n        <source>Deleted user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Deleted user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="01a7e11502ff80421ef3615e533ea14ef57e1d5c" datatype="html">\n        <source>Failed to delete user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Failed to delete user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="63316a3861dbcb035147efc1b9fb6bc708242e94" datatype="html">\n        <source>You are currently logged in as "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>".\n        </source>\n        <target>You are currently logged in as "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="d8b81951d25439864e92f750f7c99d7426d6517c" datatype="html">\n        <source>password</source>\n        <target>password</target>\n      </trans-unit>\n      <trans-unit id="d361a9b5e1f7985a12c0433388f31626525a02b8" datatype="html">\n        <source>Updated user password"</source>\n        <target>Updated user password"</target>\n      </trans-unit>\n      <trans-unit id="1d7fbcc3d5efc946ffbcf86fed04c4e20dda20fb" datatype="html">\n        <source>Each object is split in data-chunks parts, each stored on a different OSD.</source>\n        <target>各オブジェクトは複数のデータチャンクパートに分割されており、それぞれのパートは異なるOSDに保管されています。</target>\n      </trans-unit>\n      <trans-unit id="b1f8ed4e216585f1f9134740002ef3c8501debd8" datatype="html">\n        <source>Compute coding chunks for each object and store them on different OSDs.\n      The number of coding chunks is also the number of OSDs that can be down without losing data.</source>\n        <target>各オブジェクトのコーディングチャンクを計算して、これらのチャンクを別々のOSDに保管します。\nコーディングチャンクの数は、データを失うことなくダウン状態になることができるOSDの数でもあります。</target>\n      </trans-unit>\n      <trans-unit id="c437ee74a9a8e781e1380153f742a685e3b8cc5e" datatype="html">\n        <source>The jerasure plugin is the most generic and flexible plugin,\n          it is also the default for Ceph erasure coded pools.</source>\n        <target>jerasureプラグインは最も汎用的で柔軟性の高いプラグインです。\nこのプラグインは、Cephイレイジャコード化済みプール用のデフォルトでもあります。</target>\n      </trans-unit>\n      <trans-unit id="8c7e19322851402afa67e41f4f1d4e531caf1bf5" datatype="html">\n        <source>The more flexible technique is reed_sol_van : it is enough to set k\n          and m. The cauchy_good technique can be faster but you need to chose the packetsize\n          carefully. All of reed_sol_r6_op, liberation, blaum_roth, liber8tion are RAID6 equivalents\n          in the sense that they can only be configured with m=2.</source>\n        <target>さらに柔軟性の高い技法はreed_sol_vanです。kとmを\n設定するだけで十分です。\ncauchy_good技法はより高速となり得ますが、パケットサイズを慎重に選択する必要があります。\nreed_sol_r6_op、liberation、blaum_roth、liber8tionはすべて、\nm=2を使用した設定のみが可能という意味でRAID6と同等です。</target>\n      </trans-unit>\n      <trans-unit id="b1b11f49281b4e79219b4eecfbcb033cb15bd880" datatype="html">\n        <source>The encoding will be done on packets of bytes size at a time.\n          Chosing the right packet size is difficult.\n          The jerasure documentation contains extensive information on this topic.</source>\n        <target>エンコードはバイトサイズのパケット群に対して同時に実行されます。\n適切なパケットサイズを選択することは困難です。\njerasureのドキュメントにはこのトピックに関する詳細な情報が記載されています。</target>\n      </trans-unit>\n      <trans-unit id="d9cb3bc07a25b26fbea457e0a7b543340bc13c49" datatype="html">\n        <source>With the jerasure plugin, when an erasure coded object is stored on\n          multiple OSDs, recovering from the loss of one OSD requires reading from all the others.\n          For instance if jerasure is configured with k=8 and m=4, losing one OSD requires reading\n          from the eleven others to repair.\n\n          The lrc erasure code plugin creates local parity chunks to be able to recover using\n          less OSDs. For instance if lrc is configured with k=8, m=4 and l=4, it will create\n          an additional parity chunk for every four OSDs. When a single OSD is lost, it can be\n          recovered with only four OSDs instead of eleven.</source>\n        <target>jerasureプラグインを使用すると、イレイジャコード化済みオブジェクトが複数のOSDに保管されている場合は、\n1つのOSDの喪失から回復するには、他のすべてのOSDからの読み取りが必要になります。\nたとえば、k=8およびm=4を使用してjerasureが設定されている場合は、1つのOSDが失われた場合、\n修復のためには他の11個のOSDからの読み取りが必要になります。\n\nlrcイレイジャコードプラグインは、これより少ないOSDを使用した回復を可能にするために、\nローカルパリティチャンクを作成します。たとえば、lrcがk=8、m=4、およびl=4を使用して設定されている場合は、\nlrcは、4つのOSDごとに1つの追加パリティチャンクを作成します。1つのOSDが失われた場合は、\n11個の代わりに4つのOSDのみを使用してそのOSDを回復できます。</target>\n      </trans-unit>\n      <trans-unit id="813959d46e63a29bbd266b3af2ff9414c2ef553c" datatype="html">\n        <source>Group the coding and data chunks into sets of size locality. For instance,\n          for k=4 and m=2, when locality=3 two groups of three are created. Each set can\n          be recovered without reading chunks from another set.</source>\n        <target>コーディングチャンクとデータチャンクをサイズ地域の複数セットにグループ分けします。\nたとえば、k=4およびm=2の場合に、[地域]=3の場合は、3つのチャンクからなるグループが2つ作成されます。\n各セットは、別のセットからチャンクを読み取ることなく回復できます。</target>\n      </trans-unit>\n      <trans-unit id="f0ff63d92e0a1b4d4b51e31b9133802d160a5f4c" datatype="html">\n        <source>The type of the crush bucket in which each set of chunks defined\n          by l will be stored. For instance, if it is set to rack, each group of l chunks will be\n          placed in a different rack. It is used to create a CRUSH rule step such as step choose\n          rack. If it is not set, no such grouping is done.</source>\n        <target>1によって定義されたチャンクの各セットが保管されるCrushバケットのタイプ。\nたとえば、このバケットタイプがラックに設定されている場合は、1のチャンクの各グループは異なるラックに配置されます。\nこのバケットタイプを使用して、「ラックの選択」ステップなどのCRUSHルールステップが作成されます。\nこのバケットタイプが設定されていない場合は、このようなグループ分けは行われません。</target>\n      </trans-unit>\n      <trans-unit id="3ece48df9d1e9a98f98bf3c5cc66e8b637020a4d" datatype="html">\n        <source>The isa plugin encapsulates the ISA library. It only runs on Intel processors.</source>\n        <target>isaプラグインはISAライブラリをカプセル化します。このプラグインはIntelプロセッサ上のみで動作します。</target>\n      </trans-unit>\n      <trans-unit id="4472c9e31bfc7d96a83dc4afce0a6e885c99e839" datatype="html">\n        <source>The ISA plugin comes in two Reed Solomon forms.\n          If reed_sol_van is set, it is Vandermonde, if cauchy is set, it is Cauchy.</source>\n        <target>ISAプラグインは2つのリードソロモン形式で提供されています。reed_sol_vanが設定されている場合は、Vandermondeであり、cauchyが設定されている場合は、Cauchyです。</target>\n      </trans-unit>\n      <trans-unit id="fa385f5ecf63083ec848dca8dc5e52bdc72ac6f6" datatype="html">\n        <source>The shec plugin encapsulates the multiple SHEC library.\n          It allows ceph to recover data more efficiently than Reed Solomon codes.</source>\n        <target>shecプラグインは複数のSHECライブラリをカプセル化します。\nこのプラグインを使用すると、cephはリードソロモンコードより効率的にデータを回復できます。</target>\n      </trans-unit>\n      <trans-unit id="687b3cd94b3475c24ff4481d64d4739f902a377c" datatype="html">\n        <source>The number of parity chunks each of which includes each data chunk in its\n          calculation range. The number is used as a durability estimator. For instance, if c=2,\n          2 OSDs can be down without losing data.</source>\n        <target>それぞれが各データチャンクを各自の計算範囲内に含んでいるパリティチャンクの数。\nこの数は、耐久性推定子として使用されます。\nたとえば、c=2の場合は、データを失うことなく2つのOSDがダウン状態になることができます。</target>\n      </trans-unit>\n      <trans-unit id="f3c4af6df91bdaabdb715f8f0b61a24faf73a3bc" datatype="html">\n        <source>The name of the crush bucket used for the first step of the CRUSH rule.\n      For instance step take default.</source>\n        <target>CRUSHルールの最初のステップ(「デフォルトの使用」ステップなど)用に\n使用されるCrushバケットの名前。</target>\n      </trans-unit>\n      <trans-unit id="e1059955a5ce65cdabf0c0a8207377e1f9bae57e" datatype="html">\n        <source>Ensure that no two chunks are in a bucket with the same failure\n      domain. For instance, if the failure domain is host no two chunks will be stored on the same\n      host. It is used to create a CRUSH rule step such as step chooseleaf host.</source>\n        <target>同じ障害ドメインの単一バケット内に2つのチャンクが配置されることを防止します。\nたとえば、障害ドメインがホストである場合は、2つのチャンクが同じホストに保管されることはありません。\nこれを使用して、「リーフホストの選択」ステップなどのCRUSHルールステップが作成されます。</target>\n      </trans-unit>\n      <trans-unit id="ac392ac9c6da5fde6da80fc57b9c09402fb6e73d" datatype="html">\n        <source>Restrict placement to devices of a specific class\n      (e.g., ssd or hdd), using the crush device class names in the CRUSH map.</source>\n        <target>CRUSHマップ内でCrushデバイスクラス名を使用して、配置先を特定クラス(ssdやhddなど)のデバイスのみに制限します。</target>\n      </trans-unit>\n      <trans-unit id="62bcb9ae5583a088649b1adf5787a86ca3334f89" datatype="html">\n        <source>Set the directory name from which the erasure code plugin is loaded.</source>\n        <target>イレイジャコードプラグインの読み込み元となるディレクトリ名を設定します。</target>\n      </trans-unit>\n      <trans-unit id="c8f10184a8433d132ede0a2c0c1aa96f291cacfa" datatype="html">\n        <source>Allows all operations</source>\n        <target>すべての操作を許可します</target>\n      </trans-unit>\n      <trans-unit id="82077ee97c11ee76efc3adf253b7b26654544317" datatype="html">\n        <source>Allows only operations that do not modify the server</source>\n        <target>サーバに変更を加えない操作のみを許可します</target>\n      </trans-unit>\n      <trans-unit id="22b5212ec10449dbf0a0af0ad34122eac51b5f2a" datatype="html">\n        <source>Does not allow read or write operations, but allows any other operation</source>\n        <target>読み取り/書き込み操作を許可しませんが、他のすべての操作を許可します</target>\n      </trans-unit>\n      <trans-unit id="9799d0f8c4b7727ae239fedfe3c0ce127feb7a50" datatype="html">\n        <source>Does not allow read, write, or any operation that modifies file        attributes or directory content</source>\n        <target>読み取り/書き込み操作、およびファイル属性やディレクトリ内容を変更するどの操作も許可しません</target>\n      </trans-unit>\n      <trans-unit id="aeddefe0af87025d8f00699aa94bed8216a99a58" datatype="html">\n        <source>Allows no access at all</source>\n        <target>アクセスを一切許可しません</target>\n      </trans-unit>\n      <trans-unit id="a436c6a4025a749198e93cac239de8deede72211" datatype="html">\n        <source>-- Select the priority --</source>\n        <target>-- 優先度を選択してください --</target>\n      </trans-unit>\n      <trans-unit id="9556266f0a2b1762a44b686f2bb21dbfefb01c12" datatype="html">\n        <source>Low</source>\n        <target>低</target>\n      </trans-unit>\n      <trans-unit id="72279141a67cc042d9864102b703216cc8a428a3" datatype="html">\n        <source>High</source>\n        <target>高</target>\n      </trans-unit>\n      <trans-unit id="6080b77234e92ad41bb52653b239c4c4f851317d" datatype="html">\n        <source>Error</source>\n        <target>Error</target>\n      </trans-unit>\n      <trans-unit id="c43dc1967a603fefb886149ac35863a06d5b4ce5" datatype="html">\n        <source>Information</source>\n        <target>情報</target>\n      </trans-unit>\n      <trans-unit id="1e035e6ccfab771cad4226b2ad230cb0d4a88cba" datatype="html">\n        <source>Success</source>\n        <target>Success</target>\n      </trans-unit>\n      <trans-unit id="e6ca3c0efaf51e6d45a7f92f58bac37140c3fda4" datatype="html">\n        <source>Last 5 minutes</source>\n        <target>直前の5分間</target>\n      </trans-unit>\n      <trans-unit id="b0ecb2bbc548cc9bd95050fd8f0c84586d083fe2" datatype="html">\n        <source>Last 15 minutes</source>\n        <target>直前の15分間</target>\n      </trans-unit>\n      <trans-unit id="857ae67deb51353120b203b0f2a06b0c48ef49fa" datatype="html">\n        <source>Last 30 minutes</source>\n        <target>直前の30分間</target>\n      </trans-unit>\n      <trans-unit id="7b1738fad314e936dc14b94db8f43da736942308" datatype="html">\n        <source>Last 1 hour (Default)</source>\n        <target>直前の1時間(デフォルト)</target>\n      </trans-unit>\n      <trans-unit id="a428288224389726cef9d9bd8d1d7808cccd7ffd" datatype="html">\n        <source>Last 3 hours</source>\n        <target>直前の3時間</target>\n      </trans-unit>\n      <trans-unit id="7cbabecc8d80cf183ac199cfaeb7619d56e5d43f" datatype="html">\n        <source>Last 6 hours</source>\n        <target>直前の6時間</target>\n      </trans-unit>\n      <trans-unit id="1a389cdf64187d34cf99eec30a290e3fa7d4744f" datatype="html">\n        <source>Last 12 hours</source>\n        <target>直前の12時間</target>\n      </trans-unit>\n      <trans-unit id="9e0ba5f591380a94d594a76288f0c41aa97eb9c2" datatype="html">\n        <source>Last 24 hours</source>\n        <target>直前の24時間</target>\n      </trans-unit>\n      <trans-unit id="e430eda9c785cd43465b7cbb400ee914f1057247" datatype="html">\n        <source>Yesterday</source>\n        <target>昨日</target>\n      </trans-unit>\n      <trans-unit id="7fb1099e29660162f9154d5b2feee7743a423df6" datatype="html">\n        <source>Today</source>\n        <target>本日</target>\n      </trans-unit>\n      <trans-unit id="33904058a97a64bd189bed84038b1ffe719769c7" datatype="html">\n        <source>Today so far</source>\n        <target>本日の現時点まで</target>\n      </trans-unit>\n      <trans-unit id="3b0b849be007510021d3d383df75bec95ef9c97b" datatype="html">\n        <source>Day before yesterday</source>\n        <target>一昨日</target>\n      </trans-unit>\n      <trans-unit id="6b430c2c394c4d32ebd7d46c8c46ab60e1b29ccb" datatype="html">\n        <source>Last 2 days</source>\n        <target>過去2日間</target>\n      </trans-unit>\n      <trans-unit id="d5e812a87a5d57a94200a2013027cab76a7c4863" datatype="html">\n        <source>This day last week</source>\n        <target>先週の同じ曜日</target>\n      </trans-unit>\n      <trans-unit id="d00edc936eeab6b5577401f115ca86ca2c87dc9a" datatype="html">\n        <source>Previous week</source>\n        <target>前週</target>\n      </trans-unit>\n      <trans-unit id="b036e40577baa6b918b2267d319d4b3aeaa88a5a" datatype="html">\n        <source>This week</source>\n        <target>今週</target>\n      </trans-unit>\n      <trans-unit id="99ad5a6096b3fcb3f021f3779bae710cdfeb8934" datatype="html">\n        <source>This week so far</source>\n        <target>今週の現時点まで</target>\n      </trans-unit>\n      <trans-unit id="02e0243b60007368f87dc01e083f232dd025096d" datatype="html">\n        <source>Last 7 days</source>\n        <target>過去7日間</target>\n      </trans-unit>\n      <trans-unit id="c3b08b07b5ab98e7cdcf18df39355690ab7d3884" datatype="html">\n        <source>Previous month</source>\n        <target>前月</target>\n      </trans-unit>\n      <trans-unit id="1b2562c6d5aa90644e7dc91feee82e2005fceb33" datatype="html">\n        <source>This month</source>\n        <target>今月</target>\n      </trans-unit>\n      <trans-unit id="26b4b18c5917934abb169ba9aa490e57f7bf10b8" datatype="html">\n        <source>This month so far</source>\n        <target>今月の現時点まで</target>\n      </trans-unit>\n      <trans-unit id="7668986b9f753fcd72ad4a00b1a0c4861d1f7fb8" datatype="html">\n        <source>Last 30 days</source>\n        <target>過去30日間</target>\n      </trans-unit>\n      <trans-unit id="ba1e822408d90c6fbd2989100fa648bfd5e8ee84" datatype="html">\n        <source>Last 90 days</source>\n        <target>過去90日間</target>\n      </trans-unit>\n      <trans-unit id="c3df03f899a914c4181adcdc8a3f077424f7b6e8" datatype="html">\n        <source>Last 6 months</source>\n        <target>過去6カ月</target>\n      </trans-unit>\n      <trans-unit id="7f9a92757580c9f31c309c0a3812ea429274eadf" datatype="html">\n        <source>Last 1 year</source>\n        <target>過去1年間</target>\n      </trans-unit>\n      <trans-unit id="5a9fede30ff65cb4b4426f6b1ed31afb67ecd7b0" datatype="html">\n        <source>Previous year</source>\n        <target>前年</target>\n      </trans-unit>\n      <trans-unit id="65cefcc53d1f6445df7568e8a40c49165f1090ee" datatype="html">\n        <source>This year</source>\n        <target>今年</target>\n      </trans-unit>\n      <trans-unit id="1f68b766944dc3865bddab765fe952b0c1c43f92" datatype="html">\n        <source>This year so far</source>\n        <target>今年の現時点まで</target>\n      </trans-unit>\n      <trans-unit id="4d4b77e614f8043fdadef5d6d235655bb48eb311" datatype="html">\n        <source>Last 2 years</source>\n        <target>過去2年間</target>\n      </trans-unit>\n      <trans-unit id="138afa339ea6e75d25a474affe1edbcb90e00ec0" datatype="html">\n        <source>Last 5 years</source>\n        <target>過去5年間</target>\n      </trans-unit>\n      <trans-unit id="37391297bb077a6f84484930261b01a3ce38327b" datatype="html">\n        <source>No items selected.</source>\n        <target>アイテムが選択されていません。</target>\n      </trans-unit>\n      <trans-unit id="2c1e52ee832661b4a0f570877d24661736b16af1" datatype="html">\n        <source>Deselect item to select again</source>\n        <target>アイテムを選択解除して再選択してください</target>\n      </trans-unit>\n      <trans-unit id="c8c9c6e5918659336824bbdda3501c66eaa79a4c" datatype="html">\n        <source>Selection limit reached</source>\n        <target>選択の上限に達しました</target>\n      </trans-unit>\n      <trans-unit id="02d184c288f567825a1fcbf83bcd3099a10853d5" datatype="html">\n        <source>Filter tags</source>\n        <target>タグのフィルタリング</target>\n      </trans-unit>\n      <trans-unit id="aa00748e49c269956837d6f3acdd8d218796a8d8" datatype="html">\n        <source>Add badge</source>\n        <target>バッジの追加</target>\n      </trans-unit>\n      <trans-unit id="4078a92d8121abdce7d8f346a88914923ec835fc" datatype="html">\n        <source>There are no items available.</source>\n        <target>使用可能なアイテムはありません。</target>\n      </trans-unit>\n      <trans-unit id="f6755cff4957d5c3c89bafce5651f1b6fa2b1fd9" datatype="html">\n        <source>Add</source>\n        <target>追加</target>\n      </trans-unit>\n      <trans-unit id="019d4bd6a5690f0cfa0ecf346a4e6bf7f0d8debb" datatype="html">\n        <source>Remove</source>\n        <target>Remove</target>\n      </trans-unit>\n      <trans-unit id="54a4a3132b693575728a45a5f3154ad4c9af404b" datatype="html">\n        <source>Clone</source>\n        <target>複製</target>\n      </trans-unit>\n      <trans-unit id="1979da7460819153e11d2078244645d94291b69c" datatype="html">\n        <source>Copy</source>\n        <target>コピー</target>\n      </trans-unit>\n      <trans-unit id="2e5e77dbaadd6588d8bbf737139fd9806294ae28" datatype="html">\n        <source>Deep Scrub</source>\n        <target>ディープスクラブ</target>\n      </trans-unit>\n      <trans-unit id="bf463b189696c19769ea263227e6c22aefafb918" datatype="html">\n        <source>Destroy</source>\n        <target>破棄</target>\n      </trans-unit>\n      <trans-unit id="b4e94d529ff10db4d86f3f48900fa67ede3411fd" datatype="html">\n        <source>Evict</source>\n        <target>Evict</target>\n      </trans-unit>\n      <trans-unit id="3747fff7faf52b436ecff5fb8555091736d92c70" datatype="html">\n        <source>Flatten</source>\n        <target>フラット化</target>\n      </trans-unit>\n      <trans-unit id="66fdbf32e5449cc54a3d1e19c7b8f4ea238facfb" datatype="html">\n        <source>Mark Down</source>\n        <target>ダウンとしてマーク</target>\n      </trans-unit>\n      <trans-unit id="0cda3e824fb2f9c731e5a60b859dedc1fe03127e" datatype="html">\n        <source>Mark In</source>\n        <target>インとしてマーク</target>\n      </trans-unit>\n      <trans-unit id="f833354f43cb38c5716faa8759a9bbdd1ab8f199" datatype="html">\n        <source>Mark Lost</source>\n        <target>喪失としてマーク</target>\n      </trans-unit>\n      <trans-unit id="75fb9f970ba365398c45e57bbb1019c009f6b832" datatype="html">\n        <source>Mark Out</source>\n        <target>アウトとしてマーク</target>\n      </trans-unit>\n      <trans-unit id="45480c03b0a3a37ff8f6a5600a6a034b40fbaea4" datatype="html">\n        <source>Protect</source>\n        <target>保護</target>\n      </trans-unit>\n      <trans-unit id="e26f9cf3666aace4e524b1505c9795d76d87738d" datatype="html">\n        <source>Rename</source>\n        <target>名前の変更</target>\n      </trans-unit>\n      <trans-unit id="d5cec7468241d72cafd86ad1af6d55b09a6e3ae5" datatype="html">\n        <source>Restore</source>\n        <target>復元</target>\n      </trans-unit>\n      <trans-unit id="ba073985cfd2528c77a746ed596b2f2052b973c5" datatype="html">\n        <source>Move to Trash</source>\n        <target>ごみ箱に移動する</target>\n      </trans-unit>\n      <trans-unit id="3ea9b96a21a499d296a7f25407da0f3df6c2d5ed" datatype="html">\n        <source>Unprotect</source>\n        <target>保護解除</target>\n      </trans-unit>\n      <trans-unit id="024cdb2814b0cb3f4ced148f1a0b9854447cb214" datatype="html">\n        <source>Change</source>\n        <target>Change</target>\n      </trans-unit>\n      <trans-unit id="011f3e2bfc1fd8407eb5f599352665bfeb145664" datatype="html">\n        <source>Recreate</source>\n        <target>Recreate</target>\n      </trans-unit>\n      <trans-unit id="6df2dfa48bef5510c82fb43f4e71a7f9557f3d71" datatype="html">\n        <source>Expire</source>\n        <target>Expire</target>\n      </trans-unit>\n      <trans-unit id="28df1b02fd88d2deb0212bc5d7ff34cf9492fa54" datatype="html">\n        <source>Deleted</source>\n        <target>削除済み</target>\n      </trans-unit>\n      <trans-unit id="80e3b490720757978c99a7b5af3885faf202b955" datatype="html">\n        <source>Added</source>\n        <target>Added</target>\n      </trans-unit>\n      <trans-unit id="1aa4883bc4f1352f7a0bdd94810a9bf6dc22bd02" datatype="html">\n        <source>Removed</source>\n        <target>Removed</target>\n      </trans-unit>\n      <trans-unit id="402f3ee47f98fbbc68530239b1ddcbb9e96a460c" datatype="html">\n        <source>Edited</source>\n        <target>Edited</target>\n      </trans-unit>\n      <trans-unit id="96d56ec71c6e78cb4d6204c4a9359a3d38fcdb59" datatype="html">\n        <source>Canceled</source>\n        <target>Canceled</target>\n      </trans-unit>\n      <trans-unit id="a3318a2ee2bd0064b6b9ff72a4018b679ec63125" datatype="html">\n        <source>Cloned</source>\n        <target>複製済み</target>\n      </trans-unit>\n      <trans-unit id="ef90545bc832876c0d7f9a10363c75137472bbb5" datatype="html">\n        <source>Copied</source>\n        <target>コピー済み</target>\n      </trans-unit>\n      <trans-unit id="5a13d3834133e09544ec93885662f181372dcf46" datatype="html">\n        <source>Deep Scrubbed</source>\n        <target>Deep Scrubbed</target>\n      </trans-unit>\n      <trans-unit id="7c9efb91434a5c15e9579c0b31c8e184b8c8240d" datatype="html">\n        <source>Destroyed</source>\n        <target>Destroyed</target>\n      </trans-unit>\n      <trans-unit id="647059bf3ea098fffedf92ddfad792bb3daa3c95" datatype="html">\n        <source>Flattened</source>\n        <target>フラット化済み</target>\n      </trans-unit>\n      <trans-unit id="8df71e952319eafa71c8e6ef6144b780af8813ff" datatype="html">\n        <source>Marked Down</source>\n        <target>Marked Down</target>\n      </trans-unit>\n      <trans-unit id="25658f5a080a1cab3b91e17b756b1d1dc46bb9b3" datatype="html">\n        <source>Marked In</source>\n        <target>Marked In</target>\n      </trans-unit>\n      <trans-unit id="ebcf306036a6c5579df9448f77eca98d491db245" datatype="html">\n        <source>Marked Lost</source>\n        <target>Marked Lost</target>\n      </trans-unit>\n      <trans-unit id="3a8803369ac18be3ad762384b9fda095fe2a6dcc" datatype="html">\n        <source>Marked Out</source>\n        <target>Marked Out</target>\n      </trans-unit>\n      <trans-unit id="0fe2a62ea7c609fa8326ee6d38060bc5ba8bf34f" datatype="html">\n        <source>Protected</source>\n        <target>Protected</target>\n      </trans-unit>\n      <trans-unit id="69b0446c6c2411c4fe01e411b8ceec72d4044fb4" datatype="html">\n        <source>Purged</source>\n        <target>消去済み</target>\n      </trans-unit>\n      <trans-unit id="d53de1a61bd51c815dc374c7f97e4ee69230e412" datatype="html">\n        <source>Renamed</source>\n        <target>Renamed</target>\n      </trans-unit>\n      <trans-unit id="86fc6cae82c095f14105eb8a61d7b3fa948304b7" datatype="html">\n        <source>Restored</source>\n        <target>復元済み</target>\n      </trans-unit>\n      <trans-unit id="e87dd0fd35460cb743046db918dfce2137b5977a" datatype="html">\n        <source>Reweighted</source>\n        <target>Reweighted</target>\n      </trans-unit>\n      <trans-unit id="dc21fd6547f2325c67f6deff925f29eb07a2db3e" datatype="html">\n        <source>Rolled back</source>\n        <target>ロールバック済み</target>\n      </trans-unit>\n      <trans-unit id="15dec4c2d73a516c10aef90aeeea3364fa794615" datatype="html">\n        <source>Scrubbed</source>\n        <target>Scrubbed</target>\n      </trans-unit>\n      <trans-unit id="8dc560ded67482f109a98e0638851ad1d37188b3" datatype="html">\n        <source>Showed</source>\n        <target>Showed</target>\n      </trans-unit>\n      <trans-unit id="197259b7ea76f15c6d0a64b075a673fd4112ada7" datatype="html">\n        <source>Moved to Trash</source>\n        <target>Moved to Trash</target>\n      </trans-unit>\n      <trans-unit id="8fb15cb102cd75b562680290b7e04c44d80018f2" datatype="html">\n        <source>Unprotected</source>\n        <target>Unprotected</target>\n      </trans-unit>\n      <trans-unit id="8588eafa498262a1cbb5043ad68cf0ff669c4f10" datatype="html">\n        <source>Recreated</source>\n        <target>Recreated</target>\n      </trans-unit>\n      <trans-unit id="ffde7468d7b5cad6990095ed68ddee3d67cd02f8" datatype="html">\n        <source>Expired</source>\n        <target>Expired</target>\n      </trans-unit>\n      <trans-unit id="4f20f2d5a6882190892e58b85f6ccbedfa737952" datatype="html">\n        <source>Yes</source>\n        <target>はい</target>\n      </trans-unit>\n      <trans-unit id="3d3ae7deebc5949b0c1c78b9847886a94321d9fd" datatype="html">\n        <source>No</source>\n        <target>いいえ</target>\n      </trans-unit>\n      <trans-unit id="99fa0b67376d40142bd4d3ace3344abf4f98b6a5" datatype="html">\n        <source>Your matcher seems to match no currently defined rule or active alert.</source>\n        <target>Your matcher seems to match no currently defined rule or active alert.</target>\n      </trans-unit>\n      <trans-unit id="7e284852732c303eb1f47de9aca2569e41aeffed" datatype="html">\n        <source>no active alerts</source>\n        <target>no active alerts</target>\n      </trans-unit>\n      <trans-unit id="b8042829e4fbe7b09fd9bac9fa0ecf5cc1802fee" datatype="html">\n        <source>1 active alert</source>\n        <target>1 active alert</target>\n      </trans-unit>\n      <trans-unit id="e24adce97669cb0fc74cc13fdc14179b6f78ea5e" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{n}}"/> active alerts\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{n}}"/> active alerts\n        </target>\n      </trans-unit>\n      <trans-unit id="d8fb058ff5883731d38a132da4ca45cfe8d719a3" datatype="html">\n        <source>Matches 1 rule</source>\n        <target>Matches 1 rule</target>\n      </trans-unit>\n      <trans-unit id="90aaef24d192e67c3fbc2ec6f8bfaff211cea128" datatype="html">\n        <source>Matches \n          <x id="INTERPOLATION" equiv-text="{{n}}"/> rules\n        </source>\n        <target>Matches \n          <x id="INTERPOLATION" equiv-text="{{n}}"/> rules\n        </target>\n      </trans-unit>\n      <trans-unit id="f4685dc581e18244cd410f1057a8c56a9dbfe8df" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rules}}"/> with \n          <x id="INTERPOLATION_1" equiv-text="{{alerts}}"/>.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rules}}"/> with \n          <x id="INTERPOLATION_1" equiv-text="{{alerts}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8fd98fb2a0f24ba72cde0787dd3f02cfc17de469" datatype="html">\n        <source>Quality of Service</source>\n        <target>サービス品質</target>\n      </trans-unit>\n      <trans-unit id="2c53f3ce2c6fff9025a7b41cc334521725da6e7b" datatype="html">\n        <source>BPS Limit</source>\n        <target>BPS制限</target>\n      </trans-unit>\n      <trans-unit id="e897624a392419386b035bcd8529337e262fc41d" datatype="html">\n        <source>The desired limit of IO bytes per second.</source>\n        <target>希望する秒あたり入出力バイト数の上限。</target>\n      </trans-unit>\n      <trans-unit id="dc56f77e4507da7e86a3accd0a2a7099a838d539" datatype="html">\n        <source>IOPS Limit</source>\n        <target>IOPS制限</target>\n      </trans-unit>\n      <trans-unit id="141c3f6eadbb35b0e17b2f847e4cac23240a6ea9" datatype="html">\n        <source>The desired limit of IO operations per second.</source>\n        <target>希望する秒あたり入出力操作数の上限。</target>\n      </trans-unit>\n      <trans-unit id="3b3b101f16c38806e984b157e0cf22cd21451122" datatype="html">\n        <source>Read BPS Limit</source>\n        <target>読み取りBPS制限</target>\n      </trans-unit>\n      <trans-unit id="87835fabb6a645873f3829a450ca1d58f97754f2" datatype="html">\n        <source>The desired limit of read bytes per second.</source>\n        <target>希望する秒あたり読み取りバイト数の上限。</target>\n      </trans-unit>\n      <trans-unit id="28b485e700df46d70b96666099f714e3ae9e5c2e" datatype="html">\n        <source>Read IOPS Limit</source>\n        <target>読み取りIOPS制限</target>\n      </trans-unit>\n      <trans-unit id="5907bd1a5cf3e20e740bca676cb1538372e1f9ff" datatype="html">\n        <source>The desired limit of read operations per second.</source>\n        <target>希望する秒あたり読み取り操作数の上限。</target>\n      </trans-unit>\n      <trans-unit id="07317121f0b194987d4dee8b322f521ac17bf124" datatype="html">\n        <source>Write BPS Limit</source>\n        <target>書き込みBPS制限</target>\n      </trans-unit>\n      <trans-unit id="4022c78bd9132ca2ec67927f8484c437d1d9b6fd" datatype="html">\n        <source>The desired limit of write bytes per second.</source>\n        <target>希望する秒あたり書き込みバイト数の上限。</target>\n      </trans-unit>\n      <trans-unit id="52c22c19f98ff3a09bd811292954a889b93d28b7" datatype="html">\n        <source>Write IOPS Limit</source>\n        <target>書き込みIOPS制限</target>\n      </trans-unit>\n      <trans-unit id="0ed62e3fd8654b3191fc7fa959ad3f10f1ea773a" datatype="html">\n        <source>The desired limit of write operations per second.</source>\n        <target>希望する秒あたり書き込み操作数の上限。</target>\n      </trans-unit>\n      <trans-unit id="d90c99d77864f21f932ee1369019f400c4ad0e2d" datatype="html">\n        <source>BPS Burst</source>\n        <target>BPSバースト</target>\n      </trans-unit>\n      <trans-unit id="29c32192f4d185139aaaf6d3a766a3411dfeabbe" datatype="html">\n        <source>The desired burst limit of IO bytes.</source>\n        <target>希望する入出力バイト数のバースト上限。</target>\n      </trans-unit>\n      <trans-unit id="b988b90489e899941e196c3dd0ecc22e37540224" datatype="html">\n        <source>IOPS Burst</source>\n        <target>IOPSバースト</target>\n      </trans-unit>\n      <trans-unit id="02c5de8ff11870f1b3896f2b45637ce0dba1ed4b" datatype="html">\n        <source>The desired burst limit of IO operations.</source>\n        <target>希望する入出力操作数のバースト上限。</target>\n      </trans-unit>\n      <trans-unit id="7a160538129b37cf595f1651f28b5fac62fbc0f8" datatype="html">\n        <source>Read BPS Burst</source>\n        <target>読み取りBPSバースト</target>\n      </trans-unit>\n      <trans-unit id="b573a5df16a53b9947288461bc24e6a0eb4341d6" datatype="html">\n        <source>The desired burst limit of read bytes.</source>\n        <target>希望する読み取りバイト数のバースト上限。</target>\n      </trans-unit>\n      <trans-unit id="1d5b8c2a0c653651cc4ca4b8fed9456f449220d1" datatype="html">\n        <source>Read IOPS Burst</source>\n        <target>読み取りIOPSバースト</target>\n      </trans-unit>\n      <trans-unit id="20b199f9d4a8d08ffefec66040e27639ec221512" datatype="html">\n        <source>The desired burst limit of read operations.</source>\n        <target>希望する読み取り操作数のバースト上限。</target>\n      </trans-unit>\n      <trans-unit id="824525ae57992aee629ddffcd500a8b77087ddec" datatype="html">\n        <source>Write BPS Burst</source>\n        <target>書き込みBPSバースト</target>\n      </trans-unit>\n      <trans-unit id="a90aac4050a5d79765da5e1186909f6d4d7f981d" datatype="html">\n        <source>The desired burst limit of write bytes.</source>\n        <target>希望する書き込みバイト数のバースト上限。</target>\n      </trans-unit>\n      <trans-unit id="35a8c6e6c249c7d16e26aa7c4ef97c06db405070" datatype="html">\n        <source>Write IOPS Burst</source>\n        <target>書き込みIOPSバースト</target>\n      </trans-unit>\n      <trans-unit id="b356abd41d7e9eea4d20c03d2e6892b6d435ecbd" datatype="html">\n        <source>The desired burst limit of write operations.</source>\n        <target>希望する書き込み操作数のバースト上限。</target>\n      </trans-unit>\n      <trans-unit id="24c4d50fe8567de381a20a1745f1b6d37eacaa90" datatype="html">\n        <source>Failed to \n          <x id="INTERPOLATION" equiv-text="{{failure}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{metadata}}"/>\n        </source>\n        <target>Failed to \n          <x id="INTERPOLATION" equiv-text="{{failure}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{metadata}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="f54b6f09b390d5ade0e354f6c7d4743c10a315cc" datatype="html">\n        <source>Executing</source>\n        <target>実行中</target>\n      </trans-unit>\n      <trans-unit id="5cdfe3e3330ea42bfd29c540dbd268bee97d364d" datatype="html">\n        <source>execute</source>\n        <target>実行</target>\n      </trans-unit>\n      <trans-unit id="6e98e243518daa88be30330fcdbd2d10f8eae4d7" datatype="html">\n        <source>Executed</source>\n        <target>実行済み</target>\n      </trans-unit>\n      <trans-unit id="24b09aa5bd909273a023d2d788a2673325c77e31" datatype="html">\n        <source>unknown task</source>\n        <target>不明なタスク</target>\n      </trans-unit>\n      <trans-unit id="114b5f92b9192b229ffc9a450319a97ccca2aa5c" datatype="html">\n        <source>Creating</source>\n        <target>作成中</target>\n      </trans-unit>\n      <trans-unit id="56695b69d27437ada580a187958407e7c856d46e" datatype="html">\n        <source>create</source>\n        <target>作成</target>\n      </trans-unit>\n      <trans-unit id="9db60170ef3b3b41a863e7d5ee7cec10919b9141" datatype="html">\n        <source>Updating</source>\n        <target>更新中</target>\n      </trans-unit>\n      <trans-unit id="64412640835b7d25247cb254d4f911366c0e6862" datatype="html">\n        <source>update</source>\n        <target>更新</target>\n      </trans-unit>\n      <trans-unit id="416193bb373d59477458b00e5922d755e2e2cacd" datatype="html">\n        <source>Deleting</source>\n        <target>削除中</target>\n      </trans-unit>\n      <trans-unit id="70ef158c584bafe788e319a0bffa11b02ee9abf1" datatype="html">\n        <source>delete</source>\n        <target>削除</target>\n      </trans-unit>\n      <trans-unit id="d07a282afc7fbdb39cea6e1c9b544882a7260a86" datatype="html">\n        <source>Adding</source>\n        <target>Adding</target>\n      </trans-unit>\n      <trans-unit id="a11ec4e640f241329943237d2a3cceaa4823658e" datatype="html">\n        <source>add</source>\n        <target>add</target>\n      </trans-unit>\n      <trans-unit id="ea1c70b874904216cc5af24bd7cb3dab2d074d42" datatype="html">\n        <source>Removing</source>\n        <target>Removing</target>\n      </trans-unit>\n      <trans-unit id="4da487aec5a29ce4372e7b512227cd665b01fe6f" datatype="html">\n        <source>remove</source>\n        <target>remove</target>\n      </trans-unit>\n      <trans-unit id="3f757cfc3749ebb5d4462017cb60138ca082f15f" datatype="html">\n        <source>RBD \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>RBD \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="a6c681e6130fe440ae40de99a405fcf5c7eefee1" datatype="html">\n        <source>RBD snapshot \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>RBD snapshot \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="4fb54a0291f49583c317d4a3690239141b5a8f68" datatype="html">\n        <source>mirror mode for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>mirror mode for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="6621ab6e122a149326a1e48e9051a41e7f203cf6" datatype="html">\n        <source>mirror peer for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>mirror peer for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="db15adc778317d551232fe712eb03a2c1eac4a43" datatype="html">\n        <source>all dashboards</source>\n        <target>all dashboards</target>\n      </trans-unit>\n      <trans-unit id="1b559dbd9cc9664fd788c2da9a10d3abafe066cb" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8fc28e1103d9f2ef47b9fff9a4f74e8365c7cf19" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="1cdc7ea44fcb85d0cfcf6e7379d625d8674a8fbe" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="1ff7676ad1e991102224540a32dd44ad1ab88aa8" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.\n        </target>\n      </trans-unit>\n      <trans-unit id="c3a1dcca2b2ba20fbe39e2441e7bb1cf9c20cdf3" datatype="html">\n        <source>Cloning</source>\n        <target>複製中</target>\n      </trans-unit>\n      <trans-unit id="b5fa4e0a3a279dee5b6bf7b823e54387f7c79994" datatype="html">\n        <source>clone</source>\n        <target>複製</target>\n      </trans-unit>\n      <trans-unit id="29b7452e8367af9aa8fa828f16ff94c3530e7a1a" datatype="html">\n        <source>Snapshot of \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> must be protected.\n        </source>\n        <target>Snapshot of \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> must be protected.\n        </target>\n      </trans-unit>\n      <trans-unit id="369f93b9a07a9465f7a261e9f0021b6cfa7180c5" datatype="html">\n        <source>Copying</source>\n        <target>コピー中</target>\n      </trans-unit>\n      <trans-unit id="37584f889855d153a106f5dffe23d21f9453c8ff" datatype="html">\n        <source>copy</source>\n        <target>コピー</target>\n      </trans-unit>\n      <trans-unit id="6ea9e313a04ef59222feaadfe84e97b4c69d7e9e" datatype="html">\n        <source>Flattening</source>\n        <target>フラット化中</target>\n      </trans-unit>\n      <trans-unit id="1f57593581b64d2d4c70eab1736bd9bccc66a7dc" datatype="html">\n        <source>flatten</source>\n        <target>フラット化</target>\n      </trans-unit>\n      <trans-unit id="d990ef9680cd23bbe652c37eb46bf038cfee80ad" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="a101745d080ef65c09bd5fafc796f94ddb9f9d60" datatype="html">\n        <source>Cannot unprotect \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it contains child images.\n        </source>\n        <target>Cannot unprotect \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it contains child images.\n        </target>\n      </trans-unit>\n      <trans-unit id="647968f4cde7786cd53ec8e6aa9802ac6824a262" datatype="html">\n        <source>Cannot delete \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it\'s protected.\n        </source>\n        <target>Cannot delete \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it\'s protected.\n        </target>\n      </trans-unit>\n      <trans-unit id="57ddd3e15cf0ce974356b757451f50116a27272b" datatype="html">\n        <source>Rolling back</source>\n        <target>ロールバック中</target>\n      </trans-unit>\n      <trans-unit id="a8913a3a5ee61f2598b5f0432cb9b20cdd60548e" datatype="html">\n        <source>rollback</source>\n        <target>ロールバック</target>\n      </trans-unit>\n      <trans-unit id="de8676f0017c9db6c49388cd7d63cd0a83a0c1dc" datatype="html">\n        <source>Moving</source>\n        <target>移動中</target>\n      </trans-unit>\n      <trans-unit id="2d810712308ae63cb795d809687a3254ef7a2f05" datatype="html">\n        <source>move</source>\n        <target>移動</target>\n      </trans-unit>\n      <trans-unit id="f3ba995236e5c1cc77686108980c099a90aec754" datatype="html">\n        <source>Moved</source>\n        <target>移動済み</target>\n      </trans-unit>\n      <trans-unit id="d0422169252d132624a20f267b5c29f28cb53ebe" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' to trash\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' to trash\n        </target>\n      </trans-unit>\n      <trans-unit id="b603e2dfed9808222fbcb5a7c5f4da2cc6ae2aae" datatype="html">\n        <source>Could not find image.</source>\n        <target>イメージが見つかりませんでした。</target>\n      </trans-unit>\n      <trans-unit id="398debe73006b1fe5177ed81d2e7b0cc852f61ec" datatype="html">\n        <source>Restoring</source>\n        <target>復元中</target>\n      </trans-unit>\n      <trans-unit id="c252806fb400e79bac194696632c9362742b1538" datatype="html">\n        <source>restore</source>\n        <target>復元</target>\n      </trans-unit>\n      <trans-unit id="30b8bcf69b3f1754b7abba173fd806cfcea4cb04" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' into \'\n          <x id="INTERPOLATION_1" equiv-text="{{new_id}}"/>\'\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' into \'\n          <x id="INTERPOLATION_1" equiv-text="{{new_id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="13b7b241cef989fe0932ddd180e757658e1817e7" datatype="html">\n        <source>Image name \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' is already in use.\n        </source>\n        <target>Image name \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' is already in use.\n        </target>\n      </trans-unit>\n      <trans-unit id="cc1cee12c833e8fbbef28a2a7c449dc530da912d" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="38e5f47f8bef505652f3e87f46efb00ead1350a3" datatype="html">\n        <source>Purging</source>\n        <target>消去中</target>\n      </trans-unit>\n      <trans-unit id="e4e57747f123f0fe6fe3a0ecf608f8bc287dec0c" datatype="html">\n        <source>purge</source>\n        <target>消去</target>\n      </trans-unit>\n      <trans-unit id="1560d58fdf39663929653250d45f5b1dfe078fea" datatype="html">\n        <source>all pools</source>\n        <target>すべてのプール</target>\n      </trans-unit>\n      <trans-unit id="1ac3dc50c2c3d86e98bc0967ee1e696810a2d3aa" datatype="html">\n        <source>images from \n          <x id="INTERPOLATION" equiv-text="{{message}}"/>\n        </source>\n        <target>images from \n          <x id="INTERPOLATION" equiv-text="{{message}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="02278abbb044ece04ab6bd80bd2060198d31d83b" datatype="html">\n        <source>Cannot disable mirroring because it contains a peer.</source>\n        <target>ピアを含んでいるためミラーリングを無効化できません。</target>\n      </trans-unit>\n      <trans-unit id="f123ae1fc3b000e5d08e766dd78bff162afe709d" datatype="html">\n        <source>host \'\n          <x id="INTERPOLATION" equiv-text="{{hostname}}"/>\'\n        </source>\n        <target>host \'\n          <x id="INTERPOLATION" equiv-text="{{hostname}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="dfe70001dc590a9e12512cbb206aa29fb36fd00b" datatype="html">\n        <source>pool \'\n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>\'\n        </source>\n        <target>pool \'\n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="59630daf2f4786690fae0cdad55da8887236eabe" datatype="html">\n        <source>erasure code profile \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </source>\n        <target>erasure code profile \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="369462e5e018360e0600bb570866201ad5c3c8a8" datatype="html">\n        <source>target \'\n          <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>\'\n        </source>\n        <target>target \'\n          <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="cf41310917cb19b335e5a950972bbff2346f7a47" datatype="html">\n        <source>NFS \n          <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>\n        </source>\n        <target>NFS \n          <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="54bf6542e39412f83ec883266f443e31b304c937" datatype="html">\n        <source>Required rules for password complexity:\n    - must contain at least 8 characters\n    - cannot contain username\n    - cannot contain any keyword used in Ceph\n    - cannot contain any repetitive characters e.g. "aaa"\n    - cannot contain any sequencial characters e.g. "abc"\n    - must consist of characters from the following groups:\n      * alphabetic a-z, A-Z\n      * numbers 0-9\n      * special chars: !"#$%&amp; \'()*+,-./:;&lt;=&gt;?@[\\]^_`\n          <x id="INTERPOLATION" equiv-text="{{|}}"/>~\n      * any other characters (signs)\n        </source>\n        <target>Required rules for password complexity:\n    - must contain at least 8 characters\n    - cannot contain username\n    - cannot contain any keyword used in Ceph\n    - cannot contain any repetitive characters e.g. "aaa"\n    - cannot contain any sequencial characters e.g. "abc"\n    - must consist of characters from the following groups:\n      * alphabetic a-z, A-Z\n      * numbers 0-9\n      * special chars: !"#$%&amp; \'()*+,-./:;&lt;=&gt;?@[\\]^_`\n          <x id="INTERPOLATION" equiv-text="{{|}}"/>~\n      * any other characters (signs)\n        </target>\n      </trans-unit>\n      <trans-unit id="ba575e9364b43dc870e332265c5182bb357b7a49" datatype="html">\n        <source>Weak</source>\n        <target>Weak</target>\n      </trans-unit>\n      <trans-unit id="7e6c975ebea8b5f8b120905ca7acf9f8edf59d8e" datatype="html">\n        <source>OK</source>\n        <target>OK</target>\n      </trans-unit>\n      <trans-unit id="3f7349017a01eed18c3daf2b7295ca96ef442eb6" datatype="html">\n        <source>Strong</source>\n        <target>Strong</target>\n      </trans-unit>\n      <trans-unit id="a1e3aecc2022cb0ebed8575a24d0e29d2de815c6" datatype="html">\n        <source>Very strong</source>\n        <target>Very strong</target>\n      </trans-unit>\n    </body>\n  </file>\n</xliff>'},bOMt:function(t,e,n){!function(t){"use strict";t.defineLocale("nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"sø._ma._ti._on._to._fr._lø.".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] HH:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[i går kl.] LT",lastWeek:"[forrige] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"noen sekunder",ss:"%d sekunder",m:"ett minutt",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dager",M:"en måned",MM:"%d måneder",y:"ett år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("wd/R"))},bOdf:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("5+tZ");function r(t,e){return Object(a.a)(t,e,1)}},bWFh:function(t,e,n){"use strict";var a=n("I+eb"),r=n("2oRo"),o=n("lMq5"),i=n("busE"),s=n("8YOa"),c=n("ImZN"),l=n("GarU"),d=n("hh1v"),u=n("0Dky"),g=n("HH4o"),f=n("1E5z"),p=n("cVYH");t.exports=function(t,e,n){var m=-1!==t.indexOf("Map"),h=-1!==t.indexOf("Weak"),b=m?"set":"add",_=r[t],y=_&&_.prototype,O=_,v={},C=function(t){var e=y[t];i(y,t,"add"==t?function(t){return e.call(this,0===t?0:t),this}:"delete"==t?function(t){return!(h&&!d(t))&&e.call(this,0===t?0:t)}:"get"==t?function(t){return h&&!d(t)?void 0:e.call(this,0===t?0:t)}:"has"==t?function(t){return!(h&&!d(t))&&e.call(this,0===t?0:t)}:function(t,n){return e.call(this,0===t?0:t,n),this})};if(o(t,"function"!=typeof _||!(h||y.forEach&&!u((function(){(new _).entries().next()})))))O=n.getConstructor(e,t,m,b),s.REQUIRED=!0;else if(o(t,!0)){var P=new O,M=P[b](h?{}:-0,1)!=P,x=u((function(){P.has(1)})),w=g((function(t){new _(t)})),T=!h&&u((function(){for(var t=new _,e=5;e--;)t[b](e,e);return!t.has(-0)}));w||((O=e((function(e,n){l(e,O,t);var a=p(new _,e,O);return null!=n&&c(n,a[b],a,m),a}))).prototype=y,y.constructor=O),(x||T)&&(C("delete"),C("has"),m&&C("get")),(T||M)&&C(b),h&&y.clear&&delete y.clear}return v[t]=O,a({global:!0,forced:O!=_},v),f(O,t),h||n.setStrong(O,t,m),O}},bXm7:function(t,e,n){!function(t){"use strict";var e={0:"-ші",1:"-ші",2:"-ші",3:"-ші",4:"-ші",5:"-ші",6:"-шы",7:"-ші",8:"-ші",9:"-шы",10:"-шы",20:"-шы",30:"-шы",40:"-шы",50:"-ші",60:"-шы",70:"-ші",80:"-ші",90:"-шы",100:"-ші"};t.defineLocale("kk",{months:"қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан".split("_"),monthsShort:"қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел".split("_"),weekdays:"жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі".split("_"),weekdaysShort:"жек_дүй_сей_сәр_бей_жұм_сен".split("_"),weekdaysMin:"жк_дй_сй_ср_бй_жм_сн".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Бүгін сағат] LT",nextDay:"[Ертең сағат] LT",nextWeek:"dddd [сағат] LT",lastDay:"[Кеше сағат] LT",lastWeek:"[Өткен аптаның] dddd [сағат] LT",sameElse:"L"},relativeTime:{future:"%s ішінде",past:"%s бұрын",s:"бірнеше секунд",ss:"%d секунд",m:"бір минут",mm:"%d минут",h:"бір сағат",hh:"%d сағат",d:"бір күн",dd:"%d күн",M:"бір ай",MM:"%d ай",y:"бір жыл",yy:"%d жыл"},dayOfMonthOrdinalParse:/\d{1,2}-(ші|шы)/,ordinal:function(t){return t+(e[t]||e[t%10]||e[t>=100?100:null])},week:{dow:1,doy:7}})}(n("wd/R"))},bYM6:function(t,e,n){!function(t){"use strict";t.defineLocale("ar-tn",{months:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:1,doy:4}})}(n("wd/R"))},bpWZ:function(t,e,n){"use strict";function a(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),a(n("FO+L")),a(n("nhM1")),a(n("BARL"))},bpih:function(t,e,n){!function(t){"use strict";t.defineLocale("it",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(t){return(/^[0-9].+$/.test(t)?"tra":"in")+" "+t},past:"%s fa",s:"alcuni secondi",ss:"%d secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n("wd/R"))},busE:function(t,e,n){var a=n("2oRo"),r=n("kRJp"),o=n("UTVS"),i=n("zk60"),s=n("iSVu"),c=n("afO8"),l=c.get,d=c.enforce,u=String(String).split("String");(t.exports=function(t,e,n,s){var c=!!s&&!!s.unsafe,l=!!s&&!!s.enumerable,g=!!s&&!!s.noTargetGet;"function"==typeof n&&("string"!=typeof e||o(n,"name")||r(n,"name",e),d(n).source=u.join("string"==typeof e?e:"")),t!==a?(c?!g&&t[e]&&(l=!0):delete t[e],l?t[e]=n:r(t,e,n)):l?t[e]=n:i(e,n)})(Function.prototype,"toString",(function(){return"function"==typeof this&&l(this).source||s(this)}))},bxKX:function(t,e,n){!function(t){"use strict";t.defineLocale("it-ch",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(t){return(/^[0-9].+$/.test(t)?"tra":"in")+" "+t},past:"%s fa",s:"alcuni secondi",ss:"%d secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n("wd/R"))},bxSN:function(t,e,n){var a=n("mrSG").__decorate;Object.defineProperty(e,"__esModule",{value:!0});var r=n("8Y7J"),o=n("moLw");e.ClickOutsideModule=function(){return a([r.NgModule({declarations:[o.ClickOutsideDirective],exports:[o.ClickOutsideDirective]})],(function(){}))}()},c2HN:function(t,e,n){"use strict";function a(t){return!!t&&"function"!=typeof t.subscribe&&"function"==typeof t.then}n.d(e,"a",(function(){return a}))},c6wG:function(t,e,n){var a=n("dD9F"),r=n("sEf8"),o=n("mdPL"),i=o&&o.isTypedArray,s=i?r(i):a;t.exports=s},cRix:function(t,e,n){!function(t){"use strict";var e="jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.".split("_"),n="jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_");t.defineLocale("fy",{months:"jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber".split("_"),monthsShort:function(t,a){return t?/-MMM-/.test(a)?n[t.month()]:e[t.month()]:e},monthsParseExact:!0,weekdays:"snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon".split("_"),weekdaysShort:"si._mo._ti._wo._to._fr._so.".split("_"),weekdaysMin:"Si_Mo_Ti_Wo_To_Fr_So".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[hjoed om] LT",nextDay:"[moarn om] LT",nextWeek:"dddd [om] LT",lastDay:"[juster om] LT",lastWeek:"[ôfrûne] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oer %s",past:"%s lyn",s:"in pear sekonden",ss:"%d sekonden",m:"ien minút",mm:"%d minuten",h:"ien oere",hh:"%d oeren",d:"ien dei",dd:"%d dagen",M:"ien moanne",MM:"%d moannen",y:"ien jier",yy:"%d jierren"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(t){return t+(1===t||8===t||t>=20?"ste":"de")},week:{dow:1,doy:4}})}(n("wd/R"))},cUpR:function(t,e,n){"use strict";n.d(e,"p",(function(){return v})),n.d(e,"a",(function(){return dt})),n.d(e,"h",(function(){return lt})),n.d(e,"c",(function(){return C})),n.d(e,"d",(function(){return P})),n.d(e,"e",(function(){return W})),n.d(e,"f",(function(){return K})),n.d(e,"g",(function(){return $})),n.d(e,"b",(function(){return tt})),n.d(e,"q",(function(){return i})),n.d(e,"j",(function(){return N})),n.d(e,"i",(function(){return H})),n.d(e,"m",(function(){return Z})),n.d(e,"n",(function(){return Q})),n.d(e,"l",(function(){return w})),n.d(e,"o",(function(){return x})),n.d(e,"k",(function(){return et}));var a=n("SVse"),r=n("8Y7J");let o=null;function i(){return o}const s={class:"className",innerHtml:"innerHTML",readonly:"readOnly",tabindex:"tabIndex"},c={"\b":"Backspace","\t":"Tab","\7f":"Delete","\e":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},l={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\90":"NumLock"},d=(()=>{if(r["ɵglobal"].Node)return r["ɵglobal"].Node.prototype.contains||function(t){return!!(16&this.compareDocumentPosition(t))}})();class u extends class extends class{constructor(){this.resourceLoaderType=null}get attrToPropMap(){return this._attrToPropMap}set attrToPropMap(t){this._attrToPropMap=t}}{constructor(){super(),this._animationPrefix=null,this._transitionEnd=null;try{const t=this.createElement("div",document);if(null!=this.getStyle(t,"animationName"))this._animationPrefix="";else{const e=["Webkit","Moz","O","ms"];for(let n=0;n<e.length;n++)if(null!=this.getStyle(t,e[n]+"AnimationName")){this._animationPrefix="-"+e[n].toLowerCase()+"-";break}}const e={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};Object.keys(e).forEach(n=>{null!=this.getStyle(t,n)&&(this._transitionEnd=e[n])})}catch(t){this._animationPrefix=null,this._transitionEnd=null}}getDistributedNodes(t){return t.getDistributedNodes()}resolveAndSetHref(t,e,n){t.href=null==n?e:e+"/../"+n}supportsDOMEvents(){return!0}supportsNativeShadowDOM(){return"function"==typeof document.body.createShadowRoot}getAnimationPrefix(){return this._animationPrefix?this._animationPrefix:""}getTransitionEnd(){return this._transitionEnd?this._transitionEnd:""}supportsAnimation(){return null!=this._animationPrefix&&null!=this._transitionEnd}}{parse(t){throw new Error("parse not implemented")}static makeCurrent(){var t;t=new u,o||(o=t)}hasProperty(t,e){return e in t}setProperty(t,e,n){t[e]=n}getProperty(t,e){return t[e]}invoke(t,e,n){t[e](...n)}logError(t){window.console&&(console.error?console.error(t):console.log(t))}log(t){window.console&&window.console.log&&window.console.log(t)}logGroup(t){window.console&&window.console.group&&window.console.group(t)}logGroupEnd(){window.console&&window.console.groupEnd&&window.console.groupEnd()}get attrToPropMap(){return s}contains(t,e){return d.call(t,e)}querySelector(t,e){return t.querySelector(e)}querySelectorAll(t,e){return t.querySelectorAll(e)}on(t,e,n){t.addEventListener(e,n,!1)}onAndCancel(t,e,n){return t.addEventListener(e,n,!1),()=>{t.removeEventListener(e,n,!1)}}dispatchEvent(t,e){t.dispatchEvent(e)}createMouseEvent(t){const e=this.getDefaultDocument().createEvent("MouseEvent");return e.initEvent(t,!0,!0),e}createEvent(t){const e=this.getDefaultDocument().createEvent("Event");return e.initEvent(t,!0,!0),e}preventDefault(t){t.preventDefault(),t.returnValue=!1}isPrevented(t){return t.defaultPrevented||null!=t.returnValue&&!t.returnValue}getInnerHTML(t){return t.innerHTML}getTemplateContent(t){return"content"in t&&this.isTemplateElement(t)?t.content:null}getOuterHTML(t){return t.outerHTML}nodeName(t){return t.nodeName}nodeValue(t){return t.nodeValue}type(t){return t.type}content(t){return this.hasProperty(t,"content")?t.content:t}firstChild(t){return t.firstChild}nextSibling(t){return t.nextSibling}parentElement(t){return t.parentNode}childNodes(t){return t.childNodes}childNodesAsList(t){const e=t.childNodes,n=new Array(e.length);for(let a=0;a<e.length;a++)n[a]=e[a];return n}clearNodes(t){for(;t.firstChild;)t.removeChild(t.firstChild)}appendChild(t,e){t.appendChild(e)}removeChild(t,e){t.removeChild(e)}replaceChild(t,e,n){t.replaceChild(e,n)}remove(t){return t.parentNode&&t.parentNode.removeChild(t),t}insertBefore(t,e,n){t.insertBefore(n,e)}insertAllBefore(t,e,n){n.forEach(n=>t.insertBefore(n,e))}insertAfter(t,e,n){t.insertBefore(n,e.nextSibling)}setInnerHTML(t,e){t.innerHTML=e}getText(t){return t.textContent}setText(t,e){t.textContent=e}getValue(t){return t.value}setValue(t,e){t.value=e}getChecked(t){return t.checked}setChecked(t,e){t.checked=e}createComment(t){return this.getDefaultDocument().createComment(t)}createTemplate(t){const e=this.getDefaultDocument().createElement("template");return e.innerHTML=t,e}createElement(t,e){return(e=e||this.getDefaultDocument()).createElement(t)}createElementNS(t,e,n){return(n=n||this.getDefaultDocument()).createElementNS(t,e)}createTextNode(t,e){return(e=e||this.getDefaultDocument()).createTextNode(t)}createScriptTag(t,e,n){const a=(n=n||this.getDefaultDocument()).createElement("SCRIPT");return a.setAttribute(t,e),a}createStyleElement(t,e){const n=(e=e||this.getDefaultDocument()).createElement("style");return this.appendChild(n,this.createTextNode(t,e)),n}createShadowRoot(t){return t.createShadowRoot()}getShadowRoot(t){return t.shadowRoot}getHost(t){return t.host}clone(t){return t.cloneNode(!0)}getElementsByClassName(t,e){return t.getElementsByClassName(e)}getElementsByTagName(t,e){return t.getElementsByTagName(e)}classList(t){return Array.prototype.slice.call(t.classList,0)}addClass(t,e){t.classList.add(e)}removeClass(t,e){t.classList.remove(e)}hasClass(t,e){return t.classList.contains(e)}setStyle(t,e,n){t.style[e]=n}removeStyle(t,e){t.style[e]=""}getStyle(t,e){return t.style[e]}hasStyle(t,e,n){const a=this.getStyle(t,e)||"";return n?a==n:a.length>0}tagName(t){return t.tagName}attributeMap(t){const e=new Map,n=t.attributes;for(let a=0;a<n.length;a++){const t=n.item(a);e.set(t.name,t.value)}return e}hasAttribute(t,e){return t.hasAttribute(e)}hasAttributeNS(t,e,n){return t.hasAttributeNS(e,n)}getAttribute(t,e){return t.getAttribute(e)}getAttributeNS(t,e,n){return t.getAttributeNS(e,n)}setAttribute(t,e,n){t.setAttribute(e,n)}setAttributeNS(t,e,n,a){t.setAttributeNS(e,n,a)}removeAttribute(t,e){t.removeAttribute(e)}removeAttributeNS(t,e,n){t.removeAttributeNS(e,n)}templateAwareRoot(t){return this.isTemplateElement(t)?this.content(t):t}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}getBoundingClientRect(t){try{return t.getBoundingClientRect()}catch(e){return{top:0,bottom:0,left:0,right:0,width:0,height:0}}}getTitle(t){return t.title}setTitle(t,e){t.title=e||""}elementMatches(t,e){return!!this.isElementNode(t)&&(t.matches&&t.matches(e)||t.msMatchesSelector&&t.msMatchesSelector(e)||t.webkitMatchesSelector&&t.webkitMatchesSelector(e))}isTemplateElement(t){return this.isElementNode(t)&&"TEMPLATE"===t.nodeName}isTextNode(t){return t.nodeType===Node.TEXT_NODE}isCommentNode(t){return t.nodeType===Node.COMMENT_NODE}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}hasShadowRoot(t){return null!=t.shadowRoot&&t instanceof HTMLElement}isShadowRoot(t){return t instanceof DocumentFragment}importIntoDoc(t){return document.importNode(this.templateAwareRoot(t),!0)}adoptNode(t){return document.adoptNode(t)}getHref(t){return t.getAttribute("href")}getEventKey(t){let e=t.key;if(null==e){if(e=t.keyIdentifier,null==e)return"Unidentified";e.startsWith("U+")&&(e=String.fromCharCode(parseInt(e.substring(2),16)),3===t.location&&l.hasOwnProperty(e)&&(e=l[e]))}return c[e]||e}getGlobalEventTarget(t,e){return"window"===e?window:"document"===e?t:"body"===e?t.body:null}getHistory(){return window.history}getLocation(){return window.location}getBaseHref(t){const e=f||(f=document.querySelector("base"),f)?f.getAttribute("href"):null;return null==e?null:(n=e,g||(g=document.createElement("a")),g.setAttribute("href",n),"/"===g.pathname.charAt(0)?g.pathname:"/"+g.pathname);var n}resetBaseElement(){f=null}getUserAgent(){return window.navigator.userAgent}setData(t,e,n){this.setAttribute(t,"data-"+e,n)}getData(t,e){return this.getAttribute(t,"data-"+e)}getComputedStyle(t){return getComputedStyle(t)}supportsWebAnimation(){return"function"==typeof Element.prototype.animate}performanceNow(){return window.performance&&window.performance.now?window.performance.now():(new Date).getTime()}supportsCookies(){return!0}getCookie(t){return Object(a["ɵparseCookieValue"])(document.cookie,t)}setCookie(t,e){document.cookie=encodeURIComponent(t)+"="+encodeURIComponent(e)}}let g,f=null;function p(){return!!window.history.pushState}const m=new r.InjectionToken("TRANSITION_ID"),h=[{provide:r.APP_INITIALIZER,useFactory:function(t,e,n){return()=>{n.get(r.ApplicationInitStatus).donePromise.then(()=>{const n=i();Array.prototype.slice.apply(n.querySelectorAll(e,"style[ng-transition]")).filter(e=>n.getAttribute(e,"ng-transition")===t).forEach(t=>n.remove(t))})}},deps:[m,a.DOCUMENT,r.Injector],multi:!0}];class b{static init(){Object(r.setTestabilityGetter)(new b)}addToWindow(t){r["ɵglobal"].getAngularTestability=(e,n=!0)=>{const a=t.findTestabilityInTree(e,n);if(null==a)throw new Error("Could not find testability for element.");return a},r["ɵglobal"].getAllAngularTestabilities=()=>t.getAllTestabilities(),r["ɵglobal"].getAllAngularRootElements=()=>t.getAllRootElements(),r["ɵglobal"].frameworkStabilizers||(r["ɵglobal"].frameworkStabilizers=[]),r["ɵglobal"].frameworkStabilizers.push(t=>{const e=r["ɵglobal"].getAllAngularTestabilities();let n=e.length,a=!1;const o=function(e){a=a||e,n--,0==n&&t(a)};e.forEach((function(t){t.whenStable(o)}))})}findTestabilityInTree(t,e,n){if(null==e)return null;const a=t.getTestability(e);return null!=a?a:n?i().isShadowRoot(e)?this.findTestabilityInTree(t,i().getHost(e),!0):this.findTestabilityInTree(t,i().parentElement(e),!0):null}}function _(t,e){"undefined"!=typeof COMPILED&&COMPILED||((r["ɵglobal"].ng=r["ɵglobal"].ng||{})[t]=e)}const y=(()=>({ApplicationRef:r.ApplicationRef,NgZone:r.NgZone}))();function O(t){return Object(r.getDebugNode)(t)}function v(t){return _("probe",O),_("coreTokens",Object.assign({},y,(t||[]).reduce((t,e)=>(t[e.name]=e.token,t),{}))),()=>O}const C=new r.InjectionToken("EventManagerPlugins");class P{constructor(t,e){this._zone=e,this._eventNameToPlugin=new Map,t.forEach(t=>t.manager=this),this._plugins=t.slice().reverse()}addEventListener(t,e,n){return this._findPluginFor(e).addEventListener(t,e,n)}addGlobalEventListener(t,e,n){return this._findPluginFor(e).addGlobalEventListener(t,e,n)}getZone(){return this._zone}_findPluginFor(t){const e=this._eventNameToPlugin.get(t);if(e)return e;const n=this._plugins;for(let a=0;a<n.length;a++){const e=n[a];if(e.supports(t))return this._eventNameToPlugin.set(t,e),e}throw new Error(`No event manager plugin found for event ${t}`)}}class M{constructor(t){this._doc=t}addGlobalEventListener(t,e,n){const a=i().getGlobalEventTarget(this._doc,t);if(!a)throw new Error(`Unsupported event target ${a} for event ${e}`);return this.addEventListener(a,e,n)}}class x{constructor(){this._stylesSet=new Set}addStyles(t){const e=new Set;t.forEach(t=>{this._stylesSet.has(t)||(this._stylesSet.add(t),e.add(t))}),this.onStylesAdded(e)}onStylesAdded(t){}getAllStyles(){return Array.from(this._stylesSet)}}class w extends x{constructor(t){super(),this._doc=t,this._hostNodes=new Set,this._styleNodes=new Set,this._hostNodes.add(t.head)}_addStylesToHost(t,e){t.forEach(t=>{const n=this._doc.createElement("style");n.textContent=t,this._styleNodes.add(e.appendChild(n))})}addHost(t){this._addStylesToHost(this._stylesSet,t),this._hostNodes.add(t)}removeHost(t){this._hostNodes.delete(t)}onStylesAdded(t){this._hostNodes.forEach(e=>this._addStylesToHost(t,e))}ngOnDestroy(){this._styleNodes.forEach(t=>i().remove(t))}}const T={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},k=/%COMP%/g;function S(t,e,n){for(let a=0;a<e.length;a++){let r=e[a];Array.isArray(r)?S(t,r,n):(r=r.replace(k,t),n.push(r))}return n}function I(t){return e=>{!1===t(e)&&(e.preventDefault(),e.returnValue=!1)}}class N{constructor(t,e,n){this.eventManager=t,this.sharedStylesHost=e,this.appId=n,this.rendererByCompId=new Map,this.defaultRenderer=new R(t)}createRenderer(t,e){if(!t||!e)return this.defaultRenderer;switch(e.encapsulation){case r.ViewEncapsulation.Emulated:{let n=this.rendererByCompId.get(e.id);return n||(n=new D(this.eventManager,this.sharedStylesHost,e,this.appId),this.rendererByCompId.set(e.id,n)),n.applyToHost(t),n}case r.ViewEncapsulation.Native:case r.ViewEncapsulation.ShadowDom:return new L(this.eventManager,this.sharedStylesHost,t,e);default:if(!this.rendererByCompId.has(e.id)){const t=S(e.id,e.styles,[]);this.sharedStylesHost.addStyles(t),this.rendererByCompId.set(e.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}class R{constructor(t){this.eventManager=t,this.data=Object.create(null)}destroy(){}createElement(t,e){return e?document.createElementNS(T[e]||e,t):document.createElement(t)}createComment(t){return document.createComment(t)}createText(t){return document.createTextNode(t)}appendChild(t,e){t.appendChild(e)}insertBefore(t,e,n){t&&t.insertBefore(e,n)}removeChild(t,e){t&&t.removeChild(e)}selectRootElement(t,e){let n="string"==typeof t?document.querySelector(t):t;if(!n)throw new Error(`The selector "${t}" did not match any elements`);return e||(n.textContent=""),n}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,e,n,a){if(a){e=a+":"+e;const r=T[a];r?t.setAttributeNS(r,e,n):t.setAttribute(e,n)}else t.setAttribute(e,n)}removeAttribute(t,e,n){if(n){const a=T[n];a?t.removeAttributeNS(a,e):t.removeAttribute(`${n}:${e}`)}else t.removeAttribute(e)}addClass(t,e){t.classList.add(e)}removeClass(t,e){t.classList.remove(e)}setStyle(t,e,n,a){a&r.RendererStyleFlags2.DashCase?t.style.setProperty(e,n,a&r.RendererStyleFlags2.Important?"important":""):t.style[e]=n}removeStyle(t,e,n){n&r.RendererStyleFlags2.DashCase?t.style.removeProperty(e):t.style[e]=""}setProperty(t,e,n){E(e,"property"),t[e]=n}setValue(t,e){t.nodeValue=e}listen(t,e,n){return E(e,"listener"),"string"==typeof t?this.eventManager.addGlobalEventListener(t,e,I(n)):this.eventManager.addEventListener(t,e,I(n))}}const A=(()=>"@".charCodeAt(0))();function E(t,e){if(t.charCodeAt(0)===A)throw new Error(`Found the synthetic ${e} ${t}. Please include either "BrowserAnimationsModule" or "NoopAnimationsModule" in your application.`)}class D extends R{constructor(t,e,n,a){super(t),this.component=n;const r=S(a+"-"+n.id,n.styles,[]);e.addStyles(r),this.contentAttr="_ngcontent-%COMP%".replace(k,a+"-"+n.id),this.hostAttr=function(t){return"_nghost-%COMP%".replace(k,t)}(a+"-"+n.id)}applyToHost(t){super.setAttribute(t,this.hostAttr,"")}createElement(t,e){const n=super.createElement(t,e);return super.setAttribute(n,this.contentAttr,""),n}}class L extends R{constructor(t,e,n,a){super(t),this.sharedStylesHost=e,this.hostEl=n,this.component=a,this.shadowRoot=a.encapsulation===r.ViewEncapsulation.ShadowDom?n.attachShadow({mode:"open"}):n.createShadowRoot(),this.sharedStylesHost.addHost(this.shadowRoot);const o=S(a.id,a.styles,[]);for(let r=0;r<o.length;r++){const t=document.createElement("style");t.textContent=o[r],this.shadowRoot.appendChild(t)}}nodeOrShadowRoot(t){return t===this.hostEl?this.shadowRoot:t}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}appendChild(t,e){return super.appendChild(this.nodeOrShadowRoot(t),e)}insertBefore(t,e,n){return super.insertBefore(this.nodeOrShadowRoot(t),e,n)}removeChild(t,e){return super.removeChild(this.nodeOrShadowRoot(t),e)}parentNode(t){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(t)))}}const q=(()=>"undefined"!=typeof Zone&&Zone.__symbol__||function(t){return"__zone_symbol__"+t})(),j=q("addEventListener"),F=q("removeEventListener"),z={},V="__zone_symbol__propagationStopped",G=(()=>{const t="undefined"!=typeof Zone&&Zone[q("BLACK_LISTED_EVENTS")];if(t){const e={};return t.forEach(t=>{e[t]=t}),e}})(),Y=function(t){return!!G&&G.hasOwnProperty(t)},B=function(t){const e=z[t.type];if(!e)return;const n=this[e];if(!n)return;const a=[t];if(1===n.length){const t=n[0];return t.zone!==Zone.current?t.zone.run(t.handler,this,a):t.handler.apply(this,a)}{const e=n.slice();for(let n=0;n<e.length&&!0!==t[V];n++){const t=e[n];t.zone!==Zone.current?t.zone.run(t.handler,this,a):t.handler.apply(this,a)}}};class H extends M{constructor(t,e,n){super(t),this.ngZone=e,n&&Object(a.isPlatformServer)(n)||this.patchEvent()}patchEvent(){if("undefined"==typeof Event||!Event||!Event.prototype)return;if(Event.prototype.__zone_symbol__stopImmediatePropagation)return;const t=Event.prototype.__zone_symbol__stopImmediatePropagation=Event.prototype.stopImmediatePropagation;Event.prototype.stopImmediatePropagation=function(){this&&(this[V]=!0),t&&t.apply(this,arguments)}}supports(t){return!0}addEventListener(t,e,n){let a=n;if(!t[j]||r.NgZone.isInAngularZone()&&!Y(e))t.addEventListener(e,a,!1);else{let n=z[e];n||(n=z[e]=q("ANGULAR"+e+"FALSE"));let r=t[n];const o=r&&r.length>0;r||(r=t[n]=[]);const i=Y(e)?Zone.root:Zone.current;if(0===r.length)r.push({zone:i,handler:a});else{let t=!1;for(let e=0;e<r.length;e++)if(r[e].handler===a){t=!0;break}t||r.push({zone:i,handler:a})}o||t[j](e,B,!1)}return()=>this.removeEventListener(t,e,a)}removeEventListener(t,e,n){let a=t[F];if(!a)return t.removeEventListener.apply(t,[e,n,!1]);let r=z[e],o=r&&t[r];if(!o)return t.removeEventListener.apply(t,[e,n,!1]);let i=!1;for(let s=0;s<o.length;s++)if(o[s].handler===n){i=!0,o.splice(s,1);break}i?0===o.length&&a.apply(t,[e,B,!1]):t.removeEventListener.apply(t,[e,n,!1])}}const U={pan:!0,panstart:!0,panmove:!0,panend:!0,pancancel:!0,panleft:!0,panright:!0,panup:!0,pandown:!0,pinch:!0,pinchstart:!0,pinchmove:!0,pinchend:!0,pinchcancel:!0,pinchin:!0,pinchout:!0,press:!0,pressup:!0,rotate:!0,rotatestart:!0,rotatemove:!0,rotateend:!0,rotatecancel:!0,swipe:!0,swipeleft:!0,swiperight:!0,swipeup:!0,swipedown:!0,tap:!0},W=new r.InjectionToken("HammerGestureConfig"),K=new r.InjectionToken("HammerLoader");class ${constructor(){this.events=[],this.overrides={}}buildHammer(t){const e=new Hammer(t,this.options);e.get("pinch").set({enable:!0}),e.get("rotate").set({enable:!0});for(const n in this.overrides)e.get(n).set(this.overrides[n]);return e}}class Z extends M{constructor(t,e,n,a){super(t),this._config=e,this.console=n,this.loader=a}supports(t){return!(!U.hasOwnProperty(t.toLowerCase())&&!this.isCustomEvent(t)||!window.Hammer&&!this.loader&&(this.console.warn(`The "${t}" event cannot be bound because Hammer.JS is not `+"loaded and no custom loader has been specified."),1))}addEventListener(t,e,n){const a=this.manager.getZone();if(e=e.toLowerCase(),!window.Hammer&&this.loader){let a=!1,r=()=>{a=!0};return this.loader().then(()=>{if(!window.Hammer)return this.console.warn("The custom HAMMER_LOADER completed, but Hammer.JS is not present."),void(r=()=>{});a||(r=this.addEventListener(t,e,n))}).catch(()=>{this.console.warn(`The "${e}" event cannot be bound because the custom `+"Hammer.JS loader failed."),r=()=>{}}),()=>{r()}}return a.runOutsideAngular(()=>{const r=this._config.buildHammer(t),o=function(t){a.runGuarded((function(){n(t)}))};return r.on(e,o),()=>{r.off(e,o),"function"==typeof r.destroy&&r.destroy()}})}isCustomEvent(t){return this._config.events.indexOf(t)>-1}}const J=["alt","control","meta","shift"],X={alt:t=>t.altKey,control:t=>t.ctrlKey,meta:t=>t.metaKey,shift:t=>t.shiftKey};class Q extends M{constructor(t){super(t)}supports(t){return null!=Q.parseEventName(t)}addEventListener(t,e,n){const a=Q.parseEventName(e),r=Q.eventCallback(a.fullKey,n,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>i().onAndCancel(t,a.domEventName,r))}static parseEventName(t){const e=t.toLowerCase().split("."),n=e.shift();if(0===e.length||"keydown"!==n&&"keyup"!==n)return null;const a=Q._normalizeKey(e.pop());let r="";if(J.forEach(t=>{const n=e.indexOf(t);n>-1&&(e.splice(n,1),r+=t+".")}),r+=a,0!=e.length||0===a.length)return null;const o={};return o.domEventName=n,o.fullKey=r,o}static getEventFullKey(t){let e="",n=i().getEventKey(t);return n=n.toLowerCase()," "===n?n="space":"."===n&&(n="dot"),J.forEach(a=>{a!=n&&(0,X[a])(t)&&(e+=a+".")}),e+=n,e}static eventCallback(t,e,n){return a=>{Q.getEventFullKey(a)===t&&n.runGuarded(()=>e(a))}}static _normalizeKey(t){switch(t){case"esc":return"escape";default:return t}}}class tt{}class et extends tt{constructor(t){super(),this._doc=t}sanitize(t,e){if(null==e)return null;switch(t){case r.SecurityContext.NONE:return e;case r.SecurityContext.HTML:return e instanceof at?e.changingThisBreaksApplicationSecurity:(this.checkNotSafeValue(e,"HTML"),Object(r["ɵ_sanitizeHtml"])(this._doc,String(e)));case r.SecurityContext.STYLE:return e instanceof rt?e.changingThisBreaksApplicationSecurity:(this.checkNotSafeValue(e,"Style"),Object(r["ɵ_sanitizeStyle"])(e));case r.SecurityContext.SCRIPT:if(e instanceof ot)return e.changingThisBreaksApplicationSecurity;throw this.checkNotSafeValue(e,"Script"),new Error("unsafe value used in a script context");case r.SecurityContext.URL:return e instanceof st||e instanceof it?e.changingThisBreaksApplicationSecurity:(this.checkNotSafeValue(e,"URL"),Object(r["ɵ_sanitizeUrl"])(String(e)));case r.SecurityContext.RESOURCE_URL:if(e instanceof st)return e.changingThisBreaksApplicationSecurity;throw this.checkNotSafeValue(e,"ResourceURL"),new Error("unsafe value used in a resource URL context (see http://g.co/ng/security#xss)");default:throw new Error(`Unexpected SecurityContext ${t} (see http://g.co/ng/security#xss)`)}}checkNotSafeValue(t,e){if(t instanceof nt)throw new Error(`Required a safe ${e}, got a ${t.getTypeName()} `+"(see http://g.co/ng/security#xss)")}bypassSecurityTrustHtml(t){return new at(t)}bypassSecurityTrustStyle(t){return new rt(t)}bypassSecurityTrustScript(t){return new ot(t)}bypassSecurityTrustUrl(t){return new it(t)}bypassSecurityTrustResourceUrl(t){return new st(t)}}class nt{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity}`+" (see http://g.co/ng/security#xss)"}}class at extends nt{getTypeName(){return"HTML"}}class rt extends nt{getTypeName(){return"Style"}}class ot extends nt{getTypeName(){return"Script"}}class it extends nt{getTypeName(){return"URL"}}class st extends nt{getTypeName(){return"ResourceURL"}}const ct=[{provide:r.PLATFORM_ID,useValue:a["ɵPLATFORM_BROWSER_ID"]},{provide:r.PLATFORM_INITIALIZER,useValue:function(){u.makeCurrent(),b.init()},multi:!0},{provide:a.PlatformLocation,useClass:class extends a.PlatformLocation{constructor(t){super(),this._doc=t,this._init()}_init(){this.location=i().getLocation(),this._history=i().getHistory()}getBaseHrefFromDOM(){return i().getBaseHref(this._doc)}onPopState(t){i().getGlobalEventTarget(this._doc,"window").addEventListener("popstate",t,!1)}onHashChange(t){i().getGlobalEventTarget(this._doc,"window").addEventListener("hashchange",t,!1)}get href(){return this.location.href}get protocol(){return this.location.protocol}get hostname(){return this.location.hostname}get port(){return this.location.port}get pathname(){return this.location.pathname}get search(){return this.location.search}get hash(){return this.location.hash}set pathname(t){this.location.pathname=t}pushState(t,e,n){p()?this._history.pushState(t,e,n):this.location.hash=n}replaceState(t,e,n){p()?this._history.replaceState(t,e,n):this.location.hash=n}forward(){this._history.forward()}back(){this._history.back()}getState(){return this._history.state}},deps:[a.DOCUMENT]},{provide:a.DOCUMENT,useFactory:function(){return document},deps:[]}],lt=Object(r.createPlatformFactory)(r.platformCore,"browser",ct);class dt{constructor(t){if(t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}static withServerTransition(t){return{ngModule:dt,providers:[{provide:r.APP_ID,useValue:t.appId},{provide:m,useExisting:r.APP_ID},h]}}}"undefined"!=typeof window&&window},cVYH:function(t,e,n){var a=n("hh1v"),r=n("0rvr");t.exports=function(t,e,n){var o,i;return r&&"function"==typeof(o=e.constructor)&&o!==n&&a(i=o.prototype)&&i!==n.prototype&&r(t,i),t}},cp0P:function(t,e,n){"use strict";n.d(e,"a",(function(){return c}));var a=n("HDdC"),r=n("DH7j"),o=n("lJxs"),i=n("XoHu"),s=n("Cfvw");function c(...t){if(1===t.length){const e=t[0];if(Object(r.a)(e))return l(e,null);if(Object(i.a)(e)&&Object.getPrototypeOf(e)===Object.prototype){const t=Object.keys(e);return l(t.map(t=>e[t]),t)}}if("function"==typeof t[t.length-1]){const e=t.pop();return l(t=1===t.length&&Object(r.a)(t[0])?t[0]:t,null).pipe(Object(o.a)(t=>e(...t)))}return l(t,null)}function l(t,e){return new a.a(n=>{const a=t.length;if(0===a)return void n.complete();const r=new Array(a);let o=0,i=0;for(let c=0;c<a;c++){const l=Object(s.a)(t[c]);let d=!1;n.add(l.subscribe({next:t=>{d||(d=!0,i++),r[c]=t},error:t=>n.error(t),complete:()=>{o++,o!==a&&d||(i===a&&n.next(e?e.reduce((t,e,n)=>(t[e]=r[n],t),{}):r),n.complete())}}))}})}},"cq/+":function(t,e,n){var a=n("mc0g")();t.exports=a},crnd:function(t,e){function n(t){return Promise.resolve().then((function(){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e}))}n.keys=function(){return[]},n.resolve=n,t.exports=n,n.id="crnd"},cvCv:function(t,e){t.exports=function(t){return function(){return t}}},czA5:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MouseEvent=("undefined"!=typeof window&&window||global).MouseEvent,e.KeyboardEvent=("undefined"!=typeof window&&window||global).KeyboardEvent,e.Event=("undefined"!=typeof window&&window||global).Event},czMo:function(t,e,n){!function(t){"use strict";t.defineLocale("en-il",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")}})}(n("wd/R"))},"d+Og":function(t,e,n){"use strict";var a=n("LvDl");let r=(()=>{class t{constructor(t){if(this.type=t,!this.isValidType())throw new Error("Wrong placement group category type");this.setTypeStates()}isValidType(){return t.VALID_CATEGORIES.includes(this.type)}setTypeStates(){switch(this.type){case t.CATEGORY_CLEAN:this.states=["active","clean"];break;case t.CATEGORY_WORKING:this.states=["activating","backfill_wait","backfilling","creating","deep","degraded","forced_backfill","forced_recovery","peering","peered","recovering","recovery_wait","repair","scrubbing","snaptrim","snaptrim_wait"];break;case t.CATEGORY_WARNING:this.states=["backfill_toofull","backfill_unfound","down","incomplete","inconsistent","recovery_toofull","recovery_unfound","remapped","snaptrim_error","stale","undersized"];break;default:this.states=[]}}}return t.CATEGORY_CLEAN="clean",t.CATEGORY_WORKING="working",t.CATEGORY_WARNING="warning",t.CATEGORY_UNKNOWN="unknown",t.VALID_CATEGORIES=[t.CATEGORY_CLEAN,t.CATEGORY_WORKING,t.CATEGORY_WARNING,t.CATEGORY_UNKNOWN],t})();var o=n("8Y7J"),i=n("kJI8");n.d(e,"a",(function(){return s}));let s=(()=>{class t{constructor(){this.categories=this.createCategories()}getAllTypes(){return r.VALID_CATEGORIES}getTypeByStates(t){const e=this.getPgStatesFromText(t);if(0===e.length)return r.CATEGORY_UNKNOWN;const n=a.zipObject(r.VALID_CATEGORIES,r.VALID_CATEGORIES.map(t=>a.intersection(this.categories[t].states,e).length));if(n[r.CATEGORY_WARNING]>0)return r.CATEGORY_WARNING;const o=n[r.CATEGORY_WORKING];return e.length>n[r.CATEGORY_CLEAN]+o?r.CATEGORY_UNKNOWN:o?r.CATEGORY_WORKING:r.CATEGORY_CLEAN}createCategories(){return a.zipObject(r.VALID_CATEGORIES,r.VALID_CATEGORIES.map(t=>new r(t)))}getPgStatesFromText(t){const e=t.replace(/[^a-z]+/g," ").trim().split(" ");return a.uniq(e)}}return t.ngInjectableDef=o["ɵɵdefineInjectable"]({factory:function(){return new t},token:t,providedIn:i.a}),t})()},dApe:function(t,e,n){"use strict";n.d(e,"a",(function(){return l}));var a=n("8Y7J"),r=n("2vnA"),o=n("MP8s"),i=n("X+05"),s=function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},c=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},l=function(){function t(t){var e=this;this.treeModel=t,this.yBlocks=0,this.x=0,this.viewportHeight=null,this.viewport=null,t.virtualScroll=this,this._dispose=[Object(r.b)((function(){return e.fixScroll()}))]}return Object.defineProperty(t.prototype,"y",{get:function(){return 150*this.yBlocks},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"totalHeight",{get:function(){return this.treeModel.virtualRoot?this.treeModel.virtualRoot.height:0},enumerable:!0,configurable:!0}),t.prototype.fireEvent=function(t){this.treeModel.fireEvent(t)},t.prototype.init=function(){var t=this,e=this.recalcPositions.bind(this);e(),this._dispose=this._dispose.concat([Object(r.e)((function(){return t.treeModel.roots}),e),Object(r.e)((function(){return t.treeModel.expandedNodeIds}),e),Object(r.e)((function(){return t.treeModel.hiddenNodeIds}),e)]),this.treeModel.subscribe(i.a.loadNodeChildren,e)},t.prototype.isEnabled=function(){return this.treeModel.options.useVirtualScroll},t.prototype._setYBlocks=function(t){this.yBlocks=t},t.prototype.recalcPositions=function(){this.treeModel.virtualRoot.height=this._getPositionAfter(this.treeModel.getVisibleRoots(),0)},t.prototype._getPositionAfter=function(t,e){var n=this,a=e;return t.forEach((function(t){t.position=a,a=n._getPositionAfterNode(t,a)})),a},t.prototype._getPositionAfterNode=function(t,e){var n=t.getSelfHeight()+e;return t.children&&t.isExpanded&&(n=this._getPositionAfter(t.visibleChildren,n)),t.height=n-e,n},t.prototype.clear=function(){this._dispose.forEach((function(t){return t()}))},t.prototype.setViewport=function(t){Object.assign(this,{viewport:t,x:t.scrollLeft,yBlocks:Math.round(t.scrollTop/150),viewportHeight:t.getBoundingClientRect?t.getBoundingClientRect().height:0})},t.prototype.scrollIntoView=function(t,e,n){if(void 0===n&&(n=!0),t.options.scrollContainer){var a=t.options.scrollContainer,r=a.getBoundingClientRect().height,o=a.getBoundingClientRect().top,i=this.viewport.getBoundingClientRect().top+t.position-o;(e||i<a.scrollTop||i+t.getSelfHeight()>a.scrollTop+r)&&(a.scrollTop=n?i-r/2:i)}else(e||t.position<this.y||t.position+t.getSelfHeight()>this.y+this.viewportHeight)&&this.viewport&&(this.viewport.scrollTop=n?t.position-this.viewportHeight/2:t.position,this._setYBlocks(Math.floor(this.viewport.scrollTop/150)))},t.prototype.getViewportNodes=function(t){var e=this;if(!t)return[];var n=t.filter((function(t){return!t.isHidden}));if(!this.isEnabled())return n;if(!this.viewportHeight||!n.length)return[];var a=d(n,(function(t){return t.position+500>e.y||t.position+t.height>e.y})),r=d(n,(function(t){return t.position-500>e.y+e.viewportHeight}),a),o=[];if(r-a>(1e3+this.viewportHeight)/n[0].treeModel.options.options.nodeHeight)return[];for(var i=a;i<=r;i++)o.push(n[i]);return o},t.prototype.fixScroll=function(){var t=Math.max(0,this.totalHeight-this.viewportHeight);this.y<0&&this._setYBlocks(0),this.y>t&&this._setYBlocks(t/150)},s([r.d,c("design:type",Object)],t.prototype,"yBlocks",void 0),s([r.d,c("design:type",Object)],t.prototype,"x",void 0),s([r.d,c("design:type",Object)],t.prototype,"viewportHeight",void 0),s([r.c,c("design:type",Object),c("design:paramtypes",[])],t.prototype,"y",null),s([r.c,c("design:type",Object),c("design:paramtypes",[])],t.prototype,"totalHeight",null),s([r.a,c("design:type",Function),c("design:paramtypes",[Object]),c("design:returntype",void 0)],t.prototype,"_setYBlocks",null),s([r.a,c("design:type",Function),c("design:paramtypes",[]),c("design:returntype",void 0)],t.prototype,"recalcPositions",null),s([r.a,c("design:type",Function),c("design:paramtypes",[Object]),c("design:returntype",void 0)],t.prototype,"setViewport",null),s([r.a,c("design:type",Function),c("design:paramtypes",[Object,Object,Object]),c("design:returntype",void 0)],t.prototype,"scrollIntoView",null),s([Object(a.Injectable)(),c("design:paramtypes",[o.a])],t)}();function d(t,e,n){void 0===n&&(n=0);for(var a=n,r=t.length-1;a!==r;){var o=Math.floor((a+r)/2);e(t[o])?r=o:a=a===o?r:o}return a}},"dBg+":function(t,e){e.f=Object.getOwnPropertySymbols},dD9F:function(t,e,n){var a=n("NykK"),r=n("shjB"),o=n("ExA7"),i={};i["[object Float32Array]"]=i["[object Float64Array]"]=i["[object Int8Array]"]=i["[object Int16Array]"]=i["[object Int32Array]"]=i["[object Uint8Array]"]=i["[object Uint8ClampedArray]"]=i["[object Uint16Array]"]=i["[object Uint32Array]"]=!0,i["[object Arguments]"]=i["[object Array]"]=i["[object ArrayBuffer]"]=i["[object Boolean]"]=i["[object DataView]"]=i["[object Date]"]=i["[object Error]"]=i["[object Function]"]=i["[object Map]"]=i["[object Number]"]=i["[object Object]"]=i["[object RegExp]"]=i["[object Set]"]=i["[object String]"]=i["[object WeakMap]"]=!1,t.exports=function(t){return o(t)&&r(t.length)&&!!i[a(t)]}},dEH0:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{transform(t){return`${t} ms`}}},dNwA:function(t,e,n){!function(t){"use strict";t.defineLocale("sw",{months:"Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des".split("_"),weekdays:"Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi".split("_"),weekdaysShort:"Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos".split("_"),weekdaysMin:"J2_J3_J4_J5_Al_Ij_J1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[leo saa] LT",nextDay:"[kesho saa] LT",nextWeek:"[wiki ijayo] dddd [saat] LT",lastDay:"[jana] LT",lastWeek:"[wiki iliyopita] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s baadaye",past:"tokea %s",s:"hivi punde",ss:"sekunde %d",m:"dakika moja",mm:"dakika %d",h:"saa limoja",hh:"masaa %d",d:"siku moja",dd:"masiku %d",M:"mwezi mmoja",MM:"miezi %d",y:"mwaka mmoja",yy:"miaka %d"},week:{dow:1,doy:7}})}(n("wd/R"))},dTAl:function(t,e,n){var a=n("GoyQ"),r=Object.create,o=function(){function t(){}return function(e){if(!a(e))return{};if(r)return r(e);t.prototype=e;var n=new t;return t.prototype=void 0,n}}();t.exports=o},dgut:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("NEZu");n("Fgil");class r{constructor(t){this.dimlessBinaryPipe=t,this.style={height:"30px",width:"100px"},this.colors=[{backgroundColor:"rgba(40,140,234,0.2)",borderColor:"rgba(40,140,234,1)",pointBackgroundColor:"rgba(40,140,234,1)",pointBorderColor:"#fff",pointHoverBackgroundColor:"#fff",pointHoverBorderColor:"rgba(40,140,234,0.8)"}],this.options={animation:{duration:0},responsive:!0,maintainAspectRatio:!1,legend:{display:!1},elements:{line:{borderWidth:1}},tooltips:{enabled:!1,mode:"index",intersect:!1,custom:void 0,callbacks:{label:t=>this.isBinary?this.dimlessBinaryPipe.transform(t.yLabel):t.yLabel,title:()=>""}},scales:{yAxes:[{display:!1}],xAxes:[{display:!1}]}},this.datasets=[{data:[]}],this.labels=[]}ngOnInit(){const t=new a.a(this.chartCanvasRef,this.chartTooltipRef,(t,e)=>e+t.caretX+"px",t=>t.caretY-t.height-t.yPadding-5+"px");t.customColors={backgroundColor:this.colors[0].pointBackgroundColor,borderColor:this.colors[0].pointBorderColor},this.options.tooltips.custom=e=>{t.customTooltips(e)}}ngOnChanges(t){this.datasets[0].data=t.data.currentValue,this.labels=[...Array(t.data.currentValue.length)]}}},dt0z:function(t,e,n){var a=n("zoYe");t.exports=function(t){return null==t?"":a(t)}},"e+ae":function(t,e,n){!function(t){"use strict";var e="január_február_marec_apríl_máj_jún_júl_august_september_október_november_december".split("_"),n="jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec".split("_");function a(t){return t>1&&t<5}function r(t,e,n,r){var o=t+" ";switch(n){case"s":return e||r?"pár sekúnd":"pár sekundami";case"ss":return e||r?o+(a(t)?"sekundy":"sekúnd"):o+"sekundami";case"m":return e?"minúta":r?"minútu":"minútou";case"mm":return e||r?o+(a(t)?"minúty":"minút"):o+"minútami";case"h":return e?"hodina":r?"hodinu":"hodinou";case"hh":return e||r?o+(a(t)?"hodiny":"hodín"):o+"hodinami";case"d":return e||r?"deň":"dňom";case"dd":return e||r?o+(a(t)?"dni":"dní"):o+"dňami";case"M":return e||r?"mesiac":"mesiacom";case"MM":return e||r?o+(a(t)?"mesiace":"mesiacov"):o+"mesiacmi";case"y":return e||r?"rok":"rokom";case"yy":return e||r?o+(a(t)?"roky":"rokov"):o+"rokmi"}}t.defineLocale("sk",{months:e,monthsShort:n,weekdays:"nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota".split("_"),weekdaysShort:"ne_po_ut_st_št_pi_so".split("_"),weekdaysMin:"ne_po_ut_st_št_pi_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm"},calendar:{sameDay:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nedeľu o] LT";case 1:case 2:return"[v] dddd [o] LT";case 3:return"[v stredu o] LT";case 4:return"[vo štvrtok o] LT";case 5:return"[v piatok o] LT";case 6:return"[v sobotu o] LT"}},lastDay:"[včera o] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulú nedeľu o] LT";case 1:case 2:return"[minulý] dddd [o] LT";case 3:return"[minulú stredu o] LT";case 4:case 5:return"[minulý] dddd [o] LT";case 6:return"[minulú sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %s",s:r,ss:r,m:r,mm:r,h:r,hh:r,d:r,dd:r,M:r,MM:r,y:r,yy:r},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("wd/R"))},e4Nc:function(t,e,n){var a=n("fGT3"),r=n("k+1r"),o=n("JHgL"),i=n("pSRY"),s=n("H8j4");function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var a=t[e];this.set(a[0],a[1])}}c.prototype.clear=a,c.prototype.delete=r,c.prototype.get=o,c.prototype.has=i,c.prototype.set=s,t.exports=c},e5cp:function(t,e,n){var a=n("fmRc"),r=n("or5M"),o=n("HDyB"),i=n("seXi"),s=n("QqLw"),c=n("Z0cm"),l=n("DSRE"),d=n("c6wG"),u="[object Object]",g=Object.prototype.hasOwnProperty;t.exports=function(t,e,n,f,p,m){var h=c(t),b=c(e),_=h?"[object Array]":s(t),y=b?"[object Array]":s(e),O=(_="[object Arguments]"==_?u:_)==u,v=(y="[object Arguments]"==y?u:y)==u,C=_==y;if(C&&l(t)){if(!l(e))return!1;h=!0,O=!1}if(C&&!O)return m||(m=new a),h||d(t)?r(t,e,n,f,p,m):o(t,e,_,n,f,p,m);if(!(1&n)){var P=O&&g.call(t,"__wrapped__"),M=v&&g.call(e,"__wrapped__");if(P||M){var x=P?t.value():t,w=M?e.value():e;return m||(m=new a),p(x,w,n,f,m)}}return!!C&&(m||(m=new a),i(t,e,n,f,p,m))}},"eDl+":function(t,e){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},eIep:function(t,e,n){"use strict";n.d(e,"a",(function(){return c}));var a=n("l7GE"),r=n("51Dv"),o=n("ZUHj"),i=n("lJxs"),s=n("Cfvw");function c(t,e){return"function"==typeof e?n=>n.pipe(c((n,a)=>Object(s.a)(t(n,a)).pipe(Object(i.a)((t,r)=>e(n,t,a,r))))):e=>e.lift(new l(t))}class l{constructor(t){this.project=t}call(t,e){return e.subscribe(new d(t,this.project))}}class d extends a.a{constructor(t,e){super(t),this.project=e,this.index=0}_next(t){let e;const n=this.index++;try{e=this.project(t,n)}catch(a){return void this.destination.error(a)}this._innerSub(e,t,n)}_innerSub(t,e,n){const a=this.innerSubscription;a&&a.unsubscribe();const i=new r.a(this,e,n),s=this.destination;s.add(i),this.innerSubscription=Object(o.a)(this,t,void 0,void 0,i),this.innerSubscription!==i&&s.add(this.innerSubscription)}_complete(){const{innerSubscription:t}=this;t&&!t.closed||super._complete(),this.unsubscribe()}_unsubscribe(){this.innerSubscription=null}notifyComplete(t){this.destination.remove(t),this.innerSubscription=null,this.isStopped&&super._complete()}notifyNext(t,e,n,a,r){this.destination.next(e)}}},eNwd:function(t,e,n){"use strict";var a=n("3N8a");class r extends a.a{constructor(t,e){super(t,e),this.scheduler=t,this.work=e}requestAsyncId(t,e,n=0){return null!==n&&n>0?super.requestAsyncId(t,e,n):(t.actions.push(this),t.scheduled||(t.scheduled=requestAnimationFrame(()=>t.flush(null))))}recycleAsyncId(t,e,n=0){if(null!==n&&n>0||null===n&&this.delay>0)return super.recycleAsyncId(t,e,n);0===t.actions.length&&(cancelAnimationFrame(e),t.scheduled=void 0)}}var o=n("IjjT");class i extends o.a{flush(t){this.active=!0,this.scheduled=void 0;const{actions:e}=this;let n,a=-1,r=e.length;t=t||e.shift();do{if(n=t.execute(t.state,t.delay))break}while(++a<r&&(t=e.shift()));if(this.active=!1,n){for(;++a<r&&(t=e.shift());)t.unsubscribe();throw n}}}n.d(e,"a",(function(){return s}));const s=new i(r)},eTJe:function(t,e,n){"use strict";var a=n("s7LF"),r=n("LvDl"),o=n("cp0P"),i=(n("SgmB"),n("ZDA6"),n("sne2"),n("mtw6")),s=n("QFaf"),c=n("1Ni5"),l=(n("9nlD"),function(t){return t.editing="editing",t}({}));class d{}n.d(e,"a",(function(){return u}));class u{constructor(t,e,n,a,r,o,i){this.route=t,this.router=e,this.roleService=n,this.scopeService=a,this.notificationService=r,this.i18n=o,this.actionLabels=i,this.scopes=[],this.scopes_permissions=[],this.roleFormMode=l,this.resource=this.i18n("role"),this.createForm(),this.listenToChanges()}createForm(){this.roleForm=new s.a({name:new a.i("",{validators:[a.B.required],asyncValidators:[c.a.unique(this.roleService.exists,this.roleService)]}),description:new a.i(""),scopes_permissions:new a.i({})})}ngOnInit(){this.columns=[{prop:"scope",name:this.i18n("All"),flexGrow:2,cellTemplate:this.cellScopeCheckboxTpl,headerTemplate:this.headerPermissionCheckboxTpl},{prop:"read",name:this.i18n("Read"),flexGrow:1,cellClass:"text-center",cellTemplate:this.cellPermissionCheckboxTpl,headerTemplate:this.headerPermissionCheckboxTpl},{prop:"create",name:this.i18n("Create"),flexGrow:1,cellClass:"text-center",cellTemplate:this.cellPermissionCheckboxTpl,headerTemplate:this.headerPermissionCheckboxTpl},{prop:"update",name:this.i18n("Update"),flexGrow:1,cellClass:"text-center",cellTemplate:this.cellPermissionCheckboxTpl,headerTemplate:this.headerPermissionCheckboxTpl},{prop:"delete",name:this.i18n("Delete"),flexGrow:1,cellClass:"text-center",cellTemplate:this.cellPermissionCheckboxTpl,headerTemplate:this.headerPermissionCheckboxTpl}],this.router.url.startsWith("/user-management/roles/edit")?(this.mode=this.roleFormMode.editing,this.action=this.actionLabels.EDIT):this.action=this.actionLabels.CREATE,this.mode===this.roleFormMode.editing?this.initEdit():this.initCreate()}initCreate(){this.scopeService.list().subscribe(t=>{this.scopes=t,this.roleForm.get("scopes_permissions").setValue({})})}initEdit(){this.roleForm.get("name").disable(),this.route.params.subscribe(t=>{const e=[];e.push(this.scopeService.list()),e.push(this.roleService.get(t.name)),Object(o.a)(e).subscribe(t=>{this.scopes=t[0],["name","description","scopes_permissions"].forEach(e=>this.roleForm.get(e).setValue(t[1][e]))})})}listenToChanges(){this.roleForm.get("scopes_permissions").valueChanges.subscribe(t=>{const e=[];r.each(this.scopes,n=>{const a={read:!1,create:!1,update:!1,delete:!1};a.scope=n,n in t&&r.each(t[n],t=>{a[t]=!0}),e.push(a)}),this.scopes_permissions=e})}isRowChecked(t){const e=r.find(this.scopes_permissions,e=>e.scope===t);return!r.isUndefined(e)&&e.read&&e.create&&e.update&&e.delete}isHeaderChecked(t){let e=[t];return"scope"===t&&(e=["read","create","update","delete"]),e.every(t=>this.scopes_permissions.every(e=>e[t]))}onClickCellCheckbox(t,e,n=null){const a=r.cloneDeep(this.roleForm.getValue("scopes_permissions"));let o=[e];"scope"===e&&(o=["read","create","update","delete"]),t in a||(a[t]=[]),n&&n.target.checked||!r.isEqual(o.sort(),r.intersection(a[t],o).sort())?a[t]=r.union(a[t],o):(a[t]=r.difference(a[t],o),r.isEmpty(a[t])&&r.unset(a,t)),this.roleForm.get("scopes_permissions").setValue(a)}onClickHeaderCheckbox(t,e){const n=r.cloneDeep(this.roleForm.getValue("scopes_permissions"));let a=[t];"scope"===t&&(a=["read","create","update","delete"]),r.each(a,t=>{r.each(this.scopes,a=>{e.target.checked?n[a]=r.union(n[a],[t]):(n[a]=r.difference(n[a],[t]),r.isEmpty(n[a])&&r.unset(n,a))})}),this.roleForm.get("scopes_permissions").setValue(n)}getRequest(){const t=new d;return["name","description","scopes_permissions"].forEach(e=>t[e]=this.roleForm.get(e).value),t}createAction(){const t=this.getRequest();this.roleService.create(t).subscribe(()=>{this.notificationService.show(i.a.success,this.i18n("Created role '{{role_name}}'",{role_name:t.name})),this.router.navigate(["/user-management/roles"])},()=>{this.roleForm.setErrors({cdSubmitButton:!0})})}editAction(){const t=this.getRequest();this.roleService.update(t).subscribe(()=>{this.notificationService.show(i.a.success,this.i18n("Updated role '{{role_name}}'",{role_name:t.name})),this.router.navigate(["/user-management/roles"])},()=>{this.roleForm.setErrors({cdSubmitButton:!0})})}submit(){this.mode===this.roleFormMode.editing?this.editAction():this.createAction()}}},eUgh:function(t,e){t.exports=function(t,e){for(var n=-1,a=null==t?0:t.length,r=Array(a);++n<a;)r[n]=e(t[n],n,t);return r}},ebwN:function(t,e,n){var a=n("Cwc5")(n("Kz5y"),"Map");t.exports=a},"ej+x":function(t,e,n){"use strict";var a=n("PqYM"),r=n("eIep"),o=n("UXun"),i=n("pxpQ"),s=n("D0XW"),c=n("8Y7J");class l{constructor(t){this.zone=t,this.scheduler=s.a}now(){return this.scheduler.now()}}let d=(()=>{class t extends l{constructor(t){super(t)}schedule(...t){return this.zone.runOutsideAngular(()=>this.scheduler.schedule.apply(this.scheduler,t))}}return t.ngInjectableDef=c["ɵɵdefineInjectable"]({factory:function(){return new t(c["ɵɵinject"](c.NgZone))},token:t,providedIn:"root"}),t})(),u=(()=>{class t extends l{constructor(t){super(t)}schedule(...t){return this.zone.run(()=>this.scheduler.schedule.apply(this.scheduler,t))}}return t.ngInjectableDef=c["ɵɵdefineInjectable"]({factory:function(){return new t(c["ɵɵinject"](c.NgZone))},token:t,providedIn:"root"}),t})(),g=(()=>{class t{constructor(t,e){this.leave=t,this.enter=e}}return t.ngInjectableDef=c["ɵɵdefineInjectable"]({factory:function(){return new t(c["ɵɵinject"](d),c["ɵɵinject"](u))},token:t,providedIn:"root"}),t})();var f=n("IheW");n.d(e,"a",(function(){return p}));let p=(()=>{class t{constructor(t,e){this.http=t,this.ngZone=e,this.API_URL="api/feature_toggles",this.REFRESH_INTERVAL=3e4,this.featureToggleMap$=Object(a.a)(0,this.REFRESH_INTERVAL,e.leave).pipe(Object(r.a)(()=>this.http.get(this.API_URL)),Object(o.a)(1),Object(i.b)(e.enter))}get(){return this.featureToggleMap$}}return t.ngInjectableDef=c["ɵɵdefineInjectable"]({factory:function(){return new t(c["ɵɵinject"](f.c),c["ɵɵinject"](g))},token:t,providedIn:"root"}),t})()},ejVf:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ColumnMode=function(t){return t.standard="standard",t.flex="flex",t.force="force",t}(e.ColumnMode||{})},ekgI:function(t,e,n){var a=n("YESw"),r=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;return a?void 0!==e[t]:r.call(e,t)}},ewvW:function(t,e,n){var a=n("HYAF");t.exports=function(t){return Object(a(t))}},f29J:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("GyhO");function r(...t){return e=>e.lift.call(Object(a.a)(e,...t))}},f5p1:function(t,e,n){var a=n("2oRo"),r=n("iSVu"),o=a.WeakMap;t.exports="function"==typeof o&&/native code/.test(r(o))},f95s:function(t,e,n){"use strict";n.d(e,"a",(function(){return m}));var a=n("2vnA"),r=n("X+05"),o=n("afOK"),i=n.n(o),s=n("RBan"),c=n.n(s),l=n("MJIl"),d=n.n(l),u=n("Jlc5"),g=n.n(u),f=function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},p=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},m=function(){function t(t,e,n,a){var r=this;this.data=t,this.parent=e,this.treeModel=n,this.position=0,this.allowDrop=function(t,e){return r.options.allowDrop(t,{parent:r,index:0},e)},this.allowDragoverStyling=function(){return r.options.allowDragoverStyling},null==this.id&&(this.id=Math.floor(1e13*Math.random())),this.index=a,this.getField("children")&&this._initChildren(),this.autoLoadChildren()}return Object.defineProperty(t.prototype,"isHidden",{get:function(){return this.treeModel.isHidden(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isExpanded",{get:function(){return this.treeModel.isExpanded(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isActive",{get:function(){return this.treeModel.isActive(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isFocused",{get:function(){return this.treeModel.isNodeFocused(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isSelected",{get:function(){return this.isSelectable()?this.treeModel.isSelected(this):d()(this.children,(function(t){return t.isSelected}))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isAllSelected",{get:function(){return this.isSelectable()?this.treeModel.isSelected(this):g()(this.children,(function(t){return t.isAllSelected}))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isPartiallySelected",{get:function(){return this.isSelected&&!this.isAllSelected},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"level",{get:function(){return this.parent?this.parent.level+1:0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"path",{get:function(){return this.parent?this.parent.path.concat([this.id]):[]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"elementRef",{get:function(){throw"Element Ref is no longer supported since introducing virtual scroll\n\n      You may use a template to obtain a reference to the element"},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"originalNode",{get:function(){return this._originalNode},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hasChildren",{get:function(){return!!(this.getField("hasChildren")||this.children&&this.children.length>0)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isCollapsed",{get:function(){return!this.isExpanded},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isLeaf",{get:function(){return!this.hasChildren},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isRoot",{get:function(){return this.parent.data.virtual},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"realParent",{get:function(){return this.isRoot?null:this.parent},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"options",{get:function(){return this.treeModel.options},enumerable:!0,configurable:!0}),t.prototype.fireEvent=function(t){this.treeModel.fireEvent(t)},Object.defineProperty(t.prototype,"displayField",{get:function(){return this.getField("display")},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"id",{get:function(){return this.getField("id")},set:function(t){this.setField("id",t)},enumerable:!0,configurable:!0}),t.prototype.getField=function(t){return this.data[this.options[t+"Field"]]},t.prototype.setField=function(t,e){this.data[this.options[t+"Field"]]=e},t.prototype._findAdjacentSibling=function(t,e){void 0===e&&(e=!1);var n=this._getParentsChildren(e),a=n.indexOf(this);return n.length>a+t?n[a+t]:null},t.prototype.findNextSibling=function(t){return void 0===t&&(t=!1),this._findAdjacentSibling(1,t)},t.prototype.findPreviousSibling=function(t){return void 0===t&&(t=!1),this._findAdjacentSibling(-1,t)},t.prototype.getVisibleChildren=function(){return this.visibleChildren},Object.defineProperty(t.prototype,"visibleChildren",{get:function(){return(this.children||[]).filter((function(t){return!t.isHidden}))},enumerable:!0,configurable:!0}),t.prototype.getFirstChild=function(t){void 0===t&&(t=!1);var e=t?this.visibleChildren:this.children;return i()(e||[])},t.prototype.getLastChild=function(t){void 0===t&&(t=!1);var e=t?this.visibleChildren:this.children;return c()(e||[])},t.prototype.findNextNode=function(t,e){return void 0===t&&(t=!0),void 0===e&&(e=!1),t&&this.isExpanded&&this.getFirstChild(e)||this.findNextSibling(e)||this.parent&&this.parent.findNextNode(!1,e)},t.prototype.findPreviousNode=function(t){void 0===t&&(t=!1);var e=this.findPreviousSibling(t);return e?e._getLastOpenDescendant(t):this.realParent},t.prototype._getLastOpenDescendant=function(t){void 0===t&&(t=!1);var e=this.getLastChild(t);return this.isCollapsed||!e?this:e._getLastOpenDescendant(t)},t.prototype._getParentsChildren=function(t){return void 0===t&&(t=!1),this.parent&&(t?this.parent.getVisibleChildren():this.parent.children)||[]},t.prototype.getIndexInParent=function(t){return void 0===t&&(t=!1),this._getParentsChildren(t).indexOf(this)},t.prototype.isDescendantOf=function(t){return this===t||this.parent&&this.parent.isDescendantOf(t)},t.prototype.getNodePadding=function(){return this.options.levelPadding*(this.level-1)+"px"},t.prototype.getClass=function(){return[this.options.nodeClass(this),"tree-node-level-"+this.level].join(" ")},t.prototype.onDrop=function(t){this.mouseAction("drop",t.event,{from:t.element,to:{parent:this,index:0,dropOnNode:!0}})},t.prototype.allowDrag=function(){return this.options.allowDrag(this)},t.prototype.loadNodeChildren=function(){var t=this;return this.options.getChildren?Promise.resolve(this.options.getChildren(this)).then((function(e){e&&(t.setField("children",e),t._initChildren(),t.options.useTriState&&t.treeModel.isSelected(t)&&t.setIsSelected(!0),t.children.forEach((function(t){t.getField("isExpanded")&&t.hasChildren&&t.expand()})))})).then((function(){t.fireEvent({eventName:r.a.loadNodeChildren,node:t})})):Promise.resolve()},t.prototype.expand=function(){return this.isExpanded||this.toggleExpanded(),this},t.prototype.collapse=function(){return this.isExpanded&&this.toggleExpanded(),this},t.prototype.doForAll=function(t){var e=this;Promise.resolve(t(this)).then((function(){e.children&&e.children.forEach((function(e){return e.doForAll(t)}))}))},t.prototype.expandAll=function(){this.doForAll((function(t){return t.expand()}))},t.prototype.collapseAll=function(){this.doForAll((function(t){return t.collapse()}))},t.prototype.ensureVisible=function(){return this.realParent&&(this.realParent.expand(),this.realParent.ensureVisible()),this},t.prototype.toggleExpanded=function(){return this.setIsExpanded(!this.isExpanded),this},t.prototype.setIsExpanded=function(t){return this.hasChildren&&this.treeModel.setExpandedNode(this,t),this},t.prototype.autoLoadChildren=function(){var t=this;this.handler=Object(a.e)((function(){return t.isExpanded}),(function(e){!t.children&&t.hasChildren&&e&&t.loadNodeChildren()}),{fireImmediately:!0})},t.prototype.dispose=function(){this.children&&this.children.forEach((function(t){return t.dispose()})),this.handler&&this.handler(),this.parent=null,this.children=null},t.prototype.setIsActive=function(t,e){return void 0===e&&(e=!1),this.treeModel.setActiveNode(this,t,e),t&&this.focus(this.options.scrollOnActivate),this},t.prototype.isSelectable=function(){return this.isLeaf||!this.children||!this.options.useTriState},t.prototype.setIsSelected=function(t){return this.isSelectable()?this.treeModel.setSelectedNode(this,t):this.visibleChildren.forEach((function(e){return e.setIsSelected(t)})),this},t.prototype.toggleSelected=function(){return this.setIsSelected(!this.isSelected),this},t.prototype.toggleActivated=function(t){return void 0===t&&(t=!1),this.setIsActive(!this.isActive,t),this},t.prototype.setActiveAndVisible=function(t){return void 0===t&&(t=!1),this.setIsActive(!0,t).ensureVisible(),setTimeout(this.scrollIntoView.bind(this)),this},t.prototype.scrollIntoView=function(t){void 0===t&&(t=!1),this.treeModel.virtualScroll.scrollIntoView(this,t)},t.prototype.focus=function(t){void 0===t&&(t=!0);var e=this.treeModel.getFocusedNode();return this.treeModel.setFocusedNode(this),t&&this.scrollIntoView(),e&&this.fireEvent({eventName:r.a.blur,node:e}),this.fireEvent({eventName:r.a.focus,node:this}),this},t.prototype.blur=function(){var t=this.treeModel.getFocusedNode();return this.treeModel.setFocusedNode(null),t&&this.fireEvent({eventName:r.a.blur,node:this}),this},t.prototype.setIsHidden=function(t){this.treeModel.setIsHidden(this,t)},t.prototype.hide=function(){this.setIsHidden(!0)},t.prototype.show=function(){this.setIsHidden(!1)},t.prototype.mouseAction=function(t,e,n){void 0===n&&(n=null),this.treeModel.setFocus(!0);var a=this.options.actionMapping.mouse[t];a&&a(this.treeModel,this,e,n)},t.prototype.getSelfHeight=function(){return this.options.nodeHeight(this)},t.prototype._initChildren=function(){var e=this;this.children=this.getField("children").map((function(n,a){return new t(n,e,e.treeModel,a)}))},f([a.c,p("design:type",Object),p("design:paramtypes",[])],t.prototype,"isHidden",null),f([a.c,p("design:type",Object),p("design:paramtypes",[])],t.prototype,"isExpanded",null),f([a.c,p("design:type",Object),p("design:paramtypes",[])],t.prototype,"isActive",null),f([a.c,p("design:type",Object),p("design:paramtypes",[])],t.prototype,"isFocused",null),f([a.c,p("design:type",Object),p("design:paramtypes",[])],t.prototype,"isSelected",null),f([a.c,p("design:type",Object),p("design:paramtypes",[])],t.prototype,"isAllSelected",null),f([a.c,p("design:type",Object),p("design:paramtypes",[])],t.prototype,"isPartiallySelected",null),f([a.d,p("design:type",Array)],t.prototype,"children",void 0),f([a.d,p("design:type",Number)],t.prototype,"index",void 0),f([a.d,p("design:type",Object)],t.prototype,"position",void 0),f([a.d,p("design:type",Number)],t.prototype,"height",void 0),f([a.c,p("design:type",Number),p("design:paramtypes",[])],t.prototype,"level",null),f([a.c,p("design:type",Array),p("design:paramtypes",[])],t.prototype,"path",null),f([a.c,p("design:type",Object),p("design:paramtypes",[])],t.prototype,"visibleChildren",null),f([a.a,p("design:type",Function),p("design:paramtypes",[Object]),p("design:returntype",void 0)],t.prototype,"setIsSelected",null),f([a.a,p("design:type",Function),p("design:paramtypes",[]),p("design:returntype",void 0)],t.prototype,"_initChildren",null),t}()},fGT3:function(t,e,n){var a=n("4kuk"),r=n("Xi7e"),o=n("ebwN");t.exports=function(){this.size=0,this.__data__={hash:new a,map:new(o||r),string:new a}}},fHMY:function(t,e,n){var a,r=n("glrk"),o=n("N+g0"),i=n("eDl+"),s=n("0BK2"),c=n("G+Rx"),l=n("zBJ4"),d=n("93I0")("IE_PROTO"),u=function(){},g=function(t){return"<script>"+t+"<\/script>"},f=function(){try{a=document.domain&&new ActiveXObject("htmlfile")}catch(r){}var t,e;f=a?function(t){t.write(g("")),t.close();var e=t.parentWindow.Object;return t=null,e}(a):((e=l("iframe")).style.display="none",c.appendChild(e),e.src=String("javascript:"),(t=e.contentWindow.document).open(),t.write(g("document.F=Object")),t.close(),t.F);for(var n=i.length;n--;)delete f.prototype[i[n]];return f()};s[d]=!0,t.exports=Object.create||function(t,e){var n;return null!==t?(u.prototype=r(t),n=new u,u.prototype=null,n[d]=t):n=f(),void 0===e?n:o(n,e)}},"fR/l":function(t,e,n){var a=n("CH3K"),r=n("Z0cm");t.exports=function(t,e,n){var o=e(t);return r(t)?o:a(o,n(t))}},fdAy:function(t,e,n){"use strict";var a=n("I+eb"),r=n("ntOU"),o=n("4WOD"),i=n("0rvr"),s=n("1E5z"),c=n("kRJp"),l=n("busE"),d=n("tiKp"),u=n("xDBR"),g=n("P4y1"),f=n("rpNk"),p=f.IteratorPrototype,m=f.BUGGY_SAFARI_ITERATORS,h=d("iterator"),b=function(){return this};t.exports=function(t,e,n,d,f,_,y){r(n,e,d);var O,v,C,P=function(t){if(t===f&&k)return k;if(!m&&t in w)return w[t];switch(t){case"keys":case"values":case"entries":return function(){return new n(this,t)}}return function(){return new n(this)}},M=e+" Iterator",x=!1,w=t.prototype,T=w[h]||w["@@iterator"]||f&&w[f],k=!m&&T||P(f),S="Array"==e&&w.entries||T;if(S&&(O=o(S.call(new t)),p!==Object.prototype&&O.next&&(u||o(O)===p||(i?i(O,p):"function"!=typeof O[h]&&c(O,h,b)),s(O,M,!0,!0),u&&(g[M]=b))),"values"==f&&T&&"values"!==T.name&&(x=!0,k=function(){return T.call(this)}),u&&!y||w[h]===k||c(w,h,k),g[e]=k,f)if(v={values:P("values"),keys:_?k:P("keys"),entries:P("entries")},y)for(C in v)!m&&!x&&C in w||l(w,C,v[C]);else a({target:e,proto:!0,forced:m||x},v);return v}},fhFe:function(t,e,n){var a=n("mrSG").__decorate,r=n("mrSG").__metadata;Object.defineProperty(e,"__esModule",{value:!0});var o=n("8Y7J");e.DataTablePagerComponent=function(){function t(){this.change=new o.EventEmitter,this._count=0,this._page=1,this._size=0}return Object.defineProperty(t.prototype,"size",{get:function(){return this._size},set:function(t){this._size=t,this.pages=this.calcPages()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"count",{get:function(){return this._count},set:function(t){this._count=t,this.pages=this.calcPages()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"page",{get:function(){return this._page},set:function(t){this._page=t,this.pages=this.calcPages()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"totalPages",{get:function(){var t=this.size<1?1:Math.ceil(this.count/this.size);return Math.max(t||0,1)},enumerable:!0,configurable:!0}),t.prototype.canPrevious=function(){return this.page>1},t.prototype.canNext=function(){return this.page<this.totalPages},t.prototype.prevPage=function(){this.selectPage(this.page-1)},t.prototype.nextPage=function(){this.selectPage(this.page+1)},t.prototype.selectPage=function(t){t>0&&t<=this.totalPages&&t!==this.page&&(this.page=t,this.change.emit({page:t}))},t.prototype.calcPages=function(t){var e=[],n=1,a=this.totalPages;t=t||this.page,5<this.totalPages&&(n=t-Math.floor(2.5),a=t+Math.floor(2.5),n<1?(n=1,a=Math.min(n+5-1,this.totalPages)):a>this.totalPages&&(n=Math.max(this.totalPages-5+1,1),a=this.totalPages));for(var r=n;r<=a;r++)e.push({number:r,text:r});return e},a([o.Input(),r("design:type",String)],t.prototype,"pagerLeftArrowIcon",void 0),a([o.Input(),r("design:type",String)],t.prototype,"pagerRightArrowIcon",void 0),a([o.Input(),r("design:type",String)],t.prototype,"pagerPreviousIcon",void 0),a([o.Input(),r("design:type",String)],t.prototype,"pagerNextIcon",void 0),a([o.Input(),r("design:type",Number),r("design:paramtypes",[Number])],t.prototype,"size",null),a([o.Input(),r("design:type",Number),r("design:paramtypes",[Number])],t.prototype,"count",null),a([o.Input(),r("design:type",Number),r("design:paramtypes",[Number])],t.prototype,"page",null),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"change",void 0),a([o.Component({selector:"datatable-pager",template:'\n    <ul class="pager">\n      <li [class.disabled]="!canPrevious()">\n        <a\n          role="button"\n          aria-label="go to first page"\n          href="javascript:void(0)"\n          (click)="selectPage(1)">\n          <i class="{{pagerPreviousIcon}}"></i>\n        </a>\n      </li>\n      <li [class.disabled]="!canPrevious()">\n        <a\n          role="button"\n          aria-label="go to previous page"\n          href="javascript:void(0)"\n          (click)="prevPage()">\n          <i class="{{pagerLeftArrowIcon}}"></i>\n        </a>\n      </li>\n      <li\n        role="button"\n        [attr.aria-label]="\'page \' + pg.number"\n        class="pages"\n        *ngFor="let pg of pages"\n        [class.active]="pg.number === page">\n        <a\n          href="javascript:void(0)"\n          (click)="selectPage(pg.number)">\n          {{pg.text}}\n        </a>\n      </li>\n      <li [class.disabled]="!canNext()">\n        <a\n          role="button"\n          aria-label="go to next page"\n          href="javascript:void(0)"\n          (click)="nextPage()">\n          <i class="{{pagerRightArrowIcon}}"></i>\n        </a>\n      </li>\n      <li [class.disabled]="!canNext()">\n        <a\n          role="button"\n          aria-label="go to last page"\n          href="javascript:void(0)"\n          (click)="selectPage(totalPages)">\n          <i class="{{pagerNextIcon}}"></i>\n        </a>\n      </li>\n    </ul>\n  ',host:{class:"datatable-pager"},changeDetection:o.ChangeDetectionStrategy.OnPush})],t)}()},fktO:function(t,e,n){"use strict";function a(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),a(n("Ahxa")),a(n("fhFe")),a(n("lUjN")),a(n("vxfy"))},fmRc:function(t,e,n){var a=n("Xi7e"),r=n("77Zs"),o=n("L8xA"),i=n("gCq4"),s=n("VaNO"),c=n("0Cz8");function l(t){var e=this.__data__=new a(t);this.size=e.size}l.prototype.clear=r,l.prototype.delete=o,l.prototype.get=i,l.prototype.has=s,l.prototype.set=c,t.exports=l},ftKO:function(t,e){t.exports=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this}},fxL3:function(t,e,n){"use strict";n.d(e,"a",(function(){return p}));var a=n("8Y7J"),r=n("MP8s"),o=n("gk6K"),i=n("mfoh"),s=n("HIU9"),c=n("ijCd"),l=n.n(c),d=n("JZM8"),u=n.n(d),g=function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},f=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},p=function(){function t(t,e){var n=this;this.treeModel=t,this.treeDraggedElement=e,t.eventNames.forEach((function(t){return n[t]=new a.EventEmitter})),t.subscribeToState((function(t){return n.stateChange.emit(t)}))}return Object.defineProperty(t.prototype,"nodes",{set:function(t){},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"options",{set:function(t){},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"focused",{set:function(t){this.treeModel.setFocus(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"state",{set:function(t){this.treeModel.setState(t)},enumerable:!0,configurable:!0}),t.prototype.onKeydown=function(t){if(this.treeModel.isFocused&&!l()(["input","textarea"],document.activeElement.tagName.toLowerCase())){var e=this.treeModel.getFocusedNode();this.treeModel.performKeyAction(e,t)}},t.prototype.onMousedown=function(t){(function t(e,n){return!e||e.localName!==n&&t(e.parentElement,n)})(t.target,"tree-root")&&this.treeModel.setFocus(!1)},t.prototype.ngOnChanges=function(t){(t.options||t.nodes)&&this.treeModel.setData({options:t.options&&t.options.currentValue,nodes:t.nodes&&t.nodes.currentValue,events:u()(this,this.treeModel.eventNames)})},t.prototype.sizeChanged=function(){this.viewportComponent.setViewport()},g([Object(a.ContentChild)("loadingTemplate",{static:!1}),f("design:type",a.TemplateRef)],t.prototype,"loadingTemplate",void 0),g([Object(a.ContentChild)("treeNodeTemplate",{static:!1}),f("design:type",a.TemplateRef)],t.prototype,"treeNodeTemplate",void 0),g([Object(a.ContentChild)("treeNodeWrapperTemplate",{static:!1}),f("design:type",a.TemplateRef)],t.prototype,"treeNodeWrapperTemplate",void 0),g([Object(a.ContentChild)("treeNodeFullTemplate",{static:!1}),f("design:type",a.TemplateRef)],t.prototype,"treeNodeFullTemplate",void 0),g([Object(a.ViewChild)("viewport",{static:!1}),f("design:type",s.a)],t.prototype,"viewportComponent",void 0),g([Object(a.Input)(),f("design:type",Array),f("design:paramtypes",[Array])],t.prototype,"nodes",null),g([Object(a.Input)(),f("design:type",i.b),f("design:paramtypes",[i.b])],t.prototype,"options",null),g([Object(a.Input)(),f("design:type",Boolean),f("design:paramtypes",[Boolean])],t.prototype,"focused",null),g([Object(a.Input)(),f("design:type",Object),f("design:paramtypes",[Object])],t.prototype,"state",null),g([Object(a.Output)(),f("design:type",Object)],t.prototype,"toggleExpanded",void 0),g([Object(a.Output)(),f("design:type",Object)],t.prototype,"activate",void 0),g([Object(a.Output)(),f("design:type",Object)],t.prototype,"deactivate",void 0),g([Object(a.Output)(),f("design:type",Object)],t.prototype,"nodeActivate",void 0),g([Object(a.Output)(),f("design:type",Object)],t.prototype,"nodeDeactivate",void 0),g([Object(a.Output)(),f("design:type",Object)],t.prototype,"select",void 0),g([Object(a.Output)(),f("design:type",Object)],t.prototype,"deselect",void 0),g([Object(a.Output)(),f("design:type",Object)],t.prototype,"focus",void 0),g([Object(a.Output)(),f("design:type",Object)],t.prototype,"blur",void 0),g([Object(a.Output)(),f("design:type",Object)],t.prototype,"updateData",void 0),g([Object(a.Output)(),f("design:type",Object)],t.prototype,"initialized",void 0),g([Object(a.Output)(),f("design:type",Object)],t.prototype,"moveNode",void 0),g([Object(a.Output)(),f("design:type",Object)],t.prototype,"copyNode",void 0),g([Object(a.Output)(),f("design:type",Object)],t.prototype,"loadNodeChildren",void 0),g([Object(a.Output)(),f("design:type",Object)],t.prototype,"changeFilter",void 0),g([Object(a.Output)(),f("design:type",Object)],t.prototype,"event",void 0),g([Object(a.Output)(),f("design:type",Object)],t.prototype,"stateChange",void 0),g([Object(a.HostListener)("body: keydown",["$event"]),f("design:type",Function),f("design:paramtypes",[Object]),f("design:returntype",void 0)],t.prototype,"onKeydown",null),g([Object(a.HostListener)("body: mousedown",["$event"]),f("design:type",Function),f("design:paramtypes",[Object]),f("design:returntype",void 0)],t.prototype,"onMousedown",null),g([Object(a.Component)({selector:"Tree, tree-root",providers:[r.a],styles:[],template:'\n      <tree-viewport #viewport>\n          <div\n                  class="angular-tree-component"\n                  [class.node-dragging]="treeDraggedElement.isDragging()"\n                  [class.angular-tree-component-rtl]="treeModel.options.rtl">\n              <tree-node-collection\n                      *ngIf="treeModel.roots"\n                      [nodes]="treeModel.roots"\n                      [treeModel]="treeModel"\n                      [templates]="{\n            loadingTemplate: loadingTemplate,\n            treeNodeTemplate: treeNodeTemplate,\n            treeNodeWrapperTemplate: treeNodeWrapperTemplate,\n            treeNodeFullTemplate: treeNodeFullTemplate\n          }">\n              </tree-node-collection>\n              <tree-node-drop-slot\n                      class="empty-tree-drop-slot"\n                      *ngIf="treeModel.isEmptyTree()"\n                      [dropIndex]="0"\n                      [node]="treeModel.virtualRoot">\n              </tree-node-drop-slot>\n          </div>\n      </tree-viewport>\n  '}),f("design:paramtypes",[r.a,o.a])],t)}()},fzPg:function(t,e,n){!function(t){"use strict";t.defineLocale("yo",{months:"Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀".split("_"),monthsShort:"Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀".split("_"),weekdays:"Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta".split("_"),weekdaysShort:"Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá".split("_"),weekdaysMin:"Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Ònì ni] LT",nextDay:"[Ọ̀la ni] LT",nextWeek:"dddd [Ọsẹ̀ tón'bọ] [ni] LT",lastDay:"[Àna ni] LT",lastWeek:"dddd [Ọsẹ̀ tólọ́] [ni] LT",sameElse:"L"},relativeTime:{future:"ní %s",past:"%s kọjá",s:"ìsẹjú aayá die",ss:"aayá %d",m:"ìsẹjú kan",mm:"ìsẹjú %d",h:"wákati kan",hh:"wákati %d",d:"ọjọ́ kan",dd:"ọjọ́ %d",M:"osù kan",MM:"osù %d",y:"ọdún kan",yy:"ọdún %d"},dayOfMonthOrdinalParse:/ọjọ́\s\d{1,2}/,ordinal:"ọjọ́ %d",week:{dow:1,doy:4}})}(n("wd/R"))},"g6v/":function(t,e,n){var a=n("0Dky");t.exports=!a((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},gCq4:function(t,e){t.exports=function(t){return this.__data__.get(t)}},gFfm:function(t,e){t.exports=function(t,e){for(var n=-1,a=null==t?0:t.length;++n<a&&!1!==e(t[n],n,t););return t}},gRHU:function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var a=n("2fFW"),r=n("NJ4a");const o={closed:!0,next(t){},error(t){if(a.a.useDeprecatedSynchronousErrorHandling)throw t;Object(r.a)(t)},complete(){}}},gVVK:function(t,e,n){!function(t){"use strict";function e(t,e,n,a){var r=t+" ";switch(n){case"s":return e||a?"nekaj sekund":"nekaj sekundami";case"ss":return r+(1===t?e?"sekundo":"sekundi":2===t?e||a?"sekundi":"sekundah":t<5?e||a?"sekunde":"sekundah":"sekund");case"m":return e?"ena minuta":"eno minuto";case"mm":return r+(1===t?e?"minuta":"minuto":2===t?e||a?"minuti":"minutama":t<5?e||a?"minute":"minutami":e||a?"minut":"minutami");case"h":return e?"ena ura":"eno uro";case"hh":return r+(1===t?e?"ura":"uro":2===t?e||a?"uri":"urama":t<5?e||a?"ure":"urami":e||a?"ur":"urami");case"d":return e||a?"en dan":"enim dnem";case"dd":return r+(1===t?e||a?"dan":"dnem":2===t?e||a?"dni":"dnevoma":e||a?"dni":"dnevi");case"M":return e||a?"en mesec":"enim mesecem";case"MM":return r+(1===t?e||a?"mesec":"mesecem":2===t?e||a?"meseca":"mesecema":t<5?e||a?"mesece":"meseci":e||a?"mesecev":"meseci");case"y":return e||a?"eno leto":"enim letom";case"yy":return r+(1===t?e||a?"leto":"letom":2===t?e||a?"leti":"letoma":t<5?e||a?"leta":"leti":e||a?"let":"leti")}}t.defineLocale("sl",{months:"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._čet._pet._sob.".split("_"),weekdaysMin:"ne_po_to_sr_če_pe_so".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danes ob] LT",nextDay:"[jutri ob] LT",nextWeek:function(){switch(this.day()){case 0:return"[v] [nedeljo] [ob] LT";case 3:return"[v] [sredo] [ob] LT";case 6:return"[v] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[v] dddd [ob] LT"}},lastDay:"[včeraj ob] LT",lastWeek:function(){switch(this.day()){case 0:return"[prejšnjo] [nedeljo] [ob] LT";case 3:return"[prejšnjo] [sredo] [ob] LT";case 6:return"[prejšnjo] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[prejšnji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"čez %s",past:"pred %s",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n("wd/R"))},gekB:function(t,e,n){!function(t){"use strict";var e="nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän".split(" "),n=["nolla","yhden","kahden","kolmen","neljän","viiden","kuuden",e[7],e[8],e[9]];function a(t,a,r,o){var i="";switch(r){case"s":return o?"muutaman sekunnin":"muutama sekunti";case"ss":return o?"sekunnin":"sekuntia";case"m":return o?"minuutin":"minuutti";case"mm":i=o?"minuutin":"minuuttia";break;case"h":return o?"tunnin":"tunti";case"hh":i=o?"tunnin":"tuntia";break;case"d":return o?"päivän":"päivä";case"dd":i=o?"päivän":"päivää";break;case"M":return o?"kuukauden":"kuukausi";case"MM":i=o?"kuukauden":"kuukautta";break;case"y":return o?"vuoden":"vuosi";case"yy":i=o?"vuoden":"vuotta"}return function(t,a){return t<10?a?n[t]:e[t]:t}(t,o)+" "+i}t.defineLocale("fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] HH.mm",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] HH.mm",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] HH.mm",llll:"ddd, Do MMM YYYY, [klo] HH.mm"},calendar:{sameDay:"[tänään] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s päästä",past:"%s sitten",s:a,ss:a,m:a,mm:a,h:a,hh:a,d:a,dd:a,M:a,MM:a,y:a,yy:a},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("wd/R"))},gjCT:function(t,e,n){!function(t){"use strict";var e={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},n={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"};t.defineLocale("ar-sa",{months:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(t){return"م"===t},meridiem:function(t,e,n){return t<12?"ص":"م"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},preparse:function(t){return t.replace(/[١٢٣٤٥٦٧٨٩٠]/g,(function(t){return n[t]})).replace(/،/g,",")},postformat:function(t){return t.replace(/\d/g,(function(t){return e[t]})).replace(/,/g,"،")},week:{dow:0,doy:6}})}(n("wd/R"))},gk6K:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("8Y7J"),r=function(){function t(){this._draggedElement=null}return t.prototype.set=function(t){this._draggedElement=t},t.prototype.get=function(){return this._draggedElement},t.prototype.isDragging=function(){return!!this.get()},function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i}([Object(a.Injectable)()],t)}()},glrk:function(t,e,n){var a=n("hh1v");t.exports=function(t){if(!a(t))throw TypeError(String(t)+" is not an object");return t}},gp3X:function(t,e,n){"use strict";var a=n("8Y7J"),r=n("SVse");n("sb0X"),n.d(e,"a",(function(){return o})),n.d(e,"b",(function(){return s}));var o=a["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function i(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,4,"span",[],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,3,"i",[],null,null,null,null,null)),a["ɵprd"](512,null,r["ɵNgClassImpl"],r["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](3,278528,null,0,r.NgClass,[r["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),a["ɵpad"](4,2)],(function(t,e){var n=e.component,a=t(e,4,0,n.icons.spinner,n.icons.spin);t(e,3,0,a)}),null)}function s(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,5,"button",[["class","btn btn-secondary tc_submitButton"]],[[8,"type",0],[8,"disabled",0]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.submit(n)&&a),a}),null,null)),a["ɵprd"](512,null,r["ɵNgClassImpl"],r["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](2,278528,null,0,r.NgClass,[r["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),a["ɵncd"](null,0),(t()(),a["ɵand"](16777216,null,null,1,null,i)),a["ɵdid"](5,16384,null,0,r.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,2,0,"btn btn-secondary tc_submitButton",n.btnClass),t(e,5,0,n.loading)}),(function(t,e){var n=e.component;t(e,0,0,n.type,n.loading||n.disabled)}))}},gpbi:function(t,e,n){var a=n("ZWtO"),r=n("KxBF");t.exports=function(t,e){return e.length<2?t:a(t,r(e,0,-1))}},"h+PQ":function(t,e,n){"use strict";function a(){return""}function r(t,e){if(null==t)return"";if(!t||null==e)return t;var n=t[e];return null==n?"":n}function o(t,e){if(null==t)return"";if(!t||!e)return t;var n=t[e];return null==n?"":n}function i(t,e){if(null==t)return"";if(!t||!e)return t;var n=t[e];if(void 0!==n)return n;n=t;var a=e.split(".");if(a.length)for(var r=0;r<a.length;r++)if(null==(n=n[a[r]]))return"";return n}Object.defineProperty(e,"__esModule",{value:!0}),e.emptyStringGetter=a,e.getterForProp=function(t){return null==t?a:"number"==typeof t?r:-1!==t.indexOf(".")?i:o},e.numericIndexGetter=r,e.shallowValueGetter=o,e.deepValueGetter=i},h6KF:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=n("qwkt"),r=n("h+PQ");function o(t,e){if(null==t&&(t=0),null==e&&(e=0),t instanceof Date&&e instanceof Date){if(t<e)return-1;if(t>e)return 1}else if(isNaN(parseFloat(t))||!isFinite(t)||isNaN(parseFloat(e))||!isFinite(e)){if(t=String(t),e=String(e),t.toLowerCase()<e.toLowerCase())return-1;if(t.toLowerCase()>e.toLowerCase())return 1}else{if(parseFloat(t)<parseFloat(e))return-1;if(parseFloat(t)>parseFloat(e))return 1}return 0}e.nextSortDir=function(t,e){return t===a.SortType.single?e===a.SortDirection.asc?a.SortDirection.desc:a.SortDirection.asc:e?e===a.SortDirection.asc?a.SortDirection.desc:void 0:a.SortDirection.asc},e.orderByComparator=o,e.sortRows=function(t,e,n){if(!t)return[];if(!n||!n.length||!e)return t.slice();var i=new Map;t.forEach((function(t,e){return i.set(t,e)}));var s=t.slice(),c=e.reduce((function(t,e){return e.comparator&&"function"==typeof e.comparator&&(t[e.prop]=e.comparator),t}),{}),l=n.map((function(t){var e=t.prop;return{prop:e,dir:t.dir,valueGetter:r.getterForProp(e),compareFn:c[e]||o}}));return s.sort((function(t,e){for(var n=0,r=l;n<r.length;n++){var o=r[n],s=o.prop,c=o.valueGetter,d=c(t,s),u=c(e,s),g=o.dir!==a.SortDirection.desc?o.compareFn(d,u,t,e,o.dir):-o.compareFn(d,u,t,e,o.dir);if(0!==g)return g}return i.has(t)&&i.has(e)?i.get(t)<i.get(e)?-1:1:0}))}},"hKI/":function(t,e){var n=/^\s+|\s+$/g,a=/^[-+]0x[0-9a-f]+$/i,r=/^0b[01]+$/i,o=/^0o[0-7]+$/i,i=parseInt,s="object"==typeof global&&global&&global.Object===Object&&global,c="object"==typeof self&&self&&self.Object===Object&&self,l=s||c||Function("return this")(),d=Object.prototype.toString,u=Math.max,g=Math.min,f=function(){return l.Date.now()};function p(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function m(t){if("number"==typeof t)return t;if(function(t){return"symbol"==typeof t||function(t){return!!t&&"object"==typeof t}(t)&&"[object Symbol]"==d.call(t)}(t))return NaN;if(p(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=p(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(n,"");var s=r.test(t);return s||o.test(t)?i(t.slice(2),s?2:8):a.test(t)?NaN:+t}t.exports=function(t,e,n){var a=!0,r=!0;if("function"!=typeof t)throw new TypeError("Expected a function");return p(n)&&(a="leading"in n?!!n.leading:a,r="trailing"in n?!!n.trailing:r),function(t,e,n){var a,r,o,i,s,c,l=0,d=!1,h=!1,b=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function _(e){var n=a,o=r;return a=r=void 0,l=e,i=t.apply(o,n)}function y(t){return l=t,s=setTimeout(v,e),d?_(t):i}function O(t){var n=t-c;return void 0===c||n>=e||n<0||h&&t-l>=o}function v(){var t=f();if(O(t))return C(t);s=setTimeout(v,function(t){var n=e-(t-c);return h?g(n,o-(t-l)):n}(t))}function C(t){return s=void 0,b&&a?_(t):(a=r=void 0,i)}function P(){var t=f(),n=O(t);if(a=arguments,r=this,c=t,n){if(void 0===s)return y(c);if(h)return s=setTimeout(v,e),_(c)}return void 0===s&&(s=setTimeout(v,e)),i}return e=m(e)||0,p(n)&&(d=!!n.leading,o=(h="maxWait"in n)?u(m(n.maxWait)||0,e):o,b="trailing"in n?!!n.trailing:b),P.cancel=function(){void 0!==s&&clearTimeout(s),l=0,a=c=r=s=void 0},P.flush=function(){return void 0===s?i:C(f())},P}(t,e,{leading:a,maxWait:e,trailing:r})}},hKrs:function(t,e,n){!function(t){"use strict";t.defineLocale("bg",{months:"януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември".split("_"),monthsShort:"янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек".split("_"),weekdays:"неделя_понеделник_вторник_сряда_четвъртък_петък_събота".split("_"),weekdaysShort:"нед_пон_вто_сря_чет_пет_съб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[Днес в] LT",nextDay:"[Утре в] LT",nextWeek:"dddd [в] LT",lastDay:"[Вчера в] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[В изминалата] dddd [в] LT";case 1:case 2:case 4:case 5:return"[В изминалия] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"след %s",past:"преди %s",s:"няколко секунди",ss:"%d секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дни",M:"месец",MM:"%d месеца",y:"година",yy:"%d години"},dayOfMonthOrdinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(t){var e=t%10,n=t%100;return 0===t?t+"-ев":0===n?t+"-ен":n>10&&n<20?t+"-ти":1===e?t+"-ви":2===e?t+"-ри":7===e||8===e?t+"-ми":t+"-ти"},week:{dow:1,doy:7}})}(n("wd/R"))},heNW:function(t,e){t.exports=function(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}},hfeG:function(t,e,n){"use strict";var a=n("8Y7J"),r=n("s7LF"),o=n("+gVj"),i=n("EmSq"),s=n("Fgil"),c=n("aXbf"),l=n("SVse"),d=n("mXUL"),u=n("EEJc"),g=n("ajRT"),f=n("gp3X"),p=n("sb0X"),m=n("KVJa"),h=n("Z21x"),b=n("sne2"),_=n("Rf2I"),y=n("LqlI"),O=n("2EZI"),v=n("GiVz");n.d(e,"a",(function(){return D}));var C=a["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function P(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,null,null,null,null,null,null,null)),(t()(),a["ɵted"](1,null,[" "," "]))],null,(function(t,e){t(e,1,0,e.component.titleText)}))}function M(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"p",[],null,null,null,null,null)),(t()(),a["ɵted"](1,null,["",""]))],null,(function(t,e){t(e,1,0,e.component.message)}))}function x(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"label",[["class","cd-col-form-label"]],[[8,"htmlFor",0]],null,null,null,null)),(t()(),a["ɵted"](1,null,[" "," "]))],null,(function(t,e){t(e,0,0,e.parent.context.$implicit.name),t(e,1,0,e.parent.context.$implicit.label)}))}function w(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,6,"input",[["class","form-control"]],[[8,"type",0],[8,"id",0],[8,"name",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var r=!0;return"input"===e&&(r=!1!==a["ɵnov"](t,1)._handleInput(n.target.value)&&r),"blur"===e&&(r=!1!==a["ɵnov"](t,1).onTouched()&&r),"compositionstart"===e&&(r=!1!==a["ɵnov"](t,1)._compositionStart()&&r),"compositionend"===e&&(r=!1!==a["ɵnov"](t,1)._compositionEnd(n.target.value)&&r),r}),null,null)),a["ɵdid"](1,16384,null,0,r.e,[a.Renderer2,a.ElementRef,[2,r.b]],null,null),a["ɵprd"](1024,null,r.p,(function(t){return[t]}),[r.e]),a["ɵdid"](3,671744,null,0,r.j,[[3,r.d],[8,null],[8,null],[6,r.p],[2,r.E]],{name:[0,"name"]},null),a["ɵprd"](2048,null,r.q,null,[r.j]),a["ɵdid"](5,16384,null,0,r.r,[[4,r.q]],null,null),a["ɵdid"](6,16384,null,0,o.h,[[3,r.d],o.a],{formControlName:[0,"formControlName"]},null)],(function(t,e){t(e,3,0,e.parent.context.$implicit.name),t(e,6,0,e.parent.context.$implicit.name)}),(function(t,e){t(e,0,1,[e.parent.context.$implicit.type,e.parent.context.$implicit.name,e.parent.context.$implicit.name,a["ɵnov"](e,5).ngClassUntouched,a["ɵnov"](e,5).ngClassTouched,a["ɵnov"](e,5).ngClassPristine,a["ɵnov"](e,5).ngClassDirty,a["ɵnov"](e,5).ngClassValid,a["ɵnov"](e,5).ngClassInvalid,a["ɵnov"](e,5).ngClassPending,a["ɵnov"](e,6).validClass,a["ɵnov"](e,6).invalidClass])}))}function T(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,7,"input",[["cdDimlessBinary",""],["class","form-control"],["type","text"]],[[8,"id",0],[8,"name",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var r=!0;return"input"===e&&(r=!1!==a["ɵnov"](t,1)._handleInput(n.target.value)&&r),"blur"===e&&(r=!1!==a["ɵnov"](t,1).onTouched()&&r),"compositionstart"===e&&(r=!1!==a["ɵnov"](t,1)._compositionStart()&&r),"compositionend"===e&&(r=!1!==a["ɵnov"](t,1)._compositionEnd(n.target.value)&&r),"blur"===e&&(r=!1!==a["ɵnov"](t,6).onBlur(n.target.value)&&r),r}),null,null)),a["ɵdid"](1,16384,null,0,r.e,[a.Renderer2,a.ElementRef,[2,r.b]],null,null),a["ɵprd"](1024,null,r.p,(function(t){return[t]}),[r.e]),a["ɵdid"](3,671744,null,0,r.j,[[3,r.d],[8,null],[8,null],[6,r.p],[2,r.E]],{name:[0,"name"]},null),a["ɵprd"](2048,null,r.q,null,[r.j]),a["ɵdid"](5,16384,null,0,r.r,[[4,r.q]],null,null),a["ɵdid"](6,81920,null,0,i.a,[a.ElementRef,r.q,s.a,c.a],null,null),a["ɵdid"](7,16384,null,0,o.h,[[3,r.d],o.a],{formControlName:[0,"formControlName"]},null)],(function(t,e){t(e,3,0,e.parent.context.$implicit.name),t(e,6,0),t(e,7,0,e.parent.context.$implicit.name)}),(function(t,e){t(e,0,1,[e.parent.context.$implicit.name,e.parent.context.$implicit.name,a["ɵnov"](e,5).ngClassUntouched,a["ɵnov"](e,5).ngClassTouched,a["ɵnov"](e,5).ngClassPristine,a["ɵnov"](e,5).ngClassDirty,a["ɵnov"](e,5).ngClassValid,a["ɵnov"](e,5).ngClassInvalid,a["ɵnov"](e,5).ngClassPending,a["ɵnov"](e,7).validClass,a["ɵnov"](e,7).invalidClass])}))}function k(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),a["ɵdid"](1,147456,null,0,r.v,[a.ElementRef,a.Renderer2,[2,r.A]],{ngValue:[0,"ngValue"]},null),a["ɵdid"](2,147456,null,0,r.F,[a.ElementRef,a.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(t()(),a["ɵted"](3,null,[" "," "]))],(function(t,e){t(e,1,0,null),t(e,2,0,null)}),(function(t,e){t(e,3,0,e.parent.parent.context.$implicit.placeholder)}))}function S(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),a["ɵdid"](1,147456,null,0,r.v,[a.ElementRef,a.Renderer2,[2,r.A]],{value:[0,"value"]},null),a["ɵdid"](2,147456,null,0,r.F,[a.ElementRef,a.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),a["ɵted"](3,null,[" "," "]))],(function(t,e){t(e,1,0,e.context.$implicit.value),t(e,2,0,e.context.$implicit.value)}),(function(t,e){t(e,3,0,e.context.$implicit.text)}))}function I(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,10,"select",[["class","form-control custom-select"]],[[8,"id",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(t,e,n){var r=!0;return"change"===e&&(r=!1!==a["ɵnov"](t,1).onChange(n.target.value)&&r),"blur"===e&&(r=!1!==a["ɵnov"](t,1).onTouched()&&r),r}),null,null)),a["ɵdid"](1,16384,null,0,r.A,[a.Renderer2,a.ElementRef],null,null),a["ɵprd"](1024,null,r.p,(function(t){return[t]}),[r.A]),a["ɵdid"](3,671744,null,0,r.j,[[3,r.d],[8,null],[8,null],[6,r.p],[2,r.E]],{name:[0,"name"]},null),a["ɵprd"](2048,null,r.q,null,[r.j]),a["ɵdid"](5,16384,null,0,r.r,[[4,r.q]],null,null),a["ɵdid"](6,16384,null,0,o.h,[[3,r.d],o.a],{formControlName:[0,"formControlName"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,k)),a["ɵdid"](8,16384,null,0,l.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,S)),a["ɵdid"](10,278528,null,0,l.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){t(e,3,0,e.parent.context.$implicit.name),t(e,6,0,e.parent.context.$implicit.name),t(e,8,0,e.parent.context.$implicit.placeholder),t(e,10,0,e.parent.context.$implicit.options)}),(function(t,e){t(e,0,0,e.parent.context.$implicit.name,a["ɵnov"](e,5).ngClassUntouched,a["ɵnov"](e,5).ngClassTouched,a["ɵnov"](e,5).ngClassPristine,a["ɵnov"](e,5).ngClassDirty,a["ɵnov"](e,5).ngClassValid,a["ɵnov"](e,5).ngClassInvalid,a["ɵnov"](e,5).ngClassPending,a["ɵnov"](e,6).validClass,a["ɵnov"](e,6).invalidClass)}))}function N(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),a["ɵted"](1,null,[" "," "]))],null,(function(t,e){t(e,1,0,e.component.getError(e.parent.context.$implicit))}))}function R(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,19,null,null,null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,18,"div",[],[[8,"className",0],[2,"has-error",null],[2,"has-success",null]],null,null,d.b,d.a)),a["ɵdid"](2,1163264,null,2,o.c,[a.ElementRef,o.g],null,null),a["ɵqud"](603979776,1,{FormControlNames:1}),a["ɵqud"](603979776,2,{messagesBlock:0}),(t()(),a["ɵand"](16777216,null,0,1,null,x)),a["ɵdid"](6,16384,null,0,l.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵeld"](7,0,null,0,12,"div",[],null,null,null,null,null)),a["ɵprd"](512,null,l["ɵNgClassImpl"],l["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](9,278528,null,0,l.NgClass,[l["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),a["ɵpod"](10,{"cd-col-form-input":0,"col-sm-12":1}),(t()(),a["ɵand"](16777216,null,null,2,null,w)),a["ɵdid"](12,16384,null,0,l.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),a["ɵpad"](13,2),(t()(),a["ɵand"](16777216,null,null,1,null,T)),a["ɵdid"](15,16384,null,0,l.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,I)),a["ɵdid"](17,16384,null,0,l.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,N)),a["ɵdid"](19,16384,null,0,l.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,2,0),t(e,6,0,e.context.$implicit.label);var r=t(e,10,0,e.context.$implicit.label,!e.context.$implicit.label);t(e,9,0,r);var o=t(e,13,0,"text","number").includes(e.context.$implicit.type);t(e,12,0,o),t(e,15,0,"binary"===e.context.$implicit.type),t(e,17,0,"select"===e.context.$implicit.type),t(e,19,0,n.formGroup.showError(e.context.$implicit.name,a["ɵnov"](e.parent,7)))}),(function(t,e){t(e,1,0,a["ɵinlineInterpolate"](1,"form-group row cd-",e.context.$implicit.name,"-form-group"),a["ɵnov"](e,2).hasErrors,a["ɵnov"](e,2).hasSuccess)}))}function A(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,22,"cd-modal",[],null,null,null,u.c,u.b)),a["ɵdid"](1,49152,null,0,g.a,[],{modalRef:[0,"modalRef"]},null),(t()(),a["ɵand"](16777216,null,0,1,null,P)),a["ɵdid"](3,16384,null,0,l.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵeld"](4,0,null,1,18,null,null,null,null,null,null,null)),(t()(),a["ɵeld"](5,0,null,null,17,"form",[["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(t,e,n){var r=!0;return"submit"===e&&(r=!1!==a["ɵnov"](t,7).onSubmit(n)&&r),"reset"===e&&(r=!1!==a["ɵnov"](t,7).onReset()&&r),"submit"===e&&(r=!1!==a["ɵnov"](t,10).onSubmit()&&r),r}),null,null)),a["ɵdid"](6,16384,null,0,r.G,[],null,null),a["ɵdid"](7,540672,[["formDir",4]],0,r.l,[[8,null],[8,null]],{form:[0,"form"]},null),a["ɵprd"](2048,null,r.d,null,[r.l]),a["ɵdid"](9,16384,null,0,r.s,[[4,r.d]],null,null),a["ɵdid"](10,16384,null,0,o.d,[],{formGroup:[0,"formGroup"]},null),(t()(),a["ɵeld"](11,0,null,null,4,"div",[["class","modal-body"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,M)),a["ɵdid"](13,16384,null,0,l.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,R)),a["ɵdid"](15,278528,null,0,l.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),a["ɵeld"](16,0,null,null,6,"div",[["class","modal-footer"]],null,null,null,null,null)),(t()(),a["ɵeld"](17,0,null,null,5,"div",[["class","button-group text-right"]],null,null,null,null,null)),(t()(),a["ɵeld"](18,0,null,null,2,"cd-submit-button",[],null,[[null,"submitAction"]],(function(t,e,n){var a=!0,r=t.component;return"submitAction"===e&&(a=!1!==r.onSubmitForm(r.formGroup.value)&&a),a}),f.b,f.a)),a["ɵdid"](19,114688,null,0,p.a,[a.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(t()(),a["ɵted"](20,0,[" "," "])),(t()(),a["ɵeld"](21,0,null,null,1,"cd-back-button",[],null,null,null,m.b,m.a)),a["ɵdid"](22,49152,null,0,h.a,[l.Location,b.b],{back:[0,"back"]},null)],(function(t,e){var n=e.component;t(e,1,0,n.bsModalRef),t(e,3,0,n.titleText),t(e,7,0,n.formGroup),t(e,10,0,n.formGroup),t(e,13,0,n.message),t(e,15,0,n.fields),t(e,19,0,n.formGroup),t(e,22,0,n.bsModalRef.hide)}),(function(t,e){var n=e.component;t(e,5,0,a["ɵnov"](e,9).ngClassUntouched,a["ɵnov"](e,9).ngClassTouched,a["ɵnov"](e,9).ngClassPristine,a["ɵnov"](e,9).ngClassDirty,a["ɵnov"](e,9).ngClassValid,a["ɵnov"](e,9).ngClassInvalid,a["ɵnov"](e,9).ngClassPending),t(e,20,0,n.submitButtonText)}))}function E(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"cd-form-modal",[],null,null,null,A,C)),a["ɵdid"](1,114688,null,0,_.a,[y.a,O.a,c.a,s.a,v.a],null,null)],(function(t,e){t(e,1,0)}),null)}var D=a["ɵccf"]("cd-form-modal",_.a,E,{},{},[])},hgQt:function(t,e,n){var a=n("Juji"),r=n("4sDh");t.exports=function(t,e){return null!=t&&r(t,e,a)}},hh1v:function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},honF:function(t,e,n){!function(t){"use strict";var e={1:"၁",2:"၂",3:"၃",4:"၄",5:"၅",6:"၆",7:"၇",8:"၈",9:"၉",0:"၀"},n={"၁":"1","၂":"2","၃":"3","၄":"4","၅":"5","၆":"6","၇":"7","၈":"8","၉":"9","၀":"0"};t.defineLocale("my",{months:"ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ".split("_"),monthsShort:"ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ".split("_"),weekdays:"တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ".split("_"),weekdaysShort:"နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),weekdaysMin:"နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[ယနေ.] LT [မှာ]",nextDay:"[မနက်ဖြန်] LT [မှာ]",nextWeek:"dddd LT [မှာ]",lastDay:"[မနေ.က] LT [မှာ]",lastWeek:"[ပြီးခဲ့သော] dddd LT [မှာ]",sameElse:"L"},relativeTime:{future:"လာမည့် %s မှာ",past:"လွန်ခဲ့သော %s က",s:"စက္ကန်.အနည်းငယ်",ss:"%d စက္ကန့်",m:"တစ်မိနစ်",mm:"%d မိနစ်",h:"တစ်နာရီ",hh:"%d နာရီ",d:"တစ်ရက်",dd:"%d ရက်",M:"တစ်လ",MM:"%d လ",y:"တစ်နှစ်",yy:"%d နှစ်"},preparse:function(t){return t.replace(/[၁၂၃၄၅၆၇၈၉၀]/g,(function(t){return n[t]}))},postformat:function(t){return t.replace(/\d/g,(function(t){return e[t]}))},week:{dow:1,doy:4}})}(n("wd/R"))},hpHm:function(t,e,n){"use strict";n.d(e,"a",(function(){return p})),n.d(e,"b",(function(){return m})),n.d(e,"c",(function(){return u})),n.d(e,"d",(function(){return f})),n.d(e,"e",(function(){return s})),n.d(e,"f",(function(){return i})),n.d(e,"g",(function(){return l})),n.d(e,"h",(function(){return c})),n.d(e,"i",(function(){return _})),n.d(e,"j",(function(){return d}));var a=n("8Y7J");class r{constructor(t,e){this.open=t,this.close=e||t}isManual(){return"manual"===this.open||"manual"===this.close}}const o={hover:["mouseover","mouseout"],focus:["focusin","focusout"]};function i(t,e=o){const n=(t||"").trim();if(0===n.length)return[];const a=n.split(/\s+/).map(t=>t.split(":")).map(t=>{const n=e[t[0]]||t;return new r(n[0],n[1])}),i=a.filter(t=>t.isManual());if(i.length>1)throw new Error("Triggers parse error: only one manual trigger is allowed");if(1===i.length&&a.length>1)throw new Error("Triggers parse error: manual trigger can't be mixed with other triggers");return a}function s(t,e){const n=i(e.triggers),a=e.target;if(1===n.length&&n[0].isManual())return Function.prototype;const r=[],o=[],s=()=>{o.forEach(t=>r.push(t())),o.length=0};return n.forEach(n=>{const i=n.open===n.close,c=i?e.toggle:e.show;i||o.push(()=>t.listen(a,n.close,e.hide)),r.push(t.listen(a,n.open,()=>c(s)))}),()=>{r.forEach(t=>t())}}function c(t,e){return e.outsideClick?t.listen("document","click",t=>{e.target&&e.target.contains(t.target)||e.targets&&e.targets.some(e=>e.contains(t.target))||e.hide()}):Function.prototype}function l(t,e){return e.outsideEsc?t.listen("document","keyup.esc",t=>{e.target&&e.target.contains(t.target)||e.targets&&e.targets.some(e=>e.contains(t.target))||e.hide()}):Function.prototype}const d="undefined"!=typeof window&&window||{},u=d.document;let g;function f(){return void 0===d||(void 0===d.__theme?g?"bs3"===g:(g=function(){if("undefined"==typeof document)return null;const t=document.createElement("span");t.innerText="test bs version",document.body.appendChild(t),t.classList.add("d-none");const e=t.getBoundingClientRect();return document.body.removeChild(t),e&&0===e.top?"bs4":"bs3"}(),"bs3"===g):"bs4"!==d.__theme)}function p(t){return function(t,e){const n=` __${e}Value`;Object.defineProperty(t,e,{get(){return this[n]},set(t){const a=this[n];this[n]=t,a!==t&&this[e+"Change"]&&this[e+"Change"].emit(t)}})}}class m{static reflow(t){}static getStyles(t){let e=t.ownerDocument.defaultView;return e&&e.opener||(e=d),e.getComputedStyle(t)}}const h={},b="undefined"==typeof console||!("warn"in console);function _(t){!Object(a.isDevMode)()||b||t in h||(h[t]=!0,console.warn(t))}},hrfs:function(t,e,n){"use strict";n.d(e,"a",(function(){return h})),n.d(e,"b",(function(){return b})),n.d(e,"c",(function(){return p}));var a=n("8Y7J"),r=n("MO+k"),o=n("2Vo4"),i=n("LvDl");const s=[[255,99,132],[54,162,235],[255,206,86],[231,233,237],[75,192,192],[151,187,205],[220,220,220],[247,70,74],[70,191,189],[253,180,92],[148,159,177],[77,83,96]];function c(t,e){return"rgba("+t.concat(e).join(",")+")"}function l(t,e){return Math.floor(Math.random()*(e-t+1))+t}function d(t){return{backgroundColor:t.map(t=>c(t,.6)),borderColor:t.map(()=>"#fff"),pointBackgroundColor:t.map(t=>c(t,1)),pointBorderColor:t.map(()=>"#fff"),pointHoverBackgroundColor:t.map(t=>c(t,1)),pointHoverBorderColor:t.map(t=>c(t,1))}}function u(){return[l(0,255),l(0,255),l(0,255)]}function g(t){return s[t]||u()}function f(t){const e=new Array(t);for(let n=0;n<t;n++)e[n]=s[n]||u();return e}let p=(()=>{class t{constructor(){this.pColorschemesOptions={},this.colorschemesOptions=new o.a({})}setColorschemesOptions(t){this.pColorschemesOptions=t,this.colorschemesOptions.next(t)}getColorschemesOptions(){return this.pColorschemesOptions}}return t.ngInjectableDef=Object(a["ɵɵdefineInjectable"])({factory:function(){return new t},token:t,providedIn:"root"}),t})();const m=function(){var t={Default:0,Update:1,Refresh:2};return t[t.Default]="Default",t[t.Update]="Update",t[t.Refresh]="Refresh",t}();class h{constructor(t,e){this.element=t,this.themeService=e,this.options={},this.chartClick=new a.EventEmitter,this.chartHover=new a.EventEmitter,this.old={dataExists:!1,dataLength:0,datasetsExists:!1,datasetsLength:0,datasetsDataObjects:[],datasetsDataLengths:[],colorsExists:!1,colors:[],labelsExist:!1,labels:[],legendExists:!1,legend:{}},this.subs=[]}static registerPlugin(t){r.Chart.plugins.register(t)}static unregisterPlugin(t){r.Chart.plugins.unregister(t)}ngOnInit(){this.ctx=this.element.nativeElement.getContext("2d"),this.refresh(),this.subs.push(this.themeService.colorschemesOptions.subscribe(t=>this.themeChanged(t)))}themeChanged(t){this.refresh()}ngDoCheck(){if(!this.chart)return;let t=m.Default;const e=e=>{t=e>t?e:t};switch(!!this.data!==this.old.dataExists&&(this.propagateDataToDatasets(this.data),this.old.dataExists=!!this.data,e(m.Update)),this.data&&this.data.length!==this.old.dataLength&&(this.old.dataLength=this.data&&this.data.length||0,e(m.Update)),!!this.datasets!==this.old.datasetsExists&&(this.old.datasetsExists=!!this.datasets,e(m.Update)),this.datasets&&this.datasets.length!==this.old.datasetsLength&&(this.old.datasetsLength=this.datasets&&this.datasets.length||0,e(m.Update)),this.datasets&&this.datasets.filter((t,e)=>t.data!==this.old.datasetsDataObjects[e]).length&&(this.old.datasetsDataObjects=this.datasets.map(t=>t.data),e(m.Update)),this.datasets&&this.datasets.filter((t,e)=>t.data.length!==this.old.datasetsDataLengths[e]).length&&(this.old.datasetsDataLengths=this.datasets.map(t=>t.data.length),e(m.Update)),!!this.colors!==this.old.colorsExists&&(this.old.colorsExists=!!this.colors,this.updateColors(),e(m.Update)),this.colors&&this.colors.filter((t,e)=>!this.colorsEqual(t,this.old.colors[e])).length&&(this.old.colors=this.colors.map(t=>this.copyColor(t)),this.updateColors(),e(m.Update)),!!this.labels!==this.old.labelsExist&&(this.old.labelsExist=!!this.labels,e(m.Update)),this.labels&&this.labels.filter((t,e)=>!this.labelsEqual(t,this.old.labels[e])).length&&(this.old.labels=this.labels.map(t=>this.copyLabel(t)),e(m.Update)),!!this.options.legend!==this.old.legendExists&&(this.old.legendExists=!!this.options.legend,e(m.Refresh)),this.options.legend&&this.options.legend.position!==this.old.legend.position&&(this.old.legend.position=this.options.legend.position,e(m.Refresh)),t){case m.Default:break;case m.Update:this.update();break;case m.Refresh:this.refresh()}}copyLabel(t){return Array.isArray(t)?[...t]:t}labelsEqual(t,e){return Array.isArray(t)===Array.isArray(e)&&(Array.isArray(t)||t===e)&&(!Array.isArray(t)||t.length===e.length)&&(!Array.isArray(t)||0===t.filter((t,n)=>t!==e[n]).length)}copyColor(t){return{backgroundColor:t.backgroundColor,borderWidth:t.borderWidth,borderColor:t.borderColor,borderCapStyle:t.borderCapStyle,borderDash:t.borderDash,borderDashOffset:t.borderDashOffset,borderJoinStyle:t.borderJoinStyle,pointBorderColor:t.pointBorderColor,pointBackgroundColor:t.pointBackgroundColor,pointBorderWidth:t.pointBorderWidth,pointRadius:t.pointRadius,pointHoverRadius:t.pointHoverRadius,pointHitRadius:t.pointHitRadius,pointHoverBackgroundColor:t.pointHoverBackgroundColor,pointHoverBorderColor:t.pointHoverBorderColor,pointHoverBorderWidth:t.pointHoverBorderWidth,pointStyle:t.pointStyle,hoverBackgroundColor:t.hoverBackgroundColor,hoverBorderColor:t.hoverBorderColor,hoverBorderWidth:t.hoverBorderWidth}}colorsEqual(t,e){return!t==!e&&(!t||t.backgroundColor===e.backgroundColor&&t.borderWidth===e.borderWidth&&t.borderColor===e.borderColor&&t.borderCapStyle===e.borderCapStyle&&t.borderDash===e.borderDash&&t.borderDashOffset===e.borderDashOffset&&t.borderJoinStyle===e.borderJoinStyle&&t.pointBorderColor===e.pointBorderColor&&t.pointBackgroundColor===e.pointBackgroundColor&&t.pointBorderWidth===e.pointBorderWidth&&t.pointRadius===e.pointRadius&&t.pointHoverRadius===e.pointHoverRadius&&t.pointHitRadius===e.pointHitRadius&&t.pointHoverBackgroundColor===e.pointHoverBackgroundColor&&t.pointHoverBorderColor===e.pointHoverBorderColor&&t.pointHoverBorderWidth===e.pointHoverBorderWidth&&t.pointStyle===e.pointStyle&&t.hoverBackgroundColor===e.hoverBackgroundColor&&t.hoverBorderColor===e.hoverBorderColor&&t.hoverBorderWidth===e.hoverBorderWidth)}updateColors(){this.datasets.forEach((t,e)=>{this.colors&&this.colors[e]?Object.assign(t,this.colors[e]):Object.assign(t,function(t,e,n){if("pie"===t||"doughnut"===t)return d(f(n));if("polarArea"===t)return{backgroundColor:(a=f(n)).map(t=>c(t,.6)),borderColor:a.map(t=>c(t,1)),hoverBackgroundColor:a.map(t=>c(t,.8)),hoverBorderColor:a.map(t=>c(t,1))};var a;if("line"===t||"radar"===t)return function(t){return{backgroundColor:c(t,.4),borderColor:c(t,1),pointBackgroundColor:c(t,1),pointBorderColor:"#fff",pointHoverBackgroundColor:"#fff",pointHoverBorderColor:c(t,.8)}}(g(e));if("bar"===t||"horizontalBar"===t)return function(t){return{backgroundColor:c(t,.6),borderColor:c(t,1),hoverBackgroundColor:c(t,.8),hoverBorderColor:c(t,1)}}(g(e));if("bubble"===t)return d(f(n));if("scatter"===t)return d(f(n));throw new Error(`getColors - Unsupported chart type ${t}`)}(this.chartType,e,t.data.length),Object.assign({},t))})}ngOnChanges(t){let e=m.Default;const n=t=>{e=t>e?t:e};switch(t.hasOwnProperty("data")&&t.data.currentValue&&(this.propagateDataToDatasets(t.data.currentValue),n(m.Update)),t.hasOwnProperty("datasets")&&t.datasets.currentValue&&(this.propagateDatasetsToData(t.datasets.currentValue),n(m.Update)),t.hasOwnProperty("labels")&&(this.chart&&(this.chart.data.labels=t.labels.currentValue),n(m.Update)),t.hasOwnProperty("legend")&&(this.chart&&(this.chart.config.options.legend.display=t.legend.currentValue,this.chart.generateLegend()),n(m.Update)),t.hasOwnProperty("options")&&n(m.Refresh),e){case m.Update:this.update();break;case m.Refresh:case m.Default:this.refresh()}}ngOnDestroy(){this.chart&&(this.chart.destroy(),this.chart=void 0),this.subs.forEach(t=>t.unsubscribe())}update(t,e){if(this.chart)return this.chart.update(t,e)}hideDataset(t,e){this.chart.getDatasetMeta(t).hidden=e,this.chart.update()}isDatasetHidden(t){return this.chart.getDatasetMeta(t).hidden}toBase64Image(){return this.chart.toBase64Image()}getChartConfiguration(){const t=this.getDatasets(),e=Object.assign({},this.options);!1===this.legend&&(e.legend={display:!1}),e.hover=e.hover||{},e.hover.onHover||(e.hover.onHover=(t,e)=>{e&&!e.length||this.chartHover.emit({event:t,active:e})}),e.onClick||(e.onClick=(t,e)=>{this.chartClick.emit({event:t,active:e})});const n=this.smartMerge(e,this.themeService.getColorschemesOptions());return{type:this.chartType,data:{labels:this.labels||[],datasets:t},plugins:this.plugins,options:n}}getChartBuilder(t){const e=this.getChartConfiguration();return new r.Chart(t,e)}smartMerge(t,e,n=0){if(0===n&&(t=Object(i.cloneDeep)(t)),Object.keys(e).forEach(a=>{if(Array.isArray(e[a])){const r=t[a];r&&r.forEach(t=>{this.smartMerge(t,e[a][0],n+1)})}else"object"==typeof e[a]?(a in t||(t[a]={}),this.smartMerge(t[a],e[a],n+1)):t[a]=e[a]}),0===n)return t}isMultiLineLabel(t){return Array.isArray(t)}joinLabel(t){return t?this.isMultiLineLabel(t)?t.join(" "):t:null}propagateDatasetsToData(t){this.data=this.datasets.map(t=>t.data),this.chart&&(this.chart.data.datasets=t),this.updateColors()}propagateDataToDatasets(t){this.isMultiDataSet(t)?this.datasets&&t.length===this.datasets.length?this.datasets.forEach((e,n)=>{e.data=t[n]}):(this.datasets=t.map((t,e)=>({data:t,label:this.joinLabel(this.labels[e])||`Label ${e}`})),this.chart&&(this.chart.data.datasets=this.datasets)):this.datasets?(this.datasets[0].data=t,this.datasets.splice(1)):(this.datasets=[{data:t}],this.chart&&(this.chart.data.datasets=this.datasets)),this.updateColors()}isMultiDataSet(t){return Array.isArray(t[0])}getDatasets(){if(!this.datasets&&!this.data)throw new Error(`ng-charts configuration error, data or datasets field are required to render chart ${this.chartType}`);return this.datasets?(this.propagateDatasetsToData(this.datasets),this.datasets):this.data?(this.propagateDataToDatasets(this.data),this.datasets):void 0}refresh(){this.chart&&(this.chart.destroy(),this.chart=void 0),this.ctx&&(this.chart=this.getChartBuilder(this.ctx))}}class b{}},hypo:function(t,e,n){var a=n("O0oS");t.exports=function(t,e,n){"__proto__"==e&&a?a(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}},i3PA:function(t,e,n){"use strict";function a(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),a(n("jvuA")),a(n("UReH"))},iEDd:function(t,e,n){!function(t){"use strict";t.defineLocale("gl",{months:"xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro".split("_"),monthsShort:"xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"domingo_luns_martes_mércores_xoves_venres_sábado".split("_"),weekdaysShort:"dom._lun._mar._mér._xov._ven._sáb.".split("_"),weekdaysMin:"do_lu_ma_mé_xo_ve_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoxe "+(1!==this.hours()?"ás":"á")+"] LT"},nextDay:function(){return"[mañá "+(1!==this.hours()?"ás":"á")+"] LT"},nextWeek:function(){return"dddd ["+(1!==this.hours()?"ás":"a")+"] LT"},lastDay:function(){return"[onte "+(1!==this.hours()?"á":"a")+"] LT"},lastWeek:function(){return"[o] dddd [pasado "+(1!==this.hours()?"ás":"a")+"] LT"},sameElse:"L"},relativeTime:{future:function(t){return 0===t.indexOf("un")?"n"+t:"en "+t},past:"hai %s",s:"uns segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"unha hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n("wd/R"))},iExv:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{constructor(t){this.i18n=t}transform(t,e=this.i18n("Yes"),n=this.i18n("No")){return Boolean(t)?e:n}}},iInd:function(t,e,n){"use strict";n.d(e,"F",(function(){return $})),n.d(e,"v",(function(){return dn})),n.d(e,"C",(function(){return On})),n.d(e,"x",(function(){return pn})),n.d(e,"D",(function(){return vn})),n.d(e,"E",(function(){return Cn})),n.d(e,"z",(function(){return hn})),n.d(e,"y",(function(){return mn})),n.d(e,"B",(function(){return yn})),n.d(e,"w",(function(){return gn})),n.d(e,"A",(function(){return _n})),n.d(e,"G",(function(){return cn})),n.d(e,"n",(function(){return $e})),n.d(e,"p",(function(){return Ze})),n.d(e,"o",(function(){return Xe})),n.d(e,"r",(function(){return en})),n.d(e,"d",(function(){return E})),n.d(e,"e",(function(){return A})),n.d(e,"l",(function(){return Fe})),n.d(e,"m",(function(){return Ke})),n.d(e,"k",(function(){return Ve})),n.d(e,"i",(function(){return ln})),n.d(e,"j",(function(){return Pn})),n.d(e,"q",(function(){return fn})),n.d(e,"b",(function(){return tn})),n.d(e,"f",(function(){return on})),n.d(e,"g",(function(){return rn})),n.d(e,"h",(function(){return an})),n.d(e,"s",(function(){return sn})),n.d(e,"a",(function(){return jt})),n.d(e,"t",(function(){return Ye})),n.d(e,"c",(function(){return bt})),n.d(e,"u",(function(){return ht}));var a=n("SVse"),r=n("8Y7J"),o=n("LRne"),i=n("Cfvw"),s=n("2Vo4"),c=n("HDdC"),l=n("sVev"),d=n("itXk"),u=n("NXyV"),g=n("XNiG"),f=n("EY2u"),p=n("lJxs"),m=n("0EUg"),h=n("NJ9Y"),b=n("JIr8"),_=n("SxV6"),y=n("5+tZ"),O=n("Gi4w"),v=n("eIep"),C=n("IzEk"),P=n("JX91"),M=n("Kqap"),x=n("pLZG"),w=n("bOdf"),T=n("128B"),k=n("vkgz"),S=n("nYR2"),I=n("bHdf"),N=n("cUpR");class R{constructor(t,e){this.id=t,this.url=e}}class A extends R{constructor(t,e,n="imperative",a=null){super(t,e),this.navigationTrigger=n,this.restoredState=a}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class E extends R{constructor(t,e,n){super(t,e),this.urlAfterRedirects=n}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}class D extends R{constructor(t,e,n){super(t,e),this.reason=n}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class L extends R{constructor(t,e,n){super(t,e),this.error=n}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class q extends R{constructor(t,e,n,a){super(t,e),this.urlAfterRedirects=n,this.state=a}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class j extends R{constructor(t,e,n,a){super(t,e),this.urlAfterRedirects=n,this.state=a}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class F extends R{constructor(t,e,n,a,r){super(t,e),this.urlAfterRedirects=n,this.state=a,this.shouldActivate=r}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class z extends R{constructor(t,e,n,a){super(t,e),this.urlAfterRedirects=n,this.state=a}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class V extends R{constructor(t,e,n,a){super(t,e),this.urlAfterRedirects=n,this.state=a}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class G{constructor(t){this.route=t}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class Y{constructor(t){this.route=t}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class B{constructor(t){this.snapshot=t}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class H{constructor(t){this.snapshot=t}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class U{constructor(t){this.snapshot=t}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class W{constructor(t){this.snapshot=t}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class K{constructor(t,e,n){this.routerEvent=t,this.position=e,this.anchor=n}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}class ${}class Z{constructor(t){this.params=t||{}}has(t){return this.params.hasOwnProperty(t)}get(t){if(this.has(t)){const e=this.params[t];return Array.isArray(e)?e[0]:e}return null}getAll(t){if(this.has(t)){const e=this.params[t];return Array.isArray(e)?e:[e]}return[]}get keys(){return Object.keys(this.params)}}function J(t){return new Z(t)}function X(t){const e=Error("NavigationCancelingError: "+t);return e.ngNavigationCancelingError=!0,e}function Q(t,e,n){const a=n.path.split("/");if(a.length>t.length)return null;if("full"===n.pathMatch&&(e.hasChildren()||a.length<t.length))return null;const r={};for(let o=0;o<a.length;o++){const e=a[o],n=t[o];if(e.startsWith(":"))r[e.substring(1)]=n;else if(e!==n.path)return null}return{consumed:t.slice(0,a.length),posParams:r}}class tt{constructor(t,e){this.routes=t,this.module=e}}function et(t,e=""){for(let n=0;n<t.length;n++){const a=t[n];nt(a,at(e,a))}}function nt(t,e){if(!t)throw new Error(`\n      Invalid configuration of route '${e}': Encountered undefined route.\n      The reason might be an extra comma.\n\n      Example:\n      const routes: Routes = [\n        { path: '', redirectTo: '/dashboard', pathMatch: 'full' },\n        { path: 'dashboard',  component: DashboardComponent },, << two commas\n        { path: 'detail/:id', component: HeroDetailComponent }\n      ];\n    `);if(Array.isArray(t))throw new Error(`Invalid configuration of route '${e}': Array cannot be specified`);if(!t.component&&!t.children&&!t.loadChildren&&t.outlet&&"primary"!==t.outlet)throw new Error(`Invalid configuration of route '${e}': a componentless route without children or loadChildren cannot have a named outlet set`);if(t.redirectTo&&t.children)throw new Error(`Invalid configuration of route '${e}': redirectTo and children cannot be used together`);if(t.redirectTo&&t.loadChildren)throw new Error(`Invalid configuration of route '${e}': redirectTo and loadChildren cannot be used together`);if(t.children&&t.loadChildren)throw new Error(`Invalid configuration of route '${e}': children and loadChildren cannot be used together`);if(t.redirectTo&&t.component)throw new Error(`Invalid configuration of route '${e}': redirectTo and component cannot be used together`);if(t.path&&t.matcher)throw new Error(`Invalid configuration of route '${e}': path and matcher cannot be used together`);if(void 0===t.redirectTo&&!t.component&&!t.children&&!t.loadChildren)throw new Error(`Invalid configuration of route '${e}'. One of the following must be provided: component, redirectTo, children or loadChildren`);if(void 0===t.path&&void 0===t.matcher)throw new Error(`Invalid configuration of route '${e}': routes must have either a path or a matcher specified`);if("string"==typeof t.path&&"/"===t.path.charAt(0))throw new Error(`Invalid configuration of route '${e}': path cannot start with a slash`);if(""===t.path&&void 0!==t.redirectTo&&void 0===t.pathMatch)throw new Error(`Invalid configuration of route '{path: "${e}", redirectTo: "${t.redirectTo}"}': please provide 'pathMatch'. The default value of 'pathMatch' is 'prefix', but often the intent is to use 'full'.`);if(void 0!==t.pathMatch&&"full"!==t.pathMatch&&"prefix"!==t.pathMatch)throw new Error(`Invalid configuration of route '${e}': pathMatch can only be set to 'prefix' or 'full'`);t.children&&et(t.children,e)}function at(t,e){return e?t||e.path?t&&!e.path?`${t}/`:!t&&e.path?e.path:`${t}/${e.path}`:"":t}function rt(t){const e=t.children&&t.children.map(rt),n=e?Object.assign({},t,{children:e}):Object.assign({},t);return!n.component&&(e||n.loadChildren)&&n.outlet&&"primary"!==n.outlet&&(n.component=$),n}function ot(t,e){const n=Object.keys(t),a=Object.keys(e);if(!n||!a||n.length!=a.length)return!1;let r;for(let o=0;o<n.length;o++)if(r=n[o],t[r]!==e[r])return!1;return!0}function it(t){return Array.prototype.concat.apply([],t)}function st(t){return t.length>0?t[t.length-1]:null}function ct(t,e){for(const n in t)t.hasOwnProperty(n)&&e(t[n],n)}function lt(t){return Object(r["ɵisObservable"])(t)?t:Object(r["ɵisPromise"])(t)?Object(i.a)(Promise.resolve(t)):Object(o.a)(t)}function dt(t,e,n){return n?function(t,e){return ot(t,e)}(t.queryParams,e.queryParams)&&function t(e,n){if(!pt(e.segments,n.segments))return!1;if(e.numberOfChildren!==n.numberOfChildren)return!1;for(const a in n.children){if(!e.children[a])return!1;if(!t(e.children[a],n.children[a]))return!1}return!0}(t.root,e.root):function(t,e){return Object.keys(e).length<=Object.keys(t).length&&Object.keys(e).every(n=>e[n]===t[n])}(t.queryParams,e.queryParams)&&function t(e,n){return function e(n,a,r){if(n.segments.length>r.length)return!!pt(n.segments.slice(0,r.length),r)&&!a.hasChildren();if(n.segments.length===r.length){if(!pt(n.segments,r))return!1;for(const e in a.children){if(!n.children[e])return!1;if(!t(n.children[e],a.children[e]))return!1}return!0}{const t=r.slice(0,n.segments.length),o=r.slice(n.segments.length);return!!pt(n.segments,t)&&!!n.children.primary&&e(n.children.primary,a,o)}}(e,n,n.segments)}(t.root,e.root)}class ut{constructor(t,e,n){this.root=t,this.queryParams=e,this.fragment=n}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=J(this.queryParams)),this._queryParamMap}toString(){return _t.serialize(this)}}class gt{constructor(t,e){this.segments=t,this.children=e,this.parent=null,ct(e,(t,e)=>t.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return yt(this)}}class ft{constructor(t,e){this.path=t,this.parameters=e}get parameterMap(){return this._parameterMap||(this._parameterMap=J(this.parameters)),this._parameterMap}toString(){return xt(this)}}function pt(t,e){return t.length===e.length&&t.every((t,n)=>t.path===e[n].path)}function mt(t,e){let n=[];return ct(t.children,(t,a)=>{"primary"===a&&(n=n.concat(e(t,a)))}),ct(t.children,(t,a)=>{"primary"!==a&&(n=n.concat(e(t,a)))}),n}class ht{}class bt{parse(t){const e=new It(t);return new ut(e.parseRootSegment(),e.parseQueryParams(),e.parseFragment())}serialize(t){var e;return`${`/${function t(e,n){if(!e.hasChildren())return yt(e);if(n){const n=e.children.primary?t(e.children.primary,!1):"",a=[];return ct(e.children,(e,n)=>{"primary"!==n&&a.push(`${n}:${t(e,!1)}`)}),a.length>0?`${n}(${a.join("//")})`:n}{const n=mt(e,(n,a)=>"primary"===a?[t(e.children.primary,!1)]:[`${a}:${t(n,!1)}`]);return`${yt(e)}/(${n.join("//")})`}}(t.root,!0)}`}${function(t){const e=Object.keys(t).map(e=>{const n=t[e];return Array.isArray(n)?n.map(t=>`${vt(e)}=${vt(t)}`).join("&"):`${vt(e)}=${vt(n)}`});return e.length?`?${e.join("&")}`:""}(t.queryParams)}${"string"==typeof t.fragment?`#${e=t.fragment,encodeURI(e)}`:""}`}}const _t=new bt;function yt(t){return t.segments.map(t=>xt(t)).join("/")}function Ot(t){return encodeURIComponent(t).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function vt(t){return Ot(t).replace(/%3B/gi,";")}function Ct(t){return Ot(t).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function Pt(t){return decodeURIComponent(t)}function Mt(t){return Pt(t.replace(/\+/g,"%20"))}function xt(t){return`${Ct(t.path)}${e=t.parameters,Object.keys(e).map(t=>`;${Ct(t)}=${Ct(e[t])}`).join("")}`;var e}const wt=/^[^\/()?;=#]+/;function Tt(t){const e=t.match(wt);return e?e[0]:""}const kt=/^[^=?&#]+/,St=/^[^?&#]+/;class It{constructor(t){this.url=t,this.remaining=t}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new gt([],{}):new gt([],this.parseChildren())}parseQueryParams(){const t={};if(this.consumeOptional("?"))do{this.parseQueryParam(t)}while(this.consumeOptional("&"));return t}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const t=[];for(this.peekStartsWith("(")||t.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),t.push(this.parseSegment());let e={};this.peekStartsWith("/(")&&(this.capture("/"),e=this.parseParens(!0));let n={};return this.peekStartsWith("(")&&(n=this.parseParens(!1)),(t.length>0||Object.keys(e).length>0)&&(n.primary=new gt(t,e)),n}parseSegment(){const t=Tt(this.remaining);if(""===t&&this.peekStartsWith(";"))throw new Error(`Empty path url segment cannot have parameters: '${this.remaining}'.`);return this.capture(t),new ft(Pt(t),this.parseMatrixParams())}parseMatrixParams(){const t={};for(;this.consumeOptional(";");)this.parseParam(t);return t}parseParam(t){const e=Tt(this.remaining);if(!e)return;this.capture(e);let n="";if(this.consumeOptional("=")){const t=Tt(this.remaining);t&&(n=t,this.capture(n))}t[Pt(e)]=Pt(n)}parseQueryParam(t){const e=function(t){const e=t.match(kt);return e?e[0]:""}(this.remaining);if(!e)return;this.capture(e);let n="";if(this.consumeOptional("=")){const t=function(t){const e=t.match(St);return e?e[0]:""}(this.remaining);t&&(n=t,this.capture(n))}const a=Mt(e),r=Mt(n);if(t.hasOwnProperty(a)){let e=t[a];Array.isArray(e)||(e=[e],t[a]=e),e.push(r)}else t[a]=r}parseParens(t){const e={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const n=Tt(this.remaining),a=this.remaining[n.length];if("/"!==a&&")"!==a&&";"!==a)throw new Error(`Cannot parse url '${this.url}'`);let r=void 0;n.indexOf(":")>-1?(r=n.substr(0,n.indexOf(":")),this.capture(r),this.capture(":")):t&&(r="primary");const o=this.parseChildren();e[r]=1===Object.keys(o).length?o.primary:new gt([],o),this.consumeOptional("//")}return e}peekStartsWith(t){return this.remaining.startsWith(t)}consumeOptional(t){return!!this.peekStartsWith(t)&&(this.remaining=this.remaining.substring(t.length),!0)}capture(t){if(!this.consumeOptional(t))throw new Error(`Expected "${t}".`)}}class Nt{constructor(t){this._root=t}get root(){return this._root.value}parent(t){const e=this.pathFromRoot(t);return e.length>1?e[e.length-2]:null}children(t){const e=Rt(t,this._root);return e?e.children.map(t=>t.value):[]}firstChild(t){const e=Rt(t,this._root);return e&&e.children.length>0?e.children[0].value:null}siblings(t){const e=At(t,this._root);return e.length<2?[]:e[e.length-2].children.map(t=>t.value).filter(e=>e!==t)}pathFromRoot(t){return At(t,this._root).map(t=>t.value)}}function Rt(t,e){if(t===e.value)return e;for(const n of e.children){const e=Rt(t,n);if(e)return e}return null}function At(t,e){if(t===e.value)return[e];for(const n of e.children){const a=At(t,n);if(a.length)return a.unshift(e),a}return[]}class Et{constructor(t,e){this.value=t,this.children=e}toString(){return`TreeNode(${this.value})`}}function Dt(t){const e={};return t&&t.children.forEach(t=>e[t.value.outlet]=t),e}class Lt extends Nt{constructor(t,e){super(t),this.snapshot=e,Gt(this,t)}toString(){return this.snapshot.toString()}}function qt(t,e){const n=function(t,e){const n=new zt([],{},{},"",{},"primary",e,null,t.root,-1,{});return new Vt("",new Et(n,[]))}(t,e),a=new s.a([new ft("",{})]),r=new s.a({}),o=new s.a({}),i=new s.a({}),c=new s.a(""),l=new jt(a,r,i,c,o,"primary",e,n.root);return l.snapshot=n.root,new Lt(new Et(l,[]),n)}class jt{constructor(t,e,n,a,r,o,i,s){this.url=t,this.params=e,this.queryParams=n,this.fragment=a,this.data=r,this.outlet=o,this.component=i,this._futureSnapshot=s}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=this.params.pipe(Object(p.a)(t=>J(t)))),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe(Object(p.a)(t=>J(t)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function Ft(t,e="emptyOnly"){const n=t.pathFromRoot;let a=0;if("always"!==e)for(a=n.length-1;a>=1;){const t=n[a],e=n[a-1];if(t.routeConfig&&""===t.routeConfig.path)a--;else{if(e.component)break;a--}}return function(t){return t.reduce((t,e)=>({params:Object.assign({},t.params,e.params),data:Object.assign({},t.data,e.data),resolve:Object.assign({},t.resolve,e._resolvedData)}),{params:{},data:{},resolve:{}})}(n.slice(a))}class zt{constructor(t,e,n,a,r,o,i,s,c,l,d){this.url=t,this.params=e,this.queryParams=n,this.fragment=a,this.data=r,this.outlet=o,this.component=i,this.routeConfig=s,this._urlSegment=c,this._lastPathIndex=l,this._resolve=d}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=J(this.params)),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=J(this.queryParams)),this._queryParamMap}toString(){return`Route(url:'${this.url.map(t=>t.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class Vt extends Nt{constructor(t,e){super(e),this.url=t,Gt(this,e)}toString(){return Yt(this._root)}}function Gt(t,e){e.value._routerState=t,e.children.forEach(e=>Gt(t,e))}function Yt(t){const e=t.children.length>0?` { ${t.children.map(Yt).join(", ")} } `:"";return`${t.value}${e}`}function Bt(t){if(t.snapshot){const e=t.snapshot,n=t._futureSnapshot;t.snapshot=n,ot(e.queryParams,n.queryParams)||t.queryParams.next(n.queryParams),e.fragment!==n.fragment&&t.fragment.next(n.fragment),ot(e.params,n.params)||t.params.next(n.params),function(t,e){if(t.length!==e.length)return!1;for(let n=0;n<t.length;++n)if(!ot(t[n],e[n]))return!1;return!0}(e.url,n.url)||t.url.next(n.url),ot(e.data,n.data)||t.data.next(n.data)}else t.snapshot=t._futureSnapshot,t.data.next(t._futureSnapshot.data)}function Ht(t,e){var n,a;return ot(t.params,e.params)&&pt(n=t.url,a=e.url)&&n.every((t,e)=>ot(t.parameters,a[e].parameters))&&!(!t.parent!=!e.parent)&&(!t.parent||Ht(t.parent,e.parent))}function Ut(t){return"object"==typeof t&&null!=t&&!t.outlets&&!t.segmentPath}function Wt(t,e,n,a,r){let o={};return a&&ct(a,(t,e)=>{o[e]=Array.isArray(t)?t.map(t=>`${t}`):`${t}`}),new ut(n.root===t?e:function t(e,n,a){const r={};return ct(e.children,(e,o)=>{r[o]=e===n?a:t(e,n,a)}),new gt(e.segments,r)}(n.root,t,e),o,r)}class Kt{constructor(t,e,n){if(this.isAbsolute=t,this.numberOfDoubleDots=e,this.commands=n,t&&n.length>0&&Ut(n[0]))throw new Error("Root segment cannot have matrix parameters");const a=n.find(t=>"object"==typeof t&&null!=t&&t.outlets);if(a&&a!==st(n))throw new Error("{outlets:{}} has to be the last command")}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class $t{constructor(t,e,n){this.segmentGroup=t,this.processChildren=e,this.index=n}}function Zt(t){return"object"==typeof t&&null!=t&&t.outlets?t.outlets.primary:`${t}`}function Jt(t,e,n){if(t||(t=new gt([],{})),0===t.segments.length&&t.hasChildren())return Xt(t,e,n);const a=function(t,e,n){let a=0,r=e;const o={match:!1,pathIndex:0,commandIndex:0};for(;r<t.segments.length;){if(a>=n.length)return o;const e=t.segments[r],i=Zt(n[a]),s=a<n.length-1?n[a+1]:null;if(r>0&&void 0===i)break;if(i&&s&&"object"==typeof s&&void 0===s.outlets){if(!ne(i,s,e))return o;a+=2}else{if(!ne(i,{},e))return o;a++}r++}return{match:!0,pathIndex:r,commandIndex:a}}(t,e,n),r=n.slice(a.commandIndex);if(a.match&&a.pathIndex<t.segments.length){const e=new gt(t.segments.slice(0,a.pathIndex),{});return e.children.primary=new gt(t.segments.slice(a.pathIndex),t.children),Xt(e,0,r)}return a.match&&0===r.length?new gt(t.segments,{}):a.match&&!t.hasChildren()?Qt(t,e,n):a.match?Xt(t,0,r):Qt(t,e,n)}function Xt(t,e,n){if(0===n.length)return new gt(t.segments,{});{const a=function(t){return"object"!=typeof t[0]?{primary:t}:void 0===t[0].outlets?{primary:t}:t[0].outlets}(n),r={};return ct(a,(n,a)=>{null!==n&&(r[a]=Jt(t.children[a],e,n))}),ct(t.children,(t,e)=>{void 0===a[e]&&(r[e]=t)}),new gt(t.segments,r)}}function Qt(t,e,n){const a=t.segments.slice(0,e);let r=0;for(;r<n.length;){if("object"==typeof n[r]&&void 0!==n[r].outlets){const t=te(n[r].outlets);return new gt(a,t)}if(0===r&&Ut(n[0])){a.push(new ft(t.segments[e].path,n[0])),r++;continue}const o=Zt(n[r]),i=r<n.length-1?n[r+1]:null;o&&i&&Ut(i)?(a.push(new ft(o,ee(i))),r+=2):(a.push(new ft(o,{})),r++)}return new gt(a,{})}function te(t){const e={};return ct(t,(t,n)=>{null!==t&&(e[n]=Qt(new gt([],{}),0,t))}),e}function ee(t){const e={};return ct(t,(t,n)=>e[n]=`${t}`),e}function ne(t,e,n){return t==n.path&&ot(e,n.parameters)}class ae{constructor(t,e,n,a){this.routeReuseStrategy=t,this.futureState=e,this.currState=n,this.forwardEvent=a}activate(t){const e=this.futureState._root,n=this.currState?this.currState._root:null;this.deactivateChildRoutes(e,n,t),Bt(this.futureState.root),this.activateChildRoutes(e,n,t)}deactivateChildRoutes(t,e,n){const a=Dt(e);t.children.forEach(t=>{const e=t.value.outlet;this.deactivateRoutes(t,a[e],n),delete a[e]}),ct(a,(t,e)=>{this.deactivateRouteAndItsChildren(t,n)})}deactivateRoutes(t,e,n){const a=t.value,r=e?e.value:null;if(a===r)if(a.component){const r=n.getContext(a.outlet);r&&this.deactivateChildRoutes(t,e,r.children)}else this.deactivateChildRoutes(t,e,n);else r&&this.deactivateRouteAndItsChildren(e,n)}deactivateRouteAndItsChildren(t,e){this.routeReuseStrategy.shouldDetach(t.value.snapshot)?this.detachAndStoreRouteSubtree(t,e):this.deactivateRouteAndOutlet(t,e)}detachAndStoreRouteSubtree(t,e){const n=e.getContext(t.value.outlet);if(n&&n.outlet){const e=n.outlet.detach(),a=n.children.onOutletDeactivated();this.routeReuseStrategy.store(t.value.snapshot,{componentRef:e,route:t,contexts:a})}}deactivateRouteAndOutlet(t,e){const n=e.getContext(t.value.outlet);if(n){const a=Dt(t),r=t.value.component?n.children:e;ct(a,(t,e)=>this.deactivateRouteAndItsChildren(t,r)),n.outlet&&(n.outlet.deactivate(),n.children.onOutletDeactivated())}}activateChildRoutes(t,e,n){const a=Dt(e);t.children.forEach(t=>{this.activateRoutes(t,a[t.value.outlet],n),this.forwardEvent(new W(t.value.snapshot))}),t.children.length&&this.forwardEvent(new H(t.value.snapshot))}activateRoutes(t,e,n){const a=t.value,r=e?e.value:null;if(Bt(a),a===r)if(a.component){const r=n.getOrCreateContext(a.outlet);this.activateChildRoutes(t,e,r.children)}else this.activateChildRoutes(t,e,n);else if(a.component){const e=n.getOrCreateContext(a.outlet);if(this.routeReuseStrategy.shouldAttach(a.snapshot)){const t=this.routeReuseStrategy.retrieve(a.snapshot);this.routeReuseStrategy.store(a.snapshot,null),e.children.onOutletReAttached(t.contexts),e.attachRef=t.componentRef,e.route=t.route.value,e.outlet&&e.outlet.attach(t.componentRef,t.route.value),re(t.route)}else{const n=function(t){for(let e=t.parent;e;e=e.parent){const t=e.routeConfig;if(t&&t._loadedConfig)return t._loadedConfig;if(t&&t.component)return null}return null}(a.snapshot),r=n?n.module.componentFactoryResolver:null;e.attachRef=null,e.route=a,e.resolver=r,e.outlet&&e.outlet.activateWith(a,r),this.activateChildRoutes(t,null,e.children)}}else this.activateChildRoutes(t,null,n)}}function re(t){Bt(t.value),t.children.forEach(re)}function oe(t){return"function"==typeof t}function ie(t){return t instanceof ut}class se{constructor(t){this.segmentGroup=t||null}}class ce{constructor(t){this.urlTree=t}}function le(t){return new c.a(e=>e.error(new se(t)))}function de(t){return new c.a(e=>e.error(new ce(t)))}function ue(t){return new c.a(e=>e.error(new Error(`Only absolute redirects can have named outlets. redirectTo: '${t}'`)))}class ge{constructor(t,e,n,a,o){this.configLoader=e,this.urlSerializer=n,this.urlTree=a,this.config=o,this.allowRedirects=!0,this.ngModule=t.get(r.NgModuleRef)}apply(){return this.expandSegmentGroup(this.ngModule,this.config,this.urlTree.root,"primary").pipe(Object(p.a)(t=>this.createUrlTree(t,this.urlTree.queryParams,this.urlTree.fragment))).pipe(Object(b.a)(t=>{if(t instanceof ce)return this.allowRedirects=!1,this.match(t.urlTree);if(t instanceof se)throw this.noMatchError(t);throw t}))}match(t){return this.expandSegmentGroup(this.ngModule,this.config,t.root,"primary").pipe(Object(p.a)(e=>this.createUrlTree(e,t.queryParams,t.fragment))).pipe(Object(b.a)(t=>{if(t instanceof se)throw this.noMatchError(t);throw t}))}noMatchError(t){return new Error(`Cannot match any routes. URL Segment: '${t.segmentGroup}'`)}createUrlTree(t,e,n){const a=t.segments.length>0?new gt([],{primary:t}):t;return new ut(a,e,n)}expandSegmentGroup(t,e,n,a){return 0===n.segments.length&&n.hasChildren()?this.expandChildren(t,e,n).pipe(Object(p.a)(t=>new gt([],t))):this.expandSegment(t,n,e,n.segments,a,!0)}expandChildren(t,e,n){return function(t,e){if(0===Object.keys(t).length)return Object(o.a)({});const n=[],a=[],r={};return ct(t,(t,o)=>{const i=e(o,t).pipe(Object(p.a)(t=>r[o]=t));"primary"===o?n.push(i):a.push(i)}),o.a.apply(null,n.concat(a)).pipe(Object(m.a)(),Object(h.a)(),Object(p.a)(()=>r))}(n.children,(n,a)=>this.expandSegmentGroup(t,e,a,n))}expandSegment(t,e,n,a,r,i){return Object(o.a)(...n).pipe(Object(p.a)(s=>this.expandSegmentAgainstRoute(t,e,n,s,a,r,i).pipe(Object(b.a)(t=>{if(t instanceof se)return Object(o.a)(null);throw t}))),Object(m.a)(),Object(_.a)(t=>!!t),Object(b.a)((t,n)=>{if(t instanceof l.a||"EmptyError"===t.name){if(this.noLeftoversInUrl(e,a,r))return Object(o.a)(new gt([],{}));throw new se(e)}throw t}))}noLeftoversInUrl(t,e,n){return 0===e.length&&!t.children[n]}expandSegmentAgainstRoute(t,e,n,a,r,o,i){return he(a)!==o?le(e):void 0===a.redirectTo?this.matchSegmentAgainstRoute(t,e,a,r):i&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(t,e,n,a,r,o):le(e)}expandSegmentAgainstRouteUsingRedirect(t,e,n,a,r,o){return"**"===a.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(t,n,a,o):this.expandRegularSegmentAgainstRouteUsingRedirect(t,e,n,a,r,o)}expandWildCardWithParamsAgainstRouteUsingRedirect(t,e,n,a){const r=this.applyRedirectCommands([],n.redirectTo,{});return n.redirectTo.startsWith("/")?de(r):this.lineralizeSegments(n,r).pipe(Object(y.a)(n=>{const r=new gt(n,{});return this.expandSegment(t,r,e,n,a,!1)}))}expandRegularSegmentAgainstRouteUsingRedirect(t,e,n,a,r,o){const{matched:i,consumedSegments:s,lastChild:c,positionalParamSegments:l}=fe(e,a,r);if(!i)return le(e);const d=this.applyRedirectCommands(s,a.redirectTo,l);return a.redirectTo.startsWith("/")?de(d):this.lineralizeSegments(a,d).pipe(Object(y.a)(a=>this.expandSegment(t,e,n,a.concat(r.slice(c)),o,!1)))}matchSegmentAgainstRoute(t,e,n,a){if("**"===n.path)return n.loadChildren?this.configLoader.load(t.injector,n).pipe(Object(p.a)(t=>(n._loadedConfig=t,new gt(a,{})))):Object(o.a)(new gt(a,{}));const{matched:r,consumedSegments:i,lastChild:s}=fe(e,n,a);if(!r)return le(e);const c=a.slice(s);return this.getChildConfig(t,n,a).pipe(Object(y.a)(t=>{const n=t.module,a=t.routes,{segmentGroup:r,slicedSegments:s}=function(t,e,n,a){return n.length>0&&function(t,e,n){return n.some(n=>me(t,e,n)&&"primary"!==he(n))}(t,n,a)?{segmentGroup:pe(new gt(e,function(t,e){const n={};n.primary=e;for(const a of t)""===a.path&&"primary"!==he(a)&&(n[he(a)]=new gt([],{}));return n}(a,new gt(n,t.children)))),slicedSegments:[]}:0===n.length&&function(t,e,n){return n.some(n=>me(t,e,n))}(t,n,a)?{segmentGroup:pe(new gt(t.segments,function(t,e,n,a){const r={};for(const o of n)me(t,e,o)&&!a[he(o)]&&(r[he(o)]=new gt([],{}));return Object.assign({},a,r)}(t,n,a,t.children))),slicedSegments:n}:{segmentGroup:t,slicedSegments:n}}(e,i,c,a);return 0===s.length&&r.hasChildren()?this.expandChildren(n,a,r).pipe(Object(p.a)(t=>new gt(i,t))):0===a.length&&0===s.length?Object(o.a)(new gt(i,{})):this.expandSegment(n,r,a,s,"primary",!0).pipe(Object(p.a)(t=>new gt(i.concat(t.segments),t.children)))}))}getChildConfig(t,e,n){return e.children?Object(o.a)(new tt(e.children,t)):e.loadChildren?void 0!==e._loadedConfig?Object(o.a)(e._loadedConfig):function(t,e,n){const a=e.canLoad;return a&&0!==a.length?Object(i.a)(a).pipe(Object(p.a)(a=>{const r=t.get(a);let o;if(function(t){return t&&oe(t.canLoad)}(r))o=r.canLoad(e,n);else{if(!oe(r))throw new Error("Invalid CanLoad guard");o=r(e,n)}return lt(o)})).pipe(Object(m.a)(),Object(O.a)(t=>!0===t)):Object(o.a)(!0)}(t.injector,e,n).pipe(Object(y.a)(n=>n?this.configLoader.load(t.injector,e).pipe(Object(p.a)(t=>(e._loadedConfig=t,t))):function(t){return new c.a(e=>e.error(X(`Cannot load children because the guard of the route "path: '${t.path}'" returned false`)))}(e))):Object(o.a)(new tt([],t))}lineralizeSegments(t,e){let n=[],a=e.root;for(;;){if(n=n.concat(a.segments),0===a.numberOfChildren)return Object(o.a)(n);if(a.numberOfChildren>1||!a.children.primary)return ue(t.redirectTo);a=a.children.primary}}applyRedirectCommands(t,e,n){return this.applyRedirectCreatreUrlTree(e,this.urlSerializer.parse(e),t,n)}applyRedirectCreatreUrlTree(t,e,n,a){const r=this.createSegmentGroup(t,e.root,n,a);return new ut(r,this.createQueryParams(e.queryParams,this.urlTree.queryParams),e.fragment)}createQueryParams(t,e){const n={};return ct(t,(t,a)=>{if("string"==typeof t&&t.startsWith(":")){const r=t.substring(1);n[a]=e[r]}else n[a]=t}),n}createSegmentGroup(t,e,n,a){const r=this.createSegments(t,e.segments,n,a);let o={};return ct(e.children,(e,r)=>{o[r]=this.createSegmentGroup(t,e,n,a)}),new gt(r,o)}createSegments(t,e,n,a){return e.map(e=>e.path.startsWith(":")?this.findPosParam(t,e,a):this.findOrReturn(e,n))}findPosParam(t,e,n){const a=n[e.path.substring(1)];if(!a)throw new Error(`Cannot redirect to '${t}'. Cannot find '${e.path}'.`);return a}findOrReturn(t,e){let n=0;for(const a of e){if(a.path===t.path)return e.splice(n),a;n++}return t}}function fe(t,e,n){if(""===e.path)return"full"===e.pathMatch&&(t.hasChildren()||n.length>0)?{matched:!1,consumedSegments:[],lastChild:0,positionalParamSegments:{}}:{matched:!0,consumedSegments:[],lastChild:0,positionalParamSegments:{}};const a=(e.matcher||Q)(n,t,e);return a?{matched:!0,consumedSegments:a.consumed,lastChild:a.consumed.length,positionalParamSegments:a.posParams}:{matched:!1,consumedSegments:[],lastChild:0,positionalParamSegments:{}}}function pe(t){if(1===t.numberOfChildren&&t.children.primary){const e=t.children.primary;return new gt(t.segments.concat(e.segments),e.children)}return t}function me(t,e,n){return(!(t.hasChildren()||e.length>0)||"full"!==n.pathMatch)&&""===n.path&&void 0!==n.redirectTo}function he(t){return t.outlet||"primary"}class be{constructor(t){this.path=t,this.route=this.path[this.path.length-1]}}class _e{constructor(t,e){this.component=t,this.route=e}}function ye(t,e,n){const a=t._root;return function t(e,n,a,r,o={canDeactivateChecks:[],canActivateChecks:[]}){const i=Dt(n);return e.children.forEach(e=>{!function(e,n,a,r,o={canDeactivateChecks:[],canActivateChecks:[]}){const i=e.value,s=n?n.value:null,c=a?a.getContext(e.value.outlet):null;if(s&&i.routeConfig===s.routeConfig){const l=function(t,e,n){if("function"==typeof n)return n(t,e);switch(n){case"pathParamsChange":return!pt(t.url,e.url);case"pathParamsOrQueryParamsChange":return!pt(t.url,e.url)||!ot(t.queryParams,e.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!Ht(t,e)||!ot(t.queryParams,e.queryParams);case"paramsChange":default:return!Ht(t,e)}}(s,i,i.routeConfig.runGuardsAndResolvers);l?o.canActivateChecks.push(new be(r)):(i.data=s.data,i._resolvedData=s._resolvedData),t(e,n,i.component?c?c.children:null:a,r,o),l&&o.canDeactivateChecks.push(new _e(c&&c.outlet&&c.outlet.component||null,s))}else s&&ve(n,c,o),o.canActivateChecks.push(new be(r)),t(e,null,i.component?c?c.children:null:a,r,o)}(e,i[e.value.outlet],a,r.concat([e.value]),o),delete i[e.value.outlet]}),ct(i,(t,e)=>ve(t,a.getContext(e),o)),o}(a,e?e._root:null,n,[a.value])}function Oe(t,e,n){const a=function(t){if(!t)return null;for(let e=t.parent;e;e=e.parent){const t=e.routeConfig;if(t&&t._loadedConfig)return t._loadedConfig}return null}(e);return(a?a.module.injector:n).get(t)}function ve(t,e,n){const a=Dt(t),r=t.value;ct(a,(t,a)=>{ve(t,r.component?e?e.children.getContext(a):null:e,n)}),n.canDeactivateChecks.push(new _e(r.component&&e&&e.outlet&&e.outlet.isActivated?e.outlet.component:null,r))}const Ce=Symbol("INITIAL_VALUE");function Pe(){return Object(v.a)(t=>Object(d.b)(...t.map(t=>t.pipe(Object(C.a)(1),Object(P.a)(Ce)))).pipe(Object(M.a)((t,e)=>{let n=!1;return e.reduce((t,a,r)=>{if(t!==Ce)return t;if(a===Ce&&(n=!0),!n){if(!1===a)return a;if(r===e.length-1||ie(a))return a}return t},t)},Ce),Object(x.a)(t=>t!==Ce),Object(p.a)(t=>ie(t)?t:!0===t),Object(C.a)(1)))}function Me(t,e){return null!==t&&e&&e(new U(t)),Object(o.a)(!0)}function xe(t,e){return null!==t&&e&&e(new B(t)),Object(o.a)(!0)}function we(t,e,n){const a=e.routeConfig?e.routeConfig.canActivate:null;if(!a||0===a.length)return Object(o.a)(!0);const r=a.map(a=>Object(u.a)(()=>{const r=Oe(a,e,n);let o;if(function(t){return t&&oe(t.canActivate)}(r))o=lt(r.canActivate(e,t));else{if(!oe(r))throw new Error("Invalid CanActivate guard");o=lt(r(e,t))}return o.pipe(Object(_.a)())}));return Object(o.a)(r).pipe(Pe())}function Te(t,e,n){const a=e[e.length-1],r=e.slice(0,e.length-1).reverse().map(t=>function(t){const e=t.routeConfig?t.routeConfig.canActivateChild:null;return e&&0!==e.length?{node:t,guards:e}:null}(t)).filter(t=>null!==t).map(e=>Object(u.a)(()=>{const r=e.guards.map(r=>{const o=Oe(r,e.node,n);let i;if(function(t){return t&&oe(t.canActivateChild)}(o))i=lt(o.canActivateChild(a,t));else{if(!oe(o))throw new Error("Invalid CanActivateChild guard");i=lt(o(a,t))}return i.pipe(Object(_.a)())});return Object(o.a)(r).pipe(Pe())}));return Object(o.a)(r).pipe(Pe())}class ke{}class Se{constructor(t,e,n,a,r,o){this.rootComponentType=t,this.config=e,this.urlTree=n,this.url=a,this.paramsInheritanceStrategy=r,this.relativeLinkResolution=o}recognize(){try{const t=Re(this.urlTree.root,[],[],this.config,this.relativeLinkResolution).segmentGroup,e=this.processSegmentGroup(this.config,t,"primary"),n=new zt([],Object.freeze({}),Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,{},"primary",this.rootComponentType,null,this.urlTree.root,-1,{}),a=new Et(n,e),r=new Vt(this.url,a);return this.inheritParamsAndData(r._root),Object(o.a)(r)}catch(t){return new c.a(e=>e.error(t))}}inheritParamsAndData(t){const e=t.value,n=Ft(e,this.paramsInheritanceStrategy);e.params=Object.freeze(n.params),e.data=Object.freeze(n.data),t.children.forEach(t=>this.inheritParamsAndData(t))}processSegmentGroup(t,e,n){return 0===e.segments.length&&e.hasChildren()?this.processChildren(t,e):this.processSegment(t,e,e.segments,n)}processChildren(t,e){const n=mt(e,(e,n)=>this.processSegmentGroup(t,e,n));return function(t){const e={};t.forEach(t=>{const n=e[t.value.outlet];if(n){const e=n.url.map(t=>t.toString()).join("/"),a=t.value.url.map(t=>t.toString()).join("/");throw new Error(`Two segments cannot have the same outlet name: '${e}' and '${a}'.`)}e[t.value.outlet]=t.value})}(n),n.sort((t,e)=>"primary"===t.value.outlet?-1:"primary"===e.value.outlet?1:t.value.outlet.localeCompare(e.value.outlet)),n}processSegment(t,e,n,a){for(const o of t)try{return this.processSegmentAgainstRoute(o,e,n,a)}catch(r){if(!(r instanceof ke))throw r}if(this.noLeftoversInUrl(e,n,a))return[];throw new ke}noLeftoversInUrl(t,e,n){return 0===e.length&&!t.children[n]}processSegmentAgainstRoute(t,e,n,a){if(t.redirectTo)throw new ke;if((t.outlet||"primary")!==a)throw new ke;let r,o=[],i=[];if("**"===t.path){const o=n.length>0?st(n).parameters:{};r=new zt(n,o,Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,De(t),a,t.component,t,Ie(e),Ne(e)+n.length,Le(t))}else{const s=function(t,e,n){if(""===e.path){if("full"===e.pathMatch&&(t.hasChildren()||n.length>0))throw new ke;return{consumedSegments:[],lastChild:0,parameters:{}}}const a=(e.matcher||Q)(n,t,e);if(!a)throw new ke;const r={};ct(a.posParams,(t,e)=>{r[e]=t.path});const o=a.consumed.length>0?Object.assign({},r,a.consumed[a.consumed.length-1].parameters):r;return{consumedSegments:a.consumed,lastChild:a.consumed.length,parameters:o}}(e,t,n);o=s.consumedSegments,i=n.slice(s.lastChild),r=new zt(o,s.parameters,Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,De(t),a,t.component,t,Ie(e),Ne(e)+o.length,Le(t))}const s=function(t){return t.children?t.children:t.loadChildren?t._loadedConfig.routes:[]}(t),{segmentGroup:c,slicedSegments:l}=Re(e,o,i,s,this.relativeLinkResolution);if(0===l.length&&c.hasChildren()){const t=this.processChildren(s,c);return[new Et(r,t)]}if(0===s.length&&0===l.length)return[new Et(r,[])];const d=this.processSegment(s,c,l,"primary");return[new Et(r,d)]}}function Ie(t){let e=t;for(;e._sourceSegment;)e=e._sourceSegment;return e}function Ne(t){let e=t,n=e._segmentIndexShift?e._segmentIndexShift:0;for(;e._sourceSegment;)e=e._sourceSegment,n+=e._segmentIndexShift?e._segmentIndexShift:0;return n-1}function Re(t,e,n,a,r){if(n.length>0&&function(t,e,n){return n.some(n=>Ae(t,e,n)&&"primary"!==Ee(n))}(t,n,a)){const r=new gt(e,function(t,e,n,a){const r={};r.primary=a,a._sourceSegment=t,a._segmentIndexShift=e.length;for(const o of n)if(""===o.path&&"primary"!==Ee(o)){const n=new gt([],{});n._sourceSegment=t,n._segmentIndexShift=e.length,r[Ee(o)]=n}return r}(t,e,a,new gt(n,t.children)));return r._sourceSegment=t,r._segmentIndexShift=e.length,{segmentGroup:r,slicedSegments:[]}}if(0===n.length&&function(t,e,n){return n.some(n=>Ae(t,e,n))}(t,n,a)){const o=new gt(t.segments,function(t,e,n,a,r,o){const i={};for(const s of a)if(Ae(t,n,s)&&!r[Ee(s)]){const n=new gt([],{});n._sourceSegment=t,n._segmentIndexShift="legacy"===o?t.segments.length:e.length,i[Ee(s)]=n}return Object.assign({},r,i)}(t,e,n,a,t.children,r));return o._sourceSegment=t,o._segmentIndexShift=e.length,{segmentGroup:o,slicedSegments:n}}const o=new gt(t.segments,t.children);return o._sourceSegment=t,o._segmentIndexShift=e.length,{segmentGroup:o,slicedSegments:n}}function Ae(t,e,n){return(!(t.hasChildren()||e.length>0)||"full"!==n.pathMatch)&&""===n.path&&void 0===n.redirectTo}function Ee(t){return t.outlet||"primary"}function De(t){return t.data||{}}function Le(t){return t.resolve||{}}function qe(t,e,n,a){const r=Oe(t,e,a);return lt(r.resolve?r.resolve(e,n):r(e,n))}function je(t){return function(e){return e.pipe(Object(v.a)(e=>{const n=t(e);return n?Object(i.a)(n).pipe(Object(p.a)(()=>e)):Object(i.a)([e])}))}}class Fe{}class ze{shouldDetach(t){return!1}store(t,e){}shouldAttach(t){return!1}retrieve(t){return null}shouldReuseRoute(t,e){return t.routeConfig===e.routeConfig}}const Ve=new r.InjectionToken("ROUTES");class Ge{constructor(t,e,n,a){this.loader=t,this.compiler=e,this.onLoadStartListener=n,this.onLoadEndListener=a}load(t,e){return this.onLoadStartListener&&this.onLoadStartListener(e),this.loadModuleFactory(e.loadChildren).pipe(Object(p.a)(n=>{this.onLoadEndListener&&this.onLoadEndListener(e);const a=n.create(t);return new tt(it(a.injector.get(Ve)).map(rt),a)}))}loadModuleFactory(t){return"string"==typeof t?Object(i.a)(this.loader.load(t)):lt(t()).pipe(Object(y.a)(t=>t instanceof r.NgModuleFactory?Object(o.a)(t):Object(i.a)(this.compiler.compileModuleAsync(t))))}}class Ye{}class Be{shouldProcessUrl(t){return!0}extract(t){return t}merge(t,e){return t}}function He(t){throw t}function Ue(t,e,n){return e.parse("/")}function We(t,e){return Object(o.a)(null)}class Ke{constructor(t,e,n,a,o,i,c,l){this.rootComponentType=t,this.urlSerializer=e,this.rootContexts=n,this.location=a,this.config=l,this.lastSuccessfulNavigation=null,this.currentNavigation=null,this.navigationId=0,this.isNgZoneEnabled=!1,this.events=new g.a,this.errorHandler=He,this.malformedUriErrorHandler=Ue,this.navigated=!1,this.lastSuccessfulId=-1,this.hooks={beforePreactivation:We,afterPreactivation:We},this.urlHandlingStrategy=new Be,this.routeReuseStrategy=new ze,this.onSameUrlNavigation="ignore",this.paramsInheritanceStrategy="emptyOnly",this.urlUpdateStrategy="deferred",this.relativeLinkResolution="legacy",this.ngModule=o.get(r.NgModuleRef),this.console=o.get(r["ɵConsole"]);const d=o.get(r.NgZone);this.isNgZoneEnabled=d instanceof r.NgZone,this.resetConfig(l),this.currentUrlTree=new ut(new gt([],{}),{},null),this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.configLoader=new Ge(i,c,t=>this.triggerEvent(new G(t)),t=>this.triggerEvent(new Y(t))),this.routerState=qt(this.currentUrlTree,this.rootComponentType),this.transitions=new s.a({id:0,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,extractedUrl:this.urlHandlingStrategy.extract(this.currentUrlTree),urlAfterRedirects:this.urlHandlingStrategy.extract(this.currentUrlTree),rawUrl:this.currentUrlTree,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:"imperative",restoredState:null,currentSnapshot:this.routerState.snapshot,targetSnapshot:null,currentRouterState:this.routerState,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.navigations=this.setupNavigations(this.transitions),this.processNavigations()}setupNavigations(t){const e=this.events;return t.pipe(Object(x.a)(t=>0!==t.id),Object(p.a)(t=>Object.assign({},t,{extractedUrl:this.urlHandlingStrategy.extract(t.rawUrl)})),Object(v.a)(t=>{let n=!1,a=!1;return Object(o.a)(t).pipe(Object(k.a)(t=>{this.currentNavigation={id:t.id,initialUrl:t.currentRawUrl,extractedUrl:t.extractedUrl,trigger:t.source,extras:t.extras,previousNavigation:this.lastSuccessfulNavigation?Object.assign({},this.lastSuccessfulNavigation,{previousNavigation:null}):null}}),Object(v.a)(t=>{const n=!this.navigated||t.extractedUrl.toString()!==this.browserUrlTree.toString();if(("reload"===this.onSameUrlNavigation||n)&&this.urlHandlingStrategy.shouldProcessUrl(t.rawUrl))return Object(o.a)(t).pipe(Object(v.a)(t=>{const n=this.transitions.getValue();return e.next(new A(t.id,this.serializeUrl(t.extractedUrl),t.source,t.restoredState)),n!==this.transitions.getValue()?f.a:[t]}),Object(v.a)(t=>Promise.resolve(t)),(a=this.ngModule.injector,r=this.configLoader,i=this.urlSerializer,s=this.config,function(t){return t.pipe(Object(v.a)(t=>function(t,e,n,a,r){return new ge(t,e,n,a,r).apply()}(a,r,i,t.extractedUrl,s).pipe(Object(p.a)(e=>Object.assign({},t,{urlAfterRedirects:e})))))}),Object(k.a)(t=>{this.currentNavigation=Object.assign({},this.currentNavigation,{finalUrl:t.urlAfterRedirects})}),function(t,e,n,a,r){return function(o){return o.pipe(Object(y.a)(o=>function(t,e,n,a,r="emptyOnly",o="legacy"){return new Se(t,e,n,a,r,o).recognize()}(t,e,o.urlAfterRedirects,n(o.urlAfterRedirects),a,r).pipe(Object(p.a)(t=>Object.assign({},o,{targetSnapshot:t})))))}}(this.rootComponentType,this.config,t=>this.serializeUrl(t),this.paramsInheritanceStrategy,this.relativeLinkResolution),Object(k.a)(t=>{"eager"===this.urlUpdateStrategy&&(t.extras.skipLocationChange||this.setBrowserUrl(t.urlAfterRedirects,!!t.extras.replaceUrl,t.id,t.extras.state),this.browserUrlTree=t.urlAfterRedirects)}),Object(k.a)(t=>{const n=new q(t.id,this.serializeUrl(t.extractedUrl),this.serializeUrl(t.urlAfterRedirects),t.targetSnapshot);e.next(n)}));var a,r,i,s;if(n&&this.rawUrlTree&&this.urlHandlingStrategy.shouldProcessUrl(this.rawUrlTree)){const{id:n,extractedUrl:a,source:r,restoredState:i,extras:s}=t,c=new A(n,this.serializeUrl(a),r,i);e.next(c);const l=qt(a,this.rootComponentType).snapshot;return Object(o.a)(Object.assign({},t,{targetSnapshot:l,urlAfterRedirects:a,extras:Object.assign({},s,{skipLocationChange:!1,replaceUrl:!1})}))}return this.rawUrlTree=t.rawUrl,this.browserUrlTree=t.urlAfterRedirects,t.resolve(null),f.a}),je(t=>{const{targetSnapshot:e,id:n,extractedUrl:a,rawUrl:r,extras:{skipLocationChange:o,replaceUrl:i}}=t;return this.hooks.beforePreactivation(e,{navigationId:n,appliedUrlTree:a,rawUrlTree:r,skipLocationChange:!!o,replaceUrl:!!i})}),Object(k.a)(t=>{const e=new j(t.id,this.serializeUrl(t.extractedUrl),this.serializeUrl(t.urlAfterRedirects),t.targetSnapshot);this.triggerEvent(e)}),Object(p.a)(t=>Object.assign({},t,{guards:ye(t.targetSnapshot,t.currentSnapshot,this.rootContexts)})),function(t,e){return function(n){return n.pipe(Object(y.a)(n=>{const{targetSnapshot:a,currentSnapshot:r,guards:{canActivateChecks:s,canDeactivateChecks:c}}=n;return 0===c.length&&0===s.length?Object(o.a)(Object.assign({},n,{guardsResult:!0})):function(t,e,n,a){return Object(i.a)(t).pipe(Object(y.a)(t=>function(t,e,n,a,r){const i=e&&e.routeConfig?e.routeConfig.canDeactivate:null;if(!i||0===i.length)return Object(o.a)(!0);const s=i.map(o=>{const i=Oe(o,e,r);let s;if(function(t){return t&&oe(t.canDeactivate)}(i))s=lt(i.canDeactivate(t,e,n,a));else{if(!oe(i))throw new Error("Invalid CanDeactivate guard");s=lt(i(t,e,n,a))}return s.pipe(Object(_.a)())});return Object(o.a)(s).pipe(Pe())}(t.component,t.route,n,e,a)),Object(_.a)(t=>!0!==t,!0))}(c,a,r,t).pipe(Object(y.a)(n=>n&&"boolean"==typeof n?function(t,e,n,a){return Object(i.a)(e).pipe(Object(w.a)(e=>Object(i.a)([xe(e.route.parent,a),Me(e.route,a),Te(t,e.path,n),we(t,e.route,n)]).pipe(Object(m.a)(),Object(_.a)(t=>!0!==t,!0))),Object(_.a)(t=>!0!==t,!0))}(a,s,t,e):Object(o.a)(n)),Object(p.a)(t=>Object.assign({},n,{guardsResult:t})))}))}}(this.ngModule.injector,t=>this.triggerEvent(t)),Object(k.a)(t=>{if(ie(t.guardsResult)){const e=X(`Redirecting to "${this.serializeUrl(t.guardsResult)}"`);throw e.url=t.guardsResult,e}}),Object(k.a)(t=>{const e=new F(t.id,this.serializeUrl(t.extractedUrl),this.serializeUrl(t.urlAfterRedirects),t.targetSnapshot,!!t.guardsResult);this.triggerEvent(e)}),Object(x.a)(t=>{if(!t.guardsResult){this.resetUrlToCurrentUrlTree();const n=new D(t.id,this.serializeUrl(t.extractedUrl),"");return e.next(n),t.resolve(!1),!1}return!0}),je(t=>{if(t.guards.canActivateChecks.length)return Object(o.a)(t).pipe(Object(k.a)(t=>{const e=new z(t.id,this.serializeUrl(t.extractedUrl),this.serializeUrl(t.urlAfterRedirects),t.targetSnapshot);this.triggerEvent(e)}),(e=this.paramsInheritanceStrategy,n=this.ngModule.injector,function(t){return t.pipe(Object(y.a)(t=>{const{targetSnapshot:a,guards:{canActivateChecks:r}}=t;return r.length?Object(i.a)(r).pipe(Object(w.a)(t=>function(t,e,n,a){return function(t,e,n,a){const r=Object.keys(t);if(0===r.length)return Object(o.a)({});if(1===r.length){const o=r[0];return qe(t[o],e,n,a).pipe(Object(p.a)(t=>({[o]:t})))}const s={};return Object(i.a)(r).pipe(Object(y.a)(r=>qe(t[r],e,n,a).pipe(Object(p.a)(t=>(s[r]=t,t))))).pipe(Object(h.a)(),Object(p.a)(()=>s))}(t._resolve,t,e,a).pipe(Object(p.a)(e=>(t._resolvedData=e,t.data=Object.assign({},t.data,Ft(t,n).resolve),null)))}(t.route,a,e,n)),Object(T.a)((t,e)=>t),Object(p.a)(e=>t)):Object(o.a)(t)}))}),Object(k.a)(t=>{const e=new V(t.id,this.serializeUrl(t.extractedUrl),this.serializeUrl(t.urlAfterRedirects),t.targetSnapshot);this.triggerEvent(e)}));var e,n}),je(t=>{const{targetSnapshot:e,id:n,extractedUrl:a,rawUrl:r,extras:{skipLocationChange:o,replaceUrl:i}}=t;return this.hooks.afterPreactivation(e,{navigationId:n,appliedUrlTree:a,rawUrlTree:r,skipLocationChange:!!o,replaceUrl:!!i})}),Object(p.a)(t=>{const e=function(t,e,n){const a=function t(e,n,a){if(a&&e.shouldReuseRoute(n.value,a.value.snapshot)){const r=a.value;r._futureSnapshot=n.value;const o=function(e,n,a){return n.children.map(n=>{for(const r of a.children)if(e.shouldReuseRoute(r.value.snapshot,n.value))return t(e,n,r);return t(e,n)})}(e,n,a);return new Et(r,o)}{const a=e.retrieve(n.value);if(a){const t=a.route;return function t(e,n){if(e.value.routeConfig!==n.value.routeConfig)throw new Error("Cannot reattach ActivatedRouteSnapshot created from a different route");if(e.children.length!==n.children.length)throw new Error("Cannot reattach ActivatedRouteSnapshot with a different number of children");n.value._futureSnapshot=e.value;for(let a=0;a<e.children.length;++a)t(e.children[a],n.children[a])}(n,t),t}{const a=new jt(new s.a((r=n.value).url),new s.a(r.params),new s.a(r.queryParams),new s.a(r.fragment),new s.a(r.data),r.outlet,r.component,r),o=n.children.map(n=>t(e,n));return new Et(a,o)}}var r}(t,e._root,n?n._root:void 0);return new Lt(a,e)}(this.routeReuseStrategy,t.targetSnapshot,t.currentRouterState);return Object.assign({},t,{targetRouterState:e})}),Object(k.a)(t=>{this.currentUrlTree=t.urlAfterRedirects,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,t.rawUrl),this.routerState=t.targetRouterState,"deferred"===this.urlUpdateStrategy&&(t.extras.skipLocationChange||this.setBrowserUrl(this.rawUrlTree,!!t.extras.replaceUrl,t.id,t.extras.state),this.browserUrlTree=t.urlAfterRedirects)}),(r=this.rootContexts,c=this.routeReuseStrategy,l=t=>this.triggerEvent(t),Object(p.a)(t=>(new ae(c,t.targetRouterState,t.currentRouterState,l).activate(r),t))),Object(k.a)({next(){n=!0},complete(){n=!0}}),Object(S.a)(()=>{if(!n&&!a){this.resetUrlToCurrentUrlTree();const n=new D(t.id,this.serializeUrl(t.extractedUrl),`Navigation ID ${t.id} is not equal to the current navigation id ${this.navigationId}`);e.next(n),t.resolve(!1)}this.currentNavigation=null}),Object(b.a)(n=>{if(a=!0,(r=n)&&r.ngNavigationCancelingError){const a=ie(n.url);a||(this.navigated=!0,this.resetStateAndUrl(t.currentRouterState,t.currentUrlTree,t.rawUrl));const r=new D(t.id,this.serializeUrl(t.extractedUrl),n.message);e.next(r),t.resolve(!1),a&&this.navigateByUrl(n.url)}else{this.resetStateAndUrl(t.currentRouterState,t.currentUrlTree,t.rawUrl);const a=new L(t.id,this.serializeUrl(t.extractedUrl),n);e.next(a);try{t.resolve(this.errorHandler(n))}catch(o){t.reject(o)}}var r;return f.a}));var r,c,l}))}resetRootComponentType(t){this.rootComponentType=t,this.routerState.root.component=this.rootComponentType}getTransition(){const t=this.transitions.value;return t.urlAfterRedirects=this.browserUrlTree,t}setTransition(t){this.transitions.next(Object.assign({},this.getTransition(),t))}initialNavigation(){this.setUpLocationChangeListener(),0===this.navigationId&&this.navigateByUrl(this.location.path(!0),{replaceUrl:!0})}setUpLocationChangeListener(){this.locationSubscription||(this.locationSubscription=this.location.subscribe(t=>{let e=this.parseUrl(t.url);const n="popstate"===t.type?"popstate":"hashchange",a=t.state&&t.state.navigationId?t.state:null;setTimeout(()=>{this.scheduleNavigation(e,n,a,{replaceUrl:!0})},0)}))}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.currentNavigation}triggerEvent(t){this.events.next(t)}resetConfig(t){et(t),this.config=t.map(rt),this.navigated=!1,this.lastSuccessfulId=-1}ngOnDestroy(){this.dispose()}dispose(){this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=null)}createUrlTree(t,e={}){const{relativeTo:n,queryParams:a,fragment:o,preserveQueryParams:i,queryParamsHandling:s,preserveFragment:c}=e;Object(r.isDevMode)()&&i&&console&&console.warn&&console.warn("preserveQueryParams is deprecated, use queryParamsHandling instead.");const l=n||this.routerState.root,d=c?this.currentUrlTree.fragment:o;let u=null;if(s)switch(s){case"merge":u=Object.assign({},this.currentUrlTree.queryParams,a);break;case"preserve":u=this.currentUrlTree.queryParams;break;default:u=a||null}else u=i?this.currentUrlTree.queryParams:a||null;return null!==u&&(u=this.removeEmptyProps(u)),function(t,e,n,a,r){if(0===n.length)return Wt(e.root,e.root,e,a,r);const o=function(t){if("string"==typeof t[0]&&1===t.length&&"/"===t[0])return new Kt(!0,0,t);let e=0,n=!1;const a=t.reduce((t,a,r)=>{if("object"==typeof a&&null!=a){if(a.outlets){const e={};return ct(a.outlets,(t,n)=>{e[n]="string"==typeof t?t.split("/"):t}),[...t,{outlets:e}]}if(a.segmentPath)return[...t,a.segmentPath]}return"string"!=typeof a?[...t,a]:0===r?(a.split("/").forEach((a,r)=>{0==r&&"."===a||(0==r&&""===a?n=!0:".."===a?e++:""!=a&&t.push(a))}),t):[...t,a]},[]);return new Kt(n,e,a)}(n);if(o.toRoot())return Wt(e.root,new gt([],{}),e,a,r);const i=function(t,e,n){if(t.isAbsolute)return new $t(e.root,!0,0);if(-1===n.snapshot._lastPathIndex)return new $t(n.snapshot._urlSegment,!0,0);const a=Ut(t.commands[0])?0:1;return function(t,e,n){let a=t,r=e,o=n;for(;o>r;){if(o-=r,a=a.parent,!a)throw new Error("Invalid number of '../'");r=a.segments.length}return new $t(a,!1,r-o)}(n.snapshot._urlSegment,n.snapshot._lastPathIndex+a,t.numberOfDoubleDots)}(o,e,t),s=i.processChildren?Xt(i.segmentGroup,i.index,o.commands):Jt(i.segmentGroup,i.index,o.commands);return Wt(i.segmentGroup,s,e,a,r)}(l,this.currentUrlTree,t,u,d)}navigateByUrl(t,e={skipLocationChange:!1}){Object(r.isDevMode)()&&this.isNgZoneEnabled&&!r.NgZone.isInAngularZone()&&this.console.warn("Navigation triggered outside Angular zone, did you forget to call 'ngZone.run()'?");const n=ie(t)?t:this.parseUrl(t),a=this.urlHandlingStrategy.merge(n,this.rawUrlTree);return this.scheduleNavigation(a,"imperative",null,e)}navigate(t,e={skipLocationChange:!1}){return function(t){for(let e=0;e<t.length;e++){const n=t[e];if(null==n)throw new Error(`The requested path contains ${n} segment at index ${e}`)}}(t),this.navigateByUrl(this.createUrlTree(t,e),e)}serializeUrl(t){return this.urlSerializer.serialize(t)}parseUrl(t){let e;try{e=this.urlSerializer.parse(t)}catch(n){e=this.malformedUriErrorHandler(n,this.urlSerializer,t)}return e}isActive(t,e){if(ie(t))return dt(this.currentUrlTree,t,e);const n=this.parseUrl(t);return dt(this.currentUrlTree,n,e)}removeEmptyProps(t){return Object.keys(t).reduce((e,n)=>{const a=t[n];return null!=a&&(e[n]=a),e},{})}processNavigations(){this.navigations.subscribe(t=>{this.navigated=!0,this.lastSuccessfulId=t.id,this.events.next(new E(t.id,this.serializeUrl(t.extractedUrl),this.serializeUrl(this.currentUrlTree))),this.lastSuccessfulNavigation=this.currentNavigation,this.currentNavigation=null,t.resolve(!0)},t=>{this.console.warn("Unhandled Navigation Error: ")})}scheduleNavigation(t,e,n,a){const r=this.getTransition();if(r&&"imperative"!==e&&"imperative"===r.source&&r.rawUrl.toString()===t.toString())return Promise.resolve(!0);if(r&&"hashchange"==e&&"popstate"===r.source&&r.rawUrl.toString()===t.toString())return Promise.resolve(!0);if(r&&"popstate"==e&&"hashchange"===r.source&&r.rawUrl.toString()===t.toString())return Promise.resolve(!0);let o=null,i=null;const s=new Promise((t,e)=>{o=t,i=e}),c=++this.navigationId;return this.setTransition({id:c,source:e,restoredState:n,currentUrlTree:this.currentUrlTree,currentRawUrl:this.rawUrlTree,rawUrl:t,extras:a,resolve:o,reject:i,promise:s,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),s.catch(t=>Promise.reject(t))}setBrowserUrl(t,e,n,a){const r=this.urlSerializer.serialize(t);a=a||{},this.location.isCurrentPathEqualTo(r)||e?this.location.replaceState(r,"",Object.assign({},a,{navigationId:n})):this.location.go(r,"",Object.assign({},a,{navigationId:n}))}resetStateAndUrl(t,e,n){this.routerState=t,this.currentUrlTree=e,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,n),this.resetUrlToCurrentUrlTree()}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",{navigationId:this.lastSuccessfulId})}}class $e{constructor(t,e,n,a,r){this.router=t,this.route=e,this.commands=[],null==n&&a.setAttribute(r.nativeElement,"tabindex","0")}set routerLink(t){this.commands=null!=t?Array.isArray(t)?t:[t]:[]}set preserveQueryParams(t){Object(r.isDevMode)()&&console&&console.warn&&console.warn("preserveQueryParams is deprecated!, use queryParamsHandling instead."),this.preserve=t}onClick(){const t={skipLocationChange:Je(this.skipLocationChange),replaceUrl:Je(this.replaceUrl)};return this.router.navigateByUrl(this.urlTree,t),!0}get urlTree(){return this.router.createUrlTree(this.commands,{relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,preserveQueryParams:Je(this.preserve),queryParamsHandling:this.queryParamsHandling,preserveFragment:Je(this.preserveFragment)})}}class Ze{constructor(t,e,n){this.router=t,this.route=e,this.locationStrategy=n,this.commands=[],this.subscription=t.events.subscribe(t=>{t instanceof E&&this.updateTargetUrlAndHref()})}set routerLink(t){this.commands=null!=t?Array.isArray(t)?t:[t]:[]}set preserveQueryParams(t){Object(r.isDevMode)()&&console&&console.warn&&console.warn("preserveQueryParams is deprecated, use queryParamsHandling instead."),this.preserve=t}ngOnChanges(t){this.updateTargetUrlAndHref()}ngOnDestroy(){this.subscription.unsubscribe()}onClick(t,e,n,a){if(0!==t||e||n||a)return!0;if("string"==typeof this.target&&"_self"!=this.target)return!0;const r={skipLocationChange:Je(this.skipLocationChange),replaceUrl:Je(this.replaceUrl),state:this.state};return this.router.navigateByUrl(this.urlTree,r),!1}updateTargetUrlAndHref(){this.href=this.locationStrategy.prepareExternalUrl(this.router.serializeUrl(this.urlTree))}get urlTree(){return this.router.createUrlTree(this.commands,{relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,preserveQueryParams:Je(this.preserve),queryParamsHandling:this.queryParamsHandling,preserveFragment:Je(this.preserveFragment)})}}function Je(t){return""===t||!!t}class Xe{constructor(t,e,n,a,r){this.router=t,this.element=e,this.renderer=n,this.link=a,this.linkWithHref=r,this.classes=[],this.isActive=!1,this.routerLinkActiveOptions={exact:!1},this.subscription=t.events.subscribe(t=>{t instanceof E&&this.update()})}ngAfterContentInit(){this.links.changes.subscribe(t=>this.update()),this.linksWithHrefs.changes.subscribe(t=>this.update()),this.update()}set routerLinkActive(t){const e=Array.isArray(t)?t:t.split(" ");this.classes=e.filter(t=>!!t)}ngOnChanges(t){this.update()}ngOnDestroy(){this.subscription.unsubscribe()}update(){this.links&&this.linksWithHrefs&&this.router.navigated&&Promise.resolve().then(()=>{const t=this.hasActiveLinks();this.isActive!==t&&(this.isActive=t,this.classes.forEach(e=>{t?this.renderer.addClass(this.element.nativeElement,e):this.renderer.removeClass(this.element.nativeElement,e)}))})}isLinkActive(t){return e=>t.isActive(e.urlTree,this.routerLinkActiveOptions.exact)}hasActiveLinks(){const t=this.isLinkActive(this.router);return this.link&&t(this.link)||this.linkWithHref&&t(this.linkWithHref)||this.links.some(t)||this.linksWithHrefs.some(t)}}class Qe{constructor(){this.outlet=null,this.route=null,this.resolver=null,this.children=new tn,this.attachRef=null}}class tn{constructor(){this.contexts=new Map}onChildOutletCreated(t,e){const n=this.getOrCreateContext(t);n.outlet=e,this.contexts.set(t,n)}onChildOutletDestroyed(t){const e=this.getContext(t);e&&(e.outlet=null)}onOutletDeactivated(){const t=this.contexts;return this.contexts=new Map,t}onOutletReAttached(t){this.contexts=t}getOrCreateContext(t){let e=this.getContext(t);return e||(e=new Qe,this.contexts.set(t,e)),e}getContext(t){return this.contexts.get(t)||null}}class en{constructor(t,e,n,a,o){this.parentContexts=t,this.location=e,this.resolver=n,this.changeDetector=o,this.activated=null,this._activatedRoute=null,this.activateEvents=new r.EventEmitter,this.deactivateEvents=new r.EventEmitter,this.name=a||"primary",t.onChildOutletCreated(this.name,this)}ngOnDestroy(){this.parentContexts.onChildOutletDestroyed(this.name)}ngOnInit(){if(!this.activated){const t=this.parentContexts.getContext(this.name);t&&t.route&&(t.attachRef?this.attach(t.attachRef,t.route):this.activateWith(t.route,t.resolver||null))}}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new Error("Outlet is not activated");return this.activated.instance}get activatedRoute(){if(!this.activated)throw new Error("Outlet is not activated");return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new Error("Outlet is not activated");this.location.detach();const t=this.activated;return this.activated=null,this._activatedRoute=null,t}attach(t,e){this.activated=t,this._activatedRoute=e,this.location.insert(t.hostView)}deactivate(){if(this.activated){const t=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(t)}}activateWith(t,e){if(this.isActivated)throw new Error("Cannot activate an already activated outlet");this._activatedRoute=t;const n=(e=e||this.resolver).resolveComponentFactory(t._futureSnapshot.routeConfig.component),a=this.parentContexts.getOrCreateContext(this.name).children,r=new nn(t,a,this.location.injector);this.activated=this.location.createComponent(n,this.location.length,r),this.changeDetector.markForCheck(),this.activateEvents.emit(this.activated.instance)}}class nn{constructor(t,e,n){this.route=t,this.childContexts=e,this.parent=n}get(t,e){return t===jt?this.route:t===tn?this.childContexts:this.parent.get(t,e)}}class an{}class rn{preload(t,e){return e().pipe(Object(b.a)(()=>Object(o.a)(null)))}}class on{preload(t,e){return Object(o.a)(null)}}class sn{constructor(t,e,n,a,r){this.router=t,this.injector=a,this.preloadingStrategy=r,this.loader=new Ge(e,n,e=>t.triggerEvent(new G(e)),e=>t.triggerEvent(new Y(e)))}setUpPreloading(){this.subscription=this.router.events.pipe(Object(x.a)(t=>t instanceof E),Object(w.a)(()=>this.preload())).subscribe(()=>{})}preload(){const t=this.injector.get(r.NgModuleRef);return this.processRoutes(t,this.router.config)}ngOnDestroy(){this.subscription.unsubscribe()}processRoutes(t,e){const n=[];for(const a of e)if(a.loadChildren&&!a.canLoad&&a._loadedConfig){const t=a._loadedConfig;n.push(this.processRoutes(t.module,t.routes))}else a.loadChildren&&!a.canLoad?n.push(this.preloadConfig(t,a)):a.children&&n.push(this.processRoutes(t,a.children));return Object(i.a)(n).pipe(Object(I.a)(),Object(p.a)(t=>{}))}preloadConfig(t,e){return this.preloadingStrategy.preload(e,()=>this.loader.load(t.injector,e).pipe(Object(y.a)(t=>(e._loadedConfig=t,this.processRoutes(t.module,t.routes)))))}}class cn{constructor(t,e,n={}){this.router=t,this.viewportScroller=e,this.options=n,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},n.scrollPositionRestoration=n.scrollPositionRestoration||"disabled",n.anchorScrolling=n.anchorScrolling||"disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.router.events.subscribe(t=>{t instanceof A?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=t.navigationTrigger,this.restoredId=t.restoredState?t.restoredState.navigationId:0):t instanceof E&&(this.lastId=t.id,this.scheduleScrollEvent(t,this.router.parseUrl(t.urlAfterRedirects).fragment))})}consumeScrollEvents(){return this.router.events.subscribe(t=>{t instanceof K&&(t.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(t.position):t.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(t.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(t,e){this.router.triggerEvent(new K(t,"popstate"===this.lastSource?this.store[this.restoredId]:null,e))}ngOnDestroy(){this.routerEventsSubscription&&this.routerEventsSubscription.unsubscribe(),this.scrollEventsSubscription&&this.scrollEventsSubscription.unsubscribe()}}const ln=new r.InjectionToken("ROUTER_CONFIGURATION"),dn=new r.InjectionToken("ROUTER_FORROOT_GUARD"),un=[a.Location,{provide:ht,useClass:bt},{provide:Ke,useFactory:_n,deps:[r.ApplicationRef,ht,tn,a.Location,r.Injector,r.NgModuleFactoryLoader,r.Compiler,Ve,ln,[Ye,new r.Optional],[Fe,new r.Optional]]},tn,{provide:jt,useFactory:yn,deps:[Ke]},{provide:r.NgModuleFactoryLoader,useClass:r.SystemJsNgModuleLoader},sn,on,rn,{provide:ln,useValue:{enableTracing:!1}}];function gn(){return new r.NgProbeToken("Router",Ke)}class fn{constructor(t,e){}static forRoot(t,e){return{ngModule:fn,providers:[un,bn(t),{provide:dn,useFactory:hn,deps:[[Ke,new r.Optional,new r.SkipSelf]]},{provide:ln,useValue:e||{}},{provide:a.LocationStrategy,useFactory:mn,deps:[a.PlatformLocation,[new r.Inject(a.APP_BASE_HREF),new r.Optional],ln]},{provide:cn,useFactory:pn,deps:[Ke,a.ViewportScroller,ln]},{provide:an,useExisting:e&&e.preloadingStrategy?e.preloadingStrategy:on},{provide:r.NgProbeToken,multi:!0,useFactory:gn},[On,{provide:r.APP_INITIALIZER,multi:!0,useFactory:vn,deps:[On]},{provide:Pn,useFactory:Cn,deps:[On]},{provide:r.APP_BOOTSTRAP_LISTENER,multi:!0,useExisting:Pn}]]}}static forChild(t){return{ngModule:fn,providers:[bn(t)]}}}function pn(t,e,n){return n.scrollOffset&&e.setOffset(n.scrollOffset),new cn(t,e,n)}function mn(t,e,n={}){return n.useHash?new a.HashLocationStrategy(t,e):new a.PathLocationStrategy(t,e)}function hn(t){if(t)throw new Error("RouterModule.forRoot() called twice. Lazy loaded modules should use RouterModule.forChild() instead.");return"guarded"}function bn(t){return[{provide:r.ANALYZE_FOR_ENTRY_COMPONENTS,multi:!0,useValue:t},{provide:Ve,multi:!0,useValue:t}]}function _n(t,e,n,a,r,o,i,s,c={},l,d){const u=new Ke(null,e,n,a,r,o,i,it(s));if(l&&(u.urlHandlingStrategy=l),d&&(u.routeReuseStrategy=d),c.errorHandler&&(u.errorHandler=c.errorHandler),c.malformedUriErrorHandler&&(u.malformedUriErrorHandler=c.malformedUriErrorHandler),c.enableTracing){const t=Object(N.q)();u.events.subscribe(e=>{t.logGroup(`Router Event: ${e.constructor.name}`),t.log(e.toString()),t.log(e),t.logGroupEnd()})}return c.onSameUrlNavigation&&(u.onSameUrlNavigation=c.onSameUrlNavigation),c.paramsInheritanceStrategy&&(u.paramsInheritanceStrategy=c.paramsInheritanceStrategy),c.urlUpdateStrategy&&(u.urlUpdateStrategy=c.urlUpdateStrategy),c.relativeLinkResolution&&(u.relativeLinkResolution=c.relativeLinkResolution),u}function yn(t){return t.routerState.root}class On{constructor(t){this.injector=t,this.initNavigation=!1,this.resultOfPreactivationDone=new g.a}appInitializer(){return this.injector.get(a.LOCATION_INITIALIZED,Promise.resolve(null)).then(()=>{let t=null;const e=new Promise(e=>t=e),n=this.injector.get(Ke),a=this.injector.get(ln);if(this.isLegacyDisabled(a)||this.isLegacyEnabled(a))t(!0);else if("disabled"===a.initialNavigation)n.setUpLocationChangeListener(),t(!0);else{if("enabled"!==a.initialNavigation)throw new Error(`Invalid initialNavigation options: '${a.initialNavigation}'`);n.hooks.afterPreactivation=()=>this.initNavigation?Object(o.a)(null):(this.initNavigation=!0,t(!0),this.resultOfPreactivationDone),n.initialNavigation()}return e})}bootstrapListener(t){const e=this.injector.get(ln),n=this.injector.get(sn),a=this.injector.get(cn),o=this.injector.get(Ke),i=this.injector.get(r.ApplicationRef);t===i.components[0]&&(this.isLegacyEnabled(e)?o.initialNavigation():this.isLegacyDisabled(e)&&o.setUpLocationChangeListener(),n.setUpPreloading(),a.init(),o.resetRootComponentType(i.componentTypes[0]),this.resultOfPreactivationDone.next(null),this.resultOfPreactivationDone.complete())}isLegacyEnabled(t){return"legacy_enabled"===t.initialNavigation||!0===t.initialNavigation||void 0===t.initialNavigation}isLegacyDisabled(t){return"legacy_disabled"===t.initialNavigation||!1===t.initialNavigation}}function vn(t){return t.appInitializer.bind(t)}function Cn(t){return t.bootstrapListener.bind(t)}const Pn=new r.InjectionToken("Router Initializer")},iSVu:function(t,e,n){var a=n("xs3f"),r=Function.toString;"function"!=typeof a.inspectSource&&(a.inspectSource=function(t){return r.call(t)}),t.exports=a.inspectSource},iYuL:function(t,e,n){!function(t){"use strict";var e="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),a=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],r=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;t.defineLocale("es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(t,a){return t?/-MMM-/.test(a)?n[t.month()]:e[t.month()]:e},monthsRegex:r,monthsShortRegex:r,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n("wd/R"))},idmN:function(t,e,n){var a=n("ZWtO"),r=n("FZoo"),o=n("4uTw");t.exports=function(t,e,n){for(var i=-1,s=e.length,c={};++i<s;){var l=e[i],d=a(t,l);n(d,l)&&r(c,o(l,t),d)}return c}},ienR:function(t,e,n){"use strict";n.d(e,"a",(function(){return f})),n.d(e,"b",(function(){return D})),n.d(e,"c",(function(){return L})),n.d(e,"d",(function(){return q})),n.d(e,"e",(function(){return j})),n.d(e,"f",(function(){return F})),n.d(e,"g",(function(){return X})),n.d(e,"h",(function(){return z})),n.d(e,"i",(function(){return V})),n.d(e,"j",(function(){return h})),n.d(e,"k",(function(){return nt})),n.d(e,"l",(function(){return tt})),n.d(e,"m",(function(){return et})),n.d(e,"n",(function(){return it})),n.d(e,"o",(function(){return at})),n.d(e,"p",(function(){return rt})),n.d(e,"q",(function(){return ot})),n.d(e,"r",(function(){return E})),n.d(e,"s",(function(){return b})),n.d(e,"t",(function(){return m})),n.d(e,"u",(function(){return H})),n.d(e,"v",(function(){return Y})),n.d(e,"w",(function(){return W})),n.d(e,"x",(function(){return Z})),n.d(e,"y",(function(){return G})),n.d(e,"z",(function(){return K})),n.d(e,"A",(function(){return $})),n.d(e,"B",(function(){return J})),n.d(e,"C",(function(){return B}));var a=n("8Y7J"),r=n("pLZG"),o=n("lJxs"),i=n("IzEk"),s=n("xj/R"),c=n("2Vo4"),l=n("AfCQ"),d=n("2uy1"),u=(n("GS7A"),n("z/SZ")),g=(n("s7LF"),n("hpHm"));class f{constructor(){this.adaptivePosition=!1,this.isAnimated=!1,this.containerClass="theme-green",this.displayMonths=1,this.showWeekNumbers=!0,this.dateInputFormat="L",this.rangeSeparator=" - ",this.rangeInputFormat="L",this.monthTitle="MMMM",this.yearTitle="YYYY",this.dayLabel="D",this.monthLabel="MMMM",this.yearLabel="YYYY",this.weekNumbers="w"}}class p{constructor(){this._customRangesFish=[]}set minDate(t){this._effects.setMinDate(t)}set maxDate(t){this._effects.setMaxDate(t)}set daysDisabled(t){this._effects.setDaysDisabled(t)}set datesDisabled(t){this._effects.setDatesDisabled(t)}set isDisabled(t){this._effects.setDisabled(t)}set dateCustomClasses(t){this._effects.setDateCustomClasses(t)}setViewMode(t){}navigateTo(t){}dayHoverHandler(t){}weekHoverHandler(t){}monthHoverHandler(t){}yearHoverHandler(t){}daySelectHandler(t){}monthSelectHandler(t){}yearSelectHandler(t){}_stopPropagation(t){t.stopPropagation()}}let m=(()=>{class t{calculate(){return{type:t.CALCULATE}}format(){return{type:t.FORMAT}}flag(){return{type:t.FLAG}}select(e){return{type:t.SELECT,payload:e}}changeViewMode(e){return{type:t.CHANGE_VIEWMODE,payload:e}}navigateTo(e){return{type:t.NAVIGATE_TO,payload:e}}navigateStep(e){return{type:t.NAVIGATE_OFFSET,payload:e}}setOptions(e){return{type:t.SET_OPTIONS,payload:e}}selectRange(e){return{type:t.SELECT_RANGE,payload:e}}hoverDay(e){return{type:t.HOVER,payload:e.isHovered?e.cell.date:null}}minDate(e){return{type:t.SET_MIN_DATE,payload:e}}maxDate(e){return{type:t.SET_MAX_DATE,payload:e}}daysDisabled(e){return{type:t.SET_DAYSDISABLED,payload:e}}datesDisabled(e){return{type:t.SET_DATESDISABLED,payload:e}}isDisabled(e){return{type:t.SET_IS_DISABLED,payload:e}}setDateCustomClasses(e){return{type:t.SET_DATE_CUSTOM_CLASSES,payload:e}}setLocale(e){return{type:t.SET_LOCALE,payload:e}}}return t.CALCULATE="[datepicker] calculate dates matrix",t.FORMAT="[datepicker] format datepicker values",t.FLAG="[datepicker] set flags",t.SELECT="[datepicker] select date",t.NAVIGATE_OFFSET="[datepicker] shift view date",t.NAVIGATE_TO="[datepicker] change view date",t.SET_OPTIONS="[datepicker] update render options",t.HOVER="[datepicker] hover date",t.CHANGE_VIEWMODE="[datepicker] switch view mode",t.SET_MIN_DATE="[datepicker] set min date",t.SET_MAX_DATE="[datepicker] set max date",t.SET_DAYSDISABLED="[datepicker] set days disabled",t.SET_DATESDISABLED="[datepicker] set dates disabled",t.SET_IS_DISABLED="[datepicker] set is disabled",t.SET_DATE_CUSTOM_CLASSES="[datepicker] set date custom classes",t.SET_LOCALE="[datepicker] set datepicker locale",t.SELECT_RANGE="[daterangepicker] select dates range",t})();class h{constructor(){this._defaultLocale="en",this._locale=new c.a(this._defaultLocale),this._localeChange=this._locale.asObservable()}get locale(){return this._locale}get localeChange(){return this._localeChange}get currentLocale(){return this._locale.getValue()}use(t){t!==this.currentLocale&&this._locale.next(t)}}class b{constructor(t,e){this._actions=t,this._localeService=e,this._subs=[]}init(t){return this._store=t,this}setValue(t){this._store.dispatch(this._actions.select(t))}setRangeValue(t){this._store.dispatch(this._actions.selectRange(t))}setMinDate(t){return this._store.dispatch(this._actions.minDate(t)),this}setMaxDate(t){return this._store.dispatch(this._actions.maxDate(t)),this}setDaysDisabled(t){return this._store.dispatch(this._actions.daysDisabled(t)),this}setDatesDisabled(t){return this._store.dispatch(this._actions.datesDisabled(t)),this}setDisabled(t){return this._store.dispatch(this._actions.isDisabled(t)),this}setDateCustomClasses(t){return this._store.dispatch(this._actions.setDateCustomClasses(t)),this}setOptions(t){const e=Object.assign({locale:this._localeService.currentLocale},t);return this._store.dispatch(this._actions.setOptions(e)),this}setBindings(t){return t.daysCalendar=this._store.select(t=>t.flaggedMonths).pipe(Object(r.a)(t=>!!t)),t.monthsCalendar=this._store.select(t=>t.flaggedMonthsCalendar).pipe(Object(r.a)(t=>!!t)),t.yearsCalendar=this._store.select(t=>t.yearsCalendarFlagged).pipe(Object(r.a)(t=>!!t)),t.viewMode=this._store.select(t=>t.view.mode),t.options=this._store.select(t=>t.showWeekNumbers).pipe(Object(o.a)(t=>({showWeekNumbers:t}))),this}setEventHandlers(t){return t.setViewMode=t=>{this._store.dispatch(this._actions.changeViewMode(t))},t.navigateTo=t=>{this._store.dispatch(this._actions.navigateStep(t.step))},t.dayHoverHandler=t=>{const e=t.cell;e.isOtherMonth||e.isDisabled||(this._store.dispatch(this._actions.hoverDay(t)),e.isHovered=t.isHovered)},t.monthHoverHandler=t=>{t.cell.isHovered=t.isHovered},t.yearHoverHandler=t=>{t.cell.isHovered=t.isHovered},t.monthSelectHandler=t=>{t.isDisabled||this._store.dispatch(this._actions.navigateTo({unit:{month:Object(s.l)(t.date),year:Object(s.j)(t.date)},viewMode:"day"}))},t.yearSelectHandler=t=>{t.isDisabled||this._store.dispatch(this._actions.navigateTo({unit:{year:Object(s.j)(t.date)},viewMode:"month"}))},this}registerDatepickerSideEffects(){return this._subs.push(this._store.select(t=>t.view).subscribe(t=>{this._store.dispatch(this._actions.calculate())})),this._subs.push(this._store.select(t=>t.monthsModel).pipe(Object(r.a)(t=>!!t)).subscribe(t=>this._store.dispatch(this._actions.format()))),this._subs.push(this._store.select(t=>t.formattedMonths).pipe(Object(r.a)(t=>!!t)).subscribe(t=>this._store.dispatch(this._actions.flag()))),this._subs.push(this._store.select(t=>t.selectedDate).pipe(Object(r.a)(t=>!!t)).subscribe(t=>this._store.dispatch(this._actions.flag()))),this._subs.push(this._store.select(t=>t.selectedRange).pipe(Object(r.a)(t=>!!t)).subscribe(t=>this._store.dispatch(this._actions.flag()))),this._subs.push(this._store.select(t=>t.monthsCalendar).subscribe(()=>this._store.dispatch(this._actions.flag()))),this._subs.push(this._store.select(t=>t.yearsCalendarModel).pipe(Object(r.a)(t=>!!t)).subscribe(()=>this._store.dispatch(this._actions.flag()))),this._subs.push(this._store.select(t=>t.hoveredDate).pipe(Object(r.a)(t=>!!t)).subscribe(t=>this._store.dispatch(this._actions.flag()))),this._subs.push(this._store.select(t=>t.dateCustomClasses).pipe(Object(r.a)(t=>!!t)).subscribe(t=>this._store.dispatch(this._actions.flag()))),this._subs.push(this._localeService.localeChange.subscribe(t=>this._store.dispatch(this._actions.setLocale(t)))),this}destroy(){for(const t of this._subs)t.unsubscribe()}}const _={date:new Date,mode:"day"},y=Object.assign(new f,{locale:"en",view:_,selectedRange:[],monthViewOptions:{width:7,height:6}});function O(t,e,n){const a=e&&Object(s.p)(Object(s.d)(t,"month"),e,"day"),r=n&&Object(s.n)(Object(s.G)(t,"month"),n,"day");return a||r}function v(t,e,n){const a=e&&Object(s.p)(Object(s.d)(t,"year"),e,"day"),r=n&&Object(s.n)(Object(s.G)(t,"year"),n,"day");return a||r}function C(t,e){let n=t.initialDate;const a=new Array(t.height);for(let r=0;r<t.height;r++){a[r]=new Array(t.width);for(let o=0;o<t.width;o++)a[r][o]=e(n),n=Object(s.F)(n,t.shift)}return a}function P(t,e){const n=Object(s.i)(t),a=function(t,e){if(Object(s.t)(t,e.firstDayOfWeek))return t;const n=function(t,e){if(0===e)return t;const n=t-e%7;return n<0?n+7:n}(Object(s.h)(t),e.firstDayOfWeek);return Object(s.F)(t,{day:-n})}(n,e);return{daysMatrix:C({width:e.width,height:e.height,initialDate:a,shift:{day:1}},t=>t),month:n}}function M(t){const e=Object(s.k)(t),n=e.weekdaysShort(),a=e.firstDayOfWeek();return[...n.slice(a),...n.slice(0,a)]}function x(t,e){return!e||t>=e}const w={month:1};function T(t,e){return{months:C({width:3,height:4,initialDate:Object(s.G)(t,"year"),shift:w},t=>({date:t,label:Object(s.f)(t,e.monthLabel,e.locale)})),monthTitle:"",yearTitle:Object(s.f)(t,e.yearTitle,e.locale)}}const k=-1*(Math.floor(8)-1),S={year:1};function I(t,e){const n=C({width:4,height:4,initialDate:Object(s.F)(t,{year:k}),shift:S},t=>({date:t,label:Object(s.f)(t,e.yearLabel,e.locale)}));return{years:n,monthTitle:"",yearTitle:function(t,e){return`${Object(s.f)(t[0][0].date,e.yearTitle,e.locale)} - ${Object(s.f)(t[3][3].date,e.yearTitle,e.locale)}`}(n,e)}}function N(t=y,e){switch(e.type){case m.CALCULATE:return function(t){const e=t.displayMonths;let n=t.view.date;if("day"===t.view.mode){t.monthViewOptions.firstDayOfWeek=Object(s.k)(t.locale).firstDayOfWeek();const a=new Array(e);for(let r=0;r<e;r++)a[r]=P(n,t.monthViewOptions),n=Object(s.F)(n,{month:1});return Object.assign({},t,{monthsModel:a})}if("month"===t.view.mode){const a=new Array(e);for(let r=0;r<e;r++)a[r]=T(n,R(t)),n=Object(s.F)(n,{year:1});return Object.assign({},t,{monthsCalendar:a})}if("year"===t.view.mode){const a=new Array(e);for(let r=0;r<e;r++)a[r]=I(n,R(t)),n=Object(s.F)(n,{year:16});return Object.assign({},t,{yearsCalendarModel:a})}return t}(t);case m.FORMAT:return function(t,e){if("day"===t.view.mode){const e=t.monthsModel.map((e,n)=>function(t,e,n){return{month:t.month,monthTitle:Object(s.f)(t.month,e.monthTitle,e.locale),yearTitle:Object(s.f)(t.month,e.yearTitle,e.locale),weekNumbers:(a=t.daysMatrix,r=e.weekNumbers,o=e.locale,a.map(t=>t[0]?Object(s.f)(t[0],r,o):"")),weekdays:M(e.locale),weeks:t.daysMatrix.map((t,a)=>({days:t.map((t,r)=>({date:t,label:Object(s.f)(t,e.dayLabel,e.locale),monthIndex:n,weekIndex:a,dayIndex:r}))}))};var a,r,o}(e,R(t),n));return Object.assign({},t,{formattedMonths:e})}const n=t.displayMonths;let a=t.view.date;if("month"===t.view.mode){const e=new Array(n);for(let r=0;r<n;r++)e[r]=T(a,R(t)),a=Object(s.F)(a,{year:1});return Object.assign({},t,{monthsCalendar:e})}if("year"===t.view.mode){const e=new Array(n);for(let r=0;r<n;r++)e[r]=I(a,R(t)),a=Object(s.F)(a,{year:16});return Object.assign({},t,{yearsCalendarModel:e})}return t}(t);case m.FLAG:return function(t,e){if("day"===t.view.mode){const e=t.formattedMonths.map((e,n)=>function(t,e){return t.weeks.forEach(n=>{n.days.forEach((a,r)=>{const o=!Object(s.w)(a.date,t.month),i=!o&&Object(s.v)(a.date,e.hoveredDate),c=!o&&e.selectedRange&&Object(s.v)(a.date,e.selectedRange[0]),l=!o&&e.selectedRange&&Object(s.v)(a.date,e.selectedRange[1]),d=!o&&Object(s.v)(a.date,e.selectedDate)||c||l,u=!o&&e.selectedRange&&function(t,e,n){return!(!t||!e[0])&&(e[1]?t>e[0]&&t<=e[1]:!!n&&t>e[0]&&t<=n)}(a.date,e.selectedRange,e.hoveredDate),g=e.isDisabled||Object(s.p)(a.date,e.minDate,"day")||Object(s.n)(a.date,e.maxDate,"day")||Object(s.s)(a.date,e.daysDisabled)||(f=a.date,!(void 0===(p=e.datesDisabled)||!p||!p.length)&&p.some(t=>Object(s.u)(f,t,"date")));var f,p;const m=new Date,h=!o&&Object(s.v)(a.date,m),b=e.dateCustomClasses&&e.dateCustomClasses.map(t=>Object(s.v)(a.date,t.date)?t.classes:[]).reduce((t,e)=>t.concat(e),[]).join(" ")||"",_=Object.assign({},a,{isOtherMonth:o,isHovered:i,isSelected:d,isSelectionStart:c,isSelectionEnd:l,isInRange:u,isDisabled:g,isToday:h,customClasses:b});a.isOtherMonth===_.isOtherMonth&&a.isHovered===_.isHovered&&a.isSelected===_.isSelected&&a.isSelectionStart===_.isSelectionStart&&a.isSelectionEnd===_.isSelectionEnd&&a.isDisabled===_.isDisabled&&a.isInRange===_.isInRange&&a.customClasses===_.customClasses||(n.days[r]=_)})}),t.hideLeftArrow=e.isDisabled||e.monthIndex>0&&e.monthIndex!==e.displayMonths,t.hideRightArrow=e.isDisabled||e.monthIndex<e.displayMonths&&e.monthIndex+1!==e.displayMonths,t.disableLeftArrow=O(Object(s.F)(t.month,{month:-1}),e.minDate,e.maxDate),t.disableRightArrow=O(Object(s.F)(t.month,{month:1}),e.minDate,e.maxDate),t}(e,{isDisabled:t.isDisabled,minDate:t.minDate,maxDate:t.maxDate,daysDisabled:t.daysDisabled,datesDisabled:t.datesDisabled,hoveredDate:t.hoveredDate,selectedDate:t.selectedDate,selectedRange:t.selectedRange,displayMonths:t.displayMonths,dateCustomClasses:t.dateCustomClasses,monthIndex:n}));return Object.assign({},t,{flaggedMonths:e})}if("month"===t.view.mode){const e=t.monthsCalendar.map((e,n)=>{return r={isDisabled:t.isDisabled,minDate:t.minDate,maxDate:t.maxDate,hoveredMonth:t.hoveredMonth,displayMonths:t.displayMonths,monthIndex:n},(a=e).months.forEach((t,e)=>{t.forEach((t,n)=>{const o=Object(s.w)(t.date,r.hoveredMonth),i=r.isDisabled||O(t.date,r.minDate,r.maxDate),c=Object.assign(t,{isHovered:o,isDisabled:i});t.isHovered===c.isHovered&&t.isDisabled===c.isDisabled||(a.months[e][n]=c)})}),a.hideLeftArrow=r.monthIndex>0&&r.monthIndex!==r.displayMonths,a.hideRightArrow=r.monthIndex<r.displayMonths&&r.monthIndex+1!==r.displayMonths,a.disableLeftArrow=v(Object(s.F)(a.months[0][0].date,{year:-1}),r.minDate,r.maxDate),a.disableRightArrow=v(Object(s.F)(a.months[0][0].date,{year:1}),r.minDate,r.maxDate),a;var a,r});return Object.assign({},t,{flaggedMonthsCalendar:e})}if("year"===t.view.mode){const e=t.yearsCalendarModel.map((e,n)=>function(t,e){t.years.forEach((n,a)=>{n.forEach((n,r)=>{const o=Object(s.x)(n.date,e.hoveredYear),i=e.isDisabled||v(n.date,e.minDate,e.maxDate),c=Object.assign(n,{isHovered:o,isDisabled:i});n.isHovered===c.isHovered&&n.isDisabled===c.isDisabled||(t.years[a][r]=c)})}),t.hideLeftArrow=e.yearIndex>0&&e.yearIndex!==e.displayMonths,t.hideRightArrow=e.yearIndex<e.displayMonths&&e.yearIndex+1!==e.displayMonths,t.disableLeftArrow=v(Object(s.F)(t.years[0][0].date,{year:-1}),e.minDate,e.maxDate);const n=t.years.length-1,a=t.years[n].length-1;return t.disableRightArrow=v(Object(s.F)(t.years[n][a].date,{year:1}),e.minDate,e.maxDate),t}(e,{isDisabled:t.isDisabled,minDate:t.minDate,maxDate:t.maxDate,hoveredYear:t.hoveredYear,displayMonths:t.displayMonths,yearIndex:n}));return Object.assign({},t,{yearsCalendarFlagged:e})}return t}(t);case m.NAVIGATE_OFFSET:{const n=Object(s.F)(Object(s.G)(t.view.date,"month"),e.payload);return Object.assign({},t,{view:{mode:t.view.mode,date:n}})}case m.NAVIGATE_TO:{const n=e.payload,a=Object(s.E)(t.view.date,n.unit);let r,o;return x(n.viewMode,t.minMode)?(o=n.viewMode,r={view:{date:a,mode:o}}):(o=t.view.mode,r={selectedDate:a,view:{date:a,mode:o}}),Object.assign({},t,r)}case m.CHANGE_VIEWMODE:return x(e.payload,t.minMode)?Object.assign({},t,{view:{date:t.view.date,mode:e.payload}}):t;case m.HOVER:return Object.assign({},t,{hoveredDate:e.payload});case m.SELECT:{const n={selectedDate:e.payload,view:t.view},a=t.view.mode,r=A(e.payload||t.view.date,t.minDate,t.maxDate);return n.view={mode:a,date:r},Object.assign({},t,n)}case m.SET_OPTIONS:{const n=e.payload,a=n.minMode?n.minMode:t.view.mode,r=A(Object(s.r)(n.value)&&n.value||Object(s.o)(n.value)&&Object(s.r)(n.value[0])&&n.value[0]||t.view.date,n.minDate,n.maxDate);return n.view={mode:a,date:r},n.value&&(Object(s.o)(n.value)&&(n.selectedRange=n.value),n.value instanceof Date&&(n.selectedDate=n.value)),Object.assign({},t,n)}case m.SELECT_RANGE:{const n={selectedRange:e.payload,view:t.view},a=t.view.mode,r=A(e.payload&&e.payload[0]||t.view.date,t.minDate,t.maxDate);return n.view={mode:a,date:r},Object.assign({},t,n)}case m.SET_MIN_DATE:return Object.assign({},t,{minDate:e.payload});case m.SET_MAX_DATE:return Object.assign({},t,{maxDate:e.payload});case m.SET_IS_DISABLED:return Object.assign({},t,{isDisabled:e.payload});case m.SET_DATE_CUSTOM_CLASSES:return Object.assign({},t,{dateCustomClasses:e.payload});default:return t}}function R(t){return{locale:t.locale,monthTitle:t.monthTitle,yearTitle:t.yearTitle,dayLabel:t.dayLabel,monthLabel:t.monthLabel,yearLabel:t.yearLabel,weekNumbers:t.weekNumbers}}function A(t,e,n){const a=Array.isArray(t)?t[0]:t;return e&&Object(s.n)(e,a,"day")?e:n&&Object(s.p)(n,a,"day")?n:a}class E extends l.b{constructor(){const t=new c.a({type:"[datepicker] dispatcher init"});super(t,N,new l.a(y,t,N))}}class D extends p{constructor(t,e,n,r,o,i,s){super(),this._config=e,this._store=n,this._element=r,this._actions=o,this._positionService=s,this.valueChange=new a.EventEmitter,this.animationState="void",this._subs=[],this._effects=i,t.setStyle(r.nativeElement,"display","block"),t.setStyle(r.nativeElement,"position","absolute")}set value(t){this._effects.setValue(t)}ngOnInit(){this._positionService.setOptions({modifiers:{flip:{enabled:this._config.adaptivePosition}},allowedPositions:["top","bottom"]}),this._positionService.event$.pipe(Object(i.a)(1)).subscribe(()=>{this._positionService.disable(),this.animationState=this._config.isAnimated?this.isTopPosition?"animated-up":"animated-down":"unanimated"}),this.isOtherMonthsActive=this._config.selectFromOtherMonth,this.containerClass=this._config.containerClass,this._effects.init(this._store).setOptions(this._config).setBindings(this).setEventHandlers(this).registerDatepickerSideEffects(),this._subs.push(this._store.select(t=>t.selectedDate).subscribe(t=>this.valueChange.emit(t)))}get isTopPosition(){return this._element.nativeElement.classList.contains("top")}positionServiceEnable(){this._positionService.enable()}daySelectHandler(t){(this.isOtherMonthsActive?t.isDisabled:t.isOtherMonth||t.isDisabled)||this._store.dispatch(this._actions.select(t.date))}ngOnDestroy(){for(const t of this._subs)t.unsubscribe();this._effects.destroy()}}class L{constructor(t,e,n,r,o){this._config=t,this.placement="bottom",this.triggers="click",this.outsideClick=!0,this.container="body",this.outsideEsc=!0,this.bsValueChange=new a.EventEmitter,this._subs=[],Object.assign(this,this._config),this._datepicker=o.createLoader(e,r,n),this.onShown=this._datepicker.onShown,this.onHidden=this._datepicker.onHidden}get isOpen(){return this._datepicker.isShown}set isOpen(t){t?this.show():this.hide()}set bsValue(t){this._bsValue!==t&&(this._bsValue=t,this.bsValueChange.emit(t))}ngOnInit(){this._datepicker.listen({outsideClick:this.outsideClick,outsideEsc:this.outsideEsc,triggers:this.triggers,show:()=>this.show()}),this.setConfig()}ngOnChanges(t){this._datepickerRef&&this._datepickerRef.instance&&(t.minDate&&(this._datepickerRef.instance.minDate=this.minDate),t.maxDate&&(this._datepickerRef.instance.maxDate=this.maxDate),t.daysDisabled&&(this._datepickerRef.instance.daysDisabled=this.daysDisabled),t.datesDisabled&&(this._datepickerRef.instance.datesDisabled=this.datesDisabled),t.isDisabled&&(this._datepickerRef.instance.isDisabled=this.isDisabled),t.dateCustomClasses&&(this._datepickerRef.instance.dateCustomClasses=this.dateCustomClasses))}show(){this._datepicker.isShown||(this.setConfig(),this._datepickerRef=this._datepicker.provide({provide:f,useValue:this._config}).attach(D).to(this.container).position({attachment:this.placement}).show({placement:this.placement}),this._subs.push(this.bsValueChange.subscribe(t=>{this._datepickerRef.instance.value=t})),this._subs.push(this._datepickerRef.instance.valueChange.subscribe(t=>{this.bsValue=t,this.hide()})))}hide(){this.isOpen&&this._datepicker.hide();for(const t of this._subs)t.unsubscribe()}toggle(){if(this.isOpen)return this.hide();this.show()}setConfig(){this._config=Object.assign({},this._config,this.bsConfig,{value:this._bsValue,isDisabled:this.isDisabled,minDate:this.minDate||this.bsConfig&&this.bsConfig.minDate,maxDate:this.maxDate||this.bsConfig&&this.bsConfig.maxDate,daysDisabled:this.daysDisabled||this.bsConfig&&this.bsConfig.daysDisabled,dateCustomClasses:this.dateCustomClasses||this.bsConfig&&this.bsConfig.dateCustomClasses,datesDisabled:this.datesDisabled||this.bsConfig&&this.bsConfig.datesDisabled,minMode:this.minMode||this.bsConfig&&this.bsConfig.minMode})}ngOnDestroy(){this._datepicker.dispose()}}class q extends f{}class j extends D{constructor(t,e,n,a,r,o,i){super(t,e,n,a,r,o,i),t.setStyle(a.nativeElement,"display","inline-block"),t.setStyle(a.nativeElement,"position","static")}}class F{constructor(t,e,n,a,r){this._picker=t,this._localeService=e,this._renderer=n,this._elRef=a,this.changeDetection=r,this._onChange=Function.prototype,this._onTouched=Function.prototype,this._validatorChange=Function.prototype,this._picker.bsValueChange.subscribe(t=>{this._setInputValue(t),this._value!==t&&(this._value=t,this._onChange(t),this._onTouched()),this.changeDetection.markForCheck()}),this._localeService.localeChange.subscribe(()=>{this._setInputValue(this._value)})}_setInputValue(t){const e=t?Object(s.f)(t,this._picker._config.dateInputFormat,this._localeService.currentLocale):"";this._renderer.setProperty(this._elRef.nativeElement,"value",e)}onChange(t){this.writeValue(t.target.value),this._onChange(this._value),this._onTouched()}validate(t){const e=t.value;if(null==e||""===e)return null;if(Object(s.q)(e)){if(!Object(s.r)(e))return{bsDate:{invalid:e}};if(this._picker&&this._picker.minDate&&Object(s.p)(e,this._picker.minDate,"date"))return{bsDate:{minDate:this._picker.minDate}};if(this._picker&&this._picker.maxDate&&Object(s.n)(e,this._picker.maxDate,"date"))return{bsDate:{maxDate:this._picker.maxDate}}}}registerOnValidatorChange(t){this._validatorChange=t}writeValue(t){if(t){const e=this._localeService.currentLocale;if(!Object(s.k)(e))throw new Error(`Locale "${e}" is not defined, please add it with "defineLocale(...)"`);this._value=Object(s.B)(t,this._picker._config.dateInputFormat,this._localeService.currentLocale)}else this._value=null;this._picker.bsValue=this._value}setDisabledState(t){this._picker.isDisabled=t,t?this._renderer.setAttribute(this._elRef.nativeElement,"disabled","disabled"):this._renderer.removeAttribute(this._elRef.nativeElement,"disabled")}registerOnChange(t){this._onChange=t}registerOnTouched(t){this._onTouched=t}onBlur(){this._onTouched()}hide(){this._picker.hide(),this._renderer.selectRootElement(this._elRef.nativeElement).blur()}}class z extends f{constructor(){super(...arguments),this.displayMonths=2,this.isAnimated=!1}}class V extends p{constructor(t,e,n,r,o,i){super(),this._actions=e,this._config=n,this._store=r,this._element=o,this._positionService=i,this.valueChange=new a.EventEmitter,this.animationState="void",this._rangeStack=[],this._subs=[],this._effects=t}set value(t){this._effects.setRangeValue(t)}ngOnInit(){this._positionService.setOptions({modifiers:{flip:{enabled:this._config.adaptivePosition}},allowedPositions:["top","bottom"]}),this._positionService.event$.pipe(Object(i.a)(1)).subscribe(()=>{this._positionService.disable(),this.animationState=this._config.isAnimated?this.isTopPosition?"animated-up":"animated-down":"unanimated"}),this.containerClass=this._config.containerClass,this.isOtherMonthsActive=this._config.selectFromOtherMonth,this._effects.init(this._store).setOptions(this._config).setBindings(this).setEventHandlers(this).registerDatepickerSideEffects(),this._subs.push(this._store.select(t=>t.selectedRange).subscribe(t=>this.valueChange.emit(t)))}get isTopPosition(){return this._element.nativeElement.classList.contains("top")}positionServiceEnable(){this._positionService.enable()}daySelectHandler(t){(this.isOtherMonthsActive?t.isDisabled:t.isOtherMonth||t.isDisabled)||(1===this._rangeStack.length&&(this._rangeStack=t.date>=this._rangeStack[0]?[this._rangeStack[0],t.date]:[t.date]),0===this._rangeStack.length&&(this._rangeStack=[t.date]),this._store.dispatch(this._actions.selectRange(this._rangeStack)),2===this._rangeStack.length&&(this._rangeStack=[]))}ngOnDestroy(){for(const t of this._subs)t.unsubscribe();this._effects.destroy()}}class G{}class Y{}class B{}class H{constructor(t,e,n){this._config=t,this._elRef=e,this._renderer=n}ngOnInit(){this.day.isToday&&this._config&&this._config.customTodayClass&&this._renderer.addClass(this._elRef.nativeElement,this._config.customTodayClass),"string"==typeof this.day.customClasses&&this.day.customClasses.split(" ").filter(t=>t).forEach(t=>{this._renderer.addClass(this._elRef.nativeElement,t)})}}const U=function(){var t={UP:0,DOWN:1};return t[t.UP]="UP",t[t.DOWN]="DOWN",t}();class W{constructor(){this.onNavigate=new a.EventEmitter,this.onViewMode=new a.EventEmitter}navTo(t){this.onNavigate.emit(t?U.DOWN:U.UP)}view(t){this.onViewMode.emit(t)}}class K{constructor(t){this._config=t,this.onNavigate=new a.EventEmitter,this.onViewMode=new a.EventEmitter,this.onSelect=new a.EventEmitter,this.onHover=new a.EventEmitter,this.onHoverWeek=new a.EventEmitter}navigateTo(t){this.onNavigate.emit({step:{month:U.DOWN===t?-1:1}})}changeViewMode(t){this.onViewMode.emit(t)}selectDay(t){this.onSelect.emit(t)}selectWeek(t){if(!this._config.selectWeek)return;if(t.days&&t.days[0]&&!t.days[0].isDisabled&&this._config.selectFromOtherMonth)return void this.onSelect.emit(t.days[0]);if(0===t.days.length)return;const e=t.days.find(t=>this._config.selectFromOtherMonth?!t.isDisabled:!t.isOtherMonth&&!t.isDisabled);this.onSelect.emit(e)}weekHoverHandler(t,e){this._config.selectWeek&&t.days.find(t=>this._config.selectFromOtherMonth?!t.isDisabled:!t.isOtherMonth&&!t.isDisabled)&&(t.isHovered=e,this.isWeekHovered=e,this.onHoverWeek.emit(t))}hoverDay(t,e){this._config.selectFromOtherMonth&&t.isOtherMonth&&(t.isOtherMonthHovered=e),this.onHover.emit({cell:t,isHovered:e})}}class ${constructor(){this.onNavigate=new a.EventEmitter,this.onViewMode=new a.EventEmitter,this.onSelect=new a.EventEmitter,this.onHover=new a.EventEmitter}navigateTo(t){this.onNavigate.emit({step:{year:U.DOWN===t?-1:1}})}viewMonth(t){this.onSelect.emit(t)}hoverMonth(t,e){this.onHover.emit({cell:t,isHovered:e})}changeViewMode(t){this.onViewMode.emit(t)}}class Z{constructor(){this.ampm="ok",this.hours=0,this.minutes=0}}class J{constructor(){this.onNavigate=new a.EventEmitter,this.onViewMode=new a.EventEmitter,this.onSelect=new a.EventEmitter,this.onHover=new a.EventEmitter}navigateTo(t){this.onNavigate.emit({step:{year:16*(U.DOWN===t?-1:1)}})}viewYear(t){this.onSelect.emit(t)}hoverYear(t,e){this.onHover.emit({cell:t,isHovered:e})}changeViewMode(t){this.onViewMode.emit(t)}}class X{static forRoot(){return{ngModule:X,providers:[u.a,d.a,E,m,f,z,q,b,h]}}}class Q{format(t,e,n){return Object(s.f)(t,e,n)}}class tt{constructor(){this.selectionDone=new a.EventEmitter(void 0),this.update=new a.EventEmitter(!1),this.activeDateChange=new a.EventEmitter(void 0),this.stepDay={},this.stepMonth={},this.stepYear={},this.modes=["day","month","year"],this.dateFormatter=new Q}get activeDate(){return this._activeDate}set activeDate(t){this._activeDate=t}ngOnInit(){this.uniqueId=`datepicker--${Math.floor(1e4*Math.random())}`,this.initDate?(this.activeDate=this.initDate,this.selectedDate=new Date(this.activeDate.valueOf()),this.update.emit(this.activeDate)):void 0===this.activeDate&&(this.activeDate=new Date)}ngOnChanges(t){this.refreshView(),this.checkIfActiveDateGotUpdated(t.activeDate)}checkIfActiveDateGotUpdated(t){if(t&&!t.firstChange){const e=t.previousValue;e&&e instanceof Date&&e.getTime()!==t.currentValue.getTime()&&this.activeDateChange.emit(this.activeDate)}}setCompareHandler(t,e){"day"===e&&(this.compareHandlerDay=t),"month"===e&&(this.compareHandlerMonth=t),"year"===e&&(this.compareHandlerYear=t)}compare(t,e){if(void 0!==t&&void 0!==e)return"day"===this.datepickerMode&&this.compareHandlerDay?this.compareHandlerDay(t,e):"month"===this.datepickerMode&&this.compareHandlerMonth?this.compareHandlerMonth(t,e):"year"===this.datepickerMode&&this.compareHandlerYear?this.compareHandlerYear(t,e):void 0}setRefreshViewHandler(t,e){"day"===e&&(this.refreshViewHandlerDay=t),"month"===e&&(this.refreshViewHandlerMonth=t),"year"===e&&(this.refreshViewHandlerYear=t)}refreshView(){"day"===this.datepickerMode&&this.refreshViewHandlerDay&&this.refreshViewHandlerDay(),"month"===this.datepickerMode&&this.refreshViewHandlerMonth&&this.refreshViewHandlerMonth(),"year"===this.datepickerMode&&this.refreshViewHandlerYear&&this.refreshViewHandlerYear()}dateFilter(t,e){return this.dateFormatter.format(t,e,this.locale)}isActive(t){return 0===this.compare(t.date,this.activeDate)&&(this.activeDateId=t.uid,!0)}createDateObject(t,e){const n={};return n.date=new Date(t.getFullYear(),t.getMonth(),t.getDate()),n.date=this.fixTimeZone(n.date),n.label=this.dateFilter(t,e),n.selected=0===this.compare(t,this.selectedDate),n.disabled=this.isDisabled(t),n.current=0===this.compare(t,new Date),n.customClass=this.getCustomClassForDate(n.date),n}split(t,e){const n=[];for(;t.length>0;)n.push(t.splice(0,e));return n}fixTimeZone(t){const e=t.getHours();return new Date(t.getFullYear(),t.getMonth(),t.getDate(),23===e?e+2:0)}select(t,e=!0){this.datepickerMode===this.minMode?(this.activeDate||(this.activeDate=new Date(0,0,0,0,0,0,0)),this.activeDate=new Date(t.getFullYear(),t.getMonth(),t.getDate()),this.activeDate=this.fixTimeZone(this.activeDate),e&&this.selectionDone.emit(this.activeDate)):(this.activeDate=new Date(t.getFullYear(),t.getMonth(),t.getDate()),this.activeDate=this.fixTimeZone(this.activeDate),e&&(this.datepickerMode=this.modes[this.modes.indexOf(this.datepickerMode)-1])),this.selectedDate=new Date(this.activeDate.valueOf()),this.update.emit(this.activeDate),this.refreshView()}move(t){let e;if("day"===this.datepickerMode&&(e=this.stepDay),"month"===this.datepickerMode&&(e=this.stepMonth),"year"===this.datepickerMode&&(e=this.stepYear),e){const n=this.activeDate.getFullYear()+t*(e.years||0),a=this.activeDate.getMonth()+t*(e.months||0);this.activeDate=new Date(n,a,1),this.refreshView(),this.activeDateChange.emit(this.activeDate)}}toggleMode(t){const e=t||1;this.datepickerMode===this.maxMode&&1===e||this.datepickerMode===this.minMode&&-1===e||(this.datepickerMode=this.modes[this.modes.indexOf(this.datepickerMode)+e],this.refreshView())}getCustomClassForDate(t){if(!this.customClass)return"";const e=this.customClass.find(e=>e.date.valueOf()===t.valueOf()&&e.mode===this.datepickerMode,this);return void 0===e?"":e.clazz}compareDateDisabled(t,e){if(void 0!==t&&void 0!==e)return"day"===t.mode&&this.compareHandlerDay?this.compareHandlerDay(t.date,e):"month"===t.mode&&this.compareHandlerMonth?this.compareHandlerMonth(t.date,e):"year"===t.mode&&this.compareHandlerYear?this.compareHandlerYear(t.date,e):void 0}isDisabled(t){let e=!1;return this.dateDisabled&&this.dateDisabled.forEach(n=>{0===this.compareDateDisabled(n,t)&&(e=!0)}),this.dayDisabled&&(e=e||this.dayDisabled.indexOf(t.getDay())>-1),e||this.minDate&&this.compare(t,this.minDate)<0||this.maxDate&&this.compare(t,this.maxDate)>0}}class et{constructor(){this.locale="en",this.datepickerMode="day",this.startingDay=0,this.yearRange=20,this.minMode="day",this.maxMode="year",this.showWeeks=!0,this.formatDay="DD",this.formatMonth="MMMM",this.formatYear="YYYY",this.formatDayHeader="dd",this.formatDayTitle="MMMM YYYY",this.formatMonthTitle="YYYY",this.onlyCurrentMonth=!1,this.monthColLimit=3,this.yearColLimit=5,this.shortcutPropagation=!1}}class nt{constructor(t){this.datepickerMode="day",this.showWeeks=!0,this.selectionDone=new a.EventEmitter(void 0),this.activeDateChange=new a.EventEmitter(void 0),this.onChange=Function.prototype,this.onTouched=Function.prototype,this._now=new Date,this.config=t,this.configureOptions()}get activeDate(){return this._activeDate||this._now}set activeDate(t){this._activeDate=t}configureOptions(){Object.assign(this,this.config)}onUpdate(t){this.activeDate=t,this.onChange(t)}onSelectionDone(t){this.selectionDone.emit(t)}onActiveDateChange(t){this.activeDateChange.emit(t)}writeValue(t){if(0!==this._datePicker.compare(t,this._activeDate))return t&&t instanceof Date?(this.activeDate=t,void this._datePicker.select(t,!1)):void(this.activeDate=t?new Date(t):void 0)}registerOnChange(t){this.onChange=t}registerOnTouched(t){this.onTouched=t}}class at{constructor(t){this.labels=[],this.rows=[],this.weekNumbers=[],this.datePicker=t}get isBs4(){return!Object(g.d)()}ngOnInit(){const t=this;this.datePicker.stepDay={months:1},this.datePicker.setRefreshViewHandler((function(){const e=this.activeDate.getFullYear(),n=this.activeDate.getMonth(),a=new Date(e,n,1),r=this.startingDay-a.getDay(),o=r>0?7-r:-r,i=new Date(a.getTime());o>0&&i.setDate(1-o);const s=t.getDates(i,42),c=[];for(let t=0;t<42;t++){const e=this.createDateObject(s[t],this.formatDay);e.secondary=s[t].getMonth()!==n,e.uid=this.uniqueId+"-"+t,c[t]=e}t.labels=[];for(let l=0;l<7;l++)t.labels[l]={},t.labels[l].abbr=this.dateFilter(c[l].date,this.formatDayHeader),t.labels[l].full=this.dateFilter(c[l].date,"EEEE");if(t.title=this.dateFilter(this.activeDate,this.formatDayTitle),t.rows=this.split(c,7),this.showWeeks){t.weekNumbers=[];const e=(11-this.startingDay)%7,n=t.rows.length;for(let a=0;a<n;a++)t.weekNumbers.push(t.getISO8601WeekNumber(t.rows[a][e].date))}}),"day"),this.datePicker.setCompareHandler((function(t,e){const n=new Date(t.getFullYear(),t.getMonth(),t.getDate()),a=new Date(e.getFullYear(),e.getMonth(),e.getDate());return n.getTime()-a.getTime()}),"day"),this.datePicker.refreshView()}getDates(t,e){const n=new Array(e);let a,r=new Date(t.getTime()),o=0;for(;o<e;)a=new Date(r.getTime()),a=this.datePicker.fixTimeZone(a),n[o++]=a,r=new Date(a.getFullYear(),a.getMonth(),a.getDate()+1);return n}getISO8601WeekNumber(t){const e=new Date(t.getTime());e.setDate(e.getDate()+4-(e.getDay()||7));const n=e.getTime();return e.setMonth(0),e.setDate(1),Math.floor(Math.round((n-e.getTime())/864e5)/7)+1}}class rt{constructor(t){this.rows=[],this.datePicker=t}get isBs4(){return!Object(g.d)()}ngOnInit(){const t=this;this.datePicker.stepMonth={years:1},this.datePicker.setRefreshViewHandler((function(){const e=new Array(12),n=this.activeDate.getFullYear();let a;for(let t=0;t<12;t++)a=new Date(n,t,1),a=this.fixTimeZone(a),e[t]=this.createDateObject(a,this.formatMonth),e[t].uid=this.uniqueId+"-"+t;t.title=this.dateFilter(this.activeDate,this.formatMonthTitle),t.rows=this.split(e,t.datePicker.monthColLimit)}),"month"),this.datePicker.setCompareHandler((function(t,e){const n=new Date(t.getFullYear(),t.getMonth()),a=new Date(e.getFullYear(),e.getMonth());return n.getTime()-a.getTime()}),"month"),this.datePicker.refreshView()}}class ot{constructor(t){this.rows=[],this.datePicker=t}get isBs4(){return!Object(g.d)()}ngOnInit(){const t=this;this.datePicker.stepYear={years:this.datePicker.yearRange},this.datePicker.setRefreshViewHandler((function(){const e=new Array(this.yearRange);let n;const a=t.getStartingYear(this.activeDate.getFullYear());for(let t=0;t<this.yearRange;t++)n=new Date(a+t,0,1),n=this.fixTimeZone(n),e[t]=this.createDateObject(n,this.formatYear),e[t].uid=this.uniqueId+"-"+t;t.title=[e[0].label,e[this.yearRange-1].label].join(" - "),t.rows=this.split(e,t.datePicker.yearColLimit)}),"year"),this.datePicker.setCompareHandler((function(t,e){return t.getFullYear()-e.getFullYear()}),"year"),this.datePicker.refreshView()}getStartingYear(t){return(t-1)/this.datePicker.yearRange*this.datePicker.yearRange+1}}class it{static forRoot(){return{ngModule:it,providers:[et]}}}},ijCd:function(t,e,n){var a=n("R/W3"),r=n("MMmD"),o=n("4qC0"),i=n("Sxd8"),s=n("P/G1"),c=Math.max;t.exports=function(t,e,n,l){t=r(t)?t:s(t),n=n&&!l?i(n):0;var d=t.length;return n<0&&(n=c(d+n,0)),o(t)?n<=d&&t.indexOf(e,n)>-1:!!d&&a(t,e,n)>-1}},insk:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("oxzT");n("+0ag"),n("mSOc"),n("20UP");class r{constructor(t,e,n,r,o){this.summaryService=t,this.sanitizer=e,this.settingsService=n,this.cephReleaseNamePipe=r,this.i18n=o,this.grafanaExist=!1,this.mode="&kiosk",this.loading=!0,this.styles={},this.dashboardExist=!0,this.icons=a.a,this.DEFAULT_TIME="from=now-1h&to=now",this.grafanaTimes=[{name:this.i18n("Last 5 minutes"),value:"from=now-5m&to=now"},{name:this.i18n("Last 15 minutes"),value:"from=now-15m&to=now"},{name:this.i18n("Last 30 minutes"),value:"from=now-30m&to=now"},{name:this.i18n("Last 1 hour (Default)"),value:"from=now-1h&to=now"},{name:this.i18n("Last 3 hours"),value:"from=now-3h&to=now"},{name:this.i18n("Last 6 hours"),value:"from=now-6h&to=now"},{name:this.i18n("Last 12 hours"),value:"from=now-12h&to=now"},{name:this.i18n("Last 24 hours"),value:"from=now-24h&to=now"},{name:this.i18n("Yesterday"),value:"from=now-1d%2Fd&to=now-1d%2Fd"},{name:this.i18n("Today"),value:"from=now%2Fd&to=now%2Fd"},{name:this.i18n("Today so far"),value:"from=now%2Fd&to=now"},{name:this.i18n("Day before yesterday"),value:"from=now-2d%2Fd&to=now-2d%2Fd"},{name:this.i18n("Last 2 days"),value:"from=now-2d&to=now"},{name:this.i18n("This day last week"),value:"from=now-7d%2Fd&to=now-7d%2Fd"},{name:this.i18n("Previous week"),value:"from=now-1w%2Fw&to=now-1w%2Fw"},{name:this.i18n("This week"),value:"from=now%2Fw&to=now%2Fw"},{name:this.i18n("This week so far"),value:"from=now%2Fw&to=now"},{name:this.i18n("Last 7 days"),value:"from=now-7d&to=now"},{name:this.i18n("Previous month"),value:"from=now-1M%2FM&to=now-1M%2FM"},{name:this.i18n("This month"),value:"from=now%2FM&to=now%2FM"},{name:this.i18n("This month so far"),value:"from=now%2FM&to=now"},{name:this.i18n("Last 30 days"),value:"from=now-30d&to=now"},{name:this.i18n("Last 90 days"),value:"from=now-90d&to=now"},{name:this.i18n("Last 6 months"),value:"from=now-6M&to=now"},{name:this.i18n("Last 1 year"),value:"from=now-1y&to=now"},{name:this.i18n("Previous year"),value:"from=now-1y%2Fy&to=now-1y%2Fy"},{name:this.i18n("This year"),value:"from=now%2Fy&to=now%2Fy"},{name:this.i18n("This year so far"),value:"from=now%2Fy&to=now"},{name:this.i18n("Last 2 years"),value:"from=now-2y&to=now"},{name:this.i18n("Last 5 years"),value:"from=now-5y&to=now"}]}ngOnInit(){this.time=this.DEFAULT_TIME,this.styles={one:"grafana_one",two:"grafana_two",three:"grafana_three"};const t=this.summaryService.subscribe(e=>{if(!e)return;const n=this.cephReleaseNamePipe.transform(e.version);this.docsUrl=`http://docs.ceph.com/docs/${n}/mgr/dashboard/`+"#enabling-the-embedding-of-grafana-dashboards",setTimeout(()=>{t.unsubscribe()},0)});this.settingsService.ifSettingConfigured("api/grafana/url",t=>{this.grafanaExist=!0,this.loading=!1,this.baseUrl=t+"/d/",this.getFrame()}),this.panelStyle=this.styles[this.grafanaStyle]}getFrame(){this.settingsService.validateGrafanaDashboardUrl(this.uid).subscribe(t=>this.dashboardExist=200===t),this.url=this.baseUrl+this.uid+"/"+this.grafanaPath+"&refresh=2s"+this.mode+"&"+this.time,this.grafanaSrc=this.sanitizer.bypassSecurityTrustResourceUrl(this.url)}onTimepickerChange(){this.grafanaExist&&this.getFrame()}reset(){this.time=this.DEFAULT_TIME,this.grafanaExist&&this.getFrame()}ngOnChanges(){this.grafanaExist&&this.getFrame()}}},iqWW:function(t,e,n){"use strict";var a=n("ZUd8").charAt;t.exports=function(t,e,n){return e+(n?a(t,e).length:1)}},itXk:function(t,e,n){"use strict";n.d(e,"b",(function(){return l})),n.d(e,"a",(function(){return d}));var a=n("z+Ro"),r=n("DH7j"),o=n("l7GE"),i=n("ZUHj"),s=n("yCtX");const c={};function l(...t){let e=null,n=null;return Object(a.a)(t[t.length-1])&&(n=t.pop()),"function"==typeof t[t.length-1]&&(e=t.pop()),1===t.length&&Object(r.a)(t[0])&&(t=t[0]),Object(s.a)(t,n).lift(new d(e))}class d{constructor(t){this.resultSelector=t}call(t,e){return e.subscribe(new u(t,this.resultSelector))}}class u extends o.a{constructor(t,e){super(t),this.resultSelector=e,this.active=0,this.values=[],this.observables=[]}_next(t){this.values.push(c),this.observables.push(t)}_complete(){const t=this.observables,e=t.length;if(0===e)this.destination.complete();else{this.active=e,this.toRespond=e;for(let n=0;n<e;n++){const e=t[n];this.add(Object(i.a)(this,e,e,n))}}}notifyComplete(t){0==(this.active-=1)&&this.destination.complete()}notifyNext(t,e,n,a,r){const o=this.values,i=this.toRespond?o[n]===c?--this.toRespond:this.toRespond:0;o[n]=e,0===i&&(this.resultSelector?this._tryResultSelector(o):this.destination.next(o.slice()))}_tryResultSelector(t){let e;try{e=this.resultSelector.apply(this,t)}catch(n){return void this.destination.error(n)}this.destination.next(e)}}},itsj:function(t,e){t.exports=function(t,e){if(("constructor"!==e||"function"!=typeof t[e])&&"__proto__"!=e)return t[e]}},iutN:function(t,e,n){"use strict";n.d(e,"a",(function(){return c}));var a=n("8Y7J"),r=n("FE24"),o=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function i(t){return a["ɵvid"](2,[(t()(),a["ɵeld"](0,0,null,null,1,"div",[],[[2,"dropup",null],[2,"dropdown",null],[2,"show",null],[2,"open",null]],null,null,null,null)),a["ɵncd"](null,0)],null,(function(t,e){var n=e.component;t(e,0,0,"up"===n.direction,"down"===n.direction,n.isOpen,n.isOpen)}))}function s(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"bs-dropdown-container",[["style","display:block;position: absolute;"]],null,null,null,i,o)),a["ɵdid"](1,180224,null,0,r.b,[r.f,a.ChangeDetectorRef,a.Renderer2,a.ElementRef],null,null)],null,null)}var c=a["ɵccf"]("bs-dropdown-container",r.b,s,{},{},["*"])},j8L6:function(t,e,n){"use strict";var a=n("8Y7J"),r=n("25BL"),o=n("uIqm"),i=n("DqMs"),s=n("/NlG"),c=n("GiVz"),l=n("o4+5"),d=n("aXbf"),u=n("SVse");n("b5OY"),n("pxLl"),n.d(e,"a",(function(){return g})),n.d(e,"b",(function(){return h}));var g=a["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function f(t){return a["ɵvid"](0,[(t()(),a["ɵted"](0,null,[" "," "," "])),a["ɵppd"](1,1)],null,(function(t,e){var n=a["ɵunv"](e,0,0,t(e,1,0,a["ɵnov"](e.parent.parent,0),e.context.row.value));t(e,0,0,n,e.context.row.unit)}))}function p(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"cd-table",[["columnMode","flex"]],null,[[null,"fetchData"]],(function(t,e,n){var a=!0;return"fetchData"===e&&(a=!1!==t.component.getCounters(n)&&a),a}),r.b,r.a)),a["ɵdid"](1,2867200,null,0,o.a,[a.NgZone,a.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],autoSave:[3,"autoSave"]},{fetchData:"fetchData"}),(t()(),a["ɵand"](0,[[1,2],["valueTpl",2]],null,0,null,f))],(function(t,e){var n=e.component;t(e,1,0,n.counters,n.columns,"flex",!1)}),null)}function m(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"cd-alert-panel",[["type","warning"]],null,null,null,i.b,i.a)),a["ɵdid"](1,114688,null,0,s.a,[c.a],{type:[0,"type"]},null),(t()(),a["ɵted"](-1,0,["Performance counters not available"]))],(function(t,e){t(e,1,0,"warning")}),null)}function h(t){return a["ɵvid"](0,[a["ɵpid"](0,l.a,[d.a]),a["ɵqud"](671088640,1,{valueTpl:0}),(t()(),a["ɵand"](16777216,null,null,1,null,p)),a["ɵdid"](3,16384,null,0,u.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"],ngIfElse:[1,"ngIfElse"]},null),(t()(),a["ɵand"](0,[["warning",2]],null,0,null,m))],(function(t,e){t(e,3,0,e.component.counters,a["ɵnov"](e,4))}),null)}},"jKX/":function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));class a{constructor(t=[]){["read","create","update","delete"].forEach(e=>this[e]=t.includes(e))}}class r{constructor(t){this.hosts=new a(t.hosts),this.configOpt=new a(t["config-opt"]),this.pool=new a(t.pool),this.osd=new a(t.osd),this.monitor=new a(t.monitor),this.rbdImage=new a(t["rbd-image"]),this.iscsi=new a(t.iscsi),this.rbdMirroring=new a(t["rbd-mirroring"]),this.rgw=new a(t.rgw),this.cephfs=new a(t.cephfs),this.manager=new a(t.manager),this.log=new a(t.log),this.user=new a(t.user),this.grafana=new a(t.grafana),this.prometheus=new a(t.prometheus),this.nfs=new a(t["nfs-ganesha"])}}},jUeY:function(t,e,n){!function(t){"use strict";t.defineLocale("el",{monthsNominativeEl:"Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος".split("_"),monthsGenitiveEl:"Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου".split("_"),months:function(t,e){return t?"string"==typeof e&&/D/.test(e.substring(0,e.indexOf("MMMM")))?this._monthsGenitiveEl[t.month()]:this._monthsNominativeEl[t.month()]:this._monthsNominativeEl},monthsShort:"Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ".split("_"),weekdays:"Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο".split("_"),weekdaysShort:"Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ".split("_"),weekdaysMin:"Κυ_Δε_Τρ_Τε_Πε_Πα_Σα".split("_"),meridiem:function(t,e,n){return t>11?n?"μμ":"ΜΜ":n?"πμ":"ΠΜ"},isPM:function(t){return"μ"===(t+"").toLowerCase()[0]},meridiemParse:/[ΠΜ]\.?Μ?\.?/i,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendarEl:{sameDay:"[Σήμερα {}] LT",nextDay:"[Αύριο {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[Χθες {}] LT",lastWeek:function(){switch(this.day()){case 6:return"[το προηγούμενο] dddd [{}] LT";default:return"[την προηγούμενη] dddd [{}] LT"}},sameElse:"L"},calendar:function(t,e){var n,a=this._calendarEl[t],r=e&&e.hours();return((n=a)instanceof Function||"[object Function]"===Object.prototype.toString.call(n))&&(a=a.apply(e)),a.replace("{}",r%12==1?"στη":"στις")},relativeTime:{future:"σε %s",past:"%s πριν",s:"λίγα δευτερόλεπτα",ss:"%d δευτερόλεπτα",m:"ένα λεπτό",mm:"%d λεπτά",h:"μία ώρα",hh:"%d ώρες",d:"μία μέρα",dd:"%d μέρες",M:"ένας μήνας",MM:"%d μήνες",y:"ένας χρόνος",yy:"%d χρόνια"},dayOfMonthOrdinalParse:/\d{1,2}η/,ordinal:"%dη",week:{dow:1,doy:4}})}(n("wd/R"))},jV1L:function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var a=n("8Y7J"),r=n("f95s"),o=function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},i=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},s=function(){function t(){}return o([Object(a.Input)(),i("design:type",r.a)],t.prototype,"node",void 0),o([Object(a.Component)({selector:"tree-node-expander",encapsulation:a.ViewEncapsulation.None,styles:[],template:'\n    <ng-container *treeMobxAutorun="{ dontDetach: true }">\n      <span\n        *ngIf="node.hasChildren"\n        [class.toggle-children-wrapper-expanded]="node.isExpanded"\n        [class.toggle-children-wrapper-collapsed]="node.isCollapsed"\n        class="toggle-children-wrapper"\n        (click)="node.mouseAction(\'expanderClick\', $event)"\n      >\n        <span class="toggle-children"></span>\n      </span>\n      <span *ngIf="!node.hasChildren" class="toggle-children-placeholder">\n      </span>\n    </ng-container>\n  '})],t)}()},jVDg:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{constructor(t,e,n){this.poolName=t,this.namespace=e,this.imageName=n}static fromString(t){const e=t.split("/");return new this(e[0],e.length>=3?e[1]:null,e.length>=3?e[2]:e[1])}getNameSpace(){return this.namespace?`${this.namespace}/`:""}toString(){return`${this.poolName}/${this.getNameSpace()}${this.imageName}`}toStringEncoded(){return encodeURIComponent(`${this.poolName}/${this.getNameSpace()}${this.imageName}`)}}},jVdC:function(t,e,n){!function(t){"use strict";var e="styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień".split("_"),n="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia".split("_");function a(t){return t%10<5&&t%10>1&&~~(t/10)%10!=1}function r(t,e,n){var r=t+" ";switch(n){case"ss":return r+(a(t)?"sekundy":"sekund");case"m":return e?"minuta":"minutę";case"mm":return r+(a(t)?"minuty":"minut");case"h":return e?"godzina":"godzinę";case"hh":return r+(a(t)?"godziny":"godzin");case"MM":return r+(a(t)?"miesiące":"miesięcy");case"yy":return r+(a(t)?"lata":"lat")}}t.defineLocale("pl",{months:function(t,a){return t?""===a?"("+n[t.month()]+"|"+e[t.month()]+")":/D MMMM/.test(a)?n[t.month()]:e[t.month()]:e},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru".split("_"),weekdays:"niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota".split("_"),weekdaysShort:"ndz_pon_wt_śr_czw_pt_sob".split("_"),weekdaysMin:"Nd_Pn_Wt_Śr_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Dziś o] LT",nextDay:"[Jutro o] LT",nextWeek:function(){switch(this.day()){case 0:return"[W niedzielę o] LT";case 2:return"[We wtorek o] LT";case 3:return"[W środę o] LT";case 6:return"[W sobotę o] LT";default:return"[W] dddd [o] LT"}},lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zeszłą niedzielę o] LT";case 3:return"[W zeszłą środę o] LT";case 6:return"[W zeszłą sobotę o] LT";default:return"[W zeszły] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",ss:r,m:r,mm:r,h:r,hh:r,d:"1 dzień",dd:"%d dni",M:"miesiąc",MM:r,y:"rok",yy:r},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("wd/R"))},jZKg:function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var a=n("HDdC"),r=n("quSY");function o(t,e){return new a.a(n=>{const a=new r.a;let o=0;return a.add(e.schedule((function(){o!==t.length?(n.next(t[o++]),n.closed||a.add(this.schedule())):n.complete()}))),a})}},jeLo:function(t,e,n){var a=n("juv8"),r=n("mTTR");t.exports=function(t){return a(t,r(t))}},jfSC:function(t,e,n){!function(t){"use strict";var e={1:"۱",2:"۲",3:"۳",4:"۴",5:"۵",6:"۶",7:"۷",8:"۸",9:"۹",0:"۰"},n={"۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","۰":"0"};t.defineLocale("fa",{months:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),monthsShort:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),weekdays:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysShort:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysMin:"ی_د_س_چ_پ_ج_ش".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/قبل از ظهر|بعد از ظهر/,isPM:function(t){return/بعد از ظهر/.test(t)},meridiem:function(t,e,n){return t<12?"قبل از ظهر":"بعد از ظهر"},calendar:{sameDay:"[امروز ساعت] LT",nextDay:"[فردا ساعت] LT",nextWeek:"dddd [ساعت] LT",lastDay:"[دیروز ساعت] LT",lastWeek:"dddd [پیش] [ساعت] LT",sameElse:"L"},relativeTime:{future:"در %s",past:"%s پیش",s:"چند ثانیه",ss:"ثانیه d%",m:"یک دقیقه",mm:"%d دقیقه",h:"یک ساعت",hh:"%d ساعت",d:"یک روز",dd:"%d روز",M:"یک ماه",MM:"%d ماه",y:"یک سال",yy:"%d سال"},preparse:function(t){return t.replace(/[۰-۹]/g,(function(t){return n[t]})).replace(/،/g,",")},postformat:function(t){return t.replace(/\d/g,(function(t){return e[t]})).replace(/,/g,"،")},dayOfMonthOrdinalParse:/\d{1,2}م/,ordinal:"%dم",week:{dow:6,doy:12}})}(n("wd/R"))},jnO4:function(t,e,n){!function(t){"use strict";var e={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},n={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},a=function(t){return 0===t?0:1===t?1:2===t?2:t%100>=3&&t%100<=10?3:t%100>=11?4:5},r={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},o=function(t){return function(e,n,o,i){var s=a(e),c=r[t][a(e)];return 2===s&&(c=c[n?0:1]),c.replace(/%d/i,e)}},i=["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"];t.defineLocale("ar",{months:i,monthsShort:i,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/‏M/‏YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(t){return"م"===t},meridiem:function(t,e,n){return t<12?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:o("s"),ss:o("s"),m:o("m"),mm:o("m"),h:o("h"),hh:o("h"),d:o("d"),dd:o("d"),M:o("M"),MM:o("M"),y:o("y"),yy:o("y")},preparse:function(t){return t.replace(/[١٢٣٤٥٦٧٨٩٠]/g,(function(t){return n[t]})).replace(/،/g,",")},postformat:function(t){return t.replace(/\d/g,(function(t){return e[t]})).replace(/,/g,"،")},week:{dow:6,doy:12}})}(n("wd/R"))},jqst:function(t,e,n){"use strict";n.r(e),e.default='<xliff xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 http://docs.oasis-open.org/xliff/v1.2/os/xliff-core-1.2-strict.xsd" xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">\n  <file original="ng2.template" datatype="plaintext" source-language="en-US" target-language="id-ID">\n    <body>\n      <trans-unit id="319e0745bcbc132451569294fa2fa21bf10f555a" datatype="html">\n        <source>Toggle navigation</source>\n        <target>Pengalih navigasi</target>\n      </trans-unit>\n      <trans-unit id="f65253954b66e929a8b4d5ecaf61f9129f8cec64" datatype="html">\n        <source>Dashboard</source>\n        <target>Dasbor</target>\n      </trans-unit>\n      <trans-unit id="f4d1dd59b039ad818d9da7e29a773e10e41d9821" datatype="html">\n        <source>Cluster</source>\n        <target>Klaster</target>\n      </trans-unit>\n      <trans-unit id="099b441d49333b3c6d30b36dc0a4763e64c78920" datatype="html">\n        <source>Hosts</source>\n        <target>Hos</target>\n      </trans-unit>\n      <trans-unit id="2cc3ecb16e348fcf2f2fbfd2f997d4d22f37475b" datatype="html">\n        <source>Inventory</source>\n        <target>Inventory</target>\n      </trans-unit>\n      <trans-unit id="624f596cc3320f5e0a0d7c7346c364e5af9bdd8c" datatype="html">\n        <source>Monitors</source>\n        <target>Monitor</target>\n      </trans-unit>\n      <trans-unit id="419d940613972cc3fae9c8ea0a4306dbf80616e5" datatype="html">\n        <source>Services</source>\n        <target>Layanan</target>\n      </trans-unit>\n      <trans-unit id="1a9183778f2c6473d7ccb080f651caa01faaf70c" datatype="html">\n        <source>OSDs</source>\n        <target>OSD</target>\n      </trans-unit>\n      <trans-unit id="4a41f824a35ba01d5bd7be61aa06b3e8145209d0" datatype="html">\n        <source>Configuration</source>\n        <target>Konfigurasi</target>\n      </trans-unit>\n      <trans-unit id="8c95898abff46bfac3ed6eb2afef74597e60b15c" datatype="html">\n        <source>CRUSH map</source>\n        <target>peta CRUSH</target>\n      </trans-unit>\n      <trans-unit id="33da4dbeb076159510801ea764a218fd341269d2" datatype="html">\n        <source>Manager modules</source>\n        <target>Modul Ceph Manajer</target>\n      </trans-unit>\n      <trans-unit id="eb3d5aefff38a814b76da74371cbf02c0789a1ef" datatype="html">\n        <source>Logs</source>\n        <target>Log</target>\n      </trans-unit>\n      <trans-unit id="9fe218829514884cdd0ca2300573a4e0428c324f" datatype="html">\n        <source>Alerts</source>\n        <target>Peringatan</target>\n      </trans-unit>\n      <trans-unit id="aa0c44aa1e5727061baa91e954f77e2f5f9a37c9" datatype="html">\n        <source>Silences</source>\n        <target>Silences</target>\n      </trans-unit>\n      <trans-unit id="92899fa68e8ca108912163ff58edc8540e453787" datatype="html">\n        <source>Pools</source>\n        <target>Pool</target>\n      </trans-unit>\n      <trans-unit id="7f5d0c10614e8a34f0e2dad33a0568277c50cf69" datatype="html">\n        <source>Block</source>\n        <target>Blok</target>\n      </trans-unit>\n      <trans-unit id="b73f7f5060fb22a1e9ec462b1bb02493fa3ab866" datatype="html">\n        <source>Images</source>\n        <target>Image</target>\n      </trans-unit>\n      <trans-unit id="3c2562ba992127203dcfd014010b03cb7b8113c6" datatype="html">\n        <source>Mirroring</source>\n        <target>Pencerminan</target>\n      </trans-unit>\n      <trans-unit id="811c241d56601b91ef26735b770e64428089b950" datatype="html">\n        <source>iSCSI</source>\n        <target>iSCSI</target>\n      </trans-unit>\n      <trans-unit id="a24eabd99ea5af20f5f94c4484649cd30370042b" datatype="html">\n        <source>NFS</source>\n        <target>NFS</target>\n      </trans-unit>\n      <trans-unit id="a4eff72d97b7ced051398d581f10968218057ddc" datatype="html">\n        <source>Filesystems</source>\n        <target>Sistemfile</target>\n      </trans-unit>\n      <trans-unit id="2190548d236ca5f7bc7ab2bca334b860c5ff2ad4" datatype="html">\n        <source>Object Gateway</source>\n        <target>Gerbang Objek</target>\n      </trans-unit>\n      <trans-unit id="9e24f9e2d42104ffc01599db4d566d1cc518f9e6" datatype="html">\n        <source>Daemons</source>\n        <target>Daemon</target>\n      </trans-unit>\n      <trans-unit id="4d13a9cd5ed3dcee0eab22cb25198d43886942be" datatype="html">\n        <source>Users</source>\n        <target>Pengguna</target>\n      </trans-unit>\n      <trans-unit id="9515520496da83179d8b08132f00f575512a1f40" datatype="html">\n        <source>Buckets</source>\n        <target>Buket</target>\n      </trans-unit>\n      <trans-unit id="797f8214e8148f4bf0d244baaa7341706b419549" datatype="html">\n        <source>Retrieving data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>. Please wait...\n        </source>\n        <target>Retrieving data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>. Please wait...\n        </target>\n      </trans-unit>\n      <trans-unit id="5a870dc77b9f6f33ee671ea2d856021276933339" datatype="html">\n        <source>Displaying previously cached data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>\n  for \n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n        </source>\n        <target>Displaying previously cached data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>\n  for \n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="ae580202919844531361ba2308287226ff74a584" datatype="html">\n        <source>Could not load data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n  Please check the cluster health.\n        </source>\n        <target>Could not load data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n  Please check the cluster health.\n        </target>\n      </trans-unit>\n      <trans-unit id="7e52e9143145e1db5146258de81eae018a407b31" datatype="html">\n        <source>Clear notifications</source>\n        <target>Clear notifications</target>\n      </trans-unit>\n      <trans-unit id="b0b07bb6b7ff21ede439dd04eaf8872d1ecb84d8" datatype="html">\n        <source>Remove notification</source>\n        <target>Remove notification</target>\n      </trans-unit>\n      <trans-unit id="e17a1d75189da843f541f7764f188f2b19a97df2" datatype="html">\n        <source>Duration:</source>\n        <target>Duration:</target>\n      </trans-unit>\n      <trans-unit id="0d4b37c6675c5b436a54c43d6716eec835e1aa7f" datatype="html">\n        <source>There are no notifications.</source>\n        <target>There are no notifications.</target>\n      </trans-unit>\n      <trans-unit id="0a23e992f6c6e169a38b2b7338b4e5e803b52e0d" datatype="html">\n        <source>Tasks and Notifications</source>\n        <target>Tasks and Notifications</target>\n      </trans-unit>\n      <trans-unit id="3fb5709e10166cbc85970cbff103db227dbeb813" datatype="html">\n        <source>Select a Language</source>\n        <target>Pilih bahasa</target>\n      </trans-unit>\n      <trans-unit id="c5109325fb160b543f71a51e7511c00575057431" datatype="html">\n        <source>Loading panel data...</source>\n        <target>Memuat data panel...</target>\n      </trans-unit>\n      <trans-unit id="8ca12411f890ab8b0a9216418e2b8f5ea7d2441a" datatype="html">\n        <source>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the monitoring functionality.\n        </source>\n        <target>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the monitoring functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="160a9e80dc089792df42e2400b1e81b9e7025aa7" datatype="html">\n        <source>Grafana Dashboard doesn\'t exist. Please refer to\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  add dashboards to Grafana.\n        </source>\n        <target>Grafana Dashboard doesn\'t exist. Please refer to\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  add dashboards to Grafana.\n        </target>\n      </trans-unit>\n      <trans-unit id="4e11830040bd64804a0555de76f291d5832772d4" datatype="html">\n        <source>Grafana Time Picker</source>\n        <target>Pemilih Waktu Grafana</target>\n      </trans-unit>\n      <trans-unit id="238c1ba845dd7330e8088165275919a1debf1ca3" datatype="html">\n        <source>Reset Settings</source>\n        <target>Reset Pengaturan</target>\n      </trans-unit>\n      <trans-unit id="c8d1785038d461ec66b5799db21864182b35900a" datatype="html">\n        <source>Refresh</source>\n        <target>Refresh</target>\n      </trans-unit>\n      <trans-unit id="6c947210e2d162b6225083d18820ab602f58cd2d" datatype="html">\n        <source>Remove the custom configuration value. The default configuration will be inherited and used instead.</source>\n        <target>Remove the custom configuration value. The default configuration will be inherited and used instead.</target>\n      </trans-unit>\n      <trans-unit id="454ee9cb60b00446a8fb147fd2cc5eb836320586" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ option.maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ option.maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="7fc8a22825131e028336f60ef909ccbd96059703" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ option.minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ option.minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="cda31dbd724cf5f4fa7a4274d9120651490c8a8c" datatype="html">\n        <source>Back</source>\n        <target>Kembali</target>\n      </trans-unit>\n      <trans-unit id="012741ee52b3c050e4a977c37cc2334f7974f141" datatype="html">\n        <source>Failed to load data.</source>\n        <target>Gagal memuat data.</target>\n      </trans-unit>\n      <trans-unit id="80cc9a12d4bf6fe454ed94b379eeaf915f920bb7" datatype="html">\n        <source>selected</source>\n        <target>dipilih</target>\n        <note>X selected</note>\n      </trans-unit>\n      <trans-unit id="0cb77511a9a148e05b9adf36cc07269956fbb29d" datatype="html">\n        <source>found</source>\n        <target>ditemukan</target>\n        <note>X found</note>\n      </trans-unit>\n      <trans-unit id="79347388740c50b7ac97e144c2494bb62912f312" datatype="html">\n        <source>total</source>\n        <target>total</target>\n        <note>X total</note>\n      </trans-unit>\n      <trans-unit id="cff1428d10d59d14e45edec3c735a27b5482db59" datatype="html">\n        <source>Name</source>\n        <target>Nama</target>\n      </trans-unit>\n      <trans-unit id="eec715de352a6b114713b30b640d319fa78207a0" datatype="html">\n        <source>Description</source>\n        <target>Deskripsi</target>\n      </trans-unit>\n      <trans-unit id="4ad112ce9bcd55dfd137792a86afe1b5a5b13cf8" datatype="html">\n        <source>Long description</source>\n        <target>Deskripsi lengkap</target>\n      </trans-unit>\n      <trans-unit id="ff7cee38a2259526c519f878e71b964f41db4348" datatype="html">\n        <source>Default</source>\n        <target>Bawaan</target>\n      </trans-unit>\n      <trans-unit id="33e1c1d9fc05ca3f62fcc8a1170fc31ebae4229c" datatype="html">\n        <source>Daemon default</source>\n        <target>Daemon bawaan</target>\n      </trans-unit>\n      <trans-unit id="809b0c848932a41318f77a2aace904ef429c13f4" datatype="html">\n        <source>Values</source>\n        <target>Nilai</target>\n      </trans-unit>\n      <trans-unit id="82029b6db704c56a2aa3e82ac555b8655356b077" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8ed8b3967a7326b81b191c9f490006e6a6777a9a" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="52c9a103b812f258bcddc3d90a6e3f46871d25fe" datatype="html">\n        <source>Save</source>\n        <target>Simpan</target>\n      </trans-unit>\n      <trans-unit id="738de688b22fba5d0dc7a5e549996838dddad0ee" datatype="html">\n        <source>CRUSH map viewer</source>\n        <target>Penampil peta CRUSH</target>\n      </trans-unit>\n      <trans-unit id="94516fa213706c67ce5a5b5765681d7fb032033a" datatype="html">\n        <source>Loading...</source>\n        <target>Memuat...</target>\n      </trans-unit>\n      <trans-unit id="formTitle" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </target>\n        <note>form title</note>\n      </trans-unit>\n      <trans-unit id="9a541ec1a4319fffc16ad3b3ab2c2b6d251a829d" datatype="html">\n        <source>Hostname</source>\n        <target>Nama hos</target>\n      </trans-unit>\n      <trans-unit id="7cbdabcece469fab89cfa687ab152bca18b97498" datatype="html">\n        <source>This field is required.</source>\n        <target>Isian ini tidak boleh kosong.</target>\n      </trans-unit>\n      <trans-unit id="1b3f5e5291541678f7afa49d28fad5ca848a8061" datatype="html">\n        <source>The chosen hostname is already in use.</source>\n        <target>The chosen hostname is already in use.</target>\n      </trans-unit>\n      <trans-unit id="formActionButton" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </target>\n        <note>form action button</note>\n      </trans-unit>\n      <trans-unit id="6110699a3562eeb15371063c0cf7f6bfd88a0209" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemNames[0] }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemNames[0] }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>?\n        </target>\n      </trans-unit>\n      <trans-unit id="549859e511ba5af0ea03fcaa620c472f08038969" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected items?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected items?\n        </target>\n      </trans-unit>\n      <trans-unit id="54839ebc827b73c9dc4e1df731c6d36a85036af7" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected \n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected \n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>?\n        </target>\n      </trans-unit>\n      <trans-unit id="2be8b7f04f0104d3fad90d079d8202b74f758b9a" datatype="html">\n        <source>Yes, I am sure.</source>\n        <target>Ya, saya yakin.</target>\n      </trans-unit>\n      <trans-unit id="d7b35c384aecd25a516200d6921836374613dfe7" datatype="html">\n        <source>Cancel</source>\n        <target>Batal</target>\n      </trans-unit>\n      <trans-unit id="40661476cb24c89d8b06614998e31d5fbe84eeb6" datatype="html">\n        <source>Hosts List</source>\n        <target>Daftar Hos</target>\n      </trans-unit>\n      <trans-unit id="5e7f4b1ca49e8d217bd0e12c6f7d6b6a2ade2c18" datatype="html">\n        <source>Overall Performance</source>\n        <target>Performa Keseluruhan</target>\n      </trans-unit>\n      <trans-unit id="6bc15dc1a621b6ff7378db7fd3ac10b2a2627c77" datatype="html">\n        <source>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the orchestrator functionality.\n        </source>\n        <target>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the orchestrator functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="3e24569eca61d598c8b01defbbbb1fa8bd5222bc" datatype="html">\n        <source>Devices</source>\n        <target>Devices</target>\n      </trans-unit>\n      <trans-unit id="e6d57f36aa2bad303c8a8ee944b9bd7fae3c8c26" datatype="html">\n        <source>No entries found</source>\n        <target>Entri tidak ditemukan</target>\n      </trans-unit>\n      <trans-unit id="d556ab48a65722b400e497f61737f553ee0f89e2" datatype="html">\n        <source>Cluster Logs</source>\n        <target>Log Klaster</target>\n      </trans-unit>\n      <trans-unit id="5f966baffd188be0e8adc2d7067b86e55fc9b9de" datatype="html">\n        <source>Audit Logs</source>\n        <target>Log Audit</target>\n      </trans-unit>\n      <trans-unit id="4193c9eb868aeec119b78a14795241e0aa5e8b60" datatype="html">\n        <source>Priority:</source>\n        <target>Priority:</target>\n      </trans-unit>\n      <trans-unit id="1d78ca51eab260ce3fd917d39190d64df5229b6e" datatype="html">\n        <source>Keyword:</source>\n        <target>Keyword:</target>\n      </trans-unit>\n      <trans-unit id="05fa0bded36de6e73a1fa44838b627349dace044" datatype="html">\n        <source>Date:</source>\n        <target>Date:</target>\n      </trans-unit>\n      <trans-unit id="31dadb362bf7f7c2afa10e5f96474ccd3977f91f" datatype="html">\n        <source>Datepicker</source>\n        <target>Datepicker</target>\n      </trans-unit>\n      <trans-unit id="85a400388de1899b1917138cf7e5286376f72847" datatype="html">\n        <source>Time range:</source>\n        <target>Time range:</target>\n      </trans-unit>\n      <trans-unit id="2447796ddbda942f4e2c46619cb84d69f066e568" datatype="html">\n        <source>Loading configuration...</source>\n        <target>Memuat konfigurasi...</target>\n      </trans-unit>\n      <trans-unit id="b42c0b347a841bed8859ee83de05080ee28c803b" datatype="html">\n        <source>The configuration could not be loaded.</source>\n        <target>Konfigurasi tidak dapat dimuat.</target>\n      </trans-unit>\n      <trans-unit id="31a9c2870a934b594d1390146c489f76440859ea" datatype="html">\n        <source>Edit Manager module</source>\n        <target>Edit modul Ceph Manajer</target>\n      </trans-unit>\n      <trans-unit id="46e09b8290d3d0afdb6baa2021395b0570606a31" datatype="html">\n        <source>The entered value is not a valid UUID, e.g.: 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8</source>\n        <target>Nilai yang dimasukkan bukan UUID yang valid, cth: 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8</target>\n      </trans-unit>\n      <trans-unit id="7aacd038b39cfd347107d01d1dc27f5cb3e0951c" datatype="html">\n        <source>The entered value needs to be a valid IP address.</source>\n        <target>Nilai yang dimasukkan harus alamat IP yang valid.</target>\n      </trans-unit>\n      <trans-unit id="f19106149f4b07a0d721f9d317afed393cb7bd93" datatype="html">\n        <source>The entered value is too high! It must be lower or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.max }}"/>.\n        </source>\n        <target>The entered value is too high! It must be lower or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.max }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="6d33c40ef9a6c3bf0888df831b25e41e65f9d15b" datatype="html">\n        <source>The entered value is too low! It must be greater or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.min }}"/>.\n        </source>\n        <target>The entered value is too low! It must be greater or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.min }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="eae7086660cf1e38c7194a2c49ff52cc656f90f5" datatype="html">\n        <source>The entered value needs to be a number.</source>\n        <target>Nilai yang dimasukkan harus berupa angka.</target>\n      </trans-unit>\n      <trans-unit id="a73376e04b4fb3a20734c8c39743fba32e6676ce" datatype="html">\n        <source>The entered value needs to be a number or decimal.</source>\n        <target>Nilai yang dimasukkan harus berupa angka atau desimal.</target>\n      </trans-unit>\n      <trans-unit id="047f50bc5b5d17b5bec0196355953e1a5c590ddb" datatype="html">\n        <source>Update</source>\n        <target>Perbarui</target>\n      </trans-unit>\n      <trans-unit id="81b97b8ea996ad1e4f9fca8415021850214884b1" datatype="html">\n        <source>Status</source>\n        <target>Status</target>\n      </trans-unit>\n      <trans-unit id="57ec6032f5618d4a9f16eb950ad23d2ce7c24b54" datatype="html">\n        <source>Cluster ID</source>\n        <target>ID Klaster</target>\n      </trans-unit>\n      <trans-unit id="67d7facc3fec5f8a49ab9ba0a245872184264ce5" datatype="html">\n        <source>monmap modified</source>\n        <target>monmap diubah</target>\n      </trans-unit>\n      <trans-unit id="d4906731aaf2b94b4f547646c9bfe58bb77951b6" datatype="html">\n        <source>monmap epoch</source>\n        <target>monmap epoch</target>\n      </trans-unit>\n      <trans-unit id="bd4ee06ffdc46d9dfbd0c0c4f81399021c680056" datatype="html">\n        <source>quorum con</source>\n        <target>kuorum con</target>\n      </trans-unit>\n      <trans-unit id="1176c7db8a8276ccb44cc3d42e2c28d9fa6c6596" datatype="html">\n        <source>quorum mon</source>\n        <target>kuorum mon</target>\n      </trans-unit>\n      <trans-unit id="530ef677a09d681b3ab68cb0760494b3ae72a77c" datatype="html">\n        <source>required con</source>\n        <target>con yang dibutuhkan</target>\n      </trans-unit>\n      <trans-unit id="a91558e0d506c32021c31843f8f168899fc65cbf" datatype="html">\n        <source>required mon</source>\n        <target>mon yang dibutuhkan</target>\n      </trans-unit>\n      <trans-unit id="b3abe9eac5bcd94a54c8da93b312e085ec512e74" datatype="html">\n        <source>In Quorum</source>\n        <target>Memenuhi Kuorum</target>\n      </trans-unit>\n      <trans-unit id="ba4b748a676e1f217ce1e736fb7ec1215e677bae" datatype="html">\n        <source>Not In Quorum</source>\n        <target>Tidak dalam Kuorum</target>\n      </trans-unit>\n      <trans-unit id="5ef50ba2514414f799d4c8fc36067a251904ba81" datatype="html">\n        <source>Cluster-wide OSD Flags</source>\n        <target>Flag OSD Klaster</target>\n      </trans-unit>\n      <trans-unit id="71c77bb8cecdf11ec3eead24dd1ba506573fa9cd" datatype="html">\n        <source>Submit</source>\n        <target>Kirim</target>\n      </trans-unit>\n      <trans-unit id="1cfe07dac5b4ee1c464eb24225ddeb4f1d24076a" datatype="html">\n        <source>Advanced...</source>\n        <target>Tingkat lanjut...</target>\n      </trans-unit>\n      <trans-unit id="b1ef1c12ddcee305353623919ef02778569f5454" datatype="html">\n        <source>Advanced configuration options</source>\n        <target>Advanced configuration options</target>\n      </trans-unit>\n      <trans-unit id="c35f9c5f268a514b970cc55e9a5dc4bed0988e7f" datatype="html">\n        <source>OSD Recovery Priority</source>\n        <target>Prioritas pemulihan OSD</target>\n      </trans-unit>\n      <trans-unit id="b74af38005e8a8914e45af2ec412e11ceafef8b6" datatype="html">\n        <source>Priority</source>\n        <target>Prioritas</target>\n      </trans-unit>\n      <trans-unit id="c2f48f04b379bfba133825747adfd238d511412e" datatype="html">\n        <source>Customize priority values</source>\n        <target>Ubah nilai prioritas</target>\n      </trans-unit>\n      <trans-unit id="4aa19de2a2b54cbda39e9c62917b23044c087776" datatype="html">\n        <source>This field is required!</source>\n        <target>Isian ini harus diisi!</target>\n      </trans-unit>\n      <trans-unit id="b699e94bf376491bd50b70a98531071c737eaf40" datatype="html">\n        <source>[object Object]</source>\n        <target>[object Object]</target>\n      </trans-unit>\n      <trans-unit id="98fe13e7ad6c2b80375d204b47858ded83f80e15" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="5423a3c111be47fc5a1bfe46ceb58c81c84db691" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="5251a4355cece3075db43f15d69a24a0f8485707" datatype="html">\n        <source>Reweight OSD: \n          <x id="INTERPOLATION" equiv-text="{{ osdId }}"/>\n        </source>\n        <target>Reweight OSD: \n          <x id="INTERPOLATION" equiv-text="{{ osdId }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="67650b2998db48201b2c6176cbfef51e7211ccaa" datatype="html">\n        <source>The value needs to be between 0 and 1.</source>\n        <target>Nilai harus antara 0 dan 1.</target>\n      </trans-unit>\n      <trans-unit id="bc11f92113d678a90e334fdf3d7b3fddbe34c579" datatype="html">\n        <source>Reweight</source>\n        <target>Ubah bobot</target>\n      </trans-unit>\n      <trans-unit id="d5ca5daf742023fc4f0919fb3c1c6a51991cda4f" datatype="html">\n        <source>OSDs \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>Scrub\n        </source>\n        <target>OSDs \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>Scrub\n        </target>\n      </trans-unit>\n      <trans-unit id="4c17d67c7c5799eb920030e9a399961e90f55dd8" datatype="html">\n        <source>{VAR_SELECT, select, 1 {Deep } }</source>\n        <target>{VAR_SELECT, select, 1 {Dalam } }</target>\n      </trans-unit>\n      <trans-unit id="2613498e8e5853c26a1cc62ae8dc673d1fdf0e2a" datatype="html">\n        <source>You are about to apply a \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to\n          the OSD(s): \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ selected | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.\n        </source>\n        <target>You are about to apply a \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to\n          the OSD(s): \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ selected | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="dc6705f342a036b332c3fd3443201c3613e5524d" datatype="html">\n        <source>{VAR_SELECT, select, 1 {deep } }</source>\n        <target>{VAR_SELECT, select, 1 {dalam } }</target>\n      </trans-unit>\n      <trans-unit id="b49d7877d24112d4bdfce9256edf61a007fae888" datatype="html">\n        <source>OSDs List</source>\n        <target>Daftar OSD</target>\n      </trans-unit>\n      <trans-unit id="c402e6ec1c6792ede81f56c28eee8955860391c8" datatype="html">\n        <source>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) \n          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </source>\n        <target>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) \n          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </target>\n      </trans-unit>\n      <trans-unit id="d2797d01ba86f5df03d875803e49e648a4027869" datatype="html">\n        <source>The \n          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to destroy!\n        </source>\n        <target>The \n          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to destroy!\n        </target>\n      </trans-unit>\n      <trans-unit id="e776996dac651ef3819bfa767ccf2a0613759f47" datatype="html">\n        <source>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</source>\n        <target>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</target>\n      </trans-unit>\n      <trans-unit id="1e2c50ed3c3934ef068976dc7f38513cec29d515" datatype="html">\n        <source>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD \n          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </source>\n        <target>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD \n          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </target>\n      </trans-unit>\n      <trans-unit id="4f8b2bb476981727ab34ed40fde1218361f92c45" datatype="html">\n        <source>Details</source>\n        <target>Detail</target>\n      </trans-unit>\n      <trans-unit id="8501055865d7031b5521a0c5467532648009a61d" datatype="html">\n        <source>Matcher</source>\n        <target>Matcher</target>\n      </trans-unit>\n      <trans-unit id="9c25e04f554875dc2625a78ba0fc56c6010cd0d3" datatype="html">\n        <source>-- Select an attribute to match against --</source>\n        <target>-- Select an attribute to match against --</target>\n      </trans-unit>\n      <trans-unit id="5049e204c14c648691ac775a64fb504467aeb549" datatype="html">\n        <source>Value</source>\n        <target>Nilai</target>\n      </trans-unit>\n      <trans-unit id="77fc5c63497fc031ddc97645484e3d94ad27766c" datatype="html">\n        <source>Use regular expression</source>\n        <target>Use regular expression</target>\n      </trans-unit>\n      <trans-unit id="7bbec1a797283712c0adf9e71d77fb5a8cd720db" datatype="html">\n        <source>{VAR_SELECT, select, 1 {Update} other {Add} }</source>\n        <target>{VAR_SELECT, select, 1 {Update} other {Add} }</target>\n      </trans-unit>\n      <trans-unit id="f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8" datatype="html">\n        <source>Close</source>\n        <target>Tutup</target>\n      </trans-unit>\n      <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c" datatype="html">\n        <source>Edit</source>\n        <target>Edit</target>\n      </trans-unit>\n      <trans-unit id="826b25211922a1b46436589233cb6f1a163d89b7" datatype="html">\n        <source>Delete</source>\n        <target>Hapus</target>\n      </trans-unit>\n      <trans-unit id="a3ba06aba047605af8ea1718ec1ba153b7db12a2" datatype="html">\n        <source>Editing a silence will expire the old silence and recreate it as a new silence</source>\n        <target>Editing a silence will expire the old silence and recreate it as a new silence</target>\n      </trans-unit>\n      <trans-unit id="a20424156b8816671f61879f0574a4f27d7b16b9" datatype="html">\n        <source>Creator</source>\n        <target>Creator</target>\n      </trans-unit>\n      <trans-unit id="5a5d7ee2acbfa9c91ab7f41d26bda9ff0cafe42f" datatype="html">\n        <source>Comment</source>\n        <target>Comment</target>\n      </trans-unit>\n      <trans-unit id="4c11aad490b2d53fdae30b3807beabf79306752c" datatype="html">\n        <source>Start time</source>\n        <target>Start time</target>\n      </trans-unit>\n      <trans-unit id="32856b1e8e339b747b21e313e2fe65a51fd450bb" datatype="html">\n        <source>If the start time lies in the past the creation time will be used</source>\n        <target>If the start time lies in the past the creation time will be used</target>\n      </trans-unit>\n      <trans-unit id="a02ea1d4e7424ca989929da5e598f379940fdbf2" datatype="html">\n        <source>Duration</source>\n        <target>Duration</target>\n      </trans-unit>\n      <trans-unit id="2f4e35e36f4d3c62e2c17df41730b6dee4afc4b9" datatype="html">\n        <source>End time</source>\n        <target>End time</target>\n      </trans-unit>\n      <trans-unit id="dbe739ec8c99a0132e326067ffec9c0ee06b2655" datatype="html">\n        <source>Matchers\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>*\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n        </source>\n        <target>Matchers\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>*\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="3e023166c55833d5a13f4143e3dbe372befe1b4e" datatype="html">\n        <source>A silence requires at least one matcher</source>\n        <target>A silence requires at least one matcher</target>\n      </trans-unit>\n      <trans-unit id="ef765bd80c4806c51c891908c07a24bc76f019eb" datatype="html">\n        <source>Add matcher</source>\n        <target>Add matcher</target>\n      </trans-unit>\n      <trans-unit id="d2bcd3296d2850de762fb943060b7e086a893181" datatype="html">\n        <source>Health</source>\n        <target>Kesehatan</target>\n      </trans-unit>\n      <trans-unit id="61e0f26d843eec0b33ff475e111b0c2f7a80b835" datatype="html">\n        <source>Statistics</source>\n        <target>Statistik </target>\n      </trans-unit>\n      <trans-unit id="f8f74e5f683012b9c0702b1446011c6b9158bc67" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the NFS Ganesha management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the NFS Ganesha management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="7ffe39df9d88c972792bd8688b215392deb8313d" datatype="html">\n        <source>Clients</source>\n        <target>Klien</target>\n      </trans-unit>\n      <trans-unit id="f2dae0bda66f6a349444951c0379c28cda47d6d1" datatype="html">\n        <source>Any client can access</source>\n        <target>Semua klien dapat mengakses</target>\n      </trans-unit>\n      <trans-unit id="7882f2edb1d4139800b276b6b0bbf5ae0b2234ef" datatype="html">\n        <source>Addresses</source>\n        <target>Alamat</target>\n      </trans-unit>\n      <trans-unit id="9bd96fcf50863e685c74d0490392f46689ffbdb6" datatype="html">\n        <source>Required field</source>\n        <target>Wajib diisi</target>\n      </trans-unit>\n      <trans-unit id="a5f3f74c0f6925826cb2188576391c0da01a23f0" datatype="html">\n        <source>Must contain one or more comma-separated values</source>\n        <target>Harus mengandung satu atau lebih nilai yang dipisahkan koma</target>\n      </trans-unit>\n      <trans-unit id="8bb5b2073697f3f4378c44a49b7524934c9268f4" datatype="html">\n        <source>For example:</source>\n        <target>Contoh:</target>\n      </trans-unit>\n      <trans-unit id="8f969c655b3fbe4fba7e277caf4cd2c459f9fca5" datatype="html">\n        <source>Access Type</source>\n        <target>Tipe Akses</target>\n      </trans-unit>\n      <trans-unit id="28952831a284cfe2b4fc39ca610e80b52598905a" datatype="html">\n        <source>Squash</source>\n        <target>Squash</target>\n      </trans-unit>\n      <trans-unit id="0660ae339068979854ade34a96546980723dede3" datatype="html">\n        <source>Add clients</source>\n        <target>Tambah klien</target>\n      </trans-unit>\n      <trans-unit id="135b91a2d908d5814b782695470a6a786c99d9d2" datatype="html">\n        <source>-- No cluster available --</source>\n        <target>-- Klaster tidak tersedia --</target>\n      </trans-unit>\n      <trans-unit id="c501dba379f566885919240ea277b5bc10c14d18" datatype="html">\n        <source>-- Select the cluster --</source>\n        <target>-- Pilih klaster --</target>\n      </trans-unit>\n      <trans-unit id="cf85b1ee58326aa9da63da41b2629c9db7c9a5b9" datatype="html">\n        <source>Add daemon</source>\n        <target>Tambah daemon</target>\n      </trans-unit>\n      <trans-unit id="b3f6ba7fe84d6508705cdfe234f0fcc8ff85c9cf" datatype="html">\n        <source>Storage Backend</source>\n        <target>Backend Penyimpanan</target>\n      </trans-unit>\n      <trans-unit id="151c80ea931037cd92e854442927f8a0f6ae7795" datatype="html">\n        <source>-- No data pools available --</source>\n        <target>-- Tidak ada pool data tersedia --</target>\n      </trans-unit>\n      <trans-unit id="b6fee356d1db954255a56d8169405a89595246b9" datatype="html">\n        <source>-- Select the storage backend --</source>\n        <target>-- Pilih backend penyimpanan --</target>\n      </trans-unit>\n      <trans-unit id="76d67035c3ab3d8e56f725859f820f03fda41cfc" datatype="html">\n        <source>Object Gateway User</source>\n        <target>Pengguna Gerbang Objek</target>\n      </trans-unit>\n      <trans-unit id="fade7788bace74337f306ae209f10fc187ef4671" datatype="html">\n        <source>-- No users available --</source>\n        <target>-- Pengguna tidak tersedia --</target>\n      </trans-unit>\n      <trans-unit id="6d30b7b36cf8f6364167321bdb4ba35d4cefce7b" datatype="html">\n        <source>-- Select the object gateway user --</source>\n        <target>-- Pilih pengguna gerbang objek --</target>\n      </trans-unit>\n      <trans-unit id="589ce20d3ba3e3ac44f75decfaadc4ea8f0aec2d" datatype="html">\n        <source>CephFS User ID</source>\n        <target>ID Pengguna CephFS</target>\n      </trans-unit>\n      <trans-unit id="c4b88a53ac3b0ece46ba9b3ad72355a3c190cce7" datatype="html">\n        <source>-- No clients available --</source>\n        <target>-- Klien tidak tersedia --</target>\n      </trans-unit>\n      <trans-unit id="da52835b80497a0002d24414b057dc46ae44ce38" datatype="html">\n        <source>-- Select the cephx client --</source>\n        <target>-- Pilih klien cephx --</target>\n      </trans-unit>\n      <trans-unit id="fd3419e8957d928d7f7ba19c93356a0dbff02871" datatype="html">\n        <source>CephFS Name</source>\n        <target>Nama CephFS</target>\n      </trans-unit>\n      <trans-unit id="ee3ba0ab5f0ccd597b3e44021c71e9aaad14df0a" datatype="html">\n        <source>-- No CephFS filesystem available --</source>\n        <target>-- No CephFS filesystem available --</target>\n      </trans-unit>\n      <trans-unit id="764c57812558b1ae66c5eec95d7efd2b1bf761e3" datatype="html">\n        <source>-- Select the CephFS filesystem --</source>\n        <target>-- Select the CephFS filesystem --</target>\n      </trans-unit>\n      <trans-unit id="957512d0321f73e9f115bce1bd823fa635170c41" datatype="html">\n        <source>Security Label</source>\n        <target>Label Keamanan</target>\n      </trans-unit>\n      <trans-unit id="65ce0fa4da1ed55e658aeb31d1644a29f06bb342" datatype="html">\n        <source>Enable security label</source>\n        <target>Aktifkan label keamanan</target>\n      </trans-unit>\n      <trans-unit id="7e808f804130c7b6ff719509cbc06ebb27393a48" datatype="html">\n        <source>CephFS Path</source>\n        <target>CephFS Path</target>\n      </trans-unit>\n      <trans-unit id="5ecc0107badb6625466aaa3f975b5c05276f432f" datatype="html">\n        <source>Path need to start with a \'/\' and can be followed by a word</source>\n        <target>Lintasan atau path harus dimulai dengan \'/\' dan diikuti dengan kata</target>\n      </trans-unit>\n      <trans-unit id="2d02916f44fc63e13ab16d1cbe72aa6cb51feab3" datatype="html">\n        <source>New directory will be created</source>\n        <target>Direktori baru akan dibuat</target>\n      </trans-unit>\n      <trans-unit id="766c66ad5cc981c531aaf3fe3a2a7a346ddc8d83" datatype="html">\n        <source>Path</source>\n        <target>Path</target>\n      </trans-unit>\n      <trans-unit id="7ec35c722a50b976620f22612f7be619c12ceb90" datatype="html">\n        <source>Path can only be a single \'/\' or a word</source>\n        <target>Path hanya boleh berupa \'/\' atau kata</target>\n      </trans-unit>\n      <trans-unit id="aebb6a5090c24511de4530195694bb3f3dcf0342" datatype="html">\n        <source>New bucket will be created</source>\n        <target>Buket baru akan dibuat</target>\n      </trans-unit>\n      <trans-unit id="bee6900143996c0e908a10564532eba3da0b30fb" datatype="html">\n        <source>NFS Protocol</source>\n        <target>Protokol NFS</target>\n      </trans-unit>\n      <trans-unit id="2f534178c01ebf1307da2eaeef04bc6801ebc729" datatype="html">\n        <source>NFSv3</source>\n        <target>NFSv3</target>\n      </trans-unit>\n      <trans-unit id="f5043c0921e709935ab026bb3253ffe1f159fca1" datatype="html">\n        <source>NFSv4</source>\n        <target>NFSv4</target>\n      </trans-unit>\n      <trans-unit id="92488963d23095985a47c0d6e62304e11d333f19" datatype="html">\n        <source>NFS Tag</source>\n        <target>Tag NFS</target>\n      </trans-unit>\n      <trans-unit id="aae93362720aea94623682996dd3fcd0f906f056" datatype="html">\n        <source>Alternative access for \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v3\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> mounts (it must not have a leading /).\n        </source>\n        <target>Alternative access for \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v3\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> mounts (it must not have a leading /).\n        </target>\n      </trans-unit>\n      <trans-unit id="45d6db77dcf1a3eeb921033abc7882e517a541cc" datatype="html">\n        <source>Clients may not mount subdirectories (i.e. if Tag = foo, the client may not mount foo/baz).</source>\n        <target>Klien mungkin tidak dapat mount subdirektori (cth. jika Tag = foo, klien mungkin tidak bisa mount foo/baz).</target>\n      </trans-unit>\n      <trans-unit id="a1c7a8676b55e882a97c6a6fb205204f9c761afa" datatype="html">\n        <source>By using different Tag options, the same Path may be exported multiple times.</source>\n        <target>Dengan menggunakan opsi Tag yang berbeda, Path yang sama akan diekspor beberapa kali.</target>\n      </trans-unit>\n      <trans-unit id="6d2c39708a32910f89701dd7e1cfb9ec1c195768" datatype="html">\n        <source>Pseudo</source>\n        <target>Pseudo</target>\n      </trans-unit>\n      <trans-unit id="1f8be2ae25947bec0b84c2338201580ea053f34e" datatype="html">\n        <source>The position that this \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v4\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> export occupies\n                in the \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>Pseudo FS\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> (it must be unique).\n        </source>\n        <target>The position that this \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v4\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> export occupies\n                in the \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>Pseudo FS\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> (it must be unique).\n        </target>\n      </trans-unit>\n      <trans-unit id="f3af55f7fd5b1d9e5a53e030c80116dc635bfb9f" datatype="html">\n        <source>By using different Pseudo options, the same Path may be exported multiple times.</source>\n        <target>Dengan menggunakan opsi Pseudo yang berbeda, Path yang sama akan diekspor beberapa kali.</target>\n      </trans-unit>\n      <trans-unit id="ddf98fcdeeb17643db020d54f42b5e56b5f9a52a" datatype="html">\n        <source>Pseudo needs to start with a \'/\' and can\'t contain any of the following: &gt;, &lt;, |, &amp;, ( or ).</source>\n        <target>Pseudo needs to start with a \'/\' and can\'t contain any of the following: &gt;, &lt;, |, &amp;, ( or ).</target>\n      </trans-unit>\n      <trans-unit id="27eb35c4b4ac08781a7253a2ab40f8f7d957ba51" datatype="html">\n        <source>-- No access type available --</source>\n        <target>-- Tipe akses tidak tersedia --</target>\n      </trans-unit>\n      <trans-unit id="509ce016c9110a54028dafd741f15ceacbe74b5a" datatype="html">\n        <source>-- Select the access type --</source>\n        <target>-- Pilih tipe akses --</target>\n      </trans-unit>\n      <trans-unit id="49850390a653cd05dc5843d74ef073a9122b54c9" datatype="html">\n        <source>The Object Gateway NFS backend has a number of\n              limitations which will seriously affect applications writing to\n              the share. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for details before enabling write access.\n        </source>\n        <target>The Object Gateway NFS backend has a number of\n              limitations which will seriously affect applications writing to\n              the share. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for details before enabling write access.\n        </target>\n      </trans-unit>\n      <trans-unit id="4deda03573eaaff77e63f6a238a1f0ca7816950a" datatype="html">\n        <source>-- No squash available --</source>\n        <target>-- Squash tidak tersedia --</target>\n      </trans-unit>\n      <trans-unit id="a0e82a4da88e7fdf270444f838d45849676e9d4b" datatype="html">\n        <source>--Select what kind of user id squashing is performed --</source>\n        <target>-- Pilih jenis squashing id pengguna yang akan dilakukan --</target>\n      </trans-unit>\n      <trans-unit id="d01b7c3f7f06712c53d054cfbe4f53d446b038e8" datatype="html">\n        <source>Transport Protocol</source>\n        <target>Protokol Transport</target>\n      </trans-unit>\n      <trans-unit id="d2a6ad6e8bc315f07911722c05767ac79c136d99" datatype="html">\n        <source>UDP</source>\n        <target>UDP</target>\n      </trans-unit>\n      <trans-unit id="9c030f11e0aae9b24d2c048c57f29f590be621df" datatype="html">\n        <source>TCP</source>\n        <target>TCP</target>\n      </trans-unit>\n      <trans-unit id="734c9905951a774870497c5aaae8e3ee833b6196" datatype="html">\n        <source>CephFS</source>\n        <target>CephFS</target>\n      </trans-unit>\n      <trans-unit id="449dca3d3a93ead418b0541ea81b0dda7e6483c2" datatype="html">\n        <source>Welcome to Ceph!</source>\n        <target>Selamat datang di Ceph!</target>\n        <note>The welcome message on the login page</note>\n      </trans-unit>\n      <trans-unit id="0070e83d11da39d6f4bb95065c2675db1610b419" datatype="html">\n        <source>Username is required</source>\n        <target>Nama pengguna harus diisi</target>\n      </trans-unit>\n      <trans-unit id="1e20f8b8a4706526c9024cc2f39d568345d100dc" datatype="html">\n        <source>Password is required</source>\n        <target>Kata sandi harus diisi</target>\n      </trans-unit>\n      <trans-unit id="6765b4c916060f6bc42d9bb69e80377dbcb5e4e9" datatype="html">\n        <source>Login</source>\n        <target>Masuk</target>\n      </trans-unit>\n      <trans-unit id="58fc1b5c79a75370eb52644fd83fb2e7096b6649" datatype="html">\n        <source>Sorry, the user does not exist in Ceph.</source>\n        <target>Maaf, pengguna tidak terdaftar di Ceph.</target>\n      </trans-unit>\n      <trans-unit id="d9deb94f78e7c41b35c6622b874f06657d7604c1" datatype="html">\n        <source>Return to \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Login Page\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You\'ll be logged out from the Identity Provider when you retry logging in.\n        </source>\n        <target>Return to \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Login Page\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You\'ll be logged out from the Identity Provider when you retry logging in.\n        </target>\n      </trans-unit>\n      <trans-unit id="0eb15f32b2b92d7f3103ef3ff032621888a8dc32" datatype="html">\n        <source>Old password</source>\n        <target>Old password</target>\n      </trans-unit>\n      <trans-unit id="1cf42e491adc166a337a960eb84d03c0c3f677c8" datatype="html">\n        <source>The old and new passwords must be different.</source>\n        <target>The old and new passwords must be different.</target>\n      </trans-unit>\n      <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229" datatype="html">\n        <source>New password</source>\n        <target>New password</target>\n      </trans-unit>\n      <trans-unit id="595ebc9279497f6dc733777e2816bee936901388" datatype="html">\n        <source>Too weak</source>\n        <target>Too weak</target>\n      </trans-unit>\n      <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b" datatype="html">\n        <source>Confirm new password</source>\n        <target>Confirm new password</target>\n      </trans-unit>\n      <trans-unit id="90163a3d3746819aef42e829f4446331232f3b66" datatype="html">\n        <source>Password confirmation doesn\'t match the new password.</source>\n        <target>Password confirmation doesn\'t match the new password.</target>\n      </trans-unit>\n      <trans-unit id="471e78026c258073ba687478dc54c35d9041ea42" datatype="html">\n        <source>Forbidden</source>\n        <target>Terlarang</target>\n      </trans-unit>\n      <trans-unit id="02ea8ad57677e3c63f3d7814ca5e6c7b74e360b4" datatype="html">\n        <source>Sorry, you are not allowed to see what you were looking for.</source>\n        <target>Maaf, Anda tidak dizinkan melihat hal yang Anda inginkan.</target>\n      </trans-unit>\n      <trans-unit id="e3c028c58f92453d46f09b5adf95b2f013ee0300" datatype="html">\n        <source>Sorry, we could not find what you were looking for</source>\n        <target>Maaf, kami tidak dapat menemukan yang Anda cari</target>\n      </trans-unit>\n      <trans-unit id="a949d7e577902d0e5dc5d0971bb0170a21be7728" datatype="html">\n        <source>[object Object]</source>\n        <target>[object Object]</target>\n      </trans-unit>\n      <trans-unit id="ff92fbdec9fdd5054493eeda0d7ee8b450f83e72" datatype="html">\n        <source>RBD Configuration</source>\n        <target>Konfigurasi RBD</target>\n      </trans-unit>\n      <trans-unit id="b62d9efc8eb3b589904f6cb96a0406bbda55673a" datatype="html">\n        <source>Remove the local configuration value. The parent configuration value will be inherited and used instead.</source>\n        <target>Menghapus nilai konfigurasi lokal. Nilai konfigurasi induk akan diturun dan digunakan.</target>\n      </trans-unit>\n      <trans-unit id="963488a1010d46067b238c4ae917fab3907c0a3a" datatype="html">\n        <source>The mininum value is 0</source>\n        <target>Nilai minimum adalah 0</target>\n      </trans-unit>\n      <trans-unit id="1d8a7c8aea58294a3c57c23af0468ddf0ba0c9c7" datatype="html">\n        <source>Pools List</source>\n        <target>Daftar pool</target>\n      </trans-unit>\n      <trans-unit id="490e15ecc922965b6d8194754c87c5583aa071f3" datatype="html">\n        <source>The name can only consist of alphanumeric characters, dashes and underscores.</source>\n        <target>Nama hanya boleh terdiri dari alfanumerik, tanda hubung, dan garis bawah.</target>\n      </trans-unit>\n      <trans-unit id="9edc2b494e660618af3e5225f68d40b7ca67629c" datatype="html">\n        <source>The chosen erasure code profile name is already in use.</source>\n        <target>Nama profil erasure code sudah digunakan.</target>\n      </trans-unit>\n      <trans-unit id="ef9ff0e6227947b48dfab4ac39ade04af758913b" datatype="html">\n        <source>Plugin</source>\n        <target>Plugin</target>\n      </trans-unit>\n      <trans-unit id="dd69b31bce8f630eac1d4762b0bbcf72ce19d193" datatype="html">\n        <source>Data chunks (k)</source>\n        <target>Pecahan data (k)</target>\n      </trans-unit>\n      <trans-unit id="b0d26a6172d32cb81218fe2103c54a818cbc1189" datatype="html">\n        <source>Must be equal to or greater than 2.</source>\n        <target>Harus sama dengan atau lebih dari 2.</target>\n      </trans-unit>\n      <trans-unit id="dab3a299ead121169b8e08ed618c3b6a2f66691b" datatype="html">\n        <source>Coding chunks (m)</source>\n        <target>Pecahan Coding (m)</target>\n      </trans-unit>\n      <trans-unit id="1e2773e5bd4948193f18f2361d663ecc3988c656" datatype="html">\n        <source>Must be equal to or greater than 1.</source>\n        <target>Harus sama dengan atau lebih dari 1.</target>\n      </trans-unit>\n      <trans-unit id="6cde4c945a49a260c0a47bcc7cd956846930a5f7" datatype="html">\n        <source>Durability estimator (c)</source>\n        <target>Penduga daya tahan (c)</target>\n      </trans-unit>\n      <trans-unit id="af668c2a095a979ea2b4e43cd82c2120ab56c21c" datatype="html">\n        <source>Locality (l)</source>\n        <target>Lokalitas (l)</target>\n      </trans-unit>\n      <trans-unit id="d455a110bf6d2235e314e295ce1dfeee93d3dff2" datatype="html">\n        <source>Crush failure domain</source>\n        <target>Domain kegagalan Crush</target>\n      </trans-unit>\n      <trans-unit id="b74a495f041f7dd102eee5c0bbc9e03083b538ae" datatype="html">\n        <source>Crush Locality</source>\n        <target>Lokalitas Crush</target>\n      </trans-unit>\n      <trans-unit id="a2f14a73f7a6e94479f67423cc51102da8d6f524" datatype="html">\n        <source>None</source>\n        <target>Tidak ada</target>\n      </trans-unit>\n      <trans-unit id="2981733b912b693a9dd9d915d6d34f4692cc874a" datatype="html">\n        <source>Technique</source>\n        <target>Teknik</target>\n      </trans-unit>\n      <trans-unit id="e0098b6e47b04ec817361f384ce81d454ba5c0bb" datatype="html">\n        <source>Packetsize</source>\n        <target>Ukuran paket</target>\n      </trans-unit>\n      <trans-unit id="c0252cd81ca54d0a2f69ec9ccf4248e73df5aa4a" datatype="html">\n        <source>Crush root</source>\n        <target>Crush root</target>\n      </trans-unit>\n      <trans-unit id="1548d5c76f0406ddd1ba3c557e1e6db22e95b340" datatype="html">\n        <source>Crush device class</source>\n        <target>Kelas perangkat Crush</target>\n      </trans-unit>\n      <trans-unit id="5e85feb6f9f0334366e46ee09ca6b8df52397432" datatype="html">\n        <source>any</source>\n        <target>apa saja</target>\n      </trans-unit>\n      <trans-unit id="03d84645f6e019c5a43909bbf2ea1696ee88332c" datatype="html">\n        <source>Directory</source>\n        <target>Direktori</target>\n      </trans-unit>\n      <trans-unit id="2fecea01ce1d44114ee45144eff6d47a5016a74f" datatype="html">\n        <source>Name...</source>\n        <target>Nama...</target>\n      </trans-unit>\n      <trans-unit id="16e113230b6b0d3165e076300880542bac7c8138" datatype="html">\n        <source>The chosen Ceph pool name is already in use.</source>\n        <target>Nama pool Ceph yang dipilih sudah digunakan.</target>\n      </trans-unit>\n      <trans-unit id="c75b132bef7b29fa5171768303c4b96e34ccaf68" datatype="html">\n        <source>It\'s not possible to create an RBD pool with \'/\' in the name.\n              Please change the name or remove \'rbd\' from the applications list.</source>\n        <target>It\'s not possible to create an RBD pool with \'/\' in the name.\n              Please change the name or remove \'rbd\' from the applications list.</target>\n      </trans-unit>\n      <trans-unit id="b85c657469e5ec8231c3de99b22f437bc01ffde5" datatype="html">\n        <source>Pool type</source>\n        <target>Jenis pool</target>\n      </trans-unit>\n      <trans-unit id="526c5443254c3b126eedb264840ffe827727bfd3" datatype="html">\n        <source>-- Select a pool type --</source>\n        <target>-- Pilih jenis pool --</target>\n      </trans-unit>\n      <trans-unit id="0aa21053410a94aa61d16985a4e95fd65523430d" datatype="html">\n        <source>Placement groups</source>\n        <target>Grup penempatan</target>\n      </trans-unit>\n      <trans-unit id="6301f1391d726f8f450bb358058534db19541ca9" datatype="html">\n        <source>At least one placement group is needed!</source>\n        <target>Dibutuhkan setidaknya satu grup penempatan!</target>\n      </trans-unit>\n      <trans-unit id="ba9469a1ce6ed36e039c1f67247c8c81a5c71449" datatype="html">\n        <source>Your cluster can\'t handle this many PGs. Please recalculate the PG amount needed.</source>\n        <target>Klaster Anda tidak dapat menangani PG sebanyak ini. Mohon hitung ulang jumlah PG yang dibutuhkan.</target>\n      </trans-unit>\n      <trans-unit id="80ac68cd883369dac20688bc32b4cb33291b5e50" datatype="html">\n        <source>Calculation help</source>\n        <target>Bantuan penghitungan</target>\n      </trans-unit>\n      <trans-unit id="fccbd60493df26705d957ed6c02a3c447894678f" datatype="html">\n        <source>The current PGs settings were calculated for you, you\n                should make sure the values suit your needs before submit.</source>\n        <target>The current PGs settings were calculated for you, you\n                should make sure the values suit your needs before submit.</target>\n      </trans-unit>\n      <trans-unit id="33150f22ce5348aa6c499bd092c3f4f3695d62cc" datatype="html">\n        <source>Crush ruleset</source>\n        <target>Aturan CRUSH</target>\n      </trans-unit>\n      <trans-unit id="73a6b31116b3cc322af951daa0bafdc169e6c42e" datatype="html">\n        <source>-- Select a crush rule --</source>\n        <target>-- Pilih aturan crush --</target>\n      </trans-unit>\n      <trans-unit id="92da80699921e89fb19372e25b8d0f3b9fa427fc" datatype="html">\n        <source>Crush rule</source>\n        <target>Aturan crush</target>\n      </trans-unit>\n      <trans-unit id="5489e9f96835f469f6f728a00d8efa88ea5bc940" datatype="html">\n        <source>Crush steps</source>\n        <target>Crush steps</target>\n      </trans-unit>\n      <trans-unit id="54a53b1b402aafff5b992ee9b64e409fbfe9074f" datatype="html">\n        <source>The rule can\'t be used in the current cluster as it has\n                to few OSDs to meet the minimum required OSD by this rule.</source>\n        <target>Aturan crush tidak dapat digunakan di klaster ini karena\njumlah OSD terlalu sedikit untuk memenuhi syarat minimal OSD untuk aturan ini.</target>\n      </trans-unit>\n      <trans-unit id="a43b2695131b48b76cebba676aba98a2bee17515" datatype="html">\n        <source>Replicated size</source>\n        <target>Jumlah replikasi</target>\n      </trans-unit>\n      <trans-unit id="7bff144a4c4dc63b0e18fff2617d61a7ebdf2b6c" datatype="html">\n        <source>Minimum: \n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/>\n        </source>\n        <target>Minimum: \n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="1a9c54b41f6d58a74e5d0aa3429ed0c87a482551" datatype="html">\n        <source>Maximum: \n          <x id="INTERPOLATION" equiv-text="{{ getMaxSize() }}"/>\n        </source>\n        <target>Maximum: \n          <x id="INTERPOLATION" equiv-text="{{ getMaxSize() }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6ab647b95bd2347ae6f4605576de5e0269fb893a" datatype="html">\n        <source>The size specified is out of range. A value from\n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/> to \n          <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.\n        </source>\n        <target>The size specified is out of range. A value from\n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/> to \n          <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.\n        </target>\n      </trans-unit>\n      <trans-unit id="9de7dde00e2139cc4bd03b1837afbe72ad15a1ff" datatype="html">\n        <source>Erasure code profile</source>\n        <target>Profil erasure code</target>\n      </trans-unit>\n      <trans-unit id="39b4620e6bd444e0a57a0a5c03fa8c96d7fe5235" datatype="html">\n        <source>-- No erasure code profile available --</source>\n        <target>-- Tidak ada profil erasure code --</target>\n      </trans-unit>\n      <trans-unit id="498561757390d5528b263ce450d5f38efb00266d" datatype="html">\n        <source>-- Select an erasure code profile --</source>\n        <target>-- Pilih profil erasure code --</target>\n      </trans-unit>\n      <trans-unit id="920617c6a1a4805e53bcb5af6a9c76f8387e89c6" datatype="html">\n        <source>Flags</source>\n        <target>Flag</target>\n      </trans-unit>\n      <trans-unit id="1c870fb00256b8a5b9cb9cd1a124e6390b9bc639" datatype="html">\n        <source>EC Overwrites</source>\n        <target>EC Overwrites</target>\n      </trans-unit>\n      <trans-unit id="f1abafaeb40ce52355ddcc24686e3cd17b64e08a" datatype="html">\n        <source>Applications</source>\n        <target>Aplikasi</target>\n      </trans-unit>\n      <trans-unit id="2208d63d5940ce656006a220102b1eb2b5e553da" datatype="html">\n        <source>Compression</source>\n        <target>Kompresi</target>\n      </trans-unit>\n      <trans-unit id="37e10df2d9c0c25ef04ac112c9c9a7723e8efae0" datatype="html">\n        <source>Mode</source>\n        <target>Mode</target>\n      </trans-unit>\n      <trans-unit id="6c6f25c47da62ec597c6057a36ddfc3209811ec5" datatype="html">\n        <source>Algorithm</source>\n        <target>Algoritma</target>\n      </trans-unit>\n      <trans-unit id="4903231d42089325a28892c0fde1aed46b733ae6" datatype="html">\n        <source>-- No erasure compression algorithm available --</source>\n        <target>-- Tidak ada algoritma pengompresian erasure --</target>\n      </trans-unit>\n      <trans-unit id="5d68ddb254275f8f44221e9ad6d8ceeb59ca46a6" datatype="html">\n        <source>Minimum blob size</source>\n        <target>Ukuran blob minimum</target>\n      </trans-unit>\n      <trans-unit id="fb2f176df80647137cbb02bbeb29e5dec707a400" datatype="html">\n        <source>e.g., 128KiB</source>\n        <target>cth. 128KiB</target>\n      </trans-unit>\n      <trans-unit id="1b7f6e53a4521c6eb3ced4c007fdd4cf80bb7707" datatype="html">\n        <source>Value should be greater than 0</source>\n        <target>Nilai harus lebih besar dari 0</target>\n      </trans-unit>\n      <trans-unit id="8db98ab14b4e207ec763dfdefbc2dae367aab1cc" datatype="html">\n        <source>Value should be less than the maximum blob size</source>\n        <target>Value should be less than the maximum blob size</target>\n      </trans-unit>\n      <trans-unit id="151efb127a9a4dd25259a0b2055442318a141f5b" datatype="html">\n        <source>Maximum blob size</source>\n        <target>Ukuran maksimum blob</target>\n      </trans-unit>\n      <trans-unit id="0c656f0e346bbadf46eb1a5d20d0307a3bd20ba8" datatype="html">\n        <source>e.g., 512KiB</source>\n        <target>cth. 512KiB</target>\n      </trans-unit>\n      <trans-unit id="0a65a24eee8a026f3b1113fe9e157e9a0dd69486" datatype="html">\n        <source>Value should be greater than the minimum blob size</source>\n        <target>Nilai harus lebih besar dari ukuran minimum blob</target>\n      </trans-unit>\n      <trans-unit id="261ba09c4a59de83f48f52a23fd328da37e61ff4" datatype="html">\n        <source>Ratio</source>\n        <target>Rasio</target>\n      </trans-unit>\n      <trans-unit id="c1430457a9c3c66366e51d76bf10396014c576be" datatype="html">\n        <source>Compression ratio</source>\n        <target>Rasio kompresi</target>\n      </trans-unit>\n      <trans-unit id="ae5ce6de352cde949998fb10754459c3a4eb183b" datatype="html">\n        <source>Value should be between 0.0 and 1.0</source>\n        <target>Nilai harus antara 0.0 dan 1.0</target>\n      </trans-unit>\n      <trans-unit id="8bb8293aa8161433778762ae025ffd5e7c85795e" datatype="html">\n        <source>Quotas</source>\n        <target>Quotas</target>\n      </trans-unit>\n      <trans-unit id="d99b34162c9c34f10d0ccd8dbae83d8569c2db77" datatype="html">\n        <source>Max bytes</source>\n        <target>Max bytes</target>\n      </trans-unit>\n      <trans-unit id="a1d14a18879c62f3f4ed705318b7164a1160e249" datatype="html">\n        <source>Leave it blank or specify 0 to disable this quota.</source>\n        <target>Leave it blank or specify 0 to disable this quota.</target>\n      </trans-unit>\n      <trans-unit id="7565b131562ff6c5f769fdbd239a772154abdd97" datatype="html">\n        <source>A valid quota should be greater than 0.</source>\n        <target>A valid quota should be greater than 0.</target>\n      </trans-unit>\n      <trans-unit id="f0016bd458baa88284a658ce9eeda42d8ad88d2c" datatype="html">\n        <source>e.g., 10GiB</source>\n        <target>cth. 10GiB</target>\n      </trans-unit>\n      <trans-unit id="b8bf35b66f09a301eef92ffc3cb2fd259df67ce9" datatype="html">\n        <source>Max objects</source>\n        <target>Max objects</target>\n      </trans-unit>\n      <trans-unit id="95f348167622d832c5ae532b6944635c8e2ae5cb" datatype="html">\n        <source>The value should be greater or equal to 0</source>\n        <target>The value should be greater or equal to 0</target>\n      </trans-unit>\n      <trans-unit id="fbbaf5cb02ed419e79a27072478f716a4666a99d" datatype="html">\n        <source>Performance Details</source>\n        <target>Detail Performa</target>\n      </trans-unit>\n      <trans-unit id="3938a411d76796f8ae73b72ea4c77661207453bd" datatype="html">\n        <source>Cache Tiers Details</source>\n        <target>Detil Cache Bertingkat</target>\n      </trans-unit>\n      <trans-unit id="f0b5d789d42c0e69348e5fe0037fcbf5b5fbbdcc" datatype="html">\n        <source>Move an image to trash</source>\n        <target>Pindahkan image ke tempat sampah</target>\n      </trans-unit>\n      <trans-unit id="86301cf2044b1eda218483365f6b9de8dde5040b" datatype="html">\n        <source>To move \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{ imageName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,\n          click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optionally, you can pick an expiration date.\n        </source>\n        <target>To move \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{ imageName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,\n          click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optionally, you can pick an expiration date.\n        </target>\n      </trans-unit>\n      <trans-unit id="88f27d390844aad53b4240360e928156c5f0d326" datatype="html">\n        <source>Protection expires at</source>\n        <target>Proteksi berakhir pada</target>\n      </trans-unit>\n      <trans-unit id="da166e9a0d27322f6ba8916d71ecc0f9905bb4b1" datatype="html">\n        <source>NOT PROTECTED</source>\n        <target>TIDAK DIPROTEKSI</target>\n      </trans-unit>\n      <trans-unit id="a1506e5f2ca22cad14502ec7a20fb6113ace145d" datatype="html">\n        <source>Wrong date format. Please use "YYYY-MM-DD HH:mm:ss".</source>\n        <target>Format tanggal salah. Mohon gunakan "TTTT-BB-HH JJ:mm:dd".</target>\n      </trans-unit>\n      <trans-unit id="aa7ea0bb7495281e0b3258467ac7d90a1e44a1a1" datatype="html">\n        <source>Protection has already expired. Please pick a future date or leave it empty.</source>\n        <target>Proteksi telah kedaluarsa. Mohon pilih tanggal masa mendatang atau kosongkan.</target>\n      </trans-unit>\n      <trans-unit id="536b3205c0c0d4d21685ec06feccfcf2fe14deb1" datatype="html">\n        <source>Move Image</source>\n        <target>Pindahkan Image</target>\n      </trans-unit>\n      <trans-unit id="8a9910cd114c1deb9af74f6f99b4173403965bf2" datatype="html">\n        <source>Gateways</source>\n        <target>Gateways</target>\n      </trans-unit>\n      <trans-unit id="8835b9e49a3348b0a2f2162c21118af1f4bee45a" datatype="html">\n        <source>Must be greater than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'min\'] }}"/>.\n        </source>\n        <target>Must be greater than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'min\'] }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="bbddac59563c8c126e3fe28691e4e247614fcbd1" datatype="html">\n        <source>Must be less than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'max\'] }}"/>.\n        </source>\n        <target>Must be less than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'max\'] }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="e95ae009d0bdb45fcc656e8b65248cf7396080d5" datatype="html">\n        <source>Overview</source>\n        <target>Ikhtisar</target>\n      </trans-unit>\n      <trans-unit id="bbd2045d5c37e4bb39a3c0fb62ea1ddf70a12838" datatype="html">\n        <source>Targets</source>\n        <target>Target</target>\n      </trans-unit>\n      <trans-unit id="6803e31b7395d94934e091a49a9524026b59b018" datatype="html">\n        <source>Discovery Authentication</source>\n        <target>Otentikasi Discovery</target>\n      </trans-unit>\n      <trans-unit id="e08a77594f3d89311cdf6da5090044270909c194" datatype="html">\n        <source>User</source>\n        <target>Pengguna</target>\n      </trans-unit>\n      <trans-unit id="0214f773f8e394f50f953f39962e352d7863e959" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n              can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Nama pengguna harus terdiri dari 8 hingga 64 karakter dan\nhanya boleh mengandung huruf, \'.\', \'@\', \'-\', \'_\' atau \':\'.</target>\n      </trans-unit>\n      <trans-unit id="c32ef07f8803a223a83ed17024b38e8d82292407" datatype="html">\n        <source>Password</source>\n        <target>Kata sandi</target>\n      </trans-unit>\n      <trans-unit id="6682d1c00263bee204583a5d589b308b6be88b0f" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n              and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n              and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="ff40391de7a1944ea95091e4045cc34c4979b736" datatype="html">\n        <source>Mutual User</source>\n        <target>Pengguna Bersama</target>\n      </trans-unit>\n      <trans-unit id="0cf73dbebe99b737c4d288788182fc356e3c93d3" datatype="html">\n        <source>Mutual Password</source>\n        <target>Kata sandi bersama</target>\n      </trans-unit>\n      <trans-unit id="8800276925157c666b103c36ff7fe8ffe11980b4" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters and\n              can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters and\n              can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="53a583cd5f15059cc958b7d547f72cc78f68e123" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n    on how to configure and enable the iSCSI Targets management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n    on how to configure and enable the iSCSI Targets management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="3b301d0044f62c92af0da53d7aaca52a436a547d" datatype="html">\n        <source>Available information:</source>\n        <target>Informasi tersedia:</target>\n      </trans-unit>\n      <trans-unit id="332227f088a4877b3c11f5fb3ae8bc812c470fae" datatype="html">\n        <source>iSCSI Targets not available</source>\n        <target>iSCSI Target tidak tersedia</target>\n      </trans-unit>\n      <trans-unit id="8414a5cb9d71cc1b21b10e4a9d1f2dad558f3361" datatype="html">\n        <source>Discovery authentication</source>\n        <target>Discovery authentication</target>\n      </trans-unit>\n      <trans-unit id="0f6e8f6094b180eaf1f11bc0ffe383f1cdcd059e" datatype="html">\n        <source>Only available for RBD images with \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>fast-diff\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> enabled\n        </source>\n        <target>Only available for RBD images with \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>fast-diff\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> enabled\n        </target>\n      </trans-unit>\n      <trans-unit id="e70fcca5a99575cffef3ff8cbd5e69f06ffd0f1c" datatype="html">\n        <source>Pool</source>\n        <target>Pool</target>\n      </trans-unit>\n      <trans-unit id="03cc5b14b0a20d075e9009ff021f4f1660ba348a" datatype="html">\n        <source>Data Pool</source>\n        <target>Pool Data</target>\n      </trans-unit>\n      <trans-unit id="1b051734b0ee9021991c91b3ed4e81c244322462" datatype="html">\n        <source>Created</source>\n        <target>Dibuat</target>\n      </trans-unit>\n      <trans-unit id="7faaaa08f56427999f3be41df1093ce4089bbd75" datatype="html">\n        <source>Size</source>\n        <target>Ukuran</target>\n      </trans-unit>\n      <trans-unit id="afdb601c16162f2c798b16a2920955f1cc6a20aa" datatype="html">\n        <source>Objects</source>\n        <target>Objek</target>\n      </trans-unit>\n      <trans-unit id="ceac8e132384322ec778ba760875a6c6897d3e42" datatype="html">\n        <source>Object size</source>\n        <target>Ukuran objek</target>\n      </trans-unit>\n      <trans-unit id="6cdb1fea93d77c07950c0c76c6e0ad79ebbef084" datatype="html">\n        <source>Features</source>\n        <target>Fitur</target>\n      </trans-unit>\n      <trans-unit id="0a65771c9a73b9aa609d592fc96a64801a8f40bd" datatype="html">\n        <source>Provisioned</source>\n        <target>Disiapkan</target>\n      </trans-unit>\n      <trans-unit id="84a36cb75660b736773fe36ffa3d54f0f0fe363e" datatype="html">\n        <source>N/A</source>\n        <target>N/A</target>\n      </trans-unit>\n      <trans-unit id="e5c009342a4e8381f64341d0bb61c2e4685f5a4b" datatype="html">\n        <source>Total provisioned</source>\n        <target>Total disiapkan</target>\n      </trans-unit>\n      <trans-unit id="7f6bf8a43ae415f527ac961ea62471b983aaa97b" datatype="html">\n        <source>Striping unit</source>\n        <target>Unit setrip</target>\n      </trans-unit>\n      <trans-unit id="db710e8a8f011923f2d15d713fbae49c38b02b26" datatype="html">\n        <source>Striping count</source>\n        <target>Jumlah setrip</target>\n      </trans-unit>\n      <trans-unit id="3a4c2a9e76634ff14a60d52a718296f722d47c67" datatype="html">\n        <source>Parent</source>\n        <target>Induk</target>\n      </trans-unit>\n      <trans-unit id="6a209e68d78ffc2cc9c53d2e76158624efab71ad" datatype="html">\n        <source>Block name prefix</source>\n        <target>Awalan nama blok</target>\n      </trans-unit>\n      <trans-unit id="5704ec2049d007c5f5fb495a5d8b607e68d58081" datatype="html">\n        <source>Order</source>\n        <target>Urutan</target>\n      </trans-unit>\n      <trans-unit id="f21b1d17b6c5042bb5805516eee37fde33739dd8" datatype="html">\n        <source>Snapshots</source>\n        <target>Snapshot</target>\n      </trans-unit>\n      <trans-unit id="a5f9ba9bb9faa8284bcadb1cdbc6aaf969e9c4bb" datatype="html">\n        <source>Image</source>\n        <target>Image</target>\n      </trans-unit>\n      <trans-unit id="58e58f1a8786da9031a05e6770c5dafce82badf5" datatype="html">\n        <source>This setting overrides the global value</source>\n        <target>Pengaturan ini akan membatalkan nilai global</target>\n      </trans-unit>\n      <trans-unit id="5decb3917d46a9ac6e5813699801becb7c3c1455" datatype="html">\n        <source>Global</source>\n        <target>Global</target>\n      </trans-unit>\n      <trans-unit id="36b46714164964c6258b08ed0a25f57d8a950f92" datatype="html">\n        <source>This is the global value. No value for this option has been set for this image.</source>\n        <target>Ini adalah nilai global. Tidak ada nilai yang diset untuk image ini.</target>\n      </trans-unit>\n      <trans-unit id="6547c9c4d5f62942ac4b1fe459cf9a03d4dbf5a0" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/> from\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/> from\n        </target>\n      </trans-unit>\n      <trans-unit id="0e9ecf29a4fa5b057bd8052e0d801b3fde6a30bf" datatype="html">\n        <source>\'/\' and \'@\' are not allowed.</source>\n        <target>\'/\' dan \'@\' tidak diperbolehkan.</target>\n      </trans-unit>\n      <trans-unit id="b99417c4dd46286ffd37c8d2e987c8b512ec7052" datatype="html">\n        <source>-- No rbd pools available --</source>\n        <target>-- Tidak ada pool rbd tersedia --</target>\n      </trans-unit>\n      <trans-unit id="ef83ec9c304a89d45650e580dcdc2978c37b3a83" datatype="html">\n        <source>-- Select a pool --</source>\n        <target>-- Pilih pool --</target>\n      </trans-unit>\n      <trans-unit id="49449943d8cbf59d8c401c8bd2e76f92e207cc5f" datatype="html">\n        <source>Use a dedicated data pool</source>\n        <target>Gunakan pool data terdedikasi</target>\n      </trans-unit>\n      <trans-unit id="870aee0dd31a9643bf62007beb8f1ae1deb34d42" datatype="html">\n        <source>Data pool</source>\n        <target>Pool data</target>\n      </trans-unit>\n      <trans-unit id="3792ca829d9b9f687e1f5d7733d30e9bb0bfec47" datatype="html">\n        <source>Dedicated pool that stores the object-data of the RBD.</source>\n        <target>Pool terdedikasi yang menyimpan data-objek dari RBD.</target>\n      </trans-unit>\n      <trans-unit id="0a88bbee20570aaf9615332fb27020627044874d" datatype="html">\n        <source>You have to increase the size.</source>\n        <target>Anda harus menaikkan ukuran.</target>\n      </trans-unit>\n      <trans-unit id="bc2e854e111ecf2bd7db170da5e3c2ed08181d88" datatype="html">\n        <source>Advanced</source>\n        <target>Tingkat lanjut</target>\n      </trans-unit>\n      <trans-unit id="3562a3778695a5f9c0445660e35301f0a39aaf73" datatype="html">\n        <source>Striping</source>\n        <target>Setrip</target>\n      </trans-unit>\n      <trans-unit id="ef3c3f3b5f562a5cdbe0ee2874287db1534b5958" datatype="html">\n        <source>Stripe unit</source>\n        <target>Unit setrip</target>\n      </trans-unit>\n      <trans-unit id="84471be1049006edecbcaef1a32ae0893c229c50" datatype="html">\n        <source>-- Select stripe unit --</source>\n        <target>-- Pilih ukuran setrip --</target>\n      </trans-unit>\n      <trans-unit id="8d32c5c54c8581c774a7f467fbd4e329b15a74fa" datatype="html">\n        <source>This field is required because stripe count is defined!</source>\n        <target>Isian ini harus diisi karena jumlah setrip telah ditentukan!</target>\n      </trans-unit>\n      <trans-unit id="6bbf9040be7c5491d4a03f2185708f43a6582a3b" datatype="html">\n        <source>Stripe unit is greater than object size.</source>\n        <target>Unit setrip lebih besar dari ukuran objek.</target>\n      </trans-unit>\n      <trans-unit id="a682f49f9b761591661276d7c6f550e641a130a4" datatype="html">\n        <source>Stripe count</source>\n        <target>Jumlah setrip</target>\n      </trans-unit>\n      <trans-unit id="baa74031990c5370008ba622d0a250f0929097f4" datatype="html">\n        <source>This field is required because stripe unit is defined!</source>\n        <target>Isian wajib diisi karena unit setrip didefinisikan!</target>\n      </trans-unit>\n      <trans-unit id="cd2ada6d5ecbd5cbf89eae0a1f5326efedac0dbc" datatype="html">\n        <source>Stripe count must be greater than 0.</source>\n        <target>Jumlah setrip harus lebih besar dari 0.</target>\n      </trans-unit>\n      <trans-unit id="3f67f30568e9ae47507d46e28e1e82a7dca772e2" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> RBD Snapshot\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> RBD Snapshot\n        </target>\n      </trans-unit>\n      <trans-unit id="1628d19a4490817c18be2afab410ca4adfa62ea7" datatype="html">\n        <source>{VAR_SELECT, select, true {Rename} other {Create} }</source>\n        <target>{VAR_SELECT, select, true {Ganti nama} other {Buat} }</target>\n      </trans-unit>\n      <trans-unit id="73a287b41afe6b28f90edbeb98957a341a0276b4" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> Snapshot\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> Snapshot\n        </target>\n      </trans-unit>\n      <trans-unit id="cb60c1cd3655234756b5b92d4d597d92d520ee30" datatype="html">\n        <source>PROTECTED</source>\n        <target>PROTECTED</target>\n      </trans-unit>\n      <trans-unit id="deffb86b8fb0541254ad5a43862d82bff6b6a6c4" datatype="html">\n        <source>UNPROTECTED</source>\n        <target>TIDAK DIPROTEKSI</target>\n      </trans-unit>\n      <trans-unit id="5c5331983af566d4ac6a1024d15a3511786a4aa6" datatype="html">\n        <source>You are about to rollback</source>\n        <target>Anda akan mengembalikan semula</target>\n      </trans-unit>\n      <trans-unit id="49c0408946a6d67185947f455f15cc201d0d78e6" datatype="html">\n        <source>Purge Trash</source>\n        <target>Kosongkan Tempah Sampah</target>\n      </trans-unit>\n      <trans-unit id="af728625d769b61acf291442644b89edb88faec3" datatype="html">\n        <source>To purge, select one or All images and click</source>\n        <target>Untuk menghapus, pilih satu atau Semua image dan pilih</target>\n      </trans-unit>\n      <trans-unit id="55a4f598a4894b7fd5cb88f0ffd3c37ad009dd70" datatype="html">\n        <source>Pool:</source>\n        <target>Pool:</target>\n      </trans-unit>\n      <trans-unit id="d43dd2b9f7797e4cf3a604695bb33e4479108516" datatype="html">\n        <source>Pool name...</source>\n        <target>Nama Pool...</target>\n      </trans-unit>\n      <trans-unit id="dfc3c34e182ea73c5d784ff7c8135f087992dac1" datatype="html">\n        <source>All</source>\n        <target>Semua</target>\n      </trans-unit>\n      <trans-unit id="b0e7c7ed1d51a0c205c815048bc9f79e24ee6db2" datatype="html">\n        <source>Restore Image</source>\n        <target>Pulihkan Image</target>\n      </trans-unit>\n      <trans-unit id="7369384817e0ad61ce871c9afdfbb538df2f97c1" datatype="html">\n        <source>To restore</source>\n        <target>Untuk memulihkan</target>\n      </trans-unit>\n      <trans-unit id="e7f0abefc608f7fb452c2dc9b1cdc3dec432160e" datatype="html">\n        <source>type the image\'s new name and click</source>\n        <target>ketik nama baru image dan pilih</target>\n      </trans-unit>\n      <trans-unit id="41307dd56fea669eed72e12a6c23af275f6bfd82" datatype="html">\n        <source>New Name</source>\n        <target>Nama Baru</target>\n      </trans-unit>\n      <trans-unit id="5c96a761dc55a21882c132c929583a424c9b8cf4" datatype="html">\n        <source>Expired at</source>\n        <target>Kedaluwarsa pada</target>\n      </trans-unit>\n      <trans-unit id="661041e3fcff4d3e75c561e038ca2504cf2cc643" datatype="html">\n        <source>Protected until</source>\n        <target>Diproteksi hingga</target>\n      </trans-unit>\n      <trans-unit id="0ee3b2322a1d3277f7e3fdb8a5141ac42bcf350b" datatype="html">\n        <source>This image is protected until \n          <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.\n        </source>\n        <target>This image is protected until \n          <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="aba82bfd8e177d35b76cad7cd43941f8e5e5acac" datatype="html">\n        <source>Trash</source>\n        <target>Tempat sampah</target>\n      </trans-unit>\n      <trans-unit id="a674ab267d1934bf395f87ca1503fd474296893f" datatype="html">\n        <source>iSCSI Topology</source>\n        <target>Topologi iSCSI</target>\n      </trans-unit>\n      <trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html">\n        <source>Settings</source>\n        <target>Pengaturan</target>\n      </trans-unit>\n      <trans-unit id="9e515f954730279c31d5301f02479666d6264e8b" datatype="html">\n        <source>Changing these parameters from their default values is usually not necessary.</source>\n        <target>Mengganti parameter ini dari nilai bawaan biasanya tidak diperlukan.</target>\n      </trans-unit>\n      <trans-unit id="69a47cbabcc51ca942606e1d8da0ec11f98a2690" datatype="html">\n        <source>Backstore</source>\n        <target>Backstore</target>\n      </trans-unit>\n      <trans-unit id="68e710782ccb5398b3acb8844caf0b199da2c3da" datatype="html">\n        <source>Confirm</source>\n        <target>Konfirmasi</target>\n      </trans-unit>\n      <trans-unit id="339878da255ab55447c43afef8d9b2f9753bf5f6" datatype="html">\n        <source>Advanced Settings</source>\n        <target>Pengaturan Lanjut</target>\n      </trans-unit>\n      <trans-unit id="1406c2fb12a20c1528b19bcc5e24a6a2386167f3" datatype="html">\n        <source>Target IQN</source>\n        <target>Target IQN</target>\n      </trans-unit>\n      <trans-unit id="5fe42339be910372fa689f559155631862d218e8" datatype="html">\n        <source>IQN has wrong pattern.</source>\n        <target>Pola IQN salah.</target>\n      </trans-unit>\n      <trans-unit id="050a7ff057d1e895357540406b6be5652b4d1c71" datatype="html">\n        <source>An IQN has the following notation\n                \'iqn.$year-$month.$reversedAddress:$definedName\'</source>\n        <target>An IQN has the following notation\n                \'iqn.$year-$month.$reversedAddress:$definedName\'</target>\n      </trans-unit>\n      <trans-unit id="c8ada4b53396d8366db00a435acc61d53d857047" datatype="html">\n        <source>For example: iqn.2016-06.org.dashboard:storage:disk.sn-a8675309</source>\n        <target>Contoh: iqn.2016-06.org.dashboard:storage:disk.sn-a8675309</target>\n      </trans-unit>\n      <trans-unit id="e60c11e1b1dfbbeda577364b8de39ded2d796c5e" datatype="html">\n        <source>More information</source>\n        <target>Informasi lainnya</target>\n      </trans-unit>\n      <trans-unit id="9b1aa85dfc6849196e64060db02c5410de69b7a1" datatype="html">\n        <source>This target has modified advanced settings.</source>\n        <target>Pengaturan lanjutan target ini telah dimodifikasi.</target>\n      </trans-unit>\n      <trans-unit id="6990ad8d6182662e864495ac31c3758cda1c7a28" datatype="html">\n        <source>Portals</source>\n        <target>Portal</target>\n      </trans-unit>\n      <trans-unit id="c3638c01b6c34066438909713ec96087c813fc7e" datatype="html">\n        <source>At least \n          <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.\n        </source>\n        <target>At least \n          <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.\n        </target>\n      </trans-unit>\n      <trans-unit id="6a3ac2b4137d723fd9878cd357c2012ff6c07973" datatype="html">\n        <source>Add portal</source>\n        <target>Tambahkan portal</target>\n      </trans-unit>\n      <trans-unit id="9aff25be088f0efe3eaaf62edf2bff41cc41a617" datatype="html">\n        <source>Backstore: \n          <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. \n        </source>\n        <target>Backstore: \n          <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. \n        </target>\n      </trans-unit>\n      <trans-unit id="e3484cae8b118c576ca2815bf9c9406c2eb2cae3" datatype="html">\n        <source>This image has modified settings.</source>\n        <target>Pengaturan Image ini telah dimodifikasi.</target>\n      </trans-unit>\n      <trans-unit id="107c84e820909b44fe258673938a68ced1bbff72" datatype="html">\n        <source>At least 1 image is required.</source>\n        <target>Dibutuhkan minimal 1 image.</target>\n      </trans-unit>\n      <trans-unit id="808038f912fdc7f0e03f82d4afd3bf9178527fc8" datatype="html">\n        <source>Add image</source>\n        <target>Tambahkan image</target>\n      </trans-unit>\n      <trans-unit id="66c5fb27f52e75b70ca4b670b9b15a2a51cf9543" datatype="html">\n        <source>ACL authentication</source>\n        <target>Otentikasi ACL</target>\n      </trans-unit>\n      <trans-unit id="419c8b402609dcf49ae4932a5a4647dc8d79bbaf" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n                can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Usernames must have a length of 8 to 64 characters and\n                can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</target>\n      </trans-unit>\n      <trans-unit id="938050960d6653fddfcfd42425e18fb35a308262" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n                and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n                and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="f494bd31f095f6dcc656ce87ec2dcf07a2e9b30c" datatype="html">\n        <source>Initiators</source>\n        <target>Inisiator</target>\n      </trans-unit>\n      <trans-unit id="e98239d8a6be1100119ff4b5630c822b82786740" datatype="html">\n        <source>Initiator</source>\n        <target>Inisiator</target>\n      </trans-unit>\n      <trans-unit id="f2c5059d8cda15d8d03e2cce30f2d139623d9a91" datatype="html">\n        <source>Client IQN</source>\n        <target>Klien IQN</target>\n      </trans-unit>\n      <trans-unit id="107d5aabce23d900f0a80e6ddc1c10e29aa0bed8" datatype="html">\n        <source>Initiator IQN needs to be unique.</source>\n        <target>Inisiator IQN harus unik.</target>\n      </trans-unit>\n      <trans-unit id="bbf0b34a3fcc80800fcb44b9e1e86931a530dfe3" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n                        can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Nama pengguna harus terdiri atas 8 hingga 64 karakter dan\nhanya boleh mengandung huruf, \'.\', \'@\', \'-\', \'_\' atau \':\'.</target>\n      </trans-unit>\n      <trans-unit id="fdfee5d7a27e1bdd97a176097277bee078de6aaf" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n                        and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n                        and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="8406eb7415ee40e54d9ecb209abb056f06e3d666" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters and\n                        can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters and\n                        can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="5d1878d5fc761cbe9614bfd87047a740c82a6951" datatype="html">\n        <source>Initiator belongs to a group. Images will be configure in the group.</source>\n        <target>Inisiator termasuk ke dalam grup. Image akan dikonfigurasi di dalam grup.</target>\n      </trans-unit>\n      <trans-unit id="c0de67b9d97fafbf200f9451e8388ee8128a56ac" datatype="html">\n        <source>No items added.</source>\n        <target>Tidak ada yang ditambahkan.</target>\n      </trans-unit>\n      <trans-unit id="d565e47726158e428ecdc952fc9233b9b7d7f049" datatype="html">\n        <source>Add initiator</source>\n        <target>Tambahkan inisiator</target>\n      </trans-unit>\n      <trans-unit id="c22ba03540aa3217da059f45e7eab138b51a96e2" datatype="html">\n        <source>Groups</source>\n        <target>Grup</target>\n      </trans-unit>\n      <trans-unit id="4c90059afafb7e160384d9f512797c95bb95c6dc" datatype="html">\n        <source>Group</source>\n        <target>Grup</target>\n      </trans-unit>\n      <trans-unit id="3084948274cff4f56d0f431af47240e9cf02fcc7" datatype="html">\n        <source>Add group</source>\n        <target>Tambahkan grup</target>\n      </trans-unit>\n      <trans-unit id="66db799d67958d4b0765181d072df62e2d1c16f5" datatype="html">\n        <source>Issues</source>\n        <target>Masalah</target>\n      </trans-unit>\n      <trans-unit id="ef06d69259e587e28d52372455f44c7153cda7e7" datatype="html">\n        <source>Syncing</source>\n        <target>Menyinkronkan</target>\n      </trans-unit>\n      <trans-unit id="0b0901877d837d3fda16ba161eb74368d1c75b7a" datatype="html">\n        <source>Ready</source>\n        <target>Siap</target>\n      </trans-unit>\n      <trans-unit id="4057c56d63a7e9b140b1d01871a9229a5f30eb27" datatype="html">\n        <source>Edit pool mirror mode</source>\n        <target>Edit mode pencerminan pool</target>\n      </trans-unit>\n      <trans-unit id="e1f367f5feaab38f6637dd1f967c848b447dea2d" datatype="html">\n        <source>To edit the mirror mode for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>, select a new mode from the list and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>To edit the mirror mode for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>, select a new mode from the list and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="32ca348ef926b0a6a7a780b8b64c3a8239895cec" datatype="html">\n        <source>Peer clusters must be removed prior to disabling mirror.</source>\n        <target>Klaster mitra harus dihapus sebelum menonaktfikan pencerminan.</target>\n      </trans-unit>\n      <trans-unit id="fa61522d482349707fd7dd03b90dc5781611b17f" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/>\n  pool mirror peer\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/>\n  pool mirror peer\n        </target>\n      </trans-unit>\n      <trans-unit id="4ddcb416c1c0aa1f54acf5beef1de81813e76fa6" datatype="html">\n        <source>{VAR_SELECT, select, edit {Edit} other {Add} }</source>\n        <target>{VAR_SELECT, select, edit {Edit} other {Tambah} }</target>\n      </trans-unit>\n      <trans-unit id="59ca65ece457429d90104ede4674965f62edbabe" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/> the pool\n          mirror peer attributes for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> and click\n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Submit\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/> the pool\n          mirror peer attributes for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> and click\n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Submit\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="d3cc964811f852a168f4a2d5daa59068abc5cf53" datatype="html">\n        <source>Cluster Name</source>\n        <target>Nama Klaster</target>\n      </trans-unit>\n      <trans-unit id="b631721fc56cb7fb1cbd07b802a487c5753f6a2d" datatype="html">\n        <source>The cluster name is not valid.</source>\n        <target>Nama klaster tidak valid.</target>\n      </trans-unit>\n      <trans-unit id="ca6deafa31bf421f85094807982aee4bcb20a3ae" datatype="html">\n        <source>CephX ID</source>\n        <target>CephX ID</target>\n      </trans-unit>\n      <trans-unit id="7539188a568c3d553cbde1bacaf32310c4264e24" datatype="html">\n        <source>CephX ID...</source>\n        <target>CephX ID...</target>\n      </trans-unit>\n      <trans-unit id="a1c45b594b0fba22fc64e80c793a7ffe005fdb0e" datatype="html">\n        <source>The CephX ID is not valid.</source>\n        <target>CephX ID tidak valid.</target>\n      </trans-unit>\n      <trans-unit id="20861576fcfce773c918c782cd4f5adf32382921" datatype="html">\n        <source>Monitor Addresses</source>\n        <target>Alamat Monitor</target>\n      </trans-unit>\n      <trans-unit id="fa28eeed2b4bd4ccbe6e9349a1c2b3cb1c5de70a" datatype="html">\n        <source>Comma-delimited addresses...</source>\n        <target>Alamat dengan pemisah-koma...</target>\n      </trans-unit>\n      <trans-unit id="dc016c82fd85848d5c1b2fd0e8469ee2027d9c16" datatype="html">\n        <source>The monitory address is not valid.</source>\n        <target>Alamat monitor tidak valid.</target>\n      </trans-unit>\n      <trans-unit id="e0ac55b83dc6739e62bc655cfe375b67c93e7f4a" datatype="html">\n        <source>CephX Key</source>\n        <target>CephX Key</target>\n      </trans-unit>\n      <trans-unit id="f53434bcb95bd86f1df9c8e22966f757614fc4ad" datatype="html">\n        <source>Base64-encoded key...</source>\n        <target>Base64-encoded key...</target>\n      </trans-unit>\n      <trans-unit id="4cd83164cd4f66b4abc2863f9ce6f599d789e4ca" datatype="html">\n        <source>CephX key must be base64 encoded.</source>\n        <target>Kunci CephX harus base64 encoded.</target>\n      </trans-unit>\n      <trans-unit id="ca53d681a9892d6fdbb57ee9676582186515e961" datatype="html">\n        <source>Performance counters not available</source>\n        <target>Penghitung kinerja tidak tersedia</target>\n      </trans-unit>\n      <trans-unit id="9424badb7e0c6ac792d020d7830645b529a80aad" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the Object Gateway management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the Object Gateway management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="479488ab6e91ecb375484edc78bee3d13467f33f" datatype="html">\n        <source>Daemons List</source>\n        <target>Daftar Daemon</target>\n      </trans-unit>\n      <trans-unit id="eeba399c4dae8d4890c27b7a2cd2dc28fcf8b5f9" datatype="html">\n        <source>Performance Counters</source>\n        <target>Penghitung Performa</target>\n      </trans-unit>\n      <trans-unit id="5f67f2247b9c6bbaf24a0f2d37f4ac0537c6fa53" datatype="html">\n        <source>Loading bucket data...</source>\n        <target>Memuat data buket...</target>\n      </trans-unit>\n      <trans-unit id="2798cc1e152b1ec07fd8daf94a2a073d1ba1ebcc" datatype="html">\n        <source>Id</source>\n        <target>Id</target>\n      </trans-unit>\n      <trans-unit id="db4e1a734518691b128ef40b939cc673f01d03a6" datatype="html">\n        <source>The value is not valid.</source>\n        <target>Nilai tidak valid.</target>\n      </trans-unit>\n      <trans-unit id="eabb4db920d9f9b2480cf438468b86e1bea02a9b" datatype="html">\n        <source>The chosen name is already in use.</source>\n        <target>Nama yang dipilih sudah digunakan.</target>\n      </trans-unit>\n      <trans-unit id="0ee5132a8da30e0b7f9f5c70dbc91928d17dd909" datatype="html">\n        <source>Owner</source>\n        <target>Pemilik</target>\n      </trans-unit>\n      <trans-unit id="8e4c918357c7445fbf19a203e5f0f0ece1960b3b" datatype="html">\n        <source>-- Select a user --</source>\n        <target>-- Pilih pengguna --</target>\n      </trans-unit>\n      <trans-unit id="a4aab1f837bc8ec222e4f25922465d1c5929a1fc" datatype="html">\n        <source>Placement target</source>\n        <target>Placement target</target>\n      </trans-unit>\n      <trans-unit id="6bae0a7fc2c9c1fde7d937a8a1a3c7e6825cf7d1" datatype="html">\n        <source>-- Select a placement target --</source>\n        <target>-- Select a placement target --</target>\n      </trans-unit>\n      <trans-unit id="efeade5060b3add63863c24871f0830fb16b7e6d" datatype="html">\n        <source>Versioning</source>\n        <target>Versioning</target>\n      </trans-unit>\n      <trans-unit id="f50a33d3c339f8f4a465141f8caa5d2d8c005251" datatype="html">\n        <source>Enabled</source>\n        <target>Diaktifkan</target>\n      </trans-unit>\n      <trans-unit id="016d24e069e7d505a090fb8243e5cd43b35dc39b" datatype="html">\n        <source>Enables versioning for the objects in the bucket.</source>\n        <target>Enables versioning for the objects in the bucket.</target>\n      </trans-unit>\n      <trans-unit id="92f3f203270a29b3001871153f02c063484a1574" datatype="html">\n        <source>Suspended</source>\n        <target>Dihentikan</target>\n      </trans-unit>\n      <trans-unit id="cd6a798fd0f85cd7e31a57c58074f25035d7850d" datatype="html">\n        <source>Disables versioning for the objects in the bucket.</source>\n        <target>Disables versioning for the objects in the bucket.</target>\n      </trans-unit>\n      <trans-unit id="45cc8ca94b5a50842a9a8ef804a5ab089a38ae5c" datatype="html">\n        <source>ID</source>\n        <target>ID</target>\n      </trans-unit>\n      <trans-unit id="e5c51963a9c553b29427ef783bbb69fa6634fa8c" datatype="html">\n        <source>Index type</source>\n        <target>Jenis indeks</target>\n      </trans-unit>\n      <trans-unit id="8e6f950a32eaea32ec7e192f9ca3d3dfe469d4ba" datatype="html">\n        <source>Placement rule</source>\n        <target>Aturan penempatan</target>\n      </trans-unit>\n      <trans-unit id="6972d213e31c4ea4f887e60db99d9881bc8fcd3e" datatype="html">\n        <source>Marker</source>\n        <target>Penanda</target>\n      </trans-unit>\n      <trans-unit id="47b02acd2d3254d1ace1926f840523f154ebef71" datatype="html">\n        <source>Maximum marker</source>\n        <target>Penanda maksimum</target>\n      </trans-unit>\n      <trans-unit id="8fe73a4787b8068b2ba61f54ab7e0f9af2ea1fc9" datatype="html">\n        <source>Version</source>\n        <target>Versi</target>\n      </trans-unit>\n      <trans-unit id="092fa3a7df9168b14d3f83a77a4035e92b92ce15" datatype="html">\n        <source>Master version</source>\n        <target>Versi Master</target>\n      </trans-unit>\n      <trans-unit id="97434cc5001d407f90c7447a12d9e8e6848a2aa3" datatype="html">\n        <source>Modification time</source>\n        <target>Modifikasi waktu</target>\n      </trans-unit>\n      <trans-unit id="90fe2e41e7fde38453ce4e619efeea9bc6adea9c" datatype="html">\n        <source>Zonegroup</source>\n        <target>Zona grup</target>\n      </trans-unit>\n      <trans-unit id="649a410bd0ace333d067d8fa22f12bdbdb43533b" datatype="html">\n        <source>Bucket quota</source>\n        <target>Kuota Buket</target>\n      </trans-unit>\n      <trans-unit id="cef1595d040e77cbb4466e60382028d4c2040cac" datatype="html">\n        <source>Maximum size</source>\n        <target>Ukuran maksimum</target>\n      </trans-unit>\n      <trans-unit id="aa6fb95c355f172bda303de1ce2f38c251a149cf" datatype="html">\n        <source>Unlimited</source>\n        <target>Tak terbatas</target>\n      </trans-unit>\n      <trans-unit id="ee862a800364b4d11f9b8cb9955a28a60f840a45" datatype="html">\n        <source>Maximum objects</source>\n        <target>Objek maksimum</target>\n      </trans-unit>\n      <trans-unit id="08c74dc9762957593b91f6eb5d65efdfc975bf48" datatype="html">\n        <source>Username</source>\n        <target>Nama pengguna</target>\n      </trans-unit>\n      <trans-unit id="49c614babd1950adb2be75df4e2c9747286d6adc" datatype="html">\n        <source>-- Select a username --</source>\n        <target>-- Pilih nama pengguna --</target>\n      </trans-unit>\n      <trans-unit id="c217ee914725a37e9dd2336c721c8e63e9666bdc" datatype="html">\n        <source>Auto-generate key</source>\n        <target>Kunci otomatis-dibuat</target>\n      </trans-unit>\n      <trans-unit id="2f1c1c0f2bce4c9f92d1a2061e8161cb0006c31a" datatype="html">\n        <source>Access key</source>\n        <target>Kunci akses</target>\n      </trans-unit>\n      <trans-unit id="b864acb67296a9819c1db0069c4c47d8b5ce8f44" datatype="html">\n        <source>Secret key</source>\n        <target>Kunci rahasia</target>\n      </trans-unit>\n      <trans-unit id="b760f123248930122fc7e7b6b6bf94e376e959c8" datatype="html">\n        <source>Full name</source>\n        <target>Nama lengkap</target>\n      </trans-unit>\n      <trans-unit id="69b6ac577a19acc39fc0c22342092f327fff2529" datatype="html">\n        <source>Email address</source>\n        <target>Alamat email</target>\n      </trans-unit>\n      <trans-unit id="8011e20c5bbe51602d459a860fbf29b599b55edd" datatype="html">\n        <source>System</source>\n        <target>Sistem</target>\n      </trans-unit>\n      <trans-unit id="db18a2772988415466a7f75dc42663ce78c9c1d3" datatype="html">\n        <source>Maximum buckets</source>\n        <target>Buket maksimum</target>\n      </trans-unit>\n      <trans-unit id="2c4c62e8ba24601be5cfe7dc5d32c24bbbd4b53c" datatype="html">\n        <source>Subusers</source>\n        <target>Subpengguna</target>\n      </trans-unit>\n      <trans-unit id="17bb3082e6fe5003203ef992a3714172334631a1" datatype="html">\n        <source>Capabilities</source>\n        <target>Kemampuan</target>\n      </trans-unit>\n      <trans-unit id="36ad38f9c1a1485e09b67778a28af84553290ffb" datatype="html">\n        <source>User quota</source>\n        <target>Kuota pengguna</target>\n      </trans-unit>\n      <trans-unit id="2aba1e87039819aca3b70faa9aa848c12bf139ca" datatype="html">\n        <source>Show</source>\n        <target>Tampilkan</target>\n      </trans-unit>\n      <trans-unit id="0bcd5ef19af0f1b814141ca8c57df623d8270088" datatype="html">\n        <source>Keys</source>\n        <target>Kunci</target>\n      </trans-unit>\n      <trans-unit id="f61c6867295f3b53d23557021f2f4e0aa1d0b8fc" datatype="html">\n        <source>Type</source>\n        <target>Tipe</target>\n      </trans-unit>\n      <trans-unit id="1221ca97d19eaa9a7bc0c5243d5fc5befe1d2314" datatype="html">\n        <source>-- Select a type --</source>\n        <target>-- Pilih tipe --</target>\n      </trans-unit>\n      <trans-unit id="d1b8990332af18f1c5159a6061ca889bcbb28432" datatype="html">\n        <source>Permission</source>\n        <target>Izin</target>\n      </trans-unit>\n      <trans-unit id="a08c589f82f69d892307288da14190ae1dd583d5" datatype="html">\n        <source>-- Select a permission --</source>\n        <target>-- Pilih izin --</target>\n      </trans-unit>\n      <trans-unit id="b2841767821d6b66238c34d07e413b0af67aee92" datatype="html">\n        <source>Subuser</source>\n        <target>Subpengguna</target>\n      </trans-unit>\n      <trans-unit id="bd59fc25a7bd98cff3e75117c09697c8a007a514" datatype="html">\n        <source>The chosen subuser ID is already in use.</source>\n        <target>ID subpengguna sudah digunakan.</target>\n      </trans-unit>\n      <trans-unit id="3d386c357ebcbc04ed05c4babd5a03626f9b1674" datatype="html">\n        <source>read, write</source>\n        <target>baca, tulis</target>\n      </trans-unit>\n      <trans-unit id="84e3e3f9a4f31a039b648c97debf95fcb20f4c4a" datatype="html">\n        <source>full</source>\n        <target>penuh</target>\n      </trans-unit>\n      <trans-unit id="b6bf81d032a2316464f9df2f0d2f3d753f89f0d3" datatype="html">\n        <source>Swift key</source>\n        <target>Kunci Swift</target>\n      </trans-unit>\n      <trans-unit id="1e0c12685d50d47448ceed9423977ef39775c037" datatype="html">\n        <source>Auto-generate secret</source>\n        <target>Sandi otomatis-dibuat</target>\n      </trans-unit>\n      <trans-unit id="3d1c7a6004bd5d86a7fa096ae24209e8aa7a53e3" datatype="html">\n        <source>Loading user data...</source>\n        <target>Memuat data pengguna...</target>\n      </trans-unit>\n      <trans-unit id="faa5d834ab28571423d794d32b57998920efb65f" datatype="html">\n        <source>The user data could not be loaded.</source>\n        <target>Data pengguna tidak dapat dimuat.</target>\n      </trans-unit>\n      <trans-unit id="6aaf5d2a304167272ac73e3b1d1c162e16c77858" datatype="html">\n        <source>The chosen user ID is already in use.</source>\n        <target>ID pengguna yang dipilih sudah digunakan.</target>\n      </trans-unit>\n      <trans-unit id="df441e80db2157f9d272b75de724ba4a82b96b57" datatype="html">\n        <source>This is not a valid email address.</source>\n        <target>Ini bukan alamat email yang valid.</target>\n      </trans-unit>\n      <trans-unit id="ca271adf154956b8fcb28f4f50a37acb3057ff7c" datatype="html">\n        <source>The chosen email address is already in use.</source>\n        <target>Alamat email yang dipilih sudah digunakan.</target>\n      </trans-unit>\n      <trans-unit id="030197cebe938edf35422e92fe14183d06eb670b" datatype="html">\n        <source>Max. buckets</source>\n        <target>Maks. buket</target>\n      </trans-unit>\n      <trans-unit id="623ac50f37a26caec6fd7cd519b653e3315cba25" datatype="html">\n        <source>The entered value must be &gt;= 0.</source>\n        <target>Nilai yang dimasukkan harus &gt;= 0.</target>\n      </trans-unit>\n      <trans-unit id="583a219c524155c2314eb06ee29162bb315272a3" datatype="html">\n        <source>S3 key</source>\n        <target>Kunci S3</target>\n      </trans-unit>\n      <trans-unit id="128d6efb51d9ddc7c0cc695a2deeca5b9523f6e4" datatype="html">\n        <source>There are no subusers.</source>\n        <target>Tidak ada sub-pengguna.</target>\n      </trans-unit>\n      <trans-unit id="7fd6dfb8ecb982dbc3affb2c2d5414c4f5b6abd2" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ subuserLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ subuserLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="67c746c1ba9dab4351fedc4c7cba4e6d6b0dbc47" datatype="html">\n        <source>S3</source>\n        <target>S3</target>\n      </trans-unit>\n      <trans-unit id="d6819038d608623503918fb2553f53d68231ec3a" datatype="html">\n        <source>There are no keys.</source>\n        <target>Kunci tidak ditemukan.</target>\n      </trans-unit>\n      <trans-unit id="fc1c1a7140ff6b815a95b65ee2780fdbe1b2b7a1" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ s3keyLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ s3keyLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6ddb5e991a3ecd2659fb520bc5acc81b67e08ddd" datatype="html">\n        <source>Swift</source>\n        <target>Swift</target>\n      </trans-unit>\n      <trans-unit id="1d01eccdda47fc907c5be35bcb16d2dcd02b0270" datatype="html">\n        <source>There are no capabilities.</source>\n        <target>Kemampuan tidak ada.</target>\n      </trans-unit>\n      <trans-unit id="043e2ec0036ceadd926fd5e3f93cd6f3565f3648" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.ADD | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.ADD | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6146e13ceca5fa5cc17b771b282fe5955f3d19fa" datatype="html">\n        <source>Unlimited size</source>\n        <target>Ukuran tak terbatas</target>\n      </trans-unit>\n      <trans-unit id="f6db8aa7c99fdce18edb33dde57729acede2b308" datatype="html">\n        <source>Max. size</source>\n        <target>Ukuran maks.</target>\n      </trans-unit>\n      <trans-unit id="fc630b2093e880fffa19df99d5cd8b87605037f8" datatype="html">\n        <source>Unlimited objects</source>\n        <target>Objek tak terbatas</target>\n      </trans-unit>\n      <trans-unit id="6cda5a993d06f0bb10048be9d3aba6555aa9f356" datatype="html">\n        <source>Max. objects</source>\n        <target>Objek maks.</target>\n      </trans-unit>\n      <trans-unit id="1ea5c4d8942c00752dcc72e72949c5d9832f6399" datatype="html">\n        <source>Description...</source>\n        <target>Deskripsi...</target>\n      </trans-unit>\n      <trans-unit id="70f45880fce6ac5d8e468e25e82aefbba8098cfe" datatype="html">\n        <source>Permissions</source>\n        <target>Izin</target>\n      </trans-unit>\n      <trans-unit id="9610487cbeb5796d34d8601b5ac0c0a65f9e1d19" datatype="html">\n        <source>Roles</source>\n        <target>Peran</target>\n      </trans-unit>\n      <trans-unit id="7f3bdcce4b2e8c37cd7f0f6c92ef8cff34b039b8" datatype="html">\n        <source>Confirm password</source>\n        <target>Konfirmasi kata sandi</target>\n      </trans-unit>\n      <trans-unit id="cbb979e63ba50e0ca3adfa09cbdcaefd0853fca1" datatype="html">\n        <source>Password confirmation doesn\'t match the password.</source>\n        <target>Konfirmasi kata sandi tidak sesuai dengan kata sandi.</target>\n      </trans-unit>\n      <trans-unit id="244aae9346da82b0922506c2d2581373a15641cc" datatype="html">\n        <source>Email</source>\n        <target>Email</target>\n      </trans-unit>\n      <trans-unit id="d0ec081dd61eb4f43aea269077bbe38eae87b7f9" datatype="html">\n        <source>Invalid email.</source>\n        <target>Email tidak valid.</target>\n      </trans-unit>\n      <trans-unit id="0051a3479d3ba79135c16dc8cc017950a2cce821" datatype="html">\n        <source>You are about to remove "user read / update" permissions from your own user.</source>\n        <target>Anda akan menghapus izin "pengguna baca / perbarui" dari diri Anda sendiri.</target>\n      </trans-unit>\n      <trans-unit id="af4bf9fcb256853f14cf947eb1deb8d7f176d3f9" datatype="html">\n        <source>If you continue, you will no longer be able to add or remove roles from any user.</source>\n        <target>Jika melanjutkan, Anda tidak akan lagi dapat menambahkan atau menghapus peran dari pengguna manapun.</target>\n      </trans-unit>\n      <trans-unit id="7d1dcf2a9146caac0581329acf94806ec69a89a5" datatype="html">\n        <source>Are you sure you want to continue?</source>\n        <target>Anda yakin ingin melanjutkan?</target>\n      </trans-unit>\n      <trans-unit id="85b79c9064aed1ead31ace985f31aa1363f6bdaf" datatype="html">\n        <source>Help</source>\n        <target>Bantuan</target>\n      </trans-unit>\n      <trans-unit id="fcfd4675b4c90f08d18d3abede9a9a4dff4cfdc7" datatype="html">\n        <source>Documentation</source>\n        <target>Dokumentasi </target>\n      </trans-unit>\n      <trans-unit id="e351b40b3869a5c7d19c3d4918cb1ac7aaab95c4" datatype="html">\n        <source>API</source>\n        <target>API</target>\n      </trans-unit>\n      <trans-unit id="004b222ff9ef9dd4771b777950ca1d0e4cd4348a" datatype="html">\n        <source>About</source>\n        <target>Tentang</target>\n      </trans-unit>\n      <trans-unit id="1481ecd21e760ac919a24e26cf790acd82e40199" datatype="html">\n        <source>Dashboard Settings</source>\n        <target>Pengaturan Dasbor</target>\n      </trans-unit>\n      <trans-unit id="a79aab4ef674bf3f6532292107c0054302236e0f" datatype="html">\n        <source>User management</source>\n        <target>Manajemen Pengguna</target>\n      </trans-unit>\n      <trans-unit id="049dfd9fe6c78914ad58cf89ac6a631fca28ec74" datatype="html">\n        <source>Logged in user</source>\n        <target>Pengguna masuk</target>\n      </trans-unit>\n      <trans-unit id="cd38a58e73f306d838e621959d47d5e7a2f06d1f" datatype="html">\n        <source>Signed in as\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ username }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>\n        </source>\n        <target>Signed in as\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ username }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="739516c2ca75843d5aec9cf0e6b3e4335c4227b9" datatype="html">\n        <source>Change password</source>\n        <target>Change password</target>\n      </trans-unit>\n      <trans-unit id="5d22c795daf43877a5f708dca2bccd549eb0471d" datatype="html">\n        <source>Sign out</source>\n        <target>Keluar</target>\n      </trans-unit>\n      <trans-unit id="91853167141c37b58868f3b0421383dd72fa8a01" datatype="html">\n        <source>Attributes (OSD map)</source>\n        <target>Atribut (peta OSD)</target>\n      </trans-unit>\n      <trans-unit id="97842f379e1d4157ac3ab0661b90c352e7cb72d5" datatype="html">\n        <source>Metadata not available</source>\n        <target>Metadata tidak tersedia</target>\n      </trans-unit>\n      <trans-unit id="f721a500a68c357e8f2a01e60510f6a01e4ba529" datatype="html">\n        <source>Metadata</source>\n        <target>Metadata</target>\n      </trans-unit>\n      <trans-unit id="deba10b7279a589d01e919ea11f43c79ca1773e3" datatype="html">\n        <source>Device health</source>\n        <target>Device health</target>\n      </trans-unit>\n      <trans-unit id="d24e28e19c5703d7c6be44f4eb595a6a43b618ed" datatype="html">\n        <source>Performance counter</source>\n        <target>Penghitung kinerja</target>\n      </trans-unit>\n      <trans-unit id="d1f7c81ed9c5034af4abcdf119b1c1e86cd019dd" datatype="html">\n        <source>Histogram not available: \n          <x id="INTERPOLATION" equiv-text="{{ osd.histogram_failed }}"/>\n        </source>\n        <target>Histogram not available: \n          <x id="INTERPOLATION" equiv-text="{{ osd.histogram_failed }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="868abfff914873d1c65df798d8432ed04b8ae2a9" datatype="html">\n        <source>Writes</source>\n        <target>Tulis</target>\n      </trans-unit>\n      <trans-unit id="996ebb9a653b5067f97bf3891ea9d2108e969492" datatype="html">\n        <source>Reads</source>\n        <target>Baca</target>\n      </trans-unit>\n      <trans-unit id="65ac79790aa477a97b1cc579e18a115a8df8918f" datatype="html">\n        <source>Histogram</source>\n        <target>Histogram</target>\n      </trans-unit>\n      <trans-unit id="26fb5f81b3581f06b9210defb0e71dc69a67e819" datatype="html">\n        <source>Current values</source>\n        <target>Nilai saat ini</target>\n      </trans-unit>\n      <trans-unit id="9abcd7c82643d60c22733470463f74e4a54bc069" datatype="html">\n        <source>Min</source>\n        <target>Min</target>\n      </trans-unit>\n      <trans-unit id="c3ced4d162a0a55ee233a187ce7208ba5e922418" datatype="html">\n        <source>Max</source>\n        <target>Maks</target>\n      </trans-unit>\n      <trans-unit id="6834fa6b43d1ecbdf147c48dd9c4d72f1484571d" datatype="html">\n        <source>Source</source>\n        <target>Sumber</target>\n      </trans-unit>\n      <trans-unit id="a446fb0eb11fbffcac805ece5a2d306d24e733d8" datatype="html">\n        <source>Level</source>\n        <target>Level</target>\n      </trans-unit>\n      <trans-unit id="39f2fb094e9b2eda13163fa3f3a31594cf9c1307" datatype="html">\n        <source>Can be updated at runtime (editable)</source>\n        <target>Boleh diperbarui saat dijalankan (bisa diedit)</target>\n      </trans-unit>\n      <trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b" datatype="html">\n        <source>Tags</source>\n        <target>Tag</target>\n      </trans-unit>\n      <trans-unit id="ab0089ef47af61ca1d137bc908b96c290dfd9287" datatype="html">\n        <source>Enum values</source>\n        <target>Nilai Enum</target>\n      </trans-unit>\n      <trans-unit id="819476f1264f1659f38e86f6abb542141b184832" datatype="html">\n        <source>See also</source>\n        <target>Lihat juga</target>\n      </trans-unit>\n      <trans-unit id="d82a9af5b05e7cd17640f196f163771685ff8df6" datatype="html">\n        <source>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</source>\n        <target>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</target>\n      </trans-unit>\n      <trans-unit id="a185c9b97513b3882604ea9bab60edbfac945c15" datatype="html">\n        <source>SMART overall-health self-assessment test result</source>\n        <target>SMART overall-health self-assessment test result</target>\n      </trans-unit>\n      <trans-unit id="ddd5dd6d930030096ea617f62c82b648a0dd9484" datatype="html">\n        <source>Device Information</source>\n        <target>Device Information</target>\n      </trans-unit>\n      <trans-unit id="79c6bf990ea5b4d83bbf8f9e399f4bd933a1ebfc" datatype="html">\n        <source>S.M.A.R.T</source>\n        <target>S.M.A.R.T</target>\n      </trans-unit>\n      <trans-unit id="05c17e08939cbef1a5df5386263b1701e8d5742e" datatype="html">\n        <source>S.M.A.R.T data is loading.</source>\n        <target>S.M.A.R.T data is loading.</target>\n      </trans-unit>\n      <trans-unit id="73caac4265ea7314ff061e5a1d78a6361a6dd3b8" datatype="html">\n        <source>Cluster Status</source>\n        <target>Status Klaster</target>\n      </trans-unit>\n      <trans-unit id="1d4bc612bbf19aa9553853266b9e92c9d75f4464" datatype="html">\n        <source>Manager Daemons</source>\n        <target>Manajer Daemon</target>\n      </trans-unit>\n      <trans-unit id="946ac5dea9921dc09d7b0a63b89535371f283b19" datatype="html">\n        <source>Object Gateways</source>\n        <target>Gerbang Objek</target>\n      </trans-unit>\n      <trans-unit id="ff03fa5bcf37c4da46ad736c1f7d03f959e8ba9a" datatype="html">\n        <source>Metadata Servers</source>\n        <target>Server Metadata</target>\n      </trans-unit>\n      <trans-unit id="d817609ba4993eba859409ab71e566168f4d5f5a" datatype="html">\n        <source>iSCSI Gateways</source>\n        <target>Gateway iSCSI</target>\n      </trans-unit>\n      <trans-unit id="42c13e50391250ea9379bdf55d5d6c0228c0c8bc" datatype="html">\n        <source>Client IOPS</source>\n        <target>IOPS klien</target>\n      </trans-unit>\n      <trans-unit id="52213660b2454d139ada3079a42ec6caf3c3c01e" datatype="html">\n        <source>Client Throughput</source>\n        <target>Throughput Pengguna</target>\n      </trans-unit>\n      <trans-unit id="32efd1c3f70e3c5244239de97a2cc95d98534a14" datatype="html">\n        <source>Client Read/Write</source>\n        <target>Baca/Tulis Klien</target>\n      </trans-unit>\n      <trans-unit id="275485415092cbae3a9f3cbb786ebe283cacfdd5" datatype="html">\n        <source>Recovery Throughput</source>\n        <target>Throughput Pemulihan</target>\n      </trans-unit>\n      <trans-unit id="6d9a9f55046891733ef71170e7652063765eb542" datatype="html">\n        <source>Scrub</source>\n        <target>Scrub</target>\n      </trans-unit>\n      <trans-unit id="3cc9c2ae277393b3946b38c088dabff671b1ee1b" datatype="html">\n        <source>Performance</source>\n        <target>Kinerja</target>\n      </trans-unit>\n      <trans-unit id="88f383269db2d32cccee9e936fe549dccb9fdbf4" datatype="html">\n        <source>Raw Capacity</source>\n        <target>Kapasitas mentah</target>\n      </trans-unit>\n      <trans-unit id="c5f8a813f91a11af99132e4beafc136cfc13d73b" datatype="html">\n        <source>PGs per OSD</source>\n        <target>PG per OSD</target>\n      </trans-unit>\n      <trans-unit id="498a109c6e9e94f1966de01aa0326f7f0ac6fb52" datatype="html">\n        <source>PG Status</source>\n        <target>Status PG</target>\n      </trans-unit>\n      <trans-unit id="ce9dfdc6dccb28dc75a78c704e09dc18fb02dcfa" datatype="html">\n        <source>Capacity</source>\n        <target>Kapasitas</target>\n      </trans-unit>\n      <trans-unit id="44ecac93d67c6a671198091c2270354f80322327" datatype="html">\n        <source>\n          <x id="START_ITALIC_TEXT" ctype="x-i" equiv-text="<i>"/>\n          <x id="CLOSE_ITALIC_TEXT" ctype="x-i" equiv-text="</i>"/> See \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Logs\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more details.\n        </source>\n        <target>\n          <x id="START_ITALIC_TEXT" ctype="x-i" equiv-text="<i>"/>\n          <x id="CLOSE_ITALIC_TEXT" ctype="x-i" equiv-text="</i>"/> See \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Logs\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more details.\n        </target>\n      </trans-unit>\n      <trans-unit id="0c1e17956453ad772dbe82d6946f62748c692f3e" datatype="html">\n        <source>Ranks</source>\n        <target>Peringkat</target>\n      </trans-unit>\n      <trans-unit id="2b24e0b0b1629d2e8a51b9da7c75d6e6379f4bc4" datatype="html">\n        <source>Standbys</source>\n        <target>Standbys</target>\n      </trans-unit>\n      <trans-unit id="50df62325726db950523a5be1c78b8905fcc25d4" datatype="html">\n        <source>MDS performance counters</source>\n        <target>MDS performance counters</target>\n      </trans-unit>\n      <trans-unit id="a7b6508fb834bee9e48e11e4503fbbc2d19204de" datatype="html">\n        <source>Clients: \n          <x id="INTERPOLATION" equiv-text="{{ clients.data.length }}"/>\n        </source>\n        <target>Clients: \n          <x id="INTERPOLATION" equiv-text="{{ clients.data.length }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6e213942c6354b9cbe7a650f0f1499bfc1000fb6" datatype="html">\n        <source>Directories</source>\n        <target>Directories</target>\n      </trans-unit>\n      <trans-unit id="47116253e36f4e38a97ba41b2d3122c6c15ab904" datatype="html">\n        <source>Clients (\n          <x id="INTERPOLATION" equiv-text="{{ clients.length }}"/>)\n        </source>\n        <target>Clients (\n          <x id="INTERPOLATION" equiv-text="{{ clients.length }}"/>)\n        </target>\n      </trans-unit>\n      <trans-unit id="bd5a3b1c5a3c185c7bbb0e09a061d4cdc88ce5ad" datatype="html">\n        <source>Current</source>\n        <target>Terkini</target>\n      </trans-unit>\n      <trans-unit id="e5e7d62e942083a59b0b31f54e17cd7958186052" datatype="html">\n        <source>Updated discovery authentication</source>\n        <target>Otentikasi penemuan telah diperbarui</target>\n      </trans-unit>\n      <trans-unit id="dd4ab758afd5fd5a6c6a25b2b30ff99d0c00e9ad" datatype="html">\n        <source>There are no portals available.</source>\n        <target>Tidak ada portal yang tersedia.</target>\n      </trans-unit>\n      <trans-unit id="83021e45778a4a230a14ca0c6d6ccdf05500ad93" datatype="html">\n        <source>There are no images available.</source>\n        <target>Tidak ada image yang tersedia.</target>\n      </trans-unit>\n      <trans-unit id="86684eb21f8a768e1dbc659e3d5da6861db544a0" datatype="html">\n        <source>There are no images available. Please make sure you add an image to the target.</source>\n        <target>Tidak ada image yang tersedia. Mohon pastikan Anda telah menambahkan image ke target.</target>\n      </trans-unit>\n      <trans-unit id="fffda6e440078f57eba93944ce051c593cc6ed7f" datatype="html">\n        <source>There are no initiators available. Please make sure you add an initiator to the target.</source>\n        <target>Tidak ada inisiator tersedia. Mohon pastikan Anda telah menambahkan inisiator ke target.</target>\n      </trans-unit>\n      <trans-unit id="cea3c6fe490385eef1584cbc4983fda7ece24bb6" datatype="html">\n        <source>target</source>\n        <target>target</target>\n      </trans-unit>\n      <trans-unit id="38baeb215c17af9d9e295e371a57f4a48ab4c191" datatype="html">\n        <source>Target</source>\n        <target>Target</target>\n      </trans-unit>\n      <trans-unit id="99e094878070eebc1b972bac02aaa33b2bf83b35" datatype="html">\n        <source># Sessions</source>\n        <target># Sessions</target>\n      </trans-unit>\n      <trans-unit id="c49e0dd71d551bd4928d967d78f0721dbf9f95e3" datatype="html">\n        <source>Target has active sessions</source>\n        <target>Target has active sessions</target>\n      </trans-unit>\n      <trans-unit id="a87acd72dfb68b45175270695209550a85adf50c" datatype="html">\n        <source>iSCSI target</source>\n        <target>iSCSI target</target>\n      </trans-unit>\n      <trans-unit id="873b72903b1858a9cd6c8967521030b4d7d1435b" datatype="html">\n        <source>State</source>\n        <target>Keadaan</target>\n      </trans-unit>\n      <trans-unit id="02b75464c0dc0cf49ea0208211b6fbcad3bf728a" datatype="html">\n        <source># Targets</source>\n        <target># Targets</target>\n      </trans-unit>\n      <trans-unit id="13415637c325ceefee29111b31cb48701490adf7" datatype="html">\n        <source>Read Bytes</source>\n        <target>Baca Bytes</target>\n      </trans-unit>\n      <trans-unit id="e2ed82b7bbf4a006e60e6208c597b05d5b5556e9" datatype="html">\n        <source>Write Bytes</source>\n        <target>Tulis Bytes</target>\n      </trans-unit>\n      <trans-unit id="6a32a5f58845ca840185ea9564682094e77a1d80" datatype="html">\n        <source>Read Ops</source>\n        <target>Ops Baca</target>\n      </trans-unit>\n      <trans-unit id="7c36cb8032af123d3550ffab2e1fa1e957c87fae" datatype="html">\n        <source>Write Ops</source>\n        <target>Ops Tulis</target>\n      </trans-unit>\n      <trans-unit id="458c33846a8c7e2feb9404bcf06723784e756cdc" datatype="html">\n        <source>A/O Since</source>\n        <target>A/O Sejak</target>\n      </trans-unit>\n      <trans-unit id="ff78f059449d44322f627d0f66df07abe476962b" datatype="html">\n        <source>Instance</source>\n        <target>Instance</target>\n      </trans-unit>\n      <trans-unit id="36fad7995cadfb3a6f0d43ef2db280146b3ca022" datatype="html">\n        <source>Issue</source>\n        <target>Isu</target>\n      </trans-unit>\n      <trans-unit id="15793f4cbc261bedbc60f7105533dde536a3f42b" datatype="html">\n        <source>Progress</source>\n        <target>Kemajuan</target>\n      </trans-unit>\n      <trans-unit id="f39256070bfc0714020dfee08895421fc1527014" datatype="html">\n        <source>Disabled</source>\n        <target>Dimatikan</target>\n      </trans-unit>\n      <trans-unit id="8c375764db42f5d736fb56d01b8052c006ccc8e2" datatype="html">\n        <source>Edit Mode</source>\n        <target>Mode Edit</target>\n      </trans-unit>\n      <trans-unit id="45932f2a0ea524b3425f4320ee46a6d1c68977bc" datatype="html">\n        <source>Add Peer</source>\n        <target>Tambahkan Mitra</target>\n      </trans-unit>\n      <trans-unit id="d3dc34662e3cda0dad646221651cebd26f731485" datatype="html">\n        <source>Edit Peer</source>\n        <target>Edit Mitra</target>\n      </trans-unit>\n      <trans-unit id="e8a0ec0b6ee72db0f27c186e09640d1ed41964bd" datatype="html">\n        <source>Delete Peer</source>\n        <target>Hapus Mitra</target>\n      </trans-unit>\n      <trans-unit id="314de06d6f64d39149e78e6d796585c0246fec0b" datatype="html">\n        <source>Leader</source>\n        <target>Pemimpin</target>\n      </trans-unit>\n      <trans-unit id="7acaab450312114059ced9e3737798ee9aa738b1" datatype="html">\n        <source># Local</source>\n        <target># Lokal</target>\n      </trans-unit>\n      <trans-unit id="7a3ffd88868135c44be3994263bb8e49d8358884" datatype="html">\n        <source># Remote</source>\n        <target># Jauh</target>\n      </trans-unit>\n      <trans-unit id="85ca0fd6a6ddd211023c70a25753122c5b978787" datatype="html">\n        <source>mirror peer</source>\n        <target>mitra pencerminan</target>\n      </trans-unit>\n      <trans-unit id="a6493c6ca346cd052da40423eda9c132de2b2002" datatype="html">\n        <source>Key</source>\n        <target>Kunci</target>\n      </trans-unit>\n      <trans-unit id="e9cac80fb5d9de66f0006d0bec530fd1fc69a674" datatype="html">\n        <source>RBD</source>\n        <target>RBD</target>\n      </trans-unit>\n      <trans-unit id="4130b1a836f2000cfe9a11fb62493dc42d444de7" datatype="html">\n        <source>Deep flatten</source>\n        <target>Perataan mendalam</target>\n      </trans-unit>\n      <trans-unit id="7b17694d7cb8ecb7c8440bc999dac21b44455b33" datatype="html">\n        <source>Layering</source>\n        <target>Lapisan</target>\n      </trans-unit>\n      <trans-unit id="6a072ce577c2079d0e0c31071a16824f6d22b84d" datatype="html">\n        <source>Exclusive lock</source>\n        <target>Kunci eksklusif</target>\n      </trans-unit>\n      <trans-unit id="7354f01320bf936a7f85577c9f71402635c3a362" datatype="html">\n        <source>Object map (requires exclusive-lock)</source>\n        <target>Peta objek (butuh kunci-eksklusif)</target>\n      </trans-unit>\n      <trans-unit id="fb7e625c1152f1c102cd16460955d124edff1770" datatype="html">\n        <source>Journaling (requires exclusive-lock)</source>\n        <target>Penjurnalan (membutuhkan kunci-eksklusif)</target>\n      </trans-unit>\n      <trans-unit id="df4044632bfc211dd96544fc8f007dabbeeb506c" datatype="html">\n        <source>Fast diff (interlocked with object-map)</source>\n        <target>Fast diff (interlocked with object-map)</target>\n      </trans-unit>\n      <trans-unit id="631fc50ec7c9bd81dc797a3c7e09eda1178ad999" datatype="html">\n        <source>Parent image must support Layering</source>\n        <target>Parent image must support Layering</target>\n      </trans-unit>\n      <trans-unit id="7eb984588f4835f6d0187b33769b4b0f62821640" datatype="html">\n        <source>RBD snapshot rollback</source>\n        <target>Kembalikan snapshot RBD</target>\n      </trans-unit>\n      <trans-unit id="4be22bf20ef82614ed53bcd3b912a85590aa71c9" datatype="html">\n        <source>Rollback</source>\n        <target>Kembalikan</target>\n      </trans-unit>\n      <trans-unit id="2a04c483708d261751d62082d6f03a50d4577b1e" datatype="html">\n        <source>RBD snapshot</source>\n        <target>Snapshot RBD</target>\n      </trans-unit>\n      <trans-unit id="fa96769d1ea86741297cb9b9769b0dcfde58c8b4" datatype="html">\n        <source>Deleted At</source>\n        <target>Dihapus pada</target>\n      </trans-unit>\n      <trans-unit id="e928864038ca70ee7d67bbf1fd71a01c3938a127" datatype="html">\n        <source>id</source>\n        <target>id</target>\n      </trans-unit>\n      <trans-unit id="240c9c1e96dc38814922a83ad041dc815b084f32" datatype="html">\n        <source>type</source>\n        <target>tipe</target>\n      </trans-unit>\n      <trans-unit id="c9d7ec7ee5b4e282f2228fa996651ec4ef5195a9" datatype="html">\n        <source>state</source>\n        <target>keadaan</target>\n      </trans-unit>\n      <trans-unit id="5780e5c3b4fc2ae07836bb5221cec4f8d597630d" datatype="html">\n        <source>version</source>\n        <target>versi</target>\n      </trans-unit>\n      <trans-unit id="fe22ca53e651df951dac25b67c17894b0980f767" datatype="html">\n        <source>Host</source>\n        <target>Hos</target>\n      </trans-unit>\n      <trans-unit id="fb69299354312c8954ecf324997ccafcd9f6b14b" datatype="html">\n        <source>root</source>\n        <target>induk</target>\n      </trans-unit>\n      <trans-unit id="d34feb369d308075b423d5c5fc431f9766bf7a11" datatype="html">\n        <source>Evicted client "\n          <x id="INTERPOLATION" equiv-text="{{clientId}}"/>"\n        </source>\n        <target>Evicted client "\n          <x id="INTERPOLATION" equiv-text="{{clientId}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="7db875ff4cc626d394f37fba95c075b2e4bfeb00" datatype="html">\n        <source>Standby daemons</source>\n        <target>Daemon siaga</target>\n      </trans-unit>\n      <trans-unit id="3c3a423d91e36ac6624e909fcd2669a25685f847" datatype="html">\n        <source>Rank</source>\n        <target>Peringkat</target>\n      </trans-unit>\n      <trans-unit id="9596ecae8956e96921acef47aec787f6bdc37454" datatype="html">\n        <source>Daemon</source>\n        <target>Daemon</target>\n      </trans-unit>\n      <trans-unit id="f2005fa461c06dc2e04d8918bbabedf23604b5b7" datatype="html">\n        <source>Activity</source>\n        <target>Aktivitas</target>\n      </trans-unit>\n      <trans-unit id="e3a986984ae0c3b43af648c3fa638649d1c00348" datatype="html">\n        <source>Dentries</source>\n        <target>Dentries</target>\n      </trans-unit>\n      <trans-unit id="7c692ab865066967d73c6d64ec0691cc6ce91b93" datatype="html">\n        <source>Inodes</source>\n        <target>Inode</target>\n      </trans-unit>\n      <trans-unit id="45f210b96a2a6e91f52f153a4f8dc30662629f8e" datatype="html">\n        <source>Usage</source>\n        <target>Penggunaan</target>\n      </trans-unit>\n      <trans-unit id="950b5f04a2efd3f11c0f76418d5a4212381e792e" datatype="html">\n        <source>Origin</source>\n        <target>Origin</target>\n      </trans-unit>\n      <trans-unit id="22e4e574b7f8abf58254f328792445b42e2a924a" datatype="html">\n        <source>The value can be updated at runtime.</source>\n        <target>Nilai dapat diperbarui saat runtime.</target>\n      </trans-unit>\n      <trans-unit id="d7770de7b2343c9deeaa7ebf37ba3e35ca5c5988" datatype="html">\n        <source>Daemons/clients do not pull this value from the\n      monitor config database. We disallow setting this option via \'ceph config\n      set ...\'. This option should be configured via ceph.conf or via the\n      command line.</source>\n        <target>Daemon/klien tidak dapat mengambil nilai dari\nbasis data konfigurasi monitor. Kami tidak mengizinkan mengubah ini dari \'ceph config\nset ...\'. Pilihan ini harus dikonfigurasi melalui ceph.conf atau CLI.</target>\n      </trans-unit>\n      <trans-unit id="83f11fd1dc503c37931ea6c1c5c1e8c2b4b597b6" datatype="html">\n        <source>Option takes effect only during daemon startup.</source>\n        <target>Pilihan hanya dapat bekerja selama daemon dimulai.</target>\n      </trans-unit>\n      <trans-unit id="837a07cd6a971038b8b1aa190c43440c9fdb5d8b" datatype="html">\n        <source>Option only affects cluster creation.</source>\n        <target>Pilihan hanya berpengaruh pada pembuatan klaster.</target>\n      </trans-unit>\n      <trans-unit id="2566a88eb247c918b71cfe5b354c31de0d4b01e5" datatype="html">\n        <source>Option only affects daemon creation.</source>\n        <target>Pilihan hanya berpengaruh pada pembuatan daemon.</target>\n      </trans-unit>\n      <trans-unit id="1cdc60cfc09c257625768f3d2082816cdef27279" datatype="html">\n        <source>Updated config option \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\n        </source>\n        <target>Updated config option \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="d473e0f684a60db45d6f31e993f693f74290e056" datatype="html">\n        <source>Service</source>\n        <target>Layanan</target>\n      </trans-unit>\n      <trans-unit id="9951bb3983c7dba6fde013e05c922e4fe1a44367" datatype="html">\n        <source>Current value</source>\n        <target>Nilai saat ini</target>\n      </trans-unit>\n      <trans-unit id="4a01c175f90dd92b432f4a4a199d2c7bb9d997ff" datatype="html">\n        <source>Editable</source>\n        <target>Dapat diedit</target>\n      </trans-unit>\n      <trans-unit id="261c0af854e8684abc15f89dce6efb3e72344b18" datatype="html">\n        <source>host</source>\n        <target>host</target>\n      </trans-unit>\n      <trans-unit id="9e35065e7c579e1fb960499117fd4b3c68d1c263" datatype="html">\n        <source>Host operation is disabled because orchestrator is unavailable</source>\n        <target>Host operation is disabled because orchestrator is unavailable</target>\n      </trans-unit>\n      <trans-unit id="a5d5e407f8c4e1b152509c966c90f37edf68472e" datatype="html">\n        <source>Device path</source>\n        <target>Device path</target>\n      </trans-unit>\n      <trans-unit id="94e76c060aa68c05d8c4a3f5a20c92fab3e83ccf" datatype="html">\n        <source>Rotates</source>\n        <target>Rotates</target>\n      </trans-unit>\n      <trans-unit id="b7da3e3505cc80f9bf3cffc8444c53e8a9ec70a5" datatype="html">\n        <source>Available</source>\n        <target>Available</target>\n      </trans-unit>\n      <trans-unit id="6ec98fa3d6504ba1fd03465194b53706c8263c99" datatype="html">\n        <source>Model</source>\n        <target>Model</target>\n      </trans-unit>\n      <trans-unit id="1a6e6ad05508130b7a99ce5b15daf3227c2a930c" datatype="html">\n        <source>Updated options for module "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>".\n        </source>\n        <target>Updated options for module "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="ac6c9212896d39b23811ed2dadab7d07336ec559" datatype="html">\n        <source>Enable</source>\n        <target>Aktifkan</target>\n      </trans-unit>\n      <trans-unit id="6766a926d80bb7763785621098dae459d6226429" datatype="html">\n        <source>Disable</source>\n        <target>Nonaktifkan</target>\n      </trans-unit>\n      <trans-unit id="340f2f312c2eb353e5cd69aee6bee7f5a73c34ac" datatype="html">\n        <source>This Manager module is always on.</source>\n        <target>This Manager module is always on.</target>\n      </trans-unit>\n      <trans-unit id="6a0b3657745dd7a2f2162f1cc790bf9004d0845d" datatype="html">\n        <source>Reconnecting, please wait ...</source>\n        <target>Menghubungkan kembali, mohon tunggu...</target>\n      </trans-unit>\n      <trans-unit id="7099a8878af7a0a26fe5663c4f46cfe87142b75d" datatype="html">\n        <source>Public Address</source>\n        <target>Alamat Publik</target>\n      </trans-unit>\n      <trans-unit id="cbdd1cdc0c7a87f55dd177bc44212f0fc4b80852" datatype="html">\n        <source>Open Sessions</source>\n        <target>Buka Sesi</target>\n      </trans-unit>\n      <trans-unit id="37e58d1cbdf8212b380efa51422e42821d4f08e6" datatype="html">\n        <source>No In</source>\n        <target>Tidak boleh Masuk</target>\n      </trans-unit>\n      <trans-unit id="12706eb5af17ff5ad77b3de21af368d24678e00b" datatype="html">\n        <source>OSDs that were previously marked out will not be marked back in when they start</source>\n        <target>OSD yang telah ditandai keluar tidak akan ditandai masuk saat mereka menyala</target>\n      </trans-unit>\n      <trans-unit id="96114d7624d11dc90ca46cfa96145fe22118df76" datatype="html">\n        <source>No Out</source>\n        <target>Tidak boleh Keluar</target>\n      </trans-unit>\n      <trans-unit id="a2ef636fe1ddd56b63e4aaf3d292f33dbf735ef3" datatype="html">\n        <source>OSDs will not automatically be marked out after the configured interval</source>\n        <target>OSD tidak akan otomatis ditandai keluar setelah interval dikonfigurasi</target>\n      </trans-unit>\n      <trans-unit id="ee50aefa9b8bde1e5429b48709a23abfe08358e0" datatype="html">\n        <source>No Up</source>\n        <target>Tidak Nyala</target>\n      </trans-unit>\n      <trans-unit id="608929b939307e397586a98cea52ae38997c7273" datatype="html">\n        <source>OSDs are not allowed to start</source>\n        <target>OSD tidak diizinkan menyala</target>\n      </trans-unit>\n      <trans-unit id="1751ab69c1e7f62927afedbf7116e0116316c551" datatype="html">\n        <source>No Down</source>\n        <target>Tidak Mati</target>\n      </trans-unit>\n      <trans-unit id="41fac86dfb65c1db690f3e87f6497cb73b281084" datatype="html">\n        <source>OSD failure reports are being ignored, such that the monitors will not mark OSDs down</source>\n        <target>Laporan kegagalan OSD sedang diabaikan sehingga monitor tidak akan menandai OSD mati</target>\n      </trans-unit>\n      <trans-unit id="b2838c6165a9672a17db188f4dd9676574353dd8" datatype="html">\n        <source>Pause</source>\n        <target>Jeda</target>\n      </trans-unit>\n      <trans-unit id="191d71dadcc8790573d46706a0b48211de4b8334" datatype="html">\n        <source>Pauses reads and writes</source>\n        <target>Jeda baca dan tulis</target>\n      </trans-unit>\n      <trans-unit id="471d5ba75836f38c19992cf83d8822632d99e473" datatype="html">\n        <source>No Scrub</source>\n        <target>Nonaktifkan Scrub</target>\n      </trans-unit>\n      <trans-unit id="5b8caa61814121bc36dac0c34a9e9de3cae74990" datatype="html">\n        <source>Scrubbing is disabled</source>\n        <target>Scrubbing dinonaktifkan</target>\n      </trans-unit>\n      <trans-unit id="7f29a0ac1c797bdc0347dd5d0734ba83e96e7ce6" datatype="html">\n        <source>No Deep Scrub</source>\n        <target>Nonaktifkan Deep Scrub</target>\n      </trans-unit>\n      <trans-unit id="01da61ab216541a8d31259cebd16b10c7e5fc124" datatype="html">\n        <source>Deep Scrubbing is disabled</source>\n        <target>Deep Scrubing dinonaktifkan</target>\n      </trans-unit>\n      <trans-unit id="0b86c7f18ac725de62c7e192dcfccd02c0dc40ab" datatype="html">\n        <source>No Backfill</source>\n        <target>Tidak ada Penambalan</target>\n      </trans-unit>\n      <trans-unit id="bd33a2bdc8fbed3b7469f3717c16d9aaa2851fdd" datatype="html">\n        <source>Backfilling of PGs is suspended</source>\n        <target>Penambalan PG dihentikan</target>\n      </trans-unit>\n      <trans-unit id="7fbbd036394cfa623add40299757bc87df8eaa7e" datatype="html">\n        <source>No Recover</source>\n        <target>Tidak ada Pemulihan</target>\n      </trans-unit>\n      <trans-unit id="f3ee9b451a64dca47299c9b4ae1091c2008068ad" datatype="html">\n        <source>Recovery of PGs is suspended</source>\n        <target>Pemulihan PG dihentikan</target>\n      </trans-unit>\n      <trans-unit id="de904148fe7e8d812218f50333ffe247900617c5" datatype="html">\n        <source>Bitwise Sort</source>\n        <target>Urutan Bitwise</target>\n      </trans-unit>\n      <trans-unit id="2613c9fde29785bcd75f0abeccb653d14d7527b3" datatype="html">\n        <source>Use bitwise sort</source>\n        <target>Gunakan urutan bitwise</target>\n      </trans-unit>\n      <trans-unit id="2fe10d84250aeee365db244251d40934c70ff1e9" datatype="html">\n        <source>Purged Snapdirs</source>\n        <target>Buang Snapdirs</target>\n      </trans-unit>\n      <trans-unit id="6b22a5b780eda3c5d500cdac9c6d4f96978c38f1" datatype="html">\n        <source>OSDs have converted snapsets</source>\n        <target>OSD memiliki snapset yang dikonversi</target>\n      </trans-unit>\n      <trans-unit id="c42f0ba60564dc5b977a8c7f3fdcde9efbb39c60" datatype="html">\n        <source>Recovery Deletes</source>\n        <target>Pulihkan yang telah dihapus</target>\n      </trans-unit>\n      <trans-unit id="72fe39979198ea2ed6db6274b5029025cb316d90" datatype="html">\n        <source>Deletes performed during recovery instead of peering</source>\n        <target>Penghapusan dilakukan saat pemulihan bukan saat bermitra</target>\n      </trans-unit>\n      <trans-unit id="1bb4a1f9127cefe624c173557a716d0ebb6d647c" datatype="html">\n        <source>PG Log Hard Limit</source>\n        <target>Batas Maks Log PG</target>\n      </trans-unit>\n      <trans-unit id="e03c0321397fdf7a9c22e8d6b5015424943c0a57" datatype="html">\n        <source>Puts a hard limit on pg log length</source>\n        <target>Taruh batas maks pada panjang log pg</target>\n      </trans-unit>\n      <trans-unit id="3c384e2e80c6b5eb24861fbf4225b69486cff4a3" datatype="html">\n        <source>Updated OSD Flags</source>\n        <target>Flag OSD diperbarui</target>\n      </trans-unit>\n      <trans-unit id="688578fcc739d6f0c5fb6c366dbb19d21c6d9e36" datatype="html">\n        <source>out</source>\n        <target>keluar</target>\n      </trans-unit>\n      <trans-unit id="cb0f69bdd4dea41d7d45c74b6e07f98de8a2ab26" datatype="html">\n        <source>in</source>\n        <target>masuk</target>\n      </trans-unit>\n      <trans-unit id="b5fbc7c7f007dd53b2318525bb7ff8b0376c9e37" datatype="html">\n        <source>down</source>\n        <target>gugur</target>\n      </trans-unit>\n      <trans-unit id="b58719bcb9184e1a7884d00d22d10899d59bf295" datatype="html">\n        <source>Mark</source>\n        <target>Tandai</target>\n      </trans-unit>\n      <trans-unit id="31a1c1aa03f1e5084750bedb4e3fdc04ce2cb6ca" datatype="html">\n        <source>OSD lost</source>\n        <target>OSD hilang</target>\n      </trans-unit>\n      <trans-unit id="f3fc4c85c5b8f1dedea0496b72d0af9da7b9e0d9" datatype="html">\n        <source>marked lost</source>\n        <target>ditandai hilang</target>\n      </trans-unit>\n      <trans-unit id="40fedc157ad899a18ec40573f770d18b040959d2" datatype="html">\n        <source>Purge</source>\n        <target>Buang</target>\n      </trans-unit>\n      <trans-unit id="c8b1475105463088593de1022ff6dceb523eae0e" datatype="html">\n        <source>OSD</source>\n        <target>OSD</target>\n      </trans-unit>\n      <trans-unit id="4f3cff08c7033b63bbccfe66006b1bcaea48ddd8" datatype="html">\n        <source>purged</source>\n        <target>dibuang</target>\n      </trans-unit>\n      <trans-unit id="8e5d1b01eca6dce26a4751f0b19bda7a6ab8db5b" datatype="html">\n        <source>destroy</source>\n        <target>hancurkan</target>\n      </trans-unit>\n      <trans-unit id="495a06b78bf165a7b545fa002137f0846b094a3d" datatype="html">\n        <source>destroyed</source>\n        <target>dihancurkan</target>\n      </trans-unit>\n      <trans-unit id="107614b994f2b01abdc1ca179bf780b0cd933ec4" datatype="html">\n        <source>Recovery Priority</source>\n        <target>Recovery Priority</target>\n      </trans-unit>\n      <trans-unit id="359dad5a3a912ef9dece3194035020856805aa96" datatype="html">\n        <source>PG scrub</source>\n        <target>PG scrub</target>\n      </trans-unit>\n      <trans-unit id="953144c420c2e5abd02e6a687433eac60fa852bd" datatype="html">\n        <source>PGs</source>\n        <target>PG</target>\n      </trans-unit>\n      <trans-unit id="7d3523ea9d35c274cef84043de8a2fdde540a9a1" datatype="html">\n        <source>Read bytes</source>\n        <target>Bita baca</target>\n      </trans-unit>\n      <trans-unit id="ecbe2fdca919499125bc42c2c67cedae8563db1c" datatype="html">\n        <source>Writes bytes</source>\n        <target>Bita tulis</target>\n      </trans-unit>\n      <trans-unit id="f3c33322823c846b13f59ba2c8f234405bba99e1" datatype="html">\n        <source>Read ops</source>\n        <target>Ops baca</target>\n      </trans-unit>\n      <trans-unit id="7e0b24a17546cbfab48b03dc874461d1ca68bc9a" datatype="html">\n        <source>Write ops</source>\n        <target>Ops tulis</target>\n      </trans-unit>\n      <trans-unit id="d45455406092f58e6b089cb440b5b7934b801a01" datatype="html">\n        <source>Mark OSD \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </source>\n        <target>Mark OSD \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="de0b7806e451b3b3dbd564decba59981fe781c18" datatype="html">\n        <source>Mark \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </source>\n        <target>Mark \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="bba1d3bb4f8a47aa2b3068e242562196eadb1e83" datatype="html">\n        <source>PG scrub options</source>\n        <target>PG scrub options</target>\n      </trans-unit>\n      <trans-unit id="b0b7748ebc9b7a6942a8cac4a89d4b215b365878" datatype="html">\n        <source>Updated PG scrub options</source>\n        <target>Updated PG scrub options</target>\n      </trans-unit>\n      <trans-unit id="4edc2162af0bd6cd941eaf730d20a7e3b5a83ba7" datatype="html">\n        <source>Max Backfills</source>\n        <target>Maks Penambalan</target>\n      </trans-unit>\n      <trans-unit id="eb5e6c24a48a1dfe23e0a772b762be5e949c0c8a" datatype="html">\n        <source>Recovery Max Active</source>\n        <target>Maks Pemulihan Aktif</target>\n      </trans-unit>\n      <trans-unit id="4a23c6d3859e03184118620d2baeb736ac765fbf" datatype="html">\n        <source>Recovery Max Single Start</source>\n        <target>Maks Menjalankan Pemulihan Tunggal</target>\n      </trans-unit>\n      <trans-unit id="97049169ef5228fd1724de2fcdad1fec2858eaf8" datatype="html">\n        <source>Recovery Sleep</source>\n        <target>Jeda Pemulihan</target>\n      </trans-unit>\n      <trans-unit id="a5c05002b0ac2040f1aede5e727e0ffd06eda819" datatype="html">\n        <source>Custom</source>\n        <target>Ubahsuai</target>\n      </trans-unit>\n      <trans-unit id="89553524f4e7db5c437b07dcfdc7b831d56ded1a" datatype="html">\n        <source>Updated OSD recovery speed priority "\n          <x id="INTERPOLATION" equiv-text="{{value}}"/>"\n        </source>\n        <target>Updated OSD recovery speed priority "\n          <x id="INTERPOLATION" equiv-text="{{value}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="ccf5f30798c03d2d8efd0e6eb508320c018b722d" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{operation}}"/> was initialized in the following OSD(s): \n          <x id="INTERPOLATION_1" equiv-text="{{id}}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{operation}}"/> was initialized in the following OSD(s): \n          <x id="INTERPOLATION_1" equiv-text="{{id}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="9836e830d0219585b36d53be00a31c3d4798a4aa" datatype="html">\n        <source>Smartctl has received an unknown argument (error code\n          <x id="INTERPOLATION" equiv-text="{{smartData.smartctl_error_code}}"/>). You may be using an\n                incompatible version of smartmontools. Version &gt;= 7.0 of\n                smartmontools is required to succesfully retrieve data.\n        </source>\n        <target>Smartctl has received an unknown argument (error code\n          <x id="INTERPOLATION" equiv-text="{{smartData.smartctl_error_code}}"/>). You may be using an\n                incompatible version of smartmontools. Version &gt;= 7.0 of\n                smartmontools is required to succesfully retrieve data.\n        </target>\n      </trans-unit>\n      <trans-unit id="d5fd840374ca1a6f394bcd81f390a6dca27f8224" datatype="html">\n        <source>An error with error code \n          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.\n        </source>\n        <target>An error with error code \n          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.\n        </target>\n      </trans-unit>\n      <trans-unit id="a0b59d7139692bb8d8ed786b6eb6e9e70ce743f3" datatype="html">\n        <source>Raw</source>\n        <target>Raw</target>\n      </trans-unit>\n      <trans-unit id="2f3beddc8234b30fb26a7f63ba2f1ea74f2ed6f7" datatype="html">\n        <source>Threshold</source>\n        <target>Threshold</target>\n      </trans-unit>\n      <trans-unit id="4654b5a68af3c8bad29aa14ca85ccea1f3143c6b" datatype="html">\n        <source>When Failed</source>\n        <target>When Failed</target>\n      </trans-unit>\n      <trans-unit id="5b7f56d5be49fb8e8d8f40209d6746f8f72e9177" datatype="html">\n        <source>Worst</source>\n        <target>Worst</target>\n      </trans-unit>\n      <trans-unit id="1edb8e46b0fac57c5feb3d7d3585afc0122d5481" datatype="html">\n        <source>Create silence</source>\n        <target>Create silence</target>\n      </trans-unit>\n      <trans-unit id="78917e8031aaf913ac3fa63295325ce8879703ce" datatype="html">\n        <source>Job</source>\n        <target>Tugas</target>\n      </trans-unit>\n      <trans-unit id="94287619205068b591c18493c64781424864c259" datatype="html">\n        <source>Severity</source>\n        <target>Keparahan</target>\n      </trans-unit>\n      <trans-unit id="e6cfbe0c5e0302ba2cec22315f6a28f8ac46b651" datatype="html">\n        <source>Started</source>\n        <target>Dimulai</target>\n      </trans-unit>\n      <trans-unit id="801b98c6f02fe3b32f6afa3ee854c99ed83474e6" datatype="html">\n        <source>URL</source>\n        <target>URL</target>\n      </trans-unit>\n      <trans-unit id="a5cd682a8a33bdc72e093d059429e3cc3a50ec1d" datatype="html">\n        <source>silence</source>\n        <target>silence</target>\n      </trans-unit>\n      <trans-unit id="f557e117e059e7036c6eecacd325a6ae35d866e0" datatype="html">\n        <source>Attribute name</source>\n        <target>Attribute name</target>\n      </trans-unit>\n      <trans-unit id="50f7f517ad8158667f7d4e2bd6f3256e05156e75" datatype="html">\n        <source>Regular expression</source>\n        <target>Regular expression</target>\n      </trans-unit>\n      <trans-unit id="81b1eab399c47110d50f45e3ccb4c009de7cb581" datatype="html">\n        <source>Please add your Prometheus host to the dashboard configuration and refresh the page</source>\n        <target>Please add your Prometheus host to the dashboard configuration and refresh the page</target>\n      </trans-unit>\n      <trans-unit id="29b4ae3296e239446fa0dea88a5112de15cffa54" datatype="html">\n        <source>Created by</source>\n        <target>Created by</target>\n      </trans-unit>\n      <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc" datatype="html">\n        <source>Updated</source>\n        <target>Diperbarui</target>\n      </trans-unit>\n      <trans-unit id="8d833cceee0ba4c5161b130365e02bc1e129b57e" datatype="html">\n        <source>Ends</source>\n        <target>Ends</target>\n      </trans-unit>\n      <trans-unit id="46a11ff4289e8c88b1b7a935f8d8ee704055f11a" datatype="html">\n        <source>Silence</source>\n        <target>Silence</target>\n      </trans-unit>\n      <trans-unit id="f392abfbb997402ce2aebb13e660a8f01dec54db" datatype="html">\n        <source>Service type</source>\n        <target>Service type</target>\n      </trans-unit>\n      <trans-unit id="9ffa91b056fb979786627885651e19c8275675cd" datatype="html">\n        <source>Service instance</source>\n        <target>Service instance</target>\n      </trans-unit>\n      <trans-unit id="b5910192a9ac4816638ff6383b03f986ff965796" datatype="html">\n        <source>Container id</source>\n        <target>Container id</target>\n      </trans-unit>\n      <trans-unit id="60ab9cce12a56cdc5ec6a1b699f8c7afecd629d5" datatype="html">\n        <source>Rados config location</source>\n        <target>Rados config location</target>\n      </trans-unit>\n      <trans-unit id="dfa409f831c9168a377bdee02c5ea6aaf9b2bf61" datatype="html">\n        <source>Service URL</source>\n        <target>Service URL</target>\n      </trans-unit>\n      <trans-unit id="bf2468fd965b8a59c135ad549b3a612aa9873abc" datatype="html">\n        <source>Status Description</source>\n        <target>Status Description</target>\n      </trans-unit>\n      <trans-unit id="fb2e1bed329dc5b84197808c778abb9edcbdb335" datatype="html">\n        <source>Used</source>\n        <target>Terpakai</target>\n      </trans-unit>\n      <trans-unit id="4f1ab04d9100fb0df0e62b921ec46ae052ae29fc" datatype="html">\n        <source>Avail.</source>\n        <target>Tersedia</target>\n      </trans-unit>\n      <trans-unit id="a1c9b3d4fa67450fe9afd1d726f8a1bd91d990ea" datatype="html">\n        <source>Clean</source>\n        <target>Bersih</target>\n      </trans-unit>\n      <trans-unit id="0054f5460090d6dde385e8f099d598df5d28cf54" datatype="html">\n        <source>Working</source>\n        <target>Bekerja</target>\n      </trans-unit>\n      <trans-unit id="a8059e31694578c1b0344a76a345357dd60e8f01" datatype="html">\n        <source>Warning</source>\n        <target>Peringatan</target>\n      </trans-unit>\n      <trans-unit id="e5d8bb389c702588877f039d72178f219453a72d" datatype="html">\n        <source>Unknown</source>\n        <target>Tidak diketahui</target>\n      </trans-unit>\n      <trans-unit id="88155be1b9b9c6140d6e8f93bac4a775cfdc6671" datatype="html">\n        <source>Healthy</source>\n        <target>Healthy</target>\n      </trans-unit>\n      <trans-unit id="8a3aec4dc1a6e2d4c612ae85e0537acbb20a0f85" datatype="html">\n        <source>Misplaced</source>\n        <target>Misplaced</target>\n      </trans-unit>\n      <trans-unit id="ee81f9bf7ceac69712e0b83e8adc268739f9673e" datatype="html">\n        <source>Degraded</source>\n        <target>Degraded</target>\n      </trans-unit>\n      <trans-unit id="14625bc4025daef1969777a67a3cca27e0cd9167" datatype="html">\n        <source>Unfound</source>\n        <target>Unfound</target>\n      </trans-unit>\n      <trans-unit id="8f23ea509d081c2f747d083d44608dbf125b2ea2" datatype="html">\n        <source>replicas</source>\n        <target>replicas</target>\n      </trans-unit>\n      <trans-unit id="129a2224e1f9d19eb5e11e2a07fe10a785556484" datatype="html">\n        <source>up</source>\n        <target>nyala</target>\n      </trans-unit>\n      <trans-unit id="d5f29cf0af691726483262d647eb6622be002512" datatype="html">\n        <source>no filesystems</source>\n        <target>tidak ada filesistem</target>\n      </trans-unit>\n      <trans-unit id="b1c4387ffab06f3fa9fdb4411aea955595538d44" datatype="html">\n        <source>active</source>\n        <target>aktif</target>\n      </trans-unit>\n      <trans-unit id="1aaf7054d826f2cb05ec3e88a5a4b8116861e1f5" datatype="html">\n        <source>standby</source>\n        <target>siaga</target>\n      </trans-unit>\n      <trans-unit id="c9a1080024dca344a48acdb77fa2d54e059f7254" datatype="html">\n        <source>n/a</source>\n        <target>n/a</target>\n      </trans-unit>\n      <trans-unit id="84a1787b6df375847c70f782861d7e7f8f43bff4" datatype="html">\n        <source>active daemon</source>\n        <target>daemon aktif</target>\n      </trans-unit>\n      <trans-unit id="24407dc2ebfafaf6b131ee978683b893c3f1d763" datatype="html">\n        <source>quorum</source>\n        <target>kuorum</target>\n      </trans-unit>\n      <trans-unit id="2fa50bc07995c6ea660412294298ded39fcb08d9" datatype="html">\n        <source>The NFS Ganesha service is not configured.</source>\n        <target>Layanan NFS Ganesha belum dikonfigurasi.</target>\n      </trans-unit>\n      <trans-unit id="af1396bdc49f45ea6c4a1e414769f5e2a382c834" datatype="html">\n        <source>Transport</source>\n        <target>Transport</target>\n      </trans-unit>\n      <trans-unit id="b6a0e176d96c4feed2e975a039c044fcf822e152" datatype="html">\n        <source>CephFS User</source>\n        <target>Pengguna CephFS</target>\n      </trans-unit>\n      <trans-unit id="44dc610cf201a163e8c38da810acec9596930bb3" datatype="html">\n        <source>CephFS Filesystem</source>\n        <target>Filesistem CephFS</target>\n      </trans-unit>\n      <trans-unit id="db6dc7124be83c7055cb0f2719e31f2f9d46fd3d" datatype="html">\n        <source>(inherited from global config)</source>\n        <target>(diturunkan dari konfig global)</target>\n      </trans-unit>\n      <trans-unit id="e1f97bb86f991553ec7b535cb39e7eaa99dfcfe2" datatype="html">\n        <source>inherited from global config</source>\n        <target>diturunkan dari konfig global</target>\n      </trans-unit>\n      <trans-unit id="e751800766277e7c2edd652cec7a7a1a68a37852" datatype="html">\n        <source>-- Select what kind of user id squashing is performed --</source>\n        <target>-- Pilih jenis squashing id pengguna yang akan dilakukan --</target>\n      </trans-unit>\n      <trans-unit id="4b58387f911e8a7b135a0c4d76c70335c65bbb32" datatype="html">\n        <source>There are no daemons available.</source>\n        <target>Tidak ada daemon tersedia.</target>\n      </trans-unit>\n      <trans-unit id="18ae8dc1264f06df7ea251175ada2ac1b8401018" datatype="html">\n        <source>NFS export</source>\n        <target>NFS export</target>\n      </trans-unit>\n      <trans-unit id="ae128527ec18892f812a62a1fd15dc50a38060c0" datatype="html">\n        <source>EC Profile</source>\n        <target>EC Profile</target>\n      </trans-unit>\n      <trans-unit id="60fb10c145f9c7ede2b9ddf9b2b0b0f6191d0ebd" datatype="html">\n        <source>Cache Mode</source>\n        <target>Mode Cache</target>\n      </trans-unit>\n      <trans-unit id="fa5bfad31d4139f6871443bb74324ffda5cad3e6" datatype="html">\n        <source>Min Evict Age</source>\n        <target>Min Waktu Usir</target>\n      </trans-unit>\n      <trans-unit id="fd0eb851666df45c34c76fabcda79b0d77bc910b" datatype="html">\n        <source>Min Flush Age</source>\n        <target>Min Waktu Buang</target>\n      </trans-unit>\n      <trans-unit id="cb54d2c420a534cee0c308ea5589f8c394ef8d67" datatype="html">\n        <source>Target Max Bytes</source>\n        <target>Target Maks Bita</target>\n      </trans-unit>\n      <trans-unit id="07f4ebe6615dca466818ffdae2a69ee217d265fb" datatype="html">\n        <source>Target Max Objects</source>\n        <target>Target Maks Objek</target>\n      </trans-unit>\n      <trans-unit id="eaa8f4df53cf7fa78d078e20a701d10f3dccd77d" datatype="html">\n        <source>No applications added</source>\n        <target>Tidak ada aplikasi ditambahkan</target>\n      </trans-unit>\n      <trans-unit id="321c2a7640f11177ea49b0857b94c4b70830c0e6" datatype="html">\n        <source>Applications limit reached</source>\n        <target>Batas aplikasi tercapai</target>\n      </trans-unit>\n      <trans-unit id="519d27742b74fadc8336777452f78891e98aa1dc" datatype="html">\n        <source>A pool can only have up to four applications definitions.</source>\n        <target>Sebuah pool hanya dapat memiliki empat definisi aplikasi.</target>\n      </trans-unit>\n      <trans-unit id="b5bec3813f0d45daa7eb9471272969e1bc3e734e" datatype="html">\n        <source>Allowed characters \'_a-zA-Z0-9\'</source>\n        <target>Karakter diperbolehkan \'_a-zA-Z0-9\'</target>\n      </trans-unit>\n      <trans-unit id="807472d29602a0085bce62e534bd66208982c2e2" datatype="html">\n        <source>Maximum length is 128 characters</source>\n        <target>Panjang maksimum 128 karakter</target>\n      </trans-unit>\n      <trans-unit id="37785748b9ac9ad1d3e4b111ac502c3284afe84b" datatype="html">\n        <source>Filter or add applications</source>\n        <target>Saring atau tambah aplikasi</target>\n      </trans-unit>\n      <trans-unit id="38c7b8610ca87835e13eeee6a09ba1c414cd5cb9" datatype="html">\n        <source>Add application</source>\n        <target>Tambah aplikasi</target>\n      </trans-unit>\n      <trans-unit id="db8c42f077700d8a94619fad9f4c94b7361d5f1d" datatype="html">\n        <source>pool</source>\n        <target>pool</target>\n      </trans-unit>\n      <trans-unit id="65bb2be83261bc4798853bbccdedc110c43feea7" datatype="html">\n        <source>erasure code profile</source>\n        <target>profil erasure code</target>\n      </trans-unit>\n      <trans-unit id="112d356ad6846959ca4aa5ec9a1f0d9d473b24ec" datatype="html">\n        <source>Replica Size</source>\n        <target>Ukuran Replikasi</target>\n      </trans-unit>\n      <trans-unit id="ec50492db341fa752b023d8c924601286b6c9c0c" datatype="html">\n        <source>Last Change</source>\n        <target>Perubahan Terakhir</target>\n      </trans-unit>\n      <trans-unit id="563a8c136a9d423bc7ae1269a404d6da5fd83dad" datatype="html">\n        <source>Erasure Coded Profile</source>\n        <target>Profil Erasure Code</target>\n      </trans-unit>\n      <trans-unit id="0ad7f0662956cff61ac1208f92b1a0305b1b2e58" datatype="html">\n        <source>Crush Ruleset</source>\n        <target>Aturan Crush</target>\n      </trans-unit>\n      <trans-unit id="f15bf7f588f09ca79795b17bc244e8d336f28171" datatype="html">\n        <source>Write bytes</source>\n        <target>Bita tulis</target>\n      </trans-unit>\n      <trans-unit id="bcc365a084b6145b941b371bd4c2b6c3d2c79234" datatype="html">\n        <source>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</source>\n        <target>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</target>\n      </trans-unit>\n      <trans-unit id="44939fd05cedfd077db886528b755e77d5fa3885" datatype="html">\n        <source>bucket</source>\n        <target>buket</target>\n      </trans-unit>\n      <trans-unit id="84fee774286ec4191311f1277075455c3ea5e2e2" datatype="html">\n        <source>Updated Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>".\n        </source>\n        <target>Updated Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="2d7a43674f0bbc131c9e555ec16ac37fa0445d76" datatype="html">\n        <source>Created Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>"\n        </source>\n        <target>Created Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="ec40d74ecfb1d6d60455af6805c9a714a3f5750a" datatype="html">\n        <source>buckets</source>\n        <target>buket</target>\n      </trans-unit>\n      <trans-unit id="764585d5595bac113582ee14a6fd07006770ceb1" datatype="html">\n        <source>capability</source>\n        <target>capability</target>\n      </trans-unit>\n      <trans-unit id="0914cbe18bae204217e1851be6d2d24d86e74605" datatype="html">\n        <source>user</source>\n        <target>pengguna</target>\n      </trans-unit>\n      <trans-unit id="d8c86dc5e48a63590d9c94e19f90b5f8325cbd49" datatype="html">\n        <source>subuser</source>\n        <target>subuser</target>\n      </trans-unit>\n      <trans-unit id="f45a3de8a8b40d161cc36a55d77548a27107ca04" datatype="html">\n        <source>S3 Key</source>\n        <target>S3 Key</target>\n      </trans-unit>\n      <trans-unit id="854a763265e92f91ba3ccee1a0e8d823be584f7c" datatype="html">\n        <source>Updated Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </source>\n        <target>Updated Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="84ab3fd641e65e39cffee0ec722a059ed284229e" datatype="html">\n        <source>Created Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </source>\n        <target>Created Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="7c7f4be7b726e61c577e63842a58d9e435f7c597" datatype="html">\n        <source>users</source>\n        <target>pengguna</target>\n      </trans-unit>\n      <trans-unit id="9f7760223efd77806f1bbaf963e6993bb4bc6a0a" datatype="html">\n        <source>Swift Key</source>\n        <target>Swift Key</target>\n      </trans-unit>\n      <trans-unit id="1481b8488e10dbc437accce89d2ae35a0106e8ba" datatype="html">\n        <source>Scope</source>\n        <target>Cakupan</target>\n      </trans-unit>\n      <trans-unit id="9b1d5e95f6bdcfb4b737413f5fa157e0dcb103d5" datatype="html">\n        <source>Read</source>\n        <target>Baca</target>\n      </trans-unit>\n      <trans-unit id="70a67e04629f6d412db0a12d51820b480788d795" datatype="html">\n        <source>Create</source>\n        <target>Buat</target>\n      </trans-unit>\n      <trans-unit id="dc4fba275819619ee78e8eae14d357ea69ba7477" datatype="html">\n        <source>role</source>\n        <target>role</target>\n      </trans-unit>\n      <trans-unit id="fe6ee93173884201ec62d62ba173c3de85ae177e" datatype="html">\n        <source>Created role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Created role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="41c032df0732f4318f8213fabd0719ac347d4b6c" datatype="html">\n        <source>Updated role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Updated role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="50e22b5289f79f1417369403345c9fa9911a4557" datatype="html">\n        <source>System Role</source>\n        <target>Peran Sistem</target>\n      </trans-unit>\n      <trans-unit id="7f132668e2dbfcf616381d2daf59d1a6f2698102" datatype="html">\n        <source>Deleted role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Deleted role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="2e35d60a14ce0b470e8b54602864a867f7fcef40" datatype="html">\n        <source>There are no roles.</source>\n        <target>There are no roles.</target>\n      </trans-unit>\n      <trans-unit id="d2362a49d2434ce137bf19dab004251b7fd9c7b3" datatype="html">\n        <source>Created user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Created user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="9910122dfedd2eaa544a990f1430e5b82a76d99f" datatype="html">\n        <source>Update user</source>\n        <target>Perbarui pengguna</target>\n      </trans-unit>\n      <trans-unit id="ac10a3d9b59575640797c1a8e6aea642cf5d5e77" datatype="html">\n        <source>Continue</source>\n        <target>Lanjutkan</target>\n      </trans-unit>\n      <trans-unit id="cf4bcf4ce3d551e6099ccdc3546ae418fe5f8038" datatype="html">\n        <source>You were automatically logged out because your roles have been changed.</source>\n        <target>Anda dikeluarkan otomatis karena peran Anda telah berubah.</target>\n      </trans-unit>\n      <trans-unit id="0f6003fb0c1cc73b89d225801cc1b870945cd259" datatype="html">\n        <source>Updated user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Updated user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="fe516c6d820018fdc971113935e22ec1e852965f" datatype="html">\n        <source>Deleted user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Deleted user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="01a7e11502ff80421ef3615e533ea14ef57e1d5c" datatype="html">\n        <source>Failed to delete user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Failed to delete user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="63316a3861dbcb035147efc1b9fb6bc708242e94" datatype="html">\n        <source>You are currently logged in as "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>".\n        </source>\n        <target>You are currently logged in as "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="d8b81951d25439864e92f750f7c99d7426d6517c" datatype="html">\n        <source>password</source>\n        <target>password</target>\n      </trans-unit>\n      <trans-unit id="d361a9b5e1f7985a12c0433388f31626525a02b8" datatype="html">\n        <source>Updated user password"</source>\n        <target>Updated user password"</target>\n      </trans-unit>\n      <trans-unit id="1d7fbcc3d5efc946ffbcf86fed04c4e20dda20fb" datatype="html">\n        <source>Each object is split in data-chunks parts, each stored on a different OSD.</source>\n        <target>Tiap objek dipecah dalam pecahan-data, masing-masing disimpan pada OSD yang berbeda.</target>\n      </trans-unit>\n      <trans-unit id="b1f8ed4e216585f1f9134740002ef3c8501debd8" datatype="html">\n        <source>Compute coding chunks for each object and store them on different OSDs.\n      The number of coding chunks is also the number of OSDs that can be down without losing data.</source>\n        <target>Hitung pecahan coding untuk tiap objek dan simpan pada OSD yang berbeda.\nJumlah pecahan data juga menjadi jumlah OSD yang diperbolehkan mati tanpa kehilangan data.</target>\n      </trans-unit>\n      <trans-unit id="c437ee74a9a8e781e1380153f742a685e3b8cc5e" datatype="html">\n        <source>The jerasure plugin is the most generic and flexible plugin,\n          it is also the default for Ceph erasure coded pools.</source>\n        <target>Plugin jerasure merupakan plugin paling umum dan fleksibel,\nserta merupakan plugin bawaan Ceph untuk pool erasure code.</target>\n      </trans-unit>\n      <trans-unit id="8c7e19322851402afa67e41f4f1d4e531caf1bf5" datatype="html">\n        <source>The more flexible technique is reed_sol_van : it is enough to set k\n          and m. The cauchy_good technique can be faster but you need to chose the packetsize\n          carefully. All of reed_sol_r6_op, liberation, blaum_roth, liber8tion are RAID6 equivalents\n          in the sense that they can only be configured with m=2.</source>\n        <target>Teknik yang lebih fleksibel yaitu reed_sol_van : cukup mengeset k\ndan m. Teknik cauchy_good bisa lebih cepat, namun Anda harus memilih ukuran paket\ndengan seksama. Semua reed_sol_r6_op, liberation, blaum_roth, liber8tion setara dengan RAID6\ndalam hal mereka hanya bisa diatur dengan m=2.</target>\n      </trans-unit>\n      <trans-unit id="b1b11f49281b4e79219b4eecfbcb033cb15bd880" datatype="html">\n        <source>The encoding will be done on packets of bytes size at a time.\n          Chosing the right packet size is difficult.\n          The jerasure documentation contains extensive information on this topic.</source>\n        <target>Penyandian dilakukan setiap saat pada ukuran bita paket.\nSulit untuk menentukan ukuran paket yang tepat.\nSilakan cek dokumentasi jerasure untuk informasi lebih mendalam.</target>\n      </trans-unit>\n      <trans-unit id="d9cb3bc07a25b26fbea457e0a7b543340bc13c49" datatype="html">\n        <source>With the jerasure plugin, when an erasure coded object is stored on\n          multiple OSDs, recovering from the loss of one OSD requires reading from all the others.\n          For instance if jerasure is configured with k=8 and m=4, losing one OSD requires reading\n          from the eleven others to repair.\n\n          The lrc erasure code plugin creates local parity chunks to be able to recover using\n          less OSDs. For instance if lrc is configured with k=8, m=4 and l=4, it will create\n          an additional parity chunk for every four OSDs. When a single OSD is lost, it can be\n          recovered with only four OSDs instead of eleven.</source>\n        <target>Pada plugin jerasure, saat objek dengan erasure code disimpan pada\nbanyak OSD, pemulihan dari OSD yang hilang membutuhkan akses dari OSD lainnya.\nContoh, saat jerasure dikonfigurasi dengan k=8 dan m=4, saat satu OSD mati, maka pemulihan akan membutuhkan pembacaan dari tujuh OSD lainnya.\n\nPlugin lrc erasure code membuat pecahan paritas lokal agar dapat memulihkan \ndengan OSD yang lebih sedikit. Contoh, jika lrc dikonfigurasi dengan k=8, m=4, dan l=4, maka lrc akan\nmembuat pecahan paritas tambahan tiap empat OSD. Saat satu OSD mati, maka pemulihan dapat dilakukan hanya dengan 4 OSD, alih-alih 7 OSD.</target>\n      </trans-unit>\n      <trans-unit id="813959d46e63a29bbd266b3af2ff9414c2ef553c" datatype="html">\n        <source>Group the coding and data chunks into sets of size locality. For instance,\n          for k=4 and m=2, when locality=3 two groups of three are created. Each set can\n          be recovered without reading chunks from another set.</source>\n        <target>Kelompokkan pecahan data dan coding ke dalam ukuran lokalitas. Controh\nuntuk k=4 dan m=2, saat lokalitas=3 dua grup dari tiga akan dibuat. Setiap set akan\ndipulihkan tanpa membaca pecahan dari set lainnya.</target>\n      </trans-unit>\n      <trans-unit id="f0ff63d92e0a1b4d4b51e31b9133802d160a5f4c" datatype="html">\n        <source>The type of the crush bucket in which each set of chunks defined\n          by l will be stored. For instance, if it is set to rack, each group of l chunks will be\n          placed in a different rack. It is used to create a CRUSH rule step such as step choose\n          rack. If it is not set, no such grouping is done.</source>\n        <target>Tipe buket crush setiap set pecahan yang didefinisikan oleh l  \nakan disimpan. Contoh, jika diset pada rak, tiap grup pecahan l akan \nditempatkan pada rak berbeda. Ini akan digunakan pada aturan step CRUSH yaitu \nmemilih tiap rak. Jika tidak diset, tidak akan ada pengelompokkan.</target>\n      </trans-unit>\n      <trans-unit id="3ece48df9d1e9a98f98bf3c5cc66e8b637020a4d" datatype="html">\n        <source>The isa plugin encapsulates the ISA library. It only runs on Intel processors.</source>\n        <target>Plugin isa menghimpun perpustakaan ISA. Hanya dapat berjalan pada prosesor Intel.</target>\n      </trans-unit>\n      <trans-unit id="4472c9e31bfc7d96a83dc4afce0a6e885c99e839" datatype="html">\n        <source>The ISA plugin comes in two Reed Solomon forms.\n          If reed_sol_van is set, it is Vandermonde, if cauchy is set, it is Cauchy.</source>\n        <target>Plugin ISA memiliki dua jenis Reed Solomon.\nJika reed_sol_van diset, maka menjadi Vandermonde, jika cauchy diset, maka menjadi Cauchy.</target>\n      </trans-unit>\n      <trans-unit id="fa385f5ecf63083ec848dca8dc5e52bdc72ac6f6" datatype="html">\n        <source>The shec plugin encapsulates the multiple SHEC library.\n          It allows ceph to recover data more efficiently than Reed Solomon codes.</source>\n        <target>Plugin shec mengenkapsulasi banyak pustaka SHEC.\nHal ini agar ceph dapat dipulihkan dengan lebih efisien dari kode Reed Solomon.</target>\n      </trans-unit>\n      <trans-unit id="687b3cd94b3475c24ff4481d64d4739f902a377c" datatype="html">\n        <source>The number of parity chunks each of which includes each data chunk in its\n          calculation range. The number is used as a durability estimator. For instance, if c=2,\n          2 OSDs can be down without losing data.</source>\n        <target>Jumlah potongan paritas yang masing-masing mencakup setiap potongan data \ndalam rentang perhitungannya. Nilai ini digunakan untuk perkiraan daya tahan. Contoh, jika c=2, \n2 OSD dapat mati tanpa kehilangan data.</target>\n      </trans-unit>\n      <trans-unit id="f3c4af6df91bdaabdb715f8f0b61a24faf73a3bc" datatype="html">\n        <source>The name of the crush bucket used for the first step of the CRUSH rule.\n      For instance step take default.</source>\n        <target>Nama buket crush digunakan sebagai langkah pertama dari aturan CRUSH.\nContoh diambil langkah bawaan.</target>\n      </trans-unit>\n      <trans-unit id="e1059955a5ce65cdabf0c0a8207377e1f9bae57e" datatype="html">\n        <source>Ensure that no two chunks are in a bucket with the same failure\n      domain. For instance, if the failure domain is host no two chunks will be stored on the same\n      host. It is used to create a CRUSH rule step such as step chooseleaf host.</source>\n        <target>Memastikan tidak ada pecahan data berada pada buket dengan domain kegagalan\nyang sama. Contoh, saat domain gagal adalah hos, maka tidak ada pecahan data yang akan disimpan \npada hos yang sama. Aturan CRUSH seperti step chooseleaf hos akan digunakan untuk hal tersebut.</target>\n      </trans-unit>\n      <trans-unit id="ac392ac9c6da5fde6da80fc57b9c09402fb6e73d" datatype="html">\n        <source>Restrict placement to devices of a specific class\n      (e.g., ssd or hdd), using the crush device class names in the CRUSH map.</source>\n        <target>Batasi penempatan ke perangkat dengan kelas tertentu\n(cth. ssd atau hdd), menggunakan nama kelas perangkat crush pada peta CRUSH.</target>\n      </trans-unit>\n      <trans-unit id="62bcb9ae5583a088649b1adf5787a86ca3334f89" datatype="html">\n        <source>Set the directory name from which the erasure code plugin is loaded.</source>\n        <target>Set nama direktori empat plugin erasure code akan dimuat.</target>\n      </trans-unit>\n      <trans-unit id="c8f10184a8433d132ede0a2c0c1aa96f291cacfa" datatype="html">\n        <source>Allows all operations</source>\n        <target>Izinkan semua operasi</target>\n      </trans-unit>\n      <trans-unit id="82077ee97c11ee76efc3adf253b7b26654544317" datatype="html">\n        <source>Allows only operations that do not modify the server</source>\n        <target>Izinkan hanya untuk operasi yang tidak mengubah server</target>\n      </trans-unit>\n      <trans-unit id="22b5212ec10449dbf0a0af0ad34122eac51b5f2a" datatype="html">\n        <source>Does not allow read or write operations, but allows any other operation</source>\n        <target>Tidak diizinkan untuk operasi baca dan tulis, namun izinkan operasi lainnya</target>\n      </trans-unit>\n      <trans-unit id="9799d0f8c4b7727ae239fedfe3c0ce127feb7a50" datatype="html">\n        <source>Does not allow read, write, or any operation that modifies file        attributes or directory content</source>\n        <target>Tidak diizinkan untuk baca, tulis, atau operasi lainnya yang mengubah atribut berkas atau konten direktori</target>\n      </trans-unit>\n      <trans-unit id="aeddefe0af87025d8f00699aa94bed8216a99a58" datatype="html">\n        <source>Allows no access at all</source>\n        <target>Tidak diizinkan untuk semua hal</target>\n      </trans-unit>\n      <trans-unit id="a436c6a4025a749198e93cac239de8deede72211" datatype="html">\n        <source>-- Select the priority --</source>\n        <target>-- Pilih prioritas --</target>\n      </trans-unit>\n      <trans-unit id="9556266f0a2b1762a44b686f2bb21dbfefb01c12" datatype="html">\n        <source>Low</source>\n        <target>Rendah</target>\n      </trans-unit>\n      <trans-unit id="72279141a67cc042d9864102b703216cc8a428a3" datatype="html">\n        <source>High</source>\n        <target>Tinggi</target>\n      </trans-unit>\n      <trans-unit id="6080b77234e92ad41bb52653b239c4c4f851317d" datatype="html">\n        <source>Error</source>\n        <target>Error</target>\n      </trans-unit>\n      <trans-unit id="c43dc1967a603fefb886149ac35863a06d5b4ce5" datatype="html">\n        <source>Information</source>\n        <target>Informasi</target>\n      </trans-unit>\n      <trans-unit id="1e035e6ccfab771cad4226b2ad230cb0d4a88cba" datatype="html">\n        <source>Success</source>\n        <target>Success</target>\n      </trans-unit>\n      <trans-unit id="e6ca3c0efaf51e6d45a7f92f58bac37140c3fda4" datatype="html">\n        <source>Last 5 minutes</source>\n        <target>5 menit terakhir</target>\n      </trans-unit>\n      <trans-unit id="b0ecb2bbc548cc9bd95050fd8f0c84586d083fe2" datatype="html">\n        <source>Last 15 minutes</source>\n        <target>15 menit terakhir</target>\n      </trans-unit>\n      <trans-unit id="857ae67deb51353120b203b0f2a06b0c48ef49fa" datatype="html">\n        <source>Last 30 minutes</source>\n        <target>30 menit terakhir</target>\n      </trans-unit>\n      <trans-unit id="7b1738fad314e936dc14b94db8f43da736942308" datatype="html">\n        <source>Last 1 hour (Default)</source>\n        <target>1 Jam Terakhir (Bawaan)</target>\n      </trans-unit>\n      <trans-unit id="a428288224389726cef9d9bd8d1d7808cccd7ffd" datatype="html">\n        <source>Last 3 hours</source>\n        <target>3 jam terakhir</target>\n      </trans-unit>\n      <trans-unit id="7cbabecc8d80cf183ac199cfaeb7619d56e5d43f" datatype="html">\n        <source>Last 6 hours</source>\n        <target>6 jam terakhir</target>\n      </trans-unit>\n      <trans-unit id="1a389cdf64187d34cf99eec30a290e3fa7d4744f" datatype="html">\n        <source>Last 12 hours</source>\n        <target>12 jam terakhir</target>\n      </trans-unit>\n      <trans-unit id="9e0ba5f591380a94d594a76288f0c41aa97eb9c2" datatype="html">\n        <source>Last 24 hours</source>\n        <target>24 jam terakhir</target>\n      </trans-unit>\n      <trans-unit id="e430eda9c785cd43465b7cbb400ee914f1057247" datatype="html">\n        <source>Yesterday</source>\n        <target>Kemarin</target>\n      </trans-unit>\n      <trans-unit id="7fb1099e29660162f9154d5b2feee7743a423df6" datatype="html">\n        <source>Today</source>\n        <target>Hari ini</target>\n      </trans-unit>\n      <trans-unit id="33904058a97a64bd189bed84038b1ffe719769c7" datatype="html">\n        <source>Today so far</source>\n        <target>Sejauh hari ini</target>\n      </trans-unit>\n      <trans-unit id="3b0b849be007510021d3d383df75bec95ef9c97b" datatype="html">\n        <source>Day before yesterday</source>\n        <target>Kemarin dulu</target>\n      </trans-unit>\n      <trans-unit id="6b430c2c394c4d32ebd7d46c8c46ab60e1b29ccb" datatype="html">\n        <source>Last 2 days</source>\n        <target>2 hari terakhir</target>\n      </trans-unit>\n      <trans-unit id="d5e812a87a5d57a94200a2013027cab76a7c4863" datatype="html">\n        <source>This day last week</source>\n        <target>Hari ini minggu lalu</target>\n      </trans-unit>\n      <trans-unit id="d00edc936eeab6b5577401f115ca86ca2c87dc9a" datatype="html">\n        <source>Previous week</source>\n        <target>Minggu lalu</target>\n      </trans-unit>\n      <trans-unit id="b036e40577baa6b918b2267d319d4b3aeaa88a5a" datatype="html">\n        <source>This week</source>\n        <target>Minggu ini</target>\n      </trans-unit>\n      <trans-unit id="99ad5a6096b3fcb3f021f3779bae710cdfeb8934" datatype="html">\n        <source>This week so far</source>\n        <target>Sejauh minggu ini</target>\n      </trans-unit>\n      <trans-unit id="02e0243b60007368f87dc01e083f232dd025096d" datatype="html">\n        <source>Last 7 days</source>\n        <target>7 hari terakhir</target>\n      </trans-unit>\n      <trans-unit id="c3b08b07b5ab98e7cdcf18df39355690ab7d3884" datatype="html">\n        <source>Previous month</source>\n        <target>Bulan lalu</target>\n      </trans-unit>\n      <trans-unit id="1b2562c6d5aa90644e7dc91feee82e2005fceb33" datatype="html">\n        <source>This month</source>\n        <target>Bulan ini</target>\n      </trans-unit>\n      <trans-unit id="26b4b18c5917934abb169ba9aa490e57f7bf10b8" datatype="html">\n        <source>This month so far</source>\n        <target>Sejauh bulan ini</target>\n      </trans-unit>\n      <trans-unit id="7668986b9f753fcd72ad4a00b1a0c4861d1f7fb8" datatype="html">\n        <source>Last 30 days</source>\n        <target>30 hari terakhir</target>\n      </trans-unit>\n      <trans-unit id="ba1e822408d90c6fbd2989100fa648bfd5e8ee84" datatype="html">\n        <source>Last 90 days</source>\n        <target>90 hari terakhir</target>\n      </trans-unit>\n      <trans-unit id="c3df03f899a914c4181adcdc8a3f077424f7b6e8" datatype="html">\n        <source>Last 6 months</source>\n        <target>6 bulan terakhir</target>\n      </trans-unit>\n      <trans-unit id="7f9a92757580c9f31c309c0a3812ea429274eadf" datatype="html">\n        <source>Last 1 year</source>\n        <target>1 tahun terakhir</target>\n      </trans-unit>\n      <trans-unit id="5a9fede30ff65cb4b4426f6b1ed31afb67ecd7b0" datatype="html">\n        <source>Previous year</source>\n        <target>Tahun lalu</target>\n      </trans-unit>\n      <trans-unit id="65cefcc53d1f6445df7568e8a40c49165f1090ee" datatype="html">\n        <source>This year</source>\n        <target>Tahun ini</target>\n      </trans-unit>\n      <trans-unit id="1f68b766944dc3865bddab765fe952b0c1c43f92" datatype="html">\n        <source>This year so far</source>\n        <target>Sejauh tahun ini</target>\n      </trans-unit>\n      <trans-unit id="4d4b77e614f8043fdadef5d6d235655bb48eb311" datatype="html">\n        <source>Last 2 years</source>\n        <target>2 tahun terakhir</target>\n      </trans-unit>\n      <trans-unit id="138afa339ea6e75d25a474affe1edbcb90e00ec0" datatype="html">\n        <source>Last 5 years</source>\n        <target>5 tahun terakhir</target>\n      </trans-unit>\n      <trans-unit id="37391297bb077a6f84484930261b01a3ce38327b" datatype="html">\n        <source>No items selected.</source>\n        <target>Tidak ada yang dipilih.</target>\n      </trans-unit>\n      <trans-unit id="2c1e52ee832661b4a0f570877d24661736b16af1" datatype="html">\n        <source>Deselect item to select again</source>\n        <target>Batalkan memilih untuk memilih ulang</target>\n      </trans-unit>\n      <trans-unit id="c8c9c6e5918659336824bbdda3501c66eaa79a4c" datatype="html">\n        <source>Selection limit reached</source>\n        <target>Batas pemilihan tercapai</target>\n      </trans-unit>\n      <trans-unit id="02d184c288f567825a1fcbf83bcd3099a10853d5" datatype="html">\n        <source>Filter tags</source>\n        <target>Tanda penyaringan</target>\n      </trans-unit>\n      <trans-unit id="aa00748e49c269956837d6f3acdd8d218796a8d8" datatype="html">\n        <source>Add badge</source>\n        <target>Tambahkan lencana</target>\n      </trans-unit>\n      <trans-unit id="4078a92d8121abdce7d8f346a88914923ec835fc" datatype="html">\n        <source>There are no items available.</source>\n        <target>Tidak ada yang tersedia.</target>\n      </trans-unit>\n      <trans-unit id="f6755cff4957d5c3c89bafce5651f1b6fa2b1fd9" datatype="html">\n        <source>Add</source>\n        <target>Tambah</target>\n      </trans-unit>\n      <trans-unit id="019d4bd6a5690f0cfa0ecf346a4e6bf7f0d8debb" datatype="html">\n        <source>Remove</source>\n        <target>Remove</target>\n      </trans-unit>\n      <trans-unit id="54a4a3132b693575728a45a5f3154ad4c9af404b" datatype="html">\n        <source>Clone</source>\n        <target>Klon</target>\n      </trans-unit>\n      <trans-unit id="1979da7460819153e11d2078244645d94291b69c" datatype="html">\n        <source>Copy</source>\n        <target>Salin</target>\n      </trans-unit>\n      <trans-unit id="2e5e77dbaadd6588d8bbf737139fd9806294ae28" datatype="html">\n        <source>Deep Scrub</source>\n        <target>Deep Scrub</target>\n      </trans-unit>\n      <trans-unit id="bf463b189696c19769ea263227e6c22aefafb918" datatype="html">\n        <source>Destroy</source>\n        <target>Hancurkan</target>\n      </trans-unit>\n      <trans-unit id="b4e94d529ff10db4d86f3f48900fa67ede3411fd" datatype="html">\n        <source>Evict</source>\n        <target>Evict</target>\n      </trans-unit>\n      <trans-unit id="3747fff7faf52b436ecff5fb8555091736d92c70" datatype="html">\n        <source>Flatten</source>\n        <target>Ratakan</target>\n      </trans-unit>\n      <trans-unit id="66fdbf32e5449cc54a3d1e19c7b8f4ea238facfb" datatype="html">\n        <source>Mark Down</source>\n        <target>Tandai Gugur</target>\n      </trans-unit>\n      <trans-unit id="0cda3e824fb2f9c731e5a60b859dedc1fe03127e" datatype="html">\n        <source>Mark In</source>\n        <target>Tandai Masuk</target>\n      </trans-unit>\n      <trans-unit id="f833354f43cb38c5716faa8759a9bbdd1ab8f199" datatype="html">\n        <source>Mark Lost</source>\n        <target>Tandai Hilang</target>\n      </trans-unit>\n      <trans-unit id="75fb9f970ba365398c45e57bbb1019c009f6b832" datatype="html">\n        <source>Mark Out</source>\n        <target>Tandai Keluar</target>\n      </trans-unit>\n      <trans-unit id="45480c03b0a3a37ff8f6a5600a6a034b40fbaea4" datatype="html">\n        <source>Protect</source>\n        <target>Proteksi</target>\n      </trans-unit>\n      <trans-unit id="e26f9cf3666aace4e524b1505c9795d76d87738d" datatype="html">\n        <source>Rename</source>\n        <target>Ubah nama</target>\n      </trans-unit>\n      <trans-unit id="d5cec7468241d72cafd86ad1af6d55b09a6e3ae5" datatype="html">\n        <source>Restore</source>\n        <target>Pulihkan</target>\n      </trans-unit>\n      <trans-unit id="ba073985cfd2528c77a746ed596b2f2052b973c5" datatype="html">\n        <source>Move to Trash</source>\n        <target>Pindahkan ke Tempat Sampah</target>\n      </trans-unit>\n      <trans-unit id="3ea9b96a21a499d296a7f25407da0f3df6c2d5ed" datatype="html">\n        <source>Unprotect</source>\n        <target>Tidak diproteksi</target>\n      </trans-unit>\n      <trans-unit id="024cdb2814b0cb3f4ced148f1a0b9854447cb214" datatype="html">\n        <source>Change</source>\n        <target>Change</target>\n      </trans-unit>\n      <trans-unit id="011f3e2bfc1fd8407eb5f599352665bfeb145664" datatype="html">\n        <source>Recreate</source>\n        <target>Recreate</target>\n      </trans-unit>\n      <trans-unit id="6df2dfa48bef5510c82fb43f4e71a7f9557f3d71" datatype="html">\n        <source>Expire</source>\n        <target>Expire</target>\n      </trans-unit>\n      <trans-unit id="28df1b02fd88d2deb0212bc5d7ff34cf9492fa54" datatype="html">\n        <source>Deleted</source>\n        <target>Dihapus</target>\n      </trans-unit>\n      <trans-unit id="80e3b490720757978c99a7b5af3885faf202b955" datatype="html">\n        <source>Added</source>\n        <target>Added</target>\n      </trans-unit>\n      <trans-unit id="1aa4883bc4f1352f7a0bdd94810a9bf6dc22bd02" datatype="html">\n        <source>Removed</source>\n        <target>Removed</target>\n      </trans-unit>\n      <trans-unit id="402f3ee47f98fbbc68530239b1ddcbb9e96a460c" datatype="html">\n        <source>Edited</source>\n        <target>Edited</target>\n      </trans-unit>\n      <trans-unit id="96d56ec71c6e78cb4d6204c4a9359a3d38fcdb59" datatype="html">\n        <source>Canceled</source>\n        <target>Canceled</target>\n      </trans-unit>\n      <trans-unit id="a3318a2ee2bd0064b6b9ff72a4018b679ec63125" datatype="html">\n        <source>Cloned</source>\n        <target>Diklon</target>\n      </trans-unit>\n      <trans-unit id="ef90545bc832876c0d7f9a10363c75137472bbb5" datatype="html">\n        <source>Copied</source>\n        <target>Disalin</target>\n      </trans-unit>\n      <trans-unit id="5a13d3834133e09544ec93885662f181372dcf46" datatype="html">\n        <source>Deep Scrubbed</source>\n        <target>Deep Scrubbed</target>\n      </trans-unit>\n      <trans-unit id="7c9efb91434a5c15e9579c0b31c8e184b8c8240d" datatype="html">\n        <source>Destroyed</source>\n        <target>Destroyed</target>\n      </trans-unit>\n      <trans-unit id="647059bf3ea098fffedf92ddfad792bb3daa3c95" datatype="html">\n        <source>Flattened</source>\n        <target>Diratakan</target>\n      </trans-unit>\n      <trans-unit id="8df71e952319eafa71c8e6ef6144b780af8813ff" datatype="html">\n        <source>Marked Down</source>\n        <target>Marked Down</target>\n      </trans-unit>\n      <trans-unit id="25658f5a080a1cab3b91e17b756b1d1dc46bb9b3" datatype="html">\n        <source>Marked In</source>\n        <target>Marked In</target>\n      </trans-unit>\n      <trans-unit id="ebcf306036a6c5579df9448f77eca98d491db245" datatype="html">\n        <source>Marked Lost</source>\n        <target>Marked Lost</target>\n      </trans-unit>\n      <trans-unit id="3a8803369ac18be3ad762384b9fda095fe2a6dcc" datatype="html">\n        <source>Marked Out</source>\n        <target>Marked Out</target>\n      </trans-unit>\n      <trans-unit id="0fe2a62ea7c609fa8326ee6d38060bc5ba8bf34f" datatype="html">\n        <source>Protected</source>\n        <target>Protected</target>\n      </trans-unit>\n      <trans-unit id="69b0446c6c2411c4fe01e411b8ceec72d4044fb4" datatype="html">\n        <source>Purged</source>\n        <target>Dibuang</target>\n      </trans-unit>\n      <trans-unit id="d53de1a61bd51c815dc374c7f97e4ee69230e412" datatype="html">\n        <source>Renamed</source>\n        <target>Renamed</target>\n      </trans-unit>\n      <trans-unit id="86fc6cae82c095f14105eb8a61d7b3fa948304b7" datatype="html">\n        <source>Restored</source>\n        <target>Dipulihkan</target>\n      </trans-unit>\n      <trans-unit id="e87dd0fd35460cb743046db918dfce2137b5977a" datatype="html">\n        <source>Reweighted</source>\n        <target>Reweighted</target>\n      </trans-unit>\n      <trans-unit id="dc21fd6547f2325c67f6deff925f29eb07a2db3e" datatype="html">\n        <source>Rolled back</source>\n        <target>Dikembalikan</target>\n      </trans-unit>\n      <trans-unit id="15dec4c2d73a516c10aef90aeeea3364fa794615" datatype="html">\n        <source>Scrubbed</source>\n        <target>Scrubbed</target>\n      </trans-unit>\n      <trans-unit id="8dc560ded67482f109a98e0638851ad1d37188b3" datatype="html">\n        <source>Showed</source>\n        <target>Showed</target>\n      </trans-unit>\n      <trans-unit id="197259b7ea76f15c6d0a64b075a673fd4112ada7" datatype="html">\n        <source>Moved to Trash</source>\n        <target>Moved to Trash</target>\n      </trans-unit>\n      <trans-unit id="8fb15cb102cd75b562680290b7e04c44d80018f2" datatype="html">\n        <source>Unprotected</source>\n        <target>Unprotected</target>\n      </trans-unit>\n      <trans-unit id="8588eafa498262a1cbb5043ad68cf0ff669c4f10" datatype="html">\n        <source>Recreated</source>\n        <target>Recreated</target>\n      </trans-unit>\n      <trans-unit id="ffde7468d7b5cad6990095ed68ddee3d67cd02f8" datatype="html">\n        <source>Expired</source>\n        <target>Expired</target>\n      </trans-unit>\n      <trans-unit id="4f20f2d5a6882190892e58b85f6ccbedfa737952" datatype="html">\n        <source>Yes</source>\n        <target>Ya</target>\n      </trans-unit>\n      <trans-unit id="3d3ae7deebc5949b0c1c78b9847886a94321d9fd" datatype="html">\n        <source>No</source>\n        <target>Tidak</target>\n      </trans-unit>\n      <trans-unit id="99fa0b67376d40142bd4d3ace3344abf4f98b6a5" datatype="html">\n        <source>Your matcher seems to match no currently defined rule or active alert.</source>\n        <target>Your matcher seems to match no currently defined rule or active alert.</target>\n      </trans-unit>\n      <trans-unit id="7e284852732c303eb1f47de9aca2569e41aeffed" datatype="html">\n        <source>no active alerts</source>\n        <target>no active alerts</target>\n      </trans-unit>\n      <trans-unit id="b8042829e4fbe7b09fd9bac9fa0ecf5cc1802fee" datatype="html">\n        <source>1 active alert</source>\n        <target>1 active alert</target>\n      </trans-unit>\n      <trans-unit id="e24adce97669cb0fc74cc13fdc14179b6f78ea5e" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{n}}"/> active alerts\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{n}}"/> active alerts\n        </target>\n      </trans-unit>\n      <trans-unit id="d8fb058ff5883731d38a132da4ca45cfe8d719a3" datatype="html">\n        <source>Matches 1 rule</source>\n        <target>Matches 1 rule</target>\n      </trans-unit>\n      <trans-unit id="90aaef24d192e67c3fbc2ec6f8bfaff211cea128" datatype="html">\n        <source>Matches \n          <x id="INTERPOLATION" equiv-text="{{n}}"/> rules\n        </source>\n        <target>Matches \n          <x id="INTERPOLATION" equiv-text="{{n}}"/> rules\n        </target>\n      </trans-unit>\n      <trans-unit id="f4685dc581e18244cd410f1057a8c56a9dbfe8df" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rules}}"/> with \n          <x id="INTERPOLATION_1" equiv-text="{{alerts}}"/>.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rules}}"/> with \n          <x id="INTERPOLATION_1" equiv-text="{{alerts}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8fd98fb2a0f24ba72cde0787dd3f02cfc17de469" datatype="html">\n        <source>Quality of Service</source>\n        <target>Kualitas Layanan atau QoS</target>\n      </trans-unit>\n      <trans-unit id="2c53f3ce2c6fff9025a7b41cc334521725da6e7b" datatype="html">\n        <source>BPS Limit</source>\n        <target>Limit BPS</target>\n      </trans-unit>\n      <trans-unit id="e897624a392419386b035bcd8529337e262fc41d" datatype="html">\n        <source>The desired limit of IO bytes per second.</source>\n        <target>Limit IO bytes per detik yang diinginkan.</target>\n      </trans-unit>\n      <trans-unit id="dc56f77e4507da7e86a3accd0a2a7099a838d539" datatype="html">\n        <source>IOPS Limit</source>\n        <target>Limit IOPS</target>\n      </trans-unit>\n      <trans-unit id="141c3f6eadbb35b0e17b2f847e4cac23240a6ea9" datatype="html">\n        <source>The desired limit of IO operations per second.</source>\n        <target>Limit operasi IO per detik yang diinginkan.</target>\n      </trans-unit>\n      <trans-unit id="3b3b101f16c38806e984b157e0cf22cd21451122" datatype="html">\n        <source>Read BPS Limit</source>\n        <target>Limit Baca BPS </target>\n      </trans-unit>\n      <trans-unit id="87835fabb6a645873f3829a450ca1d58f97754f2" datatype="html">\n        <source>The desired limit of read bytes per second.</source>\n        <target>Limit byte baca per detik yang diinginkan.</target>\n      </trans-unit>\n      <trans-unit id="28b485e700df46d70b96666099f714e3ae9e5c2e" datatype="html">\n        <source>Read IOPS Limit</source>\n        <target>Limit IOPS Baca</target>\n      </trans-unit>\n      <trans-unit id="5907bd1a5cf3e20e740bca676cb1538372e1f9ff" datatype="html">\n        <source>The desired limit of read operations per second.</source>\n        <target>Limit operasi baca per detik yang diinginkan.</target>\n      </trans-unit>\n      <trans-unit id="07317121f0b194987d4dee8b322f521ac17bf124" datatype="html">\n        <source>Write BPS Limit</source>\n        <target>Limit Tulis BPS</target>\n      </trans-unit>\n      <trans-unit id="4022c78bd9132ca2ec67927f8484c437d1d9b6fd" datatype="html">\n        <source>The desired limit of write bytes per second.</source>\n        <target>Limit tulis byte per detik yang diinginkan.</target>\n      </trans-unit>\n      <trans-unit id="52c22c19f98ff3a09bd811292954a889b93d28b7" datatype="html">\n        <source>Write IOPS Limit</source>\n        <target>Limit IOPS Tulis</target>\n      </trans-unit>\n      <trans-unit id="0ed62e3fd8654b3191fc7fa959ad3f10f1ea773a" datatype="html">\n        <source>The desired limit of write operations per second.</source>\n        <target>Limit operasi tulis per detik yang diinginkan.</target>\n      </trans-unit>\n      <trans-unit id="d90c99d77864f21f932ee1369019f400c4ad0e2d" datatype="html">\n        <source>BPS Burst</source>\n        <target>Letupan BPS</target>\n      </trans-unit>\n      <trans-unit id="29c32192f4d185139aaaf6d3a766a3411dfeabbe" datatype="html">\n        <source>The desired burst limit of IO bytes.</source>\n        <target>Limit yang diinginkan untuk letupan atau burst dari IO byte.</target>\n      </trans-unit>\n      <trans-unit id="b988b90489e899941e196c3dd0ecc22e37540224" datatype="html">\n        <source>IOPS Burst</source>\n        <target>Letupan IOPS</target>\n      </trans-unit>\n      <trans-unit id="02c5de8ff11870f1b3896f2b45637ce0dba1ed4b" datatype="html">\n        <source>The desired burst limit of IO operations.</source>\n        <target>Limit yang diinginkan untuk letupan atau burst operasi IO.</target>\n      </trans-unit>\n      <trans-unit id="7a160538129b37cf595f1651f28b5fac62fbc0f8" datatype="html">\n        <source>Read BPS Burst</source>\n        <target>Letupan Baca BPS</target>\n      </trans-unit>\n      <trans-unit id="b573a5df16a53b9947288461bc24e6a0eb4341d6" datatype="html">\n        <source>The desired burst limit of read bytes.</source>\n        <target>Limit yang diinginkan untuk letupan atau burst dari baca byte.</target>\n      </trans-unit>\n      <trans-unit id="1d5b8c2a0c653651cc4ca4b8fed9456f449220d1" datatype="html">\n        <source>Read IOPS Burst</source>\n        <target>Letupan IOPS Baca</target>\n      </trans-unit>\n      <trans-unit id="20b199f9d4a8d08ffefec66040e27639ec221512" datatype="html">\n        <source>The desired burst limit of read operations.</source>\n        <target>Limit yang diinginkan untuk letupan atau burst operasi baca.</target>\n      </trans-unit>\n      <trans-unit id="824525ae57992aee629ddffcd500a8b77087ddec" datatype="html">\n        <source>Write BPS Burst</source>\n        <target>Letupan BPS Tulis</target>\n      </trans-unit>\n      <trans-unit id="a90aac4050a5d79765da5e1186909f6d4d7f981d" datatype="html">\n        <source>The desired burst limit of write bytes.</source>\n        <target>Limit yang diinginkan untuk letupan atau burst dari tulis byte.</target>\n      </trans-unit>\n      <trans-unit id="35a8c6e6c249c7d16e26aa7c4ef97c06db405070" datatype="html">\n        <source>Write IOPS Burst</source>\n        <target>Letupan IOPS Tulis</target>\n      </trans-unit>\n      <trans-unit id="b356abd41d7e9eea4d20c03d2e6892b6d435ecbd" datatype="html">\n        <source>The desired burst limit of write operations.</source>\n        <target>Limit yang diinginkan untuk letupan atau burst dari operasi baca.</target>\n      </trans-unit>\n      <trans-unit id="24c4d50fe8567de381a20a1745f1b6d37eacaa90" datatype="html">\n        <source>Failed to \n          <x id="INTERPOLATION" equiv-text="{{failure}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{metadata}}"/>\n        </source>\n        <target>Failed to \n          <x id="INTERPOLATION" equiv-text="{{failure}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{metadata}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="f54b6f09b390d5ade0e354f6c7d4743c10a315cc" datatype="html">\n        <source>Executing</source>\n        <target>Mengeksekusi</target>\n      </trans-unit>\n      <trans-unit id="5cdfe3e3330ea42bfd29c540dbd268bee97d364d" datatype="html">\n        <source>execute</source>\n        <target>eksekusi</target>\n      </trans-unit>\n      <trans-unit id="6e98e243518daa88be30330fcdbd2d10f8eae4d7" datatype="html">\n        <source>Executed</source>\n        <target>Dieksekusi</target>\n      </trans-unit>\n      <trans-unit id="24b09aa5bd909273a023d2d788a2673325c77e31" datatype="html">\n        <source>unknown task</source>\n        <target>tugas tak diketahui</target>\n      </trans-unit>\n      <trans-unit id="114b5f92b9192b229ffc9a450319a97ccca2aa5c" datatype="html">\n        <source>Creating</source>\n        <target>Membuat</target>\n      </trans-unit>\n      <trans-unit id="56695b69d27437ada580a187958407e7c856d46e" datatype="html">\n        <source>create</source>\n        <target>buat</target>\n      </trans-unit>\n      <trans-unit id="9db60170ef3b3b41a863e7d5ee7cec10919b9141" datatype="html">\n        <source>Updating</source>\n        <target>Memperbarui</target>\n      </trans-unit>\n      <trans-unit id="64412640835b7d25247cb254d4f911366c0e6862" datatype="html">\n        <source>update</source>\n        <target>perbarui</target>\n      </trans-unit>\n      <trans-unit id="416193bb373d59477458b00e5922d755e2e2cacd" datatype="html">\n        <source>Deleting</source>\n        <target>Menghapus</target>\n      </trans-unit>\n      <trans-unit id="70ef158c584bafe788e319a0bffa11b02ee9abf1" datatype="html">\n        <source>delete</source>\n        <target>hapus</target>\n      </trans-unit>\n      <trans-unit id="d07a282afc7fbdb39cea6e1c9b544882a7260a86" datatype="html">\n        <source>Adding</source>\n        <target>Adding</target>\n      </trans-unit>\n      <trans-unit id="a11ec4e640f241329943237d2a3cceaa4823658e" datatype="html">\n        <source>add</source>\n        <target>add</target>\n      </trans-unit>\n      <trans-unit id="ea1c70b874904216cc5af24bd7cb3dab2d074d42" datatype="html">\n        <source>Removing</source>\n        <target>Removing</target>\n      </trans-unit>\n      <trans-unit id="4da487aec5a29ce4372e7b512227cd665b01fe6f" datatype="html">\n        <source>remove</source>\n        <target>remove</target>\n      </trans-unit>\n      <trans-unit id="3f757cfc3749ebb5d4462017cb60138ca082f15f" datatype="html">\n        <source>RBD \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>RBD \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="a6c681e6130fe440ae40de99a405fcf5c7eefee1" datatype="html">\n        <source>RBD snapshot \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>RBD snapshot \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="4fb54a0291f49583c317d4a3690239141b5a8f68" datatype="html">\n        <source>mirror mode for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>mirror mode for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="6621ab6e122a149326a1e48e9051a41e7f203cf6" datatype="html">\n        <source>mirror peer for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>mirror peer for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="db15adc778317d551232fe712eb03a2c1eac4a43" datatype="html">\n        <source>all dashboards</source>\n        <target>all dashboards</target>\n      </trans-unit>\n      <trans-unit id="1b559dbd9cc9664fd788c2da9a10d3abafe066cb" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8fc28e1103d9f2ef47b9fff9a4f74e8365c7cf19" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="1cdc7ea44fcb85d0cfcf6e7379d625d8674a8fbe" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="1ff7676ad1e991102224540a32dd44ad1ab88aa8" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.\n        </target>\n      </trans-unit>\n      <trans-unit id="c3a1dcca2b2ba20fbe39e2441e7bb1cf9c20cdf3" datatype="html">\n        <source>Cloning</source>\n        <target>Pengklonan</target>\n      </trans-unit>\n      <trans-unit id="b5fa4e0a3a279dee5b6bf7b823e54387f7c79994" datatype="html">\n        <source>clone</source>\n        <target>klon</target>\n      </trans-unit>\n      <trans-unit id="29b7452e8367af9aa8fa828f16ff94c3530e7a1a" datatype="html">\n        <source>Snapshot of \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> must be protected.\n        </source>\n        <target>Snapshot of \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> must be protected.\n        </target>\n      </trans-unit>\n      <trans-unit id="369f93b9a07a9465f7a261e9f0021b6cfa7180c5" datatype="html">\n        <source>Copying</source>\n        <target>Menyalin</target>\n      </trans-unit>\n      <trans-unit id="37584f889855d153a106f5dffe23d21f9453c8ff" datatype="html">\n        <source>copy</source>\n        <target>salin</target>\n      </trans-unit>\n      <trans-unit id="6ea9e313a04ef59222feaadfe84e97b4c69d7e9e" datatype="html">\n        <source>Flattening</source>\n        <target>Meratakan</target>\n      </trans-unit>\n      <trans-unit id="1f57593581b64d2d4c70eab1736bd9bccc66a7dc" datatype="html">\n        <source>flatten</source>\n        <target>ratakan</target>\n      </trans-unit>\n      <trans-unit id="d990ef9680cd23bbe652c37eb46bf038cfee80ad" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="a101745d080ef65c09bd5fafc796f94ddb9f9d60" datatype="html">\n        <source>Cannot unprotect \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it contains child images.\n        </source>\n        <target>Cannot unprotect \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it contains child images.\n        </target>\n      </trans-unit>\n      <trans-unit id="647968f4cde7786cd53ec8e6aa9802ac6824a262" datatype="html">\n        <source>Cannot delete \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it\'s protected.\n        </source>\n        <target>Cannot delete \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it\'s protected.\n        </target>\n      </trans-unit>\n      <trans-unit id="57ddd3e15cf0ce974356b757451f50116a27272b" datatype="html">\n        <source>Rolling back</source>\n        <target>Mengembalikan</target>\n      </trans-unit>\n      <trans-unit id="a8913a3a5ee61f2598b5f0432cb9b20cdd60548e" datatype="html">\n        <source>rollback</source>\n        <target>kembalikan</target>\n      </trans-unit>\n      <trans-unit id="de8676f0017c9db6c49388cd7d63cd0a83a0c1dc" datatype="html">\n        <source>Moving</source>\n        <target>Memindahkan</target>\n      </trans-unit>\n      <trans-unit id="2d810712308ae63cb795d809687a3254ef7a2f05" datatype="html">\n        <source>move</source>\n        <target>pindah</target>\n      </trans-unit>\n      <trans-unit id="f3ba995236e5c1cc77686108980c099a90aec754" datatype="html">\n        <source>Moved</source>\n        <target>dipindahkan</target>\n      </trans-unit>\n      <trans-unit id="d0422169252d132624a20f267b5c29f28cb53ebe" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' to trash\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' to trash\n        </target>\n      </trans-unit>\n      <trans-unit id="b603e2dfed9808222fbcb5a7c5f4da2cc6ae2aae" datatype="html">\n        <source>Could not find image.</source>\n        <target>Tidak dapat menemukan image.</target>\n      </trans-unit>\n      <trans-unit id="398debe73006b1fe5177ed81d2e7b0cc852f61ec" datatype="html">\n        <source>Restoring</source>\n        <target>Memulihkan</target>\n      </trans-unit>\n      <trans-unit id="c252806fb400e79bac194696632c9362742b1538" datatype="html">\n        <source>restore</source>\n        <target>pulihkan</target>\n      </trans-unit>\n      <trans-unit id="30b8bcf69b3f1754b7abba173fd806cfcea4cb04" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' into \'\n          <x id="INTERPOLATION_1" equiv-text="{{new_id}}"/>\'\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' into \'\n          <x id="INTERPOLATION_1" equiv-text="{{new_id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="13b7b241cef989fe0932ddd180e757658e1817e7" datatype="html">\n        <source>Image name \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' is already in use.\n        </source>\n        <target>Image name \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' is already in use.\n        </target>\n      </trans-unit>\n      <trans-unit id="cc1cee12c833e8fbbef28a2a7c449dc530da912d" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="38e5f47f8bef505652f3e87f46efb00ead1350a3" datatype="html">\n        <source>Purging</source>\n        <target>Membuang</target>\n      </trans-unit>\n      <trans-unit id="e4e57747f123f0fe6fe3a0ecf608f8bc287dec0c" datatype="html">\n        <source>purge</source>\n        <target>buang</target>\n      </trans-unit>\n      <trans-unit id="1560d58fdf39663929653250d45f5b1dfe078fea" datatype="html">\n        <source>all pools</source>\n        <target>semua pool</target>\n      </trans-unit>\n      <trans-unit id="1ac3dc50c2c3d86e98bc0967ee1e696810a2d3aa" datatype="html">\n        <source>images from \n          <x id="INTERPOLATION" equiv-text="{{message}}"/>\n        </source>\n        <target>images from \n          <x id="INTERPOLATION" equiv-text="{{message}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="02278abbb044ece04ab6bd80bd2060198d31d83b" datatype="html">\n        <source>Cannot disable mirroring because it contains a peer.</source>\n        <target>Gagal menonaktifkan pencerminan karena sedang bermitra.</target>\n      </trans-unit>\n      <trans-unit id="f123ae1fc3b000e5d08e766dd78bff162afe709d" datatype="html">\n        <source>host \'\n          <x id="INTERPOLATION" equiv-text="{{hostname}}"/>\'\n        </source>\n        <target>host \'\n          <x id="INTERPOLATION" equiv-text="{{hostname}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="dfe70001dc590a9e12512cbb206aa29fb36fd00b" datatype="html">\n        <source>pool \'\n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>\'\n        </source>\n        <target>pool \'\n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="59630daf2f4786690fae0cdad55da8887236eabe" datatype="html">\n        <source>erasure code profile \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </source>\n        <target>erasure code profile \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="369462e5e018360e0600bb570866201ad5c3c8a8" datatype="html">\n        <source>target \'\n          <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>\'\n        </source>\n        <target>target \'\n          <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="cf41310917cb19b335e5a950972bbff2346f7a47" datatype="html">\n        <source>NFS \n          <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>\n        </source>\n        <target>NFS \n          <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="54bf6542e39412f83ec883266f443e31b304c937" datatype="html">\n        <source>Required rules for password complexity:\n    - must contain at least 8 characters\n    - cannot contain username\n    - cannot contain any keyword used in Ceph\n    - cannot contain any repetitive characters e.g. "aaa"\n    - cannot contain any sequencial characters e.g. "abc"\n    - must consist of characters from the following groups:\n      * alphabetic a-z, A-Z\n      * numbers 0-9\n      * special chars: !"#$%&amp; \'()*+,-./:;&lt;=&gt;?@[\\]^_`\n          <x id="INTERPOLATION" equiv-text="{{|}}"/>~\n      * any other characters (signs)\n        </source>\n        <target>Required rules for password complexity:\n    - must contain at least 8 characters\n    - cannot contain username\n    - cannot contain any keyword used in Ceph\n    - cannot contain any repetitive characters e.g. "aaa"\n    - cannot contain any sequencial characters e.g. "abc"\n    - must consist of characters from the following groups:\n      * alphabetic a-z, A-Z\n      * numbers 0-9\n      * special chars: !"#$%&amp; \'()*+,-./:;&lt;=&gt;?@[\\]^_`\n          <x id="INTERPOLATION" equiv-text="{{|}}"/>~\n      * any other characters (signs)\n        </target>\n      </trans-unit>\n      <trans-unit id="ba575e9364b43dc870e332265c5182bb357b7a49" datatype="html">\n        <source>Weak</source>\n        <target>Weak</target>\n      </trans-unit>\n      <trans-unit id="7e6c975ebea8b5f8b120905ca7acf9f8edf59d8e" datatype="html">\n        <source>OK</source>\n        <target>OK</target>\n      </trans-unit>\n      <trans-unit id="3f7349017a01eed18c3daf2b7295ca96ef442eb6" datatype="html">\n        <source>Strong</source>\n        <target>Strong</target>\n      </trans-unit>\n      <trans-unit id="a1e3aecc2022cb0ebed8575a24d0e29d2de815c6" datatype="html">\n        <source>Very strong</source>\n        <target>Very strong</target>\n      </trans-unit>\n    </body>\n  </file>\n</xliff>'},jtHE:function(t,e,n){"use strict";n.d(e,"a",(function(){return l}));var a=n("XNiG"),r=n("qgXg"),o=n("quSY"),i=n("pxpQ"),s=n("9ppp"),c=n("Ylt2");class l extends a.a{constructor(t=Number.POSITIVE_INFINITY,e=Number.POSITIVE_INFINITY,n){super(),this.scheduler=n,this._events=[],this._infiniteTimeWindow=!1,this._bufferSize=t<1?1:t,this._windowTime=e<1?1:e,e===Number.POSITIVE_INFINITY?(this._infiniteTimeWindow=!0,this.next=this.nextInfiniteTimeWindow):this.next=this.nextTimeWindow}nextInfiniteTimeWindow(t){const e=this._events;e.push(t),e.length>this._bufferSize&&e.shift(),super.next(t)}nextTimeWindow(t){this._events.push(new d(this._getNow(),t)),this._trimBufferThenGetEvents(),super.next(t)}_subscribe(t){const e=this._infiniteTimeWindow,n=e?this._events:this._trimBufferThenGetEvents(),a=this.scheduler,r=n.length;let l;if(this.closed)throw new s.a;if(this.isStopped||this.hasError?l=o.a.EMPTY:(this.observers.push(t),l=new c.a(this,t)),a&&t.add(t=new i.a(t,a)),e)for(let o=0;o<r&&!t.closed;o++)t.next(n[o]);else for(let o=0;o<r&&!t.closed;o++)t.next(n[o].value);return this.hasError?t.error(this.thrownError):this.isStopped&&t.complete(),l}_getNow(){return(this.scheduler||r.a).now()}_trimBufferThenGetEvents(){const t=this._getNow(),e=this._bufferSize,n=this._windowTime,a=this._events,r=a.length;let o=0;for(;o<r&&!(t-a[o].time<n);)o++;return r>e&&(o=Math.max(o,r-e)),o>0&&a.splice(0,o),a}}class d{constructor(t,e){this.time=t,this.value=e}}},juv8:function(t,e,n){var a=n("MrPd"),r=n("hypo");t.exports=function(t,e,n,o){var i=!n;n||(n={});for(var s=-1,c=e.length;++s<c;){var l=e[s],d=o?o(n[l],t[l],l,n,t):void 0;void 0===d&&(d=t[l]),i?r(n,l,d):a(n,l,d)}return n}},jvuA:function(t,e,n){var a=n("mrSG").__decorate,r=n("mrSG").__metadata;Object.defineProperty(e,"__esModule",{value:!0});var o=n("8Y7J"),i=n("UReH");e.DatatableRowDetailDirective=function(){function t(){this.rowHeight=0,this.toggle=new o.EventEmitter}return t.prototype.toggleExpandRow=function(t){this.toggle.emit({type:"row",value:t})},t.prototype.expandAllRows=function(){this.toggle.emit({type:"all",value:!0})},t.prototype.collapseAllRows=function(){this.toggle.emit({type:"all",value:!1})},a([o.Input(),r("design:type",Object)],t.prototype,"rowHeight",void 0),a([o.Input(),o.ContentChild(i.DatatableRowDetailTemplateDirective,{read:o.TemplateRef,static:!0}),r("design:type",o.TemplateRef)],t.prototype,"template",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"toggle",void 0),a([o.Directive({selector:"ngx-datatable-row-detail"})],t)}()},"k+1r":function(t,e,n){var a=n("QkVE");t.exports=function(t){var e=a(this,t).delete(t);return this.size-=e?1:0,e}},kEOa:function(t,e,n){!function(t){"use strict";var e={1:"১",2:"২",3:"৩",4:"৪",5:"৫",6:"৬",7:"৭",8:"৮",9:"৯",0:"০"},n={"১":"1","২":"2","৩":"3","৪":"4","৫":"5","৬":"6","৭":"7","৮":"8","৯":"9","০":"0"};t.defineLocale("bn",{months:"জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর".split("_"),monthsShort:"জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে".split("_"),weekdays:"রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার".split("_"),weekdaysShort:"রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি".split("_"),weekdaysMin:"রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি".split("_"),longDateFormat:{LT:"A h:mm সময়",LTS:"A h:mm:ss সময়",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm সময়",LLLL:"dddd, D MMMM YYYY, A h:mm সময়"},calendar:{sameDay:"[আজ] LT",nextDay:"[আগামীকাল] LT",nextWeek:"dddd, LT",lastDay:"[গতকাল] LT",lastWeek:"[গত] dddd, LT",sameElse:"L"},relativeTime:{future:"%s পরে",past:"%s আগে",s:"কয়েক সেকেন্ড",ss:"%d সেকেন্ড",m:"এক মিনিট",mm:"%d মিনিট",h:"এক ঘন্টা",hh:"%d ঘন্টা",d:"এক দিন",dd:"%d দিন",M:"এক মাস",MM:"%d মাস",y:"এক বছর",yy:"%d বছর"},preparse:function(t){return t.replace(/[১২৩৪৫৬৭৮৯০]/g,(function(t){return n[t]}))},postformat:function(t){return t.replace(/\d/g,(function(t){return e[t]}))},meridiemParse:/রাত|সকাল|দুপুর|বিকাল|রাত/,meridiemHour:function(t,e){return 12===t&&(t=0),"রাত"===e&&t>=4||"দুপুর"===e&&t<5||"বিকাল"===e?t+12:t},meridiem:function(t,e,n){return t<4?"রাত":t<10?"সকাল":t<17?"দুপুর":t<20?"বিকাল":"রাত"},week:{dow:0,doy:6}})}(n("wd/R"))},kJI8:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{}},kJWO:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));const a=(()=>"function"==typeof Symbol&&Symbol.observable||"@@observable")()},kOOl:function(t,e){var n=0,a=Math.random();t.exports=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++n+a).toString(36)}},kOpN:function(t,e,n){!function(t){"use strict";t.defineLocale("zh-tw",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日dddd HH:mm",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(t,e){return 12===t&&(t=0),"凌晨"===e||"早上"===e||"上午"===e?t:"中午"===e?t>=11?t:t+12:"下午"===e||"晚上"===e?t+12:void 0},meridiem:function(t,e,n){var a=100*t+e;return a<600?"凌晨":a<900?"早上":a<1130?"上午":a<1230?"中午":a<1800?"下午":"晚上"},calendar:{sameDay:"[今天] LT",nextDay:"[明天] LT",nextWeek:"[下]dddd LT",lastDay:"[昨天] LT",lastWeek:"[上]dddd LT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|週)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"日";case"M":return t+"月";case"w":case"W":return t+"週";default:return t}},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",ss:"%d 秒",m:"1 分鐘",mm:"%d 分鐘",h:"1 小時",hh:"%d 小時",d:"1 天",dd:"%d 天",M:"1 個月",MM:"%d 個月",y:"1 年",yy:"%d 年"}})}(n("wd/R"))},kRJp:function(t,e,n){var a=n("g6v/"),r=n("m/L8"),o=n("XGwC");t.exports=a?function(t,e,n){return r.f(t,e,o(1,n))}:function(t,e,n){return t[e]=n,t}},kU1M:function(t,e,n){"use strict";n.r(e);var a=n("l7GE"),r=n("ZUHj");function o(t){return function(e){return e.lift(new i(t))}}class i{constructor(t){this.durationSelector=t}call(t,e){return e.subscribe(new s(t,this.durationSelector))}}class s extends a.a{constructor(t,e){super(t),this.durationSelector=e,this.hasValue=!1}_next(t){if(this.value=t,this.hasValue=!0,!this.throttled){let n;try{const{durationSelector:e}=this;n=e(t)}catch(e){return this.destination.error(e)}const a=Object(r.a)(this,n);!a||a.closed?this.clearThrottle():this.add(this.throttled=a)}}clearThrottle(){const{value:t,hasValue:e,throttled:n}=this;n&&(this.remove(n),this.throttled=null,n.unsubscribe()),e&&(this.value=null,this.hasValue=!1,this.destination.next(t))}notifyNext(t,e,n,a){this.clearThrottle()}notifyComplete(){this.clearThrottle()}}var c=n("D0XW"),l=n("PqYM");function d(t,e=c.a){return o(()=>Object(l.a)(t,e))}function u(t){return function(e){return e.lift(new g(t))}}class g{constructor(t){this.closingNotifier=t}call(t,e){return e.subscribe(new f(t,this.closingNotifier))}}class f extends a.a{constructor(t,e){super(t),this.buffer=[],this.add(Object(r.a)(this,e))}_next(t){this.buffer.push(t)}notifyNext(t,e,n,a,r){const o=this.buffer;this.buffer=[],this.destination.next(o)}}var p=n("7o/Q");function m(t,e=null){return function(n){return n.lift(new h(t,e))}}class h{constructor(t,e){this.bufferSize=t,this.startBufferEvery=e,this.subscriberClass=e&&t!==e?_:b}call(t,e){return e.subscribe(new this.subscriberClass(t,this.bufferSize,this.startBufferEvery))}}class b extends p.a{constructor(t,e){super(t),this.bufferSize=e,this.buffer=[]}_next(t){const e=this.buffer;e.push(t),e.length==this.bufferSize&&(this.destination.next(e),this.buffer=[])}_complete(){const t=this.buffer;t.length>0&&this.destination.next(t),super._complete()}}class _ extends p.a{constructor(t,e,n){super(t),this.bufferSize=e,this.startBufferEvery=n,this.buffers=[],this.count=0}_next(t){const{bufferSize:e,startBufferEvery:n,buffers:a,count:r}=this;this.count++,r%n==0&&a.push([]);for(let o=a.length;o--;){const n=a[o];n.push(t),n.length===e&&(a.splice(o,1),this.destination.next(n))}}_complete(){const{buffers:t,destination:e}=this;for(;t.length>0;){let n=t.shift();n.length>0&&e.next(n)}super._complete()}}var y=n("z+Ro");function O(t){let e=arguments.length,n=c.a;Object(y.a)(arguments[arguments.length-1])&&(n=arguments[arguments.length-1],e--);let a=null;e>=2&&(a=arguments[1]);let r=Number.POSITIVE_INFINITY;return e>=3&&(r=arguments[2]),function(e){return e.lift(new v(t,a,r,n))}}class v{constructor(t,e,n,a){this.bufferTimeSpan=t,this.bufferCreationInterval=e,this.maxBufferSize=n,this.scheduler=a}call(t,e){return e.subscribe(new P(t,this.bufferTimeSpan,this.bufferCreationInterval,this.maxBufferSize,this.scheduler))}}class C{constructor(){this.buffer=[]}}class P extends p.a{constructor(t,e,n,a,r){super(t),this.bufferTimeSpan=e,this.bufferCreationInterval=n,this.maxBufferSize=a,this.scheduler=r,this.contexts=[];const o=this.openContext();if(this.timespanOnly=null==n||n<0,this.timespanOnly)this.add(o.closeAction=r.schedule(M,e,{subscriber:this,context:o,bufferTimeSpan:e}));else{const t={bufferTimeSpan:e,bufferCreationInterval:n,subscriber:this,scheduler:r};this.add(o.closeAction=r.schedule(w,e,{subscriber:this,context:o})),this.add(r.schedule(x,n,t))}}_next(t){const e=this.contexts,n=e.length;let a;for(let r=0;r<n;r++){const n=e[r],o=n.buffer;o.push(t),o.length==this.maxBufferSize&&(a=n)}a&&this.onBufferFull(a)}_error(t){this.contexts.length=0,super._error(t)}_complete(){const{contexts:t,destination:e}=this;for(;t.length>0;){const n=t.shift();e.next(n.buffer)}super._complete()}_unsubscribe(){this.contexts=null}onBufferFull(t){this.closeContext(t);const e=t.closeAction;if(e.unsubscribe(),this.remove(e),!this.closed&&this.timespanOnly){t=this.openContext();const e=this.bufferTimeSpan;this.add(t.closeAction=this.scheduler.schedule(M,e,{subscriber:this,context:t,bufferTimeSpan:e}))}}openContext(){const t=new C;return this.contexts.push(t),t}closeContext(t){this.destination.next(t.buffer);const e=this.contexts;(e?e.indexOf(t):-1)>=0&&e.splice(e.indexOf(t),1)}}function M(t){const e=t.subscriber,n=t.context;n&&e.closeContext(n),e.closed||(t.context=e.openContext(),t.context.closeAction=this.schedule(t,t.bufferTimeSpan))}function x(t){const{bufferCreationInterval:e,bufferTimeSpan:n,subscriber:a,scheduler:r}=t,o=a.openContext();a.closed||(a.add(o.closeAction=r.schedule(w,n,{subscriber:a,context:o})),this.schedule(t,e))}function w(t){const{subscriber:e,context:n}=t;e.closeContext(n)}var T=n("quSY");function k(t,e){return function(n){return n.lift(new S(t,e))}}class S{constructor(t,e){this.openings=t,this.closingSelector=e}call(t,e){return e.subscribe(new I(t,this.openings,this.closingSelector))}}class I extends a.a{constructor(t,e,n){super(t),this.openings=e,this.closingSelector=n,this.contexts=[],this.add(Object(r.a)(this,e))}_next(t){const e=this.contexts,n=e.length;for(let a=0;a<n;a++)e[a].buffer.push(t)}_error(t){const e=this.contexts;for(;e.length>0;){const t=e.shift();t.subscription.unsubscribe(),t.buffer=null,t.subscription=null}this.contexts=null,super._error(t)}_complete(){const t=this.contexts;for(;t.length>0;){const e=t.shift();this.destination.next(e.buffer),e.subscription.unsubscribe(),e.buffer=null,e.subscription=null}this.contexts=null,super._complete()}notifyNext(t,e,n,a,r){t?this.closeBuffer(t):this.openBuffer(e)}notifyComplete(t){this.closeBuffer(t.context)}openBuffer(t){try{const e=this.closingSelector.call(this,t);e&&this.trySubscribe(e)}catch(e){this._error(e)}}closeBuffer(t){const e=this.contexts;if(e&&t){const{buffer:n,subscription:a}=t;this.destination.next(n),e.splice(e.indexOf(t),1),this.remove(a),a.unsubscribe()}}trySubscribe(t){const e=this.contexts,n=new T.a,a={buffer:[],subscription:n};e.push(a);const o=Object(r.a)(this,t,a);!o||o.closed?this.closeBuffer(a):(o.context=a,this.add(o),n.add(o))}}function N(t){return function(e){return e.lift(new R(t))}}class R{constructor(t){this.closingSelector=t}call(t,e){return e.subscribe(new A(t,this.closingSelector))}}class A extends a.a{constructor(t,e){super(t),this.closingSelector=e,this.subscribing=!1,this.openBuffer()}_next(t){this.buffer.push(t)}_complete(){const t=this.buffer;t&&this.destination.next(t),super._complete()}_unsubscribe(){this.buffer=null,this.subscribing=!1}notifyNext(t,e,n,a,r){this.openBuffer()}notifyComplete(){this.subscribing?this.complete():this.openBuffer()}openBuffer(){let t,{closingSubscription:e}=this;e&&(this.remove(e),e.unsubscribe()),this.buffer&&this.destination.next(this.buffer),this.buffer=[];try{const{closingSelector:e}=this;t=e()}catch(n){return this.error(n)}e=new T.a,this.closingSubscription=e,this.add(e),this.subscribing=!0,e.add(Object(r.a)(this,t)),this.subscribing=!1}}var E=n("JIr8"),D=n("itXk");function L(t){return e=>e.lift(new D.a(t))}var q=n("DH7j"),j=n("Cfvw");function F(...t){let e=null;return"function"==typeof t[t.length-1]&&(e=t.pop()),1===t.length&&Object(q.a)(t[0])&&(t=t[0].slice()),n=>n.lift.call(Object(j.a)([n,...t]),new D.a(e))}var z=n("f29J"),V=n("0EUg"),G=n("bOdf");function Y(t,e){return Object(G.a)(()=>t,e)}function B(t){return e=>e.lift(new H(t,e))}class H{constructor(t,e){this.predicate=t,this.source=e}call(t,e){return e.subscribe(new U(t,this.predicate,this.source))}}class U extends p.a{constructor(t,e,n){super(t),this.predicate=e,this.source=n,this.count=0,this.index=0}_next(t){this.predicate?this._tryPredicate(t):this.count++}_tryPredicate(t){let e;try{e=this.predicate(t,this.index++,this.source)}catch(n){return void this.destination.error(n)}e&&this.count++}_complete(){this.destination.next(this.count),this.destination.complete()}}function W(t){return e=>e.lift(new K(t))}class K{constructor(t){this.durationSelector=t}call(t,e){return e.subscribe(new $(t,this.durationSelector))}}class $ extends a.a{constructor(t,e){super(t),this.durationSelector=e,this.hasValue=!1,this.durationSubscription=null}_next(t){try{const e=this.durationSelector.call(this,t);e&&this._tryNext(t,e)}catch(e){this.destination.error(e)}}_complete(){this.emitValue(),this.destination.complete()}_tryNext(t,e){let n=this.durationSubscription;this.value=t,this.hasValue=!0,n&&(n.unsubscribe(),this.remove(n)),n=Object(r.a)(this,e),n&&!n.closed&&this.add(this.durationSubscription=n)}notifyNext(t,e,n,a,r){this.emitValue()}notifyComplete(){this.emitValue()}emitValue(){if(this.hasValue){const t=this.value,e=this.durationSubscription;e&&(this.durationSubscription=null,e.unsubscribe(),this.remove(e)),this.value=null,this.hasValue=!1,super._next(t)}}}var Z=n("Kj3r"),J=n("xbPD");function X(t){return t instanceof Date&&!isNaN(+t)}var Q=n("WMd4");function tt(t,e=c.a){const n=X(t)?+t-e.now():Math.abs(t);return t=>t.lift(new et(n,e))}class et{constructor(t,e){this.delay=t,this.scheduler=e}call(t,e){return e.subscribe(new nt(t,this.delay,this.scheduler))}}class nt extends p.a{constructor(t,e,n){super(t),this.delay=e,this.scheduler=n,this.queue=[],this.active=!1,this.errored=!1}static dispatch(t){const e=t.source,n=e.queue,a=t.scheduler,r=t.destination;for(;n.length>0&&n[0].time-a.now()<=0;)n.shift().notification.observe(r);if(n.length>0){const e=Math.max(0,n[0].time-a.now());this.schedule(t,e)}else this.unsubscribe(),e.active=!1}_schedule(t){this.active=!0,this.destination.add(t.schedule(nt.dispatch,this.delay,{source:this,destination:this.destination,scheduler:t}))}scheduleNotification(t){if(!0===this.errored)return;const e=this.scheduler,n=new at(e.now()+this.delay,t);this.queue.push(n),!1===this.active&&this._schedule(e)}_next(t){this.scheduleNotification(Q.a.createNext(t))}_error(t){this.errored=!0,this.queue=[],this.destination.error(t),this.unsubscribe()}_complete(){this.scheduleNotification(Q.a.createComplete()),this.unsubscribe()}}class at{constructor(t,e){this.time=t,this.notification=e}}var rt=n("HDdC");function ot(t,e){return e?n=>new ct(n,e).lift(new it(t)):e=>e.lift(new it(t))}class it{constructor(t){this.delayDurationSelector=t}call(t,e){return e.subscribe(new st(t,this.delayDurationSelector))}}class st extends a.a{constructor(t,e){super(t),this.delayDurationSelector=e,this.completed=!1,this.delayNotifierSubscriptions=[],this.index=0}notifyNext(t,e,n,a,r){this.destination.next(t),this.removeSubscription(r),this.tryComplete()}notifyError(t,e){this._error(t)}notifyComplete(t){const e=this.removeSubscription(t);e&&this.destination.next(e),this.tryComplete()}_next(t){const e=this.index++;try{const n=this.delayDurationSelector(t,e);n&&this.tryDelay(n,t)}catch(n){this.destination.error(n)}}_complete(){this.completed=!0,this.tryComplete(),this.unsubscribe()}removeSubscription(t){t.unsubscribe();const e=this.delayNotifierSubscriptions.indexOf(t);return-1!==e&&this.delayNotifierSubscriptions.splice(e,1),t.outerValue}tryDelay(t,e){const n=Object(r.a)(this,t,e);n&&!n.closed&&(this.destination.add(n),this.delayNotifierSubscriptions.push(n))}tryComplete(){this.completed&&0===this.delayNotifierSubscriptions.length&&this.destination.complete()}}class ct extends rt.a{constructor(t,e){super(),this.source=t,this.subscriptionDelay=e}_subscribe(t){this.subscriptionDelay.subscribe(new lt(t,this.source))}}class lt extends p.a{constructor(t,e){super(),this.parent=t,this.source=e,this.sourceSubscribed=!1}_next(t){this.subscribeToSource()}_error(t){this.unsubscribe(),this.parent.error(t)}_complete(){this.unsubscribe(),this.subscribeToSource()}subscribeToSource(){this.sourceSubscribed||(this.sourceSubscribed=!0,this.unsubscribe(),this.source.subscribe(this.parent))}}function dt(){return function(t){return t.lift(new ut)}}class ut{call(t,e){return e.subscribe(new gt(t))}}class gt extends p.a{constructor(t){super(t)}_next(t){t.observe(this.destination)}}var ft=n("02Lk"),pt=n("/uUt");function mt(t,e){return Object(pt.a)((n,a)=>e?e(n[t],a[t]):n[t]===a[t])}var ht=n("4I5i"),bt=n("pLZG"),_t=n("XDbj"),yt=n("IzEk");function Ot(t,e){if(t<0)throw new ht.a;const n=arguments.length>=2;return a=>a.pipe(Object(bt.a)((e,n)=>n===t),Object(yt.a)(1),n?Object(J.a)(e):Object(_t.a)(()=>new ht.a))}var vt=n("GyhO"),Ct=n("LRne");function Pt(...t){return e=>Object(vt.a)(e,Object(Ct.a)(...t))}var Mt=n("Gi4w");function xt(){return t=>t.lift(new wt)}class wt{call(t,e){return e.subscribe(new Tt(t))}}class Tt extends a.a{constructor(t){super(t),this.hasCompleted=!1,this.hasSubscription=!1}_next(t){this.hasSubscription||(this.hasSubscription=!0,this.add(Object(r.a)(this,t)))}_complete(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete()}notifyComplete(t){this.remove(t),this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()}}var kt=n("51Dv"),St=n("lJxs");function It(t,e){return e?n=>n.pipe(It((n,a)=>Object(j.a)(t(n,a)).pipe(Object(St.a)((t,r)=>e(n,t,a,r))))):e=>e.lift(new Nt(t))}class Nt{constructor(t){this.project=t}call(t,e){return e.subscribe(new Rt(t,this.project))}}class Rt extends a.a{constructor(t,e){super(t),this.project=e,this.hasSubscription=!1,this.hasCompleted=!1,this.index=0}_next(t){this.hasSubscription||this.tryNext(t)}tryNext(t){let e;const n=this.index++;try{e=this.project(t,n)}catch(a){return void this.destination.error(a)}this.hasSubscription=!0,this._innerSub(e,t,n)}_innerSub(t,e,n){const a=new kt.a(this,e,n),o=this.destination;o.add(a);const i=Object(r.a)(this,t,void 0,void 0,a);i!==a&&o.add(i)}_complete(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete(),this.unsubscribe()}notifyNext(t,e,n,a,r){this.destination.next(e)}notifyError(t){this.destination.error(t)}notifyComplete(t){this.destination.remove(t),this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()}}function At(t,e=Number.POSITIVE_INFINITY,n){return e=(e||0)<1?Number.POSITIVE_INFINITY:e,a=>a.lift(new Et(t,e,n))}class Et{constructor(t,e,n){this.project=t,this.concurrent=e,this.scheduler=n}call(t,e){return e.subscribe(new Dt(t,this.project,this.concurrent,this.scheduler))}}class Dt extends a.a{constructor(t,e,n,a){super(t),this.project=e,this.concurrent=n,this.scheduler=a,this.index=0,this.active=0,this.hasCompleted=!1,n<Number.POSITIVE_INFINITY&&(this.buffer=[])}static dispatch(t){const{subscriber:e,result:n,value:a,index:r}=t;e.subscribeToProjection(n,a,r)}_next(t){const e=this.destination;if(e.closed)return void this._complete();const n=this.index++;if(this.active<this.concurrent){e.next(t);try{const{project:e}=this,a=e(t,n);this.scheduler?this.destination.add(this.scheduler.schedule(Dt.dispatch,0,{subscriber:this,result:a,value:t,index:n})):this.subscribeToProjection(a,t,n)}catch(a){e.error(a)}}else this.buffer.push(t)}subscribeToProjection(t,e,n){this.active++,this.destination.add(Object(r.a)(this,t,e,n))}_complete(){this.hasCompleted=!0,this.hasCompleted&&0===this.active&&this.destination.complete(),this.unsubscribe()}notifyNext(t,e,n,a,r){this._next(e)}notifyComplete(t){const e=this.buffer;this.destination.remove(t),this.active--,e&&e.length>0&&this._next(e.shift()),this.hasCompleted&&0===this.active&&this.destination.complete()}}var Lt=n("nYR2");function qt(t,e){if("function"!=typeof t)throw new TypeError("predicate is not a function");return n=>n.lift(new jt(t,n,!1,e))}class jt{constructor(t,e,n,a){this.predicate=t,this.source=e,this.yieldIndex=n,this.thisArg=a}call(t,e){return e.subscribe(new Ft(t,this.predicate,this.source,this.yieldIndex,this.thisArg))}}class Ft extends p.a{constructor(t,e,n,a,r){super(t),this.predicate=e,this.source=n,this.yieldIndex=a,this.thisArg=r,this.index=0}notifyComplete(t){const e=this.destination;e.next(t),e.complete(),this.unsubscribe()}_next(t){const{predicate:e,thisArg:n}=this,a=this.index++;try{e.call(n||this,t,a,this.source)&&this.notifyComplete(this.yieldIndex?a:t)}catch(r){this.destination.error(r)}}_complete(){this.notifyComplete(this.yieldIndex?-1:void 0)}}function zt(t,e){return n=>n.lift(new jt(t,n,!0,e))}var Vt=n("SxV6"),Gt=n("OQgR");function Yt(){return function(t){return t.lift(new Bt)}}class Bt{call(t,e){return e.subscribe(new Ht(t))}}class Ht extends p.a{_next(t){}}function Ut(){return t=>t.lift(new Wt)}class Wt{call(t,e){return e.subscribe(new Kt(t))}}class Kt extends p.a{constructor(t){super(t)}notifyComplete(t){const e=this.destination;e.next(t),e.complete()}_next(t){this.notifyComplete(!1)}_complete(){this.notifyComplete(!0)}}var $t=n("NJ9Y");function Zt(t){return e=>e.lift(new Jt(t))}class Jt{constructor(t){this.value=t}call(t,e){return e.subscribe(new Xt(t,this.value))}}class Xt extends p.a{constructor(t,e){super(t),this.value=e}_next(t){this.destination.next(this.value)}}function Qt(){return function(t){return t.lift(new te)}}class te{call(t,e){return e.subscribe(new ee(t))}}class ee extends p.a{constructor(t){super(t)}_next(t){this.destination.next(Q.a.createNext(t))}_error(t){const e=this.destination;e.next(Q.a.createError(t)),e.complete()}_complete(){const t=this.destination;t.next(Q.a.createComplete()),t.complete()}}var ne=n("128B");function ae(t){const e="function"==typeof t?(e,n)=>t(e,n)>0?e:n:(t,e)=>t>e?t:e;return Object(ne.a)(e)}var re=n("VRyK");function oe(...t){return e=>e.lift.call(Object(re.a)(e,...t))}var ie=n("bHdf"),se=n("5+tZ");function ce(t,e,n=Number.POSITIVE_INFINITY){return"function"==typeof e?Object(se.a)(()=>t,e,n):("number"==typeof e&&(n=e),Object(se.a)(()=>t,n))}function le(t,e,n=Number.POSITIVE_INFINITY){return a=>a.lift(new de(t,e,n))}class de{constructor(t,e,n){this.accumulator=t,this.seed=e,this.concurrent=n}call(t,e){return e.subscribe(new ue(t,this.accumulator,this.seed,this.concurrent))}}class ue extends a.a{constructor(t,e,n,a){super(t),this.accumulator=e,this.acc=n,this.concurrent=a,this.hasValue=!1,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(t){if(this.active<this.concurrent){const n=this.index++,a=this.destination;let r;try{const{accumulator:e}=this;r=e(this.acc,t,n)}catch(e){return a.error(e)}this.active++,this._innerSub(r,t,n)}else this.buffer.push(t)}_innerSub(t,e,n){const a=new kt.a(this,e,n),o=this.destination;o.add(a);const i=Object(r.a)(this,t,void 0,void 0,a);i!==a&&o.add(i)}_complete(){this.hasCompleted=!0,0===this.active&&0===this.buffer.length&&(!1===this.hasValue&&this.destination.next(this.acc),this.destination.complete()),this.unsubscribe()}notifyNext(t,e,n,a,r){const{destination:o}=this;this.acc=e,this.hasValue=!0,o.next(e)}notifyComplete(t){const e=this.buffer;this.destination.remove(t),this.active--,e.length>0?this._next(e.shift()):0===this.active&&this.hasCompleted&&(!1===this.hasValue&&this.destination.next(this.acc),this.destination.complete())}}function ge(t){const e="function"==typeof t?(e,n)=>t(e,n)<0?e:n:(t,e)=>t<e?t:e;return Object(ne.a)(e)}var fe=n("oB13"),pe=n("pxpQ");function me(...t){return 1===t.length&&Object(q.a)(t[0])&&(t=t[0]),e=>e.lift(new he(t))}class he{constructor(t){this.nextSources=t}call(t,e){return e.subscribe(new be(t,this.nextSources))}}class be extends a.a{constructor(t,e){super(t),this.destination=t,this.nextSources=e}notifyError(t,e){this.subscribeToNextSource()}notifyComplete(t){this.subscribeToNextSource()}_error(t){this.subscribeToNextSource(),this.unsubscribe()}_complete(){this.subscribeToNextSource(),this.unsubscribe()}subscribeToNextSource(){const t=this.nextSources.shift();if(t){const e=new kt.a(this,void 0,void 0),n=this.destination;n.add(e);const a=Object(r.a)(this,t,void 0,void 0,e);a!==e&&n.add(a)}else this.destination.complete()}}function _e(){return t=>t.lift(new ye)}class ye{call(t,e){return e.subscribe(new Oe(t))}}class Oe extends p.a{constructor(t){super(t),this.hasPrev=!1}_next(t){let e;this.hasPrev?e=[this.prev,t]:this.hasPrev=!0,this.prev=t,e&&this.destination.next(e)}}var ve=n("F97/");function Ce(t,e){return n=>[Object(bt.a)(t,e)(n),Object(bt.a)(Object(ve.a)(t,e))(n)]}function Pe(...t){const e=t.length;if(0===e)throw new Error("list of properties cannot be empty.");return n=>Object(St.a)(function(t,e){return n=>{let a=n;for(let r=0;r<e;r++){const e=a[t[r]];if(void 0===e)return;a=e}return a}}(t,e))(n)}var Me=n("XNiG");function xe(t){return t?Object(fe.a)(()=>new Me.a,t):Object(fe.a)(new Me.a)}var we=n("2Vo4");function Te(t){return e=>Object(fe.a)(new we.a(t))(e)}var ke=n("NHP+");function Se(){return t=>Object(fe.a)(new ke.a)(t)}var Ie=n("jtHE");function Ne(t,e,n,a){n&&"function"!=typeof n&&(a=n);const r="function"==typeof n?n:void 0,o=new Ie.a(t,e,a);return t=>Object(fe.a)(()=>o,r)(t)}var Re=n("Nv8m");function Ae(...t){return function(e){return 1===t.length&&Object(q.a)(t[0])&&(t=t[0]),e.lift.call(Object(Re.a)(e,...t))}}var Ee=n("EY2u");function De(t=-1){return e=>0===t?Object(Ee.b)():e.lift(new Le(t<0?-1:t-1,e))}class Le{constructor(t,e){this.count=t,this.source=e}call(t,e){return e.subscribe(new qe(t,this.count,this.source))}}class qe extends p.a{constructor(t,e,n){super(t),this.count=e,this.source=n}complete(){if(!this.isStopped){const{source:t,count:e}=this;if(0===e)return super.complete();e>-1&&(this.count=e-1),t.subscribe(this._unsubscribeAndRecycle())}}}function je(t){return e=>e.lift(new Fe(t))}class Fe{constructor(t){this.notifier=t}call(t,e){return e.subscribe(new ze(t,this.notifier,e))}}class ze extends a.a{constructor(t,e,n){super(t),this.notifier=e,this.source=n,this.sourceIsBeingSubscribedTo=!0}notifyNext(t,e,n,a,r){this.sourceIsBeingSubscribedTo=!0,this.source.subscribe(this)}notifyComplete(t){if(!1===this.sourceIsBeingSubscribedTo)return super.complete()}complete(){if(this.sourceIsBeingSubscribedTo=!1,!this.isStopped){if(this.retries||this.subscribeToRetries(),!this.retriesSubscription||this.retriesSubscription.closed)return super.complete();this._unsubscribeAndRecycle(),this.notifications.next()}}_unsubscribe(){const{notifications:t,retriesSubscription:e}=this;t&&(t.unsubscribe(),this.notifications=null),e&&(e.unsubscribe(),this.retriesSubscription=null),this.retries=null}_unsubscribeAndRecycle(){const{_unsubscribe:t}=this;return this._unsubscribe=null,super._unsubscribeAndRecycle(),this._unsubscribe=t,this}subscribeToRetries(){let t;this.notifications=new Me.a;try{const{notifier:e}=this;t=e(this.notifications)}catch(e){return super.complete()}this.retries=t,this.retriesSubscription=Object(r.a)(this,t)}}function Ve(t=-1){return e=>e.lift(new Ge(t,e))}class Ge{constructor(t,e){this.count=t,this.source=e}call(t,e){return e.subscribe(new Ye(t,this.count,this.source))}}class Ye extends p.a{constructor(t,e,n){super(t),this.count=e,this.source=n}error(t){if(!this.isStopped){const{source:e,count:n}=this;if(0===n)return super.error(t);n>-1&&(this.count=n-1),e.subscribe(this._unsubscribeAndRecycle())}}}function Be(t){return e=>e.lift(new He(t,e))}class He{constructor(t,e){this.notifier=t,this.source=e}call(t,e){return e.subscribe(new Ue(t,this.notifier,this.source))}}class Ue extends a.a{constructor(t,e,n){super(t),this.notifier=e,this.source=n}error(t){if(!this.isStopped){let n=this.errors,a=this.retries,o=this.retriesSubscription;if(a)this.errors=null,this.retriesSubscription=null;else{n=new Me.a;try{const{notifier:t}=this;a=t(n)}catch(e){return super.error(e)}o=Object(r.a)(this,a)}this._unsubscribeAndRecycle(),this.errors=n,this.retries=a,this.retriesSubscription=o,n.next(t)}}_unsubscribe(){const{errors:t,retriesSubscription:e}=this;t&&(t.unsubscribe(),this.errors=null),e&&(e.unsubscribe(),this.retriesSubscription=null),this.retries=null}notifyNext(t,e,n,a,r){const{_unsubscribe:o}=this;this._unsubscribe=null,this._unsubscribeAndRecycle(),this._unsubscribe=o,this.source.subscribe(this)}}var We=n("x+ZX");function Ke(t){return e=>e.lift(new $e(t))}class $e{constructor(t){this.notifier=t}call(t,e){const n=new Ze(t),a=e.subscribe(n);return a.add(Object(r.a)(n,this.notifier)),a}}class Ze extends a.a{constructor(){super(...arguments),this.hasValue=!1}_next(t){this.value=t,this.hasValue=!0}notifyNext(t,e,n,a,r){this.emitValue()}notifyComplete(){this.emitValue()}emitValue(){this.hasValue&&(this.hasValue=!1,this.destination.next(this.value))}}function Je(t,e=c.a){return n=>n.lift(new Xe(t,e))}class Xe{constructor(t,e){this.period=t,this.scheduler=e}call(t,e){return e.subscribe(new Qe(t,this.period,this.scheduler))}}class Qe extends p.a{constructor(t,e,n){super(t),this.period=e,this.scheduler=n,this.hasValue=!1,this.add(n.schedule(tn,e,{subscriber:this,period:e}))}_next(t){this.lastValue=t,this.hasValue=!0}notifyNext(){this.hasValue&&(this.hasValue=!1,this.destination.next(this.lastValue))}}function tn(t){let{subscriber:e,period:n}=t;e.notifyNext(),this.schedule(t,n)}var en=n("Kqap");function nn(t,e){return n=>n.lift(new an(t,e))}class an{constructor(t,e){this.compareTo=t,this.comparator=e}call(t,e){return e.subscribe(new rn(t,this.compareTo,this.comparator))}}class rn extends p.a{constructor(t,e,n){super(t),this.compareTo=e,this.comparator=n,this._a=[],this._b=[],this._oneComplete=!1,this.destination.add(e.subscribe(new on(t,this)))}_next(t){this._oneComplete&&0===this._b.length?this.emit(!1):(this._a.push(t),this.checkValues())}_complete(){this._oneComplete?this.emit(0===this._a.length&&0===this._b.length):this._oneComplete=!0,this.unsubscribe()}checkValues(){const{_a:t,_b:e,comparator:n}=this;for(;t.length>0&&e.length>0;){let r=t.shift(),o=e.shift(),i=!1;try{i=n?n(r,o):r===o}catch(a){this.destination.error(a)}i||this.emit(!1)}}emit(t){const{destination:e}=this;e.next(t),e.complete()}nextB(t){this._oneComplete&&0===this._a.length?this.emit(!1):(this._b.push(t),this.checkValues())}completeB(){this._oneComplete?this.emit(0===this._a.length&&0===this._b.length):this._oneComplete=!0}}class on extends p.a{constructor(t,e){super(t),this.parent=e}_next(t){this.parent.nextB(t)}_error(t){this.parent.error(t),this.unsubscribe()}_complete(){this.parent.completeB(),this.unsubscribe()}}var sn=n("w1tV"),cn=n("UXun"),ln=n("sVev");function dn(t){return e=>e.lift(new un(t,e))}class un{constructor(t,e){this.predicate=t,this.source=e}call(t,e){return e.subscribe(new gn(t,this.predicate,this.source))}}class gn extends p.a{constructor(t,e,n){super(t),this.predicate=e,this.source=n,this.seenValue=!1,this.index=0}applySingleValue(t){this.seenValue?this.destination.error("Sequence contains more than one element"):(this.seenValue=!0,this.singleValue=t)}_next(t){const e=this.index++;this.predicate?this.tryNext(t,e):this.applySingleValue(t)}tryNext(t,e){try{this.predicate(t,e,this.source)&&this.applySingleValue(t)}catch(n){this.destination.error(n)}}_complete(){const t=this.destination;this.index>0?(t.next(this.seenValue?this.singleValue:void 0),t.complete()):t.error(new ln.a)}}function fn(t){return e=>e.lift(new pn(t))}class pn{constructor(t){this.total=t}call(t,e){return e.subscribe(new mn(t,this.total))}}class mn extends p.a{constructor(t,e){super(t),this.total=e,this.count=0}_next(t){++this.count>this.total&&this.destination.next(t)}}function hn(t){return e=>e.lift(new bn(t))}class bn{constructor(t){if(this._skipCount=t,this._skipCount<0)throw new ht.a}call(t,e){return e.subscribe(0===this._skipCount?new p.a(t):new _n(t,this._skipCount))}}class _n extends p.a{constructor(t,e){super(t),this._skipCount=e,this._count=0,this._ring=new Array(e)}_next(t){const e=this._skipCount,n=this._count++;if(n<e)this._ring[n]=t;else{const a=n%e,r=this._ring,o=r[a];r[a]=t,this.destination.next(o)}}}function yn(t){return e=>e.lift(new On(t))}class On{constructor(t){this.notifier=t}call(t,e){return e.subscribe(new vn(t,this.notifier))}}class vn extends a.a{constructor(t,e){super(t),this.hasValue=!1;const n=new kt.a(this,void 0,void 0);this.add(n),this.innerSubscription=n;const a=Object(r.a)(this,e,void 0,void 0,n);a!==n&&(this.add(a),this.innerSubscription=a)}_next(t){this.hasValue&&super._next(t)}notifyNext(t,e,n,a,r){this.hasValue=!0,this.innerSubscription&&this.innerSubscription.unsubscribe()}notifyComplete(){}}function Cn(t){return e=>e.lift(new Pn(t))}class Pn{constructor(t){this.predicate=t}call(t,e){return e.subscribe(new Mn(t,this.predicate))}}class Mn extends p.a{constructor(t,e){super(t),this.predicate=e,this.skipping=!0,this.index=0}_next(t){const e=this.destination;this.skipping&&this.tryCallPredicate(t),this.skipping||e.next(t)}tryCallPredicate(t){try{const e=this.predicate(t,this.index++);this.skipping=Boolean(e)}catch(e){this.destination.error(e)}}}var xn=n("JX91"),wn=n("7Hc7"),Tn=n("Y7HM");class kn extends rt.a{constructor(t,e=0,n=wn.a){super(),this.source=t,this.delayTime=e,this.scheduler=n,(!Object(Tn.a)(e)||e<0)&&(this.delayTime=0),n&&"function"==typeof n.schedule||(this.scheduler=wn.a)}static create(t,e=0,n=wn.a){return new kn(t,e,n)}static dispatch(t){const{source:e,subscriber:n}=t;return this.add(e.subscribe(n))}_subscribe(t){return this.scheduler.schedule(kn.dispatch,this.delayTime,{source:this.source,subscriber:t})}}function Sn(t,e=0){return function(n){return n.lift(new In(t,e))}}class In{constructor(t,e){this.scheduler=t,this.delay=e}call(t,e){return new kn(e,this.delay,this.scheduler).subscribe(t)}}var Nn=n("eIep"),Rn=n("SpAZ");function An(){return Object(Nn.a)(Rn.a)}var En=n("aGrj"),Dn=n("BFxc");function Ln(t){return e=>e.lift(new qn(t))}class qn{constructor(t){this.notifier=t}call(t,e){const n=new jn(t),a=Object(r.a)(n,this.notifier);return a&&!n.seenValue?(n.add(a),e.subscribe(n)):n}}class jn extends a.a{constructor(t){super(t),this.seenValue=!1}notifyNext(t,e,n,a,r){this.seenValue=!0,this.complete()}notifyComplete(){}}function Fn(t,e=!1){return n=>n.lift(new zn(t,e))}class zn{constructor(t,e){this.predicate=t,this.inclusive=e}call(t,e){return e.subscribe(new Vn(t,this.predicate,this.inclusive))}}class Vn extends p.a{constructor(t,e,n){super(t),this.predicate=e,this.inclusive=n,this.index=0}_next(t){const e=this.destination;let n;try{n=this.predicate(t,this.index++)}catch(a){return void e.error(a)}this.nextOrComplete(t,n)}nextOrComplete(t,e){const n=this.destination;Boolean(e)?n.next(t):(this.inclusive&&n.next(t),n.complete())}}var Gn=n("vkgz");const Yn={leading:!0,trailing:!1};function Bn(t,e=Yn){return n=>n.lift(new Hn(t,e.leading,e.trailing))}class Hn{constructor(t,e,n){this.durationSelector=t,this.leading=e,this.trailing=n}call(t,e){return e.subscribe(new Un(t,this.durationSelector,this.leading,this.trailing))}}class Un extends a.a{constructor(t,e,n,a){super(t),this.destination=t,this.durationSelector=e,this._leading=n,this._trailing=a,this._hasValue=!1}_next(t){this._hasValue=!0,this._sendValue=t,this._throttled||(this._leading?this.send():this.throttle(t))}send(){const{_hasValue:t,_sendValue:e}=this;t&&(this.destination.next(e),this.throttle(e)),this._hasValue=!1,this._sendValue=null}throttle(t){const e=this.tryDurationSelector(t);e&&this.add(this._throttled=Object(r.a)(this,e))}tryDurationSelector(t){try{return this.durationSelector(t)}catch(e){return this.destination.error(e),null}}throttlingDone(){const{_throttled:t,_trailing:e}=this;t&&t.unsubscribe(),this._throttled=null,e&&this.send()}notifyNext(t,e,n,a,r){this.throttlingDone()}notifyComplete(){this.throttlingDone()}}function Wn(t,e=c.a,n=Yn){return a=>a.lift(new Kn(t,e,n.leading,n.trailing))}class Kn{constructor(t,e,n,a){this.duration=t,this.scheduler=e,this.leading=n,this.trailing=a}call(t,e){return e.subscribe(new $n(t,this.duration,this.scheduler,this.leading,this.trailing))}}class $n extends p.a{constructor(t,e,n,a,r){super(t),this.duration=e,this.scheduler=n,this.leading=a,this.trailing=r,this._hasTrailingValue=!1,this._trailingValue=null}_next(t){this.throttled?this.trailing&&(this._trailingValue=t,this._hasTrailingValue=!0):(this.add(this.throttled=this.scheduler.schedule(Zn,this.duration,{subscriber:this})),this.leading?this.destination.next(t):this.trailing&&(this._trailingValue=t,this._hasTrailingValue=!0))}_complete(){this._hasTrailingValue?(this.destination.next(this._trailingValue),this.destination.complete()):this.destination.complete()}clearThrottle(){const t=this.throttled;t&&(this.trailing&&this._hasTrailingValue&&(this.destination.next(this._trailingValue),this._trailingValue=null,this._hasTrailingValue=!1),t.unsubscribe(),this.remove(t),this.throttled=null)}}function Zn(t){const{subscriber:e}=t;e.clearThrottle()}var Jn=n("NXyV");function Xn(t=c.a){return e=>Object(Jn.a)(()=>e.pipe(Object(en.a)(({current:e},n)=>({value:n,current:t.now(),last:e}),{current:t.now(),value:void 0,last:void 0}),Object(St.a)(({current:t,last:e,value:n})=>new Qn(n,t-e))))}class Qn{constructor(t,e){this.value=t,this.interval=e}}var ta=n("Y6u4");function ea(t,e,n=c.a){return a=>{let r=X(t),o=r?+t-n.now():Math.abs(t);return a.lift(new na(o,r,e,n))}}class na{constructor(t,e,n,a){this.waitFor=t,this.absoluteTimeout=e,this.withObservable=n,this.scheduler=a}call(t,e){return e.subscribe(new aa(t,this.absoluteTimeout,this.waitFor,this.withObservable,this.scheduler))}}class aa extends a.a{constructor(t,e,n,a,r){super(t),this.absoluteTimeout=e,this.waitFor=n,this.withObservable=a,this.scheduler=r,this.action=null,this.scheduleTimeout()}static dispatchTimeout(t){const{withObservable:e}=t;t._unsubscribeAndRecycle(),t.add(Object(r.a)(t,e))}scheduleTimeout(){const{action:t}=this;t?this.action=t.schedule(this,this.waitFor):this.add(this.action=this.scheduler.schedule(aa.dispatchTimeout,this.waitFor,this))}_next(t){this.absoluteTimeout||this.scheduleTimeout(),super._next(t)}_unsubscribe(){this.action=null,this.scheduler=null,this.withObservable=null}}var ra=n("z6cu");function oa(t,e=c.a){return ea(t,Object(ra.a)(new ta.a),e)}function ia(t=c.a){return Object(St.a)(e=>new sa(e,t.now()))}class sa{constructor(t,e){this.value=t,this.timestamp=e}}var ca=n("IAdc");function la(t){return function(e){return e.lift(new da(t))}}class da{constructor(t){this.windowBoundaries=t}call(t,e){const n=new ua(t),a=e.subscribe(n);return a.closed||n.add(Object(r.a)(n,this.windowBoundaries)),a}}class ua extends a.a{constructor(t){super(t),this.window=new Me.a,t.next(this.window)}notifyNext(t,e,n,a,r){this.openWindow()}notifyError(t,e){this._error(t)}notifyComplete(t){this._complete()}_next(t){this.window.next(t)}_error(t){this.window.error(t),this.destination.error(t)}_complete(){this.window.complete(),this.destination.complete()}_unsubscribe(){this.window=null}openWindow(){const t=this.window;t&&t.complete();const e=this.destination,n=this.window=new Me.a;e.next(n)}}function ga(t,e=0){return function(n){return n.lift(new fa(t,e))}}class fa{constructor(t,e){this.windowSize=t,this.startWindowEvery=e}call(t,e){return e.subscribe(new pa(t,this.windowSize,this.startWindowEvery))}}class pa extends p.a{constructor(t,e,n){super(t),this.destination=t,this.windowSize=e,this.startWindowEvery=n,this.windows=[new Me.a],this.count=0,t.next(this.windows[0])}_next(t){const e=this.startWindowEvery>0?this.startWindowEvery:this.windowSize,n=this.destination,a=this.windowSize,r=this.windows,o=r.length;for(let s=0;s<o&&!this.closed;s++)r[s].next(t);const i=this.count-a+1;if(i>=0&&i%e==0&&!this.closed&&r.shift().complete(),++this.count%e==0&&!this.closed){const t=new Me.a;r.push(t),n.next(t)}}_error(t){const e=this.windows;if(e)for(;e.length>0&&!this.closed;)e.shift().error(t);this.destination.error(t)}_complete(){const t=this.windows;if(t)for(;t.length>0&&!this.closed;)t.shift().complete();this.destination.complete()}_unsubscribe(){this.count=0,this.windows=null}}function ma(t){let e=c.a,n=null,a=Number.POSITIVE_INFINITY;return Object(y.a)(arguments[3])&&(e=arguments[3]),Object(y.a)(arguments[2])?e=arguments[2]:Object(Tn.a)(arguments[2])&&(a=arguments[2]),Object(y.a)(arguments[1])?e=arguments[1]:Object(Tn.a)(arguments[1])&&(n=arguments[1]),function(r){return r.lift(new ha(t,n,a,e))}}class ha{constructor(t,e,n,a){this.windowTimeSpan=t,this.windowCreationInterval=e,this.maxWindowSize=n,this.scheduler=a}call(t,e){return e.subscribe(new _a(t,this.windowTimeSpan,this.windowCreationInterval,this.maxWindowSize,this.scheduler))}}class ba extends Me.a{constructor(){super(...arguments),this._numberOfNextedValues=0}next(t){this._numberOfNextedValues++,super.next(t)}get numberOfNextedValues(){return this._numberOfNextedValues}}class _a extends p.a{constructor(t,e,n,a,r){super(t),this.destination=t,this.windowTimeSpan=e,this.windowCreationInterval=n,this.maxWindowSize=a,this.scheduler=r,this.windows=[];const o=this.openWindow();if(null!==n&&n>=0){const t={windowTimeSpan:e,windowCreationInterval:n,subscriber:this,scheduler:r};this.add(r.schedule(va,e,{subscriber:this,window:o,context:null})),this.add(r.schedule(Oa,n,t))}else this.add(r.schedule(ya,e,{subscriber:this,window:o,windowTimeSpan:e}))}_next(t){const e=this.windows,n=e.length;for(let a=0;a<n;a++){const n=e[a];n.closed||(n.next(t),n.numberOfNextedValues>=this.maxWindowSize&&this.closeWindow(n))}}_error(t){const e=this.windows;for(;e.length>0;)e.shift().error(t);this.destination.error(t)}_complete(){const t=this.windows;for(;t.length>0;){const e=t.shift();e.closed||e.complete()}this.destination.complete()}openWindow(){const t=new ba;return this.windows.push(t),this.destination.next(t),t}closeWindow(t){t.complete();const e=this.windows;e.splice(e.indexOf(t),1)}}function ya(t){const{subscriber:e,windowTimeSpan:n,window:a}=t;a&&e.closeWindow(a),t.window=e.openWindow(),this.schedule(t,n)}function Oa(t){const{windowTimeSpan:e,subscriber:n,scheduler:a,windowCreationInterval:r}=t,o=n.openWindow();let i={action:this,subscription:null};i.subscription=a.schedule(va,e,{subscriber:n,window:o,context:i}),this.add(i.subscription),this.schedule(t,r)}function va(t){const{subscriber:e,window:n,context:a}=t;a&&a.action&&a.subscription&&a.action.remove(a.subscription),e.closeWindow(n)}function Ca(t,e){return n=>n.lift(new Pa(t,e))}class Pa{constructor(t,e){this.openings=t,this.closingSelector=e}call(t,e){return e.subscribe(new Ma(t,this.openings,this.closingSelector))}}class Ma extends a.a{constructor(t,e,n){super(t),this.openings=e,this.closingSelector=n,this.contexts=[],this.add(this.openSubscription=Object(r.a)(this,e,e))}_next(t){const{contexts:e}=this;if(e){const n=e.length;for(let a=0;a<n;a++)e[a].window.next(t)}}_error(t){const{contexts:e}=this;if(this.contexts=null,e){const n=e.length;let a=-1;for(;++a<n;){const n=e[a];n.window.error(t),n.subscription.unsubscribe()}}super._error(t)}_complete(){const{contexts:t}=this;if(this.contexts=null,t){const e=t.length;let n=-1;for(;++n<e;){const e=t[n];e.window.complete(),e.subscription.unsubscribe()}}super._complete()}_unsubscribe(){const{contexts:t}=this;if(this.contexts=null,t){const e=t.length;let n=-1;for(;++n<e;){const e=t[n];e.window.unsubscribe(),e.subscription.unsubscribe()}}}notifyNext(t,e,n,a,o){if(t===this.openings){let t;try{const{closingSelector:n}=this;t=n(e)}catch(i){return this.error(i)}const n=new Me.a,a=new T.a,o={window:n,subscription:a};this.contexts.push(o);const s=Object(r.a)(this,t,o);s.closed?this.closeWindow(this.contexts.length-1):(s.context=o,a.add(s)),this.destination.next(n)}else this.closeWindow(this.contexts.indexOf(t))}notifyError(t){this.error(t)}notifyComplete(t){t!==this.openSubscription&&this.closeWindow(this.contexts.indexOf(t.context))}closeWindow(t){if(-1===t)return;const{contexts:e}=this,n=e[t],{window:a,subscription:r}=n;e.splice(t,1),a.complete(),r.unsubscribe()}}function xa(t){return function(e){return e.lift(new wa(t))}}class wa{constructor(t){this.closingSelector=t}call(t,e){return e.subscribe(new Ta(t,this.closingSelector))}}class Ta extends a.a{constructor(t,e){super(t),this.destination=t,this.closingSelector=e,this.openWindow()}notifyNext(t,e,n,a,r){this.openWindow(r)}notifyError(t,e){this._error(t)}notifyComplete(t){this.openWindow(t)}_next(t){this.window.next(t)}_error(t){this.window.error(t),this.destination.error(t),this.unsubscribeClosingNotification()}_complete(){this.window.complete(),this.destination.complete(),this.unsubscribeClosingNotification()}unsubscribeClosingNotification(){this.closingNotification&&this.closingNotification.unsubscribe()}openWindow(t=null){t&&(this.remove(t),t.unsubscribe());const e=this.window;e&&e.complete();const n=this.window=new Me.a;let a;this.destination.next(n);try{const{closingSelector:t}=this;a=t()}catch(o){return this.destination.error(o),void this.window.error(o)}this.add(this.closingNotification=Object(r.a)(this,a))}}function ka(...t){return e=>{let n;return"function"==typeof t[t.length-1]&&(n=t.pop()),e.lift(new Sa(t,n))}}class Sa{constructor(t,e){this.observables=t,this.project=e}call(t,e){return e.subscribe(new Ia(t,this.observables,this.project))}}class Ia extends a.a{constructor(t,e,n){super(t),this.observables=e,this.project=n,this.toRespond=[];const a=e.length;this.values=new Array(a);for(let r=0;r<a;r++)this.toRespond.push(r);for(let o=0;o<a;o++){let t=e[o];this.add(Object(r.a)(this,t,t,o))}}notifyNext(t,e,n,a,r){this.values[n]=e;const o=this.toRespond;if(o.length>0){const t=o.indexOf(n);-1!==t&&o.splice(t,1)}}notifyComplete(){}_next(t){if(0===this.toRespond.length){const e=[t,...this.values];this.project?this._tryProject(e):this.destination.next(e)}}_tryProject(t){let e;try{e=this.project.apply(this,t)}catch(n){return void this.destination.error(n)}this.destination.next(e)}}var Na=n("1uah");function Ra(...t){return function(e){return e.lift.call(Object(Na.b)(e,...t))}}function Aa(t){return e=>e.lift(new Na.a(t))}n.d(e,"audit",(function(){return o})),n.d(e,"auditTime",(function(){return d})),n.d(e,"buffer",(function(){return u})),n.d(e,"bufferCount",(function(){return m})),n.d(e,"bufferTime",(function(){return O})),n.d(e,"bufferToggle",(function(){return k})),n.d(e,"bufferWhen",(function(){return N})),n.d(e,"catchError",(function(){return E.a})),n.d(e,"combineAll",(function(){return L})),n.d(e,"combineLatest",(function(){return F})),n.d(e,"concat",(function(){return z.a})),n.d(e,"concatAll",(function(){return V.a})),n.d(e,"concatMap",(function(){return G.a})),n.d(e,"concatMapTo",(function(){return Y})),n.d(e,"count",(function(){return B})),n.d(e,"debounce",(function(){return W})),n.d(e,"debounceTime",(function(){return Z.a})),n.d(e,"defaultIfEmpty",(function(){return J.a})),n.d(e,"delay",(function(){return tt})),n.d(e,"delayWhen",(function(){return ot})),n.d(e,"dematerialize",(function(){return dt})),n.d(e,"distinct",(function(){return ft.a})),n.d(e,"distinctUntilChanged",(function(){return pt.a})),n.d(e,"distinctUntilKeyChanged",(function(){return mt})),n.d(e,"elementAt",(function(){return Ot})),n.d(e,"endWith",(function(){return Pt})),n.d(e,"every",(function(){return Mt.a})),n.d(e,"exhaust",(function(){return xt})),n.d(e,"exhaustMap",(function(){return It})),n.d(e,"expand",(function(){return At})),n.d(e,"filter",(function(){return bt.a})),n.d(e,"finalize",(function(){return Lt.a})),n.d(e,"find",(function(){return qt})),n.d(e,"findIndex",(function(){return zt})),n.d(e,"first",(function(){return Vt.a})),n.d(e,"groupBy",(function(){return Gt.b})),n.d(e,"ignoreElements",(function(){return Yt})),n.d(e,"isEmpty",(function(){return Ut})),n.d(e,"last",(function(){return $t.a})),n.d(e,"map",(function(){return St.a})),n.d(e,"mapTo",(function(){return Zt})),n.d(e,"materialize",(function(){return Qt})),n.d(e,"max",(function(){return ae})),n.d(e,"merge",(function(){return oe})),n.d(e,"mergeAll",(function(){return ie.a})),n.d(e,"mergeMap",(function(){return se.a})),n.d(e,"flatMap",(function(){return se.a})),n.d(e,"mergeMapTo",(function(){return ce})),n.d(e,"mergeScan",(function(){return le})),n.d(e,"min",(function(){return ge})),n.d(e,"multicast",(function(){return fe.a})),n.d(e,"observeOn",(function(){return pe.b})),n.d(e,"onErrorResumeNext",(function(){return me})),n.d(e,"pairwise",(function(){return _e})),n.d(e,"partition",(function(){return Ce})),n.d(e,"pluck",(function(){return Pe})),n.d(e,"publish",(function(){return xe})),n.d(e,"publishBehavior",(function(){return Te})),n.d(e,"publishLast",(function(){return Se})),n.d(e,"publishReplay",(function(){return Ne})),n.d(e,"race",(function(){return Ae})),n.d(e,"reduce",(function(){return ne.a})),n.d(e,"repeat",(function(){return De})),n.d(e,"repeatWhen",(function(){return je})),n.d(e,"retry",(function(){return Ve})),n.d(e,"retryWhen",(function(){return Be})),n.d(e,"refCount",(function(){return We.a})),n.d(e,"sample",(function(){return Ke})),n.d(e,"sampleTime",(function(){return Je})),n.d(e,"scan",(function(){return en.a})),n.d(e,"sequenceEqual",(function(){return nn})),n.d(e,"share",(function(){return sn.a})),n.d(e,"shareReplay",(function(){return cn.a})),n.d(e,"single",(function(){return dn})),n.d(e,"skip",(function(){return fn})),n.d(e,"skipLast",(function(){return hn})),n.d(e,"skipUntil",(function(){return yn})),n.d(e,"skipWhile",(function(){return Cn})),n.d(e,"startWith",(function(){return xn.a})),n.d(e,"subscribeOn",(function(){return Sn})),n.d(e,"switchAll",(function(){return An})),n.d(e,"switchMap",(function(){return Nn.a})),n.d(e,"switchMapTo",(function(){return En.a})),n.d(e,"take",(function(){return yt.a})),n.d(e,"takeLast",(function(){return Dn.a})),n.d(e,"takeUntil",(function(){return Ln})),n.d(e,"takeWhile",(function(){return Fn})),n.d(e,"tap",(function(){return Gn.a})),n.d(e,"throttle",(function(){return Bn})),n.d(e,"throttleTime",(function(){return Wn})),n.d(e,"throwIfEmpty",(function(){return _t.a})),n.d(e,"timeInterval",(function(){return Xn})),n.d(e,"timeout",(function(){return oa})),n.d(e,"timeoutWith",(function(){return ea})),n.d(e,"timestamp",(function(){return ia})),n.d(e,"toArray",(function(){return ca.a})),n.d(e,"window",(function(){return la})),n.d(e,"windowCount",(function(){return ga})),n.d(e,"windowTime",(function(){return ma})),n.d(e,"windowToggle",(function(){return Ca})),n.d(e,"windowWhen",(function(){return xa})),n.d(e,"withLatestFrom",(function(){return ka})),n.d(e,"zip",(function(){return Ra})),n.d(e,"zipAll",(function(){return Aa}))},kekF:function(t,e){t.exports=function(t,e){return function(n){return t(e(n))}}},kmMV:function(t,e,n){"use strict";var a,r,o=n("rW0t"),i=n("n3/R"),s=RegExp.prototype.exec,c=String.prototype.replace,l=s,d=(r=/b*/g,s.call(a=/a/,"a"),s.call(r,"a"),0!==a.lastIndex||0!==r.lastIndex),u=i.UNSUPPORTED_Y||i.BROKEN_CARET,g=void 0!==/()??/.exec("")[1];(d||g||u)&&(l=function(t){var e,n,a,r,i=this,l=u&&i.sticky,f=o.call(i),p=i.source,m=0,h=t;return l&&(-1===(f=f.replace("y","")).indexOf("g")&&(f+="g"),h=String(t).slice(i.lastIndex),i.lastIndex>0&&(!i.multiline||i.multiline&&"\n"!==t[i.lastIndex-1])&&(p="(?: "+p+")",h=" "+h,m++),n=new RegExp("^(?:"+p+")",f)),g&&(n=new RegExp("^"+p+"$(?!\\s)",f)),d&&(e=i.lastIndex),a=s.call(l?n:i,h),l?a?(a.input=a.input.slice(m),a[0]=a[0].slice(m),a.index=i.lastIndex,i.lastIndex+=a[0].length):i.lastIndex=0:d&&a&&(i.lastIndex=i.global?a.index+a[0].length:e),g&&a&&a.length>1&&c.call(a[0],n,(function(){for(r=1;r<arguments.length-2;r++)void 0===arguments[r]&&(a[r]=void 0)})),a}),t.exports=l},"kn/O":function(t,e,n){"use strict";n.d(e,"a",(function(){return g}));var a=n("HDdC"),r=n("mtw6"),o=n("G1I9"),i=n("QTAa"),s=n("9nlD"),c=n("mSOc"),l=n("VXsX"),d=n("ufoC"),u=n("8Y7J");let g=(()=>{class t{constructor(t,e,n,a){this.notificationService=t,this.summaryService=e,this.taskMessageService=n,this.taskManagerService=a}wrapTaskAroundCall({task:t,call:e}){return new a.a(n=>{e.subscribe(e=>{202===e.status?this._handleExecutingTasks(t):(this.summaryService.refresh(),t.success=!0,this.notificationService.notifyTask(t))},e=>{t.success=!1,t.exception=e.error,n.error(e)},()=>{n.complete()})})}_handleExecutingTasks(t){const e=new o.b(r.a.info,this.taskMessageService.getRunningTitle(t));e.isFinishedTask=!0,this.notificationService.show(e);const n=new i.a(t.name,t.metadata);this.summaryService.addRunningTask(n),this.taskManagerService.subscribe(n.name,n.metadata,t=>{this.notificationService.notifyTask(t)})}}return t.ngInjectableDef=u["ɵɵdefineInjectable"]({factory:function(){return new t(u["ɵɵinject"](s.a),u["ɵɵinject"](c.a),u["ɵɵinject"](d.a),u["ɵɵinject"](l.a))},token:t,providedIn:"root"}),t})()},kvvV:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("t/zF");class r extends a.a{}},l5ep:function(t,e,n){!function(t){"use strict";t.defineLocale("cy",{months:"Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr".split("_"),monthsShort:"Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag".split("_"),weekdays:"Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn".split("_"),weekdaysShort:"Sul_Llun_Maw_Mer_Iau_Gwe_Sad".split("_"),weekdaysMin:"Su_Ll_Ma_Me_Ia_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Heddiw am] LT",nextDay:"[Yfory am] LT",nextWeek:"dddd [am] LT",lastDay:"[Ddoe am] LT",lastWeek:"dddd [diwethaf am] LT",sameElse:"L"},relativeTime:{future:"mewn %s",past:"%s yn ôl",s:"ychydig eiliadau",ss:"%d eiliad",m:"munud",mm:"%d munud",h:"awr",hh:"%d awr",d:"diwrnod",dd:"%d diwrnod",M:"mis",MM:"%d mis",y:"blwyddyn",yy:"%d flynedd"},dayOfMonthOrdinalParse:/\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,ordinal:function(t){var e="";return t>20?e=40===t||50===t||60===t||80===t||100===t?"fed":"ain":t>0&&(e=["","af","il","ydd","ydd","ed","ed","ed","fed","fed","fed","eg","fed","eg","eg","fed","eg","eg","fed","eg","fed"][t]),t+e},week:{dow:1,doy:4}})}(n("wd/R"))},l5mm:function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var a=n("HDdC"),r=n("D0XW"),o=n("Y7HM");function i(t=0,e=r.a){return(!Object(o.a)(t)||t<0)&&(t=0),e&&"function"==typeof e.schedule||(e=r.a),new a.a(n=>(n.add(e.schedule(s,t,{subscriber:n,counter:0,period:t})),n))}function s(t){const{subscriber:e,counter:n,period:a}=t;e.next(n),this.schedule({subscriber:e,counter:n+1,period:a},a)}},l7GE:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("7o/Q");class r extends a.a{notifyNext(t,e,n,a,r){this.destination.next(e)}notifyError(t,e){this.destination.error(t)}notifyComplete(t){this.destination.complete()}}},lJxs:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("7o/Q");function r(t,e){return function(n){if("function"!=typeof t)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return n.lift(new o(t,e))}}class o{constructor(t,e){this.project=t,this.thisArg=e}call(t,e){return e.subscribe(new i(t,this.project,this.thisArg))}}class i extends a.a{constructor(t,e,n){super(t),this.project=e,this.count=0,this.thisArg=n||this}_next(t){let e;try{e=this.project.call(this.thisArg,t,this.count++)}catch(n){return void this.destination.error(n)}this.destination.next(e)}}},lMq5:function(t,e,n){var a=n("0Dky"),r=/#|\.prototype\./,o=function(t,e){var n=s[i(t)];return n==l||n!=c&&("function"==typeof e?a(e):!!e)},i=o.normalize=function(t){return String(t).replace(r,".").toLowerCase()},s=o.data={},c=o.NATIVE="N",l=o.POLYFILL="P";t.exports=o},lQqw:function(t,e,n){var a=n("MMmD");t.exports=function(t,e){return function(n,r){if(null==n)return n;if(!a(n))return t(n,r);for(var o=n.length,i=e?o:-1,s=Object(n);(e?i--:++i<o)&&!1!==r(s[i],i,s););return n}}},lSCD:function(t,e,n){var a=n("NykK"),r=n("GoyQ");t.exports=function(t){if(!r(t))return!1;var e=a(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}},lUjN:function(t,e,n){var a=n("mrSG").__decorate,r=n("mrSG").__metadata;Object.defineProperty(e,"__esModule",{value:!0});var o=n("8Y7J"),i=n("vxfy");e.DatatableFooterDirective=function(){function t(){}return a([o.Input(),r("design:type",Number)],t.prototype,"footerHeight",void 0),a([o.Input(),r("design:type",String)],t.prototype,"totalMessage",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"selectedMessage",void 0),a([o.Input(),r("design:type",String)],t.prototype,"pagerLeftArrowIcon",void 0),a([o.Input(),r("design:type",String)],t.prototype,"pagerRightArrowIcon",void 0),a([o.Input(),r("design:type",String)],t.prototype,"pagerPreviousIcon",void 0),a([o.Input(),r("design:type",String)],t.prototype,"pagerNextIcon",void 0),a([o.Input(),o.ContentChild(i.DataTableFooterTemplateDirective,{read:o.TemplateRef,static:!1}),r("design:type",o.TemplateRef)],t.prototype,"template",void 0),a([o.Directive({selector:"ngx-datatable-footer"})],t)}()},lXzo:function(t,e,n){!function(t){"use strict";function e(t,e,n){var a,r;return"m"===n?e?"минута":"минуту":t+" "+(a=+t,r={ss:e?"секунда_секунды_секунд":"секунду_секунды_секунд",mm:e?"минута_минуты_минут":"минуту_минуты_минут",hh:"час_часа_часов",dd:"день_дня_дней",MM:"месяц_месяца_месяцев",yy:"год_года_лет"}[n].split("_"),a%10==1&&a%100!=11?r[0]:a%10>=2&&a%10<=4&&(a%100<10||a%100>=20)?r[1]:r[2])}var n=[/^янв/i,/^фев/i,/^мар/i,/^апр/i,/^ма[йя]/i,/^июн/i,/^июл/i,/^авг/i,/^сен/i,/^окт/i,/^ноя/i,/^дек/i];t.defineLocale("ru",{months:{format:"января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря".split("_"),standalone:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_")},monthsShort:{format:"янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.".split("_"),standalone:"янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.".split("_")},weekdays:{standalone:"воскресенье_понедельник_вторник_среда_четверг_пятница_суббота".split("_"),format:"воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу".split("_"),isFormat:/\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?dddd/},weekdaysShort:"вс_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"вс_пн_вт_ср_чт_пт_сб".split("_"),monthsParse:n,longMonthsParse:n,shortMonthsParse:n,monthsRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsShortRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsStrictRegex:/^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,monthsShortStrictRegex:/^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., H:mm",LLLL:"dddd, D MMMM YYYY г., H:mm"},calendar:{sameDay:"[Сегодня, в] LT",nextDay:"[Завтра, в] LT",lastDay:"[Вчера, в] LT",nextWeek:function(t){if(t.week()===this.week())return 2===this.day()?"[Во] dddd, [в] LT":"[В] dddd, [в] LT";switch(this.day()){case 0:return"[В следующее] dddd, [в] LT";case 1:case 2:case 4:return"[В следующий] dddd, [в] LT";case 3:case 5:case 6:return"[В следующую] dddd, [в] LT"}},lastWeek:function(t){if(t.week()===this.week())return 2===this.day()?"[Во] dddd, [в] LT":"[В] dddd, [в] LT";switch(this.day()){case 0:return"[В прошлое] dddd, [в] LT";case 1:case 2:case 4:return"[В прошлый] dddd, [в] LT";case 3:case 5:case 6:return"[В прошлую] dddd, [в] LT"}},sameElse:"L"},relativeTime:{future:"через %s",past:"%s назад",s:"несколько секунд",ss:e,m:e,mm:e,h:"час",hh:e,d:"день",dd:e,M:"месяц",MM:e,y:"год",yy:e},meridiemParse:/ночи|утра|дня|вечера/i,isPM:function(t){return/^(дня|вечера)$/.test(t)},meridiem:function(t,e,n){return t<4?"ночи":t<12?"утра":t<17?"дня":"вечера"},dayOfMonthOrdinalParse:/\d{1,2}-(й|го|я)/,ordinal:function(t,e){switch(e){case"M":case"d":case"DDD":return t+"-й";case"D":return t+"-го";case"w":case"W":return t+"-я";default:return t}},week:{dow:1,doy:4}})}(n("wd/R"))},lYtQ:function(t,e,n){!function(t){"use strict";function e(t,e,n,a){switch(n){case"s":return e?"хэдхэн секунд":"хэдхэн секундын";case"ss":return t+(e?" секунд":" секундын");case"m":case"mm":return t+(e?" минут":" минутын");case"h":case"hh":return t+(e?" цаг":" цагийн");case"d":case"dd":return t+(e?" өдөр":" өдрийн");case"M":case"MM":return t+(e?" сар":" сарын");case"y":case"yy":return t+(e?" жил":" жилийн");default:return t}}t.defineLocale("mn",{months:"Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар".split("_"),monthsShort:"1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар".split("_"),monthsParseExact:!0,weekdays:"Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба".split("_"),weekdaysShort:"Ням_Дав_Мяг_Лха_Пүр_Баа_Бям".split("_"),weekdaysMin:"Ня_Да_Мя_Лх_Пү_Ба_Бя".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY оны MMMMын D",LLL:"YYYY оны MMMMын D HH:mm",LLLL:"dddd, YYYY оны MMMMын D HH:mm"},meridiemParse:/ҮӨ|ҮХ/i,isPM:function(t){return"ҮХ"===t},meridiem:function(t,e,n){return t<12?"ҮӨ":"ҮХ"},calendar:{sameDay:"[Өнөөдөр] LT",nextDay:"[Маргааш] LT",nextWeek:"[Ирэх] dddd LT",lastDay:"[Өчигдөр] LT",lastWeek:"[Өнгөрсөн] dddd LT",sameElse:"L"},relativeTime:{future:"%s дараа",past:"%s өмнө",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2} өдөр/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+" өдөр";default:return t}}})}(n("wd/R"))},lgnt:function(t,e,n){!function(t){"use strict";var e={0:"-чү",1:"-чи",2:"-чи",3:"-чү",4:"-чү",5:"-чи",6:"-чы",7:"-чи",8:"-чи",9:"-чу",10:"-чу",20:"-чы",30:"-чу",40:"-чы",50:"-чү",60:"-чы",70:"-чи",80:"-чи",90:"-чу",100:"-чү"};t.defineLocale("ky",{months:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_"),monthsShort:"янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек".split("_"),weekdays:"Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби".split("_"),weekdaysShort:"Жек_Дүй_Шей_Шар_Бей_Жум_Ише".split("_"),weekdaysMin:"Жк_Дй_Шй_Шр_Бй_Жм_Иш".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Бүгүн саат] LT",nextDay:"[Эртең саат] LT",nextWeek:"dddd [саат] LT",lastDay:"[Кечээ саат] LT",lastWeek:"[Өткөн аптанын] dddd [күнү] [саат] LT",sameElse:"L"},relativeTime:{future:"%s ичинде",past:"%s мурун",s:"бирнече секунд",ss:"%d секунд",m:"бир мүнөт",mm:"%d мүнөт",h:"бир саат",hh:"%d саат",d:"бир күн",dd:"%d күн",M:"бир ай",MM:"%d ай",y:"бир жыл",yy:"%d жыл"},dayOfMonthOrdinalParse:/\d{1,2}-(чи|чы|чү|чу)/,ordinal:function(t){return t+(e[t]||e[t%10]||e[t>=100?100:null])},week:{dow:1,doy:7}})}(n("wd/R"))},ljhN:function(t,e){t.exports=function(t,e){return t===e||t!=t&&e!=e}},"lm/5":function(t,e,n){var a=n("fmRc"),r=n("wF/u");t.exports=function(t,e,n,o){var i=n.length,s=i,c=!o;if(null==t)return!s;for(t=Object(t);i--;){var l=n[i];if(c&&l[2]?l[1]!==t[l[0]]:!(l[0]in t))return!1}for(;++i<s;){var d=(l=n[i])[0],u=t[d],g=l[1];if(c&&l[2]){if(void 0===u&&!(d in t))return!1}else{var f=new a;if(o)var p=o(u,g,d,t,e,f);if(!(void 0===p?r(g,u,3,o,f):p))return!1}}return!0}},lmqd:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SelectionType=function(t){return t.single="single",t.multi="multi",t.multiClick="multiClick",t.cell="cell",t.checkbox="checkbox",t}(e.SelectionType||{})},lyxo:function(t,e,n){!function(t){"use strict";function e(t,e,n){var a=" ";return(t%100>=20||t>=100&&t%100==0)&&(a=" de "),t+a+{ss:"secunde",mm:"minute",hh:"ore",dd:"zile",MM:"luni",yy:"ani"}[n]}t.defineLocale("ro",{months:"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),monthsShort:"ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"duminică_luni_marți_miercuri_joi_vineri_sâmbătă".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_Sâm".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_Sâ".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[azi la] LT",nextDay:"[mâine la] LT",nextWeek:"dddd [la] LT",lastDay:"[ieri la] LT",lastWeek:"[fosta] dddd [la] LT",sameElse:"L"},relativeTime:{future:"peste %s",past:"%s în urmă",s:"câteva secunde",ss:e,m:"un minut",mm:e,h:"o oră",hh:e,d:"o zi",dd:e,M:"o lună",MM:e,y:"un an",yy:e},week:{dow:1,doy:7}})}(n("wd/R"))},"m/L8":function(t,e,n){var a=n("g6v/"),r=n("DPsx"),o=n("glrk"),i=n("wE6v"),s=Object.defineProperty;e.f=a?s:function(t,e,n){if(o(t),e=i(e,!0),o(n),r)try{return s(t,e,n)}catch(a){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(t[e]=n.value),t}},m92n:function(t,e,n){var a=n("glrk");t.exports=function(t,e,n,r){try{return r?e(a(n)[0],n[1]):e(n)}catch(i){var o=t.return;throw void 0!==o&&a(o.call(t)),i}}},mCNh:function(t,e,n){"use strict";n.d(e,"a",(function(){return r})),n.d(e,"b",(function(){return o}));var a=n("KqfI");function r(...t){return o(t)}function o(t){return t?1===t.length?t[0]:function(e){return t.reduce((t,e)=>e(t),e)}:a.a}},mSOc:function(t,e,n){"use strict";n.d(e,"a",(function(){return c}));var a=n("LvDl"),r=n("2Vo4"),o=n("8Y7J"),i=n("IheW"),s=n("iInd");let c=(()=>{class t{constructor(t,e,n){this.http=t,this.router=e,this.ngZone=n,this.summaryDataSource=new r.a(null),this.summaryData$=this.summaryDataSource.asObservable(),this.enablePolling()}enablePolling(){this.refresh(),this.ngZone.runOutsideAngular(()=>{this.polling=window.setInterval(()=>{this.ngZone.run(()=>{this.refresh()})},5e3)})}refresh(){a.includes(["/login","/login-change-password"],this.router.url)||this.http.get("api/summary").subscribe(t=>{this.summaryDataSource.next(t)})}getCurrentSummary(){return this.summaryDataSource.getValue()}subscribe(t,e){return this.summaryData$.subscribe(t,e)}addRunningTask(t){const e=this.summaryDataSource.getValue();e&&(a.isArray(e.executing_tasks)?e.executing_tasks.find(e=>e.name===t.name&&a.isEqual(e.metadata,t.metadata))||e.executing_tasks.push(t):e.executing_tasks=[t],this.summaryDataSource.next(e))}}return t.ngInjectableDef=o["ɵɵdefineInjectable"]({factory:function(){return new t(o["ɵɵinject"](i.c),o["ɵɵinject"](s.m),o["ɵɵinject"](o.NgZone))},token:t,providedIn:"root"}),t})()},mTTR:function(t,e,n){var a=n("b80T"),r=n("QcOe"),o=n("MMmD");t.exports=function(t){return o(t)?a(t,!0):r(t)}},mXUL:function(t,e,n){"use strict";n.d(e,"a",(function(){return l})),n.d(e,"b",(function(){return u}));var a=n("8Y7J"),r=n("+gVj"),o=n("SVse"),i=a["ɵcrt"]({encapsulation:0,styles:[".invalid-feedback[_ngcontent-%COMP%], .valid-feedback[_ngcontent-%COMP%] {\n        display: block;\n      }"],data:{}});function s(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"span",[],null,null,null,null,null)),a["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](2,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),(t()(),a["ɵted"](3,null,["",""]))],(function(t,e){t(e,2,0,e.component.className)}),(function(t,e){t(e,3,0,e.context.$implicit)}))}function c(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,1,null,s)),a["ɵdid"](1,278528,null,0,o.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){t(e,1,0,e.component.messages())}),null)}var l=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function d(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"bfv-messages",[],null,null,null,c,i)),a["ɵdid"](1,49152,null,0,r.e,[r.a],{messages:[0,"messages"]},null)],(function(t,e){t(e,1,0,e.component.messages)}),null)}function u(t){return a["ɵvid"](0,[a["ɵncd"](null,0),(t()(),a["ɵand"](16777216,null,null,1,null,d)),a["ɵdid"](2,16384,null,0,o.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){t(e,2,0,!e.component.messagesBlock)}),null)}},mc0g:function(t,e){t.exports=function(t){return function(e,n,a){for(var r=-1,o=Object(e),i=a(e),s=i.length;s--;){var c=i[t?s:++r];if(!1===n(o[c],c,o))break}return e}}},mdPL:function(t,e,n){(function(t){var a=n("WFqU"),r=e&&!e.nodeType&&e,o=r&&"object"==typeof t&&t&&!t.nodeType&&t,i=o&&o.exports===r&&a.process,s=function(){try{return o&&o.require&&o.require("util").types||i&&i.binding&&i.binding("util")}catch(t){}}();t.exports=s}).call(this,n("YuTi")(t))},mfoh:function(t,e,n){"use strict";n.d(e,"a",(function(){return f})),n.d(e,"b",(function(){return m}));var a,r=n("CFvb"),o=n("P4Tr"),i=n.n(o),s=n("mwIZ"),c=n.n(s),l=n("Puqe"),d=n.n(l),u=n("UB5X"),g=n.n(u),f={TOGGLE_ACTIVE:function(t,e,n){return e&&e.toggleActivated()},TOGGLE_ACTIVE_MULTI:function(t,e,n){return e&&e.toggleActivated(!0)},TOGGLE_SELECTED:function(t,e,n){return e&&e.toggleSelected()},ACTIVATE:function(t,e,n){return e.setIsActive(!0)},DEACTIVATE:function(t,e,n){return e.setIsActive(!1)},SELECT:function(t,e,n){return e.setIsSelected(!0)},DESELECT:function(t,e,n){return e.setIsSelected(!1)},FOCUS:function(t,e,n){return e.focus()},TOGGLE_EXPANDED:function(t,e,n){return e.hasChildren&&e.toggleExpanded()},EXPAND:function(t,e,n){return e.expand()},COLLAPSE:function(t,e,n){return e.collapse()},DRILL_DOWN:function(t,e,n){return t.focusDrillDown()},DRILL_UP:function(t,e,n){return t.focusDrillUp()},NEXT_NODE:function(t,e,n){return t.focusNextNode()},PREVIOUS_NODE:function(t,e,n){return t.focusPreviousNode()},MOVE_NODE:function(t,e,n,a){var r=a.from,o=a.to;n.ctrlKey?t.copyNode(r,o):t.moveNode(r,o)}},p={mouse:{click:f.TOGGLE_ACTIVE,dblClick:null,contextMenu:null,expanderClick:f.TOGGLE_EXPANDED,checkboxClick:f.TOGGLE_SELECTED,drop:f.MOVE_NODE},keys:(a={},a[r.a.RIGHT]=f.DRILL_DOWN,a[r.a.LEFT]=f.DRILL_UP,a[r.a.DOWN]=f.NEXT_NODE,a[r.a.UP]=f.PREVIOUS_NODE,a[r.a.SPACE]=f.TOGGLE_ACTIVE,a[r.a.ENTER]=f.TOGGLE_ACTIVE,a)},m=function(){function t(t){void 0===t&&(t={}),this.options=t,this.actionMapping=i()({},this.options.actionMapping,p),t.rtl&&(this.actionMapping.keys[r.a.RIGHT]=c()(t,["actionMapping","keys",r.a.RIGHT])||f.DRILL_UP,this.actionMapping.keys[r.a.LEFT]=c()(t,["actionMapping","keys",r.a.LEFT])||f.DRILL_DOWN)}return Object.defineProperty(t.prototype,"hasChildrenField",{get:function(){return this.options.hasChildrenField||"hasChildren"},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"childrenField",{get:function(){return this.options.childrenField||"children"},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"displayField",{get:function(){return this.options.displayField||"name"},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"idField",{get:function(){return this.options.idField||"id"},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isExpandedField",{get:function(){return this.options.isExpandedField||"isExpanded"},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"getChildren",{get:function(){return this.options.getChildren},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"levelPadding",{get:function(){return this.options.levelPadding||0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"useVirtualScroll",{get:function(){return this.options.useVirtualScroll},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"animateExpand",{get:function(){return this.options.animateExpand},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"animateSpeed",{get:function(){return this.options.animateSpeed||1},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"animateAcceleration",{get:function(){return this.options.animateAcceleration||1.2},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"scrollOnActivate",{get:function(){return void 0===this.options.scrollOnActivate||this.options.scrollOnActivate},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"rtl",{get:function(){return!!this.options.rtl},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"rootId",{get:function(){return this.options.rootId},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"useCheckbox",{get:function(){return this.options.useCheckbox},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"useTriState",{get:function(){return void 0===this.options.useTriState||this.options.useTriState},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"scrollContainer",{get:function(){return this.options.scrollContainer},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"allowDragoverStyling",{get:function(){return void 0===this.options.allowDragoverStyling||this.options.allowDragoverStyling},enumerable:!0,configurable:!0}),t.prototype.getNodeClone=function(t){return this.options.getNodeClone?this.options.getNodeClone(t):d()(Object.assign({},t.data),["id"])},t.prototype.allowDrop=function(t,e,n){return this.options.allowDrop instanceof Function?this.options.allowDrop(t,e,n):void 0===this.options.allowDrop||this.options.allowDrop},t.prototype.allowDrag=function(t){return this.options.allowDrag instanceof Function?this.options.allowDrag(t):this.options.allowDrag},t.prototype.nodeClass=function(t){return this.options.nodeClass?this.options.nodeClass(t):""},t.prototype.nodeHeight=function(t){if(t.data.virtual)return 0;var e=this.options.nodeHeight||22;return"function"==typeof e&&(e=e(t)),e+(0===t.index?2:1)*this.dropSlotHeight},Object.defineProperty(t.prototype,"dropSlotHeight",{get:function(){return g()(this.options.dropSlotHeight)?this.options.dropSlotHeight:2},enumerable:!0,configurable:!0}),t}()},mn2k:function(t,e,n){"use strict";function a(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),a(n("3MdB")),a(n("Cc8h")),a(n("ylLw")),a(n("M9eX")),a(n("uKs4"))},moLw:function(t,e,n){var a=n("mrSG").__decorate,r=n("mrSG").__metadata;Object.defineProperty(e,"__esModule",{value:!0});var o=n("8Y7J"),i=n("SVse");e.ClickOutsideDirective=function(){function t(t,e,n){this._el=t,this._ngZone=e,this.platformId=n,this.clickOutsideEnabled=!0,this.attachOutsideOnClick=!1,this.delayClickOutsideInit=!1,this.emitOnBlur=!1,this.exclude="",this.excludeBeforeClick=!1,this.clickOutsideEvents="",this.clickOutside=new o.EventEmitter,this._nodesExcluded=[],this._events=["click"],this._initOnClickBody=this._initOnClickBody.bind(this),this._onClickBody=this._onClickBody.bind(this),this._onWindowBlur=this._onWindowBlur.bind(this)}return t.prototype.ngOnInit=function(){i.isPlatformBrowser(this.platformId)&&this._init()},t.prototype.ngOnDestroy=function(){i.isPlatformBrowser(this.platformId)&&(this._removeClickOutsideListener(),this._removeAttachOutsideOnClickListener(),this._removeWindowBlurListener())},t.prototype.ngOnChanges=function(t){i.isPlatformBrowser(this.platformId)&&(t.attachOutsideOnClick||t.exclude||t.emitOnBlur)&&this._init()},t.prototype._init=function(){""!==this.clickOutsideEvents&&(this._events=this.clickOutsideEvents.split(",").map((function(t){return t.trim()}))),this._excludeCheck(),this.attachOutsideOnClick?this._initAttachOutsideOnClickListener():this._initOnClickBody(),this.emitOnBlur&&this._initWindowBlurListener()},t.prototype._initOnClickBody=function(){this.delayClickOutsideInit?setTimeout(this._initClickOutsideListener.bind(this)):this._initClickOutsideListener()},t.prototype._excludeCheck=function(){if(this.exclude)try{var t=Array.from(document.querySelectorAll(this.exclude));t&&(this._nodesExcluded=t)}catch(e){console.error("[ng-click-outside] Check your exclude selector syntax.",e)}},t.prototype._onClickBody=function(t){this.clickOutsideEnabled&&(this.excludeBeforeClick&&this._excludeCheck(),this._el.nativeElement.contains(t.target)||this._shouldExclude(t.target)||(this._emit(t),this.attachOutsideOnClick&&this._removeClickOutsideListener()))},t.prototype._onWindowBlur=function(t){var e=this;setTimeout((function(){document.hidden||e._emit(t)}))},t.prototype._emit=function(t){var e=this;this.clickOutsideEnabled&&this._ngZone.run((function(){return e.clickOutside.emit(t)}))},t.prototype._shouldExclude=function(t){for(var e=0,n=this._nodesExcluded;e<n.length;e++)if(n[e].contains(t))return!0;return!1},t.prototype._initClickOutsideListener=function(){var t=this;this._ngZone.runOutsideAngular((function(){t._events.forEach((function(e){return document.addEventListener(e,t._onClickBody)}))}))},t.prototype._removeClickOutsideListener=function(){var t=this;this._ngZone.runOutsideAngular((function(){t._events.forEach((function(e){return document.removeEventListener(e,t._onClickBody)}))}))},t.prototype._initAttachOutsideOnClickListener=function(){var t=this;this._ngZone.runOutsideAngular((function(){t._events.forEach((function(e){return t._el.nativeElement.addEventListener(e,t._initOnClickBody)}))}))},t.prototype._removeAttachOutsideOnClickListener=function(){var t=this;this._ngZone.runOutsideAngular((function(){t._events.forEach((function(e){return t._el.nativeElement.removeEventListener(e,t._initOnClickBody)}))}))},t.prototype._initWindowBlurListener=function(){var t=this;this._ngZone.runOutsideAngular((function(){window.addEventListener("blur",t._onWindowBlur)}))},t.prototype._removeWindowBlurListener=function(){var t=this;this._ngZone.runOutsideAngular((function(){window.removeEventListener("blur",t._onWindowBlur)}))},a([o.Input(),r("design:type",Boolean)],t.prototype,"clickOutsideEnabled",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"attachOutsideOnClick",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"delayClickOutsideInit",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"emitOnBlur",void 0),a([o.Input(),r("design:type",String)],t.prototype,"exclude",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"excludeBeforeClick",void 0),a([o.Input(),r("design:type",String)],t.prototype,"clickOutsideEvents",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"clickOutside",void 0),a([o.Injectable(),o.Directive({selector:"[clickOutside]"})],t)}()},mrSG:function(t,e,n){"use strict";n.r(e),n.d(e,"__extends",(function(){return r})),n.d(e,"__assign",(function(){return o})),n.d(e,"__rest",(function(){return i})),n.d(e,"__decorate",(function(){return s})),n.d(e,"__param",(function(){return c})),n.d(e,"__metadata",(function(){return l})),n.d(e,"__awaiter",(function(){return d})),n.d(e,"__generator",(function(){return u})),n.d(e,"__exportStar",(function(){return g})),n.d(e,"__values",(function(){return f})),n.d(e,"__read",(function(){return p})),n.d(e,"__spread",(function(){return m})),n.d(e,"__spreadArrays",(function(){return h})),n.d(e,"__await",(function(){return b})),n.d(e,"__asyncGenerator",(function(){return _})),n.d(e,"__asyncDelegator",(function(){return y})),n.d(e,"__asyncValues",(function(){return O})),n.d(e,"__makeTemplateObject",(function(){return v})),n.d(e,"__importStar",(function(){return C})),n.d(e,"__importDefault",(function(){return P}));var a=function(t,e){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)};function r(t,e){function n(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}var o=function(){return(o=Object.assign||function(t){for(var e,n=1,a=arguments.length;n<a;n++)for(var r in e=arguments[n])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t}).apply(this,arguments)};function i(t,e){var n={};for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&e.indexOf(a)<0&&(n[a]=t[a]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(t);r<a.length;r++)e.indexOf(a[r])<0&&Object.prototype.propertyIsEnumerable.call(t,a[r])&&(n[a[r]]=t[a[r]])}return n}function s(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i}function c(t,e){return function(n,a){e(n,a,t)}}function l(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}function d(t,e,n,a){return new(n||(n=Promise))((function(r,o){function i(t){try{c(a.next(t))}catch(e){o(e)}}function s(t){try{c(a.throw(t))}catch(e){o(e)}}function c(t){t.done?r(t.value):new n((function(e){e(t.value)})).then(i,s)}c((a=a.apply(t,e||[])).next())}))}function u(t,e){var n,a,r,o,i={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;i;)try{if(n=1,a&&(r=2&o[0]?a.return:o[0]?a.throw||((r=a.return)&&r.call(a),0):a.next)&&!(r=r.call(a,o[1])).done)return r;switch(a=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,a=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(r=(r=i.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){i.label=o[1];break}if(6===o[0]&&i.label<r[1]){i.label=r[1],r=o;break}if(r&&i.label<r[2]){i.label=r[2],i.ops.push(o);break}r[2]&&i.ops.pop(),i.trys.pop();continue}o=e.call(t,i)}catch(s){o=[6,s],a=0}finally{n=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,s])}}}function g(t,e){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}function f(t){var e="function"==typeof Symbol&&t[Symbol.iterator],n=0;return e?e.call(t):{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}}}function p(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var a,r,o=n.call(t),i=[];try{for(;(void 0===e||e-- >0)&&!(a=o.next()).done;)i.push(a.value)}catch(s){r={error:s}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}return i}function m(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(p(arguments[e]));return t}function h(){for(var t=0,e=0,n=arguments.length;e<n;e++)t+=arguments[e].length;var a=Array(t),r=0;for(e=0;e<n;e++)for(var o=arguments[e],i=0,s=o.length;i<s;i++,r++)a[r]=o[i];return a}function b(t){return this instanceof b?(this.v=t,this):new b(t)}function _(t,e,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var a,r=n.apply(t,e||[]),o=[];return a={},i("next"),i("throw"),i("return"),a[Symbol.asyncIterator]=function(){return this},a;function i(t){r[t]&&(a[t]=function(e){return new Promise((function(n,a){o.push([t,e,n,a])>1||s(t,e)}))})}function s(t,e){try{!function(t){t.value instanceof b?Promise.resolve(t.value.v).then(c,l):d(o[0][2],t)}(r[t](e))}catch(n){d(o[0][3],n)}}function c(t){s("next",t)}function l(t){s("throw",t)}function d(t,e){t(e),o.shift(),o.length&&s(o[0][0],o[0][1])}}function y(t){var e,n;return e={},a("next"),a("throw",(function(t){throw t})),a("return"),e[Symbol.iterator]=function(){return this},e;function a(a,r){e[a]=t[a]?function(e){return(n=!n)?{value:b(t[a](e)),done:"return"===a}:r?r(e):e}:r}}function O(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,n=t[Symbol.asyncIterator];return n?n.call(t):(t=f(t),e={},a("next"),a("throw"),a("return"),e[Symbol.asyncIterator]=function(){return this},e);function a(n){e[n]=t[n]&&function(e){return new Promise((function(a,r){!function(t,e,n,a){Promise.resolve(a).then((function(e){t({value:e,done:n})}),e)}(a,r,(e=t[n](e)).done,e.value)}))}}}function v(t,e){return Object.defineProperty?Object.defineProperty(t,"raw",{value:e}):t.raw=e,t}function C(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}function P(t){return t&&t.__esModule?t:{default:t}}},mtw6:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));var a=function(t){return t[t.error=0]="error",t[t.info=1]="info",t[t.success=2]="success",t}({})},"mv/X":function(t,e,n){var a=n("ljhN"),r=n("MMmD"),o=n("wJg7"),i=n("GoyQ");t.exports=function(t,e,n){if(!i(n))return!1;var s=typeof e;return!!("number"==s?r(n)&&o(e,n.length):"string"==s&&e in n)&&a(n[e],t)}},mwIZ:function(t,e,n){var a=n("ZWtO");t.exports=function(t,e,n){var r=null==t?void 0:a(t,e);return void 0===r?n:r}},"n/D3":function(t,e,n){"use strict";n.d(e,"a",(function(){return u})),n.d(e,"b",(function(){return d}));var a=n("cp0P"),r=(n("SgmB"),n("ZDA6"),n("0+/T")),o=n("Rf2I"),i=(n("sne2"),n("x38r")),s=n("oxzT"),c=n("mtw6"),l=n("vCyI");n("nSDx"),n("aexS"),n("9nlD");const d=new(n("EgGo").a)("user-management/roles");class u{constructor(t,e,n,a,r,o,i,c,d){this.roleService=t,this.scopeService=e,this.emptyPipe=n,this.authStorageService=a,this.modalService=r,this.notificationService=o,this.i18n=i,this.urlBuilder=c,this.actionLabels=d,this.selection=new l.a,this.permission=this.authStorageService.getPermissions().user,this.tableActions=[{permission:"create",icon:s.a.add,routerLink:()=>this.urlBuilder.getCreate(),name:this.actionLabels.CREATE},{permission:"create",icon:s.a.clone,name:this.actionLabels.CLONE,disable:()=>!this.selection.hasSingleSelection,click:()=>this.cloneRole()},{permission:"update",icon:s.a.edit,disable:()=>!this.selection.hasSingleSelection||this.selection.first().system,routerLink:()=>this.selection.first()&&this.urlBuilder.getEdit(this.selection.first().name),name:this.actionLabels.EDIT},{permission:"delete",icon:s.a.destroy,disable:()=>!this.selection.hasSingleSelection||this.selection.first().system,click:()=>this.deleteRoleModal(),name:this.actionLabels.DELETE}]}ngOnInit(){this.columns=[{name:this.i18n("Name"),prop:"name",flexGrow:3},{name:this.i18n("Description"),prop:"description",flexGrow:5,pipe:this.emptyPipe},{name:this.i18n("System Role"),prop:"system",cellClass:"text-center",flexGrow:1,cellTransformation:i.a.checkIcon}]}getRoles(){Object(a.a)([this.roleService.list(),this.scopeService.list()]).subscribe(t=>{this.roles=t[0],this.scopes=t[1]})}updateSelection(t){this.selection=t}deleteRole(t){this.roleService.delete(t).subscribe(()=>{this.getRoles(),this.modalRef.hide(),this.notificationService.show(c.a.success,this.i18n("Deleted role '{{role_name}}'",{role_name:t}))},()=>{this.modalRef.content.stopLoadingSpinner()})}deleteRoleModal(){const t=this.selection.first().name;this.modalRef=this.modalService.show(r.a,{initialState:{itemDescription:"Role",itemNames:[t],submitAction:()=>this.deleteRole(t)}})}cloneRole(){const t=this.selection.first().name;this.modalRef=this.modalService.show(o.a,{initialState:{fields:[{type:"text",name:"newName",value:`${t}_clone`,label:this.i18n("New name"),required:!0}],titleText:this.i18n("Clone Role"),submitButtonText:this.i18n("Clone Role"),onSubmit:e=>{this.roleService.clone(t,e.newName).subscribe(()=>{this.getRoles(),this.notificationService.show(c.a.success,this.i18n("Cloned role '{{dst_name}}' from '{{src_name}}'",{src_name:t,dst_name:e.newName}))})}}})}}},n1nk:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ContextmenuType=function(t){return t.header="header",t.body="body",t}(e.ContextmenuType||{})},"n3/R":function(t,e,n){"use strict";var a=n("0Dky");function r(t,e){return RegExp(t,e)}e.UNSUPPORTED_Y=a((function(){var t=r("a","y");return t.lastIndex=2,null!=t.exec("abcd")})),e.BROKEN_CARET=a((function(){var t=r("^r","gy");return t.lastIndex=2,null!=t.exec("str")}))},n6bG:function(t,e,n){"use strict";function a(t){return"function"==typeof t}n.d(e,"a",(function(){return a}))},nSDx:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("LvDl");class r{transform(t){return a.isUndefined(t)||a.isNull(t)?"-":t}}},nYR2:function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var a=n("7o/Q"),r=n("quSY");function o(t){return e=>e.lift(new i(t))}class i{constructor(t){this.callback=t}call(t,e){return e.subscribe(new s(t,this.callback))}}class s extends a.a{constructor(t,e){super(t),this.add(new r.a(e))}}},nYho:function(t,e,n){(function(t){var a;!function(r){"object"==typeof global&&global;var o,i=2147483647,s=/^xn--/,c=/[^\x20-\x7E]/,l=/[\x2E\u3002\uFF0E\uFF61]/g,d={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},u=Math.floor,g=String.fromCharCode;function f(t){throw RangeError(d[t])}function p(t,e){for(var n=t.length,a=[];n--;)a[n]=e(t[n]);return a}function m(t,e){var n=t.split("@"),a="";return n.length>1&&(a=n[0]+"@",t=n[1]),a+p((t=t.replace(l,".")).split("."),e).join(".")}function h(t){for(var e,n,a=[],r=0,o=t.length;r<o;)(e=t.charCodeAt(r++))>=55296&&e<=56319&&r<o?56320==(64512&(n=t.charCodeAt(r++)))?a.push(((1023&e)<<10)+(1023&n)+65536):(a.push(e),r--):a.push(e);return a}function b(t){return p(t,(function(t){var e="";return t>65535&&(e+=g((t-=65536)>>>10&1023|55296),t=56320|1023&t),e+g(t)})).join("")}function _(t,e){return t+22+75*(t<26)-((0!=e)<<5)}function y(t,e,n){var a=0;for(t=n?u(t/700):t>>1,t+=u(t/e);t>455;a+=36)t=u(t/35);return u(a+36*t/(t+38))}function O(t){var e,n,a,r,o,s,c,l,d,g,p,m=[],h=t.length,_=0,O=128,v=72;for((n=t.lastIndexOf("-"))<0&&(n=0),a=0;a<n;++a)t.charCodeAt(a)>=128&&f("not-basic"),m.push(t.charCodeAt(a));for(r=n>0?n+1:0;r<h;){for(o=_,s=1,c=36;r>=h&&f("invalid-input"),((l=(p=t.charCodeAt(r++))-48<10?p-22:p-65<26?p-65:p-97<26?p-97:36)>=36||l>u((i-_)/s))&&f("overflow"),_+=l*s,!(l<(d=c<=v?1:c>=v+26?26:c-v));c+=36)s>u(i/(g=36-d))&&f("overflow"),s*=g;v=y(_-o,e=m.length+1,0==o),u(_/e)>i-O&&f("overflow"),O+=u(_/e),_%=e,m.splice(_++,0,O)}return b(m)}function v(t){var e,n,a,r,o,s,c,l,d,p,m,b,O,v,C,P=[];for(b=(t=h(t)).length,e=128,n=0,o=72,s=0;s<b;++s)(m=t[s])<128&&P.push(g(m));for(a=r=P.length,r&&P.push("-");a<b;){for(c=i,s=0;s<b;++s)(m=t[s])>=e&&m<c&&(c=m);for(c-e>u((i-n)/(O=a+1))&&f("overflow"),n+=(c-e)*O,e=c,s=0;s<b;++s)if((m=t[s])<e&&++n>i&&f("overflow"),m==e){for(l=n,d=36;!(l<(p=d<=o?1:d>=o+26?26:d-o));d+=36)P.push(g(_(p+(C=l-p)%(v=36-p),0))),l=u(C/v);P.push(g(_(l,0))),o=y(n,O,a==r),n=0,++a}++n,++e}return P.join("")}o={version:"1.3.2",ucs2:{decode:h,encode:b},decode:O,encode:v,toASCII:function(t){return m(t,(function(t){return c.test(t)?"xn--"+v(t):t}))},toUnicode:function(t){return m(t,(function(t){return s.test(t)?O(t.slice(4).toLowerCase()):t}))}},void 0===(a=(function(){return o}).call(e,n,e,t))||(t.exports=a)}()}).call(this,n("YuTi")(t))},ngJS:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));const a=t=>e=>{for(let n=0,a=t.length;n<a&&!e.closed;n++)e.next(t[n]);e.complete()}},nhM1:function(t,e,n){var a=n("mrSG").__decorate;Object.defineProperty(e,"__esModule",{value:!0});var r=n("8Y7J");e.DimensionsHelper=function(){function t(){}return t.prototype.getDimensions=function(t){return t.getBoundingClientRect()},a([r.Injectable()],t)}()},nmnc:function(t,e,n){var a=n("Kz5y");t.exports=a.Symbol},ntOU:function(t,e,n){"use strict";var a=n("rpNk").IteratorPrototype,r=n("fHMY"),o=n("XGwC"),i=n("1E5z"),s=n("P4y1"),c=function(){return this};t.exports=function(t,e,n){var l=e+" Iterator";return t.prototype=r(a,{next:o(1,n)}),i(t,l,!1,!0),s[l]=c,t}},nyYc:function(t,e,n){!function(t){"use strict";t.defineLocale("fr",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|)/,ordinal:function(t,e){switch(e){case"D":return t+(1===t?"er":"");default:case"M":case"Q":case"DDD":case"d":return t+(1===t?"er":"e");case"w":case"W":return t+(1===t?"re":"e")}},week:{dow:1,doy:4}})}(n("wd/R"))},o1bE:function(t,e,n){!function(t){"use strict";t.defineLocale("ar-dz",{months:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"أح_إث_ثلا_أر_خم_جم_سب".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:0,doy:4}})}(n("wd/R"))},"o4+5":function(t,e,n){"use strict";n.d(e,"a",(function(){return a})),n("aXbf");class a{constructor(t){this.formatter=t}transform(t){return this.formatter.format_number(t,1e3,["","k","M","G","T","P","E","Z","Y"])}}},oB13:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("EQ5u");function r(t,e){return function(n){let r;if(r="function"==typeof t?t:function(){return t},"function"==typeof e)return n.lift(new o(r,e));const i=Object.create(n,a.b);return i.source=n,i.subjectFactory=r,i}}class o{constructor(t,e){this.subjectFactory=t,this.selector=e}call(t,e){const{selector:n}=this,a=this.subjectFactory(),r=n(a).subscribe(t);return r.add(e.subscribe(a)),r}}},"oCl/":function(t,e,n){var a=n("CH3K"),r=n("LcsW"),o=n("MvSz"),i=n("0ycA");t.exports=Object.getOwnPropertySymbols?function(t){for(var e=[];t;)a(e,o(t)),t=r(t);return e}:i},oMSZ:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{constructor(t){this.pwdExpirationSpan=0,this.pwdExpirationSpan=t.user_pwd_expiration_span,this.pwdExpirationWarning1=t.user_pwd_expiration_warning_1,this.pwdExpirationWarning2=t.user_pwd_expiration_warning_2}}},ohIB:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=n("ae7Z");function r(t){for(var e=0,n=0,a=t;n<a.length;n++)e+=a[n].flexGrow||0;return e}function o(t,e){for(var n=0,a=e;n<a.length;n++){var r=t.indexOf(a[n]);t.splice(r,1)}}function i(t,e){void 0===e&&(e=300);for(var n=0,a=0,r=t;a<r.length;a++)n+=r[a].width||e;return n}e.getTotalFlexGrow=r,e.adjustColumnWidths=function(t,e){var n=a.columnsTotalWidth(t),o=r(t),i=a.columnsByPin(t);n!==e&&function(t,e,n){for(var a in t)for(var r=0,o=t[a];r<o.length;r++)(u=o[r]).canAutoResize?u.width=0:(e-=u.width,n-=u.flexGrow?u.flexGrow:0);var i={},s=e;do{var c=s/n;for(var a in s=0,t)for(var l=0,d=t[a];l<d.length;l++){var u;if((u=d[l]).canAutoResize&&!i[u.prop]){var g=u.width+u.flexGrow*c;void 0!==u.minWidth&&g<u.minWidth?(s+=g-u.minWidth,u.width=u.minWidth,i[u.prop]=!0):u.width=g}}}while(0!==s)}(i,e,o)},e.forceFillColumnWidths=function(t,e,n,a,r){void 0===r&&(r=300);for(var s=t.slice(n+1,t.length).filter((function(t){return!1!==t.canAutoResize})),c=0,l=s;c<l.length;c++)(b=l[c]).$$oldWidth||(b.$$oldWidth=b.width);var d=0,u=!1,g=i(t,r),f=e-g,p=[];do{d=f/s.length,u=g>=e;for(var m=0,h=s;m<h.length;m++){var b=h[m];if(u&&a)b.width=b.$$oldWidth||b.width||r;else{var _=(b.width||r)+d;b.minWidth&&_<b.minWidth?(b.width=b.minWidth,p.push(b)):b.maxWidth&&_>b.maxWidth?(b.width=b.maxWidth,p.push(b)):b.width=_}b.width=Math.max(0,b.width)}f=e-(g=i(t)),o(s,p)}while(f>0&&0!==s.length)}},or5M:function(t,e,n){var a=n("1hJj"),r=n("QoRX"),o=n("xYSL");t.exports=function(t,e,n,i,s,c){var l=1&n,d=t.length,u=e.length;if(d!=u&&!(l&&u>d))return!1;var g=c.get(t);if(g&&c.get(e))return g==e;var f=-1,p=!0,m=2&n?new a:void 0;for(c.set(t,e),c.set(e,t);++f<d;){var h=t[f],b=e[f];if(i)var _=l?i(b,h,f,e,t,c):i(h,b,f,t,e,c);if(void 0!==_){if(_)continue;p=!1;break}if(m){if(!r(e,(function(t,e){if(!o(m,e)&&(h===t||s(h,t,n,i,c)))return m.push(e)}))){p=!1;break}}else if(h!==b&&!s(h,b,n,i,c)){p=!1;break}}return c.delete(t),c.delete(e),p}},"otv/":function(t,e,n){var a=n("nmnc"),r=a?a.prototype:void 0,o=r?r.valueOf:void 0;t.exports=function(t){return o?Object(o.call(t)):{}}},oxzT:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));var a=function(t){return t.add="fa fa-plus",t.addCircle="fa fa-plus-circle",t.minusCircle="fa fa-minus-circle",t.edit="fa fa-pencil",t.destroy="fa fa-times",t.destroyCircle="fa fa-times-circle",t.exchange="fa fa-exchange",t.copy="fa fa-copy",t.clipboard="fa fa-clipboard",t.flatten="fa fa-chain-broken",t.trash="fa fa-trash-o",t.lock="fa fa-lock",t.unlock="fa fa-unlock",t.clone="fa fa-clone",t.undo="fa fa-undo",t.search="fa fa-search",t.start="fa fa-play",t.stop="fa fa-stop",t.analyse="fa fa-stethoscope",t.deepCheck="fa fa-cog",t.reweight="fa fa-balance-scale",t.left="fa fa-arrow-left",t.right="fa fa-arrow-right",t.down="fa fa-arrow-down",t.erase="fa fa-eraser",t.user="fa fa-user",t.users="fa fa-users",t.share="fa fa-share-alt",t.key="fa fa-key-modern",t.warning="fa fa-exclamation-triangle",t.info="fa fa-info",t.infoCircle="fa fa-info-circle",t.questionCircle="fa fa-question-circle-o",t.check="fa fa-check",t.show="fa fa-eye",t.paragraph="fa fa-paragraph",t.terminal="fa fa-terminal",t.magic="fa fa-magic",t.hourglass="fa fa-hourglass-o",t.filledHourglass="fa fa-hourglass",t.table="fa fa-table",t.spinner="fa fa-spinner",t.refresh="fa fa-refresh",t.bullseye="fa fa-bullseye",t.disk="fa fa-hdd-o",t.server="fa fa-server",t.filter="fa fa-filter",t.lineChart="fa fa-line-chart",t.signOut="fa fa-sign-out",t.health="fa fa-heartbeat",t.circle="fa fa-circle",t.bell="fa fa-bell",t.tag="fa fa-tag",t.leftArrow="fa fa-angle-left",t.rightArrow="fa fa-angle-right",t.leftArrowDouble="fa fa-angle-double-left",t.rightArrowDouble="fa fa-angle-double-right",t.flag="fa fa-flag",t.clearFilters="fa fa-window-close",t.download="fa fa-download",t.upload="fa fa-upload",t.large="fa fa-lg",t.large2x="fa fa-2x",t.large3x="fa fa-3x",t.stack="fa fa-stack",t.stack1x="fa fa-stack-1x",t.stack2x="fa fa-stack-2x",t.pulse="fa fa-pulse",t.spin="fa fa-spin",t.inverse="fa fa-inverse",t}({})},"p/rL":function(t,e,n){!function(t){"use strict";t.defineLocale("bm",{months:"Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo".split("_"),monthsShort:"Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des".split("_"),weekdays:"Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri".split("_"),weekdaysShort:"Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib".split("_"),weekdaysMin:"Ka_Nt_Ta_Ar_Al_Ju_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"MMMM [tile] D [san] YYYY",LLL:"MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm",LLLL:"dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm"},calendar:{sameDay:"[Bi lɛrɛ] LT",nextDay:"[Sini lɛrɛ] LT",nextWeek:"dddd [don lɛrɛ] LT",lastDay:"[Kunu lɛrɛ] LT",lastWeek:"dddd [tɛmɛnen lɛrɛ] LT",sameElse:"L"},relativeTime:{future:"%s kɔnɔ",past:"a bɛ %s bɔ",s:"sanga dama dama",ss:"sekondi %d",m:"miniti kelen",mm:"miniti %d",h:"lɛrɛ kelen",hh:"lɛrɛ %d",d:"tile kelen",dd:"tile %d",M:"kalo kelen",MM:"kalo %d",y:"san kelen",yy:"san %d"},week:{dow:1,doy:4}})}(n("wd/R"))},p4Cf:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("oxzT");class r{constructor(){this.icons=a.a}}},pFRH:function(t,e,n){var a=n("cvCv"),r=n("O0oS"),o=n("zZ0H");t.exports=r?function(t,e){return r(t,"toString",{configurable:!0,enumerable:!1,value:a(e),writable:!0})}:o},pKUh:function(t,e,n){"use strict";n.d(e,"a",(function(){return i})),n.d(e,"b",(function(){return l}));var a=n("8Y7J"),r=n("2ZVE"),o=n("SVse"),i=a["ɵcrt"]({encapsulation:0,styles:["[_nghost-%COMP%]   .nav-tabs[_ngcontent-%COMP%]   .nav-item.disabled[_ngcontent-%COMP%]   a.disabled[_ngcontent-%COMP%]{cursor:default}"],data:{}});function s(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"span",[["class","bs-remove-tab"]],null,[[null,"click"]],(function(t,e,n){var a=!0,r=t.component;return"click"===e&&(n.preventDefault(),a=!1!==r.removeTab(t.parent.context.$implicit)&&a),a}),null,null)),(t()(),a["ɵted"](-1,null,[" ❌"]))],null,null)}function c(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,9,"li",[],[[2,"active",null],[2,"disabled",null]],[[null,"keydown"]],(function(t,e,n){var a=!0;return"keydown"===e&&(a=!1!==t.component.keyNavActions(n,t.context.index)&&a),a}),null,null)),a["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](2,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),a["ɵpad"](3,2),(t()(),a["ɵeld"](4,0,null,null,5,"a",[["class","nav-link"],["href","javascript:void(0);"]],[[1,"id",0],[2,"active",null],[2,"disabled",null]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=0!=(t.context.$implicit.active=!0)&&a),a}),null,null)),(t()(),a["ɵeld"](5,16777216,null,null,2,"span",[],null,null,null,null,null)),a["ɵdid"](6,16384,null,0,r.a,[a.ViewContainerRef],{ngTransclude:[0,"ngTransclude"]},null),(t()(),a["ɵted"](7,null,["",""])),(t()(),a["ɵand"](16777216,null,null,1,null,s)),a["ɵdid"](9,16384,null,0,o.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=t(e,3,0,"nav-item",e.context.$implicit.customClass||"");t(e,2,0,n),t(e,6,0,e.context.$implicit.headingRef),t(e,9,0,e.context.$implicit.removable)}),(function(t,e){t(e,0,0,e.context.$implicit.active,e.context.$implicit.disabled),t(e,4,0,e.context.$implicit.id?e.context.$implicit.id+"-link":"",e.context.$implicit.active,e.context.$implicit.disabled),t(e,7,0,e.context.$implicit.heading)}))}function l(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,4,"ul",[["class","nav"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==n.preventDefault()&&a),a}),null,null)),a["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](2,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,c)),a["ɵdid"](4,278528,null,0,o.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),a["ɵeld"](5,0,null,null,1,"div",[["class","tab-content"]],null,null,null,null,null)),a["ɵncd"](null,0)],(function(t,e){var n=e.component;t(e,2,0,"nav",n.classMap),t(e,4,0,n.tabs)}),null)}},pL04:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{}},pLZG:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("7o/Q");function r(t,e){return function(n){return n.lift(new o(t,e))}}class o{constructor(t,e){this.predicate=t,this.thisArg=e}call(t,e){return e.subscribe(new i(t,this.predicate,this.thisArg))}}class i extends a.a{constructor(t,e,n){super(t),this.predicate=e,this.thisArg=n,this.count=0}_next(t){let e;try{e=this.predicate.call(this.thisArg,t,this.count++)}catch(n){return void this.destination.error(n)}e&&this.destination.next(t)}}},pMnS:function(t,e,n){"use strict";n.d(e,"a",(function(){return c}));var a=n("8Y7J"),r=n("iInd"),o=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function i(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),a["ɵdid"](1,212992,null,0,r.r,[r.b,a.ViewContainerRef,a.ComponentFactoryResolver,[8,null],a.ChangeDetectorRef],null,null)],(function(t,e){t(e,1,0)}),null)}function s(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"ng-component",[],null,null,null,i,o)),a["ɵdid"](1,49152,null,0,r.F,[],null,null)],null,null)}var c=a["ɵccf"]("ng-component",r.F,s,{},{},[])},pSRY:function(t,e,n){var a=n("QkVE");t.exports=function(t){return a(this,t).has(t)}},pZt1:function(t,e){t.exports=function(t){return t&&t.length?t[0]:void 0}},pcHL:function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var a=n("8Y7J"),r=n("f95s"),o=function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},i=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},s=function(){function t(){}return o([Object(a.Input)(),i("design:type",r.a)],t.prototype,"node",void 0),o([Object(a.Input)(),i("design:type",Object)],t.prototype,"templates",void 0),o([Object(a.Component)({selector:"tree-node-children",encapsulation:a.ViewEncapsulation.None,styles:[],template:'\n    <ng-container *treeMobxAutorun="{ dontDetach: true }">\n      <div\n        [class.tree-children]="true"\n        [class.tree-children-no-padding]="node.options.levelPadding"\n        *treeAnimateOpen="\n          node.isExpanded;\n          speed: node.options.animateSpeed;\n          acceleration: node.options.animateAcceleration;\n          enabled: node.options.animateExpand\n        "\n      >\n        <tree-node-collection\n          *ngIf="node.children"\n          [nodes]="node.children"\n          [templates]="templates"\n          [treeModel]="node.treeModel"\n        >\n        </tree-node-collection>\n        <tree-loading-component\n          [style.padding-left]="node.getNodePadding()"\n          class="tree-node-loading"\n          *ngIf="!node.children"\n          [template]="templates.loadingTemplate"\n          [node]="node"\n        ></tree-loading-component>\n      </div>\n    </ng-container>\n  '})],t)}()},pjAE:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));const a=(()=>{function t(t){return Error.call(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((t,e)=>`${e+1}) ${t.toString()}`).join("\n  ")}`:"",this.name="UnsubscriptionError",this.errors=t,this}return t.prototype=Object.create(Error.prototype),t})()},pkCn:function(t,e,n){"use strict";var a=n("0Dky");t.exports=function(t,e){var n=[][t];return!!n&&a((function(){n.call(null,e||function(){throw 1},1)}))}},ppGB:function(t,e){var n=Math.ceil,a=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?a:n)(t)}},pxLl:function(t,e,n){"use strict";n.d(e,"a",(function(){return d}));var a=n("mrSG"),r=n("IheW"),o=n("LRne"),i=n("5+tZ"),s=n("xTzq"),c=n("8Y7J"),l=n("pL04");let d=(()=>{let t=class{constructor(t){this.http=t,this.url="api/perf_counters"}list(){return this.http.get(this.url)}get(t,e){return this.http.get(`${this.url}/${t}/${e}`).pipe(Object(i.a)(t=>Object(o.a)(t.counters)))}};return t.ngInjectableDef=c["ɵɵdefineInjectable"]({factory:function(){return new t(c["ɵɵinject"](r.c))},token:t,providedIn:l.a}),t=a.__decorate([s.a,a.__metadata("design:paramtypes",[r.c])],t),t})()},pxpQ:function(t,e,n){"use strict";n.d(e,"b",(function(){return o})),n.d(e,"a",(function(){return s}));var a=n("7o/Q"),r=n("WMd4");function o(t,e=0){return function(n){return n.lift(new i(t,e))}}class i{constructor(t,e=0){this.scheduler=t,this.delay=e}call(t,e){return e.subscribe(new s(t,this.scheduler,this.delay))}}class s extends a.a{constructor(t,e,n=0){super(t),this.scheduler=e,this.delay=n}static dispatch(t){const{notification:e,destination:n}=t;e.observe(n),this.unsubscribe()}scheduleMessage(t){this.destination.add(this.scheduler.schedule(s.dispatch,this.delay,new c(t,this.destination)))}_next(t){this.scheduleMessage(r.a.createNext(t))}_error(t){this.scheduleMessage(r.a.createError(t)),this.unsubscribe()}_complete(){this.scheduleMessage(r.a.createComplete()),this.unsubscribe()}}class c{constructor(t,e){this.notification=t,this.destination=e}}},qCKp:function(t,e,n){"use strict";n.r(e);var a=n("HDdC"),r=n("EQ5u"),o=n("OQgR"),i=n("kJWO"),s=n("XNiG"),c=n("2Vo4"),l=n("jtHE"),d=n("NHP+"),u=n("7Hc7"),g=n("D0XW"),f=n("qgXg"),p=n("eNwd"),m=n("3N8a"),h=n("IjjT");let b=(()=>{class t extends h.a{constructor(t=_,e=Number.POSITIVE_INFINITY){super(t,()=>this.frame),this.maxFrames=e,this.frame=0,this.index=-1}flush(){const{actions:t,maxFrames:e}=this;let n,a;for(;(a=t[0])&&a.delay<=e&&(t.shift(),this.frame=a.delay,!(n=a.execute(a.state,a.delay))););if(n){for(;a=t.shift();)a.unsubscribe();throw n}}}return t.frameTimeFactor=10,t})();class _ extends m.a{constructor(t,e,n=(t.index+=1)){super(t,e),this.scheduler=t,this.work=e,this.index=n,this.active=!0,this.index=t.index=n}schedule(t,e=0){if(!this.id)return super.schedule(t,e);this.active=!1;const n=new _(this.scheduler,this.work);return this.add(n),n.schedule(t,e)}requestAsyncId(t,e,n=0){this.delay=t.frame+n;const{actions:a}=t;return a.push(this),a.sort(_.sortActions),!0}recycleAsyncId(t,e,n=0){}_execute(t,e){if(!0===this.active)return super._execute(t,e)}static sortActions(t,e){return t.delay===e.delay?t.index===e.index?0:t.index>e.index?1:-1:t.delay>e.delay?1:-1}}var y=n("Y/cZ"),O=n("quSY"),v=n("7o/Q"),C=n("WMd4"),P=n("mCNh"),M=n("KqfI"),x=n("SpAZ"),w=n("7+OI"),T=n("4I5i"),k=n("sVev"),S=n("9ppp"),I=n("pjAE"),N=n("Y6u4"),R=n("lJxs"),A=n("8Qeq"),E=n("DH7j"),D=n("z+Ro");function L(t,e,n){if(e){if(!Object(D.a)(e))return(...a)=>L(t,n)(...a).pipe(Object(R.a)(t=>Object(E.a)(t)?e(...t):e(t)));n=e}return function(...e){const r=this;let o;const i={context:r,subject:o,callbackFunc:t,scheduler:n};return new a.a(a=>{if(n)return n.schedule(q,0,{args:e,subscriber:a,params:i});if(!o){o=new d.a;const n=(...t)=>{o.next(t.length<=1?t[0]:t),o.complete()};try{t.apply(r,[...e,n])}catch(s){Object(A.a)(o)?o.error(s):console.warn(s)}}return o.subscribe(a)})}}function q(t){const{args:e,subscriber:n,params:a}=t,{callbackFunc:r,context:o,scheduler:i}=a;let{subject:s}=a;if(!s){s=a.subject=new d.a;const t=(...t)=>{this.add(i.schedule(j,0,{value:t.length<=1?t[0]:t,subject:s}))};try{r.apply(o,[...e,t])}catch(c){s.error(c)}}this.add(s.subscribe(n))}function j(t){const{value:e,subject:n}=t;n.next(e),n.complete()}function F(t,e,n){if(e){if(!Object(D.a)(e))return(...a)=>F(t,n)(...a).pipe(Object(R.a)(t=>Object(E.a)(t)?e(...t):e(t)));n=e}return function(...e){const r={subject:void 0,args:e,callbackFunc:t,scheduler:n,context:this};return new a.a(a=>{const{context:o}=r;let{subject:i}=r;if(n)return n.schedule(z,0,{params:r,subscriber:a,context:o});if(!i){i=r.subject=new d.a;const n=(...t)=>{const e=t.shift();e?i.error(e):(i.next(t.length<=1?t[0]:t),i.complete())};try{t.apply(o,[...e,n])}catch(s){Object(A.a)(i)?i.error(s):console.warn(s)}}return i.subscribe(a)})}}function z(t){const{params:e,subscriber:n,context:a}=t,{callbackFunc:r,args:o,scheduler:i}=e;let s=e.subject;if(!s){s=e.subject=new d.a;const t=(...t)=>{const e=t.shift();this.add(e?i.schedule(G,0,{err:e,subject:s}):i.schedule(V,0,{value:t.length<=1?t[0]:t,subject:s}))};try{r.apply(a,[...o,t])}catch(c){this.add(i.schedule(G,0,{err:c,subject:s}))}}this.add(s.subscribe(n))}function V(t){const{value:e,subject:n}=t;n.next(e),n.complete()}function G(t){const{err:e,subject:n}=t;n.error(e)}var Y=n("itXk"),B=n("GyhO"),H=n("NXyV"),U=n("EY2u"),W=n("cp0P"),K=n("Cfvw"),$=n("xgIS"),Z=n("n6bG");function J(t,e,n){return n?J(t,e).pipe(Object(R.a)(t=>Object(E.a)(t)?n(...t):n(t))):new a.a(n=>{const a=(...t)=>n.next(1===t.length?t[0]:t);let r;try{r=t(a)}catch(o){return void n.error(o)}if(Object(Z.a)(e))return()=>e(a,r)})}function X(t,e,n,r,o){let i,s;return 1==arguments.length?(s=t.initialState,e=t.condition,n=t.iterate,i=t.resultSelector||x.a,o=t.scheduler):void 0===r||Object(D.a)(r)?(s=t,i=x.a,o=r):(s=t,i=r),new a.a(t=>{let a=s;if(o)return o.schedule(Q,0,{subscriber:t,iterate:n,condition:e,resultSelector:i,state:a});for(;;){if(e){let n;try{n=e(a)}catch(r){return void t.error(r)}if(!n){t.complete();break}}let o;try{o=i(a)}catch(r){return void t.error(r)}if(t.next(o),t.closed)break;try{a=n(a)}catch(r){return void t.error(r)}}})}function Q(t){const{subscriber:e,condition:n}=t;if(e.closed)return;if(t.needIterate)try{t.state=t.iterate(t.state)}catch(r){return void e.error(r)}else t.needIterate=!0;if(n){let a;try{a=n(t.state)}catch(r){return void e.error(r)}if(!a)return void e.complete();if(e.closed)return}let a;try{a=t.resultSelector(t.state)}catch(r){return void e.error(r)}return e.closed||(e.next(a),e.closed)?void 0:this.schedule(t)}function tt(t,e=U.a,n=U.a){return Object(H.a)(()=>t()?e:n)}var et=n("l5mm"),nt=n("VRyK");const at=new a.a(M.a);function rt(){return at}var ot=n("LRne");function it(...t){if(0===t.length)return U.a;const[e,...n]=t;return 1===t.length&&Object(E.a)(e)?it(...e):new a.a(t=>{const a=()=>t.add(it(...n).subscribe(t));return Object(K.a)(e).subscribe({next(e){t.next(e)},error:a,complete:a})})}function st(t,e){return new a.a(e?n=>{const a=Object.keys(t),r=new O.a;return r.add(e.schedule(ct,0,{keys:a,index:0,subscriber:n,subscription:r,obj:t})),r}:e=>{const n=Object.keys(t);for(let a=0;a<n.length&&!e.closed;a++){const r=n[a];t.hasOwnProperty(r)&&e.next([r,t[r]])}e.complete()})}function ct(t){const{keys:e,index:n,subscriber:a,subscription:r,obj:o}=t;if(!a.closed)if(n<e.length){const t=e[n];a.next([t,o[t]]),r.add(this.schedule({keys:e,index:n+1,subscriber:a,subscription:r,obj:o}))}else a.complete()}var lt=n("F97/"),dt=n("SeVD"),ut=n("pLZG");function gt(t,e,n){return[Object(ut.a)(e,n)(new a.a(Object(dt.a)(t))),Object(ut.a)(Object(lt.a)(e,n))(new a.a(Object(dt.a)(t)))]}var ft=n("Nv8m");function pt(t=0,e,n){return new a.a(a=>{void 0===e&&(e=t,t=0);let r=0,o=t;if(n)return n.schedule(mt,0,{index:r,count:e,start:t,subscriber:a});for(;;){if(r++>=e){a.complete();break}if(a.next(o++),a.closed)break}})}function mt(t){const{start:e,index:n,count:a,subscriber:r}=t;n>=a?r.complete():(r.next(e),r.closed||(t.index=n+1,t.start=e+1,this.schedule(t)))}var ht=n("z6cu"),bt=n("PqYM");function _t(t,e){return new a.a(n=>{let a,r;try{a=t()}catch(i){return void n.error(i)}try{r=e(a)}catch(i){return void n.error(i)}const o=(r?Object(K.a)(r):U.a).subscribe(n);return()=>{o.unsubscribe(),a&&a.unsubscribe()}})}var yt=n("1uah"),Ot=n("7HRe"),vt=n("2fFW");n.d(e,"Observable",(function(){return a.a})),n.d(e,"ConnectableObservable",(function(){return r.a})),n.d(e,"GroupedObservable",(function(){return o.a})),n.d(e,"observable",(function(){return i.a})),n.d(e,"Subject",(function(){return s.a})),n.d(e,"BehaviorSubject",(function(){return c.a})),n.d(e,"ReplaySubject",(function(){return l.a})),n.d(e,"AsyncSubject",(function(){return d.a})),n.d(e,"asapScheduler",(function(){return u.a})),n.d(e,"asyncScheduler",(function(){return g.a})),n.d(e,"queueScheduler",(function(){return f.a})),n.d(e,"animationFrameScheduler",(function(){return p.a})),n.d(e,"VirtualTimeScheduler",(function(){return b})),n.d(e,"VirtualAction",(function(){return _})),n.d(e,"Scheduler",(function(){return y.a})),n.d(e,"Subscription",(function(){return O.a})),n.d(e,"Subscriber",(function(){return v.a})),n.d(e,"Notification",(function(){return C.a})),n.d(e,"NotificationKind",(function(){return C.b})),n.d(e,"pipe",(function(){return P.a})),n.d(e,"noop",(function(){return M.a})),n.d(e,"identity",(function(){return x.a})),n.d(e,"isObservable",(function(){return w.a})),n.d(e,"ArgumentOutOfRangeError",(function(){return T.a})),n.d(e,"EmptyError",(function(){return k.a})),n.d(e,"ObjectUnsubscribedError",(function(){return S.a})),n.d(e,"UnsubscriptionError",(function(){return I.a})),n.d(e,"TimeoutError",(function(){return N.a})),n.d(e,"bindCallback",(function(){return L})),n.d(e,"bindNodeCallback",(function(){return F})),n.d(e,"combineLatest",(function(){return Y.b})),n.d(e,"concat",(function(){return B.a})),n.d(e,"defer",(function(){return H.a})),n.d(e,"empty",(function(){return U.b})),n.d(e,"forkJoin",(function(){return W.a})),n.d(e,"from",(function(){return K.a})),n.d(e,"fromEvent",(function(){return $.a})),n.d(e,"fromEventPattern",(function(){return J})),n.d(e,"generate",(function(){return X})),n.d(e,"iif",(function(){return tt})),n.d(e,"interval",(function(){return et.a})),n.d(e,"merge",(function(){return nt.a})),n.d(e,"never",(function(){return rt})),n.d(e,"of",(function(){return ot.a})),n.d(e,"onErrorResumeNext",(function(){return it})),n.d(e,"pairs",(function(){return st})),n.d(e,"partition",(function(){return gt})),n.d(e,"race",(function(){return ft.a})),n.d(e,"range",(function(){return pt})),n.d(e,"throwError",(function(){return ht.a})),n.d(e,"timer",(function(){return bt.a})),n.d(e,"using",(function(){return _t})),n.d(e,"zip",(function(){return yt.b})),n.d(e,"scheduled",(function(){return Ot.a})),n.d(e,"EMPTY",(function(){return U.a})),n.d(e,"NEVER",(function(){return at})),n.d(e,"config",(function(){return vt.a}))},qZTm:function(t,e,n){var a=n("fR/l"),r=n("MvSz"),o=n("7GkX");t.exports=function(t){return a(t,o,r)}},qgXg:function(t,e,n){"use strict";var a=n("3N8a");class r extends a.a{constructor(t,e){super(t,e),this.scheduler=t,this.work=e}schedule(t,e=0){return e>0?super.schedule(t,e):(this.delay=e,this.state=t,this.scheduler.flush(this),this)}execute(t,e){return e>0||this.closed?super.execute(t,e):this._execute(t,e)}requestAsyncId(t,e,n=0){return null!==n&&n>0||null===n&&this.delay>0?super.requestAsyncId(t,e,n):t.flush(this)}}var o=n("IjjT");class i extends o.a{}n.d(e,"a",(function(){return s}));const s=new i(r)},quSY:function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var a=n("DH7j"),r=n("XoHu"),o=n("n6bG"),i=n("pjAE");let s=(()=>{class t{constructor(t){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,t&&(this._unsubscribe=t)}unsubscribe(){let e;if(this.closed)return;let{_parentOrParents:n,_unsubscribe:s,_subscriptions:l}=this;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,n instanceof t)n.remove(this);else if(null!==n)for(let t=0;t<n.length;++t)n[t].remove(this);if(Object(o.a)(s))try{s.call(this)}catch(d){e=d instanceof i.a?c(d.errors):[d]}if(Object(a.a)(l)){let t=-1,n=l.length;for(;++t<n;){const n=l[t];if(Object(r.a)(n))try{n.unsubscribe()}catch(d){e=e||[],d instanceof i.a?e=e.concat(c(d.errors)):e.push(d)}}}if(e)throw new i.a(e)}add(e){let n=e;if(!e)return t.EMPTY;switch(typeof e){case"function":n=new t(e);case"object":if(n===this||n.closed||"function"!=typeof n.unsubscribe)return n;if(this.closed)return n.unsubscribe(),n;if(!(n instanceof t)){const e=n;n=new t,n._subscriptions=[e]}break;default:throw new Error("unrecognized teardown "+e+" added to Subscription.")}let{_parentOrParents:a}=n;if(null===a)n._parentOrParents=this;else if(a instanceof t){if(a===this)return n;n._parentOrParents=[a,this]}else{if(-1!==a.indexOf(this))return n;a.push(this)}const r=this._subscriptions;return null===r?this._subscriptions=[n]:r.push(n),n}remove(t){const e=this._subscriptions;if(e){const n=e.indexOf(t);-1!==n&&e.splice(n,1)}}}var e;return t.EMPTY=((e=new t).closed=!0,e),t})();function c(t){return t.reduce((t,e)=>t.concat(e instanceof i.a?e.errors:e),[])}},qwkt:function(t,e,n){"use strict";function a(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),a(n("ejVf")),a(n("aTeT")),a(n("WOoz")),a(n("lmqd")),a(n("ILDN")),a(n("n1nk"))},r8II:function(t,e,n){"use strict";e.decode=e.parse=n("YcCt"),e.encode=e.stringify=n("6MUB")},rB9j:function(t,e,n){"use strict";var a=n("I+eb"),r=n("kmMV");a({target:"RegExp",proto:!0,forced:/./.exec!==r},{exec:r})},rEGp:function(t,e){t.exports=function(t){var e=-1,n=Array(t.size);return t.forEach((function(t){n[++e]=t})),n}},rKzb:function(t,e,n){"use strict";var a=n("4syw"),r=n("8YOa").getWeakData,o=n("glrk"),i=n("hh1v"),s=n("GarU"),c=n("ImZN"),l=n("tycR"),d=n("UTVS"),u=n("afO8"),g=u.set,f=u.getterFor,p=l.find,m=l.findIndex,h=0,b=function(t){return t.frozen||(t.frozen=new _)},_=function(){this.entries=[]},y=function(t,e){return p(t.entries,(function(t){return t[0]===e}))};_.prototype={get:function(t){var e=y(this,t);if(e)return e[1]},has:function(t){return!!y(this,t)},set:function(t,e){var n=y(this,t);n?n[1]=e:this.entries.push([t,e])},delete:function(t){var e=m(this.entries,(function(e){return e[0]===t}));return~e&&this.entries.splice(e,1),!!~e}},t.exports={getConstructor:function(t,e,n,l){var u=t((function(t,a){s(t,u,e),g(t,{type:e,id:h++,frozen:void 0}),null!=a&&c(a,t[l],t,n)})),p=f(e),m=function(t,e,n){var a=p(t),i=r(o(e),!0);return!0===i?b(a).set(e,n):i[a.id]=n,t};return a(u.prototype,{delete:function(t){var e=p(this);if(!i(t))return!1;var n=r(t);return!0===n?b(e).delete(t):n&&d(n,e.id)&&delete n[e.id]},has:function(t){var e=p(this);if(!i(t))return!1;var n=r(t);return!0===n?b(e).has(t):n&&d(n,e.id)}}),a(u.prototype,n?{get:function(t){var e=p(this);if(i(t)){var n=r(t);return!0===n?b(e).get(t):n?n[e.id]:void 0}},set:function(t,e){return m(this,t,e)}}:{add:function(t){return m(this,t,!0)}}),u}}},rLYq:function(t,e,n){var a=n("mrSG").__assign,r=n("mrSG").__decorate,o=n("mrSG").__metadata;Object.defineProperty(e,"__esModule",{value:!0});var i=n("8Y7J");function s(t){var e=t.filter((function(t){return!!t}));return e.length?e.some((function(t){return"number"!=typeof t}))?null:e.reduce((function(t,e){return t+e})):null}function c(t){return null}e.DataTableSummaryRowComponent=function(){function t(){this.summaryRow={}}return t.prototype.ngOnChanges=function(){this.columns&&this.rows&&(this.updateInternalColumns(),this.updateValues())},t.prototype.updateInternalColumns=function(){this._internalColumns=this.columns.map((function(t){return a({},t,{cellTemplate:t.summaryTemplate})}))},t.prototype.updateValues=function(){var t=this;this.summaryRow={},this.columns.filter((function(t){return!t.summaryTemplate})).forEach((function(e){var n=t.rows.map((function(t){return t[e.prop]})),a=t.getSummaryFunction(e);t.summaryRow[e.prop]=e.pipe?e.pipe.transform(a(n)):a(n)}))},t.prototype.getSummaryFunction=function(t){return void 0===t.summaryFunc?s:null===t.summaryFunc?c:t.summaryFunc},r([i.Input(),o("design:type",Array)],t.prototype,"rows",void 0),r([i.Input(),o("design:type",Array)],t.prototype,"columns",void 0),r([i.Input(),o("design:type",Number)],t.prototype,"rowHeight",void 0),r([i.Input(),o("design:type",Number)],t.prototype,"offsetX",void 0),r([i.Input(),o("design:type",Number)],t.prototype,"innerWidth",void 0),r([i.Component({selector:"datatable-summary-row",template:'\n  <datatable-body-row\n    *ngIf="summaryRow && _internalColumns"\n    tabindex="-1"\n    [innerWidth]="innerWidth"\n    [offsetX]="offsetX"\n    [columns]="_internalColumns"\n    [rowHeight]="rowHeight"\n    [row]="summaryRow"\n    [rowIndex]="-1">\n  </datatable-body-row>\n  ',host:{class:"datatable-summary-row"}})],t)}()},rW0t:function(t,e,n){"use strict";var a=n("glrk");t.exports=function(){var t=a(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.dotAll&&(e+="s"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},rZud:function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var a=n("8Y7J"),r=n("f95s"),o=function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},i=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},s=function(){function t(){}return o([Object(a.Input)(),i("design:type",r.a)],t.prototype,"node",void 0),o([Object(a.Input)(),i("design:type",Number)],t.prototype,"index",void 0),o([Object(a.Input)(),i("design:type",a.TemplateRef)],t.prototype,"template",void 0),o([Object(a.Component)({selector:"tree-node-content",encapsulation:a.ViewEncapsulation.None,template:'\n  <span *ngIf="!template">{{ node.displayField }}</span>\n  <ng-container\n    [ngTemplateOutlet]="template"\n    [ngTemplateOutletContext]="{ $implicit: node, node: node, index: index }">\n  </ng-container>'})],t)}()},raLr:function(t,e,n){!function(t){"use strict";function e(t,e,n){var a,r;return"m"===n?e?"хвилина":"хвилину":"h"===n?e?"година":"годину":t+" "+(a=+t,r={ss:e?"секунда_секунди_секунд":"секунду_секунди_секунд",mm:e?"хвилина_хвилини_хвилин":"хвилину_хвилини_хвилин",hh:e?"година_години_годин":"годину_години_годин",dd:"день_дні_днів",MM:"місяць_місяці_місяців",yy:"рік_роки_років"}[n].split("_"),a%10==1&&a%100!=11?r[0]:a%10>=2&&a%10<=4&&(a%100<10||a%100>=20)?r[1]:r[2])}function n(t){return function(){return t+"о"+(11===this.hours()?"б":"")+"] LT"}}t.defineLocale("uk",{months:{format:"січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня".split("_"),standalone:"січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень".split("_")},monthsShort:"січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд".split("_"),weekdays:function(t,e){var n={nominative:"неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота".split("_"),accusative:"неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу".split("_"),genitive:"неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи".split("_")};return!0===t?n.nominative.slice(1,7).concat(n.nominative.slice(0,1)):t?n[/(\[[ВвУу]\]) ?dddd/.test(e)?"accusative":/\[?(?:минулої|наступної)? ?\] ?dddd/.test(e)?"genitive":"nominative"][t.day()]:n.nominative},weekdaysShort:"нд_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY р.",LLL:"D MMMM YYYY р., HH:mm",LLLL:"dddd, D MMMM YYYY р., HH:mm"},calendar:{sameDay:n("[Сьогодні "),nextDay:n("[Завтра "),lastDay:n("[Вчора "),nextWeek:n("[У] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return n("[Минулої] dddd [").call(this);case 1:case 2:case 4:return n("[Минулого] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"за %s",past:"%s тому",s:"декілька секунд",ss:e,m:e,mm:e,h:"годину",hh:e,d:"день",dd:e,M:"місяць",MM:e,y:"рік",yy:e},meridiemParse:/ночі|ранку|дня|вечора/,isPM:function(t){return/^(дня|вечора)$/.test(t)},meridiem:function(t,e,n){return t<4?"ночі":t<12?"ранку":t<17?"дня":"вечора"},dayOfMonthOrdinalParse:/\d{1,2}-(й|го)/,ordinal:function(t,e){switch(e){case"M":case"d":case"DDD":case"w":case"W":return t+"-й";case"D":return t+"-го";default:return t}},week:{dow:1,doy:7}})}(n("wd/R"))},rdkg:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=n("CVuo"),r={},o="undefined"!=typeof document?document.createElement("div").style:void 0,i=function(){var t="undefined"!=typeof window?window.getComputedStyle(document.documentElement,""):void 0,e=void 0!==t?Array.prototype.slice.call(t).join("").match(/-(moz|webkit|ms)-/):null,n=null!==e?e[1]:void 0,a=void 0!==n?"WebKit|Moz|MS|O".match(new RegExp("("+n+")","i"))[1]:void 0;return a?{dom:a,lowercase:n,css:"-"+n+"-",js:n[0].toUpperCase()+n.substr(1)}:void 0};e.ɵ0=i;var s=i();e.getVendorPrefixedName=function(t){var e=a.camelCase(t);return r[e]||(void 0!==s&&void 0!==o[s.css+t]?r[e]=s.css+t:void 0!==o[t]&&(r[e]=t)),r[e]}},rkAj:function(t,e,n){var a=n("g6v/"),r=n("0Dky"),o=n("UTVS"),i=Object.defineProperty,s={},c=function(t){throw t};t.exports=function(t,e){if(o(s,t))return s[t];e||(e={});var n=[][t],l=!!o(e,"ACCESSORS")&&e.ACCESSORS,d=o(e,0)?e[0]:c,u=o(e,1)?e[1]:void 0;return s[t]=!!n&&!r((function(){if(l&&!a)return!0;var t={length:-1};l?i(t,1,{enumerable:!0,get:c}):t[1]=1,n.call(t,d,u)}))}},rpNk:function(t,e,n){"use strict";var a,r,o,i=n("4WOD"),s=n("kRJp"),c=n("UTVS"),l=n("tiKp"),d=n("xDBR"),u=l("iterator"),g=!1;[].keys&&("next"in(o=[].keys())?(r=i(i(o)))!==Object.prototype&&(a=r):g=!0),null==a&&(a={}),d||c(a,u)||s(a,u,(function(){return this})),t.exports={IteratorPrototype:a,BUGGY_SAFARI_ITERATORS:g}},"s+uk":function(t,e,n){!function(t){"use strict";function e(t,e,n,a){var r={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[t+" Tage",t+" Tagen"],M:["ein Monat","einem Monat"],MM:[t+" Monate",t+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[t+" Jahre",t+" Jahren"]};return e?r[n][0]:r[n][1]}t.defineLocale("de-at",{months:"Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:e,mm:"%d Minuten",h:e,hh:"%d Stunden",d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("wd/R"))},s7LF:function(t,e,n){"use strict";n.d(e,"C",(function(){return Ct})),n.d(e,"G",(function(){return pt})),n.d(e,"D",(function(){return S})),n.d(e,"E",(function(){return mt})),n.d(e,"F",(function(){return F})),n.d(e,"c",(function(){return l})),n.d(e,"d",(function(){return f})),n.d(e,"p",(function(){return c})),n.d(e,"b",(function(){return d})),n.d(e,"e",(function(){return u})),n.d(e,"q",(function(){return m})),n.d(e,"r",(function(){return b})),n.d(e,"s",(function(){return _})),n.d(e,"t",(function(){return st})),n.d(e,"u",(function(){return ft})),n.d(e,"w",(function(){return k})),n.d(e,"x",(function(){return I})),n.d(e,"j",(function(){return Ot})),n.d(e,"l",(function(){return ht})),n.d(e,"g",(function(){return _t})),n.d(e,"m",(function(){return bt})),n.d(e,"v",(function(){return q})),n.d(e,"A",(function(){return L})),n.d(e,"z",(function(){return vt})),n.d(e,"h",(function(){return Pt})),n.d(e,"a",(function(){return nt})),n.d(e,"f",(function(){return ot})),n.d(e,"i",(function(){return at})),n.d(e,"k",(function(){return rt})),n.d(e,"o",(function(){return O})),n.d(e,"B",(function(){return C})),n.d(e,"n",(function(){return Mt})),n.d(e,"y",(function(){return xt}));var a=n("8Y7J"),r=n("cUpR"),o=n("cp0P"),i=n("Cfvw"),s=n("lJxs");const c=new a.InjectionToken("NgValueAccessor");class l{constructor(t,e){this._renderer=t,this._elementRef=e,this.onChange=t=>{},this.onTouched=()=>{}}writeValue(t){this._renderer.setProperty(this._elementRef.nativeElement,"checked",t)}registerOnChange(t){this.onChange=t}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)}}const d=new a.InjectionToken("CompositionEventMode");class u{constructor(t,e,n){this._renderer=t,this._elementRef=e,this._compositionMode=n,this.onChange=t=>{},this.onTouched=()=>{},this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function(){const t=Object(r.q)()?Object(r.q)().getUserAgent():"";return/android (\d+)/.test(t.toLowerCase())}())}writeValue(t){this._renderer.setProperty(this._elementRef.nativeElement,"value",null==t?"":t)}registerOnChange(t){this.onChange=t}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}}class g{get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}reset(t){this.control&&this.control.reset(t)}hasError(t,e){return!!this.control&&this.control.hasError(t,e)}getError(t,e){return this.control?this.control.getError(t,e):null}}class f extends g{get formDirective(){return null}get path(){return null}}function p(){throw new Error("unimplemented")}class m extends g{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null,this._rawValidators=[],this._rawAsyncValidators=[]}get validator(){return p()}get asyncValidator(){return p()}}class h{constructor(t){this._cd=t}get ngClassUntouched(){return!!this._cd.control&&this._cd.control.untouched}get ngClassTouched(){return!!this._cd.control&&this._cd.control.touched}get ngClassPristine(){return!!this._cd.control&&this._cd.control.pristine}get ngClassDirty(){return!!this._cd.control&&this._cd.control.dirty}get ngClassValid(){return!!this._cd.control&&this._cd.control.valid}get ngClassInvalid(){return!!this._cd.control&&this._cd.control.invalid}get ngClassPending(){return!!this._cd.control&&this._cd.control.pending}}class b extends h{constructor(t){super(t)}}class _ extends h{constructor(t){super(t)}}function y(t){return null==t||0===t.length}const O=new a.InjectionToken("NgValidators"),v=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;class C{static min(t){return e=>{if(y(e.value)||y(t))return null;const n=parseFloat(e.value);return!isNaN(n)&&n<t?{min:{min:t,actual:e.value}}:null}}static max(t){return e=>{if(y(e.value)||y(t))return null;const n=parseFloat(e.value);return!isNaN(n)&&n>t?{max:{max:t,actual:e.value}}:null}}static required(t){return y(t.value)?{required:!0}:null}static requiredTrue(t){return!0===t.value?null:{required:!0}}static email(t){return y(t.value)?null:v.test(t.value)?null:{email:!0}}static minLength(t){return e=>{if(y(e.value))return null;const n=e.value?e.value.length:0;return n<t?{minlength:{requiredLength:t,actualLength:n}}:null}}static maxLength(t){return e=>{const n=e.value?e.value.length:0;return n>t?{maxlength:{requiredLength:t,actualLength:n}}:null}}static pattern(t){if(!t)return C.nullValidator;let e,n;return"string"==typeof t?(n="","^"!==t.charAt(0)&&(n+="^"),n+=t,"$"!==t.charAt(t.length-1)&&(n+="$"),e=new RegExp(n)):(n=t.toString(),e=t),t=>{if(y(t.value))return null;const a=t.value;return e.test(a)?null:{pattern:{requiredPattern:n,actualValue:a}}}}static nullValidator(t){return null}static compose(t){if(!t)return null;const e=t.filter(P);return 0==e.length?null:function(t){return x(function(t,e){return e.map(e=>e(t))}(t,e))}}static composeAsync(t){if(!t)return null;const e=t.filter(P);return 0==e.length?null:function(t){const n=function(t,e){return e.map(e=>e(t))}(t,e).map(M);return Object(o.a)(n).pipe(Object(s.a)(x))}}}function P(t){return null!=t}function M(t){const e=Object(a["ɵisPromise"])(t)?Object(i.a)(t):t;if(!Object(a["ɵisObservable"])(e))throw new Error("Expected validator to return Promise or Observable.");return e}function x(t){const e=t.reduce((t,e)=>null!=e?Object.assign({},t,e):t,{});return 0===Object.keys(e).length?null:e}function w(t){return t.validate?e=>t.validate(e):t}function T(t){return t.validate?e=>t.validate(e):t}class k{constructor(t,e){this._renderer=t,this._elementRef=e,this.onChange=t=>{},this.onTouched=()=>{}}writeValue(t){this._renderer.setProperty(this._elementRef.nativeElement,"value",null==t?"":t)}registerOnChange(t){this.onChange=e=>{t(""==e?null:parseFloat(e))}}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)}}class S{constructor(){this._accessors=[]}add(t,e){this._accessors.push([t,e])}remove(t){for(let e=this._accessors.length-1;e>=0;--e)if(this._accessors[e][1]===t)return void this._accessors.splice(e,1)}select(t){this._accessors.forEach(e=>{this._isSameGroup(e,t)&&e[1]!==t&&e[1].fireUncheck(t.value)})}_isSameGroup(t,e){return!!t[0].control&&t[0]._parent===e._control._parent&&t[1].name===e.name}}class I{constructor(t,e,n,a){this._renderer=t,this._elementRef=e,this._registry=n,this._injector=a,this.onChange=()=>{},this.onTouched=()=>{}}ngOnInit(){this._control=this._injector.get(m),this._checkName(),this._registry.add(this._control,this)}ngOnDestroy(){this._registry.remove(this)}writeValue(t){this._state=t===this.value,this._renderer.setProperty(this._elementRef.nativeElement,"checked",this._state)}registerOnChange(t){this._fn=t,this.onChange=()=>{t(this.value),this._registry.select(this)}}fireUncheck(t){this.writeValue(t)}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)}_checkName(){this.name&&this.formControlName&&this.name!==this.formControlName&&this._throwNameError(),!this.name&&this.formControlName&&(this.name=this.formControlName)}_throwNameError(){throw new Error('\n      If you define both a name and a formControlName attribute on your radio button, their values\n      must match. Ex: <input type="radio" formControlName="food" name="food">\n    ')}}const N='\n    <div [formGroup]="myGroup">\n      <input formControlName="firstName">\n    </div>\n\n    In your class:\n\n    this.myGroup = new FormGroup({\n       firstName: new FormControl()\n    });',R='\n    <div [formGroup]="myGroup">\n       <div formGroupName="person">\n          <input formControlName="firstName">\n       </div>\n    </div>\n\n    In your class:\n\n    this.myGroup = new FormGroup({\n       person: new FormGroup({ firstName: new FormControl() })\n    });',A='\n    <form>\n       <div ngModelGroup="person">\n          <input [(ngModel)]="person.name" name="firstName">\n       </div>\n    </form>';class E{static controlParentException(){throw new Error(`formControlName must be used with a parent formGroup directive.  You'll want to add a formGroup\n       directive and pass it an existing FormGroup instance (you can create one in your class).\n\n      Example:\n\n      ${N}`)}static ngModelGroupException(){throw new Error(`formControlName cannot be used with an ngModelGroup parent. It is only compatible with parents\n       that also have a "form" prefix: formGroupName, formArrayName, or formGroup.\n\n       Option 1:  Update the parent to be formGroupName (reactive form strategy)\n\n        ${R}\n\n        Option 2: Use ngModel instead of formControlName (template-driven strategy)\n\n        ${A}`)}static missingFormException(){throw new Error(`formGroup expects a FormGroup instance. Please pass one in.\n\n       Example:\n\n       ${N}`)}static groupParentException(){throw new Error(`formGroupName must be used with a parent formGroup directive.  You'll want to add a formGroup\n      directive and pass it an existing FormGroup instance (you can create one in your class).\n\n      Example:\n\n      ${R}`)}static arrayParentException(){throw new Error('formArrayName must be used with a parent formGroup directive.  You\'ll want to add a formGroup\n       directive and pass it an existing FormGroup instance (you can create one in your class).\n\n        Example:\n\n        \n    <div [formGroup]="myGroup">\n      <div formArrayName="cities">\n        <div *ngFor="let city of cityArray.controls; index as i">\n          <input [formControlName]="i">\n        </div>\n      </div>\n    </div>\n\n    In your class:\n\n    this.cityArray = new FormArray([new FormControl(\'SF\')]);\n    this.myGroup = new FormGroup({\n      cities: this.cityArray\n    });')}static disabledAttrWarning(){console.warn("\n      It looks like you're using the disabled attribute with a reactive form directive. If you set disabled to true\n      when you set up this control in your component class, the disabled attribute will actually be set in the DOM for\n      you. We recommend using this approach to avoid 'changed after checked' errors.\n       \n      Example: \n      form = new FormGroup({\n        first: new FormControl({value: 'Nancy', disabled: true}, Validators.required),\n        last: new FormControl('Drew', Validators.required)\n      });\n    ")}static ngModelWarning(t){console.warn(`\n    It looks like you're using ngModel on the same form field as ${t}. \n    Support for using the ngModel input property and ngModelChange event with \n    reactive form directives has been deprecated in Angular v6 and will be removed \n    in Angular v7.\n    \n    For more information on this, see our API docs here:\n    https://angular.io/api/forms/${"formControl"===t?"FormControlDirective":"FormControlName"}#use-with-ngmodel\n    `)}}function D(t,e){return null==t?`${e}`:(e&&"object"==typeof e&&(e="Object"),`${t}: ${e}`.slice(0,50))}class L{constructor(t,e){this._renderer=t,this._elementRef=e,this._optionMap=new Map,this._idCounter=0,this.onChange=t=>{},this.onTouched=()=>{},this._compareWith=a["ɵlooseIdentical"]}set compareWith(t){if("function"!=typeof t)throw new Error(`compareWith must be a function, but received ${JSON.stringify(t)}`);this._compareWith=t}writeValue(t){this.value=t;const e=this._getOptionId(t);null==e&&this._renderer.setProperty(this._elementRef.nativeElement,"selectedIndex",-1);const n=D(e,t);this._renderer.setProperty(this._elementRef.nativeElement,"value",n)}registerOnChange(t){this.onChange=e=>{this.value=this._getOptionValue(e),t(this.value)}}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)}_registerOption(){return(this._idCounter++).toString()}_getOptionId(t){for(const e of Array.from(this._optionMap.keys()))if(this._compareWith(this._optionMap.get(e),t))return e;return null}_getOptionValue(t){const e=function(t){return t.split(":")[0]}(t);return this._optionMap.has(e)?this._optionMap.get(e):t}}class q{constructor(t,e,n){this._element=t,this._renderer=e,this._select=n,this._select&&(this.id=this._select._registerOption())}set ngValue(t){null!=this._select&&(this._select._optionMap.set(this.id,t),this._setElementValue(D(this.id,t)),this._select.writeValue(this._select.value))}set value(t){this._setElementValue(t),this._select&&this._select.writeValue(this._select.value)}_setElementValue(t){this._renderer.setProperty(this._element.nativeElement,"value",t)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}function j(t,e){return null==t?`${e}`:("string"==typeof e&&(e=`'${e}'`),e&&"object"==typeof e&&(e="Object"),`${t}: ${e}`.slice(0,50))}class F{constructor(t,e,n){this._element=t,this._renderer=e,this._select=n,this._select&&(this.id=this._select._registerOption(this))}set ngValue(t){null!=this._select&&(this._value=t,this._setElementValue(j(this.id,t)),this._select.writeValue(this._select.value))}set value(t){this._select?(this._value=t,this._setElementValue(j(this.id,t)),this._select.writeValue(this._select.value)):this._setElementValue(t)}_setElementValue(t){this._renderer.setProperty(this._element.nativeElement,"value",t)}_setSelected(t){this._renderer.setProperty(this._element.nativeElement,"selected",t)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}function z(t,e){return[...e.path,t]}function V(t,e){t||H(e,"Cannot find control with"),e.valueAccessor||H(e,"No value accessor for form control with"),t.validator=C.compose([t.validator,e.validator]),t.asyncValidator=C.composeAsync([t.asyncValidator,e.asyncValidator]),e.valueAccessor.writeValue(t.value),function(t,e){e.valueAccessor.registerOnChange(n=>{t._pendingValue=n,t._pendingChange=!0,t._pendingDirty=!0,"change"===t.updateOn&&G(t,e)})}(t,e),function(t,e){t.registerOnChange((t,n)=>{e.valueAccessor.writeValue(t),n&&e.viewToModelUpdate(t)})}(t,e),function(t,e){e.valueAccessor.registerOnTouched(()=>{t._pendingTouched=!0,"blur"===t.updateOn&&t._pendingChange&&G(t,e),"submit"!==t.updateOn&&t.markAsTouched()})}(t,e),e.valueAccessor.setDisabledState&&t.registerOnDisabledChange(t=>{e.valueAccessor.setDisabledState(t)}),e._rawValidators.forEach(e=>{e.registerOnValidatorChange&&e.registerOnValidatorChange(()=>t.updateValueAndValidity())}),e._rawAsyncValidators.forEach(e=>{e.registerOnValidatorChange&&e.registerOnValidatorChange(()=>t.updateValueAndValidity())})}function G(t,e){t._pendingDirty&&t.markAsDirty(),t.setValue(t._pendingValue,{emitModelToViewChange:!1}),e.viewToModelUpdate(t._pendingValue),t._pendingChange=!1}function Y(t,e){null==t&&H(e,"Cannot find control with"),t.validator=C.compose([t.validator,e.validator]),t.asyncValidator=C.composeAsync([t.asyncValidator,e.asyncValidator])}function B(t){return H(t,"There is no FormControl instance attached to form control element with")}function H(t,e){let n;throw n=t.path.length>1?`path: '${t.path.join(" -> ")}'`:t.path[0]?`name: '${t.path}'`:"unspecified name attribute",new Error(`${e} ${n}`)}function U(t){return null!=t?C.compose(t.map(w)):null}function W(t){return null!=t?C.composeAsync(t.map(T)):null}function K(t,e){if(!t.hasOwnProperty("model"))return!1;const n=t.model;return!!n.isFirstChange()||!Object(a["ɵlooseIdentical"])(e,n.currentValue)}const $=[l,class{constructor(t,e){this._renderer=t,this._elementRef=e,this.onChange=t=>{},this.onTouched=()=>{}}writeValue(t){this._renderer.setProperty(this._elementRef.nativeElement,"value",parseFloat(t))}registerOnChange(t){this.onChange=e=>{t(""==e?null:parseFloat(e))}}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)}},k,L,class{constructor(t,e){this._renderer=t,this._elementRef=e,this._optionMap=new Map,this._idCounter=0,this.onChange=t=>{},this.onTouched=()=>{},this._compareWith=a["ɵlooseIdentical"]}set compareWith(t){if("function"!=typeof t)throw new Error(`compareWith must be a function, but received ${JSON.stringify(t)}`);this._compareWith=t}writeValue(t){let e;if(this.value=t,Array.isArray(t)){const n=t.map(t=>this._getOptionId(t));e=(t,e)=>{t._setSelected(n.indexOf(e.toString())>-1)}}else e=(t,e)=>{t._setSelected(!1)};this._optionMap.forEach(e)}registerOnChange(t){this.onChange=e=>{const n=[];if(e.hasOwnProperty("selectedOptions")){const t=e.selectedOptions;for(let e=0;e<t.length;e++){const a=t.item(e),r=this._getOptionValue(a.value);n.push(r)}}else{const t=e.options;for(let e=0;e<t.length;e++){const a=t.item(e);if(a.selected){const t=this._getOptionValue(a.value);n.push(t)}}}this.value=n,t(n)}}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)}_registerOption(t){const e=(this._idCounter++).toString();return this._optionMap.set(e,t),e}_getOptionId(t){for(const e of Array.from(this._optionMap.keys()))if(this._compareWith(this._optionMap.get(e)._value,t))return e;return null}_getOptionValue(t){const e=function(t){return t.split(":")[0]}(t);return this._optionMap.has(e)?this._optionMap.get(e)._value:t}},I];function Z(t,e){t._syncPendingControls(),e.forEach(t=>{const e=t.control;"submit"===e.updateOn&&e._pendingChange&&(t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1)})}function J(t,e){if(!e)return null;Array.isArray(e)||H(t,"Value accessor was not provided as an array for form control with");let n=void 0,a=void 0,r=void 0;return e.forEach(e=>{var o;e.constructor===u?n=e:(o=e,$.some(t=>o.constructor===t)?(a&&H(t,"More than one built-in value accessor matches form control with"),a=e):(r&&H(t,"More than one custom value accessor matches form control with"),r=e))}),r||a||n||(H(t,"No valid value accessor for form control with"),null)}function X(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}function Q(t){const e=et(t)?t.validators:t;return Array.isArray(e)?U(e):e||null}function tt(t,e){const n=et(e)?e.asyncValidators:t;return Array.isArray(n)?W(n):n||null}function et(t){return null!=t&&!Array.isArray(t)&&"object"==typeof t}class nt{constructor(t,e){this.validator=t,this.asyncValidator=e,this._onCollectionChange=()=>{},this.pristine=!0,this.touched=!1,this._onDisabledChange=[]}get parent(){return this._parent}get valid(){return"VALID"===this.status}get invalid(){return"INVALID"===this.status}get pending(){return"PENDING"==this.status}get disabled(){return"DISABLED"===this.status}get enabled(){return"DISABLED"!==this.status}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this.validator=Q(t)}setAsyncValidators(t){this.asyncValidator=tt(t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(t=>t.markAllAsTouched())}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(t=>{t.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(t=>{t.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status="PENDING",!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){const e=this._parentMarkedDirty(t.onlySelf);this.status="DISABLED",this.errors=null,this._forEachChild(e=>{e.disable(Object.assign({},t,{onlySelf:!0}))}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(Object.assign({},t,{skipPristineCheck:e})),this._onDisabledChange.forEach(t=>t(!0))}enable(t={}){const e=this._parentMarkedDirty(t.onlySelf);this.status="VALID",this._forEachChild(e=>{e.enable(Object.assign({},t,{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors(Object.assign({},t,{skipPristineCheck:e})),this._onDisabledChange.forEach(t=>t(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),"VALID"!==this.status&&"PENDING"!==this.status||this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(e=>e._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?"DISABLED":"VALID"}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status="PENDING";const e=M(this.asyncValidator(this));this._asyncValidationSubscription=e.subscribe(e=>this.setErrors(e,{emitEvent:t}))}}_cancelExistingSubscription(){this._asyncValidationSubscription&&this._asyncValidationSubscription.unsubscribe()}setErrors(t,e={}){this.errors=t,this._updateControlsErrors(!1!==e.emitEvent)}get(t){return function(t,e,n){return null==e?null:(e instanceof Array||(e=e.split(".")),e instanceof Array&&0===e.length?null:e.reduce((t,e)=>t instanceof rt?t.controls.hasOwnProperty(e)?t.controls[e]:null:t instanceof ot&&t.at(e)||null,t))}(this,t)}getError(t,e){const n=e?this.get(e):this;return n&&n.errors?n.errors[t]:null}hasError(t,e){return!!this.getError(t,e)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new a.EventEmitter,this.statusChanges=new a.EventEmitter}_calculateStatus(){return this._allControlsDisabled()?"DISABLED":this.errors?"INVALID":this._anyControlsHaveStatus("PENDING")?"PENDING":this._anyControlsHaveStatus("INVALID")?"INVALID":"VALID"}_anyControlsHaveStatus(t){return this._anyControls(e=>e.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_isBoxedValue(t){return"object"==typeof t&&null!==t&&2===Object.keys(t).length&&"value"in t&&"disabled"in t}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){et(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){return!t&&this._parent&&this._parent.dirty&&!this._parent._anyControlsDirty()}}class at extends nt{constructor(t=null,e,n){super(Q(e),tt(n,e)),this._onChange=[],this._applyFormState(t),this._setUpdateStrategy(e),this.updateValueAndValidity({onlySelf:!0,emitEvent:!1}),this._initObservables()}setValue(t,e={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==e.emitModelToViewChange&&this._onChange.forEach(t=>t(this.value,!1!==e.emitViewToModelChange)),this.updateValueAndValidity(e)}patchValue(t,e={}){this.setValue(t,e)}reset(t=null,e={}){this._applyFormState(t),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_clearChangeFns(){this._onChange=[],this._onDisabledChange=[],this._onCollectionChange=()=>{}}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_forEachChild(t){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(t){this._isBoxedValue(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}}class rt extends nt{constructor(t,e,n){super(Q(e),tt(n,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!1})}registerControl(t,e){return this.controls[t]?this.controls[t]:(this.controls[t]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)}addControl(t,e){this.registerControl(t,e),this.updateValueAndValidity(),this._onCollectionChange()}removeControl(t){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity(),this._onCollectionChange()}setControl(t,e){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],e&&this.registerControl(t,e),this.updateValueAndValidity(),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,e={}){this._checkAllValuesPresent(t),Object.keys(t).forEach(n=>{this._throwIfControlMissing(n),this.controls[n].setValue(t[n],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){Object.keys(t).forEach(n=>{this.controls[n]&&this.controls[n].patchValue(t[n],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}reset(t={},e={}){this._forEachChild((n,a)=>{n.reset(t[a],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this._reduceChildren({},(t,e,n)=>(t[n]=e instanceof at?e.value:e.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(t,e)=>!!e._syncPendingControls()||t);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_throwIfControlMissing(t){if(!Object.keys(this.controls).length)throw new Error("\n        There are no form controls registered with this group yet.  If you're using ngModel,\n        you may want to check next tick (e.g. use setTimeout).\n      ");if(!this.controls[t])throw new Error(`Cannot find form control with name: ${t}.`)}_forEachChild(t){Object.keys(this.controls).forEach(e=>t(this.controls[e],e))}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){let e=!1;return this._forEachChild((n,a)=>{e=e||this.contains(a)&&t(n)}),e}_reduceValue(){return this._reduceChildren({},(t,e,n)=>((e.enabled||this.disabled)&&(t[n]=e.value),t))}_reduceChildren(t,e){let n=t;return this._forEachChild((t,a)=>{n=e(n,t,a)}),n}_allControlsDisabled(){for(const t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_checkAllValuesPresent(t){this._forEachChild((e,n)=>{if(void 0===t[n])throw new Error(`Must supply a value for form control with name: '${n}'.`)})}}class ot extends nt{constructor(t,e,n){super(Q(e),tt(n,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!1})}at(t){return this.controls[t]}push(t){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity(),this._onCollectionChange()}insert(t,e){this.controls.splice(t,0,e),this._registerControl(e),this.updateValueAndValidity()}removeAt(t){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),this.controls.splice(t,1),this.updateValueAndValidity()}setControl(t,e){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),this.controls.splice(t,1),e&&(this.controls.splice(t,0,e),this._registerControl(e)),this.updateValueAndValidity(),this._onCollectionChange()}get length(){return this.controls.length}setValue(t,e={}){this._checkAllValuesPresent(t),t.forEach((t,n)=>{this._throwIfControlMissing(n),this.at(n).setValue(t,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){t.forEach((t,n)=>{this.at(n)&&this.at(n).patchValue(t,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}reset(t=[],e={}){this._forEachChild((n,a)=>{n.reset(t[a],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this.controls.map(t=>t instanceof at?t.value:t.getRawValue())}clear(){this.controls.length<1||(this._forEachChild(t=>t._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity())}_syncPendingControls(){let t=this.controls.reduce((t,e)=>!!e._syncPendingControls()||t,!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_throwIfControlMissing(t){if(!this.controls.length)throw new Error("\n        There are no form controls registered with this array yet.  If you're using ngModel,\n        you may want to check next tick (e.g. use setTimeout).\n      ");if(!this.at(t))throw new Error(`Cannot find form control at index ${t}`)}_forEachChild(t){this.controls.forEach((e,n)=>{t(e,n)})}_updateValue(){this.value=this.controls.filter(t=>t.enabled||this.disabled).map(t=>t.value)}_anyControls(t){return this.controls.some(e=>e.enabled&&t(e))}_setUpControls(){this._forEachChild(t=>this._registerControl(t))}_checkAllValuesPresent(t){this._forEachChild((e,n)=>{if(void 0===t[n])throw new Error(`Must supply a value for form control at index: ${n}.`)})}_allControlsDisabled(){for(const t of this.controls)if(t.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)}}const it=(()=>Promise.resolve(null))();class st extends f{constructor(t,e){super(),this.submitted=!1,this._directives=[],this.ngSubmit=new a.EventEmitter,this.form=new rt({},U(t),W(e))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(t){it.then(()=>{const e=this._findContainer(t.path);t.control=e.registerControl(t.name,t.control),V(t.control,t),t.control.updateValueAndValidity({emitEvent:!1}),this._directives.push(t)})}getControl(t){return this.form.get(t.path)}removeControl(t){it.then(()=>{const e=this._findContainer(t.path);e&&e.removeControl(t.name),X(this._directives,t)})}addFormGroup(t){it.then(()=>{const e=this._findContainer(t.path),n=new rt({});Y(n,t),e.registerControl(t.name,n),n.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(t){it.then(()=>{const e=this._findContainer(t.path);e&&e.removeControl(t.name)})}getFormGroup(t){return this.form.get(t.path)}updateModel(t,e){it.then(()=>{this.form.get(t.path).setValue(e)})}setValue(t){this.control.setValue(t)}onSubmit(t){return this.submitted=!0,Z(this.form,this._directives),this.ngSubmit.emit(t),!1}onReset(){this.resetForm()}resetForm(t){this.form.reset(t),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(t){return t.pop(),t.length?this.form.get(t):this.form}}class ct{static modelParentException(){throw new Error(`\n      ngModel cannot be used to register form controls with a parent formGroup directive.  Try using\n      formGroup's partner directive "formControlName" instead.  Example:\n\n      ${N}\n\n      Or, if you'd like to avoid registering this form control, indicate that it's standalone in ngModelOptions:\n\n      Example:\n\n      \n    <div [formGroup]="myGroup">\n       <input formControlName="firstName">\n       <input [(ngModel)]="showMoreControls" [ngModelOptions]="{standalone: true}">\n    </div>\n  `)}static formGroupNameException(){throw new Error(`\n      ngModel cannot be used to register form controls with a parent formGroupName or formArrayName directive.\n\n      Option 1: Use formControlName instead of ngModel (reactive strategy):\n\n      ${R}\n\n      Option 2:  Update ngModel's parent be ngModelGroup (template-driven strategy):\n\n      ${A}`)}static missingNameException(){throw new Error('If ngModel is used within a form tag, either the name attribute must be set or the form\n      control must be defined as \'standalone\' in ngModelOptions.\n\n      Example 1: <input [(ngModel)]="person.firstName" name="first">\n      Example 2: <input [(ngModel)]="person.firstName" [ngModelOptions]="{standalone: true}">')}static modelGroupParentException(){throw new Error(`\n      ngModelGroup cannot be used with a parent formGroup directive.\n\n      Option 1: Use formGroupName instead of ngModelGroup (reactive strategy):\n\n      ${R}\n\n      Option 2:  Use a regular form tag instead of the formGroup directive (template-driven strategy):\n\n      ${A}`)}static ngFormWarning(){console.warn("\n    It looks like you're using 'ngForm'.\n\n    Support for using the 'ngForm' element selector has been deprecated in Angular v6 and will be removed\n    in Angular v9.\n\n    Use 'ng-form' instead.\n\n    Before:\n    <ngForm #myForm=\"ngForm\">\n\n    After:\n    <ng-form #myForm=\"ngForm\">\n    ")}}const lt=new a.InjectionToken("NgFormSelectorWarning");class dt extends f{ngOnInit(){this._checkParentType(),this.formDirective.addFormGroup(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormGroup(this)}get control(){return this.formDirective.getFormGroup(this)}get path(){return z(this.name,this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}get validator(){return U(this._validators)}get asyncValidator(){return W(this._asyncValidators)}_checkParentType(){}}class ut extends dt{constructor(t,e,n){super(),this._parent=t,this._validators=e,this._asyncValidators=n}_checkParentType(){this._parent instanceof ut||this._parent instanceof st||ct.modelGroupParentException()}}const gt=(()=>Promise.resolve(null))();class ft extends m{constructor(t,e,n,r){super(),this.control=new at,this._registered=!1,this.update=new a.EventEmitter,this._parent=t,this._rawValidators=e||[],this._rawAsyncValidators=n||[],this.valueAccessor=J(this,r)}ngOnChanges(t){this._checkForErrors(),this._registered||this._setUpControl(),"isDisabled"in t&&this._updateDisabled(t),K(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._parent?z(this.name,this._parent):[this.name]}get formDirective(){return this._parent?this._parent.formDirective:null}get validator(){return U(this._rawValidators)}get asyncValidator(){return W(this._rawAsyncValidators)}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){V(this.control,this),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){!(this._parent instanceof ut)&&this._parent instanceof dt?ct.formGroupNameException():this._parent instanceof ut||this._parent instanceof st||ct.modelParentException()}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()||this.name||ct.missingNameException()}_updateValue(t){gt.then(()=>{this.control.setValue(t,{emitViewToModelChange:!1})})}_updateDisabled(t){const e=t.isDisabled.currentValue,n=""===e||e&&"false"!==e;gt.then(()=>{n&&!this.control.disabled?this.control.disable():!n&&this.control.disabled&&this.control.enable()})}}class pt{}const mt=new a.InjectionToken("NgModelWithFormControlWarning");class ht extends f{constructor(t,e){super(),this._validators=t,this._asyncValidators=e,this.submitted=!1,this.directives=[],this.form=null,this.ngSubmit=new a.EventEmitter}ngOnChanges(t){this._checkFormPresent(),t.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations())}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(t){const e=this.form.get(t.path);return V(e,t),e.updateValueAndValidity({emitEvent:!1}),this.directives.push(t),e}getControl(t){return this.form.get(t.path)}removeControl(t){X(this.directives,t)}addFormGroup(t){const e=this.form.get(t.path);Y(e,t),e.updateValueAndValidity({emitEvent:!1})}removeFormGroup(t){}getFormGroup(t){return this.form.get(t.path)}addFormArray(t){const e=this.form.get(t.path);Y(e,t),e.updateValueAndValidity({emitEvent:!1})}removeFormArray(t){}getFormArray(t){return this.form.get(t.path)}updateModel(t,e){this.form.get(t.path).setValue(e)}onSubmit(t){return this.submitted=!0,Z(this.form,this.directives),this.ngSubmit.emit(t),!1}onReset(){this.resetForm()}resetForm(t){this.form.reset(t),this.submitted=!1}_updateDomValue(){this.directives.forEach(t=>{const e=this.form.get(t.path);t.control!==e&&(function(t,e){e.valueAccessor.registerOnChange(()=>B(e)),e.valueAccessor.registerOnTouched(()=>B(e)),e._rawValidators.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(null)}),e._rawAsyncValidators.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(null)}),t&&t._clearChangeFns()}(t.control,t),e&&V(e,t),t.control=e)}),this.form._updateTreeValidity({emitEvent:!1})}_updateRegistrations(){this.form._registerOnCollectionChange(()=>this._updateDomValue()),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{}),this._oldForm=this.form}_updateValidators(){const t=U(this._validators);this.form.validator=C.compose([this.form.validator,t]);const e=W(this._asyncValidators);this.form.asyncValidator=C.composeAsync([this.form.asyncValidator,e])}_checkFormPresent(){this.form||E.missingFormException()}}class bt extends dt{constructor(t,e,n){super(),this._parent=t,this._validators=e,this._asyncValidators=n}_checkParentType(){yt(this._parent)&&E.groupParentException()}}class _t extends f{constructor(t,e,n){super(),this._parent=t,this._validators=e,this._asyncValidators=n}ngOnInit(){this._checkParentType(),this.formDirective.addFormArray(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormArray(this)}get control(){return this.formDirective.getFormArray(this)}get formDirective(){return this._parent?this._parent.formDirective:null}get path(){return z(this.name,this._parent)}get validator(){return U(this._validators)}get asyncValidator(){return W(this._asyncValidators)}_checkParentType(){yt(this._parent)&&E.arrayParentException()}}function yt(t){return!(t instanceof bt||t instanceof ht||t instanceof _t)}let Ot=(()=>{class t extends m{constructor(t,e,n,r,o){super(),this._ngModelWarningConfig=o,this._added=!1,this.update=new a.EventEmitter,this._ngModelWarningSent=!1,this._parent=t,this._rawValidators=e||[],this._rawAsyncValidators=n||[],this.valueAccessor=J(this,r)}set isDisabled(t){E.disabledAttrWarning()}ngOnChanges(e){var n,r;this._added||this._setUpControl(),K(e,this.viewModel)&&("formControlName",n=t,this,r=this._ngModelWarningConfig,Object(a.isDevMode)()&&"never"!==r&&((null!==r&&"once"!==r||n._ngModelWarningSentOnce)&&("always"!==r||this._ngModelWarningSent)||(E.ngModelWarning("formControlName"),n._ngModelWarningSentOnce=!0,this._ngModelWarningSent=!0)),this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}get path(){return z(this.name,this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}get validator(){return U(this._rawValidators)}get asyncValidator(){return W(this._rawAsyncValidators)}_checkParentType(){!(this._parent instanceof bt)&&this._parent instanceof dt?E.ngModelGroupException():this._parent instanceof bt||this._parent instanceof ht||this._parent instanceof _t||E.controlParentException()}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this._added=!0}}return t._ngModelWarningSentOnce=!1,t})();class vt{get required(){return this._required}set required(t){this._required=null!=t&&!1!==t&&"false"!==`${t}`,this._onChange&&this._onChange()}validate(t){return this.required?C.required(t):null}registerOnValidatorChange(t){this._onChange=t}}class Ct{}class Pt{group(t,e=null){const n=this._reduceControls(t);let a=null,r=null,o=void 0;return null!=e&&(function(t){return void 0!==t.asyncValidators||void 0!==t.validators||void 0!==t.updateOn}(e)?(a=null!=e.validators?e.validators:null,r=null!=e.asyncValidators?e.asyncValidators:null,o=null!=e.updateOn?e.updateOn:void 0):(a=null!=e.validator?e.validator:null,r=null!=e.asyncValidator?e.asyncValidator:null)),new rt(n,{asyncValidators:r,updateOn:o,validators:a})}control(t,e,n){return new at(t,e,n)}array(t,e,n){const a=t.map(t=>this._createControl(t));return new ot(a,e,n)}_reduceControls(t){const e={};return Object.keys(t).forEach(n=>{e[n]=this._createControl(t[n])}),e}_createControl(t){return t instanceof at||t instanceof rt||t instanceof ot?t:Array.isArray(t)?this.control(t[0],t.length>1?t[1]:null,t.length>2?t[2]:null):this.control(t)}}class Mt{static withConfig(t){return{ngModule:Mt,providers:[{provide:lt,useValue:t.warnOnDeprecatedNgFormSelector}]}}}class xt{static withConfig(t){return{ngModule:xt,providers:[{provide:mt,useValue:t.warnOnNgModelWithFormControl}]}}}},sEFX:function(t,e,n){"use strict";var a=n("AO7/"),r=n("9d/t");t.exports=a?{}.toString:function(){return"[object "+r(this)+"]"}},sEf8:function(t,e){t.exports=function(t){return function(e){return t(e)}}},sEfC:function(t,e,n){var a=n("GoyQ"),r=n("QIyF"),o=n("tLB3"),i=Math.max,s=Math.min;t.exports=function(t,e,n){var c,l,d,u,g,f,p=0,m=!1,h=!1,b=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function _(e){var n=c,a=l;return c=l=void 0,p=e,u=t.apply(a,n)}function y(t){return p=t,g=setTimeout(v,e),m?_(t):u}function O(t){var n=t-f;return void 0===f||n>=e||n<0||h&&t-p>=d}function v(){var t=r();if(O(t))return C(t);g=setTimeout(v,function(t){var n=e-(t-f);return h?s(n,d-(t-p)):n}(t))}function C(t){return g=void 0,b&&c?_(t):(c=l=void 0,u)}function P(){var t=r(),n=O(t);if(c=arguments,l=this,f=t,n){if(void 0===g)return y(f);if(h)return clearTimeout(g),g=setTimeout(v,e),_(f)}return void 0===g&&(g=setTimeout(v,e)),u}return e=o(e)||0,a(n)&&(m=!!n.leading,d=(h="maxWait"in n)?i(o(n.maxWait)||0,e):d,b="trailing"in n?!!n.trailing:b),P.cancel=function(){void 0!==g&&clearTimeout(g),p=0,c=f=l=g=void 0},P.flush=function(){return void 0===g?u:C(r())},P}},sLuX:function(t,e,n){"use strict";var a=n("8Y7J"),r=n("25BL"),o=n("uIqm");n("FSuO"),n("a0VL"),n.d(e,"a",(function(){return i})),n.d(e,"b",(function(){return s}));var i=a["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function s(t){return a["ɵvid"](0,[a["ɵqud"](402653184,1,{table:0}),(t()(),a["ɵeld"](1,0,null,null,1,"cd-table",[["columnMode","flex"]],null,null,null,r.b,r.a)),a["ɵdid"](2,2867200,[[1,4],["table",4]],0,o.a,[a.NgZone,a.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],toolHeader:[3,"toolHeader"],header:[4,"header"],footer:[5,"footer"],limit:[6,"limit"],autoReload:[7,"autoReload"],autoSave:[8,"autoSave"],customCss:[9,"customCss"]},null)],(function(t,e){var n=e.component;t(e,2,0,n.tableData,n.columns,"flex",!1,!1,!1,0,n.autoReload,!1,n.customCss)}),null)}},sMBO:function(t,e,n){var a=n("g6v/"),r=n("m/L8").f,o=Function.prototype,i=o.toString,s=/^\s*function ([^ (]*)/;!a||"name"in o||r(o,"name",{configurable:!0,get:function(){try{return i.call(this).match(s)[1]}catch(t){return""}}})},sVev:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));const a=(()=>{function t(){return Error.call(this),this.message="no elements in sequence",this.name="EmptyError",this}return t.prototype=Object.create(Error.prototype),t})()},sb0X:function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var a=n("8Y7J"),r=n("s7LF"),o=n("oxzT"),i=n("LvDl");class s{constructor(t){this.elRef=t,this.type="submit",this.disabled=!1,this.submitAction=new a.EventEmitter,this.loading=!1,this.icons=o.a}ngOnInit(){this.form.statusChanges.subscribe(()=>{i.has(this.form.errors,"cdSubmitButton")&&(this.loading=!1,i.unset(this.form.errors,"cdSubmitButton"),this.form instanceof r.a&&this.form.updateValueAndValidity())})}submit(t){this.focusButton(),this.form instanceof r.l&&this.form.onSubmit(t),this.form.invalid?this.focusInvalid():(this.loading=!0,this.submitAction.emit())}focusButton(){this.elRef.nativeElement.offsetParent.querySelector(`button[type="${this.type}"]`).focus()}focusInvalid(){const t=this.elRef.nativeElement.offsetParent.querySelector("input.ng-invalid, select.ng-invalid");t&&t.focus()}}},seXi:function(t,e,n){var a=n("qZTm"),r=Object.prototype.hasOwnProperty;t.exports=function(t,e,n,o,i,s){var c=1&n,l=a(t),d=l.length;if(d!=a(e).length&&!c)return!1;for(var u=d;u--;){var g=l[u];if(!(c?g in e:r.call(e,g)))return!1}var f=s.get(t);if(f&&s.get(e))return f==e;var p=!0;s.set(t,e),s.set(e,t);for(var m=c;++u<d;){var h=t[g=l[u]],b=e[g];if(o)var _=c?o(b,h,g,e,t,s):o(h,b,g,t,e,s);if(!(void 0===_?h===b||i(h,b,n,o,s):_)){p=!1;break}m||(m="constructor"==g)}if(p&&!m){var y=t.constructor,O=e.constructor;y!=O&&"constructor"in t&&"constructor"in e&&!("function"==typeof y&&y instanceof y&&"function"==typeof O&&O instanceof O)&&(p=!1)}return s.delete(t),s.delete(e),p}},shjB:function(t,e){t.exports=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}},sne2:function(t,e,n){"use strict";n.d(e,"c",(function(){return o})),n.d(e,"e",(function(){return i})),n.d(e,"a",(function(){return s})),n.d(e,"b",(function(){return c})),n.d(e,"d",(function(){return l}));var a=n("8Y7J"),r=n("GiVz");let o=(()=>{class t{}return t.organization="ceph",t.projectName="Ceph Dashboard",t.license="Free software (LGPL 2.1).",t})();var i=function(t){return t.CREATE="create",t.EDIT="edit",t.UPDATE="update",t.REMOVE="remove",t.DELETE="delete",t.ADD="add",t.COPY="copy",t.CLONE="clone",t.RECREATE="recreate",t.EXPIRE="expire",t}({}),s=function(t){return t.CREATE="Create",t.DELETE="Delete",t.ADD="Add",t.REMOVE="Remove",t.EDIT="Edit",t.CANCEL="Cancel",t.COPY="Copy",t.CLONE="Clone",t.UPDATE="Update",t.EVICT="Evict",t.SHOW="Show",t.RECREATE="Recreate",t.EXPIRE="Expire",t}({});let c=(()=>{class t{constructor(t){this.i18n=t,this.CREATE=this.i18n("Create"),this.DELETE=this.i18n("Delete"),this.ADD=this.i18n("Add"),this.SET=this.i18n("Set"),this.REMOVE=this.i18n("Remove"),this.UNSET=this.i18n("Unset"),this.EDIT=this.i18n("Edit"),this.UPDATE=this.i18n("Update"),this.CANCEL=this.i18n("Cancel"),this.CLONE=this.i18n("Clone"),this.COPY=this.i18n("Copy"),this.DEEP_SCRUB=this.i18n("Deep Scrub"),this.DESTROY=this.i18n("Destroy"),this.EVICT=this.i18n("Evict"),this.FLATTEN=this.i18n("Flatten"),this.MARK_DOWN=this.i18n("Mark Down"),this.MARK_IN=this.i18n("Mark In"),this.MARK_LOST=this.i18n("Mark Lost"),this.MARK_OUT=this.i18n("Mark Out"),this.PROTECT=this.i18n("Protect"),this.PURGE=this.i18n("Purge"),this.RENAME=this.i18n("Rename"),this.RESTORE=this.i18n("Restore"),this.REWEIGHT=this.i18n("Reweight"),this.ROLLBACK=this.i18n("Rollback"),this.SCRUB=this.i18n("Scrub"),this.SHOW=this.i18n("Show"),this.TRASH=this.i18n("Move to Trash"),this.UNPROTECT=this.i18n("Unprotect"),this.CHANGE=this.i18n("Change"),this.RECREATE=this.i18n("Recreate"),this.EXPIRE=this.i18n("Expire")}}return t.ngInjectableDef=a["ɵɵdefineInjectable"]({factory:function(){return new t(a["ɵɵinject"](r.a))},token:t,providedIn:"root"}),t})(),l=(()=>{class t{constructor(t){this.i18n=t,this.CREATED=this.i18n("Created"),this.DELETED=this.i18n("Deleted"),this.ADDED=this.i18n("Added"),this.REMOVED=this.i18n("Removed"),this.EDITED=this.i18n("Edited"),this.CANCELED=this.i18n("Canceled"),this.CLONED=this.i18n("Cloned"),this.COPIED=this.i18n("Copied"),this.DEEP_SCRUBBED=this.i18n("Deep Scrubbed"),this.DESTROYED=this.i18n("Destroyed"),this.FLATTENED=this.i18n("Flattened"),this.MARKED_DOWN=this.i18n("Marked Down"),this.MARKED_IN=this.i18n("Marked In"),this.MARKED_LOST=this.i18n("Marked Lost"),this.MARKED_OUT=this.i18n("Marked Out"),this.PROTECTED=this.i18n("Protected"),this.PURGED=this.i18n("Purged"),this.RENAMED=this.i18n("Renamed"),this.RESTORED=this.i18n("Restored"),this.REWEIGHTED=this.i18n("Reweighted"),this.ROLLED_BACK=this.i18n("Rolled back"),this.SCRUBBED=this.i18n("Scrubbed"),this.SHOWED=this.i18n("Showed"),this.TRASHED=this.i18n("Moved to Trash"),this.UNPROTECTED=this.i18n("Unprotected"),this.CHANGE=this.i18n("Change"),this.RECREATED=this.i18n("Recreated"),this.EXPIRED=this.i18n("Expired")}}return t.ngInjectableDef=a["ɵɵdefineInjectable"]({factory:function(){return new t(a["ɵɵinject"](r.a))},token:t,providedIn:"root"}),t})()},sp3z:function(t,e,n){!function(t){"use strict";t.defineLocale("lo",{months:"ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),monthsShort:"ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),weekdays:"ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),weekdaysShort:"ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),weekdaysMin:"ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"ວັນdddd D MMMM YYYY HH:mm"},meridiemParse:/ຕອນເຊົ້າ|ຕອນແລງ/,isPM:function(t){return"ຕອນແລງ"===t},meridiem:function(t,e,n){return t<12?"ຕອນເຊົ້າ":"ຕອນແລງ"},calendar:{sameDay:"[ມື້ນີ້ເວລາ] LT",nextDay:"[ມື້ອື່ນເວລາ] LT",nextWeek:"[ວັນ]dddd[ໜ້າເວລາ] LT",lastDay:"[ມື້ວານນີ້ເວລາ] LT",lastWeek:"[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT",sameElse:"L"},relativeTime:{future:"ອີກ %s",past:"%sຜ່ານມາ",s:"ບໍ່ເທົ່າໃດວິນາທີ",ss:"%d ວິນາທີ",m:"1 ນາທີ",mm:"%d ນາທີ",h:"1 ຊົ່ວໂມງ",hh:"%d ຊົ່ວໂມງ",d:"1 ມື້",dd:"%d ມື້",M:"1 ເດືອນ",MM:"%d ເດືອນ",y:"1 ປີ",yy:"%d ປີ"},dayOfMonthOrdinalParse:/(ທີ່)\d{1,2}/,ordinal:function(t){return"ທີ່"+t}})}(n("wd/R"))},syrc:function(t,e,n){var a=n("mrSG").__decorate,r=n("mrSG").__metadata;Object.defineProperty(e,"__esModule",{value:!0});var o=n("8Y7J"),i=n("5tze");n("bpWZ"),n("czA5"),e.DataTableBodyRowComponent=function(){function t(t,e,n,a){this.differs=t,this.scrollbarHelper=e,this.cd=n,this.treeStatus="collapsed",this.activate=new o.EventEmitter,this.treeAction=new o.EventEmitter,this._groupStyles={left:{},center:{},right:{}},this._element=a.nativeElement,this._rowDiffer=t.find({}).create()}return Object.defineProperty(t.prototype,"columns",{get:function(){return this._columns},set:function(t){this._columns=t,this.recalculateColumns(t),this.buildStylesByGroup()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"innerWidth",{get:function(){return this._innerWidth},set:function(t){if(this._columns){var e=i.columnsByPin(this._columns);this._columnGroupWidths=i.columnGroupWidths(e,e)}this._innerWidth=t,this.recalculateColumns(),this.buildStylesByGroup()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"offsetX",{get:function(){return this._offsetX},set:function(t){this._offsetX=t,this.buildStylesByGroup()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"cssClass",{get:function(){var t="datatable-body-row";if(this.isSelected&&(t+=" active"),this.rowIndex%2!=0&&(t+=" datatable-row-odd"),this.rowIndex%2==0&&(t+=" datatable-row-even"),this.rowClass){var e=this.rowClass(this.row);if("string"==typeof e)t+=" "+e;else if("object"==typeof e)for(var n=0,a=Object.keys(e);n<a.length;n++){var r=a[n];!0===e[r]&&(t+=" "+r)}}return t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"columnsTotalWidths",{get:function(){return this._columnGroupWidths.total},enumerable:!0,configurable:!0}),t.prototype.ngDoCheck=function(){this._rowDiffer.diff(this.row)&&this.cd.markForCheck()},t.prototype.trackByGroups=function(t,e){return e.type},t.prototype.columnTrackingFn=function(t,e){return e.$$id},t.prototype.buildStylesByGroup=function(){this._groupStyles.left=this.calcStylesByGroup("left"),this._groupStyles.center=this.calcStylesByGroup("center"),this._groupStyles.right=this.calcStylesByGroup("right"),this.cd.markForCheck()},t.prototype.calcStylesByGroup=function(t){var e=this._columnGroupWidths,n=this.offsetX,a={width:e[t]+"px"};if("left"===t)i.translateXY(a,n,0);else if("right"===t){var r=parseInt(this.innerWidth+"",0);i.translateXY(a,-1*(e.total-r-n+this.scrollbarHelper.width),0)}return a},t.prototype.onActivate=function(t,e){t.cellIndex=e,t.rowElement=this._element,this.activate.emit(t)},t.prototype.onKeyDown=function(t){var e=t.keyCode;(e===i.Keys.return||e===i.Keys.down||e===i.Keys.up||e===i.Keys.left||e===i.Keys.right)&&t.target===this._element&&(t.preventDefault(),t.stopPropagation(),this.activate.emit({type:"keydown",event:t,row:this.row,rowElement:this._element}))},t.prototype.onMouseenter=function(t){this.activate.emit({type:"mouseenter",event:t,row:this.row,rowElement:this._element})},t.prototype.recalculateColumns=function(t){void 0===t&&(t=this.columns),this._columns=t;var e=i.columnsByPin(this._columns);this._columnsByPin=i.columnsByPinArr(this._columns),this._columnGroupWidths=i.columnGroupWidths(e,this._columns)},t.prototype.onTreeAction=function(){this.treeAction.emit()},a([o.Input(),r("design:type",Array),r("design:paramtypes",[Array])],t.prototype,"columns",null),a([o.Input(),r("design:type",Number),r("design:paramtypes",[Number])],t.prototype,"innerWidth",null),a([o.Input(),r("design:type",Boolean)],t.prototype,"expanded",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"rowClass",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"row",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"group",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"isSelected",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"rowIndex",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"displayCheck",void 0),a([o.Input(),r("design:type",String)],t.prototype,"treeStatus",void 0),a([o.Input(),r("design:type",Number),r("design:paramtypes",[Number])],t.prototype,"offsetX",null),a([o.HostBinding("class"),r("design:type",Object),r("design:paramtypes",[])],t.prototype,"cssClass",null),a([o.HostBinding("style.height.px"),o.Input(),r("design:type",Number)],t.prototype,"rowHeight",void 0),a([o.HostBinding("style.width.px"),r("design:type",String),r("design:paramtypes",[])],t.prototype,"columnsTotalWidths",null),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"activate",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"treeAction",void 0),a([o.HostListener("keydown",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],t.prototype,"onKeyDown",null),a([o.HostListener("mouseenter",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],t.prototype,"onMouseenter",null),a([o.Component({selector:"datatable-body-row",changeDetection:o.ChangeDetectionStrategy.OnPush,template:'\n    <div\n      *ngFor="let colGroup of _columnsByPin; let i = index; trackBy: trackByGroups"\n      class="datatable-row-{{colGroup.type}} datatable-row-group"\n      [ngStyle]="_groupStyles[colGroup.type]">\n      <datatable-body-cell\n        *ngFor="let column of colGroup.columns; let ii = index; trackBy: columnTrackingFn"\n        tabindex="-1"\n        [row]="row"\n        [group]="group"\n        [expanded]="expanded"\n        [isSelected]="isSelected"\n        [rowIndex]="rowIndex"\n        [column]="column"\n        [rowHeight]="rowHeight"\n        [displayCheck]="displayCheck"\n        [treeStatus]="treeStatus"\n        (activate)="onActivate($event, ii)"\n        (treeAction)="onTreeAction()">\n      </datatable-body-cell>\n    </div>\n  '})],t)}()},"t/zF":function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{constructor(t,e){this.name=t,this.metadata=e}}},t2Dn:function(t,e,n){var a=n("hypo"),r=n("ljhN");t.exports=function(t,e,n){(void 0===n||r(t[e],n))&&(void 0!==n||e in t)||a(t,e,n)}},tAZD:function(t,e,n){var a,r,o;!function(i){if("object"==typeof t.exports){var s=i(0,e);void 0!==s&&(t.exports=s)}else r=[n,e],void 0===(o="function"==typeof(a=i)?a.apply(e,r):a)||(t.exports=o)}((function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=void 0;e.default=["en",[["a","p"],["AM","PM"],n],[["AM","PM"],n,n],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],n,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],n,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",n,"{1} 'at' {0}",n],[".",",",";","%","+","-","E","×","‰","∞","NaN",":"],["#,##0.###","#,##0%","¤#,##0.00","#E0"],"$","US Dollar",{},function(t){var e=Math.floor(Math.abs(t)),n=t.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===n?1:5}]}))},tFKq:function(t,e,n){var a=n("mrSG").__assign,r=n("mrSG").__decorate,o=n("mrSG").__metadata;Object.defineProperty(e,"__esModule",{value:!0});var i=n("8Y7J"),s=n("qwkt"),c=n("5tze");e.DataTableHeaderComponent=function(){function t(t){this.cd=t,this.sort=new i.EventEmitter,this.reorder=new i.EventEmitter,this.resize=new i.EventEmitter,this.select=new i.EventEmitter,this.columnContextmenu=new i.EventEmitter(!1),this._styleByGroup={left:{},center:{},right:{}}}return Object.defineProperty(t.prototype,"innerWidth",{get:function(){return this._innerWidth},set:function(t){if(this._innerWidth=t,this._columns){var e=c.columnsByPin(this._columns);this._columnGroupWidths=c.columnGroupWidths(e,this._columns),this.setStylesByGroup()}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"headerHeight",{get:function(){return this._headerHeight},set:function(t){this._headerHeight="auto"!==t?t+"px":t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"columns",{get:function(){return this._columns},set:function(t){this._columns=t;var e=c.columnsByPin(t);this._columnsByPin=c.columnsByPinArr(t),this._columnGroupWidths=c.columnGroupWidths(e,t),this.setStylesByGroup()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"offsetX",{get:function(){return this._offsetX},set:function(t){this._offsetX=t,this.setStylesByGroup()},enumerable:!0,configurable:!0}),t.prototype.onLongPressStart=function(t){var e=t.event;t.model.dragging=!0,this.dragEventTarget=e},t.prototype.onLongPressEnd=function(t){var e=this,n=t.model;this.dragEventTarget=t.event,setTimeout((function(){var t=e._columns.find((function(t){return t.$$id===n.$$id}));t&&(t.dragging=!1)}),5)},Object.defineProperty(t.prototype,"headerWidth",{get:function(){return this.scrollbarH?this.innerWidth+"px":"100%"},enumerable:!0,configurable:!0}),t.prototype.trackByGroups=function(t,e){return e.type},t.prototype.columnTrackingFn=function(t,e){return e.$$id},t.prototype.onColumnResized=function(t,e){t<=e.minWidth?t=e.minWidth:t>=e.maxWidth&&(t=e.maxWidth),this.resize.emit({column:e,prevValue:e.width,newValue:t})},t.prototype.onColumnReordered=function(t){var e=t.prevIndex,n=t.newIndex,a=t.model,r=this.getColumn(n);r.isTarget=!1,r.targetMarkerContext=void 0,this.reorder.emit({column:a,prevValue:e,newValue:n})},t.prototype.onTargetChanged=function(t){var e=t.prevIndex,n=t.newIndex,a=t.initialIndex;if(e||0===e){var r=this.getColumn(e);r.isTarget=!1,r.targetMarkerContext=void 0}if(n||0===n){var o=this.getColumn(n);o.isTarget=!0,a!==n&&(o.targetMarkerContext={class:"targetMarker ".concat(a>n?"dragFromRight":"dragFromLeft")})}},t.prototype.getColumn=function(t){var e=this._columnsByPin[0].columns.length;if(t<e)return this._columnsByPin[0].columns[t];var n=this._columnsByPin[1].columns.length;return t<e+n?this._columnsByPin[1].columns[t-e]:this._columnsByPin[2].columns[t-e-n]},t.prototype.onSort=function(t){var e=t.column,n=t.prevValue,a=t.newValue;if(!e.dragging){var r=this.calcNewSorts(e,n,a);this.sort.emit({sorts:r,column:e,prevValue:n,newValue:a})}},t.prototype.calcNewSorts=function(t,e,n){var r=0;this.sorts||(this.sorts=[]);var o=this.sorts.map((function(e,n){return(e=a({},e)).prop===t.prop&&(r=n),e}));return void 0===n?o.splice(r,1):e?o[r].dir=n:(this.sortType===s.SortType.single&&o.splice(0,this.sorts.length),o.push({dir:n,prop:t.prop})),o},t.prototype.setStylesByGroup=function(){this._styleByGroup.left=this.calcStylesByGroup("left"),this._styleByGroup.center=this.calcStylesByGroup("center"),this._styleByGroup.right=this.calcStylesByGroup("right"),this.cd.detectChanges()},t.prototype.calcStylesByGroup=function(t){var e=this._columnGroupWidths,n={width:e[t]+"px"};return"center"===t?c.translateXY(n,-1*this.offsetX,0):"right"===t&&c.translateXY(n,-1*(e.total-this.innerWidth),0),n},r([i.Input(),o("design:type",Object)],t.prototype,"sortAscendingIcon",void 0),r([i.Input(),o("design:type",Object)],t.prototype,"sortDescendingIcon",void 0),r([i.Input(),o("design:type",Boolean)],t.prototype,"scrollbarH",void 0),r([i.Input(),o("design:type",Boolean)],t.prototype,"dealsWithGroup",void 0),r([i.Input(),o("design:type",Object)],t.prototype,"targetMarkerTemplate",void 0),r([i.Input(),o("design:type",Number),o("design:paramtypes",[Number])],t.prototype,"innerWidth",null),r([i.Input(),o("design:type",Array)],t.prototype,"sorts",void 0),r([i.Input(),o("design:type",String)],t.prototype,"sortType",void 0),r([i.Input(),o("design:type",Boolean)],t.prototype,"allRowsSelected",void 0),r([i.Input(),o("design:type",String)],t.prototype,"selectionType",void 0),r([i.Input(),o("design:type",Boolean)],t.prototype,"reorderable",void 0),r([i.HostBinding("style.height"),i.Input(),o("design:type",Object),o("design:paramtypes",[Object])],t.prototype,"headerHeight",null),r([i.Input(),o("design:type",Array),o("design:paramtypes",[Array])],t.prototype,"columns",null),r([i.Input(),o("design:type",Number),o("design:paramtypes",[Number])],t.prototype,"offsetX",null),r([i.Output(),o("design:type",i.EventEmitter)],t.prototype,"sort",void 0),r([i.Output(),o("design:type",i.EventEmitter)],t.prototype,"reorder",void 0),r([i.Output(),o("design:type",i.EventEmitter)],t.prototype,"resize",void 0),r([i.Output(),o("design:type",i.EventEmitter)],t.prototype,"select",void 0),r([i.Output(),o("design:type",Object)],t.prototype,"columnContextmenu",void 0),r([i.HostBinding("style.width"),o("design:type",String),o("design:paramtypes",[])],t.prototype,"headerWidth",null),r([i.Component({selector:"datatable-header",template:'\n    <div\n      orderable\n      (reorder)="onColumnReordered($event)"\n      (targetChanged)="onTargetChanged($event)"\n      [style.width.px]="_columnGroupWidths.total"\n      class="datatable-header-inner">\n      <div\n        *ngFor="let colGroup of _columnsByPin; trackBy: trackByGroups"\n        [class]="\'datatable-row-\' + colGroup.type"\n        [ngStyle]="_styleByGroup[colGroup.type]">\n        <datatable-header-cell\n          *ngFor="let column of colGroup.columns; trackBy: columnTrackingFn"\n          resizeable\n          [resizeEnabled]="column.resizeable"\n          (resize)="onColumnResized($event, column)"\n          long-press\n          [pressModel]="column"\n          [pressEnabled]="reorderable && column.draggable"\n          (longPressStart)="onLongPressStart($event)"\n          (longPressEnd)="onLongPressEnd($event)"\n          draggable\n          [dragX]="reorderable && column.draggable && column.dragging"\n          [dragY]="false"\n          [dragModel]="column"\n          [dragEventTarget]="dragEventTarget"\n          [headerHeight]="headerHeight"\n          [isTarget]="column.isTarget"\n          [targetMarkerTemplate]="targetMarkerTemplate"\n          [targetMarkerContext]="column.targetMarkerContext"\n          [column]="column"\n          [sortType]="sortType"\n          [sorts]="sorts"\n          [selectionType]="selectionType"\n          [sortAscendingIcon]="sortAscendingIcon"\n          [sortDescendingIcon]="sortDescendingIcon"\n          [allRowsSelected]="allRowsSelected"\n          (sort)="onSort($event)"\n          (select)="select.emit($event)"\n          (columnContextmenu)="columnContextmenu.emit($event)">\n        </datatable-header-cell>\n      </div>\n    </div>\n  ',host:{class:"datatable-header"},changeDetection:i.ChangeDetectionStrategy.OnPush})],t)}()},tGlX:function(t,e,n){!function(t){"use strict";function e(t,e,n,a){var r={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[t+" Tage",t+" Tagen"],M:["ein Monat","einem Monat"],MM:[t+" Monate",t+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[t+" Jahre",t+" Jahren"]};return e?r[n][0]:r[n][1]}t.defineLocale("de",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:e,mm:"%d Minuten",h:e,hh:"%d Stunden",d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("wd/R"))},tLB3:function(t,e,n){var a=n("GoyQ"),r=n("/9aa"),o=/^\s+|\s+$/g,i=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,c=/^0o[0-7]+$/i,l=parseInt;t.exports=function(t){if("number"==typeof t)return t;if(r(t))return NaN;if(a(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=a(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(o,"");var n=s.test(t);return n||c.test(t)?l(t.slice(2),n?2:8):i.test(t)?NaN:+t}},tMB7:function(t,e,n){var a=n("y1pI");t.exports=function(t){var e=this.__data__,n=a(e,t);return n<0?void 0:e[n][1]}},tT3J:function(t,e,n){!function(t){"use strict";t.defineLocale("tzm-latn",{months:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),monthsShort:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),weekdays:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),weekdaysShort:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),weekdaysMin:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[asdkh g] LT",nextDay:"[aska g] LT",nextWeek:"dddd [g] LT",lastDay:"[assant g] LT",lastWeek:"dddd [g] LT",sameElse:"L"},relativeTime:{future:"dadkh s yan %s",past:"yan %s",s:"imik",ss:"%d imik",m:"minuḍ",mm:"%d minuḍ",h:"saɛa",hh:"%d tassaɛin",d:"ass",dd:"%d ossan",M:"ayowr",MM:"%d iyyirn",y:"asgas",yy:"%d isgasn"},week:{dow:6,doy:12}})}(n("wd/R"))},tUCv:function(t,e,n){!function(t){"use strict";t.defineLocale("jv",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des".split("_"),weekdays:"Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu".split("_"),weekdaysShort:"Min_Sen_Sel_Reb_Kem_Jem_Sep".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sp".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/enjing|siyang|sonten|ndalu/,meridiemHour:function(t,e){return 12===t&&(t=0),"enjing"===e?t:"siyang"===e?t>=11?t:t+12:"sonten"===e||"ndalu"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"enjing":t<15?"siyang":t<19?"sonten":"ndalu"},calendar:{sameDay:"[Dinten puniko pukul] LT",nextDay:"[Mbenjang pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kala wingi pukul] LT",lastWeek:"dddd [kepengker pukul] LT",sameElse:"L"},relativeTime:{future:"wonten ing %s",past:"%s ingkang kepengker",s:"sawetawis detik",ss:"%d detik",m:"setunggal menit",mm:"%d menit",h:"setunggal jam",hh:"%d jam",d:"sedinten",dd:"%d dinten",M:"sewulan",MM:"%d wulan",y:"setaun",yy:"%d taun"},week:{dow:1,doy:7}})}(n("wd/R"))},tadb:function(t,e,n){var a=n("Cwc5")(n("Kz5y"),"DataView");t.exports=a},tiKp:function(t,e,n){var a=n("2oRo"),r=n("VpIT"),o=n("UTVS"),i=n("kOOl"),s=n("STAE"),c=n("/b8u"),l=r("wks"),d=a.Symbol,u=c?d:d&&d.withoutSetter||i;t.exports=function(t){return o(l,t)||(l[t]=s&&o(d,t)?d[t]:u("Symbol."+t)),l[t]}},tycR:function(t,e,n){var a=n("A2ZE"),r=n("RK3t"),o=n("ewvW"),i=n("UMSQ"),s=n("ZfDv"),c=[].push,l=function(t){var e=1==t,n=2==t,l=3==t,d=4==t,u=6==t,g=5==t||u;return function(f,p,m,h){for(var b,_,y=o(f),O=r(y),v=a(p,m,3),C=i(O.length),P=0,M=h||s,x=e?M(f,C):n?M(f,0):void 0;C>P;P++)if((g||P in O)&&(_=v(b=O[P],P,y),t))if(e)x[P]=_;else if(_)switch(t){case 3:return!0;case 5:return b;case 6:return P;case 2:c.call(x,b)}else if(d)return!1;return u?-1:l||d?d:x}};t.exports={forEach:l(0),map:l(1),filter:l(2),some:l(3),every:l(4),find:l(5),findIndex:l(6)}},u3GI:function(t,e,n){!function(t){"use strict";function e(t,e,n,a){var r={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[t+" Tage",t+" Tagen"],M:["ein Monat","einem Monat"],MM:[t+" Monate",t+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[t+" Jahre",t+" Jahren"]};return e?r[n][0]:r[n][1]}t.defineLocale("de-ch",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:e,mm:"%d Minuten",h:e,hh:"%d Stunden",d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("wd/R"))},u8Dt:function(t,e,n){var a=n("YESw"),r=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;if(a){var n=e[t];return"__lodash_hash_undefined__"===n?void 0:n}return r.call(e,t)?e[t]:void 0}},uEye:function(t,e,n){!function(t){"use strict";t.defineLocale("nn",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),weekdaysShort:"sun_mån_tys_ons_tor_fre_lau".split("_"),weekdaysMin:"su_må_ty_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[I dag klokka] LT",nextDay:"[I morgon klokka] LT",nextWeek:"dddd [klokka] LT",lastDay:"[I går klokka] LT",lastWeek:"[Føregåande] dddd [klokka] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s sidan",s:"nokre sekund",ss:"%d sekund",m:"eit minutt",mm:"%d minutt",h:"ein time",hh:"%d timar",d:"ein dag",dd:"%d dagar",M:"ein månad",MM:"%d månader",y:"eit år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("wd/R"))},uIqm:function(t,e,n){"use strict";var a=n("8Y7J"),r=n("y9jh"),o=n("5tze"),i=n("LvDl"),s=n("PqYM"),c=n("HDdC"),l=n("oxzT"),d=n("x38r");class u{constructor(t){this.errorConfig={resetData:!0,displayError:!0},this.error=t}}var g=n("vCyI");n.d(e,"a",(function(){return f}));class f{constructor(t,e){this.ngZone=t,this.cdRef=e,this.columnMode="flex",this.onlyActionHeader=!1,this.toolHeader=!0,this.searchField=!0,this.header=!0,this.footer=!0,this.limit=10,this.autoReload=5e3,this.identifier="id",this.forceIdentifier=!1,this.selectionType=void 0,this.updateSelectionOnRefresh="onChange",this.autoSave=!0,this.searchableObjects=!1,this.extraFilterableColumns=[],this.fetchData=new a.EventEmitter,this.updateSelection=new a.EventEmitter,this.columnFiltersChanged=new a.EventEmitter,this.selection=new g.a,this.icons=l.a,this.cellTemplates={},this.search="",this.rows=[],this.loadingIndicator=!0,this.loadingError=!1,this.paginationClasses={pagerLeftArrow:l.a.leftArrowDouble,pagerRightArrow:l.a.rightArrowDouble,pagerPrevious:l.a.leftArrow,pagerNext:l.a.rightArrow},this.userConfig={},this.localStorage=window.localStorage,this.updating=!1,this.columnFilters=[]}get columnFiltered(){return i.some(this.columnFilters,t=>void 0!==t.value)}static prepareSearch(t){return(t=t.toLowerCase().replace(/,/g,"")).match(/['"][^'"]+['"]/)&&(t=t.replace(/['"][^'"]+['"]/g,t=>t.replace(/(['"])([^'"]+)(['"])/g,"$2").replace(/ /g,"+"))),t.split(" ").filter(t=>t)}ngOnInit(){if(this.table.element.addEventListener("mouseenter",t=>t.stopPropagation(),!0),this._addTemplates(),!this.sorts){const t=-1!==i.findIndex(this.columns,["prop",this.identifier]);this.sorts=this.createSortingDefinition(t?this.identifier:this.columns[0].prop+""),t||this.forceIdentifier||(this.identifier=this.columns[0].prop+"")}this.initUserConfig(),this.columns.forEach(t=>{t.cellTransformation&&(t.cellTemplate=this.cellTemplates[t.cellTransformation]),t.flexGrow||(t.flexGrow=t.prop+""===this.identifier?1:2),t.resizeable||(t.resizeable=!1)}),this.initCheckboxColumn(),this.filterHiddenColumns(),this.initColumnFilters(),this.updateColumnFilterOptions(),this.fetchData.observers.length>0&&(this.loadingIndicator=!0),i.isInteger(this.autoReload)&&this.autoReload>0?this.ngZone.runOutsideAngular(()=>{this.reloadSubscriber=Object(s.a)(0,this.autoReload).subscribe(()=>{this.ngZone.run(()=>this.reloadData())})}):this.reloadData()}initUserConfig(){this.autoSave&&(this.tableName=this._calculateUniqueTableName(this.columns),this._loadUserConfig(),this._initUserConfigAutoSave()),this.userConfig.limit||(this.userConfig.limit=this.limit),this.userConfig.sorts||(this.userConfig.sorts=this.sorts),this.userConfig.columns?this.columns.forEach((t,e)=>{t.isHidden=this.userConfig.columns[e].isHidden}):this.updateUserColumns()}_calculateUniqueTableName(t){const e=t=>{if(!i.isString(t))return 0;let e=0;for(let n=0;n<t.length;n++)e+=t.charCodeAt(n)*n;return e};return t.reduce((t,n,a)=>(e(n.prop)+e(n.name))*(a+1)+t,0).toString()}_loadUserConfig(){const t=this.localStorage.getItem(this.tableName);t&&(this.userConfig=JSON.parse(t))}_initUserConfigAutoSave(){const t=c.a.create(this._initUserConfigProxy.bind(this));this.saveSubscriber=t.subscribe(this._saveUserConfig.bind(this))}_initUserConfigProxy(t){this.userConfig=new Proxy(this.userConfig,{set:(e,n,a)=>(e[n]=a,t.next(e),!0)})}_saveUserConfig(t){this.localStorage.setItem(this.tableName,JSON.stringify(t))}updateUserColumns(){this.userConfig.columns=this.columns.map(t=>({prop:t.prop,name:t.name,isHidden:!!t.isHidden}))}initCheckboxColumn(){"multiClick"===this.selectionType&&this.columns.unshift({prop:void 0,resizeable:!1,sortable:!1,draggable:!1,checkboxable:!0,canAutoResize:!1,cellClass:"cd-datatable-checkbox",width:30})}filterHiddenColumns(){this.tableColumns=this.columns.filter(t=>!t.isHidden)}initColumnFilters(){let t=i.filter(this.columns,{filterable:!0});t=[...t,...this.extraFilterableColumns],this.columnFilters=t.map(t=>({column:t,options:[],value:t.filterInitValue?this.createColumnFilterOption(t.filterInitValue,t.pipe):void 0})),this.selectedFilter=i.first(this.columnFilters)}createColumnFilterOption(t,e){return{raw:i.toString(t),formatted:e?e.transform(t):i.toString(t)}}updateColumnFilterOptions(){this.columnFilters.forEach(t=>{let e=[];if(i.isUndefined(t.column.filterOptions)){const n=i.filter(i.map(this.data,t.column.prop),t=>i.isString(t)&&""!==t||i.isBoolean(t)||i.isFinite(t)||i.isDate(t));e=i.sortedUniq(n.sort())}else e=t.column.filterOptions;const n=e.map(e=>this.createColumnFilterOption(e,t.column.pipe));t.value&&i.isUndefined(i.find(n,{raw:t.value.raw}))&&(t.value=void 0),t.options=n})}onSelectFilter(t){this.selectedFilter=t}onChangeFilter(t,e){t.value=i.isEqual(t.value,e)?void 0:e,this.updateFilter()}doColumnFiltering(){const t=[];let e=[...this.data],n=[];return this.columnFilters.forEach(a=>{if(void 0===a.value)return;t.push({name:a.column.name,prop:a.column.prop,value:a.value});const r=i.partition(e,t=>{const e=Object(o.getterForProp)(a.column.prop)(t,a.column.prop);return i.isUndefined(a.column.filterPredicate)?`${e}`===a.value.raw:a.column.filterPredicate(t,a.value.raw)});e=r[0],n=[...n,...r[1]]}),this.columnFiltersChanged.emit({filters:t,data:e,dataOut:n}),i.forEach(this.selection.selected,t=>{void 0===i.find(e,{[this.identifier]:t[this.identifier]})&&(this.selection=new g.a,this.onSelect(this.selection))}),e}ngOnDestroy(){this.reloadSubscriber&&this.reloadSubscriber.unsubscribe(),this.saveSubscriber&&this.saveSubscriber.unsubscribe()}ngAfterContentChecked(){this.table&&this.table.element.clientWidth!==this.currentWidth&&(this.currentWidth=this.table.element.clientWidth,this.table.recalculate(),i.get(this.table,"cd").markForCheck())}_addTemplates(){this.cellTemplates.bold=this.tableCellBoldTpl,this.cellTemplates.checkIcon=this.checkIconTpl,this.cellTemplates.sparkline=this.sparklineTpl,this.cellTemplates.routerLink=this.routerLinkTpl,this.cellTemplates.perSecond=this.perSecondTpl,this.cellTemplates.executing=this.executingTpl,this.cellTemplates.classAdding=this.classAddingTpl,this.cellTemplates.badge=this.badgeTpl,this.cellTemplates.map=this.mapTpl}useCustomClass(t){if(!this.customCss)throw new Error("Custom classes are not set!");const e=Object.keys(this.customCss),n=Object.values(this.customCss).map((n,a)=>(i.isFunction(n)&&n(t)||n===t)&&e[a]).filter(t=>t).join(" ");return i.isEmpty(n)?void 0:n}ngOnChanges(){this.useData()}setLimit(t){const e=parseInt(t.target.value,10);e>0&&(this.userConfig.limit=e)}reloadData(){if(!this.updating){this.loadingError=!1;const t=new u(()=>{this.loadingError=t.errorConfig.displayError,t.errorConfig.resetData&&(this.data=[]),this.useData()});this.fetchData.emit(t),this.updating=!0}}refreshBtn(){this.loadingIndicator=!0,this.reloadData()}rowIdentity(){return t=>{const e=t[this.identifier];if(i.isUndefined(e))throw new Error(`Wrong identifier "${this.identifier}" -> "${e}"`);return e}}useData(){this.data&&(this.updateColumnFilterOptions(),this.updateFilter(),this.reset(),this.updateSelected())}reset(){this.loadingIndicator=!1,this.updating=!1}updateSelected(){if("never"===this.updateSelectionOnRefresh)return;const t=[];this.selection.selected.forEach(e=>{for(const n of this.data)e[this.identifier]===n[this.identifier]&&t.push(n)}),"onChange"===this.updateSelectionOnRefresh&&i.isEqual(this.selection.selected,t)||(this.selection.selected=t,this.onSelect(this.selection))}onSelect(t){this.selection.selected=t.selected,this.updateSelection.emit(i.clone(this.selection))}toggleColumn(t){const e=t.target.name,n=!t.target.checked;n&&1===this.tableColumns.length?t.target.checked=!0:(i.find(this.columns,t=>t.prop===e).isHidden=n,this.updateColumns())}updateColumns(){this.updateUserColumns(),this.filterHiddenColumns();const t=this.userConfig.sorts[0].prop;i.find(this.tableColumns,e=>e.prop===t)||(this.userConfig.sorts=this.createSortingDefinition(this.tableColumns[0].prop)),this.table.recalculate(),this.cdRef.detectChanges()}createSortingDefinition(t){return[{prop:t,dir:r.SortDirection.asc}]}changeSorting({sorts:t}){this.userConfig.sorts=t}onClearSearch(){this.search="",this.updateFilter()}onClearFilters(){this.columnFilters.forEach(t=>{t.value=void 0}),this.selectedFilter=i.first(this.columnFilters),this.updateFilter()}updateFilter(){let t=0!==this.columnFilters.length?this.doColumnFiltering():this.data;if(this.search.length>0){const e=this.columns.filter(t=>t.cellTransformation!==d.a.sparkline);t=this.subSearch(t,f.prepareSearch(this.search),e),this.table.offset=0}this.rows=t}subSearch(t,e,n){if(0===e.length||0===t.length)return t;const a=e.pop().replace(/\+/g," ").split(":"),r=[...n];return 2===a.length&&(n=r.filter(t=>-1!==t.name.toLowerCase().indexOf(a[0]))),t=this.basicDataSearch(i.last(a),t,n),this.subSearch(t,e,r)}basicDataSearch(t,e,n){return 0===t.length?e:e.filter(e=>n.filter(n=>{let a=i.get(e,n.prop);if(i.isUndefined(n.pipe)||(a=n.pipe.transform(a)),i.isUndefined(a)||i.isNull(a))return!1;if(i.isArray(a)?a=a.join(" "):(i.isNumber(a)||i.isBoolean(a))&&(a=a.toString()),i.isObjectLike(a)){if(!this.searchableObjects)return!1;a=JSON.stringify(a)}return-1!==a.toLowerCase().indexOf(t)}).length>0)}getRowClass(){return()=>({clickable:!i.isUndefined(this.selectionType)})}}},uKs4:function(t,e,n){var a=n("mrSG").__decorate,r=n("mrSG").__metadata;Object.defineProperty(e,"__esModule",{value:!0});var o=n("8Y7J");e.VisibilityDirective=function(){function t(t,e){this.element=t,this.zone=e,this.isVisible=!1,this.visible=new o.EventEmitter}return t.prototype.ngOnInit=function(){this.runCheck()},t.prototype.ngOnDestroy=function(){clearTimeout(this.timeout)},t.prototype.onVisibilityChange=function(){var t=this;this.zone.run((function(){t.isVisible=!0,t.visible.emit(!0)}))},t.prototype.runCheck=function(){var t=this,e=function(){var n=t.element.nativeElement;n.offsetHeight&&n.offsetWidth?(clearTimeout(t.timeout),t.onVisibilityChange()):(clearTimeout(t.timeout),t.zone.runOutsideAngular((function(){t.timeout=setTimeout((function(){return e()}),50)})))};this.timeout=setTimeout((function(){return e()}))},a([o.HostBinding("class.visible"),r("design:type",Boolean)],t.prototype,"isVisible",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"visible",void 0),a([o.Directive({selector:"[visibilityObserver]"})],t)}()},uNpg:function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var a=n("8Y7J"),r=n("f95s"),o=function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},i=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},s=function(){function t(){}return o([Object(a.Input)(),i("design:type",r.a)],t.prototype,"node",void 0),o([Object(a.Component)({selector:"tree-node-checkbox",encapsulation:a.ViewEncapsulation.None,styles:[],template:'\n    <ng-container *treeMobxAutorun="{ dontDetach: true }">\n      <input\n        class="tree-node-checkbox"\n        type="checkbox"\n        (click)="node.mouseAction(\'checkboxClick\', $event)"\n        [checked]="node.isSelected"\n        [indeterminate]="node.isPartiallySelected"\n      />\n    </ng-container>\n  '})],t)}()},uXwI:function(t,e,n){!function(t){"use strict";var e={ss:"sekundes_sekundēm_sekunde_sekundes".split("_"),m:"minūtes_minūtēm_minūte_minūtes".split("_"),mm:"minūtes_minūtēm_minūte_minūtes".split("_"),h:"stundas_stundām_stunda_stundas".split("_"),hh:"stundas_stundām_stunda_stundas".split("_"),d:"dienas_dienām_diena_dienas".split("_"),dd:"dienas_dienām_diena_dienas".split("_"),M:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),MM:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),y:"gada_gadiem_gads_gadi".split("_"),yy:"gada_gadiem_gads_gadi".split("_")};function n(t,e,n){return n?e%10==1&&e%100!=11?t[2]:t[3]:e%10==1&&e%100!=11?t[0]:t[1]}function a(t,a,r){return t+" "+n(e[r],t,a)}function r(t,a,r){return n(e[r],t,a)}t.defineLocale("lv",{months:"janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris".split("_"),monthsShort:"jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec".split("_"),weekdays:"svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena".split("_"),weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY.",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, HH:mm",LLLL:"YYYY. [gada] D. MMMM, dddd, HH:mm"},calendar:{sameDay:"[Šodien pulksten] LT",nextDay:"[Rīt pulksten] LT",nextWeek:"dddd [pulksten] LT",lastDay:"[Vakar pulksten] LT",lastWeek:"[Pagājušā] dddd [pulksten] LT",sameElse:"L"},relativeTime:{future:"pēc %s",past:"pirms %s",s:function(t,e){return e?"dažas sekundes":"dažām sekundēm"},ss:a,m:r,mm:a,h:r,hh:a,d:r,dd:a,M:r,MM:a,y:r,yy:a},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("wd/R"))},uYzU:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{constructor(){}transform(t){switch(t){case"user:rbd":return"user:rbd (tcmu-runner)";default:return t}}}},ufoC:function(t,e,n){"use strict";var a=function(t){return t.auth="Login",t.cephfs="CephFS",t.rbd="RBD",t.pool="Pool",t.osd="OSD",t.role="Role",t.user="User",t}({}),r=n("jVDg"),o=n("8Y7J"),i=n("GiVz");n.d(e,"a",(function(){return l}));class s{constructor(t,e,n){this.running=t,this.failure=e,this.success=n}}class c{failure(t){return this.i18n("Failed to {{failure}} {{metadata}}",{failure:this.operation.failure,metadata:this.involves(t)})}running(t){return`${this.operation.running} ${this.involves(t)}`}success(t){return`${this.operation.success} ${this.involves(t)}`}constructor(t,e,n,a){this.i18n=t,this.operation=e,this.involves=n,this.errors=a||(()=>({}))}}let l=(()=>{class t{constructor(t){this.i18n=t,this.defaultMessage=this.newTaskMessage(new s(this.i18n("Executing"),this.i18n("execute"),this.i18n("Executed")),t=>t&&(a[t.component]||t.component)||this.i18n("unknown task"),()=>({})),this.commonOperations={create:new s(this.i18n("Creating"),this.i18n("create"),this.i18n("Created")),update:new s(this.i18n("Updating"),this.i18n("update"),this.i18n("Updated")),delete:new s(this.i18n("Deleting"),this.i18n("delete"),this.i18n("Deleted")),add:new s(this.i18n("Adding"),this.i18n("add"),this.i18n("Added")),remove:new s(this.i18n("Removing"),this.i18n("remove"),this.i18n("Removed")),import:new s(this.i18n("Importing"),this.i18n("import"),this.i18n("Imported"))},this.rbd={default:t=>this.i18n("RBD '{{id}}'",{id:`${t.image_spec}`}),create:t=>{const e=new r.a(t.pool_name,t.namespace,t.image_name).toString();return this.i18n("RBD '{{id}}'",{id:e})},child:t=>{const e=new r.a(t.child_pool_name,t.child_namespace,t.child_image_name).toString();return this.i18n("RBD '{{id}}'",{id:e})},destination:t=>{const e=new r.a(t.dest_pool_name,t.dest_namespace,t.dest_image_name).toString();return this.i18n("RBD '{{id}}'",{id:e})},snapshot:t=>this.i18n("RBD snapshot '{{id}}'",{id:`${t.image_spec}@${t.snapshot_name}`})},this.rbd_mirroring={site_name:()=>this.i18n("mirroring site name"),bootstrap:()=>this.i18n("bootstrap token"),pool:t=>this.i18n("mirror mode for pool '{{id}}'",{id:`${t.pool_name}`}),pool_peer:t=>this.i18n("mirror peer for pool '{{id}}'",{id:`${t.pool_name}`})},this.grafana={update_dashboards:()=>this.i18n("all dashboards")},this.messages={"host/create":this.newTaskMessage(this.commonOperations.create,t=>this.host(t)),"host/delete":this.newTaskMessage(this.commonOperations.delete,t=>this.host(t)),"osd/create":this.newTaskMessage(this.commonOperations.create,t=>this.i18n("OSDs (DriveGroups: {{tracking_id}})",{tracking_id:t.tracking_id})),"osd/delete":this.newTaskMessage(this.commonOperations.delete,t=>this.osd(t)),"pool/create":this.newTaskMessage(this.commonOperations.create,t=>this.pool(t),t=>({17:this.i18n("Name is already used by {{pool_name}}.",{pool_name:this.pool(t)})})),"pool/edit":this.newTaskMessage(this.commonOperations.update,t=>this.pool(t),t=>({17:this.i18n("Name is already used by {{pool_name}}.",{pool_name:this.pool(t)})})),"pool/delete":this.newTaskMessage(this.commonOperations.delete,t=>this.pool(t)),"ecp/create":this.newTaskMessage(this.commonOperations.create,t=>this.ecp(t),t=>({17:this.i18n("Name is already used by {{name}}.",{name:this.ecp(t)})})),"ecp/delete":this.newTaskMessage(this.commonOperations.delete,t=>this.ecp(t)),"crushRule/create":this.newTaskMessage(this.commonOperations.create,t=>this.crushRule(t),t=>({17:this.i18n("Name is already used by {{name}}.",{name:this.crushRule(t)})})),"crushRule/delete":this.newTaskMessage(this.commonOperations.delete,t=>this.crushRule(t)),"rbd/create":this.newTaskMessage(this.commonOperations.create,this.rbd.create,t=>({17:this.i18n("Name is already used by {{rbd_name}}.",{rbd_name:this.rbd.create(t)})})),"rbd/edit":this.newTaskMessage(this.commonOperations.update,this.rbd.default,t=>({17:this.i18n("Name is already used by {{rbd_name}}.",{rbd_name:this.rbd.default(t)})})),"rbd/delete":this.newTaskMessage(this.commonOperations.delete,this.rbd.default,t=>({16:this.i18n("{{rbd_name}} is busy.",{rbd_name:this.rbd.default(t)}),39:this.i18n("{{rbd_name}} contains snapshots.",{rbd_name:this.rbd.default(t)})})),"rbd/clone":this.newTaskMessage(new s(this.i18n("Cloning"),this.i18n("clone"),this.i18n("Cloned")),this.rbd.child,t=>({17:this.i18n("Name is already used by {{rbd_name}}.",{rbd_name:this.rbd.child(t)}),22:this.i18n("Snapshot of {{rbd_name}} must be protected.",{rbd_name:this.rbd.child(t)})})),"rbd/copy":this.newTaskMessage(new s(this.i18n("Copying"),this.i18n("copy"),this.i18n("Copied")),this.rbd.destination,t=>({17:this.i18n("Name is already used by {{rbd_name}}.",{rbd_name:this.rbd.destination(t)})})),"rbd/flatten":this.newTaskMessage(new s(this.i18n("Flattening"),this.i18n("flatten"),this.i18n("Flattened")),this.rbd.default),"rbd/snap/create":this.newTaskMessage(this.commonOperations.create,this.rbd.snapshot,t=>({17:this.i18n("Name is already used by {{snap_name}}.",{snap_name:this.rbd.snapshot(t)})})),"rbd/snap/edit":this.newTaskMessage(this.commonOperations.update,this.rbd.snapshot,t=>({16:this.i18n("Cannot unprotect {{snap_name}} because it contains child images.",{snap_name:this.rbd.snapshot(t)})})),"rbd/snap/delete":this.newTaskMessage(this.commonOperations.delete,this.rbd.snapshot,t=>({16:this.i18n("Cannot delete {{snap_name}} because it's protected.",{snap_name:this.rbd.snapshot(t)})})),"rbd/snap/rollback":this.newTaskMessage(new s(this.i18n("Rolling back"),this.i18n("rollback"),this.i18n("Rolled back")),this.rbd.snapshot),"rbd/trash/move":this.newTaskMessage(new s(this.i18n("Moving"),this.i18n("move"),this.i18n("Moved")),t=>this.i18n("image '{{id}}' to trash",{id:t.image_spec}),()=>({2:this.i18n("Could not find image.")})),"rbd/trash/restore":this.newTaskMessage(new s(this.i18n("Restoring"),this.i18n("restore"),this.i18n("Restored")),t=>this.i18n("image '{{id}}' into '{{new_id}}'",{id:t.image_id_spec,new_id:t.new_image_name}),t=>({17:this.i18n("Image name '{{id}}' is already in use.",{id:t.new_image_name})})),"rbd/trash/remove":this.newTaskMessage(new s(this.i18n("Deleting"),this.i18n("delete"),this.i18n("Deleted")),t=>this.i18n("image '{{id}}'",{id:`${t.image_id_spec}`})),"rbd/trash/purge":this.newTaskMessage(new s(this.i18n("Purging"),this.i18n("purge"),this.i18n("Purged")),t=>{let e=this.i18n("all pools");return t.pool_name&&(e=`'${t.pool_name}'`),this.i18n("images from {{message}}",{message:e})}),"rbd/mirroring/site_name/edit":this.newTaskMessage(this.commonOperations.update,this.rbd_mirroring.site_name,()=>({})),"rbd/mirroring/bootstrap/create":this.newTaskMessage(this.commonOperations.create,this.rbd_mirroring.bootstrap,()=>({})),"rbd/mirroring/bootstrap/import":this.newTaskMessage(this.commonOperations.import,this.rbd_mirroring.bootstrap,()=>({})),"rbd/mirroring/pool/edit":this.newTaskMessage(this.commonOperations.update,this.rbd_mirroring.pool,()=>({16:this.i18n("Cannot disable mirroring because it contains a peer.")})),"rbd/mirroring/peer/add":this.newTaskMessage(this.commonOperations.create,this.rbd_mirroring.pool_peer,()=>({})),"rbd/mirroring/peer/edit":this.newTaskMessage(this.commonOperations.update,this.rbd_mirroring.pool_peer,()=>({})),"rbd/mirroring/peer/delete":this.newTaskMessage(this.commonOperations.delete,this.rbd_mirroring.pool_peer,()=>({})),"iscsi/target/create":this.newTaskMessage(this.commonOperations.create,t=>this.iscsiTarget(t)),"iscsi/target/edit":this.newTaskMessage(this.commonOperations.update,t=>this.iscsiTarget(t)),"iscsi/target/delete":this.newTaskMessage(this.commonOperations.delete,t=>this.iscsiTarget(t)),"nfs/create":this.newTaskMessage(this.commonOperations.create,t=>this.nfs(t)),"nfs/edit":this.newTaskMessage(this.commonOperations.update,t=>this.nfs(t)),"nfs/delete":this.newTaskMessage(this.commonOperations.delete,t=>this.nfs(t)),"grafana/dashboards/update":this.newTaskMessage(this.commonOperations.update,this.grafana.update_dashboards,()=>({})),"orchestrator/identify_device":this.newTaskMessage(new s(this.i18n("Identifying"),this.i18n("identify"),this.i18n("Identified")),t=>this.i18n("device '{{device}}' on host '{{hostname}}'",t))}}newTaskMessage(t,e,n){return new c(this.i18n,t,e,n)}host(t){return this.i18n("host '{{hostname}}'",{hostname:t.hostname})}osd(t){return this.i18n("OSD '{{svc_id}}'",{svc_id:t.svc_id})}pool(t){return this.i18n("pool '{{pool_name}}'",{pool_name:t.pool_name})}ecp(t){return this.i18n("erasure code profile '{{name}}'",{name:t.name})}crushRule(t){return this.i18n("crush rule '{{name}}'",{name:t.name})}iscsiTarget(t){return this.i18n("target '{{target_iqn}}'",{target_iqn:t.target_iqn})}nfs(t){return this.i18n("NFS {{nfs_id}}",{nfs_id:`'${t.cluster_id}:${t.export_id?t.export_id:t.path}'`})}_getTaskTitle(t){return t.name&&t.name.startsWith("progress/")?this.newTaskMessage(new s(t.name.replace("progress/",""),"",t.name.replace("progress/","")),t=>""):this.messages[t.name]||this.defaultMessage}getSuccessTitle(t){return this._getTaskTitle(t).success(t.metadata)}getErrorMessage(t){return this._getTaskTitle(t).errors(t.metadata)[t.exception.code]||t.exception.detail}getErrorTitle(t){return this._getTaskTitle(t).failure(t.metadata)}getRunningTitle(t){return this._getTaskTitle(t).running(t.metadata)}getRunningText(t){return this._getTaskTitle(t).operation.running}}return t.ngInjectableDef=o["ɵɵdefineInjectable"]({factory:function(){return new t(o["ɵɵinject"](i.a))},token:t,providedIn:"root"}),t})()},"ut/Y":function(t,e,n){var a=n("ZCpW"),r=n("GDhZ"),o=n("zZ0H"),i=n("Z0cm"),s=n("+c4W");t.exports=function(t){return"function"==typeof t?t:null==t?o:"object"==typeof t?i(t)?r(t[0],t[1]):a(t):s(t)}},uy83:function(t,e,n){var a=n("0Dky");t.exports=!a((function(){return Object.isExtensible(Object.preventExtensions({}))}))},uyHG:function(t,e){var n,a=/^\[object .+?Constructor\]$/,r="object"==typeof global&&global&&global.Object===Object&&global,o="object"==typeof self&&self&&self.Object===Object&&self,i=r||o||Function("return this")(),s=Array.prototype,c=Function.prototype,l=Object.prototype,d=i["__core-js_shared__"],u=(n=/[^.]+$/.exec(d&&d.keys&&d.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",g=c.toString,f=l.hasOwnProperty,p=l.toString,m=RegExp("^"+g.call(f).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),h=s.splice,b=M(i,"Map"),_=M(Object,"create");function y(t){var e=-1,n=t?t.length:0;for(this.clear();++e<n;){var a=t[e];this.set(a[0],a[1])}}function O(t){var e=-1,n=t?t.length:0;for(this.clear();++e<n;){var a=t[e];this.set(a[0],a[1])}}function v(t){var e=-1,n=t?t.length:0;for(this.clear();++e<n;){var a=t[e];this.set(a[0],a[1])}}function C(t,e){for(var n,a,r=t.length;r--;)if((n=t[r][0])===(a=e)||n!=n&&a!=a)return r;return-1}function P(t,e){var n,a,r=t.__data__;return("string"==(a=typeof(n=e))||"number"==a||"symbol"==a||"boolean"==a?"__proto__"!==n:null===n)?r["string"==typeof e?"string":"hash"]:r.map}function M(t,e){var n=function(t,e){return null==t?void 0:t[e]}(t,e);return function(t){return!(!w(t)||(e=t,u&&u in e))&&(function(t){var e=w(t)?p.call(t):"";return"[object Function]"==e||"[object GeneratorFunction]"==e}(t)||function(t){var e=!1;if(null!=t&&"function"!=typeof t.toString)try{e=!!(t+"")}catch(n){}return e}(t)?m:a).test(function(t){if(null!=t){try{return g.call(t)}catch(e){}try{return t+""}catch(e){}}return""}(t));var e}(n)?n:void 0}function x(t,e){if("function"!=typeof t||e&&"function"!=typeof e)throw new TypeError("Expected a function");var n=function(){var a=arguments,r=e?e.apply(this,a):a[0],o=n.cache;if(o.has(r))return o.get(r);var i=t.apply(this,a);return n.cache=o.set(r,i),i};return n.cache=new(x.Cache||v),n}function w(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}y.prototype.clear=function(){this.__data__=_?_(null):{}},y.prototype.delete=function(t){return this.has(t)&&delete this.__data__[t]},y.prototype.get=function(t){var e=this.__data__;if(_){var n=e[t];return"__lodash_hash_undefined__"===n?void 0:n}return f.call(e,t)?e[t]:void 0},y.prototype.has=function(t){var e=this.__data__;return _?void 0!==e[t]:f.call(e,t)},y.prototype.set=function(t,e){return this.__data__[t]=_&&void 0===e?"__lodash_hash_undefined__":e,this},O.prototype.clear=function(){this.__data__=[]},O.prototype.delete=function(t){var e=this.__data__,n=C(e,t);return!(n<0||(n==e.length-1?e.pop():h.call(e,n,1),0))},O.prototype.get=function(t){var e=this.__data__,n=C(e,t);return n<0?void 0:e[n][1]},O.prototype.has=function(t){return C(this.__data__,t)>-1},O.prototype.set=function(t,e){var n=this.__data__,a=C(n,t);return a<0?n.push([t,e]):n[a][1]=e,this},v.prototype.clear=function(){this.__data__={hash:new y,map:new(b||O),string:new y}},v.prototype.delete=function(t){return P(this,t).delete(t)},v.prototype.get=function(t){return P(this,t).get(t)},v.prototype.has=function(t){return P(this,t).has(t)},v.prototype.set=function(t,e){return P(this,t).set(t,e),this},x.Cache=v,t.exports=x},vCyI:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{constructor(t){this._selected=[],t&&(this._selected=t),this.update()}update(){this.hasSelection=this._selected.length>0,this.hasSingleSelection=1===this._selected.length,this.hasMultiSelection=this._selected.length>1}set selected(t){this._selected=t,this.update()}get selected(){return this._selected}add(t){this._selected.push(t),this.update()}first(){return this.hasSelection?this._selected[0]:null}}},vkgz:function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var a=n("7o/Q"),r=n("KqfI"),o=n("n6bG");function i(t,e,n){return function(a){return a.lift(new s(t,e,n))}}class s{constructor(t,e,n){this.nextOrObserver=t,this.error=e,this.complete=n}call(t,e){return e.subscribe(new c(t,this.nextOrObserver,this.error,this.complete))}}class c extends a.a{constructor(t,e,n,a){super(t),this._tapNext=r.a,this._tapError=r.a,this._tapComplete=r.a,this._tapError=n||r.a,this._tapComplete=a||r.a,Object(o.a)(e)?(this._context=this,this._tapNext=e):e&&(this._context=e,this._tapNext=e.next||r.a,this._tapError=e.error||r.a,this._tapComplete=e.complete||r.a)}_next(t){try{this._tapNext.call(this._context,t)}catch(e){return void this.destination.error(e)}this.destination.next(t)}_error(t){try{this._tapError.call(this._context,t)}catch(t){return void this.destination.error(t)}this.destination.error(t)}_complete(){try{this._tapComplete.call(this._context)}catch(t){return void this.destination.error(t)}return this.destination.complete()}}},vxfy:function(t,e,n){var a=n("mrSG").__decorate;Object.defineProperty(e,"__esModule",{value:!0});var r=n("8Y7J");e.DataTableFooterTemplateDirective=function(){return a([r.Directive({selector:"[ngx-datatable-footer-template]"})],(function(t){this.template=t}))}()},"w/wX":function(t,e,n){var a=n("QqLw"),r=n("ExA7");t.exports=function(t){return r(t)&&"[object Set]"==a(t)}},w1tV:function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var a=n("oB13"),r=n("x+ZX"),o=n("XNiG");function i(){return new o.a}function s(){return t=>Object(r.a)()(Object(a.a)(i)(t))}},wE6v:function(t,e,n){var a=n("hh1v");t.exports=function(t,e){if(!a(t))return t;var n,r;if(e&&"function"==typeof(n=t.toString)&&!a(r=n.call(t)))return r;if("function"==typeof(n=t.valueOf)&&!a(r=n.call(t)))return r;if(!e&&"function"==typeof(n=t.toString)&&!a(r=n.call(t)))return r;throw TypeError("Can't convert object to primitive value")}},"wF/u":function(t,e,n){var a=n("e5cp"),r=n("ExA7");t.exports=function t(e,n,o,i,s){return e===n||(null==e||null==n||!r(e)&&!r(n)?e!=e&&n!=n:a(e,n,o,i,t,s))}},wJg7:function(t,e){var n=/^(?:0|[1-9]\d*)$/;t.exports=function(t,e){var a=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==a||"symbol"!=a&&n.test(t))&&t>-1&&t%1==0&&t<e}},wQk9:function(t,e,n){!function(t){"use strict";t.defineLocale("tzm",{months:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),monthsShort:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),weekdays:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),weekdaysShort:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),weekdaysMin:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[ⴰⵙⴷⵅ ⴴ] LT",nextDay:"[ⴰⵙⴽⴰ ⴴ] LT",nextWeek:"dddd [ⴴ] LT",lastDay:"[ⴰⵚⴰⵏⵜ ⴴ] LT",lastWeek:"dddd [ⴴ] LT",sameElse:"L"},relativeTime:{future:"ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s",past:"ⵢⴰⵏ %s",s:"ⵉⵎⵉⴽ",ss:"%d ⵉⵎⵉⴽ",m:"ⵎⵉⵏⵓⴺ",mm:"%d ⵎⵉⵏⵓⴺ",h:"ⵙⴰⵄⴰ",hh:"%d ⵜⴰⵙⵙⴰⵄⵉⵏ",d:"ⴰⵙⵙ",dd:"%d oⵙⵙⴰⵏ",M:"ⴰⵢoⵓⵔ",MM:"%d ⵉⵢⵢⵉⵔⵏ",y:"ⴰⵙⴳⴰⵙ",yy:"%d ⵉⵙⴳⴰⵙⵏ"},week:{dow:6,doy:12}})}(n("wd/R"))},wclG:function(t,e,n){var a=n("pFRH"),r=n("88Gu")(a);t.exports=r},"wd/R":function(t,e,n){(function(t){t.exports=function(){"use strict";var e,a;function r(){return e.apply(null,arguments)}function o(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function i(t){return null!=t&&"[object Object]"===Object.prototype.toString.call(t)}function s(t){return void 0===t}function c(t){return"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t)}function l(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function d(t,e){var n,a=[];for(n=0;n<t.length;++n)a.push(e(t[n],n));return a}function u(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function g(t,e){for(var n in e)u(e,n)&&(t[n]=e[n]);return u(e,"toString")&&(t.toString=e.toString),u(e,"valueOf")&&(t.valueOf=e.valueOf),t}function f(t,e,n,a){return Pe(t,e,n,a,!0).utc()}function p(t){return null==t._pf&&(t._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null,rfc2822:!1,weekdayMismatch:!1}),t._pf}function m(t){if(null==t._isValid){var e=p(t),n=a.call(e.parsedDateParts,(function(t){return null!=t})),r=!isNaN(t._d.getTime())&&e.overflow<0&&!e.empty&&!e.invalidMonth&&!e.invalidWeekday&&!e.weekdayMismatch&&!e.nullInput&&!e.invalidFormat&&!e.userInvalidated&&(!e.meridiem||e.meridiem&&n);if(t._strict&&(r=r&&0===e.charsLeftOver&&0===e.unusedTokens.length&&void 0===e.bigHour),null!=Object.isFrozen&&Object.isFrozen(t))return r;t._isValid=r}return t._isValid}function h(t){var e=f(NaN);return null!=t?g(p(e),t):p(e).userInvalidated=!0,e}a=Array.prototype.some?Array.prototype.some:function(t){for(var e=Object(this),n=e.length>>>0,a=0;a<n;a++)if(a in e&&t.call(this,e[a],a,e))return!0;return!1};var b=r.momentProperties=[];function _(t,e){var n,a,r;if(s(e._isAMomentObject)||(t._isAMomentObject=e._isAMomentObject),s(e._i)||(t._i=e._i),s(e._f)||(t._f=e._f),s(e._l)||(t._l=e._l),s(e._strict)||(t._strict=e._strict),s(e._tzm)||(t._tzm=e._tzm),s(e._isUTC)||(t._isUTC=e._isUTC),s(e._offset)||(t._offset=e._offset),s(e._pf)||(t._pf=p(e)),s(e._locale)||(t._locale=e._locale),b.length>0)for(n=0;n<b.length;n++)s(r=e[a=b[n]])||(t[a]=r);return t}var y=!1;function O(t){_(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===y&&(y=!0,r.updateOffset(this),y=!1)}function v(t){return t instanceof O||null!=t&&null!=t._isAMomentObject}function C(t){return t<0?Math.ceil(t)||0:Math.floor(t)}function P(t){var e=+t,n=0;return 0!==e&&isFinite(e)&&(n=C(e)),n}function M(t,e,n){var a,r=Math.min(t.length,e.length),o=Math.abs(t.length-e.length),i=0;for(a=0;a<r;a++)(n&&t[a]!==e[a]||!n&&P(t[a])!==P(e[a]))&&i++;return i+o}function x(t){!1===r.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function w(t,e){var n=!0;return g((function(){if(null!=r.deprecationHandler&&r.deprecationHandler(null,t),n){for(var a,o=[],i=0;i<arguments.length;i++){if(a="","object"==typeof arguments[i]){for(var s in a+="\n["+i+"] ",arguments[0])a+=s+": "+arguments[0][s]+", ";a=a.slice(0,-2)}else a=arguments[i];o.push(a)}x(t+"\nArguments: "+Array.prototype.slice.call(o).join("")+"\n"+(new Error).stack),n=!1}return e.apply(this,arguments)}),e)}var T,k={};function S(t,e){null!=r.deprecationHandler&&r.deprecationHandler(t,e),k[t]||(x(e),k[t]=!0)}function I(t){return t instanceof Function||"[object Function]"===Object.prototype.toString.call(t)}function N(t,e){var n,a=g({},t);for(n in e)u(e,n)&&(i(t[n])&&i(e[n])?(a[n]={},g(a[n],t[n]),g(a[n],e[n])):null!=e[n]?a[n]=e[n]:delete a[n]);for(n in t)u(t,n)&&!u(e,n)&&i(t[n])&&(a[n]=g({},a[n]));return a}function R(t){null!=t&&this.set(t)}r.suppressDeprecationWarnings=!1,r.deprecationHandler=null,T=Object.keys?Object.keys:function(t){var e,n=[];for(e in t)u(t,e)&&n.push(e);return n};var A={};function E(t,e){var n=t.toLowerCase();A[n]=A[n+"s"]=A[e]=t}function D(t){return"string"==typeof t?A[t]||A[t.toLowerCase()]:void 0}function L(t){var e,n,a={};for(n in t)u(t,n)&&(e=D(n))&&(a[e]=t[n]);return a}var q={};function j(t,e){q[t]=e}function F(t,e,n){var a=""+Math.abs(t);return(t>=0?n?"+":"":"-")+Math.pow(10,Math.max(0,e-a.length)).toString().substr(1)+a}var z=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,V=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,G={},Y={};function B(t,e,n,a){var r=a;"string"==typeof a&&(r=function(){return this[a]()}),t&&(Y[t]=r),e&&(Y[e[0]]=function(){return F(r.apply(this,arguments),e[1],e[2])}),n&&(Y[n]=function(){return this.localeData().ordinal(r.apply(this,arguments),t)})}function H(t,e){return t.isValid()?(e=U(e,t.localeData()),G[e]=G[e]||function(t){var e,n,a,r=t.match(z);for(e=0,n=r.length;e<n;e++)r[e]=Y[r[e]]?Y[r[e]]:(a=r[e]).match(/\[[\s\S]/)?a.replace(/^\[|\]$/g,""):a.replace(/\\/g,"");return function(e){var a,o="";for(a=0;a<n;a++)o+=I(r[a])?r[a].call(e,t):r[a];return o}}(e),G[e](t)):t.localeData().invalidDate()}function U(t,e){var n=5;function a(t){return e.longDateFormat(t)||t}for(V.lastIndex=0;n>=0&&V.test(t);)t=t.replace(V,a),V.lastIndex=0,n-=1;return t}var W=/\d/,K=/\d\d/,$=/\d{3}/,Z=/\d{4}/,J=/[+-]?\d{6}/,X=/\d\d?/,Q=/\d\d\d\d?/,tt=/\d\d\d\d\d\d?/,et=/\d{1,3}/,nt=/\d{1,4}/,at=/[+-]?\d{1,6}/,rt=/\d+/,ot=/[+-]?\d+/,it=/Z|[+-]\d\d:?\d\d/gi,st=/Z|[+-]\d\d(?::?\d\d)?/gi,ct=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,lt={};function dt(t,e,n){lt[t]=I(e)?e:function(t,a){return t&&n?n:e}}function ut(t,e){return u(lt,t)?lt[t](e._strict,e._locale):new RegExp(gt(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,(function(t,e,n,a,r){return e||n||a||r}))))}function gt(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var ft={};function pt(t,e){var n,a=e;for("string"==typeof t&&(t=[t]),c(e)&&(a=function(t,n){n[e]=P(t)}),n=0;n<t.length;n++)ft[t[n]]=a}function mt(t,e){pt(t,(function(t,n,a,r){a._w=a._w||{},e(t,a._w,a,r)}))}function ht(t,e,n){null!=e&&u(ft,t)&&ft[t](e,n._a,n,t)}function bt(t){return _t(t)?366:365}function _t(t){return t%4==0&&t%100!=0||t%400==0}B("Y",0,0,(function(){var t=this.year();return t<=9999?""+t:"+"+t})),B(0,["YY",2],0,(function(){return this.year()%100})),B(0,["YYYY",4],0,"year"),B(0,["YYYYY",5],0,"year"),B(0,["YYYYYY",6,!0],0,"year"),E("year","y"),j("year",1),dt("Y",ot),dt("YY",X,K),dt("YYYY",nt,Z),dt("YYYYY",at,J),dt("YYYYYY",at,J),pt(["YYYYY","YYYYYY"],0),pt("YYYY",(function(t,e){e[0]=2===t.length?r.parseTwoDigitYear(t):P(t)})),pt("YY",(function(t,e){e[0]=r.parseTwoDigitYear(t)})),pt("Y",(function(t,e){e[0]=parseInt(t,10)})),r.parseTwoDigitYear=function(t){return P(t)+(P(t)>68?1900:2e3)};var yt,Ot=vt("FullYear",!0);function vt(t,e){return function(n){return null!=n?(Pt(this,t,n),r.updateOffset(this,e),this):Ct(this,t)}}function Ct(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function Pt(t,e,n){t.isValid()&&!isNaN(n)&&("FullYear"===e&&_t(t.year())&&1===t.month()&&29===t.date()?t._d["set"+(t._isUTC?"UTC":"")+e](n,t.month(),Mt(n,t.month())):t._d["set"+(t._isUTC?"UTC":"")+e](n))}function Mt(t,e){if(isNaN(t)||isNaN(e))return NaN;var n=(e%12+12)%12;return t+=(e-n)/12,1===n?_t(t)?29:28:31-n%7%2}yt=Array.prototype.indexOf?Array.prototype.indexOf:function(t){var e;for(e=0;e<this.length;++e)if(this[e]===t)return e;return-1},B("M",["MM",2],"Mo",(function(){return this.month()+1})),B("MMM",0,0,(function(t){return this.localeData().monthsShort(this,t)})),B("MMMM",0,0,(function(t){return this.localeData().months(this,t)})),E("month","M"),j("month",8),dt("M",X),dt("MM",X,K),dt("MMM",(function(t,e){return e.monthsShortRegex(t)})),dt("MMMM",(function(t,e){return e.monthsRegex(t)})),pt(["M","MM"],(function(t,e){e[1]=P(t)-1})),pt(["MMM","MMMM"],(function(t,e,n,a){var r=n._locale.monthsParse(t,a,n._strict);null!=r?e[1]=r:p(n).invalidMonth=t}));var xt=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,wt="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),Tt="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_");function kt(t,e,n){var a,r,o,i=t.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],a=0;a<12;++a)o=f([2e3,a]),this._shortMonthsParse[a]=this.monthsShort(o,"").toLocaleLowerCase(),this._longMonthsParse[a]=this.months(o,"").toLocaleLowerCase();return n?"MMM"===e?-1!==(r=yt.call(this._shortMonthsParse,i))?r:null:-1!==(r=yt.call(this._longMonthsParse,i))?r:null:"MMM"===e?-1!==(r=yt.call(this._shortMonthsParse,i))?r:-1!==(r=yt.call(this._longMonthsParse,i))?r:null:-1!==(r=yt.call(this._longMonthsParse,i))?r:-1!==(r=yt.call(this._shortMonthsParse,i))?r:null}function St(t,e){var n;if(!t.isValid())return t;if("string"==typeof e)if(/^\d+$/.test(e))e=P(e);else if(!c(e=t.localeData().monthsParse(e)))return t;return n=Math.min(t.date(),Mt(t.year(),e)),t._d["set"+(t._isUTC?"UTC":"")+"Month"](e,n),t}function It(t){return null!=t?(St(this,t),r.updateOffset(this,!0),this):Ct(this,"Month")}var Nt=ct,Rt=ct;function At(){function t(t,e){return e.length-t.length}var e,n,a=[],r=[],o=[];for(e=0;e<12;e++)n=f([2e3,e]),a.push(this.monthsShort(n,"")),r.push(this.months(n,"")),o.push(this.months(n,"")),o.push(this.monthsShort(n,""));for(a.sort(t),r.sort(t),o.sort(t),e=0;e<12;e++)a[e]=gt(a[e]),r[e]=gt(r[e]);for(e=0;e<24;e++)o[e]=gt(o[e]);this._monthsRegex=new RegExp("^("+o.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+r.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+a.join("|")+")","i")}function Et(t,e,n,a,r,o,i){var s;return t<100&&t>=0?(s=new Date(t+400,e,n,a,r,o,i),isFinite(s.getFullYear())&&s.setFullYear(t)):s=new Date(t,e,n,a,r,o,i),s}function Dt(t){var e;if(t<100&&t>=0){var n=Array.prototype.slice.call(arguments);n[0]=t+400,e=new Date(Date.UTC.apply(null,n)),isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t)}else e=new Date(Date.UTC.apply(null,arguments));return e}function Lt(t,e,n){var a=7+e-n;return-(7+Dt(t,0,a).getUTCDay()-e)%7+a-1}function qt(t,e,n,a,r){var o,i,s=1+7*(e-1)+(7+n-a)%7+Lt(t,a,r);return s<=0?i=bt(o=t-1)+s:s>bt(t)?(o=t+1,i=s-bt(t)):(o=t,i=s),{year:o,dayOfYear:i}}function jt(t,e,n){var a,r,o=Lt(t.year(),e,n),i=Math.floor((t.dayOfYear()-o-1)/7)+1;return i<1?a=i+Ft(r=t.year()-1,e,n):i>Ft(t.year(),e,n)?(a=i-Ft(t.year(),e,n),r=t.year()+1):(r=t.year(),a=i),{week:a,year:r}}function Ft(t,e,n){var a=Lt(t,e,n),r=Lt(t+1,e,n);return(bt(t)-a+r)/7}function zt(t,e){return t.slice(e,7).concat(t.slice(0,e))}B("w",["ww",2],"wo","week"),B("W",["WW",2],"Wo","isoWeek"),E("week","w"),E("isoWeek","W"),j("week",5),j("isoWeek",5),dt("w",X),dt("ww",X,K),dt("W",X),dt("WW",X,K),mt(["w","ww","W","WW"],(function(t,e,n,a){e[a.substr(0,1)]=P(t)})),B("d",0,"do","day"),B("dd",0,0,(function(t){return this.localeData().weekdaysMin(this,t)})),B("ddd",0,0,(function(t){return this.localeData().weekdaysShort(this,t)})),B("dddd",0,0,(function(t){return this.localeData().weekdays(this,t)})),B("e",0,0,"weekday"),B("E",0,0,"isoWeekday"),E("day","d"),E("weekday","e"),E("isoWeekday","E"),j("day",11),j("weekday",11),j("isoWeekday",11),dt("d",X),dt("e",X),dt("E",X),dt("dd",(function(t,e){return e.weekdaysMinRegex(t)})),dt("ddd",(function(t,e){return e.weekdaysShortRegex(t)})),dt("dddd",(function(t,e){return e.weekdaysRegex(t)})),mt(["dd","ddd","dddd"],(function(t,e,n,a){var r=n._locale.weekdaysParse(t,a,n._strict);null!=r?e.d=r:p(n).invalidWeekday=t})),mt(["d","e","E"],(function(t,e,n,a){e[a]=P(t)}));var Vt="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Gt="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Yt="Su_Mo_Tu_We_Th_Fr_Sa".split("_");function Bt(t,e,n){var a,r,o,i=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],a=0;a<7;++a)o=f([2e3,1]).day(a),this._minWeekdaysParse[a]=this.weekdaysMin(o,"").toLocaleLowerCase(),this._shortWeekdaysParse[a]=this.weekdaysShort(o,"").toLocaleLowerCase(),this._weekdaysParse[a]=this.weekdays(o,"").toLocaleLowerCase();return n?"dddd"===e?-1!==(r=yt.call(this._weekdaysParse,i))?r:null:"ddd"===e?-1!==(r=yt.call(this._shortWeekdaysParse,i))?r:null:-1!==(r=yt.call(this._minWeekdaysParse,i))?r:null:"dddd"===e?-1!==(r=yt.call(this._weekdaysParse,i))?r:-1!==(r=yt.call(this._shortWeekdaysParse,i))?r:-1!==(r=yt.call(this._minWeekdaysParse,i))?r:null:"ddd"===e?-1!==(r=yt.call(this._shortWeekdaysParse,i))?r:-1!==(r=yt.call(this._weekdaysParse,i))?r:-1!==(r=yt.call(this._minWeekdaysParse,i))?r:null:-1!==(r=yt.call(this._minWeekdaysParse,i))?r:-1!==(r=yt.call(this._weekdaysParse,i))?r:-1!==(r=yt.call(this._shortWeekdaysParse,i))?r:null}var Ht=ct,Ut=ct,Wt=ct;function Kt(){function t(t,e){return e.length-t.length}var e,n,a,r,o,i=[],s=[],c=[],l=[];for(e=0;e<7;e++)n=f([2e3,1]).day(e),a=this.weekdaysMin(n,""),r=this.weekdaysShort(n,""),o=this.weekdays(n,""),i.push(a),s.push(r),c.push(o),l.push(a),l.push(r),l.push(o);for(i.sort(t),s.sort(t),c.sort(t),l.sort(t),e=0;e<7;e++)s[e]=gt(s[e]),c[e]=gt(c[e]),l[e]=gt(l[e]);this._weekdaysRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+c.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+s.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+i.join("|")+")","i")}function $t(){return this.hours()%12||12}function Zt(t,e){B(t,0,0,(function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)}))}function Jt(t,e){return e._meridiemParse}B("H",["HH",2],0,"hour"),B("h",["hh",2],0,$t),B("k",["kk",2],0,(function(){return this.hours()||24})),B("hmm",0,0,(function(){return""+$t.apply(this)+F(this.minutes(),2)})),B("hmmss",0,0,(function(){return""+$t.apply(this)+F(this.minutes(),2)+F(this.seconds(),2)})),B("Hmm",0,0,(function(){return""+this.hours()+F(this.minutes(),2)})),B("Hmmss",0,0,(function(){return""+this.hours()+F(this.minutes(),2)+F(this.seconds(),2)})),Zt("a",!0),Zt("A",!1),E("hour","h"),j("hour",13),dt("a",Jt),dt("A",Jt),dt("H",X),dt("h",X),dt("k",X),dt("HH",X,K),dt("hh",X,K),dt("kk",X,K),dt("hmm",Q),dt("hmmss",tt),dt("Hmm",Q),dt("Hmmss",tt),pt(["H","HH"],3),pt(["k","kk"],(function(t,e,n){var a=P(t);e[3]=24===a?0:a})),pt(["a","A"],(function(t,e,n){n._isPm=n._locale.isPM(t),n._meridiem=t})),pt(["h","hh"],(function(t,e,n){e[3]=P(t),p(n).bigHour=!0})),pt("hmm",(function(t,e,n){var a=t.length-2;e[3]=P(t.substr(0,a)),e[4]=P(t.substr(a)),p(n).bigHour=!0})),pt("hmmss",(function(t,e,n){var a=t.length-4,r=t.length-2;e[3]=P(t.substr(0,a)),e[4]=P(t.substr(a,2)),e[5]=P(t.substr(r)),p(n).bigHour=!0})),pt("Hmm",(function(t,e,n){var a=t.length-2;e[3]=P(t.substr(0,a)),e[4]=P(t.substr(a))})),pt("Hmmss",(function(t,e,n){var a=t.length-4,r=t.length-2;e[3]=P(t.substr(0,a)),e[4]=P(t.substr(a,2)),e[5]=P(t.substr(r))}));var Xt,Qt=vt("Hours",!0),te={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:wt,monthsShort:Tt,week:{dow:0,doy:6},weekdays:Vt,weekdaysMin:Yt,weekdaysShort:Gt,meridiemParse:/[ap]\.?m?\.?/i},ee={},ne={};function ae(t){return t?t.toLowerCase().replace("_","-"):t}function re(e){var a=null;if(!ee[e]&&void 0!==t&&t&&t.exports)try{a=Xt._abbr,n("RnhZ")("./"+e),oe(a)}catch(r){}return ee[e]}function oe(t,e){var n;return t&&((n=s(e)?se(t):ie(t,e))?Xt=n:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+t+" not found. Did you forget to load it?")),Xt._abbr}function ie(t,e){if(null!==e){var n,a=te;if(e.abbr=t,null!=ee[t])S("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),a=ee[t]._config;else if(null!=e.parentLocale)if(null!=ee[e.parentLocale])a=ee[e.parentLocale]._config;else{if(null==(n=re(e.parentLocale)))return ne[e.parentLocale]||(ne[e.parentLocale]=[]),ne[e.parentLocale].push({name:t,config:e}),null;a=n._config}return ee[t]=new R(N(a,e)),ne[t]&&ne[t].forEach((function(t){ie(t.name,t.config)})),oe(t),ee[t]}return delete ee[t],null}function se(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Xt;if(!o(t)){if(e=re(t))return e;t=[t]}return function(t){for(var e,n,a,r,o=0;o<t.length;){for(e=(r=ae(t[o]).split("-")).length,n=(n=ae(t[o+1]))?n.split("-"):null;e>0;){if(a=re(r.slice(0,e).join("-")))return a;if(n&&n.length>=e&&M(r,n,!0)>=e-1)break;e--}o++}return Xt}(t)}function ce(t){var e,n=t._a;return n&&-2===p(t).overflow&&(e=n[1]<0||n[1]>11?1:n[2]<1||n[2]>Mt(n[0],n[1])?2:n[3]<0||n[3]>24||24===n[3]&&(0!==n[4]||0!==n[5]||0!==n[6])?3:n[4]<0||n[4]>59?4:n[5]<0||n[5]>59?5:n[6]<0||n[6]>999?6:-1,p(t)._overflowDayOfYear&&(e<0||e>2)&&(e=2),p(t)._overflowWeeks&&-1===e&&(e=7),p(t)._overflowWeekday&&-1===e&&(e=8),p(t).overflow=e),t}function le(t,e,n){return null!=t?t:null!=e?e:n}function de(t){var e,n,a,o,i,s=[];if(!t._d){for(a=function(t){var e=new Date(r.now());return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}(t),t._w&&null==t._a[2]&&null==t._a[1]&&function(t){var e,n,a,r,o,i,s,c;if(null!=(e=t._w).GG||null!=e.W||null!=e.E)o=1,i=4,n=le(e.GG,t._a[0],jt(Me(),1,4).year),a=le(e.W,1),((r=le(e.E,1))<1||r>7)&&(c=!0);else{o=t._locale._week.dow,i=t._locale._week.doy;var l=jt(Me(),o,i);n=le(e.gg,t._a[0],l.year),a=le(e.w,l.week),null!=e.d?((r=e.d)<0||r>6)&&(c=!0):null!=e.e?(r=e.e+o,(e.e<0||e.e>6)&&(c=!0)):r=o}a<1||a>Ft(n,o,i)?p(t)._overflowWeeks=!0:null!=c?p(t)._overflowWeekday=!0:(s=qt(n,a,r,o,i),t._a[0]=s.year,t._dayOfYear=s.dayOfYear)}(t),null!=t._dayOfYear&&(i=le(t._a[0],a[0]),(t._dayOfYear>bt(i)||0===t._dayOfYear)&&(p(t)._overflowDayOfYear=!0),n=Dt(i,0,t._dayOfYear),t._a[1]=n.getUTCMonth(),t._a[2]=n.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=s[e]=a[e];for(;e<7;e++)t._a[e]=s[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[3]&&0===t._a[4]&&0===t._a[5]&&0===t._a[6]&&(t._nextDay=!0,t._a[3]=0),t._d=(t._useUTC?Dt:Et).apply(null,s),o=t._useUTC?t._d.getUTCDay():t._d.getDay(),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[3]=24),t._w&&void 0!==t._w.d&&t._w.d!==o&&(p(t).weekdayMismatch=!0)}}var ue=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,ge=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,fe=/Z|[+-]\d\d(?::?\d\d)?/,pe=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],me=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],he=/^\/?Date\((\-?\d+)/i;function be(t){var e,n,a,r,o,i,s=t._i,c=ue.exec(s)||ge.exec(s);if(c){for(p(t).iso=!0,e=0,n=pe.length;e<n;e++)if(pe[e][1].exec(c[1])){r=pe[e][0],a=!1!==pe[e][2];break}if(null==r)return void(t._isValid=!1);if(c[3]){for(e=0,n=me.length;e<n;e++)if(me[e][1].exec(c[3])){o=(c[2]||" ")+me[e][0];break}if(null==o)return void(t._isValid=!1)}if(!a&&null!=o)return void(t._isValid=!1);if(c[4]){if(!fe.exec(c[4]))return void(t._isValid=!1);i="Z"}t._f=r+(o||"")+(i||""),ve(t)}else t._isValid=!1}var _e=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,ye={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function Oe(t){var e,n,a,r,o,i,s,c,l=_e.exec(t._i.replace(/\([^)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,""));if(l){var d=(e=l[3],n=l[2],a=l[5],r=l[6],o=l[7],i=[(s=l[4],c=parseInt(s,10),c<=49?2e3+c:c<=999?1900+c:c),Tt.indexOf(e),parseInt(n,10),parseInt(a,10),parseInt(r,10)],o&&i.push(parseInt(o,10)),i);if(!function(t,e,n){return!t||Gt.indexOf(t)===new Date(e[0],e[1],e[2]).getDay()||(p(n).weekdayMismatch=!0,n._isValid=!1,!1)}(l[1],d,t))return;t._a=d,t._tzm=function(t,e,n){if(t)return ye[t];if(e)return 0;var a=parseInt(n,10),r=a%100;return(a-r)/100*60+r}(l[8],l[9],l[10]),t._d=Dt.apply(null,t._a),t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),p(t).rfc2822=!0}else t._isValid=!1}function ve(t){if(t._f!==r.ISO_8601)if(t._f!==r.RFC_2822){t._a=[],p(t).empty=!0;var e,n,a,o,i,s=""+t._i,c=s.length,l=0;for(a=U(t._f,t._locale).match(z)||[],e=0;e<a.length;e++)(n=(s.match(ut(o=a[e],t))||[])[0])&&((i=s.substr(0,s.indexOf(n))).length>0&&p(t).unusedInput.push(i),s=s.slice(s.indexOf(n)+n.length),l+=n.length),Y[o]?(n?p(t).empty=!1:p(t).unusedTokens.push(o),ht(o,n,t)):t._strict&&!n&&p(t).unusedTokens.push(o);p(t).charsLeftOver=c-l,s.length>0&&p(t).unusedInput.push(s),t._a[3]<=12&&!0===p(t).bigHour&&t._a[3]>0&&(p(t).bigHour=void 0),p(t).parsedDateParts=t._a.slice(0),p(t).meridiem=t._meridiem,t._a[3]=function(t,e,n){var a;return null==n?e:null!=t.meridiemHour?t.meridiemHour(e,n):null!=t.isPM?((a=t.isPM(n))&&e<12&&(e+=12),a||12!==e||(e=0),e):e}(t._locale,t._a[3],t._meridiem),de(t),ce(t)}else Oe(t);else be(t)}function Ce(t){var e=t._i,n=t._f;return t._locale=t._locale||se(t._l),null===e||void 0===n&&""===e?h({nullInput:!0}):("string"==typeof e&&(t._i=e=t._locale.preparse(e)),v(e)?new O(ce(e)):(l(e)?t._d=e:o(n)?function(t){var e,n,a,r,o;if(0===t._f.length)return p(t).invalidFormat=!0,void(t._d=new Date(NaN));for(r=0;r<t._f.length;r++)o=0,e=_({},t),null!=t._useUTC&&(e._useUTC=t._useUTC),e._f=t._f[r],ve(e),m(e)&&(o+=p(e).charsLeftOver,o+=10*p(e).unusedTokens.length,p(e).score=o,(null==a||o<a)&&(a=o,n=e));g(t,n||e)}(t):n?ve(t):function(t){var e=t._i;s(e)?t._d=new Date(r.now()):l(e)?t._d=new Date(e.valueOf()):"string"==typeof e?function(t){var e=he.exec(t._i);null===e?(be(t),!1===t._isValid&&(delete t._isValid,Oe(t),!1===t._isValid&&(delete t._isValid,r.createFromInputFallback(t)))):t._d=new Date(+e[1])}(t):o(e)?(t._a=d(e.slice(0),(function(t){return parseInt(t,10)})),de(t)):i(e)?function(t){if(!t._d){var e=L(t._i);t._a=d([e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],(function(t){return t&&parseInt(t,10)})),de(t)}}(t):c(e)?t._d=new Date(e):r.createFromInputFallback(t)}(t),m(t)||(t._d=null),t))}function Pe(t,e,n,a,r){var s,c={};return!0!==n&&!1!==n||(a=n,n=void 0),(i(t)&&function(t){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(t).length;var e;for(e in t)if(t.hasOwnProperty(e))return!1;return!0}(t)||o(t)&&0===t.length)&&(t=void 0),c._isAMomentObject=!0,c._useUTC=c._isUTC=r,c._l=n,c._i=t,c._f=e,c._strict=a,(s=new O(ce(Ce(c))))._nextDay&&(s.add(1,"d"),s._nextDay=void 0),s}function Me(t,e,n,a){return Pe(t,e,n,a,!1)}r.createFromInputFallback=w("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",(function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))})),r.ISO_8601=function(){},r.RFC_2822=function(){};var xe=w("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",(function(){var t=Me.apply(null,arguments);return this.isValid()&&t.isValid()?t<this?this:t:h()})),we=w("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",(function(){var t=Me.apply(null,arguments);return this.isValid()&&t.isValid()?t>this?this:t:h()}));function Te(t,e){var n,a;if(1===e.length&&o(e[0])&&(e=e[0]),!e.length)return Me();for(n=e[0],a=1;a<e.length;++a)e[a].isValid()&&!e[a][t](n)||(n=e[a]);return n}var ke=["year","quarter","month","week","day","hour","minute","second","millisecond"];function Se(t){var e=L(t),n=e.year||0,a=e.quarter||0,r=e.month||0,o=e.week||e.isoWeek||0,i=e.day||0,s=e.hour||0,c=e.minute||0,l=e.second||0,d=e.millisecond||0;this._isValid=function(t){for(var e in t)if(-1===yt.call(ke,e)||null!=t[e]&&isNaN(t[e]))return!1;for(var n=!1,a=0;a<ke.length;++a)if(t[ke[a]]){if(n)return!1;parseFloat(t[ke[a]])!==P(t[ke[a]])&&(n=!0)}return!0}(e),this._milliseconds=+d+1e3*l+6e4*c+1e3*s*60*60,this._days=+i+7*o,this._months=+r+3*a+12*n,this._data={},this._locale=se(),this._bubble()}function Ie(t){return t instanceof Se}function Ne(t){return t<0?-1*Math.round(-1*t):Math.round(t)}function Re(t,e){B(t,0,0,(function(){var t=this.utcOffset(),n="+";return t<0&&(t=-t,n="-"),n+F(~~(t/60),2)+e+F(~~t%60,2)}))}Re("Z",":"),Re("ZZ",""),dt("Z",st),dt("ZZ",st),pt(["Z","ZZ"],(function(t,e,n){n._useUTC=!0,n._tzm=Ee(st,t)}));var Ae=/([\+\-]|\d\d)/gi;function Ee(t,e){var n=(e||"").match(t);if(null===n)return null;var a=((n[n.length-1]||[])+"").match(Ae)||["-",0,0],r=60*a[1]+P(a[2]);return 0===r?0:"+"===a[0]?r:-r}function De(t,e){var n,a;return e._isUTC?(n=e.clone(),a=(v(t)||l(t)?t.valueOf():Me(t).valueOf())-n.valueOf(),n._d.setTime(n._d.valueOf()+a),r.updateOffset(n,!1),n):Me(t).local()}function Le(t){return 15*-Math.round(t._d.getTimezoneOffset()/15)}function qe(){return!!this.isValid()&&this._isUTC&&0===this._offset}r.updateOffset=function(){};var je=/^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Fe=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function ze(t,e){var n,a,r,o,i,s,l=t,d=null;return Ie(t)?l={ms:t._milliseconds,d:t._days,M:t._months}:c(t)?(l={},e?l[e]=t:l.milliseconds=t):(d=je.exec(t))?(n="-"===d[1]?-1:1,l={y:0,d:P(d[2])*n,h:P(d[3])*n,m:P(d[4])*n,s:P(d[5])*n,ms:P(Ne(1e3*d[6]))*n}):(d=Fe.exec(t))?l={y:Ve(d[2],n="-"===d[1]?-1:1),M:Ve(d[3],n),w:Ve(d[4],n),d:Ve(d[5],n),h:Ve(d[6],n),m:Ve(d[7],n),s:Ve(d[8],n)}:null==l?l={}:"object"==typeof l&&("from"in l||"to"in l)&&(o=Me(l.from),i=Me(l.to),r=o.isValid()&&i.isValid()?(i=De(i,o),o.isBefore(i)?s=Ge(o,i):((s=Ge(i,o)).milliseconds=-s.milliseconds,s.months=-s.months),s):{milliseconds:0,months:0},(l={}).ms=r.milliseconds,l.M=r.months),a=new Se(l),Ie(t)&&u(t,"_locale")&&(a._locale=t._locale),a}function Ve(t,e){var n=t&&parseFloat(t.replace(",","."));return(isNaN(n)?0:n)*e}function Ge(t,e){var n={};return n.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(n.months,"M").isAfter(e)&&--n.months,n.milliseconds=+e-+t.clone().add(n.months,"M"),n}function Ye(t,e){return function(n,a){var r;return null===a||isNaN(+a)||(S(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),r=n,n=a,a=r),Be(this,ze(n="string"==typeof n?+n:n,a),t),this}}function Be(t,e,n,a){var o=e._milliseconds,i=Ne(e._days),s=Ne(e._months);t.isValid()&&(a=null==a||a,s&&St(t,Ct(t,"Month")+s*n),i&&Pt(t,"Date",Ct(t,"Date")+i*n),o&&t._d.setTime(t._d.valueOf()+o*n),a&&r.updateOffset(t,i||s))}ze.fn=Se.prototype,ze.invalid=function(){return ze(NaN)};var He=Ye(1,"add"),Ue=Ye(-1,"subtract");function We(t,e){var n=12*(e.year()-t.year())+(e.month()-t.month()),a=t.clone().add(n,"months");return-(n+(e-a<0?(e-a)/(a-t.clone().add(n-1,"months")):(e-a)/(t.clone().add(n+1,"months")-a)))||0}function Ke(t){var e;return void 0===t?this._locale._abbr:(null!=(e=se(t))&&(this._locale=e),this)}r.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",r.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var $e=w("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",(function(t){return void 0===t?this.localeData():this.locale(t)}));function Ze(){return this._locale}function Je(t,e){return(t%e+e)%e}function Xe(t,e,n){return t<100&&t>=0?new Date(t+400,e,n)-126227808e5:new Date(t,e,n).valueOf()}function Qe(t,e,n){return t<100&&t>=0?Date.UTC(t+400,e,n)-126227808e5:Date.UTC(t,e,n)}function tn(t,e){B(0,[t,t.length],0,e)}function en(t,e,n,a,r){var o;return null==t?jt(this,a,r).year:(e>(o=Ft(t,a,r))&&(e=o),nn.call(this,t,e,n,a,r))}function nn(t,e,n,a,r){var o=qt(t,e,n,a,r),i=Dt(o.year,0,o.dayOfYear);return this.year(i.getUTCFullYear()),this.month(i.getUTCMonth()),this.date(i.getUTCDate()),this}B(0,["gg",2],0,(function(){return this.weekYear()%100})),B(0,["GG",2],0,(function(){return this.isoWeekYear()%100})),tn("gggg","weekYear"),tn("ggggg","weekYear"),tn("GGGG","isoWeekYear"),tn("GGGGG","isoWeekYear"),E("weekYear","gg"),E("isoWeekYear","GG"),j("weekYear",1),j("isoWeekYear",1),dt("G",ot),dt("g",ot),dt("GG",X,K),dt("gg",X,K),dt("GGGG",nt,Z),dt("gggg",nt,Z),dt("GGGGG",at,J),dt("ggggg",at,J),mt(["gggg","ggggg","GGGG","GGGGG"],(function(t,e,n,a){e[a.substr(0,2)]=P(t)})),mt(["gg","GG"],(function(t,e,n,a){e[a]=r.parseTwoDigitYear(t)})),B("Q",0,"Qo","quarter"),E("quarter","Q"),j("quarter",7),dt("Q",W),pt("Q",(function(t,e){e[1]=3*(P(t)-1)})),B("D",["DD",2],"Do","date"),E("date","D"),j("date",9),dt("D",X),dt("DD",X,K),dt("Do",(function(t,e){return t?e._dayOfMonthOrdinalParse||e._ordinalParse:e._dayOfMonthOrdinalParseLenient})),pt(["D","DD"],2),pt("Do",(function(t,e){e[2]=P(t.match(X)[0])}));var an=vt("Date",!0);B("DDD",["DDDD",3],"DDDo","dayOfYear"),E("dayOfYear","DDD"),j("dayOfYear",4),dt("DDD",et),dt("DDDD",$),pt(["DDD","DDDD"],(function(t,e,n){n._dayOfYear=P(t)})),B("m",["mm",2],0,"minute"),E("minute","m"),j("minute",14),dt("m",X),dt("mm",X,K),pt(["m","mm"],4);var rn=vt("Minutes",!1);B("s",["ss",2],0,"second"),E("second","s"),j("second",15),dt("s",X),dt("ss",X,K),pt(["s","ss"],5);var on,sn=vt("Seconds",!1);for(B("S",0,0,(function(){return~~(this.millisecond()/100)})),B(0,["SS",2],0,(function(){return~~(this.millisecond()/10)})),B(0,["SSS",3],0,"millisecond"),B(0,["SSSS",4],0,(function(){return 10*this.millisecond()})),B(0,["SSSSS",5],0,(function(){return 100*this.millisecond()})),B(0,["SSSSSS",6],0,(function(){return 1e3*this.millisecond()})),B(0,["SSSSSSS",7],0,(function(){return 1e4*this.millisecond()})),B(0,["SSSSSSSS",8],0,(function(){return 1e5*this.millisecond()})),B(0,["SSSSSSSSS",9],0,(function(){return 1e6*this.millisecond()})),E("millisecond","ms"),j("millisecond",16),dt("S",et,W),dt("SS",et,K),dt("SSS",et,$),on="SSSS";on.length<=9;on+="S")dt(on,rt);function cn(t,e){e[6]=P(1e3*("0."+t))}for(on="S";on.length<=9;on+="S")pt(on,cn);var ln=vt("Milliseconds",!1);B("z",0,0,"zoneAbbr"),B("zz",0,0,"zoneName");var dn=O.prototype;function un(t){return t}dn.add=He,dn.calendar=function(t,e){var n=t||Me(),a=De(n,this).startOf("day"),o=r.calendarFormat(this,a)||"sameElse",i=e&&(I(e[o])?e[o].call(this,n):e[o]);return this.format(i||this.localeData().calendar(o,this,Me(n)))},dn.clone=function(){return new O(this)},dn.diff=function(t,e,n){var a,r,o;if(!this.isValid())return NaN;if(!(a=De(t,this)).isValid())return NaN;switch(r=6e4*(a.utcOffset()-this.utcOffset()),e=D(e)){case"year":o=We(this,a)/12;break;case"month":o=We(this,a);break;case"quarter":o=We(this,a)/3;break;case"second":o=(this-a)/1e3;break;case"minute":o=(this-a)/6e4;break;case"hour":o=(this-a)/36e5;break;case"day":o=(this-a-r)/864e5;break;case"week":o=(this-a-r)/6048e5;break;default:o=this-a}return n?o:C(o)},dn.endOf=function(t){var e;if(void 0===(t=D(t))||"millisecond"===t||!this.isValid())return this;var n=this._isUTC?Qe:Xe;switch(t){case"year":e=n(this.year()+1,0,1)-1;break;case"quarter":e=n(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":e=n(this.year(),this.month()+1,1)-1;break;case"week":e=n(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":e=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":e=n(this.year(),this.month(),this.date()+1)-1;break;case"hour":e=this._d.valueOf(),e+=36e5-Je(e+(this._isUTC?0:6e4*this.utcOffset()),36e5)-1;break;case"minute":e=this._d.valueOf(),e+=6e4-Je(e,6e4)-1;break;case"second":e=this._d.valueOf(),e+=1e3-Je(e,1e3)-1}return this._d.setTime(e),r.updateOffset(this,!0),this},dn.format=function(t){t||(t=this.isUtc()?r.defaultFormatUtc:r.defaultFormat);var e=H(this,t);return this.localeData().postformat(e)},dn.from=function(t,e){return this.isValid()&&(v(t)&&t.isValid()||Me(t).isValid())?ze({to:this,from:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()},dn.fromNow=function(t){return this.from(Me(),t)},dn.to=function(t,e){return this.isValid()&&(v(t)&&t.isValid()||Me(t).isValid())?ze({from:this,to:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()},dn.toNow=function(t){return this.to(Me(),t)},dn.get=function(t){return I(this[t=D(t)])?this[t]():this},dn.invalidAt=function(){return p(this).overflow},dn.isAfter=function(t,e){var n=v(t)?t:Me(t);return!(!this.isValid()||!n.isValid())&&("millisecond"===(e=D(e)||"millisecond")?this.valueOf()>n.valueOf():n.valueOf()<this.clone().startOf(e).valueOf())},dn.isBefore=function(t,e){var n=v(t)?t:Me(t);return!(!this.isValid()||!n.isValid())&&("millisecond"===(e=D(e)||"millisecond")?this.valueOf()<n.valueOf():this.clone().endOf(e).valueOf()<n.valueOf())},dn.isBetween=function(t,e,n,a){var r=v(t)?t:Me(t),o=v(e)?e:Me(e);return!!(this.isValid()&&r.isValid()&&o.isValid())&&("("===(a=a||"()")[0]?this.isAfter(r,n):!this.isBefore(r,n))&&(")"===a[1]?this.isBefore(o,n):!this.isAfter(o,n))},dn.isSame=function(t,e){var n,a=v(t)?t:Me(t);return!(!this.isValid()||!a.isValid())&&("millisecond"===(e=D(e)||"millisecond")?this.valueOf()===a.valueOf():(n=a.valueOf(),this.clone().startOf(e).valueOf()<=n&&n<=this.clone().endOf(e).valueOf()))},dn.isSameOrAfter=function(t,e){return this.isSame(t,e)||this.isAfter(t,e)},dn.isSameOrBefore=function(t,e){return this.isSame(t,e)||this.isBefore(t,e)},dn.isValid=function(){return m(this)},dn.lang=$e,dn.locale=Ke,dn.localeData=Ze,dn.max=we,dn.min=xe,dn.parsingFlags=function(){return g({},p(this))},dn.set=function(t,e){if("object"==typeof t)for(var n=function(t){var e=[];for(var n in t)e.push({unit:n,priority:q[n]});return e.sort((function(t,e){return t.priority-e.priority})),e}(t=L(t)),a=0;a<n.length;a++)this[n[a].unit](t[n[a].unit]);else if(I(this[t=D(t)]))return this[t](e);return this},dn.startOf=function(t){var e;if(void 0===(t=D(t))||"millisecond"===t||!this.isValid())return this;var n=this._isUTC?Qe:Xe;switch(t){case"year":e=n(this.year(),0,1);break;case"quarter":e=n(this.year(),this.month()-this.month()%3,1);break;case"month":e=n(this.year(),this.month(),1);break;case"week":e=n(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":e=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":e=n(this.year(),this.month(),this.date());break;case"hour":e=this._d.valueOf(),e-=Je(e+(this._isUTC?0:6e4*this.utcOffset()),36e5);break;case"minute":e=this._d.valueOf(),e-=Je(e,6e4);break;case"second":e=this._d.valueOf(),e-=Je(e,1e3)}return this._d.setTime(e),r.updateOffset(this,!0),this},dn.subtract=Ue,dn.toArray=function(){var t=this;return[t.year(),t.month(),t.date(),t.hour(),t.minute(),t.second(),t.millisecond()]},dn.toObject=function(){var t=this;return{years:t.year(),months:t.month(),date:t.date(),hours:t.hours(),minutes:t.minutes(),seconds:t.seconds(),milliseconds:t.milliseconds()}},dn.toDate=function(){return new Date(this.valueOf())},dn.toISOString=function(t){if(!this.isValid())return null;var e=!0!==t,n=e?this.clone().utc():this;return n.year()<0||n.year()>9999?H(n,e?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):I(Date.prototype.toISOString)?e?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",H(n,"Z")):H(n,e?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},dn.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var t="moment",e="";this.isLocal()||(t=0===this.utcOffset()?"moment.utc":"moment.parseZone",e="Z");var n="["+t+'("]',a=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY";return this.format(n+a+"-MM-DD[T]HH:mm:ss.SSS"+e+'[")]')},dn.toJSON=function(){return this.isValid()?this.toISOString():null},dn.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},dn.unix=function(){return Math.floor(this.valueOf()/1e3)},dn.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},dn.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},dn.year=Ot,dn.isLeapYear=function(){return _t(this.year())},dn.weekYear=function(t){return en.call(this,t,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},dn.isoWeekYear=function(t){return en.call(this,t,this.isoWeek(),this.isoWeekday(),1,4)},dn.quarter=dn.quarters=function(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)},dn.month=It,dn.daysInMonth=function(){return Mt(this.year(),this.month())},dn.week=dn.weeks=function(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")},dn.isoWeek=dn.isoWeeks=function(t){var e=jt(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")},dn.weeksInYear=function(){var t=this.localeData()._week;return Ft(this.year(),t.dow,t.doy)},dn.isoWeeksInYear=function(){return Ft(this.year(),1,4)},dn.date=an,dn.day=dn.days=function(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=function(t,e){return"string"!=typeof t?t:isNaN(t)?"number"==typeof(t=e.weekdaysParse(t))?t:null:parseInt(t,10)}(t,this.localeData()),this.add(t-e,"d")):e},dn.weekday=function(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")},dn.isoWeekday=function(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var e=function(t,e){return"string"==typeof t?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}(t,this.localeData());return this.day(this.day()%7?e:e-7)}return this.day()||7},dn.dayOfYear=function(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")},dn.hour=dn.hours=Qt,dn.minute=dn.minutes=rn,dn.second=dn.seconds=sn,dn.millisecond=dn.milliseconds=ln,dn.utcOffset=function(t,e,n){var a,o=this._offset||0;if(!this.isValid())return null!=t?this:NaN;if(null!=t){if("string"==typeof t){if(null===(t=Ee(st,t)))return this}else Math.abs(t)<16&&!n&&(t*=60);return!this._isUTC&&e&&(a=Le(this)),this._offset=t,this._isUTC=!0,null!=a&&this.add(a,"m"),o!==t&&(!e||this._changeInProgress?Be(this,ze(t-o,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,r.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?o:Le(this)},dn.utc=function(t){return this.utcOffset(0,t)},dn.local=function(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(Le(this),"m")),this},dn.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var t=Ee(it,this._i);null!=t?this.utcOffset(t):this.utcOffset(0,!0)}return this},dn.hasAlignedHourOffset=function(t){return!!this.isValid()&&(t=t?Me(t).utcOffset():0,(this.utcOffset()-t)%60==0)},dn.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},dn.isLocal=function(){return!!this.isValid()&&!this._isUTC},dn.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},dn.isUtc=qe,dn.isUTC=qe,dn.zoneAbbr=function(){return this._isUTC?"UTC":""},dn.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},dn.dates=w("dates accessor is deprecated. Use date instead.",an),dn.months=w("months accessor is deprecated. Use month instead",It),dn.years=w("years accessor is deprecated. Use year instead",Ot),dn.zone=w("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",(function(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()})),dn.isDSTShifted=w("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",(function(){if(!s(this._isDSTShifted))return this._isDSTShifted;var t={};if(_(t,this),(t=Ce(t))._a){var e=t._isUTC?f(t._a):Me(t._a);this._isDSTShifted=this.isValid()&&M(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}));var gn=R.prototype;function fn(t,e,n,a){var r=se(),o=f().set(a,e);return r[n](o,t)}function pn(t,e,n){if(c(t)&&(e=t,t=void 0),t=t||"",null!=e)return fn(t,e,n,"month");var a,r=[];for(a=0;a<12;a++)r[a]=fn(t,a,n,"month");return r}function mn(t,e,n,a){"boolean"==typeof t?(c(e)&&(n=e,e=void 0),e=e||""):(n=e=t,t=!1,c(e)&&(n=e,e=void 0),e=e||"");var r,o=se(),i=t?o._week.dow:0;if(null!=n)return fn(e,(n+i)%7,a,"day");var s=[];for(r=0;r<7;r++)s[r]=fn(e,(r+i)%7,a,"day");return s}gn.calendar=function(t,e,n){var a=this._calendar[t]||this._calendar.sameElse;return I(a)?a.call(e,n):a},gn.longDateFormat=function(t){var e=this._longDateFormat[t],n=this._longDateFormat[t.toUpperCase()];return e||!n?e:(this._longDateFormat[t]=n.replace(/MMMM|MM|DD|dddd/g,(function(t){return t.slice(1)})),this._longDateFormat[t])},gn.invalidDate=function(){return this._invalidDate},gn.ordinal=function(t){return this._ordinal.replace("%d",t)},gn.preparse=un,gn.postformat=un,gn.relativeTime=function(t,e,n,a){var r=this._relativeTime[n];return I(r)?r(t,e,n,a):r.replace(/%d/i,t)},gn.pastFuture=function(t,e){var n=this._relativeTime[t>0?"future":"past"];return I(n)?n(e):n.replace(/%s/i,e)},gn.set=function(t){var e,n;for(n in t)I(e=t[n])?this[n]=e:this["_"+n]=e;this._config=t,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},gn.months=function(t,e){return t?o(this._months)?this._months[t.month()]:this._months[(this._months.isFormat||xt).test(e)?"format":"standalone"][t.month()]:o(this._months)?this._months:this._months.standalone},gn.monthsShort=function(t,e){return t?o(this._monthsShort)?this._monthsShort[t.month()]:this._monthsShort[xt.test(e)?"format":"standalone"][t.month()]:o(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},gn.monthsParse=function(t,e,n){var a,r,o;if(this._monthsParseExact)return kt.call(this,t,e,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),a=0;a<12;a++){if(r=f([2e3,a]),n&&!this._longMonthsParse[a]&&(this._longMonthsParse[a]=new RegExp("^"+this.months(r,"").replace(".","")+"$","i"),this._shortMonthsParse[a]=new RegExp("^"+this.monthsShort(r,"").replace(".","")+"$","i")),n||this._monthsParse[a]||(o="^"+this.months(r,"")+"|^"+this.monthsShort(r,""),this._monthsParse[a]=new RegExp(o.replace(".",""),"i")),n&&"MMMM"===e&&this._longMonthsParse[a].test(t))return a;if(n&&"MMM"===e&&this._shortMonthsParse[a].test(t))return a;if(!n&&this._monthsParse[a].test(t))return a}},gn.monthsRegex=function(t){return this._monthsParseExact?(u(this,"_monthsRegex")||At.call(this),t?this._monthsStrictRegex:this._monthsRegex):(u(this,"_monthsRegex")||(this._monthsRegex=Rt),this._monthsStrictRegex&&t?this._monthsStrictRegex:this._monthsRegex)},gn.monthsShortRegex=function(t){return this._monthsParseExact?(u(this,"_monthsRegex")||At.call(this),t?this._monthsShortStrictRegex:this._monthsShortRegex):(u(this,"_monthsShortRegex")||(this._monthsShortRegex=Nt),this._monthsShortStrictRegex&&t?this._monthsShortStrictRegex:this._monthsShortRegex)},gn.week=function(t){return jt(t,this._week.dow,this._week.doy).week},gn.firstDayOfYear=function(){return this._week.doy},gn.firstDayOfWeek=function(){return this._week.dow},gn.weekdays=function(t,e){var n=o(this._weekdays)?this._weekdays:this._weekdays[t&&!0!==t&&this._weekdays.isFormat.test(e)?"format":"standalone"];return!0===t?zt(n,this._week.dow):t?n[t.day()]:n},gn.weekdaysMin=function(t){return!0===t?zt(this._weekdaysMin,this._week.dow):t?this._weekdaysMin[t.day()]:this._weekdaysMin},gn.weekdaysShort=function(t){return!0===t?zt(this._weekdaysShort,this._week.dow):t?this._weekdaysShort[t.day()]:this._weekdaysShort},gn.weekdaysParse=function(t,e,n){var a,r,o;if(this._weekdaysParseExact)return Bt.call(this,t,e,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),a=0;a<7;a++){if(r=f([2e3,1]).day(a),n&&!this._fullWeekdaysParse[a]&&(this._fullWeekdaysParse[a]=new RegExp("^"+this.weekdays(r,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[a]=new RegExp("^"+this.weekdaysShort(r,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[a]=new RegExp("^"+this.weekdaysMin(r,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[a]||(o="^"+this.weekdays(r,"")+"|^"+this.weekdaysShort(r,"")+"|^"+this.weekdaysMin(r,""),this._weekdaysParse[a]=new RegExp(o.replace(".",""),"i")),n&&"dddd"===e&&this._fullWeekdaysParse[a].test(t))return a;if(n&&"ddd"===e&&this._shortWeekdaysParse[a].test(t))return a;if(n&&"dd"===e&&this._minWeekdaysParse[a].test(t))return a;if(!n&&this._weekdaysParse[a].test(t))return a}},gn.weekdaysRegex=function(t){return this._weekdaysParseExact?(u(this,"_weekdaysRegex")||Kt.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(u(this,"_weekdaysRegex")||(this._weekdaysRegex=Ht),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)},gn.weekdaysShortRegex=function(t){return this._weekdaysParseExact?(u(this,"_weekdaysRegex")||Kt.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(u(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Ut),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},gn.weekdaysMinRegex=function(t){return this._weekdaysParseExact?(u(this,"_weekdaysRegex")||Kt.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(u(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Wt),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},gn.isPM=function(t){return"p"===(t+"").toLowerCase().charAt(0)},gn.meridiem=function(t,e,n){return t>11?n?"pm":"PM":n?"am":"AM"},oe("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10;return t+(1===P(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")}}),r.lang=w("moment.lang is deprecated. Use moment.locale instead.",oe),r.langData=w("moment.langData is deprecated. Use moment.localeData instead.",se);var hn=Math.abs;function bn(t,e,n,a){var r=ze(e,n);return t._milliseconds+=a*r._milliseconds,t._days+=a*r._days,t._months+=a*r._months,t._bubble()}function _n(t){return t<0?Math.floor(t):Math.ceil(t)}function yn(t){return 4800*t/146097}function On(t){return 146097*t/4800}function vn(t){return function(){return this.as(t)}}var Cn=vn("ms"),Pn=vn("s"),Mn=vn("m"),xn=vn("h"),wn=vn("d"),Tn=vn("w"),kn=vn("M"),Sn=vn("Q"),In=vn("y");function Nn(t){return function(){return this.isValid()?this._data[t]:NaN}}var Rn=Nn("milliseconds"),An=Nn("seconds"),En=Nn("minutes"),Dn=Nn("hours"),Ln=Nn("days"),qn=Nn("months"),jn=Nn("years"),Fn=Math.round,zn={ss:44,s:45,m:45,h:22,d:26,M:11};function Vn(t,e,n,a,r){return r.relativeTime(e||1,!!n,t,a)}var Gn=Math.abs;function Yn(t){return(t>0)-(t<0)||+t}function Bn(){if(!this.isValid())return this.localeData().invalidDate();var t,e,n=Gn(this._milliseconds)/1e3,a=Gn(this._days),r=Gn(this._months);t=C(n/60),e=C(t/60),n%=60,t%=60;var o=C(r/12),i=r%=12,s=a,c=e,l=t,d=n?n.toFixed(3).replace(/\.?0+$/,""):"",u=this.asSeconds();if(!u)return"P0D";var g=u<0?"-":"",f=Yn(this._months)!==Yn(u)?"-":"",p=Yn(this._days)!==Yn(u)?"-":"",m=Yn(this._milliseconds)!==Yn(u)?"-":"";return g+"P"+(o?f+o+"Y":"")+(i?f+i+"M":"")+(s?p+s+"D":"")+(c||l||d?"T":"")+(c?m+c+"H":"")+(l?m+l+"M":"")+(d?m+d+"S":"")}var Hn=Se.prototype;return Hn.isValid=function(){return this._isValid},Hn.abs=function(){var t=this._data;return this._milliseconds=hn(this._milliseconds),this._days=hn(this._days),this._months=hn(this._months),t.milliseconds=hn(t.milliseconds),t.seconds=hn(t.seconds),t.minutes=hn(t.minutes),t.hours=hn(t.hours),t.months=hn(t.months),t.years=hn(t.years),this},Hn.add=function(t,e){return bn(this,t,e,1)},Hn.subtract=function(t,e){return bn(this,t,e,-1)},Hn.as=function(t){if(!this.isValid())return NaN;var e,n,a=this._milliseconds;if("month"===(t=D(t))||"quarter"===t||"year"===t)switch(n=this._months+yn(e=this._days+a/864e5),t){case"month":return n;case"quarter":return n/3;case"year":return n/12}else switch(e=this._days+Math.round(On(this._months)),t){case"week":return e/7+a/6048e5;case"day":return e+a/864e5;case"hour":return 24*e+a/36e5;case"minute":return 1440*e+a/6e4;case"second":return 86400*e+a/1e3;case"millisecond":return Math.floor(864e5*e)+a;default:throw new Error("Unknown unit "+t)}},Hn.asMilliseconds=Cn,Hn.asSeconds=Pn,Hn.asMinutes=Mn,Hn.asHours=xn,Hn.asDays=wn,Hn.asWeeks=Tn,Hn.asMonths=kn,Hn.asQuarters=Sn,Hn.asYears=In,Hn.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*P(this._months/12):NaN},Hn._bubble=function(){var t,e,n,a,r,o=this._milliseconds,i=this._days,s=this._months,c=this._data;return o>=0&&i>=0&&s>=0||o<=0&&i<=0&&s<=0||(o+=864e5*_n(On(s)+i),i=0,s=0),c.milliseconds=o%1e3,t=C(o/1e3),c.seconds=t%60,e=C(t/60),c.minutes=e%60,n=C(e/60),c.hours=n%24,i+=C(n/24),s+=r=C(yn(i)),i-=_n(On(r)),a=C(s/12),s%=12,c.days=i,c.months=s,c.years=a,this},Hn.clone=function(){return ze(this)},Hn.get=function(t){return t=D(t),this.isValid()?this[t+"s"]():NaN},Hn.milliseconds=Rn,Hn.seconds=An,Hn.minutes=En,Hn.hours=Dn,Hn.days=Ln,Hn.weeks=function(){return C(this.days()/7)},Hn.months=qn,Hn.years=jn,Hn.humanize=function(t){if(!this.isValid())return this.localeData().invalidDate();var e=this.localeData(),n=function(t,e,n){var a=ze(t).abs(),r=Fn(a.as("s")),o=Fn(a.as("m")),i=Fn(a.as("h")),s=Fn(a.as("d")),c=Fn(a.as("M")),l=Fn(a.as("y")),d=r<=zn.ss&&["s",r]||r<zn.s&&["ss",r]||o<=1&&["m"]||o<zn.m&&["mm",o]||i<=1&&["h"]||i<zn.h&&["hh",i]||s<=1&&["d"]||s<zn.d&&["dd",s]||c<=1&&["M"]||c<zn.M&&["MM",c]||l<=1&&["y"]||["yy",l];return d[2]=e,d[3]=+t>0,d[4]=n,Vn.apply(null,d)}(this,!t,e);return t&&(n=e.pastFuture(+this,n)),e.postformat(n)},Hn.toISOString=Bn,Hn.toString=Bn,Hn.toJSON=Bn,Hn.locale=Ke,Hn.localeData=Ze,Hn.toIsoString=w("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Bn),Hn.lang=$e,B("X",0,0,"unix"),B("x",0,0,"valueOf"),dt("x",ot),dt("X",/[+-]?\d+(\.\d{1,3})?/),pt("X",(function(t,e,n){n._d=new Date(1e3*parseFloat(t,10))})),pt("x",(function(t,e,n){n._d=new Date(P(t))})),r.version="2.24.0",e=Me,r.fn=dn,r.min=function(){var t=[].slice.call(arguments,0);return Te("isBefore",t)},r.max=function(){var t=[].slice.call(arguments,0);return Te("isAfter",t)},r.now=function(){return Date.now?Date.now():+new Date},r.utc=f,r.unix=function(t){return Me(1e3*t)},r.months=function(t,e){return pn(t,e,"months")},r.isDate=l,r.locale=oe,r.invalid=h,r.duration=ze,r.isMoment=v,r.weekdays=function(t,e,n){return mn(t,e,n,"weekdays")},r.parseZone=function(){return Me.apply(null,arguments).parseZone()},r.localeData=se,r.isDuration=Ie,r.monthsShort=function(t,e){return pn(t,e,"monthsShort")},r.weekdaysMin=function(t,e,n){return mn(t,e,n,"weekdaysMin")},r.defineLocale=ie,r.updateLocale=function(t,e){if(null!=e){var n,a,r=te;null!=(a=re(t))&&(r=a._config),(n=new R(e=N(r,e))).parentLocale=ee[t],ee[t]=n,oe(t)}else null!=ee[t]&&(null!=ee[t].parentLocale?ee[t]=ee[t].parentLocale:null!=ee[t]&&delete ee[t]);return ee[t]},r.locales=function(){return T(ee)},r.weekdaysShort=function(t,e,n){return mn(t,e,n,"weekdaysShort")},r.normalizeUnits=D,r.relativeTimeRounding=function(t){return void 0===t?Fn:"function"==typeof t&&(Fn=t,!0)},r.relativeTimeThreshold=function(t,e){return void 0!==zn[t]&&(void 0===e?zn[t]:(zn[t]=e,"s"===t&&(zn.ss=e-1),!0))},r.calendarFormat=function(t,e){var n=t.diff(e,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"},r.prototype=dn,r.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},r}()}).call(this,n("YuTi")(t))},wg0c:function(t,e,n){var a=n("2oRo"),r=n("WKiH").trim,o=n("WJkJ"),i=a.parseInt,s=/^[+-]?0[Xx]/,c=8!==i(o+"08")||22!==i(o+"0x16");t.exports=c?function(t,e){var n=r(String(t));return i(n,e>>>0||(s.test(n)?16:10))}:i},wig9:function(t,e){t.exports=function(t){for(var e=-1,n=null==t?0:t.length,a=0,r=[];++e<n;){var o=t[e];o&&(r[a++]=o)}return r}},wnGv:function(t,e,n){"use strict";n.d(e,"a",(function(){return d}));var a=n("8Y7J"),r=n("s7LF"),o=n("LvDl"),i=n("oxzT"),s=n("QFaf"),c=n("DNAf"),l=n("a96k");class d{constructor(t){this.i18n=t,this.data=[],this.options=[],this.messages=new c.a({},this.i18n),this.customBadges=!1,this.customBadgeValidators=[],this.selection=new a.EventEmitter,this.Object=Object,this.filteredOptions=[],this.icons=i.a}ngOnInit(){this.initFilter(),this.data.length>0&&this.initMissingOptions(),this.options=o.sortBy(this.options,["name"]),this.updateOptions()}initFilter(){this.filter=new r.i("",{validators:this.customBadgeValidators}),this.form=new s.a({filter:this.filter}),this.filteredOptions=[...this.options||[]]}initMissingOptions(){const t=this.options.map(t=>t.name);this.data.filter(e=>-1===t.indexOf(e)).forEach(t=>this.addOption(t)),this.forceOptionsToReflectData()}addOption(t){this.options.push(new l.a(!1,t,"")),this.options=o.sortBy(this.options,["name"]),this.triggerSelection(this.options.find(e=>e.name===t))}triggerSelection(t){!t||this.selectionLimit&&!t.selected&&this.data.length>=this.selectionLimit||(t.selected=!t.selected,this.updateOptions(),this.selection.emit({option:t}))}updateOptions(){this.data.splice(0,this.data.length),this.options.forEach(t=>{t.selected&&this.data.push(t.name)}),this.updateFilter()}updateFilter(){this.filteredOptions=this.options.filter(t=>t.name.includes(this.filter.value))}forceOptionsToReflectData(){this.options.forEach(t=>{-1!==this.data.indexOf(t.name)&&(t.selected=!0)})}ngOnChanges(){this.filter&&this.updateFilter(),this.options&&this.data&&0!==this.data.length&&this.forceOptionsToReflectData()}selectOption(){0===this.filteredOptions.length?this.addCustomOption():(this.triggerSelection(this.filteredOptions[0]),this.resetFilter())}addCustomOption(){this.isCreatable()&&(this.addOption(this.filter.value),this.resetFilter())}isCreatable(){return this.customBadges&&this.filter.valid&&this.filter.value.length>0&&this.filteredOptions.every(t=>t.name!==this.filter.value)}resetFilter(){this.filter.setValue(""),this.updateFilter()}removeItem(t){this.triggerSelection(this.options.find(e=>e.name===t&&e.selected))}}},woSy:function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var a=n("8Y7J"),r=n("f95s"),o=function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},i=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},s=function(){function t(){}return t.prototype.onDrop=function(t){this.node.mouseAction("drop",t.event,{from:t.element,to:{parent:this.node,index:this.dropIndex}})},t.prototype.allowDrop=function(t,e){return this.node.options.allowDrop(t,{parent:this.node,index:this.dropIndex},e)},o([Object(a.Input)(),i("design:type",r.a)],t.prototype,"node",void 0),o([Object(a.Input)(),i("design:type",Number)],t.prototype,"dropIndex",void 0),o([Object(a.Component)({selector:"TreeNodeDropSlot, tree-node-drop-slot",encapsulation:a.ViewEncapsulation.None,styles:[],template:'\n    <div\n      class="node-drop-slot"\n      (treeDrop)="onDrop($event)"\n      [treeAllowDrop]="allowDrop.bind(this)"\n      [allowDragoverStyling]="true">\n    </div>\n  '})],t)}()},wrZu:function(t,e,n){var a=n("+K+b"),r=n("XYm9"),o=n("b2z7"),i=n("otv/"),s=n("yP5f");t.exports=function(t,e,n){var c=t.constructor;switch(e){case"[object ArrayBuffer]":return a(t);case"[object Boolean]":case"[object Date]":return new c(+t);case"[object DataView]":return r(t,n);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return s(t,n);case"[object Map]":return new c;case"[object Number]":case"[object String]":return new c(t);case"[object RegExp]":return o(t);case"[object Set]":return new c;case"[object Symbol]":return i(t)}}},"x+ZX":function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("7o/Q");function r(){return function(t){return t.lift(new o(t))}}class o{constructor(t){this.connectable=t}call(t,e){const{connectable:n}=this;n._refCount++;const a=new i(t,n),r=e.subscribe(a);return a.closed||(a.connection=n.connect()),r}}class i extends a.a{constructor(t,e){super(t),this.connectable=e}_unsubscribe(){const{connectable:t}=this;if(!t)return void(this.connection=null);this.connectable=null;const e=t._refCount;if(e<=0)return void(this.connection=null);if(t._refCount=e-1,e>1)return void(this.connection=null);const{connection:n}=this,a=t._connection;this.connection=null,!a||n&&a!==n||a.unsubscribe()}}},x38r:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));var a=function(t){return t.bold="bold",t.sparkline="sparkline",t.perSecond="perSecond",t.checkIcon="checkIcon",t.routerLink="routerLink",t.executing="executing",t.classAdding="classAdding",t.badge="badge",t.map="map",t}({})},x6pH:function(t,e,n){!function(t){"use strict";t.defineLocale("he",{months:"ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר".split("_"),monthsShort:"ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳".split("_"),weekdays:"ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת".split("_"),weekdaysShort:"א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳".split("_"),weekdaysMin:"א_ב_ג_ד_ה_ו_ש".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [ב]MMMM YYYY",LLL:"D [ב]MMMM YYYY HH:mm",LLLL:"dddd, D [ב]MMMM YYYY HH:mm",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[היום ב־]LT",nextDay:"[מחר ב־]LT",nextWeek:"dddd [בשעה] LT",lastDay:"[אתמול ב־]LT",lastWeek:"[ביום] dddd [האחרון בשעה] LT",sameElse:"L"},relativeTime:{future:"בעוד %s",past:"לפני %s",s:"מספר שניות",ss:"%d שניות",m:"דקה",mm:"%d דקות",h:"שעה",hh:function(t){return 2===t?"שעתיים":t+" שעות"},d:"יום",dd:function(t){return 2===t?"יומיים":t+" ימים"},M:"חודש",MM:function(t){return 2===t?"חודשיים":t+" חודשים"},y:"שנה",yy:function(t){return 2===t?"שנתיים":t%10==0&&10!==t?t+" שנה":t+" שנים"}},meridiemParse:/אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,isPM:function(t){return/^(אחה"צ|אחרי הצהריים|בערב)$/.test(t)},meridiem:function(t,e,n){return t<5?"לפנות בוקר":t<10?"בבוקר":t<12?n?'לפנה"צ':"לפני הצהריים":t<18?n?'אחה"צ':"אחרי הצהריים":"בערב"}})}(n("wd/R"))},xDBR:function(t,e){t.exports=!1},xSw7:function(t,e,n){"use strict";var a=n("8Y7J"),r=n("Fgil"),o=n("aXbf"),i=n("978R"),s=n("z/SZ"),c=n("2uy1");n("GgAd"),n.d(e,"a",(function(){return l})),n.d(e,"b",(function(){return u}));var l=a["ɵcrt"]({encapsulation:0,styles:[[".bg-info[_ngcontent-%COMP%]{background-color:#2b99a8!important}.bg-freespace[_ngcontent-%COMP%]{background-color:#d1d1d1!important}.progress[_ngcontent-%COMP%]{height:20px;position:relative;margin-bottom:0}.progress[_ngcontent-%COMP%]   div.progress-bar[_ngcontent-%COMP%]{position:static}.progress[_ngcontent-%COMP%]   span[_ngcontent-%COMP%]{position:absolute;display:block;width:100%;color:#000;font-weight:400}"]],data:{}});function d(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,14,"table",[],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,6,"tr",[],null,null,null,null,null)),(t()(),a["ɵeld"](2,0,null,null,1,"td",[["class","text-left"]],null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["Used: "])),(t()(),a["ɵeld"](4,0,null,null,3,"td",[["class","text-right"]],null,null,null,null,null)),(t()(),a["ɵeld"](5,0,null,null,2,"strong",[],null,null,null,null,null)),(t()(),a["ɵted"](6,null,[" ",""])),a["ɵppd"](7,1),(t()(),a["ɵeld"](8,0,null,null,6,"tr",[],null,null,null,null,null)),(t()(),a["ɵeld"](9,0,null,null,1,"td",[["class","text-left"]],null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["Free: "])),(t()(),a["ɵeld"](11,0,null,null,3,"td",[["class","'text-right"]],null,null,null,null,null)),(t()(),a["ɵeld"](12,0,null,null,2,"strong",[],null,null,null,null,null)),(t()(),a["ɵted"](13,null,["",""])),a["ɵppd"](14,1)],null,(function(t,e){var n=e.component,r=a["ɵunv"](e,6,0,t(e,7,0,a["ɵnov"](e.parent,0),n.usedBytes));t(e,6,0,r);var o=a["ɵunv"](e,13,0,t(e,14,0,a["ɵnov"](e.parent,0),n.freeBytes));t(e,13,0,o)}))}function u(t){return a["ɵvid"](0,[a["ɵpid"](0,r.a,[o.a]),(t()(),a["ɵand"](0,[["usageTooltipTpl",2]],null,0,null,d)),(t()(),a["ɵeld"](2,16777216,null,null,5,"div",[["class","progress"],["data-placement","left"]],[[1,"aria-describedby",0]],null,null,null,null)),a["ɵdid"](3,212992,null,0,i.c,[a.ViewContainerRef,s.a,i.a,a.ElementRef,a.Renderer2,c.a],{tooltip:[0,"tooltip"],placement:[1,"placement"]},null),(t()(),a["ɵeld"](4,0,null,null,2,"div",[["class","progress-bar bg-info"],["role","progressbar"]],[[4,"width",null]],null,null,null,null)),(t()(),a["ɵeld"](5,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),a["ɵted"](6,null,["","%"])),(t()(),a["ɵeld"](7,0,null,null,0,"div",[["class","progress-bar bg-freespace"],["role","progressbar"]],[[4,"width",null]],null,null,null,null))],(function(t,e){t(e,3,0,a["ɵnov"](e,1),"left")}),(function(t,e){var n=e.component;t(e,2,0,a["ɵnov"](e,3).ariaDescribedby),t(e,4,0,n.usedPercentage+"%"),t(e,6,0,n.usedPercentage),t(e,7,0,n.freePercentage+"%")}))}},xTzq:function(t,e,n){"use strict";n.d(e,"a",(function(){return r})),n.d(e,"b",(function(){return o}));var a=n("LvDl");function r(...t){switch(t.length){case 1:return i.apply(void 0,t);case 3:return s.apply(void 0,t);default:throw new Error}}function o(t,e,n){const a=`__ignore_${e}`;Array.isArray(t[a])?t[a].push(n):t[a]=[n]}function i(t){for(const e of Object.getOwnPropertyNames(t.prototype)){const n=Object.getOwnPropertyDescriptor(t.prototype,e),a="constructor"===e;n.value instanceof Function&&!a&&(s(t.prototype,e,n),Object.defineProperty(t.prototype,e,n))}}function s(t,e,n){void 0===n&&(n=Object.getOwnPropertyDescriptor(t,e));const r=n.value;n.value=function(){const n=`__ignore_${e}`,o=t[n]||[],i=[];for(let t=0;t<arguments.length;t++)i[t]=a.isString(arguments[t])&&-1===o.indexOf(t)?encodeURIComponent(arguments[t]):arguments[t];const s=r.apply(this,i);return s}}},xYSL:function(t,e){t.exports=function(t,e){return t.has(e)}},xbPD:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("7o/Q");function r(t=null){return e=>e.lift(new o(t))}class o{constructor(t){this.defaultValue=t}call(t,e){return e.subscribe(new i(t,this.defaultValue))}}class i extends a.a{constructor(t,e){super(t),this.defaultValue=e,this.isEmpty=!0}_next(t){this.isEmpty=!1,this.destination.next(t)}_complete(){this.isEmpty&&this.destination.next(this.defaultValue),this.destination.complete()}}},xgIS:function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var a=n("HDdC"),r=n("DH7j"),o=n("n6bG"),i=n("lJxs");function s(t,e,n,c){return Object(o.a)(n)&&(c=n,n=void 0),c?s(t,e,n).pipe(Object(i.a)(t=>Object(r.a)(t)?c(...t):c(t))):new a.a(a=>{!function t(e,n,a,r,o){let i;if(function(t){return t&&"function"==typeof t.addEventListener&&"function"==typeof t.removeEventListener}(e)){const t=e;e.addEventListener(n,a,o),i=()=>t.removeEventListener(n,a,o)}else if(function(t){return t&&"function"==typeof t.on&&"function"==typeof t.off}(e)){const t=e;e.on(n,a),i=()=>t.off(n,a)}else if(function(t){return t&&"function"==typeof t.addListener&&"function"==typeof t.removeListener}(e)){const t=e;e.addListener(n,a),i=()=>t.removeListener(n,a)}else{if(!e||!e.length)throw new TypeError("Invalid event target");for(let i=0,s=e.length;i<s;i++)t(e[i],n,a,r,o)}r.add(i)}(t,e,(function(t){a.next(arguments.length>1?Array.prototype.slice.call(arguments):t)}),a,n)})}},"xj/R":function(t,e,n){"use strict";function a(t){return t<0?Math.ceil(t)||0:Math.floor(t)}function r(t){return"string"==typeof t}function o(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function i(t){return t&&t.getTime&&!isNaN(t.getTime())}function s(t){return t instanceof Function||"[object Function]"===Object.prototype.toString.call(t)}function c(t){return"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t)}function l(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function d(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function u(t){return null!=t&&"[object Object]"===Object.prototype.toString.call(t)}function g(t){return void 0===t}function f(t){const e=+t;let n=0;return 0!==e&&isFinite(e)&&(n=a(e)),n}n.d(e,"a",(function(){return Ke})),n.d(e,"b",(function(){return Ze})),n.d(e,"c",(function(){return Jt})),n.d(e,"d",(function(){return Ct})),n.d(e,"e",(function(){return en})),n.d(e,"f",(function(){return Oe})),n.d(e,"g",(function(){return nn})),n.d(e,"h",(function(){return S})),n.d(e,"i",(function(){return A})),n.d(e,"j",(function(){return R})),n.d(e,"k",(function(){return Xt})),n.d(e,"l",(function(){return N})),n.d(e,"m",(function(){return an})),n.d(e,"n",(function(){return ke})),n.d(e,"o",(function(){return l})),n.d(e,"p",(function(){return Se})),n.d(e,"q",(function(){return o})),n.d(e,"r",(function(){return i})),n.d(e,"s",(function(){return Ie})),n.d(e,"t",(function(){return E})),n.d(e,"u",(function(){return Ne})),n.d(e,"v",(function(){return q})),n.d(e,"w",(function(){return D})),n.d(e,"x",(function(){return L})),n.d(e,"y",(function(){return rn})),n.d(e,"z",(function(){return on})),n.d(e,"A",(function(){return sn})),n.d(e,"B",(function(){return we})),n.d(e,"C",(function(){return gn})),n.d(e,"D",(function(){return fn})),n.d(e,"E",(function(){return ht})),n.d(e,"F",(function(){return mt})),n.d(e,"G",(function(){return vt})),n.d(e,"H",(function(){return pn}));const p={},m={date:"day",hour:"hours",minute:"minutes",second:"seconds",millisecond:"milliseconds"};function h(t,e){const n=t.toLowerCase();let a=t;n in m&&(a=m[n]),p[n]=p[`${n}s`]=p[e]=a}function b(t){return r(t)?p[t]||p[t.toLowerCase()]:void 0}function _(t,e,n){const a=`${Math.abs(t)}`;return(t>=0?n?"+":"":"-")+Math.pow(10,Math.max(0,e-a.length)).toString().substr(1)+a}let y={},O={};const v=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g;function C(t,e,n,a){t&&(O[t]=a),e&&(O[e[0]]=function(){return _(a.apply(null,arguments),e[1],e[2])}),n&&(O[n]=function(e,n){return n.locale.ordinal(a.apply(null,arguments),t)})}function P(t,e,n){const a=new Date(Date.UTC.apply(null,arguments));return t<100&&t>=0&&isFinite(a.getUTCFullYear())&&a.setUTCFullYear(t),a}function M(t,e=0,n=1,a=0,r=0,o=0,i=0){const s=new Date(t,e,n,a,r,o,i);return t<100&&t>=0&&isFinite(s.getFullYear())&&s.setFullYear(t),s}function x(t,e=!1){return e?t.getUTCHours():t.getHours()}function w(t,e=!1){return e?t.getUTCMinutes():t.getMinutes()}function T(t,e=!1){return e?t.getUTCSeconds():t.getSeconds()}function k(t,e=!1){return e?t.getUTCMilliseconds():t.getMilliseconds()}function S(t,e=!1){return e?t.getUTCDay():t.getDay()}function I(t,e=!1){return e?t.getUTCDate():t.getDate()}function N(t,e=!1){return e?t.getUTCMonth():t.getMonth()}function R(t,e=!1){return e?t.getUTCFullYear():t.getFullYear()}function A(t){return M(t.getFullYear(),t.getMonth(),1,t.getHours(),t.getMinutes(),t.getSeconds())}function E(t,e){return t.getDay()===e}function D(t,e){return!(!t||!e)&&L(t,e)&&N(t)===N(e)}function L(t,e){return!(!t||!e)&&R(t)===R(e)}function q(t,e){return!(!t||!e)&&L(t,e)&&D(t,e)&&I(t)===I(e)}const j=/\d/,F=/\d\d/,z=/\d{3}/,V=/\d{4}/,G=/[+-]?\d{6}/,Y=/\d\d?/,B=/\d\d\d\d?/,H=/\d\d\d\d\d\d?/,U=/\d{1,3}/,W=/\d{1,4}/,K=/[+-]?\d{1,6}/,$=/\d+/,Z=/[+-]?\d+/,J=/Z|[+-]\d\d(?::?\d\d)?/gi,X=/[+-]?\d+(\.\d{1,3})?/,Q=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,tt={};function et(t,e,n){tt[t]=s(e)?e:function(t,a){return t&&n?n:e}}function nt(t,e){return d(tt,t)?tt[t](!1,e):new RegExp(at(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,(t,e,n,a,r)=>e||n||a||r)))}function at(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}const rt={};function ot(t,e){const n=r(t)?[t]:t;let a=e;if(c(e)&&(a=function(t,n,a){return n[e]=f(t),a}),l(n)&&s(a)){let t;for(t=0;t<n.length;t++)rt[n[t]]=a}}function it(t,e){ot(t,(function(t,n,a,r){return a._w=a._w||{},e(t,a._w,a,r)}))}function st(t,e,n){return null!=e&&d(rt,t)&&rt[t](e,n._a,n,t),n}function ct(t){return null==t._pf&&(t._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null,rfc2822:!1,weekdayMismatch:!1}),t._pf}function lt(t,e){return R(t,e.isUTC).toString()}function dt(t){return f(t)+(f(t)>68?1900:2e3)}function ut(t){return gt(t)?366:365}function gt(t){return t%4==0&&t%100!=0||t%400==0}function ft(t,e){if(isNaN(t)||isNaN(e))return NaN;const n=(e%12+12)%12;return 1===n?gt(t+(e-n)/12)?29:28:31-n%7%2}const pt={year:0,month:0,day:0,hour:0,minute:0,seconds:0};function mt(t,e){const n=Object.assign({},pt,e),a=t.getFullYear()+(n.year||0),r=t.getMonth()+(n.month||0);let o=t.getDate()+(n.day||0);return n.month&&!n.day&&(o=Math.min(o,ft(a,r))),M(a,r,o,t.getHours()+(n.hour||0),t.getMinutes()+(n.minute||0),t.getSeconds()+(n.seconds||0))}function ht(t,e){return M(bt(t.getFullYear(),e.year),bt(t.getMonth(),e.month),bt(t.getDate(),e.day),bt(t.getHours(),e.hour),bt(t.getMinutes(),e.minute),bt(t.getSeconds(),e.seconds),bt(t.getMilliseconds(),e.milliseconds))}function bt(t,e){return c(e)?e:t}function _t(t,e,n){const a=Math.min(I(t),ft(R(t),e));return n?t.setUTCMonth(e,a):t.setMonth(e,a),t}function yt(t,e,n){return n?t.setUTCDate(e):t.setDate(e),t}function Ot(t){return new Date(t.getTime())}function vt(t,e,n){const a=Ot(t);switch(e){case"year":_t(a,0,n);case"quarter":case"month":yt(a,1,n);case"week":case"isoWeek":case"day":case"date":!function(t,e,n){n?t.setUTCHours(0):t.setHours(0)}(a,0,n);case"hours":!function(t,e,n){n?t.setUTCMinutes(0):t.setMinutes(0)}(a,0,n);case"minutes":!function(t,e,n){n?t.setUTCSeconds(0):t.setSeconds(0)}(a,0,n);case"seconds":!function(t,e,n){n?t.setUTCMilliseconds(0):t.setMilliseconds(0)}(a,0,n)}return"week"===e&&function(t,e,n={}){qe(t,0-Ve(t,n.locale,n.isUTC),"day")}(a,0,{isUTC:n}),"isoWeek"===e&&function(t,e,n={}){const a=function(t,e=Xt()){return r(t)?e.weekdaysParse(t)%7||7:c(t)&&isNaN(t)?null:t}(1,n.locale);Fe(t,ze(t)%7?a:a-7)}(a),"quarter"===e&&_t(a,3*Math.floor(N(a,n)/3),n),a}function Ct(t,e,n){let a=e;return"date"===a&&(a="day"),function(t,e,n,a){return je(t,Ee(1,"milliseconds"),-1,a)}(qe(vt(t,a,n),1,"isoWeek"===a?"week":a,n),0,0,n)}function Pt(t,e){const n=+vt(t,"day",e),a=+vt(t,"year",e);return Math.round((n-a)/864e5)+1}function Mt(t,e,n){const a=e-n+7;return-(P(t,0,a).getUTCDay()-e+7)%7+a-1}function xt(t,e,n,a){const r=Mt(R(t,a),e,n),o=Math.floor((Pt(t,a)-r-1)/7)+1;let i,s;return o<1?(s=R(t,a)-1,i=o+wt(s,e,n)):o>wt(R(t,a),e,n)?(i=o-wt(R(t,a),e,n),s=R(t,a)+1):(s=R(t,a),i=o),{week:i,year:s}}function wt(t,e,n){const a=Mt(t,e,n),r=Mt(t+1,e,n);return(ut(t)-a+r)/7}const Tt=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,kt="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),St="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),It="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Nt="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Rt={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},At=Q,Et=Q;class Dt{constructor(t){t&&this.set(t)}set(t){let e;for(e in t){if(!t.hasOwnProperty(e))continue;const n=t[e];this[s(n)?e:`_${e}`]=n}this._config=t}calendar(t,e,n){const a=this._calendar[t]||this._calendar.sameElse;return s(a)?a.call(null,e,n):a}longDateFormat(t){const e=this._longDateFormat[t],n=this._longDateFormat[t.toUpperCase()];return e||!n?e:(this._longDateFormat[t]=n.replace(/MMMM|MM|DD|dddd/g,(function(t){return t.slice(1)})),this._longDateFormat[t])}get invalidDate(){return this._invalidDate}set invalidDate(t){this._invalidDate=t}ordinal(t,e){return this._ordinal.replace("%d",t.toString(10))}preparse(t){return t}postformat(t){return t}relativeTime(t,e,n,a){const r=this._relativeTime[n];return s(r)?r(t,e,n,a):r.replace(/%d/i,t.toString(10))}pastFuture(t,e){const n=this._relativeTime[t>0?"future":"past"];return s(n)?n(e):n.replace(/%s/i,e)}months(t,e,n=!1){if(!t)return l(this._months)?this._months:this._months.standalone;if(l(this._months))return this._months[N(t,n)];const a=(this._months.isFormat||Tt).test(e)?"format":"standalone";return this._months[a][N(t,n)]}monthsShort(t,e,n=!1){if(!t)return l(this._monthsShort)?this._monthsShort:this._monthsShort.standalone;if(l(this._monthsShort))return this._monthsShort[N(t,n)];const a=Tt.test(e)?"format":"standalone";return this._monthsShort[a][N(t,n)]}monthsParse(t,e,n){let a,r,o;if(this._monthsParseExact)return this.handleMonthStrictParse(t,e,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),o=0;o<12;o++){if(a=new Date(Date.UTC(2e3,o)),n&&!this._longMonthsParse[o]){const t=this.months(a,"",!0).replace(".",""),e=this.monthsShort(a,"",!0).replace(".","");this._longMonthsParse[o]=new RegExp(`^${t}$`,"i"),this._shortMonthsParse[o]=new RegExp(`^${e}$`,"i")}if(n||this._monthsParse[o]||(r=`^${this.months(a,"",!0)}|^${this.monthsShort(a,"",!0)}`,this._monthsParse[o]=new RegExp(r.replace(".",""),"i")),n&&"MMMM"===e&&this._longMonthsParse[o].test(t))return o;if(n&&"MMM"===e&&this._shortMonthsParse[o].test(t))return o;if(!n&&this._monthsParse[o].test(t))return o}}monthsRegex(t){return this._monthsParseExact?(d(this,"_monthsRegex")||this.computeMonthsParse(),t?this._monthsStrictRegex:this._monthsRegex):(d(this,"_monthsRegex")||(this._monthsRegex=Et),this._monthsStrictRegex&&t?this._monthsStrictRegex:this._monthsRegex)}monthsShortRegex(t){return this._monthsParseExact?(d(this,"_monthsRegex")||this.computeMonthsParse(),t?this._monthsShortStrictRegex:this._monthsShortRegex):(d(this,"_monthsShortRegex")||(this._monthsShortRegex=At),this._monthsShortStrictRegex&&t?this._monthsShortStrictRegex:this._monthsShortRegex)}week(t,e){return xt(t,this._week.dow,this._week.doy,e).week}firstDayOfWeek(){return this._week.dow}firstDayOfYear(){return this._week.doy}weekdays(t,e,n){if(!t)return l(this._weekdays)?this._weekdays:this._weekdays.standalone;if(l(this._weekdays))return this._weekdays[S(t,n)];const a=this._weekdays.isFormat.test(e)?"format":"standalone";return this._weekdays[a][S(t,n)]}weekdaysMin(t,e,n){return t?this._weekdaysMin[S(t,n)]:this._weekdaysMin}weekdaysShort(t,e,n){return t?this._weekdaysShort[S(t,n)]:this._weekdaysShort}weekdaysParse(t,e,n){let a,r;if(this._weekdaysParseExact)return this.handleWeekStrictParse(t,e,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),a=0;a<7;a++){const o=Fe(new Date(Date.UTC(2e3,1)),a,null,!0);if(n&&!this._fullWeekdaysParse[a]&&(this._fullWeekdaysParse[a]=new RegExp(`^${this.weekdays(o,"",!0).replace(".",".?")}$`,"i"),this._shortWeekdaysParse[a]=new RegExp(`^${this.weekdaysShort(o,"",!0).replace(".",".?")}$`,"i"),this._minWeekdaysParse[a]=new RegExp(`^${this.weekdaysMin(o,"",!0).replace(".",".?")}$`,"i")),this._weekdaysParse[a]||(r=`^${this.weekdays(o,"",!0)}|^${this.weekdaysShort(o,"",!0)}|^${this.weekdaysMin(o,"",!0)}`,this._weekdaysParse[a]=new RegExp(r.replace(".",""),"i")),!(l(this._fullWeekdaysParse)&&l(this._shortWeekdaysParse)&&l(this._minWeekdaysParse)&&l(this._weekdaysParse)))return;if(n&&"dddd"===e&&this._fullWeekdaysParse[a].test(t))return a;if(n&&"ddd"===e&&this._shortWeekdaysParse[a].test(t))return a;if(n&&"dd"===e&&this._minWeekdaysParse[a].test(t))return a;if(!n&&this._weekdaysParse[a].test(t))return a}}weekdaysRegex(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||this.computeWeekdaysParse(),t?this._weekdaysStrictRegex:this._weekdaysRegex):(d(this,"_weekdaysRegex")||(this._weekdaysRegex=Q),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)}weekdaysShortRegex(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||this.computeWeekdaysParse(),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(d(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Q),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}weekdaysMinRegex(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||this.computeWeekdaysParse(),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(d(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Q),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}isPM(t){return"p"===t.toLowerCase().charAt(0)}meridiem(t,e,n){return t>11?n?"pm":"PM":n?"am":"AM"}formatLongDate(t){this._longDateFormat=this._longDateFormat?this._longDateFormat:Rt;const e=this._longDateFormat[t],n=this._longDateFormat[t.toUpperCase()];return e||!n?e:(this._longDateFormat[t]=n.replace(/MMMM|MM|DD|dddd/g,t=>t.slice(1)),this._longDateFormat[t])}handleMonthStrictParse(t,e,n){const a=t.toLocaleLowerCase();let r,o,i;if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],r=0;r<12;++r)i=new Date(2e3,r),this._shortMonthsParse[r]=this.monthsShort(i,"").toLocaleLowerCase(),this._longMonthsParse[r]=this.months(i,"").toLocaleLowerCase();return n?"MMM"===e?(o=this._shortMonthsParse.indexOf(a),-1!==o?o:null):(o=this._longMonthsParse.indexOf(a),-1!==o?o:null):"MMM"===e?(o=this._shortMonthsParse.indexOf(a),-1!==o?o:(o=this._longMonthsParse.indexOf(a),-1!==o?o:null)):(o=this._longMonthsParse.indexOf(a),-1!==o?o:(o=this._shortMonthsParse.indexOf(a),-1!==o?o:null))}handleWeekStrictParse(t,e,n){let a;const r=t.toLocaleLowerCase();if(!this._weekdaysParse){let t;for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],t=0;t<7;++t){const e=Fe(new Date(Date.UTC(2e3,1)),t,null,!0);this._minWeekdaysParse[t]=this.weekdaysMin(e).toLocaleLowerCase(),this._shortWeekdaysParse[t]=this.weekdaysShort(e).toLocaleLowerCase(),this._weekdaysParse[t]=this.weekdays(e,"").toLocaleLowerCase()}}if(l(this._weekdaysParse)&&l(this._shortWeekdaysParse)&&l(this._minWeekdaysParse))return n?"dddd"===e?(a=this._weekdaysParse.indexOf(r),-1!==a?a:null):"ddd"===e?(a=this._shortWeekdaysParse.indexOf(r),-1!==a?a:null):(a=this._minWeekdaysParse.indexOf(r),-1!==a?a:null):"dddd"===e?(a=this._weekdaysParse.indexOf(r),-1!==a?a:(a=this._shortWeekdaysParse.indexOf(r),-1!==a?a:(a=this._minWeekdaysParse.indexOf(r),-1!==a?a:null))):"ddd"===e?(a=this._shortWeekdaysParse.indexOf(r),-1!==a?a:(a=this._weekdaysParse.indexOf(r),-1!==a?a:(a=this._minWeekdaysParse.indexOf(r),-1!==a?a:null))):(a=this._minWeekdaysParse.indexOf(r),-1!==a?a:(a=this._weekdaysParse.indexOf(r),-1!==a?a:(a=this._shortWeekdaysParse.indexOf(r),-1!==a?a:null)))}computeMonthsParse(){const t=[],e=[],n=[];let a,r;for(r=0;r<12;r++)a=new Date(2e3,r),t.push(this.monthsShort(a,"")),e.push(this.months(a,"")),n.push(this.months(a,"")),n.push(this.monthsShort(a,""));for(t.sort(Lt),e.sort(Lt),n.sort(Lt),r=0;r<12;r++)t[r]=at(t[r]),e[r]=at(e[r]);for(r=0;r<24;r++)n[r]=at(n[r]);this._monthsRegex=new RegExp(`^(${n.join("|")})`,"i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp(`^(${e.join("|")})`,"i"),this._monthsShortStrictRegex=new RegExp(`^(${t.join("|")})`,"i")}computeWeekdaysParse(){const t=[],e=[],n=[],a=[];let r;for(r=0;r<7;r++){const o=Fe(new Date(Date.UTC(2e3,1)),r,null,!0),i=this.weekdaysMin(o),s=this.weekdaysShort(o),c=this.weekdays(o);t.push(i),e.push(s),n.push(c),a.push(i),a.push(s),a.push(c)}for(t.sort(Lt),e.sort(Lt),n.sort(Lt),a.sort(Lt),r=0;r<7;r++)e[r]=at(e[r]),n[r]=at(n[r]),a[r]=at(a[r]);this._weekdaysRegex=new RegExp(`^(${a.join("|")})`,"i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp(`^(${n.join("|")})`,"i"),this._weekdaysShortStrictRegex=new RegExp(`^(${e.join("|")})`,"i"),this._weekdaysMinStrictRegex=new RegExp(`^(${t.join("|")})`,"i")}}function Lt(t,e){return e.length-t.length}const qt={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:Rt,invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:kt,monthsShort:St,week:{dow:0,doy:6},weekdays:It,weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),weekdaysShort:Nt,meridiemParse:/[ap]\.?m?\.?/i};function jt(t,e,n){const a=Math.min(t.length,e.length),r=Math.abs(t.length-e.length);let o,i=0;for(o=0;o<a;o++)(n&&t[o]!==e[o]||!n&&f(t[o])!==f(e[o]))&&i++;return i+r}function Ft(t,e){C(null,[t,t.length,!1],null,e)}function zt(t,e){return Gt(t,e.locale).toString()}function Vt(t){return Yt(t).toString()}function Gt(t,e=Xt(),n){return xt(t,e.firstDayOfWeek(),e.firstDayOfYear(),n).year}function Yt(t,e){return xt(t,1,4,e).year}function Bt(t,e){C(t,null,null,(function(t,n){let a=function(t,e={}){return e._isUTC?e._offset||0:function(t){return 15*-Math.round(t.getTimezoneOffset()/15)}(t)}(t,{_isUTC:n.isUTC,_offset:n.offset}),r="+";return a<0&&(a=-a,r="-"),r+_(~~(a/60),2)+e+_(~~a%60,2)}))}const Ht=/([\+\-]|\d\d)/gi,Ut={},Wt={};let Kt;function $t(t){return t?t.toLowerCase().replace("_","-"):t}function Zt(t,e){let n;return t&&(g(e)?n=Xt(t):r(t)&&(n=Jt(t,e)),n&&(Kt=n)),Kt&&Kt._abbr}function Jt(t,e){if(null===e)return delete Ut[t],Kt=Xt("en"),null;if(!e)return;let n=qt;if(e.abbr=t,null!=e.parentLocale){if(null==Ut[e.parentLocale])return Wt[e.parentLocale]||(Wt[e.parentLocale]=[]),Wt[e.parentLocale].push({name:t,config:e}),null;n=Ut[e.parentLocale]._config}return Ut[t]=new Dt(function(t,e){const n=Object.assign({},t);for(const a in e)d(e,a)&&(u(t[a])&&u(e[a])?(n[a]={},Object.assign(n[a],t[a]),Object.assign(n[a],e[a])):null!=e[a]?n[a]=e[a]:delete n[a]);for(const a in t)d(t,a)&&!d(e,a)&&u(t[a])&&(n[a]=Object.assign({},n[a]));return n}(n,e)),Wt[t]&&Wt[t].forEach((function(t){Jt(t.name,t.config)})),Zt(t),Ut[t]}function Xt(t){return Ut.en||(Zt("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal(t){const e=t%10;return t+(1===f(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")}}),C("w",["ww",2,!1],"wo",(function(t,e){return function(t,e=Xt(),n){return e.week(t,void 0)}(t,e.locale).toString(10)})),C("W",["WW",2,!1],"Wo",(function(t){return function(t,e){return xt(t,1,4,void 0).week}(t).toString(10)})),h("week","w"),h("isoWeek","W"),et("w",Y),et("ww",Y,F),et("W",Y),et("WW",Y,F),it(["w","ww","W","WW"],(function(t,e,n,a){return e[a.substr(0,1)]=f(t),n})),C(null,["gg",2,!1],null,(function(t,e){return(Gt(t,e.locale)%100).toString()})),C(null,["GG",2,!1],null,(function(t){return(Yt(t)%100).toString()})),Ft("gggg",zt),Ft("ggggg",zt),Ft("GGGG",Vt),Ft("GGGGG",Vt),h("weekYear","gg"),h("isoWeekYear","GG"),et("G",Z),et("g",Z),et("GG",Y,F),et("gg",Y,F),et("GGGG",W,V),et("gggg",W,V),et("GGGGG",K,G),et("ggggg",K,G),it(["gggg","ggggg","GGGG","GGGGG"],(function(t,e,n,a){return e[a.substr(0,2)]=f(t),n})),it(["gg","GG"],(function(t,e,n,a){return e[a]=dt(t),n})),C("Y",null,null,(function(t,e){const n=R(t,e.isUTC);return n<=9999?n.toString(10):`+${n}`})),C(null,["YY",2,!1],null,(function(t,e){return(R(t,e.isUTC)%100).toString(10)})),C(null,["YYYY",4,!1],null,lt),C(null,["YYYYY",5,!1],null,lt),C(null,["YYYYYY",6,!0],null,lt),h("year","y"),et("Y",Z),et("YY",Y,F),et("YYYY",W,V),et("YYYYY",K,G),et("YYYYYY",K,G),ot(["YYYYY","YYYYYY"],0),ot("YYYY",(function(t,e,n){return e[0]=2===t.length?dt(t):f(t),n})),ot("YY",(function(t,e,n){return e[0]=dt(t),n})),ot("Y",(function(t,e,n){return e[0]=parseInt(t,10),n})),C("z",null,null,(function(t,e){return e.isUTC?"UTC":""})),C("zz",null,null,(function(t,e){return e.isUTC?"Coordinated Universal Time":""})),C("X",null,null,(function(t){return function(t){return Math.floor(t.valueOf()/1e3)}(t).toString(10)})),C("x",null,null,(function(t){return t.valueOf().toString(10)})),et("x",Z),et("X",X),ot("X",(function(t,e,n){return n._d=new Date(1e3*parseFloat(t)),n})),ot("x",(function(t,e,n){return n._d=new Date(f(t)),n})),C("s",["ss",2,!1],null,(function(t,e){return T(t,e.isUTC).toString(10)})),h("second","s"),et("s",Y),et("ss",Y,F),ot(["s","ss"],5),C("Q",null,"Qo",(function(t,e){return function(t,e=!1){return Math.ceil((N(t,e)+1)/3)}(t,e.isUTC).toString(10)})),h("quarter","Q"),et("Q",j),ot("Q",(function(t,e,n){return e[1]=3*(f(t)-1),n})),Bt("Z",":"),Bt("ZZ",""),et("Z",J),et("ZZ",J),ot(["Z","ZZ"],(function(t,e,n){return n._useUTC=!0,n._tzm=function(t,e){const n=(e||"").match(t);if(null===n)return null;const a=n[n.length-1].match(Ht)||["-","0","0"],r=60*parseInt(a[1],10)+f(a[2]);return 0===r?0:"+"===a[0]?r:-r}(J,t),n})),C("M",["MM",2,!1],"Mo",(function(t,e){return(N(t,e.isUTC)+1).toString(10)})),C("MMM",null,null,(function(t,e){return e.locale.monthsShort(t,e.format,e.isUTC)})),C("MMMM",null,null,(function(t,e){return e.locale.months(t,e.format,e.isUTC)})),h("month","M"),et("M",Y),et("MM",Y,F),et("MMM",(function(t,e){return e.monthsShortRegex(t)})),et("MMMM",(function(t,e){return e.monthsRegex(t)})),ot(["M","MM"],(function(t,e,n){return e[1]=f(t)-1,n})),ot(["MMM","MMMM"],(function(t,e,n,a){const r=n._locale.monthsParse(t,a,n._strict);return null!=r?e[1]=r:ct(n).invalidMonth=!!t,n})),C("m",["mm",2,!1],null,(function(t,e){return w(t,e.isUTC).toString(10)})),h("minute","m"),et("m",Y),et("mm",Y,F),ot(["m","mm"],4),function(){let t;for(C("S",null,null,(function(t,e){return(~~(k(t,e.isUTC)/100)).toString(10)})),C(null,["SS",2,!1],null,(function(t,e){return(~~(k(t,e.isUTC)/10)).toString(10)})),C(null,["SSS",3,!1],null,(function(t,e){return k(t,e.isUTC).toString(10)})),C(null,["SSSS",4,!1],null,(function(t,e){return(10*k(t,e.isUTC)).toString(10)})),C(null,["SSSSS",5,!1],null,(function(t,e){return(100*k(t,e.isUTC)).toString(10)})),C(null,["SSSSSS",6,!1],null,(function(t,e){return(1e3*k(t,e.isUTC)).toString(10)})),C(null,["SSSSSSS",7,!1],null,(function(t,e){return(1e4*k(t,e.isUTC)).toString(10)})),C(null,["SSSSSSSS",8,!1],null,(function(t,e){return(1e5*k(t,e.isUTC)).toString(10)})),C(null,["SSSSSSSSS",9,!1],null,(function(t,e){return(1e6*k(t,e.isUTC)).toString(10)})),h("millisecond","ms"),et("S",U,j),et("SS",U,F),et("SSS",U,z),t="SSSS";t.length<=9;t+="S")et(t,$);function e(t,e,n){return e[6]=f(1e3*parseFloat(`0.${t}`)),n}for(t="S";t.length<=9;t+="S")ot(t,e)}(),function(){function t(t,e){return x(t,e)%12||12}function e(t,e){C(t,null,null,(function(t,n){return n.locale.meridiem(x(t,n.isUTC),w(t,n.isUTC),e)}))}function n(t,e){return e._meridiemParse}C("H",["HH",2,!1],null,(function(t,e){return x(t,e.isUTC).toString(10)})),C("h",["hh",2,!1],null,(function(e,n){return t(e,n.isUTC).toString(10)})),C("k",["kk",2,!1],null,(function(t,e){return function(t,e){return x(t,e)||24}(t,e.isUTC).toString(10)})),C("hmm",null,null,(function(e,n){return`${t(e,n.isUTC)}${_(w(e,n.isUTC),2)}`})),C("hmmss",null,null,(function(e,n){return`${t(e,n.isUTC)}${_(w(e,n.isUTC),2)}${_(T(e,n.isUTC),2)}`})),C("Hmm",null,null,(function(t,e){return`${x(t,e.isUTC)}${_(w(t,e.isUTC),2)}`})),C("Hmmss",null,null,(function(t,e){return`${x(t,e.isUTC)}${_(w(t,e.isUTC),2)}${_(T(t,e.isUTC),2)}`})),e("a",!0),e("A",!1),h("hour","h"),et("a",n),et("A",n),et("H",Y),et("h",Y),et("k",Y),et("HH",Y,F),et("hh",Y,F),et("kk",Y,F),et("hmm",B),et("hmmss",H),et("Hmm",B),et("Hmmss",H),ot(["H","HH"],3),ot(["k","kk"],(function(t,e,n){const a=f(t);return e[3]=24===a?0:a,n})),ot(["a","A"],(function(t,e,n){return n._isPm=n._locale.isPM(t),n._meridiem=t,n})),ot(["h","hh"],(function(t,e,n){return e[3]=f(t),ct(n).bigHour=!0,n})),ot("hmm",(function(t,e,n){const a=t.length-2;return e[3]=f(t.substr(0,a)),e[4]=f(t.substr(a)),ct(n).bigHour=!0,n})),ot("hmmss",(function(t,e,n){const a=t.length-4,r=t.length-2;return e[3]=f(t.substr(0,a)),e[4]=f(t.substr(a,2)),e[5]=f(t.substr(r)),ct(n).bigHour=!0,n})),ot("Hmm",(function(t,e,n){const a=t.length-2;return e[3]=f(t.substr(0,a)),e[4]=f(t.substr(a)),n})),ot("Hmmss",(function(t,e,n){const a=t.length-4,r=t.length-2;return e[3]=f(t.substr(0,a)),e[4]=f(t.substr(a,2)),e[5]=f(t.substr(r)),n}))}(),C("DDD",["DDDD",3,!1],"DDDo",(function(t){return Pt(t).toString(10)})),h("dayOfYear","DDD"),et("DDD",U),et("DDDD",z),ot(["DDD","DDDD"],(function(t,e,n){return n._dayOfYear=f(t),n})),C("d",null,"do",(function(t,e){return S(t,e.isUTC).toString(10)})),C("dd",null,null,(function(t,e){return e.locale.weekdaysMin(t,e.format,e.isUTC)})),C("ddd",null,null,(function(t,e){return e.locale.weekdaysShort(t,e.format,e.isUTC)})),C("dddd",null,null,(function(t,e){return e.locale.weekdays(t,e.format,e.isUTC)})),C("e",null,null,(function(t,e){return Ve(t,e.locale,e.isUTC).toString(10)})),C("E",null,null,(function(t,e){return function(t,e){return S(t,e)||7}(t,e.isUTC).toString(10)})),h("day","d"),h("weekday","e"),h("isoWeekday","E"),et("d",Y),et("e",Y),et("E",Y),et("dd",(function(t,e){return e.weekdaysMinRegex(t)})),et("ddd",(function(t,e){return e.weekdaysShortRegex(t)})),et("dddd",(function(t,e){return e.weekdaysRegex(t)})),it(["dd","ddd","dddd"],(function(t,e,n,a){const r=n._locale.weekdaysParse(t,a,n._strict);return null!=r?e.d=r:ct(n).invalidWeekday=!!t,n})),it(["d","e","E"],(function(t,e,n,a){return e[a]=f(t),n})),C("D",["DD",2,!1],"Do",(function(t,e){return I(t,e.isUTC).toString(10)})),h("date","D"),et("D",Y),et("DD",Y,F),et("Do",(function(t,e){return e._dayOfMonthOrdinalParse||e._ordinalParse})),ot(["D","DD"],2),ot("Do",(function(t,e,n){return e[2]=f(t.match(Y)[0]),n}))),t?function(t){let e,n,a=0;for(;a<t.length;){const o=$t(t[a]).split("-");let i=o.length;for(e=$t(t[a+1]),e=e?e.split("-"):null;i>0;){if(r=o.slice(0,i).join("-"),Ut[r]||console.error(`Khronos locale error: please load locale "${r}" before using it`),n=Ut[r],n)return n;if(e&&e.length>=i&&jt(o,e,!0)>=i-1)break;i--}a++}var r;return null}(l(t)?t:[t]):Kt}const Qt=["year","quarter","month","week","day","hours","minutes","seconds","milliseconds"],te=Qt.reduce((t,e)=>(t[e]=!0,t),{});function ee(t){return t<0?Math.floor(t):Math.ceil(t)}function ne(t){return 4800*t/146097}function ae(t){return 146097*t/4800}let re=Math.round;function oe(t,e,n,a,r){return r.relativeTime(e||1,!!n,t,a)}class ie{constructor(t,e={}){this._data={},this._locale=Xt(),this._locale=e&&e._locale||Xt();const n=t.year||0,r=t.quarter||0,o=t.month||0,i=t.week||0,s=t.day||0,c=t.hours||0,l=t.minutes||0,d=t.seconds||0,u=t.milliseconds||0;return this._isValid=function(t){if(Object.keys(t).some(e=>e in te&&null===t[e]||isNaN(t[e])))return!1;let e=!1;for(let n=0;n<Qt.length;++n)if(t[Qt[n]]){if(e)return!1;t[Qt[n]]!==f(t[Qt[n]])&&(e=!0)}return!0}(t),this._milliseconds=+u+1e3*d+60*l*1e3+1e3*c*60*60,this._days=+s+7*i,this._months=+o+3*r+12*n,function(t){let e=t._milliseconds,n=t._days,r=t._months;const o=t._data;e>=0&&n>=0&&r>=0||e<=0&&n<=0&&r<=0||(e+=864e5*ee(ae(r)+n),n=0,r=0),o.milliseconds=e%1e3;const i=a(e/1e3);o.seconds=i%60;const s=a(i/60);o.minutes=s%60;const c=a(s/60);o.hours=c%24,n+=a(c/24);const l=a(ne(n));r+=l,n-=ee(ae(l));const d=a(r/12);return r%=12,o.day=n,o.month=r,o.year=d,t}(this)}isValid(){return this._isValid}humanize(t){if(!this.isValid())return this.localeData().invalidDate;const e=this.localeData();let n=function(t,e,n){const a=Ee(t).abs(),r=re(a.as("s")),o=re(a.as("m")),i=re(a.as("h")),s=re(a.as("d")),c=re(a.as("M")),l=re(a.as("y")),d=r<=44&&["s",r]||r<45&&["ss",r]||o<=1&&["m"]||o<45&&["mm",o]||i<=1&&["h"]||i<22&&["hh",i]||s<=1&&["d"]||s<26&&["dd",s]||c<=1&&["M"]||c<11&&["MM",c]||l<=1&&["y"]||["yy",l];return oe.apply(null,[d[0],d[1],e,+t>0,n])}(this,!t,e);return t&&(n=e.pastFuture(+this,n)),e.postformat(n)}localeData(){return this._locale}locale(t){return t?(this._locale=Xt(t)||this._locale,this):this._locale._abbr}abs(){const t=Math.abs,e=this._data;return this._milliseconds=t(this._milliseconds),this._days=t(this._days),this._months=t(this._months),e.milliseconds=t(e.milliseconds),e.seconds=t(e.seconds),e.minutes=t(e.minutes),e.hours=t(e.hours),e.month=t(e.month),e.year=t(e.year),this}as(t){if(!this.isValid())return NaN;let e,n;const a=this._milliseconds,r=b(t);if("month"===r||"year"===r)return e=this._days+a/864e5,n=this._months+ne(e),"month"===r?n:n/12;switch(e=this._days+Math.round(ae(this._months)),r){case"week":return e/7+a/6048e5;case"day":return e+a/864e5;case"hours":return 24*e+a/36e5;case"minutes":return 1440*e+a/6e4;case"seconds":return 86400*e+a/1e3;case"milliseconds":return Math.floor(864e5*e)+a;default:throw new Error(`Unknown unit ${r}`)}}valueOf(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*f(this._months/12):NaN}}function se(t){if(null==t._isValid){const e=ct(t),n=Array.prototype.some.call(e.parsedDateParts,(function(t){return null!=t}));let a=!isNaN(t._d&&t._d.getTime())&&e.overflow<0&&!e.empty&&!e.invalidMonth&&!e.invalidWeekday&&!e.weekdayMismatch&&!e.nullInput&&!e.invalidFormat&&!e.userInvalidated&&(!e.meridiem||e.meridiem&&n);if(t._strict&&(a=a&&0===e.charsLeftOver&&0===e.unusedTokens.length&&void 0===e.bigHour),null!=Object.isFrozen&&Object.isFrozen(t))return a;t._isValid=a}return t._isValid}function ce(t,e){return t._d=new Date(NaN),Object.assign(ct(t),e||{userInvalidated:!0}),t}const le=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,de=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,ue=/Z|[+-]\d\d(?::?\d\d)?/,ge=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/,!0],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/,!0],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/,!0],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/,!0],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/,!0],["YYYYMMDD",/\d{8}/,!0],["GGGG[W]WWE",/\d{4}W\d{3}/,!0],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/,!0]],fe=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],pe=/^\/?Date\((\-?\d+)/i,me={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480},he=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/;function be(t){if(!r(t._i))return t;const e=t._i,n=le.exec(e)||de.exec(e);let a,o,i,s,c,l;if(!n)return t._isValid=!1,t;for(c=0,l=ge.length;c<l;c++)if(ge[c][1].exec(n[1])){o=ge[c][0],a=!1!==ge[c][2];break}if(null==o)return t._isValid=!1,t;if(n[3]){for(c=0,l=fe.length;c<l;c++)if(fe[c][1].exec(n[3])){i=(n[2]||" ")+fe[c][0];break}if(null==i)return t._isValid=!1,t}if(!a&&null!=i)return t._isValid=!1,t;if(n[4]){if(!ue.exec(n[4]))return t._isValid=!1,t;s="Z"}return t._f=o+(i||"")+(s||""),xe(t)}function _e(t){const e=parseInt(t,10);return e<=49?e+2e3:e}function ye(t){if(!r(t._i))return t;const e=he.exec(t._i.replace(/\([^)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim());if(!e)return function(t){return t._isValid=!1,t}(t);const n=function(t,e,n,a,r,o){const i=[_e(t),St.indexOf(e),parseInt(n,10),parseInt(a,10),parseInt(r,10)];return o&&i.push(parseInt(o,10)),i}(e[4],e[3],e[2],e[5],e[6],e[7]);return function(t,e,n){return!t||Nt.indexOf(t)===new Date(e[0],e[1],e[2]).getDay()||(ct(n).weekdayMismatch=!0,n._isValid=!1,!1)}(e[1],n,t)?(t._a=n,t._tzm=function(t,e,n){if(t)return me[t];if(e)return 0;{const t=parseInt(n,10),e=t%100;return(t-e)/100*60+e}}(e[8],e[9],e[10]),t._d=P.apply(null,t._a),t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),ct(t).rfc2822=!0,t):t}function Oe(t,e,n,a,r=0){const o=Xt(n||"en");if(!o)throw new Error(`Locale "${n}" is not defined, please add it with "defineLocale(...)"`);const c=function(t,e,n,a,r=0){if(!i(t))return n.invalidDate;const o=ve(e,n);return y[o]=y[o]||function(t){const e=t.match(v),n=e.length,a=new Array(n);for(let o=0;o<n;o++)a[o]=O[e[o]]?O[e[o]]:(r=e[o]).match(/\[[\s\S]/)?r.replace(/^\[|\]$/g,""):r.replace(/\\/g,"");var r;return function(e,r,o,i=0){let c="";for(let l=0;l<n;l++)c+=s(a[l])?a[l].call(null,e,{format:t,locale:r,isUTC:o,offset:i}):a[l];return c}}(o),y[o](t,n,a,r)}(t,e||(a?"YYYY-MM-DDTHH:mm:ss[Z]":"YYYY-MM-DDTHH:mm:ssZ"),o,a,r);return c?o.postformat(c):c}function ve(t,e){let n=t,a=5;const r=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,o=t=>e.formatLongDate(t)||t;for(r.lastIndex=0;a>=0&&r.test(n);)n=n.replace(r,o),r.lastIndex=0,a-=1;return n}function Ce(t,e,n){return null!=t?t:null!=e?e:n}function Pe(t){const e=[];let n,a,r,o,i;if(t._d)return t;for(r=function(t){const e=new Date;return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}(t),t._w&&null==t._a[2]&&null==t._a[1]&&function(t){let e,n,a,r,o,i,s,c;if(e=t._w,null!=e.GG||null!=e.W||null!=e.E)o=1,i=4,n=Ce(e.GG,t._a[0],xt(new Date,1,4).year),a=Ce(e.W,1),r=Ce(e.E,1),(r<1||r>7)&&(c=!0);else{o=t._locale._week.dow,i=t._locale._week.doy;const s=xt(new Date,o,i);n=Ce(e.gg,t._a[0],s.year),a=Ce(e.w,s.week),null!=e.d?(r=e.d,(r<0||r>6)&&(c=!0)):null!=e.e?(r=e.e+o,(e.e<0||e.e>6)&&(c=!0)):r=o}a<1||a>wt(n,o,i)?ct(t)._overflowWeeks=!0:null!=c?ct(t)._overflowWeekday=!0:(s=function(t,e,n,a,r){const o=1+7*(e-1)+(7+n-a)%7+Mt(t,a,r);let i,s;return o<=0?(i=t-1,s=ut(i)+o):o>ut(t)?(i=t+1,s=o-ut(t)):(i=t,s=o),{year:i,dayOfYear:s}}(n,a,r,o,i),t._a[0]=s.year,t._dayOfYear=s.dayOfYear)}(t),null!=t._dayOfYear&&(i=Ce(t._a[0],r[0]),(t._dayOfYear>ut(i)||0===t._dayOfYear)&&(ct(t)._overflowDayOfYear=!0),a=new Date(Date.UTC(i,0,t._dayOfYear)),t._a[1]=a.getUTCMonth(),t._a[2]=a.getUTCDate()),n=0;n<3&&null==t._a[n];++n)t._a[n]=e[n]=r[n];for(;n<7;n++)t._a[n]=e[n]=null==t._a[n]?2===n?1:0:t._a[n];return 24===t._a[3]&&0===t._a[4]&&0===t._a[5]&&0===t._a[6]&&(t._nextDay=!0,t._a[3]=0),t._d=(t._useUTC?P:M).apply(null,e),o=t._useUTC?t._d.getUTCDay():t._d.getDay(),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[3]=24),t._w&&void 0!==t._w.d&&t._w.d!==o&&(ct(t).weekdayMismatch=!0),t}function Me(t){let e;const n=t._a;return n&&-2===ct(t).overflow&&(e=n[1]<0||n[1]>11?1:n[2]<1||n[2]>ft(n[0],n[1])?2:n[3]<0||n[3]>24||24===n[3]&&(0!==n[4]||0!==n[5]||0!==n[6])?3:n[4]<0||n[4]>59?4:n[5]<0||n[5]>59?5:n[6]<0||n[6]>999?6:-1,ct(t)._overflowDayOfYear&&(e<0||e>2)&&(e=2),ct(t)._overflowWeeks&&-1===e&&(e=7),ct(t)._overflowWeekday&&-1===e&&(e=8),ct(t).overflow=e),t}function xe(t){if("ISO_8601"===t._f)return be(t);if("RFC_2822"===t._f)return ye(t);if(t._a=[],ct(t).empty=!0,l(t._f)||!t._i&&0!==t._i)return t;let e=t._i.toString(),n=0;const a=e.length,r=ve(t._f,t._locale).match(v)||[];let o,i,s,c;for(o=0;o<r.length;o++)i=r[o],s=(e.match(nt(i,t._locale))||[])[0],s&&(c=e.substr(0,e.indexOf(s)),c.length>0&&ct(t).unusedInput.push(c),e=e.slice(e.indexOf(s)+s.length),n+=s.length),O[i]?(s?ct(t).empty=!1:ct(t).unusedTokens.push(i),st(i,s,t)):t._strict&&!s&&ct(t).unusedTokens.push(i);return ct(t).charsLeftOver=a-n,e.length>0&&ct(t).unusedInput.push(e),t._a[3]<=12&&!0===ct(t).bigHour&&t._a[3]>0&&(ct(t).bigHour=void 0),ct(t).parsedDateParts=t._a.slice(0),ct(t).meridiem=t._meridiem,t._a[3]=function(t,e,n){let a=e;if(null==n)return a;if(null!=t.meridiemHour)return t.meridiemHour(a,n);if(null==t.isPM)return a;const r=t.isPM(n);return r&&a<12&&(a+=12),r||12!==a||(a=0),a}(t._locale,t._a[3],t._meridiem),Pe(t),Me(t)}function we(t,e,n,a,i){return o(t)?t:function(t,e,n,a,i){const s={};let f=t;return(u(f)&&function(t){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(t).length;let e;for(e in t)if(t.hasOwnProperty(e))return!1;return!0}(f)||l(f)&&0===f.length)&&(f=void 0),s._useUTC=s._isUTC=i,s._l=n,s._i=f,s._f=e,s._strict=a,function(t){const e=Me(function(t){let e=t._i;const n=t._f;return t._locale=t._locale||Xt(t._l),null===e||void 0===n&&""===e?ce(t,{nullInput:!0}):(r(e)&&(t._i=e=t._locale.preparse(e)),o(e)?(t._d=Ot(e),t):(l(n)?function(t){let e,n,a,r,o;if(!t._f||0===t._f.length)return ct(t).invalidFormat=!0,ce(t);for(o=0;o<t._f.length;o++)r=0,e=Object.assign({},t),null!=t._useUTC&&(e._useUTC=t._useUTC),e._f=t._f[o],xe(e),se(e)&&(r+=ct(e).charsLeftOver,r+=10*ct(e).unusedTokens.length,ct(e).score=r,(null==a||r<a)&&(a=r,n=e));Object.assign(t,n||e)}(t):n?xe(t):function(t){const e=t._i;if(g(e))t._d=new Date;else if(o(e))t._d=Ot(e);else if(r(e))!function(t){if(!r(t._i))return t;const e=pe.exec(t._i);null!==e?t._d=new Date(+e[1]):(be(t),!1!==t._isValid||(delete t._isValid,ye(t),!1!==t._isValid||(delete t._isValid,ce(t))))}(t);else if(l(e)&&e.length){const n=e.slice(0);t._a=n.map(t=>r(t)?parseInt(t,10):t),Pe(t)}else if(u(e))!function(t){if(t._d)return t;const e=t._i;if(u(e)){const n=function(t){const e={};let n,a;for(a in t)d(t,a)&&(n=b(a),n&&(e[n]=t[a]));return e}(e);t._a=[n.year,n.month,n.day,n.hours,n.minutes,n.seconds,n.milliseconds].map(t=>r(t)?parseInt(t,10):t)}Pe(t)}(t);else{if(!c(e))return ce(t);t._d=new Date(e)}}(t),se(t)||(t._d=null),t))}(t));return e._d=new Date(null!=e._d?e._d.getTime():NaN),se(Object.assign({},e,{_isValid:null}))||(e._d=new Date(NaN)),e}(s)}(t,e,n,a,i)._d}function Te(t){return t<0?-1*Math.round(-1*t):Math.round(t)}function ke(t,e,n="milliseconds"){return!(!t||!e)&&("milliseconds"===n?t.valueOf()>e.valueOf():e.valueOf()<vt(t,n).valueOf())}function Se(t,e,n="milliseconds"){return!(!t||!e)&&("milliseconds"===n?t.valueOf()<e.valueOf():Ct(t,n).valueOf()<e.valueOf())}function Ie(t,e){return!(void 0===e||!e||!e.length)&&e.some(e=>e===t.getDay())}function Ne(t,e,n="milliseconds"){if(!t||!e)return!1;if("milliseconds"===n)return t.valueOf()===e.valueOf();const a=e.valueOf();return vt(t,n).valueOf()<=a&&a<=Ct(t,n).valueOf()}const Re=/^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Ae=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function Ee(t,e,n={}){const a=function(t,e){if(null==t)return{};if(t instanceof ie)return{milliseconds:t._milliseconds,day:t._days,month:t._months};if(c(t))return e?{[e]:t}:{milliseconds:t};if(r(t)){let e=Re.exec(t);if(e){const t="-"===e[1]?-1:1;return{year:0,day:f(e[2])*t,hours:f(e[3])*t,minutes:f(e[4])*t,seconds:f(e[5])*t,milliseconds:f(Te(1e3*f(e[6])))*t}}if(e=Ae.exec(t),e){const t="-"===e[1]?-1:1;return{year:De(e[2],t),month:De(e[3],t),week:De(e[4],t),day:De(e[5],t),hours:De(e[6],t),minutes:De(e[7],t),seconds:De(e[8],t)}}}if(u(t)&&("from"in t||"to"in t)){const e=function(t,e){if(!i(t)||!i(e))return{milliseconds:0,months:0};let n;const a=function(t,e,n={}){if(!n._isUTC)return t;const a=Ot(e),r=6e4*(n._offset||0),o=t.valueOf()-a.valueOf()+r;return a.setTime(a.valueOf()+o),a}(e,t,{_offset:t.getTimezoneOffset()});return Se(t,a)?n=Le(t,a):(n=Le(a,t),n.milliseconds=-n.milliseconds,n.months=-n.months),n}(we(t.from),we(t.to));return{milliseconds:e.milliseconds,month:e.months}}return t}(t,e);return new ie(a,n)}function De(t,e){const n=t&&parseFloat(t.replace(",","."));return(isNaN(n)?0:n)*e}function Le(t,e){const n={milliseconds:0,months:0};return n.months=N(e)-N(t)+12*(R(e)-R(t)),ke(qe(Ot(t),n.months,"month"),e)&&--n.months,n.milliseconds=+e-+qe(Ot(t),n.months,"month"),n}function qe(t,e,n,a){return je(t,Ee(e,n),1,a)}function je(t,e,n,a){const r=e._milliseconds,o=Te(e._days),i=Te(e._months);return i&&_t(t,N(t,a)+i*n,a),o&&yt(t,I(t,a)+o*n,a),r&&function(t,e){t.setTime(e)}(t,function(t){return t.getTime()}(t)+r*n),Ot(t)}function Fe(t,e,n=Xt(),a){const o=S(t,a);return qe(t,function(t,e){if(!r(t))return t;const n=parseInt(t,10);if(!isNaN(n))return n;const a=e.weekdaysParse(t);return c(a)?a:null}(e,n)-o,"day")}function ze(t,e){return S(t,e)}function Ve(t,e=Xt(),n){return(S(t,n)+7-e.firstDayOfWeek())%7}const Ge="leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec".split("_"),Ye="led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro".split("_");function Be(t){return t>1&&t<5&&1!=~~(t/10)}function He(t,e,n,a){const r=t+" ";switch(n){case"s":return e||a?"pár sekund":"pár sekundami";case"ss":return e||a?r+(Be(t)?"sekundy":"sekund"):r+"sekundami";case"m":return e?"minuta":a?"minutu":"minutou";case"mm":return e||a?r+(Be(t)?"minuty":"minut"):r+"minutami";case"h":return e?"hodina":a?"hodinu":"hodinou";case"hh":return e||a?r+(Be(t)?"hodiny":"hodin"):r+"hodinami";case"d":return e||a?"den":"dnem";case"dd":return e||a?r+(Be(t)?"dny":"dní"):r+"dny";case"M":return e||a?"měsíc":"měsícem";case"MM":return e||a?r+(Be(t)?"měsíce":"měsíců"):r+"měsíci";case"y":return e||a?"rok":"rokem";case"yy":return e||a?r+(Be(t)?"roky":"let"):r+"lety"}}const Ue=function(t){let e,n=[];for(e=0;e<12;e++)n[e]=new RegExp("^"+t[e]+"$","i");return n},We=function(t){let e,n=[];for(e=0;e<12;e++)n[e]=new RegExp("^"+t[e]+"$","i");return n},Ke={abbr:"cs",months:Ge,monthsShort:Ye,monthsParse:function(t,e){let n,a=[];for(n=0;n<12;n++)a[n]=new RegExp("^"+t[n]+"$|^"+e[n]+"$","i");return a}(Ge,Ye),shortMonthsParse:Ue(Ye),longMonthsParse:We(Ge),weekdays:"neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota".split("_"),weekdaysShort:"ne_po_út_st_čt_pá_so".split("_"),weekdaysMin:"ne_po_út_st_čt_pá_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm",l:"D. M. YYYY"},calendar:{sameDay:"[dnes v] LT",nextDay:"[zítra v] LT",nextWeek(t){switch(ze(t)){case 0:return"[v neděli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve středu v] LT";case 4:return"[ve čtvrtek v] LT";case 5:return"[v pátek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[včera v] LT",lastWeek(t){switch(ze(t)){case 0:return"[minulou neděli v] LT";case 1:case 2:return"[minulé] dddd [v] LT";case 3:return"[minulou středu v] LT";case 4:case 5:return"[minulý] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"před %s",s:He,ss:He,m:He,mm:He,h:He,hh:He,d:He,dd:He,M:He,MM:He,y:He,yy:He},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}};function $e(t,e,n,a){const r={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[t+" Tage",t+" Tagen"],M:["ein Monat","einem Monat"],MM:[t+" Monate",t+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[t+" Jahre",t+" Jahren"]};return e?r[n][0]:r[n][1]}const Ze={abbr:"de",months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:$e,mm:"%d Minuten",h:$e,hh:"%d Stunden",d:$e,dd:$e,M:$e,MM:$e,y:$e,yy:$e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}};let Je="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),Xe="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),Qe=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],tn=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;const en={abbr:"es",months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:(t,e,n)=>t?/-MMM-/.test(e)?Xe[N(t,n)]:Je[N(t,n)]:Je,monthsRegex:tn,monthsShortRegex:tn,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:Qe,longMonthsParse:Qe,shortMonthsParse:Qe,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:t=>"[hoy a la"+(1!==x(t)?"s":"")+"] LT",nextDay:t=>"[mañana a la"+(1!==x(t)?"s":"")+"] LT",nextWeek:t=>"dddd [a la"+(1!==x(t)?"s":"")+"] LT",lastDay:t=>"[ayer a la"+(1!==x(t)?"s":"")+"] LT",lastWeek:t=>"[el] dddd [pasado a la"+(1!==x(t)?"s":"")+"] LT",sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}},nn={abbr:"fr",months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|)/,ordinal(t,e){const n=Number(t);switch(e){case"D":return n+(1===n?"er":"");default:case"M":case"Q":case"DDD":case"d":return n+(1===n?"er":"e");case"w":case"W":return n+(1===n?"re":"e")}},week:{dow:1,doy:4}},an={abbr:"id",months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nov_Des".split("_"),weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|siang|sore|malam/,meridiemHour:(t,e)=>(12===t&&(t=0),"pagi"===e?t:"siang"===e?t>=11?t:t+12:"sore"===e||"malam"===e?t+12:void 0),meridiem:(t,e,n)=>t<11?"pagi":t<15?"siang":t<19?"sore":"malam",calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",ss:"%d detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}},rn={abbr:"it",months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek(t){switch(ze(t)){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:t=>(/^[0-9].+$/.test(t.toString(10))?"tra":"in")+" "+t,past:"%s fa",s:"alcuni secondi",ss:"%d secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}},on={abbr:"ja",months:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日".split("_"),weekdaysShort:"日_月_火_水_木_金_土".split("_"),weekdaysMin:"日_月_火_水_木_金_土".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日 HH:mm dddd",l:"YYYY/MM/DD",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日 HH:mm dddd"},meridiemParse:/午前|午後/i,isPM:t=>"午後"===t,meridiem:(t,e,n)=>t<12?"午前":"午後",calendar:{sameDay:"[今日] LT",nextDay:"[明日] LT",nextWeek:"[来週]dddd LT",lastDay:"[昨日] LT",lastWeek:"[前週]dddd LT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}日/,ordinal(t,e){switch(e){case"d":case"D":case"DDD":return t+"日";default:return t.toString(10)}},relativeTime:{future:"%s後",past:"%s前",s:"数秒",ss:"%d秒",m:"1分",mm:"%d分",h:"1時間",hh:"%d時間",d:"1日",dd:"%d日",M:"1ヶ月",MM:"%dヶ月",y:"1年",yy:"%d年"}},sn={abbr:"ko",months:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),monthsShort:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),weekdays:"일요일_월요일_화요일_수요일_목요일_금요일_토요일".split("_"),weekdaysShort:"일_월_화_수_목_금_토".split("_"),weekdaysMin:"일_월_화_수_목_금_토".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"YYYY.MM.DD",LL:"YYYY년 MMMM D일",LLL:"YYYY년 MMMM D일 A h:mm",LLLL:"YYYY년 MMMM D일 dddd A h:mm",l:"YYYY.MM.DD",ll:"YYYY년 MMMM D일",lll:"YYYY년 MMMM D일 A h:mm",llll:"YYYY년 MMMM D일 dddd A h:mm"},calendar:{sameDay:"오늘 LT",nextDay:"내일 LT",nextWeek:"dddd LT",lastDay:"어제 LT",lastWeek:"지난주 dddd LT",sameElse:"L"},relativeTime:{future:"%s 후",past:"%s 전",s:"몇 초",ss:"%d초",m:"1분",mm:"%d분",h:"한 시간",hh:"%d시간",d:"하루",dd:"%d일",M:"한 달",MM:"%d달",y:"일 년",yy:"%d년"},dayOfMonthOrdinalParse:/\d{1,2}(일|월|주)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"일";case"M":return t+"월";case"w":case"W":return t+"주";default:return t.toString(10)}},meridiemParse:/오전|오후/,isPM:function(t){return"오후"===t},meridiem:function(t,e,n){return t<12?"오전":"오후"}};let cn="styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień".split("_"),ln="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia".split("_");function dn(t){return t%10<5&&t%10>1&&~~(t/10)%10!=1}function un(t,e,n){let a=t+" ";switch(n){case"ss":return a+(dn(t)?"sekundy":"sekund");case"m":return e?"minuta":"minutę";case"mm":return a+(dn(t)?"minuty":"minut");case"h":return e?"godzina":"godzinę";case"hh":return a+(dn(t)?"godziny":"godzin");case"MM":return a+(dn(t)?"miesiące":"miesięcy");case"yy":return a+(dn(t)?"lata":"lat")}}const gn={abbr:"pl",months:(t,e,n)=>t?""===e?"("+ln[N(t,n)]+"|"+cn[N(t,n)]+")":/D MMMM/.test(e)?ln[N(t,n)]:cn[N(t,n)]:cn,monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru".split("_"),weekdays:"niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota".split("_"),weekdaysShort:"ndz_pon_wt_śr_czw_pt_sob".split("_"),weekdaysMin:"Nd_Pn_Wt_Śr_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Dziś o] LT",nextDay:"[Jutro o] LT",nextWeek(t){switch(ze(t)){case 0:return"[W niedzielę o] LT";case 2:return"[We wtorek o] LT";case 3:return"[W środę o] LT";case 5:return"[W piątek o] LT";case 6:return"[W sobotę o] LT";default:return"[W] dddd [o] LT"}},lastDay:"[Wczoraj o] LT",lastWeek(t){switch(ze(t)){case 0:return"[W zeszłą niedzielę o] LT";case 3:return"[W zeszłą środę o] LT";case 4:return"[W zeszłą czwartek o] LT";case 5:return"[W zeszłą piątek o] LT";case 6:return"[W zeszłą sobotę o] LT";default:return"[W zeszły] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",ss:un,m:un,mm:un,h:un,hh:un,d:"1 dzień",dd:"%d dni",M:"miesiąc",MM:un,y:"rok",yy:un},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}},fn={abbr:"pt-br",months:"Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Do_2ª_3ª_4ª_5ª_6ª_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [às] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [às] HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:t=>0===ze(t)||6===ze(t)?"[Último] dddd [às] LT":"[Última] dddd [às] LT",sameElse:"L"},relativeTime:{future:"em %s",past:"%s atrás",s:"poucos segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº"},pn={abbr:"zh-cn",months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日Ah点mm分",LLLL:"YYYY年M月D日ddddAh点mm分",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:(t,e)=>(12===t&&(t=0),"凌晨"===e||"早上"===e||"上午"===e?t:"下午"===e||"晚上"===e?t+12:t>=11?t:t+12),meridiem(t,e,n){let a=100*t+e;return a<600?"凌晨":a<900?"早上":a<1130?"上午":a<1230?"中午":a<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|周)/,ordinal(t,e){const n=Number(t);switch(e){case"d":case"D":case"DDD":return n+"日";case"M":return n+"月";case"w":case"W":return n+"周";default:return n.toString()}},relativeTime:{future:"%s内",past:"%s前",s:"几秒",ss:"%d 秒",m:"1 分钟",mm:"%d 分钟",h:"1 小时",hh:"%d 小时",d:"1 天",dd:"%d 天",M:"1 个月",MM:"%d 个月",y:"1 年",yy:"%d 年"},week:{dow:1,doy:4}}},xrYK:function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},"xs/l":function(t,e,n){var a=n("TYy9"),r=n("Ioao"),o=n("wclG");t.exports=function(t){return o(r(t,void 0,a),t+"")}},xs3f:function(t,e,n){var a=n("2oRo"),r=n("zk60"),o=a["__core-js_shared__"]||r("__core-js_shared__",{});t.exports=o},y1pI:function(t,e,n){var a=n("ljhN");t.exports=function(t,e){for(var n=t.length;n--;)if(a(t[n][0],e))return n;return-1}},y9Z7:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.selectRows=function(t,e,n){var a=n(e,t);return a>-1?t.splice(a,1):t.push(e),t},e.selectRowsBetween=function(t,e,n,a,r){for(var o=n<a,i=0;i<e.length;i++){var s;s=o?{start:n,end:a}:{start:a,end:n+1},(o&&i<=a&&i>=n||!o&&i>=a&&i<=n)&&i>=s.start&&i<=s.end&&t.push(e[i])}return t}},y9jh:function(t,e,n){var a;"undefined"!=typeof self&&self,a=function(t,e,n,a){return function(t){var e={};function n(a){if(e[a])return e[a].exports;var r=e[a]={i:a,l:!1,exports:{}};return t[a].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=t,n.c=e,n.d=function(t,e,a){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:a})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s="./src/index.ts")}({"./node_modules/css-loader/index.js!./node_modules/postcss-loader/index.js!./node_modules/sass-loader/lib/loader.js??ref--3-4!./src/components/datatable.component.scss":function(t,e,n){(t.exports=n("./node_modules/css-loader/lib/css-base.js")(!1)).push([t.i,".ngx-datatable {\n  display: block;\n  overflow: hidden;\n  -webkit-box-pack: center;\n      -ms-flex-pack: center;\n          justify-content: center;\n  position: relative;\n  -webkit-transform: translate3d(0, 0, 0);\n  /**\n   * Vertical Scrolling Adjustments\n   */\n  /**\n   * Horizontal Scrolling Adjustments\n   */\n  /**\n   * Fixed Header Height Adjustments\n   */\n  /**\n   * Fixed row height adjustments\n   */\n  /**\n   * Shared Styles\n   */\n  /**\n   * Header Styles\n   */\n  /**\n   * Body Styles\n   */\n  /**\n   * Footer Styles\n   */ }\n  .ngx-datatable [hidden] {\n    display: none !important; }\n  .ngx-datatable *, .ngx-datatable *:before, .ngx-datatable *:after {\n    -webkit-box-sizing: border-box;\n    box-sizing: border-box; }\n  .ngx-datatable.scroll-vertical .datatable-body {\n    overflow-y: auto; }\n  .ngx-datatable.scroll-vertical.virtualized .datatable-body .datatable-row-wrapper {\n    position: absolute; }\n  .ngx-datatable.scroll-horz .datatable-body {\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch; }\n  .ngx-datatable.fixed-header .datatable-header .datatable-header-inner {\n    white-space: nowrap; }\n    .ngx-datatable.fixed-header .datatable-header .datatable-header-inner .datatable-header-cell {\n      white-space: nowrap;\n      overflow: hidden;\n      text-overflow: ellipsis; }\n  .ngx-datatable.fixed-row .datatable-scroll {\n    white-space: nowrap; }\n    .ngx-datatable.fixed-row .datatable-scroll .datatable-body-row {\n      white-space: nowrap; }\n      .ngx-datatable.fixed-row .datatable-scroll .datatable-body-row .datatable-body-cell {\n        overflow: hidden;\n        white-space: nowrap;\n        text-overflow: ellipsis; }\n      .ngx-datatable.fixed-row .datatable-scroll .datatable-body-row .datatable-body-group-cell {\n        overflow: hidden;\n        white-space: nowrap;\n        text-overflow: ellipsis; }\n  .ngx-datatable .datatable-body-row,\n  .ngx-datatable .datatable-row-center,\n  .ngx-datatable .datatable-header-inner {\n    display: -webkit-box;\n    display: -ms-flexbox;\n    display: flex;\n    -webkit-box-orient: horizontal;\n    -webkit-box-direction: normal;\n        -ms-flex-direction: row;\n            flex-direction: row;\n    -ms-flex-flow: row;\n    -o-flex-flow: row;\n    flex-flow: row; }\n  .ngx-datatable .datatable-body-cell,\n  .ngx-datatable .datatable-header-cell {\n    overflow-x: hidden;\n    vertical-align: top;\n    display: inline-block;\n    line-height: 1.625; }\n    .ngx-datatable .datatable-body-cell:focus,\n    .ngx-datatable .datatable-header-cell:focus {\n      outline: none; }\n  .ngx-datatable .datatable-row-left,\n  .ngx-datatable .datatable-row-right {\n    z-index: 9; }\n  .ngx-datatable .datatable-row-left,\n  .ngx-datatable .datatable-row-center,\n  .ngx-datatable .datatable-row-group,\n  .ngx-datatable .datatable-row-right {\n    position: relative; }\n  .ngx-datatable .datatable-header {\n    display: block;\n    overflow: hidden; }\n    .ngx-datatable .datatable-header .datatable-header-inner {\n      -webkit-box-align: stretch;\n          -ms-flex-align: stretch;\n              align-items: stretch;\n      -webkit-align-items: stretch; }\n    .ngx-datatable .datatable-header .datatable-header-cell {\n      position: relative;\n      display: inline-block; }\n      .ngx-datatable .datatable-header .datatable-header-cell.sortable .datatable-header-cell-wrapper {\n        cursor: pointer; }\n      .ngx-datatable .datatable-header .datatable-header-cell.longpress .datatable-header-cell-wrapper {\n        cursor: move; }\n      .ngx-datatable .datatable-header .datatable-header-cell .sort-btn {\n        line-height: 100%;\n        vertical-align: middle;\n        display: inline-block;\n        cursor: pointer; }\n      .ngx-datatable .datatable-header .datatable-header-cell .resize-handle, .ngx-datatable .datatable-header .datatable-header-cell .resize-handle--not-resizable {\n        display: inline-block;\n        position: absolute;\n        right: 0;\n        top: 0;\n        bottom: 0;\n        width: 5px;\n        padding: 0 4px;\n        visibility: hidden; }\n      .ngx-datatable .datatable-header .datatable-header-cell .resize-handle {\n        cursor: ew-resize; }\n      .ngx-datatable .datatable-header .datatable-header-cell.resizeable:hover .resize-handle {\n        visibility: visible; }\n      .ngx-datatable .datatable-header .datatable-header-cell:hover .resize-handle--not-resizable {\n        visibility: visible; }\n      .ngx-datatable .datatable-header .datatable-header-cell .targetMarker {\n        position: absolute;\n        top: 0;\n        bottom: 0; }\n        .ngx-datatable .datatable-header .datatable-header-cell .targetMarker.dragFromLeft {\n          right: 0; }\n        .ngx-datatable .datatable-header .datatable-header-cell .targetMarker.dragFromRight {\n          left: 0; }\n      .ngx-datatable .datatable-header .datatable-header-cell .datatable-header-cell-template-wrap {\n        height: inherit; }\n  .ngx-datatable .datatable-body {\n    position: relative;\n    z-index: 10;\n    display: block; }\n    .ngx-datatable .datatable-body .datatable-scroll {\n      display: inline-block; }\n    .ngx-datatable .datatable-body .datatable-row-detail {\n      overflow-y: hidden; }\n    .ngx-datatable .datatable-body .datatable-row-wrapper {\n      display: -webkit-box;\n      display: -ms-flexbox;\n      display: flex;\n      -webkit-box-orient: vertical;\n      -webkit-box-direction: normal;\n      -ms-flex-direction: column;\n      flex-direction: column; }\n    .ngx-datatable .datatable-body .datatable-body-row {\n      outline: none; }\n      .ngx-datatable .datatable-body .datatable-body-row > div {\n        display: -webkit-box;\n        display: -ms-flexbox;\n        display: flex; }\n  .ngx-datatable .datatable-footer {\n    display: block;\n    width: 100%; }\n    .ngx-datatable .datatable-footer .datatable-footer-inner {\n      display: -webkit-box;\n      display: -ms-flexbox;\n      display: flex;\n      -webkit-box-align: center;\n          -ms-flex-align: center;\n              align-items: center;\n      width: 100%; }\n    .ngx-datatable .datatable-footer .selected-count .page-count {\n      -webkit-box-flex: 1;\n          -ms-flex: 1 1 40%;\n              flex: 1 1 40%; }\n    .ngx-datatable .datatable-footer .selected-count .datatable-pager {\n      -webkit-box-flex: 1;\n          -ms-flex: 1 1 60%;\n              flex: 1 1 60%; }\n    .ngx-datatable .datatable-footer .page-count {\n      -webkit-box-flex: 1;\n          -ms-flex: 1 1 20%;\n              flex: 1 1 20%; }\n    .ngx-datatable .datatable-footer .datatable-pager {\n      -webkit-box-flex: 1;\n          -ms-flex: 1 1 80%;\n              flex: 1 1 80%;\n      text-align: right; }\n      .ngx-datatable .datatable-footer .datatable-pager .pager,\n      .ngx-datatable .datatable-footer .datatable-pager .pager li {\n        padding: 0;\n        margin: 0;\n        display: inline-block;\n        list-style: none; }\n      .ngx-datatable .datatable-footer .datatable-pager .pager li, .ngx-datatable .datatable-footer .datatable-pager .pager li a {\n        outline: none; }\n      .ngx-datatable .datatable-footer .datatable-pager .pager li a {\n        cursor: pointer;\n        display: inline-block; }\n      .ngx-datatable .datatable-footer .datatable-pager .pager li.disabled a {\n        cursor: not-allowed; }\n",""])},"./node_modules/css-loader/lib/css-base.js":function(t,e){t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n=function(t,e){var n=t[1]||"",a=t[3];if(!a)return n;if(e&&"function"==typeof btoa){var r="/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(a))))+" */",o=a.sources.map((function(t){return"/*# sourceURL="+a.sourceRoot+t+" */"}));return[n].concat(o).concat([r]).join("\n")}return[n].join("\n")}(e,t);return e[2]?"@media "+e[2]+"{"+n+"}":n})).join("")},e.i=function(t,n){"string"==typeof t&&(t=[[null,t,""]]);for(var a={},r=0;r<this.length;r++){var o=this[r][0];"number"==typeof o&&(a[o]=!0)}for(r=0;r<t.length;r++){var i=t[r];"number"==typeof i[0]&&a[i[0]]||(n&&!i[2]?i[2]=n:n&&(i[2]="("+i[2]+") and ("+n+")"),e.push(i))}},e}},"./node_modules/webpack/buildin/global.js":function(t,e){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(a){"object"==typeof window&&(n=window)}t.exports=n},"./src/components/body/body-cell.component.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var o=n("@angular/core"),i=n("./src/utils/index.ts"),s=n("./src/types/index.ts");n("./src/events.ts"),e.DataTableBodyCellComponent=function(){function t(t,e){this.cd=e,this.activate=new o.EventEmitter,this.treeAction=new o.EventEmitter,this.isFocused=!1,this.onCheckboxChangeFn=this.onCheckboxChange.bind(this),this.activateFn=this.activate.emit.bind(this.activate),this.cellContext={onCheckboxChangeFn:this.onCheckboxChangeFn,activateFn:this.activateFn,row:this.row,group:this.group,value:this.value,column:this.column,rowHeight:this.rowHeight,isSelected:this.isSelected,rowIndex:this.rowIndex,treeStatus:this.treeStatus,onTreeAction:this.onTreeAction.bind(this)},this._element=t.nativeElement}return Object.defineProperty(t.prototype,"group",{get:function(){return this._group},set:function(t){this._group=t,this.cellContext.group=t,this.checkValueUpdates(),this.cd.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"rowHeight",{get:function(){return this._rowHeight},set:function(t){this._rowHeight=t,this.cellContext.rowHeight=t,this.checkValueUpdates(),this.cd.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isSelected",{get:function(){return this._isSelected},set:function(t){this._isSelected=t,this.cellContext.isSelected=t,this.cd.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"expanded",{get:function(){return this._expanded},set:function(t){this._expanded=t,this.cellContext.expanded=t,this.cd.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"rowIndex",{get:function(){return this._rowIndex},set:function(t){this._rowIndex=t,this.cellContext.rowIndex=t,this.checkValueUpdates(),this.cd.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"column",{get:function(){return this._column},set:function(t){this._column=t,this.cellContext.column=t,this.checkValueUpdates(),this.cd.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"row",{get:function(){return this._row},set:function(t){this._row=t,this.cellContext.row=t,this.checkValueUpdates(),this.cd.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"sorts",{get:function(){return this._sorts},set:function(t){this._sorts=t,this.calcSortDir=this.calcSortDir(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"treeStatus",{get:function(){return this._treeStatus},set:function(t){this._treeStatus="collapsed"!==t&&"expanded"!==t&&"loading"!==t&&"disabled"!==t?"collapsed":t,this.cellContext.treeStatus=this._treeStatus,this.checkValueUpdates(),this.cd.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"columnCssClasses",{get:function(){var t="datatable-body-cell";if(this.column.cellClass)if("string"==typeof this.column.cellClass)t+=" "+this.column.cellClass;else if("function"==typeof this.column.cellClass){var e=this.column.cellClass({row:this.row,group:this.group,column:this.column,value:this.value,rowHeight:this.rowHeight});if("string"==typeof e)t+=e;else if("object"==typeof e)for(var n=0,a=Object.keys(e);n<a.length;n++){var r=a[n];!0===e[r]&&(t+=" "+r)}}return this.sortDir||(t+=" sort-active"),this.isFocused&&(t+=" active"),this.sortDir===s.SortDirection.asc&&(t+=" sort-asc"),this.sortDir===s.SortDirection.desc&&(t+=" sort-desc"),t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"width",{get:function(){return this.column.width},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"minWidth",{get:function(){return this.column.minWidth},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"maxWidth",{get:function(){return this.column.maxWidth},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"height",{get:function(){var t=this.rowHeight;return isNaN(t)?t:t+"px"},enumerable:!0,configurable:!0}),t.prototype.ngDoCheck=function(){this.checkValueUpdates()},t.prototype.ngOnDestroy=function(){this.cellTemplate&&this.cellTemplate.clear()},t.prototype.checkValueUpdates=function(){var t="";if(this.row&&this.column){var e=this.column.$$valueGetter(this.row,this.column.prop),n=this.column.pipe;n?t=n.transform(e):void 0!==t&&(t=e)}else t="";this.value!==t&&(this.value=t,this.cellContext.value=t,this.sanitizedValue=null!=t?this.stripHtml(t):t,this.cd.markForCheck())},t.prototype.onFocus=function(){this.isFocused=!0},t.prototype.onBlur=function(){this.isFocused=!1},t.prototype.onClick=function(t){this.activate.emit({type:"click",event:t,row:this.row,group:this.group,rowHeight:this.rowHeight,column:this.column,value:this.value,cellElement:this._element})},t.prototype.onDblClick=function(t){this.activate.emit({type:"dblclick",event:t,row:this.row,group:this.group,rowHeight:this.rowHeight,column:this.column,value:this.value,cellElement:this._element})},t.prototype.onKeyDown=function(t){var e=t.keyCode;(e===i.Keys.return||e===i.Keys.down||e===i.Keys.up||e===i.Keys.left||e===i.Keys.right)&&t.target===this._element&&(t.preventDefault(),t.stopPropagation(),this.activate.emit({type:"keydown",event:t,row:this.row,group:this.group,rowHeight:this.rowHeight,column:this.column,value:this.value,cellElement:this._element}))},t.prototype.onCheckboxChange=function(t){this.activate.emit({type:"checkbox",event:t,row:this.row,group:this.group,rowHeight:this.rowHeight,column:this.column,value:this.value,cellElement:this._element,treeStatus:"collapsed"})},t.prototype.calcSortDir=function(t){var e=this;if(t){var n=t.find((function(t){return t.prop===e.column.prop}));return n?n.dir:void 0}},t.prototype.stripHtml=function(t){return t.replace?t.replace(/<\/?[^>]+(>|$)/g,""):t},t.prototype.onTreeAction=function(){this.treeAction.emit(this.row)},t.prototype.calcLeftMargin=function(t,e){return t.isTreeColumn?e.level*(null!=t.treeLevelIndent?t.treeLevelIndent:50):0},a([o.Input(),r("design:type",Function)],t.prototype,"displayCheck",void 0),a([o.Input(),r("design:type",Object),r("design:paramtypes",[Object])],t.prototype,"group",null),a([o.Input(),r("design:type",Number),r("design:paramtypes",[Number])],t.prototype,"rowHeight",null),a([o.Input(),r("design:type",Boolean),r("design:paramtypes",[Boolean])],t.prototype,"isSelected",null),a([o.Input(),r("design:type",Boolean),r("design:paramtypes",[Boolean])],t.prototype,"expanded",null),a([o.Input(),r("design:type",Number),r("design:paramtypes",[Number])],t.prototype,"rowIndex",null),a([o.Input(),r("design:type",Object),r("design:paramtypes",[Object])],t.prototype,"column",null),a([o.Input(),r("design:type",Object),r("design:paramtypes",[Object])],t.prototype,"row",null),a([o.Input(),r("design:type",Array),r("design:paramtypes",[Array])],t.prototype,"sorts",null),a([o.Input(),r("design:type",String),r("design:paramtypes",[String])],t.prototype,"treeStatus",null),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"activate",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"treeAction",void 0),a([o.ViewChild("cellTemplate",{read:o.ViewContainerRef,static:!0}),r("design:type",o.ViewContainerRef)],t.prototype,"cellTemplate",void 0),a([o.HostBinding("class"),r("design:type",Object),r("design:paramtypes",[])],t.prototype,"columnCssClasses",null),a([o.HostBinding("style.width.px"),r("design:type",Number),r("design:paramtypes",[])],t.prototype,"width",null),a([o.HostBinding("style.minWidth.px"),r("design:type",Number),r("design:paramtypes",[])],t.prototype,"minWidth",null),a([o.HostBinding("style.maxWidth.px"),r("design:type",Number),r("design:paramtypes",[])],t.prototype,"maxWidth",null),a([o.HostBinding("style.height"),r("design:type",Object),r("design:paramtypes",[])],t.prototype,"height",null),a([o.HostListener("focus"),r("design:type",Function),r("design:paramtypes",[]),r("design:returntype",void 0)],t.prototype,"onFocus",null),a([o.HostListener("blur"),r("design:type",Function),r("design:paramtypes",[]),r("design:returntype",void 0)],t.prototype,"onBlur",null),a([o.HostListener("click",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],t.prototype,"onClick",null),a([o.HostListener("dblclick",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],t.prototype,"onDblClick",null),a([o.HostListener("keydown",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],t.prototype,"onKeyDown",null),a([o.Component({selector:"datatable-body-cell",changeDetection:o.ChangeDetectionStrategy.OnPush,template:'\n    <div\n      class="datatable-body-cell-label"\n      [style.margin-left.px]="calcLeftMargin(column, row)"\n    >\n      <label\n        *ngIf="\n          column.checkboxable &&\n          (!displayCheck || displayCheck(row, column, value))\n        "\n        class="datatable-checkbox"\n      >\n        <input\n          type="checkbox"\n          [checked]="isSelected"\n          (click)="onCheckboxChange($event)"\n        />\n      </label>\n      <ng-container *ngIf="column.isTreeColumn">\n        <button\n          *ngIf="!column.treeToggleTemplate"\n          class="datatable-tree-button"\n          [disabled]="treeStatus === \'disabled\'"\n          (click)="onTreeAction()"\n        >\n          <span>\n            <i\n              *ngIf="treeStatus === \'loading\'"\n              class="icon datatable-icon-collapse"\n            ></i>\n            <i\n              *ngIf="treeStatus === \'collapsed\'"\n              class="icon datatable-icon-up"\n            ></i>\n            <i\n              *ngIf="treeStatus === \'expanded\' || treeStatus === \'disabled\'"\n              class="icon datatable-icon-down"\n            ></i>\n          </span>\n        </button>\n        <ng-template\n          *ngIf="column.treeToggleTemplate"\n          [ngTemplateOutlet]="column.treeToggleTemplate"\n          [ngTemplateOutletContext]="{ cellContext: cellContext }"\n        >\n        </ng-template>\n      </ng-container>\n\n      <span\n        *ngIf="!column.cellTemplate"\n        [title]="sanitizedValue"\n        [innerHTML]="value"\n      >\n      </span>\n      <ng-template\n        #cellTemplate\n        *ngIf="column.cellTemplate"\n        [ngTemplateOutlet]="column.cellTemplate"\n        [ngTemplateOutletContext]="cellContext"\n      >\n      </ng-template>\n    </div>\n  '}),r("design:paramtypes",[o.ElementRef,o.ChangeDetectorRef])],t)}()},"./src/components/body/body-group-header-template.directive.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var o=n("@angular/core");e.DatatableGroupHeaderTemplateDirective=function(){return a([o.Directive({selector:"[ngx-datatable-group-header-template]"}),r("design:paramtypes",[o.TemplateRef])],(function(t){this.template=t}))}()},"./src/components/body/body-group-header.directive.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var o=n("@angular/core"),i=n("./src/components/body/body-group-header-template.directive.ts");e.DatatableGroupHeaderDirective=function(){function t(){this.rowHeight=0,this.toggle=new o.EventEmitter}return t.prototype.toggleExpandGroup=function(t){this.toggle.emit({type:"group",value:t})},t.prototype.expandAllGroups=function(){this.toggle.emit({type:"all",value:!0})},t.prototype.collapseAllGroups=function(){this.toggle.emit({type:"all",value:!1})},a([o.Input(),r("design:type",Object)],t.prototype,"rowHeight",void 0),a([o.Input(),o.ContentChild(i.DatatableGroupHeaderTemplateDirective,{read:o.TemplateRef,static:!0}),r("design:type",o.TemplateRef)],t.prototype,"template",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"toggle",void 0),a([o.Directive({selector:"ngx-datatable-group-header"})],t)}()},"./src/components/body/body-row-wrapper.component.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var o=n("@angular/core");n("./src/events.ts"),e.DataTableRowWrapperComponent=function(){function t(t,e){this.cd=t,this.differs=e,this.rowContextmenu=new o.EventEmitter(!1),this.groupContext={group:this.row,expanded:this.expanded,rowIndex:this.rowIndex},this.rowContext={row:this.row,expanded:this.expanded,rowIndex:this.rowIndex},this._expanded=!1,this.rowDiffer=e.find({}).create()}return Object.defineProperty(t.prototype,"rowIndex",{get:function(){return this._rowIndex},set:function(t){this._rowIndex=t,this.rowContext.rowIndex=t,this.groupContext.rowIndex=t,this.cd.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"expanded",{get:function(){return this._expanded},set:function(t){this._expanded=t,this.groupContext.expanded=t,this.rowContext.expanded=t,this.cd.markForCheck()},enumerable:!0,configurable:!0}),t.prototype.ngDoCheck=function(){this.rowDiffer.diff(this.row)&&(this.rowContext.row=this.row,this.groupContext.group=this.row,this.cd.markForCheck())},t.prototype.onContextmenu=function(t){this.rowContextmenu.emit({event:t,row:this.row})},t.prototype.getGroupHeaderStyle=function(){var t={};return t.transform="translate3d("+this.offsetX+"px, 0px, 0px)",t["backface-visibility"]="hidden",t.width=this.innerWidth,t},a([o.Input(),r("design:type",Number)],t.prototype,"innerWidth",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"rowDetail",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"groupHeader",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"offsetX",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"detailRowHeight",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"row",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"groupedRows",void 0),a([o.Output(),r("design:type",Object)],t.prototype,"rowContextmenu",void 0),a([o.Input(),r("design:type",Number),r("design:paramtypes",[Number])],t.prototype,"rowIndex",null),a([o.Input(),r("design:type",Boolean),r("design:paramtypes",[Boolean])],t.prototype,"expanded",null),a([o.HostListener("contextmenu",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],t.prototype,"onContextmenu",null),a([o.Component({selector:"datatable-row-wrapper",changeDetection:o.ChangeDetectionStrategy.OnPush,template:'\n    <div \n      *ngIf="groupHeader && groupHeader.template"\n      class="datatable-group-header"\n      [ngStyle]="getGroupHeaderStyle()">\n      <ng-template\n        *ngIf="groupHeader && groupHeader.template"\n        [ngTemplateOutlet]="groupHeader.template"\n        [ngTemplateOutletContext]="groupContext">\n      </ng-template>\n    </div>\n    <ng-content \n      *ngIf="(groupHeader && groupHeader.template && expanded) || \n             (!groupHeader || !groupHeader.template)">\n    </ng-content>\n    <div\n      *ngIf="rowDetail && rowDetail.template && expanded"\n      [style.height.px]="detailRowHeight"\n      class="datatable-row-detail">\n      <ng-template\n        *ngIf="rowDetail && rowDetail.template"\n        [ngTemplateOutlet]="rowDetail.template"\n        [ngTemplateOutletContext]="rowContext">\n      </ng-template>\n    </div>\n  ',host:{class:"datatable-row-wrapper"}}),r("design:paramtypes",[o.ChangeDetectorRef,o.KeyValueDiffers])],t)}()},"./src/components/body/body-row.component.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},o=this&&this.__param||function(t,e){return function(n,a){e(n,a,t)}};Object.defineProperty(e,"__esModule",{value:!0});var i=n("@angular/core"),s=n("./src/utils/index.ts"),c=n("./src/services/index.ts");n("./src/events.ts"),e.DataTableBodyRowComponent=function(){function t(t,e,n,a){this.differs=t,this.scrollbarHelper=e,this.cd=n,this.treeStatus="collapsed",this.activate=new i.EventEmitter,this.treeAction=new i.EventEmitter,this._groupStyles={left:{},center:{},right:{}},this._element=a.nativeElement,this._rowDiffer=t.find({}).create()}return Object.defineProperty(t.prototype,"columns",{get:function(){return this._columns},set:function(t){this._columns=t,this.recalculateColumns(t),this.buildStylesByGroup()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"innerWidth",{get:function(){return this._innerWidth},set:function(t){if(this._columns){var e=s.columnsByPin(this._columns);this._columnGroupWidths=s.columnGroupWidths(e,e)}this._innerWidth=t,this.recalculateColumns(),this.buildStylesByGroup()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"offsetX",{get:function(){return this._offsetX},set:function(t){this._offsetX=t,this.buildStylesByGroup()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"cssClass",{get:function(){var t="datatable-body-row";if(this.isSelected&&(t+=" active"),this.rowIndex%2!=0&&(t+=" datatable-row-odd"),this.rowIndex%2==0&&(t+=" datatable-row-even"),this.rowClass){var e=this.rowClass(this.row);if("string"==typeof e)t+=" "+e;else if("object"==typeof e)for(var n=0,a=Object.keys(e);n<a.length;n++){var r=a[n];!0===e[r]&&(t+=" "+r)}}return t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"columnsTotalWidths",{get:function(){return this._columnGroupWidths.total},enumerable:!0,configurable:!0}),t.prototype.ngDoCheck=function(){this._rowDiffer.diff(this.row)&&this.cd.markForCheck()},t.prototype.trackByGroups=function(t,e){return e.type},t.prototype.columnTrackingFn=function(t,e){return e.$$id},t.prototype.buildStylesByGroup=function(){this._groupStyles.left=this.calcStylesByGroup("left"),this._groupStyles.center=this.calcStylesByGroup("center"),this._groupStyles.right=this.calcStylesByGroup("right"),this.cd.markForCheck()},t.prototype.calcStylesByGroup=function(t){var e=this._columnGroupWidths,n=this.offsetX,a={width:e[t]+"px"};if("left"===t)s.translateXY(a,n,0);else if("right"===t){var r=parseInt(this.innerWidth+"",0);s.translateXY(a,-1*(e.total-r-n+this.scrollbarHelper.width),0)}return a},t.prototype.onActivate=function(t,e){t.cellIndex=e,t.rowElement=this._element,this.activate.emit(t)},t.prototype.onKeyDown=function(t){var e=t.keyCode;(e===s.Keys.return||e===s.Keys.down||e===s.Keys.up||e===s.Keys.left||e===s.Keys.right)&&t.target===this._element&&(t.preventDefault(),t.stopPropagation(),this.activate.emit({type:"keydown",event:t,row:this.row,rowElement:this._element}))},t.prototype.onMouseenter=function(t){this.activate.emit({type:"mouseenter",event:t,row:this.row,rowElement:this._element})},t.prototype.recalculateColumns=function(t){void 0===t&&(t=this.columns),this._columns=t;var e=s.columnsByPin(this._columns);this._columnsByPin=s.columnsByPinArr(this._columns),this._columnGroupWidths=s.columnGroupWidths(e,this._columns)},t.prototype.onTreeAction=function(){this.treeAction.emit()},a([i.Input(),r("design:type",Array),r("design:paramtypes",[Array])],t.prototype,"columns",null),a([i.Input(),r("design:type",Number),r("design:paramtypes",[Number])],t.prototype,"innerWidth",null),a([i.Input(),r("design:type",Boolean)],t.prototype,"expanded",void 0),a([i.Input(),r("design:type",Object)],t.prototype,"rowClass",void 0),a([i.Input(),r("design:type",Object)],t.prototype,"row",void 0),a([i.Input(),r("design:type",Object)],t.prototype,"group",void 0),a([i.Input(),r("design:type",Boolean)],t.prototype,"isSelected",void 0),a([i.Input(),r("design:type",Number)],t.prototype,"rowIndex",void 0),a([i.Input(),r("design:type",Object)],t.prototype,"displayCheck",void 0),a([i.Input(),r("design:type",String)],t.prototype,"treeStatus",void 0),a([i.Input(),r("design:type",Number),r("design:paramtypes",[Number])],t.prototype,"offsetX",null),a([i.HostBinding("class"),r("design:type",Object),r("design:paramtypes",[])],t.prototype,"cssClass",null),a([i.HostBinding("style.height.px"),i.Input(),r("design:type",Number)],t.prototype,"rowHeight",void 0),a([i.HostBinding("style.width.px"),r("design:type",String),r("design:paramtypes",[])],t.prototype,"columnsTotalWidths",null),a([i.Output(),r("design:type",i.EventEmitter)],t.prototype,"activate",void 0),a([i.Output(),r("design:type",i.EventEmitter)],t.prototype,"treeAction",void 0),a([i.HostListener("keydown",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],t.prototype,"onKeyDown",null),a([i.HostListener("mouseenter",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],t.prototype,"onMouseenter",null),a([i.Component({selector:"datatable-body-row",changeDetection:i.ChangeDetectionStrategy.OnPush,template:'\n    <div\n      *ngFor="let colGroup of _columnsByPin; let i = index; trackBy: trackByGroups"\n      class="datatable-row-{{colGroup.type}} datatable-row-group"\n      [ngStyle]="_groupStyles[colGroup.type]">\n      <datatable-body-cell\n        *ngFor="let column of colGroup.columns; let ii = index; trackBy: columnTrackingFn"\n        tabindex="-1"\n        [row]="row"\n        [group]="group"\n        [expanded]="expanded"\n        [isSelected]="isSelected"\n        [rowIndex]="rowIndex"\n        [column]="column"\n        [rowHeight]="rowHeight"\n        [displayCheck]="displayCheck"\n        [treeStatus]="treeStatus"\n        (activate)="onActivate($event, ii)"\n        (treeAction)="onTreeAction()">\n      </datatable-body-cell>\n    </div>\n  '}),o(1,i.SkipSelf()),r("design:paramtypes",[i.KeyValueDiffers,c.ScrollbarHelper,i.ChangeDetectorRef,i.ElementRef])],t)}()},"./src/components/body/body.component.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var o=n("@angular/core"),i=n("./src/utils/index.ts"),s=(n("./src/types/index.ts"),n("./src/components/body/scroller.component.ts"));e.DataTableBodyComponent=function(){function t(t){var e=this;this.cd=t,this.selected=[],this.scroll=new o.EventEmitter,this.page=new o.EventEmitter,this.activate=new o.EventEmitter,this.select=new o.EventEmitter,this.detailToggle=new o.EventEmitter,this.rowContextmenu=new o.EventEmitter(!1),this.treeAction=new o.EventEmitter,this.rowHeightsCache=new i.RowHeightCache,this.temp=[],this.offsetY=0,this.indexes={},this.rowIndexes=new Map,this.rowExpansions=new Map,this.getDetailRowHeight=function(t,n){if(!e.rowDetail)return 0;var a=e.rowDetail.rowHeight;return"function"==typeof a?a(t,n):a},this.rowTrackingFn=function(t,n){var a=e.getRowIndex(n);return e.trackByProp?n[e.trackByProp]:a}}return Object.defineProperty(t.prototype,"pageSize",{get:function(){return this._pageSize},set:function(t){this._pageSize=t,this.recalcLayout()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"rows",{get:function(){return this._rows},set:function(t){this._rows=t,this.rowExpansions.clear(),this.recalcLayout()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"columns",{get:function(){return this._columns},set:function(t){this._columns=t;var e=i.columnsByPin(t);this.columnGroupWidths=i.columnGroupWidths(e,t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"offset",{get:function(){return this._offset},set:function(t){this._offset=t,this.recalcLayout()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"rowCount",{get:function(){return this._rowCount},set:function(t){this._rowCount=t,this.recalcLayout()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"bodyWidth",{get:function(){return this.scrollbarH?this.innerWidth+"px":"100%"},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"bodyHeight",{get:function(){return this._bodyHeight},set:function(t){this._bodyHeight=this.scrollbarV?t+"px":"auto",this.recalcLayout()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"selectEnabled",{get:function(){return!!this.selectionType},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"scrollHeight",{get:function(){if(this.scrollbarV&&this.virtualization&&this.rowCount)return this.rowHeightsCache.query(this.rowCount-1)},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){var t=this;this.rowDetail&&(this.listener=this.rowDetail.toggle.subscribe((function(e){var n=e.type,a=e.value;"row"===n&&t.toggleRowExpansion(a),"all"===n&&t.toggleAllRows(a),t.updateIndexes(),t.updateRows(),t.cd.markForCheck()}))),this.groupHeader&&(this.listener=this.groupHeader.toggle.subscribe((function(e){var n=e.type,a=e.value;"group"===n&&t.toggleRowExpansion(a),"all"===n&&t.toggleAllRows(a),t.updateIndexes(),t.updateRows(),t.cd.markForCheck()})))},t.prototype.ngOnDestroy=function(){this.rowDetail&&this.listener.unsubscribe(),this.groupHeader&&this.listener.unsubscribe()},t.prototype.updateOffsetY=function(t){this.scroller&&(this.scrollbarV&&this.virtualization&&t?t=this.rowHeightsCache.query(this.pageSize*t-1):this.scrollbarV&&!this.virtualization&&(t=0),this.scroller.setOffset(t||0))},t.prototype.onBodyScroll=function(t){var e=t.scrollYPos,n=t.scrollXPos;this.offsetY===e&&this.offsetX===n||this.scroll.emit({offsetY:e,offsetX:n}),this.offsetY=e,this.offsetX=n,this.updateIndexes(),this.updatePage(t.direction),this.updateRows()},t.prototype.updatePage=function(t){var e=this.indexes.first/this.pageSize;"up"===t?e=Math.ceil(e):"down"===t&&(e=Math.floor(e)),void 0===t||isNaN(e)||this.page.emit({offset:e})},t.prototype.updateRows=function(){var t=this.indexes,e=t.last,n=t.first,a=0,r=[];if(this.rowIndexes.clear(),this.groupedRows)for(;n<e&&n<this.groupedRows.length;)r[a]=this.groupedRows[n],a++,n++;else for(;n<e&&n<this.rowCount;){var o=this.rows[n];o&&(this.rowIndexes.set(o,n),r[a]=o),a++,n++}this.temp=r},t.prototype.getRowHeight=function(t){return"function"==typeof this.rowHeight?this.rowHeight(t):this.rowHeight},t.prototype.getGroupHeight=function(t){var e=0;if(t.value)for(var n=0;n<t.value.length;n++)e+=this.getRowAndDetailHeight(t.value[n]);return e},t.prototype.getRowAndDetailHeight=function(t){var e=this.getRowHeight(t);return 1===this.rowExpansions.get(t)&&(e+=this.getDetailRowHeight(t)),e},t.prototype.getRowsStyles=function(t){var e={};if(this.groupedRows&&(e.width=this.columnGroupWidths.total),this.scrollbarV&&this.virtualization){var n=0;if(this.groupedRows){var a=t[t.length-1];n=a?this.getRowIndex(a):0}else n=this.getRowIndex(t);var r=this.rowHeightsCache.query(n-1);i.translateXY(e,0,r)}return e},t.prototype.getBottomSummaryRowStyles=function(){if(!this.scrollbarV||!this.rows||!this.rows.length)return null;var t={position:"absolute"},e=this.rowHeightsCache.query(this.rows.length-1);return i.translateXY(t,0,e),t},t.prototype.hideIndicator=function(){var t=this;setTimeout((function(){return t.loadingIndicator=!1}),500)},t.prototype.updateIndexes=function(){var t=0,e=0;if(this.scrollbarV)if(this.virtualization){var n=parseInt(this.bodyHeight,0);t=this.rowHeightsCache.getRowIndex(this.offsetY),e=this.rowHeightsCache.getRowIndex(n+this.offsetY)+1}else t=0,e=this.rowCount;else this.externalPaging||(t=Math.max(this.offset*this.pageSize,0)),e=Math.min(t+this.pageSize,this.rowCount);this.indexes={first:t,last:e}},t.prototype.refreshRowHeightCache=function(){!this.scrollbarV||this.scrollbarV&&!this.virtualization||(this.rowHeightsCache.clearCache(),this.rows&&this.rows.length&&this.rowHeightsCache.initCache({rows:this.rows,rowHeight:this.rowHeight,detailRowHeight:this.getDetailRowHeight,externalVirtual:this.scrollbarV&&this.externalPaging,rowCount:this.rowCount,rowIndexes:this.rowIndexes,rowExpansions:this.rowExpansions}))},t.prototype.getAdjustedViewPortIndex=function(){var t=this.indexes.first;return this.scrollbarV&&this.virtualization&&this.rowHeightsCache.query(t-1)<=this.offsetY?t-1:t},t.prototype.toggleRowExpansion=function(t){var e=this.getAdjustedViewPortIndex(),n=this.rowExpansions.get(t);if(this.scrollbarV&&this.virtualization){var a=this.getDetailRowHeight(t)*(n?-1:1),r=this.getRowIndex(t);this.rowHeightsCache.update(r,a)}n=n^=1,this.rowExpansions.set(t,n),this.detailToggle.emit({rows:[t],currentIndex:e})},t.prototype.toggleAllRows=function(t){this.rowExpansions.clear();for(var e=t?1:0,n=this.getAdjustedViewPortIndex(),a=0,r=this.rows;a<r.length;a++)this.rowExpansions.set(r[a],e);this.scrollbarV&&this.recalcLayout(),this.detailToggle.emit({rows:this.rows,currentIndex:n})},t.prototype.recalcLayout=function(){this.refreshRowHeightCache(),this.updateIndexes(),this.updateRows()},t.prototype.columnTrackingFn=function(t,e){return e.$$id},t.prototype.stylesByGroup=function(t){var e=this.columnGroupWidths,n=this.offsetX,a={width:e[t]+"px"};if("left"===t)i.translateXY(a,n,0);else if("right"===t){var r=parseInt(this.innerWidth+"",0);i.translateXY(a,-1*(e.total-r-n),0)}return a},t.prototype.getRowExpanded=function(t){if(0===this.rowExpansions.size&&this.groupExpansionDefault)for(var e=0,n=this.groupedRows;e<n.length;e++)this.rowExpansions.set(n[e],1);return 1===this.rowExpansions.get(t)},t.prototype.getRowIndex=function(t){return this.rowIndexes.get(t)||0},t.prototype.onTreeAction=function(t){this.treeAction.emit({row:t})},a([o.Input(),r("design:type",Boolean)],t.prototype,"scrollbarV",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"scrollbarH",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"loadingIndicator",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"externalPaging",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"rowHeight",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"offsetX",void 0),a([o.Input(),r("design:type",String)],t.prototype,"emptyMessage",void 0),a([o.Input(),r("design:type",String)],t.prototype,"selectionType",void 0),a([o.Input(),r("design:type",Array)],t.prototype,"selected",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"rowIdentity",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"rowDetail",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"groupHeader",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"selectCheck",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"displayCheck",void 0),a([o.Input(),r("design:type",String)],t.prototype,"trackByProp",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"rowClass",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"groupedRows",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"groupExpansionDefault",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"innerWidth",void 0),a([o.Input(),r("design:type",String)],t.prototype,"groupRowsBy",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"virtualization",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"summaryRow",void 0),a([o.Input(),r("design:type",String)],t.prototype,"summaryPosition",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"summaryHeight",void 0),a([o.Input(),r("design:type",Number),r("design:paramtypes",[Number])],t.prototype,"pageSize",null),a([o.Input(),r("design:type",Array),r("design:paramtypes",[Array])],t.prototype,"rows",null),a([o.Input(),r("design:type",Array),r("design:paramtypes",[Array])],t.prototype,"columns",null),a([o.Input(),r("design:type",Number),r("design:paramtypes",[Number])],t.prototype,"offset",null),a([o.Input(),r("design:type",Number),r("design:paramtypes",[Number])],t.prototype,"rowCount",null),a([o.HostBinding("style.width"),r("design:type",String),r("design:paramtypes",[])],t.prototype,"bodyWidth",null),a([o.Input(),o.HostBinding("style.height"),r("design:type",Object),r("design:paramtypes",[Object])],t.prototype,"bodyHeight",null),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"scroll",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"page",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"activate",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"select",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"detailToggle",void 0),a([o.Output(),r("design:type",Object)],t.prototype,"rowContextmenu",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"treeAction",void 0),a([o.ViewChild(s.ScrollerComponent,{static:!1}),r("design:type",s.ScrollerComponent)],t.prototype,"scroller",void 0),a([o.Component({selector:"datatable-body",template:'\n    <datatable-selection\n      #selector\n      [selected]="selected"\n      [rows]="rows"\n      [selectCheck]="selectCheck"\n      [selectEnabled]="selectEnabled"\n      [selectionType]="selectionType"\n      [rowIdentity]="rowIdentity"\n      (select)="select.emit($event)"\n      (activate)="activate.emit($event)"\n    >\n      <datatable-progress *ngIf="loadingIndicator"> </datatable-progress>\n      <datatable-scroller\n        *ngIf="rows?.length"\n        [scrollbarV]="scrollbarV"\n        [scrollbarH]="scrollbarH"\n        [scrollHeight]="scrollHeight"\n        [scrollWidth]="columnGroupWidths?.total"\n        (scroll)="onBodyScroll($event)"\n      >\n        <datatable-summary-row\n          *ngIf="summaryRow && summaryPosition === \'top\'"\n          [rowHeight]="summaryHeight"\n          [offsetX]="offsetX"\n          [innerWidth]="innerWidth"\n          [rows]="rows"\n          [columns]="columns"\n        >\n        </datatable-summary-row>\n        <datatable-row-wrapper\n          [groupedRows]="groupedRows"\n          *ngFor="let group of temp; let i = index; trackBy: rowTrackingFn"\n          [innerWidth]="innerWidth"\n          [ngStyle]="getRowsStyles(group)"\n          [rowDetail]="rowDetail"\n          [groupHeader]="groupHeader"\n          [offsetX]="offsetX"\n          [detailRowHeight]="getDetailRowHeight(group[i], i)"\n          [row]="group"\n          [expanded]="getRowExpanded(group)"\n          [rowIndex]="getRowIndex(group[i])"\n          (rowContextmenu)="rowContextmenu.emit($event)"\n        >\n          <datatable-body-row\n            *ngIf="!groupedRows; else groupedRowsTemplate"\n            tabindex="-1"\n            [isSelected]="selector.getRowSelected(group)"\n            [innerWidth]="innerWidth"\n            [offsetX]="offsetX"\n            [columns]="columns"\n            [rowHeight]="getRowHeight(group)"\n            [row]="group"\n            [rowIndex]="getRowIndex(group)"\n            [expanded]="getRowExpanded(group)"\n            [rowClass]="rowClass"\n            [displayCheck]="displayCheck"\n            [treeStatus]="group.treeStatus"\n            (treeAction)="onTreeAction(group)"\n            (activate)="selector.onActivate($event, indexes.first + i)"\n          >\n          </datatable-body-row>\n          <ng-template #groupedRowsTemplate>\n            <datatable-body-row\n              *ngFor="\n                let row of group.value;\n                let i = index;\n                trackBy: rowTrackingFn\n              "\n              tabindex="-1"\n              [isSelected]="selector.getRowSelected(row)"\n              [innerWidth]="innerWidth"\n              [offsetX]="offsetX"\n              [columns]="columns"\n              [rowHeight]="getRowHeight(row)"\n              [row]="row"\n              [group]="group.value"\n              [rowIndex]="getRowIndex(row)"\n              [expanded]="getRowExpanded(row)"\n              [rowClass]="rowClass"\n              (activate)="selector.onActivate($event, i)"\n            >\n            </datatable-body-row>\n          </ng-template>\n        </datatable-row-wrapper>\n        <datatable-summary-row\n          *ngIf="summaryRow && summaryPosition === \'bottom\'"\n          [ngStyle]="getBottomSummaryRowStyles()"\n          [rowHeight]="summaryHeight"\n          [offsetX]="offsetX"\n          [innerWidth]="innerWidth"\n          [rows]="rows"\n          [columns]="columns"\n        >\n        </datatable-summary-row>\n      </datatable-scroller>\n      <div\n        class="empty-row"\n        *ngIf="!rows?.length && !loadingIndicator"\n        [innerHTML]="emptyMessage"\n      ></div>\n    </datatable-selection>\n  ',changeDetection:o.ChangeDetectionStrategy.OnPush,host:{class:"datatable-body"}}),r("design:paramtypes",[o.ChangeDetectorRef])],t)}()},"./src/components/body/index.ts":function(t,e,n){"use strict";function a(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),a(n("./src/components/body/body.component.ts")),a(n("./src/components/body/body-cell.component.ts")),a(n("./src/components/body/body-row.component.ts")),a(n("./src/components/body/progress-bar.component.ts")),a(n("./src/components/body/scroller.component.ts")),a(n("./src/components/body/body-row-wrapper.component.ts")),a(n("./src/components/body/selection.component.ts")),a(n("./src/components/body/body-group-header.directive.ts")),a(n("./src/components/body/body-group-header-template.directive.ts")),a(n("./src/components/body/summary/index.ts"))},"./src/components/body/progress-bar.component.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i};Object.defineProperty(e,"__esModule",{value:!0});var r=n("@angular/core");e.ProgressBarComponent=function(){return a([r.Component({selector:"datatable-progress",template:'\n    <div class="progress-linear" role="progressbar">\n      <div class="container">\n        <div class="bar"></div>\n      </div>\n    </div>\n  ',changeDetection:r.ChangeDetectionStrategy.OnPush})],(function(){}))}()},"./src/components/body/scroller.component.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var o=n("@angular/core");e.ScrollerComponent=function(){function t(t,e,n){this.ngZone=t,this.renderer=n,this.scrollbarV=!1,this.scrollbarH=!1,this.scroll=new o.EventEmitter,this.scrollYPos=0,this.scrollXPos=0,this.prevScrollYPos=0,this.prevScrollXPos=0,this.element=e.nativeElement}return t.prototype.ngOnInit=function(){if(this.scrollbarV||this.scrollbarH){var t=this.renderer;this.parentElement=t.parentNode(t.parentNode(this.element)),this.parentElement.addEventListener("scroll",this.onScrolled.bind(this))}},t.prototype.ngOnDestroy=function(){(this.scrollbarV||this.scrollbarH)&&this.parentElement.removeEventListener("scroll",this.onScrolled.bind(this))},t.prototype.setOffset=function(t){this.parentElement&&(this.parentElement.scrollTop=t)},t.prototype.onScrolled=function(t){var e=this,n=t.currentTarget;requestAnimationFrame((function(){e.scrollYPos=n.scrollTop,e.scrollXPos=n.scrollLeft,e.updateOffset()}))},t.prototype.updateOffset=function(){var t;this.scrollYPos<this.prevScrollYPos?t="down":this.scrollYPos>this.prevScrollYPos&&(t="up"),this.scroll.emit({direction:t,scrollYPos:this.scrollYPos,scrollXPos:this.scrollXPos}),this.prevScrollYPos=this.scrollYPos,this.prevScrollXPos=this.scrollXPos},a([o.Input(),r("design:type",Boolean)],t.prototype,"scrollbarV",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"scrollbarH",void 0),a([o.HostBinding("style.height.px"),o.Input(),r("design:type",Number)],t.prototype,"scrollHeight",void 0),a([o.HostBinding("style.width.px"),o.Input(),r("design:type",Number)],t.prototype,"scrollWidth",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"scroll",void 0),a([o.Component({selector:"datatable-scroller",template:"\n    <ng-content></ng-content>\n  ",host:{class:"datatable-scroll"},changeDetection:o.ChangeDetectionStrategy.OnPush}),r("design:paramtypes",[o.NgZone,o.ElementRef,o.Renderer2])],t)}()},"./src/components/body/selection.component.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var o=n("@angular/core"),i=n("./src/utils/index.ts"),s=n("./src/types/index.ts");e.DataTableSelectionComponent=function(){function t(){this.activate=new o.EventEmitter,this.select=new o.EventEmitter}return t.prototype.selectRow=function(t,e,n){var a;if(this.selectEnabled){var r=this.selectionType===s.SelectionType.checkbox,o=this.selectionType===s.SelectionType.multiClick,c=[];c=this.selectionType===s.SelectionType.multi||r||o?t.shiftKey?i.selectRowsBetween([],this.rows,e,this.prevIndex,this.getRowSelectedIdx.bind(this)):i.selectRows(t.ctrlKey||t.metaKey||o||r?this.selected.slice():[],n,this.getRowSelectedIdx.bind(this)):i.selectRows([],n,this.getRowSelectedIdx.bind(this)),"function"==typeof this.selectCheck&&(c=c.filter(this.selectCheck.bind(this))),this.selected.splice(0,this.selected.length),(a=this.selected).push.apply(a,c),this.prevIndex=e,this.select.emit({selected:c})}},t.prototype.onActivate=function(t,e){var n=t.type,a=t.event,r=t.row,o=this.selectionType===s.SelectionType.checkbox;!o&&("click"===n||"dblclick"===n)||o&&"checkbox"===n?this.selectRow(a,e,r):"keydown"===n&&(a.keyCode===i.Keys.return?this.selectRow(a,e,r):this.onKeyboardFocus(t)),this.activate.emit(t)},t.prototype.onKeyboardFocus=function(t){var e=t.event.keyCode;if(e===i.Keys.up||e===i.Keys.down||e===i.Keys.right||e===i.Keys.left){var n=this.selectionType===s.SelectionType.cell;t.cellElement&&n?n&&this.focusCell(t.cellElement,t.rowElement,e,t.cellIndex):this.focusRow(t.rowElement,e)}},t.prototype.focusRow=function(t,e){var n=this.getPrevNextRow(t,e);n&&n.focus()},t.prototype.getPrevNextRow=function(t,e){var n=t.parentElement;if(n){var a=void 0;if(e===i.Keys.up?a=n.previousElementSibling:e===i.Keys.down&&(a=n.nextElementSibling),a&&a.children.length)return a.children[0]}},t.prototype.focusCell=function(t,e,n,a){var r;if(n===i.Keys.left)r=t.previousElementSibling;else if(n===i.Keys.right)r=t.nextElementSibling;else if(n===i.Keys.up||n===i.Keys.down){var o=this.getPrevNextRow(e,n);if(o){var s=o.getElementsByClassName("datatable-body-cell");s.length&&(r=s[a])}}r&&r.focus()},t.prototype.getRowSelected=function(t){return this.getRowSelectedIdx(t,this.selected)>-1},t.prototype.getRowSelectedIdx=function(t,e){var n=this;if(!e||!e.length)return-1;var a=this.rowIdentity(t);return e.findIndex((function(t){return n.rowIdentity(t)===a}))},a([o.Input(),r("design:type",Array)],t.prototype,"rows",void 0),a([o.Input(),r("design:type",Array)],t.prototype,"selected",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"selectEnabled",void 0),a([o.Input(),r("design:type",String)],t.prototype,"selectionType",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"rowIdentity",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"selectCheck",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"activate",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"select",void 0),a([o.Component({selector:"datatable-selection",template:"\n    <ng-content></ng-content>\n  ",changeDetection:o.ChangeDetectionStrategy.OnPush})],t)}()},"./src/components/body/summary/index.ts":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}(n("./src/components/body/summary/summary-row.component.ts"))},"./src/components/body/summary/summary-row.component.ts":function(t,e,n){"use strict";var a=this&&this.__assign||function(){return(a=Object.assign||function(t){for(var e,n=1,a=arguments.length;n<a;n++)for(var r in e=arguments[n])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t}).apply(this,arguments)},r=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},o=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var i=n("@angular/core");function s(t){var e=t.filter((function(t){return!!t}));return e.length?e.some((function(t){return"number"!=typeof t}))?null:e.reduce((function(t,e){return t+e})):null}function c(t){return null}e.DataTableSummaryRowComponent=function(){function t(){this.summaryRow={}}return t.prototype.ngOnChanges=function(){this.columns&&this.rows&&(this.updateInternalColumns(),this.updateValues())},t.prototype.updateInternalColumns=function(){this._internalColumns=this.columns.map((function(t){return a({},t,{cellTemplate:t.summaryTemplate})}))},t.prototype.updateValues=function(){var t=this;this.summaryRow={},this.columns.filter((function(t){return!t.summaryTemplate})).forEach((function(e){var n=t.rows.map((function(t){return t[e.prop]})),a=t.getSummaryFunction(e);t.summaryRow[e.prop]=e.pipe?e.pipe.transform(a(n)):a(n)}))},t.prototype.getSummaryFunction=function(t){return void 0===t.summaryFunc?s:null===t.summaryFunc?c:t.summaryFunc},r([i.Input(),o("design:type",Array)],t.prototype,"rows",void 0),r([i.Input(),o("design:type",Array)],t.prototype,"columns",void 0),r([i.Input(),o("design:type",Number)],t.prototype,"rowHeight",void 0),r([i.Input(),o("design:type",Number)],t.prototype,"offsetX",void 0),r([i.Input(),o("design:type",Number)],t.prototype,"innerWidth",void 0),r([i.Component({selector:"datatable-summary-row",template:'\n  <datatable-body-row\n    *ngIf="summaryRow && _internalColumns"\n    tabindex="-1"\n    [innerWidth]="innerWidth"\n    [offsetX]="offsetX"\n    [columns]="_internalColumns"\n    [rowHeight]="rowHeight"\n    [row]="summaryRow"\n    [rowIndex]="-1">\n  </datatable-body-row>\n  ',host:{class:"datatable-summary-row"}})],t)}()},"./src/components/columns/column-cell.directive.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var o=n("@angular/core");e.DataTableColumnCellDirective=function(){return a([o.Directive({selector:"[ngx-datatable-cell-template]"}),r("design:paramtypes",[o.TemplateRef])],(function(t){this.template=t}))}()},"./src/components/columns/column-header.directive.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var o=n("@angular/core");e.DataTableColumnHeaderDirective=function(){return a([o.Directive({selector:"[ngx-datatable-header-template]"}),r("design:paramtypes",[o.TemplateRef])],(function(t){this.template=t}))}()},"./src/components/columns/column.directive.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var o=n("@angular/core"),i=n("./src/components/columns/column-header.directive.ts"),s=n("./src/components/columns/column-cell.directive.ts"),c=n("./src/components/columns/tree.directive.ts"),l=n("./src/services/column-changes.service.ts");e.DataTableColumnDirective=function(){function t(t){this.columnChangesService=t,this.isFirstChange=!0}return t.prototype.ngOnChanges=function(){this.isFirstChange?this.isFirstChange=!1:this.columnChangesService.onInputChange()},a([o.Input(),r("design:type",String)],t.prototype,"name",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"prop",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"frozenLeft",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"frozenRight",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"flexGrow",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"resizeable",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"comparator",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"pipe",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"sortable",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"draggable",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"canAutoResize",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"minWidth",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"width",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"maxWidth",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"checkboxable",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"headerCheckboxable",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"headerClass",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"cellClass",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"isTreeColumn",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"treeLevelIndent",void 0),a([o.Input(),r("design:type",Function)],t.prototype,"summaryFunc",void 0),a([o.Input(),r("design:type",o.TemplateRef)],t.prototype,"summaryTemplate",void 0),a([o.Input(),o.ContentChild(s.DataTableColumnCellDirective,{read:o.TemplateRef,static:!0}),r("design:type",o.TemplateRef)],t.prototype,"cellTemplate",void 0),a([o.Input(),o.ContentChild(i.DataTableColumnHeaderDirective,{read:o.TemplateRef,static:!0}),r("design:type",o.TemplateRef)],t.prototype,"headerTemplate",void 0),a([o.Input(),o.ContentChild(c.DataTableColumnCellTreeToggle,{read:o.TemplateRef,static:!0}),r("design:type",o.TemplateRef)],t.prototype,"treeToggleTemplate",void 0),a([o.Directive({selector:"ngx-datatable-column"}),r("design:paramtypes",[l.ColumnChangesService])],t)}()},"./src/components/columns/index.ts":function(t,e,n){"use strict";function a(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),a(n("./src/components/columns/column.directive.ts")),a(n("./src/components/columns/column-header.directive.ts")),a(n("./src/components/columns/column-cell.directive.ts")),a(n("./src/components/columns/tree.directive.ts"))},"./src/components/columns/tree.directive.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var o=n("@angular/core");e.DataTableColumnCellTreeToggle=function(){return a([o.Directive({selector:"[ngx-datatable-tree-toggle]"}),r("design:paramtypes",[o.TemplateRef])],(function(t){this.template=t}))}()},"./src/components/datatable.component.scss":function(t,e,n){var a=n("./node_modules/css-loader/index.js!./node_modules/postcss-loader/index.js!./node_modules/sass-loader/lib/loader.js??ref--3-4!./src/components/datatable.component.scss");t.exports="string"==typeof a?a:a.toString()},"./src/components/datatable.component.ts":function(t,e,n){"use strict";var a=this&&this.__assign||function(){return(a=Object.assign||function(t){for(var e,n=1,a=arguments.length;n<a;n++)for(var r in e=arguments[n])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t}).apply(this,arguments)},r=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},o=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},i=this&&this.__param||function(t,e){return function(n,a){e(n,a,t)}};Object.defineProperty(e,"__esModule",{value:!0});var s=n("@angular/core"),c=n("./src/utils/index.ts"),l=n("./src/services/index.ts"),d=n("./src/types/index.ts"),u=n("./src/components/body/index.ts"),g=n("./src/components/body/body-group-header.directive.ts"),f=n("./src/components/columns/index.ts"),p=n("./src/components/row-detail/index.ts"),m=n("./src/components/footer/index.ts"),h=n("./src/components/header/index.ts"),b=n("rxjs");e.DatatableComponent=function(){function t(t,e,n,a,r,o){this.scrollbarHelper=t,this.dimensionsHelper=e,this.cd=n,this.columnChangesService=o,this.selected=[],this.scrollbarV=!1,this.scrollbarH=!1,this.rowHeight=30,this.columnMode=d.ColumnMode.standard,this.headerHeight=30,this.footerHeight=0,this.externalPaging=!1,this.externalSorting=!1,this.loadingIndicator=!1,this.reorderable=!0,this.swapColumns=!0,this.sortType=d.SortType.single,this.sorts=[],this.cssClasses={sortAscending:"datatable-icon-up",sortDescending:"datatable-icon-down",pagerLeftArrow:"datatable-icon-left",pagerRightArrow:"datatable-icon-right",pagerPrevious:"datatable-icon-prev",pagerNext:"datatable-icon-skip"},this.messages={emptyMessage:"No data to display",totalMessage:"total",selectedMessage:"selected"},this.rowIdentity=function(t){return t},this.groupExpansionDefault=!1,this.selectAllRowsOnPage=!1,this.virtualization=!0,this.summaryRow=!1,this.summaryHeight=30,this.summaryPosition="top",this.scroll=new s.EventEmitter,this.activate=new s.EventEmitter,this.select=new s.EventEmitter,this.sort=new s.EventEmitter,this.page=new s.EventEmitter,this.reorder=new s.EventEmitter,this.resize=new s.EventEmitter,this.tableContextmenu=new s.EventEmitter(!1),this.treeAction=new s.EventEmitter,this.rowCount=0,this._offsetX=new b.BehaviorSubject(0),this._count=0,this._offset=0,this._subscriptions=[],this.element=a.nativeElement,this.rowDiffer=r.find({}).create()}return Object.defineProperty(t.prototype,"rows",{get:function(){return this._rows},set:function(t){this._rows=t,t&&(this._internalRows=t.slice()),this.externalSorting||this.sortInternalRows(),this._internalRows=c.groupRowsByParents(this._internalRows,c.optionalGetterForProp(this.treeFromRelation),c.optionalGetterForProp(this.treeToRelation)),this.recalculate(),this._rows&&this._groupRowsBy&&(this.groupedRows=this.groupArrayBy(this._rows,this._groupRowsBy)),this.cd.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"groupRowsBy",{get:function(){return this._groupRowsBy},set:function(t){t&&(this._groupRowsBy=t,this._rows&&this._groupRowsBy&&(this.groupedRows=this.groupArrayBy(this._rows,this._groupRowsBy)))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"columns",{get:function(){return this._columns},set:function(t){t&&(this._internalColumns=t.slice(),c.setColumnDefaults(this._internalColumns),this.recalculateColumns()),this._columns=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"limit",{get:function(){return this._limit},set:function(t){this._limit=t,this.recalculate()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"count",{get:function(){return this._count},set:function(t){this._count=t,this.recalculate()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"offset",{get:function(){return Math.max(Math.min(this._offset,Math.ceil(this.rowCount/this.pageSize)-1),0)},set:function(t){this._offset=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isFixedHeader",{get:function(){var t=this.headerHeight;return"string"!=typeof t||"auto"!==t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isFixedRow",{get:function(){var t=this.rowHeight;return"string"!=typeof t||"auto"!==t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isVertScroll",{get:function(){return this.scrollbarV},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isVirtualized",{get:function(){return this.virtualization},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isHorScroll",{get:function(){return this.scrollbarH},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isSelectable",{get:function(){return void 0!==this.selectionType},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isCheckboxSelection",{get:function(){return this.selectionType===d.SelectionType.checkbox},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isCellSelection",{get:function(){return this.selectionType===d.SelectionType.cell},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isSingleSelection",{get:function(){return this.selectionType===d.SelectionType.single},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isMultiSelection",{get:function(){return this.selectionType===d.SelectionType.multi},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isMultiClickSelection",{get:function(){return this.selectionType===d.SelectionType.multiClick},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"columnTemplates",{get:function(){return this._columnTemplates},set:function(t){this._columnTemplates=t,this.translateColumns(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"allRowsSelected",{get:function(){var t=this.rows&&this.selected&&this.selected.length===this.rows.length;if(this.selectAllRowsOnPage){var e=this.bodyComponent.indexes;t=this.selected.length===e.last-e.first}return this.selected&&this.rows&&0!==this.rows.length&&t},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){this.recalculate()},t.prototype.ngAfterViewInit=function(){var t=this;this.externalSorting||this.sortInternalRows(),"undefined"!=typeof requestAnimationFrame&&requestAnimationFrame((function(){t.recalculate(),t.externalPaging&&t.scrollbarV&&t.page.emit({count:t.count,pageSize:t.pageSize,limit:t.limit,offset:0})}))},t.prototype.ngAfterContentInit=function(){var t=this;this.columnTemplates.changes.subscribe((function(e){return t.translateColumns(e)})),this.listenForColumnInputChanges()},t.prototype.translateColumns=function(t){if(t){var e=t.toArray();e.length&&(this._internalColumns=c.translateTemplates(e),c.setColumnDefaults(this._internalColumns),this.recalculateColumns(),this.sortInternalRows(),this.cd.markForCheck())}},t.prototype.groupArrayBy=function(t,e){var n=new Map;return t.forEach((function(t){var a=t[e];n.has(a)?n.get(a).push(t):n.set(a,[t])})),Array.from(n,(function(t){return{key:t[0],value:t[1]}}))},t.prototype.ngDoCheck=function(){this.rowDiffer.diff(this.rows)&&(this.externalSorting?this._internalRows=this.rows.slice():this.sortInternalRows(),this._internalRows=c.groupRowsByParents(this._internalRows,c.optionalGetterForProp(this.treeFromRelation),c.optionalGetterForProp(this.treeToRelation)),this.recalculatePages(),this.cd.markForCheck())},t.prototype.recalculate=function(){this.recalculateDims(),this.recalculateColumns()},t.prototype.onWindowResize=function(){this.recalculate()},t.prototype.recalculateColumns=function(t,e,n){if(void 0===t&&(t=this._internalColumns),void 0===e&&(e=-1),void 0===n&&(n=this.scrollbarH),t){var a=this._innerWidth;return this.scrollbarV&&(a-=this.scrollbarHelper.width),this.columnMode===d.ColumnMode.force?c.forceFillColumnWidths(t,a,e,n):this.columnMode===d.ColumnMode.flex&&c.adjustColumnWidths(t,a),t}},t.prototype.recalculateDims=function(){var t=this.dimensionsHelper.getDimensions(this.element);if(this._innerWidth=Math.floor(t.width),this.scrollbarV){var e=t.height;this.headerHeight&&(e-=this.headerHeight),this.footerHeight&&(e-=this.footerHeight),this.bodyHeight=e}this.recalculatePages()},t.prototype.recalculatePages=function(){this.pageSize=this.calcPageSize(),this.rowCount=this.calcRowCount()},t.prototype.onBodyPage=function(t){this.externalPaging&&!this.virtualization||(this.offset=t.offset,this.page.emit({count:this.count,pageSize:this.pageSize,limit:this.limit,offset:this.offset}))},t.prototype.onBodyScroll=function(t){this._offsetX.next(t.offsetX),this.scroll.emit(t),this.cd.detectChanges()},t.prototype.onFooterPage=function(t){this.offset=t.page-1,this.bodyComponent.updateOffsetY(this.offset),this.page.emit({count:this.count,pageSize:this.pageSize,limit:this.limit,offset:this.offset}),this.selectAllRowsOnPage&&(this.selected=[],this.select.emit({selected:this.selected}))},t.prototype.calcPageSize=function(t){if(void 0===t&&(t=this.rows),this.scrollbarV&&this.virtualization){var e=Math.ceil(this.bodyHeight/this.rowHeight);return Math.max(e,0)}return void 0!==this.limit?this.limit:t?t.length:0},t.prototype.calcRowCount=function(t){return void 0===t&&(t=this.rows),this.externalPaging?this.count:t?this.groupedRows?this.groupedRows.length:null!=this.treeFromRelation&&null!=this.treeToRelation?this._internalRows.length:t.length:0},t.prototype.onColumnContextmenu=function(t){this.tableContextmenu.emit({event:t.event,type:d.ContextmenuType.header,content:t.column})},t.prototype.onRowContextmenu=function(t){this.tableContextmenu.emit({event:t.event,type:d.ContextmenuType.body,content:t.row})},t.prototype.onColumnResize=function(t){var e=t.column,n=t.newValue;if(void 0!==e){var r,o=this._internalColumns.map((function(t,o){return(t=a({},t)).$$id===e.$$id&&(r=o,t.width=n,t.$$oldWidth=n),t}));this.recalculateColumns(o,r),this._internalColumns=o,this.resize.emit({column:e,newValue:n})}},t.prototype.onColumnReorder=function(t){var e=t.column,n=t.newValue,r=t.prevValue,o=this._internalColumns.map((function(t){return a({},t)}));if(this.swapColumns){var i=o[n];o[n]=e,o[r]=i}else if(n>r){for(var s=o[r],c=r;c<n;c++)o[c]=o[c+1];o[n]=s}else{for(s=o[r],c=r;c>n;c--)o[c]=o[c-1];o[n]=s}this._internalColumns=o,this.reorder.emit({column:e,newValue:n,prevValue:r})},t.prototype.onColumnSort=function(t){this.selectAllRowsOnPage&&(this.selected=[],this.select.emit({selected:this.selected})),this.sorts=t.sorts,!1===this.externalSorting&&this.sortInternalRows(),this._internalRows=c.groupRowsByParents(this._internalRows,c.optionalGetterForProp(this.treeFromRelation),c.optionalGetterForProp(this.treeToRelation)),this.offset=0,this.bodyComponent.updateOffsetY(this.offset),this.sort.emit(t)},t.prototype.onHeaderSelect=function(t){var e,n;if(this.selectAllRowsOnPage){var a=this.bodyComponent.indexes.first,r=this.bodyComponent.indexes.last,o=this.selected.length===r-a;this.selected=[],o||(e=this.selected).push.apply(e,this._internalRows.slice(a,r))}else o=this.selected.length===this.rows.length,this.selected=[],o||(n=this.selected).push.apply(n,this.rows);this.select.emit({selected:this.selected})},t.prototype.onBodySelect=function(t){this.select.emit(t)},t.prototype.onTreeAction=function(t){var e=this,n=t.row,a=this._rows.findIndex((function(n){return n[e.treeToRelation]===t.row[e.treeToRelation]}));this.treeAction.emit({row:n,rowIndex:a})},t.prototype.ngOnDestroy=function(){this._subscriptions.forEach((function(t){return t.unsubscribe()}))},t.prototype.listenForColumnInputChanges=function(){var t=this;this._subscriptions.push(this.columnChangesService.columnInputChanges$.subscribe((function(){t.columnTemplates&&t.columnTemplates.notifyOnChanges()})))},t.prototype.sortInternalRows=function(){this._internalRows=c.sortRows(this._internalRows,this._internalColumns,this.sorts)},r([s.Input(),o("design:type",Object)],t.prototype,"targetMarkerTemplate",void 0),r([s.Input(),o("design:type",Object),o("design:paramtypes",[Object])],t.prototype,"rows",null),r([s.Input(),o("design:type",String),o("design:paramtypes",[String])],t.prototype,"groupRowsBy",null),r([s.Input(),o("design:type",Array)],t.prototype,"groupedRows",void 0),r([s.Input(),o("design:type",Array),o("design:paramtypes",[Array])],t.prototype,"columns",null),r([s.Input(),o("design:type",Array)],t.prototype,"selected",void 0),r([s.Input(),o("design:type",Boolean)],t.prototype,"scrollbarV",void 0),r([s.Input(),o("design:type",Boolean)],t.prototype,"scrollbarH",void 0),r([s.Input(),o("design:type",Number)],t.prototype,"rowHeight",void 0),r([s.Input(),o("design:type",String)],t.prototype,"columnMode",void 0),r([s.Input(),o("design:type",Object)],t.prototype,"headerHeight",void 0),r([s.Input(),o("design:type",Number)],t.prototype,"footerHeight",void 0),r([s.Input(),o("design:type",Boolean)],t.prototype,"externalPaging",void 0),r([s.Input(),o("design:type",Boolean)],t.prototype,"externalSorting",void 0),r([s.Input(),o("design:type",Number),o("design:paramtypes",[Number])],t.prototype,"limit",null),r([s.Input(),o("design:type",Number),o("design:paramtypes",[Number])],t.prototype,"count",null),r([s.Input(),o("design:type",Number),o("design:paramtypes",[Number])],t.prototype,"offset",null),r([s.Input(),o("design:type",Boolean)],t.prototype,"loadingIndicator",void 0),r([s.Input(),o("design:type",String)],t.prototype,"selectionType",void 0),r([s.Input(),o("design:type",Boolean)],t.prototype,"reorderable",void 0),r([s.Input(),o("design:type",Boolean)],t.prototype,"swapColumns",void 0),r([s.Input(),o("design:type",String)],t.prototype,"sortType",void 0),r([s.Input(),o("design:type",Array)],t.prototype,"sorts",void 0),r([s.Input(),o("design:type",Object)],t.prototype,"cssClasses",void 0),r([s.Input(),o("design:type",Object)],t.prototype,"messages",void 0),r([s.Input(),o("design:type",Function)],t.prototype,"rowIdentity",void 0),r([s.Input(),o("design:type",Object)],t.prototype,"rowClass",void 0),r([s.Input(),o("design:type",Object)],t.prototype,"selectCheck",void 0),r([s.Input(),o("design:type",Function)],t.prototype,"displayCheck",void 0),r([s.Input(),o("design:type",Boolean)],t.prototype,"groupExpansionDefault",void 0),r([s.Input(),o("design:type",String)],t.prototype,"trackByProp",void 0),r([s.Input(),o("design:type",Object)],t.prototype,"selectAllRowsOnPage",void 0),r([s.Input(),o("design:type",Boolean)],t.prototype,"virtualization",void 0),r([s.Input(),o("design:type",String)],t.prototype,"treeFromRelation",void 0),r([s.Input(),o("design:type",String)],t.prototype,"treeToRelation",void 0),r([s.Input(),o("design:type",Boolean)],t.prototype,"summaryRow",void 0),r([s.Input(),o("design:type",Number)],t.prototype,"summaryHeight",void 0),r([s.Input(),o("design:type",String)],t.prototype,"summaryPosition",void 0),r([s.Output(),o("design:type",s.EventEmitter)],t.prototype,"scroll",void 0),r([s.Output(),o("design:type",s.EventEmitter)],t.prototype,"activate",void 0),r([s.Output(),o("design:type",s.EventEmitter)],t.prototype,"select",void 0),r([s.Output(),o("design:type",s.EventEmitter)],t.prototype,"sort",void 0),r([s.Output(),o("design:type",s.EventEmitter)],t.prototype,"page",void 0),r([s.Output(),o("design:type",s.EventEmitter)],t.prototype,"reorder",void 0),r([s.Output(),o("design:type",s.EventEmitter)],t.prototype,"resize",void 0),r([s.Output(),o("design:type",Object)],t.prototype,"tableContextmenu",void 0),r([s.Output(),o("design:type",s.EventEmitter)],t.prototype,"treeAction",void 0),r([s.HostBinding("class.fixed-header"),o("design:type",Boolean),o("design:paramtypes",[])],t.prototype,"isFixedHeader",null),r([s.HostBinding("class.fixed-row"),o("design:type",Boolean),o("design:paramtypes",[])],t.prototype,"isFixedRow",null),r([s.HostBinding("class.scroll-vertical"),o("design:type",Boolean),o("design:paramtypes",[])],t.prototype,"isVertScroll",null),r([s.HostBinding("class.virtualized"),o("design:type",Boolean),o("design:paramtypes",[])],t.prototype,"isVirtualized",null),r([s.HostBinding("class.scroll-horz"),o("design:type",Boolean),o("design:paramtypes",[])],t.prototype,"isHorScroll",null),r([s.HostBinding("class.selectable"),o("design:type",Boolean),o("design:paramtypes",[])],t.prototype,"isSelectable",null),r([s.HostBinding("class.checkbox-selection"),o("design:type",Boolean),o("design:paramtypes",[])],t.prototype,"isCheckboxSelection",null),r([s.HostBinding("class.cell-selection"),o("design:type",Boolean),o("design:paramtypes",[])],t.prototype,"isCellSelection",null),r([s.HostBinding("class.single-selection"),o("design:type",Boolean),o("design:paramtypes",[])],t.prototype,"isSingleSelection",null),r([s.HostBinding("class.multi-selection"),o("design:type",Boolean),o("design:paramtypes",[])],t.prototype,"isMultiSelection",null),r([s.HostBinding("class.multi-click-selection"),o("design:type",Boolean),o("design:paramtypes",[])],t.prototype,"isMultiClickSelection",null),r([s.ContentChildren(f.DataTableColumnDirective),o("design:type",s.QueryList),o("design:paramtypes",[s.QueryList])],t.prototype,"columnTemplates",null),r([s.ContentChild(p.DatatableRowDetailDirective,{static:!1}),o("design:type",p.DatatableRowDetailDirective)],t.prototype,"rowDetail",void 0),r([s.ContentChild(g.DatatableGroupHeaderDirective,{static:!1}),o("design:type",g.DatatableGroupHeaderDirective)],t.prototype,"groupHeader",void 0),r([s.ContentChild(m.DatatableFooterDirective,{static:!1}),o("design:type",m.DatatableFooterDirective)],t.prototype,"footer",void 0),r([s.ViewChild(u.DataTableBodyComponent,{static:!1}),o("design:type",u.DataTableBodyComponent)],t.prototype,"bodyComponent",void 0),r([s.ViewChild(h.DataTableHeaderComponent,{static:!1}),o("design:type",h.DataTableHeaderComponent)],t.prototype,"headerComponent",void 0),r([s.HostListener("window:resize"),c.throttleable(5),o("design:type",Function),o("design:paramtypes",[]),o("design:returntype",void 0)],t.prototype,"onWindowResize",null),r([s.Component({selector:"ngx-datatable",template:'\n    <div\n      visibilityObserver\n      (visible)="recalculate()">\n      <datatable-header\n        *ngIf="headerHeight"\n        [sorts]="sorts"\n        [sortType]="sortType"\n        [scrollbarH]="scrollbarH"\n        [innerWidth]="_innerWidth"\n        [offsetX]="_offsetX | async"\n        [dealsWithGroup]="groupedRows"\n        [columns]="_internalColumns"\n        [headerHeight]="headerHeight"\n        [reorderable]="reorderable"\n        [targetMarkerTemplate]="targetMarkerTemplate"\n        [sortAscendingIcon]="cssClasses.sortAscending"\n        [sortDescendingIcon]="cssClasses.sortDescending"\n        [allRowsSelected]="allRowsSelected"\n        [selectionType]="selectionType"\n        (sort)="onColumnSort($event)"\n        (resize)="onColumnResize($event)"\n        (reorder)="onColumnReorder($event)"\n        (select)="onHeaderSelect($event)"\n        (columnContextmenu)="onColumnContextmenu($event)">\n      </datatable-header>\n      <datatable-body\n        [groupRowsBy]="groupRowsBy"\n        [groupedRows]="groupedRows"\n        [rows]="_internalRows"\n        [groupExpansionDefault]="groupExpansionDefault"\n        [scrollbarV]="scrollbarV"\n        [scrollbarH]="scrollbarH"\n        [virtualization]="virtualization"\n        [loadingIndicator]="loadingIndicator"\n        [externalPaging]="externalPaging"\n        [rowHeight]="rowHeight"\n        [rowCount]="rowCount"\n        [offset]="offset"\n        [trackByProp]="trackByProp"\n        [columns]="_internalColumns"\n        [pageSize]="pageSize"\n        [offsetX]="_offsetX | async"\n        [rowDetail]="rowDetail"\n        [groupHeader]="groupHeader"\n        [selected]="selected"\n        [innerWidth]="_innerWidth"\n        [bodyHeight]="bodyHeight"\n        [selectionType]="selectionType"\n        [emptyMessage]="messages.emptyMessage"\n        [rowIdentity]="rowIdentity"\n        [rowClass]="rowClass"\n        [selectCheck]="selectCheck"\n        [displayCheck]="displayCheck"\n        [summaryRow]="summaryRow"\n        [summaryHeight]="summaryHeight"\n        [summaryPosition]="summaryPosition"\n        (page)="onBodyPage($event)"\n        (activate)="activate.emit($event)"\n        (rowContextmenu)="onRowContextmenu($event)"\n        (select)="onBodySelect($event)"\n        (scroll)="onBodyScroll($event)"\n        (treeAction)="onTreeAction($event)">\n      </datatable-body>\n      <datatable-footer\n        *ngIf="footerHeight"\n        [rowCount]="rowCount"\n        [pageSize]="pageSize"\n        [offset]="offset"\n        [footerHeight]="footerHeight"\n        [footerTemplate]="footer"\n        [totalMessage]="messages.totalMessage"\n        [pagerLeftArrowIcon]="cssClasses.pagerLeftArrow"\n        [pagerRightArrowIcon]="cssClasses.pagerRightArrow"\n        [pagerPreviousIcon]="cssClasses.pagerPrevious"\n        [selectedCount]="selected.length"\n        [selectedMessage]="!!selectionType && messages.selectedMessage"\n        [pagerNextIcon]="cssClasses.pagerNext"\n        (page)="onFooterPage($event)">\n      </datatable-footer>\n    </div>\n  ',changeDetection:s.ChangeDetectionStrategy.OnPush,encapsulation:s.ViewEncapsulation.None,styles:[n("./src/components/datatable.component.scss")],host:{class:"ngx-datatable"}}),i(0,s.SkipSelf()),i(1,s.SkipSelf()),o("design:paramtypes",[l.ScrollbarHelper,l.DimensionsHelper,s.ChangeDetectorRef,s.ElementRef,s.KeyValueDiffers,l.ColumnChangesService])],t)}()},"./src/components/footer/footer-template.directive.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var o=n("@angular/core");e.DataTableFooterTemplateDirective=function(){return a([o.Directive({selector:"[ngx-datatable-footer-template]"}),r("design:paramtypes",[o.TemplateRef])],(function(t){this.template=t}))}()},"./src/components/footer/footer.component.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var o=n("@angular/core"),i=n("./src/components/footer/footer.directive.ts");e.DataTableFooterComponent=function(){function t(){this.selectedCount=0,this.page=new o.EventEmitter}return Object.defineProperty(t.prototype,"isVisible",{get:function(){return this.rowCount/this.pageSize>1},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"curPage",{get:function(){return this.offset+1},enumerable:!0,configurable:!0}),a([o.Input(),r("design:type",Number)],t.prototype,"footerHeight",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"rowCount",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"pageSize",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"offset",void 0),a([o.Input(),r("design:type",String)],t.prototype,"pagerLeftArrowIcon",void 0),a([o.Input(),r("design:type",String)],t.prototype,"pagerRightArrowIcon",void 0),a([o.Input(),r("design:type",String)],t.prototype,"pagerPreviousIcon",void 0),a([o.Input(),r("design:type",String)],t.prototype,"pagerNextIcon",void 0),a([o.Input(),r("design:type",String)],t.prototype,"totalMessage",void 0),a([o.Input(),r("design:type",i.DatatableFooterDirective)],t.prototype,"footerTemplate",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"selectedCount",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"selectedMessage",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"page",void 0),a([o.Component({selector:"datatable-footer",template:'\n    <div\n      class="datatable-footer-inner"\n      [ngClass]="{\'selected-count\': selectedMessage}"\n      [style.height.px]="footerHeight">\n      <ng-template\n        *ngIf="footerTemplate"\n        [ngTemplateOutlet]="footerTemplate.template"\n        [ngTemplateOutletContext]="{ \n          rowCount: rowCount, \n          pageSize: pageSize, \n          selectedCount: selectedCount,\n          curPage: curPage,\n          offset: offset\n        }">\n      </ng-template>\n      <div class="page-count" *ngIf="!footerTemplate">\n        <span *ngIf="selectedMessage">\n          {{selectedCount?.toLocaleString()}} {{selectedMessage}} / \n        </span>\n        {{rowCount?.toLocaleString()}} {{totalMessage}}\n      </div>\n      <datatable-pager *ngIf="!footerTemplate"\n        [pagerLeftArrowIcon]="pagerLeftArrowIcon"\n        [pagerRightArrowIcon]="pagerRightArrowIcon"\n        [pagerPreviousIcon]="pagerPreviousIcon"\n        [pagerNextIcon]="pagerNextIcon"\n        [page]="curPage"\n        [size]="pageSize"\n        [count]="rowCount"\n        [hidden]="!isVisible"\n        (change)="page.emit($event)">\n      </datatable-pager>\n    </div>\n  ',host:{class:"datatable-footer"},changeDetection:o.ChangeDetectionStrategy.OnPush})],t)}()},"./src/components/footer/footer.directive.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var o=n("@angular/core"),i=n("./src/components/footer/footer-template.directive.ts");e.DatatableFooterDirective=function(){function t(){}return a([o.Input(),r("design:type",Number)],t.prototype,"footerHeight",void 0),a([o.Input(),r("design:type",String)],t.prototype,"totalMessage",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"selectedMessage",void 0),a([o.Input(),r("design:type",String)],t.prototype,"pagerLeftArrowIcon",void 0),a([o.Input(),r("design:type",String)],t.prototype,"pagerRightArrowIcon",void 0),a([o.Input(),r("design:type",String)],t.prototype,"pagerPreviousIcon",void 0),a([o.Input(),r("design:type",String)],t.prototype,"pagerNextIcon",void 0),a([o.Input(),o.ContentChild(i.DataTableFooterTemplateDirective,{read:o.TemplateRef,static:!1}),r("design:type",o.TemplateRef)],t.prototype,"template",void 0),a([o.Directive({selector:"ngx-datatable-footer"})],t)}()},"./src/components/footer/index.ts":function(t,e,n){"use strict";function a(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),a(n("./src/components/footer/footer.component.ts")),a(n("./src/components/footer/pager.component.ts")),a(n("./src/components/footer/footer.directive.ts")),a(n("./src/components/footer/footer-template.directive.ts"))},"./src/components/footer/pager.component.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var o=n("@angular/core");e.DataTablePagerComponent=function(){function t(){this.change=new o.EventEmitter,this._count=0,this._page=1,this._size=0}return Object.defineProperty(t.prototype,"size",{get:function(){return this._size},set:function(t){this._size=t,this.pages=this.calcPages()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"count",{get:function(){return this._count},set:function(t){this._count=t,this.pages=this.calcPages()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"page",{get:function(){return this._page},set:function(t){this._page=t,this.pages=this.calcPages()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"totalPages",{get:function(){var t=this.size<1?1:Math.ceil(this.count/this.size);return Math.max(t||0,1)},enumerable:!0,configurable:!0}),t.prototype.canPrevious=function(){return this.page>1},t.prototype.canNext=function(){return this.page<this.totalPages},t.prototype.prevPage=function(){this.selectPage(this.page-1)},t.prototype.nextPage=function(){this.selectPage(this.page+1)},t.prototype.selectPage=function(t){t>0&&t<=this.totalPages&&t!==this.page&&(this.page=t,this.change.emit({page:t}))},t.prototype.calcPages=function(t){var e=[],n=1,a=this.totalPages;t=t||this.page,5<this.totalPages&&(n=t-Math.floor(2.5),a=t+Math.floor(2.5),n<1?(n=1,a=Math.min(n+5-1,this.totalPages)):a>this.totalPages&&(n=Math.max(this.totalPages-5+1,1),a=this.totalPages));for(var r=n;r<=a;r++)e.push({number:r,text:r});return e},a([o.Input(),r("design:type",String)],t.prototype,"pagerLeftArrowIcon",void 0),a([o.Input(),r("design:type",String)],t.prototype,"pagerRightArrowIcon",void 0),a([o.Input(),r("design:type",String)],t.prototype,"pagerPreviousIcon",void 0),a([o.Input(),r("design:type",String)],t.prototype,"pagerNextIcon",void 0),a([o.Input(),r("design:type",Number),r("design:paramtypes",[Number])],t.prototype,"size",null),a([o.Input(),r("design:type",Number),r("design:paramtypes",[Number])],t.prototype,"count",null),a([o.Input(),r("design:type",Number),r("design:paramtypes",[Number])],t.prototype,"page",null),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"change",void 0),a([o.Component({selector:"datatable-pager",template:'\n    <ul class="pager">\n      <li [class.disabled]="!canPrevious()">\n        <a\n          role="button"\n          aria-label="go to first page"\n          href="javascript:void(0)"\n          (click)="selectPage(1)">\n          <i class="{{pagerPreviousIcon}}"></i>\n        </a>\n      </li>\n      <li [class.disabled]="!canPrevious()">\n        <a\n          role="button"\n          aria-label="go to previous page"\n          href="javascript:void(0)"\n          (click)="prevPage()">\n          <i class="{{pagerLeftArrowIcon}}"></i>\n        </a>\n      </li>\n      <li\n        role="button"\n        [attr.aria-label]="\'page \' + pg.number"\n        class="pages"\n        *ngFor="let pg of pages"\n        [class.active]="pg.number === page">\n        <a\n          href="javascript:void(0)"\n          (click)="selectPage(pg.number)">\n          {{pg.text}}\n        </a>\n      </li>\n      <li [class.disabled]="!canNext()">\n        <a\n          role="button"\n          aria-label="go to next page"\n          href="javascript:void(0)"\n          (click)="nextPage()">\n          <i class="{{pagerRightArrowIcon}}"></i>\n        </a>\n      </li>\n      <li [class.disabled]="!canNext()">\n        <a\n          role="button"\n          aria-label="go to last page"\n          href="javascript:void(0)"\n          (click)="selectPage(totalPages)">\n          <i class="{{pagerNextIcon}}"></i>\n        </a>\n      </li>\n    </ul>\n  ',host:{class:"datatable-pager"},changeDetection:o.ChangeDetectionStrategy.OnPush})],t)}()},"./src/components/header/header-cell.component.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var o=n("@angular/core"),i=n("./src/types/index.ts"),s=n("./src/utils/index.ts");n("./src/events.ts"),e.DataTableHeaderCellComponent=function(){function t(t){this.cd=t,this.sort=new o.EventEmitter,this.select=new o.EventEmitter,this.columnContextmenu=new o.EventEmitter(!1),this.sortFn=this.onSort.bind(this),this.selectFn=this.select.emit.bind(this.select),this.cellContext={column:this.column,sortDir:this.sortDir,sortFn:this.sortFn,allRowsSelected:this.allRowsSelected,selectFn:this.selectFn}}return Object.defineProperty(t.prototype,"allRowsSelected",{get:function(){return this._allRowsSelected},set:function(t){this._allRowsSelected=t,this.cellContext.allRowsSelected=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"column",{get:function(){return this._column},set:function(t){this._column=t,this.cellContext.column=t,this.cd.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"sorts",{get:function(){return this._sorts},set:function(t){this._sorts=t,this.sortDir=this.calcSortDir(t),this.cellContext.sortDir=this.sortDir,this.sortClass=this.calcSortClass(this.sortDir),this.cd.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"columnCssClasses",{get:function(){var t="datatable-header-cell";if(this.column.sortable&&(t+=" sortable"),this.column.resizeable&&(t+=" resizeable"),this.column.headerClass)if("string"==typeof this.column.headerClass)t+=" "+this.column.headerClass;else if("function"==typeof this.column.headerClass){var e=this.column.headerClass({column:this.column});if("string"==typeof e)t+=e;else if("object"==typeof e)for(var n=0,a=Object.keys(e);n<a.length;n++){var r=a[n];!0===e[r]&&(t+=" "+r)}}var o=this.sortDir;return o&&(t+=" sort-active sort-"+o),t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"name",{get:function(){return void 0===this.column.headerTemplate?this.column.name:void 0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"minWidth",{get:function(){return this.column.minWidth},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"maxWidth",{get:function(){return this.column.maxWidth},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"width",{get:function(){return this.column.width},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isCheckboxable",{get:function(){return this.column.checkboxable&&this.column.headerCheckboxable&&this.selectionType===i.SelectionType.checkbox},enumerable:!0,configurable:!0}),t.prototype.onContextmenu=function(t){this.columnContextmenu.emit({event:t,column:this.column})},t.prototype.calcSortDir=function(t){var e=this;if(t&&this.column){var n=t.find((function(t){return t.prop===e.column.prop}));if(n)return n.dir}},t.prototype.onSort=function(){if(this.column.sortable){var t=s.nextSortDir(this.sortType,this.sortDir);this.sort.emit({column:this.column,prevValue:this.sortDir,newValue:t})}},t.prototype.calcSortClass=function(t){return t===i.SortDirection.asc?"sort-btn sort-asc "+this.sortAscendingIcon:t===i.SortDirection.desc?"sort-btn sort-desc "+this.sortDescendingIcon:"sort-btn"},a([o.Input(),r("design:type",String)],t.prototype,"sortType",void 0),a([o.Input(),r("design:type",String)],t.prototype,"sortAscendingIcon",void 0),a([o.Input(),r("design:type",String)],t.prototype,"sortDescendingIcon",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"isTarget",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"targetMarkerTemplate",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"targetMarkerContext",void 0),a([o.Input(),r("design:type",Object),r("design:paramtypes",[Object])],t.prototype,"allRowsSelected",null),a([o.Input(),r("design:type",String)],t.prototype,"selectionType",void 0),a([o.Input(),r("design:type",Object),r("design:paramtypes",[Object])],t.prototype,"column",null),a([o.HostBinding("style.height.px"),o.Input(),r("design:type",Number)],t.prototype,"headerHeight",void 0),a([o.Input(),r("design:type",Array),r("design:paramtypes",[Array])],t.prototype,"sorts",null),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"sort",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"select",void 0),a([o.Output(),r("design:type",Object)],t.prototype,"columnContextmenu",void 0),a([o.HostBinding("class"),r("design:type",Object),r("design:paramtypes",[])],t.prototype,"columnCssClasses",null),a([o.HostBinding("attr.title"),r("design:type",String),r("design:paramtypes",[])],t.prototype,"name",null),a([o.HostBinding("style.minWidth.px"),r("design:type",Number),r("design:paramtypes",[])],t.prototype,"minWidth",null),a([o.HostBinding("style.maxWidth.px"),r("design:type",Number),r("design:paramtypes",[])],t.prototype,"maxWidth",null),a([o.HostBinding("style.width.px"),r("design:type",Number),r("design:paramtypes",[])],t.prototype,"width",null),a([o.HostListener("contextmenu",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],t.prototype,"onContextmenu",null),a([o.Component({selector:"datatable-header-cell",template:'\n    <div class="datatable-header-cell-template-wrap">\n      <ng-template\n        *ngIf="isTarget"\n        [ngTemplateOutlet]="targetMarkerTemplate"\n        [ngTemplateOutletContext]="targetMarkerContext">\n      </ng-template>\n      <label\n        *ngIf="isCheckboxable"\n        class="datatable-checkbox">\n        <input\n          type="checkbox"\n          [checked]="allRowsSelected"\n          (change)="select.emit(!allRowsSelected)"\n        />\n      </label>\n      <span\n        *ngIf="!column.headerTemplate"\n        class="datatable-header-cell-wrapper">\n        <span\n          class="datatable-header-cell-label draggable"\n          (click)="onSort()"\n          [innerHTML]="name">\n        </span>\n      </span>\n      <ng-template\n        *ngIf="column.headerTemplate"\n        [ngTemplateOutlet]="column.headerTemplate"\n        [ngTemplateOutletContext]="cellContext">\n      </ng-template>\n      <span\n        (click)="onSort()"\n        [class]="sortClass">\n      </span>\n    </div>\n  ',host:{class:"datatable-header-cell"},changeDetection:o.ChangeDetectionStrategy.OnPush}),r("design:paramtypes",[o.ChangeDetectorRef])],t)}()},"./src/components/header/header.component.ts":function(t,e,n){"use strict";var a=this&&this.__assign||function(){return(a=Object.assign||function(t){for(var e,n=1,a=arguments.length;n<a;n++)for(var r in e=arguments[n])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t}).apply(this,arguments)},r=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},o=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var i=n("@angular/core"),s=n("./src/types/index.ts"),c=n("./src/utils/index.ts");e.DataTableHeaderComponent=function(){function t(t){this.cd=t,this.sort=new i.EventEmitter,this.reorder=new i.EventEmitter,this.resize=new i.EventEmitter,this.select=new i.EventEmitter,this.columnContextmenu=new i.EventEmitter(!1),this._styleByGroup={left:{},center:{},right:{}}}return Object.defineProperty(t.prototype,"innerWidth",{get:function(){return this._innerWidth},set:function(t){if(this._innerWidth=t,this._columns){var e=c.columnsByPin(this._columns);this._columnGroupWidths=c.columnGroupWidths(e,this._columns),this.setStylesByGroup()}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"headerHeight",{get:function(){return this._headerHeight},set:function(t){this._headerHeight="auto"!==t?t+"px":t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"columns",{get:function(){return this._columns},set:function(t){this._columns=t;var e=c.columnsByPin(t);this._columnsByPin=c.columnsByPinArr(t),this._columnGroupWidths=c.columnGroupWidths(e,t),this.setStylesByGroup()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"offsetX",{get:function(){return this._offsetX},set:function(t){this._offsetX=t,this.setStylesByGroup()},enumerable:!0,configurable:!0}),t.prototype.onLongPressStart=function(t){var e=t.event;t.model.dragging=!0,this.dragEventTarget=e},t.prototype.onLongPressEnd=function(t){var e=this,n=t.model;this.dragEventTarget=t.event,setTimeout((function(){var t=e._columns.find((function(t){return t.$$id===n.$$id}));t&&(t.dragging=!1)}),5)},Object.defineProperty(t.prototype,"headerWidth",{get:function(){return this.scrollbarH?this.innerWidth+"px":"100%"},enumerable:!0,configurable:!0}),t.prototype.trackByGroups=function(t,e){return e.type},t.prototype.columnTrackingFn=function(t,e){return e.$$id},t.prototype.onColumnResized=function(t,e){t<=e.minWidth?t=e.minWidth:t>=e.maxWidth&&(t=e.maxWidth),this.resize.emit({column:e,prevValue:e.width,newValue:t})},t.prototype.onColumnReordered=function(t){var e=t.prevIndex,n=t.newIndex,a=t.model,r=this.getColumn(n);r.isTarget=!1,r.targetMarkerContext=void 0,this.reorder.emit({column:a,prevValue:e,newValue:n})},t.prototype.onTargetChanged=function(t){var e=t.prevIndex,n=t.newIndex,a=t.initialIndex;if(e||0===e){var r=this.getColumn(e);r.isTarget=!1,r.targetMarkerContext=void 0}if(n||0===n){var o=this.getColumn(n);o.isTarget=!0,a!==n&&(o.targetMarkerContext={class:"targetMarker ".concat(a>n?"dragFromRight":"dragFromLeft")})}},t.prototype.getColumn=function(t){var e=this._columnsByPin[0].columns.length;if(t<e)return this._columnsByPin[0].columns[t];var n=this._columnsByPin[1].columns.length;return t<e+n?this._columnsByPin[1].columns[t-e]:this._columnsByPin[2].columns[t-e-n]},t.prototype.onSort=function(t){var e=t.column,n=t.prevValue,a=t.newValue;if(!e.dragging){var r=this.calcNewSorts(e,n,a);this.sort.emit({sorts:r,column:e,prevValue:n,newValue:a})}},t.prototype.calcNewSorts=function(t,e,n){var r=0;this.sorts||(this.sorts=[]);var o=this.sorts.map((function(e,n){return(e=a({},e)).prop===t.prop&&(r=n),e}));return void 0===n?o.splice(r,1):e?o[r].dir=n:(this.sortType===s.SortType.single&&o.splice(0,this.sorts.length),o.push({dir:n,prop:t.prop})),o},t.prototype.setStylesByGroup=function(){this._styleByGroup.left=this.calcStylesByGroup("left"),this._styleByGroup.center=this.calcStylesByGroup("center"),this._styleByGroup.right=this.calcStylesByGroup("right"),this.cd.detectChanges()},t.prototype.calcStylesByGroup=function(t){var e=this._columnGroupWidths,n={width:e[t]+"px"};return"center"===t?c.translateXY(n,-1*this.offsetX,0):"right"===t&&c.translateXY(n,-1*(e.total-this.innerWidth),0),n},r([i.Input(),o("design:type",Object)],t.prototype,"sortAscendingIcon",void 0),r([i.Input(),o("design:type",Object)],t.prototype,"sortDescendingIcon",void 0),r([i.Input(),o("design:type",Boolean)],t.prototype,"scrollbarH",void 0),r([i.Input(),o("design:type",Boolean)],t.prototype,"dealsWithGroup",void 0),r([i.Input(),o("design:type",Object)],t.prototype,"targetMarkerTemplate",void 0),r([i.Input(),o("design:type",Number),o("design:paramtypes",[Number])],t.prototype,"innerWidth",null),r([i.Input(),o("design:type",Array)],t.prototype,"sorts",void 0),r([i.Input(),o("design:type",String)],t.prototype,"sortType",void 0),r([i.Input(),o("design:type",Boolean)],t.prototype,"allRowsSelected",void 0),r([i.Input(),o("design:type",String)],t.prototype,"selectionType",void 0),r([i.Input(),o("design:type",Boolean)],t.prototype,"reorderable",void 0),r([i.HostBinding("style.height"),i.Input(),o("design:type",Object),o("design:paramtypes",[Object])],t.prototype,"headerHeight",null),r([i.Input(),o("design:type",Array),o("design:paramtypes",[Array])],t.prototype,"columns",null),r([i.Input(),o("design:type",Number),o("design:paramtypes",[Number])],t.prototype,"offsetX",null),r([i.Output(),o("design:type",i.EventEmitter)],t.prototype,"sort",void 0),r([i.Output(),o("design:type",i.EventEmitter)],t.prototype,"reorder",void 0),r([i.Output(),o("design:type",i.EventEmitter)],t.prototype,"resize",void 0),r([i.Output(),o("design:type",i.EventEmitter)],t.prototype,"select",void 0),r([i.Output(),o("design:type",Object)],t.prototype,"columnContextmenu",void 0),r([i.HostBinding("style.width"),o("design:type",String),o("design:paramtypes",[])],t.prototype,"headerWidth",null),r([i.Component({selector:"datatable-header",template:'\n    <div\n      orderable\n      (reorder)="onColumnReordered($event)"\n      (targetChanged)="onTargetChanged($event)"\n      [style.width.px]="_columnGroupWidths.total"\n      class="datatable-header-inner">\n      <div\n        *ngFor="let colGroup of _columnsByPin; trackBy: trackByGroups"\n        [class]="\'datatable-row-\' + colGroup.type"\n        [ngStyle]="_styleByGroup[colGroup.type]">\n        <datatable-header-cell\n          *ngFor="let column of colGroup.columns; trackBy: columnTrackingFn"\n          resizeable\n          [resizeEnabled]="column.resizeable"\n          (resize)="onColumnResized($event, column)"\n          long-press\n          [pressModel]="column"\n          [pressEnabled]="reorderable && column.draggable"\n          (longPressStart)="onLongPressStart($event)"\n          (longPressEnd)="onLongPressEnd($event)"\n          draggable\n          [dragX]="reorderable && column.draggable && column.dragging"\n          [dragY]="false"\n          [dragModel]="column"\n          [dragEventTarget]="dragEventTarget"\n          [headerHeight]="headerHeight"\n          [isTarget]="column.isTarget"\n          [targetMarkerTemplate]="targetMarkerTemplate"\n          [targetMarkerContext]="column.targetMarkerContext"\n          [column]="column"\n          [sortType]="sortType"\n          [sorts]="sorts"\n          [selectionType]="selectionType"\n          [sortAscendingIcon]="sortAscendingIcon"\n          [sortDescendingIcon]="sortDescendingIcon"\n          [allRowsSelected]="allRowsSelected"\n          (sort)="onSort($event)"\n          (select)="select.emit($event)"\n          (columnContextmenu)="columnContextmenu.emit($event)">\n        </datatable-header-cell>\n      </div>\n    </div>\n  ',host:{class:"datatable-header"},changeDetection:i.ChangeDetectionStrategy.OnPush}),o("design:paramtypes",[i.ChangeDetectorRef])],t)}()},"./src/components/header/index.ts":function(t,e,n){"use strict";function a(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),a(n("./src/components/header/header.component.ts")),a(n("./src/components/header/header-cell.component.ts"))},"./src/components/index.ts":function(t,e,n){"use strict";function a(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),a(n("./src/components/datatable.component.ts")),a(n("./src/components/header/index.ts")),a(n("./src/components/body/index.ts")),a(n("./src/components/footer/index.ts")),a(n("./src/components/columns/index.ts")),a(n("./src/components/row-detail/index.ts"))},"./src/components/row-detail/index.ts":function(t,e,n){"use strict";function a(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),a(n("./src/components/row-detail/row-detail.directive.ts")),a(n("./src/components/row-detail/row-detail-template.directive.ts"))},"./src/components/row-detail/row-detail-template.directive.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var o=n("@angular/core");e.DatatableRowDetailTemplateDirective=function(){return a([o.Directive({selector:"[ngx-datatable-row-detail-template]"}),r("design:paramtypes",[o.TemplateRef])],(function(t){this.template=t}))}()},"./src/components/row-detail/row-detail.directive.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var o=n("@angular/core"),i=n("./src/components/row-detail/row-detail-template.directive.ts");e.DatatableRowDetailDirective=function(){function t(){this.rowHeight=0,this.toggle=new o.EventEmitter}return t.prototype.toggleExpandRow=function(t){this.toggle.emit({type:"row",value:t})},t.prototype.expandAllRows=function(){this.toggle.emit({type:"all",value:!0})},t.prototype.collapseAllRows=function(){this.toggle.emit({type:"all",value:!1})},a([o.Input(),r("design:type",Object)],t.prototype,"rowHeight",void 0),a([o.Input(),o.ContentChild(i.DatatableRowDetailTemplateDirective,{read:o.TemplateRef,static:!0}),r("design:type",o.TemplateRef)],t.prototype,"template",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"toggle",void 0),a([o.Directive({selector:"ngx-datatable-row-detail"})],t)}()},"./src/datatable.module.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i};Object.defineProperty(e,"__esModule",{value:!0});var r=n("@angular/core"),o=n("@angular/common"),i=n("./src/components/index.ts"),s=n("./src/directives/index.ts"),c=n("./src/services/index.ts");e.NgxDatatableModule=function(){return a([r.NgModule({imports:[o.CommonModule],providers:[c.ScrollbarHelper,c.DimensionsHelper,c.ColumnChangesService],declarations:[i.DataTableFooterTemplateDirective,s.VisibilityDirective,s.DraggableDirective,s.ResizeableDirective,s.OrderableDirective,s.LongPressDirective,i.ScrollerComponent,i.DatatableComponent,i.DataTableColumnDirective,i.DataTableHeaderComponent,i.DataTableHeaderCellComponent,i.DataTableBodyComponent,i.DataTableFooterComponent,i.DataTablePagerComponent,i.ProgressBarComponent,i.DataTableBodyRowComponent,i.DataTableRowWrapperComponent,i.DatatableRowDetailDirective,i.DatatableGroupHeaderDirective,i.DatatableRowDetailTemplateDirective,i.DataTableBodyCellComponent,i.DataTableSelectionComponent,i.DataTableColumnHeaderDirective,i.DataTableColumnCellDirective,i.DataTableColumnCellTreeToggle,i.DatatableFooterDirective,i.DatatableGroupHeaderTemplateDirective,i.DataTableSummaryRowComponent],exports:[i.DatatableComponent,i.DatatableRowDetailDirective,i.DatatableGroupHeaderDirective,i.DatatableRowDetailTemplateDirective,i.DataTableColumnDirective,i.DataTableColumnHeaderDirective,i.DataTableColumnCellDirective,i.DataTableColumnCellTreeToggle,i.DataTableFooterTemplateDirective,i.DatatableFooterDirective,i.DataTablePagerComponent,i.DatatableGroupHeaderTemplateDirective]})],(function(){}))}()},"./src/directives/draggable.directive.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var o=n("@angular/core"),i=n("rxjs"),s=n("rxjs/operators");e.DraggableDirective=function(){function t(t){this.dragX=!0,this.dragY=!0,this.dragStart=new o.EventEmitter,this.dragging=new o.EventEmitter,this.dragEnd=new o.EventEmitter,this.isDragging=!1,this.element=t.nativeElement}return t.prototype.ngOnChanges=function(t){t.dragEventTarget&&t.dragEventTarget.currentValue&&this.dragModel.dragging&&this.onMousedown(t.dragEventTarget.currentValue)},t.prototype.ngOnDestroy=function(){this._destroySubscription()},t.prototype.onMouseup=function(t){this.isDragging&&(this.isDragging=!1,this.element.classList.remove("dragging"),this.subscription&&(this._destroySubscription(),this.dragEnd.emit({event:t,element:this.element,model:this.dragModel})))},t.prototype.onMousedown=function(t){var e=this;if(t.target.classList.contains("draggable")&&(this.dragX||this.dragY)){t.preventDefault(),this.isDragging=!0;var n={x:t.clientX,y:t.clientY},a=i.fromEvent(document,"mouseup");this.subscription=a.subscribe((function(t){return e.onMouseup(t)}));var r=i.fromEvent(document,"mousemove").pipe(s.takeUntil(a)).subscribe((function(t){return e.move(t,n)}));this.subscription.add(r),this.dragStart.emit({event:t,element:this.element,model:this.dragModel})}},t.prototype.move=function(t,e){if(this.isDragging){var n=t.clientY-e.y;this.dragX&&(this.element.style.left=t.clientX-e.x+"px"),this.dragY&&(this.element.style.top=n+"px"),this.element.classList.add("dragging"),this.dragging.emit({event:t,element:this.element,model:this.dragModel})}},t.prototype._destroySubscription=function(){this.subscription&&(this.subscription.unsubscribe(),this.subscription=void 0)},a([o.Input(),r("design:type",Object)],t.prototype,"dragEventTarget",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"dragModel",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"dragX",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"dragY",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"dragStart",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"dragging",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"dragEnd",void 0),a([o.Directive({selector:"[draggable]"}),r("design:paramtypes",[o.ElementRef])],t)}()},"./src/directives/index.ts":function(t,e,n){"use strict";function a(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),a(n("./src/directives/draggable.directive.ts")),a(n("./src/directives/long-press.directive.ts")),a(n("./src/directives/orderable.directive.ts")),a(n("./src/directives/resizeable.directive.ts")),a(n("./src/directives/visibility.directive.ts"))},"./src/directives/long-press.directive.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var o=n("@angular/core"),i=n("rxjs"),s=n("rxjs/operators");n("./src/events.ts"),e.LongPressDirective=function(){function t(){this.pressEnabled=!0,this.duration=500,this.longPressStart=new o.EventEmitter,this.longPressing=new o.EventEmitter,this.longPressEnd=new o.EventEmitter,this.mouseX=0,this.mouseY=0}return Object.defineProperty(t.prototype,"press",{get:function(){return this.pressing},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isLongPress",{get:function(){return this.isLongPressing},enumerable:!0,configurable:!0}),t.prototype.onMouseDown=function(t){var e=this;if(1===t.which&&this.pressEnabled&&!t.target.classList.contains("resize-handle")){this.mouseX=t.clientX,this.mouseY=t.clientY,this.pressing=!0,this.isLongPressing=!1;var n=i.fromEvent(document,"mouseup");this.subscription=n.subscribe((function(t){return e.onMouseup()})),this.timeout=setTimeout((function(){e.isLongPressing=!0,e.longPressStart.emit({event:t,model:e.pressModel}),e.subscription.add(i.fromEvent(document,"mousemove").pipe(s.takeUntil(n)).subscribe((function(t){return e.onMouseMove(t)}))),e.loop(t)}),this.duration),this.loop(t)}},t.prototype.onMouseMove=function(t){if(this.pressing&&!this.isLongPressing){var e=Math.abs(t.clientX-this.mouseX)>10,n=Math.abs(t.clientY-this.mouseY)>10;(e||n)&&this.endPress()}},t.prototype.loop=function(t){var e=this;this.isLongPressing&&(this.timeout=setTimeout((function(){e.longPressing.emit({event:t,model:e.pressModel}),e.loop(t)}),50))},t.prototype.endPress=function(){clearTimeout(this.timeout),this.isLongPressing=!1,this.pressing=!1,this._destroySubscription(),this.longPressEnd.emit({model:this.pressModel})},t.prototype.onMouseup=function(){this.endPress()},t.prototype.ngOnDestroy=function(){this._destroySubscription()},t.prototype._destroySubscription=function(){this.subscription&&(this.subscription.unsubscribe(),this.subscription=void 0)},a([o.Input(),r("design:type",Boolean)],t.prototype,"pressEnabled",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"pressModel",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"duration",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"longPressStart",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"longPressing",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"longPressEnd",void 0),a([o.HostBinding("class.press"),r("design:type",Boolean),r("design:paramtypes",[])],t.prototype,"press",null),a([o.HostBinding("class.longpress"),r("design:type",Boolean),r("design:paramtypes",[])],t.prototype,"isLongPress",null),a([o.HostListener("mousedown",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],t.prototype,"onMouseDown",null),a([o.Directive({selector:"[long-press]"})],t)}()},"./src/directives/orderable.directive.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},o=this&&this.__param||function(t,e){return function(n,a){e(n,a,t)}};Object.defineProperty(e,"__esModule",{value:!0});var i=n("@angular/core"),s=n("./src/directives/draggable.directive.ts"),c=n("@angular/common");e.OrderableDirective=function(){function t(t,e){this.document=e,this.reorder=new i.EventEmitter,this.targetChanged=new i.EventEmitter,this.differ=t.find({}).create()}return t.prototype.ngAfterContentInit=function(){this.updateSubscriptions(),this.draggables.changes.subscribe(this.updateSubscriptions.bind(this))},t.prototype.ngOnDestroy=function(){this.draggables.forEach((function(t){t.dragStart.unsubscribe(),t.dragging.unsubscribe(),t.dragEnd.unsubscribe()}))},t.prototype.updateSubscriptions=function(){var t=this,e=this.differ.diff(this.createMapDiffs());if(e){var n=function(t){var e=t.previousValue;e&&(e.dragStart.unsubscribe(),e.dragging.unsubscribe(),e.dragEnd.unsubscribe())};e.forEachAddedItem((function(e){var a=e.currentValue;n({previousValue:e.previousValue}),a&&(a.dragStart.subscribe(t.onDragStart.bind(t)),a.dragging.subscribe(t.onDragging.bind(t)),a.dragEnd.subscribe(t.onDragEnd.bind(t)))}).bind(this)),e.forEachRemovedItem(n.bind(this))}},t.prototype.onDragStart=function(){this.positions={};for(var t=0,e=0,n=this.draggables.toArray();e<n.length;e++){var a=n[e],r=a.element,o=parseInt(r.offsetLeft.toString(),0);this.positions[a.dragModel.prop]={left:o,right:o+parseInt(r.offsetWidth.toString(),0),index:t++,element:r}}},t.prototype.onDragging=function(t){var e=t.model,n=this.positions[e.prop],a=this.isTarget(e,t.event);a?this.lastDraggingIndex!==a.i&&(this.targetChanged.emit({prevIndex:this.lastDraggingIndex,newIndex:a.i,initialIndex:n.index}),this.lastDraggingIndex=a.i):this.lastDraggingIndex!==n.index&&(this.targetChanged.emit({prevIndex:this.lastDraggingIndex,initialIndex:n.index}),this.lastDraggingIndex=n.index)},t.prototype.onDragEnd=function(t){var e=t.element,n=t.model,a=this.positions[n.prop],r=this.isTarget(n,t.event);r&&this.reorder.emit({prevIndex:a.index,newIndex:r.i,model:n}),this.lastDraggingIndex=void 0,e.style.left="auto"},t.prototype.isTarget=function(t,e){var n=0,a=this.document.elementsFromPoint(e.x||e.clientX,e.y||e.clientY),r=function(e){var r=o.positions[e];if(t.prop!==e&&a.find((function(t){return t===r.element})))return{value:{pos:r,i:n}};n++},o=this;for(var i in this.positions){var s=r(i);if("object"==typeof s)return s.value}},t.prototype.createMapDiffs=function(){return this.draggables.toArray().reduce((function(t,e){return t[e.dragModel.$$id]=e,t}),{})},a([i.Output(),r("design:type",i.EventEmitter)],t.prototype,"reorder",void 0),a([i.Output(),r("design:type",i.EventEmitter)],t.prototype,"targetChanged",void 0),a([i.ContentChildren(s.DraggableDirective,{descendants:!0}),r("design:type",i.QueryList)],t.prototype,"draggables",void 0),a([i.Directive({selector:"[orderable]"}),o(1,i.Inject(c.DOCUMENT)),r("design:paramtypes",[i.KeyValueDiffers,Object])],t)}()},"./src/directives/resizeable.directive.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var o=n("@angular/core"),i=n("rxjs"),s=(n("./src/events.ts"),n("rxjs/operators"));e.ResizeableDirective=function(){function t(t,e){this.renderer=e,this.resizeEnabled=!0,this.resize=new o.EventEmitter,this.resizing=!1,this.element=t.nativeElement}return t.prototype.ngAfterViewInit=function(){var t=this.renderer,e=t.createElement("span");t.addClass(e,this.resizeEnabled?"resize-handle":"resize-handle--not-resizable"),t.appendChild(this.element,e)},t.prototype.ngOnDestroy=function(){this._destroySubscription()},t.prototype.onMouseup=function(){this.resizing=!1,this.subscription&&!this.subscription.closed&&(this._destroySubscription(),this.resize.emit(this.element.clientWidth))},t.prototype.onMousedown=function(t){var e=this,n=t.target.classList.contains("resize-handle"),a=this.element.clientWidth,r=t.screenX;if(n){t.stopPropagation(),this.resizing=!0;var o=i.fromEvent(document,"mouseup");this.subscription=o.subscribe((function(t){return e.onMouseup()}));var c=i.fromEvent(document,"mousemove").pipe(s.takeUntil(o)).subscribe((function(t){return e.move(t,a,r)}));this.subscription.add(c)}},t.prototype.move=function(t,e,n){var a=e+(t.screenX-n);(!this.minWidth||a>=this.minWidth)&&(!this.maxWidth||a<=this.maxWidth)&&(this.element.style.width=a+"px")},t.prototype._destroySubscription=function(){this.subscription&&(this.subscription.unsubscribe(),this.subscription=void 0)},a([o.Input(),r("design:type",Boolean)],t.prototype,"resizeEnabled",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"minWidth",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"maxWidth",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"resize",void 0),a([o.HostListener("mousedown",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],t.prototype,"onMousedown",null),a([o.Directive({selector:"[resizeable]",host:{"[class.resizeable]":"resizeEnabled"}}),r("design:paramtypes",[o.ElementRef,o.Renderer2])],t)}()},"./src/directives/visibility.directive.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var o=n("@angular/core");e.VisibilityDirective=function(){function t(t,e){this.element=t,this.zone=e,this.isVisible=!1,this.visible=new o.EventEmitter}return t.prototype.ngOnInit=function(){this.runCheck()},t.prototype.ngOnDestroy=function(){clearTimeout(this.timeout)},t.prototype.onVisibilityChange=function(){var t=this;this.zone.run((function(){t.isVisible=!0,t.visible.emit(!0)}))},t.prototype.runCheck=function(){var t=this,e=function(){var n=t.element.nativeElement;n.offsetHeight&&n.offsetWidth?(clearTimeout(t.timeout),t.onVisibilityChange()):(clearTimeout(t.timeout),t.zone.runOutsideAngular((function(){t.timeout=setTimeout((function(){return e()}),50)})))};this.timeout=setTimeout((function(){return e()}))},a([o.HostBinding("class.visible"),r("design:type",Boolean)],t.prototype,"isVisible",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"visible",void 0),a([o.Directive({selector:"[visibilityObserver]"}),r("design:paramtypes",[o.ElementRef,o.NgZone])],t)}()},"./src/events.ts":function(t,e,n){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0}),e.MouseEvent=("undefined"!=typeof window&&window||t).MouseEvent,e.KeyboardEvent=("undefined"!=typeof window&&window||t).KeyboardEvent,e.Event=("undefined"!=typeof window&&window||t).Event}).call(e,n("./node_modules/webpack/buildin/global.js"))},"./src/index.ts":function(t,e,n){"use strict";function a(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),a(n("./src/datatable.module.ts")),a(n("./src/types/index.ts")),a(n("./src/components/index.ts")),a(n("./src/services/index.ts"))},"./src/services/column-changes.service.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i};Object.defineProperty(e,"__esModule",{value:!0});var r=n("@angular/core"),o=n("rxjs");e.ColumnChangesService=function(){function t(){this.columnInputChanges=new o.Subject}return Object.defineProperty(t.prototype,"columnInputChanges$",{get:function(){return this.columnInputChanges.asObservable()},enumerable:!0,configurable:!0}),t.prototype.onInputChange=function(){this.columnInputChanges.next()},a([r.Injectable()],t)}()},"./src/services/dimensions-helper.service.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i};Object.defineProperty(e,"__esModule",{value:!0});var r=n("@angular/core");e.DimensionsHelper=function(){function t(){}return t.prototype.getDimensions=function(t){return t.getBoundingClientRect()},a([r.Injectable()],t)}()},"./src/services/index.ts":function(t,e,n){"use strict";function a(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),a(n("./src/services/scrollbar-helper.service.ts")),a(n("./src/services/dimensions-helper.service.ts")),a(n("./src/services/column-changes.service.ts"))},"./src/services/scrollbar-helper.service.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},o=this&&this.__param||function(t,e){return function(n,a){e(n,a,t)}};Object.defineProperty(e,"__esModule",{value:!0});var i=n("@angular/core"),s=n("@angular/common");e.ScrollbarHelper=function(){function t(t){this.document=t,this.width=this.getWidth()}return t.prototype.getWidth=function(){var t=this.document.createElement("div");t.style.visibility="hidden",t.style.width="100px",t.style.msOverflowStyle="scrollbar",this.document.body.appendChild(t);var e=t.offsetWidth;t.style.overflow="scroll";var n=this.document.createElement("div");n.style.width="100%",t.appendChild(n);var a=n.offsetWidth;return t.parentNode.removeChild(t),e-a},a([i.Injectable(),o(0,i.Inject(s.DOCUMENT)),r("design:paramtypes",[Object])],t)}()},"./src/types/click.type.ts":function(t,e,n){"use strict";var a;Object.defineProperty(e,"__esModule",{value:!0}),(a=e.ClickType||(e.ClickType={})).single="single",a.double="double"},"./src/types/column-mode.type.ts":function(t,e,n){"use strict";var a;Object.defineProperty(e,"__esModule",{value:!0}),(a=e.ColumnMode||(e.ColumnMode={})).standard="standard",a.flex="flex",a.force="force"},"./src/types/contextmenu.type.ts":function(t,e,n){"use strict";var a;Object.defineProperty(e,"__esModule",{value:!0}),(a=e.ContextmenuType||(e.ContextmenuType={})).header="header",a.body="body"},"./src/types/index.ts":function(t,e,n){"use strict";function a(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),a(n("./src/types/column-mode.type.ts")),a(n("./src/types/sort.type.ts")),a(n("./src/types/sort-direction.type.ts")),a(n("./src/types/selection.type.ts")),a(n("./src/types/click.type.ts")),a(n("./src/types/contextmenu.type.ts"))},"./src/types/selection.type.ts":function(t,e,n){"use strict";var a;Object.defineProperty(e,"__esModule",{value:!0}),(a=e.SelectionType||(e.SelectionType={})).single="single",a.multi="multi",a.multiClick="multiClick",a.cell="cell",a.checkbox="checkbox"},"./src/types/sort-direction.type.ts":function(t,e,n){"use strict";var a;Object.defineProperty(e,"__esModule",{value:!0}),(a=e.SortDirection||(e.SortDirection={})).asc="asc",a.desc="desc"},"./src/types/sort.type.ts":function(t,e,n){"use strict";var a;Object.defineProperty(e,"__esModule",{value:!0}),(a=e.SortType||(e.SortType={})).single="single",a.multi="multi"},"./src/utils/camel-case.ts":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.camelCase=function(t){return(t=(t=(t=t.replace(/[^a-zA-Z0-9 ]/g," ")).replace(/([a-z](?=[A-Z]))/g,"$1 ")).replace(/([^a-zA-Z0-9 ])|^[0-9]+/g,"").trim().toLowerCase()).replace(/([ 0-9]+)([a-zA-Z])/g,(function(t,e,n){return e.trim()+n.toUpperCase()}))},e.deCamelCase=function(t){return t.replace(/([A-Z])/g,(function(t){return" "+t})).replace(/^./,(function(t){return t.toUpperCase()}))}},"./src/utils/column-helper.ts":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=n("./src/utils/camel-case.ts"),r=n("./src/utils/id.ts"),o=n("./src/utils/column-prop-getters.ts");function i(t){return null==t}e.setColumnDefaults=function(t){if(t)for(var e=!1,n=0,s=t;n<s.length;n++){var c=s[n];c.$$id||(c.$$id=r.id()),i(c.prop)&&c.name&&(c.prop=a.camelCase(c.name)),c.$$valueGetter||(c.$$valueGetter=o.getterForProp(c.prop)),!i(c.prop)&&i(c.name)&&(c.name=a.deCamelCase(String(c.prop))),i(c.prop)&&i(c.name)&&(c.name=""),c.hasOwnProperty("resizeable")||(c.resizeable=!0),c.hasOwnProperty("sortable")||(c.sortable=!0),c.hasOwnProperty("draggable")||(c.draggable=!0),c.hasOwnProperty("canAutoResize")||(c.canAutoResize=!0),c.hasOwnProperty("width")||(c.width=150),c.hasOwnProperty("isTreeColumn")&&c.isTreeColumn&&!e?e=!0:c.isTreeColumn=!1}},e.isNullOrUndefined=i,e.translateTemplates=function(t){for(var e=[],n=0,a=t;n<a.length;n++){for(var r=a[n],o={},i=0,s=Object.getOwnPropertyNames(r);i<s.length;i++){var c=s[i];o[c]=r[c]}r.headerTemplate&&(o.headerTemplate=r.headerTemplate),r.cellTemplate&&(o.cellTemplate=r.cellTemplate),r.summaryFunc&&(o.summaryFunc=r.summaryFunc),r.summaryTemplate&&(o.summaryTemplate=r.summaryTemplate),e.push(o)}return e}},"./src/utils/column-prop-getters.ts":function(t,e,n){"use strict";function a(){return""}function r(t,e){if(null==t)return"";if(!t||null==e)return t;var n=t[e];return null==n?"":n}function o(t,e){if(null==t)return"";if(!t||!e)return t;var n=t[e];return null==n?"":n}function i(t,e){if(null==t)return"";if(!t||!e)return t;var n=t[e];if(void 0!==n)return n;n=t;var a=e.split(".");if(a.length)for(var r=0;r<a.length;r++)if(null==(n=n[a[r]]))return"";return n}Object.defineProperty(e,"__esModule",{value:!0}),e.emptyStringGetter=a,e.getterForProp=function(t){return null==t?a:"number"==typeof t?r:-1!==t.indexOf(".")?i:o},e.numericIndexGetter=r,e.shallowValueGetter=o,e.deepValueGetter=i},"./src/utils/column.ts":function(t,e,n){"use strict";function a(t){var e={left:[],center:[],right:[]};if(t)for(var n=0,a=t;n<a.length;n++){var r=a[n];r.frozenLeft?e.left.push(r):r.frozenRight?e.right.push(r):e.center.push(r)}return e}function r(t,e){var n=0;if(t)for(var a=0,r=t;a<r.length;a++){var o=r[a];n+=parseFloat(e&&o[e]?o[e]:o.width)}return n}Object.defineProperty(e,"__esModule",{value:!0}),e.columnsByPin=a,e.columnGroupWidths=function(t,e){return{left:r(t.left),center:r(t.center),right:r(t.right),total:Math.floor(r(e))}},e.columnTotalWidth=r,e.columnsTotalWidth=function(t,e){for(var n=0,a=0,r=t;a<r.length;a++){var o=r[a];n+=e&&o[e]?o[e]:o.width}return n},e.columnsByPinArr=function(t){var e=[],n=a(t);return e.push({type:"left",columns:n.left}),e.push({type:"center",columns:n.center}),e.push({type:"right",columns:n.right}),e}},"./src/utils/elm-from-point.ts":function(t,e,n){"use strict";function a(t,e){for(var n,a,r,o=[],i=[];(n=document.elementFromPoint(t,e))&&-1===o.indexOf(n)&&null!=n;)o.push(n),i.push({value:n.style.getPropertyValue("pointer-events"),priority:n.style.getPropertyPriority("pointer-events")}),n.style.setProperty("pointer-events","none","important");for(a=i.length;r=i[--a];)o[a].style.setProperty("pointer-events",r.value?r.value:"",r.priority);return o}Object.defineProperty(e,"__esModule",{value:!0}),"undefined"==typeof document||document.elementsFromPoint||(document.elementsFromPoint=a),e.elementsFromPoint=a},"./src/utils/id.ts":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.id=function(){return("0000"+(Math.random()*Math.pow(36,4)<<0).toString(36)).slice(-4)}},"./src/utils/index.ts":function(t,e,n){"use strict";function a(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),a(n("./src/utils/id.ts")),a(n("./src/utils/column.ts")),a(n("./src/utils/column-prop-getters.ts")),a(n("./src/utils/camel-case.ts")),a(n("./src/utils/keys.ts")),a(n("./src/utils/math.ts")),a(n("./src/utils/prefixes.ts")),a(n("./src/utils/selection.ts")),a(n("./src/utils/translate.ts")),a(n("./src/utils/throttle.ts")),a(n("./src/utils/sort.ts")),a(n("./src/utils/row-height-cache.ts")),a(n("./src/utils/column-helper.ts")),a(n("./src/utils/elm-from-point.ts")),a(n("./src/utils/tree.ts"))},"./src/utils/keys.ts":function(t,e,n){"use strict";var a;Object.defineProperty(e,"__esModule",{value:!0}),(a=e.Keys||(e.Keys={}))[a.up=38]="up",a[a.down=40]="down",a[a.return=13]="return",a[a.escape=27]="escape",a[a.left=37]="left",a[a.right=39]="right"},"./src/utils/math.ts":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=n("./src/utils/column.ts");function r(t){for(var e=0,n=0,a=t;n<a.length;n++)e+=a[n].flexGrow||0;return e}function o(t,e){for(var n=0,a=e;n<a.length;n++){var r=t.indexOf(a[n]);t.splice(r,1)}}function i(t,e){void 0===e&&(e=300);for(var n=0,a=0,r=t;a<r.length;a++)n+=r[a].width||e;return n}e.getTotalFlexGrow=r,e.adjustColumnWidths=function(t,e){var n=a.columnsTotalWidth(t),o=r(t),i=a.columnsByPin(t);n!==e&&function(t,e,n){for(var a in t)for(var r=0,o=t[a];r<o.length;r++)(u=o[r]).canAutoResize?u.width=0:(e-=u.width,n-=u.flexGrow?u.flexGrow:0);var i={},s=e;do{var c=s/n;for(var a in s=0,t)for(var l=0,d=t[a];l<d.length;l++){var u;if((u=d[l]).canAutoResize&&!i[u.prop]){var g=u.width+u.flexGrow*c;void 0!==u.minWidth&&g<u.minWidth?(s+=g-u.minWidth,u.width=u.minWidth,i[u.prop]=!0):u.width=g}}}while(0!==s)}(i,e,o)},e.forceFillColumnWidths=function(t,e,n,a,r){void 0===r&&(r=300);for(var s=t.slice(n+1,t.length).filter((function(t){return!1!==t.canAutoResize})),c=0,l=s;c<l.length;c++)(b=l[c]).$$oldWidth||(b.$$oldWidth=b.width);var d=0,u=!1,g=i(t,r),f=e-g,p=[];do{d=f/s.length,u=g>=e;for(var m=0,h=s;m<h.length;m++){var b=h[m];if(u&&a)b.width=b.$$oldWidth||b.width||r;else{var _=(b.width||r)+d;b.minWidth&&_<b.minWidth?(b.width=b.minWidth,p.push(b)):b.maxWidth&&_>b.maxWidth?(b.width=b.maxWidth,p.push(b)):b.width=_}b.width=Math.max(0,b.width)}f=e-(g=i(t)),o(s,p)}while(f>0&&0!==s.length)}},"./src/utils/prefixes.ts":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a,r,o,i,s=n("./src/utils/camel-case.ts"),c={},l="undefined"!=typeof document?document.createElement("div").style:void 0,d=(i=void 0!==(o=null!==(r=void 0!==(a="undefined"!=typeof window?window.getComputedStyle(document.documentElement,""):void 0)?Array.prototype.slice.call(a).join("").match(/-(moz|webkit|ms)-/):null)?r[1]:void 0)?"WebKit|Moz|MS|O".match(new RegExp("("+o+")","i"))[1]:void 0)?{dom:i,lowercase:o,css:"-"+o+"-",js:o[0].toUpperCase()+o.substr(1)}:void 0;e.getVendorPrefixedName=function(t){var e=s.camelCase(t);return c[e]||(void 0!==d&&void 0!==l[d.css+t]?c[e]=d.css+t:void 0!==l[t]&&(c[e]=t)),c[e]}},"./src/utils/row-height-cache.ts":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RowHeightCache=function(){function t(){this.treeArray=[]}return t.prototype.clearCache=function(){this.treeArray=[]},t.prototype.initCache=function(t){var e=t.rows,n=t.rowHeight,a=t.detailRowHeight,r=t.externalVirtual,o=t.rowCount,i=t.rowIndexes,s=t.rowExpansions,c="function"==typeof n,l="function"==typeof a;if(!c&&isNaN(n))throw new Error("Row Height cache initialization failed. Please ensure that 'rowHeight' is a\n        valid number or function value: ("+n+") when 'scrollbarV' is enabled.");if(!l&&isNaN(a))throw new Error("Row Height cache initialization failed. Please ensure that 'detailRowHeight' is a\n        valid number or function value: ("+a+") when 'scrollbarV' is enabled.");var d=r?o:e.length;this.treeArray=new Array(d);for(var u=0;u<d;++u)this.treeArray[u]=0;for(u=0;u<d;++u){var g=e[u],f=n;c&&(f=n(g));var p=s.get(g);g&&1===p&&(f+=l?a(g,i.get(g)):a),this.update(u,f)}},t.prototype.getRowIndex=function(t){return 0===t?0:this.calcRowIndex(t)},t.prototype.update=function(t,e){if(!this.treeArray.length)throw new Error("Update at index "+t+" with value "+e+" failed:\n        Row Height cache not initialized.");var n=this.treeArray.length;for(t|=0;t<n;)this.treeArray[t]+=e,t|=t+1},t.prototype.query=function(t){if(!this.treeArray.length)throw new Error("query at index "+t+" failed: Fenwick tree array not initialized.");var e=0;for(t|=0;t>=0;)e+=this.treeArray[t],t=(t&t+1)-1;return e},t.prototype.queryBetween=function(t,e){return this.query(e)-this.query(t-1)},t.prototype.calcRowIndex=function(t){if(!this.treeArray.length)return 0;for(var e=-1,n=this.treeArray.length,a=Math.pow(2,n.toString(2).length-1);0!==a;a>>=1){var r=e+a;r<n&&t>=this.treeArray[r]&&(t-=this.treeArray[r],e=r)}return e+1},t}()},"./src/utils/selection.ts":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.selectRows=function(t,e,n){var a=n(e,t);return a>-1?t.splice(a,1):t.push(e),t},e.selectRowsBetween=function(t,e,n,a,r){for(var o=n<a,i=0;i<e.length;i++){var s;s=o?{start:n,end:a}:{start:a,end:n+1},(o&&i<=a&&i>=n||!o&&i>=a&&i<=n)&&i>=s.start&&i<=s.end&&t.push(e[i])}return t}},"./src/utils/sort.ts":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=n("./src/types/index.ts"),r=n("./src/utils/column-prop-getters.ts");function o(t,e){if(null==t&&(t=0),null==e&&(e=0),t instanceof Date&&e instanceof Date){if(t<e)return-1;if(t>e)return 1}else if(isNaN(parseFloat(t))||!isFinite(t)||isNaN(parseFloat(e))||!isFinite(e)){if(t=String(t),e=String(e),t.toLowerCase()<e.toLowerCase())return-1;if(t.toLowerCase()>e.toLowerCase())return 1}else{if(parseFloat(t)<parseFloat(e))return-1;if(parseFloat(t)>parseFloat(e))return 1}return 0}e.nextSortDir=function(t,e){return t===a.SortType.single?e===a.SortDirection.asc?a.SortDirection.desc:a.SortDirection.asc:e?e===a.SortDirection.asc?a.SortDirection.desc:void 0:a.SortDirection.asc},e.orderByComparator=o,e.sortRows=function(t,e,n){if(!t)return[];if(!n||!n.length||!e)return t.slice();var i=new Map;t.forEach((function(t,e){return i.set(t,e)}));var s=t.slice(),c=e.reduce((function(t,e){return e.comparator&&"function"==typeof e.comparator&&(t[e.prop]=e.comparator),t}),{}),l=n.map((function(t){var e=t.prop;return{prop:e,dir:t.dir,valueGetter:r.getterForProp(e),compareFn:c[e]||o}}));return s.sort((function(t,e){for(var n=0,r=l;n<r.length;n++){var o=r[n],s=o.prop,c=o.valueGetter,d=c(t,s),u=c(e,s),g=o.dir!==a.SortDirection.desc?o.compareFn(d,u,t,e,o.dir):-o.compareFn(d,u,t,e,o.dir);if(0!==g)return g}return i.has(t)&&i.has(e)?i.get(t)<i.get(e)?-1:1:0}))}},"./src/utils/throttle.ts":function(t,e,n){"use strict";function a(t,e,n){var a,r,o;n=n||{};var i=null,s=0;function c(){s=!1===n.leading?0:+new Date,i=null,o=t.apply(a,r)}return function(){var l=+new Date;s||!1!==n.leading||(s=l);var d=e-(l-s);return a=this,r=arguments,d<=0?(clearTimeout(i),i=null,s=l,o=t.apply(a,r)):i||!1===n.trailing||(i=setTimeout(c,d)),o}}Object.defineProperty(e,"__esModule",{value:!0}),e.throttle=a,e.throttleable=function(t,e){return function(n,r,o){return{configurable:!0,enumerable:o.enumerable,get:function(){return Object.defineProperty(this,r,{configurable:!0,enumerable:o.enumerable,value:a(o.value,t,e)}),this[r]}}}}},"./src/utils/translate.ts":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=n("./src/utils/prefixes.ts"),r=n("./src/utils/camel-case.ts"),o="undefined"!=typeof window?a.getVendorPrefixedName("transform"):void 0,i="undefined"!=typeof window?a.getVendorPrefixedName("backfaceVisibility"):void 0,s="undefined"!=typeof window?!!a.getVendorPrefixedName("transform"):void 0,c="undefined"!=typeof window?!!a.getVendorPrefixedName("perspective"):void 0,l="undefined"!=typeof window?window.navigator.userAgent:"Chrome",d=/Safari\//.test(l)&&!/Chrome\//.test(l);e.translateXY=function(t,e,n){void 0!==o&&s?!d&&c?(t[o]="translate3d("+e+"px, "+n+"px, 0)",t[i]="hidden"):t[r.camelCase(o)]="translate("+e+"px, "+n+"px)":(t.top=n+"px",t.left=e+"px")}},"./src/utils/tree.ts":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=n("./src/utils/column-prop-getters.ts");e.optionalGetterForProp=function(t){return t&&function(e){return a.getterForProp(t)(e,t)}},e.groupRowsByParents=function(t,e,n){if(e&&n){var a={},o=t.length,i=null;a[0]=new r;for(var s=t.reduce((function(t,e){var a=n(e);return-1===t.indexOf(a)&&t.push(a),t}),[]),c=0;c<o;c++)a[n(t[c])]=new r(t[c]);for(c=0;c<o;c++){var l=0,d=e((i=a[n(t[c])]).row);d&&s.indexOf(d)>-1&&(l=d),i.parent=a[l],i.row.level=i.parent.row.level+1,i.parent.children.push(i)}var u=[];return a[0].flatten((function(){u=u.concat([this.row])}),!0),u}return t};var r=function(){function t(t){void 0===t&&(t=null),t||(t={level:-1,treeStatus:"expanded"}),this.row=t,this.parent=null,this.children=[]}return t.prototype.flatten=function(t,e){if("expanded"===this.row.treeStatus)for(var n=0,a=this.children.length;n<a;n++){var r=this.children[n];t.apply(r,Array.prototype.slice.call(arguments,2)),e&&r.flatten.apply(r,arguments)}},t}()},"@angular/common":function(e,n){e.exports=t},"@angular/core":function(t,n){t.exports=e},rxjs:function(t,e){t.exports=n},"rxjs/operators":function(t,e){t.exports=a}})},t.exports=a(n("SVse"),n("8Y7J"),n("qCKp"),n("kU1M"))},yCtX:function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var a=n("HDdC"),r=n("ngJS"),o=n("jZKg");function i(t,e){return e?Object(o.a)(t,e):new a.a(Object(r.a)(t))}},yGOH:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{}},yGk4:function(t,e,n){var a=n("Cwc5")(n("Kz5y"),"Set");t.exports=a},yHx3:function(t,e){var n=Object.prototype.hasOwnProperty;t.exports=function(t){var e=t.length,a=new t.constructor(e);return e&&"string"==typeof t[0]&&n.call(t,"index")&&(a.index=t.index,a.input=t.input),a}},yJti:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));var a=function(t){return t[t.ValueOk=0]="ValueOk",t[t.ValueStale=1]="ValueStale",t[t.ValueNone=2]="ValueNone",t[t.ValueException=3]="ValueException",t}({})},yP5f:function(t,e,n){var a=n("+K+b");t.exports=function(t,e){var n=e?a(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}},yPMs:function(t,e,n){!function(t){"use strict";t.defineLocale("sq",{months:"Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor".split("_"),monthsShort:"Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj".split("_"),weekdays:"E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë".split("_"),weekdaysShort:"Die_Hën_Mar_Mër_Enj_Pre_Sht".split("_"),weekdaysMin:"D_H_Ma_Më_E_P_Sh".split("_"),weekdaysParseExact:!0,meridiemParse:/PD|MD/,isPM:function(t){return"M"===t.charAt(0)},meridiem:function(t,e,n){return t<12?"PD":"MD"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Sot në] LT",nextDay:"[Nesër në] LT",nextWeek:"dddd [në] LT",lastDay:"[Dje në] LT",lastWeek:"dddd [e kaluar në] LT",sameElse:"L"},relativeTime:{future:"në %s",past:"%s më parë",s:"disa sekonda",ss:"%d sekonda",m:"një minutë",mm:"%d minuta",h:"një orë",hh:"%d orë",d:"një ditë",dd:"%d ditë",M:"një muaj",MM:"%d muaj",y:"një vit",yy:"%d vite"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("wd/R"))},yT6U:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("LvDl");class r{transform(t,e=!1){let n=t;return(!a.isArray(t)||a.isArray(t)&&e)&&(n=[t]),n}}},yYhs:function(t,e,n){"use strict";var a=n("8Y7J"),r=n("SVse"),o=n("CoVI"),i=n("mfoh"),s=(n("CFvb"),n("MP8s"),n("f95s"),n("gk6K")),c=(n("dApe"),n("ZhuC")),l=n("fxL3"),d=n("TNUL"),u=n("rZud"),g=n("woSy"),f=n("jV1L"),p=n("pcHL"),m=n("WaXT"),h=n("OIDT"),b=n("HIU9"),_=n("uNpg"),y=n("Fwy9"),O=n("C523"),v=n("4Dmd");n("14R3"),n.d(e,"b",(function(){return C})),n.d(e,"a",(function(){return i.a}));var C=function(){function t(){}var e;return e=t,t.forRoot=function(){return{ngModule:e,providers:[s.a]}},e=function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i}([Object(a.NgModule)({declarations:[l.a,d.a,u.a,c.a,y.a,O.a,f.a,p.a,g.a,m.a,b.a,h.a,_.a,v.a,o.a],exports:[l.a,d.a,u.a,c.a,y.a,O.a,f.a,p.a,g.a,m.a,b.a,h.a,_.a,v.a,o.a],imports:[r.CommonModule],providers:[]})],t)}()},ylLw:function(t,e,n){var a=n("mrSG").__decorate,r=n("mrSG").__metadata;Object.defineProperty(e,"__esModule",{value:!0});var o=n("8Y7J"),i=n("3MdB");n("SVse"),e.OrderableDirective=function(){function t(t,e){this.document=e,this.reorder=new o.EventEmitter,this.targetChanged=new o.EventEmitter,this.differ=t.find({}).create()}return t.prototype.ngAfterContentInit=function(){this.updateSubscriptions(),this.draggables.changes.subscribe(this.updateSubscriptions.bind(this))},t.prototype.ngOnDestroy=function(){this.draggables.forEach((function(t){t.dragStart.unsubscribe(),t.dragging.unsubscribe(),t.dragEnd.unsubscribe()}))},t.prototype.updateSubscriptions=function(){var t=this,e=this.differ.diff(this.createMapDiffs());if(e){var n=function(t){var e=t.previousValue;e&&(e.dragStart.unsubscribe(),e.dragging.unsubscribe(),e.dragEnd.unsubscribe())};e.forEachAddedItem((function(e){var a=e.currentValue;n({previousValue:e.previousValue}),a&&(a.dragStart.subscribe(t.onDragStart.bind(t)),a.dragging.subscribe(t.onDragging.bind(t)),a.dragEnd.subscribe(t.onDragEnd.bind(t)))}).bind(this)),e.forEachRemovedItem(n.bind(this))}},t.prototype.onDragStart=function(){this.positions={};for(var t=0,e=0,n=this.draggables.toArray();e<n.length;e++){var a=n[e],r=a.element,o=parseInt(r.offsetLeft.toString(),0);this.positions[a.dragModel.prop]={left:o,right:o+parseInt(r.offsetWidth.toString(),0),index:t++,element:r}}},t.prototype.onDragging=function(t){var e=t.model,n=this.positions[e.prop],a=this.isTarget(e,t.event);a?this.lastDraggingIndex!==a.i&&(this.targetChanged.emit({prevIndex:this.lastDraggingIndex,newIndex:a.i,initialIndex:n.index}),this.lastDraggingIndex=a.i):this.lastDraggingIndex!==n.index&&(this.targetChanged.emit({prevIndex:this.lastDraggingIndex,initialIndex:n.index}),this.lastDraggingIndex=n.index)},t.prototype.onDragEnd=function(t){var e=t.element,n=t.model,a=this.positions[n.prop],r=this.isTarget(n,t.event);r&&this.reorder.emit({prevIndex:a.index,newIndex:r.i,model:n}),this.lastDraggingIndex=void 0,e.style.left="auto"},t.prototype.isTarget=function(t,e){var n=0,a=this.document.elementsFromPoint(e.x||e.clientX,e.y||e.clientY),r=function(e){var r=o.positions[e];if(t.prop!==e&&a.find((function(t){return t===r.element})))return{value:{pos:r,i:n}};n++},o=this;for(var i in this.positions){var s=r(i);if("object"==typeof s)return s.value}},t.prototype.createMapDiffs=function(){return this.draggables.toArray().reduce((function(t,e){return t[e.dragModel.$$id]=e,t}),{})},a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"reorder",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"targetChanged",void 0),a([o.ContentChildren(i.DraggableDirective,{descendants:!0}),r("design:type",o.QueryList)],t.prototype,"draggables",void 0),a([o.Directive({selector:"[orderable]"})],t)}()},yoRg:function(t,e,n){var a=n("UTVS"),r=n("/GqU"),o=n("TWQb").indexOf,i=n("0BK2");t.exports=function(t,e){var n,s=r(t),c=0,l=[];for(n in s)!a(i,n)&&a(s,n)&&l.push(n);for(;e.length>c;)a(s,n=e[c++])&&(~o(l,n)||l.push(n));return l}},"yt+r":function(t,e,n){"use strict";n.r(e),e.default='<xliff xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 http://docs.oasis-open.org/xliff/v1.2/os/xliff-core-1.2-strict.xsd" xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">\n  <file original="ng2.template" datatype="plaintext" source-language="en-US" target-language="es-ES">\n    <body>\n      <trans-unit id="319e0745bcbc132451569294fa2fa21bf10f555a" datatype="html">\n        <source>Toggle navigation</source>\n        <target>Alternar navegación</target>\n      </trans-unit>\n      <trans-unit id="f65253954b66e929a8b4d5ecaf61f9129f8cec64" datatype="html">\n        <source>Dashboard</source>\n        <target>Consola</target>\n      </trans-unit>\n      <trans-unit id="f4d1dd59b039ad818d9da7e29a773e10e41d9821" datatype="html">\n        <source>Cluster</source>\n        <target>Clúster</target>\n      </trans-unit>\n      <trans-unit id="099b441d49333b3c6d30b36dc0a4763e64c78920" datatype="html">\n        <source>Hosts</source>\n        <target>Hosts</target>\n      </trans-unit>\n      <trans-unit id="2cc3ecb16e348fcf2f2fbfd2f997d4d22f37475b" datatype="html">\n        <source>Inventory</source>\n        <target>Inventory</target>\n      </trans-unit>\n      <trans-unit id="624f596cc3320f5e0a0d7c7346c364e5af9bdd8c" datatype="html">\n        <source>Monitors</source>\n        <target>Monitores</target>\n      </trans-unit>\n      <trans-unit id="419d940613972cc3fae9c8ea0a4306dbf80616e5" datatype="html">\n        <source>Services</source>\n        <target>Servicios</target>\n      </trans-unit>\n      <trans-unit id="1a9183778f2c6473d7ccb080f651caa01faaf70c" datatype="html">\n        <source>OSDs</source>\n        <target>OSDs</target>\n      </trans-unit>\n      <trans-unit id="4a41f824a35ba01d5bd7be61aa06b3e8145209d0" datatype="html">\n        <source>Configuration</source>\n        <target>Configuración</target>\n      </trans-unit>\n      <trans-unit id="8c95898abff46bfac3ed6eb2afef74597e60b15c" datatype="html">\n        <source>CRUSH map</source>\n        <target>Mapa de CRUSH</target>\n      </trans-unit>\n      <trans-unit id="33da4dbeb076159510801ea764a218fd341269d2" datatype="html">\n        <source>Manager modules</source>\n        <target>Módulos de gestor</target>\n      </trans-unit>\n      <trans-unit id="eb3d5aefff38a814b76da74371cbf02c0789a1ef" datatype="html">\n        <source>Logs</source>\n        <target>Registros</target>\n      </trans-unit>\n      <trans-unit id="9fe218829514884cdd0ca2300573a4e0428c324f" datatype="html">\n        <source>Alerts</source>\n        <target>Alertas</target>\n      </trans-unit>\n      <trans-unit id="aa0c44aa1e5727061baa91e954f77e2f5f9a37c9" datatype="html">\n        <source>Silences</source>\n        <target>Silences</target>\n      </trans-unit>\n      <trans-unit id="92899fa68e8ca108912163ff58edc8540e453787" datatype="html">\n        <source>Pools</source>\n        <target>Repositorios</target>\n      </trans-unit>\n      <trans-unit id="7f5d0c10614e8a34f0e2dad33a0568277c50cf69" datatype="html">\n        <source>Block</source>\n        <target>Bloque</target>\n      </trans-unit>\n      <trans-unit id="b73f7f5060fb22a1e9ec462b1bb02493fa3ab866" datatype="html">\n        <source>Images</source>\n        <target>Imágenes</target>\n      </trans-unit>\n      <trans-unit id="3c2562ba992127203dcfd014010b03cb7b8113c6" datatype="html">\n        <source>Mirroring</source>\n        <target>Duplicación</target>\n      </trans-unit>\n      <trans-unit id="811c241d56601b91ef26735b770e64428089b950" datatype="html">\n        <source>iSCSI</source>\n        <target>iSCSI</target>\n      </trans-unit>\n      <trans-unit id="a24eabd99ea5af20f5f94c4484649cd30370042b" datatype="html">\n        <source>NFS</source>\n        <target>NFS</target>\n      </trans-unit>\n      <trans-unit id="a4eff72d97b7ced051398d581f10968218057ddc" datatype="html">\n        <source>Filesystems</source>\n        <target>Sistemas de archivos</target>\n      </trans-unit>\n      <trans-unit id="2190548d236ca5f7bc7ab2bca334b860c5ff2ad4" datatype="html">\n        <source>Object Gateway</source>\n        <target>Object Gateway</target>\n      </trans-unit>\n      <trans-unit id="9e24f9e2d42104ffc01599db4d566d1cc518f9e6" datatype="html">\n        <source>Daemons</source>\n        <target>Daemons</target>\n      </trans-unit>\n      <trans-unit id="4d13a9cd5ed3dcee0eab22cb25198d43886942be" datatype="html">\n        <source>Users</source>\n        <target>Usuarios</target>\n      </trans-unit>\n      <trans-unit id="9515520496da83179d8b08132f00f575512a1f40" datatype="html">\n        <source>Buckets</source>\n        <target>Papeleras</target>\n      </trans-unit>\n      <trans-unit id="797f8214e8148f4bf0d244baaa7341706b419549" datatype="html">\n        <source>Retrieving data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>. Please wait...\n        </source>\n        <target>Retrieving data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>. Please wait...\n        </target>\n      </trans-unit>\n      <trans-unit id="5a870dc77b9f6f33ee671ea2d856021276933339" datatype="html">\n        <source>Displaying previously cached data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>\n  for \n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n        </source>\n        <target>Displaying previously cached data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>\n  for \n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="ae580202919844531361ba2308287226ff74a584" datatype="html">\n        <source>Could not load data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n  Please check the cluster health.\n        </source>\n        <target>Could not load data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n  Please check the cluster health.\n        </target>\n      </trans-unit>\n      <trans-unit id="7e52e9143145e1db5146258de81eae018a407b31" datatype="html">\n        <source>Clear notifications</source>\n        <target>Clear notifications</target>\n      </trans-unit>\n      <trans-unit id="b0b07bb6b7ff21ede439dd04eaf8872d1ecb84d8" datatype="html">\n        <source>Remove notification</source>\n        <target>Remove notification</target>\n      </trans-unit>\n      <trans-unit id="e17a1d75189da843f541f7764f188f2b19a97df2" datatype="html">\n        <source>Duration:</source>\n        <target>Duration:</target>\n      </trans-unit>\n      <trans-unit id="0d4b37c6675c5b436a54c43d6716eec835e1aa7f" datatype="html">\n        <source>There are no notifications.</source>\n        <target>There are no notifications.</target>\n      </trans-unit>\n      <trans-unit id="0a23e992f6c6e169a38b2b7338b4e5e803b52e0d" datatype="html">\n        <source>Tasks and Notifications</source>\n        <target>Tasks and Notifications</target>\n      </trans-unit>\n      <trans-unit id="3fb5709e10166cbc85970cbff103db227dbeb813" datatype="html">\n        <source>Select a Language</source>\n        <target>Seleccione un idioma</target>\n      </trans-unit>\n      <trans-unit id="c5109325fb160b543f71a51e7511c00575057431" datatype="html">\n        <source>Loading panel data...</source>\n        <target>Cargando datos del panel...</target>\n      </trans-unit>\n      <trans-unit id="8ca12411f890ab8b0a9216418e2b8f5ea7d2441a" datatype="html">\n        <source>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the monitoring functionality.\n        </source>\n        <target>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the monitoring functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="160a9e80dc089792df42e2400b1e81b9e7025aa7" datatype="html">\n        <source>Grafana Dashboard doesn\'t exist. Please refer to\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  add dashboards to Grafana.\n        </source>\n        <target>Grafana Dashboard doesn\'t exist. Please refer to\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  add dashboards to Grafana.\n        </target>\n      </trans-unit>\n      <trans-unit id="4e11830040bd64804a0555de76f291d5832772d4" datatype="html">\n        <source>Grafana Time Picker</source>\n        <target>Selector de hora de Grafana</target>\n      </trans-unit>\n      <trans-unit id="238c1ba845dd7330e8088165275919a1debf1ca3" datatype="html">\n        <source>Reset Settings</source>\n        <target>Restablecer ajustes</target>\n      </trans-unit>\n      <trans-unit id="c8d1785038d461ec66b5799db21864182b35900a" datatype="html">\n        <source>Refresh</source>\n        <target>Refresh</target>\n      </trans-unit>\n      <trans-unit id="6c947210e2d162b6225083d18820ab602f58cd2d" datatype="html">\n        <source>Remove the custom configuration value. The default configuration will be inherited and used instead.</source>\n        <target>Remove the custom configuration value. The default configuration will be inherited and used instead.</target>\n      </trans-unit>\n      <trans-unit id="454ee9cb60b00446a8fb147fd2cc5eb836320586" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ option.maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ option.maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="7fc8a22825131e028336f60ef909ccbd96059703" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ option.minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ option.minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="cda31dbd724cf5f4fa7a4274d9120651490c8a8c" datatype="html">\n        <source>Back</source>\n        <target>Atrás</target>\n      </trans-unit>\n      <trans-unit id="012741ee52b3c050e4a977c37cc2334f7974f141" datatype="html">\n        <source>Failed to load data.</source>\n        <target>Error al cargar los datos.</target>\n      </trans-unit>\n      <trans-unit id="80cc9a12d4bf6fe454ed94b379eeaf915f920bb7" datatype="html">\n        <source>selected</source>\n        <target>seleccionados</target>\n        <note>X selected</note>\n      </trans-unit>\n      <trans-unit id="0cb77511a9a148e05b9adf36cc07269956fbb29d" datatype="html">\n        <source>found</source>\n        <target>encontrados</target>\n        <note>X found</note>\n      </trans-unit>\n      <trans-unit id="79347388740c50b7ac97e144c2494bb62912f312" datatype="html">\n        <source>total</source>\n        <target>total</target>\n        <note>X total</note>\n      </trans-unit>\n      <trans-unit id="cff1428d10d59d14e45edec3c735a27b5482db59" datatype="html">\n        <source>Name</source>\n        <target>Nombre</target>\n      </trans-unit>\n      <trans-unit id="eec715de352a6b114713b30b640d319fa78207a0" datatype="html">\n        <source>Description</source>\n        <target>Descripción</target>\n      </trans-unit>\n      <trans-unit id="4ad112ce9bcd55dfd137792a86afe1b5a5b13cf8" datatype="html">\n        <source>Long description</source>\n        <target>Descripción larga</target>\n      </trans-unit>\n      <trans-unit id="ff7cee38a2259526c519f878e71b964f41db4348" datatype="html">\n        <source>Default</source>\n        <target>Opción por defecto</target>\n      </trans-unit>\n      <trans-unit id="33e1c1d9fc05ca3f62fcc8a1170fc31ebae4229c" datatype="html">\n        <source>Daemon default</source>\n        <target>Daemon por defecto</target>\n      </trans-unit>\n      <trans-unit id="809b0c848932a41318f77a2aace904ef429c13f4" datatype="html">\n        <source>Values</source>\n        <target>Valores</target>\n      </trans-unit>\n      <trans-unit id="82029b6db704c56a2aa3e82ac555b8655356b077" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8ed8b3967a7326b81b191c9f490006e6a6777a9a" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="52c9a103b812f258bcddc3d90a6e3f46871d25fe" datatype="html">\n        <source>Save</source>\n        <target>Guardar</target>\n      </trans-unit>\n      <trans-unit id="738de688b22fba5d0dc7a5e549996838dddad0ee" datatype="html">\n        <source>CRUSH map viewer</source>\n        <target>Visor del mapa de CRUSH</target>\n      </trans-unit>\n      <trans-unit id="94516fa213706c67ce5a5b5765681d7fb032033a" datatype="html">\n        <source>Loading...</source>\n        <target>Cargando...</target>\n      </trans-unit>\n      <trans-unit id="formTitle" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </target>\n        <note>form title</note>\n      </trans-unit>\n      <trans-unit id="9a541ec1a4319fffc16ad3b3ab2c2b6d251a829d" datatype="html">\n        <source>Hostname</source>\n        <target>Nombre de host</target>\n      </trans-unit>\n      <trans-unit id="7cbdabcece469fab89cfa687ab152bca18b97498" datatype="html">\n        <source>This field is required.</source>\n        <target>Este campo es obligatorio.</target>\n      </trans-unit>\n      <trans-unit id="1b3f5e5291541678f7afa49d28fad5ca848a8061" datatype="html">\n        <source>The chosen hostname is already in use.</source>\n        <target>The chosen hostname is already in use.</target>\n      </trans-unit>\n      <trans-unit id="formActionButton" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </target>\n        <note>form action button</note>\n      </trans-unit>\n      <trans-unit id="6110699a3562eeb15371063c0cf7f6bfd88a0209" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemNames[0] }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemNames[0] }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>?\n        </target>\n      </trans-unit>\n      <trans-unit id="549859e511ba5af0ea03fcaa620c472f08038969" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected items?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected items?\n        </target>\n      </trans-unit>\n      <trans-unit id="54839ebc827b73c9dc4e1df731c6d36a85036af7" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected \n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected \n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>?\n        </target>\n      </trans-unit>\n      <trans-unit id="2be8b7f04f0104d3fad90d079d8202b74f758b9a" datatype="html">\n        <source>Yes, I am sure.</source>\n        <target>Sí, seguro.</target>\n      </trans-unit>\n      <trans-unit id="d7b35c384aecd25a516200d6921836374613dfe7" datatype="html">\n        <source>Cancel</source>\n        <target>Cancelar</target>\n      </trans-unit>\n      <trans-unit id="40661476cb24c89d8b06614998e31d5fbe84eeb6" datatype="html">\n        <source>Hosts List</source>\n        <target>Lista de hosts</target>\n      </trans-unit>\n      <trans-unit id="5e7f4b1ca49e8d217bd0e12c6f7d6b6a2ade2c18" datatype="html">\n        <source>Overall Performance</source>\n        <target>Rendimiento general</target>\n      </trans-unit>\n      <trans-unit id="6bc15dc1a621b6ff7378db7fd3ac10b2a2627c77" datatype="html">\n        <source>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the orchestrator functionality.\n        </source>\n        <target>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the orchestrator functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="3e24569eca61d598c8b01defbbbb1fa8bd5222bc" datatype="html">\n        <source>Devices</source>\n        <target>Devices</target>\n      </trans-unit>\n      <trans-unit id="e6d57f36aa2bad303c8a8ee944b9bd7fae3c8c26" datatype="html">\n        <source>No entries found</source>\n        <target>No se encuentra ninguna entrada</target>\n      </trans-unit>\n      <trans-unit id="d556ab48a65722b400e497f61737f553ee0f89e2" datatype="html">\n        <source>Cluster Logs</source>\n        <target>Registros del clúster</target>\n      </trans-unit>\n      <trans-unit id="5f966baffd188be0e8adc2d7067b86e55fc9b9de" datatype="html">\n        <source>Audit Logs</source>\n        <target>Registros de auditoría</target>\n      </trans-unit>\n      <trans-unit id="4193c9eb868aeec119b78a14795241e0aa5e8b60" datatype="html">\n        <source>Priority:</source>\n        <target>Priority:</target>\n      </trans-unit>\n      <trans-unit id="1d78ca51eab260ce3fd917d39190d64df5229b6e" datatype="html">\n        <source>Keyword:</source>\n        <target>Keyword:</target>\n      </trans-unit>\n      <trans-unit id="05fa0bded36de6e73a1fa44838b627349dace044" datatype="html">\n        <source>Date:</source>\n        <target>Date:</target>\n      </trans-unit>\n      <trans-unit id="31dadb362bf7f7c2afa10e5f96474ccd3977f91f" datatype="html">\n        <source>Datepicker</source>\n        <target>Datepicker</target>\n      </trans-unit>\n      <trans-unit id="85a400388de1899b1917138cf7e5286376f72847" datatype="html">\n        <source>Time range:</source>\n        <target>Time range:</target>\n      </trans-unit>\n      <trans-unit id="2447796ddbda942f4e2c46619cb84d69f066e568" datatype="html">\n        <source>Loading configuration...</source>\n        <target>Cargando configuración...</target>\n      </trans-unit>\n      <trans-unit id="b42c0b347a841bed8859ee83de05080ee28c803b" datatype="html">\n        <source>The configuration could not be loaded.</source>\n        <target>No es posible cargar la configuración.</target>\n      </trans-unit>\n      <trans-unit id="31a9c2870a934b594d1390146c489f76440859ea" datatype="html">\n        <source>Edit Manager module</source>\n        <target>Módulo del gestor de edición</target>\n      </trans-unit>\n      <trans-unit id="46e09b8290d3d0afdb6baa2021395b0570606a31" datatype="html">\n        <source>The entered value is not a valid UUID, e.g.: 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8</source>\n        <target>El valor introducido no es un UUID válido, por ejemplo: 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8</target>\n      </trans-unit>\n      <trans-unit id="7aacd038b39cfd347107d01d1dc27f5cb3e0951c" datatype="html">\n        <source>The entered value needs to be a valid IP address.</source>\n        <target>El valor introducido debe ser una dirección IP válida.</target>\n      </trans-unit>\n      <trans-unit id="f19106149f4b07a0d721f9d317afed393cb7bd93" datatype="html">\n        <source>The entered value is too high! It must be lower or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.max }}"/>.\n        </source>\n        <target>The entered value is too high! It must be lower or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.max }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="6d33c40ef9a6c3bf0888df831b25e41e65f9d15b" datatype="html">\n        <source>The entered value is too low! It must be greater or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.min }}"/>.\n        </source>\n        <target>The entered value is too low! It must be greater or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.min }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="eae7086660cf1e38c7194a2c49ff52cc656f90f5" datatype="html">\n        <source>The entered value needs to be a number.</source>\n        <target>El valor introducido debe ser un número.</target>\n      </trans-unit>\n      <trans-unit id="a73376e04b4fb3a20734c8c39743fba32e6676ce" datatype="html">\n        <source>The entered value needs to be a number or decimal.</source>\n        <target>El valor introducido debe ser un número o un decimal.</target>\n      </trans-unit>\n      <trans-unit id="047f50bc5b5d17b5bec0196355953e1a5c590ddb" datatype="html">\n        <source>Update</source>\n        <target>Actualizar</target>\n      </trans-unit>\n      <trans-unit id="81b97b8ea996ad1e4f9fca8415021850214884b1" datatype="html">\n        <source>Status</source>\n        <target>Estado</target>\n      </trans-unit>\n      <trans-unit id="57ec6032f5618d4a9f16eb950ad23d2ce7c24b54" datatype="html">\n        <source>Cluster ID</source>\n        <target>ID de clúster</target>\n      </trans-unit>\n      <trans-unit id="67d7facc3fec5f8a49ab9ba0a245872184264ce5" datatype="html">\n        <source>monmap modified</source>\n        <target>Mapa de supervisión modificado</target>\n      </trans-unit>\n      <trans-unit id="d4906731aaf2b94b4f547646c9bfe58bb77951b6" datatype="html">\n        <source>monmap epoch</source>\n        <target>Época de mapa de supervisión</target>\n      </trans-unit>\n      <trans-unit id="bd4ee06ffdc46d9dfbd0c0c4f81399021c680056" datatype="html">\n        <source>quorum con</source>\n        <target>quórum de con</target>\n      </trans-unit>\n      <trans-unit id="1176c7db8a8276ccb44cc3d42e2c28d9fa6c6596" datatype="html">\n        <source>quorum mon</source>\n        <target>quórum de mon</target>\n      </trans-unit>\n      <trans-unit id="530ef677a09d681b3ab68cb0760494b3ae72a77c" datatype="html">\n        <source>required con</source>\n        <target>con requerido</target>\n      </trans-unit>\n      <trans-unit id="a91558e0d506c32021c31843f8f168899fc65cbf" datatype="html">\n        <source>required mon</source>\n        <target>mon requerido</target>\n      </trans-unit>\n      <trans-unit id="b3abe9eac5bcd94a54c8da93b312e085ec512e74" datatype="html">\n        <source>In Quorum</source>\n        <target>Con quórum</target>\n      </trans-unit>\n      <trans-unit id="ba4b748a676e1f217ce1e736fb7ec1215e677bae" datatype="html">\n        <source>Not In Quorum</source>\n        <target>Sin quórum</target>\n      </trans-unit>\n      <trans-unit id="5ef50ba2514414f799d4c8fc36067a251904ba81" datatype="html">\n        <source>Cluster-wide OSD Flags</source>\n        <target>Indicadores OSD de todo el clúster</target>\n      </trans-unit>\n      <trans-unit id="71c77bb8cecdf11ec3eead24dd1ba506573fa9cd" datatype="html">\n        <source>Submit</source>\n        <target>Enviar</target>\n      </trans-unit>\n      <trans-unit id="1cfe07dac5b4ee1c464eb24225ddeb4f1d24076a" datatype="html">\n        <source>Advanced...</source>\n        <target>Avanzado...</target>\n      </trans-unit>\n      <trans-unit id="b1ef1c12ddcee305353623919ef02778569f5454" datatype="html">\n        <source>Advanced configuration options</source>\n        <target>Advanced configuration options</target>\n      </trans-unit>\n      <trans-unit id="c35f9c5f268a514b970cc55e9a5dc4bed0988e7f" datatype="html">\n        <source>OSD Recovery Priority</source>\n        <target>Prioridad de recuperación de OSD</target>\n      </trans-unit>\n      <trans-unit id="b74af38005e8a8914e45af2ec412e11ceafef8b6" datatype="html">\n        <source>Priority</source>\n        <target>Prioridad</target>\n      </trans-unit>\n      <trans-unit id="c2f48f04b379bfba133825747adfd238d511412e" datatype="html">\n        <source>Customize priority values</source>\n        <target>Personalizar valores de prioridad</target>\n      </trans-unit>\n      <trans-unit id="4aa19de2a2b54cbda39e9c62917b23044c087776" datatype="html">\n        <source>This field is required!</source>\n        <target>Este campo es obligatorio.</target>\n      </trans-unit>\n      <trans-unit id="b699e94bf376491bd50b70a98531071c737eaf40" datatype="html">\n        <source>[object Object]</source>\n        <target>[object Object]</target>\n      </trans-unit>\n      <trans-unit id="98fe13e7ad6c2b80375d204b47858ded83f80e15" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="5423a3c111be47fc5a1bfe46ceb58c81c84db691" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="5251a4355cece3075db43f15d69a24a0f8485707" datatype="html">\n        <source>Reweight OSD: \n          <x id="INTERPOLATION" equiv-text="{{ osdId }}"/>\n        </source>\n        <target>Reweight OSD: \n          <x id="INTERPOLATION" equiv-text="{{ osdId }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="67650b2998db48201b2c6176cbfef51e7211ccaa" datatype="html">\n        <source>The value needs to be between 0 and 1.</source>\n        <target>El valor debe estar entre 0 y 1.</target>\n      </trans-unit>\n      <trans-unit id="bc11f92113d678a90e334fdf3d7b3fddbe34c579" datatype="html">\n        <source>Reweight</source>\n        <target>Reequilibrar peso</target>\n      </trans-unit>\n      <trans-unit id="d5ca5daf742023fc4f0919fb3c1c6a51991cda4f" datatype="html">\n        <source>OSDs \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>Scrub\n        </source>\n        <target>OSDs \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>Scrub\n        </target>\n      </trans-unit>\n      <trans-unit id="4c17d67c7c5799eb920030e9a399961e90f55dd8" datatype="html">\n        <source>{VAR_SELECT, select, 1 {Deep } }</source>\n        <target>{VAR_SELECT, select, 1 {Profundo} }</target>\n      </trans-unit>\n      <trans-unit id="2613498e8e5853c26a1cc62ae8dc673d1fdf0e2a" datatype="html">\n        <source>You are about to apply a \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to\n          the OSD(s): \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ selected | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.\n        </source>\n        <target>You are about to apply a \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to\n          the OSD(s): \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ selected | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="dc6705f342a036b332c3fd3443201c3613e5524d" datatype="html">\n        <source>{VAR_SELECT, select, 1 {deep } }</source>\n        <target>{VAR_SELECT, select, 1 {profundo} }</target>\n      </trans-unit>\n      <trans-unit id="b49d7877d24112d4bdfce9256edf61a007fae888" datatype="html">\n        <source>OSDs List</source>\n        <target>Lista de OSD</target>\n      </trans-unit>\n      <trans-unit id="c402e6ec1c6792ede81f56c28eee8955860391c8" datatype="html">\n        <source>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) \n          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </source>\n        <target>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) \n          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </target>\n      </trans-unit>\n      <trans-unit id="d2797d01ba86f5df03d875803e49e648a4027869" datatype="html">\n        <source>The \n          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to destroy!\n        </source>\n        <target>The \n          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to destroy!\n        </target>\n      </trans-unit>\n      <trans-unit id="e776996dac651ef3819bfa767ccf2a0613759f47" datatype="html">\n        <source>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</source>\n        <target>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</target>\n      </trans-unit>\n      <trans-unit id="1e2c50ed3c3934ef068976dc7f38513cec29d515" datatype="html">\n        <source>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD \n          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </source>\n        <target>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD \n          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | list }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </target>\n      </trans-unit>\n      <trans-unit id="4f8b2bb476981727ab34ed40fde1218361f92c45" datatype="html">\n        <source>Details</source>\n        <target>Detalles</target>\n      </trans-unit>\n      <trans-unit id="8501055865d7031b5521a0c5467532648009a61d" datatype="html">\n        <source>Matcher</source>\n        <target>Matcher</target>\n      </trans-unit>\n      <trans-unit id="9c25e04f554875dc2625a78ba0fc56c6010cd0d3" datatype="html">\n        <source>-- Select an attribute to match against --</source>\n        <target>-- Select an attribute to match against --</target>\n      </trans-unit>\n      <trans-unit id="5049e204c14c648691ac775a64fb504467aeb549" datatype="html">\n        <source>Value</source>\n        <target>Valor</target>\n      </trans-unit>\n      <trans-unit id="77fc5c63497fc031ddc97645484e3d94ad27766c" datatype="html">\n        <source>Use regular expression</source>\n        <target>Use regular expression</target>\n      </trans-unit>\n      <trans-unit id="7bbec1a797283712c0adf9e71d77fb5a8cd720db" datatype="html">\n        <source>{VAR_SELECT, select, 1 {Update} other {Add} }</source>\n        <target>{VAR_SELECT, select, 1 {Update} other {Add} }</target>\n      </trans-unit>\n      <trans-unit id="f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8" datatype="html">\n        <source>Close</source>\n        <target>Cerrar</target>\n      </trans-unit>\n      <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c" datatype="html">\n        <source>Edit</source>\n        <target>Editar</target>\n      </trans-unit>\n      <trans-unit id="826b25211922a1b46436589233cb6f1a163d89b7" datatype="html">\n        <source>Delete</source>\n        <target>Suprimir</target>\n      </trans-unit>\n      <trans-unit id="a3ba06aba047605af8ea1718ec1ba153b7db12a2" datatype="html">\n        <source>Editing a silence will expire the old silence and recreate it as a new silence</source>\n        <target>Editing a silence will expire the old silence and recreate it as a new silence</target>\n      </trans-unit>\n      <trans-unit id="a20424156b8816671f61879f0574a4f27d7b16b9" datatype="html">\n        <source>Creator</source>\n        <target>Creator</target>\n      </trans-unit>\n      <trans-unit id="5a5d7ee2acbfa9c91ab7f41d26bda9ff0cafe42f" datatype="html">\n        <source>Comment</source>\n        <target>Comment</target>\n      </trans-unit>\n      <trans-unit id="4c11aad490b2d53fdae30b3807beabf79306752c" datatype="html">\n        <source>Start time</source>\n        <target>Start time</target>\n      </trans-unit>\n      <trans-unit id="32856b1e8e339b747b21e313e2fe65a51fd450bb" datatype="html">\n        <source>If the start time lies in the past the creation time will be used</source>\n        <target>If the start time lies in the past the creation time will be used</target>\n      </trans-unit>\n      <trans-unit id="a02ea1d4e7424ca989929da5e598f379940fdbf2" datatype="html">\n        <source>Duration</source>\n        <target>Duration</target>\n      </trans-unit>\n      <trans-unit id="2f4e35e36f4d3c62e2c17df41730b6dee4afc4b9" datatype="html">\n        <source>End time</source>\n        <target>End time</target>\n      </trans-unit>\n      <trans-unit id="dbe739ec8c99a0132e326067ffec9c0ee06b2655" datatype="html">\n        <source>Matchers\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>*\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n        </source>\n        <target>Matchers\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>*\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="3e023166c55833d5a13f4143e3dbe372befe1b4e" datatype="html">\n        <source>A silence requires at least one matcher</source>\n        <target>A silence requires at least one matcher</target>\n      </trans-unit>\n      <trans-unit id="ef765bd80c4806c51c891908c07a24bc76f019eb" datatype="html">\n        <source>Add matcher</source>\n        <target>Add matcher</target>\n      </trans-unit>\n      <trans-unit id="d2bcd3296d2850de762fb943060b7e086a893181" datatype="html">\n        <source>Health</source>\n        <target>Estado</target>\n      </trans-unit>\n      <trans-unit id="61e0f26d843eec0b33ff475e111b0c2f7a80b835" datatype="html">\n        <source>Statistics</source>\n        <target>Estadísticas</target>\n      </trans-unit>\n      <trans-unit id="f8f74e5f683012b9c0702b1446011c6b9158bc67" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the NFS Ganesha management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the NFS Ganesha management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="7ffe39df9d88c972792bd8688b215392deb8313d" datatype="html">\n        <source>Clients</source>\n        <target>Clientes</target>\n      </trans-unit>\n      <trans-unit id="f2dae0bda66f6a349444951c0379c28cda47d6d1" datatype="html">\n        <source>Any client can access</source>\n        <target>Cualquier cliente puede acceder</target>\n      </trans-unit>\n      <trans-unit id="7882f2edb1d4139800b276b6b0bbf5ae0b2234ef" datatype="html">\n        <source>Addresses</source>\n        <target>Destinatarios</target>\n      </trans-unit>\n      <trans-unit id="9bd96fcf50863e685c74d0490392f46689ffbdb6" datatype="html">\n        <source>Required field</source>\n        <target>Campo requerido</target>\n      </trans-unit>\n      <trans-unit id="a5f3f74c0f6925826cb2188576391c0da01a23f0" datatype="html">\n        <source>Must contain one or more comma-separated values</source>\n        <target>Debe contener uno o varios valores separados por comas</target>\n      </trans-unit>\n      <trans-unit id="8bb5b2073697f3f4378c44a49b7524934c9268f4" datatype="html">\n        <source>For example:</source>\n        <target>Por ejemplo:</target>\n      </trans-unit>\n      <trans-unit id="8f969c655b3fbe4fba7e277caf4cd2c459f9fca5" datatype="html">\n        <source>Access Type</source>\n        <target>Tipo de acceso</target>\n      </trans-unit>\n      <trans-unit id="28952831a284cfe2b4fc39ca610e80b52598905a" datatype="html">\n        <source>Squash</source>\n        <target>Reducir privilegios</target>\n      </trans-unit>\n      <trans-unit id="0660ae339068979854ade34a96546980723dede3" datatype="html">\n        <source>Add clients</source>\n        <target>Añadir clientes</target>\n      </trans-unit>\n      <trans-unit id="135b91a2d908d5814b782695470a6a786c99d9d2" datatype="html">\n        <source>-- No cluster available --</source>\n        <target>-- No hay ningún clúster disponible --</target>\n      </trans-unit>\n      <trans-unit id="c501dba379f566885919240ea277b5bc10c14d18" datatype="html">\n        <source>-- Select the cluster --</source>\n        <target>-- Seleccione el clúster --</target>\n      </trans-unit>\n      <trans-unit id="cf85b1ee58326aa9da63da41b2629c9db7c9a5b9" datatype="html">\n        <source>Add daemon</source>\n        <target>Añadir daemon</target>\n      </trans-unit>\n      <trans-unit id="b3f6ba7fe84d6508705cdfe234f0fcc8ff85c9cf" datatype="html">\n        <source>Storage Backend</source>\n        <target>Motor de almacenamiento</target>\n      </trans-unit>\n      <trans-unit id="151c80ea931037cd92e854442927f8a0f6ae7795" datatype="html">\n        <source>-- No data pools available --</source>\n        <target>-- No hay ningún repositorio de datos disponible --</target>\n      </trans-unit>\n      <trans-unit id="b6fee356d1db954255a56d8169405a89595246b9" datatype="html">\n        <source>-- Select the storage backend --</source>\n        <target>-- Seleccione el motor de almacenamiento --</target>\n      </trans-unit>\n      <trans-unit id="76d67035c3ab3d8e56f725859f820f03fda41cfc" datatype="html">\n        <source>Object Gateway User</source>\n        <target>Usuario de Object Gateway</target>\n      </trans-unit>\n      <trans-unit id="fade7788bace74337f306ae209f10fc187ef4671" datatype="html">\n        <source>-- No users available --</source>\n        <target>-- No hay ningún usuario disponible --</target>\n      </trans-unit>\n      <trans-unit id="6d30b7b36cf8f6364167321bdb4ba35d4cefce7b" datatype="html">\n        <source>-- Select the object gateway user --</source>\n        <target>-- Seleccione el usuario de Object Gateway --</target>\n      </trans-unit>\n      <trans-unit id="589ce20d3ba3e3ac44f75decfaadc4ea8f0aec2d" datatype="html">\n        <source>CephFS User ID</source>\n        <target>ID de usuario de CephFS</target>\n      </trans-unit>\n      <trans-unit id="c4b88a53ac3b0ece46ba9b3ad72355a3c190cce7" datatype="html">\n        <source>-- No clients available --</source>\n        <target>-- No hay ningún cliente disponible --</target>\n      </trans-unit>\n      <trans-unit id="da52835b80497a0002d24414b057dc46ae44ce38" datatype="html">\n        <source>-- Select the cephx client --</source>\n        <target>-- Seleccione el cliente de CephX --</target>\n      </trans-unit>\n      <trans-unit id="fd3419e8957d928d7f7ba19c93356a0dbff02871" datatype="html">\n        <source>CephFS Name</source>\n        <target>Nombre de CephFS</target>\n      </trans-unit>\n      <trans-unit id="ee3ba0ab5f0ccd597b3e44021c71e9aaad14df0a" datatype="html">\n        <source>-- No CephFS filesystem available --</source>\n        <target>-- No CephFS filesystem available --</target>\n      </trans-unit>\n      <trans-unit id="764c57812558b1ae66c5eec95d7efd2b1bf761e3" datatype="html">\n        <source>-- Select the CephFS filesystem --</source>\n        <target>-- Select the CephFS filesystem --</target>\n      </trans-unit>\n      <trans-unit id="957512d0321f73e9f115bce1bd823fa635170c41" datatype="html">\n        <source>Security Label</source>\n        <target>Etiqueta de seguridad</target>\n      </trans-unit>\n      <trans-unit id="65ce0fa4da1ed55e658aeb31d1644a29f06bb342" datatype="html">\n        <source>Enable security label</source>\n        <target>Habilitar etiqueta de seguridad</target>\n      </trans-unit>\n      <trans-unit id="7e808f804130c7b6ff719509cbc06ebb27393a48" datatype="html">\n        <source>CephFS Path</source>\n        <target>Ruta de CephFS</target>\n      </trans-unit>\n      <trans-unit id="5ecc0107badb6625466aaa3f975b5c05276f432f" datatype="html">\n        <source>Path need to start with a \'/\' and can be followed by a word</source>\n        <target>La ruta debe empezar por "/" y puede ir seguida de una palabra</target>\n      </trans-unit>\n      <trans-unit id="2d02916f44fc63e13ab16d1cbe72aa6cb51feab3" datatype="html">\n        <source>New directory will be created</source>\n        <target>Se creará un directorio nuevo</target>\n      </trans-unit>\n      <trans-unit id="766c66ad5cc981c531aaf3fe3a2a7a346ddc8d83" datatype="html">\n        <source>Path</source>\n        <target>Ruta</target>\n      </trans-unit>\n      <trans-unit id="7ec35c722a50b976620f22612f7be619c12ceb90" datatype="html">\n        <source>Path can only be a single \'/\' or a word</source>\n        <target>La ruta solo puede ser una "/" o una palabra</target>\n      </trans-unit>\n      <trans-unit id="aebb6a5090c24511de4530195694bb3f3dcf0342" datatype="html">\n        <source>New bucket will be created</source>\n        <target>Se creará una papelera nueva</target>\n      </trans-unit>\n      <trans-unit id="bee6900143996c0e908a10564532eba3da0b30fb" datatype="html">\n        <source>NFS Protocol</source>\n        <target>Protocolo NFS</target>\n      </trans-unit>\n      <trans-unit id="2f534178c01ebf1307da2eaeef04bc6801ebc729" datatype="html">\n        <source>NFSv3</source>\n        <target>NFSv3</target>\n      </trans-unit>\n      <trans-unit id="f5043c0921e709935ab026bb3253ffe1f159fca1" datatype="html">\n        <source>NFSv4</source>\n        <target>NFSv4</target>\n      </trans-unit>\n      <trans-unit id="92488963d23095985a47c0d6e62304e11d333f19" datatype="html">\n        <source>NFS Tag</source>\n        <target>Etiqueta NFS</target>\n      </trans-unit>\n      <trans-unit id="aae93362720aea94623682996dd3fcd0f906f056" datatype="html">\n        <source>Alternative access for \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v3\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> mounts (it must not have a leading /).\n        </source>\n        <target>Alternative access for \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v3\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> mounts (it must not have a leading /).\n        </target>\n      </trans-unit>\n      <trans-unit id="45d6db77dcf1a3eeb921033abc7882e517a541cc" datatype="html">\n        <source>Clients may not mount subdirectories (i.e. if Tag = foo, the client may not mount foo/baz).</source>\n        <target>Puede que los clientes no monten subdirectorios (es decir, si Etiqueta = foo, el cliente puede que no monte foo/baz).</target>\n      </trans-unit>\n      <trans-unit id="a1c7a8676b55e882a97c6a6fb205204f9c761afa" datatype="html">\n        <source>By using different Tag options, the same Path may be exported multiple times.</source>\n        <target>Al usar distintas opciones de Etiqueta, la misma Ruta se puede exportar varias veces.</target>\n      </trans-unit>\n      <trans-unit id="6d2c39708a32910f89701dd7e1cfb9ec1c195768" datatype="html">\n        <source>Pseudo</source>\n        <target>Pseudo</target>\n      </trans-unit>\n      <trans-unit id="1f8be2ae25947bec0b84c2338201580ea053f34e" datatype="html">\n        <source>The position that this \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v4\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> export occupies\n                in the \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>Pseudo FS\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> (it must be unique).\n        </source>\n        <target>The position that this \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v4\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> export occupies\n                in the \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>Pseudo FS\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> (it must be unique).\n        </target>\n      </trans-unit>\n      <trans-unit id="f3af55f7fd5b1d9e5a53e030c80116dc635bfb9f" datatype="html">\n        <source>By using different Pseudo options, the same Path may be exported multiple times.</source>\n        <target>Al usar distintas opciones de Pseudo, la misma Ruta se puede exportar varias veces.</target>\n      </trans-unit>\n      <trans-unit id="ddf98fcdeeb17643db020d54f42b5e56b5f9a52a" datatype="html">\n        <source>Pseudo needs to start with a \'/\' and can\'t contain any of the following: &gt;, &lt;, |, &amp;, ( or ).</source>\n        <target>Pseudo needs to start with a \'/\' and can\'t contain any of the following: &gt;, &lt;, |, &amp;, ( or ).</target>\n      </trans-unit>\n      <trans-unit id="27eb35c4b4ac08781a7253a2ab40f8f7d957ba51" datatype="html">\n        <source>-- No access type available --</source>\n        <target>-- No hay ningún tipo de acceso disponible --</target>\n      </trans-unit>\n      <trans-unit id="509ce016c9110a54028dafd741f15ceacbe74b5a" datatype="html">\n        <source>-- Select the access type --</source>\n        <target>-- Seleccione el tipo de acceso --</target>\n      </trans-unit>\n      <trans-unit id="49850390a653cd05dc5843d74ef073a9122b54c9" datatype="html">\n        <source>The Object Gateway NFS backend has a number of\n              limitations which will seriously affect applications writing to\n              the share. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for details before enabling write access.\n        </source>\n        <target>The Object Gateway NFS backend has a number of\n              limitations which will seriously affect applications writing to\n              the share. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for details before enabling write access.\n        </target>\n      </trans-unit>\n      <trans-unit id="4deda03573eaaff77e63f6a238a1f0ca7816950a" datatype="html">\n        <source>-- No squash available --</source>\n        <target>-- No hay ninguna reducción de privilegios disponible --</target>\n      </trans-unit>\n      <trans-unit id="a0e82a4da88e7fdf270444f838d45849676e9d4b" datatype="html">\n        <source>--Select what kind of user id squashing is performed --</source>\n        <target>-- Seleccione el tipo de reducción de privilegios de ID de usuario que se va a realizar --</target>\n      </trans-unit>\n      <trans-unit id="d01b7c3f7f06712c53d054cfbe4f53d446b038e8" datatype="html">\n        <source>Transport Protocol</source>\n        <target>Protocolo de transporte</target>\n      </trans-unit>\n      <trans-unit id="d2a6ad6e8bc315f07911722c05767ac79c136d99" datatype="html">\n        <source>UDP</source>\n        <target>UDP</target>\n      </trans-unit>\n      <trans-unit id="9c030f11e0aae9b24d2c048c57f29f590be621df" datatype="html">\n        <source>TCP</source>\n        <target>TCP</target>\n      </trans-unit>\n      <trans-unit id="734c9905951a774870497c5aaae8e3ee833b6196" datatype="html">\n        <source>CephFS</source>\n        <target>CephFS</target>\n      </trans-unit>\n      <trans-unit id="449dca3d3a93ead418b0541ea81b0dda7e6483c2" datatype="html">\n        <source>Welcome to Ceph!</source>\n        <target>¡Bienvenidos a Ceph!</target>\n        <note>The welcome message on the login page</note>\n      </trans-unit>\n      <trans-unit id="0070e83d11da39d6f4bb95065c2675db1610b419" datatype="html">\n        <source>Username is required</source>\n        <target>El nombre de usuario es obligatorio</target>\n      </trans-unit>\n      <trans-unit id="1e20f8b8a4706526c9024cc2f39d568345d100dc" datatype="html">\n        <source>Password is required</source>\n        <target>La contraseña es obligatoria</target>\n      </trans-unit>\n      <trans-unit id="6765b4c916060f6bc42d9bb69e80377dbcb5e4e9" datatype="html">\n        <source>Login</source>\n        <target>Entrada</target>\n      </trans-unit>\n      <trans-unit id="58fc1b5c79a75370eb52644fd83fb2e7096b6649" datatype="html">\n        <source>Sorry, the user does not exist in Ceph.</source>\n        <target>Lo sentimos. El usuario no existe en Ceph.</target>\n      </trans-unit>\n      <trans-unit id="d9deb94f78e7c41b35c6622b874f06657d7604c1" datatype="html">\n        <source>Return to \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Login Page\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You\'ll be logged out from the Identity Provider when you retry logging in.\n        </source>\n        <target>Return to \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Login Page\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You\'ll be logged out from the Identity Provider when you retry logging in.\n        </target>\n      </trans-unit>\n      <trans-unit id="0eb15f32b2b92d7f3103ef3ff032621888a8dc32" datatype="html">\n        <source>Old password</source>\n        <target>Old password</target>\n      </trans-unit>\n      <trans-unit id="1cf42e491adc166a337a960eb84d03c0c3f677c8" datatype="html">\n        <source>The old and new passwords must be different.</source>\n        <target>The old and new passwords must be different.</target>\n      </trans-unit>\n      <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229" datatype="html">\n        <source>New password</source>\n        <target>New password</target>\n      </trans-unit>\n      <trans-unit id="595ebc9279497f6dc733777e2816bee936901388" datatype="html">\n        <source>Too weak</source>\n        <target>Too weak</target>\n      </trans-unit>\n      <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b" datatype="html">\n        <source>Confirm new password</source>\n        <target>Confirm new password</target>\n      </trans-unit>\n      <trans-unit id="90163a3d3746819aef42e829f4446331232f3b66" datatype="html">\n        <source>Password confirmation doesn\'t match the new password.</source>\n        <target>Password confirmation doesn\'t match the new password.</target>\n      </trans-unit>\n      <trans-unit id="471e78026c258073ba687478dc54c35d9041ea42" datatype="html">\n        <source>Forbidden</source>\n        <target>Prohibido</target>\n      </trans-unit>\n      <trans-unit id="02ea8ad57677e3c63f3d7814ca5e6c7b74e360b4" datatype="html">\n        <source>Sorry, you are not allowed to see what you were looking for.</source>\n        <target>Lo sentimos. No tiene permiso para ver lo que busca.</target>\n      </trans-unit>\n      <trans-unit id="e3c028c58f92453d46f09b5adf95b2f013ee0300" datatype="html">\n        <source>Sorry, we could not find what you were looking for</source>\n        <target>Lo sentimos. No se encuentra lo que busca</target>\n      </trans-unit>\n      <trans-unit id="a949d7e577902d0e5dc5d0971bb0170a21be7728" datatype="html">\n        <source>[object Object]</source>\n        <target>[object Object]</target>\n      </trans-unit>\n      <trans-unit id="ff92fbdec9fdd5054493eeda0d7ee8b450f83e72" datatype="html">\n        <source>RBD Configuration</source>\n        <target>Configuración de RBD</target>\n      </trans-unit>\n      <trans-unit id="b62d9efc8eb3b589904f6cb96a0406bbda55673a" datatype="html">\n        <source>Remove the local configuration value. The parent configuration value will be inherited and used instead.</source>\n        <target>Elimina el valor de configuración local. Se heredará y usará en su lugar el valor de configuración padre.</target>\n      </trans-unit>\n      <trans-unit id="963488a1010d46067b238c4ae917fab3907c0a3a" datatype="html">\n        <source>The mininum value is 0</source>\n        <target>El valor mínimo es 0</target>\n      </trans-unit>\n      <trans-unit id="1d8a7c8aea58294a3c57c23af0468ddf0ba0c9c7" datatype="html">\n        <source>Pools List</source>\n        <target>Lista de repositorios</target>\n      </trans-unit>\n      <trans-unit id="490e15ecc922965b6d8194754c87c5583aa071f3" datatype="html">\n        <source>The name can only consist of alphanumeric characters, dashes and underscores.</source>\n        <target>El nombre solo puede tener caracteres alfanuméricos, guiones y guiones bajos.</target>\n      </trans-unit>\n      <trans-unit id="9edc2b494e660618af3e5225f68d40b7ca67629c" datatype="html">\n        <source>The chosen erasure code profile name is already in use.</source>\n        <target>El nombre del perfil de código de borrado que ha elegido ya está en uso.</target>\n      </trans-unit>\n      <trans-unit id="ef9ff0e6227947b48dfab4ac39ade04af758913b" datatype="html">\n        <source>Plugin</source>\n        <target>Complemento</target>\n      </trans-unit>\n      <trans-unit id="dd69b31bce8f630eac1d4762b0bbcf72ce19d193" datatype="html">\n        <source>Data chunks (k)</source>\n        <target>Porciones de datos (k)</target>\n      </trans-unit>\n      <trans-unit id="b0d26a6172d32cb81218fe2103c54a818cbc1189" datatype="html">\n        <source>Must be equal to or greater than 2.</source>\n        <target>Debe ser igual o mayor que 2.</target>\n      </trans-unit>\n      <trans-unit id="dab3a299ead121169b8e08ed618c3b6a2f66691b" datatype="html">\n        <source>Coding chunks (m)</source>\n        <target>Porciones de código (m)</target>\n      </trans-unit>\n      <trans-unit id="1e2773e5bd4948193f18f2361d663ecc3988c656" datatype="html">\n        <source>Must be equal to or greater than 1.</source>\n        <target>Debe ser igual o mayor que 1.</target>\n      </trans-unit>\n      <trans-unit id="6cde4c945a49a260c0a47bcc7cd956846930a5f7" datatype="html">\n        <source>Durability estimator (c)</source>\n        <target>Estimador de durabilidad (c)</target>\n      </trans-unit>\n      <trans-unit id="af668c2a095a979ea2b4e43cd82c2120ab56c21c" datatype="html">\n        <source>Locality (l)</source>\n        <target>Localización (l)</target>\n      </trans-unit>\n      <trans-unit id="d455a110bf6d2235e314e295ce1dfeee93d3dff2" datatype="html">\n        <source>Crush failure domain</source>\n        <target>Dominio de error de CRUSH</target>\n      </trans-unit>\n      <trans-unit id="b74a495f041f7dd102eee5c0bbc9e03083b538ae" datatype="html">\n        <source>Crush Locality</source>\n        <target>Localización de CRUSH</target>\n      </trans-unit>\n      <trans-unit id="a2f14a73f7a6e94479f67423cc51102da8d6f524" datatype="html">\n        <source>None</source>\n        <target>Ninguna</target>\n      </trans-unit>\n      <trans-unit id="2981733b912b693a9dd9d915d6d34f4692cc874a" datatype="html">\n        <source>Technique</source>\n        <target>Técnica</target>\n      </trans-unit>\n      <trans-unit id="e0098b6e47b04ec817361f384ce81d454ba5c0bb" datatype="html">\n        <source>Packetsize</source>\n        <target>Tamaño del paquete</target>\n      </trans-unit>\n      <trans-unit id="c0252cd81ca54d0a2f69ec9ccf4248e73df5aa4a" datatype="html">\n        <source>Crush root</source>\n        <target>Raíz de CRUSH</target>\n      </trans-unit>\n      <trans-unit id="1548d5c76f0406ddd1ba3c557e1e6db22e95b340" datatype="html">\n        <source>Crush device class</source>\n        <target>Clase de dispositivo de CRUSH</target>\n      </trans-unit>\n      <trans-unit id="5e85feb6f9f0334366e46ee09ca6b8df52397432" datatype="html">\n        <source>any</source>\n        <target>cualquiera</target>\n      </trans-unit>\n      <trans-unit id="03d84645f6e019c5a43909bbf2ea1696ee88332c" datatype="html">\n        <source>Directory</source>\n        <target>Directorio</target>\n      </trans-unit>\n      <trans-unit id="2fecea01ce1d44114ee45144eff6d47a5016a74f" datatype="html">\n        <source>Name...</source>\n        <target>Nombre...</target>\n      </trans-unit>\n      <trans-unit id="16e113230b6b0d3165e076300880542bac7c8138" datatype="html">\n        <source>The chosen Ceph pool name is already in use.</source>\n        <target>El nombre del repositorio de Ceph que ha elegido ya está en uso.</target>\n      </trans-unit>\n      <trans-unit id="c75b132bef7b29fa5171768303c4b96e34ccaf68" datatype="html">\n        <source>It\'s not possible to create an RBD pool with \'/\' in the name.\n              Please change the name or remove \'rbd\' from the applications list.</source>\n        <target>It\'s not possible to create an RBD pool with \'/\' in the name.\n              Please change the name or remove \'rbd\' from the applications list.</target>\n      </trans-unit>\n      <trans-unit id="b85c657469e5ec8231c3de99b22f437bc01ffde5" datatype="html">\n        <source>Pool type</source>\n        <target>Tipo de repositorio</target>\n      </trans-unit>\n      <trans-unit id="526c5443254c3b126eedb264840ffe827727bfd3" datatype="html">\n        <source>-- Select a pool type --</source>\n        <target>-- Seleccione un tipo de repositorio --</target>\n      </trans-unit>\n      <trans-unit id="0aa21053410a94aa61d16985a4e95fd65523430d" datatype="html">\n        <source>Placement groups</source>\n        <target>Grupos de colocación</target>\n      </trans-unit>\n      <trans-unit id="6301f1391d726f8f450bb358058534db19541ca9" datatype="html">\n        <source>At least one placement group is needed!</source>\n        <target>Se necesita al menos un grupo de colocación.</target>\n      </trans-unit>\n      <trans-unit id="ba9469a1ce6ed36e039c1f67247c8c81a5c71449" datatype="html">\n        <source>Your cluster can\'t handle this many PGs. Please recalculate the PG amount needed.</source>\n        <target>El clúster no puede gestionar tantos grupos de colocación. Vuelva a calcular la cantidad que necesita.</target>\n      </trans-unit>\n      <trans-unit id="80ac68cd883369dac20688bc32b4cb33291b5e50" datatype="html">\n        <source>Calculation help</source>\n        <target>Ayuda para el cálculo</target>\n      </trans-unit>\n      <trans-unit id="fccbd60493df26705d957ed6c02a3c447894678f" datatype="html">\n        <source>The current PGs settings were calculated for you, you\n                should make sure the values suit your needs before submit.</source>\n        <target>The current PGs settings were calculated for you, you\n                should make sure the values suit your needs before submit.</target>\n      </trans-unit>\n      <trans-unit id="33150f22ce5348aa6c499bd092c3f4f3695d62cc" datatype="html">\n        <source>Crush ruleset</source>\n        <target>Conjunto de reglas de CRUSH</target>\n      </trans-unit>\n      <trans-unit id="73a6b31116b3cc322af951daa0bafdc169e6c42e" datatype="html">\n        <source>-- Select a crush rule --</source>\n        <target>-- Seleccione una regla de CRUSH --</target>\n      </trans-unit>\n      <trans-unit id="92da80699921e89fb19372e25b8d0f3b9fa427fc" datatype="html">\n        <source>Crush rule</source>\n        <target>Regla de CRUSH</target>\n      </trans-unit>\n      <trans-unit id="5489e9f96835f469f6f728a00d8efa88ea5bc940" datatype="html">\n        <source>Crush steps</source>\n        <target>Pasos de CRUSH</target>\n      </trans-unit>\n      <trans-unit id="54a53b1b402aafff5b992ee9b64e409fbfe9074f" datatype="html">\n        <source>The rule can\'t be used in the current cluster as it has\n                to few OSDs to meet the minimum required OSD by this rule.</source>\n        <target>La regla no se puede usar en el clúster actual, ya que\n no tiene suficientes OSD que cumplan el mínimo requerido.</target>\n      </trans-unit>\n      <trans-unit id="a43b2695131b48b76cebba676aba98a2bee17515" datatype="html">\n        <source>Replicated size</source>\n        <target>Tamaño replicado</target>\n      </trans-unit>\n      <trans-unit id="7bff144a4c4dc63b0e18fff2617d61a7ebdf2b6c" datatype="html">\n        <source>Minimum: \n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/>\n        </source>\n        <target>Minimum: \n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="1a9c54b41f6d58a74e5d0aa3429ed0c87a482551" datatype="html">\n        <source>Maximum: \n          <x id="INTERPOLATION" equiv-text="{{ getMaxSize() }}"/>\n        </source>\n        <target>Maximum: \n          <x id="INTERPOLATION" equiv-text="{{ getMaxSize() }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6ab647b95bd2347ae6f4605576de5e0269fb893a" datatype="html">\n        <source>The size specified is out of range. A value from\n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/> to \n          <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.\n        </source>\n        <target>The size specified is out of range. A value from\n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/> to \n          <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.\n        </target>\n      </trans-unit>\n      <trans-unit id="9de7dde00e2139cc4bd03b1837afbe72ad15a1ff" datatype="html">\n        <source>Erasure code profile</source>\n        <target>Perfil de código de borrado</target>\n      </trans-unit>\n      <trans-unit id="39b4620e6bd444e0a57a0a5c03fa8c96d7fe5235" datatype="html">\n        <source>-- No erasure code profile available --</source>\n        <target>-- No hay ningún perfil de código de borrado disponible --</target>\n      </trans-unit>\n      <trans-unit id="498561757390d5528b263ce450d5f38efb00266d" datatype="html">\n        <source>-- Select an erasure code profile --</source>\n        <target>-- Seleccione un perfil de código de borrado --</target>\n      </trans-unit>\n      <trans-unit id="920617c6a1a4805e53bcb5af6a9c76f8387e89c6" datatype="html">\n        <source>Flags</source>\n        <target>Indicadores</target>\n      </trans-unit>\n      <trans-unit id="1c870fb00256b8a5b9cb9cd1a124e6390b9bc639" datatype="html">\n        <source>EC Overwrites</source>\n        <target>Sustituciones de códigos de borrado</target>\n      </trans-unit>\n      <trans-unit id="f1abafaeb40ce52355ddcc24686e3cd17b64e08a" datatype="html">\n        <source>Applications</source>\n        <target>Aplicaciones</target>\n      </trans-unit>\n      <trans-unit id="2208d63d5940ce656006a220102b1eb2b5e553da" datatype="html">\n        <source>Compression</source>\n        <target>Compresión</target>\n      </trans-unit>\n      <trans-unit id="37e10df2d9c0c25ef04ac112c9c9a7723e8efae0" datatype="html">\n        <source>Mode</source>\n        <target>Modo</target>\n      </trans-unit>\n      <trans-unit id="6c6f25c47da62ec597c6057a36ddfc3209811ec5" datatype="html">\n        <source>Algorithm</source>\n        <target>Algoritmo</target>\n      </trans-unit>\n      <trans-unit id="4903231d42089325a28892c0fde1aed46b733ae6" datatype="html">\n        <source>-- No erasure compression algorithm available --</source>\n        <target>-- No hay ningún algoritmo de compresión de borrado disponible --</target>\n      </trans-unit>\n      <trans-unit id="5d68ddb254275f8f44221e9ad6d8ceeb59ca46a6" datatype="html">\n        <source>Minimum blob size</source>\n        <target>Tamaño de Blob mínimo</target>\n      </trans-unit>\n      <trans-unit id="fb2f176df80647137cbb02bbeb29e5dec707a400" datatype="html">\n        <source>e.g., 128KiB</source>\n        <target>p. ej. 128 KiB</target>\n      </trans-unit>\n      <trans-unit id="1b7f6e53a4521c6eb3ced4c007fdd4cf80bb7707" datatype="html">\n        <source>Value should be greater than 0</source>\n        <target>El valor debe ser mayor que 0</target>\n      </trans-unit>\n      <trans-unit id="8db98ab14b4e207ec763dfdefbc2dae367aab1cc" datatype="html">\n        <source>Value should be less than the maximum blob size</source>\n        <target>Value should be less than the maximum blob size</target>\n      </trans-unit>\n      <trans-unit id="151efb127a9a4dd25259a0b2055442318a141f5b" datatype="html">\n        <source>Maximum blob size</source>\n        <target>Tamaño de Blob máximo</target>\n      </trans-unit>\n      <trans-unit id="0c656f0e346bbadf46eb1a5d20d0307a3bd20ba8" datatype="html">\n        <source>e.g., 512KiB</source>\n        <target>p. ej. 512 KiB</target>\n      </trans-unit>\n      <trans-unit id="0a65a24eee8a026f3b1113fe9e157e9a0dd69486" datatype="html">\n        <source>Value should be greater than the minimum blob size</source>\n        <target>El valor debe ser mayor que el tamaño de Blob mínimo</target>\n      </trans-unit>\n      <trans-unit id="261ba09c4a59de83f48f52a23fd328da37e61ff4" datatype="html">\n        <source>Ratio</source>\n        <target>Relación</target>\n      </trans-unit>\n      <trans-unit id="c1430457a9c3c66366e51d76bf10396014c576be" datatype="html">\n        <source>Compression ratio</source>\n        <target>Relación de compresión</target>\n      </trans-unit>\n      <trans-unit id="ae5ce6de352cde949998fb10754459c3a4eb183b" datatype="html">\n        <source>Value should be between 0.0 and 1.0</source>\n        <target>El valor debe estar entre 0,0 y 1,0</target>\n      </trans-unit>\n      <trans-unit id="8bb8293aa8161433778762ae025ffd5e7c85795e" datatype="html">\n        <source>Quotas</source>\n        <target>Quotas</target>\n      </trans-unit>\n      <trans-unit id="d99b34162c9c34f10d0ccd8dbae83d8569c2db77" datatype="html">\n        <source>Max bytes</source>\n        <target>Max bytes</target>\n      </trans-unit>\n      <trans-unit id="a1d14a18879c62f3f4ed705318b7164a1160e249" datatype="html">\n        <source>Leave it blank or specify 0 to disable this quota.</source>\n        <target>Leave it blank or specify 0 to disable this quota.</target>\n      </trans-unit>\n      <trans-unit id="7565b131562ff6c5f769fdbd239a772154abdd97" datatype="html">\n        <source>A valid quota should be greater than 0.</source>\n        <target>A valid quota should be greater than 0.</target>\n      </trans-unit>\n      <trans-unit id="f0016bd458baa88284a658ce9eeda42d8ad88d2c" datatype="html">\n        <source>e.g., 10GiB</source>\n        <target>ej.: 10 GiB</target>\n      </trans-unit>\n      <trans-unit id="b8bf35b66f09a301eef92ffc3cb2fd259df67ce9" datatype="html">\n        <source>Max objects</source>\n        <target>Max objects</target>\n      </trans-unit>\n      <trans-unit id="95f348167622d832c5ae532b6944635c8e2ae5cb" datatype="html">\n        <source>The value should be greater or equal to 0</source>\n        <target>The value should be greater or equal to 0</target>\n      </trans-unit>\n      <trans-unit id="fbbaf5cb02ed419e79a27072478f716a4666a99d" datatype="html">\n        <source>Performance Details</source>\n        <target>Detalles de rendimiento</target>\n      </trans-unit>\n      <trans-unit id="3938a411d76796f8ae73b72ea4c77661207453bd" datatype="html">\n        <source>Cache Tiers Details</source>\n        <target>Detalles de niveles de caché</target>\n      </trans-unit>\n      <trans-unit id="f0b5d789d42c0e69348e5fe0037fcbf5b5fbbdcc" datatype="html">\n        <source>Move an image to trash</source>\n        <target>Mover una imagen a la papelera</target>\n      </trans-unit>\n      <trans-unit id="86301cf2044b1eda218483365f6b9de8dde5040b" datatype="html">\n        <source>To move \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{ imageName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,\n          click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optionally, you can pick an expiration date.\n        </source>\n        <target>To move \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{ imageName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,\n          click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optionally, you can pick an expiration date.\n        </target>\n      </trans-unit>\n      <trans-unit id="88f27d390844aad53b4240360e928156c5f0d326" datatype="html">\n        <source>Protection expires at</source>\n        <target>La protección caduca a las</target>\n      </trans-unit>\n      <trans-unit id="da166e9a0d27322f6ba8916d71ecc0f9905bb4b1" datatype="html">\n        <source>NOT PROTECTED</source>\n        <target>SIN PROTECCIÓN</target>\n      </trans-unit>\n      <trans-unit id="a1506e5f2ca22cad14502ec7a20fb6113ace145d" datatype="html">\n        <source>Wrong date format. Please use "YYYY-MM-DD HH:mm:ss".</source>\n        <target>Formato de fecha erróneo. Use el formato "AAAA-MM-DD HH:mm:ss".</target>\n      </trans-unit>\n      <trans-unit id="aa7ea0bb7495281e0b3258467ac7d90a1e44a1a1" datatype="html">\n        <source>Protection has already expired. Please pick a future date or leave it empty.</source>\n        <target>La protección ya ha caducado. Seleccione una fecha del futuro o deje el campo vacío.</target>\n      </trans-unit>\n      <trans-unit id="536b3205c0c0d4d21685ec06feccfcf2fe14deb1" datatype="html">\n        <source>Move Image</source>\n        <target>Mover imagen</target>\n      </trans-unit>\n      <trans-unit id="8a9910cd114c1deb9af74f6f99b4173403965bf2" datatype="html">\n        <source>Gateways</source>\n        <target>Gateways</target>\n      </trans-unit>\n      <trans-unit id="8835b9e49a3348b0a2f2162c21118af1f4bee45a" datatype="html">\n        <source>Must be greater than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'min\'] }}"/>.\n        </source>\n        <target>Must be greater than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'min\'] }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="bbddac59563c8c126e3fe28691e4e247614fcbd1" datatype="html">\n        <source>Must be less than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'max\'] }}"/>.\n        </source>\n        <target>Must be less than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'max\'] }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="e95ae009d0bdb45fcc656e8b65248cf7396080d5" datatype="html">\n        <source>Overview</source>\n        <target>Resumen</target>\n      </trans-unit>\n      <trans-unit id="bbd2045d5c37e4bb39a3c0fb62ea1ddf70a12838" datatype="html">\n        <source>Targets</source>\n        <target>Destinos</target>\n      </trans-unit>\n      <trans-unit id="6803e31b7395d94934e091a49a9524026b59b018" datatype="html">\n        <source>Discovery Authentication</source>\n        <target>Autenticación de descubrimiento</target>\n      </trans-unit>\n      <trans-unit id="e08a77594f3d89311cdf6da5090044270909c194" datatype="html">\n        <source>User</source>\n        <target>Usuario</target>\n      </trans-unit>\n      <trans-unit id="0214f773f8e394f50f953f39962e352d7863e959" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n              can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Los nombres de usuario deben tener entre 8 y 64 caracteres y\n                        solo pueden incluir letras y estos caracteres: ".", "@", "-", "_" o ":".</target>\n      </trans-unit>\n      <trans-unit id="c32ef07f8803a223a83ed17024b38e8d82292407" datatype="html">\n        <source>Password</source>\n        <target>Contraseña</target>\n      </trans-unit>\n      <trans-unit id="6682d1c00263bee204583a5d589b308b6be88b0f" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n              and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n              and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="ff40391de7a1944ea95091e4045cc34c4979b736" datatype="html">\n        <source>Mutual User</source>\n        <target>Usuario mutuo</target>\n      </trans-unit>\n      <trans-unit id="0cf73dbebe99b737c4d288788182fc356e3c93d3" datatype="html">\n        <source>Mutual Password</source>\n        <target>Contraseña mutua</target>\n      </trans-unit>\n      <trans-unit id="8800276925157c666b103c36ff7fe8ffe11980b4" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters and\n              can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters and\n              can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="53a583cd5f15059cc958b7d547f72cc78f68e123" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n    on how to configure and enable the iSCSI Targets management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n    on how to configure and enable the iSCSI Targets management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="3b301d0044f62c92af0da53d7aaca52a436a547d" datatype="html">\n        <source>Available information:</source>\n        <target>Información disponible:</target>\n      </trans-unit>\n      <trans-unit id="332227f088a4877b3c11f5fb3ae8bc812c470fae" datatype="html">\n        <source>iSCSI Targets not available</source>\n        <target>Destinos iSCSI no disponibles</target>\n      </trans-unit>\n      <trans-unit id="8414a5cb9d71cc1b21b10e4a9d1f2dad558f3361" datatype="html">\n        <source>Discovery authentication</source>\n        <target>Discovery authentication</target>\n      </trans-unit>\n      <trans-unit id="0f6e8f6094b180eaf1f11bc0ffe383f1cdcd059e" datatype="html">\n        <source>Only available for RBD images with \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>fast-diff\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> enabled\n        </source>\n        <target>Only available for RBD images with \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>fast-diff\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> enabled\n        </target>\n      </trans-unit>\n      <trans-unit id="e70fcca5a99575cffef3ff8cbd5e69f06ffd0f1c" datatype="html">\n        <source>Pool</source>\n        <target>Repositorio</target>\n      </trans-unit>\n      <trans-unit id="03cc5b14b0a20d075e9009ff021f4f1660ba348a" datatype="html">\n        <source>Data Pool</source>\n        <target>Repositorio de datos</target>\n      </trans-unit>\n      <trans-unit id="1b051734b0ee9021991c91b3ed4e81c244322462" datatype="html">\n        <source>Created</source>\n        <target>Creados</target>\n      </trans-unit>\n      <trans-unit id="7faaaa08f56427999f3be41df1093ce4089bbd75" datatype="html">\n        <source>Size</source>\n        <target>Tamaño</target>\n      </trans-unit>\n      <trans-unit id="afdb601c16162f2c798b16a2920955f1cc6a20aa" datatype="html">\n        <source>Objects</source>\n        <target>Objetos</target>\n      </trans-unit>\n      <trans-unit id="ceac8e132384322ec778ba760875a6c6897d3e42" datatype="html">\n        <source>Object size</source>\n        <target>Tamaño del objeto</target>\n      </trans-unit>\n      <trans-unit id="6cdb1fea93d77c07950c0c76c6e0ad79ebbef084" datatype="html">\n        <source>Features</source>\n        <target>Características</target>\n      </trans-unit>\n      <trans-unit id="0a65771c9a73b9aa609d592fc96a64801a8f40bd" datatype="html">\n        <source>Provisioned</source>\n        <target>Aprovisionados</target>\n      </trans-unit>\n      <trans-unit id="84a36cb75660b736773fe36ffa3d54f0f0fe363e" datatype="html">\n        <source>N/A</source>\n        <target>N/D</target>\n      </trans-unit>\n      <trans-unit id="e5c009342a4e8381f64341d0bb61c2e4685f5a4b" datatype="html">\n        <source>Total provisioned</source>\n        <target>Total aprovisionado</target>\n      </trans-unit>\n      <trans-unit id="7f6bf8a43ae415f527ac961ea62471b983aaa97b" datatype="html">\n        <source>Striping unit</source>\n        <target>Unidad de repartición</target>\n      </trans-unit>\n      <trans-unit id="db710e8a8f011923f2d15d713fbae49c38b02b26" datatype="html">\n        <source>Striping count</source>\n        <target>Recuento de repartición</target>\n      </trans-unit>\n      <trans-unit id="3a4c2a9e76634ff14a60d52a718296f722d47c67" datatype="html">\n        <source>Parent</source>\n        <target>Padre</target>\n      </trans-unit>\n      <trans-unit id="6a209e68d78ffc2cc9c53d2e76158624efab71ad" datatype="html">\n        <source>Block name prefix</source>\n        <target>Prefijo de nombre de bloque</target>\n      </trans-unit>\n      <trans-unit id="5704ec2049d007c5f5fb495a5d8b607e68d58081" datatype="html">\n        <source>Order</source>\n        <target>Orden</target>\n      </trans-unit>\n      <trans-unit id="f21b1d17b6c5042bb5805516eee37fde33739dd8" datatype="html">\n        <source>Snapshots</source>\n        <target>Instantáneas</target>\n      </trans-unit>\n      <trans-unit id="a5f9ba9bb9faa8284bcadb1cdbc6aaf969e9c4bb" datatype="html">\n        <source>Image</source>\n        <target>Imagen</target>\n      </trans-unit>\n      <trans-unit id="58e58f1a8786da9031a05e6770c5dafce82badf5" datatype="html">\n        <source>This setting overrides the global value</source>\n        <target>Este ajuste sustituye al valor global</target>\n      </trans-unit>\n      <trans-unit id="5decb3917d46a9ac6e5813699801becb7c3c1455" datatype="html">\n        <source>Global</source>\n        <target>Global</target>\n      </trans-unit>\n      <trans-unit id="36b46714164964c6258b08ed0a25f57d8a950f92" datatype="html">\n        <source>This is the global value. No value for this option has been set for this image.</source>\n        <target>Este es el valor global. No se ha definido ningún valor para esta opción para esta imagen.</target>\n      </trans-unit>\n      <trans-unit id="6547c9c4d5f62942ac4b1fe459cf9a03d4dbf5a0" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/> from\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/> from\n        </target>\n      </trans-unit>\n      <trans-unit id="0e9ecf29a4fa5b057bd8052e0d801b3fde6a30bf" datatype="html">\n        <source>\'/\' and \'@\' are not allowed.</source>\n        <target>No se permiten los caracteres "/" ni "@".</target>\n      </trans-unit>\n      <trans-unit id="b99417c4dd46286ffd37c8d2e987c8b512ec7052" datatype="html">\n        <source>-- No rbd pools available --</source>\n        <target>-- No hay ningún repositorio RBD disponible --</target>\n      </trans-unit>\n      <trans-unit id="ef83ec9c304a89d45650e580dcdc2978c37b3a83" datatype="html">\n        <source>-- Select a pool --</source>\n        <target>-- Seleccione un repositorio --</target>\n      </trans-unit>\n      <trans-unit id="49449943d8cbf59d8c401c8bd2e76f92e207cc5f" datatype="html">\n        <source>Use a dedicated data pool</source>\n        <target>Usar un repositorio dedicado para datos</target>\n      </trans-unit>\n      <trans-unit id="870aee0dd31a9643bf62007beb8f1ae1deb34d42" datatype="html">\n        <source>Data pool</source>\n        <target>Repositorio de datos</target>\n      </trans-unit>\n      <trans-unit id="3792ca829d9b9f687e1f5d7733d30e9bb0bfec47" datatype="html">\n        <source>Dedicated pool that stores the object-data of the RBD.</source>\n        <target>Repositorio dedicado para almacenar los datos de objeto de RBD.</target>\n      </trans-unit>\n      <trans-unit id="0a88bbee20570aaf9615332fb27020627044874d" datatype="html">\n        <source>You have to increase the size.</source>\n        <target>Debe aumentar el tamaño.</target>\n      </trans-unit>\n      <trans-unit id="bc2e854e111ecf2bd7db170da5e3c2ed08181d88" datatype="html">\n        <source>Advanced</source>\n        <target>Avanzado</target>\n      </trans-unit>\n      <trans-unit id="3562a3778695a5f9c0445660e35301f0a39aaf73" datatype="html">\n        <source>Striping</source>\n        <target>Repartición</target>\n      </trans-unit>\n      <trans-unit id="ef3c3f3b5f562a5cdbe0ee2874287db1534b5958" datatype="html">\n        <source>Stripe unit</source>\n        <target>Unidad de repartición</target>\n      </trans-unit>\n      <trans-unit id="84471be1049006edecbcaef1a32ae0893c229c50" datatype="html">\n        <source>-- Select stripe unit --</source>\n        <target>-- Seleccione la unidad de repartición --</target>\n      </trans-unit>\n      <trans-unit id="8d32c5c54c8581c774a7f467fbd4e329b15a74fa" datatype="html">\n        <source>This field is required because stripe count is defined!</source>\n        <target>Este campo es obligatorio porque se ha definido el recuento de repartición.</target>\n      </trans-unit>\n      <trans-unit id="6bbf9040be7c5491d4a03f2185708f43a6582a3b" datatype="html">\n        <source>Stripe unit is greater than object size.</source>\n        <target>La unidad de repartición es mayor que el tamaño del objeto.</target>\n      </trans-unit>\n      <trans-unit id="a682f49f9b761591661276d7c6f550e641a130a4" datatype="html">\n        <source>Stripe count</source>\n        <target>Recuento de repartición</target>\n      </trans-unit>\n      <trans-unit id="baa74031990c5370008ba622d0a250f0929097f4" datatype="html">\n        <source>This field is required because stripe unit is defined!</source>\n        <target>Este campo es obligatorio porque se ha definido la unidad de repartición.</target>\n      </trans-unit>\n      <trans-unit id="cd2ada6d5ecbd5cbf89eae0a1f5326efedac0dbc" datatype="html">\n        <source>Stripe count must be greater than 0.</source>\n        <target>El recuento de repartición debe ser mayor que 0.</target>\n      </trans-unit>\n      <trans-unit id="3f67f30568e9ae47507d46e28e1e82a7dca772e2" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> RBD Snapshot\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> RBD Snapshot\n        </target>\n      </trans-unit>\n      <trans-unit id="1628d19a4490817c18be2afab410ca4adfa62ea7" datatype="html">\n        <source>{VAR_SELECT, select, true {Rename} other {Create} }</source>\n        <target>{VAR_SELECT, select, true {Renombrar} other {Crear} }</target>\n      </trans-unit>\n      <trans-unit id="73a287b41afe6b28f90edbeb98957a341a0276b4" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> Snapshot\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> Snapshot\n        </target>\n      </trans-unit>\n      <trans-unit id="cb60c1cd3655234756b5b92d4d597d92d520ee30" datatype="html">\n        <source>PROTECTED</source>\n        <target>PROTECTED</target>\n      </trans-unit>\n      <trans-unit id="deffb86b8fb0541254ad5a43862d82bff6b6a6c4" datatype="html">\n        <source>UNPROTECTED</source>\n        <target>SIN PROTECCIÓN</target>\n      </trans-unit>\n      <trans-unit id="5c5331983af566d4ac6a1024d15a3511786a4aa6" datatype="html">\n        <source>You are about to rollback</source>\n        <target>Se dispone a revertir</target>\n      </trans-unit>\n      <trans-unit id="49c0408946a6d67185947f455f15cc201d0d78e6" datatype="html">\n        <source>Purge Trash</source>\n        <target>Vaciar papelera</target>\n      </trans-unit>\n      <trans-unit id="af728625d769b61acf291442644b89edb88faec3" datatype="html">\n        <source>To purge, select one or All images and click</source>\n        <target>Para limpiar, seleccione una imagen, o todas las imágenes, y haga clic en</target>\n      </trans-unit>\n      <trans-unit id="55a4f598a4894b7fd5cb88f0ffd3c37ad009dd70" datatype="html">\n        <source>Pool:</source>\n        <target>Repositorio:</target>\n      </trans-unit>\n      <trans-unit id="d43dd2b9f7797e4cf3a604695bb33e4479108516" datatype="html">\n        <source>Pool name...</source>\n        <target>Nombre del repositorio...</target>\n      </trans-unit>\n      <trans-unit id="dfc3c34e182ea73c5d784ff7c8135f087992dac1" datatype="html">\n        <source>All</source>\n        <target>Todas</target>\n      </trans-unit>\n      <trans-unit id="b0e7c7ed1d51a0c205c815048bc9f79e24ee6db2" datatype="html">\n        <source>Restore Image</source>\n        <target>Restaurar imágenes</target>\n      </trans-unit>\n      <trans-unit id="7369384817e0ad61ce871c9afdfbb538df2f97c1" datatype="html">\n        <source>To restore</source>\n        <target>Para restaurar</target>\n      </trans-unit>\n      <trans-unit id="e7f0abefc608f7fb452c2dc9b1cdc3dec432160e" datatype="html">\n        <source>type the image\'s new name and click</source>\n        <target>escriba el nombre nuevo de la imagen y haga clic en</target>\n      </trans-unit>\n      <trans-unit id="41307dd56fea669eed72e12a6c23af275f6bfd82" datatype="html">\n        <source>New Name</source>\n        <target>Nombre nuevo</target>\n      </trans-unit>\n      <trans-unit id="5c96a761dc55a21882c132c929583a424c9b8cf4" datatype="html">\n        <source>Expired at</source>\n        <target>Caducó a las</target>\n      </trans-unit>\n      <trans-unit id="661041e3fcff4d3e75c561e038ca2504cf2cc643" datatype="html">\n        <source>Protected until</source>\n        <target>Protección hasta</target>\n      </trans-unit>\n      <trans-unit id="0ee3b2322a1d3277f7e3fdb8a5141ac42bcf350b" datatype="html">\n        <source>This image is protected until \n          <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.\n        </source>\n        <target>This image is protected until \n          <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="aba82bfd8e177d35b76cad7cd43941f8e5e5acac" datatype="html">\n        <source>Trash</source>\n        <target>Papelera</target>\n      </trans-unit>\n      <trans-unit id="a674ab267d1934bf395f87ca1503fd474296893f" datatype="html">\n        <source>iSCSI Topology</source>\n        <target>Topología iSCSI</target>\n      </trans-unit>\n      <trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html">\n        <source>Settings</source>\n        <target>Ajustes</target>\n      </trans-unit>\n      <trans-unit id="9e515f954730279c31d5301f02479666d6264e8b" datatype="html">\n        <source>Changing these parameters from their default values is usually not necessary.</source>\n        <target>Normalmente no es necesario cambiar los valores por defecto de estos parámetros.</target>\n      </trans-unit>\n      <trans-unit id="69a47cbabcc51ca942606e1d8da0ec11f98a2690" datatype="html">\n        <source>Backstore</source>\n        <target>Almacén</target>\n      </trans-unit>\n      <trans-unit id="68e710782ccb5398b3acb8844caf0b199da2c3da" datatype="html">\n        <source>Confirm</source>\n        <target>Confirmar</target>\n      </trans-unit>\n      <trans-unit id="339878da255ab55447c43afef8d9b2f9753bf5f6" datatype="html">\n        <source>Advanced Settings</source>\n        <target>Ajustes avanzados</target>\n      </trans-unit>\n      <trans-unit id="1406c2fb12a20c1528b19bcc5e24a6a2386167f3" datatype="html">\n        <source>Target IQN</source>\n        <target>IQN de destino</target>\n      </trans-unit>\n      <trans-unit id="5fe42339be910372fa689f559155631862d218e8" datatype="html">\n        <source>IQN has wrong pattern.</source>\n        <target>El IQN tiene un patrón erróneo.</target>\n      </trans-unit>\n      <trans-unit id="050a7ff057d1e895357540406b6be5652b4d1c71" datatype="html">\n        <source>An IQN has the following notation\n                \'iqn.$year-$month.$reversedAddress:$definedName\'</source>\n        <target>An IQN has the following notation\n                \'iqn.$year-$month.$reversedAddress:$definedName\'</target>\n      </trans-unit>\n      <trans-unit id="c8ada4b53396d8366db00a435acc61d53d857047" datatype="html">\n        <source>For example: iqn.2016-06.org.dashboard:storage:disk.sn-a8675309</source>\n        <target>Por ejemplo: iqn.2016-06.org.dashboard:storage:disk.sn-a8675309</target>\n      </trans-unit>\n      <trans-unit id="e60c11e1b1dfbbeda577364b8de39ded2d796c5e" datatype="html">\n        <source>More information</source>\n        <target>Más información</target>\n      </trans-unit>\n      <trans-unit id="9b1aa85dfc6849196e64060db02c5410de69b7a1" datatype="html">\n        <source>This target has modified advanced settings.</source>\n        <target>Este destino tiene ajustes avanzados modificados.</target>\n      </trans-unit>\n      <trans-unit id="6990ad8d6182662e864495ac31c3758cda1c7a28" datatype="html">\n        <source>Portals</source>\n        <target>Portales</target>\n      </trans-unit>\n      <trans-unit id="c3638c01b6c34066438909713ec96087c813fc7e" datatype="html">\n        <source>At least \n          <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.\n        </source>\n        <target>At least \n          <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.\n        </target>\n      </trans-unit>\n      <trans-unit id="6a3ac2b4137d723fd9878cd357c2012ff6c07973" datatype="html">\n        <source>Add portal</source>\n        <target>Añadir portal</target>\n      </trans-unit>\n      <trans-unit id="9aff25be088f0efe3eaaf62edf2bff41cc41a617" datatype="html">\n        <source>Backstore: \n          <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. \n        </source>\n        <target>Backstore: \n          <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. \n        </target>\n      </trans-unit>\n      <trans-unit id="e3484cae8b118c576ca2815bf9c9406c2eb2cae3" datatype="html">\n        <source>This image has modified settings.</source>\n        <target>Esta imagen tiene ajustes modificados.</target>\n      </trans-unit>\n      <trans-unit id="107c84e820909b44fe258673938a68ced1bbff72" datatype="html">\n        <source>At least 1 image is required.</source>\n        <target>Se requiere al menos 1 imagen.</target>\n      </trans-unit>\n      <trans-unit id="808038f912fdc7f0e03f82d4afd3bf9178527fc8" datatype="html">\n        <source>Add image</source>\n        <target>Añadir imagen</target>\n      </trans-unit>\n      <trans-unit id="66c5fb27f52e75b70ca4b670b9b15a2a51cf9543" datatype="html">\n        <source>ACL authentication</source>\n        <target>Autenticación de ACL</target>\n      </trans-unit>\n      <trans-unit id="419c8b402609dcf49ae4932a5a4647dc8d79bbaf" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n                can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Usernames must have a length of 8 to 64 characters and\n                can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</target>\n      </trans-unit>\n      <trans-unit id="938050960d6653fddfcfd42425e18fb35a308262" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n                and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n                and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="f494bd31f095f6dcc656ce87ec2dcf07a2e9b30c" datatype="html">\n        <source>Initiators</source>\n        <target>Iniciadores</target>\n      </trans-unit>\n      <trans-unit id="e98239d8a6be1100119ff4b5630c822b82786740" datatype="html">\n        <source>Initiator</source>\n        <target>Iniciador</target>\n      </trans-unit>\n      <trans-unit id="f2c5059d8cda15d8d03e2cce30f2d139623d9a91" datatype="html">\n        <source>Client IQN</source>\n        <target>IQN del cliente</target>\n      </trans-unit>\n      <trans-unit id="107d5aabce23d900f0a80e6ddc1c10e29aa0bed8" datatype="html">\n        <source>Initiator IQN needs to be unique.</source>\n        <target>El IQN del iniciador debe ser exclusivo.</target>\n      </trans-unit>\n      <trans-unit id="bbf0b34a3fcc80800fcb44b9e1e86931a530dfe3" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n                        can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Los nombres de usuario deben tener entre 8 y 64 caracteres y\n                        solo pueden incluir letras y estos caracteres: ".", "@", "-", "_" o ":".</target>\n      </trans-unit>\n      <trans-unit id="fdfee5d7a27e1bdd97a176097277bee078de6aaf" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n                        and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n                        and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="8406eb7415ee40e54d9ecb209abb056f06e3d666" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters and\n                        can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters and\n                        can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="5d1878d5fc761cbe9614bfd87047a740c82a6951" datatype="html">\n        <source>Initiator belongs to a group. Images will be configure in the group.</source>\n        <target>El iniciador pertenece a un grupo. Las imágenes se configurarán en el grupo.</target>\n      </trans-unit>\n      <trans-unit id="c0de67b9d97fafbf200f9451e8388ee8128a56ac" datatype="html">\n        <source>No items added.</source>\n        <target>No se ha añadido ningún elemento.</target>\n      </trans-unit>\n      <trans-unit id="d565e47726158e428ecdc952fc9233b9b7d7f049" datatype="html">\n        <source>Add initiator</source>\n        <target>Añadir iniciador</target>\n      </trans-unit>\n      <trans-unit id="c22ba03540aa3217da059f45e7eab138b51a96e2" datatype="html">\n        <source>Groups</source>\n        <target>Grupos</target>\n      </trans-unit>\n      <trans-unit id="4c90059afafb7e160384d9f512797c95bb95c6dc" datatype="html">\n        <source>Group</source>\n        <target>Grupo</target>\n      </trans-unit>\n      <trans-unit id="3084948274cff4f56d0f431af47240e9cf02fcc7" datatype="html">\n        <source>Add group</source>\n        <target>Añadir grupo</target>\n      </trans-unit>\n      <trans-unit id="66db799d67958d4b0765181d072df62e2d1c16f5" datatype="html">\n        <source>Issues</source>\n        <target>Problemas</target>\n      </trans-unit>\n      <trans-unit id="ef06d69259e587e28d52372455f44c7153cda7e7" datatype="html">\n        <source>Syncing</source>\n        <target>Sincronizando</target>\n      </trans-unit>\n      <trans-unit id="0b0901877d837d3fda16ba161eb74368d1c75b7a" datatype="html">\n        <source>Ready</source>\n        <target>Listo</target>\n      </trans-unit>\n      <trans-unit id="4057c56d63a7e9b140b1d01871a9229a5f30eb27" datatype="html">\n        <source>Edit pool mirror mode</source>\n        <target>Editar modo de duplicación de repositorio</target>\n      </trans-unit>\n      <trans-unit id="e1f367f5feaab38f6637dd1f967c848b447dea2d" datatype="html">\n        <source>To edit the mirror mode for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>, select a new mode from the list and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>To edit the mirror mode for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>, select a new mode from the list and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="32ca348ef926b0a6a7a780b8b64c3a8239895cec" datatype="html">\n        <source>Peer clusters must be removed prior to disabling mirror.</source>\n        <target>Los clústeres de par deben eliminarse antes de inhabilitar la duplicación.</target>\n      </trans-unit>\n      <trans-unit id="fa61522d482349707fd7dd03b90dc5781611b17f" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/>\n  pool mirror peer\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/>\n  pool mirror peer\n        </target>\n      </trans-unit>\n      <trans-unit id="4ddcb416c1c0aa1f54acf5beef1de81813e76fa6" datatype="html">\n        <source>{VAR_SELECT, select, edit {Edit} other {Add} }</source>\n        <target>{VAR_SELECT, select, edit {Editar} other {Añadir} }</target>\n      </trans-unit>\n      <trans-unit id="59ca65ece457429d90104ede4674965f62edbabe" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/> the pool\n          mirror peer attributes for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> and click\n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Submit\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/> the pool\n          mirror peer attributes for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> and click\n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Submit\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="d3cc964811f852a168f4a2d5daa59068abc5cf53" datatype="html">\n        <source>Cluster Name</source>\n        <target>Nombre del clúster</target>\n      </trans-unit>\n      <trans-unit id="b631721fc56cb7fb1cbd07b802a487c5753f6a2d" datatype="html">\n        <source>The cluster name is not valid.</source>\n        <target>El nombre del clúster no es válido.</target>\n      </trans-unit>\n      <trans-unit id="ca6deafa31bf421f85094807982aee4bcb20a3ae" datatype="html">\n        <source>CephX ID</source>\n        <target>ID de CephX</target>\n      </trans-unit>\n      <trans-unit id="7539188a568c3d553cbde1bacaf32310c4264e24" datatype="html">\n        <source>CephX ID...</source>\n        <target>ID de CephX...</target>\n      </trans-unit>\n      <trans-unit id="a1c45b594b0fba22fc64e80c793a7ffe005fdb0e" datatype="html">\n        <source>The CephX ID is not valid.</source>\n        <target>El ID de CephX no es válido.</target>\n      </trans-unit>\n      <trans-unit id="20861576fcfce773c918c782cd4f5adf32382921" datatype="html">\n        <source>Monitor Addresses</source>\n        <target>Direcciones de monitores</target>\n      </trans-unit>\n      <trans-unit id="fa28eeed2b4bd4ccbe6e9349a1c2b3cb1c5de70a" datatype="html">\n        <source>Comma-delimited addresses...</source>\n        <target>Direcciones delimitadas por comas...</target>\n      </trans-unit>\n      <trans-unit id="dc016c82fd85848d5c1b2fd0e8469ee2027d9c16" datatype="html">\n        <source>The monitory address is not valid.</source>\n        <target>La dirección del monitor no es válida.</target>\n      </trans-unit>\n      <trans-unit id="e0ac55b83dc6739e62bc655cfe375b67c93e7f4a" datatype="html">\n        <source>CephX Key</source>\n        <target>Clave de CephX</target>\n      </trans-unit>\n      <trans-unit id="f53434bcb95bd86f1df9c8e22966f757614fc4ad" datatype="html">\n        <source>Base64-encoded key...</source>\n        <target>Clave con cifrado base64...</target>\n      </trans-unit>\n      <trans-unit id="4cd83164cd4f66b4abc2863f9ce6f599d789e4ca" datatype="html">\n        <source>CephX key must be base64 encoded.</source>\n        <target>La clave de CephX debe tener cifrado base64</target>\n      </trans-unit>\n      <trans-unit id="ca53d681a9892d6fdbb57ee9676582186515e961" datatype="html">\n        <source>Performance counters not available</source>\n        <target>Los contadores de rendimiento no están disponibles</target>\n      </trans-unit>\n      <trans-unit id="9424badb7e0c6ac792d020d7830645b529a80aad" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the Object Gateway management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the Object Gateway management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="479488ab6e91ecb375484edc78bee3d13467f33f" datatype="html">\n        <source>Daemons List</source>\n        <target>Lista de daemons</target>\n      </trans-unit>\n      <trans-unit id="eeba399c4dae8d4890c27b7a2cd2dc28fcf8b5f9" datatype="html">\n        <source>Performance Counters</source>\n        <target>Contadores de rendimiento</target>\n      </trans-unit>\n      <trans-unit id="5f67f2247b9c6bbaf24a0f2d37f4ac0537c6fa53" datatype="html">\n        <source>Loading bucket data...</source>\n        <target>Cargando datos de la papelera...</target>\n      </trans-unit>\n      <trans-unit id="2798cc1e152b1ec07fd8daf94a2a073d1ba1ebcc" datatype="html">\n        <source>Id</source>\n        <target>ID</target>\n      </trans-unit>\n      <trans-unit id="db4e1a734518691b128ef40b939cc673f01d03a6" datatype="html">\n        <source>The value is not valid.</source>\n        <target>El valor no es válido.</target>\n      </trans-unit>\n      <trans-unit id="eabb4db920d9f9b2480cf438468b86e1bea02a9b" datatype="html">\n        <source>The chosen name is already in use.</source>\n        <target>El nombre que ha elegido ya está en uso.</target>\n      </trans-unit>\n      <trans-unit id="0ee5132a8da30e0b7f9f5c70dbc91928d17dd909" datatype="html">\n        <source>Owner</source>\n        <target>Propietario</target>\n      </trans-unit>\n      <trans-unit id="8e4c918357c7445fbf19a203e5f0f0ece1960b3b" datatype="html">\n        <source>-- Select a user --</source>\n        <target>-- Seleccione un usuario --</target>\n      </trans-unit>\n      <trans-unit id="a4aab1f837bc8ec222e4f25922465d1c5929a1fc" datatype="html">\n        <source>Placement target</source>\n        <target>Placement target</target>\n      </trans-unit>\n      <trans-unit id="6bae0a7fc2c9c1fde7d937a8a1a3c7e6825cf7d1" datatype="html">\n        <source>-- Select a placement target --</source>\n        <target>-- Select a placement target --</target>\n      </trans-unit>\n      <trans-unit id="efeade5060b3add63863c24871f0830fb16b7e6d" datatype="html">\n        <source>Versioning</source>\n        <target>Versioning</target>\n      </trans-unit>\n      <trans-unit id="f50a33d3c339f8f4a465141f8caa5d2d8c005251" datatype="html">\n        <source>Enabled</source>\n        <target>Habilitado</target>\n      </trans-unit>\n      <trans-unit id="016d24e069e7d505a090fb8243e5cd43b35dc39b" datatype="html">\n        <source>Enables versioning for the objects in the bucket.</source>\n        <target>Enables versioning for the objects in the bucket.</target>\n      </trans-unit>\n      <trans-unit id="92f3f203270a29b3001871153f02c063484a1574" datatype="html">\n        <source>Suspended</source>\n        <target>Suspendido</target>\n      </trans-unit>\n      <trans-unit id="cd6a798fd0f85cd7e31a57c58074f25035d7850d" datatype="html">\n        <source>Disables versioning for the objects in the bucket.</source>\n        <target>Disables versioning for the objects in the bucket.</target>\n      </trans-unit>\n      <trans-unit id="45cc8ca94b5a50842a9a8ef804a5ab089a38ae5c" datatype="html">\n        <source>ID</source>\n        <target>ID</target>\n      </trans-unit>\n      <trans-unit id="e5c51963a9c553b29427ef783bbb69fa6634fa8c" datatype="html">\n        <source>Index type</source>\n        <target>Tipo de índice</target>\n      </trans-unit>\n      <trans-unit id="8e6f950a32eaea32ec7e192f9ca3d3dfe469d4ba" datatype="html">\n        <source>Placement rule</source>\n        <target>Regla de colocación</target>\n      </trans-unit>\n      <trans-unit id="6972d213e31c4ea4f887e60db99d9881bc8fcd3e" datatype="html">\n        <source>Marker</source>\n        <target>Marcador</target>\n      </trans-unit>\n      <trans-unit id="47b02acd2d3254d1ace1926f840523f154ebef71" datatype="html">\n        <source>Maximum marker</source>\n        <target>Marcador máximo</target>\n      </trans-unit>\n      <trans-unit id="8fe73a4787b8068b2ba61f54ab7e0f9af2ea1fc9" datatype="html">\n        <source>Version</source>\n        <target>Versión</target>\n      </trans-unit>\n      <trans-unit id="092fa3a7df9168b14d3f83a77a4035e92b92ce15" datatype="html">\n        <source>Master version</source>\n        <target>Versión maestra</target>\n      </trans-unit>\n      <trans-unit id="97434cc5001d407f90c7447a12d9e8e6848a2aa3" datatype="html">\n        <source>Modification time</source>\n        <target>Hora de modificación</target>\n      </trans-unit>\n      <trans-unit id="90fe2e41e7fde38453ce4e619efeea9bc6adea9c" datatype="html">\n        <source>Zonegroup</source>\n        <target>Grupo de zona</target>\n      </trans-unit>\n      <trans-unit id="649a410bd0ace333d067d8fa22f12bdbdb43533b" datatype="html">\n        <source>Bucket quota</source>\n        <target>Cuota de papelera</target>\n      </trans-unit>\n      <trans-unit id="cef1595d040e77cbb4466e60382028d4c2040cac" datatype="html">\n        <source>Maximum size</source>\n        <target>Tamaño máximo</target>\n      </trans-unit>\n      <trans-unit id="aa6fb95c355f172bda303de1ce2f38c251a149cf" datatype="html">\n        <source>Unlimited</source>\n        <target>Sin límite</target>\n      </trans-unit>\n      <trans-unit id="ee862a800364b4d11f9b8cb9955a28a60f840a45" datatype="html">\n        <source>Maximum objects</source>\n        <target>Número máximo de objetos</target>\n      </trans-unit>\n      <trans-unit id="08c74dc9762957593b91f6eb5d65efdfc975bf48" datatype="html">\n        <source>Username</source>\n        <target>Nombre de usuario</target>\n      </trans-unit>\n      <trans-unit id="49c614babd1950adb2be75df4e2c9747286d6adc" datatype="html">\n        <source>-- Select a username --</source>\n        <target>-- Seleccione un nombre de usuario --</target>\n      </trans-unit>\n      <trans-unit id="c217ee914725a37e9dd2336c721c8e63e9666bdc" datatype="html">\n        <source>Auto-generate key</source>\n        <target>Autogenerar clave</target>\n      </trans-unit>\n      <trans-unit id="2f1c1c0f2bce4c9f92d1a2061e8161cb0006c31a" datatype="html">\n        <source>Access key</source>\n        <target>Clave de acceso</target>\n      </trans-unit>\n      <trans-unit id="b864acb67296a9819c1db0069c4c47d8b5ce8f44" datatype="html">\n        <source>Secret key</source>\n        <target>Clave secreta</target>\n      </trans-unit>\n      <trans-unit id="b760f123248930122fc7e7b6b6bf94e376e959c8" datatype="html">\n        <source>Full name</source>\n        <target>Nombre completo</target>\n      </trans-unit>\n      <trans-unit id="69b6ac577a19acc39fc0c22342092f327fff2529" datatype="html">\n        <source>Email address</source>\n        <target>Dirección de correo electrónico</target>\n      </trans-unit>\n      <trans-unit id="8011e20c5bbe51602d459a860fbf29b599b55edd" datatype="html">\n        <source>System</source>\n        <target>Sistema</target>\n      </trans-unit>\n      <trans-unit id="db18a2772988415466a7f75dc42663ce78c9c1d3" datatype="html">\n        <source>Maximum buckets</source>\n        <target>Número máximo de papeleras</target>\n      </trans-unit>\n      <trans-unit id="2c4c62e8ba24601be5cfe7dc5d32c24bbbd4b53c" datatype="html">\n        <source>Subusers</source>\n        <target>Subusuarios</target>\n      </trans-unit>\n      <trans-unit id="17bb3082e6fe5003203ef992a3714172334631a1" datatype="html">\n        <source>Capabilities</source>\n        <target>Capacidades</target>\n      </trans-unit>\n      <trans-unit id="36ad38f9c1a1485e09b67778a28af84553290ffb" datatype="html">\n        <source>User quota</source>\n        <target>Cuota de usuario</target>\n      </trans-unit>\n      <trans-unit id="2aba1e87039819aca3b70faa9aa848c12bf139ca" datatype="html">\n        <source>Show</source>\n        <target>Mostrar</target>\n      </trans-unit>\n      <trans-unit id="0bcd5ef19af0f1b814141ca8c57df623d8270088" datatype="html">\n        <source>Keys</source>\n        <target>Claves</target>\n      </trans-unit>\n      <trans-unit id="f61c6867295f3b53d23557021f2f4e0aa1d0b8fc" datatype="html">\n        <source>Type</source>\n        <target>Tipo</target>\n      </trans-unit>\n      <trans-unit id="1221ca97d19eaa9a7bc0c5243d5fc5befe1d2314" datatype="html">\n        <source>-- Select a type --</source>\n        <target>-- Seleccione un tipo --</target>\n      </trans-unit>\n      <trans-unit id="d1b8990332af18f1c5159a6061ca889bcbb28432" datatype="html">\n        <source>Permission</source>\n        <target>Permiso</target>\n      </trans-unit>\n      <trans-unit id="a08c589f82f69d892307288da14190ae1dd583d5" datatype="html">\n        <source>-- Select a permission --</source>\n        <target>-- Seleccione un permiso --</target>\n      </trans-unit>\n      <trans-unit id="b2841767821d6b66238c34d07e413b0af67aee92" datatype="html">\n        <source>Subuser</source>\n        <target>Subusuario</target>\n      </trans-unit>\n      <trans-unit id="bd59fc25a7bd98cff3e75117c09697c8a007a514" datatype="html">\n        <source>The chosen subuser ID is already in use.</source>\n        <target>El ID de subusuario que ha elegido ya está en uso.</target>\n      </trans-unit>\n      <trans-unit id="3d386c357ebcbc04ed05c4babd5a03626f9b1674" datatype="html">\n        <source>read, write</source>\n        <target>lectura, escritura</target>\n      </trans-unit>\n      <trans-unit id="84e3e3f9a4f31a039b648c97debf95fcb20f4c4a" datatype="html">\n        <source>full</source>\n        <target>todos</target>\n      </trans-unit>\n      <trans-unit id="b6bf81d032a2316464f9df2f0d2f3d753f89f0d3" datatype="html">\n        <source>Swift key</source>\n        <target>Clave Swift</target>\n      </trans-unit>\n      <trans-unit id="1e0c12685d50d47448ceed9423977ef39775c037" datatype="html">\n        <source>Auto-generate secret</source>\n        <target>Autogenerar secreto</target>\n      </trans-unit>\n      <trans-unit id="3d1c7a6004bd5d86a7fa096ae24209e8aa7a53e3" datatype="html">\n        <source>Loading user data...</source>\n        <target>Cargando datos del usuario...</target>\n      </trans-unit>\n      <trans-unit id="faa5d834ab28571423d794d32b57998920efb65f" datatype="html">\n        <source>The user data could not be loaded.</source>\n        <target>No es posible cargar los datos del usuario.</target>\n      </trans-unit>\n      <trans-unit id="6aaf5d2a304167272ac73e3b1d1c162e16c77858" datatype="html">\n        <source>The chosen user ID is already in use.</source>\n        <target>El ID de usuario que ha elegido ya está en uso.</target>\n      </trans-unit>\n      <trans-unit id="df441e80db2157f9d272b75de724ba4a82b96b57" datatype="html">\n        <source>This is not a valid email address.</source>\n        <target>Esta dirección no es válida.</target>\n      </trans-unit>\n      <trans-unit id="ca271adf154956b8fcb28f4f50a37acb3057ff7c" datatype="html">\n        <source>The chosen email address is already in use.</source>\n        <target>La dirección de correo electrónico que ha elegido ya está en uso.</target>\n      </trans-unit>\n      <trans-unit id="030197cebe938edf35422e92fe14183d06eb670b" datatype="html">\n        <source>Max. buckets</source>\n        <target>Máx. papeleras</target>\n      </trans-unit>\n      <trans-unit id="623ac50f37a26caec6fd7cd519b653e3315cba25" datatype="html">\n        <source>The entered value must be &gt;= 0.</source>\n        <target>El valor introducido debe ser mayor o igual que 0.</target>\n      </trans-unit>\n      <trans-unit id="583a219c524155c2314eb06ee29162bb315272a3" datatype="html">\n        <source>S3 key</source>\n        <target>Clave S3</target>\n      </trans-unit>\n      <trans-unit id="128d6efb51d9ddc7c0cc695a2deeca5b9523f6e4" datatype="html">\n        <source>There are no subusers.</source>\n        <target>No hay ningún subusuario.</target>\n      </trans-unit>\n      <trans-unit id="7fd6dfb8ecb982dbc3affb2c2d5414c4f5b6abd2" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ subuserLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ subuserLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="67c746c1ba9dab4351fedc4c7cba4e6d6b0dbc47" datatype="html">\n        <source>S3</source>\n        <target>S3</target>\n      </trans-unit>\n      <trans-unit id="d6819038d608623503918fb2553f53d68231ec3a" datatype="html">\n        <source>There are no keys.</source>\n        <target>No hay ninguna clave.</target>\n      </trans-unit>\n      <trans-unit id="fc1c1a7140ff6b815a95b65ee2780fdbe1b2b7a1" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ s3keyLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ s3keyLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6ddb5e991a3ecd2659fb520bc5acc81b67e08ddd" datatype="html">\n        <source>Swift</source>\n        <target>Swift</target>\n      </trans-unit>\n      <trans-unit id="1d01eccdda47fc907c5be35bcb16d2dcd02b0270" datatype="html">\n        <source>There are no capabilities.</source>\n        <target>No hay ninguna capacidad</target>\n      </trans-unit>\n      <trans-unit id="043e2ec0036ceadd926fd5e3f93cd6f3565f3648" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.ADD | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.ADD | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6146e13ceca5fa5cc17b771b282fe5955f3d19fa" datatype="html">\n        <source>Unlimited size</source>\n        <target>Tamaño ilimitado</target>\n      </trans-unit>\n      <trans-unit id="f6db8aa7c99fdce18edb33dde57729acede2b308" datatype="html">\n        <source>Max. size</source>\n        <target>Tamaño máx.</target>\n      </trans-unit>\n      <trans-unit id="fc630b2093e880fffa19df99d5cd8b87605037f8" datatype="html">\n        <source>Unlimited objects</source>\n        <target>Objetos ilimitados</target>\n      </trans-unit>\n      <trans-unit id="6cda5a993d06f0bb10048be9d3aba6555aa9f356" datatype="html">\n        <source>Max. objects</source>\n        <target>Objetos máx.</target>\n      </trans-unit>\n      <trans-unit id="1ea5c4d8942c00752dcc72e72949c5d9832f6399" datatype="html">\n        <source>Description...</source>\n        <target>Descripción...</target>\n      </trans-unit>\n      <trans-unit id="70f45880fce6ac5d8e468e25e82aefbba8098cfe" datatype="html">\n        <source>Permissions</source>\n        <target>Permisos</target>\n      </trans-unit>\n      <trans-unit id="9610487cbeb5796d34d8601b5ac0c0a65f9e1d19" datatype="html">\n        <source>Roles</source>\n        <target>Funciones</target>\n      </trans-unit>\n      <trans-unit id="7f3bdcce4b2e8c37cd7f0f6c92ef8cff34b039b8" datatype="html">\n        <source>Confirm password</source>\n        <target>Confirmar contraseña</target>\n      </trans-unit>\n      <trans-unit id="cbb979e63ba50e0ca3adfa09cbdcaefd0853fca1" datatype="html">\n        <source>Password confirmation doesn\'t match the password.</source>\n        <target>Las contraseñas no coinciden.</target>\n      </trans-unit>\n      <trans-unit id="244aae9346da82b0922506c2d2581373a15641cc" datatype="html">\n        <source>Email</source>\n        <target>Correo electrónico</target>\n      </trans-unit>\n      <trans-unit id="d0ec081dd61eb4f43aea269077bbe38eae87b7f9" datatype="html">\n        <source>Invalid email.</source>\n        <target>Correo electrónico no válido.</target>\n      </trans-unit>\n      <trans-unit id="0051a3479d3ba79135c16dc8cc017950a2cce821" datatype="html">\n        <source>You are about to remove "user read / update" permissions from your own user.</source>\n        <target>Se dispone a eliminar los permisos "lectura/actualización de usuario" de su propio usuario.</target>\n      </trans-unit>\n      <trans-unit id="af4bf9fcb256853f14cf947eb1deb8d7f176d3f9" datatype="html">\n        <source>If you continue, you will no longer be able to add or remove roles from any user.</source>\n        <target>Si continúa, no podrá añadir ni eliminar funciones en ningún usuario.</target>\n      </trans-unit>\n      <trans-unit id="7d1dcf2a9146caac0581329acf94806ec69a89a5" datatype="html">\n        <source>Are you sure you want to continue?</source>\n        <target>¿Seguro que desea continuar?</target>\n      </trans-unit>\n      <trans-unit id="85b79c9064aed1ead31ace985f31aa1363f6bdaf" datatype="html">\n        <source>Help</source>\n        <target>Ayuda</target>\n      </trans-unit>\n      <trans-unit id="fcfd4675b4c90f08d18d3abede9a9a4dff4cfdc7" datatype="html">\n        <source>Documentation</source>\n        <target>Documentación</target>\n      </trans-unit>\n      <trans-unit id="e351b40b3869a5c7d19c3d4918cb1ac7aaab95c4" datatype="html">\n        <source>API</source>\n        <target>API</target>\n      </trans-unit>\n      <trans-unit id="004b222ff9ef9dd4771b777950ca1d0e4cd4348a" datatype="html">\n        <source>About</source>\n        <target>Acerca de</target>\n      </trans-unit>\n      <trans-unit id="1481ecd21e760ac919a24e26cf790acd82e40199" datatype="html">\n        <source>Dashboard Settings</source>\n        <target>Ajustes de la consola</target>\n      </trans-unit>\n      <trans-unit id="a79aab4ef674bf3f6532292107c0054302236e0f" datatype="html">\n        <source>User management</source>\n        <target>Gestión del usuario</target>\n      </trans-unit>\n      <trans-unit id="049dfd9fe6c78914ad58cf89ac6a631fca28ec74" datatype="html">\n        <source>Logged in user</source>\n        <target>Usuario que ha entrado</target>\n      </trans-unit>\n      <trans-unit id="cd38a58e73f306d838e621959d47d5e7a2f06d1f" datatype="html">\n        <source>Signed in as\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ username }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>\n        </source>\n        <target>Signed in as\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ username }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="739516c2ca75843d5aec9cf0e6b3e4335c4227b9" datatype="html">\n        <source>Change password</source>\n        <target>Change password</target>\n      </trans-unit>\n      <trans-unit id="5d22c795daf43877a5f708dca2bccd549eb0471d" datatype="html">\n        <source>Sign out</source>\n        <target>Salir</target>\n      </trans-unit>\n      <trans-unit id="91853167141c37b58868f3b0421383dd72fa8a01" datatype="html">\n        <source>Attributes (OSD map)</source>\n        <target>Atributos (mapa de OSD)</target>\n      </trans-unit>\n      <trans-unit id="97842f379e1d4157ac3ab0661b90c352e7cb72d5" datatype="html">\n        <source>Metadata not available</source>\n        <target>Los metadatos no están disponibles</target>\n      </trans-unit>\n      <trans-unit id="f721a500a68c357e8f2a01e60510f6a01e4ba529" datatype="html">\n        <source>Metadata</source>\n        <target>Metadatos</target>\n      </trans-unit>\n      <trans-unit id="deba10b7279a589d01e919ea11f43c79ca1773e3" datatype="html">\n        <source>Device health</source>\n        <target>Device health</target>\n      </trans-unit>\n      <trans-unit id="d24e28e19c5703d7c6be44f4eb595a6a43b618ed" datatype="html">\n        <source>Performance counter</source>\n        <target>Contandor de rendimiento</target>\n      </trans-unit>\n      <trans-unit id="d1f7c81ed9c5034af4abcdf119b1c1e86cd019dd" datatype="html">\n        <source>Histogram not available: \n          <x id="INTERPOLATION" equiv-text="{{ osd.histogram_failed }}"/>\n        </source>\n        <target>Histogram not available: \n          <x id="INTERPOLATION" equiv-text="{{ osd.histogram_failed }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="868abfff914873d1c65df798d8432ed04b8ae2a9" datatype="html">\n        <source>Writes</source>\n        <target>Escrituras</target>\n      </trans-unit>\n      <trans-unit id="996ebb9a653b5067f97bf3891ea9d2108e969492" datatype="html">\n        <source>Reads</source>\n        <target>Lecturas</target>\n      </trans-unit>\n      <trans-unit id="65ac79790aa477a97b1cc579e18a115a8df8918f" datatype="html">\n        <source>Histogram</source>\n        <target>Histograma</target>\n      </trans-unit>\n      <trans-unit id="26fb5f81b3581f06b9210defb0e71dc69a67e819" datatype="html">\n        <source>Current values</source>\n        <target>Valores actuales</target>\n      </trans-unit>\n      <trans-unit id="9abcd7c82643d60c22733470463f74e4a54bc069" datatype="html">\n        <source>Min</source>\n        <target>Mín.</target>\n      </trans-unit>\n      <trans-unit id="c3ced4d162a0a55ee233a187ce7208ba5e922418" datatype="html">\n        <source>Max</source>\n        <target>Máx.</target>\n      </trans-unit>\n      <trans-unit id="6834fa6b43d1ecbdf147c48dd9c4d72f1484571d" datatype="html">\n        <source>Source</source>\n        <target>Origen</target>\n      </trans-unit>\n      <trans-unit id="a446fb0eb11fbffcac805ece5a2d306d24e733d8" datatype="html">\n        <source>Level</source>\n        <target>Nivel</target>\n      </trans-unit>\n      <trans-unit id="39f2fb094e9b2eda13163fa3f3a31594cf9c1307" datatype="html">\n        <source>Can be updated at runtime (editable)</source>\n        <target>Se puede actualizar en el tiempo de ejecución (editable)</target>\n      </trans-unit>\n      <trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b" datatype="html">\n        <source>Tags</source>\n        <target>Etiquetas</target>\n      </trans-unit>\n      <trans-unit id="ab0089ef47af61ca1d137bc908b96c290dfd9287" datatype="html">\n        <source>Enum values</source>\n        <target>Valores Enum</target>\n      </trans-unit>\n      <trans-unit id="819476f1264f1659f38e86f6abb542141b184832" datatype="html">\n        <source>See also</source>\n        <target>Véase también</target>\n      </trans-unit>\n      <trans-unit id="d82a9af5b05e7cd17640f196f163771685ff8df6" datatype="html">\n        <source>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</source>\n        <target>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</target>\n      </trans-unit>\n      <trans-unit id="a185c9b97513b3882604ea9bab60edbfac945c15" datatype="html">\n        <source>SMART overall-health self-assessment test result</source>\n        <target>SMART overall-health self-assessment test result</target>\n      </trans-unit>\n      <trans-unit id="ddd5dd6d930030096ea617f62c82b648a0dd9484" datatype="html">\n        <source>Device Information</source>\n        <target>Device Information</target>\n      </trans-unit>\n      <trans-unit id="79c6bf990ea5b4d83bbf8f9e399f4bd933a1ebfc" datatype="html">\n        <source>S.M.A.R.T</source>\n        <target>S.M.A.R.T</target>\n      </trans-unit>\n      <trans-unit id="05c17e08939cbef1a5df5386263b1701e8d5742e" datatype="html">\n        <source>S.M.A.R.T data is loading.</source>\n        <target>S.M.A.R.T data is loading.</target>\n      </trans-unit>\n      <trans-unit id="73caac4265ea7314ff061e5a1d78a6361a6dd3b8" datatype="html">\n        <source>Cluster Status</source>\n        <target>Estado del clúster</target>\n      </trans-unit>\n      <trans-unit id="1d4bc612bbf19aa9553853266b9e92c9d75f4464" datatype="html">\n        <source>Manager Daemons</source>\n        <target>Daemons de gestor</target>\n      </trans-unit>\n      <trans-unit id="946ac5dea9921dc09d7b0a63b89535371f283b19" datatype="html">\n        <source>Object Gateways</source>\n        <target>Instancias de Object Gateway</target>\n      </trans-unit>\n      <trans-unit id="ff03fa5bcf37c4da46ad736c1f7d03f959e8ba9a" datatype="html">\n        <source>Metadata Servers</source>\n        <target>Servidores de metadatos</target>\n      </trans-unit>\n      <trans-unit id="d817609ba4993eba859409ab71e566168f4d5f5a" datatype="html">\n        <source>iSCSI Gateways</source>\n        <target>Puertas de enlace iSCSI</target>\n      </trans-unit>\n      <trans-unit id="42c13e50391250ea9379bdf55d5d6c0228c0c8bc" datatype="html">\n        <source>Client IOPS</source>\n        <target>IOPS de cliente</target>\n      </trans-unit>\n      <trans-unit id="52213660b2454d139ada3079a42ec6caf3c3c01e" datatype="html">\n        <source>Client Throughput</source>\n        <target>Rendimiento del cliente</target>\n      </trans-unit>\n      <trans-unit id="32efd1c3f70e3c5244239de97a2cc95d98534a14" datatype="html">\n        <source>Client Read/Write</source>\n        <target>Lectura/escritura de cliente</target>\n      </trans-unit>\n      <trans-unit id="275485415092cbae3a9f3cbb786ebe283cacfdd5" datatype="html">\n        <source>Recovery Throughput</source>\n        <target>Rendimiento de recuperación</target>\n      </trans-unit>\n      <trans-unit id="6d9a9f55046891733ef71170e7652063765eb542" datatype="html">\n        <source>Scrub</source>\n        <target>Depuración</target>\n      </trans-unit>\n      <trans-unit id="3cc9c2ae277393b3946b38c088dabff671b1ee1b" datatype="html">\n        <source>Performance</source>\n        <target>Rendimiento</target>\n      </trans-unit>\n      <trans-unit id="88f383269db2d32cccee9e936fe549dccb9fdbf4" datatype="html">\n        <source>Raw Capacity</source>\n        <target>Capacidad en bruto</target>\n      </trans-unit>\n      <trans-unit id="c5f8a813f91a11af99132e4beafc136cfc13d73b" datatype="html">\n        <source>PGs per OSD</source>\n        <target>Grupos de colocación por OSD</target>\n      </trans-unit>\n      <trans-unit id="498a109c6e9e94f1966de01aa0326f7f0ac6fb52" datatype="html">\n        <source>PG Status</source>\n        <target>Estado del grupo de colocación</target>\n      </trans-unit>\n      <trans-unit id="ce9dfdc6dccb28dc75a78c704e09dc18fb02dcfa" datatype="html">\n        <source>Capacity</source>\n        <target>Capacidad</target>\n      </trans-unit>\n      <trans-unit id="44ecac93d67c6a671198091c2270354f80322327" datatype="html">\n        <source>\n          <x id="START_ITALIC_TEXT" ctype="x-i" equiv-text="<i>"/>\n          <x id="CLOSE_ITALIC_TEXT" ctype="x-i" equiv-text="</i>"/> See \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Logs\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more details.\n        </source>\n        <target>\n          <x id="START_ITALIC_TEXT" ctype="x-i" equiv-text="<i>"/>\n          <x id="CLOSE_ITALIC_TEXT" ctype="x-i" equiv-text="</i>"/> See \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Logs\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more details.\n        </target>\n      </trans-unit>\n      <trans-unit id="0c1e17956453ad772dbe82d6946f62748c692f3e" datatype="html">\n        <source>Ranks</source>\n        <target>Clasificaciones</target>\n      </trans-unit>\n      <trans-unit id="2b24e0b0b1629d2e8a51b9da7c75d6e6379f4bc4" datatype="html">\n        <source>Standbys</source>\n        <target>Standbys</target>\n      </trans-unit>\n      <trans-unit id="50df62325726db950523a5be1c78b8905fcc25d4" datatype="html">\n        <source>MDS performance counters</source>\n        <target>MDS performance counters</target>\n      </trans-unit>\n      <trans-unit id="a7b6508fb834bee9e48e11e4503fbbc2d19204de" datatype="html">\n        <source>Clients: \n          <x id="INTERPOLATION" equiv-text="{{ clients.data.length }}"/>\n        </source>\n        <target>Clients: \n          <x id="INTERPOLATION" equiv-text="{{ clients.data.length }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6e213942c6354b9cbe7a650f0f1499bfc1000fb6" datatype="html">\n        <source>Directories</source>\n        <target>Directories</target>\n      </trans-unit>\n      <trans-unit id="47116253e36f4e38a97ba41b2d3122c6c15ab904" datatype="html">\n        <source>Clients (\n          <x id="INTERPOLATION" equiv-text="{{ clients.length }}"/>)\n        </source>\n        <target>Clients (\n          <x id="INTERPOLATION" equiv-text="{{ clients.length }}"/>)\n        </target>\n      </trans-unit>\n      <trans-unit id="bd5a3b1c5a3c185c7bbb0e09a061d4cdc88ce5ad" datatype="html">\n        <source>Current</source>\n        <target>Actual</target>\n      </trans-unit>\n      <trans-unit id="e5e7d62e942083a59b0b31f54e17cd7958186052" datatype="html">\n        <source>Updated discovery authentication</source>\n        <target>Autenticación de descubrimiento actualizada</target>\n      </trans-unit>\n      <trans-unit id="dd4ab758afd5fd5a6c6a25b2b30ff99d0c00e9ad" datatype="html">\n        <source>There are no portals available.</source>\n        <target>No hay ningún portal disponible.</target>\n      </trans-unit>\n      <trans-unit id="83021e45778a4a230a14ca0c6d6ccdf05500ad93" datatype="html">\n        <source>There are no images available.</source>\n        <target>No hay ninguna imagen disponible.</target>\n      </trans-unit>\n      <trans-unit id="86684eb21f8a768e1dbc659e3d5da6861db544a0" datatype="html">\n        <source>There are no images available. Please make sure you add an image to the target.</source>\n        <target>No hay ninguna imagen disponible. Asegúrese de añadir una imagen al destino.</target>\n      </trans-unit>\n      <trans-unit id="fffda6e440078f57eba93944ce051c593cc6ed7f" datatype="html">\n        <source>There are no initiators available. Please make sure you add an initiator to the target.</source>\n        <target>No hay ningún iniciador disponible. Asegúrese de añadir un iniciador al destino.</target>\n      </trans-unit>\n      <trans-unit id="cea3c6fe490385eef1584cbc4983fda7ece24bb6" datatype="html">\n        <source>target</source>\n        <target>target</target>\n      </trans-unit>\n      <trans-unit id="38baeb215c17af9d9e295e371a57f4a48ab4c191" datatype="html">\n        <source>Target</source>\n        <target>Destino</target>\n      </trans-unit>\n      <trans-unit id="99e094878070eebc1b972bac02aaa33b2bf83b35" datatype="html">\n        <source># Sessions</source>\n        <target># Sessions</target>\n      </trans-unit>\n      <trans-unit id="c49e0dd71d551bd4928d967d78f0721dbf9f95e3" datatype="html">\n        <source>Target has active sessions</source>\n        <target>Target has active sessions</target>\n      </trans-unit>\n      <trans-unit id="a87acd72dfb68b45175270695209550a85adf50c" datatype="html">\n        <source>iSCSI target</source>\n        <target>iSCSI target</target>\n      </trans-unit>\n      <trans-unit id="873b72903b1858a9cd6c8967521030b4d7d1435b" datatype="html">\n        <source>State</source>\n        <target>Estado</target>\n      </trans-unit>\n      <trans-unit id="02b75464c0dc0cf49ea0208211b6fbcad3bf728a" datatype="html">\n        <source># Targets</source>\n        <target># Targets</target>\n      </trans-unit>\n      <trans-unit id="13415637c325ceefee29111b31cb48701490adf7" datatype="html">\n        <source>Read Bytes</source>\n        <target>Bytes de lectura</target>\n      </trans-unit>\n      <trans-unit id="e2ed82b7bbf4a006e60e6208c597b05d5b5556e9" datatype="html">\n        <source>Write Bytes</source>\n        <target>Bytes de escritura</target>\n      </trans-unit>\n      <trans-unit id="6a32a5f58845ca840185ea9564682094e77a1d80" datatype="html">\n        <source>Read Ops</source>\n        <target>Operaciones de lectura</target>\n      </trans-unit>\n      <trans-unit id="7c36cb8032af123d3550ffab2e1fa1e957c87fae" datatype="html">\n        <source>Write Ops</source>\n        <target>Operaciones de escritura</target>\n      </trans-unit>\n      <trans-unit id="458c33846a8c7e2feb9404bcf06723784e756cdc" datatype="html">\n        <source>A/O Since</source>\n        <target>A/O desde</target>\n      </trans-unit>\n      <trans-unit id="ff78f059449d44322f627d0f66df07abe476962b" datatype="html">\n        <source>Instance</source>\n        <target>Instancia</target>\n      </trans-unit>\n      <trans-unit id="36fad7995cadfb3a6f0d43ef2db280146b3ca022" datatype="html">\n        <source>Issue</source>\n        <target>Problema</target>\n      </trans-unit>\n      <trans-unit id="15793f4cbc261bedbc60f7105533dde536a3f42b" datatype="html">\n        <source>Progress</source>\n        <target>Progreso</target>\n      </trans-unit>\n      <trans-unit id="f39256070bfc0714020dfee08895421fc1527014" datatype="html">\n        <source>Disabled</source>\n        <target>Inhabilitado</target>\n      </trans-unit>\n      <trans-unit id="8c375764db42f5d736fb56d01b8052c006ccc8e2" datatype="html">\n        <source>Edit Mode</source>\n        <target>Editar modo</target>\n      </trans-unit>\n      <trans-unit id="45932f2a0ea524b3425f4320ee46a6d1c68977bc" datatype="html">\n        <source>Add Peer</source>\n        <target>Añadir par</target>\n      </trans-unit>\n      <trans-unit id="d3dc34662e3cda0dad646221651cebd26f731485" datatype="html">\n        <source>Edit Peer</source>\n        <target>Editar par</target>\n      </trans-unit>\n      <trans-unit id="e8a0ec0b6ee72db0f27c186e09640d1ed41964bd" datatype="html">\n        <source>Delete Peer</source>\n        <target>Suprimir par</target>\n      </trans-unit>\n      <trans-unit id="314de06d6f64d39149e78e6d796585c0246fec0b" datatype="html">\n        <source>Leader</source>\n        <target>Líder</target>\n      </trans-unit>\n      <trans-unit id="7acaab450312114059ced9e3737798ee9aa738b1" datatype="html">\n        <source># Local</source>\n        <target>N.º locales</target>\n      </trans-unit>\n      <trans-unit id="7a3ffd88868135c44be3994263bb8e49d8358884" datatype="html">\n        <source># Remote</source>\n        <target>N.º remotos</target>\n      </trans-unit>\n      <trans-unit id="85ca0fd6a6ddd211023c70a25753122c5b978787" datatype="html">\n        <source>mirror peer</source>\n        <target>duplicar par</target>\n      </trans-unit>\n      <trans-unit id="a6493c6ca346cd052da40423eda9c132de2b2002" datatype="html">\n        <source>Key</source>\n        <target>Clave</target>\n      </trans-unit>\n      <trans-unit id="e9cac80fb5d9de66f0006d0bec530fd1fc69a674" datatype="html">\n        <source>RBD</source>\n        <target>RBD</target>\n      </trans-unit>\n      <trans-unit id="4130b1a836f2000cfe9a11fb62493dc42d444de7" datatype="html">\n        <source>Deep flatten</source>\n        <target>Aplanamiento profundo</target>\n      </trans-unit>\n      <trans-unit id="7b17694d7cb8ecb7c8440bc999dac21b44455b33" datatype="html">\n        <source>Layering</source>\n        <target>En capas</target>\n      </trans-unit>\n      <trans-unit id="6a072ce577c2079d0e0c31071a16824f6d22b84d" datatype="html">\n        <source>Exclusive lock</source>\n        <target>Bloqueo exclusivo</target>\n      </trans-unit>\n      <trans-unit id="7354f01320bf936a7f85577c9f71402635c3a362" datatype="html">\n        <source>Object map (requires exclusive-lock)</source>\n        <target>Mapa de objetos (requiere bloqueo exclusivo)</target>\n      </trans-unit>\n      <trans-unit id="fb7e625c1152f1c102cd16460955d124edff1770" datatype="html">\n        <source>Journaling (requires exclusive-lock)</source>\n        <target>En diario (requiere bloqueo exclusivo)</target>\n      </trans-unit>\n      <trans-unit id="df4044632bfc211dd96544fc8f007dabbeeb506c" datatype="html">\n        <source>Fast diff (interlocked with object-map)</source>\n        <target>Fast diff (interlocked with object-map)</target>\n      </trans-unit>\n      <trans-unit id="631fc50ec7c9bd81dc797a3c7e09eda1178ad999" datatype="html">\n        <source>Parent image must support Layering</source>\n        <target>Parent image must support Layering</target>\n      </trans-unit>\n      <trans-unit id="7eb984588f4835f6d0187b33769b4b0f62821640" datatype="html">\n        <source>RBD snapshot rollback</source>\n        <target>Reversión de instantánea RBD</target>\n      </trans-unit>\n      <trans-unit id="4be22bf20ef82614ed53bcd3b912a85590aa71c9" datatype="html">\n        <source>Rollback</source>\n        <target>Revertir</target>\n      </trans-unit>\n      <trans-unit id="2a04c483708d261751d62082d6f03a50d4577b1e" datatype="html">\n        <source>RBD snapshot</source>\n        <target>Instantánea RBD</target>\n      </trans-unit>\n      <trans-unit id="fa96769d1ea86741297cb9b9769b0dcfde58c8b4" datatype="html">\n        <source>Deleted At</source>\n        <target>Suprimido a las</target>\n      </trans-unit>\n      <trans-unit id="e928864038ca70ee7d67bbf1fd71a01c3938a127" datatype="html">\n        <source>id</source>\n        <target>ID</target>\n      </trans-unit>\n      <trans-unit id="240c9c1e96dc38814922a83ad041dc815b084f32" datatype="html">\n        <source>type</source>\n        <target>tipo</target>\n      </trans-unit>\n      <trans-unit id="c9d7ec7ee5b4e282f2228fa996651ec4ef5195a9" datatype="html">\n        <source>state</source>\n        <target>estado</target>\n      </trans-unit>\n      <trans-unit id="5780e5c3b4fc2ae07836bb5221cec4f8d597630d" datatype="html">\n        <source>version</source>\n        <target>versión</target>\n      </trans-unit>\n      <trans-unit id="fe22ca53e651df951dac25b67c17894b0980f767" datatype="html">\n        <source>Host</source>\n        <target>Host</target>\n      </trans-unit>\n      <trans-unit id="fb69299354312c8954ecf324997ccafcd9f6b14b" datatype="html">\n        <source>root</source>\n        <target>raíz</target>\n      </trans-unit>\n      <trans-unit id="d34feb369d308075b423d5c5fc431f9766bf7a11" datatype="html">\n        <source>Evicted client "\n          <x id="INTERPOLATION" equiv-text="{{clientId}}"/>"\n        </source>\n        <target>Evicted client "\n          <x id="INTERPOLATION" equiv-text="{{clientId}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="7db875ff4cc626d394f37fba95c075b2e4bfeb00" datatype="html">\n        <source>Standby daemons</source>\n        <target>Daemons de reserva</target>\n      </trans-unit>\n      <trans-unit id="3c3a423d91e36ac6624e909fcd2669a25685f847" datatype="html">\n        <source>Rank</source>\n        <target>Clasificación</target>\n      </trans-unit>\n      <trans-unit id="9596ecae8956e96921acef47aec787f6bdc37454" datatype="html">\n        <source>Daemon</source>\n        <target>Daemon</target>\n      </trans-unit>\n      <trans-unit id="f2005fa461c06dc2e04d8918bbabedf23604b5b7" datatype="html">\n        <source>Activity</source>\n        <target>Actividad</target>\n      </trans-unit>\n      <trans-unit id="e3a986984ae0c3b43af648c3fa638649d1c00348" datatype="html">\n        <source>Dentries</source>\n        <target>Dentries</target>\n      </trans-unit>\n      <trans-unit id="7c692ab865066967d73c6d64ec0691cc6ce91b93" datatype="html">\n        <source>Inodes</source>\n        <target>Inodos</target>\n      </trans-unit>\n      <trans-unit id="45f210b96a2a6e91f52f153a4f8dc30662629f8e" datatype="html">\n        <source>Usage</source>\n        <target>Uso</target>\n      </trans-unit>\n      <trans-unit id="950b5f04a2efd3f11c0f76418d5a4212381e792e" datatype="html">\n        <source>Origin</source>\n        <target>Origin</target>\n      </trans-unit>\n      <trans-unit id="22e4e574b7f8abf58254f328792445b42e2a924a" datatype="html">\n        <source>The value can be updated at runtime.</source>\n        <target>El valor se puede actualizar en el tiempo de ejecución.</target>\n      </trans-unit>\n      <trans-unit id="d7770de7b2343c9deeaa7ebf37ba3e35ca5c5988" datatype="html">\n        <source>Daemons/clients do not pull this value from the\n      monitor config database. We disallow setting this option via \'ceph config\n      set ...\'. This option should be configured via ceph.conf or via the\n      command line.</source>\n        <target>Los daemons/clientes no extraen este valor de la\n      base de datos de configuración del monitor. No se recomienda definir esta opción con "ceph config\n      set ...". Esta opción se debe configurar mediante ceph.conf o a través\n      de la línea de comandos.</target>\n      </trans-unit>\n      <trans-unit id="83f11fd1dc503c37931ea6c1c5c1e8c2b4b597b6" datatype="html">\n        <source>Option takes effect only during daemon startup.</source>\n        <target>La opción solo surte efecto durante el inicio del daemon.</target>\n      </trans-unit>\n      <trans-unit id="837a07cd6a971038b8b1aa190c43440c9fdb5d8b" datatype="html">\n        <source>Option only affects cluster creation.</source>\n        <target>La opción solo afecta a la creación del clúster.</target>\n      </trans-unit>\n      <trans-unit id="2566a88eb247c918b71cfe5b354c31de0d4b01e5" datatype="html">\n        <source>Option only affects daemon creation.</source>\n        <target>La opción solo afecta a la creación del daemon.</target>\n      </trans-unit>\n      <trans-unit id="1cdc60cfc09c257625768f3d2082816cdef27279" datatype="html">\n        <source>Updated config option \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\n        </source>\n        <target>Updated config option \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="d473e0f684a60db45d6f31e993f693f74290e056" datatype="html">\n        <source>Service</source>\n        <target>Servicio</target>\n      </trans-unit>\n      <trans-unit id="9951bb3983c7dba6fde013e05c922e4fe1a44367" datatype="html">\n        <source>Current value</source>\n        <target>Valor actual</target>\n      </trans-unit>\n      <trans-unit id="4a01c175f90dd92b432f4a4a199d2c7bb9d997ff" datatype="html">\n        <source>Editable</source>\n        <target>Editable</target>\n      </trans-unit>\n      <trans-unit id="261c0af854e8684abc15f89dce6efb3e72344b18" datatype="html">\n        <source>host</source>\n        <target>host</target>\n      </trans-unit>\n      <trans-unit id="9e35065e7c579e1fb960499117fd4b3c68d1c263" datatype="html">\n        <source>Host operation is disabled because orchestrator is unavailable</source>\n        <target>Host operation is disabled because orchestrator is unavailable</target>\n      </trans-unit>\n      <trans-unit id="a5d5e407f8c4e1b152509c966c90f37edf68472e" datatype="html">\n        <source>Device path</source>\n        <target>Device path</target>\n      </trans-unit>\n      <trans-unit id="94e76c060aa68c05d8c4a3f5a20c92fab3e83ccf" datatype="html">\n        <source>Rotates</source>\n        <target>Rotates</target>\n      </trans-unit>\n      <trans-unit id="b7da3e3505cc80f9bf3cffc8444c53e8a9ec70a5" datatype="html">\n        <source>Available</source>\n        <target>Available</target>\n      </trans-unit>\n      <trans-unit id="6ec98fa3d6504ba1fd03465194b53706c8263c99" datatype="html">\n        <source>Model</source>\n        <target>Model</target>\n      </trans-unit>\n      <trans-unit id="1a6e6ad05508130b7a99ce5b15daf3227c2a930c" datatype="html">\n        <source>Updated options for module "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>".\n        </source>\n        <target>Updated options for module "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="ac6c9212896d39b23811ed2dadab7d07336ec559" datatype="html">\n        <source>Enable</source>\n        <target>Habilitar</target>\n      </trans-unit>\n      <trans-unit id="6766a926d80bb7763785621098dae459d6226429" datatype="html">\n        <source>Disable</source>\n        <target>Inhabilitar</target>\n      </trans-unit>\n      <trans-unit id="340f2f312c2eb353e5cd69aee6bee7f5a73c34ac" datatype="html">\n        <source>This Manager module is always on.</source>\n        <target>This Manager module is always on.</target>\n      </trans-unit>\n      <trans-unit id="6a0b3657745dd7a2f2162f1cc790bf9004d0845d" datatype="html">\n        <source>Reconnecting, please wait ...</source>\n        <target>Conectando de nuevo. Espere...</target>\n      </trans-unit>\n      <trans-unit id="7099a8878af7a0a26fe5663c4f46cfe87142b75d" datatype="html">\n        <source>Public Address</source>\n        <target>Dirección pública</target>\n      </trans-unit>\n      <trans-unit id="cbdd1cdc0c7a87f55dd177bc44212f0fc4b80852" datatype="html">\n        <source>Open Sessions</source>\n        <target>Sesiones abiertas</target>\n      </trans-unit>\n      <trans-unit id="37e58d1cbdf8212b380efa51422e42821d4f08e6" datatype="html">\n        <source>No In</source>\n        <target>No incluir</target>\n      </trans-unit>\n      <trans-unit id="12706eb5af17ff5ad77b3de21af368d24678e00b" datatype="html">\n        <source>OSDs that were previously marked out will not be marked back in when they start</source>\n        <target>Los OSD que se excluyeron anteriormente no se volverán a incluir cuando se inicien</target>\n      </trans-unit>\n      <trans-unit id="96114d7624d11dc90ca46cfa96145fe22118df76" datatype="html">\n        <source>No Out</source>\n        <target>No excluir</target>\n      </trans-unit>\n      <trans-unit id="a2ef636fe1ddd56b63e4aaf3d292f33dbf735ef3" datatype="html">\n        <source>OSDs will not automatically be marked out after the configured interval</source>\n        <target>Los OSD no se excluirán automáticamente después del intervalo configurado</target>\n      </trans-unit>\n      <trans-unit id="ee50aefa9b8bde1e5429b48709a23abfe08358e0" datatype="html">\n        <source>No Up</source>\n        <target>No activar</target>\n      </trans-unit>\n      <trans-unit id="608929b939307e397586a98cea52ae38997c7273" datatype="html">\n        <source>OSDs are not allowed to start</source>\n        <target>No se permite que los OSD se inicien</target>\n      </trans-unit>\n      <trans-unit id="1751ab69c1e7f62927afedbf7116e0116316c551" datatype="html">\n        <source>No Down</source>\n        <target>No desactivar</target>\n      </trans-unit>\n      <trans-unit id="41fac86dfb65c1db690f3e87f6497cb73b281084" datatype="html">\n        <source>OSD failure reports are being ignored, such that the monitors will not mark OSDs down</source>\n        <target>Se ignoran los informes de error de OSD, de forma que los monitores no desactivarán los OSD</target>\n      </trans-unit>\n      <trans-unit id="b2838c6165a9672a17db188f4dd9676574353dd8" datatype="html">\n        <source>Pause</source>\n        <target>Pausa</target>\n      </trans-unit>\n      <trans-unit id="191d71dadcc8790573d46706a0b48211de4b8334" datatype="html">\n        <source>Pauses reads and writes</source>\n        <target>Pone en pausa las lecturas y escrituras</target>\n      </trans-unit>\n      <trans-unit id="471d5ba75836f38c19992cf83d8822632d99e473" datatype="html">\n        <source>No Scrub</source>\n        <target>No depurar</target>\n      </trans-unit>\n      <trans-unit id="5b8caa61814121bc36dac0c34a9e9de3cae74990" datatype="html">\n        <source>Scrubbing is disabled</source>\n        <target>La depuración está inhabilitada</target>\n      </trans-unit>\n      <trans-unit id="7f29a0ac1c797bdc0347dd5d0734ba83e96e7ce6" datatype="html">\n        <source>No Deep Scrub</source>\n        <target>No depuración profunda</target>\n      </trans-unit>\n      <trans-unit id="01da61ab216541a8d31259cebd16b10c7e5fc124" datatype="html">\n        <source>Deep Scrubbing is disabled</source>\n        <target>La depuración profunda está inhabilitada</target>\n      </trans-unit>\n      <trans-unit id="0b86c7f18ac725de62c7e192dcfccd02c0dc40ab" datatype="html">\n        <source>No Backfill</source>\n        <target>No reponer</target>\n      </trans-unit>\n      <trans-unit id="bd33a2bdc8fbed3b7469f3717c16d9aaa2851fdd" datatype="html">\n        <source>Backfilling of PGs is suspended</source>\n        <target>La reposición de grupos de colocación se suspende</target>\n      </trans-unit>\n      <trans-unit id="7fbbd036394cfa623add40299757bc87df8eaa7e" datatype="html">\n        <source>No Recover</source>\n        <target>No recuperar</target>\n      </trans-unit>\n      <trans-unit id="f3ee9b451a64dca47299c9b4ae1091c2008068ad" datatype="html">\n        <source>Recovery of PGs is suspended</source>\n        <target>La recuperación de los grupos de colocación se suspende</target>\n      </trans-unit>\n      <trans-unit id="de904148fe7e8d812218f50333ffe247900617c5" datatype="html">\n        <source>Bitwise Sort</source>\n        <target>Orden bit a bit</target>\n      </trans-unit>\n      <trans-unit id="2613c9fde29785bcd75f0abeccb653d14d7527b3" datatype="html">\n        <source>Use bitwise sort</source>\n        <target>Usar orden bit a bit</target>\n      </trans-unit>\n      <trans-unit id="2fe10d84250aeee365db244251d40934c70ff1e9" datatype="html">\n        <source>Purged Snapdirs</source>\n        <target>Snapdir limpiados</target>\n      </trans-unit>\n      <trans-unit id="6b22a5b780eda3c5d500cdac9c6d4f96978c38f1" datatype="html">\n        <source>OSDs have converted snapsets</source>\n        <target>Los OSD tienen snapset convertidos</target>\n      </trans-unit>\n      <trans-unit id="c42f0ba60564dc5b977a8c7f3fdcde9efbb39c60" datatype="html">\n        <source>Recovery Deletes</source>\n        <target>Supresiones de recuperación</target>\n      </trans-unit>\n      <trans-unit id="72fe39979198ea2ed6db6274b5029025cb316d90" datatype="html">\n        <source>Deletes performed during recovery instead of peering</source>\n        <target>Supresiones realizadas durante la recuperación, en lugar de emparejamientos</target>\n      </trans-unit>\n      <trans-unit id="1bb4a1f9127cefe624c173557a716d0ebb6d647c" datatype="html">\n        <source>PG Log Hard Limit</source>\n        <target>Límite estricto de registro del grupo de colocación</target>\n      </trans-unit>\n      <trans-unit id="e03c0321397fdf7a9c22e8d6b5015424943c0a57" datatype="html">\n        <source>Puts a hard limit on pg log length</source>\n        <target>Establece un límite estricto para la longitud del registro del grupo de colocación</target>\n      </trans-unit>\n      <trans-unit id="3c384e2e80c6b5eb24861fbf4225b69486cff4a3" datatype="html">\n        <source>Updated OSD Flags</source>\n        <target>Indicadores de OSD actualizados</target>\n      </trans-unit>\n      <trans-unit id="688578fcc739d6f0c5fb6c366dbb19d21c6d9e36" datatype="html">\n        <source>out</source>\n        <target>excluir</target>\n      </trans-unit>\n      <trans-unit id="cb0f69bdd4dea41d7d45c74b6e07f98de8a2ab26" datatype="html">\n        <source>in</source>\n        <target>Incluir</target>\n      </trans-unit>\n      <trans-unit id="b5fbc7c7f007dd53b2318525bb7ff8b0376c9e37" datatype="html">\n        <source>down</source>\n        <target>desactivar</target>\n      </trans-unit>\n      <trans-unit id="b58719bcb9184e1a7884d00d22d10899d59bf295" datatype="html">\n        <source>Mark</source>\n        <target>Marcar</target>\n      </trans-unit>\n      <trans-unit id="31a1c1aa03f1e5084750bedb4e3fdc04ce2cb6ca" datatype="html">\n        <source>OSD lost</source>\n        <target>OSD perdido</target>\n      </trans-unit>\n      <trans-unit id="f3fc4c85c5b8f1dedea0496b72d0af9da7b9e0d9" datatype="html">\n        <source>marked lost</source>\n        <target>marcado como perdido</target>\n      </trans-unit>\n      <trans-unit id="40fedc157ad899a18ec40573f770d18b040959d2" datatype="html">\n        <source>Purge</source>\n        <target>Limpiar</target>\n      </trans-unit>\n      <trans-unit id="c8b1475105463088593de1022ff6dceb523eae0e" datatype="html">\n        <source>OSD</source>\n        <target>OSD</target>\n      </trans-unit>\n      <trans-unit id="4f3cff08c7033b63bbccfe66006b1bcaea48ddd8" datatype="html">\n        <source>purged</source>\n        <target>limpiado</target>\n      </trans-unit>\n      <trans-unit id="8e5d1b01eca6dce26a4751f0b19bda7a6ab8db5b" datatype="html">\n        <source>destroy</source>\n        <target>destruir</target>\n      </trans-unit>\n      <trans-unit id="495a06b78bf165a7b545fa002137f0846b094a3d" datatype="html">\n        <source>destroyed</source>\n        <target>destruido</target>\n      </trans-unit>\n      <trans-unit id="107614b994f2b01abdc1ca179bf780b0cd933ec4" datatype="html">\n        <source>Recovery Priority</source>\n        <target>Recovery Priority</target>\n      </trans-unit>\n      <trans-unit id="359dad5a3a912ef9dece3194035020856805aa96" datatype="html">\n        <source>PG scrub</source>\n        <target>PG scrub</target>\n      </trans-unit>\n      <trans-unit id="953144c420c2e5abd02e6a687433eac60fa852bd" datatype="html">\n        <source>PGs</source>\n        <target>Grupos de colocación</target>\n      </trans-unit>\n      <trans-unit id="7d3523ea9d35c274cef84043de8a2fdde540a9a1" datatype="html">\n        <source>Read bytes</source>\n        <target>Bytes de lectura</target>\n      </trans-unit>\n      <trans-unit id="ecbe2fdca919499125bc42c2c67cedae8563db1c" datatype="html">\n        <source>Writes bytes</source>\n        <target>Bytes de escritura</target>\n      </trans-unit>\n      <trans-unit id="f3c33322823c846b13f59ba2c8f234405bba99e1" datatype="html">\n        <source>Read ops</source>\n        <target>Operaciones de lectura</target>\n      </trans-unit>\n      <trans-unit id="7e0b24a17546cbfab48b03dc874461d1ca68bc9a" datatype="html">\n        <source>Write ops</source>\n        <target>Operaciones de escritura</target>\n      </trans-unit>\n      <trans-unit id="d45455406092f58e6b089cb440b5b7934b801a01" datatype="html">\n        <source>Mark OSD \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </source>\n        <target>Mark OSD \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="de0b7806e451b3b3dbd564decba59981fe781c18" datatype="html">\n        <source>Mark \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </source>\n        <target>Mark \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="bba1d3bb4f8a47aa2b3068e242562196eadb1e83" datatype="html">\n        <source>PG scrub options</source>\n        <target>PG scrub options</target>\n      </trans-unit>\n      <trans-unit id="b0b7748ebc9b7a6942a8cac4a89d4b215b365878" datatype="html">\n        <source>Updated PG scrub options</source>\n        <target>Updated PG scrub options</target>\n      </trans-unit>\n      <trans-unit id="4edc2162af0bd6cd941eaf730d20a7e3b5a83ba7" datatype="html">\n        <source>Max Backfills</source>\n        <target>Número máximo de reposiciones</target>\n      </trans-unit>\n      <trans-unit id="eb5e6c24a48a1dfe23e0a772b762be5e949c0c8a" datatype="html">\n        <source>Recovery Max Active</source>\n        <target>Máximo de recuperaciones activas</target>\n      </trans-unit>\n      <trans-unit id="4a23c6d3859e03184118620d2baeb736ac765fbf" datatype="html">\n        <source>Recovery Max Single Start</source>\n        <target>Máximo de recuperaciones de inicio único</target>\n      </trans-unit>\n      <trans-unit id="97049169ef5228fd1724de2fcdad1fec2858eaf8" datatype="html">\n        <source>Recovery Sleep</source>\n        <target>Reposo de recuperación</target>\n      </trans-unit>\n      <trans-unit id="a5c05002b0ac2040f1aede5e727e0ffd06eda819" datatype="html">\n        <source>Custom</source>\n        <target>Personalizar</target>\n      </trans-unit>\n      <trans-unit id="89553524f4e7db5c437b07dcfdc7b831d56ded1a" datatype="html">\n        <source>Updated OSD recovery speed priority "\n          <x id="INTERPOLATION" equiv-text="{{value}}"/>"\n        </source>\n        <target>Updated OSD recovery speed priority "\n          <x id="INTERPOLATION" equiv-text="{{value}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="ccf5f30798c03d2d8efd0e6eb508320c018b722d" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{operation}}"/> was initialized in the following OSD(s): \n          <x id="INTERPOLATION_1" equiv-text="{{id}}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{operation}}"/> was initialized in the following OSD(s): \n          <x id="INTERPOLATION_1" equiv-text="{{id}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="9836e830d0219585b36d53be00a31c3d4798a4aa" datatype="html">\n        <source>Smartctl has received an unknown argument (error code\n          <x id="INTERPOLATION" equiv-text="{{smartData.smartctl_error_code}}"/>). You may be using an\n                incompatible version of smartmontools. Version &gt;= 7.0 of\n                smartmontools is required to succesfully retrieve data.\n        </source>\n        <target>Smartctl has received an unknown argument (error code\n          <x id="INTERPOLATION" equiv-text="{{smartData.smartctl_error_code}}"/>). You may be using an\n                incompatible version of smartmontools. Version &gt;= 7.0 of\n                smartmontools is required to succesfully retrieve data.\n        </target>\n      </trans-unit>\n      <trans-unit id="d5fd840374ca1a6f394bcd81f390a6dca27f8224" datatype="html">\n        <source>An error with error code \n          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.\n        </source>\n        <target>An error with error code \n          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.\n        </target>\n      </trans-unit>\n      <trans-unit id="a0b59d7139692bb8d8ed786b6eb6e9e70ce743f3" datatype="html">\n        <source>Raw</source>\n        <target>Raw</target>\n      </trans-unit>\n      <trans-unit id="2f3beddc8234b30fb26a7f63ba2f1ea74f2ed6f7" datatype="html">\n        <source>Threshold</source>\n        <target>Threshold</target>\n      </trans-unit>\n      <trans-unit id="4654b5a68af3c8bad29aa14ca85ccea1f3143c6b" datatype="html">\n        <source>When Failed</source>\n        <target>When Failed</target>\n      </trans-unit>\n      <trans-unit id="5b7f56d5be49fb8e8d8f40209d6746f8f72e9177" datatype="html">\n        <source>Worst</source>\n        <target>Worst</target>\n      </trans-unit>\n      <trans-unit id="1edb8e46b0fac57c5feb3d7d3585afc0122d5481" datatype="html">\n        <source>Create silence</source>\n        <target>Create silence</target>\n      </trans-unit>\n      <trans-unit id="78917e8031aaf913ac3fa63295325ce8879703ce" datatype="html">\n        <source>Job</source>\n        <target>Trabajo</target>\n      </trans-unit>\n      <trans-unit id="94287619205068b591c18493c64781424864c259" datatype="html">\n        <source>Severity</source>\n        <target>Gravedad</target>\n      </trans-unit>\n      <trans-unit id="e6cfbe0c5e0302ba2cec22315f6a28f8ac46b651" datatype="html">\n        <source>Started</source>\n        <target>Iniciado</target>\n      </trans-unit>\n      <trans-unit id="801b98c6f02fe3b32f6afa3ee854c99ed83474e6" datatype="html">\n        <source>URL</source>\n        <target>URL</target>\n      </trans-unit>\n      <trans-unit id="a5cd682a8a33bdc72e093d059429e3cc3a50ec1d" datatype="html">\n        <source>silence</source>\n        <target>silence</target>\n      </trans-unit>\n      <trans-unit id="f557e117e059e7036c6eecacd325a6ae35d866e0" datatype="html">\n        <source>Attribute name</source>\n        <target>Attribute name</target>\n      </trans-unit>\n      <trans-unit id="50f7f517ad8158667f7d4e2bd6f3256e05156e75" datatype="html">\n        <source>Regular expression</source>\n        <target>Regular expression</target>\n      </trans-unit>\n      <trans-unit id="81b1eab399c47110d50f45e3ccb4c009de7cb581" datatype="html">\n        <source>Please add your Prometheus host to the dashboard configuration and refresh the page</source>\n        <target>Please add your Prometheus host to the dashboard configuration and refresh the page</target>\n      </trans-unit>\n      <trans-unit id="29b4ae3296e239446fa0dea88a5112de15cffa54" datatype="html">\n        <source>Created by</source>\n        <target>Created by</target>\n      </trans-unit>\n      <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc" datatype="html">\n        <source>Updated</source>\n        <target>Actualizado</target>\n      </trans-unit>\n      <trans-unit id="8d833cceee0ba4c5161b130365e02bc1e129b57e" datatype="html">\n        <source>Ends</source>\n        <target>Ends</target>\n      </trans-unit>\n      <trans-unit id="46a11ff4289e8c88b1b7a935f8d8ee704055f11a" datatype="html">\n        <source>Silence</source>\n        <target>Silence</target>\n      </trans-unit>\n      <trans-unit id="f392abfbb997402ce2aebb13e660a8f01dec54db" datatype="html">\n        <source>Service type</source>\n        <target>Service type</target>\n      </trans-unit>\n      <trans-unit id="9ffa91b056fb979786627885651e19c8275675cd" datatype="html">\n        <source>Service instance</source>\n        <target>Service instance</target>\n      </trans-unit>\n      <trans-unit id="b5910192a9ac4816638ff6383b03f986ff965796" datatype="html">\n        <source>Container id</source>\n        <target>Container id</target>\n      </trans-unit>\n      <trans-unit id="60ab9cce12a56cdc5ec6a1b699f8c7afecd629d5" datatype="html">\n        <source>Rados config location</source>\n        <target>Rados config location</target>\n      </trans-unit>\n      <trans-unit id="dfa409f831c9168a377bdee02c5ea6aaf9b2bf61" datatype="html">\n        <source>Service URL</source>\n        <target>Service URL</target>\n      </trans-unit>\n      <trans-unit id="bf2468fd965b8a59c135ad549b3a612aa9873abc" datatype="html">\n        <source>Status Description</source>\n        <target>Status Description</target>\n      </trans-unit>\n      <trans-unit id="fb2e1bed329dc5b84197808c778abb9edcbdb335" datatype="html">\n        <source>Used</source>\n        <target>Usado</target>\n      </trans-unit>\n      <trans-unit id="4f1ab04d9100fb0df0e62b921ec46ae052ae29fc" datatype="html">\n        <source>Avail.</source>\n        <target>Dispon.</target>\n      </trans-unit>\n      <trans-unit id="a1c9b3d4fa67450fe9afd1d726f8a1bd91d990ea" datatype="html">\n        <source>Clean</source>\n        <target>Limpio</target>\n      </trans-unit>\n      <trans-unit id="0054f5460090d6dde385e8f099d598df5d28cf54" datatype="html">\n        <source>Working</source>\n        <target>En curso</target>\n      </trans-unit>\n      <trans-unit id="a8059e31694578c1b0344a76a345357dd60e8f01" datatype="html">\n        <source>Warning</source>\n        <target>Advertencia</target>\n      </trans-unit>\n      <trans-unit id="e5d8bb389c702588877f039d72178f219453a72d" datatype="html">\n        <source>Unknown</source>\n        <target>Desconocido</target>\n      </trans-unit>\n      <trans-unit id="88155be1b9b9c6140d6e8f93bac4a775cfdc6671" datatype="html">\n        <source>Healthy</source>\n        <target>Healthy</target>\n      </trans-unit>\n      <trans-unit id="8a3aec4dc1a6e2d4c612ae85e0537acbb20a0f85" datatype="html">\n        <source>Misplaced</source>\n        <target>Misplaced</target>\n      </trans-unit>\n      <trans-unit id="ee81f9bf7ceac69712e0b83e8adc268739f9673e" datatype="html">\n        <source>Degraded</source>\n        <target>Degraded</target>\n      </trans-unit>\n      <trans-unit id="14625bc4025daef1969777a67a3cca27e0cd9167" datatype="html">\n        <source>Unfound</source>\n        <target>Unfound</target>\n      </trans-unit>\n      <trans-unit id="8f23ea509d081c2f747d083d44608dbf125b2ea2" datatype="html">\n        <source>replicas</source>\n        <target>replicas</target>\n      </trans-unit>\n      <trans-unit id="129a2224e1f9d19eb5e11e2a07fe10a785556484" datatype="html">\n        <source>up</source>\n        <target>activo</target>\n      </trans-unit>\n      <trans-unit id="d5f29cf0af691726483262d647eb6622be002512" datatype="html">\n        <source>no filesystems</source>\n        <target>sin sistemas de archivos</target>\n      </trans-unit>\n      <trans-unit id="b1c4387ffab06f3fa9fdb4411aea955595538d44" datatype="html">\n        <source>active</source>\n        <target>activo</target>\n      </trans-unit>\n      <trans-unit id="1aaf7054d826f2cb05ec3e88a5a4b8116861e1f5" datatype="html">\n        <source>standby</source>\n        <target>reserva</target>\n      </trans-unit>\n      <trans-unit id="c9a1080024dca344a48acdb77fa2d54e059f7254" datatype="html">\n        <source>n/a</source>\n        <target>n/d</target>\n      </trans-unit>\n      <trans-unit id="84a1787b6df375847c70f782861d7e7f8f43bff4" datatype="html">\n        <source>active daemon</source>\n        <target>daemon activo</target>\n      </trans-unit>\n      <trans-unit id="24407dc2ebfafaf6b131ee978683b893c3f1d763" datatype="html">\n        <source>quorum</source>\n        <target>quórum</target>\n      </trans-unit>\n      <trans-unit id="2fa50bc07995c6ea660412294298ded39fcb08d9" datatype="html">\n        <source>The NFS Ganesha service is not configured.</source>\n        <target>El servicio NFS Ganesha no está configurado.</target>\n      </trans-unit>\n      <trans-unit id="af1396bdc49f45ea6c4a1e414769f5e2a382c834" datatype="html">\n        <source>Transport</source>\n        <target>Transportar</target>\n      </trans-unit>\n      <trans-unit id="b6a0e176d96c4feed2e975a039c044fcf822e152" datatype="html">\n        <source>CephFS User</source>\n        <target>Usuario de CephFS</target>\n      </trans-unit>\n      <trans-unit id="44dc610cf201a163e8c38da810acec9596930bb3" datatype="html">\n        <source>CephFS Filesystem</source>\n        <target>Sistemas de archivos CephFS</target>\n      </trans-unit>\n      <trans-unit id="db6dc7124be83c7055cb0f2719e31f2f9d46fd3d" datatype="html">\n        <source>(inherited from global config)</source>\n        <target>(se hereda de la configuración global)</target>\n      </trans-unit>\n      <trans-unit id="e1f97bb86f991553ec7b535cb39e7eaa99dfcfe2" datatype="html">\n        <source>inherited from global config</source>\n        <target>se hereda de la configuración global</target>\n      </trans-unit>\n      <trans-unit id="e751800766277e7c2edd652cec7a7a1a68a37852" datatype="html">\n        <source>-- Select what kind of user id squashing is performed --</source>\n        <target>-- Seleccione el tipo de reducción de privilegios de ID de usuario que se va a realizar --</target>\n      </trans-unit>\n      <trans-unit id="4b58387f911e8a7b135a0c4d76c70335c65bbb32" datatype="html">\n        <source>There are no daemons available.</source>\n        <target>No hay ningún daemon disponible.</target>\n      </trans-unit>\n      <trans-unit id="18ae8dc1264f06df7ea251175ada2ac1b8401018" datatype="html">\n        <source>NFS export</source>\n        <target>NFS export</target>\n      </trans-unit>\n      <trans-unit id="ae128527ec18892f812a62a1fd15dc50a38060c0" datatype="html">\n        <source>EC Profile</source>\n        <target>EC Profile</target>\n      </trans-unit>\n      <trans-unit id="60fb10c145f9c7ede2b9ddf9b2b0b0f6191d0ebd" datatype="html">\n        <source>Cache Mode</source>\n        <target>Modo de caché</target>\n      </trans-unit>\n      <trans-unit id="fa5bfad31d4139f6871443bb74324ffda5cad3e6" datatype="html">\n        <source>Min Evict Age</source>\n        <target>Antigüedad mínima de expulsión</target>\n      </trans-unit>\n      <trans-unit id="fd0eb851666df45c34c76fabcda79b0d77bc910b" datatype="html">\n        <source>Min Flush Age</source>\n        <target>Antigüedad mínima de vaciado</target>\n      </trans-unit>\n      <trans-unit id="cb54d2c420a534cee0c308ea5589f8c394ef8d67" datatype="html">\n        <source>Target Max Bytes</source>\n        <target>Número máximo de bytes de destino</target>\n      </trans-unit>\n      <trans-unit id="07f4ebe6615dca466818ffdae2a69ee217d265fb" datatype="html">\n        <source>Target Max Objects</source>\n        <target>Número máximo de objetos de destino</target>\n      </trans-unit>\n      <trans-unit id="eaa8f4df53cf7fa78d078e20a701d10f3dccd77d" datatype="html">\n        <source>No applications added</source>\n        <target>No se ha añadido ninguna aplicación</target>\n      </trans-unit>\n      <trans-unit id="321c2a7640f11177ea49b0857b94c4b70830c0e6" datatype="html">\n        <source>Applications limit reached</source>\n        <target>Se ha alcanzado el límite de aplicaciones</target>\n      </trans-unit>\n      <trans-unit id="519d27742b74fadc8336777452f78891e98aa1dc" datatype="html">\n        <source>A pool can only have up to four applications definitions.</source>\n        <target>Un repositorio solo puede tener hasta cuatro definiciones de aplicaciones.</target>\n      </trans-unit>\n      <trans-unit id="b5bec3813f0d45daa7eb9471272969e1bc3e734e" datatype="html">\n        <source>Allowed characters \'_a-zA-Z0-9\'</source>\n        <target>Caracteres permitidos: _, a-z, A-Z y 0-9</target>\n      </trans-unit>\n      <trans-unit id="807472d29602a0085bce62e534bd66208982c2e2" datatype="html">\n        <source>Maximum length is 128 characters</source>\n        <target>La longitud máxima es 128 caracteres</target>\n      </trans-unit>\n      <trans-unit id="37785748b9ac9ad1d3e4b111ac502c3284afe84b" datatype="html">\n        <source>Filter or add applications</source>\n        <target>Filtrar o añadir aplicaciones</target>\n      </trans-unit>\n      <trans-unit id="38c7b8610ca87835e13eeee6a09ba1c414cd5cb9" datatype="html">\n        <source>Add application</source>\n        <target>Añadir aplicación</target>\n      </trans-unit>\n      <trans-unit id="db8c42f077700d8a94619fad9f4c94b7361d5f1d" datatype="html">\n        <source>pool</source>\n        <target>pool</target>\n      </trans-unit>\n      <trans-unit id="65bb2be83261bc4798853bbccdedc110c43feea7" datatype="html">\n        <source>erasure code profile</source>\n        <target>perfil de código de borrado</target>\n      </trans-unit>\n      <trans-unit id="112d356ad6846959ca4aa5ec9a1f0d9d473b24ec" datatype="html">\n        <source>Replica Size</source>\n        <target>Tamaño de réplica</target>\n      </trans-unit>\n      <trans-unit id="ec50492db341fa752b023d8c924601286b6c9c0c" datatype="html">\n        <source>Last Change</source>\n        <target>Último cambio</target>\n      </trans-unit>\n      <trans-unit id="563a8c136a9d423bc7ae1269a404d6da5fd83dad" datatype="html">\n        <source>Erasure Coded Profile</source>\n        <target>Perfil de código de borrado</target>\n      </trans-unit>\n      <trans-unit id="0ad7f0662956cff61ac1208f92b1a0305b1b2e58" datatype="html">\n        <source>Crush Ruleset</source>\n        <target>Conjunto de reglas de CRUSH</target>\n      </trans-unit>\n      <trans-unit id="f15bf7f588f09ca79795b17bc244e8d336f28171" datatype="html">\n        <source>Write bytes</source>\n        <target>Bytes de escritura</target>\n      </trans-unit>\n      <trans-unit id="bcc365a084b6145b941b371bd4c2b6c3d2c79234" datatype="html">\n        <source>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</source>\n        <target>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</target>\n      </trans-unit>\n      <trans-unit id="44939fd05cedfd077db886528b755e77d5fa3885" datatype="html">\n        <source>bucket</source>\n        <target>papelera</target>\n      </trans-unit>\n      <trans-unit id="84fee774286ec4191311f1277075455c3ea5e2e2" datatype="html">\n        <source>Updated Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>".\n        </source>\n        <target>Updated Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="2d7a43674f0bbc131c9e555ec16ac37fa0445d76" datatype="html">\n        <source>Created Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>"\n        </source>\n        <target>Created Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="ec40d74ecfb1d6d60455af6805c9a714a3f5750a" datatype="html">\n        <source>buckets</source>\n        <target>papeleras</target>\n      </trans-unit>\n      <trans-unit id="764585d5595bac113582ee14a6fd07006770ceb1" datatype="html">\n        <source>capability</source>\n        <target>capability</target>\n      </trans-unit>\n      <trans-unit id="0914cbe18bae204217e1851be6d2d24d86e74605" datatype="html">\n        <source>user</source>\n        <target>usuario</target>\n      </trans-unit>\n      <trans-unit id="d8c86dc5e48a63590d9c94e19f90b5f8325cbd49" datatype="html">\n        <source>subuser</source>\n        <target>subuser</target>\n      </trans-unit>\n      <trans-unit id="f45a3de8a8b40d161cc36a55d77548a27107ca04" datatype="html">\n        <source>S3 Key</source>\n        <target>S3 Key</target>\n      </trans-unit>\n      <trans-unit id="854a763265e92f91ba3ccee1a0e8d823be584f7c" datatype="html">\n        <source>Updated Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </source>\n        <target>Updated Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="84ab3fd641e65e39cffee0ec722a059ed284229e" datatype="html">\n        <source>Created Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </source>\n        <target>Created Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="7c7f4be7b726e61c577e63842a58d9e435f7c597" datatype="html">\n        <source>users</source>\n        <target>usuarios</target>\n      </trans-unit>\n      <trans-unit id="9f7760223efd77806f1bbaf963e6993bb4bc6a0a" datatype="html">\n        <source>Swift Key</source>\n        <target>Swift Key</target>\n      </trans-unit>\n      <trans-unit id="1481b8488e10dbc437accce89d2ae35a0106e8ba" datatype="html">\n        <source>Scope</source>\n        <target>Ámbito</target>\n      </trans-unit>\n      <trans-unit id="9b1d5e95f6bdcfb4b737413f5fa157e0dcb103d5" datatype="html">\n        <source>Read</source>\n        <target>Lectura</target>\n      </trans-unit>\n      <trans-unit id="70a67e04629f6d412db0a12d51820b480788d795" datatype="html">\n        <source>Create</source>\n        <target>Crear</target>\n      </trans-unit>\n      <trans-unit id="dc4fba275819619ee78e8eae14d357ea69ba7477" datatype="html">\n        <source>role</source>\n        <target>role</target>\n      </trans-unit>\n      <trans-unit id="fe6ee93173884201ec62d62ba173c3de85ae177e" datatype="html">\n        <source>Created role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Created role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="41c032df0732f4318f8213fabd0719ac347d4b6c" datatype="html">\n        <source>Updated role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Updated role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="50e22b5289f79f1417369403345c9fa9911a4557" datatype="html">\n        <source>System Role</source>\n        <target>Función del sistema</target>\n      </trans-unit>\n      <trans-unit id="7f132668e2dbfcf616381d2daf59d1a6f2698102" datatype="html">\n        <source>Deleted role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Deleted role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="2e35d60a14ce0b470e8b54602864a867f7fcef40" datatype="html">\n        <source>There are no roles.</source>\n        <target>There are no roles.</target>\n      </trans-unit>\n      <trans-unit id="d2362a49d2434ce137bf19dab004251b7fd9c7b3" datatype="html">\n        <source>Created user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Created user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="9910122dfedd2eaa544a990f1430e5b82a76d99f" datatype="html">\n        <source>Update user</source>\n        <target>Actualizar usuario</target>\n      </trans-unit>\n      <trans-unit id="ac10a3d9b59575640797c1a8e6aea642cf5d5e77" datatype="html">\n        <source>Continue</source>\n        <target>Continuar</target>\n      </trans-unit>\n      <trans-unit id="cf4bcf4ce3d551e6099ccdc3546ae418fe5f8038" datatype="html">\n        <source>You were automatically logged out because your roles have been changed.</source>\n        <target>La sesión se ha cerrado automáticamente porque sus funciones han cambiado.</target>\n      </trans-unit>\n      <trans-unit id="0f6003fb0c1cc73b89d225801cc1b870945cd259" datatype="html">\n        <source>Updated user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Updated user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="fe516c6d820018fdc971113935e22ec1e852965f" datatype="html">\n        <source>Deleted user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Deleted user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="01a7e11502ff80421ef3615e533ea14ef57e1d5c" datatype="html">\n        <source>Failed to delete user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Failed to delete user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="63316a3861dbcb035147efc1b9fb6bc708242e94" datatype="html">\n        <source>You are currently logged in as "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>".\n        </source>\n        <target>You are currently logged in as "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="d8b81951d25439864e92f750f7c99d7426d6517c" datatype="html">\n        <source>password</source>\n        <target>password</target>\n      </trans-unit>\n      <trans-unit id="d361a9b5e1f7985a12c0433388f31626525a02b8" datatype="html">\n        <source>Updated user password"</source>\n        <target>Updated user password"</target>\n      </trans-unit>\n      <trans-unit id="1d7fbcc3d5efc946ffbcf86fed04c4e20dda20fb" datatype="html">\n        <source>Each object is split in data-chunks parts, each stored on a different OSD.</source>\n        <target>Cada objeto se divide en porciones de datos, cada una almacenada en un OSD distinto.</target>\n      </trans-unit>\n      <trans-unit id="b1f8ed4e216585f1f9134740002ef3c8501debd8" datatype="html">\n        <source>Compute coding chunks for each object and store them on different OSDs.\n      The number of coding chunks is also the number of OSDs that can be down without losing data.</source>\n        <target>Calcula las porciones de código para cada objeto y las almacena en distintos OSD.\n      El número de porciones de código es también el número de OSD que pueden estar inactivos sin que se pierdan datos.</target>\n      </trans-unit>\n      <trans-unit id="c437ee74a9a8e781e1380153f742a685e3b8cc5e" datatype="html">\n        <source>The jerasure plugin is the most generic and flexible plugin,\n          it is also the default for Ceph erasure coded pools.</source>\n        <target>El complemento jerasure es el más genérico y flexible,\n          y también el complemento por defecto para los repositorios de código de borrado de Ceph.</target>\n      </trans-unit>\n      <trans-unit id="8c7e19322851402afa67e41f4f1d4e531caf1bf5" datatype="html">\n        <source>The more flexible technique is reed_sol_van : it is enough to set k\n          and m. The cauchy_good technique can be faster but you need to chose the packetsize\n          carefully. All of reed_sol_r6_op, liberation, blaum_roth, liber8tion are RAID6 equivalents\n          in the sense that they can only be configured with m=2.</source>\n        <target>La técnica más flexible es reed_sol_van: basta con definir k y m.\n          La técnica cauchy_good puede ser más rápida, pero hay que elegir con cuidado el tamaño\n          del paquete. reed_sol_r6_op, liberation, blaum_roth y liber8tion son todas equivalentes a RAID6\n          en el sentido de que solo se pueden configurar con m=2.</target>\n      </trans-unit>\n      <trans-unit id="b1b11f49281b4e79219b4eecfbcb033cb15bd880" datatype="html">\n        <source>The encoding will be done on packets of bytes size at a time.\n          Chosing the right packet size is difficult.\n          The jerasure documentation contains extensive information on this topic.</source>\n        <target>La codificación se realizará según el tamaño de los paquetes de bytes de uno en uno.\n          Elegir el tamaño correcto es difícil.\n          La documentación de jerasure incluye información completa sobre el tema.</target>\n      </trans-unit>\n      <trans-unit id="d9cb3bc07a25b26fbea457e0a7b543340bc13c49" datatype="html">\n        <source>With the jerasure plugin, when an erasure coded object is stored on\n          multiple OSDs, recovering from the loss of one OSD requires reading from all the others.\n          For instance if jerasure is configured with k=8 and m=4, losing one OSD requires reading\n          from the eleven others to repair.\n\n          The lrc erasure code plugin creates local parity chunks to be able to recover using\n          less OSDs. For instance if lrc is configured with k=8, m=4 and l=4, it will create\n          an additional parity chunk for every four OSDs. When a single OSD is lost, it can be\n          recovered with only four OSDs instead of eleven.</source>\n        <target>Con el complemento jerasure, cuando un objeto de código de borrado se almacena\n          en varios OSD, para recuperarse de la pérdida de un OSD es necesario leer de todos los demás.\n          Por ejemplo, si jerasure está configurado con k=8 y m=4, cuando se pierde un OSD es necesario leer\n          de los otros once para repararlo.\n\n          El complemento de código de borrado lrc crea porciones de paridad local para poder realizar la recuperación con\n          menos OSDs. Por ejemplo, is lrc está configurado con k=8, m=4 y l=4, creará\n          una porción de paridad adicional para cada cuatro OSDs. Si se pierde un solo OSD, se puede recuperar\n          solo con cuatro OSD, en lugar de con once.</target>\n      </trans-unit>\n      <trans-unit id="813959d46e63a29bbd266b3af2ff9414c2ef553c" datatype="html">\n        <source>Group the coding and data chunks into sets of size locality. For instance,\n          for k=4 and m=2, when locality=3 two groups of three are created. Each set can\n          be recovered without reading chunks from another set.</source>\n        <target>Agrupa las porciones de código y de datos en localizaciones de conjuntos de tamaño. Por ejemplo,\n          para k=4 y m=2, si locality=3, se crean dos grupos de tres. Cada conjunto\n          se puede recuperar sin leer porciones de otro conjunto.</target>\n      </trans-unit>\n      <trans-unit id="f0ff63d92e0a1b4d4b51e31b9133802d160a5f4c" datatype="html">\n        <source>The type of the crush bucket in which each set of chunks defined\n          by l will be stored. For instance, if it is set to rack, each group of l chunks will be\n          placed in a different rack. It is used to create a CRUSH rule step such as step choose\n          rack. If it is not set, no such grouping is done.</source>\n        <target>El tipo de papelera de CRUSH en el que se almacenará cada\n          conjunto de porciones definido por l. Por ejemplo, si se define como bastidor, cada grupo de l porciones\n          se colocará en un bastidor distinto. Se usa para crear un paso de regla de CRUSH, por ejemplo, "step choose\n          rack". Si no se define, no se realiza este tipo de agrupamiento.</target>\n      </trans-unit>\n      <trans-unit id="3ece48df9d1e9a98f98bf3c5cc66e8b637020a4d" datatype="html">\n        <source>The isa plugin encapsulates the ISA library. It only runs on Intel processors.</source>\n        <target>El complemento isa encapsula la biblioteca ISA. Solo funciona en procesadores Intel.</target>\n      </trans-unit>\n      <trans-unit id="4472c9e31bfc7d96a83dc4afce0a6e885c99e839" datatype="html">\n        <source>The ISA plugin comes in two Reed Solomon forms.\n          If reed_sol_van is set, it is Vandermonde, if cauchy is set, it is Cauchy.</source>\n        <target>El complemento ISA viene en dos formatos de Reed Solomon.\n          Si se define reed_sol_van, se trata de Vandermonde; si se define cauchy, se trata de Cauchy.</target>\n      </trans-unit>\n      <trans-unit id="fa385f5ecf63083ec848dca8dc5e52bdc72ac6f6" datatype="html">\n        <source>The shec plugin encapsulates the multiple SHEC library.\n          It allows ceph to recover data more efficiently than Reed Solomon codes.</source>\n        <target>El complemento shec encapsula las distintas bibliotecas SHEC.\n          Permite a Ceph recuperar datos de forma más eficiente que los códigos de Reed Solomon.</target>\n      </trans-unit>\n      <trans-unit id="687b3cd94b3475c24ff4481d64d4739f902a377c" datatype="html">\n        <source>The number of parity chunks each of which includes each data chunk in its\n          calculation range. The number is used as a durability estimator. For instance, if c=2,\n          2 OSDs can be down without losing data.</source>\n        <target>El número de porciones de paridad. Cada uno de ellas incluye cada porción de datos\n           en su intervalo de cálculo. El número se usa como estimador de durabilidad. Por ejemplo, si c=2,\n          2 OSD pueden estar inactivos sin que se pierdan datos.</target>\n      </trans-unit>\n      <trans-unit id="f3c4af6df91bdaabdb715f8f0b61a24faf73a3bc" datatype="html">\n        <source>The name of the crush bucket used for the first step of the CRUSH rule.\n      For instance step take default.</source>\n        <target>El nombre de la papelera de CRUSH usado para el primer paso de la regla de CRUSH.\n      Por ejemplo, "step take default".</target>\n      </trans-unit>\n      <trans-unit id="e1059955a5ce65cdabf0c0a8207377e1f9bae57e" datatype="html">\n        <source>Ensure that no two chunks are in a bucket with the same failure\n      domain. For instance, if the failure domain is host no two chunks will be stored on the same\n      host. It is used to create a CRUSH rule step such as step chooseleaf host.</source>\n        <target>Asegúrese de que no hay dos porciones en una papelera con el mismo\n      dominio de error. Por ejemplo, si el dominio de error es host, no debe haber dos porciones almacenadas en el mismo\n      host. Se usa para crear un paso de regla de CRUSH, por ejemplo, "step chooseleaf host".</target>\n      </trans-unit>\n      <trans-unit id="ac392ac9c6da5fde6da80fc57b9c09402fb6e73d" datatype="html">\n        <source>Restrict placement to devices of a specific class\n      (e.g., ssd or hdd), using the crush device class names in the CRUSH map.</source>\n        <target>Restringe la colocación a dispositivos de una clase concreta\n      (p.ej., ssd o hdd) usando los nombre de clase de dispositivo CRUSH en el mapa de CRUSH.</target>\n      </trans-unit>\n      <trans-unit id="62bcb9ae5583a088649b1adf5787a86ca3334f89" datatype="html">\n        <source>Set the directory name from which the erasure code plugin is loaded.</source>\n        <target>Define el nombre de directorio del que se cargará el complemento de código de borrado.</target>\n      </trans-unit>\n      <trans-unit id="c8f10184a8433d132ede0a2c0c1aa96f291cacfa" datatype="html">\n        <source>Allows all operations</source>\n        <target>Permite todas las operaciones</target>\n      </trans-unit>\n      <trans-unit id="82077ee97c11ee76efc3adf253b7b26654544317" datatype="html">\n        <source>Allows only operations that do not modify the server</source>\n        <target>Permite solo las operaciones que no modifican el servidor</target>\n      </trans-unit>\n      <trans-unit id="22b5212ec10449dbf0a0af0ad34122eac51b5f2a" datatype="html">\n        <source>Does not allow read or write operations, but allows any other operation</source>\n        <target>No permite operaciones de lectura o escritura, pero sí cualquier otra</target>\n      </trans-unit>\n      <trans-unit id="9799d0f8c4b7727ae239fedfe3c0ce127feb7a50" datatype="html">\n        <source>Does not allow read, write, or any operation that modifies file        attributes or directory content</source>\n        <target>No permite operaciones de lectura o escritura, ni ninguna otra que modifique los atributos del archivo o el contenido del directorio</target>\n      </trans-unit>\n      <trans-unit id="aeddefe0af87025d8f00699aa94bed8216a99a58" datatype="html">\n        <source>Allows no access at all</source>\n        <target>No permite ningún tipo de acceso</target>\n      </trans-unit>\n      <trans-unit id="a436c6a4025a749198e93cac239de8deede72211" datatype="html">\n        <source>-- Select the priority --</source>\n        <target>-- Seleccione la prioridad --</target>\n      </trans-unit>\n      <trans-unit id="9556266f0a2b1762a44b686f2bb21dbfefb01c12" datatype="html">\n        <source>Low</source>\n        <target>Baja</target>\n      </trans-unit>\n      <trans-unit id="72279141a67cc042d9864102b703216cc8a428a3" datatype="html">\n        <source>High</source>\n        <target>Alta</target>\n      </trans-unit>\n      <trans-unit id="6080b77234e92ad41bb52653b239c4c4f851317d" datatype="html">\n        <source>Error</source>\n        <target>Error</target>\n      </trans-unit>\n      <trans-unit id="c43dc1967a603fefb886149ac35863a06d5b4ce5" datatype="html">\n        <source>Information</source>\n        <target>Información</target>\n      </trans-unit>\n      <trans-unit id="1e035e6ccfab771cad4226b2ad230cb0d4a88cba" datatype="html">\n        <source>Success</source>\n        <target>Success</target>\n      </trans-unit>\n      <trans-unit id="e6ca3c0efaf51e6d45a7f92f58bac37140c3fda4" datatype="html">\n        <source>Last 5 minutes</source>\n        <target>Últimos 5 minutos</target>\n      </trans-unit>\n      <trans-unit id="b0ecb2bbc548cc9bd95050fd8f0c84586d083fe2" datatype="html">\n        <source>Last 15 minutes</source>\n        <target>Últimos 15 minutos</target>\n      </trans-unit>\n      <trans-unit id="857ae67deb51353120b203b0f2a06b0c48ef49fa" datatype="html">\n        <source>Last 30 minutes</source>\n        <target>Últimos 30 minutos</target>\n      </trans-unit>\n      <trans-unit id="7b1738fad314e936dc14b94db8f43da736942308" datatype="html">\n        <source>Last 1 hour (Default)</source>\n        <target>Última hora (opción por defecto)</target>\n      </trans-unit>\n      <trans-unit id="a428288224389726cef9d9bd8d1d7808cccd7ffd" datatype="html">\n        <source>Last 3 hours</source>\n        <target>Últimas 3 horas</target>\n      </trans-unit>\n      <trans-unit id="7cbabecc8d80cf183ac199cfaeb7619d56e5d43f" datatype="html">\n        <source>Last 6 hours</source>\n        <target>Últimas 6 horas</target>\n      </trans-unit>\n      <trans-unit id="1a389cdf64187d34cf99eec30a290e3fa7d4744f" datatype="html">\n        <source>Last 12 hours</source>\n        <target>Últimas 12 horas</target>\n      </trans-unit>\n      <trans-unit id="9e0ba5f591380a94d594a76288f0c41aa97eb9c2" datatype="html">\n        <source>Last 24 hours</source>\n        <target>Últimas 24 horas</target>\n      </trans-unit>\n      <trans-unit id="e430eda9c785cd43465b7cbb400ee914f1057247" datatype="html">\n        <source>Yesterday</source>\n        <target>Ayer</target>\n      </trans-unit>\n      <trans-unit id="7fb1099e29660162f9154d5b2feee7743a423df6" datatype="html">\n        <source>Today</source>\n        <target>Hoy</target>\n      </trans-unit>\n      <trans-unit id="33904058a97a64bd189bed84038b1ffe719769c7" datatype="html">\n        <source>Today so far</source>\n        <target>Hoy hasta ahora</target>\n      </trans-unit>\n      <trans-unit id="3b0b849be007510021d3d383df75bec95ef9c97b" datatype="html">\n        <source>Day before yesterday</source>\n        <target>Anteayer</target>\n      </trans-unit>\n      <trans-unit id="6b430c2c394c4d32ebd7d46c8c46ab60e1b29ccb" datatype="html">\n        <source>Last 2 days</source>\n        <target>Los últimos 2 días</target>\n      </trans-unit>\n      <trans-unit id="d5e812a87a5d57a94200a2013027cab76a7c4863" datatype="html">\n        <source>This day last week</source>\n        <target>Este día la semana pasada</target>\n      </trans-unit>\n      <trans-unit id="d00edc936eeab6b5577401f115ca86ca2c87dc9a" datatype="html">\n        <source>Previous week</source>\n        <target>La semana pasada</target>\n      </trans-unit>\n      <trans-unit id="b036e40577baa6b918b2267d319d4b3aeaa88a5a" datatype="html">\n        <source>This week</source>\n        <target>Esta semana</target>\n      </trans-unit>\n      <trans-unit id="99ad5a6096b3fcb3f021f3779bae710cdfeb8934" datatype="html">\n        <source>This week so far</source>\n        <target>Esta semana hasta ahora</target>\n      </trans-unit>\n      <trans-unit id="02e0243b60007368f87dc01e083f232dd025096d" datatype="html">\n        <source>Last 7 days</source>\n        <target>Los últimos 7 días</target>\n      </trans-unit>\n      <trans-unit id="c3b08b07b5ab98e7cdcf18df39355690ab7d3884" datatype="html">\n        <source>Previous month</source>\n        <target>El mes pasado</target>\n      </trans-unit>\n      <trans-unit id="1b2562c6d5aa90644e7dc91feee82e2005fceb33" datatype="html">\n        <source>This month</source>\n        <target>Este mes</target>\n      </trans-unit>\n      <trans-unit id="26b4b18c5917934abb169ba9aa490e57f7bf10b8" datatype="html">\n        <source>This month so far</source>\n        <target>Este mes hasta ahora</target>\n      </trans-unit>\n      <trans-unit id="7668986b9f753fcd72ad4a00b1a0c4861d1f7fb8" datatype="html">\n        <source>Last 30 days</source>\n        <target>Los últimos 30 días</target>\n      </trans-unit>\n      <trans-unit id="ba1e822408d90c6fbd2989100fa648bfd5e8ee84" datatype="html">\n        <source>Last 90 days</source>\n        <target>Los últimos 90 días</target>\n      </trans-unit>\n      <trans-unit id="c3df03f899a914c4181adcdc8a3f077424f7b6e8" datatype="html">\n        <source>Last 6 months</source>\n        <target>Los últimos 6 meses</target>\n      </trans-unit>\n      <trans-unit id="7f9a92757580c9f31c309c0a3812ea429274eadf" datatype="html">\n        <source>Last 1 year</source>\n        <target>El último año</target>\n      </trans-unit>\n      <trans-unit id="5a9fede30ff65cb4b4426f6b1ed31afb67ecd7b0" datatype="html">\n        <source>Previous year</source>\n        <target>El año pasado</target>\n      </trans-unit>\n      <trans-unit id="65cefcc53d1f6445df7568e8a40c49165f1090ee" datatype="html">\n        <source>This year</source>\n        <target>Este año</target>\n      </trans-unit>\n      <trans-unit id="1f68b766944dc3865bddab765fe952b0c1c43f92" datatype="html">\n        <source>This year so far</source>\n        <target>Este año hasta ahora</target>\n      </trans-unit>\n      <trans-unit id="4d4b77e614f8043fdadef5d6d235655bb48eb311" datatype="html">\n        <source>Last 2 years</source>\n        <target>Los últimos 2 años</target>\n      </trans-unit>\n      <trans-unit id="138afa339ea6e75d25a474affe1edbcb90e00ec0" datatype="html">\n        <source>Last 5 years</source>\n        <target>Los últimos 5 años</target>\n      </trans-unit>\n      <trans-unit id="37391297bb077a6f84484930261b01a3ce38327b" datatype="html">\n        <source>No items selected.</source>\n        <target>No se ha seleccionado ningún elemento.</target>\n      </trans-unit>\n      <trans-unit id="2c1e52ee832661b4a0f570877d24661736b16af1" datatype="html">\n        <source>Deselect item to select again</source>\n        <target>Deseleccione el elemento para volver a seleccionarlo</target>\n      </trans-unit>\n      <trans-unit id="c8c9c6e5918659336824bbdda3501c66eaa79a4c" datatype="html">\n        <source>Selection limit reached</source>\n        <target>Se ha alcanzado el límite de selección</target>\n      </trans-unit>\n      <trans-unit id="02d184c288f567825a1fcbf83bcd3099a10853d5" datatype="html">\n        <source>Filter tags</source>\n        <target>Filtrar etiquetas</target>\n      </trans-unit>\n      <trans-unit id="aa00748e49c269956837d6f3acdd8d218796a8d8" datatype="html">\n        <source>Add badge</source>\n        <target>Añadir insignia</target>\n      </trans-unit>\n      <trans-unit id="4078a92d8121abdce7d8f346a88914923ec835fc" datatype="html">\n        <source>There are no items available.</source>\n        <target>No hay ningún elemento disponible.</target>\n      </trans-unit>\n      <trans-unit id="f6755cff4957d5c3c89bafce5651f1b6fa2b1fd9" datatype="html">\n        <source>Add</source>\n        <target>Añadir</target>\n      </trans-unit>\n      <trans-unit id="019d4bd6a5690f0cfa0ecf346a4e6bf7f0d8debb" datatype="html">\n        <source>Remove</source>\n        <target>Remove</target>\n      </trans-unit>\n      <trans-unit id="54a4a3132b693575728a45a5f3154ad4c9af404b" datatype="html">\n        <source>Clone</source>\n        <target>Clonar</target>\n      </trans-unit>\n      <trans-unit id="1979da7460819153e11d2078244645d94291b69c" datatype="html">\n        <source>Copy</source>\n        <target>Copiar</target>\n      </trans-unit>\n      <trans-unit id="2e5e77dbaadd6588d8bbf737139fd9806294ae28" datatype="html">\n        <source>Deep Scrub</source>\n        <target>Depuración profunda</target>\n      </trans-unit>\n      <trans-unit id="bf463b189696c19769ea263227e6c22aefafb918" datatype="html">\n        <source>Destroy</source>\n        <target>Destruir</target>\n      </trans-unit>\n      <trans-unit id="b4e94d529ff10db4d86f3f48900fa67ede3411fd" datatype="html">\n        <source>Evict</source>\n        <target>Evict</target>\n      </trans-unit>\n      <trans-unit id="3747fff7faf52b436ecff5fb8555091736d92c70" datatype="html">\n        <source>Flatten</source>\n        <target>Aplanar</target>\n      </trans-unit>\n      <trans-unit id="66fdbf32e5449cc54a3d1e19c7b8f4ea238facfb" datatype="html">\n        <source>Mark Down</source>\n        <target>Marcar para desactivar</target>\n      </trans-unit>\n      <trans-unit id="0cda3e824fb2f9c731e5a60b859dedc1fe03127e" datatype="html">\n        <source>Mark In</source>\n        <target>Marcar para incluir</target>\n      </trans-unit>\n      <trans-unit id="f833354f43cb38c5716faa8759a9bbdd1ab8f199" datatype="html">\n        <source>Mark Lost</source>\n        <target>Marcar como perdido</target>\n      </trans-unit>\n      <trans-unit id="75fb9f970ba365398c45e57bbb1019c009f6b832" datatype="html">\n        <source>Mark Out</source>\n        <target>Marcar para excluir</target>\n      </trans-unit>\n      <trans-unit id="45480c03b0a3a37ff8f6a5600a6a034b40fbaea4" datatype="html">\n        <source>Protect</source>\n        <target>Proteger</target>\n      </trans-unit>\n      <trans-unit id="e26f9cf3666aace4e524b1505c9795d76d87738d" datatype="html">\n        <source>Rename</source>\n        <target>Renombrar</target>\n      </trans-unit>\n      <trans-unit id="d5cec7468241d72cafd86ad1af6d55b09a6e3ae5" datatype="html">\n        <source>Restore</source>\n        <target>Restaurar</target>\n      </trans-unit>\n      <trans-unit id="ba073985cfd2528c77a746ed596b2f2052b973c5" datatype="html">\n        <source>Move to Trash</source>\n        <target>Mover a la papelera</target>\n      </trans-unit>\n      <trans-unit id="3ea9b96a21a499d296a7f25407da0f3df6c2d5ed" datatype="html">\n        <source>Unprotect</source>\n        <target>Desproteger</target>\n      </trans-unit>\n      <trans-unit id="024cdb2814b0cb3f4ced148f1a0b9854447cb214" datatype="html">\n        <source>Change</source>\n        <target>Change</target>\n      </trans-unit>\n      <trans-unit id="011f3e2bfc1fd8407eb5f599352665bfeb145664" datatype="html">\n        <source>Recreate</source>\n        <target>Recreate</target>\n      </trans-unit>\n      <trans-unit id="6df2dfa48bef5510c82fb43f4e71a7f9557f3d71" datatype="html">\n        <source>Expire</source>\n        <target>Expire</target>\n      </trans-unit>\n      <trans-unit id="28df1b02fd88d2deb0212bc5d7ff34cf9492fa54" datatype="html">\n        <source>Deleted</source>\n        <target>Suprimido</target>\n      </trans-unit>\n      <trans-unit id="80e3b490720757978c99a7b5af3885faf202b955" datatype="html">\n        <source>Added</source>\n        <target>Added</target>\n      </trans-unit>\n      <trans-unit id="1aa4883bc4f1352f7a0bdd94810a9bf6dc22bd02" datatype="html">\n        <source>Removed</source>\n        <target>Removed</target>\n      </trans-unit>\n      <trans-unit id="402f3ee47f98fbbc68530239b1ddcbb9e96a460c" datatype="html">\n        <source>Edited</source>\n        <target>Edited</target>\n      </trans-unit>\n      <trans-unit id="96d56ec71c6e78cb4d6204c4a9359a3d38fcdb59" datatype="html">\n        <source>Canceled</source>\n        <target>Canceled</target>\n      </trans-unit>\n      <trans-unit id="a3318a2ee2bd0064b6b9ff72a4018b679ec63125" datatype="html">\n        <source>Cloned</source>\n        <target>Clonado</target>\n      </trans-unit>\n      <trans-unit id="ef90545bc832876c0d7f9a10363c75137472bbb5" datatype="html">\n        <source>Copied</source>\n        <target>Copiado</target>\n      </trans-unit>\n      <trans-unit id="5a13d3834133e09544ec93885662f181372dcf46" datatype="html">\n        <source>Deep Scrubbed</source>\n        <target>Deep Scrubbed</target>\n      </trans-unit>\n      <trans-unit id="7c9efb91434a5c15e9579c0b31c8e184b8c8240d" datatype="html">\n        <source>Destroyed</source>\n        <target>Destroyed</target>\n      </trans-unit>\n      <trans-unit id="647059bf3ea098fffedf92ddfad792bb3daa3c95" datatype="html">\n        <source>Flattened</source>\n        <target>Aplanado</target>\n      </trans-unit>\n      <trans-unit id="8df71e952319eafa71c8e6ef6144b780af8813ff" datatype="html">\n        <source>Marked Down</source>\n        <target>Marked Down</target>\n      </trans-unit>\n      <trans-unit id="25658f5a080a1cab3b91e17b756b1d1dc46bb9b3" datatype="html">\n        <source>Marked In</source>\n        <target>Marked In</target>\n      </trans-unit>\n      <trans-unit id="ebcf306036a6c5579df9448f77eca98d491db245" datatype="html">\n        <source>Marked Lost</source>\n        <target>Marked Lost</target>\n      </trans-unit>\n      <trans-unit id="3a8803369ac18be3ad762384b9fda095fe2a6dcc" datatype="html">\n        <source>Marked Out</source>\n        <target>Marked Out</target>\n      </trans-unit>\n      <trans-unit id="0fe2a62ea7c609fa8326ee6d38060bc5ba8bf34f" datatype="html">\n        <source>Protected</source>\n        <target>Protected</target>\n      </trans-unit>\n      <trans-unit id="69b0446c6c2411c4fe01e411b8ceec72d4044fb4" datatype="html">\n        <source>Purged</source>\n        <target>Limpiado</target>\n      </trans-unit>\n      <trans-unit id="d53de1a61bd51c815dc374c7f97e4ee69230e412" datatype="html">\n        <source>Renamed</source>\n        <target>Renamed</target>\n      </trans-unit>\n      <trans-unit id="86fc6cae82c095f14105eb8a61d7b3fa948304b7" datatype="html">\n        <source>Restored</source>\n        <target>Restaurado</target>\n      </trans-unit>\n      <trans-unit id="e87dd0fd35460cb743046db918dfce2137b5977a" datatype="html">\n        <source>Reweighted</source>\n        <target>Reweighted</target>\n      </trans-unit>\n      <trans-unit id="dc21fd6547f2325c67f6deff925f29eb07a2db3e" datatype="html">\n        <source>Rolled back</source>\n        <target>Revertido</target>\n      </trans-unit>\n      <trans-unit id="15dec4c2d73a516c10aef90aeeea3364fa794615" datatype="html">\n        <source>Scrubbed</source>\n        <target>Scrubbed</target>\n      </trans-unit>\n      <trans-unit id="8dc560ded67482f109a98e0638851ad1d37188b3" datatype="html">\n        <source>Showed</source>\n        <target>Showed</target>\n      </trans-unit>\n      <trans-unit id="197259b7ea76f15c6d0a64b075a673fd4112ada7" datatype="html">\n        <source>Moved to Trash</source>\n        <target>Moved to Trash</target>\n      </trans-unit>\n      <trans-unit id="8fb15cb102cd75b562680290b7e04c44d80018f2" datatype="html">\n        <source>Unprotected</source>\n        <target>Unprotected</target>\n      </trans-unit>\n      <trans-unit id="8588eafa498262a1cbb5043ad68cf0ff669c4f10" datatype="html">\n        <source>Recreated</source>\n        <target>Recreated</target>\n      </trans-unit>\n      <trans-unit id="ffde7468d7b5cad6990095ed68ddee3d67cd02f8" datatype="html">\n        <source>Expired</source>\n        <target>Expired</target>\n      </trans-unit>\n      <trans-unit id="4f20f2d5a6882190892e58b85f6ccbedfa737952" datatype="html">\n        <source>Yes</source>\n        <target>Sí</target>\n      </trans-unit>\n      <trans-unit id="3d3ae7deebc5949b0c1c78b9847886a94321d9fd" datatype="html">\n        <source>No</source>\n        <target>No</target>\n      </trans-unit>\n      <trans-unit id="99fa0b67376d40142bd4d3ace3344abf4f98b6a5" datatype="html">\n        <source>Your matcher seems to match no currently defined rule or active alert.</source>\n        <target>Your matcher seems to match no currently defined rule or active alert.</target>\n      </trans-unit>\n      <trans-unit id="7e284852732c303eb1f47de9aca2569e41aeffed" datatype="html">\n        <source>no active alerts</source>\n        <target>no active alerts</target>\n      </trans-unit>\n      <trans-unit id="b8042829e4fbe7b09fd9bac9fa0ecf5cc1802fee" datatype="html">\n        <source>1 active alert</source>\n        <target>1 active alert</target>\n      </trans-unit>\n      <trans-unit id="e24adce97669cb0fc74cc13fdc14179b6f78ea5e" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{n}}"/> active alerts\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{n}}"/> active alerts\n        </target>\n      </trans-unit>\n      <trans-unit id="d8fb058ff5883731d38a132da4ca45cfe8d719a3" datatype="html">\n        <source>Matches 1 rule</source>\n        <target>Matches 1 rule</target>\n      </trans-unit>\n      <trans-unit id="90aaef24d192e67c3fbc2ec6f8bfaff211cea128" datatype="html">\n        <source>Matches \n          <x id="INTERPOLATION" equiv-text="{{n}}"/> rules\n        </source>\n        <target>Matches \n          <x id="INTERPOLATION" equiv-text="{{n}}"/> rules\n        </target>\n      </trans-unit>\n      <trans-unit id="f4685dc581e18244cd410f1057a8c56a9dbfe8df" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rules}}"/> with \n          <x id="INTERPOLATION_1" equiv-text="{{alerts}}"/>.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rules}}"/> with \n          <x id="INTERPOLATION_1" equiv-text="{{alerts}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8fd98fb2a0f24ba72cde0787dd3f02cfc17de469" datatype="html">\n        <source>Quality of Service</source>\n        <target>Calidad del servicio</target>\n      </trans-unit>\n      <trans-unit id="2c53f3ce2c6fff9025a7b41cc334521725da6e7b" datatype="html">\n        <source>BPS Limit</source>\n        <target>Límite de BPS</target>\n      </trans-unit>\n      <trans-unit id="e897624a392419386b035bcd8529337e262fc41d" datatype="html">\n        <source>The desired limit of IO bytes per second.</source>\n        <target>El límite deseado de bytes de E/S por segundo.</target>\n      </trans-unit>\n      <trans-unit id="dc56f77e4507da7e86a3accd0a2a7099a838d539" datatype="html">\n        <source>IOPS Limit</source>\n        <target>Límite de IOPS</target>\n      </trans-unit>\n      <trans-unit id="141c3f6eadbb35b0e17b2f847e4cac23240a6ea9" datatype="html">\n        <source>The desired limit of IO operations per second.</source>\n        <target>El límite deseado de operaciones de E/S por segundo.</target>\n      </trans-unit>\n      <trans-unit id="3b3b101f16c38806e984b157e0cf22cd21451122" datatype="html">\n        <source>Read BPS Limit</source>\n        <target>Límite de BPS de lectura</target>\n      </trans-unit>\n      <trans-unit id="87835fabb6a645873f3829a450ca1d58f97754f2" datatype="html">\n        <source>The desired limit of read bytes per second.</source>\n        <target>El límite deseado de bytes de lectura por segundo.</target>\n      </trans-unit>\n      <trans-unit id="28b485e700df46d70b96666099f714e3ae9e5c2e" datatype="html">\n        <source>Read IOPS Limit</source>\n        <target>Límite de IOPS de lectura</target>\n      </trans-unit>\n      <trans-unit id="5907bd1a5cf3e20e740bca676cb1538372e1f9ff" datatype="html">\n        <source>The desired limit of read operations per second.</source>\n        <target>El límite deseado de operaciones de lectura por segundo.</target>\n      </trans-unit>\n      <trans-unit id="07317121f0b194987d4dee8b322f521ac17bf124" datatype="html">\n        <source>Write BPS Limit</source>\n        <target>Límite de BPS de escritura</target>\n      </trans-unit>\n      <trans-unit id="4022c78bd9132ca2ec67927f8484c437d1d9b6fd" datatype="html">\n        <source>The desired limit of write bytes per second.</source>\n        <target>El límite deseado de bytes de escritura por segundo.</target>\n      </trans-unit>\n      <trans-unit id="52c22c19f98ff3a09bd811292954a889b93d28b7" datatype="html">\n        <source>Write IOPS Limit</source>\n        <target>Límite de IOPS de escritura</target>\n      </trans-unit>\n      <trans-unit id="0ed62e3fd8654b3191fc7fa959ad3f10f1ea773a" datatype="html">\n        <source>The desired limit of write operations per second.</source>\n        <target>El límite deseado de operaciones de escritura por segundo.</target>\n      </trans-unit>\n      <trans-unit id="d90c99d77864f21f932ee1369019f400c4ad0e2d" datatype="html">\n        <source>BPS Burst</source>\n        <target>Ráfaga de BPS</target>\n      </trans-unit>\n      <trans-unit id="29c32192f4d185139aaaf6d3a766a3411dfeabbe" datatype="html">\n        <source>The desired burst limit of IO bytes.</source>\n        <target>El límite deseado de ráfaga de bytes de E/S.</target>\n      </trans-unit>\n      <trans-unit id="b988b90489e899941e196c3dd0ecc22e37540224" datatype="html">\n        <source>IOPS Burst</source>\n        <target>Ráfaga de IOPS</target>\n      </trans-unit>\n      <trans-unit id="02c5de8ff11870f1b3896f2b45637ce0dba1ed4b" datatype="html">\n        <source>The desired burst limit of IO operations.</source>\n        <target>El límite deseado de ráfaga de operaciones de E/S.</target>\n      </trans-unit>\n      <trans-unit id="7a160538129b37cf595f1651f28b5fac62fbc0f8" datatype="html">\n        <source>Read BPS Burst</source>\n        <target>Ráfaga de BPS de lectura</target>\n      </trans-unit>\n      <trans-unit id="b573a5df16a53b9947288461bc24e6a0eb4341d6" datatype="html">\n        <source>The desired burst limit of read bytes.</source>\n        <target>El límite deseado de ráfaga de bytes de lectura.</target>\n      </trans-unit>\n      <trans-unit id="1d5b8c2a0c653651cc4ca4b8fed9456f449220d1" datatype="html">\n        <source>Read IOPS Burst</source>\n        <target>Ráfaga de IOPS de lectura</target>\n      </trans-unit>\n      <trans-unit id="20b199f9d4a8d08ffefec66040e27639ec221512" datatype="html">\n        <source>The desired burst limit of read operations.</source>\n        <target>El límite deseado de ráfaga de operaciones de lectura.</target>\n      </trans-unit>\n      <trans-unit id="824525ae57992aee629ddffcd500a8b77087ddec" datatype="html">\n        <source>Write BPS Burst</source>\n        <target>Ráfaga de BPS de escritura</target>\n      </trans-unit>\n      <trans-unit id="a90aac4050a5d79765da5e1186909f6d4d7f981d" datatype="html">\n        <source>The desired burst limit of write bytes.</source>\n        <target>El límite deseado de ráfaga de bytes de escritura.</target>\n      </trans-unit>\n      <trans-unit id="35a8c6e6c249c7d16e26aa7c4ef97c06db405070" datatype="html">\n        <source>Write IOPS Burst</source>\n        <target>Ráfaga de IOPS de escritura</target>\n      </trans-unit>\n      <trans-unit id="b356abd41d7e9eea4d20c03d2e6892b6d435ecbd" datatype="html">\n        <source>The desired burst limit of write operations.</source>\n        <target>El límite deseado de ráfaga de operaciones de escritura.</target>\n      </trans-unit>\n      <trans-unit id="24c4d50fe8567de381a20a1745f1b6d37eacaa90" datatype="html">\n        <source>Failed to \n          <x id="INTERPOLATION" equiv-text="{{failure}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{metadata}}"/>\n        </source>\n        <target>Failed to \n          <x id="INTERPOLATION" equiv-text="{{failure}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{metadata}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="f54b6f09b390d5ade0e354f6c7d4743c10a315cc" datatype="html">\n        <source>Executing</source>\n        <target>Ejecutando</target>\n      </trans-unit>\n      <trans-unit id="5cdfe3e3330ea42bfd29c540dbd268bee97d364d" datatype="html">\n        <source>execute</source>\n        <target>ejecutar</target>\n      </trans-unit>\n      <trans-unit id="6e98e243518daa88be30330fcdbd2d10f8eae4d7" datatype="html">\n        <source>Executed</source>\n        <target>Ejecutado</target>\n      </trans-unit>\n      <trans-unit id="24b09aa5bd909273a023d2d788a2673325c77e31" datatype="html">\n        <source>unknown task</source>\n        <target>tarea desconocida</target>\n      </trans-unit>\n      <trans-unit id="114b5f92b9192b229ffc9a450319a97ccca2aa5c" datatype="html">\n        <source>Creating</source>\n        <target>Creando</target>\n      </trans-unit>\n      <trans-unit id="56695b69d27437ada580a187958407e7c856d46e" datatype="html">\n        <source>create</source>\n        <target>crear</target>\n      </trans-unit>\n      <trans-unit id="9db60170ef3b3b41a863e7d5ee7cec10919b9141" datatype="html">\n        <source>Updating</source>\n        <target>Actualizando</target>\n      </trans-unit>\n      <trans-unit id="64412640835b7d25247cb254d4f911366c0e6862" datatype="html">\n        <source>update</source>\n        <target>actualizar</target>\n      </trans-unit>\n      <trans-unit id="416193bb373d59477458b00e5922d755e2e2cacd" datatype="html">\n        <source>Deleting</source>\n        <target>Suprimiendo</target>\n      </trans-unit>\n      <trans-unit id="70ef158c584bafe788e319a0bffa11b02ee9abf1" datatype="html">\n        <source>delete</source>\n        <target>suprimir</target>\n      </trans-unit>\n      <trans-unit id="d07a282afc7fbdb39cea6e1c9b544882a7260a86" datatype="html">\n        <source>Adding</source>\n        <target>Adding</target>\n      </trans-unit>\n      <trans-unit id="a11ec4e640f241329943237d2a3cceaa4823658e" datatype="html">\n        <source>add</source>\n        <target>add</target>\n      </trans-unit>\n      <trans-unit id="ea1c70b874904216cc5af24bd7cb3dab2d074d42" datatype="html">\n        <source>Removing</source>\n        <target>Removing</target>\n      </trans-unit>\n      <trans-unit id="4da487aec5a29ce4372e7b512227cd665b01fe6f" datatype="html">\n        <source>remove</source>\n        <target>remove</target>\n      </trans-unit>\n      <trans-unit id="3f757cfc3749ebb5d4462017cb60138ca082f15f" datatype="html">\n        <source>RBD \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>RBD \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="a6c681e6130fe440ae40de99a405fcf5c7eefee1" datatype="html">\n        <source>RBD snapshot \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>RBD snapshot \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="4fb54a0291f49583c317d4a3690239141b5a8f68" datatype="html">\n        <source>mirror mode for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>mirror mode for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="6621ab6e122a149326a1e48e9051a41e7f203cf6" datatype="html">\n        <source>mirror peer for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>mirror peer for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="db15adc778317d551232fe712eb03a2c1eac4a43" datatype="html">\n        <source>all dashboards</source>\n        <target>all dashboards</target>\n      </trans-unit>\n      <trans-unit id="1b559dbd9cc9664fd788c2da9a10d3abafe066cb" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8fc28e1103d9f2ef47b9fff9a4f74e8365c7cf19" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="1cdc7ea44fcb85d0cfcf6e7379d625d8674a8fbe" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="1ff7676ad1e991102224540a32dd44ad1ab88aa8" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.\n        </target>\n      </trans-unit>\n      <trans-unit id="c3a1dcca2b2ba20fbe39e2441e7bb1cf9c20cdf3" datatype="html">\n        <source>Cloning</source>\n        <target>Clonando</target>\n      </trans-unit>\n      <trans-unit id="b5fa4e0a3a279dee5b6bf7b823e54387f7c79994" datatype="html">\n        <source>clone</source>\n        <target>clonar</target>\n      </trans-unit>\n      <trans-unit id="29b7452e8367af9aa8fa828f16ff94c3530e7a1a" datatype="html">\n        <source>Snapshot of \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> must be protected.\n        </source>\n        <target>Snapshot of \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> must be protected.\n        </target>\n      </trans-unit>\n      <trans-unit id="369f93b9a07a9465f7a261e9f0021b6cfa7180c5" datatype="html">\n        <source>Copying</source>\n        <target>Copiando</target>\n      </trans-unit>\n      <trans-unit id="37584f889855d153a106f5dffe23d21f9453c8ff" datatype="html">\n        <source>copy</source>\n        <target>copiar</target>\n      </trans-unit>\n      <trans-unit id="6ea9e313a04ef59222feaadfe84e97b4c69d7e9e" datatype="html">\n        <source>Flattening</source>\n        <target>Aplanando</target>\n      </trans-unit>\n      <trans-unit id="1f57593581b64d2d4c70eab1736bd9bccc66a7dc" datatype="html">\n        <source>flatten</source>\n        <target>aplanar</target>\n      </trans-unit>\n      <trans-unit id="d990ef9680cd23bbe652c37eb46bf038cfee80ad" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="a101745d080ef65c09bd5fafc796f94ddb9f9d60" datatype="html">\n        <source>Cannot unprotect \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it contains child images.\n        </source>\n        <target>Cannot unprotect \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it contains child images.\n        </target>\n      </trans-unit>\n      <trans-unit id="647968f4cde7786cd53ec8e6aa9802ac6824a262" datatype="html">\n        <source>Cannot delete \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it\'s protected.\n        </source>\n        <target>Cannot delete \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it\'s protected.\n        </target>\n      </trans-unit>\n      <trans-unit id="57ddd3e15cf0ce974356b757451f50116a27272b" datatype="html">\n        <source>Rolling back</source>\n        <target>Revirtiendo</target>\n      </trans-unit>\n      <trans-unit id="a8913a3a5ee61f2598b5f0432cb9b20cdd60548e" datatype="html">\n        <source>rollback</source>\n        <target>revertir</target>\n      </trans-unit>\n      <trans-unit id="de8676f0017c9db6c49388cd7d63cd0a83a0c1dc" datatype="html">\n        <source>Moving</source>\n        <target>Moviendo</target>\n      </trans-unit>\n      <trans-unit id="2d810712308ae63cb795d809687a3254ef7a2f05" datatype="html">\n        <source>move</source>\n        <target>mover</target>\n      </trans-unit>\n      <trans-unit id="f3ba995236e5c1cc77686108980c099a90aec754" datatype="html">\n        <source>Moved</source>\n        <target>Movido</target>\n      </trans-unit>\n      <trans-unit id="d0422169252d132624a20f267b5c29f28cb53ebe" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' to trash\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' to trash\n        </target>\n      </trans-unit>\n      <trans-unit id="b603e2dfed9808222fbcb5a7c5f4da2cc6ae2aae" datatype="html">\n        <source>Could not find image.</source>\n        <target>No se encuentra la imagen.</target>\n      </trans-unit>\n      <trans-unit id="398debe73006b1fe5177ed81d2e7b0cc852f61ec" datatype="html">\n        <source>Restoring</source>\n        <target>Restaurando</target>\n      </trans-unit>\n      <trans-unit id="c252806fb400e79bac194696632c9362742b1538" datatype="html">\n        <source>restore</source>\n        <target>restaurar</target>\n      </trans-unit>\n      <trans-unit id="30b8bcf69b3f1754b7abba173fd806cfcea4cb04" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' into \'\n          <x id="INTERPOLATION_1" equiv-text="{{new_id}}"/>\'\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' into \'\n          <x id="INTERPOLATION_1" equiv-text="{{new_id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="13b7b241cef989fe0932ddd180e757658e1817e7" datatype="html">\n        <source>Image name \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' is already in use.\n        </source>\n        <target>Image name \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' is already in use.\n        </target>\n      </trans-unit>\n      <trans-unit id="cc1cee12c833e8fbbef28a2a7c449dc530da912d" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="38e5f47f8bef505652f3e87f46efb00ead1350a3" datatype="html">\n        <source>Purging</source>\n        <target>Limpiando</target>\n      </trans-unit>\n      <trans-unit id="e4e57747f123f0fe6fe3a0ecf608f8bc287dec0c" datatype="html">\n        <source>purge</source>\n        <target>limpiar</target>\n      </trans-unit>\n      <trans-unit id="1560d58fdf39663929653250d45f5b1dfe078fea" datatype="html">\n        <source>all pools</source>\n        <target>todos los repositorios</target>\n      </trans-unit>\n      <trans-unit id="1ac3dc50c2c3d86e98bc0967ee1e696810a2d3aa" datatype="html">\n        <source>images from \n          <x id="INTERPOLATION" equiv-text="{{message}}"/>\n        </source>\n        <target>images from \n          <x id="INTERPOLATION" equiv-text="{{message}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="02278abbb044ece04ab6bd80bd2060198d31d83b" datatype="html">\n        <source>Cannot disable mirroring because it contains a peer.</source>\n        <target>No es posible inhabilitar la duplicación porque contiene un par</target>\n      </trans-unit>\n      <trans-unit id="f123ae1fc3b000e5d08e766dd78bff162afe709d" datatype="html">\n        <source>host \'\n          <x id="INTERPOLATION" equiv-text="{{hostname}}"/>\'\n        </source>\n        <target>host \'\n          <x id="INTERPOLATION" equiv-text="{{hostname}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="dfe70001dc590a9e12512cbb206aa29fb36fd00b" datatype="html">\n        <source>pool \'\n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>\'\n        </source>\n        <target>pool \'\n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="59630daf2f4786690fae0cdad55da8887236eabe" datatype="html">\n        <source>erasure code profile \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </source>\n        <target>erasure code profile \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="369462e5e018360e0600bb570866201ad5c3c8a8" datatype="html">\n        <source>target \'\n          <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>\'\n        </source>\n        <target>target \'\n          <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="cf41310917cb19b335e5a950972bbff2346f7a47" datatype="html">\n        <source>NFS \n          <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>\n        </source>\n        <target>NFS \n          <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="54bf6542e39412f83ec883266f443e31b304c937" datatype="html">\n        <source>Required rules for password complexity:\n    - must contain at least 8 characters\n    - cannot contain username\n    - cannot contain any keyword used in Ceph\n    - cannot contain any repetitive characters e.g. "aaa"\n    - cannot contain any sequencial characters e.g. "abc"\n    - must consist of characters from the following groups:\n      * alphabetic a-z, A-Z\n      * numbers 0-9\n      * special chars: !"#$%&amp; \'()*+,-./:;&lt;=&gt;?@[\\]^_`\n          <x id="INTERPOLATION" equiv-text="{{|}}"/>~\n      * any other characters (signs)\n        </source>\n        <target>Required rules for password complexity:\n    - must contain at least 8 characters\n    - cannot contain username\n    - cannot contain any keyword used in Ceph\n    - cannot contain any repetitive characters e.g. "aaa"\n    - cannot contain any sequencial characters e.g. "abc"\n    - must consist of characters from the following groups:\n      * alphabetic a-z, A-Z\n      * numbers 0-9\n      * special chars: !"#$%&amp; \'()*+,-./:;&lt;=&gt;?@[\\]^_`\n          <x id="INTERPOLATION" equiv-text="{{|}}"/>~\n      * any other characters (signs)\n        </target>\n      </trans-unit>\n      <trans-unit id="ba575e9364b43dc870e332265c5182bb357b7a49" datatype="html">\n        <source>Weak</source>\n        <target>Weak</target>\n      </trans-unit>\n      <trans-unit id="7e6c975ebea8b5f8b120905ca7acf9f8edf59d8e" datatype="html">\n        <source>OK</source>\n        <target>OK</target>\n      </trans-unit>\n      <trans-unit id="3f7349017a01eed18c3daf2b7295ca96ef442eb6" datatype="html">\n        <source>Strong</source>\n        <target>Strong</target>\n      </trans-unit>\n      <trans-unit id="a1e3aecc2022cb0ebed8575a24d0e29d2de815c6" datatype="html">\n        <source>Very strong</source>\n        <target>Very strong</target>\n      </trans-unit>\n    </body>\n  </file>\n</xliff>'},"z+Ro":function(t,e,n){"use strict";function a(t){return t&&"function"==typeof t.schedule}n.d(e,"a",(function(){return a}))},"z/SZ":function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var a=n("8Y7J"),r=n("hpHm");class o{constructor(t,e,n){this.nodes=t,this.viewRef=e,this.componentRef=n}}class i{constructor(t,e,n,r,o,i,s,c){this._viewContainerRef=t,this._renderer=e,this._elementRef=n,this._injector=r,this._componentFactoryResolver=o,this._ngZone=i,this._applicationRef=s,this._posService=c,this.onBeforeShow=new a.EventEmitter,this.onShown=new a.EventEmitter,this.onBeforeHide=new a.EventEmitter,this.onHidden=new a.EventEmitter,this._providers=[],this._isHiding=!1,this.containerDefaultSelector="body",this._listenOpts={},this._globalListener=Function.prototype}get isShown(){return!this._isHiding&&!!this._componentRef}attach(t){return this._componentFactory=this._componentFactoryResolver.resolveComponentFactory(t),this}to(t){return this.container=t||this.container,this}position(t){return this.attachment=t.attachment||this.attachment,this._elementRef=t.target||this._elementRef,this}provide(t){return this._providers.push(t),this}show(t={}){if(this._subscribePositioning(),this._innerComponent=null,!this._componentRef){this.onBeforeShow.emit(),this._contentRef=this._getContentRef(t.content,t.context,t.initialState);const e=a.Injector.create({providers:this._providers,parent:this._injector});this._componentRef=this._componentFactory.create(e,this._contentRef.nodes),this._applicationRef.attachView(this._componentRef.hostView),this.instance=this._componentRef.instance,Object.assign(this._componentRef.instance,t),this.container instanceof a.ElementRef&&this.container.nativeElement.appendChild(this._componentRef.location.nativeElement),"string"==typeof this.container&&"undefined"!=typeof document&&(document.querySelector(this.container)||document.querySelector(this.containerDefaultSelector)).appendChild(this._componentRef.location.nativeElement),!this.container&&this._elementRef&&this._elementRef.nativeElement.parentElement&&this._elementRef.nativeElement.parentElement.appendChild(this._componentRef.location.nativeElement),this._contentRef.componentRef&&(this._innerComponent=this._contentRef.componentRef.instance,this._contentRef.componentRef.changeDetectorRef.markForCheck(),this._contentRef.componentRef.changeDetectorRef.detectChanges()),this._componentRef.changeDetectorRef.markForCheck(),this._componentRef.changeDetectorRef.detectChanges(),this.onShown.emit(this._componentRef.instance)}return this._registerOutsideClick(),this._componentRef}hide(){if(!this._componentRef)return this;this._posService.deletePositionElement(this._componentRef.location),this.onBeforeHide.emit(this._componentRef.instance);const t=this._componentRef.location.nativeElement;return t.parentNode.removeChild(t),this._contentRef.componentRef&&this._contentRef.componentRef.destroy(),this._componentRef.destroy(),this._viewContainerRef&&this._contentRef.viewRef&&this._viewContainerRef.remove(this._viewContainerRef.indexOf(this._contentRef.viewRef)),this._contentRef.viewRef&&this._contentRef.viewRef.destroy(),this._contentRef=null,this._componentRef=null,this._removeGlobalListener(),this.onHidden.emit(),this}toggle(){this.isShown?this.hide():this.show()}dispose(){this.isShown&&this.hide(),this._unsubscribePositioning(),this._unregisterListenersFn&&this._unregisterListenersFn()}listen(t){this.triggers=t.triggers||this.triggers,this._listenOpts.outsideClick=t.outsideClick,this._listenOpts.outsideEsc=t.outsideEsc,t.target=t.target||this._elementRef.nativeElement;const e=this._listenOpts.hide=()=>t.hide?t.hide():void this.hide(),n=this._listenOpts.show=e=>{t.show?t.show(e):this.show(e),e()};return this._unregisterListenersFn=Object(r.e)(this._renderer,{target:t.target,triggers:t.triggers,show:n,hide:e,toggle:t=>{this.isShown?e():n(t)}}),this}_removeGlobalListener(){this._globalListener&&(this._globalListener(),this._globalListener=null)}attachInline(t,e){return this._inlineViewRef=t.createEmbeddedView(e),this}_registerOutsideClick(){if(this._componentRef&&this._componentRef.location){if(this._listenOpts.outsideClick){const t=this._componentRef.location.nativeElement;setTimeout(()=>{this._globalListener=Object(r.h)(this._renderer,{targets:[t,this._elementRef.nativeElement],outsideClick:this._listenOpts.outsideClick,hide:()=>this._listenOpts.hide()})})}if(this._listenOpts.outsideEsc){const t=this._componentRef.location.nativeElement;this._globalListener=Object(r.g)(this._renderer,{targets:[t,this._elementRef.nativeElement],outsideEsc:this._listenOpts.outsideEsc,hide:()=>this._listenOpts.hide()})}}}getInnerComponent(){return this._innerComponent}_subscribePositioning(){!this._zoneSubscription&&this.attachment&&(this.onShown.subscribe(()=>{this._posService.position({element:this._componentRef.location,target:this._elementRef,attachment:this.attachment,appendToBody:"body"===this.container})}),this._zoneSubscription=this._ngZone.onStable.subscribe(()=>{this._componentRef&&this._posService.calcPosition()}))}_unsubscribePositioning(){this._zoneSubscription&&(this._zoneSubscription.unsubscribe(),this._zoneSubscription=null)}_getContentRef(t,e,n){if(!t)return new o([]);if(t instanceof a.TemplateRef){if(this._viewContainerRef){const n=this._viewContainerRef.createEmbeddedView(t,e);return n.markForCheck(),new o([n.rootNodes],n)}const n=t.createEmbeddedView({});return this._applicationRef.attachView(n),new o([n.rootNodes],n)}if("function"==typeof t){const e=this._componentFactoryResolver.resolveComponentFactory(t),r=a.Injector.create({providers:this._providers,parent:this._injector}),i=e.create(r);return Object.assign(i.instance,n),this._applicationRef.attachView(i.hostView),new o([[i.location.nativeElement]],i.hostView,i)}return new o([[this._renderer.createText(`${t}`)]])}}class s{constructor(t,e,n,a,r){this._componentFactoryResolver=t,this._ngZone=e,this._injector=n,this._posService=a,this._applicationRef=r}createLoader(t,e,n){return new i(e,n,t,this._injector,this._componentFactoryResolver,this._ngZone,this._applicationRef,this._posService)}}},z1FC:function(t,e,n){!function(t){"use strict";function e(t,e,n,a){var r={s:["viensas secunds","'iensas secunds"],ss:[t+" secunds",t+" secunds"],m:["'n míut","'iens míut"],mm:[t+" míuts",t+" míuts"],h:["'n þora","'iensa þora"],hh:[t+" þoras",t+" þoras"],d:["'n ziua","'iensa ziua"],dd:[t+" ziuas",t+" ziuas"],M:["'n mes","'iens mes"],MM:[t+" mesen",t+" mesen"],y:["'n ar","'iens ar"],yy:[t+" ars",t+" ars"]};return a?r[n][0]:e?r[n][0]:r[n][1]}t.defineLocale("tzl",{months:"Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar".split("_"),monthsShort:"Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec".split("_"),weekdays:"Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi".split("_"),weekdaysShort:"Súl_Lún_Mai_Már_Xhú_Vié_Sát".split("_"),weekdaysMin:"Sú_Lú_Ma_Má_Xh_Vi_Sá".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM [dallas] YYYY",LLL:"D. MMMM [dallas] YYYY HH.mm",LLLL:"dddd, [li] D. MMMM [dallas] YYYY HH.mm"},meridiemParse:/d\'o|d\'a/i,isPM:function(t){return"d'o"===t.toLowerCase()},meridiem:function(t,e,n){return t>11?n?"d'o":"D'O":n?"d'a":"D'A"},calendar:{sameDay:"[oxhi à] LT",nextDay:"[demà à] LT",nextWeek:"dddd [à] LT",lastDay:"[ieiri à] LT",lastWeek:"[sür el] dddd [lasteu à] LT",sameElse:"L"},relativeTime:{future:"osprei %s",past:"ja%s",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("wd/R"))},z3Vd:function(t,e,n){!function(t){"use strict";var e="pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut".split("_");function n(t,n,a,r){var o=function(t){var n=Math.floor(t%1e3/100),a=Math.floor(t%100/10),r=t%10,o="";return n>0&&(o+=e[n]+"vatlh"),a>0&&(o+=(""!==o?" ":"")+e[a]+"maH"),r>0&&(o+=(""!==o?" ":"")+e[r]),""===o?"pagh":o}(t);switch(a){case"ss":return o+" lup";case"mm":return o+" tup";case"hh":return o+" rep";case"dd":return o+" jaj";case"MM":return o+" jar";case"yy":return o+" DIS"}}t.defineLocale("tlh",{months:"tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’".split("_"),monthsShort:"jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’".split("_"),monthsParseExact:!0,weekdays:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysShort:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysMin:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[DaHjaj] LT",nextDay:"[wa’leS] LT",nextWeek:"LLL",lastDay:"[wa’Hu’] LT",lastWeek:"LLL",sameElse:"L"},relativeTime:{future:function(t){var e=t;return-1!==t.indexOf("jaj")?e.slice(0,-3)+"leS":-1!==t.indexOf("jar")?e.slice(0,-3)+"waQ":-1!==t.indexOf("DIS")?e.slice(0,-3)+"nem":e+" pIq"},past:function(t){var e=t;return-1!==t.indexOf("jaj")?e.slice(0,-3)+"Hu’":-1!==t.indexOf("jar")?e.slice(0,-3)+"wen":-1!==t.indexOf("DIS")?e.slice(0,-3)+"ben":e+" ret"},s:"puS lup",ss:n,m:"wa’ tup",mm:n,h:"wa’ rep",hh:n,d:"wa’ jaj",dd:n,M:"wa’ jar",MM:n,y:"wa’ DIS",yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("wd/R"))},z5nN:function(t,e,n){"use strict";n.d(e,"b",(function(){return c})),n.d(e,"a",(function(){return g}));var a=n("8Y7J"),r=n("LqlI"),o=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function i(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"div",[["role","document"]],[[8,"className",0]],null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,1,"div",[["class","modal-content"]],null,null,null,null,null)),a["ɵncd"](null,0)],null,(function(t,e){var n=e.component;t(e,0,0,"modal-dialog"+(n.config.class?" "+n.config.class:""))}))}function s(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"modal-container",[["class","modal"],["role","dialog"],["tabindex","-1"]],[[1,"aria-modal",0]],[[null,"click"],["window","keydown.esc"]],(function(t,e,n){var r=!0;return"click"===e&&(r=!1!==a["ɵnov"](t,1).onClick(n)&&r),"window:keydown.esc"===e&&(r=!1!==a["ɵnov"](t,1).onEsc(n)&&r),r}),i,o)),a["ɵdid"](1,245760,null,0,r.d,[r.f,a.ElementRef,a.Renderer2],null,null)],(function(t,e){t(e,1,0)}),(function(t,e){t(e,0,0,!0)}))}var c=a["ɵccf"]("modal-container",r.d,s,{},{},["*"]),l=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function d(t){return a["ɵvid"](0,[],null,null)}function u(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"bs-modal-backdrop",[["class","modal-backdrop"]],null,null,null,d,l)),a["ɵdid"](1,114688,null,0,r.c,[a.ElementRef,a.Renderer2],null,null)],(function(t,e){t(e,1,0)}),null)}var g=a["ɵccf"]("bs-modal-backdrop",r.c,u,{},{},[])},z6cu:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("HDdC");function r(t,e){return new a.a(e?n=>e.schedule(o,0,{error:t,subscriber:n}):e=>e.error(t))}function o({error:t,subscriber:e}){e.error(t)}},zBJ4:function(t,e,n){var a=n("2oRo"),r=n("hh1v"),o=a.document,i=r(o)&&r(o.createElement);t.exports=function(t){return i?o.createElement(t):{}}},zEVN:function(t,e,n){var a=n("Gi0A"),r=n("sEf8"),o=n("mdPL"),i=o&&o.isMap,s=i?r(i):a;t.exports=s},zKZe:function(t,e,n){var a=n("I+eb"),r=n("YNrV");a({target:"Object",stat:!0,forced:Object.assign!==r},{assign:r})},zUnb:function(t,e,n){"use strict";n.r(e);var a=n("tAZD"),r=n.n(a),o=n("SVse"),i=n("8Y7J");function s(){return localStorage.getItem("access_token")}const c=t=>{t=t||"en-US";try{return n("F+uO")(`./messages.${t}.xlf`).default}catch(e){return[]}};class l{}class d{constructor(){}}var u=n("EApP"),g=i["ɵcrt"]({encapsulation:2,styles:[],data:{animation:[{type:7,name:"flyInOut",definitions:[{type:0,name:"inactive",styles:{type:6,styles:{opacity:0},offset:null},options:void 0},{type:0,name:"active",styles:{type:6,styles:{opacity:1},offset:null},options:void 0},{type:0,name:"removed",styles:{type:6,styles:{opacity:0},offset:null},options:void 0},{type:1,expr:"inactive => active",animation:{type:4,styles:null,timings:"{{ easeTime }}ms {{ easing }}"},options:null},{type:1,expr:"active => removed",animation:{type:4,styles:null,timings:"{{ easeTime }}ms {{ easing }}"},options:null}],options:{}}]}});function f(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"button",[["aria-label","Close"],["class","toast-close-button"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.remove()&&a),a}),null,null)),(t()(),i["ɵeld"](1,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["×"]))],null,null)}function p(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](1,null,["[","]"]))],null,(function(t,e){t(e,1,0,e.component.duplicatesCount+1)}))}function m(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"div",[],[[8,"className",0],[1,"aria-label",0]],null,null,null,null)),(t()(),i["ɵted"](1,null,[" "," "])),(t()(),i["ɵand"](16777216,null,null,1,null,p)),i["ɵdid"](3,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){t(e,3,0,e.component.duplicatesCount)}),(function(t,e){var n=e.component;t(e,0,0,n.options.titleClass,n.title),t(e,1,0,n.title)}))}function h(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,0,"div",[["aria-live","polite"],["role","alertdialog"]],[[8,"className",0],[8,"innerHTML",1]],null,null,null,null))],null,(function(t,e){var n=e.component;t(e,0,0,n.options.messageClass,n.message)}))}function b(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"div",[["aria-live","polite"],["role","alertdialog"]],[[8,"className",0],[1,"aria-label",0]],null,null,null,null)),(t()(),i["ɵted"](1,null,[" "," "]))],null,(function(t,e){var n=e.component;t(e,0,0,n.options.messageClass,n.message),t(e,1,0,n.message)}))}function _(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"div",[],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,0,"div",[["class","toast-progress"]],[[4,"width",null]],null,null,null,null))],null,(function(t,e){t(e,1,0,e.component.width+"%")}))}function y(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,f)),i["ɵdid"](1,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,m)),i["ɵdid"](3,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,h)),i["ɵdid"](5,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,b)),i["ɵdid"](7,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,_)),i["ɵdid"](9,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0,n.options.closeButton),t(e,3,0,n.title),t(e,5,0,n.message&&n.options.enableHtml),t(e,7,0,n.message&&!n.options.enableHtml),t(e,9,0,n.options.progressBar)}),null)}function O(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"div",[["toast-component",""]],[[8,"className",0],[40,"@flyInOut",0],[4,"display",null]],[[null,"click"],[null,"mouseenter"],[null,"mouseleave"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,1).tapToast()&&a),"mouseenter"===e&&(a=!1!==i["ɵnov"](t,1).stickAround()&&a),"mouseleave"===e&&(a=!1!==i["ɵnov"](t,1).delayedHideToast()&&a),a}),y,g)),i["ɵdid"](1,180224,null,0,u.c,[u.j,u.g,i.NgZone],null,null)],null,(function(t,e){t(e,0,0,i["ɵnov"](e,1).toastClasses,i["ɵnov"](e,1).state,i["ɵnov"](e,1).displayStyle)}))}var v=i["ɵccf"]("[toast-component]",u.c,O,{},{},[]),C=n("pMnS"),P=n("jtHE");let M=(()=>{class t{}return t.START="start",t.STOP="stop",t.UPDATE="update",t.RESET="reset",t.UNSUBSCRIBE="unsubscribe",t})();class x{constructor(){this.blockUISettings={},this.blockUIInstances={},this.blockUISubject=new P.a,this.blockUIObservable=this.blockUISubject.asObservable(),this.blockUIObservable.subscribe(this.blockUIMiddleware.bind(this))}getSettings(){return this.blockUISettings}updateSettings(t={}){this.blockUISettings=Object.assign({},this.blockUISettings,t)}decorate(t="block-ui-main"){const e={name:t,isActive:!1,blockCount:0,start:this.dispatch(this.blockUISubject,M.START,t),update:this.dispatch(this.blockUISubject,M.UPDATE,t),stop:this.dispatch(this.blockUISubject,M.STOP,t),reset:this.dispatch(this.blockUISubject,M.RESET,t),unsubscribe:this.dispatch(this.blockUISubject,M.UNSUBSCRIBE,t)};return this.blockUIInstances[t]=this.blockUIInstances[t]||e,e}observe(){return this.blockUIObservable}blockUIMiddleware({action:t,name:e}){let n=null;switch(t){case M.START:n=!0;break;case M.STOP:case M.RESET:n=!1}null!==n&&(this.blockUIInstances[e].isActive=n)}dispatch(t,e,n="block-ui-main"){return a=>{t.next({name:n,action:e,message:a})}}}class w{constructor(t){this.blockUI=t}ngOnInit(){this.name=this.name||"block-ui-main",this.template=this.template||this.blockUI.blockUISettings.template}}class T{constructor(t,e,n){this.blockUI=t,this.resolver=e,this.changeDetectionRef=n,this.name="block-ui-main",this.delayStart=0,this.delayStop=0,this.state={startTimeout:null,stopTimeout:null,blockCount:0},this.active=!1}ngOnInit(){this.settings=this.blockUI.getSettings(),this.blockUISubscription=this.subscribeToBlockUI(this.blockUI.observe())}ngAfterViewInit(){try{if(!this.templateCmp)return!1;if(this.templateCmp instanceof i.TemplateRef)this.templateOutlet.createEmbeddedView(this.templateCmp);else{const t=this.resolver.resolveComponentFactory(this.templateCmp);this.templateCompRef=this.templateOutlet.createComponent(t),this.updateBlockTemplate(this.message)}}catch(t){console.error("ng-block-ui:",t)}}ngAfterViewChecked(){this.detectChanges()}subscribeToBlockUI(t){return t.subscribe(t=>this.onDispatchedEvent(t))}onDispatchedEvent(t){switch(t.action){case M.START:this.onStart(t);break;case M.STOP:this.onStop(t);break;case M.UPDATE:this.onUpdate(t);break;case M.RESET:this.onReset();break;case M.UNSUBSCRIBE:this.onStop(t),this.onUnsubscribe(t.name)}}onStart({name:t,message:e}){if(t===this.name){const t=this.delayStart||this.settings.delayStart||0;null===this.state.startTimeout&&(this.state.startTimeout=setTimeout(()=>{this.showBlock(e)},t)),this.state.blockCount++,this.updateInstanceBlockCount()}}onStop({name:t}){if(t===this.name){const t=this.delayStop||this.settings.delayStop||0;this.state.blockCount>1?this.state.blockCount--:this.active?null===this.state.stopTimeout&&(this.state.stopTimeout=setTimeout(()=>{this.hideBlock()},t)):this.clearState(),this.updateInstanceBlockCount()}}onReset(){this.hideBlock()}onUpdate({name:t,message:e}){t===this.name&&setTimeout(()=>{this.message=e||this.defaultMessage||this.settings.message,this.updateBlockTemplate(this.message),this.detectChanges()},this.delayStart||this.settings.delayStart||0)}showBlock(t){this.active=!0,this.message=t||this.defaultMessage||this.settings.message,this.updateBlockTemplate(this.message),this.detectChanges()}hideBlock(){this.clearState(),this.active=!1,this.detectChanges()}clearState(){null!=this.state.startTimeout&&clearTimeout(this.state.startTimeout),null!=this.state.stopTimeout&&clearTimeout(this.state.stopTimeout),this.state.blockCount=0,this.state.startTimeout=null,this.state.stopTimeout=null,this.updateInstanceBlockCount()}updateBlockTemplate(t){this.templateCompRef&&this.templateCompRef instanceof i.ComponentRef&&(this.templateCompRef.instance.message=t)}onUnsubscribe(t){this.blockUISubscription&&t===this.name&&this.blockUISubscription.unsubscribe()}updateInstanceBlockCount(){this.blockUI.blockUIInstances[this.name]&&(this.blockUI.blockUIInstances[this.name].blockCount=this.state.blockCount)}detectChanges(){this.changeDetectionRef.destroyed||this.changeDetectionRef.detectChanges()}ngOnDestroy(){this.onUnsubscribe(this.name)}}class k{constructor(t){this.blockUIInstance=t}start(t,e){this.dispatch(t,M.START,e)}stop(t){this.dispatch(t,M.STOP)}reset(t){this.dispatch(t,M.RESET)}unsubscribe(t){this.dispatch(t,M.UNSUBSCRIBE)}isActive(t=null){const e=t?this.toArray(t):null,n=this.blockUIInstance.blockUIInstances;return Object.keys(n).some(t=>e?e.indexOf(n[t].name)>=0&&n[t].isActive:n[t].isActive)}dispatch(t=[],e,n){this.toArray(t).forEach(t=>this.blockUIInstance.decorate(t)[e](n))}toArray(t=[]){return"string"==typeof t?[t]:t}}const S=new x,I=new i.InjectionToken("BlockUIModuleSettings");function N(t){return S.updateSettings(t),S}class R{static forRoot(t={}){return{ngModule:R,providers:[{provide:I,useValue:t},{provide:x,useFactory:N,deps:[I]},k]}}}var A=i["ɵcrt"]({encapsulation:2,styles:[],data:{}});function E(t){return i["ɵvid"](0,[i["ɵncd"](null,0),(t()(),i["ɵeld"](1,0,null,null,1,"block-ui-content",[],null,null,null,G,q)),i["ɵdid"](2,12828672,null,0,T,[x,i.ComponentFactoryResolver,i.ChangeDetectorRef],{name:[0,"name"],delayStart:[1,"delayStart"],delayStop:[2,"delayStop"],defaultMessage:[3,"defaultMessage"],templateCmp:[4,"templateCmp"]},null)],(function(t,e){var n=e.component;t(e,2,0,n.name,n.delayStart,n.delayStop,n.message,n.template)}),null)}function D(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"block-ui",[],null,null,null,E,A)),i["ɵdid"](1,114688,null,0,w,[x],null,null)],(function(t,e){t(e,1,0)}),null)}var L=i["ɵccf"]("block-ui",w,D,{name:"name",message:"message",delayStart:"delayStart",delayStop:"delayStop",template:"template"},{},["*"]),q=i["ɵcrt"]({encapsulation:2,styles:["\n.block-ui-wrapper {\n  display: none;\n  position: fixed;\n  height: 100%;\n  width: 100%;\n  top: 0;\n  left: 0;\n  background: rgba(0, 0, 0, 0.70);\n  z-index: 30000;\n  cursor: wait;\n}\n\n.block-ui-wrapper.block-ui-wrapper--element {\n  position: absolute;\n}\n\n.block-ui-wrapper.active {\n  display: block;\n}\n\n.block-ui-wrapper.block-ui-main {\n  position: fixed;\n}\n\n.block-ui-spinner,\n.block-ui-template {\n  position: absolute;\n  top: 40%;\n  margin: 0 auto;\n  left: 0;\n  right: 0;\n  transform: translateY(-50%);\n}\n\n.block-ui-spinner > .message {\n  font-size: 1.3em;\n  text-align: center;\n  color: #fff;\n}\n\n.block-ui__element {\n  position: relative;\n}\n\n.loader,\n.loader:after {\n  border-radius: 50%;\n  width: 10em;\n  height: 10em;\n}\n.loader {\n  margin: 7px auto;\n  font-size: 5px;\n  position: relative;\n  text-indent: -9999em;\n  border-top: 1.1em solid rgba(255, 255, 255, 0.2);\n  border-right: 1.1em solid rgba(255, 255, 255, 0.2);\n  border-bottom: 1.1em solid rgba(255, 255, 255, 0.2);\n  border-left: 1.1em solid #ffffff;\n  -webkit-transform: translateZ(0);\n  -ms-transform: translateZ(0);\n  transform: translateZ(0);\n  -webkit-animation: load8 1.1s infinite linear;\n  animation: load8 1.1s infinite linear;\n}\n\n@-webkit-keyframes load8 {\n  0% {\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n  100% {\n    -webkit-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n\n@keyframes load8 {\n  0% {\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n  100% {\n    -webkit-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n"],data:{}});function j(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"div",[["class","message"]],null,null,null,null,null)),(t()(),i["ɵted"](1,null,[" "," "]))],null,(function(t,e){var n=e.component;t(e,1,0,n.message||n.defaultMessage)}))}function F(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"div",[["class","block-ui-spinner"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,0,"div",[["class","loader"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,j)),i["ɵdid"](3,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,3,0,n.message||n.defaultMessage)}),null)}function z(t){return i["ɵvid"](0,[(t()(),i["ɵand"](0,null,null,0))],null,null)}function V(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,[[1,3],["templateOutlet",2]],null,0,null,z)),(t()(),i["ɵand"](0,null,null,0))],null,null)}function G(t){return i["ɵvid"](0,[i["ɵqud"](671088640,1,{templateOutlet:0}),(t()(),i["ɵeld"](1,0,null,null,7,"div",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](3,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),i["ɵpod"](4,{active:0}),(t()(),i["ɵand"](16777216,null,null,1,null,F)),i["ɵdid"](6,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,V)),i["ɵdid"](8,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component,a=i["ɵinlineInterpolate"](2,"block-ui-wrapper ",n.name," ",n.className,""),r=t(e,4,0,n.active);t(e,3,0,a,r),t(e,6,0,!n.templateCmp),t(e,8,0,n.templateCmp)}),null)}function Y(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"block-ui-content",[],null,null,null,G,q)),i["ɵdid"](1,12828672,null,0,T,[x,i.ComponentFactoryResolver,i.ChangeDetectorRef],null,null)],(function(t,e){t(e,1,0)}),null)}var B=i["ɵccf"]("block-ui-content",T,Y,{name:"name",delayStart:"delayStart",delayStop:"delayStop",defaultMessage:"message",templateCmp:"template"},{},[]),H=n("FE24"),U=n("z/SZ"),W=n("s7LF"),K=n("+gVj"),$=n("LvDl"),Z=n("xj/R"),J=n("IheW");let X=(()=>{class t{constructor(t,e){this.http=t,this.localeId=e}getLocale(){return this.localeId||"en-US"}setLocale(t){document.cookie=`cd-lang=${t}`}getLanguages(){return this.http.get("ui-api/langs")}}return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t(i["ɵɵinject"](J.c),i["ɵɵinject"](i.LOCALE_ID))},token:t,providedIn:"root"}),t})();var Q=function(t){return t.cs="Čeština",t["de-DE"]="Deutsch",t["en-US"]="English",t["es-ES"]="Español",t["fr-FR"]="Français",t["id-ID"]="Bahasa Indonesia",t["it-IT"]="Italiano",t["ja-JP"]="日本語",t["ko-KR"]="한국어",t["pl-PL"]="Polski",t["pt-BR"]="Português (brasileiro)",t["zh-CN"]="中文 (简体)",t["zh-TW"]="中文 (繁體)",t}({});let tt={cs:Z.a,de:Z.b,es:Z.e,fr:Z.g,id:Z.m,it:Z.y,ja:Z.z,ko:Z.A,pl:Z.C,pt:Z.D,zh:Z.H};class et{constructor(t,e){this.localeService=t,this.languageService=e,this.isDropdown=!0,this.supportedLanguages=Q}ngOnInit(){this.selectedLanguage=this.languageService.getLocale(),this.defineUsedLanguage(),this.languageService.getLanguages().subscribe(t=>{this.supportedLanguages=$.pick(this.supportedLanguages,t)})}defineUsedLanguage(){const t=this.selectedLanguage.slice(0,2);t in tt&&(Object(Z.c)(t,tt[t]),this.localeService.use(t))}reloadWindow(){window.location.reload()}changeLanguage(t){this.languageService.setLocale(t),this.reloadWindow()}}var nt=n("ienR"),at=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function rt(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"li",[],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,1,"a",[["class","dropdown-item"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.changeLanguage(t.context.$implicit.key)&&a),a}),null,null)),(t()(),i["ɵted"](2,null,["",""]))],null,(function(t,e){t(e,2,0,e.context.$implicit.value)}))}function ot(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"ul",[["class","dropdown-menu dropdown-menu-right"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,2,null,rt)),i["ɵdid"](2,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),i["ɵpid"](0,o.KeyValuePipe,[i.KeyValueDiffers])],(function(t,e){var n=e.component;t(e,2,0,i["ɵunv"](e,2,0,i["ɵnov"](e,3).transform(n.supportedLanguages)))}),null)}function it(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,16777216,null,null,7,"div",[["class","btn-group"],["dropdown",""]],[[2,"dropup",null],[2,"open",null],[2,"show",null]],null,null,null,null)),i["ɵprd"](512,null,H.f,H.f,[]),i["ɵdid"](2,212992,null,0,H.c,[i.ElementRef,i.Renderer2,i.ViewContainerRef,U.a,H.a,H.f],null,null),(t()(),i["ɵeld"](3,0,null,null,2,"a",[["class","dropdown-toggle"],["data-toggle","dropdown"],["dropdownToggle",""],["title","Select a Language"]],[[1,"aria-haspopup",0],[1,"disabled",0],[1,"aria-expanded",0]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,4).onClick()&&a),a}),null,null)),i["ɵdid"](4,147456,null,0,H.g,[i.ChangeDetectorRef,H.c,i.ElementRef,i.Renderer2,H.f],null,null),(t()(),i["ɵted"](5,null,[" "," "])),(t()(),i["ɵand"](16777216,null,null,1,null,ot)),i["ɵdid"](7,16384,null,0,H.d,[H.f,i.ViewContainerRef,i.TemplateRef],null,null),(t()(),i["ɵand"](0,null,null,0))],(function(t,e){t(e,2,0)}),(function(t,e){var n=e.component;t(e,0,0,i["ɵnov"](e,2).dropup,i["ɵnov"](e,2).isOpen,i["ɵnov"](e,2).isOpen&&i["ɵnov"](e,2).isBs4),t(e,3,0,!0,i["ɵnov"](e,4).isDisabled,i["ɵnov"](e,4).isOpen),t(e,5,0,n.supportedLanguages[n.selectedLanguage])}))}function st(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](3,null,["",""]))],(function(t,e){t(e,1,0,e.context.$implicit.key),t(e,2,0,e.context.$implicit.key)}),(function(t,e){t(e,3,0,e.context.$implicit.value)}))}function ct(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,9,"select",[["class","form-control custom-select"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"ngModelChange"],[null,"blur"]],(function(t,e,n){var a=!0,r=t.component;return"change"===e&&(a=!1!==i["ɵnov"](t,1).onChange(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,1).onTouched()&&a),"change"===e&&(a=!1!==r.changeLanguage(n.target.value)&&a),"ngModelChange"===e&&(a=!1!==(r.selectedLanguage=n)&&a),a}),null,null)),i["ɵdid"](1,16384,null,0,W.A,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.A]),i["ɵdid"](3,671744,null,0,W.u,[[8,null],[8,null],[8,null],[6,W.p]],{model:[0,"model"]},{update:"ngModelChange"}),i["ɵprd"](2048,null,W.q,null,[W.u]),i["ɵdid"](5,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](6,16384,null,0,K.h,[[8,null],K.a],null,null),(t()(),i["ɵand"](16777216,null,null,2,null,st)),i["ɵdid"](8,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),i["ɵpid"](0,o.KeyValuePipe,[i.KeyValueDiffers])],(function(t,e){var n=e.component;t(e,3,0,n.selectedLanguage),t(e,8,0,i["ɵunv"](e,8,0,i["ɵnov"](e,9).transform(n.supportedLanguages)))}),(function(t,e){t(e,0,0,i["ɵnov"](e,5).ngClassUntouched,i["ɵnov"](e,5).ngClassTouched,i["ɵnov"](e,5).ngClassPristine,i["ɵnov"](e,5).ngClassDirty,i["ɵnov"](e,5).ngClassValid,i["ɵnov"](e,5).ngClassInvalid,i["ɵnov"](e,5).ngClassPending,i["ɵnov"](e,6).validClass,i["ɵnov"](e,6).invalidClass)}))}function lt(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,it)),i["ɵdid"](1,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,ct)),i["ɵdid"](3,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0,n.isDropdown),t(e,3,0,!n.isDropdown)}),null)}var dt=n("oxzT"),ut=n("9nlD"),gt=n("mSOc");class ft{constructor(t,e){this.notificationService=t,this.summaryService=e,this.icons=dt.a,this.hasRunningTasks=!1}ngOnInit(){this.summaryService.subscribe(t=>{t&&(this.hasRunningTasks=t.executing_tasks.length>0)})}toggleSidebar(){this.notificationService.toggleSidebar()}}var pt=i["ɵcrt"]({encapsulation:0,styles:[[".running[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{color:#2b99a8}.running[_ngcontent-%COMP%]:hover   i[_ngcontent-%COMP%]{color:#fff}"]],data:{}});function mt(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,9,"a",[["title","Tasks and Notifications"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.toggleSidebar()&&a),a}),null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](2,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpod"](3,{running:0}),(t()(),i["ɵeld"](4,0,null,null,3,"i",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](6,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](7,1),(t()(),i["ɵeld"](8,0,null,null,1,"span",[["class","d-md-none"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Tasks and Notifications"]))],(function(t,e){var n=e.component,a=t(e,3,0,n.hasRunningTasks);t(e,2,0,a);var r=t(e,7,0,n.icons.bell);t(e,6,0,r)}),null)}var ht=n("+0ag"),bt=n("aexS"),_t=n("SjWX"),yt=n("Mxhz"),Ot=n("sne2");class vt{constructor(t,e,n,a){this.modalRef=t,this.summaryService=e,this.userService=n,this.authStorageService=a,this.userPermission=this.authStorageService.getPermissions().user}ngOnInit(){this.copyright="Copyright(c) 2020 Ceph contributors.",this.projectConstants=Ot.c,this.hostAddr=window.location.hostname,this.modalVariables=this.setVariables(),this.subs=this.summaryService.subscribe(t=>{if(!t)return;const e=t.version.replace("ceph version ","").split(" ");this.hostAddr=t.mgr_host.replace(/(^\w+:|^)\/\//,"").replace(/\/$/,""),this.versionNumber=e[0],this.versionHash=e[1],this.versionName=e.slice(2,e.length).join(" ")})}ngOnDestroy(){this.subs.unsubscribe()}setVariables(){const t={};t.user=localStorage.getItem("dashboard_username"),t.role="user",this.userPermission.read&&this.userService.get(t.user).subscribe(e=>{t.role=e.roles});const e=Object(_t.detect)();return t.browserName=e&&e.name?e.name:"Not detected",t.browserVersion=e&&e.version?e.version:"Not detected",t.browserOS=e&&e.os?e.os:"Not detected",t}}class Ct{constructor(t,e,n,a){this.summaryService=t,this.cephReleaseNamePipe=e,this.modalService=n,this.authStorageService=a,this.icons=dt.a}ngOnInit(){const t=this.summaryService.subscribe(e=>{if(!e)return;const n=this.cephReleaseNamePipe.transform(e.version);this.docsUrl=`http://docs.ceph.com/docs/${n}/mgr/dashboard/`,setTimeout(()=>{t.unsubscribe()},0)})}openAboutModal(){this.modalRef=this.modalService.show(vt),this.modalRef.setClass("modal-lg")}goToApiDocs(){this.docsFormElement.nativeElement.children[0].value=this.authStorageService.getToken(),this.docsFormElement.nativeElement.submit()}}var Pt=n("LqlI"),Mt=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function xt(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,12,"ul",[["class","dropdown-menu dropdown-menu-right"],["role","menu"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,5,"li",[],null,null,null,null,null)),(t()(),i["ɵeld"](2,0,null,null,4,"a",[["class","dropdown-item"],["target","_blank"]],[[8,"href",4]],null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](4,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),i["ɵpod"](5,{disabled:0}),(t()(),i["ɵted"](-1,null,["Documentation"])),(t()(),i["ɵeld"](7,0,null,null,2,"li",[],null,null,null,null,null)),(t()(),i["ɵeld"](8,0,null,null,1,"a",[["class","dropdown-item"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.goToApiDocs()&&a),a}),null,null)),(t()(),i["ɵted"](-1,null,["API"])),(t()(),i["ɵeld"](10,0,null,null,2,"li",[],null,null,null,null,null)),(t()(),i["ɵeld"](11,0,null,null,1,"a",[["class","dropdown-item"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.openAboutModal()&&a),a}),null,null)),(t()(),i["ɵted"](-1,null,["About"]))],(function(t,e){var n=t(e,5,0,!e.component.docsUrl);t(e,4,0,"dropdown-item",n)}),(function(t,e){t(e,2,0,i["ɵinlineInterpolate"](1,"",e.component.docsUrl,""))}))}function wt(t){return i["ɵvid"](0,[i["ɵqud"](402653184,1,{docsFormElement:0}),(t()(),i["ɵeld"](1,0,[[1,0],["docsForm",1]],null,1,"form",[["action","/docs"],["method","post"],["target","_blank"]],null,null,null,null,null)),(t()(),i["ɵeld"](2,0,null,null,0,"input",[["name","token"],["type","hidden"]],null,null,null,null,null)),(t()(),i["ɵeld"](3,16777216,null,null,12,"div",[["class","btn-group"],["dropdown",""]],[[2,"dropup",null],[2,"open",null],[2,"show",null]],null,null,null,null)),i["ɵprd"](512,null,H.f,H.f,[]),i["ɵdid"](5,212992,null,0,H.c,[i.ElementRef,i.Renderer2,i.ViewContainerRef,U.a,H.a,H.f],null,null),(t()(),i["ɵeld"](6,0,null,null,7,"a",[["class","dropdown-toggle"],["dropdownToggle",""],["title","Help"]],[[1,"aria-haspopup",0],[1,"disabled",0],[1,"aria-expanded",0]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,7).onClick()&&a),a}),null,null)),i["ɵdid"](7,147456,null,0,H.g,[i.ChangeDetectorRef,H.c,i.ElementRef,i.Renderer2,H.f],null,null),(t()(),i["ɵeld"](8,0,null,null,3,"i",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](10,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](11,1),(t()(),i["ɵeld"](12,0,null,null,1,"span",[["class","d-md-none"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Help"])),(t()(),i["ɵand"](16777216,null,null,1,null,xt)),i["ɵdid"](15,16384,null,0,H.d,[H.f,i.ViewContainerRef,i.TemplateRef],null,null)],(function(t,e){var n=e.component;t(e,5,0);var a=t(e,11,0,n.icons.questionCircle);t(e,10,0,a)}),(function(t,e){t(e,3,0,i["ɵnov"](e,5).dropup,i["ɵnov"](e,5).isOpen,i["ɵnov"](e,5).isOpen&&i["ɵnov"](e,5).isBs4),t(e,6,0,!0,i["ɵnov"](e,7).isDisabled,i["ɵnov"](e,7).isOpen)}))}var Tt=n("iInd");class kt{constructor(t){this.authStorageService=t,this.icons=dt.a,this.userPermission=this.authStorageService.getPermissions().user}ngOnInit(){}}var St=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function It(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"li",[],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,2,"a",[["class","dropdown-item"],["routerLink","/user-management"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,2).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](2,671744,null,0,Tt.p,[Tt.m,Tt.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵted"](-1,null,["User management"]))],(function(t,e){t(e,2,0,"/user-management")}),(function(t,e){t(e,1,0,i["ɵnov"](e,2).target,i["ɵnov"](e,2).href)}))}function Nt(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"ul",[["class","dropdown-menu dropdown-menu-right"],["role","menu"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,It)),i["ɵdid"](2,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){t(e,2,0,e.component.userPermission.read)}),null)}function Rt(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,16777216,null,null,12,"div",[["class","btn-group"],["dropdown",""]],[[2,"dropup",null],[2,"open",null],[2,"show",null]],null,null,null,null)),i["ɵprd"](512,null,H.f,H.f,[]),i["ɵdid"](2,212992,null,0,H.c,[i.ElementRef,i.Renderer2,i.ViewContainerRef,U.a,H.a,H.f],null,null),(t()(),i["ɵeld"](3,0,null,null,7,"a",[["class","dropdown-toggle"],["dropdownToggle",""],["title","Dashboard Settings"]],[[1,"aria-haspopup",0],[1,"disabled",0],[1,"aria-expanded",0]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,4).onClick()&&a),a}),null,null)),i["ɵdid"](4,147456,null,0,H.g,[i.ChangeDetectorRef,H.c,i.ElementRef,i.Renderer2,H.f],null,null),(t()(),i["ɵeld"](5,0,null,null,3,"i",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](7,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](8,1),(t()(),i["ɵeld"](9,0,null,null,1,"span",[["class","d-md-none"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Dashboard Settings"])),(t()(),i["ɵand"](16777216,null,null,1,null,Nt)),i["ɵdid"](12,16384,null,0,H.d,[H.f,i.ViewContainerRef,i.TemplateRef],null,null),(t()(),i["ɵand"](0,null,null,0))],(function(t,e){var n=e.component;t(e,2,0);var a=t(e,8,0,n.icons.deepCheck);t(e,7,0,a)}),(function(t,e){t(e,0,0,i["ɵnov"](e,2).dropup,i["ɵnov"](e,2).isOpen,i["ɵnov"](e,2).isOpen&&i["ɵnov"](e,2).isBs4),t(e,3,0,!0,i["ɵnov"](e,4).isDisabled,i["ɵnov"](e,4).isOpen)}))}function At(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,Rt)),i["ɵdid"](1,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){t(e,1,0,e.component.userPermission.read)}),null)}var Et=n("DSvg");class Dt{constructor(t,e){this.authStorageService=t,this.authService=e,this.icons=dt.a}ngOnInit(){this.username=this.authStorageService.getUsername(),this.sso=this.authStorageService.isSSO()}logout(){this.authService.logout()}}var Lt=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function qt(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,8,"li",[["role","menuitem"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,7,"a",[["class","dropdown-item"],["routerLink","/user-profile/edit"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,2).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](2,671744,null,0,Tt.p,[Tt.m,Tt.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵeld"](3,0,null,null,3,"i",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](5,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](6,1),(t()(),i["ɵeld"](7,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Change password"]))],(function(t,e){var n=e.component;t(e,2,0,"/user-profile/edit");var a=t(e,6,0,n.icons.lock);t(e,5,0,a)}),(function(t,e){t(e,1,0,i["ɵnov"](e,2).target,i["ɵnov"](e,2).href)}))}function jt(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,16,"ul",[["class","dropdown-menu dropdown-menu-right"],["role","menu"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,4,"li",[["class","disabled"],["role","menuitem"]],null,null,null,null,null)),(t()(),i["ɵeld"](2,0,null,null,3,"a",[["class","dropdown-item disabled"],["href","#"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Signed in as "])),(t()(),i["ɵeld"](4,0,null,null,1,"strong",[],null,null,null,null,null)),(t()(),i["ɵted"](5,null,["",""])),(t()(),i["ɵeld"](6,0,null,null,0,"li",[["class","dropdown-divider"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,qt)),i["ɵdid"](8,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](9,0,null,null,7,"li",[["role","menuitem"]],null,null,null,null,null)),(t()(),i["ɵeld"](10,0,null,null,6,"a",[["class","dropdown-item"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.logout()&&a),a}),null,null)),(t()(),i["ɵeld"](11,0,null,null,3,"i",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](13,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](14,1),(t()(),i["ɵeld"](15,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Sign out"]))],(function(t,e){var n=e.component;t(e,8,0,!n.sso);var a=t(e,14,0,n.icons.signOut);t(e,13,0,a)}),(function(t,e){t(e,5,0,e.component.username)}))}function Ft(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,16777216,null,null,12,"div",[["class","btn-group"],["dropdown",""]],[[2,"dropup",null],[2,"open",null],[2,"show",null]],null,null,null,null)),i["ɵprd"](512,null,H.f,H.f,[]),i["ɵdid"](2,212992,null,0,H.c,[i.ElementRef,i.Renderer2,i.ViewContainerRef,U.a,H.a,H.f],null,null),(t()(),i["ɵeld"](3,0,null,null,7,"a",[["class","dropdown-toggle"],["dropdownToggle",""],["title","Logged in user"]],[[1,"aria-haspopup",0],[1,"disabled",0],[1,"aria-expanded",0]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,4).onClick()&&a),a}),null,null)),i["ɵdid"](4,147456,null,0,H.g,[i.ChangeDetectorRef,H.c,i.ElementRef,i.Renderer2,H.f],null,null),(t()(),i["ɵeld"](5,0,null,null,3,"i",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](7,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](8,1),(t()(),i["ɵeld"](9,0,null,null,1,"span",[["class","d-md-none"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Logged in user"])),(t()(),i["ɵand"](16777216,null,null,1,null,jt)),i["ɵdid"](12,16384,null,0,H.d,[H.f,i.ViewContainerRef,i.TemplateRef],null,null)],(function(t,e){var n=e.component;t(e,2,0);var a=t(e,8,0,n.icons.user);t(e,7,0,a)}),(function(t,e){t(e,0,0,i["ɵnov"](e,2).dropup,i["ɵnov"](e,2).isOpen,i["ɵnov"](e,2).isOpen&&i["ɵnov"](e,2).isBs4),t(e,3,0,!0,i["ɵnov"](e,4).isDisabled,i["ɵnov"](e,4).isOpen)}))}var zt=n("GS7A");const Vt=[Object(zt.h)({height:0,visibility:"hidden"}),Object(zt.e)("400ms cubic-bezier(0.4,0.0,0.2,1)",Object(zt.h)({height:"*",visibility:"visible"}))],Gt=[Object(zt.h)({height:"*",visibility:"visible"}),Object(zt.e)("400ms cubic-bezier(0.4,0.0,0.2,1)",Object(zt.h)({height:0,visibility:"hidden"}))];class Yt{constructor(t,e,n){this._el=t,this._renderer=e,this.collapsed=new i.EventEmitter,this.collapses=new i.EventEmitter,this.expanded=new i.EventEmitter,this.expands=new i.EventEmitter,this.isExpanded=!0,this.isCollapsed=!1,this.isCollapse=!0,this.isCollapsing=!1,this.isAnimated=!1,this._display="block",this._stylesLoaded=!1,this._COLLAPSE_ACTION_NAME="collapse",this._EXPAND_ACTION_NAME="expand",this._factoryCollapseAnimation=n.build(Gt),this._factoryExpandAnimation=n.build(Vt)}set display(t){this.isAnimated?(this._display=t,"none"!==t?this.show():this.hide()):this._renderer.setStyle(this._el.nativeElement,"display",t)}set collapse(t){this._player&&!this._isAnimationDone||(this.isExpanded=t,this.toggle())}get collapse(){return this.isExpanded}ngAfterViewChecked(){this._stylesLoaded=!0,this._player&&this._isAnimationDone&&(this._player.reset(),this._renderer.setStyle(this._el.nativeElement,"height","*"))}toggle(){this.isExpanded?this.hide():this.show()}hide(){this.isCollapsing=!0,this.isExpanded=!1,this.isCollapsed=!0,this.isCollapsing=!1,this.collapses.emit(this),this._isAnimationDone=!1,this.animationRun(this.isAnimated,this._COLLAPSE_ACTION_NAME)(()=>{this._isAnimationDone=!0,this.collapsed.emit(this),this._renderer.setStyle(this._el.nativeElement,"display","none")})}show(){this._renderer.setStyle(this._el.nativeElement,"display",this._display),this.isCollapsing=!0,this.isExpanded=!0,this.isCollapsed=!1,this.isCollapsing=!1,this.expands.emit(this),this._isAnimationDone=!1,this.animationRun(this.isAnimated,this._EXPAND_ACTION_NAME)(()=>{this._isAnimationDone=!0,this.expanded.emit(this)})}animationRun(t,e){if(!t||!this._stylesLoaded)return t=>t();this._renderer.setStyle(this._el.nativeElement,"overflow","hidden"),this._renderer.addClass(this._el.nativeElement,"collapse");const n=e===this._EXPAND_ACTION_NAME?this._factoryExpandAnimation:this._factoryCollapseAnimation;return this._player&&this._player.destroy(),this._player=n.create(this._el.nativeElement),this._player.play(),t=>this._player.onDone(t)}}class Bt{static forRoot(){return{ngModule:Bt,providers:[]}}}class Ht{transform(t){return"HEALTH_OK"===t?{color:"#00bb00"}:"HEALTH_WARN"===t?{color:"#ffa500"}:"HEALTH_ERR"===t?{color:"#ff0000"}:null}}var Ut=n("MdoF"),Wt=n("CNMR"),Kt=n("20UP"),$t=n("oMSZ");class Zt{constructor(t,e){this.settingsService=t,this.authStorageService=e}ngOnInit(){this.settingsService.getStandardSettings().subscribe(t=>{this.pwdExpirationSettings=new $t.a(t);const e=this.authStorageService.getPwdExpirationDate();e&&(this.expirationDays=this.getExpirationDays(e),this.alertType=this.expirationDays<=this.pwdExpirationSettings.pwdExpirationWarning2?"danger":"warning",this.authStorageService.isPwdDisplayedSource.next(!0))})}getExpirationDays(t){const e=new Date,n=new Date(1e3*t);return Math.floor((n.valueOf()-e.valueOf())/864e5)}close(){this.authStorageService.isPwdDisplayedSource.next(!1)}}var Jt=i["ɵcrt"]({encapsulation:0,styles:[[".no-margin-bottom .alert{margin-bottom:0}"]],data:{}});function Xt(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,8,"div",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Your password will expire in "])),(t()(),i["ɵeld"](2,0,null,null,1,"strong",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["less than 1"])),(t()(),i["ɵted"](-1,null,[" day. Click "])),(t()(),i["ɵeld"](5,0,null,null,2,"a",[["class","alert-link"],["routerLink","/user-profile/edit"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,6).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](6,671744,null,0,Tt.p,[Tt.m,Tt.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵted"](-1,null,["here"])),(t()(),i["ɵted"](-1,null,[" to change it now."]))],(function(t,e){t(e,6,0,"/user-profile/edit")}),(function(t,e){t(e,5,0,i["ɵnov"](e,6).target,i["ɵnov"](e,6).href)}))}function Qt(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,8,"div",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Your password will expire in "])),(t()(),i["ɵeld"](2,0,null,null,1,"strong",[],null,null,null,null,null)),(t()(),i["ɵted"](3,null,["",""])),(t()(),i["ɵted"](-1,null,[" day(s). Click "])),(t()(),i["ɵeld"](5,0,null,null,2,"a",[["class","alert-link"],["routerLink","/user-profile/edit"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,6).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](6,671744,null,0,Tt.p,[Tt.m,Tt.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵted"](-1,null,["here"])),(t()(),i["ɵted"](-1,null,[" to change it now."]))],(function(t,e){t(e,6,0,"/user-profile/edit")}),(function(t,e){t(e,3,0,e.component.expirationDays),t(e,5,0,i["ɵnov"](e,6).target,i["ɵnov"](e,6).href)}))}function te(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,5,"alert",[["class","no-margin-bottom"]],null,[[null,"onClose"]],(function(t,e,n){var a=!0;return"onClose"===e&&(a=!1!==t.component.close(n)&&a),a}),Ut.c,Ut.b)),i["ɵdid"](1,114688,null,0,Wt.a,[Wt.b,i.ChangeDetectorRef],{type:[0,"type"],dismissible:[1,"dismissible"]},{onClose:"onClose"}),(t()(),i["ɵand"](16777216,null,0,1,null,Xt)),i["ɵdid"](3,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,Qt)),i["ɵdid"](5,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0,i["ɵinlineInterpolate"](1,"",n.alertType,""),!0),t(e,3,0,0===n.expirationDays),t(e,5,0,n.expirationDays>0)}),null)}function ee(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,te)),i["ɵdid"](1,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0,null!=n.expirationDays&&n.expirationDays<=n.pwdExpirationSettings.pwdExpirationWarning1)}),null)}var ne=n("7qid"),ae=n("38Bd"),re=n("wd/R");class oe{transform(t,e=!1){return e?re(t).fromNow():this._forHumans(t)}_forHumans(t){const e=[[`${Math.floor(t/31536e3)}`,"years"],[`${Math.floor(t%31536e3/86400)}`,"days"],[`${Math.floor(t%86400/3600)}`,"hours"],[`${Math.floor(t%3600/60)}`,"minutes"],[`${Math.floor(t%60)}`,"seconds"]];let n="";for(let a=0,r=e.length;a<r;a++)"0"!==e[a][0]&&(n+=" "+e[a][0]+" "+("1"===e[a][0]?e[a][1].substr(0,e[a][1].length-1):e[a][1]));return n.trim()||"1 second"}}var ie=n("a0VL"),se=n("moLw"),ce=n("WF9J"),le=i["ɵcrt"]({encapsulation:2,styles:["[data-simplebar]{position:relative;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;flex-wrap:wrap;-webkit-box-pack:start;justify-content:flex-start;align-content:flex-start;-webkit-box-align:start;align-items:flex-start}.simplebar-wrapper{overflow:hidden;width:inherit;height:inherit;max-width:inherit;max-height:inherit}.simplebar-mask{direction:inherit;position:absolute;overflow:hidden;padding:0;margin:0;left:0;top:0;bottom:0;right:0;width:auto!important;height:auto!important;z-index:0}.simplebar-offset{direction:inherit!important;box-sizing:inherit!important;resize:none!important;position:absolute;top:0;left:0;bottom:0;right:0;padding:0;margin:0;-webkit-overflow-scrolling:touch}.simplebar-content-wrapper{direction:inherit;box-sizing:border-box!important;position:relative;display:block;height:100%;width:auto;visibility:visible;max-width:100%;max-height:100%;scrollbar-width:none}.simplebar-content-wrapper::-webkit-scrollbar,.simplebar-hide-scrollbar::-webkit-scrollbar{display:none}.simplebar-content:after,.simplebar-content:before{content:' ';display:table}.simplebar-placeholder{max-height:100%;max-width:100%;width:100%;pointer-events:none}.simplebar-height-auto-observer-wrapper{box-sizing:inherit!important;height:100%;width:100%;max-width:1px;position:relative;float:left;max-height:1px;overflow:hidden;z-index:-1;padding:0;margin:0;pointer-events:none;-webkit-box-flex:inherit;flex-grow:inherit;flex-shrink:0;flex-basis:0}.simplebar-height-auto-observer{box-sizing:inherit;display:block;opacity:0;position:absolute;top:0;left:0;height:1000%;width:1000%;min-height:1px;min-width:1px;overflow:hidden;pointer-events:none;z-index:-1}.simplebar-track{z-index:1;position:absolute;right:0;bottom:0;pointer-events:none;overflow:hidden}[data-simplebar].simplebar-dragging .simplebar-content{pointer-events:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}[data-simplebar].simplebar-dragging .simplebar-track{pointer-events:all}.simplebar-scrollbar{position:absolute;right:2px;width:7px;min-height:10px}.simplebar-scrollbar:before{position:absolute;content:'';background:#000;border-radius:7px;left:0;right:0;opacity:0;-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.simplebar-scrollbar.simplebar-visible:before{opacity:.5;-webkit-transition:opacity linear;transition:opacity linear}.simplebar-track.simplebar-vertical{top:0;width:11px}.simplebar-track.simplebar-vertical .simplebar-scrollbar:before{top:2px;bottom:2px}.simplebar-track.simplebar-horizontal{left:0;height:11px}.simplebar-track.simplebar-horizontal .simplebar-scrollbar:before{height:100%;left:2px;right:2px}.simplebar-track.simplebar-horizontal .simplebar-scrollbar{right:auto;left:0;top:2px;height:7px;min-height:0;min-width:10px;width:auto}[data-simplebar-direction=rtl] .simplebar-track.simplebar-vertical{right:auto;left:0}.hs-dummy-scrollbar-size{direction:rtl;position:fixed;opacity:0;visibility:hidden;height:500px;width:500px;overflow-y:hidden;overflow-x:scroll}.simplebar-hide-scrollbar{position:fixed;left:0;visibility:hidden;overflow-y:scroll;scrollbar-width:none}","ngx-simplebar{display:block}"],data:{}});function de(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,8,"div",[["class","simplebar-wrapper"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,1,"div",[["class","simplebar-height-auto-observer-wrapper"]],null,null,null,null,null)),(t()(),i["ɵeld"](2,0,null,null,0,"div",[["class","simplebar-height-auto-observer"]],null,null,null,null,null)),(t()(),i["ɵeld"](3,0,null,null,4,"div",[["class","simplebar-mask"]],null,null,null,null,null)),(t()(),i["ɵeld"](4,0,null,null,3,"div",[["class","simplebar-offset"]],null,null,null,null,null)),(t()(),i["ɵeld"](5,0,null,null,2,"div",[["class","simplebar-content-wrapper"]],null,null,null,null,null)),(t()(),i["ɵeld"](6,0,null,null,1,"div",[["class","simplebar-content"]],null,null,null,null,null)),i["ɵncd"](null,0),(t()(),i["ɵeld"](8,0,null,null,0,"div",[["class","simplebar-placeholder"]],null,null,null,null,null)),(t()(),i["ɵeld"](9,0,null,null,1,"div",[["class","simplebar-track simplebar-horizontal"]],null,null,null,null,null)),(t()(),i["ɵeld"](10,0,null,null,0,"div",[["class","simplebar-scrollbar"]],null,null,null,null,null)),(t()(),i["ɵeld"](11,0,null,null,1,"div",[["class","simplebar-track simplebar-vertical"]],null,null,null,null,null)),(t()(),i["ɵeld"](12,0,null,null,0,"div",[["class","simplebar-scrollbar"]],null,null,null,null,null))],null,null)}var ue=n("O9Tv"),ge=n("ufoC"),fe=n("G1I9"),pe=n("lJxs"),me=n("pL04");let he=(()=>{class t{constructor(t,e){this.http=t,this.settingsService=e,this.baseURL="api/prometheus",this.settingsKey={alertmanager:"api/settings/alertmanager-api-host",prometheus:"api/settings/prometheus-api-host"}}ifAlertmanagerConfigured(t,e){this.settingsService.ifSettingConfigured(this.settingsKey.alertmanager,t,e)}disableAlertmanagerConfig(){this.settingsService.disableSetting(this.settingsKey.alertmanager)}ifPrometheusConfigured(t,e){this.settingsService.ifSettingConfigured(this.settingsKey.prometheus,t,e)}disablePrometheusConfig(){this.settingsService.disableSetting(this.settingsKey.prometheus)}getAlerts(t={}){return this.http.get(this.baseURL,{params:t})}getSilences(t={}){return this.http.get(`${this.baseURL}/silences`,{params:t})}getRules(t="all"){return this.http.get(`${this.baseURL}/rules`).pipe(Object(pe.a)(e=>(["alerting","rewrites"].includes(t)&&e.groups.map(e=>{e.rules=e.rules.filter(e=>e.type===t)}),e)))}setSilence(t){return this.http.post(`${this.baseURL}/silence`,t,{observe:"response"})}expireSilence(t){return this.http.delete(`${this.baseURL}/silence/${t}`,{observe:"response"})}getNotifications(t){return this.http.get(`${this.baseURL}/notifications?from=${t&&t.id?t.id:"last"}`)}}return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t(i["ɵɵinject"](J.c),i["ɵɵinject"](Kt.a))},token:t,providedIn:me.a}),t})();var be=n("mtw6");let _e=(()=>{class t{constructor(t){this.notificationService=t}sendNotifications(t){t.forEach(t=>this.notificationService.show(t))}convertToCustomAlerts(t){return $.uniqWith(t.map(t=>({status:$.isObject(t.status)?t.status.state:this.getPrometheusNotificationStatus(t),name:t.labels.alertname,url:t.generatorURL,summary:t.annotations.summary,fingerprint:$.isObject(t.status)&&t.fingerprint})),$.isEqual)}getPrometheusNotificationStatus(t){const e=t.status;return"firing"===e?"active":e}convertAlertToNotification(t){return new fe.b(this.formatType(t.status),`${t.name} (${t.status})`,this.appendSourceLink(t,t.summary),void 0,"Prometheus")}formatType(t){return be.a[$.findKey({error:["firing","active"],info:["suppressed","unprocessed"],success:["resolved"]},e=>e.includes(t))]}appendSourceLink(t,e){return`${e} <a href="${t.url}" target="_blank"><i class="${dt.a.lineChart}"></i></a>`}}return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t(i["ɵɵinject"](ut.a))},token:t,providedIn:"root"}),t})(),ye=(()=>{class t{constructor(t,e){this.alertFormatter=t,this.prometheusService=e,this.canAlertsBeNotified=!1,this.alerts=[],this.rules=[]}getAlerts(){this.prometheusService.ifAlertmanagerConfigured(()=>{this.prometheusService.getAlerts().subscribe(t=>this.handleAlerts(t),t=>{[404,504].includes(t.status)&&this.prometheusService.disableAlertmanagerConfig()})})}getRules(){this.prometheusService.ifPrometheusConfigured(()=>{this.prometheusService.getRules("alerting").subscribe(t=>{this.rules=t.groups.reduce((t,e)=>t.concat(e.rules.map(t=>(t.group=e.name,t))),[])})})}refresh(){this.getAlerts(),this.getRules()}handleAlerts(t){this.canAlertsBeNotified&&this.notifyOnAlertChanges(t,this.alerts),this.alerts=t,this.canAlertsBeNotified=!0}notifyOnAlertChanges(t,e){const n=this.getChangedAlerts(this.alertFormatter.convertToCustomAlerts(t),this.alertFormatter.convertToCustomAlerts(e)).map(t=>this.alertFormatter.convertAlertToNotification(t));this.alertFormatter.sendNotifications(n)}getChangedAlerts(t,e){return $.differenceWith(t,e,$.isEqual).concat(this.getVanishedAlerts(t,e))}getVanishedAlerts(t,e){return $.differenceWith(e,t,(t,e)=>t.fingerprint===e.fingerprint).map(t=>(t.status="resolved",t))}}return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t(i["ɵɵinject"](_e),i["ɵɵinject"](he))},token:t,providedIn:"root"}),t})(),Oe=(()=>{class t{constructor(t,e){this.alertFormatter=t,this.prometheusService=e,this.backendFailure=!1,this.notifications=[]}refresh(){this.backendFailure||this.prometheusService.getNotifications($.last(this.notifications)).subscribe(t=>this.handleNotifications(t),()=>this.backendFailure=!0)}handleNotifications(t){0!==t.length&&(this.notifications.length>0&&this.alertFormatter.sendNotifications($.flatten(t.map(t=>this.formatNotification(t)))),this.notifications=this.notifications.concat(t))}formatNotification(t){return this.alertFormatter.convertToCustomAlerts(t.alerts).map(t=>this.alertFormatter.convertAlertToNotification(t))}}return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t(i["ɵɵinject"](_e),i["ɵɵinject"](he))},token:t,providedIn:"root"}),t})();class ve{constructor(t,e,n,a,r,o,i,s){this.notificationService=t,this.summaryService=e,this.taskMessageService=n,this.prometheusNotificationService=a,this.authStorageService=r,this.prometheusAlertService=o,this.ngZone=i,this.cdRef=s,this.isSidebarOpened=!1,this.executingTasks=[],this.icons=dt.a,this.last_task="",this.mutex=new ue.Mutex,this.simplebar={autoHide:!1},this.notifications=[]}ngOnDestroy(){window.clearInterval(this.interval),window.clearTimeout(this.timeout),this.sidebarSubscription&&this.sidebarSubscription.unsubscribe(),this.notificationDataSubscription&&this.notificationDataSubscription.unsubscribe()}ngOnInit(){this.last_task=window.localStorage.getItem("last_task");const t=this.authStorageService.getPermissions();t.prometheus.read&&t.configOpt.read&&(this.triggerPrometheusAlerts(),this.ngZone.runOutsideAngular(()=>{this.interval=window.setInterval(()=>{this.ngZone.run(()=>{this.triggerPrometheusAlerts()})},5e3)})),this.notificationDataSubscription=this.notificationService.data$.subscribe(t=>{this.notifications=$.orderBy(t,["timestamp"],["desc"]),this.cdRef.detectChanges()}),this.sidebarSubscription=this.notificationService.sidebarSubject.subscribe(t=>{this.isSidebarOpened=!t&&!this.isSidebarOpened,window.clearTimeout(this.timeout),this.timeout=window.setTimeout(()=>{this.cdRef.detectChanges()},0)}),this.summaryService.subscribe(t=>{t&&(this._handleTasks(t.executing_tasks),this.mutex.acquire().then(e=>{$.filter(t.finished_tasks,t=>!this.last_task||re(t.end_time).isAfter(this.last_task)).forEach(t=>{const e=this.notificationService.finishedTaskToNotification(t,t.success),n=new fe.a(e);n.timestamp=t.end_time,n.duration=t.duration,this.last_task&&!re(t.end_time).isAfter(this.last_task)||(this.last_task=t.end_time,window.localStorage.setItem("last_task",this.last_task)),this.notificationService.save(n)}),this.cdRef.detectChanges(),e()}))})}_handleTasks(t){for(const e of t)e.description=this.taskMessageService.getRunningTitle(e);this.executingTasks=t}triggerPrometheusAlerts(){this.prometheusAlertService.refresh(),this.prometheusNotificationService.refresh()}removeAll(){this.notificationService.removeAll()}remove(t){this.notificationService.remove(t)}closeSidebar(){this.isSidebarOpened=!1}trackByFn(t){return t}}var Ce=i["ɵcrt"]({encapsulation:0,styles:[["[_nghost-%COMP%]{position:fixed;top:53px;bottom:10px;right:-350px;width:350px;max-width:90vw;z-index:9;transition:all .6s}.active[_nghost-%COMP%]{right:20px}.card[_ngcontent-%COMP%]{height:100%}ngx-simplebar[_ngcontent-%COMP%]{height:calc(100% - 42.2px)}.separator[_ngcontent-%COMP%]{padding:5px 12px;color:#90949c;background-color:#eee;font-size:12px}.btn-link[_ngcontent-%COMP%]   .fa-trash-o[_ngcontent-%COMP%]{color:#000}table[_ngcontent-%COMP%]{width:100%}.row[_ngcontent-%COMP%]{margin-left:0;margin-right:0}"]],data:{}});function Pe(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,29,"div",[],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,27,"div",[["class","card tc_task border-0 mb-3"]],null,null,null,null,null)),(t()(),i["ɵeld"](2,0,null,null,26,"div",[["class","row no-gutters"]],null,null,null,null,null)),(t()(),i["ɵeld"](3,0,null,null,12,"div",[["class","col-md-3 text-center"]],null,null,null,null,null)),(t()(),i["ɵeld"](4,0,null,null,11,"span",[["class","text-info"]],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](6,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),i["ɵpad"](7,2),(t()(),i["ɵeld"](8,0,null,null,3,"i",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](10,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](11,2),(t()(),i["ɵeld"](12,0,null,null,3,"i",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](14,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](15,4),(t()(),i["ɵeld"](16,0,null,null,12,"div",[["class","col-md-9"]],null,null,null,null,null)),(t()(),i["ɵeld"](17,0,null,null,11,"div",[["class","card-body p-0"]],null,null,null,null,null)),(t()(),i["ɵeld"](18,0,null,null,1,"h6",[["class","card-title bold"]],null,null,null,null,null)),(t()(),i["ɵted"](19,null,["",""])),(t()(),i["ɵeld"](20,0,null,null,2,"div",[["class","progress mb-1"]],null,null,null,null,null)),(t()(),i["ɵeld"](21,0,null,null,1,"progressbar",[["class","progress-striped active"],["max","100"]],[[1,"max",0],[2,"progress",null]],null,null,ne.b,ne.a)),i["ɵdid"](22,49152,null,0,ae.b,[ae.c],{animate:[0,"animate"],striped:[1,"striped"],value:[2,"value"],max:[3,"max"]},null),(t()(),i["ɵeld"](23,0,null,null,5,"p",[["class","card-text text-muted"]],null,null,null,null,null)),(t()(),i["ɵeld"](24,0,null,null,2,"small",[["class","date float-left"]],null,null,null,null,null)),(t()(),i["ɵted"](25,null,[" "," "])),i["ɵppd"](26,1),(t()(),i["ɵeld"](27,0,null,null,1,"span",[["class","float-right"]],null,null,null,null,null)),(t()(),i["ɵted"](28,null,[" "," % "])),(t()(),i["ɵeld"](29,0,null,null,0,"hr",[],null,null,null,null,null))],(function(t,e){var n=e.component,a=t(e,7,0,n.icons.stack,n.icons.large2x);t(e,6,0,"text-info",a);var r=t(e,11,0,n.icons.stack2x,n.icons.circle);t(e,10,0,r);var o=t(e,15,0,n.icons.stack1x,n.icons.spinner,n.icons.spin,n.icons.inverse);t(e,14,0,o),t(e,22,0,!0,!0,e.context.$implicit.progress,"100")}),(function(t,e){t(e,19,0,e.context.$implicit.description),t(e,21,0,i["ɵnov"](e,22).max,i["ɵnov"](e,22).addClass);var n=i["ɵunv"](e,25,0,t(e,26,0,i["ɵnov"](e.parent.parent,0),e.context.$implicit.begin_time));t(e,25,0,n),t(e,28,0,e.context.$implicit.progress||0)}))}function Me(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,Pe)),i["ɵdid"](1,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"],ngForTrackBy:[1,"ngForTrackBy"]},null),(t()(),i["ɵand"](0,null,null,0))],(function(t,e){var n=e.component;t(e,1,0,n.executingTasks,n.trackByFn)}),null)}function xe(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,4,"small",[],null,null,null,null,null)),(t()(),i["ɵeld"](2,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Duration:"])),(t()(),i["ɵted"](4,null,[" "," "])),i["ɵpid"](0,oe,[]),(t()(),i["ɵeld"](6,0,null,null,0,"br",[],null,null,null,null,null))],null,(function(t,e){t(e,4,0,i["ɵunv"](e,4,0,i["ɵnov"](e,5).transform(e.parent.context.$implicit.duration)))}))}function we(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,37,"div",[],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,35,"div",[["class","card tc_notification border-0 mb-3"]],null,null,null,null,null)),(t()(),i["ɵeld"](2,0,null,null,34,"div",[["class","row no-gutters"]],null,null,null,null,null)),(t()(),i["ɵeld"](3,0,null,null,12,"div",[["class","col-md-3 text-center"]],null,null,null,null,null)),(t()(),i["ɵeld"](4,0,null,null,11,"span",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](6,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](7,3),(t()(),i["ɵeld"](8,0,null,null,3,"i",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](10,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](11,2),(t()(),i["ɵeld"](12,0,null,null,3,"i",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](14,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](15,3),(t()(),i["ɵeld"](16,0,null,null,20,"div",[["class","col-md-9"]],null,null,null,null,null)),(t()(),i["ɵeld"](17,0,null,null,19,"div",[["class","card-body p-0"]],null,null,null,null,null)),(t()(),i["ɵeld"](18,0,null,null,4,"button",[["class","btn btn-link float-right mt-0 pt-0"],["title","Remove notification"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(t.component.remove(t.context.index),a=!1!==n.stopPropagation()&&a),a}),null,null)),(t()(),i["ɵeld"](19,0,null,null,3,"i",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](21,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](22,1),(t()(),i["ɵeld"](23,0,null,null,1,"h6",[["class","card-title bold"]],null,null,null,null,null)),(t()(),i["ɵted"](24,null,["",""])),(t()(),i["ɵeld"](25,0,null,null,0,"p",[["class","card-text"]],[[8,"innerHTML",1]],null,null,null,null)),(t()(),i["ɵeld"](26,0,null,null,10,"p",[["class","card-text text-muted"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,xe)),i["ɵdid"](28,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](29,0,null,null,3,"small",[["class","date"]],[[8,"title",0]],null,null,null,null)),i["ɵppd"](30,1),(t()(),i["ɵted"](31,null,["",""])),i["ɵpid"](0,oe,[]),(t()(),i["ɵeld"](33,0,null,null,3,"i",[["class","float-right custom-icon"]],[[8,"title",0]],null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](35,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),i["ɵpad"](36,1),(t()(),i["ɵeld"](37,0,null,null,0,"hr",[],null,null,null,null,null))],(function(t,e){var n=e.component,a=t(e,7,0,n.icons.stack,n.icons.large2x,e.context.$implicit.textClass);t(e,6,0,a);var r=t(e,11,0,n.icons.circle,n.icons.stack2x);t(e,10,0,r);var o=t(e,15,0,n.icons.stack1x,n.icons.inverse,e.context.$implicit.iconClass);t(e,14,0,o);var i=t(e,22,0,n.icons.trash);t(e,21,0,i),t(e,28,0,e.context.$implicit.duration);var s=t(e,36,0,e.context.$implicit.applicationClass);t(e,35,0,"float-right custom-icon",s)}),(function(t,e){t(e,24,0,e.context.$implicit.title),t(e,25,0,e.context.$implicit.message);var n=i["ɵunv"](e,29,0,t(e,30,0,i["ɵnov"](e.parent.parent.parent,0),e.context.$implicit.timestamp));t(e,29,0,n),t(e,31,0,i["ɵunv"](e,31,0,i["ɵnov"](e,32).transform(e.context.$implicit.timestamp,!0))),t(e,33,0,e.context.$implicit.application)}))}function Te(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,11,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,7,"button",[["class","btn btn-light btn-block"],["type","button"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(t.component.removeAll(),a=!1!==n.stopPropagation()&&a),a}),null,null)),(t()(),i["ɵeld"](2,0,null,null,3,"i",[["aria-hidden","true"]],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](4,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](5,1),(t()(),i["ɵted"](-1,null,["   "])),(t()(),i["ɵeld"](7,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Clear notifications"])),(t()(),i["ɵeld"](9,0,null,null,0,"hr",[],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,we)),i["ɵdid"](11,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵand"](0,null,null,0))],(function(t,e){var n=e.component,a=t(e,5,0,n.icons.trash);t(e,4,0,a),t(e,11,0,n.notifications)}),null)}function ke(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,Te)),i["ɵdid"](1,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](0,null,null,0))],(function(t,e){t(e,1,0,e.component.notifications.length>0)}),null)}function Se(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"div",[],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,1,"div",[["class","message text-center"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["There are no notifications."]))],null,null)}function Ie(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,Se)),i["ɵdid"](1,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](0,null,null,0))],(function(t,e){var n=e.component;t(e,1,0,0===n.notifications.length&&0===n.executingTasks.length)}),null)}function Ne(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,0,null,null,null,null,null,null,null))],null,null)}function Re(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,0,null,null,null,null,null,null,null))],null,null)}function Ae(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,0,null,null,null,null,null,null,null))],null,null)}function Ee(t){return i["ɵvid"](2,[i["ɵpid"](0,ie.a,[o.DatePipe]),(t()(),i["ɵand"](0,[["tasksTpl",2]],null,0,null,Me)),(t()(),i["ɵand"](0,[["notificationsTpl",2]],null,0,null,ke)),(t()(),i["ɵand"](0,[["emptyTpl",2]],null,0,null,Ie)),(t()(),i["ɵeld"](4,0,null,null,16,"div",[["class","card"]],null,[[null,"clickOutside"]],(function(t,e,n){var a=!0;return"clickOutside"===e&&(a=!1!==t.component.closeSidebar()&&a),a}),null,null)),i["ɵdid"](5,737280,null,0,se.ClickOutsideDirective,[i.ElementRef,i.NgZone,i.PLATFORM_ID],{clickOutsideEnabled:[0,"clickOutsideEnabled"]},{clickOutside:"clickOutside"}),(t()(),i["ɵeld"](6,0,null,null,5,"div",[["class","card-header"]],null,null,null,null,null)),(t()(),i["ɵeld"](7,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Tasks and Notifications"])),(t()(),i["ɵeld"](9,0,null,null,2,"button",[["class","close float-right"],["tabindex","-1"],["type","button"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.closeSidebar()&&a),a}),null,null)),(t()(),i["ɵeld"](10,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["×"])),(t()(),i["ɵeld"](12,0,null,null,8,"ngx-simplebar",[["data-simplebar","init"]],null,null,null,de,le)),i["ɵdid"](13,4440064,null,0,ce.a,[i.ElementRef],{options:[0,"options"]},null),(t()(),i["ɵeld"](14,0,null,0,6,"div",[["class","card-body"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Ne)),i["ɵdid"](16,540672,null,0,o.NgTemplateOutlet,[i.ViewContainerRef],{ngTemplateOutlet:[0,"ngTemplateOutlet"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Re)),i["ɵdid"](18,540672,null,0,o.NgTemplateOutlet,[i.ViewContainerRef],{ngTemplateOutlet:[0,"ngTemplateOutlet"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Ae)),i["ɵdid"](20,540672,null,0,o.NgTemplateOutlet,[i.ViewContainerRef],{ngTemplateOutlet:[0,"ngTemplateOutlet"]},null)],(function(t,e){var n=e.component;t(e,5,0,n.isSidebarOpened),t(e,13,0,n.simplebar),t(e,16,0,i["ɵnov"](e,1)),t(e,18,0,i["ɵnov"](e,2)),t(e,20,0,i["ɵnov"](e,3))}),null)}var De=n("ej+x");class Le{constructor(t,e,n){this.authStorageService=t,this.summaryService=e,this.featureToggles=n,this.isPwdDisplayed=!1,this.icons=dt.a,this.isCollapsed=!0,this.showMenuSidebar=!0,this.displayedSubMenu="",this.simplebar={autoHide:!1},this.permissions=this.authStorageService.getPermissions(),this.enabledFeature$=this.featureToggles.get()}ngOnInit(){this.summaryService.subscribe(t=>{t&&(this.summaryData=t)}),this.authStorageService.isPwdDisplayed$.subscribe(t=>{this.isPwdDisplayed=t})}blockHealthColor(){if(this.summaryData&&this.summaryData.rbd_mirroring){if(this.summaryData.rbd_mirroring.errors>0)return{color:"#d9534f"};if(this.summaryData.rbd_mirroring.warnings>0)return{color:"#f0ad4e"}}}toggleSubMenu(t){this.displayedSubMenu=this.displayedSubMenu===t?"":t}}var qe=i["ɵcrt"]({encapsulation:0,styles:[['@charset "UTF-8";  .cd-navbar-top .cd-navbar-brand{background:#374249;border-top:4px solid #2b99a8}  .cd-navbar-top .cd-navbar-brand.isPwdDisplayed{top:37.6px}  .cd-navbar-top .cd-navbar-brand .navbar-brand,   .cd-navbar-top .cd-navbar-brand .navbar-brand:hover{color:#eee;height:auto;padding:0}  .cd-navbar-top .cd-navbar-brand .navbar-brand>img{height:25px}  .cd-navbar-top .cd-navbar-brand .navbar-toggler{border:0}  .cd-navbar-top .cd-navbar-brand .navbar-toggler:focus,   .cd-navbar-top .cd-navbar-brand .navbar-toggler:hover{outline:0}  .cd-navbar-top .cd-navbar-brand .navbar-toggler .fa-navicon{color:#eee}  .cd-navbar-top .cd-navbar-brand .navbar-collapse{padding:0}  .cd-navbar-top .cd-navbar-brand .cd-navbar-utility>.active>a{color:#eee;background-color:#2b99a8}  .cd-navbar-top .cd-navbar-brand .cd-navbar-utility>li>.open>a,   .cd-navbar-top .cd-navbar-brand .cd-navbar-utility>li>.open>a:focus,   .cd-navbar-top .cd-navbar-brand .cd-navbar-utility>li>.open>a:hover{color:#eee;border-color:transparent;background-color:transparent}  .cd-navbar-top .navbar-nav>li>.cd-navbar>[dropdown]>a,   .cd-navbar-top .navbar-nav>li>.cd-navbar>a,   .cd-navbar-top .navbar-nav>li>a{color:#eee;line-height:1;padding:13.5px 18px!important;position:relative;display:block;text-decoration:none}  .cd-navbar-top .navbar-nav .nav-link,   .cd-navbar-top .navbar-nav .nav-link:hover{color:#eee}  .cd-navbar-top .navbar-nav>li:hover,   .cd-navbar-top .navbar-nav>li>.cd-navbar>[dropdown].open>a,   .cd-navbar-top .navbar-nav>li>.cd-navbar>[dropdown]>a:hover,   .cd-navbar-top .navbar-nav>li>.cd-navbar>a:hover,   .cd-navbar-top .navbar-nav>li>a:hover{background-color:#2b99a8}  .cd-navbar-top .navbar-nav>.open>.cd-navbar>[dropdown]>a,   .cd-navbar-top .navbar-nav>.open>.cd-navbar>[dropdown]>a:hover,   .cd-navbar-top .navbar-nav>.open>.cd-navbar>a,   .cd-navbar-top .navbar-nav>.open>.cd-navbar>a:focus,   .cd-navbar-top .navbar-nav>.open>.cd-navbar>a:hover,   .cd-navbar-top .navbar-nav>.open>.cd-navbar>li>a:focus,   .cd-navbar-top .navbar-nav>.open>a,   .cd-navbar-top .navbar-nav>.open>a:focus,   .cd-navbar-top .navbar-nav>.open>a:hover{color:#eee;border-color:transparent;background-color:transparent}@media (min-width:768px){  .cd-navbar-top .cd-navbar-utility{border-bottom:0;position:absolute;right:0;top:0;font-size:1.1rem}}@media (max-width:calc(768px - 1px)){  .cd-navbar-top .navbar-nav{margin:0}  .cd-navbar-top .navbar-nav .fa{margin-right:.5em}  .cd-navbar-top .navbar-nav .open .dropdown-menu{border:0;padding-top:0;padding-bottom:0;background-color:#2b99a8}  .cd-navbar-top .navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 35px;color:#eee}  .cd-navbar-top .navbar-nav .open .dropdown-menu>.active>a{background-color:#2b99a8}  .cd-navbar-top .navbar-nav>li>a:hover{background-color:#2b99a8}}.cd-navbar-primary[_ngcontent-%COMP%]   .active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%], .cd-navbar-primary[_ngcontent-%COMP%] > .active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:focus, .cd-navbar-primary[_ngcontent-%COMP%] > .active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{color:#eee!important;background-color:#2b99a8!important;border:0!important}.wrapper[_ngcontent-%COMP%]{display:flex;width:100%}.wrapper[_ngcontent-%COMP%]   #sidebar[_ngcontent-%COMP%]{width:200px;top:43px;background:#374249;overflow-y:auto;position:fixed;bottom:0;left:0;z-index:999;color:#fff;transition:all .3s}.wrapper[_ngcontent-%COMP%]   #sidebar.active[_ngcontent-%COMP%]{margin-left:-200px}.wrapper[_ngcontent-%COMP%]   #sidebar[_ngcontent-%COMP%]   ul.component[_ngcontent-%COMP%]{padding:20px 0;margin:0}.wrapper[_ngcontent-%COMP%]   #sidebar[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]{color:#fff;padding:10px}.wrapper[_ngcontent-%COMP%]   #sidebar[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]{padding:10px;font-size:1.1em;display:block;color:#fff;text-decoration:none}.wrapper[_ngcontent-%COMP%]   #sidebar[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]:hover{color:#fff;background:#2b99a8}.wrapper[_ngcontent-%COMP%]   #sidebar[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]   li.active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%], .wrapper[_ngcontent-%COMP%]   #sidebar[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]   li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]   a[aria-expanded=true][_ngcontent-%COMP%]{color:#fff}.wrapper[_ngcontent-%COMP%]   a.dropdown-toggle[_ngcontent-%COMP%]{position:relative}.wrapper[_ngcontent-%COMP%]   a.dropdown-toggle[_ngcontent-%COMP%]::after{position:absolute;right:20px;content:"";font-family:ForkAwesome;border:0;font-size:1rem;transition:transform .3s ease-in-out}.wrapper[_ngcontent-%COMP%]   a.dropdown-toggle[aria-expanded=true][_ngcontent-%COMP%]::after{transform:rotate(90deg)}.wrapper[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]{font-size:.9em!important;padding-left:30px!important;background:#4d5c66}.wrapper[_ngcontent-%COMP%]   .cd-navbar-primary[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]:focus{outline:0}.wrapper[_ngcontent-%COMP%]   ngx-simplebar[_ngcontent-%COMP%]{height:100%}#content[_ngcontent-%COMP%]{width:calc(100% - 200px);transition:all .3s;position:absolute;top:43px;bottom:0;right:0}#content.active[_ngcontent-%COMP%]{width:100vw}.isPwdDisplayed[_nghost-%COMP%]   .cd-navbar-top[_ngcontent-%COMP%]   .cd-navbar-brand[_ngcontent-%COMP%]{top:37.6px}.isPwdDisplayed[_nghost-%COMP%]   #sidebar[_ngcontent-%COMP%]{top:80.6px}.isPwdDisplayed[_nghost-%COMP%]   #content[_ngcontent-%COMP%]{top:80.6px}.isPwdDisplayed[_nghost-%COMP%]   cd-notifications-sidebar[_ngcontent-%COMP%]{top:90.6px}']],data:{}});function je(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,0,null,null,null,null,null,null,null))],null,null)}function Fe(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,0,null,null,null,null,null,null,null))],null,null)}function ze(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"li",[["class","nav-item "]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,1,"cd-language-selector",[["class","cd-navbar"]],null,null,null,lt,at)),i["ɵdid"](2,114688,null,0,et,[nt.j,X],null,null),(t()(),i["ɵeld"](3,0,null,null,2,"li",[["class","nav-item "]],null,null,null,null,null)),(t()(),i["ɵeld"](4,0,null,null,1,"cd-notifications",[["class","cd-navbar"]],null,null,null,mt,pt)),i["ɵdid"](5,114688,null,0,ft,[ut.a,gt.a],null,null),(t()(),i["ɵeld"](6,0,null,null,2,"li",[["class","nav-item "]],null,null,null,null,null)),(t()(),i["ɵeld"](7,0,null,null,1,"cd-dashboard-help",[["class","cd-navbar"]],null,null,null,wt,Mt)),i["ɵdid"](8,114688,null,0,Ct,[gt.a,ht.a,Pt.b,bt.a],null,null),(t()(),i["ɵeld"](9,0,null,null,2,"li",[["class","nav-item "]],null,null,null,null,null)),(t()(),i["ɵeld"](10,0,null,null,1,"cd-administration",[["class","cd-navbar"]],null,null,null,At,St)),i["ɵdid"](11,114688,null,0,kt,[bt.a],null,null),(t()(),i["ɵeld"](12,0,null,null,2,"li",[["class","nav-item "]],null,null,null,null,null)),(t()(),i["ɵeld"](13,0,null,null,1,"cd-identity",[["class","cd-navbar"]],null,null,null,Ft,Lt)),i["ɵdid"](14,114688,null,0,Dt,[bt.a,Et.a],null,null)],(function(t,e){t(e,2,0),t(e,5,0),t(e,8,0),t(e,11,0),t(e,14,0)}),null)}function Ve(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,"li",[["class","tc_submenuitem tc_submenuitem_hosts"],["routerLinkActive","active"]],null,null,null,null,null)),i["ɵdid"](1,1720320,null,2,Tt.o,[Tt.m,i.ElementRef,i.Renderer2,[2,Tt.n],[2,Tt.p]],{routerLinkActive:[0,"routerLinkActive"]},null),i["ɵqud"](603979776,5,{links:1}),i["ɵqud"](603979776,6,{linksWithHrefs:1}),(t()(),i["ɵeld"](4,0,null,null,2,"a",[["routerLink","/hosts"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,5).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](5,671744,[[6,4],[4,4]],0,Tt.p,[Tt.m,Tt.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵted"](-1,null,["Hosts"]))],(function(t,e){t(e,1,0,"active"),t(e,5,0,"/hosts")}),(function(t,e){t(e,4,0,i["ɵnov"](e,5).target,i["ɵnov"](e,5).href)}))}function Ge(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,"li",[["class","tc_submenuitem tc_submenuitem_cluster_inventory"],["routerLinkActive","active"]],null,null,null,null,null)),i["ɵdid"](1,1720320,null,2,Tt.o,[Tt.m,i.ElementRef,i.Renderer2,[2,Tt.n],[2,Tt.p]],{routerLinkActive:[0,"routerLinkActive"]},null),i["ɵqud"](603979776,7,{links:1}),i["ɵqud"](603979776,8,{linksWithHrefs:1}),(t()(),i["ɵeld"](4,0,null,null,2,"a",[["routerLink","/inventory"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,5).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](5,671744,[[8,4],[4,4]],0,Tt.p,[Tt.m,Tt.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵted"](-1,null,["Inventory"]))],(function(t,e){t(e,1,0,"active"),t(e,5,0,"/inventory")}),(function(t,e){t(e,4,0,i["ɵnov"](e,5).target,i["ɵnov"](e,5).href)}))}function Ye(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,"li",[["class","tc_submenuitem tc_submenuitem_cluster_monitor"],["routerLinkActive","active"]],null,null,null,null,null)),i["ɵdid"](1,1720320,null,2,Tt.o,[Tt.m,i.ElementRef,i.Renderer2,[2,Tt.n],[2,Tt.p]],{routerLinkActive:[0,"routerLinkActive"]},null),i["ɵqud"](603979776,9,{links:1}),i["ɵqud"](603979776,10,{linksWithHrefs:1}),(t()(),i["ɵeld"](4,0,null,null,2,"a",[["routerLink","/monitor/"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,5).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](5,671744,[[10,4],[4,4]],0,Tt.p,[Tt.m,Tt.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵted"](-1,null,["Monitors"]))],(function(t,e){t(e,1,0,"active"),t(e,5,0,"/monitor/")}),(function(t,e){t(e,4,0,i["ɵnov"](e,5).target,i["ɵnov"](e,5).href)}))}function Be(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,"li",[["class","tc_submenuitem tc_submenuitem_cluster_services"],["routerLinkActive","active"]],null,null,null,null,null)),i["ɵdid"](1,1720320,null,2,Tt.o,[Tt.m,i.ElementRef,i.Renderer2,[2,Tt.n],[2,Tt.p]],{routerLinkActive:[0,"routerLinkActive"]},null),i["ɵqud"](603979776,11,{links:1}),i["ɵqud"](603979776,12,{linksWithHrefs:1}),(t()(),i["ɵeld"](4,0,null,null,2,"a",[["routerLink","/services/"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,5).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](5,671744,[[12,4],[4,4]],0,Tt.p,[Tt.m,Tt.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵted"](-1,null,["Services"]))],(function(t,e){t(e,1,0,"active"),t(e,5,0,"/services/")}),(function(t,e){t(e,4,0,i["ɵnov"](e,5).target,i["ɵnov"](e,5).href)}))}function He(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,"li",[["class","tc_submenuitem tc_submenuitem_osds"],["routerLinkActive","active"]],null,null,null,null,null)),i["ɵdid"](1,1720320,null,2,Tt.o,[Tt.m,i.ElementRef,i.Renderer2,[2,Tt.n],[2,Tt.p]],{routerLinkActive:[0,"routerLinkActive"]},null),i["ɵqud"](603979776,13,{links:1}),i["ɵqud"](603979776,14,{linksWithHrefs:1}),(t()(),i["ɵeld"](4,0,null,null,2,"a",[["routerLink","/osd"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,5).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](5,671744,[[14,4],[4,4]],0,Tt.p,[Tt.m,Tt.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵted"](-1,null,["OSDs"]))],(function(t,e){t(e,1,0,"active"),t(e,5,0,"/osd")}),(function(t,e){t(e,4,0,i["ɵnov"](e,5).target,i["ɵnov"](e,5).href)}))}function Ue(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,"li",[["class","tc_submenuitem tc_submenuitem_configuration"],["routerLinkActive","active"]],null,null,null,null,null)),i["ɵdid"](1,1720320,null,2,Tt.o,[Tt.m,i.ElementRef,i.Renderer2,[2,Tt.n],[2,Tt.p]],{routerLinkActive:[0,"routerLinkActive"]},null),i["ɵqud"](603979776,15,{links:1}),i["ɵqud"](603979776,16,{linksWithHrefs:1}),(t()(),i["ɵeld"](4,0,null,null,2,"a",[["routerLink","/configuration"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,5).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](5,671744,[[16,4],[4,4]],0,Tt.p,[Tt.m,Tt.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵted"](-1,null,["Configuration"]))],(function(t,e){t(e,1,0,"active"),t(e,5,0,"/configuration")}),(function(t,e){t(e,4,0,i["ɵnov"](e,5).target,i["ɵnov"](e,5).href)}))}function We(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,"li",[["class","tc_submenuitem tc_submenuitem_crush"],["routerLinkActive","active"]],null,null,null,null,null)),i["ɵdid"](1,1720320,null,2,Tt.o,[Tt.m,i.ElementRef,i.Renderer2,[2,Tt.n],[2,Tt.p]],{routerLinkActive:[0,"routerLinkActive"]},null),i["ɵqud"](603979776,17,{links:1}),i["ɵqud"](603979776,18,{linksWithHrefs:1}),(t()(),i["ɵeld"](4,0,null,null,2,"a",[["routerLink","/crush-map"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,5).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](5,671744,[[18,4],[4,4]],0,Tt.p,[Tt.m,Tt.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵted"](-1,null,["CRUSH map"]))],(function(t,e){t(e,1,0,"active"),t(e,5,0,"/crush-map")}),(function(t,e){t(e,4,0,i["ɵnov"](e,5).target,i["ɵnov"](e,5).href)}))}function Ke(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,"li",[["class","tc_submenuitem tc_submenuitem_modules"],["routerLinkActive","active"]],null,null,null,null,null)),i["ɵdid"](1,1720320,null,2,Tt.o,[Tt.m,i.ElementRef,i.Renderer2,[2,Tt.n],[2,Tt.p]],{routerLinkActive:[0,"routerLinkActive"]},null),i["ɵqud"](603979776,19,{links:1}),i["ɵqud"](603979776,20,{linksWithHrefs:1}),(t()(),i["ɵeld"](4,0,null,null,2,"a",[["routerLink","/mgr-modules"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,5).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](5,671744,[[20,4],[4,4]],0,Tt.p,[Tt.m,Tt.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵted"](-1,null,["Manager modules"]))],(function(t,e){t(e,1,0,"active"),t(e,5,0,"/mgr-modules")}),(function(t,e){t(e,4,0,i["ɵnov"](e,5).target,i["ɵnov"](e,5).href)}))}function $e(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,"li",[["class","tc_submenuitem tc_submenuitem_log"],["routerLinkActive","active"]],null,null,null,null,null)),i["ɵdid"](1,1720320,null,2,Tt.o,[Tt.m,i.ElementRef,i.Renderer2,[2,Tt.n],[2,Tt.p]],{routerLinkActive:[0,"routerLinkActive"]},null),i["ɵqud"](603979776,21,{links:1}),i["ɵqud"](603979776,22,{linksWithHrefs:1}),(t()(),i["ɵeld"](4,0,null,null,2,"a",[["routerLink","/logs"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,5).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](5,671744,[[22,4],[4,4]],0,Tt.p,[Tt.m,Tt.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵted"](-1,null,["Logs"]))],(function(t,e){t(e,1,0,"active"),t(e,5,0,"/logs")}),(function(t,e){t(e,4,0,i["ɵnov"](e,5).target,i["ɵnov"](e,5).href)}))}function Ze(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,"li",[["class","tc_submenuitem tc_submenuitem_monitoring"],["routerLinkActive","active"]],null,null,null,null,null)),i["ɵdid"](1,1720320,null,2,Tt.o,[Tt.m,i.ElementRef,i.Renderer2,[2,Tt.n],[2,Tt.p]],{routerLinkActive:[0,"routerLinkActive"]},null),i["ɵqud"](603979776,23,{links:1}),i["ɵqud"](603979776,24,{linksWithHrefs:1}),(t()(),i["ɵeld"](4,0,null,null,2,"a",[["routerLink","/monitoring"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,5).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](5,671744,[[24,4],[4,4]],0,Tt.p,[Tt.m,Tt.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵted"](-1,null,["Monitoring"]))],(function(t,e){t(e,1,0,"active"),t(e,5,0,"/monitoring")}),(function(t,e){t(e,4,0,i["ɵnov"](e,5).target,i["ɵnov"](e,5).href)}))}function Je(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,28,"li",[["class","nav-item tc_menuitem_cluster"],["routerLinkActive","active"]],null,null,null,null,null)),i["ɵdid"](1,1720320,null,2,Tt.o,[Tt.m,i.ElementRef,i.Renderer2,[2,Tt.n],[2,Tt.p]],{routerLinkActive:[0,"routerLinkActive"]},null),i["ɵqud"](603979776,3,{links:1}),i["ɵqud"](603979776,4,{linksWithHrefs:1}),(t()(),i["ɵeld"](4,0,null,null,2,"a",[["aria-controls","collapseBasic"],["class","nav-link dropdown-toggle"]],[[1,"aria-expanded",0]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.toggleSubMenu("cluster")&&a),a}),null,null)),(t()(),i["ɵeld"](5,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Cluster"])),(t()(),i["ɵeld"](7,0,null,null,21,"ul",[["class","list-unstyled"]],[[2,"collapse",null],[2,"in",null],[2,"show",null],[1,"aria-expanded",0],[1,"aria-hidden",0],[2,"collapsing",null]],null,null,null,null)),i["ɵdid"](8,8404992,null,0,Yt,[i.ElementRef,i.Renderer2,zt.b],{isAnimated:[0,"isAnimated"],collapse:[1,"collapse"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Ve)),i["ɵdid"](10,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Ge)),i["ɵdid"](12,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Ye)),i["ɵdid"](14,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Be)),i["ɵdid"](16,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,He)),i["ɵdid"](18,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Ue)),i["ɵdid"](20,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,We)),i["ɵdid"](22,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Ke)),i["ɵdid"](24,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,$e)),i["ɵdid"](26,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Ze)),i["ɵdid"](28,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0,"active"),t(e,8,0,!0,"cluster"!==n.displayedSubMenu),t(e,10,0,n.permissions.hosts.read),t(e,12,0,n.permissions.hosts.read),t(e,14,0,n.permissions.monitor.read),t(e,16,0,n.permissions.hosts.read),t(e,18,0,n.permissions.osd.read),t(e,20,0,n.permissions.configOpt.read),t(e,22,0,n.permissions.osd.read),t(e,24,0,n.permissions.configOpt.read),t(e,26,0,n.permissions.log.read),t(e,28,0,n.permissions.prometheus.read)}),(function(t,e){t(e,4,0,"cluster"==e.component.displayedSubMenu),t(e,7,0,i["ɵnov"](e,8).isCollapse,i["ɵnov"](e,8).isExpanded,i["ɵnov"](e,8).isExpanded,i["ɵnov"](e,8).isExpanded,i["ɵnov"](e,8).isCollapsed,i["ɵnov"](e,8).isCollapsing)}))}function Xe(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,"li",[["class","nav-item tc_menuitem_pool"],["routerLinkActive","active"]],null,null,null,null,null)),i["ɵdid"](1,1720320,null,2,Tt.o,[Tt.m,i.ElementRef,i.Renderer2,[2,Tt.n],[2,Tt.p]],{routerLinkActive:[0,"routerLinkActive"]},null),i["ɵqud"](603979776,25,{links:1}),i["ɵqud"](603979776,26,{linksWithHrefs:1}),(t()(),i["ɵeld"](4,0,null,null,2,"a",[["class","nav-link"],["routerLink","/pool"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,5).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](5,671744,[[26,4]],0,Tt.p,[Tt.m,Tt.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵted"](-1,null,["Pools"]))],(function(t,e){t(e,1,0,"active"),t(e,5,0,"/pool")}),(function(t,e){t(e,4,0,i["ɵnov"](e,5).target,i["ɵnov"](e,5).href)}))}function Qe(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,"li",[["class","tc_submenuitem tc_submenuitem_block_images"],["routerLinkActive","active"]],null,null,null,null,null)),i["ɵdid"](1,1720320,null,2,Tt.o,[Tt.m,i.ElementRef,i.Renderer2,[2,Tt.n],[2,Tt.p]],{routerLinkActive:[0,"routerLinkActive"]},null),i["ɵqud"](603979776,29,{links:1}),i["ɵqud"](603979776,30,{linksWithHrefs:1}),(t()(),i["ɵeld"](4,0,null,null,2,"a",[["routerLink","/block/rbd"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,5).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](5,671744,[[30,4],[28,4]],0,Tt.p,[Tt.m,Tt.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵted"](-1,null,["Images"]))],(function(t,e){t(e,1,0,"active"),t(e,5,0,"/block/rbd")}),(function(t,e){t(e,4,0,i["ɵnov"](e,5).target,i["ɵnov"](e,5).href)}))}function tn(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"small",[["class","badge badge-warning"]],null,null,null,null,null)),(t()(),i["ɵted"](1,null,["",""]))],null,(function(t,e){var n=e.component;t(e,1,0,null==n.summaryData?null:null==n.summaryData.rbd_mirroring?null:n.summaryData.rbd_mirroring.warnings)}))}function en(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"small",[["class","badge badge-danger"]],null,null,null,null,null)),(t()(),i["ɵted"](1,null,["",""]))],null,(function(t,e){var n=e.component;t(e,1,0,null==n.summaryData?null:null==n.summaryData.rbd_mirroring?null:n.summaryData.rbd_mirroring.errors)}))}function nn(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,11,"li",[["class","tc_submenuitem tc_submenuitem_block_mirroring"],["routerLinkActive","active"]],null,null,null,null,null)),i["ɵdid"](1,1720320,null,2,Tt.o,[Tt.m,i.ElementRef,i.Renderer2,[2,Tt.n],[2,Tt.p]],{routerLinkActive:[0,"routerLinkActive"]},null),i["ɵqud"](603979776,31,{links:1}),i["ɵqud"](603979776,32,{linksWithHrefs:1}),(t()(),i["ɵeld"](4,0,null,null,7,"a",[["routerLink","/block/mirroring"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,5).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](5,671744,[[32,4],[28,4]],0,Tt.p,[Tt.m,Tt.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵeld"](6,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Mirroring"])),(t()(),i["ɵand"](16777216,null,null,1,null,tn)),i["ɵdid"](9,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,en)),i["ɵdid"](11,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0,"active"),t(e,5,0,"/block/mirroring"),t(e,9,0,0!==(null==n.summaryData?null:null==n.summaryData.rbd_mirroring?null:n.summaryData.rbd_mirroring.warnings)),t(e,11,0,0!==(null==n.summaryData?null:null==n.summaryData.rbd_mirroring?null:n.summaryData.rbd_mirroring.errors))}),(function(t,e){t(e,4,0,i["ɵnov"](e,5).target,i["ɵnov"](e,5).href)}))}function an(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,"li",[["class","tc_submenuitem tc_submenuitem_block_iscsi"],["routerLinkActive","active"]],null,null,null,null,null)),i["ɵdid"](1,1720320,null,2,Tt.o,[Tt.m,i.ElementRef,i.Renderer2,[2,Tt.n],[2,Tt.p]],{routerLinkActive:[0,"routerLinkActive"]},null),i["ɵqud"](603979776,33,{links:1}),i["ɵqud"](603979776,34,{linksWithHrefs:1}),(t()(),i["ɵeld"](4,0,null,null,2,"a",[["routerLink","/block/iscsi"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,5).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](5,671744,[[34,4],[28,4]],0,Tt.p,[Tt.m,Tt.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵted"](-1,null,["iSCSI"]))],(function(t,e){t(e,1,0,"active"),t(e,5,0,"/block/iscsi")}),(function(t,e){t(e,4,0,i["ɵnov"](e,5).target,i["ɵnov"](e,5).href)}))}function rn(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,16,"li",[["class","nav-item tc_menuitem_block"],["routerLinkActive","active"]],null,null,null,null,null)),i["ɵdid"](1,1720320,null,2,Tt.o,[Tt.m,i.ElementRef,i.Renderer2,[2,Tt.n],[2,Tt.p]],{routerLinkActive:[0,"routerLinkActive"]},null),i["ɵqud"](603979776,27,{links:1}),i["ɵqud"](603979776,28,{linksWithHrefs:1}),(t()(),i["ɵeld"](4,0,null,null,4,"a",[["aria-controls","collapseBasic"],["class","nav-link dropdown-toggle"]],[[1,"aria-expanded",0]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.toggleSubMenu("block")&&a),a}),null,null)),i["ɵprd"](512,null,o["ɵNgStyleImpl"],o["ɵNgStyleR2Impl"],[i.ElementRef,i.KeyValueDiffers,i.Renderer2]),i["ɵdid"](6,278528,null,0,o.NgStyle,[o["ɵNgStyleImpl"]],{ngStyle:[0,"ngStyle"]},null),(t()(),i["ɵeld"](7,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Block"])),(t()(),i["ɵeld"](9,0,null,null,7,"ul",[["class","list-unstyled"]],[[2,"collapse",null],[2,"in",null],[2,"show",null],[1,"aria-expanded",0],[1,"aria-hidden",0],[2,"collapsing",null]],null,null,null,null)),i["ɵdid"](10,8404992,null,0,Yt,[i.ElementRef,i.Renderer2,zt.b],{isAnimated:[0,"isAnimated"],collapse:[1,"collapse"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Qe)),i["ɵdid"](12,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,nn)),i["ɵdid"](14,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,an)),i["ɵdid"](16,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0,"active"),t(e,6,0,n.blockHealthColor()),t(e,10,0,!0,"block"!==n.displayedSubMenu),t(e,12,0,n.permissions.rbdImage.read&&e.parent.context.ngIf.rbd),t(e,14,0,n.permissions.rbdMirroring.read&&e.parent.context.ngIf.mirroring),t(e,16,0,n.permissions.iscsi.read&&e.parent.context.ngIf.iscsi)}),(function(t,e){t(e,4,0,"block"==e.component.displayedSubMenu),t(e,9,0,i["ɵnov"](e,10).isCollapse,i["ɵnov"](e,10).isExpanded,i["ɵnov"](e,10).isExpanded,i["ɵnov"](e,10).isExpanded,i["ɵnov"](e,10).isCollapsed,i["ɵnov"](e,10).isCollapsing)}))}function on(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,"li",[["class","nav-item tc_menuitem_nfs"],["routerLinkActive","active"]],null,null,null,null,null)),i["ɵdid"](1,1720320,null,2,Tt.o,[Tt.m,i.ElementRef,i.Renderer2,[2,Tt.n],[2,Tt.p]],{routerLinkActive:[0,"routerLinkActive"]},null),i["ɵqud"](603979776,35,{links:1}),i["ɵqud"](603979776,36,{linksWithHrefs:1}),(t()(),i["ɵeld"](4,0,null,null,2,"a",[["class","nav-link"],["routerLink","/nfs"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,5).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](5,671744,[[36,4]],0,Tt.p,[Tt.m,Tt.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵted"](-1,null,["NFS"]))],(function(t,e){t(e,1,0,"active"),t(e,5,0,"/nfs")}),(function(t,e){t(e,4,0,i["ɵnov"](e,5).target,i["ɵnov"](e,5).href)}))}function sn(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,"li",[["class","nav-item tc_menuitem_cephfs"],["routerLinkActive","active"]],null,null,null,null,null)),i["ɵdid"](1,1720320,null,2,Tt.o,[Tt.m,i.ElementRef,i.Renderer2,[2,Tt.n],[2,Tt.p]],{routerLinkActive:[0,"routerLinkActive"]},null),i["ɵqud"](603979776,37,{links:1}),i["ɵqud"](603979776,38,{linksWithHrefs:1}),(t()(),i["ɵeld"](4,0,null,null,2,"a",[["class","nav-link"],["routerLink","/cephfs"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,5).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](5,671744,[[38,4]],0,Tt.p,[Tt.m,Tt.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵted"](-1,null,["Filesystems"]))],(function(t,e){t(e,1,0,"active"),t(e,5,0,"/cephfs")}),(function(t,e){t(e,4,0,i["ɵnov"](e,5).target,i["ɵnov"](e,5).href)}))}function cn(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,29,"li",[["class","nav-item tc_menuitem_rgw"],["routerLinkActive","active"]],null,null,null,null,null)),i["ɵdid"](1,1720320,null,2,Tt.o,[Tt.m,i.ElementRef,i.Renderer2,[2,Tt.n],[2,Tt.p]],{routerLinkActive:[0,"routerLinkActive"]},null),i["ɵqud"](603979776,39,{links:1}),i["ɵqud"](603979776,40,{linksWithHrefs:1}),(t()(),i["ɵeld"](4,0,null,null,2,"a",[["aria-controls","collapseBasic"],["class","nav-link dropdown-toggle"]],[[1,"aria-expanded",0]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.toggleSubMenu("rgw")&&a),a}),null,null)),(t()(),i["ɵeld"](5,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Object Gateway"])),(t()(),i["ɵeld"](7,0,null,null,22,"ul",[["class","list-unstyled"]],[[2,"collapse",null],[2,"in",null],[2,"show",null],[1,"aria-expanded",0],[1,"aria-hidden",0],[2,"collapsing",null]],null,null,null,null)),i["ɵdid"](8,8404992,null,0,Yt,[i.ElementRef,i.Renderer2,zt.b],{isAnimated:[0,"isAnimated"],collapse:[1,"collapse"]},null),(t()(),i["ɵeld"](9,0,null,null,6,"li",[["class","tc_submenuitem tc_submenuitem_rgw_daemons"],["routerLinkActive","active"]],null,null,null,null,null)),i["ɵdid"](10,1720320,null,2,Tt.o,[Tt.m,i.ElementRef,i.Renderer2,[2,Tt.n],[2,Tt.p]],{routerLinkActive:[0,"routerLinkActive"]},null),i["ɵqud"](603979776,41,{links:1}),i["ɵqud"](603979776,42,{linksWithHrefs:1}),(t()(),i["ɵeld"](13,0,null,null,2,"a",[["routerLink","/rgw/daemon"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,14).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](14,671744,[[42,4],[40,4]],0,Tt.p,[Tt.m,Tt.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵted"](-1,null,["Daemons"])),(t()(),i["ɵeld"](16,0,null,null,6,"li",[["class","tc_submenuitem tc_submenuitem_rgw_users"],["routerLinkActive","active"]],null,null,null,null,null)),i["ɵdid"](17,1720320,null,2,Tt.o,[Tt.m,i.ElementRef,i.Renderer2,[2,Tt.n],[2,Tt.p]],{routerLinkActive:[0,"routerLinkActive"]},null),i["ɵqud"](603979776,43,{links:1}),i["ɵqud"](603979776,44,{linksWithHrefs:1}),(t()(),i["ɵeld"](20,0,null,null,2,"a",[["routerLink","/rgw/user"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,21).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](21,671744,[[44,4],[40,4]],0,Tt.p,[Tt.m,Tt.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵted"](-1,null,["Users"])),(t()(),i["ɵeld"](23,0,null,null,6,"li",[["class","tc_submenuitem tc_submenuitem_rgw_buckets"],["routerLinkActive","active"]],null,null,null,null,null)),i["ɵdid"](24,1720320,null,2,Tt.o,[Tt.m,i.ElementRef,i.Renderer2,[2,Tt.n],[2,Tt.p]],{routerLinkActive:[0,"routerLinkActive"]},null),i["ɵqud"](603979776,45,{links:1}),i["ɵqud"](603979776,46,{linksWithHrefs:1}),(t()(),i["ɵeld"](27,0,null,null,2,"a",[["routerLink","/rgw/bucket"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,28).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](28,671744,[[46,4],[40,4]],0,Tt.p,[Tt.m,Tt.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵted"](-1,null,["Buckets"]))],(function(t,e){var n=e.component;t(e,1,0,"active"),t(e,8,0,!0,"rgw"!==n.displayedSubMenu),t(e,10,0,"active"),t(e,14,0,"/rgw/daemon"),t(e,17,0,"active"),t(e,21,0,"/rgw/user"),t(e,24,0,"active"),t(e,28,0,"/rgw/bucket")}),(function(t,e){t(e,4,0,"rgw"==e.component.displayedSubMenu),t(e,7,0,i["ɵnov"](e,8).isCollapse,i["ɵnov"](e,8).isExpanded,i["ɵnov"](e,8).isExpanded,i["ɵnov"](e,8).isExpanded,i["ɵnov"](e,8).isCollapsed,i["ɵnov"](e,8).isCollapsing),t(e,13,0,i["ɵnov"](e,14).target,i["ɵnov"](e,14).href),t(e,20,0,i["ɵnov"](e,21).target,i["ɵnov"](e,21).href),t(e,27,0,i["ɵnov"](e,28).target,i["ɵnov"](e,28).href)}))}function ln(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,28,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,15,"li",[["class","nav-item tc_menuitem_dashboard"],["routerLinkActive","active"]],null,null,null,null,null)),i["ɵdid"](2,1720320,null,2,Tt.o,[Tt.m,i.ElementRef,i.Renderer2,[2,Tt.n],[2,Tt.p]],{routerLinkActive:[0,"routerLinkActive"]},null),i["ɵqud"](603979776,1,{links:1}),i["ɵqud"](603979776,2,{linksWithHrefs:1}),(t()(),i["ɵeld"](5,0,null,null,11,"a",[["class","nav-link"],["routerLink","/dashboard"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,6).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](6,671744,[[2,4]],0,Tt.p,[Tt.m,Tt.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵeld"](7,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Dashboard"])),(t()(),i["ɵted"](-1,null,["  "])),(t()(),i["ɵeld"](10,0,null,null,6,"i",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](12,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](13,1),i["ɵprd"](512,null,o["ɵNgStyleImpl"],o["ɵNgStyleR2Impl"],[i.ElementRef,i.KeyValueDiffers,i.Renderer2]),i["ɵdid"](15,278528,null,0,o.NgStyle,[o["ɵNgStyleImpl"]],{ngStyle:[0,"ngStyle"]},null),i["ɵppd"](16,1),(t()(),i["ɵand"](16777216,null,null,1,null,Je)),i["ɵdid"](18,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Xe)),i["ɵdid"](20,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,rn)),i["ɵdid"](22,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,on)),i["ɵdid"](24,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,sn)),i["ɵdid"](26,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,cn)),i["ɵdid"](28,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](0,null,null,0))],(function(t,e){var n=e.component;t(e,2,0,"active"),t(e,6,0,"/dashboard");var a=t(e,13,0,n.icons.health);t(e,12,0,a);var r=i["ɵunv"](e,15,0,t(e,16,0,i["ɵnov"](e.parent.parent,0),null==n.summaryData?null:n.summaryData.health_status));t(e,15,0,r),t(e,18,0,n.permissions.hosts.read||n.permissions.monitor.read||n.permissions.osd.read||n.permissions.configOpt.read||n.permissions.log.read||n.permissions.prometheus.read),t(e,20,0,n.permissions.pool.read),t(e,22,0,(n.permissions.rbdImage.read||n.permissions.rbdMirroring.read||n.permissions.iscsi.read)&&(e.context.ngIf.rbd||e.context.ngIf.mirroring||e.context.ngIf.iscsi)),t(e,24,0,n.permissions.nfs.read&&e.context.ngIf.nfs),t(e,26,0,n.permissions.cephfs.read&&e.context.ngIf.cephfs),t(e,28,0,n.permissions.rgw.read&&e.context.ngIf.rgw)}),(function(t,e){t(e,5,0,i["ɵnov"](e,6).target,i["ɵnov"](e,6).href)}))}function dn(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,2,null,ln)),i["ɵdid"](1,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),i["ɵpid"](131072,o.AsyncPipe,[i.ChangeDetectorRef]),(t()(),i["ɵand"](0,null,null,0))],(function(t,e){var n=e.component;t(e,1,0,i["ɵunv"](e,1,0,i["ɵnov"](e,2).transform(n.enabledFeature$)))}),null)}function un(t){return i["ɵvid"](0,[i["ɵpid"](0,Ht,[]),(t()(),i["ɵeld"](1,0,null,null,1,"cd-pwd-expiration-notification",[],null,null,null,ee,Jt)),i["ɵdid"](2,114688,null,0,Zt,[Kt.a,bt.a],null,null),(t()(),i["ɵeld"](3,0,null,null,1,"cd-notifications-sidebar",[],[[2,"active",null]],null,null,Ee,Ce)),i["ɵdid"](4,245760,null,0,ve,[ut.a,gt.a,ge.a,Oe,bt.a,ye,i.NgZone,i.ChangeDetectorRef],null,null),(t()(),i["ɵeld"](5,0,null,null,15,"div",[["class","cd-navbar-top"]],null,null,null,null,null)),(t()(),i["ɵeld"](6,0,null,null,14,"nav",[["class","navbar fixed-top navbar-expand-md navbar-dark cd-navbar-brand"]],null,null,null,null,null)),(t()(),i["ɵeld"](7,0,null,null,1,"button",[["class","btn btn-link py-0"]],null,[[null,"click"]],(function(t,e,n){var a=!0,r=t.component;return"click"===e&&(a=0!=(r.showMenuSidebar=!r.showMenuSidebar)&&a),a}),null,null)),(t()(),i["ɵeld"](8,0,null,null,0,"i",[["aria-hidden","true"],["class","fa fa-bars fa-2x"]],null,null,null,null,null)),(t()(),i["ɵeld"](9,0,null,null,1,"a",[["class","navbar-brand ml-2"],["href","#"]],null,null,null,null,null)),(t()(),i["ɵeld"](10,0,null,null,0,"img",[["alt","Ceph"],["src","assets/Ceph_Logo_Standard_RGB_White_120411_fa.png"]],null,null,null,null,null)),(t()(),i["ɵeld"](11,0,null,null,4,"button",[["class","navbar-toggler"],["type","button"]],null,[[null,"click"]],(function(t,e,n){var a=!0,r=t.component;return"click"===e&&(a=0!=(r.isCollapsed=!r.isCollapsed)&&a),a}),null,null)),(t()(),i["ɵeld"](12,0,null,null,1,"span",[["class","sr-only"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Toggle navigation"])),(t()(),i["ɵeld"](14,0,null,null,1,"span",[["class",""]],null,null,null,null,null)),(t()(),i["ɵeld"](15,0,null,null,0,"i",[["class","fa fa-navicon fa-lg"]],null,null,null,null,null)),(t()(),i["ɵeld"](16,0,null,null,4,"div",[["class","collapse navbar-collapse"]],[[2,"collapse",null],[2,"in",null],[2,"show",null],[1,"aria-expanded",0],[1,"aria-hidden",0],[2,"collapsing",null]],null,null,null,null)),i["ɵdid"](17,8404992,null,0,Yt,[i.ElementRef,i.Renderer2,zt.b],{collapse:[0,"collapse"]},null),(t()(),i["ɵeld"](18,0,null,null,2,"ul",[["class","nav navbar-nav cd-navbar-utility my-2 my-md-0"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,je)),i["ɵdid"](20,540672,null,0,o.NgTemplateOutlet,[i.ViewContainerRef],{ngTemplateOutlet:[0,"ngTemplateOutlet"]},null),(t()(),i["ɵeld"](21,0,null,null,14,"div",[["class","wrapper"]],null,null,null,null,null)),(t()(),i["ɵeld"](22,0,null,null,8,"nav",[["id","sidebar"]],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](24,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpod"](25,{active:0}),(t()(),i["ɵeld"](26,0,null,null,4,"ngx-simplebar",[["data-simplebar","init"]],null,null,null,de,le)),i["ɵdid"](27,4440064,null,0,ce.a,[i.ElementRef],{options:[0,"options"]},null),(t()(),i["ɵeld"](28,0,null,0,2,"ul",[["class","list-unstyled components cd-navbar-primary"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Fe)),i["ɵdid"](30,540672,null,0,o.NgTemplateOutlet,[i.ViewContainerRef],{ngTemplateOutlet:[0,"ngTemplateOutlet"]},null),(t()(),i["ɵeld"](31,0,null,null,4,"div",[["id","content"]],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](33,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpod"](34,{active:0}),i["ɵncd"](null,0),(t()(),i["ɵand"](0,[["cd_utilities",2]],null,0,null,ze)),(t()(),i["ɵand"](0,[["cd_menu",2]],null,0,null,dn))],(function(t,e){var n=e.component;t(e,2,0),t(e,4,0),t(e,17,0,n.isCollapsed),t(e,20,0,i["ɵnov"](e,36));var a=t(e,25,0,!n.showMenuSidebar);t(e,24,0,a),t(e,27,0,n.simplebar),t(e,30,0,i["ɵnov"](e,37));var r=t(e,34,0,!n.showMenuSidebar);t(e,33,0,r)}),(function(t,e){t(e,3,0,i["ɵnov"](e,4).isSidebarOpened),t(e,16,0,i["ɵnov"](e,17).isCollapse,i["ɵnov"](e,17).isExpanded,i["ɵnov"](e,17).isExpanded,i["ɵnov"](e,17).isExpanded,i["ɵnov"](e,17).isCollapsed,i["ɵnov"](e,17).isCollapsing)}))}var gn=n("LRne"),fn=n("HDdC"),pn=n("Cfvw"),mn=n("pLZG"),hn=n("5+tZ"),bn=n("02Lk"),_n=n("IAdc"),yn=n("SxV6"),On=n("f29J");class vn{resolve(t){const e=t.routeConfig.data,n=null===e.path?null:this.getFullPath(t),a=[{text:"string"==typeof e.breadcrumbs?e.breadcrumbs:e.breadcrumbs.text||e.text||n,path:n}];return Object(gn.a)(a)}getFullPath(t){return t.pathFromRoot.reduce((t,e)=>t+e.url.reduce((t,e)=>t+"/"+e.path,""),"")}}class Cn{constructor(t,e){this.router=t,this.injector=e,this.crumbs=[],this.finished=!1,this.defaultResolver=new vn,this.subscription=this.router.events.pipe(Object(mn.a)(t=>t instanceof Tt.e)).subscribe(()=>{this.finished=!1}),this.subscription=this.router.events.pipe(Object(mn.a)(t=>t instanceof Tt.d)).subscribe(()=>{this._resolveCrumbs(t.routerState.snapshot.root).pipe(Object(hn.a)(t=>t),Object(bn.a)(t=>t.text),Object(_n.a)(),Object(hn.a)(t=>{const e=this.postProcess(t);return this.wrapIntoObservable(e).pipe(Object(yn.a)())})).subscribe(t=>{this.finished=!0,this.crumbs=t})})}ngOnDestroy(){this.subscription.unsubscribe()}_resolveCrumbs(t){let e;const n=t.routeConfig&&t.routeConfig.data;if(n&&n.breadcrumbs){let a;a=n.breadcrumbs.prototype instanceof vn?this.injector.get(n.breadcrumbs):this.defaultResolver;const r=a.resolve(t);e=this.wrapIntoObservable(r).pipe(Object(yn.a)())}else e=Object(gn.a)([]);return t.firstChild&&(e=e.pipe(Object(On.a)(this._resolveCrumbs(t.firstChild)))),e}postProcess(t){const e=[];return t.forEach(t=>{const n=t.text.split("/");if(n.length>1){t.text=n[n.length-1];for(let t=0;t<n.length-1;t++)e.push({text:n[t],path:null})}e.push(t)}),e}isPromise(t){return t&&"function"==typeof t.then}wrapIntoObservable(t){return t instanceof fn.a?t:this.isPromise(t)?Object(pn.a)(Promise.resolve(t)):Object(gn.a)(t)}}var Pn=i["ɵcrt"]({encapsulation:0,styles:[['@charset "UTF-8";.breadcrumb[_ngcontent-%COMP%]{padding:8px 0;background-color:transparent;border-radius:0;margin-top:8px}.breadcrumb[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] + li[_ngcontent-%COMP%]:before{padding:0 5px 0 7px;color:#474544;font-family:ForkAwesome;content:""}.breadcrumb[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{color:#474544}']],data:{}});function Mn(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"a",[["preserveFragment",""]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,1).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](1,671744,null,0,Tt.p,[Tt.m,Tt.a,o.LocationStrategy],{preserveFragment:[0,"preserveFragment"],routerLink:[1,"routerLink"]},null),(t()(),i["ɵted"](2,null,["",""]))],(function(t,e){t(e,1,0,"",e.parent.context.$implicit.path)}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).target,i["ɵnov"](e,1).href),t(e,2,0,e.parent.context.$implicit.text)}))}function xn(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](1,null,["",""]))],null,(function(t,e){t(e,1,0,e.parent.context.$implicit.text)}))}function wn(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,7,"li",[["class","breadcrumb-item"]],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](2,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),i["ɵpod"](3,{active:0}),(t()(),i["ɵand"](16777216,null,null,1,null,Mn)),i["ɵdid"](5,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,xn)),i["ɵdid"](7,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=t(e,3,0,e.context.last&&e.component.finished);t(e,2,0,"breadcrumb-item",n),t(e,5,0,!e.context.last&&null!==e.context.$implicit.path),t(e,7,0,e.context.last||null===e.context.$implicit.path)}),null)}function Tn(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"ol",[["class","breadcrumb"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,wn)),i["ɵdid"](2,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){t(e,2,0,e.component.crumbs)}),null)}function kn(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,Tn)),i["ɵdid"](1,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){t(e,1,0,e.component.crumbs.length)}),null)}var Sn=n("978R");const In=()=>Object.assign(new Sn.a,{container:"body"});class Nn{constructor(t,e){this.router=t,this.notificationService=e}isDashboardPage(){return"/dashboard"===this.router.url}}var Rn=i["ɵcrt"]({encapsulation:0,styles:[[".dashboard[_ngcontent-%COMP%]{background-color:#f5f5f5;margin:0;padding:0}.container-fluid[_ngcontent-%COMP%]{overflow:auto}  #toast-container{margin-top:2vw}@media (max-width:1600px){  #toast-container{margin-top:2.5vw}}@media (max-width:calc(992px - 1px)){  #toast-container{margin-top:9vw}}@media (max-width:900px){  #toast-container{margin-top:10vw}}@media (max-width:319px){  #toast-container{margin-top:11vw}}@media (max-width:260px){  #toast-container{margin-top:14vw}}"]],data:{}});function An(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,11,"block-ui",[],null,null,null,E,A)),i["ɵdid"](1,114688,null,0,w,[x],null,null),(t()(),i["ɵeld"](2,0,null,0,9,"cd-navigation",[],[[2,"isPwdDisplayed",null]],null,null,un,qe)),i["ɵdid"](3,114688,null,0,Le,[bt.a,gt.a,De.a],null,null),(t()(),i["ɵeld"](4,0,null,0,7,"div",[["class","container-fluid h-100"]],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](6,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),i["ɵpod"](7,{dashboard:0}),(t()(),i["ɵeld"](8,0,null,null,1,"cd-breadcrumbs",[],null,null,null,kn,Pn)),i["ɵdid"](9,180224,null,0,Cn,[Tt.m,i.Injector],null,null),(t()(),i["ɵeld"](10,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),i["ɵdid"](11,212992,null,0,Tt.r,[Tt.b,i.ViewContainerRef,i.ComponentFactoryResolver,[8,null],i.ChangeDetectorRef],null,null)],(function(t,e){var n=e.component;t(e,1,0),t(e,3,0);var a=t(e,7,0,n.isDashboardPage());t(e,6,0,"container-fluid h-100",a),t(e,11,0)}),(function(t,e){t(e,2,0,i["ɵnov"](e,3).isPwdDisplayed)}))}function En(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-workbench-layout",[],null,null,null,An,Rn)),i["ɵprd"](5120,null,Sn.a,In,[]),i["ɵdid"](2,49152,null,0,Nn,[Tt.m,ut.a],null,null)],null,null)}var Dn=i["ɵccf"]("cd-workbench-layout",Nn,En,{},{},[]),Ln=n("pKUh"),qn=n("2ZVE"),jn=n("KOzp"),Fn=n("2uy1");class zn{constructor(){this.cardClass=""}}var Vn=i["ɵcrt"]({encapsulation:0,styles:[['@charset "UTF-8";.tree-children.tree-children-no-padding[_ngcontent-%COMP%]{padding-left:0}.node-drop-slot[_ngcontent-%COMP%]{display:block;height:2px}.node-drop-slot.is-dragging-over[_ngcontent-%COMP%]{background:#dfe;height:20px;border:2px dotted #888}.toggle-children-wrapper-expanded[_ngcontent-%COMP%]   .toggle-children[_ngcontent-%COMP%]{transform:rotate(90deg)}.toggle-children-wrapper-collapsed[_ngcontent-%COMP%]   .toggle-children[_ngcontent-%COMP%]{transform:rotate(0)}.toggle-children-wrapper[_ngcontent-%COMP%]{padding:2px 3px 5px 1px}.toggle-children[_ngcontent-%COMP%]{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAASCAYAAABSO15qAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABAhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ1dWlkOjY1RTYzOTA2ODZDRjExREJBNkUyRDg4N0NFQUNCNDA3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkYzRkRFQjcxODUzNTExRTU4RTQwRkQwODFEOUZEMEE3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkYzRkRFQjcwODUzNTExRTU4RTQwRkQwODFEOUZEMEE3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE1IChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTk5NzA1OGEtZDI3OC00NDZkLWE4ODgtNGM4MGQ4YWI1NzNmIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6YzRkZmQxMGMtY2NlNS0xMTc4LWE5OGQtY2NkZmM5ODk5YWYwIi8+IDxkYzp0aXRsZT4gPHJkZjpBbHQ+IDxyZGY6bGkgeG1sOmxhbmc9IngtZGVmYXVsdCI+Z2x5cGhpY29uczwvcmRmOmxpPiA8L3JkZjpBbHQ+IDwvZGM6dGl0bGU+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+5iogFwAAAGhJREFUeNpiYGBgKABigf///zOQg0EARH4A4gZyDIIZ8B/JoAJKDIDhB0CcQIkBRBtEyABkgxwoMQCGD6AbRKoBGAYxQgXIBRuZGKgAKPIC3QLxArnRSHZCIjspk52ZKMrOFBUoAAEGAKnq593MQAZtAAAAAElFTkSuQmCC);height:8px;width:9px;background-size:contain;display:inline-block;position:relative;top:1px;background-repeat:no-repeat;background-position:center}.toggle-children-placeholder[_ngcontent-%COMP%]{display:inline-block;height:10px;width:10px;position:relative;top:1px;padding-right:3px}.node-content-wrapper[_ngcontent-%COMP%]{display:inline-block;padding:2px 5px;border-radius:2px;transition:background-color .15s,box-shadow .15s}.node-wrapper[_ngcontent-%COMP%]{display:flex;align-items:flex-start}.node-content-wrapper-active[_ngcontent-%COMP%], .node-content-wrapper-active.node-content-wrapper-focused[_ngcontent-%COMP%], .node-content-wrapper.node-content-wrapper-active[_ngcontent-%COMP%]:hover{background:#beebff}.node-content-wrapper-focused[_ngcontent-%COMP%]{background:#e7f4f9}.node-content-wrapper[_ngcontent-%COMP%]:hover{background:#f7fbff}.node-content-wrapper-active[_ngcontent-%COMP%], .node-content-wrapper-focused[_ngcontent-%COMP%], .node-content-wrapper[_ngcontent-%COMP%]:hover{box-shadow:inset 0 0 1px #999}.node-content-wrapper.is-dragging-over[_ngcontent-%COMP%]{background:#dfe;box-shadow:inset 0 0 1px #999}.node-content-wrapper.is-dragging-over-disabled[_ngcontent-%COMP%]{opacity:.5}tree-viewport[_ngcontent-%COMP%]{-webkit-tap-highlight-color:transparent;height:100%;overflow:auto;display:block}.tree-children[_ngcontent-%COMP%]{overflow:hidden;padding-left:20px}.empty-tree-drop-slot[_ngcontent-%COMP%]   .node-drop-slot[_ngcontent-%COMP%]{height:20px;min-width:100px}.angular-tree-component[_ngcontent-%COMP%]{width:100%;position:relative;display:inline-block;cursor:pointer;-webkit-touch-callout:none;-moz-user-select:none;user-select:none}tree-root[_ngcontent-%COMP%]   .angular-tree-component-rtl[_ngcontent-%COMP%]{direction:rtl}tree-root[_ngcontent-%COMP%]   .angular-tree-component-rtl[_ngcontent-%COMP%]   .toggle-children-wrapper-collapsed[_ngcontent-%COMP%]   .toggle-children[_ngcontent-%COMP%]{transform:rotate(180deg)!important}tree-root[_ngcontent-%COMP%]   .angular-tree-component-rtl[_ngcontent-%COMP%]   .tree-children[_ngcontent-%COMP%]{padding-right:20px;padding-left:0}tree-node-checkbox[_ngcontent-%COMP%]{padding:1px}[_ngcontent-%COMP%]:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#2b99a8;--secondary:#ef5c55;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#777777;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:"Helvetica Neue",Helvetica,Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*[_ngcontent-%COMP%], [_ngcontent-%COMP%]::after, [_ngcontent-%COMP%]::before{box-sizing:border-box}html[_ngcontent-%COMP%]{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article[_ngcontent-%COMP%], aside[_ngcontent-%COMP%], figcaption[_ngcontent-%COMP%], figure[_ngcontent-%COMP%], footer[_ngcontent-%COMP%], header[_ngcontent-%COMP%], hgroup[_ngcontent-%COMP%], main[_ngcontent-%COMP%], nav[_ngcontent-%COMP%], section[_ngcontent-%COMP%]{display:block}body[_ngcontent-%COMP%]{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"][_ngcontent-%COMP%]:focus{outline:0!important}h1[_ngcontent-%COMP%], h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%], h4[_ngcontent-%COMP%], h5[_ngcontent-%COMP%], h6[_ngcontent-%COMP%]{margin-top:0}dl[_ngcontent-%COMP%], ol[_ngcontent-%COMP%], p[_ngcontent-%COMP%], ul[_ngcontent-%COMP%]{margin-top:0;margin-bottom:1rem}abbr[data-original-title][_ngcontent-%COMP%], abbr[title][_ngcontent-%COMP%]{text-decoration:underline;text-decoration:underline dotted;cursor:help;border-bottom:0;text-decoration-skip-ink:none}address[_ngcontent-%COMP%]{margin-bottom:1rem;font-style:normal;line-height:inherit}ol[_ngcontent-%COMP%]   ol[_ngcontent-%COMP%], ol[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%], ul[_ngcontent-%COMP%]   ol[_ngcontent-%COMP%], ul[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]{margin-bottom:0}dt[_ngcontent-%COMP%]{font-weight:700}dd[_ngcontent-%COMP%]{margin-bottom:.5rem;margin-left:0}blockquote[_ngcontent-%COMP%], figure[_ngcontent-%COMP%]{margin:0 0 1rem}b[_ngcontent-%COMP%], strong[_ngcontent-%COMP%]{font-weight:bolder}sub[_ngcontent-%COMP%], sup[_ngcontent-%COMP%]{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub[_ngcontent-%COMP%]{bottom:-.25em}sup[_ngcontent-%COMP%]{top:-.5em}a[_ngcontent-%COMP%]{color:#2b99a8;text-decoration:none;background-color:transparent}a[_ngcontent-%COMP%]:hover{color:#1b626b;text-decoration:underline}a[_ngcontent-%COMP%]:not([href]):not([tabindex]), a[_ngcontent-%COMP%]:not([href]):not([tabindex]):focus, a[_ngcontent-%COMP%]:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a[_ngcontent-%COMP%]:not([href]):not([tabindex]):focus{outline:0}code[_ngcontent-%COMP%], kbd[_ngcontent-%COMP%], pre[_ngcontent-%COMP%], samp[_ngcontent-%COMP%]{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre[_ngcontent-%COMP%]{margin-top:0;margin-bottom:1rem;overflow:auto;display:block;color:#212529}img[_ngcontent-%COMP%]{vertical-align:middle;border-style:none}svg[_ngcontent-%COMP%]{overflow:hidden;vertical-align:middle}table[_ngcontent-%COMP%]{border-collapse:collapse}caption[_ngcontent-%COMP%]{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th[_ngcontent-%COMP%]{text-align:inherit}label[_ngcontent-%COMP%]{display:inline-block;margin-bottom:.5rem}button[_ngcontent-%COMP%]{border-radius:0}button[_ngcontent-%COMP%]:focus{outline:dotted 1px;outline:-webkit-focus-ring-color auto 5px}button[_ngcontent-%COMP%], input[_ngcontent-%COMP%], optgroup[_ngcontent-%COMP%], select[_ngcontent-%COMP%], textarea[_ngcontent-%COMP%]{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button[_ngcontent-%COMP%], input[_ngcontent-%COMP%]{overflow:visible}button[_ngcontent-%COMP%], select[_ngcontent-%COMP%]{text-transform:none}select[_ngcontent-%COMP%]{word-wrap:normal}[type=button][_ngcontent-%COMP%], [type=reset][_ngcontent-%COMP%], [type=submit][_ngcontent-%COMP%], button[_ngcontent-%COMP%]{-webkit-appearance:button}[type=button][_ngcontent-%COMP%]:not(:disabled), [type=reset][_ngcontent-%COMP%]:not(:disabled), [type=submit][_ngcontent-%COMP%]:not(:disabled), button[_ngcontent-%COMP%]:not(:disabled){cursor:pointer}[type=button][_ngcontent-%COMP%]::-moz-focus-inner, [type=reset][_ngcontent-%COMP%]::-moz-focus-inner, [type=submit][_ngcontent-%COMP%]::-moz-focus-inner, button[_ngcontent-%COMP%]::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox][_ngcontent-%COMP%], input[type=radio][_ngcontent-%COMP%]{box-sizing:border-box;padding:0}input[type=date][_ngcontent-%COMP%], input[type=datetime-local][_ngcontent-%COMP%], input[type=month][_ngcontent-%COMP%], input[type=time][_ngcontent-%COMP%]{-webkit-appearance:listbox}textarea[_ngcontent-%COMP%]{overflow:auto;resize:vertical}fieldset[_ngcontent-%COMP%]{min-width:0;padding:0;margin:0;border:0}legend[_ngcontent-%COMP%]{display:block;width:100%;max-width:100%;padding:0;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress[_ngcontent-%COMP%]{vertical-align:baseline}[type=number][_ngcontent-%COMP%]::-webkit-inner-spin-button, [type=number][_ngcontent-%COMP%]::-webkit-outer-spin-button{height:auto}[type=search][_ngcontent-%COMP%]{outline-offset:-2px;-webkit-appearance:none}[type=search][_ngcontent-%COMP%]::-webkit-search-decoration{-webkit-appearance:none}[_ngcontent-%COMP%]::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output[_ngcontent-%COMP%]{display:inline-block}summary[_ngcontent-%COMP%]{display:list-item;cursor:pointer}template[_ngcontent-%COMP%]{display:none}[hidden][_ngcontent-%COMP%]{display:none!important}.h1[_ngcontent-%COMP%], .h2[_ngcontent-%COMP%], .h3[_ngcontent-%COMP%], .h4[_ngcontent-%COMP%], .h5[_ngcontent-%COMP%], .h6[_ngcontent-%COMP%], h1[_ngcontent-%COMP%], h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%], h4[_ngcontent-%COMP%], h5[_ngcontent-%COMP%], h6[_ngcontent-%COMP%]{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1[_ngcontent-%COMP%], h1[_ngcontent-%COMP%]{font-size:2.5rem}.h2[_ngcontent-%COMP%], h2[_ngcontent-%COMP%]{font-size:2rem}.h3[_ngcontent-%COMP%], h3[_ngcontent-%COMP%]{font-size:1.75rem}.h4[_ngcontent-%COMP%], h4[_ngcontent-%COMP%]{font-size:1.5rem}.h5[_ngcontent-%COMP%], h5[_ngcontent-%COMP%]{font-size:1.25rem}.h6[_ngcontent-%COMP%], h6[_ngcontent-%COMP%]{font-size:1rem}.lead[_ngcontent-%COMP%]{font-size:1.25rem;font-weight:300}.display-1[_ngcontent-%COMP%]{font-size:6rem;font-weight:300;line-height:1.2}.display-2[_ngcontent-%COMP%]{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3[_ngcontent-%COMP%]{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4[_ngcontent-%COMP%]{font-size:3.5rem;font-weight:300;line-height:1.2}hr[_ngcontent-%COMP%]{box-sizing:content-box;height:0;overflow:visible;margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small[_ngcontent-%COMP%], small[_ngcontent-%COMP%]{font-size:80%;font-weight:400}.mark[_ngcontent-%COMP%], mark[_ngcontent-%COMP%]{padding:.2em;background-color:#fcf8e3}.list-inline[_ngcontent-%COMP%], .list-unstyled[_ngcontent-%COMP%]{padding-left:0;list-style:none}.list-inline-item[_ngcontent-%COMP%]{display:inline-block}.list-inline-item[_ngcontent-%COMP%]:not(:last-child){margin-right:.5rem}.initialism[_ngcontent-%COMP%]{font-size:90%;text-transform:uppercase}.blockquote[_ngcontent-%COMP%]{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer[_ngcontent-%COMP%]{display:block;font-size:80%;color:#6c757d}.blockquote-footer[_ngcontent-%COMP%]::before{content:"— "}.img-fluid[_ngcontent-%COMP%]{max-width:100%;height:auto}.img-thumbnail[_ngcontent-%COMP%]{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure[_ngcontent-%COMP%]{display:inline-block}.figure-img[_ngcontent-%COMP%]{margin-bottom:.5rem;line-height:1}.figure-caption[_ngcontent-%COMP%]{font-size:90%;color:#6c757d}code[_ngcontent-%COMP%]{font-size:87.5%;color:#e83e8c;word-break:break-word}a[_ngcontent-%COMP%] > code[_ngcontent-%COMP%]{color:inherit}kbd[_ngcontent-%COMP%]{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd[_ngcontent-%COMP%]   kbd[_ngcontent-%COMP%]{padding:0;font-size:100%;font-weight:700}pre[_ngcontent-%COMP%]   code[_ngcontent-%COMP%]{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable[_ngcontent-%COMP%]{max-height:340px;overflow-y:scroll}.container[_ngcontent-%COMP%]{width:100%;margin-right:auto;margin-left:auto}@media (min-width:576px){.container[_ngcontent-%COMP%]{max-width:540px}}@media (min-width:768px){.container[_ngcontent-%COMP%]{max-width:720px}}@media (min-width:992px){.container[_ngcontent-%COMP%]{max-width:960px}}@media (min-width:1200px){.container[_ngcontent-%COMP%]{max-width:1140px}}.container-fluid[_ngcontent-%COMP%]{width:100%;margin-right:auto;margin-left:auto}.row[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap}.no-gutters[_ngcontent-%COMP%]{margin-right:0;margin-left:0}.no-gutters[_ngcontent-%COMP%] > .col[_ngcontent-%COMP%], .no-gutters[_ngcontent-%COMP%] > [class*=col-][_ngcontent-%COMP%]{padding-right:0;padding-left:0}.cd-col-form[_ngcontent-%COMP%], .cd-col-form-input[_ngcontent-%COMP%], .cd-col-form-label[_ngcontent-%COMP%], .cd-col-form-offset[_ngcontent-%COMP%], .col[_ngcontent-%COMP%], .col-1[_ngcontent-%COMP%], .col-10[_ngcontent-%COMP%], .col-11[_ngcontent-%COMP%], .col-12[_ngcontent-%COMP%], .col-2[_ngcontent-%COMP%], .col-3[_ngcontent-%COMP%], .col-4[_ngcontent-%COMP%], .col-5[_ngcontent-%COMP%], .col-6[_ngcontent-%COMP%], .col-7[_ngcontent-%COMP%], .col-8[_ngcontent-%COMP%], .col-9[_ngcontent-%COMP%], .col-auto[_ngcontent-%COMP%], .col-lg[_ngcontent-%COMP%], .col-lg-1[_ngcontent-%COMP%], .col-lg-10[_ngcontent-%COMP%], .col-lg-11[_ngcontent-%COMP%], .col-lg-12[_ngcontent-%COMP%], .col-lg-2[_ngcontent-%COMP%], .col-lg-3[_ngcontent-%COMP%], .col-lg-4[_ngcontent-%COMP%], .col-lg-5[_ngcontent-%COMP%], .col-lg-6[_ngcontent-%COMP%], .col-lg-7[_ngcontent-%COMP%], .col-lg-8[_ngcontent-%COMP%], .col-lg-9[_ngcontent-%COMP%], .col-lg-auto[_ngcontent-%COMP%], .col-md[_ngcontent-%COMP%], .col-md-1[_ngcontent-%COMP%], .col-md-10[_ngcontent-%COMP%], .col-md-11[_ngcontent-%COMP%], .col-md-12[_ngcontent-%COMP%], .col-md-2[_ngcontent-%COMP%], .col-md-3[_ngcontent-%COMP%], .col-md-4[_ngcontent-%COMP%], .col-md-5[_ngcontent-%COMP%], .col-md-6[_ngcontent-%COMP%], .col-md-7[_ngcontent-%COMP%], .col-md-8[_ngcontent-%COMP%], .col-md-9[_ngcontent-%COMP%], .col-md-auto[_ngcontent-%COMP%], .col-sm[_ngcontent-%COMP%], .col-sm-1[_ngcontent-%COMP%], .col-sm-10[_ngcontent-%COMP%], .col-sm-11[_ngcontent-%COMP%], .col-sm-12[_ngcontent-%COMP%], .col-sm-2[_ngcontent-%COMP%], .col-sm-3[_ngcontent-%COMP%], .col-sm-4[_ngcontent-%COMP%], .col-sm-5[_ngcontent-%COMP%], .col-sm-6[_ngcontent-%COMP%], .col-sm-7[_ngcontent-%COMP%], .col-sm-8[_ngcontent-%COMP%], .col-sm-9[_ngcontent-%COMP%], .col-sm-auto[_ngcontent-%COMP%], .col-xl[_ngcontent-%COMP%], .col-xl-1[_ngcontent-%COMP%], .col-xl-10[_ngcontent-%COMP%], .col-xl-11[_ngcontent-%COMP%], .col-xl-12[_ngcontent-%COMP%], .col-xl-2[_ngcontent-%COMP%], .col-xl-3[_ngcontent-%COMP%], .col-xl-4[_ngcontent-%COMP%], .col-xl-5[_ngcontent-%COMP%], .col-xl-6[_ngcontent-%COMP%], .col-xl-7[_ngcontent-%COMP%], .col-xl-8[_ngcontent-%COMP%], .col-xl-9[_ngcontent-%COMP%], .col-xl-auto[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-input[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-label[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-offset[_ngcontent-%COMP%]{position:relative;width:100%;padding-right:15px;padding-left:15px}.col[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;max-width:100%}.col-auto[_ngcontent-%COMP%]{flex:0 0 auto;width:auto;max-width:100%}.col-1[_ngcontent-%COMP%]{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-2[_ngcontent-%COMP%]{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-3[_ngcontent-%COMP%]{flex:0 0 25%;max-width:25%}.col-4[_ngcontent-%COMP%]{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-5[_ngcontent-%COMP%]{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-6[_ngcontent-%COMP%]{flex:0 0 50%;max-width:50%}.col-7[_ngcontent-%COMP%]{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-8[_ngcontent-%COMP%]{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-9[_ngcontent-%COMP%]{flex:0 0 75%;max-width:75%}.col-10[_ngcontent-%COMP%]{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-11[_ngcontent-%COMP%]{flex:0 0 91.6666666667%;max-width:91.6666666667%}.cd-col-form[_ngcontent-%COMP%], .col-12[_ngcontent-%COMP%]{flex:0 0 100%;max-width:100%}.order-first[_ngcontent-%COMP%]{order:-1}.order-last[_ngcontent-%COMP%]{order:13}.order-0[_ngcontent-%COMP%]{order:0}.order-1[_ngcontent-%COMP%]{order:1}.order-2[_ngcontent-%COMP%]{order:2}.order-3[_ngcontent-%COMP%]{order:3}.order-4[_ngcontent-%COMP%]{order:4}.order-5[_ngcontent-%COMP%]{order:5}.order-6[_ngcontent-%COMP%]{order:6}.order-7[_ngcontent-%COMP%]{order:7}.order-8[_ngcontent-%COMP%]{order:8}.order-9[_ngcontent-%COMP%]{order:9}.order-10[_ngcontent-%COMP%]{order:10}.order-11[_ngcontent-%COMP%]{order:11}.order-12[_ngcontent-%COMP%]{order:12}.offset-1[_ngcontent-%COMP%]{margin-left:8.3333333333%}.offset-2[_ngcontent-%COMP%]{margin-left:16.6666666667%}.offset-3[_ngcontent-%COMP%]{margin-left:25%}.offset-4[_ngcontent-%COMP%]{margin-left:33.3333333333%}.offset-5[_ngcontent-%COMP%]{margin-left:41.6666666667%}.offset-6[_ngcontent-%COMP%]{margin-left:50%}.offset-7[_ngcontent-%COMP%]{margin-left:58.3333333333%}.offset-8[_ngcontent-%COMP%]{margin-left:66.6666666667%}.offset-9[_ngcontent-%COMP%]{margin-left:75%}.offset-10[_ngcontent-%COMP%]{margin-left:83.3333333333%}.offset-11[_ngcontent-%COMP%]{margin-left:91.6666666667%}@media (min-width:576px){.col-sm[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;max-width:100%}.col-sm-auto[_ngcontent-%COMP%]{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1[_ngcontent-%COMP%]{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-sm-2[_ngcontent-%COMP%]{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-3[_ngcontent-%COMP%]{flex:0 0 25%;max-width:25%}.cd-col-form-label[_ngcontent-%COMP%], .col-sm-4[_ngcontent-%COMP%]{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-sm-5[_ngcontent-%COMP%]{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-sm-6[_ngcontent-%COMP%]{flex:0 0 50%;max-width:50%}.col-sm-7[_ngcontent-%COMP%]{flex:0 0 58.3333333333%;max-width:58.3333333333%}.cd-col-form-input[_ngcontent-%COMP%], .cd-col-form-offset[_ngcontent-%COMP%], .col-sm-8[_ngcontent-%COMP%]{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-sm-9[_ngcontent-%COMP%]{flex:0 0 75%;max-width:75%}.col-sm-10[_ngcontent-%COMP%]{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-sm-11[_ngcontent-%COMP%]{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-sm-12[_ngcontent-%COMP%]{flex:0 0 100%;max-width:100%}.order-sm-first[_ngcontent-%COMP%]{order:-1}.order-sm-last[_ngcontent-%COMP%]{order:13}.order-sm-0[_ngcontent-%COMP%]{order:0}.order-sm-1[_ngcontent-%COMP%]{order:1}.order-sm-2[_ngcontent-%COMP%]{order:2}.order-sm-3[_ngcontent-%COMP%]{order:3}.order-sm-4[_ngcontent-%COMP%]{order:4}.order-sm-5[_ngcontent-%COMP%]{order:5}.order-sm-6[_ngcontent-%COMP%]{order:6}.order-sm-7[_ngcontent-%COMP%]{order:7}.order-sm-8[_ngcontent-%COMP%]{order:8}.order-sm-9[_ngcontent-%COMP%]{order:9}.order-sm-10[_ngcontent-%COMP%]{order:10}.order-sm-11[_ngcontent-%COMP%]{order:11}.order-sm-12[_ngcontent-%COMP%]{order:12}.offset-sm-0[_ngcontent-%COMP%]{margin-left:0}.offset-sm-1[_ngcontent-%COMP%]{margin-left:8.3333333333%}.offset-sm-2[_ngcontent-%COMP%]{margin-left:16.6666666667%}.offset-sm-3[_ngcontent-%COMP%]{margin-left:25%}.cd-col-form-offset[_ngcontent-%COMP%], .offset-sm-4[_ngcontent-%COMP%]{margin-left:33.3333333333%}.offset-sm-5[_ngcontent-%COMP%]{margin-left:41.6666666667%}.offset-sm-6[_ngcontent-%COMP%]{margin-left:50%}.offset-sm-7[_ngcontent-%COMP%]{margin-left:58.3333333333%}.offset-sm-8[_ngcontent-%COMP%]{margin-left:66.6666666667%}.offset-sm-9[_ngcontent-%COMP%]{margin-left:75%}.offset-sm-10[_ngcontent-%COMP%]{margin-left:83.3333333333%}.offset-sm-11[_ngcontent-%COMP%]{margin-left:91.6666666667%}}@media (min-width:768px){.col-md[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;max-width:100%}.col-md-auto[_ngcontent-%COMP%]{flex:0 0 auto;width:auto;max-width:100%}.col-md-1[_ngcontent-%COMP%]{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-md-2[_ngcontent-%COMP%]{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-3[_ngcontent-%COMP%]{flex:0 0 25%;max-width:25%}.cd-col-form-label[_ngcontent-%COMP%], .col-md-4[_ngcontent-%COMP%]{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-md-5[_ngcontent-%COMP%]{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-md-6[_ngcontent-%COMP%]{flex:0 0 50%;max-width:50%}.col-md-7[_ngcontent-%COMP%]{flex:0 0 58.3333333333%;max-width:58.3333333333%}.cd-col-form-input[_ngcontent-%COMP%], .cd-col-form-offset[_ngcontent-%COMP%], .col-md-8[_ngcontent-%COMP%]{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-md-9[_ngcontent-%COMP%]{flex:0 0 75%;max-width:75%}.col-md-10[_ngcontent-%COMP%]{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-md-11[_ngcontent-%COMP%]{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-md-12[_ngcontent-%COMP%]{flex:0 0 100%;max-width:100%}.order-md-first[_ngcontent-%COMP%]{order:-1}.order-md-last[_ngcontent-%COMP%]{order:13}.order-md-0[_ngcontent-%COMP%]{order:0}.order-md-1[_ngcontent-%COMP%]{order:1}.order-md-2[_ngcontent-%COMP%]{order:2}.order-md-3[_ngcontent-%COMP%]{order:3}.order-md-4[_ngcontent-%COMP%]{order:4}.order-md-5[_ngcontent-%COMP%]{order:5}.order-md-6[_ngcontent-%COMP%]{order:6}.order-md-7[_ngcontent-%COMP%]{order:7}.order-md-8[_ngcontent-%COMP%]{order:8}.order-md-9[_ngcontent-%COMP%]{order:9}.order-md-10[_ngcontent-%COMP%]{order:10}.order-md-11[_ngcontent-%COMP%]{order:11}.order-md-12[_ngcontent-%COMP%]{order:12}.offset-md-0[_ngcontent-%COMP%]{margin-left:0}.offset-md-1[_ngcontent-%COMP%]{margin-left:8.3333333333%}.offset-md-2[_ngcontent-%COMP%]{margin-left:16.6666666667%}.offset-md-3[_ngcontent-%COMP%]{margin-left:25%}.offset-md-4[_ngcontent-%COMP%]{margin-left:33.3333333333%}.offset-md-5[_ngcontent-%COMP%]{margin-left:41.6666666667%}.offset-md-6[_ngcontent-%COMP%]{margin-left:50%}.offset-md-7[_ngcontent-%COMP%]{margin-left:58.3333333333%}.offset-md-8[_ngcontent-%COMP%]{margin-left:66.6666666667%}.offset-md-9[_ngcontent-%COMP%]{margin-left:75%}.offset-md-10[_ngcontent-%COMP%]{margin-left:83.3333333333%}.offset-md-11[_ngcontent-%COMP%]{margin-left:91.6666666667%}}@media (min-width:992px){.col-lg[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;max-width:100%}.col-lg-auto[_ngcontent-%COMP%]{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1[_ngcontent-%COMP%]{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-lg-2[_ngcontent-%COMP%]{flex:0 0 16.6666666667%;max-width:16.6666666667%}.cd-col-form-label[_ngcontent-%COMP%], .col-lg-3[_ngcontent-%COMP%]{flex:0 0 25%;max-width:25%}.col-lg-4[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-label[_ngcontent-%COMP%]{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-lg-5[_ngcontent-%COMP%]{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-lg-6[_ngcontent-%COMP%]{flex:0 0 50%;max-width:50%}.col-lg-7[_ngcontent-%COMP%]{flex:0 0 58.3333333333%;max-width:58.3333333333%}.cd-col-form[_ngcontent-%COMP%], .col-lg-8[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-input[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-offset[_ngcontent-%COMP%]{flex:0 0 66.6666666667%;max-width:66.6666666667%}.cd-col-form-input[_ngcontent-%COMP%], .cd-col-form-offset[_ngcontent-%COMP%], .col-lg-9[_ngcontent-%COMP%]{flex:0 0 75%;max-width:75%}.col-lg-10[_ngcontent-%COMP%]{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-lg-11[_ngcontent-%COMP%]{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-lg-12[_ngcontent-%COMP%]{flex:0 0 100%;max-width:100%}.order-lg-first[_ngcontent-%COMP%]{order:-1}.order-lg-last[_ngcontent-%COMP%]{order:13}.order-lg-0[_ngcontent-%COMP%]{order:0}.order-lg-1[_ngcontent-%COMP%]{order:1}.order-lg-2[_ngcontent-%COMP%]{order:2}.order-lg-3[_ngcontent-%COMP%]{order:3}.order-lg-4[_ngcontent-%COMP%]{order:4}.order-lg-5[_ngcontent-%COMP%]{order:5}.order-lg-6[_ngcontent-%COMP%]{order:6}.order-lg-7[_ngcontent-%COMP%]{order:7}.order-lg-8[_ngcontent-%COMP%]{order:8}.order-lg-9[_ngcontent-%COMP%]{order:9}.order-lg-10[_ngcontent-%COMP%]{order:10}.order-lg-11[_ngcontent-%COMP%]{order:11}.order-lg-12[_ngcontent-%COMP%]{order:12}.offset-lg-0[_ngcontent-%COMP%]{margin-left:0}.offset-lg-1[_ngcontent-%COMP%]{margin-left:8.3333333333%}.offset-lg-2[_ngcontent-%COMP%]{margin-left:16.6666666667%}.cd-col-form-offset[_ngcontent-%COMP%], .offset-lg-3[_ngcontent-%COMP%]{margin-left:25%}.offset-lg-4[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-offset[_ngcontent-%COMP%]{margin-left:33.3333333333%}.offset-lg-5[_ngcontent-%COMP%]{margin-left:41.6666666667%}.offset-lg-6[_ngcontent-%COMP%]{margin-left:50%}.offset-lg-7[_ngcontent-%COMP%]{margin-left:58.3333333333%}.offset-lg-8[_ngcontent-%COMP%]{margin-left:66.6666666667%}.offset-lg-9[_ngcontent-%COMP%]{margin-left:75%}.offset-lg-10[_ngcontent-%COMP%]{margin-left:83.3333333333%}.offset-lg-11[_ngcontent-%COMP%]{margin-left:91.6666666667%}}@media (min-width:1200px){.col-xl[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;max-width:100%}.col-xl-auto[_ngcontent-%COMP%]{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1[_ngcontent-%COMP%]{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-xl-2[_ngcontent-%COMP%]{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xl-3[_ngcontent-%COMP%]{flex:0 0 25%;max-width:25%}.col-xl-4[_ngcontent-%COMP%]{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-xl-5[_ngcontent-%COMP%]{flex:0 0 41.6666666667%;max-width:41.6666666667%}.cd-col-form[_ngcontent-%COMP%], .col-xl-6[_ngcontent-%COMP%]{flex:0 0 50%;max-width:50%}.col-xl-7[_ngcontent-%COMP%]{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-xl-8[_ngcontent-%COMP%]{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-xl-9[_ngcontent-%COMP%]{flex:0 0 75%;max-width:75%}.col-xl-10[_ngcontent-%COMP%]{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-xl-11[_ngcontent-%COMP%]{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-xl-12[_ngcontent-%COMP%]{flex:0 0 100%;max-width:100%}.order-xl-first[_ngcontent-%COMP%]{order:-1}.order-xl-last[_ngcontent-%COMP%]{order:13}.order-xl-0[_ngcontent-%COMP%]{order:0}.order-xl-1[_ngcontent-%COMP%]{order:1}.order-xl-2[_ngcontent-%COMP%]{order:2}.order-xl-3[_ngcontent-%COMP%]{order:3}.order-xl-4[_ngcontent-%COMP%]{order:4}.order-xl-5[_ngcontent-%COMP%]{order:5}.order-xl-6[_ngcontent-%COMP%]{order:6}.order-xl-7[_ngcontent-%COMP%]{order:7}.order-xl-8[_ngcontent-%COMP%]{order:8}.order-xl-9[_ngcontent-%COMP%]{order:9}.order-xl-10[_ngcontent-%COMP%]{order:10}.order-xl-11[_ngcontent-%COMP%]{order:11}.order-xl-12[_ngcontent-%COMP%]{order:12}.offset-xl-0[_ngcontent-%COMP%]{margin-left:0}.offset-xl-1[_ngcontent-%COMP%]{margin-left:8.3333333333%}.offset-xl-2[_ngcontent-%COMP%]{margin-left:16.6666666667%}.offset-xl-3[_ngcontent-%COMP%]{margin-left:25%}.offset-xl-4[_ngcontent-%COMP%]{margin-left:33.3333333333%}.offset-xl-5[_ngcontent-%COMP%]{margin-left:41.6666666667%}.offset-xl-6[_ngcontent-%COMP%]{margin-left:50%}.offset-xl-7[_ngcontent-%COMP%]{margin-left:58.3333333333%}.offset-xl-8[_ngcontent-%COMP%]{margin-left:66.6666666667%}.offset-xl-9[_ngcontent-%COMP%]{margin-left:75%}.offset-xl-10[_ngcontent-%COMP%]{margin-left:83.3333333333%}.offset-xl-11[_ngcontent-%COMP%]{margin-left:91.6666666667%}}.table[_ngcontent-%COMP%]{width:100%;margin-bottom:1rem;color:#212529}.table[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%]{border-top:2px solid #dee2e6}.table-sm[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-sm[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{padding:.3rem}.table-bordered[_ngcontent-%COMP%], .table-bordered[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-bordered[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border:1px solid #dee2e6}.table-bordered[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-bordered[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-bottom-width:2px}.table-borderless[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-borderless[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-borderless[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-borderless[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border:0}.table-striped[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary[_ngcontent-%COMP%], .table-primary[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-primary[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#c4e2e7}.table-primary[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-primary[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-primary[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-primary[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#91cad2}.table-hover[_ngcontent-%COMP%]   .table-primary[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-primary[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-primary[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#b2d9e0}.table-secondary[_ngcontent-%COMP%], .table-secondary[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-secondary[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#fbd1cf}.table-secondary[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-secondary[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-secondary[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-secondary[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#f7aaa7}.table-hover[_ngcontent-%COMP%]   .table-secondary[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-secondary[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-secondary[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#f9bab7}.table-success[_ngcontent-%COMP%], .table-success[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-success[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#c3e6cb}.table-success[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-success[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-success[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-success[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#8fd19e}.table-hover[_ngcontent-%COMP%]   .table-success[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-success[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-success[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#b1dfbb}.table-info[_ngcontent-%COMP%], .table-info[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-info[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#bee5eb}.table-info[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-info[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-info[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-info[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#86cfda}.table-hover[_ngcontent-%COMP%]   .table-info[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-info[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-info[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#abdde5}.table-warning[_ngcontent-%COMP%], .table-warning[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-warning[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#ffeeba}.table-warning[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-warning[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-warning[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-warning[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#ffdf7e}.table-hover[_ngcontent-%COMP%]   .table-warning[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-warning[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-warning[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#ffe8a1}.table-danger[_ngcontent-%COMP%], .table-danger[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-danger[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#f5c6cb}.table-danger[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-danger[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-danger[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-danger[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#ed969e}.table-hover[_ngcontent-%COMP%]   .table-danger[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-danger[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-danger[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#f1b0b7}.table-light[_ngcontent-%COMP%], .table-light[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-light[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#fdfdfe}.table-light[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-light[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-light[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-light[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#fbfcfc}.table-hover[_ngcontent-%COMP%]   .table-light[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-light[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-light[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#ececf6}.table-dark[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#d9d9d9}.table-dark[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#b8b8b8}.table-hover[_ngcontent-%COMP%]   .table-dark[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-dark[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-dark[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#ccc}.table-active[_ngcontent-%COMP%], .table-active[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-active[_ngcontent-%COMP%] > th[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-active[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-active[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-active[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:rgba(0,0,0,.075)}.table[_ngcontent-%COMP%]   .thead-dark[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{color:#fff;background-color:#343a40;border-color:#454d55}.table[_ngcontent-%COMP%]   .thead-light[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark[_ngcontent-%COMP%]{color:#fff;background-color:#343a40}.table-dark[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#454d55}.table-dark.table-bordered[_ngcontent-%COMP%]{border:0}.table-dark.table-striped[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm[_ngcontent-%COMP%]{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm[_ngcontent-%COMP%] > .table-bordered[_ngcontent-%COMP%]{border:0}}@media (max-width:767.98px){.table-responsive-md[_ngcontent-%COMP%]{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md[_ngcontent-%COMP%] > .table-bordered[_ngcontent-%COMP%]{border:0}}@media (max-width:991.98px){.table-responsive-lg[_ngcontent-%COMP%]{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg[_ngcontent-%COMP%] > .table-bordered[_ngcontent-%COMP%]{border:0}}@media (max-width:1199.98px){.table-responsive-xl[_ngcontent-%COMP%]{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl[_ngcontent-%COMP%] > .table-bordered[_ngcontent-%COMP%]{border:0}}.table-responsive[_ngcontent-%COMP%]{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive[_ngcontent-%COMP%] > .table-bordered[_ngcontent-%COMP%]{border:0}.cd-form-control[_ngcontent-%COMP%], .form-control[_ngcontent-%COMP%]{width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.cd-form-control[_ngcontent-%COMP%], .form-control[_ngcontent-%COMP%]{transition:none}}.cd-form-control[_ngcontent-%COMP%]::-ms-expand, .form-control[_ngcontent-%COMP%]::-ms-expand{background-color:transparent;border:0}.cd-form-control[_ngcontent-%COMP%]:focus, .form-control[_ngcontent-%COMP%]:focus{color:#495057;background-color:#fff;box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.cd-form-control[_ngcontent-%COMP%]::placeholder, .form-control[_ngcontent-%COMP%]::placeholder{color:#6c757d;opacity:1}.cd-form-control[_ngcontent-%COMP%]:disabled, .form-control[_ngcontent-%COMP%]:disabled, .form-control[readonly][_ngcontent-%COMP%], [readonly].cd-form-control[_ngcontent-%COMP%]{background-color:#e9ecef;opacity:1}select.cd-form-control[_ngcontent-%COMP%]:focus::-ms-value, select.form-control[_ngcontent-%COMP%]:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file[_ngcontent-%COMP%], .form-control-range[_ngcontent-%COMP%]{display:block;width:100%}.cd-col-form-label[_ngcontent-%COMP%], .col-form-label[_ngcontent-%COMP%]{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg[_ngcontent-%COMP%]{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm[_ngcontent-%COMP%]{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext[_ngcontent-%COMP%]{display:block;width:100%;padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg[_ngcontent-%COMP%], .form-control-plaintext.form-control-sm[_ngcontent-%COMP%]{padding-right:0;padding-left:0}.form-control-sm[_ngcontent-%COMP%]{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg[_ngcontent-%COMP%]{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple][_ngcontent-%COMP%], select.form-control[size][_ngcontent-%COMP%], select[multiple].cd-form-control[_ngcontent-%COMP%], select[size].cd-form-control[_ngcontent-%COMP%], textarea.cd-form-control[_ngcontent-%COMP%], textarea.form-control[_ngcontent-%COMP%]{height:auto}.form-group[_ngcontent-%COMP%]{margin-bottom:1rem}.form-text[_ngcontent-%COMP%]{display:block;margin-top:.25rem}.form-row[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row[_ngcontent-%COMP%] > .col[_ngcontent-%COMP%], .form-row[_ngcontent-%COMP%] > [class*=col-][_ngcontent-%COMP%]{padding-right:5px;padding-left:5px}.form-check[_ngcontent-%COMP%]{position:relative;display:block;padding-left:1.25rem}.form-check-input[_ngcontent-%COMP%]{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input[_ngcontent-%COMP%]:disabled ~ .form-check-label[_ngcontent-%COMP%]{color:#6c757d}.form-check-label[_ngcontent-%COMP%]{margin-bottom:0}.form-check-inline[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback[_ngcontent-%COMP%]{display:none;width:100%;margin-top:.25rem;font-size:100%;color:#28a745}.valid-tooltip[_ngcontent-%COMP%]{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.form-control.is-valid[_ngcontent-%COMP%], .is-valid.cd-form-control[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:valid, .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:valid{border-color:#28a745;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=\'%2328a745\' d=\'M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z\'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:center right calc(.375em + .1875rem);background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid[_ngcontent-%COMP%]:focus, .is-valid.cd-form-control[_ngcontent-%COMP%]:focus, .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:valid:focus, .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-control.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .form-control.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .is-valid.cd-form-control[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .is-valid.cd-form-control[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%]{display:block}.was-validated[_ngcontent-%COMP%]   textarea.cd-form-control[_ngcontent-%COMP%]:valid, .was-validated[_ngcontent-%COMP%]   textarea.form-control[_ngcontent-%COMP%]:valid, textarea.form-control.is-valid[_ngcontent-%COMP%], textarea.is-valid.cd-form-control[_ngcontent-%COMP%]{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:valid{border-color:#28a745;padding-right:calc((1em + .75rem) * 3 / 4 + 1.75rem);background:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 4 5\'%3e%3cpath fill=\'%23343a40\' d=\'M2 0L0 2h4zm0 5L0 3h4z\'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat,url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 8 8\'%3e%3cpath fill=\'%2328a745\' d=\'M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z\'/%3e%3c/svg%3e") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat #fff}.custom-select.is-valid[_ngcontent-%COMP%]:focus, .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-select.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .custom-select.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%]{display:block}.form-control-file.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .form-control-file.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control-file[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control-file[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%]{display:block}.form-check-input.is-valid[_ngcontent-%COMP%] ~ .form-check-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]:valid ~ .form-check-label[_ngcontent-%COMP%]{color:#28a745}.form-check-input.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .form-check-input.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%]{display:block}.custom-control-input.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .custom-control-input.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%]{display:block}.custom-control-input.is-valid[_ngcontent-%COMP%]:focus ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid:focus ~ .custom-control-label[_ngcontent-%COMP%]::before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-file-input.is-valid[_ngcontent-%COMP%] ~ .custom-file-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:valid ~ .custom-file-label[_ngcontent-%COMP%]{border-color:#28a745}.custom-file-input.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .custom-file-input.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%]{display:block}.custom-file-input.is-valid[_ngcontent-%COMP%]:focus ~ .custom-file-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:valid:focus ~ .custom-file-label[_ngcontent-%COMP%]{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback[_ngcontent-%COMP%]{display:none;width:100%;margin-top:.25rem;font-size:100%;color:#dc3545}.invalid-tooltip[_ngcontent-%COMP%]{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.form-control.is-invalid[_ngcontent-%COMP%], .is-invalid.cd-form-control[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:invalid, .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]: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\' fill=\'%23dc3545\' viewBox=\'-2 -2 7 7\'%3e%3cpath stroke=\'%23dc3545\' d=\'M0 0l3 3m0-3L0 3\'/%3e%3ccircle r=\'.5\'/%3e%3ccircle cx=\'3\' r=\'.5\'/%3e%3ccircle cy=\'3\' r=\'.5\'/%3e%3ccircle cx=\'3\' cy=\'3\' r=\'.5\'/%3e%3c/svg%3E");background-repeat:no-repeat;background-position:center right calc(.375em + .1875rem);background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid[_ngcontent-%COMP%]:focus, .is-invalid.cd-form-control[_ngcontent-%COMP%]:focus, .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:invalid:focus, .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-control.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .form-control.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .is-invalid.cd-form-control[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .is-invalid.cd-form-control[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%]{display:block}.was-validated[_ngcontent-%COMP%]   textarea.cd-form-control[_ngcontent-%COMP%]:invalid, .was-validated[_ngcontent-%COMP%]   textarea.form-control[_ngcontent-%COMP%]:invalid, textarea.form-control.is-invalid[_ngcontent-%COMP%], textarea.is-invalid.cd-form-control[_ngcontent-%COMP%]{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:invalid{border-color:#dc3545;padding-right:calc((1em + .75rem) * 3 / 4 + 1.75rem);background:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 4 5\'%3e%3cpath fill=\'%23343a40\' d=\'M2 0L0 2h4zm0 5L0 3h4z\'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat,url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' fill=\'%23dc3545\' viewBox=\'-2 -2 7 7\'%3e%3cpath stroke=\'%23dc3545\' d=\'M0 0l3 3m0-3L0 3\'/%3e%3ccircle r=\'.5\'/%3e%3ccircle cx=\'3\' r=\'.5\'/%3e%3ccircle cy=\'3\' r=\'.5\'/%3e%3ccircle cx=\'3\' cy=\'3\' r=\'.5\'/%3e%3c/svg%3E") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat #fff}.custom-select.is-invalid[_ngcontent-%COMP%]:focus, .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-select.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .custom-select.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%]{display:block}.form-control-file.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .form-control-file.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control-file[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control-file[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%]{display:block}.form-check-input.is-invalid[_ngcontent-%COMP%] ~ .form-check-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]:invalid ~ .form-check-label[_ngcontent-%COMP%]{color:#dc3545}.form-check-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .form-check-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%]{display:block}.custom-control-input.is-invalid[_ngcontent-%COMP%] ~ .custom-control-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid ~ .custom-control-label[_ngcontent-%COMP%]{color:#dc3545}.custom-control-input.is-invalid[_ngcontent-%COMP%] ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#dc3545}.custom-control-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .custom-control-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%]{display:block}.custom-control-input.is-invalid[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid:checked ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#e4606d;background-color:#e4606d}.custom-control-input.is-invalid[_ngcontent-%COMP%]:focus ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid:focus ~ .custom-control-label[_ngcontent-%COMP%]::before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid[_ngcontent-%COMP%]:focus:not(:checked) ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid:focus:not(:checked) ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#dc3545}.custom-file-input.is-invalid[_ngcontent-%COMP%] ~ .custom-file-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:invalid ~ .custom-file-label[_ngcontent-%COMP%]{border-color:#dc3545}.custom-file-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .custom-file-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%]{display:block}.custom-file-input.is-invalid[_ngcontent-%COMP%]:focus ~ .custom-file-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:invalid:focus ~ .custom-file-label[_ngcontent-%COMP%]{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline[_ngcontent-%COMP%]{display:flex;flex-flow:row wrap;align-items:center}.form-inline[_ngcontent-%COMP%]   .form-check[_ngcontent-%COMP%]{width:100%}@media (min-width:576px){.form-inline[_ngcontent-%COMP%]   label[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;margin-bottom:0}.form-inline[_ngcontent-%COMP%]   .form-group[_ngcontent-%COMP%]{display:flex;flex:0 0 auto;flex-flow:row wrap;align-items:center;margin-bottom:0}.form-inline[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%], .form-inline[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]{display:inline-block;width:auto;vertical-align:middle}.form-inline[_ngcontent-%COMP%]   .form-control-plaintext[_ngcontent-%COMP%]{display:inline-block}.form-inline[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%], .form-inline[_ngcontent-%COMP%]   .input-group[_ngcontent-%COMP%]{width:auto}.form-inline[_ngcontent-%COMP%]   .form-check[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;width:auto;padding-left:0}.form-inline[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]{position:relative;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline[_ngcontent-%COMP%]   .custom-control[_ngcontent-%COMP%]{align-items:center;justify-content:center}.form-inline[_ngcontent-%COMP%]   .custom-control-label[_ngcontent-%COMP%]{margin-bottom:0}}.btn[_ngcontent-%COMP%]{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;-moz-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;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[_ngcontent-%COMP%]{transition:none}}.btn[_ngcontent-%COMP%]:hover{color:#212529;text-decoration:none}.btn.focus[_ngcontent-%COMP%], .btn[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.btn.disabled[_ngcontent-%COMP%], .btn[_ngcontent-%COMP%]:disabled{opacity:.65}a.btn.disabled[_ngcontent-%COMP%], fieldset[_ngcontent-%COMP%]:disabled   a.btn[_ngcontent-%COMP%]{pointer-events:none}.btn-primary[_ngcontent-%COMP%]{color:#fff;background-color:#2b99a8;border-color:#2b99a8}.btn-primary[_ngcontent-%COMP%]:hover{color:#fff;background-color:#237d8a;border-color:#21747f}.btn-primary.focus[_ngcontent-%COMP%], .btn-primary[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(75,168,181,.5)}.btn-primary.disabled[_ngcontent-%COMP%], .btn-primary[_ngcontent-%COMP%]:disabled{color:#fff;background-color:#2b99a8;border-color:#2b99a8}.btn-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-primary.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#21747f;border-color:#1e6b75}.btn-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-primary.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(75,168,181,.5)}.btn-secondary[_ngcontent-%COMP%]{color:#fff;background-color:#ef5c55;border-color:#ef5c55}.btn-secondary[_ngcontent-%COMP%]:hover{color:#fff;background-color:#ec3a32;border-color:#eb2f26}.btn-secondary.focus[_ngcontent-%COMP%], .btn-secondary[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(241,116,111,.5)}.btn-secondary.disabled[_ngcontent-%COMP%], .btn-secondary[_ngcontent-%COMP%]:disabled{color:#fff;background-color:#ef5c55;border-color:#ef5c55}.btn-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-secondary.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#eb2f26;border-color:#ea241b}.btn-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-secondary.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(241,116,111,.5)}.btn-success[_ngcontent-%COMP%]{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success[_ngcontent-%COMP%]:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus[_ngcontent-%COMP%], .btn-success[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled[_ngcontent-%COMP%], .btn-success[_ngcontent-%COMP%]:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-success.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-success.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-info[_ngcontent-%COMP%]{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info[_ngcontent-%COMP%]:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus[_ngcontent-%COMP%], .btn-info[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled[_ngcontent-%COMP%], .btn-info[_ngcontent-%COMP%]:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-info.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-info.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-warning[_ngcontent-%COMP%]{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning[_ngcontent-%COMP%]:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus[_ngcontent-%COMP%], .btn-warning[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled[_ngcontent-%COMP%], .btn-warning[_ngcontent-%COMP%]:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-warning.dropdown-toggle[_ngcontent-%COMP%]{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-warning.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-danger[_ngcontent-%COMP%]{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger[_ngcontent-%COMP%]:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus[_ngcontent-%COMP%], .btn-danger[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled[_ngcontent-%COMP%], .btn-danger[_ngcontent-%COMP%]:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-danger.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-danger.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-light[_ngcontent-%COMP%]{color:#212529}.btn-light[_ngcontent-%COMP%]:hover{color:#212529}.btn-light.focus[_ngcontent-%COMP%], .btn-light[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled[_ngcontent-%COMP%], .btn-light[_ngcontent-%COMP%]:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-light.dropdown-toggle[_ngcontent-%COMP%]{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-light.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-dark[_ngcontent-%COMP%]{color:#fff;background-color:#777;border-color:#777}.btn-dark[_ngcontent-%COMP%]:hover{color:#fff;background-color:#646464;border-color:#5e5e5e}.btn-dark.focus[_ngcontent-%COMP%], .btn-dark[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(139,139,139,.5)}.btn-dark.disabled[_ngcontent-%COMP%], .btn-dark[_ngcontent-%COMP%]:disabled{color:#fff;background-color:#777;border-color:#777}.btn-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-dark.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#5e5e5e;border-color:#575757}.btn-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-dark.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(139,139,139,.5)}.btn-outline-primary[_ngcontent-%COMP%]{color:#2b99a8;border-color:#2b99a8}.btn-outline-primary[_ngcontent-%COMP%]:hover{color:#fff;background-color:#2b99a8;border-color:#2b99a8}.btn-outline-primary.focus[_ngcontent-%COMP%], .btn-outline-primary[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(43,153,168,.5)}.btn-outline-primary.disabled[_ngcontent-%COMP%], .btn-outline-primary[_ngcontent-%COMP%]:disabled{color:#2b99a8;background-color:transparent}.btn-outline-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-primary.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#2b99a8;border-color:#2b99a8}.btn-outline-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-primary.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(43,153,168,.5)}.btn-outline-secondary[_ngcontent-%COMP%]{color:#ef5c55;border-color:#ef5c55}.btn-outline-secondary[_ngcontent-%COMP%]:hover{color:#fff;background-color:#ef5c55;border-color:#ef5c55}.btn-outline-secondary.focus[_ngcontent-%COMP%], .btn-outline-secondary[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(239,92,85,.5)}.btn-outline-secondary.disabled[_ngcontent-%COMP%], .btn-outline-secondary[_ngcontent-%COMP%]:disabled{color:#ef5c55;background-color:transparent}.btn-outline-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-secondary.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#ef5c55;border-color:#ef5c55}.btn-outline-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-secondary.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(239,92,85,.5)}.btn-outline-success[_ngcontent-%COMP%]{color:#28a745;border-color:#28a745}.btn-outline-success[_ngcontent-%COMP%]:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus[_ngcontent-%COMP%], .btn-outline-success[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled[_ngcontent-%COMP%], .btn-outline-success[_ngcontent-%COMP%]:disabled{color:#28a745;background-color:transparent}.btn-outline-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-success.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-success.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info[_ngcontent-%COMP%]{color:#17a2b8;border-color:#17a2b8}.btn-outline-info[_ngcontent-%COMP%]:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus[_ngcontent-%COMP%], .btn-outline-info[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled[_ngcontent-%COMP%], .btn-outline-info[_ngcontent-%COMP%]:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-info.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-info.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning[_ngcontent-%COMP%]{color:#ffc107;border-color:#ffc107}.btn-outline-warning[_ngcontent-%COMP%]:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus[_ngcontent-%COMP%], .btn-outline-warning[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled[_ngcontent-%COMP%], .btn-outline-warning[_ngcontent-%COMP%]:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-warning.dropdown-toggle[_ngcontent-%COMP%]{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-warning.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger[_ngcontent-%COMP%]{color:#dc3545;border-color:#dc3545}.btn-outline-danger[_ngcontent-%COMP%]:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus[_ngcontent-%COMP%], .btn-outline-danger[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled[_ngcontent-%COMP%], .btn-outline-danger[_ngcontent-%COMP%]:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-danger.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-danger.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light[_ngcontent-%COMP%]{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light[_ngcontent-%COMP%]:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus[_ngcontent-%COMP%], .btn-outline-light[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled[_ngcontent-%COMP%], .btn-outline-light[_ngcontent-%COMP%]:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-light.dropdown-toggle[_ngcontent-%COMP%]{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-light.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark[_ngcontent-%COMP%]{color:#777;border-color:#777}.btn-outline-dark[_ngcontent-%COMP%]:hover{color:#fff;background-color:#777;border-color:#777}.btn-outline-dark.focus[_ngcontent-%COMP%], .btn-outline-dark[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(119,119,119,.5)}.btn-outline-dark.disabled[_ngcontent-%COMP%], .btn-outline-dark[_ngcontent-%COMP%]:disabled{color:#777;background-color:transparent}.btn-outline-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-dark.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#777;border-color:#777}.btn-outline-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-dark.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(119,119,119,.5)}.btn-link[_ngcontent-%COMP%]{font-weight:400;color:#2b99a8;text-decoration:none}.btn-link[_ngcontent-%COMP%]:hover{color:#1b626b;text-decoration:underline}.btn-link.focus[_ngcontent-%COMP%], .btn-link[_ngcontent-%COMP%]:focus{text-decoration:underline;box-shadow:none}.btn-link.disabled[_ngcontent-%COMP%], .btn-link[_ngcontent-%COMP%]:disabled{color:#6c757d;pointer-events:none}.btn-group-lg[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .btn-lg[_ngcontent-%COMP%]{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .btn-sm[_ngcontent-%COMP%]{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block[_ngcontent-%COMP%]{display:block;width:100%}.btn-block[_ngcontent-%COMP%] + .btn-block[_ngcontent-%COMP%]{margin-top:.5rem}input[type=button].btn-block[_ngcontent-%COMP%], input[type=reset].btn-block[_ngcontent-%COMP%], input[type=submit].btn-block[_ngcontent-%COMP%]{width:100%}.fade[_ngcontent-%COMP%]{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade[_ngcontent-%COMP%]{transition:none}}.fade[_ngcontent-%COMP%]:not(.show){opacity:0}.collapse[_ngcontent-%COMP%]:not(.show){display:none}.collapsing[_ngcontent-%COMP%]{position:relative;height:0;overflow:hidden;transition:height .35s ease}.dropdown[_ngcontent-%COMP%], .dropleft[_ngcontent-%COMP%], .dropright[_ngcontent-%COMP%], .dropup[_ngcontent-%COMP%]{position:relative}.dropdown-toggle[_ngcontent-%COMP%]{white-space:nowrap}.dropdown-toggle[_ngcontent-%COMP%]::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[_ngcontent-%COMP%]:empty::after{margin-left:0}.dropdown-menu[_ngcontent-%COMP%]{position:absolute;top:100%;left:0;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left[_ngcontent-%COMP%]{right:auto;left:0}.dropdown-menu-right[_ngcontent-%COMP%]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left[_ngcontent-%COMP%]{right:auto;left:0}.dropdown-menu-sm-right[_ngcontent-%COMP%]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left[_ngcontent-%COMP%]{right:auto;left:0}.dropdown-menu-md-right[_ngcontent-%COMP%]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left[_ngcontent-%COMP%]{right:auto;left:0}.dropdown-menu-lg-right[_ngcontent-%COMP%]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left[_ngcontent-%COMP%]{right:auto;left:0}.dropdown-menu-xl-right[_ngcontent-%COMP%]{right:0;left:auto}}.dropup[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]::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[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]:empty::after{margin-left:0}.dropright[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]::after{display:inline-block;margin-left:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid;vertical-align:0}.dropright[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]:empty::after{margin-left:0}.dropleft[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]::after{margin-left:.255em;vertical-align:.255em;content:"";display:none}.dropleft[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]::before{display:inline-block;margin-right:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent;vertical-align:0}.dropleft[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]:empty::after{margin-left:0}.dropdown-menu[x-placement^=bottom][_ngcontent-%COMP%], .dropdown-menu[x-placement^=left][_ngcontent-%COMP%], .dropdown-menu[x-placement^=right][_ngcontent-%COMP%], .dropdown-menu[x-placement^=top][_ngcontent-%COMP%]{right:auto;bottom:auto}.dropdown-divider[_ngcontent-%COMP%]{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item[_ngcontent-%COMP%]{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item[_ngcontent-%COMP%]:focus, .dropdown-item[_ngcontent-%COMP%]:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active[_ngcontent-%COMP%], .dropdown-item[_ngcontent-%COMP%]:active{color:#fff;text-decoration:none;background-color:#2b99a8}.dropdown-item.disabled[_ngcontent-%COMP%], .dropdown-item[_ngcontent-%COMP%]:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show[_ngcontent-%COMP%]{display:block}.dropdown-header[_ngcontent-%COMP%]{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text[_ngcontent-%COMP%]{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%]{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]{position:relative;flex:1 1 auto}.btn-group-vertical[_ngcontent-%COMP%] > .btn.active[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:active, .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:focus, .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:hover, .btn-group[_ngcontent-%COMP%] > .btn.active[_ngcontent-%COMP%], .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:active, .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:focus, .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:hover{z-index:1}.btn-toolbar[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar[_ngcontent-%COMP%]   .input-group[_ngcontent-%COMP%]{width:auto}.btn-group[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:first-child), .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:first-child){margin-left:-1px}.btn-group[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:last-child) > .btn[_ngcontent-%COMP%], .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:first-child) > .btn[_ngcontent-%COMP%], .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split[_ngcontent-%COMP%]{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split[_ngcontent-%COMP%]::after, .dropright[_ngcontent-%COMP%]   .dropdown-toggle-split[_ngcontent-%COMP%]::after, .dropup[_ngcontent-%COMP%]   .dropdown-toggle-split[_ngcontent-%COMP%]::after{margin-left:0}.dropleft[_ngcontent-%COMP%]   .dropdown-toggle-split[_ngcontent-%COMP%]::before{margin-right:0}.btn-group-sm[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%] + .dropdown-toggle-split[_ngcontent-%COMP%], .btn-sm[_ngcontent-%COMP%] + .dropdown-toggle-split[_ngcontent-%COMP%]{padding-right:.375rem;padding-left:.375rem}.btn-group-lg[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%] + .dropdown-toggle-split[_ngcontent-%COMP%], .btn-lg[_ngcontent-%COMP%] + .dropdown-toggle-split[_ngcontent-%COMP%]{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]{width:100%}.btn-group-vertical[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:first-child), .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:first-child){margin-top:-1px}.btn-group-vertical[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:last-child) > .btn[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:first-child) > .btn[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .btn-group-toggle[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]{margin-bottom:0}.btn-group-toggle[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]   input[type=checkbox][_ngcontent-%COMP%], .btn-group-toggle[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]   input[type=radio][_ngcontent-%COMP%], .btn-group-toggle[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]   input[type=checkbox][_ngcontent-%COMP%], .btn-group-toggle[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]   input[type=radio][_ngcontent-%COMP%]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group[_ngcontent-%COMP%]{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control-plaintext[_ngcontent-%COMP%]{position:relative;flex:1 1 auto;width:1%;margin-bottom:0}.input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%] + .cd-form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%] + .custom-file[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%] + .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%] + .form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%] + .cd-form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%] + .custom-file[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%] + .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%] + .form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%] + .cd-form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%] + .custom-file[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%] + .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%] + .form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%] + .cd-form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%] + .custom-file[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%] + .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%] + .form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control-plaintext[_ngcontent-%COMP%] + .cd-form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control-plaintext[_ngcontent-%COMP%] + .custom-file[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control-plaintext[_ngcontent-%COMP%] + .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control-plaintext[_ngcontent-%COMP%] + .form-control[_ngcontent-%COMP%]{margin-left:-1px}.input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%]:focus, .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:focus ~ .custom-file-label[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%]:focus, .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%]:focus{z-index:3}.input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:focus{z-index:4}.input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%]:not(:last-child), .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%]:not(:last-child), .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%]:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%]:not(:first-child), .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%]:not(:first-child), .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%]:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]{display:flex;align-items:center}.input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]:not(:last-child)   .custom-file-label[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]:not(:last-child)   .custom-file-label[_ngcontent-%COMP%]::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]:not(:first-child)   .custom-file-label[_ngcontent-%COMP%]{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%]{display:flex}.input-group-append[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%]{position:relative;z-index:2}.input-group-append[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%]:focus, .input-group-prepend[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%]:focus{z-index:3}.input-group-append[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%] + .btn[_ngcontent-%COMP%], .input-group-append[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%] + .input-group-text[_ngcontent-%COMP%], .input-group-append[_ngcontent-%COMP%]   .input-group-text[_ngcontent-%COMP%] + .btn[_ngcontent-%COMP%], .input-group-append[_ngcontent-%COMP%]   .input-group-text[_ngcontent-%COMP%] + .input-group-text[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%] + .btn[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%] + .input-group-text[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%]   .input-group-text[_ngcontent-%COMP%] + .btn[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%]   .input-group-text[_ngcontent-%COMP%] + .input-group-text[_ngcontent-%COMP%]{margin-left:-1px}.input-group-prepend[_ngcontent-%COMP%]{margin-right:-1px}.input-group-append[_ngcontent-%COMP%]{margin-left:-1px}.input-group-text[_ngcontent-%COMP%]{display:flex;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text[_ngcontent-%COMP%]   input[type=checkbox][_ngcontent-%COMP%], .input-group-text[_ngcontent-%COMP%]   input[type=radio][_ngcontent-%COMP%]{margin-top:0}.input-group-lg[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%]:not(textarea), .input-group-lg[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%]:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%]{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%]:not(textarea), .input-group-sm[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%]:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%]{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%]{padding-right:1.75rem}.input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%]:last-child > .btn[_ngcontent-%COMP%]:not(:last-child):not(.dropdown-toggle), .input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%]:last-child > .input-group-text[_ngcontent-%COMP%]:not(:last-child), .input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%]:not(:last-child) > .btn[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%]:not(:last-child) > .input-group-text[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%]{border-top-right-radius:0;border-bottom-right-radius:0}.input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%]:first-child > .btn[_ngcontent-%COMP%]:not(:first-child), .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%]:first-child > .input-group-text[_ngcontent-%COMP%]:not(:first-child), .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%]:not(:first-child) > .btn[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%]:not(:first-child) > .input-group-text[_ngcontent-%COMP%]{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control[_ngcontent-%COMP%]{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline[_ngcontent-%COMP%]{display:inline-flex;margin-right:1rem}.custom-control-input[_ngcontent-%COMP%]{position:absolute;z-index:-1;opacity:0}.custom-control-input[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::before{color:#fff;border-color:#2b99a8;background-color:#2b99a8}.custom-control-input[_ngcontent-%COMP%]:focus ~ .custom-control-label[_ngcontent-%COMP%]::before{box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.custom-control-input[_ngcontent-%COMP%]:focus:not(:checked) ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#76d0dc}.custom-control-input[_ngcontent-%COMP%]:not(:disabled):active ~ .custom-control-label[_ngcontent-%COMP%]::before{color:#fff;background-color:#9fdee6;border-color:#9fdee6}.custom-control-input[_ngcontent-%COMP%]:disabled ~ .custom-control-label[_ngcontent-%COMP%]{color:#6c757d}.custom-control-input[_ngcontent-%COMP%]:disabled ~ .custom-control-label[_ngcontent-%COMP%]::before{background-color:#e9ecef}.custom-control-label[_ngcontent-%COMP%]{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label[_ngcontent-%COMP%]::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#fff;border:1px solid #adb5bd}.custom-control-label[_ngcontent-%COMP%]::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:50%/50% 50% no-repeat}.custom-checkbox[_ngcontent-%COMP%]   .custom-control-label[_ngcontent-%COMP%]::before{border-radius:.25rem}.custom-checkbox[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::after{background-image:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 8 8\'%3e%3cpath fill=\'%23fff\' d=\'M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z\'/%3e%3c/svg%3e")}.custom-checkbox[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:indeterminate ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#2b99a8;background-color:#2b99a8}.custom-checkbox[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:indeterminate ~ .custom-control-label[_ngcontent-%COMP%]::after{background-image:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 4 4\'%3e%3cpath stroke=\'%23fff\' d=\'M0 2h4\'/%3e%3c/svg%3e")}.custom-checkbox[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:disabled:checked ~ .custom-control-label[_ngcontent-%COMP%]::before{background-color:rgba(43,153,168,.5)}.custom-checkbox[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:disabled:indeterminate ~ .custom-control-label[_ngcontent-%COMP%]::before{background-color:rgba(43,153,168,.5)}.custom-radio[_ngcontent-%COMP%]   .custom-control-label[_ngcontent-%COMP%]::before{border-radius:50%}.custom-radio[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::after{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")}.custom-radio[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:disabled:checked ~ .custom-control-label[_ngcontent-%COMP%]::before{background-color:rgba(43,153,168,.5)}.custom-switch[_ngcontent-%COMP%]{padding-left:2.25rem}.custom-switch[_ngcontent-%COMP%]   .custom-control-label[_ngcontent-%COMP%]::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch[_ngcontent-%COMP%]   .custom-control-label[_ngcontent-%COMP%]::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.custom-switch[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::after{background-color:#fff;transform:translateX(.75rem)}.custom-switch[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:disabled:checked ~ .custom-control-label[_ngcontent-%COMP%]::before{background-color:rgba(43,153,168,.5)}.custom-select[_ngcontent-%COMP%]{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 4 5\'%3e%3cpath fill=\'%23343a40\' d=\'M2 0L0 2h4zm0 5L0 3h4z\'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat #fff;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select[_ngcontent-%COMP%]:focus{border-color:#76d0dc;outline:0;box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.custom-select[_ngcontent-%COMP%]:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple][_ngcontent-%COMP%], .custom-select[size][_ngcontent-%COMP%]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select[_ngcontent-%COMP%]:disabled{color:#6c757d;background-color:#e9ecef}.custom-select[_ngcontent-%COMP%]::-ms-expand{display:none}.custom-select-sm[_ngcontent-%COMP%]{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg[_ngcontent-%COMP%]{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file[_ngcontent-%COMP%]{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}.custom-file-input[_ngcontent-%COMP%]{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;opacity:0}.custom-file-input[_ngcontent-%COMP%]:focus ~ .custom-file-label[_ngcontent-%COMP%]{border-color:#76d0dc;box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.custom-file-input[_ngcontent-%COMP%]:disabled ~ .custom-file-label[_ngcontent-%COMP%]{background-color:#e9ecef}.custom-file-input[_ngcontent-%COMP%]:lang(en) ~ .custom-file-label[_ngcontent-%COMP%]::after{content:"Browse"}.custom-file-input[_ngcontent-%COMP%] ~ .custom-file-label[data-browse][_ngcontent-%COMP%]::after{content:attr(data-browse)}.custom-file-label[_ngcontent-%COMP%]{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label[_ngcontent-%COMP%]::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range[_ngcontent-%COMP%]{width:100%;height:calc(1rem + .4rem);padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range[_ngcontent-%COMP%]:focus{outline:0}.custom-range[_ngcontent-%COMP%]:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(43,153,168,.25)}.custom-range[_ngcontent-%COMP%]:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(43,153,168,.25)}.custom-range[_ngcontent-%COMP%]:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(43,153,168,.25)}.custom-range[_ngcontent-%COMP%]::-moz-focus-outer{border:0}.custom-range[_ngcontent-%COMP%]::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#2b99a8;border:0;border-radius:1rem;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){.collapsing[_ngcontent-%COMP%], .custom-switch[_ngcontent-%COMP%]   .custom-control-label[_ngcontent-%COMP%]::after{transition:none}.custom-range[_ngcontent-%COMP%]::-webkit-slider-thumb{transition:none}}.custom-range[_ngcontent-%COMP%]::-webkit-slider-thumb:active{background-color:#9fdee6}.custom-range[_ngcontent-%COMP%]::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range[_ngcontent-%COMP%]::-moz-range-thumb{width:1rem;height:1rem;background-color:#2b99a8;border:0;border-radius:1rem;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){.custom-range[_ngcontent-%COMP%]::-moz-range-thumb{transition:none}}.custom-range[_ngcontent-%COMP%]::-moz-range-thumb:active{background-color:#9fdee6}.custom-range[_ngcontent-%COMP%]::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range[_ngcontent-%COMP%]::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#2b99a8;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range[_ngcontent-%COMP%]::-ms-thumb{transition:none}}.custom-range[_ngcontent-%COMP%]::-ms-thumb:active{background-color:#9fdee6}.custom-range[_ngcontent-%COMP%]::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range[_ngcontent-%COMP%]::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range[_ngcontent-%COMP%]::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-range[_ngcontent-%COMP%]:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range[_ngcontent-%COMP%]:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range[_ngcontent-%COMP%]:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range[_ngcontent-%COMP%]:disabled::-moz-range-track{cursor:default}.custom-range[_ngcontent-%COMP%]:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label[_ngcontent-%COMP%]::before, .custom-file-label[_ngcontent-%COMP%], .custom-select[_ngcontent-%COMP%]{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label[_ngcontent-%COMP%]::before, .custom-file-label[_ngcontent-%COMP%], .custom-select[_ngcontent-%COMP%]{transition:none}}.nav[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link[_ngcontent-%COMP%]{display:block;padding:.5rem 1rem}.nav-link[_ngcontent-%COMP%]:focus, .nav-link[_ngcontent-%COMP%]:hover{text-decoration:none}.nav-link.disabled[_ngcontent-%COMP%]{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs[_ngcontent-%COMP%]{border-bottom:1px solid #dee2e6}.nav-tabs[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]{margin-bottom:-1px}.nav-tabs[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]:focus, .nav-tabs[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs[_ngcontent-%COMP%]   .nav-link.disabled[_ngcontent-%COMP%]{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs[_ngcontent-%COMP%]   .nav-item.show[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%], .nav-tabs[_ngcontent-%COMP%]   .nav-link.active[_ngcontent-%COMP%]{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{border-radius:.25rem}.nav-pills[_ngcontent-%COMP%]   .nav-link.active[_ngcontent-%COMP%], .nav-pills[_ngcontent-%COMP%]   .show[_ngcontent-%COMP%] > .nav-link[_ngcontent-%COMP%]{color:#fff;background-color:#2b99a8}.nav-fill[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]{flex:1 1 auto;text-align:center}.nav-justified[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;text-align:center}.tab-content[_ngcontent-%COMP%] > .tab-pane[_ngcontent-%COMP%]{display:none}.tab-content[_ngcontent-%COMP%] > .active[_ngcontent-%COMP%]{display:block}.navbar[_ngcontent-%COMP%]{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:.5rem 1rem}.navbar[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.navbar-brand[_ngcontent-%COMP%]{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand[_ngcontent-%COMP%]:focus, .navbar-brand[_ngcontent-%COMP%]:hover{text-decoration:none}.navbar-nav[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{padding-right:0;padding-left:0}.navbar-nav[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{position:static;float:none}.navbar-text[_ngcontent-%COMP%]{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse[_ngcontent-%COMP%]{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler[_ngcontent-%COMP%]{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler[_ngcontent-%COMP%]:focus, .navbar-toggler[_ngcontent-%COMP%]:hover{text-decoration:none}.navbar-toggler-icon[_ngcontent-%COMP%]{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:center center/100% 100% no-repeat}@media (max-width:575.98px){.navbar-expand-sm[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-sm[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm[_ngcontent-%COMP%]{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-sm[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]{flex-direction:row}.navbar-expand-sm[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{position:absolute}.navbar-expand-sm[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-sm[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{flex-wrap:nowrap}.navbar-expand-sm[_ngcontent-%COMP%]   .navbar-collapse[_ngcontent-%COMP%]{display:flex!important;flex-basis:auto}.navbar-expand-sm[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{display:none}}@media (max-width:767.98px){.navbar-expand-md[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-md[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md[_ngcontent-%COMP%]{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-md[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]{flex-direction:row}.navbar-expand-md[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{position:absolute}.navbar-expand-md[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-md[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{flex-wrap:nowrap}.navbar-expand-md[_ngcontent-%COMP%]   .navbar-collapse[_ngcontent-%COMP%]{display:flex!important;flex-basis:auto}.navbar-expand-md[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{display:none}}@media (max-width:991.98px){.navbar-expand-lg[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-lg[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg[_ngcontent-%COMP%]{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]{flex-direction:row}.navbar-expand-lg[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{position:absolute}.navbar-expand-lg[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-lg[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{flex-wrap:nowrap}.navbar-expand-lg[_ngcontent-%COMP%]   .navbar-collapse[_ngcontent-%COMP%]{display:flex!important;flex-basis:auto}.navbar-expand-lg[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{display:none}}@media (max-width:1199.98px){.navbar-expand-xl[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-xl[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl[_ngcontent-%COMP%]{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-xl[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]{flex-direction:row}.navbar-expand-xl[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{position:absolute}.navbar-expand-xl[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-xl[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{flex-wrap:nowrap}.navbar-expand-xl[_ngcontent-%COMP%]   .navbar-collapse[_ngcontent-%COMP%]{display:flex!important;flex-basis:auto}.navbar-expand-xl[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{display:none}}.navbar-expand[_ngcontent-%COMP%]{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]{flex-direction:row}.navbar-expand[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{position:absolute}.navbar-expand[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{padding-right:.5rem;padding-left:.5rem}.navbar-expand[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{padding-right:0;padding-left:0;flex-wrap:nowrap}.navbar-expand[_ngcontent-%COMP%]   .navbar-collapse[_ngcontent-%COMP%]{display:flex!important;flex-basis:auto}.navbar-expand[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{display:none}.navbar-light[_ngcontent-%COMP%]   .navbar-brand[_ngcontent-%COMP%], .navbar-light[_ngcontent-%COMP%]   .navbar-brand[_ngcontent-%COMP%]:focus, .navbar-light[_ngcontent-%COMP%]   .navbar-brand[_ngcontent-%COMP%]:hover{color:rgba(0,0,0,.9)}.navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{color:rgba(0,0,0,.5)}.navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]:focus, .navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]:hover{color:rgba(0,0,0,.7)}.navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link.disabled[_ngcontent-%COMP%]{color:rgba(0,0,0,.3)}.navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .active[_ngcontent-%COMP%] > .nav-link[_ngcontent-%COMP%], .navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link.active[_ngcontent-%COMP%], .navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link.show[_ngcontent-%COMP%], .navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .show[_ngcontent-%COMP%] > .nav-link[_ngcontent-%COMP%]{color:rgba(0,0,0,.9)}.navbar-light[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light[_ngcontent-%COMP%]   .navbar-toggler-icon[_ngcontent-%COMP%]{background-image:url("data:image/svg+xml,%3csvg viewBox=\'0 0 30 30\' xmlns=\'http://www.w3.org/2000/svg\'%3e%3cpath stroke=\'rgba(0, 0, 0, 0.5)\' stroke-width=\'2\' stroke-linecap=\'round\' stroke-miterlimit=\'10\' d=\'M4 7h22M4 15h22M4 23h22\'/%3e%3c/svg%3e")}.navbar-light[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]{color:rgba(0,0,0,.5)}.navbar-light[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]   a[_ngcontent-%COMP%], .navbar-light[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]:focus, .navbar-light[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]:hover{color:rgba(0,0,0,.9)}.navbar-dark[_ngcontent-%COMP%]   .navbar-brand[_ngcontent-%COMP%], .navbar-dark[_ngcontent-%COMP%]   .navbar-brand[_ngcontent-%COMP%]:focus, .navbar-dark[_ngcontent-%COMP%]   .navbar-brand[_ngcontent-%COMP%]:hover{color:#fff}.navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{color:rgba(255,255,255,.5)}.navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]:focus, .navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]:hover{color:rgba(255,255,255,.75)}.navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link.disabled[_ngcontent-%COMP%]{color:rgba(255,255,255,.25)}.navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .active[_ngcontent-%COMP%] > .nav-link[_ngcontent-%COMP%], .navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link.active[_ngcontent-%COMP%], .navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link.show[_ngcontent-%COMP%], .navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .show[_ngcontent-%COMP%] > .nav-link[_ngcontent-%COMP%]{color:#fff}.navbar-dark[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark[_ngcontent-%COMP%]   .navbar-toggler-icon[_ngcontent-%COMP%]{background-image:url("data:image/svg+xml,%3csvg viewBox=\'0 0 30 30\' xmlns=\'http://www.w3.org/2000/svg\'%3e%3cpath stroke=\'rgba(255, 255, 255, 0.5)\' stroke-width=\'2\' stroke-linecap=\'round\' stroke-miterlimit=\'10\' d=\'M4 7h22M4 15h22M4 23h22\'/%3e%3c/svg%3e")}.navbar-dark[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]{color:rgba(255,255,255,.5)}.navbar-dark[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]   a[_ngcontent-%COMP%], .navbar-dark[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]:focus, .navbar-dark[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]:hover{color:#fff}.card[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box}.card[_ngcontent-%COMP%] > hr[_ngcontent-%COMP%], pre[_ngcontent-%COMP%] > hr[_ngcontent-%COMP%]{margin-right:0;margin-left:0}.card[_ngcontent-%COMP%] > .list-group[_ngcontent-%COMP%]:first-child   .list-group-item[_ngcontent-%COMP%]:first-child, pre[_ngcontent-%COMP%] > .list-group[_ngcontent-%COMP%]:first-child   .list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card[_ngcontent-%COMP%] > .list-group[_ngcontent-%COMP%]:last-child   .list-group-item[_ngcontent-%COMP%]:last-child, pre[_ngcontent-%COMP%] > .list-group[_ngcontent-%COMP%]:last-child   .list-group-item[_ngcontent-%COMP%]:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body[_ngcontent-%COMP%]{flex:1 1 auto;padding:1.25rem}.card-title[_ngcontent-%COMP%]{margin-bottom:.75rem}.card-subtitle[_ngcontent-%COMP%]{margin-top:-.375rem;margin-bottom:0}.card-text[_ngcontent-%COMP%]:last-child{margin-bottom:0}.card-link[_ngcontent-%COMP%]:hover{text-decoration:none}.card-link[_ngcontent-%COMP%] + .card-link[_ngcontent-%COMP%]{margin-left:1.25rem}.card-header[_ngcontent-%COMP%]{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header[_ngcontent-%COMP%]:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header[_ngcontent-%COMP%] + .list-group[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:first-child{border-top:0}.card-footer[_ngcontent-%COMP%]{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer[_ngcontent-%COMP%]:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs[_ngcontent-%COMP%]{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills[_ngcontent-%COMP%]{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay[_ngcontent-%COMP%]{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img[_ngcontent-%COMP%]{width:100%;border-radius:calc(.25rem - 1px)}.card-img-top[_ngcontent-%COMP%]{width:100%;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img-bottom[_ngcontent-%COMP%]{width:100%;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck[_ngcontent-%COMP%]{display:flex;flex-direction:column}.card-deck[_ngcontent-%COMP%]   .card[_ngcontent-%COMP%], .card-deck[_ngcontent-%COMP%]   pre[_ngcontent-%COMP%]{margin-bottom:15px}@media (min-width:576px){.card-deck[_ngcontent-%COMP%]{flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck[_ngcontent-%COMP%]   .card[_ngcontent-%COMP%], .card-deck[_ngcontent-%COMP%]   pre[_ngcontent-%COMP%]{display:flex;flex:1 0 0%;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group[_ngcontent-%COMP%]{display:flex;flex-direction:column}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]{margin-bottom:15px}@media (min-width:576px){.card-group[_ngcontent-%COMP%]{flex-flow:row wrap}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]{flex:1 0 0%;margin-bottom:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%] + .card[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%] + pre[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%] + .card[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%] + pre[_ngcontent-%COMP%]{margin-left:0;border-left:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:last-child), .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:last-child)   .card-header[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:last-child)   .card-img-top[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:last-child)   .card-header[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:last-child)   .card-img-top[_ngcontent-%COMP%]{border-top-right-radius:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:last-child)   .card-footer[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:last-child)   .card-img-bottom[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:last-child)   .card-footer[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:last-child)   .card-img-bottom[_ngcontent-%COMP%]{border-bottom-right-radius:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-child), .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-child)   .card-header[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-child)   .card-img-top[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-child)   .card-header[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-child)   .card-img-top[_ngcontent-%COMP%]{border-top-left-radius:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-child)   .card-footer[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-child)   .card-img-bottom[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-child)   .card-footer[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-child)   .card-img-bottom[_ngcontent-%COMP%]{border-bottom-left-radius:0}.card-columns[_ngcontent-%COMP%]{column-count:3;column-gap:1.25rem;orphans:1;widows:1}.card-columns[_ngcontent-%COMP%]   .card[_ngcontent-%COMP%], .card-columns[_ngcontent-%COMP%]   pre[_ngcontent-%COMP%]{display:inline-block;width:100%}}.card-columns[_ngcontent-%COMP%]   .card[_ngcontent-%COMP%], .card-columns[_ngcontent-%COMP%]   pre[_ngcontent-%COMP%]{margin-bottom:.75rem}.accordion[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%], .accordion[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]{overflow:hidden}.accordion[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-of-type)   .card-header[_ngcontent-%COMP%]:first-child, .accordion[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-of-type)   .card-header[_ngcontent-%COMP%]:first-child{border-radius:0}.accordion[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-of-type):not(:last-of-type), .accordion[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-of-type):not(:last-of-type){border-bottom:0;border-radius:0}.accordion[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:first-of-type, .accordion[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:first-of-type{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:last-of-type, .accordion[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:last-of-type{border-top-left-radius:0;border-top-right-radius:0}.accordion[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]   .card-header[_ngcontent-%COMP%], .accordion[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]   .card-header[_ngcontent-%COMP%]{margin-bottom:-1px}.breadcrumb[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item[_ngcontent-%COMP%] + .breadcrumb-item[_ngcontent-%COMP%]{padding-left:.5rem}.breadcrumb-item[_ngcontent-%COMP%] + .breadcrumb-item[_ngcontent-%COMP%]::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item[_ngcontent-%COMP%] + .breadcrumb-item[_ngcontent-%COMP%]:hover::before{text-decoration:none}.breadcrumb-item.active[_ngcontent-%COMP%]{color:#6c757d}.pagination[_ngcontent-%COMP%]{display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link[_ngcontent-%COMP%]{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#2b99a8;background-color:#fff;border:1px solid #dee2e6}.page-link[_ngcontent-%COMP%]:hover{z-index:2;color:#1b626b;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link[_ngcontent-%COMP%]:focus{z-index:2;outline:0;box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.page-item[_ngcontent-%COMP%]:first-child   .page-link[_ngcontent-%COMP%]{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item[_ngcontent-%COMP%]:last-child   .page-link[_ngcontent-%COMP%]{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active[_ngcontent-%COMP%]   .page-link[_ngcontent-%COMP%]{z-index:1;color:#fff;background-color:#2b99a8;border-color:#2b99a8}.page-item.disabled[_ngcontent-%COMP%]   .page-link[_ngcontent-%COMP%]{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg[_ngcontent-%COMP%]   .page-link[_ngcontent-%COMP%]{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg[_ngcontent-%COMP%]   .page-item[_ngcontent-%COMP%]:first-child   .page-link[_ngcontent-%COMP%]{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg[_ngcontent-%COMP%]   .page-item[_ngcontent-%COMP%]:last-child   .page-link[_ngcontent-%COMP%]{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm[_ngcontent-%COMP%]   .page-link[_ngcontent-%COMP%]{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm[_ngcontent-%COMP%]   .page-item[_ngcontent-%COMP%]:first-child   .page-link[_ngcontent-%COMP%]{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm[_ngcontent-%COMP%]   .page-item[_ngcontent-%COMP%]:last-child   .page-link[_ngcontent-%COMP%]{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge[_ngcontent-%COMP%]{display:inline-block;padding:.25em .4em;font-size:1rem;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;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){.badge[_ngcontent-%COMP%]{transition:none}}a.badge[_ngcontent-%COMP%]:focus, a.badge[_ngcontent-%COMP%]:hover{text-decoration:none}.badge[_ngcontent-%COMP%]:empty{display:none}.btn[_ngcontent-%COMP%]   .badge[_ngcontent-%COMP%]{position:relative;top:-1px}.badge-pill[_ngcontent-%COMP%]{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary[_ngcontent-%COMP%]{color:#fff;background-color:#2b99a8}a.badge-primary[_ngcontent-%COMP%]:focus, a.badge-primary[_ngcontent-%COMP%]:hover{color:#fff;background-color:#21747f}a.badge-primary.focus[_ngcontent-%COMP%], a.badge-primary[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(43,153,168,.5)}.badge-secondary[_ngcontent-%COMP%]{color:#fff;background-color:#ef5c55}a.badge-secondary[_ngcontent-%COMP%]:focus, a.badge-secondary[_ngcontent-%COMP%]:hover{color:#fff;background-color:#eb2f26}a.badge-secondary.focus[_ngcontent-%COMP%], a.badge-secondary[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(239,92,85,.5)}.badge-success[_ngcontent-%COMP%]{color:#fff;background-color:#28a745}a.badge-success[_ngcontent-%COMP%]:focus, a.badge-success[_ngcontent-%COMP%]:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus[_ngcontent-%COMP%], a.badge-success[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info[_ngcontent-%COMP%]{color:#fff;background-color:#17a2b8}a.badge-info[_ngcontent-%COMP%]:focus, a.badge-info[_ngcontent-%COMP%]:hover{color:#fff;background-color:#117a8b}a.badge-info.focus[_ngcontent-%COMP%], a.badge-info[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning[_ngcontent-%COMP%]{color:#212529;background-color:#ffc107}a.badge-warning[_ngcontent-%COMP%]:focus, a.badge-warning[_ngcontent-%COMP%]:hover{color:#212529;background-color:#d39e00}a.badge-warning.focus[_ngcontent-%COMP%], a.badge-warning[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger[_ngcontent-%COMP%]{color:#fff;background-color:#dc3545}a.badge-danger[_ngcontent-%COMP%]:focus, a.badge-danger[_ngcontent-%COMP%]:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus[_ngcontent-%COMP%], a.badge-danger[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light[_ngcontent-%COMP%]{color:#212529;background-color:#f8f9fa}a.badge-light[_ngcontent-%COMP%]:focus, a.badge-light[_ngcontent-%COMP%]:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus[_ngcontent-%COMP%], a.badge-light[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark[_ngcontent-%COMP%]{color:#fff;background-color:#777}a.badge-dark[_ngcontent-%COMP%]:focus, a.badge-dark[_ngcontent-%COMP%]:hover{color:#fff;background-color:#5e5e5e}a.badge-dark.focus[_ngcontent-%COMP%], a.badge-dark[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(119,119,119,.5)}.jumbotron[_ngcontent-%COMP%]{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron[_ngcontent-%COMP%]{padding:4rem 2rem}}.jumbotron-fluid[_ngcontent-%COMP%]{padding-right:0;padding-left:0;border-radius:0}.alert[_ngcontent-%COMP%]{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading[_ngcontent-%COMP%]{color:inherit}.alert-link[_ngcontent-%COMP%]{font-weight:700}.alert-dismissible[_ngcontent-%COMP%]{padding-right:4rem}.alert-dismissible[_ngcontent-%COMP%]   .close[_ngcontent-%COMP%]{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary[_ngcontent-%COMP%]{color:#165057;background-color:#d5ebee;border-color:#c4e2e7}.alert-primary[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#b2d9e0}.alert-primary[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#0c2b2e}.alert-secondary[_ngcontent-%COMP%]{color:#7c302c;background-color:#fcdedd;border-color:#fbd1cf}.alert-secondary[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#f9bab7}.alert-secondary[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#56211f}.alert-success[_ngcontent-%COMP%]{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#b1dfbb}.alert-success[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#0b2e13}.alert-info[_ngcontent-%COMP%]{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#abdde5}.alert-info[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#062c33}.alert-warning[_ngcontent-%COMP%]{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#ffe8a1}.alert-warning[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#533f03}.alert-danger[_ngcontent-%COMP%]{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#f1b0b7}.alert-danger[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#491217}.alert-light[_ngcontent-%COMP%]{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#ececf6}.alert-light[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#686868}.alert-dark[_ngcontent-%COMP%]{color:#3e3e3e;background-color:#e4e4e4;border-color:#d9d9d9}.alert-dark[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#ccc}.alert-dark[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#252525}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress[_ngcontent-%COMP%]{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#2b99a8;transition:width .6s ease}.progress-bar-striped[_ngcontent-%COMP%]{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:1rem 1rem}.progress-bar-animated[_ngcontent-%COMP%]{animation:1s linear infinite progress-bar-stripes}.media[_ngcontent-%COMP%]{display:flex;align-items:flex-start}.media-body[_ngcontent-%COMP%]{flex:1}.list-group[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action[_ngcontent-%COMP%]{width:100%;color:#495057;text-align:inherit}.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-action[_ngcontent-%COMP%]:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action[_ngcontent-%COMP%]:active{color:#212529;background-color:#e9ecef}.list-group-item[_ngcontent-%COMP%]{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item[_ngcontent-%COMP%]:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item.disabled[_ngcontent-%COMP%], .list-group-item[_ngcontent-%COMP%]:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active[_ngcontent-%COMP%]{z-index:2;color:#fff;background-color:#2b99a8;border-color:#2b99a8}.list-group-horizontal[_ngcontent-%COMP%]{flex-direction:row}.list-group-horizontal[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]{margin-right:-1px;margin-bottom:0}.list-group-horizontal[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}@media (min-width:576px){.list-group-horizontal-sm[_ngcontent-%COMP%]{flex-direction:row}.list-group-horizontal-sm[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]{margin-right:-1px;margin-bottom:0}.list-group-horizontal-sm[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:768px){.list-group-horizontal-md[_ngcontent-%COMP%]{flex-direction:row}.list-group-horizontal-md[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]{margin-right:-1px;margin-bottom:0}.list-group-horizontal-md[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:992px){.list-group-horizontal-lg[_ngcontent-%COMP%]{flex-direction:row}.list-group-horizontal-lg[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]{margin-right:-1px;margin-bottom:0}.list-group-horizontal-lg[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:1200px){.list-group-horizontal-xl[_ngcontent-%COMP%]{flex-direction:row}.list-group-horizontal-xl[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]{margin-right:-1px;margin-bottom:0}.list-group-horizontal-xl[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}.list-group-flush[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]{border-right:0;border-left:0;border-radius:0}.list-group-flush[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:last-child{margin-bottom:-1px}.list-group-flush[_ngcontent-%COMP%]:first-child   .list-group-item[_ngcontent-%COMP%]:first-child{border-top:0}.list-group-flush[_ngcontent-%COMP%]:last-child   .list-group-item[_ngcontent-%COMP%]:last-child{margin-bottom:0;border-bottom:0}.list-group-item-primary[_ngcontent-%COMP%]{color:#165057;background-color:#c4e2e7}.list-group-item-primary.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-primary.list-group-item-action[_ngcontent-%COMP%]:hover{color:#165057;background-color:#b2d9e0}.list-group-item-primary.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#165057;border-color:#165057}.list-group-item-secondary[_ngcontent-%COMP%]{color:#7c302c;background-color:#fbd1cf}.list-group-item-secondary.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-secondary.list-group-item-action[_ngcontent-%COMP%]:hover{color:#7c302c;background-color:#f9bab7}.list-group-item-secondary.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#7c302c;border-color:#7c302c}.list-group-item-success[_ngcontent-%COMP%]{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-success.list-group-item-action[_ngcontent-%COMP%]:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info[_ngcontent-%COMP%]{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-info.list-group-item-action[_ngcontent-%COMP%]:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning[_ngcontent-%COMP%]{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-warning.list-group-item-action[_ngcontent-%COMP%]:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger[_ngcontent-%COMP%]{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-danger.list-group-item-action[_ngcontent-%COMP%]:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light[_ngcontent-%COMP%]{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-light.list-group-item-action[_ngcontent-%COMP%]:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark[_ngcontent-%COMP%]{color:#3e3e3e;background-color:#d9d9d9}.list-group-item-dark.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-dark.list-group-item-action[_ngcontent-%COMP%]:hover{color:#3e3e3e;background-color:#ccc}.list-group-item-dark.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#3e3e3e;border-color:#3e3e3e}.close[_ngcontent-%COMP%]{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close[_ngcontent-%COMP%]:hover{color:#000;text-decoration:none}.close[_ngcontent-%COMP%]:not(:disabled):not(.disabled):focus, .close[_ngcontent-%COMP%]:not(:disabled):not(.disabled):hover{opacity:.75}button.close[_ngcontent-%COMP%]{padding:0;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}a.close.disabled[_ngcontent-%COMP%]{pointer-events:none}.toast[_ngcontent-%COMP%]{max-width:350px;overflow:hidden;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);backdrop-filter:blur(10px);opacity:0;border-radius:.25rem}.toast[_ngcontent-%COMP%]:not(:last-child){margin-bottom:.75rem}.toast.showing[_ngcontent-%COMP%]{opacity:1}.toast.show[_ngcontent-%COMP%]{display:block;opacity:1}.toast.hide[_ngcontent-%COMP%]{display:none}.toast-header[_ngcontent-%COMP%]{display:flex;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}.toast-body[_ngcontent-%COMP%]{padding:.75rem}.modal-open[_ngcontent-%COMP%]{overflow:hidden}.modal-open[_ngcontent-%COMP%]   .modal[_ngcontent-%COMP%]{overflow-x:hidden;overflow-y:auto}.modal[_ngcontent-%COMP%]{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog[_ngcontent-%COMP%]{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade[_ngcontent-%COMP%]   .modal-dialog[_ngcontent-%COMP%]{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.progress-bar[_ngcontent-%COMP%]{transition:none}.progress-bar-animated[_ngcontent-%COMP%]{animation:none}.modal.fade[_ngcontent-%COMP%]   .modal-dialog[_ngcontent-%COMP%]{transition:none}}.modal.show[_ngcontent-%COMP%]   .modal-dialog[_ngcontent-%COMP%]{transform:none}.modal-dialog-scrollable[_ngcontent-%COMP%]{display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable[_ngcontent-%COMP%]   .modal-content[_ngcontent-%COMP%]{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable[_ngcontent-%COMP%]   .modal-footer[_ngcontent-%COMP%], .modal-dialog-scrollable[_ngcontent-%COMP%]   .modal-header[_ngcontent-%COMP%]{flex-shrink:0}.modal-dialog-scrollable[_ngcontent-%COMP%]   .modal-body[_ngcontent-%COMP%]{overflow-y:auto}.modal-dialog-centered[_ngcontent-%COMP%]{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered[_ngcontent-%COMP%]::before{display:block;height:calc(100vh - 1rem);content:""}.modal-dialog-centered.modal-dialog-scrollable[_ngcontent-%COMP%]{flex-direction:column;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable[_ngcontent-%COMP%]   .modal-content[_ngcontent-%COMP%]{max-height:none}.modal-dialog-centered.modal-dialog-scrollable[_ngcontent-%COMP%]::before{content:none}.modal-content[_ngcontent-%COMP%]{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop[_ngcontent-%COMP%]{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade[_ngcontent-%COMP%]{opacity:0}.modal-backdrop.show[_ngcontent-%COMP%]{opacity:.5}.modal-header[_ngcontent-%COMP%]{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:.3rem;border-top-right-radius:.3rem}.modal-header[_ngcontent-%COMP%]   .close[_ngcontent-%COMP%]{padding:1rem;margin:-1rem -1rem -1rem auto}.modal-title[_ngcontent-%COMP%]{margin-bottom:0;line-height:1.5}.modal-body[_ngcontent-%COMP%]{position:relative;flex:1 1 auto;padding:1rem}.modal-footer[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:flex-end;padding:1rem;border-top:1px solid #dee2e6;border-bottom-right-radius:.3rem;border-bottom-left-radius:.3rem}.modal-footer[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:not(:first-child){margin-left:.25rem}.modal-footer[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure[_ngcontent-%COMP%]{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog[_ngcontent-%COMP%]{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable[_ngcontent-%COMP%]{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable[_ngcontent-%COMP%]   .modal-content[_ngcontent-%COMP%]{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered[_ngcontent-%COMP%]{min-height:calc(100% - 3.5rem)}.modal-dialog-centered[_ngcontent-%COMP%]::before{height:calc(100vh - 3.5rem)}.modal-sm[_ngcontent-%COMP%]{max-width:300px}}@media (min-width:992px){.modal-lg[_ngcontent-%COMP%], .modal-xl[_ngcontent-%COMP%]{max-width:800px}}@media (min-width:1200px){.modal-xl[_ngcontent-%COMP%]{max-width:1140px}}.tooltip[_ngcontent-%COMP%]{position:absolute;z-index:1070;display:block;margin:0;font-family:"Helvetica Neue",Helvetica,Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show[_ngcontent-%COMP%]{opacity:.9}.tooltip[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top][_ngcontent-%COMP%], .bs-tooltip-top[_ngcontent-%COMP%]{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%], .bs-tooltip-top[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]{bottom:0}.bs-tooltip-auto[x-placement^=top][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before, .bs-tooltip-top[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right][_ngcontent-%COMP%], .bs-tooltip-right[_ngcontent-%COMP%]{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%], .bs-tooltip-right[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before, .bs-tooltip-right[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom][_ngcontent-%COMP%], .bs-tooltip-bottom[_ngcontent-%COMP%]{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%], .bs-tooltip-bottom[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]{top:0}.bs-tooltip-auto[x-placement^=bottom][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before, .bs-tooltip-bottom[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left][_ngcontent-%COMP%], .bs-tooltip-left[_ngcontent-%COMP%]{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%], .bs-tooltip-left[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before, .bs-tooltip-left[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner[_ngcontent-%COMP%]{max-width:200px;padding:.25rem .5rem;text-align:center;border-radius:.25rem}.popover[_ngcontent-%COMP%]{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:350px;font-family:"Helvetica Neue",Helvetica,Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::after, .popover[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top][_ngcontent-%COMP%], .bs-popover-top[_ngcontent-%COMP%]{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%], .bs-popover-top[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]{bottom:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=top][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before, .bs-popover-top[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after, .bs-popover-top[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right][_ngcontent-%COMP%], .bs-popover-right[_ngcontent-%COMP%]{margin-left:.5rem}.bs-popover-auto[x-placement^=right][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%], .bs-popover-right[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]{left:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before, .bs-popover-right[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after, .bs-popover-right[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom][_ngcontent-%COMP%], .bs-popover-bottom[_ngcontent-%COMP%]{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%], .bs-popover-bottom[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]{top:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=bottom][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before, .bs-popover-bottom[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before{top:0;border-width:0 .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after, .bs-popover-bottom[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after{top:1px;border-width:0 .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom][_ngcontent-%COMP%]   .popover-header[_ngcontent-%COMP%]::before, .bs-popover-bottom[_ngcontent-%COMP%]   .popover-header[_ngcontent-%COMP%]::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left][_ngcontent-%COMP%], .bs-popover-left[_ngcontent-%COMP%]{margin-right:.5rem}.bs-popover-auto[x-placement^=left][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%], .bs-popover-left[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]{right:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before, .bs-popover-left[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after, .bs-popover-left[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header[_ngcontent-%COMP%]{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header[_ngcontent-%COMP%]:empty{display:none}.popover-body[_ngcontent-%COMP%]{padding:.5rem .75rem;color:#212529}.carousel[_ngcontent-%COMP%]{position:relative}.carousel.pointer-event[_ngcontent-%COMP%]{touch-action:pan-y}.carousel-inner[_ngcontent-%COMP%]{position:relative;width:100%;overflow:hidden}.carousel-inner[_ngcontent-%COMP%]::after{display:block;clear:both;content:""}.carousel-item[_ngcontent-%COMP%]{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}.carousel-item-next[_ngcontent-%COMP%], .carousel-item-prev[_ngcontent-%COMP%], .carousel-item.active[_ngcontent-%COMP%]{display:block}.active.carousel-item-right[_ngcontent-%COMP%], .carousel-item-next[_ngcontent-%COMP%]:not(.carousel-item-left){transform:translateX(100%)}.active.carousel-item-left[_ngcontent-%COMP%], .carousel-item-prev[_ngcontent-%COMP%]:not(.carousel-item-right){transform:translateX(-100%)}.carousel-fade[_ngcontent-%COMP%]   .carousel-item[_ngcontent-%COMP%]{opacity:0;transition-property:opacity;transform:none}.carousel-fade[_ngcontent-%COMP%]   .carousel-item-next.carousel-item-left[_ngcontent-%COMP%], .carousel-fade[_ngcontent-%COMP%]   .carousel-item-prev.carousel-item-right[_ngcontent-%COMP%], .carousel-fade[_ngcontent-%COMP%]   .carousel-item.active[_ngcontent-%COMP%]{z-index:1;opacity:1}.carousel-fade[_ngcontent-%COMP%]   .active.carousel-item-left[_ngcontent-%COMP%], .carousel-fade[_ngcontent-%COMP%]   .active.carousel-item-right[_ngcontent-%COMP%]{z-index:0;opacity:0;transition:0s .6s opacity}@media (prefers-reduced-motion:reduce){.carousel-fade[_ngcontent-%COMP%]   .active.carousel-item-left[_ngcontent-%COMP%], .carousel-fade[_ngcontent-%COMP%]   .active.carousel-item-right[_ngcontent-%COMP%], .carousel-item[_ngcontent-%COMP%]{transition:none}}.carousel-control-next[_ngcontent-%COMP%], .carousel-control-prev[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}.carousel-control-next[_ngcontent-%COMP%]:focus, .carousel-control-next[_ngcontent-%COMP%]:hover, .carousel-control-prev[_ngcontent-%COMP%]:focus, .carousel-control-prev[_ngcontent-%COMP%]:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev[_ngcontent-%COMP%]{left:0}.carousel-control-next[_ngcontent-%COMP%]{right:0}.carousel-control-next-icon[_ngcontent-%COMP%], .carousel-control-prev-icon[_ngcontent-%COMP%]{display:inline-block;width:20px;height:20px;background:50%/100% 100% no-repeat}.carousel-control-prev-icon[_ngcontent-%COMP%]{background-image:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' fill=\'%23fff\' viewBox=\'0 0 8 8\'%3e%3cpath d=\'M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z\'/%3e%3c/svg%3e")}.carousel-control-next-icon[_ngcontent-%COMP%]{background-image:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' fill=\'%23fff\' viewBox=\'0 0 8 8\'%3e%3cpath d=\'M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z\'/%3e%3c/svg%3e")}.carousel-indicators[_ngcontent-%COMP%]{position:absolute;right:0;bottom:0;left:0;z-index:15;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next[_ngcontent-%COMP%], .carousel-control-prev[_ngcontent-%COMP%], .carousel-indicators[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]{transition:none}}.carousel-indicators[_ngcontent-%COMP%]   .active[_ngcontent-%COMP%]{opacity:1}.carousel-caption[_ngcontent-%COMP%]{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border[_ngcontent-%COMP%]{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;animation:.75s linear infinite spinner-border}.spinner-border-sm[_ngcontent-%COMP%]{width:1rem;height:1rem;border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1}}.spinner-grow[_ngcontent-%COMP%]{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;animation:.75s linear infinite spinner-grow}.spinner-grow-sm[_ngcontent-%COMP%]{width:1rem;height:1rem}.align-baseline[_ngcontent-%COMP%]{vertical-align:baseline!important}.align-top[_ngcontent-%COMP%]{vertical-align:top!important}.align-middle[_ngcontent-%COMP%]{vertical-align:middle!important}.align-bottom[_ngcontent-%COMP%]{vertical-align:bottom!important}.align-text-bottom[_ngcontent-%COMP%]{vertical-align:text-bottom!important}.align-text-top[_ngcontent-%COMP%]{vertical-align:text-top!important}.bg-primary[_ngcontent-%COMP%]{background-color:#2b99a8!important}a.bg-primary[_ngcontent-%COMP%]:focus, a.bg-primary[_ngcontent-%COMP%]:hover, button.bg-primary[_ngcontent-%COMP%]:focus, button.bg-primary[_ngcontent-%COMP%]:hover{background-color:#21747f!important}.bg-secondary[_ngcontent-%COMP%]{background-color:#ef5c55!important}a.bg-secondary[_ngcontent-%COMP%]:focus, a.bg-secondary[_ngcontent-%COMP%]:hover, button.bg-secondary[_ngcontent-%COMP%]:focus, button.bg-secondary[_ngcontent-%COMP%]:hover{background-color:#eb2f26!important}.bg-success[_ngcontent-%COMP%]{background-color:#28a745!important}a.bg-success[_ngcontent-%COMP%]:focus, a.bg-success[_ngcontent-%COMP%]:hover, button.bg-success[_ngcontent-%COMP%]:focus, button.bg-success[_ngcontent-%COMP%]:hover{background-color:#1e7e34!important}.bg-info[_ngcontent-%COMP%]{background-color:#17a2b8!important}a.bg-info[_ngcontent-%COMP%]:focus, a.bg-info[_ngcontent-%COMP%]:hover, button.bg-info[_ngcontent-%COMP%]:focus, button.bg-info[_ngcontent-%COMP%]:hover{background-color:#117a8b!important}.bg-warning[_ngcontent-%COMP%]{background-color:#ffc107!important}a.bg-warning[_ngcontent-%COMP%]:focus, a.bg-warning[_ngcontent-%COMP%]:hover, button.bg-warning[_ngcontent-%COMP%]:focus, button.bg-warning[_ngcontent-%COMP%]:hover{background-color:#d39e00!important}.bg-danger[_ngcontent-%COMP%]{background-color:#dc3545!important}a.bg-danger[_ngcontent-%COMP%]:focus, a.bg-danger[_ngcontent-%COMP%]:hover, button.bg-danger[_ngcontent-%COMP%]:focus, button.bg-danger[_ngcontent-%COMP%]:hover{background-color:#bd2130!important}.bg-light[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]{background-color:#f8f9fa!important}a.bg-light[_ngcontent-%COMP%]:focus, a.bg-light[_ngcontent-%COMP%]:hover, button.bg-light[_ngcontent-%COMP%]:focus, button.bg-light[_ngcontent-%COMP%]:hover{background-color:#dae0e5!important}.bg-dark[_ngcontent-%COMP%]{background-color:#777!important}a.bg-dark[_ngcontent-%COMP%]:focus, a.bg-dark[_ngcontent-%COMP%]:hover, button.bg-dark[_ngcontent-%COMP%]:focus, button.bg-dark[_ngcontent-%COMP%]:hover{background-color:#5e5e5e!important}.bg-white[_ngcontent-%COMP%]{background-color:#fff!important}.bg-transparent[_ngcontent-%COMP%]{background-color:transparent!important}.border[_ngcontent-%COMP%]{border:1px solid #dee2e6!important}.border-top[_ngcontent-%COMP%]{border-top:1px solid #dee2e6!important}.border-right[_ngcontent-%COMP%]{border-right:1px solid #dee2e6!important}.border-bottom[_ngcontent-%COMP%], .cd-header[_ngcontent-%COMP%], legend[_ngcontent-%COMP%]{border-bottom:1px solid #dee2e6!important}.border-left[_ngcontent-%COMP%]{border-left:1px solid #dee2e6!important}.border-0[_ngcontent-%COMP%]{border:0!important}.border-top-0[_ngcontent-%COMP%]{border-top:0!important}.border-right-0[_ngcontent-%COMP%]{border-right:0!important}.border-bottom-0[_ngcontent-%COMP%]{border-bottom:0!important}.border-left-0[_ngcontent-%COMP%]{border-left:0!important}.border-primary[_ngcontent-%COMP%]{border-color:#2b99a8!important}.border-secondary[_ngcontent-%COMP%]{border-color:#ef5c55!important}.border-success[_ngcontent-%COMP%]{border-color:#28a745!important}.border-info[_ngcontent-%COMP%]{border-color:#17a2b8!important}.border-warning[_ngcontent-%COMP%]{border-color:#ffc107!important}.border-danger[_ngcontent-%COMP%]{border-color:#dc3545!important}.border-light[_ngcontent-%COMP%]{border-color:#f8f9fa!important}.border-dark[_ngcontent-%COMP%]{border-color:#777!important}.border-white[_ngcontent-%COMP%]{border-color:#fff!important}.rounded-sm[_ngcontent-%COMP%]{border-radius:.2rem!important}.rounded[_ngcontent-%COMP%]{border-radius:.25rem!important}.rounded-top[_ngcontent-%COMP%]{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right[_ngcontent-%COMP%]{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom[_ngcontent-%COMP%]{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left[_ngcontent-%COMP%]{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-lg[_ngcontent-%COMP%]{border-radius:.3rem!important}.rounded-circle[_ngcontent-%COMP%]{border-radius:50%!important}.rounded-pill[_ngcontent-%COMP%]{border-radius:50rem!important}.rounded-0[_ngcontent-%COMP%]{border-radius:0!important}.clearfix[_ngcontent-%COMP%]::after{display:block;clear:both;content:""}.d-none[_ngcontent-%COMP%]{display:none!important}.d-inline[_ngcontent-%COMP%]{display:inline!important}.d-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-block[_ngcontent-%COMP%]{display:block!important}.d-table[_ngcontent-%COMP%]{display:table!important}.d-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-flex[_ngcontent-%COMP%]{display:flex!important}.d-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}@media (min-width:576px){.d-sm-none[_ngcontent-%COMP%]{display:none!important}.d-sm-inline[_ngcontent-%COMP%]{display:inline!important}.d-sm-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-sm-block[_ngcontent-%COMP%]{display:block!important}.d-sm-table[_ngcontent-%COMP%]{display:table!important}.d-sm-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-sm-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-sm-flex[_ngcontent-%COMP%]{display:flex!important}.d-sm-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}}@media (min-width:768px){.d-md-none[_ngcontent-%COMP%]{display:none!important}.d-md-inline[_ngcontent-%COMP%]{display:inline!important}.d-md-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-md-block[_ngcontent-%COMP%]{display:block!important}.d-md-table[_ngcontent-%COMP%]{display:table!important}.d-md-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-md-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-md-flex[_ngcontent-%COMP%]{display:flex!important}.d-md-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}}@media (min-width:992px){.d-lg-none[_ngcontent-%COMP%]{display:none!important}.d-lg-inline[_ngcontent-%COMP%]{display:inline!important}.d-lg-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-lg-block[_ngcontent-%COMP%]{display:block!important}.d-lg-table[_ngcontent-%COMP%]{display:table!important}.d-lg-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-lg-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-lg-flex[_ngcontent-%COMP%]{display:flex!important}.d-lg-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}}@media (min-width:1200px){.d-xl-none[_ngcontent-%COMP%]{display:none!important}.d-xl-inline[_ngcontent-%COMP%]{display:inline!important}.d-xl-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-xl-block[_ngcontent-%COMP%]{display:block!important}.d-xl-table[_ngcontent-%COMP%]{display:table!important}.d-xl-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-xl-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-xl-flex[_ngcontent-%COMP%]{display:flex!important}.d-xl-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}}@media print{.d-print-none[_ngcontent-%COMP%]{display:none!important}.d-print-inline[_ngcontent-%COMP%]{display:inline!important}.d-print-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-print-block[_ngcontent-%COMP%]{display:block!important}.d-print-table[_ngcontent-%COMP%]{display:table!important}.d-print-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-print-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-print-flex[_ngcontent-%COMP%]{display:flex!important}.d-print-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}}.embed-responsive[_ngcontent-%COMP%]{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive[_ngcontent-%COMP%]::before{display:block;content:""}.embed-responsive[_ngcontent-%COMP%]   .embed-responsive-item[_ngcontent-%COMP%], .embed-responsive[_ngcontent-%COMP%]   embed[_ngcontent-%COMP%], .embed-responsive[_ngcontent-%COMP%]   iframe[_ngcontent-%COMP%], .embed-responsive[_ngcontent-%COMP%]   object[_ngcontent-%COMP%], .embed-responsive[_ngcontent-%COMP%]   video[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9[_ngcontent-%COMP%]::before{padding-top:42.8571428571%}.embed-responsive-16by9[_ngcontent-%COMP%]::before{padding-top:56.25%}.embed-responsive-4by3[_ngcontent-%COMP%]::before{padding-top:75%}.embed-responsive-1by1[_ngcontent-%COMP%]::before{padding-top:100%}.flex-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-column[_ngcontent-%COMP%]{flex-direction:column!important}.flex-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.flex-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.justify-content-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-stretch[_ngcontent-%COMP%]{align-self:stretch!important}@media (min-width:576px){.flex-sm-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-sm-column[_ngcontent-%COMP%]{flex-direction:column!important}.flex-sm-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-sm-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-sm-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-sm-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-sm-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.flex-sm-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-sm-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-sm-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-sm-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-sm-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.justify-content-sm-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-sm-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-sm-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-sm-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-sm-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-sm-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-sm-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-sm-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-sm-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-sm-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-sm-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-sm-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-sm-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-sm-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-sm-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-sm-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-sm-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-sm-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-sm-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-sm-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-sm-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-sm-stretch[_ngcontent-%COMP%]{align-self:stretch!important}}.float-left[_ngcontent-%COMP%]{float:left!important}.float-right[_ngcontent-%COMP%]{float:right!important}.float-none[_ngcontent-%COMP%]{float:none!important}@media (min-width:576px){.float-sm-left[_ngcontent-%COMP%]{float:left!important}.float-sm-right[_ngcontent-%COMP%]{float:right!important}.float-sm-none[_ngcontent-%COMP%]{float:none!important}}.overflow-auto[_ngcontent-%COMP%]{overflow:auto!important}.overflow-hidden[_ngcontent-%COMP%]{overflow:hidden!important}.position-static[_ngcontent-%COMP%]{position:static!important}.position-relative[_ngcontent-%COMP%]{position:relative!important}.position-absolute[_ngcontent-%COMP%]{position:absolute!important}.position-fixed[_ngcontent-%COMP%]{position:fixed!important}.position-sticky[_ngcontent-%COMP%]{position:sticky!important}.fixed-top[_ngcontent-%COMP%]{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom[_ngcontent-%COMP%]{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports (position:sticky){.sticky-top[_ngcontent-%COMP%]{position:sticky;top:0;z-index:1020}}.sr-only[_ngcontent-%COMP%]{clip:rect(0,0,0,0);white-space:nowrap}.shadow-sm[_ngcontent-%COMP%]{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow[_ngcontent-%COMP%]{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg[_ngcontent-%COMP%]{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none[_ngcontent-%COMP%]{box-shadow:none!important}.w-25[_ngcontent-%COMP%]{width:25%!important}.w-50[_ngcontent-%COMP%]{width:50%!important}.w-75[_ngcontent-%COMP%]{width:75%!important}.w-100[_ngcontent-%COMP%]{width:100%!important}.w-auto[_ngcontent-%COMP%]{width:auto!important}.h-25[_ngcontent-%COMP%]{height:25%!important}.h-50[_ngcontent-%COMP%]{height:50%!important}.h-75[_ngcontent-%COMP%]{height:75%!important}.h-100[_ngcontent-%COMP%]{height:100%!important}.h-auto[_ngcontent-%COMP%]{height:auto!important}.mw-100[_ngcontent-%COMP%]{max-width:100%!important}.mh-100[_ngcontent-%COMP%]{max-height:100%!important}.min-vw-100[_ngcontent-%COMP%]{min-width:100vw!important}.min-vh-100[_ngcontent-%COMP%]{min-height:100vh!important}.vw-100[_ngcontent-%COMP%]{width:100vw!important}.vh-100[_ngcontent-%COMP%]{height:100vh!important}.stretched-link[_ngcontent-%COMP%]::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.m-0[_ngcontent-%COMP%]{margin:0!important}.mt-0[_ngcontent-%COMP%], .my-0[_ngcontent-%COMP%]{margin-top:0!important}.mr-0[_ngcontent-%COMP%], .mx-0[_ngcontent-%COMP%]{margin-right:0!important}.mb-0[_ngcontent-%COMP%], .my-0[_ngcontent-%COMP%]{margin-bottom:0!important}.ml-0[_ngcontent-%COMP%], .mx-0[_ngcontent-%COMP%]{margin-left:0!important}.m-1[_ngcontent-%COMP%]{margin:.25rem!important}.mt-1[_ngcontent-%COMP%], .my-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mr-1[_ngcontent-%COMP%], .mx-1[_ngcontent-%COMP%]{margin-right:.25rem!important}.mb-1[_ngcontent-%COMP%], .my-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.ml-1[_ngcontent-%COMP%], .mx-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.m-2[_ngcontent-%COMP%]{margin:.5rem!important}.mt-2[_ngcontent-%COMP%], .my-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mr-2[_ngcontent-%COMP%], .mx-2[_ngcontent-%COMP%]{margin-right:.5rem!important}.mb-2[_ngcontent-%COMP%], .my-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.ml-2[_ngcontent-%COMP%], .mx-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.m-3[_ngcontent-%COMP%]{margin:1rem!important}.mt-3[_ngcontent-%COMP%], .my-3[_ngcontent-%COMP%]{margin-top:1rem!important}.mr-3[_ngcontent-%COMP%], .mx-3[_ngcontent-%COMP%]{margin-right:1rem!important}.mb-3[_ngcontent-%COMP%], .my-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.ml-3[_ngcontent-%COMP%], .mx-3[_ngcontent-%COMP%]{margin-left:1rem!important}.m-4[_ngcontent-%COMP%]{margin:1.5rem!important}.cd-header[_ngcontent-%COMP%], .mt-4[_ngcontent-%COMP%], .my-4[_ngcontent-%COMP%], legend[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mr-4[_ngcontent-%COMP%], .mx-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.cd-header[_ngcontent-%COMP%], .mb-4[_ngcontent-%COMP%], .my-4[_ngcontent-%COMP%], legend[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.ml-4[_ngcontent-%COMP%], .mx-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.m-5[_ngcontent-%COMP%]{margin:3rem!important}.mt-5[_ngcontent-%COMP%], .my-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mr-5[_ngcontent-%COMP%], .mx-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mb-5[_ngcontent-%COMP%], .my-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.ml-5[_ngcontent-%COMP%], .mx-5[_ngcontent-%COMP%]{margin-left:3rem!important}.p-0[_ngcontent-%COMP%]{padding:0!important}.pt-0[_ngcontent-%COMP%], .py-0[_ngcontent-%COMP%]{padding-top:0!important}.pr-0[_ngcontent-%COMP%], .px-0[_ngcontent-%COMP%]{padding-right:0!important}.pb-0[_ngcontent-%COMP%], .py-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pl-0[_ngcontent-%COMP%], .px-0[_ngcontent-%COMP%]{padding-left:0!important}.p-1[_ngcontent-%COMP%]{padding:.25rem!important}.pt-1[_ngcontent-%COMP%], .py-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pr-1[_ngcontent-%COMP%], .px-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.cd-header[_ngcontent-%COMP%], .pb-1[_ngcontent-%COMP%], .py-1[_ngcontent-%COMP%], legend[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pl-1[_ngcontent-%COMP%], .px-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.p-2[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]{padding:.5rem!important}.card[_ngcontent-%COMP%]   .card-body[_ngcontent-%COMP%]   .card-text[_ngcontent-%COMP%], .pt-2[_ngcontent-%COMP%], .py-2[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]   .card-body[_ngcontent-%COMP%]   .card-text[_ngcontent-%COMP%]{padding-top:.5rem!important}.pr-2[_ngcontent-%COMP%], .px-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.card[_ngcontent-%COMP%], .pb-2[_ngcontent-%COMP%], .py-2[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pl-2[_ngcontent-%COMP%], .px-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.p-3[_ngcontent-%COMP%]{padding:1rem!important}.pt-3[_ngcontent-%COMP%], .py-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pr-3[_ngcontent-%COMP%], .px-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pb-3[_ngcontent-%COMP%], .py-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pl-3[_ngcontent-%COMP%], .px-3[_ngcontent-%COMP%]{padding-left:1rem!important}.p-4[_ngcontent-%COMP%]{padding:1.5rem!important}.pt-4[_ngcontent-%COMP%], .py-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pr-4[_ngcontent-%COMP%], .px-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pb-4[_ngcontent-%COMP%], .py-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pl-4[_ngcontent-%COMP%], .px-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.p-5[_ngcontent-%COMP%]{padding:3rem!important}.pt-5[_ngcontent-%COMP%], .py-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-5[_ngcontent-%COMP%], .px-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-5[_ngcontent-%COMP%], .py-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-5[_ngcontent-%COMP%], .px-5[_ngcontent-%COMP%]{padding-left:3rem!important}.m-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.mt-n1[_ngcontent-%COMP%], .my-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mr-n1[_ngcontent-%COMP%], .mx-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mb-n1[_ngcontent-%COMP%], .my-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.ml-n1[_ngcontent-%COMP%], .mx-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.m-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.mt-n2[_ngcontent-%COMP%], .my-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mr-n2[_ngcontent-%COMP%], .mx-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mb-n2[_ngcontent-%COMP%], .my-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.ml-n2[_ngcontent-%COMP%], .mx-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.m-n3[_ngcontent-%COMP%]{margin:-1rem!important}.mt-n3[_ngcontent-%COMP%], .my-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mr-n3[_ngcontent-%COMP%], .mx-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mb-n3[_ngcontent-%COMP%], .my-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.ml-n3[_ngcontent-%COMP%], .mx-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.m-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.mt-n4[_ngcontent-%COMP%], .my-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mr-n4[_ngcontent-%COMP%], .mx-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mb-n4[_ngcontent-%COMP%], .my-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.ml-n4[_ngcontent-%COMP%], .mx-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.m-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mt-n5[_ngcontent-%COMP%], .my-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-n5[_ngcontent-%COMP%], .mx-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-n5[_ngcontent-%COMP%], .my-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-n5[_ngcontent-%COMP%], .mx-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.m-auto[_ngcontent-%COMP%]{margin:auto!important}.mt-auto[_ngcontent-%COMP%], .my-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-auto[_ngcontent-%COMP%], .mx-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-auto[_ngcontent-%COMP%], .my-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-auto[_ngcontent-%COMP%], .mx-auto[_ngcontent-%COMP%]{margin-left:auto!important}@media (min-width:576px){.m-sm-0[_ngcontent-%COMP%]{margin:0!important}.mt-sm-0[_ngcontent-%COMP%], .my-sm-0[_ngcontent-%COMP%]{margin-top:0!important}.mr-sm-0[_ngcontent-%COMP%], .mx-sm-0[_ngcontent-%COMP%]{margin-right:0!important}.mb-sm-0[_ngcontent-%COMP%], .my-sm-0[_ngcontent-%COMP%]{margin-bottom:0!important}.ml-sm-0[_ngcontent-%COMP%], .mx-sm-0[_ngcontent-%COMP%]{margin-left:0!important}.m-sm-1[_ngcontent-%COMP%]{margin:.25rem!important}.mt-sm-1[_ngcontent-%COMP%], .my-sm-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mr-sm-1[_ngcontent-%COMP%], .mx-sm-1[_ngcontent-%COMP%]{margin-right:.25rem!important}.mb-sm-1[_ngcontent-%COMP%], .my-sm-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.ml-sm-1[_ngcontent-%COMP%], .mx-sm-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.m-sm-2[_ngcontent-%COMP%]{margin:.5rem!important}.mt-sm-2[_ngcontent-%COMP%], .my-sm-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mr-sm-2[_ngcontent-%COMP%], .mx-sm-2[_ngcontent-%COMP%]{margin-right:.5rem!important}.mb-sm-2[_ngcontent-%COMP%], .my-sm-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.ml-sm-2[_ngcontent-%COMP%], .mx-sm-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.m-sm-3[_ngcontent-%COMP%]{margin:1rem!important}.mt-sm-3[_ngcontent-%COMP%], .my-sm-3[_ngcontent-%COMP%]{margin-top:1rem!important}.mr-sm-3[_ngcontent-%COMP%], .mx-sm-3[_ngcontent-%COMP%]{margin-right:1rem!important}.mb-sm-3[_ngcontent-%COMP%], .my-sm-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.ml-sm-3[_ngcontent-%COMP%], .mx-sm-3[_ngcontent-%COMP%]{margin-left:1rem!important}.m-sm-4[_ngcontent-%COMP%]{margin:1.5rem!important}.mt-sm-4[_ngcontent-%COMP%], .my-sm-4[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mr-sm-4[_ngcontent-%COMP%], .mx-sm-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.mb-sm-4[_ngcontent-%COMP%], .my-sm-4[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.ml-sm-4[_ngcontent-%COMP%], .mx-sm-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.m-sm-5[_ngcontent-%COMP%]{margin:3rem!important}.mt-sm-5[_ngcontent-%COMP%], .my-sm-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mr-sm-5[_ngcontent-%COMP%], .mx-sm-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mb-sm-5[_ngcontent-%COMP%], .my-sm-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.ml-sm-5[_ngcontent-%COMP%], .mx-sm-5[_ngcontent-%COMP%]{margin-left:3rem!important}.p-sm-0[_ngcontent-%COMP%]{padding:0!important}.pt-sm-0[_ngcontent-%COMP%], .py-sm-0[_ngcontent-%COMP%]{padding-top:0!important}.pr-sm-0[_ngcontent-%COMP%], .px-sm-0[_ngcontent-%COMP%]{padding-right:0!important}.pb-sm-0[_ngcontent-%COMP%], .py-sm-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pl-sm-0[_ngcontent-%COMP%], .px-sm-0[_ngcontent-%COMP%]{padding-left:0!important}.p-sm-1[_ngcontent-%COMP%]{padding:.25rem!important}.pt-sm-1[_ngcontent-%COMP%], .py-sm-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pr-sm-1[_ngcontent-%COMP%], .px-sm-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.pb-sm-1[_ngcontent-%COMP%], .py-sm-1[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pl-sm-1[_ngcontent-%COMP%], .px-sm-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.p-sm-2[_ngcontent-%COMP%]{padding:.5rem!important}.pt-sm-2[_ngcontent-%COMP%], .py-sm-2[_ngcontent-%COMP%]{padding-top:.5rem!important}.pr-sm-2[_ngcontent-%COMP%], .px-sm-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.pb-sm-2[_ngcontent-%COMP%], .py-sm-2[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pl-sm-2[_ngcontent-%COMP%], .px-sm-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.p-sm-3[_ngcontent-%COMP%]{padding:1rem!important}.pt-sm-3[_ngcontent-%COMP%], .py-sm-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pr-sm-3[_ngcontent-%COMP%], .px-sm-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pb-sm-3[_ngcontent-%COMP%], .py-sm-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pl-sm-3[_ngcontent-%COMP%], .px-sm-3[_ngcontent-%COMP%]{padding-left:1rem!important}.p-sm-4[_ngcontent-%COMP%]{padding:1.5rem!important}.pt-sm-4[_ngcontent-%COMP%], .py-sm-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pr-sm-4[_ngcontent-%COMP%], .px-sm-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pb-sm-4[_ngcontent-%COMP%], .py-sm-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pl-sm-4[_ngcontent-%COMP%], .px-sm-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.p-sm-5[_ngcontent-%COMP%]{padding:3rem!important}.pt-sm-5[_ngcontent-%COMP%], .py-sm-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-sm-5[_ngcontent-%COMP%], .px-sm-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-sm-5[_ngcontent-%COMP%], .py-sm-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-sm-5[_ngcontent-%COMP%], .px-sm-5[_ngcontent-%COMP%]{padding-left:3rem!important}.m-sm-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.mt-sm-n1[_ngcontent-%COMP%], .my-sm-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mr-sm-n1[_ngcontent-%COMP%], .mx-sm-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mb-sm-n1[_ngcontent-%COMP%], .my-sm-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.ml-sm-n1[_ngcontent-%COMP%], .mx-sm-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.m-sm-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.mt-sm-n2[_ngcontent-%COMP%], .my-sm-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mr-sm-n2[_ngcontent-%COMP%], .mx-sm-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mb-sm-n2[_ngcontent-%COMP%], .my-sm-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.ml-sm-n2[_ngcontent-%COMP%], .mx-sm-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.m-sm-n3[_ngcontent-%COMP%]{margin:-1rem!important}.mt-sm-n3[_ngcontent-%COMP%], .my-sm-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mr-sm-n3[_ngcontent-%COMP%], .mx-sm-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mb-sm-n3[_ngcontent-%COMP%], .my-sm-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.ml-sm-n3[_ngcontent-%COMP%], .mx-sm-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.m-sm-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.mt-sm-n4[_ngcontent-%COMP%], .my-sm-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mr-sm-n4[_ngcontent-%COMP%], .mx-sm-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mb-sm-n4[_ngcontent-%COMP%], .my-sm-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.ml-sm-n4[_ngcontent-%COMP%], .mx-sm-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.m-sm-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mt-sm-n5[_ngcontent-%COMP%], .my-sm-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-sm-n5[_ngcontent-%COMP%], .mx-sm-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-sm-n5[_ngcontent-%COMP%], .my-sm-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-sm-n5[_ngcontent-%COMP%], .mx-sm-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.m-sm-auto[_ngcontent-%COMP%]{margin:auto!important}.mt-sm-auto[_ngcontent-%COMP%], .my-sm-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-sm-auto[_ngcontent-%COMP%], .mx-sm-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-sm-auto[_ngcontent-%COMP%], .my-sm-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-sm-auto[_ngcontent-%COMP%], .mx-sm-auto[_ngcontent-%COMP%]{margin-left:auto!important}}.text-monospace[_ngcontent-%COMP%]{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.text-justify[_ngcontent-%COMP%]{text-align:justify!important}.text-wrap[_ngcontent-%COMP%]{white-space:normal!important}.text-nowrap[_ngcontent-%COMP%]{white-space:nowrap!important}.text-truncate[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left[_ngcontent-%COMP%]{text-align:left!important}.text-right[_ngcontent-%COMP%]{text-align:right!important}.text-center[_ngcontent-%COMP%]{text-align:center!important}@media (min-width:576px){.text-sm-left[_ngcontent-%COMP%]{text-align:left!important}.text-sm-right[_ngcontent-%COMP%]{text-align:right!important}.text-sm-center[_ngcontent-%COMP%]{text-align:center!important}}@media (min-width:768px){.flex-md-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-md-column[_ngcontent-%COMP%]{flex-direction:column!important}.flex-md-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-md-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-md-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-md-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-md-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.flex-md-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-md-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-md-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-md-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-md-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.justify-content-md-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-md-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-md-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-md-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-md-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-md-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-md-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-md-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-md-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-md-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-md-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-md-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-md-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-md-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-md-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-md-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-md-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-md-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-md-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-md-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-md-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-md-stretch[_ngcontent-%COMP%]{align-self:stretch!important}.float-md-left[_ngcontent-%COMP%]{float:left!important}.float-md-right[_ngcontent-%COMP%]{float:right!important}.float-md-none[_ngcontent-%COMP%]{float:none!important}.m-md-0[_ngcontent-%COMP%]{margin:0!important}.mt-md-0[_ngcontent-%COMP%], .my-md-0[_ngcontent-%COMP%]{margin-top:0!important}.mr-md-0[_ngcontent-%COMP%], .mx-md-0[_ngcontent-%COMP%]{margin-right:0!important}.mb-md-0[_ngcontent-%COMP%], .my-md-0[_ngcontent-%COMP%]{margin-bottom:0!important}.ml-md-0[_ngcontent-%COMP%], .mx-md-0[_ngcontent-%COMP%]{margin-left:0!important}.m-md-1[_ngcontent-%COMP%]{margin:.25rem!important}.mt-md-1[_ngcontent-%COMP%], .my-md-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mr-md-1[_ngcontent-%COMP%], .mx-md-1[_ngcontent-%COMP%]{margin-right:.25rem!important}.mb-md-1[_ngcontent-%COMP%], .my-md-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.ml-md-1[_ngcontent-%COMP%], .mx-md-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.m-md-2[_ngcontent-%COMP%]{margin:.5rem!important}.mt-md-2[_ngcontent-%COMP%], .my-md-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mr-md-2[_ngcontent-%COMP%], .mx-md-2[_ngcontent-%COMP%]{margin-right:.5rem!important}.mb-md-2[_ngcontent-%COMP%], .my-md-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.ml-md-2[_ngcontent-%COMP%], .mx-md-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.m-md-3[_ngcontent-%COMP%]{margin:1rem!important}.mt-md-3[_ngcontent-%COMP%], .my-md-3[_ngcontent-%COMP%]{margin-top:1rem!important}.mr-md-3[_ngcontent-%COMP%], .mx-md-3[_ngcontent-%COMP%]{margin-right:1rem!important}.mb-md-3[_ngcontent-%COMP%], .my-md-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.ml-md-3[_ngcontent-%COMP%], .mx-md-3[_ngcontent-%COMP%]{margin-left:1rem!important}.m-md-4[_ngcontent-%COMP%]{margin:1.5rem!important}.mt-md-4[_ngcontent-%COMP%], .my-md-4[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mr-md-4[_ngcontent-%COMP%], .mx-md-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.mb-md-4[_ngcontent-%COMP%], .my-md-4[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.ml-md-4[_ngcontent-%COMP%], .mx-md-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.m-md-5[_ngcontent-%COMP%]{margin:3rem!important}.mt-md-5[_ngcontent-%COMP%], .my-md-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mr-md-5[_ngcontent-%COMP%], .mx-md-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mb-md-5[_ngcontent-%COMP%], .my-md-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.ml-md-5[_ngcontent-%COMP%], .mx-md-5[_ngcontent-%COMP%]{margin-left:3rem!important}.p-md-0[_ngcontent-%COMP%]{padding:0!important}.pt-md-0[_ngcontent-%COMP%], .py-md-0[_ngcontent-%COMP%]{padding-top:0!important}.pr-md-0[_ngcontent-%COMP%], .px-md-0[_ngcontent-%COMP%]{padding-right:0!important}.pb-md-0[_ngcontent-%COMP%], .py-md-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pl-md-0[_ngcontent-%COMP%], .px-md-0[_ngcontent-%COMP%]{padding-left:0!important}.p-md-1[_ngcontent-%COMP%]{padding:.25rem!important}.pt-md-1[_ngcontent-%COMP%], .py-md-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pr-md-1[_ngcontent-%COMP%], .px-md-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.pb-md-1[_ngcontent-%COMP%], .py-md-1[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pl-md-1[_ngcontent-%COMP%], .px-md-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.p-md-2[_ngcontent-%COMP%]{padding:.5rem!important}.pt-md-2[_ngcontent-%COMP%], .py-md-2[_ngcontent-%COMP%]{padding-top:.5rem!important}.pr-md-2[_ngcontent-%COMP%], .px-md-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.pb-md-2[_ngcontent-%COMP%], .py-md-2[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pl-md-2[_ngcontent-%COMP%], .px-md-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.p-md-3[_ngcontent-%COMP%]{padding:1rem!important}.pt-md-3[_ngcontent-%COMP%], .py-md-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pr-md-3[_ngcontent-%COMP%], .px-md-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pb-md-3[_ngcontent-%COMP%], .py-md-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pl-md-3[_ngcontent-%COMP%], .px-md-3[_ngcontent-%COMP%]{padding-left:1rem!important}.p-md-4[_ngcontent-%COMP%]{padding:1.5rem!important}.pt-md-4[_ngcontent-%COMP%], .py-md-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pr-md-4[_ngcontent-%COMP%], .px-md-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pb-md-4[_ngcontent-%COMP%], .py-md-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pl-md-4[_ngcontent-%COMP%], .px-md-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.p-md-5[_ngcontent-%COMP%]{padding:3rem!important}.pt-md-5[_ngcontent-%COMP%], .py-md-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-md-5[_ngcontent-%COMP%], .px-md-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-md-5[_ngcontent-%COMP%], .py-md-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-md-5[_ngcontent-%COMP%], .px-md-5[_ngcontent-%COMP%]{padding-left:3rem!important}.m-md-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.mt-md-n1[_ngcontent-%COMP%], .my-md-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mr-md-n1[_ngcontent-%COMP%], .mx-md-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mb-md-n1[_ngcontent-%COMP%], .my-md-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.ml-md-n1[_ngcontent-%COMP%], .mx-md-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.m-md-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.mt-md-n2[_ngcontent-%COMP%], .my-md-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mr-md-n2[_ngcontent-%COMP%], .mx-md-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mb-md-n2[_ngcontent-%COMP%], .my-md-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.ml-md-n2[_ngcontent-%COMP%], .mx-md-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.m-md-n3[_ngcontent-%COMP%]{margin:-1rem!important}.mt-md-n3[_ngcontent-%COMP%], .my-md-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mr-md-n3[_ngcontent-%COMP%], .mx-md-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mb-md-n3[_ngcontent-%COMP%], .my-md-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.ml-md-n3[_ngcontent-%COMP%], .mx-md-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.m-md-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.mt-md-n4[_ngcontent-%COMP%], .my-md-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mr-md-n4[_ngcontent-%COMP%], .mx-md-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mb-md-n4[_ngcontent-%COMP%], .my-md-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.ml-md-n4[_ngcontent-%COMP%], .mx-md-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.m-md-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mt-md-n5[_ngcontent-%COMP%], .my-md-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-md-n5[_ngcontent-%COMP%], .mx-md-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-md-n5[_ngcontent-%COMP%], .my-md-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-md-n5[_ngcontent-%COMP%], .mx-md-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.m-md-auto[_ngcontent-%COMP%]{margin:auto!important}.mt-md-auto[_ngcontent-%COMP%], .my-md-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-md-auto[_ngcontent-%COMP%], .mx-md-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-md-auto[_ngcontent-%COMP%], .my-md-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-md-auto[_ngcontent-%COMP%], .mx-md-auto[_ngcontent-%COMP%]{margin-left:auto!important}.text-md-left[_ngcontent-%COMP%]{text-align:left!important}.text-md-right[_ngcontent-%COMP%]{text-align:right!important}.text-md-center[_ngcontent-%COMP%]{text-align:center!important}}@media (min-width:992px){.flex-lg-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-lg-column[_ngcontent-%COMP%]{flex-direction:column!important}.flex-lg-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-lg-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-lg-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-lg-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-lg-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.flex-lg-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-lg-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-lg-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-lg-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-lg-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.justify-content-lg-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-lg-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-lg-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-lg-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-lg-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-lg-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-lg-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-lg-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-lg-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-lg-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-lg-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-lg-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-lg-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-lg-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-lg-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-lg-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-lg-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-lg-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-lg-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-lg-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-lg-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-lg-stretch[_ngcontent-%COMP%]{align-self:stretch!important}.float-lg-left[_ngcontent-%COMP%]{float:left!important}.float-lg-right[_ngcontent-%COMP%]{float:right!important}.float-lg-none[_ngcontent-%COMP%]{float:none!important}.m-lg-0[_ngcontent-%COMP%]{margin:0!important}.mt-lg-0[_ngcontent-%COMP%], .my-lg-0[_ngcontent-%COMP%]{margin-top:0!important}.mr-lg-0[_ngcontent-%COMP%], .mx-lg-0[_ngcontent-%COMP%]{margin-right:0!important}.mb-lg-0[_ngcontent-%COMP%], .my-lg-0[_ngcontent-%COMP%]{margin-bottom:0!important}.ml-lg-0[_ngcontent-%COMP%], .mx-lg-0[_ngcontent-%COMP%]{margin-left:0!important}.m-lg-1[_ngcontent-%COMP%]{margin:.25rem!important}.mt-lg-1[_ngcontent-%COMP%], .my-lg-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mr-lg-1[_ngcontent-%COMP%], .mx-lg-1[_ngcontent-%COMP%]{margin-right:.25rem!important}.mb-lg-1[_ngcontent-%COMP%], .my-lg-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.ml-lg-1[_ngcontent-%COMP%], .mx-lg-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.m-lg-2[_ngcontent-%COMP%]{margin:.5rem!important}.mt-lg-2[_ngcontent-%COMP%], .my-lg-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mr-lg-2[_ngcontent-%COMP%], .mx-lg-2[_ngcontent-%COMP%]{margin-right:.5rem!important}.mb-lg-2[_ngcontent-%COMP%], .my-lg-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.ml-lg-2[_ngcontent-%COMP%], .mx-lg-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.m-lg-3[_ngcontent-%COMP%]{margin:1rem!important}.mt-lg-3[_ngcontent-%COMP%], .my-lg-3[_ngcontent-%COMP%]{margin-top:1rem!important}.mr-lg-3[_ngcontent-%COMP%], .mx-lg-3[_ngcontent-%COMP%]{margin-right:1rem!important}.mb-lg-3[_ngcontent-%COMP%], .my-lg-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.ml-lg-3[_ngcontent-%COMP%], .mx-lg-3[_ngcontent-%COMP%]{margin-left:1rem!important}.m-lg-4[_ngcontent-%COMP%]{margin:1.5rem!important}.mt-lg-4[_ngcontent-%COMP%], .my-lg-4[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mr-lg-4[_ngcontent-%COMP%], .mx-lg-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.mb-lg-4[_ngcontent-%COMP%], .my-lg-4[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.ml-lg-4[_ngcontent-%COMP%], .mx-lg-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.m-lg-5[_ngcontent-%COMP%]{margin:3rem!important}.mt-lg-5[_ngcontent-%COMP%], .my-lg-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mr-lg-5[_ngcontent-%COMP%], .mx-lg-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mb-lg-5[_ngcontent-%COMP%], .my-lg-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.ml-lg-5[_ngcontent-%COMP%], .mx-lg-5[_ngcontent-%COMP%]{margin-left:3rem!important}.p-lg-0[_ngcontent-%COMP%]{padding:0!important}.pt-lg-0[_ngcontent-%COMP%], .py-lg-0[_ngcontent-%COMP%]{padding-top:0!important}.pr-lg-0[_ngcontent-%COMP%], .px-lg-0[_ngcontent-%COMP%]{padding-right:0!important}.pb-lg-0[_ngcontent-%COMP%], .py-lg-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pl-lg-0[_ngcontent-%COMP%], .px-lg-0[_ngcontent-%COMP%]{padding-left:0!important}.p-lg-1[_ngcontent-%COMP%]{padding:.25rem!important}.pt-lg-1[_ngcontent-%COMP%], .py-lg-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pr-lg-1[_ngcontent-%COMP%], .px-lg-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.pb-lg-1[_ngcontent-%COMP%], .py-lg-1[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pl-lg-1[_ngcontent-%COMP%], .px-lg-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.p-lg-2[_ngcontent-%COMP%]{padding:.5rem!important}.pt-lg-2[_ngcontent-%COMP%], .py-lg-2[_ngcontent-%COMP%]{padding-top:.5rem!important}.pr-lg-2[_ngcontent-%COMP%], .px-lg-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.pb-lg-2[_ngcontent-%COMP%], .py-lg-2[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pl-lg-2[_ngcontent-%COMP%], .px-lg-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.p-lg-3[_ngcontent-%COMP%]{padding:1rem!important}.pt-lg-3[_ngcontent-%COMP%], .py-lg-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pr-lg-3[_ngcontent-%COMP%], .px-lg-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pb-lg-3[_ngcontent-%COMP%], .py-lg-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pl-lg-3[_ngcontent-%COMP%], .px-lg-3[_ngcontent-%COMP%]{padding-left:1rem!important}.p-lg-4[_ngcontent-%COMP%]{padding:1.5rem!important}.pt-lg-4[_ngcontent-%COMP%], .py-lg-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pr-lg-4[_ngcontent-%COMP%], .px-lg-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pb-lg-4[_ngcontent-%COMP%], .py-lg-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pl-lg-4[_ngcontent-%COMP%], .px-lg-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.p-lg-5[_ngcontent-%COMP%]{padding:3rem!important}.pt-lg-5[_ngcontent-%COMP%], .py-lg-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-lg-5[_ngcontent-%COMP%], .px-lg-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-lg-5[_ngcontent-%COMP%], .py-lg-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-lg-5[_ngcontent-%COMP%], .px-lg-5[_ngcontent-%COMP%]{padding-left:3rem!important}.m-lg-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.mt-lg-n1[_ngcontent-%COMP%], .my-lg-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mr-lg-n1[_ngcontent-%COMP%], .mx-lg-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mb-lg-n1[_ngcontent-%COMP%], .my-lg-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.ml-lg-n1[_ngcontent-%COMP%], .mx-lg-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.m-lg-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.mt-lg-n2[_ngcontent-%COMP%], .my-lg-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mr-lg-n2[_ngcontent-%COMP%], .mx-lg-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mb-lg-n2[_ngcontent-%COMP%], .my-lg-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.ml-lg-n2[_ngcontent-%COMP%], .mx-lg-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.m-lg-n3[_ngcontent-%COMP%]{margin:-1rem!important}.mt-lg-n3[_ngcontent-%COMP%], .my-lg-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mr-lg-n3[_ngcontent-%COMP%], .mx-lg-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mb-lg-n3[_ngcontent-%COMP%], .my-lg-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.ml-lg-n3[_ngcontent-%COMP%], .mx-lg-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.m-lg-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.mt-lg-n4[_ngcontent-%COMP%], .my-lg-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mr-lg-n4[_ngcontent-%COMP%], .mx-lg-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mb-lg-n4[_ngcontent-%COMP%], .my-lg-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.ml-lg-n4[_ngcontent-%COMP%], .mx-lg-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.m-lg-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mt-lg-n5[_ngcontent-%COMP%], .my-lg-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-lg-n5[_ngcontent-%COMP%], .mx-lg-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-lg-n5[_ngcontent-%COMP%], .my-lg-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-lg-n5[_ngcontent-%COMP%], .mx-lg-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.m-lg-auto[_ngcontent-%COMP%]{margin:auto!important}.mt-lg-auto[_ngcontent-%COMP%], .my-lg-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-lg-auto[_ngcontent-%COMP%], .mx-lg-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-lg-auto[_ngcontent-%COMP%], .my-lg-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-lg-auto[_ngcontent-%COMP%], .mx-lg-auto[_ngcontent-%COMP%]{margin-left:auto!important}.text-lg-left[_ngcontent-%COMP%]{text-align:left!important}.text-lg-right[_ngcontent-%COMP%]{text-align:right!important}.text-lg-center[_ngcontent-%COMP%]{text-align:center!important}}@media (min-width:1200px){.flex-xl-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-xl-column[_ngcontent-%COMP%]{flex-direction:column!important}.flex-xl-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-xl-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-xl-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-xl-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-xl-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.flex-xl-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-xl-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-xl-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-xl-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-xl-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.justify-content-xl-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-xl-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-xl-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-xl-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-xl-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-xl-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-xl-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-xl-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-xl-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-xl-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-xl-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-xl-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-xl-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-xl-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-xl-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-xl-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-xl-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-xl-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-xl-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-xl-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-xl-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-xl-stretch[_ngcontent-%COMP%]{align-self:stretch!important}.float-xl-left[_ngcontent-%COMP%]{float:left!important}.float-xl-right[_ngcontent-%COMP%]{float:right!important}.float-xl-none[_ngcontent-%COMP%]{float:none!important}.m-xl-0[_ngcontent-%COMP%]{margin:0!important}.mt-xl-0[_ngcontent-%COMP%], .my-xl-0[_ngcontent-%COMP%]{margin-top:0!important}.mr-xl-0[_ngcontent-%COMP%], .mx-xl-0[_ngcontent-%COMP%]{margin-right:0!important}.mb-xl-0[_ngcontent-%COMP%], .my-xl-0[_ngcontent-%COMP%]{margin-bottom:0!important}.ml-xl-0[_ngcontent-%COMP%], .mx-xl-0[_ngcontent-%COMP%]{margin-left:0!important}.m-xl-1[_ngcontent-%COMP%]{margin:.25rem!important}.mt-xl-1[_ngcontent-%COMP%], .my-xl-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mr-xl-1[_ngcontent-%COMP%], .mx-xl-1[_ngcontent-%COMP%]{margin-right:.25rem!important}.mb-xl-1[_ngcontent-%COMP%], .my-xl-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.ml-xl-1[_ngcontent-%COMP%], .mx-xl-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.m-xl-2[_ngcontent-%COMP%]{margin:.5rem!important}.mt-xl-2[_ngcontent-%COMP%], .my-xl-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mr-xl-2[_ngcontent-%COMP%], .mx-xl-2[_ngcontent-%COMP%]{margin-right:.5rem!important}.mb-xl-2[_ngcontent-%COMP%], .my-xl-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.ml-xl-2[_ngcontent-%COMP%], .mx-xl-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.m-xl-3[_ngcontent-%COMP%]{margin:1rem!important}.mt-xl-3[_ngcontent-%COMP%], .my-xl-3[_ngcontent-%COMP%]{margin-top:1rem!important}.mr-xl-3[_ngcontent-%COMP%], .mx-xl-3[_ngcontent-%COMP%]{margin-right:1rem!important}.mb-xl-3[_ngcontent-%COMP%], .my-xl-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.ml-xl-3[_ngcontent-%COMP%], .mx-xl-3[_ngcontent-%COMP%]{margin-left:1rem!important}.m-xl-4[_ngcontent-%COMP%]{margin:1.5rem!important}.mt-xl-4[_ngcontent-%COMP%], .my-xl-4[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mr-xl-4[_ngcontent-%COMP%], .mx-xl-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.mb-xl-4[_ngcontent-%COMP%], .my-xl-4[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.ml-xl-4[_ngcontent-%COMP%], .mx-xl-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.m-xl-5[_ngcontent-%COMP%]{margin:3rem!important}.mt-xl-5[_ngcontent-%COMP%], .my-xl-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mr-xl-5[_ngcontent-%COMP%], .mx-xl-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mb-xl-5[_ngcontent-%COMP%], .my-xl-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.ml-xl-5[_ngcontent-%COMP%], .mx-xl-5[_ngcontent-%COMP%]{margin-left:3rem!important}.p-xl-0[_ngcontent-%COMP%]{padding:0!important}.pt-xl-0[_ngcontent-%COMP%], .py-xl-0[_ngcontent-%COMP%]{padding-top:0!important}.pr-xl-0[_ngcontent-%COMP%], .px-xl-0[_ngcontent-%COMP%]{padding-right:0!important}.pb-xl-0[_ngcontent-%COMP%], .py-xl-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pl-xl-0[_ngcontent-%COMP%], .px-xl-0[_ngcontent-%COMP%]{padding-left:0!important}.p-xl-1[_ngcontent-%COMP%]{padding:.25rem!important}.pt-xl-1[_ngcontent-%COMP%], .py-xl-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pr-xl-1[_ngcontent-%COMP%], .px-xl-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.pb-xl-1[_ngcontent-%COMP%], .py-xl-1[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pl-xl-1[_ngcontent-%COMP%], .px-xl-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.p-xl-2[_ngcontent-%COMP%]{padding:.5rem!important}.pt-xl-2[_ngcontent-%COMP%], .py-xl-2[_ngcontent-%COMP%]{padding-top:.5rem!important}.pr-xl-2[_ngcontent-%COMP%], .px-xl-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.pb-xl-2[_ngcontent-%COMP%], .py-xl-2[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pl-xl-2[_ngcontent-%COMP%], .px-xl-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.p-xl-3[_ngcontent-%COMP%]{padding:1rem!important}.pt-xl-3[_ngcontent-%COMP%], .py-xl-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pr-xl-3[_ngcontent-%COMP%], .px-xl-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pb-xl-3[_ngcontent-%COMP%], .py-xl-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pl-xl-3[_ngcontent-%COMP%], .px-xl-3[_ngcontent-%COMP%]{padding-left:1rem!important}.p-xl-4[_ngcontent-%COMP%]{padding:1.5rem!important}.pt-xl-4[_ngcontent-%COMP%], .py-xl-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pr-xl-4[_ngcontent-%COMP%], .px-xl-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pb-xl-4[_ngcontent-%COMP%], .py-xl-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pl-xl-4[_ngcontent-%COMP%], .px-xl-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.p-xl-5[_ngcontent-%COMP%]{padding:3rem!important}.pt-xl-5[_ngcontent-%COMP%], .py-xl-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-xl-5[_ngcontent-%COMP%], .px-xl-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-xl-5[_ngcontent-%COMP%], .py-xl-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-xl-5[_ngcontent-%COMP%], .px-xl-5[_ngcontent-%COMP%]{padding-left:3rem!important}.m-xl-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.mt-xl-n1[_ngcontent-%COMP%], .my-xl-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mr-xl-n1[_ngcontent-%COMP%], .mx-xl-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mb-xl-n1[_ngcontent-%COMP%], .my-xl-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.ml-xl-n1[_ngcontent-%COMP%], .mx-xl-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.m-xl-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.mt-xl-n2[_ngcontent-%COMP%], .my-xl-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mr-xl-n2[_ngcontent-%COMP%], .mx-xl-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mb-xl-n2[_ngcontent-%COMP%], .my-xl-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.ml-xl-n2[_ngcontent-%COMP%], .mx-xl-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.m-xl-n3[_ngcontent-%COMP%]{margin:-1rem!important}.mt-xl-n3[_ngcontent-%COMP%], .my-xl-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mr-xl-n3[_ngcontent-%COMP%], .mx-xl-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mb-xl-n3[_ngcontent-%COMP%], .my-xl-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.ml-xl-n3[_ngcontent-%COMP%], .mx-xl-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.m-xl-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.mt-xl-n4[_ngcontent-%COMP%], .my-xl-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mr-xl-n4[_ngcontent-%COMP%], .mx-xl-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mb-xl-n4[_ngcontent-%COMP%], .my-xl-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.ml-xl-n4[_ngcontent-%COMP%], .mx-xl-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.m-xl-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mt-xl-n5[_ngcontent-%COMP%], .my-xl-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-xl-n5[_ngcontent-%COMP%], .mx-xl-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-xl-n5[_ngcontent-%COMP%], .my-xl-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-xl-n5[_ngcontent-%COMP%], .mx-xl-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.m-xl-auto[_ngcontent-%COMP%]{margin:auto!important}.mt-xl-auto[_ngcontent-%COMP%], .my-xl-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-xl-auto[_ngcontent-%COMP%], .mx-xl-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-xl-auto[_ngcontent-%COMP%], .my-xl-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-xl-auto[_ngcontent-%COMP%], .mx-xl-auto[_ngcontent-%COMP%]{margin-left:auto!important}.text-xl-left[_ngcontent-%COMP%]{text-align:left!important}.text-xl-right[_ngcontent-%COMP%]{text-align:right!important}.text-xl-center[_ngcontent-%COMP%]{text-align:center!important}}.text-lowercase[_ngcontent-%COMP%]{text-transform:lowercase!important}.text-uppercase[_ngcontent-%COMP%]{text-transform:uppercase!important}.text-capitalize[_ngcontent-%COMP%]{text-transform:capitalize!important}.font-weight-light[_ngcontent-%COMP%]{font-weight:300!important}.font-weight-lighter[_ngcontent-%COMP%]{font-weight:lighter!important}.font-weight-normal[_ngcontent-%COMP%]{font-weight:400!important}.font-weight-bold[_ngcontent-%COMP%]{font-weight:700!important}.font-weight-bolder[_ngcontent-%COMP%]{font-weight:bolder!important}.font-italic[_ngcontent-%COMP%]{font-style:italic!important}.text-white[_ngcontent-%COMP%]{color:#fff!important}.text-primary[_ngcontent-%COMP%]{color:#2b99a8!important}a.text-primary[_ngcontent-%COMP%]:focus, a.text-primary[_ngcontent-%COMP%]:hover{color:#1b626b!important}.text-secondary[_ngcontent-%COMP%]{color:#ef5c55!important}a.text-secondary[_ngcontent-%COMP%]:focus, a.text-secondary[_ngcontent-%COMP%]:hover{color:#e21f15!important}.text-success[_ngcontent-%COMP%]{color:#28a745!important}a.text-success[_ngcontent-%COMP%]:focus, a.text-success[_ngcontent-%COMP%]:hover{color:#19692c!important}.text-info[_ngcontent-%COMP%]{color:#17a2b8!important}a.text-info[_ngcontent-%COMP%]:focus, a.text-info[_ngcontent-%COMP%]:hover{color:#0f6674!important}.text-warning[_ngcontent-%COMP%]{color:#ffc107!important}a.text-warning[_ngcontent-%COMP%]:focus, a.text-warning[_ngcontent-%COMP%]:hover{color:#ba8b00!important}.text-danger[_ngcontent-%COMP%]{color:#dc3545!important}a.text-danger[_ngcontent-%COMP%]:focus, a.text-danger[_ngcontent-%COMP%]:hover{color:#a71d2a!important}.text-light[_ngcontent-%COMP%]{color:#f8f9fa!important}a.text-light[_ngcontent-%COMP%]:focus, a.text-light[_ngcontent-%COMP%]:hover{color:#cbd3da!important}.text-dark[_ngcontent-%COMP%]{color:#777!important}a.text-dark[_ngcontent-%COMP%]:focus, a.text-dark[_ngcontent-%COMP%]:hover{color:#515151!important}.text-body[_ngcontent-%COMP%]{color:#212529!important}.text-muted[_ngcontent-%COMP%]{color:#6c757d!important}.text-black-50[_ngcontent-%COMP%]{color:rgba(0,0,0,.5)!important}.text-white-50[_ngcontent-%COMP%]{color:rgba(255,255,255,.5)!important}.text-hide[_ngcontent-%COMP%]{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none[_ngcontent-%COMP%]{text-decoration:none!important}.text-break[_ngcontent-%COMP%]{word-break:break-word!important;overflow-wrap:break-word!important}.text-reset[_ngcontent-%COMP%]{color:inherit!important}.visible[_ngcontent-%COMP%]{visibility:visible!important}.invisible[_ngcontent-%COMP%]{visibility:hidden!important}@media print{*[_ngcontent-%COMP%], [_ngcontent-%COMP%]::after, [_ngcontent-%COMP%]::before{text-shadow:none!important;box-shadow:none!important}a[_ngcontent-%COMP%]:not(.btn){text-decoration:underline}abbr[title][_ngcontent-%COMP%]::after{content:" (" attr(title) ")"}pre[_ngcontent-%COMP%]{white-space:pre-wrap!important}blockquote[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]{border:1px solid #adb5bd;page-break-inside:avoid}thead[_ngcontent-%COMP%]{display:table-header-group}img[_ngcontent-%COMP%], tr[_ngcontent-%COMP%]{page-break-inside:avoid}h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%], p[_ngcontent-%COMP%]{orphans:3;widows:3}h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%]{page-break-after:avoid}@page{size:a3}.container[_ngcontent-%COMP%], body[_ngcontent-%COMP%]{min-width:992px!important}.navbar[_ngcontent-%COMP%]{display:none}.badge[_ngcontent-%COMP%]{border:1px solid #000}.table[_ngcontent-%COMP%]{border-collapse:collapse!important}.table[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{background-color:#fff!important}.table-bordered[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-bordered[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border:1px solid #dee2e6!important}.table-dark[_ngcontent-%COMP%]{color:inherit}.table-dark[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#dee2e6}.table[_ngcontent-%COMP%]   .thead-dark[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{color:inherit;border-color:#dee2e6}}@font-face{font-family:ForkAwesome;src:url(forkawesome-webfont.35e77a38ca9d85c4e897.eot?v=1.1.7);src:url(forkawesome-webfont.35e77a38ca9d85c4e897.eot?#iefix&v=1.1.7) format("embedded-opentype"),url(forkawesome-webfont.3a9e014c2469ffa65a0e.woff2?v=1.1.7) format("woff2"),url(forkawesome-webfont.44bbdbbfb5a10ba2d1ce.woff?v=1.1.7) format("woff"),url(forkawesome-webfont.fc46f3dae03b2b2e1cee.ttf?v=1.1.7) format("truetype"),url(forkawesome-webfont.78dcc9c4999659b8026a.svg?v=1.1.7#forkawesomeregular) format("svg");font-weight:400;font-style:normal}.fa[_ngcontent-%COMP%]{display:inline-block;font:normal normal normal 14px/1 ForkAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg[_ngcontent-%COMP%]{font-size:1.3333333333em;line-height:.75em;vertical-align:-15%}.fa-2x[_ngcontent-%COMP%]{font-size:2em}.fa-3x[_ngcontent-%COMP%]{font-size:3em}.fa-4x[_ngcontent-%COMP%]{font-size:4em}.fa-5x[_ngcontent-%COMP%]{font-size:5em}.fa[_ngcontent-%COMP%], .fa-fw[_ngcontent-%COMP%]{width:1.2857142857em;text-align:center}.fa-ul[_ngcontent-%COMP%]{padding-left:0;margin-left:2.1428571429em;list-style-type:none}.fa-ul[_ngcontent-%COMP%] > li[_ngcontent-%COMP%]{position:relative}.fa-li[_ngcontent-%COMP%]{position:absolute;left:-2.1428571429em;width:2.1428571429em;top:.1428571429em;text-align:center}.fa-li.fa-lg[_ngcontent-%COMP%]{left:-1.8571428571em}.fa-border[_ngcontent-%COMP%]{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left[_ngcontent-%COMP%]{float:left}.fa-pull-right[_ngcontent-%COMP%]{float:right}.fa.fa-pull-left[_ngcontent-%COMP%]{margin-right:.3em}.fa.fa-pull-right[_ngcontent-%COMP%]{margin-left:.3em}.pull-right[_ngcontent-%COMP%]{float:right}.pull-left[_ngcontent-%COMP%]{float:left}.fa.pull-left[_ngcontent-%COMP%]{margin-right:.3em}.fa.pull-right[_ngcontent-%COMP%]{margin-left:.3em}.fa-spin[_ngcontent-%COMP%]{animation:2s linear infinite fa-spin}.fa-pulse[_ngcontent-%COMP%]{animation:1s steps(8) infinite fa-spin}@keyframes fa-spin{0%{transform:rotate(0)}100%{transform:rotate(359deg)}}.fa-rotate-90[_ngcontent-%COMP%]{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180[_ngcontent-%COMP%]{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270[_ngcontent-%COMP%]{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal[_ngcontent-%COMP%]{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";transform:scale(-1,1)}.fa-flip-vertical[_ngcontent-%COMP%]{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";transform:scale(1,-1)}[_ngcontent-%COMP%]:root   .fa-flip-horizontal[_ngcontent-%COMP%], [_ngcontent-%COMP%]:root   .fa-flip-vertical[_ngcontent-%COMP%], [_ngcontent-%COMP%]:root   .fa-rotate-180[_ngcontent-%COMP%], [_ngcontent-%COMP%]:root   .fa-rotate-270[_ngcontent-%COMP%], [_ngcontent-%COMP%]:root   .fa-rotate-90[_ngcontent-%COMP%]{filter:none}.fa-stack[_ngcontent-%COMP%]{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x[_ngcontent-%COMP%], .fa-stack-2x[_ngcontent-%COMP%]{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x[_ngcontent-%COMP%]{line-height:inherit}.fa-stack-2x[_ngcontent-%COMP%]{font-size:2em}.fa-inverse[_ngcontent-%COMP%]{color:#fff}.fa-glass[_ngcontent-%COMP%]:before{content:""}.fa-music[_ngcontent-%COMP%]:before{content:""}.fa-search[_ngcontent-%COMP%]:before{content:""}.fa-envelope-o[_ngcontent-%COMP%]:before{content:""}.fa-heart[_ngcontent-%COMP%]:before{content:""}.fa-star[_ngcontent-%COMP%]:before{content:""}.fa-star-o[_ngcontent-%COMP%]:before{content:""}.fa-user[_ngcontent-%COMP%]:before{content:""}.fa-film[_ngcontent-%COMP%]:before{content:""}.fa-th-large[_ngcontent-%COMP%]:before{content:""}.fa-th[_ngcontent-%COMP%]:before{content:""}.fa-th-list[_ngcontent-%COMP%]:before{content:""}.fa-check[_ngcontent-%COMP%]:before{content:""}.fa-close[_ngcontent-%COMP%]:before, .fa-remove[_ngcontent-%COMP%]:before, .fa-times[_ngcontent-%COMP%]:before{content:""}.fa-search-plus[_ngcontent-%COMP%]:before{content:""}.fa-search-minus[_ngcontent-%COMP%]:before{content:""}.fa-power-off[_ngcontent-%COMP%]:before{content:""}.fa-signal[_ngcontent-%COMP%]:before{content:""}.fa-cog[_ngcontent-%COMP%]:before, .fa-gear[_ngcontent-%COMP%]:before{content:""}.fa-trash-o[_ngcontent-%COMP%]:before{content:""}.fa-home[_ngcontent-%COMP%]:before{content:""}.fa-file-o[_ngcontent-%COMP%]:before{content:""}.fa-clock-o[_ngcontent-%COMP%]:before{content:""}.fa-road[_ngcontent-%COMP%]:before{content:""}.fa-download[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-o-down[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-o-up[_ngcontent-%COMP%]:before{content:""}.fa-inbox[_ngcontent-%COMP%]:before{content:""}.fa-play-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-repeat[_ngcontent-%COMP%]:before, .fa-rotate-right[_ngcontent-%COMP%]:before{content:""}.fa-refresh[_ngcontent-%COMP%]:before, .fa-sync[_ngcontent-%COMP%]:before{content:""}.fa-list-alt[_ngcontent-%COMP%]:before{content:""}.fa-lock[_ngcontent-%COMP%]:before{content:""}.fa-flag[_ngcontent-%COMP%]:before{content:""}.fa-headphones[_ngcontent-%COMP%]:before{content:""}.fa-volume-off[_ngcontent-%COMP%]:before{content:""}.fa-volume-down[_ngcontent-%COMP%]:before{content:""}.fa-volume-up[_ngcontent-%COMP%]:before{content:""}.fa-qrcode[_ngcontent-%COMP%]:before{content:""}.fa-barcode[_ngcontent-%COMP%]:before{content:""}.fa-tag[_ngcontent-%COMP%]:before{content:""}.fa-tags[_ngcontent-%COMP%]:before{content:""}.fa-book[_ngcontent-%COMP%]:before{content:""}.fa-bookmark[_ngcontent-%COMP%]:before{content:""}.fa-print[_ngcontent-%COMP%]:before{content:""}.fa-camera[_ngcontent-%COMP%]:before{content:""}.fa-font[_ngcontent-%COMP%]:before{content:""}.fa-bold[_ngcontent-%COMP%]:before{content:""}.fa-italic[_ngcontent-%COMP%]:before{content:""}.fa-text-height[_ngcontent-%COMP%]:before{content:""}.fa-text-width[_ngcontent-%COMP%]:before{content:""}.fa-align-left[_ngcontent-%COMP%]:before{content:""}.fa-align-center[_ngcontent-%COMP%]:before{content:""}.fa-align-right[_ngcontent-%COMP%]:before{content:""}.fa-align-justify[_ngcontent-%COMP%]:before{content:""}.fa-list[_ngcontent-%COMP%]:before{content:""}.fa-dedent[_ngcontent-%COMP%]:before, .fa-outdent[_ngcontent-%COMP%]:before{content:""}.fa-indent[_ngcontent-%COMP%]:before{content:""}.fa-video-camera[_ngcontent-%COMP%]:before, .fa-video[_ngcontent-%COMP%]:before{content:""}.fa-image[_ngcontent-%COMP%]:before, .fa-photo[_ngcontent-%COMP%]:before, .fa-picture-o[_ngcontent-%COMP%]:before{content:""}.fa-pencil[_ngcontent-%COMP%]:before{content:""}.fa-map-marker[_ngcontent-%COMP%]:before{content:""}.fa-adjust[_ngcontent-%COMP%]:before{content:""}.fa-tint[_ngcontent-%COMP%]:before{content:""}.fa-edit[_ngcontent-%COMP%]:before, .fa-pencil-square-o[_ngcontent-%COMP%]:before{content:""}.fa-share-square-o[_ngcontent-%COMP%]:before{content:""}.fa-check-square-o[_ngcontent-%COMP%]:before{content:""}.fa-arrows[_ngcontent-%COMP%]:before{content:""}.fa-step-backward[_ngcontent-%COMP%]:before{content:""}.fa-fast-backward[_ngcontent-%COMP%]:before{content:""}.fa-backward[_ngcontent-%COMP%]:before{content:""}.fa-play[_ngcontent-%COMP%]:before{content:""}.fa-pause[_ngcontent-%COMP%]:before{content:""}.fa-stop[_ngcontent-%COMP%]:before{content:""}.fa-forward[_ngcontent-%COMP%]:before{content:""}.fa-fast-forward[_ngcontent-%COMP%]:before{content:""}.fa-step-forward[_ngcontent-%COMP%]:before{content:""}.fa-eject[_ngcontent-%COMP%]:before{content:""}.fa-chevron-left[_ngcontent-%COMP%]:before{content:""}.fa-chevron-right[_ngcontent-%COMP%]:before{content:""}.fa-plus-circle[_ngcontent-%COMP%]:before{content:""}.fa-minus-circle[_ngcontent-%COMP%]:before{content:""}.fa-times-circle[_ngcontent-%COMP%]:before{content:""}.fa-check-circle[_ngcontent-%COMP%]:before{content:""}.fa-question-circle[_ngcontent-%COMP%]:before{content:""}.fa-info-circle[_ngcontent-%COMP%]:before{content:""}.fa-crosshairs[_ngcontent-%COMP%]:before{content:""}.fa-times-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-check-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-ban[_ngcontent-%COMP%]:before{content:""}.fa-arrow-left[_ngcontent-%COMP%]:before{content:""}.fa-arrow-right[_ngcontent-%COMP%]:before{content:""}.fa-arrow-up[_ngcontent-%COMP%]:before{content:""}.fa-arrow-down[_ngcontent-%COMP%]:before{content:""}.fa-mail-forward[_ngcontent-%COMP%]:before, .fa-share[_ngcontent-%COMP%]:before{content:""}.fa-expand[_ngcontent-%COMP%]:before{content:""}.fa-compress[_ngcontent-%COMP%]:before{content:""}.fa-plus[_ngcontent-%COMP%]:before{content:""}.fa-minus[_ngcontent-%COMP%]:before{content:""}.fa-asterisk[_ngcontent-%COMP%]:before{content:""}.fa-exclamation-circle[_ngcontent-%COMP%]:before{content:""}.fa-gift[_ngcontent-%COMP%]:before{content:""}.fa-leaf[_ngcontent-%COMP%]:before{content:""}.fa-fire[_ngcontent-%COMP%]:before{content:""}.fa-eye[_ngcontent-%COMP%]:before{content:""}.fa-eye-slash[_ngcontent-%COMP%]:before{content:""}.fa-exclamation-triangle[_ngcontent-%COMP%]:before, .fa-warning[_ngcontent-%COMP%]:before{content:""}.fa-plane[_ngcontent-%COMP%]:before{content:""}.fa-calendar[_ngcontent-%COMP%]:before{content:""}.fa-random[_ngcontent-%COMP%]:before{content:""}.fa-comment[_ngcontent-%COMP%]:before{content:""}.fa-magnet[_ngcontent-%COMP%]:before{content:""}.fa-chevron-up[_ngcontent-%COMP%]:before{content:""}.fa-chevron-down[_ngcontent-%COMP%]:before{content:""}.fa-retweet[_ngcontent-%COMP%]:before{content:""}.fa-shopping-cart[_ngcontent-%COMP%]:before{content:""}.fa-folder[_ngcontent-%COMP%]:before{content:""}.fa-folder-open[_ngcontent-%COMP%]:before{content:""}.fa-arrows-v[_ngcontent-%COMP%]:before{content:""}.fa-arrows-h[_ngcontent-%COMP%]:before{content:""}.fa-bar-chart-o[_ngcontent-%COMP%]:before, .fa-bar-chart[_ngcontent-%COMP%]:before{content:""}.fa-twitter-square[_ngcontent-%COMP%]:before{content:""}.fa-facebook-square[_ngcontent-%COMP%]:before{content:""}.fa-camera-retro[_ngcontent-%COMP%]:before{content:""}.fa-key[_ngcontent-%COMP%]:before{content:""}.fa-cogs[_ngcontent-%COMP%]:before, .fa-gears[_ngcontent-%COMP%]:before{content:""}.fa-comments[_ngcontent-%COMP%]:before{content:""}.fa-thumbs-o-up[_ngcontent-%COMP%]:before{content:""}.fa-thumbs-o-down[_ngcontent-%COMP%]:before{content:""}.fa-star-half[_ngcontent-%COMP%]:before{content:""}.fa-heart-o[_ngcontent-%COMP%]:before{content:""}.fa-sign-out[_ngcontent-%COMP%]:before{content:""}.fa-linkedin-square[_ngcontent-%COMP%]:before{content:""}.fa-thumb-tack[_ngcontent-%COMP%]:before{content:""}.fa-external-link[_ngcontent-%COMP%]:before{content:""}.fa-sign-in[_ngcontent-%COMP%]:before{content:""}.fa-trophy[_ngcontent-%COMP%]:before{content:""}.fa-github-square[_ngcontent-%COMP%]:before{content:""}.fa-upload[_ngcontent-%COMP%]:before{content:""}.fa-lemon-o[_ngcontent-%COMP%]:before{content:""}.fa-phone[_ngcontent-%COMP%]:before{content:""}.fa-square-o[_ngcontent-%COMP%]:before{content:""}.fa-bookmark-o[_ngcontent-%COMP%]:before{content:""}.fa-phone-square[_ngcontent-%COMP%]:before{content:""}.fa-twitter[_ngcontent-%COMP%]:before{content:""}.fa-facebook-f[_ngcontent-%COMP%]:before, .fa-facebook[_ngcontent-%COMP%]:before{content:""}.fa-github[_ngcontent-%COMP%]:before{content:""}.fa-unlock[_ngcontent-%COMP%]:before{content:""}.fa-credit-card[_ngcontent-%COMP%]:before{content:""}.fa-feed[_ngcontent-%COMP%]:before, .fa-rss[_ngcontent-%COMP%]:before{content:""}.fa-hdd-o[_ngcontent-%COMP%]:before{content:""}.fa-bullhorn[_ngcontent-%COMP%]:before{content:""}.fa-bell-o[_ngcontent-%COMP%]:before{content:""}.fa-certificate[_ngcontent-%COMP%]:before{content:""}.fa-hand-o-right[_ngcontent-%COMP%]:before{content:""}.fa-hand-o-left[_ngcontent-%COMP%]:before{content:""}.fa-hand-o-up[_ngcontent-%COMP%]:before{content:""}.fa-hand-o-down[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-left[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-right[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-up[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-down[_ngcontent-%COMP%]:before{content:""}.fa-globe[_ngcontent-%COMP%]:before{content:""}.fa-globe-e[_ngcontent-%COMP%]:before{content:""}.fa-globe-w[_ngcontent-%COMP%]:before{content:""}.fa-wrench[_ngcontent-%COMP%]:before{content:""}.fa-tasks[_ngcontent-%COMP%]:before{content:""}.fa-filter[_ngcontent-%COMP%]:before{content:""}.fa-briefcase[_ngcontent-%COMP%]:before{content:""}.fa-arrows-alt[_ngcontent-%COMP%]:before{content:""}.fa-community[_ngcontent-%COMP%]:before, .fa-group[_ngcontent-%COMP%]:before, .fa-users[_ngcontent-%COMP%]:before{content:""}.fa-chain[_ngcontent-%COMP%]:before, .fa-link[_ngcontent-%COMP%]:before{content:""}.fa-cloud[_ngcontent-%COMP%]:before{content:""}.fa-flask[_ngcontent-%COMP%]:before{content:""}.fa-cut[_ngcontent-%COMP%]:before, .fa-scissors[_ngcontent-%COMP%]:before{content:""}.fa-copy[_ngcontent-%COMP%]:before, .fa-files-o[_ngcontent-%COMP%]:before{content:""}.fa-paperclip[_ngcontent-%COMP%]:before{content:""}.fa-floppy-o[_ngcontent-%COMP%]:before, .fa-save[_ngcontent-%COMP%]:before{content:""}.fa-square[_ngcontent-%COMP%]:before{content:""}.fa-bars[_ngcontent-%COMP%]:before, .fa-navicon[_ngcontent-%COMP%]:before, .fa-reorder[_ngcontent-%COMP%]:before{content:""}.fa-list-ul[_ngcontent-%COMP%]:before{content:""}.fa-list-ol[_ngcontent-%COMP%]:before{content:""}.fa-strikethrough[_ngcontent-%COMP%]:before{content:""}.fa-underline[_ngcontent-%COMP%]:before{content:""}.fa-table[_ngcontent-%COMP%]:before{content:""}.fa-magic[_ngcontent-%COMP%]:before{content:""}.fa-truck[_ngcontent-%COMP%]:before{content:""}.fa-pinterest[_ngcontent-%COMP%]:before{content:""}.fa-pinterest-square[_ngcontent-%COMP%]:before{content:""}.fa-google-plus-square[_ngcontent-%COMP%]:before{content:""}.fa-google-plus-g[_ngcontent-%COMP%]:before, .fa-google-plus[_ngcontent-%COMP%]:before{content:""}.fa-money[_ngcontent-%COMP%]:before{content:""}.fa-caret-down[_ngcontent-%COMP%]:before{content:""}.fa-caret-up[_ngcontent-%COMP%]:before{content:""}.fa-caret-left[_ngcontent-%COMP%]:before{content:""}.fa-caret-right[_ngcontent-%COMP%]:before{content:""}.fa-columns[_ngcontent-%COMP%]:before{content:""}.fa-sort[_ngcontent-%COMP%]:before, .fa-unsorted[_ngcontent-%COMP%]:before{content:""}.fa-sort-desc[_ngcontent-%COMP%]:before, .fa-sort-down[_ngcontent-%COMP%]:before{content:""}.fa-sort-asc[_ngcontent-%COMP%]:before, .fa-sort-up[_ngcontent-%COMP%]:before{content:""}.fa-envelope[_ngcontent-%COMP%]:before{content:""}.fa-linkedin[_ngcontent-%COMP%]:before{content:""}.fa-rotate-left[_ngcontent-%COMP%]:before, .fa-undo[_ngcontent-%COMP%]:before{content:""}.fa-gavel[_ngcontent-%COMP%]:before, .fa-legal[_ngcontent-%COMP%]:before{content:""}.fa-dashboard[_ngcontent-%COMP%]:before, .fa-tachometer[_ngcontent-%COMP%]:before{content:""}.fa-comment-o[_ngcontent-%COMP%]:before{content:""}.fa-comments-o[_ngcontent-%COMP%]:before{content:""}.fa-bolt[_ngcontent-%COMP%]:before, .fa-flash[_ngcontent-%COMP%]:before{content:""}.fa-sitemap[_ngcontent-%COMP%]:before{content:""}.fa-umbrella[_ngcontent-%COMP%]:before{content:""}.fa-clipboard[_ngcontent-%COMP%]:before, .fa-paste[_ngcontent-%COMP%]:before{content:""}.fa-lightbulb-o[_ngcontent-%COMP%]:before{content:""}.fa-exchange[_ngcontent-%COMP%]:before{content:""}.fa-cloud-download[_ngcontent-%COMP%]:before{content:""}.fa-cloud-upload[_ngcontent-%COMP%]:before{content:""}.fa-user-md[_ngcontent-%COMP%]:before{content:""}.fa-stethoscope[_ngcontent-%COMP%]:before{content:""}.fa-suitcase[_ngcontent-%COMP%]:before{content:""}.fa-bell[_ngcontent-%COMP%]:before{content:""}.fa-coffee[_ngcontent-%COMP%]:before{content:""}.fa-cutlery[_ngcontent-%COMP%]:before, .fa-utensils[_ngcontent-%COMP%]:before{content:""}.fa-file-text-o[_ngcontent-%COMP%]:before{content:""}.fa-building-o[_ngcontent-%COMP%]:before{content:""}.fa-hospital-o[_ngcontent-%COMP%]:before{content:""}.fa-ambulance[_ngcontent-%COMP%]:before{content:""}.fa-medkit[_ngcontent-%COMP%]:before{content:""}.fa-fighter-jet[_ngcontent-%COMP%]:before{content:""}.fa-beer[_ngcontent-%COMP%]:before{content:""}.fa-h-square[_ngcontent-%COMP%]:before{content:""}.fa-plus-square[_ngcontent-%COMP%]:before{content:""}.fa-angle-double-left[_ngcontent-%COMP%]:before{content:""}.fa-angle-double-right[_ngcontent-%COMP%]:before{content:""}.fa-angle-double-up[_ngcontent-%COMP%]:before{content:""}.fa-angle-double-down[_ngcontent-%COMP%]:before{content:""}.fa-angle-left[_ngcontent-%COMP%]:before{content:""}.fa-angle-right[_ngcontent-%COMP%]:before{content:""}.fa-angle-up[_ngcontent-%COMP%]:before{content:""}.fa-angle-down[_ngcontent-%COMP%]:before{content:""}.fa-desktop[_ngcontent-%COMP%]:before{content:""}.fa-laptop[_ngcontent-%COMP%]:before{content:""}.fa-tablet[_ngcontent-%COMP%]:before{content:""}.fa-mobile-phone[_ngcontent-%COMP%]:before, .fa-mobile[_ngcontent-%COMP%]:before{content:""}.fa-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-quote-left[_ngcontent-%COMP%]:before{content:""}.fa-quote-right[_ngcontent-%COMP%]:before{content:""}.fa-spinner[_ngcontent-%COMP%]:before{content:""}.fa-circle[_ngcontent-%COMP%]:before{content:""}.fa-mail-reply[_ngcontent-%COMP%]:before, .fa-reply[_ngcontent-%COMP%]:before{content:""}.fa-github-alt[_ngcontent-%COMP%]:before{content:""}.fa-folder-o[_ngcontent-%COMP%]:before{content:""}.fa-folder-open-o[_ngcontent-%COMP%]:before{content:""}.fa-smile-o[_ngcontent-%COMP%]:before{content:""}.fa-frown-o[_ngcontent-%COMP%]:before{content:""}.fa-meh-o[_ngcontent-%COMP%]:before{content:""}.fa-gamepad[_ngcontent-%COMP%]:before{content:""}.fa-keyboard-o[_ngcontent-%COMP%]:before{content:""}.fa-flag-o[_ngcontent-%COMP%]:before{content:""}.fa-flag-checkered[_ngcontent-%COMP%]:before{content:""}.fa-terminal[_ngcontent-%COMP%]:before{content:""}.fa-code[_ngcontent-%COMP%]:before{content:""}.fa-mail-reply-all[_ngcontent-%COMP%]:before, .fa-reply-all[_ngcontent-%COMP%]:before{content:""}.fa-star-half-empty[_ngcontent-%COMP%]:before, .fa-star-half-full[_ngcontent-%COMP%]:before, .fa-star-half-o[_ngcontent-%COMP%]:before{content:""}.fa-location-arrow[_ngcontent-%COMP%]:before{content:""}.fa-crop[_ngcontent-%COMP%]:before{content:""}.fa-code-fork[_ngcontent-%COMP%]:before{content:""}.fa-chain-broken[_ngcontent-%COMP%]:before, .fa-unlink[_ngcontent-%COMP%]:before{content:""}.fa-question[_ngcontent-%COMP%]:before{content:""}.fa-info[_ngcontent-%COMP%]:before{content:""}.fa-exclamation[_ngcontent-%COMP%]:before{content:""}.fa-superscript[_ngcontent-%COMP%]:before{content:""}.fa-subscript[_ngcontent-%COMP%]:before{content:""}.fa-eraser[_ngcontent-%COMP%]:before{content:""}.fa-puzzle-piece[_ngcontent-%COMP%]:before{content:""}.fa-microphone[_ngcontent-%COMP%]:before{content:""}.fa-microphone-slash[_ngcontent-%COMP%]:before{content:""}.fa-shield[_ngcontent-%COMP%]:before{content:""}.fa-calendar-o[_ngcontent-%COMP%]:before{content:""}.fa-fire-extinguisher[_ngcontent-%COMP%]:before{content:""}.fa-rocket[_ngcontent-%COMP%]:before{content:""}.fa-maxcdn[_ngcontent-%COMP%]:before{content:""}.fa-chevron-circle-left[_ngcontent-%COMP%]:before{content:""}.fa-chevron-circle-right[_ngcontent-%COMP%]:before{content:""}.fa-chevron-circle-up[_ngcontent-%COMP%]:before{content:""}.fa-chevron-circle-down[_ngcontent-%COMP%]:before{content:""}.fa-html5[_ngcontent-%COMP%]:before{content:""}.fa-css3[_ngcontent-%COMP%]:before{content:""}.fa-anchor[_ngcontent-%COMP%]:before{content:""}.fa-unlock-alt[_ngcontent-%COMP%]:before{content:""}.fa-bullseye[_ngcontent-%COMP%]:before{content:""}.fa-ellipsis-h[_ngcontent-%COMP%]:before{content:""}.fa-ellipsis-v[_ngcontent-%COMP%]:before{content:""}.fa-rss-square[_ngcontent-%COMP%]:before{content:""}.fa-play-circle[_ngcontent-%COMP%]:before{content:""}.fa-ticket[_ngcontent-%COMP%]:before{content:""}.fa-minus-square[_ngcontent-%COMP%]:before{content:""}.fa-minus-square-o[_ngcontent-%COMP%]:before{content:""}.fa-level-up[_ngcontent-%COMP%]:before{content:""}.fa-level-down[_ngcontent-%COMP%]:before{content:""}.fa-check-square[_ngcontent-%COMP%]:before{content:""}.fa-pencil-square[_ngcontent-%COMP%]:before{content:""}.fa-external-link-square[_ngcontent-%COMP%]:before{content:""}.fa-share-square[_ngcontent-%COMP%]:before{content:""}.fa-compass[_ngcontent-%COMP%]:before{content:""}.fa-caret-square-o-down[_ngcontent-%COMP%]:before, .fa-toggle-down[_ngcontent-%COMP%]:before{content:""}.fa-caret-square-o-up[_ngcontent-%COMP%]:before, .fa-toggle-up[_ngcontent-%COMP%]:before{content:""}.fa-caret-square-o-right[_ngcontent-%COMP%]:before, .fa-toggle-right[_ngcontent-%COMP%]:before{content:""}.fa-eur[_ngcontent-%COMP%]:before, .fa-euro[_ngcontent-%COMP%]:before{content:""}.fa-gbp[_ngcontent-%COMP%]:before, .fa-pound[_ngcontent-%COMP%]:before{content:""}.fa-dollar[_ngcontent-%COMP%]:before, .fa-usd[_ngcontent-%COMP%]:before{content:""}.fa-inr[_ngcontent-%COMP%]:before, .fa-rupee[_ngcontent-%COMP%]:before{content:""}.fa-cny[_ngcontent-%COMP%]:before, .fa-jpy[_ngcontent-%COMP%]:before, .fa-rmb[_ngcontent-%COMP%]:before, .fa-yen[_ngcontent-%COMP%]:before{content:""}.fa-rouble[_ngcontent-%COMP%]:before, .fa-rub[_ngcontent-%COMP%]:before, .fa-ruble[_ngcontent-%COMP%]:before{content:""}.fa-krw[_ngcontent-%COMP%]:before, .fa-won[_ngcontent-%COMP%]:before{content:""}.fa-bitcoin[_ngcontent-%COMP%]:before, .fa-btc[_ngcontent-%COMP%]:before{content:""}.fa-file[_ngcontent-%COMP%]:before{content:""}.fa-file-text[_ngcontent-%COMP%]:before{content:""}.fa-sort-alpha-asc[_ngcontent-%COMP%]:before, .fa-sort-alpha-down[_ngcontent-%COMP%]:before{content:""}.fa-sort-alpha-desc[_ngcontent-%COMP%]:before, .fa-sort-alpha-up[_ngcontent-%COMP%]:before{content:""}.fa-sort-amount-asc[_ngcontent-%COMP%]:before, .fa-sort-amount-down[_ngcontent-%COMP%]:before{content:""}.fa-sort-amount-desc[_ngcontent-%COMP%]:before, .fa-sort-amount-up[_ngcontent-%COMP%]:before{content:""}.fa-sort-numeric-asc[_ngcontent-%COMP%]:before, .fa-sort-numeric-down[_ngcontent-%COMP%]:before{content:""}.fa-sort-numeric-desc[_ngcontent-%COMP%]:before, .fa-sort-numeric-up[_ngcontent-%COMP%]:before{content:""}.fa-thumbs-up[_ngcontent-%COMP%]:before{content:""}.fa-thumbs-down[_ngcontent-%COMP%]:before{content:""}.fa-youtube-square[_ngcontent-%COMP%]:before{content:""}.fa-youtube[_ngcontent-%COMP%]:before{content:""}.fa-xing[_ngcontent-%COMP%]:before{content:""}.fa-xing-square[_ngcontent-%COMP%]:before{content:""}.fa-youtube-play[_ngcontent-%COMP%]:before{content:""}.fa-dropbox[_ngcontent-%COMP%]:before{content:""}.fa-stack-overflow[_ngcontent-%COMP%]:before{content:""}.fa-instagram[_ngcontent-%COMP%]:before{content:""}.fa-flickr[_ngcontent-%COMP%]:before{content:""}.fa-adn[_ngcontent-%COMP%]:before{content:""}.fa-bitbucket[_ngcontent-%COMP%]:before{content:""}.fa-bitbucket-square[_ngcontent-%COMP%]:before{content:""}.fa-tumblr[_ngcontent-%COMP%]:before{content:""}.fa-tumblr-square[_ngcontent-%COMP%]:before{content:""}.fa-long-arrow-down[_ngcontent-%COMP%]:before{content:""}.fa-long-arrow-up[_ngcontent-%COMP%]:before{content:""}.fa-long-arrow-left[_ngcontent-%COMP%]:before{content:""}.fa-long-arrow-right[_ngcontent-%COMP%]:before{content:""}.fa-apple[_ngcontent-%COMP%]:before{content:""}.fa-windows[_ngcontent-%COMP%]:before{content:""}.fa-android[_ngcontent-%COMP%]:before{content:""}.fa-linux[_ngcontent-%COMP%]:before{content:""}.fa-dribbble[_ngcontent-%COMP%]:before{content:""}.fa-skype[_ngcontent-%COMP%]:before{content:""}.fa-foursquare[_ngcontent-%COMP%]:before{content:""}.fa-trello[_ngcontent-%COMP%]:before{content:""}.fa-female[_ngcontent-%COMP%]:before{content:""}.fa-male[_ngcontent-%COMP%]:before{content:""}.fa-gittip[_ngcontent-%COMP%]:before, .fa-gratipay[_ngcontent-%COMP%]:before{content:""}.fa-sun-o[_ngcontent-%COMP%]:before{content:""}.fa-moon-o[_ngcontent-%COMP%]:before{content:""}.fa-archive[_ngcontent-%COMP%]:before{content:""}.fa-bug[_ngcontent-%COMP%]:before{content:""}.fa-vk[_ngcontent-%COMP%]:before{content:""}.fa-weibo[_ngcontent-%COMP%]:before{content:""}.fa-renren[_ngcontent-%COMP%]:before{content:""}.fa-pagelines[_ngcontent-%COMP%]:before{content:""}.fa-stack-exchange[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-o-right[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-o-left[_ngcontent-%COMP%]:before{content:""}.fa-caret-square-o-left[_ngcontent-%COMP%]:before, .fa-toggle-left[_ngcontent-%COMP%]:before{content:""}.fa-dot-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-wheelchair[_ngcontent-%COMP%]:before{content:""}.fa-vimeo-square[_ngcontent-%COMP%]:before{content:""}.fa-try[_ngcontent-%COMP%]:before, .fa-turkish-lira[_ngcontent-%COMP%]:before{content:""}.fa-plus-square-o[_ngcontent-%COMP%]:before{content:""}.fa-space-shuttle[_ngcontent-%COMP%]:before{content:""}.fa-slack[_ngcontent-%COMP%]:before{content:""}.fa-envelope-square[_ngcontent-%COMP%]:before{content:""}.fa-wordpress[_ngcontent-%COMP%]:before{content:""}.fa-openid[_ngcontent-%COMP%]:before{content:""}.fa-bank[_ngcontent-%COMP%]:before, .fa-institution[_ngcontent-%COMP%]:before, .fa-university[_ngcontent-%COMP%]:before{content:""}.fa-graduation-cap[_ngcontent-%COMP%]:before, .fa-mortar-board[_ngcontent-%COMP%]:before{content:""}.fa-yahoo[_ngcontent-%COMP%]:before{content:""}.fa-google[_ngcontent-%COMP%]:before{content:""}.fa-reddit[_ngcontent-%COMP%]:before{content:""}.fa-reddit-square[_ngcontent-%COMP%]:before{content:""}.fa-stumbleupon-circle[_ngcontent-%COMP%]:before{content:""}.fa-stumbleupon[_ngcontent-%COMP%]:before{content:""}.fa-delicious[_ngcontent-%COMP%]:before{content:""}.fa-digg[_ngcontent-%COMP%]:before{content:""}.fa-drupal[_ngcontent-%COMP%]:before{content:""}.fa-joomla[_ngcontent-%COMP%]:before{content:""}.fa-language[_ngcontent-%COMP%]:before{content:""}.fa-fax[_ngcontent-%COMP%]:before{content:""}.fa-building[_ngcontent-%COMP%]:before{content:""}.fa-child[_ngcontent-%COMP%]:before{content:""}.fa-paw[_ngcontent-%COMP%]:before{content:""}.fa-spoon[_ngcontent-%COMP%]:before, .fa-utensil-spoon[_ngcontent-%COMP%]:before{content:""}.fa-cube[_ngcontent-%COMP%]:before{content:""}.fa-cubes[_ngcontent-%COMP%]:before{content:""}.fa-behance[_ngcontent-%COMP%]:before{content:""}.fa-behance-square[_ngcontent-%COMP%]:before{content:""}.fa-steam[_ngcontent-%COMP%]:before{content:""}.fa-steam-square[_ngcontent-%COMP%]:before{content:""}.fa-recycle[_ngcontent-%COMP%]:before{content:""}.fa-automobile[_ngcontent-%COMP%]:before, .fa-car[_ngcontent-%COMP%]:before{content:""}.fa-cab[_ngcontent-%COMP%]:before, .fa-taxi[_ngcontent-%COMP%]:before{content:""}.fa-tree[_ngcontent-%COMP%]:before{content:""}.fa-spotify[_ngcontent-%COMP%]:before{content:""}.fa-deviantart[_ngcontent-%COMP%]:before{content:""}.fa-soundcloud[_ngcontent-%COMP%]:before{content:""}.fa-database[_ngcontent-%COMP%]:before{content:""}.fa-file-pdf-o[_ngcontent-%COMP%]:before{content:""}.fa-file-word-o[_ngcontent-%COMP%]:before{content:""}.fa-file-excel-o[_ngcontent-%COMP%]:before{content:""}.fa-file-powerpoint-o[_ngcontent-%COMP%]:before{content:""}.fa-file-image-o[_ngcontent-%COMP%]:before, .fa-file-photo-o[_ngcontent-%COMP%]:before, .fa-file-picture-o[_ngcontent-%COMP%]:before{content:""}.fa-file-archive-o[_ngcontent-%COMP%]:before, .fa-file-zip-o[_ngcontent-%COMP%]:before{content:""}.fa-file-audio-o[_ngcontent-%COMP%]:before, .fa-file-sound-o[_ngcontent-%COMP%]:before{content:""}.fa-file-movie-o[_ngcontent-%COMP%]:before, .fa-file-video-o[_ngcontent-%COMP%]:before{content:""}.fa-file-code-o[_ngcontent-%COMP%]:before{content:""}.fa-vine[_ngcontent-%COMP%]:before{content:""}.fa-codepen[_ngcontent-%COMP%]:before{content:""}.fa-jsfiddle[_ngcontent-%COMP%]:before{content:""}.fa-life-bouy[_ngcontent-%COMP%]:before, .fa-life-buoy[_ngcontent-%COMP%]:before, .fa-life-ring[_ngcontent-%COMP%]:before, .fa-life-saver[_ngcontent-%COMP%]:before, .fa-support[_ngcontent-%COMP%]:before{content:""}.fa-circle-o-notch[_ngcontent-%COMP%]:before{content:""}.fa-ra[_ngcontent-%COMP%]:before, .fa-rebel[_ngcontent-%COMP%]:before, .fa-resistance[_ngcontent-%COMP%]:before{content:""}.fa-empire[_ngcontent-%COMP%]:before, .fa-ge[_ngcontent-%COMP%]:before{content:""}.fa-git-square[_ngcontent-%COMP%]:before{content:""}.fa-git[_ngcontent-%COMP%]:before{content:""}.fa-hacker-news[_ngcontent-%COMP%]:before, .fa-y-combinator-square[_ngcontent-%COMP%]:before, .fa-yc-square[_ngcontent-%COMP%]:before{content:""}.fa-tencent-weibo[_ngcontent-%COMP%]:before{content:""}.fa-qq[_ngcontent-%COMP%]:before{content:""}.fa-wechat[_ngcontent-%COMP%]:before, .fa-weixin[_ngcontent-%COMP%]:before{content:""}.fa-paper-plane[_ngcontent-%COMP%]:before, .fa-send[_ngcontent-%COMP%]:before{content:""}.fa-paper-plane-o[_ngcontent-%COMP%]:before, .fa-send-o[_ngcontent-%COMP%]:before{content:""}.fa-history[_ngcontent-%COMP%]:before{content:""}.fa-circle-thin[_ngcontent-%COMP%]:before{content:""}.fa-header[_ngcontent-%COMP%]:before, .fa-heading[_ngcontent-%COMP%]:before{content:""}.fa-paragraph[_ngcontent-%COMP%]:before{content:""}.fa-sliders[_ngcontent-%COMP%]:before{content:""}.fa-share-alt[_ngcontent-%COMP%]:before{content:""}.fa-share-alt-square[_ngcontent-%COMP%]:before{content:""}.fa-bomb[_ngcontent-%COMP%]:before{content:""}.fa-futbol-o[_ngcontent-%COMP%]:before, .fa-soccer-ball-o[_ngcontent-%COMP%]:before{content:""}.fa-tty[_ngcontent-%COMP%]:before{content:""}.fa-binoculars[_ngcontent-%COMP%]:before{content:""}.fa-plug[_ngcontent-%COMP%]:before{content:""}.fa-slideshare[_ngcontent-%COMP%]:before{content:""}.fa-twitch[_ngcontent-%COMP%]:before{content:""}.fa-yelp[_ngcontent-%COMP%]:before{content:""}.fa-newspaper-o[_ngcontent-%COMP%]:before{content:""}.fa-wifi[_ngcontent-%COMP%]:before{content:""}.fa-calculator[_ngcontent-%COMP%]:before{content:""}.fa-paypal[_ngcontent-%COMP%]:before{content:""}.fa-google-wallet[_ngcontent-%COMP%]:before{content:""}.fa-cc-visa[_ngcontent-%COMP%]:before{content:""}.fa-cc-mastercard[_ngcontent-%COMP%]:before{content:""}.fa-cc-discover[_ngcontent-%COMP%]:before{content:""}.fa-cc-amex[_ngcontent-%COMP%]:before{content:""}.fa-cc-paypal[_ngcontent-%COMP%]:before{content:""}.fa-cc-stripe[_ngcontent-%COMP%]:before{content:""}.fa-bell-slash[_ngcontent-%COMP%]:before{content:""}.fa-bell-slash-o[_ngcontent-%COMP%]:before{content:""}.fa-trash[_ngcontent-%COMP%]:before{content:""}.fa-copyright[_ngcontent-%COMP%]:before{content:""}.fa-at[_ngcontent-%COMP%]:before{content:""}.fa-eyedropper[_ngcontent-%COMP%]:before{content:""}.fa-paint-brush[_ngcontent-%COMP%]:before{content:""}.fa-birthday-cake[_ngcontent-%COMP%]:before{content:""}.fa-area-chart[_ngcontent-%COMP%]:before{content:""}.fa-pie-chart[_ngcontent-%COMP%]:before{content:""}.fa-line-chart[_ngcontent-%COMP%]:before{content:""}.fa-lastfm[_ngcontent-%COMP%]:before{content:""}.fa-lastfm-square[_ngcontent-%COMP%]:before{content:""}.fa-toggle-off[_ngcontent-%COMP%]:before{content:""}.fa-toggle-on[_ngcontent-%COMP%]:before{content:""}.fa-bicycle[_ngcontent-%COMP%]:before{content:""}.fa-bus[_ngcontent-%COMP%]:before{content:""}.fa-ioxhost[_ngcontent-%COMP%]:before{content:""}.fa-angellist[_ngcontent-%COMP%]:before{content:""}.fa-cc[_ngcontent-%COMP%]:before, .fa-closed-captioning[_ngcontent-%COMP%]:before{content:""}.fa-ils[_ngcontent-%COMP%]:before, .fa-shekel[_ngcontent-%COMP%]:before, .fa-sheqel[_ngcontent-%COMP%]:before{content:""}.fa-meanpath[_ngcontent-%COMP%]:before{content:""}.fa-buysellads[_ngcontent-%COMP%]:before{content:""}.fa-connectdevelop[_ngcontent-%COMP%]:before{content:""}.fa-dashcube[_ngcontent-%COMP%]:before{content:""}.fa-forumbee[_ngcontent-%COMP%]:before{content:""}.fa-leanpub[_ngcontent-%COMP%]:before{content:""}.fa-sellsy[_ngcontent-%COMP%]:before{content:""}.fa-shirtsinbulk[_ngcontent-%COMP%]:before{content:""}.fa-simplybuilt[_ngcontent-%COMP%]:before{content:""}.fa-skyatlas[_ngcontent-%COMP%]:before{content:""}.fa-cart-plus[_ngcontent-%COMP%]:before{content:""}.fa-cart-arrow-down[_ngcontent-%COMP%]:before{content:""}.fa-diamond[_ngcontent-%COMP%]:before, .fa-gem[_ngcontent-%COMP%]:before{content:""}.fa-ship[_ngcontent-%COMP%]:before{content:""}.fa-user-secret[_ngcontent-%COMP%]:before{content:""}.fa-motorcycle[_ngcontent-%COMP%]:before{content:""}.fa-street-view[_ngcontent-%COMP%]:before{content:""}.fa-heartbeat[_ngcontent-%COMP%]:before{content:""}.fa-venus[_ngcontent-%COMP%]:before{content:""}.fa-mars[_ngcontent-%COMP%]:before{content:""}.fa-mercury[_ngcontent-%COMP%]:before{content:""}.fa-intersex[_ngcontent-%COMP%]:before, .fa-transgender[_ngcontent-%COMP%]:before{content:""}.fa-transgender-alt[_ngcontent-%COMP%]:before{content:""}.fa-venus-double[_ngcontent-%COMP%]:before{content:""}.fa-mars-double[_ngcontent-%COMP%]:before{content:""}.fa-venus-mars[_ngcontent-%COMP%]:before{content:""}.fa-mars-stroke[_ngcontent-%COMP%]:before{content:""}.fa-mars-stroke-v[_ngcontent-%COMP%]:before{content:""}.fa-mars-stroke-h[_ngcontent-%COMP%]:before{content:""}.fa-neuter[_ngcontent-%COMP%]:before{content:""}.fa-genderless[_ngcontent-%COMP%]:before{content:""}.fa-facebook-official[_ngcontent-%COMP%]:before{content:""}.fa-pinterest-p[_ngcontent-%COMP%]:before{content:""}.fa-whatsapp[_ngcontent-%COMP%]:before{content:""}.fa-server[_ngcontent-%COMP%]:before{content:""}.fa-user-plus[_ngcontent-%COMP%]:before{content:""}.fa-user-times[_ngcontent-%COMP%]:before{content:""}.fa-bed[_ngcontent-%COMP%]:before, .fa-hotel[_ngcontent-%COMP%]:before{content:""}.fa-viacoin[_ngcontent-%COMP%]:before{content:""}.fa-train[_ngcontent-%COMP%]:before{content:""}.fa-subway[_ngcontent-%COMP%]:before{content:""}.fa-medium[_ngcontent-%COMP%]:before{content:""}.fa-medium-square[_ngcontent-%COMP%]:before{content:""}.fa-y-combinator[_ngcontent-%COMP%]:before, .fa-yc[_ngcontent-%COMP%]:before{content:""}.fa-optin-monster[_ngcontent-%COMP%]:before{content:""}.fa-opencart[_ngcontent-%COMP%]:before{content:""}.fa-expeditedssl[_ngcontent-%COMP%]:before{content:""}.fa-battery-4[_ngcontent-%COMP%]:before, .fa-battery-full[_ngcontent-%COMP%]:before, .fa-battery[_ngcontent-%COMP%]:before{content:""}.fa-battery-3[_ngcontent-%COMP%]:before, .fa-battery-three-quarters[_ngcontent-%COMP%]:before{content:""}.fa-battery-2[_ngcontent-%COMP%]:before, .fa-battery-half[_ngcontent-%COMP%]:before{content:""}.fa-battery-1[_ngcontent-%COMP%]:before, .fa-battery-quarter[_ngcontent-%COMP%]:before{content:""}.fa-battery-0[_ngcontent-%COMP%]:before, .fa-battery-empty[_ngcontent-%COMP%]:before{content:""}.fa-mouse-pointer[_ngcontent-%COMP%]:before{content:""}.fa-i-cursor[_ngcontent-%COMP%]:before{content:""}.fa-object-group[_ngcontent-%COMP%]:before{content:""}.fa-object-ungroup[_ngcontent-%COMP%]:before{content:""}.fa-sticky-note[_ngcontent-%COMP%]:before{content:""}.fa-sticky-note-o[_ngcontent-%COMP%]:before{content:""}.fa-cc-jcb[_ngcontent-%COMP%]:before{content:""}.fa-cc-diners-club[_ngcontent-%COMP%]:before{content:""}.fa-clone[_ngcontent-%COMP%]:before{content:""}.fa-balance-scale[_ngcontent-%COMP%]:before{content:""}.fa-hourglass-o[_ngcontent-%COMP%]:before{content:""}.fa-hourglass-1[_ngcontent-%COMP%]:before, .fa-hourglass-start[_ngcontent-%COMP%]:before{content:""}.fa-hourglass-2[_ngcontent-%COMP%]:before, .fa-hourglass-half[_ngcontent-%COMP%]:before{content:""}.fa-hourglass-3[_ngcontent-%COMP%]:before, .fa-hourglass-end[_ngcontent-%COMP%]:before{content:""}.fa-hourglass[_ngcontent-%COMP%]:before{content:""}.fa-hand-grab-o[_ngcontent-%COMP%]:before, .fa-hand-rock-o[_ngcontent-%COMP%]:before{content:""}.fa-hand-paper-o[_ngcontent-%COMP%]:before, .fa-hand-stop-o[_ngcontent-%COMP%]:before{content:""}.fa-hand-scissors-o[_ngcontent-%COMP%]:before{content:""}.fa-hand-lizard-o[_ngcontent-%COMP%]:before{content:""}.fa-hand-spock-o[_ngcontent-%COMP%]:before{content:""}.fa-hand-pointer-o[_ngcontent-%COMP%]:before{content:""}.fa-hand-peace-o[_ngcontent-%COMP%]:before{content:""}.fa-trademark[_ngcontent-%COMP%]:before{content:""}.fa-registered[_ngcontent-%COMP%]:before{content:""}.fa-creative-commons[_ngcontent-%COMP%]:before{content:""}.fa-gg[_ngcontent-%COMP%]:before{content:""}.fa-gg-circle[_ngcontent-%COMP%]:before{content:""}.fa-tripadvisor[_ngcontent-%COMP%]:before{content:""}.fa-odnoklassniki[_ngcontent-%COMP%]:before{content:""}.fa-odnoklassniki-square[_ngcontent-%COMP%]:before{content:""}.fa-get-pocket[_ngcontent-%COMP%]:before{content:""}.fa-wikipedia-w[_ngcontent-%COMP%]:before{content:""}.fa-safari[_ngcontent-%COMP%]:before{content:""}.fa-chrome[_ngcontent-%COMP%]:before{content:""}.fa-firefox[_ngcontent-%COMP%]:before{content:""}.fa-opera[_ngcontent-%COMP%]:before{content:""}.fa-internet-explorer[_ngcontent-%COMP%]:before{content:""}.fa-television[_ngcontent-%COMP%]:before, .fa-tv[_ngcontent-%COMP%]:before{content:""}.fa-contao[_ngcontent-%COMP%]:before{content:""}.fa-500px[_ngcontent-%COMP%]:before{content:""}.fa-amazon[_ngcontent-%COMP%]:before{content:""}.fa-calendar-plus-o[_ngcontent-%COMP%]:before{content:""}.fa-calendar-minus-o[_ngcontent-%COMP%]:before{content:""}.fa-calendar-times-o[_ngcontent-%COMP%]:before{content:""}.fa-calendar-check-o[_ngcontent-%COMP%]:before{content:""}.fa-industry[_ngcontent-%COMP%]:before{content:""}.fa-map-pin[_ngcontent-%COMP%]:before{content:""}.fa-map-signs[_ngcontent-%COMP%]:before{content:""}.fa-map-o[_ngcontent-%COMP%]:before{content:""}.fa-map[_ngcontent-%COMP%]:before{content:""}.fa-commenting[_ngcontent-%COMP%]:before{content:""}.fa-commenting-o[_ngcontent-%COMP%]:before{content:""}.fa-houzz[_ngcontent-%COMP%]:before{content:""}.fa-vimeo-v[_ngcontent-%COMP%]:before, .fa-vimeo[_ngcontent-%COMP%]:before{content:""}.fa-black-tie[_ngcontent-%COMP%]:before{content:""}.fa-fonticons[_ngcontent-%COMP%]:before{content:""}.fa-reddit-alien[_ngcontent-%COMP%]:before{content:""}.fa-edge[_ngcontent-%COMP%]:before{content:""}.fa-credit-card-alt[_ngcontent-%COMP%]:before{content:""}.fa-codiepie[_ngcontent-%COMP%]:before{content:""}.fa-modx[_ngcontent-%COMP%]:before{content:""}.fa-fort-awesome[_ngcontent-%COMP%]:before{content:""}.fa-usb[_ngcontent-%COMP%]:before{content:""}.fa-product-hunt[_ngcontent-%COMP%]:before{content:""}.fa-mixcloud[_ngcontent-%COMP%]:before{content:""}.fa-scribd[_ngcontent-%COMP%]:before{content:""}.fa-pause-circle[_ngcontent-%COMP%]:before{content:""}.fa-pause-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-stop-circle[_ngcontent-%COMP%]:before{content:""}.fa-stop-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-shopping-bag[_ngcontent-%COMP%]:before{content:""}.fa-shopping-basket[_ngcontent-%COMP%]:before{content:""}.fa-hashtag[_ngcontent-%COMP%]:before{content:""}.fa-bluetooth[_ngcontent-%COMP%]:before{content:""}.fa-bluetooth-b[_ngcontent-%COMP%]:before{content:""}.fa-percent[_ngcontent-%COMP%]:before{content:""}.fa-gitlab[_ngcontent-%COMP%]:before{content:""}.fa-wpbeginner[_ngcontent-%COMP%]:before{content:""}.fa-wpforms[_ngcontent-%COMP%]:before{content:""}.fa-envira[_ngcontent-%COMP%]:before{content:""}.fa-universal-access[_ngcontent-%COMP%]:before{content:""}.fa-wheelchair-alt[_ngcontent-%COMP%]:before{content:""}.fa-question-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-blind[_ngcontent-%COMP%]:before{content:""}.fa-audio-description[_ngcontent-%COMP%]:before{content:""}.fa-phone-volume[_ngcontent-%COMP%]:before, .fa-volume-control-phone[_ngcontent-%COMP%]:before{content:""}.fa-braille[_ngcontent-%COMP%]:before{content:""}.fa-assistive-listening-systems[_ngcontent-%COMP%]:before{content:""}.fa-american-sign-language-interpreting[_ngcontent-%COMP%]:before, .fa-asl-interpreting[_ngcontent-%COMP%]:before{content:""}.fa-deaf[_ngcontent-%COMP%]:before, .fa-deafness[_ngcontent-%COMP%]:before, .fa-hard-of-hearing[_ngcontent-%COMP%]:before{content:""}.fa-glide[_ngcontent-%COMP%]:before{content:""}.fa-glide-g[_ngcontent-%COMP%]:before{content:""}.fa-sign-language[_ngcontent-%COMP%]:before, .fa-signing[_ngcontent-%COMP%]:before{content:""}.fa-low-vision[_ngcontent-%COMP%]:before{content:""}.fa-viadeo[_ngcontent-%COMP%]:before{content:""}.fa-viadeo-square[_ngcontent-%COMP%]:before{content:""}.fa-snapchat[_ngcontent-%COMP%]:before{content:""}.fa-snapchat-ghost[_ngcontent-%COMP%]:before{content:""}.fa-snapchat-square[_ngcontent-%COMP%]:before{content:""}.fa-first-order[_ngcontent-%COMP%]:before{content:""}.fa-yoast[_ngcontent-%COMP%]:before{content:""}.fa-themeisle[_ngcontent-%COMP%]:before{content:""}.fa-google-plus-circle[_ngcontent-%COMP%]:before, .fa-google-plus-official[_ngcontent-%COMP%]:before{content:""}.fa-fa[_ngcontent-%COMP%]:before, .fa-font-awesome[_ngcontent-%COMP%]:before{content:""}.fa-handshake-o[_ngcontent-%COMP%]:before{content:""}.fa-envelope-open[_ngcontent-%COMP%]:before{content:""}.fa-envelope-open-o[_ngcontent-%COMP%]:before{content:""}.fa-linode[_ngcontent-%COMP%]:before{content:""}.fa-address-book[_ngcontent-%COMP%]:before{content:""}.fa-address-book-o[_ngcontent-%COMP%]:before{content:""}.fa-address-card[_ngcontent-%COMP%]:before, .fa-vcard[_ngcontent-%COMP%]:before{content:""}.fa-address-card-o[_ngcontent-%COMP%]:before, .fa-vcard-o[_ngcontent-%COMP%]:before{content:""}.fa-user-circle[_ngcontent-%COMP%]:before{content:""}.fa-user-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-user-o[_ngcontent-%COMP%]:before{content:""}.fa-id-badge[_ngcontent-%COMP%]:before{content:""}.fa-drivers-license[_ngcontent-%COMP%]:before, .fa-id-card[_ngcontent-%COMP%]:before{content:""}.fa-drivers-license-o[_ngcontent-%COMP%]:before, .fa-id-card-o[_ngcontent-%COMP%]:before{content:""}.fa-quora[_ngcontent-%COMP%]:before{content:""}.fa-free-code-camp[_ngcontent-%COMP%]:before{content:""}.fa-telegram[_ngcontent-%COMP%]:before{content:""}.fa-thermometer-4[_ngcontent-%COMP%]:before, .fa-thermometer-full[_ngcontent-%COMP%]:before, .fa-thermometer[_ngcontent-%COMP%]:before{content:""}.fa-thermometer-3[_ngcontent-%COMP%]:before, .fa-thermometer-three-quarters[_ngcontent-%COMP%]:before{content:""}.fa-thermometer-2[_ngcontent-%COMP%]:before, .fa-thermometer-half[_ngcontent-%COMP%]:before{content:""}.fa-thermometer-1[_ngcontent-%COMP%]:before, .fa-thermometer-quarter[_ngcontent-%COMP%]:before{content:""}.fa-thermometer-0[_ngcontent-%COMP%]:before, .fa-thermometer-empty[_ngcontent-%COMP%]:before{content:""}.fa-shower[_ngcontent-%COMP%]:before{content:""}.fa-bath[_ngcontent-%COMP%]:before, .fa-bathtub[_ngcontent-%COMP%]:before, .fa-s15[_ngcontent-%COMP%]:before{content:""}.fa-podcast[_ngcontent-%COMP%]:before{content:""}.fa-window-maximize[_ngcontent-%COMP%]:before{content:""}.fa-window-minimize[_ngcontent-%COMP%]:before{content:""}.fa-window-restore[_ngcontent-%COMP%]:before{content:""}.fa-times-rectangle[_ngcontent-%COMP%]:before, .fa-window-close[_ngcontent-%COMP%]:before{content:""}.fa-times-rectangle-o[_ngcontent-%COMP%]:before, .fa-window-close-o[_ngcontent-%COMP%]:before{content:""}.fa-bandcamp[_ngcontent-%COMP%]:before{content:""}.fa-grav[_ngcontent-%COMP%]:before{content:""}.fa-etsy[_ngcontent-%COMP%]:before{content:""}.fa-imdb[_ngcontent-%COMP%]:before{content:""}.fa-ravelry[_ngcontent-%COMP%]:before{content:""}.fa-eercast[_ngcontent-%COMP%]:before{content:""}.fa-microchip[_ngcontent-%COMP%]:before{content:""}.fa-snowflake-o[_ngcontent-%COMP%]:before{content:""}.fa-superpowers[_ngcontent-%COMP%]:before{content:""}.fa-wpexplorer[_ngcontent-%COMP%]:before{content:""}.fa-meetup[_ngcontent-%COMP%]:before{content:""}.fa-mastodon[_ngcontent-%COMP%]:before{content:""}.fa-mastodon-alt[_ngcontent-%COMP%]:before{content:""}.fa-fork-awesome[_ngcontent-%COMP%]:before, .fa-fork-circle[_ngcontent-%COMP%]:before{content:""}.fa-peertube[_ngcontent-%COMP%]:before{content:""}.fa-diaspora[_ngcontent-%COMP%]:before{content:""}.fa-friendica[_ngcontent-%COMP%]:before{content:""}.fa-gnu-social[_ngcontent-%COMP%]:before{content:""}.fa-liberapay-square[_ngcontent-%COMP%]:before{content:""}.fa-liberapay[_ngcontent-%COMP%]:before{content:""}.fa-scuttlebutt[_ngcontent-%COMP%]:before, .fa-ssb[_ngcontent-%COMP%]:before{content:""}.fa-hubzilla[_ngcontent-%COMP%]:before{content:""}.fa-social-home[_ngcontent-%COMP%]:before{content:""}.fa-artstation[_ngcontent-%COMP%]:before{content:""}.fa-discord[_ngcontent-%COMP%]:before{content:""}.fa-discord-alt[_ngcontent-%COMP%]:before{content:""}.fa-patreon[_ngcontent-%COMP%]:before{content:""}.fa-snowdrift[_ngcontent-%COMP%]:before{content:""}.fa-activitypub[_ngcontent-%COMP%]:before{content:""}.fa-ethereum[_ngcontent-%COMP%]:before{content:""}.fa-keybase[_ngcontent-%COMP%]:before{content:""}.fa-shaarli[_ngcontent-%COMP%]:before{content:""}.fa-shaarli-o[_ngcontent-%COMP%]:before{content:""}.fa-cut-key[_ngcontent-%COMP%]:before, .fa-key-modern[_ngcontent-%COMP%]:before{content:""}.fa-xmpp[_ngcontent-%COMP%]:before{content:""}.fa-archive-org[_ngcontent-%COMP%]:before{content:""}.fa-freedombox[_ngcontent-%COMP%]:before{content:""}.fa-facebook-messenger[_ngcontent-%COMP%]:before{content:""}.fa-debian[_ngcontent-%COMP%]:before{content:""}.fa-mastodon-square[_ngcontent-%COMP%]:before{content:""}.fa-tipeee[_ngcontent-%COMP%]:before{content:""}.fa-react[_ngcontent-%COMP%]:before{content:""}.fa-dogmazic[_ngcontent-%COMP%]:before{content:""}.fa-zotero[_ngcontent-%COMP%]:before{content:""}.fa-nodejs[_ngcontent-%COMP%]:before{content:""}.fa-nextcloud[_ngcontent-%COMP%]:before{content:""}.fa-nextcloud-square[_ngcontent-%COMP%]:before{content:""}.fa-hackaday[_ngcontent-%COMP%]:before{content:""}.fa-laravel[_ngcontent-%COMP%]:before{content:""}.fa-signalapp[_ngcontent-%COMP%]:before{content:""}.fa-gnupg[_ngcontent-%COMP%]:before{content:""}.fa-php[_ngcontent-%COMP%]:before{content:""}.fa-ffmpeg[_ngcontent-%COMP%]:before{content:""}.fa-joplin[_ngcontent-%COMP%]:before{content:""}.fa-syncthing[_ngcontent-%COMP%]:before{content:""}.fa-inkscape[_ngcontent-%COMP%]:before{content:""}.fa-matrix-org[_ngcontent-%COMP%]:before{content:""}.fa-pixelfed[_ngcontent-%COMP%]:before{content:""}.fa-bootstrap[_ngcontent-%COMP%]:before{content:""}.fa-dev-to[_ngcontent-%COMP%]:before{content:""}.fa-hashnode[_ngcontent-%COMP%]:before{content:""}.fa-jirafeau[_ngcontent-%COMP%]:before{content:""}.fa-emby[_ngcontent-%COMP%]:before{content:""}.fa-wikidata[_ngcontent-%COMP%]:before{content:""}.fa-gimp[_ngcontent-%COMP%]:before{content:""}.fa-c[_ngcontent-%COMP%]:before{content:""}.fa-digitalocean[_ngcontent-%COMP%]:before{content:""}.fa-att[_ngcontent-%COMP%]:before{content:""}.fa-gitea[_ngcontent-%COMP%]:before{content:""}.fa-file-epub[_ngcontent-%COMP%]:before{content:""}.fa-python[_ngcontent-%COMP%]:before{content:""}.fa-archlinux[_ngcontent-%COMP%]:before{content:""}.fa-pleroma[_ngcontent-%COMP%]:before{content:""}.fa-unsplash[_ngcontent-%COMP%]:before{content:""}.fa-hackster[_ngcontent-%COMP%]:before{content:""}.fa-spell-check[_ngcontent-%COMP%]:before{content:""}.fa-moon[_ngcontent-%COMP%]:before{content:""}.fa-sun[_ngcontent-%COMP%]:before{content:""}.fa-f-droid[_ngcontent-%COMP%]:before{content:""}.fa-biometric[_ngcontent-%COMP%]:before{content:""}.sr-only[_ngcontent-%COMP%]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable[_ngcontent-%COMP%]:active, .sr-only-focusable[_ngcontent-%COMP%]:focus{clip:auto;white-space:normal;position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.info-card-popover-cluster-status[_ngcontent-%COMP%]{max-width:23vw;max-height:20vh}.info-card-popover-cluster-status[_ngcontent-%COMP%]   .popover-body[_ngcontent-%COMP%]{max-width:100%;max-height:19vh;font-size:12px}@media (max-width:calc(1200px - 1px)){.info-card-popover-cluster-status[_ngcontent-%COMP%]{max-width:31vw}}@media (max-width:calc(992px - 1px)){.info-card-popover-cluster-status[_ngcontent-%COMP%]{max-width:46vw}}@media (max-width:calc(768px - 1px)){.info-card-popover-cluster-status[_ngcontent-%COMP%]{max-width:83vw}}.info-card-content-clickable[_ngcontent-%COMP%]{cursor:pointer;padding:7px;border:1px solid #efefef;border-radius:3px}.info-card-content-clickable[_ngcontent-%COMP%]:hover{border-color:#d1d1d1;background-color:#f3f3f3}.custom-control-input.is-valid[_ngcontent-%COMP%] ~ .custom-control-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid ~ .custom-control-label[_ngcontent-%COMP%]{color:initial}.custom-control-input.is-valid[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid:checked ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#2b99a8;background-color:#2b99a8}.custom-control-input.is-valid[_ngcontent-%COMP%] ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#adb5bd}.custom-control-input.is-valid[_ngcontent-%COMP%]:focus ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid:focus ~ .custom-control-label[_ngcontent-%COMP%]::before{box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.custom-control-input.is-valid[_ngcontent-%COMP%]:focus:not(:checked) ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid:focus:not(:checked) ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#76d0dc}html[_ngcontent-%COMP%]{background-color:#fff}body[_ngcontent-%COMP%], html[_ngcontent-%COMP%]{width:100%;height:100%;font-size:12px}h1[_ngcontent-%COMP%]{letter-spacing:-1px;font-size:2em}h2[_ngcontent-%COMP%]{letter-spacing:-1px;font-size:1.833em}h3[_ngcontent-%COMP%]{display:block;font-size:1.583em;font-weight:400}h4[_ngcontent-%COMP%]{font-size:1.5em;line-height:normal}option[_ngcontent-%COMP%]{font-weight:400;font-style:normal}.full-height[_ngcontent-%COMP%]{height:100vh}.full-width[_ngcontent-%COMP%]{width:100vw}.vertical-align[_ngcontent-%COMP%]{display:flex;align-items:center}.horizontal-align[_ngcontent-%COMP%]{display:flex;justify-content:center}.loading[_ngcontent-%COMP%]{position:absolute;top:50%;left:50%}.margin-right-md[_ngcontent-%COMP%]{margin-right:15px}.no-border[_ngcontent-%COMP%]{border:0;box-shadow:0 0 0!important}.italic[_ngcontent-%COMP%]{font-style:italic}.bold[_ngcontent-%COMP%]{font-weight:700}.text-pre[_ngcontent-%COMP%]{white-space:pre-wrap}.btn-light[_ngcontent-%COMP%]{background-color:#fff!important;border-color:#ced4da!important}.btn-light[_ngcontent-%COMP%]:hover{background-color:#ddd!important;border-color:#adadad!important}.btn.active.focus[_ngcontent-%COMP%], .btn.active[_ngcontent-%COMP%]:focus, .btn.focus[_ngcontent-%COMP%], .btn[_ngcontent-%COMP%]:active.focus, .btn[_ngcontent-%COMP%]:active:focus, .btn[_ngcontent-%COMP%]:focus{outline:0}.btn-primary[_ngcontent-%COMP%]   .badge[_ngcontent-%COMP%]{color:#2b99a8;background-color:#eee}.btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%] > i.fa[_ngcontent-%COMP%], .cd-datatable-actions[_ngcontent-%COMP%]   button.btn[_ngcontent-%COMP%]   i.fa[_ngcontent-%COMP%]{margin-right:5px}.dropdown-menu[_ngcontent-%COMP%]{min-width:50px;z-index:999999}.dropdown-menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{color:#474544;cursor:pointer}.dropdown-menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] > i.fa[_ngcontent-%COMP%]{margin-right:5px}.dropdown-menu[_ngcontent-%COMP%] > .active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{color:#eee}.dropdown-menu[_ngcontent-%COMP%] > .active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%], .dropdown-menu[_ngcontent-%COMP%] > .active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:focus, .dropdown-menu[_ngcontent-%COMP%] > .active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{background-color:#21747f}.dataTables_wrapper[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%] > li.dropdown-divider[_ngcontent-%COMP%]{cursor:auto}.container[_ngcontent-%COMP%], .container-fluid[_ngcontent-%COMP%]{padding-left:30px!important;padding-right:30px!important}.row[_ngcontent-%COMP%]{margin-left:-30px;margin-right:-30px}.cd-col-form[_ngcontent-%COMP%], .cd-col-form-input[_ngcontent-%COMP%], .cd-col-form-label[_ngcontent-%COMP%], .cd-col-form-offset[_ngcontent-%COMP%], .col-1[_ngcontent-%COMP%], .col-10[_ngcontent-%COMP%], .col-11[_ngcontent-%COMP%], .col-12[_ngcontent-%COMP%], .col-2[_ngcontent-%COMP%], .col-3[_ngcontent-%COMP%], .col-4[_ngcontent-%COMP%], .col-5[_ngcontent-%COMP%], .col-6[_ngcontent-%COMP%], .col-7[_ngcontent-%COMP%], .col-8[_ngcontent-%COMP%], .col-9[_ngcontent-%COMP%], .col-lg-1[_ngcontent-%COMP%], .col-lg-10[_ngcontent-%COMP%], .col-lg-11[_ngcontent-%COMP%], .col-lg-12[_ngcontent-%COMP%], .col-lg-2[_ngcontent-%COMP%], .col-lg-3[_ngcontent-%COMP%], .col-lg-4[_ngcontent-%COMP%], .col-lg-5[_ngcontent-%COMP%], .col-lg-6[_ngcontent-%COMP%], .col-lg-7[_ngcontent-%COMP%], .col-lg-8[_ngcontent-%COMP%], .col-lg-9[_ngcontent-%COMP%], .col-md-1[_ngcontent-%COMP%], .col-md-10[_ngcontent-%COMP%], .col-md-11[_ngcontent-%COMP%], .col-md-12[_ngcontent-%COMP%], .col-md-2[_ngcontent-%COMP%], .col-md-3[_ngcontent-%COMP%], .col-md-4[_ngcontent-%COMP%], .col-md-5[_ngcontent-%COMP%], .col-md-6[_ngcontent-%COMP%], .col-md-7[_ngcontent-%COMP%], .col-md-8[_ngcontent-%COMP%], .col-md-9[_ngcontent-%COMP%], .col-sm-1[_ngcontent-%COMP%], .col-sm-10[_ngcontent-%COMP%], .col-sm-11[_ngcontent-%COMP%], .col-sm-12[_ngcontent-%COMP%], .col-sm-2[_ngcontent-%COMP%], .col-sm-3[_ngcontent-%COMP%], .col-sm-4[_ngcontent-%COMP%], .col-sm-5[_ngcontent-%COMP%], .col-sm-6[_ngcontent-%COMP%], .col-sm-7[_ngcontent-%COMP%], .col-sm-8[_ngcontent-%COMP%], .col-sm-9[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-input[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-label[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-offset[_ngcontent-%COMP%]{padding-left:30px;padding-right:30px}tags-input[_ngcontent-%COMP%]   .tags[_ngcontent-%COMP%]{border-radius:4px;border:1px solid #d1d1d1;box-shadow:inset 0 1px 1px rgba(0,0,0,.09)}.card[_ngcontent-%COMP%]   .accordion-title[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]   .accordion-title[_ngcontent-%COMP%], uib-accordion[_ngcontent-%COMP%]   .card-title[_ngcontent-%COMP%]{font-size:14px!important}.card-header[_ngcontent-%COMP%]{font-size:1.3em}.card-body[_ngcontent-%COMP%]   h2[_ngcontent-%COMP%]:first-child{margin-top:0}.disabled[_ngcontent-%COMP%]{pointer-events:none}.clickable[_ngcontent-%COMP%], a[_ngcontent-%COMP%]{cursor:pointer}[_ngcontent-%COMP%]:invalid   .has-error-btn[_ngcontent-%COMP%], [_ngcontent-%COMP%]:invalid   .has-error-btn[_ngcontent-%COMP%]:disabled:hover{background-color:#f2dede;border-color:#a94442}.noscript[_ngcontent-%COMP%]{padding-top:5em}.noscript[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]{color:#777}.required[_ngcontent-%COMP%]::after{color:#a94442;content:"*";font-size:14px;padding-left:4px}.form-footer[_ngcontent-%COMP%]{width:100%;display:flex}.cd-form-control[_ngcontent-%COMP%], .form-control[_ngcontent-%COMP%]{display:table-cell}.cd-form-control[_ngcontent-%COMP%]:focus, .form-control[_ngcontent-%COMP%]:focus{border-color:rgba(43,153,168,.8);outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px 2px rgba(43,153,168,.5)}.custom-checkbox[_ngcontent-%COMP%]{padding-top:7px}.card-footer[_ngcontent-%COMP%]   button.btn[_ngcontent-%COMP%]:not(:first-child), .modal-footer[_ngcontent-%COMP%]   button.btn[_ngcontent-%COMP%]:not(:first-child){margin-left:5px}.nav-tabs[_ngcontent-%COMP%]{margin-bottom:15px}.ceph-icon[_ngcontent-%COMP%]{background:url(Ceph_Logo_Stacked_RGB_120411_fa_228x228.1ed169ccc35367a2dab2.png)}.prometheus-icon[_ngcontent-%COMP%]{background:url(prometheus_logo.074db273ef932a67d91b.svg)}.custom-icon[_ngcontent-%COMP%]{padding:10px;margin-right:8px;background-clip:padding-box;background-size:contain;background-repeat:no-repeat}.toast-message[_ngcontent-%COMP%]   .custom-icon[_ngcontent-%COMP%]{filter:brightness(0) invert(1);-webkit-filter:brightness(0) invert(1);-moz-filter:brightness(0) invert(1);-o-filter:brightness(0) invert(1);-ms-filter:brightness(0) invert(1)}.block-ui-wrapper[_ngcontent-%COMP%]{background:rgba(0,0,0,.7)!important}.tooltip-wide[_ngcontent-%COMP%]   .tooltip-inner[_ngcontent-%COMP%]{width:400px}.tooltip-inner[_ngcontent-%COMP%]{background-color:#fff;border:1px solid grey;color:#333;font-size:1.1em}.toast-message[_ngcontent-%COMP%] > ul[_ngcontent-%COMP%]{padding-left:1em;margin:0}@media (min-width:576px){.cd-col-form-label[_ngcontent-%COMP%], .col-form-label[_ngcontent-%COMP%]{text-align:right}}.cd-col-form-label[_ngcontent-%COMP%], .col-form-label[_ngcontent-%COMP%]{font-weight:700}cd-submit-button[_ngcontent-%COMP%]{background-color:transparent!important}bfv-messages[_ngcontent-%COMP%]{display:none}.form-group.has-error[_ngcontent-%COMP%]   .invalid-feedback[_ngcontent-%COMP%]{display:block}.password-strength-level[_ngcontent-%COMP%]{flex:100%;margin-top:2px}.password-strength-level[_ngcontent-%COMP%]   .ok[_ngcontent-%COMP%], .password-strength-level[_ngcontent-%COMP%]   .strong[_ngcontent-%COMP%], .password-strength-level[_ngcontent-%COMP%]   .very-strong[_ngcontent-%COMP%], .password-strength-level[_ngcontent-%COMP%]   .weak[_ngcontent-%COMP%]{border-radius:.25rem;height:13px}.password-strength-level[_ngcontent-%COMP%]   .weak[_ngcontent-%COMP%]{width:25%;background:red}.password-strength-level[_ngcontent-%COMP%]   .ok[_ngcontent-%COMP%]{width:50%;background:#ffc200}.password-strength-level[_ngcontent-%COMP%]   .strong[_ngcontent-%COMP%]{width:75%;background:#0b0}.password-strength-level[_ngcontent-%COMP%]   .very-strong[_ngcontent-%COMP%]{width:100%;background:#245e03}.badge-hdd[_ngcontent-%COMP%]{color:#fff;background-color:#90949c}.badge-ssd[_ngcontent-%COMP%]{color:#fff;background-color:#288cea}.badge-tab[_ngcontent-%COMP%]{color:#555;background-color:#f3f3f3}tree-root[_ngcontent-%COMP%]   tree-viewport[_ngcontent-%COMP%]{min-height:1em}.card[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]{height:100%;border:.5px solid #ddd;border-radius:3px;box-shadow:0 1px 1px rgba(3,3,3,.175);font-size:12px}@media screen and (min-width:320px){.card[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]{font-size:calc(12px + 9 * ((100vw - 320px)/ 1728))}}@media screen and (min-width:2048px){.card[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]{font-size:21px}}.card[_ngcontent-%COMP%]   .card-body[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]   .card-body[_ngcontent-%COMP%]{padding-top:40px!important}.card[_ngcontent-%COMP%]   .card-body[_ngcontent-%COMP%]   .card-title[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]   .card-body[_ngcontent-%COMP%]   .card-title[_ngcontent-%COMP%]{position:absolute;left:0;top:0}.no-center[_ngcontent-%COMP%]{position:unset;top:unset;left:unset;transform:unset}.content-highlight[_ngcontent-%COMP%]{font-weight:700}']],data:{}});function Gn(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"a",[],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,1).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](1,671744,null,0,Tt.p,[Tt.m,Tt.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵted"](2,null,["",""]))],(function(t,e){t(e,1,0,e.component.link)}),(function(t,e){var n=e.component;t(e,0,0,i["ɵnov"](e,1).target,i["ɵnov"](e,1).href),t(e,2,0,n.cardTitle)}))}function Yn(t){return i["ɵvid"](0,[(t()(),i["ɵted"](0,null,[" "," "]))],null,(function(t,e){t(e,0,0,e.component.cardTitle)}))}function Bn(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,11,"div",[["class","card"]],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](2,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),(t()(),i["ɵeld"](3,0,null,null,8,"div",[["class","card-body d-flex align-items-center justify-content-center"]],null,null,null,null,null)),(t()(),i["ɵeld"](4,0,null,null,3,"h5",[["class","card-title m-4"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Gn)),i["ɵdid"](6,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"],ngIfElse:[1,"ngIfElse"]},null),(t()(),i["ɵand"](0,[["noLinkTitle",2]],null,0,null,Yn)),(t()(),i["ɵeld"](8,0,null,null,3,"div",[["class","card-text text-center"]],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](10,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),i["ɵncd"](null,0)],(function(t,e){var n=e.component;t(e,2,0,"card",n.cardClass),t(e,6,0,n.link,i["ɵnov"](e,7)),t(e,10,0,"card-text text-center",n.contentClass)}),null)}class Hn{}var Un=i["ɵcrt"]({encapsulation:0,styles:[[".info-group-title[_ngcontent-%COMP%]{margin:0 0 .5vw .5vw;font-size:21px}"]],data:{}});function Wn(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"div",[["class","row"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,1,"span",[["class","info-group-title"]],null,null,null,null,null)),(t()(),i["ɵted"](2,null,["",""])),(t()(),i["ɵeld"](3,0,null,null,1,"div",[["class","row"]],null,null,null,null,null)),i["ɵncd"](null,0)],null,(function(t,e){t(e,2,0,e.component.groupTitle)}))}var Kn=n("hrfs"),$n=n("MO+k"),Zn=n("NEZu"),Jn=n("Fgil"),Xn=n("o4+5"),Qn=function(t){return t.DEFAULT_RED="#ff7592",t.DEFAULT_BLUE="#1d699d",t.DEFAULT_ORANGE="#ffa500",t.DEFAULT_MAGENTA="#564d65",t.DEFAULT_GREEN="#00bb00",t}({});class ta{constructor(t,e){this.dimlessBinary=t,this.dimless=e,this.config={},this.isBytesData=!1,this.showLabelAsTooltip=!1,this.prepareFn=new i.EventEmitter,this.chartConfig={chartType:"pie",dataset:[{label:null,borderWidth:0}],options:{legend:{display:!0,position:"right",labels:{usePointStyle:!0},onClick:(t,e)=>{this.onLegendClick(t,e)}},animation:{duration:0},tooltips:{enabled:!1},title:{display:!1}}},this.hiddenSlices=[]}ngOnInit(){$n.pluginService.register({beforeDraw:function(t){if(!t.options.center_text)return;const e=t.chart.width,n=t.chart.height,a=t.chart.ctx;a.restore();const r=(n/114).toFixed(2);a.font=r+"em sans-serif",a.textBaseline="middle";const o=t.options.center_text,i=Math.round((e-a.measureText(o).width)/2);a.fillText(o,i,n/2),a.save()}});const t=new Zn.a(this.chartCanvasRef,this.chartTooltipRef,(t,e)=>e+t.caretX+"px",(t,e)=>e+t.caretY-t.height-10+"px");t.getBody=t=>this.getChartTooltipBody(t),this.chartConfig.options.tooltips.custom=e=>{t.customTooltips(e)},this.chartConfig.colors=[{backgroundColor:[Qn.DEFAULT_RED,Qn.DEFAULT_BLUE,Qn.DEFAULT_ORANGE,Qn.DEFAULT_GREEN,Qn.DEFAULT_MAGENTA]}],$.merge(this.chartConfig,this.config),this.prepareFn.emit([this.chartConfig,this.data])}ngOnChanges(){this.prepareFn.emit([this.chartConfig,this.data]),this.hideSlices(),this.setChartSliceBorderWidth()}getChartTooltipBody(t){const e=t[0].split(": ");return this.showLabelAsTooltip?e[0]:(e[1]=this.isBytesData?this.dimlessBinary.transform(e[1]):this.dimless.transform(e[1]),e.join(": "))}setChartSliceBorderWidth(){let t=0;$.forEach(this.chartConfig.dataset[0].data,(function(e){e>0&&(t+=1)})),this.chartConfig.dataset[0].borderWidth=t>1?1:0}onLegendClick(t,e){t.stopPropagation(),this.hiddenSlices[e.index]=!e.hidden,this.ngOnChanges()}hideSlices(){$.forEach(this.chartConfig.dataset[0].data,(t,e)=>{this.hiddenSlices[e]&&(this.chartConfig.dataset[0].data[e]=void 0)})}}var ea=i["ɵcrt"]({encapsulation:0,styles:[['canvas[_ngcontent-%COMP%]{-moz-user-select:none;user-select:none}.chartjs-tooltip[_ngcontent-%COMP%]{opacity:0;position:absolute;background:rgba(0,0,0,.7);color:#fff;border-radius:3px;transition:all .1s ease;pointer-events:none;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif!important;transform:translate(-50%,0)}.chartjs-tooltip.transform-left[_ngcontent-%COMP%]{transform:translate(-10%,0)}.chartjs-tooltip.transform-left[_ngcontent-%COMP%]::after{left:10%}.chartjs-tooltip.transform-right[_ngcontent-%COMP%]{transform:translate(-90%,0)}.chartjs-tooltip.transform-right[_ngcontent-%COMP%]::after{left:90%}.chartjs-tooltip[_ngcontent-%COMP%]::after{content:" ";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:#000 transparent transparent}  .chartjs-tooltip-key{display:inline-block;width:10px;height:10px;margin-right:10px}.chart-container[_ngcontent-%COMP%]{margin:auto;cursor:pointer;overflow:visible;position:unset;width:100%;height:100%}.chart-canvas[_ngcontent-%COMP%]{position:unset;width:100%;height:100%;margin-left:auto;margin-right:auto;max-width:100%;max-height:100%}']],data:{}});function na(t){return i["ɵvid"](0,[i["ɵqud"](402653184,1,{chartCanvasRef:0}),i["ɵqud"](402653184,2,{chartTooltipRef:0}),(t()(),i["ɵeld"](2,0,null,null,4,"div",[["class","chart-container"]],null,null,null,null,null)),(t()(),i["ɵeld"](3,0,[[1,0],["chartCanvas",1]],null,1,"canvas",[["baseChart",""],["class","chart-canvas"]],null,null,null,null,null)),i["ɵdid"](4,999424,null,0,Kn.a,[i.ElementRef,Kn.c],{datasets:[0,"datasets"],labels:[1,"labels"],options:[2,"options"],chartType:[3,"chartType"],colors:[4,"colors"]},null),(t()(),i["ɵeld"](5,0,[[2,0],["chartTooltip",1]],null,1,"div",[["class","chartjs-tooltip"]],null,null,null,null,null)),(t()(),i["ɵeld"](6,0,null,null,0,"table",[],null,null,null,null,null))],(function(t,e){var n=e.component;t(e,4,0,n.chartConfig.dataset,n.chartConfig.labels,n.chartConfig.options,n.chartConfig.chartType,n.chartConfig.colors)}),null)}class aa{constructor(t){this.i18n=t}transform(t){return t?`${t.monmap.mons.length.toString()} (${this.i18n("quorum")} ${t.quorum.join(", ")})`:""}}var ra=n("GiVz");class oa{constructor(t){this.i18n=t}transform(t){if(!t)return"";let e=0,n=0;$.each(t.osds,t=>{t.in&&e++,t.up&&n++});const a=[{content:`${t.osds.length} ${this.i18n("total")}`,class:""}];a.push({content:"",class:"card-text-line-break"}),a.push({content:`${n} ${this.i18n("up")}, ${e} ${this.i18n("in")}`,class:""});const r=t.osds.length-n,o=n-e;if(r>0||o>0){a.push({content:"",class:"card-text-line-break"});const t=r>0?`${r} ${this.i18n("down")}`:"",e=r>0&&o>0?", ":"",n=o>0?`${o} ${this.i18n("out")}`:"";a.push({content:`${t}${e}${n}`,class:"card-text-error"})}return a}}class ia{constructor(t){this.i18n=t}transform(t){if(!t)return"";let e=this.i18n("n/a");const n=$.isUndefined(t.active_name)?"":`${this.i18n("active daemon")}: ${t.active_name}`;n.length>0&&(e="1");const a=t.standbys.map(t=>t.name).join(", "),r=a?`${this.i18n("standby daemons")}: ${a}`:"",o=t.standbys.length,i=[{content:`${e} ${this.i18n("active")}`,class:"popover-info",titleText:n}];return i.push({content:"",class:"card-text-line-break",titleText:""}),i.push({content:`${o} ${this.i18n("standby")}`,class:"popover-info",titleText:r}),i}}class sa{constructor(t){this.i18n=t}transform(t){if(!t)return"";let e="",n="",a=0,r=0,o=0;$.each(t.standbys,()=>{a+=1}),t.standbys&&!t.filesystems?(e=`${a} ${this.i18n("up")}`,n=this.i18n("no filesystems")):0===t.filesystems.length?e=this.i18n("no filesystems"):($.each(t.filesystems,t=>{$.each(t.mdsmap.info,t=>{"up:standby-replay"===t.state?o+=1:r+=1})}),e=`${r} ${this.i18n("active")}`,n=`${a+o} ${this.i18n("standby")}`);const i=t.standbys.map(t=>t.name).join(", "),s=i?`${this.i18n("standby daemons")}: ${i}`:"",c=t.filesystems?t.filesystems.length:0,l=Object.values(c>0?t.filesystems[0].mdsmap.info:{}).map(t=>t.name).join(", ");let d=l?`${this.i18n("active daemon")}: ${l}`:"";!r&&c>0&&(d=`${o} ${this.i18n("standbyReplay")}`);const u=[{content:e,class:"popover-info",titleText:d}];return n&&(u.push({content:"",class:"card-text-line-break",titleText:""}),u.push({content:n,class:"popover-info",titleText:s})),u}}class ca{transform(t,e){return $.round(t,e)}}var la=n("aXbf"),da=n("quSY");let ua=(()=>{class t{constructor(t){this.http=t}getFullHealth(){return this.http.get("api/health/full")}getMinimalHealth(){return this.http.get("api/health/minimal")}}return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t(i["ɵɵinject"](J.c))},token:t,providedIn:me.a}),t})();var ga=n("2Vo4"),fa=n("l5mm");let pa=(()=>{class t{constructor(t){this.ngZone=t,this.intervalDataSource=new ga.a(null),this.intervalData$=this.intervalDataSource.asObservable();const e=parseInt(sessionStorage.getItem("dashboard_interval"),10)||5e3;this.setRefreshInterval(e)}setRefreshInterval(t){this.intervalTime=t,sessionStorage.setItem("dashboard_interval",t.toString()),this.intervalSubscription&&this.intervalSubscription.unsubscribe(),this.ngZone.runOutsideAngular(()=>{this.intervalSubscription=Object(fa.a)(this.intervalTime).subscribe(()=>this.ngZone.run(()=>{this.intervalDataSource.next(this.intervalTime)}))})}getRefreshInterval(){return this.intervalTime}ngOnDestroy(){this.intervalSubscription&&this.intervalSubscription.unsubscribe()}}return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t(i["ɵɵinject"](i.NgZone))},token:t,providedIn:"root"}),t})();var ma=n("d+Og");class ha{constructor(t,e,n,a,r,o,i,s){this.healthService=t,this.i18n=e,this.authStorageService=n,this.pgCategoryService=a,this.featureToggles=r,this.refreshIntervalService=o,this.dimlessBinary=i,this.dimless=s,this.interval=new da.a,this.icons=dt.a,this.rawCapacityChartConfig={options:{title:{display:!0,position:"bottom"}}},this.objectsChartConfig={options:{title:{display:!0,position:"bottom"}},colors:[{backgroundColor:[Qn.DEFAULT_GREEN,Qn.DEFAULT_MAGENTA,Qn.DEFAULT_ORANGE,Qn.DEFAULT_RED]}]},this.pgStatusChartConfig={colors:[{backgroundColor:[Qn.DEFAULT_GREEN,Qn.DEFAULT_BLUE,Qn.DEFAULT_ORANGE,Qn.DEFAULT_RED]}]},this.permissions=this.authStorageService.getPermissions(),this.enabledFeature$=this.featureToggles.get()}ngOnInit(){this.getHealth(),this.interval=this.refreshIntervalService.intervalData$.subscribe(()=>{this.getHealth()})}ngOnDestroy(){this.interval.unsubscribe()}getHealth(){this.healthService.getMinimalHealth().subscribe(t=>{this.healthData=t})}prepareReadWriteRatio(t){const e=[],n=[],a=this.healthData.client_perf.write_op_per_sec+this.healthData.client_perf.read_op_per_sec;e.push(`${this.i18n("Writes")} (${this.calcPercentage(this.healthData.client_perf.write_op_per_sec,a)}%)`),n.push(this.healthData.client_perf.write_op_per_sec),e.push(`${this.i18n("Reads")} (${this.calcPercentage(this.healthData.client_perf.read_op_per_sec,a)}%)`),n.push(this.healthData.client_perf.read_op_per_sec),t.dataset[0].data=n,t.labels=e}prepareRawUsage(t,e){const n=this.calcPercentage(e.df.stats.total_bytes-e.df.stats.total_used_raw_bytes,e.df.stats.total_bytes),a=this.calcPercentage(e.df.stats.total_used_raw_bytes,e.df.stats.total_bytes);t.dataset[0].data=[e.df.stats.total_used_raw_bytes,e.df.stats.total_avail_bytes],t.labels=[`${this.dimlessBinary.transform(e.df.stats.total_used_raw_bytes)} ${this.i18n("Used")} (${a}%)`,`${this.dimlessBinary.transform(e.df.stats.total_bytes-e.df.stats.total_used_raw_bytes)} ${this.i18n("Avail.")} (${n}%)`],t.options.title.text=`${this.dimlessBinary.transform(e.df.stats.total_bytes)} ${this.i18n("total")}`}preparePgStatus(t,e){const n={};let a=0;$.forEach(e.pg_info.statuses,(t,e)=>{const r=this.pgCategoryService.getTypeByStates(e);$.isUndefined(n[r])&&(n[r]=0),n[r]+=t,a+=t}),t.dataset[0].data=this.pgCategoryService.getAllTypes().map(t=>n[t]),t.labels=[`${this.i18n("Clean")} (${this.calcPercentage(n.clean,a)}%)`,`${this.i18n("Working")} (${this.calcPercentage(n.working,a)}%)`,`${this.i18n("Warning")} (${this.calcPercentage(n.warning,a)}%)`,`${this.i18n("Unknown")} (${this.calcPercentage(n.unknown,a)}%)`]}prepareObjects(t,e){const n=e.pg_info.object_stats.num_object_copies,a=n-e.pg_info.object_stats.num_objects_misplaced-e.pg_info.object_stats.num_objects_degraded-e.pg_info.object_stats.num_objects_unfound;t.labels=[`${this.i18n("Healthy")} (${this.calcPercentage(a,n)}%)`,`${this.i18n("Misplaced")} (${this.calcPercentage(e.pg_info.object_stats.num_objects_misplaced,n)}%)`,`${this.i18n("Degraded")} (${this.calcPercentage(e.pg_info.object_stats.num_objects_degraded,n)}%)`,`${this.i18n("Unfound")} (${this.calcPercentage(e.pg_info.object_stats.num_objects_unfound,n)}%)`],t.dataset[0].data=[a,e.pg_info.object_stats.num_objects_misplaced,e.pg_info.object_stats.num_objects_degraded,e.pg_info.object_stats.num_objects_unfound],t.options.title.text=`${this.dimless.transform(e.pg_info.object_stats.num_objects)} ${this.i18n("total")} (${this.dimless.transform(n)} ${this.i18n("replicas")})`,t.options.maintainAspectRatio=window.innerWidth>=375}isClientReadWriteChartShowable(){return(this.healthData.client_perf.read_op_per_sec||0)+(this.healthData.client_perf.write_op_per_sec||0)>0}calcPercentage(t,e){return $.isNumber(t)&&$.isNumber(e)&&0!==e?Math.round(t/e*100):0}}var ba=i["ɵcrt"]({encapsulation:0,styles:[['@charset "UTF-8";.tree-children.tree-children-no-padding[_ngcontent-%COMP%]{padding-left:0}.node-drop-slot[_ngcontent-%COMP%]{display:block;height:2px}.node-drop-slot.is-dragging-over[_ngcontent-%COMP%]{background:#dfe;height:20px;border:2px dotted #888}.toggle-children-wrapper-expanded[_ngcontent-%COMP%]   .toggle-children[_ngcontent-%COMP%]{transform:rotate(90deg)}.toggle-children-wrapper-collapsed[_ngcontent-%COMP%]   .toggle-children[_ngcontent-%COMP%]{transform:rotate(0)}.toggle-children-wrapper[_ngcontent-%COMP%]{padding:2px 3px 5px 1px}.toggle-children[_ngcontent-%COMP%]{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAASCAYAAABSO15qAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABAhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ1dWlkOjY1RTYzOTA2ODZDRjExREJBNkUyRDg4N0NFQUNCNDA3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkYzRkRFQjcxODUzNTExRTU4RTQwRkQwODFEOUZEMEE3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkYzRkRFQjcwODUzNTExRTU4RTQwRkQwODFEOUZEMEE3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE1IChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTk5NzA1OGEtZDI3OC00NDZkLWE4ODgtNGM4MGQ4YWI1NzNmIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6YzRkZmQxMGMtY2NlNS0xMTc4LWE5OGQtY2NkZmM5ODk5YWYwIi8+IDxkYzp0aXRsZT4gPHJkZjpBbHQ+IDxyZGY6bGkgeG1sOmxhbmc9IngtZGVmYXVsdCI+Z2x5cGhpY29uczwvcmRmOmxpPiA8L3JkZjpBbHQ+IDwvZGM6dGl0bGU+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+5iogFwAAAGhJREFUeNpiYGBgKABigf///zOQg0EARH4A4gZyDIIZ8B/JoAJKDIDhB0CcQIkBRBtEyABkgxwoMQCGD6AbRKoBGAYxQgXIBRuZGKgAKPIC3QLxArnRSHZCIjspk52ZKMrOFBUoAAEGAKnq593MQAZtAAAAAElFTkSuQmCC);height:8px;width:9px;background-size:contain;display:inline-block;position:relative;top:1px;background-repeat:no-repeat;background-position:center}.toggle-children-placeholder[_ngcontent-%COMP%]{display:inline-block;height:10px;width:10px;position:relative;top:1px;padding-right:3px}.node-content-wrapper[_ngcontent-%COMP%]{display:inline-block;padding:2px 5px;border-radius:2px;transition:background-color .15s,box-shadow .15s}.node-wrapper[_ngcontent-%COMP%]{display:flex;align-items:flex-start}.node-content-wrapper-active[_ngcontent-%COMP%], .node-content-wrapper-active.node-content-wrapper-focused[_ngcontent-%COMP%], .node-content-wrapper.node-content-wrapper-active[_ngcontent-%COMP%]:hover{background:#beebff}.node-content-wrapper-focused[_ngcontent-%COMP%]{background:#e7f4f9}.node-content-wrapper[_ngcontent-%COMP%]:hover{background:#f7fbff}.node-content-wrapper-active[_ngcontent-%COMP%], .node-content-wrapper-focused[_ngcontent-%COMP%], .node-content-wrapper[_ngcontent-%COMP%]:hover{box-shadow:inset 0 0 1px #999}.node-content-wrapper.is-dragging-over[_ngcontent-%COMP%]{background:#dfe;box-shadow:inset 0 0 1px #999}.node-content-wrapper.is-dragging-over-disabled[_ngcontent-%COMP%]{opacity:.5}tree-viewport[_ngcontent-%COMP%]{-webkit-tap-highlight-color:transparent;height:100%;overflow:auto;display:block}.tree-children[_ngcontent-%COMP%]{overflow:hidden;padding-left:20px}.empty-tree-drop-slot[_ngcontent-%COMP%]   .node-drop-slot[_ngcontent-%COMP%]{height:20px;min-width:100px}.angular-tree-component[_ngcontent-%COMP%]{width:100%;position:relative;display:inline-block;cursor:pointer;-webkit-touch-callout:none;-moz-user-select:none;user-select:none}tree-root[_ngcontent-%COMP%]   .angular-tree-component-rtl[_ngcontent-%COMP%]{direction:rtl}tree-root[_ngcontent-%COMP%]   .angular-tree-component-rtl[_ngcontent-%COMP%]   .toggle-children-wrapper-collapsed[_ngcontent-%COMP%]   .toggle-children[_ngcontent-%COMP%]{transform:rotate(180deg)!important}tree-root[_ngcontent-%COMP%]   .angular-tree-component-rtl[_ngcontent-%COMP%]   .tree-children[_ngcontent-%COMP%]{padding-right:20px;padding-left:0}tree-node-checkbox[_ngcontent-%COMP%]{padding:1px}[_ngcontent-%COMP%]:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#2b99a8;--secondary:#ef5c55;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#777777;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:"Helvetica Neue",Helvetica,Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*[_ngcontent-%COMP%], [_ngcontent-%COMP%]::after, [_ngcontent-%COMP%]::before{box-sizing:border-box}html[_ngcontent-%COMP%]{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article[_ngcontent-%COMP%], aside[_ngcontent-%COMP%], figcaption[_ngcontent-%COMP%], figure[_ngcontent-%COMP%], footer[_ngcontent-%COMP%], header[_ngcontent-%COMP%], hgroup[_ngcontent-%COMP%], main[_ngcontent-%COMP%], nav[_ngcontent-%COMP%], section[_ngcontent-%COMP%]{display:block}body[_ngcontent-%COMP%]{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"][_ngcontent-%COMP%]:focus{outline:0!important}h1[_ngcontent-%COMP%], h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%], h4[_ngcontent-%COMP%], h5[_ngcontent-%COMP%], h6[_ngcontent-%COMP%]{margin-top:0}dl[_ngcontent-%COMP%], ol[_ngcontent-%COMP%], p[_ngcontent-%COMP%], ul[_ngcontent-%COMP%]{margin-top:0;margin-bottom:1rem}abbr[data-original-title][_ngcontent-%COMP%], abbr[title][_ngcontent-%COMP%]{text-decoration:underline;text-decoration:underline dotted;cursor:help;border-bottom:0;text-decoration-skip-ink:none}address[_ngcontent-%COMP%]{margin-bottom:1rem;font-style:normal;line-height:inherit}ol[_ngcontent-%COMP%]   ol[_ngcontent-%COMP%], ol[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%], ul[_ngcontent-%COMP%]   ol[_ngcontent-%COMP%], ul[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]{margin-bottom:0}dt[_ngcontent-%COMP%]{font-weight:700}dd[_ngcontent-%COMP%]{margin-bottom:.5rem;margin-left:0}blockquote[_ngcontent-%COMP%], figure[_ngcontent-%COMP%]{margin:0 0 1rem}b[_ngcontent-%COMP%], strong[_ngcontent-%COMP%]{font-weight:bolder}sub[_ngcontent-%COMP%], sup[_ngcontent-%COMP%]{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub[_ngcontent-%COMP%]{bottom:-.25em}sup[_ngcontent-%COMP%]{top:-.5em}a[_ngcontent-%COMP%]{color:#2b99a8;text-decoration:none;background-color:transparent}a[_ngcontent-%COMP%]:hover{color:#1b626b;text-decoration:underline}a[_ngcontent-%COMP%]:not([href]):not([tabindex]), a[_ngcontent-%COMP%]:not([href]):not([tabindex]):focus, a[_ngcontent-%COMP%]:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a[_ngcontent-%COMP%]:not([href]):not([tabindex]):focus{outline:0}code[_ngcontent-%COMP%], kbd[_ngcontent-%COMP%], pre[_ngcontent-%COMP%], samp[_ngcontent-%COMP%]{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre[_ngcontent-%COMP%]{margin-top:0;margin-bottom:1rem;overflow:auto}img[_ngcontent-%COMP%]{vertical-align:middle;border-style:none}svg[_ngcontent-%COMP%]{overflow:hidden;vertical-align:middle}table[_ngcontent-%COMP%]{border-collapse:collapse}caption[_ngcontent-%COMP%]{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th[_ngcontent-%COMP%]{text-align:inherit}label[_ngcontent-%COMP%]{display:inline-block;margin-bottom:.5rem}button[_ngcontent-%COMP%]{border-radius:0}button[_ngcontent-%COMP%]:focus{outline:dotted 1px;outline:-webkit-focus-ring-color auto 5px}button[_ngcontent-%COMP%], input[_ngcontent-%COMP%], optgroup[_ngcontent-%COMP%], select[_ngcontent-%COMP%], textarea[_ngcontent-%COMP%]{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button[_ngcontent-%COMP%], input[_ngcontent-%COMP%]{overflow:visible}button[_ngcontent-%COMP%], select[_ngcontent-%COMP%]{text-transform:none}select[_ngcontent-%COMP%]{word-wrap:normal}[type=button][_ngcontent-%COMP%], [type=reset][_ngcontent-%COMP%], [type=submit][_ngcontent-%COMP%], button[_ngcontent-%COMP%]{-webkit-appearance:button}[type=button][_ngcontent-%COMP%]:not(:disabled), [type=reset][_ngcontent-%COMP%]:not(:disabled), [type=submit][_ngcontent-%COMP%]:not(:disabled), button[_ngcontent-%COMP%]:not(:disabled){cursor:pointer}[type=button][_ngcontent-%COMP%]::-moz-focus-inner, [type=reset][_ngcontent-%COMP%]::-moz-focus-inner, [type=submit][_ngcontent-%COMP%]::-moz-focus-inner, button[_ngcontent-%COMP%]::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox][_ngcontent-%COMP%], input[type=radio][_ngcontent-%COMP%]{box-sizing:border-box;padding:0}input[type=date][_ngcontent-%COMP%], input[type=datetime-local][_ngcontent-%COMP%], input[type=month][_ngcontent-%COMP%], input[type=time][_ngcontent-%COMP%]{-webkit-appearance:listbox}textarea[_ngcontent-%COMP%]{overflow:auto;resize:vertical}fieldset[_ngcontent-%COMP%]{min-width:0;padding:0;margin:0;border:0}legend[_ngcontent-%COMP%]{display:block;width:100%;max-width:100%;padding:0;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress[_ngcontent-%COMP%]{vertical-align:baseline}[type=number][_ngcontent-%COMP%]::-webkit-inner-spin-button, [type=number][_ngcontent-%COMP%]::-webkit-outer-spin-button{height:auto}[type=search][_ngcontent-%COMP%]{outline-offset:-2px;-webkit-appearance:none}[type=search][_ngcontent-%COMP%]::-webkit-search-decoration{-webkit-appearance:none}[_ngcontent-%COMP%]::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output[_ngcontent-%COMP%]{display:inline-block}summary[_ngcontent-%COMP%]{display:list-item;cursor:pointer}template[_ngcontent-%COMP%]{display:none}[hidden][_ngcontent-%COMP%]{display:none!important}.h1[_ngcontent-%COMP%], .h2[_ngcontent-%COMP%], .h3[_ngcontent-%COMP%], .h4[_ngcontent-%COMP%], .h5[_ngcontent-%COMP%], .h6[_ngcontent-%COMP%], h1[_ngcontent-%COMP%], h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%], h4[_ngcontent-%COMP%], h5[_ngcontent-%COMP%], h6[_ngcontent-%COMP%]{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1[_ngcontent-%COMP%], h1[_ngcontent-%COMP%]{font-size:2.5rem}.h2[_ngcontent-%COMP%], h2[_ngcontent-%COMP%]{font-size:2rem}.h3[_ngcontent-%COMP%], h3[_ngcontent-%COMP%]{font-size:1.75rem}.h4[_ngcontent-%COMP%], h4[_ngcontent-%COMP%]{font-size:1.5rem}.h5[_ngcontent-%COMP%], h5[_ngcontent-%COMP%]{font-size:1.25rem}.h6[_ngcontent-%COMP%], h6[_ngcontent-%COMP%]{font-size:1rem}.lead[_ngcontent-%COMP%]{font-size:1.25rem;font-weight:300}.display-1[_ngcontent-%COMP%]{font-size:6rem;font-weight:300;line-height:1.2}.display-2[_ngcontent-%COMP%]{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3[_ngcontent-%COMP%]{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4[_ngcontent-%COMP%]{font-size:3.5rem;font-weight:300;line-height:1.2}hr[_ngcontent-%COMP%]{box-sizing:content-box;height:0;overflow:visible;margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small[_ngcontent-%COMP%], small[_ngcontent-%COMP%]{font-size:80%;font-weight:400}.mark[_ngcontent-%COMP%], mark[_ngcontent-%COMP%]{padding:.2em;background-color:#fcf8e3}.list-inline[_ngcontent-%COMP%], .list-unstyled[_ngcontent-%COMP%]{padding-left:0;list-style:none}.list-inline-item[_ngcontent-%COMP%]{display:inline-block}.list-inline-item[_ngcontent-%COMP%]:not(:last-child){margin-right:.5rem}.initialism[_ngcontent-%COMP%]{font-size:90%;text-transform:uppercase}.blockquote[_ngcontent-%COMP%]{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer[_ngcontent-%COMP%]{display:block;font-size:80%;color:#6c757d}.blockquote-footer[_ngcontent-%COMP%]::before{content:"— "}.img-fluid[_ngcontent-%COMP%]{max-width:100%;height:auto}.img-thumbnail[_ngcontent-%COMP%]{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure[_ngcontent-%COMP%]{display:inline-block}.figure-img[_ngcontent-%COMP%]{margin-bottom:.5rem;line-height:1}.figure-caption[_ngcontent-%COMP%]{font-size:90%;color:#6c757d}code[_ngcontent-%COMP%]{font-size:87.5%;color:#e83e8c;word-break:break-word}a[_ngcontent-%COMP%] > code[_ngcontent-%COMP%]{color:inherit}kbd[_ngcontent-%COMP%]{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd[_ngcontent-%COMP%]   kbd[_ngcontent-%COMP%]{padding:0;font-size:100%;font-weight:700}pre[_ngcontent-%COMP%]{display:block;font-size:87.5%;color:#212529}pre[_ngcontent-%COMP%]   code[_ngcontent-%COMP%]{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable[_ngcontent-%COMP%]{max-height:340px;overflow-y:scroll}.container[_ngcontent-%COMP%]{width:100%;margin-right:auto;margin-left:auto}@media (min-width:576px){.container[_ngcontent-%COMP%]{max-width:540px}}@media (min-width:768px){.container[_ngcontent-%COMP%]{max-width:720px}}@media (min-width:992px){.container[_ngcontent-%COMP%]{max-width:960px}}@media (min-width:1200px){.container[_ngcontent-%COMP%]{max-width:1140px}}.container-fluid[_ngcontent-%COMP%]{width:100%;margin-right:auto;margin-left:auto}.row[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap}.no-gutters[_ngcontent-%COMP%]{margin-right:0;margin-left:0}.no-gutters[_ngcontent-%COMP%] > .col[_ngcontent-%COMP%], .no-gutters[_ngcontent-%COMP%] > [class*=col-][_ngcontent-%COMP%]{padding-right:0;padding-left:0}.cd-col-form[_ngcontent-%COMP%], .cd-col-form-input[_ngcontent-%COMP%], .cd-col-form-label[_ngcontent-%COMP%], .cd-col-form-offset[_ngcontent-%COMP%], .col[_ngcontent-%COMP%], .col-1[_ngcontent-%COMP%], .col-10[_ngcontent-%COMP%], .col-11[_ngcontent-%COMP%], .col-12[_ngcontent-%COMP%], .col-2[_ngcontent-%COMP%], .col-3[_ngcontent-%COMP%], .col-4[_ngcontent-%COMP%], .col-5[_ngcontent-%COMP%], .col-6[_ngcontent-%COMP%], .col-7[_ngcontent-%COMP%], .col-8[_ngcontent-%COMP%], .col-9[_ngcontent-%COMP%], .col-auto[_ngcontent-%COMP%], .col-lg[_ngcontent-%COMP%], .col-lg-1[_ngcontent-%COMP%], .col-lg-10[_ngcontent-%COMP%], .col-lg-11[_ngcontent-%COMP%], .col-lg-12[_ngcontent-%COMP%], .col-lg-2[_ngcontent-%COMP%], .col-lg-3[_ngcontent-%COMP%], .col-lg-4[_ngcontent-%COMP%], .col-lg-5[_ngcontent-%COMP%], .col-lg-6[_ngcontent-%COMP%], .col-lg-7[_ngcontent-%COMP%], .col-lg-8[_ngcontent-%COMP%], .col-lg-9[_ngcontent-%COMP%], .col-lg-auto[_ngcontent-%COMP%], .col-md[_ngcontent-%COMP%], .col-md-1[_ngcontent-%COMP%], .col-md-10[_ngcontent-%COMP%], .col-md-11[_ngcontent-%COMP%], .col-md-12[_ngcontent-%COMP%], .col-md-2[_ngcontent-%COMP%], .col-md-3[_ngcontent-%COMP%], .col-md-4[_ngcontent-%COMP%], .col-md-5[_ngcontent-%COMP%], .col-md-6[_ngcontent-%COMP%], .col-md-7[_ngcontent-%COMP%], .col-md-8[_ngcontent-%COMP%], .col-md-9[_ngcontent-%COMP%], .col-md-auto[_ngcontent-%COMP%], .col-sm[_ngcontent-%COMP%], .col-sm-1[_ngcontent-%COMP%], .col-sm-10[_ngcontent-%COMP%], .col-sm-11[_ngcontent-%COMP%], .col-sm-12[_ngcontent-%COMP%], .col-sm-2[_ngcontent-%COMP%], .col-sm-3[_ngcontent-%COMP%], .col-sm-4[_ngcontent-%COMP%], .col-sm-5[_ngcontent-%COMP%], .col-sm-6[_ngcontent-%COMP%], .col-sm-7[_ngcontent-%COMP%], .col-sm-8[_ngcontent-%COMP%], .col-sm-9[_ngcontent-%COMP%], .col-sm-auto[_ngcontent-%COMP%], .col-xl[_ngcontent-%COMP%], .col-xl-1[_ngcontent-%COMP%], .col-xl-10[_ngcontent-%COMP%], .col-xl-11[_ngcontent-%COMP%], .col-xl-12[_ngcontent-%COMP%], .col-xl-2[_ngcontent-%COMP%], .col-xl-3[_ngcontent-%COMP%], .col-xl-4[_ngcontent-%COMP%], .col-xl-5[_ngcontent-%COMP%], .col-xl-6[_ngcontent-%COMP%], .col-xl-7[_ngcontent-%COMP%], .col-xl-8[_ngcontent-%COMP%], .col-xl-9[_ngcontent-%COMP%], .col-xl-auto[_ngcontent-%COMP%],   cd-info-card,   cd-info-card.cd-capacity-card,   cd-info-card.cd-performance-card,   cd-info-card.cd-status-card, cd-modal[_ngcontent-%COMP%]   .cd-col-form-input[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-label[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-offset[_ngcontent-%COMP%]{position:relative;width:100%;padding-right:15px;padding-left:15px}.col[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;max-width:100%}.col-auto[_ngcontent-%COMP%]{flex:0 0 auto;width:auto;max-width:100%}.col-1[_ngcontent-%COMP%]{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-2[_ngcontent-%COMP%]{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-3[_ngcontent-%COMP%]{flex:0 0 25%;max-width:25%}.col-4[_ngcontent-%COMP%]{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-5[_ngcontent-%COMP%]{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-6[_ngcontent-%COMP%]{flex:0 0 50%;max-width:50%}.col-7[_ngcontent-%COMP%]{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-8[_ngcontent-%COMP%]{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-9[_ngcontent-%COMP%]{flex:0 0 75%;max-width:75%}.col-10[_ngcontent-%COMP%]{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-11[_ngcontent-%COMP%]{flex:0 0 91.6666666667%;max-width:91.6666666667%}.cd-col-form[_ngcontent-%COMP%], .col-12[_ngcontent-%COMP%],   cd-info-card{flex:0 0 100%;max-width:100%}.order-first[_ngcontent-%COMP%]{order:-1}.order-last[_ngcontent-%COMP%]{order:13}.order-0[_ngcontent-%COMP%]{order:0}.order-1[_ngcontent-%COMP%]{order:1}.order-2[_ngcontent-%COMP%]{order:2}.order-3[_ngcontent-%COMP%]{order:3}.order-4[_ngcontent-%COMP%]{order:4}.order-5[_ngcontent-%COMP%]{order:5}.order-6[_ngcontent-%COMP%]{order:6}.order-7[_ngcontent-%COMP%]{order:7}.order-8[_ngcontent-%COMP%]{order:8}.order-9[_ngcontent-%COMP%]{order:9}.order-10[_ngcontent-%COMP%]{order:10}.order-11[_ngcontent-%COMP%]{order:11}.order-12[_ngcontent-%COMP%]{order:12}.offset-1[_ngcontent-%COMP%]{margin-left:8.3333333333%}.offset-2[_ngcontent-%COMP%]{margin-left:16.6666666667%}.offset-3[_ngcontent-%COMP%]{margin-left:25%}.offset-4[_ngcontent-%COMP%]{margin-left:33.3333333333%}.offset-5[_ngcontent-%COMP%]{margin-left:41.6666666667%}.offset-6[_ngcontent-%COMP%]{margin-left:50%}.offset-7[_ngcontent-%COMP%]{margin-left:58.3333333333%}.offset-8[_ngcontent-%COMP%]{margin-left:66.6666666667%}.offset-9[_ngcontent-%COMP%]{margin-left:75%}.offset-10[_ngcontent-%COMP%]{margin-left:83.3333333333%}.offset-11[_ngcontent-%COMP%]{margin-left:91.6666666667%}@media (min-width:576px){.col-sm[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;max-width:100%}.col-sm-auto[_ngcontent-%COMP%]{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1[_ngcontent-%COMP%]{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-sm-2[_ngcontent-%COMP%]{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-3[_ngcontent-%COMP%]{flex:0 0 25%;max-width:25%}.cd-col-form-label[_ngcontent-%COMP%], .col-sm-4[_ngcontent-%COMP%]{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-sm-5[_ngcontent-%COMP%]{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-sm-6[_ngcontent-%COMP%]{flex:0 0 50%;max-width:50%}.col-sm-7[_ngcontent-%COMP%]{flex:0 0 58.3333333333%;max-width:58.3333333333%}.cd-col-form-input[_ngcontent-%COMP%], .cd-col-form-offset[_ngcontent-%COMP%], .col-sm-8[_ngcontent-%COMP%]{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-sm-9[_ngcontent-%COMP%]{flex:0 0 75%;max-width:75%}.col-sm-10[_ngcontent-%COMP%]{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-sm-11[_ngcontent-%COMP%]{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-sm-12[_ngcontent-%COMP%],   cd-info-card{flex:0 0 100%;max-width:100%}.order-sm-first[_ngcontent-%COMP%]{order:-1}.order-sm-last[_ngcontent-%COMP%]{order:13}.order-sm-0[_ngcontent-%COMP%]{order:0}.order-sm-1[_ngcontent-%COMP%]{order:1}.order-sm-2[_ngcontent-%COMP%]{order:2}.order-sm-3[_ngcontent-%COMP%]{order:3}.order-sm-4[_ngcontent-%COMP%]{order:4}.order-sm-5[_ngcontent-%COMP%]{order:5}.order-sm-6[_ngcontent-%COMP%]{order:6}.order-sm-7[_ngcontent-%COMP%]{order:7}.order-sm-8[_ngcontent-%COMP%]{order:8}.order-sm-9[_ngcontent-%COMP%]{order:9}.order-sm-10[_ngcontent-%COMP%]{order:10}.order-sm-11[_ngcontent-%COMP%]{order:11}.order-sm-12[_ngcontent-%COMP%]{order:12}.offset-sm-0[_ngcontent-%COMP%]{margin-left:0}.offset-sm-1[_ngcontent-%COMP%]{margin-left:8.3333333333%}.offset-sm-2[_ngcontent-%COMP%]{margin-left:16.6666666667%}.offset-sm-3[_ngcontent-%COMP%]{margin-left:25%}.cd-col-form-offset[_ngcontent-%COMP%], .offset-sm-4[_ngcontent-%COMP%]{margin-left:33.3333333333%}.offset-sm-5[_ngcontent-%COMP%]{margin-left:41.6666666667%}.offset-sm-6[_ngcontent-%COMP%]{margin-left:50%}.offset-sm-7[_ngcontent-%COMP%]{margin-left:58.3333333333%}.offset-sm-8[_ngcontent-%COMP%]{margin-left:66.6666666667%}.offset-sm-9[_ngcontent-%COMP%]{margin-left:75%}.offset-sm-10[_ngcontent-%COMP%]{margin-left:83.3333333333%}.offset-sm-11[_ngcontent-%COMP%]{margin-left:91.6666666667%}}@media (min-width:768px){.col-md[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;max-width:100%}.col-md-auto[_ngcontent-%COMP%]{flex:0 0 auto;width:auto;max-width:100%}.col-md-1[_ngcontent-%COMP%]{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-md-2[_ngcontent-%COMP%]{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-3[_ngcontent-%COMP%]{flex:0 0 25%;max-width:25%}.cd-col-form-label[_ngcontent-%COMP%], .col-md-4[_ngcontent-%COMP%]{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-md-5[_ngcontent-%COMP%]{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-md-6[_ngcontent-%COMP%],   cd-info-card{flex:0 0 50%;max-width:50%}.col-md-7[_ngcontent-%COMP%]{flex:0 0 58.3333333333%;max-width:58.3333333333%}.cd-col-form-input[_ngcontent-%COMP%], .cd-col-form-offset[_ngcontent-%COMP%], .col-md-8[_ngcontent-%COMP%]{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-md-9[_ngcontent-%COMP%]{flex:0 0 75%;max-width:75%}.col-md-10[_ngcontent-%COMP%]{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-md-11[_ngcontent-%COMP%]{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-md-12[_ngcontent-%COMP%]{flex:0 0 100%;max-width:100%}.order-md-first[_ngcontent-%COMP%]{order:-1}.order-md-last[_ngcontent-%COMP%]{order:13}.order-md-0[_ngcontent-%COMP%]{order:0}.order-md-1[_ngcontent-%COMP%]{order:1}.order-md-2[_ngcontent-%COMP%]{order:2}.order-md-3[_ngcontent-%COMP%]{order:3}.order-md-4[_ngcontent-%COMP%]{order:4}.order-md-5[_ngcontent-%COMP%]{order:5}.order-md-6[_ngcontent-%COMP%]{order:6}.order-md-7[_ngcontent-%COMP%]{order:7}.order-md-8[_ngcontent-%COMP%]{order:8}.order-md-9[_ngcontent-%COMP%]{order:9}.order-md-10[_ngcontent-%COMP%]{order:10}.order-md-11[_ngcontent-%COMP%]{order:11}.order-md-12[_ngcontent-%COMP%]{order:12}.offset-md-0[_ngcontent-%COMP%]{margin-left:0}.offset-md-1[_ngcontent-%COMP%]{margin-left:8.3333333333%}.offset-md-2[_ngcontent-%COMP%]{margin-left:16.6666666667%}.offset-md-3[_ngcontent-%COMP%]{margin-left:25%}.offset-md-4[_ngcontent-%COMP%]{margin-left:33.3333333333%}.offset-md-5[_ngcontent-%COMP%]{margin-left:41.6666666667%}.offset-md-6[_ngcontent-%COMP%]{margin-left:50%}.offset-md-7[_ngcontent-%COMP%]{margin-left:58.3333333333%}.offset-md-8[_ngcontent-%COMP%]{margin-left:66.6666666667%}.offset-md-9[_ngcontent-%COMP%]{margin-left:75%}.offset-md-10[_ngcontent-%COMP%]{margin-left:83.3333333333%}.offset-md-11[_ngcontent-%COMP%]{margin-left:91.6666666667%}}@media (min-width:992px){.col-lg[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;max-width:100%}.col-lg-auto[_ngcontent-%COMP%]{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1[_ngcontent-%COMP%]{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-lg-2[_ngcontent-%COMP%]{flex:0 0 16.6666666667%;max-width:16.6666666667%}.cd-col-form-label[_ngcontent-%COMP%], .col-lg-3[_ngcontent-%COMP%]{flex:0 0 25%;max-width:25%}.col-lg-4[_ngcontent-%COMP%],   cd-info-card, cd-modal[_ngcontent-%COMP%]   .cd-col-form-label[_ngcontent-%COMP%]{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-lg-5[_ngcontent-%COMP%]{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-lg-6[_ngcontent-%COMP%]{flex:0 0 50%;max-width:50%}.col-lg-7[_ngcontent-%COMP%]{flex:0 0 58.3333333333%;max-width:58.3333333333%}.cd-col-form[_ngcontent-%COMP%], .col-lg-8[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-input[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-offset[_ngcontent-%COMP%]{flex:0 0 66.6666666667%;max-width:66.6666666667%}.cd-col-form-input[_ngcontent-%COMP%], .cd-col-form-offset[_ngcontent-%COMP%], .col-lg-9[_ngcontent-%COMP%]{flex:0 0 75%;max-width:75%}.col-lg-10[_ngcontent-%COMP%]{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-lg-11[_ngcontent-%COMP%]{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-lg-12[_ngcontent-%COMP%]{flex:0 0 100%;max-width:100%}.order-lg-first[_ngcontent-%COMP%]{order:-1}.order-lg-last[_ngcontent-%COMP%]{order:13}.order-lg-0[_ngcontent-%COMP%]{order:0}.order-lg-1[_ngcontent-%COMP%]{order:1}.order-lg-2[_ngcontent-%COMP%]{order:2}.order-lg-3[_ngcontent-%COMP%]{order:3}.order-lg-4[_ngcontent-%COMP%]{order:4}.order-lg-5[_ngcontent-%COMP%]{order:5}.order-lg-6[_ngcontent-%COMP%]{order:6}.order-lg-7[_ngcontent-%COMP%]{order:7}.order-lg-8[_ngcontent-%COMP%]{order:8}.order-lg-9[_ngcontent-%COMP%]{order:9}.order-lg-10[_ngcontent-%COMP%]{order:10}.order-lg-11[_ngcontent-%COMP%]{order:11}.order-lg-12[_ngcontent-%COMP%]{order:12}.offset-lg-0[_ngcontent-%COMP%]{margin-left:0}.offset-lg-1[_ngcontent-%COMP%]{margin-left:8.3333333333%}.offset-lg-2[_ngcontent-%COMP%]{margin-left:16.6666666667%}.cd-col-form-offset[_ngcontent-%COMP%], .offset-lg-3[_ngcontent-%COMP%]{margin-left:25%}.offset-lg-4[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-offset[_ngcontent-%COMP%]{margin-left:33.3333333333%}.offset-lg-5[_ngcontent-%COMP%]{margin-left:41.6666666667%}.offset-lg-6[_ngcontent-%COMP%]{margin-left:50%}.offset-lg-7[_ngcontent-%COMP%]{margin-left:58.3333333333%}.offset-lg-8[_ngcontent-%COMP%]{margin-left:66.6666666667%}.offset-lg-9[_ngcontent-%COMP%]{margin-left:75%}.offset-lg-10[_ngcontent-%COMP%]{margin-left:83.3333333333%}.offset-lg-11[_ngcontent-%COMP%]{margin-left:91.6666666667%}}@media (min-width:1200px){.col-xl[_ngcontent-%COMP%],   cd-info-card.cd-capacity-card,   cd-info-card.cd-performance-card{flex-basis:0;flex-grow:1;max-width:100%}.col-xl-auto[_ngcontent-%COMP%]{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1[_ngcontent-%COMP%]{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-xl-2[_ngcontent-%COMP%]{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xl-3[_ngcontent-%COMP%],   cd-info-card.cd-status-card{flex:0 0 25%;max-width:25%}.col-xl-4[_ngcontent-%COMP%]{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-xl-5[_ngcontent-%COMP%]{flex:0 0 41.6666666667%;max-width:41.6666666667%}.cd-col-form[_ngcontent-%COMP%], .col-xl-6[_ngcontent-%COMP%]{flex:0 0 50%;max-width:50%}.col-xl-7[_ngcontent-%COMP%]{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-xl-8[_ngcontent-%COMP%]{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-xl-9[_ngcontent-%COMP%]{flex:0 0 75%;max-width:75%}.col-xl-10[_ngcontent-%COMP%]{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-xl-11[_ngcontent-%COMP%]{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-xl-12[_ngcontent-%COMP%]{flex:0 0 100%;max-width:100%}.order-xl-first[_ngcontent-%COMP%]{order:-1}.order-xl-last[_ngcontent-%COMP%]{order:13}.order-xl-0[_ngcontent-%COMP%]{order:0}.order-xl-1[_ngcontent-%COMP%]{order:1}.order-xl-2[_ngcontent-%COMP%]{order:2}.order-xl-3[_ngcontent-%COMP%]{order:3}.order-xl-4[_ngcontent-%COMP%]{order:4}.order-xl-5[_ngcontent-%COMP%]{order:5}.order-xl-6[_ngcontent-%COMP%]{order:6}.order-xl-7[_ngcontent-%COMP%]{order:7}.order-xl-8[_ngcontent-%COMP%]{order:8}.order-xl-9[_ngcontent-%COMP%]{order:9}.order-xl-10[_ngcontent-%COMP%]{order:10}.order-xl-11[_ngcontent-%COMP%]{order:11}.order-xl-12[_ngcontent-%COMP%]{order:12}.offset-xl-0[_ngcontent-%COMP%]{margin-left:0}.offset-xl-1[_ngcontent-%COMP%]{margin-left:8.3333333333%}.offset-xl-2[_ngcontent-%COMP%]{margin-left:16.6666666667%}.offset-xl-3[_ngcontent-%COMP%]{margin-left:25%}.offset-xl-4[_ngcontent-%COMP%]{margin-left:33.3333333333%}.offset-xl-5[_ngcontent-%COMP%]{margin-left:41.6666666667%}.offset-xl-6[_ngcontent-%COMP%]{margin-left:50%}.offset-xl-7[_ngcontent-%COMP%]{margin-left:58.3333333333%}.offset-xl-8[_ngcontent-%COMP%]{margin-left:66.6666666667%}.offset-xl-9[_ngcontent-%COMP%]{margin-left:75%}.offset-xl-10[_ngcontent-%COMP%]{margin-left:83.3333333333%}.offset-xl-11[_ngcontent-%COMP%]{margin-left:91.6666666667%}}.table[_ngcontent-%COMP%]{width:100%;margin-bottom:1rem;color:#212529}.table[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%]{border-top:2px solid #dee2e6}.table-sm[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-sm[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{padding:.3rem}.table-bordered[_ngcontent-%COMP%], .table-bordered[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-bordered[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border:1px solid #dee2e6}.table-bordered[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-bordered[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-bottom-width:2px}.table-borderless[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-borderless[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-borderless[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-borderless[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border:0}.table-striped[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary[_ngcontent-%COMP%], .table-primary[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-primary[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#c4e2e7}.table-primary[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-primary[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-primary[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-primary[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#91cad2}.table-hover[_ngcontent-%COMP%]   .table-primary[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-primary[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-primary[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#b2d9e0}.table-secondary[_ngcontent-%COMP%], .table-secondary[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-secondary[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#fbd1cf}.table-secondary[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-secondary[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-secondary[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-secondary[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#f7aaa7}.table-hover[_ngcontent-%COMP%]   .table-secondary[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-secondary[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-secondary[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#f9bab7}.table-success[_ngcontent-%COMP%], .table-success[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-success[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#c3e6cb}.table-success[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-success[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-success[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-success[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#8fd19e}.table-hover[_ngcontent-%COMP%]   .table-success[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-success[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-success[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#b1dfbb}.table-info[_ngcontent-%COMP%], .table-info[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-info[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#bee5eb}.table-info[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-info[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-info[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-info[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#86cfda}.table-hover[_ngcontent-%COMP%]   .table-info[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-info[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-info[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#abdde5}.table-warning[_ngcontent-%COMP%], .table-warning[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-warning[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#ffeeba}.table-warning[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-warning[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-warning[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-warning[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#ffdf7e}.table-hover[_ngcontent-%COMP%]   .table-warning[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-warning[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-warning[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#ffe8a1}.table-danger[_ngcontent-%COMP%], .table-danger[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-danger[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#f5c6cb}.table-danger[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-danger[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-danger[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-danger[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#ed969e}.table-hover[_ngcontent-%COMP%]   .table-danger[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-danger[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-danger[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#f1b0b7}.table-light[_ngcontent-%COMP%], .table-light[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-light[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#fdfdfe}.table-light[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-light[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-light[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-light[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#fbfcfc}.table-hover[_ngcontent-%COMP%]   .table-light[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-light[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-light[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#ececf6}.table-dark[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#d9d9d9}.table-dark[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#b8b8b8}.table-hover[_ngcontent-%COMP%]   .table-dark[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-dark[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-dark[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#ccc}.table-active[_ngcontent-%COMP%], .table-active[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-active[_ngcontent-%COMP%] > th[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-active[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-active[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-active[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:rgba(0,0,0,.075)}.table[_ngcontent-%COMP%]   .thead-dark[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{color:#fff;background-color:#343a40;border-color:#454d55}.table[_ngcontent-%COMP%]   .thead-light[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark[_ngcontent-%COMP%]{color:#fff;background-color:#343a40}.table-dark[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#454d55}.table-dark.table-bordered[_ngcontent-%COMP%]{border:0}.table-dark.table-striped[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm[_ngcontent-%COMP%]{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm[_ngcontent-%COMP%] > .table-bordered[_ngcontent-%COMP%]{border:0}}@media (max-width:767.98px){.table-responsive-md[_ngcontent-%COMP%]{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md[_ngcontent-%COMP%] > .table-bordered[_ngcontent-%COMP%]{border:0}}@media (max-width:991.98px){.table-responsive-lg[_ngcontent-%COMP%]{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg[_ngcontent-%COMP%] > .table-bordered[_ngcontent-%COMP%]{border:0}}@media (max-width:1199.98px){.table-responsive-xl[_ngcontent-%COMP%]{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl[_ngcontent-%COMP%] > .table-bordered[_ngcontent-%COMP%]{border:0}}.table-responsive[_ngcontent-%COMP%]{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive[_ngcontent-%COMP%] > .table-bordered[_ngcontent-%COMP%]{border:0}.cd-form-control[_ngcontent-%COMP%], .form-control[_ngcontent-%COMP%]{width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.cd-form-control[_ngcontent-%COMP%], .form-control[_ngcontent-%COMP%]{transition:none}}.cd-form-control[_ngcontent-%COMP%]::-ms-expand, .form-control[_ngcontent-%COMP%]::-ms-expand{background-color:transparent;border:0}.cd-form-control[_ngcontent-%COMP%]:focus, .form-control[_ngcontent-%COMP%]:focus{color:#495057;background-color:#fff;box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.cd-form-control[_ngcontent-%COMP%]::placeholder, .form-control[_ngcontent-%COMP%]::placeholder{color:#6c757d;opacity:1}.cd-form-control[_ngcontent-%COMP%]:disabled, .form-control[_ngcontent-%COMP%]:disabled, .form-control[readonly][_ngcontent-%COMP%], [readonly].cd-form-control[_ngcontent-%COMP%]{background-color:#e9ecef;opacity:1}select.cd-form-control[_ngcontent-%COMP%]:focus::-ms-value, select.form-control[_ngcontent-%COMP%]:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file[_ngcontent-%COMP%], .form-control-range[_ngcontent-%COMP%]{display:block;width:100%}.cd-col-form-label[_ngcontent-%COMP%], .col-form-label[_ngcontent-%COMP%]{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg[_ngcontent-%COMP%]{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm[_ngcontent-%COMP%]{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext[_ngcontent-%COMP%]{display:block;width:100%;padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg[_ngcontent-%COMP%], .form-control-plaintext.form-control-sm[_ngcontent-%COMP%]{padding-right:0;padding-left:0}.form-control-sm[_ngcontent-%COMP%]{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg[_ngcontent-%COMP%]{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple][_ngcontent-%COMP%], select.form-control[size][_ngcontent-%COMP%], select[multiple].cd-form-control[_ngcontent-%COMP%], select[size].cd-form-control[_ngcontent-%COMP%], textarea.cd-form-control[_ngcontent-%COMP%], textarea.form-control[_ngcontent-%COMP%]{height:auto}.form-group[_ngcontent-%COMP%]{margin-bottom:1rem}.form-text[_ngcontent-%COMP%]{display:block;margin-top:.25rem}.form-row[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row[_ngcontent-%COMP%] > .col[_ngcontent-%COMP%], .form-row[_ngcontent-%COMP%] > [class*=col-][_ngcontent-%COMP%]{padding-right:5px;padding-left:5px}.form-check[_ngcontent-%COMP%]{position:relative;display:block;padding-left:1.25rem}.form-check-input[_ngcontent-%COMP%]{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input[_ngcontent-%COMP%]:disabled ~ .form-check-label[_ngcontent-%COMP%]{color:#6c757d}.form-check-label[_ngcontent-%COMP%]{margin-bottom:0}.form-check-inline[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback[_ngcontent-%COMP%]{display:none;width:100%;margin-top:.25rem;font-size:100%;color:#28a745}.valid-tooltip[_ngcontent-%COMP%]{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.form-control.is-valid[_ngcontent-%COMP%], .is-valid.cd-form-control[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:valid, .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:valid{border-color:#28a745;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=\'%2328a745\' d=\'M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z\'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:center right calc(.375em + .1875rem);background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid[_ngcontent-%COMP%]:focus, .is-valid.cd-form-control[_ngcontent-%COMP%]:focus, .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:valid:focus, .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-control.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .form-control.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .is-valid.cd-form-control[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .is-valid.cd-form-control[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%]{display:block}.was-validated[_ngcontent-%COMP%]   textarea.cd-form-control[_ngcontent-%COMP%]:valid, .was-validated[_ngcontent-%COMP%]   textarea.form-control[_ngcontent-%COMP%]:valid, textarea.form-control.is-valid[_ngcontent-%COMP%], textarea.is-valid.cd-form-control[_ngcontent-%COMP%]{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:valid{border-color:#28a745;padding-right:calc((1em + .75rem) * 3 / 4 + 1.75rem);background:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 4 5\'%3e%3cpath fill=\'%23343a40\' d=\'M2 0L0 2h4zm0 5L0 3h4z\'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat,url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 8 8\'%3e%3cpath fill=\'%2328a745\' d=\'M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z\'/%3e%3c/svg%3e") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat #fff}.custom-select.is-valid[_ngcontent-%COMP%]:focus, .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-select.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .custom-select.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%]{display:block}.form-control-file.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .form-control-file.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control-file[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control-file[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%]{display:block}.form-check-input.is-valid[_ngcontent-%COMP%] ~ .form-check-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]:valid ~ .form-check-label[_ngcontent-%COMP%]{color:#28a745}.form-check-input.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .form-check-input.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%]{display:block}.custom-control-input.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .custom-control-input.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%]{display:block}.custom-control-input.is-valid[_ngcontent-%COMP%]:focus ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid:focus ~ .custom-control-label[_ngcontent-%COMP%]::before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-file-input.is-valid[_ngcontent-%COMP%] ~ .custom-file-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:valid ~ .custom-file-label[_ngcontent-%COMP%]{border-color:#28a745}.custom-file-input.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .custom-file-input.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%]{display:block}.custom-file-input.is-valid[_ngcontent-%COMP%]:focus ~ .custom-file-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:valid:focus ~ .custom-file-label[_ngcontent-%COMP%]{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback[_ngcontent-%COMP%]{display:none;width:100%;margin-top:.25rem;font-size:100%;color:#dc3545}.invalid-tooltip[_ngcontent-%COMP%]{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.form-control.is-invalid[_ngcontent-%COMP%], .is-invalid.cd-form-control[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:invalid, .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]: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\' fill=\'%23dc3545\' viewBox=\'-2 -2 7 7\'%3e%3cpath stroke=\'%23dc3545\' d=\'M0 0l3 3m0-3L0 3\'/%3e%3ccircle r=\'.5\'/%3e%3ccircle cx=\'3\' r=\'.5\'/%3e%3ccircle cy=\'3\' r=\'.5\'/%3e%3ccircle cx=\'3\' cy=\'3\' r=\'.5\'/%3e%3c/svg%3E");background-repeat:no-repeat;background-position:center right calc(.375em + .1875rem);background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid[_ngcontent-%COMP%]:focus, .is-invalid.cd-form-control[_ngcontent-%COMP%]:focus, .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:invalid:focus, .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-control.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .form-control.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .is-invalid.cd-form-control[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .is-invalid.cd-form-control[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%]{display:block}.was-validated[_ngcontent-%COMP%]   textarea.cd-form-control[_ngcontent-%COMP%]:invalid, .was-validated[_ngcontent-%COMP%]   textarea.form-control[_ngcontent-%COMP%]:invalid, textarea.form-control.is-invalid[_ngcontent-%COMP%], textarea.is-invalid.cd-form-control[_ngcontent-%COMP%]{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:invalid{border-color:#dc3545;padding-right:calc((1em + .75rem) * 3 / 4 + 1.75rem);background:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 4 5\'%3e%3cpath fill=\'%23343a40\' d=\'M2 0L0 2h4zm0 5L0 3h4z\'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat,url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' fill=\'%23dc3545\' viewBox=\'-2 -2 7 7\'%3e%3cpath stroke=\'%23dc3545\' d=\'M0 0l3 3m0-3L0 3\'/%3e%3ccircle r=\'.5\'/%3e%3ccircle cx=\'3\' r=\'.5\'/%3e%3ccircle cy=\'3\' r=\'.5\'/%3e%3ccircle cx=\'3\' cy=\'3\' r=\'.5\'/%3e%3c/svg%3E") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat #fff}.custom-select.is-invalid[_ngcontent-%COMP%]:focus, .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-select.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .custom-select.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%]{display:block}.form-control-file.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .form-control-file.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control-file[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control-file[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%]{display:block}.form-check-input.is-invalid[_ngcontent-%COMP%] ~ .form-check-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]:invalid ~ .form-check-label[_ngcontent-%COMP%]{color:#dc3545}.form-check-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .form-check-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%]{display:block}.custom-control-input.is-invalid[_ngcontent-%COMP%] ~ .custom-control-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid ~ .custom-control-label[_ngcontent-%COMP%]{color:#dc3545}.custom-control-input.is-invalid[_ngcontent-%COMP%] ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#dc3545}.custom-control-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .custom-control-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%]{display:block}.custom-control-input.is-invalid[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid:checked ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#e4606d;background-color:#e4606d}.custom-control-input.is-invalid[_ngcontent-%COMP%]:focus ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid:focus ~ .custom-control-label[_ngcontent-%COMP%]::before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid[_ngcontent-%COMP%]:focus:not(:checked) ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid:focus:not(:checked) ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#dc3545}.custom-file-input.is-invalid[_ngcontent-%COMP%] ~ .custom-file-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:invalid ~ .custom-file-label[_ngcontent-%COMP%]{border-color:#dc3545}.custom-file-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .custom-file-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%]{display:block}.custom-file-input.is-invalid[_ngcontent-%COMP%]:focus ~ .custom-file-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:invalid:focus ~ .custom-file-label[_ngcontent-%COMP%]{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline[_ngcontent-%COMP%]{display:flex;flex-flow:row wrap;align-items:center}.form-inline[_ngcontent-%COMP%]   .form-check[_ngcontent-%COMP%]{width:100%}@media (min-width:576px){.form-inline[_ngcontent-%COMP%]   label[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;margin-bottom:0}.form-inline[_ngcontent-%COMP%]   .form-group[_ngcontent-%COMP%]{display:flex;flex:0 0 auto;flex-flow:row wrap;align-items:center;margin-bottom:0}.form-inline[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%], .form-inline[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]{display:inline-block;width:auto;vertical-align:middle}.form-inline[_ngcontent-%COMP%]   .form-control-plaintext[_ngcontent-%COMP%]{display:inline-block}.form-inline[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%], .form-inline[_ngcontent-%COMP%]   .input-group[_ngcontent-%COMP%]{width:auto}.form-inline[_ngcontent-%COMP%]   .form-check[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;width:auto;padding-left:0}.form-inline[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]{position:relative;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline[_ngcontent-%COMP%]   .custom-control[_ngcontent-%COMP%]{align-items:center;justify-content:center}.form-inline[_ngcontent-%COMP%]   .custom-control-label[_ngcontent-%COMP%]{margin-bottom:0}}.btn[_ngcontent-%COMP%]{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;-moz-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;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[_ngcontent-%COMP%]{transition:none}}.btn[_ngcontent-%COMP%]:hover{color:#212529;text-decoration:none}.btn.focus[_ngcontent-%COMP%], .btn[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.btn.disabled[_ngcontent-%COMP%], .btn[_ngcontent-%COMP%]:disabled{opacity:.65}a.btn.disabled[_ngcontent-%COMP%], fieldset[_ngcontent-%COMP%]:disabled   a.btn[_ngcontent-%COMP%]{pointer-events:none}.btn-primary[_ngcontent-%COMP%]{color:#fff;background-color:#2b99a8;border-color:#2b99a8}.btn-primary[_ngcontent-%COMP%]:hover{color:#fff;background-color:#237d8a;border-color:#21747f}.btn-primary.focus[_ngcontent-%COMP%], .btn-primary[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(75,168,181,.5)}.btn-primary.disabled[_ngcontent-%COMP%], .btn-primary[_ngcontent-%COMP%]:disabled{color:#fff;background-color:#2b99a8;border-color:#2b99a8}.btn-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-primary.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#21747f;border-color:#1e6b75}.btn-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-primary.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(75,168,181,.5)}.btn-secondary[_ngcontent-%COMP%]{color:#fff;background-color:#ef5c55;border-color:#ef5c55}.btn-secondary[_ngcontent-%COMP%]:hover{color:#fff;background-color:#ec3a32;border-color:#eb2f26}.btn-secondary.focus[_ngcontent-%COMP%], .btn-secondary[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(241,116,111,.5)}.btn-secondary.disabled[_ngcontent-%COMP%], .btn-secondary[_ngcontent-%COMP%]:disabled{color:#fff;background-color:#ef5c55;border-color:#ef5c55}.btn-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-secondary.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#eb2f26;border-color:#ea241b}.btn-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-secondary.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(241,116,111,.5)}.btn-success[_ngcontent-%COMP%]{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success[_ngcontent-%COMP%]:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus[_ngcontent-%COMP%], .btn-success[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled[_ngcontent-%COMP%], .btn-success[_ngcontent-%COMP%]:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-success.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-success.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-info[_ngcontent-%COMP%]{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info[_ngcontent-%COMP%]:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus[_ngcontent-%COMP%], .btn-info[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled[_ngcontent-%COMP%], .btn-info[_ngcontent-%COMP%]:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-info.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-info.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-warning[_ngcontent-%COMP%]{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning[_ngcontent-%COMP%]:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus[_ngcontent-%COMP%], .btn-warning[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled[_ngcontent-%COMP%], .btn-warning[_ngcontent-%COMP%]:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-warning.dropdown-toggle[_ngcontent-%COMP%]{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-warning.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-danger[_ngcontent-%COMP%]{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger[_ngcontent-%COMP%]:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus[_ngcontent-%COMP%], .btn-danger[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled[_ngcontent-%COMP%], .btn-danger[_ngcontent-%COMP%]:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-danger.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-danger.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-light[_ngcontent-%COMP%]{color:#212529}.btn-light[_ngcontent-%COMP%]:hover{color:#212529}.btn-light.focus[_ngcontent-%COMP%], .btn-light[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled[_ngcontent-%COMP%], .btn-light[_ngcontent-%COMP%]:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-light.dropdown-toggle[_ngcontent-%COMP%]{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-light.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-dark[_ngcontent-%COMP%]{color:#fff;background-color:#777;border-color:#777}.btn-dark[_ngcontent-%COMP%]:hover{color:#fff;background-color:#646464;border-color:#5e5e5e}.btn-dark.focus[_ngcontent-%COMP%], .btn-dark[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(139,139,139,.5)}.btn-dark.disabled[_ngcontent-%COMP%], .btn-dark[_ngcontent-%COMP%]:disabled{color:#fff;background-color:#777;border-color:#777}.btn-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-dark.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#5e5e5e;border-color:#575757}.btn-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-dark.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(139,139,139,.5)}.btn-outline-primary[_ngcontent-%COMP%]{color:#2b99a8;border-color:#2b99a8}.btn-outline-primary[_ngcontent-%COMP%]:hover{color:#fff;background-color:#2b99a8;border-color:#2b99a8}.btn-outline-primary.focus[_ngcontent-%COMP%], .btn-outline-primary[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(43,153,168,.5)}.btn-outline-primary.disabled[_ngcontent-%COMP%], .btn-outline-primary[_ngcontent-%COMP%]:disabled{color:#2b99a8;background-color:transparent}.btn-outline-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-primary.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#2b99a8;border-color:#2b99a8}.btn-outline-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-primary.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(43,153,168,.5)}.btn-outline-secondary[_ngcontent-%COMP%]{color:#ef5c55;border-color:#ef5c55}.btn-outline-secondary[_ngcontent-%COMP%]:hover{color:#fff;background-color:#ef5c55;border-color:#ef5c55}.btn-outline-secondary.focus[_ngcontent-%COMP%], .btn-outline-secondary[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(239,92,85,.5)}.btn-outline-secondary.disabled[_ngcontent-%COMP%], .btn-outline-secondary[_ngcontent-%COMP%]:disabled{color:#ef5c55;background-color:transparent}.btn-outline-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-secondary.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#ef5c55;border-color:#ef5c55}.btn-outline-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-secondary.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(239,92,85,.5)}.btn-outline-success[_ngcontent-%COMP%]{color:#28a745;border-color:#28a745}.btn-outline-success[_ngcontent-%COMP%]:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus[_ngcontent-%COMP%], .btn-outline-success[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled[_ngcontent-%COMP%], .btn-outline-success[_ngcontent-%COMP%]:disabled{color:#28a745;background-color:transparent}.btn-outline-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-success.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-success.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info[_ngcontent-%COMP%]{color:#17a2b8;border-color:#17a2b8}.btn-outline-info[_ngcontent-%COMP%]:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus[_ngcontent-%COMP%], .btn-outline-info[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled[_ngcontent-%COMP%], .btn-outline-info[_ngcontent-%COMP%]:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-info.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-info.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning[_ngcontent-%COMP%]{color:#ffc107;border-color:#ffc107}.btn-outline-warning[_ngcontent-%COMP%]:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus[_ngcontent-%COMP%], .btn-outline-warning[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled[_ngcontent-%COMP%], .btn-outline-warning[_ngcontent-%COMP%]:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-warning.dropdown-toggle[_ngcontent-%COMP%]{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-warning.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger[_ngcontent-%COMP%]{color:#dc3545;border-color:#dc3545}.btn-outline-danger[_ngcontent-%COMP%]:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus[_ngcontent-%COMP%], .btn-outline-danger[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled[_ngcontent-%COMP%], .btn-outline-danger[_ngcontent-%COMP%]:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-danger.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-danger.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light[_ngcontent-%COMP%]{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light[_ngcontent-%COMP%]:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus[_ngcontent-%COMP%], .btn-outline-light[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled[_ngcontent-%COMP%], .btn-outline-light[_ngcontent-%COMP%]:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-light.dropdown-toggle[_ngcontent-%COMP%]{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-light.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark[_ngcontent-%COMP%]{color:#777;border-color:#777}.btn-outline-dark[_ngcontent-%COMP%]:hover{color:#fff;background-color:#777;border-color:#777}.btn-outline-dark.focus[_ngcontent-%COMP%], .btn-outline-dark[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(119,119,119,.5)}.btn-outline-dark.disabled[_ngcontent-%COMP%], .btn-outline-dark[_ngcontent-%COMP%]:disabled{color:#777;background-color:transparent}.btn-outline-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-dark.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#777;border-color:#777}.btn-outline-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-dark.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(119,119,119,.5)}.btn-link[_ngcontent-%COMP%]{font-weight:400;color:#2b99a8;text-decoration:none}.btn-link[_ngcontent-%COMP%]:hover{color:#1b626b;text-decoration:underline}.btn-link.focus[_ngcontent-%COMP%], .btn-link[_ngcontent-%COMP%]:focus{text-decoration:underline;box-shadow:none}.btn-link.disabled[_ngcontent-%COMP%], .btn-link[_ngcontent-%COMP%]:disabled{color:#6c757d;pointer-events:none}.btn-group-lg[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .btn-lg[_ngcontent-%COMP%]{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .btn-sm[_ngcontent-%COMP%]{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block[_ngcontent-%COMP%]{display:block;width:100%}.btn-block[_ngcontent-%COMP%] + .btn-block[_ngcontent-%COMP%]{margin-top:.5rem}input[type=button].btn-block[_ngcontent-%COMP%], input[type=reset].btn-block[_ngcontent-%COMP%], input[type=submit].btn-block[_ngcontent-%COMP%]{width:100%}.fade[_ngcontent-%COMP%]{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade[_ngcontent-%COMP%]{transition:none}}.fade[_ngcontent-%COMP%]:not(.show){opacity:0}.collapse[_ngcontent-%COMP%]:not(.show){display:none}.collapsing[_ngcontent-%COMP%]{position:relative;height:0;overflow:hidden;transition:height .35s ease}.dropdown[_ngcontent-%COMP%], .dropleft[_ngcontent-%COMP%], .dropright[_ngcontent-%COMP%], .dropup[_ngcontent-%COMP%]{position:relative}.dropdown-toggle[_ngcontent-%COMP%]{white-space:nowrap}.dropdown-toggle[_ngcontent-%COMP%]::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[_ngcontent-%COMP%]:empty::after{margin-left:0}.dropdown-menu[_ngcontent-%COMP%]{position:absolute;top:100%;left:0;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left[_ngcontent-%COMP%]{right:auto;left:0}.dropdown-menu-right[_ngcontent-%COMP%]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left[_ngcontent-%COMP%]{right:auto;left:0}.dropdown-menu-sm-right[_ngcontent-%COMP%]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left[_ngcontent-%COMP%]{right:auto;left:0}.dropdown-menu-md-right[_ngcontent-%COMP%]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left[_ngcontent-%COMP%]{right:auto;left:0}.dropdown-menu-lg-right[_ngcontent-%COMP%]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left[_ngcontent-%COMP%]{right:auto;left:0}.dropdown-menu-xl-right[_ngcontent-%COMP%]{right:0;left:auto}}.dropup[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]::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[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]:empty::after{margin-left:0}.dropright[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]::after{display:inline-block;margin-left:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid;vertical-align:0}.dropright[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]:empty::after{margin-left:0}.dropleft[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]::after{margin-left:.255em;vertical-align:.255em;content:"";display:none}.dropleft[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]::before{display:inline-block;margin-right:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent;vertical-align:0}.dropleft[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]:empty::after{margin-left:0}.dropdown-menu[x-placement^=bottom][_ngcontent-%COMP%], .dropdown-menu[x-placement^=left][_ngcontent-%COMP%], .dropdown-menu[x-placement^=right][_ngcontent-%COMP%], .dropdown-menu[x-placement^=top][_ngcontent-%COMP%]{right:auto;bottom:auto}.dropdown-divider[_ngcontent-%COMP%]{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item[_ngcontent-%COMP%]{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item[_ngcontent-%COMP%]:focus, .dropdown-item[_ngcontent-%COMP%]:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active[_ngcontent-%COMP%], .dropdown-item[_ngcontent-%COMP%]:active{color:#fff;text-decoration:none;background-color:#2b99a8}.dropdown-item.disabled[_ngcontent-%COMP%], .dropdown-item[_ngcontent-%COMP%]:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show[_ngcontent-%COMP%]{display:block}.dropdown-header[_ngcontent-%COMP%]{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text[_ngcontent-%COMP%]{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%]{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]{position:relative;flex:1 1 auto}.btn-group-vertical[_ngcontent-%COMP%] > .btn.active[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:active, .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:focus, .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:hover, .btn-group[_ngcontent-%COMP%] > .btn.active[_ngcontent-%COMP%], .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:active, .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:focus, .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:hover{z-index:1}.btn-toolbar[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar[_ngcontent-%COMP%]   .input-group[_ngcontent-%COMP%]{width:auto}.btn-group[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:first-child), .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:first-child){margin-left:-1px}.btn-group[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:last-child) > .btn[_ngcontent-%COMP%], .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:first-child) > .btn[_ngcontent-%COMP%], .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split[_ngcontent-%COMP%]{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split[_ngcontent-%COMP%]::after, .dropright[_ngcontent-%COMP%]   .dropdown-toggle-split[_ngcontent-%COMP%]::after, .dropup[_ngcontent-%COMP%]   .dropdown-toggle-split[_ngcontent-%COMP%]::after{margin-left:0}.dropleft[_ngcontent-%COMP%]   .dropdown-toggle-split[_ngcontent-%COMP%]::before{margin-right:0}.btn-group-sm[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%] + .dropdown-toggle-split[_ngcontent-%COMP%], .btn-sm[_ngcontent-%COMP%] + .dropdown-toggle-split[_ngcontent-%COMP%]{padding-right:.375rem;padding-left:.375rem}.btn-group-lg[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%] + .dropdown-toggle-split[_ngcontent-%COMP%], .btn-lg[_ngcontent-%COMP%] + .dropdown-toggle-split[_ngcontent-%COMP%]{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]{width:100%}.btn-group-vertical[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:first-child), .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:first-child){margin-top:-1px}.btn-group-vertical[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:last-child) > .btn[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:first-child) > .btn[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .btn-group-toggle[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]{margin-bottom:0}.btn-group-toggle[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]   input[type=checkbox][_ngcontent-%COMP%], .btn-group-toggle[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]   input[type=radio][_ngcontent-%COMP%], .btn-group-toggle[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]   input[type=checkbox][_ngcontent-%COMP%], .btn-group-toggle[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]   input[type=radio][_ngcontent-%COMP%]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group[_ngcontent-%COMP%]{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control-plaintext[_ngcontent-%COMP%]{position:relative;flex:1 1 auto;width:1%;margin-bottom:0}.input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%] + .cd-form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%] + .custom-file[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%] + .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%] + .form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%] + .cd-form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%] + .custom-file[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%] + .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%] + .form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%] + .cd-form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%] + .custom-file[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%] + .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%] + .form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%] + .cd-form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%] + .custom-file[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%] + .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%] + .form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control-plaintext[_ngcontent-%COMP%] + .cd-form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control-plaintext[_ngcontent-%COMP%] + .custom-file[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control-plaintext[_ngcontent-%COMP%] + .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control-plaintext[_ngcontent-%COMP%] + .form-control[_ngcontent-%COMP%]{margin-left:-1px}.input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%]:focus, .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:focus ~ .custom-file-label[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%]:focus, .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%]:focus{z-index:3}.input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:focus{z-index:4}.input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%]:not(:last-child), .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%]:not(:last-child), .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%]:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%]:not(:first-child), .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%]:not(:first-child), .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%]:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]{display:flex;align-items:center}.input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]:not(:last-child)   .custom-file-label[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]:not(:last-child)   .custom-file-label[_ngcontent-%COMP%]::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]:not(:first-child)   .custom-file-label[_ngcontent-%COMP%]{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%]{display:flex}.input-group-append[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%]{position:relative;z-index:2}.input-group-append[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%]:focus, .input-group-prepend[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%]:focus{z-index:3}.input-group-append[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%] + .btn[_ngcontent-%COMP%], .input-group-append[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%] + .input-group-text[_ngcontent-%COMP%], .input-group-append[_ngcontent-%COMP%]   .input-group-text[_ngcontent-%COMP%] + .btn[_ngcontent-%COMP%], .input-group-append[_ngcontent-%COMP%]   .input-group-text[_ngcontent-%COMP%] + .input-group-text[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%] + .btn[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%] + .input-group-text[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%]   .input-group-text[_ngcontent-%COMP%] + .btn[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%]   .input-group-text[_ngcontent-%COMP%] + .input-group-text[_ngcontent-%COMP%]{margin-left:-1px}.input-group-prepend[_ngcontent-%COMP%]{margin-right:-1px}.input-group-append[_ngcontent-%COMP%]{margin-left:-1px}.input-group-text[_ngcontent-%COMP%]{display:flex;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text[_ngcontent-%COMP%]   input[type=checkbox][_ngcontent-%COMP%], .input-group-text[_ngcontent-%COMP%]   input[type=radio][_ngcontent-%COMP%]{margin-top:0}.input-group-lg[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%]:not(textarea), .input-group-lg[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%]:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%]{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%]:not(textarea), .input-group-sm[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%]:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%]{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%]{padding-right:1.75rem}.input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%]:last-child > .btn[_ngcontent-%COMP%]:not(:last-child):not(.dropdown-toggle), .input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%]:last-child > .input-group-text[_ngcontent-%COMP%]:not(:last-child), .input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%]:not(:last-child) > .btn[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%]:not(:last-child) > .input-group-text[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%]{border-top-right-radius:0;border-bottom-right-radius:0}.input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%]:first-child > .btn[_ngcontent-%COMP%]:not(:first-child), .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%]:first-child > .input-group-text[_ngcontent-%COMP%]:not(:first-child), .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%]:not(:first-child) > .btn[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%]:not(:first-child) > .input-group-text[_ngcontent-%COMP%]{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control[_ngcontent-%COMP%]{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline[_ngcontent-%COMP%]{display:inline-flex;margin-right:1rem}.custom-control-input[_ngcontent-%COMP%]{position:absolute;z-index:-1;opacity:0}.custom-control-input[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::before{color:#fff;border-color:#2b99a8;background-color:#2b99a8}.custom-control-input[_ngcontent-%COMP%]:focus ~ .custom-control-label[_ngcontent-%COMP%]::before{box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.custom-control-input[_ngcontent-%COMP%]:focus:not(:checked) ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#76d0dc}.custom-control-input[_ngcontent-%COMP%]:not(:disabled):active ~ .custom-control-label[_ngcontent-%COMP%]::before{color:#fff;background-color:#9fdee6;border-color:#9fdee6}.custom-control-input[_ngcontent-%COMP%]:disabled ~ .custom-control-label[_ngcontent-%COMP%]{color:#6c757d}.custom-control-input[_ngcontent-%COMP%]:disabled ~ .custom-control-label[_ngcontent-%COMP%]::before{background-color:#e9ecef}.custom-control-label[_ngcontent-%COMP%]{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label[_ngcontent-%COMP%]::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#fff;border:1px solid #adb5bd}.custom-control-label[_ngcontent-%COMP%]::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:50%/50% 50% no-repeat}.custom-checkbox[_ngcontent-%COMP%]   .custom-control-label[_ngcontent-%COMP%]::before{border-radius:.25rem}.custom-checkbox[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::after{background-image:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 8 8\'%3e%3cpath fill=\'%23fff\' d=\'M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z\'/%3e%3c/svg%3e")}.custom-checkbox[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:indeterminate ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#2b99a8;background-color:#2b99a8}.custom-checkbox[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:indeterminate ~ .custom-control-label[_ngcontent-%COMP%]::after{background-image:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 4 4\'%3e%3cpath stroke=\'%23fff\' d=\'M0 2h4\'/%3e%3c/svg%3e")}.custom-checkbox[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:disabled:checked ~ .custom-control-label[_ngcontent-%COMP%]::before{background-color:rgba(43,153,168,.5)}.custom-checkbox[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:disabled:indeterminate ~ .custom-control-label[_ngcontent-%COMP%]::before{background-color:rgba(43,153,168,.5)}.custom-radio[_ngcontent-%COMP%]   .custom-control-label[_ngcontent-%COMP%]::before{border-radius:50%}.custom-radio[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::after{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")}.custom-radio[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:disabled:checked ~ .custom-control-label[_ngcontent-%COMP%]::before{background-color:rgba(43,153,168,.5)}.custom-switch[_ngcontent-%COMP%]{padding-left:2.25rem}.custom-switch[_ngcontent-%COMP%]   .custom-control-label[_ngcontent-%COMP%]::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch[_ngcontent-%COMP%]   .custom-control-label[_ngcontent-%COMP%]::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.custom-switch[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::after{background-color:#fff;transform:translateX(.75rem)}.custom-switch[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:disabled:checked ~ .custom-control-label[_ngcontent-%COMP%]::before{background-color:rgba(43,153,168,.5)}.custom-select[_ngcontent-%COMP%]{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 4 5\'%3e%3cpath fill=\'%23343a40\' d=\'M2 0L0 2h4zm0 5L0 3h4z\'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat #fff;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select[_ngcontent-%COMP%]:focus{border-color:#76d0dc;outline:0;box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.custom-select[_ngcontent-%COMP%]:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple][_ngcontent-%COMP%], .custom-select[size][_ngcontent-%COMP%]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select[_ngcontent-%COMP%]:disabled{color:#6c757d;background-color:#e9ecef}.custom-select[_ngcontent-%COMP%]::-ms-expand{display:none}.custom-select-sm[_ngcontent-%COMP%]{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg[_ngcontent-%COMP%]{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file[_ngcontent-%COMP%]{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}.custom-file-input[_ngcontent-%COMP%]{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;opacity:0}.custom-file-input[_ngcontent-%COMP%]:focus ~ .custom-file-label[_ngcontent-%COMP%]{border-color:#76d0dc;box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.custom-file-input[_ngcontent-%COMP%]:disabled ~ .custom-file-label[_ngcontent-%COMP%]{background-color:#e9ecef}.custom-file-input[_ngcontent-%COMP%]:lang(en) ~ .custom-file-label[_ngcontent-%COMP%]::after{content:"Browse"}.custom-file-input[_ngcontent-%COMP%] ~ .custom-file-label[data-browse][_ngcontent-%COMP%]::after{content:attr(data-browse)}.custom-file-label[_ngcontent-%COMP%]{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label[_ngcontent-%COMP%]::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range[_ngcontent-%COMP%]{width:100%;height:calc(1rem + .4rem);padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range[_ngcontent-%COMP%]:focus{outline:0}.custom-range[_ngcontent-%COMP%]:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(43,153,168,.25)}.custom-range[_ngcontent-%COMP%]:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(43,153,168,.25)}.custom-range[_ngcontent-%COMP%]:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(43,153,168,.25)}.custom-range[_ngcontent-%COMP%]::-moz-focus-outer{border:0}.custom-range[_ngcontent-%COMP%]::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#2b99a8;border:0;border-radius:1rem;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){.collapsing[_ngcontent-%COMP%], .custom-switch[_ngcontent-%COMP%]   .custom-control-label[_ngcontent-%COMP%]::after{transition:none}.custom-range[_ngcontent-%COMP%]::-webkit-slider-thumb{transition:none}}.custom-range[_ngcontent-%COMP%]::-webkit-slider-thumb:active{background-color:#9fdee6}.custom-range[_ngcontent-%COMP%]::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range[_ngcontent-%COMP%]::-moz-range-thumb{width:1rem;height:1rem;background-color:#2b99a8;border:0;border-radius:1rem;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){.custom-range[_ngcontent-%COMP%]::-moz-range-thumb{transition:none}}.custom-range[_ngcontent-%COMP%]::-moz-range-thumb:active{background-color:#9fdee6}.custom-range[_ngcontent-%COMP%]::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range[_ngcontent-%COMP%]::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#2b99a8;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range[_ngcontent-%COMP%]::-ms-thumb{transition:none}}.custom-range[_ngcontent-%COMP%]::-ms-thumb:active{background-color:#9fdee6}.custom-range[_ngcontent-%COMP%]::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range[_ngcontent-%COMP%]::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range[_ngcontent-%COMP%]::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-range[_ngcontent-%COMP%]:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range[_ngcontent-%COMP%]:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range[_ngcontent-%COMP%]:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range[_ngcontent-%COMP%]:disabled::-moz-range-track{cursor:default}.custom-range[_ngcontent-%COMP%]:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label[_ngcontent-%COMP%]::before, .custom-file-label[_ngcontent-%COMP%], .custom-select[_ngcontent-%COMP%]{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label[_ngcontent-%COMP%]::before, .custom-file-label[_ngcontent-%COMP%], .custom-select[_ngcontent-%COMP%]{transition:none}}.nav[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link[_ngcontent-%COMP%]{display:block;padding:.5rem 1rem}.nav-link[_ngcontent-%COMP%]:focus, .nav-link[_ngcontent-%COMP%]:hover{text-decoration:none}.nav-link.disabled[_ngcontent-%COMP%]{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs[_ngcontent-%COMP%]{border-bottom:1px solid #dee2e6}.nav-tabs[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]{margin-bottom:-1px}.nav-tabs[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]:focus, .nav-tabs[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs[_ngcontent-%COMP%]   .nav-link.disabled[_ngcontent-%COMP%]{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs[_ngcontent-%COMP%]   .nav-item.show[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%], .nav-tabs[_ngcontent-%COMP%]   .nav-link.active[_ngcontent-%COMP%]{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{border-radius:.25rem}.nav-pills[_ngcontent-%COMP%]   .nav-link.active[_ngcontent-%COMP%], .nav-pills[_ngcontent-%COMP%]   .show[_ngcontent-%COMP%] > .nav-link[_ngcontent-%COMP%]{color:#fff;background-color:#2b99a8}.nav-fill[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]{flex:1 1 auto;text-align:center}.nav-justified[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;text-align:center}.tab-content[_ngcontent-%COMP%] > .tab-pane[_ngcontent-%COMP%]{display:none}.tab-content[_ngcontent-%COMP%] > .active[_ngcontent-%COMP%]{display:block}.navbar[_ngcontent-%COMP%]{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:.5rem 1rem}.navbar[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.navbar-brand[_ngcontent-%COMP%]{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand[_ngcontent-%COMP%]:focus, .navbar-brand[_ngcontent-%COMP%]:hover{text-decoration:none}.navbar-nav[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{padding-right:0;padding-left:0}.navbar-nav[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{position:static;float:none}.navbar-text[_ngcontent-%COMP%]{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse[_ngcontent-%COMP%]{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler[_ngcontent-%COMP%]{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler[_ngcontent-%COMP%]:focus, .navbar-toggler[_ngcontent-%COMP%]:hover{text-decoration:none}.navbar-toggler-icon[_ngcontent-%COMP%]{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:center center/100% 100% no-repeat}@media (max-width:575.98px){.navbar-expand-sm[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-sm[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm[_ngcontent-%COMP%]{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-sm[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]{flex-direction:row}.navbar-expand-sm[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{position:absolute}.navbar-expand-sm[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-sm[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{flex-wrap:nowrap}.navbar-expand-sm[_ngcontent-%COMP%]   .navbar-collapse[_ngcontent-%COMP%]{display:flex!important;flex-basis:auto}.navbar-expand-sm[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{display:none}}@media (max-width:767.98px){.navbar-expand-md[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-md[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md[_ngcontent-%COMP%]{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-md[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]{flex-direction:row}.navbar-expand-md[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{position:absolute}.navbar-expand-md[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-md[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{flex-wrap:nowrap}.navbar-expand-md[_ngcontent-%COMP%]   .navbar-collapse[_ngcontent-%COMP%]{display:flex!important;flex-basis:auto}.navbar-expand-md[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{display:none}}@media (max-width:991.98px){.navbar-expand-lg[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-lg[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg[_ngcontent-%COMP%]{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]{flex-direction:row}.navbar-expand-lg[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{position:absolute}.navbar-expand-lg[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-lg[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{flex-wrap:nowrap}.navbar-expand-lg[_ngcontent-%COMP%]   .navbar-collapse[_ngcontent-%COMP%]{display:flex!important;flex-basis:auto}.navbar-expand-lg[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{display:none}}@media (max-width:1199.98px){.navbar-expand-xl[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-xl[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl[_ngcontent-%COMP%]{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-xl[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]{flex-direction:row}.navbar-expand-xl[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{position:absolute}.navbar-expand-xl[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-xl[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{flex-wrap:nowrap}.navbar-expand-xl[_ngcontent-%COMP%]   .navbar-collapse[_ngcontent-%COMP%]{display:flex!important;flex-basis:auto}.navbar-expand-xl[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{display:none}}.navbar-expand[_ngcontent-%COMP%]{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]{flex-direction:row}.navbar-expand[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{position:absolute}.navbar-expand[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{padding-right:.5rem;padding-left:.5rem}.navbar-expand[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{padding-right:0;padding-left:0;flex-wrap:nowrap}.navbar-expand[_ngcontent-%COMP%]   .navbar-collapse[_ngcontent-%COMP%]{display:flex!important;flex-basis:auto}.navbar-expand[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{display:none}.navbar-light[_ngcontent-%COMP%]   .navbar-brand[_ngcontent-%COMP%], .navbar-light[_ngcontent-%COMP%]   .navbar-brand[_ngcontent-%COMP%]:focus, .navbar-light[_ngcontent-%COMP%]   .navbar-brand[_ngcontent-%COMP%]:hover{color:rgba(0,0,0,.9)}.navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{color:rgba(0,0,0,.5)}.navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]:focus, .navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]:hover{color:rgba(0,0,0,.7)}.navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link.disabled[_ngcontent-%COMP%]{color:rgba(0,0,0,.3)}.navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .active[_ngcontent-%COMP%] > .nav-link[_ngcontent-%COMP%], .navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link.active[_ngcontent-%COMP%], .navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link.show[_ngcontent-%COMP%], .navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .show[_ngcontent-%COMP%] > .nav-link[_ngcontent-%COMP%]{color:rgba(0,0,0,.9)}.navbar-light[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light[_ngcontent-%COMP%]   .navbar-toggler-icon[_ngcontent-%COMP%]{background-image:url("data:image/svg+xml,%3csvg viewBox=\'0 0 30 30\' xmlns=\'http://www.w3.org/2000/svg\'%3e%3cpath stroke=\'rgba(0, 0, 0, 0.5)\' stroke-width=\'2\' stroke-linecap=\'round\' stroke-miterlimit=\'10\' d=\'M4 7h22M4 15h22M4 23h22\'/%3e%3c/svg%3e")}.navbar-light[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]{color:rgba(0,0,0,.5)}.navbar-light[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]   a[_ngcontent-%COMP%], .navbar-light[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]:focus, .navbar-light[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]:hover{color:rgba(0,0,0,.9)}.navbar-dark[_ngcontent-%COMP%]   .navbar-brand[_ngcontent-%COMP%], .navbar-dark[_ngcontent-%COMP%]   .navbar-brand[_ngcontent-%COMP%]:focus, .navbar-dark[_ngcontent-%COMP%]   .navbar-brand[_ngcontent-%COMP%]:hover{color:#fff}.navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{color:rgba(255,255,255,.5)}.navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]:focus, .navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]:hover{color:rgba(255,255,255,.75)}.navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link.disabled[_ngcontent-%COMP%]{color:rgba(255,255,255,.25)}.navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .active[_ngcontent-%COMP%] > .nav-link[_ngcontent-%COMP%], .navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link.active[_ngcontent-%COMP%], .navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link.show[_ngcontent-%COMP%], .navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .show[_ngcontent-%COMP%] > .nav-link[_ngcontent-%COMP%]{color:#fff}.navbar-dark[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark[_ngcontent-%COMP%]   .navbar-toggler-icon[_ngcontent-%COMP%]{background-image:url("data:image/svg+xml,%3csvg viewBox=\'0 0 30 30\' xmlns=\'http://www.w3.org/2000/svg\'%3e%3cpath stroke=\'rgba(255, 255, 255, 0.5)\' stroke-width=\'2\' stroke-linecap=\'round\' stroke-miterlimit=\'10\' d=\'M4 7h22M4 15h22M4 23h22\'/%3e%3c/svg%3e")}.navbar-dark[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]{color:rgba(255,255,255,.5)}.navbar-dark[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]   a[_ngcontent-%COMP%], .navbar-dark[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]:focus, .navbar-dark[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]:hover{color:#fff}.card[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card[_ngcontent-%COMP%] > hr[_ngcontent-%COMP%], pre[_ngcontent-%COMP%] > hr[_ngcontent-%COMP%]{margin-right:0;margin-left:0}.card[_ngcontent-%COMP%] > .list-group[_ngcontent-%COMP%]:first-child   .list-group-item[_ngcontent-%COMP%]:first-child, pre[_ngcontent-%COMP%] > .list-group[_ngcontent-%COMP%]:first-child   .list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card[_ngcontent-%COMP%] > .list-group[_ngcontent-%COMP%]:last-child   .list-group-item[_ngcontent-%COMP%]:last-child, pre[_ngcontent-%COMP%] > .list-group[_ngcontent-%COMP%]:last-child   .list-group-item[_ngcontent-%COMP%]:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body[_ngcontent-%COMP%]{flex:1 1 auto;padding:1.25rem}.card-title[_ngcontent-%COMP%]{margin-bottom:.75rem}.card-subtitle[_ngcontent-%COMP%]{margin-top:-.375rem;margin-bottom:0}.card-text[_ngcontent-%COMP%]:last-child{margin-bottom:0}.card-link[_ngcontent-%COMP%]:hover{text-decoration:none}.card-link[_ngcontent-%COMP%] + .card-link[_ngcontent-%COMP%]{margin-left:1.25rem}.card-header[_ngcontent-%COMP%]{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header[_ngcontent-%COMP%]:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header[_ngcontent-%COMP%] + .list-group[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:first-child{border-top:0}.card-footer[_ngcontent-%COMP%]{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer[_ngcontent-%COMP%]:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs[_ngcontent-%COMP%]{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills[_ngcontent-%COMP%]{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay[_ngcontent-%COMP%]{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img[_ngcontent-%COMP%]{width:100%;border-radius:calc(.25rem - 1px)}.card-img-top[_ngcontent-%COMP%]{width:100%;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img-bottom[_ngcontent-%COMP%]{width:100%;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck[_ngcontent-%COMP%]{display:flex;flex-direction:column}.card-deck[_ngcontent-%COMP%]   .card[_ngcontent-%COMP%], .card-deck[_ngcontent-%COMP%]   pre[_ngcontent-%COMP%]{margin-bottom:15px}@media (min-width:576px){.card-deck[_ngcontent-%COMP%]{flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck[_ngcontent-%COMP%]   .card[_ngcontent-%COMP%], .card-deck[_ngcontent-%COMP%]   pre[_ngcontent-%COMP%]{display:flex;flex:1 0 0%;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group[_ngcontent-%COMP%]{display:flex;flex-direction:column}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]{margin-bottom:15px}@media (min-width:576px){.card-group[_ngcontent-%COMP%]{flex-flow:row wrap}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]{flex:1 0 0%;margin-bottom:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%] + .card[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%] + pre[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%] + .card[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%] + pre[_ngcontent-%COMP%]{margin-left:0;border-left:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:last-child), .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:last-child)   .card-header[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:last-child)   .card-img-top[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:last-child)   .card-header[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:last-child)   .card-img-top[_ngcontent-%COMP%]{border-top-right-radius:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:last-child)   .card-footer[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:last-child)   .card-img-bottom[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:last-child)   .card-footer[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:last-child)   .card-img-bottom[_ngcontent-%COMP%]{border-bottom-right-radius:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-child), .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-child)   .card-header[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-child)   .card-img-top[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-child)   .card-header[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-child)   .card-img-top[_ngcontent-%COMP%]{border-top-left-radius:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-child)   .card-footer[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-child)   .card-img-bottom[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-child)   .card-footer[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-child)   .card-img-bottom[_ngcontent-%COMP%]{border-bottom-left-radius:0}.card-columns[_ngcontent-%COMP%]{column-count:3;column-gap:1.25rem;orphans:1;widows:1}.card-columns[_ngcontent-%COMP%]   .card[_ngcontent-%COMP%], .card-columns[_ngcontent-%COMP%]   pre[_ngcontent-%COMP%]{display:inline-block;width:100%}}.card-columns[_ngcontent-%COMP%]   .card[_ngcontent-%COMP%], .card-columns[_ngcontent-%COMP%]   pre[_ngcontent-%COMP%]{margin-bottom:.75rem}.accordion[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%], .accordion[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]{overflow:hidden}.accordion[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-of-type)   .card-header[_ngcontent-%COMP%]:first-child, .accordion[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-of-type)   .card-header[_ngcontent-%COMP%]:first-child{border-radius:0}.accordion[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-of-type):not(:last-of-type), .accordion[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-of-type):not(:last-of-type){border-bottom:0;border-radius:0}.accordion[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:first-of-type, .accordion[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:first-of-type{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:last-of-type, .accordion[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:last-of-type{border-top-left-radius:0;border-top-right-radius:0}.accordion[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]   .card-header[_ngcontent-%COMP%], .accordion[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]   .card-header[_ngcontent-%COMP%]{margin-bottom:-1px}.breadcrumb[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item[_ngcontent-%COMP%] + .breadcrumb-item[_ngcontent-%COMP%]{padding-left:.5rem}.breadcrumb-item[_ngcontent-%COMP%] + .breadcrumb-item[_ngcontent-%COMP%]::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item[_ngcontent-%COMP%] + .breadcrumb-item[_ngcontent-%COMP%]:hover::before{text-decoration:none}.breadcrumb-item.active[_ngcontent-%COMP%]{color:#6c757d}.pagination[_ngcontent-%COMP%]{display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link[_ngcontent-%COMP%]{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#2b99a8;background-color:#fff;border:1px solid #dee2e6}.page-link[_ngcontent-%COMP%]:hover{z-index:2;color:#1b626b;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link[_ngcontent-%COMP%]:focus{z-index:2;outline:0;box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.page-item[_ngcontent-%COMP%]:first-child   .page-link[_ngcontent-%COMP%]{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item[_ngcontent-%COMP%]:last-child   .page-link[_ngcontent-%COMP%]{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active[_ngcontent-%COMP%]   .page-link[_ngcontent-%COMP%]{z-index:1;color:#fff;background-color:#2b99a8;border-color:#2b99a8}.page-item.disabled[_ngcontent-%COMP%]   .page-link[_ngcontent-%COMP%]{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg[_ngcontent-%COMP%]   .page-link[_ngcontent-%COMP%]{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg[_ngcontent-%COMP%]   .page-item[_ngcontent-%COMP%]:first-child   .page-link[_ngcontent-%COMP%]{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg[_ngcontent-%COMP%]   .page-item[_ngcontent-%COMP%]:last-child   .page-link[_ngcontent-%COMP%]{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm[_ngcontent-%COMP%]   .page-link[_ngcontent-%COMP%]{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm[_ngcontent-%COMP%]   .page-item[_ngcontent-%COMP%]:first-child   .page-link[_ngcontent-%COMP%]{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm[_ngcontent-%COMP%]   .page-item[_ngcontent-%COMP%]:last-child   .page-link[_ngcontent-%COMP%]{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge[_ngcontent-%COMP%]{display:inline-block;padding:.25em .4em;font-size:1rem;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;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){.badge[_ngcontent-%COMP%]{transition:none}}a.badge[_ngcontent-%COMP%]:focus, a.badge[_ngcontent-%COMP%]:hover{text-decoration:none}.badge[_ngcontent-%COMP%]:empty{display:none}.btn[_ngcontent-%COMP%]   .badge[_ngcontent-%COMP%]{position:relative;top:-1px}.badge-pill[_ngcontent-%COMP%]{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary[_ngcontent-%COMP%]{color:#fff;background-color:#2b99a8}a.badge-primary[_ngcontent-%COMP%]:focus, a.badge-primary[_ngcontent-%COMP%]:hover{color:#fff;background-color:#21747f}a.badge-primary.focus[_ngcontent-%COMP%], a.badge-primary[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(43,153,168,.5)}.badge-secondary[_ngcontent-%COMP%]{color:#fff;background-color:#ef5c55}a.badge-secondary[_ngcontent-%COMP%]:focus, a.badge-secondary[_ngcontent-%COMP%]:hover{color:#fff;background-color:#eb2f26}a.badge-secondary.focus[_ngcontent-%COMP%], a.badge-secondary[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(239,92,85,.5)}.badge-success[_ngcontent-%COMP%]{color:#fff;background-color:#28a745}a.badge-success[_ngcontent-%COMP%]:focus, a.badge-success[_ngcontent-%COMP%]:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus[_ngcontent-%COMP%], a.badge-success[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info[_ngcontent-%COMP%]{color:#fff;background-color:#17a2b8}a.badge-info[_ngcontent-%COMP%]:focus, a.badge-info[_ngcontent-%COMP%]:hover{color:#fff;background-color:#117a8b}a.badge-info.focus[_ngcontent-%COMP%], a.badge-info[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning[_ngcontent-%COMP%]{color:#212529;background-color:#ffc107}a.badge-warning[_ngcontent-%COMP%]:focus, a.badge-warning[_ngcontent-%COMP%]:hover{color:#212529;background-color:#d39e00}a.badge-warning.focus[_ngcontent-%COMP%], a.badge-warning[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger[_ngcontent-%COMP%]{color:#fff;background-color:#dc3545}a.badge-danger[_ngcontent-%COMP%]:focus, a.badge-danger[_ngcontent-%COMP%]:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus[_ngcontent-%COMP%], a.badge-danger[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light[_ngcontent-%COMP%]{color:#212529;background-color:#f8f9fa}a.badge-light[_ngcontent-%COMP%]:focus, a.badge-light[_ngcontent-%COMP%]:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus[_ngcontent-%COMP%], a.badge-light[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark[_ngcontent-%COMP%]{color:#fff;background-color:#777}a.badge-dark[_ngcontent-%COMP%]:focus, a.badge-dark[_ngcontent-%COMP%]:hover{color:#fff;background-color:#5e5e5e}a.badge-dark.focus[_ngcontent-%COMP%], a.badge-dark[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(119,119,119,.5)}.jumbotron[_ngcontent-%COMP%]{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron[_ngcontent-%COMP%]{padding:4rem 2rem}}.jumbotron-fluid[_ngcontent-%COMP%]{padding-right:0;padding-left:0;border-radius:0}.alert[_ngcontent-%COMP%]{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading[_ngcontent-%COMP%]{color:inherit}.alert-link[_ngcontent-%COMP%]{font-weight:700}.alert-dismissible[_ngcontent-%COMP%]{padding-right:4rem}.alert-dismissible[_ngcontent-%COMP%]   .close[_ngcontent-%COMP%]{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary[_ngcontent-%COMP%]{color:#165057;background-color:#d5ebee;border-color:#c4e2e7}.alert-primary[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#b2d9e0}.alert-primary[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#0c2b2e}.alert-secondary[_ngcontent-%COMP%]{color:#7c302c;background-color:#fcdedd;border-color:#fbd1cf}.alert-secondary[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#f9bab7}.alert-secondary[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#56211f}.alert-success[_ngcontent-%COMP%]{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#b1dfbb}.alert-success[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#0b2e13}.alert-info[_ngcontent-%COMP%]{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#abdde5}.alert-info[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#062c33}.alert-warning[_ngcontent-%COMP%]{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#ffe8a1}.alert-warning[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#533f03}.alert-danger[_ngcontent-%COMP%]{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#f1b0b7}.alert-danger[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#491217}.alert-light[_ngcontent-%COMP%]{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#ececf6}.alert-light[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#686868}.alert-dark[_ngcontent-%COMP%]{color:#3e3e3e;background-color:#e4e4e4;border-color:#d9d9d9}.alert-dark[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#ccc}.alert-dark[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#252525}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress[_ngcontent-%COMP%]{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#2b99a8;transition:width .6s ease}.progress-bar-striped[_ngcontent-%COMP%]{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:1rem 1rem}.progress-bar-animated[_ngcontent-%COMP%]{animation:1s linear infinite progress-bar-stripes}.media[_ngcontent-%COMP%]{display:flex;align-items:flex-start}.media-body[_ngcontent-%COMP%]{flex:1}.list-group[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action[_ngcontent-%COMP%]{width:100%;color:#495057;text-align:inherit}.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-action[_ngcontent-%COMP%]:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action[_ngcontent-%COMP%]:active{color:#212529;background-color:#e9ecef}.list-group-item[_ngcontent-%COMP%]{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item[_ngcontent-%COMP%]:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item.disabled[_ngcontent-%COMP%], .list-group-item[_ngcontent-%COMP%]:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active[_ngcontent-%COMP%]{z-index:2;color:#fff;background-color:#2b99a8;border-color:#2b99a8}.list-group-horizontal[_ngcontent-%COMP%]{flex-direction:row}.list-group-horizontal[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]{margin-right:-1px;margin-bottom:0}.list-group-horizontal[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}@media (min-width:576px){.list-group-horizontal-sm[_ngcontent-%COMP%]{flex-direction:row}.list-group-horizontal-sm[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]{margin-right:-1px;margin-bottom:0}.list-group-horizontal-sm[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:768px){.list-group-horizontal-md[_ngcontent-%COMP%]{flex-direction:row}.list-group-horizontal-md[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]{margin-right:-1px;margin-bottom:0}.list-group-horizontal-md[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:992px){.list-group-horizontal-lg[_ngcontent-%COMP%]{flex-direction:row}.list-group-horizontal-lg[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]{margin-right:-1px;margin-bottom:0}.list-group-horizontal-lg[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:1200px){.list-group-horizontal-xl[_ngcontent-%COMP%]{flex-direction:row}.list-group-horizontal-xl[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]{margin-right:-1px;margin-bottom:0}.list-group-horizontal-xl[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}.list-group-flush[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]{border-right:0;border-left:0;border-radius:0}.list-group-flush[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:last-child{margin-bottom:-1px}.list-group-flush[_ngcontent-%COMP%]:first-child   .list-group-item[_ngcontent-%COMP%]:first-child{border-top:0}.list-group-flush[_ngcontent-%COMP%]:last-child   .list-group-item[_ngcontent-%COMP%]:last-child{margin-bottom:0;border-bottom:0}.list-group-item-primary[_ngcontent-%COMP%]{color:#165057;background-color:#c4e2e7}.list-group-item-primary.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-primary.list-group-item-action[_ngcontent-%COMP%]:hover{color:#165057;background-color:#b2d9e0}.list-group-item-primary.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#165057;border-color:#165057}.list-group-item-secondary[_ngcontent-%COMP%]{color:#7c302c;background-color:#fbd1cf}.list-group-item-secondary.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-secondary.list-group-item-action[_ngcontent-%COMP%]:hover{color:#7c302c;background-color:#f9bab7}.list-group-item-secondary.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#7c302c;border-color:#7c302c}.list-group-item-success[_ngcontent-%COMP%]{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-success.list-group-item-action[_ngcontent-%COMP%]:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info[_ngcontent-%COMP%]{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-info.list-group-item-action[_ngcontent-%COMP%]:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning[_ngcontent-%COMP%]{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-warning.list-group-item-action[_ngcontent-%COMP%]:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger[_ngcontent-%COMP%]{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-danger.list-group-item-action[_ngcontent-%COMP%]:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light[_ngcontent-%COMP%]{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-light.list-group-item-action[_ngcontent-%COMP%]:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark[_ngcontent-%COMP%]{color:#3e3e3e;background-color:#d9d9d9}.list-group-item-dark.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-dark.list-group-item-action[_ngcontent-%COMP%]:hover{color:#3e3e3e;background-color:#ccc}.list-group-item-dark.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#3e3e3e;border-color:#3e3e3e}.close[_ngcontent-%COMP%]{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close[_ngcontent-%COMP%]:hover{color:#000;text-decoration:none}.close[_ngcontent-%COMP%]:not(:disabled):not(.disabled):focus, .close[_ngcontent-%COMP%]:not(:disabled):not(.disabled):hover{opacity:.75}button.close[_ngcontent-%COMP%]{padding:0;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}a.close.disabled[_ngcontent-%COMP%]{pointer-events:none}.toast[_ngcontent-%COMP%]{max-width:350px;overflow:hidden;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);backdrop-filter:blur(10px);opacity:0;border-radius:.25rem}.toast[_ngcontent-%COMP%]:not(:last-child){margin-bottom:.75rem}.toast.showing[_ngcontent-%COMP%]{opacity:1}.toast.show[_ngcontent-%COMP%]{display:block;opacity:1}.toast.hide[_ngcontent-%COMP%]{display:none}.toast-header[_ngcontent-%COMP%]{display:flex;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}.toast-body[_ngcontent-%COMP%]{padding:.75rem}.modal-open[_ngcontent-%COMP%]{overflow:hidden}.modal-open[_ngcontent-%COMP%]   .modal[_ngcontent-%COMP%]{overflow-x:hidden;overflow-y:auto}.modal[_ngcontent-%COMP%]{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog[_ngcontent-%COMP%]{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade[_ngcontent-%COMP%]   .modal-dialog[_ngcontent-%COMP%]{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.progress-bar[_ngcontent-%COMP%]{transition:none}.progress-bar-animated[_ngcontent-%COMP%]{animation:none}.modal.fade[_ngcontent-%COMP%]   .modal-dialog[_ngcontent-%COMP%]{transition:none}}.modal.show[_ngcontent-%COMP%]   .modal-dialog[_ngcontent-%COMP%]{transform:none}.modal-dialog-scrollable[_ngcontent-%COMP%]{display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable[_ngcontent-%COMP%]   .modal-content[_ngcontent-%COMP%]{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable[_ngcontent-%COMP%]   .modal-footer[_ngcontent-%COMP%], .modal-dialog-scrollable[_ngcontent-%COMP%]   .modal-header[_ngcontent-%COMP%]{flex-shrink:0}.modal-dialog-scrollable[_ngcontent-%COMP%]   .modal-body[_ngcontent-%COMP%]{overflow-y:auto}.modal-dialog-centered[_ngcontent-%COMP%]{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered[_ngcontent-%COMP%]::before{display:block;height:calc(100vh - 1rem);content:""}.modal-dialog-centered.modal-dialog-scrollable[_ngcontent-%COMP%]{flex-direction:column;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable[_ngcontent-%COMP%]   .modal-content[_ngcontent-%COMP%]{max-height:none}.modal-dialog-centered.modal-dialog-scrollable[_ngcontent-%COMP%]::before{content:none}.modal-content[_ngcontent-%COMP%]{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop[_ngcontent-%COMP%]{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade[_ngcontent-%COMP%]{opacity:0}.modal-backdrop.show[_ngcontent-%COMP%]{opacity:.5}.modal-header[_ngcontent-%COMP%]{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:.3rem;border-top-right-radius:.3rem}.modal-header[_ngcontent-%COMP%]   .close[_ngcontent-%COMP%]{padding:1rem;margin:-1rem -1rem -1rem auto}.modal-title[_ngcontent-%COMP%]{margin-bottom:0;line-height:1.5}.modal-body[_ngcontent-%COMP%]{position:relative;flex:1 1 auto;padding:1rem}.modal-footer[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:flex-end;padding:1rem;border-top:1px solid #dee2e6;border-bottom-right-radius:.3rem;border-bottom-left-radius:.3rem}.modal-footer[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:not(:first-child){margin-left:.25rem}.modal-footer[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure[_ngcontent-%COMP%]{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog[_ngcontent-%COMP%]{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable[_ngcontent-%COMP%]{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable[_ngcontent-%COMP%]   .modal-content[_ngcontent-%COMP%]{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered[_ngcontent-%COMP%]{min-height:calc(100% - 3.5rem)}.modal-dialog-centered[_ngcontent-%COMP%]::before{height:calc(100vh - 3.5rem)}.modal-sm[_ngcontent-%COMP%]{max-width:300px}}@media (min-width:992px){.modal-lg[_ngcontent-%COMP%], .modal-xl[_ngcontent-%COMP%]{max-width:800px}}@media (min-width:1200px){.modal-xl[_ngcontent-%COMP%]{max-width:1140px}}.tooltip[_ngcontent-%COMP%]{position:absolute;z-index:1070;display:block;margin:0;font-family:"Helvetica Neue",Helvetica,Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show[_ngcontent-%COMP%]{opacity:.9}.tooltip[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top][_ngcontent-%COMP%], .bs-tooltip-top[_ngcontent-%COMP%]{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%], .bs-tooltip-top[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]{bottom:0}.bs-tooltip-auto[x-placement^=top][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before, .bs-tooltip-top[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right][_ngcontent-%COMP%], .bs-tooltip-right[_ngcontent-%COMP%]{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%], .bs-tooltip-right[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before, .bs-tooltip-right[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom][_ngcontent-%COMP%], .bs-tooltip-bottom[_ngcontent-%COMP%]{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%], .bs-tooltip-bottom[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]{top:0}.bs-tooltip-auto[x-placement^=bottom][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before, .bs-tooltip-bottom[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left][_ngcontent-%COMP%], .bs-tooltip-left[_ngcontent-%COMP%]{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%], .bs-tooltip-left[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before, .bs-tooltip-left[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner[_ngcontent-%COMP%]{max-width:200px;padding:.25rem .5rem;text-align:center;border-radius:.25rem}.popover[_ngcontent-%COMP%]{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:350px;font-family:"Helvetica Neue",Helvetica,Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::after, .popover[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top][_ngcontent-%COMP%], .bs-popover-top[_ngcontent-%COMP%]{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%], .bs-popover-top[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]{bottom:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=top][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before, .bs-popover-top[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after, .bs-popover-top[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right][_ngcontent-%COMP%], .bs-popover-right[_ngcontent-%COMP%]{margin-left:.5rem}.bs-popover-auto[x-placement^=right][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%], .bs-popover-right[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]{left:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before, .bs-popover-right[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after, .bs-popover-right[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom][_ngcontent-%COMP%], .bs-popover-bottom[_ngcontent-%COMP%]{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%], .bs-popover-bottom[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]{top:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=bottom][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before, .bs-popover-bottom[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before{top:0;border-width:0 .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after, .bs-popover-bottom[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after{top:1px;border-width:0 .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom][_ngcontent-%COMP%]   .popover-header[_ngcontent-%COMP%]::before, .bs-popover-bottom[_ngcontent-%COMP%]   .popover-header[_ngcontent-%COMP%]::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left][_ngcontent-%COMP%], .bs-popover-left[_ngcontent-%COMP%]{margin-right:.5rem}.bs-popover-auto[x-placement^=left][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%], .bs-popover-left[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]{right:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before, .bs-popover-left[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after, .bs-popover-left[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header[_ngcontent-%COMP%]{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header[_ngcontent-%COMP%]:empty{display:none}.popover-body[_ngcontent-%COMP%]{padding:.5rem .75rem;color:#212529}.carousel[_ngcontent-%COMP%]{position:relative}.carousel.pointer-event[_ngcontent-%COMP%]{touch-action:pan-y}.carousel-inner[_ngcontent-%COMP%]{position:relative;width:100%;overflow:hidden}.carousel-inner[_ngcontent-%COMP%]::after{display:block;clear:both;content:""}.carousel-item[_ngcontent-%COMP%]{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}.carousel-item-next[_ngcontent-%COMP%], .carousel-item-prev[_ngcontent-%COMP%], .carousel-item.active[_ngcontent-%COMP%]{display:block}.active.carousel-item-right[_ngcontent-%COMP%], .carousel-item-next[_ngcontent-%COMP%]:not(.carousel-item-left){transform:translateX(100%)}.active.carousel-item-left[_ngcontent-%COMP%], .carousel-item-prev[_ngcontent-%COMP%]:not(.carousel-item-right){transform:translateX(-100%)}.carousel-fade[_ngcontent-%COMP%]   .carousel-item[_ngcontent-%COMP%]{opacity:0;transition-property:opacity;transform:none}.carousel-fade[_ngcontent-%COMP%]   .carousel-item-next.carousel-item-left[_ngcontent-%COMP%], .carousel-fade[_ngcontent-%COMP%]   .carousel-item-prev.carousel-item-right[_ngcontent-%COMP%], .carousel-fade[_ngcontent-%COMP%]   .carousel-item.active[_ngcontent-%COMP%]{z-index:1;opacity:1}.carousel-fade[_ngcontent-%COMP%]   .active.carousel-item-left[_ngcontent-%COMP%], .carousel-fade[_ngcontent-%COMP%]   .active.carousel-item-right[_ngcontent-%COMP%]{z-index:0;opacity:0;transition:0s .6s opacity}@media (prefers-reduced-motion:reduce){.carousel-fade[_ngcontent-%COMP%]   .active.carousel-item-left[_ngcontent-%COMP%], .carousel-fade[_ngcontent-%COMP%]   .active.carousel-item-right[_ngcontent-%COMP%], .carousel-item[_ngcontent-%COMP%]{transition:none}}.carousel-control-next[_ngcontent-%COMP%], .carousel-control-prev[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}.carousel-control-next[_ngcontent-%COMP%]:focus, .carousel-control-next[_ngcontent-%COMP%]:hover, .carousel-control-prev[_ngcontent-%COMP%]:focus, .carousel-control-prev[_ngcontent-%COMP%]:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev[_ngcontent-%COMP%]{left:0}.carousel-control-next[_ngcontent-%COMP%]{right:0}.carousel-control-next-icon[_ngcontent-%COMP%], .carousel-control-prev-icon[_ngcontent-%COMP%]{display:inline-block;width:20px;height:20px;background:50%/100% 100% no-repeat}.carousel-control-prev-icon[_ngcontent-%COMP%]{background-image:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' fill=\'%23fff\' viewBox=\'0 0 8 8\'%3e%3cpath d=\'M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z\'/%3e%3c/svg%3e")}.carousel-control-next-icon[_ngcontent-%COMP%]{background-image:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' fill=\'%23fff\' viewBox=\'0 0 8 8\'%3e%3cpath d=\'M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z\'/%3e%3c/svg%3e")}.carousel-indicators[_ngcontent-%COMP%]{position:absolute;right:0;bottom:0;left:0;z-index:15;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next[_ngcontent-%COMP%], .carousel-control-prev[_ngcontent-%COMP%], .carousel-indicators[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]{transition:none}}.carousel-indicators[_ngcontent-%COMP%]   .active[_ngcontent-%COMP%]{opacity:1}.carousel-caption[_ngcontent-%COMP%]{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border[_ngcontent-%COMP%]{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;animation:.75s linear infinite spinner-border}.spinner-border-sm[_ngcontent-%COMP%]{width:1rem;height:1rem;border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1}}.spinner-grow[_ngcontent-%COMP%]{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;animation:.75s linear infinite spinner-grow}.spinner-grow-sm[_ngcontent-%COMP%]{width:1rem;height:1rem}.align-baseline[_ngcontent-%COMP%]{vertical-align:baseline!important}.align-top[_ngcontent-%COMP%]{vertical-align:top!important}.align-middle[_ngcontent-%COMP%]{vertical-align:middle!important}.align-bottom[_ngcontent-%COMP%]{vertical-align:bottom!important}.align-text-bottom[_ngcontent-%COMP%]{vertical-align:text-bottom!important}.align-text-top[_ngcontent-%COMP%]{vertical-align:text-top!important}.bg-primary[_ngcontent-%COMP%]{background-color:#2b99a8!important}a.bg-primary[_ngcontent-%COMP%]:focus, a.bg-primary[_ngcontent-%COMP%]:hover, button.bg-primary[_ngcontent-%COMP%]:focus, button.bg-primary[_ngcontent-%COMP%]:hover{background-color:#21747f!important}.bg-secondary[_ngcontent-%COMP%]{background-color:#ef5c55!important}a.bg-secondary[_ngcontent-%COMP%]:focus, a.bg-secondary[_ngcontent-%COMP%]:hover, button.bg-secondary[_ngcontent-%COMP%]:focus, button.bg-secondary[_ngcontent-%COMP%]:hover{background-color:#eb2f26!important}.bg-success[_ngcontent-%COMP%]{background-color:#28a745!important}a.bg-success[_ngcontent-%COMP%]:focus, a.bg-success[_ngcontent-%COMP%]:hover, button.bg-success[_ngcontent-%COMP%]:focus, button.bg-success[_ngcontent-%COMP%]:hover{background-color:#1e7e34!important}.bg-info[_ngcontent-%COMP%]{background-color:#17a2b8!important}a.bg-info[_ngcontent-%COMP%]:focus, a.bg-info[_ngcontent-%COMP%]:hover, button.bg-info[_ngcontent-%COMP%]:focus, button.bg-info[_ngcontent-%COMP%]:hover{background-color:#117a8b!important}.bg-warning[_ngcontent-%COMP%]{background-color:#ffc107!important}a.bg-warning[_ngcontent-%COMP%]:focus, a.bg-warning[_ngcontent-%COMP%]:hover, button.bg-warning[_ngcontent-%COMP%]:focus, button.bg-warning[_ngcontent-%COMP%]:hover{background-color:#d39e00!important}.bg-danger[_ngcontent-%COMP%]{background-color:#dc3545!important}a.bg-danger[_ngcontent-%COMP%]:focus, a.bg-danger[_ngcontent-%COMP%]:hover, button.bg-danger[_ngcontent-%COMP%]:focus, button.bg-danger[_ngcontent-%COMP%]:hover{background-color:#bd2130!important}.bg-light[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]{background-color:#f8f9fa!important}a.bg-light[_ngcontent-%COMP%]:focus, a.bg-light[_ngcontent-%COMP%]:hover, button.bg-light[_ngcontent-%COMP%]:focus, button.bg-light[_ngcontent-%COMP%]:hover{background-color:#dae0e5!important}.bg-dark[_ngcontent-%COMP%]{background-color:#777!important}a.bg-dark[_ngcontent-%COMP%]:focus, a.bg-dark[_ngcontent-%COMP%]:hover, button.bg-dark[_ngcontent-%COMP%]:focus, button.bg-dark[_ngcontent-%COMP%]:hover{background-color:#5e5e5e!important}.bg-white[_ngcontent-%COMP%]{background-color:#fff!important}.bg-transparent[_ngcontent-%COMP%]{background-color:transparent!important}.border[_ngcontent-%COMP%]{border:1px solid #dee2e6!important}.border-top[_ngcontent-%COMP%]{border-top:1px solid #dee2e6!important}.border-right[_ngcontent-%COMP%]{border-right:1px solid #dee2e6!important}.border-bottom[_ngcontent-%COMP%], .cd-header[_ngcontent-%COMP%], legend[_ngcontent-%COMP%]{border-bottom:1px solid #dee2e6!important}.border-left[_ngcontent-%COMP%]{border-left:1px solid #dee2e6!important}.border-0[_ngcontent-%COMP%]{border:0!important}.border-top-0[_ngcontent-%COMP%]{border-top:0!important}.border-right-0[_ngcontent-%COMP%]{border-right:0!important}.border-bottom-0[_ngcontent-%COMP%]{border-bottom:0!important}.border-left-0[_ngcontent-%COMP%]{border-left:0!important}.border-primary[_ngcontent-%COMP%]{border-color:#2b99a8!important}.border-secondary[_ngcontent-%COMP%]{border-color:#ef5c55!important}.border-success[_ngcontent-%COMP%]{border-color:#28a745!important}.border-info[_ngcontent-%COMP%]{border-color:#17a2b8!important}.border-warning[_ngcontent-%COMP%]{border-color:#ffc107!important}.border-danger[_ngcontent-%COMP%]{border-color:#dc3545!important}.border-light[_ngcontent-%COMP%]{border-color:#f8f9fa!important}.border-dark[_ngcontent-%COMP%]{border-color:#777!important}.border-white[_ngcontent-%COMP%]{border-color:#fff!important}.rounded-sm[_ngcontent-%COMP%]{border-radius:.2rem!important}.rounded[_ngcontent-%COMP%]{border-radius:.25rem!important}.rounded-top[_ngcontent-%COMP%]{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right[_ngcontent-%COMP%]{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom[_ngcontent-%COMP%]{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left[_ngcontent-%COMP%]{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-lg[_ngcontent-%COMP%]{border-radius:.3rem!important}.rounded-circle[_ngcontent-%COMP%]{border-radius:50%!important}.rounded-pill[_ngcontent-%COMP%]{border-radius:50rem!important}.rounded-0[_ngcontent-%COMP%]{border-radius:0!important}.clearfix[_ngcontent-%COMP%]::after{display:block;clear:both;content:""}.d-none[_ngcontent-%COMP%]{display:none!important}.d-inline[_ngcontent-%COMP%]{display:inline!important}.d-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-block[_ngcontent-%COMP%]{display:block!important}.d-table[_ngcontent-%COMP%]{display:table!important}.d-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-flex[_ngcontent-%COMP%], cd-info-card[_ngcontent-%COMP%]{display:flex!important}.d-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}@media (min-width:576px){.d-sm-none[_ngcontent-%COMP%]{display:none!important}.d-sm-inline[_ngcontent-%COMP%]{display:inline!important}.d-sm-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-sm-block[_ngcontent-%COMP%]{display:block!important}.d-sm-table[_ngcontent-%COMP%]{display:table!important}.d-sm-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-sm-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-sm-flex[_ngcontent-%COMP%]{display:flex!important}.d-sm-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}}@media (min-width:768px){.d-md-none[_ngcontent-%COMP%]{display:none!important}.d-md-inline[_ngcontent-%COMP%]{display:inline!important}.d-md-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-md-block[_ngcontent-%COMP%]{display:block!important}.d-md-table[_ngcontent-%COMP%]{display:table!important}.d-md-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-md-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-md-flex[_ngcontent-%COMP%]{display:flex!important}.d-md-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}}@media (min-width:992px){.d-lg-none[_ngcontent-%COMP%]{display:none!important}.d-lg-inline[_ngcontent-%COMP%]{display:inline!important}.d-lg-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-lg-block[_ngcontent-%COMP%]{display:block!important}.d-lg-table[_ngcontent-%COMP%]{display:table!important}.d-lg-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-lg-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-lg-flex[_ngcontent-%COMP%]{display:flex!important}.d-lg-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}}@media (min-width:1200px){.d-xl-none[_ngcontent-%COMP%]{display:none!important}.d-xl-inline[_ngcontent-%COMP%]{display:inline!important}.d-xl-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-xl-block[_ngcontent-%COMP%]{display:block!important}.d-xl-table[_ngcontent-%COMP%]{display:table!important}.d-xl-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-xl-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-xl-flex[_ngcontent-%COMP%]{display:flex!important}.d-xl-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}}@media print{.d-print-none[_ngcontent-%COMP%]{display:none!important}.d-print-inline[_ngcontent-%COMP%]{display:inline!important}.d-print-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-print-block[_ngcontent-%COMP%]{display:block!important}.d-print-table[_ngcontent-%COMP%]{display:table!important}.d-print-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-print-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-print-flex[_ngcontent-%COMP%]{display:flex!important}.d-print-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}}.embed-responsive[_ngcontent-%COMP%]{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive[_ngcontent-%COMP%]::before{display:block;content:""}.embed-responsive[_ngcontent-%COMP%]   .embed-responsive-item[_ngcontent-%COMP%], .embed-responsive[_ngcontent-%COMP%]   embed[_ngcontent-%COMP%], .embed-responsive[_ngcontent-%COMP%]   iframe[_ngcontent-%COMP%], .embed-responsive[_ngcontent-%COMP%]   object[_ngcontent-%COMP%], .embed-responsive[_ngcontent-%COMP%]   video[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9[_ngcontent-%COMP%]::before{padding-top:42.8571428571%}.embed-responsive-16by9[_ngcontent-%COMP%]::before{padding-top:56.25%}.embed-responsive-4by3[_ngcontent-%COMP%]::before{padding-top:75%}.embed-responsive-1by1[_ngcontent-%COMP%]::before{padding-top:100%}.flex-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-column[_ngcontent-%COMP%], cd-info-card[_ngcontent-%COMP%]{flex-direction:column!important}.flex-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.flex-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.justify-content-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-stretch[_ngcontent-%COMP%]{align-self:stretch!important}@media (min-width:576px){.flex-sm-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-sm-column[_ngcontent-%COMP%]{flex-direction:column!important}.flex-sm-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-sm-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-sm-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-sm-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-sm-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.flex-sm-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-sm-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-sm-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-sm-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-sm-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.justify-content-sm-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-sm-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-sm-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-sm-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-sm-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-sm-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-sm-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-sm-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-sm-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-sm-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-sm-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-sm-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-sm-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-sm-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-sm-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-sm-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-sm-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-sm-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-sm-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-sm-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-sm-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-sm-stretch[_ngcontent-%COMP%]{align-self:stretch!important}}.float-left[_ngcontent-%COMP%]{float:left!important}.float-right[_ngcontent-%COMP%]{float:right!important}.float-none[_ngcontent-%COMP%]{float:none!important}@media (min-width:576px){.float-sm-left[_ngcontent-%COMP%]{float:left!important}.float-sm-right[_ngcontent-%COMP%]{float:right!important}.float-sm-none[_ngcontent-%COMP%]{float:none!important}}.overflow-auto[_ngcontent-%COMP%]{overflow:auto!important}.overflow-hidden[_ngcontent-%COMP%]{overflow:hidden!important}.position-static[_ngcontent-%COMP%]{position:static!important}.position-relative[_ngcontent-%COMP%]{position:relative!important}.position-absolute[_ngcontent-%COMP%]{position:absolute!important}.position-fixed[_ngcontent-%COMP%]{position:fixed!important}.position-sticky[_ngcontent-%COMP%]{position:sticky!important}.fixed-top[_ngcontent-%COMP%]{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom[_ngcontent-%COMP%]{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports (position:sticky){.sticky-top[_ngcontent-%COMP%]{position:sticky;top:0;z-index:1020}}.sr-only[_ngcontent-%COMP%]{clip:rect(0,0,0,0);white-space:nowrap}.shadow-sm[_ngcontent-%COMP%]{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow[_ngcontent-%COMP%]{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg[_ngcontent-%COMP%]{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none[_ngcontent-%COMP%]{box-shadow:none!important}.w-25[_ngcontent-%COMP%]{width:25%!important}.w-50[_ngcontent-%COMP%]{width:50%!important}.w-75[_ngcontent-%COMP%]{width:75%!important}.w-100[_ngcontent-%COMP%]{width:100%!important}.w-auto[_ngcontent-%COMP%]{width:auto!important}.h-25[_ngcontent-%COMP%]{height:25%!important}.h-50[_ngcontent-%COMP%]{height:50%!important}.h-75[_ngcontent-%COMP%]{height:75%!important}.h-100[_ngcontent-%COMP%]{height:100%!important}.h-auto[_ngcontent-%COMP%]{height:auto!important}.mw-100[_ngcontent-%COMP%]{max-width:100%!important}.mh-100[_ngcontent-%COMP%]{max-height:100%!important}.min-vw-100[_ngcontent-%COMP%]{min-width:100vw!important}.min-vh-100[_ngcontent-%COMP%]{min-height:100vh!important}.vw-100[_ngcontent-%COMP%]{width:100vw!important}.vh-100[_ngcontent-%COMP%]{height:100vh!important}.stretched-link[_ngcontent-%COMP%]::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.m-0[_ngcontent-%COMP%]{margin:0!important}.mt-0[_ngcontent-%COMP%], .my-0[_ngcontent-%COMP%]{margin-top:0!important}.mr-0[_ngcontent-%COMP%], .mx-0[_ngcontent-%COMP%]{margin-right:0!important}.mb-0[_ngcontent-%COMP%], .my-0[_ngcontent-%COMP%]{margin-bottom:0!important}.ml-0[_ngcontent-%COMP%], .mx-0[_ngcontent-%COMP%]{margin-left:0!important}.m-1[_ngcontent-%COMP%]{margin:.25rem!important}.mt-1[_ngcontent-%COMP%], .my-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mr-1[_ngcontent-%COMP%], .mx-1[_ngcontent-%COMP%]{margin-right:.25rem!important}.mb-1[_ngcontent-%COMP%], .my-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.ml-1[_ngcontent-%COMP%], .mx-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.m-2[_ngcontent-%COMP%]{margin:.5rem!important}.mt-2[_ngcontent-%COMP%], .my-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mr-2[_ngcontent-%COMP%], .mx-2[_ngcontent-%COMP%]{margin-right:.5rem!important}.mb-2[_ngcontent-%COMP%], .my-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.ml-2[_ngcontent-%COMP%], .mx-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.m-3[_ngcontent-%COMP%]{margin:1rem!important}.mt-3[_ngcontent-%COMP%], .my-3[_ngcontent-%COMP%]{margin-top:1rem!important}.mr-3[_ngcontent-%COMP%], .mx-3[_ngcontent-%COMP%]{margin-right:1rem!important}.mb-3[_ngcontent-%COMP%], .my-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.ml-3[_ngcontent-%COMP%], .mx-3[_ngcontent-%COMP%]{margin-left:1rem!important}.m-4[_ngcontent-%COMP%]{margin:1.5rem!important}.cd-header[_ngcontent-%COMP%], .mt-4[_ngcontent-%COMP%], .my-4[_ngcontent-%COMP%], legend[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mr-4[_ngcontent-%COMP%], .mx-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.cd-header[_ngcontent-%COMP%], .mb-4[_ngcontent-%COMP%], .my-4[_ngcontent-%COMP%], cd-info-card[_ngcontent-%COMP%], legend[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.ml-4[_ngcontent-%COMP%], .mx-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.m-5[_ngcontent-%COMP%]{margin:3rem!important}.mt-5[_ngcontent-%COMP%], .my-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mr-5[_ngcontent-%COMP%], .mx-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mb-5[_ngcontent-%COMP%], .my-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.ml-5[_ngcontent-%COMP%], .mx-5[_ngcontent-%COMP%]{margin-left:3rem!important}.p-0[_ngcontent-%COMP%]{padding:0!important}.pt-0[_ngcontent-%COMP%], .py-0[_ngcontent-%COMP%]{padding-top:0!important}.pr-0[_ngcontent-%COMP%], .px-0[_ngcontent-%COMP%]{padding-right:0!important}.pb-0[_ngcontent-%COMP%], .py-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pl-0[_ngcontent-%COMP%], .px-0[_ngcontent-%COMP%]{padding-left:0!important}.p-1[_ngcontent-%COMP%]{padding:.25rem!important}.pt-1[_ngcontent-%COMP%], .py-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pr-1[_ngcontent-%COMP%], .px-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.cd-header[_ngcontent-%COMP%], .pb-1[_ngcontent-%COMP%], .py-1[_ngcontent-%COMP%], legend[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pl-1[_ngcontent-%COMP%], .px-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.p-2[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]{padding:.5rem!important}.pt-2[_ngcontent-%COMP%], .py-2[_ngcontent-%COMP%]{padding-top:.5rem!important}.pr-2[_ngcontent-%COMP%], .px-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.pb-2[_ngcontent-%COMP%], .py-2[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pl-2[_ngcontent-%COMP%], .px-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.p-3[_ngcontent-%COMP%]{padding:1rem!important}.pt-3[_ngcontent-%COMP%], .py-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pr-3[_ngcontent-%COMP%], .px-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pb-3[_ngcontent-%COMP%], .py-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pl-3[_ngcontent-%COMP%], .px-3[_ngcontent-%COMP%]{padding-left:1rem!important}.p-4[_ngcontent-%COMP%]{padding:1.5rem!important}.pt-4[_ngcontent-%COMP%], .py-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pr-4[_ngcontent-%COMP%], .px-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pb-4[_ngcontent-%COMP%], .py-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pl-4[_ngcontent-%COMP%], .px-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.p-5[_ngcontent-%COMP%]{padding:3rem!important}.pt-5[_ngcontent-%COMP%], .py-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-5[_ngcontent-%COMP%], .px-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-5[_ngcontent-%COMP%], .py-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-5[_ngcontent-%COMP%], .px-5[_ngcontent-%COMP%]{padding-left:3rem!important}.m-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.mt-n1[_ngcontent-%COMP%], .my-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mr-n1[_ngcontent-%COMP%], .mx-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mb-n1[_ngcontent-%COMP%], .my-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.ml-n1[_ngcontent-%COMP%], .mx-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.m-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.mt-n2[_ngcontent-%COMP%], .my-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mr-n2[_ngcontent-%COMP%], .mx-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mb-n2[_ngcontent-%COMP%], .my-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.ml-n2[_ngcontent-%COMP%], .mx-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.m-n3[_ngcontent-%COMP%]{margin:-1rem!important}.mt-n3[_ngcontent-%COMP%], .my-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mr-n3[_ngcontent-%COMP%], .mx-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mb-n3[_ngcontent-%COMP%], .my-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.ml-n3[_ngcontent-%COMP%], .mx-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.m-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.mt-n4[_ngcontent-%COMP%], .my-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mr-n4[_ngcontent-%COMP%], .mx-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mb-n4[_ngcontent-%COMP%], .my-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.ml-n4[_ngcontent-%COMP%], .mx-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.m-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mt-n5[_ngcontent-%COMP%], .my-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-n5[_ngcontent-%COMP%], .mx-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-n5[_ngcontent-%COMP%], .my-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-n5[_ngcontent-%COMP%], .mx-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.m-auto[_ngcontent-%COMP%]{margin:auto!important}.mt-auto[_ngcontent-%COMP%], .my-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-auto[_ngcontent-%COMP%], .mx-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-auto[_ngcontent-%COMP%], .my-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-auto[_ngcontent-%COMP%], .mx-auto[_ngcontent-%COMP%]{margin-left:auto!important}@media (min-width:576px){.m-sm-0[_ngcontent-%COMP%]{margin:0!important}.mt-sm-0[_ngcontent-%COMP%], .my-sm-0[_ngcontent-%COMP%]{margin-top:0!important}.mr-sm-0[_ngcontent-%COMP%], .mx-sm-0[_ngcontent-%COMP%]{margin-right:0!important}.mb-sm-0[_ngcontent-%COMP%], .my-sm-0[_ngcontent-%COMP%]{margin-bottom:0!important}.ml-sm-0[_ngcontent-%COMP%], .mx-sm-0[_ngcontent-%COMP%]{margin-left:0!important}.m-sm-1[_ngcontent-%COMP%]{margin:.25rem!important}.mt-sm-1[_ngcontent-%COMP%], .my-sm-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mr-sm-1[_ngcontent-%COMP%], .mx-sm-1[_ngcontent-%COMP%]{margin-right:.25rem!important}.mb-sm-1[_ngcontent-%COMP%], .my-sm-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.ml-sm-1[_ngcontent-%COMP%], .mx-sm-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.m-sm-2[_ngcontent-%COMP%]{margin:.5rem!important}.mt-sm-2[_ngcontent-%COMP%], .my-sm-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mr-sm-2[_ngcontent-%COMP%], .mx-sm-2[_ngcontent-%COMP%]{margin-right:.5rem!important}.mb-sm-2[_ngcontent-%COMP%], .my-sm-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.ml-sm-2[_ngcontent-%COMP%], .mx-sm-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.m-sm-3[_ngcontent-%COMP%]{margin:1rem!important}.mt-sm-3[_ngcontent-%COMP%], .my-sm-3[_ngcontent-%COMP%]{margin-top:1rem!important}.mr-sm-3[_ngcontent-%COMP%], .mx-sm-3[_ngcontent-%COMP%]{margin-right:1rem!important}.mb-sm-3[_ngcontent-%COMP%], .my-sm-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.ml-sm-3[_ngcontent-%COMP%], .mx-sm-3[_ngcontent-%COMP%]{margin-left:1rem!important}.m-sm-4[_ngcontent-%COMP%]{margin:1.5rem!important}.mt-sm-4[_ngcontent-%COMP%], .my-sm-4[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mr-sm-4[_ngcontent-%COMP%], .mx-sm-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.mb-sm-4[_ngcontent-%COMP%], .my-sm-4[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.ml-sm-4[_ngcontent-%COMP%], .mx-sm-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.m-sm-5[_ngcontent-%COMP%]{margin:3rem!important}.mt-sm-5[_ngcontent-%COMP%], .my-sm-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mr-sm-5[_ngcontent-%COMP%], .mx-sm-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mb-sm-5[_ngcontent-%COMP%], .my-sm-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.ml-sm-5[_ngcontent-%COMP%], .mx-sm-5[_ngcontent-%COMP%]{margin-left:3rem!important}.p-sm-0[_ngcontent-%COMP%]{padding:0!important}.pt-sm-0[_ngcontent-%COMP%], .py-sm-0[_ngcontent-%COMP%]{padding-top:0!important}.pr-sm-0[_ngcontent-%COMP%], .px-sm-0[_ngcontent-%COMP%]{padding-right:0!important}.pb-sm-0[_ngcontent-%COMP%], .py-sm-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pl-sm-0[_ngcontent-%COMP%], .px-sm-0[_ngcontent-%COMP%]{padding-left:0!important}.p-sm-1[_ngcontent-%COMP%]{padding:.25rem!important}.pt-sm-1[_ngcontent-%COMP%], .py-sm-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pr-sm-1[_ngcontent-%COMP%], .px-sm-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.pb-sm-1[_ngcontent-%COMP%], .py-sm-1[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pl-sm-1[_ngcontent-%COMP%], .px-sm-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.p-sm-2[_ngcontent-%COMP%]{padding:.5rem!important}.pt-sm-2[_ngcontent-%COMP%], .py-sm-2[_ngcontent-%COMP%]{padding-top:.5rem!important}.pr-sm-2[_ngcontent-%COMP%], .px-sm-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.pb-sm-2[_ngcontent-%COMP%], .py-sm-2[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pl-sm-2[_ngcontent-%COMP%], .px-sm-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.p-sm-3[_ngcontent-%COMP%]{padding:1rem!important}.pt-sm-3[_ngcontent-%COMP%], .py-sm-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pr-sm-3[_ngcontent-%COMP%], .px-sm-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pb-sm-3[_ngcontent-%COMP%], .py-sm-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pl-sm-3[_ngcontent-%COMP%], .px-sm-3[_ngcontent-%COMP%]{padding-left:1rem!important}.p-sm-4[_ngcontent-%COMP%]{padding:1.5rem!important}.pt-sm-4[_ngcontent-%COMP%], .py-sm-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pr-sm-4[_ngcontent-%COMP%], .px-sm-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pb-sm-4[_ngcontent-%COMP%], .py-sm-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pl-sm-4[_ngcontent-%COMP%], .px-sm-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.p-sm-5[_ngcontent-%COMP%]{padding:3rem!important}.pt-sm-5[_ngcontent-%COMP%], .py-sm-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-sm-5[_ngcontent-%COMP%], .px-sm-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-sm-5[_ngcontent-%COMP%], .py-sm-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-sm-5[_ngcontent-%COMP%], .px-sm-5[_ngcontent-%COMP%]{padding-left:3rem!important}.m-sm-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.mt-sm-n1[_ngcontent-%COMP%], .my-sm-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mr-sm-n1[_ngcontent-%COMP%], .mx-sm-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mb-sm-n1[_ngcontent-%COMP%], .my-sm-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.ml-sm-n1[_ngcontent-%COMP%], .mx-sm-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.m-sm-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.mt-sm-n2[_ngcontent-%COMP%], .my-sm-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mr-sm-n2[_ngcontent-%COMP%], .mx-sm-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mb-sm-n2[_ngcontent-%COMP%], .my-sm-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.ml-sm-n2[_ngcontent-%COMP%], .mx-sm-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.m-sm-n3[_ngcontent-%COMP%]{margin:-1rem!important}.mt-sm-n3[_ngcontent-%COMP%], .my-sm-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mr-sm-n3[_ngcontent-%COMP%], .mx-sm-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mb-sm-n3[_ngcontent-%COMP%], .my-sm-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.ml-sm-n3[_ngcontent-%COMP%], .mx-sm-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.m-sm-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.mt-sm-n4[_ngcontent-%COMP%], .my-sm-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mr-sm-n4[_ngcontent-%COMP%], .mx-sm-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mb-sm-n4[_ngcontent-%COMP%], .my-sm-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.ml-sm-n4[_ngcontent-%COMP%], .mx-sm-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.m-sm-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mt-sm-n5[_ngcontent-%COMP%], .my-sm-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-sm-n5[_ngcontent-%COMP%], .mx-sm-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-sm-n5[_ngcontent-%COMP%], .my-sm-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-sm-n5[_ngcontent-%COMP%], .mx-sm-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.m-sm-auto[_ngcontent-%COMP%]{margin:auto!important}.mt-sm-auto[_ngcontent-%COMP%], .my-sm-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-sm-auto[_ngcontent-%COMP%], .mx-sm-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-sm-auto[_ngcontent-%COMP%], .my-sm-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-sm-auto[_ngcontent-%COMP%], .mx-sm-auto[_ngcontent-%COMP%]{margin-left:auto!important}}.text-monospace[_ngcontent-%COMP%]{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.text-justify[_ngcontent-%COMP%]{text-align:justify!important}.text-wrap[_ngcontent-%COMP%]{white-space:normal!important}.text-nowrap[_ngcontent-%COMP%]{white-space:nowrap!important}.text-truncate[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left[_ngcontent-%COMP%]{text-align:left!important}.text-right[_ngcontent-%COMP%]{text-align:right!important}.text-center[_ngcontent-%COMP%]{text-align:center!important}@media (min-width:576px){.text-sm-left[_ngcontent-%COMP%]{text-align:left!important}.text-sm-right[_ngcontent-%COMP%]{text-align:right!important}.text-sm-center[_ngcontent-%COMP%]{text-align:center!important}}@media (min-width:768px){.flex-md-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-md-column[_ngcontent-%COMP%]{flex-direction:column!important}.flex-md-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-md-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-md-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-md-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-md-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.flex-md-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-md-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-md-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-md-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-md-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.justify-content-md-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-md-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-md-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-md-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-md-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-md-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-md-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-md-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-md-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-md-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-md-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-md-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-md-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-md-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-md-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-md-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-md-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-md-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-md-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-md-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-md-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-md-stretch[_ngcontent-%COMP%]{align-self:stretch!important}.float-md-left[_ngcontent-%COMP%]{float:left!important}.float-md-right[_ngcontent-%COMP%]{float:right!important}.float-md-none[_ngcontent-%COMP%]{float:none!important}.m-md-0[_ngcontent-%COMP%]{margin:0!important}.mt-md-0[_ngcontent-%COMP%], .my-md-0[_ngcontent-%COMP%]{margin-top:0!important}.mr-md-0[_ngcontent-%COMP%], .mx-md-0[_ngcontent-%COMP%]{margin-right:0!important}.mb-md-0[_ngcontent-%COMP%], .my-md-0[_ngcontent-%COMP%]{margin-bottom:0!important}.ml-md-0[_ngcontent-%COMP%], .mx-md-0[_ngcontent-%COMP%]{margin-left:0!important}.m-md-1[_ngcontent-%COMP%]{margin:.25rem!important}.mt-md-1[_ngcontent-%COMP%], .my-md-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mr-md-1[_ngcontent-%COMP%], .mx-md-1[_ngcontent-%COMP%]{margin-right:.25rem!important}.mb-md-1[_ngcontent-%COMP%], .my-md-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.ml-md-1[_ngcontent-%COMP%], .mx-md-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.m-md-2[_ngcontent-%COMP%]{margin:.5rem!important}.mt-md-2[_ngcontent-%COMP%], .my-md-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mr-md-2[_ngcontent-%COMP%], .mx-md-2[_ngcontent-%COMP%]{margin-right:.5rem!important}.mb-md-2[_ngcontent-%COMP%], .my-md-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.ml-md-2[_ngcontent-%COMP%], .mx-md-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.m-md-3[_ngcontent-%COMP%]{margin:1rem!important}.mt-md-3[_ngcontent-%COMP%], .my-md-3[_ngcontent-%COMP%]{margin-top:1rem!important}.mr-md-3[_ngcontent-%COMP%], .mx-md-3[_ngcontent-%COMP%]{margin-right:1rem!important}.mb-md-3[_ngcontent-%COMP%], .my-md-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.ml-md-3[_ngcontent-%COMP%], .mx-md-3[_ngcontent-%COMP%]{margin-left:1rem!important}.m-md-4[_ngcontent-%COMP%]{margin:1.5rem!important}.mt-md-4[_ngcontent-%COMP%], .my-md-4[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mr-md-4[_ngcontent-%COMP%], .mx-md-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.mb-md-4[_ngcontent-%COMP%], .my-md-4[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.ml-md-4[_ngcontent-%COMP%], .mx-md-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.m-md-5[_ngcontent-%COMP%]{margin:3rem!important}.mt-md-5[_ngcontent-%COMP%], .my-md-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mr-md-5[_ngcontent-%COMP%], .mx-md-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mb-md-5[_ngcontent-%COMP%], .my-md-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.ml-md-5[_ngcontent-%COMP%], .mx-md-5[_ngcontent-%COMP%]{margin-left:3rem!important}.p-md-0[_ngcontent-%COMP%]{padding:0!important}.pt-md-0[_ngcontent-%COMP%], .py-md-0[_ngcontent-%COMP%]{padding-top:0!important}.pr-md-0[_ngcontent-%COMP%], .px-md-0[_ngcontent-%COMP%]{padding-right:0!important}.pb-md-0[_ngcontent-%COMP%], .py-md-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pl-md-0[_ngcontent-%COMP%], .px-md-0[_ngcontent-%COMP%]{padding-left:0!important}.p-md-1[_ngcontent-%COMP%]{padding:.25rem!important}.pt-md-1[_ngcontent-%COMP%], .py-md-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pr-md-1[_ngcontent-%COMP%], .px-md-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.pb-md-1[_ngcontent-%COMP%], .py-md-1[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pl-md-1[_ngcontent-%COMP%], .px-md-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.p-md-2[_ngcontent-%COMP%]{padding:.5rem!important}.pt-md-2[_ngcontent-%COMP%], .py-md-2[_ngcontent-%COMP%]{padding-top:.5rem!important}.pr-md-2[_ngcontent-%COMP%], .px-md-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.pb-md-2[_ngcontent-%COMP%], .py-md-2[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pl-md-2[_ngcontent-%COMP%], .px-md-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.p-md-3[_ngcontent-%COMP%]{padding:1rem!important}.pt-md-3[_ngcontent-%COMP%], .py-md-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pr-md-3[_ngcontent-%COMP%], .px-md-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pb-md-3[_ngcontent-%COMP%], .py-md-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pl-md-3[_ngcontent-%COMP%], .px-md-3[_ngcontent-%COMP%]{padding-left:1rem!important}.p-md-4[_ngcontent-%COMP%]{padding:1.5rem!important}.pt-md-4[_ngcontent-%COMP%], .py-md-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pr-md-4[_ngcontent-%COMP%], .px-md-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pb-md-4[_ngcontent-%COMP%], .py-md-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pl-md-4[_ngcontent-%COMP%], .px-md-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.p-md-5[_ngcontent-%COMP%]{padding:3rem!important}.pt-md-5[_ngcontent-%COMP%], .py-md-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-md-5[_ngcontent-%COMP%], .px-md-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-md-5[_ngcontent-%COMP%], .py-md-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-md-5[_ngcontent-%COMP%], .px-md-5[_ngcontent-%COMP%]{padding-left:3rem!important}.m-md-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.mt-md-n1[_ngcontent-%COMP%], .my-md-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mr-md-n1[_ngcontent-%COMP%], .mx-md-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mb-md-n1[_ngcontent-%COMP%], .my-md-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.ml-md-n1[_ngcontent-%COMP%], .mx-md-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.m-md-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.mt-md-n2[_ngcontent-%COMP%], .my-md-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mr-md-n2[_ngcontent-%COMP%], .mx-md-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mb-md-n2[_ngcontent-%COMP%], .my-md-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.ml-md-n2[_ngcontent-%COMP%], .mx-md-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.m-md-n3[_ngcontent-%COMP%]{margin:-1rem!important}.mt-md-n3[_ngcontent-%COMP%], .my-md-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mr-md-n3[_ngcontent-%COMP%], .mx-md-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mb-md-n3[_ngcontent-%COMP%], .my-md-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.ml-md-n3[_ngcontent-%COMP%], .mx-md-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.m-md-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.mt-md-n4[_ngcontent-%COMP%], .my-md-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mr-md-n4[_ngcontent-%COMP%], .mx-md-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mb-md-n4[_ngcontent-%COMP%], .my-md-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.ml-md-n4[_ngcontent-%COMP%], .mx-md-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.m-md-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mt-md-n5[_ngcontent-%COMP%], .my-md-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-md-n5[_ngcontent-%COMP%], .mx-md-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-md-n5[_ngcontent-%COMP%], .my-md-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-md-n5[_ngcontent-%COMP%], .mx-md-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.m-md-auto[_ngcontent-%COMP%]{margin:auto!important}.mt-md-auto[_ngcontent-%COMP%], .my-md-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-md-auto[_ngcontent-%COMP%], .mx-md-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-md-auto[_ngcontent-%COMP%], .my-md-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-md-auto[_ngcontent-%COMP%], .mx-md-auto[_ngcontent-%COMP%]{margin-left:auto!important}.text-md-left[_ngcontent-%COMP%]{text-align:left!important}.text-md-right[_ngcontent-%COMP%]{text-align:right!important}.text-md-center[_ngcontent-%COMP%]{text-align:center!important}}@media (min-width:992px){.flex-lg-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-lg-column[_ngcontent-%COMP%]{flex-direction:column!important}.flex-lg-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-lg-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-lg-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-lg-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-lg-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.flex-lg-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-lg-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-lg-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-lg-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-lg-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.justify-content-lg-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-lg-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-lg-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-lg-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-lg-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-lg-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-lg-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-lg-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-lg-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-lg-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-lg-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-lg-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-lg-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-lg-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-lg-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-lg-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-lg-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-lg-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-lg-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-lg-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-lg-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-lg-stretch[_ngcontent-%COMP%]{align-self:stretch!important}.float-lg-left[_ngcontent-%COMP%]{float:left!important}.float-lg-right[_ngcontent-%COMP%]{float:right!important}.float-lg-none[_ngcontent-%COMP%]{float:none!important}.m-lg-0[_ngcontent-%COMP%]{margin:0!important}.mt-lg-0[_ngcontent-%COMP%], .my-lg-0[_ngcontent-%COMP%]{margin-top:0!important}.mr-lg-0[_ngcontent-%COMP%], .mx-lg-0[_ngcontent-%COMP%]{margin-right:0!important}.mb-lg-0[_ngcontent-%COMP%], .my-lg-0[_ngcontent-%COMP%]{margin-bottom:0!important}.ml-lg-0[_ngcontent-%COMP%], .mx-lg-0[_ngcontent-%COMP%]{margin-left:0!important}.m-lg-1[_ngcontent-%COMP%]{margin:.25rem!important}.mt-lg-1[_ngcontent-%COMP%], .my-lg-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mr-lg-1[_ngcontent-%COMP%], .mx-lg-1[_ngcontent-%COMP%]{margin-right:.25rem!important}.mb-lg-1[_ngcontent-%COMP%], .my-lg-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.ml-lg-1[_ngcontent-%COMP%], .mx-lg-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.m-lg-2[_ngcontent-%COMP%]{margin:.5rem!important}.mt-lg-2[_ngcontent-%COMP%], .my-lg-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mr-lg-2[_ngcontent-%COMP%], .mx-lg-2[_ngcontent-%COMP%]{margin-right:.5rem!important}.mb-lg-2[_ngcontent-%COMP%], .my-lg-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.ml-lg-2[_ngcontent-%COMP%], .mx-lg-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.m-lg-3[_ngcontent-%COMP%]{margin:1rem!important}.mt-lg-3[_ngcontent-%COMP%], .my-lg-3[_ngcontent-%COMP%]{margin-top:1rem!important}.mr-lg-3[_ngcontent-%COMP%], .mx-lg-3[_ngcontent-%COMP%]{margin-right:1rem!important}.mb-lg-3[_ngcontent-%COMP%], .my-lg-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.ml-lg-3[_ngcontent-%COMP%], .mx-lg-3[_ngcontent-%COMP%]{margin-left:1rem!important}.m-lg-4[_ngcontent-%COMP%]{margin:1.5rem!important}.mt-lg-4[_ngcontent-%COMP%], .my-lg-4[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mr-lg-4[_ngcontent-%COMP%], .mx-lg-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.mb-lg-4[_ngcontent-%COMP%], .my-lg-4[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.ml-lg-4[_ngcontent-%COMP%], .mx-lg-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.m-lg-5[_ngcontent-%COMP%]{margin:3rem!important}.mt-lg-5[_ngcontent-%COMP%], .my-lg-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mr-lg-5[_ngcontent-%COMP%], .mx-lg-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mb-lg-5[_ngcontent-%COMP%], .my-lg-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.ml-lg-5[_ngcontent-%COMP%], .mx-lg-5[_ngcontent-%COMP%]{margin-left:3rem!important}.p-lg-0[_ngcontent-%COMP%]{padding:0!important}.pt-lg-0[_ngcontent-%COMP%], .py-lg-0[_ngcontent-%COMP%]{padding-top:0!important}.pr-lg-0[_ngcontent-%COMP%], .px-lg-0[_ngcontent-%COMP%]{padding-right:0!important}.pb-lg-0[_ngcontent-%COMP%], .py-lg-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pl-lg-0[_ngcontent-%COMP%], .px-lg-0[_ngcontent-%COMP%]{padding-left:0!important}.p-lg-1[_ngcontent-%COMP%]{padding:.25rem!important}.pt-lg-1[_ngcontent-%COMP%], .py-lg-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pr-lg-1[_ngcontent-%COMP%], .px-lg-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.pb-lg-1[_ngcontent-%COMP%], .py-lg-1[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pl-lg-1[_ngcontent-%COMP%], .px-lg-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.p-lg-2[_ngcontent-%COMP%]{padding:.5rem!important}.pt-lg-2[_ngcontent-%COMP%], .py-lg-2[_ngcontent-%COMP%]{padding-top:.5rem!important}.pr-lg-2[_ngcontent-%COMP%], .px-lg-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.pb-lg-2[_ngcontent-%COMP%], .py-lg-2[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pl-lg-2[_ngcontent-%COMP%], .px-lg-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.p-lg-3[_ngcontent-%COMP%]{padding:1rem!important}.pt-lg-3[_ngcontent-%COMP%], .py-lg-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pr-lg-3[_ngcontent-%COMP%], .px-lg-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pb-lg-3[_ngcontent-%COMP%], .py-lg-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pl-lg-3[_ngcontent-%COMP%], .px-lg-3[_ngcontent-%COMP%]{padding-left:1rem!important}.p-lg-4[_ngcontent-%COMP%]{padding:1.5rem!important}.pt-lg-4[_ngcontent-%COMP%], .py-lg-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pr-lg-4[_ngcontent-%COMP%], .px-lg-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pb-lg-4[_ngcontent-%COMP%], .py-lg-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pl-lg-4[_ngcontent-%COMP%], .px-lg-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.p-lg-5[_ngcontent-%COMP%]{padding:3rem!important}.pt-lg-5[_ngcontent-%COMP%], .py-lg-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-lg-5[_ngcontent-%COMP%], .px-lg-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-lg-5[_ngcontent-%COMP%], .py-lg-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-lg-5[_ngcontent-%COMP%], .px-lg-5[_ngcontent-%COMP%]{padding-left:3rem!important}.m-lg-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.mt-lg-n1[_ngcontent-%COMP%], .my-lg-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mr-lg-n1[_ngcontent-%COMP%], .mx-lg-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mb-lg-n1[_ngcontent-%COMP%], .my-lg-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.ml-lg-n1[_ngcontent-%COMP%], .mx-lg-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.m-lg-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.mt-lg-n2[_ngcontent-%COMP%], .my-lg-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mr-lg-n2[_ngcontent-%COMP%], .mx-lg-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mb-lg-n2[_ngcontent-%COMP%], .my-lg-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.ml-lg-n2[_ngcontent-%COMP%], .mx-lg-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.m-lg-n3[_ngcontent-%COMP%]{margin:-1rem!important}.mt-lg-n3[_ngcontent-%COMP%], .my-lg-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mr-lg-n3[_ngcontent-%COMP%], .mx-lg-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mb-lg-n3[_ngcontent-%COMP%], .my-lg-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.ml-lg-n3[_ngcontent-%COMP%], .mx-lg-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.m-lg-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.mt-lg-n4[_ngcontent-%COMP%], .my-lg-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mr-lg-n4[_ngcontent-%COMP%], .mx-lg-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mb-lg-n4[_ngcontent-%COMP%], .my-lg-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.ml-lg-n4[_ngcontent-%COMP%], .mx-lg-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.m-lg-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mt-lg-n5[_ngcontent-%COMP%], .my-lg-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-lg-n5[_ngcontent-%COMP%], .mx-lg-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-lg-n5[_ngcontent-%COMP%], .my-lg-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-lg-n5[_ngcontent-%COMP%], .mx-lg-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.m-lg-auto[_ngcontent-%COMP%]{margin:auto!important}.mt-lg-auto[_ngcontent-%COMP%], .my-lg-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-lg-auto[_ngcontent-%COMP%], .mx-lg-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-lg-auto[_ngcontent-%COMP%], .my-lg-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-lg-auto[_ngcontent-%COMP%], .mx-lg-auto[_ngcontent-%COMP%]{margin-left:auto!important}.text-lg-left[_ngcontent-%COMP%]{text-align:left!important}.text-lg-right[_ngcontent-%COMP%]{text-align:right!important}.text-lg-center[_ngcontent-%COMP%]{text-align:center!important}}@media (min-width:1200px){.flex-xl-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-xl-column[_ngcontent-%COMP%]{flex-direction:column!important}.flex-xl-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-xl-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-xl-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-xl-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-xl-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.flex-xl-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-xl-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-xl-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-xl-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-xl-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.justify-content-xl-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-xl-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-xl-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-xl-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-xl-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-xl-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-xl-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-xl-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-xl-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-xl-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-xl-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-xl-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-xl-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-xl-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-xl-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-xl-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-xl-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-xl-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-xl-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-xl-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-xl-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-xl-stretch[_ngcontent-%COMP%]{align-self:stretch!important}.float-xl-left[_ngcontent-%COMP%]{float:left!important}.float-xl-right[_ngcontent-%COMP%]{float:right!important}.float-xl-none[_ngcontent-%COMP%]{float:none!important}.m-xl-0[_ngcontent-%COMP%]{margin:0!important}.mt-xl-0[_ngcontent-%COMP%], .my-xl-0[_ngcontent-%COMP%]{margin-top:0!important}.mr-xl-0[_ngcontent-%COMP%], .mx-xl-0[_ngcontent-%COMP%]{margin-right:0!important}.mb-xl-0[_ngcontent-%COMP%], .my-xl-0[_ngcontent-%COMP%]{margin-bottom:0!important}.ml-xl-0[_ngcontent-%COMP%], .mx-xl-0[_ngcontent-%COMP%]{margin-left:0!important}.m-xl-1[_ngcontent-%COMP%]{margin:.25rem!important}.mt-xl-1[_ngcontent-%COMP%], .my-xl-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mr-xl-1[_ngcontent-%COMP%], .mx-xl-1[_ngcontent-%COMP%]{margin-right:.25rem!important}.mb-xl-1[_ngcontent-%COMP%], .my-xl-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.ml-xl-1[_ngcontent-%COMP%], .mx-xl-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.m-xl-2[_ngcontent-%COMP%]{margin:.5rem!important}.mt-xl-2[_ngcontent-%COMP%], .my-xl-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mr-xl-2[_ngcontent-%COMP%], .mx-xl-2[_ngcontent-%COMP%]{margin-right:.5rem!important}.mb-xl-2[_ngcontent-%COMP%], .my-xl-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.ml-xl-2[_ngcontent-%COMP%], .mx-xl-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.m-xl-3[_ngcontent-%COMP%]{margin:1rem!important}.mt-xl-3[_ngcontent-%COMP%], .my-xl-3[_ngcontent-%COMP%]{margin-top:1rem!important}.mr-xl-3[_ngcontent-%COMP%], .mx-xl-3[_ngcontent-%COMP%]{margin-right:1rem!important}.mb-xl-3[_ngcontent-%COMP%], .my-xl-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.ml-xl-3[_ngcontent-%COMP%], .mx-xl-3[_ngcontent-%COMP%]{margin-left:1rem!important}.m-xl-4[_ngcontent-%COMP%]{margin:1.5rem!important}.mt-xl-4[_ngcontent-%COMP%], .my-xl-4[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mr-xl-4[_ngcontent-%COMP%], .mx-xl-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.mb-xl-4[_ngcontent-%COMP%], .my-xl-4[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.ml-xl-4[_ngcontent-%COMP%], .mx-xl-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.m-xl-5[_ngcontent-%COMP%]{margin:3rem!important}.mt-xl-5[_ngcontent-%COMP%], .my-xl-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mr-xl-5[_ngcontent-%COMP%], .mx-xl-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mb-xl-5[_ngcontent-%COMP%], .my-xl-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.ml-xl-5[_ngcontent-%COMP%], .mx-xl-5[_ngcontent-%COMP%]{margin-left:3rem!important}.p-xl-0[_ngcontent-%COMP%]{padding:0!important}.pt-xl-0[_ngcontent-%COMP%], .py-xl-0[_ngcontent-%COMP%]{padding-top:0!important}.pr-xl-0[_ngcontent-%COMP%], .px-xl-0[_ngcontent-%COMP%]{padding-right:0!important}.pb-xl-0[_ngcontent-%COMP%], .py-xl-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pl-xl-0[_ngcontent-%COMP%], .px-xl-0[_ngcontent-%COMP%]{padding-left:0!important}.p-xl-1[_ngcontent-%COMP%]{padding:.25rem!important}.pt-xl-1[_ngcontent-%COMP%], .py-xl-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pr-xl-1[_ngcontent-%COMP%], .px-xl-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.pb-xl-1[_ngcontent-%COMP%], .py-xl-1[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pl-xl-1[_ngcontent-%COMP%], .px-xl-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.p-xl-2[_ngcontent-%COMP%]{padding:.5rem!important}.pt-xl-2[_ngcontent-%COMP%], .py-xl-2[_ngcontent-%COMP%]{padding-top:.5rem!important}.pr-xl-2[_ngcontent-%COMP%], .px-xl-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.pb-xl-2[_ngcontent-%COMP%], .py-xl-2[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pl-xl-2[_ngcontent-%COMP%], .px-xl-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.p-xl-3[_ngcontent-%COMP%]{padding:1rem!important}.pt-xl-3[_ngcontent-%COMP%], .py-xl-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pr-xl-3[_ngcontent-%COMP%], .px-xl-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pb-xl-3[_ngcontent-%COMP%], .py-xl-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pl-xl-3[_ngcontent-%COMP%], .px-xl-3[_ngcontent-%COMP%]{padding-left:1rem!important}.p-xl-4[_ngcontent-%COMP%]{padding:1.5rem!important}.pt-xl-4[_ngcontent-%COMP%], .py-xl-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pr-xl-4[_ngcontent-%COMP%], .px-xl-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pb-xl-4[_ngcontent-%COMP%], .py-xl-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pl-xl-4[_ngcontent-%COMP%], .px-xl-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.p-xl-5[_ngcontent-%COMP%]{padding:3rem!important}.pt-xl-5[_ngcontent-%COMP%], .py-xl-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-xl-5[_ngcontent-%COMP%], .px-xl-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-xl-5[_ngcontent-%COMP%], .py-xl-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-xl-5[_ngcontent-%COMP%], .px-xl-5[_ngcontent-%COMP%]{padding-left:3rem!important}.m-xl-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.mt-xl-n1[_ngcontent-%COMP%], .my-xl-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mr-xl-n1[_ngcontent-%COMP%], .mx-xl-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mb-xl-n1[_ngcontent-%COMP%], .my-xl-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.ml-xl-n1[_ngcontent-%COMP%], .mx-xl-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.m-xl-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.mt-xl-n2[_ngcontent-%COMP%], .my-xl-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mr-xl-n2[_ngcontent-%COMP%], .mx-xl-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mb-xl-n2[_ngcontent-%COMP%], .my-xl-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.ml-xl-n2[_ngcontent-%COMP%], .mx-xl-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.m-xl-n3[_ngcontent-%COMP%]{margin:-1rem!important}.mt-xl-n3[_ngcontent-%COMP%], .my-xl-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mr-xl-n3[_ngcontent-%COMP%], .mx-xl-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mb-xl-n3[_ngcontent-%COMP%], .my-xl-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.ml-xl-n3[_ngcontent-%COMP%], .mx-xl-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.m-xl-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.mt-xl-n4[_ngcontent-%COMP%], .my-xl-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mr-xl-n4[_ngcontent-%COMP%], .mx-xl-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mb-xl-n4[_ngcontent-%COMP%], .my-xl-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.ml-xl-n4[_ngcontent-%COMP%], .mx-xl-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.m-xl-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mt-xl-n5[_ngcontent-%COMP%], .my-xl-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-xl-n5[_ngcontent-%COMP%], .mx-xl-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-xl-n5[_ngcontent-%COMP%], .my-xl-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-xl-n5[_ngcontent-%COMP%], .mx-xl-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.m-xl-auto[_ngcontent-%COMP%]{margin:auto!important}.mt-xl-auto[_ngcontent-%COMP%], .my-xl-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-xl-auto[_ngcontent-%COMP%], .mx-xl-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-xl-auto[_ngcontent-%COMP%], .my-xl-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-xl-auto[_ngcontent-%COMP%], .mx-xl-auto[_ngcontent-%COMP%]{margin-left:auto!important}.text-xl-left[_ngcontent-%COMP%]{text-align:left!important}.text-xl-right[_ngcontent-%COMP%]{text-align:right!important}.text-xl-center[_ngcontent-%COMP%]{text-align:center!important}}.text-lowercase[_ngcontent-%COMP%]{text-transform:lowercase!important}.text-uppercase[_ngcontent-%COMP%]{text-transform:uppercase!important}.text-capitalize[_ngcontent-%COMP%]{text-transform:capitalize!important}.font-weight-light[_ngcontent-%COMP%]{font-weight:300!important}.font-weight-lighter[_ngcontent-%COMP%]{font-weight:lighter!important}.font-weight-normal[_ngcontent-%COMP%]{font-weight:400!important}.font-weight-bold[_ngcontent-%COMP%]{font-weight:700!important}.font-weight-bolder[_ngcontent-%COMP%]{font-weight:bolder!important}.font-italic[_ngcontent-%COMP%]{font-style:italic!important}.text-white[_ngcontent-%COMP%]{color:#fff!important}.text-primary[_ngcontent-%COMP%]{color:#2b99a8!important}a.text-primary[_ngcontent-%COMP%]:focus, a.text-primary[_ngcontent-%COMP%]:hover{color:#1b626b!important}.text-secondary[_ngcontent-%COMP%]{color:#ef5c55!important}a.text-secondary[_ngcontent-%COMP%]:focus, a.text-secondary[_ngcontent-%COMP%]:hover{color:#e21f15!important}.text-success[_ngcontent-%COMP%]{color:#28a745!important}a.text-success[_ngcontent-%COMP%]:focus, a.text-success[_ngcontent-%COMP%]:hover{color:#19692c!important}.text-info[_ngcontent-%COMP%]{color:#17a2b8!important}a.text-info[_ngcontent-%COMP%]:focus, a.text-info[_ngcontent-%COMP%]:hover{color:#0f6674!important}.text-warning[_ngcontent-%COMP%]{color:#ffc107!important}a.text-warning[_ngcontent-%COMP%]:focus, a.text-warning[_ngcontent-%COMP%]:hover{color:#ba8b00!important}.text-danger[_ngcontent-%COMP%]{color:#dc3545!important}a.text-danger[_ngcontent-%COMP%]:focus, a.text-danger[_ngcontent-%COMP%]:hover{color:#a71d2a!important}.text-light[_ngcontent-%COMP%]{color:#f8f9fa!important}a.text-light[_ngcontent-%COMP%]:focus, a.text-light[_ngcontent-%COMP%]:hover{color:#cbd3da!important}.text-dark[_ngcontent-%COMP%]{color:#777!important}a.text-dark[_ngcontent-%COMP%]:focus, a.text-dark[_ngcontent-%COMP%]:hover{color:#515151!important}.text-body[_ngcontent-%COMP%]{color:#212529!important}.text-muted[_ngcontent-%COMP%]{color:#6c757d!important}.text-black-50[_ngcontent-%COMP%]{color:rgba(0,0,0,.5)!important}.text-white-50[_ngcontent-%COMP%]{color:rgba(255,255,255,.5)!important}.text-hide[_ngcontent-%COMP%]{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none[_ngcontent-%COMP%]{text-decoration:none!important}.text-break[_ngcontent-%COMP%]{word-break:break-word!important;overflow-wrap:break-word!important}.text-reset[_ngcontent-%COMP%]{color:inherit!important}.visible[_ngcontent-%COMP%]{visibility:visible!important}.invisible[_ngcontent-%COMP%]{visibility:hidden!important}@media print{*[_ngcontent-%COMP%], [_ngcontent-%COMP%]::after, [_ngcontent-%COMP%]::before{text-shadow:none!important;box-shadow:none!important}a[_ngcontent-%COMP%]:not(.btn){text-decoration:underline}abbr[title][_ngcontent-%COMP%]::after{content:" (" attr(title) ")"}pre[_ngcontent-%COMP%]{white-space:pre-wrap!important}blockquote[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]{border:1px solid #adb5bd;page-break-inside:avoid}thead[_ngcontent-%COMP%]{display:table-header-group}img[_ngcontent-%COMP%], tr[_ngcontent-%COMP%]{page-break-inside:avoid}h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%], p[_ngcontent-%COMP%]{orphans:3;widows:3}h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%]{page-break-after:avoid}@page{size:a3}.container[_ngcontent-%COMP%], body[_ngcontent-%COMP%]{min-width:992px!important}.navbar[_ngcontent-%COMP%]{display:none}.badge[_ngcontent-%COMP%]{border:1px solid #000}.table[_ngcontent-%COMP%]{border-collapse:collapse!important}.table[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{background-color:#fff!important}.table-bordered[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-bordered[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border:1px solid #dee2e6!important}.table-dark[_ngcontent-%COMP%]{color:inherit}.table-dark[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#dee2e6}.table[_ngcontent-%COMP%]   .thead-dark[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{color:inherit;border-color:#dee2e6}}@font-face{font-family:ForkAwesome;src:url(forkawesome-webfont.35e77a38ca9d85c4e897.eot?v=1.1.7);src:url(forkawesome-webfont.35e77a38ca9d85c4e897.eot?#iefix&v=1.1.7) format("embedded-opentype"),url(forkawesome-webfont.3a9e014c2469ffa65a0e.woff2?v=1.1.7) format("woff2"),url(forkawesome-webfont.44bbdbbfb5a10ba2d1ce.woff?v=1.1.7) format("woff"),url(forkawesome-webfont.fc46f3dae03b2b2e1cee.ttf?v=1.1.7) format("truetype"),url(forkawesome-webfont.78dcc9c4999659b8026a.svg?v=1.1.7#forkawesomeregular) format("svg");font-weight:400;font-style:normal}.fa[_ngcontent-%COMP%]{display:inline-block;font:normal normal normal 14px/1 ForkAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg[_ngcontent-%COMP%]{font-size:1.3333333333em;line-height:.75em;vertical-align:-15%}.fa-2x[_ngcontent-%COMP%]{font-size:2em}.fa-3x[_ngcontent-%COMP%]{font-size:3em}.fa-4x[_ngcontent-%COMP%]{font-size:4em}.fa-5x[_ngcontent-%COMP%]{font-size:5em}.fa[_ngcontent-%COMP%], .fa-fw[_ngcontent-%COMP%]{width:1.2857142857em;text-align:center}.fa-ul[_ngcontent-%COMP%]{padding-left:0;margin-left:2.1428571429em;list-style-type:none}.fa-ul[_ngcontent-%COMP%] > li[_ngcontent-%COMP%]{position:relative}.fa-li[_ngcontent-%COMP%]{position:absolute;left:-2.1428571429em;width:2.1428571429em;top:.1428571429em;text-align:center}.fa-li.fa-lg[_ngcontent-%COMP%]{left:-1.8571428571em}.fa-border[_ngcontent-%COMP%]{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left[_ngcontent-%COMP%]{float:left}.fa-pull-right[_ngcontent-%COMP%]{float:right}.fa.fa-pull-left[_ngcontent-%COMP%]{margin-right:.3em}.fa.fa-pull-right[_ngcontent-%COMP%]{margin-left:.3em}.pull-right[_ngcontent-%COMP%]{float:right}.pull-left[_ngcontent-%COMP%]{float:left}.fa.pull-left[_ngcontent-%COMP%]{margin-right:.3em}.fa.pull-right[_ngcontent-%COMP%]{margin-left:.3em}.fa-spin[_ngcontent-%COMP%]{animation:2s linear infinite fa-spin}.fa-pulse[_ngcontent-%COMP%]{animation:1s steps(8) infinite fa-spin}@keyframes fa-spin{0%{transform:rotate(0)}100%{transform:rotate(359deg)}}.fa-rotate-90[_ngcontent-%COMP%]{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180[_ngcontent-%COMP%]{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270[_ngcontent-%COMP%]{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal[_ngcontent-%COMP%]{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";transform:scale(-1,1)}.fa-flip-vertical[_ngcontent-%COMP%]{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";transform:scale(1,-1)}[_ngcontent-%COMP%]:root   .fa-flip-horizontal[_ngcontent-%COMP%], [_ngcontent-%COMP%]:root   .fa-flip-vertical[_ngcontent-%COMP%], [_ngcontent-%COMP%]:root   .fa-rotate-180[_ngcontent-%COMP%], [_ngcontent-%COMP%]:root   .fa-rotate-270[_ngcontent-%COMP%], [_ngcontent-%COMP%]:root   .fa-rotate-90[_ngcontent-%COMP%]{filter:none}.fa-stack[_ngcontent-%COMP%]{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x[_ngcontent-%COMP%], .fa-stack-2x[_ngcontent-%COMP%]{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x[_ngcontent-%COMP%]{line-height:inherit}.fa-stack-2x[_ngcontent-%COMP%]{font-size:2em}.fa-inverse[_ngcontent-%COMP%]{color:#fff}.fa-glass[_ngcontent-%COMP%]:before{content:""}.fa-music[_ngcontent-%COMP%]:before{content:""}.fa-search[_ngcontent-%COMP%]:before{content:""}.fa-envelope-o[_ngcontent-%COMP%]:before{content:""}.fa-heart[_ngcontent-%COMP%]:before{content:""}.fa-star[_ngcontent-%COMP%]:before{content:""}.fa-star-o[_ngcontent-%COMP%]:before{content:""}.fa-user[_ngcontent-%COMP%]:before{content:""}.fa-film[_ngcontent-%COMP%]:before{content:""}.fa-th-large[_ngcontent-%COMP%]:before{content:""}.fa-th[_ngcontent-%COMP%]:before{content:""}.fa-th-list[_ngcontent-%COMP%]:before{content:""}.fa-check[_ngcontent-%COMP%]:before{content:""}.fa-close[_ngcontent-%COMP%]:before, .fa-remove[_ngcontent-%COMP%]:before, .fa-times[_ngcontent-%COMP%]:before{content:""}.fa-search-plus[_ngcontent-%COMP%]:before{content:""}.fa-search-minus[_ngcontent-%COMP%]:before{content:""}.fa-power-off[_ngcontent-%COMP%]:before{content:""}.fa-signal[_ngcontent-%COMP%]:before{content:""}.fa-cog[_ngcontent-%COMP%]:before, .fa-gear[_ngcontent-%COMP%]:before{content:""}.fa-trash-o[_ngcontent-%COMP%]:before{content:""}.fa-home[_ngcontent-%COMP%]:before{content:""}.fa-file-o[_ngcontent-%COMP%]:before{content:""}.fa-clock-o[_ngcontent-%COMP%]:before{content:""}.fa-road[_ngcontent-%COMP%]:before{content:""}.fa-download[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-o-down[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-o-up[_ngcontent-%COMP%]:before{content:""}.fa-inbox[_ngcontent-%COMP%]:before{content:""}.fa-play-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-repeat[_ngcontent-%COMP%]:before, .fa-rotate-right[_ngcontent-%COMP%]:before{content:""}.fa-refresh[_ngcontent-%COMP%]:before, .fa-sync[_ngcontent-%COMP%]:before{content:""}.fa-list-alt[_ngcontent-%COMP%]:before{content:""}.fa-lock[_ngcontent-%COMP%]:before{content:""}.fa-flag[_ngcontent-%COMP%]:before{content:""}.fa-headphones[_ngcontent-%COMP%]:before{content:""}.fa-volume-off[_ngcontent-%COMP%]:before{content:""}.fa-volume-down[_ngcontent-%COMP%]:before{content:""}.fa-volume-up[_ngcontent-%COMP%]:before{content:""}.fa-qrcode[_ngcontent-%COMP%]:before{content:""}.fa-barcode[_ngcontent-%COMP%]:before{content:""}.fa-tag[_ngcontent-%COMP%]:before{content:""}.fa-tags[_ngcontent-%COMP%]:before{content:""}.fa-book[_ngcontent-%COMP%]:before{content:""}.fa-bookmark[_ngcontent-%COMP%]:before{content:""}.fa-print[_ngcontent-%COMP%]:before{content:""}.fa-camera[_ngcontent-%COMP%]:before{content:""}.fa-font[_ngcontent-%COMP%]:before{content:""}.fa-bold[_ngcontent-%COMP%]:before{content:""}.fa-italic[_ngcontent-%COMP%]:before{content:""}.fa-text-height[_ngcontent-%COMP%]:before{content:""}.fa-text-width[_ngcontent-%COMP%]:before{content:""}.fa-align-left[_ngcontent-%COMP%]:before{content:""}.fa-align-center[_ngcontent-%COMP%]:before{content:""}.fa-align-right[_ngcontent-%COMP%]:before{content:""}.fa-align-justify[_ngcontent-%COMP%]:before{content:""}.fa-list[_ngcontent-%COMP%]:before{content:""}.fa-dedent[_ngcontent-%COMP%]:before, .fa-outdent[_ngcontent-%COMP%]:before{content:""}.fa-indent[_ngcontent-%COMP%]:before{content:""}.fa-video-camera[_ngcontent-%COMP%]:before, .fa-video[_ngcontent-%COMP%]:before{content:""}.fa-image[_ngcontent-%COMP%]:before, .fa-photo[_ngcontent-%COMP%]:before, .fa-picture-o[_ngcontent-%COMP%]:before{content:""}.fa-pencil[_ngcontent-%COMP%]:before{content:""}.fa-map-marker[_ngcontent-%COMP%]:before{content:""}.fa-adjust[_ngcontent-%COMP%]:before{content:""}.fa-tint[_ngcontent-%COMP%]:before{content:""}.fa-edit[_ngcontent-%COMP%]:before, .fa-pencil-square-o[_ngcontent-%COMP%]:before{content:""}.fa-share-square-o[_ngcontent-%COMP%]:before{content:""}.fa-check-square-o[_ngcontent-%COMP%]:before{content:""}.fa-arrows[_ngcontent-%COMP%]:before{content:""}.fa-step-backward[_ngcontent-%COMP%]:before{content:""}.fa-fast-backward[_ngcontent-%COMP%]:before{content:""}.fa-backward[_ngcontent-%COMP%]:before{content:""}.fa-play[_ngcontent-%COMP%]:before{content:""}.fa-pause[_ngcontent-%COMP%]:before{content:""}.fa-stop[_ngcontent-%COMP%]:before{content:""}.fa-forward[_ngcontent-%COMP%]:before{content:""}.fa-fast-forward[_ngcontent-%COMP%]:before{content:""}.fa-step-forward[_ngcontent-%COMP%]:before{content:""}.fa-eject[_ngcontent-%COMP%]:before{content:""}.fa-chevron-left[_ngcontent-%COMP%]:before{content:""}.fa-chevron-right[_ngcontent-%COMP%]:before{content:""}.fa-plus-circle[_ngcontent-%COMP%]:before{content:""}.fa-minus-circle[_ngcontent-%COMP%]:before{content:""}.fa-times-circle[_ngcontent-%COMP%]:before{content:""}.fa-check-circle[_ngcontent-%COMP%]:before{content:""}.fa-question-circle[_ngcontent-%COMP%]:before{content:""}.fa-info-circle[_ngcontent-%COMP%]:before{content:""}.fa-crosshairs[_ngcontent-%COMP%]:before{content:""}.fa-times-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-check-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-ban[_ngcontent-%COMP%]:before{content:""}.fa-arrow-left[_ngcontent-%COMP%]:before{content:""}.fa-arrow-right[_ngcontent-%COMP%]:before{content:""}.fa-arrow-up[_ngcontent-%COMP%]:before{content:""}.fa-arrow-down[_ngcontent-%COMP%]:before{content:""}.fa-mail-forward[_ngcontent-%COMP%]:before, .fa-share[_ngcontent-%COMP%]:before{content:""}.fa-expand[_ngcontent-%COMP%]:before{content:""}.fa-compress[_ngcontent-%COMP%]:before{content:""}.fa-plus[_ngcontent-%COMP%]:before{content:""}.fa-minus[_ngcontent-%COMP%]:before{content:""}.fa-asterisk[_ngcontent-%COMP%]:before{content:""}.fa-exclamation-circle[_ngcontent-%COMP%]:before{content:""}.fa-gift[_ngcontent-%COMP%]:before{content:""}.fa-leaf[_ngcontent-%COMP%]:before{content:""}.fa-fire[_ngcontent-%COMP%]:before{content:""}.fa-eye[_ngcontent-%COMP%]:before{content:""}.fa-eye-slash[_ngcontent-%COMP%]:before{content:""}.fa-exclamation-triangle[_ngcontent-%COMP%]:before, .fa-warning[_ngcontent-%COMP%]:before{content:""}.fa-plane[_ngcontent-%COMP%]:before{content:""}.fa-calendar[_ngcontent-%COMP%]:before{content:""}.fa-random[_ngcontent-%COMP%]:before{content:""}.fa-comment[_ngcontent-%COMP%]:before{content:""}.fa-magnet[_ngcontent-%COMP%]:before{content:""}.fa-chevron-up[_ngcontent-%COMP%]:before{content:""}.fa-chevron-down[_ngcontent-%COMP%]:before{content:""}.fa-retweet[_ngcontent-%COMP%]:before{content:""}.fa-shopping-cart[_ngcontent-%COMP%]:before{content:""}.fa-folder[_ngcontent-%COMP%]:before{content:""}.fa-folder-open[_ngcontent-%COMP%]:before{content:""}.fa-arrows-v[_ngcontent-%COMP%]:before{content:""}.fa-arrows-h[_ngcontent-%COMP%]:before{content:""}.fa-bar-chart-o[_ngcontent-%COMP%]:before, .fa-bar-chart[_ngcontent-%COMP%]:before{content:""}.fa-twitter-square[_ngcontent-%COMP%]:before{content:""}.fa-facebook-square[_ngcontent-%COMP%]:before{content:""}.fa-camera-retro[_ngcontent-%COMP%]:before{content:""}.fa-key[_ngcontent-%COMP%]:before{content:""}.fa-cogs[_ngcontent-%COMP%]:before, .fa-gears[_ngcontent-%COMP%]:before{content:""}.fa-comments[_ngcontent-%COMP%]:before{content:""}.fa-thumbs-o-up[_ngcontent-%COMP%]:before{content:""}.fa-thumbs-o-down[_ngcontent-%COMP%]:before{content:""}.fa-star-half[_ngcontent-%COMP%]:before{content:""}.fa-heart-o[_ngcontent-%COMP%]:before{content:""}.fa-sign-out[_ngcontent-%COMP%]:before{content:""}.fa-linkedin-square[_ngcontent-%COMP%]:before{content:""}.fa-thumb-tack[_ngcontent-%COMP%]:before{content:""}.fa-external-link[_ngcontent-%COMP%]:before{content:""}.fa-sign-in[_ngcontent-%COMP%]:before{content:""}.fa-trophy[_ngcontent-%COMP%]:before{content:""}.fa-github-square[_ngcontent-%COMP%]:before{content:""}.fa-upload[_ngcontent-%COMP%]:before{content:""}.fa-lemon-o[_ngcontent-%COMP%]:before{content:""}.fa-phone[_ngcontent-%COMP%]:before{content:""}.fa-square-o[_ngcontent-%COMP%]:before{content:""}.fa-bookmark-o[_ngcontent-%COMP%]:before{content:""}.fa-phone-square[_ngcontent-%COMP%]:before{content:""}.fa-twitter[_ngcontent-%COMP%]:before{content:""}.fa-facebook-f[_ngcontent-%COMP%]:before, .fa-facebook[_ngcontent-%COMP%]:before{content:""}.fa-github[_ngcontent-%COMP%]:before{content:""}.fa-unlock[_ngcontent-%COMP%]:before{content:""}.fa-credit-card[_ngcontent-%COMP%]:before{content:""}.fa-feed[_ngcontent-%COMP%]:before, .fa-rss[_ngcontent-%COMP%]:before{content:""}.fa-hdd-o[_ngcontent-%COMP%]:before{content:""}.fa-bullhorn[_ngcontent-%COMP%]:before{content:""}.fa-bell-o[_ngcontent-%COMP%]:before{content:""}.fa-certificate[_ngcontent-%COMP%]:before{content:""}.fa-hand-o-right[_ngcontent-%COMP%]:before{content:""}.fa-hand-o-left[_ngcontent-%COMP%]:before{content:""}.fa-hand-o-up[_ngcontent-%COMP%]:before{content:""}.fa-hand-o-down[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-left[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-right[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-up[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-down[_ngcontent-%COMP%]:before{content:""}.fa-globe[_ngcontent-%COMP%]:before{content:""}.fa-globe-e[_ngcontent-%COMP%]:before{content:""}.fa-globe-w[_ngcontent-%COMP%]:before{content:""}.fa-wrench[_ngcontent-%COMP%]:before{content:""}.fa-tasks[_ngcontent-%COMP%]:before{content:""}.fa-filter[_ngcontent-%COMP%]:before{content:""}.fa-briefcase[_ngcontent-%COMP%]:before{content:""}.fa-arrows-alt[_ngcontent-%COMP%]:before{content:""}.fa-community[_ngcontent-%COMP%]:before, .fa-group[_ngcontent-%COMP%]:before, .fa-users[_ngcontent-%COMP%]:before{content:""}.fa-chain[_ngcontent-%COMP%]:before, .fa-link[_ngcontent-%COMP%]:before{content:""}.fa-cloud[_ngcontent-%COMP%]:before{content:""}.fa-flask[_ngcontent-%COMP%]:before{content:""}.fa-cut[_ngcontent-%COMP%]:before, .fa-scissors[_ngcontent-%COMP%]:before{content:""}.fa-copy[_ngcontent-%COMP%]:before, .fa-files-o[_ngcontent-%COMP%]:before{content:""}.fa-paperclip[_ngcontent-%COMP%]:before{content:""}.fa-floppy-o[_ngcontent-%COMP%]:before, .fa-save[_ngcontent-%COMP%]:before{content:""}.fa-square[_ngcontent-%COMP%]:before{content:""}.fa-bars[_ngcontent-%COMP%]:before, .fa-navicon[_ngcontent-%COMP%]:before, .fa-reorder[_ngcontent-%COMP%]:before{content:""}.fa-list-ul[_ngcontent-%COMP%]:before{content:""}.fa-list-ol[_ngcontent-%COMP%]:before{content:""}.fa-strikethrough[_ngcontent-%COMP%]:before{content:""}.fa-underline[_ngcontent-%COMP%]:before{content:""}.fa-table[_ngcontent-%COMP%]:before{content:""}.fa-magic[_ngcontent-%COMP%]:before{content:""}.fa-truck[_ngcontent-%COMP%]:before{content:""}.fa-pinterest[_ngcontent-%COMP%]:before{content:""}.fa-pinterest-square[_ngcontent-%COMP%]:before{content:""}.fa-google-plus-square[_ngcontent-%COMP%]:before{content:""}.fa-google-plus-g[_ngcontent-%COMP%]:before, .fa-google-plus[_ngcontent-%COMP%]:before{content:""}.fa-money[_ngcontent-%COMP%]:before{content:""}.fa-caret-down[_ngcontent-%COMP%]:before{content:""}.fa-caret-up[_ngcontent-%COMP%]:before{content:""}.fa-caret-left[_ngcontent-%COMP%]:before{content:""}.fa-caret-right[_ngcontent-%COMP%]:before{content:""}.fa-columns[_ngcontent-%COMP%]:before{content:""}.fa-sort[_ngcontent-%COMP%]:before, .fa-unsorted[_ngcontent-%COMP%]:before{content:""}.fa-sort-desc[_ngcontent-%COMP%]:before, .fa-sort-down[_ngcontent-%COMP%]:before{content:""}.fa-sort-asc[_ngcontent-%COMP%]:before, .fa-sort-up[_ngcontent-%COMP%]:before{content:""}.fa-envelope[_ngcontent-%COMP%]:before{content:""}.fa-linkedin[_ngcontent-%COMP%]:before{content:""}.fa-rotate-left[_ngcontent-%COMP%]:before, .fa-undo[_ngcontent-%COMP%]:before{content:""}.fa-gavel[_ngcontent-%COMP%]:before, .fa-legal[_ngcontent-%COMP%]:before{content:""}.fa-dashboard[_ngcontent-%COMP%]:before, .fa-tachometer[_ngcontent-%COMP%]:before{content:""}.fa-comment-o[_ngcontent-%COMP%]:before{content:""}.fa-comments-o[_ngcontent-%COMP%]:before{content:""}.fa-bolt[_ngcontent-%COMP%]:before, .fa-flash[_ngcontent-%COMP%]:before{content:""}.fa-sitemap[_ngcontent-%COMP%]:before{content:""}.fa-umbrella[_ngcontent-%COMP%]:before{content:""}.fa-clipboard[_ngcontent-%COMP%]:before, .fa-paste[_ngcontent-%COMP%]:before{content:""}.fa-lightbulb-o[_ngcontent-%COMP%]:before{content:""}.fa-exchange[_ngcontent-%COMP%]:before{content:""}.fa-cloud-download[_ngcontent-%COMP%]:before{content:""}.fa-cloud-upload[_ngcontent-%COMP%]:before{content:""}.fa-user-md[_ngcontent-%COMP%]:before{content:""}.fa-stethoscope[_ngcontent-%COMP%]:before{content:""}.fa-suitcase[_ngcontent-%COMP%]:before{content:""}.fa-bell[_ngcontent-%COMP%]:before{content:""}.fa-coffee[_ngcontent-%COMP%]:before{content:""}.fa-cutlery[_ngcontent-%COMP%]:before, .fa-utensils[_ngcontent-%COMP%]:before{content:""}.fa-file-text-o[_ngcontent-%COMP%]:before{content:""}.fa-building-o[_ngcontent-%COMP%]:before{content:""}.fa-hospital-o[_ngcontent-%COMP%]:before{content:""}.fa-ambulance[_ngcontent-%COMP%]:before{content:""}.fa-medkit[_ngcontent-%COMP%]:before{content:""}.fa-fighter-jet[_ngcontent-%COMP%]:before{content:""}.fa-beer[_ngcontent-%COMP%]:before{content:""}.fa-h-square[_ngcontent-%COMP%]:before{content:""}.fa-plus-square[_ngcontent-%COMP%]:before{content:""}.fa-angle-double-left[_ngcontent-%COMP%]:before{content:""}.fa-angle-double-right[_ngcontent-%COMP%]:before{content:""}.fa-angle-double-up[_ngcontent-%COMP%]:before{content:""}.fa-angle-double-down[_ngcontent-%COMP%]:before{content:""}.fa-angle-left[_ngcontent-%COMP%]:before{content:""}.fa-angle-right[_ngcontent-%COMP%]:before{content:""}.fa-angle-up[_ngcontent-%COMP%]:before{content:""}.fa-angle-down[_ngcontent-%COMP%]:before{content:""}.fa-desktop[_ngcontent-%COMP%]:before{content:""}.fa-laptop[_ngcontent-%COMP%]:before{content:""}.fa-tablet[_ngcontent-%COMP%]:before{content:""}.fa-mobile-phone[_ngcontent-%COMP%]:before, .fa-mobile[_ngcontent-%COMP%]:before{content:""}.fa-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-quote-left[_ngcontent-%COMP%]:before{content:""}.fa-quote-right[_ngcontent-%COMP%]:before{content:""}.fa-spinner[_ngcontent-%COMP%]:before{content:""}.fa-circle[_ngcontent-%COMP%]:before{content:""}.fa-mail-reply[_ngcontent-%COMP%]:before, .fa-reply[_ngcontent-%COMP%]:before{content:""}.fa-github-alt[_ngcontent-%COMP%]:before{content:""}.fa-folder-o[_ngcontent-%COMP%]:before{content:""}.fa-folder-open-o[_ngcontent-%COMP%]:before{content:""}.fa-smile-o[_ngcontent-%COMP%]:before{content:""}.fa-frown-o[_ngcontent-%COMP%]:before{content:""}.fa-meh-o[_ngcontent-%COMP%]:before{content:""}.fa-gamepad[_ngcontent-%COMP%]:before{content:""}.fa-keyboard-o[_ngcontent-%COMP%]:before{content:""}.fa-flag-o[_ngcontent-%COMP%]:before{content:""}.fa-flag-checkered[_ngcontent-%COMP%]:before{content:""}.fa-terminal[_ngcontent-%COMP%]:before{content:""}.fa-code[_ngcontent-%COMP%]:before{content:""}.fa-mail-reply-all[_ngcontent-%COMP%]:before, .fa-reply-all[_ngcontent-%COMP%]:before{content:""}.fa-star-half-empty[_ngcontent-%COMP%]:before, .fa-star-half-full[_ngcontent-%COMP%]:before, .fa-star-half-o[_ngcontent-%COMP%]:before{content:""}.fa-location-arrow[_ngcontent-%COMP%]:before{content:""}.fa-crop[_ngcontent-%COMP%]:before{content:""}.fa-code-fork[_ngcontent-%COMP%]:before{content:""}.fa-chain-broken[_ngcontent-%COMP%]:before, .fa-unlink[_ngcontent-%COMP%]:before{content:""}.fa-question[_ngcontent-%COMP%]:before{content:""}.fa-info[_ngcontent-%COMP%]:before{content:""}.fa-exclamation[_ngcontent-%COMP%]:before{content:""}.fa-superscript[_ngcontent-%COMP%]:before{content:""}.fa-subscript[_ngcontent-%COMP%]:before{content:""}.fa-eraser[_ngcontent-%COMP%]:before{content:""}.fa-puzzle-piece[_ngcontent-%COMP%]:before{content:""}.fa-microphone[_ngcontent-%COMP%]:before{content:""}.fa-microphone-slash[_ngcontent-%COMP%]:before{content:""}.fa-shield[_ngcontent-%COMP%]:before{content:""}.fa-calendar-o[_ngcontent-%COMP%]:before{content:""}.fa-fire-extinguisher[_ngcontent-%COMP%]:before{content:""}.fa-rocket[_ngcontent-%COMP%]:before{content:""}.fa-maxcdn[_ngcontent-%COMP%]:before{content:""}.fa-chevron-circle-left[_ngcontent-%COMP%]:before{content:""}.fa-chevron-circle-right[_ngcontent-%COMP%]:before{content:""}.fa-chevron-circle-up[_ngcontent-%COMP%]:before{content:""}.fa-chevron-circle-down[_ngcontent-%COMP%]:before{content:""}.fa-html5[_ngcontent-%COMP%]:before{content:""}.fa-css3[_ngcontent-%COMP%]:before{content:""}.fa-anchor[_ngcontent-%COMP%]:before{content:""}.fa-unlock-alt[_ngcontent-%COMP%]:before{content:""}.fa-bullseye[_ngcontent-%COMP%]:before{content:""}.fa-ellipsis-h[_ngcontent-%COMP%]:before{content:""}.fa-ellipsis-v[_ngcontent-%COMP%]:before{content:""}.fa-rss-square[_ngcontent-%COMP%]:before{content:""}.fa-play-circle[_ngcontent-%COMP%]:before{content:""}.fa-ticket[_ngcontent-%COMP%]:before{content:""}.fa-minus-square[_ngcontent-%COMP%]:before{content:""}.fa-minus-square-o[_ngcontent-%COMP%]:before{content:""}.fa-level-up[_ngcontent-%COMP%]:before{content:""}.fa-level-down[_ngcontent-%COMP%]:before{content:""}.fa-check-square[_ngcontent-%COMP%]:before{content:""}.fa-pencil-square[_ngcontent-%COMP%]:before{content:""}.fa-external-link-square[_ngcontent-%COMP%]:before{content:""}.fa-share-square[_ngcontent-%COMP%]:before{content:""}.fa-compass[_ngcontent-%COMP%]:before{content:""}.fa-caret-square-o-down[_ngcontent-%COMP%]:before, .fa-toggle-down[_ngcontent-%COMP%]:before{content:""}.fa-caret-square-o-up[_ngcontent-%COMP%]:before, .fa-toggle-up[_ngcontent-%COMP%]:before{content:""}.fa-caret-square-o-right[_ngcontent-%COMP%]:before, .fa-toggle-right[_ngcontent-%COMP%]:before{content:""}.fa-eur[_ngcontent-%COMP%]:before, .fa-euro[_ngcontent-%COMP%]:before{content:""}.fa-gbp[_ngcontent-%COMP%]:before, .fa-pound[_ngcontent-%COMP%]:before{content:""}.fa-dollar[_ngcontent-%COMP%]:before, .fa-usd[_ngcontent-%COMP%]:before{content:""}.fa-inr[_ngcontent-%COMP%]:before, .fa-rupee[_ngcontent-%COMP%]:before{content:""}.fa-cny[_ngcontent-%COMP%]:before, .fa-jpy[_ngcontent-%COMP%]:before, .fa-rmb[_ngcontent-%COMP%]:before, .fa-yen[_ngcontent-%COMP%]:before{content:""}.fa-rouble[_ngcontent-%COMP%]:before, .fa-rub[_ngcontent-%COMP%]:before, .fa-ruble[_ngcontent-%COMP%]:before{content:""}.fa-krw[_ngcontent-%COMP%]:before, .fa-won[_ngcontent-%COMP%]:before{content:""}.fa-bitcoin[_ngcontent-%COMP%]:before, .fa-btc[_ngcontent-%COMP%]:before{content:""}.fa-file[_ngcontent-%COMP%]:before{content:""}.fa-file-text[_ngcontent-%COMP%]:before{content:""}.fa-sort-alpha-asc[_ngcontent-%COMP%]:before, .fa-sort-alpha-down[_ngcontent-%COMP%]:before{content:""}.fa-sort-alpha-desc[_ngcontent-%COMP%]:before, .fa-sort-alpha-up[_ngcontent-%COMP%]:before{content:""}.fa-sort-amount-asc[_ngcontent-%COMP%]:before, .fa-sort-amount-down[_ngcontent-%COMP%]:before{content:""}.fa-sort-amount-desc[_ngcontent-%COMP%]:before, .fa-sort-amount-up[_ngcontent-%COMP%]:before{content:""}.fa-sort-numeric-asc[_ngcontent-%COMP%]:before, .fa-sort-numeric-down[_ngcontent-%COMP%]:before{content:""}.fa-sort-numeric-desc[_ngcontent-%COMP%]:before, .fa-sort-numeric-up[_ngcontent-%COMP%]:before{content:""}.fa-thumbs-up[_ngcontent-%COMP%]:before{content:""}.fa-thumbs-down[_ngcontent-%COMP%]:before{content:""}.fa-youtube-square[_ngcontent-%COMP%]:before{content:""}.fa-youtube[_ngcontent-%COMP%]:before{content:""}.fa-xing[_ngcontent-%COMP%]:before{content:""}.fa-xing-square[_ngcontent-%COMP%]:before{content:""}.fa-youtube-play[_ngcontent-%COMP%]:before{content:""}.fa-dropbox[_ngcontent-%COMP%]:before{content:""}.fa-stack-overflow[_ngcontent-%COMP%]:before{content:""}.fa-instagram[_ngcontent-%COMP%]:before{content:""}.fa-flickr[_ngcontent-%COMP%]:before{content:""}.fa-adn[_ngcontent-%COMP%]:before{content:""}.fa-bitbucket[_ngcontent-%COMP%]:before{content:""}.fa-bitbucket-square[_ngcontent-%COMP%]:before{content:""}.fa-tumblr[_ngcontent-%COMP%]:before{content:""}.fa-tumblr-square[_ngcontent-%COMP%]:before{content:""}.fa-long-arrow-down[_ngcontent-%COMP%]:before{content:""}.fa-long-arrow-up[_ngcontent-%COMP%]:before{content:""}.fa-long-arrow-left[_ngcontent-%COMP%]:before{content:""}.fa-long-arrow-right[_ngcontent-%COMP%]:before{content:""}.fa-apple[_ngcontent-%COMP%]:before{content:""}.fa-windows[_ngcontent-%COMP%]:before{content:""}.fa-android[_ngcontent-%COMP%]:before{content:""}.fa-linux[_ngcontent-%COMP%]:before{content:""}.fa-dribbble[_ngcontent-%COMP%]:before{content:""}.fa-skype[_ngcontent-%COMP%]:before{content:""}.fa-foursquare[_ngcontent-%COMP%]:before{content:""}.fa-trello[_ngcontent-%COMP%]:before{content:""}.fa-female[_ngcontent-%COMP%]:before{content:""}.fa-male[_ngcontent-%COMP%]:before{content:""}.fa-gittip[_ngcontent-%COMP%]:before, .fa-gratipay[_ngcontent-%COMP%]:before{content:""}.fa-sun-o[_ngcontent-%COMP%]:before{content:""}.fa-moon-o[_ngcontent-%COMP%]:before{content:""}.fa-archive[_ngcontent-%COMP%]:before{content:""}.fa-bug[_ngcontent-%COMP%]:before{content:""}.fa-vk[_ngcontent-%COMP%]:before{content:""}.fa-weibo[_ngcontent-%COMP%]:before{content:""}.fa-renren[_ngcontent-%COMP%]:before{content:""}.fa-pagelines[_ngcontent-%COMP%]:before{content:""}.fa-stack-exchange[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-o-right[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-o-left[_ngcontent-%COMP%]:before{content:""}.fa-caret-square-o-left[_ngcontent-%COMP%]:before, .fa-toggle-left[_ngcontent-%COMP%]:before{content:""}.fa-dot-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-wheelchair[_ngcontent-%COMP%]:before{content:""}.fa-vimeo-square[_ngcontent-%COMP%]:before{content:""}.fa-try[_ngcontent-%COMP%]:before, .fa-turkish-lira[_ngcontent-%COMP%]:before{content:""}.fa-plus-square-o[_ngcontent-%COMP%]:before{content:""}.fa-space-shuttle[_ngcontent-%COMP%]:before{content:""}.fa-slack[_ngcontent-%COMP%]:before{content:""}.fa-envelope-square[_ngcontent-%COMP%]:before{content:""}.fa-wordpress[_ngcontent-%COMP%]:before{content:""}.fa-openid[_ngcontent-%COMP%]:before{content:""}.fa-bank[_ngcontent-%COMP%]:before, .fa-institution[_ngcontent-%COMP%]:before, .fa-university[_ngcontent-%COMP%]:before{content:""}.fa-graduation-cap[_ngcontent-%COMP%]:before, .fa-mortar-board[_ngcontent-%COMP%]:before{content:""}.fa-yahoo[_ngcontent-%COMP%]:before{content:""}.fa-google[_ngcontent-%COMP%]:before{content:""}.fa-reddit[_ngcontent-%COMP%]:before{content:""}.fa-reddit-square[_ngcontent-%COMP%]:before{content:""}.fa-stumbleupon-circle[_ngcontent-%COMP%]:before{content:""}.fa-stumbleupon[_ngcontent-%COMP%]:before{content:""}.fa-delicious[_ngcontent-%COMP%]:before{content:""}.fa-digg[_ngcontent-%COMP%]:before{content:""}.fa-drupal[_ngcontent-%COMP%]:before{content:""}.fa-joomla[_ngcontent-%COMP%]:before{content:""}.fa-language[_ngcontent-%COMP%]:before{content:""}.fa-fax[_ngcontent-%COMP%]:before{content:""}.fa-building[_ngcontent-%COMP%]:before{content:""}.fa-child[_ngcontent-%COMP%]:before{content:""}.fa-paw[_ngcontent-%COMP%]:before{content:""}.fa-spoon[_ngcontent-%COMP%]:before, .fa-utensil-spoon[_ngcontent-%COMP%]:before{content:""}.fa-cube[_ngcontent-%COMP%]:before{content:""}.fa-cubes[_ngcontent-%COMP%]:before{content:""}.fa-behance[_ngcontent-%COMP%]:before{content:""}.fa-behance-square[_ngcontent-%COMP%]:before{content:""}.fa-steam[_ngcontent-%COMP%]:before{content:""}.fa-steam-square[_ngcontent-%COMP%]:before{content:""}.fa-recycle[_ngcontent-%COMP%]:before{content:""}.fa-automobile[_ngcontent-%COMP%]:before, .fa-car[_ngcontent-%COMP%]:before{content:""}.fa-cab[_ngcontent-%COMP%]:before, .fa-taxi[_ngcontent-%COMP%]:before{content:""}.fa-tree[_ngcontent-%COMP%]:before{content:""}.fa-spotify[_ngcontent-%COMP%]:before{content:""}.fa-deviantart[_ngcontent-%COMP%]:before{content:""}.fa-soundcloud[_ngcontent-%COMP%]:before{content:""}.fa-database[_ngcontent-%COMP%]:before{content:""}.fa-file-pdf-o[_ngcontent-%COMP%]:before{content:""}.fa-file-word-o[_ngcontent-%COMP%]:before{content:""}.fa-file-excel-o[_ngcontent-%COMP%]:before{content:""}.fa-file-powerpoint-o[_ngcontent-%COMP%]:before{content:""}.fa-file-image-o[_ngcontent-%COMP%]:before, .fa-file-photo-o[_ngcontent-%COMP%]:before, .fa-file-picture-o[_ngcontent-%COMP%]:before{content:""}.fa-file-archive-o[_ngcontent-%COMP%]:before, .fa-file-zip-o[_ngcontent-%COMP%]:before{content:""}.fa-file-audio-o[_ngcontent-%COMP%]:before, .fa-file-sound-o[_ngcontent-%COMP%]:before{content:""}.fa-file-movie-o[_ngcontent-%COMP%]:before, .fa-file-video-o[_ngcontent-%COMP%]:before{content:""}.fa-file-code-o[_ngcontent-%COMP%]:before{content:""}.fa-vine[_ngcontent-%COMP%]:before{content:""}.fa-codepen[_ngcontent-%COMP%]:before{content:""}.fa-jsfiddle[_ngcontent-%COMP%]:before{content:""}.fa-life-bouy[_ngcontent-%COMP%]:before, .fa-life-buoy[_ngcontent-%COMP%]:before, .fa-life-ring[_ngcontent-%COMP%]:before, .fa-life-saver[_ngcontent-%COMP%]:before, .fa-support[_ngcontent-%COMP%]:before{content:""}.fa-circle-o-notch[_ngcontent-%COMP%]:before{content:""}.fa-ra[_ngcontent-%COMP%]:before, .fa-rebel[_ngcontent-%COMP%]:before, .fa-resistance[_ngcontent-%COMP%]:before{content:""}.fa-empire[_ngcontent-%COMP%]:before, .fa-ge[_ngcontent-%COMP%]:before{content:""}.fa-git-square[_ngcontent-%COMP%]:before{content:""}.fa-git[_ngcontent-%COMP%]:before{content:""}.fa-hacker-news[_ngcontent-%COMP%]:before, .fa-y-combinator-square[_ngcontent-%COMP%]:before, .fa-yc-square[_ngcontent-%COMP%]:before{content:""}.fa-tencent-weibo[_ngcontent-%COMP%]:before{content:""}.fa-qq[_ngcontent-%COMP%]:before{content:""}.fa-wechat[_ngcontent-%COMP%]:before, .fa-weixin[_ngcontent-%COMP%]:before{content:""}.fa-paper-plane[_ngcontent-%COMP%]:before, .fa-send[_ngcontent-%COMP%]:before{content:""}.fa-paper-plane-o[_ngcontent-%COMP%]:before, .fa-send-o[_ngcontent-%COMP%]:before{content:""}.fa-history[_ngcontent-%COMP%]:before{content:""}.fa-circle-thin[_ngcontent-%COMP%]:before{content:""}.fa-header[_ngcontent-%COMP%]:before, .fa-heading[_ngcontent-%COMP%]:before{content:""}.fa-paragraph[_ngcontent-%COMP%]:before{content:""}.fa-sliders[_ngcontent-%COMP%]:before{content:""}.fa-share-alt[_ngcontent-%COMP%]:before{content:""}.fa-share-alt-square[_ngcontent-%COMP%]:before{content:""}.fa-bomb[_ngcontent-%COMP%]:before{content:""}.fa-futbol-o[_ngcontent-%COMP%]:before, .fa-soccer-ball-o[_ngcontent-%COMP%]:before{content:""}.fa-tty[_ngcontent-%COMP%]:before{content:""}.fa-binoculars[_ngcontent-%COMP%]:before{content:""}.fa-plug[_ngcontent-%COMP%]:before{content:""}.fa-slideshare[_ngcontent-%COMP%]:before{content:""}.fa-twitch[_ngcontent-%COMP%]:before{content:""}.fa-yelp[_ngcontent-%COMP%]:before{content:""}.fa-newspaper-o[_ngcontent-%COMP%]:before{content:""}.fa-wifi[_ngcontent-%COMP%]:before{content:""}.fa-calculator[_ngcontent-%COMP%]:before{content:""}.fa-paypal[_ngcontent-%COMP%]:before{content:""}.fa-google-wallet[_ngcontent-%COMP%]:before{content:""}.fa-cc-visa[_ngcontent-%COMP%]:before{content:""}.fa-cc-mastercard[_ngcontent-%COMP%]:before{content:""}.fa-cc-discover[_ngcontent-%COMP%]:before{content:""}.fa-cc-amex[_ngcontent-%COMP%]:before{content:""}.fa-cc-paypal[_ngcontent-%COMP%]:before{content:""}.fa-cc-stripe[_ngcontent-%COMP%]:before{content:""}.fa-bell-slash[_ngcontent-%COMP%]:before{content:""}.fa-bell-slash-o[_ngcontent-%COMP%]:before{content:""}.fa-trash[_ngcontent-%COMP%]:before{content:""}.fa-copyright[_ngcontent-%COMP%]:before{content:""}.fa-at[_ngcontent-%COMP%]:before{content:""}.fa-eyedropper[_ngcontent-%COMP%]:before{content:""}.fa-paint-brush[_ngcontent-%COMP%]:before{content:""}.fa-birthday-cake[_ngcontent-%COMP%]:before{content:""}.fa-area-chart[_ngcontent-%COMP%]:before{content:""}.fa-pie-chart[_ngcontent-%COMP%]:before{content:""}.fa-line-chart[_ngcontent-%COMP%]:before{content:""}.fa-lastfm[_ngcontent-%COMP%]:before{content:""}.fa-lastfm-square[_ngcontent-%COMP%]:before{content:""}.fa-toggle-off[_ngcontent-%COMP%]:before{content:""}.fa-toggle-on[_ngcontent-%COMP%]:before{content:""}.fa-bicycle[_ngcontent-%COMP%]:before{content:""}.fa-bus[_ngcontent-%COMP%]:before{content:""}.fa-ioxhost[_ngcontent-%COMP%]:before{content:""}.fa-angellist[_ngcontent-%COMP%]:before{content:""}.fa-cc[_ngcontent-%COMP%]:before, .fa-closed-captioning[_ngcontent-%COMP%]:before{content:""}.fa-ils[_ngcontent-%COMP%]:before, .fa-shekel[_ngcontent-%COMP%]:before, .fa-sheqel[_ngcontent-%COMP%]:before{content:""}.fa-meanpath[_ngcontent-%COMP%]:before{content:""}.fa-buysellads[_ngcontent-%COMP%]:before{content:""}.fa-connectdevelop[_ngcontent-%COMP%]:before{content:""}.fa-dashcube[_ngcontent-%COMP%]:before{content:""}.fa-forumbee[_ngcontent-%COMP%]:before{content:""}.fa-leanpub[_ngcontent-%COMP%]:before{content:""}.fa-sellsy[_ngcontent-%COMP%]:before{content:""}.fa-shirtsinbulk[_ngcontent-%COMP%]:before{content:""}.fa-simplybuilt[_ngcontent-%COMP%]:before{content:""}.fa-skyatlas[_ngcontent-%COMP%]:before{content:""}.fa-cart-plus[_ngcontent-%COMP%]:before{content:""}.fa-cart-arrow-down[_ngcontent-%COMP%]:before{content:""}.fa-diamond[_ngcontent-%COMP%]:before, .fa-gem[_ngcontent-%COMP%]:before{content:""}.fa-ship[_ngcontent-%COMP%]:before{content:""}.fa-user-secret[_ngcontent-%COMP%]:before{content:""}.fa-motorcycle[_ngcontent-%COMP%]:before{content:""}.fa-street-view[_ngcontent-%COMP%]:before{content:""}.fa-heartbeat[_ngcontent-%COMP%]:before{content:""}.fa-venus[_ngcontent-%COMP%]:before{content:""}.fa-mars[_ngcontent-%COMP%]:before{content:""}.fa-mercury[_ngcontent-%COMP%]:before{content:""}.fa-intersex[_ngcontent-%COMP%]:before, .fa-transgender[_ngcontent-%COMP%]:before{content:""}.fa-transgender-alt[_ngcontent-%COMP%]:before{content:""}.fa-venus-double[_ngcontent-%COMP%]:before{content:""}.fa-mars-double[_ngcontent-%COMP%]:before{content:""}.fa-venus-mars[_ngcontent-%COMP%]:before{content:""}.fa-mars-stroke[_ngcontent-%COMP%]:before{content:""}.fa-mars-stroke-v[_ngcontent-%COMP%]:before{content:""}.fa-mars-stroke-h[_ngcontent-%COMP%]:before{content:""}.fa-neuter[_ngcontent-%COMP%]:before{content:""}.fa-genderless[_ngcontent-%COMP%]:before{content:""}.fa-facebook-official[_ngcontent-%COMP%]:before{content:""}.fa-pinterest-p[_ngcontent-%COMP%]:before{content:""}.fa-whatsapp[_ngcontent-%COMP%]:before{content:""}.fa-server[_ngcontent-%COMP%]:before{content:""}.fa-user-plus[_ngcontent-%COMP%]:before{content:""}.fa-user-times[_ngcontent-%COMP%]:before{content:""}.fa-bed[_ngcontent-%COMP%]:before, .fa-hotel[_ngcontent-%COMP%]:before{content:""}.fa-viacoin[_ngcontent-%COMP%]:before{content:""}.fa-train[_ngcontent-%COMP%]:before{content:""}.fa-subway[_ngcontent-%COMP%]:before{content:""}.fa-medium[_ngcontent-%COMP%]:before{content:""}.fa-medium-square[_ngcontent-%COMP%]:before{content:""}.fa-y-combinator[_ngcontent-%COMP%]:before, .fa-yc[_ngcontent-%COMP%]:before{content:""}.fa-optin-monster[_ngcontent-%COMP%]:before{content:""}.fa-opencart[_ngcontent-%COMP%]:before{content:""}.fa-expeditedssl[_ngcontent-%COMP%]:before{content:""}.fa-battery-4[_ngcontent-%COMP%]:before, .fa-battery-full[_ngcontent-%COMP%]:before, .fa-battery[_ngcontent-%COMP%]:before{content:""}.fa-battery-3[_ngcontent-%COMP%]:before, .fa-battery-three-quarters[_ngcontent-%COMP%]:before{content:""}.fa-battery-2[_ngcontent-%COMP%]:before, .fa-battery-half[_ngcontent-%COMP%]:before{content:""}.fa-battery-1[_ngcontent-%COMP%]:before, .fa-battery-quarter[_ngcontent-%COMP%]:before{content:""}.fa-battery-0[_ngcontent-%COMP%]:before, .fa-battery-empty[_ngcontent-%COMP%]:before{content:""}.fa-mouse-pointer[_ngcontent-%COMP%]:before{content:""}.fa-i-cursor[_ngcontent-%COMP%]:before{content:""}.fa-object-group[_ngcontent-%COMP%]:before{content:""}.fa-object-ungroup[_ngcontent-%COMP%]:before{content:""}.fa-sticky-note[_ngcontent-%COMP%]:before{content:""}.fa-sticky-note-o[_ngcontent-%COMP%]:before{content:""}.fa-cc-jcb[_ngcontent-%COMP%]:before{content:""}.fa-cc-diners-club[_ngcontent-%COMP%]:before{content:""}.fa-clone[_ngcontent-%COMP%]:before{content:""}.fa-balance-scale[_ngcontent-%COMP%]:before{content:""}.fa-hourglass-o[_ngcontent-%COMP%]:before{content:""}.fa-hourglass-1[_ngcontent-%COMP%]:before, .fa-hourglass-start[_ngcontent-%COMP%]:before{content:""}.fa-hourglass-2[_ngcontent-%COMP%]:before, .fa-hourglass-half[_ngcontent-%COMP%]:before{content:""}.fa-hourglass-3[_ngcontent-%COMP%]:before, .fa-hourglass-end[_ngcontent-%COMP%]:before{content:""}.fa-hourglass[_ngcontent-%COMP%]:before{content:""}.fa-hand-grab-o[_ngcontent-%COMP%]:before, .fa-hand-rock-o[_ngcontent-%COMP%]:before{content:""}.fa-hand-paper-o[_ngcontent-%COMP%]:before, .fa-hand-stop-o[_ngcontent-%COMP%]:before{content:""}.fa-hand-scissors-o[_ngcontent-%COMP%]:before{content:""}.fa-hand-lizard-o[_ngcontent-%COMP%]:before{content:""}.fa-hand-spock-o[_ngcontent-%COMP%]:before{content:""}.fa-hand-pointer-o[_ngcontent-%COMP%]:before{content:""}.fa-hand-peace-o[_ngcontent-%COMP%]:before{content:""}.fa-trademark[_ngcontent-%COMP%]:before{content:""}.fa-registered[_ngcontent-%COMP%]:before{content:""}.fa-creative-commons[_ngcontent-%COMP%]:before{content:""}.fa-gg[_ngcontent-%COMP%]:before{content:""}.fa-gg-circle[_ngcontent-%COMP%]:before{content:""}.fa-tripadvisor[_ngcontent-%COMP%]:before{content:""}.fa-odnoklassniki[_ngcontent-%COMP%]:before{content:""}.fa-odnoklassniki-square[_ngcontent-%COMP%]:before{content:""}.fa-get-pocket[_ngcontent-%COMP%]:before{content:""}.fa-wikipedia-w[_ngcontent-%COMP%]:before{content:""}.fa-safari[_ngcontent-%COMP%]:before{content:""}.fa-chrome[_ngcontent-%COMP%]:before{content:""}.fa-firefox[_ngcontent-%COMP%]:before{content:""}.fa-opera[_ngcontent-%COMP%]:before{content:""}.fa-internet-explorer[_ngcontent-%COMP%]:before{content:""}.fa-television[_ngcontent-%COMP%]:before, .fa-tv[_ngcontent-%COMP%]:before{content:""}.fa-contao[_ngcontent-%COMP%]:before{content:""}.fa-500px[_ngcontent-%COMP%]:before{content:""}.fa-amazon[_ngcontent-%COMP%]:before{content:""}.fa-calendar-plus-o[_ngcontent-%COMP%]:before{content:""}.fa-calendar-minus-o[_ngcontent-%COMP%]:before{content:""}.fa-calendar-times-o[_ngcontent-%COMP%]:before{content:""}.fa-calendar-check-o[_ngcontent-%COMP%]:before{content:""}.fa-industry[_ngcontent-%COMP%]:before{content:""}.fa-map-pin[_ngcontent-%COMP%]:before{content:""}.fa-map-signs[_ngcontent-%COMP%]:before{content:""}.fa-map-o[_ngcontent-%COMP%]:before{content:""}.fa-map[_ngcontent-%COMP%]:before{content:""}.fa-commenting[_ngcontent-%COMP%]:before{content:""}.fa-commenting-o[_ngcontent-%COMP%]:before{content:""}.fa-houzz[_ngcontent-%COMP%]:before{content:""}.fa-vimeo-v[_ngcontent-%COMP%]:before, .fa-vimeo[_ngcontent-%COMP%]:before{content:""}.fa-black-tie[_ngcontent-%COMP%]:before{content:""}.fa-fonticons[_ngcontent-%COMP%]:before{content:""}.fa-reddit-alien[_ngcontent-%COMP%]:before{content:""}.fa-edge[_ngcontent-%COMP%]:before{content:""}.fa-credit-card-alt[_ngcontent-%COMP%]:before{content:""}.fa-codiepie[_ngcontent-%COMP%]:before{content:""}.fa-modx[_ngcontent-%COMP%]:before{content:""}.fa-fort-awesome[_ngcontent-%COMP%]:before{content:""}.fa-usb[_ngcontent-%COMP%]:before{content:""}.fa-product-hunt[_ngcontent-%COMP%]:before{content:""}.fa-mixcloud[_ngcontent-%COMP%]:before{content:""}.fa-scribd[_ngcontent-%COMP%]:before{content:""}.fa-pause-circle[_ngcontent-%COMP%]:before{content:""}.fa-pause-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-stop-circle[_ngcontent-%COMP%]:before{content:""}.fa-stop-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-shopping-bag[_ngcontent-%COMP%]:before{content:""}.fa-shopping-basket[_ngcontent-%COMP%]:before{content:""}.fa-hashtag[_ngcontent-%COMP%]:before{content:""}.fa-bluetooth[_ngcontent-%COMP%]:before{content:""}.fa-bluetooth-b[_ngcontent-%COMP%]:before{content:""}.fa-percent[_ngcontent-%COMP%]:before{content:""}.fa-gitlab[_ngcontent-%COMP%]:before{content:""}.fa-wpbeginner[_ngcontent-%COMP%]:before{content:""}.fa-wpforms[_ngcontent-%COMP%]:before{content:""}.fa-envira[_ngcontent-%COMP%]:before{content:""}.fa-universal-access[_ngcontent-%COMP%]:before{content:""}.fa-wheelchair-alt[_ngcontent-%COMP%]:before{content:""}.fa-question-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-blind[_ngcontent-%COMP%]:before{content:""}.fa-audio-description[_ngcontent-%COMP%]:before{content:""}.fa-phone-volume[_ngcontent-%COMP%]:before, .fa-volume-control-phone[_ngcontent-%COMP%]:before{content:""}.fa-braille[_ngcontent-%COMP%]:before{content:""}.fa-assistive-listening-systems[_ngcontent-%COMP%]:before{content:""}.fa-american-sign-language-interpreting[_ngcontent-%COMP%]:before, .fa-asl-interpreting[_ngcontent-%COMP%]:before{content:""}.fa-deaf[_ngcontent-%COMP%]:before, .fa-deafness[_ngcontent-%COMP%]:before, .fa-hard-of-hearing[_ngcontent-%COMP%]:before{content:""}.fa-glide[_ngcontent-%COMP%]:before{content:""}.fa-glide-g[_ngcontent-%COMP%]:before{content:""}.fa-sign-language[_ngcontent-%COMP%]:before, .fa-signing[_ngcontent-%COMP%]:before{content:""}.fa-low-vision[_ngcontent-%COMP%]:before{content:""}.fa-viadeo[_ngcontent-%COMP%]:before{content:""}.fa-viadeo-square[_ngcontent-%COMP%]:before{content:""}.fa-snapchat[_ngcontent-%COMP%]:before{content:""}.fa-snapchat-ghost[_ngcontent-%COMP%]:before{content:""}.fa-snapchat-square[_ngcontent-%COMP%]:before{content:""}.fa-first-order[_ngcontent-%COMP%]:before{content:""}.fa-yoast[_ngcontent-%COMP%]:before{content:""}.fa-themeisle[_ngcontent-%COMP%]:before{content:""}.fa-google-plus-circle[_ngcontent-%COMP%]:before, .fa-google-plus-official[_ngcontent-%COMP%]:before{content:""}.fa-fa[_ngcontent-%COMP%]:before, .fa-font-awesome[_ngcontent-%COMP%]:before{content:""}.fa-handshake-o[_ngcontent-%COMP%]:before{content:""}.fa-envelope-open[_ngcontent-%COMP%]:before{content:""}.fa-envelope-open-o[_ngcontent-%COMP%]:before{content:""}.fa-linode[_ngcontent-%COMP%]:before{content:""}.fa-address-book[_ngcontent-%COMP%]:before{content:""}.fa-address-book-o[_ngcontent-%COMP%]:before{content:""}.fa-address-card[_ngcontent-%COMP%]:before, .fa-vcard[_ngcontent-%COMP%]:before{content:""}.fa-address-card-o[_ngcontent-%COMP%]:before, .fa-vcard-o[_ngcontent-%COMP%]:before{content:""}.fa-user-circle[_ngcontent-%COMP%]:before{content:""}.fa-user-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-user-o[_ngcontent-%COMP%]:before{content:""}.fa-id-badge[_ngcontent-%COMP%]:before{content:""}.fa-drivers-license[_ngcontent-%COMP%]:before, .fa-id-card[_ngcontent-%COMP%]:before{content:""}.fa-drivers-license-o[_ngcontent-%COMP%]:before, .fa-id-card-o[_ngcontent-%COMP%]:before{content:""}.fa-quora[_ngcontent-%COMP%]:before{content:""}.fa-free-code-camp[_ngcontent-%COMP%]:before{content:""}.fa-telegram[_ngcontent-%COMP%]:before{content:""}.fa-thermometer-4[_ngcontent-%COMP%]:before, .fa-thermometer-full[_ngcontent-%COMP%]:before, .fa-thermometer[_ngcontent-%COMP%]:before{content:""}.fa-thermometer-3[_ngcontent-%COMP%]:before, .fa-thermometer-three-quarters[_ngcontent-%COMP%]:before{content:""}.fa-thermometer-2[_ngcontent-%COMP%]:before, .fa-thermometer-half[_ngcontent-%COMP%]:before{content:""}.fa-thermometer-1[_ngcontent-%COMP%]:before, .fa-thermometer-quarter[_ngcontent-%COMP%]:before{content:""}.fa-thermometer-0[_ngcontent-%COMP%]:before, .fa-thermometer-empty[_ngcontent-%COMP%]:before{content:""}.fa-shower[_ngcontent-%COMP%]:before{content:""}.fa-bath[_ngcontent-%COMP%]:before, .fa-bathtub[_ngcontent-%COMP%]:before, .fa-s15[_ngcontent-%COMP%]:before{content:""}.fa-podcast[_ngcontent-%COMP%]:before{content:""}.fa-window-maximize[_ngcontent-%COMP%]:before{content:""}.fa-window-minimize[_ngcontent-%COMP%]:before{content:""}.fa-window-restore[_ngcontent-%COMP%]:before{content:""}.fa-times-rectangle[_ngcontent-%COMP%]:before, .fa-window-close[_ngcontent-%COMP%]:before{content:""}.fa-times-rectangle-o[_ngcontent-%COMP%]:before, .fa-window-close-o[_ngcontent-%COMP%]:before{content:""}.fa-bandcamp[_ngcontent-%COMP%]:before{content:""}.fa-grav[_ngcontent-%COMP%]:before{content:""}.fa-etsy[_ngcontent-%COMP%]:before{content:""}.fa-imdb[_ngcontent-%COMP%]:before{content:""}.fa-ravelry[_ngcontent-%COMP%]:before{content:""}.fa-eercast[_ngcontent-%COMP%]:before{content:""}.fa-microchip[_ngcontent-%COMP%]:before{content:""}.fa-snowflake-o[_ngcontent-%COMP%]:before{content:""}.fa-superpowers[_ngcontent-%COMP%]:before{content:""}.fa-wpexplorer[_ngcontent-%COMP%]:before{content:""}.fa-meetup[_ngcontent-%COMP%]:before{content:""}.fa-mastodon[_ngcontent-%COMP%]:before{content:""}.fa-mastodon-alt[_ngcontent-%COMP%]:before{content:""}.fa-fork-awesome[_ngcontent-%COMP%]:before, .fa-fork-circle[_ngcontent-%COMP%]:before{content:""}.fa-peertube[_ngcontent-%COMP%]:before{content:""}.fa-diaspora[_ngcontent-%COMP%]:before{content:""}.fa-friendica[_ngcontent-%COMP%]:before{content:""}.fa-gnu-social[_ngcontent-%COMP%]:before{content:""}.fa-liberapay-square[_ngcontent-%COMP%]:before{content:""}.fa-liberapay[_ngcontent-%COMP%]:before{content:""}.fa-scuttlebutt[_ngcontent-%COMP%]:before, .fa-ssb[_ngcontent-%COMP%]:before{content:""}.fa-hubzilla[_ngcontent-%COMP%]:before{content:""}.fa-social-home[_ngcontent-%COMP%]:before{content:""}.fa-artstation[_ngcontent-%COMP%]:before{content:""}.fa-discord[_ngcontent-%COMP%]:before{content:""}.fa-discord-alt[_ngcontent-%COMP%]:before{content:""}.fa-patreon[_ngcontent-%COMP%]:before{content:""}.fa-snowdrift[_ngcontent-%COMP%]:before{content:""}.fa-activitypub[_ngcontent-%COMP%]:before{content:""}.fa-ethereum[_ngcontent-%COMP%]:before{content:""}.fa-keybase[_ngcontent-%COMP%]:before{content:""}.fa-shaarli[_ngcontent-%COMP%]:before{content:""}.fa-shaarli-o[_ngcontent-%COMP%]:before{content:""}.fa-cut-key[_ngcontent-%COMP%]:before, .fa-key-modern[_ngcontent-%COMP%]:before{content:""}.fa-xmpp[_ngcontent-%COMP%]:before{content:""}.fa-archive-org[_ngcontent-%COMP%]:before{content:""}.fa-freedombox[_ngcontent-%COMP%]:before{content:""}.fa-facebook-messenger[_ngcontent-%COMP%]:before{content:""}.fa-debian[_ngcontent-%COMP%]:before{content:""}.fa-mastodon-square[_ngcontent-%COMP%]:before{content:""}.fa-tipeee[_ngcontent-%COMP%]:before{content:""}.fa-react[_ngcontent-%COMP%]:before{content:""}.fa-dogmazic[_ngcontent-%COMP%]:before{content:""}.fa-zotero[_ngcontent-%COMP%]:before{content:""}.fa-nodejs[_ngcontent-%COMP%]:before{content:""}.fa-nextcloud[_ngcontent-%COMP%]:before{content:""}.fa-nextcloud-square[_ngcontent-%COMP%]:before{content:""}.fa-hackaday[_ngcontent-%COMP%]:before{content:""}.fa-laravel[_ngcontent-%COMP%]:before{content:""}.fa-signalapp[_ngcontent-%COMP%]:before{content:""}.fa-gnupg[_ngcontent-%COMP%]:before{content:""}.fa-php[_ngcontent-%COMP%]:before{content:""}.fa-ffmpeg[_ngcontent-%COMP%]:before{content:""}.fa-joplin[_ngcontent-%COMP%]:before{content:""}.fa-syncthing[_ngcontent-%COMP%]:before{content:""}.fa-inkscape[_ngcontent-%COMP%]:before{content:""}.fa-matrix-org[_ngcontent-%COMP%]:before{content:""}.fa-pixelfed[_ngcontent-%COMP%]:before{content:""}.fa-bootstrap[_ngcontent-%COMP%]:before{content:""}.fa-dev-to[_ngcontent-%COMP%]:before{content:""}.fa-hashnode[_ngcontent-%COMP%]:before{content:""}.fa-jirafeau[_ngcontent-%COMP%]:before{content:""}.fa-emby[_ngcontent-%COMP%]:before{content:""}.fa-wikidata[_ngcontent-%COMP%]:before{content:""}.fa-gimp[_ngcontent-%COMP%]:before{content:""}.fa-c[_ngcontent-%COMP%]:before{content:""}.fa-digitalocean[_ngcontent-%COMP%]:before{content:""}.fa-att[_ngcontent-%COMP%]:before{content:""}.fa-gitea[_ngcontent-%COMP%]:before{content:""}.fa-file-epub[_ngcontent-%COMP%]:before{content:""}.fa-python[_ngcontent-%COMP%]:before{content:""}.fa-archlinux[_ngcontent-%COMP%]:before{content:""}.fa-pleroma[_ngcontent-%COMP%]:before{content:""}.fa-unsplash[_ngcontent-%COMP%]:before{content:""}.fa-hackster[_ngcontent-%COMP%]:before{content:""}.fa-spell-check[_ngcontent-%COMP%]:before{content:""}.fa-moon[_ngcontent-%COMP%]:before{content:""}.fa-sun[_ngcontent-%COMP%]:before{content:""}.fa-f-droid[_ngcontent-%COMP%]:before{content:""}.fa-biometric[_ngcontent-%COMP%]:before{content:""}.sr-only[_ngcontent-%COMP%]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable[_ngcontent-%COMP%]:active, .sr-only-focusable[_ngcontent-%COMP%]:focus{clip:auto;white-space:normal;position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.info-card-popover-cluster-status[_ngcontent-%COMP%]{max-width:23vw;max-height:20vh}.info-card-popover-cluster-status[_ngcontent-%COMP%]   .popover-body[_ngcontent-%COMP%]{max-width:100%;max-height:19vh;font-size:12px}@media (max-width:calc(1200px - 1px)){.info-card-popover-cluster-status[_ngcontent-%COMP%]{max-width:31vw}}@media (max-width:calc(992px - 1px)){.info-card-popover-cluster-status[_ngcontent-%COMP%]{max-width:46vw}}@media (max-width:calc(768px - 1px)){.info-card-popover-cluster-status[_ngcontent-%COMP%]{max-width:83vw}}.info-card-content-clickable[_ngcontent-%COMP%]{cursor:pointer;padding:7px;border:1px solid #efefef;border-radius:3px}.info-card-content-clickable[_ngcontent-%COMP%]:hover{border-color:#d1d1d1;background-color:#f3f3f3}.custom-control-input.is-valid[_ngcontent-%COMP%] ~ .custom-control-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid ~ .custom-control-label[_ngcontent-%COMP%]{color:initial}.custom-control-input.is-valid[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid:checked ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#2b99a8;background-color:#2b99a8}.custom-control-input.is-valid[_ngcontent-%COMP%] ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#adb5bd}.custom-control-input.is-valid[_ngcontent-%COMP%]:focus ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid:focus ~ .custom-control-label[_ngcontent-%COMP%]::before{box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.custom-control-input.is-valid[_ngcontent-%COMP%]:focus:not(:checked) ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid:focus:not(:checked) ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#76d0dc}html[_ngcontent-%COMP%]{background-color:#fff}body[_ngcontent-%COMP%], html[_ngcontent-%COMP%]{width:100%;height:100%;font-size:12px}h1[_ngcontent-%COMP%]{letter-spacing:-1px;font-size:2em}h2[_ngcontent-%COMP%]{letter-spacing:-1px;font-size:1.833em}h3[_ngcontent-%COMP%]{display:block;font-size:1.583em;font-weight:400}h4[_ngcontent-%COMP%]{font-size:1.5em;line-height:normal}option[_ngcontent-%COMP%]{font-weight:400;font-style:normal}.full-height[_ngcontent-%COMP%]{height:100vh}.full-width[_ngcontent-%COMP%]{width:100vw}.vertical-align[_ngcontent-%COMP%]{display:flex;align-items:center}.horizontal-align[_ngcontent-%COMP%]{display:flex;justify-content:center}.loading[_ngcontent-%COMP%]{position:absolute;top:50%;left:50%}.margin-right-md[_ngcontent-%COMP%]{margin-right:15px}.no-border[_ngcontent-%COMP%]{border:0;box-shadow:0 0 0!important}.italic[_ngcontent-%COMP%]{font-style:italic}.bold[_ngcontent-%COMP%]{font-weight:700}.text-pre[_ngcontent-%COMP%]{white-space:pre-wrap}.btn-light[_ngcontent-%COMP%]{background-color:#fff!important;border-color:#ced4da!important}.btn-light[_ngcontent-%COMP%]:hover{background-color:#ddd!important;border-color:#adadad!important}.btn.active.focus[_ngcontent-%COMP%], .btn.active[_ngcontent-%COMP%]:focus, .btn.focus[_ngcontent-%COMP%], .btn[_ngcontent-%COMP%]:active.focus, .btn[_ngcontent-%COMP%]:active:focus, .btn[_ngcontent-%COMP%]:focus{outline:0}.btn-primary[_ngcontent-%COMP%]   .badge[_ngcontent-%COMP%]{color:#2b99a8;background-color:#eee}.btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%] > i.fa[_ngcontent-%COMP%], .cd-datatable-actions[_ngcontent-%COMP%]   button.btn[_ngcontent-%COMP%]   i.fa[_ngcontent-%COMP%]{margin-right:5px}.dropdown-menu[_ngcontent-%COMP%]{min-width:50px;z-index:999999}.dropdown-menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{color:#474544;cursor:pointer}.dropdown-menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] > i.fa[_ngcontent-%COMP%]{margin-right:5px}.dropdown-menu[_ngcontent-%COMP%] > .active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{color:#eee}.dropdown-menu[_ngcontent-%COMP%] > .active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%], .dropdown-menu[_ngcontent-%COMP%] > .active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:focus, .dropdown-menu[_ngcontent-%COMP%] > .active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{background-color:#21747f}.dataTables_wrapper[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%] > li.dropdown-divider[_ngcontent-%COMP%]{cursor:auto}.container[_ngcontent-%COMP%], .container-fluid[_ngcontent-%COMP%]{padding-left:30px!important;padding-right:30px!important}.row[_ngcontent-%COMP%]{margin-left:-30px;margin-right:-30px}.cd-col-form[_ngcontent-%COMP%], .cd-col-form-input[_ngcontent-%COMP%], .cd-col-form-label[_ngcontent-%COMP%], .cd-col-form-offset[_ngcontent-%COMP%], .col-1[_ngcontent-%COMP%], .col-10[_ngcontent-%COMP%], .col-11[_ngcontent-%COMP%], .col-12[_ngcontent-%COMP%], .col-2[_ngcontent-%COMP%], .col-3[_ngcontent-%COMP%], .col-4[_ngcontent-%COMP%], .col-5[_ngcontent-%COMP%], .col-6[_ngcontent-%COMP%], .col-7[_ngcontent-%COMP%], .col-8[_ngcontent-%COMP%], .col-9[_ngcontent-%COMP%], .col-lg-1[_ngcontent-%COMP%], .col-lg-10[_ngcontent-%COMP%], .col-lg-11[_ngcontent-%COMP%], .col-lg-12[_ngcontent-%COMP%], .col-lg-2[_ngcontent-%COMP%], .col-lg-3[_ngcontent-%COMP%], .col-lg-4[_ngcontent-%COMP%], .col-lg-5[_ngcontent-%COMP%], .col-lg-6[_ngcontent-%COMP%], .col-lg-7[_ngcontent-%COMP%], .col-lg-8[_ngcontent-%COMP%], .col-lg-9[_ngcontent-%COMP%], .col-md-1[_ngcontent-%COMP%], .col-md-10[_ngcontent-%COMP%], .col-md-11[_ngcontent-%COMP%], .col-md-12[_ngcontent-%COMP%], .col-md-2[_ngcontent-%COMP%], .col-md-3[_ngcontent-%COMP%], .col-md-4[_ngcontent-%COMP%], .col-md-5[_ngcontent-%COMP%], .col-md-6[_ngcontent-%COMP%], .col-md-7[_ngcontent-%COMP%], .col-md-8[_ngcontent-%COMP%], .col-md-9[_ngcontent-%COMP%], .col-sm-1[_ngcontent-%COMP%], .col-sm-10[_ngcontent-%COMP%], .col-sm-11[_ngcontent-%COMP%], .col-sm-12[_ngcontent-%COMP%], .col-sm-2[_ngcontent-%COMP%], .col-sm-3[_ngcontent-%COMP%], .col-sm-4[_ngcontent-%COMP%], .col-sm-5[_ngcontent-%COMP%], .col-sm-6[_ngcontent-%COMP%], .col-sm-7[_ngcontent-%COMP%], .col-sm-8[_ngcontent-%COMP%], .col-sm-9[_ngcontent-%COMP%],   cd-info-card, cd-modal[_ngcontent-%COMP%]   .cd-col-form-input[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-label[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-offset[_ngcontent-%COMP%]{padding-left:30px;padding-right:30px}tags-input[_ngcontent-%COMP%]   .tags[_ngcontent-%COMP%]{border-radius:4px;border:1px solid #d1d1d1;box-shadow:inset 0 1px 1px rgba(0,0,0,.09)}.card[_ngcontent-%COMP%]   .accordion-title[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]   .accordion-title[_ngcontent-%COMP%], uib-accordion[_ngcontent-%COMP%]   .card-title[_ngcontent-%COMP%]{font-size:14px!important}.card-header[_ngcontent-%COMP%]{font-size:1.3em}.card-body[_ngcontent-%COMP%]   h2[_ngcontent-%COMP%]:first-child{margin-top:0}.disabled[_ngcontent-%COMP%]{pointer-events:none}.clickable[_ngcontent-%COMP%], a[_ngcontent-%COMP%]{cursor:pointer}[_ngcontent-%COMP%]:invalid   .has-error-btn[_ngcontent-%COMP%], [_ngcontent-%COMP%]:invalid   .has-error-btn[_ngcontent-%COMP%]:disabled:hover{background-color:#f2dede;border-color:#a94442}.noscript[_ngcontent-%COMP%]{padding-top:5em}.noscript[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]{color:#777}.required[_ngcontent-%COMP%]::after{color:#a94442;content:"*";font-size:14px;padding-left:4px}.form-footer[_ngcontent-%COMP%]{width:100%;display:flex}.cd-form-control[_ngcontent-%COMP%], .form-control[_ngcontent-%COMP%]{display:table-cell}.cd-form-control[_ngcontent-%COMP%]:focus, .form-control[_ngcontent-%COMP%]:focus{border-color:rgba(43,153,168,.8);outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px 2px rgba(43,153,168,.5)}.custom-checkbox[_ngcontent-%COMP%]{padding-top:7px}.card-footer[_ngcontent-%COMP%]   button.btn[_ngcontent-%COMP%]:not(:first-child), .modal-footer[_ngcontent-%COMP%]   button.btn[_ngcontent-%COMP%]:not(:first-child){margin-left:5px}.nav-tabs[_ngcontent-%COMP%]{margin-bottom:15px}.ceph-icon[_ngcontent-%COMP%]{background:url(Ceph_Logo_Stacked_RGB_120411_fa_228x228.1ed169ccc35367a2dab2.png)}.prometheus-icon[_ngcontent-%COMP%]{background:url(prometheus_logo.074db273ef932a67d91b.svg)}.custom-icon[_ngcontent-%COMP%]{padding:10px;margin-right:8px;background-clip:padding-box;background-size:contain;background-repeat:no-repeat}.toast-message[_ngcontent-%COMP%]   .custom-icon[_ngcontent-%COMP%]{filter:brightness(0) invert(1);-webkit-filter:brightness(0) invert(1);-moz-filter:brightness(0) invert(1);-o-filter:brightness(0) invert(1);-ms-filter:brightness(0) invert(1)}.block-ui-wrapper[_ngcontent-%COMP%]{background:rgba(0,0,0,.7)!important}.tooltip-wide[_ngcontent-%COMP%]   .tooltip-inner[_ngcontent-%COMP%]{width:400px}.tooltip-inner[_ngcontent-%COMP%]{background-color:#fff;border:1px solid grey;color:#333;font-size:1.1em}.toast-message[_ngcontent-%COMP%] > ul[_ngcontent-%COMP%]{padding-left:1em;margin:0}@media (min-width:576px){.cd-col-form-label[_ngcontent-%COMP%], .col-form-label[_ngcontent-%COMP%]{text-align:right}}.cd-col-form-label[_ngcontent-%COMP%], .col-form-label[_ngcontent-%COMP%]{font-weight:700}cd-submit-button[_ngcontent-%COMP%]{background-color:transparent!important}bfv-messages[_ngcontent-%COMP%]{display:none}.form-group.has-error[_ngcontent-%COMP%]   .invalid-feedback[_ngcontent-%COMP%]{display:block}.password-strength-level[_ngcontent-%COMP%]{flex:100%;margin-top:2px}.password-strength-level[_ngcontent-%COMP%]   .ok[_ngcontent-%COMP%], .password-strength-level[_ngcontent-%COMP%]   .strong[_ngcontent-%COMP%], .password-strength-level[_ngcontent-%COMP%]   .very-strong[_ngcontent-%COMP%], .password-strength-level[_ngcontent-%COMP%]   .weak[_ngcontent-%COMP%]{border-radius:.25rem;height:13px}.password-strength-level[_ngcontent-%COMP%]   .weak[_ngcontent-%COMP%]{width:25%;background:red}.password-strength-level[_ngcontent-%COMP%]   .ok[_ngcontent-%COMP%]{width:50%;background:#ffc200}.password-strength-level[_ngcontent-%COMP%]   .strong[_ngcontent-%COMP%]{width:75%;background:#0b0}.password-strength-level[_ngcontent-%COMP%]   .very-strong[_ngcontent-%COMP%]{width:100%;background:#245e03}.badge-hdd[_ngcontent-%COMP%]{color:#fff;background-color:#90949c}.badge-ssd[_ngcontent-%COMP%]{color:#fff;background-color:#288cea}.badge-tab[_ngcontent-%COMP%]{color:#555;background-color:#f3f3f3}tree-root[_ngcontent-%COMP%]   tree-viewport[_ngcontent-%COMP%]{min-height:1em}cd-info-card[_ngcontent-%COMP%]{padding:0 .5vw}  .pg-status-popover-wrapper{position:relative}  .pg-status-popover-wrapper .popover{position:absolute;width:116%;max-height:20vh;min-width:unset!important;max-width:unset!important}  .pg-status-popover-wrapper .popover .popover-body{max-width:100%;max-height:19vh;font-size:12px}.logs-link[_ngcontent-%COMP%]{text-align:center}.card-text-error[_ngcontent-%COMP%]{display:inline;color:red}.card-text-line-break[_ngcontent-%COMP%]:after{content:"\\a";white-space:pre}.popover-info[_ngcontent-%COMP%]:hover{cursor:pointer}']],data:{}});function _a(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,0,null,null,null,null,null,null,null))],null,null)}function ya(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,"li",[],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,4,"span",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgStyleImpl"],o["ɵNgStyleR2Impl"],[i.ElementRef,i.KeyValueDiffers,i.Renderer2]),i["ɵdid"](3,278528,null,0,o.NgStyle,[o["ɵNgStyleImpl"]],{ngStyle:[0,"ngStyle"]},null),i["ɵppd"](4,1),(t()(),i["ɵted"](5,null,["",""])),(t()(),i["ɵted"](6,null,[": "," "]))],(function(t,e){var n=i["ɵunv"](e,3,0,t(e,4,0,i["ɵnov"](e.parent.parent.parent.parent.parent.parent,0),e.context.$implicit.severity));t(e,3,0,n)}),(function(t,e){t(e,5,0,e.context.$implicit.type),t(e,6,0,e.context.$implicit.summary.message)}))}function Oa(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,_a)),i["ɵdid"](1,540672,null,0,o.NgTemplateOutlet,[i.ViewContainerRef],{ngTemplateOutlet:[0,"ngTemplateOutlet"]},null),(t()(),i["ɵeld"](2,0,null,null,2,"ul",[],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,ya)),i["ɵdid"](4,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){var n=e.component;t(e,1,0,i["ɵnov"](e.parent.parent.parent.parent,7)),t(e,4,0,n.healthData.health.checks)}),null)}function va(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,7,null,null,null,null,null,null,null)),(t()(),i["ɵand"](0,[["healthChecks",2]],null,0,null,Oa)),(t()(),i["ɵeld"](2,16777216,null,null,5,"div",[["class","info-card-content-clickable"],["container","body"],["containerClass","info-card-popover-cluster-status"],["placement","bottom"],["triggers",""]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,6).toggle()&&a),a}),null,null)),i["ɵprd"](512,null,o["ɵNgStyleImpl"],o["ɵNgStyleR2Impl"],[i.ElementRef,i.KeyValueDiffers,i.Renderer2]),i["ɵdid"](4,278528,null,0,o.NgStyle,[o["ɵNgStyleImpl"]],{ngStyle:[0,"ngStyle"]},null),i["ɵppd"](5,1),i["ɵdid"](6,212992,[["healthChecksTarget",4]],0,jn.c,[jn.a,i.ElementRef,i.Renderer2,i.ViewContainerRef,U.a,Fn.a],{popover:[0,"popover"],placement:[1,"placement"],triggers:[2,"triggers"],container:[3,"container"],containerClass:[4,"containerClass"]},null),(t()(),i["ɵted"](7,null,[" "," "])),(t()(),i["ɵand"](0,null,null,0))],(function(t,e){var n=e.component,a=i["ɵunv"](e,4,0,t(e,5,0,i["ɵnov"](e.parent.parent.parent.parent,0),n.healthData.health.status));t(e,4,0,a),t(e,6,0,i["ɵnov"](e,1),"bottom","","body","info-card-popover-cluster-status")}),(function(t,e){t(e,7,0,e.component.healthData.health.status)}))}function Ca(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,5,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,4,"div",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgStyleImpl"],o["ɵNgStyleR2Impl"],[i.ElementRef,i.KeyValueDiffers,i.Renderer2]),i["ɵdid"](3,278528,null,0,o.NgStyle,[o["ɵNgStyleImpl"]],{ngStyle:[0,"ngStyle"]},null),i["ɵppd"](4,1),(t()(),i["ɵted"](5,null,[" "," "]))],(function(t,e){var n=e.component,a=i["ɵunv"](e,3,0,t(e,4,0,i["ɵnov"](e.parent.parent.parent.parent,0),n.healthData.health.status));t(e,3,0,a)}),(function(t,e){t(e,5,0,e.component.healthData.health.status)}))}function Pa(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,5,"cd-info-card",[["cardTitle","Cluster Status"],["class","cd-status-card"],["contentClass","content-highlight"]],null,null,null,Bn,Vn)),i["ɵdid"](1,49152,null,0,zn,[],{cardTitle:[0,"cardTitle"],contentClass:[1,"contentClass"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,va)),i["ɵdid"](3,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,Ca)),i["ɵdid"](5,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0,"Cluster Status","content-highlight"),t(e,3,0,(null==n.healthData.health?null:null==n.healthData.health.checks?null:n.healthData.health.checks.length)>0),t(e,5,0,!(null!=n.healthData.health&&null!=n.healthData.health.checks&&n.healthData.health.checks.length))}),null)}function Ma(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"cd-info-card",[["cardTitle","Monitors"],["class","cd-status-card"],["contentClass","content-highlight"],["link","/monitor"]],null,null,null,Bn,Vn)),i["ɵdid"](1,49152,null,0,zn,[],{cardTitle:[0,"cardTitle"],link:[1,"link"],contentClass:[2,"contentClass"]},null),(t()(),i["ɵted"](2,0,[" "," "])),i["ɵppd"](3,1)],(function(t,e){t(e,1,0,"Monitors","/monitor","content-highlight")}),(function(t,e){var n=e.component,a=i["ɵunv"](e,2,0,t(e,3,0,i["ɵnov"](e.parent.parent.parent,1),n.healthData.mon_status));t(e,2,0,a)}))}function xa(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"span",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](2,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),(t()(),i["ɵted"](3,null,[" "," "]))],(function(t,e){t(e,2,0,e.context.$implicit.class)}),(function(t,e){t(e,3,0,e.context.$implicit.content)}))}function wa(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"cd-info-card",[["cardTitle","OSDs"],["class","cd-status-card"],["contentClass","content-highlight"],["link","/osd"]],null,null,null,Bn,Vn)),i["ɵdid"](1,49152,null,0,zn,[],{cardTitle:[0,"cardTitle"],link:[1,"link"],contentClass:[2,"contentClass"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,xa)),i["ɵdid"](3,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){t(e,1,0,"OSDs","/osd","content-highlight"),t(e,3,0,e.context.ngIf)}),null)}function Ta(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"span",[],[[8,"title",0]],null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](2,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),(t()(),i["ɵted"](3,null,[" "," "]))],(function(t,e){t(e,2,0,e.context.$implicit.class)}),(function(t,e){t(e,0,0,null!=e.context.$implicit.titleText?e.context.$implicit.titleText:""),t(e,3,0,e.context.$implicit.content)}))}function ka(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,4,"cd-info-card",[["cardTitle","Manager Daemons"],["class","cd-status-card"],["contentClass","content-highlight"]],null,null,null,Bn,Vn)),i["ɵdid"](1,49152,null,0,zn,[],{cardTitle:[0,"cardTitle"],contentClass:[1,"contentClass"]},null),(t()(),i["ɵand"](16777216,null,0,2,null,Ta)),i["ɵdid"](3,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),i["ɵppd"](4,1)],(function(t,e){var n=e.component;t(e,1,0,"Manager Daemons","content-highlight");var a=i["ɵunv"](e,3,0,t(e,4,0,i["ɵnov"](e.parent.parent.parent,3),n.healthData.mgr_map));t(e,3,0,a)}),null)}function Sa(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-info-card",[["cardTitle","Hosts"],["class","cd-status-card"],["contentClass","content-highlight"],["link","/hosts"]],null,null,null,Bn,Vn)),i["ɵdid"](1,49152,null,0,zn,[],{cardTitle:[0,"cardTitle"],link:[1,"link"],contentClass:[2,"contentClass"]},null),(t()(),i["ɵted"](2,0,[" "," total "]))],(function(t,e){t(e,1,0,"Hosts","/hosts","content-highlight")}),(function(t,e){t(e,2,0,e.component.healthData.hosts)}))}function Ia(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-info-card",[["cardTitle","Object Gateways"],["class","cd-status-card"],["contentClass","content-highlight"],["link","/rgw/daemon"]],null,null,null,Bn,Vn)),i["ɵdid"](1,49152,null,0,zn,[],{cardTitle:[0,"cardTitle"],link:[1,"link"],contentClass:[2,"contentClass"]},null),(t()(),i["ɵted"](2,0,[" "," total "]))],(function(t,e){t(e,1,0,"Object Gateways","/rgw/daemon","content-highlight")}),(function(t,e){t(e,2,0,e.component.healthData.rgw)}))}function Na(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"span",[],[[8,"title",0]],null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](2,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),(t()(),i["ɵted"](3,null,[" "," "]))],(function(t,e){t(e,2,0,e.context.$implicit.class)}),(function(t,e){t(e,0,0,null!=e.context.$implicit.titleText?e.context.$implicit.titleText:""),t(e,3,0,e.context.$implicit.content)}))}function Ra(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"cd-info-card",[["cardTitle","Metadata Servers"],["class","cd-status-card"]],null,null,null,Bn,Vn)),i["ɵdid"](1,49152,null,0,zn,[],{cardTitle:[0,"cardTitle"],contentClass:[1,"contentClass"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,Na)),i["ɵdid"](3,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){t(e,1,0,"Metadata Servers",(e.context.ngIf.length>1?"text-area-size-2":"")+" content-highlight"),t(e,3,0,e.context.ngIf)}),null)}function Aa(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,9,"cd-info-card",[["cardTitle","iSCSI Gateways"],["class","cd-status-card"],["contentClass","content-highlight"],["link","/block/iscsi"]],null,null,null,Bn,Vn)),i["ɵdid"](1,49152,null,0,zn,[],{cardTitle:[0,"cardTitle"],link:[1,"link"],contentClass:[2,"contentClass"]},null),(t()(),i["ɵted"](2,0,[" "," total "])),(t()(),i["ɵeld"](3,0,null,0,0,"span",[["class","card-text-line-break"]],null,null,null,null,null)),(t()(),i["ɵted"](4,0,[" "," up, "])),(t()(),i["ɵeld"](5,0,null,0,4,"span",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](7,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpod"](8,{"card-text-error":0}),(t()(),i["ɵted"](9,null,[""," down"]))],(function(t,e){var n=e.component;t(e,1,0,"iSCSI Gateways","/block/iscsi","content-highlight");var a=t(e,8,0,n.healthData.iscsi_daemons.down>0);t(e,7,0,a)}),(function(t,e){var n=e.component;t(e,2,0,n.healthData.iscsi_daemons.up+n.healthData.iscsi_daemons.down),t(e,4,0,n.healthData.iscsi_daemons.up),t(e,9,0,n.healthData.iscsi_daemons.down)}))}function Ea(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,19,"cd-info-group",[["groupTitle","Status"]],null,null,null,Wn,Un)),i["ɵdid"](1,49152,null,0,Hn,[],{groupTitle:[0,"groupTitle"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,Pa)),i["ɵdid"](3,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,Ma)),i["ɵdid"](5,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,2,null,wa)),i["ɵdid"](7,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),i["ɵppd"](8,1),(t()(),i["ɵand"](16777216,null,0,1,null,ka)),i["ɵdid"](10,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,Sa)),i["ɵdid"](12,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,Ia)),i["ɵdid"](14,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,2,null,Ra)),i["ɵdid"](16,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),i["ɵppd"](17,1),(t()(),i["ɵand"](16777216,null,0,1,null,Aa)),i["ɵdid"](19,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0,"Status"),t(e,3,0,null==n.healthData.health?null:n.healthData.health.status),t(e,5,0,n.healthData.mon_status);var a=i["ɵunv"](e,7,0,t(e,8,0,i["ɵnov"](e.parent.parent,2),n.healthData.osd_map));t(e,7,0,a),t(e,10,0,n.healthData.mgr_map),t(e,12,0,null!=n.healthData.hosts),t(e,14,0,e.parent.context.ngIf.rgw&&null!=n.healthData.rgw);var r=i["ɵunv"](e,16,0,t(e,17,0,i["ɵnov"](e.parent.parent,4),e.parent.context.ngIf.cephfs&&n.healthData.fs_map));t(e,16,0,r),t(e,19,0,e.parent.context.ngIf.iscsi&&null!=n.healthData.iscsi_daemons)}),null)}function Da(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"cd-info-card",[["cardTitle","Client IOPS"],["class","cd-performance-card"],["contentClass","content-highlight"]],null,null,null,Bn,Vn)),i["ɵdid"](1,49152,null,0,zn,[],{cardTitle:[0,"cardTitle"],contentClass:[1,"contentClass"]},null),(t()(),i["ɵted"](2,0,[" "," "])),i["ɵppd"](3,2)],(function(t,e){t(e,1,0,"Client IOPS","content-highlight")}),(function(t,e){var n=e.component,a=i["ɵunv"](e,2,0,t(e,3,0,i["ɵnov"](e.parent.parent.parent,5),n.healthData.client_perf.read_op_per_sec+n.healthData.client_perf.write_op_per_sec,1));t(e,2,0,a)}))}function La(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"cd-info-card",[["cardTitle","Client Throughput"],["class","cd-performance-card"],["contentClass","content-highlight"]],null,null,null,Bn,Vn)),i["ɵdid"](1,49152,null,0,zn,[],{cardTitle:[0,"cardTitle"],contentClass:[1,"contentClass"]},null),(t()(),i["ɵted"](2,0,[" "," "])),i["ɵppd"](3,1)],(function(t,e){t(e,1,0,"Client Throughput","content-highlight")}),(function(t,e){var n=e.component,a=i["ɵunv"](e,2,0,t(e,3,0,i["ɵnov"](e.parent.parent.parent,6),n.healthData.client_perf.read_bytes_sec+n.healthData.client_perf.write_bytes_sec))+"/s";t(e,2,0,a)}))}function qa(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-health-pie",[],null,[[null,"prepareFn"]],(function(t,e,n){var a=!0;return"prepareFn"===e&&(a=!1!==t.component.prepareReadWriteRatio(n[0],n[1])&&a),a}),na,ea)),i["ɵdid"](1,638976,null,0,ta,[Jn.a,Xn.a],{data:[0,"data"]},{prepareFn:"prepareFn"})],(function(t,e){t(e,1,0,e.component.healthData)}),null)}function ja(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,[" N/A "]))],null,null)}function Fa(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,5,"cd-info-card",[["cardTitle","Client Read/Write"],["class","cd-performance-card"]],null,null,null,Bn,Vn)),i["ɵdid"](1,49152,null,0,zn,[],{cardTitle:[0,"cardTitle"],contentClass:[1,"contentClass"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,qa)),i["ɵdid"](3,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,ja)),i["ɵdid"](5,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0,"Client Read/Write",n.isClientReadWriteChartShowable()?"content-chart":"content-highlight"),t(e,3,0,n.isClientReadWriteChartShowable()),t(e,5,0,!n.isClientReadWriteChartShowable())}),null)}function za(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"cd-info-card",[["cardTitle","Recovery Throughput"],["class","cd-performance-card"],["contentClass","content-highlight"]],null,null,null,Bn,Vn)),i["ɵdid"](1,49152,null,0,zn,[],{cardTitle:[0,"cardTitle"],contentClass:[1,"contentClass"]},null),(t()(),i["ɵted"](2,0,[" "," "])),i["ɵppd"](3,1)],(function(t,e){t(e,1,0,"Recovery Throughput","content-highlight")}),(function(t,e){var n=e.component,a=i["ɵunv"](e,2,0,t(e,3,0,i["ɵnov"](e.parent.parent.parent,6),n.healthData.client_perf.recovering_bytes_per_sec))+"/s";t(e,2,0,a)}))}function Va(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-info-card",[["cardTitle","Scrub"],["class","cd-performance-card"],["contentClass","content-highlight"]],null,null,null,Bn,Vn)),i["ɵdid"](1,49152,null,0,zn,[],{cardTitle:[0,"cardTitle"],contentClass:[1,"contentClass"]},null),(t()(),i["ɵted"](2,0,[" "," "]))],(function(t,e){t(e,1,0,"Scrub","content-highlight")}),(function(t,e){t(e,2,0,e.component.healthData.scrub_status)}))}function Ga(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,11,"cd-info-group",[["groupTitle","Performance"]],null,null,null,Wn,Un)),i["ɵdid"](1,49152,null,0,Hn,[],{groupTitle:[0,"groupTitle"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,Da)),i["ɵdid"](3,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,La)),i["ɵdid"](5,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,Fa)),i["ɵdid"](7,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,za)),i["ɵdid"](9,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,Va)),i["ɵdid"](11,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0,"Performance"),t(e,3,0,n.healthData.client_perf),t(e,5,0,n.healthData.client_perf),t(e,7,0,n.healthData.client_perf),t(e,9,0,n.healthData.client_perf),t(e,11,0,n.healthData.scrub_status)}),null)}function Ya(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-info-card",[["cardTitle","Pools"],["class","cd-capacity-card order-md-1 order-lg-4 order-xl-1"],["contentClass","content-highlight"],["link","/pool"]],null,null,null,Bn,Vn)),i["ɵdid"](1,49152,null,0,zn,[],{cardTitle:[0,"cardTitle"],link:[1,"link"],contentClass:[2,"contentClass"]},null),(t()(),i["ɵted"](2,0,[" "," "]))],(function(t,e){t(e,1,0,"Pools","/pool","content-highlight")}),(function(t,e){t(e,2,0,e.component.healthData.pools.length)}))}function Ba(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"cd-info-card",[["cardTitle","Raw Capacity"],["class","cd-capacity-card order-md-3 order-lg-1 order-xl-2"],["contentClass","content-chart"]],null,null,null,Bn,Vn)),i["ɵdid"](1,49152,null,0,zn,[],{cardTitle:[0,"cardTitle"],contentClass:[1,"contentClass"]},null),(t()(),i["ɵeld"](2,0,null,0,1,"cd-health-pie",[],null,[[null,"prepareFn"]],(function(t,e,n){var a=!0;return"prepareFn"===e&&(a=!1!==t.component.prepareRawUsage(n[0],n[1])&&a),a}),na,ea)),i["ɵdid"](3,638976,null,0,ta,[Jn.a,Xn.a],{data:[0,"data"],config:[1,"config"],isBytesData:[2,"isBytesData"]},{prepareFn:"prepareFn"})],(function(t,e){var n=e.component;t(e,1,0,"Raw Capacity","content-chart"),t(e,3,0,n.healthData,n.rawCapacityChartConfig,!0)}),null)}function Ha(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"cd-info-card",[["cardTitle","Objects"],["class","cd-capacity-card order-md-4 order-lg-2 order-xl-3"],["contentClass","content-chart"]],null,null,null,Bn,Vn)),i["ɵdid"](1,49152,null,0,zn,[],{cardTitle:[0,"cardTitle"],contentClass:[1,"contentClass"]},null),(t()(),i["ɵeld"](2,0,null,0,1,"cd-health-pie",[],null,[[null,"prepareFn"]],(function(t,e,n){var a=!0;return"prepareFn"===e&&(a=!1!==t.component.prepareObjects(n[0],n[1])&&a),a}),na,ea)),i["ɵdid"](3,638976,null,0,ta,[Jn.a,Xn.a],{data:[0,"data"],config:[1,"config"]},{prepareFn:"prepareFn"})],(function(t,e){var n=e.component;t(e,1,0,"Objects","content-chart"),t(e,3,0,n.healthData,n.objectsChartConfig)}),null)}function Ua(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"cd-info-card",[["cardTitle","PGs per OSD"],["class","cd-capacity-card order-md-2 order-lg-5 order-xl-4"],["contentClass","content-highlight"]],null,null,null,Bn,Vn)),i["ɵdid"](1,49152,null,0,zn,[],{cardTitle:[0,"cardTitle"],contentClass:[1,"contentClass"]},null),(t()(),i["ɵted"](2,0,[" "," "])),i["ɵppd"](3,1)],(function(t,e){t(e,1,0,"PGs per OSD","content-highlight")}),(function(t,e){var n=e.component,a=i["ɵunv"](e,2,0,t(e,3,0,i["ɵnov"](e.parent.parent.parent,7),n.healthData.pg_info.pgs_per_osd));t(e,2,0,a)}))}function Wa(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,0,null,null,null,null,null,null,null))],null,null)}function Ka(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"li",[],null,null,null,null,null)),(t()(),i["ɵted"](1,null,[" ",": "," "]))],null,(function(t,e){t(e,1,0,e.context.$implicit.key,e.context.$implicit.value)}))}function $a(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,Wa)),i["ɵdid"](1,540672,null,0,o.NgTemplateOutlet,[i.ViewContainerRef],{ngTemplateOutlet:[0,"ngTemplateOutlet"]},null),(t()(),i["ɵeld"](2,0,null,null,3,"ul",[],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,2,null,Ka)),i["ɵdid"](4,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),i["ɵpid"](0,o.KeyValuePipe,[i.KeyValueDiffers])],(function(t,e){var n=e.component;t(e,1,0,i["ɵnov"](e.parent.parent.parent,7)),t(e,4,0,i["ɵunv"](e,4,0,i["ɵnov"](e,5).transform(n.healthData.pg_info.statuses)))}),null)}function Za(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,7,"cd-info-card",[["cardTitle","PG Status"],["class","cd-capacity-card order-md-5 order-lg-3 order-xl-5"],["contentClass","content-chart"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,5).toggle()&&a),a}),Bn,Vn)),i["ɵdid"](1,49152,null,0,zn,[],{cardTitle:[0,"cardTitle"],contentClass:[1,"contentClass"]},null),(t()(),i["ɵand"](0,[["pgStatus",2]],0,0,null,$a)),(t()(),i["ɵeld"](3,0,null,0,4,"div",[["class","pg-status-popover-wrapper"]],null,null,null,null,null)),(t()(),i["ɵeld"](4,16777216,null,null,3,"div",[["placement","bottom"],["triggers",""]],null,null,null,null,null)),i["ɵdid"](5,212992,[["pgStatusTarget",4]],0,jn.c,[jn.a,i.ElementRef,i.Renderer2,i.ViewContainerRef,U.a,Fn.a],{popover:[0,"popover"],placement:[1,"placement"],triggers:[2,"triggers"]},null),(t()(),i["ɵeld"](6,0,null,null,1,"cd-health-pie",[],null,[[null,"prepareFn"]],(function(t,e,n){var a=!0;return"prepareFn"===e&&(a=!1!==t.component.preparePgStatus(n[0],n[1])&&a),a}),na,ea)),i["ɵdid"](7,638976,null,0,ta,[Jn.a,Xn.a],{data:[0,"data"],config:[1,"config"]},{prepareFn:"prepareFn"})],(function(t,e){var n=e.component;t(e,1,0,"PG Status","content-chart"),t(e,5,0,i["ɵnov"](e,2),"bottom",""),t(e,7,0,n.healthData,n.pgStatusChartConfig)}),null)}function Ja(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,11,"cd-info-group",[["groupTitle","Capacity"]],null,null,null,Wn,Un)),i["ɵdid"](1,49152,null,0,Hn,[],{groupTitle:[0,"groupTitle"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,Ya)),i["ɵdid"](3,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,Ba)),i["ɵdid"](5,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,Ha)),i["ɵdid"](7,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,Ua)),i["ɵdid"](9,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,Za)),i["ɵdid"](11,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0,"Capacity"),t(e,3,0,n.healthData.pools),t(e,5,0,n.healthData.df),t(e,7,0,null!=(null==n.healthData.pg_info?null:null==n.healthData.pg_info.object_stats?null:n.healthData.pg_info.object_stats.num_objects)),t(e,9,0,n.healthData.pg_info),t(e,11,0,n.healthData.pg_info)}),null)}function Xa(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,10,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,9,"p",[["class","logs-link"]],null,null,null,null,null)),(t()(),i["ɵeld"](2,0,null,null,3,"i",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](4,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](5,1),(t()(),i["ɵted"](-1,null,[" See "])),(t()(),i["ɵeld"](7,0,null,null,2,"a",[["routerLink","/logs"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,8).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](8,671744,null,0,Tt.p,[Tt.m,Tt.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵted"](-1,null,["Logs"])),(t()(),i["ɵted"](-1,null,[" for more details."]))],(function(t,e){var n=t(e,5,0,e.component.icons.infoCircle);t(e,4,0,n),t(e,8,0,"/logs")}),(function(t,e){t(e,7,0,i["ɵnov"](e,8).target,i["ɵnov"](e,8).href)}))}function Qa(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,Xa)),i["ɵdid"](1,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](0,null,null,0))],(function(t,e){t(e,1,0,e.component.permissions.log.read)}),null)}function tr(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,7,"div",[["class","container-fluid"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Ea)),i["ɵdid"](2,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Ga)),i["ɵdid"](4,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Ja)),i["ɵdid"](6,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](0,[["logsLink",2]],null,0,null,Qa))],(function(t,e){var n=e.component;t(e,2,0,(null==n.healthData.health?null:n.healthData.health.status)||n.healthData.mon_status||n.healthData.osd_map||n.healthData.mgr_map||null!=n.healthData.hosts||null!=n.healthData.rgw||n.healthData.fs_map||null!=n.healthData.iscsi_daemons),t(e,4,0,n.healthData.client_perf||n.healthData.scrub_status),t(e,6,0,n.healthData.pools||n.healthData.df||n.healthData.pg_info)}),null)}function er(t){return i["ɵvid"](0,[i["ɵpid"](0,Ht,[]),i["ɵpid"](0,aa,[ra.a]),i["ɵpid"](0,oa,[ra.a]),i["ɵpid"](0,ia,[ra.a]),i["ɵpid"](0,sa,[ra.a]),i["ɵpid"](0,ca,[]),i["ɵpid"](0,Jn.a,[la.a]),i["ɵpid"](0,Xn.a,[la.a]),(t()(),i["ɵand"](16777216,null,null,2,null,tr)),i["ɵdid"](9,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),i["ɵpid"](131072,o.AsyncPipe,[i.ChangeDetectorRef])],(function(t,e){var n=e.component;t(e,9,0,i["ɵunv"](e,9,0,i["ɵnov"](e,10).transform(n.healthData&&n.enabledFeature$)))}),null)}class nr{constructor(t){this.refreshIntervalService=t,this.intervalList={"5 s":5e3,"10 s":1e4,"15 s":15e3,"30 s":3e4,"1 min":6e4,"3 min":18e4,"5 min":3e5},this.intervalKeys=Object.keys(this.intervalList)}ngOnInit(){this.selectedInterval=this.refreshIntervalService.getRefreshInterval()||5e3}changeRefreshInterval(t){this.refreshIntervalService.setRefreshInterval(t)}}var ar=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function rr(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](3,null,["",""]))],(function(t,e){var n=e.component;t(e,1,0,n.intervalList[e.context.$implicit]),t(e,2,0,n.intervalList[e.context.$implicit])}),(function(t,e){t(e,3,0,e.context.$implicit)}))}function or(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,13,"div",[["class","row"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,12,"div",[["class","col-12"]],null,null,null,null,null)),(t()(),i["ɵeld"](2,0,null,null,11,"div",[["class","float-right d-inline-flex"]],null,null,null,null,null)),(t()(),i["ɵeld"](3,0,null,null,1,"label",[["class","col-form-label my-0 mx-2"],["for","refreshInterval"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Refresh"])),(t()(),i["ɵeld"](5,0,null,null,8,"select",[["class","form-control custom-select"],["id","refreshInterval"],["name","refreshInterval"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"ngModelChange"],[null,"blur"]],(function(t,e,n){var a=!0,r=t.component;return"change"===e&&(a=!1!==i["ɵnov"](t,6).onChange(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,6).onTouched()&&a),"change"===e&&(a=!1!==r.changeRefreshInterval(n.target.value)&&a),"ngModelChange"===e&&(a=!1!==(r.selectedInterval=n)&&a),a}),null,null)),i["ɵdid"](6,16384,null,0,W.A,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.A]),i["ɵdid"](8,671744,null,0,W.u,[[8,null],[8,null],[8,null],[6,W.p]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),i["ɵprd"](2048,null,W.q,null,[W.u]),i["ɵdid"](10,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](11,16384,null,0,K.h,[[8,null],K.a],null,null),(t()(),i["ɵand"](16777216,null,null,1,null,rr)),i["ɵdid"](13,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){var n=e.component;t(e,8,0,"refreshInterval",n.selectedInterval),t(e,13,0,n.intervalKeys)}),(function(t,e){t(e,5,0,i["ɵnov"](e,10).ngClassUntouched,i["ɵnov"](e,10).ngClassTouched,i["ɵnov"](e,10).ngClassPristine,i["ɵnov"](e,10).ngClassDirty,i["ɵnov"](e,10).ngClassValid,i["ɵnov"](e,10).ngClassInvalid,i["ɵnov"](e,10).ngClassPending,i["ɵnov"](e,11).validClass,i["ɵnov"](e,11).invalidClass)}))}class ir{constructor(){this.hasGrafana=!1}ngOnInit(){}}var sr=i["ɵcrt"]({encapsulation:0,styles:[["div[_ngcontent-%COMP%]{padding-top:20px}"]],data:{}});function cr(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,7,"tabset",[],[[2,"tab-container",null]],null,null,Ln.b,Ln.a)),i["ɵdid"](1,180224,null,0,qn.e,[qn.f,i.Renderer2,i.ElementRef],null,null),(t()(),i["ɵeld"](2,0,null,0,3,"tab",[["heading","Health"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](3,212992,null,0,qn.b,[qn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵeld"](4,0,null,null,1,"cd-health",[],null,null,null,er,ba)),i["ɵdid"](5,245760,null,0,ha,[ua,ra.a,bt.a,ma.a,De.a,pa,Jn.a,Xn.a],null,null),(t()(),i["ɵeld"](6,0,null,0,1,"tab",[["heading","Statistics"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](7,212992,null,0,qn.b,[qn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null)],(function(t,e){t(e,3,0,"Health"),t(e,5,0),t(e,7,0,"Statistics")}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).clazz),t(e,2,0,i["ɵnov"](e,3).id,i["ɵnov"](e,3).active,i["ɵnov"](e,3).addClass),t(e,6,0,i["ɵnov"](e,7).id,i["ɵnov"](e,7).active,i["ɵnov"](e,7).addClass)}))}function lr(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-health",[],null,null,null,er,ba)),i["ɵdid"](1,245760,null,0,ha,[ua,ra.a,bt.a,ma.a,De.a,pa,Jn.a,Xn.a],null,null)],(function(t,e){t(e,1,0)}),null)}function dr(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,"div",[],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,1,"cd-refresh-selector",[],null,null,null,or,ar)),i["ɵdid"](2,114688,null,0,nr,[pa],null,null),(t()(),i["ɵand"](16777216,null,null,1,null,cr)),i["ɵdid"](4,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,lr)),i["ɵdid"](6,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,2,0),t(e,4,0,n.hasGrafana),t(e,6,0,!n.hasGrafana)}),null)}function ur(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-dashboard",[],null,null,null,dr,sr)),i["ɵdid"](1,114688,null,0,ir,[],null,null)],(function(t,e){t(e,1,0)}),null)}var gr=i["ɵccf"]("cd-dashboard",ir,ur,{},{},[]),fr=n("a278"),pr=n("insk"),mr=n("cUpR"),hr=n("25BL"),br=n("uIqm"),_r=n("NUGo"),yr=n("S7zO"),Or=n("DqMs"),vr=n("/NlG");class Cr{constructor(t,e){this.cephReleaseNamePipe=t,this.summaryService=e}ngOnInit(){const t=this.summaryService.subscribe(e=>{if(!e)return;const n=this.cephReleaseNamePipe.transform(e.version);this.docsUrl=`http://docs.ceph.com/docs/${n}/mgr/orchestrator/`,setTimeout(()=>{t.unsubscribe()},0)})}}var Pr=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Mr(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,5,"cd-alert-panel",[["type","info"]],null,null,null,Or.b,Or.a)),i["ɵdid"](1,114688,null,0,vr.a,[ra.a],{type:[0,"type"]},null),(t()(),i["ɵted"](-1,0,["Orchestrator is not available. Please consult the "])),(t()(),i["ɵeld"](3,0,null,0,1,"a",[["target","_blank"]],[[8,"href",4]],null,null,null,null)),(t()(),i["ɵted"](-1,null,["documentation"])),(t()(),i["ɵted"](-1,0,[" on how to configure and enable the functionality."]))],(function(t,e){t(e,1,0,"info")}),(function(t,e){t(e,3,0,i["ɵinlineInterpolate"](1,"",e.component.docsUrl,""))}))}let xr=(()=>{class t{constructor(t){this.http=t,this.url="api/orchestrator"}status(){return this.http.get(`${this.url}/status`)}identifyDevice(t,e,n){return this.http.post(`${this.url}/identify_device`,{hostname:t,device:e,duration:n})}inventoryList(t){const e=t?{params:(new J.h).set("hostname",t)}:{};return this.http.get(`${this.url}/inventory`,e)}inventoryDeviceList(t){return this.inventoryList(t).pipe(Object(hn.a)(t=>{const e=$.flatMap(t,t=>t.devices.map(e=>(e.hostname=t.name,e.uid=e.device_id?e.device_id:`${e.hostname}-${e.path}`,e)));return Object(gn.a)(e)}))}}return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t(i["ɵɵinject"](J.c))},token:t,providedIn:me.a}),t})();var wr=n("Rf2I"),Tr=n("x38r"),kr=n("vCyI");class Sr{constructor(t,e,n,a,r,o){this.authStorageService=t,this.dimlessBinary=e,this.i18n=n,this.modalService=a,this.notificationService=r,this.orchService=o,this.devices=[],this.hiddenColumns=[],this.filterColumns=["hostname","human_readable_type","available","sys_api.vendor","sys_api.model","sys_api.size"],this.selectionType=void 0,this.filterChange=new i.EventEmitter,this.fetchInventory=new i.EventEmitter,this.icons=dt.a,this.columns=[],this.selection=new kr.a}ngOnInit(){this.permission=this.authStorageService.getPermissions().osd,this.tableActions=[{permission:"update",icon:dt.a.show,click:()=>this.identifyDevice(),name:this.i18n("Identify"),disable:()=>!this.selection.hasSingleSelection,canBePrimary:t=>!t.hasSingleSelection,visible:()=>$.isString(this.selectionType)}];const t=[{name:this.i18n("Hostname"),prop:"hostname",flexGrow:1},{name:this.i18n("Device path"),prop:"path",flexGrow:1},{name:this.i18n("Type"),prop:"human_readable_type",flexGrow:1,cellTransformation:Tr.a.badge,customTemplateConfig:{map:{hdd:{value:"HDD",class:"badge-hdd"},ssd:{value:"SSD",class:"badge-ssd"}}}},{name:this.i18n("Available"),prop:"available",flexGrow:1},{name:this.i18n("Vendor"),prop:"sys_api.vendor",flexGrow:1},{name:this.i18n("Model"),prop:"sys_api.model",flexGrow:1},{name:this.i18n("Size"),prop:"sys_api.size",flexGrow:1,pipe:this.dimlessBinary},{name:this.i18n("OSDs"),prop:"osd_ids",flexGrow:1,cellTransformation:Tr.a.badge,customTemplateConfig:{class:"badge-dark",prefix:"osd."}}];this.columns=t.filter(t=>!this.hiddenColumns.includes(t.prop)),$.forEach(this.filterColumns,t=>{const e=$.find(this.columns,{prop:t});e&&(e.filterable=!0)}),this.fetchInventory.observers.length>0&&(this.fetchInventorySub=this.table.fetchData.subscribe(()=>{this.fetchInventory.emit()}))}ngOnDestroy(){this.fetchInventorySub&&this.fetchInventorySub.unsubscribe()}onColumnFiltersChanged(t){this.filterChange.emit(t)}updateSelection(t){this.selection=t}identifyDevice(){const t=this.selection.first(),e=t.hostname,n=t.path||t.device_id;this.modalService.show(wr.a,{initialState:{titleText:this.i18n("Identify device {{device}}",{device:n}),message:this.i18n("Please enter the duration how long to blink the LED."),fields:[{type:"select",name:"duration",value:300,required:!0,options:[{text:this.i18n("1 minute"),value:60},{text:this.i18n("2 minutes"),value:120},{text:this.i18n("5 minutes"),value:300},{text:this.i18n("10 minutes"),value:600},{text:this.i18n("15 minutes"),value:900}]}],submitButtonText:this.i18n("Execute"),onSubmit:t=>{this.orchService.identifyDevice(e,n,t.duration).subscribe(()=>{this.notificationService.show(be.a.success,this.i18n("Identifying '{{device}}' started on host '{{hostname}}'",{hostname:e,device:n}))})}}})}}var Ir=i["ɵcrt"]({encapsulation:0,styles:[[".filter[_ngcontent-%COMP%]{padding-right:8px}.fa-stack[_ngcontent-%COMP%]{font-size:.79rem}.fa-stack[_ngcontent-%COMP%]   .fa-stack-1x[_ngcontent-%COMP%]{margin-left:8px;margin-top:5px}"]],data:{}});function Nr(t){return i["ɵvid"](0,[i["ɵqud"](402653184,1,{table:0}),(t()(),i["ɵeld"](1,0,null,null,3,"cd-table",[["columnMode","flex"],["identifier","uid"]],null,[[null,"updateSelection"],[null,"columnFiltersChanged"]],(function(t,e,n){var a=!0,r=t.component;return"updateSelection"===e&&(a=!1!==r.updateSelection(n)&&a),"columnFiltersChanged"===e&&(a=!1!==r.onColumnFiltersChanged(n)&&a),a}),hr.b,hr.a)),i["ɵdid"](2,2867200,[[1,4]],0,br.a,[i.NgZone,i.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],searchField:[3,"searchField"],autoReload:[4,"autoReload"],identifier:[5,"identifier"],forceIdentifier:[6,"forceIdentifier"],selectionType:[7,"selectionType"]},{updateSelection:"updateSelection",columnFiltersChanged:"columnFiltersChanged"}),(t()(),i["ɵeld"](3,0,null,1,1,"cd-table-actions",[["class","table-actions"]],null,null,null,_r.b,_r.a)),i["ɵdid"](4,114688,null,0,yr.a,[],{permission:[0,"permission"],selection:[1,"selection"],tableActions:[2,"tableActions"]},null)],(function(t,e){var n=e.component;t(e,2,0,n.devices,n.columns,"flex",!1,!1,"uid",!0,n.selectionType),t(e,4,0,n.permission,n.selection,n.tableActions)}),null)}class Rr{constructor(t){this.orchService=t,this.icons=dt.a,this.hasOrchestrator=!1,this.devices=[]}ngOnInit(){this.orchService.status().subscribe(t=>{this.hasOrchestrator=t.available,t.available&&this.getInventory()})}ngOnChanges(){this.hasOrchestrator&&(this.devices=[],this.getInventory())}getInventory(){""!==this.hostname&&this.orchService.inventoryDeviceList(this.hostname).subscribe(t=>{this.devices=t},()=>{this.devices=[]})}refresh(){this.getInventory()}}var Ar=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Er(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-orchestrator-doc-panel",[],null,null,null,Mr,Pr)),i["ɵdid"](1,114688,null,0,Cr,[ht.a,gt.a],null,null)],(function(t,e){t(e,1,0)}),null)}function Dr(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,7,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,1,"legend",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Devices"])),(t()(),i["ɵeld"](3,0,null,null,4,"div",[["class","row"]],null,null,null,null,null)),(t()(),i["ɵeld"](4,0,null,null,3,"div",[["class","col-md-12"]],null,null,null,null,null)),(t()(),i["ɵeld"](5,0,null,null,2,"cd-inventory-devices",[["selectionType","single"]],null,[[null,"fetchInventory"]],(function(t,e,n){var a=!0;return"fetchInventory"===e&&(a=!1!==t.component.refresh()&&a),a}),Nr,Ir)),i["ɵdid"](6,245760,null,0,Sr,[bt.a,Jn.a,ra.a,Pt.b,ut.a,xr],{devices:[0,"devices"],hiddenColumns:[1,"hiddenColumns"],selectionType:[2,"selectionType"]},{fetchInventory:"fetchInventory"}),i["ɵpad"](7,1)],(function(t,e){var n=e.component,a=n.devices,r=void 0===n.hostname?i["ɵEMPTY_ARRAY"]:t(e,7,0,"hostname");t(e,6,0,a,r,"single")}),null)}function Lr(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,Er)),i["ɵdid"](1,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Dr)),i["ɵdid"](3,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0,!n.hasOrchestrator),t(e,3,0,n.hasOrchestrator)}),null)}function qr(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-inventory",[],null,null,null,Lr,Ar)),i["ɵdid"](1,638976,null,0,Rr,[xr],null,null)],(function(t,e){t(e,1,0)}),null)}var jr=i["ɵccf"]("cd-inventory",Rr,qr,{hostname:"hostname"},{},[]);let Fr=(()=>{class t{constructor(t){this.http=t,this.url="api/service"}list(t){const e=t?{params:(new J.h).set("service_name",t)}:{};return this.http.get(this.url,e)}getDaemons(t){return this.http.get(`${this.url}/${t}/daemons`)}}return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t(i["ɵɵinject"](J.c))},token:t,providedIn:me.a}),t})(),zr=(()=>{class t{constructor(){}calculateAdditionalData(t){if(!t.life_expectancy_min||!t.life_expectancy_max)return t.state="unknown",t;const e=t=>!!Number.parseFloat(t),n=(t,n)=>t&&n&&e(t)&&e(n)?re.duration(re(t).diff(re(n))).asWeeks():null,a=re.duration(re(re.now()).diff(re(t.life_expectancy_stamp))).asWeeks(),r=n(t.life_expectancy_max,t.life_expectancy_stamp),o=n(t.life_expectancy_min,t.life_expectancy_stamp);return t.state=a>1?"stale":null!==r&&r<=2?"bad":null!==o&&o<=4?"warning":"good",t.life_expectancy_weeks={max:null!==r?Math.round(r):null,min:null!==o?Math.round(o):null},t}readable(t){return t.readableDaemons=t.daemons.join(" "),t}prepareDevice(t){return this.readable(this.calculateAdditionalData(t))}}return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t},token:t,providedIn:"root"}),t})(),Vr=(()=>{class t{constructor(t,e){this.http=t,this.deviceService=e,this.baseURL="api/host"}list(){return this.http.get(this.baseURL)}create(t){return this.http.post(this.baseURL,{hostname:t},{observe:"response"})}delete(t){return this.http.delete(`${this.baseURL}/${t}`,{observe:"response"})}getDevices(t){return this.http.get(`${this.baseURL}/${t}/devices`).pipe(Object(pe.a)(t=>t.map(t=>this.deviceService.prepareDevice(t))))}getSmartData(t){return this.http.get(`${this.baseURL}/${t}/smart`)}getDaemons(t){return this.http.get(`${this.baseURL}/${t}/daemons`)}}return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t(i["ɵɵinject"](J.c),i["ɵɵinject"](zr))},token:t,providedIn:me.a}),t})();class Gr{constructor(t,e,n,a){this.i18n=t,this.hostService=e,this.cephServiceService=n,this.orchService=a,this.daemons=[],this.columns=[],this.hasOrchestrator=!1}ngOnInit(){this.columns=[{name:this.i18n("Hostname"),prop:"hostname",flexGrow:1,filterable:!0},{name:this.i18n("Daemon type"),prop:"daemon_type",flexGrow:1,filterable:!0},{name:this.i18n("Daemon ID"),prop:"daemon_id",flexGrow:1,filterable:!0},{name:this.i18n("Container ID"),prop:"container_id",flexGrow:3,filterable:!0},{name:this.i18n("Container Image name"),prop:"container_image_name",flexGrow:3,filterable:!0},{name:this.i18n("Container Image ID"),prop:"container_image_id",flexGrow:3,filterable:!0},{name:this.i18n("Version"),prop:"version",flexGrow:1,filterable:!0},{name:this.i18n("Status"),prop:"status",flexGrow:1,filterable:!0},{name:this.i18n("Status Description"),prop:"status_desc",flexGrow:1,filterable:!0},{name:this.i18n("Last Refreshed"),prop:"last_refresh",flexGrow:2}],this.orchService.status().subscribe(t=>{this.hasOrchestrator=t.available})}ngOnChanges(){$.isUndefined(this.daemonsTable)||this.daemonsTable.reloadData()}ngAfterViewInit(){this.daemonsTableTplsSub=this.daemonsTableTpls.changes.subscribe(t=>{this.daemonsTable=t.first})}ngOnDestroy(){this.daemonsTableTplsSub&&this.daemonsTableTplsSub.unsubscribe()}getDaemons(t){let e;if(this.hostname)e=this.hostService.getDaemons(this.hostname);else{if(!this.serviceName)return void(this.daemons=[]);e=this.cephServiceService.getDaemons(this.serviceName)}e.subscribe(t=>{this.daemons=t},()=>{this.daemons=[],t.error()})}}var Yr=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Br(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-orchestrator-doc-panel",[],null,null,null,Mr,Pr)),i["ɵdid"](1,114688,null,0,Cr,[ht.a,gt.a],null,null)],(function(t,e){t(e,1,0)}),null)}function Hr(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-table",[["columnMode","flex"]],null,[[null,"fetchData"]],(function(t,e,n){var a=!0;return"fetchData"===e&&(a=!1!==t.component.getDaemons(n)&&a),a}),hr.b,hr.a)),i["ɵdid"](1,2867200,[[1,4],["daemonsTable",4]],0,br.a,[i.NgZone,i.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],autoReload:[3,"autoReload"]},{fetchData:"fetchData"})],(function(t,e){var n=e.component;t(e,1,0,n.daemons,n.columns,"flex",6e4)}),null)}function Ur(t){return i["ɵvid"](0,[i["ɵqud"](671088640,1,{daemonsTableTpls:1}),(t()(),i["ɵand"](16777216,null,null,1,null,Br)),i["ɵdid"](2,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Hr)),i["ɵdid"](4,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,2,0,!n.hasOrchestrator),t(e,4,0,n.hasOrchestrator)}),null)}var Wr=n("sLuX"),Kr=n("FSuO"),$r=n("QC43"),Zr=n("XFyV");let Jr=(()=>{class t{constructor(t,e,n){this.http=t,this.i18n=e,this.deviceService=n,this.path="api/osd",this.osdRecvSpeedModalPriorities={KNOWN_PRIORITIES:[{name:null,text:this.i18n("-- Select the priority --"),values:{osd_max_backfills:null,osd_recovery_max_active:null,osd_recovery_max_single_start:null,osd_recovery_sleep:null}},{name:"low",text:this.i18n("Low"),values:{osd_max_backfills:1,osd_recovery_max_active:1,osd_recovery_max_single_start:1,osd_recovery_sleep:.5}},{name:"default",text:this.i18n("Default"),values:{osd_max_backfills:1,osd_recovery_max_active:3,osd_recovery_max_single_start:1,osd_recovery_sleep:0}},{name:"high",text:this.i18n("High"),values:{osd_max_backfills:4,osd_recovery_max_active:4,osd_recovery_max_single_start:4,osd_recovery_sleep:0}}]}}create(t){const e={method:"drive_groups",data:t,tracking_id:$.join($.map(t,"service_id"),", ")};return this.http.post(this.path,e,{observe:"response"})}getList(){return this.http.get(`${this.path}`)}getDetails(t){return this.http.get(`${this.path}/${t}`)}getSmartData(t){return this.http.get(`${this.path}/${t}/smart`)}scrub(t,e){return this.http.post(`${this.path}/${t}/scrub?deep=${e}`,null)}getFlags(){return this.http.get(`${this.path}/flags`)}updateFlags(t){return this.http.put(`${this.path}/flags`,{flags:t})}markOut(t){return this.http.post(`${this.path}/${t}/mark_out`,null)}markIn(t){return this.http.post(`${this.path}/${t}/mark_in`,null)}markDown(t){return this.http.post(`${this.path}/${t}/mark_down`,null)}reweight(t,e){return this.http.post(`${this.path}/${t}/reweight`,{weight:e})}update(t,e){return this.http.put(`${this.path}/${t}`,{device_class:e})}markLost(t){return this.http.post(`${this.path}/${t}/mark_lost`,null)}purge(t){return this.http.post(`${this.path}/${t}/purge`,null)}destroy(t){return this.http.post(`${this.path}/${t}/destroy`,null)}delete(t,e){const n=e?{params:(new J.h).set("force","true")}:{};return n.observe="response",this.http.delete(`${this.path}/${t}`,n)}safeToDestroy(t){return this.http.get(`${this.path}/safe_to_destroy?ids=${t}`)}safeToDelete(t){return this.http.get(`${this.path}/safe_to_delete?svc_ids=${t}`)}getDevices(t){return this.http.get(`${this.path}/${t}/devices`).pipe(Object(pe.a)(t=>t.map(t=>this.deviceService.prepareDevice(t))))}}return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t(i["ɵɵinject"](J.c),i["ɵɵinject"](ra.a),i["ɵɵinject"](zr))},token:t,providedIn:me.a}),t})();class Xr{constructor(t,e,n){this.i18n=t,this.osdService=e,this.hostService=n,this.osdId=null,this.hostname=null,this.loading=!1,this.incompatible=!1,this.error=!1,this.data={}}isSmartError(t){return void 0!==$.get(t,"error")}isNvmeSmartData(t){return"nvme"===$.get(t,"device.protocol","").toLowerCase()}isHddSmartData(t){return"ata"===$.get(t,"device.protocol","").toLowerCase()}fetchData(t){const e={};$.each(t,(t,n)=>{if(this.isSmartError(t)){let a="";return a=this.i18n(-22===t.smartctl_error_code?"Smartctl has received an unknown argument (error code {{code}}). You may be using an incompatible version of smartmontools. Version >= 7.0 of smartmontools is required to successfully retrieve data.":"An error with error code {{code}} occurred.",{code:t.smartctl_error_code}),void(e[n]={error:t.error,smartctl_error_code:t.smartctl_error_code,smartctl_output:t.smartctl_output,userMessage:a,device:t.dev,identifier:t.nvme_vendor})}1!==t.json_format_version[0]?this.incompatible=!0:this.isHddSmartData(t)?e[n]=this.extractHddData(t):this.isNvmeSmartData(t)&&(e[n]=this.extractNvmeData(t))}),this.data=e,this.loading=!1}extractNvmeData(t){return{info:$.omitBy(t,(t,e)=>["nvme_smart_health_information_log"].includes(e)),smart:{nvmeData:t.nvme_smart_health_information_log},device:t.device.name,identifier:t.serial_number}}extractHddData(t){const e=$.omitBy(t,(t,e)=>["ata_smart_attributes","ata_smart_selective_self_test_log","ata_smart_data"].includes(e));return{info:e,smart:{attributes:t.ata_smart_attributes,data:t.ata_smart_data},device:e.device.name,identifier:e.serial_number}}updateData(){this.loading=!0,null!==this.osdId?this.osdService.getSmartData(this.osdId).subscribe(this.fetchData.bind(this),t=>{t.preventDefault(),this.error=t,this.loading=!1}):null!==this.hostname&&this.hostService.getSmartData(this.hostname).subscribe(this.fetchData.bind(this),t=>{t.preventDefault(),this.error=t,this.loading=!1})}ngOnInit(){this.smartDataColumns=[{prop:"id",name:this.i18n("ID")},{prop:"name",name:this.i18n("Name")},{prop:"raw.value",name:this.i18n("Raw")},{prop:"thresh",name:this.i18n("Threshold")},{prop:"value",name:this.i18n("Value")},{prop:"when_failed",name:this.i18n("When Failed")},{prop:"worst",name:this.i18n("Worst")}]}ngOnChanges(t){this.data={},t.osdId?this.osdId=t.osdId.currentValue:t.hostname&&(this.hostname=t.hostname.currentValue),this.updateData()}}var Qr=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function to(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-alert-panel",[["type","error"]],null,null,null,Or.b,Or.a)),i["ɵdid"](1,114688,null,0,vr.a,[ra.a],{type:[0,"type"]},null),(t()(),i["ɵted"](-1,0,["Failed to retrieve SMART data."]))],(function(t,e){t(e,1,0,"error")}),null)}function eo(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-alert-panel",[["type","warning"]],null,null,null,Or.b,Or.a)),i["ɵdid"](1,114688,null,0,vr.a,[ra.a],{type:[0,"type"]},null),(t()(),i["ɵted"](-1,0,["The data received has the JSON format version 2.x and is currently incompatible with the dashboard."]))],(function(t,e){t(e,1,0,"warning")}),null)}function no(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-alert-panel",[["type","info"]],null,null,null,Or.b,Or.a)),i["ɵdid"](1,114688,null,0,vr.a,[ra.a],{type:[0,"type"]},null),(t()(),i["ɵted"](-1,0,["No SMART data available."]))],(function(t,e){t(e,1,0,"info")}),null)}function ao(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,2,"cd-alert-panel",[["id","alert-error"],["type","warning"]],null,null,null,Or.b,Or.a)),i["ɵdid"](2,114688,null,0,vr.a,[ra.a],{type:[0,"type"]},null),(t()(),i["ɵted"](3,0,["",""]))],(function(t,e){t(e,2,0,"warning")}),(function(t,e){t(e,3,0,e.parent.context.$implicit.value.userMessage)}))}function ro(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,2,"cd-alert-panel",[["id","alert-self-test-passed"],["size","slim"],["title","SMART overall-health self-assessment test result"],["type","info"]],null,null,null,Or.b,Or.a)),i["ɵdid"](2,114688,null,0,vr.a,[ra.a],{title:[0,"title"],type:[1,"type"],size:[2,"size"]},null),(t()(),i["ɵted"](-1,0,["passed"]))],(function(t,e){t(e,2,0,"SMART overall-health self-assessment test result","info","slim")}),null)}function oo(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-alert-panel",[["id","alert-self-test-failed"],["size","slim"],["title","SMART overall-health self-assessment test result"],["type","warning"]],null,null,null,Or.b,Or.a)),i["ɵdid"](1,114688,null,0,vr.a,[ra.a],{title:[0,"title"],type:[1,"type"],size:[2,"size"]},null),(t()(),i["ɵted"](-1,0,["failed"]))],(function(t,e){t(e,1,0,"SMART overall-health self-assessment test result","warning","slim")}),null)}function io(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-table",[["updateSelectionOnRefresh","never"]],null,null,null,hr.b,hr.a)),i["ɵdid"](1,2867200,null,0,br.a,[i.NgZone,i.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],updateSelectionOnRefresh:[2,"updateSelectionOnRefresh"]},null)],(function(t,e){t(e,1,0,e.parent.parent.context.$implicit.value.smart.attributes.table,e.component.smartDataColumns,"never")}),null)}function so(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-table-key-value",[["updateSelectionOnRefresh","never"]],null,null,null,Wr.b,Wr.a)),i["ɵdid"](1,638976,null,0,Kr.a,[ie.a],{data:[0,"data"],renderObjects:[1,"renderObjects"]},null)],(function(t,e){t(e,1,0,e.parent.parent.context.$implicit.value.smart.nvmeData,!0)}),null)}function co(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-alert-panel",[["type","info"]],null,null,null,Or.b,Or.a)),i["ɵdid"](1,114688,null,0,vr.a,[ra.a],{type:[0,"type"]},null),(t()(),i["ɵted"](-1,0,["No SMART data available for this device."]))],(function(t,e){t(e,1,0,"info")}),null)}function lo(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,ro)),i["ɵdid"](1,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"],ngIfElse:[1,"ngIfElse"]},null),(t()(),i["ɵand"](0,[["selfTestFailed",2]],null,0,null,oo)),(t()(),i["ɵeld"](3,0,null,null,13,"tabset",[],[[2,"tab-container",null]],null,null,Ln.b,Ln.a)),i["ɵdid"](4,180224,null,0,qn.e,[qn.f,i.Renderer2,i.ElementRef],null,null),(t()(),i["ɵeld"](5,0,null,0,3,"tab",[["heading","Device Information"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](6,212992,null,0,qn.b,[qn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵeld"](7,0,null,null,1,"cd-table-key-value",[],null,null,null,Wr.b,Wr.a)),i["ɵdid"](8,638976,null,0,Kr.a,[ie.a],{data:[0,"data"],renderObjects:[1,"renderObjects"]},null),(t()(),i["ɵeld"](9,0,null,0,7,"tab",[["heading","SMART"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](10,212992,null,0,qn.b,[qn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,io)),i["ɵdid"](12,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,so)),i["ɵdid"](14,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,co)),i["ɵdid"](16,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){t(e,1,0,e.parent.context.$implicit.value.info.smart_status.passed,i["ɵnov"](e,2)),t(e,6,0,"Device Information"),t(e,8,0,e.parent.context.$implicit.value.info,!0),t(e,10,0,"SMART"),t(e,12,0,e.parent.context.$implicit.value.smart.attributes),t(e,14,0,e.parent.context.$implicit.value.smart.nvmeData),t(e,16,0,!e.parent.context.$implicit.value.smart.attributes&&!e.parent.context.$implicit.value.smart.nvmeData)}),(function(t,e){t(e,3,0,i["ɵnov"](e,4).clazz),t(e,5,0,i["ɵnov"](e,6).id,i["ɵnov"](e,6).active,i["ɵnov"](e,6).addClass),t(e,9,0,i["ɵnov"](e,10).id,i["ɵnov"](e,10).active,i["ɵnov"](e,10).addClass)}))}function uo(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,"tabset",[],[[2,"tab-container",null]],null,null,Ln.b,Ln.a)),i["ɵdid"](1,180224,null,0,qn.e,[qn.f,i.Renderer2,i.ElementRef],null,null),(t()(),i["ɵeld"](2,0,null,0,4,"tab",[],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](3,212992,null,0,qn.b,[qn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,ao)),i["ɵdid"](5,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"],ngIfElse:[1,"ngIfElse"]},null),(t()(),i["ɵand"](0,[["noError",2]],null,0,null,lo))],(function(t,e){t(e,3,0,e.context.$implicit.value.device+" ("+e.context.$implicit.value.identifier+")"),t(e,5,0,e.context.$implicit.value.error,i["ɵnov"](e,6))}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).clazz),t(e,2,0,i["ɵnov"](e,3).id,i["ɵnov"](e,3).active,i["ɵnov"](e,3).addClass)}))}function go(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,null,null,null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,2,null,no)),i["ɵdid"](2,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),i["ɵpid"](0,o.KeyValuePipe,[i.KeyValueDiffers]),(t()(),i["ɵand"](16777216,null,null,2,null,uo)),i["ɵdid"](5,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),i["ɵpid"](0,o.KeyValuePipe,[i.KeyValueDiffers]),(t()(),i["ɵand"](0,null,null,0))],(function(t,e){var n=e.component;t(e,2,0,!i["ɵunv"](e,2,0,i["ɵnov"](e,3).transform(n.data)).length),t(e,5,0,i["ɵunv"](e,5,0,i["ɵnov"](e,6).transform(n.data)))}),null)}function fo(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,null,null,null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,to)),i["ɵdid"](2,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,eo)),i["ɵdid"](4,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,go)),i["ɵdid"](6,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](0,null,null,0))],(function(t,e){var n=e.component;t(e,2,0,n.error),t(e,4,0,n.incompatible),t(e,6,0,!n.error&&!n.incompatible)}),null)}function po(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-loading-panel",[],null,null,null,$r.b,$r.a)),i["ɵdid"](1,49152,null,0,Zr.a,[],null,null),(t()(),i["ɵted"](-1,0,["SMART data is loading."]))],null,null)}function mo(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,fo)),i["ɵdid"](1,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"],ngIfElse:[1,"ngIfElse"]},null),(t()(),i["ɵand"](0,[["isLoading",2]],null,0,null,po))],(function(t,e){t(e,1,0,!e.component.loading,i["ɵnov"](e,2))}),null)}class ho{constructor(t,e,n,a){this.hostService=t,this.i18n=e,this.datePipe=n,this.osdService=a,this.hostname="",this.osdId=null,this.devices=null,this.columns=[],this.translationMapping={"=1":"# week",other:"# weeks"}}ngOnInit(){const t=t=>this.devices=t;this.hostname?this.hostService.getDevices(this.hostname).subscribe(t):null!==this.osdId&&this.osdService.getDevices(this.osdId).subscribe(t),this.columns=[{prop:"devid",name:this.i18n("Device ID"),minWidth:200},{prop:"state",name:this.i18n("State of Health"),flexGrow:1,cellTransformation:Tr.a.badge,customTemplateConfig:{map:{good:{value:this.i18n("Good"),class:"badge-success"},warning:{value:this.i18n("Warning"),class:"badge-warning"},bad:{value:this.i18n("Bad"),class:"badge-danger"},stale:{value:this.i18n("Stale"),class:"badge-info"},unknown:{value:this.i18n("Unknown"),class:"badge-dark"}}}},{prop:"life_expectancy_weeks",name:this.i18n("Life Expectancy"),cellTemplate:this.lifeExpectancyTemplate},{prop:"life_expectancy_stamp",name:this.i18n("Prediction Creation Date"),cellTemplate:this.lifeExpectancyTimestampTemplate,pipe:this.datePipe,isHidden:!0},{prop:"location",name:this.i18n("Device Name"),cellTemplate:this.locationTemplate},{prop:"readableDaemons",name:this.i18n("Daemons")}]}}var bo=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function _o(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-table",[],null,null,null,hr.b,hr.a)),i["ɵdid"](1,2867200,null,0,br.a,[i.NgZone,i.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"]},null)],(function(t,e){var n=e.component;t(e,1,0,n.devices,n.columns)}),null)}function yo(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-alert-panel",[["type","warning"]],null,null,null,Or.b,Or.a)),i["ɵdid"](1,114688,null,0,vr.a,[ra.a],{type:[0,"type"]},null),(t()(),i["ɵted"](-1,0,["Neither hostname nor OSD ID given"]))],(function(t,e){t(e,1,0,"warning")}),null)}function Oo(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](1,null,["",""]))],null,(function(t,e){t(e,1,0,e.context.$implicit.dev)}))}function vo(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,Oo)),i["ɵdid"](1,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵand"](0,null,null,0))],(function(t,e){t(e,1,0,e.context.value)}),null)}function Co(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](1,null,["> ",""])),i["ɵppd"](2,2)],null,(function(t,e){var n=e.component,a=i["ɵunv"](e,1,0,t(e,2,0,i["ɵnov"](e.parent.parent,0),e.parent.context.value.min,n.translationMapping));t(e,1,0,a)}))}function Po(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](1,null,["< ",""])),i["ɵppd"](2,2)],null,(function(t,e){var n=e.component,a=i["ɵunv"](e,1,0,t(e,2,0,i["ɵnov"](e.parent.parent,0),e.parent.context.value.max,n.translationMapping));t(e,1,0,a)}))}function Mo(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](1,null,[""," to ",""])),i["ɵppd"](2,2)],null,(function(t,e){var n=e.component,a=e.parent.context.value.min,r=i["ɵunv"](e,1,1,t(e,2,0,i["ɵnov"](e.parent.parent,0),e.parent.context.value.max,n.translationMapping));t(e,1,0,a,r)}))}function xo(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,Co)),i["ɵdid"](1,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Po)),i["ɵdid"](3,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Mo)),i["ɵdid"](5,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](0,null,null,0))],(function(t,e){t(e,1,0,e.context.value.min&&!e.context.value.max),t(e,3,0,e.context.value.max&&!e.context.value.min),t(e,5,0,e.context.value.max&&e.context.value.min)}),null)}function wo(t){return i["ɵvid"](0,[(t()(),i["ɵted"](0,null,[" ","\n"]))],null,(function(t,e){t(e,0,0,e.context.value)}))}function To(t){return i["ɵvid"](0,[i["ɵpid"](0,o.I18nPluralPipe,[o.NgLocalization]),i["ɵqud"](402653184,1,{locationTemplate:0}),i["ɵqud"](402653184,2,{lifeExpectancyTemplate:0}),i["ɵqud"](402653184,3,{lifeExpectancyTimestampTemplate:0}),(t()(),i["ɵand"](16777216,null,null,1,null,_o)),i["ɵdid"](5,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,yo)),i["ɵdid"](7,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](0,[[1,2],["deviceLocation",2]],null,0,null,vo)),(t()(),i["ɵand"](0,[[2,2],["lifeExpectancy",2]],null,0,null,xo)),(t()(),i["ɵand"](0,[[3,2],["lifeExpectancyTimestamp",2]],null,0,null,wo))],(function(t,e){var n=e.component;t(e,5,0,n.hostname||null!==n.osdId),t(e,7,0,""===n.hostname&&null===n.osdId)}),null)}n("jKX/");class ko{get selectedHostname(){return this.selection.hasSelection?this.selection.first().hostname:null}constructor(){}}var So=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Io(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"tab",[["heading","Inventory"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](1,212992,null,0,qn.b,[qn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵeld"](2,0,null,null,1,"cd-inventory",[],null,null,null,Lr,Ar)),i["ɵdid"](3,638976,null,0,Rr,[xr],{hostname:[0,"hostname"]},null)],(function(t,e){var n=e.component;t(e,1,0,"Inventory"),t(e,3,0,n.selectedHostname)}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).id,i["ɵnov"](e,1).active,i["ɵnov"](e,1).addClass)}))}function No(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"tab",[["heading","Daemons"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](1,212992,null,0,qn.b,[qn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵeld"](2,0,null,null,1,"cd-service-daemon-list",[],null,null,null,Ur,Yr)),i["ɵdid"](3,4964352,null,0,Gr,[ra.a,Vr,Fr,xr],{hostname:[0,"hostname"]},null)],(function(t,e){var n=e.component;t(e,1,0,"Daemons"),t(e,3,0,n.selectedHostname)}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).id,i["ɵnov"](e,1).active,i["ɵnov"](e,1).addClass)}))}function Ro(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"tab",[["heading","Performance Details"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](1,212992,null,0,qn.b,[qn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵeld"](2,0,null,null,1,"cd-grafana",[["grafanaStyle","three"],["uid","rtOg0AiWz"]],null,null,null,fr.b,fr.a)),i["ɵdid"](3,638976,null,0,pr.a,[gt.a,mr.b,Kt.a,ht.a,ra.a],{grafanaPath:[0,"grafanaPath"],grafanaStyle:[1,"grafanaStyle"],uid:[2,"uid"]},null)],(function(t,e){var n=e.component;t(e,1,0,"Performance Details"),t(e,3,0,"host-details?var-ceph_hosts="+n.selectedHostname,"three","rtOg0AiWz")}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).id,i["ɵnov"](e,1).active,i["ɵnov"](e,1).addClass)}))}function Ao(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-smart-list",[],null,null,null,mo,Qr)),i["ɵdid"](1,638976,null,0,Xr,[ra.a,Jr,Vr],{hostname:[0,"hostname"]},null)],(function(t,e){t(e,1,0,e.component.selectedHostname)}),null)}function Eo(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,15,"tabset",[],[[2,"tab-container",null]],null,null,Ln.b,Ln.a)),i["ɵdid"](1,180224,[[1,4]],0,qn.e,[qn.f,i.Renderer2,i.ElementRef],null,null),(t()(),i["ɵeld"](2,0,null,0,3,"tab",[["heading","Devices"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](3,212992,null,0,qn.b,[qn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵeld"](4,0,null,null,1,"cd-device-list",[],null,null,null,To,bo)),i["ɵdid"](5,114688,null,0,ho,[Vr,ra.a,o.DatePipe,Jr],{hostname:[0,"hostname"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,Io)),i["ɵdid"](7,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,No)),i["ɵdid"](9,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,Ro)),i["ɵdid"](11,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](12,0,null,0,3,"tab",[["heading","Device health"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](13,212992,null,0,qn.b,[qn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Ao)),i["ɵdid"](15,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"],ngIfElse:[1,"ngIfElse"]},null)],(function(t,e){var n=e.component;t(e,3,0,"Devices"),t(e,5,0,n.selection.first().hostname),t(e,7,0,n.permissions.hosts.read),t(e,9,0,n.permissions.hosts.read),t(e,11,0,n.permissions.grafana.read),t(e,13,0,"Device health"),t(e,15,0,n.selectedHostname,i["ɵnov"](e.parent,3))}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).clazz),t(e,2,0,i["ɵnov"](e,3).id,i["ɵnov"](e,3).active,i["ɵnov"](e,3).addClass),t(e,12,0,i["ɵnov"](e,13).id,i["ɵnov"](e,13).active,i["ɵnov"](e,13).addClass)}))}function Do(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-alert-panel",[["type","error"]],null,null,null,Or.b,Or.a)),i["ɵdid"](1,114688,null,0,vr.a,[ra.a],{type:[0,"type"]},null),(t()(),i["ɵted"](-1,0,["No hostname found."]))],(function(t,e){t(e,1,0,"error")}),null)}function Lo(t){return i["ɵvid"](0,[i["ɵqud"](671088640,1,{tabsetChild:0}),(t()(),i["ɵand"](16777216,null,null,1,null,Eo)),i["ɵdid"](2,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](0,[["noHostname",2]],null,0,null,Do))],(function(t,e){t(e,2,0,e.component.selection.hasSingleSelection)}),null)}var qo=n("EgGo"),jo=n("0+/T"),Fo=n("kvvV"),zo=n("85J/");class Vo{constructor(t){this.bsModalRef=t}ngOnInit(){}onSubmit(){this.bsModalRef.hide()}}let Go=(()=>{class t{constructor(t,e){this.orchService=t,this.modalService=e}checkOrchestratorOrModal(t,e,n){this.orchService.status().subscribe(a=>{a.available?n():this.modalService.show(Vo,{initialState:{actionDescription:t,itemDescription:e}})})}}return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t(i["ɵɵinject"](xr),i["ɵɵinject"](Pt.b))},token:t,providedIn:"root"}),t})();var Yo=n("kn/O");const Bo=new qo.a("hosts");class Ho{constructor(t,e,n,a,r,o,i,s,c,l){this.authStorageService=t,this.hostService=e,this.cephShortVersionPipe=n,this.i18n=a,this.urlBuilder=r,this.actionLabels=o,this.modalService=i,this.taskWrapper=s,this.router=c,this.depCheckerService=l,this.columns=[],this.hosts=[],this.isLoadingHosts=!1,this.cdParams={fromLink:"/hosts"},this.selection=new kr.a,this.permissions=this.authStorageService.getPermissions(),this.tableActions=[{name:this.actionLabels.CREATE,permission:"create",icon:dt.a.add,click:()=>{this.depCheckerService.checkOrchestratorOrModal(this.actionLabels.CREATE,this.i18n("Host"),()=>{this.router.navigate([this.urlBuilder.getCreate()])})}},{name:this.actionLabels.DELETE,permission:"delete",icon:dt.a.destroy,click:()=>{this.depCheckerService.checkOrchestratorOrModal(this.actionLabels.DELETE,this.i18n("Host"),()=>this.deleteHostModal())},disable:()=>!this.selection.hasSelection}]}ngOnInit(){this.columns=[{name:this.i18n("Hostname"),prop:"hostname",flexGrow:1},{name:this.i18n("Services"),prop:"services",flexGrow:3,cellTemplate:this.servicesTpl},{name:this.i18n("Version"),prop:"ceph_version",flexGrow:1,pipe:this.cephShortVersionPipe}]}updateSelection(t){this.selection=t}deleteHostModal(){const t=this.selection.first().hostname;this.modalRef=this.modalService.show(jo.a,{initialState:{itemDescription:"Host",itemNames:[t],actionDescription:"delete",submitActionObservable:()=>this.taskWrapper.wrapTaskAroundCall({task:new Fo.a("host/delete",{hostname:t}),call:this.hostService.delete(t)})}})}getHosts(t){if(this.isLoadingHosts)return;const e={mds:"cephfs",mon:"monitor",osd:"osd",rgw:"rgw","rbd-mirror":"rbdMirroring",mgr:"manager","tcmu-runner":"iscsi"};this.isLoadingHosts=!0,this.hostService.list().subscribe(t=>{t.map(t=>(t.services.map(t=>{t.cdLink=`/perf_counters/${t.type}/${encodeURIComponent(t.id)}`;const n=this.permissions[e[t.type]];return t.canRead=!!n&&n.read,t}),t)),this.hosts=t,this.isLoadingHosts=!1},()=>{this.isLoadingHosts=!1,t.error()})}}var Uo=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Wo(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"a",[["class","service-link"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,1).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](1,671744,null,0,Tt.p,[Tt.m,Tt.a,o.LocationStrategy],{queryParams:[0,"queryParams"],routerLink:[1,"routerLink"]},null),i["ɵpad"](2,1),(t()(),i["ɵted"](3,null,["","."," "]))],(function(t,e){var n=e.component.cdParams,a=t(e,2,0,e.parent.context.$implicit.cdLink);t(e,1,0,n,a)}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).target,i["ɵnov"](e,1).href),t(e,3,0,e.parent.context.$implicit.type,e.parent.context.$implicit.id)}))}function Ko(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](1,null,[" ","."," "]))],null,(function(t,e){t(e,1,0,e.parent.context.$implicit.type,e.parent.context.$implicit.id)}))}function $o(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,5,"span",[],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Wo)),i["ɵdid"](2,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Ko)),i["ɵdid"](4,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵted"](5,null,[" "," "]))],(function(t,e){t(e,2,0,e.context.$implicit.canRead),t(e,4,0,!e.context.$implicit.canRead)}),(function(t,e){t(e,5,0,e.context.last?"":", ")}))}function Zo(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,$o)),i["ɵdid"](1,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵand"](0,null,null,0))],(function(t,e){t(e,1,0,e.context.value)}),null)}function Jo(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"tab",[["heading","Overall Performance"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](1,212992,null,0,qn.b,[qn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵeld"](2,0,null,null,1,"cd-grafana",[["grafanaStyle","two"],["uid","y0KGL0iZz"]],null,null,null,fr.b,fr.a)),i["ɵdid"](3,638976,null,0,pr.a,[gt.a,mr.b,Kt.a,ht.a,ra.a],{grafanaPath:[0,"grafanaPath"],grafanaStyle:[1,"grafanaStyle"],uid:[2,"uid"]},null)],(function(t,e){t(e,1,0,"Overall Performance"),t(e,3,0,"host-overview?","two","y0KGL0iZz")}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).id,i["ɵnov"](e,1).active,i["ɵnov"](e,1).addClass)}))}function Xo(t){return i["ɵvid"](0,[i["ɵqud"](402653184,1,{servicesTpl:0}),(t()(),i["ɵeld"](1,0,null,null,13,"tabset",[],[[2,"tab-container",null]],null,null,Ln.b,Ln.a)),i["ɵdid"](2,180224,null,0,qn.e,[qn.f,i.Renderer2,i.ElementRef],null,null),(t()(),i["ɵeld"](3,0,null,0,9,"tab",[["heading","Hosts List"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](4,212992,null,0,qn.b,[qn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵeld"](5,0,null,null,7,"cd-table",[["columnMode","flex"],["selectionType","single"]],null,[[null,"fetchData"],[null,"updateSelection"]],(function(t,e,n){var a=!0,r=t.component;return"fetchData"===e&&(a=!1!==r.getHosts(n)&&a),"updateSelection"===e&&(a=!1!==r.updateSelection(n)&&a),a}),hr.b,hr.a)),i["ɵdid"](6,2867200,null,0,br.a,[i.NgZone,i.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],selectionType:[3,"selectionType"]},{fetchData:"fetchData",updateSelection:"updateSelection"}),(t()(),i["ɵeld"](7,0,null,1,2,"div",[["class","table-actions btn-toolbar"]],null,null,null,null,null)),(t()(),i["ɵeld"](8,0,null,null,1,"cd-table-actions",[["class","btn-group"],["id","host-actions"]],null,null,null,_r.b,_r.a)),i["ɵdid"](9,114688,null,0,yr.a,[],{permission:[0,"permission"],selection:[1,"selection"],tableActions:[2,"tableActions"]},null),(t()(),i["ɵand"](0,[[1,2],["servicesTpl",2]],null,0,null,Zo)),(t()(),i["ɵeld"](11,0,null,3,1,"cd-host-details",[["cdTableDetail",""]],null,null,null,Lo,So)),i["ɵdid"](12,49152,null,0,ko,[],{permissions:[0,"permissions"],selection:[1,"selection"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,Jo)),i["ɵdid"](14,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,4,0,"Hosts List"),t(e,6,0,n.hosts,n.columns,"flex","single"),t(e,9,0,n.permissions.hosts,n.selection,n.tableActions),t(e,12,0,n.permissions,n.selection),t(e,14,0,n.permissions.grafana.read)}),(function(t,e){t(e,1,0,i["ɵnov"](e,2).clazz),t(e,3,0,i["ɵnov"](e,4).id,i["ɵnov"](e,4).active,i["ɵnov"](e,4).addClass)}))}function Qo(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-hosts",[],null,null,null,Xo,Uo)),i["ɵprd"](256,null,qo.a,Bo,[]),i["ɵdid"](2,114688,null,0,Ho,[bt.a,Vr,zo.a,ra.a,qo.a,Ot.b,Pt.b,Yo.a,Tt.m,Go],null,null)],(function(t,e){t(e,2,0)}),null)}var ti=i["ɵccf"]("cd-hosts",Ho,Qo,{},{},[]),ei=n("mXUL"),ni=n("IZUe"),ai=n("gp3X"),ri=n("sb0X"),oi=n("KVJa"),ii=n("Z21x"),si=n("8xTl"),ci=n("QFaf"),li=n("1Ni5");class di{constructor(t,e,n,a,r){this.router=t,this.i18n=e,this.actionLabels=n,this.hostService=a,this.taskWrapper=r,this.loading=!0,this.resource=this.i18n("host"),this.action=this.actionLabels.CREATE,this.createForm()}ngOnInit(){this.hostService.list().subscribe(t=>{this.hostnames=t.map(t=>t.hostname),this.loading=!1})}createForm(){this.hostForm=new ci.a({hostname:new W.i("",{validators:[W.B.required,li.a.custom("uniqueName",t=>this.hostnames&&-1!==this.hostnames.indexOf(t))]})})}submit(){const t=this.hostForm.get("hostname").value;this.taskWrapper.wrapTaskAroundCall({task:new Fo.a("host/"+Ot.e.CREATE,{hostname:t}),call:this.hostService.create(t)}).subscribe(void 0,()=>{this.hostForm.setErrors({cdSubmitButton:!0})},()=>{this.router.navigate(["/hosts"])})}}var ui=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function gi(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-loading-panel",[],null,null,null,$r.b,$r.a)),i["ɵdid"](1,49152,null,0,Zr.a,[],null,null),(t()(),i["ɵted"](-1,0,["Loading..."]))],null,null)}function fi(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["This field is required."]))],null,null)}function pi(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["The chosen hostname is already in use."]))],null,null)}function mi(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,39,"form",[["name","hostForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(t,e,n){var a=!0;return"submit"===e&&(a=!1!==i["ɵnov"](t,2).onSubmit(n)&&a),"reset"===e&&(a=!1!==i["ɵnov"](t,2).onReset()&&a),"submit"===e&&(a=!1!==i["ɵnov"](t,5).onSubmit()&&a),a}),null,null)),i["ɵdid"](1,16384,null,0,W.G,[],null,null),i["ɵdid"](2,540672,[["formDir",4]],0,W.l,[[8,null],[8,null]],{form:[0,"form"]},null),i["ɵprd"](2048,null,W.d,null,[W.l]),i["ɵdid"](4,16384,null,0,W.s,[[4,W.d]],null,null),i["ɵdid"](5,16384,null,0,K.d,[],{formGroup:[0,"formGroup"]},null),(t()(),i["ɵeld"](6,0,null,null,33,"div",[["class","card"]],null,null,null,null,null)),(t()(),i["ɵeld"](7,0,null,null,3,"div",[["class","card-header"]],null,null,null,null,null)),(t()(),i["ɵted"](8,null,[""," ",""])),i["ɵppd"](9,1),i["ɵppd"](10,1),(t()(),i["ɵeld"](11,0,null,null,19,"div",[["class","card-body"]],null,null,null,null,null)),(t()(),i["ɵeld"](12,0,null,null,18,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](13,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,1,{FormControlNames:1}),i["ɵqud"](603979776,2,{messagesBlock:0}),(t()(),i["ɵeld"](16,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","hostname"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Hostname"])),(t()(),i["ɵeld"](18,0,null,0,12,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](19,0,null,null,7,"input",[["autofocus",""],["class","form-control"],["formControlName","hostname"],["id","hostname"],["name","hostname"],["placeholder","mon-123"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,21)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,21).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,21)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,21)._compositionEnd(n.target.value)&&a),a}),null,null)),i["ɵdid"](20,4210688,null,0,ni.a,[i.ElementRef],{autofocus:[0,"autofocus"]},null),i["ɵdid"](21,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](23,671744,[[1,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](25,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](26,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,fi)),i["ɵdid"](28,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,pi)),i["ɵdid"](30,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](31,0,null,null,8,"div",[["class","card-footer"]],null,null,null,null,null)),(t()(),i["ɵeld"](32,0,null,null,7,"div",[["class","button-group text-right"]],null,null,null,null,null)),(t()(),i["ɵeld"](33,0,null,null,4,"cd-submit-button",[],null,[[null,"submitAction"]],(function(t,e,n){var a=!0;return"submitAction"===e&&(a=!1!==t.component.submit()&&a),a}),ai.b,ai.a)),i["ɵdid"](34,114688,null,0,ri.a,[i.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(t()(),i["ɵted"](35,0,[""," ",""])),i["ɵppd"](36,1),i["ɵppd"](37,1),(t()(),i["ɵeld"](38,0,null,null,1,"cd-back-button",[],null,null,null,oi.b,oi.a)),i["ɵdid"](39,49152,null,0,ii.a,[o.Location,Ot.b],null,null)],(function(t,e){var n=e.component;t(e,2,0,n.hostForm),t(e,5,0,n.hostForm),t(e,13,0),t(e,20,0,""),t(e,23,0,"hostname"),t(e,26,0,"hostname"),t(e,28,0,n.hostForm.showError("hostname",i["ɵnov"](e,2),"required")),t(e,30,0,n.hostForm.showError("hostname",i["ɵnov"](e,2),"uniqueName")),t(e,34,0,i["ɵnov"](e,2))}),(function(t,e){var n=e.component;t(e,0,0,i["ɵnov"](e,4).ngClassUntouched,i["ɵnov"](e,4).ngClassTouched,i["ɵnov"](e,4).ngClassPristine,i["ɵnov"](e,4).ngClassDirty,i["ɵnov"](e,4).ngClassValid,i["ɵnov"](e,4).ngClassInvalid,i["ɵnov"](e,4).ngClassPending);var a=i["ɵunv"](e,8,0,t(e,9,0,i["ɵnov"](e.parent,0),n.action)),r=i["ɵunv"](e,8,1,t(e,10,0,i["ɵnov"](e.parent,1),n.resource));t(e,8,0,a,r),t(e,12,0,i["ɵnov"](e,13).hasErrors,i["ɵnov"](e,13).hasSuccess),t(e,19,0,i["ɵnov"](e,25).ngClassUntouched,i["ɵnov"](e,25).ngClassTouched,i["ɵnov"](e,25).ngClassPristine,i["ɵnov"](e,25).ngClassDirty,i["ɵnov"](e,25).ngClassValid,i["ɵnov"](e,25).ngClassInvalid,i["ɵnov"](e,25).ngClassPending,i["ɵnov"](e,26).validClass,i["ɵnov"](e,26).invalidClass);var o=i["ɵunv"](e,35,0,t(e,36,0,i["ɵnov"](e.parent,0),n.action)),s=i["ɵunv"](e,35,1,t(e,37,0,i["ɵnov"](e.parent,1),n.resource));t(e,35,0,o,s)}))}function hi(t){return i["ɵvid"](0,[i["ɵpid"](0,o.TitleCasePipe,[]),i["ɵpid"](0,si.a,[]),(t()(),i["ɵand"](16777216,null,null,1,null,gi)),i["ɵdid"](3,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](4,0,null,null,2,"div",[["class","cd-col-form"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,mi)),i["ɵdid"](6,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,3,0,n.loading),t(e,6,0,!n.loading)}),null)}function bi(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-host-form",[],null,null,null,hi,ui)),i["ɵdid"](1,114688,null,0,di,[Tt.m,ra.a,Ot.b,Vr,Yo.a],null,null)],(function(t,e){t(e,1,0)}),null)}var _i=i["ɵccf"]("cd-host-form",di,bi,{},{},[]);let yi=(()=>{class t{constructor(t){this.http=t}getMonitor(){return this.http.get("api/monitor")}}return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t(i["ɵɵinject"](J.c))},token:t,providedIn:me.a}),t})();class Oi{constructor(t,e){this.monitorService=t,this.i18n=e,this.inQuorum={columns:[{prop:"name",name:this.i18n("Name"),cellTransformation:Tr.a.routerLink},{prop:"rank",name:this.i18n("Rank")},{prop:"public_addr",name:this.i18n("Public Address")},{prop:"cdOpenSessions",name:this.i18n("Open Sessions"),cellTransformation:Tr.a.sparkline,comparator:(t,e)=>{const n=$.last(t),a=$.last(e);return n&&a&&n!==a?n>a?1:-1:0}}],data:[]},this.notInQuorum={columns:[{prop:"name",name:this.i18n("Name"),cellTransformation:Tr.a.routerLink},{prop:"rank",name:this.i18n("Rank")},{prop:"public_addr",name:this.i18n("Public Address")}],data:[]}}refresh(){this.monitorService.getMonitor().subscribe(t=>{t.in_quorum.map(t=>(t.cdOpenSessions=t.stats.num_sessions.map(t=>t[1]),t.cdLink="/perf_counters/mon/"+t.name,t.cdParams={fromLink:"/monitor"},t)),t.out_quorum.map(t=>(t.cdLink="/perf_counters/mon/"+t.name,t.cdParams={fromLink:"/monitor"},t)),this.inQuorum.data=[...t.in_quorum],this.notInQuorum.data=[...t.out_quorum],this.mon_status=t.mon_status})}}var vi=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Ci(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,35,"table",[["class","table table-striped"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,4,"tr",[],null,null,null,null,null)),(t()(),i["ɵeld"](2,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Cluster ID"])),(t()(),i["ɵeld"](4,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](5,null,["",""])),(t()(),i["ɵeld"](6,0,null,null,4,"tr",[],null,null,null,null,null)),(t()(),i["ɵeld"](7,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["monmap modified"])),(t()(),i["ɵeld"](9,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](10,null,["",""])),(t()(),i["ɵeld"](11,0,null,null,4,"tr",[],null,null,null,null,null)),(t()(),i["ɵeld"](12,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["monmap epoch"])),(t()(),i["ɵeld"](14,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](15,null,["",""])),(t()(),i["ɵeld"](16,0,null,null,4,"tr",[],null,null,null,null,null)),(t()(),i["ɵeld"](17,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["quorum con"])),(t()(),i["ɵeld"](19,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](20,null,["",""])),(t()(),i["ɵeld"](21,0,null,null,4,"tr",[],null,null,null,null,null)),(t()(),i["ɵeld"](22,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["quorum mon"])),(t()(),i["ɵeld"](24,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](25,null,["",""])),(t()(),i["ɵeld"](26,0,null,null,4,"tr",[],null,null,null,null,null)),(t()(),i["ɵeld"](27,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["required con"])),(t()(),i["ɵeld"](29,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](30,null,["",""])),(t()(),i["ɵeld"](31,0,null,null,4,"tr",[],null,null,null,null,null)),(t()(),i["ɵeld"](32,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["required mon"])),(t()(),i["ɵeld"](34,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](35,null,["",""]))],null,(function(t,e){var n=e.component;t(e,5,0,n.mon_status.monmap.fsid),t(e,10,0,n.mon_status.monmap.modified),t(e,15,0,n.mon_status.monmap.epoch),t(e,20,0,n.mon_status.features.quorum_con),t(e,25,0,n.mon_status.features.quorum_mon),t(e,30,0,n.mon_status.features.required_con),t(e,35,0,n.mon_status.features.required_mon)}))}function Pi(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,15,"div",[["class","row"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,5,"div",[["class","col-lg-4"]],null,null,null,null,null)),(t()(),i["ɵeld"](2,0,null,null,4,"fieldset",[],null,null,null,null,null)),(t()(),i["ɵeld"](3,0,null,null,1,"legend",[["class","cd-header"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Status"])),(t()(),i["ɵand"](16777216,null,null,1,null,Ci)),i["ɵdid"](6,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](7,0,null,null,8,"div",[["class","col-lg-8"]],null,null,null,null,null)),(t()(),i["ɵeld"](8,0,null,null,1,"legend",[["class","in-quorum cd-header"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["In Quorum"])),(t()(),i["ɵeld"](10,0,null,null,1,"cd-table",[],null,null,null,hr.b,hr.a)),i["ɵdid"](11,2867200,null,0,br.a,[i.NgZone,i.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"]},null),(t()(),i["ɵeld"](12,0,null,null,1,"legend",[["class","in-quorum cd-header"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Not In Quorum"])),(t()(),i["ɵeld"](14,0,null,null,1,"cd-table",[],null,[[null,"fetchData"]],(function(t,e,n){var a=!0;return"fetchData"===e&&(a=!1!==t.component.refresh()&&a),a}),hr.b,hr.a)),i["ɵdid"](15,2867200,null,0,br.a,[i.NgZone,i.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"]},{fetchData:"fetchData"})],(function(t,e){var n=e.component;t(e,6,0,n.mon_status),t(e,11,0,n.inQuorum.data,n.inQuorum.columns),t(e,15,0,n.notInQuorum.data,n.notInQuorum.columns)}),null)}function Mi(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-monitor",[],null,null,null,Pi,vi)),i["ɵdid"](1,49152,null,0,Oi,[yi,ra.a],null,null)],null,null)}var xi=i["ɵccf"]("cd-monitor",Oi,Mi,{},{},[]);class wi{constructor(){}ngOnInit(){}}var Ti=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function ki(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,5,"tabset",[],[[2,"tab-container",null]],null,null,Ln.b,Ln.a)),i["ɵdid"](1,180224,[[1,4]],0,qn.e,[qn.f,i.Renderer2,i.ElementRef],null,null),(t()(),i["ɵeld"](2,0,null,0,3,"tab",[["heading","Daemons"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](3,212992,null,0,qn.b,[qn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵeld"](4,0,null,null,1,"cd-service-daemon-list",[],null,null,null,Ur,Yr)),i["ɵdid"](5,4964352,null,0,Gr,[ra.a,Vr,Fr,xr],{serviceName:[0,"serviceName"]},null)],(function(t,e){var n=e.component;t(e,3,0,"Daemons"),t(e,5,0,n.selection.first().service_name)}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).clazz),t(e,2,0,i["ɵnov"](e,3).id,i["ɵnov"](e,3).active,i["ɵnov"](e,3).addClass)}))}function Si(t){return i["ɵvid"](0,[i["ɵqud"](671088640,1,{tabsetChild:0}),(t()(),i["ɵand"](16777216,null,null,1,null,ki)),i["ɵdid"](2,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){t(e,2,0,e.component.selection.hasSingleSelection)}),null)}class Ii{constructor(t,e,n,a){this.authStorageService=t,this.i18n=e,this.orchService=n,this.cephServiceService=a,this.hiddenColumns=[],this.checkingOrchestrator=!0,this.hasOrchestrator=!1,this.columns=[],this.services=[],this.isLoadingServices=!1,this.selection=new kr.a,this.permissions=this.authStorageService.getPermissions()}ngOnInit(){const t=[{name:this.i18n("Service"),prop:"service_name",flexGrow:1},{name:this.i18n("Container image name"),prop:"container_image_name",flexGrow:3},{name:this.i18n("Container image ID"),prop:"container_image_id",flexGrow:3},{name:this.i18n("Running"),prop:"running",flexGrow:1},{name:this.i18n("Size"),prop:"size",flexGrow:1},{name:this.i18n("Last Refreshed"),prop:"last_refresh",flexGrow:1}];this.columns=t.filter(t=>!this.hiddenColumns.includes(t.prop)),this.orchService.status().subscribe(t=>{this.hasOrchestrator=t.available})}ngOnChanges(){this.hasOrchestrator&&(this.services=[],this.table.reloadData())}updateSelection(t){this.selection=t}getServices(t){this.isLoadingServices||(this.isLoadingServices=!0,this.cephServiceService.list().subscribe(t=>{this.services=t,this.isLoadingServices=!1},()=>{this.isLoadingServices=!1,this.services=[],t.error()}))}}var Ni=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Ri(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-orchestrator-doc-panel",[],null,null,null,Mr,Pr)),i["ɵdid"](1,114688,null,0,Cr,[ht.a,gt.a],null,null)],(function(t,e){t(e,1,0)}),null)}function Ai(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,4,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,3,"cd-table",[["columnMode","flex"],["forceIdentifier","true"],["identifier","service_name"],["selectionType","single"]],null,[[null,"fetchData"],[null,"updateSelection"]],(function(t,e,n){var a=!0,r=t.component;return"fetchData"===e&&(a=!1!==r.getServices(n)&&a),"updateSelection"===e&&(a=!1!==r.updateSelection(n)&&a),a}),hr.b,hr.a)),i["ɵdid"](2,2867200,[[1,4]],0,br.a,[i.NgZone,i.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],autoReload:[3,"autoReload"],identifier:[4,"identifier"],forceIdentifier:[5,"forceIdentifier"],selectionType:[6,"selectionType"]},{fetchData:"fetchData",updateSelection:"updateSelection"}),(t()(),i["ɵeld"](3,0,null,3,1,"cd-service-details",[["cdTableDetail",""]],null,null,null,Si,Ti)),i["ɵdid"](4,114688,null,0,wi,[],{permissions:[0,"permissions"],selection:[1,"selection"]},null)],(function(t,e){var n=e.component;t(e,2,0,n.services,n.columns,"flex",6e4,"service_name","true","single"),t(e,4,0,n.permissions,n.selection)}),null)}function Ei(t){return i["ɵvid"](0,[i["ɵqud"](671088640,1,{table:0}),(t()(),i["ɵand"](16777216,null,null,1,null,Ri)),i["ɵdid"](2,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Ai)),i["ɵdid"](4,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,2,0,!n.hasOrchestrator),t(e,4,0,n.hasOrchestrator)}),null)}function Di(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-services",[],null,null,null,Ei,Ni)),i["ɵdid"](1,638976,null,0,Ii,[bt.a,ra.a,xr,Fr],null,null)],(function(t,e){t(e,1,0)}),null)}var Li=i["ɵccf"]("cd-services",Ii,Di,{hostname:"hostname",hiddenColumns:"hiddenColumns"},{},[]),qi=n("xSw7"),ji=n("GgAd"),Fi=n("FFMq"),zi=n("j8L6"),Vi=n("b5OY"),Gi=n("pxLl");class Yi{constructor(){this.last={}}ngOnChanges(){this.render()}hexdigits(t){const e=Math.floor(255*t).toString(16);return 1===e.length?"0"+e:e}hexcolor(t,e,n){return"#"+this.hexdigits(t)+this.hexdigits(e)+this.hexdigits(n)}render(){if(!this.histogram)return;let t=0;$.each(this.histogram.values,(e,n)=>{$.each(e,(e,a)=>{let r;r=this.last&&this.last[n]&&this.last[n][a]?e-this.last[n][a]:e,t=Math.max(t,r)})}),this.valuesStyle=this.histogram.values.map((e,n)=>e.map((e,a)=>{const r=t?(this.last&&this.last[n]&&this.last[n][a]?e-this.last[n][a]:e)/t:0;return{backgroundColor:this.hexcolor(1-r,r,0)}})),this.last=this.histogram.values}}var Bi=i["ɵcrt"]({encapsulation:0,styles:[["table[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]{height:10px}table[_ngcontent-%COMP%]   td[_ngcontent-%COMP%]{width:10px;height:10px}"]],data:{}});function Hi(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"td",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgStyleImpl"],o["ɵNgStyleR2Impl"],[i.ElementRef,i.KeyValueDiffers,i.Renderer2]),i["ɵdid"](2,278528,null,0,o.NgStyle,[o["ɵNgStyleImpl"]],{ngStyle:[0,"ngStyle"]},null)],(function(t,e){t(e,2,0,e.context.$implicit)}),null)}function Ui(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"tr",[],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Hi)),i["ɵdid"](2,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){t(e,2,0,e.context.$implicit)}),null)}function Wi(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"table",[],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Ui)),i["ɵdid"](2,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){t(e,2,0,e.component.valuesStyle)}),null)}class Ki{constructor(t,e){this.osdService=t,this.authStorageService=e,this.grafanaPermission=this.authStorageService.getPermissions().grafana}ngOnChanges(){this.osd={loaded:!1},this.selection.hasSelection&&(this.osd=this.selection.first(),this.refresh())}refresh(){this.osdService.getDetails(this.osd.id).subscribe(t=>{this.osd.details=t,this.osd.histogram_failed="",$.isObject(t.histogram)||(this.osd.histogram_failed=t.histogram,this.osd.details.histogram=void 0),this.osd.loaded=!0})}}var $i=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Zi(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-device-list",[],null,null,null,To,bo)),i["ɵdid"](1,114688,null,0,ho,[Vr,ra.a,o.DatePipe,Jr],{osdId:[0,"osdId"]},null)],(function(t,e){t(e,1,0,e.component.osd.id)}),null)}function Ji(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-table-key-value",[],null,null,null,Wr.b,Wr.a)),i["ɵdid"](1,638976,null,0,Kr.a,[ie.a],{data:[0,"data"]},null)],(function(t,e){t(e,1,0,e.component.osd.details.osd_map)}),null)}function Xi(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-table-key-value",[],null,[[null,"fetchData"]],(function(t,e,n){var a=!0;return"fetchData"===e&&(a=!1!==t.component.refresh()&&a),a}),Wr.b,Wr.a)),i["ɵdid"](1,638976,null,0,Kr.a,[ie.a],{data:[0,"data"]},{fetchData:"fetchData"})],(function(t,e){t(e,1,0,e.component.osd.details.osd_metadata)}),null)}function Qi(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-alert-panel",[["type","warning"]],null,null,null,Or.b,Or.a)),i["ɵdid"](1,114688,null,0,vr.a,[ra.a],{type:[0,"type"]},null),(t()(),i["ɵted"](-1,0,["Metadata not available"]))],(function(t,e){t(e,1,0,"warning")}),null)}function ts(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-table-performance-counter",[["serviceType","osd"]],null,null,null,zi.b,zi.a)),i["ɵdid"](1,114688,null,0,Vi.a,[Gi.a,ra.a],{serviceType:[0,"serviceType"],serviceId:[1,"serviceId"]},null)],(function(t,e){t(e,1,0,"osd",e.component.osd.id)}),null)}function es(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-alert-panel",[["type","warning"]],null,null,null,Or.b,Or.a)),i["ɵdid"](1,114688,null,0,vr.a,[ra.a],{type:[0,"type"]},null),(t()(),i["ɵted"](2,0,["Histogram not available: ",""]))],(function(t,e){t(e,1,0,"warning")}),(function(t,e){t(e,2,0,e.component.osd.histogram_failed)}))}function ns(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,10,"div",[["class","row"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,4,"div",[["class","col-md-6"]],null,null,null,null,null)),(t()(),i["ɵeld"](2,0,null,null,1,"h4",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Writes"])),(t()(),i["ɵeld"](4,0,null,null,1,"cd-osd-performance-histogram",[],null,null,null,Wi,Bi)),i["ɵdid"](5,573440,null,0,Yi,[],{histogram:[0,"histogram"]},null),(t()(),i["ɵeld"](6,0,null,null,4,"div",[["class","col-md-6"]],null,null,null,null,null)),(t()(),i["ɵeld"](7,0,null,null,1,"h4",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Reads"])),(t()(),i["ɵeld"](9,0,null,null,1,"cd-osd-performance-histogram",[],null,null,null,Wi,Bi)),i["ɵdid"](10,573440,null,0,Yi,[],{histogram:[0,"histogram"]},null)],(function(t,e){var n=e.component;t(e,5,0,n.osd.details.histogram.osd.op_w_latency_in_bytes_histogram),t(e,10,0,n.osd.details.histogram.osd.op_r_latency_out_bytes_histogram)}),null)}function as(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"tab",[["heading","Performance Details"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](1,212992,null,0,qn.b,[qn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵeld"](2,0,null,null,1,"cd-grafana",[["grafanaStyle","GrafanaStyles.two"],["uid","CrAHE0iZz"]],null,null,null,fr.b,fr.a)),i["ɵdid"](3,638976,null,0,pr.a,[gt.a,mr.b,Kt.a,ht.a,ra.a],{grafanaPath:[0,"grafanaPath"],grafanaStyle:[1,"grafanaStyle"],uid:[2,"uid"]},null)],(function(t,e){var n=e.component;t(e,1,0,"Performance Details"),t(e,3,0,"osd-device-details?var-osd=osd."+n.osd.id,"GrafanaStyles.two","CrAHE0iZz")}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).id,i["ɵnov"](e,1).active,i["ɵnov"](e,1).addClass)}))}function rs(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,30,"tabset",[["id","tabset-osd-details"]],[[2,"tab-container",null]],null,null,Ln.b,Ln.a)),i["ɵdid"](1,180224,null,0,qn.e,[qn.f,i.Renderer2,i.ElementRef],null,null),(t()(),i["ɵeld"](2,0,null,0,3,"tab",[["heading","Devices"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](3,212992,null,0,qn.b,[qn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Zi)),i["ɵdid"](5,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](6,0,null,0,3,"tab",[["heading","Attributes (OSD map)"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](7,212992,null,0,qn.b,[qn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Ji)),i["ɵdid"](9,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](10,0,null,0,4,"tab",[["heading","Metadata"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](11,212992,null,0,qn.b,[qn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Xi)),i["ɵdid"](13,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"],ngIfElse:[1,"ngIfElse"]},null),(t()(),i["ɵand"](0,[["noMetaData",2]],null,0,null,Qi)),(t()(),i["ɵeld"](15,0,null,0,3,"tab",[["heading","Device health"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](16,212992,null,0,qn.b,[qn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵeld"](17,0,null,null,1,"cd-smart-list",[],null,null,null,mo,Qr)),i["ɵdid"](18,638976,null,0,Xr,[ra.a,Jr,Vr],{osdId:[0,"osdId"]},null),(t()(),i["ɵeld"](19,0,null,0,3,"tab",[["heading","Performance counter"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](20,212992,null,0,qn.b,[qn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,ts)),i["ɵdid"](22,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](23,0,null,0,5,"tab",[["heading","Histogram"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](24,212992,null,0,qn.b,[qn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,es)),i["ɵdid"](26,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,ns)),i["ɵdid"](28,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,as)),i["ɵdid"](30,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,3,0,"Devices"),t(e,5,0,n.osd.loaded&&null!==n.osd.id),t(e,7,0,"Attributes (OSD map)"),t(e,9,0,n.osd.loaded),t(e,11,0,"Metadata"),t(e,13,0,n.osd.loaded&&n.osd.details.osd_metadata,i["ɵnov"](e,14)),t(e,16,0,"Device health"),t(e,18,0,n.osd.id),t(e,20,0,"Performance counter"),t(e,22,0,n.osd.loaded),t(e,24,0,"Histogram"),t(e,26,0,n.osd.loaded&&n.osd.histogram_failed),t(e,28,0,n.osd.loaded&&n.osd.details.histogram),t(e,30,0,n.grafanaPermission.read)}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).clazz),t(e,2,0,i["ɵnov"](e,3).id,i["ɵnov"](e,3).active,i["ɵnov"](e,3).addClass),t(e,6,0,i["ɵnov"](e,7).id,i["ɵnov"](e,7).active,i["ɵnov"](e,7).addClass),t(e,10,0,i["ɵnov"](e,11).id,i["ɵnov"](e,11).active,i["ɵnov"](e,11).addClass),t(e,15,0,i["ɵnov"](e,16).id,i["ɵnov"](e,16).active,i["ɵnov"](e,16).addClass),t(e,19,0,i["ɵnov"](e,20).id,i["ɵnov"](e,20).active,i["ɵnov"](e,20).addClass),t(e,23,0,i["ɵnov"](e,24).id,i["ɵnov"](e,24).active,i["ɵnov"](e,24).addClass)}))}function os(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,rs)),i["ɵdid"](1,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){t(e,1,0,e.component.selection.hasSingleSelection)}),null)}function is(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-osd-details",[],null,null,null,os,$i)),i["ɵdid"](1,573440,null,0,Ki,[Jr,bt.a],null,null)],null,null)}var ss=i["ɵccf"]("cd-osd-details",Ki,is,{selection:"selection"},{},[]),cs=n("cp0P"),ls=n("OLbh");class ds{constructor(t,e,n,a,r){this.bsModalRef=t,this.authStorageService=e,this.osdService=n,this.notificationService=a,this.i18n=r,this.osdFlagsForm=new W.k({}),this.allFlags={noin:{code:"noin",name:this.i18n("No In"),value:!1,description:this.i18n("OSDs that were previously marked out will not be marked back in when they start")},noout:{code:"noout",name:this.i18n("No Out"),value:!1,description:this.i18n("OSDs will not automatically be marked out after the configured interval")},noup:{code:"noup",name:this.i18n("No Up"),value:!1,description:this.i18n("OSDs are not allowed to start")},nodown:{code:"nodown",name:this.i18n("No Down"),value:!1,description:this.i18n("OSD failure reports are being ignored, such that the monitors will not mark OSDs down")},pause:{code:"pause",name:this.i18n("Pause"),value:!1,description:this.i18n("Pauses reads and writes")},noscrub:{code:"noscrub",name:this.i18n("No Scrub"),value:!1,description:this.i18n("Scrubbing is disabled")},"nodeep-scrub":{code:"nodeep-scrub",name:this.i18n("No Deep Scrub"),value:!1,description:this.i18n("Deep Scrubbing is disabled")},nobackfill:{code:"nobackfill",name:this.i18n("No Backfill"),value:!1,description:this.i18n("Backfilling of PGs is suspended")},norebalance:{code:"norebalance",name:this.i18n("No Rebalance"),value:!1,description:this.i18n("OSD will choose not to backfill unless PG is also degraded")},norecover:{code:"norecover",name:this.i18n("No Recover"),value:!1,description:this.i18n("Recovery of PGs is suspended")},sortbitwise:{code:"sortbitwise",name:this.i18n("Bitwise Sort"),value:!1,description:this.i18n("Use bitwise sort"),disabled:!0},purged_snapdirs:{code:"purged_snapdirs",name:this.i18n("Purged Snapdirs"),value:!1,description:this.i18n("OSDs have converted snapsets"),disabled:!0},recovery_deletes:{code:"recovery_deletes",name:this.i18n("Recovery Deletes"),value:!1,description:this.i18n("Deletes performed during recovery instead of peering"),disabled:!0},pglog_hardlimit:{code:"pglog_hardlimit",name:this.i18n("PG Log Hard Limit"),value:!1,description:this.i18n("Puts a hard limit on pg log length"),disabled:!0}},this.unknownFlags=[],this.permissions=this.authStorageService.getPermissions()}ngOnInit(){this.osdService.getFlags().subscribe(t=>{t.forEach(t=>{this.allFlags[t]?this.allFlags[t].value=!0:this.unknownFlags.push(t)}),this.flags=$.toArray(this.allFlags)})}submitAction(){const t=this.flags.filter(t=>t.value).map(t=>t.code).concat(this.unknownFlags);this.osdService.updateFlags(t).subscribe(()=>{this.notificationService.show(be.a.success,this.i18n("Updated OSD Flags")),this.bsModalRef.hide()},()=>{this.bsModalRef.hide()})}}var us=n("MuvH");let gs=(()=>{class t{static getType(t){const e=$.find(this.knownTypes,e=>e.name===t);if(void 0!==e)return e;throw new Error('Found unknown type "'+t+'" for config option.')}static getTypeValidators(e){const n=t.getType(e.type);if("bool"===n.name||"str"===n.name)return;const a={validators:[],patternHelpText:n.patternHelpText};return n.isNumberType?(e.max&&""!==e.max&&(a.max=e.max,a.validators.push(W.B.max(e.max))),e.min&&""!==e.min?(a.min=e.min,a.validators.push(W.B.min(e.min))):"defaultMin"in n&&(a.min=n.defaultMin,a.validators.push(W.B.min(n.defaultMin))),a.validators.push("float"===e.type?li.a.decimalNumber():li.a.number(n.allowsNegative))):"addr"===e.type?a.validators=[li.a.ip()]:"uuid"===e.type&&(a.validators=[li.a.uuid()]),a}static getTypeStep(t,e){if(["uint","int","size","secs"].includes(t))return 1;if("float"===t){if(null!==e&&-1!==e.toString().indexOf(".")){const t=e.toString().split(".");return Math.pow(10,-t[1].length)}return.1}}}return t.knownTypes=[{name:"uint",inputType:"number",humanReadable:"Unsigned integer value",defaultMin:0,patternHelpText:"The entered value needs to be an unsigned number.",isNumberType:!0,allowsNegative:!1},{name:"int",inputType:"number",humanReadable:"Integer value",patternHelpText:"The entered value needs to be a number.",isNumberType:!0,allowsNegative:!0},{name:"size",inputType:"number",humanReadable:"Unsigned integer value (>=16bit)",defaultMin:0,patternHelpText:"The entered value needs to be a unsigned number.",isNumberType:!0,allowsNegative:!1},{name:"secs",inputType:"number",humanReadable:"Number of seconds",defaultMin:1,patternHelpText:"The entered value needs to be a number >= 1.",isNumberType:!0,allowsNegative:!1},{name:"float",inputType:"number",humanReadable:"Double value",patternHelpText:"The entered value needs to be a number or decimal.",isNumberType:!0,allowsNegative:!0},{name:"str",inputType:"text",humanReadable:"Text",isNumberType:!1},{name:"addr",inputType:"text",humanReadable:"IPv4 or IPv6 address",patternHelpText:"The entered value needs to be a valid IP address.",isNumberType:!1},{name:"uuid",inputType:"text",humanReadable:"UUID",patternHelpText:"The entered value is not a valid UUID, e.g.: 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8",isNumberType:!1},{name:"bool",inputType:"checkbox",humanReadable:"Boolean value",isNumberType:!1}],t})();class fs{constructor(t){this.configService=t,this.optionNames=[],this.optionsForm=new ci.a({}),this.optionsFormDir=new W.t([],[]),this.optionsFormGroupName="",this.optionsFormShowReset=!0,this.icons=dt.a,this.options=[],this.optionsFormGroup=new ci.a({})}static optionNameToText(t){const e=["mon","mgr","osd","mds","client"];return t.split("_").filter((t,n)=>0!==n||!e.includes(t)).map(t=>t.charAt(0).toUpperCase()+t.substring(1)).join(" ")}ngOnInit(){this.createForm(),this.loadStoredData()}createForm(){this.optionsForm.addControl(this.optionsFormGroupName,this.optionsFormGroup),this.optionNames.forEach(t=>{this.optionsFormGroup.addControl(t,new W.i(null))})}getStep(t,e){return gs.getTypeStep(t,e)}loadStoredData(){this.configService.filter(this.optionNames).subscribe(t=>{this.options=t.map(t=>{const e=this.optionsForm.get(t.name),n=gs.getTypeValidators(t);return t.additionalTypeInfo=gs.getType(t.type),t.text=fs.optionNameToText(t.name),t.value=$.find(t.value,t=>"osd"===t.section),t.value&&e.setValue("bool"===t.additionalTypeInfo.name?"true"===t.value.value:t.value.value),n&&(t.patternHelpText=n.patternHelpText,"max"in n&&""!==n.max&&(t.maxValue=n.max),"min"in n&&""!==n.min&&(t.minValue=n.min),e.setValidators(n.validators)),t})})}saveValues(){const t={};return this.optionNames.forEach(e=>{const n=this.optionsForm.getValue(e);null!==n&&""!==n&&(t[e]={section:"osd",value:n})}),this.configService.bulkCreate({options:t})}resetValue(t){this.configService.delete(t,"osd").subscribe(()=>{this.optionsForm.get(t).reset()})}}let ps=(()=>{class t{}return t.basicOptions=["osd_scrub_during_recovery","osd_scrub_begin_hour","osd_scrub_end_hour","osd_scrub_begin_week_day","osd_scrub_end_week_day","osd_scrub_min_interval","osd_scrub_max_interval","osd_deep_scrub_interval","osd_scrub_auto_repair","osd_max_scrubs","osd_scrub_priority","osd_scrub_sleep"],t.advancedOptions=["osd_scrub_auto_repair_num_errors","osd_debug_deep_scrub_sleep","osd_deep_scrub_keys","osd_deep_scrub_large_omap_object_key_threshold","osd_deep_scrub_large_omap_object_value_sum_threshold","osd_deep_scrub_randomize_ratio","osd_deep_scrub_stride","osd_deep_scrub_update_digest_min_age","osd_requested_scrub_priority","osd_scrub_backoff_ratio","osd_scrub_chunk_max","osd_scrub_chunk_min","osd_scrub_cost","osd_scrub_interval_randomize_ratio","osd_scrub_invalid_stats","osd_scrub_load_threshold","osd_scrub_max_preemptions"],t})();class ms{constructor(t,e,n,a,r){this.bsModalRef=t,this.authStorageService=e,this.notificationService=n,this.i18n=a,this.actionLabels=r,this.basicOptions=ps.basicOptions,this.advancedOptions=ps.advancedOptions,this.advancedEnabled=!1,this.osdPgScrubForm=new ci.a({}),this.resource=this.i18n("PG scrub options"),this.action=this.actionLabels.EDIT,this.permissions=this.authStorageService.getPermissions()}submitAction(){const t=[this.basicOptionsValues.saveValues()];this.advancedOptionsValues&&t.push(this.advancedOptionsValues.saveValues()),Object(cs.a)(t).subscribe(()=>{this.notificationService.show(be.a.success,this.i18n("Updated PG scrub options")),this.bsModalRef.hide()},()=>{this.bsModalRef.hide()})}}class hs{constructor(t,e,n,a,r,o){this.bsModalRef=t,this.authStorageService=e,this.configService=n,this.notificationService=a,this.i18n=r,this.osdService=o,this.priorities=[],this.priorityAttrs={},this.permissions=this.authStorageService.getPermissions(),this.priorities=this.osdService.osdRecvSpeedModalPriorities.KNOWN_PRIORITIES,this.osdRecvSpeedForm=new ci.a({priority:new W.i(null,{validators:[W.B.required]}),customizePriority:new W.i(!1)}),this.priorityAttrs={osd_max_backfills:{text:this.i18n("Max Backfills"),desc:"",patternHelpText:"",maxValue:void 0,minValue:void 0},osd_recovery_max_active:{text:this.i18n("Recovery Max Active"),desc:"",patternHelpText:"",maxValue:void 0,minValue:void 0},osd_recovery_max_single_start:{text:this.i18n("Recovery Max Single Start"),desc:"",patternHelpText:"",maxValue:void 0,minValue:void 0},osd_recovery_sleep:{text:this.i18n("Recovery Sleep"),desc:"",patternHelpText:"",maxValue:void 0,minValue:void 0}},Object.keys(this.priorityAttrs).forEach(t=>{this.osdRecvSpeedForm.addControl(t,new W.i(null,{validators:[W.B.required]}))})}ngOnInit(){this.configService.filter(Object.keys(this.priorityAttrs)).subscribe(t=>{const e=this.getCurrentValues(t);this.detectPriority(e.values,t=>{this.setPriority(t)}),this.setDescription(e.configOptions),this.setValidators(e.configOptions)})}detectPriority(t,e){const n=$.find(this.priorities,e=>$.isEqual(e.values,t));return this.osdRecvSpeedForm.controls.customizePriority.setValue(!1),n?e(n):4===Object.entries(t).length?(this.osdRecvSpeedForm.controls.customizePriority.setValue(!0),e(Object({name:"custom",text:this.i18n("Custom"),values:t}))):e(this.priorities[0])}getCurrentValues(t){const e={values:{},configOptions:[]};return t.forEach(t=>{e.configOptions.push(t),"value"in t?t.value.forEach(n=>{"osd"===n.section&&(e.values[t.name]=Number(n.value))}):"default"in t&&null!==t.default&&(e.values[t.name]=Number(t.default))}),e}setDescription(t){t.forEach(t=>{""!==t.desc&&(this.priorityAttrs[t.name].desc=t.desc)})}setPriority(t){const e=$.find(this.priorities,t=>"custom"===t.name);"custom"===t.name?e||this.priorities.push(t):e&&this.priorities.splice(this.priorities.indexOf(e),1),this.osdRecvSpeedForm.controls.priority.setValue(t.name),Object.entries(t.values).forEach(([t,e])=>{this.osdRecvSpeedForm.controls[t].setValue(e)})}setValidators(t){t.forEach(t=>{const e=gs.getTypeValidators(t);e?(e.validators.push(W.B.required),"max"in e&&""!==e.max&&(this.priorityAttrs[t.name].maxValue=e.max),"min"in e&&""!==e.min&&(this.priorityAttrs[t.name].minValue=e.min),this.priorityAttrs[t.name].patternHelpText=e.patternHelpText,this.osdRecvSpeedForm.controls[t.name].setValidators(e.validators)):this.osdRecvSpeedForm.controls[t.name].setValidators(W.B.required)})}onCustomizePriorityChange(){const t={};if(Object.keys(this.priorityAttrs).forEach(e=>{t[e]=this.osdRecvSpeedForm.getValue(e)}),this.osdRecvSpeedForm.getValue("customizePriority")){const e={name:"custom",text:this.i18n("Custom"),values:t};this.setPriority(e)}else this.detectPriority(t,t=>{this.setPriority(t)})}onPriorityChange(t){const e=$.find(this.priorities,e=>e.name===t)||this.priorities[0];this.osdRecvSpeedForm.get("customizePriority").setValue(!1),this.setPriority(e)}submitAction(){const t={};Object.keys(this.priorityAttrs).forEach(e=>{t[e]={section:"osd",value:this.osdRecvSpeedForm.getValue(e)}}),this.configService.bulkCreate({options:t}).subscribe(()=>{this.notificationService.show(be.a.success,this.i18n('Updated OSD recovery speed priority "{{value}}"',{value:this.osdRecvSpeedForm.getValue("priority")})),this.bsModalRef.hide()},()=>{this.bsModalRef.hide()})}}var bs=n("2EZI");class _s{constructor(t,e,n){this.bsModalRef=t,this.osdService=e,this.fb=n,this.currentWeight=1}get weight(){return this.reweightForm.get("weight")}ngOnInit(){this.reweightForm=this.fb.group({weight:this.fb.control(this.currentWeight,[W.B.required,W.B.max(1),W.B.min(0)])})}reweight(){this.osdService.reweight(this.osdId,this.reweightForm.value.weight).subscribe(()=>this.bsModalRef.hide())}}class ys{constructor(t,e,n,a,r){this.bsModalRef=t,this.osdService=e,this.notificationService=n,this.i18n=a,this.joinPipe=r,this.selected=[]}ngOnInit(){this.scrubForm=new W.k({})}scrub(){Object(cs.a)(this.selected.map(t=>this.osdService.scrub(t,this.deep))).subscribe(()=>{this.notificationService.show(be.a.success,this.i18n("{{operation}} was initialized in the following OSD(s): {{id}}",{operation:this.deep?"Deep scrub":"Scrub",id:this.joinPipe.transform(this.selected)})),this.bsModalRef.hide()},()=>this.bsModalRef.hide())}}const Os=new qo.a("osd");class vs{constructor(t,e,n,a,r,o,i,s,c,l,d){this.authStorageService=t,this.osdService=e,this.dimlessBinaryPipe=n,this.modalService=a,this.i18n=r,this.urlBuilder=o,this.router=i,this.depCheckerService=s,this.taskWrapper=c,this.actionLabels=l,this.notificationService=d,this.icons=dt.a,this.selection=new kr.a,this.osds=[],this.permissions=this.authStorageService.getPermissions(),this.tableActions=[{name:this.actionLabels.CREATE,permission:"create",icon:dt.a.add,click:()=>{this.depCheckerService.checkOrchestratorOrModal(this.actionLabels.CREATE,this.i18n("OSD"),()=>{this.router.navigate([this.urlBuilder.getCreate()])})},canBePrimary:t=>!t.hasSelection},{name:this.actionLabels.EDIT,permission:"update",icon:dt.a.edit,click:()=>this.editAction()},{name:this.actionLabels.SCRUB,permission:"update",icon:dt.a.analyse,click:()=>this.scrubAction(!1),disable:()=>!this.hasOsdSelected,canBePrimary:t=>t.hasSelection},{name:this.actionLabels.DEEP_SCRUB,permission:"update",icon:dt.a.deepCheck,click:()=>this.scrubAction(!0),disable:()=>!this.hasOsdSelected},{name:this.actionLabels.REWEIGHT,permission:"update",click:()=>this.reweight(),disable:()=>!this.hasOsdSelected||!this.selection.hasSingleSelection,icon:dt.a.reweight},{name:this.actionLabels.MARK_OUT,permission:"update",click:()=>this.showConfirmationModal(this.i18n("out"),this.osdService.markOut),disable:()=>this.isNotSelectedOrInState("out"),icon:dt.a.left},{name:this.actionLabels.MARK_IN,permission:"update",click:()=>this.showConfirmationModal(this.i18n("in"),this.osdService.markIn),disable:()=>this.isNotSelectedOrInState("in"),icon:dt.a.right},{name:this.actionLabels.MARK_DOWN,permission:"update",click:()=>this.showConfirmationModal(this.i18n("down"),this.osdService.markDown),disable:()=>this.isNotSelectedOrInState("down"),icon:dt.a.down},{name:this.actionLabels.MARK_LOST,permission:"delete",click:()=>this.showCriticalConfirmationModal(this.i18n("Mark"),this.i18n("OSD lost"),this.i18n("marked lost"),t=>this.osdService.safeToDestroy(JSON.stringify(t)),"is_safe_to_destroy",this.osdService.markLost),disable:()=>this.isNotSelectedOrInState("up"),icon:dt.a.flatten},{name:this.actionLabels.PURGE,permission:"delete",click:()=>this.showCriticalConfirmationModal(this.i18n("Purge"),this.i18n("OSD"),this.i18n("purged"),t=>this.osdService.safeToDestroy(JSON.stringify(t)),"is_safe_to_destroy",t=>(this.selection=new kr.a,this.osdService.purge(t))),disable:()=>this.isNotSelectedOrInState("up"),icon:dt.a.erase},{name:this.actionLabels.DESTROY,permission:"delete",click:()=>this.showCriticalConfirmationModal(this.i18n("destroy"),this.i18n("OSD"),this.i18n("destroyed"),t=>this.osdService.safeToDestroy(JSON.stringify(t)),"is_safe_to_destroy",t=>(this.selection=new kr.a,this.osdService.destroy(t))),disable:()=>this.isNotSelectedOrInState("up"),icon:dt.a.destroyCircle},{name:this.actionLabels.DELETE,permission:"delete",click:()=>{this.depCheckerService.checkOrchestratorOrModal(this.actionLabels.DELETE,this.i18n("OSD"),()=>{this.showCriticalConfirmationModal(this.i18n("delete"),this.i18n("OSD"),this.i18n("deleted"),t=>this.osdService.safeToDelete(JSON.stringify(t)),"is_safe_to_delete",t=>(this.selection=new kr.a,this.taskWrapper.wrapTaskAroundCall({task:new Fo.a("osd/"+Ot.e.DELETE,{svc_id:t}),call:this.osdService.delete(t,!0)})),!0)})},disable:()=>!this.hasOsdSelected,icon:dt.a.destroy}]}static collectStates(t){const e=[t.in?"in":"out"];return t.up?e.push("up"):t.state.includes("destroyed")?e.push("destroyed"):e.push("down"),e}ngOnInit(){this.clusterWideActions=[{name:this.i18n("Flags"),icon:dt.a.flag,click:()=>this.configureFlagsAction(),permission:"read",visible:()=>this.permissions.osd.read},{name:this.i18n("Recovery Priority"),icon:dt.a.deepCheck,click:()=>this.configureQosParamsAction(),permission:"read",visible:()=>this.permissions.configOpt.read},{name:this.i18n("PG scrub"),icon:dt.a.analyse,click:()=>this.configurePgScrubAction(),permission:"read",visible:()=>this.permissions.configOpt.read}],this.columns=[{prop:"host.name",name:this.i18n("Host")},{prop:"id",name:this.i18n("ID"),flexGrow:1,cellTransformation:Tr.a.bold},{prop:"collectedStates",name:this.i18n("Status"),flexGrow:1,cellTransformation:Tr.a.badge,customTemplateConfig:{map:{in:{class:"badge-success"},up:{class:"badge-success"},down:{class:"badge-danger"},out:{class:"badge-danger"},destroyed:{class:"badge-danger"}}}},{prop:"tree.device_class",name:this.i18n("Device class"),flexGrow:1,cellTransformation:Tr.a.badge,customTemplateConfig:{map:{hdd:{class:"badge-hdd"},ssd:{class:"badge-ssd"}}}},{prop:"stats.numpg",name:this.i18n("PGs"),flexGrow:1},{prop:"stats.stat_bytes",name:this.i18n("Size"),flexGrow:1,pipe:this.dimlessBinaryPipe},{prop:"stats.usage",name:this.i18n("Usage"),cellTemplate:this.osdUsageTpl},{prop:"stats_history.out_bytes",name:this.i18n("Read bytes"),cellTransformation:Tr.a.sparkline},{prop:"stats_history.in_bytes",name:this.i18n("Write bytes"),cellTransformation:Tr.a.sparkline},{prop:"stats.op_r",name:this.i18n("Read ops"),cellTransformation:Tr.a.perSecond},{prop:"stats.op_w",name:this.i18n("Write ops"),cellTransformation:Tr.a.perSecond}]}getSelectedOsdIds(){const t=this.osds.map(t=>t.id);return this.selection.selected.map(t=>t.id).filter(e=>t.includes(e))}getSelectedOsds(){return this.osds.filter(t=>!$.isUndefined(t)&&this.getSelectedOsdIds().includes(t.id))}get hasOsdSelected(){return this.getSelectedOsdIds().length>0}updateSelection(t){this.selection=t}isNotSelectedOrInState(t){const e=this.getSelectedOsds();if(0===e.length)return!0;switch(t){case"in":return e.some(t=>1===t.in);case"out":return e.some(t=>1!==t.in);case"down":return e.some(t=>1!==t.up);case"up":return e.some(t=>1===t.up)}}getOsdList(){this.osdService.getList().subscribe(t=>{this.osds=t.map(t=>(t.collectedStates=vs.collectStates(t),t.stats_history.out_bytes=t.stats_history.op_out_bytes.map(t=>t[1]),t.stats_history.in_bytes=t.stats_history.op_in_bytes.map(t=>t[1]),t.stats.usage=t.stats.stat_bytes_used/t.stats.stat_bytes,t.cdIsBinary=!0,t))})}editAction(){const t=$.filter(this.osds,["id",this.selection.first().id]).pop();this.modalService.show(wr.a,{initialState:{titleText:this.i18n("Edit OSD: {{id}}",{id:t.id}),fields:[{type:"text",name:"deviceClass",value:t.tree.device_class,label:this.i18n("Device class"),required:!0}],submitButtonText:this.i18n("Edit OSD"),onSubmit:e=>{this.osdService.update(t.id,e.deviceClass).subscribe(()=>{this.notificationService.show(be.a.success,this.i18n('Updated OSD "{{id}}"',{id:t.id})),this.getOsdList()})}}})}scrubAction(t){if(!this.hasOsdSelected)return;const e={selected:this.getSelectedOsdIds(),deep:t};this.bsModalRef=this.modalService.show(ys,{initialState:e})}configureFlagsAction(){this.bsModalRef=this.modalService.show(ds,{})}showConfirmationModal(t,e){this.bsModalRef=this.modalService.show(ls.a,{initialState:{titleText:this.i18n("Mark OSD {{markAction}}",{markAction:t}),buttonText:this.i18n("Mark {{markAction}}",{markAction:t}),bodyTpl:this.markOsdConfirmationTpl,bodyContext:{markActionDescription:t},onSubmit:()=>{Object(cs.a)(this.getSelectedOsdIds().map(t=>e.call(this.osdService,t))).subscribe(()=>this.bsModalRef.hide())}}})}reweight(){const t=this.osds.filter(t=>t.id===this.selection.first().id).pop();this.modalService.show(_s,{initialState:{currentWeight:t.weight,osdId:t.id}})}showCriticalConfirmationModal(t,e,n,a,r,o,i=!1){a(this.getSelectedOsdIds()).subscribe(a=>{const s=this.modalService.show(jo.a,{initialState:{actionDescription:t,itemDescription:e,bodyTemplate:this.criticalConfirmationTpl,bodyContext:{safeToPerform:a[r],message:a.message,actionDescription:n},submitAction:()=>{const t=Object(cs.a)(this.getSelectedOsdIds().map(t=>o.call(this.osdService,t)));i?t.subscribe(void 0,()=>{this.getOsdList(),s.hide()},()=>s.hide()):t.subscribe(()=>{this.getOsdList(),s.hide()},()=>s.hide())}}})})}configureQosParamsAction(){this.bsModalRef=this.modalService.show(hs,{})}configurePgScrubAction(){this.bsModalRef=this.modalService.show(ms,{class:"modal-lg"})}}var Cs=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Ps(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-usage-bar",[],null,null,null,qi.b,qi.a)),i["ɵdid"](1,573440,null,0,ji.a,[],{totalBytes:[0,"totalBytes"],usedBytes:[1,"usedBytes"]},null)],(function(t,e){t(e,1,0,e.context.row.stats.stat_bytes,e.context.row.stats.stat_bytes_used)}),null)}function Ms(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"tab",[["heading","Overall Performance"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](1,212992,null,0,qn.b,[qn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵeld"](2,0,null,null,1,"cd-grafana",[["grafanaStyle","three"],["uid","lo02I1Aiz"]],null,null,null,fr.b,fr.a)),i["ɵdid"](3,638976,null,0,pr.a,[gt.a,mr.b,Kt.a,ht.a,ra.a],{grafanaPath:[0,"grafanaPath"],grafanaStyle:[1,"grafanaStyle"],uid:[2,"uid"]},null)],(function(t,e){t(e,1,0,"Overall Performance"),t(e,3,0,"osd-overview?","three","lo02I1Aiz")}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).id,i["ɵnov"](e,1).active,i["ɵnov"](e,1).addClass)}))}function xs(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,7,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,2,"strong",[],null,null,null,null,null)),(t()(),i["ɵted"](2,null,["OSD(s) ",""])),i["ɵppd"](3,1),(t()(),i["ɵted"](-1,null,[" will be marked\n"])),(t()(),i["ɵeld"](5,0,null,null,1,"strong",[],null,null,null,null,null)),(t()(),i["ɵted"](6,null,["",""])),(t()(),i["ɵted"](-1,null,[" if you proceed."]))],null,(function(t,e){var n=e.component,a=i["ɵunv"](e,2,0,t(e,3,0,i["ɵnov"](e.parent,0),n.getSelectedOsdIds()));t(e,2,0,a),t(e,6,0,e.context.markActionDescription)}))}function ws(t){return i["ɵvid"](0,[(t()(),i["ɵted"](-1,null,["OSDs are"]))],null,null)}function Ts(t){return i["ɵvid"](0,[(t()(),i["ɵted"](-1,null,["OSD is"]))],null,null)}function ks(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,10,"div",[["class","danger"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,9,"cd-alert-panel",[["type","warning"]],null,null,null,Or.b,Or.a)),i["ɵdid"](2,114688,null,0,vr.a,[ra.a],{type:[0,"type"]},null),(t()(),i["ɵted"](-1,0,["The "])),(t()(),i["ɵeld"](4,0,null,0,5,null,null,null,null,null,null,null)),i["ɵdid"](5,16384,null,0,o.NgSwitch,[],{ngSwitch:[0,"ngSwitch"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,ws)),i["ɵdid"](7,278528,null,0,o.NgSwitchCase,[i.ViewContainerRef,i.TemplateRef,o.NgSwitch],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Ts)),i["ɵdid"](9,278528,null,0,o.NgSwitchCase,[i.ViewContainerRef,i.TemplateRef,o.NgSwitch],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),i["ɵted"](10,0,[" not safe to be ","! ",""]))],(function(t,e){var n=e.component;t(e,2,0,"warning"),t(e,5,0,n.selection.hasSingleSelection),t(e,7,0,"0"),t(e,9,0,"1")}),(function(t,e){t(e,10,0,e.parent.context.actionDescription,e.parent.context.message)}))}function Ss(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,ks)),i["ɵdid"](1,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](2,0,null,null,7,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](3,0,null,null,2,"strong",[],null,null,null,null,null)),(t()(),i["ɵted"](4,null,["OSD ",""])),i["ɵppd"](5,1),(t()(),i["ɵted"](-1,null,[" will be\n"])),(t()(),i["ɵeld"](7,0,null,null,1,"strong",[],null,null,null,null,null)),(t()(),i["ɵted"](8,null,["",""])),(t()(),i["ɵted"](-1,null,[" if you proceed."]))],(function(t,e){t(e,1,0,!e.context.safeToPerform)}),(function(t,e){var n=e.component,a=i["ɵunv"](e,4,0,t(e,5,0,i["ɵnov"](e.parent,0),n.getSelectedOsdIds()));t(e,4,0,a),t(e,8,0,e.context.actionDescription)}))}function Is(t){return i["ɵvid"](0,[i["ɵpid"](0,Fi.a,[]),i["ɵqud"](402653184,1,{osdUsageTpl:0}),i["ɵqud"](402653184,2,{markOsdConfirmationTpl:0}),i["ɵqud"](402653184,3,{criticalConfirmationTpl:0}),i["ɵqud"](402653184,4,{tableComponent:0}),i["ɵqud"](671088640,5,{reweightBodyTpl:0}),i["ɵqud"](671088640,6,{safeToDestroyBodyTpl:0}),(t()(),i["ɵeld"](7,0,null,null,16,"tabset",[],[[2,"tab-container",null]],null,null,Ln.b,Ln.a)),i["ɵdid"](8,180224,null,0,qn.e,[qn.f,i.Renderer2,i.ElementRef],null,null),(t()(),i["ɵeld"](9,0,null,0,12,"tab",[["heading","OSDs List"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](10,212992,null,0,qn.b,[qn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵeld"](11,0,null,null,9,"cd-table",[["selectionType","multiClick"]],null,[[null,"fetchData"],[null,"updateSelection"]],(function(t,e,n){var a=!0,r=t.component;return"fetchData"===e&&(a=!1!==r.getOsdList()&&a),"updateSelection"===e&&(a=!1!==r.updateSelection(n)&&a),a}),hr.b,hr.a)),i["ɵdid"](12,2867200,[[4,4]],0,br.a,[i.NgZone,i.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],selectionType:[2,"selectionType"],updateSelectionOnRefresh:[3,"updateSelectionOnRefresh"]},{fetchData:"fetchData",updateSelection:"updateSelection"}),(t()(),i["ɵeld"](13,0,null,1,5,"div",[["class","table-actions btn-toolbar"]],null,null,null,null,null)),(t()(),i["ɵeld"](14,0,null,null,1,"cd-table-actions",[["class","btn-group"],["id","osd-actions"]],null,null,null,_r.b,_r.a)),i["ɵdid"](15,114688,null,0,yr.a,[],{permission:[0,"permission"],selection:[1,"selection"],tableActions:[2,"tableActions"]},null),(t()(),i["ɵeld"](16,0,null,null,2,"cd-table-actions",[["btnColor","light"],["class","btn-group"],["dropDownOnly","Cluster-wide configuration"],["id","cluster-wide-actions"]],null,null,null,_r.b,_r.a)),i["ɵdid"](17,114688,null,0,yr.a,[],{permission:[0,"permission"],selection:[1,"selection"],tableActions:[2,"tableActions"],btnColor:[3,"btnColor"],dropDownOnly:[4,"dropDownOnly"]},null),i["ɵpod"](18,{read:0}),(t()(),i["ɵeld"](19,0,null,3,1,"cd-osd-details",[["cdTableDetail",""]],null,null,null,os,$i)),i["ɵdid"](20,573440,null,0,Ki,[Jr,bt.a],{selection:[0,"selection"]},null),(t()(),i["ɵand"](0,[[1,2],["osdUsageTpl",2]],null,0,null,Ps)),(t()(),i["ɵand"](16777216,null,0,1,null,Ms)),i["ɵdid"](23,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](0,[[2,2],["markOsdConfirmationTpl",2]],null,0,null,xs)),(t()(),i["ɵand"](0,[[3,2],["criticalConfirmationTpl",2]],null,0,null,Ss))],(function(t,e){var n=e.component;t(e,10,0,"OSDs List"),t(e,12,0,n.osds,n.columns,"multiClick","never"),t(e,15,0,n.permissions.osd,n.selection,n.tableActions);var a=t(e,18,0,!0);t(e,17,0,a,n.selection,n.clusterWideActions,"light","Cluster-wide configuration"),t(e,20,0,n.selection),t(e,23,0,n.permissions.grafana.read)}),(function(t,e){t(e,7,0,i["ɵnov"](e,8).clazz),t(e,9,0,i["ɵnov"](e,10).id,i["ɵnov"](e,10).active,i["ɵnov"](e,10).addClass)}))}function Ns(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-osd-list",[],null,null,null,Is,Cs)),i["ɵprd"](256,null,qo.a,Os,[]),i["ɵdid"](2,114688,null,0,vs,[bt.a,Jr,Jn.a,Pt.b,ra.a,qo.a,Tt.m,Go,Yo.a,Ot.b,ut.a],null,null)],(function(t,e){t(e,2,0)}),null)}var Rs=i["ɵccf"]("cd-osd-list",vs,Ns,{},{},[]),As=n("4HWh"),Es=n("p4Cf");class Ds{constructor(t,e,n){this.formBuilder=t,this.bsModalRef=e,this.actionLabels=n,this.submitAction=new i.EventEmitter,this.icons=dt.a,this.filterColumns=[],this.devices=[],this.filteredDevices=[],this.capacity=0,this.canSubmit=!1,this.requiredFilters=[],this.action=n.ADD,this.createForm()}ngAfterViewInit(){const t=$.filter(this.inventoryDevices.columns,t=>this.filterColumns.includes(t.prop)&&"hostname"!==t.prop);this.requiredFilters=$.map(t,"name")}createForm(){this.formGroup=this.formBuilder.group({})}onFilterChange(t){if(this.capacity=0,this.canSubmit=!1,$.isEmpty(t.filters))this.filteredDevices=[],this.event=void 0;else{const e=t.filters.filter(t=>"hostname"!==t.prop);this.canSubmit=!$.isEmpty(e),this.filteredDevices=t.data,this.capacity=$.sumBy(this.filteredDevices,"sys_api.size"),this.event=t}}onSubmit(){this.submitAction.emit(this.event),this.bsModalRef.hide()}}class Ls{constructor(t,e){this.bsModalService=t,this.i18n=e,this.selected=new i.EventEmitter,this.cleared=new i.EventEmitter,this.icons=dt.a,this.devices=[],this.capacity=0,this.appliedFilters=[],this.tooltips={noAvailDevices:this.i18n("No available devices"),addPrimaryFirst:this.i18n("Please add primary devices first"),addByFilters:this.i18n("Add devices by using filters")}}ngOnInit(){this.updateAddButtonTooltip()}ngOnChanges(){this.updateAddButtonTooltip()}showSelectionModal(){let t=["human_readable_type","sys_api.vendor","sys_api.model","sys_api.size"];"data"===this.type&&(t=["hostname",...t]),this.bsModalService.show(Ds,{class:"modal-xl",initialState:{hostname:this.hostname,deviceType:this.name,devices:this.availDevices,filterColumns:t}}).content.submitAction.subscribe(t=>{this.devices=t.data,this.capacity=$.sumBy(this.devices,"sys_api.size"),this.appliedFilters=t.filters;const e=$.assign({type:this.type},t);this.selected.emit(e)})}updateAddButtonTooltip(){this.addButtonTooltip="data"===this.type&&0===this.availDevices.length?this.tooltips.noAvailDevices:this.canSelect?0===this.availDevices.length?this.tooltips.noAvailDevices:this.tooltips.addByFilters:this.tooltips.addPrimaryFirst}clearDevices(){const t={type:this.type,clearedDevices:[...this.devices]};this.devices=[],this.cleared.emit(t)}}var qs=i["ɵcrt"]({encapsulation:0,styles:[[".tc_clearSelections[_ngcontent-%COMP%]{text-decoration:none}"]],data:{}});function js(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["The primary storage devices. These devices contain all OSD data."]))],null,null)}function Fs(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Write-Ahead-Log devices. These devices are used for BlueStore’s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device."]))],null,null)}function zs(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["DB devices can be used for storing BlueStore’s internal metadata. It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD)."]))],null,null)}function Vs(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,7,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,6,"button",[["class","btn btn-light"],["data-toggle","tooltip"],["type","button"]],[[8,"title",0],[8,"disabled",0]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.showSelectionModal()&&a),a}),null,null)),(t()(),i["ɵeld"](2,0,null,null,3,"i",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](4,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](5,1),(t()(),i["ɵeld"](6,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Add"]))],(function(t,e){var n=t(e,5,0,e.component.icons.add);t(e,4,0,n)}),(function(t,e){var n=e.component;t(e,1,0,n.addButtonTooltip,0===n.availDevices.length||!n.canSelect)}))}function Gs(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,1,"span",[["class","badge badge-dark mr-2"]],null,null,null,null,null)),(t()(),i["ɵted"](2,null,["",": ",""]))],null,(function(t,e){t(e,2,0,e.context.$implicit.name,e.context.$implicit.value.formatted)}))}function Ys(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"div",[["class","float-right"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](2,null,["Raw capacity: ",""])),i["ɵppd"](3,1)],null,(function(t,e){var n=e.component,a=i["ɵunv"](e,2,0,t(e,3,0,i["ɵnov"](e.parent.parent,0),n.capacity));t(e,2,0,a)}))}function Bs(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,9,"div",[["class","pb-2 my-2 border-bottom"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Gs)),i["ɵdid"](2,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵeld"](3,0,null,null,6,"a",[["class","tc_clearSelections"],["href",""]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(t.component.clearDevices(),a=!1),a}),null,null)),(t()(),i["ɵeld"](4,0,null,null,3,"i",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](6,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](7,1),(t()(),i["ɵeld"](8,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Clear"])),(t()(),i["ɵeld"](10,0,null,null,3,"div",[],null,null,null,null,null)),(t()(),i["ɵeld"](11,0,null,null,2,"cd-inventory-devices",[],null,null,null,Nr,Ir)),i["ɵdid"](12,245760,null,0,Sr,[bt.a,Jn.a,ra.a,Pt.b,ut.a,xr],{devices:[0,"devices"],hiddenColumns:[1,"hiddenColumns"],filterColumns:[2,"filterColumns"]},null),i["ɵpad"](13,2),(t()(),i["ɵand"](16777216,null,null,1,null,Ys)),i["ɵdid"](15,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](0,null,null,0))],(function(t,e){var n=e.component;t(e,2,0,n.appliedFilters);var a=t(e,7,0,n.icons.clearFilters);t(e,6,0,a);var r=n.devices,o=t(e,13,0,"available","osd_ids");t(e,12,0,r,o,i["ɵEMPTY_ARRAY"]),t(e,15,0,"data"===n.type)}),null)}function Hs(t){return i["ɵvid"](0,[i["ɵpid"](0,Jn.a,[la.a]),(t()(),i["ɵeld"](1,0,null,null,18,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](2,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,1,{FormControlNames:1}),i["ɵqud"](603979776,2,{messagesBlock:0}),(t()(),i["ɵeld"](5,0,null,0,10,"label",[["class","cd-col-form-label"],["for","createDeleteButton"]],null,null,null,null,null)),(t()(),i["ɵeld"](6,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](7,null,[""," devices"])),(t()(),i["ɵeld"](8,0,null,null,7,"cd-helper",[],null,null,null,As.b,As.a)),i["ɵdid"](9,49152,null,0,Es.a,[],null,null),(t()(),i["ɵand"](16777216,null,0,1,null,js)),i["ɵdid"](11,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,Fs)),i["ɵdid"](13,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,zs)),i["ɵdid"](15,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](16,0,null,0,3,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Vs)),i["ɵdid"](18,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"],ngIfElse:[1,"ngIfElse"]},null),(t()(),i["ɵand"](0,[["blockClearDevices",2]],null,0,null,Bs))],(function(t,e){var n=e.component;t(e,2,0),t(e,11,0,"data"===n.type),t(e,13,0,"wal"===n.type),t(e,15,0,"db"===n.type),t(e,18,0,0===n.devices.length,i["ɵnov"](e,19))}),(function(t,e){var n=e.component;t(e,1,0,i["ɵnov"](e,2).hasErrors,i["ɵnov"](e,2).hasSuccess),t(e,7,0,n.name)}))}class Us{constructor(t,e,n,a,r){this.bsModalRef=t,this.actionLabels=e,this.formBuilder=n,this.osdService=a,this.taskWrapper=r,this.driveGroups=[],this.submitAction=new i.EventEmitter,this.action=e.CREATE,this.createForm()}ngOnInit(){}createForm(){this.formGroup=this.formBuilder.group({})}onSubmit(){this.taskWrapper.wrapTaskAroundCall({task:new Fo.a("osd/"+Ot.e.CREATE,{tracking_id:$.join($.map(this.driveGroups,"service_id"),", ")}),call:this.osdService.create(this.driveGroups)}).subscribe(void 0,()=>{this.formGroup.setErrors({cdSubmitButton:!0})},()=>{this.submitAction.emit(),this.bsModalRef.hide()})}}class Ws{constructor(){this.reset(),this.formatterService=new la.a,this.deviceSelectionAttrs={"sys_api.vendor":{name:"vendor"},"sys_api.model":{name:"model"},device_id:{name:"device_id"},human_readable_type:{name:"rotational",formatter:t=>"hdd"===t.toLowerCase()},"sys_api.size":{name:"size",formatter:t=>this.formatterService.format_number(t,1024,["B","KB","MB","GB","TB","PB"]).replace(" ","")}}}reset(){this.spec={service_type:"osd",service_id:`dashboard-${$.now()}`}}setName(t){this.spec.service_id=t}setHostPattern(t){this.spec.host_pattern=t}setDeviceSelection(t,e){const n=`${t}_devices`;this.spec[n]={},e.forEach(t=>{const e=this.deviceSelectionAttrs[t.prop];e&&(this.spec[n][e.name]=e.formatter?e.formatter(t.value.raw):t.value.raw)})}clearDeviceSelection(t){delete this.spec[`${t}_devices`]}setSlots(t,e){const n=`${t}_slots`;0===e?delete this.spec[n]:this.spec[n]=e}setFeature(t,e){e?this.spec[t]=!0:delete this.spec[t]}}class Ks{constructor(t,e,n,a,r,o){this.actionLabels=t,this.authStorageService=e,this.i18n=n,this.orchService=a,this.router=r,this.bsModalService=o,this.icons=dt.a,this.columns=[],this.loading=!1,this.allDevices=[],this.availDevices=[],this.dataDeviceFilters=[],this.dbDeviceFilters=[],this.walDeviceFilters=[],this.hostname="",this.driveGroup=new Ws,this.featureList=[],this.hasOrchestrator=!1,this.resource=this.i18n("OSDs"),this.action=this.actionLabels.CREATE,this.features={encrypted:{key:"encrypted",desc:this.i18n("Encryption")}},this.featureList=$.map(this.features,(t,e)=>Object.assign(t,{key:e})),this.createForm()}ngOnInit(){this.orchService.status().subscribe(t=>{this.hasOrchestrator=t.available,this.hasOrchestrator&&this.getDataDevices()}),this.form.get("walSlots").valueChanges.subscribe(t=>this.setSlots("wal",t)),this.form.get("dbSlots").valueChanges.subscribe(t=>this.setSlots("db",t)),$.each(this.features,t=>{this.form.get("features").get(t.key).valueChanges.subscribe(e=>this.featureFormUpdate(t.key,e))})}createForm(){this.form=new ci.a({walSlots:new W.i(0,{updateOn:"blur",validators:[W.B.min(0)]}),dbSlots:new W.i(0,{updateOn:"blur",validators:[W.B.min(0)]}),features:new ci.a(this.featureList.reduce((t,e)=>(t[e.key]=new W.i({value:!1,disabled:!0}),t),{}))})}getDataDevices(){this.loading||(this.loading=!0,this.orchService.inventoryDeviceList().subscribe(t=>{this.allDevices=$.filter(t,"available"),this.availDevices=[...this.allDevices],this.loading=!1},()=>{this.allDevices=[],this.availDevices=[],this.loading=!1}))}setSlots(t,e){"number"==typeof e&&e>=0&&this.driveGroup.setSlots(t,e)}featureFormUpdate(t,e){this.driveGroup.setFeature(t,e)}enableFeatures(){this.featureList.forEach(t=>{this.form.get(t.key).enable({emitEvent:!1})})}disableFeatures(){this.featureList.forEach(t=>{const e=this.form.get(t.key);e.disable({emitEvent:!1}),e.setValue(!1,{emitEvent:!1})})}onDevicesSelected(t){if(this.availDevices=t.dataOut,"data"===t.type){const e=$.find(t.filters,{prop:"hostname"});e?(this.hostname=e.value.raw,this.availDevices=t.dataOut.filter(t=>t.hostname===this.hostname),this.driveGroup.setHostPattern(this.hostname)):this.driveGroup.setHostPattern("*"),this.enableFeatures()}this.driveGroup.setDeviceSelection(t.type,t.filters)}onDevicesCleared(t){"data"===t.type?(this.availDevices=[...this.allDevices],this.walDeviceSelectionGroups.devices=[],this.dbDeviceSelectionGroups.devices=[],this.disableFeatures(),this.driveGroup.reset(),this.form.get("walSlots").setValue(0,{emitEvent:!1}),this.form.get("dbSlots").setValue(0,{emitEvent:!1})):(this.availDevices=[...this.availDevices,...t.clearedDevices],this.driveGroup.clearDeviceSelection(t.type),this.form.get(`${t.type}Slots`).setValue(0,{emitEvent:!1}))}submit(){const t=this.authStorageService.getUsername();this.driveGroup.setName(`dashboard-${t}-${$.now()}`),this.bsModalService.show(Us,{initialState:{driveGroups:[this.driveGroup.spec]}}).content.submitAction.subscribe(()=>{this.router.navigate(["/osd"])}),this.previewButton.loading=!1}}var $s=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Zs(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-orchestrator-doc-panel",[],null,null,null,Mr,Pr)),i["ɵdid"](1,114688,null,0,Cr,[ht.a,gt.a],null,null)],(function(t,e){t(e,1,0)}),null)}function Js(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Value should be greater than or equal to 0"]))],null,null)}function Xs(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,24,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](1,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,5,{FormControlNames:1}),i["ɵqud"](603979776,6,{messagesBlock:0}),(t()(),i["ɵeld"](4,0,null,0,9,"label",[["class","cd-col-form-label"],["for","walSlots"]],null,null,null,null,null)),(t()(),i["ɵeld"](5,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["WAL slots"])),(t()(),i["ɵeld"](7,0,null,null,6,"cd-helper",[],null,null,null,As.b,As.a)),i["ɵdid"](8,49152,null,0,Es.a,[],null,null),(t()(),i["ɵeld"](9,0,null,0,1,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["How many OSDs per WAL device."])),(t()(),i["ɵeld"](11,0,null,0,0,"br",[],null,null,null,null,null)),(t()(),i["ɵeld"](12,0,null,0,1,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Specify 0 to let Orchestrator backend decide it."])),(t()(),i["ɵeld"](14,0,null,0,10,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](15,0,null,null,7,"input",[["class","form-control"],["formControlName","walSlots"],["id","walSlots"],["min","0"],["name","walSlots"],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,16)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,16).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,16)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,16)._compositionEnd(n.target.value)&&a),"change"===e&&(a=!1!==i["ɵnov"](t,17).onChange(n.target.value)&&a),"input"===e&&(a=!1!==i["ɵnov"](t,17).onChange(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,17).onTouched()&&a),a}),null,null)),i["ɵdid"](16,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵdid"](17,16384,null,0,W.w,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t,e){return[t,e]}),[W.e,W.w]),i["ɵdid"](19,671744,[[5,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](21,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](22,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Js)),i["ɵdid"](24,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0),t(e,19,0,"walSlots"),t(e,22,0,"walSlots"),t(e,24,0,n.form.showError("walSlots",i["ɵnov"](e.parent,3),"min"))}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).hasErrors,i["ɵnov"](e,1).hasSuccess),t(e,15,0,i["ɵnov"](e,21).ngClassUntouched,i["ɵnov"](e,21).ngClassTouched,i["ɵnov"](e,21).ngClassPristine,i["ɵnov"](e,21).ngClassDirty,i["ɵnov"](e,21).ngClassValid,i["ɵnov"](e,21).ngClassInvalid,i["ɵnov"](e,21).ngClassPending,i["ɵnov"](e,22).validClass,i["ɵnov"](e,22).invalidClass)}))}function Qs(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Value should be greater than or equal to 0"]))],null,null)}function tc(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,24,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](1,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,7,{FormControlNames:1}),i["ɵqud"](603979776,8,{messagesBlock:0}),(t()(),i["ɵeld"](4,0,null,0,9,"label",[["class","cd-col-form-label"],["for","dbSlots"]],null,null,null,null,null)),(t()(),i["ɵeld"](5,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["DB slots"])),(t()(),i["ɵeld"](7,0,null,null,6,"cd-helper",[],null,null,null,As.b,As.a)),i["ɵdid"](8,49152,null,0,Es.a,[],null,null),(t()(),i["ɵeld"](9,0,null,0,1,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["How many OSDs per DB device."])),(t()(),i["ɵeld"](11,0,null,0,0,"br",[],null,null,null,null,null)),(t()(),i["ɵeld"](12,0,null,0,1,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Specify 0 to let Orchestrator backend decide it."])),(t()(),i["ɵeld"](14,0,null,0,10,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](15,0,null,null,7,"input",[["class","form-control"],["formControlName","dbSlots"],["id","dbSlots"],["min","0"],["name","dbSlots"],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,16)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,16).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,16)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,16)._compositionEnd(n.target.value)&&a),"change"===e&&(a=!1!==i["ɵnov"](t,17).onChange(n.target.value)&&a),"input"===e&&(a=!1!==i["ɵnov"](t,17).onChange(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,17).onTouched()&&a),a}),null,null)),i["ɵdid"](16,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵdid"](17,16384,null,0,W.w,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t,e){return[t,e]}),[W.e,W.w]),i["ɵdid"](19,671744,[[7,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](21,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](22,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Qs)),i["ɵdid"](24,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0),t(e,19,0,"dbSlots"),t(e,22,0,"dbSlots"),t(e,24,0,n.form.showError("dbSlots",i["ɵnov"](e.parent,3),"min"))}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).hasErrors,i["ɵnov"](e,1).hasSuccess),t(e,15,0,i["ɵnov"](e,21).ngClassUntouched,i["ɵnov"](e,21).ngClassTouched,i["ɵnov"](e,21).ngClassPristine,i["ɵnov"](e,21).ngClassDirty,i["ɵnov"](e,21).ngClassValid,i["ɵnov"](e,21).ngClassInvalid,i["ɵnov"](e,21).ngClassPending,i["ɵnov"](e,22).validClass,i["ɵnov"](e,22).invalidClass)}))}function ec(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,9,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,6,"input",[["class","custom-control-input"],["type","checkbox"]],[[8,"id",0],[8,"name",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(t,e,n){var a=!0;return"change"===e&&(a=!1!==i["ɵnov"](t,2).onChange(n.target.checked)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,2).onTouched()&&a),a}),null,null)),i["ɵdid"](2,16384,null,0,W.c,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.c]),i["ɵdid"](4,671744,[[9,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](6,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](7,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵeld"](8,0,null,null,1,"label",[["class","custom-control-label"]],[[8,"htmlFor",0]],null,null,null,null)),(t()(),i["ɵted"](9,null,["",""]))],(function(t,e){t(e,4,0,i["ɵinlineInterpolate"](1,"",e.context.$implicit.key,"")),t(e,7,0,i["ɵinlineInterpolate"](1,"",e.context.$implicit.key,""))}),(function(t,e){t(e,1,1,[i["ɵinlineInterpolate"](1,"",e.context.$implicit.key,""),i["ɵinlineInterpolate"](1,"",e.context.$implicit.key,""),i["ɵnov"](e,6).ngClassUntouched,i["ɵnov"](e,6).ngClassTouched,i["ɵnov"](e,6).ngClassPristine,i["ɵnov"](e,6).ngClassDirty,i["ɵnov"](e,6).ngClassValid,i["ɵnov"](e,6).ngClassInvalid,i["ɵnov"](e,6).ngClassPending,i["ɵnov"](e,7).validClass,i["ɵnov"](e,7).invalidClass]),t(e,8,0,i["ɵinlineInterpolate"](1,"",e.context.$implicit.key,"")),t(e,9,0,e.context.$implicit.desc)}))}function nc(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,48,"div",[["class","cd-col-form"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,47,"form",[["name","form"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(t,e,n){var a=!0;return"submit"===e&&(a=!1!==i["ɵnov"](t,3).onSubmit(n)&&a),"reset"===e&&(a=!1!==i["ɵnov"](t,3).onReset()&&a),"submit"===e&&(a=!1!==i["ɵnov"](t,6).onSubmit()&&a),a}),null,null)),i["ɵdid"](2,16384,null,0,W.G,[],null,null),i["ɵdid"](3,540672,[["formDir",4]],0,W.l,[[8,null],[8,null]],{form:[0,"form"]},null),i["ɵprd"](2048,null,W.d,null,[W.l]),i["ɵdid"](5,16384,null,0,W.s,[[4,W.d]],null,null),i["ɵdid"](6,16384,null,0,K.d,[],{formGroup:[0,"formGroup"]},null),(t()(),i["ɵeld"](7,0,null,null,41,"div",[["class","card"]],null,null,null,null,null)),(t()(),i["ɵeld"](8,0,null,null,3,"div",[["class","card-header"]],null,null,null,null,null)),(t()(),i["ɵted"](9,null,[""," ",""])),i["ɵppd"](10,1),i["ɵppd"](11,1),(t()(),i["ɵeld"](12,0,null,null,29,"div",[["class","card-body"]],null,null,null,null,null)),(t()(),i["ɵeld"](13,0,null,null,2,"fieldset",[],null,null,null,null,null)),(t()(),i["ɵeld"](14,0,null,null,1,"cd-osd-devices-selection-groups",[["name","Primary"],["type","data"]],null,[[null,"selected"],[null,"cleared"]],(function(t,e,n){var a=!0,r=t.component;return"selected"===e&&(a=!1!==r.onDevicesSelected(n)&&a),"cleared"===e&&(a=!1!==r.onDevicesCleared(n)&&a),a}),Hs,qs)),i["ɵdid"](15,638976,[[1,4],["dataDeviceSelectionGroups",4]],0,Ls,[Pt.b,ra.a],{type:[0,"type"],name:[1,"name"],availDevices:[2,"availDevices"],canSelect:[3,"canSelect"]},{selected:"selected",cleared:"cleared"}),(t()(),i["ɵeld"](16,0,null,null,10,"fieldset",[],null,null,null,null,null)),(t()(),i["ɵeld"](17,0,null,null,1,"legend",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Shared devices"])),(t()(),i["ɵeld"](19,0,null,null,1,"cd-osd-devices-selection-groups",[["name","WAL"],["type","wal"]],null,[[null,"selected"],[null,"cleared"]],(function(t,e,n){var a=!0,r=t.component;return"selected"===e&&(a=!1!==r.onDevicesSelected(n)&&a),"cleared"===e&&(a=!1!==r.onDevicesCleared(n)&&a),a}),Hs,qs)),i["ɵdid"](20,638976,[[2,4],["walDeviceSelectionGroups",4]],0,Ls,[Pt.b,ra.a],{type:[0,"type"],name:[1,"name"],availDevices:[2,"availDevices"],canSelect:[3,"canSelect"]},{selected:"selected",cleared:"cleared"}),(t()(),i["ɵand"](16777216,null,null,1,null,Xs)),i["ɵdid"](22,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](23,0,null,null,1,"cd-osd-devices-selection-groups",[["name","DB"],["type","db"]],null,[[null,"selected"],[null,"cleared"]],(function(t,e,n){var a=!0,r=t.component;return"selected"===e&&(a=!1!==r.onDevicesSelected(n)&&a),"cleared"===e&&(a=!1!==r.onDevicesCleared(n)&&a),a}),Hs,qs)),i["ɵdid"](24,638976,[[3,4],["dbDeviceSelectionGroups",4]],0,Ls,[Pt.b,ra.a],{type:[0,"type"],name:[1,"name"],availDevices:[2,"availDevices"],canSelect:[3,"canSelect"]},{selected:"selected",cleared:"cleared"}),(t()(),i["ɵand"](16777216,null,null,1,null,tc)),i["ɵdid"](26,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](27,0,null,null,14,"fieldset",[],null,null,null,null,null)),(t()(),i["ɵeld"](28,0,null,null,1,"legend",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Configuration"])),(t()(),i["ɵeld"](30,0,null,null,11,"div",[["class","form-group row"],["formGroupName","features"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](31,212992,null,0,W.m,[[3,W.d],[8,null],[8,null]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.d,null,[W.m]),i["ɵdid"](33,16384,null,0,W.s,[[4,W.d]],null,null),i["ɵdid"](34,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,9,{FormControlNames:1}),i["ɵqud"](603979776,10,{messagesBlock:0}),(t()(),i["ɵeld"](37,0,null,0,1,"label",[["class","cd-col-form-label"],["for","features"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Features"])),(t()(),i["ɵeld"](39,0,null,0,2,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,ec)),i["ɵdid"](41,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵeld"](42,0,null,null,6,"div",[["class","card-footer"]],null,null,null,null,null)),(t()(),i["ɵeld"](43,0,null,null,5,"div",[["class","button-group text-right"]],null,null,null,null,null)),(t()(),i["ɵeld"](44,0,null,null,2,"cd-submit-button",[],null,[[null,"submitAction"]],(function(t,e,n){var a=!0;return"submitAction"===e&&(a=!1!==t.component.submit()&&a),a}),ai.b,ai.a)),i["ɵdid"](45,114688,[[4,4],["previewButton",4]],0,ri.a,[i.ElementRef],{form:[0,"form"],disabled:[1,"disabled"]},{submitAction:"submitAction"}),(t()(),i["ɵted"](-1,0,["Preview"])),(t()(),i["ɵeld"](47,0,null,null,1,"cd-back-button",[],null,null,null,oi.b,oi.a)),i["ɵdid"](48,49152,null,0,ii.a,[o.Location,Ot.b],null,null)],(function(t,e){var n=e.component;t(e,3,0,n.form),t(e,6,0,n.form),t(e,15,0,"data","Primary",n.availDevices,0!==n.availDevices.length),t(e,20,0,"wal","WAL",n.availDevices,0!==i["ɵnov"](e,15).devices.length),t(e,22,0,0!==i["ɵnov"](e,20).devices.length),t(e,24,0,"db","DB",n.availDevices,0!==i["ɵnov"](e,15).devices.length),t(e,26,0,0!==i["ɵnov"](e,24).devices.length),t(e,31,0,"features"),t(e,34,0),t(e,41,0,n.featureList),t(e,45,0,i["ɵnov"](e,3),0===i["ɵnov"](e,15).devices.length)}),(function(t,e){var n=e.component;t(e,1,0,i["ɵnov"](e,5).ngClassUntouched,i["ɵnov"](e,5).ngClassTouched,i["ɵnov"](e,5).ngClassPristine,i["ɵnov"](e,5).ngClassDirty,i["ɵnov"](e,5).ngClassValid,i["ɵnov"](e,5).ngClassInvalid,i["ɵnov"](e,5).ngClassPending);var a=i["ɵunv"](e,9,0,t(e,10,0,i["ɵnov"](e.parent,0),n.action)),r=i["ɵunv"](e,9,1,t(e,11,0,i["ɵnov"](e.parent,1),n.resource));t(e,9,0,a,r),t(e,30,0,i["ɵnov"](e,33).ngClassUntouched,i["ɵnov"](e,33).ngClassTouched,i["ɵnov"](e,33).ngClassPristine,i["ɵnov"](e,33).ngClassDirty,i["ɵnov"](e,33).ngClassValid,i["ɵnov"](e,33).ngClassInvalid,i["ɵnov"](e,33).ngClassPending,i["ɵnov"](e,34).hasErrors,i["ɵnov"](e,34).hasSuccess)}))}function ac(t){return i["ɵvid"](0,[i["ɵpid"](0,o.TitleCasePipe,[]),i["ɵpid"](0,si.a,[]),i["ɵqud"](671088640,1,{dataDeviceSelectionGroups:0}),i["ɵqud"](671088640,2,{walDeviceSelectionGroups:0}),i["ɵqud"](671088640,3,{dbDeviceSelectionGroups:0}),i["ɵqud"](671088640,4,{previewButton:0}),(t()(),i["ɵand"](16777216,null,null,1,null,Zs)),i["ɵdid"](7,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,nc)),i["ɵdid"](9,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,7,0,!n.hasOrchestrator),t(e,9,0,!n.loading&&n.hasOrchestrator)}),null)}function rc(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-osd-form",[],null,null,null,ac,$s)),i["ɵdid"](1,114688,null,0,Ks,[Ot.b,bt.a,ra.a,xr,Tt.m,Pt.b],null,null)],(function(t,e){t(e,1,0)}),null)}var oc=i["ɵccf"]("cd-osd-form",Ks,rc,{},{},[]),ic=n("iExv");class sc{constructor(t){this.i18n=t,this.flags={runtime:this.i18n("The value can be updated at runtime."),no_mon_update:this.i18n("Daemons/clients do not pull this value from the\n      monitor config database. We disallow setting this option via 'ceph config\n      set ...'. This option should be configured via ceph.conf or via the\n      command line."),startup:this.i18n("Option takes effect only during daemon startup."),cluster_create:this.i18n("Option only affects cluster creation."),create:this.i18n("Option only affects daemon creation.")}}ngOnChanges(){this.selection.hasSelection&&(this.selectedItem=this.selection.first(),this.selectedItem.services=$.split(this.selectedItem.services,","))}}var cc=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function lc(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](1,null,[" ",": ","",""])),(t()(),i["ɵeld"](2,0,null,null,0,"br",[],null,null,null,null,null))],null,(function(t,e){t(e,1,0,e.context.$implicit.section,e.context.$implicit.value,e.context.last?"":",")}))}function dc(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,4,"span",[],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,3,"span",[],[[8,"title",0]],null,null,null,null)),(t()(),i["ɵeld"](2,0,null,null,2,"span",[["class","badge badge-dark mr-2"]],null,null,null,null,null)),(t()(),i["ɵted"](3,null,["",""])),i["ɵppd"](4,1)],null,(function(t,e){t(e,1,0,i["ɵinlineInterpolate"](1,"",e.component.flags[e.context.$implicit],""));var n=i["ɵunv"](e,3,0,t(e,4,0,i["ɵnov"](e.parent.parent,0),e.context.$implicit));t(e,3,0,n)}))}function uc(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,1,"span",[["class","badge badge-dark mr-2"]],null,null,null,null,null)),(t()(),i["ɵted"](2,null,["",""]))],null,(function(t,e){t(e,2,0,e.context.$implicit)}))}function gc(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,94,"tabset",[],[[2,"tab-container",null]],null,null,Ln.b,Ln.a)),i["ɵdid"](1,180224,null,0,qn.e,[qn.f,i.Renderer2,i.ElementRef],null,null),(t()(),i["ɵeld"](2,0,null,0,92,"tab",[["heading","Details"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](3,212992,null,0,qn.b,[qn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵeld"](4,0,null,null,90,"table",[["class","table table-striped table-bordered"]],null,null,null,null,null)),(t()(),i["ɵeld"](5,0,null,null,89,"tbody",[],null,null,null,null,null)),(t()(),i["ɵeld"](6,0,null,null,4,"tr",[],null,null,null,null,null)),(t()(),i["ɵeld"](7,0,null,null,1,"td",[["class","bold w-25"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Name"])),(t()(),i["ɵeld"](9,0,null,null,1,"td",[["class","w-75"]],null,null,null,null,null)),(t()(),i["ɵted"](10,null,["",""])),(t()(),i["ɵeld"](11,0,null,null,4,"tr",[],null,null,null,null,null)),(t()(),i["ɵeld"](12,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Description"])),(t()(),i["ɵeld"](14,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](15,null,["",""])),(t()(),i["ɵeld"](16,0,null,null,4,"tr",[],null,null,null,null,null)),(t()(),i["ɵeld"](17,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Long description"])),(t()(),i["ɵeld"](19,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](20,null,["",""])),(t()(),i["ɵeld"](21,0,null,null,5,"tr",[],null,null,null,null,null)),(t()(),i["ɵeld"](22,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Current values"])),(t()(),i["ɵeld"](24,0,null,null,2,"td",[],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,lc)),i["ɵdid"](26,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵeld"](27,0,null,null,4,"tr",[],null,null,null,null,null)),(t()(),i["ɵeld"](28,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Default"])),(t()(),i["ɵeld"](30,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](31,null,["",""])),(t()(),i["ɵeld"](32,0,null,null,4,"tr",[],null,null,null,null,null)),(t()(),i["ɵeld"](33,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Daemon default"])),(t()(),i["ɵeld"](35,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](36,null,["",""])),(t()(),i["ɵeld"](37,0,null,null,4,"tr",[],null,null,null,null,null)),(t()(),i["ɵeld"](38,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Type"])),(t()(),i["ɵeld"](40,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](41,null,["",""])),(t()(),i["ɵeld"](42,0,null,null,4,"tr",[],null,null,null,null,null)),(t()(),i["ɵeld"](43,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Min"])),(t()(),i["ɵeld"](45,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](46,null,["",""])),(t()(),i["ɵeld"](47,0,null,null,4,"tr",[],null,null,null,null,null)),(t()(),i["ɵeld"](48,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Max"])),(t()(),i["ɵeld"](50,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](51,null,["",""])),(t()(),i["ɵeld"](52,0,null,null,5,"tr",[],null,null,null,null,null)),(t()(),i["ɵeld"](53,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Flags"])),(t()(),i["ɵeld"](55,0,null,null,2,"td",[],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,dc)),i["ɵdid"](57,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵeld"](58,0,null,null,5,"tr",[],null,null,null,null,null)),(t()(),i["ɵeld"](59,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Services"])),(t()(),i["ɵeld"](61,0,null,null,2,"td",[],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,uc)),i["ɵdid"](63,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵeld"](64,0,null,null,4,"tr",[],null,null,null,null,null)),(t()(),i["ɵeld"](65,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Source"])),(t()(),i["ɵeld"](67,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](68,null,["",""])),(t()(),i["ɵeld"](69,0,null,null,4,"tr",[],null,null,null,null,null)),(t()(),i["ɵeld"](70,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Level"])),(t()(),i["ɵeld"](72,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](73,null,["",""])),(t()(),i["ɵeld"](74,0,null,null,5,"tr",[],null,null,null,null,null)),(t()(),i["ɵeld"](75,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Can be updated at runtime (editable)"])),(t()(),i["ɵeld"](77,0,null,null,2,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](78,null,["",""])),i["ɵppd"](79,1),(t()(),i["ɵeld"](80,0,null,null,4,"tr",[],null,null,null,null,null)),(t()(),i["ɵeld"](81,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Tags"])),(t()(),i["ɵeld"](83,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](84,null,["",""])),(t()(),i["ɵeld"](85,0,null,null,4,"tr",[],null,null,null,null,null)),(t()(),i["ɵeld"](86,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Enum values"])),(t()(),i["ɵeld"](88,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](89,null,["",""])),(t()(),i["ɵeld"](90,0,null,null,4,"tr",[],null,null,null,null,null)),(t()(),i["ɵeld"](91,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["See also"])),(t()(),i["ɵeld"](93,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](94,null,["",""]))],(function(t,e){var n=e.component;t(e,3,0,"Details"),t(e,26,0,n.selectedItem.value),t(e,57,0,n.selectedItem.flags),t(e,63,0,n.selectedItem.services)}),(function(t,e){var n=e.component;t(e,0,0,i["ɵnov"](e,1).clazz),t(e,2,0,i["ɵnov"](e,3).id,i["ɵnov"](e,3).active,i["ɵnov"](e,3).addClass),t(e,10,0,n.selectedItem.name),t(e,15,0,n.selectedItem.desc),t(e,20,0,n.selectedItem.long_desc),t(e,31,0,n.selectedItem.default),t(e,36,0,n.selectedItem.daemon_default),t(e,41,0,n.selectedItem.type),t(e,46,0,n.selectedItem.min),t(e,51,0,n.selectedItem.max),t(e,68,0,n.selectedItem.source),t(e,73,0,n.selectedItem.level);var a=i["ɵunv"](e,78,0,t(e,79,0,i["ɵnov"](e.parent,1),n.selectedItem.can_update_at_runtime));t(e,78,0,a),t(e,84,0,n.selectedItem.tags),t(e,89,0,n.selectedItem.enum_values),t(e,94,0,n.selectedItem.see_also)}))}function fc(t){return i["ɵvid"](0,[i["ɵpid"](0,o.UpperCasePipe,[]),i["ɵpid"](0,ic.a,[ra.a]),(t()(),i["ɵand"](16777216,null,null,1,null,gc)),i["ɵdid"](3,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,3,0,null==n.selection?null:n.selection.hasSingleSelection)}),null)}class pc{constructor(t,e,n,a){this.authStorageService=t,this.configurationService=e,this.i18n=n,this.actionLabels=a,this.data=[],this.icons=dt.a,this.selection=new kr.a,this.filters=[{name:this.i18n("Level"),prop:"level",filterOptions:["basic","advanced","dev"],filterInitValue:"basic",filterPredicate:(t,e)=>{let n;return function(t){t[t.basic=0]="basic",t[t.advanced=1]="advanced",t[t.dev=2]="dev"}(n||(n={})),n[t.level]<=n[e]}},{name:this.i18n("Service"),prop:"services",filterOptions:["mon","mgr","osd","mds","common","mds_client","rgw"],filterPredicate:(t,e)=>t.services.includes(e)},{name:this.i18n("Source"),prop:"source",filterOptions:["mon"],filterPredicate:(t,e)=>!!t.hasOwnProperty("source")&&t.source.includes(e)},{name:this.i18n("Modified"),prop:"modified",filterOptions:["yes","no"],filterPredicate:(t,e)=>!("yes"!==e||!t.hasOwnProperty("value"))||"no"===e&&!t.hasOwnProperty("value")}],this.permission=this.authStorageService.getPermissions().configOpt;const r=()=>this.selection.first()&&`${encodeURIComponent(this.selection.first().name)}`;this.tableActions=[{permission:"update",icon:dt.a.edit,routerLink:()=>`/configuration/edit/${r()}`,name:this.actionLabels.EDIT,disable:()=>!this.isEditable(this.selection)}]}ngOnInit(){this.columns=[{canAutoResize:!0,prop:"name",name:this.i18n("Name")},{prop:"desc",name:this.i18n("Description"),cellClass:"wrap"},{prop:"value",name:this.i18n("Current value"),cellClass:"wrap",cellTemplate:this.confValTpl},{prop:"default",name:this.i18n("Default"),cellClass:"wrap"},{prop:"can_update_at_runtime",name:this.i18n("Editable"),cellTransformation:Tr.a.checkIcon,flexGrow:.4,cellClass:"text-center"}]}updateSelection(t){this.selection=t}getConfigurationList(t){this.configurationService.getConfigData().subscribe(t=>{this.data=t},()=>{t.error()})}isEditable(t){return 1===t.selected.length&&t.selected[0].can_update_at_runtime}}var mc=i["ɵcrt"]({encapsulation:0,styles:[[".filter[_ngcontent-%COMP%]{padding-right:8px}.fa-stack[_ngcontent-%COMP%]{font-size:.79rem}.fa-stack[_ngcontent-%COMP%]   .fa-stack-1x[_ngcontent-%COMP%]{margin-left:8px;margin-top:5px}  datatable-body-cell.wrap{word-break:break-all}"]],data:{}});function hc(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](1,null,[" ",": ","",""])),(t()(),i["ɵeld"](2,0,null,null,0,"br",[],null,null,null,null,null))],null,(function(t,e){t(e,1,0,e.context.$implicit.section,e.context.$implicit.value,e.context.last?"":",")}))}function bc(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,hc)),i["ɵdid"](2,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){t(e,2,0,e.parent.context.value)}),null)}function _c(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,bc)),i["ɵdid"](1,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](0,null,null,0))],(function(t,e){t(e,1,0,e.context.value)}),null)}function yc(t){return i["ɵvid"](0,[i["ɵqud"](402653184,1,{confValTpl:0}),i["ɵqud"](671088640,2,{confFlagTpl:0}),(t()(),i["ɵeld"](2,0,null,null,5,"cd-table",[["selectionType","single"]],null,[[null,"fetchData"],[null,"updateSelection"]],(function(t,e,n){var a=!0,r=t.component;return"fetchData"===e&&(a=!1!==r.getConfigurationList(n)&&a),"updateSelection"===e&&(a=!1!==r.updateSelection(n)&&a),a}),hr.b,hr.a)),i["ɵdid"](3,2867200,null,0,br.a,[i.NgZone,i.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],selectionType:[2,"selectionType"],extraFilterableColumns:[3,"extraFilterableColumns"]},{fetchData:"fetchData",updateSelection:"updateSelection"}),(t()(),i["ɵeld"](4,0,null,1,1,"cd-table-actions",[["class","table-actions"]],null,null,null,_r.b,_r.a)),i["ɵdid"](5,114688,null,0,yr.a,[],{permission:[0,"permission"],selection:[1,"selection"],tableActions:[2,"tableActions"]},null),(t()(),i["ɵeld"](6,0,null,3,1,"cd-configuration-details",[["cdTableDetail",""]],null,null,null,fc,cc)),i["ɵdid"](7,573440,null,0,sc,[ra.a],{selection:[0,"selection"]},null),(t()(),i["ɵand"](0,[[1,2],["confValTpl",2]],null,0,null,_c))],(function(t,e){var n=e.component;t(e,3,0,n.data,n.columns,"single",n.filters),t(e,5,0,n.permission,n.selection,n.tableActions),t(e,7,0,n.selection)}),null)}function Oc(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-configuration",[],null,null,null,yc,mc)),i["ɵdid"](1,114688,null,0,pc,[bt.a,us.a,ra.a,Ot.b],null,null)],(function(t,e){t(e,1,0)}),null)}var vc=i["ɵccf"]("cd-configuration",pc,Oc,{},{},[]);class Cc{constructor(){this.value=[]}}class Pc{constructor(t,e,n,a,r){this.route=t,this.router=e,this.configService=n,this.notificationService=a,this.i18n=r,this.availSections=["global","mon","mgr","osd","mds","client"],this.createForm()}createForm(){const t={name:new W.i({value:null}),desc:new W.i({value:null}),long_desc:new W.i({value:null}),values:new W.k({}),default:new W.i({value:null}),daemon_default:new W.i({value:null}),services:new W.i([])};this.availSections.forEach(e=>{t.values.addControl(e,new W.i(null))}),this.configForm=new ci.a(t)}ngOnInit(){this.route.params.subscribe(t=>{this.configService.get(t.name).subscribe(t=>{this.setResponse(t)})})}getValidators(t){const e=gs.getTypeValidators(t);if(e)return this.patternHelpText=e.patternHelpText,"max"in e&&""!==e.max&&(this.maxValue=e.max),"min"in e&&""!==e.min&&(this.minValue=e.min),e.validators}getStep(t,e){return gs.getTypeStep(t,e)}setResponse(t){this.response=t;const e=this.getValidators(t);this.configForm.get("name").setValue(t.name),this.configForm.get("desc").setValue(t.desc),this.configForm.get("long_desc").setValue(t.long_desc),this.configForm.get("default").setValue(t.default),this.configForm.get("daemon_default").setValue(t.daemon_default),this.configForm.get("services").setValue(t.services),this.response.value&&this.response.value.forEach(t=>{let e=null;e="true"===t.value||"false"!==t.value&&t.value,this.configForm.get("values").get(t.section).setValue(e)}),this.availSections.forEach(t=>{this.configForm.get("values").get(t).setValidators(e)});const n=gs.getType(t.type);this.type=n.name,this.inputType=n.inputType,this.humanReadableType=n.humanReadable}createRequest(){const t=[];if(this.availSections.forEach(e=>{const n=this.configForm.getValue(e);null!==n&&""!==n&&t.push({section:e,value:n})}),!$.isEqual(this.response.value,t)){const e=new Cc;return e.name=this.configForm.getValue("name"),e.value=t,e}return null}submit(){const t=this.createRequest();t&&this.configService.create(t).subscribe(()=>{this.notificationService.show(be.a.success,this.i18n("Updated config option {{name}}",{name:t.name})),this.router.navigate(["/configuration"])},()=>{this.configForm.setErrors({cdSubmitButton:!0})}),this.router.navigate(["/configuration"])}}var Mc=i["ɵcrt"]({encapsulation:0,styles:[[".form-component-badge[_ngcontent-%COMP%]{height:34px;display:block}.form-component-badge[_ngcontent-%COMP%]   span[_ngcontent-%COMP%]{margin-top:7px}.resize-vertical[_ngcontent-%COMP%]{resize:vertical}"]],data:{}});function xc(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,14,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](1,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,3,{FormControlNames:1}),i["ɵqud"](603979776,4,{messagesBlock:0}),(t()(),i["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Description"])),(t()(),i["ɵeld"](6,0,null,0,8,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](7,0,null,null,7,"textarea",[["class","form-control resize-vertical"],["formControlName","desc"],["id","desc"],["readonly",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,8)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,8).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,8)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,8)._compositionEnd(n.target.value)&&a),a}),null,null)),i["ɵdid"](8,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](10,671744,[[3,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](12,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](13,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵted"](-1,null,["            "]))],(function(t,e){t(e,1,0),t(e,10,0,"desc"),t(e,13,0,"desc")}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).hasErrors,i["ɵnov"](e,1).hasSuccess),t(e,7,0,i["ɵnov"](e,12).ngClassUntouched,i["ɵnov"](e,12).ngClassTouched,i["ɵnov"](e,12).ngClassPristine,i["ɵnov"](e,12).ngClassDirty,i["ɵnov"](e,12).ngClassValid,i["ɵnov"](e,12).ngClassInvalid,i["ɵnov"](e,12).ngClassPending,i["ɵnov"](e,13).validClass,i["ɵnov"](e,13).invalidClass)}))}function wc(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,14,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](1,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,5,{FormControlNames:1}),i["ɵqud"](603979776,6,{messagesBlock:0}),(t()(),i["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Long description"])),(t()(),i["ɵeld"](6,0,null,0,8,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](7,0,null,null,7,"textarea",[["class","form-control resize-vertical"],["formControlName","long_desc"],["id","long_desc"],["readonly",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,8)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,8).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,8)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,8)._compositionEnd(n.target.value)&&a),a}),null,null)),i["ɵdid"](8,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](10,671744,[[5,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](12,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](13,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵted"](-1,null,["            "]))],(function(t,e){t(e,1,0),t(e,10,0,"long_desc"),t(e,13,0,"long_desc")}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).hasErrors,i["ɵnov"](e,1).hasSuccess),t(e,7,0,i["ɵnov"](e,12).ngClassUntouched,i["ɵnov"](e,12).ngClassTouched,i["ɵnov"](e,12).ngClassPristine,i["ɵnov"](e,12).ngClassDirty,i["ɵnov"](e,12).ngClassValid,i["ɵnov"](e,12).ngClassInvalid,i["ɵnov"](e,12).ngClassPending,i["ɵnov"](e,13).validClass,i["ɵnov"](e,13).invalidClass)}))}function Tc(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,13,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](1,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,7,{FormControlNames:1}),i["ɵqud"](603979776,8,{messagesBlock:0}),(t()(),i["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Default"])),(t()(),i["ɵeld"](6,0,null,0,7,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](7,0,null,null,6,"input",[["class","form-control"],["formControlName","default"],["id","default"],["readonly",""],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,8)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,8).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,8)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,8)._compositionEnd(n.target.value)&&a),a}),null,null)),i["ɵdid"](8,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](10,671744,[[7,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](12,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](13,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null)],(function(t,e){t(e,1,0),t(e,10,0,"default"),t(e,13,0,"default")}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).hasErrors,i["ɵnov"](e,1).hasSuccess),t(e,7,0,i["ɵnov"](e,12).ngClassUntouched,i["ɵnov"](e,12).ngClassTouched,i["ɵnov"](e,12).ngClassPristine,i["ɵnov"](e,12).ngClassDirty,i["ɵnov"](e,12).ngClassValid,i["ɵnov"](e,12).ngClassInvalid,i["ɵnov"](e,12).ngClassPending,i["ɵnov"](e,13).validClass,i["ɵnov"](e,13).invalidClass)}))}function kc(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,13,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](1,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,9,{FormControlNames:1}),i["ɵqud"](603979776,10,{messagesBlock:0}),(t()(),i["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Daemon default"])),(t()(),i["ɵeld"](6,0,null,0,7,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](7,0,null,null,6,"input",[["class","form-control"],["formControlName","daemon_default"],["id","daemon_default"],["readonly",""],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,8)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,8).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,8)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,8)._compositionEnd(n.target.value)&&a),a}),null,null)),i["ɵdid"](8,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](10,671744,[[9,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](12,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](13,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null)],(function(t,e){t(e,1,0),t(e,10,0,"daemon_default"),t(e,13,0,"daemon_default")}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).hasErrors,i["ɵnov"](e,1).hasSuccess),t(e,7,0,i["ɵnov"](e,12).ngClassUntouched,i["ɵnov"](e,12).ngClassTouched,i["ɵnov"](e,12).ngClassPristine,i["ɵnov"](e,12).ngClassDirty,i["ɵnov"](e,12).ngClassValid,i["ɵnov"](e,12).ngClassInvalid,i["ɵnov"](e,12).ngClassPending,i["ɵnov"](e,13).validClass,i["ɵnov"](e,13).invalidClass)}))}function Sc(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"span",[["class","form-component-badge"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,1,"span",[["class","badge badge-dark"]],null,null,null,null,null)),(t()(),i["ɵted"](2,null,["",""]))],null,(function(t,e){t(e,2,0,e.context.$implicit)}))}function Ic(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,8,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](1,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,11,{FormControlNames:1}),i["ɵqud"](603979776,12,{messagesBlock:0}),(t()(),i["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Services"])),(t()(),i["ɵeld"](6,0,null,0,2,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Sc)),i["ɵdid"](8,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){var n=e.component;t(e,1,0),t(e,8,0,n.configForm.getValue("services"))}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).hasErrors,i["ɵnov"](e,1).hasSuccess)}))}function Nc(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,25,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](1,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,13,{FormControlNames:1}),i["ɵqud"](603979776,14,{messagesBlock:0}),(t()(),i["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label"]],[[8,"htmlFor",0]],null,null,null,null)),(t()(),i["ɵted"](5,null,[""," "])),(t()(),i["ɵeld"](6,0,null,0,19,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](7,0,null,null,18,"select",[["class","form-control custom-select"],["id","pool"],["name","pool"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(t,e,n){var a=!0;return"change"===e&&(a=!1!==i["ɵnov"](t,8).onChange(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,8).onTouched()&&a),a}),null,null)),i["ɵdid"](8,16384,null,0,W.A,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.A]),i["ɵdid"](10,671744,[[13,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](12,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](13,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵeld"](14,0,null,null,3,"option",[],null,null,null,null,null)),i["ɵdid"](15,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{ngValue:[0,"ngValue"]},null),i["ɵdid"](16,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(t()(),i["ɵted"](-1,null,["-- Default --"])),(t()(),i["ɵeld"](18,0,null,null,3,"option",[],null,null,null,null,null)),i["ɵdid"](19,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{ngValue:[0,"ngValue"]},null),i["ɵdid"](20,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(t()(),i["ɵted"](-1,null,["true"])),(t()(),i["ɵeld"](22,0,null,null,3,"option",[],null,null,null,null,null)),i["ɵdid"](23,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{ngValue:[0,"ngValue"]},null),i["ɵdid"](24,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(t()(),i["ɵted"](-1,null,["false"]))],(function(t,e){t(e,1,0),t(e,10,0,e.parent.context.$implicit),t(e,13,0,e.parent.context.$implicit),t(e,15,0,null),t(e,16,0,null),t(e,19,0,!0),t(e,20,0,!0),t(e,23,0,!1),t(e,24,0,!1)}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).hasErrors,i["ɵnov"](e,1).hasSuccess),t(e,4,0,e.parent.context.$implicit),t(e,5,0,e.parent.context.$implicit),t(e,7,0,i["ɵnov"](e,12).ngClassUntouched,i["ɵnov"](e,12).ngClassTouched,i["ɵnov"](e,12).ngClassPristine,i["ɵnov"](e,12).ngClassDirty,i["ɵnov"](e,12).ngClassValid,i["ɵnov"](e,12).ngClassInvalid,i["ɵnov"](e,12).ngClassPending,i["ɵnov"](e,13).validClass,i["ɵnov"](e,13).invalidClass)}))}function Rc(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](1,null,[" "," "]))],null,(function(t,e){t(e,1,0,e.component.patternHelpText)}))}function Ac(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](1,null,[" "," "]))],null,(function(t,e){t(e,1,0,e.component.patternHelpText)}))}function Ec(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](1,null,["The entered value is too high! It must not be greater than ","."]))],null,(function(t,e){t(e,1,0,e.component.maxValue)}))}function Dc(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](1,null,["The entered value is too low! It must not be lower than ","."]))],null,(function(t,e){t(e,1,0,e.component.minValue)}))}function Lc(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,21,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](1,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,15,{FormControlNames:1}),i["ɵqud"](603979776,16,{messagesBlock:0}),(t()(),i["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label"]],[[8,"htmlFor",0]],null,null,null,null)),(t()(),i["ɵted"](5,null,[""," "])),(t()(),i["ɵeld"](6,0,null,0,15,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](7,0,null,null,6,"input",[["class","form-control"]],[[8,"type",0],[8,"id",0],[8,"placeholder",0],[8,"step",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,8)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,8).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,8)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,8)._compositionEnd(n.target.value)&&a),a}),null,null)),i["ɵdid"](8,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](10,671744,[[15,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](12,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](13,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Rc)),i["ɵdid"](15,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Ac)),i["ɵdid"](17,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Ec)),i["ɵdid"](19,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Dc)),i["ɵdid"](21,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0),t(e,10,0,e.parent.context.$implicit),t(e,13,0,e.parent.context.$implicit),t(e,15,0,n.configForm.showError(e.parent.context.$implicit,i["ɵnov"](e.parent.parent,3),"pattern")),t(e,17,0,n.configForm.showError(e.parent.context.$implicit,i["ɵnov"](e.parent.parent,3),"invalidUuid")),t(e,19,0,n.configForm.showError(e.parent.context.$implicit,i["ɵnov"](e.parent.parent,3),"max")),t(e,21,0,n.configForm.showError(e.parent.context.$implicit,i["ɵnov"](e.parent.parent,3),"min"))}),(function(t,e){var n=e.component;t(e,0,0,i["ɵnov"](e,1).hasErrors,i["ɵnov"](e,1).hasSuccess),t(e,4,0,e.parent.context.$implicit),t(e,5,0,e.parent.context.$implicit),t(e,7,1,[n.inputType,e.parent.context.$implicit,n.humanReadableType,n.getStep(n.type,n.configForm.getValue(e.parent.context.$implicit)),i["ɵnov"](e,12).ngClassUntouched,i["ɵnov"](e,12).ngClassTouched,i["ɵnov"](e,12).ngClassPristine,i["ɵnov"](e,12).ngClassDirty,i["ɵnov"](e,12).ngClassValid,i["ɵnov"](e,12).ngClassInvalid,i["ɵnov"](e,12).ngClassPending,i["ɵnov"](e,13).validClass,i["ɵnov"](e,13).invalidClass])}))}function qc(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,4,null,null,null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Nc)),i["ɵdid"](2,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Lc)),i["ɵdid"](4,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](0,null,null,0))],(function(t,e){var n=e.component;t(e,2,0,"bool"===n.type),t(e,4,0,"bool"!==n.type)}),null)}function jc(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,52,"div",[["class","cd-col-form"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,51,"form",[["name","configForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(t,e,n){var a=!0;return"submit"===e&&(a=!1!==i["ɵnov"](t,3).onSubmit(n)&&a),"reset"===e&&(a=!1!==i["ɵnov"](t,3).onReset()&&a),"submit"===e&&(a=!1!==i["ɵnov"](t,6).onSubmit()&&a),a}),null,null)),i["ɵdid"](2,16384,null,0,W.G,[],null,null),i["ɵdid"](3,540672,[["formDir",4]],0,W.l,[[8,null],[8,null]],{form:[0,"form"]},null),i["ɵprd"](2048,null,W.d,null,[W.l]),i["ɵdid"](5,16384,null,0,W.s,[[4,W.d]],null,null),i["ɵdid"](6,16384,null,0,K.d,[],{formGroup:[0,"formGroup"]},null),(t()(),i["ɵeld"](7,0,null,null,45,"div",[["class","card"]],null,null,null,null,null)),(t()(),i["ɵeld"](8,0,null,null,3,"div",[["class","card-header"]],null,null,null,null,null)),(t()(),i["ɵeld"](9,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Edit"])),(t()(),i["ɵted"](11,null,[" "," "])),(t()(),i["ɵeld"](12,0,null,null,32,"div",[["class","card-body"]],null,null,null,null,null)),(t()(),i["ɵeld"](13,0,null,null,13,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](14,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,1,{FormControlNames:1}),i["ɵqud"](603979776,2,{messagesBlock:0}),(t()(),i["ɵeld"](17,0,null,0,1,"label",[["class","cd-col-form-label"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Name"])),(t()(),i["ɵeld"](19,0,null,0,7,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](20,0,null,null,6,"input",[["class","form-control"],["formControlName","name"],["id","name"],["readonly",""],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,21)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,21).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,21)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,21)._compositionEnd(n.target.value)&&a),a}),null,null)),i["ɵdid"](21,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](23,671744,[[1,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](25,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](26,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,xc)),i["ɵdid"](28,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,wc)),i["ɵdid"](30,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Tc)),i["ɵdid"](32,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,kc)),i["ɵdid"](34,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Ic)),i["ɵdid"](36,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](37,0,null,null,7,"div",[["formGroupName","values"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],null,null,null,null)),i["ɵdid"](38,212992,null,0,W.m,[[3,W.d],[8,null],[8,null]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.d,null,[W.m]),i["ɵdid"](40,16384,null,0,W.s,[[4,W.d]],null,null),(t()(),i["ɵeld"](41,0,null,null,1,"h2",[["class","cd-header"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Values"])),(t()(),i["ɵand"](16777216,null,null,1,null,qc)),i["ɵdid"](44,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵeld"](45,0,null,null,7,"div",[["class","card-footer"]],null,null,null,null,null)),(t()(),i["ɵeld"](46,0,null,null,6,"div",[["class","button-group text-right"]],null,null,null,null,null)),(t()(),i["ɵeld"](47,0,null,null,3,"cd-submit-button",[],null,[[null,"submitAction"]],(function(t,e,n){var a=!0;return"submitAction"===e&&(a=!1!==t.component.submit()&&a),a}),ai.b,ai.a)),i["ɵdid"](48,114688,null,0,ri.a,[i.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(t()(),i["ɵeld"](49,0,null,0,1,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Save"])),(t()(),i["ɵeld"](51,0,null,null,1,"cd-back-button",[],null,null,null,oi.b,oi.a)),i["ɵdid"](52,49152,null,0,ii.a,[o.Location,Ot.b],null,null)],(function(t,e){var n=e.component;t(e,3,0,n.configForm),t(e,6,0,n.configForm),t(e,14,0),t(e,23,0,"name"),t(e,26,0,"name"),t(e,28,0,n.configForm.getValue("desc")),t(e,30,0,n.configForm.getValue("long_desc")),t(e,32,0,""!==n.configForm.getValue("default")),t(e,34,0,""!==n.configForm.getValue("daemon_default")),t(e,36,0,n.configForm.getValue("services").length>0),t(e,38,0,"values"),t(e,44,0,n.availSections),t(e,48,0,i["ɵnov"](e,3))}),(function(t,e){var n=e.component;t(e,1,0,i["ɵnov"](e,5).ngClassUntouched,i["ɵnov"](e,5).ngClassTouched,i["ɵnov"](e,5).ngClassPristine,i["ɵnov"](e,5).ngClassDirty,i["ɵnov"](e,5).ngClassValid,i["ɵnov"](e,5).ngClassInvalid,i["ɵnov"](e,5).ngClassPending),t(e,11,0,n.configForm.getValue("name")),t(e,13,0,i["ɵnov"](e,14).hasErrors,i["ɵnov"](e,14).hasSuccess),t(e,20,0,i["ɵnov"](e,25).ngClassUntouched,i["ɵnov"](e,25).ngClassTouched,i["ɵnov"](e,25).ngClassPristine,i["ɵnov"](e,25).ngClassDirty,i["ɵnov"](e,25).ngClassValid,i["ɵnov"](e,25).ngClassInvalid,i["ɵnov"](e,25).ngClassPending,i["ɵnov"](e,26).validClass,i["ɵnov"](e,26).invalidClass),t(e,37,0,i["ɵnov"](e,40).ngClassUntouched,i["ɵnov"](e,40).ngClassTouched,i["ɵnov"](e,40).ngClassPristine,i["ɵnov"](e,40).ngClassDirty,i["ɵnov"](e,40).ngClassValid,i["ɵnov"](e,40).ngClassInvalid,i["ɵnov"](e,40).ngClassPending)}))}function Fc(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-configuration-form",[],null,null,null,jc,Mc)),i["ɵdid"](1,114688,null,0,Pc,[Tt.a,Tt.m,us.a,ut.a,ra.a],null,null)],(function(t,e){t(e,1,0)}),null)}var zc=i["ɵccf"]("cd-configuration-form",Pc,Fc,{},{},[]),Vc=n("LOMR"),Gc=n("MP8s"),Yc=n("fxL3"),Bc=n("gk6K"),Hc=n("mrSG"),Uc=n("yYhs");class Wc{constructor(t){this.healthService=t,this.icons=dt.a,this.loadingIndicator=!0,this.nodes=[],this.treeOptions={useVirtualScroll:!0,actionMapping:{mouse:{click:this.onNodeSelected.bind(this)}}},this.metadataKeyMap={}}ngOnInit(){this.healthService.getFullHealth().subscribe(t=>{this.loadingIndicator=!1,this.nodes=this.abstractTreeData(t)})}abstractTreeData(t){const e=t.osd_map.tree.nodes||[],n={};if(0===e.length)return[{name:"No nodes!"}];const a=[];return e.reverse().forEach(t=>{"root"===t.type&&a.push(t.id),n[t.id]=this.generateTreeLeaf(t,n)}),a.map(t=>n[t])}generateTreeLeaf(t,e){const n=t.id;this.metadataKeyMap[n]=t;const a=[],r={name:t.name+" ("+t.type+")",status:t.status,cdId:n,type:t.type};return t.children&&(t.children.sort().forEach(t=>{a.push(e[t])}),r.children=a),r}onNodeSelected(t,e){if(Uc.a.ACTIVATE(t,e,!0),void 0!==e.data.cdId){const t=this.metadataKeyMap[e.data.cdId],{name:n,type:a}=t,r=Hc.__rest(t,["name","type","status"]);this.metadata=r,this.metadataTitle=n+" ("+a+")"}else delete this.metadata,delete this.metadataTitle}onUpdateData(){this.tree.treeModel.expandAll()}}var Kc=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function $c(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"i",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](2,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](3,3)],(function(t,e){var n=e.component,a=t(e,3,0,n.icons.large,n.icons.spinner,n.icons.spin);t(e,2,0,a)}),null)}function Zc(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,"span",[["class","badge"]],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](2,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),i["ɵpad"](3,2),i["ɵpad"](4,3),i["ɵpod"](5,{"badge-success":0,"badge-danger":1}),(t()(),i["ɵted"](6,null,[" "," "]))],(function(t,e){var n=t(e,5,0,t(e,3,0,"in","up").includes(e.parent.context.$implicit.data.status),t(e,4,0,"down","out","destroyed").includes(e.parent.context.$implicit.data.status));t(e,2,0,"badge",n)}),(function(t,e){t(e,6,0,e.parent.context.$implicit.data.status)}))}function Jc(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,Zc)),i["ɵdid"](1,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](2,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,[" "])),(t()(),i["ɵeld"](4,0,null,null,3,"span",[["class","node-name"]],[[8,"innerHTML",1]],null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](6,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),i["ɵpod"](7,{"type-osd":0})],(function(t,e){t(e,1,0,e.context.$implicit.data.status);var n=t(e,7,0,"osd"===e.context.$implicit.data.type);t(e,6,0,"node-name",n)}),(function(t,e){t(e,4,0,e.context.$implicit.data.name)}))}function Xc(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,4,"div",[["class","col-sm-6 col-lg-6 metadata"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,1,"legend",[],null,null,null,null,null)),(t()(),i["ɵted"](2,null,["",""])),(t()(),i["ɵeld"](3,0,null,null,1,"cd-table-key-value",[],null,null,null,Wr.b,Wr.a)),i["ɵdid"](4,638976,null,0,Kr.a,[ie.a],{data:[0,"data"]},null)],(function(t,e){t(e,4,0,e.component.metadata)}),(function(t,e){t(e,2,0,e.component.metadataTitle)}))}function Qc(t){return i["ɵvid"](0,[i["ɵqud"](671088640,1,{tree:0}),(t()(),i["ɵeld"](1,0,null,null,19,"div",[["class","row"]],null,null,null,null,null)),(t()(),i["ɵeld"](2,0,null,null,18,"div",[["class","col-sm-12 col-lg-12"]],null,null,null,null,null)),(t()(),i["ɵeld"](3,0,null,null,17,"div",[["class","card"]],null,null,null,null,null)),(t()(),i["ɵeld"](4,0,null,null,1,"div",[["class","card-header"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["CRUSH map viewer"])),(t()(),i["ɵeld"](6,0,null,null,14,"div",[["class","card-body"]],null,null,null,null,null)),(t()(),i["ɵeld"](7,0,null,null,13,"div",[["class","row"]],null,null,null,null,null)),(t()(),i["ɵeld"](8,0,null,null,10,"div",[["class","col-sm-6 col-lg-6"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,$c)),i["ɵdid"](10,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](11,0,null,null,7,"tree-root",[],null,[[null,"updateData"],["body","keydown"],["body","mousedown"]],(function(t,e,n){var a=!0,r=t.component;return"body:keydown"===e&&(a=!1!==i["ɵnov"](t,13).onKeydown(n)&&a),"body:mousedown"===e&&(a=!1!==i["ɵnov"](t,13).onMousedown(n)&&a),"updateData"===e&&(a=!1!==r.onUpdateData()&&a),a}),Vc.b,Vc.a)),i["ɵprd"](131584,null,Gc.a,Gc.a,[]),i["ɵdid"](13,573440,[[1,4],["tree",4]],4,Yc.a,[Gc.a,Bc.a],{nodes:[0,"nodes"],options:[1,"options"]},{updateData:"updateData"}),i["ɵqud"](603979776,2,{loadingTemplate:0}),i["ɵqud"](603979776,3,{treeNodeTemplate:0}),i["ɵqud"](603979776,4,{treeNodeWrapperTemplate:0}),i["ɵqud"](603979776,5,{treeNodeFullTemplate:0}),(t()(),i["ɵand"](0,[[3,2],["treeNodeTemplate",2]],null,0,null,Jc)),(t()(),i["ɵand"](16777216,null,null,1,null,Xc)),i["ɵdid"](20,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,10,0,n.loadingIndicator),t(e,13,0,n.nodes,n.treeOptions),t(e,20,0,n.metadata)}),null)}function tl(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-crushmap",[],null,null,null,Qc,Kc)),i["ɵdid"](1,114688,null,0,Wc,[ua],null,null)],(function(t,e){t(e,1,0)}),null)}var el=i["ɵccf"]("cd-crushmap",Wc,tl,{},{},[]),nl=n("AfCQ");let al=(()=>{class t{writeValue(e){return{type:t.WRITE_VALUE,payload:e}}changeHours(e){return{type:t.CHANGE_HOURS,payload:e}}changeMinutes(e){return{type:t.CHANGE_MINUTES,payload:e}}changeSeconds(e){return{type:t.CHANGE_SECONDS,payload:e}}setTime(e){return{type:t.SET_TIME_UNIT,payload:e}}updateControls(e){return{type:t.UPDATE_CONTROLS,payload:e}}}return t.WRITE_VALUE="[timepicker] write value from ng model",t.CHANGE_HOURS="[timepicker] change hours",t.CHANGE_MINUTES="[timepicker] change minutes",t.CHANGE_SECONDS="[timepicker] change seconds",t.SET_TIME_UNIT="[timepicker] set time unit",t.UPDATE_CONTROLS="[timepicker] update controls",t})();function rl(t){return!!t&&!(t instanceof Date&&isNaN(t.getHours()))&&("string"!=typeof t||rl(new Date(t)))}function ol(t,e){return!(t.min&&e<t.min||t.max&&e>t.max)}function il(t){return"number"==typeof t?t:parseInt(t,10)}function sl(t,e=!1){const n=il(t);return isNaN(n)||n<0||n>(e?12:24)?NaN:n}function cl(t){const e=il(t);return isNaN(e)||e<0||e>60?NaN:e}function ll(t){const e=il(t);return isNaN(e)||e<0||e>60?NaN:e}function dl(t){return"string"==typeof t?new Date(t):t}function ul(t,e){if(!t)return ul(fl(new Date,0,0,0),e);let n=t.getHours(),a=t.getMinutes(),r=t.getSeconds();return e.hour&&(n=(n+il(e.hour))%24,n<0&&(n+=24)),e.minute&&(a+=il(e.minute)),e.seconds&&(r+=il(e.seconds)),fl(t,n,a,r)}function gl(t,e){let n=sl(e.hour);const a=cl(e.minute),r=ll(e.seconds)||0;return e.isPM&&12!==n&&(n+=12),t?isNaN(n)||isNaN(a)?t:fl(t,n,a,r):isNaN(n)||isNaN(a)?t:fl(new Date,n,a,r)}function fl(t,e,n,a){return new Date(t.getFullYear(),t.getMonth(),t.getDate(),e,n,a,t.getMilliseconds())}function pl(t){const e=t.toString();return e.length>1?e:`0${e}`}function ml(t,e){return!isNaN(sl(t,e))}function hl(t){return!isNaN(cl(t))}function bl(t){return!isNaN(ll(t))}function _l(t,e="0",n="0",a){return ml(t,a)&&hl(e)&&bl(n)}function yl(t,e){if(t.readonlyInput||t.disabled)return!1;if(e){if("wheel"===e.source&&!t.mousewheel)return!1;if("key"===e.source&&!t.arrowkeys)return!1}return!0}function Ol(t){const{hourStep:e,minuteStep:n,secondsStep:a,readonlyInput:r,disabled:o,mousewheel:i,arrowkeys:s,showSpinners:c,showMeridian:l,showSeconds:d,meridians:u,min:g,max:f}=t;return{hourStep:e,minuteStep:n,secondsStep:a,readonlyInput:r,disabled:o,mousewheel:i,arrowkeys:s,showSpinners:c,showMeridian:l,showSeconds:d,meridians:u,min:g,max:f}}class vl{constructor(){this.hourStep=1,this.minuteStep=5,this.secondsStep=10,this.showMeridian=!0,this.meridians=["AM","PM"],this.readonlyInput=!1,this.disabled=!1,this.mousewheel=!0,this.arrowkeys=!0,this.showSpinners=!0,this.showSeconds=!1,this.showMinutes=!0}}const Cl={value:null,config:new vl,controls:{canIncrementHours:!0,canIncrementMinutes:!0,canIncrementSeconds:!0,canDecrementHours:!0,canDecrementMinutes:!0,canDecrementSeconds:!0,canToggleMeridian:!0}};function Pl(t=Cl,e){switch(e.type){case al.WRITE_VALUE:return Object.assign({},t,{value:e.payload});case al.CHANGE_HOURS:{if(!yl(t.config,e.payload)||(a=t.controls,!(n=e.payload).step||n.step>0&&!a.canIncrementHours||n.step<0&&!a.canDecrementHours))return t;const r=ul(t.value,{hour:e.payload.step});return!t.config.max&&!t.config.min||ol(t.config,r)?Object.assign({},t,{value:r}):t}case al.CHANGE_MINUTES:{if(!yl(t.config,e.payload)||!function(t,e){return!(!t.step||t.step>0&&!e.canIncrementMinutes||t.step<0&&!e.canDecrementMinutes)}(e.payload,t.controls))return t;const n=ul(t.value,{minute:e.payload.step});return!t.config.max&&!t.config.min||ol(t.config,n)?Object.assign({},t,{value:n}):t}case al.CHANGE_SECONDS:{if(!yl(t.config,e.payload)||!function(t,e){return!(!t.step||t.step>0&&!e.canIncrementSeconds||t.step<0&&!e.canDecrementSeconds)}(e.payload,t.controls))return t;const n=ul(t.value,{seconds:e.payload.step});return!t.config.max&&!t.config.min||ol(t.config,n)?Object.assign({},t,{value:n}):t}case al.SET_TIME_UNIT:{if(!yl(t.config))return t;const n=gl(t.value,e.payload);return Object.assign({},t,{value:n})}case al.UPDATE_CONTROLS:{const n=function(t,e){const{min:n,max:a,hourStep:r,minuteStep:o,secondsStep:i,showSeconds:s}=e,c={canIncrementHours:!0,canIncrementMinutes:!0,canIncrementSeconds:!0,canDecrementHours:!0,canDecrementMinutes:!0,canDecrementSeconds:!0,canToggleMeridian:!0};if(!t)return c;if(a){const e=ul(t,{hour:r});if(c.canIncrementHours=a>e,!c.canIncrementHours){const e=ul(t,{minute:o});c.canIncrementMinutes=s?a>e:a>=e}if(!c.canIncrementMinutes){const e=ul(t,{seconds:i});c.canIncrementSeconds=a>=e}t.getHours()<12&&(c.canToggleMeridian=ul(t,{hour:12})<a)}if(n){const e=ul(t,{hour:-r});if(c.canDecrementHours=n<e,!c.canDecrementHours){const e=ul(t,{minute:-o});c.canDecrementMinutes=s?n<e:n<=e}if(!c.canDecrementMinutes){const e=ul(t,{seconds:-i});c.canDecrementSeconds=n<=e}t.getHours()>=12&&(c.canToggleMeridian=ul(t,{hour:-12})>n)}return c}(t.value,e.payload),a={value:t.value,config:e.payload,controls:n};return t.config.showMeridian!==a.config.showMeridian&&t.value&&(a.value=new Date(t.value)),Object.assign({},t,a)}default:return t}var n,a}class Ml extends nl.b{constructor(){const t=new ga.a({type:"[mini-ngrx] dispatcher init"});super(t,Pl,new nl.a(Cl,t,Pl))}}class xl{constructor(t,e,n,a){this._cd=e,this._store=n,this._timepickerActions=a,this.isValid=new i.EventEmitter,this.invalidHours=!1,this.invalidMinutes=!1,this.invalidSeconds=!1,this.onChange=Function.prototype,this.onTouched=Function.prototype,Object.assign(this,t),this.timepickerSub=n.select(t=>t.value).subscribe(t=>{this._renderTime(t),this.onChange(t),this._store.dispatch(this._timepickerActions.updateControls(Ol(this)))}),n.select(t=>t.controls).subscribe(t=>{this.isValid.emit(_l(this.hours,this.minutes,this.seconds,this.isPM())),Object.assign(this,t),e.markForCheck()})}get isSpinnersVisible(){return this.showSpinners&&!this.readonlyInput}get isEditable(){return!(this.readonlyInput||this.disabled)}resetValidation(){this.invalidHours=!1,this.invalidMinutes=!1,this.invalidSeconds=!1}isPM(){return this.showMeridian&&this.meridian===this.meridians[1]}prevDef(t){t.preventDefault()}wheelSign(t){return-1*Math.sign(t.deltaY)}ngOnChanges(t){this._store.dispatch(this._timepickerActions.updateControls(Ol(this)))}changeHours(t,e=""){this.resetValidation(),this._store.dispatch(this._timepickerActions.changeHours({step:t,source:e}))}changeMinutes(t,e=""){this.resetValidation(),this._store.dispatch(this._timepickerActions.changeMinutes({step:t,source:e}))}changeSeconds(t,e=""){this.resetValidation(),this._store.dispatch(this._timepickerActions.changeSeconds({step:t,source:e}))}updateHours(t){if(this.resetValidation(),this.hours=t,!ml(this.hours,this.isPM())||!this.isValidLimit())return this.invalidHours=!0,this.isValid.emit(!1),void this.onChange(null);this._updateTime()}updateMinutes(t){if(this.resetValidation(),this.minutes=t,!hl(this.minutes)||!this.isValidLimit())return this.invalidMinutes=!0,this.isValid.emit(!1),void this.onChange(null);this._updateTime()}updateSeconds(t){if(this.resetValidation(),this.seconds=t,!bl(this.seconds)||!this.isValidLimit())return this.invalidSeconds=!0,this.isValid.emit(!1),void this.onChange(null);this._updateTime()}isValidLimit(){return function(t,e,n){const a=gl(new Date,t);return!(e&&a>e||n&&a<n)}({hour:this.hours,minute:this.minutes,seconds:this.seconds,isPM:this.isPM()},this.max,this.min)}_updateTime(){if(!_l(this.hours,this.showMinutes?this.minutes:void 0,this.showSeconds?this.seconds:void 0,this.isPM()))return this.isValid.emit(!1),void this.onChange(null);this._store.dispatch(this._timepickerActions.setTime({hour:this.hours,minute:this.minutes,seconds:this.seconds,isPM:this.isPM()}))}toggleMeridian(){this.showMeridian&&this.isEditable&&this._store.dispatch(this._timepickerActions.changeHours({step:12,source:""}))}writeValue(t){rl(t)?this._store.dispatch(this._timepickerActions.writeValue(dl(t))):null==t&&this._store.dispatch(this._timepickerActions.writeValue(null))}registerOnChange(t){this.onChange=t}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this.disabled=t,this._cd.markForCheck()}ngOnDestroy(){this.timepickerSub.unsubscribe()}_renderTime(t){if(!rl(t))return this.hours="",this.minutes="",this.seconds="",void(this.meridian=this.meridians[0]);const e=dl(t);let n=e.getHours();this.showMeridian&&(this.meridian=this.meridians[n>=12?1:0],n%=12,0===n&&(n=12)),this.hours=pl(n),this.minutes=pl(e.getMinutes()),this.seconds=pl(e.getUTCSeconds())}}class wl{static forRoot(){return{ngModule:wl,providers:[vl,al,Ml]}}}var Tl=i["ɵcrt"]({encapsulation:2,styles:["\n    .bs-chevron {\n      border-style: solid;\n      display: block;\n      width: 9px;\n      height: 9px;\n      position: relative;\n      border-width: 3px 0px 0 3px;\n    }\n\n    .bs-chevron-up {\n      -webkit-transform: rotate(45deg);\n      transform: rotate(45deg);\n      top: 2px;\n    }\n\n    .bs-chevron-down {\n      -webkit-transform: rotate(-135deg);\n      transform: rotate(-135deg);\n      top: -2px;\n    }\n\n    .bs-timepicker-field {\n      width: 50px;\n    }\n  "],data:{}});function kl(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["   "]))],null,null)}function Sl(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"td",[],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,1,"a",[["class","btn btn-link"]],[[2,"disabled",null]],[[null,"click"]],(function(t,e,n){var a=!0,r=t.component;return"click"===e&&(a=!1!==r.changeMinutes(r.minuteStep)&&a),a}),null,null)),(t()(),i["ɵeld"](2,0,null,null,0,"span",[["class","bs-chevron bs-chevron-up"]],null,null,null,null,null))],null,(function(t,e){var n=e.component;t(e,1,0,!n.canIncrementMinutes||!n.isEditable)}))}function Il(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,[" "]))],null,null)}function Nl(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"td",[],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,1,"a",[["class","btn btn-link"]],[[2,"disabled",null]],[[null,"click"]],(function(t,e,n){var a=!0,r=t.component;return"click"===e&&(a=!1!==r.changeSeconds(r.secondsStep)&&a),a}),null,null)),(t()(),i["ɵeld"](2,0,null,null,0,"span",[["class","bs-chevron bs-chevron-up"]],null,null,null,null,null))],null,(function(t,e){var n=e.component;t(e,1,0,!n.canIncrementSeconds||!n.isEditable)}))}function Rl(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["   "]))],null,null)}function Al(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,0,"td",[],null,null,null,null,null))],null,null)}function El(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,[" : "]))],null,null)}function Dl(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"td",[["class","form-group"]],[[2,"has-error",null]],null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,0,"input",[["class","form-control text-center bs-timepicker-field"],["maxlength","2"],["placeholder","MM"],["type","text"]],[[2,"is-invalid",null],[8,"readOnly",0],[8,"disabled",0],[8,"value",0]],[[null,"wheel"],[null,"keydown.ArrowUp"],[null,"keydown.ArrowDown"],[null,"change"]],(function(t,e,n){var a=!0,r=t.component;return"wheel"===e&&(r.prevDef(n),a=!1!==r.changeMinutes(r.minuteStep*r.wheelSign(n),"wheel")&&a),"keydown.ArrowUp"===e&&(a=!1!==r.changeMinutes(r.minuteStep,"key")&&a),"keydown.ArrowDown"===e&&(a=!1!==r.changeMinutes(0-r.minuteStep,"key")&&a),"change"===e&&(a=!1!==r.updateMinutes(n.target.value)&&a),a}),null,null))],null,(function(t,e){var n=e.component;t(e,0,0,n.invalidMinutes),t(e,1,0,n.invalidMinutes,n.readonlyInput,n.disabled,n.minutes)}))}function Ll(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,[" : "]))],null,null)}function ql(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"td",[["class","form-group"]],[[2,"has-error",null]],null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,0,"input",[["class","form-control text-center bs-timepicker-field"],["maxlength","2"],["placeholder","SS"],["type","text"]],[[2,"is-invalid",null],[8,"readOnly",0],[8,"disabled",0],[8,"value",0]],[[null,"wheel"],[null,"keydown.ArrowUp"],[null,"keydown.ArrowDown"],[null,"change"]],(function(t,e,n){var a=!0,r=t.component;return"wheel"===e&&(r.prevDef(n),a=!1!==r.changeSeconds(r.secondsStep*r.wheelSign(n),"wheel")&&a),"keydown.ArrowUp"===e&&(a=!1!==r.changeSeconds(r.secondsStep,"key")&&a),"keydown.ArrowDown"===e&&(a=!1!==r.changeSeconds(0-r.secondsStep,"key")&&a),"change"===e&&(a=!1!==r.updateSeconds(n.target.value)&&a),a}),null,null))],null,(function(t,e){var n=e.component;t(e,0,0,n.invalidSeconds),t(e,1,0,n.invalidSeconds,n.readonlyInput,n.disabled,n.seconds)}))}function jl(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["   "]))],null,null)}function Fl(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"td",[],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,1,"button",[["class","btn btn-default text-center"],["type","button"]],[[8,"disabled",0],[2,"disabled",null]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.toggleMeridian()&&a),a}),null,null)),(t()(),i["ɵted"](2,null,[""," "]))],null,(function(t,e){var n=e.component;t(e,1,0,!n.isEditable||!n.canToggleMeridian,!n.isEditable||!n.canToggleMeridian),t(e,2,0,n.meridian)}))}function zl(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["   "]))],null,null)}function Vl(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"td",[],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,1,"a",[["class","btn btn-link"]],[[2,"disabled",null]],[[null,"click"]],(function(t,e,n){var a=!0,r=t.component;return"click"===e&&(a=!1!==r.changeMinutes(0-r.minuteStep)&&a),a}),null,null)),(t()(),i["ɵeld"](2,0,null,null,0,"span",[["class","bs-chevron bs-chevron-down"]],null,null,null,null,null))],null,(function(t,e){var n=e.component;t(e,1,0,!n.canDecrementMinutes||!n.isEditable)}))}function Gl(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,[" "]))],null,null)}function Yl(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"td",[],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,1,"a",[["class","btn btn-link"]],[[2,"disabled",null]],[[null,"click"]],(function(t,e,n){var a=!0,r=t.component;return"click"===e&&(a=!1!==r.changeSeconds(0-r.secondsStep)&&a),a}),null,null)),(t()(),i["ɵeld"](2,0,null,null,0,"span",[["class","bs-chevron bs-chevron-down"]],null,null,null,null,null))],null,(function(t,e){var n=e.component;t(e,1,0,!n.canDecrementSeconds||!n.isEditable)}))}function Bl(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["   "]))],null,null)}function Hl(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,0,"td",[],null,null,null,null,null))],null,null)}function Ul(t){return i["ɵvid"](2,[(t()(),i["ɵeld"](0,0,null,null,48,"table",[],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,47,"tbody",[],null,null,null,null,null)),(t()(),i["ɵeld"](2,0,null,null,15,"tr",[["class","text-center"]],[[8,"hidden",0]],null,null,null,null)),(t()(),i["ɵeld"](3,0,null,null,2,"td",[],null,null,null,null,null)),(t()(),i["ɵeld"](4,0,null,null,1,"a",[["class","btn btn-link"]],[[2,"disabled",null]],[[null,"click"]],(function(t,e,n){var a=!0,r=t.component;return"click"===e&&(a=!1!==r.changeHours(r.hourStep)&&a),a}),null,null)),(t()(),i["ɵeld"](5,0,null,null,0,"span",[["class","bs-chevron bs-chevron-up"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,kl)),i["ɵdid"](7,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Sl)),i["ɵdid"](9,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Il)),i["ɵdid"](11,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Nl)),i["ɵdid"](13,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Rl)),i["ɵdid"](15,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Al)),i["ɵdid"](17,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](18,0,null,null,14,"tr",[],null,null,null,null,null)),(t()(),i["ɵeld"](19,0,null,null,1,"td",[["class","form-group"]],[[2,"has-error",null]],null,null,null,null)),(t()(),i["ɵeld"](20,0,null,null,0,"input",[["class","form-control text-center bs-timepicker-field"],["maxlength","2"],["placeholder","HH"],["type","text"]],[[2,"is-invalid",null],[8,"readOnly",0],[8,"disabled",0],[8,"value",0]],[[null,"wheel"],[null,"keydown.ArrowUp"],[null,"keydown.ArrowDown"],[null,"change"]],(function(t,e,n){var a=!0,r=t.component;return"wheel"===e&&(r.prevDef(n),a=!1!==r.changeHours(r.hourStep*r.wheelSign(n),"wheel")&&a),"keydown.ArrowUp"===e&&(a=!1!==r.changeHours(r.hourStep,"key")&&a),"keydown.ArrowDown"===e&&(a=!1!==r.changeHours(0-r.hourStep,"key")&&a),"change"===e&&(a=!1!==r.updateHours(n.target.value)&&a),a}),null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,El)),i["ɵdid"](22,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Dl)),i["ɵdid"](24,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Ll)),i["ɵdid"](26,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,ql)),i["ɵdid"](28,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,jl)),i["ɵdid"](30,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Fl)),i["ɵdid"](32,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](33,0,null,null,15,"tr",[["class","text-center"]],[[8,"hidden",0]],null,null,null,null)),(t()(),i["ɵeld"](34,0,null,null,2,"td",[],null,null,null,null,null)),(t()(),i["ɵeld"](35,0,null,null,1,"a",[["class","btn btn-link"]],[[2,"disabled",null]],[[null,"click"]],(function(t,e,n){var a=!0,r=t.component;return"click"===e&&(a=!1!==r.changeHours(0-r.hourStep)&&a),a}),null,null)),(t()(),i["ɵeld"](36,0,null,null,0,"span",[["class","bs-chevron bs-chevron-down"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,zl)),i["ɵdid"](38,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Vl)),i["ɵdid"](40,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Gl)),i["ɵdid"](42,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Yl)),i["ɵdid"](44,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Bl)),i["ɵdid"](46,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Hl)),i["ɵdid"](48,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,7,0,n.showMinutes),t(e,9,0,n.showMinutes),t(e,11,0,n.showSeconds),t(e,13,0,n.showSeconds),t(e,15,0,n.showMeridian),t(e,17,0,n.showMeridian),t(e,22,0,n.showMinutes),t(e,24,0,n.showMinutes),t(e,26,0,n.showSeconds),t(e,28,0,n.showSeconds),t(e,30,0,n.showMeridian),t(e,32,0,n.showMeridian),t(e,38,0,n.showMinutes),t(e,40,0,n.showMinutes),t(e,42,0,n.showSeconds),t(e,44,0,n.showSeconds),t(e,46,0,n.showMeridian),t(e,48,0,n.showMeridian)}),(function(t,e){var n=e.component;t(e,2,0,!n.showSpinners),t(e,4,0,!n.canIncrementHours||!n.isEditable),t(e,19,0,n.invalidHours),t(e,20,0,n.invalidHours,n.readonlyInput,n.disabled,n.hours),t(e,33,0,!n.showSpinners),t(e,35,0,!n.canDecrementHours||!n.isEditable)}))}var Wl=n("E2fk");let Kl=(()=>{class t{constructor(t){this.http=t}getLogs(){return this.http.get("api/logs/all")}validateDashboardUrl(t){return this.http.get(`api/grafana/validation/${t}`)}}return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t(i["ɵɵinject"](J.c))},token:t,providedIn:me.a}),t})();class $l{constructor(t,e,n){this.logsService=t,this.datePipe=e,this.ngZone=n,this.icons=dt.a,this.bsConfig={dateInputFormat:"YYYY-MM-DD",containerClass:"theme-default"},this.prioritys=[{name:"Info",value:"[INF]"},{name:"Warning",value:"[WRN]"},{name:"Error",value:"[ERR]"},{name:"All",value:"All"}],this.priority="All",this.search="",this.startTime=new Date,this.endTime=new Date,this.startTime.setHours(0,0),this.endTime.setHours(23,59)}ngOnInit(){this.getInfo(),this.ngZone.runOutsideAngular(()=>{this.interval=window.setInterval(()=>{this.ngZone.run(()=>{this.getInfo()})},5e3)})}ngOnDestroy(){clearInterval(this.interval)}getInfo(){this.logsService.getLogs().subscribe(t=>{this.contentData=t,this.filterLogs()})}abstractfilters(){const t=this.priority,e=this.search.toLowerCase().replace(/,/g,"");let n;if(this.selectedDate){const t=this.selectedDate.getMonth()+1,e=this.selectedDate.getDate();n=`${this.selectedDate.getFullYear().toString()}-${t<=9?`0${t}`:`${t}`}-${e<=9?`0${e}`:`${e}`}`}else n="";return{priority:t,key:e,yearMonthDay:n,sTime:60*(this.startTime?this.startTime.getHours():0)+(this.startTime?this.startTime.getMinutes():0),eTime:60*(this.endTime?this.endTime.getHours():23)+(this.endTime?this.endTime.getMinutes():59)}}filterExecutor(t,e){return t.filter(t=>{const n=this.datePipe.transform(t.stamp,"mediumTime"),a=parseInt(n.split(":")[0],10),r=parseInt(n.split(":")[1],10);let o,i,s;return o="All"===e.priority?t.priority:e.priority,i=e.yearMonthDay?e.yearMonthDay:t.stamp,s=60*a+r,t.priority===o&&-1!==t.message.toLowerCase().indexOf(e.key)&&-1!==t.stamp.indexOf(i)&&s>=e.sTime&&s<=e.eTime})}filterLogs(){const t=this.abstractfilters();this.clog=this.filterExecutor(this.contentData.clog,t),this.audit_log=this.filterExecutor(this.contentData.audit_log,t)}clearSearchKey(){this.search="",this.filterLogs()}clearDate(){this.selectedDate=null,this.filterLogs()}}var Zl=i["ɵcrt"]({encapsulation:0,styles:[['@charset "UTF-8";.tree-children.tree-children-no-padding[_ngcontent-%COMP%]{padding-left:0}.node-drop-slot[_ngcontent-%COMP%]{display:block;height:2px}.node-drop-slot.is-dragging-over[_ngcontent-%COMP%]{background:#dfe;height:20px;border:2px dotted #888}.toggle-children-wrapper-expanded[_ngcontent-%COMP%]   .toggle-children[_ngcontent-%COMP%]{transform:rotate(90deg)}.toggle-children-wrapper-collapsed[_ngcontent-%COMP%]   .toggle-children[_ngcontent-%COMP%]{transform:rotate(0)}.toggle-children-wrapper[_ngcontent-%COMP%]{padding:2px 3px 5px 1px}.toggle-children[_ngcontent-%COMP%]{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAASCAYAAABSO15qAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABAhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ1dWlkOjY1RTYzOTA2ODZDRjExREJBNkUyRDg4N0NFQUNCNDA3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkYzRkRFQjcxODUzNTExRTU4RTQwRkQwODFEOUZEMEE3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkYzRkRFQjcwODUzNTExRTU4RTQwRkQwODFEOUZEMEE3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE1IChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTk5NzA1OGEtZDI3OC00NDZkLWE4ODgtNGM4MGQ4YWI1NzNmIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6YzRkZmQxMGMtY2NlNS0xMTc4LWE5OGQtY2NkZmM5ODk5YWYwIi8+IDxkYzp0aXRsZT4gPHJkZjpBbHQ+IDxyZGY6bGkgeG1sOmxhbmc9IngtZGVmYXVsdCI+Z2x5cGhpY29uczwvcmRmOmxpPiA8L3JkZjpBbHQ+IDwvZGM6dGl0bGU+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+5iogFwAAAGhJREFUeNpiYGBgKABigf///zOQg0EARH4A4gZyDIIZ8B/JoAJKDIDhB0CcQIkBRBtEyABkgxwoMQCGD6AbRKoBGAYxQgXIBRuZGKgAKPIC3QLxArnRSHZCIjspk52ZKMrOFBUoAAEGAKnq593MQAZtAAAAAElFTkSuQmCC);height:8px;width:9px;background-size:contain;display:inline-block;position:relative;top:1px;background-repeat:no-repeat;background-position:center}.toggle-children-placeholder[_ngcontent-%COMP%]{display:inline-block;height:10px;width:10px;position:relative;top:1px;padding-right:3px}.node-content-wrapper[_ngcontent-%COMP%]{display:inline-block;padding:2px 5px;border-radius:2px;transition:background-color .15s,box-shadow .15s}.node-wrapper[_ngcontent-%COMP%]{display:flex;align-items:flex-start}.node-content-wrapper-active[_ngcontent-%COMP%], .node-content-wrapper-active.node-content-wrapper-focused[_ngcontent-%COMP%], .node-content-wrapper.node-content-wrapper-active[_ngcontent-%COMP%]:hover{background:#beebff}.node-content-wrapper-focused[_ngcontent-%COMP%]{background:#e7f4f9}.node-content-wrapper[_ngcontent-%COMP%]:hover{background:#f7fbff}.node-content-wrapper-active[_ngcontent-%COMP%], .node-content-wrapper-focused[_ngcontent-%COMP%], .node-content-wrapper[_ngcontent-%COMP%]:hover{box-shadow:inset 0 0 1px #999}.node-content-wrapper.is-dragging-over[_ngcontent-%COMP%]{background:#dfe;box-shadow:inset 0 0 1px #999}.node-content-wrapper.is-dragging-over-disabled[_ngcontent-%COMP%]{opacity:.5}tree-viewport[_ngcontent-%COMP%]{-webkit-tap-highlight-color:transparent;height:100%;overflow:auto;display:block}.tree-children[_ngcontent-%COMP%]{overflow:hidden;padding-left:20px}.empty-tree-drop-slot[_ngcontent-%COMP%]   .node-drop-slot[_ngcontent-%COMP%]{height:20px;min-width:100px}.angular-tree-component[_ngcontent-%COMP%]{width:100%;position:relative;display:inline-block;cursor:pointer;-webkit-touch-callout:none;-moz-user-select:none;user-select:none}tree-root[_ngcontent-%COMP%]   .angular-tree-component-rtl[_ngcontent-%COMP%]{direction:rtl}tree-root[_ngcontent-%COMP%]   .angular-tree-component-rtl[_ngcontent-%COMP%]   .toggle-children-wrapper-collapsed[_ngcontent-%COMP%]   .toggle-children[_ngcontent-%COMP%]{transform:rotate(180deg)!important}tree-root[_ngcontent-%COMP%]   .angular-tree-component-rtl[_ngcontent-%COMP%]   .tree-children[_ngcontent-%COMP%]{padding-right:20px;padding-left:0}tree-node-checkbox[_ngcontent-%COMP%]{padding:1px}[_ngcontent-%COMP%]:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#2b99a8;--secondary:#ef5c55;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#777777;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:"Helvetica Neue",Helvetica,Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*[_ngcontent-%COMP%], [_ngcontent-%COMP%]::after, [_ngcontent-%COMP%]::before{box-sizing:border-box}html[_ngcontent-%COMP%]{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article[_ngcontent-%COMP%], aside[_ngcontent-%COMP%], figcaption[_ngcontent-%COMP%], figure[_ngcontent-%COMP%], footer[_ngcontent-%COMP%], header[_ngcontent-%COMP%], hgroup[_ngcontent-%COMP%], main[_ngcontent-%COMP%], nav[_ngcontent-%COMP%], section[_ngcontent-%COMP%]{display:block}body[_ngcontent-%COMP%]{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"][_ngcontent-%COMP%]:focus{outline:0!important}h1[_ngcontent-%COMP%], h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%], h4[_ngcontent-%COMP%], h5[_ngcontent-%COMP%], h6[_ngcontent-%COMP%]{margin-top:0}dl[_ngcontent-%COMP%], ol[_ngcontent-%COMP%], p[_ngcontent-%COMP%], ul[_ngcontent-%COMP%]{margin-top:0;margin-bottom:1rem}abbr[data-original-title][_ngcontent-%COMP%], abbr[title][_ngcontent-%COMP%]{text-decoration:underline;text-decoration:underline dotted;cursor:help;border-bottom:0;text-decoration-skip-ink:none}address[_ngcontent-%COMP%]{margin-bottom:1rem;font-style:normal;line-height:inherit}ol[_ngcontent-%COMP%]   ol[_ngcontent-%COMP%], ol[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%], ul[_ngcontent-%COMP%]   ol[_ngcontent-%COMP%], ul[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]{margin-bottom:0}dt[_ngcontent-%COMP%]{font-weight:700}dd[_ngcontent-%COMP%]{margin-bottom:.5rem;margin-left:0}blockquote[_ngcontent-%COMP%], figure[_ngcontent-%COMP%]{margin:0 0 1rem}b[_ngcontent-%COMP%], strong[_ngcontent-%COMP%]{font-weight:bolder}sub[_ngcontent-%COMP%], sup[_ngcontent-%COMP%]{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub[_ngcontent-%COMP%]{bottom:-.25em}sup[_ngcontent-%COMP%]{top:-.5em}a[_ngcontent-%COMP%]{color:#2b99a8;text-decoration:none;background-color:transparent}a[_ngcontent-%COMP%]:hover{color:#1b626b;text-decoration:underline}a[_ngcontent-%COMP%]:not([href]):not([tabindex]), a[_ngcontent-%COMP%]:not([href]):not([tabindex]):focus, a[_ngcontent-%COMP%]:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a[_ngcontent-%COMP%]:not([href]):not([tabindex]):focus{outline:0}code[_ngcontent-%COMP%], kbd[_ngcontent-%COMP%], pre[_ngcontent-%COMP%], samp[_ngcontent-%COMP%]{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre[_ngcontent-%COMP%]{margin-top:0;margin-bottom:1rem;overflow:auto}img[_ngcontent-%COMP%]{vertical-align:middle;border-style:none}svg[_ngcontent-%COMP%]{overflow:hidden;vertical-align:middle}table[_ngcontent-%COMP%]{border-collapse:collapse}caption[_ngcontent-%COMP%]{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th[_ngcontent-%COMP%]{text-align:inherit}label[_ngcontent-%COMP%]{display:inline-block;margin-bottom:.5rem}button[_ngcontent-%COMP%]{border-radius:0}button[_ngcontent-%COMP%]:focus{outline:dotted 1px;outline:-webkit-focus-ring-color auto 5px}button[_ngcontent-%COMP%], input[_ngcontent-%COMP%], optgroup[_ngcontent-%COMP%], select[_ngcontent-%COMP%], textarea[_ngcontent-%COMP%]{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button[_ngcontent-%COMP%], input[_ngcontent-%COMP%]{overflow:visible}button[_ngcontent-%COMP%], select[_ngcontent-%COMP%]{text-transform:none}select[_ngcontent-%COMP%]{word-wrap:normal}[type=button][_ngcontent-%COMP%], [type=reset][_ngcontent-%COMP%], [type=submit][_ngcontent-%COMP%], button[_ngcontent-%COMP%]{-webkit-appearance:button}[type=button][_ngcontent-%COMP%]:not(:disabled), [type=reset][_ngcontent-%COMP%]:not(:disabled), [type=submit][_ngcontent-%COMP%]:not(:disabled), button[_ngcontent-%COMP%]:not(:disabled){cursor:pointer}[type=button][_ngcontent-%COMP%]::-moz-focus-inner, [type=reset][_ngcontent-%COMP%]::-moz-focus-inner, [type=submit][_ngcontent-%COMP%]::-moz-focus-inner, button[_ngcontent-%COMP%]::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox][_ngcontent-%COMP%], input[type=radio][_ngcontent-%COMP%]{box-sizing:border-box;padding:0}input[type=date][_ngcontent-%COMP%], input[type=datetime-local][_ngcontent-%COMP%], input[type=month][_ngcontent-%COMP%], input[type=time][_ngcontent-%COMP%]{-webkit-appearance:listbox}textarea[_ngcontent-%COMP%]{overflow:auto;resize:vertical}fieldset[_ngcontent-%COMP%]{min-width:0;padding:0;margin:0;border:0}legend[_ngcontent-%COMP%]{display:block;width:100%;max-width:100%;padding:0;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress[_ngcontent-%COMP%]{vertical-align:baseline}[type=number][_ngcontent-%COMP%]::-webkit-inner-spin-button, [type=number][_ngcontent-%COMP%]::-webkit-outer-spin-button{height:auto}[type=search][_ngcontent-%COMP%]{outline-offset:-2px;-webkit-appearance:none}[type=search][_ngcontent-%COMP%]::-webkit-search-decoration{-webkit-appearance:none}[_ngcontent-%COMP%]::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output[_ngcontent-%COMP%]{display:inline-block}summary[_ngcontent-%COMP%]{display:list-item;cursor:pointer}template[_ngcontent-%COMP%]{display:none}[hidden][_ngcontent-%COMP%]{display:none!important}.h1[_ngcontent-%COMP%], .h2[_ngcontent-%COMP%], .h3[_ngcontent-%COMP%], .h4[_ngcontent-%COMP%], .h5[_ngcontent-%COMP%], .h6[_ngcontent-%COMP%], h1[_ngcontent-%COMP%], h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%], h4[_ngcontent-%COMP%], h5[_ngcontent-%COMP%], h6[_ngcontent-%COMP%]{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1[_ngcontent-%COMP%], h1[_ngcontent-%COMP%]{font-size:2.5rem}.h2[_ngcontent-%COMP%], h2[_ngcontent-%COMP%]{font-size:2rem}.h3[_ngcontent-%COMP%], h3[_ngcontent-%COMP%]{font-size:1.75rem}.h4[_ngcontent-%COMP%], h4[_ngcontent-%COMP%]{font-size:1.5rem}.h5[_ngcontent-%COMP%], h5[_ngcontent-%COMP%]{font-size:1.25rem}.h6[_ngcontent-%COMP%], h6[_ngcontent-%COMP%]{font-size:1rem}.lead[_ngcontent-%COMP%]{font-size:1.25rem;font-weight:300}.display-1[_ngcontent-%COMP%]{font-size:6rem;font-weight:300;line-height:1.2}.display-2[_ngcontent-%COMP%]{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3[_ngcontent-%COMP%]{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4[_ngcontent-%COMP%]{font-size:3.5rem;font-weight:300;line-height:1.2}hr[_ngcontent-%COMP%]{box-sizing:content-box;height:0;overflow:visible;margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small[_ngcontent-%COMP%], small[_ngcontent-%COMP%]{font-size:80%;font-weight:400}.mark[_ngcontent-%COMP%], mark[_ngcontent-%COMP%]{padding:.2em;background-color:#fcf8e3}.list-inline[_ngcontent-%COMP%], .list-unstyled[_ngcontent-%COMP%]{padding-left:0;list-style:none}.list-inline-item[_ngcontent-%COMP%]{display:inline-block}.list-inline-item[_ngcontent-%COMP%]:not(:last-child){margin-right:.5rem}.initialism[_ngcontent-%COMP%]{font-size:90%;text-transform:uppercase}.blockquote[_ngcontent-%COMP%]{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer[_ngcontent-%COMP%]{display:block;font-size:80%;color:#6c757d}.blockquote-footer[_ngcontent-%COMP%]::before{content:"— "}.img-fluid[_ngcontent-%COMP%]{max-width:100%;height:auto}.img-thumbnail[_ngcontent-%COMP%]{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure[_ngcontent-%COMP%]{display:inline-block}.figure-img[_ngcontent-%COMP%]{margin-bottom:.5rem;line-height:1}.figure-caption[_ngcontent-%COMP%]{font-size:90%;color:#6c757d}code[_ngcontent-%COMP%]{font-size:87.5%;color:#e83e8c;word-break:break-word}a[_ngcontent-%COMP%] > code[_ngcontent-%COMP%]{color:inherit}kbd[_ngcontent-%COMP%]{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd[_ngcontent-%COMP%]   kbd[_ngcontent-%COMP%]{padding:0;font-size:100%;font-weight:700}pre[_ngcontent-%COMP%]{display:block;font-size:87.5%;color:#212529}pre[_ngcontent-%COMP%]   code[_ngcontent-%COMP%]{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable[_ngcontent-%COMP%]{max-height:340px;overflow-y:scroll}.container[_ngcontent-%COMP%]{width:100%;margin-right:auto;margin-left:auto}@media (min-width:576px){.container[_ngcontent-%COMP%]{max-width:540px}}@media (min-width:768px){.container[_ngcontent-%COMP%]{max-width:720px}}@media (min-width:992px){.container[_ngcontent-%COMP%]{max-width:960px}}@media (min-width:1200px){.container[_ngcontent-%COMP%]{max-width:1140px}}.container-fluid[_ngcontent-%COMP%]{width:100%;margin-right:auto;margin-left:auto}.row[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap}.no-gutters[_ngcontent-%COMP%]{margin-right:0;margin-left:0}.no-gutters[_ngcontent-%COMP%] > .col[_ngcontent-%COMP%], .no-gutters[_ngcontent-%COMP%] > [class*=col-][_ngcontent-%COMP%]{padding-right:0;padding-left:0}.cd-col-form[_ngcontent-%COMP%], .cd-col-form-input[_ngcontent-%COMP%], .cd-col-form-label[_ngcontent-%COMP%], .cd-col-form-offset[_ngcontent-%COMP%], .col[_ngcontent-%COMP%], .col-1[_ngcontent-%COMP%], .col-10[_ngcontent-%COMP%], .col-11[_ngcontent-%COMP%], .col-12[_ngcontent-%COMP%], .col-2[_ngcontent-%COMP%], .col-3[_ngcontent-%COMP%], .col-4[_ngcontent-%COMP%], .col-5[_ngcontent-%COMP%], .col-6[_ngcontent-%COMP%], .col-7[_ngcontent-%COMP%], .col-8[_ngcontent-%COMP%], .col-9[_ngcontent-%COMP%], .col-auto[_ngcontent-%COMP%], .col-lg[_ngcontent-%COMP%], .col-lg-1[_ngcontent-%COMP%], .col-lg-10[_ngcontent-%COMP%], .col-lg-11[_ngcontent-%COMP%], .col-lg-12[_ngcontent-%COMP%], .col-lg-2[_ngcontent-%COMP%], .col-lg-3[_ngcontent-%COMP%], .col-lg-4[_ngcontent-%COMP%], .col-lg-5[_ngcontent-%COMP%], .col-lg-6[_ngcontent-%COMP%], .col-lg-7[_ngcontent-%COMP%], .col-lg-8[_ngcontent-%COMP%], .col-lg-9[_ngcontent-%COMP%], .col-lg-auto[_ngcontent-%COMP%], .col-md[_ngcontent-%COMP%], .col-md-1[_ngcontent-%COMP%], .col-md-10[_ngcontent-%COMP%], .col-md-11[_ngcontent-%COMP%], .col-md-12[_ngcontent-%COMP%], .col-md-2[_ngcontent-%COMP%], .col-md-3[_ngcontent-%COMP%], .col-md-4[_ngcontent-%COMP%], .col-md-5[_ngcontent-%COMP%], .col-md-6[_ngcontent-%COMP%], .col-md-7[_ngcontent-%COMP%], .col-md-8[_ngcontent-%COMP%], .col-md-9[_ngcontent-%COMP%], .col-md-auto[_ngcontent-%COMP%], .col-sm[_ngcontent-%COMP%], .col-sm-1[_ngcontent-%COMP%], .col-sm-10[_ngcontent-%COMP%], .col-sm-11[_ngcontent-%COMP%], .col-sm-12[_ngcontent-%COMP%], .col-sm-2[_ngcontent-%COMP%], .col-sm-3[_ngcontent-%COMP%], .col-sm-4[_ngcontent-%COMP%], .col-sm-5[_ngcontent-%COMP%], .col-sm-6[_ngcontent-%COMP%], .col-sm-7[_ngcontent-%COMP%], .col-sm-8[_ngcontent-%COMP%], .col-sm-9[_ngcontent-%COMP%], .col-sm-auto[_ngcontent-%COMP%], .col-xl[_ngcontent-%COMP%], .col-xl-1[_ngcontent-%COMP%], .col-xl-10[_ngcontent-%COMP%], .col-xl-11[_ngcontent-%COMP%], .col-xl-12[_ngcontent-%COMP%], .col-xl-2[_ngcontent-%COMP%], .col-xl-3[_ngcontent-%COMP%], .col-xl-4[_ngcontent-%COMP%], .col-xl-5[_ngcontent-%COMP%], .col-xl-6[_ngcontent-%COMP%], .col-xl-7[_ngcontent-%COMP%], .col-xl-8[_ngcontent-%COMP%], .col-xl-9[_ngcontent-%COMP%], .col-xl-auto[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-input[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-label[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-offset[_ngcontent-%COMP%]{position:relative;width:100%;padding-right:15px;padding-left:15px}.col[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;max-width:100%}.col-auto[_ngcontent-%COMP%]{flex:0 0 auto;width:auto;max-width:100%}.col-1[_ngcontent-%COMP%]{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-2[_ngcontent-%COMP%]{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-3[_ngcontent-%COMP%]{flex:0 0 25%;max-width:25%}.col-4[_ngcontent-%COMP%]{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-5[_ngcontent-%COMP%]{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-6[_ngcontent-%COMP%]{flex:0 0 50%;max-width:50%}.col-7[_ngcontent-%COMP%]{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-8[_ngcontent-%COMP%]{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-9[_ngcontent-%COMP%]{flex:0 0 75%;max-width:75%}.col-10[_ngcontent-%COMP%]{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-11[_ngcontent-%COMP%]{flex:0 0 91.6666666667%;max-width:91.6666666667%}.cd-col-form[_ngcontent-%COMP%], .col-12[_ngcontent-%COMP%]{flex:0 0 100%;max-width:100%}.order-first[_ngcontent-%COMP%]{order:-1}.order-last[_ngcontent-%COMP%]{order:13}.order-0[_ngcontent-%COMP%]{order:0}.order-1[_ngcontent-%COMP%]{order:1}.order-2[_ngcontent-%COMP%]{order:2}.order-3[_ngcontent-%COMP%]{order:3}.order-4[_ngcontent-%COMP%]{order:4}.order-5[_ngcontent-%COMP%]{order:5}.order-6[_ngcontent-%COMP%]{order:6}.order-7[_ngcontent-%COMP%]{order:7}.order-8[_ngcontent-%COMP%]{order:8}.order-9[_ngcontent-%COMP%]{order:9}.order-10[_ngcontent-%COMP%]{order:10}.order-11[_ngcontent-%COMP%]{order:11}.order-12[_ngcontent-%COMP%]{order:12}.offset-1[_ngcontent-%COMP%]{margin-left:8.3333333333%}.offset-2[_ngcontent-%COMP%]{margin-left:16.6666666667%}.offset-3[_ngcontent-%COMP%]{margin-left:25%}.offset-4[_ngcontent-%COMP%]{margin-left:33.3333333333%}.offset-5[_ngcontent-%COMP%]{margin-left:41.6666666667%}.offset-6[_ngcontent-%COMP%]{margin-left:50%}.offset-7[_ngcontent-%COMP%]{margin-left:58.3333333333%}.offset-8[_ngcontent-%COMP%]{margin-left:66.6666666667%}.offset-9[_ngcontent-%COMP%]{margin-left:75%}.offset-10[_ngcontent-%COMP%]{margin-left:83.3333333333%}.offset-11[_ngcontent-%COMP%]{margin-left:91.6666666667%}@media (min-width:576px){.col-sm[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;max-width:100%}.col-sm-auto[_ngcontent-%COMP%]{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1[_ngcontent-%COMP%]{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-sm-2[_ngcontent-%COMP%]{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-3[_ngcontent-%COMP%]{flex:0 0 25%;max-width:25%}.cd-col-form-label[_ngcontent-%COMP%], .col-sm-4[_ngcontent-%COMP%]{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-sm-5[_ngcontent-%COMP%]{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-sm-6[_ngcontent-%COMP%]{flex:0 0 50%;max-width:50%}.col-sm-7[_ngcontent-%COMP%]{flex:0 0 58.3333333333%;max-width:58.3333333333%}.cd-col-form-input[_ngcontent-%COMP%], .cd-col-form-offset[_ngcontent-%COMP%], .col-sm-8[_ngcontent-%COMP%]{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-sm-9[_ngcontent-%COMP%]{flex:0 0 75%;max-width:75%}.col-sm-10[_ngcontent-%COMP%]{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-sm-11[_ngcontent-%COMP%]{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-sm-12[_ngcontent-%COMP%]{flex:0 0 100%;max-width:100%}.order-sm-first[_ngcontent-%COMP%]{order:-1}.order-sm-last[_ngcontent-%COMP%]{order:13}.order-sm-0[_ngcontent-%COMP%]{order:0}.order-sm-1[_ngcontent-%COMP%]{order:1}.order-sm-2[_ngcontent-%COMP%]{order:2}.order-sm-3[_ngcontent-%COMP%]{order:3}.order-sm-4[_ngcontent-%COMP%]{order:4}.order-sm-5[_ngcontent-%COMP%]{order:5}.order-sm-6[_ngcontent-%COMP%]{order:6}.order-sm-7[_ngcontent-%COMP%]{order:7}.order-sm-8[_ngcontent-%COMP%]{order:8}.order-sm-9[_ngcontent-%COMP%]{order:9}.order-sm-10[_ngcontent-%COMP%]{order:10}.order-sm-11[_ngcontent-%COMP%]{order:11}.order-sm-12[_ngcontent-%COMP%]{order:12}.offset-sm-0[_ngcontent-%COMP%]{margin-left:0}.offset-sm-1[_ngcontent-%COMP%]{margin-left:8.3333333333%}.offset-sm-2[_ngcontent-%COMP%]{margin-left:16.6666666667%}.offset-sm-3[_ngcontent-%COMP%]{margin-left:25%}.cd-col-form-offset[_ngcontent-%COMP%], .offset-sm-4[_ngcontent-%COMP%]{margin-left:33.3333333333%}.offset-sm-5[_ngcontent-%COMP%]{margin-left:41.6666666667%}.offset-sm-6[_ngcontent-%COMP%]{margin-left:50%}.offset-sm-7[_ngcontent-%COMP%]{margin-left:58.3333333333%}.offset-sm-8[_ngcontent-%COMP%]{margin-left:66.6666666667%}.offset-sm-9[_ngcontent-%COMP%]{margin-left:75%}.offset-sm-10[_ngcontent-%COMP%]{margin-left:83.3333333333%}.offset-sm-11[_ngcontent-%COMP%]{margin-left:91.6666666667%}}@media (min-width:768px){.col-md[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;max-width:100%}.col-md-auto[_ngcontent-%COMP%]{flex:0 0 auto;width:auto;max-width:100%}.col-md-1[_ngcontent-%COMP%]{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-md-2[_ngcontent-%COMP%]{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-3[_ngcontent-%COMP%]{flex:0 0 25%;max-width:25%}.cd-col-form-label[_ngcontent-%COMP%], .col-md-4[_ngcontent-%COMP%]{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-md-5[_ngcontent-%COMP%]{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-md-6[_ngcontent-%COMP%]{flex:0 0 50%;max-width:50%}.col-md-7[_ngcontent-%COMP%]{flex:0 0 58.3333333333%;max-width:58.3333333333%}.cd-col-form-input[_ngcontent-%COMP%], .cd-col-form-offset[_ngcontent-%COMP%], .col-md-8[_ngcontent-%COMP%]{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-md-9[_ngcontent-%COMP%]{flex:0 0 75%;max-width:75%}.col-md-10[_ngcontent-%COMP%]{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-md-11[_ngcontent-%COMP%]{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-md-12[_ngcontent-%COMP%]{flex:0 0 100%;max-width:100%}.order-md-first[_ngcontent-%COMP%]{order:-1}.order-md-last[_ngcontent-%COMP%]{order:13}.order-md-0[_ngcontent-%COMP%]{order:0}.order-md-1[_ngcontent-%COMP%]{order:1}.order-md-2[_ngcontent-%COMP%]{order:2}.order-md-3[_ngcontent-%COMP%]{order:3}.order-md-4[_ngcontent-%COMP%]{order:4}.order-md-5[_ngcontent-%COMP%]{order:5}.order-md-6[_ngcontent-%COMP%]{order:6}.order-md-7[_ngcontent-%COMP%]{order:7}.order-md-8[_ngcontent-%COMP%]{order:8}.order-md-9[_ngcontent-%COMP%]{order:9}.order-md-10[_ngcontent-%COMP%]{order:10}.order-md-11[_ngcontent-%COMP%]{order:11}.order-md-12[_ngcontent-%COMP%]{order:12}.offset-md-0[_ngcontent-%COMP%]{margin-left:0}.offset-md-1[_ngcontent-%COMP%]{margin-left:8.3333333333%}.offset-md-2[_ngcontent-%COMP%]{margin-left:16.6666666667%}.offset-md-3[_ngcontent-%COMP%]{margin-left:25%}.offset-md-4[_ngcontent-%COMP%]{margin-left:33.3333333333%}.offset-md-5[_ngcontent-%COMP%]{margin-left:41.6666666667%}.offset-md-6[_ngcontent-%COMP%]{margin-left:50%}.offset-md-7[_ngcontent-%COMP%]{margin-left:58.3333333333%}.offset-md-8[_ngcontent-%COMP%]{margin-left:66.6666666667%}.offset-md-9[_ngcontent-%COMP%]{margin-left:75%}.offset-md-10[_ngcontent-%COMP%]{margin-left:83.3333333333%}.offset-md-11[_ngcontent-%COMP%]{margin-left:91.6666666667%}}@media (min-width:992px){.col-lg[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;max-width:100%}.col-lg-auto[_ngcontent-%COMP%]{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1[_ngcontent-%COMP%]{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-lg-2[_ngcontent-%COMP%]{flex:0 0 16.6666666667%;max-width:16.6666666667%}.cd-col-form-label[_ngcontent-%COMP%], .col-lg-3[_ngcontent-%COMP%]{flex:0 0 25%;max-width:25%}.col-lg-4[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-label[_ngcontent-%COMP%]{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-lg-5[_ngcontent-%COMP%]{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-lg-6[_ngcontent-%COMP%]{flex:0 0 50%;max-width:50%}.col-lg-7[_ngcontent-%COMP%]{flex:0 0 58.3333333333%;max-width:58.3333333333%}.cd-col-form[_ngcontent-%COMP%], .col-lg-8[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-input[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-offset[_ngcontent-%COMP%]{flex:0 0 66.6666666667%;max-width:66.6666666667%}.cd-col-form-input[_ngcontent-%COMP%], .cd-col-form-offset[_ngcontent-%COMP%], .col-lg-9[_ngcontent-%COMP%]{flex:0 0 75%;max-width:75%}.col-lg-10[_ngcontent-%COMP%]{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-lg-11[_ngcontent-%COMP%]{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-lg-12[_ngcontent-%COMP%]{flex:0 0 100%;max-width:100%}.order-lg-first[_ngcontent-%COMP%]{order:-1}.order-lg-last[_ngcontent-%COMP%]{order:13}.order-lg-0[_ngcontent-%COMP%]{order:0}.order-lg-1[_ngcontent-%COMP%]{order:1}.order-lg-2[_ngcontent-%COMP%]{order:2}.order-lg-3[_ngcontent-%COMP%]{order:3}.order-lg-4[_ngcontent-%COMP%]{order:4}.order-lg-5[_ngcontent-%COMP%]{order:5}.order-lg-6[_ngcontent-%COMP%]{order:6}.order-lg-7[_ngcontent-%COMP%]{order:7}.order-lg-8[_ngcontent-%COMP%]{order:8}.order-lg-9[_ngcontent-%COMP%]{order:9}.order-lg-10[_ngcontent-%COMP%]{order:10}.order-lg-11[_ngcontent-%COMP%]{order:11}.order-lg-12[_ngcontent-%COMP%]{order:12}.offset-lg-0[_ngcontent-%COMP%]{margin-left:0}.offset-lg-1[_ngcontent-%COMP%]{margin-left:8.3333333333%}.offset-lg-2[_ngcontent-%COMP%]{margin-left:16.6666666667%}.cd-col-form-offset[_ngcontent-%COMP%], .offset-lg-3[_ngcontent-%COMP%]{margin-left:25%}.offset-lg-4[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-offset[_ngcontent-%COMP%]{margin-left:33.3333333333%}.offset-lg-5[_ngcontent-%COMP%]{margin-left:41.6666666667%}.offset-lg-6[_ngcontent-%COMP%]{margin-left:50%}.offset-lg-7[_ngcontent-%COMP%]{margin-left:58.3333333333%}.offset-lg-8[_ngcontent-%COMP%]{margin-left:66.6666666667%}.offset-lg-9[_ngcontent-%COMP%]{margin-left:75%}.offset-lg-10[_ngcontent-%COMP%]{margin-left:83.3333333333%}.offset-lg-11[_ngcontent-%COMP%]{margin-left:91.6666666667%}}@media (min-width:1200px){.col-xl[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;max-width:100%}.col-xl-auto[_ngcontent-%COMP%]{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1[_ngcontent-%COMP%]{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-xl-2[_ngcontent-%COMP%]{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xl-3[_ngcontent-%COMP%]{flex:0 0 25%;max-width:25%}.col-xl-4[_ngcontent-%COMP%]{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-xl-5[_ngcontent-%COMP%]{flex:0 0 41.6666666667%;max-width:41.6666666667%}.cd-col-form[_ngcontent-%COMP%], .col-xl-6[_ngcontent-%COMP%]{flex:0 0 50%;max-width:50%}.col-xl-7[_ngcontent-%COMP%]{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-xl-8[_ngcontent-%COMP%]{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-xl-9[_ngcontent-%COMP%]{flex:0 0 75%;max-width:75%}.col-xl-10[_ngcontent-%COMP%]{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-xl-11[_ngcontent-%COMP%]{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-xl-12[_ngcontent-%COMP%]{flex:0 0 100%;max-width:100%}.order-xl-first[_ngcontent-%COMP%]{order:-1}.order-xl-last[_ngcontent-%COMP%]{order:13}.order-xl-0[_ngcontent-%COMP%]{order:0}.order-xl-1[_ngcontent-%COMP%]{order:1}.order-xl-2[_ngcontent-%COMP%]{order:2}.order-xl-3[_ngcontent-%COMP%]{order:3}.order-xl-4[_ngcontent-%COMP%]{order:4}.order-xl-5[_ngcontent-%COMP%]{order:5}.order-xl-6[_ngcontent-%COMP%]{order:6}.order-xl-7[_ngcontent-%COMP%]{order:7}.order-xl-8[_ngcontent-%COMP%]{order:8}.order-xl-9[_ngcontent-%COMP%]{order:9}.order-xl-10[_ngcontent-%COMP%]{order:10}.order-xl-11[_ngcontent-%COMP%]{order:11}.order-xl-12[_ngcontent-%COMP%]{order:12}.offset-xl-0[_ngcontent-%COMP%]{margin-left:0}.offset-xl-1[_ngcontent-%COMP%]{margin-left:8.3333333333%}.offset-xl-2[_ngcontent-%COMP%]{margin-left:16.6666666667%}.offset-xl-3[_ngcontent-%COMP%]{margin-left:25%}.offset-xl-4[_ngcontent-%COMP%]{margin-left:33.3333333333%}.offset-xl-5[_ngcontent-%COMP%]{margin-left:41.6666666667%}.offset-xl-6[_ngcontent-%COMP%]{margin-left:50%}.offset-xl-7[_ngcontent-%COMP%]{margin-left:58.3333333333%}.offset-xl-8[_ngcontent-%COMP%]{margin-left:66.6666666667%}.offset-xl-9[_ngcontent-%COMP%]{margin-left:75%}.offset-xl-10[_ngcontent-%COMP%]{margin-left:83.3333333333%}.offset-xl-11[_ngcontent-%COMP%]{margin-left:91.6666666667%}}.table[_ngcontent-%COMP%]{width:100%;margin-bottom:1rem;color:#212529}.table[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%]{border-top:2px solid #dee2e6}.table-sm[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-sm[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{padding:.3rem}.table-bordered[_ngcontent-%COMP%], .table-bordered[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-bordered[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border:1px solid #dee2e6}.table-bordered[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-bordered[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-bottom-width:2px}.table-borderless[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-borderless[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-borderless[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-borderless[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border:0}.table-striped[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary[_ngcontent-%COMP%], .table-primary[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-primary[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#c4e2e7}.table-primary[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-primary[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-primary[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-primary[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#91cad2}.table-hover[_ngcontent-%COMP%]   .table-primary[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-primary[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-primary[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#b2d9e0}.table-secondary[_ngcontent-%COMP%], .table-secondary[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-secondary[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#fbd1cf}.table-secondary[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-secondary[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-secondary[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-secondary[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#f7aaa7}.table-hover[_ngcontent-%COMP%]   .table-secondary[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-secondary[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-secondary[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#f9bab7}.table-success[_ngcontent-%COMP%], .table-success[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-success[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#c3e6cb}.table-success[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-success[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-success[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-success[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#8fd19e}.table-hover[_ngcontent-%COMP%]   .table-success[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-success[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-success[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#b1dfbb}.table-info[_ngcontent-%COMP%], .table-info[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-info[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#bee5eb}.table-info[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-info[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-info[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-info[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#86cfda}.table-hover[_ngcontent-%COMP%]   .table-info[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-info[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-info[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#abdde5}.table-warning[_ngcontent-%COMP%], .table-warning[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-warning[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#ffeeba}.table-warning[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-warning[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-warning[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-warning[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#ffdf7e}.table-hover[_ngcontent-%COMP%]   .table-warning[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-warning[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-warning[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#ffe8a1}.table-danger[_ngcontent-%COMP%], .table-danger[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-danger[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#f5c6cb}.table-danger[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-danger[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-danger[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-danger[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#ed969e}.table-hover[_ngcontent-%COMP%]   .table-danger[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-danger[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-danger[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#f1b0b7}.table-light[_ngcontent-%COMP%], .table-light[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-light[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#fdfdfe}.table-light[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-light[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-light[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-light[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#fbfcfc}.table-hover[_ngcontent-%COMP%]   .table-light[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-light[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-light[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#ececf6}.table-dark[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#d9d9d9}.table-dark[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#b8b8b8}.table-hover[_ngcontent-%COMP%]   .table-dark[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-dark[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-dark[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#ccc}.table-active[_ngcontent-%COMP%], .table-active[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-active[_ngcontent-%COMP%] > th[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-active[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-active[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-active[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:rgba(0,0,0,.075)}.table[_ngcontent-%COMP%]   .thead-dark[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{color:#fff;background-color:#343a40;border-color:#454d55}.table[_ngcontent-%COMP%]   .thead-light[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark[_ngcontent-%COMP%]{color:#fff;background-color:#343a40}.table-dark[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#454d55}.table-dark.table-bordered[_ngcontent-%COMP%]{border:0}.table-dark.table-striped[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm[_ngcontent-%COMP%]{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm[_ngcontent-%COMP%] > .table-bordered[_ngcontent-%COMP%]{border:0}}@media (max-width:767.98px){.table-responsive-md[_ngcontent-%COMP%]{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md[_ngcontent-%COMP%] > .table-bordered[_ngcontent-%COMP%]{border:0}}@media (max-width:991.98px){.table-responsive-lg[_ngcontent-%COMP%]{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg[_ngcontent-%COMP%] > .table-bordered[_ngcontent-%COMP%]{border:0}}@media (max-width:1199.98px){.table-responsive-xl[_ngcontent-%COMP%]{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl[_ngcontent-%COMP%] > .table-bordered[_ngcontent-%COMP%]{border:0}}.table-responsive[_ngcontent-%COMP%]{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive[_ngcontent-%COMP%] > .table-bordered[_ngcontent-%COMP%]{border:0}.cd-form-control[_ngcontent-%COMP%], .form-control[_ngcontent-%COMP%]{width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.cd-form-control[_ngcontent-%COMP%], .form-control[_ngcontent-%COMP%]{transition:none}}.cd-form-control[_ngcontent-%COMP%]::-ms-expand, .form-control[_ngcontent-%COMP%]::-ms-expand{background-color:transparent;border:0}.cd-form-control[_ngcontent-%COMP%]:focus, .form-control[_ngcontent-%COMP%]:focus{color:#495057;background-color:#fff;box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.cd-form-control[_ngcontent-%COMP%]::placeholder, .form-control[_ngcontent-%COMP%]::placeholder{color:#6c757d;opacity:1}.cd-form-control[_ngcontent-%COMP%]:disabled, .form-control[_ngcontent-%COMP%]:disabled, .form-control[readonly][_ngcontent-%COMP%], [readonly].cd-form-control[_ngcontent-%COMP%]{background-color:#e9ecef;opacity:1}select.cd-form-control[_ngcontent-%COMP%]:focus::-ms-value, select.form-control[_ngcontent-%COMP%]:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file[_ngcontent-%COMP%], .form-control-range[_ngcontent-%COMP%]{display:block;width:100%}.cd-col-form-label[_ngcontent-%COMP%], .col-form-label[_ngcontent-%COMP%]{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg[_ngcontent-%COMP%]{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm[_ngcontent-%COMP%]{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext[_ngcontent-%COMP%]{display:block;width:100%;padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg[_ngcontent-%COMP%], .form-control-plaintext.form-control-sm[_ngcontent-%COMP%]{padding-right:0;padding-left:0}.form-control-sm[_ngcontent-%COMP%]{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg[_ngcontent-%COMP%]{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple][_ngcontent-%COMP%], select.form-control[size][_ngcontent-%COMP%], select[multiple].cd-form-control[_ngcontent-%COMP%], select[size].cd-form-control[_ngcontent-%COMP%], textarea.cd-form-control[_ngcontent-%COMP%], textarea.form-control[_ngcontent-%COMP%]{height:auto}.form-text[_ngcontent-%COMP%]{display:block;margin-top:.25rem}.form-row[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row[_ngcontent-%COMP%] > .col[_ngcontent-%COMP%], .form-row[_ngcontent-%COMP%] > [class*=col-][_ngcontent-%COMP%]{padding-right:5px;padding-left:5px}.form-check[_ngcontent-%COMP%]{position:relative;display:block;padding-left:1.25rem}.form-check-input[_ngcontent-%COMP%]{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input[_ngcontent-%COMP%]:disabled ~ .form-check-label[_ngcontent-%COMP%]{color:#6c757d}.form-check-label[_ngcontent-%COMP%]{margin-bottom:0}.form-check-inline[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback[_ngcontent-%COMP%]{display:none;width:100%;margin-top:.25rem;font-size:100%;color:#28a745}.valid-tooltip[_ngcontent-%COMP%]{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.form-control.is-valid[_ngcontent-%COMP%], .is-valid.cd-form-control[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:valid, .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:valid{border-color:#28a745;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=\'%2328a745\' d=\'M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z\'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:center right calc(.375em + .1875rem);background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid[_ngcontent-%COMP%]:focus, .is-valid.cd-form-control[_ngcontent-%COMP%]:focus, .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:valid:focus, .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-control.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .form-control.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .is-valid.cd-form-control[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .is-valid.cd-form-control[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%]{display:block}.was-validated[_ngcontent-%COMP%]   textarea.cd-form-control[_ngcontent-%COMP%]:valid, .was-validated[_ngcontent-%COMP%]   textarea.form-control[_ngcontent-%COMP%]:valid, textarea.form-control.is-valid[_ngcontent-%COMP%], textarea.is-valid.cd-form-control[_ngcontent-%COMP%]{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:valid{border-color:#28a745;padding-right:calc((1em + .75rem) * 3 / 4 + 1.75rem);background:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 4 5\'%3e%3cpath fill=\'%23343a40\' d=\'M2 0L0 2h4zm0 5L0 3h4z\'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat,url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 8 8\'%3e%3cpath fill=\'%2328a745\' d=\'M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z\'/%3e%3c/svg%3e") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat #fff}.custom-select.is-valid[_ngcontent-%COMP%]:focus, .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-select.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .custom-select.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%]{display:block}.form-control-file.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .form-control-file.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control-file[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control-file[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%]{display:block}.form-check-input.is-valid[_ngcontent-%COMP%] ~ .form-check-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]:valid ~ .form-check-label[_ngcontent-%COMP%]{color:#28a745}.form-check-input.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .form-check-input.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%]{display:block}.custom-control-input.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .custom-control-input.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%]{display:block}.custom-control-input.is-valid[_ngcontent-%COMP%]:focus ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid:focus ~ .custom-control-label[_ngcontent-%COMP%]::before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-file-input.is-valid[_ngcontent-%COMP%] ~ .custom-file-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:valid ~ .custom-file-label[_ngcontent-%COMP%]{border-color:#28a745}.custom-file-input.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .custom-file-input.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%]{display:block}.custom-file-input.is-valid[_ngcontent-%COMP%]:focus ~ .custom-file-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:valid:focus ~ .custom-file-label[_ngcontent-%COMP%]{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback[_ngcontent-%COMP%]{display:none;width:100%;margin-top:.25rem;font-size:100%;color:#dc3545}.invalid-tooltip[_ngcontent-%COMP%]{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.form-control.is-invalid[_ngcontent-%COMP%], .is-invalid.cd-form-control[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:invalid, .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]: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\' fill=\'%23dc3545\' viewBox=\'-2 -2 7 7\'%3e%3cpath stroke=\'%23dc3545\' d=\'M0 0l3 3m0-3L0 3\'/%3e%3ccircle r=\'.5\'/%3e%3ccircle cx=\'3\' r=\'.5\'/%3e%3ccircle cy=\'3\' r=\'.5\'/%3e%3ccircle cx=\'3\' cy=\'3\' r=\'.5\'/%3e%3c/svg%3E");background-repeat:no-repeat;background-position:center right calc(.375em + .1875rem);background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid[_ngcontent-%COMP%]:focus, .is-invalid.cd-form-control[_ngcontent-%COMP%]:focus, .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:invalid:focus, .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-control.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .form-control.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .is-invalid.cd-form-control[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .is-invalid.cd-form-control[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%]{display:block}.was-validated[_ngcontent-%COMP%]   textarea.cd-form-control[_ngcontent-%COMP%]:invalid, .was-validated[_ngcontent-%COMP%]   textarea.form-control[_ngcontent-%COMP%]:invalid, textarea.form-control.is-invalid[_ngcontent-%COMP%], textarea.is-invalid.cd-form-control[_ngcontent-%COMP%]{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:invalid{border-color:#dc3545;padding-right:calc((1em + .75rem) * 3 / 4 + 1.75rem);background:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 4 5\'%3e%3cpath fill=\'%23343a40\' d=\'M2 0L0 2h4zm0 5L0 3h4z\'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat,url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' fill=\'%23dc3545\' viewBox=\'-2 -2 7 7\'%3e%3cpath stroke=\'%23dc3545\' d=\'M0 0l3 3m0-3L0 3\'/%3e%3ccircle r=\'.5\'/%3e%3ccircle cx=\'3\' r=\'.5\'/%3e%3ccircle cy=\'3\' r=\'.5\'/%3e%3ccircle cx=\'3\' cy=\'3\' r=\'.5\'/%3e%3c/svg%3E") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat #fff}.custom-select.is-invalid[_ngcontent-%COMP%]:focus, .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-select.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .custom-select.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%]{display:block}.form-control-file.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .form-control-file.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control-file[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control-file[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%]{display:block}.form-check-input.is-invalid[_ngcontent-%COMP%] ~ .form-check-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]:invalid ~ .form-check-label[_ngcontent-%COMP%]{color:#dc3545}.form-check-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .form-check-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%]{display:block}.custom-control-input.is-invalid[_ngcontent-%COMP%] ~ .custom-control-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid ~ .custom-control-label[_ngcontent-%COMP%]{color:#dc3545}.custom-control-input.is-invalid[_ngcontent-%COMP%] ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#dc3545}.custom-control-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .custom-control-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%]{display:block}.custom-control-input.is-invalid[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid:checked ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#e4606d;background-color:#e4606d}.custom-control-input.is-invalid[_ngcontent-%COMP%]:focus ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid:focus ~ .custom-control-label[_ngcontent-%COMP%]::before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid[_ngcontent-%COMP%]:focus:not(:checked) ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid:focus:not(:checked) ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#dc3545}.custom-file-input.is-invalid[_ngcontent-%COMP%] ~ .custom-file-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:invalid ~ .custom-file-label[_ngcontent-%COMP%]{border-color:#dc3545}.custom-file-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .custom-file-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%]{display:block}.custom-file-input.is-invalid[_ngcontent-%COMP%]:focus ~ .custom-file-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:invalid:focus ~ .custom-file-label[_ngcontent-%COMP%]{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline[_ngcontent-%COMP%]{display:flex;flex-flow:row wrap;align-items:center}.form-inline[_ngcontent-%COMP%]   .form-check[_ngcontent-%COMP%]{width:100%}@media (min-width:576px){.form-inline[_ngcontent-%COMP%]   label[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;margin-bottom:0}.form-inline[_ngcontent-%COMP%]   .form-group[_ngcontent-%COMP%]{display:flex;flex:0 0 auto;flex-flow:row wrap;align-items:center;margin-bottom:0}.form-inline[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%], .form-inline[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]{display:inline-block;width:auto;vertical-align:middle}.form-inline[_ngcontent-%COMP%]   .form-control-plaintext[_ngcontent-%COMP%]{display:inline-block}.form-inline[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%], .form-inline[_ngcontent-%COMP%]   .input-group[_ngcontent-%COMP%]{width:auto}.form-inline[_ngcontent-%COMP%]   .form-check[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;width:auto;padding-left:0}.form-inline[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]{position:relative;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline[_ngcontent-%COMP%]   .custom-control[_ngcontent-%COMP%]{align-items:center;justify-content:center}.form-inline[_ngcontent-%COMP%]   .custom-control-label[_ngcontent-%COMP%]{margin-bottom:0}}.btn[_ngcontent-%COMP%]{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;-moz-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;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[_ngcontent-%COMP%]{transition:none}}.btn[_ngcontent-%COMP%]:hover{color:#212529;text-decoration:none}.btn.focus[_ngcontent-%COMP%], .btn[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.btn.disabled[_ngcontent-%COMP%], .btn[_ngcontent-%COMP%]:disabled{opacity:.65}a.btn.disabled[_ngcontent-%COMP%], fieldset[_ngcontent-%COMP%]:disabled   a.btn[_ngcontent-%COMP%]{pointer-events:none}.btn-primary[_ngcontent-%COMP%]{color:#fff;background-color:#2b99a8;border-color:#2b99a8}.btn-primary[_ngcontent-%COMP%]:hover{color:#fff;background-color:#237d8a;border-color:#21747f}.btn-primary.focus[_ngcontent-%COMP%], .btn-primary[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(75,168,181,.5)}.btn-primary.disabled[_ngcontent-%COMP%], .btn-primary[_ngcontent-%COMP%]:disabled{color:#fff;background-color:#2b99a8;border-color:#2b99a8}.btn-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-primary.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#21747f;border-color:#1e6b75}.btn-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-primary.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(75,168,181,.5)}.btn-secondary[_ngcontent-%COMP%]{color:#fff;background-color:#ef5c55;border-color:#ef5c55}.btn-secondary[_ngcontent-%COMP%]:hover{color:#fff;background-color:#ec3a32;border-color:#eb2f26}.btn-secondary.focus[_ngcontent-%COMP%], .btn-secondary[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(241,116,111,.5)}.btn-secondary.disabled[_ngcontent-%COMP%], .btn-secondary[_ngcontent-%COMP%]:disabled{color:#fff;background-color:#ef5c55;border-color:#ef5c55}.btn-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-secondary.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#eb2f26;border-color:#ea241b}.btn-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-secondary.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(241,116,111,.5)}.btn-success[_ngcontent-%COMP%]{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success[_ngcontent-%COMP%]:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus[_ngcontent-%COMP%], .btn-success[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled[_ngcontent-%COMP%], .btn-success[_ngcontent-%COMP%]:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-success.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-success.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-info[_ngcontent-%COMP%]{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info[_ngcontent-%COMP%]:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus[_ngcontent-%COMP%], .btn-info[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled[_ngcontent-%COMP%], .btn-info[_ngcontent-%COMP%]:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-info.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-info.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-warning[_ngcontent-%COMP%]{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning[_ngcontent-%COMP%]:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus[_ngcontent-%COMP%], .btn-warning[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled[_ngcontent-%COMP%], .btn-warning[_ngcontent-%COMP%]:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-warning.dropdown-toggle[_ngcontent-%COMP%]{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-warning.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-danger[_ngcontent-%COMP%]{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger[_ngcontent-%COMP%]:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus[_ngcontent-%COMP%], .btn-danger[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled[_ngcontent-%COMP%], .btn-danger[_ngcontent-%COMP%]:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-danger.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-danger.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-light[_ngcontent-%COMP%]{color:#212529}.btn-light[_ngcontent-%COMP%]:hover{color:#212529}.btn-light.focus[_ngcontent-%COMP%], .btn-light[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled[_ngcontent-%COMP%], .btn-light[_ngcontent-%COMP%]:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-light.dropdown-toggle[_ngcontent-%COMP%]{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-light.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-dark[_ngcontent-%COMP%]{color:#fff;background-color:#777;border-color:#777}.btn-dark[_ngcontent-%COMP%]:hover{color:#fff;background-color:#646464;border-color:#5e5e5e}.btn-dark.focus[_ngcontent-%COMP%], .btn-dark[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(139,139,139,.5)}.btn-dark.disabled[_ngcontent-%COMP%], .btn-dark[_ngcontent-%COMP%]:disabled{color:#fff;background-color:#777;border-color:#777}.btn-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-dark.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#5e5e5e;border-color:#575757}.btn-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-dark.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(139,139,139,.5)}.btn-outline-primary[_ngcontent-%COMP%]{color:#2b99a8;border-color:#2b99a8}.btn-outline-primary[_ngcontent-%COMP%]:hover{color:#fff;background-color:#2b99a8;border-color:#2b99a8}.btn-outline-primary.focus[_ngcontent-%COMP%], .btn-outline-primary[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(43,153,168,.5)}.btn-outline-primary.disabled[_ngcontent-%COMP%], .btn-outline-primary[_ngcontent-%COMP%]:disabled{color:#2b99a8;background-color:transparent}.btn-outline-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-primary.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#2b99a8;border-color:#2b99a8}.btn-outline-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-primary.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(43,153,168,.5)}.btn-outline-secondary[_ngcontent-%COMP%]{color:#ef5c55;border-color:#ef5c55}.btn-outline-secondary[_ngcontent-%COMP%]:hover{color:#fff;background-color:#ef5c55;border-color:#ef5c55}.btn-outline-secondary.focus[_ngcontent-%COMP%], .btn-outline-secondary[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(239,92,85,.5)}.btn-outline-secondary.disabled[_ngcontent-%COMP%], .btn-outline-secondary[_ngcontent-%COMP%]:disabled{color:#ef5c55;background-color:transparent}.btn-outline-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-secondary.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#ef5c55;border-color:#ef5c55}.btn-outline-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-secondary.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(239,92,85,.5)}.btn-outline-success[_ngcontent-%COMP%]{color:#28a745;border-color:#28a745}.btn-outline-success[_ngcontent-%COMP%]:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus[_ngcontent-%COMP%], .btn-outline-success[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled[_ngcontent-%COMP%], .btn-outline-success[_ngcontent-%COMP%]:disabled{color:#28a745;background-color:transparent}.btn-outline-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-success.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-success.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info[_ngcontent-%COMP%]{color:#17a2b8;border-color:#17a2b8}.btn-outline-info[_ngcontent-%COMP%]:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus[_ngcontent-%COMP%], .btn-outline-info[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled[_ngcontent-%COMP%], .btn-outline-info[_ngcontent-%COMP%]:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-info.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-info.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning[_ngcontent-%COMP%]{color:#ffc107;border-color:#ffc107}.btn-outline-warning[_ngcontent-%COMP%]:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus[_ngcontent-%COMP%], .btn-outline-warning[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled[_ngcontent-%COMP%], .btn-outline-warning[_ngcontent-%COMP%]:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-warning.dropdown-toggle[_ngcontent-%COMP%]{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-warning.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger[_ngcontent-%COMP%]{color:#dc3545;border-color:#dc3545}.btn-outline-danger[_ngcontent-%COMP%]:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus[_ngcontent-%COMP%], .btn-outline-danger[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled[_ngcontent-%COMP%], .btn-outline-danger[_ngcontent-%COMP%]:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-danger.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-danger.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light[_ngcontent-%COMP%]{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light[_ngcontent-%COMP%]:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus[_ngcontent-%COMP%], .btn-outline-light[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled[_ngcontent-%COMP%], .btn-outline-light[_ngcontent-%COMP%]:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-light.dropdown-toggle[_ngcontent-%COMP%]{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-light.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark[_ngcontent-%COMP%]{color:#777;border-color:#777}.btn-outline-dark[_ngcontent-%COMP%]:hover{color:#fff;background-color:#777;border-color:#777}.btn-outline-dark.focus[_ngcontent-%COMP%], .btn-outline-dark[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(119,119,119,.5)}.btn-outline-dark.disabled[_ngcontent-%COMP%], .btn-outline-dark[_ngcontent-%COMP%]:disabled{color:#777;background-color:transparent}.btn-outline-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-dark.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#777;border-color:#777}.btn-outline-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-dark.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(119,119,119,.5)}.btn-link[_ngcontent-%COMP%]{font-weight:400;color:#2b99a8;text-decoration:none}.btn-link[_ngcontent-%COMP%]:hover{color:#1b626b;text-decoration:underline}.btn-link.focus[_ngcontent-%COMP%], .btn-link[_ngcontent-%COMP%]:focus{text-decoration:underline;box-shadow:none}.btn-link.disabled[_ngcontent-%COMP%], .btn-link[_ngcontent-%COMP%]:disabled{color:#6c757d;pointer-events:none}.btn-group-lg[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .btn-lg[_ngcontent-%COMP%]{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .btn-sm[_ngcontent-%COMP%]{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block[_ngcontent-%COMP%]{display:block;width:100%}.btn-block[_ngcontent-%COMP%] + .btn-block[_ngcontent-%COMP%]{margin-top:.5rem}input[type=button].btn-block[_ngcontent-%COMP%], input[type=reset].btn-block[_ngcontent-%COMP%], input[type=submit].btn-block[_ngcontent-%COMP%]{width:100%}.fade[_ngcontent-%COMP%]{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade[_ngcontent-%COMP%]{transition:none}}.fade[_ngcontent-%COMP%]:not(.show){opacity:0}.collapse[_ngcontent-%COMP%]:not(.show){display:none}.collapsing[_ngcontent-%COMP%]{position:relative;height:0;overflow:hidden;transition:height .35s ease}.dropdown[_ngcontent-%COMP%], .dropleft[_ngcontent-%COMP%], .dropright[_ngcontent-%COMP%], .dropup[_ngcontent-%COMP%]{position:relative}.dropdown-toggle[_ngcontent-%COMP%]{white-space:nowrap}.dropdown-toggle[_ngcontent-%COMP%]::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[_ngcontent-%COMP%]:empty::after{margin-left:0}.dropdown-menu[_ngcontent-%COMP%]{position:absolute;top:100%;left:0;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left[_ngcontent-%COMP%]{right:auto;left:0}.dropdown-menu-right[_ngcontent-%COMP%]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left[_ngcontent-%COMP%]{right:auto;left:0}.dropdown-menu-sm-right[_ngcontent-%COMP%]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left[_ngcontent-%COMP%]{right:auto;left:0}.dropdown-menu-md-right[_ngcontent-%COMP%]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left[_ngcontent-%COMP%]{right:auto;left:0}.dropdown-menu-lg-right[_ngcontent-%COMP%]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left[_ngcontent-%COMP%]{right:auto;left:0}.dropdown-menu-xl-right[_ngcontent-%COMP%]{right:0;left:auto}}.dropup[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]::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[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]:empty::after{margin-left:0}.dropright[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]::after{display:inline-block;margin-left:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid;vertical-align:0}.dropright[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]:empty::after{margin-left:0}.dropleft[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]::after{margin-left:.255em;vertical-align:.255em;content:"";display:none}.dropleft[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]::before{display:inline-block;margin-right:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent;vertical-align:0}.dropleft[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]:empty::after{margin-left:0}.dropdown-menu[x-placement^=bottom][_ngcontent-%COMP%], .dropdown-menu[x-placement^=left][_ngcontent-%COMP%], .dropdown-menu[x-placement^=right][_ngcontent-%COMP%], .dropdown-menu[x-placement^=top][_ngcontent-%COMP%]{right:auto;bottom:auto}.dropdown-divider[_ngcontent-%COMP%]{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item[_ngcontent-%COMP%]{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item[_ngcontent-%COMP%]:focus, .dropdown-item[_ngcontent-%COMP%]:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active[_ngcontent-%COMP%], .dropdown-item[_ngcontent-%COMP%]:active{color:#fff;text-decoration:none;background-color:#2b99a8}.dropdown-item.disabled[_ngcontent-%COMP%], .dropdown-item[_ngcontent-%COMP%]:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show[_ngcontent-%COMP%]{display:block}.dropdown-header[_ngcontent-%COMP%]{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text[_ngcontent-%COMP%]{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%]{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]{position:relative;flex:1 1 auto}.btn-group-vertical[_ngcontent-%COMP%] > .btn.active[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:active, .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:focus, .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:hover, .btn-group[_ngcontent-%COMP%] > .btn.active[_ngcontent-%COMP%], .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:active, .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:focus, .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:hover{z-index:1}.btn-toolbar[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar[_ngcontent-%COMP%]   .input-group[_ngcontent-%COMP%]{width:auto}.btn-group[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:first-child), .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:first-child){margin-left:-1px}.btn-group[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:last-child) > .btn[_ngcontent-%COMP%], .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:first-child) > .btn[_ngcontent-%COMP%], .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split[_ngcontent-%COMP%]{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split[_ngcontent-%COMP%]::after, .dropright[_ngcontent-%COMP%]   .dropdown-toggle-split[_ngcontent-%COMP%]::after, .dropup[_ngcontent-%COMP%]   .dropdown-toggle-split[_ngcontent-%COMP%]::after{margin-left:0}.dropleft[_ngcontent-%COMP%]   .dropdown-toggle-split[_ngcontent-%COMP%]::before{margin-right:0}.btn-group-sm[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%] + .dropdown-toggle-split[_ngcontent-%COMP%], .btn-sm[_ngcontent-%COMP%] + .dropdown-toggle-split[_ngcontent-%COMP%]{padding-right:.375rem;padding-left:.375rem}.btn-group-lg[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%] + .dropdown-toggle-split[_ngcontent-%COMP%], .btn-lg[_ngcontent-%COMP%] + .dropdown-toggle-split[_ngcontent-%COMP%]{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]{width:100%}.btn-group-vertical[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:first-child), .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:first-child){margin-top:-1px}.btn-group-vertical[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:last-child) > .btn[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:first-child) > .btn[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .btn-group-toggle[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]{margin-bottom:0}.btn-group-toggle[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]   input[type=checkbox][_ngcontent-%COMP%], .btn-group-toggle[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]   input[type=radio][_ngcontent-%COMP%], .btn-group-toggle[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]   input[type=checkbox][_ngcontent-%COMP%], .btn-group-toggle[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]   input[type=radio][_ngcontent-%COMP%]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group[_ngcontent-%COMP%]{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control-plaintext[_ngcontent-%COMP%]{position:relative;flex:1 1 auto;width:1%;margin-bottom:0}.input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%] + .cd-form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%] + .custom-file[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%] + .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%] + .form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%] + .cd-form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%] + .custom-file[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%] + .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%] + .form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%] + .cd-form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%] + .custom-file[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%] + .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%] + .form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%] + .cd-form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%] + .custom-file[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%] + .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%] + .form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control-plaintext[_ngcontent-%COMP%] + .cd-form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control-plaintext[_ngcontent-%COMP%] + .custom-file[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control-plaintext[_ngcontent-%COMP%] + .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control-plaintext[_ngcontent-%COMP%] + .form-control[_ngcontent-%COMP%]{margin-left:-1px}.input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%]:focus, .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:focus ~ .custom-file-label[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%]:focus, .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%]:focus{z-index:3}.input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:focus{z-index:4}.input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%]:not(:last-child), .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%]:not(:last-child), .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%]:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%]:not(:first-child), .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%]:not(:first-child), .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%]:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]{display:flex;align-items:center}.input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]:not(:last-child)   .custom-file-label[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]:not(:last-child)   .custom-file-label[_ngcontent-%COMP%]::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]:not(:first-child)   .custom-file-label[_ngcontent-%COMP%]{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%]{display:flex}.input-group-append[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%]{position:relative;z-index:2}.input-group-append[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%]:focus, .input-group-prepend[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%]:focus{z-index:3}.input-group-append[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%] + .btn[_ngcontent-%COMP%], .input-group-append[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%] + .input-group-text[_ngcontent-%COMP%], .input-group-append[_ngcontent-%COMP%]   .input-group-text[_ngcontent-%COMP%] + .btn[_ngcontent-%COMP%], .input-group-append[_ngcontent-%COMP%]   .input-group-text[_ngcontent-%COMP%] + .input-group-text[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%] + .btn[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%] + .input-group-text[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%]   .input-group-text[_ngcontent-%COMP%] + .btn[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%]   .input-group-text[_ngcontent-%COMP%] + .input-group-text[_ngcontent-%COMP%]{margin-left:-1px}.input-group-prepend[_ngcontent-%COMP%]{margin-right:-1px}.input-group-append[_ngcontent-%COMP%]{margin-left:-1px}.input-group-text[_ngcontent-%COMP%]{display:flex;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text[_ngcontent-%COMP%]   input[type=checkbox][_ngcontent-%COMP%], .input-group-text[_ngcontent-%COMP%]   input[type=radio][_ngcontent-%COMP%]{margin-top:0}.input-group-lg[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%]:not(textarea), .input-group-lg[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%]:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%]{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%]:not(textarea), .input-group-sm[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%]:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%]{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%]{padding-right:1.75rem}.input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%]:last-child > .btn[_ngcontent-%COMP%]:not(:last-child):not(.dropdown-toggle), .input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%]:last-child > .input-group-text[_ngcontent-%COMP%]:not(:last-child), .input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%]:not(:last-child) > .btn[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%]:not(:last-child) > .input-group-text[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%]{border-top-right-radius:0;border-bottom-right-radius:0}.input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%]:first-child > .btn[_ngcontent-%COMP%]:not(:first-child), .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%]:first-child > .input-group-text[_ngcontent-%COMP%]:not(:first-child), .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%]:not(:first-child) > .btn[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%]:not(:first-child) > .input-group-text[_ngcontent-%COMP%]{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control[_ngcontent-%COMP%]{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline[_ngcontent-%COMP%]{display:inline-flex;margin-right:1rem}.custom-control-input[_ngcontent-%COMP%]{position:absolute;z-index:-1;opacity:0}.custom-control-input[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::before{color:#fff;border-color:#2b99a8;background-color:#2b99a8}.custom-control-input[_ngcontent-%COMP%]:focus ~ .custom-control-label[_ngcontent-%COMP%]::before{box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.custom-control-input[_ngcontent-%COMP%]:focus:not(:checked) ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#76d0dc}.custom-control-input[_ngcontent-%COMP%]:not(:disabled):active ~ .custom-control-label[_ngcontent-%COMP%]::before{color:#fff;background-color:#9fdee6;border-color:#9fdee6}.custom-control-input[_ngcontent-%COMP%]:disabled ~ .custom-control-label[_ngcontent-%COMP%]{color:#6c757d}.custom-control-input[_ngcontent-%COMP%]:disabled ~ .custom-control-label[_ngcontent-%COMP%]::before{background-color:#e9ecef}.custom-control-label[_ngcontent-%COMP%]{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label[_ngcontent-%COMP%]::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#fff;border:1px solid #adb5bd}.custom-control-label[_ngcontent-%COMP%]::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:50%/50% 50% no-repeat}.custom-checkbox[_ngcontent-%COMP%]   .custom-control-label[_ngcontent-%COMP%]::before{border-radius:.25rem}.custom-checkbox[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::after{background-image:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 8 8\'%3e%3cpath fill=\'%23fff\' d=\'M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z\'/%3e%3c/svg%3e")}.custom-checkbox[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:indeterminate ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#2b99a8;background-color:#2b99a8}.custom-checkbox[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:indeterminate ~ .custom-control-label[_ngcontent-%COMP%]::after{background-image:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 4 4\'%3e%3cpath stroke=\'%23fff\' d=\'M0 2h4\'/%3e%3c/svg%3e")}.custom-checkbox[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:disabled:checked ~ .custom-control-label[_ngcontent-%COMP%]::before{background-color:rgba(43,153,168,.5)}.custom-checkbox[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:disabled:indeterminate ~ .custom-control-label[_ngcontent-%COMP%]::before{background-color:rgba(43,153,168,.5)}.custom-radio[_ngcontent-%COMP%]   .custom-control-label[_ngcontent-%COMP%]::before{border-radius:50%}.custom-radio[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::after{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")}.custom-radio[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:disabled:checked ~ .custom-control-label[_ngcontent-%COMP%]::before{background-color:rgba(43,153,168,.5)}.custom-switch[_ngcontent-%COMP%]{padding-left:2.25rem}.custom-switch[_ngcontent-%COMP%]   .custom-control-label[_ngcontent-%COMP%]::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch[_ngcontent-%COMP%]   .custom-control-label[_ngcontent-%COMP%]::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.custom-switch[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::after{background-color:#fff;transform:translateX(.75rem)}.custom-switch[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:disabled:checked ~ .custom-control-label[_ngcontent-%COMP%]::before{background-color:rgba(43,153,168,.5)}.custom-select[_ngcontent-%COMP%]{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 4 5\'%3e%3cpath fill=\'%23343a40\' d=\'M2 0L0 2h4zm0 5L0 3h4z\'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat #fff;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select[_ngcontent-%COMP%]:focus{border-color:#76d0dc;outline:0;box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.custom-select[_ngcontent-%COMP%]:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple][_ngcontent-%COMP%], .custom-select[size][_ngcontent-%COMP%]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select[_ngcontent-%COMP%]:disabled{color:#6c757d;background-color:#e9ecef}.custom-select[_ngcontent-%COMP%]::-ms-expand{display:none}.custom-select-sm[_ngcontent-%COMP%]{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg[_ngcontent-%COMP%]{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file[_ngcontent-%COMP%]{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}.custom-file-input[_ngcontent-%COMP%]{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;opacity:0}.custom-file-input[_ngcontent-%COMP%]:focus ~ .custom-file-label[_ngcontent-%COMP%]{border-color:#76d0dc;box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.custom-file-input[_ngcontent-%COMP%]:disabled ~ .custom-file-label[_ngcontent-%COMP%]{background-color:#e9ecef}.custom-file-input[_ngcontent-%COMP%]:lang(en) ~ .custom-file-label[_ngcontent-%COMP%]::after{content:"Browse"}.custom-file-input[_ngcontent-%COMP%] ~ .custom-file-label[data-browse][_ngcontent-%COMP%]::after{content:attr(data-browse)}.custom-file-label[_ngcontent-%COMP%]{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label[_ngcontent-%COMP%]::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range[_ngcontent-%COMP%]{width:100%;height:calc(1rem + .4rem);padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range[_ngcontent-%COMP%]:focus{outline:0}.custom-range[_ngcontent-%COMP%]:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(43,153,168,.25)}.custom-range[_ngcontent-%COMP%]:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(43,153,168,.25)}.custom-range[_ngcontent-%COMP%]:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(43,153,168,.25)}.custom-range[_ngcontent-%COMP%]::-moz-focus-outer{border:0}.custom-range[_ngcontent-%COMP%]::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#2b99a8;border:0;border-radius:1rem;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){.collapsing[_ngcontent-%COMP%], .custom-switch[_ngcontent-%COMP%]   .custom-control-label[_ngcontent-%COMP%]::after{transition:none}.custom-range[_ngcontent-%COMP%]::-webkit-slider-thumb{transition:none}}.custom-range[_ngcontent-%COMP%]::-webkit-slider-thumb:active{background-color:#9fdee6}.custom-range[_ngcontent-%COMP%]::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range[_ngcontent-%COMP%]::-moz-range-thumb{width:1rem;height:1rem;background-color:#2b99a8;border:0;border-radius:1rem;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){.custom-range[_ngcontent-%COMP%]::-moz-range-thumb{transition:none}}.custom-range[_ngcontent-%COMP%]::-moz-range-thumb:active{background-color:#9fdee6}.custom-range[_ngcontent-%COMP%]::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range[_ngcontent-%COMP%]::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#2b99a8;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range[_ngcontent-%COMP%]::-ms-thumb{transition:none}}.custom-range[_ngcontent-%COMP%]::-ms-thumb:active{background-color:#9fdee6}.custom-range[_ngcontent-%COMP%]::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range[_ngcontent-%COMP%]::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range[_ngcontent-%COMP%]::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-range[_ngcontent-%COMP%]:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range[_ngcontent-%COMP%]:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range[_ngcontent-%COMP%]:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range[_ngcontent-%COMP%]:disabled::-moz-range-track{cursor:default}.custom-range[_ngcontent-%COMP%]:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label[_ngcontent-%COMP%]::before, .custom-file-label[_ngcontent-%COMP%], .custom-select[_ngcontent-%COMP%]{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label[_ngcontent-%COMP%]::before, .custom-file-label[_ngcontent-%COMP%], .custom-select[_ngcontent-%COMP%]{transition:none}}.nav[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link[_ngcontent-%COMP%]{display:block;padding:.5rem 1rem}.nav-link[_ngcontent-%COMP%]:focus, .nav-link[_ngcontent-%COMP%]:hover{text-decoration:none}.nav-link.disabled[_ngcontent-%COMP%]{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs[_ngcontent-%COMP%]{border-bottom:1px solid #dee2e6}.nav-tabs[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]{margin-bottom:-1px}.nav-tabs[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]:focus, .nav-tabs[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs[_ngcontent-%COMP%]   .nav-link.disabled[_ngcontent-%COMP%]{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs[_ngcontent-%COMP%]   .nav-item.show[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%], .nav-tabs[_ngcontent-%COMP%]   .nav-link.active[_ngcontent-%COMP%]{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{border-radius:.25rem}.nav-pills[_ngcontent-%COMP%]   .nav-link.active[_ngcontent-%COMP%], .nav-pills[_ngcontent-%COMP%]   .show[_ngcontent-%COMP%] > .nav-link[_ngcontent-%COMP%]{color:#fff;background-color:#2b99a8}.nav-fill[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]{flex:1 1 auto;text-align:center}.nav-justified[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;text-align:center}.tab-content[_ngcontent-%COMP%] > .tab-pane[_ngcontent-%COMP%]{display:none}.tab-content[_ngcontent-%COMP%] > .active[_ngcontent-%COMP%]{display:block}.navbar[_ngcontent-%COMP%]{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:.5rem 1rem}.navbar[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.navbar-brand[_ngcontent-%COMP%]{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand[_ngcontent-%COMP%]:focus, .navbar-brand[_ngcontent-%COMP%]:hover{text-decoration:none}.navbar-nav[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{padding-right:0;padding-left:0}.navbar-nav[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{position:static;float:none}.navbar-text[_ngcontent-%COMP%]{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse[_ngcontent-%COMP%]{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler[_ngcontent-%COMP%]{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler[_ngcontent-%COMP%]:focus, .navbar-toggler[_ngcontent-%COMP%]:hover{text-decoration:none}.navbar-toggler-icon[_ngcontent-%COMP%]{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:center center/100% 100% no-repeat}@media (max-width:575.98px){.navbar-expand-sm[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-sm[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm[_ngcontent-%COMP%]{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-sm[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]{flex-direction:row}.navbar-expand-sm[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{position:absolute}.navbar-expand-sm[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-sm[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{flex-wrap:nowrap}.navbar-expand-sm[_ngcontent-%COMP%]   .navbar-collapse[_ngcontent-%COMP%]{display:flex!important;flex-basis:auto}.navbar-expand-sm[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{display:none}}@media (max-width:767.98px){.navbar-expand-md[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-md[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md[_ngcontent-%COMP%]{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-md[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]{flex-direction:row}.navbar-expand-md[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{position:absolute}.navbar-expand-md[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-md[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{flex-wrap:nowrap}.navbar-expand-md[_ngcontent-%COMP%]   .navbar-collapse[_ngcontent-%COMP%]{display:flex!important;flex-basis:auto}.navbar-expand-md[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{display:none}}@media (max-width:991.98px){.navbar-expand-lg[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-lg[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg[_ngcontent-%COMP%]{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]{flex-direction:row}.navbar-expand-lg[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{position:absolute}.navbar-expand-lg[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-lg[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{flex-wrap:nowrap}.navbar-expand-lg[_ngcontent-%COMP%]   .navbar-collapse[_ngcontent-%COMP%]{display:flex!important;flex-basis:auto}.navbar-expand-lg[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{display:none}}@media (max-width:1199.98px){.navbar-expand-xl[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-xl[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl[_ngcontent-%COMP%]{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-xl[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]{flex-direction:row}.navbar-expand-xl[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{position:absolute}.navbar-expand-xl[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-xl[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{flex-wrap:nowrap}.navbar-expand-xl[_ngcontent-%COMP%]   .navbar-collapse[_ngcontent-%COMP%]{display:flex!important;flex-basis:auto}.navbar-expand-xl[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{display:none}}.navbar-expand[_ngcontent-%COMP%]{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]{flex-direction:row}.navbar-expand[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{position:absolute}.navbar-expand[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{padding-right:.5rem;padding-left:.5rem}.navbar-expand[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{padding-right:0;padding-left:0;flex-wrap:nowrap}.navbar-expand[_ngcontent-%COMP%]   .navbar-collapse[_ngcontent-%COMP%]{display:flex!important;flex-basis:auto}.navbar-expand[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{display:none}.navbar-light[_ngcontent-%COMP%]   .navbar-brand[_ngcontent-%COMP%], .navbar-light[_ngcontent-%COMP%]   .navbar-brand[_ngcontent-%COMP%]:focus, .navbar-light[_ngcontent-%COMP%]   .navbar-brand[_ngcontent-%COMP%]:hover{color:rgba(0,0,0,.9)}.navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{color:rgba(0,0,0,.5)}.navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]:focus, .navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]:hover{color:rgba(0,0,0,.7)}.navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link.disabled[_ngcontent-%COMP%]{color:rgba(0,0,0,.3)}.navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .active[_ngcontent-%COMP%] > .nav-link[_ngcontent-%COMP%], .navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link.active[_ngcontent-%COMP%], .navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link.show[_ngcontent-%COMP%], .navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .show[_ngcontent-%COMP%] > .nav-link[_ngcontent-%COMP%]{color:rgba(0,0,0,.9)}.navbar-light[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light[_ngcontent-%COMP%]   .navbar-toggler-icon[_ngcontent-%COMP%]{background-image:url("data:image/svg+xml,%3csvg viewBox=\'0 0 30 30\' xmlns=\'http://www.w3.org/2000/svg\'%3e%3cpath stroke=\'rgba(0, 0, 0, 0.5)\' stroke-width=\'2\' stroke-linecap=\'round\' stroke-miterlimit=\'10\' d=\'M4 7h22M4 15h22M4 23h22\'/%3e%3c/svg%3e")}.navbar-light[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]{color:rgba(0,0,0,.5)}.navbar-light[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]   a[_ngcontent-%COMP%], .navbar-light[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]:focus, .navbar-light[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]:hover{color:rgba(0,0,0,.9)}.navbar-dark[_ngcontent-%COMP%]   .navbar-brand[_ngcontent-%COMP%], .navbar-dark[_ngcontent-%COMP%]   .navbar-brand[_ngcontent-%COMP%]:focus, .navbar-dark[_ngcontent-%COMP%]   .navbar-brand[_ngcontent-%COMP%]:hover{color:#fff}.navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{color:rgba(255,255,255,.5)}.navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]:focus, .navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]:hover{color:rgba(255,255,255,.75)}.navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link.disabled[_ngcontent-%COMP%]{color:rgba(255,255,255,.25)}.navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .active[_ngcontent-%COMP%] > .nav-link[_ngcontent-%COMP%], .navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link.active[_ngcontent-%COMP%], .navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link.show[_ngcontent-%COMP%], .navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .show[_ngcontent-%COMP%] > .nav-link[_ngcontent-%COMP%]{color:#fff}.navbar-dark[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark[_ngcontent-%COMP%]   .navbar-toggler-icon[_ngcontent-%COMP%]{background-image:url("data:image/svg+xml,%3csvg viewBox=\'0 0 30 30\' xmlns=\'http://www.w3.org/2000/svg\'%3e%3cpath stroke=\'rgba(255, 255, 255, 0.5)\' stroke-width=\'2\' stroke-linecap=\'round\' stroke-miterlimit=\'10\' d=\'M4 7h22M4 15h22M4 23h22\'/%3e%3c/svg%3e")}.navbar-dark[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]{color:rgba(255,255,255,.5)}.navbar-dark[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]   a[_ngcontent-%COMP%], .navbar-dark[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]:focus, .navbar-dark[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]:hover{color:#fff}.card[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card[_ngcontent-%COMP%] > hr[_ngcontent-%COMP%], pre[_ngcontent-%COMP%] > hr[_ngcontent-%COMP%]{margin-right:0;margin-left:0}.card[_ngcontent-%COMP%] > .list-group[_ngcontent-%COMP%]:first-child   .list-group-item[_ngcontent-%COMP%]:first-child, pre[_ngcontent-%COMP%] > .list-group[_ngcontent-%COMP%]:first-child   .list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card[_ngcontent-%COMP%] > .list-group[_ngcontent-%COMP%]:last-child   .list-group-item[_ngcontent-%COMP%]:last-child, pre[_ngcontent-%COMP%] > .list-group[_ngcontent-%COMP%]:last-child   .list-group-item[_ngcontent-%COMP%]:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body[_ngcontent-%COMP%]{flex:1 1 auto;padding:1.25rem}.card-title[_ngcontent-%COMP%]{margin-bottom:.75rem}.card-subtitle[_ngcontent-%COMP%]{margin-top:-.375rem;margin-bottom:0}.card-text[_ngcontent-%COMP%]:last-child{margin-bottom:0}.card-link[_ngcontent-%COMP%]:hover{text-decoration:none}.card-link[_ngcontent-%COMP%] + .card-link[_ngcontent-%COMP%]{margin-left:1.25rem}.card-header[_ngcontent-%COMP%]{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header[_ngcontent-%COMP%]:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header[_ngcontent-%COMP%] + .list-group[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:first-child{border-top:0}.card-footer[_ngcontent-%COMP%]{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer[_ngcontent-%COMP%]:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs[_ngcontent-%COMP%]{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills[_ngcontent-%COMP%]{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay[_ngcontent-%COMP%]{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img[_ngcontent-%COMP%]{width:100%;border-radius:calc(.25rem - 1px)}.card-img-top[_ngcontent-%COMP%]{width:100%;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img-bottom[_ngcontent-%COMP%]{width:100%;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck[_ngcontent-%COMP%]{display:flex;flex-direction:column}.card-deck[_ngcontent-%COMP%]   .card[_ngcontent-%COMP%], .card-deck[_ngcontent-%COMP%]   pre[_ngcontent-%COMP%]{margin-bottom:15px}@media (min-width:576px){.card-deck[_ngcontent-%COMP%]{flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck[_ngcontent-%COMP%]   .card[_ngcontent-%COMP%], .card-deck[_ngcontent-%COMP%]   pre[_ngcontent-%COMP%]{display:flex;flex:1 0 0%;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group[_ngcontent-%COMP%]{display:flex;flex-direction:column}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]{margin-bottom:15px}@media (min-width:576px){.card-group[_ngcontent-%COMP%]{flex-flow:row wrap}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]{flex:1 0 0%;margin-bottom:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%] + .card[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%] + pre[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%] + .card[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%] + pre[_ngcontent-%COMP%]{margin-left:0;border-left:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:last-child), .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:last-child)   .card-header[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:last-child)   .card-img-top[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:last-child)   .card-header[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:last-child)   .card-img-top[_ngcontent-%COMP%]{border-top-right-radius:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:last-child)   .card-footer[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:last-child)   .card-img-bottom[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:last-child)   .card-footer[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:last-child)   .card-img-bottom[_ngcontent-%COMP%]{border-bottom-right-radius:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-child), .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-child)   .card-header[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-child)   .card-img-top[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-child)   .card-header[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-child)   .card-img-top[_ngcontent-%COMP%]{border-top-left-radius:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-child)   .card-footer[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-child)   .card-img-bottom[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-child)   .card-footer[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-child)   .card-img-bottom[_ngcontent-%COMP%]{border-bottom-left-radius:0}.card-columns[_ngcontent-%COMP%]{column-count:3;column-gap:1.25rem;orphans:1;widows:1}.card-columns[_ngcontent-%COMP%]   .card[_ngcontent-%COMP%], .card-columns[_ngcontent-%COMP%]   pre[_ngcontent-%COMP%]{display:inline-block;width:100%}}.card-columns[_ngcontent-%COMP%]   .card[_ngcontent-%COMP%], .card-columns[_ngcontent-%COMP%]   pre[_ngcontent-%COMP%]{margin-bottom:.75rem}.accordion[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%], .accordion[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]{overflow:hidden}.accordion[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-of-type)   .card-header[_ngcontent-%COMP%]:first-child, .accordion[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-of-type)   .card-header[_ngcontent-%COMP%]:first-child{border-radius:0}.accordion[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-of-type):not(:last-of-type), .accordion[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-of-type):not(:last-of-type){border-bottom:0;border-radius:0}.accordion[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:first-of-type, .accordion[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:first-of-type{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:last-of-type, .accordion[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:last-of-type{border-top-left-radius:0;border-top-right-radius:0}.accordion[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]   .card-header[_ngcontent-%COMP%], .accordion[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]   .card-header[_ngcontent-%COMP%]{margin-bottom:-1px}.breadcrumb[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item[_ngcontent-%COMP%] + .breadcrumb-item[_ngcontent-%COMP%]{padding-left:.5rem}.breadcrumb-item[_ngcontent-%COMP%] + .breadcrumb-item[_ngcontent-%COMP%]::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item[_ngcontent-%COMP%] + .breadcrumb-item[_ngcontent-%COMP%]:hover::before{text-decoration:none}.breadcrumb-item.active[_ngcontent-%COMP%]{color:#6c757d}.pagination[_ngcontent-%COMP%]{display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link[_ngcontent-%COMP%]{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#2b99a8;background-color:#fff;border:1px solid #dee2e6}.page-link[_ngcontent-%COMP%]:hover{z-index:2;color:#1b626b;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link[_ngcontent-%COMP%]:focus{z-index:2;outline:0;box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.page-item[_ngcontent-%COMP%]:first-child   .page-link[_ngcontent-%COMP%]{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item[_ngcontent-%COMP%]:last-child   .page-link[_ngcontent-%COMP%]{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active[_ngcontent-%COMP%]   .page-link[_ngcontent-%COMP%]{z-index:1;color:#fff;background-color:#2b99a8;border-color:#2b99a8}.page-item.disabled[_ngcontent-%COMP%]   .page-link[_ngcontent-%COMP%]{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg[_ngcontent-%COMP%]   .page-link[_ngcontent-%COMP%]{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg[_ngcontent-%COMP%]   .page-item[_ngcontent-%COMP%]:first-child   .page-link[_ngcontent-%COMP%]{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg[_ngcontent-%COMP%]   .page-item[_ngcontent-%COMP%]:last-child   .page-link[_ngcontent-%COMP%]{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm[_ngcontent-%COMP%]   .page-link[_ngcontent-%COMP%]{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm[_ngcontent-%COMP%]   .page-item[_ngcontent-%COMP%]:first-child   .page-link[_ngcontent-%COMP%]{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm[_ngcontent-%COMP%]   .page-item[_ngcontent-%COMP%]:last-child   .page-link[_ngcontent-%COMP%]{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge[_ngcontent-%COMP%]{display:inline-block;padding:.25em .4em;font-size:1rem;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;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){.badge[_ngcontent-%COMP%]{transition:none}}a.badge[_ngcontent-%COMP%]:focus, a.badge[_ngcontent-%COMP%]:hover{text-decoration:none}.badge[_ngcontent-%COMP%]:empty{display:none}.btn[_ngcontent-%COMP%]   .badge[_ngcontent-%COMP%]{position:relative;top:-1px}.badge-pill[_ngcontent-%COMP%]{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary[_ngcontent-%COMP%]{color:#fff;background-color:#2b99a8}a.badge-primary[_ngcontent-%COMP%]:focus, a.badge-primary[_ngcontent-%COMP%]:hover{color:#fff;background-color:#21747f}a.badge-primary.focus[_ngcontent-%COMP%], a.badge-primary[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(43,153,168,.5)}.badge-secondary[_ngcontent-%COMP%]{color:#fff;background-color:#ef5c55}a.badge-secondary[_ngcontent-%COMP%]:focus, a.badge-secondary[_ngcontent-%COMP%]:hover{color:#fff;background-color:#eb2f26}a.badge-secondary.focus[_ngcontent-%COMP%], a.badge-secondary[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(239,92,85,.5)}.badge-success[_ngcontent-%COMP%]{color:#fff;background-color:#28a745}a.badge-success[_ngcontent-%COMP%]:focus, a.badge-success[_ngcontent-%COMP%]:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus[_ngcontent-%COMP%], a.badge-success[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info[_ngcontent-%COMP%]{color:#fff;background-color:#17a2b8}a.badge-info[_ngcontent-%COMP%]:focus, a.badge-info[_ngcontent-%COMP%]:hover{color:#fff;background-color:#117a8b}a.badge-info.focus[_ngcontent-%COMP%], a.badge-info[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning[_ngcontent-%COMP%]{color:#212529;background-color:#ffc107}a.badge-warning[_ngcontent-%COMP%]:focus, a.badge-warning[_ngcontent-%COMP%]:hover{color:#212529;background-color:#d39e00}a.badge-warning.focus[_ngcontent-%COMP%], a.badge-warning[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger[_ngcontent-%COMP%]{color:#fff;background-color:#dc3545}a.badge-danger[_ngcontent-%COMP%]:focus, a.badge-danger[_ngcontent-%COMP%]:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus[_ngcontent-%COMP%], a.badge-danger[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light[_ngcontent-%COMP%]{color:#212529;background-color:#f8f9fa}a.badge-light[_ngcontent-%COMP%]:focus, a.badge-light[_ngcontent-%COMP%]:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus[_ngcontent-%COMP%], a.badge-light[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark[_ngcontent-%COMP%]{color:#fff;background-color:#777}a.badge-dark[_ngcontent-%COMP%]:focus, a.badge-dark[_ngcontent-%COMP%]:hover{color:#fff;background-color:#5e5e5e}a.badge-dark.focus[_ngcontent-%COMP%], a.badge-dark[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(119,119,119,.5)}.jumbotron[_ngcontent-%COMP%]{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron[_ngcontent-%COMP%]{padding:4rem 2rem}}.jumbotron-fluid[_ngcontent-%COMP%]{padding-right:0;padding-left:0;border-radius:0}.alert[_ngcontent-%COMP%]{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading[_ngcontent-%COMP%]{color:inherit}.alert-link[_ngcontent-%COMP%]{font-weight:700}.alert-dismissible[_ngcontent-%COMP%]{padding-right:4rem}.alert-dismissible[_ngcontent-%COMP%]   .close[_ngcontent-%COMP%]{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary[_ngcontent-%COMP%]{color:#165057;background-color:#d5ebee;border-color:#c4e2e7}.alert-primary[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#b2d9e0}.alert-primary[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#0c2b2e}.alert-secondary[_ngcontent-%COMP%]{color:#7c302c;background-color:#fcdedd;border-color:#fbd1cf}.alert-secondary[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#f9bab7}.alert-secondary[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#56211f}.alert-success[_ngcontent-%COMP%]{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#b1dfbb}.alert-success[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#0b2e13}.alert-info[_ngcontent-%COMP%]{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#abdde5}.alert-info[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#062c33}.alert-warning[_ngcontent-%COMP%]{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#ffe8a1}.alert-warning[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#533f03}.alert-danger[_ngcontent-%COMP%]{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#f1b0b7}.alert-danger[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#491217}.alert-light[_ngcontent-%COMP%]{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#ececf6}.alert-light[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#686868}.alert-dark[_ngcontent-%COMP%]{color:#3e3e3e;background-color:#e4e4e4;border-color:#d9d9d9}.alert-dark[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#ccc}.alert-dark[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#252525}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress[_ngcontent-%COMP%]{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#2b99a8;transition:width .6s ease}.progress-bar-striped[_ngcontent-%COMP%]{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:1rem 1rem}.progress-bar-animated[_ngcontent-%COMP%]{animation:1s linear infinite progress-bar-stripes}.media[_ngcontent-%COMP%]{display:flex;align-items:flex-start}.media-body[_ngcontent-%COMP%]{flex:1}.list-group[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action[_ngcontent-%COMP%]{width:100%;color:#495057;text-align:inherit}.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-action[_ngcontent-%COMP%]:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action[_ngcontent-%COMP%]:active{color:#212529;background-color:#e9ecef}.list-group-item[_ngcontent-%COMP%]{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item[_ngcontent-%COMP%]:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item.disabled[_ngcontent-%COMP%], .list-group-item[_ngcontent-%COMP%]:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active[_ngcontent-%COMP%]{z-index:2;color:#fff;background-color:#2b99a8;border-color:#2b99a8}.list-group-horizontal[_ngcontent-%COMP%]{flex-direction:row}.list-group-horizontal[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]{margin-right:-1px;margin-bottom:0}.list-group-horizontal[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}@media (min-width:576px){.list-group-horizontal-sm[_ngcontent-%COMP%]{flex-direction:row}.list-group-horizontal-sm[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]{margin-right:-1px;margin-bottom:0}.list-group-horizontal-sm[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:768px){.list-group-horizontal-md[_ngcontent-%COMP%]{flex-direction:row}.list-group-horizontal-md[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]{margin-right:-1px;margin-bottom:0}.list-group-horizontal-md[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:992px){.list-group-horizontal-lg[_ngcontent-%COMP%]{flex-direction:row}.list-group-horizontal-lg[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]{margin-right:-1px;margin-bottom:0}.list-group-horizontal-lg[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:1200px){.list-group-horizontal-xl[_ngcontent-%COMP%]{flex-direction:row}.list-group-horizontal-xl[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]{margin-right:-1px;margin-bottom:0}.list-group-horizontal-xl[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}.list-group-flush[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]{border-right:0;border-left:0;border-radius:0}.list-group-flush[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:last-child{margin-bottom:-1px}.list-group-flush[_ngcontent-%COMP%]:first-child   .list-group-item[_ngcontent-%COMP%]:first-child{border-top:0}.list-group-flush[_ngcontent-%COMP%]:last-child   .list-group-item[_ngcontent-%COMP%]:last-child{margin-bottom:0;border-bottom:0}.list-group-item-primary[_ngcontent-%COMP%]{color:#165057;background-color:#c4e2e7}.list-group-item-primary.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-primary.list-group-item-action[_ngcontent-%COMP%]:hover{color:#165057;background-color:#b2d9e0}.list-group-item-primary.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#165057;border-color:#165057}.list-group-item-secondary[_ngcontent-%COMP%]{color:#7c302c;background-color:#fbd1cf}.list-group-item-secondary.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-secondary.list-group-item-action[_ngcontent-%COMP%]:hover{color:#7c302c;background-color:#f9bab7}.list-group-item-secondary.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#7c302c;border-color:#7c302c}.list-group-item-success[_ngcontent-%COMP%]{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-success.list-group-item-action[_ngcontent-%COMP%]:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info[_ngcontent-%COMP%]{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-info.list-group-item-action[_ngcontent-%COMP%]:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning[_ngcontent-%COMP%]{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-warning.list-group-item-action[_ngcontent-%COMP%]:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger[_ngcontent-%COMP%]{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-danger.list-group-item-action[_ngcontent-%COMP%]:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light[_ngcontent-%COMP%]{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-light.list-group-item-action[_ngcontent-%COMP%]:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark[_ngcontent-%COMP%]{color:#3e3e3e;background-color:#d9d9d9}.list-group-item-dark.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-dark.list-group-item-action[_ngcontent-%COMP%]:hover{color:#3e3e3e;background-color:#ccc}.list-group-item-dark.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#3e3e3e;border-color:#3e3e3e}.close[_ngcontent-%COMP%]{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close[_ngcontent-%COMP%]:hover{color:#000;text-decoration:none}.close[_ngcontent-%COMP%]:not(:disabled):not(.disabled):focus, .close[_ngcontent-%COMP%]:not(:disabled):not(.disabled):hover{opacity:.75}button.close[_ngcontent-%COMP%]{padding:0;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}a.close.disabled[_ngcontent-%COMP%]{pointer-events:none}.toast[_ngcontent-%COMP%]{max-width:350px;overflow:hidden;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);backdrop-filter:blur(10px);opacity:0;border-radius:.25rem}.toast[_ngcontent-%COMP%]:not(:last-child){margin-bottom:.75rem}.toast.showing[_ngcontent-%COMP%]{opacity:1}.toast.show[_ngcontent-%COMP%]{display:block;opacity:1}.toast.hide[_ngcontent-%COMP%]{display:none}.toast-header[_ngcontent-%COMP%]{display:flex;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}.toast-body[_ngcontent-%COMP%]{padding:.75rem}.modal-open[_ngcontent-%COMP%]{overflow:hidden}.modal-open[_ngcontent-%COMP%]   .modal[_ngcontent-%COMP%]{overflow-x:hidden;overflow-y:auto}.modal[_ngcontent-%COMP%]{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog[_ngcontent-%COMP%]{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade[_ngcontent-%COMP%]   .modal-dialog[_ngcontent-%COMP%]{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.progress-bar[_ngcontent-%COMP%]{transition:none}.progress-bar-animated[_ngcontent-%COMP%]{animation:none}.modal.fade[_ngcontent-%COMP%]   .modal-dialog[_ngcontent-%COMP%]{transition:none}}.modal.show[_ngcontent-%COMP%]   .modal-dialog[_ngcontent-%COMP%]{transform:none}.modal-dialog-scrollable[_ngcontent-%COMP%]{display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable[_ngcontent-%COMP%]   .modal-content[_ngcontent-%COMP%]{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable[_ngcontent-%COMP%]   .modal-footer[_ngcontent-%COMP%], .modal-dialog-scrollable[_ngcontent-%COMP%]   .modal-header[_ngcontent-%COMP%]{flex-shrink:0}.modal-dialog-scrollable[_ngcontent-%COMP%]   .modal-body[_ngcontent-%COMP%]{overflow-y:auto}.modal-dialog-centered[_ngcontent-%COMP%]{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered[_ngcontent-%COMP%]::before{display:block;height:calc(100vh - 1rem);content:""}.modal-dialog-centered.modal-dialog-scrollable[_ngcontent-%COMP%]{flex-direction:column;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable[_ngcontent-%COMP%]   .modal-content[_ngcontent-%COMP%]{max-height:none}.modal-dialog-centered.modal-dialog-scrollable[_ngcontent-%COMP%]::before{content:none}.modal-content[_ngcontent-%COMP%]{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop[_ngcontent-%COMP%]{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade[_ngcontent-%COMP%]{opacity:0}.modal-backdrop.show[_ngcontent-%COMP%]{opacity:.5}.modal-header[_ngcontent-%COMP%]{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:.3rem;border-top-right-radius:.3rem}.modal-header[_ngcontent-%COMP%]   .close[_ngcontent-%COMP%]{padding:1rem;margin:-1rem -1rem -1rem auto}.modal-title[_ngcontent-%COMP%]{margin-bottom:0;line-height:1.5}.modal-body[_ngcontent-%COMP%]{position:relative;flex:1 1 auto;padding:1rem}.modal-footer[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:flex-end;padding:1rem;border-top:1px solid #dee2e6;border-bottom-right-radius:.3rem;border-bottom-left-radius:.3rem}.modal-footer[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:not(:first-child){margin-left:.25rem}.modal-footer[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure[_ngcontent-%COMP%]{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog[_ngcontent-%COMP%]{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable[_ngcontent-%COMP%]{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable[_ngcontent-%COMP%]   .modal-content[_ngcontent-%COMP%]{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered[_ngcontent-%COMP%]{min-height:calc(100% - 3.5rem)}.modal-dialog-centered[_ngcontent-%COMP%]::before{height:calc(100vh - 3.5rem)}.modal-sm[_ngcontent-%COMP%]{max-width:300px}}@media (min-width:992px){.modal-lg[_ngcontent-%COMP%], .modal-xl[_ngcontent-%COMP%]{max-width:800px}}@media (min-width:1200px){.modal-xl[_ngcontent-%COMP%]{max-width:1140px}}.tooltip[_ngcontent-%COMP%]{position:absolute;z-index:1070;display:block;margin:0;font-family:"Helvetica Neue",Helvetica,Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show[_ngcontent-%COMP%]{opacity:.9}.tooltip[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top][_ngcontent-%COMP%], .bs-tooltip-top[_ngcontent-%COMP%]{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%], .bs-tooltip-top[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]{bottom:0}.bs-tooltip-auto[x-placement^=top][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before, .bs-tooltip-top[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right][_ngcontent-%COMP%], .bs-tooltip-right[_ngcontent-%COMP%]{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%], .bs-tooltip-right[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before, .bs-tooltip-right[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom][_ngcontent-%COMP%], .bs-tooltip-bottom[_ngcontent-%COMP%]{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%], .bs-tooltip-bottom[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]{top:0}.bs-tooltip-auto[x-placement^=bottom][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before, .bs-tooltip-bottom[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left][_ngcontent-%COMP%], .bs-tooltip-left[_ngcontent-%COMP%]{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%], .bs-tooltip-left[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before, .bs-tooltip-left[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner[_ngcontent-%COMP%]{max-width:200px;padding:.25rem .5rem;text-align:center;border-radius:.25rem}.popover[_ngcontent-%COMP%]{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:350px;font-family:"Helvetica Neue",Helvetica,Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::after, .popover[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top][_ngcontent-%COMP%], .bs-popover-top[_ngcontent-%COMP%]{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%], .bs-popover-top[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]{bottom:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=top][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before, .bs-popover-top[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after, .bs-popover-top[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right][_ngcontent-%COMP%], .bs-popover-right[_ngcontent-%COMP%]{margin-left:.5rem}.bs-popover-auto[x-placement^=right][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%], .bs-popover-right[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]{left:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before, .bs-popover-right[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after, .bs-popover-right[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom][_ngcontent-%COMP%], .bs-popover-bottom[_ngcontent-%COMP%]{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%], .bs-popover-bottom[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]{top:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=bottom][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before, .bs-popover-bottom[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before{top:0;border-width:0 .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after, .bs-popover-bottom[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after{top:1px;border-width:0 .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom][_ngcontent-%COMP%]   .popover-header[_ngcontent-%COMP%]::before, .bs-popover-bottom[_ngcontent-%COMP%]   .popover-header[_ngcontent-%COMP%]::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left][_ngcontent-%COMP%], .bs-popover-left[_ngcontent-%COMP%]{margin-right:.5rem}.bs-popover-auto[x-placement^=left][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%], .bs-popover-left[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]{right:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before, .bs-popover-left[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after, .bs-popover-left[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header[_ngcontent-%COMP%]{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header[_ngcontent-%COMP%]:empty{display:none}.popover-body[_ngcontent-%COMP%]{padding:.5rem .75rem;color:#212529}.carousel[_ngcontent-%COMP%]{position:relative}.carousel.pointer-event[_ngcontent-%COMP%]{touch-action:pan-y}.carousel-inner[_ngcontent-%COMP%]{position:relative;width:100%;overflow:hidden}.carousel-inner[_ngcontent-%COMP%]::after{display:block;clear:both;content:""}.carousel-item[_ngcontent-%COMP%]{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}.carousel-item-next[_ngcontent-%COMP%], .carousel-item-prev[_ngcontent-%COMP%], .carousel-item.active[_ngcontent-%COMP%]{display:block}.active.carousel-item-right[_ngcontent-%COMP%], .carousel-item-next[_ngcontent-%COMP%]:not(.carousel-item-left){transform:translateX(100%)}.active.carousel-item-left[_ngcontent-%COMP%], .carousel-item-prev[_ngcontent-%COMP%]:not(.carousel-item-right){transform:translateX(-100%)}.carousel-fade[_ngcontent-%COMP%]   .carousel-item[_ngcontent-%COMP%]{opacity:0;transition-property:opacity;transform:none}.carousel-fade[_ngcontent-%COMP%]   .carousel-item-next.carousel-item-left[_ngcontent-%COMP%], .carousel-fade[_ngcontent-%COMP%]   .carousel-item-prev.carousel-item-right[_ngcontent-%COMP%], .carousel-fade[_ngcontent-%COMP%]   .carousel-item.active[_ngcontent-%COMP%]{z-index:1;opacity:1}.carousel-fade[_ngcontent-%COMP%]   .active.carousel-item-left[_ngcontent-%COMP%], .carousel-fade[_ngcontent-%COMP%]   .active.carousel-item-right[_ngcontent-%COMP%]{z-index:0;opacity:0;transition:0s .6s opacity}@media (prefers-reduced-motion:reduce){.carousel-fade[_ngcontent-%COMP%]   .active.carousel-item-left[_ngcontent-%COMP%], .carousel-fade[_ngcontent-%COMP%]   .active.carousel-item-right[_ngcontent-%COMP%], .carousel-item[_ngcontent-%COMP%]{transition:none}}.carousel-control-next[_ngcontent-%COMP%], .carousel-control-prev[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}.carousel-control-next[_ngcontent-%COMP%]:focus, .carousel-control-next[_ngcontent-%COMP%]:hover, .carousel-control-prev[_ngcontent-%COMP%]:focus, .carousel-control-prev[_ngcontent-%COMP%]:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev[_ngcontent-%COMP%]{left:0}.carousel-control-next[_ngcontent-%COMP%]{right:0}.carousel-control-next-icon[_ngcontent-%COMP%], .carousel-control-prev-icon[_ngcontent-%COMP%]{display:inline-block;width:20px;height:20px;background:50%/100% 100% no-repeat}.carousel-control-prev-icon[_ngcontent-%COMP%]{background-image:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' fill=\'%23fff\' viewBox=\'0 0 8 8\'%3e%3cpath d=\'M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z\'/%3e%3c/svg%3e")}.carousel-control-next-icon[_ngcontent-%COMP%]{background-image:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' fill=\'%23fff\' viewBox=\'0 0 8 8\'%3e%3cpath d=\'M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z\'/%3e%3c/svg%3e")}.carousel-indicators[_ngcontent-%COMP%]{position:absolute;right:0;bottom:0;left:0;z-index:15;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next[_ngcontent-%COMP%], .carousel-control-prev[_ngcontent-%COMP%], .carousel-indicators[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]{transition:none}}.carousel-indicators[_ngcontent-%COMP%]   .active[_ngcontent-%COMP%]{opacity:1}.carousel-caption[_ngcontent-%COMP%]{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border[_ngcontent-%COMP%]{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;animation:.75s linear infinite spinner-border}.spinner-border-sm[_ngcontent-%COMP%]{width:1rem;height:1rem;border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1}}.spinner-grow[_ngcontent-%COMP%]{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;animation:.75s linear infinite spinner-grow}.spinner-grow-sm[_ngcontent-%COMP%]{width:1rem;height:1rem}.align-baseline[_ngcontent-%COMP%]{vertical-align:baseline!important}.align-top[_ngcontent-%COMP%]{vertical-align:top!important}.align-middle[_ngcontent-%COMP%]{vertical-align:middle!important}.align-bottom[_ngcontent-%COMP%]{vertical-align:bottom!important}.align-text-bottom[_ngcontent-%COMP%]{vertical-align:text-bottom!important}.align-text-top[_ngcontent-%COMP%]{vertical-align:text-top!important}.bg-primary[_ngcontent-%COMP%]{background-color:#2b99a8!important}a.bg-primary[_ngcontent-%COMP%]:focus, a.bg-primary[_ngcontent-%COMP%]:hover, button.bg-primary[_ngcontent-%COMP%]:focus, button.bg-primary[_ngcontent-%COMP%]:hover{background-color:#21747f!important}.bg-secondary[_ngcontent-%COMP%]{background-color:#ef5c55!important}a.bg-secondary[_ngcontent-%COMP%]:focus, a.bg-secondary[_ngcontent-%COMP%]:hover, button.bg-secondary[_ngcontent-%COMP%]:focus, button.bg-secondary[_ngcontent-%COMP%]:hover{background-color:#eb2f26!important}.bg-success[_ngcontent-%COMP%]{background-color:#28a745!important}a.bg-success[_ngcontent-%COMP%]:focus, a.bg-success[_ngcontent-%COMP%]:hover, button.bg-success[_ngcontent-%COMP%]:focus, button.bg-success[_ngcontent-%COMP%]:hover{background-color:#1e7e34!important}.bg-info[_ngcontent-%COMP%]{background-color:#17a2b8!important}a.bg-info[_ngcontent-%COMP%]:focus, a.bg-info[_ngcontent-%COMP%]:hover, button.bg-info[_ngcontent-%COMP%]:focus, button.bg-info[_ngcontent-%COMP%]:hover{background-color:#117a8b!important}.bg-warning[_ngcontent-%COMP%]{background-color:#ffc107!important}a.bg-warning[_ngcontent-%COMP%]:focus, a.bg-warning[_ngcontent-%COMP%]:hover, button.bg-warning[_ngcontent-%COMP%]:focus, button.bg-warning[_ngcontent-%COMP%]:hover{background-color:#d39e00!important}.bg-danger[_ngcontent-%COMP%]{background-color:#dc3545!important}a.bg-danger[_ngcontent-%COMP%]:focus, a.bg-danger[_ngcontent-%COMP%]:hover, button.bg-danger[_ngcontent-%COMP%]:focus, button.bg-danger[_ngcontent-%COMP%]:hover{background-color:#bd2130!important}.bg-light[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]{background-color:#f8f9fa!important}a.bg-light[_ngcontent-%COMP%]:focus, a.bg-light[_ngcontent-%COMP%]:hover, button.bg-light[_ngcontent-%COMP%]:focus, button.bg-light[_ngcontent-%COMP%]:hover{background-color:#dae0e5!important}.bg-dark[_ngcontent-%COMP%]{background-color:#777!important}a.bg-dark[_ngcontent-%COMP%]:focus, a.bg-dark[_ngcontent-%COMP%]:hover, button.bg-dark[_ngcontent-%COMP%]:focus, button.bg-dark[_ngcontent-%COMP%]:hover{background-color:#5e5e5e!important}.bg-white[_ngcontent-%COMP%]{background-color:#fff!important}.bg-transparent[_ngcontent-%COMP%]{background-color:transparent!important}.border[_ngcontent-%COMP%]{border:1px solid #dee2e6!important}.border-top[_ngcontent-%COMP%]{border-top:1px solid #dee2e6!important}.border-right[_ngcontent-%COMP%]{border-right:1px solid #dee2e6!important}.border-bottom[_ngcontent-%COMP%], .cd-header[_ngcontent-%COMP%], legend[_ngcontent-%COMP%]{border-bottom:1px solid #dee2e6!important}.border-left[_ngcontent-%COMP%]{border-left:1px solid #dee2e6!important}.border-0[_ngcontent-%COMP%]{border:0!important}.border-top-0[_ngcontent-%COMP%]{border-top:0!important}.border-right-0[_ngcontent-%COMP%]{border-right:0!important}.border-bottom-0[_ngcontent-%COMP%]{border-bottom:0!important}.border-left-0[_ngcontent-%COMP%]{border-left:0!important}.border-primary[_ngcontent-%COMP%]{border-color:#2b99a8!important}.border-secondary[_ngcontent-%COMP%]{border-color:#ef5c55!important}.border-success[_ngcontent-%COMP%]{border-color:#28a745!important}.border-info[_ngcontent-%COMP%]{border-color:#17a2b8!important}.border-warning[_ngcontent-%COMP%]{border-color:#ffc107!important}.border-danger[_ngcontent-%COMP%]{border-color:#dc3545!important}.border-light[_ngcontent-%COMP%]{border-color:#f8f9fa!important}.border-dark[_ngcontent-%COMP%]{border-color:#777!important}.border-white[_ngcontent-%COMP%]{border-color:#fff!important}.rounded-sm[_ngcontent-%COMP%]{border-radius:.2rem!important}.rounded[_ngcontent-%COMP%]{border-radius:.25rem!important}.rounded-top[_ngcontent-%COMP%]{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right[_ngcontent-%COMP%]{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom[_ngcontent-%COMP%]{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left[_ngcontent-%COMP%]{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-lg[_ngcontent-%COMP%]{border-radius:.3rem!important}.rounded-circle[_ngcontent-%COMP%]{border-radius:50%!important}.rounded-pill[_ngcontent-%COMP%]{border-radius:50rem!important}.rounded-0[_ngcontent-%COMP%]{border-radius:0!important}.clearfix[_ngcontent-%COMP%]::after{display:block;clear:both;content:""}.d-none[_ngcontent-%COMP%]{display:none!important}.d-inline[_ngcontent-%COMP%]{display:inline!important}.d-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-block[_ngcontent-%COMP%]{display:block!important}.d-table[_ngcontent-%COMP%]{display:table!important}.d-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-flex[_ngcontent-%COMP%]{display:flex!important}.d-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}@media (min-width:576px){.d-sm-none[_ngcontent-%COMP%]{display:none!important}.d-sm-inline[_ngcontent-%COMP%]{display:inline!important}.d-sm-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-sm-block[_ngcontent-%COMP%]{display:block!important}.d-sm-table[_ngcontent-%COMP%]{display:table!important}.d-sm-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-sm-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-sm-flex[_ngcontent-%COMP%]{display:flex!important}.d-sm-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}}@media (min-width:768px){.d-md-none[_ngcontent-%COMP%]{display:none!important}.d-md-inline[_ngcontent-%COMP%]{display:inline!important}.d-md-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-md-block[_ngcontent-%COMP%]{display:block!important}.d-md-table[_ngcontent-%COMP%]{display:table!important}.d-md-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-md-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-md-flex[_ngcontent-%COMP%]{display:flex!important}.d-md-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}}@media (min-width:992px){.d-lg-none[_ngcontent-%COMP%]{display:none!important}.d-lg-inline[_ngcontent-%COMP%]{display:inline!important}.d-lg-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-lg-block[_ngcontent-%COMP%]{display:block!important}.d-lg-table[_ngcontent-%COMP%]{display:table!important}.d-lg-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-lg-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-lg-flex[_ngcontent-%COMP%]{display:flex!important}.d-lg-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}}@media (min-width:1200px){.d-xl-none[_ngcontent-%COMP%]{display:none!important}.d-xl-inline[_ngcontent-%COMP%]{display:inline!important}.d-xl-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-xl-block[_ngcontent-%COMP%]{display:block!important}.d-xl-table[_ngcontent-%COMP%]{display:table!important}.d-xl-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-xl-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-xl-flex[_ngcontent-%COMP%]{display:flex!important}.d-xl-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}}@media print{.d-print-none[_ngcontent-%COMP%]{display:none!important}.d-print-inline[_ngcontent-%COMP%]{display:inline!important}.d-print-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-print-block[_ngcontent-%COMP%]{display:block!important}.d-print-table[_ngcontent-%COMP%]{display:table!important}.d-print-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-print-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-print-flex[_ngcontent-%COMP%]{display:flex!important}.d-print-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}}.embed-responsive[_ngcontent-%COMP%]{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive[_ngcontent-%COMP%]::before{display:block;content:""}.embed-responsive[_ngcontent-%COMP%]   .embed-responsive-item[_ngcontent-%COMP%], .embed-responsive[_ngcontent-%COMP%]   embed[_ngcontent-%COMP%], .embed-responsive[_ngcontent-%COMP%]   iframe[_ngcontent-%COMP%], .embed-responsive[_ngcontent-%COMP%]   object[_ngcontent-%COMP%], .embed-responsive[_ngcontent-%COMP%]   video[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9[_ngcontent-%COMP%]::before{padding-top:42.8571428571%}.embed-responsive-16by9[_ngcontent-%COMP%]::before{padding-top:56.25%}.embed-responsive-4by3[_ngcontent-%COMP%]::before{padding-top:75%}.embed-responsive-1by1[_ngcontent-%COMP%]::before{padding-top:100%}.flex-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-column[_ngcontent-%COMP%]{flex-direction:column!important}.flex-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.flex-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.justify-content-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-stretch[_ngcontent-%COMP%]{align-self:stretch!important}@media (min-width:576px){.flex-sm-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-sm-column[_ngcontent-%COMP%]{flex-direction:column!important}.flex-sm-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-sm-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-sm-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-sm-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-sm-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.flex-sm-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-sm-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-sm-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-sm-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-sm-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.justify-content-sm-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-sm-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-sm-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-sm-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-sm-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-sm-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-sm-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-sm-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-sm-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-sm-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-sm-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-sm-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-sm-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-sm-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-sm-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-sm-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-sm-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-sm-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-sm-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-sm-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-sm-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-sm-stretch[_ngcontent-%COMP%]{align-self:stretch!important}}.float-left[_ngcontent-%COMP%]{float:left!important}.float-right[_ngcontent-%COMP%]{float:right!important}.float-none[_ngcontent-%COMP%]{float:none!important}@media (min-width:576px){.float-sm-left[_ngcontent-%COMP%]{float:left!important}.float-sm-right[_ngcontent-%COMP%]{float:right!important}.float-sm-none[_ngcontent-%COMP%]{float:none!important}}.overflow-auto[_ngcontent-%COMP%]{overflow:auto!important}.overflow-hidden[_ngcontent-%COMP%]{overflow:hidden!important}.position-static[_ngcontent-%COMP%]{position:static!important}.position-relative[_ngcontent-%COMP%]{position:relative!important}.position-absolute[_ngcontent-%COMP%]{position:absolute!important}.position-fixed[_ngcontent-%COMP%]{position:fixed!important}.position-sticky[_ngcontent-%COMP%]{position:sticky!important}.fixed-top[_ngcontent-%COMP%]{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom[_ngcontent-%COMP%]{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports (position:sticky){.sticky-top[_ngcontent-%COMP%]{position:sticky;top:0;z-index:1020}}.sr-only[_ngcontent-%COMP%]{clip:rect(0,0,0,0);white-space:nowrap}.shadow-sm[_ngcontent-%COMP%]{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow[_ngcontent-%COMP%]{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg[_ngcontent-%COMP%]{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none[_ngcontent-%COMP%]{box-shadow:none!important}.w-25[_ngcontent-%COMP%]{width:25%!important}.w-50[_ngcontent-%COMP%]{width:50%!important}.w-75[_ngcontent-%COMP%]{width:75%!important}.w-100[_ngcontent-%COMP%]{width:100%!important}.w-auto[_ngcontent-%COMP%]{width:auto!important}.h-25[_ngcontent-%COMP%]{height:25%!important}.h-50[_ngcontent-%COMP%]{height:50%!important}.h-75[_ngcontent-%COMP%]{height:75%!important}.h-100[_ngcontent-%COMP%]{height:100%!important}.h-auto[_ngcontent-%COMP%]{height:auto!important}.mw-100[_ngcontent-%COMP%]{max-width:100%!important}.mh-100[_ngcontent-%COMP%]{max-height:100%!important}.min-vw-100[_ngcontent-%COMP%]{min-width:100vw!important}.min-vh-100[_ngcontent-%COMP%]{min-height:100vh!important}.vw-100[_ngcontent-%COMP%]{width:100vw!important}.vh-100[_ngcontent-%COMP%]{height:100vh!important}.stretched-link[_ngcontent-%COMP%]::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.m-0[_ngcontent-%COMP%]{margin:0!important}.mt-0[_ngcontent-%COMP%], .my-0[_ngcontent-%COMP%]{margin-top:0!important}.mr-0[_ngcontent-%COMP%], .mx-0[_ngcontent-%COMP%]{margin-right:0!important}.mb-0[_ngcontent-%COMP%], .my-0[_ngcontent-%COMP%]{margin-bottom:0!important}.ml-0[_ngcontent-%COMP%], .mx-0[_ngcontent-%COMP%]{margin-left:0!important}.m-1[_ngcontent-%COMP%]{margin:.25rem!important}.mt-1[_ngcontent-%COMP%], .my-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mr-1[_ngcontent-%COMP%], .mx-1[_ngcontent-%COMP%]{margin-right:.25rem!important}.mb-1[_ngcontent-%COMP%], .my-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.ml-1[_ngcontent-%COMP%], .mx-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.m-2[_ngcontent-%COMP%]{margin:.5rem!important}.mt-2[_ngcontent-%COMP%], .my-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mr-2[_ngcontent-%COMP%], .mx-2[_ngcontent-%COMP%], label[_ngcontent-%COMP%]{margin-right:.5rem!important}.mb-2[_ngcontent-%COMP%], .my-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.ml-2[_ngcontent-%COMP%], .mx-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.m-3[_ngcontent-%COMP%]{margin:1rem!important}.mt-3[_ngcontent-%COMP%], .my-3[_ngcontent-%COMP%]{margin-top:1rem!important}.form-group[_ngcontent-%COMP%], .mr-3[_ngcontent-%COMP%], .mx-3[_ngcontent-%COMP%]{margin-right:1rem!important}.form-group[_ngcontent-%COMP%], .mb-3[_ngcontent-%COMP%], .my-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.ml-3[_ngcontent-%COMP%], .mx-3[_ngcontent-%COMP%]{margin-left:1rem!important}.m-4[_ngcontent-%COMP%]{margin:1.5rem!important}.cd-header[_ngcontent-%COMP%], .mt-4[_ngcontent-%COMP%], .my-4[_ngcontent-%COMP%], legend[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mr-4[_ngcontent-%COMP%], .mx-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.cd-header[_ngcontent-%COMP%], .mb-4[_ngcontent-%COMP%], .my-4[_ngcontent-%COMP%], legend[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.ml-4[_ngcontent-%COMP%], .mx-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.m-5[_ngcontent-%COMP%]{margin:3rem!important}.mt-5[_ngcontent-%COMP%], .my-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mr-5[_ngcontent-%COMP%], .mx-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mb-5[_ngcontent-%COMP%], .my-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.ml-5[_ngcontent-%COMP%], .mx-5[_ngcontent-%COMP%]{margin-left:3rem!important}.p-0[_ngcontent-%COMP%]{padding:0!important}.pt-0[_ngcontent-%COMP%], .py-0[_ngcontent-%COMP%]{padding-top:0!important}.pr-0[_ngcontent-%COMP%], .px-0[_ngcontent-%COMP%]{padding-right:0!important}.pb-0[_ngcontent-%COMP%], .py-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pl-0[_ngcontent-%COMP%], .px-0[_ngcontent-%COMP%]{padding-left:0!important}.p-1[_ngcontent-%COMP%]{padding:.25rem!important}.pt-1[_ngcontent-%COMP%], .py-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pr-1[_ngcontent-%COMP%], .px-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.cd-header[_ngcontent-%COMP%], .pb-1[_ngcontent-%COMP%], .py-1[_ngcontent-%COMP%], legend[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pl-1[_ngcontent-%COMP%], .px-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.p-2[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]{padding:.5rem!important}.pt-2[_ngcontent-%COMP%], .py-2[_ngcontent-%COMP%]{padding-top:.5rem!important}.pr-2[_ngcontent-%COMP%], .px-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.pb-2[_ngcontent-%COMP%], .py-2[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pl-2[_ngcontent-%COMP%], .px-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.p-3[_ngcontent-%COMP%]{padding:1rem!important}.pt-3[_ngcontent-%COMP%], .py-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pr-3[_ngcontent-%COMP%], .px-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pb-3[_ngcontent-%COMP%], .py-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pl-3[_ngcontent-%COMP%], .px-3[_ngcontent-%COMP%]{padding-left:1rem!important}.p-4[_ngcontent-%COMP%]{padding:1.5rem!important}.pt-4[_ngcontent-%COMP%], .py-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pr-4[_ngcontent-%COMP%], .px-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pb-4[_ngcontent-%COMP%], .py-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pl-4[_ngcontent-%COMP%], .px-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.p-5[_ngcontent-%COMP%]{padding:3rem!important}.pt-5[_ngcontent-%COMP%], .py-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-5[_ngcontent-%COMP%], .px-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-5[_ngcontent-%COMP%], .py-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-5[_ngcontent-%COMP%], .px-5[_ngcontent-%COMP%]{padding-left:3rem!important}.m-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.mt-n1[_ngcontent-%COMP%], .my-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mr-n1[_ngcontent-%COMP%], .mx-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mb-n1[_ngcontent-%COMP%], .my-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.ml-n1[_ngcontent-%COMP%], .mx-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.m-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.mt-n2[_ngcontent-%COMP%], .my-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mr-n2[_ngcontent-%COMP%], .mx-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mb-n2[_ngcontent-%COMP%], .my-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.ml-n2[_ngcontent-%COMP%], .mx-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.m-n3[_ngcontent-%COMP%]{margin:-1rem!important}.mt-n3[_ngcontent-%COMP%], .my-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mr-n3[_ngcontent-%COMP%], .mx-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mb-n3[_ngcontent-%COMP%], .my-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.ml-n3[_ngcontent-%COMP%], .mx-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.m-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.mt-n4[_ngcontent-%COMP%], .my-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mr-n4[_ngcontent-%COMP%], .mx-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mb-n4[_ngcontent-%COMP%], .my-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.ml-n4[_ngcontent-%COMP%], .mx-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.m-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mt-n5[_ngcontent-%COMP%], .my-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-n5[_ngcontent-%COMP%], .mx-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-n5[_ngcontent-%COMP%], .my-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-n5[_ngcontent-%COMP%], .mx-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.m-auto[_ngcontent-%COMP%]{margin:auto!important}.mt-auto[_ngcontent-%COMP%], .my-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-auto[_ngcontent-%COMP%], .mx-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-auto[_ngcontent-%COMP%], .my-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-auto[_ngcontent-%COMP%], .mx-auto[_ngcontent-%COMP%]{margin-left:auto!important}@media (min-width:576px){.m-sm-0[_ngcontent-%COMP%]{margin:0!important}.mt-sm-0[_ngcontent-%COMP%], .my-sm-0[_ngcontent-%COMP%]{margin-top:0!important}.mr-sm-0[_ngcontent-%COMP%], .mx-sm-0[_ngcontent-%COMP%]{margin-right:0!important}.mb-sm-0[_ngcontent-%COMP%], .my-sm-0[_ngcontent-%COMP%]{margin-bottom:0!important}.ml-sm-0[_ngcontent-%COMP%], .mx-sm-0[_ngcontent-%COMP%]{margin-left:0!important}.m-sm-1[_ngcontent-%COMP%]{margin:.25rem!important}.mt-sm-1[_ngcontent-%COMP%], .my-sm-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mr-sm-1[_ngcontent-%COMP%], .mx-sm-1[_ngcontent-%COMP%]{margin-right:.25rem!important}.mb-sm-1[_ngcontent-%COMP%], .my-sm-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.ml-sm-1[_ngcontent-%COMP%], .mx-sm-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.m-sm-2[_ngcontent-%COMP%]{margin:.5rem!important}.mt-sm-2[_ngcontent-%COMP%], .my-sm-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mr-sm-2[_ngcontent-%COMP%], .mx-sm-2[_ngcontent-%COMP%]{margin-right:.5rem!important}.mb-sm-2[_ngcontent-%COMP%], .my-sm-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.ml-sm-2[_ngcontent-%COMP%], .mx-sm-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.m-sm-3[_ngcontent-%COMP%]{margin:1rem!important}.mt-sm-3[_ngcontent-%COMP%], .my-sm-3[_ngcontent-%COMP%]{margin-top:1rem!important}.mr-sm-3[_ngcontent-%COMP%], .mx-sm-3[_ngcontent-%COMP%]{margin-right:1rem!important}.mb-sm-3[_ngcontent-%COMP%], .my-sm-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.ml-sm-3[_ngcontent-%COMP%], .mx-sm-3[_ngcontent-%COMP%]{margin-left:1rem!important}.m-sm-4[_ngcontent-%COMP%]{margin:1.5rem!important}.mt-sm-4[_ngcontent-%COMP%], .my-sm-4[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mr-sm-4[_ngcontent-%COMP%], .mx-sm-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.mb-sm-4[_ngcontent-%COMP%], .my-sm-4[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.ml-sm-4[_ngcontent-%COMP%], .mx-sm-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.m-sm-5[_ngcontent-%COMP%]{margin:3rem!important}.mt-sm-5[_ngcontent-%COMP%], .my-sm-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mr-sm-5[_ngcontent-%COMP%], .mx-sm-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mb-sm-5[_ngcontent-%COMP%], .my-sm-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.ml-sm-5[_ngcontent-%COMP%], .mx-sm-5[_ngcontent-%COMP%]{margin-left:3rem!important}.p-sm-0[_ngcontent-%COMP%]{padding:0!important}.pt-sm-0[_ngcontent-%COMP%], .py-sm-0[_ngcontent-%COMP%]{padding-top:0!important}.pr-sm-0[_ngcontent-%COMP%], .px-sm-0[_ngcontent-%COMP%]{padding-right:0!important}.pb-sm-0[_ngcontent-%COMP%], .py-sm-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pl-sm-0[_ngcontent-%COMP%], .px-sm-0[_ngcontent-%COMP%]{padding-left:0!important}.p-sm-1[_ngcontent-%COMP%]{padding:.25rem!important}.pt-sm-1[_ngcontent-%COMP%], .py-sm-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pr-sm-1[_ngcontent-%COMP%], .px-sm-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.pb-sm-1[_ngcontent-%COMP%], .py-sm-1[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pl-sm-1[_ngcontent-%COMP%], .px-sm-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.p-sm-2[_ngcontent-%COMP%]{padding:.5rem!important}.pt-sm-2[_ngcontent-%COMP%], .py-sm-2[_ngcontent-%COMP%]{padding-top:.5rem!important}.pr-sm-2[_ngcontent-%COMP%], .px-sm-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.pb-sm-2[_ngcontent-%COMP%], .py-sm-2[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pl-sm-2[_ngcontent-%COMP%], .px-sm-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.p-sm-3[_ngcontent-%COMP%]{padding:1rem!important}.pt-sm-3[_ngcontent-%COMP%], .py-sm-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pr-sm-3[_ngcontent-%COMP%], .px-sm-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pb-sm-3[_ngcontent-%COMP%], .py-sm-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pl-sm-3[_ngcontent-%COMP%], .px-sm-3[_ngcontent-%COMP%]{padding-left:1rem!important}.p-sm-4[_ngcontent-%COMP%]{padding:1.5rem!important}.pt-sm-4[_ngcontent-%COMP%], .py-sm-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pr-sm-4[_ngcontent-%COMP%], .px-sm-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pb-sm-4[_ngcontent-%COMP%], .py-sm-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pl-sm-4[_ngcontent-%COMP%], .px-sm-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.p-sm-5[_ngcontent-%COMP%]{padding:3rem!important}.pt-sm-5[_ngcontent-%COMP%], .py-sm-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-sm-5[_ngcontent-%COMP%], .px-sm-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-sm-5[_ngcontent-%COMP%], .py-sm-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-sm-5[_ngcontent-%COMP%], .px-sm-5[_ngcontent-%COMP%]{padding-left:3rem!important}.m-sm-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.mt-sm-n1[_ngcontent-%COMP%], .my-sm-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mr-sm-n1[_ngcontent-%COMP%], .mx-sm-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mb-sm-n1[_ngcontent-%COMP%], .my-sm-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.ml-sm-n1[_ngcontent-%COMP%], .mx-sm-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.m-sm-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.mt-sm-n2[_ngcontent-%COMP%], .my-sm-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mr-sm-n2[_ngcontent-%COMP%], .mx-sm-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mb-sm-n2[_ngcontent-%COMP%], .my-sm-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.ml-sm-n2[_ngcontent-%COMP%], .mx-sm-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.m-sm-n3[_ngcontent-%COMP%]{margin:-1rem!important}.mt-sm-n3[_ngcontent-%COMP%], .my-sm-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mr-sm-n3[_ngcontent-%COMP%], .mx-sm-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mb-sm-n3[_ngcontent-%COMP%], .my-sm-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.ml-sm-n3[_ngcontent-%COMP%], .mx-sm-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.m-sm-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.mt-sm-n4[_ngcontent-%COMP%], .my-sm-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mr-sm-n4[_ngcontent-%COMP%], .mx-sm-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mb-sm-n4[_ngcontent-%COMP%], .my-sm-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.ml-sm-n4[_ngcontent-%COMP%], .mx-sm-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.m-sm-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mt-sm-n5[_ngcontent-%COMP%], .my-sm-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-sm-n5[_ngcontent-%COMP%], .mx-sm-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-sm-n5[_ngcontent-%COMP%], .my-sm-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-sm-n5[_ngcontent-%COMP%], .mx-sm-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.m-sm-auto[_ngcontent-%COMP%]{margin:auto!important}.mt-sm-auto[_ngcontent-%COMP%], .my-sm-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-sm-auto[_ngcontent-%COMP%], .mx-sm-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-sm-auto[_ngcontent-%COMP%], .my-sm-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-sm-auto[_ngcontent-%COMP%], .mx-sm-auto[_ngcontent-%COMP%]{margin-left:auto!important}}.text-monospace[_ngcontent-%COMP%]{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.text-justify[_ngcontent-%COMP%]{text-align:justify!important}.text-wrap[_ngcontent-%COMP%]{white-space:normal!important}.text-nowrap[_ngcontent-%COMP%]{white-space:nowrap!important}.text-truncate[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left[_ngcontent-%COMP%]{text-align:left!important}.text-right[_ngcontent-%COMP%]{text-align:right!important}.text-center[_ngcontent-%COMP%]{text-align:center!important}@media (min-width:576px){.text-sm-left[_ngcontent-%COMP%]{text-align:left!important}.text-sm-right[_ngcontent-%COMP%]{text-align:right!important}.text-sm-center[_ngcontent-%COMP%]{text-align:center!important}}@media (min-width:768px){.flex-md-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-md-column[_ngcontent-%COMP%]{flex-direction:column!important}.flex-md-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-md-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-md-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-md-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-md-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.flex-md-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-md-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-md-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-md-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-md-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.justify-content-md-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-md-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-md-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-md-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-md-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-md-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-md-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-md-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-md-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-md-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-md-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-md-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-md-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-md-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-md-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-md-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-md-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-md-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-md-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-md-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-md-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-md-stretch[_ngcontent-%COMP%]{align-self:stretch!important}.float-md-left[_ngcontent-%COMP%]{float:left!important}.float-md-right[_ngcontent-%COMP%]{float:right!important}.float-md-none[_ngcontent-%COMP%]{float:none!important}.m-md-0[_ngcontent-%COMP%]{margin:0!important}.mt-md-0[_ngcontent-%COMP%], .my-md-0[_ngcontent-%COMP%]{margin-top:0!important}.mr-md-0[_ngcontent-%COMP%], .mx-md-0[_ngcontent-%COMP%]{margin-right:0!important}.mb-md-0[_ngcontent-%COMP%], .my-md-0[_ngcontent-%COMP%]{margin-bottom:0!important}.ml-md-0[_ngcontent-%COMP%], .mx-md-0[_ngcontent-%COMP%]{margin-left:0!important}.m-md-1[_ngcontent-%COMP%]{margin:.25rem!important}.mt-md-1[_ngcontent-%COMP%], .my-md-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mr-md-1[_ngcontent-%COMP%], .mx-md-1[_ngcontent-%COMP%]{margin-right:.25rem!important}.mb-md-1[_ngcontent-%COMP%], .my-md-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.ml-md-1[_ngcontent-%COMP%], .mx-md-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.m-md-2[_ngcontent-%COMP%]{margin:.5rem!important}.mt-md-2[_ngcontent-%COMP%], .my-md-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mr-md-2[_ngcontent-%COMP%], .mx-md-2[_ngcontent-%COMP%]{margin-right:.5rem!important}.mb-md-2[_ngcontent-%COMP%], .my-md-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.ml-md-2[_ngcontent-%COMP%], .mx-md-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.m-md-3[_ngcontent-%COMP%]{margin:1rem!important}.mt-md-3[_ngcontent-%COMP%], .my-md-3[_ngcontent-%COMP%]{margin-top:1rem!important}.mr-md-3[_ngcontent-%COMP%], .mx-md-3[_ngcontent-%COMP%]{margin-right:1rem!important}.mb-md-3[_ngcontent-%COMP%], .my-md-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.ml-md-3[_ngcontent-%COMP%], .mx-md-3[_ngcontent-%COMP%]{margin-left:1rem!important}.m-md-4[_ngcontent-%COMP%]{margin:1.5rem!important}.mt-md-4[_ngcontent-%COMP%], .my-md-4[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mr-md-4[_ngcontent-%COMP%], .mx-md-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.mb-md-4[_ngcontent-%COMP%], .my-md-4[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.ml-md-4[_ngcontent-%COMP%], .mx-md-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.m-md-5[_ngcontent-%COMP%]{margin:3rem!important}.mt-md-5[_ngcontent-%COMP%], .my-md-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mr-md-5[_ngcontent-%COMP%], .mx-md-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mb-md-5[_ngcontent-%COMP%], .my-md-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.ml-md-5[_ngcontent-%COMP%], .mx-md-5[_ngcontent-%COMP%]{margin-left:3rem!important}.p-md-0[_ngcontent-%COMP%]{padding:0!important}.pt-md-0[_ngcontent-%COMP%], .py-md-0[_ngcontent-%COMP%]{padding-top:0!important}.pr-md-0[_ngcontent-%COMP%], .px-md-0[_ngcontent-%COMP%]{padding-right:0!important}.pb-md-0[_ngcontent-%COMP%], .py-md-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pl-md-0[_ngcontent-%COMP%], .px-md-0[_ngcontent-%COMP%]{padding-left:0!important}.p-md-1[_ngcontent-%COMP%]{padding:.25rem!important}.pt-md-1[_ngcontent-%COMP%], .py-md-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pr-md-1[_ngcontent-%COMP%], .px-md-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.pb-md-1[_ngcontent-%COMP%], .py-md-1[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pl-md-1[_ngcontent-%COMP%], .px-md-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.p-md-2[_ngcontent-%COMP%]{padding:.5rem!important}.pt-md-2[_ngcontent-%COMP%], .py-md-2[_ngcontent-%COMP%]{padding-top:.5rem!important}.pr-md-2[_ngcontent-%COMP%], .px-md-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.pb-md-2[_ngcontent-%COMP%], .py-md-2[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pl-md-2[_ngcontent-%COMP%], .px-md-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.p-md-3[_ngcontent-%COMP%]{padding:1rem!important}.pt-md-3[_ngcontent-%COMP%], .py-md-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pr-md-3[_ngcontent-%COMP%], .px-md-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pb-md-3[_ngcontent-%COMP%], .py-md-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pl-md-3[_ngcontent-%COMP%], .px-md-3[_ngcontent-%COMP%]{padding-left:1rem!important}.p-md-4[_ngcontent-%COMP%]{padding:1.5rem!important}.pt-md-4[_ngcontent-%COMP%], .py-md-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pr-md-4[_ngcontent-%COMP%], .px-md-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pb-md-4[_ngcontent-%COMP%], .py-md-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pl-md-4[_ngcontent-%COMP%], .px-md-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.p-md-5[_ngcontent-%COMP%]{padding:3rem!important}.pt-md-5[_ngcontent-%COMP%], .py-md-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-md-5[_ngcontent-%COMP%], .px-md-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-md-5[_ngcontent-%COMP%], .py-md-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-md-5[_ngcontent-%COMP%], .px-md-5[_ngcontent-%COMP%]{padding-left:3rem!important}.m-md-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.mt-md-n1[_ngcontent-%COMP%], .my-md-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mr-md-n1[_ngcontent-%COMP%], .mx-md-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mb-md-n1[_ngcontent-%COMP%], .my-md-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.ml-md-n1[_ngcontent-%COMP%], .mx-md-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.m-md-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.mt-md-n2[_ngcontent-%COMP%], .my-md-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mr-md-n2[_ngcontent-%COMP%], .mx-md-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mb-md-n2[_ngcontent-%COMP%], .my-md-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.ml-md-n2[_ngcontent-%COMP%], .mx-md-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.m-md-n3[_ngcontent-%COMP%]{margin:-1rem!important}.mt-md-n3[_ngcontent-%COMP%], .my-md-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mr-md-n3[_ngcontent-%COMP%], .mx-md-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mb-md-n3[_ngcontent-%COMP%], .my-md-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.ml-md-n3[_ngcontent-%COMP%], .mx-md-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.m-md-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.mt-md-n4[_ngcontent-%COMP%], .my-md-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mr-md-n4[_ngcontent-%COMP%], .mx-md-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mb-md-n4[_ngcontent-%COMP%], .my-md-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.ml-md-n4[_ngcontent-%COMP%], .mx-md-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.m-md-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mt-md-n5[_ngcontent-%COMP%], .my-md-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-md-n5[_ngcontent-%COMP%], .mx-md-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-md-n5[_ngcontent-%COMP%], .my-md-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-md-n5[_ngcontent-%COMP%], .mx-md-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.m-md-auto[_ngcontent-%COMP%]{margin:auto!important}.mt-md-auto[_ngcontent-%COMP%], .my-md-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-md-auto[_ngcontent-%COMP%], .mx-md-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-md-auto[_ngcontent-%COMP%], .my-md-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-md-auto[_ngcontent-%COMP%], .mx-md-auto[_ngcontent-%COMP%]{margin-left:auto!important}.text-md-left[_ngcontent-%COMP%]{text-align:left!important}.text-md-right[_ngcontent-%COMP%]{text-align:right!important}.text-md-center[_ngcontent-%COMP%]{text-align:center!important}}@media (min-width:992px){.flex-lg-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-lg-column[_ngcontent-%COMP%]{flex-direction:column!important}.flex-lg-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-lg-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-lg-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-lg-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-lg-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.flex-lg-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-lg-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-lg-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-lg-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-lg-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.justify-content-lg-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-lg-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-lg-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-lg-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-lg-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-lg-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-lg-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-lg-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-lg-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-lg-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-lg-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-lg-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-lg-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-lg-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-lg-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-lg-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-lg-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-lg-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-lg-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-lg-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-lg-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-lg-stretch[_ngcontent-%COMP%]{align-self:stretch!important}.float-lg-left[_ngcontent-%COMP%]{float:left!important}.float-lg-right[_ngcontent-%COMP%]{float:right!important}.float-lg-none[_ngcontent-%COMP%]{float:none!important}.m-lg-0[_ngcontent-%COMP%]{margin:0!important}.mt-lg-0[_ngcontent-%COMP%], .my-lg-0[_ngcontent-%COMP%]{margin-top:0!important}.mr-lg-0[_ngcontent-%COMP%], .mx-lg-0[_ngcontent-%COMP%]{margin-right:0!important}.mb-lg-0[_ngcontent-%COMP%], .my-lg-0[_ngcontent-%COMP%]{margin-bottom:0!important}.ml-lg-0[_ngcontent-%COMP%], .mx-lg-0[_ngcontent-%COMP%]{margin-left:0!important}.m-lg-1[_ngcontent-%COMP%]{margin:.25rem!important}.mt-lg-1[_ngcontent-%COMP%], .my-lg-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mr-lg-1[_ngcontent-%COMP%], .mx-lg-1[_ngcontent-%COMP%]{margin-right:.25rem!important}.mb-lg-1[_ngcontent-%COMP%], .my-lg-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.ml-lg-1[_ngcontent-%COMP%], .mx-lg-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.m-lg-2[_ngcontent-%COMP%]{margin:.5rem!important}.mt-lg-2[_ngcontent-%COMP%], .my-lg-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mr-lg-2[_ngcontent-%COMP%], .mx-lg-2[_ngcontent-%COMP%]{margin-right:.5rem!important}.mb-lg-2[_ngcontent-%COMP%], .my-lg-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.ml-lg-2[_ngcontent-%COMP%], .mx-lg-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.m-lg-3[_ngcontent-%COMP%]{margin:1rem!important}.mt-lg-3[_ngcontent-%COMP%], .my-lg-3[_ngcontent-%COMP%]{margin-top:1rem!important}.mr-lg-3[_ngcontent-%COMP%], .mx-lg-3[_ngcontent-%COMP%]{margin-right:1rem!important}.mb-lg-3[_ngcontent-%COMP%], .my-lg-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.ml-lg-3[_ngcontent-%COMP%], .mx-lg-3[_ngcontent-%COMP%]{margin-left:1rem!important}.m-lg-4[_ngcontent-%COMP%]{margin:1.5rem!important}.mt-lg-4[_ngcontent-%COMP%], .my-lg-4[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mr-lg-4[_ngcontent-%COMP%], .mx-lg-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.mb-lg-4[_ngcontent-%COMP%], .my-lg-4[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.ml-lg-4[_ngcontent-%COMP%], .mx-lg-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.m-lg-5[_ngcontent-%COMP%]{margin:3rem!important}.mt-lg-5[_ngcontent-%COMP%], .my-lg-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mr-lg-5[_ngcontent-%COMP%], .mx-lg-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mb-lg-5[_ngcontent-%COMP%], .my-lg-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.ml-lg-5[_ngcontent-%COMP%], .mx-lg-5[_ngcontent-%COMP%]{margin-left:3rem!important}.p-lg-0[_ngcontent-%COMP%]{padding:0!important}.pt-lg-0[_ngcontent-%COMP%], .py-lg-0[_ngcontent-%COMP%]{padding-top:0!important}.pr-lg-0[_ngcontent-%COMP%], .px-lg-0[_ngcontent-%COMP%]{padding-right:0!important}.pb-lg-0[_ngcontent-%COMP%], .py-lg-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pl-lg-0[_ngcontent-%COMP%], .px-lg-0[_ngcontent-%COMP%]{padding-left:0!important}.p-lg-1[_ngcontent-%COMP%]{padding:.25rem!important}.pt-lg-1[_ngcontent-%COMP%], .py-lg-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pr-lg-1[_ngcontent-%COMP%], .px-lg-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.pb-lg-1[_ngcontent-%COMP%], .py-lg-1[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pl-lg-1[_ngcontent-%COMP%], .px-lg-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.p-lg-2[_ngcontent-%COMP%]{padding:.5rem!important}.pt-lg-2[_ngcontent-%COMP%], .py-lg-2[_ngcontent-%COMP%]{padding-top:.5rem!important}.pr-lg-2[_ngcontent-%COMP%], .px-lg-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.pb-lg-2[_ngcontent-%COMP%], .py-lg-2[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pl-lg-2[_ngcontent-%COMP%], .px-lg-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.p-lg-3[_ngcontent-%COMP%]{padding:1rem!important}.pt-lg-3[_ngcontent-%COMP%], .py-lg-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pr-lg-3[_ngcontent-%COMP%], .px-lg-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pb-lg-3[_ngcontent-%COMP%], .py-lg-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pl-lg-3[_ngcontent-%COMP%], .px-lg-3[_ngcontent-%COMP%]{padding-left:1rem!important}.p-lg-4[_ngcontent-%COMP%]{padding:1.5rem!important}.pt-lg-4[_ngcontent-%COMP%], .py-lg-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pr-lg-4[_ngcontent-%COMP%], .px-lg-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pb-lg-4[_ngcontent-%COMP%], .py-lg-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pl-lg-4[_ngcontent-%COMP%], .px-lg-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.p-lg-5[_ngcontent-%COMP%]{padding:3rem!important}.pt-lg-5[_ngcontent-%COMP%], .py-lg-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-lg-5[_ngcontent-%COMP%], .px-lg-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-lg-5[_ngcontent-%COMP%], .py-lg-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-lg-5[_ngcontent-%COMP%], .px-lg-5[_ngcontent-%COMP%]{padding-left:3rem!important}.m-lg-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.mt-lg-n1[_ngcontent-%COMP%], .my-lg-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mr-lg-n1[_ngcontent-%COMP%], .mx-lg-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mb-lg-n1[_ngcontent-%COMP%], .my-lg-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.ml-lg-n1[_ngcontent-%COMP%], .mx-lg-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.m-lg-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.mt-lg-n2[_ngcontent-%COMP%], .my-lg-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mr-lg-n2[_ngcontent-%COMP%], .mx-lg-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mb-lg-n2[_ngcontent-%COMP%], .my-lg-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.ml-lg-n2[_ngcontent-%COMP%], .mx-lg-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.m-lg-n3[_ngcontent-%COMP%]{margin:-1rem!important}.mt-lg-n3[_ngcontent-%COMP%], .my-lg-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mr-lg-n3[_ngcontent-%COMP%], .mx-lg-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mb-lg-n3[_ngcontent-%COMP%], .my-lg-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.ml-lg-n3[_ngcontent-%COMP%], .mx-lg-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.m-lg-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.mt-lg-n4[_ngcontent-%COMP%], .my-lg-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mr-lg-n4[_ngcontent-%COMP%], .mx-lg-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mb-lg-n4[_ngcontent-%COMP%], .my-lg-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.ml-lg-n4[_ngcontent-%COMP%], .mx-lg-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.m-lg-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mt-lg-n5[_ngcontent-%COMP%], .my-lg-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-lg-n5[_ngcontent-%COMP%], .mx-lg-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-lg-n5[_ngcontent-%COMP%], .my-lg-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-lg-n5[_ngcontent-%COMP%], .mx-lg-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.m-lg-auto[_ngcontent-%COMP%]{margin:auto!important}.mt-lg-auto[_ngcontent-%COMP%], .my-lg-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-lg-auto[_ngcontent-%COMP%], .mx-lg-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-lg-auto[_ngcontent-%COMP%], .my-lg-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-lg-auto[_ngcontent-%COMP%], .mx-lg-auto[_ngcontent-%COMP%]{margin-left:auto!important}.text-lg-left[_ngcontent-%COMP%]{text-align:left!important}.text-lg-right[_ngcontent-%COMP%]{text-align:right!important}.text-lg-center[_ngcontent-%COMP%]{text-align:center!important}}@media (min-width:1200px){.flex-xl-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-xl-column[_ngcontent-%COMP%]{flex-direction:column!important}.flex-xl-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-xl-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-xl-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-xl-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-xl-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.flex-xl-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-xl-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-xl-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-xl-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-xl-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.justify-content-xl-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-xl-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-xl-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-xl-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-xl-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-xl-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-xl-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-xl-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-xl-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-xl-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-xl-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-xl-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-xl-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-xl-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-xl-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-xl-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-xl-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-xl-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-xl-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-xl-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-xl-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-xl-stretch[_ngcontent-%COMP%]{align-self:stretch!important}.float-xl-left[_ngcontent-%COMP%]{float:left!important}.float-xl-right[_ngcontent-%COMP%]{float:right!important}.float-xl-none[_ngcontent-%COMP%]{float:none!important}.m-xl-0[_ngcontent-%COMP%]{margin:0!important}.mt-xl-0[_ngcontent-%COMP%], .my-xl-0[_ngcontent-%COMP%]{margin-top:0!important}.mr-xl-0[_ngcontent-%COMP%], .mx-xl-0[_ngcontent-%COMP%]{margin-right:0!important}.mb-xl-0[_ngcontent-%COMP%], .my-xl-0[_ngcontent-%COMP%]{margin-bottom:0!important}.ml-xl-0[_ngcontent-%COMP%], .mx-xl-0[_ngcontent-%COMP%]{margin-left:0!important}.m-xl-1[_ngcontent-%COMP%]{margin:.25rem!important}.mt-xl-1[_ngcontent-%COMP%], .my-xl-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mr-xl-1[_ngcontent-%COMP%], .mx-xl-1[_ngcontent-%COMP%]{margin-right:.25rem!important}.mb-xl-1[_ngcontent-%COMP%], .my-xl-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.ml-xl-1[_ngcontent-%COMP%], .mx-xl-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.m-xl-2[_ngcontent-%COMP%]{margin:.5rem!important}.mt-xl-2[_ngcontent-%COMP%], .my-xl-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mr-xl-2[_ngcontent-%COMP%], .mx-xl-2[_ngcontent-%COMP%]{margin-right:.5rem!important}.mb-xl-2[_ngcontent-%COMP%], .my-xl-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.ml-xl-2[_ngcontent-%COMP%], .mx-xl-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.m-xl-3[_ngcontent-%COMP%]{margin:1rem!important}.mt-xl-3[_ngcontent-%COMP%], .my-xl-3[_ngcontent-%COMP%]{margin-top:1rem!important}.mr-xl-3[_ngcontent-%COMP%], .mx-xl-3[_ngcontent-%COMP%]{margin-right:1rem!important}.mb-xl-3[_ngcontent-%COMP%], .my-xl-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.ml-xl-3[_ngcontent-%COMP%], .mx-xl-3[_ngcontent-%COMP%]{margin-left:1rem!important}.m-xl-4[_ngcontent-%COMP%]{margin:1.5rem!important}.mt-xl-4[_ngcontent-%COMP%], .my-xl-4[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mr-xl-4[_ngcontent-%COMP%], .mx-xl-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.mb-xl-4[_ngcontent-%COMP%], .my-xl-4[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.ml-xl-4[_ngcontent-%COMP%], .mx-xl-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.m-xl-5[_ngcontent-%COMP%]{margin:3rem!important}.mt-xl-5[_ngcontent-%COMP%], .my-xl-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mr-xl-5[_ngcontent-%COMP%], .mx-xl-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mb-xl-5[_ngcontent-%COMP%], .my-xl-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.ml-xl-5[_ngcontent-%COMP%], .mx-xl-5[_ngcontent-%COMP%]{margin-left:3rem!important}.p-xl-0[_ngcontent-%COMP%]{padding:0!important}.pt-xl-0[_ngcontent-%COMP%], .py-xl-0[_ngcontent-%COMP%]{padding-top:0!important}.pr-xl-0[_ngcontent-%COMP%], .px-xl-0[_ngcontent-%COMP%]{padding-right:0!important}.pb-xl-0[_ngcontent-%COMP%], .py-xl-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pl-xl-0[_ngcontent-%COMP%], .px-xl-0[_ngcontent-%COMP%]{padding-left:0!important}.p-xl-1[_ngcontent-%COMP%]{padding:.25rem!important}.pt-xl-1[_ngcontent-%COMP%], .py-xl-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pr-xl-1[_ngcontent-%COMP%], .px-xl-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.pb-xl-1[_ngcontent-%COMP%], .py-xl-1[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pl-xl-1[_ngcontent-%COMP%], .px-xl-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.p-xl-2[_ngcontent-%COMP%]{padding:.5rem!important}.pt-xl-2[_ngcontent-%COMP%], .py-xl-2[_ngcontent-%COMP%]{padding-top:.5rem!important}.pr-xl-2[_ngcontent-%COMP%], .px-xl-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.pb-xl-2[_ngcontent-%COMP%], .py-xl-2[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pl-xl-2[_ngcontent-%COMP%], .px-xl-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.p-xl-3[_ngcontent-%COMP%]{padding:1rem!important}.pt-xl-3[_ngcontent-%COMP%], .py-xl-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pr-xl-3[_ngcontent-%COMP%], .px-xl-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pb-xl-3[_ngcontent-%COMP%], .py-xl-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pl-xl-3[_ngcontent-%COMP%], .px-xl-3[_ngcontent-%COMP%]{padding-left:1rem!important}.p-xl-4[_ngcontent-%COMP%]{padding:1.5rem!important}.pt-xl-4[_ngcontent-%COMP%], .py-xl-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pr-xl-4[_ngcontent-%COMP%], .px-xl-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pb-xl-4[_ngcontent-%COMP%], .py-xl-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pl-xl-4[_ngcontent-%COMP%], .px-xl-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.p-xl-5[_ngcontent-%COMP%]{padding:3rem!important}.pt-xl-5[_ngcontent-%COMP%], .py-xl-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-xl-5[_ngcontent-%COMP%], .px-xl-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-xl-5[_ngcontent-%COMP%], .py-xl-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-xl-5[_ngcontent-%COMP%], .px-xl-5[_ngcontent-%COMP%]{padding-left:3rem!important}.m-xl-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.mt-xl-n1[_ngcontent-%COMP%], .my-xl-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mr-xl-n1[_ngcontent-%COMP%], .mx-xl-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mb-xl-n1[_ngcontent-%COMP%], .my-xl-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.ml-xl-n1[_ngcontent-%COMP%], .mx-xl-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.m-xl-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.mt-xl-n2[_ngcontent-%COMP%], .my-xl-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mr-xl-n2[_ngcontent-%COMP%], .mx-xl-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mb-xl-n2[_ngcontent-%COMP%], .my-xl-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.ml-xl-n2[_ngcontent-%COMP%], .mx-xl-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.m-xl-n3[_ngcontent-%COMP%]{margin:-1rem!important}.mt-xl-n3[_ngcontent-%COMP%], .my-xl-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mr-xl-n3[_ngcontent-%COMP%], .mx-xl-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mb-xl-n3[_ngcontent-%COMP%], .my-xl-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.ml-xl-n3[_ngcontent-%COMP%], .mx-xl-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.m-xl-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.mt-xl-n4[_ngcontent-%COMP%], .my-xl-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mr-xl-n4[_ngcontent-%COMP%], .mx-xl-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mb-xl-n4[_ngcontent-%COMP%], .my-xl-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.ml-xl-n4[_ngcontent-%COMP%], .mx-xl-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.m-xl-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mt-xl-n5[_ngcontent-%COMP%], .my-xl-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-xl-n5[_ngcontent-%COMP%], .mx-xl-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-xl-n5[_ngcontent-%COMP%], .my-xl-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-xl-n5[_ngcontent-%COMP%], .mx-xl-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.m-xl-auto[_ngcontent-%COMP%]{margin:auto!important}.mt-xl-auto[_ngcontent-%COMP%], .my-xl-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-xl-auto[_ngcontent-%COMP%], .mx-xl-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-xl-auto[_ngcontent-%COMP%], .my-xl-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-xl-auto[_ngcontent-%COMP%], .mx-xl-auto[_ngcontent-%COMP%]{margin-left:auto!important}.text-xl-left[_ngcontent-%COMP%]{text-align:left!important}.text-xl-right[_ngcontent-%COMP%]{text-align:right!important}.text-xl-center[_ngcontent-%COMP%]{text-align:center!important}}.text-lowercase[_ngcontent-%COMP%]{text-transform:lowercase!important}.text-uppercase[_ngcontent-%COMP%]{text-transform:uppercase!important}.text-capitalize[_ngcontent-%COMP%]{text-transform:capitalize!important}.font-weight-light[_ngcontent-%COMP%]{font-weight:300!important}.font-weight-lighter[_ngcontent-%COMP%]{font-weight:lighter!important}.font-weight-normal[_ngcontent-%COMP%]{font-weight:400!important}.font-weight-bold[_ngcontent-%COMP%]{font-weight:700!important}.font-weight-bolder[_ngcontent-%COMP%]{font-weight:bolder!important}.font-italic[_ngcontent-%COMP%]{font-style:italic!important}.text-white[_ngcontent-%COMP%]{color:#fff!important}.text-primary[_ngcontent-%COMP%]{color:#2b99a8!important}a.text-primary[_ngcontent-%COMP%]:focus, a.text-primary[_ngcontent-%COMP%]:hover{color:#1b626b!important}.text-secondary[_ngcontent-%COMP%]{color:#ef5c55!important}a.text-secondary[_ngcontent-%COMP%]:focus, a.text-secondary[_ngcontent-%COMP%]:hover{color:#e21f15!important}.text-success[_ngcontent-%COMP%]{color:#28a745!important}a.text-success[_ngcontent-%COMP%]:focus, a.text-success[_ngcontent-%COMP%]:hover{color:#19692c!important}.text-info[_ngcontent-%COMP%]{color:#17a2b8!important}a.text-info[_ngcontent-%COMP%]:focus, a.text-info[_ngcontent-%COMP%]:hover{color:#0f6674!important}.text-warning[_ngcontent-%COMP%]{color:#ffc107!important}a.text-warning[_ngcontent-%COMP%]:focus, a.text-warning[_ngcontent-%COMP%]:hover{color:#ba8b00!important}.text-danger[_ngcontent-%COMP%]{color:#dc3545!important}a.text-danger[_ngcontent-%COMP%]:focus, a.text-danger[_ngcontent-%COMP%]:hover{color:#a71d2a!important}.text-light[_ngcontent-%COMP%]{color:#f8f9fa!important}a.text-light[_ngcontent-%COMP%]:focus, a.text-light[_ngcontent-%COMP%]:hover{color:#cbd3da!important}.text-dark[_ngcontent-%COMP%]{color:#777!important}a.text-dark[_ngcontent-%COMP%]:focus, a.text-dark[_ngcontent-%COMP%]:hover{color:#515151!important}.text-body[_ngcontent-%COMP%]{color:#212529!important}.text-muted[_ngcontent-%COMP%]{color:#6c757d!important}.text-black-50[_ngcontent-%COMP%]{color:rgba(0,0,0,.5)!important}.text-white-50[_ngcontent-%COMP%]{color:rgba(255,255,255,.5)!important}.text-hide[_ngcontent-%COMP%]{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none[_ngcontent-%COMP%]{text-decoration:none!important}.text-break[_ngcontent-%COMP%]{word-break:break-word!important;overflow-wrap:break-word!important}.text-reset[_ngcontent-%COMP%]{color:inherit!important}.visible[_ngcontent-%COMP%]{visibility:visible!important}.invisible[_ngcontent-%COMP%]{visibility:hidden!important}@media print{*[_ngcontent-%COMP%], [_ngcontent-%COMP%]::after, [_ngcontent-%COMP%]::before{text-shadow:none!important;box-shadow:none!important}a[_ngcontent-%COMP%]:not(.btn){text-decoration:underline}abbr[title][_ngcontent-%COMP%]::after{content:" (" attr(title) ")"}pre[_ngcontent-%COMP%]{white-space:pre-wrap!important}blockquote[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]{border:1px solid #adb5bd;page-break-inside:avoid}thead[_ngcontent-%COMP%]{display:table-header-group}img[_ngcontent-%COMP%], tr[_ngcontent-%COMP%]{page-break-inside:avoid}h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%], p[_ngcontent-%COMP%]{orphans:3;widows:3}h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%]{page-break-after:avoid}@page{size:a3}.container[_ngcontent-%COMP%], body[_ngcontent-%COMP%]{min-width:992px!important}.navbar[_ngcontent-%COMP%]{display:none}.badge[_ngcontent-%COMP%]{border:1px solid #000}.table[_ngcontent-%COMP%]{border-collapse:collapse!important}.table[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{background-color:#fff!important}.table-bordered[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-bordered[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border:1px solid #dee2e6!important}.table-dark[_ngcontent-%COMP%]{color:inherit}.table-dark[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#dee2e6}.table[_ngcontent-%COMP%]   .thead-dark[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{color:inherit;border-color:#dee2e6}}@font-face{font-family:ForkAwesome;src:url(forkawesome-webfont.35e77a38ca9d85c4e897.eot?v=1.1.7);src:url(forkawesome-webfont.35e77a38ca9d85c4e897.eot?#iefix&v=1.1.7) format("embedded-opentype"),url(forkawesome-webfont.3a9e014c2469ffa65a0e.woff2?v=1.1.7) format("woff2"),url(forkawesome-webfont.44bbdbbfb5a10ba2d1ce.woff?v=1.1.7) format("woff"),url(forkawesome-webfont.fc46f3dae03b2b2e1cee.ttf?v=1.1.7) format("truetype"),url(forkawesome-webfont.78dcc9c4999659b8026a.svg?v=1.1.7#forkawesomeregular) format("svg");font-weight:400;font-style:normal}.fa[_ngcontent-%COMP%]{display:inline-block;font:normal normal normal 14px/1 ForkAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg[_ngcontent-%COMP%]{font-size:1.3333333333em;line-height:.75em;vertical-align:-15%}.fa-2x[_ngcontent-%COMP%]{font-size:2em}.fa-3x[_ngcontent-%COMP%]{font-size:3em}.fa-4x[_ngcontent-%COMP%]{font-size:4em}.fa-5x[_ngcontent-%COMP%]{font-size:5em}.fa[_ngcontent-%COMP%], .fa-fw[_ngcontent-%COMP%]{width:1.2857142857em;text-align:center}.fa-ul[_ngcontent-%COMP%]{padding-left:0;margin-left:2.1428571429em;list-style-type:none}.fa-ul[_ngcontent-%COMP%] > li[_ngcontent-%COMP%]{position:relative}.fa-li[_ngcontent-%COMP%]{position:absolute;left:-2.1428571429em;width:2.1428571429em;top:.1428571429em;text-align:center}.fa-li.fa-lg[_ngcontent-%COMP%]{left:-1.8571428571em}.fa-border[_ngcontent-%COMP%]{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left[_ngcontent-%COMP%]{float:left}.fa-pull-right[_ngcontent-%COMP%]{float:right}.fa.fa-pull-left[_ngcontent-%COMP%]{margin-right:.3em}.fa.fa-pull-right[_ngcontent-%COMP%]{margin-left:.3em}.pull-right[_ngcontent-%COMP%]{float:right}.pull-left[_ngcontent-%COMP%]{float:left}.fa.pull-left[_ngcontent-%COMP%]{margin-right:.3em}.fa.pull-right[_ngcontent-%COMP%]{margin-left:.3em}.fa-spin[_ngcontent-%COMP%]{animation:2s linear infinite fa-spin}.fa-pulse[_ngcontent-%COMP%]{animation:1s steps(8) infinite fa-spin}@keyframes fa-spin{0%{transform:rotate(0)}100%{transform:rotate(359deg)}}.fa-rotate-90[_ngcontent-%COMP%]{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180[_ngcontent-%COMP%]{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270[_ngcontent-%COMP%]{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal[_ngcontent-%COMP%]{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";transform:scale(-1,1)}.fa-flip-vertical[_ngcontent-%COMP%]{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";transform:scale(1,-1)}[_ngcontent-%COMP%]:root   .fa-flip-horizontal[_ngcontent-%COMP%], [_ngcontent-%COMP%]:root   .fa-flip-vertical[_ngcontent-%COMP%], [_ngcontent-%COMP%]:root   .fa-rotate-180[_ngcontent-%COMP%], [_ngcontent-%COMP%]:root   .fa-rotate-270[_ngcontent-%COMP%], [_ngcontent-%COMP%]:root   .fa-rotate-90[_ngcontent-%COMP%]{filter:none}.fa-stack[_ngcontent-%COMP%]{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x[_ngcontent-%COMP%], .fa-stack-2x[_ngcontent-%COMP%]{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x[_ngcontent-%COMP%]{line-height:inherit}.fa-stack-2x[_ngcontent-%COMP%]{font-size:2em}.fa-inverse[_ngcontent-%COMP%]{color:#fff}.fa-glass[_ngcontent-%COMP%]:before{content:""}.fa-music[_ngcontent-%COMP%]:before{content:""}.fa-search[_ngcontent-%COMP%]:before{content:""}.fa-envelope-o[_ngcontent-%COMP%]:before{content:""}.fa-heart[_ngcontent-%COMP%]:before{content:""}.fa-star[_ngcontent-%COMP%]:before{content:""}.fa-star-o[_ngcontent-%COMP%]:before{content:""}.fa-user[_ngcontent-%COMP%]:before{content:""}.fa-film[_ngcontent-%COMP%]:before{content:""}.fa-th-large[_ngcontent-%COMP%]:before{content:""}.fa-th[_ngcontent-%COMP%]:before{content:""}.fa-th-list[_ngcontent-%COMP%]:before{content:""}.fa-check[_ngcontent-%COMP%]:before{content:""}.fa-close[_ngcontent-%COMP%]:before, .fa-remove[_ngcontent-%COMP%]:before, .fa-times[_ngcontent-%COMP%]:before{content:""}.fa-search-plus[_ngcontent-%COMP%]:before{content:""}.fa-search-minus[_ngcontent-%COMP%]:before{content:""}.fa-power-off[_ngcontent-%COMP%]:before{content:""}.fa-signal[_ngcontent-%COMP%]:before{content:""}.fa-cog[_ngcontent-%COMP%]:before, .fa-gear[_ngcontent-%COMP%]:before{content:""}.fa-trash-o[_ngcontent-%COMP%]:before{content:""}.fa-home[_ngcontent-%COMP%]:before{content:""}.fa-file-o[_ngcontent-%COMP%]:before{content:""}.fa-clock-o[_ngcontent-%COMP%]:before{content:""}.fa-road[_ngcontent-%COMP%]:before{content:""}.fa-download[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-o-down[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-o-up[_ngcontent-%COMP%]:before{content:""}.fa-inbox[_ngcontent-%COMP%]:before{content:""}.fa-play-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-repeat[_ngcontent-%COMP%]:before, .fa-rotate-right[_ngcontent-%COMP%]:before{content:""}.fa-refresh[_ngcontent-%COMP%]:before, .fa-sync[_ngcontent-%COMP%]:before{content:""}.fa-list-alt[_ngcontent-%COMP%]:before{content:""}.fa-lock[_ngcontent-%COMP%]:before{content:""}.fa-flag[_ngcontent-%COMP%]:before{content:""}.fa-headphones[_ngcontent-%COMP%]:before{content:""}.fa-volume-off[_ngcontent-%COMP%]:before{content:""}.fa-volume-down[_ngcontent-%COMP%]:before{content:""}.fa-volume-up[_ngcontent-%COMP%]:before{content:""}.fa-qrcode[_ngcontent-%COMP%]:before{content:""}.fa-barcode[_ngcontent-%COMP%]:before{content:""}.fa-tag[_ngcontent-%COMP%]:before{content:""}.fa-tags[_ngcontent-%COMP%]:before{content:""}.fa-book[_ngcontent-%COMP%]:before{content:""}.fa-bookmark[_ngcontent-%COMP%]:before{content:""}.fa-print[_ngcontent-%COMP%]:before{content:""}.fa-camera[_ngcontent-%COMP%]:before{content:""}.fa-font[_ngcontent-%COMP%]:before{content:""}.fa-bold[_ngcontent-%COMP%]:before{content:""}.fa-italic[_ngcontent-%COMP%]:before{content:""}.fa-text-height[_ngcontent-%COMP%]:before{content:""}.fa-text-width[_ngcontent-%COMP%]:before{content:""}.fa-align-left[_ngcontent-%COMP%]:before{content:""}.fa-align-center[_ngcontent-%COMP%]:before{content:""}.fa-align-right[_ngcontent-%COMP%]:before{content:""}.fa-align-justify[_ngcontent-%COMP%]:before{content:""}.fa-list[_ngcontent-%COMP%]:before{content:""}.fa-dedent[_ngcontent-%COMP%]:before, .fa-outdent[_ngcontent-%COMP%]:before{content:""}.fa-indent[_ngcontent-%COMP%]:before{content:""}.fa-video-camera[_ngcontent-%COMP%]:before, .fa-video[_ngcontent-%COMP%]:before{content:""}.fa-image[_ngcontent-%COMP%]:before, .fa-photo[_ngcontent-%COMP%]:before, .fa-picture-o[_ngcontent-%COMP%]:before{content:""}.fa-pencil[_ngcontent-%COMP%]:before{content:""}.fa-map-marker[_ngcontent-%COMP%]:before{content:""}.fa-adjust[_ngcontent-%COMP%]:before{content:""}.fa-tint[_ngcontent-%COMP%]:before{content:""}.fa-edit[_ngcontent-%COMP%]:before, .fa-pencil-square-o[_ngcontent-%COMP%]:before{content:""}.fa-share-square-o[_ngcontent-%COMP%]:before{content:""}.fa-check-square-o[_ngcontent-%COMP%]:before{content:""}.fa-arrows[_ngcontent-%COMP%]:before{content:""}.fa-step-backward[_ngcontent-%COMP%]:before{content:""}.fa-fast-backward[_ngcontent-%COMP%]:before{content:""}.fa-backward[_ngcontent-%COMP%]:before{content:""}.fa-play[_ngcontent-%COMP%]:before{content:""}.fa-pause[_ngcontent-%COMP%]:before{content:""}.fa-stop[_ngcontent-%COMP%]:before{content:""}.fa-forward[_ngcontent-%COMP%]:before{content:""}.fa-fast-forward[_ngcontent-%COMP%]:before{content:""}.fa-step-forward[_ngcontent-%COMP%]:before{content:""}.fa-eject[_ngcontent-%COMP%]:before{content:""}.fa-chevron-left[_ngcontent-%COMP%]:before{content:""}.fa-chevron-right[_ngcontent-%COMP%]:before{content:""}.fa-plus-circle[_ngcontent-%COMP%]:before{content:""}.fa-minus-circle[_ngcontent-%COMP%]:before{content:""}.fa-times-circle[_ngcontent-%COMP%]:before{content:""}.fa-check-circle[_ngcontent-%COMP%]:before{content:""}.fa-question-circle[_ngcontent-%COMP%]:before{content:""}.fa-info-circle[_ngcontent-%COMP%]:before{content:""}.fa-crosshairs[_ngcontent-%COMP%]:before{content:""}.fa-times-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-check-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-ban[_ngcontent-%COMP%]:before{content:""}.fa-arrow-left[_ngcontent-%COMP%]:before{content:""}.fa-arrow-right[_ngcontent-%COMP%]:before{content:""}.fa-arrow-up[_ngcontent-%COMP%]:before{content:""}.fa-arrow-down[_ngcontent-%COMP%]:before{content:""}.fa-mail-forward[_ngcontent-%COMP%]:before, .fa-share[_ngcontent-%COMP%]:before{content:""}.fa-expand[_ngcontent-%COMP%]:before{content:""}.fa-compress[_ngcontent-%COMP%]:before{content:""}.fa-plus[_ngcontent-%COMP%]:before{content:""}.fa-minus[_ngcontent-%COMP%]:before{content:""}.fa-asterisk[_ngcontent-%COMP%]:before{content:""}.fa-exclamation-circle[_ngcontent-%COMP%]:before{content:""}.fa-gift[_ngcontent-%COMP%]:before{content:""}.fa-leaf[_ngcontent-%COMP%]:before{content:""}.fa-fire[_ngcontent-%COMP%]:before{content:""}.fa-eye[_ngcontent-%COMP%]:before{content:""}.fa-eye-slash[_ngcontent-%COMP%]:before{content:""}.fa-exclamation-triangle[_ngcontent-%COMP%]:before, .fa-warning[_ngcontent-%COMP%]:before{content:""}.fa-plane[_ngcontent-%COMP%]:before{content:""}.fa-calendar[_ngcontent-%COMP%]:before{content:""}.fa-random[_ngcontent-%COMP%]:before{content:""}.fa-comment[_ngcontent-%COMP%]:before{content:""}.fa-magnet[_ngcontent-%COMP%]:before{content:""}.fa-chevron-up[_ngcontent-%COMP%]:before{content:""}.fa-chevron-down[_ngcontent-%COMP%]:before{content:""}.fa-retweet[_ngcontent-%COMP%]:before{content:""}.fa-shopping-cart[_ngcontent-%COMP%]:before{content:""}.fa-folder[_ngcontent-%COMP%]:before{content:""}.fa-folder-open[_ngcontent-%COMP%]:before{content:""}.fa-arrows-v[_ngcontent-%COMP%]:before{content:""}.fa-arrows-h[_ngcontent-%COMP%]:before{content:""}.fa-bar-chart-o[_ngcontent-%COMP%]:before, .fa-bar-chart[_ngcontent-%COMP%]:before{content:""}.fa-twitter-square[_ngcontent-%COMP%]:before{content:""}.fa-facebook-square[_ngcontent-%COMP%]:before{content:""}.fa-camera-retro[_ngcontent-%COMP%]:before{content:""}.fa-key[_ngcontent-%COMP%]:before{content:""}.fa-cogs[_ngcontent-%COMP%]:before, .fa-gears[_ngcontent-%COMP%]:before{content:""}.fa-comments[_ngcontent-%COMP%]:before{content:""}.fa-thumbs-o-up[_ngcontent-%COMP%]:before{content:""}.fa-thumbs-o-down[_ngcontent-%COMP%]:before{content:""}.fa-star-half[_ngcontent-%COMP%]:before{content:""}.fa-heart-o[_ngcontent-%COMP%]:before{content:""}.fa-sign-out[_ngcontent-%COMP%]:before{content:""}.fa-linkedin-square[_ngcontent-%COMP%]:before{content:""}.fa-thumb-tack[_ngcontent-%COMP%]:before{content:""}.fa-external-link[_ngcontent-%COMP%]:before{content:""}.fa-sign-in[_ngcontent-%COMP%]:before{content:""}.fa-trophy[_ngcontent-%COMP%]:before{content:""}.fa-github-square[_ngcontent-%COMP%]:before{content:""}.fa-upload[_ngcontent-%COMP%]:before{content:""}.fa-lemon-o[_ngcontent-%COMP%]:before{content:""}.fa-phone[_ngcontent-%COMP%]:before{content:""}.fa-square-o[_ngcontent-%COMP%]:before{content:""}.fa-bookmark-o[_ngcontent-%COMP%]:before{content:""}.fa-phone-square[_ngcontent-%COMP%]:before{content:""}.fa-twitter[_ngcontent-%COMP%]:before{content:""}.fa-facebook-f[_ngcontent-%COMP%]:before, .fa-facebook[_ngcontent-%COMP%]:before{content:""}.fa-github[_ngcontent-%COMP%]:before{content:""}.fa-unlock[_ngcontent-%COMP%]:before{content:""}.fa-credit-card[_ngcontent-%COMP%]:before{content:""}.fa-feed[_ngcontent-%COMP%]:before, .fa-rss[_ngcontent-%COMP%]:before{content:""}.fa-hdd-o[_ngcontent-%COMP%]:before{content:""}.fa-bullhorn[_ngcontent-%COMP%]:before{content:""}.fa-bell-o[_ngcontent-%COMP%]:before{content:""}.fa-certificate[_ngcontent-%COMP%]:before{content:""}.fa-hand-o-right[_ngcontent-%COMP%]:before{content:""}.fa-hand-o-left[_ngcontent-%COMP%]:before{content:""}.fa-hand-o-up[_ngcontent-%COMP%]:before{content:""}.fa-hand-o-down[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-left[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-right[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-up[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-down[_ngcontent-%COMP%]:before{content:""}.fa-globe[_ngcontent-%COMP%]:before{content:""}.fa-globe-e[_ngcontent-%COMP%]:before{content:""}.fa-globe-w[_ngcontent-%COMP%]:before{content:""}.fa-wrench[_ngcontent-%COMP%]:before{content:""}.fa-tasks[_ngcontent-%COMP%]:before{content:""}.fa-filter[_ngcontent-%COMP%]:before{content:""}.fa-briefcase[_ngcontent-%COMP%]:before{content:""}.fa-arrows-alt[_ngcontent-%COMP%]:before{content:""}.fa-community[_ngcontent-%COMP%]:before, .fa-group[_ngcontent-%COMP%]:before, .fa-users[_ngcontent-%COMP%]:before{content:""}.fa-chain[_ngcontent-%COMP%]:before, .fa-link[_ngcontent-%COMP%]:before{content:""}.fa-cloud[_ngcontent-%COMP%]:before{content:""}.fa-flask[_ngcontent-%COMP%]:before{content:""}.fa-cut[_ngcontent-%COMP%]:before, .fa-scissors[_ngcontent-%COMP%]:before{content:""}.fa-copy[_ngcontent-%COMP%]:before, .fa-files-o[_ngcontent-%COMP%]:before{content:""}.fa-paperclip[_ngcontent-%COMP%]:before{content:""}.fa-floppy-o[_ngcontent-%COMP%]:before, .fa-save[_ngcontent-%COMP%]:before{content:""}.fa-square[_ngcontent-%COMP%]:before{content:""}.fa-bars[_ngcontent-%COMP%]:before, .fa-navicon[_ngcontent-%COMP%]:before, .fa-reorder[_ngcontent-%COMP%]:before{content:""}.fa-list-ul[_ngcontent-%COMP%]:before{content:""}.fa-list-ol[_ngcontent-%COMP%]:before{content:""}.fa-strikethrough[_ngcontent-%COMP%]:before{content:""}.fa-underline[_ngcontent-%COMP%]:before{content:""}.fa-table[_ngcontent-%COMP%]:before{content:""}.fa-magic[_ngcontent-%COMP%]:before{content:""}.fa-truck[_ngcontent-%COMP%]:before{content:""}.fa-pinterest[_ngcontent-%COMP%]:before{content:""}.fa-pinterest-square[_ngcontent-%COMP%]:before{content:""}.fa-google-plus-square[_ngcontent-%COMP%]:before{content:""}.fa-google-plus-g[_ngcontent-%COMP%]:before, .fa-google-plus[_ngcontent-%COMP%]:before{content:""}.fa-money[_ngcontent-%COMP%]:before{content:""}.fa-caret-down[_ngcontent-%COMP%]:before{content:""}.fa-caret-up[_ngcontent-%COMP%]:before{content:""}.fa-caret-left[_ngcontent-%COMP%]:before{content:""}.fa-caret-right[_ngcontent-%COMP%]:before{content:""}.fa-columns[_ngcontent-%COMP%]:before{content:""}.fa-sort[_ngcontent-%COMP%]:before, .fa-unsorted[_ngcontent-%COMP%]:before{content:""}.fa-sort-desc[_ngcontent-%COMP%]:before, .fa-sort-down[_ngcontent-%COMP%]:before{content:""}.fa-sort-asc[_ngcontent-%COMP%]:before, .fa-sort-up[_ngcontent-%COMP%]:before{content:""}.fa-envelope[_ngcontent-%COMP%]:before{content:""}.fa-linkedin[_ngcontent-%COMP%]:before{content:""}.fa-rotate-left[_ngcontent-%COMP%]:before, .fa-undo[_ngcontent-%COMP%]:before{content:""}.fa-gavel[_ngcontent-%COMP%]:before, .fa-legal[_ngcontent-%COMP%]:before{content:""}.fa-dashboard[_ngcontent-%COMP%]:before, .fa-tachometer[_ngcontent-%COMP%]:before{content:""}.fa-comment-o[_ngcontent-%COMP%]:before{content:""}.fa-comments-o[_ngcontent-%COMP%]:before{content:""}.fa-bolt[_ngcontent-%COMP%]:before, .fa-flash[_ngcontent-%COMP%]:before{content:""}.fa-sitemap[_ngcontent-%COMP%]:before{content:""}.fa-umbrella[_ngcontent-%COMP%]:before{content:""}.fa-clipboard[_ngcontent-%COMP%]:before, .fa-paste[_ngcontent-%COMP%]:before{content:""}.fa-lightbulb-o[_ngcontent-%COMP%]:before{content:""}.fa-exchange[_ngcontent-%COMP%]:before{content:""}.fa-cloud-download[_ngcontent-%COMP%]:before{content:""}.fa-cloud-upload[_ngcontent-%COMP%]:before{content:""}.fa-user-md[_ngcontent-%COMP%]:before{content:""}.fa-stethoscope[_ngcontent-%COMP%]:before{content:""}.fa-suitcase[_ngcontent-%COMP%]:before{content:""}.fa-bell[_ngcontent-%COMP%]:before{content:""}.fa-coffee[_ngcontent-%COMP%]:before{content:""}.fa-cutlery[_ngcontent-%COMP%]:before, .fa-utensils[_ngcontent-%COMP%]:before{content:""}.fa-file-text-o[_ngcontent-%COMP%]:before{content:""}.fa-building-o[_ngcontent-%COMP%]:before{content:""}.fa-hospital-o[_ngcontent-%COMP%]:before{content:""}.fa-ambulance[_ngcontent-%COMP%]:before{content:""}.fa-medkit[_ngcontent-%COMP%]:before{content:""}.fa-fighter-jet[_ngcontent-%COMP%]:before{content:""}.fa-beer[_ngcontent-%COMP%]:before{content:""}.fa-h-square[_ngcontent-%COMP%]:before{content:""}.fa-plus-square[_ngcontent-%COMP%]:before{content:""}.fa-angle-double-left[_ngcontent-%COMP%]:before{content:""}.fa-angle-double-right[_ngcontent-%COMP%]:before{content:""}.fa-angle-double-up[_ngcontent-%COMP%]:before{content:""}.fa-angle-double-down[_ngcontent-%COMP%]:before{content:""}.fa-angle-left[_ngcontent-%COMP%]:before{content:""}.fa-angle-right[_ngcontent-%COMP%]:before{content:""}.fa-angle-up[_ngcontent-%COMP%]:before{content:""}.fa-angle-down[_ngcontent-%COMP%]:before{content:""}.fa-desktop[_ngcontent-%COMP%]:before{content:""}.fa-laptop[_ngcontent-%COMP%]:before{content:""}.fa-tablet[_ngcontent-%COMP%]:before{content:""}.fa-mobile-phone[_ngcontent-%COMP%]:before, .fa-mobile[_ngcontent-%COMP%]:before{content:""}.fa-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-quote-left[_ngcontent-%COMP%]:before{content:""}.fa-quote-right[_ngcontent-%COMP%]:before{content:""}.fa-spinner[_ngcontent-%COMP%]:before{content:""}.fa-circle[_ngcontent-%COMP%]:before{content:""}.fa-mail-reply[_ngcontent-%COMP%]:before, .fa-reply[_ngcontent-%COMP%]:before{content:""}.fa-github-alt[_ngcontent-%COMP%]:before{content:""}.fa-folder-o[_ngcontent-%COMP%]:before{content:""}.fa-folder-open-o[_ngcontent-%COMP%]:before{content:""}.fa-smile-o[_ngcontent-%COMP%]:before{content:""}.fa-frown-o[_ngcontent-%COMP%]:before{content:""}.fa-meh-o[_ngcontent-%COMP%]:before{content:""}.fa-gamepad[_ngcontent-%COMP%]:before{content:""}.fa-keyboard-o[_ngcontent-%COMP%]:before{content:""}.fa-flag-o[_ngcontent-%COMP%]:before{content:""}.fa-flag-checkered[_ngcontent-%COMP%]:before{content:""}.fa-terminal[_ngcontent-%COMP%]:before{content:""}.fa-code[_ngcontent-%COMP%]:before{content:""}.fa-mail-reply-all[_ngcontent-%COMP%]:before, .fa-reply-all[_ngcontent-%COMP%]:before{content:""}.fa-star-half-empty[_ngcontent-%COMP%]:before, .fa-star-half-full[_ngcontent-%COMP%]:before, .fa-star-half-o[_ngcontent-%COMP%]:before{content:""}.fa-location-arrow[_ngcontent-%COMP%]:before{content:""}.fa-crop[_ngcontent-%COMP%]:before{content:""}.fa-code-fork[_ngcontent-%COMP%]:before{content:""}.fa-chain-broken[_ngcontent-%COMP%]:before, .fa-unlink[_ngcontent-%COMP%]:before{content:""}.fa-question[_ngcontent-%COMP%]:before{content:""}.fa-info[_ngcontent-%COMP%]:before{content:""}.fa-exclamation[_ngcontent-%COMP%]:before{content:""}.fa-superscript[_ngcontent-%COMP%]:before{content:""}.fa-subscript[_ngcontent-%COMP%]:before{content:""}.fa-eraser[_ngcontent-%COMP%]:before{content:""}.fa-puzzle-piece[_ngcontent-%COMP%]:before{content:""}.fa-microphone[_ngcontent-%COMP%]:before{content:""}.fa-microphone-slash[_ngcontent-%COMP%]:before{content:""}.fa-shield[_ngcontent-%COMP%]:before{content:""}.fa-calendar-o[_ngcontent-%COMP%]:before{content:""}.fa-fire-extinguisher[_ngcontent-%COMP%]:before{content:""}.fa-rocket[_ngcontent-%COMP%]:before{content:""}.fa-maxcdn[_ngcontent-%COMP%]:before{content:""}.fa-chevron-circle-left[_ngcontent-%COMP%]:before{content:""}.fa-chevron-circle-right[_ngcontent-%COMP%]:before{content:""}.fa-chevron-circle-up[_ngcontent-%COMP%]:before{content:""}.fa-chevron-circle-down[_ngcontent-%COMP%]:before{content:""}.fa-html5[_ngcontent-%COMP%]:before{content:""}.fa-css3[_ngcontent-%COMP%]:before{content:""}.fa-anchor[_ngcontent-%COMP%]:before{content:""}.fa-unlock-alt[_ngcontent-%COMP%]:before{content:""}.fa-bullseye[_ngcontent-%COMP%]:before{content:""}.fa-ellipsis-h[_ngcontent-%COMP%]:before{content:""}.fa-ellipsis-v[_ngcontent-%COMP%]:before{content:""}.fa-rss-square[_ngcontent-%COMP%]:before{content:""}.fa-play-circle[_ngcontent-%COMP%]:before{content:""}.fa-ticket[_ngcontent-%COMP%]:before{content:""}.fa-minus-square[_ngcontent-%COMP%]:before{content:""}.fa-minus-square-o[_ngcontent-%COMP%]:before{content:""}.fa-level-up[_ngcontent-%COMP%]:before{content:""}.fa-level-down[_ngcontent-%COMP%]:before{content:""}.fa-check-square[_ngcontent-%COMP%]:before{content:""}.fa-pencil-square[_ngcontent-%COMP%]:before{content:""}.fa-external-link-square[_ngcontent-%COMP%]:before{content:""}.fa-share-square[_ngcontent-%COMP%]:before{content:""}.fa-compass[_ngcontent-%COMP%]:before{content:""}.fa-caret-square-o-down[_ngcontent-%COMP%]:before, .fa-toggle-down[_ngcontent-%COMP%]:before{content:""}.fa-caret-square-o-up[_ngcontent-%COMP%]:before, .fa-toggle-up[_ngcontent-%COMP%]:before{content:""}.fa-caret-square-o-right[_ngcontent-%COMP%]:before, .fa-toggle-right[_ngcontent-%COMP%]:before{content:""}.fa-eur[_ngcontent-%COMP%]:before, .fa-euro[_ngcontent-%COMP%]:before{content:""}.fa-gbp[_ngcontent-%COMP%]:before, .fa-pound[_ngcontent-%COMP%]:before{content:""}.fa-dollar[_ngcontent-%COMP%]:before, .fa-usd[_ngcontent-%COMP%]:before{content:""}.fa-inr[_ngcontent-%COMP%]:before, .fa-rupee[_ngcontent-%COMP%]:before{content:""}.fa-cny[_ngcontent-%COMP%]:before, .fa-jpy[_ngcontent-%COMP%]:before, .fa-rmb[_ngcontent-%COMP%]:before, .fa-yen[_ngcontent-%COMP%]:before{content:""}.fa-rouble[_ngcontent-%COMP%]:before, .fa-rub[_ngcontent-%COMP%]:before, .fa-ruble[_ngcontent-%COMP%]:before{content:""}.fa-krw[_ngcontent-%COMP%]:before, .fa-won[_ngcontent-%COMP%]:before{content:""}.fa-bitcoin[_ngcontent-%COMP%]:before, .fa-btc[_ngcontent-%COMP%]:before{content:""}.fa-file[_ngcontent-%COMP%]:before{content:""}.fa-file-text[_ngcontent-%COMP%]:before{content:""}.fa-sort-alpha-asc[_ngcontent-%COMP%]:before, .fa-sort-alpha-down[_ngcontent-%COMP%]:before{content:""}.fa-sort-alpha-desc[_ngcontent-%COMP%]:before, .fa-sort-alpha-up[_ngcontent-%COMP%]:before{content:""}.fa-sort-amount-asc[_ngcontent-%COMP%]:before, .fa-sort-amount-down[_ngcontent-%COMP%]:before{content:""}.fa-sort-amount-desc[_ngcontent-%COMP%]:before, .fa-sort-amount-up[_ngcontent-%COMP%]:before{content:""}.fa-sort-numeric-asc[_ngcontent-%COMP%]:before, .fa-sort-numeric-down[_ngcontent-%COMP%]:before{content:""}.fa-sort-numeric-desc[_ngcontent-%COMP%]:before, .fa-sort-numeric-up[_ngcontent-%COMP%]:before{content:""}.fa-thumbs-up[_ngcontent-%COMP%]:before{content:""}.fa-thumbs-down[_ngcontent-%COMP%]:before{content:""}.fa-youtube-square[_ngcontent-%COMP%]:before{content:""}.fa-youtube[_ngcontent-%COMP%]:before{content:""}.fa-xing[_ngcontent-%COMP%]:before{content:""}.fa-xing-square[_ngcontent-%COMP%]:before{content:""}.fa-youtube-play[_ngcontent-%COMP%]:before{content:""}.fa-dropbox[_ngcontent-%COMP%]:before{content:""}.fa-stack-overflow[_ngcontent-%COMP%]:before{content:""}.fa-instagram[_ngcontent-%COMP%]:before{content:""}.fa-flickr[_ngcontent-%COMP%]:before{content:""}.fa-adn[_ngcontent-%COMP%]:before{content:""}.fa-bitbucket[_ngcontent-%COMP%]:before{content:""}.fa-bitbucket-square[_ngcontent-%COMP%]:before{content:""}.fa-tumblr[_ngcontent-%COMP%]:before{content:""}.fa-tumblr-square[_ngcontent-%COMP%]:before{content:""}.fa-long-arrow-down[_ngcontent-%COMP%]:before{content:""}.fa-long-arrow-up[_ngcontent-%COMP%]:before{content:""}.fa-long-arrow-left[_ngcontent-%COMP%]:before{content:""}.fa-long-arrow-right[_ngcontent-%COMP%]:before{content:""}.fa-apple[_ngcontent-%COMP%]:before{content:""}.fa-windows[_ngcontent-%COMP%]:before{content:""}.fa-android[_ngcontent-%COMP%]:before{content:""}.fa-linux[_ngcontent-%COMP%]:before{content:""}.fa-dribbble[_ngcontent-%COMP%]:before{content:""}.fa-skype[_ngcontent-%COMP%]:before{content:""}.fa-foursquare[_ngcontent-%COMP%]:before{content:""}.fa-trello[_ngcontent-%COMP%]:before{content:""}.fa-female[_ngcontent-%COMP%]:before{content:""}.fa-male[_ngcontent-%COMP%]:before{content:""}.fa-gittip[_ngcontent-%COMP%]:before, .fa-gratipay[_ngcontent-%COMP%]:before{content:""}.fa-sun-o[_ngcontent-%COMP%]:before{content:""}.fa-moon-o[_ngcontent-%COMP%]:before{content:""}.fa-archive[_ngcontent-%COMP%]:before{content:""}.fa-bug[_ngcontent-%COMP%]:before{content:""}.fa-vk[_ngcontent-%COMP%]:before{content:""}.fa-weibo[_ngcontent-%COMP%]:before{content:""}.fa-renren[_ngcontent-%COMP%]:before{content:""}.fa-pagelines[_ngcontent-%COMP%]:before{content:""}.fa-stack-exchange[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-o-right[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-o-left[_ngcontent-%COMP%]:before{content:""}.fa-caret-square-o-left[_ngcontent-%COMP%]:before, .fa-toggle-left[_ngcontent-%COMP%]:before{content:""}.fa-dot-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-wheelchair[_ngcontent-%COMP%]:before{content:""}.fa-vimeo-square[_ngcontent-%COMP%]:before{content:""}.fa-try[_ngcontent-%COMP%]:before, .fa-turkish-lira[_ngcontent-%COMP%]:before{content:""}.fa-plus-square-o[_ngcontent-%COMP%]:before{content:""}.fa-space-shuttle[_ngcontent-%COMP%]:before{content:""}.fa-slack[_ngcontent-%COMP%]:before{content:""}.fa-envelope-square[_ngcontent-%COMP%]:before{content:""}.fa-wordpress[_ngcontent-%COMP%]:before{content:""}.fa-openid[_ngcontent-%COMP%]:before{content:""}.fa-bank[_ngcontent-%COMP%]:before, .fa-institution[_ngcontent-%COMP%]:before, .fa-university[_ngcontent-%COMP%]:before{content:""}.fa-graduation-cap[_ngcontent-%COMP%]:before, .fa-mortar-board[_ngcontent-%COMP%]:before{content:""}.fa-yahoo[_ngcontent-%COMP%]:before{content:""}.fa-google[_ngcontent-%COMP%]:before{content:""}.fa-reddit[_ngcontent-%COMP%]:before{content:""}.fa-reddit-square[_ngcontent-%COMP%]:before{content:""}.fa-stumbleupon-circle[_ngcontent-%COMP%]:before{content:""}.fa-stumbleupon[_ngcontent-%COMP%]:before{content:""}.fa-delicious[_ngcontent-%COMP%]:before{content:""}.fa-digg[_ngcontent-%COMP%]:before{content:""}.fa-drupal[_ngcontent-%COMP%]:before{content:""}.fa-joomla[_ngcontent-%COMP%]:before{content:""}.fa-language[_ngcontent-%COMP%]:before{content:""}.fa-fax[_ngcontent-%COMP%]:before{content:""}.fa-building[_ngcontent-%COMP%]:before{content:""}.fa-child[_ngcontent-%COMP%]:before{content:""}.fa-paw[_ngcontent-%COMP%]:before{content:""}.fa-spoon[_ngcontent-%COMP%]:before, .fa-utensil-spoon[_ngcontent-%COMP%]:before{content:""}.fa-cube[_ngcontent-%COMP%]:before{content:""}.fa-cubes[_ngcontent-%COMP%]:before{content:""}.fa-behance[_ngcontent-%COMP%]:before{content:""}.fa-behance-square[_ngcontent-%COMP%]:before{content:""}.fa-steam[_ngcontent-%COMP%]:before{content:""}.fa-steam-square[_ngcontent-%COMP%]:before{content:""}.fa-recycle[_ngcontent-%COMP%]:before{content:""}.fa-automobile[_ngcontent-%COMP%]:before, .fa-car[_ngcontent-%COMP%]:before{content:""}.fa-cab[_ngcontent-%COMP%]:before, .fa-taxi[_ngcontent-%COMP%]:before{content:""}.fa-tree[_ngcontent-%COMP%]:before{content:""}.fa-spotify[_ngcontent-%COMP%]:before{content:""}.fa-deviantart[_ngcontent-%COMP%]:before{content:""}.fa-soundcloud[_ngcontent-%COMP%]:before{content:""}.fa-database[_ngcontent-%COMP%]:before{content:""}.fa-file-pdf-o[_ngcontent-%COMP%]:before{content:""}.fa-file-word-o[_ngcontent-%COMP%]:before{content:""}.fa-file-excel-o[_ngcontent-%COMP%]:before{content:""}.fa-file-powerpoint-o[_ngcontent-%COMP%]:before{content:""}.fa-file-image-o[_ngcontent-%COMP%]:before, .fa-file-photo-o[_ngcontent-%COMP%]:before, .fa-file-picture-o[_ngcontent-%COMP%]:before{content:""}.fa-file-archive-o[_ngcontent-%COMP%]:before, .fa-file-zip-o[_ngcontent-%COMP%]:before{content:""}.fa-file-audio-o[_ngcontent-%COMP%]:before, .fa-file-sound-o[_ngcontent-%COMP%]:before{content:""}.fa-file-movie-o[_ngcontent-%COMP%]:before, .fa-file-video-o[_ngcontent-%COMP%]:before{content:""}.fa-file-code-o[_ngcontent-%COMP%]:before{content:""}.fa-vine[_ngcontent-%COMP%]:before{content:""}.fa-codepen[_ngcontent-%COMP%]:before{content:""}.fa-jsfiddle[_ngcontent-%COMP%]:before{content:""}.fa-life-bouy[_ngcontent-%COMP%]:before, .fa-life-buoy[_ngcontent-%COMP%]:before, .fa-life-ring[_ngcontent-%COMP%]:before, .fa-life-saver[_ngcontent-%COMP%]:before, .fa-support[_ngcontent-%COMP%]:before{content:""}.fa-circle-o-notch[_ngcontent-%COMP%]:before{content:""}.fa-ra[_ngcontent-%COMP%]:before, .fa-rebel[_ngcontent-%COMP%]:before, .fa-resistance[_ngcontent-%COMP%]:before{content:""}.fa-empire[_ngcontent-%COMP%]:before, .fa-ge[_ngcontent-%COMP%]:before{content:""}.fa-git-square[_ngcontent-%COMP%]:before{content:""}.fa-git[_ngcontent-%COMP%]:before{content:""}.fa-hacker-news[_ngcontent-%COMP%]:before, .fa-y-combinator-square[_ngcontent-%COMP%]:before, .fa-yc-square[_ngcontent-%COMP%]:before{content:""}.fa-tencent-weibo[_ngcontent-%COMP%]:before{content:""}.fa-qq[_ngcontent-%COMP%]:before{content:""}.fa-wechat[_ngcontent-%COMP%]:before, .fa-weixin[_ngcontent-%COMP%]:before{content:""}.fa-paper-plane[_ngcontent-%COMP%]:before, .fa-send[_ngcontent-%COMP%]:before{content:""}.fa-paper-plane-o[_ngcontent-%COMP%]:before, .fa-send-o[_ngcontent-%COMP%]:before{content:""}.fa-history[_ngcontent-%COMP%]:before{content:""}.fa-circle-thin[_ngcontent-%COMP%]:before{content:""}.fa-header[_ngcontent-%COMP%]:before, .fa-heading[_ngcontent-%COMP%]:before{content:""}.fa-paragraph[_ngcontent-%COMP%]:before{content:""}.fa-sliders[_ngcontent-%COMP%]:before{content:""}.fa-share-alt[_ngcontent-%COMP%]:before{content:""}.fa-share-alt-square[_ngcontent-%COMP%]:before{content:""}.fa-bomb[_ngcontent-%COMP%]:before{content:""}.fa-futbol-o[_ngcontent-%COMP%]:before, .fa-soccer-ball-o[_ngcontent-%COMP%]:before{content:""}.fa-tty[_ngcontent-%COMP%]:before{content:""}.fa-binoculars[_ngcontent-%COMP%]:before{content:""}.fa-plug[_ngcontent-%COMP%]:before{content:""}.fa-slideshare[_ngcontent-%COMP%]:before{content:""}.fa-twitch[_ngcontent-%COMP%]:before{content:""}.fa-yelp[_ngcontent-%COMP%]:before{content:""}.fa-newspaper-o[_ngcontent-%COMP%]:before{content:""}.fa-wifi[_ngcontent-%COMP%]:before{content:""}.fa-calculator[_ngcontent-%COMP%]:before{content:""}.fa-paypal[_ngcontent-%COMP%]:before{content:""}.fa-google-wallet[_ngcontent-%COMP%]:before{content:""}.fa-cc-visa[_ngcontent-%COMP%]:before{content:""}.fa-cc-mastercard[_ngcontent-%COMP%]:before{content:""}.fa-cc-discover[_ngcontent-%COMP%]:before{content:""}.fa-cc-amex[_ngcontent-%COMP%]:before{content:""}.fa-cc-paypal[_ngcontent-%COMP%]:before{content:""}.fa-cc-stripe[_ngcontent-%COMP%]:before{content:""}.fa-bell-slash[_ngcontent-%COMP%]:before{content:""}.fa-bell-slash-o[_ngcontent-%COMP%]:before{content:""}.fa-trash[_ngcontent-%COMP%]:before{content:""}.fa-copyright[_ngcontent-%COMP%]:before{content:""}.fa-at[_ngcontent-%COMP%]:before{content:""}.fa-eyedropper[_ngcontent-%COMP%]:before{content:""}.fa-paint-brush[_ngcontent-%COMP%]:before{content:""}.fa-birthday-cake[_ngcontent-%COMP%]:before{content:""}.fa-area-chart[_ngcontent-%COMP%]:before{content:""}.fa-pie-chart[_ngcontent-%COMP%]:before{content:""}.fa-line-chart[_ngcontent-%COMP%]:before{content:""}.fa-lastfm[_ngcontent-%COMP%]:before{content:""}.fa-lastfm-square[_ngcontent-%COMP%]:before{content:""}.fa-toggle-off[_ngcontent-%COMP%]:before{content:""}.fa-toggle-on[_ngcontent-%COMP%]:before{content:""}.fa-bicycle[_ngcontent-%COMP%]:before{content:""}.fa-bus[_ngcontent-%COMP%]:before{content:""}.fa-ioxhost[_ngcontent-%COMP%]:before{content:""}.fa-angellist[_ngcontent-%COMP%]:before{content:""}.fa-cc[_ngcontent-%COMP%]:before, .fa-closed-captioning[_ngcontent-%COMP%]:before{content:""}.fa-ils[_ngcontent-%COMP%]:before, .fa-shekel[_ngcontent-%COMP%]:before, .fa-sheqel[_ngcontent-%COMP%]:before{content:""}.fa-meanpath[_ngcontent-%COMP%]:before{content:""}.fa-buysellads[_ngcontent-%COMP%]:before{content:""}.fa-connectdevelop[_ngcontent-%COMP%]:before{content:""}.fa-dashcube[_ngcontent-%COMP%]:before{content:""}.fa-forumbee[_ngcontent-%COMP%]:before{content:""}.fa-leanpub[_ngcontent-%COMP%]:before{content:""}.fa-sellsy[_ngcontent-%COMP%]:before{content:""}.fa-shirtsinbulk[_ngcontent-%COMP%]:before{content:""}.fa-simplybuilt[_ngcontent-%COMP%]:before{content:""}.fa-skyatlas[_ngcontent-%COMP%]:before{content:""}.fa-cart-plus[_ngcontent-%COMP%]:before{content:""}.fa-cart-arrow-down[_ngcontent-%COMP%]:before{content:""}.fa-diamond[_ngcontent-%COMP%]:before, .fa-gem[_ngcontent-%COMP%]:before{content:""}.fa-ship[_ngcontent-%COMP%]:before{content:""}.fa-user-secret[_ngcontent-%COMP%]:before{content:""}.fa-motorcycle[_ngcontent-%COMP%]:before{content:""}.fa-street-view[_ngcontent-%COMP%]:before{content:""}.fa-heartbeat[_ngcontent-%COMP%]:before{content:""}.fa-venus[_ngcontent-%COMP%]:before{content:""}.fa-mars[_ngcontent-%COMP%]:before{content:""}.fa-mercury[_ngcontent-%COMP%]:before{content:""}.fa-intersex[_ngcontent-%COMP%]:before, .fa-transgender[_ngcontent-%COMP%]:before{content:""}.fa-transgender-alt[_ngcontent-%COMP%]:before{content:""}.fa-venus-double[_ngcontent-%COMP%]:before{content:""}.fa-mars-double[_ngcontent-%COMP%]:before{content:""}.fa-venus-mars[_ngcontent-%COMP%]:before{content:""}.fa-mars-stroke[_ngcontent-%COMP%]:before{content:""}.fa-mars-stroke-v[_ngcontent-%COMP%]:before{content:""}.fa-mars-stroke-h[_ngcontent-%COMP%]:before{content:""}.fa-neuter[_ngcontent-%COMP%]:before{content:""}.fa-genderless[_ngcontent-%COMP%]:before{content:""}.fa-facebook-official[_ngcontent-%COMP%]:before{content:""}.fa-pinterest-p[_ngcontent-%COMP%]:before{content:""}.fa-whatsapp[_ngcontent-%COMP%]:before{content:""}.fa-server[_ngcontent-%COMP%]:before{content:""}.fa-user-plus[_ngcontent-%COMP%]:before{content:""}.fa-user-times[_ngcontent-%COMP%]:before{content:""}.fa-bed[_ngcontent-%COMP%]:before, .fa-hotel[_ngcontent-%COMP%]:before{content:""}.fa-viacoin[_ngcontent-%COMP%]:before{content:""}.fa-train[_ngcontent-%COMP%]:before{content:""}.fa-subway[_ngcontent-%COMP%]:before{content:""}.fa-medium[_ngcontent-%COMP%]:before{content:""}.fa-medium-square[_ngcontent-%COMP%]:before{content:""}.fa-y-combinator[_ngcontent-%COMP%]:before, .fa-yc[_ngcontent-%COMP%]:before{content:""}.fa-optin-monster[_ngcontent-%COMP%]:before{content:""}.fa-opencart[_ngcontent-%COMP%]:before{content:""}.fa-expeditedssl[_ngcontent-%COMP%]:before{content:""}.fa-battery-4[_ngcontent-%COMP%]:before, .fa-battery-full[_ngcontent-%COMP%]:before, .fa-battery[_ngcontent-%COMP%]:before{content:""}.fa-battery-3[_ngcontent-%COMP%]:before, .fa-battery-three-quarters[_ngcontent-%COMP%]:before{content:""}.fa-battery-2[_ngcontent-%COMP%]:before, .fa-battery-half[_ngcontent-%COMP%]:before{content:""}.fa-battery-1[_ngcontent-%COMP%]:before, .fa-battery-quarter[_ngcontent-%COMP%]:before{content:""}.fa-battery-0[_ngcontent-%COMP%]:before, .fa-battery-empty[_ngcontent-%COMP%]:before{content:""}.fa-mouse-pointer[_ngcontent-%COMP%]:before{content:""}.fa-i-cursor[_ngcontent-%COMP%]:before{content:""}.fa-object-group[_ngcontent-%COMP%]:before{content:""}.fa-object-ungroup[_ngcontent-%COMP%]:before{content:""}.fa-sticky-note[_ngcontent-%COMP%]:before{content:""}.fa-sticky-note-o[_ngcontent-%COMP%]:before{content:""}.fa-cc-jcb[_ngcontent-%COMP%]:before{content:""}.fa-cc-diners-club[_ngcontent-%COMP%]:before{content:""}.fa-clone[_ngcontent-%COMP%]:before{content:""}.fa-balance-scale[_ngcontent-%COMP%]:before{content:""}.fa-hourglass-o[_ngcontent-%COMP%]:before{content:""}.fa-hourglass-1[_ngcontent-%COMP%]:before, .fa-hourglass-start[_ngcontent-%COMP%]:before{content:""}.fa-hourglass-2[_ngcontent-%COMP%]:before, .fa-hourglass-half[_ngcontent-%COMP%]:before{content:""}.fa-hourglass-3[_ngcontent-%COMP%]:before, .fa-hourglass-end[_ngcontent-%COMP%]:before{content:""}.fa-hourglass[_ngcontent-%COMP%]:before{content:""}.fa-hand-grab-o[_ngcontent-%COMP%]:before, .fa-hand-rock-o[_ngcontent-%COMP%]:before{content:""}.fa-hand-paper-o[_ngcontent-%COMP%]:before, .fa-hand-stop-o[_ngcontent-%COMP%]:before{content:""}.fa-hand-scissors-o[_ngcontent-%COMP%]:before{content:""}.fa-hand-lizard-o[_ngcontent-%COMP%]:before{content:""}.fa-hand-spock-o[_ngcontent-%COMP%]:before{content:""}.fa-hand-pointer-o[_ngcontent-%COMP%]:before{content:""}.fa-hand-peace-o[_ngcontent-%COMP%]:before{content:""}.fa-trademark[_ngcontent-%COMP%]:before{content:""}.fa-registered[_ngcontent-%COMP%]:before{content:""}.fa-creative-commons[_ngcontent-%COMP%]:before{content:""}.fa-gg[_ngcontent-%COMP%]:before{content:""}.fa-gg-circle[_ngcontent-%COMP%]:before{content:""}.fa-tripadvisor[_ngcontent-%COMP%]:before{content:""}.fa-odnoklassniki[_ngcontent-%COMP%]:before{content:""}.fa-odnoklassniki-square[_ngcontent-%COMP%]:before{content:""}.fa-get-pocket[_ngcontent-%COMP%]:before{content:""}.fa-wikipedia-w[_ngcontent-%COMP%]:before{content:""}.fa-safari[_ngcontent-%COMP%]:before{content:""}.fa-chrome[_ngcontent-%COMP%]:before{content:""}.fa-firefox[_ngcontent-%COMP%]:before{content:""}.fa-opera[_ngcontent-%COMP%]:before{content:""}.fa-internet-explorer[_ngcontent-%COMP%]:before{content:""}.fa-television[_ngcontent-%COMP%]:before, .fa-tv[_ngcontent-%COMP%]:before{content:""}.fa-contao[_ngcontent-%COMP%]:before{content:""}.fa-500px[_ngcontent-%COMP%]:before{content:""}.fa-amazon[_ngcontent-%COMP%]:before{content:""}.fa-calendar-plus-o[_ngcontent-%COMP%]:before{content:""}.fa-calendar-minus-o[_ngcontent-%COMP%]:before{content:""}.fa-calendar-times-o[_ngcontent-%COMP%]:before{content:""}.fa-calendar-check-o[_ngcontent-%COMP%]:before{content:""}.fa-industry[_ngcontent-%COMP%]:before{content:""}.fa-map-pin[_ngcontent-%COMP%]:before{content:""}.fa-map-signs[_ngcontent-%COMP%]:before{content:""}.fa-map-o[_ngcontent-%COMP%]:before{content:""}.fa-map[_ngcontent-%COMP%]:before{content:""}.fa-commenting[_ngcontent-%COMP%]:before{content:""}.fa-commenting-o[_ngcontent-%COMP%]:before{content:""}.fa-houzz[_ngcontent-%COMP%]:before{content:""}.fa-vimeo-v[_ngcontent-%COMP%]:before, .fa-vimeo[_ngcontent-%COMP%]:before{content:""}.fa-black-tie[_ngcontent-%COMP%]:before{content:""}.fa-fonticons[_ngcontent-%COMP%]:before{content:""}.fa-reddit-alien[_ngcontent-%COMP%]:before{content:""}.fa-edge[_ngcontent-%COMP%]:before{content:""}.fa-credit-card-alt[_ngcontent-%COMP%]:before{content:""}.fa-codiepie[_ngcontent-%COMP%]:before{content:""}.fa-modx[_ngcontent-%COMP%]:before{content:""}.fa-fort-awesome[_ngcontent-%COMP%]:before{content:""}.fa-usb[_ngcontent-%COMP%]:before{content:""}.fa-product-hunt[_ngcontent-%COMP%]:before{content:""}.fa-mixcloud[_ngcontent-%COMP%]:before{content:""}.fa-scribd[_ngcontent-%COMP%]:before{content:""}.fa-pause-circle[_ngcontent-%COMP%]:before{content:""}.fa-pause-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-stop-circle[_ngcontent-%COMP%]:before{content:""}.fa-stop-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-shopping-bag[_ngcontent-%COMP%]:before{content:""}.fa-shopping-basket[_ngcontent-%COMP%]:before{content:""}.fa-hashtag[_ngcontent-%COMP%]:before{content:""}.fa-bluetooth[_ngcontent-%COMP%]:before{content:""}.fa-bluetooth-b[_ngcontent-%COMP%]:before{content:""}.fa-percent[_ngcontent-%COMP%]:before{content:""}.fa-gitlab[_ngcontent-%COMP%]:before{content:""}.fa-wpbeginner[_ngcontent-%COMP%]:before{content:""}.fa-wpforms[_ngcontent-%COMP%]:before{content:""}.fa-envira[_ngcontent-%COMP%]:before{content:""}.fa-universal-access[_ngcontent-%COMP%]:before{content:""}.fa-wheelchair-alt[_ngcontent-%COMP%]:before{content:""}.fa-question-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-blind[_ngcontent-%COMP%]:before{content:""}.fa-audio-description[_ngcontent-%COMP%]:before{content:""}.fa-phone-volume[_ngcontent-%COMP%]:before, .fa-volume-control-phone[_ngcontent-%COMP%]:before{content:""}.fa-braille[_ngcontent-%COMP%]:before{content:""}.fa-assistive-listening-systems[_ngcontent-%COMP%]:before{content:""}.fa-american-sign-language-interpreting[_ngcontent-%COMP%]:before, .fa-asl-interpreting[_ngcontent-%COMP%]:before{content:""}.fa-deaf[_ngcontent-%COMP%]:before, .fa-deafness[_ngcontent-%COMP%]:before, .fa-hard-of-hearing[_ngcontent-%COMP%]:before{content:""}.fa-glide[_ngcontent-%COMP%]:before{content:""}.fa-glide-g[_ngcontent-%COMP%]:before{content:""}.fa-sign-language[_ngcontent-%COMP%]:before, .fa-signing[_ngcontent-%COMP%]:before{content:""}.fa-low-vision[_ngcontent-%COMP%]:before{content:""}.fa-viadeo[_ngcontent-%COMP%]:before{content:""}.fa-viadeo-square[_ngcontent-%COMP%]:before{content:""}.fa-snapchat[_ngcontent-%COMP%]:before{content:""}.fa-snapchat-ghost[_ngcontent-%COMP%]:before{content:""}.fa-snapchat-square[_ngcontent-%COMP%]:before{content:""}.fa-first-order[_ngcontent-%COMP%]:before{content:""}.fa-yoast[_ngcontent-%COMP%]:before{content:""}.fa-themeisle[_ngcontent-%COMP%]:before{content:""}.fa-google-plus-circle[_ngcontent-%COMP%]:before, .fa-google-plus-official[_ngcontent-%COMP%]:before{content:""}.fa-fa[_ngcontent-%COMP%]:before, .fa-font-awesome[_ngcontent-%COMP%]:before{content:""}.fa-handshake-o[_ngcontent-%COMP%]:before{content:""}.fa-envelope-open[_ngcontent-%COMP%]:before{content:""}.fa-envelope-open-o[_ngcontent-%COMP%]:before{content:""}.fa-linode[_ngcontent-%COMP%]:before{content:""}.fa-address-book[_ngcontent-%COMP%]:before{content:""}.fa-address-book-o[_ngcontent-%COMP%]:before{content:""}.fa-address-card[_ngcontent-%COMP%]:before, .fa-vcard[_ngcontent-%COMP%]:before{content:""}.fa-address-card-o[_ngcontent-%COMP%]:before, .fa-vcard-o[_ngcontent-%COMP%]:before{content:""}.fa-user-circle[_ngcontent-%COMP%]:before{content:""}.fa-user-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-user-o[_ngcontent-%COMP%]:before{content:""}.fa-id-badge[_ngcontent-%COMP%]:before{content:""}.fa-drivers-license[_ngcontent-%COMP%]:before, .fa-id-card[_ngcontent-%COMP%]:before{content:""}.fa-drivers-license-o[_ngcontent-%COMP%]:before, .fa-id-card-o[_ngcontent-%COMP%]:before{content:""}.fa-quora[_ngcontent-%COMP%]:before{content:""}.fa-free-code-camp[_ngcontent-%COMP%]:before{content:""}.fa-telegram[_ngcontent-%COMP%]:before{content:""}.fa-thermometer-4[_ngcontent-%COMP%]:before, .fa-thermometer-full[_ngcontent-%COMP%]:before, .fa-thermometer[_ngcontent-%COMP%]:before{content:""}.fa-thermometer-3[_ngcontent-%COMP%]:before, .fa-thermometer-three-quarters[_ngcontent-%COMP%]:before{content:""}.fa-thermometer-2[_ngcontent-%COMP%]:before, .fa-thermometer-half[_ngcontent-%COMP%]:before{content:""}.fa-thermometer-1[_ngcontent-%COMP%]:before, .fa-thermometer-quarter[_ngcontent-%COMP%]:before{content:""}.fa-thermometer-0[_ngcontent-%COMP%]:before, .fa-thermometer-empty[_ngcontent-%COMP%]:before{content:""}.fa-shower[_ngcontent-%COMP%]:before{content:""}.fa-bath[_ngcontent-%COMP%]:before, .fa-bathtub[_ngcontent-%COMP%]:before, .fa-s15[_ngcontent-%COMP%]:before{content:""}.fa-podcast[_ngcontent-%COMP%]:before{content:""}.fa-window-maximize[_ngcontent-%COMP%]:before{content:""}.fa-window-minimize[_ngcontent-%COMP%]:before{content:""}.fa-window-restore[_ngcontent-%COMP%]:before{content:""}.fa-times-rectangle[_ngcontent-%COMP%]:before, .fa-window-close[_ngcontent-%COMP%]:before{content:""}.fa-times-rectangle-o[_ngcontent-%COMP%]:before, .fa-window-close-o[_ngcontent-%COMP%]:before{content:""}.fa-bandcamp[_ngcontent-%COMP%]:before{content:""}.fa-grav[_ngcontent-%COMP%]:before{content:""}.fa-etsy[_ngcontent-%COMP%]:before{content:""}.fa-imdb[_ngcontent-%COMP%]:before{content:""}.fa-ravelry[_ngcontent-%COMP%]:before{content:""}.fa-eercast[_ngcontent-%COMP%]:before{content:""}.fa-microchip[_ngcontent-%COMP%]:before{content:""}.fa-snowflake-o[_ngcontent-%COMP%]:before{content:""}.fa-superpowers[_ngcontent-%COMP%]:before{content:""}.fa-wpexplorer[_ngcontent-%COMP%]:before{content:""}.fa-meetup[_ngcontent-%COMP%]:before{content:""}.fa-mastodon[_ngcontent-%COMP%]:before{content:""}.fa-mastodon-alt[_ngcontent-%COMP%]:before{content:""}.fa-fork-awesome[_ngcontent-%COMP%]:before, .fa-fork-circle[_ngcontent-%COMP%]:before{content:""}.fa-peertube[_ngcontent-%COMP%]:before{content:""}.fa-diaspora[_ngcontent-%COMP%]:before{content:""}.fa-friendica[_ngcontent-%COMP%]:before{content:""}.fa-gnu-social[_ngcontent-%COMP%]:before{content:""}.fa-liberapay-square[_ngcontent-%COMP%]:before{content:""}.fa-liberapay[_ngcontent-%COMP%]:before{content:""}.fa-scuttlebutt[_ngcontent-%COMP%]:before, .fa-ssb[_ngcontent-%COMP%]:before{content:""}.fa-hubzilla[_ngcontent-%COMP%]:before{content:""}.fa-social-home[_ngcontent-%COMP%]:before{content:""}.fa-artstation[_ngcontent-%COMP%]:before{content:""}.fa-discord[_ngcontent-%COMP%]:before{content:""}.fa-discord-alt[_ngcontent-%COMP%]:before{content:""}.fa-patreon[_ngcontent-%COMP%]:before{content:""}.fa-snowdrift[_ngcontent-%COMP%]:before{content:""}.fa-activitypub[_ngcontent-%COMP%]:before{content:""}.fa-ethereum[_ngcontent-%COMP%]:before{content:""}.fa-keybase[_ngcontent-%COMP%]:before{content:""}.fa-shaarli[_ngcontent-%COMP%]:before{content:""}.fa-shaarli-o[_ngcontent-%COMP%]:before{content:""}.fa-cut-key[_ngcontent-%COMP%]:before, .fa-key-modern[_ngcontent-%COMP%]:before{content:""}.fa-xmpp[_ngcontent-%COMP%]:before{content:""}.fa-archive-org[_ngcontent-%COMP%]:before{content:""}.fa-freedombox[_ngcontent-%COMP%]:before{content:""}.fa-facebook-messenger[_ngcontent-%COMP%]:before{content:""}.fa-debian[_ngcontent-%COMP%]:before{content:""}.fa-mastodon-square[_ngcontent-%COMP%]:before{content:""}.fa-tipeee[_ngcontent-%COMP%]:before{content:""}.fa-react[_ngcontent-%COMP%]:before{content:""}.fa-dogmazic[_ngcontent-%COMP%]:before{content:""}.fa-zotero[_ngcontent-%COMP%]:before{content:""}.fa-nodejs[_ngcontent-%COMP%]:before{content:""}.fa-nextcloud[_ngcontent-%COMP%]:before{content:""}.fa-nextcloud-square[_ngcontent-%COMP%]:before{content:""}.fa-hackaday[_ngcontent-%COMP%]:before{content:""}.fa-laravel[_ngcontent-%COMP%]:before{content:""}.fa-signalapp[_ngcontent-%COMP%]:before{content:""}.fa-gnupg[_ngcontent-%COMP%]:before{content:""}.fa-php[_ngcontent-%COMP%]:before{content:""}.fa-ffmpeg[_ngcontent-%COMP%]:before{content:""}.fa-joplin[_ngcontent-%COMP%]:before{content:""}.fa-syncthing[_ngcontent-%COMP%]:before{content:""}.fa-inkscape[_ngcontent-%COMP%]:before{content:""}.fa-matrix-org[_ngcontent-%COMP%]:before{content:""}.fa-pixelfed[_ngcontent-%COMP%]:before{content:""}.fa-bootstrap[_ngcontent-%COMP%]:before{content:""}.fa-dev-to[_ngcontent-%COMP%]:before{content:""}.fa-hashnode[_ngcontent-%COMP%]:before{content:""}.fa-jirafeau[_ngcontent-%COMP%]:before{content:""}.fa-emby[_ngcontent-%COMP%]:before{content:""}.fa-wikidata[_ngcontent-%COMP%]:before{content:""}.fa-gimp[_ngcontent-%COMP%]:before{content:""}.fa-c[_ngcontent-%COMP%]:before{content:""}.fa-digitalocean[_ngcontent-%COMP%]:before{content:""}.fa-att[_ngcontent-%COMP%]:before{content:""}.fa-gitea[_ngcontent-%COMP%]:before{content:""}.fa-file-epub[_ngcontent-%COMP%]:before{content:""}.fa-python[_ngcontent-%COMP%]:before{content:""}.fa-archlinux[_ngcontent-%COMP%]:before{content:""}.fa-pleroma[_ngcontent-%COMP%]:before{content:""}.fa-unsplash[_ngcontent-%COMP%]:before{content:""}.fa-hackster[_ngcontent-%COMP%]:before{content:""}.fa-spell-check[_ngcontent-%COMP%]:before{content:""}.fa-moon[_ngcontent-%COMP%]:before{content:""}.fa-sun[_ngcontent-%COMP%]:before{content:""}.fa-f-droid[_ngcontent-%COMP%]:before{content:""}.fa-biometric[_ngcontent-%COMP%]:before{content:""}.sr-only[_ngcontent-%COMP%]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable[_ngcontent-%COMP%]:active, .sr-only-focusable[_ngcontent-%COMP%]:focus{clip:auto;white-space:normal;position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.info-card-popover-cluster-status[_ngcontent-%COMP%]{max-width:23vw;max-height:20vh}.info-card-popover-cluster-status[_ngcontent-%COMP%]   .popover-body[_ngcontent-%COMP%]{max-width:100%;max-height:19vh;font-size:12px}@media (max-width:calc(1200px - 1px)){.info-card-popover-cluster-status[_ngcontent-%COMP%]{max-width:31vw}}@media (max-width:calc(992px - 1px)){.info-card-popover-cluster-status[_ngcontent-%COMP%]{max-width:46vw}}@media (max-width:calc(768px - 1px)){.info-card-popover-cluster-status[_ngcontent-%COMP%]{max-width:83vw}}.info-card-content-clickable[_ngcontent-%COMP%]{cursor:pointer;padding:7px;border:1px solid #efefef;border-radius:3px}.info-card-content-clickable[_ngcontent-%COMP%]:hover{border-color:#d1d1d1;background-color:#f3f3f3}.custom-control-input.is-valid[_ngcontent-%COMP%] ~ .custom-control-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid ~ .custom-control-label[_ngcontent-%COMP%]{color:initial}.custom-control-input.is-valid[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid:checked ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#2b99a8;background-color:#2b99a8}.custom-control-input.is-valid[_ngcontent-%COMP%] ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#adb5bd}.custom-control-input.is-valid[_ngcontent-%COMP%]:focus ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid:focus ~ .custom-control-label[_ngcontent-%COMP%]::before{box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.custom-control-input.is-valid[_ngcontent-%COMP%]:focus:not(:checked) ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid:focus:not(:checked) ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#76d0dc}html[_ngcontent-%COMP%]{background-color:#fff}body[_ngcontent-%COMP%], html[_ngcontent-%COMP%]{width:100%;height:100%;font-size:12px}h1[_ngcontent-%COMP%]{letter-spacing:-1px;font-size:2em}h2[_ngcontent-%COMP%]{letter-spacing:-1px;font-size:1.833em}h3[_ngcontent-%COMP%]{display:block;font-size:1.583em;font-weight:400}h4[_ngcontent-%COMP%]{font-size:1.5em;line-height:normal}option[_ngcontent-%COMP%]{font-weight:400;font-style:normal}.full-height[_ngcontent-%COMP%]{height:100vh}.full-width[_ngcontent-%COMP%]{width:100vw}.vertical-align[_ngcontent-%COMP%]{display:flex;align-items:center}.horizontal-align[_ngcontent-%COMP%]{display:flex;justify-content:center}.loading[_ngcontent-%COMP%]{position:absolute;top:50%;left:50%}.margin-right-md[_ngcontent-%COMP%]{margin-right:15px}.no-border[_ngcontent-%COMP%]{border:0;box-shadow:0 0 0!important}.italic[_ngcontent-%COMP%]{font-style:italic}.bold[_ngcontent-%COMP%]{font-weight:700}.text-pre[_ngcontent-%COMP%]{white-space:pre-wrap}.btn-light[_ngcontent-%COMP%]{background-color:#fff!important;border-color:#ced4da!important}.btn-light[_ngcontent-%COMP%]:hover{background-color:#ddd!important;border-color:#adadad!important}.btn.active.focus[_ngcontent-%COMP%], .btn.active[_ngcontent-%COMP%]:focus, .btn.focus[_ngcontent-%COMP%], .btn[_ngcontent-%COMP%]:active.focus, .btn[_ngcontent-%COMP%]:active:focus, .btn[_ngcontent-%COMP%]:focus{outline:0}.btn-primary[_ngcontent-%COMP%]   .badge[_ngcontent-%COMP%]{color:#2b99a8;background-color:#eee}.btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%] > i.fa[_ngcontent-%COMP%], .cd-datatable-actions[_ngcontent-%COMP%]   button.btn[_ngcontent-%COMP%]   i.fa[_ngcontent-%COMP%]{margin-right:5px}.dropdown-menu[_ngcontent-%COMP%]{min-width:50px;z-index:999999}.dropdown-menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{color:#474544;cursor:pointer}.dropdown-menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] > i.fa[_ngcontent-%COMP%]{margin-right:5px}.dropdown-menu[_ngcontent-%COMP%] > .active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{color:#eee}.dropdown-menu[_ngcontent-%COMP%] > .active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%], .dropdown-menu[_ngcontent-%COMP%] > .active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:focus, .dropdown-menu[_ngcontent-%COMP%] > .active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{background-color:#21747f}.dataTables_wrapper[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%] > li.dropdown-divider[_ngcontent-%COMP%]{cursor:auto}.container[_ngcontent-%COMP%], .container-fluid[_ngcontent-%COMP%]{padding-left:30px!important;padding-right:30px!important}.row[_ngcontent-%COMP%]{margin-left:-30px;margin-right:-30px}.cd-col-form[_ngcontent-%COMP%], .cd-col-form-input[_ngcontent-%COMP%], .cd-col-form-label[_ngcontent-%COMP%], .cd-col-form-offset[_ngcontent-%COMP%], .col-1[_ngcontent-%COMP%], .col-10[_ngcontent-%COMP%], .col-11[_ngcontent-%COMP%], .col-12[_ngcontent-%COMP%], .col-2[_ngcontent-%COMP%], .col-3[_ngcontent-%COMP%], .col-4[_ngcontent-%COMP%], .col-5[_ngcontent-%COMP%], .col-6[_ngcontent-%COMP%], .col-7[_ngcontent-%COMP%], .col-8[_ngcontent-%COMP%], .col-9[_ngcontent-%COMP%], .col-lg-1[_ngcontent-%COMP%], .col-lg-10[_ngcontent-%COMP%], .col-lg-11[_ngcontent-%COMP%], .col-lg-12[_ngcontent-%COMP%], .col-lg-2[_ngcontent-%COMP%], .col-lg-3[_ngcontent-%COMP%], .col-lg-4[_ngcontent-%COMP%], .col-lg-5[_ngcontent-%COMP%], .col-lg-6[_ngcontent-%COMP%], .col-lg-7[_ngcontent-%COMP%], .col-lg-8[_ngcontent-%COMP%], .col-lg-9[_ngcontent-%COMP%], .col-md-1[_ngcontent-%COMP%], .col-md-10[_ngcontent-%COMP%], .col-md-11[_ngcontent-%COMP%], .col-md-12[_ngcontent-%COMP%], .col-md-2[_ngcontent-%COMP%], .col-md-3[_ngcontent-%COMP%], .col-md-4[_ngcontent-%COMP%], .col-md-5[_ngcontent-%COMP%], .col-md-6[_ngcontent-%COMP%], .col-md-7[_ngcontent-%COMP%], .col-md-8[_ngcontent-%COMP%], .col-md-9[_ngcontent-%COMP%], .col-sm-1[_ngcontent-%COMP%], .col-sm-10[_ngcontent-%COMP%], .col-sm-11[_ngcontent-%COMP%], .col-sm-12[_ngcontent-%COMP%], .col-sm-2[_ngcontent-%COMP%], .col-sm-3[_ngcontent-%COMP%], .col-sm-4[_ngcontent-%COMP%], .col-sm-5[_ngcontent-%COMP%], .col-sm-6[_ngcontent-%COMP%], .col-sm-7[_ngcontent-%COMP%], .col-sm-8[_ngcontent-%COMP%], .col-sm-9[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-input[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-label[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-offset[_ngcontent-%COMP%]{padding-left:30px;padding-right:30px}tags-input[_ngcontent-%COMP%]   .tags[_ngcontent-%COMP%]{border-radius:4px;border:1px solid #d1d1d1;box-shadow:inset 0 1px 1px rgba(0,0,0,.09)}.card[_ngcontent-%COMP%]   .accordion-title[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]   .accordion-title[_ngcontent-%COMP%], uib-accordion[_ngcontent-%COMP%]   .card-title[_ngcontent-%COMP%]{font-size:14px!important}.card-header[_ngcontent-%COMP%]{font-size:1.3em}.card-body[_ngcontent-%COMP%]   h2[_ngcontent-%COMP%]:first-child{margin-top:0}.disabled[_ngcontent-%COMP%]{pointer-events:none}.clickable[_ngcontent-%COMP%], a[_ngcontent-%COMP%]{cursor:pointer}[_ngcontent-%COMP%]:invalid   .has-error-btn[_ngcontent-%COMP%], [_ngcontent-%COMP%]:invalid   .has-error-btn[_ngcontent-%COMP%]:disabled:hover{background-color:#f2dede;border-color:#a94442}.noscript[_ngcontent-%COMP%]{padding-top:5em}.noscript[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]{color:#777}.required[_ngcontent-%COMP%]::after{color:#a94442;content:"*";font-size:14px;padding-left:4px}.form-footer[_ngcontent-%COMP%]{width:100%;display:flex}.cd-form-control[_ngcontent-%COMP%], .form-control[_ngcontent-%COMP%]{display:table-cell}.cd-form-control[_ngcontent-%COMP%]:focus, .form-control[_ngcontent-%COMP%]:focus{border-color:rgba(43,153,168,.8);outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px 2px rgba(43,153,168,.5)}.custom-checkbox[_ngcontent-%COMP%]{padding-top:7px}.card-footer[_ngcontent-%COMP%]   button.btn[_ngcontent-%COMP%]:not(:first-child), .modal-footer[_ngcontent-%COMP%]   button.btn[_ngcontent-%COMP%]:not(:first-child){margin-left:5px}.nav-tabs[_ngcontent-%COMP%]{margin-bottom:15px}.ceph-icon[_ngcontent-%COMP%]{background:url(Ceph_Logo_Stacked_RGB_120411_fa_228x228.1ed169ccc35367a2dab2.png)}.prometheus-icon[_ngcontent-%COMP%]{background:url(prometheus_logo.074db273ef932a67d91b.svg)}.custom-icon[_ngcontent-%COMP%]{padding:10px;margin-right:8px;background-clip:padding-box;background-size:contain;background-repeat:no-repeat}.toast-message[_ngcontent-%COMP%]   .custom-icon[_ngcontent-%COMP%]{filter:brightness(0) invert(1);-webkit-filter:brightness(0) invert(1);-moz-filter:brightness(0) invert(1);-o-filter:brightness(0) invert(1);-ms-filter:brightness(0) invert(1)}.block-ui-wrapper[_ngcontent-%COMP%]{background:rgba(0,0,0,.7)!important}.tooltip-wide[_ngcontent-%COMP%]   .tooltip-inner[_ngcontent-%COMP%]{width:400px}.tooltip-inner[_ngcontent-%COMP%]{background-color:#fff;border:1px solid grey;color:#333;font-size:1.1em}.toast-message[_ngcontent-%COMP%] > ul[_ngcontent-%COMP%]{padding-left:1em;margin:0}@media (min-width:576px){.cd-col-form-label[_ngcontent-%COMP%], .col-form-label[_ngcontent-%COMP%]{text-align:right}}.cd-col-form-label[_ngcontent-%COMP%], .col-form-label[_ngcontent-%COMP%]{font-weight:700}cd-submit-button[_ngcontent-%COMP%]{background-color:transparent!important}bfv-messages[_ngcontent-%COMP%]{display:none}.form-group.has-error[_ngcontent-%COMP%]   .invalid-feedback[_ngcontent-%COMP%]{display:block}.password-strength-level[_ngcontent-%COMP%]{flex:100%;margin-top:2px}.password-strength-level[_ngcontent-%COMP%]   .ok[_ngcontent-%COMP%], .password-strength-level[_ngcontent-%COMP%]   .strong[_ngcontent-%COMP%], .password-strength-level[_ngcontent-%COMP%]   .very-strong[_ngcontent-%COMP%], .password-strength-level[_ngcontent-%COMP%]   .weak[_ngcontent-%COMP%]{border-radius:.25rem;height:13px}.password-strength-level[_ngcontent-%COMP%]   .weak[_ngcontent-%COMP%]{width:25%;background:red}.password-strength-level[_ngcontent-%COMP%]   .ok[_ngcontent-%COMP%]{width:50%;background:#ffc200}.password-strength-level[_ngcontent-%COMP%]   .strong[_ngcontent-%COMP%]{width:75%;background:#0b0}.password-strength-level[_ngcontent-%COMP%]   .very-strong[_ngcontent-%COMP%]{width:100%;background:#245e03}.badge-hdd[_ngcontent-%COMP%]{color:#fff;background-color:#90949c}.badge-ssd[_ngcontent-%COMP%]{color:#fff;background-color:#288cea}.badge-tab[_ngcontent-%COMP%]{color:#555;background-color:#f3f3f3}tree-root[_ngcontent-%COMP%]   tree-viewport[_ngcontent-%COMP%]{min-height:1em}p[_ngcontent-%COMP%]{font-family:monospace}.card[_ngcontent-%COMP%]   div[_ngcontent-%COMP%]   p[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]   div[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]{display:flex}.card[_ngcontent-%COMP%]   div[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]:last-child, pre[_ngcontent-%COMP%]   div[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]:last-child{margin-bottom:0}.card[_ngcontent-%COMP%]   .timestamp[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]   .timestamp[_ngcontent-%COMP%]{font-weight:700;flex-shrink:0}.card[_ngcontent-%COMP%]   .priority[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]   .priority[_ngcontent-%COMP%]{margin-left:.5rem}.card[_ngcontent-%COMP%]   .message[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]   .message[_ngcontent-%COMP%]{margin-left:1rem}.card[_ngcontent-%COMP%]   .err[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]   .err[_ngcontent-%COMP%]{color:#a94442}.card[_ngcontent-%COMP%]   .warn[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]   .warn[_ngcontent-%COMP%]{color:#ffc200}.card[_ngcontent-%COMP%]   .info[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]   .info[_ngcontent-%COMP%]{color:#2b99a8}  timepicker table tbody tr td input.bs-timepicker-field{width:3.5rem!important;font-size:1rem;padding:4px 6px}.middle[_ngcontent-%COMP%]{padding-top:7px}']],data:{}});function Jl(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,0,null,null,null,null,null,null,null))],null,null)}function Xl(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,8,"p",[],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,2,"span",[["class","timestamp"]],null,null,null,null,null)),(t()(),i["ɵted"](2,null,["",""])),i["ɵppd"](3,1),(t()(),i["ɵeld"](4,0,null,null,2,"span",[],[[8,"className",0]],null,null,null,null)),i["ɵppd"](5,1),(t()(),i["ɵted"](6,null,["",""])),(t()(),i["ɵeld"](7,0,null,null,1,"span",[["class","message"]],null,null,null,null,null)),(t()(),i["ɵted"](8,null,["",""]))],null,(function(t,e){var n=i["ɵunv"](e,2,0,t(e,3,0,i["ɵnov"](e.parent.parent.parent,0),e.context.$implicit.stamp));t(e,2,0,n);var a=i["ɵinlineInterpolate"](1,"priority ",i["ɵunv"](e,4,0,t(e,5,0,i["ɵnov"](e.parent.parent.parent,1),e.context.$implicit.priority)),"");t(e,4,0,a),t(e,6,0,e.context.$implicit.priority),t(e,8,0,e.context.$implicit.message)}))}function Ql(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["No entries found"]))],null,null)}function td(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,5,"div",[["class","card bg-light mb-3"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,4,"div",[["class","card-body"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Xl)),i["ɵdid"](3,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Ql)),i["ɵdid"](5,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,3,0,n.clog),t(e,5,0,0===n.contentData.clog.length)}),null)}function ed(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,8,"p",[],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,2,"span",[["class","timestamp"]],null,null,null,null,null)),(t()(),i["ɵted"](2,null,["",""])),i["ɵppd"](3,1),(t()(),i["ɵeld"](4,0,null,null,2,"span",[],[[8,"className",0]],null,null,null,null)),i["ɵppd"](5,1),(t()(),i["ɵted"](6,null,["",""])),(t()(),i["ɵeld"](7,0,null,null,1,"span",[["class","message"]],null,null,null,null,null)),(t()(),i["ɵted"](8,null,["",""]))],null,(function(t,e){var n=i["ɵunv"](e,2,0,t(e,3,0,i["ɵnov"](e.parent.parent.parent,0),e.context.$implicit.stamp));t(e,2,0,n);var a=i["ɵinlineInterpolate"](1,"priority ",i["ɵunv"](e,4,0,t(e,5,0,i["ɵnov"](e.parent.parent.parent,1),e.context.$implicit.priority)),"");t(e,4,0,a),t(e,6,0,e.context.$implicit.priority),t(e,8,0,e.context.$implicit.message)}))}function nd(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["No entries found"]))],null,null)}function ad(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,5,"div",[["class","card bg-light mb-3"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,4,"div",[["class","card-body"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,ed)),i["ɵdid"](3,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,nd)),i["ɵdid"](5,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,3,0,n.audit_log),t(e,5,0,0===n.contentData.audit_log.length)}),null)}function rd(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,12,"div",[],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Jl)),i["ɵdid"](2,540672,null,0,o.NgTemplateOutlet,[i.ViewContainerRef],{ngTemplateOutlet:[0,"ngTemplateOutlet"]},null),(t()(),i["ɵeld"](3,0,null,null,9,"tabset",[],[[2,"tab-container",null]],null,null,Ln.b,Ln.a)),i["ɵdid"](4,180224,null,0,qn.e,[qn.f,i.Renderer2,i.ElementRef],null,null),(t()(),i["ɵeld"](5,0,null,0,3,"tab",[["heading","Cluster Logs"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](6,212992,null,0,qn.b,[qn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,td)),i["ɵdid"](8,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](9,0,null,0,3,"tab",[["heading","Audit Logs"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](10,212992,null,0,qn.b,[qn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,ad)),i["ɵdid"](12,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,2,0,i["ɵnov"](e.parent,4)),t(e,6,0,"Cluster Logs"),t(e,8,0,n.clog),t(e,10,0,"Audit Logs"),t(e,12,0,n.audit_log)}),(function(t,e){t(e,3,0,i["ɵnov"](e,4).clazz),t(e,5,0,i["ɵnov"](e,6).id,i["ɵnov"](e,6).active,i["ɵnov"](e,6).addClass),t(e,9,0,i["ɵnov"](e,10).id,i["ɵnov"](e,10).active,i["ɵnov"](e,10).addClass)}))}function od(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](3,null,["",""]))],(function(t,e){t(e,1,0,e.context.$implicit.value),t(e,2,0,e.context.$implicit.value)}),(function(t,e){t(e,3,0,e.context.$implicit.name)}))}function id(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,81,"div",[["class","form-inline"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,14,"div",[["class","form-group"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](2,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,1,{FormControlNames:1}),i["ɵqud"](603979776,2,{messagesBlock:0}),(t()(),i["ɵeld"](5,0,null,0,1,"label",[["class","col-form-label"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Priority:"])),(t()(),i["ɵeld"](7,0,null,0,8,"select",[["class","form-control custom-select"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],(function(t,e,n){var a=!0,r=t.component;return"change"===e&&(a=!1!==i["ɵnov"](t,8).onChange(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,8).onTouched()&&a),"ngModelChange"===e&&(a=!1!==(r.priority=n)&&a),"ngModelChange"===e&&(a=!1!==r.filterLogs()&&a),a}),null,null)),i["ɵdid"](8,16384,null,0,W.A,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.A]),i["ɵdid"](10,671744,null,0,W.u,[[8,null],[8,null],[8,null],[6,W.p]],{model:[0,"model"]},{update:"ngModelChange"}),i["ɵprd"](2048,null,W.q,null,[W.u]),i["ɵdid"](12,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](13,16384,null,0,K.h,[[8,null],K.a],null,null),(t()(),i["ɵand"](16777216,null,null,1,null,od)),i["ɵdid"](15,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵeld"](16,0,null,null,22,"div",[["class","form-group"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](17,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,3,{FormControlNames:1}),i["ɵqud"](603979776,4,{messagesBlock:0}),(t()(),i["ɵeld"](20,0,null,0,1,"label",[["class","col-form-label"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Keyword:"])),(t()(),i["ɵeld"](22,0,null,0,16,"div",[["class","input-group"]],null,null,null,null,null)),(t()(),i["ɵeld"](23,0,null,null,5,"div",[["class","input-group-prepend"]],null,null,null,null,null)),(t()(),i["ɵeld"](24,0,null,null,4,"span",[["class","input-group-text"]],null,null,null,null,null)),(t()(),i["ɵeld"](25,0,null,null,3,"i",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](27,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](28,1),(t()(),i["ɵeld"](29,0,null,null,6,"input",[["class","form-control"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"ngModelChange"],[null,"keyup"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var a=!0,r=t.component;return"input"===e&&(a=!1!==i["ɵnov"](t,30)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,30).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,30)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,30)._compositionEnd(n.target.value)&&a),"ngModelChange"===e&&(a=!1!==(r.search=n)&&a),"keyup"===e&&(a=!1!==r.filterLogs()&&a),a}),null,null)),i["ɵdid"](30,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](32,671744,null,0,W.u,[[8,null],[8,null],[8,null],[6,W.p]],{model:[0,"model"]},{update:"ngModelChange"}),i["ɵprd"](2048,null,W.q,null,[W.u]),i["ɵdid"](34,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](35,16384,null,0,K.h,[[8,null],K.a],null,null),(t()(),i["ɵeld"](36,0,null,null,2,"div",[["class","input-group-append"]],null,null,null,null,null)),(t()(),i["ɵeld"](37,0,null,null,1,"button",[["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.clearSearchKey()&&a),a}),null,null)),(t()(),i["ɵeld"](38,0,null,null,0,"i",[],[[8,"className",0]],null,null,null,null)),(t()(),i["ɵeld"](39,0,null,null,19,"div",[["class","form-group"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](40,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,5,{FormControlNames:1}),i["ɵqud"](603979776,6,{messagesBlock:0}),(t()(),i["ɵeld"](43,0,null,0,1,"label",[["class","col-form-label"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Date:"])),(t()(),i["ɵeld"](45,0,null,0,13,"div",[["class","input-group"]],null,null,null,null,null)),(t()(),i["ɵeld"](46,16777216,null,null,9,"input",[["bsDatepicker",""],["class","form-control"],["placeholder","Datepicker"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"],[null,"keyup.esc"]],(function(t,e,n){var a=!0,r=t.component;return"input"===e&&(a=!1!==i["ɵnov"](t,47)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,47).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,47)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,47)._compositionEnd(n.target.value)&&a),"change"===e&&(a=!1!==i["ɵnov"](t,49).onChange(n)&&a),"keyup.esc"===e&&(a=!1!==i["ɵnov"](t,49).hide()&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,49).onBlur()&&a),"ngModelChange"===e&&(a=!1!==(r.selectedDate=n)&&a),"ngModelChange"===e&&(a=!1!==r.filterLogs()&&a),a}),null,null)),i["ɵdid"](47,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵdid"](48,737280,null,0,nt.c,[nt.a,i.ElementRef,i.Renderer2,i.ViewContainerRef,U.a],{bsConfig:[0,"bsConfig"]},null),i["ɵdid"](49,16384,null,0,nt.f,[nt.c,nt.j,i.Renderer2,i.ElementRef,i.ChangeDetectorRef],null,null),i["ɵprd"](1024,null,W.o,(function(t){return[t]}),[nt.f]),i["ɵprd"](1024,null,W.p,(function(t,e){return[t,e]}),[W.e,nt.f]),i["ɵdid"](52,671744,null,0,W.u,[[8,null],[6,W.o],[8,null],[6,W.p]],{model:[0,"model"]},{update:"ngModelChange"}),i["ɵprd"](2048,null,W.q,null,[W.u]),i["ɵdid"](54,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](55,16384,null,0,K.h,[[8,null],K.a],null,null),(t()(),i["ɵeld"](56,0,null,null,2,"span",[["class","input-group-append"]],null,null,null,null,null)),(t()(),i["ɵeld"](57,0,null,null,1,"button",[["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.clearDate()&&a),a}),null,null)),(t()(),i["ɵeld"](58,0,null,null,0,"i",[],[[8,"className",0]],null,null,null,null)),(t()(),i["ɵeld"](59,0,null,null,22,"div",[["class","form-group"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](60,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,7,{FormControlNames:1}),i["ɵqud"](603979776,8,{messagesBlock:0}),(t()(),i["ɵeld"](63,0,null,0,1,"label",[["class","col-form-label"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Time range:"])),(t()(),i["ɵeld"](65,0,null,0,16,"div",[["class","d-inline-flex"]],null,null,null,null,null)),(t()(),i["ɵeld"](66,0,null,null,6,"timepicker",[],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"]],(function(t,e,n){var a=!0,r=t.component;return"ngModelChange"===e&&(a=!1!==(r.startTime=n)&&a),"ngModelChange"===e&&(a=!1!==r.filterLogs()&&a),a}),Ul,Tl)),i["ɵprd"](512,null,Ml,Ml,[]),i["ɵdid"](68,704512,null,0,xl,[vl,i.ChangeDetectorRef,Ml,al],{minuteStep:[0,"minuteStep"],showSpinners:[1,"showSpinners"],showMeridian:[2,"showMeridian"]},null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[xl]),i["ɵdid"](70,671744,null,0,W.u,[[8,null],[8,null],[8,null],[6,W.p]],{model:[0,"model"]},{update:"ngModelChange"}),i["ɵprd"](2048,null,W.q,null,[W.u]),i["ɵdid"](72,16384,null,0,W.r,[[4,W.q]],null,null),(t()(),i["ɵeld"](73,0,null,null,1,"span",[["class","middle"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,[" — "])),(t()(),i["ɵeld"](75,0,null,null,6,"timepicker",[],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"]],(function(t,e,n){var a=!0,r=t.component;return"ngModelChange"===e&&(a=!1!==(r.endTime=n)&&a),"ngModelChange"===e&&(a=!1!==r.filterLogs()&&a),a}),Ul,Tl)),i["ɵprd"](512,null,Ml,Ml,[]),i["ɵdid"](77,704512,null,0,xl,[vl,i.ChangeDetectorRef,Ml,al],{minuteStep:[0,"minuteStep"],showSpinners:[1,"showSpinners"],showMeridian:[2,"showMeridian"]},null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[xl]),i["ɵdid"](79,671744,null,0,W.u,[[8,null],[8,null],[8,null],[6,W.p]],{model:[0,"model"]},{update:"ngModelChange"}),i["ɵprd"](2048,null,W.q,null,[W.u]),i["ɵdid"](81,16384,null,0,W.r,[[4,W.q]],null,null)],(function(t,e){var n=e.component;t(e,2,0),t(e,10,0,n.priority),t(e,15,0,n.prioritys),t(e,17,0);var a=t(e,28,0,n.icons.search);t(e,27,0,a),t(e,32,0,n.search),t(e,40,0),t(e,48,0,n.bsConfig),t(e,52,0,n.selectedDate),t(e,60,0),t(e,68,0,1,!1,!1),t(e,70,0,n.startTime),t(e,77,0,1,!1,!1),t(e,79,0,n.endTime)}),(function(t,e){var n=e.component;t(e,1,0,i["ɵnov"](e,2).hasErrors,i["ɵnov"](e,2).hasSuccess),t(e,7,0,i["ɵnov"](e,12).ngClassUntouched,i["ɵnov"](e,12).ngClassTouched,i["ɵnov"](e,12).ngClassPristine,i["ɵnov"](e,12).ngClassDirty,i["ɵnov"](e,12).ngClassValid,i["ɵnov"](e,12).ngClassInvalid,i["ɵnov"](e,12).ngClassPending,i["ɵnov"](e,13).validClass,i["ɵnov"](e,13).invalidClass),t(e,16,0,i["ɵnov"](e,17).hasErrors,i["ɵnov"](e,17).hasSuccess),t(e,29,0,i["ɵnov"](e,34).ngClassUntouched,i["ɵnov"](e,34).ngClassTouched,i["ɵnov"](e,34).ngClassPristine,i["ɵnov"](e,34).ngClassDirty,i["ɵnov"](e,34).ngClassValid,i["ɵnov"](e,34).ngClassInvalid,i["ɵnov"](e,34).ngClassPending,i["ɵnov"](e,35).validClass,i["ɵnov"](e,35).invalidClass),t(e,38,0,i["ɵinlineInterpolate"](1,"icon-prepend ",n.icons.destroy,"")),t(e,39,0,i["ɵnov"](e,40).hasErrors,i["ɵnov"](e,40).hasSuccess),t(e,46,0,i["ɵnov"](e,54).ngClassUntouched,i["ɵnov"](e,54).ngClassTouched,i["ɵnov"](e,54).ngClassPristine,i["ɵnov"](e,54).ngClassDirty,i["ɵnov"](e,54).ngClassValid,i["ɵnov"](e,54).ngClassInvalid,i["ɵnov"](e,54).ngClassPending,i["ɵnov"](e,55).validClass,i["ɵnov"](e,55).invalidClass),t(e,58,0,i["ɵinlineInterpolate"](1,"icon-prepend ",n.icons.destroy,"")),t(e,59,0,i["ɵnov"](e,60).hasErrors,i["ɵnov"](e,60).hasSuccess),t(e,66,0,i["ɵnov"](e,72).ngClassUntouched,i["ɵnov"](e,72).ngClassTouched,i["ɵnov"](e,72).ngClassPristine,i["ɵnov"](e,72).ngClassDirty,i["ɵnov"](e,72).ngClassValid,i["ɵnov"](e,72).ngClassInvalid,i["ɵnov"](e,72).ngClassPending),t(e,75,0,i["ɵnov"](e,81).ngClassUntouched,i["ɵnov"](e,81).ngClassTouched,i["ɵnov"](e,81).ngClassPristine,i["ɵnov"](e,81).ngClassDirty,i["ɵnov"](e,81).ngClassValid,i["ɵnov"](e,81).ngClassInvalid,i["ɵnov"](e,81).ngClassPending)}))}function sd(t){return i["ɵvid"](0,[i["ɵpid"](0,ie.a,[o.DatePipe]),i["ɵpid"](0,Wl.a,[]),(t()(),i["ɵand"](16777216,null,null,1,null,rd)),i["ɵdid"](3,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](0,[["logFiltersTpl",2]],null,0,null,id))],(function(t,e){t(e,3,0,e.component.contentData)}),null)}function cd(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-logs",[],null,null,null,sd,Zl)),i["ɵdid"](1,245760,null,0,$l,[Kl,o.DatePipe,i.NgZone],null,null)],(function(t,e){t(e,1,0)}),null)}var ld=i["ɵccf"]("cd-logs",$l,cd,{},{},[]);const dd=new qo.a("silence");class ud{constructor(t,e,n,a,r){this.authStorageService=t,this.prometheusAlertService=e,this.urlBuilder=n,this.i18n=a,this.cdDatePipe=r,this.selection=new kr.a,this.icons=dt.a,this.customCss={"badge badge-danger":"active","badge badge-warning":"unprocessed","badge badge-info":"suppressed"},this.permission=this.authStorageService.getPermissions().prometheus,this.tableActions=[{permission:"create",canBePrimary:t=>t.hasSingleSelection,disable:t=>!t.hasSingleSelection||t.first().cdExecuting,icon:dt.a.add,routerLink:()=>"/monitoring"+this.urlBuilder.getCreateFrom(this.selection.first().fingerprint),name:this.i18n("Create Silence")}]}ngOnInit(){this.columns=[{name:this.i18n("Name"),prop:"labels.alertname",flexGrow:2},{name:this.i18n("Job"),prop:"labels.job",flexGrow:2},{name:this.i18n("Severity"),prop:"labels.severity"},{name:this.i18n("State"),prop:"status.state",cellTransformation:Tr.a.classAdding},{name:this.i18n("Started"),prop:"startsAt",pipe:this.cdDatePipe},{name:this.i18n("URL"),prop:"generatorURL",sortable:!1,cellTemplate:this.externalLinkTpl}]}updateSelection(t){this.selection=t}}var gd=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function fd(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,5,"tabset",[["cdTableDetail",""]],[[2,"tab-container",null]],null,null,Ln.b,Ln.a)),i["ɵdid"](1,180224,null,0,qn.e,[qn.f,i.Renderer2,i.ElementRef],null,null),(t()(),i["ɵeld"](2,0,null,0,3,"tab",[["heading","Details"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](3,212992,null,0,qn.b,[qn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵeld"](4,0,null,null,1,"cd-table-key-value",[],null,null,null,Wr.b,Wr.a)),i["ɵdid"](5,638976,null,0,Kr.a,[ie.a],{data:[0,"data"],autoReload:[1,"autoReload"],renderObjects:[2,"renderObjects"],appendParentKey:[3,"appendParentKey"],hideEmpty:[4,"hideEmpty"],customCss:[5,"customCss"]},null)],(function(t,e){var n=e.component;t(e,3,0,"Details"),t(e,5,0,n.selection.first(),!1,!0,!1,!0,n.customCss)}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).clazz),t(e,2,0,i["ɵnov"](e,3).id,i["ɵnov"](e,3).active,i["ɵnov"](e,3).addClass)}))}function pd(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,5,"a",[["target","_blank"]],[[8,"href",4]],null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,3,"i",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](3,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](4,1),(t()(),i["ɵted"](-1,null,[" Source"]))],(function(t,e){var n=t(e,4,0,e.component.icons.lineChart);t(e,3,0,n)}),(function(t,e){t(e,0,0,e.context.value)}))}function md(t){return i["ɵvid"](0,[i["ɵqud"](402653184,1,{externalLinkTpl:0}),(t()(),i["ɵeld"](1,0,null,null,5,"cd-table",[["identifier","fingerprint"],["selectionType","single"]],null,[[null,"updateSelection"]],(function(t,e,n){var a=!0;return"updateSelection"===e&&(a=!1!==t.component.updateSelection(n)&&a),a}),hr.b,hr.a)),i["ɵdid"](2,2867200,null,0,br.a,[i.NgZone,i.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],identifier:[2,"identifier"],forceIdentifier:[3,"forceIdentifier"],selectionType:[4,"selectionType"],customCss:[5,"customCss"]},{updateSelection:"updateSelection"}),(t()(),i["ɵeld"](3,0,null,1,1,"cd-table-actions",[["class","table-actions"]],null,null,null,_r.b,_r.a)),i["ɵdid"](4,114688,null,0,yr.a,[],{permission:[0,"permission"],selection:[1,"selection"],tableActions:[2,"tableActions"]},null),(t()(),i["ɵand"](16777216,null,3,1,null,fd)),i["ɵdid"](6,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](0,[[1,2],["externalLinkTpl",2]],null,0,null,pd))],(function(t,e){var n=e.component;t(e,2,0,n.prometheusAlertService.alerts,n.columns,"fingerprint",!0,"single",n.customCss),t(e,4,0,n.permission,n.selection,n.tableActions),t(e,6,0,n.selection.hasSingleSelection)}),null)}class hd{constructor(t){this.i18n=t,this.hideKeys=["alerts","type"]}ngOnInit(){this.columns=[{prop:"name",name:this.i18n("Name")},{prop:"labels.severity",name:this.i18n("Severity")},{prop:"group",name:this.i18n("Group")},{prop:"duration",name:this.i18n("Duration"),pipe:new oe},{prop:"query",name:this.i18n("Query"),isHidden:!0},{prop:"annotations.description",name:this.i18n("Description")}]}selectionUpdated(t){this.selectedRule=t.first()}}var bd=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function _d(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-table",[],null,[[null,"updateSelection"]],(function(t,e,n){var a=!0;return"updateSelection"===e&&(a=!1!==t.component.selectionUpdated(n)&&a),a}),hr.b,hr.a)),i["ɵdid"](1,2867200,null,0,br.a,[i.NgZone,i.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],selectionType:[2,"selectionType"]},{updateSelection:"updateSelection"}),(t()(),i["ɵeld"](2,0,null,null,1,"cd-table-key-value",[],null,null,null,Wr.b,Wr.a)),i["ɵdid"](3,638976,null,0,Kr.a,[ie.a],{data:[0,"data"],renderObjects:[1,"renderObjects"],hideKeys:[2,"hideKeys"]},null)],(function(t,e){var n=e.component;t(e,1,0,n.data,n.columns,"single"),t(e,3,0,n.selectedRule,!0,n.hideKeys)}),null)}var yd=n("y9jh");const Od=new qo.a("monitoring/silence");class vd{constructor(t,e,n,a,r,o,i,s,c){this.authStorageService=t,this.i18n=e,this.cdDatePipe=n,this.prometheusService=a,this.modalService=r,this.notificationService=o,this.urlBuilder=i,this.actionLabels=s,this.succeededLabels=c,this.silences=[],this.selection=new kr.a,this.customCss={"badge badge-danger":"active","badge badge-warning":"pending","badge badge-default":"expired"},this.sorts=[{prop:"endsAt",dir:yd.SortDirection.desc}],this.permission=this.authStorageService.getPermissions().prometheus;const l=t=>t.first()&&t.first().status&&"expired"===t.first().status.state;this.tableActions=[{permission:"create",icon:dt.a.add,routerLink:()=>this.urlBuilder.getCreate(),preserveFragment:!0,canBePrimary:t=>!t.hasSingleSelection,name:this.actionLabels.CREATE},{permission:"create",canBePrimary:t=>t.hasSingleSelection&&l(t),disable:t=>!t.hasSingleSelection||t.first().cdExecuting||t.first().cdExecuting&&l(t)||!l(t),icon:dt.a.copy,routerLink:()=>this.urlBuilder.getRecreate(this.selection.first().id),preserveFragment:!0,name:this.actionLabels.RECREATE},{permission:"update",icon:dt.a.edit,canBePrimary:t=>t.hasSingleSelection&&!l(t),disable:t=>!t.hasSingleSelection||t.first().cdExecuting||t.first().cdExecuting&&!l(t)||l(t),routerLink:()=>this.urlBuilder.getEdit(this.selection.first().id),preserveFragment:!0,name:this.actionLabels.EDIT},{permission:"delete",icon:dt.a.trash,canBePrimary:t=>t.hasSingleSelection&&!l(t),disable:t=>!t.hasSingleSelection||t.first().cdExecuting||l(t),click:()=>this.expireSilence(),name:this.actionLabels.EXPIRE}],this.columns=[{name:this.i18n("ID"),prop:"id",flexGrow:3},{name:this.i18n("Created by"),prop:"createdBy",flexGrow:2},{name:this.i18n("Started"),prop:"startsAt",pipe:this.cdDatePipe},{name:this.i18n("Updated"),prop:"updatedAt",pipe:this.cdDatePipe},{name:this.i18n("Ends"),prop:"endsAt",pipe:this.cdDatePipe},{name:this.i18n("Status"),prop:"status.state",cellTransformation:Tr.a.classAdding}]}refresh(){this.prometheusService.ifAlertmanagerConfigured(()=>{this.prometheusService.getSilences().subscribe(t=>{this.silences=t},()=>{this.prometheusService.disableAlertmanagerConfig()})})}updateSelection(t){this.selection=t}expireSilence(){const t=this.selection.first().id,e=this.i18n("Silence");this.modalRef=this.modalService.show(jo.a,{initialState:{itemDescription:e,itemNames:[t],actionDescription:this.actionLabels.EXPIRE,submitActionObservable:()=>new fn.a(n=>{this.prometheusService.expireSilence(t).subscribe(()=>{this.notificationService.show(be.a.success,`${this.succeededLabels.EXPIRED} ${e} ${t}`,void 0,void 0,"Prometheus")},t=>{t.application="Prometheus",n.error(t)},()=>{n.complete(),this.refresh()})})}})}}var Cd=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Pd(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,5,"tabset",[["cdTableDetail",""]],[[2,"tab-container",null]],null,null,Ln.b,Ln.a)),i["ɵdid"](1,180224,null,0,qn.e,[qn.f,i.Renderer2,i.ElementRef],null,null),(t()(),i["ɵeld"](2,0,null,0,3,"tab",[["heading","Details"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](3,212992,null,0,qn.b,[qn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵeld"](4,0,null,null,1,"cd-table-key-value",[],null,null,null,Wr.b,Wr.a)),i["ɵdid"](5,638976,null,0,Kr.a,[ie.a],{data:[0,"data"],autoReload:[1,"autoReload"],renderObjects:[2,"renderObjects"],appendParentKey:[3,"appendParentKey"],hideEmpty:[4,"hideEmpty"],customCss:[5,"customCss"]},null)],(function(t,e){var n=e.component;t(e,3,0,"Details"),t(e,5,0,n.selection.first(),!1,!0,!1,!0,n.customCss)}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).clazz),t(e,2,0,i["ɵnov"](e,3).id,i["ɵnov"](e,3).active,i["ɵnov"](e,3).addClass)}))}function Md(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,5,"cd-table",[["selectionType","single"]],null,[[null,"fetchData"],[null,"updateSelection"]],(function(t,e,n){var a=!0,r=t.component;return"fetchData"===e&&(a=!1!==r.refresh()&&a),"updateSelection"===e&&(a=!1!==r.updateSelection(n)&&a),a}),hr.b,hr.a)),i["ɵdid"](1,2867200,null,0,br.a,[i.NgZone,i.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],sorts:[2,"sorts"],forceIdentifier:[3,"forceIdentifier"],selectionType:[4,"selectionType"],customCss:[5,"customCss"]},{fetchData:"fetchData",updateSelection:"updateSelection"}),(t()(),i["ɵeld"](2,0,null,1,1,"cd-table-actions",[["class","table-actions"]],null,null,null,_r.b,_r.a)),i["ɵdid"](3,114688,null,0,yr.a,[],{permission:[0,"permission"],selection:[1,"selection"],tableActions:[2,"tableActions"]},null),(t()(),i["ɵand"](16777216,null,3,1,null,Pd)),i["ɵdid"](5,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0,n.silences,n.columns,n.sorts,!0,"single",n.customCss),t(e,3,0,n.permission,n.selection,n.tableActions),t(e,5,0,n.selection.hasSingleSelection)}),null)}class xd{constructor(t,e,n,a,r,o){this.prometheusAlertService=t,this.prometheusService=e,this.route=n,this.router=a,this.summaryService=r,this.cephReleaseNamePipe=o,this.isPrometheusConfigured=!1,this.isAlertmanagerConfigured=!1,this.docsUrl=""}ngOnInit(){this.prometheusService.ifAlertmanagerConfigured(()=>{this.isAlertmanagerConfigured=!0}),this.prometheusService.ifPrometheusConfigured(()=>{this.isPrometheusConfigured=!0});const t=this.summaryService.subscribe(e=>{if(!e)return;const n=this.cephReleaseNamePipe.transform(e.version);this.docsUrl=`https://docs.ceph.com/docs/${n}/mgr/dashboard/#enabling-prometheus-alerting`,setTimeout(()=>{t.unsubscribe()},0)});if(this.route.snapshot.fragment){const t=this.tabs.tabs.find(t=>t.elementRef.nativeElement.id===this.route.snapshot.fragment);t&&(t.active=!0),this.router.navigate([],{fragment:this.route.snapshot.fragment})}}setFragment(t){this.router.navigate([],{fragment:t.id})}}var wd=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Td(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-active-alert-list",[],null,null,null,md,gd)),i["ɵprd"](256,null,qo.a,dd,[]),i["ɵdid"](2,114688,null,0,ud,[bt.a,ye,qo.a,ra.a,ie.a],null,null)],(function(t,e){t(e,2,0)}),null)}function kd(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,5,"cd-alert-panel",[["type","info"]],null,null,null,Or.b,Or.a)),i["ɵdid"](1,114688,null,0,vr.a,[ra.a],{type:[0,"type"]},null),(t()(),i["ɵted"](-1,0,["To see all active Prometheus alerts, please provide the URL to the API of Prometheus' Alertmanager as described in the "])),(t()(),i["ɵeld"](3,0,null,0,1,"a",[["target","_blank"]],[[8,"href",4]],null,null,null,null)),(t()(),i["ɵted"](-1,null,["documentation"])),(t()(),i["ɵted"](-1,0,["."]))],(function(t,e){t(e,1,0,"info")}),(function(t,e){t(e,3,0,i["ɵinlineInterpolate"](1,"",e.component.docsUrl,""))}))}function Sd(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-rules-list",[],null,null,null,_d,bd)),i["ɵdid"](1,114688,null,0,hd,[ra.a],{data:[0,"data"]},null)],(function(t,e){t(e,1,0,e.component.prometheusAlertService.rules)}),null)}function Id(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,5,"cd-alert-panel",[["type","info"]],null,null,null,Or.b,Or.a)),i["ɵdid"](1,114688,null,0,vr.a,[ra.a],{type:[0,"type"]},null),(t()(),i["ɵted"](-1,0,["To see all configured Prometheus alerts, please provide the URL to the API of Prometheus as described in the "])),(t()(),i["ɵeld"](3,0,null,0,1,"a",[["target","_blank"]],[[8,"href",4]],null,null,null,null)),(t()(),i["ɵted"](-1,null,["documentation"])),(t()(),i["ɵted"](-1,0,["."]))],(function(t,e){t(e,1,0,"info")}),(function(t,e){t(e,3,0,i["ɵinlineInterpolate"](1,"",e.component.docsUrl,""))}))}function Nd(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-silences-list",[],null,null,null,Md,Cd)),i["ɵprd"](256,null,qo.a,Od,[]),i["ɵdid"](2,49152,null,0,vd,[bt.a,ra.a,ie.a,he,Pt.b,ut.a,qo.a,Ot.b,Ot.d],null,null)],null,null)}function Rd(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,5,"cd-alert-panel",[["type","info"]],null,null,null,Or.b,Or.a)),i["ɵdid"](1,114688,null,0,vr.a,[ra.a],{type:[0,"type"]},null),(t()(),i["ɵted"](-1,0,["To enable Silences, please provide the URL to the API of the Prometheus' Alertmanager as described in the "])),(t()(),i["ɵeld"](3,0,null,0,1,"a",[["target","_blank"]],[[8,"href",4]],null,null,null,null)),(t()(),i["ɵted"](-1,null,["documentation"])),(t()(),i["ɵted"](-1,0,["."]))],(function(t,e){t(e,1,0,"info")}),(function(t,e){t(e,3,0,i["ɵinlineInterpolate"](1,"",e.component.docsUrl,""))}))}function Ad(t){return i["ɵvid"](0,[i["ɵqud"](402653184,1,{tabs:0}),(t()(),i["ɵeld"](1,0,null,null,19,"tabset",[],[[2,"tab-container",null]],null,null,Ln.b,Ln.a)),i["ɵdid"](2,180224,[[1,4],["tabs",4]],0,qn.e,[qn.f,i.Renderer2,i.ElementRef],null,null),(t()(),i["ɵeld"](3,0,null,0,5,"tab",[["heading","Active Alerts"],["id","active-alerts"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],[[null,"selectTab"]],(function(t,e,n){var a=!0;return"selectTab"===e&&(a=!1!==t.component.setFragment(n)&&a),a}),null,null)),i["ɵdid"](4,212992,null,0,qn.b,[qn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"],id:[1,"id"]},{selectTab:"selectTab"}),(t()(),i["ɵand"](16777216,null,null,1,null,Td)),i["ɵdid"](6,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,kd)),i["ɵdid"](8,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](9,0,null,0,5,"tab",[["heading","All Alerts"],["id","all-alerts"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],[[null,"selectTab"]],(function(t,e,n){var a=!0;return"selectTab"===e&&(a=!1!==t.component.setFragment(n)&&a),a}),null,null)),i["ɵdid"](10,212992,null,0,qn.b,[qn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"],id:[1,"id"]},{selectTab:"selectTab"}),(t()(),i["ɵand"](16777216,null,null,1,null,Sd)),i["ɵdid"](12,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Id)),i["ɵdid"](14,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](15,0,null,0,5,"tab",[["heading","Silences"],["id","silences"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],[[null,"selectTab"]],(function(t,e,n){var a=!0;return"selectTab"===e&&(a=!1!==t.component.setFragment(n)&&a),a}),null,null)),i["ɵdid"](16,212992,null,0,qn.b,[qn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"],id:[1,"id"]},{selectTab:"selectTab"}),(t()(),i["ɵand"](16777216,null,null,1,null,Nd)),i["ɵdid"](18,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Rd)),i["ɵdid"](20,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,4,0,"Active Alerts","active-alerts"),t(e,6,0,n.isAlertmanagerConfigured),t(e,8,0,!n.isAlertmanagerConfigured),t(e,10,0,"All Alerts","all-alerts"),t(e,12,0,n.isPrometheusConfigured),t(e,14,0,!n.isPrometheusConfigured),t(e,16,0,"Silences","silences"),t(e,18,0,n.isAlertmanagerConfigured),t(e,20,0,!n.isAlertmanagerConfigured)}),(function(t,e){t(e,1,0,i["ɵnov"](e,2).clazz),t(e,3,0,i["ɵnov"](e,4).id,i["ɵnov"](e,4).active,i["ɵnov"](e,4).addClass),t(e,9,0,i["ɵnov"](e,10).id,i["ɵnov"](e,10).active,i["ɵnov"](e,10).addClass),t(e,15,0,i["ɵnov"](e,16).id,i["ɵnov"](e,16).active,i["ɵnov"](e,16).addClass)}))}function Ed(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-monitoring-list",[],null,null,null,Ad,wd)),i["ɵdid"](1,114688,null,0,xd,[ye,he,Tt.a,Tt.m,gt.a,ht.a],null,null)],(function(t,e){t(e,1,0)}),null)}var Dd=i["ɵccf"]("cd-monitoring-list",xd,Ed,{},{},[]);let Ld=(()=>{class t{constructor(t){this.i18n=t,this.valueAttributePath={alertname:"name",instance:"alerts.0.labels.instance",job:"alerts.0.labels.job",severity:"labels.severity"}}singleMatch(t,e){return this.multiMatch([t],e)}multiMatch(t,e){if(!t.some(t=>t.isRegex))return t.forEach(t=>{e=this.getMatchedRules(t,e)}),this.describeMatch(e)}getMatchedRules(t,e){const n=this.getAttributePath(t.name);return e.filter(e=>$.get(e,n)===t.value)}describeMatch(t){let e=0;return t.forEach(t=>e+=t.alerts.length),{status:this.getMatchText(t.length,e),cssClass:e?"has-success":"has-warning"}}getAttributePath(t){return this.valueAttributePath[t]}getMatchText(t,e){const n={noRule:this.i18n("Your matcher seems to match no currently defined rule or active alert."),noAlerts:this.i18n("no active alerts"),alert:this.i18n("1 active alert"),alerts:this.i18n("{{n}} active alerts",{n:e}),rule:this.i18n("Matches 1 rule"),rules:this.i18n("Matches {{n}} rules",{n:t})};return t?this.i18n("{{rules}} with {{alerts}}.",{rules:t>1?n.rules:n.rule,alerts:e?e>1?n.alerts:n.alert:n.noAlerts}):n.noRule}}return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t(i["ɵɵinject"](ra.a))},token:t,providedIn:"root"}),t})(),qd=(()=>{class t{constructor(){}calculateDuration(t,e){const n=+t,a=+e,r=this.getDuration(Math.abs(n-a));return n>a?"-"+r:r}getDuration(t){const e=new Date(t),n=e.getUTCHours(),a=e.getUTCMinutes(),r=(t,e)=>t?t+e:t;return[r(Math.floor(t/864e5),"d"),r(n,"h"),r(a,"m")].filter(t=>t).join(" ")}calculateDate(t,e,n){const a=+t;if($.isNaN(a))return;const r=this.getDurationMs(e)*(n?-1:1);return new Date(a+r)}getDurationMs(t){return 6e4*(60*(24*this.getNumbersFromString(t,"d")+this.getNumbersFromString(t,"h"))+this.getNumbersFromString(t,"m"))}getNumbersFromString(t,e){const n=t.match(new RegExp(`[0-9 ]+${e}`,"i"));return n?parseInt(n[0],10):0}}return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t},token:t,providedIn:"root"}),t})();class jd{constructor(t,e,n){this.formBuilder=t,this.silenceMatcher=e,this.bsModalRef=n,this.submitAction=new i.EventEmitter,this.editMode=!1,this.nameAttributes=["alertname","instance","job","severity"],this.possibleValues=[],this.matcherMatch=void 0,this.createForm(),this.subscribeToChanges()}createForm(){this.form=this.formBuilder.group({name:[null,[W.B.required]],value:[{value:null,disabled:!0},[W.B.required]],isRegex:new W.i(!1)})}subscribeToChanges(){this.form.get("name").valueChanges.subscribe(t=>{null!==t?(this.setPossibleValues(t),this.form.get("value").enable()):this.form.get("value").disable()}),this.form.get("value").valueChanges.subscribe(t=>{const e=this.form.value;e.value=t,this.matcherMatch=this.silenceMatcher.singleMatch(e,this.rules)})}setPossibleValues(t){this.possibleValues=$.sortedUniq(this.rules.map(e=>$.get(e,this.silenceMatcher.getAttributePath(t))).filter(t=>t))}preFillControls(t){this.form.setValue(t)}onSubmit(){this.submitAction.emit(this.form.value),this.bsModalRef.hide()}}class Fd{constructor(t,e,n,a,r,o,i,s,c,l,d,u){this.i18n=t,this.router=e,this.authStorageService=n,this.formBuilder=a,this.prometheusService=r,this.notificationService=o,this.route=i,this.timeDiff=s,this.bsModalService=c,this.silenceMatcher=l,this.actionLabels=d,this.succeededLabels=u,this.icons=dt.a,this.bsConfig={dateInputFormat:"YYYY-MM-DDT HH:mm"},this.recreate=!1,this.edit=!1,this.resource=this.i18n("silence"),this.matchers=[],this.matcherMatch=void 0,this.matcherConfig=[{tooltip:this.i18n("Attribute name"),icon:this.icons.paragraph,attribute:"name"},{tooltip:this.i18n("Value"),icon:this.icons.terminal,attribute:"value"},{tooltip:this.i18n("Regular expression"),icon:this.icons.magic,attribute:"isRegex"}],this.init()}init(){this.chooseMode(),this.authenticate(),this.createForm(),this.setupDates(),this.getData()}chooseMode(){this.edit=this.router.url.startsWith("/monitoring/silence/edit"),this.recreate=this.router.url.startsWith("/monitoring/silence/recreate"),this.action=this.edit?this.actionLabels.EDIT:this.recreate?this.actionLabels.RECREATE:this.actionLabels.CREATE}authenticate(){this.permission=this.authStorageService.getPermissions().prometheus,this.permission.read&&(this.edit?this.permission.update:this.permission.create)||this.router.navigate(["/404"])}createForm(){this.form=this.formBuilder.group({startsAt:[null,[W.B.required]],duration:["2h",[W.B.min(1)]],endsAt:[null,[W.B.required]],createdBy:[this.authStorageService.getUsername(),[W.B.required]],comment:[null,[W.B.required]]},{validators:li.a.custom("matcherRequired",()=>0===this.matchers.length)})}setupDates(){const t=new Date;t.setSeconds(0,0),this.form.silentSet("startsAt",t),this.updateDate(),this.subscribeDateChanges()}updateDate(t){const e=this.timeDiff.calculateDate(this.form.getValue(t?"endsAt":"startsAt"),this.form.getValue("duration"),t);e&&this.form.silentSet(t?"startsAt":"endsAt",e)}subscribeDateChanges(){this.form.get("startsAt").valueChanges.subscribe(()=>{this.onDateChange()}),this.form.get("duration").valueChanges.subscribe(()=>{this.updateDate()}),this.form.get("endsAt").valueChanges.subscribe(()=>{this.onDateChange(!0)})}onDateChange(t){this.form.getValue("startsAt")<this.form.getValue("endsAt")?this.updateDuration():this.updateDate(t)}updateDuration(){this.form.silentSet("duration",this.timeDiff.calculateDuration(this.form.getValue("startsAt"),this.form.getValue("endsAt")))}getData(){this.getRules(),this.getModeSpecificData()}getRules(){this.prometheusService.ifPrometheusConfigured(()=>this.prometheusService.getRules().subscribe(t=>{this.rules=t.groups.reduce((t,e)=>$.concat(t,e.rules),[])},()=>{this.prometheusService.disablePrometheusConfig(),this.rules=[]}),()=>{this.rules=[],this.notificationService.show(be.a.info,this.i18n("Please add your Prometheus host to the dashboard configuration and refresh the page"),void 0,void 0,"Prometheus")})}getModeSpecificData(){this.route.params.subscribe(t=>{t.id&&(this.edit||this.recreate?this.prometheusService.getSilences(t).subscribe(t=>{this.fillFormWithSilence(t[0])}):this.prometheusService.getAlerts(t).subscribe(t=>{this.fillFormByAlert(t[0])}))})}fillFormWithSilence(t){this.id=t.id,this.edit&&(["startsAt","endsAt"].forEach(e=>this.form.silentSet(e,new Date(t[e]))),this.updateDuration()),["createdBy","comment"].forEach(e=>this.form.silentSet(e,t[e])),this.matchers=t.matchers,this.validateMatchers()}validateMatchers(){this.rules?(this.matcherMatch=this.silenceMatcher.multiMatch(this.matchers,this.rules),this.form.markAsDirty(),this.form.updateValueAndValidity()):window.setTimeout(()=>this.validateMatchers(),100)}fillFormByAlert(t){const e=t.labels;Object.keys(e).forEach(t=>this.setMatcher({name:t,value:e[t],isRegex:!1}))}setMatcher(t,e){$.isNumber(e)?this.matchers[e]=t:this.matchers.push(t),this.validateMatchers()}showMatcherModal(t){const e=this.bsModalService.show(jd),n=e.content;n.rules=this.rules,$.isNumber(t)&&(n.editMode=!0,n.preFillControls(this.matchers[t])),e.content.submitAction.subscribe(e=>{this.setMatcher(e,t)})}deleteMatcher(t){this.matchers.splice(t,1),this.validateMatchers()}submit(){this.form.invalid||this.prometheusService.setSilence(this.getSubmitData()).subscribe(t=>{this.router.navigate(["/monitoring"],{fragment:"silences"}),this.notificationService.show(be.a.success,this.getNotificationTile(t.body.silenceId),void 0,void 0,"Prometheus")},()=>this.form.setErrors({cdSubmitButton:!0}))}getSubmitData(){const t=this.form.value;return delete t.duration,t.startsAt=t.startsAt.toISOString(),t.endsAt=t.endsAt.toISOString(),t.matchers=this.matchers,this.edit&&(t.id=this.id),t}getNotificationTile(t){let e;return e=this.edit?this.succeededLabels.EDITED:this.recreate?this.succeededLabels.RECREATED:this.succeededLabels.CREATED,`${e} ${this.resource} ${t}`}}var zd=i["ɵcrt"]({encapsulation:0,styles:[["textarea[_ngcontent-%COMP%]{resize:vertical}"]],data:{}});function Vd(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,1,"input",[["class","form-control"],["disabled",""],["readonly",""],["type","text"]],[[8,"id",0],[8,"value",0],[2,"is-valid",null],[2,"is-invalid",null]],null,null,null,null)),i["ɵdid"](2,16384,null,0,K.h,[[8,null],K.a],null,null)],null,(function(t,e){t(e,1,0,i["ɵinlineInterpolate"](2,"matcher-",e.parent.context.$implicit.attribute,"-",e.parent.parent.context.index,""),e.parent.parent.context.matcher[e.parent.context.$implicit.attribute],i["ɵnov"](e,2).validClass,i["ɵnov"](e,2).invalidClass)}))}function Gd(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,2,"div",[["class","input-group-append"]],null,null,null,null,null)),(t()(),i["ɵeld"](2,0,null,null,1,"div",[["class","input-group-text"]],null,null,null,null,null)),(t()(),i["ɵeld"](3,0,null,null,0,"input",[["disabled",""],["readonly",""],["type","checkbox"]],[[8,"id",0],[8,"checked",0]],null,null,null,null))],null,(function(t,e){t(e,3,0,i["ɵinlineInterpolate"](2,"matcher-",e.parent.context.$implicit.attribute,"-",e.parent.parent.context.index,""),e.parent.parent.context.matcher[e.parent.context.$implicit.attribute])}))}function Yd(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,11,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,6,"div",[["class","input-group-prepend"]],null,null,null,null,null)),(t()(),i["ɵeld"](2,16777216,null,null,5,"span",[["class","input-group-text"]],[[1,"aria-describedby",0]],null,null,null,null)),i["ɵdid"](3,212992,null,0,Sn.c,[i.ViewContainerRef,U.a,Sn.a,i.ElementRef,i.Renderer2,Fn.a],{tooltip:[0,"tooltip"]},null),(t()(),i["ɵeld"](4,0,null,null,3,"i",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](6,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](7,1),(t()(),i["ɵand"](16777216,null,null,1,null,Vd)),i["ɵdid"](9,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Gd)),i["ɵdid"](11,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](0,null,null,0))],(function(t,e){t(e,3,0,e.context.$implicit.tooltip);var n=t(e,7,0,e.context.$implicit.icon);t(e,6,0,n),t(e,9,0,"isRegex"!==e.context.$implicit.attribute),t(e,11,0,"isRegex"===e.context.$implicit.attribute)}),(function(t,e){t(e,2,0,i["ɵnov"](e,3).ariaDescribedby)}))}function Bd(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,15,"div",[["class","input-group my-2"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Yd)),i["ɵdid"](2,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵeld"](3,0,null,null,12,"span",[["class","input-group-append"]],null,null,null,null,null)),(t()(),i["ɵeld"](4,16777216,null,null,5,"button",[["class","btn btn-light"],["tooltip","Edit"],["type","button"]],[[8,"id",0],[1,"aria-describedby",0]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.showMatcherModal(t.context.index)&&a),a}),null,null)),i["ɵdid"](5,212992,null,0,Sn.c,[i.ViewContainerRef,U.a,Sn.a,i.ElementRef,i.Renderer2,Fn.a],{tooltip:[0,"tooltip"]},null),(t()(),i["ɵeld"](6,0,null,null,3,"i",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](8,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](9,1),(t()(),i["ɵeld"](10,16777216,null,null,5,"button",[["class","btn btn-light"],["tooltip","Delete"],["type","button"]],[[8,"id",0],[1,"aria-describedby",0]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.deleteMatcher(t.context.index)&&a),a}),null,null)),i["ɵdid"](11,212992,null,0,Sn.c,[i.ViewContainerRef,U.a,Sn.a,i.ElementRef,i.Renderer2,Fn.a],{tooltip:[0,"tooltip"]},null),(t()(),i["ɵeld"](12,0,null,null,3,"i",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](14,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](15,1),(t()(),i["ɵeld"](16,0,null,null,0,"span",[["class","help-block"]],null,null,null,null,null))],(function(t,e){var n=e.component;t(e,2,0,n.matcherConfig),t(e,5,0,"Edit");var a=t(e,9,0,n.icons.edit);t(e,8,0,a),t(e,11,0,"Delete");var r=t(e,15,0,n.icons.trash);t(e,14,0,r)}),(function(t,e){t(e,4,0,i["ɵinlineInterpolate"](1,"matcher-edit-",e.context.index,""),i["ɵnov"](e,5).ariaDescribedby),t(e,10,0,i["ɵinlineInterpolate"](1,"matcher-delete-",e.context.index,""),i["ɵnov"](e,11).ariaDescribedby)}))}function Hd(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-helper",[],null,null,null,As.b,As.a)),i["ɵdid"](1,49152,null,0,Es.a,[],null,null),(t()(),i["ɵted"](-1,0,["Editing a silence will expire the old silence and recreate it as a new silence"]))],null,null)}function Ud(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["This field is required!"]))],null,null)}function Wd(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["This field is required!"]))],null,null)}function Kd(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["This field is required!"]))],null,null)}function $d(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["This field is required!"]))],null,null)}function Zd(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["This field is required!"]))],null,null)}function Jd(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,5,"h5",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](2,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpod"](3,{"text-warning":0,"text-danger":1}),(t()(),i["ɵeld"](4,0,null,null,1,"strong",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["A silence requires at least one matcher"]))],(function(t,e){var n=t(e,3,0,!i["ɵnov"](e.parent,6).submitted,i["ɵnov"](e.parent,6).submitted);t(e,2,0,n)}),null)}function Xd(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,0,null,null,null,null,null,null,null))],null,null)}function Qd(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"span",[],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,2,null,Xd)),i["ɵdid"](2,540672,null,0,o.NgTemplateOutlet,[i.ViewContainerRef],{ngTemplateOutletContext:[0,"ngTemplateOutletContext"],ngTemplateOutlet:[1,"ngTemplateOutlet"]},null),i["ɵpod"](3,{index:0,matcher:1})],(function(t,e){var n=t(e,3,0,e.context.index,e.context.$implicit);t(e,2,0,n,i["ɵnov"](e.parent,2))}),null)}function tu(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"div",[["id","match-state"]],[[8,"className",0]],null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,1,"span",[],[[8,"className",0]],null,null,null,null)),(t()(),i["ɵted"](2,null,[" "," "]))],null,(function(t,e){var n=e.component;t(e,0,0,i["ɵinlineInterpolate"](1,"cd-col-form-offset ",n.matcherMatch.cssClass,"")),t(e,1,0,i["ɵinlineInterpolate"](1,"text-muted ",n.matcherMatch.cssClass,"")),t(e,2,0,n.matcherMatch.status)}))}function eu(t){return i["ɵvid"](0,[i["ɵpid"](0,o.TitleCasePipe,[]),i["ɵpid"](0,si.a,[]),(t()(),i["ɵand"](0,[["matcherTpl",2]],null,0,null,Bd)),(t()(),i["ɵeld"](3,0,null,null,137,"div",[["class","cd-col-form"]],null,null,null,null,null)),(t()(),i["ɵeld"](4,0,null,null,136,"form",[["class","form"],["name","form"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(t,e,n){var a=!0;return"submit"===e&&(a=!1!==i["ɵnov"](t,6).onSubmit(n)&&a),"reset"===e&&(a=!1!==i["ɵnov"](t,6).onReset()&&a),"submit"===e&&(a=!1!==i["ɵnov"](t,9).onSubmit()&&a),a}),null,null)),i["ɵdid"](5,16384,null,0,W.G,[],null,null),i["ɵdid"](6,540672,[["formDir",4]],0,W.l,[[8,null],[8,null]],{form:[0,"form"]},null),i["ɵprd"](2048,null,W.d,null,[W.l]),i["ɵdid"](8,16384,null,0,W.s,[[4,W.d]],null,null),i["ɵdid"](9,16384,null,0,K.d,[],{formGroup:[0,"formGroup"]},null),(t()(),i["ɵeld"](10,0,null,null,130,"div",[["class","card"]],null,null,null,null,null)),(t()(),i["ɵeld"](11,0,null,null,6,"div",[["class","card-header"]],null,null,null,null,null)),(t()(),i["ɵeld"](12,0,null,null,3,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](13,null,[" "," "," "])),i["ɵppd"](14,1),i["ɵppd"](15,1),(t()(),i["ɵand"](16777216,null,null,1,null,Hd)),i["ɵdid"](17,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](18,0,null,null,113,"div",[["class","card-body"]],null,null,null,null,null)),(t()(),i["ɵeld"](19,0,null,null,15,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](20,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,1,{FormControlNames:1}),i["ɵqud"](603979776,2,{messagesBlock:0}),(t()(),i["ɵeld"](23,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","created-by"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Creator"])),(t()(),i["ɵeld"](25,0,null,0,9,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](26,0,null,null,6,"input",[["class","form-control"],["formControlName","createdBy"],["id","created-by"],["name","created-by"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,27)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,27).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,27)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,27)._compositionEnd(n.target.value)&&a),a}),null,null)),i["ɵdid"](27,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](29,671744,[[1,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](31,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](32,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Ud)),i["ɵdid"](34,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](35,0,null,null,16,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](36,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,3,{FormControlNames:1}),i["ɵqud"](603979776,4,{messagesBlock:0}),(t()(),i["ɵeld"](39,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","comment"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Comment"])),(t()(),i["ɵeld"](41,0,null,0,10,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](42,0,null,null,7,"textarea",[["class","form-control"],["formControlName","comment"],["id","comment"],["name","comment"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,43)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,43).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,43)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,43)._compositionEnd(n.target.value)&&a),a}),null,null)),i["ɵdid"](43,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](45,671744,[[3,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](47,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](48,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵted"](-1,null,["            "])),(t()(),i["ɵand"](16777216,null,null,1,null,Wd)),i["ɵdid"](51,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](52,0,null,null,22,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](53,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,5,{FormControlNames:1}),i["ɵqud"](603979776,6,{messagesBlock:0}),(t()(),i["ɵeld"](56,0,null,0,5,"label",[["class","cd-col-form-label"],["for","starts-at"]],null,null,null,null,null)),(t()(),i["ɵeld"](57,0,null,null,1,"span",[["class","required"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Start time"])),(t()(),i["ɵeld"](59,0,null,null,2,"cd-helper",[],null,null,null,As.b,As.a)),i["ɵdid"](60,49152,null,0,Es.a,[],null,null),(t()(),i["ɵted"](-1,0,["If the start time lies in the past the creation time will be used"])),(t()(),i["ɵeld"](62,0,null,0,12,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](63,16777216,null,null,9,"input",[["bsDatepicker",""],["class","form-control"],["formControlName","startsAt"],["id","starts-at"],["name","starts-at"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"],[null,"keyup.esc"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,64)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,64).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,64)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,64)._compositionEnd(n.target.value)&&a),"change"===e&&(a=!1!==i["ɵnov"](t,66).onChange(n)&&a),"keyup.esc"===e&&(a=!1!==i["ɵnov"](t,66).hide()&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,66).onBlur()&&a),a}),null,null)),i["ɵdid"](64,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵdid"](65,737280,null,0,nt.c,[nt.a,i.ElementRef,i.Renderer2,i.ViewContainerRef,U.a],{bsConfig:[0,"bsConfig"]},null),i["ɵdid"](66,16384,null,0,nt.f,[nt.c,nt.j,i.Renderer2,i.ElementRef,i.ChangeDetectorRef],null,null),i["ɵprd"](1024,null,W.o,(function(t){return[t]}),[nt.f]),i["ɵprd"](1024,null,W.p,(function(t,e){return[t,e]}),[W.e,nt.f]),i["ɵdid"](69,671744,[[5,4]],0,W.j,[[3,W.d],[6,W.o],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](71,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](72,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Kd)),i["ɵdid"](74,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](75,0,null,null,15,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](76,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,7,{FormControlNames:1}),i["ɵqud"](603979776,8,{messagesBlock:0}),(t()(),i["ɵeld"](79,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","duration"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Duration"])),(t()(),i["ɵeld"](81,0,null,0,9,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](82,0,null,null,6,"input",[["class","form-control"],["formControlName","duration"],["id","duration"],["name","duration"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,83)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,83).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,83)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,83)._compositionEnd(n.target.value)&&a),a}),null,null)),i["ɵdid"](83,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](85,671744,[[7,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](87,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](88,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,$d)),i["ɵdid"](90,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](91,0,null,null,18,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](92,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,9,{FormControlNames:1}),i["ɵqud"](603979776,10,{messagesBlock:0}),(t()(),i["ɵeld"](95,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","ends-at"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["End time"])),(t()(),i["ɵeld"](97,0,null,0,12,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](98,16777216,null,null,9,"input",[["bsDatepicker",""],["class","form-control"],["formControlName","endsAt"],["id","ends-at"],["name","ends-at"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"],[null,"keyup.esc"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,99)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,99).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,99)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,99)._compositionEnd(n.target.value)&&a),"change"===e&&(a=!1!==i["ɵnov"](t,101).onChange(n)&&a),"keyup.esc"===e&&(a=!1!==i["ɵnov"](t,101).hide()&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,101).onBlur()&&a),a}),null,null)),i["ɵdid"](99,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵdid"](100,737280,null,0,nt.c,[nt.a,i.ElementRef,i.Renderer2,i.ViewContainerRef,U.a],{bsConfig:[0,"bsConfig"]},null),i["ɵdid"](101,16384,null,0,nt.f,[nt.c,nt.j,i.Renderer2,i.ElementRef,i.ChangeDetectorRef],null,null),i["ɵprd"](1024,null,W.o,(function(t){return[t]}),[nt.f]),i["ɵprd"](1024,null,W.p,(function(t,e){return[t,e]}),[W.e,nt.f]),i["ɵdid"](104,671744,[[9,4]],0,W.j,[[3,W.d],[6,W.o],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](106,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](107,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Zd)),i["ɵdid"](109,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](110,0,null,null,21,"fieldset",[],null,null,null,null,null)),(t()(),i["ɵeld"](111,0,null,null,1,"legend",[["class","required"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Matchers"])),(t()(),i["ɵeld"](113,0,null,null,16,"div",[["class","cd-col-form-offset"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Jd)),i["ɵdid"](115,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Qd)),i["ɵdid"](117,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵeld"](118,0,null,null,11,"div",[["class","row"]],null,null,null,null,null)),(t()(),i["ɵeld"](119,0,null,null,10,"div",[["class","col-12"]],null,null,null,null,null)),(t()(),i["ɵeld"](120,0,null,null,9,"button",[["class","btn btn-light float-right my-3"],["id","add-matcher"],["type","button"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.showMatcherModal()&&a),a}),null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](122,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),i["ɵpod"](123,{"btn-warning":0}),(t()(),i["ɵeld"](124,0,null,null,3,"i",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](126,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](127,1),(t()(),i["ɵeld"](128,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Add matcher"])),(t()(),i["ɵand"](16777216,null,null,1,null,tu)),i["ɵdid"](131,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](132,0,null,null,8,"div",[["class","card-footer"]],null,null,null,null,null)),(t()(),i["ɵeld"](133,0,null,null,7,"div",[["class","button-group text-right"]],null,null,null,null,null)),(t()(),i["ɵeld"](134,0,null,null,4,"cd-submit-button",[],null,[[null,"submitAction"]],(function(t,e,n){var a=!0;return"submitAction"===e&&(a=!1!==t.component.submit()&&a),a}),ai.b,ai.a)),i["ɵdid"](135,114688,null,0,ri.a,[i.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(t()(),i["ɵted"](136,0,[" "," "," "])),i["ɵppd"](137,1),i["ɵppd"](138,1),(t()(),i["ɵeld"](139,0,null,null,1,"cd-back-button",[],null,null,null,oi.b,oi.a)),i["ɵdid"](140,49152,null,0,ii.a,[o.Location,Ot.b],null,null)],(function(t,e){var n=e.component;t(e,6,0,n.form),t(e,9,0,n.form),t(e,17,0,n.edit),t(e,20,0),t(e,29,0,"createdBy"),t(e,32,0,"createdBy"),t(e,34,0,n.form.showError("createdBy",i["ɵnov"](e,6),"required")),t(e,36,0),t(e,45,0,"comment"),t(e,48,0,"comment"),t(e,51,0,n.form.showError("comment",i["ɵnov"](e,6),"required")),t(e,53,0),t(e,65,0,n.bsConfig),t(e,69,0,"startsAt"),t(e,72,0,"startsAt"),t(e,74,0,n.form.showError("startsAt",i["ɵnov"](e,6),"required")),t(e,76,0),t(e,85,0,"duration"),t(e,88,0,"duration"),t(e,90,0,n.form.showError("duration",i["ɵnov"](e,6),"required")),t(e,92,0),t(e,100,0,n.bsConfig),t(e,104,0,"endsAt"),t(e,107,0,"endsAt"),t(e,109,0,n.form.showError("endsAt",i["ɵnov"](e,6),"required")),t(e,115,0,0===n.matchers.length),t(e,117,0,n.matchers);var a=t(e,123,0,i["ɵnov"](e,6).submitted&&0===n.matchers.length);t(e,122,0,"btn btn-light float-right my-3",a);var r=t(e,127,0,n.icons.add);t(e,126,0,r),t(e,131,0,n.matchers.length&&n.matcherMatch),t(e,135,0,i["ɵnov"](e,6))}),(function(t,e){var n=e.component;t(e,4,0,i["ɵnov"](e,8).ngClassUntouched,i["ɵnov"](e,8).ngClassTouched,i["ɵnov"](e,8).ngClassPristine,i["ɵnov"](e,8).ngClassDirty,i["ɵnov"](e,8).ngClassValid,i["ɵnov"](e,8).ngClassInvalid,i["ɵnov"](e,8).ngClassPending);var a=i["ɵunv"](e,13,0,t(e,14,0,i["ɵnov"](e,0),n.action)),r=i["ɵunv"](e,13,1,t(e,15,0,i["ɵnov"](e,1),n.resource));t(e,13,0,a,r),t(e,19,0,i["ɵnov"](e,20).hasErrors,i["ɵnov"](e,20).hasSuccess),t(e,26,0,i["ɵnov"](e,31).ngClassUntouched,i["ɵnov"](e,31).ngClassTouched,i["ɵnov"](e,31).ngClassPristine,i["ɵnov"](e,31).ngClassDirty,i["ɵnov"](e,31).ngClassValid,i["ɵnov"](e,31).ngClassInvalid,i["ɵnov"](e,31).ngClassPending,i["ɵnov"](e,32).validClass,i["ɵnov"](e,32).invalidClass),t(e,35,0,i["ɵnov"](e,36).hasErrors,i["ɵnov"](e,36).hasSuccess),t(e,42,0,i["ɵnov"](e,47).ngClassUntouched,i["ɵnov"](e,47).ngClassTouched,i["ɵnov"](e,47).ngClassPristine,i["ɵnov"](e,47).ngClassDirty,i["ɵnov"](e,47).ngClassValid,i["ɵnov"](e,47).ngClassInvalid,i["ɵnov"](e,47).ngClassPending,i["ɵnov"](e,48).validClass,i["ɵnov"](e,48).invalidClass),t(e,52,0,i["ɵnov"](e,53).hasErrors,i["ɵnov"](e,53).hasSuccess),t(e,63,0,i["ɵnov"](e,71).ngClassUntouched,i["ɵnov"](e,71).ngClassTouched,i["ɵnov"](e,71).ngClassPristine,i["ɵnov"](e,71).ngClassDirty,i["ɵnov"](e,71).ngClassValid,i["ɵnov"](e,71).ngClassInvalid,i["ɵnov"](e,71).ngClassPending,i["ɵnov"](e,72).validClass,i["ɵnov"](e,72).invalidClass),t(e,75,0,i["ɵnov"](e,76).hasErrors,i["ɵnov"](e,76).hasSuccess),t(e,82,0,i["ɵnov"](e,87).ngClassUntouched,i["ɵnov"](e,87).ngClassTouched,i["ɵnov"](e,87).ngClassPristine,i["ɵnov"](e,87).ngClassDirty,i["ɵnov"](e,87).ngClassValid,i["ɵnov"](e,87).ngClassInvalid,i["ɵnov"](e,87).ngClassPending,i["ɵnov"](e,88).validClass,i["ɵnov"](e,88).invalidClass),t(e,91,0,i["ɵnov"](e,92).hasErrors,i["ɵnov"](e,92).hasSuccess),t(e,98,0,i["ɵnov"](e,106).ngClassUntouched,i["ɵnov"](e,106).ngClassTouched,i["ɵnov"](e,106).ngClassPristine,i["ɵnov"](e,106).ngClassDirty,i["ɵnov"](e,106).ngClassValid,i["ɵnov"](e,106).ngClassInvalid,i["ɵnov"](e,106).ngClassPending,i["ɵnov"](e,107).validClass,i["ɵnov"](e,107).invalidClass);var o=i["ɵunv"](e,136,0,t(e,137,0,i["ɵnov"](e,0),n.action)),s=i["ɵunv"](e,136,1,t(e,138,0,i["ɵnov"](e,1),n.resource));t(e,136,0,o,s)}))}function nu(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-prometheus-form",[],null,null,null,eu,zd)),i["ɵdid"](1,49152,null,0,Fd,[ra.a,Tt.m,bt.a,bs.a,he,ut.a,Tt.a,qd,Pt.b,Ld,Ot.b,Ot.d],null,null)],null,null)}var au=i["ɵccf"]("cd-prometheus-form",Fd,nu,{},{},[]);let ru=(()=>{class t{constructor(e){this.route=e,this.route.queryParams.subscribe(e=>{this.fromLink=e.fromLink||t.defaultFromLink}),this.route.params.subscribe(t=>{this.serviceId=decodeURIComponent(t.id),this.serviceType=t.type})}}return t.defaultFromLink="/hosts",t})();var ou=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function iu(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"legend",[],null,null,null,null,null)),(t()(),i["ɵted"](1,null,["",".",""])),(t()(),i["ɵeld"](2,0,null,null,1,"cd-table-performance-counter",[],null,null,null,zi.b,zi.a)),i["ɵdid"](3,114688,null,0,Vi.a,[Gi.a,ra.a],{serviceType:[0,"serviceType"],serviceId:[1,"serviceId"]},null)],(function(t,e){var n=e.component;t(e,3,0,n.serviceType,n.serviceId)}),(function(t,e){var n=e.component;t(e,1,0,n.serviceType,n.serviceId)}))}function su(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-performance-counter",[],null,null,null,iu,ou)),i["ɵdid"](1,49152,null,0,ru,[Tt.a],null,null)],null,null)}var cu=i["ɵccf"]("cd-performance-counter",ru,su,{},{},[]);let lu=(()=>{class t{constructor(t){this.http=t,this.url="api/mgr/module"}list(){return this.http.get(`${this.url}`)}getConfig(t){return this.http.get(`${this.url}/${t}`)}updateConfig(t,e){return this.http.put(`${this.url}/${t}`,{config:e})}enable(t){return this.http.post(`${this.url}/${t}/enable`,null)}disable(t){return this.http.post(`${this.url}/${t}/disable`,null)}getOptions(t){return this.http.get(`${this.url}/${t}/options`)}}return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t(i["ɵɵinject"](J.c))},token:t,providedIn:me.a}),t})();class du{constructor(t){this.mgrModuleService=t}ngOnChanges(){if(this.selection.hasSelection){const t=this.selection.first();this.mgrModuleService.getConfig(t.name).subscribe(t=>{this.module_config=t})}}}var uu=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function gu(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,5,"tabset",[],[[2,"tab-container",null]],null,null,Ln.b,Ln.a)),i["ɵdid"](1,180224,null,0,qn.e,[qn.f,i.Renderer2,i.ElementRef],null,null),(t()(),i["ɵeld"](2,0,null,0,3,"tab",[["heading","Details"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](3,212992,null,0,qn.b,[qn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵeld"](4,0,null,null,1,"cd-table-key-value",[],null,null,null,Wr.b,Wr.a)),i["ɵdid"](5,638976,null,0,Kr.a,[ie.a],{data:[0,"data"]},null)],(function(t,e){var n=e.component;t(e,3,0,"Details"),t(e,5,0,n.module_config)}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).clazz),t(e,2,0,i["ɵnov"](e,3).id,i["ɵnov"](e,3).active,i["ɵnov"](e,3).addClass)}))}function fu(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,gu)),i["ɵdid"](1,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){t(e,1,0,e.component.selection.hasSingleSelection)}),null)}var pu=n("PqYM");let mu=(()=>{class t{constructor(t,e,n,a){this.authStorageService=t,this.mgrModuleService=e,this.notificationService=n,this.i18n=a,this.columns=[],this.modules=[],this.selection=new kr.a,this.permission=this.authStorageService.getPermissions().configOpt,this.columns=[{name:this.i18n("Name"),prop:"name",flexGrow:1},{name:this.i18n("Enabled"),prop:"enabled",flexGrow:1,cellClass:"text-center",cellTransformation:Tr.a.checkIcon},{name:this.i18n("Always-On"),prop:"always_on",isHidden:!0,flexGrow:1,cellClass:"text-center",cellTransformation:Tr.a.checkIcon}];const r=()=>this.selection.first()&&encodeURIComponent(this.selection.first().name);this.tableActions=[{name:this.i18n("Edit"),permission:"update",disable:()=>!this.selection.hasSelection||0===Object.values(this.selection.first().options).length,routerLink:()=>`/mgr-modules/edit/${r()}`,icon:dt.a.edit},{name:this.i18n("Enable"),permission:"update",click:()=>this.updateModuleState(),disable:()=>this.isTableActionDisabled("enabled"),icon:dt.a.start},{name:this.i18n("Disable"),permission:"update",click:()=>this.updateModuleState(),disable:()=>this.isTableActionDisabled("disabled"),disableDesc:()=>this.getTableActionDisabledDesc(),icon:dt.a.stop}]}getModuleList(t){this.mgrModuleService.list().subscribe(t=>{this.modules=t},()=>{t.error()})}updateSelection(t){this.selection=t}isTableActionDisabled(t){if(!this.selection.hasSelection)return!0;const e=this.selection.first();if("dashboard"===e.name)return!0;if(e.always_on)return!0;switch(t){case"enabled":return e.enabled;case"disabled":return!e.enabled}}getTableActionDisabledDesc(){if(this.selection.hasSelection&&this.selection.first().always_on)return this.i18n("This Manager module is always on.")}updateModuleState(){if(!this.selection.hasSelection)return;let t;const e=()=>{Object(pu.a)(2e3).subscribe(()=>{this.mgrModuleService.list().subscribe(()=>{this.notificationService.suspendToasties(!1),this.blockUI.stop(),this.table.refreshBtn()},()=>{e()})})},n=this.selection.first();t=n.enabled?this.mgrModuleService.disable(n.name):this.mgrModuleService.enable(n.name),t.subscribe(()=>{},()=>{this.notificationService.suspendToasties(!0),this.blockUI.start(this.i18n("Reconnecting, please wait ...")),e()})}}return Hc.__decorate([function(t,e,n){t[e]=S.decorate(void 0)},Hc.__metadata("design:type",Object)],t.prototype,"blockUI",void 0),t})();var hu=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function bu(t){return i["ɵvid"](0,[i["ɵqud"](402653184,1,{table:0}),(t()(),i["ɵeld"](1,0,null,null,5,"cd-table",[["columnMode","flex"],["identifier","module"],["selectionType","single"]],null,[[null,"updateSelection"],[null,"fetchData"]],(function(t,e,n){var a=!0,r=t.component;return"updateSelection"===e&&(a=!1!==r.updateSelection(n)&&a),"fetchData"===e&&(a=!1!==r.getModuleList(n)&&a),a}),hr.b,hr.a)),i["ɵdid"](2,2867200,[[1,4],["table",4]],0,br.a,[i.NgZone,i.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],autoReload:[3,"autoReload"],identifier:[4,"identifier"],selectionType:[5,"selectionType"]},{fetchData:"fetchData",updateSelection:"updateSelection"}),(t()(),i["ɵeld"](3,0,null,1,1,"cd-table-actions",[["class","table-actions"]],null,null,null,_r.b,_r.a)),i["ɵdid"](4,114688,null,0,yr.a,[],{permission:[0,"permission"],selection:[1,"selection"],tableActions:[2,"tableActions"]},null),(t()(),i["ɵeld"](5,0,null,3,1,"cd-mgr-module-details",[["cdTableDetail",""]],null,null,null,fu,uu)),i["ɵdid"](6,573440,null,0,du,[lu],{selection:[0,"selection"]},null)],(function(t,e){var n=e.component;t(e,2,0,n.modules,n.columns,"flex",!1,"module","single"),t(e,4,0,n.permission,n.selection,n.tableActions),t(e,6,0,n.selection)}),null)}function _u(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-mgr-module-list",[],null,null,null,bu,hu)),i["ɵdid"](1,49152,null,0,mu,[bt.a,lu,ut.a,ra.a],null,null)],null,null)}var yu=i["ɵccf"]("cd-mgr-module-list",mu,_u,{},{},[]);class Ou{constructor(t,e,n,a,r,o){this.route=t,this.router=e,this.formBuilder=n,this.mgrModuleService=a,this.notificationService=r,this.i18n=o,this.error=!1,this.loading=!1,this.moduleName="",this.moduleOptions=[]}ngOnInit(){this.route.params.subscribe(t=>{this.moduleName=decodeURIComponent(t.name),this.loading=!0;const e=[this.mgrModuleService.getOptions(this.moduleName),this.mgrModuleService.getConfig(this.moduleName)];Object(cs.a)(e).subscribe(t=>{this.loading=!1,this.moduleOptions=t[0],this.createForm(),this.mgrModuleForm.setValue(t[1])},t=>{this.error=!0})})}getValidators(t){const e=[];switch(t.type){case"addr":e.push(li.a.ip());break;case"uint":case"int":case"size":case"secs":e.push(li.a.number()),e.push(W.B.required),$.isNumber(t.min)&&e.push(W.B.min(t.min)),$.isNumber(t.max)&&e.push(W.B.max(t.max));break;case"str":$.isNumber(t.min)&&e.push(W.B.minLength(t.min)),$.isNumber(t.max)&&e.push(W.B.maxLength(t.max));break;case"float":e.push(W.B.required),e.push(li.a.decimalNumber());break;case"uuid":e.push(li.a.uuid())}return e}createForm(){const t={};$.forEach(this.moduleOptions,e=>{t[e.name]=[e.default_value,this.getValidators(e)]}),this.mgrModuleForm=this.formBuilder.group(t)}goToListView(){this.router.navigate(["/mgr-modules"])}onSubmit(){if(this.mgrModuleForm.pristine)return void this.goToListView();const t={};$.forEach(this.moduleOptions,e=>{const n=this.mgrModuleForm.get(e.name);n.dirty&&n.valid&&(t[e.name]=n.value)}),this.mgrModuleService.updateConfig(this.moduleName,t).subscribe(()=>{this.notificationService.show(be.a.success,this.i18n('Updated options for module "{{name}}".',{name:this.moduleName})),this.goToListView()},()=>{this.mgrModuleForm.setErrors({cdSubmitButton:!0})})}}var vu=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Cu(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-loading-panel",[],null,null,null,$r.b,$r.a)),i["ɵdid"](1,49152,null,0,Zr.a,[],null,null),(t()(),i["ɵted"](-1,0,["Loading configuration..."]))],null,null)}function Pu(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-alert-panel",[["type","error"]],null,null,null,Or.b,Or.a)),i["ɵdid"](1,114688,null,0,vr.a,[ra.a],{type:[0,"type"]},null),(t()(),i["ɵted"](-1,0,["The configuration could not be loaded."]))],(function(t,e){t(e,1,0,"error")}),null)}function Mu(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"cd-helper",[],null,null,null,As.b,As.a)),i["ɵdid"](1,49152,null,0,Es.a,[],null,null),(t()(),i["ɵted"](2,0,[" "," "])),i["ɵppd"](3,1)],null,(function(t,e){var n=i["ɵunv"](e,2,0,t(e,3,0,i["ɵnov"](e.parent.parent.parent,0),e.parent.context.$implicit.value.long_desc||e.parent.context.$implicit.value.desc));t(e,2,0,n)}))}function xu(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,9,"div",[["class","col-sm-7"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,8,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(t()(),i["ɵeld"](2,0,null,null,6,"input",[["class","custom-control-input"],["type","checkbox"]],[[8,"id",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(t,e,n){var a=!0;return"change"===e&&(a=!1!==i["ɵnov"](t,3).onChange(n.target.checked)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,3).onTouched()&&a),a}),null,null)),i["ɵdid"](3,16384,null,0,W.c,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.c]),i["ɵdid"](5,671744,[[1,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](7,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](8,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵeld"](9,0,null,null,0,"label",[["class","custom-control-label"]],[[8,"htmlFor",0]],null,null,null,null))],(function(t,e){t(e,5,0,i["ɵinlineInterpolate"](1,"",e.parent.context.$implicit.value.name,"")),t(e,8,0,i["ɵinlineInterpolate"](1,"",e.parent.context.$implicit.value.name,""))}),(function(t,e){t(e,2,0,i["ɵinlineInterpolate"](1,"",e.parent.context.$implicit.value.name,""),i["ɵnov"](e,7).ngClassUntouched,i["ɵnov"](e,7).ngClassTouched,i["ɵnov"](e,7).ngClassPristine,i["ɵnov"](e,7).ngClassDirty,i["ɵnov"](e,7).ngClassValid,i["ɵnov"](e,7).ngClassInvalid,i["ɵnov"](e,7).ngClassPending,i["ɵnov"](e,8).validClass,i["ɵnov"](e,8).invalidClass),t(e,9,0,i["ɵinlineInterpolate"](1,"",e.parent.context.$implicit.value.name,""))}))}function wu(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,"input",[["class","form-control"],["type","text"]],[[8,"id",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,1)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,1).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,1)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,1)._compositionEnd(n.target.value)&&a),a}),null,null)),i["ɵdid"](1,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](3,671744,[[1,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](5,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](6,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null)],(function(t,e){t(e,3,0,i["ɵinlineInterpolate"](1,"",e.parent.parent.context.$implicit.value.name,"")),t(e,6,0,i["ɵinlineInterpolate"](1,"",e.parent.parent.context.$implicit.value.name,""))}),(function(t,e){t(e,0,0,i["ɵinlineInterpolate"](1,"",e.parent.parent.context.$implicit.value.name,""),i["ɵnov"](e,5).ngClassUntouched,i["ɵnov"](e,5).ngClassTouched,i["ɵnov"](e,5).ngClassPristine,i["ɵnov"](e,5).ngClassDirty,i["ɵnov"](e,5).ngClassValid,i["ɵnov"](e,5).ngClassInvalid,i["ɵnov"](e,5).ngClassPending,i["ɵnov"](e,6).validClass,i["ɵnov"](e,6).invalidClass)}))}function Tu(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{ngValue:[0,"ngValue"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(t()(),i["ɵted"](3,null,[" "," "]))],(function(t,e){t(e,1,0,e.context.$implicit),t(e,2,0,e.context.$implicit)}),(function(t,e){t(e,3,0,e.context.$implicit)}))}function ku(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,8,"select",[["class","form-control custom-select"]],[[8,"id",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(t,e,n){var a=!0;return"change"===e&&(a=!1!==i["ɵnov"](t,1).onChange(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,1).onTouched()&&a),a}),null,null)),i["ɵdid"](1,16384,null,0,W.A,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.A]),i["ɵdid"](3,671744,[[1,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](5,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](6,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Tu)),i["ɵdid"](8,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){t(e,3,0,i["ɵinlineInterpolate"](1,"",e.parent.parent.context.$implicit.value.name,"")),t(e,6,0,i["ɵinlineInterpolate"](1,"",e.parent.parent.context.$implicit.value.name,"")),t(e,8,0,e.parent.parent.context.$implicit.value.enum_allowed)}),(function(t,e){t(e,0,0,i["ɵinlineInterpolate"](1,"",e.parent.parent.context.$implicit.value.name,""),i["ɵnov"](e,5).ngClassUntouched,i["ɵnov"](e,5).ngClassTouched,i["ɵnov"](e,5).ngClassPristine,i["ɵnov"](e,5).ngClassDirty,i["ɵnov"](e,5).ngClassValid,i["ɵnov"](e,5).ngClassInvalid,i["ɵnov"](e,5).ngClassPending,i["ɵnov"](e,6).validClass,i["ɵnov"](e,6).invalidClass)}))}function Su(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["The entered value is not a valid UUID, e.g.: 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8"]))],null,null)}function Iu(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["The entered value needs to be a valid IP address."]))],null,null)}function Nu(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,8,"div",[["class","col-sm-7"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,wu)),i["ɵdid"](2,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,ku)),i["ɵdid"](4,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Su)),i["ɵdid"](6,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Iu)),i["ɵdid"](8,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,2,0,0===e.parent.context.$implicit.value.enum_allowed.length),t(e,4,0,e.parent.context.$implicit.value.enum_allowed.length>0),t(e,6,0,n.mgrModuleForm.showError(e.parent.context.$implicit.value.name,i["ɵnov"](e.parent.parent,3),"invalidUuid")),t(e,8,0,n.mgrModuleForm.showError(e.parent.context.$implicit.value.name,i["ɵnov"](e.parent.parent,3),"pattern"))}),null)}function Ru(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["This field is required."]))],null,null)}function Au(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](1,null,["The entered value is too high! It must be lower or equal to ","."]))],null,(function(t,e){t(e,1,0,e.parent.parent.context.$implicit.value.max)}))}function Eu(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](1,null,["The entered value is too low! It must be greater or equal to ","."]))],null,(function(t,e){t(e,1,0,e.parent.parent.context.$implicit.value.min)}))}function Du(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["The entered value needs to be a number."]))],null,null)}function Lu(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,16,"div",[["class","col-sm-7"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,7,"input",[["class","form-control"],["type","number"]],[[8,"id",0],[8,"min",0],[8,"max",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,2)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,2).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,2)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,2)._compositionEnd(n.target.value)&&a),"change"===e&&(a=!1!==i["ɵnov"](t,3).onChange(n.target.value)&&a),"input"===e&&(a=!1!==i["ɵnov"](t,3).onChange(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,3).onTouched()&&a),a}),null,null)),i["ɵdid"](2,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵdid"](3,16384,null,0,W.w,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t,e){return[t,e]}),[W.e,W.w]),i["ɵdid"](5,671744,[[1,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](7,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](8,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Ru)),i["ɵdid"](10,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Au)),i["ɵdid"](12,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Eu)),i["ɵdid"](14,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Du)),i["ɵdid"](16,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,5,0,i["ɵinlineInterpolate"](1,"",e.parent.context.$implicit.value.name,"")),t(e,8,0,i["ɵinlineInterpolate"](1,"",e.parent.context.$implicit.value.name,"")),t(e,10,0,n.mgrModuleForm.showError(e.parent.context.$implicit.value.name,i["ɵnov"](e.parent.parent,3),"required")),t(e,12,0,n.mgrModuleForm.showError(e.parent.context.$implicit.value.name,i["ɵnov"](e.parent.parent,3),"max")),t(e,14,0,n.mgrModuleForm.showError(e.parent.context.$implicit.value.name,i["ɵnov"](e.parent.parent,3),"min")),t(e,16,0,n.mgrModuleForm.showError(e.parent.context.$implicit.value.name,i["ɵnov"](e.parent.parent,3),"pattern"))}),(function(t,e){t(e,1,1,[i["ɵinlineInterpolate"](1,"",e.parent.context.$implicit.value.name,""),i["ɵinlineInterpolate"](1,"",e.parent.context.$implicit.value.min,""),i["ɵinlineInterpolate"](1,"",e.parent.context.$implicit.value.max,""),i["ɵnov"](e,7).ngClassUntouched,i["ɵnov"](e,7).ngClassTouched,i["ɵnov"](e,7).ngClassPristine,i["ɵnov"](e,7).ngClassDirty,i["ɵnov"](e,7).ngClassValid,i["ɵnov"](e,7).ngClassInvalid,i["ɵnov"](e,7).ngClassPending,i["ɵnov"](e,8).validClass,i["ɵnov"](e,8).invalidClass])}))}function qu(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["This field is required."]))],null,null)}function ju(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["The entered value needs to be a number or decimal."]))],null,null)}function Fu(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,12,"div",[["class","col-sm-7"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,7,"input",[["class","form-control"],["type","number"]],[[8,"id",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,2)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,2).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,2)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,2)._compositionEnd(n.target.value)&&a),"change"===e&&(a=!1!==i["ɵnov"](t,3).onChange(n.target.value)&&a),"input"===e&&(a=!1!==i["ɵnov"](t,3).onChange(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,3).onTouched()&&a),a}),null,null)),i["ɵdid"](2,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵdid"](3,16384,null,0,W.w,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t,e){return[t,e]}),[W.e,W.w]),i["ɵdid"](5,671744,[[1,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](7,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](8,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,qu)),i["ɵdid"](10,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,ju)),i["ɵdid"](12,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,5,0,i["ɵinlineInterpolate"](1,"",e.parent.context.$implicit.value.name,"")),t(e,8,0,i["ɵinlineInterpolate"](1,"",e.parent.context.$implicit.value.name,"")),t(e,10,0,n.mgrModuleForm.showError(e.parent.context.$implicit.value.name,i["ɵnov"](e.parent.parent,3),"required")),t(e,12,0,n.mgrModuleForm.showError(e.parent.context.$implicit.value.name,i["ɵnov"](e.parent.parent,3),"pattern"))}),(function(t,e){t(e,1,0,i["ɵinlineInterpolate"](1,"",e.parent.context.$implicit.value.name,""),i["ɵnov"](e,7).ngClassUntouched,i["ɵnov"](e,7).ngClassTouched,i["ɵnov"](e,7).ngClassPristine,i["ɵnov"](e,7).ngClassDirty,i["ɵnov"](e,7).ngClassValid,i["ɵnov"](e,7).ngClassInvalid,i["ɵnov"](e,7).ngClassPending,i["ɵnov"](e,8).validClass,i["ɵnov"](e,8).invalidClass)}))}function zu(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,17,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](1,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,1,{FormControlNames:1}),i["ɵqud"](603979776,2,{messagesBlock:0}),(t()(),i["ɵeld"](4,0,null,0,3,"label",[["class","col-form-label col-sm-5"]],[[8,"htmlFor",0]],null,null,null,null)),(t()(),i["ɵted"](5,null,[" "," "])),(t()(),i["ɵand"](16777216,null,null,1,null,Mu)),i["ɵdid"](7,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,xu)),i["ɵdid"](9,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,2,null,Nu)),i["ɵdid"](11,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),i["ɵpad"](12,3),(t()(),i["ɵand"](16777216,null,0,2,null,Lu)),i["ɵdid"](14,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),i["ɵpad"](15,4),(t()(),i["ɵand"](16777216,null,0,1,null,Fu)),i["ɵdid"](17,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){t(e,1,0),t(e,7,0,e.context.$implicit.value.long_desc||e.context.$implicit.value.desc),t(e,9,0,"bool"===e.context.$implicit.value.type);var n=t(e,12,0,"addr","str","uuid").includes(e.context.$implicit.value.type);t(e,11,0,n);var a=t(e,15,0,"uint","int","size","secs").includes(e.context.$implicit.value.type);t(e,14,0,a),t(e,17,0,"float"===e.context.$implicit.value.type)}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).hasErrors,i["ɵnov"](e,1).hasSuccess),t(e,4,0,i["ɵinlineInterpolate"](1,"",e.context.$implicit.value.name,"")),t(e,5,0,e.context.$implicit.value.name)}))}function Vu(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,22,"div",[["class","cd-col-form"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,21,"form",[["name","mgrModuleForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(t,e,n){var a=!0;return"submit"===e&&(a=!1!==i["ɵnov"](t,3).onSubmit(n)&&a),"reset"===e&&(a=!1!==i["ɵnov"](t,3).onReset()&&a),"submit"===e&&(a=!1!==i["ɵnov"](t,6).onSubmit()&&a),a}),null,null)),i["ɵdid"](2,16384,null,0,W.G,[],null,null),i["ɵdid"](3,540672,[["frm",4]],0,W.l,[[8,null],[8,null]],{form:[0,"form"]},null),i["ɵprd"](2048,null,W.d,null,[W.l]),i["ɵdid"](5,16384,null,0,W.s,[[4,W.d]],null,null),i["ɵdid"](6,16384,null,0,K.d,[],{formGroup:[0,"formGroup"]},null),(t()(),i["ɵeld"](7,0,null,null,15,"div",[["class","card"]],null,null,null,null,null)),(t()(),i["ɵeld"](8,0,null,null,1,"div",[["class","card-header"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Edit Manager module"])),(t()(),i["ɵeld"](10,0,null,null,3,"div",[["class","card-body"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,2,null,zu)),i["ɵdid"](12,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),i["ɵpid"](0,o.KeyValuePipe,[i.KeyValueDiffers]),(t()(),i["ɵeld"](14,0,null,null,8,"div",[["class","card-footer"]],null,null,null,null,null)),(t()(),i["ɵeld"](15,0,null,null,7,"div",[["class","button-group text-right"]],null,null,null,null,null)),(t()(),i["ɵeld"](16,0,null,null,3,"cd-submit-button",[],null,[[null,"submitAction"]],(function(t,e,n){var a=!0;return"submitAction"===e&&(a=!1!==t.component.onSubmit()&&a),a}),ai.b,ai.a)),i["ɵdid"](17,114688,null,0,ri.a,[i.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(t()(),i["ɵeld"](18,0,null,0,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Update"])),(t()(),i["ɵeld"](20,0,null,null,2,"button",[["class","btn btn-light"],["routerLink","/mgr-modules"],["type","button"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,21).onClick()&&a),a}),null,null)),i["ɵdid"](21,16384,null,0,Tt.n,[Tt.m,Tt.a,[8,null],i.Renderer2,i.ElementRef],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵted"](-1,null,["Back"]))],(function(t,e){var n=e.component;t(e,3,0,n.mgrModuleForm),t(e,6,0,n.mgrModuleForm),t(e,12,0,i["ɵunv"](e,12,0,i["ɵnov"](e,13).transform(n.moduleOptions))),t(e,17,0,n.mgrModuleForm),t(e,21,0,"/mgr-modules")}),(function(t,e){t(e,1,0,i["ɵnov"](e,5).ngClassUntouched,i["ɵnov"](e,5).ngClassTouched,i["ɵnov"](e,5).ngClassPristine,i["ɵnov"](e,5).ngClassDirty,i["ɵnov"](e,5).ngClassValid,i["ɵnov"](e,5).ngClassInvalid,i["ɵnov"](e,5).ngClassPending)}))}function Gu(t){return i["ɵvid"](0,[i["ɵpid"](0,si.a,[]),(t()(),i["ɵand"](16777216,null,null,1,null,Cu)),i["ɵdid"](2,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Pu)),i["ɵdid"](4,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Vu)),i["ɵdid"](6,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,2,0,n.loading&&!n.error),t(e,4,0,n.loading&&n.error),t(e,6,0,!n.loading&&!n.error)}),null)}function Yu(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-mgr-module-form",[],null,null,null,Gu,vu)),i["ɵdid"](1,114688,null,0,Ou,[Tt.a,Tt.m,bs.a,lu,ut.a,ra.a],null,null)],(function(t,e){t(e,1,0)}),null)}var Bu=i["ɵccf"]("cd-mgr-module-form",Ou,Yu,{},{},[]),Hu=n("xTzq");let Uu=(()=>{let t=class{constructor(t){this.http=t,this.baseURL="api/cephfs",this.baseUiURL="ui-api/cephfs"}list(){return this.http.get(`${this.baseURL}`)}lsDir(t,e){let n=`${this.baseUiURL}/${t}/ls_dir?depth=2`;return e&&(n+=`&path=${encodeURIComponent(e)}`),this.http.get(n)}getCephfs(t){return this.http.get(`${this.baseURL}/${t}`)}getTabs(t){return this.http.get(`ui-api/cephfs/${t}/tabs`)}getClients(t){return this.http.get(`${this.baseURL}/${t}/clients`)}evictClient(t,e){return this.http.delete(`${this.baseURL}/${t}/client/${e}`)}getMdsCounters(t){return this.http.get(`${this.baseURL}/${t}/mds_counters`)}mkSnapshot(t,e,n){let a=new J.h;return a=a.append("path",e),$.isUndefined(n)||(a=a.append("name",n)),this.http.post(`${this.baseURL}/${t}/mk_snapshot`,null,{params:a})}rmSnapshot(t,e,n){let a=new J.h;return a=a.append("path",e),a=a.append("name",n),this.http.post(`${this.baseURL}/${t}/rm_snapshot`,null,{params:a})}updateQuota(t,e,n){let a=new J.h;return a=a.append("path",e),this.http.post(`${this.baseURL}/${t}/set_quotas`,n,{observe:"response",params:a})}};return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t(i["ɵɵinject"](J.c))},token:t,providedIn:me.a}),t=Hc.__decorate([Hu.a,Hc.__metadata("design:paramtypes",[J.c])],t),t})();class Wu{constructor(t,e,n,a,r,o,i,s){this.authStorageService=t,this.modalService=e,this.cephfsService=n,this.cdDatePipe=a,this.i18n=r,this.actionLabels=o,this.notificationService=i,this.dimlessBinaryPipe=s,this.icons=dt.a,this.loadingIndicator=!1,this.loading={},this.treeOptions={useVirtualScroll:!0,getChildren:t=>this.updateDirectory(t.id),actionMapping:{mouse:{click:this.selectAndShowNode.bind(this),expanderClick:this.selectAndShowNode.bind(this)}}}}selectAndShowNode(t,e,n){Uc.a.TOGGLE_EXPANDED(t,e,n),this.selectNode(e)}selectNode(t){Uc.a.TOGGLE_ACTIVE(void 0,t,void 0),this.selectedDir=this.getDirectory(t),"/"!==t.id&&this.setSettings(t)}ngOnInit(){this.permission=this.authStorageService.getPermissions().cephfs,this.setUpQuotaTable(),this.setUpSnapshotTable()}setUpQuotaTable(){this.quota={columns:[{prop:"row.name",name:this.i18n("Name"),flexGrow:1},{prop:"row.value",name:this.i18n("Value"),sortable:!1,flexGrow:1},{prop:"row.originPath",name:this.i18n("Origin"),sortable:!1,cellTemplate:this.originTmpl,flexGrow:1}],selection:new kr.a,updateSelection:t=>{this.quota.selection=t},tableActions:[{name:this.actionLabels.SET,icon:dt.a.edit,permission:"update",visible:t=>!t.hasSelection||t.first()&&0===t.first().dirValue,click:()=>this.updateQuotaModal()},{name:this.actionLabels.UPDATE,icon:dt.a.edit,permission:"update",visible:t=>t.first()&&t.first().dirValue>0,click:()=>this.updateQuotaModal()},{name:this.actionLabels.UNSET,icon:dt.a.destroy,permission:"update",disable:t=>!t.hasSelection||t.first()&&0===t.first().dirValue,click:()=>this.unsetQuotaModal()}]}}setUpSnapshotTable(){this.snapshot={columns:[{prop:"name",name:this.i18n("Name"),flexGrow:1},{prop:"path",name:this.i18n("Path"),isHidden:!0,flexGrow:2},{prop:"created",name:this.i18n("Created"),flexGrow:1,pipe:this.cdDatePipe}],selection:new kr.a,updateSelection:t=>{this.snapshot.selection=t},tableActions:[{name:this.actionLabels.CREATE,icon:dt.a.add,permission:"create",canBePrimary:t=>!t.hasSelection,click:()=>this.createSnapshot()},{name:this.actionLabels.DELETE,icon:dt.a.destroy,permission:"delete",click:()=>this.deleteSnapshotModal(),canBePrimary:t=>t.hasSelection,disable:t=>!t.hasSelection}]}}ngOnChanges(){this.selectedDir=void 0,this.dirs=[],this.requestedPaths=[],this.nodeIds={},this.id&&(this.setRootNode(),this.firstCall())}setRootNode(){this.nodes=[{name:"/",id:"/",isExpanded:!0}]}firstCall(){setTimeout(()=>{this.getNode("/").loadNodeChildren()},10)}updateDirectory(t){if(this.unsetLoadingIndicator(),this.requestedPaths.includes(t)){if(!0===this.loading[t])return}else this.requestedPaths.push(t);return new Promise(e=>{this.setLoadingIndicator(t,!0),this.cephfsService.lsDir(this.id,t).subscribe(n=>{this.updateTreeStructure(n),this.updateQuotaTable(),this.updateTree(),e(this.getChildren(t)),this.setLoadingIndicator(t,!1)})})}setLoadingIndicator(t,e){this.loading[t]=e,this.unsetLoadingIndicator()}getSubDirectories(t,e=this.dirs){return e.filter(e=>e.parent===t)}getChildren(t){const e=this.getSubTree(t);return $.sortBy(this.getSubDirectories(t),"path").map(t=>this.createNode(t,e))}createNode(t,e){return this.nodeIds[t.path]=t,e||this.getSubTree(t.parent),{name:t.name,id:t.path,hasChildren:this.getSubDirectories(t.path,e).length>0}}getSubTree(t){return this.dirs.filter(e=>e.parent&&e.parent.startsWith(t))}setSettings(t){const e=(t,e)=>t?e?e(t):t:"";this.settings=[this.getQuota(t,"max_files",e),this.getQuota(t,"max_bytes",t=>e(t,t=>this.dimlessBinaryPipe.transform(t)))]}getQuota(t,e,n){const a=t.id;t=this.getOrigin(t,e);const r=this.getDirectory(t),o=r.quotas[e];let i=o,s=r.path;if(t.id===a)if("/"===t.parent.id)i=0;else{const n=this.getDirectory(this.getOrigin(t.parent,e));i=n.quotas[e],s=n.path}return{row:{name:this.i18n("max_bytes"===e?"Max size":"Max files"),value:n(o),originPath:o?r.path:""},quotaKey:e,dirValue:this.nodeIds[a].quotas[e],nextTreeMaximum:{value:i,path:i?s:""}}}getOrigin(t,e){if(t.parent&&"/"!==t.parent.id){const n=this.getQuotaFromTree(t,e),a=this.getOrigin(t.parent,e),r=this.getQuotaFromTree(a,e);return 0===n||0!==r&&r<n?a:t}return t}getQuotaFromTree(t,e){return this.getDirectory(t).quotas[e]}getDirectory(t){return this.nodeIds[t.id]}selectOrigin(t){this.selectNode(this.getNode(t))}getNode(t){return this.treeComponent.treeModel.getNodeById(t)}updateQuotaModal(){const t=this.selectedDir.path,e=this.quota.selection.first(),n=e.nextTreeMaximum,a=e.quotaKey,r=e.dirValue;this.modalService.show(wr.a,{initialState:{titleText:this.getModalQuotaTitle(0===r?this.actionLabels.SET:this.actionLabels.UPDATE,t),message:n.value?this.i18n("The inherited {{quotaValue}} is the maximum value to be used.",{quotaValue:this.getQuotaValueFromPathMsg(n.value,n.path)}):void 0,fields:[this.getQuotaFormField(e.row.name,a,r,n.value)],submitButtonText:this.i18n("Save"),onSubmit:t=>this.updateQuota(t)}})}getModalQuotaTitle(t,e){return this.i18n("{{action}} CephFS {{quotaName}} quota for '{{path}}'",{action:t,quotaName:this.getQuotaName(),path:e})}getQuotaName(){return this.isBytesQuotaSelected()?this.i18n("size"):this.i18n("files")}isBytesQuotaSelected(){return"max_bytes"===this.quota.selection.first().quotaKey}getQuotaValueFromPathMsg(t,e){return this.i18n("{{quotaName}} quota {{value}} from '{{path}}'",{value:this.isBytesQuotaSelected()?this.dimlessBinaryPipe.transform(t):t,quotaName:this.getQuotaName(),path:e})}getQuotaFormField(t,e,n,a){const r="max_bytes"===e,o=[r?li.a.binaryMin(0):W.B.min(0)];a&&o.push(r?li.a.binaryMax(a):W.B.max(a));const i={type:r?"binary":"number",label:t,name:e,value:n,validators:o,required:!0};return r||(i.errors={min:this.i18n("Value has to be at least {{value}} or more",{value:0}),max:this.i18n("Value has to be at most {{value}} or less",{value:a})}),i}updateQuota(t,e){const n=this.selectedDir.path,a=this.quota.selection.first().quotaKey,r=0===this.selectedDir.quotas[a]?this.actionLabels.SET:0===t[a]?this.actionLabels.UNSET:this.i18n("Updated");this.cephfsService.updateQuota(this.id,n,t).subscribe(()=>{e&&e(),this.notificationService.show(be.a.success,this.getModalQuotaTitle(r,n)),this.forceDirRefresh()})}unsetQuotaModal(){const t=this.selectedDir.path,e=this.quota.selection.first(),n=e.quotaKey,a=e.nextTreeMaximum,r=e.dirValue;this.modalRef=this.modalService.show(ls.a,{initialState:{titleText:this.getModalQuotaTitle(this.actionLabels.UNSET,t),buttonText:this.actionLabels.UNSET,description:this.i18n("{{action}} {{quotaValue}} {{conclusion}}.",{action:this.actionLabels.UNSET,quotaValue:this.getQuotaValueFromPathMsg(r,t),conclusion:a.value>0?this.i18n(a.value>r?"in order to inherit {{quotaValue}}":"which isn't used because of the inheritance of {{quotaValue}}",{quotaValue:this.getQuotaValueFromPathMsg(a.value,a.path)}):this.i18n("in order to have no quota on the directory")}),onSubmit:()=>this.updateQuota({[n]:0},()=>this.modalRef.hide())}})}createSnapshot(){const t=this.selectedDir.path;this.modalService.show(wr.a,{initialState:{titleText:this.i18n("Create Snapshot"),message:this.i18n("Please enter the name of the snapshot."),fields:[{type:"text",name:"name",value:`${re().toISOString(!0)}`,required:!0}],submitButtonText:this.i18n("Create Snapshot"),onSubmit:e=>{this.cephfsService.mkSnapshot(this.id,t,e.name).subscribe(e=>{this.notificationService.show(be.a.success,this.i18n('Created snapshot "{{name}}" for "{{path}}"',{name:e,path:t})),this.forceDirRefresh()})}}})}forceDirRefresh(t){if(!t){const e=this.selectedDir;if(!e)throw new Error("This function can only be called without path if an selection was made");t=e.parent?e.parent:e.path}this.getNode(t).loadNodeChildren()}updateTreeStructure(t){const e=(t,e)=>{const n=t.filter(t=>t.parent===e),a=n.map(t=>t.path);return{children:n,paths:a}};$.uniq(t.map(t=>t.parent).sort()).forEach(n=>{const a=e(t,n),r=e(this.dirs,n);r.children.forEach(t=>{a.paths.includes(t.path)||this.removeOldDirectory(t)}),a.children.forEach(t=>{r.paths.includes(t.path)?this.updateExistingDirectory(r.children,t):this.addNewDirectory(t)})})}removeOldDirectory(t){const e=t.path;$.remove(this.dirs,t=>t.path===e),delete this.nodeIds[e],this.updateDirectoriesParentNode(t)}updateDirectoriesParentNode(t){const e=t.parent;if(!e)return;const n=this.getNode(e);if(!n)return;const a=this.getChildren(e);n.data.children=a,n.data.hasChildren=a.length>0,this.treeComponent.treeModel.update()}addNewDirectory(t){this.dirs.push(t),this.nodeIds[t.path]=t,this.updateDirectoriesParentNode(t)}updateExistingDirectory(t,e){const n=t.find(t=>t.path===e.path);Object.assign(n,e)}updateQuotaTable(){const t=this.selectedDir?this.getNode(this.selectedDir.path):void 0;t&&"/"!==t.id&&this.setSettings(t)}updateTree(t=!1){this.loadingIndicator&&!t||(this.treeComponent.treeModel.update(),this.nodes=[...this.nodes],this.treeComponent.sizeChanged())}deleteSnapshotModal(){this.modalRef=this.modalService.show(jo.a,{initialState:{itemDescription:this.i18n("CephFs Snapshot"),itemNames:this.snapshot.selection.selected.map(t=>t.name),submitAction:()=>this.deleteSnapshot()}})}deleteSnapshot(){const t=this.selectedDir.path;this.snapshot.selection.selected.forEach(e=>{const n=e.name;this.cephfsService.rmSnapshot(this.id,t,n).subscribe(()=>{this.notificationService.show(be.a.success,this.i18n('Deleted snapshot "{{name}}" for "{{path}}"',{name:n,path:t}))})}),this.modalRef.hide(),this.forceDirRefresh()}refreshAllDirectories(){this.loadingIndicator=!0,this.requestedPaths.map(t=>this.forceDirRefresh(t));const t=setInterval(()=>{this.updateTree(!0),this.loadingIndicator||clearInterval(t)},3e3)}unsetLoadingIndicator(){this.loadingIndicator&&(clearTimeout(this.loadingTimeout),this.loadingTimeout=setTimeout(()=>{if(Object.values(this.loading).some(t=>t))return this.unsetLoadingIndicator();this.loadingIndicator=!1,this.updateTree()},3e3))}}var Ku=i["ɵcrt"]({encapsulation:0,styles:[["tree-root .tree-children{overflow:inherit}.quota-origin[_ngcontent-%COMP%]{cursor:pointer;color:#2b99a8}.quota-origin[_ngcontent-%COMP%]:hover{color:#212121}"]],data:{}});function $u(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"i",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](2,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](3,2)],(function(t,e){var n=e.component,a=t(e,3,0,n.icons.spinner,n.icons.spin);t(e,2,0,a)}),null)}function Zu(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,7,"tree-root",[],null,[["body","keydown"],["body","mousedown"]],(function(t,e,n){var a=!0;return"body:keydown"===e&&(a=!1!==i["ɵnov"](t,2).onKeydown(n)&&a),"body:mousedown"===e&&(a=!1!==i["ɵnov"](t,2).onMousedown(n)&&a),a}),Vc.b,Vc.a)),i["ɵprd"](131584,null,Gc.a,Gc.a,[]),i["ɵdid"](2,573440,[[1,4]],4,Yc.a,[Gc.a,Bc.a],{nodes:[0,"nodes"],options:[1,"options"]},null),i["ɵqud"](603979776,3,{loadingTemplate:0}),i["ɵqud"](603979776,4,{treeNodeTemplate:0}),i["ɵqud"](603979776,5,{treeNodeWrapperTemplate:0}),i["ɵqud"](603979776,6,{treeNodeFullTemplate:0}),(t()(),i["ɵand"](0,[[3,2],["loadingTemplate",2]],null,0,null,$u))],(function(t,e){var n=e.component;t(e,2,0,n.nodes,n.treeOptions)}),null)}function Ju(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,1,"legend",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Quotas"])),(t()(),i["ɵeld"](3,0,null,null,3,"cd-table",[["identifier","quotaKey"],["selectionType","single"]],null,[[null,"updateSelection"]],(function(t,e,n){var a=!0;return"updateSelection"===e&&(a=!1!==t.component.quota.updateSelection(n)&&a),a}),hr.b,hr.a)),i["ɵdid"](4,2867200,null,0,br.a,[i.NgZone,i.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],onlyActionHeader:[2,"onlyActionHeader"],toolHeader:[3,"toolHeader"],footer:[4,"footer"],limit:[5,"limit"],identifier:[6,"identifier"],forceIdentifier:[7,"forceIdentifier"],selectionType:[8,"selectionType"]},{updateSelection:"updateSelection"}),(t()(),i["ɵeld"](5,0,null,0,1,"cd-table-actions",[["class","only-table-actions"]],null,null,null,_r.b,_r.a)),i["ɵdid"](6,114688,null,0,yr.a,[],{permission:[0,"permission"],selection:[1,"selection"],tableActions:[2,"tableActions"]},null)],(function(t,e){var n=e.component;t(e,4,0,n.settings,n.quota.columns,!0,!1,!1,0,"quotaKey",!0,"single"),t(e,6,0,n.permission,n.quota.selection,n.quota.tableActions)}),null)}function Xu(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,12,"div",[["class","col-sm-8 metadata"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,11,"div",[["class","card"]],null,null,null,null,null)),(t()(),i["ɵeld"](2,0,null,null,1,"div",[["class","card-header"]],null,null,null,null,null)),(t()(),i["ɵted"](3,null,[" "," "])),(t()(),i["ɵeld"](4,0,null,null,8,"div",[["class","card-body"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Ju)),i["ɵdid"](6,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](7,0,null,null,1,"legend",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Snapshots"])),(t()(),i["ɵeld"](9,0,null,null,3,"cd-table",[["forceIdentifier","true"],["identifier","name"],["selectionType","multiClick"]],null,[[null,"updateSelection"]],(function(t,e,n){var a=!0;return"updateSelection"===e&&(a=!1!==t.component.snapshot.updateSelection(n)&&a),a}),hr.b,hr.a)),i["ɵdid"](10,2867200,null,0,br.a,[i.NgZone,i.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],identifier:[2,"identifier"],forceIdentifier:[3,"forceIdentifier"],selectionType:[4,"selectionType"]},{updateSelection:"updateSelection"}),(t()(),i["ɵeld"](11,0,null,1,1,"cd-table-actions",[["class","table-actions"]],null,null,null,_r.b,_r.a)),i["ɵdid"](12,114688,null,0,yr.a,[],{permission:[0,"permission"],selection:[1,"selection"],tableActions:[2,"tableActions"]},null)],(function(t,e){var n=e.component;t(e,6,0,"/"!==n.selectedDir.path),t(e,10,0,n.selectedDir.snapshots,n.snapshot.columns,"name","true","multiClick"),t(e,12,0,n.permission,n.snapshot.selection,n.snapshot.tableActions)}),(function(t,e){t(e,3,0,e.component.selectedDir.path)}))}function Qu(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","quota-origin"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.selectOrigin(t.context.value)&&a),a}),null,null)),(t()(),i["ɵted"](1,null,["",""]))],null,(function(t,e){t(e,1,0,e.context.value)}))}function tg(t){return i["ɵvid"](0,[i["ɵqud"](671088640,1,{treeComponent:0}),i["ɵqud"](402653184,2,{originTmpl:0}),(t()(),i["ɵeld"](2,0,null,null,13,"div",[["class","row"]],null,null,null,null,null)),(t()(),i["ɵeld"](3,0,null,null,10,"div",[["class","col-sm-4 pr-0"]],null,null,null,null,null)),(t()(),i["ɵeld"](4,0,null,null,9,"div",[["class","card"]],null,null,null,null,null)),(t()(),i["ɵeld"](5,0,null,null,5,"div",[["class","card-header"]],null,null,null,null,null)),(t()(),i["ɵeld"](6,0,null,null,4,"button",[["class","btn btn-light pull-right"],["type","button"]],[[2,"disabled",null]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.refreshAllDirectories()&&a),a}),null,null)),(t()(),i["ɵeld"](7,0,null,null,3,"i",[],[[2,"fa-spin",null]],null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](9,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](10,2),(t()(),i["ɵeld"](11,0,null,null,2,"div",[["class","card-body"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Zu)),i["ɵdid"](13,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Xu)),i["ɵdid"](15,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](0,[[2,2],["origin",2]],null,0,null,Qu))],(function(t,e){var n=e.component,a=t(e,10,0,n.icons.large,n.icons.refresh);t(e,9,0,a),t(e,13,0,n.nodes),t(e,15,0,n.selectedDir)}),(function(t,e){var n=e.component;t(e,6,0,n.loadingIndicator),t(e,7,0,n.loadingIndicator)}))}class eg{constructor(){this.lhsCounter="mds_mem.ino",this.rhsCounter="mds_server.handle_client_request",this.chart={datasets:[{label:this.lhsCounter,yAxisID:"LHS",data:[],lineTension:.1},{label:this.rhsCounter,yAxisID:"RHS",data:[],lineTension:.1}],options:{title:{text:"",display:!0},responsive:!0,maintainAspectRatio:!1,legend:{position:"top"},scales:{xAxes:[{position:"top",type:"time",time:{displayFormats:{quarter:"MMM YYYY"}},ticks:{maxRotation:0}}],yAxes:[{id:"LHS",type:"linear",position:"left"},{id:"RHS",type:"linear",position:"right"}]},tooltips:{enabled:!1,mode:"index",intersect:!1,position:"nearest",callbacks:{title:(t,e)=>{let n=0;if(t.length>0){const a=t[0];n=e.datasets[a.datasetIndex].data[a.index].x}return n.toString()}}}},chartType:"line"}}ngOnInit(){$.isUndefined(this.mdsCounter)||(this.setChartTooltip(),this.updateChart())}ngOnChanges(){$.isUndefined(this.mdsCounter)||this.updateChart()}setChartTooltip(){const t=new Zn.a(this.chartCanvas,this.chartTooltip,t=>t.caretX+"px",t=>t.caretY-t.height-23+"px");t.getTitle=t=>re(t,"x").format("LTS"),t.checkOffset=!0,$.merge(this.chart,{options:{title:{text:this.mdsCounter.name},tooltips:{custom:e=>t.customTooltips(e)}}})}updateChart(){const t=[{data:this.convertTimeSeries(this.mdsCounter[this.lhsCounter])},{data:this.deltaTimeSeries(this.mdsCounter[this.rhsCounter])}];$.merge(this.chart,{datasets:t}),this.chart.datasets=[...this.chart.datasets]}convertTimeSeries(t){const e=[];return $.each(t,t=>{e.push({x:1e3*t[0],y:t[1]})}),e.shift(),e}deltaTimeSeries(t){let e,n=t[0];const a=[];for(e=1;e<t.length;e++){const r=t[e];a.push({x:1e3*r[0],y:r[1]-n[1]}),n=r}return a}}var ng=i["ɵcrt"]({encapsulation:0,styles:[['canvas[_ngcontent-%COMP%]{-moz-user-select:none;user-select:none}.chartjs-tooltip[_ngcontent-%COMP%]{opacity:0;position:absolute;background:rgba(0,0,0,.7);color:#fff;border-radius:3px;transition:all .1s ease;pointer-events:none;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif!important;transform:translate(-50%,0)}.chartjs-tooltip.transform-left[_ngcontent-%COMP%]{transform:translate(-10%,0)}.chartjs-tooltip.transform-left[_ngcontent-%COMP%]::after{left:10%}.chartjs-tooltip.transform-right[_ngcontent-%COMP%]{transform:translate(-90%,0)}.chartjs-tooltip.transform-right[_ngcontent-%COMP%]::after{left:90%}.chartjs-tooltip[_ngcontent-%COMP%]::after{content:" ";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:#000 transparent transparent}  .chartjs-tooltip-key{display:inline-block;width:10px;height:10px;margin-right:10px}.chart-container[_ngcontent-%COMP%]{margin:auto auto 20px;cursor:pointer;overflow:visible;position:relative;height:500px;width:100%}']],data:{}});function ag(t){return i["ɵvid"](0,[i["ɵqud"](402653184,1,{chartCanvas:0}),i["ɵqud"](402653184,2,{chartTooltip:0}),(t()(),i["ɵeld"](2,0,null,null,4,"div",[["class","chart-container"]],null,null,null,null,null)),(t()(),i["ɵeld"](3,0,[[1,0],["chartCanvas",1]],null,1,"canvas",[["baseChart",""]],null,null,null,null,null)),i["ɵdid"](4,999424,null,0,Kn.a,[i.ElementRef,Kn.c],{datasets:[0,"datasets"],options:[1,"options"],chartType:[2,"chartType"]},null),(t()(),i["ɵeld"](5,0,[[2,0],["chartTooltip",1]],null,1,"div",[["class","chartjs-tooltip"]],null,null,null,null,null)),(t()(),i["ɵeld"](6,0,null,null,0,"table",[],null,null,null,null,null))],(function(t,e){var n=e.component;t(e,4,0,n.chart.datasets,n.chart.options,n.chart.chartType)}),null)}class rg{constructor(t,e,n){this.dimlessBinary=t,this.dimless=e,this.i18n=n,this.standbys=[],this.objectValues=Object.values}ngOnChanges(){this.setStandbys()}setStandbys(){this.standbys=[{key:this.i18n("Standby daemons"),value:this.data.standbys}]}ngOnInit(){this.columns={ranks:[{prop:"rank",name:this.i18n("Rank")},{prop:"state",name:this.i18n("State")},{prop:"mds",name:this.i18n("Daemon")},{prop:"activity",name:this.i18n("Activity"),cellTemplate:this.activityTmpl},{prop:"dns",name:this.i18n("Dentries"),pipe:this.dimless},{prop:"inos",name:this.i18n("Inodes"),pipe:this.dimless}],pools:[{prop:"pool",name:this.i18n("Pool")},{prop:"type",name:this.i18n("Type")},{prop:"size",name:this.i18n("Size"),pipe:this.dimlessBinary},{name:this.i18n("Usage"),cellTemplate:this.poolUsageTpl,comparator:(t,e,n,a)=>{const r=n.used/n.avail,o=a.used/a.avail;return r===o?0:r>o?1:-1}}]}}trackByFn(t,e){return e.name}}var og=i["ɵcrt"]({encapsulation:0,styles:[[".progress[_ngcontent-%COMP%]{margin-bottom:0}"]],data:{}});function ig(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"div",[["class","row"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,2,"div",[["class","col-md-12"]],null,null,null,null,null)),(t()(),i["ɵeld"](2,0,null,null,1,"cd-cephfs-chart",[],null,null,null,ag,ng)),i["ɵdid"](3,638976,null,0,eg,[],{mdsCounter:[0,"mdsCounter"]},null)],(function(t,e){t(e,3,0,e.context.$implicit)}),null)}function sg(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-usage-bar",[],null,null,null,qi.b,qi.a)),i["ɵdid"](1,573440,null,0,ji.a,[],{totalBytes:[0,"totalBytes"],usedBytes:[1,"usedBytes"]},null)],(function(t,e){t(e,1,0,e.context.row.size,e.context.row.used)}),null)}function cg(t){return i["ɵvid"](0,[(t()(),i["ɵted"](0,null,[" ",": "," /s\n"])),i["ɵppd"](1,1)],null,(function(t,e){var n="standby-replay"===e.context.row.state?"Evts":"Reqs",a=i["ɵunv"](e,0,1,t(e,1,0,i["ɵnov"](e.parent,0),e.context.value));t(e,0,0,n,a)}))}function lg(t){return i["ɵvid"](0,[i["ɵpid"](0,Xn.a,[la.a]),i["ɵqud"](402653184,1,{poolUsageTpl:0}),i["ɵqud"](402653184,2,{activityTmpl:0}),(t()(),i["ɵeld"](3,0,null,null,14,"div",[["class","row"]],null,null,null,null,null)),(t()(),i["ɵeld"](4,0,null,null,8,"div",[["class","col-sm-6"]],null,null,null,null,null)),(t()(),i["ɵeld"](5,0,null,null,1,"legend",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Ranks"])),(t()(),i["ɵeld"](7,0,null,null,1,"cd-table",[],null,null,null,hr.b,hr.a)),i["ɵdid"](8,2867200,null,0,br.a,[i.NgZone,i.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],toolHeader:[2,"toolHeader"]},null),(t()(),i["ɵeld"](9,0,null,null,1,"legend",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Standbys"])),(t()(),i["ɵeld"](11,0,null,null,1,"cd-table-key-value",[],null,null,null,Wr.b,Wr.a)),i["ɵdid"](12,638976,null,0,Kr.a,[ie.a],{data:[0,"data"]},null),(t()(),i["ɵeld"](13,0,null,null,4,"div",[["class","col-sm-6"]],null,null,null,null,null)),(t()(),i["ɵeld"](14,0,null,null,1,"legend",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Pools"])),(t()(),i["ɵeld"](16,0,null,null,1,"cd-table",[],null,null,null,hr.b,hr.a)),i["ɵdid"](17,2867200,null,0,br.a,[i.NgZone,i.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],toolHeader:[2,"toolHeader"]},null),(t()(),i["ɵeld"](18,0,null,null,1,"legend",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["MDS performance counters"])),(t()(),i["ɵand"](16777216,null,null,1,null,ig)),i["ɵdid"](21,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"],ngForTrackBy:[1,"ngForTrackBy"]},null),(t()(),i["ɵand"](0,[[1,2],["poolUsageTpl",2]],null,0,null,sg)),(t()(),i["ɵand"](0,[[2,2],["activityTmpl",2]],null,0,null,cg))],(function(t,e){var n=e.component;t(e,8,0,n.data.ranks,n.columns.ranks,!1),t(e,12,0,n.standbys),t(e,17,0,n.data.pools,n.columns.pools,!1),t(e,21,0,n.objectValues(n.data.mdsCounters),n.trackByFn)}),null)}var dg=n("C6Ij"),ug=n("AWcq");class gg{constructor(t,e,n,a,r,o){this.cephfsService=t,this.modalService=e,this.notificationService=n,this.authStorageService=a,this.i18n=r,this.actionLabels=o,this.triggerApiUpdate=new i.EventEmitter,this.selection=new kr.a,this.permission=this.authStorageService.getPermissions().cephfs,this.tableActions=[{permission:"update",icon:dt.a.signOut,click:()=>this.evictClientModal(),name:this.actionLabels.EVICT}]}ngOnInit(){this.columns=[{prop:"id",name:this.i18n("id")},{prop:"type",name:this.i18n("type")},{prop:"state",name:this.i18n("state")},{prop:"version",name:this.i18n("version")},{prop:"hostname",name:this.i18n("Host")},{prop:"root",name:this.i18n("root")}]}updateSelection(t){this.selection=t}evictClient(t){this.cephfsService.evictClient(this.id,t).subscribe(()=>{this.triggerApiUpdate.emit(),this.modalRef.hide(),this.notificationService.show(be.a.success,this.i18n('Evicted client "{{clientId}}"',{clientId:t}))},()=>{this.modalRef.content.stopLoadingSpinner()})}evictClientModal(){const t=this.selection.first().id;this.modalRef=this.modalService.show(jo.a,{initialState:{itemDescription:"client",itemNames:[t],actionDescription:"evict",submitAction:()=>this.evictClient(t)}})}}var fg=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function pg(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-view-cache",[],null,null,null,dg.b,dg.a)),i["ɵdid"](1,114688,null,0,ug.a,[],{status:[0,"status"]},null),(t()(),i["ɵeld"](2,0,null,null,3,"cd-table",[["selectionType","single"]],null,[[null,"updateSelection"]],(function(t,e,n){var a=!0;return"updateSelection"===e&&(a=!1!==t.component.updateSelection(n)&&a),a}),hr.b,hr.a)),i["ɵdid"](3,2867200,null,0,br.a,[i.NgZone,i.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],selectionType:[2,"selectionType"]},{updateSelection:"updateSelection"}),(t()(),i["ɵeld"](4,0,null,1,1,"cd-table-actions",[["class","table-actions"]],null,null,null,_r.b,_r.a)),i["ɵdid"](5,114688,null,0,yr.a,[],{permission:[0,"permission"],selection:[1,"selection"],tableActions:[2,"tableActions"]},null)],(function(t,e){var n=e.component;t(e,1,0,n.clients.status),t(e,3,0,n.clients.data,n.columns,"single"),t(e,5,0,n.permission,n.selection,n.tableActions)}),null)}var mg=n("yJti");class hg{constructor(t,e,n){this.ngZone=t,this.authStorageService=e,this.cephfsService=n,this.clients={data:[],status:mg.a.ValueNone},this.details={standbys:"",pools:[],ranks:[],mdsCounters:{},name:""},this.directoriesSelected=!1,this.grafanaPermission=this.authStorageService.getPermissions().grafana}ngOnChanges(){this.selectedItem=this.selection.first(),this.selectedItem?this.selectedItem.id!==this.id&&this.setupSelected(this.selectedItem.id,this.selectedItem.mdsmap.info):this.unsubscribeInterval()}setupSelected(t,e){this.id=t;const n=$.first(Object.values(e));this.grafanaId=n&&n.name,this.details={standbys:"",pools:[],ranks:[],mdsCounters:{},name:""},this.clients={data:[],status:mg.a.ValueNone},this.updateInterval()}updateInterval(){this.unsubscribeInterval(),this.subscribeInterval()}unsubscribeInterval(){this.reloadSubscriber&&this.reloadSubscriber.unsubscribe()}subscribeInterval(){this.ngZone.runOutsideAngular(()=>this.reloadSubscriber=Object(pu.a)(0,5e3).subscribe(()=>this.ngZone.run(()=>this.refresh())))}refresh(){this.cephfsService.getTabs(this.id).subscribe(t=>{this.data=t,this.softRefresh()},()=>{this.clients.status=mg.a.ValueException})}softRefresh(){const t=$.cloneDeep(this.data);this.clients=t.clients,this.details={standbys:t.standbys,pools:t.pools,ranks:t.ranks,mdsCounters:t.mds_counters,name:t.name}}ngOnDestroy(){this.unsubscribeInterval()}}var bg=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function _g(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Clients"])),(t()(),i["ɵeld"](2,0,null,null,1,"span",[["class","badge badge-pill badge-tab ml-1"]],null,null,null,null,null)),(t()(),i["ɵted"](3,null,["",""]))],null,(function(t,e){t(e,3,0,e.component.clients.data.length)}))}function yg(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-cephfs-directories",[],null,null,null,tg,Ku)),i["ɵdid"](1,638976,null,0,Wu,[bt.a,Pt.b,Uu,ie.a,ra.a,Ot.b,ut.a,Jn.a],{id:[0,"id"]},null)],(function(t,e){t(e,1,0,e.component.id)}),null)}function Og(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"tab",[["heading","Performance Details"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](1,212992,null,0,qn.b,[qn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵeld"](2,0,null,null,1,"cd-grafana",[["grafanaStyle","one"],["uid","tbO9LAiZz"]],null,null,null,fr.b,fr.a)),i["ɵdid"](3,638976,null,0,pr.a,[gt.a,mr.b,Kt.a,ht.a,ra.a],{grafanaPath:[0,"grafanaPath"],grafanaStyle:[1,"grafanaStyle"],uid:[2,"uid"]},null)],(function(t,e){var n=e.component;t(e,1,0,"Performance Details"),t(e,3,0,"mds-performance?var-mds_servers=mds."+n.grafanaId,"one","tbO9LAiZz")}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).id,i["ɵnov"](e,1).active,i["ɵnov"](e,1).addClass)}))}function vg(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,17,"tabset",[],[[2,"tab-container",null]],null,null,Ln.b,Ln.a)),i["ɵdid"](1,180224,null,0,qn.e,[qn.f,i.Renderer2,i.ElementRef],null,null),(t()(),i["ɵeld"](2,0,null,0,3,"tab",[["heading","Details"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],[[null,"selectTab"]],(function(t,e,n){var a=!0;return"selectTab"===e&&(a=!1!==t.component.softRefresh()&&a),a}),null,null)),i["ɵdid"](3,212992,null,0,qn.b,[qn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},{selectTab:"selectTab"}),(t()(),i["ɵeld"](4,0,null,null,1,"cd-cephfs-detail",[],null,null,null,lg,og)),i["ɵdid"](5,638976,null,0,rg,[Jn.a,Xn.a,ra.a],{data:[0,"data"]},null),(t()(),i["ɵeld"](6,0,null,0,5,"tab",[],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],[[null,"selectTab"]],(function(t,e,n){var a=!0;return"selectTab"===e&&(a=!1!==t.component.softRefresh()&&a),a}),null,null)),i["ɵdid"](7,212992,null,0,qn.b,[qn.e,i.ElementRef,i.Renderer2],null,{selectTab:"selectTab"}),(t()(),i["ɵand"](0,null,null,1,null,_g)),i["ɵdid"](9,16384,null,0,qn.c,[i.TemplateRef,qn.b],null,null),(t()(),i["ɵeld"](10,0,null,null,1,"cd-cephfs-clients",[],null,[[null,"triggerApiUpdate"]],(function(t,e,n){var a=!0;return"triggerApiUpdate"===e&&(a=!1!==t.component.refresh()&&a),a}),pg,fg)),i["ɵdid"](11,114688,null,0,gg,[Uu,Pt.b,ut.a,bt.a,ra.a,Ot.b],{id:[0,"id"],clients:[1,"clients"]},{triggerApiUpdate:"triggerApiUpdate"}),(t()(),i["ɵeld"](12,0,null,0,3,"tab",[["heading","Directories"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],[[null,"selectTab"]],(function(t,e,n){var a=!0;return"selectTab"===e&&(a=0!=(t.component.directoriesSelected=!0)&&a),a}),null,null)),i["ɵdid"](13,212992,null,0,qn.b,[qn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},{selectTab:"selectTab"}),(t()(),i["ɵand"](16777216,null,null,1,null,yg)),i["ɵdid"](15,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,Og)),i["ɵdid"](17,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,3,0,"Details"),t(e,5,0,n.details),t(e,7,0),t(e,11,0,n.id,n.clients),t(e,13,0,"Directories"),t(e,15,0,n.directoriesSelected),t(e,17,0,n.grafanaPermission.read&&n.grafanaId)}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).clazz),t(e,2,0,i["ɵnov"](e,3).id,i["ɵnov"](e,3).active,i["ɵnov"](e,3).addClass),t(e,6,0,i["ɵnov"](e,7).id,i["ɵnov"](e,7).active,i["ɵnov"](e,7).addClass),t(e,12,0,i["ɵnov"](e,13).id,i["ɵnov"](e,13).active,i["ɵnov"](e,13).addClass)}))}function Cg(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,vg)),i["ɵdid"](1,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){t(e,1,0,e.component.selectedItem)}),null)}class Pg{constructor(t,e,n){this.cephfsService=t,this.cdDatePipe=e,this.i18n=n,this.filesystems=[],this.selection=new kr.a}ngOnInit(){this.columns=[{name:this.i18n("Name"),prop:"mdsmap.fs_name",flexGrow:2},{name:this.i18n("Created"),prop:"mdsmap.created",flexGrow:2,pipe:this.cdDatePipe},{name:this.i18n("Enabled"),prop:"mdsmap.enabled",flexGrow:1,cellTransformation:Tr.a.checkIcon}]}loadFilesystems(t){this.cephfsService.list().subscribe(t=>{this.filesystems=t},()=>{t.error()})}updateSelection(t){this.selection=t}}var Mg=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function xg(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"cd-table",[["columnMode","flex"],["forceIdentifier","true"],["identifier","id"],["selectionType","single"]],null,[[null,"fetchData"],[null,"updateSelection"]],(function(t,e,n){var a=!0,r=t.component;return"fetchData"===e&&(a=!1!==r.loadFilesystems(n)&&a),"updateSelection"===e&&(a=!1!==r.updateSelection(n)&&a),a}),hr.b,hr.a)),i["ɵdid"](1,2867200,null,0,br.a,[i.NgZone,i.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],identifier:[3,"identifier"],forceIdentifier:[4,"forceIdentifier"],selectionType:[5,"selectionType"]},{fetchData:"fetchData",updateSelection:"updateSelection"}),(t()(),i["ɵeld"](2,0,null,3,1,"cd-cephfs-tabs",[["cdTableDetail",""]],null,null,null,Cg,bg)),i["ɵdid"](3,704512,null,0,hg,[i.NgZone,bt.a,Uu],{selection:[0,"selection"]},null)],(function(t,e){var n=e.component;t(e,1,0,n.filesystems,n.columns,"flex","id","true","single"),t(e,3,0,n.selection)}),null)}function wg(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-cephfs-list",[],null,null,null,xg,Mg)),i["ɵdid"](1,114688,null,0,Pg,[Uu,ie.a,ra.a],null,null)],(function(t,e){t(e,1,0)}),null)}var Tg=i["ɵccf"]("cd-cephfs-list",Pg,wg,{},{},[]),kg=n("D4zM"),Sg=n("1nQr");class Ig{constructor(t,e,n,a,r,o,i,s){this.i18n=t,this.actionLabels=e,this.notificationService=n,this.userService=a,this.authStorageService=r,this.formBuilder=o,this.router=i,this.passwordPolicyService=s,this.passwordPolicyHelpText="",this.icons=dt.a,this.action=this.actionLabels.CHANGE,this.resource=this.i18n("password"),this.createForm()}createForm(){this.passwordPolicyService.getHelpText().subscribe(t=>{this.passwordPolicyHelpText=t}),this.userForm=this.formBuilder.group({oldpassword:[null,[W.B.required,li.a.custom("notmatch",()=>this.userForm&&this.userForm.getValue("newpassword")===this.userForm.getValue("oldpassword"))]],newpassword:[null,[W.B.required,li.a.custom("notmatch",()=>this.userForm&&this.userForm.getValue("oldpassword")===this.userForm.getValue("newpassword"))],[li.a.passwordPolicy(this.userService,()=>this.authStorageService.getUsername(),(t,e,n)=>{this.passwordStrengthLevelClass=this.passwordPolicyService.mapCreditsToCssClass(e),this.passwordValuation=$.defaultTo(n,"")})]],confirmnewpassword:[null,[W.B.required]]},{validators:[li.a.match("newpassword","confirmnewpassword")]})}onSubmit(){if(this.userForm.pristine)return;const t=this.authStorageService.getUsername(),e=this.userForm.getValue("oldpassword"),n=this.userForm.getValue("newpassword");this.userService.changePassword(t,e,n).subscribe(()=>this.onPasswordChange(),()=>{this.userForm.setErrors({cdSubmitButton:!0})})}onPasswordChange(){this.notificationService.show(be.a.success,this.i18n('Updated user password"')),this.router.navigate(["/logout"])}}var Ng=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Rg(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["This field is required."]))],null,null)}function Ag(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["The old and new passwords must be different."]))],null,null)}function Eg(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-helper",[["class","text-pre"]],null,null,null,As.b,As.a)),i["ɵdid"](1,49152,null,0,Es.a,[],{class:[0,"class"],html:[1,"html"]},null)],(function(t,e){t(e,1,0,"text-pre",i["ɵinlineInterpolate"](1,"",e.component.passwordPolicyHelpText,""))}),null)}function Dg(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["This field is required."]))],null,null)}function Lg(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["The old and new passwords must be different."]))],null,null)}function qg(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](1,null,[" "," "]))],null,(function(t,e){t(e,1,0,e.component.passwordValuation)}))}function jg(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["This field is required."]))],null,null)}function Fg(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Password confirmation doesn't match the new password."]))],null,null)}function zg(t){return i["ɵvid"](0,[i["ɵpid"](0,o.TitleCasePipe,[]),i["ɵpid"](0,si.a,[]),(t()(),i["ɵeld"](2,0,null,null,93,"div",[["class","cd-col-form"]],null,null,null,null,null)),(t()(),i["ɵeld"](3,0,null,null,92,"form",[["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(t,e,n){var a=!0;return"submit"===e&&(a=!1!==i["ɵnov"](t,5).onSubmit(n)&&a),"reset"===e&&(a=!1!==i["ɵnov"](t,5).onReset()&&a),"submit"===e&&(a=!1!==i["ɵnov"](t,8).onSubmit()&&a),a}),null,null)),i["ɵdid"](4,16384,null,0,W.G,[],null,null),i["ɵdid"](5,540672,[["frm",4]],0,W.l,[[8,null],[8,null]],{form:[0,"form"]},null),i["ɵprd"](2048,null,W.d,null,[W.l]),i["ɵdid"](7,16384,null,0,W.s,[[4,W.d]],null,null),i["ɵdid"](8,16384,null,0,K.d,[],{formGroup:[0,"formGroup"]},null),(t()(),i["ɵeld"](9,0,null,null,86,"div",[["class","card"]],null,null,null,null,null)),(t()(),i["ɵeld"](10,0,null,null,3,"div",[["class","card-header"]],null,null,null,null,null)),(t()(),i["ɵted"](11,null,[""," ",""])),i["ɵppd"](12,1),i["ɵppd"](13,1),(t()(),i["ɵeld"](14,0,null,null,74,"div",[["class","card-body"]],null,null,null,null,null)),(t()(),i["ɵeld"](15,0,null,null,22,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](16,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,1,{FormControlNames:1}),i["ɵqud"](603979776,2,{messagesBlock:0}),(t()(),i["ɵeld"](19,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","oldpassword"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Old password"])),(t()(),i["ɵeld"](21,0,null,0,16,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](22,0,null,null,11,"div",[["class","input-group"]],null,null,null,null,null)),(t()(),i["ɵeld"](23,0,null,null,7,"input",[["autocomplete","new-password"],["autofocus",""],["class","form-control"],["formControlName","oldpassword"],["id","oldpassword"],["placeholder","Old password..."],["type","password"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,24)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,24).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,24)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,24)._compositionEnd(n.target.value)&&a),a}),null,null)),i["ɵdid"](24,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](26,671744,[[1,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](28,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](29,4210688,null,0,ni.a,[i.ElementRef],{autofocus:[0,"autofocus"]},null),i["ɵdid"](30,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵeld"](31,0,null,null,2,"span",[["class","input-group-append"]],null,null,null,null,null)),(t()(),i["ɵeld"](32,0,null,null,1,"button",[["cdPasswordButton","oldpassword"],["class","btn btn-light"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,33).onClick()&&a),a}),null,null)),i["ɵdid"](33,81920,null,0,kg.a,[i.ElementRef,i.Renderer2],{cdPasswordButton:[0,"cdPasswordButton"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Rg)),i["ɵdid"](35,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Ag)),i["ɵdid"](37,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](38,0,null,null,28,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](39,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,3,{FormControlNames:1}),i["ɵqud"](603979776,4,{messagesBlock:0}),(t()(),i["ɵeld"](42,0,null,0,4,"label",[["class","cd-col-form-label"],["for","newpassword"]],null,null,null,null,null)),(t()(),i["ɵeld"](43,0,null,null,1,"span",[["class","required"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["New password"])),(t()(),i["ɵand"](16777216,null,null,1,null,Eg)),i["ɵdid"](46,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](47,0,null,0,19,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](48,0,null,null,10,"div",[["class","input-group"]],null,null,null,null,null)),(t()(),i["ɵeld"](49,0,null,null,6,"input",[["autocomplete","new-password"],["class","form-control"],["formControlName","newpassword"],["id","newpassword"],["placeholder","Password..."],["type","password"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,50)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,50).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,50)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,50)._compositionEnd(n.target.value)&&a),a}),null,null)),i["ɵdid"](50,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](52,671744,[[3,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](54,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](55,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵeld"](56,0,null,null,2,"span",[["class","input-group-append"]],null,null,null,null,null)),(t()(),i["ɵeld"](57,0,null,null,1,"button",[["cdPasswordButton","newpassword"],["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,58).onClick()&&a),a}),null,null)),i["ɵdid"](58,81920,null,0,kg.a,[i.ElementRef,i.Renderer2],{cdPasswordButton:[0,"cdPasswordButton"]},null),(t()(),i["ɵeld"](59,0,null,null,1,"div",[["class","password-strength-level"]],null,null,null,null,null)),(t()(),i["ɵeld"](60,0,null,null,0,"div",[["data-toggle","tooltip"]],[[8,"className",0],[8,"title",0]],null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Dg)),i["ɵdid"](62,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Lg)),i["ɵdid"](64,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,qg)),i["ɵdid"](66,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](67,0,null,null,21,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](68,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,5,{FormControlNames:1}),i["ɵqud"](603979776,6,{messagesBlock:0}),(t()(),i["ɵeld"](71,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","confirmnewpassword"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Confirm new password"])),(t()(),i["ɵeld"](73,0,null,0,15,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](74,0,null,null,10,"div",[["class","input-group"]],null,null,null,null,null)),(t()(),i["ɵeld"](75,0,null,null,6,"input",[["autocomplete","new-password"],["class","form-control"],["formControlName","confirmnewpassword"],["id","confirmnewpassword"],["placeholder","Confirm new password..."],["type","password"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,76)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,76).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,76)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,76)._compositionEnd(n.target.value)&&a),a}),null,null)),i["ɵdid"](76,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](78,671744,[[5,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](80,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](81,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵeld"](82,0,null,null,2,"span",[["class","input-group-append"]],null,null,null,null,null)),(t()(),i["ɵeld"](83,0,null,null,1,"button",[["cdPasswordButton","confirmnewpassword"],["class","btn btn-light"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,84).onClick()&&a),a}),null,null)),i["ɵdid"](84,81920,null,0,kg.a,[i.ElementRef,i.Renderer2],{cdPasswordButton:[0,"cdPasswordButton"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,jg)),i["ɵdid"](86,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Fg)),i["ɵdid"](88,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](89,0,null,null,6,"div",[["class","card-footer"]],null,null,null,null,null)),(t()(),i["ɵeld"](90,0,null,null,5,"div",[["class","button-group text-right"]],null,null,null,null,null)),(t()(),i["ɵeld"](91,0,null,null,4,"cd-submit-button",[],null,[[null,"submitAction"]],(function(t,e,n){var a=!0;return"submitAction"===e&&(a=!1!==t.component.onSubmit()&&a),a}),ai.b,ai.a)),i["ɵdid"](92,114688,null,0,ri.a,[i.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(t()(),i["ɵted"](93,0,[" "," "," "])),i["ɵppd"](94,1),i["ɵppd"](95,1)],(function(t,e){var n=e.component;t(e,5,0,n.userForm),t(e,8,0,n.userForm),t(e,16,0),t(e,26,0,"oldpassword"),t(e,29,0,""),t(e,30,0,"oldpassword"),t(e,33,0,"oldpassword"),t(e,35,0,n.userForm.showError("oldpassword",i["ɵnov"](e,5),"required")),t(e,37,0,n.userForm.showError("oldpassword",i["ɵnov"](e,5),"notmatch")),t(e,39,0),t(e,46,0,n.passwordPolicyHelpText.length>0),t(e,52,0,"newpassword"),t(e,55,0,"newpassword"),t(e,58,0,"newpassword"),t(e,62,0,n.userForm.showError("newpassword",i["ɵnov"](e,5),"required")),t(e,64,0,n.userForm.showError("newpassword",i["ɵnov"](e,5),"notmatch")),t(e,66,0,n.userForm.showError("newpassword",i["ɵnov"](e,5),"passwordPolicy")),t(e,68,0),t(e,78,0,"confirmnewpassword"),t(e,81,0,"confirmnewpassword"),t(e,84,0,"confirmnewpassword"),t(e,86,0,n.userForm.showError("confirmnewpassword",i["ɵnov"](e,5),"required")),t(e,88,0,n.userForm.showError("confirmnewpassword",i["ɵnov"](e,5),"match")),t(e,92,0,n.userForm)}),(function(t,e){var n=e.component;t(e,3,0,i["ɵnov"](e,7).ngClassUntouched,i["ɵnov"](e,7).ngClassTouched,i["ɵnov"](e,7).ngClassPristine,i["ɵnov"](e,7).ngClassDirty,i["ɵnov"](e,7).ngClassValid,i["ɵnov"](e,7).ngClassInvalid,i["ɵnov"](e,7).ngClassPending);var a=i["ɵunv"](e,11,0,t(e,12,0,i["ɵnov"](e,0),n.action)),r=i["ɵunv"](e,11,1,t(e,13,0,i["ɵnov"](e,1),n.resource));t(e,11,0,a,r),t(e,15,0,i["ɵnov"](e,16).hasErrors,i["ɵnov"](e,16).hasSuccess),t(e,23,0,i["ɵnov"](e,28).ngClassUntouched,i["ɵnov"](e,28).ngClassTouched,i["ɵnov"](e,28).ngClassPristine,i["ɵnov"](e,28).ngClassDirty,i["ɵnov"](e,28).ngClassValid,i["ɵnov"](e,28).ngClassInvalid,i["ɵnov"](e,28).ngClassPending,i["ɵnov"](e,30).validClass,i["ɵnov"](e,30).invalidClass),t(e,38,0,i["ɵnov"](e,39).hasErrors,i["ɵnov"](e,39).hasSuccess),t(e,49,0,i["ɵnov"](e,54).ngClassUntouched,i["ɵnov"](e,54).ngClassTouched,i["ɵnov"](e,54).ngClassPristine,i["ɵnov"](e,54).ngClassDirty,i["ɵnov"](e,54).ngClassValid,i["ɵnov"](e,54).ngClassInvalid,i["ɵnov"](e,54).ngClassPending,i["ɵnov"](e,55).validClass,i["ɵnov"](e,55).invalidClass),t(e,60,0,i["ɵinlineInterpolate"](1,"",n.passwordStrengthLevelClass,""),i["ɵinlineInterpolate"](1,"",n.passwordValuation,"")),t(e,67,0,i["ɵnov"](e,68).hasErrors,i["ɵnov"](e,68).hasSuccess),t(e,75,0,i["ɵnov"](e,80).ngClassUntouched,i["ɵnov"](e,80).ngClassTouched,i["ɵnov"](e,80).ngClassPristine,i["ɵnov"](e,80).ngClassDirty,i["ɵnov"](e,80).ngClassValid,i["ɵnov"](e,80).ngClassInvalid,i["ɵnov"](e,80).ngClassPending,i["ɵnov"](e,81).validClass,i["ɵnov"](e,81).invalidClass);var o=i["ɵunv"](e,93,0,t(e,94,0,i["ɵnov"](e,0),n.action)),s=i["ɵunv"](e,93,1,t(e,95,0,i["ɵnov"](e,1),n.resource));t(e,93,0,o,s)}))}function Vg(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-user-password-form",[],null,null,null,zg,Ng)),i["ɵdid"](1,49152,null,0,Ig,[ra.a,Ot.b,ut.a,yt.a,bt.a,bs.a,Tt.m,Sg.a],null,null)],null,null)}var Gg=i["ɵccf"]("cd-user-password-form",Ig,Vg,{},{},[]);class Yg{constructor(t,e,n,a){this.route=t,this.summaryService=e,this.cephReleaseNamePipe=n,this.i18n=a,this.message=this.i18n("The NFS Ganesha service is not configured.")}ngOnInit(){const t=this.summaryService.subscribe(e=>{if(!e)return;const n=this.cephReleaseNamePipe.transform(e.version);this.docsUrl=`http://docs.ceph.com/docs/${n}/mgr/dashboard/`+"#configuring-nfs-ganesha-in-the-dashboard",setTimeout(()=>{t.unsubscribe()},0)});this.routeParamsSubscribe=this.route.params.subscribe(t=>{this.message=t.message})}ngOnDestroy(){this.routeParamsSubscribe.unsubscribe()}}var Bg=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Hg(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,8,"cd-alert-panel",[["type","info"]],null,null,null,Or.b,Or.a)),i["ɵdid"](1,114688,null,0,vr.a,[ra.a],{type:[0,"type"]},null),(t()(),i["ɵted"](2,0,[" ",""])),(t()(),i["ɵeld"](3,0,null,0,0,"br",[],null,null,null,null,null)),(t()(),i["ɵeld"](4,0,null,0,4,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Please consult the "])),(t()(),i["ɵeld"](6,0,null,null,1,"a",[["target","_blank"]],[[8,"href",4]],null,null,null,null)),(t()(),i["ɵted"](-1,null,["documentation"])),(t()(),i["ɵted"](-1,null,[" on how to configure and enable the NFS Ganesha management functionality."]))],(function(t,e){t(e,1,0,"info")}),(function(t,e){var n=e.component;t(e,2,0,n.message),t(e,6,0,i["ɵinlineInterpolate"](1,"",n.docsUrl,""))}))}function Ug(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-nfs-501",[],null,null,null,Hg,Bg)),i["ɵdid"](1,245760,null,0,Yg,[Tt.a,gt.a,ht.a,ra.a],null,null)],(function(t,e){t(e,1,0)}),null)}var Wg=i["ɵccf"]("cd-nfs-501",Yg,Ug,{},{},[]);class Kg{constructor(t){this.i18n=t,this.clients=[],this.clientsColumns=[{name:this.i18n("Addresses"),prop:"addresses",flexGrow:2},{name:this.i18n("Access Type"),prop:"access_type",flexGrow:1},{name:this.i18n("Squash"),prop:"squash",flexGrow:1}]}ngOnChanges(){this.selection.hasSelection&&(this.selectedItem=this.selection.first(),this.clients=this.selectedItem.clients,this.data={},this.data[this.i18n("Cluster")]=this.selectedItem.cluster_id,this.data[this.i18n("Daemons")]=this.selectedItem.daemons,this.data[this.i18n("NFS Protocol")]=this.selectedItem.protocols.map(t=>"NFSv"+t),this.data[this.i18n("Pseudo")]=this.selectedItem.pseudo,this.data[this.i18n("Access Type")]=this.selectedItem.access_type,this.data[this.i18n("Squash")]=this.selectedItem.squash,this.data[this.i18n("Transport")]=this.selectedItem.transports,this.data[this.i18n("Path")]=this.selectedItem.path,"CEPH"===this.selectedItem.fsal.name?(this.data[this.i18n("Storage Backend")]=this.i18n("CephFS"),this.data[this.i18n("CephFS User")]=this.selectedItem.fsal.user_id,this.data[this.i18n("CephFS Filesystem")]=this.selectedItem.fsal.fs_name,this.data[this.i18n("Security Label")]=this.selectedItem.fsal.sec_label_xattr):(this.data[this.i18n("Storage Backend")]=this.i18n("Object Gateway"),this.data[this.i18n("Object Gateway User")]=this.selectedItem.fsal.rgw_user_id))}}var $g=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Zg(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,9,"tabset",[],[[2,"tab-container",null]],null,null,Ln.b,Ln.a)),i["ɵdid"](1,180224,null,0,qn.e,[qn.f,i.Renderer2,i.ElementRef],null,null),(t()(),i["ɵeld"](2,0,null,0,3,"tab",[["heading","Details"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](3,212992,null,0,qn.b,[qn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵeld"](4,0,null,null,1,"cd-table-key-value",[],null,null,null,Wr.b,Wr.a)),i["ɵdid"](5,638976,null,0,Kr.a,[ie.a],{data:[0,"data"]},null),(t()(),i["ɵeld"](6,0,null,0,3,"tab",[],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](7,212992,null,0,qn.b,[qn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵeld"](8,0,null,null,1,"cd-table",[["columnMode","flex"],["forceIdentifier","true"],["identifier","addresses"],["selectionType",""]],null,null,null,hr.b,hr.a)),i["ɵdid"](9,2867200,[["table",4]],0,br.a,[i.NgZone,i.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],identifier:[3,"identifier"],forceIdentifier:[4,"forceIdentifier"],selectionType:[5,"selectionType"]},null)],(function(t,e){var n=e.component;t(e,3,0,"Details"),t(e,5,0,n.data),t(e,7,0,i["ɵinlineInterpolate"](1,"Clients (",n.clients.length,")")),t(e,9,0,n.clients,n.clientsColumns,"flex","addresses","true","")}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).clazz),t(e,2,0,i["ɵnov"](e,3).id,i["ɵnov"](e,3).active,i["ɵnov"](e,3).addClass),t(e,6,0,i["ɵnov"](e,7).id,i["ɵnov"](e,7).active,i["ɵnov"](e,7).addClass)}))}function Jg(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,Zg)),i["ɵdid"](1,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0,null==n.selection?null:n.selection.hasSingleSelection)}),null)}var Xg=n("VTlA");let Qg=(()=>{class t{constructor(t,e){this.http=t,this.i18n=e,this.apiPath="api/nfs-ganesha",this.uiApiPath="ui-api/nfs-ganesha",this.nfsAccessType=[{value:"RW",help:this.i18n("Allows all operations")},{value:"RO",help:this.i18n("Allows only operations that do not modify the server")},{value:"MDONLY",help:this.i18n("Does not allow read or write operations, but allows any other operation")},{value:"MDONLY_RO",help:this.i18n("Does not allow read, write, or any operation that modifies file        attributes or directory content")},{value:"NONE",help:this.i18n("Allows no access at all")}],this.nfsFsal=[{value:"CEPH",descr:this.i18n("CephFS")},{value:"RGW",descr:this.i18n("Object Gateway")}],this.nfsSquash=["no_root_squash","root_id_squash","root_squash","all_squash"]}list(){return this.http.get(`${this.apiPath}/export`)}get(t,e){return this.http.get(`${this.apiPath}/export/${t}/${e}`)}create(t){return this.http.post(`${this.apiPath}/export`,t,{observe:"response"})}update(t,e,n){return this.http.put(`${this.apiPath}/export/${t}/${e}`,n,{observe:"response"})}delete(t,e){return this.http.delete(`${this.apiPath}/export/${t}/${e}`,{observe:"response"})}lsDir(t){return this.http.get(`${this.uiApiPath}/lsdir?root_dir=${t}`)}buckets(t){return this.http.get(`${this.uiApiPath}/rgw/buckets?user_id=${t}`)}clients(){return this.http.get(`${this.uiApiPath}/cephx/clients`)}fsals(){return this.http.get(`${this.uiApiPath}/fsals`)}filesystems(){return this.http.get(`${this.uiApiPath}/cephfs/filesystems`)}daemon(){return this.http.get(`${this.apiPath}/daemon`)}start(t){return this.http.put(`${this.apiPath}/service/${t}/start`,null,{observe:"response"})}stop(t){return this.http.put(`${this.apiPath}/service/${t}/stop`,null,{observe:"response"})}}return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t(i["ɵɵinject"](J.c),i["ɵɵinject"](ra.a))},token:t,providedIn:me.a}),t})();class tf{constructor(t,e,n,a,r,o,i){this.authStorageService=t,this.i18n=e,this.modalService=n,this.nfsService=a,this.taskListService=r,this.taskWrapper=o,this.actionLabels=i,this.selection=new kr.a,this.isDefaultCluster=!1,this.builders={"nfs/create":t=>({path:t.path,cluster_id:t.cluster_id,fsal:t.fsal})},this.permission=this.authStorageService.getPermissions().nfs;const s=()=>this.selection.first()&&`${encodeURI(this.selection.first().cluster_id)}/${encodeURI(this.selection.first().export_id)}`;this.tableActions=[{permission:"create",icon:dt.a.add,routerLink:()=>"/nfs/create",canBePrimary:t=>!t.hasSingleSelection,name:this.actionLabels.CREATE},{permission:"update",icon:dt.a.edit,routerLink:()=>`/nfs/edit/${s()}`,name:this.actionLabels.EDIT},{permission:"delete",icon:dt.a.destroy,click:()=>this.deleteNfsModal(),name:this.actionLabels.DELETE}]}ngOnInit(){this.columns=[{name:this.i18n("Path"),prop:"path",flexGrow:2,cellTransformation:Tr.a.executing},{name:this.i18n("Pseudo"),prop:"pseudo",flexGrow:2},{name:this.i18n("Cluster"),prop:"cluster_id",flexGrow:2},{name:this.i18n("Daemons"),prop:"daemons",flexGrow:2},{name:this.i18n("Storage Backend"),prop:"fsal",flexGrow:2,cellTemplate:this.nfsFsal},{name:this.i18n("Access Type"),prop:"access_type",flexGrow:2}],this.nfsService.daemon().subscribe(t=>{const e=$(t).map(t=>t.cluster_id).uniq().value();this.isDefaultCluster=1===e.length&&"_default_"===e[0],this.columns[2].isHidden=this.isDefaultCluster,this.table&&this.table.updateColumns(),this.taskListService.init(()=>this.nfsService.list(),t=>this.prepareResponse(t),t=>this.exports=t,()=>this.onFetchError(),this.taskFilter,this.itemFilter,this.builders)},()=>{this.onFetchError()})}ngOnDestroy(){this.summaryDataSubscription&&this.summaryDataSubscription.unsubscribe()}prepareResponse(t){let e=[];return t.forEach(t=>{t.id=`${t.cluster_id}:${t.export_id}`,t.state="LOADING",e=e.concat(t)}),e}onFetchError(){this.table.reset(),this.viewCacheStatus={status:mg.a.ValueException}}itemFilter(t,e){return t.cluster_id===e.metadata.cluster_id&&t.export_id===e.metadata.export_id}taskFilter(t){return["nfs/create","nfs/delete","nfs/edit"].includes(t.name)}updateSelection(t){this.selection=t}deleteNfsModal(){const t=this.selection.first().cluster_id,e=this.selection.first().export_id;this.modalRef=this.modalService.show(jo.a,{initialState:{itemDescription:this.i18n("NFS export"),itemNames:[`${t}:${e}`],submitActionObservable:()=>this.taskWrapper.wrapTaskAroundCall({task:new Fo.a("nfs/delete",{cluster_id:t,export_id:e}),call:this.nfsService.delete(t,e)})}})}}var ef=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function nf(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["CephFS"]))],null,null)}function af(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Object Gateway"]))],null,null)}function rf(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,nf)),i["ɵdid"](1,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,af)),i["ɵdid"](3,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](0,null,null,0))],(function(t,e){t(e,1,0,"CEPH"===e.context.value.name),t(e,3,0,"RGW"===e.context.value.name)}),null)}function of(t){return i["ɵvid"](0,[i["ɵqud"](671088640,1,{nfsState:0}),i["ɵqud"](402653184,2,{nfsFsal:0}),i["ɵqud"](402653184,3,{table:0}),(t()(),i["ɵeld"](3,0,null,null,6,"cd-table",[["columnMode","flex"],["forceIdentifier","true"],["identifier","id"],["selectionType","single"]],null,[[null,"updateSelection"]],(function(t,e,n){var a=!0;return"updateSelection"===e&&(a=!1!==t.component.updateSelection(n)&&a),a}),hr.b,hr.a)),i["ɵdid"](4,2867200,[[3,4],["table",4]],0,br.a,[i.NgZone,i.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],identifier:[3,"identifier"],forceIdentifier:[4,"forceIdentifier"],selectionType:[5,"selectionType"]},{updateSelection:"updateSelection"}),(t()(),i["ɵeld"](5,0,null,1,2,"div",[["class","table-actions btn-toolbar"]],null,null,null,null,null)),(t()(),i["ɵeld"](6,0,null,null,1,"cd-table-actions",[["class","btn-group"]],null,null,null,_r.b,_r.a)),i["ɵdid"](7,114688,null,0,yr.a,[],{permission:[0,"permission"],selection:[1,"selection"],tableActions:[2,"tableActions"]},null),(t()(),i["ɵeld"](8,0,null,3,1,"cd-nfs-details",[["cdTableDetail",""]],null,null,null,Jg,$g)),i["ɵdid"](9,573440,null,0,Kg,[ra.a],{selection:[0,"selection"]},null),(t()(),i["ɵand"](0,[[2,2],["nfsFsal",2]],null,0,null,rf))],(function(t,e){var n=e.component;t(e,4,0,n.exports,n.columns,"flex","id","true","single"),t(e,7,0,n.permission,n.selection,n.tableActions),t(e,9,0,n.selection)}),null)}function sf(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-nfs-list",[],null,null,null,of,ef)),i["ɵprd"](131584,null,Xg.a,Xg.a,[ge.a,gt.a]),i["ɵdid"](2,245760,null,0,tf,[bt.a,ra.a,Pt.b,Qg,Xg.a,Yo.a,Ot.b],null,null)],(function(t,e){t(e,2,0)}),null)}var cf=i["ɵccf"]("cd-nfs-list",tf,sf,{},{},[]),lf=n("hpHm"),df=n("IzEk"),uf=n("Kj3r"),gf=n("eIep"),ff=n("7+OI");const pf={"Á":"A","Ă":"A","Ắ":"A","Ặ":"A","Ằ":"A","Ẳ":"A","Ẵ":"A","Ǎ":"A","Â":"A","Ấ":"A","Ậ":"A","Ầ":"A","Ẩ":"A","Ẫ":"A","Ä":"A","Ǟ":"A","Ȧ":"A","Ǡ":"A","Ạ":"A","Ȁ":"A","À":"A","Ả":"A","Ȃ":"A","Ā":"A","Ą":"A","Å":"A","Ǻ":"A","Ḁ":"A","Ⱥ":"A","Ã":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ḃ":"B","Ḅ":"B","Ɓ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ć":"C","Č":"C","Ç":"C","Ḉ":"C","Ĉ":"C","Ċ":"C","Ƈ":"C","Ȼ":"C","Ď":"D","Ḑ":"D","Ḓ":"D","Ḋ":"D","Ḍ":"D","Ɗ":"D","Ḏ":"D","Dz":"D","Dž":"D","Đ":"D","Ƌ":"D","DZ":"DZ","DŽ":"DZ","É":"E","Ĕ":"E","Ě":"E","Ȩ":"E","Ḝ":"E","Ê":"E","Ế":"E","Ệ":"E","Ề":"E","Ể":"E","Ễ":"E","Ḙ":"E","Ë":"E","Ė":"E","Ẹ":"E","Ȅ":"E","È":"E","Ẻ":"E","Ȇ":"E","Ē":"E","Ḗ":"E","Ḕ":"E","Ę":"E","Ɇ":"E","Ẽ":"E","Ḛ":"E","Ꝫ":"ET","Ḟ":"F","Ƒ":"F","Ǵ":"G","Ğ":"G","Ǧ":"G","Ģ":"G","Ĝ":"G","Ġ":"G","Ɠ":"G","Ḡ":"G","Ǥ":"G","Ḫ":"H","Ȟ":"H","Ḩ":"H","Ĥ":"H","Ⱨ":"H","Ḧ":"H","Ḣ":"H","Ḥ":"H","Ħ":"H","Í":"I","Ĭ":"I","Ǐ":"I","Î":"I","Ï":"I","Ḯ":"I","İ":"I","Ị":"I","Ȉ":"I","Ì":"I","Ỉ":"I","Ȋ":"I","Ī":"I","Į":"I","Ɨ":"I","Ĩ":"I","Ḭ":"I","Ꝺ":"D","Ꝼ":"F","Ᵹ":"G","Ꞃ":"R","Ꞅ":"S","Ꞇ":"T","Ꝭ":"IS","Ĵ":"J","Ɉ":"J","Ḱ":"K","Ǩ":"K","Ķ":"K","Ⱪ":"K","Ꝃ":"K","Ḳ":"K","Ƙ":"K","Ḵ":"K","Ꝁ":"K","Ꝅ":"K","Ĺ":"L","Ƚ":"L","Ľ":"L","Ļ":"L","Ḽ":"L","Ḷ":"L","Ḹ":"L","Ⱡ":"L","Ꝉ":"L","Ḻ":"L","Ŀ":"L","Ɫ":"L","Lj":"L","Ł":"L","LJ":"LJ","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ń":"N","Ň":"N","Ņ":"N","Ṋ":"N","Ṅ":"N","Ṇ":"N","Ǹ":"N","Ɲ":"N","Ṉ":"N","Ƞ":"N","Nj":"N","Ñ":"N","NJ":"NJ","Ó":"O","Ŏ":"O","Ǒ":"O","Ô":"O","Ố":"O","Ộ":"O","Ồ":"O","Ổ":"O","Ỗ":"O","Ö":"O","Ȫ":"O","Ȯ":"O","Ȱ":"O","Ọ":"O","Ő":"O","Ȍ":"O","Ò":"O","Ỏ":"O","Ơ":"O","Ớ":"O","Ợ":"O","Ờ":"O","Ở":"O","Ỡ":"O","Ȏ":"O","Ꝋ":"O","Ꝍ":"O","Ō":"O","Ṓ":"O","Ṑ":"O","Ɵ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Õ":"O","Ṍ":"O","Ṏ":"O","Ȭ":"O","Ƣ":"OI","Ꝏ":"OO","Ɛ":"E","Ɔ":"O","Ȣ":"OU","Ṕ":"P","Ṗ":"P","Ꝓ":"P","Ƥ":"P","Ꝕ":"P","Ᵽ":"P","Ꝑ":"P","Ꝙ":"Q","Ꝗ":"Q","Ŕ":"R","Ř":"R","Ŗ":"R","Ṙ":"R","Ṛ":"R","Ṝ":"R","Ȑ":"R","Ȓ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꜿ":"C","Ǝ":"E","Ś":"S","Ṥ":"S","Š":"S","Ṧ":"S","Ş":"S","Ŝ":"S","Ș":"S","Ṡ":"S","Ṣ":"S","Ṩ":"S","Ť":"T","Ţ":"T","Ṱ":"T","Ț":"T","Ⱦ":"T","Ṫ":"T","Ṭ":"T","Ƭ":"T","Ṯ":"T","Ʈ":"T","Ŧ":"T","Ɐ":"A","Ꞁ":"L","Ɯ":"M","Ʌ":"V","Ꜩ":"TZ","Ú":"U","Ŭ":"U","Ǔ":"U","Û":"U","Ṷ":"U","Ü":"U","Ǘ":"U","Ǚ":"U","Ǜ":"U","Ǖ":"U","Ṳ":"U","Ụ":"U","Ű":"U","Ȕ":"U","Ù":"U","Ủ":"U","Ư":"U","Ứ":"U","Ự":"U","Ừ":"U","Ử":"U","Ữ":"U","Ȗ":"U","Ū":"U","Ṻ":"U","Ų":"U","Ů":"U","Ũ":"U","Ṹ":"U","Ṵ":"U","Ꝟ":"V","Ṿ":"V","Ʋ":"V","Ṽ":"V","Ꝡ":"VY","Ẃ":"W","Ŵ":"W","Ẅ":"W","Ẇ":"W","Ẉ":"W","Ẁ":"W","Ⱳ":"W","Ẍ":"X","Ẋ":"X","Ý":"Y","Ŷ":"Y","Ÿ":"Y","Ẏ":"Y","Ỵ":"Y","Ỳ":"Y","Ƴ":"Y","Ỷ":"Y","Ỿ":"Y","Ȳ":"Y","Ɏ":"Y","Ỹ":"Y","Ź":"Z","Ž":"Z","Ẑ":"Z","Ⱬ":"Z","Ż":"Z","Ẓ":"Z","Ȥ":"Z","Ẕ":"Z","Ƶ":"Z","IJ":"IJ","Œ":"OE","ᴀ":"A","ᴁ":"AE","ʙ":"B","ᴃ":"B","ᴄ":"C","ᴅ":"D","ᴇ":"E","ꜰ":"F","ɢ":"G","ʛ":"G","ʜ":"H","ɪ":"I","ʁ":"R","ᴊ":"J","ᴋ":"K","ʟ":"L","ᴌ":"L","ᴍ":"M","ɴ":"N","ᴏ":"O","ɶ":"OE","ᴐ":"O","ᴕ":"OU","ᴘ":"P","ʀ":"R","ᴎ":"N","ᴙ":"R","ꜱ":"S","ᴛ":"T","ⱻ":"E","ᴚ":"R","ᴜ":"U","ᴠ":"V","ᴡ":"W","ʏ":"Y","ᴢ":"Z","á":"a","ă":"a","ắ":"a","ặ":"a","ằ":"a","ẳ":"a","ẵ":"a","ǎ":"a","â":"a","ấ":"a","ậ":"a","ầ":"a","ẩ":"a","ẫ":"a","ä":"a","ǟ":"a","ȧ":"a","ǡ":"a","ạ":"a","ȁ":"a","à":"a","ả":"a","ȃ":"a","ā":"a","ą":"a","ᶏ":"a","ẚ":"a","å":"a","ǻ":"a","ḁ":"a","ⱥ":"a","ã":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ḃ":"b","ḅ":"b","ɓ":"b","ḇ":"b","ᵬ":"b","ᶀ":"b","ƀ":"b","ƃ":"b","ɵ":"o","ć":"c","č":"c","ç":"c","ḉ":"c","ĉ":"c","ɕ":"c","ċ":"c","ƈ":"c","ȼ":"c","ď":"d","ḑ":"d","ḓ":"d","ȡ":"d","ḋ":"d","ḍ":"d","ɗ":"d","ᶑ":"d","ḏ":"d","ᵭ":"d","ᶁ":"d","đ":"d","ɖ":"d","ƌ":"d","ı":"i","ȷ":"j","ɟ":"j","ʄ":"j","dz":"dz","dž":"dz","é":"e","ĕ":"e","ě":"e","ȩ":"e","ḝ":"e","ê":"e","ế":"e","ệ":"e","ề":"e","ể":"e","ễ":"e","ḙ":"e","ë":"e","ė":"e","ẹ":"e","ȅ":"e","è":"e","ẻ":"e","ȇ":"e","ē":"e","ḗ":"e","ḕ":"e","ⱸ":"e","ę":"e","ᶒ":"e","ɇ":"e","ẽ":"e","ḛ":"e","ꝫ":"et","ḟ":"f","ƒ":"f","ᵮ":"f","ᶂ":"f","ǵ":"g","ğ":"g","ǧ":"g","ģ":"g","ĝ":"g","ġ":"g","ɠ":"g","ḡ":"g","ᶃ":"g","ǥ":"g","ḫ":"h","ȟ":"h","ḩ":"h","ĥ":"h","ⱨ":"h","ḧ":"h","ḣ":"h","ḥ":"h","ɦ":"h","ẖ":"h","ħ":"h","ƕ":"hv","í":"i","ĭ":"i","ǐ":"i","î":"i","ï":"i","ḯ":"i","ị":"i","ȉ":"i","ì":"i","ỉ":"i","ȋ":"i","ī":"i","į":"i","ᶖ":"i","ɨ":"i","ĩ":"i","ḭ":"i","ꝺ":"d","ꝼ":"f","ᵹ":"g","ꞃ":"r","ꞅ":"s","ꞇ":"t","ꝭ":"is","ǰ":"j","ĵ":"j","ʝ":"j","ɉ":"j","ḱ":"k","ǩ":"k","ķ":"k","ⱪ":"k","ꝃ":"k","ḳ":"k","ƙ":"k","ḵ":"k","ᶄ":"k","ꝁ":"k","ꝅ":"k","ĺ":"l","ƚ":"l","ɬ":"l","ľ":"l","ļ":"l","ḽ":"l","ȴ":"l","ḷ":"l","ḹ":"l","ⱡ":"l","ꝉ":"l","ḻ":"l","ŀ":"l","ɫ":"l","ᶅ":"l","ɭ":"l","ł":"l","lj":"lj","ſ":"s","ẜ":"s","ẛ":"s","ẝ":"s","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ᵯ":"m","ᶆ":"m","ń":"n","ň":"n","ņ":"n","ṋ":"n","ȵ":"n","ṅ":"n","ṇ":"n","ǹ":"n","ɲ":"n","ṉ":"n","ƞ":"n","ᵰ":"n","ᶇ":"n","ɳ":"n","ñ":"n","nj":"nj","ó":"o","ŏ":"o","ǒ":"o","ô":"o","ố":"o","ộ":"o","ồ":"o","ổ":"o","ỗ":"o","ö":"o","ȫ":"o","ȯ":"o","ȱ":"o","ọ":"o","ő":"o","ȍ":"o","ò":"o","ỏ":"o","ơ":"o","ớ":"o","ợ":"o","ờ":"o","ở":"o","ỡ":"o","ȏ":"o","ꝋ":"o","ꝍ":"o","ⱺ":"o","ō":"o","ṓ":"o","ṑ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","õ":"o","ṍ":"o","ṏ":"o","ȭ":"o","ƣ":"oi","ꝏ":"oo","ɛ":"e","ᶓ":"e","ɔ":"o","ᶗ":"o","ȣ":"ou","ṕ":"p","ṗ":"p","ꝓ":"p","ƥ":"p","ᵱ":"p","ᶈ":"p","ꝕ":"p","ᵽ":"p","ꝑ":"p","ꝙ":"q","ʠ":"q","ɋ":"q","ꝗ":"q","ŕ":"r","ř":"r","ŗ":"r","ṙ":"r","ṛ":"r","ṝ":"r","ȑ":"r","ɾ":"r","ᵳ":"r","ȓ":"r","ṟ":"r","ɼ":"r","ᵲ":"r","ᶉ":"r","ɍ":"r","ɽ":"r","ↄ":"c","ꜿ":"c","ɘ":"e","ɿ":"r","ś":"s","ṥ":"s","š":"s","ṧ":"s","ş":"s","ŝ":"s","ș":"s","ṡ":"s","ṣ":"s","ṩ":"s","ʂ":"s","ᵴ":"s","ᶊ":"s","ȿ":"s","ɡ":"g","ᴑ":"o","ᴓ":"o","ᴝ":"u","ť":"t","ţ":"t","ṱ":"t","ț":"t","ȶ":"t","ẗ":"t","ⱦ":"t","ṫ":"t","ṭ":"t","ƭ":"t","ṯ":"t","ᵵ":"t","ƫ":"t","ʈ":"t","ŧ":"t","ᵺ":"th","ɐ":"a","ᴂ":"ae","ǝ":"e","ᵷ":"g","ɥ":"h","ʮ":"h","ʯ":"h","ᴉ":"i","ʞ":"k","ꞁ":"l","ɯ":"m","ɰ":"m","ᴔ":"oe","ɹ":"r","ɻ":"r","ɺ":"r","ⱹ":"r","ʇ":"t","ʌ":"v","ʍ":"w","ʎ":"y","ꜩ":"tz","ú":"u","ŭ":"u","ǔ":"u","û":"u","ṷ":"u","ü":"u","ǘ":"u","ǚ":"u","ǜ":"u","ǖ":"u","ṳ":"u","ụ":"u","ű":"u","ȕ":"u","ù":"u","ủ":"u","ư":"u","ứ":"u","ự":"u","ừ":"u","ử":"u","ữ":"u","ȗ":"u","ū":"u","ṻ":"u","ų":"u","ᶙ":"u","ů":"u","ũ":"u","ṹ":"u","ṵ":"u","ᵫ":"ue","ꝸ":"um","ⱴ":"v","ꝟ":"v","ṿ":"v","ʋ":"v","ᶌ":"v","ⱱ":"v","ṽ":"v","ꝡ":"vy","ẃ":"w","ŵ":"w","ẅ":"w","ẇ":"w","ẉ":"w","ẁ":"w","ⱳ":"w","ẘ":"w","ẍ":"x","ẋ":"x","ᶍ":"x","ý":"y","ŷ":"y","ÿ":"y","ẏ":"y","ỵ":"y","ỳ":"y","ƴ":"y","ỷ":"y","ỿ":"y","ȳ":"y","ẙ":"y","ɏ":"y","ỹ":"y","ź":"z","ž":"z","ẑ":"z","ʑ":"z","ⱬ":"z","ż":"z","ẓ":"z","ȥ":"z","ẕ":"z","ᵶ":"z","ᶎ":"z","ʐ":"z","ƶ":"z","ɀ":"z","ff":"ff","ffi":"ffi","ffl":"ffl","fi":"fi","fl":"fl","ij":"ij","œ":"oe","st":"st","ₐ":"a","ₑ":"e","ᵢ":"i","ⱼ":"j","ₒ":"o","ᵣ":"r","ᵤ":"u","ᵥ":"v","ₓ":"x"};class mf{constructor(t,e=t,n=!1){this.item=t,this.value=e,this.header=n}isHeader(){return this.header}toString(){return this.value}}function hf(t){return t?t.replace(/[^A-Za-z0-9\[\] ]/g,(function(t){return pf[t]||t})):""}function bf(t,e=" ",n=""){const a=t.split(new RegExp(`(?:[${n}])([^${n}]+)`+`(?:[${n}])|([^${e}]+)`,"g")),r=[],o=a.length;let i;const s=new RegExp(`[${n}]+`,"g");for(let c=0;c<o;c+=1)i=a[c],i&&i.length&&i!==e&&r.push(i.replace(s,""));return r}function _f(t,e){if(!e||"object"!=typeof t)return t.toString();if(e.endsWith("()"))return t[e.slice(0,e.length-2)]().toString();const n=e.replace(/\[(\w+)\]/g,".$1").replace(/^\./,"").split(".");for(const a of n)a in t&&(t=t[a]);return t?t.toString():""}class yf{constructor(t,e,n){this.positionService=t,this.renderer=e,this.element=n,this.isFocused=!1,this.visibility="hidden",this.height=0,this._matches=[],this.isScrolledIntoView=function(t){const e=this.ulElement.nativeElement.scrollTop,n=e+Number(this.ulElement.nativeElement.offsetHeight),a=t.offsetTop;return a+t.offsetHeight<=n&&a>=e}}get isBs4(){return!Object(lf.d)()}get active(){return this._active}get matches(){return this._matches}set matches(t){if(this.positionService.setOptions({modifiers:{flip:{enabled:this.adaptivePosition}},allowedPositions:["top","bottom"]}),this.positionService.event$.pipe(Object(df.a)(1)).subscribe(()=>{this.positionService.disable(),this.visibility=this.typeaheadScrollable?"hidden":"visible",this.animationState=this.isAnimated?this.isTopPosition?"animated-up":"animated-down":"unanimated"}),this._matches=t,this.needScrollbar=this.typeaheadScrollable&&this.typeaheadOptionsInScrollableView<this.matches.length,this.typeaheadScrollable&&setTimeout(()=>{this.setScrollableMode()}),this.typeaheadIsFirstItemActive&&this._matches.length>0&&(this._active=this._matches[0],this._active.isHeader()&&this.nextActiveMatch()),this._active&&!this.typeaheadIsFirstItemActive){const t=this._matches.find(t=>t.value===this._active.value);if(t)return void this.selectActive(t);this._active=null}}get isTopPosition(){return this.element.nativeElement.classList.contains("top")}get optionsListTemplate(){return this.parent?this.parent.optionsListTemplate:void 0}get isAnimated(){return!!this.parent&&this.parent.isAnimated}get adaptivePosition(){return!!this.parent&&this.parent.adaptivePosition}get typeaheadScrollable(){return!!this.parent&&this.parent.typeaheadScrollable}get typeaheadOptionsInScrollableView(){return this.parent?this.parent.typeaheadOptionsInScrollableView:5}get typeaheadIsFirstItemActive(){return!this.parent||this.parent.typeaheadIsFirstItemActive}get itemTemplate(){return this.parent?this.parent.typeaheadItemTemplate:void 0}selectActiveMatch(t){this._active&&this.parent.typeaheadSelectFirstItem&&this.selectMatch(this._active),!this.parent.typeaheadSelectFirstItem&&t&&this.selectMatch(this._active)}positionServiceEnable(){this.positionService.enable()}prevActiveMatch(){const t=this.matches.indexOf(this._active);this._active=this.matches[t-1<0?this.matches.length-1:t-1],this._active.isHeader()&&this.prevActiveMatch(),this.typeaheadScrollable&&this.scrollPrevious(t)}nextActiveMatch(){const t=this.matches.indexOf(this._active);this._active=this.matches[t+1>this.matches.length-1?0:t+1],this._active.isHeader()&&this.nextActiveMatch(),this.typeaheadScrollable&&this.scrollNext(t)}selectActive(t){this.isFocused=!0,this._active=t}highlight(t,e){let n,a,r=t.value,o=(this.parent&&this.parent.typeaheadLatinize?hf(r):r).toLowerCase();if("object"==typeof e){const t=e.length;for(let i=0;i<t;i+=1)n=o.indexOf(e[i]),a=e[i].length,n>=0&&a>0&&(r=`${r.substring(0,n)}<strong>${r.substring(n,n+a)}</strong>`+`${r.substring(n+a)}`,o=`${o.substring(0,n)}        ${" ".repeat(a)}         `+`${o.substring(n+a)}`)}else e&&(n=o.indexOf(e),a=e.length,n>=0&&a>0&&(r=`${r.substring(0,n)}<strong>${r.substring(n,n+a)}</strong>`+`${r.substring(n+a)}`));return r}focusLost(){this.isFocused=!1}isActive(t){return this._active===t}selectMatch(t,e){return e&&(e.stopPropagation(),e.preventDefault()),this.parent.changeModel(t),setTimeout(()=>this.parent.typeaheadOnSelect.emit(t),0),!1}setScrollableMode(){if(this.ulElement||(this.ulElement=this.element),this.liElements.first){const t=lf.b.getStyles(this.ulElement.nativeElement),e=lf.b.getStyles(this.liElements.first.nativeElement),n=parseFloat((t["padding-bottom"]?t["padding-bottom"]:"").replace("px","")),a=parseFloat((t["padding-top"]?t["padding-top"]:"0").replace("px","")),r=parseFloat((e.height?e.height:"0").replace("px",""));this.guiHeight=`${this.typeaheadOptionsInScrollableView*r+a+n}px`}this.renderer.setStyle(this.element.nativeElement,"visibility","visible")}scrollPrevious(t){if(0!==t){if(this.liElements){const e=this.liElements.toArray()[t-1];e&&!this.isScrolledIntoView(e.nativeElement)&&(this.ulElement.nativeElement.scrollTop=e.nativeElement.offsetTop)}}else this.scrollToBottom()}scrollNext(t){if(t+1>this.matches.length-1)this.scrollToTop();else if(this.liElements){const e=this.liElements.toArray()[t+1];e&&!this.isScrolledIntoView(e.nativeElement)&&(this.ulElement.nativeElement.scrollTop=e.nativeElement.offsetTop-Number(this.ulElement.nativeElement.offsetHeight)+Number(e.nativeElement.offsetHeight))}}scrollToBottom(){this.ulElement.nativeElement.scrollTop=this.ulElement.nativeElement.scrollHeight}scrollToTop(){this.ulElement.nativeElement.scrollTop=0}}class Of{constructor(){this.adaptivePosition=!1,this.isAnimated=!1,this.hideResultsOnBlur=!0,this.selectFirstItem=!0,this.isFirstItemActive=!0,this.minLength=1}}class vf{constructor(t,e,n,a,r,o,s){this.changeDetection=n,this.element=a,this.ngControl=r,this.renderer=o,this.typeaheadMinLength=void 0,this.isAnimated=!1,this.typeaheadAsync=void 0,this.typeaheadLatinize=!0,this.typeaheadSingleWords=!0,this.typeaheadWordDelimiters=" ",this.typeaheadPhraseDelimiters="'\"",this.typeaheadScrollable=!1,this.typeaheadOptionsInScrollableView=5,this.typeaheadSelectFirstItem=!0,this.typeaheadIsFirstItemActive=!0,this.typeaheadLoading=new i.EventEmitter,this.typeaheadNoResults=new i.EventEmitter,this.typeaheadOnSelect=new i.EventEmitter,this.typeaheadOnBlur=new i.EventEmitter,this.dropup=!1,this.isActiveItemChanged=!1,this.isTypeaheadOptionsListActive=!1,this.keyUpEventEmitter=new i.EventEmitter,this.placement="bottom-left",this._subscriptions=[],this._typeahead=t.createLoader(a,s,o).provide({provide:Of,useValue:e}),Object.assign(this,{typeaheadHideResultsOnBlur:e.hideResultsOnBlur,typeaheadSelectFirstItem:e.selectFirstItem,typeaheadIsFirstItemActive:e.isFirstItemActive,typeaheadMinLength:e.minLength,adaptivePosition:e.adaptivePosition,isAnimated:e.isAnimated})}ngOnInit(){this.typeaheadOptionsLimit=this.typeaheadOptionsLimit||20,this.typeaheadMinLength=void 0===this.typeaheadMinLength?1:this.typeaheadMinLength,this.typeaheadWaitMs=this.typeaheadWaitMs||0,void 0!==this.typeaheadAsync||Object(ff.a)(this.typeahead)||(this.typeaheadAsync=!1),Object(ff.a)(this.typeahead)&&(this.typeaheadAsync=!0),this.typeaheadAsync?this.asyncActions():this.syncActions()}onInput(t){const e=void 0!==t.target.value?t.target.value:void 0!==t.target.textContent?t.target.textContent:t.target.innerText;null!=e&&e.trim().length>=this.typeaheadMinLength?(this.typeaheadLoading.emit(!0),this.keyUpEventEmitter.emit(t.target.value)):(this.typeaheadLoading.emit(!1),this.typeaheadNoResults.emit(!1),this.hide())}onChange(t){if(this._container){if(27===t.keyCode||"Escape"===t.key)return void this.hide();if(38===t.keyCode||"ArrowUp"===t.key)return this.isActiveItemChanged=!0,void this._container.prevActiveMatch();if(40===t.keyCode||"ArrowDown"===t.key)return this.isActiveItemChanged=!0,void this._container.nextActiveMatch();if(13===t.keyCode||"Enter"===t.key)return void this._container.selectActiveMatch()}}onFocus(){0===this.typeaheadMinLength&&(this.typeaheadLoading.emit(!0),this.keyUpEventEmitter.emit(this.element.nativeElement.value||""))}onBlur(){this._container&&!this._container.isFocused&&this.typeaheadOnBlur.emit(this._container.active)}onKeydown(t){if(this._container&&(9===t.keyCode||"Tab"===t.key||13===t.keyCode||"Enter"===t.key)){if(t.preventDefault(),this.typeaheadSelectFirstItem)return void this._container.selectActiveMatch();this.typeaheadSelectFirstItem||(this._container.selectActiveMatch(this.isActiveItemChanged),this.isActiveItemChanged=!1,this.hide())}}changeModel(t){const e=t.value;this.ngControl.viewToModelUpdate(e),this.ngControl.control.setValue(e),this.changeDetection.markForCheck(),this.hide()}get matches(){return this._matches}show(){this._typeahead.attach(yf).to(this.container).position({attachment:`${this.dropup?"top":"bottom"} start`}).show({typeaheadRef:this,placement:this.placement,animation:!1,dropup:this.dropup}),this._outsideClickListener=this.renderer.listen("document","click",t=>{0===this.typeaheadMinLength&&this.element.nativeElement.contains(t.target)||this.typeaheadHideResultsOnBlur&&!this.element.nativeElement.contains(t.target)&&this.onOutsideClick()}),this._container=this._typeahead.instance,this._container.parent=this;const t=(this.typeaheadLatinize?hf(this.ngControl.control.value):this.ngControl.control.value).toString().toLowerCase();this._container.query=this.typeaheadSingleWords?bf(t,this.typeaheadWordDelimiters,this.typeaheadPhraseDelimiters):t,this._container.matches=this._matches,this.element.nativeElement.focus()}hide(){this._typeahead.isShown&&(this._typeahead.hide(),this._outsideClickListener(),this._container=null)}onOutsideClick(){this._container&&!this._container.isFocused&&this.hide()}ngOnDestroy(){for(const t of this._subscriptions)t.unsubscribe();this._typeahead.dispose()}asyncActions(){this._subscriptions.push(this.keyUpEventEmitter.pipe(Object(uf.a)(this.typeaheadWaitMs),Object(gf.a)(()=>this.typeahead)).subscribe(t=>{this.finalizeAsyncCall(t)}))}syncActions(){this._subscriptions.push(this.keyUpEventEmitter.pipe(Object(uf.a)(this.typeaheadWaitMs),Object(hn.a)(t=>{const e=this.normalizeQuery(t);return Object(pn.a)(this.typeahead).pipe(Object(mn.a)(t=>t&&this.testMatch(this.normalizeOption(t),e)),Object(_n.a)())})).subscribe(t=>{this.finalizeAsyncCall(t)}))}normalizeOption(t){const e=_f(t,this.typeaheadOptionField);return(this.typeaheadLatinize?hf(e):e).toLowerCase()}normalizeQuery(t){let e=(this.typeaheadLatinize?hf(t):t).toString().toLowerCase();return e=this.typeaheadSingleWords?bf(e,this.typeaheadWordDelimiters,this.typeaheadPhraseDelimiters):e,e}testMatch(t,e){let n;if("object"==typeof e){n=e.length;for(let a=0;a<n;a+=1)if(e[a].length>0&&t.indexOf(e[a])<0)return!1;return!0}return t.indexOf(e)>=0}finalizeAsyncCall(t){if(this.prepareMatches(t||[]),this.typeaheadLoading.emit(!1),this.typeaheadNoResults.emit(!this.hasMatches()),this.hasMatches())if(this._container){const t=((this.typeaheadLatinize?hf(this.ngControl.control.value):this.ngControl.control.value)||"").toString().toLowerCase();this._container.query=this.typeaheadSingleWords?bf(t,this.typeaheadWordDelimiters,this.typeaheadPhraseDelimiters):t,this._container.matches=this._matches}else this.show();else this.hide()}prepareMatches(t){const e=t.slice(0,this.typeaheadOptionsLimit);if(this.typeaheadGroupField){let t=[];e.map(t=>_f(t,this.typeaheadGroupField)).filter((t,e,n)=>n.indexOf(t)===e).forEach(n=>{t.push(new mf(n,n,!0)),t=t.concat(e.filter(t=>_f(t,this.typeaheadGroupField)===n).map(t=>new mf(t,_f(t,this.typeaheadOptionField))))}),this._matches=t}else this._matches=e.map(t=>new mf(t,_f(t,this.typeaheadOptionField)))}hasMatches(){return this._matches.length>0}}class Cf{static forRoot(){return{ngModule:Cf,providers:[U.a,Fn.a,Of]}}}var Pf=n("WiuZ"),Mf=n("wnGv"),xf=n("TYzs");class wf{constructor(t,e){this.nfsService=t,this.i18n=e,this.nfsSquash=this.nfsService.nfsSquash,this.nfsAccessType=this.nfsService.nfsAccessType,this.icons=dt.a}getNoAccessTypeDescr(){return this.form.getValue("access_type")?`${this.form.getValue("access_type")} ${this.i18n("(inherited from global config)")}`:this.i18n("-- Select the access type --")}getAccessTypeHelp(t){const e=this.nfsAccessType.find(e=>this.getValue(t,"access_type")===e.value);return $.isObjectLike(e)?e.help:""}getNoSquashDescr(){return this.form.getValue("squash")?`${this.form.getValue("squash")} (${this.i18n("inherited from global config")})`:this.i18n("-- Select what kind of user id squashing is performed --")}addClient(){const t=this.form.get("clients"),e="(([0-9]{1,3})\\.([0-9]{1,3})\\.([0-9]{1,3}).([0-9]{1,3})([/](\\d|[1-2]\\d|3[0-2]))?)",n=new ci.a({addresses:new W.i("",{validators:[W.B.required,W.B.pattern(`${e}([ ,]{1,2}${e})*`)]}),access_type:new W.i(""),squash:new W.i("")});return t.push(n),n}removeClient(t){this.form.get("clients").removeAt(t)}showError(t,e,n,a){return this.form.controls.clients.controls[t].showError(e,n,a)}getValue(t,e){return this.form.get("clients").at(t).getValue(e)}resolveModel(t){$.forEach(t,t=>{this.addClient().patchValue(t)})}trackByFn(t){return t}}var Tf=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function kf(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"span",[["class","no-border text-muted"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,1,"span",[["class","form-text text-muted"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Any client can access"]))],null,null)}function Sf(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Required field"]))],null,null)}function If(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,"span",[],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Must contain one or more comma-separated values"])),(t()(),i["ɵeld"](3,0,null,null,0,"br",[],null,null,null,null,null)),(t()(),i["ɵeld"](4,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["For example:"])),(t()(),i["ɵted"](-1,null,[" 192.168.0.10, 192.168.1.0/8 "]))],null,null)}function Nf(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](3,null,["",""]))],(function(t,e){t(e,1,0,e.context.$implicit.value),t(e,2,0,e.context.$implicit.value)}),(function(t,e){t(e,3,0,e.context.$implicit.value)}))}function Rf(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","form-text text-muted"]],null,null,null,null,null)),(t()(),i["ɵted"](1,null,[" "," "]))],null,(function(t,e){t(e,1,0,e.component.getAccessTypeHelp(e.parent.context.index))}))}function Af(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](3,null,["",""]))],(function(t,e){t(e,1,0,e.context.$implicit),t(e,2,0,e.context.$implicit)}),(function(t,e){t(e,3,0,e.context.$implicit)}))}function Ef(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,71,"div",[],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,70,"div",[["class","card"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],null,null,null,null)),i["ɵdid"](2,212992,null,0,W.m,[[3,W.d],[8,null],[8,null]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.d,null,[W.m]),i["ɵdid"](4,16384,null,0,W.s,[[4,W.d]],null,null),(t()(),i["ɵeld"](5,0,null,null,4,"div",[["class","card-header"]],null,null,null,null,null)),(t()(),i["ɵted"](6,null,[" "," "])),i["ɵppd"](7,1),(t()(),i["ɵeld"](8,0,null,null,1,"span",[["class","float-right clickable"],["tooltip","Remove"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.removeClient(t.context.index)&&a),a}),null,null)),(t()(),i["ɵted"](-1,null,["×"])),(t()(),i["ɵeld"](10,0,null,null,61,"div",[["class","card-body"]],null,null,null,null,null)),(t()(),i["ɵeld"](11,0,null,null,18,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](12,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,3,{FormControlNames:1}),i["ɵqud"](603979776,4,{messagesBlock:0}),(t()(),i["ɵeld"](15,0,null,0,1,"label",[["class","cd-col-form-label"],["for","addresses"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Addresses"])),(t()(),i["ɵeld"](17,0,null,0,12,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](18,0,null,null,6,"input",[["class","form-control"],["formControlName","addresses"],["id","addresses"],["name","addresses"],["placeholder","192.168.0.10, 192.168.1.0/8"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,19)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,19).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,19)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,19)._compositionEnd(n.target.value)&&a),a}),null,null)),i["ɵdid"](19,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](21,671744,[[3,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](23,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](24,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵeld"](25,0,null,null,4,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Sf)),i["ɵdid"](27,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,If)),i["ɵdid"](29,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](30,0,null,null,21,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](31,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,5,{FormControlNames:1}),i["ɵqud"](603979776,6,{messagesBlock:0}),(t()(),i["ɵeld"](34,0,null,0,1,"label",[["class","cd-col-form-label"],["for","access_type"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Access Type"])),(t()(),i["ɵeld"](36,0,null,0,15,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](37,0,null,null,12,"select",[["class","form-control custom-select"],["formControlName","access_type"],["id","access_type"],["name","access_type"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(t,e,n){var a=!0;return"change"===e&&(a=!1!==i["ɵnov"](t,38).onChange(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,38).onTouched()&&a),a}),null,null)),i["ɵdid"](38,16384,null,0,W.A,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.A]),i["ɵdid"](40,671744,[[5,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](42,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](43,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵeld"](44,0,null,null,3,"option",[["value",""]],null,null,null,null,null)),i["ɵdid"](45,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](46,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](47,null,["",""])),(t()(),i["ɵand"](16777216,null,null,1,null,Nf)),i["ɵdid"](49,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Rf)),i["ɵdid"](51,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](52,0,null,null,19,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](53,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,7,{FormControlNames:1}),i["ɵqud"](603979776,8,{messagesBlock:0}),(t()(),i["ɵeld"](56,0,null,0,1,"label",[["class","cd-col-form-label"],["for","squash"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Squash"])),(t()(),i["ɵeld"](58,0,null,0,13,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](59,0,null,null,12,"select",[["class","form-control custom-select"],["formControlName","squash"],["id","squash"],["name","squash"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(t,e,n){var a=!0;return"change"===e&&(a=!1!==i["ɵnov"](t,60).onChange(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,60).onTouched()&&a),a}),null,null)),i["ɵdid"](60,16384,null,0,W.A,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.A]),i["ɵdid"](62,671744,[[7,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](64,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](65,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵeld"](66,0,null,null,3,"option",[["value",""]],null,null,null,null,null)),i["ɵdid"](67,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](68,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](69,null,["",""])),(t()(),i["ɵand"](16777216,null,null,1,null,Af)),i["ɵdid"](71,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){var n=e.component;t(e,2,0,e.context.index),t(e,12,0),t(e,21,0,"addresses"),t(e,24,0,"addresses"),t(e,27,0,n.showError(e.context.index,"addresses",i["ɵnov"](e.parent,8),"required")),t(e,29,0,n.showError(e.context.index,"addresses",i["ɵnov"](e.parent,8),"pattern")),t(e,31,0),t(e,40,0,"access_type"),t(e,43,0,"access_type"),t(e,45,0,""),t(e,46,0,""),t(e,49,0,n.nfsAccessType),t(e,51,0,n.getValue(e.context.index,"access_type")),t(e,53,0),t(e,62,0,"squash"),t(e,65,0,"squash"),t(e,67,0,""),t(e,68,0,""),t(e,71,0,n.nfsSquash)}),(function(t,e){var n=e.component;t(e,1,0,i["ɵnov"](e,4).ngClassUntouched,i["ɵnov"](e,4).ngClassTouched,i["ɵnov"](e,4).ngClassPristine,i["ɵnov"](e,4).ngClassDirty,i["ɵnov"](e,4).ngClassValid,i["ɵnov"](e,4).ngClassInvalid,i["ɵnov"](e,4).ngClassPending);var a=i["ɵunv"](e,6,0,t(e,7,0,i["ɵnov"](e.parent,0),e.context.index+1));t(e,6,0,a),t(e,11,0,i["ɵnov"](e,12).hasErrors,i["ɵnov"](e,12).hasSuccess),t(e,18,0,i["ɵnov"](e,23).ngClassUntouched,i["ɵnov"](e,23).ngClassTouched,i["ɵnov"](e,23).ngClassPristine,i["ɵnov"](e,23).ngClassDirty,i["ɵnov"](e,23).ngClassValid,i["ɵnov"](e,23).ngClassInvalid,i["ɵnov"](e,23).ngClassPending,i["ɵnov"](e,24).validClass,i["ɵnov"](e,24).invalidClass),t(e,30,0,i["ɵnov"](e,31).hasErrors,i["ɵnov"](e,31).hasSuccess),t(e,37,0,i["ɵnov"](e,42).ngClassUntouched,i["ɵnov"](e,42).ngClassTouched,i["ɵnov"](e,42).ngClassPristine,i["ɵnov"](e,42).ngClassDirty,i["ɵnov"](e,42).ngClassValid,i["ɵnov"](e,42).ngClassInvalid,i["ɵnov"](e,42).ngClassPending,i["ɵnov"](e,43).validClass,i["ɵnov"](e,43).invalidClass),t(e,47,0,n.getNoAccessTypeDescr()),t(e,52,0,i["ɵnov"](e,53).hasErrors,i["ɵnov"](e,53).hasSuccess),t(e,59,0,i["ɵnov"](e,64).ngClassUntouched,i["ɵnov"](e,64).ngClassTouched,i["ɵnov"](e,64).ngClassPristine,i["ɵnov"](e,64).ngClassDirty,i["ɵnov"](e,64).ngClassValid,i["ɵnov"](e,64).ngClassInvalid,i["ɵnov"](e,64).ngClassPending,i["ɵnov"](e,65).validClass,i["ɵnov"](e,65).invalidClass),t(e,69,0,n.getNoSquashDescr())}))}function Df(t){return i["ɵvid"](0,[i["ɵpid"](0,xf.a,[]),(t()(),i["ɵeld"](1,0,null,null,28,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](2,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,1,{FormControlNames:1}),i["ɵqud"](603979776,2,{messagesBlock:0}),(t()(),i["ɵeld"](5,0,null,0,1,"label",[["class","cd-col-form-label"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Clients"])),(t()(),i["ɵeld"](7,0,null,0,22,"div",[["class","cd-col-form-input"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(t,e,n){var a=!0;return"submit"===e&&(a=!1!==i["ɵnov"](t,8).onSubmit(n)&&a),"reset"===e&&(a=!1!==i["ɵnov"](t,8).onReset()&&a),"submit"===e&&(a=!1!==i["ɵnov"](t,11).onSubmit()&&a),a}),null,null)),i["ɵdid"](8,540672,[["formDir",4]],0,W.l,[[8,null],[8,null]],{form:[0,"form"]},null),i["ɵprd"](2048,null,W.d,null,[W.l]),i["ɵdid"](10,16384,null,0,W.s,[[4,W.d]],null,null),i["ɵdid"](11,16384,null,0,K.d,[],{formGroup:[0,"formGroup"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,kf)),i["ɵdid"](13,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](14,0,null,null,5,null,null,null,null,null,null,null)),i["ɵdid"](15,212992,null,0,W.g,[[3,W.d],[8,null],[8,null]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.d,null,[W.g]),i["ɵdid"](17,16384,null,0,W.s,[[4,W.d]],null,null),(t()(),i["ɵand"](16777216,null,null,1,null,Ef)),i["ɵdid"](19,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"],ngForTrackBy:[1,"ngForTrackBy"]},null),(t()(),i["ɵeld"](20,0,null,null,9,"div",[["class","row"]],null,null,null,null,null)),(t()(),i["ɵeld"](21,0,null,null,8,"div",[["class","col-12"]],null,null,null,null,null)),(t()(),i["ɵeld"](22,0,null,null,7,"div",[["class","float-right"]],null,null,null,null,null)),(t()(),i["ɵeld"](23,0,null,null,6,"button",[["class","btn btn-light "]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.addClient()&&a),a}),null,null)),(t()(),i["ɵeld"](24,0,null,null,3,"i",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](26,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](27,1),(t()(),i["ɵeld"](28,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Add clients"]))],(function(t,e){var n=e.component;t(e,2,0),t(e,8,0,n.form),t(e,11,0,n.form),t(e,13,0,0===n.form.get("clients").value.length),t(e,15,0,"clients"),t(e,19,0,n.form.get("clients").value,n.trackByFn);var a=t(e,27,0,n.icons.add);t(e,26,0,a)}),(function(t,e){t(e,1,0,i["ɵnov"](e,2).hasErrors,i["ɵnov"](e,2).hasSuccess),t(e,7,0,i["ɵnov"](e,10).ngClassUntouched,i["ɵnov"](e,10).ngClassTouched,i["ɵnov"](e,10).ngClassPristine,i["ɵnov"](e,10).ngClassDirty,i["ɵnov"](e,10).ngClassValid,i["ɵnov"](e,10).ngClassInvalid,i["ɵnov"](e,10).ngClassPending)}))}var Lf=n("P8lu"),qf=n("DNAf"),jf=n("a96k");class Ff{constructor(t,e,n,a,r,o,i,s,c,l,d,u){this.authStorageService=t,this.nfsService=e,this.route=n,this.router=a,this.rgwUserService=r,this.formBuilder=o,this.summaryservice=i,this.cephReleaseNamePipe=s,this.taskWrapper=c,this.cdRef=l,this.i18n=d,this.actionLabels=u,this.isEdit=!1,this.cluster_id=null,this.export_id=null,this.isNewDirectory=!1,this.isNewBucket=!1,this.isDefaultCluster=!1,this.allClusters=null,this.allDaemons={},this.icons=dt.a,this.allFsals=[],this.allRgwUsers=[],this.allCephxClients=null,this.allFsNames=null,this.defaultAccessType={RGW:"RO"},this.nfsAccessType=this.nfsService.nfsAccessType,this.nfsSquash=this.nfsService.nfsSquash,this.daemonsSelections=[],this.daemonsMessages=new qf.a({noOptions:this.i18n("There are no daemons available.")},this.i18n),this.pathDataSource=fn.a.create(t=>{t.next(this.nfsForm.getValue("path"))}).pipe(Object(hn.a)(t=>this.getPathTypeahead(t)),Object(pe.a)(t=>t.paths)),this.bucketDataSource=fn.a.create(t=>{t.next(this.nfsForm.getValue("path"))}).pipe(Object(hn.a)(t=>this.getBucketTypeahead(t))),this.permission=this.authStorageService.getPermissions().pool,this.resource=this.i18n("NFS export"),this.createForm()}ngOnInit(){const t=[this.nfsService.daemon(),this.nfsService.fsals(),this.nfsService.clients(),this.nfsService.filesystems()];this.router.url.startsWith("/nfs/edit")&&(this.isEdit=!0),this.isEdit?(this.action=this.actionLabels.EDIT,this.route.params.subscribe(e=>{this.cluster_id=decodeURIComponent(e.cluster_id),this.export_id=decodeURIComponent(e.export_id),t.push(this.nfsService.get(this.cluster_id,this.export_id)),this.getData(t)})):(this.action=this.actionLabels.CREATE,this.getData(t));const e=this.summaryservice.getCurrentSummary(),n=this.cephReleaseNamePipe.transform(e.version);this.docsUrl=`http://docs.ceph.com/docs/${n}/radosgw/nfs/`}getData(t){Object(cs.a)(t).subscribe(t=>{this.resolveDaemons(t[0]),this.resolvefsals(t[1]),this.resolveClients(t[2]),this.resolveFilesystems(t[3]),t[4]&&this.resolveModel(t[4])})}createForm(){this.nfsForm=new ci.a({cluster_id:new W.i("",{validators:[W.B.required]}),daemons:new W.i([]),fsal:new ci.a({name:new W.i("",{validators:[W.B.required]}),user_id:new W.i("",{validators:[li.a.requiredIf({name:"CEPH"})]}),fs_name:new W.i("",{validators:[li.a.requiredIf({name:"CEPH"})]}),rgw_user_id:new W.i("",{validators:[li.a.requiredIf({name:"RGW"})]})}),path:new W.i(""),protocolNfsv3:new W.i(!0,{validators:[li.a.requiredIf({protocolNfsv4:!1},t=>!t)]}),protocolNfsv4:new W.i(!0,{validators:[li.a.requiredIf({protocolNfsv3:!1},t=>!t)]}),tag:new W.i(""),pseudo:new W.i("",{validators:[li.a.requiredIf({protocolNfsv4:!0}),W.B.pattern("^/[^><|&()]*$")]}),access_type:new W.i("RW",{validators:[W.B.required]}),squash:new W.i("",{validators:[W.B.required]}),transportUDP:new W.i(!0,{validators:[li.a.requiredIf({transportTCP:!1},t=>!t)]}),transportTCP:new W.i(!0,{validators:[li.a.requiredIf({transportUDP:!1},t=>!t)]}),clients:this.formBuilder.array([]),security_label:new W.i(!1),sec_label_xattr:new W.i("security.selinux",li.a.requiredIf({security_label:!0,"fsal.name":"CEPH"}))})}resolveModel(t){"CEPH"===t.fsal.name&&(t.sec_label_xattr=t.fsal.sec_label_xattr),this.daemonsSelections=$.map(this.allDaemons[t.cluster_id],e=>new jf.a(-1!==t.daemons.indexOf(e),e,"")),this.daemonsSelections=[...this.daemonsSelections],t.protocolNfsv3=-1!==t.protocols.indexOf(3),t.protocolNfsv4=-1!==t.protocols.indexOf(4),delete t.protocols,t.transportTCP=-1!==t.transports.indexOf("TCP"),t.transportUDP=-1!==t.transports.indexOf("UDP"),delete t.transports,t.clients.forEach(t=>{let e="";t.addresses.forEach(t=>{e+=t+", "}),e.length>=2&&(e=e.substring(0,e.length-2)),t.addresses=e}),this.nfsForm.patchValue(t),this.setPathValidation(),this.nfsClients.resolveModel(t.clients)}resolveDaemons(t){t=$.sortBy(t,["daemon_id"]),this.allClusters=$(t).map(t=>t.cluster_id).sortedUniq().value(),$.forEach(this.allClusters,t=>{this.allDaemons[t]=[]}),$.forEach(t,t=>{this.allDaemons[t.cluster_id].push(t.daemon_id)});const e=$.isArray(this.allClusters)&&1===this.allClusters.length;this.isDefaultCluster=e&&"_default_"===this.allClusters[0],e&&(this.nfsForm.patchValue({cluster_id:this.allClusters[0]}),this.onClusterChange())}resolvefsals(t){t.forEach(t=>{const e=this.nfsService.nfsFsal.find(e=>t===e.value);$.isObjectLike(e)&&(this.allFsals.push(e),"RGW"===e.value&&this.rgwUserService.list().subscribe(t=>{t.forEach(t=>{0===t.suspended&&t.keys.length>0&&this.allRgwUsers.push(t.user_id)})}))}),1===this.allFsals.length&&$.isUndefined(this.nfsForm.getValue("fsal"))&&this.nfsForm.patchValue({fsal:this.allFsals[0]})}resolveClients(t){this.allCephxClients=t}resolveFilesystems(t){this.allFsNames=t,1===t.length&&this.nfsForm.patchValue({fsal:{fs_name:t[0].name}})}fsalChangeHandler(){this.nfsForm.patchValue({tag:this._generateTag(),pseudo:this._generatePseudo(),access_type:this._updateAccessType()}),this.setPathValidation(),this.cdRef.detectChanges()}accessTypeChangeHandler(){const t=this.nfsForm.getValue("name"),e=this.nfsForm.getValue("access_type");this.defaultAccessType[t]=e}setPathValidation(){"RGW"===this.nfsForm.getValue("name")?this.nfsForm.get("path").setValidators([W.B.required,W.B.pattern("^(/|[^/><|&()#?]+)$")]):this.nfsForm.get("path").setValidators([W.B.required,W.B.pattern("^/[^><|&()?]*$")])}rgwUserIdChangeHandler(){this.nfsForm.patchValue({pseudo:this._generatePseudo()})}getAccessTypeHelp(t){const e=this.nfsAccessType.find(e=>{if(t===e.value)return e});return $.isObjectLike(e)?e.help:""}getId(){return $.isString(this.nfsForm.getValue("cluster_id"))&&$.isString(this.nfsForm.getValue("path"))?this.nfsForm.getValue("cluster_id")+":"+this.nfsForm.getValue("path"):""}getPathTypeahead(t){return $.isString(t)&&"/"!==t?this.nfsService.lsDir(t):Object(gn.a)([])}pathChangeHandler(){this.nfsForm.patchValue({pseudo:this._generatePseudo()});const t=this.nfsForm.getValue("path");this.getPathTypeahead(t).subscribe(e=>{this.isNewDirectory="/"!==t&&-1===e.paths.indexOf(t)})}bucketChangeHandler(){this.nfsForm.patchValue({tag:this._generateTag(),pseudo:this._generatePseudo()});const t=this.nfsForm.getValue("path");this.getBucketTypeahead(t).subscribe(e=>{this.isNewBucket=""!==t&&-1===e.indexOf(t)})}getBucketTypeahead(t){const e=this.nfsForm.getValue("rgw_user_id");return $.isString(e)&&$.isString(t)&&"/"!==t&&""!==t?this.nfsService.buckets(e):Object(gn.a)([])}_generateTag(){let t=this.nfsForm.getValue("tag");return this.nfsForm.get("tag").dirty||(t=void 0,"RGW"===this.nfsForm.getValue("fsal")&&(t=this.nfsForm.getValue("path"))),t}_generatePseudo(){let t=this.nfsForm.getValue("pseudo");return this.nfsForm.get("pseudo")&&!this.nfsForm.get("pseudo").dirty&&(t=void 0,"CEPH"===this.nfsForm.getValue("fsal")?(t="/cephfs",$.isString(this.nfsForm.getValue("path"))&&(t+=this.nfsForm.getValue("path"))):"RGW"===this.nfsForm.getValue("fsal")&&$.isString(this.nfsForm.getValue("rgw_user_id"))&&(t="/"+this.nfsForm.getValue("rgw_user_id"),$.isString(this.nfsForm.getValue("path"))&&(t+="/"+this.nfsForm.getValue("path")))),t}_updateAccessType(){const t=this.nfsForm.getValue("name");let e=this.defaultAccessType[t];return e||(e="RW"),e}onClusterChange(){const t=this.nfsForm.getValue("cluster_id");this.daemonsSelections=$.map(this.allDaemons[t],t=>new jf.a(!1,t,"")),this.daemonsSelections=[...this.daemonsSelections],this.nfsForm.patchValue({daemons:[]})}removeDaemon(t,e){this.daemonsSelections.forEach(t=>{t.name===e&&(t.selected=!1)});const n=this.nfsForm.get("daemons");return n.value.splice(t,1),n.setValue(n.value),!1}onDaemonSelection(){this.nfsForm.get("daemons").setValue(this.nfsForm.getValue("daemons"))}submitAction(){let t;const e=this._buildRequest();t=this.taskWrapper.wrapTaskAroundCall(this.isEdit?{task:new Fo.a("nfs/edit",{cluster_id:this.cluster_id,export_id:this.export_id}),call:this.nfsService.update(this.cluster_id,this.export_id,e)}:{task:new Fo.a("nfs/create",{path:e.path,fsal:e.fsal,cluster_id:e.cluster_id}),call:this.nfsService.create(e)}),t.subscribe(void 0,()=>this.nfsForm.setErrors({cdSubmitButton:!0}),()=>this.router.navigate(["/nfs"]))}_buildRequest(){const t=$.cloneDeep(this.nfsForm.value);return($.isUndefined(t.tag)||""===t.tag)&&(t.tag=null),this.isEdit&&(t.export_id=this.export_id),"CEPH"===t.fsal.name?delete t.fsal.rgw_user_id:(delete t.fsal.fs_name,delete t.fsal.user_id),t.protocols=[],t.protocolNfsv3?t.protocols.push(3):t.tag=null,delete t.protocolNfsv3,t.protocolNfsv4?t.protocols.push(4):t.pseudo=null,delete t.protocolNfsv4,t.transports=[],t.transportTCP&&t.transports.push("TCP"),delete t.transportTCP,t.transportUDP&&t.transports.push("UDP"),delete t.transportUDP,t.clients.forEach(e=>{e.addresses=$.isString(e.addresses)?$(e.addresses).split(/[ ,]+/).uniq().filter(t=>""!==t).value():[],e.squash||(e.squash=t.squash),e.access_type||(e.access_type=t.access_type)}),t.fsal.sec_label_xattr=!1===t.security_label||"RGW"===t.fsal.name?null:t.sec_label_xattr,delete t.sec_label_xattr,t}}var zf=i["ɵcrt"]({encapsulation:0,styles:[[".cd-mb[_ngcontent-%COMP%]{margin-bottom:10px}"]],data:{}});function Vf(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[["value",""]],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](-1,null,["Loading..."]))],(function(t,e){t(e,1,0,""),t(e,2,0,"")}),null)}function Gf(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[["value",""]],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](-1,null,["-- No cluster available --"]))],(function(t,e){t(e,1,0,""),t(e,2,0,"")}),null)}function Yf(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[["value",""]],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](-1,null,["-- Select the cluster --"]))],(function(t,e){t(e,1,0,""),t(e,2,0,"")}),null)}function Bf(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](3,null,["",""]))],(function(t,e){t(e,1,0,e.context.$implicit),t(e,2,0,e.context.$implicit)}),(function(t,e){t(e,3,0,e.context.$implicit)}))}function Hf(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Required field"]))],null,null)}function Uf(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,23,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](1,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,2,{FormControlNames:1}),i["ɵqud"](603979776,3,{messagesBlock:0}),(t()(),i["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","cluster_id"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Cluster"])),(t()(),i["ɵeld"](6,0,null,0,17,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](7,0,null,null,14,"select",[["class","form-control custom-select"],["formControlName","cluster_id"],["id","cluster_id"],["name","cluster_id"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(t,e,n){var a=!0,r=t.component;return"change"===e&&(a=!1!==i["ɵnov"](t,8).onChange(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,8).onTouched()&&a),"change"===e&&(a=!1!==r.onClusterChange()&&a),a}),null,null)),i["ɵdid"](8,16384,null,0,W.A,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.A]),i["ɵdid"](10,671744,[[2,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](12,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](13,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Vf)),i["ɵdid"](15,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Gf)),i["ɵdid"](17,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Yf)),i["ɵdid"](19,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Bf)),i["ɵdid"](21,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Hf)),i["ɵdid"](23,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0),t(e,10,0,"cluster_id"),t(e,13,0,"cluster_id"),t(e,15,0,null===n.allClusters),t(e,17,0,null!==n.allClusters&&0===n.allClusters.length),t(e,19,0,null!==n.allClusters&&n.allClusters.length>0),t(e,21,0,n.allClusters),t(e,23,0,n.nfsForm.showError("cluster_id",i["ɵnov"](e.parent,6),"required"))}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).hasErrors,i["ɵnov"](e,1).hasSuccess),t(e,7,0,i["ɵnov"](e,12).ngClassUntouched,i["ɵnov"](e,12).ngClassTouched,i["ɵnov"](e,12).ngClassPristine,i["ɵnov"](e,12).ngClassDirty,i["ɵnov"](e,12).ngClassValid,i["ɵnov"](e,12).ngClassInvalid,i["ɵnov"](e,12).ngClassPending,i["ɵnov"](e,13).validClass,i["ɵnov"](e,13).invalidClass)}))}function Wf(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,8,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,7,"div",[["class","input-group cd-mb"]],null,null,null,null,null)),(t()(),i["ɵeld"](2,0,null,null,0,"input",[["class","cd-form-control"],["disabled",""],["type","text"]],[[8,"value",0]],null,null,null,null)),(t()(),i["ɵeld"](3,0,null,null,5,"span",[["class","input-group-append"]],null,null,null,null,null)),(t()(),i["ɵeld"](4,0,null,null,4,"button",[["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.removeDaemon(t.context.index,t.context.$implicit)&&a),a}),null,null)),(t()(),i["ɵeld"](5,0,null,null,3,"i",[["aria-hidden","true"]],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](7,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](8,1)],(function(t,e){var n=t(e,8,0,e.component.icons.destroy);t(e,7,0,n)}),(function(t,e){t(e,2,0,e.context.$implicit)}))}function Kf(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[["value",""]],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](-1,null,["Loading..."]))],(function(t,e){t(e,1,0,""),t(e,2,0,"")}),null)}function $f(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[["value",""]],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](-1,null,["-- No data pools available --"]))],(function(t,e){t(e,1,0,""),t(e,2,0,"")}),null)}function Zf(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[["value",""]],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](-1,null,["-- Select the storage backend --"]))],(function(t,e){t(e,1,0,""),t(e,2,0,"")}),null)}function Jf(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](3,null,["",""]))],(function(t,e){t(e,1,0,e.context.$implicit.value),t(e,2,0,e.context.$implicit.value)}),(function(t,e){t(e,3,0,e.context.$implicit.descr)}))}function Xf(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Required field"]))],null,null)}function Qf(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[["value",""]],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](-1,null,["Loading..."]))],(function(t,e){t(e,1,0,""),t(e,2,0,"")}),null)}function tp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[["value",""]],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](-1,null,["-- No users available --"]))],(function(t,e){t(e,1,0,""),t(e,2,0,"")}),null)}function ep(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[["value",""]],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](-1,null,["-- Select the object gateway user --"]))],(function(t,e){t(e,1,0,""),t(e,2,0,"")}),null)}function np(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](3,null,["",""]))],(function(t,e){t(e,1,0,e.context.$implicit),t(e,2,0,e.context.$implicit)}),(function(t,e){t(e,3,0,e.context.$implicit)}))}function ap(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Required field"]))],null,null)}function rp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,23,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](1,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,8,{FormControlNames:1}),i["ɵqud"](603979776,9,{messagesBlock:0}),(t()(),i["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","rgw_user_id"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Object Gateway User"])),(t()(),i["ɵeld"](6,0,null,0,17,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](7,0,null,null,14,"select",[["class","form-control custom-select"],["formControlName","rgw_user_id"],["id","rgw_user_id"],["name","rgw_user_id"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(t,e,n){var a=!0,r=t.component;return"change"===e&&(a=!1!==i["ɵnov"](t,8).onChange(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,8).onTouched()&&a),"change"===e&&(a=!1!==r.rgwUserIdChangeHandler()&&a),a}),null,null)),i["ɵdid"](8,16384,null,0,W.A,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.A]),i["ɵdid"](10,671744,[[8,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](12,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](13,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Qf)),i["ɵdid"](15,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,tp)),i["ɵdid"](17,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,ep)),i["ɵdid"](19,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,np)),i["ɵdid"](21,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,ap)),i["ɵdid"](23,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0),t(e,10,0,"rgw_user_id"),t(e,13,0,"rgw_user_id"),t(e,15,0,null===n.allRgwUsers),t(e,17,0,null!==n.allRgwUsers&&0===n.allRgwUsers.length),t(e,19,0,null!==n.allRgwUsers&&n.allRgwUsers.length>0),t(e,21,0,n.allRgwUsers),t(e,23,0,n.nfsForm.showError("rgw_user_id",i["ɵnov"](e.parent,6),"required"))}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).hasErrors,i["ɵnov"](e,1).hasSuccess),t(e,7,0,i["ɵnov"](e,12).ngClassUntouched,i["ɵnov"](e,12).ngClassTouched,i["ɵnov"](e,12).ngClassPristine,i["ɵnov"](e,12).ngClassDirty,i["ɵnov"](e,12).ngClassValid,i["ɵnov"](e,12).ngClassInvalid,i["ɵnov"](e,12).ngClassPending,i["ɵnov"](e,13).validClass,i["ɵnov"](e,13).invalidClass)}))}function op(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[["value",""]],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](-1,null,["Loading..."]))],(function(t,e){t(e,1,0,""),t(e,2,0,"")}),null)}function ip(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[["value",""]],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](-1,null,["-- No clients available --"]))],(function(t,e){t(e,1,0,""),t(e,2,0,"")}),null)}function sp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[["value",""]],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](-1,null,["-- Select the cephx client --"]))],(function(t,e){t(e,1,0,""),t(e,2,0,"")}),null)}function cp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](3,null,["",""]))],(function(t,e){t(e,1,0,e.context.$implicit),t(e,2,0,e.context.$implicit)}),(function(t,e){t(e,3,0,e.context.$implicit)}))}function lp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Required field"]))],null,null)}function dp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,23,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](1,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,10,{FormControlNames:1}),i["ɵqud"](603979776,11,{messagesBlock:0}),(t()(),i["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","user_id"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["CephFS User ID"])),(t()(),i["ɵeld"](6,0,null,0,17,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](7,0,null,null,14,"select",[["class","form-control custom-select"],["formControlName","user_id"],["id","user_id"],["name","user_id"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(t,e,n){var a=!0;return"change"===e&&(a=!1!==i["ɵnov"](t,8).onChange(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,8).onTouched()&&a),a}),null,null)),i["ɵdid"](8,16384,null,0,W.A,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.A]),i["ɵdid"](10,671744,[[10,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](12,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](13,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,op)),i["ɵdid"](15,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,ip)),i["ɵdid"](17,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,sp)),i["ɵdid"](19,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,cp)),i["ɵdid"](21,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,lp)),i["ɵdid"](23,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0),t(e,10,0,"user_id"),t(e,13,0,"user_id"),t(e,15,0,null===n.allCephxClients),t(e,17,0,null!==n.allCephxClients&&0===n.allCephxClients.length),t(e,19,0,null!==n.allCephxClients&&n.allCephxClients.length>0),t(e,21,0,n.allCephxClients),t(e,23,0,n.nfsForm.showError("user_id",i["ɵnov"](e.parent,6),"required"))}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).hasErrors,i["ɵnov"](e,1).hasSuccess),t(e,7,0,i["ɵnov"](e,12).ngClassUntouched,i["ɵnov"](e,12).ngClassTouched,i["ɵnov"](e,12).ngClassPristine,i["ɵnov"](e,12).ngClassDirty,i["ɵnov"](e,12).ngClassValid,i["ɵnov"](e,12).ngClassInvalid,i["ɵnov"](e,12).ngClassPending,i["ɵnov"](e,13).validClass,i["ɵnov"](e,13).invalidClass)}))}function up(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[["value",""]],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](-1,null,["Loading..."]))],(function(t,e){t(e,1,0,""),t(e,2,0,"")}),null)}function gp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[["value",""]],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](-1,null,["-- No CephFS filesystem available --"]))],(function(t,e){t(e,1,0,""),t(e,2,0,"")}),null)}function fp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[["value",""]],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](-1,null,["-- Select the CephFS filesystem --"]))],(function(t,e){t(e,1,0,""),t(e,2,0,"")}),null)}function pp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](3,null,["",""]))],(function(t,e){t(e,1,0,e.context.$implicit.name),t(e,2,0,e.context.$implicit.name)}),(function(t,e){t(e,3,0,e.context.$implicit.name)}))}function mp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Required field"]))],null,null)}function hp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,23,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](1,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,12,{FormControlNames:1}),i["ɵqud"](603979776,13,{messagesBlock:0}),(t()(),i["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","fs_name"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["CephFS Name"])),(t()(),i["ɵeld"](6,0,null,0,17,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](7,0,null,null,14,"select",[["class","form-control custom-select"],["formControlName","fs_name"],["id","fs_name"],["name","fs_name"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(t,e,n){var a=!0,r=t.component;return"change"===e&&(a=!1!==i["ɵnov"](t,8).onChange(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,8).onTouched()&&a),"change"===e&&(a=!1!==r.rgwUserIdChangeHandler()&&a),a}),null,null)),i["ɵdid"](8,16384,null,0,W.A,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.A]),i["ɵdid"](10,671744,[[12,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](12,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](13,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,up)),i["ɵdid"](15,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,gp)),i["ɵdid"](17,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,fp)),i["ɵdid"](19,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,pp)),i["ɵdid"](21,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,mp)),i["ɵdid"](23,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0),t(e,10,0,"fs_name"),t(e,13,0,"fs_name"),t(e,15,0,null===n.allFsNames),t(e,17,0,null!==n.allFsNames&&0===n.allFsNames.length),t(e,19,0,null!==n.allFsNames&&n.allFsNames.length>0),t(e,21,0,n.allFsNames),t(e,23,0,n.nfsForm.showError("fs_name",i["ɵnov"](e.parent,6),"required"))}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).hasErrors,i["ɵnov"](e,1).hasSuccess),t(e,7,0,i["ɵnov"](e,12).ngClassUntouched,i["ɵnov"](e,12).ngClassTouched,i["ɵnov"](e,12).ngClassPristine,i["ɵnov"](e,12).ngClassDirty,i["ɵnov"](e,12).ngClassValid,i["ɵnov"](e,12).ngClassInvalid,i["ɵnov"](e,12).ngClassPending,i["ɵnov"](e,13).validClass,i["ɵnov"](e,13).invalidClass)}))}function bp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,"input",[["class","form-control"],["formControlName","sec_label_xattr"],["id","sec_label_xattr"],["name","sec_label_xattr"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,1)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,1).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,1)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,1)._compositionEnd(n.target.value)&&a),a}),null,null)),i["ɵdid"](1,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](3,671744,[[14,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](5,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](6,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null)],(function(t,e){t(e,3,0,"sec_label_xattr"),t(e,6,0,"sec_label_xattr")}),(function(t,e){t(e,0,0,i["ɵnov"](e,5).ngClassUntouched,i["ɵnov"](e,5).ngClassTouched,i["ɵnov"](e,5).ngClassPristine,i["ɵnov"](e,5).ngClassDirty,i["ɵnov"](e,5).ngClassValid,i["ɵnov"](e,5).ngClassInvalid,i["ɵnov"](e,5).ngClassPending,i["ɵnov"](e,6).validClass,i["ɵnov"](e,6).invalidClass)}))}function _p(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Required field"]))],null,null)}function yp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,24,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](1,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,14,{FormControlNames:1}),i["ɵqud"](603979776,15,{messagesBlock:0}),(t()(),i["ɵeld"](4,0,null,0,4,"label",[["class","cd-col-form-label"],["for","security_label"]],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](6,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),i["ɵpod"](7,{required:0}),(t()(),i["ɵted"](-1,null,["Security Label"])),(t()(),i["ɵeld"](9,0,null,0,15,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](10,0,null,null,9,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(t()(),i["ɵeld"](11,0,null,null,6,"input",[["class","custom-control-input"],["formControlName","security_label"],["id","security_label"],["name","security_label"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(t,e,n){var a=!0;return"change"===e&&(a=!1!==i["ɵnov"](t,12).onChange(n.target.checked)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,12).onTouched()&&a),a}),null,null)),i["ɵdid"](12,16384,null,0,W.c,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.c]),i["ɵdid"](14,671744,[[14,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](16,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](17,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵeld"](18,0,null,null,1,"label",[["class","custom-control-label"],["for","security_label"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Enable security label"])),(t()(),i["ɵeld"](20,0,null,null,0,"br",[],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,bp)),i["ɵdid"](22,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,_p)),i["ɵdid"](24,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0);var a=t(e,7,0,n.nfsForm.getValue("security_label"));t(e,6,0,"cd-col-form-label",a),t(e,14,0,"security_label"),t(e,17,0,"security_label"),t(e,22,0,n.nfsForm.getValue("security_label")),t(e,24,0,n.nfsForm.showError("sec_label_xattr",i["ɵnov"](e.parent,6),"required"))}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).hasErrors,i["ɵnov"](e,1).hasSuccess),t(e,11,0,i["ɵnov"](e,16).ngClassUntouched,i["ɵnov"](e,16).ngClassTouched,i["ɵnov"](e,16).ngClassPristine,i["ɵnov"](e,16).ngClassDirty,i["ɵnov"](e,16).ngClassValid,i["ɵnov"](e,16).ngClassInvalid,i["ɵnov"](e,16).ngClassPending,i["ɵnov"](e,17).validClass,i["ɵnov"](e,17).invalidClass)}))}function Op(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Required field"]))],null,null)}function vp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Path need to start with a '/' and can be followed by a word"]))],null,null)}function Cp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","form-text text-muted"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["New directory will be created"]))],null,null)}function Pp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,20,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](1,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,16,{FormControlNames:1}),i["ɵqud"](603979776,17,{messagesBlock:0}),(t()(),i["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","path"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["CephFS Path"])),(t()(),i["ɵeld"](6,0,null,0,14,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](7,16777216,null,null,7,"input",[["class","form-control"],["formControlName","path"],["id","path"],["name","path"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"typeaheadOnSelect"],[null,"blur"],[null,"input"],[null,"compositionstart"],[null,"compositionend"],[null,"keyup"],[null,"click"],[null,"focus"],[null,"keydown"]],(function(t,e,n){var a=!0,r=t.component;return"input"===e&&(a=!1!==i["ɵnov"](t,8)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,8).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,8)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,8)._compositionEnd(n.target.value)&&a),"input"===e&&(a=!1!==i["ɵnov"](t,13).onInput(n)&&a),"keyup"===e&&(a=!1!==i["ɵnov"](t,13).onChange(n)&&a),"click"===e&&(a=!1!==i["ɵnov"](t,13).onFocus()&&a),"focus"===e&&(a=!1!==i["ɵnov"](t,13).onFocus()&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,13).onBlur()&&a),"keydown"===e&&(a=!1!==i["ɵnov"](t,13).onKeydown(n)&&a),"typeaheadOnSelect"===e&&(a=!1!==r.pathChangeHandler()&&a),"blur"===e&&(a=!1!==r.pathChangeHandler()&&a),a}),null,null)),i["ɵdid"](8,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](10,671744,[[16,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](12,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](13,212992,null,0,vf,[U.a,Of,i.ChangeDetectorRef,i.ElementRef,W.q,i.Renderer2,i.ViewContainerRef],{typeahead:[0,"typeahead"]},{typeaheadOnSelect:"typeaheadOnSelect"}),i["ɵdid"](14,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Op)),i["ɵdid"](16,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,vp)),i["ɵdid"](18,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Cp)),i["ɵdid"](20,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0),t(e,10,0,"path"),t(e,13,0,n.pathDataSource),t(e,14,0,"path"),t(e,16,0,n.nfsForm.showError("path",i["ɵnov"](e.parent,6),"required")),t(e,18,0,n.nfsForm.showError("path",i["ɵnov"](e.parent,6),"pattern")),t(e,20,0,n.isNewDirectory&&!n.nfsForm.showError("path",i["ɵnov"](e.parent,6)))}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).hasErrors,i["ɵnov"](e,1).hasSuccess),t(e,7,0,i["ɵnov"](e,12).ngClassUntouched,i["ɵnov"](e,12).ngClassTouched,i["ɵnov"](e,12).ngClassPristine,i["ɵnov"](e,12).ngClassDirty,i["ɵnov"](e,12).ngClassValid,i["ɵnov"](e,12).ngClassInvalid,i["ɵnov"](e,12).ngClassPending,i["ɵnov"](e,14).validClass,i["ɵnov"](e,14).invalidClass)}))}function Mp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Required field"]))],null,null)}function xp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Path can only be a single '/' or a word"]))],null,null)}function wp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","form-text text-muted"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["New bucket will be created"]))],null,null)}function Tp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,20,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](1,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,18,{FormControlNames:1}),i["ɵqud"](603979776,19,{messagesBlock:0}),(t()(),i["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","path"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Path"])),(t()(),i["ɵeld"](6,0,null,0,14,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](7,16777216,null,null,7,"input",[["class","form-control"],["formControlName","path"],["id","path"],["name","path"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"typeaheadOnSelect"],[null,"blur"],[null,"input"],[null,"compositionstart"],[null,"compositionend"],[null,"keyup"],[null,"click"],[null,"focus"],[null,"keydown"]],(function(t,e,n){var a=!0,r=t.component;return"input"===e&&(a=!1!==i["ɵnov"](t,8)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,8).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,8)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,8)._compositionEnd(n.target.value)&&a),"input"===e&&(a=!1!==i["ɵnov"](t,13).onInput(n)&&a),"keyup"===e&&(a=!1!==i["ɵnov"](t,13).onChange(n)&&a),"click"===e&&(a=!1!==i["ɵnov"](t,13).onFocus()&&a),"focus"===e&&(a=!1!==i["ɵnov"](t,13).onFocus()&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,13).onBlur()&&a),"keydown"===e&&(a=!1!==i["ɵnov"](t,13).onKeydown(n)&&a),"typeaheadOnSelect"===e&&(a=!1!==r.bucketChangeHandler()&&a),"blur"===e&&(a=!1!==r.bucketChangeHandler()&&a),a}),null,null)),i["ɵdid"](8,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](10,671744,[[18,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](12,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](13,212992,null,0,vf,[U.a,Of,i.ChangeDetectorRef,i.ElementRef,W.q,i.Renderer2,i.ViewContainerRef],{typeahead:[0,"typeahead"]},{typeaheadOnSelect:"typeaheadOnSelect"}),i["ɵdid"](14,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Mp)),i["ɵdid"](16,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,xp)),i["ɵdid"](18,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,wp)),i["ɵdid"](20,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0),t(e,10,0,"path"),t(e,13,0,n.bucketDataSource),t(e,14,0,"path"),t(e,16,0,n.nfsForm.showError("path",i["ɵnov"](e.parent,6),"required")),t(e,18,0,n.nfsForm.showError("path",i["ɵnov"](e.parent,6),"pattern")),t(e,20,0,n.isNewBucket&&!n.nfsForm.showError("path",i["ɵnov"](e.parent,6)))}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).hasErrors,i["ɵnov"](e,1).hasSuccess),t(e,7,0,i["ɵnov"](e,12).ngClassUntouched,i["ɵnov"](e,12).ngClassTouched,i["ɵnov"](e,12).ngClassPristine,i["ɵnov"](e,12).ngClassDirty,i["ɵnov"](e,12).ngClassValid,i["ɵnov"](e,12).ngClassInvalid,i["ɵnov"](e,12).ngClassPending,i["ɵnov"](e,14).validClass,i["ɵnov"](e,14).invalidClass)}))}function kp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Required field"]))],null,null)}function Sp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,25,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](1,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,22,{FormControlNames:1}),i["ɵqud"](603979776,23,{messagesBlock:0}),(t()(),i["ɵeld"](4,0,null,0,13,"label",[["class","cd-col-form-label"],["for","tag"]],null,null,null,null,null)),(t()(),i["ɵeld"](5,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["NFS Tag"])),(t()(),i["ɵeld"](7,0,null,null,10,"cd-helper",[],null,null,null,As.b,As.a)),i["ɵdid"](8,49152,null,0,Es.a,[],null,null),(t()(),i["ɵeld"](9,0,null,0,4,"p",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Alternative access for "])),(t()(),i["ɵeld"](11,0,null,null,1,"strong",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["NFS v3"])),(t()(),i["ɵted"](-1,null,[" mounts (it must not have a leading /)."])),(t()(),i["ɵeld"](14,0,null,0,1,"p",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Clients may not mount subdirectories (i.e. if Tag = foo, the client may not mount foo/baz)."])),(t()(),i["ɵeld"](16,0,null,0,1,"p",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["By using different Tag options, the same Path may be exported multiple times."])),(t()(),i["ɵeld"](18,0,null,0,7,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](19,0,null,null,6,"input",[["class","form-control"],["formControlName","tag"],["id","tag"],["name","tag"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,20)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,20).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,20)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,20)._compositionEnd(n.target.value)&&a),a}),null,null)),i["ɵdid"](20,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](22,671744,[[22,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](24,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](25,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null)],(function(t,e){t(e,1,0),t(e,22,0,"tag"),t(e,25,0,"tag")}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).hasErrors,i["ɵnov"](e,1).hasSuccess),t(e,19,0,i["ɵnov"](e,24).ngClassUntouched,i["ɵnov"](e,24).ngClassTouched,i["ɵnov"](e,24).ngClassPristine,i["ɵnov"](e,24).ngClassDirty,i["ɵnov"](e,24).ngClassValid,i["ɵnov"](e,24).ngClassInvalid,i["ɵnov"](e,24).ngClassPending,i["ɵnov"](e,25).validClass,i["ɵnov"](e,25).invalidClass)}))}function Ip(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Required field"]))],null,null)}function Np(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Pseudo needs to start with a '/' and can't contain any of the following: >, <, |, &, ( or )."]))],null,null)}function Rp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,30,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](1,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,24,{FormControlNames:1}),i["ɵqud"](603979776,25,{messagesBlock:0}),(t()(),i["ɵeld"](4,0,null,0,14,"label",[["class","cd-col-form-label"],["for","pseudo"]],null,null,null,null,null)),(t()(),i["ɵeld"](5,0,null,null,1,"span",[["class","required"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Pseudo"])),(t()(),i["ɵeld"](7,0,null,null,11,"cd-helper",[],null,null,null,As.b,As.a)),i["ɵdid"](8,49152,null,0,Es.a,[],null,null),(t()(),i["ɵeld"](9,0,null,0,7,"p",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["The position that this "])),(t()(),i["ɵeld"](11,0,null,null,1,"strong",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["NFS v4"])),(t()(),i["ɵted"](-1,null,[" export occupies in the "])),(t()(),i["ɵeld"](14,0,null,null,1,"strong",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Pseudo FS"])),(t()(),i["ɵted"](-1,null,[" (it must be unique)."])),(t()(),i["ɵeld"](17,0,null,0,1,"p",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["By using different Pseudo options, the same Path may be exported multiple times."])),(t()(),i["ɵeld"](19,0,null,0,11,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](20,0,null,null,6,"input",[["class","form-control"],["formControlName","pseudo"],["id","pseudo"],["name","pseudo"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,21)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,21).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,21)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,21)._compositionEnd(n.target.value)&&a),a}),null,null)),i["ɵdid"](21,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](23,671744,[[24,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](25,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](26,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Ip)),i["ɵdid"](28,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Np)),i["ɵdid"](30,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0),t(e,23,0,"pseudo"),t(e,26,0,"pseudo"),t(e,28,0,n.nfsForm.showError("pseudo",i["ɵnov"](e.parent,6),"required")),t(e,30,0,n.nfsForm.showError("pseudo",i["ɵnov"](e.parent,6),"pattern"))}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).hasErrors,i["ɵnov"](e,1).hasSuccess),t(e,20,0,i["ɵnov"](e,25).ngClassUntouched,i["ɵnov"](e,25).ngClassTouched,i["ɵnov"](e,25).ngClassPristine,i["ɵnov"](e,25).ngClassDirty,i["ɵnov"](e,25).ngClassValid,i["ɵnov"](e,25).ngClassInvalid,i["ɵnov"](e,25).ngClassPending,i["ɵnov"](e,26).validClass,i["ɵnov"](e,26).invalidClass)}))}function Ap(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[["value",""]],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](-1,null,["Loading..."]))],(function(t,e){t(e,1,0,""),t(e,2,0,"")}),null)}function Ep(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[["value",""]],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](-1,null,["-- No access type available --"]))],(function(t,e){t(e,1,0,""),t(e,2,0,"")}),null)}function Dp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[["value",""]],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](-1,null,["-- Select the access type --"]))],(function(t,e){t(e,1,0,""),t(e,2,0,"")}),null)}function Lp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](3,null,["",""]))],(function(t,e){t(e,1,0,e.context.$implicit.value),t(e,2,0,e.context.$implicit.value)}),(function(t,e){t(e,3,0,e.context.$implicit.value)}))}function qp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","form-text text-muted"]],null,null,null,null,null)),(t()(),i["ɵted"](1,null,[" "," "]))],null,(function(t,e){var n=e.component;t(e,1,0,n.getAccessTypeHelp(n.nfsForm.getValue("access_type")))}))}function jp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,4,"span",[["class","form-text text-warning"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["The Object Gateway NFS backend has a number of limitations which will seriously affect applications writing to the share. Please consult the "])),(t()(),i["ɵeld"](2,0,null,null,1,"a",[["target","_blank"]],[[8,"href",4]],null,null,null,null)),(t()(),i["ɵted"](-1,null,[" documentation"])),(t()(),i["ɵted"](-1,null,[" for details before enabling write access."]))],null,(function(t,e){t(e,2,0,i["ɵinlineInterpolate"](1,"",e.component.docsUrl,""))}))}function Fp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Required field"]))],null,null)}function zp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[["value",""]],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](-1,null,["Loading..."]))],(function(t,e){t(e,1,0,""),t(e,2,0,"")}),null)}function Vp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[["value",""]],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](-1,null,["-- No squash available --"]))],(function(t,e){t(e,1,0,""),t(e,2,0,"")}),null)}function Gp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[["value",""]],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](-1,null,["--Select what kind of user id squashing is performed --"]))],(function(t,e){t(e,1,0,""),t(e,2,0,"")}),null)}function Yp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](3,null,["",""]))],(function(t,e){t(e,1,0,e.context.$implicit),t(e,2,0,e.context.$implicit)}),(function(t,e){t(e,3,0,e.context.$implicit)}))}function Bp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Required field"]))],null,null)}function Hp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Required field"]))],null,null)}function Up(t){return i["ɵvid"](0,[i["ɵpid"](0,o.TitleCasePipe,[]),i["ɵpid"](0,si.a,[]),i["ɵqud"](402653184,1,{nfsClients:0}),(t()(),i["ɵeld"](3,0,null,null,200,"div",[["class","cd-col-form"]],null,null,null,null,null)),(t()(),i["ɵeld"](4,0,null,null,199,"form",[["name","nfsForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(t,e,n){var a=!0;return"submit"===e&&(a=!1!==i["ɵnov"](t,6).onSubmit(n)&&a),"reset"===e&&(a=!1!==i["ɵnov"](t,6).onReset()&&a),"submit"===e&&(a=!1!==i["ɵnov"](t,9).onSubmit()&&a),a}),null,null)),i["ɵdid"](5,16384,null,0,W.G,[],null,null),i["ɵdid"](6,540672,[["formDir",4]],0,W.l,[[8,null],[8,null]],{form:[0,"form"]},null),i["ɵprd"](2048,null,W.d,null,[W.l]),i["ɵdid"](8,16384,null,0,W.s,[[4,W.d]],null,null),i["ɵdid"](9,16384,null,0,K.d,[],{formGroup:[0,"formGroup"]},null),(t()(),i["ɵeld"](10,0,null,null,193,"div",[["class","card"]],null,null,null,null,null)),(t()(),i["ɵeld"](11,0,null,null,3,"div",[["class","card-header"]],null,null,null,null,null)),(t()(),i["ɵted"](12,null,[""," ",""])),i["ɵppd"](13,1),i["ɵppd"](14,1),(t()(),i["ɵeld"](15,0,null,null,179,"div",[["class","card-body"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Uf)),i["ɵdid"](17,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](18,0,null,null,19,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](19,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,4,{FormControlNames:1}),i["ɵqud"](603979776,5,{messagesBlock:0}),(t()(),i["ɵeld"](22,0,null,0,2,"label",[["class","cd-col-form-label"],["for","daemons"]],null,null,null,null,null)),(t()(),i["ɵeld"](23,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Daemons"])),(t()(),i["ɵeld"](25,0,null,0,12,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Wf)),i["ɵdid"](27,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵeld"](28,0,null,null,9,"div",[["class","row"]],null,null,null,null,null)),(t()(),i["ɵeld"](29,0,null,null,8,"div",[["class","col-md-12"]],null,null,null,null,null)),(t()(),i["ɵeld"](30,0,null,null,7,"cd-select",[["elemClass","btn btn-light float-right"]],null,[[null,"selection"]],(function(t,e,n){var a=!0;return"selection"===e&&(a=!1!==t.component.onDaemonSelection()&&a),a}),Pf.b,Pf.a)),i["ɵdid"](31,638976,null,0,Mf.a,[ra.a],{elemClass:[0,"elemClass"],data:[1,"data"],options:[2,"options"],messages:[3,"messages"]},{selection:"selection"}),(t()(),i["ɵeld"](32,0,null,0,3,"i",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](34,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](35,1),(t()(),i["ɵeld"](36,0,null,0,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Add daemon"])),(t()(),i["ɵeld"](38,0,null,null,33,"div",[["formGroupName","fsal"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],null,null,null,null)),i["ɵdid"](39,212992,null,0,W.m,[[3,W.d],[8,null],[8,null]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.d,null,[W.m]),i["ɵdid"](41,16384,null,0,W.s,[[4,W.d]],null,null),(t()(),i["ɵeld"](42,0,null,null,23,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](43,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,6,{FormControlNames:1}),i["ɵqud"](603979776,7,{messagesBlock:0}),(t()(),i["ɵeld"](46,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","name"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Storage Backend"])),(t()(),i["ɵeld"](48,0,null,0,17,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](49,0,null,null,14,"select",[["class","form-control custom-select"],["formControlName","name"],["id","name"],["name","name"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(t,e,n){var a=!0,r=t.component;return"change"===e&&(a=!1!==i["ɵnov"](t,50).onChange(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,50).onTouched()&&a),"change"===e&&(a=!1!==r.fsalChangeHandler()&&a),a}),null,null)),i["ɵdid"](50,16384,null,0,W.A,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.A]),i["ɵdid"](52,671744,[[6,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](54,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](55,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Kf)),i["ɵdid"](57,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,$f)),i["ɵdid"](59,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Zf)),i["ɵdid"](61,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Jf)),i["ɵdid"](63,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Xf)),i["ɵdid"](65,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,rp)),i["ɵdid"](67,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,dp)),i["ɵdid"](69,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,hp)),i["ɵdid"](71,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,yp)),i["ɵdid"](73,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Pp)),i["ɵdid"](75,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Tp)),i["ɵdid"](77,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](78,0,null,null,28,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](79,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,20,{FormControlNames:1}),i["ɵqud"](603979776,21,{messagesBlock:0}),(t()(),i["ɵeld"](82,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","protocols"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["NFS Protocol"])),(t()(),i["ɵeld"](84,0,null,0,22,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](85,0,null,null,9,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(t()(),i["ɵeld"](86,0,null,null,6,"input",[["class","custom-control-input"],["formControlName","protocolNfsv3"],["id","protocolNfsv3"],["name","protocolNfsv3"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(t,e,n){var a=!0;return"change"===e&&(a=!1!==i["ɵnov"](t,87).onChange(n.target.checked)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,87).onTouched()&&a),a}),null,null)),i["ɵdid"](87,16384,null,0,W.c,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.c]),i["ɵdid"](89,671744,[[20,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](91,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](92,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵeld"](93,0,null,null,1,"label",[["class","custom-control-label"],["for","protocolNfsv3"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["NFSv3"])),(t()(),i["ɵeld"](95,0,null,null,9,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(t()(),i["ɵeld"](96,0,null,null,6,"input",[["class","custom-control-input"],["formControlName","protocolNfsv4"],["id","protocolNfsv4"],["name","protocolNfsv4"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(t,e,n){var a=!0;return"change"===e&&(a=!1!==i["ɵnov"](t,97).onChange(n.target.checked)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,97).onTouched()&&a),a}),null,null)),i["ɵdid"](97,16384,null,0,W.c,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.c]),i["ɵdid"](99,671744,[[20,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](101,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](102,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵeld"](103,0,null,null,1,"label",[["class","custom-control-label"],["for","protocolNfsv4"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["NFSv4"])),(t()(),i["ɵand"](16777216,null,null,1,null,kp)),i["ɵdid"](106,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Sp)),i["ɵdid"](108,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Rp)),i["ɵdid"](110,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](111,0,null,null,27,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](112,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,26,{FormControlNames:1}),i["ɵqud"](603979776,27,{messagesBlock:0}),(t()(),i["ɵeld"](115,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","access_type"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Access Type"])),(t()(),i["ɵeld"](117,0,null,0,21,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](118,0,null,null,14,"select",[["class","form-control custom-select"],["formControlName","access_type"],["id","access_type"],["name","access_type"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(t,e,n){var a=!0,r=t.component;return"change"===e&&(a=!1!==i["ɵnov"](t,119).onChange(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,119).onTouched()&&a),"change"===e&&(a=!1!==r.accessTypeChangeHandler()&&a),a}),null,null)),i["ɵdid"](119,16384,null,0,W.A,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.A]),i["ɵdid"](121,671744,[[26,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](123,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](124,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Ap)),i["ɵdid"](126,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Ep)),i["ɵdid"](128,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Dp)),i["ɵdid"](130,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Lp)),i["ɵdid"](132,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,qp)),i["ɵdid"](134,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,jp)),i["ɵdid"](136,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Fp)),i["ɵdid"](138,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](139,0,null,null,23,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](140,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,28,{FormControlNames:1}),i["ɵqud"](603979776,29,{messagesBlock:0}),(t()(),i["ɵeld"](143,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","squash"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Squash"])),(t()(),i["ɵeld"](145,0,null,0,17,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](146,0,null,null,14,"select",[["class","form-control custom-select"],["formControlName","squash"],["id","squash"],["name","squash"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(t,e,n){var a=!0;return"change"===e&&(a=!1!==i["ɵnov"](t,147).onChange(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,147).onTouched()&&a),a}),null,null)),i["ɵdid"](147,16384,null,0,W.A,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.A]),i["ɵdid"](149,671744,[[28,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](151,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](152,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,zp)),i["ɵdid"](154,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Vp)),i["ɵdid"](156,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Gp)),i["ɵdid"](158,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Yp)),i["ɵdid"](160,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Bp)),i["ɵdid"](162,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](163,0,null,null,29,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](164,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,30,{FormControlNames:1}),i["ɵqud"](603979776,31,{messagesBlock:0}),(t()(),i["ɵeld"](167,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","transports"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Transport Protocol"])),(t()(),i["ɵeld"](169,0,null,0,23,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](170,0,null,null,9,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(t()(),i["ɵeld"](171,0,null,null,6,"input",[["class","custom-control-input"],["formControlName","transportUDP"],["id","transportUDP"],["name","transportUDP"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(t,e,n){var a=!0;return"change"===e&&(a=!1!==i["ɵnov"](t,172).onChange(n.target.checked)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,172).onTouched()&&a),a}),null,null)),i["ɵdid"](172,16384,null,0,W.c,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.c]),i["ɵdid"](174,671744,[[30,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](176,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](177,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵeld"](178,0,null,null,1,"label",[["class","custom-control-label"],["for","transportUDP"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["UDP"])),(t()(),i["ɵeld"](180,0,null,null,9,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(t()(),i["ɵeld"](181,0,null,null,6,"input",[["class","custom-control-input"],["formControlName","transportTCP"],["id","transportTCP"],["name","transportTCP"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(t,e,n){var a=!0;return"change"===e&&(a=!1!==i["ɵnov"](t,182).onChange(n.target.checked)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,182).onTouched()&&a),a}),null,null)),i["ɵdid"](182,16384,null,0,W.c,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.c]),i["ɵdid"](184,671744,[[30,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](186,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](187,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵeld"](188,0,null,null,1,"label",[["class","custom-control-label"],["for","transportTCP"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["TCP"])),(t()(),i["ɵand"](16777216,null,null,1,null,Hp)),i["ɵdid"](191,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](192,0,null,null,0,"hr",[],null,null,null,null,null)),(t()(),i["ɵeld"](193,0,null,null,1,"cd-nfs-form-client",[],null,null,null,Df,Tf)),i["ɵdid"](194,49152,[[1,4],["nfsClients",4]],0,wf,[Qg,ra.a],{form:[0,"form"]},null),(t()(),i["ɵeld"](195,0,null,null,8,"div",[["class","card-footer"]],null,null,null,null,null)),(t()(),i["ɵeld"](196,0,null,null,7,"div",[["class","button-group text-right"]],null,null,null,null,null)),(t()(),i["ɵeld"](197,0,null,null,4,"cd-submit-button",[],null,[[null,"submitAction"]],(function(t,e,n){var a=!0;return"submitAction"===e&&(a=!1!==t.component.submitAction()&&a),a}),ai.b,ai.a)),i["ɵdid"](198,114688,null,0,ri.a,[i.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(t()(),i["ɵted"](199,0,[""," ",""])),i["ɵppd"](200,1),i["ɵppd"](201,1),(t()(),i["ɵeld"](202,0,null,null,1,"cd-back-button",[],null,null,null,oi.b,oi.a)),i["ɵdid"](203,49152,null,0,ii.a,[o.Location,Ot.b],null,null)],(function(t,e){var n=e.component;t(e,6,0,n.nfsForm),t(e,9,0,n.nfsForm),t(e,17,0,!n.isDefaultCluster),t(e,19,0),t(e,27,0,n.nfsForm.getValue("daemons")),t(e,31,0,"btn btn-light float-right",n.nfsForm.get("daemons").value,n.daemonsSelections,n.daemonsMessages);var a=t(e,35,0,n.icons.add);t(e,34,0,a),t(e,39,0,"fsal"),t(e,43,0),t(e,52,0,"name"),t(e,55,0,"name"),t(e,57,0,null===n.allFsals),t(e,59,0,null!==n.allFsals&&0===n.allFsals.length),t(e,61,0,null!==n.allFsals&&n.allFsals.length>0),t(e,63,0,n.allFsals),t(e,65,0,n.nfsForm.showError("name",i["ɵnov"](e,6),"required")),t(e,67,0,"RGW"===n.nfsForm.getValue("name")),t(e,69,0,"CEPH"===n.nfsForm.getValue("name")),t(e,71,0,"CEPH"===n.nfsForm.getValue("name")),t(e,73,0,"CEPH"===n.nfsForm.getValue("name")),t(e,75,0,"CEPH"===n.nfsForm.getValue("name")),t(e,77,0,"RGW"===n.nfsForm.getValue("name")),t(e,79,0),t(e,89,0,"protocolNfsv3"),t(e,92,0,"protocolNfsv3"),t(e,99,0,"protocolNfsv4"),t(e,102,0,"protocolNfsv4"),t(e,106,0,n.nfsForm.showError("protocolNfsv3",i["ɵnov"](e,6),"required")||n.nfsForm.showError("protocolNfsv4",i["ɵnov"](e,6),"required")),t(e,108,0,n.nfsForm.getValue("protocolNfsv3")),t(e,110,0,n.nfsForm.getValue("protocolNfsv4")),t(e,112,0),t(e,121,0,"access_type"),t(e,124,0,"access_type"),t(e,126,0,null===n.nfsAccessType),t(e,128,0,null!==n.nfsAccessType&&0===n.nfsAccessType.length),t(e,130,0,null!==n.nfsAccessType&&n.nfsAccessType.length>0),t(e,132,0,n.nfsAccessType),t(e,134,0,n.nfsForm.getValue("access_type")),t(e,136,0,"RW"===n.nfsForm.getValue("access_type")&&"RGW"===n.nfsForm.getValue("name")),t(e,138,0,n.nfsForm.showError("access_type",i["ɵnov"](e,6),"required")),t(e,140,0),t(e,149,0,"squash"),t(e,152,0,"squash"),t(e,154,0,null===n.nfsSquash),t(e,156,0,null!==n.nfsSquash&&0===n.nfsSquash.length),t(e,158,0,null!==n.nfsSquash&&n.nfsSquash.length>0),t(e,160,0,n.nfsSquash),t(e,162,0,n.nfsForm.showError("squash",i["ɵnov"](e,6),"required")),t(e,164,0),t(e,174,0,"transportUDP"),t(e,177,0,"transportUDP"),t(e,184,0,"transportTCP"),t(e,187,0,"transportTCP"),t(e,191,0,n.nfsForm.showError("transportUDP",i["ɵnov"](e,6),"required")||n.nfsForm.showError("transportTCP",i["ɵnov"](e,6),"required")),t(e,194,0,n.nfsForm),t(e,198,0,i["ɵnov"](e,6))}),(function(t,e){var n=e.component;t(e,4,0,i["ɵnov"](e,8).ngClassUntouched,i["ɵnov"](e,8).ngClassTouched,i["ɵnov"](e,8).ngClassPristine,i["ɵnov"](e,8).ngClassDirty,i["ɵnov"](e,8).ngClassValid,i["ɵnov"](e,8).ngClassInvalid,i["ɵnov"](e,8).ngClassPending);var a=i["ɵunv"](e,12,0,t(e,13,0,i["ɵnov"](e,0),n.action)),r=i["ɵunv"](e,12,1,t(e,14,0,i["ɵnov"](e,1),n.resource));t(e,12,0,a,r),t(e,18,0,i["ɵnov"](e,19).hasErrors,i["ɵnov"](e,19).hasSuccess),t(e,38,0,i["ɵnov"](e,41).ngClassUntouched,i["ɵnov"](e,41).ngClassTouched,i["ɵnov"](e,41).ngClassPristine,i["ɵnov"](e,41).ngClassDirty,i["ɵnov"](e,41).ngClassValid,i["ɵnov"](e,41).ngClassInvalid,i["ɵnov"](e,41).ngClassPending),t(e,42,0,i["ɵnov"](e,43).hasErrors,i["ɵnov"](e,43).hasSuccess),t(e,49,0,i["ɵnov"](e,54).ngClassUntouched,i["ɵnov"](e,54).ngClassTouched,i["ɵnov"](e,54).ngClassPristine,i["ɵnov"](e,54).ngClassDirty,i["ɵnov"](e,54).ngClassValid,i["ɵnov"](e,54).ngClassInvalid,i["ɵnov"](e,54).ngClassPending,i["ɵnov"](e,55).validClass,i["ɵnov"](e,55).invalidClass),t(e,78,0,i["ɵnov"](e,79).hasErrors,i["ɵnov"](e,79).hasSuccess),t(e,86,0,i["ɵnov"](e,91).ngClassUntouched,i["ɵnov"](e,91).ngClassTouched,i["ɵnov"](e,91).ngClassPristine,i["ɵnov"](e,91).ngClassDirty,i["ɵnov"](e,91).ngClassValid,i["ɵnov"](e,91).ngClassInvalid,i["ɵnov"](e,91).ngClassPending,i["ɵnov"](e,92).validClass,i["ɵnov"](e,92).invalidClass),t(e,96,0,i["ɵnov"](e,101).ngClassUntouched,i["ɵnov"](e,101).ngClassTouched,i["ɵnov"](e,101).ngClassPristine,i["ɵnov"](e,101).ngClassDirty,i["ɵnov"](e,101).ngClassValid,i["ɵnov"](e,101).ngClassInvalid,i["ɵnov"](e,101).ngClassPending,i["ɵnov"](e,102).validClass,i["ɵnov"](e,102).invalidClass),t(e,111,0,i["ɵnov"](e,112).hasErrors,i["ɵnov"](e,112).hasSuccess),t(e,118,0,i["ɵnov"](e,123).ngClassUntouched,i["ɵnov"](e,123).ngClassTouched,i["ɵnov"](e,123).ngClassPristine,i["ɵnov"](e,123).ngClassDirty,i["ɵnov"](e,123).ngClassValid,i["ɵnov"](e,123).ngClassInvalid,i["ɵnov"](e,123).ngClassPending,i["ɵnov"](e,124).validClass,i["ɵnov"](e,124).invalidClass),t(e,139,0,i["ɵnov"](e,140).hasErrors,i["ɵnov"](e,140).hasSuccess),t(e,146,0,i["ɵnov"](e,151).ngClassUntouched,i["ɵnov"](e,151).ngClassTouched,i["ɵnov"](e,151).ngClassPristine,i["ɵnov"](e,151).ngClassDirty,i["ɵnov"](e,151).ngClassValid,i["ɵnov"](e,151).ngClassInvalid,i["ɵnov"](e,151).ngClassPending,i["ɵnov"](e,152).validClass,i["ɵnov"](e,152).invalidClass),t(e,163,0,i["ɵnov"](e,164).hasErrors,i["ɵnov"](e,164).hasSuccess),t(e,171,0,i["ɵnov"](e,176).ngClassUntouched,i["ɵnov"](e,176).ngClassTouched,i["ɵnov"](e,176).ngClassPristine,i["ɵnov"](e,176).ngClassDirty,i["ɵnov"](e,176).ngClassValid,i["ɵnov"](e,176).ngClassInvalid,i["ɵnov"](e,176).ngClassPending,i["ɵnov"](e,177).validClass,i["ɵnov"](e,177).invalidClass),t(e,181,0,i["ɵnov"](e,186).ngClassUntouched,i["ɵnov"](e,186).ngClassTouched,i["ɵnov"](e,186).ngClassPristine,i["ɵnov"](e,186).ngClassDirty,i["ɵnov"](e,186).ngClassValid,i["ɵnov"](e,186).ngClassInvalid,i["ɵnov"](e,186).ngClassPending,i["ɵnov"](e,187).validClass,i["ɵnov"](e,187).invalidClass);var o=i["ɵunv"](e,199,0,t(e,200,0,i["ɵnov"](e,0),n.action)),s=i["ɵunv"](e,199,1,t(e,201,0,i["ɵnov"](e,1),n.resource));t(e,199,0,o,s)}))}function Wp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-nfs-form",[],null,null,null,Up,zf)),i["ɵdid"](1,114688,null,0,Ff,[bt.a,Qg,Tt.a,Tt.m,Lf.a,bs.a,gt.a,ht.a,Yo.a,i.ChangeDetectorRef,ra.a,Ot.b],null,null)],(function(t,e){t(e,1,0)}),null)}var Kp=i["ɵccf"]("cd-nfs-form",Ff,Wp,{},{},[]);class $p{}var Zp=i["ɵcrt"]({encapsulation:0,styles:[[".login{color:#fff;background-color:#374249}  .login header{position:absolute;width:100vw}  .login header .navbar{padding:1rem 2rem}  .login header .navbar .dropdown-menu{margin-top:.2rem}  .login header .navbar .dropdown-menu li a:hover{background-color:#2b99a8}  .login section{display:inline-flex;width:100vw;min-height:100vh}"]],data:{}});function Jp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,14,"div",[["class","login full-height"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,5,"header",[],null,null,null,null,null)),(t()(),i["ɵeld"](2,0,null,null,4,"nav",[["class","navbar"]],null,null,null,null,null)),(t()(),i["ɵeld"](3,0,null,null,0,"a",[["class","navbar-brand"]],null,null,null,null,null)),(t()(),i["ɵeld"](4,0,null,null,2,"div",[["class","form-inline"]],null,null,null,null,null)),(t()(),i["ɵeld"](5,0,null,null,1,"cd-language-selector",[],null,null,null,lt,at)),i["ɵdid"](6,114688,null,0,et,[nt.j,X],null,null),(t()(),i["ɵeld"](7,0,null,null,7,"section",[],null,null,null,null,null)),(t()(),i["ɵeld"](8,0,null,null,6,"div",[["class","container"]],null,null,null,null,null)),(t()(),i["ɵeld"](9,0,null,null,5,"div",[["class","row full-height vertical-align"]],null,null,null,null,null)),(t()(),i["ɵeld"](10,0,null,null,1,"div",[["class","col-sm-6 d-none d-sm-block"]],null,null,null,null,null)),(t()(),i["ɵeld"](11,0,null,null,0,"img",[["alt","Ceph"],["class","float-right img-fluid"],["src","assets/Ceph_Logo_Stacked_RGB_White_120411_fa_256x256.png"]],null,null,null,null,null)),(t()(),i["ɵeld"](12,0,null,null,2,"div",[["class","col-12 col-sm-6 col-xl-5"]],null,null,null,null,null)),(t()(),i["ɵeld"](13,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),i["ɵdid"](14,212992,null,0,Tt.r,[Tt.b,i.ViewContainerRef,i.ComponentFactoryResolver,[8,null],i.ChangeDetectorRef],null,null)],(function(t,e){t(e,6,0),t(e,14,0)}),null)}function Xp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-login-layout",[],null,null,null,Jp,Zp)),i["ɵdid"](1,49152,null,0,$p,[],null,null)],null,null)}var Qp=i["ɵccf"]("cd-login-layout",$p,Xp,{},{},[]);class tm{}class em{constructor(t,e,n,a){this.authService=t,this.authStorageService=e,this.bsModalService=n,this.router=a,this.model=new tm,this.isLoginActive=!1}ngOnInit(){if(this.authStorageService.isLoggedIn())this.router.navigate([""]);else{const t=this.bsModalService.getModalsCount();for(let n=1;n<=t;n++)this.bsModalService.hide(n);let e=null;if(-1!==window.location.hash.indexOf("access_token=")){e=window.location.hash.split("access_token=")[1];const t=window.location.toString();window.history.replaceState({},document.title,t.split("?")[0])}this.authService.check(e).subscribe(t=>{t.login_url?"#/login"===t.login_url?this.isLoginActive=!0:window.location.replace(t.login_url):(this.authStorageService.set(t.username,e,t.permissions,t.sso,t.pwdExpirationDate),this.router.navigate([""]))})}}login(){this.authService.login(this.model).subscribe(()=>{this.router.navigate([""])})}}var nm=i["ɵcrt"]({encapsulation:0,styles:[["cd-login h1{margin:0 0 30px}  cd-login .btn-password,   cd-login .btn-password:focus,   cd-login .form-control,   cd-login .form-control:focus{color:#fff;background-color:#555}  cd-login .form-control::placeholder{color:#90949c}  cd-login .btn-password:focus{outline-color:#2b99a8}@keyframes autofill{to{color:#fff;background-color:#555}}input[_ngcontent-%COMP%]:-webkit-autofill{animation-name:autofill;animation-fill-mode:both}"]],data:{}});function am(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"div",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Username is required"]))],null,null)}function rm(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"div",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Password is required"]))],null,null)}function om(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,43,"div",[],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,1,"h1",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Welcome to Ceph!"])),(t()(),i["ɵeld"](3,0,null,null,40,"form",[["name","loginForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],(function(t,e,n){var a=!0,r=t.component;return"submit"===e&&(a=!1!==i["ɵnov"](t,5).onSubmit(n)&&a),"reset"===e&&(a=!1!==i["ɵnov"](t,5).onReset()&&a),"ngSubmit"===e&&(a=!1!==r.login()&&a),a}),null,null)),i["ɵdid"](4,16384,null,0,W.G,[],null,null),i["ɵdid"](5,4210688,[["loginForm",4]],0,W.t,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),i["ɵprd"](2048,null,W.d,null,[W.t]),i["ɵdid"](7,16384,null,0,W.s,[[4,W.d]],null,null),(t()(),i["ɵeld"](8,0,null,null,15,"div",[["class","form-group has-feedback"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](9,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,1,{FormControlNames:1}),i["ɵqud"](603979776,2,{messagesBlock:0}),(t()(),i["ɵeld"](12,0,null,0,9,"input",[["autofocus",""],["class","form-control"],["name","username"],["placeholder","Enter your username..."],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var a=!0,r=t.component;return"input"===e&&(a=!1!==i["ɵnov"](t,13)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,13).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,13)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,13)._compositionEnd(n.target.value)&&a),"ngModelChange"===e&&(a=!1!==(r.model.username=n)&&a),a}),null,null)),i["ɵdid"](13,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵdid"](14,16384,null,0,W.z,[],{required:[0,"required"]},null),i["ɵprd"](1024,null,W.o,(function(t){return[t]}),[W.z]),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](17,671744,[["username",4]],0,W.u,[[2,W.d],[6,W.o],[8,null],[6,W.p]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),i["ɵprd"](2048,null,W.q,null,[W.u]),i["ɵdid"](19,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](20,4210688,null,0,ni.a,[i.ElementRef],{autofocus:[0,"autofocus"]},null),i["ɵdid"](21,16384,null,0,K.h,[[3,W.d],K.a],null,null),(t()(),i["ɵand"](16777216,null,0,1,null,am)),i["ɵdid"](23,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](24,0,null,null,18,"div",[["class","form-group has-feedback"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](25,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,3,{FormControlNames:1}),i["ɵqud"](603979776,4,{messagesBlock:0}),(t()(),i["ɵeld"](28,0,null,0,12,"div",[["class","input-group"]],null,null,null,null,null)),(t()(),i["ɵeld"](29,0,null,null,8,"input",[["class","form-control"],["id","password"],["name","password"],["placeholder","Enter your password..."],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var a=!0,r=t.component;return"input"===e&&(a=!1!==i["ɵnov"](t,30)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,30).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,30)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,30)._compositionEnd(n.target.value)&&a),"ngModelChange"===e&&(a=!1!==(r.model.password=n)&&a),a}),null,null)),i["ɵdid"](30,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵdid"](31,16384,null,0,W.z,[],{required:[0,"required"]},null),i["ɵprd"](1024,null,W.o,(function(t){return[t]}),[W.z]),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](34,671744,[["password",4]],0,W.u,[[2,W.d],[6,W.o],[8,null],[6,W.p]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),i["ɵprd"](2048,null,W.q,null,[W.u]),i["ɵdid"](36,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](37,16384,null,0,K.h,[[3,W.d],K.a],null,null),(t()(),i["ɵeld"](38,0,null,null,2,"span",[["class","input-group-append"]],null,null,null,null,null)),(t()(),i["ɵeld"](39,0,null,null,1,"button",[["cdPasswordButton","password"],["class","btn btn-outline-light btn-password"],["type","button"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,40).onClick()&&a),a}),null,null)),i["ɵdid"](40,81920,null,0,kg.a,[i.ElementRef,i.Renderer2],{cdPasswordButton:[0,"cdPasswordButton"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,rm)),i["ɵdid"](42,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](43,0,null,null,0,"input",[["class","btn btn-secondary btn-block"],["type","submit"],["value","Login"]],[[8,"disabled",0]],null,null,null,null))],(function(t,e){var n=e.component;t(e,9,0),t(e,14,0,""),t(e,17,0,"username",n.model.username),t(e,20,0,""),t(e,23,0,(i["ɵnov"](e,5).submitted||i["ɵnov"](e,17).dirty)&&i["ɵnov"](e,17).invalid),t(e,25,0),t(e,31,0,""),t(e,34,0,"password",n.model.password),t(e,40,0,"password"),t(e,42,0,(i["ɵnov"](e,5).submitted||i["ɵnov"](e,34).dirty)&&i["ɵnov"](e,34).invalid)}),(function(t,e){t(e,3,0,i["ɵnov"](e,7).ngClassUntouched,i["ɵnov"](e,7).ngClassTouched,i["ɵnov"](e,7).ngClassPristine,i["ɵnov"](e,7).ngClassDirty,i["ɵnov"](e,7).ngClassValid,i["ɵnov"](e,7).ngClassInvalid,i["ɵnov"](e,7).ngClassPending),t(e,8,0,i["ɵnov"](e,9).hasErrors,i["ɵnov"](e,9).hasSuccess),t(e,12,0,i["ɵnov"](e,14).required?"":null,i["ɵnov"](e,19).ngClassUntouched,i["ɵnov"](e,19).ngClassTouched,i["ɵnov"](e,19).ngClassPristine,i["ɵnov"](e,19).ngClassDirty,i["ɵnov"](e,19).ngClassValid,i["ɵnov"](e,19).ngClassInvalid,i["ɵnov"](e,19).ngClassPending,i["ɵnov"](e,21).validClass,i["ɵnov"](e,21).invalidClass),t(e,24,0,i["ɵnov"](e,25).hasErrors,i["ɵnov"](e,25).hasSuccess),t(e,29,0,i["ɵnov"](e,31).required?"":null,i["ɵnov"](e,36).ngClassUntouched,i["ɵnov"](e,36).ngClassTouched,i["ɵnov"](e,36).ngClassPristine,i["ɵnov"](e,36).ngClassDirty,i["ɵnov"](e,36).ngClassValid,i["ɵnov"](e,36).ngClassInvalid,i["ɵnov"](e,36).ngClassPending,i["ɵnov"](e,37).validClass,i["ɵnov"](e,37).invalidClass),t(e,43,0,i["ɵnov"](e,5).invalid)}))}function im(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,om)),i["ɵdid"](1,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){t(e,1,0,e.component.isLoginActive)}),null)}function sm(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-login",[],null,null,null,im,nm)),i["ɵdid"](1,114688,null,0,em,[Et.a,bt.a,Pt.b,Tt.m],null,null)],(function(t,e){t(e,1,0)}),null)}var cm=i["ɵccf"]("cd-login",em,sm,{},{},[]);class lm extends Ig{constructor(t,e,n,a,r,o,i,s,c){super(t,e,n,a,r,o,i,s),this.i18n=t,this.actionLabels=e,this.notificationService=n,this.userService=a,this.authStorageService=r,this.formBuilder=o,this.router=i,this.passwordPolicyService=s,this.authService=c}onPasswordChange(){this.authService.logout()}onCancel(){this.authService.logout()}}var dm=i["ɵcrt"]({encapsulation:0,styles:[["cd-login-password-form h4{margin:0 0 30px}  cd-login-password-form .btn-password,   cd-login-password-form .btn-password:focus,   cd-login-password-form .form-control,   cd-login-password-form .form-control:focus{color:#fff;background-color:#555}  cd-login-password-form .form-control::placeholder{color:#90949c}  cd-login-password-form .btn-password:focus{outline-color:#2b99a8}  cd-login-password-form button.btn:not(:first-child){margin-left:5px}"]],data:{}});function um(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["This field is required."]))],null,null)}function gm(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["The old and new passwords must be different."]))],null,null)}function fm(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["This field is required."]))],null,null)}function pm(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["The old and new passwords must be different."]))],null,null)}function mm(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](1,null,[" "," "]))],null,(function(t,e){t(e,1,0,e.component.passwordValuation)}))}function hm(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["This field is required."]))],null,null)}function bm(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Password confirmation doesn't match the new password."]))],null,null)}function _m(t){return i["ɵvid"](0,[i["ɵpid"](0,o.TitleCasePipe,[]),i["ɵpid"](0,si.a,[]),(t()(),i["ɵeld"](2,0,null,null,81,"div",[],null,null,null,null,null)),(t()(),i["ɵeld"](3,0,null,null,1,"h1",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Please set a new password."])),(t()(),i["ɵeld"](5,0,null,null,1,"h4",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["You will be redirected to the login page afterwards."])),(t()(),i["ɵeld"](7,0,null,null,67,"form",[["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(t,e,n){var a=!0;return"submit"===e&&(a=!1!==i["ɵnov"](t,9).onSubmit(n)&&a),"reset"===e&&(a=!1!==i["ɵnov"](t,9).onReset()&&a),"submit"===e&&(a=!1!==i["ɵnov"](t,12).onSubmit()&&a),a}),null,null)),i["ɵdid"](8,16384,null,0,W.G,[],null,null),i["ɵdid"](9,540672,[["frm",4]],0,W.l,[[8,null],[8,null]],{form:[0,"form"]},null),i["ɵprd"](2048,null,W.d,null,[W.l]),i["ɵdid"](11,16384,null,0,W.s,[[4,W.d]],null,null),i["ɵdid"](12,16384,null,0,K.d,[],{formGroup:[0,"formGroup"]},null),(t()(),i["ɵeld"](13,0,null,null,19,"div",[["class","form-group has-feedback"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](14,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,1,{FormControlNames:1}),i["ɵqud"](603979776,2,{messagesBlock:0}),(t()(),i["ɵeld"](17,0,null,0,11,"div",[["class","input-group"]],null,null,null,null,null)),(t()(),i["ɵeld"](18,0,null,null,7,"input",[["autocomplete","new-password"],["autofocus",""],["class","form-control"],["formControlName","oldpassword"],["id","oldpassword"],["placeholder","Old password..."],["type","password"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,19)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,19).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,19)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,19)._compositionEnd(n.target.value)&&a),a}),null,null)),i["ɵdid"](19,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](21,671744,[[1,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](23,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](24,4210688,null,0,ni.a,[i.ElementRef],{autofocus:[0,"autofocus"]},null),i["ɵdid"](25,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵeld"](26,0,null,null,2,"span",[["class","input-group-append"]],null,null,null,null,null)),(t()(),i["ɵeld"](27,0,null,null,1,"button",[["cdPasswordButton","oldpassword"],["class","btn btn-outline-light btn-password"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,28).onClick()&&a),a}),null,null)),i["ɵdid"](28,81920,null,0,kg.a,[i.ElementRef,i.Renderer2],{cdPasswordButton:[0,"cdPasswordButton"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,um)),i["ɵdid"](30,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,gm)),i["ɵdid"](32,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](33,0,null,null,22,"div",[["class","form-group has-feedback"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](34,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,3,{FormControlNames:1}),i["ɵqud"](603979776,4,{messagesBlock:0}),(t()(),i["ɵeld"](37,0,null,0,10,"div",[["class","input-group"]],null,null,null,null,null)),(t()(),i["ɵeld"](38,0,null,null,6,"input",[["autocomplete","new-password"],["class","form-control"],["formControlName","newpassword"],["id","newpassword"],["placeholder","New password..."],["type","password"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,39)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,39).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,39)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,39)._compositionEnd(n.target.value)&&a),a}),null,null)),i["ɵdid"](39,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](41,671744,[[3,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](43,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](44,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵeld"](45,0,null,null,2,"span",[["class","input-group-append"]],null,null,null,null,null)),(t()(),i["ɵeld"](46,0,null,null,1,"button",[["cdPasswordButton","newpassword"],["class","btn btn-outline-light btn-password"],["type","button"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,47).onClick()&&a),a}),null,null)),i["ɵdid"](47,81920,null,0,kg.a,[i.ElementRef,i.Renderer2],{cdPasswordButton:[0,"cdPasswordButton"]},null),(t()(),i["ɵeld"](48,0,null,0,1,"div",[["class","password-strength-level"]],null,null,null,null,null)),(t()(),i["ɵeld"](49,0,null,null,0,"div",[["data-toggle","tooltip"]],[[8,"className",0],[8,"title",0]],null,null,null,null)),(t()(),i["ɵand"](16777216,null,0,1,null,fm)),i["ɵdid"](51,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,pm)),i["ɵdid"](53,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,mm)),i["ɵdid"](55,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](56,0,null,null,18,"div",[["class","form-group has-feedback"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](57,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,5,{FormControlNames:1}),i["ɵqud"](603979776,6,{messagesBlock:0}),(t()(),i["ɵeld"](60,0,null,0,10,"div",[["class","input-group"]],null,null,null,null,null)),(t()(),i["ɵeld"](61,0,null,null,6,"input",[["autocomplete","new-password"],["class","form-control"],["formControlName","confirmnewpassword"],["id","confirmnewpassword"],["placeholder","Confirm new password..."],["type","password"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,62)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,62).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,62)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,62)._compositionEnd(n.target.value)&&a),a}),null,null)),i["ɵdid"](62,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](64,671744,[[5,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](66,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](67,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵeld"](68,0,null,null,2,"span",[["class","input-group-append"]],null,null,null,null,null)),(t()(),i["ɵeld"](69,0,null,null,1,"button",[["cdPasswordButton","confirmnewpassword"],["class","btn btn-outline-light btn-password"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,70).onClick()&&a),a}),null,null)),i["ɵdid"](70,81920,null,0,kg.a,[i.ElementRef,i.Renderer2],{cdPasswordButton:[0,"cdPasswordButton"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,hm)),i["ɵdid"](72,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,bm)),i["ɵdid"](74,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](75,0,null,null,8,"div",[["class","form-footer"]],null,null,null,null,null)),(t()(),i["ɵeld"](76,0,null,null,4,"cd-submit-button",[["btnClass","btn-block"],["class","full-width"]],null,[[null,"submitAction"]],(function(t,e,n){var a=!0;return"submitAction"===e&&(a=!1!==t.component.onSubmit()&&a),a}),ai.b,ai.a)),i["ɵdid"](77,114688,null,0,ri.a,[i.ElementRef],{form:[0,"form"],btnClass:[1,"btnClass"]},{submitAction:"submitAction"}),(t()(),i["ɵted"](78,0,[" "," "," "])),i["ɵppd"](79,1),i["ɵppd"](80,1),(t()(),i["ɵeld"](81,0,null,null,2,"button",[["class","btn btn-light"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.onCancel()&&a),a}),null,null)),(t()(),i["ɵeld"](82,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Cancel"]))],(function(t,e){var n=e.component;t(e,9,0,n.userForm),t(e,12,0,n.userForm),t(e,14,0),t(e,21,0,"oldpassword"),t(e,24,0,""),t(e,25,0,"oldpassword"),t(e,28,0,"oldpassword"),t(e,30,0,n.userForm.showError("oldpassword",i["ɵnov"](e,9),"required")),t(e,32,0,n.userForm.showError("oldpassword",i["ɵnov"](e,9),"notmatch")),t(e,34,0),t(e,41,0,"newpassword"),t(e,44,0,"newpassword"),t(e,47,0,"newpassword"),t(e,51,0,n.userForm.showError("newpassword",i["ɵnov"](e,9),"required")),t(e,53,0,n.userForm.showError("newpassword",i["ɵnov"](e,9),"notmatch")),t(e,55,0,n.userForm.showError("newpassword",i["ɵnov"](e,9),"passwordPolicy")),t(e,57,0),t(e,64,0,"confirmnewpassword"),t(e,67,0,"confirmnewpassword"),t(e,70,0,"confirmnewpassword"),t(e,72,0,n.userForm.showError("confirmnewpassword",i["ɵnov"](e,9),"required")),t(e,74,0,n.userForm.showError("confirmnewpassword",i["ɵnov"](e,9),"match")),t(e,77,0,n.userForm,"btn-block")}),(function(t,e){var n=e.component;t(e,7,0,i["ɵnov"](e,11).ngClassUntouched,i["ɵnov"](e,11).ngClassTouched,i["ɵnov"](e,11).ngClassPristine,i["ɵnov"](e,11).ngClassDirty,i["ɵnov"](e,11).ngClassValid,i["ɵnov"](e,11).ngClassInvalid,i["ɵnov"](e,11).ngClassPending),t(e,13,0,i["ɵnov"](e,14).hasErrors,i["ɵnov"](e,14).hasSuccess),t(e,18,0,i["ɵnov"](e,23).ngClassUntouched,i["ɵnov"](e,23).ngClassTouched,i["ɵnov"](e,23).ngClassPristine,i["ɵnov"](e,23).ngClassDirty,i["ɵnov"](e,23).ngClassValid,i["ɵnov"](e,23).ngClassInvalid,i["ɵnov"](e,23).ngClassPending,i["ɵnov"](e,25).validClass,i["ɵnov"](e,25).invalidClass),t(e,33,0,i["ɵnov"](e,34).hasErrors,i["ɵnov"](e,34).hasSuccess),t(e,38,0,i["ɵnov"](e,43).ngClassUntouched,i["ɵnov"](e,43).ngClassTouched,i["ɵnov"](e,43).ngClassPristine,i["ɵnov"](e,43).ngClassDirty,i["ɵnov"](e,43).ngClassValid,i["ɵnov"](e,43).ngClassInvalid,i["ɵnov"](e,43).ngClassPending,i["ɵnov"](e,44).validClass,i["ɵnov"](e,44).invalidClass),t(e,49,0,i["ɵinlineInterpolate"](1,"",n.passwordStrengthLevelClass,""),i["ɵinlineInterpolate"](1,"",n.passwordValuation,"")),t(e,56,0,i["ɵnov"](e,57).hasErrors,i["ɵnov"](e,57).hasSuccess),t(e,61,0,i["ɵnov"](e,66).ngClassUntouched,i["ɵnov"](e,66).ngClassTouched,i["ɵnov"](e,66).ngClassPristine,i["ɵnov"](e,66).ngClassDirty,i["ɵnov"](e,66).ngClassValid,i["ɵnov"](e,66).ngClassInvalid,i["ɵnov"](e,66).ngClassPending,i["ɵnov"](e,67).validClass,i["ɵnov"](e,67).invalidClass);var a=i["ɵunv"](e,78,0,t(e,79,0,i["ɵnov"](e,0),n.action)),r=i["ɵunv"](e,78,1,t(e,80,0,i["ɵnov"](e,1),n.resource));t(e,78,0,a,r)}))}function ym(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-login-password-form",[],null,null,null,_m,dm)),i["ɵdid"](1,49152,null,0,lm,[ra.a,Ot.b,ut.a,yt.a,bt.a,bs.a,Tt.m,Sg.a,Et.a],null,null)],null,null)}var Om=i["ɵccf"]("cd-login-password-form",lm,ym,{},{},[]);class vm{constructor(){}}var Cm=i["ɵcrt"]({encapsulation:0,styles:[["#toast-container{margin-top:2vw}@media (max-width:1600px){  #toast-container{margin-top:2.5vw}}@media (max-width:calc(992px - 1px)){  #toast-container{margin-top:9vw}}@media (max-width:900px){  #toast-container{margin-top:10vw}}@media (max-width:319px){  #toast-container{margin-top:11vw}}@media (max-width:260px){  #toast-container{margin-top:14vw}}"]],data:{}});function Pm(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),i["ɵdid"](1,212992,null,0,Tt.r,[Tt.b,i.ViewContainerRef,i.ComponentFactoryResolver,[8,null],i.ChangeDetectorRef],null,null)],(function(t,e){t(e,1,0)}),null)}function Mm(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-blank-layout",[],null,null,null,Pm,Cm)),i["ɵdid"](1,49152,null,0,vm,[],null,null)],null,null)}var xm=i["ɵccf"]("cd-blank-layout",vm,Mm,{},{},[]);class wm{constructor(){this.logoutUrl=`${window.location.origin}/auth/saml2/slo`}}var Tm=i["ɵcrt"]({encapsulation:0,styles:[["h1[_ngcontent-%COMP%]{font-size:-webkit-xxx-large}*[_ngcontent-%COMP%]{font-family:monospace}img[_ngcontent-%COMP%]{width:50vw}"]],data:{}});function km(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,17,"div",[["class","vertical-align full-height"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,16,"div",[["class","col-md-12 text-center"]],null,null,null,null,null)),(t()(),i["ɵeld"](2,0,null,null,1,"h1",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Sorry, the user does not exist in Ceph."])),(t()(),i["ɵeld"](4,0,null,null,4,"h4",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Return to "])),(t()(),i["ɵeld"](6,0,null,null,1,"a",[["class","sso-logout"]],[[8,"href",4]],null,null,null,null)),(t()(),i["ɵted"](-1,null,["Login Page"])),(t()(),i["ɵted"](-1,null,[". You'll be logged out from the Identity Provider when you retry logging in."])),(t()(),i["ɵeld"](9,0,null,null,0,"img",[["class","img-fluid mx-auto rounded"],["src","assets/1280px-Nautilus_Octopus.jpg"]],null,null,null,null,null)),(t()(),i["ɵeld"](10,0,null,null,0,"br",[],null,null,null,null,null)),(t()(),i["ɵeld"](11,0,null,null,6,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,[' "'])),(t()(),i["ɵeld"](13,0,null,null,1,"a",[["href","https://www.flickr.com/photos/146401137@N06/40335060661"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Nautilus Octopus"])),(t()(),i["ɵted"](-1,null,['" by Jin Kemoole is licensed under '])),(t()(),i["ɵeld"](16,0,null,null,1,"a",[["class","external text"],["href","https://creativecommons.org/licenses/by/2.0/"],["rel","nofollow"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["CC BY 2.0"]))],null,(function(t,e){t(e,6,0,e.component.logoutUrl)}))}function Sm(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-sso-not-found",[],null,null,null,km,Tm)),i["ɵdid"](1,49152,null,0,wm,[],null,null)],null,null)}var Im=i["ɵccf"]("cd-sso-not-found",wm,Sm,{},{},[]);class Nm{constructor(){this.icons=dt.a}}var Rm=i["ɵcrt"]({encapsulation:0,styles:[["h1[_ngcontent-%COMP%]{font-size:-webkit-xxx-large;font-family:monospace}h2[_ngcontent-%COMP%]{font-size:xx-large;font-family:monospace}i[_ngcontent-%COMP%]{font-size:200px}"]],data:{}});function Am(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,10,"div",[["class","horizontal-align vertical-align full-height"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,9,"div",[["class","text-center"]],null,null,null,null,null)),(t()(),i["ɵeld"](2,0,null,null,1,"h1",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Forbidden"])),(t()(),i["ɵeld"](4,0,null,null,0,"i",[],[[8,"className",0]],null,null,null,null)),(t()(),i["ɵeld"](5,0,null,null,1,"h2",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Sorry, you are not allowed to see what you were looking for."])),(t()(),i["ɵeld"](7,0,null,null,3,"button",[["class","btn btn-primary"],["type","button"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,8).onClick()&&a),a}),null,null)),i["ɵdid"](8,16384,null,0,Tt.n,[Tt.m,Tt.a,[8,null],i.Renderer2,i.ElementRef],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵeld"](9,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Back"]))],(function(t,e){t(e,8,0,"/login")}),(function(t,e){t(e,4,0,i["ɵinlineInterpolate"](1,"",e.component.icons.lock," text-danger"))}))}function Em(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-forbidden",[],null,null,null,Am,Rm)),i["ɵdid"](1,49152,null,0,Nm,[],null,null)],null,null)}var Dm=i["ɵccf"]("cd-forbidden",Nm,Em,{},{},[]);class Lm{constructor(){}}var qm=i["ɵcrt"]({encapsulation:0,styles:[["h1[_ngcontent-%COMP%]{font-size:-webkit-xxx-large;font-family:monospace}*[_ngcontent-%COMP%]{font-family:monospace}img[_ngcontent-%COMP%]{width:50vw}"]],data:{}});function jm(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,17,"div",[["class","horizontal-align vertical-align full-height"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,16,"div",[["class","text-center"]],null,null,null,null,null)),(t()(),i["ɵeld"](2,0,null,null,1,"h1",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Sorry, we could not find what you were looking for."])),(t()(),i["ɵeld"](4,0,null,null,0,"img",[["class","img-fluid mx-auto rounded"],["src","assets/1500px-Southern_Keeled_Octopus.jpg"]],null,null,null,null,null)),(t()(),i["ɵeld"](5,0,null,null,0,"br",[],null,null,null,null,null)),(t()(),i["ɵeld"](6,0,null,null,6,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,[' "'])),(t()(),i["ɵeld"](8,0,null,null,1,"a",[["href","https://collections.museumvictoria.com.au/species/8696"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Southern Keeled Octopus, Octopus berrima"])),(t()(),i["ɵted"](-1,null,['" by Museums Victoria (Photographer: Julian Finn) is licensed under '])),(t()(),i["ɵeld"](11,0,null,null,1,"a",[["class","external text"],["href","https://creativecommons.org/licenses/by/4.0"],["rel","nofollow"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["CC BY 4.0"])),(t()(),i["ɵeld"](13,0,null,null,0,"br",[],null,null,null,null,null)),(t()(),i["ɵeld"](14,0,null,null,3,"button",[["class","btn btn-primary"],["type","button"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,15).onClick()&&a),a}),null,null)),i["ɵdid"](15,16384,null,0,Tt.n,[Tt.m,Tt.a,[8,null],i.Renderer2,i.ElementRef],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵeld"](16,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Back"]))],(function(t,e){t(e,15,0,"/login")}),null)}function Fm(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-not-found",[],null,null,null,jm,qm)),i["ɵdid"](1,49152,null,0,Lm,[],null,null)],null,null)}var zm=i["ɵccf"]("cd-not-found",Lm,Fm,{},{},[]),Vm=n("ES0t"),Gm=n("Xg1U"),Ym=n("z5nN"),Bm=n("iutN"),Hm=n("EEJc"),Um=n("PEr+"),Wm=n("a40w"),Km=n("hfeG"),$m=n("atuK"),Zm=i["ɵcrt"]({encapsulation:0,styles:[[".product-versions[_ngcontent-%COMP%]{margin-top:30px}.product-versions[_ngcontent-%COMP%]   strong[_ngcontent-%COMP%]{margin-right:10px}.modal-header[_ngcontent-%COMP%]{border-bottom:none}.modal-body[_ngcontent-%COMP%]{padding-left:80px;padding-right:80px}.modal-footer[_ngcontent-%COMP%]{border-top:none;padding:15px 80px 35px}h2[_ngcontent-%COMP%]{font-size:3em}.ceph-logo[_ngcontent-%COMP%]{width:10%}.list-unstyled[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]{margin-top:5px}.modal-body[_ngcontent-%COMP%]{margin-top:0;padding-top:0}.modal-body[_ngcontent-%COMP%]   h2[_ngcontent-%COMP%]{margin-top:0}"]],data:{}});function Jm(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"div",[["class","modal-header"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,2,"button",[["aria-label","Close"],["class","close float-right"],["type","button"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.modalRef.hide()&&a),a}),null,null)),(t()(),i["ɵeld"](2,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["×"])),(t()(),i["ɵeld"](4,0,null,null,45,"div",[["class","modal-body"]],null,null,null,null,null)),(t()(),i["ɵeld"](5,0,null,null,2,"h2",[],null,null,null,null,null)),(t()(),i["ɵeld"](6,0,null,null,0,"img",[["class","ceph-logo"],["src","assets/Ceph_Logo_Stacked_RGB_120411_fa_348x348.png"]],[[8,"alt",0]],null,null,null,null)),(t()(),i["ɵted"](7,null,[" "," "])),(t()(),i["ɵeld"](8,0,null,null,2,"h3",[],null,null,null,null,null)),(t()(),i["ɵeld"](9,0,null,null,1,"strong",[],null,null,null,null,null)),(t()(),i["ɵted"](10,null,["",""])),(t()(),i["ɵeld"](11,0,null,null,6,"div",[["class","product-versions"]],null,null,null,null,null)),(t()(),i["ɵeld"](12,0,null,null,1,"strong",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Version"])),(t()(),i["ɵeld"](14,0,null,null,0,"br",[],null,null,null,null,null)),(t()(),i["ɵted"](15,null,[" "," "," "])),(t()(),i["ɵeld"](16,0,null,null,0,"br",[],null,null,null,null,null)),(t()(),i["ɵted"](17,null,[" "," "])),(t()(),i["ɵeld"](18,0,null,null,0,"br",[],null,null,null,null,null)),(t()(),i["ɵeld"](19,0,null,null,30,"ul",[["class","list-unstyled"]],null,null,null,null,null)),(t()(),i["ɵeld"](20,0,null,null,4,"li",[["class","row"]],null,null,null,null,null)),(t()(),i["ɵeld"](21,0,null,null,1,"strong",[["class","col-6 col-sm-4"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Ceph Manager"])),(t()(),i["ɵeld"](23,0,null,null,1,"span",[["class","col-4 col-sm-4"]],null,null,null,null,null)),(t()(),i["ɵted"](24,null,["",""])),(t()(),i["ɵeld"](25,0,null,null,4,"li",[["class","row"]],null,null,null,null,null)),(t()(),i["ɵeld"](26,0,null,null,1,"strong",[["class","col-6 col-sm-4"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["User"])),(t()(),i["ɵeld"](28,0,null,null,1,"span",[["class","col-4 col-sm-4"]],null,null,null,null,null)),(t()(),i["ɵted"](29,null,["",""])),(t()(),i["ɵeld"](30,0,null,null,4,"li",[["class","row"]],null,null,null,null,null)),(t()(),i["ɵeld"](31,0,null,null,1,"strong",[["class","col-6 col-sm-4"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["User Role"])),(t()(),i["ɵeld"](33,0,null,null,1,"span",[["class","col-4 col-sm-4"]],null,null,null,null,null)),(t()(),i["ɵted"](34,null,["",""])),(t()(),i["ɵeld"](35,0,null,null,4,"li",[["class","row"]],null,null,null,null,null)),(t()(),i["ɵeld"](36,0,null,null,1,"strong",[["class","col-6 col-sm-4"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Browser"])),(t()(),i["ɵeld"](38,0,null,null,1,"span",[["class","col-4 col-sm-4"]],null,null,null,null,null)),(t()(),i["ɵted"](39,null,["",""])),(t()(),i["ɵeld"](40,0,null,null,4,"li",[["class","row"]],null,null,null,null,null)),(t()(),i["ɵeld"](41,0,null,null,1,"strong",[["class","col-6 col-sm-4"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Browser Version"])),(t()(),i["ɵeld"](43,0,null,null,1,"span",[["class","col-4 col-sm-4"]],null,null,null,null,null)),(t()(),i["ɵted"](44,null,["",""])),(t()(),i["ɵeld"](45,0,null,null,4,"li",[["class","row"]],null,null,null,null,null)),(t()(),i["ɵeld"](46,0,null,null,1,"strong",[["class","col-6 col-sm-4"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Browser OS"])),(t()(),i["ɵeld"](48,0,null,null,1,"span",[["class","col-4 col-sm-4"]],null,null,null,null,null)),(t()(),i["ɵted"](49,null,["",""])),(t()(),i["ɵeld"](50,0,null,null,2,"div",[["class","modal-footer"]],null,null,null,null,null)),(t()(),i["ɵeld"](51,0,null,null,1,"div",[["class","text-left"]],null,null,null,null,null)),(t()(),i["ɵted"](52,null,[" "," "," "]))],null,(function(t,e){var n=e.component;t(e,6,0,i["ɵinlineInterpolate"](1,"",n.projectConstants.organization,"")),t(e,7,0,n.projectConstants.organization),t(e,10,0,n.projectConstants.projectName),t(e,15,0,n.versionNumber,n.versionHash),t(e,17,0,n.versionName),t(e,24,0,n.hostAddr),t(e,29,0,n.modalVariables.user),t(e,34,0,n.modalVariables.role),t(e,39,0,n.modalVariables.browserName),t(e,44,0,n.modalVariables.browserVersion),t(e,49,0,n.modalVariables.browserOS),t(e,52,0,n.copyright,n.projectConstants.license)}))}function Xm(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-about",[],null,null,null,Jm,Zm)),i["ɵdid"](1,245760,null,0,vt,[Pt.a,gt.a,yt.a,bt.a],null,null)],(function(t,e){t(e,1,0)}),null)}var Qm=i["ɵccf"]("cd-about",vt,Xm,{},{},[]),th=i["ɵcrt"]({encapsulation:0,styles:[".dropdown[_nghost-%COMP%] {\n      z-index: 1000;\n    }"],data:{animation:[{type:7,name:"typeaheadAnimation",definitions:[{type:0,name:"animated-down",styles:{type:6,styles:{height:"*",overflow:"hidden"},offset:null},options:void 0},{type:1,expr:"* => animated-down",animation:[{type:6,styles:{height:0,overflow:"hidden"},offset:null},{type:4,styles:null,timings:"220ms cubic-bezier(0, 0, 0.2, 1)"}],options:null},{type:0,name:"animated-up",styles:{type:6,styles:{height:"*",overflow:"hidden"},offset:null},options:void 0},{type:1,expr:"* => animated-up",animation:[{type:6,styles:{height:"*",overflow:"hidden"},offset:null},{type:4,styles:null,timings:"220ms cubic-bezier(0, 0, 0.2, 1)"}],options:null},{type:1,expr:"* => unanimated",animation:{type:4,styles:null,timings:"0s"},options:null}],options:{}}]}});function eh(t){return i["ɵvid"](0,[(t()(),i["ɵand"](0,null,null,0))],null,null)}function nh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,0,"span",[],[[8,"innerHTML",1]],null,null,null,null))],null,(function(t,e){t(e,0,0,e.component.highlight(e.context.match,e.context.query))}))}function ah(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,[[2,0],["liElements",1]],null,1,"li",[["class","dropdown-header"]],null,null,null,null,null)),(t()(),i["ɵted"](1,null,["",""]))],null,(function(t,e){t(e,1,0,e.parent.context.$implicit)}))}function rh(t){return i["ɵvid"](0,[(t()(),i["ɵand"](0,null,null,0))],null,null)}function oh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,[[2,0],["liElements",1]],null,4,"li",[],[[24,"@typeaheadAnimation",0],[2,"active",null]],[[null,"@typeaheadAnimation.done"],[null,"mouseenter"]],(function(t,e,n){var a=!0,r=t.component;return"@typeaheadAnimation.done"===e&&(a=!1!==r.positionServiceEnable()&&a),"mouseenter"===e&&(a=!1!==r.selectActive(t.parent.context.$implicit)&&a),a}),null,null)),(t()(),i["ɵeld"](1,0,null,null,3,"a",[["href","#"],["tabindex","-1"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.selectMatch(t.parent.context.$implicit,n)&&a),a}),null,null)),(t()(),i["ɵand"](16777216,null,null,2,null,rh)),i["ɵdid"](3,540672,null,0,o.NgTemplateOutlet,[i.ViewContainerRef],{ngTemplateOutletContext:[0,"ngTemplateOutletContext"],ngTemplateOutlet:[1,"ngTemplateOutlet"]},null),i["ɵpod"](4,{item:0,index:1,match:2,query:3})],(function(t,e){var n=e.component,a=t(e,4,0,e.parent.context.$implicit.item,e.parent.context.index,e.parent.context.$implicit,n.query);t(e,3,0,a,n.itemTemplate||i["ɵnov"](e.parent.parent.parent,5))}),(function(t,e){var n=e.component;t(e,0,0,n.animationState,n.isActive(e.parent.context.$implicit))}))}function ih(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,ah)),i["ɵdid"](1,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,oh)),i["ɵdid"](3,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](0,null,null,0))],(function(t,e){var n=e.context.$implicit.isHeader();t(e,1,0,n);var a=!e.context.$implicit.isHeader();t(e,3,0,a)}),null)}function sh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,[[1,0],["ulElement",1]],null,2,"ul",[["class","dropdown-menu"]],[[4,"overflow-y",null],[4,"height",null]],null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,ih)),i["ɵdid"](2,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){t(e,2,0,e.component.matches)}),(function(t,e){var n=e.component;t(e,0,0,n.needScrollbar?"scroll":"auto",n.needScrollbar?n.guiHeight:"auto")}))}function ch(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"h6",[["class","dropdown-header"]],null,null,null,null,null)),(t()(),i["ɵted"](1,null,["",""]))],null,(function(t,e){t(e,1,0,e.parent.context.$implicit)}))}function lh(t){return i["ɵvid"](0,[(t()(),i["ɵand"](0,null,null,0))],null,null)}function dh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,[[2,0],["liElements",1]],null,3,"button",[["class","dropdown-item"]],[[24,"@typeaheadAnimation",0],[2,"active",null]],[[null,"@typeaheadAnimation.done"],[null,"click"],[null,"mouseenter"]],(function(t,e,n){var a=!0,r=t.component;return"@typeaheadAnimation.done"===e&&(a=!1!==r.positionServiceEnable()&&a),"click"===e&&(a=!1!==r.selectMatch(t.parent.context.$implicit,n)&&a),"mouseenter"===e&&(a=!1!==r.selectActive(t.parent.context.$implicit)&&a),a}),null,null)),(t()(),i["ɵand"](16777216,null,null,2,null,lh)),i["ɵdid"](2,540672,null,0,o.NgTemplateOutlet,[i.ViewContainerRef],{ngTemplateOutletContext:[0,"ngTemplateOutletContext"],ngTemplateOutlet:[1,"ngTemplateOutlet"]},null),i["ɵpod"](3,{item:0,index:1,match:2,query:3})],(function(t,e){var n=e.component,a=t(e,3,0,e.parent.context.$implicit.item,e.parent.context.index,e.parent.context.$implicit,n.query);t(e,2,0,a,n.itemTemplate||i["ɵnov"](e.parent.parent.parent,5))}),(function(t,e){var n=e.component;t(e,0,0,n.animationState,n.isActive(e.parent.context.$implicit))}))}function uh(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,ch)),i["ɵdid"](1,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,dh)),i["ɵdid"](3,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](0,null,null,0))],(function(t,e){var n=e.context.$implicit.isHeader();t(e,1,0,n);var a=!e.context.$implicit.isHeader();t(e,3,0,a)}),null)}function gh(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,uh)),i["ɵdid"](1,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵand"](0,null,null,0))],(function(t,e){t(e,1,0,e.component.matches)}),null)}function fh(t){return i["ɵvid"](0,[i["ɵqud"](671088640,1,{ulElement:0}),i["ɵqud"](671088640,2,{liElements:1}),(t()(),i["ɵand"](16777216,null,null,2,null,eh)),i["ɵdid"](3,540672,null,0,o.NgTemplateOutlet,[i.ViewContainerRef],{ngTemplateOutletContext:[0,"ngTemplateOutletContext"],ngTemplateOutlet:[1,"ngTemplateOutlet"]},null),i["ɵpod"](4,{matches:0,itemTemplate:1,query:2}),(t()(),i["ɵand"](0,[["bsItemTemplate",2]],null,0,null,nh)),(t()(),i["ɵand"](0,[["bs3Template",2]],null,0,null,sh)),(t()(),i["ɵand"](0,[["bs4Template",2]],null,0,null,gh))],(function(t,e){var n=e.component,a=t(e,4,0,n.matches,n.itemTemplate,n.query);t(e,3,0,a,n.optionsListTemplate||i["ɵnov"](e,n.isBs4?7:6))}),null)}function ph(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"typeahead-container",[["class","dropdown open bottom"],["style","position: absolute;display: block;"]],[[2,"dropdown-menu",null],[4,"overflow-y",null],[4,"height",null],[4,"visibility",null],[2,"dropup",null]],[[null,"mouseleave"],[null,"blur"]],(function(t,e,n){var a=!0;return"mouseleave"===e&&(a=!1!==i["ɵnov"](t,1).focusLost()&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,1).focusLost()&&a),a}),fh,th)),i["ɵdid"](1,49152,null,0,yf,[Fn.a,i.Renderer2,i.ElementRef],null,null)],null,(function(t,e){t(e,0,0,i["ɵnov"](e,1).isBs4,i["ɵnov"](e,1).isBs4&&i["ɵnov"](e,1).needScrollbar?"scroll":"visible",i["ɵnov"](e,1).isBs4&&i["ɵnov"](e,1).needScrollbar?i["ɵnov"](e,1).guiHeight:"auto",i["ɵnov"](e,1).visibility,i["ɵnov"](e,1).dropup)}))}var mh=i["ɵccf"]("typeahead-container",yf,ph,{},{},[]),hh=n("ajRT"),bh=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function _h(t){return i["ɵvid"](0,[(t()(),i["ɵted"](-1,null,["Deep "]))],null,null)}function yh(t){return i["ɵvid"](0,[(t()(),i["ɵted"](-1,null,["deep "]))],null,null)}function Oh(t){return i["ɵvid"](0,[i["ɵpid"](0,Fi.a,[]),(t()(),i["ɵeld"](1,0,null,null,33,"cd-modal",[],null,null,null,Hm.c,Hm.b)),i["ɵdid"](2,49152,null,0,hh.a,[],{modalRef:[0,"modalRef"]},null),(t()(),i["ɵeld"](3,0,null,0,6,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["OSDs "])),(t()(),i["ɵeld"](5,0,null,null,3,null,null,null,null,null,null,null)),i["ɵdid"](6,16384,null,0,o.NgSwitch,[],{ngSwitch:[0,"ngSwitch"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,_h)),i["ɵdid"](8,278528,null,0,o.NgSwitchCase,[i.ViewContainerRef,i.TemplateRef,o.NgSwitch],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),i["ɵted"](-1,null,["Scrub"])),(t()(),i["ɵeld"](10,0,null,1,24,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](11,0,null,null,23,"form",[["name","scrubForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(t,e,n){var a=!0;return"submit"===e&&(a=!1!==i["ɵnov"](t,13).onSubmit(n)&&a),"reset"===e&&(a=!1!==i["ɵnov"](t,13).onReset()&&a),"submit"===e&&(a=!1!==i["ɵnov"](t,16).onSubmit()&&a),a}),null,null)),i["ɵdid"](12,16384,null,0,W.G,[],null,null),i["ɵdid"](13,540672,[["formDir",4]],0,W.l,[[8,null],[8,null]],{form:[0,"form"]},null),i["ɵprd"](2048,null,W.d,null,[W.l]),i["ɵdid"](15,16384,null,0,W.s,[[4,W.d]],null,null),i["ɵdid"](16,16384,null,0,K.d,[],{formGroup:[0,"formGroup"]},null),(t()(),i["ɵeld"](17,0,null,null,11,"div",[["class","modal-body"]],null,null,null,null,null)),(t()(),i["ɵeld"](18,0,null,null,10,"p",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["You are about to apply a "])),(t()(),i["ɵeld"](20,0,null,null,3,null,null,null,null,null,null,null)),i["ɵdid"](21,16384,null,0,o.NgSwitch,[],{ngSwitch:[0,"ngSwitch"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,yh)),i["ɵdid"](23,278528,null,0,o.NgSwitchCase,[i.ViewContainerRef,i.TemplateRef,o.NgSwitch],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),i["ɵted"](-1,null,["scrub to the OSD(s): "])),(t()(),i["ɵeld"](25,0,null,null,2,"strong",[],null,null,null,null,null)),(t()(),i["ɵted"](26,null,["",""])),i["ɵppd"](27,1),(t()(),i["ɵted"](-1,null,["."])),(t()(),i["ɵeld"](29,0,null,null,5,"div",[["class","modal-footer"]],null,null,null,null,null)),(t()(),i["ɵeld"](30,0,null,null,2,"cd-submit-button",[],null,[[null,"submitAction"]],(function(t,e,n){var a=!0;return"submitAction"===e&&(a=!1!==t.component.scrub()&&a),a}),ai.b,ai.a)),i["ɵdid"](31,114688,null,0,ri.a,[i.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(t()(),i["ɵted"](-1,0,["Submit"])),(t()(),i["ɵeld"](33,0,null,null,1,"cd-back-button",[["name","Cancel"]],null,null,null,oi.b,oi.a)),i["ɵdid"](34,49152,null,0,ii.a,[o.Location,Ot.b],{name:[0,"name"],back:[1,"back"]},null)],(function(t,e){var n=e.component;t(e,2,0,n.bsModalRef),t(e,6,0,n.deep),t(e,8,0,"1"),t(e,13,0,n.scrubForm),t(e,16,0,n.scrubForm),t(e,21,0,n.deep),t(e,23,0,"1"),t(e,31,0,n.scrubForm),t(e,34,0,"Cancel",n.bsModalRef.hide)}),(function(t,e){var n=e.component;t(e,11,0,i["ɵnov"](e,15).ngClassUntouched,i["ɵnov"](e,15).ngClassTouched,i["ɵnov"](e,15).ngClassPristine,i["ɵnov"](e,15).ngClassDirty,i["ɵnov"](e,15).ngClassValid,i["ɵnov"](e,15).ngClassInvalid,i["ɵnov"](e,15).ngClassPending);var a=i["ɵunv"](e,26,0,t(e,27,0,i["ɵnov"](e,0),n.selected));t(e,26,0,a)}))}function vh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-osd-scrub-modal",[],null,null,null,Oh,bh)),i["ɵdid"](1,114688,null,0,ys,[Pt.a,Jr,ut.a,ra.a,Fi.a],null,null)],(function(t,e){t(e,1,0)}),null)}var Ch=i["ɵccf"]("cd-osd-scrub-modal",ys,vh,{},{},[]),Ph=i["ɵcrt"]({encapsulation:0,styles:[[".osd-modal[_ngcontent-%COMP%]   .oa-hr-small[_ngcontent-%COMP%]{margin:5px}"]],data:{}});function Mh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,0,"hr",[["class","oa-hr-small"]],null,null,null,null,null))],null,null)}function xh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,10,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,1,"input",[["class","custom-control-input"],["type","checkbox"]],[[8,"checked",0],[8,"name",0],[8,"id",0],[8,"disabled",0],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"]],(function(t,e,n){var a=!0;return"change"===e&&(a=0!=(t.context.$implicit.value=!t.context.$implicit.value)&&a),a}),null,null)),i["ɵdid"](2,16384,null,0,K.h,[[3,W.d],K.a],null,null),(t()(),i["ɵeld"](3,0,null,null,5,"label",[["class","custom-control-label"],["ng-class","['tc_' + key]"]],[[8,"htmlFor",0]],null,null,null,null)),(t()(),i["ɵeld"](4,0,null,null,1,"strong",[],null,null,null,null,null)),(t()(),i["ɵted"](5,null,["",""])),(t()(),i["ɵeld"](6,0,null,null,0,"br",[],null,null,null,null,null)),(t()(),i["ɵeld"](7,0,null,null,1,"span",[["class","form-text text-muted"]],null,null,null,null,null)),(t()(),i["ɵted"](8,null,["",""])),(t()(),i["ɵand"](16777216,null,null,1,null,Mh)),i["ɵdid"](10,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){t(e,10,0,!e.context.last)}),(function(t,e){t(e,1,0,e.context.$implicit.value,e.context.$implicit.code,e.context.$implicit.code,e.context.$implicit.disabled,i["ɵnov"](e,2).validClass,i["ɵnov"](e,2).invalidClass),t(e,3,0,e.context.$implicit.code),t(e,5,0,e.context.$implicit.name),t(e,8,0,e.context.$implicit.description)}))}function wh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-submit-button",[],null,[[null,"submitAction"]],(function(t,e,n){var a=!0;return"submitAction"===e&&(a=!1!==t.component.submitAction()&&a),a}),ai.b,ai.a)),i["ɵdid"](1,114688,null,0,ri.a,[i.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(t()(),i["ɵted"](-1,0,["Submit"]))],(function(t,e){t(e,1,0,e.component.osdFlagsForm)}),null)}function Th(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,19,"cd-modal",[],null,null,null,Hm.c,Hm.b)),i["ɵdid"](1,49152,null,0,hh.a,[],{modalRef:[0,"modalRef"]},null),(t()(),i["ɵeld"](2,0,null,0,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Cluster-wide OSD Flags"])),(t()(),i["ɵeld"](4,0,null,1,15,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](5,0,null,null,14,"form",[["name","osdFlagsForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(t,e,n){var a=!0;return"submit"===e&&(a=!1!==i["ɵnov"](t,7).onSubmit(n)&&a),"reset"===e&&(a=!1!==i["ɵnov"](t,7).onReset()&&a),"submit"===e&&(a=!1!==i["ɵnov"](t,10).onSubmit()&&a),a}),null,null)),i["ɵdid"](6,16384,null,0,W.G,[],null,null),i["ɵdid"](7,540672,[["formDir",4]],0,W.l,[[8,null],[8,null]],{form:[0,"form"]},null),i["ɵprd"](2048,null,W.d,null,[W.l]),i["ɵdid"](9,16384,null,0,W.s,[[4,W.d]],null,null),i["ɵdid"](10,16384,null,0,K.d,[],{formGroup:[0,"formGroup"]},null),(t()(),i["ɵeld"](11,0,null,null,2,"div",[["class","modal-body osd-modal"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,xh)),i["ɵdid"](13,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵeld"](14,0,null,null,5,"div",[["class","modal-footer"]],null,null,null,null,null)),(t()(),i["ɵeld"](15,0,null,null,4,"div",[["class","button-group text-right"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,wh)),i["ɵdid"](17,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](18,0,null,null,1,"cd-back-button",[["name","Cancel"]],null,null,null,oi.b,oi.a)),i["ɵdid"](19,49152,null,0,ii.a,[o.Location,Ot.b],{name:[0,"name"],back:[1,"back"]},null)],(function(t,e){var n=e.component;t(e,1,0,n.bsModalRef),t(e,7,0,n.osdFlagsForm),t(e,10,0,n.osdFlagsForm),t(e,13,0,n.flags),t(e,17,0,n.permissions.osd.update),t(e,19,0,"Cancel",n.bsModalRef.hide)}),(function(t,e){t(e,5,0,i["ɵnov"](e,9).ngClassUntouched,i["ɵnov"](e,9).ngClassTouched,i["ɵnov"](e,9).ngClassPristine,i["ɵnov"](e,9).ngClassDirty,i["ɵnov"](e,9).ngClassValid,i["ɵnov"](e,9).ngClassInvalid,i["ɵnov"](e,9).ngClassPending)}))}function kh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-osd-flags-modal",[],null,null,null,Th,Ph)),i["ɵdid"](1,114688,null,0,ds,[Pt.a,bt.a,Jr,ut.a,ra.a],null,null)],(function(t,e){t(e,1,0)}),null)}var Sh=i["ɵccf"]("cd-osd-flags-modal",ds,kh,{},{},[]),Ih=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Nh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](3,null,[" "," "]))],(function(t,e){t(e,1,0,e.context.$implicit.name),t(e,2,0,e.context.$implicit.name)}),(function(t,e){t(e,3,0,e.context.$implicit.text)}))}function Rh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["This field is required."]))],null,null)}function Ah(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-helper",[],null,null,null,As.b,As.a)),i["ɵdid"](1,49152,null,0,Es.a,[],null,null),(t()(),i["ɵted"](2,0,["",""]))],null,(function(t,e){t(e,2,0,e.parent.context.$implicit.value.desc)}))}function Eh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["This field is required!"]))],null,null)}function Dh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](1,null,["",""]))],null,(function(t,e){t(e,1,0,e.parent.context.$implicit.value.patternHelpText)}))}function Lh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](1,null,["The entered value is too high! It must not be greater than ","."]))],null,(function(t,e){t(e,1,0,e.parent.context.$implicit.value.maxValue)}))}function qh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](1,null,["The entered value is too low! It must not be lower than ","."]))],null,(function(t,e){t(e,1,0,e.parent.context.$implicit.value.minValue)}))}function jh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,28,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](1,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,5,{FormControlNames:1}),i["ɵqud"](603979776,6,{messagesBlock:0}),(t()(),i["ɵeld"](4,0,null,0,7,"label",[["class","col-form-label col-sm-6"]],[[8,"htmlFor",0]],null,null,null,null)),(t()(),i["ɵeld"](5,0,null,null,4,"span",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](7,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpod"](8,{required:0}),(t()(),i["ɵted"](9,null,[" "," "])),(t()(),i["ɵand"](16777216,null,null,1,null,Ah)),i["ɵdid"](11,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](12,0,null,0,16,"div",[["class","col-sm-6"]],null,null,null,null,null)),(t()(),i["ɵeld"](13,0,null,null,7,"input",[["class","form-control"],["type","number"]],[[8,"id",0],[8,"readOnly",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,14)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,14).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,14)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,14)._compositionEnd(n.target.value)&&a),"change"===e&&(a=!1!==i["ɵnov"](t,15).onChange(n.target.value)&&a),"input"===e&&(a=!1!==i["ɵnov"](t,15).onChange(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,15).onTouched()&&a),a}),null,null)),i["ɵdid"](14,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵdid"](15,16384,null,0,W.w,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t,e){return[t,e]}),[W.e,W.w]),i["ɵdid"](17,671744,[[5,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](19,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](20,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Eh)),i["ɵdid"](22,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Dh)),i["ɵdid"](24,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Lh)),i["ɵdid"](26,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,qh)),i["ɵdid"](28,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0);var a=t(e,8,0,n.osdRecvSpeedForm.getValue("customizePriority"));t(e,7,0,a),t(e,11,0,e.context.$implicit.value.desc),t(e,17,0,e.context.$implicit.key),t(e,20,0,e.context.$implicit.key),t(e,22,0,n.osdRecvSpeedForm.getValue("customizePriority")&&n.osdRecvSpeedForm.showError(e.context.$implicit.key,i["ɵnov"](e.parent,7),"required")),t(e,24,0,n.osdRecvSpeedForm.getValue("customizePriority")&&n.osdRecvSpeedForm.showError(e.context.$implicit.key,i["ɵnov"](e.parent,7),"pattern")),t(e,26,0,n.osdRecvSpeedForm.getValue("customizePriority")&&n.osdRecvSpeedForm.showError(e.context.$implicit.key,i["ɵnov"](e.parent,7),"max")),t(e,28,0,n.osdRecvSpeedForm.getValue("customizePriority")&&n.osdRecvSpeedForm.showError(e.context.$implicit.key,i["ɵnov"](e.parent,7),"min"))}),(function(t,e){var n=e.component;t(e,0,0,i["ɵnov"](e,1).hasErrors,i["ɵnov"](e,1).hasSuccess),t(e,4,0,e.context.$implicit.key),t(e,9,0,e.context.$implicit.value.text),t(e,13,1,[e.context.$implicit.key,!n.osdRecvSpeedForm.getValue("customizePriority"),i["ɵnov"](e,19).ngClassUntouched,i["ɵnov"](e,19).ngClassTouched,i["ɵnov"](e,19).ngClassPristine,i["ɵnov"](e,19).ngClassDirty,i["ɵnov"](e,19).ngClassValid,i["ɵnov"](e,19).ngClassInvalid,i["ɵnov"](e,19).ngClassPending,i["ɵnov"](e,20).validClass,i["ɵnov"](e,20).invalidClass])}))}function Fh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-submit-button",[],null,[[null,"submitAction"]],(function(t,e,n){var a=!0;return"submitAction"===e&&(a=!1!==t.component.submitAction()&&a),a}),ai.b,ai.a)),i["ɵdid"](1,114688,null,0,ri.a,[i.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(t()(),i["ɵted"](-1,0,["Submit"]))],(function(t,e){t(e,1,0,e.component.osdRecvSpeedForm)}),null)}function zh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,53,"cd-modal",[],null,null,null,Hm.c,Hm.b)),i["ɵdid"](1,49152,null,0,hh.a,[],{modalRef:[0,"modalRef"]},null),(t()(),i["ɵeld"](2,0,null,0,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["OSD Recovery Priority"])),(t()(),i["ɵeld"](4,0,null,1,49,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](5,0,null,null,48,"form",[["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(t,e,n){var a=!0;return"submit"===e&&(a=!1!==i["ɵnov"](t,7).onSubmit(n)&&a),"reset"===e&&(a=!1!==i["ɵnov"](t,7).onReset()&&a),"submit"===e&&(a=!1!==i["ɵnov"](t,10).onSubmit()&&a),a}),null,null)),i["ɵdid"](6,16384,null,0,W.G,[],null,null),i["ɵdid"](7,540672,[["formDir",4]],0,W.l,[[8,null],[8,null]],{form:[0,"form"]},null),i["ɵprd"](2048,null,W.d,null,[W.l]),i["ɵdid"](9,16384,null,0,W.s,[[4,W.d]],null,null),i["ɵdid"](10,16384,null,0,K.d,[],{formGroup:[0,"formGroup"]},null),(t()(),i["ɵeld"](11,0,null,null,36,"div",[["class","modal-body"]],null,null,null,null,null)),(t()(),i["ɵeld"](12,0,null,null,17,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](13,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,1,{FormControlNames:1}),i["ɵqud"](603979776,2,{messagesBlock:0}),(t()(),i["ɵeld"](16,0,null,0,1,"label",[["class","col-form-label col-sm-6 required"],["for","priority"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Priority"])),(t()(),i["ɵeld"](18,0,null,0,11,"div",[["class","col-sm-6"]],null,null,null,null,null)),(t()(),i["ɵeld"](19,0,null,null,8,"select",[["class","form-control custom-select"],["formControlName","priority"],["id","priority"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(t,e,n){var a=!0,r=t.component;return"change"===e&&(a=!1!==i["ɵnov"](t,20).onChange(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,20).onTouched()&&a),"change"===e&&(a=!1!==r.onPriorityChange(n.target.value)&&a),a}),null,null)),i["ɵdid"](20,16384,null,0,W.A,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.A]),i["ɵdid"](22,671744,[[1,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](24,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](25,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Nh)),i["ɵdid"](27,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Rh)),i["ɵdid"](29,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](30,0,null,null,14,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](31,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,3,{FormControlNames:1}),i["ɵqud"](603979776,4,{messagesBlock:0}),(t()(),i["ɵeld"](34,0,null,0,10,"div",[["class","offset-sm-6 col-sm-6"]],null,null,null,null,null)),(t()(),i["ɵeld"](35,0,null,null,9,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(t()(),i["ɵeld"](36,0,null,null,6,"input",[["class","custom-control-input"],["formControlName","customizePriority"],["id","customizePriority"],["name","customizePriority"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(t,e,n){var a=!0,r=t.component;return"change"===e&&(a=!1!==i["ɵnov"](t,37).onChange(n.target.checked)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,37).onTouched()&&a),"change"===e&&(a=!1!==r.onCustomizePriorityChange()&&a),a}),null,null)),i["ɵdid"](37,16384,null,0,W.c,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.c]),i["ɵdid"](39,671744,[[3,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](41,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](42,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵeld"](43,0,null,null,1,"label",[["class","custom-control-label"],["for","customizePriority"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Customize priority values"])),(t()(),i["ɵand"](16777216,null,null,2,null,jh)),i["ɵdid"](46,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),i["ɵpid"](0,o.KeyValuePipe,[i.KeyValueDiffers]),(t()(),i["ɵeld"](48,0,null,null,5,"div",[["class","modal-footer"]],null,null,null,null,null)),(t()(),i["ɵeld"](49,0,null,null,4,"div",[["class","button-group text-right"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Fh)),i["ɵdid"](51,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](52,0,null,null,1,"cd-back-button",[["name","Cancel"]],null,null,null,oi.b,oi.a)),i["ɵdid"](53,49152,null,0,ii.a,[o.Location,Ot.b],{name:[0,"name"],back:[1,"back"]},null)],(function(t,e){var n=e.component;t(e,1,0,n.bsModalRef),t(e,7,0,n.osdRecvSpeedForm),t(e,10,0,n.osdRecvSpeedForm),t(e,13,0),t(e,22,0,"priority"),t(e,25,0,"priority"),t(e,27,0,n.priorities),t(e,29,0,n.osdRecvSpeedForm.showError("priority",i["ɵnov"](e,7),"required")),t(e,31,0),t(e,39,0,"customizePriority"),t(e,42,0,"customizePriority"),t(e,46,0,i["ɵunv"](e,46,0,i["ɵnov"](e,47).transform(n.priorityAttrs))),t(e,51,0,n.permissions.configOpt.update),t(e,53,0,"Cancel",n.bsModalRef.hide)}),(function(t,e){t(e,5,0,i["ɵnov"](e,9).ngClassUntouched,i["ɵnov"](e,9).ngClassTouched,i["ɵnov"](e,9).ngClassPristine,i["ɵnov"](e,9).ngClassDirty,i["ɵnov"](e,9).ngClassValid,i["ɵnov"](e,9).ngClassInvalid,i["ɵnov"](e,9).ngClassPending),t(e,12,0,i["ɵnov"](e,13).hasErrors,i["ɵnov"](e,13).hasSuccess),t(e,19,0,i["ɵnov"](e,24).ngClassUntouched,i["ɵnov"](e,24).ngClassTouched,i["ɵnov"](e,24).ngClassPristine,i["ɵnov"](e,24).ngClassDirty,i["ɵnov"](e,24).ngClassValid,i["ɵnov"](e,24).ngClassInvalid,i["ɵnov"](e,24).ngClassPending,i["ɵnov"](e,25).validClass,i["ɵnov"](e,25).invalidClass),t(e,30,0,i["ɵnov"](e,31).hasErrors,i["ɵnov"](e,31).hasSuccess),t(e,36,0,i["ɵnov"](e,41).ngClassUntouched,i["ɵnov"](e,41).ngClassTouched,i["ɵnov"](e,41).ngClassPristine,i["ɵnov"](e,41).ngClassDirty,i["ɵnov"](e,41).ngClassValid,i["ɵnov"](e,41).ngClassInvalid,i["ɵnov"](e,41).ngClassPending,i["ɵnov"](e,42).validClass,i["ɵnov"](e,42).invalidClass)}))}function Vh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-osd-recv-speed-modal",[],null,null,null,zh,Ih)),i["ɵdid"](1,114688,null,0,hs,[Pt.a,bt.a,us.a,ut.a,ra.a,Jr],null,null)],(function(t,e){t(e,1,0)}),null)}var Gh=i["ɵccf"]("cd-osd-recv-speed-modal",hs,Vh,{},{},[]),Yh=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Bh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["This field is required."]))],null,null)}function Hh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["The value needs to be between 0 and 1."]))],null,null)}function Uh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,4,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Bh)),i["ɵdid"](2,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Hh)),i["ɵdid"](4,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,2,0,null==n.weight.errors?null:n.weight.errors.required),t(e,4,0,(null==n.weight.errors?null:n.weight.errors.max)||(null==n.weight.errors?null:n.weight.errors.min))}),null)}function Wh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,31,"cd-modal",[],null,null,null,Hm.c,Hm.b)),i["ɵdid"](1,49152,null,0,hh.a,[],{modalRef:[0,"modalRef"]},null),(t()(),i["ɵeld"](2,0,null,0,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](3,null,["Reweight OSD: ",""])),(t()(),i["ɵeld"](4,0,null,1,27,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](5,0,null,null,26,"form",[["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(t,e,n){var a=!0;return"submit"===e&&(a=!1!==i["ɵnov"](t,7).onSubmit(n)&&a),"reset"===e&&(a=!1!==i["ɵnov"](t,7).onReset()&&a),"submit"===e&&(a=!1!==i["ɵnov"](t,10).onSubmit()&&a),a}),null,null)),i["ɵdid"](6,16384,null,0,W.G,[],null,null),i["ɵdid"](7,540672,null,0,W.l,[[8,null],[8,null]],{form:[0,"form"]},null),i["ɵprd"](2048,null,W.d,null,[W.l]),i["ɵdid"](9,16384,null,0,W.s,[[4,W.d]],null,null),i["ɵdid"](10,16384,null,0,K.d,[],{formGroup:[0,"formGroup"]},null),(t()(),i["ɵeld"](11,0,null,null,14,"div",[["class","modal-body"]],null,null,null,null,null)),(t()(),i["ɵeld"](12,0,null,null,13,"div",[["class","row"]],null,null,null,null,null)),(t()(),i["ɵeld"](13,0,null,null,1,"label",[["class","col-sm-2 col-form-label"],["for","weight"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Weight"])),(t()(),i["ɵeld"](15,0,null,null,10,"div",[["class","col-sm-10"]],null,null,null,null,null)),(t()(),i["ɵeld"](16,0,null,null,7,"input",[["class","form-control"],["formControlName","weight"],["id","weight"],["max","1"],["min","0"],["step","0.1"],["type","number"]],[[8,"value",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,17)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,17).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,17)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,17)._compositionEnd(n.target.value)&&a),"change"===e&&(a=!1!==i["ɵnov"](t,18).onChange(n.target.value)&&a),"input"===e&&(a=!1!==i["ɵnov"](t,18).onChange(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,18).onTouched()&&a),a}),null,null)),i["ɵdid"](17,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵdid"](18,16384,null,0,W.w,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t,e){return[t,e]}),[W.e,W.w]),i["ɵdid"](20,671744,null,0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](22,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](23,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Uh)),i["ɵdid"](25,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](26,0,null,null,5,"div",[["class","modal-footer"]],null,null,null,null,null)),(t()(),i["ɵeld"](27,0,null,null,2,"cd-submit-button",[],null,[[null,"submitAction"]],(function(t,e,n){var a=!0;return"submitAction"===e&&(a=!1!==t.component.reweight()&&a),a}),ai.b,ai.a)),i["ɵdid"](28,114688,null,0,ri.a,[i.ElementRef],{form:[0,"form"],disabled:[1,"disabled"]},{submitAction:"submitAction"}),(t()(),i["ɵted"](-1,0,["Reweight"])),(t()(),i["ɵeld"](30,0,null,null,1,"cd-back-button",[["name","Cancel"]],null,null,null,oi.b,oi.a)),i["ɵdid"](31,49152,null,0,ii.a,[o.Location,Ot.b],{name:[0,"name"],back:[1,"back"]},null)],(function(t,e){var n=e.component;t(e,1,0,n.bsModalRef),t(e,7,0,n.reweightForm),t(e,10,0,n.reweightForm),t(e,20,0,"weight"),t(e,23,0,"weight"),t(e,25,0,n.weight.errors),t(e,28,0,n.reweightForm,n.reweightForm.invalid),t(e,31,0,"Cancel",n.bsModalRef.hide)}),(function(t,e){var n=e.component;t(e,3,0,n.osdId),t(e,5,0,i["ɵnov"](e,9).ngClassUntouched,i["ɵnov"](e,9).ngClassTouched,i["ɵnov"](e,9).ngClassPristine,i["ɵnov"](e,9).ngClassDirty,i["ɵnov"](e,9).ngClassValid,i["ɵnov"](e,9).ngClassInvalid,i["ɵnov"](e,9).ngClassPending),t(e,16,0,n.currentWeight,i["ɵnov"](e,22).ngClassUntouched,i["ɵnov"](e,22).ngClassTouched,i["ɵnov"](e,22).ngClassPristine,i["ɵnov"](e,22).ngClassDirty,i["ɵnov"](e,22).ngClassValid,i["ɵnov"](e,22).ngClassInvalid,i["ɵnov"](e,22).ngClassPending,i["ɵnov"](e,23).validClass,i["ɵnov"](e,23).invalidClass)}))}function Kh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-osd-reweight-modal",[],null,null,null,Wh,Yh)),i["ɵdid"](1,114688,null,0,_s,[Pt.a,Jr,bs.a],null,null)],(function(t,e){t(e,1,0)}),null)}var $h=i["ɵccf"]("cd-osd-reweight-modal",_s,Kh,{},{},[]),Zh=i["ɵcrt"]({encapsulation:0,styles:[[".custom-checkbox[_ngcontent-%COMP%]   input[_ngcontent-%COMP%], .custom-checkbox[_ngcontent-%COMP%]   label[_ngcontent-%COMP%]{cursor:pointer}.col-form-label[_ngcontent-%COMP%]{text-align:left}"]],data:{}});function Jh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-helper",[],null,null,null,As.b,As.a)),i["ɵdid"](1,49152,null,0,Es.a,[],null,null),(t()(),i["ɵted"](2,0,[" ",""]))],null,(function(t,e){t(e,2,0,e.parent.parent.context.$implicit.long_desc)}))}function Xh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,21,"div",[["class","form-group row pt-2"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](1,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,1,{FormControlNames:1}),i["ɵqud"](603979776,2,{messagesBlock:0}),(t()(),i["ɵeld"](4,0,null,0,7,"label",[["class","col-form-label col-6"]],[[8,"htmlFor",0]],null,null,null,null)),(t()(),i["ɵeld"](5,0,null,null,1,"b",[],null,null,null,null,null)),(t()(),i["ɵted"](6,null,["",""])),(t()(),i["ɵeld"](7,0,null,null,0,"br",[],null,null,null,null,null)),(t()(),i["ɵeld"](8,0,null,null,3,"span",[["class","text-muted"]],null,null,null,null,null)),(t()(),i["ɵted"](9,null,[" "," "])),(t()(),i["ɵand"](16777216,null,null,1,null,Jh)),i["ɵdid"](11,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](12,0,null,0,9,"div",[["class","col-6"]],null,null,null,null,null)),(t()(),i["ɵeld"](13,0,null,null,8,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(t()(),i["ɵeld"](14,0,null,null,6,"input",[["class","custom-control-input"],["type","checkbox"]],[[8,"id",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(t,e,n){var a=!0;return"change"===e&&(a=!1!==i["ɵnov"](t,15).onChange(n.target.checked)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,15).onTouched()&&a),a}),null,null)),i["ɵdid"](15,16384,null,0,W.c,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.c]),i["ɵdid"](17,671744,[[1,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](19,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](20,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵeld"](21,0,null,null,0,"label",[["class","custom-control-label"]],[[8,"htmlFor",0]],null,null,null,null))],(function(t,e){t(e,1,0),t(e,11,0,e.parent.context.$implicit.long_desc),t(e,17,0,e.parent.context.$implicit.name),t(e,20,0,e.parent.context.$implicit.name)}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).hasErrors,i["ɵnov"](e,1).hasSuccess),t(e,4,0,e.parent.context.$implicit.name),t(e,6,0,e.parent.context.$implicit.text),t(e,9,0,e.parent.context.$implicit.desc),t(e,14,0,e.parent.context.$implicit.name,i["ɵnov"](e,19).ngClassUntouched,i["ɵnov"](e,19).ngClassTouched,i["ɵnov"](e,19).ngClassPristine,i["ɵnov"](e,19).ngClassDirty,i["ɵnov"](e,19).ngClassValid,i["ɵnov"](e,19).ngClassInvalid,i["ɵnov"](e,19).ngClassPending,i["ɵnov"](e,20).validClass,i["ɵnov"](e,20).invalidClass),t(e,21,0,e.parent.context.$implicit.name)}))}function Qh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-helper",[],null,null,null,As.b,As.a)),i["ɵdid"](1,49152,null,0,Es.a,[],null,null),(t()(),i["ɵted"](2,0,[" ",""]))],null,(function(t,e){t(e,2,0,e.parent.parent.context.$implicit.long_desc)}))}function tb(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,5,"div",[["class","input-group-append"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,4,"button",[["class","btn btn-light"],["data-toggle","button"],["title","Remove the custom configuration value. The default configuration will be inherited and used instead."],["type","button"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.resetValue(t.parent.parent.context.$implicit.name)&&a),a}),null,null)),(t()(),i["ɵeld"](2,0,null,null,3,"i",[["aria-hidden","true"]],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](4,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](5,1)],(function(t,e){var n=t(e,5,0,e.component.icons.erase);t(e,4,0,n)}),null)}function eb(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](1,null,[" ",""]))],null,(function(t,e){t(e,1,0,e.parent.parent.context.$implicit.additionalTypeInfo.patternHelpText)}))}function nb(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](1,null,[" ",""]))],null,(function(t,e){t(e,1,0,e.parent.parent.context.$implicit.additionalTypeInfo.patternHelpText)}))}function ab(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](1,null,["The entered value is too high! It must not be greater than ","."]))],null,(function(t,e){t(e,1,0,e.parent.parent.context.$implicit.maxValue)}))}function rb(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](1,null,["The entered value is too low! It must not be lower than ","."]))],null,(function(t,e){t(e,1,0,e.parent.parent.context.$implicit.minValue)}))}function ob(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,29,"div",[["class","form-group row pt-2"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](1,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,3,{FormControlNames:1}),i["ɵqud"](603979776,4,{messagesBlock:0}),(t()(),i["ɵeld"](4,0,null,0,6,"label",[["class","col-6 col-form-label"]],[[8,"htmlFor",0]],null,null,null,null)),(t()(),i["ɵted"](5,null,[""," "])),(t()(),i["ɵeld"](6,0,null,null,0,"br",[],null,null,null,null,null)),(t()(),i["ɵeld"](7,0,null,null,3,"span",[["class","text-muted"]],null,null,null,null,null)),(t()(),i["ɵted"](8,null,[" "," "])),(t()(),i["ɵand"](16777216,null,null,1,null,Qh)),i["ɵdid"](10,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](11,0,null,0,18,"div",[["class","col-6"]],null,null,null,null,null)),(t()(),i["ɵeld"](12,0,null,null,9,"div",[["class","input-group"]],null,null,null,null,null)),(t()(),i["ɵeld"](13,0,null,null,6,"input",[["class","form-control"]],[[8,"type",0],[8,"id",0],[8,"placeholder",0],[8,"step",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,14)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,14).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,14)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,14)._compositionEnd(n.target.value)&&a),a}),null,null)),i["ɵdid"](14,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](16,671744,[[3,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](18,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](19,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,tb)),i["ɵdid"](21,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,eb)),i["ɵdid"](23,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,nb)),i["ɵdid"](25,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,ab)),i["ɵdid"](27,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,rb)),i["ɵdid"](29,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0),t(e,10,0,e.parent.context.$implicit.long_desc),t(e,16,0,e.parent.context.$implicit.name),t(e,19,0,e.parent.context.$implicit.name),t(e,21,0,n.optionsFormShowReset),t(e,23,0,n.optionsForm.showError(e.parent.context.$implicit.name,n.optionsFormDir,"pattern")),t(e,25,0,n.optionsForm.showError(e.parent.context.$implicit.name,n.optionsFormDir,"invalidUuid")),t(e,27,0,n.optionsForm.showError(e.parent.context.$implicit.name,n.optionsFormDir,"max")),t(e,29,0,n.optionsForm.showError(e.parent.context.$implicit.name,n.optionsFormDir,"min"))}),(function(t,e){var n=e.component;t(e,0,0,i["ɵnov"](e,1).hasErrors,i["ɵnov"](e,1).hasSuccess),t(e,4,0,e.parent.context.$implicit.name),t(e,5,0,e.parent.context.$implicit.text),t(e,8,0,e.parent.context.$implicit.desc),t(e,13,1,[e.parent.context.$implicit.additionalTypeInfo.inputType,e.parent.context.$implicit.name,e.parent.context.$implicit.additionalTypeInfo.humanReadable,n.getStep(e.parent.context.$implicit.type,n.optionsForm.getValue(e.parent.context.$implicit.name)),i["ɵnov"](e,18).ngClassUntouched,i["ɵnov"](e,18).ngClassTouched,i["ɵnov"](e,18).ngClassPristine,i["ɵnov"](e,18).ngClassDirty,i["ɵnov"](e,18).ngClassValid,i["ɵnov"](e,18).ngClassInvalid,i["ɵnov"](e,18).ngClassPending,i["ɵnov"](e,19).validClass,i["ɵnov"](e,19).invalidClass])}))}function ib(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,0,"hr",[["class","my-2"]],null,null,null,null,null))],null,null)}function sb(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,"div",[],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Xh)),i["ɵdid"](2,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,ob)),i["ɵdid"](4,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,ib)),i["ɵdid"](6,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){t(e,2,0,"bool"===e.context.$implicit.type),t(e,4,0,"bool"!==e.context.$implicit.type),t(e,6,0,!e.context.last)}),null)}function cb(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,"div",[],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(t,e,n){var a=!0;return"submit"===e&&(a=!1!==i["ɵnov"](t,1).onSubmit(n)&&a),"reset"===e&&(a=!1!==i["ɵnov"](t,1).onReset()&&a),"submit"===e&&(a=!1!==i["ɵnov"](t,4).onSubmit()&&a),a}),null,null)),i["ɵdid"](1,540672,null,0,W.l,[[8,null],[8,null]],{form:[0,"form"]},null),i["ɵprd"](2048,null,W.d,null,[W.l]),i["ɵdid"](3,16384,null,0,W.s,[[4,W.d]],null,null),i["ɵdid"](4,16384,null,0,K.d,[],{formGroup:[0,"formGroup"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,sb)),i["ɵdid"](6,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){var n=e.component;t(e,1,0,n.optionsFormGroup),t(e,4,0,n.optionsFormGroup),t(e,6,0,n.options)}),(function(t,e){t(e,0,0,i["ɵnov"](e,3).ngClassUntouched,i["ɵnov"](e,3).ngClassTouched,i["ɵnov"](e,3).ngClassPristine,i["ɵnov"](e,3).ngClassDirty,i["ɵnov"](e,3).ngClassValid,i["ɵnov"](e,3).ngClassInvalid,i["ɵnov"](e,3).ngClassPending)}))}var lb=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function db(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"a",[["class","pull-right margin-right-md"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=0!=(t.component.advancedEnabled=!0)&&a),a}),null,null)),(t()(),i["ɵted"](-1,null,["Advanced..."]))],null,null)}function ub(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,4,"div",[],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,1,"h2",[["class","page-header"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Advanced configuration options"])),(t()(),i["ɵeld"](3,0,null,null,1,"cd-config-option",[],null,null,null,cb,Zh)),i["ɵdid"](4,114688,[[2,4],["advancedOptionsValues",4]],0,fs,[us.a],{optionNames:[0,"optionNames"],optionsForm:[1,"optionsForm"],optionsFormDir:[2,"optionsFormDir"],optionsFormGroupName:[3,"optionsFormGroupName"]},null)],(function(t,e){var n=e.component;t(e,4,0,n.advancedOptions,n.osdPgScrubForm,i["ɵnov"](e.parent,13),"advancedFormGroup")}),null)}function gb(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,4,"cd-submit-button",[],null,[[null,"submitAction"]],(function(t,e,n){var a=!0;return"submitAction"===e&&(a=!1!==t.component.submitAction()&&a),a}),ai.b,ai.a)),i["ɵdid"](1,114688,null,0,ri.a,[i.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(t()(),i["ɵted"](2,0,[""," ",""])),i["ɵppd"](3,1),i["ɵppd"](4,1)],(function(t,e){t(e,1,0,e.component.osdPgScrubForm)}),(function(t,e){var n=e.component,a=i["ɵunv"](e,2,0,t(e,3,0,i["ɵnov"](e.parent,0),n.action)),r=i["ɵunv"](e,2,1,t(e,4,0,i["ɵnov"](e.parent,1),n.resource));t(e,2,0,a,r)}))}function fb(t){return i["ɵvid"](0,[i["ɵpid"](0,o.TitleCasePipe,[]),i["ɵpid"](0,si.a,[]),i["ɵqud"](402653184,1,{basicOptionsValues:0}),i["ɵqud"](671088640,2,{advancedOptionsValues:0}),(t()(),i["ɵeld"](4,0,null,null,27,"cd-modal",[],null,null,null,Hm.c,Hm.b)),i["ɵdid"](5,49152,null,0,hh.a,[],{modalRef:[0,"modalRef"]},null),(t()(),i["ɵeld"](6,0,null,0,3,null,null,null,null,null,null,null)),(t()(),i["ɵted"](7,null,[""," ",""])),i["ɵppd"](8,1),i["ɵppd"](9,1),(t()(),i["ɵeld"](10,0,null,1,21,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](11,0,null,null,20,"form",[["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(t,e,n){var a=!0;return"submit"===e&&(a=!1!==i["ɵnov"](t,13).onSubmit(n)&&a),"reset"===e&&(a=!1!==i["ɵnov"](t,13).onReset()&&a),"submit"===e&&(a=!1!==i["ɵnov"](t,16).onSubmit()&&a),a}),null,null)),i["ɵdid"](12,16384,null,0,W.G,[],null,null),i["ɵdid"](13,540672,[["formDir",4]],0,W.l,[[8,null],[8,null]],{form:[0,"form"]},null),i["ɵprd"](2048,null,W.d,null,[W.l]),i["ɵdid"](15,16384,null,0,W.s,[[4,W.d]],null,null),i["ɵdid"](16,16384,null,0,K.d,[],{formGroup:[0,"formGroup"]},null),(t()(),i["ɵeld"](17,0,null,null,8,"div",[["class","modal-body osd-modal"]],null,null,null,null,null)),(t()(),i["ɵeld"](18,0,null,null,1,"cd-config-option",[],null,null,null,cb,Zh)),i["ɵdid"](19,114688,[[1,4],["basicOptionsValues",4]],0,fs,[us.a],{optionNames:[0,"optionNames"],optionsForm:[1,"optionsForm"],optionsFormDir:[2,"optionsFormDir"],optionsFormGroupName:[3,"optionsFormGroupName"]},null),(t()(),i["ɵeld"](20,0,null,null,3,"div",[["class","row"]],null,null,null,null,null)),(t()(),i["ɵeld"](21,0,null,null,2,"div",[["class","col-sm-12"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,db)),i["ɵdid"](23,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,ub)),i["ɵdid"](25,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](26,0,null,null,5,"div",[["class","modal-footer"]],null,null,null,null,null)),(t()(),i["ɵeld"](27,0,null,null,4,"div",[["class","button-group text-right"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,gb)),i["ɵdid"](29,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](30,0,null,null,1,"cd-back-button",[],null,null,null,oi.b,oi.a)),i["ɵdid"](31,49152,null,0,ii.a,[o.Location,Ot.b],{back:[0,"back"]},null)],(function(t,e){var n=e.component;t(e,5,0,n.bsModalRef),t(e,13,0,n.osdPgScrubForm),t(e,16,0,n.osdPgScrubForm),t(e,19,0,n.basicOptions,n.osdPgScrubForm,i["ɵnov"](e,13),"basicFormGroup"),t(e,23,0,!n.advancedEnabled),t(e,25,0,n.advancedEnabled),t(e,29,0,n.permissions.configOpt.update),t(e,31,0,n.bsModalRef.hide)}),(function(t,e){var n=e.component,a=i["ɵunv"](e,7,0,t(e,8,0,i["ɵnov"](e,0),n.action)),r=i["ɵunv"](e,7,1,t(e,9,0,i["ɵnov"](e,1),n.resource));t(e,7,0,a,r),t(e,11,0,i["ɵnov"](e,15).ngClassUntouched,i["ɵnov"](e,15).ngClassTouched,i["ɵnov"](e,15).ngClassPristine,i["ɵnov"](e,15).ngClassDirty,i["ɵnov"](e,15).ngClassValid,i["ɵnov"](e,15).ngClassInvalid,i["ɵnov"](e,15).ngClassPending)}))}function pb(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-osd-pg-scrub-modal",[],null,null,null,fb,lb)),i["ɵdid"](1,49152,null,0,ms,[Pt.a,bt.a,ut.a,ra.a,Ot.b],null,null)],null,null)}var mb=i["ɵccf"]("cd-osd-pg-scrub-modal",ms,pb,{},{},[]),hb=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function bb(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](3,null,[" "," "]))],(function(t,e){t(e,1,0,e.context.$implicit),t(e,2,0,e.context.$implicit)}),(function(t,e){t(e,3,0,e.context.$implicit)}))}function _b(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","help-block"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["This field is required!"]))],null,null)}function yb(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","help-block"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["This field is required!"]))],null,null)}function Ob(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"div",[["id","match-state"]],[[8,"className",0]],null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,1,"span",[],[[8,"className",0]],null,null,null,null)),(t()(),i["ɵted"](2,null,[" "," "]))],null,(function(t,e){var n=e.component;t(e,0,0,i["ɵinlineInterpolate"](1,"cd-col-form-offset ",n.matcherMatch.cssClass,"")),t(e,1,0,i["ɵinlineInterpolate"](1,"text-muted ",n.matcherMatch.cssClass,"")),t(e,2,0,n.matcherMatch.status)}))}function vb(t){return i["ɵvid"](0,[(t()(),i["ɵted"](-1,null,["Update"]))],null,null)}function Cb(t){return i["ɵvid"](0,[(t()(),i["ɵted"](-1,null,["Add"]))],null,null)}function Pb(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,79,"cd-modal",[],null,null,null,Hm.c,Hm.b)),i["ɵdid"](1,49152,null,0,hh.a,[],{modalRef:[0,"modalRef"]},null),(t()(),i["ɵeld"](2,0,null,0,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Matcher"])),(t()(),i["ɵeld"](4,0,null,1,75,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](5,0,null,null,74,"form",[["class","form"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(t,e,n){var a=!0;return"submit"===e&&(a=!1!==i["ɵnov"](t,7).onSubmit(n)&&a),"reset"===e&&(a=!1!==i["ɵnov"](t,7).onReset()&&a),"submit"===e&&(a=!1!==i["ɵnov"](t,10).onSubmit()&&a),a}),null,null)),i["ɵdid"](6,16384,null,0,W.G,[],null,null),i["ɵdid"](7,540672,[["formDir",4]],0,W.l,[[8,null],[8,null]],{form:[0,"form"]},null),i["ɵprd"](2048,null,W.d,null,[W.l]),i["ɵdid"](9,16384,null,0,W.s,[[4,W.d]],null,null),i["ɵdid"](10,16384,null,0,K.d,[],{formGroup:[0,"formGroup"]},null),(t()(),i["ɵeld"](11,0,null,null,56,"div",[["class","modal-body"]],null,null,null,null,null)),(t()(),i["ɵeld"](12,0,null,null,21,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](13,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,1,{FormControlNames:1}),i["ɵqud"](603979776,2,{messagesBlock:0}),(t()(),i["ɵeld"](16,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","name"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Name"])),(t()(),i["ɵeld"](18,0,null,0,15,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](19,0,null,null,12,"select",[["class","form-control"],["formControlName","name"],["id","name"],["name","name"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(t,e,n){var a=!0;return"change"===e&&(a=!1!==i["ɵnov"](t,20).onChange(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,20).onTouched()&&a),a}),null,null)),i["ɵdid"](20,16384,null,0,W.A,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.A]),i["ɵdid"](22,671744,[[1,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](24,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](25,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵeld"](26,0,null,null,3,"option",[],null,null,null,null,null)),i["ɵdid"](27,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{ngValue:[0,"ngValue"]},null),i["ɵdid"](28,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(t()(),i["ɵted"](-1,null,["-- Select an attribute to match against --"])),(t()(),i["ɵand"](16777216,null,null,1,null,bb)),i["ɵdid"](31,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,_b)),i["ɵdid"](33,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](34,0,null,null,18,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](35,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,3,{FormControlNames:1}),i["ɵqud"](603979776,4,{messagesBlock:0}),(t()(),i["ɵeld"](38,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","value"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Value"])),(t()(),i["ɵeld"](40,0,null,0,10,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](41,16777216,null,null,7,"input",[["class","form-control"],["formControlName","value"],["id","value"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"keyup"],[null,"click"],[null,"focus"],[null,"keydown"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,42)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,42).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,42)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,42)._compositionEnd(n.target.value)&&a),"input"===e&&(a=!1!==i["ɵnov"](t,47).onInput(n)&&a),"keyup"===e&&(a=!1!==i["ɵnov"](t,47).onChange(n)&&a),"click"===e&&(a=!1!==i["ɵnov"](t,47).onFocus()&&a),"focus"===e&&(a=!1!==i["ɵnov"](t,47).onFocus()&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,47).onBlur()&&a),"keydown"===e&&(a=!1!==i["ɵnov"](t,47).onKeydown(n)&&a),a}),null,null)),i["ɵdid"](42,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](44,671744,[[3,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](46,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](47,212992,null,0,vf,[U.a,Of,i.ChangeDetectorRef,i.ElementRef,W.q,i.Renderer2,i.ViewContainerRef],{typeahead:[0,"typeahead"],typeaheadMinLength:[1,"typeaheadMinLength"]},null),i["ɵdid"](48,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,yb)),i["ɵdid"](50,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,Ob)),i["ɵdid"](52,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](53,0,null,null,14,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ei.b,ei.a)),i["ɵdid"](54,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,5,{FormControlNames:1}),i["ɵqud"](603979776,6,{messagesBlock:0}),(t()(),i["ɵeld"](57,0,null,0,10,"div",[["class","cd-col-form-offset"]],null,null,null,null,null)),(t()(),i["ɵeld"](58,0,null,null,9,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(t()(),i["ɵeld"](59,0,null,null,6,"input",[["class","custom-control-input"],["formControlName","isRegex"],["id","is-regex"],["name","is-regex"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(t,e,n){var a=!0;return"change"===e&&(a=!1!==i["ɵnov"](t,60).onChange(n.target.checked)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,60).onTouched()&&a),a}),null,null)),i["ɵdid"](60,16384,null,0,W.c,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.c]),i["ɵdid"](62,671744,[[5,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](64,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](65,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵeld"](66,0,null,null,1,"label",[["class","custom-control-label"],["for","is-regex"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Use regular expression"])),(t()(),i["ɵeld"](68,0,null,null,11,"div",[["class","modal-footer"]],null,null,null,null,null)),(t()(),i["ɵeld"](69,0,null,null,8,"cd-submit-button",[],null,[[null,"submitAction"]],(function(t,e,n){var a=!0;return"submitAction"===e&&(a=!1!==t.component.onSubmit()&&a),a}),ai.b,ai.a)),i["ɵdid"](70,114688,null,0,ri.a,[i.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(t()(),i["ɵeld"](71,0,null,0,6,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](72,0,null,null,5,null,null,null,null,null,null,null)),i["ɵdid"](73,16384,null,0,o.NgSwitch,[],{ngSwitch:[0,"ngSwitch"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,vb)),i["ɵdid"](75,278528,null,0,o.NgSwitchCase,[i.ViewContainerRef,i.TemplateRef,o.NgSwitch],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Cb)),i["ɵdid"](77,16384,null,0,o.NgSwitchDefault,[i.ViewContainerRef,i.TemplateRef,o.NgSwitch],null,null),(t()(),i["ɵeld"](78,0,null,null,1,"cd-back-button",[["name","Close"]],null,null,null,oi.b,oi.a)),i["ɵdid"](79,49152,null,0,ii.a,[o.Location,Ot.b],{name:[0,"name"],back:[1,"back"]},null)],(function(t,e){var n=e.component;t(e,1,0,n.bsModalRef),t(e,7,0,n.form),t(e,10,0,n.form),t(e,13,0),t(e,22,0,"name"),t(e,25,0,"name"),t(e,27,0,null),t(e,28,0,null),t(e,31,0,n.nameAttributes),t(e,33,0,n.form.showError("name",i["ɵnov"](e,7),"required")),t(e,35,0),t(e,44,0,"value"),t(e,47,0,n.possibleValues,0),t(e,48,0,"value"),t(e,50,0,n.form.showError("value",i["ɵnov"](e,7),"required")),t(e,52,0,n.form.getValue("value")&&!n.form.getValue("isRegex")&&n.matcherMatch),t(e,54,0),t(e,62,0,"isRegex"),t(e,65,0,"isRegex"),t(e,70,0,n.form),t(e,73,0,n.editMode),t(e,75,0,"1"),t(e,79,0,"Close",n.bsModalRef.hide)}),(function(t,e){t(e,5,0,i["ɵnov"](e,9).ngClassUntouched,i["ɵnov"](e,9).ngClassTouched,i["ɵnov"](e,9).ngClassPristine,i["ɵnov"](e,9).ngClassDirty,i["ɵnov"](e,9).ngClassValid,i["ɵnov"](e,9).ngClassInvalid,i["ɵnov"](e,9).ngClassPending),t(e,12,0,i["ɵnov"](e,13).hasErrors,i["ɵnov"](e,13).hasSuccess),t(e,19,0,i["ɵnov"](e,24).ngClassUntouched,i["ɵnov"](e,24).ngClassTouched,i["ɵnov"](e,24).ngClassPristine,i["ɵnov"](e,24).ngClassDirty,i["ɵnov"](e,24).ngClassValid,i["ɵnov"](e,24).ngClassInvalid,i["ɵnov"](e,24).ngClassPending,i["ɵnov"](e,25).validClass,i["ɵnov"](e,25).invalidClass),t(e,34,0,i["ɵnov"](e,35).hasErrors,i["ɵnov"](e,35).hasSuccess),t(e,41,0,i["ɵnov"](e,46).ngClassUntouched,i["ɵnov"](e,46).ngClassTouched,i["ɵnov"](e,46).ngClassPristine,i["ɵnov"](e,46).ngClassDirty,i["ɵnov"](e,46).ngClassValid,i["ɵnov"](e,46).ngClassInvalid,i["ɵnov"](e,46).ngClassPending,i["ɵnov"](e,48).validClass,i["ɵnov"](e,48).invalidClass),t(e,53,0,i["ɵnov"](e,54).hasErrors,i["ɵnov"](e,54).hasSuccess),t(e,59,0,i["ɵnov"](e,64).ngClassUntouched,i["ɵnov"](e,64).ngClassTouched,i["ɵnov"](e,64).ngClassPristine,i["ɵnov"](e,64).ngClassDirty,i["ɵnov"](e,64).ngClassValid,i["ɵnov"](e,64).ngClassInvalid,i["ɵnov"](e,64).ngClassPending,i["ɵnov"](e,65).validClass,i["ɵnov"](e,65).invalidClass)}))}function Mb(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-silence-matcher-modal",[],null,null,null,Pb,hb)),i["ɵdid"](1,49152,null,0,jd,[bs.a,Ld,Pt.a],null,null)],null,null)}var xb=i["ɵccf"]("cd-silence-matcher-modal",jd,Mb,{},{submitAction:"submitAction"},[]),wb=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Tb(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","badge badge-dark ml-2"]],null,null,null,null,null)),(t()(),i["ɵted"](1,null,[" "," "]))],null,(function(t,e){t(e,1,0,e.context.$implicit)}))}function kb(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,5,"cd-alert-panel",[["size","slim"],["type","warning"]],null,null,null,Or.b,Or.a)),i["ɵdid"](1,114688,null,0,vr.a,[ra.a],{type:[0,"type"],size:[1,"size"],showTitle:[2,"showTitle"]},null),(t()(),i["ɵeld"](2,0,null,0,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["At least one of these filters must be applied in order to proceed:"])),(t()(),i["ɵand"](16777216,null,0,1,null,Tb)),i["ɵdid"](5,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){var n=e.component;t(e,1,0,"warning","slim",!1),t(e,5,0,n.requiredFilters)}),null)}function Sb(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,4,"div",[],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,3,"p",[["class","text-center"]],null,null,null,null,null)),(t()(),i["ɵeld"](2,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](3,null,["Number of devices: ",". Raw capacity: ","."])),i["ɵppd"](4,1)],null,(function(t,e){var n=e.component,a=n.filteredDevices.length,r=i["ɵunv"](e,3,1,t(e,4,0,i["ɵnov"](e.parent,0),n.capacity));t(e,3,0,a,r)}))}function Ib(t){return i["ɵvid"](0,[i["ɵpid"](0,Jn.a,[la.a]),i["ɵpid"](0,o.TitleCasePipe,[]),i["ɵqud"](671088640,1,{inventoryDevices:0}),(t()(),i["ɵeld"](3,0,null,null,25,"cd-modal",[],null,null,null,Hm.c,Hm.b)),i["ɵdid"](4,49152,null,0,hh.a,[],{modalRef:[0,"modalRef"]},null),(t()(),i["ɵeld"](5,0,null,0,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](6,null,[""," devices"])),(t()(),i["ɵeld"](7,0,null,1,21,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](8,0,null,null,20,"form",[["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(t,e,n){var a=!0;return"submit"===e&&(a=!1!==i["ɵnov"](t,10).onSubmit(n)&&a),"reset"===e&&(a=!1!==i["ɵnov"](t,10).onReset()&&a),"submit"===e&&(a=!1!==i["ɵnov"](t,13).onSubmit()&&a),a}),null,null)),i["ɵdid"](9,16384,null,0,W.G,[],null,null),i["ɵdid"](10,540672,[["frm",4]],0,W.l,[[8,null],[8,null]],{form:[0,"form"]},null),i["ɵprd"](2048,null,W.d,null,[W.l]),i["ɵdid"](12,16384,null,0,W.s,[[4,W.d]],null,null),i["ɵdid"](13,16384,null,0,K.d,[],{formGroup:[0,"formGroup"]},null),(t()(),i["ɵeld"](14,0,null,null,7,"div",[["class","modal-body"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,kb)),i["ɵdid"](16,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](17,0,null,null,2,"cd-inventory-devices",[],null,[[null,"filterChange"]],(function(t,e,n){var a=!0;return"filterChange"===e&&(a=!1!==t.component.onFilterChange(n)&&a),a}),Nr,Ir)),i["ɵdid"](18,245760,[[1,4],["inventoryDevices",4]],0,Sr,[bt.a,Jn.a,ra.a,Pt.b,ut.a,xr],{devices:[0,"devices"],hiddenColumns:[1,"hiddenColumns"],filterColumns:[2,"filterColumns"]},{filterChange:"filterChange"}),i["ɵpad"](19,2),(t()(),i["ɵand"](16777216,null,null,1,null,Sb)),i["ɵdid"](21,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](22,0,null,null,6,"div",[["class","modal-footer"]],null,null,null,null,null)),(t()(),i["ɵeld"](23,0,null,null,3,"cd-submit-button",[],null,[[null,"submitAction"]],(function(t,e,n){var a=!0;return"submitAction"===e&&(a=!1!==t.component.onSubmit()&&a),a}),ai.b,ai.a)),i["ɵdid"](24,114688,null,0,ri.a,[i.ElementRef],{form:[0,"form"],disabled:[1,"disabled"]},{submitAction:"submitAction"}),(t()(),i["ɵted"](25,0,["",""])),i["ɵppd"](26,1),(t()(),i["ɵeld"](27,0,null,null,1,"cd-back-button",[],null,null,null,oi.b,oi.a)),i["ɵdid"](28,49152,null,0,ii.a,[o.Location,Ot.b],{back:[0,"back"]},null)],(function(t,e){var n=e.component;t(e,4,0,n.bsModalRef),t(e,10,0,n.formGroup),t(e,13,0,n.formGroup),t(e,16,0,!n.canSubmit);var a=n.devices,r=t(e,19,0,"available","osd_ids");t(e,18,0,a,r,n.filterColumns),t(e,21,0,n.canSubmit),t(e,24,0,n.formGroup,!n.canSubmit||0===n.filteredDevices.length),t(e,28,0,n.bsModalRef.hide)}),(function(t,e){var n=e.component;t(e,6,0,n.deviceType),t(e,8,0,i["ɵnov"](e,12).ngClassUntouched,i["ɵnov"](e,12).ngClassTouched,i["ɵnov"](e,12).ngClassPristine,i["ɵnov"](e,12).ngClassDirty,i["ɵnov"](e,12).ngClassValid,i["ɵnov"](e,12).ngClassInvalid,i["ɵnov"](e,12).ngClassPending);var a=i["ɵunv"](e,25,0,t(e,26,0,i["ɵnov"](e,1),n.action));t(e,25,0,a)}))}function Nb(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-osd-devices-selection-modal",[],null,null,null,Ib,wb)),i["ɵdid"](1,4243456,null,0,Ds,[bs.a,Pt.a,Ot.b],null,null)],null,null)}var Rb=i["ɵccf"]("cd-osd-devices-selection-modal",Ds,Nb,{},{submitAction:"submitAction"},[]),Ab=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Eb(t){return i["ɵvid"](0,[i["ɵpid"](0,o.TitleCasePipe,[]),(t()(),i["ɵeld"](1,0,null,null,23,"cd-modal",[],null,null,null,Hm.c,Hm.b)),i["ɵdid"](2,49152,null,0,hh.a,[],{modalRef:[0,"modalRef"]},null),(t()(),i["ɵeld"](3,0,null,0,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["OSD creation preview"])),(t()(),i["ɵeld"](5,0,null,1,19,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](6,0,null,null,18,"form",[["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(t,e,n){var a=!0;return"submit"===e&&(a=!1!==i["ɵnov"](t,8).onSubmit(n)&&a),"reset"===e&&(a=!1!==i["ɵnov"](t,8).onReset()&&a),"submit"===e&&(a=!1!==i["ɵnov"](t,11).onSubmit()&&a),a}),null,null)),i["ɵdid"](7,16384,null,0,W.G,[],null,null),i["ɵdid"](8,540672,[["frm",4]],0,W.l,[[8,null],[8,null]],{form:[0,"form"]},null),i["ɵprd"](2048,null,W.d,null,[W.l]),i["ɵdid"](10,16384,null,0,W.s,[[4,W.d]],null,null),i["ɵdid"](11,16384,null,0,K.d,[],{formGroup:[0,"formGroup"]},null),(t()(),i["ɵeld"](12,0,null,null,5,"div",[["class","modal-body"]],null,null,null,null,null)),(t()(),i["ɵeld"](13,0,null,null,1,"h3",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["DriveGroups"])),(t()(),i["ɵeld"](15,0,null,null,2,"pre",[],null,null,null,null,null)),(t()(),i["ɵted"](16,null,["",""])),i["ɵpid"](0,o.JsonPipe,[]),(t()(),i["ɵeld"](18,0,null,null,6,"div",[["class","modal-footer"]],null,null,null,null,null)),(t()(),i["ɵeld"](19,0,null,null,3,"cd-submit-button",[],null,[[null,"submitAction"]],(function(t,e,n){var a=!0;return"submitAction"===e&&(a=!1!==t.component.onSubmit()&&a),a}),ai.b,ai.a)),i["ɵdid"](20,114688,null,0,ri.a,[i.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(t()(),i["ɵted"](21,0,["",""])),i["ɵppd"](22,1),(t()(),i["ɵeld"](23,0,null,null,1,"cd-back-button",[],null,null,null,oi.b,oi.a)),i["ɵdid"](24,49152,null,0,ii.a,[o.Location,Ot.b],{back:[0,"back"]},null)],(function(t,e){var n=e.component;t(e,2,0,n.bsModalRef),t(e,8,0,n.formGroup),t(e,11,0,n.formGroup),t(e,20,0,n.formGroup),t(e,24,0,n.bsModalRef.hide)}),(function(t,e){var n=e.component;t(e,6,0,i["ɵnov"](e,10).ngClassUntouched,i["ɵnov"](e,10).ngClassTouched,i["ɵnov"](e,10).ngClassPristine,i["ɵnov"](e,10).ngClassDirty,i["ɵnov"](e,10).ngClassValid,i["ɵnov"](e,10).ngClassInvalid,i["ɵnov"](e,10).ngClassPending),t(e,16,0,i["ɵunv"](e,16,0,i["ɵnov"](e,17).transform(n.driveGroups)));var a=i["ɵunv"](e,21,0,t(e,22,0,i["ɵnov"](e,0),n.action));t(e,21,0,a)}))}function Db(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-osd-creation-preview-modal",[],null,null,null,Eb,Ab)),i["ɵdid"](1,114688,null,0,Us,[Pt.a,Ot.b,bs.a,Jr,Yo.a],null,null)],(function(t,e){t(e,1,0)}),null)}var Lb=i["ɵccf"]("cd-osd-creation-preview-modal",Us,Db,{driveGroups:"driveGroups"},{submitAction:"submitAction"},[]),qb=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function jb(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,10,"cd-modal",[],null,null,null,Hm.c,Hm.b)),i["ɵdid"](1,49152,null,0,hh.a,[],{modalRef:[0,"modalRef"]},null),(t()(),i["ɵeld"](2,0,null,0,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](3,null,[""," ",""])),(t()(),i["ɵeld"](4,0,null,1,6,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](5,0,null,null,2,"div",[["class","modal-body"]],null,null,null,null,null)),(t()(),i["ɵeld"](6,0,null,null,1,"cd-orchestrator-doc-panel",[],null,null,null,Mr,Pr)),i["ɵdid"](7,114688,null,0,Cr,[ht.a,gt.a],null,null),(t()(),i["ɵeld"](8,0,null,null,2,"div",[["class","modal-footer"]],null,null,null,null,null)),(t()(),i["ɵeld"](9,0,null,null,1,"cd-back-button",[["name","Close"]],null,null,null,oi.b,oi.a)),i["ɵdid"](10,49152,null,0,ii.a,[o.Location,Ot.b],{name:[0,"name"],back:[1,"back"]},null)],(function(t,e){var n=e.component;t(e,1,0,n.bsModalRef),t(e,7,0),t(e,10,0,"Close",n.bsModalRef.hide)}),(function(t,e){var n=e.component;t(e,3,0,n.actionDescription,n.itemDescription)}))}function Fb(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-orchestrator-doc-modal",[],null,null,null,jb,qb)),i["ɵdid"](1,114688,null,0,Vo,[Pt.a],null,null)],(function(t,e){t(e,1,0)}),null)}var zb=i["ɵccf"]("cd-orchestrator-doc-modal",Vo,Fb,{},{},[]),Vb=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Gb(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),i["ɵdid"](1,212992,null,0,Tt.r,[Tt.b,i.ViewContainerRef,i.ComponentFactoryResolver,[8,null],i.ChangeDetectorRef],null,null)],(function(t,e){t(e,1,0)}),null)}function Yb(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-root",[],null,null,null,Gb,Vb)),i["ɵdid"](1,49152,null,0,d,[],null,null)],null,null)}var Bb=i["ɵccf"]("cd-root",d,Yb,{},{},[]),Hb=new i.InjectionToken("JWT_OPTIONS"),Ub=function(){function t(t){void 0===t&&(t=null),this.tokenGetter=t&&t.tokenGetter||function(){}}return t.prototype.urlBase64Decode=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}return this.b64DecodeUnicode(e)},t.prototype.b64decode=function(t){var e="";if((t=String(t).replace(/=+$/,"")).length%4==1)throw new Error("'atob' failed: The string to be decoded is not correctly encoded.");for(var n=0,a=void 0,r=void 0,o=0;r=t.charAt(o++);~r&&(a=n%4?64*a+r:r,n++%4)?e+=String.fromCharCode(255&a>>(-2*n&6)):0)r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(r);return e},t.prototype.b64DecodeUnicode=function(t){return decodeURIComponent(Array.prototype.map.call(this.b64decode(t),(function(t){return"%"+("00"+t.charCodeAt(0).toString(16)).slice(-2)})).join(""))},t.prototype.decodeToken=function(t){if(void 0===t&&(t=this.tokenGetter()),null===t)return null;var e=t.split(".");if(3!==e.length)throw new Error("The inspected token doesn't appear to be a JWT. Check to make sure it has three parts and see https://jwt.io for more.");var n=this.urlBase64Decode(e[1]);if(!n)throw new Error("Cannot decode the token.");return JSON.parse(n)},t.prototype.getTokenExpirationDate=function(t){var e;if(void 0===t&&(t=this.tokenGetter()),!(e=this.decodeToken(t)).hasOwnProperty("exp"))return null;var n=new Date(0);return n.setUTCSeconds(e.exp),n},t.prototype.isTokenExpired=function(t,e){if(void 0===t&&(t=this.tokenGetter()),null===t||""===t)return!0;var n=this.getTokenExpirationDate(t);return e=e||0,null===n||!(n.valueOf()>(new Date).valueOf()+1e3*e)},t}(),Wb=n("CxY0"),Kb=function(){function t(t,e){this.jwtHelper=e,this.tokenGetter=t.tokenGetter,this.headerName=t.headerName||"Authorization",this.authScheme=t.authScheme||""===t.authScheme?t.authScheme:"Bearer ",this.whitelistedDomains=t.whitelistedDomains||[],this.blacklistedRoutes=t.blacklistedRoutes||[],this.throwNoTokenError=t.throwNoTokenError||!1,this.skipWhenExpired=t.skipWhenExpired}return t.prototype.isWhitelistedDomain=function(t){var e=Object(Wb.parse)(t.url,!1,!0);return null===e.host||this.whitelistedDomains.findIndex((function(t){return"string"==typeof t?t===e.host:t instanceof RegExp&&t.test(e.host)}))>-1},t.prototype.isBlacklistedRoute=function(t){var e=t.url;return this.blacklistedRoutes.findIndex((function(t){return"string"==typeof t?t===e:t instanceof RegExp&&t.test(e)}))>-1},t.prototype.handleInterception=function(t,e,n){var a,r=!1;if(!t&&this.throwNoTokenError)throw new Error("Could not get token from tokenGetter function.");return this.skipWhenExpired&&(r=!t||this.jwtHelper.isTokenExpired(t)),t&&r&&this.skipWhenExpired?e=e.clone():t&&(e=e.clone({setHeaders:(a={},a[this.headerName]=""+this.authScheme+t,a)})),n.handle(e)},t.prototype.intercept=function(t,e){var n=this;if(!this.isWhitelistedDomain(t)||this.isBlacklistedRoute(t))return e.handle(t);var a=this.tokenGetter();return a instanceof Promise?Object(pn.a)(a).pipe(Object(hn.a)((function(a){return n.handleInterception(a,t,e)}))):this.handleInterception(a,t,e)},t}(),$b=n("z6cu"),Zb=n("JIr8");let Jb=(()=>{class t{constructor(t,e,n){this.router=t,this.authStorageService=e,this.notificationService=n}intercept(t,e){return e.handle(t).pipe(Object(Zb.a)(t=>{if(t instanceof J.f){let e;switch(t.status){case 400:const n=new Fo.a,a=t.error.task;$.isPlainObject(a)?(a.metadata.component=a.metadata.component||t.error.component,n.name=a.name,n.metadata=a.metadata):n.metadata=t.error,n.success=!1,n.exception=t.error,e=this.notificationService.notifyTask(n);break;case 401:this.authStorageService.remove(),this.router.navigate(["/login"]);break;case 403:this.router.navigate(["/403"]);break;default:e=this.prepareNotification(t)}t.preventDefault=()=>{this.notificationService.cancel(e)},t.ignoreStatusCode=function(t){this.status===t&&this.preventDefault()}}return Object($b.a)(t)}))}prepareNotification(t){return this.notificationService.show(()=>{let e="";return $.isPlainObject(t.error)&&$.isString(t.error.detail)?e=t.error.detail:$.isString(t.error)?e=t.error:$.isString(t.message)&&(e=t.message),new fe.b(be.a.error,`${t.status} - ${t.statusText}`,e,void 0,t.application)})}}return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t(i["ɵɵinject"](Tt.m),i["ɵɵinject"](bt.a),i["ɵɵinject"](ut.a))},token:t,providedIn:"root"}),t})();function Xb(){return"undefined"!=typeof process}function Qb(t){switch(t.length){case 0:return new zt.d;case 1:return t[0];default:return new zt.k(t)}}function t_(t,e,n,a,r={},o={}){const i=[],s=[];let c=-1,l=null;if(a.forEach(t=>{const n=t.offset,a=n==c,d=a&&l||{};Object.keys(t).forEach(n=>{let a=n,s=t[n];if("offset"!==n)switch(a=e.normalizePropertyName(a,i),s){case zt.l:s=r[n];break;case zt.a:s=o[n];break;default:s=e.normalizeStyleValue(n,a,s,i)}d[a]=s}),a||s.push(d),l=d,c=n}),i.length){const t="\n - ";throw new Error(`Unable to animate due to the following errors:${t}${i.join(t)}`)}return s}function e_(t,e,n,a){switch(e){case"start":t.onStart(()=>a(n&&n_(n,"start",t)));break;case"done":t.onDone(()=>a(n&&n_(n,"done",t)));break;case"destroy":t.onDestroy(()=>a(n&&n_(n,"destroy",t)))}}function n_(t,e,n){const a=n.totalTime,r=a_(t.element,t.triggerName,t.fromState,t.toState,e||t.phaseName,null==a?t.totalTime:a,!!n.disabled),o=t._data;return null!=o&&(r._data=o),r}function a_(t,e,n,a,r="",o=0,i){return{element:t,triggerName:e,fromState:n,toState:a,phaseName:r,totalTime:o,disabled:!!i}}function r_(t,e,n){let a;return t instanceof Map?(a=t.get(e),a||t.set(e,a=n)):(a=t[e],a||(a=t[e]=n)),a}function o_(t){const e=t.indexOf(":");return[t.substring(1,e),t.substr(e+1)]}let i_=(t,e)=>!1,s_=(t,e)=>!1,c_=(t,e,n)=>[];const l_=Xb();(l_||"undefined"!=typeof Element)&&(i_=(t,e)=>t.contains(e),s_=(()=>{if(l_||Element.prototype.matches)return(t,e)=>t.matches(e);{const t=Element.prototype,e=t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector;return e?(t,n)=>e.apply(t,[n]):s_}})(),c_=(t,e,n)=>{let a=[];if(n)a.push(...t.querySelectorAll(e));else{const n=t.querySelector(e);n&&a.push(n)}return a});let d_=null,u_=!1;function g_(t){d_||(d_=("undefined"!=typeof document?document.body:null)||{},u_=!!d_.style&&"WebkitAppearance"in d_.style);let e=!0;return d_.style&&!function(t){return"ebkit"==t.substring(1,6)}(t)&&(e=t in d_.style,!e&&u_)&&(e="Webkit"+t.charAt(0).toUpperCase()+t.substr(1)in d_.style),e}const f_=s_,p_=i_,m_=c_;function h_(t){const e={};return Object.keys(t).forEach(n=>{const a=n.replace(/([a-z])([A-Z])/g,"$1-$2");e[a]=t[n]}),e}class b_{validateStyleProperty(t){return g_(t)}matchesElement(t,e){return f_(t,e)}containsElement(t,e){return p_(t,e)}query(t,e,n){return m_(t,e,n)}computeStyle(t,e,n){return n||""}animate(t,e,n,a,r,o=[],i){return new zt.d(n,a)}}let __=(()=>{class t{}return t.NOOP=new b_,t})();function y_(t){if("number"==typeof t)return t;const e=t.match(/^(-?[\.\d]+)(m?s)/);return!e||e.length<2?0:O_(parseFloat(e[1]),e[2])}function O_(t,e){switch(e){case"s":return 1e3*t;default:return t}}function v_(t,e,n){return t.hasOwnProperty("duration")?t:function(t,e,n){let a,r=0,o="";if("string"==typeof t){const n=t.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===n)return e.push(`The provided timing value "${t}" is invalid.`),{duration:0,delay:0,easing:""};a=O_(parseFloat(n[1]),n[2]);const i=n[3];null!=i&&(r=O_(parseFloat(i),n[4]));const s=n[5];s&&(o=s)}else a=t;if(!n){let n=!1,o=e.length;a<0&&(e.push("Duration values below 0 are not allowed for this animation step."),n=!0),r<0&&(e.push("Delay values below 0 are not allowed for this animation step."),n=!0),n&&e.splice(o,0,`The provided timing value "${t}" is invalid.`)}return{duration:a,delay:r,easing:o}}(t,e,n)}function C_(t,e={}){return Object.keys(t).forEach(n=>{e[n]=t[n]}),e}function P_(t,e,n={}){if(e)for(let a in t)n[a]=t[a];else C_(t,n);return n}function M_(t,e,n){return n?e+":"+n+";":""}function x_(t){let e="";for(let n=0;n<t.style.length;n++){const a=t.style.item(n);e+=M_(0,a,t.style.getPropertyValue(a))}for(const n in t.style)t.style.hasOwnProperty(n)&&!n.startsWith("_")&&(e+=M_(0,n.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),t.style[n]));t.setAttribute("style",e)}function w_(t,e,n){t.style&&(Object.keys(e).forEach(a=>{const r=E_(a);n&&!n.hasOwnProperty(a)&&(n[a]=t.style[r]),t.style[r]=e[a]}),Xb()&&x_(t))}function T_(t,e){t.style&&(Object.keys(e).forEach(e=>{const n=E_(e);t.style[n]=""}),Xb()&&x_(t))}function k_(t){return Array.isArray(t)?1==t.length?t[0]:Object(zt.f)(t):t}const S_=new RegExp("{{\\s*(.+?)\\s*}}","g");function I_(t){let e=[];if("string"==typeof t){const n=t.toString();let a;for(;a=S_.exec(n);)e.push(a[1]);S_.lastIndex=0}return e}function N_(t,e,n){const a=t.toString(),r=a.replace(S_,(t,a)=>{let r=e[a];return e.hasOwnProperty(a)||(n.push(`Please provide a value for the animation param ${a}`),r=""),r.toString()});return r==a?t:r}function R_(t){const e=[];let n=t.next();for(;!n.done;)e.push(n.value),n=t.next();return e}const A_=/-+([a-z0-9])/g;function E_(t){return t.replace(A_,(...t)=>t[1].toUpperCase())}function D_(t,e){return 0===t||0===e}function L_(t,e,n){const a=Object.keys(n);if(a.length&&e.length){let o=e[0],i=[];if(a.forEach(t=>{o.hasOwnProperty(t)||i.push(t),o[t]=n[t]}),i.length)for(var r=1;r<e.length;r++){let n=e[r];i.forEach((function(e){n[e]=j_(t,e)}))}}return e}function q_(t,e,n){switch(e.type){case 7:return t.visitTrigger(e,n);case 0:return t.visitState(e,n);case 1:return t.visitTransition(e,n);case 2:return t.visitSequence(e,n);case 3:return t.visitGroup(e,n);case 4:return t.visitAnimate(e,n);case 5:return t.visitKeyframes(e,n);case 6:return t.visitStyle(e,n);case 8:return t.visitReference(e,n);case 9:return t.visitAnimateChild(e,n);case 10:return t.visitAnimateRef(e,n);case 11:return t.visitQuery(e,n);case 12:return t.visitStagger(e,n);default:throw new Error(`Unable to resolve animation metadata node #${e.type}`)}}function j_(t,e){return window.getComputedStyle(t)[e]}function F_(t,e){const n=[];return"string"==typeof t?t.split(/\s*,\s*/).forEach(t=>function(t,e,n){if(":"==t[0]){const a=function(t,e){switch(t){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(t,e)=>parseFloat(e)>parseFloat(t);case":decrement":return(t,e)=>parseFloat(e)<parseFloat(t);default:return e.push(`The transition alias value "${t}" is not supported`),"* => *"}}(t,n);if("function"==typeof a)return void e.push(a);t=a}const a=t.match(/^(\*|[-\w]+)\s*(<?[=-]>)\s*(\*|[-\w]+)$/);if(null==a||a.length<4)return n.push(`The provided transition expression "${t}" is not supported`),e;const r=a[1],o=a[2],i=a[3];e.push(G_(r,i)),"<"!=o[0]||"*"==r&&"*"==i||e.push(G_(i,r))}(t,n,e)):n.push(t),n}const z_=new Set(["true","1"]),V_=new Set(["false","0"]);function G_(t,e){const n=z_.has(t)||V_.has(t),a=z_.has(e)||V_.has(e);return(r,o)=>{let i="*"==t||t==r,s="*"==e||e==o;return!i&&n&&"boolean"==typeof r&&(i=r?z_.has(t):V_.has(t)),!s&&a&&"boolean"==typeof o&&(s=o?z_.has(e):V_.has(e)),i&&s}}const Y_=new RegExp("s*:selfs*,?","g");function B_(t,e,n){return new H_(t).build(e,n)}class H_{constructor(t){this._driver=t}build(t,e){const n=new U_(e);return this._resetContextStyleTimingState(n),q_(this,k_(t),n)}_resetContextStyleTimingState(t){t.currentQuerySelector="",t.collectedStyles={},t.collectedStyles[""]={},t.currentTime=0}visitTrigger(t,e){let n=e.queryCount=0,a=e.depCount=0;const r=[],o=[];return"@"==t.name.charAt(0)&&e.errors.push("animation triggers cannot be prefixed with an `@` sign (e.g. trigger('@foo', [...]))"),t.definitions.forEach(t=>{if(this._resetContextStyleTimingState(e),0==t.type){const n=t,a=n.name;a.toString().split(/\s*,\s*/).forEach(t=>{n.name=t,r.push(this.visitState(n,e))}),n.name=a}else if(1==t.type){const r=this.visitTransition(t,e);n+=r.queryCount,a+=r.depCount,o.push(r)}else e.errors.push("only state() and transition() definitions can sit inside of a trigger()")}),{type:7,name:t.name,states:r,transitions:o,queryCount:n,depCount:a,options:null}}visitState(t,e){const n=this.visitStyle(t.styles,e),a=t.options&&t.options.params||null;if(n.containsDynamicStyles){const r=new Set,o=a||{};if(n.styles.forEach(t=>{if(W_(t)){const e=t;Object.keys(e).forEach(t=>{I_(e[t]).forEach(t=>{o.hasOwnProperty(t)||r.add(t)})})}}),r.size){const n=R_(r.values());e.errors.push(`state("${t.name}", ...) must define default values for all the following style substitutions: ${n.join(", ")}`)}}return{type:0,name:t.name,style:n,options:a?{params:a}:null}}visitTransition(t,e){e.queryCount=0,e.depCount=0;const n=q_(this,k_(t.animation),e);return{type:1,matchers:F_(t.expr,e.errors),animation:n,queryCount:e.queryCount,depCount:e.depCount,options:K_(t.options)}}visitSequence(t,e){return{type:2,steps:t.steps.map(t=>q_(this,t,e)),options:K_(t.options)}}visitGroup(t,e){const n=e.currentTime;let a=0;const r=t.steps.map(t=>{e.currentTime=n;const r=q_(this,t,e);return a=Math.max(a,e.currentTime),r});return e.currentTime=a,{type:3,steps:r,options:K_(t.options)}}visitAnimate(t,e){const n=function(t,e){let n=null;if(t.hasOwnProperty("duration"))n=t;else if("number"==typeof t)return $_(v_(t,e).duration,0,"");const a=t;if(a.split(/\s+/).some(t=>"{"==t.charAt(0)&&"{"==t.charAt(1))){const t=$_(0,0,"");return t.dynamic=!0,t.strValue=a,t}return n=n||v_(a,e),$_(n.duration,n.delay,n.easing)}(t.timings,e.errors);let a;e.currentAnimateTimings=n;let r=t.styles?t.styles:Object(zt.h)({});if(5==r.type)a=this.visitKeyframes(r,e);else{let r=t.styles,o=!1;if(!r){o=!0;const t={};n.easing&&(t.easing=n.easing),r=Object(zt.h)(t)}e.currentTime+=n.duration+n.delay;const i=this.visitStyle(r,e);i.isEmptyStep=o,a=i}return e.currentAnimateTimings=null,{type:4,timings:n,style:a,options:null}}visitStyle(t,e){const n=this._makeStyleAst(t,e);return this._validateStyleAst(n,e),n}_makeStyleAst(t,e){const n=[];Array.isArray(t.styles)?t.styles.forEach(t=>{"string"==typeof t?t==zt.a?n.push(t):e.errors.push(`The provided style string value ${t} is not allowed.`):n.push(t)}):n.push(t.styles);let a=!1,r=null;return n.forEach(t=>{if(W_(t)){const e=t,n=e.easing;if(n&&(r=n,delete e.easing),!a)for(let t in e)if(e[t].toString().indexOf("{{")>=0){a=!0;break}}}),{type:6,styles:n,easing:r,offset:t.offset,containsDynamicStyles:a,options:null}}_validateStyleAst(t,e){const n=e.currentAnimateTimings;let a=e.currentTime,r=e.currentTime;n&&r>0&&(r-=n.duration+n.delay),t.styles.forEach(t=>{"string"!=typeof t&&Object.keys(t).forEach(n=>{if(!this._driver.validateStyleProperty(n))return void e.errors.push(`The provided animation property "${n}" is not a supported CSS property for animations`);const o=e.collectedStyles[e.currentQuerySelector],i=o[n];let s=!0;i&&(r!=a&&r>=i.startTime&&a<=i.endTime&&(e.errors.push(`The CSS property "${n}" that exists between the times of "${i.startTime}ms" and "${i.endTime}ms" is also being animated in a parallel animation between the times of "${r}ms" and "${a}ms"`),s=!1),r=i.startTime),s&&(o[n]={startTime:r,endTime:a}),e.options&&function(t,e,n){const a=e.params||{},r=I_(t);r.length&&r.forEach(t=>{a.hasOwnProperty(t)||n.push(`Unable to resolve the local animation param ${t} in the given list of values`)})}(t[n],e.options,e.errors)})})}visitKeyframes(t,e){const n={type:5,styles:[],options:null};if(!e.currentAnimateTimings)return e.errors.push("keyframes() must be placed inside of a call to animate()"),n;let a=0;const r=[];let o=!1,i=!1,s=0;const c=t.steps.map(t=>{const n=this._makeStyleAst(t,e);let c=null!=n.offset?n.offset:function(t){if("string"==typeof t)return null;let e=null;if(Array.isArray(t))t.forEach(t=>{if(W_(t)&&t.hasOwnProperty("offset")){const n=t;e=parseFloat(n.offset),delete n.offset}});else if(W_(t)&&t.hasOwnProperty("offset")){const n=t;e=parseFloat(n.offset),delete n.offset}return e}(n.styles),l=0;return null!=c&&(a++,l=n.offset=c),i=i||l<0||l>1,o=o||l<s,s=l,r.push(l),n});i&&e.errors.push("Please ensure that all keyframe offsets are between 0 and 1"),o&&e.errors.push("Please ensure that all keyframe offsets are in order");const l=t.steps.length;let d=0;a>0&&a<l?e.errors.push("Not all style() steps within the declared keyframes() contain offsets"):0==a&&(d=1/(l-1));const u=l-1,g=e.currentTime,f=e.currentAnimateTimings,p=f.duration;return c.forEach((t,a)=>{const o=d>0?a==u?1:d*a:r[a],i=o*p;e.currentTime=g+f.delay+i,f.duration=i,this._validateStyleAst(t,e),t.offset=o,n.styles.push(t)}),n}visitReference(t,e){return{type:8,animation:q_(this,k_(t.animation),e),options:K_(t.options)}}visitAnimateChild(t,e){return e.depCount++,{type:9,options:K_(t.options)}}visitAnimateRef(t,e){return{type:10,animation:this.visitReference(t.animation,e),options:K_(t.options)}}visitQuery(t,e){const n=e.currentQuerySelector,a=t.options||{};e.queryCount++,e.currentQuery=t;const[r,o]=function(t){const e=!!t.split(/\s*,\s*/).find(t=>":self"==t);return e&&(t=t.replace(Y_,"")),[t=t.replace(/@\*/g,".ng-trigger").replace(/@\w+/g,t=>".ng-trigger-"+t.substr(1)).replace(/:animating/g,".ng-animating"),e]}(t.selector);e.currentQuerySelector=n.length?n+" "+r:r,r_(e.collectedStyles,e.currentQuerySelector,{});const i=q_(this,k_(t.animation),e);return e.currentQuery=null,e.currentQuerySelector=n,{type:11,selector:r,limit:a.limit||0,optional:!!a.optional,includeSelf:o,animation:i,originalSelector:t.selector,options:K_(t.options)}}visitStagger(t,e){e.currentQuery||e.errors.push("stagger() can only be used inside of query()");const n="full"===t.timings?{duration:0,delay:0,easing:"full"}:v_(t.timings,e.errors,!0);return{type:12,animation:q_(this,k_(t.animation),e),timings:n,options:null}}}class U_{constructor(t){this.errors=t,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles={},this.options=null}}function W_(t){return!Array.isArray(t)&&"object"==typeof t}function K_(t){var e;return t?(t=C_(t)).params&&(t.params=(e=t.params)?C_(e):null):t={},t}function $_(t,e,n){return{duration:t,delay:e,easing:n}}function Z_(t,e,n,a,r,o,i=null,s=!1){return{type:1,element:t,keyframes:e,preStyleProps:n,postStyleProps:a,duration:r,delay:o,totalTime:r+o,easing:i,subTimeline:s}}class J_{constructor(){this._map=new Map}consume(t){let e=this._map.get(t);return e?this._map.delete(t):e=[],e}append(t,e){let n=this._map.get(t);n||this._map.set(t,n=[]),n.push(...e)}has(t){return this._map.has(t)}clear(){this._map.clear()}}const X_=new RegExp(":enter","g"),Q_=new RegExp(":leave","g");function ty(t,e,n,a,r,o={},i={},s,c,l=[]){return(new ey).buildKeyframes(t,e,n,a,r,o,i,s,c,l)}class ey{buildKeyframes(t,e,n,a,r,o,i,s,c,l=[]){c=c||new J_;const d=new ay(t,e,c,a,r,l,[]);d.options=s,d.currentTimeline.setStyles([o],null,d.errors,s),q_(this,n,d);const u=d.timelines.filter(t=>t.containsAnimation());if(u.length&&Object.keys(i).length){const t=u[u.length-1];t.allowOnlyTimelineStyles()||t.setStyles([i],null,d.errors,s)}return u.length?u.map(t=>t.buildKeyframes()):[Z_(e,[],[],[],0,0,"",!1)]}visitTrigger(t,e){}visitState(t,e){}visitTransition(t,e){}visitAnimateChild(t,e){const n=e.subInstructions.consume(e.element);if(n){const a=e.createSubContext(t.options),r=e.currentTimeline.currentTime,o=this._visitSubInstructions(n,a,a.options);r!=o&&e.transformIntoNewTimeline(o)}e.previousNode=t}visitAnimateRef(t,e){const n=e.createSubContext(t.options);n.transformIntoNewTimeline(),this.visitReference(t.animation,n),e.transformIntoNewTimeline(n.currentTimeline.currentTime),e.previousNode=t}_visitSubInstructions(t,e,n){let a=e.currentTimeline.currentTime;const r=null!=n.duration?y_(n.duration):null,o=null!=n.delay?y_(n.delay):null;return 0!==r&&t.forEach(t=>{const n=e.appendInstructionToTimeline(t,r,o);a=Math.max(a,n.duration+n.delay)}),a}visitReference(t,e){e.updateOptions(t.options,!0),q_(this,t.animation,e),e.previousNode=t}visitSequence(t,e){const n=e.subContextCount;let a=e;const r=t.options;if(r&&(r.params||r.delay)&&(a=e.createSubContext(r),a.transformIntoNewTimeline(),null!=r.delay)){6==a.previousNode.type&&(a.currentTimeline.snapshotCurrentStyles(),a.previousNode=ny);const t=y_(r.delay);a.delayNextStep(t)}t.steps.length&&(t.steps.forEach(t=>q_(this,t,a)),a.currentTimeline.applyStylesToKeyframe(),a.subContextCount>n&&a.transformIntoNewTimeline()),e.previousNode=t}visitGroup(t,e){const n=[];let a=e.currentTimeline.currentTime;const r=t.options&&t.options.delay?y_(t.options.delay):0;t.steps.forEach(o=>{const i=e.createSubContext(t.options);r&&i.delayNextStep(r),q_(this,o,i),a=Math.max(a,i.currentTimeline.currentTime),n.push(i.currentTimeline)}),n.forEach(t=>e.currentTimeline.mergeTimelineCollectedStyles(t)),e.transformIntoNewTimeline(a),e.previousNode=t}_visitTiming(t,e){if(t.dynamic){const n=t.strValue;return v_(e.params?N_(n,e.params,e.errors):n,e.errors)}return{duration:t.duration,delay:t.delay,easing:t.easing}}visitAnimate(t,e){const n=e.currentAnimateTimings=this._visitTiming(t.timings,e),a=e.currentTimeline;n.delay&&(e.incrementTime(n.delay),a.snapshotCurrentStyles());const r=t.style;5==r.type?this.visitKeyframes(r,e):(e.incrementTime(n.duration),this.visitStyle(r,e),a.applyStylesToKeyframe()),e.currentAnimateTimings=null,e.previousNode=t}visitStyle(t,e){const n=e.currentTimeline,a=e.currentAnimateTimings;!a&&n.getCurrentStyleProperties().length&&n.forwardFrame();const r=a&&a.easing||t.easing;t.isEmptyStep?n.applyEmptyStep(r):n.setStyles(t.styles,r,e.errors,e.options),e.previousNode=t}visitKeyframes(t,e){const n=e.currentAnimateTimings,a=e.currentTimeline.duration,r=n.duration,o=e.createSubContext().currentTimeline;o.easing=n.easing,t.styles.forEach(t=>{o.forwardTime((t.offset||0)*r),o.setStyles(t.styles,t.easing,e.errors,e.options),o.applyStylesToKeyframe()}),e.currentTimeline.mergeTimelineCollectedStyles(o),e.transformIntoNewTimeline(a+r),e.previousNode=t}visitQuery(t,e){const n=e.currentTimeline.currentTime,a=t.options||{},r=a.delay?y_(a.delay):0;r&&(6===e.previousNode.type||0==n&&e.currentTimeline.getCurrentStyleProperties().length)&&(e.currentTimeline.snapshotCurrentStyles(),e.previousNode=ny);let o=n;const i=e.invokeQuery(t.selector,t.originalSelector,t.limit,t.includeSelf,!!a.optional,e.errors);e.currentQueryTotal=i.length;let s=null;i.forEach((n,a)=>{e.currentQueryIndex=a;const i=e.createSubContext(t.options,n);r&&i.delayNextStep(r),n===e.element&&(s=i.currentTimeline),q_(this,t.animation,i),i.currentTimeline.applyStylesToKeyframe(),o=Math.max(o,i.currentTimeline.currentTime)}),e.currentQueryIndex=0,e.currentQueryTotal=0,e.transformIntoNewTimeline(o),s&&(e.currentTimeline.mergeTimelineCollectedStyles(s),e.currentTimeline.snapshotCurrentStyles()),e.previousNode=t}visitStagger(t,e){const n=e.parentContext,a=e.currentTimeline,r=t.timings,o=Math.abs(r.duration),i=o*(e.currentQueryTotal-1);let s=o*e.currentQueryIndex;switch(r.duration<0?"reverse":r.easing){case"reverse":s=i-s;break;case"full":s=n.currentStaggerTime}const c=e.currentTimeline;s&&c.delayNextStep(s);const l=c.currentTime;q_(this,t.animation,e),e.previousNode=t,n.currentStaggerTime=a.currentTime-l+(a.startTime-n.currentTimeline.startTime)}}const ny={};class ay{constructor(t,e,n,a,r,o,i,s){this._driver=t,this.element=e,this.subInstructions=n,this._enterClassName=a,this._leaveClassName=r,this.errors=o,this.timelines=i,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=ny,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=s||new ry(this._driver,e,0),i.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(t,e){if(!t)return;const n=t;let a=this.options;null!=n.duration&&(a.duration=y_(n.duration)),null!=n.delay&&(a.delay=y_(n.delay));const r=n.params;if(r){let t=a.params;t||(t=this.options.params={}),Object.keys(r).forEach(n=>{e&&t.hasOwnProperty(n)||(t[n]=N_(r[n],t,this.errors))})}}_copyOptions(){const t={};if(this.options){const e=this.options.params;if(e){const n=t.params={};Object.keys(e).forEach(t=>{n[t]=e[t]})}}return t}createSubContext(t=null,e,n){const a=e||this.element,r=new ay(this._driver,a,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(a,n||0));return r.previousNode=this.previousNode,r.currentAnimateTimings=this.currentAnimateTimings,r.options=this._copyOptions(),r.updateOptions(t),r.currentQueryIndex=this.currentQueryIndex,r.currentQueryTotal=this.currentQueryTotal,r.parentContext=this,this.subContextCount++,r}transformIntoNewTimeline(t){return this.previousNode=ny,this.currentTimeline=this.currentTimeline.fork(this.element,t),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(t,e,n){const a={duration:null!=e?e:t.duration,delay:this.currentTimeline.currentTime+(null!=n?n:0)+t.delay,easing:""},r=new oy(this._driver,t.element,t.keyframes,t.preStyleProps,t.postStyleProps,a,t.stretchStartingKeyframe);return this.timelines.push(r),a}incrementTime(t){this.currentTimeline.forwardTime(this.currentTimeline.duration+t)}delayNextStep(t){t>0&&this.currentTimeline.delayNextStep(t)}invokeQuery(t,e,n,a,r,o){let i=[];if(a&&i.push(this.element),t.length>0){t=(t=t.replace(X_,"."+this._enterClassName)).replace(Q_,"."+this._leaveClassName);let e=this._driver.query(this.element,t,1!=n);0!==n&&(e=n<0?e.slice(e.length+n,e.length):e.slice(0,n)),i.push(...e)}return r||0!=i.length||o.push(`\`query("${e}")\` returned zero elements. (Use \`query("${e}", { optional: true })\` if you wish to allow this.)`),i}}class ry{constructor(t,e,n,a){this._driver=t,this.element=e,this.startTime=n,this._elementTimelineStylesLookup=a,this.duration=0,this._previousKeyframe={},this._currentKeyframe={},this._keyframes=new Map,this._styleSummary={},this._pendingStyles={},this._backFill={},this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._localTimelineStyles=Object.create(this._backFill,{}),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(e),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(e,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.getCurrentStyleProperties().length>0;default:return!0}}getCurrentStyleProperties(){return Object.keys(this._currentKeyframe)}get currentTime(){return this.startTime+this.duration}delayNextStep(t){const e=1==this._keyframes.size&&Object.keys(this._pendingStyles).length;this.duration||e?(this.forwardTime(this.currentTime+t),e&&this.snapshotCurrentStyles()):this.startTime+=t}fork(t,e){return this.applyStylesToKeyframe(),new ry(this._driver,t,e||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=Object.create(this._backFill,{}),this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=1,this._loadKeyframe()}forwardTime(t){this.applyStylesToKeyframe(),this.duration=t,this._loadKeyframe()}_updateStyle(t,e){this._localTimelineStyles[t]=e,this._globalTimelineStyles[t]=e,this._styleSummary[t]={time:this.currentTime,value:e}}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(t){t&&(this._previousKeyframe.easing=t),Object.keys(this._globalTimelineStyles).forEach(t=>{this._backFill[t]=this._globalTimelineStyles[t]||zt.a,this._currentKeyframe[t]=zt.a}),this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(t,e,n,a){e&&(this._previousKeyframe.easing=e);const r=a&&a.params||{},o=function(t,e){const n={};let a;return t.forEach(t=>{"*"===t?(a=a||Object.keys(e),a.forEach(t=>{n[t]=zt.a})):P_(t,!1,n)}),n}(t,this._globalTimelineStyles);Object.keys(o).forEach(t=>{const e=N_(o[t],r,n);this._pendingStyles[t]=e,this._localTimelineStyles.hasOwnProperty(t)||(this._backFill[t]=this._globalTimelineStyles.hasOwnProperty(t)?this._globalTimelineStyles[t]:zt.a),this._updateStyle(t,e)})}applyStylesToKeyframe(){const t=this._pendingStyles,e=Object.keys(t);0!=e.length&&(this._pendingStyles={},e.forEach(e=>{this._currentKeyframe[e]=t[e]}),Object.keys(this._localTimelineStyles).forEach(t=>{this._currentKeyframe.hasOwnProperty(t)||(this._currentKeyframe[t]=this._localTimelineStyles[t])}))}snapshotCurrentStyles(){Object.keys(this._localTimelineStyles).forEach(t=>{const e=this._localTimelineStyles[t];this._pendingStyles[t]=e,this._updateStyle(t,e)})}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const t=[];for(let e in this._currentKeyframe)t.push(e);return t}mergeTimelineCollectedStyles(t){Object.keys(t._styleSummary).forEach(e=>{const n=this._styleSummary[e],a=t._styleSummary[e];(!n||a.time>n.time)&&this._updateStyle(e,a.value)})}buildKeyframes(){this.applyStylesToKeyframe();const t=new Set,e=new Set,n=1===this._keyframes.size&&0===this.duration;let a=[];this._keyframes.forEach((r,o)=>{const i=P_(r,!0);Object.keys(i).forEach(n=>{const a=i[n];a==zt.l?t.add(n):a==zt.a&&e.add(n)}),n||(i.offset=o/this.duration),a.push(i)});const r=t.size?R_(t.values()):[],o=e.size?R_(e.values()):[];if(n){const t=a[0],e=C_(t);t.offset=0,e.offset=1,a=[t,e]}return Z_(this.element,a,r,o,this.duration,this.startTime,this.easing,!1)}}class oy extends ry{constructor(t,e,n,a,r,o,i=!1){super(t,e,o.delay),this.element=e,this.keyframes=n,this.preStyleProps=a,this.postStyleProps=r,this._stretchStartingKeyframe=i,this.timings={duration:o.duration,delay:o.delay,easing:o.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let t=this.keyframes,{delay:e,duration:n,easing:a}=this.timings;if(this._stretchStartingKeyframe&&e){const r=[],o=n+e,i=e/o,s=P_(t[0],!1);s.offset=0,r.push(s);const c=P_(t[0],!1);c.offset=iy(i),r.push(c);const l=t.length-1;for(let a=1;a<=l;a++){let i=P_(t[a],!1);i.offset=iy((e+i.offset*n)/o),r.push(i)}n=o,e=0,a="",t=r}return Z_(this.element,t,this.preStyleProps,this.postStyleProps,n,e,a,!0)}}function iy(t,e=3){const n=Math.pow(10,e-1);return Math.round(t*n)/n}class sy{}class cy extends sy{normalizePropertyName(t,e){return E_(t)}normalizeStyleValue(t,e,n,a){let r="";const o=n.toString().trim();if(ly[e]&&0!==n&&"0"!==n)if("number"==typeof n)r="px";else{const e=n.match(/^[+-]?[\d\.]+([a-z]*)$/);e&&0==e[1].length&&a.push(`Please provide a CSS unit value for ${t}:${n}`)}return o+r}}const ly=(()=>function(t){const e={};return t.forEach(t=>e[t]=!0),e}("width,height,minWidth,minHeight,maxWidth,maxHeight,left,top,bottom,right,fontSize,outlineWidth,outlineOffset,paddingTop,paddingLeft,paddingBottom,paddingRight,marginTop,marginLeft,marginBottom,marginRight,borderRadius,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,textIndent,perspective".split(",")))();function dy(t,e,n,a,r,o,i,s,c,l,d,u,g){return{type:0,element:t,triggerName:e,isRemovalTransition:r,fromState:n,fromStyles:o,toState:a,toStyles:i,timelines:s,queriedElements:c,preStyleProps:l,postStyleProps:d,totalTime:u,errors:g}}const uy={};class gy{constructor(t,e,n){this._triggerName=t,this.ast=e,this._stateStyles=n}match(t,e,n,a){return function(t,e,n,a,r){return t.some(t=>t(e,n,a,r))}(this.ast.matchers,t,e,n,a)}buildStyles(t,e,n){const a=this._stateStyles["*"],r=this._stateStyles[t],o=a?a.buildStyles(e,n):{};return r?r.buildStyles(e,n):o}build(t,e,n,a,r,o,i,s,c,l){const d=[],u=this.ast.options&&this.ast.options.params||uy,g=this.buildStyles(n,i&&i.params||uy,d),f=s&&s.params||uy,p=this.buildStyles(a,f,d),m=new Set,h=new Map,b=new Map,_="void"===a,y={params:Object.assign({},u,f)},O=l?[]:ty(t,e,this.ast.animation,r,o,g,p,y,c,d);let v=0;if(O.forEach(t=>{v=Math.max(t.duration+t.delay,v)}),d.length)return dy(e,this._triggerName,n,a,_,g,p,[],[],h,b,v,d);O.forEach(t=>{const n=t.element,a=r_(h,n,{});t.preStyleProps.forEach(t=>a[t]=!0);const r=r_(b,n,{});t.postStyleProps.forEach(t=>r[t]=!0),n!==e&&m.add(n)});const C=R_(m.values());return dy(e,this._triggerName,n,a,_,g,p,O,C,h,b,v)}}class fy{constructor(t,e){this.styles=t,this.defaultParams=e}buildStyles(t,e){const n={},a=C_(this.defaultParams);return Object.keys(t).forEach(e=>{const n=t[e];null!=n&&(a[e]=n)}),this.styles.styles.forEach(t=>{if("string"!=typeof t){const r=t;Object.keys(r).forEach(t=>{let o=r[t];o.length>1&&(o=N_(o,a,e)),n[t]=o})}}),n}}class py{constructor(t,e){this.name=t,this.ast=e,this.transitionFactories=[],this.states={},e.states.forEach(t=>{this.states[t.name]=new fy(t.style,t.options&&t.options.params||{})}),my(this.states,"true","1"),my(this.states,"false","0"),e.transitions.forEach(e=>{this.transitionFactories.push(new gy(t,e,this.states))}),this.fallbackTransition=new gy(t,{type:1,animation:{type:2,steps:[],options:null},matchers:[(t,e)=>!0],options:null,queryCount:0,depCount:0},this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(t,e,n,a){return this.transitionFactories.find(r=>r.match(t,e,n,a))||null}matchStyles(t,e,n){return this.fallbackTransition.buildStyles(t,e,n)}}function my(t,e,n){t.hasOwnProperty(e)?t.hasOwnProperty(n)||(t[n]=t[e]):t.hasOwnProperty(n)&&(t[e]=t[n])}const hy=new J_;class by{constructor(t,e,n){this.bodyNode=t,this._driver=e,this._normalizer=n,this._animations={},this._playersById={},this.players=[]}register(t,e){const n=[],a=B_(this._driver,e,n);if(n.length)throw new Error(`Unable to build the animation due to the following errors: ${n.join("\n")}`);this._animations[t]=a}_buildPlayer(t,e,n){const a=t.element,r=t_(0,this._normalizer,0,t.keyframes,e,n);return this._driver.animate(a,r,t.duration,t.delay,t.easing,[],!0)}create(t,e,n={}){const a=[],r=this._animations[t];let o;const i=new Map;if(r?(o=ty(this._driver,e,r,"ng-enter","ng-leave",{},{},n,hy,a),o.forEach(t=>{const e=r_(i,t.element,{});t.postStyleProps.forEach(t=>e[t]=null)})):(a.push("The requested animation doesn't exist or has already been destroyed"),o=[]),a.length)throw new Error(`Unable to create the animation due to the following errors: ${a.join("\n")}`);i.forEach((t,e)=>{Object.keys(t).forEach(n=>{t[n]=this._driver.computeStyle(e,n,zt.a)})});const s=Qb(o.map(t=>{const e=i.get(t.element);return this._buildPlayer(t,{},e)}));return this._playersById[t]=s,s.onDestroy(()=>this.destroy(t)),this.players.push(s),s}destroy(t){const e=this._getPlayer(t);e.destroy(),delete this._playersById[t];const n=this.players.indexOf(e);n>=0&&this.players.splice(n,1)}_getPlayer(t){const e=this._playersById[t];if(!e)throw new Error(`Unable to find the timeline player referenced by ${t}`);return e}listen(t,e,n,a){const r=a_(e,"","","");return e_(this._getPlayer(t),n,r,a),()=>{}}command(t,e,n,a){if("register"==n)return void this.register(t,a[0]);if("create"==n)return void this.create(t,e,a[0]||{});const r=this._getPlayer(t);switch(n){case"play":r.play();break;case"pause":r.pause();break;case"reset":r.reset();break;case"restart":r.restart();break;case"finish":r.finish();break;case"init":r.init();break;case"setPosition":r.setPosition(parseFloat(a[0]));break;case"destroy":this.destroy(t)}}}const _y=[],yy={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},Oy={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0};class vy{constructor(t,e=""){this.namespaceId=e;const n=t&&t.hasOwnProperty("value");if(this.value=null!=(a=n?t.value:t)?a:null,n){const e=C_(t);delete e.value,this.options=e}else this.options={};var a;this.options.params||(this.options.params={})}get params(){return this.options.params}absorbOptions(t){const e=t.params;if(e){const t=this.options.params;Object.keys(e).forEach(n=>{null==t[n]&&(t[n]=e[n])})}}}const Cy=new vy("void");class Py{constructor(t,e,n){this.id=t,this.hostElement=e,this._engine=n,this.players=[],this._triggers={},this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+t,Iy(e,this._hostClassName)}listen(t,e,n,a){if(!this._triggers.hasOwnProperty(e))throw new Error(`Unable to listen on the animation trigger event "${n}" because the animation trigger "${e}" doesn't exist!`);if(null==n||0==n.length)throw new Error(`Unable to listen on the animation trigger "${e}" because the provided event is undefined!`);if("start"!=(r=n)&&"done"!=r)throw new Error(`The provided animation trigger event "${n}" for the animation trigger "${e}" is not supported!`);var r;const o=r_(this._elementListeners,t,[]),i={name:e,phase:n,callback:a};o.push(i);const s=r_(this._engine.statesByElement,t,{});return s.hasOwnProperty(e)||(Iy(t,"ng-trigger"),Iy(t,"ng-trigger-"+e),s[e]=Cy),()=>{this._engine.afterFlush(()=>{const t=o.indexOf(i);t>=0&&o.splice(t,1),this._triggers[e]||delete s[e]})}}register(t,e){return!this._triggers[t]&&(this._triggers[t]=e,!0)}_getTrigger(t){const e=this._triggers[t];if(!e)throw new Error(`The provided animation trigger "${t}" has not been registered!`);return e}trigger(t,e,n,a=!0){const r=this._getTrigger(e),o=new xy(this.id,e,t);let i=this._engine.statesByElement.get(t);i||(Iy(t,"ng-trigger"),Iy(t,"ng-trigger-"+e),this._engine.statesByElement.set(t,i={}));let s=i[e];const c=new vy(n,this.id);if(!(n&&n.hasOwnProperty("value"))&&s&&c.absorbOptions(s.options),i[e]=c,s||(s=Cy),"void"!==c.value&&s.value===c.value){if(!function(t,e){const n=Object.keys(t),a=Object.keys(e);if(n.length!=a.length)return!1;for(let r=0;r<n.length;r++){const a=n[r];if(!e.hasOwnProperty(a)||t[a]!==e[a])return!1}return!0}(s.params,c.params)){const e=[],n=r.matchStyles(s.value,s.params,e),a=r.matchStyles(c.value,c.params,e);e.length?this._engine.reportError(e):this._engine.afterFlush(()=>{T_(t,n),w_(t,a)})}return}const l=r_(this._engine.playersByElement,t,[]);l.forEach(t=>{t.namespaceId==this.id&&t.triggerName==e&&t.queued&&t.destroy()});let d=r.matchTransition(s.value,c.value,t,c.params),u=!1;if(!d){if(!a)return;d=r.fallbackTransition,u=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:e,transition:d,fromState:s,toState:c,player:o,isFallbackTransition:u}),u||(Iy(t,"ng-animate-queued"),o.onStart(()=>{Ny(t,"ng-animate-queued")})),o.onDone(()=>{let e=this.players.indexOf(o);e>=0&&this.players.splice(e,1);const n=this._engine.playersByElement.get(t);if(n){let t=n.indexOf(o);t>=0&&n.splice(t,1)}}),this.players.push(o),l.push(o),o}deregister(t){delete this._triggers[t],this._engine.statesByElement.forEach((e,n)=>{delete e[t]}),this._elementListeners.forEach((e,n)=>{this._elementListeners.set(n,e.filter(e=>e.name!=t))})}clearElementCache(t){this._engine.statesByElement.delete(t),this._elementListeners.delete(t);const e=this._engine.playersByElement.get(t);e&&(e.forEach(t=>t.destroy()),this._engine.playersByElement.delete(t))}_signalRemovalForInnerTriggers(t,e,n=!1){this._engine.driver.query(t,".ng-trigger",!0).forEach(t=>{if(t.__ng_removed)return;const n=this._engine.fetchNamespacesByElement(t);n.size?n.forEach(n=>n.triggerLeaveAnimation(t,e,!1,!0)):this.clearElementCache(t)})}triggerLeaveAnimation(t,e,n,a){const r=this._engine.statesByElement.get(t);if(r){const o=[];if(Object.keys(r).forEach(e=>{if(this._triggers[e]){const n=this.trigger(t,e,"void",a);n&&o.push(n)}}),o.length)return this._engine.markElementAsRemoved(this.id,t,!0,e),n&&Qb(o).onDone(()=>this._engine.processLeaveNode(t)),!0}return!1}prepareLeaveAnimationListeners(t){const e=this._elementListeners.get(t);if(e){const n=new Set;e.forEach(e=>{const a=e.name;if(n.has(a))return;n.add(a);const r=this._triggers[a].fallbackTransition,o=this._engine.statesByElement.get(t)[a]||Cy,i=new vy("void"),s=new xy(this.id,a,t);this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:a,transition:r,fromState:o,toState:i,player:s,isFallbackTransition:!0})})}}removeNode(t,e){const n=this._engine;if(t.childElementCount&&this._signalRemovalForInnerTriggers(t,e,!0),this.triggerLeaveAnimation(t,e,!0))return;let a=!1;if(n.totalAnimations){const e=n.players.length?n.playersByQueriedElement.get(t):[];if(e&&e.length)a=!0;else{let e=t;for(;e=e.parentNode;)if(n.statesByElement.get(e)){a=!0;break}}}this.prepareLeaveAnimationListeners(t),a?n.markElementAsRemoved(this.id,t,!1,e):(n.afterFlush(()=>this.clearElementCache(t)),n.destroyInnerAnimations(t),n._onRemovalComplete(t,e))}insertNode(t,e){Iy(t,this._hostClassName)}drainQueuedTransitions(t){const e=[];return this._queue.forEach(n=>{const a=n.player;if(a.destroyed)return;const r=n.element,o=this._elementListeners.get(r);o&&o.forEach(e=>{if(e.name==n.triggerName){const a=a_(r,n.triggerName,n.fromState.value,n.toState.value);a._data=t,e_(n.player,e.phase,a,e.callback)}}),a.markedForDestroy?this._engine.afterFlush(()=>{a.destroy()}):e.push(n)}),this._queue=[],e.sort((t,e)=>{const n=t.transition.ast.depCount,a=e.transition.ast.depCount;return 0==n||0==a?n-a:this._engine.driver.containsElement(t.element,e.element)?1:-1})}destroy(t){this.players.forEach(t=>t.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,t)}elementContainsData(t){let e=!1;return this._elementListeners.has(t)&&(e=!0),e=!!this._queue.find(e=>e.element===t)||e,e}}class My{constructor(t,e,n){this.bodyNode=t,this.driver=e,this._normalizer=n,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=(t,e)=>{}}_onRemovalComplete(t,e){this.onRemovalComplete(t,e)}get queuedPlayers(){const t=[];return this._namespaceList.forEach(e=>{e.players.forEach(e=>{e.queued&&t.push(e)})}),t}createNamespace(t,e){const n=new Py(t,e,this);return e.parentNode?this._balanceNamespaceList(n,e):(this.newHostElements.set(e,n),this.collectEnterElement(e)),this._namespaceLookup[t]=n}_balanceNamespaceList(t,e){const n=this._namespaceList.length-1;if(n>=0){let a=!1;for(let r=n;r>=0;r--)if(this.driver.containsElement(this._namespaceList[r].hostElement,e)){this._namespaceList.splice(r+1,0,t),a=!0;break}a||this._namespaceList.splice(0,0,t)}else this._namespaceList.push(t);return this.namespacesByHostElement.set(e,t),t}register(t,e){let n=this._namespaceLookup[t];return n||(n=this.createNamespace(t,e)),n}registerTrigger(t,e,n){let a=this._namespaceLookup[t];a&&a.register(e,n)&&this.totalAnimations++}destroy(t,e){if(!t)return;const n=this._fetchNamespace(t);this.afterFlush(()=>{this.namespacesByHostElement.delete(n.hostElement),delete this._namespaceLookup[t];const e=this._namespaceList.indexOf(n);e>=0&&this._namespaceList.splice(e,1)}),this.afterFlushAnimationsDone(()=>n.destroy(e))}_fetchNamespace(t){return this._namespaceLookup[t]}fetchNamespacesByElement(t){const e=new Set,n=this.statesByElement.get(t);if(n){const t=Object.keys(n);for(let a=0;a<t.length;a++){const r=n[t[a]].namespaceId;if(r){const t=this._fetchNamespace(r);t&&e.add(t)}}}return e}trigger(t,e,n,a){if(wy(e)){const r=this._fetchNamespace(t);if(r)return r.trigger(e,n,a),!0}return!1}insertNode(t,e,n,a){if(!wy(e))return;const r=e.__ng_removed;if(r&&r.setForRemoval){r.setForRemoval=!1,r.setForMove=!0;const t=this.collectedLeaveElements.indexOf(e);t>=0&&this.collectedLeaveElements.splice(t,1)}if(t){const a=this._fetchNamespace(t);a&&a.insertNode(e,n)}a&&this.collectEnterElement(e)}collectEnterElement(t){this.collectedEnterElements.push(t)}markElementAsDisabled(t,e){e?this.disabledNodes.has(t)||(this.disabledNodes.add(t),Iy(t,"ng-animate-disabled")):this.disabledNodes.has(t)&&(this.disabledNodes.delete(t),Ny(t,"ng-animate-disabled"))}removeNode(t,e,n,a){if(wy(e)){const r=t?this._fetchNamespace(t):null;if(r?r.removeNode(e,a):this.markElementAsRemoved(t,e,!1,a),n){const n=this.namespacesByHostElement.get(e);n&&n.id!==t&&n.removeNode(e,a)}}else this._onRemovalComplete(e,a)}markElementAsRemoved(t,e,n,a){this.collectedLeaveElements.push(e),e.__ng_removed={namespaceId:t,setForRemoval:a,hasAnimation:n,removedBeforeQueried:!1}}listen(t,e,n,a,r){return wy(e)?this._fetchNamespace(t).listen(e,n,a,r):()=>{}}_buildInstruction(t,e,n,a,r){return t.transition.build(this.driver,t.element,t.fromState.value,t.toState.value,n,a,t.fromState.options,t.toState.options,e,r)}destroyInnerAnimations(t){let e=this.driver.query(t,".ng-trigger",!0);e.forEach(t=>this.destroyActiveAnimationsForElement(t)),0!=this.playersByQueriedElement.size&&(e=this.driver.query(t,".ng-animating",!0),e.forEach(t=>this.finishActiveQueriedAnimationOnElement(t)))}destroyActiveAnimationsForElement(t){const e=this.playersByElement.get(t);e&&e.forEach(t=>{t.queued?t.markedForDestroy=!0:t.destroy()})}finishActiveQueriedAnimationOnElement(t){const e=this.playersByQueriedElement.get(t);e&&e.forEach(t=>t.finish())}whenRenderingDone(){return new Promise(t=>{if(this.players.length)return Qb(this.players).onDone(()=>t());t()})}processLeaveNode(t){const e=t.__ng_removed;if(e&&e.setForRemoval){if(t.__ng_removed=yy,e.namespaceId){this.destroyInnerAnimations(t);const n=this._fetchNamespace(e.namespaceId);n&&n.clearElementCache(t)}this._onRemovalComplete(t,e.setForRemoval)}this.driver.matchesElement(t,".ng-animate-disabled")&&this.markElementAsDisabled(t,!1),this.driver.query(t,".ng-animate-disabled",!0).forEach(t=>{this.markElementAsDisabled(t,!1)})}flush(t=-1){let e=[];if(this.newHostElements.size&&(this.newHostElements.forEach((t,e)=>this._balanceNamespaceList(t,e)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let n=0;n<this.collectedEnterElements.length;n++)Iy(this.collectedEnterElements[n],"ng-star-inserted");if(this._namespaceList.length&&(this.totalQueuedPlayers||this.collectedLeaveElements.length)){const n=[];try{e=this._flushAnimations(n,t)}finally{for(let t=0;t<n.length;t++)n[t]()}}else for(let n=0;n<this.collectedLeaveElements.length;n++)this.processLeaveNode(this.collectedLeaveElements[n]);if(this.totalQueuedPlayers=0,this.collectedEnterElements.length=0,this.collectedLeaveElements.length=0,this._flushFns.forEach(t=>t()),this._flushFns=[],this._whenQuietFns.length){const t=this._whenQuietFns;this._whenQuietFns=[],e.length?Qb(e).onDone(()=>{t.forEach(t=>t())}):t.forEach(t=>t())}}reportError(t){throw new Error(`Unable to process animations due to the following failed trigger transitions\n ${t.join("\n")}`)}_flushAnimations(t,e){const n=new J_,a=[],r=new Map,o=[],i=new Map,s=new Map,c=new Map,l=new Set;this.disabledNodes.forEach(t=>{l.add(t);const e=this.driver.query(t,".ng-animate-queued",!0);for(let n=0;n<e.length;n++)l.add(e[n])});const d=this.bodyNode,u=Array.from(this.statesByElement.keys()),g=Sy(u,this.collectedEnterElements),f=new Map;let p=0;g.forEach((t,e)=>{const n="ng-enter"+p++;f.set(e,n),t.forEach(t=>Iy(t,n))});const m=[],h=new Set,b=new Set;for(let I=0;I<this.collectedLeaveElements.length;I++){const t=this.collectedLeaveElements[I],e=t.__ng_removed;e&&e.setForRemoval&&(m.push(t),h.add(t),e.hasAnimation?this.driver.query(t,".ng-star-inserted",!0).forEach(t=>h.add(t)):b.add(t))}const _=new Map,y=Sy(u,Array.from(h));y.forEach((t,e)=>{const n="ng-leave"+p++;_.set(e,n),t.forEach(t=>Iy(t,n))}),t.push(()=>{g.forEach((t,e)=>{const n=f.get(e);t.forEach(t=>Ny(t,n))}),y.forEach((t,e)=>{const n=_.get(e);t.forEach(t=>Ny(t,n))}),m.forEach(t=>{this.processLeaveNode(t)})});const O=[],v=[];for(let I=this._namespaceList.length-1;I>=0;I--)this._namespaceList[I].drainQueuedTransitions(e).forEach(t=>{const e=t.player,r=t.element;if(O.push(e),this.collectedEnterElements.length){const t=r.__ng_removed;if(t&&t.setForMove)return void e.destroy()}const l=!d||!this.driver.containsElement(d,r),u=_.get(r),g=f.get(r),p=this._buildInstruction(t,n,g,u,l);if(!p.errors||!p.errors.length)return l?(e.onStart(()=>T_(r,p.fromStyles)),e.onDestroy(()=>w_(r,p.toStyles)),void a.push(e)):t.isFallbackTransition?(e.onStart(()=>T_(r,p.fromStyles)),e.onDestroy(()=>w_(r,p.toStyles)),void a.push(e)):(p.timelines.forEach(t=>t.stretchStartingKeyframe=!0),n.append(r,p.timelines),o.push({instruction:p,player:e,element:r}),p.queriedElements.forEach(t=>r_(i,t,[]).push(e)),p.preStyleProps.forEach((t,e)=>{const n=Object.keys(t);if(n.length){let t=s.get(e);t||s.set(e,t=new Set),n.forEach(e=>t.add(e))}}),void p.postStyleProps.forEach((t,e)=>{const n=Object.keys(t);let a=c.get(e);a||c.set(e,a=new Set),n.forEach(t=>a.add(t))}));v.push(p)});if(v.length){const t=[];v.forEach(e=>{t.push(`@${e.triggerName} has failed due to:\n`),e.errors.forEach(e=>t.push(`- ${e}\n`))}),O.forEach(t=>t.destroy()),this.reportError(t)}const C=new Map,P=new Map;o.forEach(t=>{const e=t.element;n.has(e)&&(P.set(e,e),this._beforeAnimationBuild(t.player.namespaceId,t.instruction,C))}),a.forEach(t=>{const e=t.element;this._getPreviousPlayers(e,!1,t.namespaceId,t.triggerName,null).forEach(t=>{r_(C,e,[]).push(t),t.destroy()})});const M=m.filter(t=>Ay(t,s,c)),x=new Map;ky(x,this.driver,b,c,zt.a).forEach(t=>{Ay(t,s,c)&&M.push(t)});const w=new Map;g.forEach((t,e)=>{ky(w,this.driver,new Set(t),s,zt.l)}),M.forEach(t=>{const e=x.get(t),n=w.get(t);x.set(t,Object.assign({},e,n))});const T=[],k=[],S={};o.forEach(t=>{const{element:e,player:o,instruction:i}=t;if(n.has(e)){if(l.has(e))return o.onDestroy(()=>w_(e,i.toStyles)),o.disabled=!0,o.overrideTotalTime(i.totalTime),void a.push(o);let t=S;if(P.size>1){let n=e;const a=[];for(;n=n.parentNode;){const e=P.get(n);if(e){t=e;break}a.push(n)}a.forEach(e=>P.set(e,t))}const n=this._buildAnimation(o.namespaceId,i,C,r,w,x);if(o.setRealPlayer(n),t===S)T.push(o);else{const e=this.playersByElement.get(t);e&&e.length&&(o.parentPlayer=Qb(e)),a.push(o)}}else T_(e,i.fromStyles),o.onDestroy(()=>w_(e,i.toStyles)),k.push(o),l.has(e)&&a.push(o)}),k.forEach(t=>{const e=r.get(t.element);if(e&&e.length){const n=Qb(e);t.setRealPlayer(n)}}),a.forEach(t=>{t.parentPlayer?t.syncPlayerEvents(t.parentPlayer):t.destroy()});for(let I=0;I<m.length;I++){const t=m[I],e=t.__ng_removed;if(Ny(t,"ng-leave"),e&&e.hasAnimation)continue;let n=[];if(i.size){let e=i.get(t);e&&e.length&&n.push(...e);let a=this.driver.query(t,".ng-animating",!0);for(let t=0;t<a.length;t++){let e=i.get(a[t]);e&&e.length&&n.push(...e)}}const a=n.filter(t=>!t.destroyed);a.length?Ry(this,t,a):this.processLeaveNode(t)}return m.length=0,T.forEach(t=>{this.players.push(t),t.onDone(()=>{t.destroy();const e=this.players.indexOf(t);this.players.splice(e,1)}),t.play()}),T}elementContainsData(t,e){let n=!1;const a=e.__ng_removed;return a&&a.setForRemoval&&(n=!0),this.playersByElement.has(e)&&(n=!0),this.playersByQueriedElement.has(e)&&(n=!0),this.statesByElement.has(e)&&(n=!0),this._fetchNamespace(t).elementContainsData(e)||n}afterFlush(t){this._flushFns.push(t)}afterFlushAnimationsDone(t){this._whenQuietFns.push(t)}_getPreviousPlayers(t,e,n,a,r){let o=[];if(e){const e=this.playersByQueriedElement.get(t);e&&(o=e)}else{const e=this.playersByElement.get(t);if(e){const t=!r||"void"==r;e.forEach(e=>{e.queued||(t||e.triggerName==a)&&o.push(e)})}}return(n||a)&&(o=o.filter(t=>!(n&&n!=t.namespaceId||a&&a!=t.triggerName))),o}_beforeAnimationBuild(t,e,n){const a=e.element,r=e.isRemovalTransition?void 0:t,o=e.isRemovalTransition?void 0:e.triggerName;for(const i of e.timelines){const t=i.element,s=t!==a,c=r_(n,t,[]);this._getPreviousPlayers(t,s,r,o,e.toState).forEach(t=>{const e=t.getRealPlayer();e.beforeDestroy&&e.beforeDestroy(),t.destroy(),c.push(t)})}T_(a,e.fromStyles)}_buildAnimation(t,e,n,a,r,o){const i=e.triggerName,s=e.element,c=[],l=new Set,d=new Set,u=e.timelines.map(e=>{const u=e.element;l.add(u);const g=u.__ng_removed;if(g&&g.removedBeforeQueried)return new zt.d(e.duration,e.delay);const f=u!==s,p=function(t){const e=[];return function t(e,n){for(let a=0;a<e.length;a++){const r=e[a];r instanceof zt.k?t(r.players,n):n.push(r)}}(t,e),e}((n.get(u)||_y).map(t=>t.getRealPlayer())).filter(t=>!!t.element&&t.element===u),m=r.get(u),h=o.get(u),b=t_(0,this._normalizer,0,e.keyframes,m,h),_=this._buildPlayer(e,b,p);if(e.subTimeline&&a&&d.add(u),f){const e=new xy(t,i,u);e.setRealPlayer(_),c.push(e)}return _});c.forEach(t=>{r_(this.playersByQueriedElement,t.element,[]).push(t),t.onDone(()=>function(t,e,n){let a;if(t instanceof Map){if(a=t.get(e),a){if(a.length){const t=a.indexOf(n);a.splice(t,1)}0==a.length&&t.delete(e)}}else if(a=t[e],a){if(a.length){const t=a.indexOf(n);a.splice(t,1)}0==a.length&&delete t[e]}return a}(this.playersByQueriedElement,t.element,t))}),l.forEach(t=>Iy(t,"ng-animating"));const g=Qb(u);return g.onDestroy(()=>{l.forEach(t=>Ny(t,"ng-animating")),w_(s,e.toStyles)}),d.forEach(t=>{r_(a,t,[]).push(g)}),g}_buildPlayer(t,e,n){return e.length>0?this.driver.animate(t.element,e,t.duration,t.delay,t.easing,n):new zt.d(t.duration,t.delay)}}class xy{constructor(t,e,n){this.namespaceId=t,this.triggerName=e,this.element=n,this._player=new zt.d,this._containsRealPlayer=!1,this._queuedCallbacks={},this.destroyed=!1,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(t){this._containsRealPlayer||(this._player=t,Object.keys(this._queuedCallbacks).forEach(e=>{this._queuedCallbacks[e].forEach(n=>e_(t,e,void 0,n))}),this._queuedCallbacks={},this._containsRealPlayer=!0,this.overrideTotalTime(t.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(t){this.totalTime=t}syncPlayerEvents(t){const e=this._player;e.triggerCallback&&t.onStart(()=>e.triggerCallback("start")),t.onDone(()=>this.finish()),t.onDestroy(()=>this.destroy())}_queueEvent(t,e){r_(this._queuedCallbacks,t,[]).push(e)}onDone(t){this.queued&&this._queueEvent("done",t),this._player.onDone(t)}onStart(t){this.queued&&this._queueEvent("start",t),this._player.onStart(t)}onDestroy(t){this.queued&&this._queueEvent("destroy",t),this._player.onDestroy(t)}init(){this._player.init()}hasStarted(){return!this.queued&&this._player.hasStarted()}play(){!this.queued&&this._player.play()}pause(){!this.queued&&this._player.pause()}restart(){!this.queued&&this._player.restart()}finish(){this._player.finish()}destroy(){this.destroyed=!0,this._player.destroy()}reset(){!this.queued&&this._player.reset()}setPosition(t){this.queued||this._player.setPosition(t)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(t){const e=this._player;e.triggerCallback&&e.triggerCallback(t)}}function wy(t){return t&&1===t.nodeType}function Ty(t,e){const n=t.style.display;return t.style.display=null!=e?e:"none",n}function ky(t,e,n,a,r){const o=[];n.forEach(t=>o.push(Ty(t)));const i=[];a.forEach((n,a)=>{const o={};n.forEach(t=>{const n=o[t]=e.computeStyle(a,t,r);n&&0!=n.length||(a.__ng_removed=Oy,i.push(a))}),t.set(a,o)});let s=0;return n.forEach(t=>Ty(t,o[s++])),i}function Sy(t,e){const n=new Map;if(t.forEach(t=>n.set(t,[])),0==e.length)return n;const a=new Set(e),r=new Map;return e.forEach(t=>{const e=function t(e){if(!e)return 1;let o=r.get(e);if(o)return o;const i=e.parentNode;return o=n.has(i)?i:a.has(i)?1:t(i),r.set(e,o),o}(t);1!==e&&n.get(e).push(t)}),n}function Iy(t,e){if(t.classList)t.classList.add(e);else{let n=t.$$classes;n||(n=t.$$classes={}),n[e]=!0}}function Ny(t,e){if(t.classList)t.classList.remove(e);else{let n=t.$$classes;n&&delete n[e]}}function Ry(t,e,n){Qb(n).onDone(()=>t.processLeaveNode(e))}function Ay(t,e,n){const a=n.get(t);if(!a)return!1;let r=e.get(t);return r?a.forEach(t=>r.add(t)):e.set(t,a),n.delete(t),!0}class Ey{constructor(t,e,n){this.bodyNode=t,this._driver=e,this._triggerCache={},this.onRemovalComplete=(t,e)=>{},this._transitionEngine=new My(t,e,n),this._timelineEngine=new by(t,e,n),this._transitionEngine.onRemovalComplete=(t,e)=>this.onRemovalComplete(t,e)}registerTrigger(t,e,n,a,r){const o=t+"-"+a;let i=this._triggerCache[o];if(!i){const t=[],e=B_(this._driver,r,t);if(t.length)throw new Error(`The animation trigger "${a}" has failed to build due to the following errors:\n - ${t.join("\n - ")}`);i=function(t,e){return new py(t,e)}(a,e),this._triggerCache[o]=i}this._transitionEngine.registerTrigger(e,a,i)}register(t,e){this._transitionEngine.register(t,e)}destroy(t,e){this._transitionEngine.destroy(t,e)}onInsert(t,e,n,a){this._transitionEngine.insertNode(t,e,n,a)}onRemove(t,e,n,a){this._transitionEngine.removeNode(t,e,a||!1,n)}disableAnimations(t,e){this._transitionEngine.markElementAsDisabled(t,e)}process(t,e,n,a){if("@"==n.charAt(0)){const[t,r]=o_(n);this._timelineEngine.command(t,e,r,a)}else this._transitionEngine.trigger(t,e,n,a)}listen(t,e,n,a,r){if("@"==n.charAt(0)){const[t,a]=o_(n);return this._timelineEngine.listen(t,e,a,r)}return this._transitionEngine.listen(t,e,n,a,r)}flush(t=-1){this._transitionEngine.flush(t)}get players(){return this._transitionEngine.players.concat(this._timelineEngine.players)}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}}function Dy(t,e){let n=null,a=null;return Array.isArray(e)&&e.length?(n=qy(e[0]),e.length>1&&(a=qy(e[e.length-1]))):e&&(n=qy(e)),n||a?new Ly(t,n,a):null}let Ly=(()=>{class t{constructor(e,n,a){this._element=e,this._startStyles=n,this._endStyles=a,this._state=0;let r=t.initialStylesByElement.get(e);r||t.initialStylesByElement.set(e,r={}),this._initialStyles=r}start(){this._state<1&&(this._startStyles&&w_(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(w_(this._element,this._initialStyles),this._endStyles&&(w_(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(t.initialStylesByElement.delete(this._element),this._startStyles&&(T_(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(T_(this._element,this._endStyles),this._endStyles=null),w_(this._element,this._initialStyles),this._state=3)}}return t.initialStylesByElement=new WeakMap,t})();function qy(t){let e=null;const n=Object.keys(t);for(let a=0;a<n.length;a++){const r=n[a];jy(r)&&(e=e||{},e[r]=t[r])}return e}function jy(t){return"display"===t||"position"===t}class Fy{constructor(t,e,n,a,r,o,i){this._element=t,this._name=e,this._duration=n,this._delay=a,this._easing=r,this._fillMode=o,this._onDoneFn=i,this._finished=!1,this._destroyed=!1,this._startTime=0,this._position=0,this._eventFn=t=>this._handleCallback(t)}apply(){!function(t,e){const n=Hy(t,"").trim();n.length&&(function(t,e){let n=0;for(let a=0;a<t.length;a++)","===t.charAt(a)&&n++}(n),e=`${n}, ${e}`),By(t,"",e)}(this._element,`${this._duration}ms ${this._easing} ${this._delay}ms 1 normal ${this._fillMode} ${this._name}`),Yy(this._element,this._eventFn,!1),this._startTime=Date.now()}pause(){zy(this._element,this._name,"paused")}resume(){zy(this._element,this._name,"running")}setPosition(t){const e=Vy(this._element,this._name);this._position=t*this._duration,By(this._element,"Delay",`-${this._position}ms`,e)}getPosition(){return this._position}_handleCallback(t){const e=t._ngTestManualTimestamp||Date.now(),n=1e3*parseFloat(t.elapsedTime.toFixed(3));t.animationName==this._name&&Math.max(e-this._startTime,0)>=this._delay&&n>=this._duration&&this.finish()}finish(){this._finished||(this._finished=!0,this._onDoneFn(),Yy(this._element,this._eventFn,!0))}destroy(){this._destroyed||(this._destroyed=!0,this.finish(),function(t,e){const n=Hy(t,"").split(","),a=Gy(n,e);a>=0&&(n.splice(a,1),By(t,"",n.join(",")))}(this._element,this._name))}}function zy(t,e,n){By(t,"PlayState",n,Vy(t,e))}function Vy(t,e){const n=Hy(t,"");return n.indexOf(",")>0?Gy(n.split(","),e):Gy([n],e)}function Gy(t,e){for(let n=0;n<t.length;n++)if(t[n].indexOf(e)>=0)return n;return-1}function Yy(t,e,n){n?t.removeEventListener("animationend",e):t.addEventListener("animationend",e)}function By(t,e,n,a){const r="animation"+e;if(null!=a){const e=t.style[r];if(e.length){const t=e.split(",");t[a]=n,n=t.join(",")}}t.style[r]=n}function Hy(t,e){return t.style["animation"+e]}class Uy{constructor(t,e,n,a,r,o,i,s){this.element=t,this.keyframes=e,this.animationName=n,this._duration=a,this._delay=r,this._finalStyles=i,this._specialStyles=s,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this.currentSnapshot={},this._state=0,this.easing=o||"linear",this.totalTime=a+r,this._buildStyler()}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}destroy(){this.init(),this._state>=4||(this._state=4,this._styler.destroy(),this._flushStartFns(),this._flushDoneFns(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}_flushDoneFns(){this._onDoneFns.forEach(t=>t()),this._onDoneFns=[]}_flushStartFns(){this._onStartFns.forEach(t=>t()),this._onStartFns=[]}finish(){this.init(),this._state>=3||(this._state=3,this._styler.finish(),this._flushStartFns(),this._specialStyles&&this._specialStyles.finish(),this._flushDoneFns())}setPosition(t){this._styler.setPosition(t)}getPosition(){return this._styler.getPosition()}hasStarted(){return this._state>=2}init(){this._state>=1||(this._state=1,this._styler.apply(),this._delay&&this._styler.pause())}play(){this.init(),this.hasStarted()||(this._flushStartFns(),this._state=2,this._specialStyles&&this._specialStyles.start()),this._styler.resume()}pause(){this.init(),this._styler.pause()}restart(){this.reset(),this.play()}reset(){this._styler.destroy(),this._buildStyler(),this._styler.apply()}_buildStyler(){this._styler=new Fy(this.element,this.animationName,this._duration,this._delay,this.easing,"forwards",()=>this.finish())}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}beforeDestroy(){this.init();const t={};if(this.hasStarted()){const e=this._state>=3;Object.keys(this._finalStyles).forEach(n=>{"offset"!=n&&(t[n]=e?this._finalStyles[n]:j_(this.element,n))})}this.currentSnapshot=t}}class Wy extends zt.d{constructor(t,e){super(),this.element=t,this._startingStyles={},this.__initialized=!1,this._styles=h_(e)}init(){!this.__initialized&&this._startingStyles&&(this.__initialized=!0,Object.keys(this._styles).forEach(t=>{this._startingStyles[t]=this.element.style[t]}),super.init())}play(){this._startingStyles&&(this.init(),Object.keys(this._styles).forEach(t=>this.element.style.setProperty(t,this._styles[t])),super.play())}destroy(){this._startingStyles&&(Object.keys(this._startingStyles).forEach(t=>{const e=this._startingStyles[t];e?this.element.style.setProperty(t,e):this.element.style.removeProperty(t)}),this._startingStyles=null,super.destroy())}}class Ky{constructor(){this._count=0,this._head=document.querySelector("head"),this._warningIssued=!1}validateStyleProperty(t){return g_(t)}matchesElement(t,e){return f_(t,e)}containsElement(t,e){return p_(t,e)}query(t,e,n){return m_(t,e,n)}computeStyle(t,e,n){return window.getComputedStyle(t)[e]}buildKeyframeElement(t,e,n){n=n.map(t=>h_(t));let a=`@keyframes ${e} {\n`,r="";n.forEach(t=>{r=" ";const e=parseFloat(t.offset);a+=`${r}${100*e}% {\n`,r+=" ",Object.keys(t).forEach(e=>{const n=t[e];switch(e){case"offset":return;case"easing":return void(n&&(a+=`${r}animation-timing-function: ${n};\n`));default:return void(a+=`${r}${e}: ${n};\n`)}}),a+=`${r}}\n`}),a+="}\n";const o=document.createElement("style");return o.innerHTML=a,o}animate(t,e,n,a,r,o=[],i){i&&this._notifyFaultyScrubber();const s=o.filter(t=>t instanceof Uy),c={};D_(n,a)&&s.forEach(t=>{let e=t.currentSnapshot;Object.keys(e).forEach(t=>c[t]=e[t])});const l=function(t){let e={};return t&&(Array.isArray(t)?t:[t]).forEach(t=>{Object.keys(t).forEach(n=>{"offset"!=n&&"easing"!=n&&(e[n]=t[n])})}),e}(e=L_(t,e,c));if(0==n)return new Wy(t,l);const d=`gen_css_kf_${this._count++}`,u=this.buildKeyframeElement(t,d,e);document.querySelector("head").appendChild(u);const g=Dy(t,e),f=new Uy(t,e,d,n,a,r,l,g);return f.onDestroy(()=>{var t;(t=u).parentNode.removeChild(t)}),f}_notifyFaultyScrubber(){this._warningIssued||(console.warn("@angular/animations: please load the web-animations.js polyfill to allow programmatic access...\n","  visit http://bit.ly/IWukam to learn more about using the web-animation-js polyfill."),this._warningIssued=!0)}}class $y{constructor(t,e,n,a){this.element=t,this.keyframes=e,this.options=n,this._specialStyles=a,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this.time=0,this.parentPlayer=null,this.currentSnapshot={},this._duration=n.duration,this._delay=n.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;const t=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,t,this.options),this._finalKeyframe=t.length?t[t.length-1]:{},this.domPlayer.addEventListener("finish",()=>this._onFinish())}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_triggerWebAnimation(t,e,n){return t.animate(e,n)}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(t=>t()),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()}pause(){this.init(),this.domPlayer.pause()}finish(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()}reset(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1}_resetDomPlayerState(){this.domPlayer&&this.domPlayer.cancel()}restart(){this.reset(),this.play()}hasStarted(){return this._started}destroy(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}setPosition(t){this.domPlayer.currentTime=t*this.time}getPosition(){return this.domPlayer.currentTime/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){const t={};this.hasStarted()&&Object.keys(this._finalKeyframe).forEach(e=>{"offset"!=e&&(t[e]=this._finished?this._finalKeyframe[e]:j_(this.element,e))}),this.currentSnapshot=t}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}class Zy{constructor(){this._isNativeImpl=/\{\s*\[native\s+code\]\s*\}/.test(Jy().toString()),this._cssKeyframesDriver=new Ky}validateStyleProperty(t){return g_(t)}matchesElement(t,e){return f_(t,e)}containsElement(t,e){return p_(t,e)}query(t,e,n){return m_(t,e,n)}computeStyle(t,e,n){return window.getComputedStyle(t)[e]}overrideWebAnimationsSupport(t){this._isNativeImpl=t}animate(t,e,n,a,r,o=[],i){if(!i&&!this._isNativeImpl)return this._cssKeyframesDriver.animate(t,e,n,a,r,o);const s={duration:n,delay:a,fill:0==a?"both":"forwards"};r&&(s.easing=r);const c={},l=o.filter(t=>t instanceof $y);D_(n,a)&&l.forEach(t=>{let e=t.currentSnapshot;Object.keys(e).forEach(t=>c[t]=e[t])});const d=Dy(t,e=L_(t,e=e.map(t=>P_(t,!1)),c));return new $y(t,e,s,d)}}function Jy(){return"undefined"!=typeof window&&void 0!==window.document&&Element.prototype.animate||{}}class Xy extends zt.b{constructor(t,e){super(),this._nextAnimationId=0,this._renderer=t.createRenderer(e.body,{id:"0",encapsulation:i.ViewEncapsulation.None,styles:[],data:{animation:[]}})}build(t){const e=this._nextAnimationId.toString();this._nextAnimationId++;const n=Array.isArray(t)?Object(zt.f)(t):t;return eO(this._renderer,null,e,"register",[n]),new Qy(e,this._renderer)}}class Qy extends zt.c{constructor(t,e){super(),this._id=t,this._renderer=e}create(t,e){return new tO(this._id,t,e||{},this._renderer)}}class tO{constructor(t,e,n,a){this.id=t,this.element=e,this._renderer=a,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",n)}_listen(t,e){return this._renderer.listen(this.element,`@@${this.id}:${t}`,e)}_command(t,...e){return eO(this._renderer,this.element,this.id,t,e)}onDone(t){this._listen("done",t)}onStart(t){this._listen("start",t)}onDestroy(t){this._listen("destroy",t)}init(){this._command("init")}hasStarted(){return this._started}play(){this._command("play"),this._started=!0}pause(){this._command("pause")}restart(){this._command("restart")}finish(){this._command("finish")}destroy(){this._command("destroy")}reset(){this._command("reset")}setPosition(t){this._command("setPosition",t)}getPosition(){return 0}}function eO(t,e,n,a,r){return t.setProperty(e,`@@${n}:${a}`,r)}class nO{constructor(t,e,n){this.delegate=t,this.engine=e,this._zone=n,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,this.promise=Promise.resolve(0),e.onRemovalComplete=(t,e)=>{e&&e.parentNode(t)&&e.removeChild(t.parentNode,t)}}createRenderer(t,e){const n=this.delegate.createRenderer(t,e);if(!(t&&e&&e.data&&e.data.animation)){let t=this._rendererCache.get(n);return t||(t=new aO("",n,this.engine),this._rendererCache.set(n,t)),t}const a=e.id,r=e.id+"-"+this._currentId;return this._currentId++,this.engine.register(r,t),e.data.animation.forEach(e=>this.engine.registerTrigger(a,r,t,e.name,e)),new rO(this,r,n,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){this.promise.then(()=>{this._microtaskId++})}scheduleListenerCallback(t,e,n){t>=0&&t<this._microtaskId?this._zone.run(()=>e(n)):(0==this._animationCallbacksBuffer.length&&Promise.resolve(null).then(()=>{this._zone.run(()=>{this._animationCallbacksBuffer.forEach(t=>{const[e,n]=t;e(n)}),this._animationCallbacksBuffer=[]})}),this._animationCallbacksBuffer.push([e,n]))}end(){this._cdRecurDepth--,0==this._cdRecurDepth&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}}class aO{constructor(t,e,n){this.namespaceId=t,this.delegate=e,this.engine=n,this.destroyNode=this.delegate.destroyNode?t=>e.destroyNode(t):null}get data(){return this.delegate.data}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.delegate.destroy()}createElement(t,e){return this.delegate.createElement(t,e)}createComment(t){return this.delegate.createComment(t)}createText(t){return this.delegate.createText(t)}appendChild(t,e){this.delegate.appendChild(t,e),this.engine.onInsert(this.namespaceId,e,t,!1)}insertBefore(t,e,n){this.delegate.insertBefore(t,e,n),this.engine.onInsert(this.namespaceId,e,t,!0)}removeChild(t,e,n){this.engine.onRemove(this.namespaceId,e,this.delegate,n)}selectRootElement(t,e){return this.delegate.selectRootElement(t,e)}parentNode(t){return this.delegate.parentNode(t)}nextSibling(t){return this.delegate.nextSibling(t)}setAttribute(t,e,n,a){this.delegate.setAttribute(t,e,n,a)}removeAttribute(t,e,n){this.delegate.removeAttribute(t,e,n)}addClass(t,e){this.delegate.addClass(t,e)}removeClass(t,e){this.delegate.removeClass(t,e)}setStyle(t,e,n,a){this.delegate.setStyle(t,e,n,a)}removeStyle(t,e,n){this.delegate.removeStyle(t,e,n)}setProperty(t,e,n){"@"==e.charAt(0)&&"@.disabled"==e?this.disableAnimations(t,!!n):this.delegate.setProperty(t,e,n)}setValue(t,e){this.delegate.setValue(t,e)}listen(t,e,n){return this.delegate.listen(t,e,n)}disableAnimations(t,e){this.engine.disableAnimations(t,e)}}class rO extends aO{constructor(t,e,n,a){super(e,n,a),this.factory=t,this.namespaceId=e}setProperty(t,e,n){"@"==e.charAt(0)?"."==e.charAt(1)&&"@.disabled"==e?this.disableAnimations(t,n=void 0===n||!!n):this.engine.process(this.namespaceId,t,e.substr(1),n):this.delegate.setProperty(t,e,n)}listen(t,e,n){if("@"==e.charAt(0)){const a=function(t){switch(t){case"body":return document.body;case"document":return document;case"window":return window;default:return t}}(t);let r=e.substr(1),o="";return"@"!=r.charAt(0)&&([r,o]=function(t){const e=t.indexOf(".");return[t.substring(0,e),t.substr(e+1)]}(r)),this.engine.listen(this.namespaceId,a,r,o,t=>{this.factory.scheduleListenerCallback(t._data||-1,n,t)})}return this.delegate.listen(t,e,n)}}class oO extends Ey{constructor(t,e,n){super(t.body,e,n)}}function iO(){return"function"==typeof Jy()?new Zy:new Ky}function sO(){return new cy}function cO(t,e,n){return new nO(t,e,n)}const lO=new i.InjectionToken("AnimationModuleType");class dO{}var uO=n("Avrn");let gO=(()=>{class t{constructor(t,e){this.router=t,this.authStorageService=e}canActivate(){return!(this.authStorageService.isLoggedIn()&&!this.authStorageService.isSSO()&&this.authStorageService.getPwdUpdateRequired()&&(this.router.navigate(["/login-change-password"]),1))}canActivateChild(){return this.canActivate()}}return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t(i["ɵɵinject"](Tt.m),i["ɵɵinject"](bt.a))},token:t,providedIn:"root"}),t})();var fO=n("Vhfg");let pO=(()=>{class t{constructor(t,e){this.http=t,this.router=e}canActivate(t){return this.doCheck(t)}canActivateChild(t){return this.doCheck(t)}doCheck(e){if(e.url.length>0&&t.WHITELIST.includes(e.url[0].path))return Object(gn.a)(!0);const n=e.data.moduleStatusGuardConfig;return this.http.get(`api/${n.apiPath}/status`).pipe(Object(pe.a)(t=>(t.available||this.router.navigate([n.redirectTo,t.message||""]),t.available)),Object(Zb.a)(()=>(this.router.navigate([n.redirectTo]),Object(gn.a)(!1))))}}return t.WHITELIST=["501"],t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t(i["ɵɵinject"](J.c),i["ɵɵinject"](Tt.m))},token:t,providedIn:"root"}),t})(),mO=(()=>{class t{constructor(t,e){this.authStorageService=t,this.router=e}canActivate(){return!this.authStorageService.isSSO()||(this.router.navigate(["404"]),!1)}canActivateChild(){return this.canActivate()}}return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t(i["ɵɵinject"](bt.a),i["ɵɵinject"](Tt.m))},token:t,providedIn:"root"}),t})();class hO extends vn{resolve(t){const e=[],n=t.queryParams.fromLink||null;let a="";switch(n){case"/monitor":a="Monitors";break;case"/hosts":a="Hosts"}return e.push({text:"Cluster",path:null}),e.push({text:a,path:n}),e.push({text:"Performance Counters",path:""}),e}}class bO extends vn{resolve(t){const e=t.params.name;return[{text:$.startCase(e),path:e}]}}const _O={breadcrumbs:"Cluster/Hosts"},yO={breadcrumbs:Ot.a.CREATE},OO={breadcrumbs:"Cluster/Monitors"},vO={breadcrumbs:"Cluster/Services"},CO={breadcrumbs:"Cluster/Inventory"},PO={breadcrumbs:"Cluster/OSDs"},MO={breadcrumbs:Ot.a.CREATE},xO={breadcrumbs:"Cluster/Configuration"},wO={breadcrumbs:Ot.a.EDIT},TO={breadcrumbs:"Cluster/CRUSH map"},kO={breadcrumbs:"Cluster/Logs"},SO={breadcrumbs:"Cluster/Monitoring"},IO={breadcrumbs:`${Ot.a.CREATE} Silence`},NO={breadcrumbs:Ot.a.CREATE},RO={breadcrumbs:Ot.a.EDIT},AO={breadcrumbs:Ot.a.RECREATE},EO={breadcrumbs:hO},DO={breadcrumbs:"Cluster/Manager modules"},LO={breadcrumbs:bO},qO={breadcrumbs:"Pools"},jO=()=>Promise.all([n.e(2),n.e(1),n.e(8)]).then(n.bind(null,"nOaW")).then(t=>t.RoutedPoolModuleNgFactory),FO={breadcrumbs:!0,text:"Block",path:null},zO=()=>Promise.all([n.e(2),n.e(7)]).then(n.bind(null,"J6Oi")).then(t=>t.RoutedBlockModuleNgFactory),VO={breadcrumbs:"Filesystems"},GO={moduleStatusGuardConfig:{apiPath:"rgw",redirectTo:"rgw/501"},breadcrumbs:!0,text:"Object Gateway",path:null},YO=()=>n.e(6).then(n.bind(null,"Znkk")).then(t=>t.RoutedRgwModuleNgFactory),BO={breadcrumbs:"User management",path:null},HO=()=>Promise.all([n.e(1),n.e(9)]).then(n.bind(null,"DY6s")).then(t=>t.RoutedAuthModuleNgFactory),UO={breadcrumbs:"User profile",path:null},WO={breadcrumbs:Ot.a.EDIT},KO={breadcrumbs:"NFS"},$O={moduleStatusGuardConfig:{apiPath:"nfs-ganesha",redirectTo:"nfs/501"},breadcrumbs:"NFS"},ZO={breadcrumbs:Ot.a.CREATE},JO={breadcrumbs:Ot.a.EDIT};class XO{}var QO=n("yT6U"),tv=n("4DD9"),ev=n("IzCI"),nv=n("Dwqy"),av=n("uYzU"),rv=n("nSDx"),ov=n("SB+Q"),iv=n("BQkM"),sv=n("dEH0"),cv=n("G1/K"),lv=n("TJUb"),dv=n("FO+L"),uv=n("nhM1"),gv=n("BARL");class fv{constructor(){this.closeOthers=!1,this.isAnimated=!1}}class pv{static forRoot(){return{ngModule:pv,providers:[fv]}}}let mv=(()=>{class t{constructor(t){this.http=t}jsError(t,e,n){return this.http.post("ui-api/logging/js-error",{url:t,message:e,stack:n})}}return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t(i["ɵɵinject"](J.c))},token:t,providedIn:me.a}),t})();class hv{constructor(t){this.injector=t}handleError(t){const e=this.injector.get(mv),n=window.location.href;throw e.jsError(n,t&&t.message,t&&t.stack).subscribe(),t}}var bv=n("aHM3"),_v=n("9Xeq"),yv=n("yGOH"),Ov=n("bxSN"),vv=n("V/fk"),Cv=n("F8xH"),Pv=n("ChqD"),Mv=n("PCNd"),xv=n("LceX");class wv{}class Tv{}var kv=n("G6Q+");class Sv{}var Iv=n("kJI8");class Nv{}class Rv{}class Av{}class Ev{}class Dv{}var Lv=function(){function t(t){if(t)throw new Error("JwtModule is already loaded. It should only be imported in your application's main module.")}return t.forRoot=function(e){return{ngModule:t,providers:[{provide:J.a,useClass:Kb,multi:!0},e.jwtOptionsProvider||{provide:Hb,useValue:e.config},Ub]}},t}(),qv=i["ɵcmf"](l,[d],(function(t){return i["ɵmod"]([i["ɵmpd"](512,i.ComponentFactoryResolver,i["ɵCodegenComponentFactoryResolver"],[[8,[v,C.a,Dn,gr,ti,_i,xi,Li,jr,Rs,oc,vc,zc,el,ld,Dd,au,cu,yu,Bu,Tg,Gg,Wg,cf,Kp,Qp,cm,Om,xm,Im,Dm,zm,L,B,Vm.a,Ut.a,Gm.a,Ym.a,Ym.b,Bm.a,Hm.a,Um.a,Wm.a,Km.a,$m.a,$m.c,$m.b,Qm,mh,ss,Ch,Sh,Gh,$h,mb,xb,Rb,Lb,zb,Bb]],[3,i.ComponentFactoryResolver],i.NgModuleRef]),i["ɵmpd"](4608,J.j,J.p,[o.DOCUMENT,i.PLATFORM_ID,J.n]),i["ɵmpd"](4608,J.q,J.q,[J.j,J.o]),i["ɵmpd"](4608,Ub,Ub,[Hb]),i["ɵmpd"](4608,bt.a,bt.a,[]),i["ɵmpd"](5120,J.a,(function(t,e,n,a,r,o){return[t,new Kb(e,n),new Jb(a,r,o)]}),[J.q,Hb,Ub,Tt.m,bt.a,ut.a]),i["ɵmpd"](4608,J.m,J.m,[]),i["ɵmpd"](6144,J.k,null,[J.m]),i["ɵmpd"](4608,J.i,J.i,[J.k]),i["ɵmpd"](6144,J.b,null,[J.i]),i["ɵmpd"](4608,J.g,J.l,[J.b,i.Injector]),i["ɵmpd"](4608,J.c,J.c,[J.g]),i["ɵmpd"](4352,i.LOCALE_ID,"en-US",[]),i["ɵmpd"](4608,o.NgLocalization,o.NgLocaleLocalization,[i.LOCALE_ID,[2,o["ɵangular_packages_common_common_a"]]]),i["ɵmpd"](5120,i["ɵangular_packages_core_core_ba"],i["ɵangular_packages_core_core_r"],[i.NgZone]),i["ɵmpd"](5120,i.APP_ID,i["ɵangular_packages_core_core_f"],[]),i["ɵmpd"](5120,i.IterableDiffers,i["ɵangular_packages_core_core_n"],[]),i["ɵmpd"](5120,i.KeyValueDiffers,i["ɵangular_packages_core_core_o"],[]),i["ɵmpd"](4608,mr.b,mr.k,[o.DOCUMENT]),i["ɵmpd"](6144,i.Sanitizer,null,[mr.b]),i["ɵmpd"](4608,mr.e,mr.g,[]),i["ɵmpd"](5120,mr.c,(function(t,e,n,a,r,o,i,s){return[new mr.i(t,e,n),new mr.n(a),new mr.m(r,o,i,s)]}),[o.DOCUMENT,i.NgZone,i.PLATFORM_ID,o.DOCUMENT,o.DOCUMENT,mr.e,i["ɵConsole"],[2,mr.f]]),i["ɵmpd"](4608,mr.d,mr.d,[mr.c,i.NgZone]),i["ɵmpd"](135680,mr.l,mr.l,[o.DOCUMENT]),i["ɵmpd"](4608,mr.j,mr.j,[mr.d,mr.l,i.APP_ID]),i["ɵmpd"](5120,__,iO,[]),i["ɵmpd"](5120,sy,sO,[]),i["ɵmpd"](4608,Ey,oO,[o.DOCUMENT,__,sy]),i["ɵmpd"](5120,i.RendererFactory2,cO,[mr.j,Ey,i.NgZone]),i["ɵmpd"](6144,mr.o,null,[mr.l]),i["ɵmpd"](4608,i.Testability,i.Testability,[i.NgZone]),i["ɵmpd"](4608,zt.b,Xy,[i.RendererFactory2,o.DOCUMENT]),i["ɵmpd"](5120,Tt.a,Tt.B,[Tt.m]),i["ɵmpd"](4608,Tt.g,Tt.g,[]),i["ɵmpd"](6144,Tt.h,null,[Tt.g]),i["ɵmpd"](135680,Tt.s,Tt.s,[Tt.m,i.NgModuleFactoryLoader,i.Compiler,i.Injector,Tt.h]),i["ɵmpd"](4608,Tt.f,Tt.f,[]),i["ɵmpd"](5120,Tt.G,Tt.x,[Tt.m,o.ViewportScroller,Tt.i]),i["ɵmpd"](5120,Tt.j,Tt.E,[Tt.C]),i["ɵmpd"](5120,i.APP_BOOTSTRAP_LISTENER,(function(t){return[t]}),[Tt.j]),i["ɵmpd"](4608,bO,bO,[]),i["ɵmpd"](4608,hO,hO,[]),i["ɵmpd"](4608,W.D,W.D,[]),i["ɵmpd"](4608,W.h,W.h,[]),i["ɵmpd"](4608,QO.a,QO.a,[]),i["ɵmpd"](4608,tv.a,tv.a,[]),i["ɵmpd"](5120,i.TRANSLATIONS,c,[i.LOCALE_ID]),i["ɵmpd"](4608,ra.a,ra.a,[i.TRANSLATIONS_FORMAT,i.TRANSLATIONS,i.LOCALE_ID,[2,ra.b]]),i["ɵmpd"](4608,ic.a,ic.a,[ra.a]),i["ɵmpd"](4608,o.DatePipe,o.DatePipe,[i.LOCALE_ID]),i["ɵmpd"](4608,zo.a,zo.a,[]),i["ɵmpd"](4608,ht.a,ht.a,[]),i["ɵmpd"](4608,la.a,la.a,[]),i["ɵmpd"](4608,Jn.a,Jn.a,[la.a]),i["ɵmpd"](4608,ev.a,ev.a,[la.a]),i["ɵmpd"](4608,Xn.a,Xn.a,[la.a]),i["ɵmpd"](4608,nv.a,nv.a,[]),i["ɵmpd"](4608,av.a,av.a,[]),i["ɵmpd"](4608,Fi.a,Fi.a,[]),i["ɵmpd"](4608,Wl.a,Wl.a,[]),i["ɵmpd"](4608,ie.a,ie.a,[o.DatePipe]),i["ɵmpd"](4608,rv.a,rv.a,[]),i["ɵmpd"](4608,ov.a,ov.a,[]),i["ɵmpd"](4608,xf.a,xf.a,[]),i["ɵmpd"](4608,iv.a,iv.a,[]),i["ɵmpd"](4608,sv.a,sv.a,[]),i["ɵmpd"](4608,cv.a,cv.a,[ra.a]),i["ɵmpd"](4608,si.a,si.a,[]),i["ɵmpd"](4608,lv.a,lv.a,[]),i["ɵmpd"](4608,Wt.b,Wt.b,[]),i["ɵmpd"](4608,jn.a,jn.a,[]),i["ɵmpd"](4608,Fn.a,Fn.a,[i.RendererFactory2,i.PLATFORM_ID]),i["ɵmpd"](4608,U.a,U.a,[i.ComponentFactoryResolver,i.NgZone,i.Injector,Fn.a,i.ApplicationRef]),i["ɵmpd"](4608,ae.c,ae.c,[]),i["ɵmpd"](4608,Sn.a,Sn.a,[]),i["ɵmpd"](4608,Pt.b,Pt.b,[i.RendererFactory2,U.a]),i["ɵmpd"](4608,dv.ScrollbarHelper,dv.ScrollbarHelper,[o.DOCUMENT]),i["ɵmpd"](4608,uv.DimensionsHelper,uv.DimensionsHelper,[]),i["ɵmpd"](4608,gv.ColumnChangesService,gv.ColumnChangesService,[]),i["ɵmpd"](4608,H.f,H.f,[]),i["ɵmpd"](4608,uO.a,uO.a,[Tt.m,bt.a]),i["ɵmpd"](4608,qn.f,qn.f,[]),i["ɵmpd"](4608,nt.r,nt.r,[]),i["ɵmpd"](4608,nt.t,nt.t,[]),i["ɵmpd"](4608,nt.a,nt.a,[]),i["ɵmpd"](4608,nt.h,nt.h,[]),i["ɵmpd"](4608,nt.d,nt.d,[]),i["ɵmpd"](4608,nt.j,nt.j,[]),i["ɵmpd"](4608,nt.s,nt.s,[nt.t,nt.j]),i["ɵmpd"](5120,x,N,[I]),i["ɵmpd"](4608,k,k,[x]),i["ɵmpd"](4608,Of,Of,[]),i["ɵmpd"](4608,vl,vl,[]),i["ɵmpd"](4608,al,al,[]),i["ɵmpd"](4608,Ml,Ml,[]),i["ɵmpd"](4608,Bc.a,Bc.a,[]),i["ɵmpd"](4608,fv,fv,[]),i["ɵmpd"](4608,K.g,K.g,[K.b]),i["ɵmpd"](1073742336,J.e,J.e,[]),i["ɵmpd"](1073742336,J.d,J.d,[]),i["ɵmpd"](1073742336,o.CommonModule,o.CommonModule,[]),i["ɵmpd"](512,i.ErrorHandler,hv,[i.Injector]),i["ɵmpd"](1024,i.NgProbeToken,(function(){return[Tt.w()]}),[]),i["ɵmpd"](512,Tt.C,Tt.C,[i.Injector]),i["ɵmpd"](1024,i.APP_INITIALIZER,(function(t,e){return[mr.p(t),Tt.D(e)]}),[[2,i.NgProbeToken],Tt.C]),i["ɵmpd"](512,i.ApplicationInitStatus,i.ApplicationInitStatus,[[2,i.APP_INITIALIZER]]),i["ɵmpd"](131584,i.ApplicationRef,i.ApplicationRef,[i.NgZone,i["ɵConsole"],i.Injector,i.ErrorHandler,i.ComponentFactoryResolver,i.ApplicationInitStatus]),i["ɵmpd"](1073742336,i.ApplicationModule,i.ApplicationModule,[i.ApplicationRef]),i["ɵmpd"](1073742336,mr.a,mr.a,[[3,mr.a]]),i["ɵmpd"](1073742336,dO,dO,[]),i["ɵmpd"](1073742336,u.i,u.i,[]),i["ɵmpd"](1024,Tt.v,Tt.z,[[3,Tt.m]]),i["ɵmpd"](512,Tt.u,Tt.c,[]),i["ɵmpd"](512,Tt.b,Tt.b,[]),i["ɵmpd"](256,Tt.i,{useHash:!0,preloadingStrategy:Tt.g},[]),i["ɵmpd"](1024,o.LocationStrategy,Tt.y,[o.PlatformLocation,[2,o.APP_BASE_HREF],Tt.i]),i["ɵmpd"](512,o.Location,o.Location,[o.LocationStrategy,o.PlatformLocation]),i["ɵmpd"](512,i.Compiler,i.Compiler,[]),i["ɵmpd"](512,i.NgModuleFactoryLoader,i.SystemJsNgModuleLoader,[i.Compiler,[2,i.SystemJsNgModuleLoaderConfig]]),i["ɵmpd"](1024,Tt.k,(function(){return[[{path:"",redirectTo:"dashboard",pathMatch:"full"},{path:"",component:Nn,canActivate:[uO.a,gO],canActivateChild:[uO.a,gO],children:[{path:"dashboard",component:ir},{path:"hosts",data:_O,children:[{path:"",component:Ho},{path:"create",component:di,data:yO}]},{path:"monitor",component:Oi,data:OO},{path:"services",component:Ii,data:vO},{path:"inventory",component:Rr,data:CO},{path:"osd",data:PO,children:[{path:"",component:vs},{path:"create",component:Ks,data:MO}]},{path:"configuration",data:xO,children:[{path:"",component:pc},{path:"edit/:name",component:Pc,data:wO}]},{path:"crush-map",component:Wc,data:TO},{path:"logs",component:$l,data:kO},{path:"monitoring",data:SO,children:[{path:"",component:xd},{path:"silence/create",component:Fd,data:IO},{path:"silence/create/:id",component:Fd,data:NO},{path:"silence/edit/:id",component:Fd,data:RO},{path:"silence/recreate/:id",component:Fd,data:AO}]},{path:"perf_counters/:type/:id",component:ru,data:EO},{path:"mgr-modules",data:DO,children:[{path:"",component:mu},{path:"edit/:name",component:Ou,data:LO}]},{path:"pool",data:qO,loadChildren:jO},{path:"block",data:FO,loadChildren:zO},{path:"cephfs",component:Pg,canActivate:[fO.a],data:VO},{path:"rgw",canActivateChild:[fO.a,pO],data:GO,loadChildren:YO},{path:"user-management",data:BO,loadChildren:HO},{path:"user-profile",data:UO,children:[{path:"edit",component:Ig,canActivate:[mO],data:WO}]},{path:"nfs/501/:message",component:Yg,data:KO},{path:"nfs",canActivateChild:[fO.a,pO],data:$O,children:[{path:"",component:tf},{path:"create",component:Ff,data:ZO},{path:"edit/:cluster_id/:export_id",component:Ff,data:JO}]}]},{path:"",component:$p,children:[{path:"login",component:em},{path:"login-change-password",component:lm,canActivate:[mO]},{path:"logout",children:[]}]},{path:"",component:vm,children:[{path:"sso/404",component:wm},{path:"403",component:Nm},{path:"404",component:Lm},{path:"**",redirectTo:"/404"}]}]]}),[]),i["ɵmpd"](1024,Tt.m,Tt.A,[i.ApplicationRef,Tt.u,Tt.b,o.Location,i.Injector,i.NgModuleFactoryLoader,i.Compiler,Tt.k,Tt.i,[2,Tt.t],[2,Tt.l]]),i["ɵmpd"](1073742336,Tt.q,Tt.q,[[2,Tt.v],[2,Tt.m]]),i["ɵmpd"](1073742336,XO,XO,[]),i["ɵmpd"](1073742336,R,R,[]),i["ɵmpd"](1073742336,bv.a,bv.a,[]),i["ɵmpd"](1073742336,W.C,W.C,[]),i["ɵmpd"](1073742336,W.n,W.n,[]),i["ɵmpd"](1073742336,jn.d,jn.d,[]),i["ɵmpd"](1073742336,W.y,W.y,[]),i["ɵmpd"](1073742336,_v.a,_v.a,[]),i["ɵmpd"](1073742336,Wt.c,Wt.c,[]),i["ɵmpd"](1073742336,ae.d,ae.d,[]),i["ɵmpd"](1073742336,Sn.d,Sn.d,[]),i["ɵmpd"](1073742336,Kn.b,Kn.b,[]),i["ɵmpd"](1073742336,Pt.e,Pt.e,[]),i["ɵmpd"](1073742336,yv.a,yv.a,[]),i["ɵmpd"](1073742336,H.e,H.e,[]),i["ɵmpd"](1073742336,K.f,K.f,[]),i["ɵmpd"](1073742336,Ov.ClickOutsideModule,Ov.ClickOutsideModule,[]),i["ɵmpd"](1073742336,ce.b,ce.b,[]),i["ɵmpd"](1073742336,vv.a,vv.a,[]),i["ɵmpd"](1073742336,Cv.NgxDatatableModule,Cv.NgxDatatableModule,[]),i["ɵmpd"](1073742336,Pv.a,Pv.a,[]),i["ɵmpd"](1073742336,me.a,me.a,[]),i["ɵmpd"](1073742336,Mv.a,Mv.a,[]),i["ɵmpd"](1073742336,qn.d,qn.d,[]),i["ɵmpd"](1073742336,nt.g,nt.g,[]),i["ɵmpd"](1073742336,xv.a,xv.a,[]),i["ɵmpd"](1073742336,Bt,Bt,[]),i["ɵmpd"](1073742336,wv,wv,[]),i["ɵmpd"](1073742336,Tv,Tv,[]),i["ɵmpd"](1073742336,kv.a,kv.a,[]),i["ɵmpd"](1073742336,Sv,Sv,[]),i["ɵmpd"](1073742336,Cf,Cf,[]),i["ɵmpd"](1073742336,wl,wl,[]),i["ɵmpd"](1073742336,Uc.b,Uc.b,[]),i["ɵmpd"](1073742336,Iv.a,Iv.a,[]),i["ɵmpd"](1073742336,Nv,Nv,[]),i["ɵmpd"](1073742336,Rv,Rv,[]),i["ɵmpd"](1073742336,Av,Av,[]),i["ɵmpd"](1073742336,Ev,Ev,[]),i["ɵmpd"](1073742336,Dv,Dv,[]),i["ɵmpd"](1073742336,pv,pv,[]),i["ɵmpd"](1073742336,Lv,Lv,[[3,Lv]]),i["ɵmpd"](1073742336,l,l,[]),i["ɵmpd"](256,J.n,"XSRF-TOKEN",[]),i["ɵmpd"](256,J.o,"X-XSRF-TOKEN",[]),i["ɵmpd"](256,Hb,{tokenGetter:s},[]),i["ɵmpd"](256,i["ɵAPP_ROOT"],!0,[]),i["ɵmpd"](256,lO,"BrowserAnimations",[]),i["ɵmpd"](256,i.TRANSLATIONS_FORMAT,"xlf",[]),i["ɵmpd"](256,H.a,{autoClose:!0,insideClick:!1},[]),i["ɵmpd"](256,I,{},[]),i["ɵmpd"](256,u.b,{default:u.a,config:{positionClass:"toast-top-right",preventDuplicates:!0,enableHtml:!0}},[]),i["ɵmpd"](1024,K.b,(function(){return[[]]}),[]),i["ɵmpd"](256,K.a,1,[])])}));o.registerLocaleData(r.a),Object(i.enableProdMode)(),mr.h().bootstrapModuleFactory(qv).catch(t=>console.log(t))},zZ0H:function(t,e){t.exports=function(t){return t}},zavE:function(t,e,n){!function(t){"use strict";t.defineLocale("en-SG",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})}(n("wd/R"))},zk60:function(t,e,n){var a=n("2oRo"),r=n("kRJp");t.exports=function(t,e){try{r(a,t,e)}catch(n){a[t]=e}return e}},zoYe:function(t,e,n){var a=n("nmnc"),r=n("eUgh"),o=n("Z0cm"),i=n("/9aa"),s=a?a.prototype:void 0,c=s?s.toString:void 0;t.exports=function t(e){if("string"==typeof e)return e;if(o(e))return r(e,t)+"";if(i(e))return c?c.call(e):"";var n=e+"";return"0"==n&&1/e==-1/0?"-0":n}},zx6S:function(t,e,n){!function(t){"use strict";var e={words:{ss:["sekunda","sekunde","sekundi"],m:["jedan minut","jedne minute"],mm:["minut","minute","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mesec","meseca","meseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(t,e){return 1===t?e[0]:t>=2&&t<=4?e[1]:e[2]},translate:function(t,n,a){var r=e.words[a];return 1===a.length?n?r[0]:r[1]:t+" "+e.correctGrammaticalCase(t,r)}};t.defineLocale("sr",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sre._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedelju] [u] LT";case 3:return"[u] [sredu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){return["[prošle] [nedelje] [u] LT","[prošlog] [ponedeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"pre %s",s:"nekoliko sekundi",ss:e.translate,m:e.translate,mm:e.translate,h:e.translate,hh:e.translate,d:"dan",dd:e.translate,M:"mesec",MM:e.translate,y:"godinu",yy:e.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n("wd/R"))}},[[0,0]]]);
\ No newline at end of file
diff --git a/ceph/src/pybind/mgr/dashboard/frontend/dist/en-US/main.bbd2d62de0d7a670cae3.js b/ceph/src/pybind/mgr/dashboard/frontend/dist/en-US/main.bbd2d62de0d7a670cae3.js
new file mode 100644 (file)
index 0000000..53ae1a7
--- /dev/null
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{"+0ag":function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{transform(t){const e=/ceph version\s+[^ ]+\s+\(.+\)\s+(.+)\s+\((.+)\)/.exec(t);return e?"dev"===e[2]?"master":e[1]:t}}},"+6XX":function(t,e,n){var a=n("y1pI");t.exports=function(t){return a(this.__data__,t)>-1}},"+K+b":function(t,e,n){var a=n("JHRd");t.exports=function(t){var e=new t.constructor(t.byteLength);return new a(e).set(new a(t)),e}},"+Qka":function(t,e,n){var a=n("fmRc"),r=n("t2Dn"),o=n("cq/+"),i=n("T1AV"),s=n("GoyQ"),c=n("mTTR"),l=n("itsj");t.exports=function t(e,n,d,u,g){e!==n&&o(n,(function(o,c){if(g||(g=new a),s(o))i(e,n,c,d,t,u,g);else{var f=u?u(l(e,c),o,c+"",e,n,g):void 0;void 0===f&&(f=o),r(e,c,f)}}),c)}},"+Wg/":function(t,e,n){"use strict";n.r(e),e.default='<xliff xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 http://docs.oasis-open.org/xliff/v1.2/os/xliff-core-1.2-strict.xsd" xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">\n  <file original="ng2.template" datatype="plaintext" source-language="en-US" target-language="pt-BR">\n    <body>\n      <trans-unit id="319e0745bcbc132451569294fa2fa21bf10f555a" datatype="html">\n        <source>Toggle navigation</source>\n        <target>Alternar navegação</target>\n      </trans-unit>\n      <trans-unit id="f65253954b66e929a8b4d5ecaf61f9129f8cec64" datatype="html">\n        <source>Dashboard</source>\n        <target>Painel de controle</target>\n      </trans-unit>\n      <trans-unit id="f4d1dd59b039ad818d9da7e29a773e10e41d9821" datatype="html">\n        <source>Cluster</source>\n        <target>Cluster</target>\n      </trans-unit>\n      <trans-unit id="099b441d49333b3c6d30b36dc0a4763e64c78920" datatype="html">\n        <source>Hosts</source>\n        <target>Hosts</target>\n      </trans-unit>\n      <trans-unit id="2cc3ecb16e348fcf2f2fbfd2f997d4d22f37475b" datatype="html">\n        <source>Inventory</source>\n        <target>Inventory</target>\n      </trans-unit>\n      <trans-unit id="624f596cc3320f5e0a0d7c7346c364e5af9bdd8c" datatype="html">\n        <source>Monitors</source>\n        <target>Monitores</target>\n      </trans-unit>\n      <trans-unit id="419d940613972cc3fae9c8ea0a4306dbf80616e5" datatype="html">\n        <source>Services</source>\n        <target>Serviços</target>\n      </trans-unit>\n      <trans-unit id="1a9183778f2c6473d7ccb080f651caa01faaf70c" datatype="html">\n        <source>OSDs</source>\n        <target>OSDs</target>\n      </trans-unit>\n      <trans-unit id="4a41f824a35ba01d5bd7be61aa06b3e8145209d0" datatype="html">\n        <source>Configuration</source>\n        <target>Configuração</target>\n      </trans-unit>\n      <trans-unit id="8c95898abff46bfac3ed6eb2afef74597e60b15c" datatype="html">\n        <source>CRUSH map</source>\n        <target>Mapa CRUSH</target>\n      </trans-unit>\n      <trans-unit id="33da4dbeb076159510801ea764a218fd341269d2" datatype="html">\n        <source>Manager modules</source>\n        <target>Módulos do gerenciador</target>\n      </trans-unit>\n      <trans-unit id="eb3d5aefff38a814b76da74371cbf02c0789a1ef" datatype="html">\n        <source>Logs</source>\n        <target>Registros</target>\n      </trans-unit>\n      <trans-unit id="17fc3efe5f9fa4e0289c900cb6202265215a1a27" datatype="html">\n        <source>Monitoring</source>\n        <target>Monitoring</target>\n      </trans-unit>\n      <trans-unit id="92899fa68e8ca108912163ff58edc8540e453787" datatype="html">\n        <source>Pools</source>\n        <target>Pools</target>\n      </trans-unit>\n      <trans-unit id="7f5d0c10614e8a34f0e2dad33a0568277c50cf69" datatype="html">\n        <source>Block</source>\n        <target>Bloco</target>\n      </trans-unit>\n      <trans-unit id="b73f7f5060fb22a1e9ec462b1bb02493fa3ab866" datatype="html">\n        <source>Images</source>\n        <target>Imagens</target>\n      </trans-unit>\n      <trans-unit id="3c2562ba992127203dcfd014010b03cb7b8113c6" datatype="html">\n        <source>Mirroring</source>\n        <target>Espelhamento</target>\n      </trans-unit>\n      <trans-unit id="811c241d56601b91ef26735b770e64428089b950" datatype="html">\n        <source>iSCSI</source>\n        <target>iSCSI</target>\n      </trans-unit>\n      <trans-unit id="a24eabd99ea5af20f5f94c4484649cd30370042b" datatype="html">\n        <source>NFS</source>\n        <target>NFS</target>\n      </trans-unit>\n      <trans-unit id="a4eff72d97b7ced051398d581f10968218057ddc" datatype="html">\n        <source>Filesystems</source>\n        <target>Sistemas de arquivos</target>\n      </trans-unit>\n      <trans-unit id="2190548d236ca5f7bc7ab2bca334b860c5ff2ad4" datatype="html">\n        <source>Object Gateway</source>\n        <target>Gateway de Objetos</target>\n      </trans-unit>\n      <trans-unit id="9e24f9e2d42104ffc01599db4d566d1cc518f9e6" datatype="html">\n        <source>Daemons</source>\n        <target>Daemons</target>\n      </trans-unit>\n      <trans-unit id="4d13a9cd5ed3dcee0eab22cb25198d43886942be" datatype="html">\n        <source>Users</source>\n        <target>Usuários</target>\n      </trans-unit>\n      <trans-unit id="9515520496da83179d8b08132f00f575512a1f40" datatype="html">\n        <source>Buckets</source>\n        <target>Compartimentos</target>\n      </trans-unit>\n      <trans-unit id="797f8214e8148f4bf0d244baaa7341706b419549" datatype="html">\n        <source>Retrieving data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>. Please wait...\n        </source>\n        <target>Retrieving data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>. Please wait...\n        </target>\n      </trans-unit>\n      <trans-unit id="5a870dc77b9f6f33ee671ea2d856021276933339" datatype="html">\n        <source>Displaying previously cached data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>\n  for \n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n        </source>\n        <target>Displaying previously cached data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>\n  for \n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="ae580202919844531361ba2308287226ff74a584" datatype="html">\n        <source>Could not load data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n  Please check the cluster health.\n        </source>\n        <target>Could not load data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n  Please check the cluster health.\n        </target>\n      </trans-unit>\n      <trans-unit id="7e52e9143145e1db5146258de81eae018a407b31" datatype="html">\n        <source>Clear notifications</source>\n        <target>Clear notifications</target>\n      </trans-unit>\n      <trans-unit id="b0b07bb6b7ff21ede439dd04eaf8872d1ecb84d8" datatype="html">\n        <source>Remove notification</source>\n        <target>Remove notification</target>\n      </trans-unit>\n      <trans-unit id="e17a1d75189da843f541f7764f188f2b19a97df2" datatype="html">\n        <source>Duration:</source>\n        <target>Duration:</target>\n      </trans-unit>\n      <trans-unit id="0d4b37c6675c5b436a54c43d6716eec835e1aa7f" datatype="html">\n        <source>There are no notifications.</source>\n        <target>There are no notifications.</target>\n      </trans-unit>\n      <trans-unit id="0a23e992f6c6e169a38b2b7338b4e5e803b52e0d" datatype="html">\n        <source>Tasks and Notifications</source>\n        <target>Tasks and Notifications</target>\n      </trans-unit>\n      <trans-unit id="3fb5709e10166cbc85970cbff103db227dbeb813" datatype="html">\n        <source>Select a Language</source>\n        <target>Selecionar Idioma</target>\n      </trans-unit>\n      <trans-unit id="c5109325fb160b543f71a51e7511c00575057431" datatype="html">\n        <source>Loading panel data...</source>\n        <target>Carregando dados do painel...</target>\n      </trans-unit>\n      <trans-unit id="8ca12411f890ab8b0a9216418e2b8f5ea7d2441a" datatype="html">\n        <source>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the monitoring functionality.\n        </source>\n        <target>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the monitoring functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="160a9e80dc089792df42e2400b1e81b9e7025aa7" datatype="html">\n        <source>Grafana Dashboard doesn\'t exist. Please refer to\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  add dashboards to Grafana.\n        </source>\n        <target>Grafana Dashboard doesn\'t exist. Please refer to\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  add dashboards to Grafana.\n        </target>\n      </trans-unit>\n      <trans-unit id="4e11830040bd64804a0555de76f291d5832772d4" datatype="html">\n        <source>Grafana Time Picker</source>\n        <target>Seletor de Horário do Grafana</target>\n      </trans-unit>\n      <trans-unit id="238c1ba845dd7330e8088165275919a1debf1ca3" datatype="html">\n        <source>Reset Settings</source>\n        <target>Redefinir Configurações</target>\n      </trans-unit>\n      <trans-unit id="c8d1785038d461ec66b5799db21864182b35900a" datatype="html">\n        <source>Refresh</source>\n        <target>Refresh</target>\n      </trans-unit>\n      <trans-unit id="6c947210e2d162b6225083d18820ab602f58cd2d" datatype="html">\n        <source>Remove the custom configuration value. The default configuration will be inherited and used instead.</source>\n        <target>Remove the custom configuration value. The default configuration will be inherited and used instead.</target>\n      </trans-unit>\n      <trans-unit id="454ee9cb60b00446a8fb147fd2cc5eb836320586" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ option.maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ option.maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="7fc8a22825131e028336f60ef909ccbd96059703" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ option.minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ option.minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="cda31dbd724cf5f4fa7a4274d9120651490c8a8c" datatype="html">\n        <source>Back</source>\n        <target>Voltar</target>\n      </trans-unit>\n      <trans-unit id="9ce641535be1ffa106c87724ba0637facaef5f61" datatype="html">\n        <source>Your password will expire in \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>less than 1\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day. Click\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.\n        </source>\n        <target>Your password will expire in \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>less than 1\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day. Click\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.\n        </target>\n      </trans-unit>\n      <trans-unit id="c2f34088c155e40ffb23770a465a65868ce772b2" datatype="html">\n        <source>Your password will expire in \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ expirationDays }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day(s). Click\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.\n        </source>\n        <target>Your password will expire in \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ expirationDays }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day(s). Click\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.\n        </target>\n      </trans-unit>\n      <trans-unit id="9b516f972c744779257310b73f6e97438b726707" datatype="html">\n        <source>Orchestrator is not available. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the functionality.\n        </source>\n        <target>Orchestrator is not available. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="012741ee52b3c050e4a977c37cc2334f7974f141" datatype="html">\n        <source>Failed to load data.</source>\n        <target>Falha ao carregar dados.</target>\n      </trans-unit>\n      <trans-unit id="1e5e23363e949f7dcbaf034bdb141a561132a10e" datatype="html">\n        <source>Clear filters</source>\n        <target>Clear filters</target>\n      </trans-unit>\n      <trans-unit id="80cc9a12d4bf6fe454ed94b379eeaf915f920bb7" datatype="html">\n        <source>selected</source>\n        <target>selecionado(s)</target>\n        <note>X selected</note>\n      </trans-unit>\n      <trans-unit id="0cb77511a9a148e05b9adf36cc07269956fbb29d" datatype="html">\n        <source>found</source>\n        <target>encontrado(s)</target>\n        <note>X found</note>\n      </trans-unit>\n      <trans-unit id="79347388740c50b7ac97e144c2494bb62912f312" datatype="html">\n        <source>total</source>\n        <target>total</target>\n        <note>X total</note>\n      </trans-unit>\n      <trans-unit id="cff1428d10d59d14e45edec3c735a27b5482db59" datatype="html">\n        <source>Name</source>\n        <target>Nome</target>\n      </trans-unit>\n      <trans-unit id="eec715de352a6b114713b30b640d319fa78207a0" datatype="html">\n        <source>Description</source>\n        <target>Descrição</target>\n      </trans-unit>\n      <trans-unit id="4ad112ce9bcd55dfd137792a86afe1b5a5b13cf8" datatype="html">\n        <source>Long description</source>\n        <target>Descrição extensa</target>\n      </trans-unit>\n      <trans-unit id="ff7cee38a2259526c519f878e71b964f41db4348" datatype="html">\n        <source>Default</source>\n        <target>Padrão</target>\n      </trans-unit>\n      <trans-unit id="33e1c1d9fc05ca3f62fcc8a1170fc31ebae4229c" datatype="html">\n        <source>Daemon default</source>\n        <target>Padrão do daemon</target>\n      </trans-unit>\n      <trans-unit id="809b0c848932a41318f77a2aace904ef429c13f4" datatype="html">\n        <source>Values</source>\n        <target>Valores</target>\n      </trans-unit>\n      <trans-unit id="5894f7158499fdb89527af50c9f1cf7d4c95cad6" datatype="html">\n        <source>-- Default --</source>\n        <target>-- Default --</target>\n      </trans-unit>\n      <trans-unit id="514f6e12d035a6d9b00de6b3e55c18b73488da07" datatype="html">\n        <source>true</source>\n        <target>true</target>\n      </trans-unit>\n      <trans-unit id="774f5e6a183dea08393789b6f72e86afad729419" datatype="html">\n        <source>false</source>\n        <target>false</target>\n      </trans-unit>\n      <trans-unit id="82029b6db704c56a2aa3e82ac555b8655356b077" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8ed8b3967a7326b81b191c9f490006e6a6777a9a" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="52c9a103b812f258bcddc3d90a6e3f46871d25fe" datatype="html">\n        <source>Save</source>\n        <target>Salvar</target>\n      </trans-unit>\n      <trans-unit id="738de688b22fba5d0dc7a5e549996838dddad0ee" datatype="html">\n        <source>CRUSH map viewer</source>\n        <target>Visualizador de mapa CRUSH</target>\n      </trans-unit>\n      <trans-unit id="94516fa213706c67ce5a5b5765681d7fb032033a" datatype="html">\n        <source>Loading...</source>\n        <target>Carregando...</target>\n      </trans-unit>\n      <trans-unit id="formTitle" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </target>\n        <note>form title</note>\n      </trans-unit>\n      <trans-unit id="9a541ec1a4319fffc16ad3b3ab2c2b6d251a829d" datatype="html">\n        <source>Hostname</source>\n        <target>Nome de host</target>\n      </trans-unit>\n      <trans-unit id="7cbdabcece469fab89cfa687ab152bca18b97498" datatype="html">\n        <source>This field is required.</source>\n        <target>Este campo é obrigatório.</target>\n      </trans-unit>\n      <trans-unit id="1b3f5e5291541678f7afa49d28fad5ca848a8061" datatype="html">\n        <source>The chosen hostname is already in use.</source>\n        <target>The chosen hostname is already in use.</target>\n      </trans-unit>\n      <trans-unit id="formActionButton" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </target>\n        <note>form action button</note>\n      </trans-unit>\n      <trans-unit id="6110699a3562eeb15371063c0cf7f6bfd88a0209" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemNames[0] }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemNames[0] }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>?\n        </target>\n      </trans-unit>\n      <trans-unit id="549859e511ba5af0ea03fcaa620c472f08038969" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected items?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected items?\n        </target>\n      </trans-unit>\n      <trans-unit id="54839ebc827b73c9dc4e1df731c6d36a85036af7" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected \n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected \n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>?\n        </target>\n      </trans-unit>\n      <trans-unit id="2be8b7f04f0104d3fad90d079d8202b74f758b9a" datatype="html">\n        <source>Yes, I am sure.</source>\n        <target>Sim, desejo.</target>\n      </trans-unit>\n      <trans-unit id="d7b35c384aecd25a516200d6921836374613dfe7" datatype="html">\n        <source>Cancel</source>\n        <target>Cancelar</target>\n      </trans-unit>\n      <trans-unit id="55a2f26b2e87886d9b8015a887e38e51ab2a866a" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8" datatype="html">\n        <source>Close</source>\n        <target>Fechar</target>\n      </trans-unit>\n      <trans-unit id="40661476cb24c89d8b06614998e31d5fbe84eeb6" datatype="html">\n        <source>Hosts List</source>\n        <target>Lista de Hosts</target>\n      </trans-unit>\n      <trans-unit id="5e7f4b1ca49e8d217bd0e12c6f7d6b6a2ade2c18" datatype="html">\n        <source>Overall Performance</source>\n        <target>Desempenho Geral</target>\n      </trans-unit>\n      <trans-unit id="3e24569eca61d598c8b01defbbbb1fa8bd5222bc" datatype="html">\n        <source>Devices</source>\n        <target>Devices</target>\n      </trans-unit>\n      <trans-unit id="e6d57f36aa2bad303c8a8ee944b9bd7fae3c8c26" datatype="html">\n        <source>No entries found</source>\n        <target>Nenhuma entrada encontrada</target>\n      </trans-unit>\n      <trans-unit id="d556ab48a65722b400e497f61737f553ee0f89e2" datatype="html">\n        <source>Cluster Logs</source>\n        <target>Registros do Cluster</target>\n      </trans-unit>\n      <trans-unit id="5f966baffd188be0e8adc2d7067b86e55fc9b9de" datatype="html">\n        <source>Audit Logs</source>\n        <target>Registros de Auditoria</target>\n      </trans-unit>\n      <trans-unit id="4193c9eb868aeec119b78a14795241e0aa5e8b60" datatype="html">\n        <source>Priority:</source>\n        <target>Priority:</target>\n      </trans-unit>\n      <trans-unit id="1d78ca51eab260ce3fd917d39190d64df5229b6e" datatype="html">\n        <source>Keyword:</source>\n        <target>Keyword:</target>\n      </trans-unit>\n      <trans-unit id="05fa0bded36de6e73a1fa44838b627349dace044" datatype="html">\n        <source>Date:</source>\n        <target>Date:</target>\n      </trans-unit>\n      <trans-unit id="31dadb362bf7f7c2afa10e5f96474ccd3977f91f" datatype="html">\n        <source>Datepicker</source>\n        <target>Datepicker</target>\n      </trans-unit>\n      <trans-unit id="85a400388de1899b1917138cf7e5286376f72847" datatype="html">\n        <source>Time range:</source>\n        <target>Time range:</target>\n      </trans-unit>\n      <trans-unit id="2447796ddbda942f4e2c46619cb84d69f066e568" datatype="html">\n        <source>Loading configuration...</source>\n        <target>Carregando configuração...</target>\n      </trans-unit>\n      <trans-unit id="b42c0b347a841bed8859ee83de05080ee28c803b" datatype="html">\n        <source>The configuration could not be loaded.</source>\n        <target>Não foi possível carregar a configuração.</target>\n      </trans-unit>\n      <trans-unit id="31a9c2870a934b594d1390146c489f76440859ea" datatype="html">\n        <source>Edit Manager module</source>\n        <target>Editar módulo do gerenciador</target>\n      </trans-unit>\n      <trans-unit id="46e09b8290d3d0afdb6baa2021395b0570606a31" datatype="html">\n        <source>The entered value is not a valid UUID, e.g.: 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8</source>\n        <target>O valor inserido não é um UUID válido. Ex.: 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8</target>\n      </trans-unit>\n      <trans-unit id="7aacd038b39cfd347107d01d1dc27f5cb3e0951c" datatype="html">\n        <source>The entered value needs to be a valid IP address.</source>\n        <target>O valor inserido precisa ser um endereço IP válido.</target>\n      </trans-unit>\n      <trans-unit id="f19106149f4b07a0d721f9d317afed393cb7bd93" datatype="html">\n        <source>The entered value is too high! It must be lower or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.max }}"/>.\n        </source>\n        <target>The entered value is too high! It must be lower or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.max }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="6d33c40ef9a6c3bf0888df831b25e41e65f9d15b" datatype="html">\n        <source>The entered value is too low! It must be greater or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.min }}"/>.\n        </source>\n        <target>The entered value is too low! It must be greater or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.min }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="eae7086660cf1e38c7194a2c49ff52cc656f90f5" datatype="html">\n        <source>The entered value needs to be a number.</source>\n        <target>O valor inserido precisa ser um número.</target>\n      </trans-unit>\n      <trans-unit id="a73376e04b4fb3a20734c8c39743fba32e6676ce" datatype="html">\n        <source>The entered value needs to be a number or decimal.</source>\n        <target>O valor inserido precisa ser um número ou decimal.</target>\n      </trans-unit>\n      <trans-unit id="047f50bc5b5d17b5bec0196355953e1a5c590ddb" datatype="html">\n        <source>Update</source>\n        <target>Atualizar</target>\n      </trans-unit>\n      <trans-unit id="81b97b8ea996ad1e4f9fca8415021850214884b1" datatype="html">\n        <source>Status</source>\n        <target>Status</target>\n      </trans-unit>\n      <trans-unit id="57ec6032f5618d4a9f16eb950ad23d2ce7c24b54" datatype="html">\n        <source>Cluster ID</source>\n        <target>ID do Cluster</target>\n      </trans-unit>\n      <trans-unit id="67d7facc3fec5f8a49ab9ba0a245872184264ce5" datatype="html">\n        <source>monmap modified</source>\n        <target>monmap modificado</target>\n      </trans-unit>\n      <trans-unit id="d4906731aaf2b94b4f547646c9bfe58bb77951b6" datatype="html">\n        <source>monmap epoch</source>\n        <target>época de monmap</target>\n      </trans-unit>\n      <trans-unit id="bd4ee06ffdc46d9dfbd0c0c4f81399021c680056" datatype="html">\n        <source>quorum con</source>\n        <target>quorum con</target>\n      </trans-unit>\n      <trans-unit id="1176c7db8a8276ccb44cc3d42e2c28d9fa6c6596" datatype="html">\n        <source>quorum mon</source>\n        <target>quorum mon</target>\n      </trans-unit>\n      <trans-unit id="530ef677a09d681b3ab68cb0760494b3ae72a77c" datatype="html">\n        <source>required con</source>\n        <target>con obrigatório</target>\n      </trans-unit>\n      <trans-unit id="a91558e0d506c32021c31843f8f168899fc65cbf" datatype="html">\n        <source>required mon</source>\n        <target>mon obrigatório</target>\n      </trans-unit>\n      <trans-unit id="b3abe9eac5bcd94a54c8da93b312e085ec512e74" datatype="html">\n        <source>In Quorum</source>\n        <target>No Quorum</target>\n      </trans-unit>\n      <trans-unit id="ba4b748a676e1f217ce1e736fb7ec1215e677bae" datatype="html">\n        <source>Not In Quorum</source>\n        <target>Não está no Quorum</target>\n      </trans-unit>\n      <trans-unit id="4383e9662ea19839c7499b2128d43a195e564317" datatype="html">\n        <source>OSD creation preview</source>\n        <target>OSD creation preview</target>\n      </trans-unit>\n      <trans-unit id="366225c51e0b00bcb1c55795a0dc5e81c455f84e" datatype="html">\n        <source>DriveGroups</source>\n        <target>DriveGroups</target>\n      </trans-unit>\n      <trans-unit id="8edc89137d0d8c5667a2f03230beafae45e58429" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ deviceType }}"/> devices\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ deviceType }}"/> devices\n        </target>\n      </trans-unit>\n      <trans-unit id="eba28e1805b18f7c8ae2e4bc15dcf063b10b3822" datatype="html">\n        <source>At least one of these filters must be applied in order to proceed:</source>\n        <target>At least one of these filters must be applied in order to proceed:</target>\n      </trans-unit>\n      <trans-unit id="93389aa2fe2bea50bf89554ee51b28f87ee2fb50" datatype="html">\n        <source>Number of devices: \n          <x id="INTERPOLATION" equiv-text="{{ filteredDevices.length }}"/>. Raw capacity:\n          <x id="INTERPOLATION_1" equiv-text="{{ capacity | dimlessBinary }}"/>.\n        </source>\n        <target>Number of devices: \n          <x id="INTERPOLATION" equiv-text="{{ filteredDevices.length }}"/>. Raw capacity:\n          <x id="INTERPOLATION_1" equiv-text="{{ capacity | dimlessBinary }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="ccb4f84edc0b4e76415bb3f9b73d725b06683af3" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ name }}"/> devices\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ name }}"/> devices\n        </target>\n      </trans-unit>\n      <trans-unit id="60cb3d01e5ddf266ecb4271007a1c3d0f3efdc22" datatype="html">\n        <source>The primary storage devices. These devices contain all OSD data.</source>\n        <target>The primary storage devices. These devices contain all OSD data.</target>\n      </trans-unit>\n      <trans-unit id="b432e04886d0d1fd84f740477383051f85addcf2" datatype="html">\n        <source>Write-Ahead-Log devices. These devices are used for BlueStore’s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device.</source>\n        <target>Write-Ahead-Log devices. These devices are used for BlueStore’s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device.</target>\n      </trans-unit>\n      <trans-unit id="b87e181ab9e8393aa5ed759dd3d53836e32c8ffe" datatype="html">\n        <source>DB devices can be used for storing BlueStore’s internal metadata.  It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD).</source>\n        <target>DB devices can be used for storing BlueStore’s internal metadata.  It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD).</target>\n      </trans-unit>\n      <trans-unit id="f6755cff4957d5c3c89bafce5651f1b6fa2b1fd9" datatype="html">\n        <source>Add</source>\n        <target>Adicionar</target>\n      </trans-unit>\n      <trans-unit id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46" datatype="html">\n        <source>Clear</source>\n        <target>Clear</target>\n      </trans-unit>\n      <trans-unit id="7e0fd3c7af0630f93befa6234a693a32a61084e0" datatype="html">\n        <source>Raw capacity: \n          <x id="INTERPOLATION" equiv-text="{{ capacity | dimlessBinary }}"/>\n        </source>\n        <target>Raw capacity: \n          <x id="INTERPOLATION" equiv-text="{{ capacity | dimlessBinary }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="43ecf6bee2aebc07b0aad6dc1fe13e38d14687fa" datatype="html">\n        <source>Shared devices</source>\n        <target>Shared devices</target>\n      </trans-unit>\n      <trans-unit id="7a1c376f6f1b37de4c318ff2106255ba6c0f5b0b" datatype="html">\n        <source>WAL slots</source>\n        <target>WAL slots</target>\n      </trans-unit>\n      <trans-unit id="73811a6f37b63e6b0e491e221bfa21e9dea8a87a" datatype="html">\n        <source>How many OSDs per WAL device.</source>\n        <target>How many OSDs per WAL device.</target>\n      </trans-unit>\n      <trans-unit id="0c67a7ac4762ef1cc855056c6b4daab93e53a0a5" datatype="html">\n        <source>Specify 0 to let Orchestrator backend decide it.</source>\n        <target>Specify 0 to let Orchestrator backend decide it.</target>\n      </trans-unit>\n      <trans-unit id="7bda9362e06e6c67341b4a8425b0d29d6b84464b" datatype="html">\n        <source>Value should be greater than or equal to 0</source>\n        <target>Value should be greater than or equal to 0</target>\n      </trans-unit>\n      <trans-unit id="324c2b10152b9dd908222bb0b71f61beb60a30c5" datatype="html">\n        <source>DB slots</source>\n        <target>DB slots</target>\n      </trans-unit>\n      <trans-unit id="c23cf12ef9c76f37fc7a4b7ae3e00fb0f68b6e26" datatype="html">\n        <source>How many OSDs per DB device.</source>\n        <target>How many OSDs per DB device.</target>\n      </trans-unit>\n      <trans-unit id="6cdb1fea93d77c07950c0c76c6e0ad79ebbef084" datatype="html">\n        <source>Features</source>\n        <target>Recursos</target>\n      </trans-unit>\n      <trans-unit id="3e2a583f531f7dd9f089f68a6968e444c372c3e8" datatype="html">\n        <source>Preview</source>\n        <target>Preview</target>\n      </trans-unit>\n      <trans-unit id="5ef50ba2514414f799d4c8fc36067a251904ba81" datatype="html">\n        <source>Cluster-wide OSD Flags</source>\n        <target>Flags OSD de todo o Cluster</target>\n      </trans-unit>\n      <trans-unit id="71c77bb8cecdf11ec3eead24dd1ba506573fa9cd" datatype="html">\n        <source>Submit</source>\n        <target>Enviar</target>\n      </trans-unit>\n      <trans-unit id="1cfe07dac5b4ee1c464eb24225ddeb4f1d24076a" datatype="html">\n        <source>Advanced...</source>\n        <target>Avançado...</target>\n      </trans-unit>\n      <trans-unit id="b1ef1c12ddcee305353623919ef02778569f5454" datatype="html">\n        <source>Advanced configuration options</source>\n        <target>Advanced configuration options</target>\n      </trans-unit>\n      <trans-unit id="c35f9c5f268a514b970cc55e9a5dc4bed0988e7f" datatype="html">\n        <source>OSD Recovery Priority</source>\n        <target>Prioridade de Recuperação de OSD</target>\n      </trans-unit>\n      <trans-unit id="b74af38005e8a8914e45af2ec412e11ceafef8b6" datatype="html">\n        <source>Priority</source>\n        <target>Prioridade</target>\n      </trans-unit>\n      <trans-unit id="c2f48f04b379bfba133825747adfd238d511412e" datatype="html">\n        <source>Customize priority values</source>\n        <target>Personalizar valores de prioridade</target>\n      </trans-unit>\n      <trans-unit id="4aa19de2a2b54cbda39e9c62917b23044c087776" datatype="html">\n        <source>This field is required!</source>\n        <target>Este campo é obrigatório!</target>\n      </trans-unit>\n      <trans-unit id="b699e94bf376491bd50b70a98531071c737eaf40" datatype="html">\n        <source>[object Object]</source>\n        <target>[object Object]</target>\n      </trans-unit>\n      <trans-unit id="98fe13e7ad6c2b80375d204b47858ded83f80e15" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="5423a3c111be47fc5a1bfe46ceb58c81c84db691" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="5251a4355cece3075db43f15d69a24a0f8485707" datatype="html">\n        <source>Reweight OSD: \n          <x id="INTERPOLATION" equiv-text="{{ osdId }}"/>\n        </source>\n        <target>Reweight OSD: \n          <x id="INTERPOLATION" equiv-text="{{ osdId }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="67650b2998db48201b2c6176cbfef51e7211ccaa" datatype="html">\n        <source>The value needs to be between 0 and 1.</source>\n        <target>O valor precisa ser entre 0 e 1.</target>\n      </trans-unit>\n      <trans-unit id="bc11f92113d678a90e334fdf3d7b3fddbe34c579" datatype="html">\n        <source>Reweight</source>\n        <target>Reponderar</target>\n      </trans-unit>\n      <trans-unit id="d5ca5daf742023fc4f0919fb3c1c6a51991cda4f" datatype="html">\n        <source>OSDs \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>Scrub\n        </source>\n        <target>OSDs \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>Scrub\n        </target>\n      </trans-unit>\n      <trans-unit id="4c17d67c7c5799eb920030e9a399961e90f55dd8" datatype="html">\n        <source>{VAR_SELECT, select, 1 {Deep } }</source>\n        <target>{VAR_SELECT, select, 1 {Profundo } }</target>\n      </trans-unit>\n      <trans-unit id="fd0a4b6eed32e3488eccdc9c13f9841f08cc275e" datatype="html">\n        <source>You are about to apply a \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to\n          the OSD(s): \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ selected | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.\n        </source>\n        <target>You are about to apply a \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to\n          the OSD(s): \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ selected | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="dc6705f342a036b332c3fd3443201c3613e5524d" datatype="html">\n        <source>{VAR_SELECT, select, 1 {deep } }</source>\n        <target>{VAR_SELECT, select, 1 {profundo} }</target>\n      </trans-unit>\n      <trans-unit id="b49d7877d24112d4bdfce9256edf61a007fae888" datatype="html">\n        <source>OSDs List</source>\n        <target>Lista de OSDs</target>\n      </trans-unit>\n      <trans-unit id="d5707a32ba9c1138e6423498fb0b24e970ebd19f" datatype="html">\n        <source>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) \n          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </source>\n        <target>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) \n          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </target>\n      </trans-unit>\n      <trans-unit id="d08c1e4f17dffc0ed1ac2e2e2875cb8b569eeb35" datatype="html">\n        <source>The \n          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to be \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>! \n          <x id="INTERPOLATION_1" equiv-text="{{ message }}"/>\n        </source>\n        <target>The \n          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to be \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>! \n          <x id="INTERPOLATION_1" equiv-text="{{ message }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="e776996dac651ef3819bfa767ccf2a0613759f47" datatype="html">\n        <source>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</source>\n        <target>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</target>\n      </trans-unit>\n      <trans-unit id="5cd6a031937412c42e5efa1e6959cb72ac08c720" datatype="html">\n        <source>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD \n          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </source>\n        <target>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD \n          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </target>\n      </trans-unit>\n      <trans-unit id="3eda19b44809820fffd5d3753bafb7243116f4b0" datatype="html">\n        <source>To see all active Prometheus alerts, please\n      provide the URL to the API of Prometheus\' Alertmanager as described in the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </source>\n        <target>To see all active Prometheus alerts, please\n      provide the URL to the API of Prometheus\' Alertmanager as described in the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="880ad4df5a2051a437321443d69c9a866699e5ad" datatype="html">\n        <source>Active Alerts</source>\n        <target>Active Alerts</target>\n      </trans-unit>\n      <trans-unit id="8e5e0e09a11990d343926ed693574213d703c38d" datatype="html">\n        <source>All Alerts</source>\n        <target>All Alerts</target>\n      </trans-unit>\n      <trans-unit id="526938c2b7945cb0d68328c24bd77730230cd455" datatype="html">\n        <source>To enable Silences, please provide the URL to the API of the Prometheus\' Alertmanager as\n      described in the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </source>\n        <target>To enable Silences, please provide the URL to the API of the Prometheus\' Alertmanager as\n      described in the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="aa0c44aa1e5727061baa91e954f77e2f5f9a37c9" datatype="html">\n        <source>Silences</source>\n        <target>Silences</target>\n      </trans-unit>\n      <trans-unit id="8501055865d7031b5521a0c5467532648009a61d" datatype="html">\n        <source>Matcher</source>\n        <target>Matcher</target>\n      </trans-unit>\n      <trans-unit id="9c25e04f554875dc2625a78ba0fc56c6010cd0d3" datatype="html">\n        <source>-- Select an attribute to match against --</source>\n        <target>-- Select an attribute to match against --</target>\n      </trans-unit>\n      <trans-unit id="5049e204c14c648691ac775a64fb504467aeb549" datatype="html">\n        <source>Value</source>\n        <target>Valor</target>\n      </trans-unit>\n      <trans-unit id="77fc5c63497fc031ddc97645484e3d94ad27766c" datatype="html">\n        <source>Use regular expression</source>\n        <target>Use regular expression</target>\n      </trans-unit>\n      <trans-unit id="7bbec1a797283712c0adf9e71d77fb5a8cd720db" datatype="html">\n        <source>{VAR_SELECT, select, 1 {Update} other {Add} }</source>\n        <target>{VAR_SELECT, select, 1 {Update} other {Add} }</target>\n      </trans-unit>\n      <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c" datatype="html">\n        <source>Edit</source>\n        <target>Editar</target>\n      </trans-unit>\n      <trans-unit id="826b25211922a1b46436589233cb6f1a163d89b7" datatype="html">\n        <source>Delete</source>\n        <target>Excluir</target>\n      </trans-unit>\n      <trans-unit id="a3ba06aba047605af8ea1718ec1ba153b7db12a2" datatype="html">\n        <source>Editing a silence will expire the old silence and recreate it as a new silence</source>\n        <target>Editing a silence will expire the old silence and recreate it as a new silence</target>\n      </trans-unit>\n      <trans-unit id="a20424156b8816671f61879f0574a4f27d7b16b9" datatype="html">\n        <source>Creator</source>\n        <target>Creator</target>\n      </trans-unit>\n      <trans-unit id="5a5d7ee2acbfa9c91ab7f41d26bda9ff0cafe42f" datatype="html">\n        <source>Comment</source>\n        <target>Comment</target>\n      </trans-unit>\n      <trans-unit id="4c11aad490b2d53fdae30b3807beabf79306752c" datatype="html">\n        <source>Start time</source>\n        <target>Start time</target>\n      </trans-unit>\n      <trans-unit id="32856b1e8e339b747b21e313e2fe65a51fd450bb" datatype="html">\n        <source>If the start time lies in the past the creation time will be used</source>\n        <target>If the start time lies in the past the creation time will be used</target>\n      </trans-unit>\n      <trans-unit id="a02ea1d4e7424ca989929da5e598f379940fdbf2" datatype="html">\n        <source>Duration</source>\n        <target>Duration</target>\n      </trans-unit>\n      <trans-unit id="2f4e35e36f4d3c62e2c17df41730b6dee4afc4b9" datatype="html">\n        <source>End time</source>\n        <target>End time</target>\n      </trans-unit>\n      <trans-unit id="992123459137d45c15df5548bc9682aad835c04b" datatype="html">\n        <source>Matchers</source>\n        <target>Matchers</target>\n      </trans-unit>\n      <trans-unit id="3e023166c55833d5a13f4143e3dbe372befe1b4e" datatype="html">\n        <source>A silence requires at least one matcher</source>\n        <target>A silence requires at least one matcher</target>\n      </trans-unit>\n      <trans-unit id="ef765bd80c4806c51c891908c07a24bc76f019eb" datatype="html">\n        <source>Add matcher</source>\n        <target>Add matcher</target>\n      </trans-unit>\n      <trans-unit id="d2bcd3296d2850de762fb943060b7e086a893181" datatype="html">\n        <source>Health</source>\n        <target>Saúde</target>\n      </trans-unit>\n      <trans-unit id="61e0f26d843eec0b33ff475e111b0c2f7a80b835" datatype="html">\n        <source>Statistics</source>\n        <target>Estatísticas</target>\n      </trans-unit>\n      <trans-unit id="f8f74e5f683012b9c0702b1446011c6b9158bc67" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the NFS Ganesha management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the NFS Ganesha management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="7ffe39df9d88c972792bd8688b215392deb8313d" datatype="html">\n        <source>Clients</source>\n        <target>Clientes</target>\n      </trans-unit>\n      <trans-unit id="f2dae0bda66f6a349444951c0379c28cda47d6d1" datatype="html">\n        <source>Any client can access</source>\n        <target>Qualquer cliente pode acessar</target>\n      </trans-unit>\n      <trans-unit id="7882f2edb1d4139800b276b6b0bbf5ae0b2234ef" datatype="html">\n        <source>Addresses</source>\n        <target>Endereços</target>\n      </trans-unit>\n      <trans-unit id="9bd96fcf50863e685c74d0490392f46689ffbdb6" datatype="html">\n        <source>Required field</source>\n        <target>Campo obrigatório</target>\n      </trans-unit>\n      <trans-unit id="a5f3f74c0f6925826cb2188576391c0da01a23f0" datatype="html">\n        <source>Must contain one or more comma-separated values</source>\n        <target>Deve conter um ou mais valores separados por vírgula</target>\n      </trans-unit>\n      <trans-unit id="8bb5b2073697f3f4378c44a49b7524934c9268f4" datatype="html">\n        <source>For example:</source>\n        <target>Por exemplo:</target>\n      </trans-unit>\n      <trans-unit id="8f969c655b3fbe4fba7e277caf4cd2c459f9fca5" datatype="html">\n        <source>Access Type</source>\n        <target>Tipo de Acesso</target>\n      </trans-unit>\n      <trans-unit id="28952831a284cfe2b4fc39ca610e80b52598905a" datatype="html">\n        <source>Squash</source>\n        <target>Executar Squash</target>\n      </trans-unit>\n      <trans-unit id="0660ae339068979854ade34a96546980723dede3" datatype="html">\n        <source>Add clients</source>\n        <target>Adicionar clientes</target>\n      </trans-unit>\n      <trans-unit id="135b91a2d908d5814b782695470a6a786c99d9d2" datatype="html">\n        <source>-- No cluster available --</source>\n        <target>-- Não há clusters disponíveis --</target>\n      </trans-unit>\n      <trans-unit id="c501dba379f566885919240ea277b5bc10c14d18" datatype="html">\n        <source>-- Select the cluster --</source>\n        <target>-- Selecionar cluster --</target>\n      </trans-unit>\n      <trans-unit id="cf85b1ee58326aa9da63da41b2629c9db7c9a5b9" datatype="html">\n        <source>Add daemon</source>\n        <target>Adicionar daemon</target>\n      </trans-unit>\n      <trans-unit id="b3f6ba7fe84d6508705cdfe234f0fcc8ff85c9cf" datatype="html">\n        <source>Storage Backend</source>\n        <target>Backend de Armazenamento</target>\n      </trans-unit>\n      <trans-unit id="151c80ea931037cd92e854442927f8a0f6ae7795" datatype="html">\n        <source>-- No data pools available --</source>\n        <target>-- Não há pools de dados disponíveis --</target>\n      </trans-unit>\n      <trans-unit id="b6fee356d1db954255a56d8169405a89595246b9" datatype="html">\n        <source>-- Select the storage backend --</source>\n        <target>-- Selecionar backend de armazenamento --</target>\n      </trans-unit>\n      <trans-unit id="76d67035c3ab3d8e56f725859f820f03fda41cfc" datatype="html">\n        <source>Object Gateway User</source>\n        <target>Usuário do Gateway de Objetos</target>\n      </trans-unit>\n      <trans-unit id="fade7788bace74337f306ae209f10fc187ef4671" datatype="html">\n        <source>-- No users available --</source>\n        <target>-- Não há usuários disponíveis --</target>\n      </trans-unit>\n      <trans-unit id="6d30b7b36cf8f6364167321bdb4ba35d4cefce7b" datatype="html">\n        <source>-- Select the object gateway user --</source>\n        <target>-- Selecionar usuário do gateway de objetos --</target>\n      </trans-unit>\n      <trans-unit id="589ce20d3ba3e3ac44f75decfaadc4ea8f0aec2d" datatype="html">\n        <source>CephFS User ID</source>\n        <target>ID de Usuário do CephFS</target>\n      </trans-unit>\n      <trans-unit id="c4b88a53ac3b0ece46ba9b3ad72355a3c190cce7" datatype="html">\n        <source>-- No clients available --</source>\n        <target>-- Não há clientes disponíveis --</target>\n      </trans-unit>\n      <trans-unit id="da52835b80497a0002d24414b057dc46ae44ce38" datatype="html">\n        <source>-- Select the cephx client --</source>\n        <target>-- Selecionar cliente do cephx --</target>\n      </trans-unit>\n      <trans-unit id="fd3419e8957d928d7f7ba19c93356a0dbff02871" datatype="html">\n        <source>CephFS Name</source>\n        <target>Nome do CephFS</target>\n      </trans-unit>\n      <trans-unit id="ee3ba0ab5f0ccd597b3e44021c71e9aaad14df0a" datatype="html">\n        <source>-- No CephFS filesystem available --</source>\n        <target>-- No CephFS filesystem available --</target>\n      </trans-unit>\n      <trans-unit id="764c57812558b1ae66c5eec95d7efd2b1bf761e3" datatype="html">\n        <source>-- Select the CephFS filesystem --</source>\n        <target>-- Select the CephFS filesystem --</target>\n      </trans-unit>\n      <trans-unit id="957512d0321f73e9f115bce1bd823fa635170c41" datatype="html">\n        <source>Security Label</source>\n        <target>Rótulo de Segurança</target>\n      </trans-unit>\n      <trans-unit id="65ce0fa4da1ed55e658aeb31d1644a29f06bb342" datatype="html">\n        <source>Enable security label</source>\n        <target>Habilitar rótulo de segurança</target>\n      </trans-unit>\n      <trans-unit id="7e808f804130c7b6ff719509cbc06ebb27393a48" datatype="html">\n        <source>CephFS Path</source>\n        <target>Caminho do CephFS</target>\n      </trans-unit>\n      <trans-unit id="5ecc0107badb6625466aaa3f975b5c05276f432f" datatype="html">\n        <source>Path need to start with a \'/\' and can be followed by a word</source>\n        <target>O caminho precisa começar com \'/\' e pode ser seguido de uma palavra</target>\n      </trans-unit>\n      <trans-unit id="2d02916f44fc63e13ab16d1cbe72aa6cb51feab3" datatype="html">\n        <source>New directory will be created</source>\n        <target>Novo diretório será criado</target>\n      </trans-unit>\n      <trans-unit id="766c66ad5cc981c531aaf3fe3a2a7a346ddc8d83" datatype="html">\n        <source>Path</source>\n        <target>Caminho</target>\n      </trans-unit>\n      <trans-unit id="7ec35c722a50b976620f22612f7be619c12ceb90" datatype="html">\n        <source>Path can only be a single \'/\' or a word</source>\n        <target>O caminho pode ser apenas uma \'/\' ou uma palavra</target>\n      </trans-unit>\n      <trans-unit id="aebb6a5090c24511de4530195694bb3f3dcf0342" datatype="html">\n        <source>New bucket will be created</source>\n        <target>Novo compartimento será criado</target>\n      </trans-unit>\n      <trans-unit id="bee6900143996c0e908a10564532eba3da0b30fb" datatype="html">\n        <source>NFS Protocol</source>\n        <target>Protocolo NFS</target>\n      </trans-unit>\n      <trans-unit id="2f534178c01ebf1307da2eaeef04bc6801ebc729" datatype="html">\n        <source>NFSv3</source>\n        <target>NFSv3</target>\n      </trans-unit>\n      <trans-unit id="f5043c0921e709935ab026bb3253ffe1f159fca1" datatype="html">\n        <source>NFSv4</source>\n        <target>NFSv4</target>\n      </trans-unit>\n      <trans-unit id="92488963d23095985a47c0d6e62304e11d333f19" datatype="html">\n        <source>NFS Tag</source>\n        <target>Tag NFS</target>\n      </trans-unit>\n      <trans-unit id="aae93362720aea94623682996dd3fcd0f906f056" datatype="html">\n        <source>Alternative access for \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v3\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> mounts (it must not have a leading /).\n        </source>\n        <target>Alternative access for \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v3\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> mounts (it must not have a leading /).\n        </target>\n      </trans-unit>\n      <trans-unit id="45d6db77dcf1a3eeb921033abc7882e517a541cc" datatype="html">\n        <source>Clients may not mount subdirectories (i.e. if Tag = foo, the client may not mount foo/baz).</source>\n        <target>Clientes não podem montar subdiretórios (ou seja, se Tag = foo, o cliente não poderá montar foo/baz).</target>\n      </trans-unit>\n      <trans-unit id="a1c7a8676b55e882a97c6a6fb205204f9c761afa" datatype="html">\n        <source>By using different Tag options, the same Path may be exported multiple times.</source>\n        <target>Ao usar opções diferentes de Tag, o mesmo Caminho pode ser exportado várias vezes.</target>\n      </trans-unit>\n      <trans-unit id="6d2c39708a32910f89701dd7e1cfb9ec1c195768" datatype="html">\n        <source>Pseudo</source>\n        <target>Pseudo</target>\n      </trans-unit>\n      <trans-unit id="1f8be2ae25947bec0b84c2338201580ea053f34e" datatype="html">\n        <source>The position that this \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v4\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> export occupies\n                in the \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>Pseudo FS\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> (it must be unique).\n        </source>\n        <target>The position that this \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v4\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> export occupies\n                in the \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>Pseudo FS\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> (it must be unique).\n        </target>\n      </trans-unit>\n      <trans-unit id="f3af55f7fd5b1d9e5a53e030c80116dc635bfb9f" datatype="html">\n        <source>By using different Pseudo options, the same Path may be exported multiple times.</source>\n        <target>Ao usar opções diferentes de Pseudo, o mesmo Caminho pode ser exportado várias vezes.</target>\n      </trans-unit>\n      <trans-unit id="ddf98fcdeeb17643db020d54f42b5e56b5f9a52a" datatype="html">\n        <source>Pseudo needs to start with a \'/\' and can\'t contain any of the following: &gt;, &lt;, |, &amp;, ( or ).</source>\n        <target>Pseudo needs to start with a \'/\' and can\'t contain any of the following: &gt;, &lt;, |, &amp;, ( or ).</target>\n      </trans-unit>\n      <trans-unit id="27eb35c4b4ac08781a7253a2ab40f8f7d957ba51" datatype="html">\n        <source>-- No access type available --</source>\n        <target>-- Não há tipos de acesso disponíveis --</target>\n      </trans-unit>\n      <trans-unit id="509ce016c9110a54028dafd741f15ceacbe74b5a" datatype="html">\n        <source>-- Select the access type --</source>\n        <target>-- Selecionar tipo de acesso --</target>\n      </trans-unit>\n      <trans-unit id="49850390a653cd05dc5843d74ef073a9122b54c9" datatype="html">\n        <source>The Object Gateway NFS backend has a number of\n              limitations which will seriously affect applications writing to\n              the share. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for details before enabling write access.\n        </source>\n        <target>The Object Gateway NFS backend has a number of\n              limitations which will seriously affect applications writing to\n              the share. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for details before enabling write access.\n        </target>\n      </trans-unit>\n      <trans-unit id="4deda03573eaaff77e63f6a238a1f0ca7816950a" datatype="html">\n        <source>-- No squash available --</source>\n        <target>-- Não há squashes disponíveis --</target>\n      </trans-unit>\n      <trans-unit id="a0e82a4da88e7fdf270444f838d45849676e9d4b" datatype="html">\n        <source>--Select what kind of user id squashing is performed --</source>\n        <target>--Selecionar que tipo de squash de ID de usuário será executado --</target>\n      </trans-unit>\n      <trans-unit id="d01b7c3f7f06712c53d054cfbe4f53d446b038e8" datatype="html">\n        <source>Transport Protocol</source>\n        <target>Protocolo de Transporte</target>\n      </trans-unit>\n      <trans-unit id="d2a6ad6e8bc315f07911722c05767ac79c136d99" datatype="html">\n        <source>UDP</source>\n        <target>UDP</target>\n      </trans-unit>\n      <trans-unit id="9c030f11e0aae9b24d2c048c57f29f590be621df" datatype="html">\n        <source>TCP</source>\n        <target>TCP</target>\n      </trans-unit>\n      <trans-unit id="734c9905951a774870497c5aaae8e3ee833b6196" datatype="html">\n        <source>CephFS</source>\n        <target>CephFS</target>\n      </trans-unit>\n      <trans-unit id="0eb15f32b2b92d7f3103ef3ff032621888a8dc32" datatype="html">\n        <source>Old password</source>\n        <target>Old password</target>\n      </trans-unit>\n      <trans-unit id="1cf42e491adc166a337a960eb84d03c0c3f677c8" datatype="html">\n        <source>The old and new passwords must be different.</source>\n        <target>The old and new passwords must be different.</target>\n      </trans-unit>\n      <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229" datatype="html">\n        <source>New password</source>\n        <target>New password</target>\n      </trans-unit>\n      <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b" datatype="html">\n        <source>Confirm new password</source>\n        <target>Confirm new password</target>\n      </trans-unit>\n      <trans-unit id="90163a3d3746819aef42e829f4446331232f3b66" datatype="html">\n        <source>Password confirmation doesn\'t match the new password.</source>\n        <target>Password confirmation doesn\'t match the new password.</target>\n      </trans-unit>\n      <trans-unit id="d06ae77f9ec46a4cdd49e7e76c73a411aaf2ee38" datatype="html">\n        <source>Please set a new password.</source>\n        <target>Please set a new password.</target>\n      </trans-unit>\n      <trans-unit id="8b5b3566e88438f51bd5f6caf6c090ed565ba5ed" datatype="html">\n        <source>You will be redirected to the login page afterwards.</source>\n        <target>You will be redirected to the login page afterwards.</target>\n      </trans-unit>\n      <trans-unit id="449dca3d3a93ead418b0541ea81b0dda7e6483c2" datatype="html">\n        <source>Welcome to Ceph!</source>\n        <target>Bem-vindo ao Ceph!</target>\n        <note>The welcome message on the login page</note>\n      </trans-unit>\n      <trans-unit id="0070e83d11da39d6f4bb95065c2675db1610b419" datatype="html">\n        <source>Username is required</source>\n        <target>Nome de usuário é obrigatório</target>\n      </trans-unit>\n      <trans-unit id="1e20f8b8a4706526c9024cc2f39d568345d100dc" datatype="html">\n        <source>Password is required</source>\n        <target>Senha é obrigatória</target>\n      </trans-unit>\n      <trans-unit id="6765b4c916060f6bc42d9bb69e80377dbcb5e4e9" datatype="html">\n        <source>Login</source>\n        <target>Login</target>\n      </trans-unit>\n      <trans-unit id="58fc1b5c79a75370eb52644fd83fb2e7096b6649" datatype="html">\n        <source>Sorry, the user does not exist in Ceph.</source>\n        <target>O usuário não existe no Ceph.</target>\n      </trans-unit>\n      <trans-unit id="d9deb94f78e7c41b35c6622b874f06657d7604c1" datatype="html">\n        <source>Return to \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Login Page\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You\'ll be logged out from the Identity Provider when you retry logging in.\n        </source>\n        <target>Return to \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Login Page\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You\'ll be logged out from the Identity Provider when you retry logging in.\n        </target>\n      </trans-unit>\n      <trans-unit id="471e78026c258073ba687478dc54c35d9041ea42" datatype="html">\n        <source>Forbidden</source>\n        <target>Proibido</target>\n      </trans-unit>\n      <trans-unit id="02ea8ad57677e3c63f3d7814ca5e6c7b74e360b4" datatype="html">\n        <source>Sorry, you are not allowed to see what you were looking for.</source>\n        <target>Você não tem permissão para ver o que está procurando.</target>\n      </trans-unit>\n      <trans-unit id="2240b985f17293d84cc8532fe86994aa5f63667c" datatype="html">\n        <source>Sorry, we could not find what you were looking for.</source>\n        <target>Sorry, we could not find what you were looking for.</target>\n      </trans-unit>\n      <trans-unit id="ac54c18c1b520e948095c83a3a1025f02ce6dcc6" datatype="html">\n        <source>Neither hostname nor OSD ID given</source>\n        <target>Neither hostname nor OSD ID given</target>\n      </trans-unit>\n      <trans-unit id="4f635b3cb0600409a2ad44a5bd1863c699e6a01c" datatype="html">\n        <source>Failed to retrieve SMART data.</source>\n        <target>Failed to retrieve SMART data.</target>\n      </trans-unit>\n      <trans-unit id="d82a9af5b05e7cd17640f196f163771685ff8df6" datatype="html">\n        <source>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</source>\n        <target>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</target>\n      </trans-unit>\n      <trans-unit id="04f8a3c7e8ac610e6581960162cc15f55a16696a" datatype="html">\n        <source>No SMART data available.</source>\n        <target>No SMART data available.</target>\n      </trans-unit>\n      <trans-unit id="3a03d3c2e459f8f8fa7202c0fce465d6165f9e2b" datatype="html">\n        <source>passed</source>\n        <target>passed</target>\n      </trans-unit>\n      <trans-unit id="a185c9b97513b3882604ea9bab60edbfac945c15" datatype="html">\n        <source>SMART overall-health self-assessment test result</source>\n        <target>SMART overall-health self-assessment test result</target>\n      </trans-unit>\n      <trans-unit id="41435d5a5692c8e412c74deaee95d99dbd3617e1" datatype="html">\n        <source>failed</source>\n        <target>failed</target>\n      </trans-unit>\n      <trans-unit id="ddd5dd6d930030096ea617f62c82b648a0dd9484" datatype="html">\n        <source>Device Information</source>\n        <target>Device Information</target>\n      </trans-unit>\n      <trans-unit id="380295f37caea93701d071485a38ef0bdba57133" datatype="html">\n        <source>No SMART data available for this device.</source>\n        <target>No SMART data available for this device.</target>\n      </trans-unit>\n      <trans-unit id="20cb12827cbe559a7b1da6fdae96041b3b5c3c55" datatype="html">\n        <source>SMART</source>\n        <target>SMART</target>\n      </trans-unit>\n      <trans-unit id="5758c3f16f8749f0f4e2a787f02e8b4da246102f" datatype="html">\n        <source>SMART data is loading.</source>\n        <target>SMART data is loading.</target>\n      </trans-unit>\n      <trans-unit id="a949d7e577902d0e5dc5d0971bb0170a21be7728" datatype="html">\n        <source>[object Object]</source>\n        <target>[object Object]</target>\n      </trans-unit>\n      <trans-unit id="ff92fbdec9fdd5054493eeda0d7ee8b450f83e72" datatype="html">\n        <source>RBD Configuration</source>\n        <target>Configuração de RBD</target>\n      </trans-unit>\n      <trans-unit id="b62d9efc8eb3b589904f6cb96a0406bbda55673a" datatype="html">\n        <source>Remove the local configuration value. The parent configuration value will be inherited and used instead.</source>\n        <target>Remova o valor de configuração local. No lugar dele, o valor de configuração pai será herdado e usado.</target>\n      </trans-unit>\n      <trans-unit id="963488a1010d46067b238c4ae917fab3907c0a3a" datatype="html">\n        <source>The mininum value is 0</source>\n        <target>O valor mínimo é 0</target>\n      </trans-unit>\n      <trans-unit id="1d8a7c8aea58294a3c57c23af0468ddf0ba0c9c7" datatype="html">\n        <source>Pools List</source>\n        <target>Lista de Pools</target>\n      </trans-unit>\n      <trans-unit id="490e15ecc922965b6d8194754c87c5583aa071f3" datatype="html">\n        <source>The name can only consist of alphanumeric characters, dashes and underscores.</source>\n        <target>O nome pode conter apenas caracteres alfanuméricos, traços e sublinhados.</target>\n      </trans-unit>\n      <trans-unit id="9edc2b494e660618af3e5225f68d40b7ca67629c" datatype="html">\n        <source>The chosen erasure code profile name is already in use.</source>\n        <target>O nome do perfil de código de eliminação escolhido já está em uso.</target>\n      </trans-unit>\n      <trans-unit id="35a4206db3105ed03e0dd799e1642b75b78123e8" datatype="html">\n        <source>Root</source>\n        <target>Root</target>\n      </trans-unit>\n      <trans-unit id="cf425784c7073c7e7f7c1bb90c2c19db7e751db2" datatype="html">\n        <source>Failure domain type</source>\n        <target>Failure domain type</target>\n      </trans-unit>\n      <trans-unit id="72396a9565cf644d1fe1b21b790c4243ee270986" datatype="html">\n        <source>Device class</source>\n        <target>Device class</target>\n      </trans-unit>\n      <trans-unit id="72d80e0c07bfea1b693a33ef2245007de92a6780" datatype="html">\n        <source>Let Ceph decide</source>\n        <target>Let Ceph decide</target>\n      </trans-unit>\n      <trans-unit id="ef9ff0e6227947b48dfab4ac39ade04af758913b" datatype="html">\n        <source>Plugin</source>\n        <target>Plug-in</target>\n      </trans-unit>\n      <trans-unit id="dd69b31bce8f630eac1d4762b0bbcf72ce19d193" datatype="html">\n        <source>Data chunks (k)</source>\n        <target>Pacotes de dados (k)</target>\n      </trans-unit>\n      <trans-unit id="b0d26a6172d32cb81218fe2103c54a818cbc1189" datatype="html">\n        <source>Must be equal to or greater than 2.</source>\n        <target>Deve ser igual ou maior do que 2.</target>\n      </trans-unit>\n      <trans-unit id="dab3a299ead121169b8e08ed618c3b6a2f66691b" datatype="html">\n        <source>Coding chunks (m)</source>\n        <target>Pacotes de codificação (m)</target>\n      </trans-unit>\n      <trans-unit id="1e2773e5bd4948193f18f2361d663ecc3988c656" datatype="html">\n        <source>Must be equal to or greater than 1.</source>\n        <target>Deve ser igual ou maior do que 1.</target>\n      </trans-unit>\n      <trans-unit id="6cde4c945a49a260c0a47bcc7cd956846930a5f7" datatype="html">\n        <source>Durability estimator (c)</source>\n        <target>Estimador de durabilidade (c)</target>\n      </trans-unit>\n      <trans-unit id="af668c2a095a979ea2b4e43cd82c2120ab56c21c" datatype="html">\n        <source>Locality (l)</source>\n        <target>Localidade (l)</target>\n      </trans-unit>\n      <trans-unit id="d455a110bf6d2235e314e295ce1dfeee93d3dff2" datatype="html">\n        <source>Crush failure domain</source>\n        <target>Domínio de falha do Crush</target>\n      </trans-unit>\n      <trans-unit id="b74a495f041f7dd102eee5c0bbc9e03083b538ae" datatype="html">\n        <source>Crush Locality</source>\n        <target>Localidade do Crush</target>\n      </trans-unit>\n      <trans-unit id="a2f14a73f7a6e94479f67423cc51102da8d6f524" datatype="html">\n        <source>None</source>\n        <target>Nenhum</target>\n      </trans-unit>\n      <trans-unit id="2981733b912b693a9dd9d915d6d34f4692cc874a" datatype="html">\n        <source>Technique</source>\n        <target>Técnica</target>\n      </trans-unit>\n      <trans-unit id="e0098b6e47b04ec817361f384ce81d454ba5c0bb" datatype="html">\n        <source>Packetsize</source>\n        <target>Tamanho do pacote</target>\n      </trans-unit>\n      <trans-unit id="c0252cd81ca54d0a2f69ec9ccf4248e73df5aa4a" datatype="html">\n        <source>Crush root</source>\n        <target>Raiz do Crush</target>\n      </trans-unit>\n      <trans-unit id="1548d5c76f0406ddd1ba3c557e1e6db22e95b340" datatype="html">\n        <source>Crush device class</source>\n        <target>Classe do dispositivo do Crush</target>\n      </trans-unit>\n      <trans-unit id="5e85feb6f9f0334366e46ee09ca6b8df52397432" datatype="html">\n        <source>any</source>\n        <target>qualquer</target>\n      </trans-unit>\n      <trans-unit id="03d84645f6e019c5a43909bbf2ea1696ee88332c" datatype="html">\n        <source>Directory</source>\n        <target>Diretório</target>\n      </trans-unit>\n      <trans-unit id="2fecea01ce1d44114ee45144eff6d47a5016a74f" datatype="html">\n        <source>Name...</source>\n        <target>Nome...</target>\n      </trans-unit>\n      <trans-unit id="16e113230b6b0d3165e076300880542bac7c8138" datatype="html">\n        <source>The chosen Ceph pool name is already in use.</source>\n        <target>O nome do pool do Ceph escolhido já está em uso.</target>\n      </trans-unit>\n      <trans-unit id="c75b132bef7b29fa5171768303c4b96e34ccaf68" datatype="html">\n        <source>It\'s not possible to create an RBD pool with \'/\' in the name.\n              Please change the name or remove \'rbd\' from the applications list.</source>\n        <target>It\'s not possible to create an RBD pool with \'/\' in the name.\n              Please change the name or remove \'rbd\' from the applications list.</target>\n      </trans-unit>\n      <trans-unit id="171dc6d5c6bc4615d99778b0088cae80fd00bd10" datatype="html">\n        <source>Pool name can only contain letters, numbers, \'.\', \'-\', \'_\' or \'/\'.</source>\n        <target>Pool name can only contain letters, numbers, \'.\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="b85c657469e5ec8231c3de99b22f437bc01ffde5" datatype="html">\n        <source>Pool type</source>\n        <target>Tipo de pool</target>\n      </trans-unit>\n      <trans-unit id="526c5443254c3b126eedb264840ffe827727bfd3" datatype="html">\n        <source>-- Select a pool type --</source>\n        <target>-- Selecionar tipo de pool --</target>\n      </trans-unit>\n      <trans-unit id="6abfbe47b630929d93c7343dc154599c2e59330a" datatype="html">\n        <source>PG Autoscale</source>\n        <target>PG Autoscale</target>\n      </trans-unit>\n      <trans-unit id="0aa21053410a94aa61d16985a4e95fd65523430d" datatype="html">\n        <source>Placement groups</source>\n        <target>Grupos de posicionamento</target>\n      </trans-unit>\n      <trans-unit id="6301f1391d726f8f450bb358058534db19541ca9" datatype="html">\n        <source>At least one placement group is needed!</source>\n        <target>Pelo menos um grupo de posicionamento é necessário!</target>\n      </trans-unit>\n      <trans-unit id="ba9469a1ce6ed36e039c1f67247c8c81a5c71449" datatype="html">\n        <source>Your cluster can\'t handle this many PGs. Please recalculate the PG amount needed.</source>\n        <target>Seu cluster não pode processar tantos PGs. Recalcule a quantidade de PG necessária.</target>\n      </trans-unit>\n      <trans-unit id="80ac68cd883369dac20688bc32b4cb33291b5e50" datatype="html">\n        <source>Calculation help</source>\n        <target>Ajuda no cálculo</target>\n      </trans-unit>\n      <trans-unit id="fccbd60493df26705d957ed6c02a3c447894678f" datatype="html">\n        <source>The current PGs settings were calculated for you, you\n                should make sure the values suit your needs before submit.</source>\n        <target>The current PGs settings were calculated for you, you\n                should make sure the values suit your needs before submit.</target>\n      </trans-unit>\n      <trans-unit id="a43b2695131b48b76cebba676aba98a2bee17515" datatype="html">\n        <source>Replicated size</source>\n        <target>Tamanho replicado</target>\n      </trans-unit>\n      <trans-unit id="7bff144a4c4dc63b0e18fff2617d61a7ebdf2b6c" datatype="html">\n        <source>Minimum: \n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/>\n        </source>\n        <target>Minimum: \n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="1a9c54b41f6d58a74e5d0aa3429ed0c87a482551" datatype="html">\n        <source>Maximum: \n          <x id="INTERPOLATION" equiv-text="{{ getMaxSize() }}"/>\n        </source>\n        <target>Maximum: \n          <x id="INTERPOLATION" equiv-text="{{ getMaxSize() }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6ab647b95bd2347ae6f4605576de5e0269fb893a" datatype="html">\n        <source>The size specified is out of range. A value from\n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/> to \n          <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.\n        </source>\n        <target>The size specified is out of range. A value from\n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/> to \n          <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.\n        </target>\n      </trans-unit>\n      <trans-unit id="920617c6a1a4805e53bcb5af6a9c76f8387e89c6" datatype="html">\n        <source>Flags</source>\n        <target>Flags</target>\n      </trans-unit>\n      <trans-unit id="1c870fb00256b8a5b9cb9cd1a124e6390b9bc639" datatype="html">\n        <source>EC Overwrites</source>\n        <target>Sobregravações de EC</target>\n      </trans-unit>\n      <trans-unit id="f1abafaeb40ce52355ddcc24686e3cd17b64e08a" datatype="html">\n        <source>Applications</source>\n        <target>Aplicativos</target>\n      </trans-unit>\n      <trans-unit id="fb9308b82fc183f710df60909f49cfc73aa5e076" datatype="html">\n        <source>CRUSH</source>\n        <target>CRUSH</target>\n      </trans-unit>\n      <trans-unit id="9de7dde00e2139cc4bd03b1837afbe72ad15a1ff" datatype="html">\n        <source>Erasure code profile</source>\n        <target>Perfil do código de eliminação</target>\n      </trans-unit>\n      <trans-unit id="39b4620e6bd444e0a57a0a5c03fa8c96d7fe5235" datatype="html">\n        <source>-- No erasure code profile available --</source>\n        <target>-- Não há perfis de código de eliminação disponíveis --</target>\n      </trans-unit>\n      <trans-unit id="498561757390d5528b263ce450d5f38efb00266d" datatype="html">\n        <source>-- Select an erasure code profile --</source>\n        <target>-- Selecionar perfil do código de eliminação --</target>\n      </trans-unit>\n      <trans-unit id="33150f22ce5348aa6c499bd092c3f4f3695d62cc" datatype="html">\n        <source>Crush ruleset</source>\n        <target>Conjunto de regras do Crush</target>\n      </trans-unit>\n      <trans-unit id="c69b0bcd4698aa845d32c4c4ad488492552cb469" datatype="html">\n        <source>A new crush ruleset will be implicitly created.</source>\n        <target>A new crush ruleset will be implicitly created.</target>\n      </trans-unit>\n      <trans-unit id="896e9987db5e9bb279e6deed5d2dff28c242ef66" datatype="html">\n        <source>There are no rules.</source>\n        <target>There are no rules.</target>\n      </trans-unit>\n      <trans-unit id="73a6b31116b3cc322af951daa0bafdc169e6c42e" datatype="html">\n        <source>-- Select a crush rule --</source>\n        <target>-- Selecionar regra de crush --</target>\n      </trans-unit>\n      <trans-unit id="ea91d648f92002bc9f96d9b26b735c83ca0b53c6" datatype="html">\n        <source>This rule can\'t be deleted as it is in use.</source>\n        <target>This rule can\'t be deleted as it is in use.</target>\n      </trans-unit>\n      <trans-unit id="92da80699921e89fb19372e25b8d0f3b9fa427fc" datatype="html">\n        <source>Crush rule</source>\n        <target>Regra de Crush</target>\n      </trans-unit>\n      <trans-unit id="5489e9f96835f469f6f728a00d8efa88ea5bc940" datatype="html">\n        <source>Crush steps</source>\n        <target>Etapas do Crush</target>\n      </trans-unit>\n      <trans-unit id="fc5f5496a9e50fe69e1a09784f28d94944108294" datatype="html">\n        <source>Rule is not in use.</source>\n        <target>Rule is not in use.</target>\n      </trans-unit>\n      <trans-unit id="023d6f718770d2ea4ab8cabe26b0ec27ef967ec2" datatype="html">\n        <source>Used by pools</source>\n        <target>Used by pools</target>\n      </trans-unit>\n      <trans-unit id="104a0e6900d1d1b0c8cf9e5947e36edb352583fc" datatype="html">\n        <source>The rule can\'t be used in the current cluster as it has\n                  too few OSDs to meet the minimum required OSD by this rule.</source>\n        <target>The rule can\'t be used in the current cluster as it has\n                  too few OSDs to meet the minimum required OSD by this rule.</target>\n      </trans-unit>\n      <trans-unit id="2208d63d5940ce656006a220102b1eb2b5e553da" datatype="html">\n        <source>Compression</source>\n        <target>Compactação</target>\n      </trans-unit>\n      <trans-unit id="37e10df2d9c0c25ef04ac112c9c9a7723e8efae0" datatype="html">\n        <source>Mode</source>\n        <target>Modo</target>\n      </trans-unit>\n      <trans-unit id="6c6f25c47da62ec597c6057a36ddfc3209811ec5" datatype="html">\n        <source>Algorithm</source>\n        <target>Algoritmo</target>\n      </trans-unit>\n      <trans-unit id="4903231d42089325a28892c0fde1aed46b733ae6" datatype="html">\n        <source>-- No erasure compression algorithm available --</source>\n        <target>-- Não há algoritmos de compactação de eliminação disponíveis --</target>\n      </trans-unit>\n      <trans-unit id="5d68ddb254275f8f44221e9ad6d8ceeb59ca46a6" datatype="html">\n        <source>Minimum blob size</source>\n        <target>Tamanho mínimo do blob</target>\n      </trans-unit>\n      <trans-unit id="fb2f176df80647137cbb02bbeb29e5dec707a400" datatype="html">\n        <source>e.g., 128KiB</source>\n        <target>ex. 128 KiB</target>\n      </trans-unit>\n      <trans-unit id="1b7f6e53a4521c6eb3ced4c007fdd4cf80bb7707" datatype="html">\n        <source>Value should be greater than 0</source>\n        <target>O valor deve ser maior do que 0</target>\n      </trans-unit>\n      <trans-unit id="8db98ab14b4e207ec763dfdefbc2dae367aab1cc" datatype="html">\n        <source>Value should be less than the maximum blob size</source>\n        <target>Value should be less than the maximum blob size</target>\n      </trans-unit>\n      <trans-unit id="151efb127a9a4dd25259a0b2055442318a141f5b" datatype="html">\n        <source>Maximum blob size</source>\n        <target>Tamanho máximo do blob</target>\n      </trans-unit>\n      <trans-unit id="0c656f0e346bbadf46eb1a5d20d0307a3bd20ba8" datatype="html">\n        <source>e.g., 512KiB</source>\n        <target>ex. 512 KiB</target>\n      </trans-unit>\n      <trans-unit id="0a65a24eee8a026f3b1113fe9e157e9a0dd69486" datatype="html">\n        <source>Value should be greater than the minimum blob size</source>\n        <target>O valor deve ser maior do que o tamanho mínimo do blob</target>\n      </trans-unit>\n      <trans-unit id="261ba09c4a59de83f48f52a23fd328da37e61ff4" datatype="html">\n        <source>Ratio</source>\n        <target>Taxa</target>\n      </trans-unit>\n      <trans-unit id="c1430457a9c3c66366e51d76bf10396014c576be" datatype="html">\n        <source>Compression ratio</source>\n        <target>Taxa de compactação</target>\n      </trans-unit>\n      <trans-unit id="ae5ce6de352cde949998fb10754459c3a4eb183b" datatype="html">\n        <source>Value should be between 0.0 and 1.0</source>\n        <target>O valor deve ser entre 0.0 e 1.0</target>\n      </trans-unit>\n      <trans-unit id="8bb8293aa8161433778762ae025ffd5e7c85795e" datatype="html">\n        <source>Quotas</source>\n        <target>Quotas</target>\n      </trans-unit>\n      <trans-unit id="d99b34162c9c34f10d0ccd8dbae83d8569c2db77" datatype="html">\n        <source>Max bytes</source>\n        <target>Max bytes</target>\n      </trans-unit>\n      <trans-unit id="a1d14a18879c62f3f4ed705318b7164a1160e249" datatype="html">\n        <source>Leave it blank or specify 0 to disable this quota.</source>\n        <target>Leave it blank or specify 0 to disable this quota.</target>\n      </trans-unit>\n      <trans-unit id="7565b131562ff6c5f769fdbd239a772154abdd97" datatype="html">\n        <source>A valid quota should be greater than 0.</source>\n        <target>A valid quota should be greater than 0.</target>\n      </trans-unit>\n      <trans-unit id="f0016bd458baa88284a658ce9eeda42d8ad88d2c" datatype="html">\n        <source>e.g., 10GiB</source>\n        <target>ex. 10 GiB</target>\n      </trans-unit>\n      <trans-unit id="b8bf35b66f09a301eef92ffc3cb2fd259df67ce9" datatype="html">\n        <source>Max objects</source>\n        <target>Max objects</target>\n      </trans-unit>\n      <trans-unit id="95f348167622d832c5ae532b6944635c8e2ae5cb" datatype="html">\n        <source>The value should be greater or equal to 0</source>\n        <target>The value should be greater or equal to 0</target>\n      </trans-unit>\n      <trans-unit id="4f8b2bb476981727ab34ed40fde1218361f92c45" datatype="html">\n        <source>Details</source>\n        <target>Detalhes</target>\n      </trans-unit>\n      <trans-unit id="fbbaf5cb02ed419e79a27072478f716a4666a99d" datatype="html">\n        <source>Performance Details</source>\n        <target>Detalhes de Desempenho</target>\n      </trans-unit>\n      <trans-unit id="3938a411d76796f8ae73b72ea4c77661207453bd" datatype="html">\n        <source>Cache Tiers Details</source>\n        <target>Detalhes das Camadas do Cache</target>\n      </trans-unit>\n      <trans-unit id="ecbc084370a732fc3cde1966a60af78d71424ab4" datatype="html">\n        <source>Create Bootstrap Token</source>\n        <target>Create Bootstrap Token</target>\n      </trans-unit>\n      <trans-unit id="603e9cc3ef2aab57f2b0a00e465b23b9cabefd9c" datatype="html">\n        <source>To create a bootstrap token which can be imported\n          by a peer site cluster, provide the local site\'s name, select\n          which pools will have mirroring enabled, and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Generate\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>To create a bootstrap token which can be imported\n          by a peer site cluster, provide the local site\'s name, select\n          which pools will have mirroring enabled, and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Generate\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="660f97cd3188f8a04bd03b79e703fec72c6df04c" datatype="html">\n        <source>Site Name</source>\n        <target>Site Name</target>\n      </trans-unit>\n      <trans-unit id="8c2a1dc72cffaf7ab3dc5599bf77b0a7fcad2b20" datatype="html">\n        <source>At least one pool is required.</source>\n        <target>At least one pool is required.</target>\n      </trans-unit>\n      <trans-unit id="1b258b258b4cc475ceb2871305b61756b0134f4a" datatype="html">\n        <source>Generate</source>\n        <target>Generate</target>\n      </trans-unit>\n      <trans-unit id="1edc1fc6cfbbb22353050ad6788508b3ed584f53" datatype="html">\n        <source>Token</source>\n        <target>Token</target>\n      </trans-unit>\n      <trans-unit id="ff785f5596aef34a93b9b4d1023e95c62eef5740" datatype="html">\n        <source>Generated token...</source>\n        <target>Generated token...</target>\n      </trans-unit>\n      <trans-unit id="5467a6bb0e7fade6def7499400d5e2a7d8d3da20" datatype="html">\n        <source>Import Bootstrap Token</source>\n        <target>Import Bootstrap Token</target>\n      </trans-unit>\n      <trans-unit id="9bb7aee0dec5164f45c0aa2f35f2fb2149d2c1d2" datatype="html">\n        <source>To import a bootstrap token which was created\n          by a peer site cluster, provide the local site\'s name, select\n          which pools will have mirroring enabled, provide the generated\n          token, and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Import\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>To import a bootstrap token which was created\n          by a peer site cluster, provide the local site\'s name, select\n          which pools will have mirroring enabled, provide the generated\n          token, and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Import\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="9200e09686136a1d42adfb89c12fbfef2deea125" datatype="html">\n        <source>Direction</source>\n        <target>Direction</target>\n      </trans-unit>\n      <trans-unit id="9761484679958da8d12841a4efa5964d33fae575" datatype="html">\n        <source>The token is invalid.</source>\n        <target>The token is invalid.</target>\n      </trans-unit>\n      <trans-unit id="a059709f71aa4c0ac219e160e78a738682ca6a36" datatype="html">\n        <source>Import</source>\n        <target>Import</target>\n      </trans-unit>\n      <trans-unit id="b87bd96249f8afc23f5301cddb57b1464a98e71a" datatype="html">\n        <source>Edit site name</source>\n        <target>Edit site name</target>\n      </trans-unit>\n      <trans-unit id="cfff72c667274c12eb1ff71eadc25871c10c42dc" datatype="html">\n        <source>Edit the site name and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>Edit the site name and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="40b7acea5b43f45e0bbd1efeba5200af4687981d" datatype="html">\n        <source>Site Name:</source>\n        <target>Site Name:</target>\n      </trans-unit>\n      <trans-unit id="f0b5d789d42c0e69348e5fe0037fcbf5b5fbbdcc" datatype="html">\n        <source>Move an image to trash</source>\n        <target>Mover imagem para o lixo</target>\n      </trans-unit>\n      <trans-unit id="7ad22c1d4aab3b8946603cea62de266d5129ca10" datatype="html">\n        <source>This image contains snapshot(s), which will prevent it\n            from being removed after moved to trash.</source>\n        <target>This image contains snapshot(s), which will prevent it\n            from being removed after moved to trash.</target>\n      </trans-unit>\n      <trans-unit id="b4b3ced4f8aad4c446f348b14c3d94be2e2c350c" datatype="html">\n        <source>To move \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ imageSpecStr }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,\n          click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optionally, you can pick an expiration date.\n        </source>\n        <target>To move \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ imageSpecStr }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,\n          click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optionally, you can pick an expiration date.\n        </target>\n      </trans-unit>\n      <trans-unit id="88f27d390844aad53b4240360e928156c5f0d326" datatype="html">\n        <source>Protection expires at</source>\n        <target>Vencimento da proteção em</target>\n      </trans-unit>\n      <trans-unit id="da166e9a0d27322f6ba8916d71ecc0f9905bb4b1" datatype="html">\n        <source>NOT PROTECTED</source>\n        <target>NÃO PROTEGIDO</target>\n      </trans-unit>\n      <trans-unit id="a1506e5f2ca22cad14502ec7a20fb6113ace145d" datatype="html">\n        <source>Wrong date format. Please use "YYYY-MM-DD HH:mm:ss".</source>\n        <target>Formato de data incorreto. Use "AAAA-MM-DD HH:mm:ss".</target>\n      </trans-unit>\n      <trans-unit id="aa7ea0bb7495281e0b3258467ac7d90a1e44a1a1" datatype="html">\n        <source>Protection has already expired. Please pick a future date or leave it empty.</source>\n        <target>A proteção já venceu. Escolha uma data no futuro ou deixe-a vazia.</target>\n      </trans-unit>\n      <trans-unit id="536b3205c0c0d4d21685ec06feccfcf2fe14deb1" datatype="html">\n        <source>Move Image</source>\n        <target>Mover Imagem</target>\n      </trans-unit>\n      <trans-unit id="c9f1026c1235f4d76ace47449e806efd181ab332" datatype="html">\n        <source>Deleting this image will also delete all its snapshots.</source>\n        <target>Deleting this image will also delete all its snapshots.</target>\n      </trans-unit>\n      <trans-unit id="55f864597e84d9bf88769e1fbfda1d64452430c9" datatype="html">\n        <source>The following snapshots are currently protected and will be removed:</source>\n        <target>The following snapshots are currently protected and will be removed:</target>\n      </trans-unit>\n      <trans-unit id="8a9910cd114c1deb9af74f6f99b4173403965bf2" datatype="html">\n        <source>Gateways</source>\n        <target>Gateways</target>\n      </trans-unit>\n      <trans-unit id="8835b9e49a3348b0a2f2162c21118af1f4bee45a" datatype="html">\n        <source>Must be greater than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'min\'] }}"/>.\n        </source>\n        <target>Must be greater than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'min\'] }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="bbddac59563c8c126e3fe28691e4e247614fcbd1" datatype="html">\n        <source>Must be less than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'max\'] }}"/>.\n        </source>\n        <target>Must be less than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'max\'] }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="e95ae009d0bdb45fcc656e8b65248cf7396080d5" datatype="html">\n        <source>Overview</source>\n        <target>Visão geral</target>\n      </trans-unit>\n      <trans-unit id="bbd2045d5c37e4bb39a3c0fb62ea1ddf70a12838" datatype="html">\n        <source>Targets</source>\n        <target>Destinos</target>\n      </trans-unit>\n      <trans-unit id="6803e31b7395d94934e091a49a9524026b59b018" datatype="html">\n        <source>Discovery Authentication</source>\n        <target>Autenticação de Descoberta</target>\n      </trans-unit>\n      <trans-unit id="e08a77594f3d89311cdf6da5090044270909c194" datatype="html">\n        <source>User</source>\n        <target>Usuário</target>\n      </trans-unit>\n      <trans-unit id="0214f773f8e394f50f953f39962e352d7863e959" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n              can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Os nomes de usuário devem ter entre 8 e 64 caracteres e\n              apenas podem conter letras, \'.\', \'@\', \'-\', \'_\' ou \':\'.</target>\n      </trans-unit>\n      <trans-unit id="c32ef07f8803a223a83ed17024b38e8d82292407" datatype="html">\n        <source>Password</source>\n        <target>Senha</target>\n      </trans-unit>\n      <trans-unit id="6682d1c00263bee204583a5d589b308b6be88b0f" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n              and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n              and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="ff40391de7a1944ea95091e4045cc34c4979b736" datatype="html">\n        <source>Mutual User</source>\n        <target>Usuário Mútuo</target>\n      </trans-unit>\n      <trans-unit id="0cf73dbebe99b737c4d288788182fc356e3c93d3" datatype="html">\n        <source>Mutual Password</source>\n        <target>Senha Mútua</target>\n      </trans-unit>\n      <trans-unit id="8800276925157c666b103c36ff7fe8ffe11980b4" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters and\n              can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters and\n              can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="53a583cd5f15059cc958b7d547f72cc78f68e123" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n    on how to configure and enable the iSCSI Targets management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n    on how to configure and enable the iSCSI Targets management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="3b301d0044f62c92af0da53d7aaca52a436a547d" datatype="html">\n        <source>Available information:</source>\n        <target>Informações disponíveis:</target>\n      </trans-unit>\n      <trans-unit id="332227f088a4877b3c11f5fb3ae8bc812c470fae" datatype="html">\n        <source>iSCSI Targets not available</source>\n        <target>Destinos iSCSI não disponíveis</target>\n      </trans-unit>\n      <trans-unit id="8414a5cb9d71cc1b21b10e4a9d1f2dad558f3361" datatype="html">\n        <source>Discovery authentication</source>\n        <target>Discovery authentication</target>\n      </trans-unit>\n      <trans-unit id="0f6e8f6094b180eaf1f11bc0ffe383f1cdcd059e" datatype="html">\n        <source>Only available for RBD images with \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>fast-diff\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> enabled\n        </source>\n        <target>Only available for RBD images with \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>fast-diff\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> enabled\n        </target>\n      </trans-unit>\n      <trans-unit id="e70fcca5a99575cffef3ff8cbd5e69f06ffd0f1c" datatype="html">\n        <source>Pool</source>\n        <target>Pool</target>\n      </trans-unit>\n      <trans-unit id="03cc5b14b0a20d075e9009ff021f4f1660ba348a" datatype="html">\n        <source>Data Pool</source>\n        <target>Pool de Dados</target>\n      </trans-unit>\n      <trans-unit id="1b051734b0ee9021991c91b3ed4e81c244322462" datatype="html">\n        <source>Created</source>\n        <target>Criado</target>\n      </trans-unit>\n      <trans-unit id="7faaaa08f56427999f3be41df1093ce4089bbd75" datatype="html">\n        <source>Size</source>\n        <target>Tamanho</target>\n      </trans-unit>\n      <trans-unit id="afdb601c16162f2c798b16a2920955f1cc6a20aa" datatype="html">\n        <source>Objects</source>\n        <target>Objetos</target>\n      </trans-unit>\n      <trans-unit id="ceac8e132384322ec778ba760875a6c6897d3e42" datatype="html">\n        <source>Object size</source>\n        <target>Tamanho do objeto</target>\n      </trans-unit>\n      <trans-unit id="0a65771c9a73b9aa609d592fc96a64801a8f40bd" datatype="html">\n        <source>Provisioned</source>\n        <target>Aprovisionado</target>\n      </trans-unit>\n      <trans-unit id="84a36cb75660b736773fe36ffa3d54f0f0fe363e" datatype="html">\n        <source>N/A</source>\n        <target>N/A</target>\n      </trans-unit>\n      <trans-unit id="e5c009342a4e8381f64341d0bb61c2e4685f5a4b" datatype="html">\n        <source>Total provisioned</source>\n        <target>Total aprovisionado</target>\n      </trans-unit>\n      <trans-unit id="7f6bf8a43ae415f527ac961ea62471b983aaa97b" datatype="html">\n        <source>Striping unit</source>\n        <target>Unidade de distribuição</target>\n      </trans-unit>\n      <trans-unit id="db710e8a8f011923f2d15d713fbae49c38b02b26" datatype="html">\n        <source>Striping count</source>\n        <target>Total de distribuições</target>\n      </trans-unit>\n      <trans-unit id="3a4c2a9e76634ff14a60d52a718296f722d47c67" datatype="html">\n        <source>Parent</source>\n        <target>Pai</target>\n      </trans-unit>\n      <trans-unit id="6a209e68d78ffc2cc9c53d2e76158624efab71ad" datatype="html">\n        <source>Block name prefix</source>\n        <target>Prefixo do nome do bloco</target>\n      </trans-unit>\n      <trans-unit id="5704ec2049d007c5f5fb495a5d8b607e68d58081" datatype="html">\n        <source>Order</source>\n        <target>Ordem</target>\n      </trans-unit>\n      <trans-unit id="f21b1d17b6c5042bb5805516eee37fde33739dd8" datatype="html">\n        <source>Snapshots</source>\n        <target>Instantâneos</target>\n      </trans-unit>\n      <trans-unit id="a5f9ba9bb9faa8284bcadb1cdbc6aaf969e9c4bb" datatype="html">\n        <source>Image</source>\n        <target>Imagem</target>\n      </trans-unit>\n      <trans-unit id="58e58f1a8786da9031a05e6770c5dafce82badf5" datatype="html">\n        <source>This setting overrides the global value</source>\n        <target>Esta configuração substitui o valor global</target>\n      </trans-unit>\n      <trans-unit id="5decb3917d46a9ac6e5813699801becb7c3c1455" datatype="html">\n        <source>Global</source>\n        <target>Global</target>\n      </trans-unit>\n      <trans-unit id="36b46714164964c6258b08ed0a25f57d8a950f92" datatype="html">\n        <source>This is the global value. No value for this option has been set for this image.</source>\n        <target>Este é o valor global. Nenhum valor para esta opção foi definido para esta imagem.</target>\n      </trans-unit>\n      <trans-unit id="6547c9c4d5f62942ac4b1fe459cf9a03d4dbf5a0" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/> from\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/> from\n        </target>\n      </trans-unit>\n      <trans-unit id="0e9ecf29a4fa5b057bd8052e0d801b3fde6a30bf" datatype="html">\n        <source>\'/\' and \'@\' are not allowed.</source>\n        <target>\'/\' e \'@\' não são permitidos.</target>\n      </trans-unit>\n      <trans-unit id="b99417c4dd46286ffd37c8d2e987c8b512ec7052" datatype="html">\n        <source>-- No rbd pools available --</source>\n        <target>-- Não há pools de RBD disponíveis --</target>\n      </trans-unit>\n      <trans-unit id="ef83ec9c304a89d45650e580dcdc2978c37b3a83" datatype="html">\n        <source>-- Select a pool --</source>\n        <target>-- Selecionar pool --</target>\n      </trans-unit>\n      <trans-unit id="d649904466254d13df1fbf2d255f0bbc6553d213" datatype="html">\n        <source>-- No namespaces available --</source>\n        <target>-- No namespaces available --</target>\n      </trans-unit>\n      <trans-unit id="e22d7bb4d2d561e0832ee0b9a3da2468a080c4f0" datatype="html">\n        <source>-- Select a namespace --</source>\n        <target>-- Select a namespace --</target>\n      </trans-unit>\n      <trans-unit id="49449943d8cbf59d8c401c8bd2e76f92e207cc5f" datatype="html">\n        <source>Use a dedicated data pool</source>\n        <target>Usar pool de dados dedicado</target>\n      </trans-unit>\n      <trans-unit id="870aee0dd31a9643bf62007beb8f1ae1deb34d42" datatype="html">\n        <source>Data pool</source>\n        <target>Pool de dados</target>\n      </trans-unit>\n      <trans-unit id="3792ca829d9b9f687e1f5d7733d30e9bb0bfec47" datatype="html">\n        <source>Dedicated pool that stores the object-data of the RBD.</source>\n        <target>Pool dedicado que armazena os dados de objetos do RBD.</target>\n      </trans-unit>\n      <trans-unit id="0a88bbee20570aaf9615332fb27020627044874d" datatype="html">\n        <source>You have to increase the size.</source>\n        <target>Você precisa aumentar o tamanho.</target>\n      </trans-unit>\n      <trans-unit id="bc2e854e111ecf2bd7db170da5e3c2ed08181d88" datatype="html">\n        <source>Advanced</source>\n        <target>Avançado</target>\n      </trans-unit>\n      <trans-unit id="3562a3778695a5f9c0445660e35301f0a39aaf73" datatype="html">\n        <source>Striping</source>\n        <target>Distribuição</target>\n      </trans-unit>\n      <trans-unit id="ef3c3f3b5f562a5cdbe0ee2874287db1534b5958" datatype="html">\n        <source>Stripe unit</source>\n        <target>Unidade de distribuição</target>\n      </trans-unit>\n      <trans-unit id="84471be1049006edecbcaef1a32ae0893c229c50" datatype="html">\n        <source>-- Select stripe unit --</source>\n        <target>-- Selecionar unidade de distribuição --</target>\n      </trans-unit>\n      <trans-unit id="8d32c5c54c8581c774a7f467fbd4e329b15a74fa" datatype="html">\n        <source>This field is required because stripe count is defined!</source>\n        <target>Este campo é obrigatório porque o total de distribuições foi definido!</target>\n      </trans-unit>\n      <trans-unit id="6bbf9040be7c5491d4a03f2185708f43a6582a3b" datatype="html">\n        <source>Stripe unit is greater than object size.</source>\n        <target>A unidade de distribuição é maior do que o tamanho do objeto.</target>\n      </trans-unit>\n      <trans-unit id="a682f49f9b761591661276d7c6f550e641a130a4" datatype="html">\n        <source>Stripe count</source>\n        <target>Total de distribuições</target>\n      </trans-unit>\n      <trans-unit id="baa74031990c5370008ba622d0a250f0929097f4" datatype="html">\n        <source>This field is required because stripe unit is defined!</source>\n        <target>Este campo é obrigatório porque a unidade de distribuição foi definida!</target>\n      </trans-unit>\n      <trans-unit id="cd2ada6d5ecbd5cbf89eae0a1f5326efedac0dbc" datatype="html">\n        <source>Stripe count must be greater than 0.</source>\n        <target>O total de distribuições deve ser maior do que 0.</target>\n      </trans-unit>\n      <trans-unit id="2c07d24bb422aa8e5e568df1c5709083f0a9c8f1" datatype="html">\n        <source>Create Namespace</source>\n        <target>Create Namespace</target>\n      </trans-unit>\n      <trans-unit id="0cca6c0485f96d3a9610d0339cb1275a5f2c3f46" datatype="html">\n        <source>Namespace already exists.</source>\n        <target>Namespace already exists.</target>\n      </trans-unit>\n      <trans-unit id="5c5331983af566d4ac6a1024d15a3511786a4aa6" datatype="html">\n        <source>You are about to rollback</source>\n        <target>Você está prestes a fazer rollback</target>\n      </trans-unit>\n      <trans-unit id="49c0408946a6d67185947f455f15cc201d0d78e6" datatype="html">\n        <source>Purge Trash</source>\n        <target>Purgar Lixo</target>\n      </trans-unit>\n      <trans-unit id="681501eecd7f44d4b7a2f619605b36676e04c5b6" datatype="html">\n        <source>To purge, select one or</source>\n        <target>To purge, select one or</target>\n      </trans-unit>\n      <trans-unit id="dfc3c34e182ea73c5d784ff7c8135f087992dac1" datatype="html">\n        <source>All</source>\n        <target>Tudo</target>\n      </trans-unit>\n      <trans-unit id="ea5d338dcef50ff5c24439fd784f6a67b594c33f" datatype="html">\n        <source>pools and click</source>\n        <target>pools and click</target>\n      </trans-unit>\n      <trans-unit id="55a4f598a4894b7fd5cb88f0ffd3c37ad009dd70" datatype="html">\n        <source>Pool:</source>\n        <target>Pool:</target>\n      </trans-unit>\n      <trans-unit id="d43dd2b9f7797e4cf3a604695bb33e4479108516" datatype="html">\n        <source>Pool name...</source>\n        <target>Nome do pool...</target>\n      </trans-unit>\n      <trans-unit id="b0e7c7ed1d51a0c205c815048bc9f79e24ee6db2" datatype="html">\n        <source>Restore Image</source>\n        <target>Restaurar Imagem</target>\n      </trans-unit>\n      <trans-unit id="7369384817e0ad61ce871c9afdfbb538df2f97c1" datatype="html">\n        <source>To restore</source>\n        <target>Para restaurar</target>\n      </trans-unit>\n      <trans-unit id="e7f0abefc608f7fb452c2dc9b1cdc3dec432160e" datatype="html">\n        <source>type the image\'s new name and click</source>\n        <target>digite o novo nome da imagem e clique em</target>\n      </trans-unit>\n      <trans-unit id="41307dd56fea669eed72e12a6c23af275f6bfd82" datatype="html">\n        <source>New Name</source>\n        <target>Novo Nome</target>\n      </trans-unit>\n      <trans-unit id="5c96a761dc55a21882c132c929583a424c9b8cf4" datatype="html">\n        <source>Expired at</source>\n        <target>Venceu em</target>\n      </trans-unit>\n      <trans-unit id="661041e3fcff4d3e75c561e038ca2504cf2cc643" datatype="html">\n        <source>Protected until</source>\n        <target>Protegido até</target>\n      </trans-unit>\n      <trans-unit id="0ee3b2322a1d3277f7e3fdb8a5141ac42bcf350b" datatype="html">\n        <source>This image is protected until \n          <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.\n        </source>\n        <target>This image is protected until \n          <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="a674ab267d1934bf395f87ca1503fd474296893f" datatype="html">\n        <source>iSCSI Topology</source>\n        <target>Topologia iSCSI</target>\n      </trans-unit>\n      <trans-unit id="051dcc342cfa5c1eaf187a2001aaa162379a160c" datatype="html">\n        <source>Configure</source>\n        <target>Configure</target>\n      </trans-unit>\n      <trans-unit id="9e515f954730279c31d5301f02479666d6264e8b" datatype="html">\n        <source>Changing these parameters from their default values is usually not necessary.</source>\n        <target>Não costuma ser necessário mudar o valor padrão destes parâmetros.</target>\n      </trans-unit>\n      <trans-unit id="4e2591df099ddac796cda401c5f282da779d45f2" datatype="html">\n        <source>Identifier</source>\n        <target>Identifier</target>\n      </trans-unit>\n      <trans-unit id="62480a4859976427cf18fc8ef41d3a438eda0412" datatype="html">\n        <source>lun</source>\n        <target>lun</target>\n      </trans-unit>\n      <trans-unit id="8afc9eb4405e0aa554b2ba14140ef790cdecc040" datatype="html">\n        <source>wwn</source>\n        <target>wwn</target>\n      </trans-unit>\n      <trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html">\n        <source>Settings</source>\n        <target>Configurações</target>\n      </trans-unit>\n      <trans-unit id="69a47cbabcc51ca942606e1d8da0ec11f98a2690" datatype="html">\n        <source>Backstore</source>\n        <target>Backstore</target>\n      </trans-unit>\n      <trans-unit id="68e710782ccb5398b3acb8844caf0b199da2c3da" datatype="html">\n        <source>Confirm</source>\n        <target>Confirmar</target>\n      </trans-unit>\n      <trans-unit id="339878da255ab55447c43afef8d9b2f9753bf5f6" datatype="html">\n        <source>Advanced Settings</source>\n        <target>Configurações Avançadas</target>\n      </trans-unit>\n      <trans-unit id="1406c2fb12a20c1528b19bcc5e24a6a2386167f3" datatype="html">\n        <source>Target IQN</source>\n        <target>IQN de Destino</target>\n      </trans-unit>\n      <trans-unit id="5fe42339be910372fa689f559155631862d218e8" datatype="html">\n        <source>IQN has wrong pattern.</source>\n        <target>IQN tem padrão incorreto.</target>\n      </trans-unit>\n      <trans-unit id="050a7ff057d1e895357540406b6be5652b4d1c71" datatype="html">\n        <source>An IQN has the following notation\n                \'iqn.$year-$month.$reversedAddress:$definedName\'</source>\n        <target>An IQN has the following notation\n                \'iqn.$year-$month.$reversedAddress:$definedName\'</target>\n      </trans-unit>\n      <trans-unit id="c8ada4b53396d8366db00a435acc61d53d857047" datatype="html">\n        <source>For example: iqn.2016-06.org.dashboard:storage:disk.sn-a8675309</source>\n        <target>Por exemplo: iqn.2016-06.org.dashboard:storage:disk.sn-a8675309</target>\n      </trans-unit>\n      <trans-unit id="e60c11e1b1dfbbeda577364b8de39ded2d796c5e" datatype="html">\n        <source>More information</source>\n        <target>Mais informações</target>\n      </trans-unit>\n      <trans-unit id="9b1aa85dfc6849196e64060db02c5410de69b7a1" datatype="html">\n        <source>This target has modified advanced settings.</source>\n        <target>Este destino tem configurações avançadas modificadas.</target>\n      </trans-unit>\n      <trans-unit id="6990ad8d6182662e864495ac31c3758cda1c7a28" datatype="html">\n        <source>Portals</source>\n        <target>Portais</target>\n      </trans-unit>\n      <trans-unit id="6a3ac2b4137d723fd9878cd357c2012ff6c07973" datatype="html">\n        <source>Add portal</source>\n        <target>Adicionar portal</target>\n      </trans-unit>\n      <trans-unit id="c3638c01b6c34066438909713ec96087c813fc7e" datatype="html">\n        <source>At least \n          <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.\n        </source>\n        <target>At least \n          <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.\n        </target>\n      </trans-unit>\n      <trans-unit id="9aff25be088f0efe3eaaf62edf2bff41cc41a617" datatype="html">\n        <source>Backstore: \n          <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. \n        </source>\n        <target>Backstore: \n          <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. \n        </target>\n      </trans-unit>\n      <trans-unit id="e3484cae8b118c576ca2815bf9c9406c2eb2cae3" datatype="html">\n        <source>This image has modified settings.</source>\n        <target>Esta imagem tem configurações modificadas.</target>\n      </trans-unit>\n      <trans-unit id="1dff11e0820b6722ab240169f1232d70a54beaaa" datatype="html">\n        <source>Duplicated LUN numbers.</source>\n        <target>Duplicated LUN numbers.</target>\n      </trans-unit>\n      <trans-unit id="bf2dccf92ccff6e3b091792bf4205595406e1bfb" datatype="html">\n        <source>Duplicated WWN.</source>\n        <target>Duplicated WWN.</target>\n      </trans-unit>\n      <trans-unit id="808038f912fdc7f0e03f82d4afd3bf9178527fc8" datatype="html">\n        <source>Add image</source>\n        <target>Adicionar imagem</target>\n      </trans-unit>\n      <trans-unit id="66c5fb27f52e75b70ca4b670b9b15a2a51cf9543" datatype="html">\n        <source>ACL authentication</source>\n        <target>Autenticação ACL</target>\n      </trans-unit>\n      <trans-unit id="419c8b402609dcf49ae4932a5a4647dc8d79bbaf" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n                can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Usernames must have a length of 8 to 64 characters and\n                can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</target>\n      </trans-unit>\n      <trans-unit id="938050960d6653fddfcfd42425e18fb35a308262" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n                and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n                and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="f494bd31f095f6dcc656ce87ec2dcf07a2e9b30c" datatype="html">\n        <source>Initiators</source>\n        <target>Iniciadores</target>\n      </trans-unit>\n      <trans-unit id="e98239d8a6be1100119ff4b5630c822b82786740" datatype="html">\n        <source>Initiator</source>\n        <target>Iniciador</target>\n      </trans-unit>\n      <trans-unit id="f2c5059d8cda15d8d03e2cce30f2d139623d9a91" datatype="html">\n        <source>Client IQN</source>\n        <target>IQN do Cliente</target>\n      </trans-unit>\n      <trans-unit id="107d5aabce23d900f0a80e6ddc1c10e29aa0bed8" datatype="html">\n        <source>Initiator IQN needs to be unique.</source>\n        <target>O IQN do Iniciador precisa ser exclusivo.</target>\n      </trans-unit>\n      <trans-unit id="bbf0b34a3fcc80800fcb44b9e1e86931a530dfe3" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n                        can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Os nomes de usuário devem ter entre 8 e 64 caracteres e\n                        apenas podem conter letras, \'.\', \'@\', \'-\', \'_\' ou \':\'.</target>\n      </trans-unit>\n      <trans-unit id="fdfee5d7a27e1bdd97a176097277bee078de6aaf" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n                        and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n                        and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="8406eb7415ee40e54d9ecb209abb056f06e3d666" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters and\n                        can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters and\n                        can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="5d1878d5fc761cbe9614bfd87047a740c82a6951" datatype="html">\n        <source>Initiator belongs to a group. Images will be configure in the group.</source>\n        <target>O iniciador pertence a um grupo. As imagens serão configuradas no grupo.</target>\n      </trans-unit>\n      <trans-unit id="c0de67b9d97fafbf200f9451e8388ee8128a56ac" datatype="html">\n        <source>No items added.</source>\n        <target>Nenhum item adicionado.</target>\n      </trans-unit>\n      <trans-unit id="d565e47726158e428ecdc952fc9233b9b7d7f049" datatype="html">\n        <source>Add initiator</source>\n        <target>Adicionar iniciador</target>\n      </trans-unit>\n      <trans-unit id="c22ba03540aa3217da059f45e7eab138b51a96e2" datatype="html">\n        <source>Groups</source>\n        <target>Grupos</target>\n      </trans-unit>\n      <trans-unit id="4c90059afafb7e160384d9f512797c95bb95c6dc" datatype="html">\n        <source>Group</source>\n        <target>Grupo</target>\n      </trans-unit>\n      <trans-unit id="3084948274cff4f56d0f431af47240e9cf02fcc7" datatype="html">\n        <source>Add group</source>\n        <target>Adicionar grupo</target>\n      </trans-unit>\n      <trans-unit id="c3a7e364a88ea4673199dfa98bc73e6dbe09dfac" datatype="html">\n        <source>Namespaces</source>\n        <target>Namespaces</target>\n      </trans-unit>\n      <trans-unit id="aba82bfd8e177d35b76cad7cd43941f8e5e5acac" datatype="html">\n        <source>Trash</source>\n        <target>Lixo</target>\n      </trans-unit>\n      <trans-unit id="66db799d67958d4b0765181d072df62e2d1c16f5" datatype="html">\n        <source>Issues</source>\n        <target>Problemas</target>\n      </trans-unit>\n      <trans-unit id="ef06d69259e587e28d52372455f44c7153cda7e7" datatype="html">\n        <source>Syncing</source>\n        <target>Sincronizando</target>\n      </trans-unit>\n      <trans-unit id="0b0901877d837d3fda16ba161eb74368d1c75b7a" datatype="html">\n        <source>Ready</source>\n        <target>Pronto</target>\n      </trans-unit>\n      <trans-unit id="4057c56d63a7e9b140b1d01871a9229a5f30eb27" datatype="html">\n        <source>Edit pool mirror mode</source>\n        <target>Editar modo de espelho do pool</target>\n      </trans-unit>\n      <trans-unit id="e1f367f5feaab38f6637dd1f967c848b447dea2d" datatype="html">\n        <source>To edit the mirror mode for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>, select a new mode from the list and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>To edit the mirror mode for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>, select a new mode from the list and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="32ca348ef926b0a6a7a780b8b64c3a8239895cec" datatype="html">\n        <source>Peer clusters must be removed prior to disabling mirror.</source>\n        <target>Clusters de peer devem ser removidos antes de desabilitar o espelho.</target>\n      </trans-unit>\n      <trans-unit id="fa61522d482349707fd7dd03b90dc5781611b17f" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/>\n  pool mirror peer\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/>\n  pool mirror peer\n        </target>\n      </trans-unit>\n      <trans-unit id="4ddcb416c1c0aa1f54acf5beef1de81813e76fa6" datatype="html">\n        <source>{VAR_SELECT, select, edit {Edit} other {Add} }</source>\n        <target>{VAR_SELECT, select, edit {Editar} other {Adicionar} }</target>\n      </trans-unit>\n      <trans-unit id="59ca65ece457429d90104ede4674965f62edbabe" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/> the pool\n          mirror peer attributes for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> and click\n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Submit\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/> the pool\n          mirror peer attributes for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> and click\n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Submit\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="d3cc964811f852a168f4a2d5daa59068abc5cf53" datatype="html">\n        <source>Cluster Name</source>\n        <target>Nome do Cluster</target>\n      </trans-unit>\n      <trans-unit id="b631721fc56cb7fb1cbd07b802a487c5753f6a2d" datatype="html">\n        <source>The cluster name is not valid.</source>\n        <target>O nome do cluster não é válido.</target>\n      </trans-unit>\n      <trans-unit id="ca6deafa31bf421f85094807982aee4bcb20a3ae" datatype="html">\n        <source>CephX ID</source>\n        <target>ID do CephX</target>\n      </trans-unit>\n      <trans-unit id="7539188a568c3d553cbde1bacaf32310c4264e24" datatype="html">\n        <source>CephX ID...</source>\n        <target>ID do CephX...</target>\n      </trans-unit>\n      <trans-unit id="a1c45b594b0fba22fc64e80c793a7ffe005fdb0e" datatype="html">\n        <source>The CephX ID is not valid.</source>\n        <target>O ID do CephX não é válido.</target>\n      </trans-unit>\n      <trans-unit id="20861576fcfce773c918c782cd4f5adf32382921" datatype="html">\n        <source>Monitor Addresses</source>\n        <target>Endereços do Monitor</target>\n      </trans-unit>\n      <trans-unit id="fa28eeed2b4bd4ccbe6e9349a1c2b3cb1c5de70a" datatype="html">\n        <source>Comma-delimited addresses...</source>\n        <target>Endereços delimitados por vírgula...</target>\n      </trans-unit>\n      <trans-unit id="dc016c82fd85848d5c1b2fd0e8469ee2027d9c16" datatype="html">\n        <source>The monitory address is not valid.</source>\n        <target>O endereço de monitoria não é válido.</target>\n      </trans-unit>\n      <trans-unit id="e0ac55b83dc6739e62bc655cfe375b67c93e7f4a" datatype="html">\n        <source>CephX Key</source>\n        <target>Chave do CephX</target>\n      </trans-unit>\n      <trans-unit id="f53434bcb95bd86f1df9c8e22966f757614fc4ad" datatype="html">\n        <source>Base64-encoded key...</source>\n        <target>Chave codificada com base64...</target>\n      </trans-unit>\n      <trans-unit id="4cd83164cd4f66b4abc2863f9ce6f599d789e4ca" datatype="html">\n        <source>CephX key must be base64 encoded.</source>\n        <target>A chave do CephX deve ser codificada com base64.</target>\n      </trans-unit>\n      <trans-unit id="ca53d681a9892d6fdbb57ee9676582186515e961" datatype="html">\n        <source>Performance counters not available</source>\n        <target>Contadores de desempenho não disponíveis</target>\n      </trans-unit>\n      <trans-unit id="9424badb7e0c6ac792d020d7830645b529a80aad" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the Object Gateway management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the Object Gateway management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="479488ab6e91ecb375484edc78bee3d13467f33f" datatype="html">\n        <source>Daemons List</source>\n        <target>Lista de Daemons</target>\n      </trans-unit>\n      <trans-unit id="eeba399c4dae8d4890c27b7a2cd2dc28fcf8b5f9" datatype="html">\n        <source>Performance Counters</source>\n        <target>Contadores de Desempenho</target>\n      </trans-unit>\n      <trans-unit id="5f67f2247b9c6bbaf24a0f2d37f4ac0537c6fa53" datatype="html">\n        <source>Loading bucket data...</source>\n        <target>Carregando dados do compartimento...</target>\n      </trans-unit>\n      <trans-unit id="2798cc1e152b1ec07fd8daf94a2a073d1ba1ebcc" datatype="html">\n        <source>Id</source>\n        <target>ID</target>\n      </trans-unit>\n      <trans-unit id="db4e1a734518691b128ef40b939cc673f01d03a6" datatype="html">\n        <source>The value is not valid.</source>\n        <target>O valor não é válido.</target>\n      </trans-unit>\n      <trans-unit id="eabb4db920d9f9b2480cf438468b86e1bea02a9b" datatype="html">\n        <source>The chosen name is already in use.</source>\n        <target>O nome escolhido já está em uso.</target>\n      </trans-unit>\n      <trans-unit id="0ee5132a8da30e0b7f9f5c70dbc91928d17dd909" datatype="html">\n        <source>Owner</source>\n        <target>Proprietário</target>\n      </trans-unit>\n      <trans-unit id="8e4c918357c7445fbf19a203e5f0f0ece1960b3b" datatype="html">\n        <source>-- Select a user --</source>\n        <target>-- Selecionar usuário --</target>\n      </trans-unit>\n      <trans-unit id="a4aab1f837bc8ec222e4f25922465d1c5929a1fc" datatype="html">\n        <source>Placement target</source>\n        <target>Placement target</target>\n      </trans-unit>\n      <trans-unit id="6bae0a7fc2c9c1fde7d937a8a1a3c7e6825cf7d1" datatype="html">\n        <source>-- Select a placement target --</source>\n        <target>-- Select a placement target --</target>\n      </trans-unit>\n      <trans-unit id="efeade5060b3add63863c24871f0830fb16b7e6d" datatype="html">\n        <source>Versioning</source>\n        <target>Versioning</target>\n      </trans-unit>\n      <trans-unit id="f50a33d3c339f8f4a465141f8caa5d2d8c005251" datatype="html">\n        <source>Enabled</source>\n        <target>Habilitado</target>\n      </trans-unit>\n      <trans-unit id="016d24e069e7d505a090fb8243e5cd43b35dc39b" datatype="html">\n        <source>Enables versioning for the objects in the bucket.</source>\n        <target>Enables versioning for the objects in the bucket.</target>\n      </trans-unit>\n      <trans-unit id="9e6775ffd06878aa145c07359f28557f01ede04f" datatype="html">\n        <source>Multi-Factor Authentication</source>\n        <target>Multi-Factor Authentication</target>\n      </trans-unit>\n      <trans-unit id="29e8a5d4fb767d4ad0c762c81c6264cec4c0ba97" datatype="html">\n        <source>Delete enabled</source>\n        <target>Delete enabled</target>\n      </trans-unit>\n      <trans-unit id="40fbc3ac8c1ea4ecfe62247e91f1f999ad5baf76" datatype="html">\n        <source>Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state.</source>\n        <target>Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state.</target>\n      </trans-unit>\n      <trans-unit id="d24c93a8c13db46defa06ed7b5e026a3edb52b91" datatype="html">\n        <source>Token Serial Number</source>\n        <target>Token Serial Number</target>\n      </trans-unit>\n      <trans-unit id="e6d9536c2af2e5e9a228c3e3e1809dc1fefe0149" datatype="html">\n        <source>Token PIN</source>\n        <target>Token PIN</target>\n      </trans-unit>\n      <trans-unit id="7b84370895ab9eb44672f57146fa05c5947f1c0c" datatype="html">\n        <source>Locking</source>\n        <target>Locking</target>\n      </trans-unit>\n      <trans-unit id="f038d51ab1645f15b0cd58f195c72a7eeebd4729" datatype="html">\n        <source>Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket.</source>\n        <target>Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket.</target>\n      </trans-unit>\n      <trans-unit id="9af1b4baa2dd8ed2bfc3cc756b12a2271c2dd793" datatype="html">\n        <source>Compliance</source>\n        <target>Compliance</target>\n      </trans-unit>\n      <trans-unit id="edd600fa489d1b4a4448dce694ed932e52ce8fda" datatype="html">\n        <source>Governance</source>\n        <target>Governance</target>\n      </trans-unit>\n      <trans-unit id="a5c3d9d2296f7886e8289b9f623323803deacfc6" datatype="html">\n        <source>Days</source>\n        <target>Days</target>\n      </trans-unit>\n      <trans-unit id="218c7d6d318c51e7105309aaeb0baec9d19e4efb" datatype="html">\n        <source>The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</source>\n        <target>The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</target>\n      </trans-unit>\n      <trans-unit id="289b101ec12427b3ca819df9e43cc3b14fae2cc4" datatype="html">\n        <source>The entered value must be a positive integer.</source>\n        <target>The entered value must be a positive integer.</target>\n      </trans-unit>\n      <trans-unit id="def9fc628134d3a044b7c0ad2a83c846bdad56f1" datatype="html">\n        <source>Retention period requires either Days or Years.</source>\n        <target>Retention period requires either Days or Years.</target>\n      </trans-unit>\n      <trans-unit id="003c94fc143882ac8af6251a1595fe62978fe3e6" datatype="html">\n        <source>Years</source>\n        <target>Years</target>\n      </trans-unit>\n      <trans-unit id="14c6189ead0951f13049c7bf9af7642d0c41957a" datatype="html">\n        <source>The number of years that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</source>\n        <target>The number of years that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</target>\n      </trans-unit>\n      <trans-unit id="45cc8ca94b5a50842a9a8ef804a5ab089a38ae5c" datatype="html">\n        <source>ID</source>\n        <target>ID</target>\n      </trans-unit>\n      <trans-unit id="e5c51963a9c553b29427ef783bbb69fa6634fa8c" datatype="html">\n        <source>Index type</source>\n        <target>Tipo de índice</target>\n      </trans-unit>\n      <trans-unit id="8e6f950a32eaea32ec7e192f9ca3d3dfe469d4ba" datatype="html">\n        <source>Placement rule</source>\n        <target>Regra de posicionamento</target>\n      </trans-unit>\n      <trans-unit id="6972d213e31c4ea4f887e60db99d9881bc8fcd3e" datatype="html">\n        <source>Marker</source>\n        <target>Marcador</target>\n      </trans-unit>\n      <trans-unit id="47b02acd2d3254d1ace1926f840523f154ebef71" datatype="html">\n        <source>Maximum marker</source>\n        <target>Marcador máximo</target>\n      </trans-unit>\n      <trans-unit id="8fe73a4787b8068b2ba61f54ab7e0f9af2ea1fc9" datatype="html">\n        <source>Version</source>\n        <target>Versão</target>\n      </trans-unit>\n      <trans-unit id="092fa3a7df9168b14d3f83a77a4035e92b92ce15" datatype="html">\n        <source>Master version</source>\n        <target>Versão master</target>\n      </trans-unit>\n      <trans-unit id="97434cc5001d407f90c7447a12d9e8e6848a2aa3" datatype="html">\n        <source>Modification time</source>\n        <target>Horário da modificação</target>\n      </trans-unit>\n      <trans-unit id="90fe2e41e7fde38453ce4e619efeea9bc6adea9c" datatype="html">\n        <source>Zonegroup</source>\n        <target>Grupo de zonas</target>\n      </trans-unit>\n      <trans-unit id="62a923f047ca49e7a4782629e91fea1ba32db68f" datatype="html">\n        <source>MFA Delete</source>\n        <target>MFA Delete</target>\n      </trans-unit>\n      <trans-unit id="649a410bd0ace333d067d8fa22f12bdbdb43533b" datatype="html">\n        <source>Bucket quota</source>\n        <target>Cota do compartimento</target>\n      </trans-unit>\n      <trans-unit id="cef1595d040e77cbb4466e60382028d4c2040cac" datatype="html">\n        <source>Maximum size</source>\n        <target>Tamanho máximo</target>\n      </trans-unit>\n      <trans-unit id="aa6fb95c355f172bda303de1ce2f38c251a149cf" datatype="html">\n        <source>Unlimited</source>\n        <target>Ilimitado</target>\n      </trans-unit>\n      <trans-unit id="ee862a800364b4d11f9b8cb9955a28a60f840a45" datatype="html">\n        <source>Maximum objects</source>\n        <target>Máximo de objetos</target>\n      </trans-unit>\n      <trans-unit id="08c74dc9762957593b91f6eb5d65efdfc975bf48" datatype="html">\n        <source>Username</source>\n        <target>Nome de usuário</target>\n      </trans-unit>\n      <trans-unit id="49c614babd1950adb2be75df4e2c9747286d6adc" datatype="html">\n        <source>-- Select a username --</source>\n        <target>-- Selecionar nome de usuário --</target>\n      </trans-unit>\n      <trans-unit id="c217ee914725a37e9dd2336c721c8e63e9666bdc" datatype="html">\n        <source>Auto-generate key</source>\n        <target>Gerar chave automaticamente</target>\n      </trans-unit>\n      <trans-unit id="2f1c1c0f2bce4c9f92d1a2061e8161cb0006c31a" datatype="html">\n        <source>Access key</source>\n        <target>Chave de acesso</target>\n      </trans-unit>\n      <trans-unit id="b864acb67296a9819c1db0069c4c47d8b5ce8f44" datatype="html">\n        <source>Secret key</source>\n        <target>Chave secreta</target>\n      </trans-unit>\n      <trans-unit id="b760f123248930122fc7e7b6b6bf94e376e959c8" datatype="html">\n        <source>Full name</source>\n        <target>Nome completo</target>\n      </trans-unit>\n      <trans-unit id="69b6ac577a19acc39fc0c22342092f327fff2529" datatype="html">\n        <source>Email address</source>\n        <target>Endereço de e-mail</target>\n      </trans-unit>\n      <trans-unit id="92f3f203270a29b3001871153f02c063484a1574" datatype="html">\n        <source>Suspended</source>\n        <target>Suspenso</target>\n      </trans-unit>\n      <trans-unit id="8011e20c5bbe51602d459a860fbf29b599b55edd" datatype="html">\n        <source>System</source>\n        <target>Sistema</target>\n      </trans-unit>\n      <trans-unit id="db18a2772988415466a7f75dc42663ce78c9c1d3" datatype="html">\n        <source>Maximum buckets</source>\n        <target>Máximo de compartimentos</target>\n      </trans-unit>\n      <trans-unit id="2c4c62e8ba24601be5cfe7dc5d32c24bbbd4b53c" datatype="html">\n        <source>Subusers</source>\n        <target>Subusuários</target>\n      </trans-unit>\n      <trans-unit id="17bb3082e6fe5003203ef992a3714172334631a1" datatype="html">\n        <source>Capabilities</source>\n        <target>Recursos</target>\n      </trans-unit>\n      <trans-unit id="36ad38f9c1a1485e09b67778a28af84553290ffb" datatype="html">\n        <source>User quota</source>\n        <target>Cota do usuário</target>\n      </trans-unit>\n      <trans-unit id="2aba1e87039819aca3b70faa9aa848c12bf139ca" datatype="html">\n        <source>Show</source>\n        <target>Mostrar</target>\n      </trans-unit>\n      <trans-unit id="0bcd5ef19af0f1b814141ca8c57df623d8270088" datatype="html">\n        <source>Keys</source>\n        <target>Chaves</target>\n      </trans-unit>\n      <trans-unit id="f61c6867295f3b53d23557021f2f4e0aa1d0b8fc" datatype="html">\n        <source>Type</source>\n        <target>Tipo</target>\n      </trans-unit>\n      <trans-unit id="1221ca97d19eaa9a7bc0c5243d5fc5befe1d2314" datatype="html">\n        <source>-- Select a type --</source>\n        <target>-- Selecionar tipo --</target>\n      </trans-unit>\n      <trans-unit id="d1b8990332af18f1c5159a6061ca889bcbb28432" datatype="html">\n        <source>Permission</source>\n        <target>Permissão</target>\n      </trans-unit>\n      <trans-unit id="a08c589f82f69d892307288da14190ae1dd583d5" datatype="html">\n        <source>-- Select a permission --</source>\n        <target>-- Selecionar permissão --</target>\n      </trans-unit>\n      <trans-unit id="b2841767821d6b66238c34d07e413b0af67aee92" datatype="html">\n        <source>Subuser</source>\n        <target>Subusuário</target>\n      </trans-unit>\n      <trans-unit id="bd59fc25a7bd98cff3e75117c09697c8a007a514" datatype="html">\n        <source>The chosen subuser ID is already in use.</source>\n        <target>O ID de subusuário escolhido já está em uso.</target>\n      </trans-unit>\n      <trans-unit id="3d386c357ebcbc04ed05c4babd5a03626f9b1674" datatype="html">\n        <source>read, write</source>\n        <target>leitura, gravação</target>\n      </trans-unit>\n      <trans-unit id="84e3e3f9a4f31a039b648c97debf95fcb20f4c4a" datatype="html">\n        <source>full</source>\n        <target>completo</target>\n      </trans-unit>\n      <trans-unit id="b6bf81d032a2316464f9df2f0d2f3d753f89f0d3" datatype="html">\n        <source>Swift key</source>\n        <target>Chave Swift</target>\n      </trans-unit>\n      <trans-unit id="1e0c12685d50d47448ceed9423977ef39775c037" datatype="html">\n        <source>Auto-generate secret</source>\n        <target>Gerar segredo automaticamente</target>\n      </trans-unit>\n      <trans-unit id="3d1c7a6004bd5d86a7fa096ae24209e8aa7a53e3" datatype="html">\n        <source>Loading user data...</source>\n        <target>Carregando dados do usuário...</target>\n      </trans-unit>\n      <trans-unit id="faa5d834ab28571423d794d32b57998920efb65f" datatype="html">\n        <source>The user data could not be loaded.</source>\n        <target>Não foi possível carregar os dados do usuário.</target>\n      </trans-unit>\n      <trans-unit id="6aaf5d2a304167272ac73e3b1d1c162e16c77858" datatype="html">\n        <source>The chosen user ID is already in use.</source>\n        <target>O ID de usuário escolhido já está em uso.</target>\n      </trans-unit>\n      <trans-unit id="df441e80db2157f9d272b75de724ba4a82b96b57" datatype="html">\n        <source>This is not a valid email address.</source>\n        <target>Este não é um endereço de e-mail válido.</target>\n      </trans-unit>\n      <trans-unit id="ca271adf154956b8fcb28f4f50a37acb3057ff7c" datatype="html">\n        <source>The chosen email address is already in use.</source>\n        <target>O endereço de e-mail escolhido já está em uso.</target>\n      </trans-unit>\n      <trans-unit id="030197cebe938edf35422e92fe14183d06eb670b" datatype="html">\n        <source>Max. buckets</source>\n        <target>Máx. de compartimentos</target>\n      </trans-unit>\n      <trans-unit id="f39256070bfc0714020dfee08895421fc1527014" datatype="html">\n        <source>Disabled</source>\n        <target>Desabilitado</target>\n      </trans-unit>\n      <trans-unit id="a5c05002b0ac2040f1aede5e727e0ffd06eda819" datatype="html">\n        <source>Custom</source>\n        <target>Personalizado</target>\n      </trans-unit>\n      <trans-unit id="28872515cb81d197a3a1733fa546d3e0f0dd6c67" datatype="html">\n        <source>The entered value must be &gt;= 1.</source>\n        <target>The entered value must be &gt;= 1.</target>\n      </trans-unit>\n      <trans-unit id="583a219c524155c2314eb06ee29162bb315272a3" datatype="html">\n        <source>S3 key</source>\n        <target>Chave S3</target>\n      </trans-unit>\n      <trans-unit id="128d6efb51d9ddc7c0cc695a2deeca5b9523f6e4" datatype="html">\n        <source>There are no subusers.</source>\n        <target>Não há subusuários.</target>\n      </trans-unit>\n      <trans-unit id="7fd6dfb8ecb982dbc3affb2c2d5414c4f5b6abd2" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ subuserLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ subuserLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="67c746c1ba9dab4351fedc4c7cba4e6d6b0dbc47" datatype="html">\n        <source>S3</source>\n        <target>S3</target>\n      </trans-unit>\n      <trans-unit id="d6819038d608623503918fb2553f53d68231ec3a" datatype="html">\n        <source>There are no keys.</source>\n        <target>Não há chaves.</target>\n      </trans-unit>\n      <trans-unit id="fc1c1a7140ff6b815a95b65ee2780fdbe1b2b7a1" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ s3keyLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ s3keyLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6ddb5e991a3ecd2659fb520bc5acc81b67e08ddd" datatype="html">\n        <source>Swift</source>\n        <target>Swift</target>\n      </trans-unit>\n      <trans-unit id="1d01eccdda47fc907c5be35bcb16d2dcd02b0270" datatype="html">\n        <source>There are no capabilities.</source>\n        <target>Não há recursos.</target>\n      </trans-unit>\n      <trans-unit id="043e2ec0036ceadd926fd5e3f93cd6f3565f3648" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.ADD | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.ADD | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="f5a451c4ea65a4046f0b49d489a7013abf0b5861" datatype="html">\n        <source>All capabilities are already added.</source>\n        <target>All capabilities are already added.</target>\n      </trans-unit>\n      <trans-unit id="6146e13ceca5fa5cc17b771b282fe5955f3d19fa" datatype="html">\n        <source>Unlimited size</source>\n        <target>Tamanho ilimitado</target>\n      </trans-unit>\n      <trans-unit id="f6db8aa7c99fdce18edb33dde57729acede2b308" datatype="html">\n        <source>Max. size</source>\n        <target>Tamanho máx.</target>\n      </trans-unit>\n      <trans-unit id="fc630b2093e880fffa19df99d5cd8b87605037f8" datatype="html">\n        <source>Unlimited objects</source>\n        <target>Objetos ilimitados</target>\n      </trans-unit>\n      <trans-unit id="6cda5a993d06f0bb10048be9d3aba6555aa9f356" datatype="html">\n        <source>Max. objects</source>\n        <target>Máx. de objetos</target>\n      </trans-unit>\n      <trans-unit id="623ac50f37a26caec6fd7cd519b653e3315cba25" datatype="html">\n        <source>The entered value must be &gt;= 0.</source>\n        <target>O valor inserido deve ser &gt;= 0.</target>\n      </trans-unit>\n      <trans-unit id="1ea5c4d8942c00752dcc72e72949c5d9832f6399" datatype="html">\n        <source>Description...</source>\n        <target>Descrição...</target>\n      </trans-unit>\n      <trans-unit id="70f45880fce6ac5d8e468e25e82aefbba8098cfe" datatype="html">\n        <source>Permissions</source>\n        <target>Permissões</target>\n      </trans-unit>\n      <trans-unit id="9610487cbeb5796d34d8601b5ac0c0a65f9e1d19" datatype="html">\n        <source>Roles</source>\n        <target>Funções</target>\n      </trans-unit>\n      <trans-unit id="7f3bdcce4b2e8c37cd7f0f6c92ef8cff34b039b8" datatype="html">\n        <source>Confirm password</source>\n        <target>Confirmar senha</target>\n      </trans-unit>\n      <trans-unit id="cbb979e63ba50e0ca3adfa09cbdcaefd0853fca1" datatype="html">\n        <source>Password confirmation doesn\'t match the password.</source>\n        <target>A confirmação de senha não corresponde à senha.</target>\n      </trans-unit>\n      <trans-unit id="96621f9ed2e4ae5204564e583d2c816bedead571" datatype="html">\n        <source>Password expiration date</source>\n        <target>Password expiration date</target>\n      </trans-unit>\n      <trans-unit id="48932db3801fe9d5d72a60a3e656bffd17c1c5d9" datatype="html">\n        <source>Password expiration date...</source>\n        <target>Password expiration date...</target>\n      </trans-unit>\n      <trans-unit id="244aae9346da82b0922506c2d2581373a15641cc" datatype="html">\n        <source>Email</source>\n        <target>E-mail</target>\n      </trans-unit>\n      <trans-unit id="d0ec081dd61eb4f43aea269077bbe38eae87b7f9" datatype="html">\n        <source>Invalid email.</source>\n        <target>E-mail inválido.</target>\n      </trans-unit>\n      <trans-unit id="8913c216dd506e20e412e144381d8d2a65a84359" datatype="html">\n        <source>User must change password at next logon</source>\n        <target>User must change password at next logon</target>\n      </trans-unit>\n      <trans-unit id="0051a3479d3ba79135c16dc8cc017950a2cce821" datatype="html">\n        <source>You are about to remove "user read / update" permissions from your own user.</source>\n        <target>Você está prestes a remover as permissões de "leitura/atualização de usuário" do seu próprio usuário.</target>\n      </trans-unit>\n      <trans-unit id="af4bf9fcb256853f14cf947eb1deb8d7f176d3f9" datatype="html">\n        <source>If you continue, you will no longer be able to add or remove roles from any user.</source>\n        <target>Se você continuar, não poderá mais adicionar ou remover funções de nenhum usuário.</target>\n      </trans-unit>\n      <trans-unit id="7d1dcf2a9146caac0581329acf94806ec69a89a5" datatype="html">\n        <source>Are you sure you want to continue?</source>\n        <target>Deseja realmente continuar?</target>\n      </trans-unit>\n      <trans-unit id="85b79c9064aed1ead31ace985f31aa1363f6bdaf" datatype="html">\n        <source>Help</source>\n        <target>Ajuda</target>\n      </trans-unit>\n      <trans-unit id="fcfd4675b4c90f08d18d3abede9a9a4dff4cfdc7" datatype="html">\n        <source>Documentation</source>\n        <target>Documentação</target>\n      </trans-unit>\n      <trans-unit id="e351b40b3869a5c7d19c3d4918cb1ac7aaab95c4" datatype="html">\n        <source>API</source>\n        <target>API</target>\n      </trans-unit>\n      <trans-unit id="004b222ff9ef9dd4771b777950ca1d0e4cd4348a" datatype="html">\n        <source>About</source>\n        <target>Sobre</target>\n      </trans-unit>\n      <trans-unit id="1481ecd21e760ac919a24e26cf790acd82e40199" datatype="html">\n        <source>Dashboard Settings</source>\n        <target>Configurações do Painel de Controle</target>\n      </trans-unit>\n      <trans-unit id="a79aab4ef674bf3f6532292107c0054302236e0f" datatype="html">\n        <source>User management</source>\n        <target>Gerenciamento de usuários</target>\n      </trans-unit>\n      <trans-unit id="049dfd9fe6c78914ad58cf89ac6a631fca28ec74" datatype="html">\n        <source>Logged in user</source>\n        <target>Usuário que efetuou login</target>\n      </trans-unit>\n      <trans-unit id="cd38a58e73f306d838e621959d47d5e7a2f06d1f" datatype="html">\n        <source>Signed in as\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ username }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>\n        </source>\n        <target>Signed in as\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ username }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="739516c2ca75843d5aec9cf0e6b3e4335c4227b9" datatype="html">\n        <source>Change password</source>\n        <target>Change password</target>\n      </trans-unit>\n      <trans-unit id="5d22c795daf43877a5f708dca2bccd549eb0471d" datatype="html">\n        <source>Sign out</source>\n        <target>Efetuar logout</target>\n      </trans-unit>\n      <trans-unit id="91853167141c37b58868f3b0421383dd72fa8a01" datatype="html">\n        <source>Attributes (OSD map)</source>\n        <target>Atributos (mapa OSD)</target>\n      </trans-unit>\n      <trans-unit id="97842f379e1d4157ac3ab0661b90c352e7cb72d5" datatype="html">\n        <source>Metadata not available</source>\n        <target>Metadados não disponíveis</target>\n      </trans-unit>\n      <trans-unit id="f721a500a68c357e8f2a01e60510f6a01e4ba529" datatype="html">\n        <source>Metadata</source>\n        <target>Metadados</target>\n      </trans-unit>\n      <trans-unit id="deba10b7279a589d01e919ea11f43c79ca1773e3" datatype="html">\n        <source>Device health</source>\n        <target>Device health</target>\n      </trans-unit>\n      <trans-unit id="d24e28e19c5703d7c6be44f4eb595a6a43b618ed" datatype="html">\n        <source>Performance counter</source>\n        <target>Contador de desempenho</target>\n      </trans-unit>\n      <trans-unit id="d1f7c81ed9c5034af4abcdf119b1c1e86cd019dd" datatype="html">\n        <source>Histogram not available: \n          <x id="INTERPOLATION" equiv-text="{{ osd.histogram_failed }}"/>\n        </source>\n        <target>Histogram not available: \n          <x id="INTERPOLATION" equiv-text="{{ osd.histogram_failed }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="868abfff914873d1c65df798d8432ed04b8ae2a9" datatype="html">\n        <source>Writes</source>\n        <target>Gravações</target>\n      </trans-unit>\n      <trans-unit id="996ebb9a653b5067f97bf3891ea9d2108e969492" datatype="html">\n        <source>Reads</source>\n        <target>Leituras</target>\n      </trans-unit>\n      <trans-unit id="65ac79790aa477a97b1cc579e18a115a8df8918f" datatype="html">\n        <source>Histogram</source>\n        <target>Histograma</target>\n      </trans-unit>\n      <trans-unit id="3d87fc20ea8e5f0f0500ba5d5061b345be78ec5e" datatype="html">\n        <source>No hostname found.</source>\n        <target>No hostname found.</target>\n      </trans-unit>\n      <trans-unit id="26fb5f81b3581f06b9210defb0e71dc69a67e819" datatype="html">\n        <source>Current values</source>\n        <target>Valores atuais</target>\n      </trans-unit>\n      <trans-unit id="9abcd7c82643d60c22733470463f74e4a54bc069" datatype="html">\n        <source>Min</source>\n        <target>Mín.</target>\n      </trans-unit>\n      <trans-unit id="c3ced4d162a0a55ee233a187ce7208ba5e922418" datatype="html">\n        <source>Max</source>\n        <target>Máx.</target>\n      </trans-unit>\n      <trans-unit id="6834fa6b43d1ecbdf147c48dd9c4d72f1484571d" datatype="html">\n        <source>Source</source>\n        <target>Origem</target>\n      </trans-unit>\n      <trans-unit id="a446fb0eb11fbffcac805ece5a2d306d24e733d8" datatype="html">\n        <source>Level</source>\n        <target>Nível</target>\n      </trans-unit>\n      <trans-unit id="39f2fb094e9b2eda13163fa3f3a31594cf9c1307" datatype="html">\n        <source>Can be updated at runtime (editable)</source>\n        <target>Pode ser atualizado em tempo de execução (editável)</target>\n      </trans-unit>\n      <trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b" datatype="html">\n        <source>Tags</source>\n        <target>Tags</target>\n      </trans-unit>\n      <trans-unit id="ab0089ef47af61ca1d137bc908b96c290dfd9287" datatype="html">\n        <source>Enum values</source>\n        <target>Valores de enum</target>\n      </trans-unit>\n      <trans-unit id="819476f1264f1659f38e86f6abb542141b184832" datatype="html">\n        <source>See also</source>\n        <target>Consulte também</target>\n      </trans-unit>\n      <trans-unit id="73caac4265ea7314ff061e5a1d78a6361a6dd3b8" datatype="html">\n        <source>Cluster Status</source>\n        <target>Status do Cluster</target>\n      </trans-unit>\n      <trans-unit id="1d4bc612bbf19aa9553853266b9e92c9d75f4464" datatype="html">\n        <source>Manager Daemons</source>\n        <target>Daemons do Gerenciador</target>\n      </trans-unit>\n      <trans-unit id="946ac5dea9921dc09d7b0a63b89535371f283b19" datatype="html">\n        <source>Object Gateways</source>\n        <target>Gateways de Objetos</target>\n      </trans-unit>\n      <trans-unit id="ff03fa5bcf37c4da46ad736c1f7d03f959e8ba9a" datatype="html">\n        <source>Metadata Servers</source>\n        <target>Servidores de Metadados</target>\n      </trans-unit>\n      <trans-unit id="d817609ba4993eba859409ab71e566168f4d5f5a" datatype="html">\n        <source>iSCSI Gateways</source>\n        <target>Gateways iSCSI</target>\n      </trans-unit>\n      <trans-unit id="42c13e50391250ea9379bdf55d5d6c0228c0c8bc" datatype="html">\n        <source>Client IOPS</source>\n        <target>IOPS do Cliente</target>\n      </trans-unit>\n      <trans-unit id="52213660b2454d139ada3079a42ec6caf3c3c01e" datatype="html">\n        <source>Client Throughput</source>\n        <target>Throughput do Cliente</target>\n      </trans-unit>\n      <trans-unit id="32efd1c3f70e3c5244239de97a2cc95d98534a14" datatype="html">\n        <source>Client Read/Write</source>\n        <target>Leitura/Gravação do Cliente</target>\n      </trans-unit>\n      <trans-unit id="275485415092cbae3a9f3cbb786ebe283cacfdd5" datatype="html">\n        <source>Recovery Throughput</source>\n        <target>Throughput de Recuperação</target>\n      </trans-unit>\n      <trans-unit id="6d9a9f55046891733ef71170e7652063765eb542" datatype="html">\n        <source>Scrub</source>\n        <target>Remoção</target>\n      </trans-unit>\n      <trans-unit id="3cc9c2ae277393b3946b38c088dabff671b1ee1b" datatype="html">\n        <source>Performance</source>\n        <target>Desempenho</target>\n      </trans-unit>\n      <trans-unit id="88f383269db2d32cccee9e936fe549dccb9fdbf4" datatype="html">\n        <source>Raw Capacity</source>\n        <target>Capacidade Bruta</target>\n      </trans-unit>\n      <trans-unit id="c5f8a813f91a11af99132e4beafc136cfc13d73b" datatype="html">\n        <source>PGs per OSD</source>\n        <target>PGs por OSD</target>\n      </trans-unit>\n      <trans-unit id="498a109c6e9e94f1966de01aa0326f7f0ac6fb52" datatype="html">\n        <source>PG Status</source>\n        <target>Status do PG</target>\n      </trans-unit>\n      <trans-unit id="ce9dfdc6dccb28dc75a78c704e09dc18fb02dcfa" datatype="html">\n        <source>Capacity</source>\n        <target>Capacidade</target>\n      </trans-unit>\n      <trans-unit id="44ecac93d67c6a671198091c2270354f80322327" datatype="html">\n        <source>\n          <x id="START_ITALIC_TEXT" ctype="x-i" equiv-text="<i>"/>\n          <x id="CLOSE_ITALIC_TEXT" ctype="x-i" equiv-text="</i>"/> See \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Logs\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more details.\n        </source>\n        <target>\n          <x id="START_ITALIC_TEXT" ctype="x-i" equiv-text="<i>"/>\n          <x id="CLOSE_ITALIC_TEXT" ctype="x-i" equiv-text="</i>"/> See \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Logs\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more details.\n        </target>\n      </trans-unit>\n      <trans-unit id="0c1e17956453ad772dbe82d6946f62748c692f3e" datatype="html">\n        <source>Ranks</source>\n        <target>Posições</target>\n      </trans-unit>\n      <trans-unit id="2b24e0b0b1629d2e8a51b9da7c75d6e6379f4bc4" datatype="html">\n        <source>Standbys</source>\n        <target>Standbys</target>\n      </trans-unit>\n      <trans-unit id="50df62325726db950523a5be1c78b8905fcc25d4" datatype="html">\n        <source>MDS performance counters</source>\n        <target>MDS performance counters</target>\n      </trans-unit>\n      <trans-unit id="6e213942c6354b9cbe7a650f0f1499bfc1000fb6" datatype="html">\n        <source>Directories</source>\n        <target>Directories</target>\n      </trans-unit>\n      <trans-unit id="47116253e36f4e38a97ba41b2d3122c6c15ab904" datatype="html">\n        <source>Clients (\n          <x id="INTERPOLATION" equiv-text="{{ clients.length }}"/>)\n        </source>\n        <target>Clients (\n          <x id="INTERPOLATION" equiv-text="{{ clients.length }}"/>)\n        </target>\n      </trans-unit>\n      <trans-unit id="bd5a3b1c5a3c185c7bbb0e09a061d4cdc88ce5ad" datatype="html">\n        <source>Current</source>\n        <target>Atual</target>\n      </trans-unit>\n      <trans-unit id="e5e7d62e942083a59b0b31f54e17cd7958186052" datatype="html">\n        <source>Updated discovery authentication</source>\n        <target>Autenticação de descoberta atualizada</target>\n      </trans-unit>\n      <trans-unit id="dd4ab758afd5fd5a6c6a25b2b30ff99d0c00e9ad" datatype="html">\n        <source>There are no portals available.</source>\n        <target>Não há portais disponíveis.</target>\n      </trans-unit>\n      <trans-unit id="83021e45778a4a230a14ca0c6d6ccdf05500ad93" datatype="html">\n        <source>There are no images available.</source>\n        <target>Não há imagens disponíveis.</target>\n      </trans-unit>\n      <trans-unit id="86684eb21f8a768e1dbc659e3d5da6861db544a0" datatype="html">\n        <source>There are no images available. Please make sure you add an image to the target.</source>\n        <target>Não há imagens disponíveis. Adicione uma imagem ao destino.</target>\n      </trans-unit>\n      <trans-unit id="fffda6e440078f57eba93944ce051c593cc6ed7f" datatype="html">\n        <source>There are no initiators available. Please make sure you add an initiator to the target.</source>\n        <target>Não há iniciadores disponíveis. Adicione um iniciador ao destino.</target>\n      </trans-unit>\n      <trans-unit id="cea3c6fe490385eef1584cbc4983fda7ece24bb6" datatype="html">\n        <source>target</source>\n        <target>target</target>\n      </trans-unit>\n      <trans-unit id="38baeb215c17af9d9e295e371a57f4a48ab4c191" datatype="html">\n        <source>Target</source>\n        <target>Destino</target>\n      </trans-unit>\n      <trans-unit id="99e094878070eebc1b972bac02aaa33b2bf83b35" datatype="html">\n        <source># Sessions</source>\n        <target># Sessions</target>\n      </trans-unit>\n      <trans-unit id="2ea10b3668e04e057ba96ddcaf4c9b77089008ae" datatype="html">\n        <source>Unavailable gateway(s)</source>\n        <target>Unavailable gateway(s)</target>\n      </trans-unit>\n      <trans-unit id="c49e0dd71d551bd4928d967d78f0721dbf9f95e3" datatype="html">\n        <source>Target has active sessions</source>\n        <target>Target has active sessions</target>\n      </trans-unit>\n      <trans-unit id="a87acd72dfb68b45175270695209550a85adf50c" datatype="html">\n        <source>iSCSI target</source>\n        <target>iSCSI target</target>\n      </trans-unit>\n      <trans-unit id="873b72903b1858a9cd6c8967521030b4d7d1435b" datatype="html">\n        <source>State</source>\n        <target>Estado</target>\n      </trans-unit>\n      <trans-unit id="02b75464c0dc0cf49ea0208211b6fbcad3bf728a" datatype="html">\n        <source># Targets</source>\n        <target># Targets</target>\n      </trans-unit>\n      <trans-unit id="13415637c325ceefee29111b31cb48701490adf7" datatype="html">\n        <source>Read Bytes</source>\n        <target>Bytes de Leitura</target>\n      </trans-unit>\n      <trans-unit id="e2ed82b7bbf4a006e60e6208c597b05d5b5556e9" datatype="html">\n        <source>Write Bytes</source>\n        <target>Bytes de Gravação</target>\n      </trans-unit>\n      <trans-unit id="6a32a5f58845ca840185ea9564682094e77a1d80" datatype="html">\n        <source>Read Ops</source>\n        <target>Op. de Leitura</target>\n      </trans-unit>\n      <trans-unit id="7c36cb8032af123d3550ffab2e1fa1e957c87fae" datatype="html">\n        <source>Write Ops</source>\n        <target>Op. de Gravação</target>\n      </trans-unit>\n      <trans-unit id="458c33846a8c7e2feb9404bcf06723784e756cdc" datatype="html">\n        <source>A/O Since</source>\n        <target>A/O Desde</target>\n      </trans-unit>\n      <trans-unit id="ff78f059449d44322f627d0f66df07abe476962b" datatype="html">\n        <source>Instance</source>\n        <target>Instância</target>\n      </trans-unit>\n      <trans-unit id="36fad7995cadfb3a6f0d43ef2db280146b3ca022" datatype="html">\n        <source>Issue</source>\n        <target>Problema</target>\n      </trans-unit>\n      <trans-unit id="15793f4cbc261bedbc60f7105533dde536a3f42b" datatype="html">\n        <source>Progress</source>\n        <target>Andamento</target>\n      </trans-unit>\n      <trans-unit id="25b725dba712a7a020fd34a72297befae975a492" datatype="html">\n        <source>Edit Site Name</source>\n        <target>Edit Site Name</target>\n      </trans-unit>\n      <trans-unit id="8c375764db42f5d736fb56d01b8052c006ccc8e2" datatype="html">\n        <source>Edit Mode</source>\n        <target>Modo de Edição</target>\n      </trans-unit>\n      <trans-unit id="45932f2a0ea524b3425f4320ee46a6d1c68977bc" datatype="html">\n        <source>Add Peer</source>\n        <target>Adicionar Peer</target>\n      </trans-unit>\n      <trans-unit id="d3dc34662e3cda0dad646221651cebd26f731485" datatype="html">\n        <source>Edit Peer</source>\n        <target>Editar Peer</target>\n      </trans-unit>\n      <trans-unit id="e8a0ec0b6ee72db0f27c186e09640d1ed41964bd" datatype="html">\n        <source>Delete Peer</source>\n        <target>Excluir Peer</target>\n      </trans-unit>\n      <trans-unit id="314de06d6f64d39149e78e6d796585c0246fec0b" datatype="html">\n        <source>Leader</source>\n        <target>Leader</target>\n      </trans-unit>\n      <trans-unit id="7acaab450312114059ced9e3737798ee9aa738b1" datatype="html">\n        <source># Local</source>\n        <target>Nº Local</target>\n      </trans-unit>\n      <trans-unit id="7a3ffd88868135c44be3994263bb8e49d8358884" datatype="html">\n        <source># Remote</source>\n        <target>Nº Remoto</target>\n      </trans-unit>\n      <trans-unit id="85ca0fd6a6ddd211023c70a25753122c5b978787" datatype="html">\n        <source>mirror peer</source>\n        <target>espelhar peer</target>\n      </trans-unit>\n      <trans-unit id="a6493c6ca346cd052da40423eda9c132de2b2002" datatype="html">\n        <source>Key</source>\n        <target>Chave</target>\n      </trans-unit>\n      <trans-unit id="e9cac80fb5d9de66f0006d0bec530fd1fc69a674" datatype="html">\n        <source>RBD</source>\n        <target>RBD</target>\n      </trans-unit>\n      <trans-unit id="4130b1a836f2000cfe9a11fb62493dc42d444de7" datatype="html">\n        <source>Deep flatten</source>\n        <target>Nivelamento profundo</target>\n      </trans-unit>\n      <trans-unit id="7b17694d7cb8ecb7c8440bc999dac21b44455b33" datatype="html">\n        <source>Layering</source>\n        <target>Disposição em camadas</target>\n      </trans-unit>\n      <trans-unit id="6a072ce577c2079d0e0c31071a16824f6d22b84d" datatype="html">\n        <source>Exclusive lock</source>\n        <target>Bloqueio exclusivo</target>\n      </trans-unit>\n      <trans-unit id="7354f01320bf936a7f85577c9f71402635c3a362" datatype="html">\n        <source>Object map (requires exclusive-lock)</source>\n        <target>Mapa de objetos (requer bloqueio exclusivo)</target>\n      </trans-unit>\n      <trans-unit id="fb7e625c1152f1c102cd16460955d124edff1770" datatype="html">\n        <source>Journaling (requires exclusive-lock)</source>\n        <target>Registro em diário (requer bloqueio exclusivo)</target>\n      </trans-unit>\n      <trans-unit id="df4044632bfc211dd96544fc8f007dabbeeb506c" datatype="html">\n        <source>Fast diff (interlocked with object-map)</source>\n        <target>Fast diff (interlocked with object-map)</target>\n      </trans-unit>\n      <trans-unit id="130fd872c78271a8f86b1ab16a76e823969c47d9" datatype="html">\n        <source>Namespace</source>\n        <target>Namespace</target>\n      </trans-unit>\n      <trans-unit id="14abc99daed542774633046c53b6ce8251331141" datatype="html">\n        <source>This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.</source>\n        <target>This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.</target>\n      </trans-unit>\n      <trans-unit id="51699f716cf34e6622ff7bfd84641480c045271a" datatype="html">\n        <source>Created namespace \'\n          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>\'\n        </source>\n        <target>Created namespace \'\n          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="bf44b7d6379ce0198ed3d95a27642a224181bf1d" datatype="html">\n        <source>Total images</source>\n        <target>Total images</target>\n      </trans-unit>\n      <trans-unit id="371ce3ffe62548d15e391a248bc554d903bb03fc" datatype="html">\n        <source>Deleted namespace \'\n          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>\'\n        </source>\n        <target>Deleted namespace \'\n          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="9d704fd00ca929f90c3119cefc581821ae58a73e" datatype="html">\n        <source>Namespace contains images</source>\n        <target>Namespace contains images</target>\n      </trans-unit>\n      <trans-unit id="c2017dc94b4f57a347ccb126e546e88942f4d7a6" datatype="html">\n        <source>RBD Snapshot</source>\n        <target>RBD Snapshot</target>\n      </trans-unit>\n      <trans-unit id="631fc50ec7c9bd81dc797a3c7e09eda1178ad999" datatype="html">\n        <source>Parent image must support Layering</source>\n        <target>Parent image must support Layering</target>\n      </trans-unit>\n      <trans-unit id="cb60c1cd3655234756b5b92d4d597d92d520ee30" datatype="html">\n        <source>PROTECTED</source>\n        <target>PROTECTED</target>\n      </trans-unit>\n      <trans-unit id="deffb86b8fb0541254ad5a43862d82bff6b6a6c4" datatype="html">\n        <source>UNPROTECTED</source>\n        <target>NÃO PROTEGIDO</target>\n      </trans-unit>\n      <trans-unit id="7eb984588f4835f6d0187b33769b4b0f62821640" datatype="html">\n        <source>RBD snapshot rollback</source>\n        <target>Rollback de instantâneo do RBD</target>\n      </trans-unit>\n      <trans-unit id="4be22bf20ef82614ed53bcd3b912a85590aa71c9" datatype="html">\n        <source>Rollback</source>\n        <target>Fazer Rollback</target>\n      </trans-unit>\n      <trans-unit id="2a04c483708d261751d62082d6f03a50d4577b1e" datatype="html">\n        <source>RBD snapshot</source>\n        <target>Instantâneo do RBD</target>\n      </trans-unit>\n      <trans-unit id="fa96769d1ea86741297cb9b9769b0dcfde58c8b4" datatype="html">\n        <source>Deleted At</source>\n        <target>Excluído à(s)</target>\n      </trans-unit>\n      <trans-unit id="e928864038ca70ee7d67bbf1fd71a01c3938a127" datatype="html">\n        <source>id</source>\n        <target>ID</target>\n      </trans-unit>\n      <trans-unit id="240c9c1e96dc38814922a83ad041dc815b084f32" datatype="html">\n        <source>type</source>\n        <target>tipo</target>\n      </trans-unit>\n      <trans-unit id="c9d7ec7ee5b4e282f2228fa996651ec4ef5195a9" datatype="html">\n        <source>state</source>\n        <target>estado</target>\n      </trans-unit>\n      <trans-unit id="5780e5c3b4fc2ae07836bb5221cec4f8d597630d" datatype="html">\n        <source>version</source>\n        <target>versão</target>\n      </trans-unit>\n      <trans-unit id="fe22ca53e651df951dac25b67c17894b0980f767" datatype="html">\n        <source>Host</source>\n        <target>Host</target>\n      </trans-unit>\n      <trans-unit id="fb69299354312c8954ecf324997ccafcd9f6b14b" datatype="html">\n        <source>root</source>\n        <target>raiz</target>\n      </trans-unit>\n      <trans-unit id="d34feb369d308075b423d5c5fc431f9766bf7a11" datatype="html">\n        <source>Evicted client "\n          <x id="INTERPOLATION" equiv-text="{{clientId}}"/>"\n        </source>\n        <target>Evicted client "\n          <x id="INTERPOLATION" equiv-text="{{clientId}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="7db875ff4cc626d394f37fba95c075b2e4bfeb00" datatype="html">\n        <source>Standby daemons</source>\n        <target>Daemons de standby</target>\n      </trans-unit>\n      <trans-unit id="3c3a423d91e36ac6624e909fcd2669a25685f847" datatype="html">\n        <source>Rank</source>\n        <target>Posição</target>\n      </trans-unit>\n      <trans-unit id="9596ecae8956e96921acef47aec787f6bdc37454" datatype="html">\n        <source>Daemon</source>\n        <target>Daemon</target>\n      </trans-unit>\n      <trans-unit id="f2005fa461c06dc2e04d8918bbabedf23604b5b7" datatype="html">\n        <source>Activity</source>\n        <target>Atividade</target>\n      </trans-unit>\n      <trans-unit id="e3a986984ae0c3b43af648c3fa638649d1c00348" datatype="html">\n        <source>Dentries</source>\n        <target>Dentries</target>\n      </trans-unit>\n      <trans-unit id="7c692ab865066967d73c6d64ec0691cc6ce91b93" datatype="html">\n        <source>Inodes</source>\n        <target>Inodes</target>\n      </trans-unit>\n      <trans-unit id="45f210b96a2a6e91f52f153a4f8dc30662629f8e" datatype="html">\n        <source>Usage</source>\n        <target>Uso</target>\n      </trans-unit>\n      <trans-unit id="950b5f04a2efd3f11c0f76418d5a4212381e792e" datatype="html">\n        <source>Origin</source>\n        <target>Origin</target>\n      </trans-unit>\n      <trans-unit id="2ea2ec95d93fd55d0db6e9d2b95b25e153d4cec2" datatype="html">\n        <source>Max size</source>\n        <target>Max size</target>\n      </trans-unit>\n      <trans-unit id="665dced3a61bca44924a0bde4be47390225a4898" datatype="html">\n        <source>Max files</source>\n        <target>Max files</target>\n      </trans-unit>\n      <trans-unit id="0ccf776baac60794b142526986f3af85848c7059" datatype="html">\n        <source>The inherited \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/> is the maximum value to be used.\n        </source>\n        <target>The inherited \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/> is the maximum value to be used.\n        </target>\n      </trans-unit>\n      <trans-unit id="b0e2ef28384f2de6674cac300c779f900929a89b" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{action}}"/> CephFS \n          <x id="INTERPOLATION_1" equiv-text="{{quotaName}}"/> quota for \'\n          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>\'\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{action}}"/> CephFS \n          <x id="INTERPOLATION_1" equiv-text="{{quotaName}}"/> quota for \'\n          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="542ef638499635dec7641bdc2e499258094187cc" datatype="html">\n        <source>size</source>\n        <target>size</target>\n      </trans-unit>\n      <trans-unit id="ce90ff00c341d8eef96b0e7956bb85b8faba3839" datatype="html">\n        <source>files</source>\n        <target>files</target>\n      </trans-unit>\n      <trans-unit id="fbe8b9340c08c24aef62ffe81c83e2b46a4f1495" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{quotaName}}"/> quota \n          <x id="INTERPOLATION_1" equiv-text="{{value}}"/> from \'\n          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>\'\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{quotaName}}"/> quota \n          <x id="INTERPOLATION_1" equiv-text="{{value}}"/> from \'\n          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="37c2c0a4a356465eef2edfb09ffffc6db5259975" datatype="html">\n        <source>Value has to be at least \n          <x id="INTERPOLATION" equiv-text="{{value}}"/> or more\n        </source>\n        <target>Value has to be at least \n          <x id="INTERPOLATION" equiv-text="{{value}}"/> or more\n        </target>\n      </trans-unit>\n      <trans-unit id="73f8e64703a707e2cf98b9a10653cd3bbdd8cab1" datatype="html">\n        <source>Value has to be at most \n          <x id="INTERPOLATION" equiv-text="{{value}}"/> or less\n        </source>\n        <target>Value has to be at most \n          <x id="INTERPOLATION" equiv-text="{{value}}"/> or less\n        </target>\n      </trans-unit>\n      <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc" datatype="html">\n        <source>Updated</source>\n        <target>Atualizado</target>\n      </trans-unit>\n      <trans-unit id="b6a4cf4f302c7fcbec199ce0df42b8282d682b04" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{action}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{quotaValue}}"/>\n          <x id="INTERPOLATION_2" equiv-text="{{conclusion}}"/>.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{action}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{quotaValue}}"/>\n          <x id="INTERPOLATION_2" equiv-text="{{conclusion}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="a40024afb071f68fec949094a71f832d5611bca5" datatype="html">\n        <source>in order to inherit \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>\n        </source>\n        <target>in order to inherit \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="c108ff588291e9c040adea2adf35e7236cf29925" datatype="html">\n        <source>which isn\'t used because of the inheritance of \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>\n        </source>\n        <target>which isn\'t used because of the inheritance of \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="d3785a64d1c72b03b2212855ce695b45ed0342d2" datatype="html">\n        <source>in order to have no quota on the directory</source>\n        <target>in order to have no quota on the directory</target>\n      </trans-unit>\n      <trans-unit id="c4d3a3446a7f36825291c5e76c4a6b7919f9bd2f" datatype="html">\n        <source>Create Snapshot</source>\n        <target>Create Snapshot</target>\n      </trans-unit>\n      <trans-unit id="e9af734e231b837d64df21008e2eb1fdff566a61" datatype="html">\n        <source>Please enter the name of the snapshot.</source>\n        <target>Please enter the name of the snapshot.</target>\n      </trans-unit>\n      <trans-unit id="8c4d3039e6a953b0d6f1b1313ffa60c5d2b35dc7" datatype="html">\n        <source>Created snapshot "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "\n          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"\n        </source>\n        <target>Created snapshot "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "\n          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="126ad894f74ee9a999825f3f4ac5a31fdfc093bf" datatype="html">\n        <source>CephFs Snapshot</source>\n        <target>CephFs Snapshot</target>\n      </trans-unit>\n      <trans-unit id="1e4d1c0865adc485260740c42ac5af68ce8feb13" datatype="html">\n        <source>Deleted snapshot "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "\n          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"\n        </source>\n        <target>Deleted snapshot "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "\n          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="22e4e574b7f8abf58254f328792445b42e2a924a" datatype="html">\n        <source>The value can be updated at runtime.</source>\n        <target>É possível atualizar o valor em temo de execução.</target>\n      </trans-unit>\n      <trans-unit id="d7770de7b2343c9deeaa7ebf37ba3e35ca5c5988" datatype="html">\n        <source>Daemons/clients do not pull this value from the\n      monitor config database. We disallow setting this option via \'ceph config\n      set ...\'. This option should be configured via ceph.conf or via the\n      command line.</source>\n        <target>Daemons/clientes não extraem este valor do\n      banco de dados de configuração do monitor. A configuração desta opção não é permitida por meio de \'ceph config\n      set ...\'. Essa opção deve ser configurada por meio do ceph.conf ou da\n      linha de comando.</target>\n      </trans-unit>\n      <trans-unit id="83f11fd1dc503c37931ea6c1c5c1e8c2b4b597b6" datatype="html">\n        <source>Option takes effect only during daemon startup.</source>\n        <target>A opção entra em vigor apenas durante a inicialização do daemon.</target>\n      </trans-unit>\n      <trans-unit id="837a07cd6a971038b8b1aa190c43440c9fdb5d8b" datatype="html">\n        <source>Option only affects cluster creation.</source>\n        <target>A opção afeta apenas a criação do cluster.</target>\n      </trans-unit>\n      <trans-unit id="2566a88eb247c918b71cfe5b354c31de0d4b01e5" datatype="html">\n        <source>Option only affects daemon creation.</source>\n        <target>A opção afeta apenas a criação do daemon.</target>\n      </trans-unit>\n      <trans-unit id="1cdc60cfc09c257625768f3d2082816cdef27279" datatype="html">\n        <source>Updated config option \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\n        </source>\n        <target>Updated config option \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="d473e0f684a60db45d6f31e993f693f74290e056" datatype="html">\n        <source>Service</source>\n        <target>Serviço</target>\n      </trans-unit>\n      <trans-unit id="6986e0df8092d822ac2c076520d83994c78834fc" datatype="html">\n        <source>Modified</source>\n        <target>Modified</target>\n      </trans-unit>\n      <trans-unit id="9951bb3983c7dba6fde013e05c922e4fe1a44367" datatype="html">\n        <source>Current value</source>\n        <target>Valor atual</target>\n      </trans-unit>\n      <trans-unit id="4a01c175f90dd92b432f4a4a199d2c7bb9d997ff" datatype="html">\n        <source>Editable</source>\n        <target>Editável</target>\n      </trans-unit>\n      <trans-unit id="261c0af854e8684abc15f89dce6efb3e72344b18" datatype="html">\n        <source>host</source>\n        <target>host</target>\n      </trans-unit>\n      <trans-unit id="b1b381321d4cef04605d3e6e8847ea2b72a03799" datatype="html">\n        <source>Identify</source>\n        <target>Identify</target>\n      </trans-unit>\n      <trans-unit id="a5d5e407f8c4e1b152509c966c90f37edf68472e" datatype="html">\n        <source>Device path</source>\n        <target>Device path</target>\n      </trans-unit>\n      <trans-unit id="b7da3e3505cc80f9bf3cffc8444c53e8a9ec70a5" datatype="html">\n        <source>Available</source>\n        <target>Available</target>\n      </trans-unit>\n      <trans-unit id="396974120fc614fc930a27c8d15a094d82a3a9e4" datatype="html">\n        <source>Vendor</source>\n        <target>Vendor</target>\n      </trans-unit>\n      <trans-unit id="6ec98fa3d6504ba1fd03465194b53706c8263c99" datatype="html">\n        <source>Model</source>\n        <target>Model</target>\n      </trans-unit>\n      <trans-unit id="f2d785f5658c96c6a2f505cdd625108bcece84c3" datatype="html">\n        <source>Identify device \n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\n        </source>\n        <target>Identify device \n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="c97ab45ca09248f8f1ba60328175741657fe39ce" datatype="html">\n        <source>Please enter the duration how long to blink the LED.</source>\n        <target>Please enter the duration how long to blink the LED.</target>\n      </trans-unit>\n      <trans-unit id="87e56ee5057023d7e8b59420b838bad112b043bc" datatype="html">\n        <source>1 minute</source>\n        <target>1 minute</target>\n      </trans-unit>\n      <trans-unit id="affa3b3bf1f36531e5ae65291f8a7cd1b06860ee" datatype="html">\n        <source>2 minutes</source>\n        <target>2 minutes</target>\n      </trans-unit>\n      <trans-unit id="878c6645b7fc26d85c7aee17a9d8c282a938dcf3" datatype="html">\n        <source>5 minutes</source>\n        <target>5 minutes</target>\n      </trans-unit>\n      <trans-unit id="aa0a76140961594b7176ade241e5025a7dbb5dce" datatype="html">\n        <source>10 minutes</source>\n        <target>10 minutes</target>\n      </trans-unit>\n      <trans-unit id="0a7f83a1f27750ef634a1f1f97263fac36113b1f" datatype="html">\n        <source>15 minutes</source>\n        <target>15 minutes</target>\n      </trans-unit>\n      <trans-unit id="699b690d686dbb8e00a1e95b89ba2fffb548da6e" datatype="html">\n        <source>Execute</source>\n        <target>Execute</target>\n      </trans-unit>\n      <trans-unit id="aa975a86dd49979a3ae90b9f3fc5b2c97311d422" datatype="html">\n        <source>Identifying \'\n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\' started on host \'\n          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>\'\n        </source>\n        <target>Identifying \'\n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\' started on host \'\n          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="1a6e6ad05508130b7a99ce5b15daf3227c2a930c" datatype="html">\n        <source>Updated options for module "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>".\n        </source>\n        <target>Updated options for module "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="6bd47ff8707aa2e6a94a4a6e2566b86dc7956d5f" datatype="html">\n        <source>Always-On</source>\n        <target>Always-On</target>\n      </trans-unit>\n      <trans-unit id="ac6c9212896d39b23811ed2dadab7d07336ec559" datatype="html">\n        <source>Enable</source>\n        <target>Habilitar</target>\n      </trans-unit>\n      <trans-unit id="6766a926d80bb7763785621098dae459d6226429" datatype="html">\n        <source>Disable</source>\n        <target>Desabilitar</target>\n      </trans-unit>\n      <trans-unit id="340f2f312c2eb353e5cd69aee6bee7f5a73c34ac" datatype="html">\n        <source>This Manager module is always on.</source>\n        <target>This Manager module is always on.</target>\n      </trans-unit>\n      <trans-unit id="6a0b3657745dd7a2f2162f1cc790bf9004d0845d" datatype="html">\n        <source>Reconnecting, please wait ...</source>\n        <target>Reconectando, aguarde...</target>\n      </trans-unit>\n      <trans-unit id="7099a8878af7a0a26fe5663c4f46cfe87142b75d" datatype="html">\n        <source>Public Address</source>\n        <target>Endereço Público</target>\n      </trans-unit>\n      <trans-unit id="cbdd1cdc0c7a87f55dd177bc44212f0fc4b80852" datatype="html">\n        <source>Open Sessions</source>\n        <target>Sessões Abertas</target>\n      </trans-unit>\n      <trans-unit id="34c6f45591d420b1101dcee53999d1de91c0e400" datatype="html">\n        <source>No available devices</source>\n        <target>No available devices</target>\n      </trans-unit>\n      <trans-unit id="dcfe8807a2a1d0d7074a02afe9b80645bd03b9ab" datatype="html">\n        <source>Please add primary devices first</source>\n        <target>Please add primary devices first</target>\n      </trans-unit>\n      <trans-unit id="05d024719e53f85f7f294b7e21dfd805709a0b06" datatype="html">\n        <source>Add devices by using filters</source>\n        <target>Add devices by using filters</target>\n      </trans-unit>\n      <trans-unit id="37e58d1cbdf8212b380efa51422e42821d4f08e6" datatype="html">\n        <source>No In</source>\n        <target>Não Entrada</target>\n      </trans-unit>\n      <trans-unit id="12706eb5af17ff5ad77b3de21af368d24678e00b" datatype="html">\n        <source>OSDs that were previously marked out will not be marked back in when they start</source>\n        <target>Os OSDs que já foram marcados como saída não serão remarcados como entrada ao serem iniciados</target>\n      </trans-unit>\n      <trans-unit id="96114d7624d11dc90ca46cfa96145fe22118df76" datatype="html">\n        <source>No Out</source>\n        <target>Não Saída</target>\n      </trans-unit>\n      <trans-unit id="a2ef636fe1ddd56b63e4aaf3d292f33dbf735ef3" datatype="html">\n        <source>OSDs will not automatically be marked out after the configured interval</source>\n        <target>Os OSDs não serão automaticamente marcados como saída após o intervalo configurado</target>\n      </trans-unit>\n      <trans-unit id="ee50aefa9b8bde1e5429b48709a23abfe08358e0" datatype="html">\n        <source>No Up</source>\n        <target>Não Ativo</target>\n      </trans-unit>\n      <trans-unit id="608929b939307e397586a98cea52ae38997c7273" datatype="html">\n        <source>OSDs are not allowed to start</source>\n        <target>Os OSDs não podem ser iniciados</target>\n      </trans-unit>\n      <trans-unit id="1751ab69c1e7f62927afedbf7116e0116316c551" datatype="html">\n        <source>No Down</source>\n        <target>Não Inativo</target>\n      </trans-unit>\n      <trans-unit id="41fac86dfb65c1db690f3e87f6497cb73b281084" datatype="html">\n        <source>OSD failure reports are being ignored, such that the monitors will not mark OSDs down</source>\n        <target>Os relatórios de falha de OSD estão sendo ignorados, portanto, os monitores não marcarão os OSDs como inativos</target>\n      </trans-unit>\n      <trans-unit id="b2838c6165a9672a17db188f4dd9676574353dd8" datatype="html">\n        <source>Pause</source>\n        <target>Pausar</target>\n      </trans-unit>\n      <trans-unit id="191d71dadcc8790573d46706a0b48211de4b8334" datatype="html">\n        <source>Pauses reads and writes</source>\n        <target>Pausa leituras e gravações</target>\n      </trans-unit>\n      <trans-unit id="471d5ba75836f38c19992cf83d8822632d99e473" datatype="html">\n        <source>No Scrub</source>\n        <target>Sem Remoção</target>\n      </trans-unit>\n      <trans-unit id="5b8caa61814121bc36dac0c34a9e9de3cae74990" datatype="html">\n        <source>Scrubbing is disabled</source>\n        <target>Remoção desabilitada</target>\n      </trans-unit>\n      <trans-unit id="7f29a0ac1c797bdc0347dd5d0734ba83e96e7ce6" datatype="html">\n        <source>No Deep Scrub</source>\n        <target>Sem Remoção Profunda</target>\n      </trans-unit>\n      <trans-unit id="01da61ab216541a8d31259cebd16b10c7e5fc124" datatype="html">\n        <source>Deep Scrubbing is disabled</source>\n        <target>Remoção Profunda desabilitada</target>\n      </trans-unit>\n      <trans-unit id="0b86c7f18ac725de62c7e192dcfccd02c0dc40ab" datatype="html">\n        <source>No Backfill</source>\n        <target>Sem Provisionamento</target>\n      </trans-unit>\n      <trans-unit id="bd33a2bdc8fbed3b7469f3717c16d9aaa2851fdd" datatype="html">\n        <source>Backfilling of PGs is suspended</source>\n        <target>Provisionamento de PGs suspenso</target>\n      </trans-unit>\n      <trans-unit id="df526de2b93c4099a30c200ef551608e39ee5256" datatype="html">\n        <source>No Rebalance</source>\n        <target>No Rebalance</target>\n      </trans-unit>\n      <trans-unit id="c5b70346245f8d52b58e5e7fe222ce82f12429ce" datatype="html">\n        <source>OSD will choose not to backfill unless PG is also degraded</source>\n        <target>OSD will choose not to backfill unless PG is also degraded</target>\n      </trans-unit>\n      <trans-unit id="7fbbd036394cfa623add40299757bc87df8eaa7e" datatype="html">\n        <source>No Recover</source>\n        <target>Sem Recuperação</target>\n      </trans-unit>\n      <trans-unit id="f3ee9b451a64dca47299c9b4ae1091c2008068ad" datatype="html">\n        <source>Recovery of PGs is suspended</source>\n        <target>Recuperação de PGs suspensa</target>\n      </trans-unit>\n      <trans-unit id="de904148fe7e8d812218f50333ffe247900617c5" datatype="html">\n        <source>Bitwise Sort</source>\n        <target>Classificação Bit a Bit</target>\n      </trans-unit>\n      <trans-unit id="2613c9fde29785bcd75f0abeccb653d14d7527b3" datatype="html">\n        <source>Use bitwise sort</source>\n        <target>Usar classificação bit a bit</target>\n      </trans-unit>\n      <trans-unit id="2fe10d84250aeee365db244251d40934c70ff1e9" datatype="html">\n        <source>Purged Snapdirs</source>\n        <target>Snapdirs Purgados</target>\n      </trans-unit>\n      <trans-unit id="6b22a5b780eda3c5d500cdac9c6d4f96978c38f1" datatype="html">\n        <source>OSDs have converted snapsets</source>\n        <target>OSDs converteram snapsets</target>\n      </trans-unit>\n      <trans-unit id="c42f0ba60564dc5b977a8c7f3fdcde9efbb39c60" datatype="html">\n        <source>Recovery Deletes</source>\n        <target>Exclusões de Recuperação</target>\n      </trans-unit>\n      <trans-unit id="72fe39979198ea2ed6db6274b5029025cb316d90" datatype="html">\n        <source>Deletes performed during recovery instead of peering</source>\n        <target>Exclusões realizadas durante a recuperação, e não o emparelhamento</target>\n      </trans-unit>\n      <trans-unit id="1bb4a1f9127cefe624c173557a716d0ebb6d647c" datatype="html">\n        <source>PG Log Hard Limit</source>\n        <target>Limite Físico do Registro de PG</target>\n      </trans-unit>\n      <trans-unit id="e03c0321397fdf7a9c22e8d6b5015424943c0a57" datatype="html">\n        <source>Puts a hard limit on pg log length</source>\n        <target>Atribui um limite físico ao tamanho do registro de PG</target>\n      </trans-unit>\n      <trans-unit id="3c384e2e80c6b5eb24861fbf4225b69486cff4a3" datatype="html">\n        <source>Updated OSD Flags</source>\n        <target>Flags OSD Atualizadas</target>\n      </trans-unit>\n      <trans-unit id="948758e1412bb2ecdb98e3a4f1cbb6d7458456f2" datatype="html">\n        <source>Encryption</source>\n        <target>Encryption</target>\n      </trans-unit>\n      <trans-unit id="c8b1475105463088593de1022ff6dceb523eae0e" datatype="html">\n        <source>OSD</source>\n        <target>OSD</target>\n      </trans-unit>\n      <trans-unit id="688578fcc739d6f0c5fb6c366dbb19d21c6d9e36" datatype="html">\n        <source>out</source>\n        <target>saída</target>\n      </trans-unit>\n      <trans-unit id="cb0f69bdd4dea41d7d45c74b6e07f98de8a2ab26" datatype="html">\n        <source>in</source>\n        <target>entrada</target>\n      </trans-unit>\n      <trans-unit id="b5fbc7c7f007dd53b2318525bb7ff8b0376c9e37" datatype="html">\n        <source>down</source>\n        <target>inativo</target>\n      </trans-unit>\n      <trans-unit id="b58719bcb9184e1a7884d00d22d10899d59bf295" datatype="html">\n        <source>Mark</source>\n        <target>Marcar</target>\n      </trans-unit>\n      <trans-unit id="31a1c1aa03f1e5084750bedb4e3fdc04ce2cb6ca" datatype="html">\n        <source>OSD lost</source>\n        <target>OSD perdido</target>\n      </trans-unit>\n      <trans-unit id="f3fc4c85c5b8f1dedea0496b72d0af9da7b9e0d9" datatype="html">\n        <source>marked lost</source>\n        <target>marcado como perdido</target>\n      </trans-unit>\n      <trans-unit id="40fedc157ad899a18ec40573f770d18b040959d2" datatype="html">\n        <source>Purge</source>\n        <target>Purgar</target>\n      </trans-unit>\n      <trans-unit id="4f3cff08c7033b63bbccfe66006b1bcaea48ddd8" datatype="html">\n        <source>purged</source>\n        <target>purgado</target>\n      </trans-unit>\n      <trans-unit id="8e5d1b01eca6dce26a4751f0b19bda7a6ab8db5b" datatype="html">\n        <source>destroy</source>\n        <target>destruir</target>\n      </trans-unit>\n      <trans-unit id="495a06b78bf165a7b545fa002137f0846b094a3d" datatype="html">\n        <source>destroyed</source>\n        <target>destruído</target>\n      </trans-unit>\n      <trans-unit id="70ef158c584bafe788e319a0bffa11b02ee9abf1" datatype="html">\n        <source>delete</source>\n        <target>excluir</target>\n      </trans-unit>\n      <trans-unit id="a5b387f5a15b95e339df10fc23526c659a2b6c6f" datatype="html">\n        <source>deleted</source>\n        <target>deleted</target>\n      </trans-unit>\n      <trans-unit id="107614b994f2b01abdc1ca179bf780b0cd933ec4" datatype="html">\n        <source>Recovery Priority</source>\n        <target>Recovery Priority</target>\n      </trans-unit>\n      <trans-unit id="359dad5a3a912ef9dece3194035020856805aa96" datatype="html">\n        <source>PG scrub</source>\n        <target>PG scrub</target>\n      </trans-unit>\n      <trans-unit id="953144c420c2e5abd02e6a687433eac60fa852bd" datatype="html">\n        <source>PGs</source>\n        <target>PGs</target>\n      </trans-unit>\n      <trans-unit id="7d3523ea9d35c274cef84043de8a2fdde540a9a1" datatype="html">\n        <source>Read bytes</source>\n        <target>Bytes de leitura</target>\n      </trans-unit>\n      <trans-unit id="f15bf7f588f09ca79795b17bc244e8d336f28171" datatype="html">\n        <source>Write bytes</source>\n        <target>Bytes de gravação</target>\n      </trans-unit>\n      <trans-unit id="f3c33322823c846b13f59ba2c8f234405bba99e1" datatype="html">\n        <source>Read ops</source>\n        <target>Op. de leitura</target>\n      </trans-unit>\n      <trans-unit id="7e0b24a17546cbfab48b03dc874461d1ca68bc9a" datatype="html">\n        <source>Write ops</source>\n        <target>Op. de gravação</target>\n      </trans-unit>\n      <trans-unit id="b27d1dd31789610130b7cdbf88c4da552cffe936" datatype="html">\n        <source>Edit OSD: \n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\n        </source>\n        <target>Edit OSD: \n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="986f1379580078e77666d10f8ddf4f839c6ca71d" datatype="html">\n        <source>Edit OSD</source>\n        <target>Edit OSD</target>\n      </trans-unit>\n      <trans-unit id="a4b09e2fa39c3e4f1a387f191fbae4eea3ce7bf5" datatype="html">\n        <source>Updated OSD "\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>"\n        </source>\n        <target>Updated OSD "\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="d45455406092f58e6b089cb440b5b7934b801a01" datatype="html">\n        <source>Mark OSD \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </source>\n        <target>Mark OSD \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="de0b7806e451b3b3dbd564decba59981fe781c18" datatype="html">\n        <source>Mark \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </source>\n        <target>Mark \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="bba1d3bb4f8a47aa2b3068e242562196eadb1e83" datatype="html">\n        <source>PG scrub options</source>\n        <target>PG scrub options</target>\n      </trans-unit>\n      <trans-unit id="b0b7748ebc9b7a6942a8cac4a89d4b215b365878" datatype="html">\n        <source>Updated PG scrub options</source>\n        <target>Updated PG scrub options</target>\n      </trans-unit>\n      <trans-unit id="4edc2162af0bd6cd941eaf730d20a7e3b5a83ba7" datatype="html">\n        <source>Max Backfills</source>\n        <target>Máx. de Provisionamentos</target>\n      </trans-unit>\n      <trans-unit id="eb5e6c24a48a1dfe23e0a772b762be5e949c0c8a" datatype="html">\n        <source>Recovery Max Active</source>\n        <target>Máx. Recuperação Ativo</target>\n      </trans-unit>\n      <trans-unit id="4a23c6d3859e03184118620d2baeb736ac765fbf" datatype="html">\n        <source>Recovery Max Single Start</source>\n        <target>Máx. Recuperação Inicialização Única</target>\n      </trans-unit>\n      <trans-unit id="97049169ef5228fd1724de2fcdad1fec2858eaf8" datatype="html">\n        <source>Recovery Sleep</source>\n        <target>Suspensão de Recuperação</target>\n      </trans-unit>\n      <trans-unit id="89553524f4e7db5c437b07dcfdc7b831d56ded1a" datatype="html">\n        <source>Updated OSD recovery speed priority "\n          <x id="INTERPOLATION" equiv-text="{{value}}"/>"\n        </source>\n        <target>Updated OSD recovery speed priority "\n          <x id="INTERPOLATION" equiv-text="{{value}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="ccf5f30798c03d2d8efd0e6eb508320c018b722d" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{operation}}"/> was initialized in the following OSD(s): \n          <x id="INTERPOLATION_1" equiv-text="{{id}}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{operation}}"/> was initialized in the following OSD(s): \n          <x id="INTERPOLATION_1" equiv-text="{{id}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="3bc2d18913479965cb046ec75e2ac3f7b7a77ce5" datatype="html">\n        <source>Create Silence</source>\n        <target>Create Silence</target>\n      </trans-unit>\n      <trans-unit id="78917e8031aaf913ac3fa63295325ce8879703ce" datatype="html">\n        <source>Job</source>\n        <target>Tarefa</target>\n      </trans-unit>\n      <trans-unit id="94287619205068b591c18493c64781424864c259" datatype="html">\n        <source>Severity</source>\n        <target>Gravidade</target>\n      </trans-unit>\n      <trans-unit id="e6cfbe0c5e0302ba2cec22315f6a28f8ac46b651" datatype="html">\n        <source>Started</source>\n        <target>Iniciado</target>\n      </trans-unit>\n      <trans-unit id="801b98c6f02fe3b32f6afa3ee854c99ed83474e6" datatype="html">\n        <source>URL</source>\n        <target>URL</target>\n      </trans-unit>\n      <trans-unit id="d9f726c70aeba7fa6d3d68bff718abe78b1e50ac" datatype="html">\n        <source>Query</source>\n        <target>Query</target>\n      </trans-unit>\n      <trans-unit id="a5cd682a8a33bdc72e093d059429e3cc3a50ec1d" datatype="html">\n        <source>silence</source>\n        <target>silence</target>\n      </trans-unit>\n      <trans-unit id="f557e117e059e7036c6eecacd325a6ae35d866e0" datatype="html">\n        <source>Attribute name</source>\n        <target>Attribute name</target>\n      </trans-unit>\n      <trans-unit id="50f7f517ad8158667f7d4e2bd6f3256e05156e75" datatype="html">\n        <source>Regular expression</source>\n        <target>Regular expression</target>\n      </trans-unit>\n      <trans-unit id="81b1eab399c47110d50f45e3ccb4c009de7cb581" datatype="html">\n        <source>Please add your Prometheus host to the dashboard configuration and refresh the page</source>\n        <target>Please add your Prometheus host to the dashboard configuration and refresh the page</target>\n      </trans-unit>\n      <trans-unit id="29b4ae3296e239446fa0dea88a5112de15cffa54" datatype="html">\n        <source>Created by</source>\n        <target>Created by</target>\n      </trans-unit>\n      <trans-unit id="8d833cceee0ba4c5161b130365e02bc1e129b57e" datatype="html">\n        <source>Ends</source>\n        <target>Ends</target>\n      </trans-unit>\n      <trans-unit id="46a11ff4289e8c88b1b7a935f8d8ee704055f11a" datatype="html">\n        <source>Silence</source>\n        <target>Silence</target>\n      </trans-unit>\n      <trans-unit id="f2ea47d702c7f5e3e5fa751bf9959e21030b72e6" datatype="html">\n        <source>Daemon type</source>\n        <target>Daemon type</target>\n      </trans-unit>\n      <trans-unit id="6c131968e6ab730d86443e6fc11c5cc2a76d7bac" datatype="html">\n        <source>Daemon ID</source>\n        <target>Daemon ID</target>\n      </trans-unit>\n      <trans-unit id="5738f0ca7ddd9594058ce051b1d5d576e2782825" datatype="html">\n        <source>Container ID</source>\n        <target>Container ID</target>\n      </trans-unit>\n      <trans-unit id="78ebcf850cd440c5efc15e6a3a522ae75aeff669" datatype="html">\n        <source>Container Image name</source>\n        <target>Container Image name</target>\n      </trans-unit>\n      <trans-unit id="ea0c7ab9a7bdf646d494abf8c85fbf67d934d079" datatype="html">\n        <source>Container Image ID</source>\n        <target>Container Image ID</target>\n      </trans-unit>\n      <trans-unit id="bf2468fd965b8a59c135ad549b3a612aa9873abc" datatype="html">\n        <source>Status Description</source>\n        <target>Status Description</target>\n      </trans-unit>\n      <trans-unit id="19867330bdc84096f5a93ab087a1766476c8a074" datatype="html">\n        <source>Last Refreshed</source>\n        <target>Last Refreshed</target>\n      </trans-unit>\n      <trans-unit id="2349ee2027ab6ceb3e4b8834928562075b7e1ac7" datatype="html">\n        <source>Container image name</source>\n        <target>Container image name</target>\n      </trans-unit>\n      <trans-unit id="3c475503fb93338811af6b3d9ccacca1d7334609" datatype="html">\n        <source>Container image ID</source>\n        <target>Container image ID</target>\n      </trans-unit>\n      <trans-unit id="8dd15f6c73c05a8b0bd7b6d416487ab6570b88c8" datatype="html">\n        <source>Running</source>\n        <target>Running</target>\n      </trans-unit>\n      <trans-unit id="fb2e1bed329dc5b84197808c778abb9edcbdb335" datatype="html">\n        <source>Used</source>\n        <target>Usado</target>\n      </trans-unit>\n      <trans-unit id="4f1ab04d9100fb0df0e62b921ec46ae052ae29fc" datatype="html">\n        <source>Avail.</source>\n        <target>Disp.</target>\n      </trans-unit>\n      <trans-unit id="a1c9b3d4fa67450fe9afd1d726f8a1bd91d990ea" datatype="html">\n        <source>Clean</source>\n        <target>Limpar</target>\n      </trans-unit>\n      <trans-unit id="0054f5460090d6dde385e8f099d598df5d28cf54" datatype="html">\n        <source>Working</source>\n        <target>Em funcionamento</target>\n      </trans-unit>\n      <trans-unit id="a8059e31694578c1b0344a76a345357dd60e8f01" datatype="html">\n        <source>Warning</source>\n        <target>Aviso</target>\n      </trans-unit>\n      <trans-unit id="e5d8bb389c702588877f039d72178f219453a72d" datatype="html">\n        <source>Unknown</source>\n        <target>Desconhecido</target>\n      </trans-unit>\n      <trans-unit id="88155be1b9b9c6140d6e8f93bac4a775cfdc6671" datatype="html">\n        <source>Healthy</source>\n        <target>Healthy</target>\n      </trans-unit>\n      <trans-unit id="8a3aec4dc1a6e2d4c612ae85e0537acbb20a0f85" datatype="html">\n        <source>Misplaced</source>\n        <target>Misplaced</target>\n      </trans-unit>\n      <trans-unit id="ee81f9bf7ceac69712e0b83e8adc268739f9673e" datatype="html">\n        <source>Degraded</source>\n        <target>Degraded</target>\n      </trans-unit>\n      <trans-unit id="14625bc4025daef1969777a67a3cca27e0cd9167" datatype="html">\n        <source>Unfound</source>\n        <target>Unfound</target>\n      </trans-unit>\n      <trans-unit id="8f23ea509d081c2f747d083d44608dbf125b2ea2" datatype="html">\n        <source>replicas</source>\n        <target>replicas</target>\n      </trans-unit>\n      <trans-unit id="129a2224e1f9d19eb5e11e2a07fe10a785556484" datatype="html">\n        <source>up</source>\n        <target>ativo</target>\n      </trans-unit>\n      <trans-unit id="d5f29cf0af691726483262d647eb6622be002512" datatype="html">\n        <source>no filesystems</source>\n        <target>sem sistemas de arquivos</target>\n      </trans-unit>\n      <trans-unit id="b1c4387ffab06f3fa9fdb4411aea955595538d44" datatype="html">\n        <source>active</source>\n        <target>ativo</target>\n      </trans-unit>\n      <trans-unit id="1aaf7054d826f2cb05ec3e88a5a4b8116861e1f5" datatype="html">\n        <source>standby</source>\n        <target>standby</target>\n      </trans-unit>\n      <trans-unit id="c9a1080024dca344a48acdb77fa2d54e059f7254" datatype="html">\n        <source>n/a</source>\n        <target>n/a</target>\n      </trans-unit>\n      <trans-unit id="84a1787b6df375847c70f782861d7e7f8f43bff4" datatype="html">\n        <source>active daemon</source>\n        <target>daemon ativo</target>\n      </trans-unit>\n      <trans-unit id="24407dc2ebfafaf6b131ee978683b893c3f1d763" datatype="html">\n        <source>quorum</source>\n        <target>quorum</target>\n      </trans-unit>\n      <trans-unit id="2fa50bc07995c6ea660412294298ded39fcb08d9" datatype="html">\n        <source>The NFS Ganesha service is not configured.</source>\n        <target>O serviço NFS Ganesha não está configurado.</target>\n      </trans-unit>\n      <trans-unit id="af1396bdc49f45ea6c4a1e414769f5e2a382c834" datatype="html">\n        <source>Transport</source>\n        <target>Transporte</target>\n      </trans-unit>\n      <trans-unit id="b6a0e176d96c4feed2e975a039c044fcf822e152" datatype="html">\n        <source>CephFS User</source>\n        <target>Usuário do CephFS</target>\n      </trans-unit>\n      <trans-unit id="44dc610cf201a163e8c38da810acec9596930bb3" datatype="html">\n        <source>CephFS Filesystem</source>\n        <target>Sistema de Arquivos do CephFS</target>\n      </trans-unit>\n      <trans-unit id="db6dc7124be83c7055cb0f2719e31f2f9d46fd3d" datatype="html">\n        <source>(inherited from global config)</source>\n        <target>(herdado da configuração global)</target>\n      </trans-unit>\n      <trans-unit id="e1f97bb86f991553ec7b535cb39e7eaa99dfcfe2" datatype="html">\n        <source>inherited from global config</source>\n        <target>herdado da configuração global</target>\n      </trans-unit>\n      <trans-unit id="e751800766277e7c2edd652cec7a7a1a68a37852" datatype="html">\n        <source>-- Select what kind of user id squashing is performed --</source>\n        <target>-- Selecionar que tipo de squash de ID de usuário será executado --</target>\n      </trans-unit>\n      <trans-unit id="4b58387f911e8a7b135a0c4d76c70335c65bbb32" datatype="html">\n        <source>There are no daemons available.</source>\n        <target>Não há daemons disponíveis.</target>\n      </trans-unit>\n      <trans-unit id="18ae8dc1264f06df7ea251175ada2ac1b8401018" datatype="html">\n        <source>NFS export</source>\n        <target>NFS export</target>\n      </trans-unit>\n      <trans-unit id="c56d51748965db5f3966cd1d06a1c9f4b5244931" datatype="html">\n        <source>Crush Rule</source>\n        <target>Crush Rule</target>\n      </trans-unit>\n      <trans-unit id="ae128527ec18892f812a62a1fd15dc50a38060c0" datatype="html">\n        <source>EC Profile</source>\n        <target>EC Profile</target>\n      </trans-unit>\n      <trans-unit id="60fb10c145f9c7ede2b9ddf9b2b0b0f6191d0ebd" datatype="html">\n        <source>Cache Mode</source>\n        <target>Modo de Cache</target>\n      </trans-unit>\n      <trans-unit id="fa5bfad31d4139f6871443bb74324ffda5cad3e6" datatype="html">\n        <source>Min Evict Age</source>\n        <target>Tempo Mín. Expulsão</target>\n      </trans-unit>\n      <trans-unit id="fd0eb851666df45c34c76fabcda79b0d77bc910b" datatype="html">\n        <source>Min Flush Age</source>\n        <target>Tempo Mín. Descarregamento</target>\n      </trans-unit>\n      <trans-unit id="cb54d2c420a534cee0c308ea5589f8c394ef8d67" datatype="html">\n        <source>Target Max Bytes</source>\n        <target>Máx. de Bytes de Destino</target>\n      </trans-unit>\n      <trans-unit id="07f4ebe6615dca466818ffdae2a69ee217d265fb" datatype="html">\n        <source>Target Max Objects</source>\n        <target>Máx. de Objetos de Destino</target>\n      </trans-unit>\n      <trans-unit id="eaa8f4df53cf7fa78d078e20a701d10f3dccd77d" datatype="html">\n        <source>No applications added</source>\n        <target>Nenhum aplicativo adicionado</target>\n      </trans-unit>\n      <trans-unit id="321c2a7640f11177ea49b0857b94c4b70830c0e6" datatype="html">\n        <source>Applications limit reached</source>\n        <target>Limite de aplicativos atingido</target>\n      </trans-unit>\n      <trans-unit id="519d27742b74fadc8336777452f78891e98aa1dc" datatype="html">\n        <source>A pool can only have up to four applications definitions.</source>\n        <target>Um pool apenas pode ter até quatro definições de aplicativos.</target>\n      </trans-unit>\n      <trans-unit id="b5bec3813f0d45daa7eb9471272969e1bc3e734e" datatype="html">\n        <source>Allowed characters \'_a-zA-Z0-9\'</source>\n        <target>Caracteres permitidos: \'_a-zA-Z0-9\'</target>\n      </trans-unit>\n      <trans-unit id="807472d29602a0085bce62e534bd66208982c2e2" datatype="html">\n        <source>Maximum length is 128 characters</source>\n        <target>Tamanho máximo de 128 caracteres</target>\n      </trans-unit>\n      <trans-unit id="37785748b9ac9ad1d3e4b111ac502c3284afe84b" datatype="html">\n        <source>Filter or add applications</source>\n        <target>Filtrar ou adicionar aplicativos</target>\n      </trans-unit>\n      <trans-unit id="38c7b8610ca87835e13eeee6a09ba1c414cd5cb9" datatype="html">\n        <source>Add application</source>\n        <target>Adicionar aplicativo</target>\n      </trans-unit>\n      <trans-unit id="db8c42f077700d8a94619fad9f4c94b7361d5f1d" datatype="html">\n        <source>pool</source>\n        <target>pool</target>\n      </trans-unit>\n      <trans-unit id="65bb2be83261bc4798853bbccdedc110c43feea7" datatype="html">\n        <source>erasure code profile</source>\n        <target>perfil de código de eliminação</target>\n      </trans-unit>\n      <trans-unit id="ae48e19a9a2acaca4b5ea594451bc9b0b01ec8d2" datatype="html">\n        <source>crush rule</source>\n        <target>crush rule</target>\n      </trans-unit>\n      <trans-unit id="112d356ad6846959ca4aa5ec9a1f0d9d473b24ec" datatype="html">\n        <source>Replica Size</source>\n        <target>Tamanho da Réplica</target>\n      </trans-unit>\n      <trans-unit id="ec50492db341fa752b023d8c924601286b6c9c0c" datatype="html">\n        <source>Last Change</source>\n        <target>Última Alteração</target>\n      </trans-unit>\n      <trans-unit id="563a8c136a9d423bc7ae1269a404d6da5fd83dad" datatype="html">\n        <source>Erasure Coded Profile</source>\n        <target>Perfil Codificado para Eliminação</target>\n      </trans-unit>\n      <trans-unit id="0ad7f0662956cff61ac1208f92b1a0305b1b2e58" datatype="html">\n        <source>Crush Ruleset</source>\n        <target>Conjunto de Regras do Crush</target>\n      </trans-unit>\n      <trans-unit id="bcc365a084b6145b941b371bd4c2b6c3d2c79234" datatype="html">\n        <source>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</source>\n        <target>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</target>\n      </trans-unit>\n      <trans-unit id="44939fd05cedfd077db886528b755e77d5fa3885" datatype="html">\n        <source>bucket</source>\n        <target>compartimento</target>\n      </trans-unit>\n      <trans-unit id="84fee774286ec4191311f1277075455c3ea5e2e2" datatype="html">\n        <source>Updated Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>".\n        </source>\n        <target>Updated Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="2d7a43674f0bbc131c9e555ec16ac37fa0445d76" datatype="html">\n        <source>Created Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>"\n        </source>\n        <target>Created Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="ec40d74ecfb1d6d60455af6805c9a714a3f5750a" datatype="html">\n        <source>buckets</source>\n        <target>compartimentos</target>\n      </trans-unit>\n      <trans-unit id="764585d5595bac113582ee14a6fd07006770ceb1" datatype="html">\n        <source>capability</source>\n        <target>capability</target>\n      </trans-unit>\n      <trans-unit id="0914cbe18bae204217e1851be6d2d24d86e74605" datatype="html">\n        <source>user</source>\n        <target>usuário</target>\n      </trans-unit>\n      <trans-unit id="d8c86dc5e48a63590d9c94e19f90b5f8325cbd49" datatype="html">\n        <source>subuser</source>\n        <target>subuser</target>\n      </trans-unit>\n      <trans-unit id="f45a3de8a8b40d161cc36a55d77548a27107ca04" datatype="html">\n        <source>S3 Key</source>\n        <target>S3 Key</target>\n      </trans-unit>\n      <trans-unit id="854a763265e92f91ba3ccee1a0e8d823be584f7c" datatype="html">\n        <source>Updated Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </source>\n        <target>Updated Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="84ab3fd641e65e39cffee0ec722a059ed284229e" datatype="html">\n        <source>Created Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </source>\n        <target>Created Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="7c7f4be7b726e61c577e63842a58d9e435f7c597" datatype="html">\n        <source>users</source>\n        <target>usuários</target>\n      </trans-unit>\n      <trans-unit id="9f7760223efd77806f1bbaf963e6993bb4bc6a0a" datatype="html">\n        <source>Swift Key</source>\n        <target>Swift Key</target>\n      </trans-unit>\n      <trans-unit id="6462d8f12b427c29363f00b12f20f566be24937c" datatype="html">\n        <source>Device ID</source>\n        <target>Device ID</target>\n      </trans-unit>\n      <trans-unit id="82f12bf23db4bb82db89877bebe93954bc1c8fb0" datatype="html">\n        <source>State of Health</source>\n        <target>State of Health</target>\n      </trans-unit>\n      <trans-unit id="7bd34bd120146afef0e0d8fa168d9bdabd594b6a" datatype="html">\n        <source>Good</source>\n        <target>Good</target>\n      </trans-unit>\n      <trans-unit id="31c59dce114ec0a9d02552ef7b81920b3de36793" datatype="html">\n        <source>Bad</source>\n        <target>Bad</target>\n      </trans-unit>\n      <trans-unit id="2862af5284f66d4b06bdcf77a5519141723b6989" datatype="html">\n        <source>Stale</source>\n        <target>Stale</target>\n      </trans-unit>\n      <trans-unit id="8d8e819b52984a4fbdec75a99eb28d1ae4323bbc" datatype="html">\n        <source>Life Expectancy</source>\n        <target>Life Expectancy</target>\n      </trans-unit>\n      <trans-unit id="72d9b15be18ea063e78c4e855b9e8c0af95593ef" datatype="html">\n        <source>Prediction Creation Date</source>\n        <target>Prediction Creation Date</target>\n      </trans-unit>\n      <trans-unit id="a6b4ef85e5ff8bd192751c7bbebc54c46118d6d4" datatype="html">\n        <source>Device Name</source>\n        <target>Device Name</target>\n      </trans-unit>\n      <trans-unit id="d5fd840374ca1a6f394bcd81f390a6dca27f8224" datatype="html">\n        <source>An error with error code \n          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.\n        </source>\n        <target>An error with error code \n          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.\n        </target>\n      </trans-unit>\n      <trans-unit id="a0b59d7139692bb8d8ed786b6eb6e9e70ce743f3" datatype="html">\n        <source>Raw</source>\n        <target>Raw</target>\n      </trans-unit>\n      <trans-unit id="2f3beddc8234b30fb26a7f63ba2f1ea74f2ed6f7" datatype="html">\n        <source>Threshold</source>\n        <target>Threshold</target>\n      </trans-unit>\n      <trans-unit id="4654b5a68af3c8bad29aa14ca85ccea1f3143c6b" datatype="html">\n        <source>When Failed</source>\n        <target>When Failed</target>\n      </trans-unit>\n      <trans-unit id="5b7f56d5be49fb8e8d8f40209d6746f8f72e9177" datatype="html">\n        <source>Worst</source>\n        <target>Worst</target>\n      </trans-unit>\n      <trans-unit id="1481b8488e10dbc437accce89d2ae35a0106e8ba" datatype="html">\n        <source>Scope</source>\n        <target>Escopo</target>\n      </trans-unit>\n      <trans-unit id="9b1d5e95f6bdcfb4b737413f5fa157e0dcb103d5" datatype="html">\n        <source>Read</source>\n        <target>Leitura</target>\n      </trans-unit>\n      <trans-unit id="70a67e04629f6d412db0a12d51820b480788d795" datatype="html">\n        <source>Create</source>\n        <target>Criar</target>\n      </trans-unit>\n      <trans-unit id="dc4fba275819619ee78e8eae14d357ea69ba7477" datatype="html">\n        <source>role</source>\n        <target>role</target>\n      </trans-unit>\n      <trans-unit id="fe6ee93173884201ec62d62ba173c3de85ae177e" datatype="html">\n        <source>Created role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Created role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="41c032df0732f4318f8213fabd0719ac347d4b6c" datatype="html">\n        <source>Updated role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Updated role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="50e22b5289f79f1417369403345c9fa9911a4557" datatype="html">\n        <source>System Role</source>\n        <target>Função do Sistema</target>\n      </trans-unit>\n      <trans-unit id="7f132668e2dbfcf616381d2daf59d1a6f2698102" datatype="html">\n        <source>Deleted role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Deleted role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="bd15b8d5c0fa160161728eefbbb585710414d471" datatype="html">\n        <source>New name</source>\n        <target>New name</target>\n      </trans-unit>\n      <trans-unit id="6f126277f3dc22a3ab3609c4c198386c8744e11a" datatype="html">\n        <source>Clone Role</source>\n        <target>Clone Role</target>\n      </trans-unit>\n      <trans-unit id="d19d8320479854bc52877cdf0dc5ecfe34a36ec7" datatype="html">\n        <source>Cloned role \'\n          <x id="INTERPOLATION" equiv-text="{{dst_name}}"/>\' from \'\n          <x id="INTERPOLATION_1" equiv-text="{{src_name}}"/>\'\n        </source>\n        <target>Cloned role \'\n          <x id="INTERPOLATION" equiv-text="{{dst_name}}"/>\' from \'\n          <x id="INTERPOLATION_1" equiv-text="{{src_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="2e35d60a14ce0b470e8b54602864a867f7fcef40" datatype="html">\n        <source>There are no roles.</source>\n        <target>There are no roles.</target>\n      </trans-unit>\n      <trans-unit id="d2362a49d2434ce137bf19dab004251b7fd9c7b3" datatype="html">\n        <source>Created user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Created user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="9910122dfedd2eaa544a990f1430e5b82a76d99f" datatype="html">\n        <source>Update user</source>\n        <target>Atualizar usuário</target>\n      </trans-unit>\n      <trans-unit id="ac10a3d9b59575640797c1a8e6aea642cf5d5e77" datatype="html">\n        <source>Continue</source>\n        <target>Continuar</target>\n      </trans-unit>\n      <trans-unit id="cf4bcf4ce3d551e6099ccdc3546ae418fe5f8038" datatype="html">\n        <source>You were automatically logged out because your roles have been changed.</source>\n        <target>Você foi automaticamente desconectado porque suas funções foram alteradas.</target>\n      </trans-unit>\n      <trans-unit id="0f6003fb0c1cc73b89d225801cc1b870945cd259" datatype="html">\n        <source>Updated user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Updated user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="fe516c6d820018fdc971113935e22ec1e852965f" datatype="html">\n        <source>Deleted user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Deleted user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="01a7e11502ff80421ef3615e533ea14ef57e1d5c" datatype="html">\n        <source>Failed to delete user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Failed to delete user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="63316a3861dbcb035147efc1b9fb6bc708242e94" datatype="html">\n        <source>You are currently logged in as "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>".\n        </source>\n        <target>You are currently logged in as "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="d8b81951d25439864e92f750f7c99d7426d6517c" datatype="html">\n        <source>password</source>\n        <target>password</target>\n      </trans-unit>\n      <trans-unit id="d361a9b5e1f7985a12c0433388f31626525a02b8" datatype="html">\n        <source>Updated user password"</source>\n        <target>Updated user password"</target>\n      </trans-unit>\n      <trans-unit id="c4e596a44ffc4718c1602600d6e4f029190eb031" datatype="html">\n        <source>The name of the node under which data should be placed.</source>\n        <target>The name of the node under which data should be placed.</target>\n      </trans-unit>\n      <trans-unit id="f24772ba1091155f8d7025332ca8456a204d1e28" datatype="html">\n        <source>The type of CRUSH nodes across which we should separate replicas.</source>\n        <target>The type of CRUSH nodes across which we should separate replicas.</target>\n      </trans-unit>\n      <trans-unit id="a3896042af461a80091c3f7a5fe3fff5ac40a3a0" datatype="html">\n        <source>The device class data should be placed on.</source>\n        <target>The device class data should be placed on.</target>\n      </trans-unit>\n      <trans-unit id="1d7fbcc3d5efc946ffbcf86fed04c4e20dda20fb" datatype="html">\n        <source>Each object is split in data-chunks parts, each stored on a different OSD.</source>\n        <target>Cada objeto é dividido em partes de pacotes de dados, cada uma armazenada em um OSD diferente.</target>\n      </trans-unit>\n      <trans-unit id="b1f8ed4e216585f1f9134740002ef3c8501debd8" datatype="html">\n        <source>Compute coding chunks for each object and store them on different OSDs.\n      The number of coding chunks is also the number of OSDs that can be down without losing data.</source>\n        <target>Calcule os pacotes de codificação de cada objeto e armazene-os em diferentes OSDs.\n      O número de pacotes de codificação é também o número de OSDs que podem ficar inativos sem perda de dados.</target>\n      </trans-unit>\n      <trans-unit id="c437ee74a9a8e781e1380153f742a685e3b8cc5e" datatype="html">\n        <source>The jerasure plugin is the most generic and flexible plugin,\n          it is also the default for Ceph erasure coded pools.</source>\n        <target>O plug-in jerasure é o mais genérico e flexível,\n          além de ser o padrão para pools codificados para eliminação do Ceph.</target>\n      </trans-unit>\n      <trans-unit id="8c7e19322851402afa67e41f4f1d4e531caf1bf5" datatype="html">\n        <source>The more flexible technique is reed_sol_van : it is enough to set k\n          and m. The cauchy_good technique can be faster but you need to chose the packetsize\n          carefully. All of reed_sol_r6_op, liberation, blaum_roth, liber8tion are RAID6 equivalents\n          in the sense that they can only be configured with m=2.</source>\n        <target>A técnica mais flexível é reed_sol_van: ela é suficiente para definir k\n          e m. A técnica cauchy_good pode ser mais rápida, mas você precisa escolher o tamanho do pacote\n          com cuidado. Todos os reed_sol_r6_op, liberation, blaum_roth e liber8tion são equivalentes ao RAID6\n          no sentido de que só podem ser configurados com m=2.</target>\n      </trans-unit>\n      <trans-unit id="b1b11f49281b4e79219b4eecfbcb033cb15bd880" datatype="html">\n        <source>The encoding will be done on packets of bytes size at a time.\n          Chosing the right packet size is difficult.\n          The jerasure documentation contains extensive information on this topic.</source>\n        <target>A codificação será feita em pacotes de tamanho de bytes um de cada vez.\n          A escolha do tamanho do pacote certo é difícil.\n          A documentação do jerasure contém informações completas sobre este tópico.</target>\n      </trans-unit>\n      <trans-unit id="d9cb3bc07a25b26fbea457e0a7b543340bc13c49" datatype="html">\n        <source>With the jerasure plugin, when an erasure coded object is stored on\n          multiple OSDs, recovering from the loss of one OSD requires reading from all the others.\n          For instance if jerasure is configured with k=8 and m=4, losing one OSD requires reading\n          from the eleven others to repair.\n\n          The lrc erasure code plugin creates local parity chunks to be able to recover using\n          less OSDs. For instance if lrc is configured with k=8, m=4 and l=4, it will create\n          an additional parity chunk for every four OSDs. When a single OSD is lost, it can be\n          recovered with only four OSDs instead of eleven.</source>\n        <target>Com o plug-in jerasure, quando um objeto codificado para eliminação é armazenado em\n          vários OSDs, a recuperação após a perda de um OSD requer a leitura de todos os outros.\n          Por exemplo, se o jerasure for configurado com k=8 e m=4, a perda de um OSD exigirá a leitura\n          dos outros onze para fazer o reparo.\n\n          O plug-in de código de eliminação lrc cria pacotes locais de paridade para conseguir recuperar usando\n          menos OSDs. Por exemplo, se o lrc for configurado com k=8, m=4 e l=4, ele criará\n          um pacote de paridade adicional para cada quatro OSDs. Quando um único OSD é perdido, ele pode ser\n          recuperado apenas com quatro OSDs, em vez de onze.</target>\n      </trans-unit>\n      <trans-unit id="813959d46e63a29bbd266b3af2ff9414c2ef553c" datatype="html">\n        <source>Group the coding and data chunks into sets of size locality. For instance,\n          for k=4 and m=2, when locality=3 two groups of three are created. Each set can\n          be recovered without reading chunks from another set.</source>\n        <target>Agrupe os pacotes de codificação e dados em conjuntos de localidades com tamanho. Por exemplo,\n          no caso de k=4 e m=2, quando locality=3, dois grupos de três são criados. Cada conjunto pode\n          ser recuperado sem a leitura dos pacotes do outro conjunto.</target>\n      </trans-unit>\n      <trans-unit id="f0ff63d92e0a1b4d4b51e31b9133802d160a5f4c" datatype="html">\n        <source>The type of the crush bucket in which each set of chunks defined\n          by l will be stored. For instance, if it is set to rack, each group of l chunks will be\n          placed in a different rack. It is used to create a CRUSH rule step such as step choose\n          rack. If it is not set, no such grouping is done.</source>\n        <target>O tipo do compartimento de crush em que cada conjunto de pacotes definido\n          por l será armazenado. Por exemplo, se isso for definido como rack, cada grupo de pacotes l será\n          colocado em um rack diferente. Isso é usado para criar uma etapa da regra CRUSH, como a etapa de escolha do\n          rack. Se isso não for definido, esse tipo de agrupamento não será feito.</target>\n      </trans-unit>\n      <trans-unit id="3ece48df9d1e9a98f98bf3c5cc66e8b637020a4d" datatype="html">\n        <source>The isa plugin encapsulates the ISA library. It only runs on Intel processors.</source>\n        <target>O plug-in isa encapsula a biblioteca ISA. Ele apenas é executado em processadores Intel.</target>\n      </trans-unit>\n      <trans-unit id="4472c9e31bfc7d96a83dc4afce0a6e885c99e839" datatype="html">\n        <source>The ISA plugin comes in two Reed Solomon forms.\n          If reed_sol_van is set, it is Vandermonde, if cauchy is set, it is Cauchy.</source>\n        <target>O plug-in ISA vem em dois formatos de Reed Solomon.\n          Se reed_sol_van for definido, ele será Vandermonde, se cauchy for definido, ele será Cauchy.</target>\n      </trans-unit>\n      <trans-unit id="fa385f5ecf63083ec848dca8dc5e52bdc72ac6f6" datatype="html">\n        <source>The shec plugin encapsulates the multiple SHEC library.\n          It allows ceph to recover data more efficiently than Reed Solomon codes.</source>\n        <target>O plug-in shec encapsula a biblioteca múltipla SHEC.\n          Ele permite ao ceph recuperar dados com mais eficiência do que os códigos de Reed Solomon.</target>\n      </trans-unit>\n      <trans-unit id="687b3cd94b3475c24ff4481d64d4739f902a377c" datatype="html">\n        <source>The number of parity chunks each of which includes each data chunk in its\n          calculation range. The number is used as a durability estimator. For instance, if c=2,\n          2 OSDs can be down without losing data.</source>\n        <target>O número de pacotes de paridade, em que cada um inclui cada pacote de dados em sua\n          faixa de cálculo. O número é usado como estimador de durabilidade. Por exemplo, se c=2,\n          2 OSDs podem ficar inativos sem perda de dados.</target>\n      </trans-unit>\n      <trans-unit id="f3c4af6df91bdaabdb715f8f0b61a24faf73a3bc" datatype="html">\n        <source>The name of the crush bucket used for the first step of the CRUSH rule.\n      For instance step take default.</source>\n        <target>O nome do compartimento de crush usado para a primeira etapa da regra CRUSH.\n      Por exemplo, a etapa assumir o padrão.</target>\n      </trans-unit>\n      <trans-unit id="e1059955a5ce65cdabf0c0a8207377e1f9bae57e" datatype="html">\n        <source>Ensure that no two chunks are in a bucket with the same failure\n      domain. For instance, if the failure domain is host no two chunks will be stored on the same\n      host. It is used to create a CRUSH rule step such as step chooseleaf host.</source>\n        <target>Verifique se não há dois pacotes em um compartimento com o mesmo domínio de\n      falha. Por exemplo, se o domínio de falha for um host, não armazene dois pacotes no mesmo\n      host. Isso é usado para criar uma etapa da regra CRUSH, como a etapa de escolha do host folha.</target>\n      </trans-unit>\n      <trans-unit id="ac392ac9c6da5fde6da80fc57b9c09402fb6e73d" datatype="html">\n        <source>Restrict placement to devices of a specific class\n      (e.g., ssd or hdd), using the crush device class names in the CRUSH map.</source>\n        <target>Restrinja o posicionamento a dispositivos de uma classe específica\n      (ex. ssd ou hdd), usando nomes de classe de dispositivo crush no mapa CRUSH.</target>\n      </trans-unit>\n      <trans-unit id="62bcb9ae5583a088649b1adf5787a86ca3334f89" datatype="html">\n        <source>Set the directory name from which the erasure code plugin is loaded.</source>\n        <target>Defina o nome do diretório do qual o plug-in de código de eliminação é carregado.</target>\n      </trans-unit>\n      <trans-unit id="c8f10184a8433d132ede0a2c0c1aa96f291cacfa" datatype="html">\n        <source>Allows all operations</source>\n        <target>Permite todas as operações</target>\n      </trans-unit>\n      <trans-unit id="82077ee97c11ee76efc3adf253b7b26654544317" datatype="html">\n        <source>Allows only operations that do not modify the server</source>\n        <target>Permite apenas as operações que não modificam o servidor</target>\n      </trans-unit>\n      <trans-unit id="22b5212ec10449dbf0a0af0ad34122eac51b5f2a" datatype="html">\n        <source>Does not allow read or write operations, but allows any other operation</source>\n        <target>Não permite operações de leitura ou gravação, mas permite qualquer outra operação</target>\n      </trans-unit>\n      <trans-unit id="9799d0f8c4b7727ae239fedfe3c0ce127feb7a50" datatype="html">\n        <source>Does not allow read, write, or any operation that modifies file        attributes or directory content</source>\n        <target>Não permite leitura, gravação ou qualquer operação que modifica os atributos do arquivo ou o conteúdo do diretório</target>\n      </trans-unit>\n      <trans-unit id="aeddefe0af87025d8f00699aa94bed8216a99a58" datatype="html">\n        <source>Allows no access at all</source>\n        <target>Não permite nenhum tipo de acesso</target>\n      </trans-unit>\n      <trans-unit id="a436c6a4025a749198e93cac239de8deede72211" datatype="html">\n        <source>-- Select the priority --</source>\n        <target>-- Selecionar prioridade --</target>\n      </trans-unit>\n      <trans-unit id="9556266f0a2b1762a44b686f2bb21dbfefb01c12" datatype="html">\n        <source>Low</source>\n        <target>Baixa</target>\n      </trans-unit>\n      <trans-unit id="72279141a67cc042d9864102b703216cc8a428a3" datatype="html">\n        <source>High</source>\n        <target>Alta</target>\n      </trans-unit>\n      <trans-unit id="6080b77234e92ad41bb52653b239c4c4f851317d" datatype="html">\n        <source>Error</source>\n        <target>Error</target>\n      </trans-unit>\n      <trans-unit id="c43dc1967a603fefb886149ac35863a06d5b4ce5" datatype="html">\n        <source>Information</source>\n        <target>Informações</target>\n      </trans-unit>\n      <trans-unit id="1e035e6ccfab771cad4226b2ad230cb0d4a88cba" datatype="html">\n        <source>Success</source>\n        <target>Success</target>\n      </trans-unit>\n      <trans-unit id="61fd1cffcb763cbfd5829071723cf9b647174bd9" datatype="html">\n        <source>An error occurred.</source>\n        <target>An error occurred.</target>\n      </trans-unit>\n      <trans-unit id="e6ca3c0efaf51e6d45a7f92f58bac37140c3fda4" datatype="html">\n        <source>Last 5 minutes</source>\n        <target>Últimos 5 minutos</target>\n      </trans-unit>\n      <trans-unit id="b0ecb2bbc548cc9bd95050fd8f0c84586d083fe2" datatype="html">\n        <source>Last 15 minutes</source>\n        <target>Últimos 15 minutos</target>\n      </trans-unit>\n      <trans-unit id="857ae67deb51353120b203b0f2a06b0c48ef49fa" datatype="html">\n        <source>Last 30 minutes</source>\n        <target>Últimos 30 minutos</target>\n      </trans-unit>\n      <trans-unit id="7b1738fad314e936dc14b94db8f43da736942308" datatype="html">\n        <source>Last 1 hour (Default)</source>\n        <target>Última 1 hora (Padrão)</target>\n      </trans-unit>\n      <trans-unit id="a428288224389726cef9d9bd8d1d7808cccd7ffd" datatype="html">\n        <source>Last 3 hours</source>\n        <target>Últimas 3 horas</target>\n      </trans-unit>\n      <trans-unit id="7cbabecc8d80cf183ac199cfaeb7619d56e5d43f" datatype="html">\n        <source>Last 6 hours</source>\n        <target>Últimas 6 horas</target>\n      </trans-unit>\n      <trans-unit id="1a389cdf64187d34cf99eec30a290e3fa7d4744f" datatype="html">\n        <source>Last 12 hours</source>\n        <target>Últimas 12 horas</target>\n      </trans-unit>\n      <trans-unit id="9e0ba5f591380a94d594a76288f0c41aa97eb9c2" datatype="html">\n        <source>Last 24 hours</source>\n        <target>Últimas 24 horas</target>\n      </trans-unit>\n      <trans-unit id="e430eda9c785cd43465b7cbb400ee914f1057247" datatype="html">\n        <source>Yesterday</source>\n        <target>Ontem</target>\n      </trans-unit>\n      <trans-unit id="7fb1099e29660162f9154d5b2feee7743a423df6" datatype="html">\n        <source>Today</source>\n        <target>Hoje</target>\n      </trans-unit>\n      <trans-unit id="33904058a97a64bd189bed84038b1ffe719769c7" datatype="html">\n        <source>Today so far</source>\n        <target>Até agora hoje</target>\n      </trans-unit>\n      <trans-unit id="3b0b849be007510021d3d383df75bec95ef9c97b" datatype="html">\n        <source>Day before yesterday</source>\n        <target>Antes de ontem</target>\n      </trans-unit>\n      <trans-unit id="6b430c2c394c4d32ebd7d46c8c46ab60e1b29ccb" datatype="html">\n        <source>Last 2 days</source>\n        <target>Últimos 2 dias</target>\n      </trans-unit>\n      <trans-unit id="d5e812a87a5d57a94200a2013027cab76a7c4863" datatype="html">\n        <source>This day last week</source>\n        <target>Este dia na semana passada</target>\n      </trans-unit>\n      <trans-unit id="d00edc936eeab6b5577401f115ca86ca2c87dc9a" datatype="html">\n        <source>Previous week</source>\n        <target>Semana anterior</target>\n      </trans-unit>\n      <trans-unit id="b036e40577baa6b918b2267d319d4b3aeaa88a5a" datatype="html">\n        <source>This week</source>\n        <target>Esta semana</target>\n      </trans-unit>\n      <trans-unit id="99ad5a6096b3fcb3f021f3779bae710cdfeb8934" datatype="html">\n        <source>This week so far</source>\n        <target>Até agora nesta semana</target>\n      </trans-unit>\n      <trans-unit id="02e0243b60007368f87dc01e083f232dd025096d" datatype="html">\n        <source>Last 7 days</source>\n        <target>Últimos 7 dias</target>\n      </trans-unit>\n      <trans-unit id="c3b08b07b5ab98e7cdcf18df39355690ab7d3884" datatype="html">\n        <source>Previous month</source>\n        <target>Mês anterior</target>\n      </trans-unit>\n      <trans-unit id="1b2562c6d5aa90644e7dc91feee82e2005fceb33" datatype="html">\n        <source>This month</source>\n        <target>Este mês</target>\n      </trans-unit>\n      <trans-unit id="26b4b18c5917934abb169ba9aa490e57f7bf10b8" datatype="html">\n        <source>This month so far</source>\n        <target>Até agora neste mês</target>\n      </trans-unit>\n      <trans-unit id="7668986b9f753fcd72ad4a00b1a0c4861d1f7fb8" datatype="html">\n        <source>Last 30 days</source>\n        <target>Últimos 30 dias</target>\n      </trans-unit>\n      <trans-unit id="ba1e822408d90c6fbd2989100fa648bfd5e8ee84" datatype="html">\n        <source>Last 90 days</source>\n        <target>Últimos 90 dias</target>\n      </trans-unit>\n      <trans-unit id="c3df03f899a914c4181adcdc8a3f077424f7b6e8" datatype="html">\n        <source>Last 6 months</source>\n        <target>Últimos 6 meses</target>\n      </trans-unit>\n      <trans-unit id="7f9a92757580c9f31c309c0a3812ea429274eadf" datatype="html">\n        <source>Last 1 year</source>\n        <target>Último ano</target>\n      </trans-unit>\n      <trans-unit id="5a9fede30ff65cb4b4426f6b1ed31afb67ecd7b0" datatype="html">\n        <source>Previous year</source>\n        <target>Ano anterior</target>\n      </trans-unit>\n      <trans-unit id="65cefcc53d1f6445df7568e8a40c49165f1090ee" datatype="html">\n        <source>This year</source>\n        <target>Este ano</target>\n      </trans-unit>\n      <trans-unit id="1f68b766944dc3865bddab765fe952b0c1c43f92" datatype="html">\n        <source>This year so far</source>\n        <target>Até agora neste ano</target>\n      </trans-unit>\n      <trans-unit id="4d4b77e614f8043fdadef5d6d235655bb48eb311" datatype="html">\n        <source>Last 2 years</source>\n        <target>Últimos 2 anos</target>\n      </trans-unit>\n      <trans-unit id="138afa339ea6e75d25a474affe1edbcb90e00ec0" datatype="html">\n        <source>Last 5 years</source>\n        <target>Últimos 5 anos</target>\n      </trans-unit>\n      <trans-unit id="37391297bb077a6f84484930261b01a3ce38327b" datatype="html">\n        <source>No items selected.</source>\n        <target>Nenhum item selecionado.</target>\n      </trans-unit>\n      <trans-unit id="2c1e52ee832661b4a0f570877d24661736b16af1" datatype="html">\n        <source>Deselect item to select again</source>\n        <target>Desmarcar item para selecionar novamente</target>\n      </trans-unit>\n      <trans-unit id="c8c9c6e5918659336824bbdda3501c66eaa79a4c" datatype="html">\n        <source>Selection limit reached</source>\n        <target>Limite de seleção atingido</target>\n      </trans-unit>\n      <trans-unit id="02d184c288f567825a1fcbf83bcd3099a10853d5" datatype="html">\n        <source>Filter tags</source>\n        <target>Tags de filtro</target>\n      </trans-unit>\n      <trans-unit id="aa00748e49c269956837d6f3acdd8d218796a8d8" datatype="html">\n        <source>Add badge</source>\n        <target>Adicionar selo</target>\n      </trans-unit>\n      <trans-unit id="4078a92d8121abdce7d8f346a88914923ec835fc" datatype="html">\n        <source>There are no items available.</source>\n        <target>Não há itens disponíveis.</target>\n      </trans-unit>\n      <trans-unit id="55dd9f44e64851bca3b7bfc9283a5ff36f030228" datatype="html">\n        <source>Set</source>\n        <target>Set</target>\n      </trans-unit>\n      <trans-unit id="019d4bd6a5690f0cfa0ecf346a4e6bf7f0d8debb" datatype="html">\n        <source>Remove</source>\n        <target>Remove</target>\n      </trans-unit>\n      <trans-unit id="e168fe6c468b3ad632731395ef89860274242844" datatype="html">\n        <source>Unset</source>\n        <target>Unset</target>\n      </trans-unit>\n      <trans-unit id="54a4a3132b693575728a45a5f3154ad4c9af404b" datatype="html">\n        <source>Clone</source>\n        <target>Clonar</target>\n      </trans-unit>\n      <trans-unit id="1979da7460819153e11d2078244645d94291b69c" datatype="html">\n        <source>Copy</source>\n        <target>Copiar</target>\n      </trans-unit>\n      <trans-unit id="2e5e77dbaadd6588d8bbf737139fd9806294ae28" datatype="html">\n        <source>Deep Scrub</source>\n        <target>Remoção Profunda</target>\n      </trans-unit>\n      <trans-unit id="bf463b189696c19769ea263227e6c22aefafb918" datatype="html">\n        <source>Destroy</source>\n        <target>Destruir</target>\n      </trans-unit>\n      <trans-unit id="b4e94d529ff10db4d86f3f48900fa67ede3411fd" datatype="html">\n        <source>Evict</source>\n        <target>Evict</target>\n      </trans-unit>\n      <trans-unit id="3747fff7faf52b436ecff5fb8555091736d92c70" datatype="html">\n        <source>Flatten</source>\n        <target>Nivelar</target>\n      </trans-unit>\n      <trans-unit id="66fdbf32e5449cc54a3d1e19c7b8f4ea238facfb" datatype="html">\n        <source>Mark Down</source>\n        <target>Marcar como Inativo</target>\n      </trans-unit>\n      <trans-unit id="0cda3e824fb2f9c731e5a60b859dedc1fe03127e" datatype="html">\n        <source>Mark In</source>\n        <target>Marcar como Entrada</target>\n      </trans-unit>\n      <trans-unit id="f833354f43cb38c5716faa8759a9bbdd1ab8f199" datatype="html">\n        <source>Mark Lost</source>\n        <target>Marcar como Perdido</target>\n      </trans-unit>\n      <trans-unit id="75fb9f970ba365398c45e57bbb1019c009f6b832" datatype="html">\n        <source>Mark Out</source>\n        <target>Marcar como Saída</target>\n      </trans-unit>\n      <trans-unit id="45480c03b0a3a37ff8f6a5600a6a034b40fbaea4" datatype="html">\n        <source>Protect</source>\n        <target>Proteger</target>\n      </trans-unit>\n      <trans-unit id="e26f9cf3666aace4e524b1505c9795d76d87738d" datatype="html">\n        <source>Rename</source>\n        <target>Renomear</target>\n      </trans-unit>\n      <trans-unit id="d5cec7468241d72cafd86ad1af6d55b09a6e3ae5" datatype="html">\n        <source>Restore</source>\n        <target>Restaurar</target>\n      </trans-unit>\n      <trans-unit id="ba073985cfd2528c77a746ed596b2f2052b973c5" datatype="html">\n        <source>Move to Trash</source>\n        <target>Mover para Lixo</target>\n      </trans-unit>\n      <trans-unit id="3ea9b96a21a499d296a7f25407da0f3df6c2d5ed" datatype="html">\n        <source>Unprotect</source>\n        <target>Cancelar proteção</target>\n      </trans-unit>\n      <trans-unit id="024cdb2814b0cb3f4ced148f1a0b9854447cb214" datatype="html">\n        <source>Change</source>\n        <target>Change</target>\n      </trans-unit>\n      <trans-unit id="011f3e2bfc1fd8407eb5f599352665bfeb145664" datatype="html">\n        <source>Recreate</source>\n        <target>Recreate</target>\n      </trans-unit>\n      <trans-unit id="6df2dfa48bef5510c82fb43f4e71a7f9557f3d71" datatype="html">\n        <source>Expire</source>\n        <target>Expire</target>\n      </trans-unit>\n      <trans-unit id="28df1b02fd88d2deb0212bc5d7ff34cf9492fa54" datatype="html">\n        <source>Deleted</source>\n        <target>Excluído</target>\n      </trans-unit>\n      <trans-unit id="80e3b490720757978c99a7b5af3885faf202b955" datatype="html">\n        <source>Added</source>\n        <target>Added</target>\n      </trans-unit>\n      <trans-unit id="1aa4883bc4f1352f7a0bdd94810a9bf6dc22bd02" datatype="html">\n        <source>Removed</source>\n        <target>Removed</target>\n      </trans-unit>\n      <trans-unit id="402f3ee47f98fbbc68530239b1ddcbb9e96a460c" datatype="html">\n        <source>Edited</source>\n        <target>Edited</target>\n      </trans-unit>\n      <trans-unit id="96d56ec71c6e78cb4d6204c4a9359a3d38fcdb59" datatype="html">\n        <source>Canceled</source>\n        <target>Canceled</target>\n      </trans-unit>\n      <trans-unit id="a3318a2ee2bd0064b6b9ff72a4018b679ec63125" datatype="html">\n        <source>Cloned</source>\n        <target>Clonado</target>\n      </trans-unit>\n      <trans-unit id="ef90545bc832876c0d7f9a10363c75137472bbb5" datatype="html">\n        <source>Copied</source>\n        <target>Copiado</target>\n      </trans-unit>\n      <trans-unit id="5a13d3834133e09544ec93885662f181372dcf46" datatype="html">\n        <source>Deep Scrubbed</source>\n        <target>Deep Scrubbed</target>\n      </trans-unit>\n      <trans-unit id="7c9efb91434a5c15e9579c0b31c8e184b8c8240d" datatype="html">\n        <source>Destroyed</source>\n        <target>Destroyed</target>\n      </trans-unit>\n      <trans-unit id="647059bf3ea098fffedf92ddfad792bb3daa3c95" datatype="html">\n        <source>Flattened</source>\n        <target>Nivelado</target>\n      </trans-unit>\n      <trans-unit id="8df71e952319eafa71c8e6ef6144b780af8813ff" datatype="html">\n        <source>Marked Down</source>\n        <target>Marked Down</target>\n      </trans-unit>\n      <trans-unit id="25658f5a080a1cab3b91e17b756b1d1dc46bb9b3" datatype="html">\n        <source>Marked In</source>\n        <target>Marked In</target>\n      </trans-unit>\n      <trans-unit id="ebcf306036a6c5579df9448f77eca98d491db245" datatype="html">\n        <source>Marked Lost</source>\n        <target>Marked Lost</target>\n      </trans-unit>\n      <trans-unit id="3a8803369ac18be3ad762384b9fda095fe2a6dcc" datatype="html">\n        <source>Marked Out</source>\n        <target>Marked Out</target>\n      </trans-unit>\n      <trans-unit id="0fe2a62ea7c609fa8326ee6d38060bc5ba8bf34f" datatype="html">\n        <source>Protected</source>\n        <target>Protected</target>\n      </trans-unit>\n      <trans-unit id="69b0446c6c2411c4fe01e411b8ceec72d4044fb4" datatype="html">\n        <source>Purged</source>\n        <target>Purgado</target>\n      </trans-unit>\n      <trans-unit id="d53de1a61bd51c815dc374c7f97e4ee69230e412" datatype="html">\n        <source>Renamed</source>\n        <target>Renamed</target>\n      </trans-unit>\n      <trans-unit id="86fc6cae82c095f14105eb8a61d7b3fa948304b7" datatype="html">\n        <source>Restored</source>\n        <target>Restaurado</target>\n      </trans-unit>\n      <trans-unit id="e87dd0fd35460cb743046db918dfce2137b5977a" datatype="html">\n        <source>Reweighted</source>\n        <target>Reweighted</target>\n      </trans-unit>\n      <trans-unit id="dc21fd6547f2325c67f6deff925f29eb07a2db3e" datatype="html">\n        <source>Rolled back</source>\n        <target>Rollback feito</target>\n      </trans-unit>\n      <trans-unit id="15dec4c2d73a516c10aef90aeeea3364fa794615" datatype="html">\n        <source>Scrubbed</source>\n        <target>Scrubbed</target>\n      </trans-unit>\n      <trans-unit id="8dc560ded67482f109a98e0638851ad1d37188b3" datatype="html">\n        <source>Showed</source>\n        <target>Showed</target>\n      </trans-unit>\n      <trans-unit id="197259b7ea76f15c6d0a64b075a673fd4112ada7" datatype="html">\n        <source>Moved to Trash</source>\n        <target>Moved to Trash</target>\n      </trans-unit>\n      <trans-unit id="8fb15cb102cd75b562680290b7e04c44d80018f2" datatype="html">\n        <source>Unprotected</source>\n        <target>Unprotected</target>\n      </trans-unit>\n      <trans-unit id="8588eafa498262a1cbb5043ad68cf0ff669c4f10" datatype="html">\n        <source>Recreated</source>\n        <target>Recreated</target>\n      </trans-unit>\n      <trans-unit id="ffde7468d7b5cad6990095ed68ddee3d67cd02f8" datatype="html">\n        <source>Expired</source>\n        <target>Expired</target>\n      </trans-unit>\n      <trans-unit id="4f20f2d5a6882190892e58b85f6ccbedfa737952" datatype="html">\n        <source>Yes</source>\n        <target>Sim</target>\n      </trans-unit>\n      <trans-unit id="3d3ae7deebc5949b0c1c78b9847886a94321d9fd" datatype="html">\n        <source>No</source>\n        <target>Não</target>\n      </trans-unit>\n      <trans-unit id="baf918eed9d4050cdad2acebc0f27b6eaf8e3fcd" datatype="html">\n        <source>Required rules for passwords:</source>\n        <target>Required rules for passwords:</target>\n      </trans-unit>\n      <trans-unit id="40f61909e1f017c4652e64b055089beef19cf871" datatype="html">\n        <source>Must contain at least \n          <x id="INTERPOLATION" equiv-text="{{length}}"/> characters\n        </source>\n        <target>Must contain at least \n          <x id="INTERPOLATION" equiv-text="{{length}}"/> characters\n        </target>\n      </trans-unit>\n      <trans-unit id="f4f5dbb3a05b5f38dab47ef38dad88a4574a765a" datatype="html">\n        <source>Must not be the same as the previous one</source>\n        <target>Must not be the same as the previous one</target>\n      </trans-unit>\n      <trans-unit id="607370e07b50087c196a5fcea9184e3d693226b2" datatype="html">\n        <source>Cannot contain the username</source>\n        <target>Cannot contain the username</target>\n      </trans-unit>\n      <trans-unit id="e6e355eab2596251aaa42623b41e6026d5c03e3b" datatype="html">\n        <source>Cannot contain any configured keyword</source>\n        <target>Cannot contain any configured keyword</target>\n      </trans-unit>\n      <trans-unit id="394bcd6d5e4da75b720c4d28f94f2aef7bb38355" datatype="html">\n        <source>Cannot contain any repetitive characters e.g. "aaa"</source>\n        <target>Cannot contain any repetitive characters e.g. "aaa"</target>\n      </trans-unit>\n      <trans-unit id="030e61e0bcf2536fb047645db6182d43e9fca9e9" datatype="html">\n        <source>Cannot contain any sequential characters e.g. "abc"</source>\n        <target>Cannot contain any sequential characters e.g. "abc"</target>\n      </trans-unit>\n      <trans-unit id="99fa0b67376d40142bd4d3ace3344abf4f98b6a5" datatype="html">\n        <source>Your matcher seems to match no currently defined rule or active alert.</source>\n        <target>Your matcher seems to match no currently defined rule or active alert.</target>\n      </trans-unit>\n      <trans-unit id="7e284852732c303eb1f47de9aca2569e41aeffed" datatype="html">\n        <source>no active alerts</source>\n        <target>no active alerts</target>\n      </trans-unit>\n      <trans-unit id="b8042829e4fbe7b09fd9bac9fa0ecf5cc1802fee" datatype="html">\n        <source>1 active alert</source>\n        <target>1 active alert</target>\n      </trans-unit>\n      <trans-unit id="e24adce97669cb0fc74cc13fdc14179b6f78ea5e" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{n}}"/> active alerts\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{n}}"/> active alerts\n        </target>\n      </trans-unit>\n      <trans-unit id="d8fb058ff5883731d38a132da4ca45cfe8d719a3" datatype="html">\n        <source>Matches 1 rule</source>\n        <target>Matches 1 rule</target>\n      </trans-unit>\n      <trans-unit id="90aaef24d192e67c3fbc2ec6f8bfaff211cea128" datatype="html">\n        <source>Matches \n          <x id="INTERPOLATION" equiv-text="{{n}}"/> rules\n        </source>\n        <target>Matches \n          <x id="INTERPOLATION" equiv-text="{{n}}"/> rules\n        </target>\n      </trans-unit>\n      <trans-unit id="f4685dc581e18244cd410f1057a8c56a9dbfe8df" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rules}}"/> with \n          <x id="INTERPOLATION_1" equiv-text="{{alerts}}"/>.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rules}}"/> with \n          <x id="INTERPOLATION_1" equiv-text="{{alerts}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8fd98fb2a0f24ba72cde0787dd3f02cfc17de469" datatype="html">\n        <source>Quality of Service</source>\n        <target>Qualidade do Serviço</target>\n      </trans-unit>\n      <trans-unit id="2c53f3ce2c6fff9025a7b41cc334521725da6e7b" datatype="html">\n        <source>BPS Limit</source>\n        <target>Limite de BPS</target>\n      </trans-unit>\n      <trans-unit id="e897624a392419386b035bcd8529337e262fc41d" datatype="html">\n        <source>The desired limit of IO bytes per second.</source>\n        <target>O limite de bytes por segundo de E/S desejado.</target>\n      </trans-unit>\n      <trans-unit id="dc56f77e4507da7e86a3accd0a2a7099a838d539" datatype="html">\n        <source>IOPS Limit</source>\n        <target>Limite de IOPS</target>\n      </trans-unit>\n      <trans-unit id="141c3f6eadbb35b0e17b2f847e4cac23240a6ea9" datatype="html">\n        <source>The desired limit of IO operations per second.</source>\n        <target>O limite de operações por segundo de E/S desejado.</target>\n      </trans-unit>\n      <trans-unit id="3b3b101f16c38806e984b157e0cf22cd21451122" datatype="html">\n        <source>Read BPS Limit</source>\n        <target>Limite de BPS de Leitura</target>\n      </trans-unit>\n      <trans-unit id="87835fabb6a645873f3829a450ca1d58f97754f2" datatype="html">\n        <source>The desired limit of read bytes per second.</source>\n        <target>O limite de bytes por segundo de leitura desejado.</target>\n      </trans-unit>\n      <trans-unit id="28b485e700df46d70b96666099f714e3ae9e5c2e" datatype="html">\n        <source>Read IOPS Limit</source>\n        <target>Limite de IOPS de Leitura</target>\n      </trans-unit>\n      <trans-unit id="5907bd1a5cf3e20e740bca676cb1538372e1f9ff" datatype="html">\n        <source>The desired limit of read operations per second.</source>\n        <target>O limite de operações por segundo de leitura desejado.</target>\n      </trans-unit>\n      <trans-unit id="07317121f0b194987d4dee8b322f521ac17bf124" datatype="html">\n        <source>Write BPS Limit</source>\n        <target>Limite de BPS de Gravação</target>\n      </trans-unit>\n      <trans-unit id="4022c78bd9132ca2ec67927f8484c437d1d9b6fd" datatype="html">\n        <source>The desired limit of write bytes per second.</source>\n        <target>O limite de bytes por segundo de gravação desejado.</target>\n      </trans-unit>\n      <trans-unit id="52c22c19f98ff3a09bd811292954a889b93d28b7" datatype="html">\n        <source>Write IOPS Limit</source>\n        <target>Limite de IOPS de Gravação</target>\n      </trans-unit>\n      <trans-unit id="0ed62e3fd8654b3191fc7fa959ad3f10f1ea773a" datatype="html">\n        <source>The desired limit of write operations per second.</source>\n        <target>O limite de operações por segundo de gravação desejado.</target>\n      </trans-unit>\n      <trans-unit id="d90c99d77864f21f932ee1369019f400c4ad0e2d" datatype="html">\n        <source>BPS Burst</source>\n        <target>Intermitência de BPS</target>\n      </trans-unit>\n      <trans-unit id="29c32192f4d185139aaaf6d3a766a3411dfeabbe" datatype="html">\n        <source>The desired burst limit of IO bytes.</source>\n        <target>O limite de bytes de E/S de intermitência desejado.</target>\n      </trans-unit>\n      <trans-unit id="b988b90489e899941e196c3dd0ecc22e37540224" datatype="html">\n        <source>IOPS Burst</source>\n        <target>Intermitência de IOPS</target>\n      </trans-unit>\n      <trans-unit id="02c5de8ff11870f1b3896f2b45637ce0dba1ed4b" datatype="html">\n        <source>The desired burst limit of IO operations.</source>\n        <target>O limite de operações de E/S de intermitência desejado.</target>\n      </trans-unit>\n      <trans-unit id="7a160538129b37cf595f1651f28b5fac62fbc0f8" datatype="html">\n        <source>Read BPS Burst</source>\n        <target>Intermitência de BPS de Leitura</target>\n      </trans-unit>\n      <trans-unit id="b573a5df16a53b9947288461bc24e6a0eb4341d6" datatype="html">\n        <source>The desired burst limit of read bytes.</source>\n        <target>O limite de bytes de leitura de intermitência desejado.</target>\n      </trans-unit>\n      <trans-unit id="1d5b8c2a0c653651cc4ca4b8fed9456f449220d1" datatype="html">\n        <source>Read IOPS Burst</source>\n        <target>Intermitência de IOPS de Leitura</target>\n      </trans-unit>\n      <trans-unit id="20b199f9d4a8d08ffefec66040e27639ec221512" datatype="html">\n        <source>The desired burst limit of read operations.</source>\n        <target>O limite de operações de leitura de intermitência desejado.</target>\n      </trans-unit>\n      <trans-unit id="824525ae57992aee629ddffcd500a8b77087ddec" datatype="html">\n        <source>Write BPS Burst</source>\n        <target>Intermitência de BPS de Gravação</target>\n      </trans-unit>\n      <trans-unit id="a90aac4050a5d79765da5e1186909f6d4d7f981d" datatype="html">\n        <source>The desired burst limit of write bytes.</source>\n        <target>O limite de bytes de gravação de intermitência desejado.</target>\n      </trans-unit>\n      <trans-unit id="35a8c6e6c249c7d16e26aa7c4ef97c06db405070" datatype="html">\n        <source>Write IOPS Burst</source>\n        <target>Intermitência de IOPS de Gravação</target>\n      </trans-unit>\n      <trans-unit id="b356abd41d7e9eea4d20c03d2e6892b6d435ecbd" datatype="html">\n        <source>The desired burst limit of write operations.</source>\n        <target>O limite de operações de gravação de intermitência desejado.</target>\n      </trans-unit>\n      <trans-unit id="24c4d50fe8567de381a20a1745f1b6d37eacaa90" datatype="html">\n        <source>Failed to \n          <x id="INTERPOLATION" equiv-text="{{failure}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{metadata}}"/>\n        </source>\n        <target>Failed to \n          <x id="INTERPOLATION" equiv-text="{{failure}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{metadata}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="f54b6f09b390d5ade0e354f6c7d4743c10a315cc" datatype="html">\n        <source>Executing</source>\n        <target>Executando</target>\n      </trans-unit>\n      <trans-unit id="5cdfe3e3330ea42bfd29c540dbd268bee97d364d" datatype="html">\n        <source>execute</source>\n        <target>executar</target>\n      </trans-unit>\n      <trans-unit id="6e98e243518daa88be30330fcdbd2d10f8eae4d7" datatype="html">\n        <source>Executed</source>\n        <target>Executado</target>\n      </trans-unit>\n      <trans-unit id="24b09aa5bd909273a023d2d788a2673325c77e31" datatype="html">\n        <source>unknown task</source>\n        <target>tarefa desconhecida</target>\n      </trans-unit>\n      <trans-unit id="114b5f92b9192b229ffc9a450319a97ccca2aa5c" datatype="html">\n        <source>Creating</source>\n        <target>Criando</target>\n      </trans-unit>\n      <trans-unit id="56695b69d27437ada580a187958407e7c856d46e" datatype="html">\n        <source>create</source>\n        <target>criar</target>\n      </trans-unit>\n      <trans-unit id="9db60170ef3b3b41a863e7d5ee7cec10919b9141" datatype="html">\n        <source>Updating</source>\n        <target>Atualizando</target>\n      </trans-unit>\n      <trans-unit id="64412640835b7d25247cb254d4f911366c0e6862" datatype="html">\n        <source>update</source>\n        <target>atualizar</target>\n      </trans-unit>\n      <trans-unit id="416193bb373d59477458b00e5922d755e2e2cacd" datatype="html">\n        <source>Deleting</source>\n        <target>Excluindo</target>\n      </trans-unit>\n      <trans-unit id="d07a282afc7fbdb39cea6e1c9b544882a7260a86" datatype="html">\n        <source>Adding</source>\n        <target>Adding</target>\n      </trans-unit>\n      <trans-unit id="a11ec4e640f241329943237d2a3cceaa4823658e" datatype="html">\n        <source>add</source>\n        <target>add</target>\n      </trans-unit>\n      <trans-unit id="ea1c70b874904216cc5af24bd7cb3dab2d074d42" datatype="html">\n        <source>Removing</source>\n        <target>Removing</target>\n      </trans-unit>\n      <trans-unit id="4da487aec5a29ce4372e7b512227cd665b01fe6f" datatype="html">\n        <source>remove</source>\n        <target>remove</target>\n      </trans-unit>\n      <trans-unit id="0e21237afdc84ec360c374fa678d9b1cfaa334f9" datatype="html">\n        <source>Importing</source>\n        <target>Importing</target>\n      </trans-unit>\n      <trans-unit id="c6b4128c006f4cc0564137e1a1482b5c432aa347" datatype="html">\n        <source>import</source>\n        <target>import</target>\n      </trans-unit>\n      <trans-unit id="3b9f4138abbca0fd66db1f7332f4b54e2a6d916d" datatype="html">\n        <source>Imported</source>\n        <target>Imported</target>\n      </trans-unit>\n      <trans-unit id="3f757cfc3749ebb5d4462017cb60138ca082f15f" datatype="html">\n        <source>RBD \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>RBD \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="a6c681e6130fe440ae40de99a405fcf5c7eefee1" datatype="html">\n        <source>RBD snapshot \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>RBD snapshot \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="2bf18ddf3785f7afb4f01dcf63d3d8c40f4bfba5" datatype="html">\n        <source>mirroring site name</source>\n        <target>mirroring site name</target>\n      </trans-unit>\n      <trans-unit id="167b73bb24b4695614ce0fc567b7a45080457a44" datatype="html">\n        <source>bootstrap token</source>\n        <target>bootstrap token</target>\n      </trans-unit>\n      <trans-unit id="4fb54a0291f49583c317d4a3690239141b5a8f68" datatype="html">\n        <source>mirror mode for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>mirror mode for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="6621ab6e122a149326a1e48e9051a41e7f203cf6" datatype="html">\n        <source>mirror peer for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>mirror peer for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="db15adc778317d551232fe712eb03a2c1eac4a43" datatype="html">\n        <source>all dashboards</source>\n        <target>all dashboards</target>\n      </trans-unit>\n      <trans-unit id="6c19652df9249c60827044ed6274933cab180c63" datatype="html">\n        <source>OSDs (DriveGroups: \n          <x id="INTERPOLATION" equiv-text="{{tracking_id}}"/>)\n        </source>\n        <target>OSDs (DriveGroups: \n          <x id="INTERPOLATION" equiv-text="{{tracking_id}}"/>)\n        </target>\n      </trans-unit>\n      <trans-unit id="1b559dbd9cc9664fd788c2da9a10d3abafe066cb" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8fc28e1103d9f2ef47b9fff9a4f74e8365c7cf19" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="1cdc7ea44fcb85d0cfcf6e7379d625d8674a8fbe" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="460f07780389d24c6a540c007c7367a56afad585" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> is busy.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> is busy.\n        </target>\n      </trans-unit>\n      <trans-unit id="1ff7676ad1e991102224540a32dd44ad1ab88aa8" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.\n        </target>\n      </trans-unit>\n      <trans-unit id="c3a1dcca2b2ba20fbe39e2441e7bb1cf9c20cdf3" datatype="html">\n        <source>Cloning</source>\n        <target>Clonando</target>\n      </trans-unit>\n      <trans-unit id="b5fa4e0a3a279dee5b6bf7b823e54387f7c79994" datatype="html">\n        <source>clone</source>\n        <target>clonar</target>\n      </trans-unit>\n      <trans-unit id="29b7452e8367af9aa8fa828f16ff94c3530e7a1a" datatype="html">\n        <source>Snapshot of \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> must be protected.\n        </source>\n        <target>Snapshot of \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> must be protected.\n        </target>\n      </trans-unit>\n      <trans-unit id="369f93b9a07a9465f7a261e9f0021b6cfa7180c5" datatype="html">\n        <source>Copying</source>\n        <target>Copiando</target>\n      </trans-unit>\n      <trans-unit id="37584f889855d153a106f5dffe23d21f9453c8ff" datatype="html">\n        <source>copy</source>\n        <target>copiar</target>\n      </trans-unit>\n      <trans-unit id="6ea9e313a04ef59222feaadfe84e97b4c69d7e9e" datatype="html">\n        <source>Flattening</source>\n        <target>Nivelando</target>\n      </trans-unit>\n      <trans-unit id="1f57593581b64d2d4c70eab1736bd9bccc66a7dc" datatype="html">\n        <source>flatten</source>\n        <target>nivelar</target>\n      </trans-unit>\n      <trans-unit id="d990ef9680cd23bbe652c37eb46bf038cfee80ad" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="a101745d080ef65c09bd5fafc796f94ddb9f9d60" datatype="html">\n        <source>Cannot unprotect \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it contains child images.\n        </source>\n        <target>Cannot unprotect \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it contains child images.\n        </target>\n      </trans-unit>\n      <trans-unit id="647968f4cde7786cd53ec8e6aa9802ac6824a262" datatype="html">\n        <source>Cannot delete \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it\'s protected.\n        </source>\n        <target>Cannot delete \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it\'s protected.\n        </target>\n      </trans-unit>\n      <trans-unit id="57ddd3e15cf0ce974356b757451f50116a27272b" datatype="html">\n        <source>Rolling back</source>\n        <target>Fazendo rollback</target>\n      </trans-unit>\n      <trans-unit id="a8913a3a5ee61f2598b5f0432cb9b20cdd60548e" datatype="html">\n        <source>rollback</source>\n        <target>rollback</target>\n      </trans-unit>\n      <trans-unit id="de8676f0017c9db6c49388cd7d63cd0a83a0c1dc" datatype="html">\n        <source>Moving</source>\n        <target>Movendo</target>\n      </trans-unit>\n      <trans-unit id="2d810712308ae63cb795d809687a3254ef7a2f05" datatype="html">\n        <source>move</source>\n        <target>mover</target>\n      </trans-unit>\n      <trans-unit id="f3ba995236e5c1cc77686108980c099a90aec754" datatype="html">\n        <source>Moved</source>\n        <target>Movido</target>\n      </trans-unit>\n      <trans-unit id="d0422169252d132624a20f267b5c29f28cb53ebe" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' to trash\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' to trash\n        </target>\n      </trans-unit>\n      <trans-unit id="b603e2dfed9808222fbcb5a7c5f4da2cc6ae2aae" datatype="html">\n        <source>Could not find image.</source>\n        <target>Imagem não encontrada.</target>\n      </trans-unit>\n      <trans-unit id="398debe73006b1fe5177ed81d2e7b0cc852f61ec" datatype="html">\n        <source>Restoring</source>\n        <target>Restaurando</target>\n      </trans-unit>\n      <trans-unit id="c252806fb400e79bac194696632c9362742b1538" datatype="html">\n        <source>restore</source>\n        <target>restaurar</target>\n      </trans-unit>\n      <trans-unit id="30b8bcf69b3f1754b7abba173fd806cfcea4cb04" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' into \'\n          <x id="INTERPOLATION_1" equiv-text="{{new_id}}"/>\'\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' into \'\n          <x id="INTERPOLATION_1" equiv-text="{{new_id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="13b7b241cef989fe0932ddd180e757658e1817e7" datatype="html">\n        <source>Image name \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' is already in use.\n        </source>\n        <target>Image name \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' is already in use.\n        </target>\n      </trans-unit>\n      <trans-unit id="cc1cee12c833e8fbbef28a2a7c449dc530da912d" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="38e5f47f8bef505652f3e87f46efb00ead1350a3" datatype="html">\n        <source>Purging</source>\n        <target>Purgando</target>\n      </trans-unit>\n      <trans-unit id="e4e57747f123f0fe6fe3a0ecf608f8bc287dec0c" datatype="html">\n        <source>purge</source>\n        <target>purgar</target>\n      </trans-unit>\n      <trans-unit id="1560d58fdf39663929653250d45f5b1dfe078fea" datatype="html">\n        <source>all pools</source>\n        <target>todos os pools</target>\n      </trans-unit>\n      <trans-unit id="1ac3dc50c2c3d86e98bc0967ee1e696810a2d3aa" datatype="html">\n        <source>images from \n          <x id="INTERPOLATION" equiv-text="{{message}}"/>\n        </source>\n        <target>images from \n          <x id="INTERPOLATION" equiv-text="{{message}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="02278abbb044ece04ab6bd80bd2060198d31d83b" datatype="html">\n        <source>Cannot disable mirroring because it contains a peer.</source>\n        <target>Impossível desabilitar espelhamento porque ele contém um peer.</target>\n      </trans-unit>\n      <trans-unit id="5c4525a1b76ca54d1aadeaecfdb83aedc2eec6e0" datatype="html">\n        <source>Identifying</source>\n        <target>Identifying</target>\n      </trans-unit>\n      <trans-unit id="ffd067e54a061d1f27cb35f0cf67ef7f29e19111" datatype="html">\n        <source>identify</source>\n        <target>identify</target>\n      </trans-unit>\n      <trans-unit id="7c921f339274688c22ba1acac7af6b097ad3599d" datatype="html">\n        <source>Identified</source>\n        <target>Identified</target>\n      </trans-unit>\n      <trans-unit id="3307492c27c2150cd26c514030444e11fd61089f" datatype="html">\n        <source>device \'\n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\' on host \'\n          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>\'\n        </source>\n        <target>device \'\n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\' on host \'\n          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="f123ae1fc3b000e5d08e766dd78bff162afe709d" datatype="html">\n        <source>host \'\n          <x id="INTERPOLATION" equiv-text="{{hostname}}"/>\'\n        </source>\n        <target>host \'\n          <x id="INTERPOLATION" equiv-text="{{hostname}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="c1af76189dcefd094da2bc1a4a63968f3bab5789" datatype="html">\n        <source>OSD \'\n          <x id="INTERPOLATION" equiv-text="{{svc_id}}"/>\'\n        </source>\n        <target>OSD \'\n          <x id="INTERPOLATION" equiv-text="{{svc_id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="dfe70001dc590a9e12512cbb206aa29fb36fd00b" datatype="html">\n        <source>pool \'\n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>\'\n        </source>\n        <target>pool \'\n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="59630daf2f4786690fae0cdad55da8887236eabe" datatype="html">\n        <source>erasure code profile \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </source>\n        <target>erasure code profile \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="79052d6c47258dc19ada12dbb2563761102b6f1d" datatype="html">\n        <source>crush rule \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </source>\n        <target>crush rule \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="369462e5e018360e0600bb570866201ad5c3c8a8" datatype="html">\n        <source>target \'\n          <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>\'\n        </source>\n        <target>target \'\n          <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="cf41310917cb19b335e5a950972bbff2346f7a47" datatype="html">\n        <source>NFS \n          <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>\n        </source>\n        <target>NFS \n          <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>\n        </target>\n      </trans-unit>\n    </body>\n  </file>\n</xliff>'},"+c4W":function(t,e,n){var a=n("711d"),r=n("4/ic"),o=n("9ggG"),i=n("9Nap");t.exports=function(t){return o(t)?a(i(t)):r(t)}},"+gVj":function(t,e,n){"use strict";n.d(e,"a",(function(){return c})),n.d(e,"b",(function(){return s})),n.d(e,"c",(function(){return g})),n.d(e,"d",(function(){return o})),n.d(e,"e",(function(){return l})),n.d(e,"f",(function(){return p})),n.d(e,"g",(function(){return u})),n.d(e,"h",(function(){return f}));var a=n("8Y7J"),r=n("s7LF");class o{constructor(){this.validSubmit=new a.EventEmitter}onSubmit(){this.markAsTouchedAndDirty(this.formGroup),this.formGroup.valid&&this.validSubmit.emit(this.formGroup.value)}markAsTouchedAndDirty(t){t instanceof r.k?Object.keys(t.controls).forEach(e=>this.markAsTouchedAndDirty(t.controls[e])):t instanceof r.f?t.controls.forEach(t=>this.markAsTouchedAndDirty(t)):t instanceof r.i&&t.enabled&&(t.markAsDirty(),t.markAsTouched(),t.updateValueAndValidity())}}const i=function(){var t={Three:0,Four:1};return t[t.Three]="Three",t[t.Four]="Four",t}(),s=new a.InjectionToken("ng-bootstrap-form-validation custom error messages"),c=new a.InjectionToken("ng-bootstrap-form-validation module options");class l{constructor(t){this.bootstrapVersion=t,this.messages=()=>[]}get className(){switch(this.bootstrapVersion){case i.Three:return"help-block";case i.Four:return"invalid-feedback"}}}const d=[{error:"required",format:t=>`${t} is required`},{error:"pattern",format:t=>`${t} is invalid`},{error:"minlength",format:(t,e)=>`${t} must be at least ${e.requiredLength} characters`},{error:"maxlength",format:(t,e)=>`${t} must be no longer than ${e.requiredLength} characters`},{error:"requiredTrue",format:(t,e)=>`${t} is required`},{error:"email",format:(t,e)=>"Invalid email address"},{error:"max",format:(t,e)=>`${t} must be no greater than ${e.max}`},{error:"min",format:(t,e)=>`${t} must be no less than ${e.min}`}];let u=(()=>{class t{constructor(t){this.customErrorMessages=t,this.defaultErrors=d,this.errorMessages=t.reduce((t,e)=>t.concat(e),this.defaultErrors)}}return t.ngInjectableDef=Object(a["ɵɵdefineInjectable"])({factory:function(){return new t(Object(a["ɵɵinject"])(s))},token:t,providedIn:"root"}),t})();class g{constructor(t,e){this.elRef=t,this.errorMessageService=e,this.customErrorMessages=[],this.validationDisabled=!1,this.messages=()=>this.getMessages()}get hasErrors(){return this.FormControlNames.some(t=>!t.valid&&t.dirty&&t.touched)&&!this.validationDisabled}get hasSuccess(){return!this.FormControlNames.some(t=>!t.valid)&&this.FormControlNames.some(t=>t.dirty&&t.touched)&&!this.validationDisabled}ngAfterContentInit(){this.messagesBlock&&(this.messagesBlock.messages=this.messages)}ngOnInit(){this.errorMessages=this.errorMessageService.errorMessages.concat(this.customErrorMessages).reverse()}get label(){const t=this.elRef.nativeElement.querySelector("label");return t&&t.textContent?t.textContent.trim():"This field"}get isDirtyAndTouched(){return this.FormControlNames.some(t=>t.dirty&&t.touched)}getMessages(){const t=[];if(!this.isDirtyAndTouched||this.validationDisabled)return t;const e=this.FormControlNames.map(t=>t.name);return this.FormControlNames.filter((t,n)=>!t.valid&&!!t.errors&&e.indexOf(t.name)===n).forEach(e=>{Object.keys(e.errors).forEach(n=>{const a=this.errorMessages.find(t=>t.error===n);a&&t.push(a.format(this.label,e.errors[n]))})}),t}}class f{constructor(t,e){this.parent=t,this.bootstrapVersion=e}get validClass(){return!!this.control&&this.bootstrapFour&&this.control.valid&&(this.control.touched||this.control.dirty)}get invalidClass(){return!!this.control&&this.bootstrapFour&&this.control.invalid&&this.control.touched&&this.control.dirty}get path(){return[...this.parent.path,this.formControlName]}get control(){return this.formDirective&&this.formDirective.getControl(this)}get formDirective(){return this.parent?this.parent.formDirective:null}get bootstrapFour(){return this.bootstrapVersion===i.Four}}class p{static forRoot(t={bootstrapVersion:i.Four}){return{ngModule:p,providers:[{provide:s,useValue:t.customErrorMessages||[],multi:!0},{provide:c,useValue:t.bootstrapVersion},u]}}}},"+iFO":function(t,e,n){var a=n("dTAl"),r=n("LcsW"),o=n("6sVZ");t.exports=function(t){return"function"!=typeof t.constructor||o(t)?{}:a(r(t))}},"+s0g":function(t,e,n){!function(t){"use strict";var e="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),n="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),a=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],r=/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;t.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(t,a){return t?/-MMM-/.test(a)?n[t.month()]:e[t.month()]:e},monthsRegex:r,monthsShortRegex:r,monthsStrictRegex:/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(t){return t+(1===t||8===t||t>=20?"ste":"de")},week:{dow:1,doy:4}})}(n("wd/R"))},"//9w":function(t,e,n){!function(t){"use strict";t.defineLocale("se",{months:"ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu".split("_"),monthsShort:"ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov".split("_"),weekdays:"sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat".split("_"),weekdaysShort:"sotn_vuos_maŋ_gask_duor_bear_láv".split("_"),weekdaysMin:"s_v_m_g_d_b_L".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"MMMM D. [b.] YYYY",LLL:"MMMM D. [b.] YYYY [ti.] HH:mm",LLLL:"dddd, MMMM D. [b.] YYYY [ti.] HH:mm"},calendar:{sameDay:"[otne ti] LT",nextDay:"[ihttin ti] LT",nextWeek:"dddd [ti] LT",lastDay:"[ikte ti] LT",lastWeek:"[ovddit] dddd [ti] LT",sameElse:"L"},relativeTime:{future:"%s geažes",past:"maŋit %s",s:"moadde sekunddat",ss:"%d sekunddat",m:"okta minuhta",mm:"%d minuhtat",h:"okta diimmu",hh:"%d diimmut",d:"okta beaivi",dd:"%d beaivvit",M:"okta mánnu",MM:"%d mánut",y:"okta jahki",yy:"%d jagit"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("wd/R"))},"/9aa":function(t,e,n){var a=n("NykK"),r=n("ExA7");t.exports=function(t){return"symbol"==typeof t||r(t)&&"[object Symbol]"==a(t)}},"/GqU":function(t,e,n){var a=n("RK3t"),r=n("HYAF");t.exports=function(t){return a(r(t))}},"/NlG":function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var a=n("8Y7J"),r=n("oxzT");class o{constructor(t){this.i18n=t,this.title="",this.bootstrapClass="",this.backAction=new a.EventEmitter,this.size="normal",this.showIcon=!0,this.showTitle=!0,this.icons=r.a}ngOnInit(){switch(this.type){case"warning":this.title=this.title||this.i18n("Warning"),this.typeIcon=this.typeIcon||r.a.warning,this.bootstrapClass=this.bootstrapClass||"warning";break;case"error":this.title=this.title||this.i18n("Error"),this.typeIcon=this.typeIcon||r.a.destroyCircle,this.bootstrapClass=this.bootstrapClass||"danger";break;case"info":this.title=this.title||this.i18n("Information"),this.typeIcon=this.typeIcon||r.a.infoCircle,this.bootstrapClass=this.bootstrapClass||"info";break;case"success":this.title=this.title||this.i18n("Success"),this.typeIcon=this.typeIcon||r.a.check,this.bootstrapClass=this.bootstrapClass||"success"}}}},"/X5v":function(t,e,n){!function(t){"use strict";t.defineLocale("x-pseudo",{months:"J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér".split("_"),monthsShort:"J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc".split("_"),monthsParseExact:!0,weekdays:"S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý".split("_"),weekdaysShort:"S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát".split("_"),weekdaysMin:"S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[T~ódá~ý át] LT",nextDay:"[T~ómó~rró~w át] LT",nextWeek:"dddd [át] LT",lastDay:"[Ý~ést~érdá~ý át] LT",lastWeek:"[L~ást] dddd [át] LT",sameElse:"L"},relativeTime:{future:"í~ñ %s",past:"%s á~gó",s:"á ~féw ~sécó~ñds",ss:"%d s~écóñ~ds",m:"á ~míñ~úté",mm:"%d m~íñú~tés",h:"á~ñ hó~úr",hh:"%d h~óúrs",d:"á ~dáý",dd:"%d d~áýs",M:"á ~móñ~th",MM:"%d m~óñt~hs",y:"á ~ýéár",yy:"%d ý~éárs"},dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})}(n("wd/R"))},"/b8u":function(t,e,n){var a=n("STAE");t.exports=a&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},"/byt":function(t,e){t.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},"/uUt":function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("7o/Q");function r(t,e){return n=>n.lift(new o(t,e))}class o{constructor(t,e){this.compare=t,this.keySelector=e}call(t,e){return e.subscribe(new i(t,this.compare,this.keySelector))}}class i extends a.a{constructor(t,e,n){super(t),this.keySelector=n,this.hasKey=!1,"function"==typeof e&&(this.compare=e)}compare(t,e){return t===e}_next(t){let e;try{const{keySelector:n}=this;e=n?n(t):t}catch(a){return this.destination.error(a)}let n=!1;if(this.hasKey)try{const{compare:t}=this;n=t(this.key,e)}catch(a){return this.destination.error(a)}else this.hasKey=!0;n||(this.key=e,this.destination.next(t))}}},0:function(t,e,n){t.exports=n("zUnb")},"0+/T":function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var a=n("s7LF"),r=n("QFaf");n("sb0X");class o{constructor(t){this.modalRef=t,this.actionDescription="delete"}ngOnInit(){if(this.deletionForm=new r.a({confirmation:new a.i(!1,[a.B.requiredTrue])}),!this.submitAction&&!this.submitActionObservable)throw new Error("No submit action defined")}callSubmitAction(){this.submitActionObservable?this.submitActionObservable().subscribe(null,this.stopLoadingSpinner.bind(this),this.hideModal.bind(this)):this.submitAction()}hideModal(){this.modalRef.hide()}stopLoadingSpinner(){this.deletionForm.setErrors({cdSubmitButton:!0})}}},"02Lk":function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var a=n("l7GE"),r=n("ZUHj");function o(t,e){return n=>n.lift(new i(t,e))}class i{constructor(t,e){this.keySelector=t,this.flushes=e}call(t,e){return e.subscribe(new s(t,this.keySelector,this.flushes))}}class s extends a.a{constructor(t,e,n){super(t),this.keySelector=e,this.values=new Set,n&&this.add(Object(r.a)(this,n))}notifyNext(t,e,n,a,r){this.values.clear()}notifyError(t,e){this._error(t)}_next(t){this.keySelector?this._useKeySelector(t):this._finalizeNext(t,t)}_useKeySelector(t){let e;const{destination:n}=this;try{e=this.keySelector(t)}catch(a){return void n.error(a)}this._finalizeNext(e,t)}_finalizeNext(t,e){const{values:n}=this;n.has(t)||(n.add(t),this.destination.next(e))}}},"03A+":function(t,e,n){var a=n("JTzB"),r=n("ExA7"),o=Object.prototype,i=o.hasOwnProperty,s=o.propertyIsEnumerable,c=a(function(){return arguments}())?a:function(t){return r(t)&&i.call(t,"callee")&&!s.call(t,"callee")};t.exports=c},"07d7":function(t,e,n){var a=n("AO7/"),r=n("busE"),o=n("sEFX");a||r(Object.prototype,"toString",o,{unsafe:!0})},"0BK2":function(t,e){t.exports={}},"0Cz8":function(t,e,n){var a=n("Xi7e"),r=n("ebwN"),o=n("e4Nc");t.exports=function(t,e){var n=this.__data__;if(n instanceof a){var i=n.__data__;if(!r||i.length<199)return i.push([t,e]),this.size=++n.size,this;n=this.__data__=new o(i)}return n.set(t,e),this.size=n.size,this}},"0Dky":function(t,e){t.exports=function(t){try{return!!t()}catch(e){return!0}}},"0EUg":function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("bHdf");function r(){return Object(a.a)(1)}},"0GbY":function(t,e,n){var a=n("Qo9l"),r=n("2oRo"),o=function(t){return"function"==typeof t?t:void 0};t.exports=function(t,e){return arguments.length<2?o(a[t])||o(r[t]):a[t]&&a[t][e]||r[t]&&r[t][e]}},"0MID":function(t,e,n){var a=n("mrSG").__decorate,r=n("mrSG").__metadata;Object.defineProperty(e,"__esModule",{value:!0});var o=n("8Y7J"),i=n("qwkt"),s=n("5tze");n("czA5"),e.DataTableHeaderCellComponent=function(){function t(t){this.cd=t,this.sort=new o.EventEmitter,this.select=new o.EventEmitter,this.columnContextmenu=new o.EventEmitter(!1),this.sortFn=this.onSort.bind(this),this.selectFn=this.select.emit.bind(this.select),this.cellContext={column:this.column,sortDir:this.sortDir,sortFn:this.sortFn,allRowsSelected:this.allRowsSelected,selectFn:this.selectFn}}return Object.defineProperty(t.prototype,"allRowsSelected",{get:function(){return this._allRowsSelected},set:function(t){this._allRowsSelected=t,this.cellContext.allRowsSelected=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"column",{get:function(){return this._column},set:function(t){this._column=t,this.cellContext.column=t,this.cd.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"sorts",{get:function(){return this._sorts},set:function(t){this._sorts=t,this.sortDir=this.calcSortDir(t),this.cellContext.sortDir=this.sortDir,this.sortClass=this.calcSortClass(this.sortDir),this.cd.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"columnCssClasses",{get:function(){var t="datatable-header-cell";if(this.column.sortable&&(t+=" sortable"),this.column.resizeable&&(t+=" resizeable"),this.column.headerClass)if("string"==typeof this.column.headerClass)t+=" "+this.column.headerClass;else if("function"==typeof this.column.headerClass){var e=this.column.headerClass({column:this.column});if("string"==typeof e)t+=e;else if("object"==typeof e)for(var n=0,a=Object.keys(e);n<a.length;n++){var r=a[n];!0===e[r]&&(t+=" "+r)}}var o=this.sortDir;return o&&(t+=" sort-active sort-"+o),t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"name",{get:function(){return void 0===this.column.headerTemplate?this.column.name:void 0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"minWidth",{get:function(){return this.column.minWidth},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"maxWidth",{get:function(){return this.column.maxWidth},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"width",{get:function(){return this.column.width},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isCheckboxable",{get:function(){return this.column.checkboxable&&this.column.headerCheckboxable&&this.selectionType===i.SelectionType.checkbox},enumerable:!0,configurable:!0}),t.prototype.onContextmenu=function(t){this.columnContextmenu.emit({event:t,column:this.column})},t.prototype.calcSortDir=function(t){var e=this;if(t&&this.column){var n=t.find((function(t){return t.prop===e.column.prop}));if(n)return n.dir}},t.prototype.onSort=function(){if(this.column.sortable){var t=s.nextSortDir(this.sortType,this.sortDir);this.sort.emit({column:this.column,prevValue:this.sortDir,newValue:t})}},t.prototype.calcSortClass=function(t){return t===i.SortDirection.asc?"sort-btn sort-asc "+this.sortAscendingIcon:t===i.SortDirection.desc?"sort-btn sort-desc "+this.sortDescendingIcon:"sort-btn"},a([o.Input(),r("design:type",String)],t.prototype,"sortType",void 0),a([o.Input(),r("design:type",String)],t.prototype,"sortAscendingIcon",void 0),a([o.Input(),r("design:type",String)],t.prototype,"sortDescendingIcon",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"isTarget",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"targetMarkerTemplate",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"targetMarkerContext",void 0),a([o.Input(),r("design:type",Object),r("design:paramtypes",[Object])],t.prototype,"allRowsSelected",null),a([o.Input(),r("design:type",String)],t.prototype,"selectionType",void 0),a([o.Input(),r("design:type",Object),r("design:paramtypes",[Object])],t.prototype,"column",null),a([o.HostBinding("style.height.px"),o.Input(),r("design:type",Number)],t.prototype,"headerHeight",void 0),a([o.Input(),r("design:type",Array),r("design:paramtypes",[Array])],t.prototype,"sorts",null),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"sort",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"select",void 0),a([o.Output(),r("design:type",Object)],t.prototype,"columnContextmenu",void 0),a([o.HostBinding("class"),r("design:type",Object),r("design:paramtypes",[])],t.prototype,"columnCssClasses",null),a([o.HostBinding("attr.title"),r("design:type",String),r("design:paramtypes",[])],t.prototype,"name",null),a([o.HostBinding("style.minWidth.px"),r("design:type",Number),r("design:paramtypes",[])],t.prototype,"minWidth",null),a([o.HostBinding("style.maxWidth.px"),r("design:type",Number),r("design:paramtypes",[])],t.prototype,"maxWidth",null),a([o.HostBinding("style.width.px"),r("design:type",Number),r("design:paramtypes",[])],t.prototype,"width",null),a([o.HostListener("contextmenu",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],t.prototype,"onContextmenu",null),a([o.Component({selector:"datatable-header-cell",template:'\n    <div class="datatable-header-cell-template-wrap">\n      <ng-template\n        *ngIf="isTarget"\n        [ngTemplateOutlet]="targetMarkerTemplate"\n        [ngTemplateOutletContext]="targetMarkerContext">\n      </ng-template>\n      <label\n        *ngIf="isCheckboxable"\n        class="datatable-checkbox">\n        <input\n          type="checkbox"\n          [checked]="allRowsSelected"\n          (change)="select.emit(!allRowsSelected)"\n        />\n      </label>\n      <span\n        *ngIf="!column.headerTemplate"\n        class="datatable-header-cell-wrapper">\n        <span\n          class="datatable-header-cell-label draggable"\n          (click)="onSort()"\n          [innerHTML]="name">\n        </span>\n      </span>\n      <ng-template\n        *ngIf="column.headerTemplate"\n        [ngTemplateOutlet]="column.headerTemplate"\n        [ngTemplateOutletContext]="cellContext">\n      </ng-template>\n      <span\n        (click)="onSort()"\n        [class]="sortClass">\n      </span>\n    </div>\n  ',host:{class:"datatable-header-cell"},changeDetection:o.ChangeDetectionStrategy.OnPush})],t)}()},"0eef":function(t,e,n){"use strict";var a={}.propertyIsEnumerable,r=Object.getOwnPropertyDescriptor,o=r&&!a.call({1:2},1);e.f=o?function(t){var e=r(this,t);return!!e&&e.enumerable}:a},"0mo+":function(t,e,n){!function(t){"use strict";var e={1:"༡",2:"༢",3:"༣",4:"༤",5:"༥",6:"༦",7:"༧",8:"༨",9:"༩",0:"༠"},n={"༡":"1","༢":"2","༣":"3","༤":"4","༥":"5","༦":"6","༧":"7","༨":"8","༩":"9","༠":"0"};t.defineLocale("bo",{months:"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_"),monthsShort:"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_"),weekdays:"གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་".split("_"),weekdaysShort:"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་".split("_"),weekdaysMin:"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[དི་རིང] LT",nextDay:"[སང་ཉིན] LT",nextWeek:"[བདུན་ཕྲག་རྗེས་མ], LT",lastDay:"[ཁ་སང] LT",lastWeek:"[བདུན་ཕྲག་མཐའ་མ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ལ་",past:"%s སྔན་ལ",s:"ལམ་སང",ss:"%d སྐར་ཆ།",m:"སྐར་མ་གཅིག",mm:"%d སྐར་མ",h:"ཆུ་ཚོད་གཅིག",hh:"%d ཆུ་ཚོད",d:"ཉིན་གཅིག",dd:"%d ཉིན་",M:"ཟླ་བ་གཅིག",MM:"%d ཟླ་བ",y:"ལོ་གཅིག",yy:"%d ལོ"},preparse:function(t){return t.replace(/[༡༢༣༤༥༦༧༨༩༠]/g,(function(t){return n[t]}))},postformat:function(t){return t.replace(/\d/g,(function(t){return e[t]}))},meridiemParse:/མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,meridiemHour:function(t,e){return 12===t&&(t=0),"མཚན་མོ"===e&&t>=4||"ཉིན་གུང"===e&&t<5||"དགོང་དག"===e?t+12:t},meridiem:function(t,e,n){return t<4?"མཚན་མོ":t<10?"ཞོགས་ཀས":t<17?"ཉིན་གུང":t<20?"དགོང་དག":"མཚན་མོ"},week:{dow:0,doy:6}})}(n("wd/R"))},"0rvr":function(t,e,n){var a=n("glrk"),r=n("O741");t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,n={};try{(t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(n,[]),e=n instanceof Array}catch(o){}return function(n,o){return a(n),r(o),e?t.call(n,o):n.__proto__=o,n}}():void 0)},"0tRk":function(t,e,n){!function(t){"use strict";t.defineLocale("pt-br",{months:"Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Do_2ª_3ª_4ª_5ª_6ª_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [às] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [às] HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"há %s",s:"poucos segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº"})}(n("wd/R"))},"0ycA":function(t,e){t.exports=function(){return[]}},"1+5i":function(t,e,n){var a=n("w/wX"),r=n("sEf8"),o=n("mdPL"),i=o&&o.isSet,s=i?r(i):a;t.exports=s},"128B":function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var a=n("Kqap"),r=n("BFxc"),o=n("xbPD"),i=n("mCNh");function s(t,e){return arguments.length>=2?function(n){return Object(i.a)(Object(a.a)(t,e),Object(r.a)(1),Object(o.a)(e))(n)}:function(e){return Object(i.a)(Object(a.a)((e,n,a)=>t(e,n,a+1)),Object(r.a)(1))(e)}}},"14R3":function(t,e){"undefined"!=typeof Element&&("function"!=typeof Element.prototype.matches&&(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.webkitMatchesSelector||function(t){for(var e=(this.document||this.ownerDocument).querySelectorAll(t),n=0;e[n]&&e[n]!==this;)++n;return Boolean(e[n])}),"function"!=typeof Element.prototype.closest&&(Element.prototype.closest=function(t){for(var e=this;e&&1===e.nodeType;){if(e.matches(t))return e;e=e.parentNode}return null}))},"14Sl":function(t,e,n){"use strict";n("rB9j");var a=n("busE"),r=n("0Dky"),o=n("tiKp"),i=n("kmMV"),s=n("kRJp"),c=o("species"),l=!r((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")})),d="$0"==="a".replace(/./,"$0"),u=o("replace"),g=!!/./[u]&&""===/./[u]("a","$0"),f=!r((function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n="ab".split(t);return 2!==n.length||"a"!==n[0]||"b"!==n[1]}));t.exports=function(t,e,n,u){var p=o(t),m=!r((function(){var e={};return e[p]=function(){return 7},7!=""[t](e)})),h=m&&!r((function(){var e=!1,n=/a/;return"split"===t&&((n={}).constructor={},n.constructor[c]=function(){return n},n.flags="",n[p]=/./[p]),n.exec=function(){return e=!0,null},n[p](""),!e}));if(!m||!h||"replace"===t&&(!l||!d||g)||"split"===t&&!f){var b=/./[p],y=n(p,""[t],(function(t,e,n,a,r){return e.exec===i?m&&!r?{done:!0,value:b.call(e,n,a)}:{done:!0,value:t.call(n,e,a)}:{done:!1}}),{REPLACE_KEEPS_$0:d,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:g}),_=y[1];a(String.prototype,t,y[0]),a(RegExp.prototype,p,2==e?function(t,e){return _.call(t,this,e)}:function(t){return _.call(t,this)})}u&&s(RegExp.prototype[p],"sham",!0)}},"1E5z":function(t,e,n){var a=n("m/L8").f,r=n("UTVS"),o=n("tiKp")("toStringTag");t.exports=function(t,e,n){t&&!r(t=n?t:t.prototype,o)&&a(t,o,{configurable:!0,value:e})}},"1HVU":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=n("rdkg"),r=n("CVuo"),o="undefined"!=typeof window?a.getVendorPrefixedName("transform"):void 0,i="undefined"!=typeof window?a.getVendorPrefixedName("backfaceVisibility"):void 0,s="undefined"!=typeof window?!!a.getVendorPrefixedName("transform"):void 0,c="undefined"!=typeof window?!!a.getVendorPrefixedName("perspective"):void 0,l="undefined"!=typeof window?window.navigator.userAgent:"Chrome",d=/Safari\//.test(l)&&!/Chrome\//.test(l);e.translateXY=function(t,e,n){void 0!==o&&s?!d&&c?(t[o]="translate3d("+e+"px, "+n+"px, 0)",t[i]="hidden"):t[r.camelCase(o)]="translate("+e+"px, "+n+"px)":(t.top=n+"px",t.left=e+"px")}},"1Ni5":function(t,e,n){"use strict";n.d(e,"b",(function(){return g})),n.d(e,"a",(function(){return f}));var a=n("s7LF"),r=n("LvDl"),o=n("LRne"),i=n("PqYM"),s=n("aGrj"),c=n("lJxs"),l=n("IzEk"),d=n("Fgil"),u=n("aXbf");function g(t){return null==t||0===t.length}class f{static email(t){return g(t.value)?null:a.B.email(t)}static ip(t=0){const e=/^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/i,n=/^(?:[a-f0-9]{1,4}:){7}[a-f0-9]{1,4}$/i;return a.B.pattern(4===t?e:6===t?n:new RegExp(e.source+"|"+n.source))}static number(t=!0){return a.B.pattern(t?/^-?[0-9]+$/i:/^[0-9]+$/i)}static decimalNumber(t=!0){return a.B.pattern(t?/^-?[0-9]+(.[0-9]+)?$/i:/^[0-9]+(.[0-9]+)?$/i)}static requiredIf(t,e){let n=!1;return a=>(!n&&a.parent&&(Object.keys(t).forEach(t=>{a.parent.get(t).valueChanges.subscribe(()=>{a.updateValueAndValidity({emitEvent:!1})})}),n=!0),Object.keys(t).every(e=>a.parent&&a.parent.get(e).value===t[e])&&(r.isFunction(e)?e.call(e,a.value):g(a.value))?{required:!0}:null)}static composeIf(t,e){let n=!1;return r=>(!n&&r.parent&&(Object.keys(t).forEach(t=>{r.parent.get(t).valueChanges.subscribe(()=>{r.updateValueAndValidity({emitEvent:!1})})}),n=!0),Object.keys(t).every(e=>r.parent&&r.parent.get(e).value===t[e])?a.B.compose(e)(r):null)}static custom(t,e){return n=>{const a=e.call(this,n.value);return a?{[t]:a}:null}}static validateIf(t,e,n,r=[],o=[]){n=n.concat(r),t.setValidators(t=>e.call(this)?a.B.compose(n)(t):r.length>0?a.B.compose(r)(t):null),o.forEach(e=>{e.valueChanges.subscribe(()=>{t.updateValueAndValidity({emitEvent:!1})})})}static match(t,e){return n=>{const a=n.get(t),o=n.get(e);if(!a||!o)return null;if(a.value!==o.value)o.setErrors({match:!0});else if(o.hasError("match")){const t=o.errors;r.unset(t,"match"),o.setErrors(r.isEmpty(r.keys(t))?null:t)}return null}}static unique(t,e=null,n=500){return a=>a.pristine||g(a.value)?Object(o.a)(null):Object(i.a)(n).pipe(Object(s.a)(t.call(e,a.value)),Object(c.a)(t=>t?{notUnique:!0}:null),Object(l.a)(1))}static uuid(t=!1){const e=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;return n=>n.pristine&&n.untouched?null:t||n.value?e.test(n.value)?null:{invalidUuid:"This is not a valid UUID"}:null}static binaryMin(t){return e=>{const n=new u.a,a=(new u.a).toBytes(e.value);if(t<=a)return null;const r=new d.a(n).transform(t);return{binaryMin:t=>t("Size has to be at least {{value}} or more",{value:r})}}}static binaryMax(t){return e=>{const n=new u.a,a=n.toBytes(e.value);if(t>=a)return null;const r=new d.a(n).transform(t);return{binaryMax:t=>t("Size has to be at most {{value}} or less",{value:r})}}}static passwordPolicy(t,e,n){return a=>{if(a.pristine||""===a.value)return r.isFunction(n)&&n(!0,0),Object(o.a)(null);let d;return r.isFunction(e)&&(d=e()),Object(i.a)(500).pipe(Object(s.a)(r.invoke(t,"validatePassword",a.value,d)),Object(c.a)(t=>(r.isFunction(n)&&n(t.valid,t.credits,t.valuation),t.valid?null:{passwordPolicy:!0})),Object(l.a)(1))}}}},"1Y/n":function(t,e,n){var a=n("HAuM"),r=n("ewvW"),o=n("RK3t"),i=n("UMSQ"),s=function(t){return function(e,n,s,c){a(n);var l=r(e),d=o(l),u=i(l.length),g=t?u-1:0,f=t?-1:1;if(s<2)for(;;){if(g in d){c=d[g],g+=f;break}if(g+=f,t?g<0:u<=g)throw TypeError("Reduce of empty array with no initial value")}for(;t?g>=0:u>g;g+=f)g in d&&(c=n(c,d[g],g,l));return c}};t.exports={left:s(!1),right:s(!0)}},"1hJj":function(t,e,n){var a=n("e4Nc"),r=n("ftKO"),o=n("3A9y");function i(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new a;++e<n;)this.add(t[e])}i.prototype.add=i.prototype.push=r,i.prototype.has=o,t.exports=i},"1nQr":function(t,e,n){"use strict";var a=n("LvDl"),r=n("lJxs"),o=n("20UP");class i{constructor(t){this.pwdPolicyEnabled=t.pwd_policy_enabled,this.pwdPolicyMinLength=t.pwd_policy_min_length,this.pwdPolicyCheckLengthEnabled=t.pwd_policy_check_length_enabled,this.pwdPolicyCheckOldpwdEnabled=t.pwd_policy_check_oldpwd_enabled,this.pwdPolicyCheckUsernameEnabled=t.pwd_policy_check_username_enabled,this.pwdPolicyCheckExclusionListEnabled=t.pwd_policy_check_exclusion_list_enabled,this.pwdPolicyCheckRepetitiveCharsEnabled=t.pwd_policy_check_repetitive_chars_enabled,this.pwdPolicyCheckSequentialCharsEnabled=t.pwd_policy_check_sequential_chars_enabled,this.pwdPolicyCheckComplexityEnabled=t.pwd_policy_check_complexity_enabled}}var s=n("8Y7J"),c=n("GiVz");n.d(e,"a",(function(){return l}));let l=(()=>{class t{constructor(t,e){this.i18n=t,this.settingsService=e}getHelpText(){return this.settingsService.getStandardSettings().pipe(Object(r.a)(t=>{const e=new i(t);let n=[];if(e.pwdPolicyEnabled){n.push(this.i18n("Required rules for passwords:"));const t={pwdPolicyCheckLengthEnabled:this.i18n("Must contain at least {{length}} characters",{length:e.pwdPolicyMinLength}),pwdPolicyCheckOldpwdEnabled:this.i18n("Must not be the same as the previous one"),pwdPolicyCheckUsernameEnabled:this.i18n("Cannot contain the username"),pwdPolicyCheckExclusionListEnabled:this.i18n("Cannot contain any configured keyword"),pwdPolicyCheckRepetitiveCharsEnabled:this.i18n('Cannot contain any repetitive characters e.g. "aaa"'),pwdPolicyCheckSequentialCharsEnabled:this.i18n('Cannot contain any sequential characters e.g. "abc"'),pwdPolicyCheckComplexityEnabled:this.i18n("Must consist of characters from the following groups:\n  * Alphabetic a-z, A-Z\n  * Numbers 0-9\n  * Special chars: !\"#$%& '()*+,-./:;<=>?@[\\]^_`{{|}}~\n  * Any other characters (signs)")};n=n.concat(a.keys(t).filter(t=>a.get(e,t)).map(e=>"- "+a.get(t,e)))}return n.join("\n")}))}mapCreditsToCssClass(t){let e="very-strong";return t<10?e="too-weak":t<15?e="weak":t<20?e="ok":t<25&&(e="strong"),e}}return t.ngInjectableDef=s["ɵɵdefineInjectable"]({factory:function(){return new t(s["ɵɵinject"](c.a),s["ɵɵinject"](o.a))},token:t,providedIn:"root"}),t})()},"1rYy":function(t,e,n){!function(t){"use strict";t.defineLocale("hy-am",{months:{format:"հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի".split("_"),standalone:"հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր".split("_")},monthsShort:"հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ".split("_"),weekdays:"կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ".split("_"),weekdaysShort:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),weekdaysMin:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY թ.",LLL:"D MMMM YYYY թ., HH:mm",LLLL:"dddd, D MMMM YYYY թ., HH:mm"},calendar:{sameDay:"[այսօր] LT",nextDay:"[վաղը] LT",lastDay:"[երեկ] LT",nextWeek:function(){return"dddd [օրը ժամը] LT"},lastWeek:function(){return"[անցած] dddd [օրը ժամը] LT"},sameElse:"L"},relativeTime:{future:"%s հետո",past:"%s առաջ",s:"մի քանի վայրկյան",ss:"%d վայրկյան",m:"րոպե",mm:"%d րոպե",h:"ժամ",hh:"%d ժամ",d:"օր",dd:"%d օր",M:"ամիս",MM:"%d ամիս",y:"տարի",yy:"%d տարի"},meridiemParse:/գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,isPM:function(t){return/^(ցերեկվա|երեկոյան)$/.test(t)},meridiem:function(t){return t<4?"գիշերվա":t<12?"առավոտվա":t<17?"ցերեկվա":"երեկոյան"},dayOfMonthOrdinalParse:/\d{1,2}|\d{1,2}-(ին|րդ)/,ordinal:function(t,e){switch(e){case"DDD":case"w":case"W":case"DDDo":return 1===t?t+"-ին":t+"-րդ";default:return t}},week:{dow:1,doy:7}})}(n("wd/R"))},"1uah":function(t,e,n){"use strict";n.d(e,"b",(function(){return l})),n.d(e,"a",(function(){return d}));var a=n("yCtX"),r=n("DH7j"),o=n("7o/Q"),i=n("l7GE"),s=n("ZUHj"),c=n("Lhse");function l(...t){const e=t[t.length-1];return"function"==typeof e&&t.pop(),Object(a.a)(t,void 0).lift(new d(e))}class d{constructor(t){this.resultSelector=t}call(t,e){return e.subscribe(new u(t,this.resultSelector))}}class u extends o.a{constructor(t,e,n=Object.create(null)){super(t),this.iterators=[],this.active=0,this.resultSelector="function"==typeof e?e:null,this.values=n}_next(t){const e=this.iterators;Object(r.a)(t)?e.push(new f(t)):e.push("function"==typeof t[c.a]?new g(t[c.a]()):new p(this.destination,this,t))}_complete(){const t=this.iterators,e=t.length;if(this.unsubscribe(),0!==e){this.active=e;for(let n=0;n<e;n++){let e=t[n];e.stillUnsubscribed?this.destination.add(e.subscribe(e,n)):this.active--}}else this.destination.complete()}notifyInactive(){this.active--,0===this.active&&this.destination.complete()}checkIterators(){const t=this.iterators,e=t.length,n=this.destination;for(let o=0;o<e;o++){let e=t[o];if("function"==typeof e.hasValue&&!e.hasValue())return}let a=!1;const r=[];for(let o=0;o<e;o++){let e=t[o],i=e.next();if(e.hasCompleted()&&(a=!0),i.done)return void n.complete();r.push(i.value)}this.resultSelector?this._tryresultSelector(r):n.next(r),a&&n.complete()}_tryresultSelector(t){let e;try{e=this.resultSelector.apply(this,t)}catch(n){return void this.destination.error(n)}this.destination.next(e)}}class g{constructor(t){this.iterator=t,this.nextResult=t.next()}hasValue(){return!0}next(){const t=this.nextResult;return this.nextResult=this.iterator.next(),t}hasCompleted(){const t=this.nextResult;return t&&t.done}}class f{constructor(t){this.array=t,this.index=0,this.length=0,this.length=t.length}[c.a](){return this}next(t){const e=this.index++;return e<this.length?{value:this.array[e],done:!1}:{value:null,done:!0}}hasValue(){return this.array.length>this.index}hasCompleted(){return this.array.length===this.index}}class p extends i.a{constructor(t,e,n){super(t),this.parent=e,this.observable=n,this.stillUnsubscribed=!0,this.buffer=[],this.isComplete=!1}[c.a](){return this}next(){const t=this.buffer;return 0===t.length&&this.isComplete?{value:null,done:!0}:{value:t.shift(),done:!1}}hasValue(){return this.buffer.length>0}hasCompleted(){return 0===this.buffer.length&&this.isComplete}notifyComplete(){this.buffer.length>0?(this.isComplete=!0,this.parent.notifyInactive()):this.destination.complete()}notifyNext(t,e,n,a,r){this.buffer.push(e),this.parent.checkIterators()}subscribe(t,e){return Object(s.a)(this,this.observable,this,e)}}},"1xZ4":function(t,e,n){!function(t){"use strict";t.defineLocale("ca",{months:{standalone:"gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),format:"de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre".split("_"),isFormat:/D[oD]?(\s)+MMMM/},monthsShort:"gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.".split("_"),monthsParseExact:!0,weekdays:"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dt._dc._dj._dv._ds.".split("_"),weekdaysMin:"dg_dl_dt_dc_dj_dv_ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [de] YYYY",ll:"D MMM YYYY",LLL:"D MMMM [de] YYYY [a les] H:mm",lll:"D MMM YYYY, H:mm",LLLL:"dddd D MMMM [de] YYYY [a les] H:mm",llll:"ddd D MMM YYYY, H:mm"},calendar:{sameDay:function(){return"[avui a "+(1!==this.hours()?"les":"la")+"] LT"},nextDay:function(){return"[demà a "+(1!==this.hours()?"les":"la")+"] LT"},nextWeek:function(){return"dddd [a "+(1!==this.hours()?"les":"la")+"] LT"},lastDay:function(){return"[ahir a "+(1!==this.hours()?"les":"la")+"] LT"},lastWeek:function(){return"[el] dddd [passat a "+(1!==this.hours()?"les":"la")+"] LT"},sameElse:"L"},relativeTime:{future:"d'aquí %s",past:"fa %s",s:"uns segons",ss:"%d segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},dayOfMonthOrdinalParse:/\d{1,2}(r|n|t|è|a)/,ordinal:function(t,e){var n=1===t?"r":2===t?"n":3===t?"r":4===t?"t":"è";return"w"!==e&&"W"!==e||(n="a"),t+n},week:{dow:1,doy:4}})}(n("wd/R"))},"20UP":function(t,e,n){"use strict";n.d(e,"a",(function(){return c}));var a=n("LvDl"),r=n("lJxs"),o=n("8Y7J"),i=n("IheW"),s=n("pL04");let c=(()=>{class t{constructor(t){this.http=t,this.settings={}}getValues(t){return a.isArray(t)&&(t=t.join(",")),this.http.get(`api/settings?names=${t}`).pipe(Object(r.a)(t=>{const e={};return a.forEach(t,t=>{a.set(e,t.name,t.value)}),e}))}ifSettingConfigured(t,e,n){const a=this.settings[t];void 0===a?this.http.get(t).subscribe(a=>{this.settings[t]=this.getSettingsValue(a),this.ifSettingConfigured(t,e,n)},e=>{401!==e.status&&(this.settings[t]="")}):""!==a?e(a):n&&n()}disableSetting(t){this.settings[t]=""}getSettingsValue(t){return t.value||t.instance||""}validateGrafanaDashboardUrl(t){return this.http.get(`api/grafana/validation/${t}`)}getStandardSettings(){return this.http.get("ui-api/standard_settings")}}return t.ngInjectableDef=o["ɵɵdefineInjectable"]({factory:function(){return new t(o["ɵɵinject"](i.c))},token:t,providedIn:s.a}),t})()},"25BL":function(t,e,n){"use strict";var a=n("8Y7J"),r=n("DqMs"),o=n("/NlG"),i=n("GiVz"),s=n("SVse"),c=n("FE24"),l=n("z/SZ"),d=n("s7LF"),u=n("fhFe"),g=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function f(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"li",[["class","pages"],["role","button"]],[[1,"aria-label",0],[2,"active",null]],null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,1,"a",[["href","javascript:void(0)"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.selectPage(t.context.$implicit.number)&&a),a}),null,null)),(t()(),a["ɵted"](2,null,[" "," "]))],null,(function(t,e){t(e,0,0,"page "+e.context.$implicit.number,e.context.$implicit.number===e.component.page),t(e,2,0,e.context.$implicit.text)}))}function p(t){return a["ɵvid"](2,[(t()(),a["ɵeld"](0,0,null,null,14,"ul",[["class","pager"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,2,"li",[],[[2,"disabled",null]],null,null,null,null)),(t()(),a["ɵeld"](2,0,null,null,1,"a",[["aria-label","go to first page"],["href","javascript:void(0)"],["role","button"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.selectPage(1)&&a),a}),null,null)),(t()(),a["ɵeld"](3,0,null,null,0,"i",[],[[8,"className",0]],null,null,null,null)),(t()(),a["ɵeld"](4,0,null,null,2,"li",[],[[2,"disabled",null]],null,null,null,null)),(t()(),a["ɵeld"](5,0,null,null,1,"a",[["aria-label","go to previous page"],["href","javascript:void(0)"],["role","button"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.prevPage()&&a),a}),null,null)),(t()(),a["ɵeld"](6,0,null,null,0,"i",[],[[8,"className",0]],null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,f)),a["ɵdid"](8,278528,null,0,s.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),a["ɵeld"](9,0,null,null,2,"li",[],[[2,"disabled",null]],null,null,null,null)),(t()(),a["ɵeld"](10,0,null,null,1,"a",[["aria-label","go to next page"],["href","javascript:void(0)"],["role","button"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.nextPage()&&a),a}),null,null)),(t()(),a["ɵeld"](11,0,null,null,0,"i",[],[[8,"className",0]],null,null,null,null)),(t()(),a["ɵeld"](12,0,null,null,2,"li",[],[[2,"disabled",null]],null,null,null,null)),(t()(),a["ɵeld"](13,0,null,null,1,"a",[["aria-label","go to last page"],["href","javascript:void(0)"],["role","button"]],null,[[null,"click"]],(function(t,e,n){var a=!0,r=t.component;return"click"===e&&(a=!1!==r.selectPage(r.totalPages)&&a),a}),null,null)),(t()(),a["ɵeld"](14,0,null,null,0,"i",[],[[8,"className",0]],null,null,null,null))],(function(t,e){t(e,8,0,e.component.pages)}),(function(t,e){var n=e.component;t(e,1,0,!n.canPrevious()),t(e,3,0,a["ɵinlineInterpolate"](1,"",n.pagerPreviousIcon,"")),t(e,4,0,!n.canPrevious()),t(e,6,0,a["ɵinlineInterpolate"](1,"",n.pagerLeftArrowIcon,"")),t(e,9,0,!n.canNext()),t(e,11,0,a["ɵinlineInterpolate"](1,"",n.pagerRightArrowIcon,"")),t(e,12,0,!n.canNext()),t(e,14,0,a["ɵinlineInterpolate"](1,"",n.pagerNextIcon,""))}))}var m=n("JxMD"),h=n("dgut"),b=n("Fgil"),y=n("iInd"),_=n("4DD9"),O=n("yT6U"),v=n("TJUb"),C=n("efK2"),P=n("0MID"),M=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function x(t){return a["ɵvid"](0,[(t()(),a["ɵand"](0,null,null,0))],null,null)}function w(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,1,null,x)),a["ɵdid"](1,540672,null,0,s.NgTemplateOutlet,[a.ViewContainerRef],{ngTemplateOutletContext:[0,"ngTemplateOutletContext"],ngTemplateOutlet:[1,"ngTemplateOutlet"]},null),(t()(),a["ɵand"](0,null,null,0))],(function(t,e){var n=e.component;t(e,1,0,n.targetMarkerContext,n.targetMarkerTemplate)}),null)}function T(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"label",[["class","datatable-checkbox"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,0,"input",[["type","checkbox"]],[[8,"checked",0]],[[null,"change"]],(function(t,e,n){var a=!0,r=t.component;return"change"===e&&(a=!1!==r.select.emit(!r.allRowsSelected)&&a),a}),null,null))],null,(function(t,e){t(e,1,0,e.component.allRowsSelected)}))}function S(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"span",[["class","datatable-header-cell-wrapper"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,0,"span",[["class","datatable-header-cell-label draggable"]],[[8,"innerHTML",1]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.onSort()&&a),a}),null,null))],null,(function(t,e){t(e,1,0,e.component.name)}))}function k(t){return a["ɵvid"](0,[(t()(),a["ɵand"](0,null,null,0))],null,null)}function I(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,1,null,k)),a["ɵdid"](1,540672,null,0,s.NgTemplateOutlet,[a.ViewContainerRef],{ngTemplateOutletContext:[0,"ngTemplateOutletContext"],ngTemplateOutlet:[1,"ngTemplateOutlet"]},null),(t()(),a["ɵand"](0,null,null,0))],(function(t,e){var n=e.component;t(e,1,0,n.cellContext,n.column.headerTemplate)}),null)}function N(t){return a["ɵvid"](2,[(t()(),a["ɵeld"](0,0,null,null,9,"div",[["class","datatable-header-cell-template-wrap"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,w)),a["ɵdid"](2,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,T)),a["ɵdid"](4,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,S)),a["ɵdid"](6,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,I)),a["ɵdid"](8,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵeld"](9,0,null,null,0,"span",[],[[8,"className",0]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.onSort()&&a),a}),null,null))],(function(t,e){var n=e.component;t(e,2,0,n.isTarget),t(e,4,0,n.isCheckboxable),t(e,6,0,!n.column.headerTemplate),t(e,8,0,n.column.headerTemplate)}),(function(t,e){t(e,9,0,e.component.sortClass)}))}var R=n("3MdB"),A=n("M9eX"),E=n("Cc8h"),D=n("ylLw"),L=n("tFKq"),q=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function j(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,4,"datatable-header-cell",[["class","datatable-header-cell"],["draggable",""],["long-press",""],["resizeable",""]],[[2,"resizeable",null],[2,"press",null],[2,"longpress",null],[4,"height","px"],[8,"className",0],[1,"title",0],[4,"minWidth","px"],[4,"maxWidth","px"],[4,"width","px"]],[[null,"resize"],[null,"longPressStart"],[null,"longPressEnd"],[null,"sort"],[null,"select"],[null,"columnContextmenu"],[null,"mousedown"],[null,"contextmenu"]],(function(t,e,n){var r=!0,o=t.component;return"mousedown"===e&&(r=!1!==a["ɵnov"](t,2).onMousedown(n)&&r),"mousedown"===e&&(r=!1!==a["ɵnov"](t,3).onMouseDown(n)&&r),"contextmenu"===e&&(r=!1!==a["ɵnov"](t,4).onContextmenu(n)&&r),"resize"===e&&(r=!1!==o.onColumnResized(n,t.context.$implicit)&&r),"longPressStart"===e&&(r=!1!==o.onLongPressStart(n)&&r),"longPressEnd"===e&&(r=!1!==o.onLongPressEnd(n)&&r),"sort"===e&&(r=!1!==o.onSort(n)&&r),"select"===e&&(r=!1!==o.select.emit(n)&&r),"columnContextmenu"===e&&(r=!1!==o.columnContextmenu.emit(n)&&r),r}),N,M)),a["ɵdid"](1,671744,[[1,4]],0,R.DraggableDirective,[a.ElementRef],{dragEventTarget:[0,"dragEventTarget"],dragModel:[1,"dragModel"],dragX:[2,"dragX"],dragY:[3,"dragY"]},null),a["ɵdid"](2,4341760,null,0,A.ResizeableDirective,[a.ElementRef,a.Renderer2],{resizeEnabled:[0,"resizeEnabled"]},{resize:"resize"}),a["ɵdid"](3,147456,null,0,E.LongPressDirective,[],{pressEnabled:[0,"pressEnabled"],pressModel:[1,"pressModel"]},{longPressStart:"longPressStart",longPressEnd:"longPressEnd"}),a["ɵdid"](4,49152,null,0,P.DataTableHeaderCellComponent,[a.ChangeDetectorRef],{sortType:[0,"sortType"],sortAscendingIcon:[1,"sortAscendingIcon"],sortDescendingIcon:[2,"sortDescendingIcon"],isTarget:[3,"isTarget"],targetMarkerTemplate:[4,"targetMarkerTemplate"],targetMarkerContext:[5,"targetMarkerContext"],allRowsSelected:[6,"allRowsSelected"],selectionType:[7,"selectionType"],column:[8,"column"],headerHeight:[9,"headerHeight"],sorts:[10,"sorts"]},{sort:"sort",select:"select",columnContextmenu:"columnContextmenu"})],(function(t,e){var n=e.component;t(e,1,0,n.dragEventTarget,e.context.$implicit,n.reorderable&&e.context.$implicit.draggable&&e.context.$implicit.dragging,!1),t(e,2,0,e.context.$implicit.resizeable),t(e,3,0,n.reorderable&&e.context.$implicit.draggable,e.context.$implicit),t(e,4,1,[n.sortType,n.sortAscendingIcon,n.sortDescendingIcon,e.context.$implicit.isTarget,n.targetMarkerTemplate,e.context.$implicit.targetMarkerContext,n.allRowsSelected,n.selectionType,e.context.$implicit,n.headerHeight,n.sorts])}),(function(t,e){t(e,0,0,a["ɵnov"](e,2).resizeEnabled,a["ɵnov"](e,3).press,a["ɵnov"](e,3).isLongPress,a["ɵnov"](e,4).headerHeight,a["ɵnov"](e,4).columnCssClasses,a["ɵnov"](e,4).name,a["ɵnov"](e,4).minWidth,a["ɵnov"](e,4).maxWidth,a["ɵnov"](e,4).width)}))}function F(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,4,"div",[],[[8,"className",0]],null,null,null,null)),a["ɵprd"](512,null,s["ɵNgStyleImpl"],s["ɵNgStyleR2Impl"],[a.ElementRef,a.KeyValueDiffers,a.Renderer2]),a["ɵdid"](2,278528,null,0,s.NgStyle,[s["ɵNgStyleImpl"]],{ngStyle:[0,"ngStyle"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,j)),a["ɵdid"](4,278528,null,0,s.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"],ngForTrackBy:[1,"ngForTrackBy"]},null)],(function(t,e){var n=e.component;t(e,2,0,n._styleByGroup[e.context.$implicit.type]),t(e,4,0,e.context.$implicit.columns,n.columnTrackingFn)}),(function(t,e){t(e,0,0,"datatable-row-"+e.context.$implicit.type)}))}function z(t){return a["ɵvid"](2,[(t()(),a["ɵeld"](0,0,null,null,4,"div",[["class","datatable-header-inner"],["orderable",""]],[[4,"width","px"]],[[null,"reorder"],[null,"targetChanged"]],(function(t,e,n){var a=!0,r=t.component;return"reorder"===e&&(a=!1!==r.onColumnReordered(n)&&a),"targetChanged"===e&&(a=!1!==r.onTargetChanged(n)&&a),a}),null,null)),a["ɵdid"](1,1196032,null,1,D.OrderableDirective,[a.KeyValueDiffers,s.DOCUMENT],null,{reorder:"reorder",targetChanged:"targetChanged"}),a["ɵqud"](603979776,1,{draggables:1}),(t()(),a["ɵand"](16777216,null,null,1,null,F)),a["ɵdid"](4,278528,null,0,s.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"],ngForTrackBy:[1,"ngForTrackBy"]},null)],(function(t,e){var n=e.component;t(e,4,0,n._columnsByPin,n.trackByGroups)}),(function(t,e){t(e,0,0,e.component._columnGroupWidths.total)}))}var G=n("Ahxa"),B=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function V(t){return a["ɵvid"](0,[(t()(),a["ɵand"](0,null,null,0))],null,null)}function Y(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,2,null,V)),a["ɵdid"](1,540672,null,0,s.NgTemplateOutlet,[a.ViewContainerRef],{ngTemplateOutletContext:[0,"ngTemplateOutletContext"],ngTemplateOutlet:[1,"ngTemplateOutlet"]},null),a["ɵpod"](2,{rowCount:0,pageSize:1,selectedCount:2,curPage:3,offset:4}),(t()(),a["ɵand"](0,null,null,0))],(function(t,e){var n=e.component,a=t(e,2,0,n.rowCount,n.pageSize,n.selectedCount,n.curPage,n.offset);t(e,1,0,a,n.footerTemplate.template)}),null)}function H(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),a["ɵted"](1,null,[" "," "," / "]))],null,(function(t,e){var n=e.component;t(e,1,0,null==n.selectedCount?null:n.selectedCount.toLocaleString(),n.selectedMessage)}))}function U(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"div",[["class","page-count"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,H)),a["ɵdid"](2,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵted"](3,null,[" "," "," "]))],(function(t,e){t(e,2,0,e.component.selectedMessage)}),(function(t,e){var n=e.component;t(e,3,0,null==n.rowCount?null:n.rowCount.toLocaleString(),n.totalMessage)}))}function W(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"datatable-pager",[["class","datatable-pager"]],[[8,"hidden",0]],[[null,"change"]],(function(t,e,n){var a=!0;return"change"===e&&(a=!1!==t.component.page.emit(n)&&a),a}),p,g)),a["ɵdid"](1,49152,null,0,u.DataTablePagerComponent,[],{pagerLeftArrowIcon:[0,"pagerLeftArrowIcon"],pagerRightArrowIcon:[1,"pagerRightArrowIcon"],pagerPreviousIcon:[2,"pagerPreviousIcon"],pagerNextIcon:[3,"pagerNextIcon"],size:[4,"size"],count:[5,"count"],page:[6,"page"]},{change:"change"})],(function(t,e){var n=e.component;t(e,1,0,n.pagerLeftArrowIcon,n.pagerRightArrowIcon,n.pagerPreviousIcon,n.pagerNextIcon,n.pageSize,n.rowCount,n.curPage)}),(function(t,e){t(e,0,0,!e.component.isVisible)}))}function K(t){return a["ɵvid"](2,[(t()(),a["ɵeld"](0,0,null,null,9,"div",[["class","datatable-footer-inner"]],[[4,"height","px"]],null,null,null,null)),a["ɵprd"](512,null,s["ɵNgClassImpl"],s["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](2,278528,null,0,s.NgClass,[s["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),a["ɵpod"](3,{"selected-count":0}),(t()(),a["ɵand"](16777216,null,null,1,null,Y)),a["ɵdid"](5,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,U)),a["ɵdid"](7,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,W)),a["ɵdid"](9,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component,a=t(e,3,0,n.selectedMessage);t(e,2,0,"datatable-footer-inner",a),t(e,5,0,n.footerTemplate),t(e,7,0,!n.footerTemplate),t(e,9,0,!n.footerTemplate)}),(function(t,e){t(e,0,0,e.component.footerHeight)}))}var $=n("uKs4"),Z=n("PNOi"),J=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function X(t){return a["ɵvid"](2,[(t()(),a["ɵeld"](0,0,null,null,2,"div",[["class","progress-linear"],["role","progressbar"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,1,"div",[["class","container"]],null,null,null,null,null)),(t()(),a["ɵeld"](2,0,null,null,0,"div",[["class","bar"]],null,null,null,null,null))],null,null)}var Q=n("YVFZ"),tt=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function et(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"label",[["class","datatable-checkbox"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,0,"input",[["type","checkbox"]],[[8,"checked",0]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.onCheckboxChange(n)&&a),a}),null,null))],null,(function(t,e){t(e,1,0,e.component.isSelected)}))}function nt(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,0,"i",[["class","icon datatable-icon-collapse"]],null,null,null,null,null))],null,null)}function at(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,0,"i",[["class","icon datatable-icon-up"]],null,null,null,null,null))],null,null)}function rt(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,0,"i",[["class","icon datatable-icon-down"]],null,null,null,null,null))],null,null)}function ot(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,7,"button",[["class","datatable-tree-button"]],[[8,"disabled",0]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.onTreeAction()&&a),a}),null,null)),(t()(),a["ɵeld"](1,0,null,null,6,"span",[],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,nt)),a["ɵdid"](3,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,at)),a["ɵdid"](5,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,rt)),a["ɵdid"](7,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,3,0,"loading"===n.treeStatus),t(e,5,0,"collapsed"===n.treeStatus),t(e,7,0,"expanded"===n.treeStatus||"disabled"===n.treeStatus)}),(function(t,e){t(e,0,0,"disabled"===e.component.treeStatus)}))}function it(t){return a["ɵvid"](0,[(t()(),a["ɵand"](0,null,null,0))],null,null)}function st(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,2,null,it)),a["ɵdid"](1,540672,null,0,s.NgTemplateOutlet,[a.ViewContainerRef],{ngTemplateOutletContext:[0,"ngTemplateOutletContext"],ngTemplateOutlet:[1,"ngTemplateOutlet"]},null),a["ɵpod"](2,{cellContext:0}),(t()(),a["ɵand"](0,null,null,0))],(function(t,e){var n=e.component,a=t(e,2,0,n.cellContext);t(e,1,0,a,n.column.treeToggleTemplate)}),null)}function ct(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,4,null,null,null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,ot)),a["ɵdid"](2,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,st)),a["ɵdid"](4,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](0,null,null,0))],(function(t,e){var n=e.component;t(e,2,0,!n.column.treeToggleTemplate),t(e,4,0,n.column.treeToggleTemplate)}),null)}function lt(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,0,"span",[],[[8,"title",0],[8,"innerHTML",1]],null,null,null,null))],null,(function(t,e){var n=e.component;t(e,0,0,n.sanitizedValue,n.value)}))}function dt(t){return a["ɵvid"](0,[(t()(),a["ɵand"](0,null,null,0))],null,null)}function ut(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,[[1,3],["cellTemplate",2]],null,1,null,dt)),a["ɵdid"](1,540672,null,0,s.NgTemplateOutlet,[a.ViewContainerRef],{ngTemplateOutletContext:[0,"ngTemplateOutletContext"],ngTemplateOutlet:[1,"ngTemplateOutlet"]},null),(t()(),a["ɵand"](0,null,null,0))],(function(t,e){var n=e.component;t(e,1,0,n.cellContext,n.column.cellTemplate)}),null)}function gt(t){return a["ɵvid"](2,[a["ɵqud"](402653184,1,{cellTemplate:0}),(t()(),a["ɵeld"](1,0,null,null,8,"div",[["class","datatable-body-cell-label"]],[[4,"margin-left","px"]],null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,et)),a["ɵdid"](3,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,ct)),a["ɵdid"](5,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,lt)),a["ɵdid"](7,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,ut)),a["ɵdid"](9,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,3,0,n.column.checkboxable&&(!n.displayCheck||n.displayCheck(n.row,n.column,n.value))),t(e,5,0,n.column.isTreeColumn),t(e,7,0,!n.column.cellTemplate),t(e,9,0,n.column.cellTemplate)}),(function(t,e){var n=e.component;t(e,1,0,n.calcLeftMargin(n.column,n.row))}))}var ft=n("syrc"),pt=n("FO+L"),mt=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function ht(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"datatable-body-cell",[["tabindex","-1"]],[[8,"className",0],[4,"width","px"],[4,"minWidth","px"],[4,"maxWidth","px"],[4,"height",null]],[[null,"activate"],[null,"treeAction"],[null,"focus"],[null,"blur"],[null,"click"],[null,"dblclick"],[null,"keydown"]],(function(t,e,n){var r=!0,o=t.component;return"focus"===e&&(r=!1!==a["ɵnov"](t,1).onFocus()&&r),"blur"===e&&(r=!1!==a["ɵnov"](t,1).onBlur()&&r),"click"===e&&(r=!1!==a["ɵnov"](t,1).onClick(n)&&r),"dblclick"===e&&(r=!1!==a["ɵnov"](t,1).onDblClick(n)&&r),"keydown"===e&&(r=!1!==a["ɵnov"](t,1).onKeyDown(n)&&r),"activate"===e&&(r=!1!==o.onActivate(n,t.context.index)&&r),"treeAction"===e&&(r=!1!==o.onTreeAction()&&r),r}),gt,tt)),a["ɵdid"](1,442368,null,0,Q.DataTableBodyCellComponent,[a.ElementRef,a.ChangeDetectorRef],{displayCheck:[0,"displayCheck"],group:[1,"group"],rowHeight:[2,"rowHeight"],isSelected:[3,"isSelected"],expanded:[4,"expanded"],rowIndex:[5,"rowIndex"],column:[6,"column"],row:[7,"row"],treeStatus:[8,"treeStatus"]},{activate:"activate",treeAction:"treeAction"})],(function(t,e){var n=e.component;t(e,1,0,n.displayCheck,n.group,n.rowHeight,n.isSelected,n.expanded,n.rowIndex,e.context.$implicit,n.row,n.treeStatus)}),(function(t,e){t(e,0,0,a["ɵnov"](e,1).columnCssClasses,a["ɵnov"](e,1).width,a["ɵnov"](e,1).minWidth,a["ɵnov"](e,1).maxWidth,a["ɵnov"](e,1).height)}))}function bt(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,4,"div",[],[[8,"className",0]],null,null,null,null)),a["ɵprd"](512,null,s["ɵNgStyleImpl"],s["ɵNgStyleR2Impl"],[a.ElementRef,a.KeyValueDiffers,a.Renderer2]),a["ɵdid"](2,278528,null,0,s.NgStyle,[s["ɵNgStyleImpl"]],{ngStyle:[0,"ngStyle"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,ht)),a["ɵdid"](4,278528,null,0,s.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"],ngForTrackBy:[1,"ngForTrackBy"]},null)],(function(t,e){var n=e.component;t(e,2,0,n._groupStyles[e.context.$implicit.type]),t(e,4,0,e.context.$implicit.columns,n.columnTrackingFn)}),(function(t,e){t(e,0,0,a["ɵinlineInterpolate"](1,"datatable-row-",e.context.$implicit.type," datatable-row-group"))}))}function yt(t){return a["ɵvid"](2,[(t()(),a["ɵand"](16777216,null,null,1,null,bt)),a["ɵdid"](1,278528,null,0,s.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"],ngForTrackBy:[1,"ngForTrackBy"]},null)],(function(t,e){var n=e.component;t(e,1,0,n._columnsByPin,n.trackByGroups)}),null)}var _t=n("rLYq"),Ot=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function vt(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"datatable-body-row",[["tabindex","-1"]],[[8,"className",0],[4,"height","px"],[4,"width","px"]],[[null,"keydown"],[null,"mouseenter"]],(function(t,e,n){var r=!0;return"keydown"===e&&(r=!1!==a["ɵnov"](t,1).onKeyDown(n)&&r),"mouseenter"===e&&(r=!1!==a["ɵnov"](t,1).onMouseenter(n)&&r),r}),yt,mt)),a["ɵdid"](1,311296,null,0,ft.DataTableBodyRowComponent,[a.KeyValueDiffers,[1,pt.ScrollbarHelper],a.ChangeDetectorRef,a.ElementRef],{columns:[0,"columns"],innerWidth:[1,"innerWidth"],row:[2,"row"],rowIndex:[3,"rowIndex"],offsetX:[4,"offsetX"],rowHeight:[5,"rowHeight"]},null)],(function(t,e){var n=e.component;t(e,1,0,n._internalColumns,n.innerWidth,n.summaryRow,-1,n.offsetX,n.rowHeight)}),(function(t,e){t(e,0,0,a["ɵnov"](e,1).cssClass,a["ɵnov"](e,1).rowHeight,a["ɵnov"](e,1).columnsTotalWidths)}))}function Ct(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,1,null,vt)),a["ɵdid"](1,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0,n.summaryRow&&n._internalColumns)}),null)}var Pt=n("Mfce"),Mt=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function xt(t){return a["ɵvid"](0,[(t()(),a["ɵand"](0,null,null,0))],null,null)}function wt(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,1,null,xt)),a["ɵdid"](1,540672,null,0,s.NgTemplateOutlet,[a.ViewContainerRef],{ngTemplateOutletContext:[0,"ngTemplateOutletContext"],ngTemplateOutlet:[1,"ngTemplateOutlet"]},null),(t()(),a["ɵand"](0,null,null,0))],(function(t,e){var n=e.component;t(e,1,0,n.groupContext,n.groupHeader.template)}),null)}function Tt(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,4,"div",[["class","datatable-group-header"]],null,null,null,null,null)),a["ɵprd"](512,null,s["ɵNgStyleImpl"],s["ɵNgStyleR2Impl"],[a.ElementRef,a.KeyValueDiffers,a.Renderer2]),a["ɵdid"](2,278528,null,0,s.NgStyle,[s["ɵNgStyleImpl"]],{ngStyle:[0,"ngStyle"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,wt)),a["ɵdid"](4,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,2,0,n.getGroupHeaderStyle()),t(e,4,0,n.groupHeader&&n.groupHeader.template)}),null)}function St(t){return a["ɵvid"](0,[a["ɵncd"](null,0),(t()(),a["ɵand"](0,null,null,0))],null,null)}function kt(t){return a["ɵvid"](0,[(t()(),a["ɵand"](0,null,null,0))],null,null)}function It(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,1,null,kt)),a["ɵdid"](1,540672,null,0,s.NgTemplateOutlet,[a.ViewContainerRef],{ngTemplateOutletContext:[0,"ngTemplateOutletContext"],ngTemplateOutlet:[1,"ngTemplateOutlet"]},null),(t()(),a["ɵand"](0,null,null,0))],(function(t,e){var n=e.component;t(e,1,0,n.rowContext,n.rowDetail.template)}),null)}function Nt(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"div",[["class","datatable-row-detail"]],[[4,"height","px"]],null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,It)),a["ɵdid"](2,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,2,0,n.rowDetail&&n.rowDetail.template)}),(function(t,e){t(e,0,0,e.component.detailRowHeight)}))}function Rt(t){return a["ɵvid"](2,[(t()(),a["ɵand"](16777216,null,null,1,null,Tt)),a["ɵdid"](1,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,St)),a["ɵdid"](3,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,Nt)),a["ɵdid"](5,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0,n.groupHeader&&n.groupHeader.template),t(e,3,0,n.groupHeader&&n.groupHeader.template&&n.expanded||!n.groupHeader||!n.groupHeader.template),t(e,5,0,n.rowDetail&&n.rowDetail.template&&n.expanded)}),null)}var At=n("SfHT"),Et=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function Dt(t){return a["ɵvid"](2,[a["ɵncd"](null,0)],null,null)}var Lt=n("7F1K"),qt=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function jt(t){return a["ɵvid"](2,[a["ɵncd"](null,0)],null,null)}var Ft=n("IPm6"),zt=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function Gt(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"datatable-progress",[],null,null,null,X,J)),a["ɵdid"](1,49152,null,0,Z.ProgressBarComponent,[],null,null)],null,null)}function Bt(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"datatable-summary-row",[["class","datatable-summary-row"]],null,null,null,Ct,Ot)),a["ɵdid"](1,573440,null,0,_t.DataTableSummaryRowComponent,[],{rows:[0,"rows"],columns:[1,"columns"],rowHeight:[2,"rowHeight"],offsetX:[3,"offsetX"],innerWidth:[4,"innerWidth"]},null)],(function(t,e){var n=e.component;t(e,1,0,n.rows,n.columns,n.summaryHeight,n.offsetX,n.innerWidth)}),null)}function Vt(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"datatable-body-row",[["tabindex","-1"]],[[8,"className",0],[4,"height","px"],[4,"width","px"]],[[null,"treeAction"],[null,"activate"],[null,"keydown"],[null,"mouseenter"]],(function(t,e,n){var r=!0,o=t.component;return"keydown"===e&&(r=!1!==a["ɵnov"](t,1).onKeyDown(n)&&r),"mouseenter"===e&&(r=!1!==a["ɵnov"](t,1).onMouseenter(n)&&r),"treeAction"===e&&(r=!1!==o.onTreeAction(t.parent.context.$implicit)&&r),"activate"===e&&(r=!1!==a["ɵnov"](t.parent.parent.parent,2).onActivate(n,o.indexes.first+t.parent.context.index)&&r),r}),yt,mt)),a["ɵdid"](1,311296,null,0,ft.DataTableBodyRowComponent,[a.KeyValueDiffers,[1,pt.ScrollbarHelper],a.ChangeDetectorRef,a.ElementRef],{columns:[0,"columns"],innerWidth:[1,"innerWidth"],expanded:[2,"expanded"],rowClass:[3,"rowClass"],row:[4,"row"],isSelected:[5,"isSelected"],rowIndex:[6,"rowIndex"],displayCheck:[7,"displayCheck"],treeStatus:[8,"treeStatus"],offsetX:[9,"offsetX"],rowHeight:[10,"rowHeight"]},{activate:"activate",treeAction:"treeAction"})],(function(t,e){var n=e.component;t(e,1,1,[n.columns,n.innerWidth,n.getRowExpanded(e.parent.context.$implicit),n.rowClass,e.parent.context.$implicit,a["ɵnov"](e.parent.parent.parent,2).getRowSelected(e.parent.context.$implicit),n.getRowIndex(e.parent.context.$implicit),n.displayCheck,e.parent.context.$implicit.treeStatus,n.offsetX,n.getRowHeight(e.parent.context.$implicit)])}),(function(t,e){t(e,0,0,a["ɵnov"](e,1).cssClass,a["ɵnov"](e,1).rowHeight,a["ɵnov"](e,1).columnsTotalWidths)}))}function Yt(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"datatable-body-row",[["tabindex","-1"]],[[8,"className",0],[4,"height","px"],[4,"width","px"]],[[null,"activate"],[null,"keydown"],[null,"mouseenter"]],(function(t,e,n){var r=!0;return"keydown"===e&&(r=!1!==a["ɵnov"](t,1).onKeyDown(n)&&r),"mouseenter"===e&&(r=!1!==a["ɵnov"](t,1).onMouseenter(n)&&r),"activate"===e&&(r=!1!==a["ɵnov"](t.parent.parent.parent.parent,2).onActivate(n,t.context.index)&&r),r}),yt,mt)),a["ɵdid"](1,311296,null,0,ft.DataTableBodyRowComponent,[a.KeyValueDiffers,[1,pt.ScrollbarHelper],a.ChangeDetectorRef,a.ElementRef],{columns:[0,"columns"],innerWidth:[1,"innerWidth"],expanded:[2,"expanded"],rowClass:[3,"rowClass"],row:[4,"row"],group:[5,"group"],isSelected:[6,"isSelected"],rowIndex:[7,"rowIndex"],offsetX:[8,"offsetX"],rowHeight:[9,"rowHeight"]},{activate:"activate"})],(function(t,e){var n=e.component;t(e,1,0,n.columns,n.innerWidth,n.getRowExpanded(e.context.$implicit),n.rowClass,e.context.$implicit,e.parent.parent.context.$implicit.value,a["ɵnov"](e.parent.parent.parent.parent,2).getRowSelected(e.context.$implicit),n.getRowIndex(e.context.$implicit),n.offsetX,n.getRowHeight(e.context.$implicit))}),(function(t,e){t(e,0,0,a["ɵnov"](e,1).cssClass,a["ɵnov"](e,1).rowHeight,a["ɵnov"](e,1).columnsTotalWidths)}))}function Ht(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,1,null,Yt)),a["ɵdid"](1,278528,null,0,s.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"],ngForTrackBy:[1,"ngForTrackBy"]},null),(t()(),a["ɵand"](0,null,null,0))],(function(t,e){t(e,1,0,e.parent.context.$implicit.value,e.component.rowTrackingFn)}),null)}function Ut(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,6,"datatable-row-wrapper",[["class","datatable-row-wrapper"]],null,[[null,"rowContextmenu"],[null,"contextmenu"]],(function(t,e,n){var r=!0,o=t.component;return"contextmenu"===e&&(r=!1!==a["ɵnov"](t,3).onContextmenu(n)&&r),"rowContextmenu"===e&&(r=!1!==o.rowContextmenu.emit(n)&&r),r}),Rt,Mt)),a["ɵprd"](512,null,s["ɵNgStyleImpl"],s["ɵNgStyleR2Impl"],[a.ElementRef,a.KeyValueDiffers,a.Renderer2]),a["ɵdid"](2,278528,null,0,s.NgStyle,[s["ɵNgStyleImpl"]],{ngStyle:[0,"ngStyle"]},null),a["ɵdid"](3,311296,null,0,Pt.DataTableRowWrapperComponent,[a.ChangeDetectorRef,a.KeyValueDiffers],{innerWidth:[0,"innerWidth"],rowDetail:[1,"rowDetail"],groupHeader:[2,"groupHeader"],offsetX:[3,"offsetX"],detailRowHeight:[4,"detailRowHeight"],row:[5,"row"],groupedRows:[6,"groupedRows"],rowIndex:[7,"rowIndex"],expanded:[8,"expanded"]},{rowContextmenu:"rowContextmenu"}),(t()(),a["ɵand"](16777216,null,0,1,null,Vt)),a["ɵdid"](5,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"],ngIfElse:[1,"ngIfElse"]},null),(t()(),a["ɵand"](0,[["groupedRowsTemplate",2]],0,0,null,Ht))],(function(t,e){var n=e.component;t(e,2,0,n.getRowsStyles(e.context.$implicit)),t(e,3,0,n.innerWidth,n.rowDetail,n.groupHeader,n.offsetX,n.getDetailRowHeight(e.context.$implicit[e.context.index],e.context.index),e.context.$implicit,n.groupedRows,n.getRowIndex(e.context.$implicit[e.context.index]),n.getRowExpanded(e.context.$implicit)),t(e,5,0,!n.groupedRows,a["ɵnov"](e,6))}),null)}function Wt(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"datatable-summary-row",[["class","datatable-summary-row"]],null,null,null,Ct,Ot)),a["ɵprd"](512,null,s["ɵNgStyleImpl"],s["ɵNgStyleR2Impl"],[a.ElementRef,a.KeyValueDiffers,a.Renderer2]),a["ɵdid"](2,278528,null,0,s.NgStyle,[s["ɵNgStyleImpl"]],{ngStyle:[0,"ngStyle"]},null),a["ɵdid"](3,573440,null,0,_t.DataTableSummaryRowComponent,[],{rows:[0,"rows"],columns:[1,"columns"],rowHeight:[2,"rowHeight"],offsetX:[3,"offsetX"],innerWidth:[4,"innerWidth"]},null)],(function(t,e){var n=e.component;t(e,2,0,n.getBottomSummaryRowStyles()),t(e,3,0,n.rows,n.columns,n.summaryHeight,n.offsetX,n.innerWidth)}),null)}function Kt(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,7,"datatable-scroller",[["class","datatable-scroll"]],[[4,"height","px"],[4,"width","px"]],[[null,"scroll"]],(function(t,e,n){var a=!0;return"scroll"===e&&(a=!1!==t.component.onBodyScroll(n)&&a),a}),Dt,Et)),a["ɵdid"](1,245760,[[1,4]],0,At.ScrollerComponent,[a.NgZone,a.ElementRef,a.Renderer2],{scrollbarV:[0,"scrollbarV"],scrollbarH:[1,"scrollbarH"],scrollHeight:[2,"scrollHeight"],scrollWidth:[3,"scrollWidth"]},{scroll:"scroll"}),(t()(),a["ɵand"](16777216,null,0,1,null,Bt)),a["ɵdid"](3,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,0,1,null,Ut)),a["ɵdid"](5,278528,null,0,s.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"],ngForTrackBy:[1,"ngForTrackBy"]},null),(t()(),a["ɵand"](16777216,null,0,1,null,Wt)),a["ɵdid"](7,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0,n.scrollbarV,n.scrollbarH,n.scrollHeight,null==n.columnGroupWidths?null:n.columnGroupWidths.total),t(e,3,0,n.summaryRow&&"top"===n.summaryPosition),t(e,5,0,n.temp,n.rowTrackingFn),t(e,7,0,n.summaryRow&&"bottom"===n.summaryPosition)}),(function(t,e){t(e,0,0,a["ɵnov"](e,1).scrollHeight,a["ɵnov"](e,1).scrollWidth)}))}function $t(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,0,"div",[["class","empty-row"]],[[8,"innerHTML",1]],null,null,null,null))],null,(function(t,e){t(e,0,0,e.component.emptyMessage)}))}function Zt(t){return a["ɵvid"](2,[a["ɵqud"](671088640,1,{scroller:0}),(t()(),a["ɵeld"](1,0,null,null,7,"datatable-selection",[],null,[[null,"select"],[null,"activate"]],(function(t,e,n){var a=!0,r=t.component;return"select"===e&&(a=!1!==r.select.emit(n)&&a),"activate"===e&&(a=!1!==r.activate.emit(n)&&a),a}),jt,qt)),a["ɵdid"](2,49152,[["selector",4]],0,Lt.DataTableSelectionComponent,[],{rows:[0,"rows"],selected:[1,"selected"],selectEnabled:[2,"selectEnabled"],selectionType:[3,"selectionType"],rowIdentity:[4,"rowIdentity"],selectCheck:[5,"selectCheck"]},{activate:"activate",select:"select"}),(t()(),a["ɵand"](16777216,null,0,1,null,Gt)),a["ɵdid"](4,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,0,1,null,Kt)),a["ɵdid"](6,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,0,1,null,$t)),a["ɵdid"](8,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,2,0,n.rows,n.selected,n.selectEnabled,n.selectionType,n.rowIdentity,n.selectCheck),t(e,4,0,n.loadingIndicator),t(e,6,0,null==n.rows?null:n.rows.length),t(e,8,0,!(null!=n.rows&&n.rows.length||n.loadingIndicator))}),null)}var Jt=n("3/HP"),Xt=n("nhM1"),Qt=n("BARL"),te=a["ɵcrt"]({encapsulation:2,styles:[[".ngx-datatable{display:block;overflow:hidden;justify-content:center;position:relative;-webkit-transform:translate3d(0,0,0)}.ngx-datatable [hidden]{display:none!important}.ngx-datatable *,.ngx-datatable :after,.ngx-datatable :before{box-sizing:border-box}.ngx-datatable.scroll-vertical .datatable-body{overflow-y:auto}.ngx-datatable.scroll-vertical.virtualized .datatable-body .datatable-row-wrapper{position:absolute}.ngx-datatable.scroll-horz .datatable-body{overflow-x:auto;-webkit-overflow-scrolling:touch}.ngx-datatable.fixed-header .datatable-header .datatable-header-inner{white-space:nowrap}.ngx-datatable.fixed-header .datatable-header .datatable-header-inner .datatable-header-cell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ngx-datatable.fixed-row .datatable-scroll,.ngx-datatable.fixed-row .datatable-scroll .datatable-body-row{white-space:nowrap}.ngx-datatable.fixed-row .datatable-scroll .datatable-body-row .datatable-body-cell,.ngx-datatable.fixed-row .datatable-scroll .datatable-body-row .datatable-body-group-cell{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ngx-datatable .datatable-body-row,.ngx-datatable .datatable-header-inner,.ngx-datatable .datatable-row-center{display:flex;flex-direction:row;-o-flex-flow:row;flex-flow:row}.ngx-datatable .datatable-body-cell,.ngx-datatable .datatable-header-cell{overflow-x:hidden;vertical-align:top;display:inline-block;line-height:1.625}.ngx-datatable .datatable-body-cell:focus,.ngx-datatable .datatable-header-cell:focus{outline:0}.ngx-datatable .datatable-row-left,.ngx-datatable .datatable-row-right{z-index:9}.ngx-datatable .datatable-row-center,.ngx-datatable .datatable-row-group,.ngx-datatable .datatable-row-left,.ngx-datatable .datatable-row-right{position:relative}.ngx-datatable .datatable-header{display:block;overflow:hidden}.ngx-datatable .datatable-header .datatable-header-inner{align-items:stretch;-webkit-align-items:stretch}.ngx-datatable .datatable-header .datatable-header-cell{position:relative;display:inline-block}.ngx-datatable .datatable-header .datatable-header-cell.sortable .datatable-header-cell-wrapper{cursor:pointer}.ngx-datatable .datatable-header .datatable-header-cell.longpress .datatable-header-cell-wrapper{cursor:move}.ngx-datatable .datatable-header .datatable-header-cell .sort-btn{line-height:100%;vertical-align:middle;display:inline-block;cursor:pointer}.ngx-datatable .datatable-header .datatable-header-cell .resize-handle,.ngx-datatable .datatable-header .datatable-header-cell .resize-handle--not-resizable{display:inline-block;position:absolute;right:0;top:0;bottom:0;width:5px;padding:0 4px;visibility:hidden}.ngx-datatable .datatable-header .datatable-header-cell .resize-handle{cursor:ew-resize}.ngx-datatable .datatable-header .datatable-header-cell.resizeable:hover .resize-handle,.ngx-datatable .datatable-header .datatable-header-cell:hover .resize-handle--not-resizable{visibility:visible}.ngx-datatable .datatable-header .datatable-header-cell .targetMarker{position:absolute;top:0;bottom:0}.ngx-datatable .datatable-header .datatable-header-cell .targetMarker.dragFromLeft{right:0}.ngx-datatable .datatable-header .datatable-header-cell .targetMarker.dragFromRight{left:0}.ngx-datatable .datatable-header .datatable-header-cell .datatable-header-cell-template-wrap{height:inherit}.ngx-datatable .datatable-body{position:relative;z-index:10;display:block}.ngx-datatable .datatable-body .datatable-scroll{display:inline-block}.ngx-datatable .datatable-body .datatable-row-detail{overflow-y:hidden}.ngx-datatable .datatable-body .datatable-row-wrapper{display:flex;flex-direction:column}.ngx-datatable .datatable-body .datatable-body-row{outline:0}.ngx-datatable .datatable-body .datatable-body-row>div{display:flex}.ngx-datatable .datatable-footer{display:block;width:100%}.ngx-datatable .datatable-footer .datatable-footer-inner{display:flex;align-items:center;width:100%}.ngx-datatable .datatable-footer .selected-count .page-count{flex:1 1 40%}.ngx-datatable .datatable-footer .selected-count .datatable-pager{flex:1 1 60%}.ngx-datatable .datatable-footer .page-count{flex:1 1 20%}.ngx-datatable .datatable-footer .datatable-pager{flex:1 1 80%;text-align:right}.ngx-datatable .datatable-footer .datatable-pager .pager,.ngx-datatable .datatable-footer .datatable-pager .pager li{padding:0;margin:0;display:inline-block;list-style:none}.ngx-datatable .datatable-footer .datatable-pager .pager li,.ngx-datatable .datatable-footer .datatable-pager .pager li a{outline:0}.ngx-datatable .datatable-footer .datatable-pager .pager li a{cursor:pointer;display:inline-block}.ngx-datatable .datatable-footer .datatable-pager .pager li.disabled a{cursor:not-allowed}"]],data:{}});function ee(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"datatable-header",[["class","datatable-header"]],[[4,"height",null],[4,"width",null]],[[null,"sort"],[null,"resize"],[null,"reorder"],[null,"select"],[null,"columnContextmenu"]],(function(t,e,n){var a=!0,r=t.component;return"sort"===e&&(a=!1!==r.onColumnSort(n)&&a),"resize"===e&&(a=!1!==r.onColumnResize(n)&&a),"reorder"===e&&(a=!1!==r.onColumnReorder(n)&&a),"select"===e&&(a=!1!==r.onHeaderSelect(n)&&a),"columnContextmenu"===e&&(a=!1!==r.onColumnContextmenu(n)&&a),a}),z,q)),a["ɵdid"](1,49152,[[2,4]],0,L.DataTableHeaderComponent,[a.ChangeDetectorRef],{sortAscendingIcon:[0,"sortAscendingIcon"],sortDescendingIcon:[1,"sortDescendingIcon"],scrollbarH:[2,"scrollbarH"],dealsWithGroup:[3,"dealsWithGroup"],targetMarkerTemplate:[4,"targetMarkerTemplate"],innerWidth:[5,"innerWidth"],sorts:[6,"sorts"],sortType:[7,"sortType"],allRowsSelected:[8,"allRowsSelected"],selectionType:[9,"selectionType"],reorderable:[10,"reorderable"],headerHeight:[11,"headerHeight"],columns:[12,"columns"],offsetX:[13,"offsetX"]},{sort:"sort",reorder:"reorder",resize:"resize",select:"select",columnContextmenu:"columnContextmenu"}),a["ɵpid"](131072,s.AsyncPipe,[a.ChangeDetectorRef])],(function(t,e){var n=e.component;t(e,1,1,[n.cssClasses.sortAscending,n.cssClasses.sortDescending,n.scrollbarH,n.groupedRows,n.targetMarkerTemplate,n._innerWidth,n.sorts,n.sortType,n.allRowsSelected,n.selectionType,n.reorderable,n.headerHeight,n._internalColumns,a["ɵunv"](e,1,13,a["ɵnov"](e,2).transform(n._offsetX))])}),(function(t,e){t(e,0,0,a["ɵnov"](e,1).headerHeight,a["ɵnov"](e,1).headerWidth)}))}function ne(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"datatable-footer",[["class","datatable-footer"]],null,[[null,"page"]],(function(t,e,n){var a=!0;return"page"===e&&(a=!1!==t.component.onFooterPage(n)&&a),a}),K,B)),a["ɵdid"](1,49152,null,0,G.DataTableFooterComponent,[],{footerHeight:[0,"footerHeight"],rowCount:[1,"rowCount"],pageSize:[2,"pageSize"],offset:[3,"offset"],pagerLeftArrowIcon:[4,"pagerLeftArrowIcon"],pagerRightArrowIcon:[5,"pagerRightArrowIcon"],pagerPreviousIcon:[6,"pagerPreviousIcon"],pagerNextIcon:[7,"pagerNextIcon"],totalMessage:[8,"totalMessage"],footerTemplate:[9,"footerTemplate"],selectedCount:[10,"selectedCount"],selectedMessage:[11,"selectedMessage"]},{page:"page"})],(function(t,e){var n=e.component;t(e,1,1,[n.footerHeight,n.rowCount,n.pageSize,n.offset,n.cssClasses.pagerLeftArrow,n.cssClasses.pagerRightArrow,n.cssClasses.pagerPrevious,n.cssClasses.pagerNext,n.messages.totalMessage,n.footer,n.selected.length,!!n.selectionType&&n.messages.selectedMessage])}),null)}function ae(t){return a["ɵvid"](2,[a["ɵqud"](671088640,1,{bodyComponent:0}),a["ɵqud"](671088640,2,{headerComponent:0}),(t()(),a["ɵeld"](2,0,null,null,8,"div",[["visibilityObserver",""]],[[2,"visible",null]],[[null,"visible"]],(function(t,e,n){var a=!0;return"visible"===e&&(a=!1!==t.component.recalculate()&&a),a}),null,null)),a["ɵdid"](3,212992,null,0,$.VisibilityDirective,[a.ElementRef,a.NgZone],null,{visible:"visible"}),(t()(),a["ɵand"](16777216,null,null,1,null,ee)),a["ɵdid"](5,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵeld"](6,0,null,null,2,"datatable-body",[["class","datatable-body"]],[[4,"width",null],[4,"height",null]],[[null,"page"],[null,"activate"],[null,"rowContextmenu"],[null,"select"],[null,"scroll"],[null,"treeAction"]],(function(t,e,n){var a=!0,r=t.component;return"page"===e&&(a=!1!==r.onBodyPage(n)&&a),"activate"===e&&(a=!1!==r.activate.emit(n)&&a),"rowContextmenu"===e&&(a=!1!==r.onRowContextmenu(n)&&a),"select"===e&&(a=!1!==r.onBodySelect(n)&&a),"scroll"===e&&(a=!1!==r.onBodyScroll(n)&&a),"treeAction"===e&&(a=!1!==r.onTreeAction(n)&&a),a}),Zt,zt)),a["ɵdid"](7,245760,[[1,4]],0,Ft.DataTableBodyComponent,[a.ChangeDetectorRef],{scrollbarV:[0,"scrollbarV"],scrollbarH:[1,"scrollbarH"],loadingIndicator:[2,"loadingIndicator"],externalPaging:[3,"externalPaging"],rowHeight:[4,"rowHeight"],offsetX:[5,"offsetX"],emptyMessage:[6,"emptyMessage"],selectionType:[7,"selectionType"],selected:[8,"selected"],rowIdentity:[9,"rowIdentity"],rowDetail:[10,"rowDetail"],groupHeader:[11,"groupHeader"],selectCheck:[12,"selectCheck"],displayCheck:[13,"displayCheck"],trackByProp:[14,"trackByProp"],rowClass:[15,"rowClass"],groupedRows:[16,"groupedRows"],groupExpansionDefault:[17,"groupExpansionDefault"],innerWidth:[18,"innerWidth"],groupRowsBy:[19,"groupRowsBy"],virtualization:[20,"virtualization"],summaryRow:[21,"summaryRow"],summaryPosition:[22,"summaryPosition"],summaryHeight:[23,"summaryHeight"],pageSize:[24,"pageSize"],rows:[25,"rows"],columns:[26,"columns"],offset:[27,"offset"],rowCount:[28,"rowCount"],bodyHeight:[29,"bodyHeight"]},{scroll:"scroll",page:"page",activate:"activate",select:"select",rowContextmenu:"rowContextmenu",treeAction:"treeAction"}),a["ɵpid"](131072,s.AsyncPipe,[a.ChangeDetectorRef]),(t()(),a["ɵand"](16777216,null,null,1,null,ne)),a["ɵdid"](10,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,3,0),t(e,5,0,n.headerHeight),t(e,7,1,[n.scrollbarV,n.scrollbarH,n.loadingIndicator,n.externalPaging,n.rowHeight,a["ɵunv"](e,7,5,a["ɵnov"](e,8).transform(n._offsetX)),n.messages.emptyMessage,n.selectionType,n.selected,n.rowIdentity,n.rowDetail,n.groupHeader,n.selectCheck,n.displayCheck,n.trackByProp,n.rowClass,n.groupedRows,n.groupExpansionDefault,n._innerWidth,n.groupRowsBy,n.virtualization,n.summaryRow,n.summaryPosition,n.summaryHeight,n.pageSize,n._internalRows,n._internalColumns,n.offset,n.rowCount,n.bodyHeight]),t(e,10,0,n.footerHeight)}),(function(t,e){t(e,2,0,a["ɵnov"](e,3).isVisible),t(e,6,0,a["ɵnov"](e,7).bodyWidth,a["ɵnov"](e,7).bodyHeight)}))}var re=n("lUjN"),oe=n("vxfy");n("uIqm"),n.d(e,"a",(function(){return ie})),n.d(e,"b",(function(){return Ge}));var ie=a["ɵcrt"]({encapsulation:0,styles:[['@charset "UTF-8";.tree-children.tree-children-no-padding[_ngcontent-%COMP%]{padding-left:0}.node-drop-slot[_ngcontent-%COMP%]{display:block;height:2px}.node-drop-slot.is-dragging-over[_ngcontent-%COMP%]{background:#dfe;height:20px;border:2px dotted #888}.toggle-children-wrapper-expanded[_ngcontent-%COMP%]   .toggle-children[_ngcontent-%COMP%]{transform:rotate(90deg)}.toggle-children-wrapper-collapsed[_ngcontent-%COMP%]   .toggle-children[_ngcontent-%COMP%]{transform:rotate(0)}.toggle-children-wrapper[_ngcontent-%COMP%]{padding:2px 3px 5px 1px}.toggle-children[_ngcontent-%COMP%]{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAASCAYAAABSO15qAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABAhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ1dWlkOjY1RTYzOTA2ODZDRjExREJBNkUyRDg4N0NFQUNCNDA3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkYzRkRFQjcxODUzNTExRTU4RTQwRkQwODFEOUZEMEE3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkYzRkRFQjcwODUzNTExRTU4RTQwRkQwODFEOUZEMEE3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE1IChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTk5NzA1OGEtZDI3OC00NDZkLWE4ODgtNGM4MGQ4YWI1NzNmIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6YzRkZmQxMGMtY2NlNS0xMTc4LWE5OGQtY2NkZmM5ODk5YWYwIi8+IDxkYzp0aXRsZT4gPHJkZjpBbHQ+IDxyZGY6bGkgeG1sOmxhbmc9IngtZGVmYXVsdCI+Z2x5cGhpY29uczwvcmRmOmxpPiA8L3JkZjpBbHQ+IDwvZGM6dGl0bGU+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+5iogFwAAAGhJREFUeNpiYGBgKABigf///zOQg0EARH4A4gZyDIIZ8B/JoAJKDIDhB0CcQIkBRBtEyABkgxwoMQCGD6AbRKoBGAYxQgXIBRuZGKgAKPIC3QLxArnRSHZCIjspk52ZKMrOFBUoAAEGAKnq593MQAZtAAAAAElFTkSuQmCC);height:8px;width:9px;background-size:contain;display:inline-block;position:relative;top:1px;background-repeat:no-repeat;background-position:center}.toggle-children-placeholder[_ngcontent-%COMP%]{display:inline-block;height:10px;width:10px;position:relative;top:1px;padding-right:3px}.node-content-wrapper[_ngcontent-%COMP%]{display:inline-block;padding:2px 5px;border-radius:2px;transition:background-color .15s,box-shadow .15s}.node-wrapper[_ngcontent-%COMP%]{display:flex;align-items:flex-start}.node-content-wrapper-active[_ngcontent-%COMP%], .node-content-wrapper-active.node-content-wrapper-focused[_ngcontent-%COMP%], .node-content-wrapper.node-content-wrapper-active[_ngcontent-%COMP%]:hover{background:#beebff}.node-content-wrapper-focused[_ngcontent-%COMP%]{background:#e7f4f9}.node-content-wrapper[_ngcontent-%COMP%]:hover{background:#f7fbff}.node-content-wrapper-active[_ngcontent-%COMP%], .node-content-wrapper-focused[_ngcontent-%COMP%], .node-content-wrapper[_ngcontent-%COMP%]:hover{box-shadow:inset 0 0 1px #999}.node-content-wrapper.is-dragging-over[_ngcontent-%COMP%]{background:#dfe;box-shadow:inset 0 0 1px #999}.node-content-wrapper.is-dragging-over-disabled[_ngcontent-%COMP%]{opacity:.5}tree-viewport[_ngcontent-%COMP%]{-webkit-tap-highlight-color:transparent;height:100%;overflow:auto;display:block}.tree-children[_ngcontent-%COMP%]{overflow:hidden;padding-left:20px}.empty-tree-drop-slot[_ngcontent-%COMP%]   .node-drop-slot[_ngcontent-%COMP%]{height:20px;min-width:100px}.angular-tree-component[_ngcontent-%COMP%]{width:100%;position:relative;display:inline-block;cursor:pointer;-webkit-touch-callout:none;-moz-user-select:none;user-select:none}tree-root[_ngcontent-%COMP%]   .angular-tree-component-rtl[_ngcontent-%COMP%]{direction:rtl}tree-root[_ngcontent-%COMP%]   .angular-tree-component-rtl[_ngcontent-%COMP%]   .toggle-children-wrapper-collapsed[_ngcontent-%COMP%]   .toggle-children[_ngcontent-%COMP%]{transform:rotate(180deg)!important}tree-root[_ngcontent-%COMP%]   .angular-tree-component-rtl[_ngcontent-%COMP%]   .tree-children[_ngcontent-%COMP%]{padding-right:20px;padding-left:0}tree-node-checkbox[_ngcontent-%COMP%]{padding:1px}[_ngcontent-%COMP%]:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#2b99a8;--secondary:#ef5c55;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#777777;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:"Helvetica Neue",Helvetica,Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*[_ngcontent-%COMP%], [_ngcontent-%COMP%]::after, [_ngcontent-%COMP%]::before{box-sizing:border-box}html[_ngcontent-%COMP%]{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article[_ngcontent-%COMP%], aside[_ngcontent-%COMP%], figcaption[_ngcontent-%COMP%], figure[_ngcontent-%COMP%], footer[_ngcontent-%COMP%], header[_ngcontent-%COMP%], hgroup[_ngcontent-%COMP%], main[_ngcontent-%COMP%], nav[_ngcontent-%COMP%], section[_ngcontent-%COMP%]{display:block}body[_ngcontent-%COMP%]{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"][_ngcontent-%COMP%]:focus{outline:0!important}h1[_ngcontent-%COMP%], h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%], h4[_ngcontent-%COMP%], h5[_ngcontent-%COMP%], h6[_ngcontent-%COMP%]{margin-top:0}dl[_ngcontent-%COMP%], ol[_ngcontent-%COMP%], p[_ngcontent-%COMP%], ul[_ngcontent-%COMP%]{margin-top:0;margin-bottom:1rem}abbr[data-original-title][_ngcontent-%COMP%], abbr[title][_ngcontent-%COMP%]{text-decoration:underline;text-decoration:underline dotted;cursor:help;border-bottom:0;text-decoration-skip-ink:none}address[_ngcontent-%COMP%]{margin-bottom:1rem;font-style:normal;line-height:inherit}ol[_ngcontent-%COMP%]   ol[_ngcontent-%COMP%], ol[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%], ul[_ngcontent-%COMP%]   ol[_ngcontent-%COMP%], ul[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]{margin-bottom:0}dt[_ngcontent-%COMP%]{font-weight:700}dd[_ngcontent-%COMP%]{margin-bottom:.5rem;margin-left:0}blockquote[_ngcontent-%COMP%], figure[_ngcontent-%COMP%]{margin:0 0 1rem}b[_ngcontent-%COMP%], strong[_ngcontent-%COMP%]{font-weight:bolder}sub[_ngcontent-%COMP%], sup[_ngcontent-%COMP%]{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub[_ngcontent-%COMP%]{bottom:-.25em}sup[_ngcontent-%COMP%]{top:-.5em}a[_ngcontent-%COMP%]{color:#2b99a8;text-decoration:none;background-color:transparent}a[_ngcontent-%COMP%]:hover{color:#1b626b;text-decoration:underline}a[_ngcontent-%COMP%]:not([href]):not([tabindex]), a[_ngcontent-%COMP%]:not([href]):not([tabindex]):focus, a[_ngcontent-%COMP%]:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a[_ngcontent-%COMP%]:not([href]):not([tabindex]):focus{outline:0}code[_ngcontent-%COMP%], kbd[_ngcontent-%COMP%], pre[_ngcontent-%COMP%], samp[_ngcontent-%COMP%]{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre[_ngcontent-%COMP%]{margin-top:0;margin-bottom:1rem;overflow:auto}img[_ngcontent-%COMP%]{vertical-align:middle;border-style:none}svg[_ngcontent-%COMP%]{overflow:hidden;vertical-align:middle}table[_ngcontent-%COMP%]{border-collapse:collapse}caption[_ngcontent-%COMP%]{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th[_ngcontent-%COMP%]{text-align:inherit}label[_ngcontent-%COMP%]{display:inline-block;margin-bottom:.5rem}button[_ngcontent-%COMP%]{border-radius:0}button[_ngcontent-%COMP%]:focus{outline:dotted 1px;outline:-webkit-focus-ring-color auto 5px}button[_ngcontent-%COMP%], input[_ngcontent-%COMP%], optgroup[_ngcontent-%COMP%], select[_ngcontent-%COMP%], textarea[_ngcontent-%COMP%]{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button[_ngcontent-%COMP%], input[_ngcontent-%COMP%]{overflow:visible}button[_ngcontent-%COMP%], select[_ngcontent-%COMP%]{text-transform:none}select[_ngcontent-%COMP%]{word-wrap:normal}[type=button][_ngcontent-%COMP%], [type=reset][_ngcontent-%COMP%], [type=submit][_ngcontent-%COMP%], button[_ngcontent-%COMP%]{-webkit-appearance:button}[type=button][_ngcontent-%COMP%]:not(:disabled), [type=reset][_ngcontent-%COMP%]:not(:disabled), [type=submit][_ngcontent-%COMP%]:not(:disabled), button[_ngcontent-%COMP%]:not(:disabled){cursor:pointer}[type=button][_ngcontent-%COMP%]::-moz-focus-inner, [type=reset][_ngcontent-%COMP%]::-moz-focus-inner, [type=submit][_ngcontent-%COMP%]::-moz-focus-inner, button[_ngcontent-%COMP%]::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox][_ngcontent-%COMP%], input[type=radio][_ngcontent-%COMP%]{box-sizing:border-box;padding:0}input[type=date][_ngcontent-%COMP%], input[type=datetime-local][_ngcontent-%COMP%], input[type=month][_ngcontent-%COMP%], input[type=time][_ngcontent-%COMP%]{-webkit-appearance:listbox}textarea[_ngcontent-%COMP%]{overflow:auto;resize:vertical}fieldset[_ngcontent-%COMP%]{min-width:0;padding:0;margin:0;border:0}legend[_ngcontent-%COMP%]{display:block;width:100%;max-width:100%;padding:0;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress[_ngcontent-%COMP%]{vertical-align:baseline}[type=number][_ngcontent-%COMP%]::-webkit-inner-spin-button, [type=number][_ngcontent-%COMP%]::-webkit-outer-spin-button{height:auto}[type=search][_ngcontent-%COMP%]{outline-offset:-2px;-webkit-appearance:none}[type=search][_ngcontent-%COMP%]::-webkit-search-decoration{-webkit-appearance:none}[_ngcontent-%COMP%]::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output[_ngcontent-%COMP%]{display:inline-block}summary[_ngcontent-%COMP%]{display:list-item;cursor:pointer}template[_ngcontent-%COMP%]{display:none}[hidden][_ngcontent-%COMP%]{display:none!important}.h1[_ngcontent-%COMP%], .h2[_ngcontent-%COMP%], .h3[_ngcontent-%COMP%], .h4[_ngcontent-%COMP%], .h5[_ngcontent-%COMP%], .h6[_ngcontent-%COMP%], h1[_ngcontent-%COMP%], h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%], h4[_ngcontent-%COMP%], h5[_ngcontent-%COMP%], h6[_ngcontent-%COMP%]{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1[_ngcontent-%COMP%], h1[_ngcontent-%COMP%]{font-size:2.5rem}.h2[_ngcontent-%COMP%], h2[_ngcontent-%COMP%]{font-size:2rem}.h3[_ngcontent-%COMP%], h3[_ngcontent-%COMP%]{font-size:1.75rem}.h4[_ngcontent-%COMP%], h4[_ngcontent-%COMP%]{font-size:1.5rem}.h5[_ngcontent-%COMP%], h5[_ngcontent-%COMP%]{font-size:1.25rem}.h6[_ngcontent-%COMP%], h6[_ngcontent-%COMP%]{font-size:1rem}.lead[_ngcontent-%COMP%]{font-size:1.25rem;font-weight:300}.display-1[_ngcontent-%COMP%]{font-size:6rem;font-weight:300;line-height:1.2}.display-2[_ngcontent-%COMP%]{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3[_ngcontent-%COMP%]{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4[_ngcontent-%COMP%]{font-size:3.5rem;font-weight:300;line-height:1.2}hr[_ngcontent-%COMP%]{box-sizing:content-box;height:0;overflow:visible;margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small[_ngcontent-%COMP%], small[_ngcontent-%COMP%]{font-size:80%;font-weight:400}.mark[_ngcontent-%COMP%], mark[_ngcontent-%COMP%]{padding:.2em;background-color:#fcf8e3}.list-inline[_ngcontent-%COMP%], .list-unstyled[_ngcontent-%COMP%]{padding-left:0;list-style:none}.list-inline-item[_ngcontent-%COMP%]{display:inline-block}.list-inline-item[_ngcontent-%COMP%]:not(:last-child){margin-right:.5rem}.initialism[_ngcontent-%COMP%]{font-size:90%;text-transform:uppercase}.blockquote[_ngcontent-%COMP%]{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer[_ngcontent-%COMP%]{display:block;font-size:80%;color:#6c757d}.blockquote-footer[_ngcontent-%COMP%]::before{content:"— "}.img-fluid[_ngcontent-%COMP%]{max-width:100%;height:auto}.img-thumbnail[_ngcontent-%COMP%]{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure[_ngcontent-%COMP%]{display:inline-block}.figure-img[_ngcontent-%COMP%]{margin-bottom:.5rem;line-height:1}.figure-caption[_ngcontent-%COMP%]{font-size:90%;color:#6c757d}code[_ngcontent-%COMP%]{font-size:87.5%;color:#e83e8c;word-break:break-word}a[_ngcontent-%COMP%] > code[_ngcontent-%COMP%]{color:inherit}kbd[_ngcontent-%COMP%]{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd[_ngcontent-%COMP%]   kbd[_ngcontent-%COMP%]{padding:0;font-size:100%;font-weight:700}pre[_ngcontent-%COMP%]{display:block;font-size:87.5%;color:#212529}pre[_ngcontent-%COMP%]   code[_ngcontent-%COMP%]{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable[_ngcontent-%COMP%]{max-height:340px;overflow-y:scroll}.container[_ngcontent-%COMP%]{width:100%;margin-right:auto;margin-left:auto}@media (min-width:576px){.container[_ngcontent-%COMP%]{max-width:540px}}@media (min-width:768px){.container[_ngcontent-%COMP%]{max-width:720px}}@media (min-width:992px){.container[_ngcontent-%COMP%]{max-width:960px}}@media (min-width:1200px){.container[_ngcontent-%COMP%]{max-width:1140px}}.container-fluid[_ngcontent-%COMP%]{width:100%;margin-right:auto;margin-left:auto}.row[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap}.no-gutters[_ngcontent-%COMP%]{margin-right:0;margin-left:0}.no-gutters[_ngcontent-%COMP%] > .col[_ngcontent-%COMP%], .no-gutters[_ngcontent-%COMP%] > [class*=col-][_ngcontent-%COMP%]{padding-right:0;padding-left:0}.cd-col-form[_ngcontent-%COMP%], .cd-col-form-input[_ngcontent-%COMP%], .cd-col-form-label[_ngcontent-%COMP%], .cd-col-form-offset[_ngcontent-%COMP%], .col[_ngcontent-%COMP%], .col-1[_ngcontent-%COMP%], .col-10[_ngcontent-%COMP%], .col-11[_ngcontent-%COMP%], .col-12[_ngcontent-%COMP%], .col-2[_ngcontent-%COMP%], .col-3[_ngcontent-%COMP%], .col-4[_ngcontent-%COMP%], .col-5[_ngcontent-%COMP%], .col-6[_ngcontent-%COMP%], .col-7[_ngcontent-%COMP%], .col-8[_ngcontent-%COMP%], .col-9[_ngcontent-%COMP%], .col-auto[_ngcontent-%COMP%], .col-lg[_ngcontent-%COMP%], .col-lg-1[_ngcontent-%COMP%], .col-lg-10[_ngcontent-%COMP%], .col-lg-11[_ngcontent-%COMP%], .col-lg-12[_ngcontent-%COMP%], .col-lg-2[_ngcontent-%COMP%], .col-lg-3[_ngcontent-%COMP%], .col-lg-4[_ngcontent-%COMP%], .col-lg-5[_ngcontent-%COMP%], .col-lg-6[_ngcontent-%COMP%], .col-lg-7[_ngcontent-%COMP%], .col-lg-8[_ngcontent-%COMP%], .col-lg-9[_ngcontent-%COMP%], .col-lg-auto[_ngcontent-%COMP%], .col-md[_ngcontent-%COMP%], .col-md-1[_ngcontent-%COMP%], .col-md-10[_ngcontent-%COMP%], .col-md-11[_ngcontent-%COMP%], .col-md-12[_ngcontent-%COMP%], .col-md-2[_ngcontent-%COMP%], .col-md-3[_ngcontent-%COMP%], .col-md-4[_ngcontent-%COMP%], .col-md-5[_ngcontent-%COMP%], .col-md-6[_ngcontent-%COMP%], .col-md-7[_ngcontent-%COMP%], .col-md-8[_ngcontent-%COMP%], .col-md-9[_ngcontent-%COMP%], .col-md-auto[_ngcontent-%COMP%], .col-sm[_ngcontent-%COMP%], .col-sm-1[_ngcontent-%COMP%], .col-sm-10[_ngcontent-%COMP%], .col-sm-11[_ngcontent-%COMP%], .col-sm-12[_ngcontent-%COMP%], .col-sm-2[_ngcontent-%COMP%], .col-sm-3[_ngcontent-%COMP%], .col-sm-4[_ngcontent-%COMP%], .col-sm-5[_ngcontent-%COMP%], .col-sm-6[_ngcontent-%COMP%], .col-sm-7[_ngcontent-%COMP%], .col-sm-8[_ngcontent-%COMP%], .col-sm-9[_ngcontent-%COMP%], .col-sm-auto[_ngcontent-%COMP%], .col-xl[_ngcontent-%COMP%], .col-xl-1[_ngcontent-%COMP%], .col-xl-10[_ngcontent-%COMP%], .col-xl-11[_ngcontent-%COMP%], .col-xl-12[_ngcontent-%COMP%], .col-xl-2[_ngcontent-%COMP%], .col-xl-3[_ngcontent-%COMP%], .col-xl-4[_ngcontent-%COMP%], .col-xl-5[_ngcontent-%COMP%], .col-xl-6[_ngcontent-%COMP%], .col-xl-7[_ngcontent-%COMP%], .col-xl-8[_ngcontent-%COMP%], .col-xl-9[_ngcontent-%COMP%], .col-xl-auto[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-input[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-label[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-offset[_ngcontent-%COMP%]{position:relative;width:100%;padding-right:15px;padding-left:15px}.col[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;max-width:100%}.col-auto[_ngcontent-%COMP%]{flex:0 0 auto;width:auto;max-width:100%}.col-1[_ngcontent-%COMP%]{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-2[_ngcontent-%COMP%]{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-3[_ngcontent-%COMP%]{flex:0 0 25%;max-width:25%}.col-4[_ngcontent-%COMP%]{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-5[_ngcontent-%COMP%]{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-6[_ngcontent-%COMP%]{flex:0 0 50%;max-width:50%}.col-7[_ngcontent-%COMP%]{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-8[_ngcontent-%COMP%]{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-9[_ngcontent-%COMP%]{flex:0 0 75%;max-width:75%}.col-10[_ngcontent-%COMP%]{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-11[_ngcontent-%COMP%]{flex:0 0 91.6666666667%;max-width:91.6666666667%}.cd-col-form[_ngcontent-%COMP%], .col-12[_ngcontent-%COMP%]{flex:0 0 100%;max-width:100%}.order-first[_ngcontent-%COMP%]{order:-1}.order-last[_ngcontent-%COMP%]{order:13}.order-0[_ngcontent-%COMP%]{order:0}.order-1[_ngcontent-%COMP%]{order:1}.order-2[_ngcontent-%COMP%]{order:2}.order-3[_ngcontent-%COMP%]{order:3}.order-4[_ngcontent-%COMP%]{order:4}.order-5[_ngcontent-%COMP%]{order:5}.order-6[_ngcontent-%COMP%]{order:6}.order-7[_ngcontent-%COMP%]{order:7}.order-8[_ngcontent-%COMP%]{order:8}.order-9[_ngcontent-%COMP%]{order:9}.order-10[_ngcontent-%COMP%]{order:10}.order-11[_ngcontent-%COMP%]{order:11}.order-12[_ngcontent-%COMP%]{order:12}.offset-1[_ngcontent-%COMP%]{margin-left:8.3333333333%}.offset-2[_ngcontent-%COMP%]{margin-left:16.6666666667%}.offset-3[_ngcontent-%COMP%]{margin-left:25%}.offset-4[_ngcontent-%COMP%]{margin-left:33.3333333333%}.offset-5[_ngcontent-%COMP%]{margin-left:41.6666666667%}.offset-6[_ngcontent-%COMP%]{margin-left:50%}.offset-7[_ngcontent-%COMP%]{margin-left:58.3333333333%}.offset-8[_ngcontent-%COMP%]{margin-left:66.6666666667%}.offset-9[_ngcontent-%COMP%]{margin-left:75%}.offset-10[_ngcontent-%COMP%]{margin-left:83.3333333333%}.offset-11[_ngcontent-%COMP%]{margin-left:91.6666666667%}@media (min-width:576px){.col-sm[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;max-width:100%}.col-sm-auto[_ngcontent-%COMP%]{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1[_ngcontent-%COMP%]{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-sm-2[_ngcontent-%COMP%]{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-3[_ngcontent-%COMP%]{flex:0 0 25%;max-width:25%}.cd-col-form-label[_ngcontent-%COMP%], .col-sm-4[_ngcontent-%COMP%]{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-sm-5[_ngcontent-%COMP%]{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-sm-6[_ngcontent-%COMP%]{flex:0 0 50%;max-width:50%}.col-sm-7[_ngcontent-%COMP%]{flex:0 0 58.3333333333%;max-width:58.3333333333%}.cd-col-form-input[_ngcontent-%COMP%], .cd-col-form-offset[_ngcontent-%COMP%], .col-sm-8[_ngcontent-%COMP%]{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-sm-9[_ngcontent-%COMP%]{flex:0 0 75%;max-width:75%}.col-sm-10[_ngcontent-%COMP%]{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-sm-11[_ngcontent-%COMP%]{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-sm-12[_ngcontent-%COMP%]{flex:0 0 100%;max-width:100%}.order-sm-first[_ngcontent-%COMP%]{order:-1}.order-sm-last[_ngcontent-%COMP%]{order:13}.order-sm-0[_ngcontent-%COMP%]{order:0}.order-sm-1[_ngcontent-%COMP%]{order:1}.order-sm-2[_ngcontent-%COMP%]{order:2}.order-sm-3[_ngcontent-%COMP%]{order:3}.order-sm-4[_ngcontent-%COMP%]{order:4}.order-sm-5[_ngcontent-%COMP%]{order:5}.order-sm-6[_ngcontent-%COMP%]{order:6}.order-sm-7[_ngcontent-%COMP%]{order:7}.order-sm-8[_ngcontent-%COMP%]{order:8}.order-sm-9[_ngcontent-%COMP%]{order:9}.order-sm-10[_ngcontent-%COMP%]{order:10}.order-sm-11[_ngcontent-%COMP%]{order:11}.order-sm-12[_ngcontent-%COMP%]{order:12}.offset-sm-0[_ngcontent-%COMP%]{margin-left:0}.offset-sm-1[_ngcontent-%COMP%]{margin-left:8.3333333333%}.offset-sm-2[_ngcontent-%COMP%]{margin-left:16.6666666667%}.offset-sm-3[_ngcontent-%COMP%]{margin-left:25%}.cd-col-form-offset[_ngcontent-%COMP%], .offset-sm-4[_ngcontent-%COMP%]{margin-left:33.3333333333%}.offset-sm-5[_ngcontent-%COMP%]{margin-left:41.6666666667%}.offset-sm-6[_ngcontent-%COMP%]{margin-left:50%}.offset-sm-7[_ngcontent-%COMP%]{margin-left:58.3333333333%}.offset-sm-8[_ngcontent-%COMP%]{margin-left:66.6666666667%}.offset-sm-9[_ngcontent-%COMP%]{margin-left:75%}.offset-sm-10[_ngcontent-%COMP%]{margin-left:83.3333333333%}.offset-sm-11[_ngcontent-%COMP%]{margin-left:91.6666666667%}}@media (min-width:768px){.col-md[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;max-width:100%}.col-md-auto[_ngcontent-%COMP%]{flex:0 0 auto;width:auto;max-width:100%}.col-md-1[_ngcontent-%COMP%]{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-md-2[_ngcontent-%COMP%]{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-3[_ngcontent-%COMP%]{flex:0 0 25%;max-width:25%}.cd-col-form-label[_ngcontent-%COMP%], .col-md-4[_ngcontent-%COMP%]{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-md-5[_ngcontent-%COMP%]{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-md-6[_ngcontent-%COMP%]{flex:0 0 50%;max-width:50%}.col-md-7[_ngcontent-%COMP%]{flex:0 0 58.3333333333%;max-width:58.3333333333%}.cd-col-form-input[_ngcontent-%COMP%], .cd-col-form-offset[_ngcontent-%COMP%], .col-md-8[_ngcontent-%COMP%]{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-md-9[_ngcontent-%COMP%]{flex:0 0 75%;max-width:75%}.col-md-10[_ngcontent-%COMP%]{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-md-11[_ngcontent-%COMP%]{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-md-12[_ngcontent-%COMP%]{flex:0 0 100%;max-width:100%}.order-md-first[_ngcontent-%COMP%]{order:-1}.order-md-last[_ngcontent-%COMP%]{order:13}.order-md-0[_ngcontent-%COMP%]{order:0}.order-md-1[_ngcontent-%COMP%]{order:1}.order-md-2[_ngcontent-%COMP%]{order:2}.order-md-3[_ngcontent-%COMP%]{order:3}.order-md-4[_ngcontent-%COMP%]{order:4}.order-md-5[_ngcontent-%COMP%]{order:5}.order-md-6[_ngcontent-%COMP%]{order:6}.order-md-7[_ngcontent-%COMP%]{order:7}.order-md-8[_ngcontent-%COMP%]{order:8}.order-md-9[_ngcontent-%COMP%]{order:9}.order-md-10[_ngcontent-%COMP%]{order:10}.order-md-11[_ngcontent-%COMP%]{order:11}.order-md-12[_ngcontent-%COMP%]{order:12}.offset-md-0[_ngcontent-%COMP%]{margin-left:0}.offset-md-1[_ngcontent-%COMP%]{margin-left:8.3333333333%}.offset-md-2[_ngcontent-%COMP%]{margin-left:16.6666666667%}.offset-md-3[_ngcontent-%COMP%]{margin-left:25%}.offset-md-4[_ngcontent-%COMP%]{margin-left:33.3333333333%}.offset-md-5[_ngcontent-%COMP%]{margin-left:41.6666666667%}.offset-md-6[_ngcontent-%COMP%]{margin-left:50%}.offset-md-7[_ngcontent-%COMP%]{margin-left:58.3333333333%}.offset-md-8[_ngcontent-%COMP%]{margin-left:66.6666666667%}.offset-md-9[_ngcontent-%COMP%]{margin-left:75%}.offset-md-10[_ngcontent-%COMP%]{margin-left:83.3333333333%}.offset-md-11[_ngcontent-%COMP%]{margin-left:91.6666666667%}}@media (min-width:992px){.col-lg[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;max-width:100%}.col-lg-auto[_ngcontent-%COMP%]{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1[_ngcontent-%COMP%]{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-lg-2[_ngcontent-%COMP%]{flex:0 0 16.6666666667%;max-width:16.6666666667%}.cd-col-form-label[_ngcontent-%COMP%], .col-lg-3[_ngcontent-%COMP%]{flex:0 0 25%;max-width:25%}.col-lg-4[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-label[_ngcontent-%COMP%]{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-lg-5[_ngcontent-%COMP%]{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-lg-6[_ngcontent-%COMP%]{flex:0 0 50%;max-width:50%}.col-lg-7[_ngcontent-%COMP%]{flex:0 0 58.3333333333%;max-width:58.3333333333%}.cd-col-form[_ngcontent-%COMP%], .col-lg-8[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-input[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-offset[_ngcontent-%COMP%]{flex:0 0 66.6666666667%;max-width:66.6666666667%}.cd-col-form-input[_ngcontent-%COMP%], .cd-col-form-offset[_ngcontent-%COMP%], .col-lg-9[_ngcontent-%COMP%]{flex:0 0 75%;max-width:75%}.col-lg-10[_ngcontent-%COMP%]{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-lg-11[_ngcontent-%COMP%]{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-lg-12[_ngcontent-%COMP%]{flex:0 0 100%;max-width:100%}.order-lg-first[_ngcontent-%COMP%]{order:-1}.order-lg-last[_ngcontent-%COMP%]{order:13}.order-lg-0[_ngcontent-%COMP%]{order:0}.order-lg-1[_ngcontent-%COMP%]{order:1}.order-lg-2[_ngcontent-%COMP%]{order:2}.order-lg-3[_ngcontent-%COMP%]{order:3}.order-lg-4[_ngcontent-%COMP%]{order:4}.order-lg-5[_ngcontent-%COMP%]{order:5}.order-lg-6[_ngcontent-%COMP%]{order:6}.order-lg-7[_ngcontent-%COMP%]{order:7}.order-lg-8[_ngcontent-%COMP%]{order:8}.order-lg-9[_ngcontent-%COMP%]{order:9}.order-lg-10[_ngcontent-%COMP%]{order:10}.order-lg-11[_ngcontent-%COMP%]{order:11}.order-lg-12[_ngcontent-%COMP%]{order:12}.offset-lg-0[_ngcontent-%COMP%]{margin-left:0}.offset-lg-1[_ngcontent-%COMP%]{margin-left:8.3333333333%}.offset-lg-2[_ngcontent-%COMP%]{margin-left:16.6666666667%}.cd-col-form-offset[_ngcontent-%COMP%], .offset-lg-3[_ngcontent-%COMP%]{margin-left:25%}.offset-lg-4[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-offset[_ngcontent-%COMP%]{margin-left:33.3333333333%}.offset-lg-5[_ngcontent-%COMP%]{margin-left:41.6666666667%}.offset-lg-6[_ngcontent-%COMP%]{margin-left:50%}.offset-lg-7[_ngcontent-%COMP%]{margin-left:58.3333333333%}.offset-lg-8[_ngcontent-%COMP%]{margin-left:66.6666666667%}.offset-lg-9[_ngcontent-%COMP%]{margin-left:75%}.offset-lg-10[_ngcontent-%COMP%]{margin-left:83.3333333333%}.offset-lg-11[_ngcontent-%COMP%]{margin-left:91.6666666667%}}@media (min-width:1200px){.col-xl[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;max-width:100%}.col-xl-auto[_ngcontent-%COMP%]{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1[_ngcontent-%COMP%]{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-xl-2[_ngcontent-%COMP%]{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xl-3[_ngcontent-%COMP%]{flex:0 0 25%;max-width:25%}.col-xl-4[_ngcontent-%COMP%]{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-xl-5[_ngcontent-%COMP%]{flex:0 0 41.6666666667%;max-width:41.6666666667%}.cd-col-form[_ngcontent-%COMP%], .col-xl-6[_ngcontent-%COMP%]{flex:0 0 50%;max-width:50%}.col-xl-7[_ngcontent-%COMP%]{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-xl-8[_ngcontent-%COMP%]{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-xl-9[_ngcontent-%COMP%]{flex:0 0 75%;max-width:75%}.col-xl-10[_ngcontent-%COMP%]{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-xl-11[_ngcontent-%COMP%]{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-xl-12[_ngcontent-%COMP%]{flex:0 0 100%;max-width:100%}.order-xl-first[_ngcontent-%COMP%]{order:-1}.order-xl-last[_ngcontent-%COMP%]{order:13}.order-xl-0[_ngcontent-%COMP%]{order:0}.order-xl-1[_ngcontent-%COMP%]{order:1}.order-xl-2[_ngcontent-%COMP%]{order:2}.order-xl-3[_ngcontent-%COMP%]{order:3}.order-xl-4[_ngcontent-%COMP%]{order:4}.order-xl-5[_ngcontent-%COMP%]{order:5}.order-xl-6[_ngcontent-%COMP%]{order:6}.order-xl-7[_ngcontent-%COMP%]{order:7}.order-xl-8[_ngcontent-%COMP%]{order:8}.order-xl-9[_ngcontent-%COMP%]{order:9}.order-xl-10[_ngcontent-%COMP%]{order:10}.order-xl-11[_ngcontent-%COMP%]{order:11}.order-xl-12[_ngcontent-%COMP%]{order:12}.offset-xl-0[_ngcontent-%COMP%]{margin-left:0}.offset-xl-1[_ngcontent-%COMP%]{margin-left:8.3333333333%}.offset-xl-2[_ngcontent-%COMP%]{margin-left:16.6666666667%}.offset-xl-3[_ngcontent-%COMP%]{margin-left:25%}.offset-xl-4[_ngcontent-%COMP%]{margin-left:33.3333333333%}.offset-xl-5[_ngcontent-%COMP%]{margin-left:41.6666666667%}.offset-xl-6[_ngcontent-%COMP%]{margin-left:50%}.offset-xl-7[_ngcontent-%COMP%]{margin-left:58.3333333333%}.offset-xl-8[_ngcontent-%COMP%]{margin-left:66.6666666667%}.offset-xl-9[_ngcontent-%COMP%]{margin-left:75%}.offset-xl-10[_ngcontent-%COMP%]{margin-left:83.3333333333%}.offset-xl-11[_ngcontent-%COMP%]{margin-left:91.6666666667%}}.table[_ngcontent-%COMP%]{width:100%;margin-bottom:1rem;color:#212529}.table[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%]{border-top:2px solid #dee2e6}.table-sm[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-sm[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{padding:.3rem}.table-bordered[_ngcontent-%COMP%], .table-bordered[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-bordered[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border:1px solid #dee2e6}.table-bordered[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-bordered[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-bottom-width:2px}.table-borderless[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-borderless[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-borderless[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-borderless[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border:0}.table-striped[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary[_ngcontent-%COMP%], .table-primary[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-primary[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#c4e2e7}.table-primary[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-primary[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-primary[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-primary[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#91cad2}.table-hover[_ngcontent-%COMP%]   .table-primary[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-primary[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-primary[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#b2d9e0}.table-secondary[_ngcontent-%COMP%], .table-secondary[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-secondary[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#fbd1cf}.table-secondary[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-secondary[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-secondary[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-secondary[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#f7aaa7}.table-hover[_ngcontent-%COMP%]   .table-secondary[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-secondary[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-secondary[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#f9bab7}.table-success[_ngcontent-%COMP%], .table-success[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-success[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#c3e6cb}.table-success[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-success[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-success[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-success[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#8fd19e}.table-hover[_ngcontent-%COMP%]   .table-success[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-success[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-success[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#b1dfbb}.table-info[_ngcontent-%COMP%], .table-info[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-info[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#bee5eb}.table-info[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-info[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-info[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-info[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#86cfda}.table-hover[_ngcontent-%COMP%]   .table-info[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-info[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-info[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#abdde5}.table-warning[_ngcontent-%COMP%], .table-warning[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-warning[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#ffeeba}.table-warning[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-warning[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-warning[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-warning[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#ffdf7e}.table-hover[_ngcontent-%COMP%]   .table-warning[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-warning[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-warning[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#ffe8a1}.table-danger[_ngcontent-%COMP%], .table-danger[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-danger[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#f5c6cb}.table-danger[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-danger[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-danger[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-danger[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#ed969e}.table-hover[_ngcontent-%COMP%]   .table-danger[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-danger[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-danger[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#f1b0b7}.table-light[_ngcontent-%COMP%], .table-light[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-light[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#fdfdfe}.table-light[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-light[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-light[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-light[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#fbfcfc}.table-hover[_ngcontent-%COMP%]   .table-light[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-light[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-light[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#ececf6}.table-dark[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#d9d9d9}.table-dark[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#b8b8b8}.table-hover[_ngcontent-%COMP%]   .table-dark[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-dark[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-dark[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#ccc}.table-active[_ngcontent-%COMP%], .table-active[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-active[_ngcontent-%COMP%] > th[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-active[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-active[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-active[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:rgba(0,0,0,.075)}.table[_ngcontent-%COMP%]   .thead-dark[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{color:#fff;background-color:#343a40;border-color:#454d55}.table[_ngcontent-%COMP%]   .thead-light[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark[_ngcontent-%COMP%]{color:#fff;background-color:#343a40}.table-dark[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#454d55}.table-dark.table-bordered[_ngcontent-%COMP%]{border:0}.table-dark.table-striped[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm[_ngcontent-%COMP%]{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm[_ngcontent-%COMP%] > .table-bordered[_ngcontent-%COMP%]{border:0}}@media (max-width:767.98px){.table-responsive-md[_ngcontent-%COMP%]{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md[_ngcontent-%COMP%] > .table-bordered[_ngcontent-%COMP%]{border:0}}@media (max-width:991.98px){.table-responsive-lg[_ngcontent-%COMP%]{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg[_ngcontent-%COMP%] > .table-bordered[_ngcontent-%COMP%]{border:0}}@media (max-width:1199.98px){.table-responsive-xl[_ngcontent-%COMP%]{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl[_ngcontent-%COMP%] > .table-bordered[_ngcontent-%COMP%]{border:0}}.table-responsive[_ngcontent-%COMP%]{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive[_ngcontent-%COMP%] > .table-bordered[_ngcontent-%COMP%]{border:0}.cd-form-control[_ngcontent-%COMP%], .form-control[_ngcontent-%COMP%]{width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.cd-form-control[_ngcontent-%COMP%], .form-control[_ngcontent-%COMP%]{transition:none}}.cd-form-control[_ngcontent-%COMP%]::-ms-expand, .form-control[_ngcontent-%COMP%]::-ms-expand{background-color:transparent;border:0}.cd-form-control[_ngcontent-%COMP%]:focus, .form-control[_ngcontent-%COMP%]:focus{color:#495057;background-color:#fff;box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.cd-form-control[_ngcontent-%COMP%]::placeholder, .form-control[_ngcontent-%COMP%]::placeholder{color:#6c757d;opacity:1}.cd-form-control[_ngcontent-%COMP%]:disabled, .form-control[_ngcontent-%COMP%]:disabled, .form-control[readonly][_ngcontent-%COMP%], [readonly].cd-form-control[_ngcontent-%COMP%]{background-color:#e9ecef;opacity:1}select.cd-form-control[_ngcontent-%COMP%]:focus::-ms-value, select.form-control[_ngcontent-%COMP%]:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file[_ngcontent-%COMP%], .form-control-range[_ngcontent-%COMP%]{display:block;width:100%}.cd-col-form-label[_ngcontent-%COMP%], .col-form-label[_ngcontent-%COMP%]{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg[_ngcontent-%COMP%]{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm[_ngcontent-%COMP%]{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext[_ngcontent-%COMP%]{display:block;width:100%;padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg[_ngcontent-%COMP%], .form-control-plaintext.form-control-sm[_ngcontent-%COMP%]{padding-right:0;padding-left:0}.form-control-sm[_ngcontent-%COMP%]{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg[_ngcontent-%COMP%]{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple][_ngcontent-%COMP%], select.form-control[size][_ngcontent-%COMP%], select[multiple].cd-form-control[_ngcontent-%COMP%], select[size].cd-form-control[_ngcontent-%COMP%], textarea.cd-form-control[_ngcontent-%COMP%], textarea.form-control[_ngcontent-%COMP%]{height:auto}.form-group[_ngcontent-%COMP%]{margin-bottom:1rem}.form-text[_ngcontent-%COMP%]{display:block;margin-top:.25rem}.form-row[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row[_ngcontent-%COMP%] > .col[_ngcontent-%COMP%], .form-row[_ngcontent-%COMP%] > [class*=col-][_ngcontent-%COMP%]{padding-right:5px;padding-left:5px}.form-check[_ngcontent-%COMP%]{position:relative;display:block;padding-left:1.25rem}.form-check-input[_ngcontent-%COMP%]{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input[_ngcontent-%COMP%]:disabled ~ .form-check-label[_ngcontent-%COMP%]{color:#6c757d}.form-check-label[_ngcontent-%COMP%]{margin-bottom:0}.form-check-inline[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback[_ngcontent-%COMP%]{display:none;width:100%;margin-top:.25rem;font-size:100%;color:#28a745}.valid-tooltip[_ngcontent-%COMP%]{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.form-control.is-valid[_ngcontent-%COMP%], .is-valid.cd-form-control[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:valid, .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:valid{border-color:#28a745;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=\'%2328a745\' d=\'M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z\'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:center right calc(.375em + .1875rem);background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid[_ngcontent-%COMP%]:focus, .is-valid.cd-form-control[_ngcontent-%COMP%]:focus, .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:valid:focus, .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-control.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .form-control.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .is-valid.cd-form-control[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .is-valid.cd-form-control[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%]{display:block}.was-validated[_ngcontent-%COMP%]   textarea.cd-form-control[_ngcontent-%COMP%]:valid, .was-validated[_ngcontent-%COMP%]   textarea.form-control[_ngcontent-%COMP%]:valid, textarea.form-control.is-valid[_ngcontent-%COMP%], textarea.is-valid.cd-form-control[_ngcontent-%COMP%]{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:valid{border-color:#28a745;padding-right:calc((1em + .75rem) * 3 / 4 + 1.75rem);background:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 4 5\'%3e%3cpath fill=\'%23343a40\' d=\'M2 0L0 2h4zm0 5L0 3h4z\'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat,url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 8 8\'%3e%3cpath fill=\'%2328a745\' d=\'M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z\'/%3e%3c/svg%3e") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat #fff}.custom-select.is-valid[_ngcontent-%COMP%]:focus, .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-select.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .custom-select.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%]{display:block}.form-control-file.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .form-control-file.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control-file[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control-file[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%]{display:block}.form-check-input.is-valid[_ngcontent-%COMP%] ~ .form-check-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]:valid ~ .form-check-label[_ngcontent-%COMP%]{color:#28a745}.form-check-input.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .form-check-input.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%]{display:block}.custom-control-input.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .custom-control-input.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%]{display:block}.custom-control-input.is-valid[_ngcontent-%COMP%]:focus ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid:focus ~ .custom-control-label[_ngcontent-%COMP%]::before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-file-input.is-valid[_ngcontent-%COMP%] ~ .custom-file-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:valid ~ .custom-file-label[_ngcontent-%COMP%]{border-color:#28a745}.custom-file-input.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .custom-file-input.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%]{display:block}.custom-file-input.is-valid[_ngcontent-%COMP%]:focus ~ .custom-file-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:valid:focus ~ .custom-file-label[_ngcontent-%COMP%]{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback[_ngcontent-%COMP%]{display:none;width:100%;margin-top:.25rem;font-size:100%;color:#dc3545}.invalid-tooltip[_ngcontent-%COMP%]{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.form-control.is-invalid[_ngcontent-%COMP%], .is-invalid.cd-form-control[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:invalid, .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]: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\' fill=\'%23dc3545\' viewBox=\'-2 -2 7 7\'%3e%3cpath stroke=\'%23dc3545\' d=\'M0 0l3 3m0-3L0 3\'/%3e%3ccircle r=\'.5\'/%3e%3ccircle cx=\'3\' r=\'.5\'/%3e%3ccircle cy=\'3\' r=\'.5\'/%3e%3ccircle cx=\'3\' cy=\'3\' r=\'.5\'/%3e%3c/svg%3E");background-repeat:no-repeat;background-position:center right calc(.375em + .1875rem);background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid[_ngcontent-%COMP%]:focus, .is-invalid.cd-form-control[_ngcontent-%COMP%]:focus, .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:invalid:focus, .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-control.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .form-control.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .is-invalid.cd-form-control[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .is-invalid.cd-form-control[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%]{display:block}.was-validated[_ngcontent-%COMP%]   textarea.cd-form-control[_ngcontent-%COMP%]:invalid, .was-validated[_ngcontent-%COMP%]   textarea.form-control[_ngcontent-%COMP%]:invalid, textarea.form-control.is-invalid[_ngcontent-%COMP%], textarea.is-invalid.cd-form-control[_ngcontent-%COMP%]{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:invalid{border-color:#dc3545;padding-right:calc((1em + .75rem) * 3 / 4 + 1.75rem);background:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 4 5\'%3e%3cpath fill=\'%23343a40\' d=\'M2 0L0 2h4zm0 5L0 3h4z\'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat,url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' fill=\'%23dc3545\' viewBox=\'-2 -2 7 7\'%3e%3cpath stroke=\'%23dc3545\' d=\'M0 0l3 3m0-3L0 3\'/%3e%3ccircle r=\'.5\'/%3e%3ccircle cx=\'3\' r=\'.5\'/%3e%3ccircle cy=\'3\' r=\'.5\'/%3e%3ccircle cx=\'3\' cy=\'3\' r=\'.5\'/%3e%3c/svg%3E") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat #fff}.custom-select.is-invalid[_ngcontent-%COMP%]:focus, .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-select.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .custom-select.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%]{display:block}.form-control-file.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .form-control-file.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control-file[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control-file[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%]{display:block}.form-check-input.is-invalid[_ngcontent-%COMP%] ~ .form-check-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]:invalid ~ .form-check-label[_ngcontent-%COMP%]{color:#dc3545}.form-check-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .form-check-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%]{display:block}.custom-control-input.is-invalid[_ngcontent-%COMP%] ~ .custom-control-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid ~ .custom-control-label[_ngcontent-%COMP%]{color:#dc3545}.custom-control-input.is-invalid[_ngcontent-%COMP%] ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#dc3545}.custom-control-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .custom-control-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%]{display:block}.custom-control-input.is-invalid[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid:checked ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#e4606d;background-color:#e4606d}.custom-control-input.is-invalid[_ngcontent-%COMP%]:focus ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid:focus ~ .custom-control-label[_ngcontent-%COMP%]::before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid[_ngcontent-%COMP%]:focus:not(:checked) ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid:focus:not(:checked) ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#dc3545}.custom-file-input.is-invalid[_ngcontent-%COMP%] ~ .custom-file-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:invalid ~ .custom-file-label[_ngcontent-%COMP%]{border-color:#dc3545}.custom-file-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .custom-file-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%]{display:block}.custom-file-input.is-invalid[_ngcontent-%COMP%]:focus ~ .custom-file-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:invalid:focus ~ .custom-file-label[_ngcontent-%COMP%]{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline[_ngcontent-%COMP%]{display:flex;flex-flow:row wrap;align-items:center}.form-inline[_ngcontent-%COMP%]   .form-check[_ngcontent-%COMP%]{width:100%}@media (min-width:576px){.form-inline[_ngcontent-%COMP%]   label[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;margin-bottom:0}.form-inline[_ngcontent-%COMP%]   .form-group[_ngcontent-%COMP%]{display:flex;flex:0 0 auto;flex-flow:row wrap;align-items:center;margin-bottom:0}.form-inline[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%], .form-inline[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]{display:inline-block;width:auto;vertical-align:middle}.form-inline[_ngcontent-%COMP%]   .form-control-plaintext[_ngcontent-%COMP%]{display:inline-block}.form-inline[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%], .form-inline[_ngcontent-%COMP%]   .input-group[_ngcontent-%COMP%]{width:auto}.form-inline[_ngcontent-%COMP%]   .form-check[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;width:auto;padding-left:0}.form-inline[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]{position:relative;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline[_ngcontent-%COMP%]   .custom-control[_ngcontent-%COMP%]{align-items:center;justify-content:center}.form-inline[_ngcontent-%COMP%]   .custom-control-label[_ngcontent-%COMP%]{margin-bottom:0}}.btn[_ngcontent-%COMP%]{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;-moz-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;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[_ngcontent-%COMP%]{transition:none}}.btn[_ngcontent-%COMP%]:hover{color:#212529;text-decoration:none}.btn.focus[_ngcontent-%COMP%], .btn[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.btn.disabled[_ngcontent-%COMP%], .btn[_ngcontent-%COMP%]:disabled{opacity:.65}a.btn.disabled[_ngcontent-%COMP%], fieldset[_ngcontent-%COMP%]:disabled   a.btn[_ngcontent-%COMP%]{pointer-events:none}.btn-primary[_ngcontent-%COMP%]{color:#fff;background-color:#2b99a8;border-color:#2b99a8}.btn-primary[_ngcontent-%COMP%]:hover{color:#fff;background-color:#237d8a;border-color:#21747f}.btn-primary.focus[_ngcontent-%COMP%], .btn-primary[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(75,168,181,.5)}.btn-primary.disabled[_ngcontent-%COMP%], .btn-primary[_ngcontent-%COMP%]:disabled{color:#fff;background-color:#2b99a8;border-color:#2b99a8}.btn-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-primary.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#21747f;border-color:#1e6b75}.btn-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-primary.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(75,168,181,.5)}.btn-secondary[_ngcontent-%COMP%]{color:#fff;background-color:#ef5c55;border-color:#ef5c55}.btn-secondary[_ngcontent-%COMP%]:hover{color:#fff;background-color:#ec3a32;border-color:#eb2f26}.btn-secondary.focus[_ngcontent-%COMP%], .btn-secondary[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(241,116,111,.5)}.btn-secondary.disabled[_ngcontent-%COMP%], .btn-secondary[_ngcontent-%COMP%]:disabled{color:#fff;background-color:#ef5c55;border-color:#ef5c55}.btn-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-secondary.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#eb2f26;border-color:#ea241b}.btn-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-secondary.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(241,116,111,.5)}.btn-success[_ngcontent-%COMP%]{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success[_ngcontent-%COMP%]:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus[_ngcontent-%COMP%], .btn-success[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled[_ngcontent-%COMP%], .btn-success[_ngcontent-%COMP%]:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-success.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-success.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-info[_ngcontent-%COMP%]{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info[_ngcontent-%COMP%]:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus[_ngcontent-%COMP%], .btn-info[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled[_ngcontent-%COMP%], .btn-info[_ngcontent-%COMP%]:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-info.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-info.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-warning[_ngcontent-%COMP%]{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning[_ngcontent-%COMP%]:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus[_ngcontent-%COMP%], .btn-warning[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled[_ngcontent-%COMP%], .btn-warning[_ngcontent-%COMP%]:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-warning.dropdown-toggle[_ngcontent-%COMP%]{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-warning.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-danger[_ngcontent-%COMP%]{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger[_ngcontent-%COMP%]:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus[_ngcontent-%COMP%], .btn-danger[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled[_ngcontent-%COMP%], .btn-danger[_ngcontent-%COMP%]:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-danger.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-danger.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-light[_ngcontent-%COMP%]{color:#212529}.btn-light[_ngcontent-%COMP%]:hover{color:#212529}.btn-light.focus[_ngcontent-%COMP%], .btn-light[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled[_ngcontent-%COMP%], .btn-light[_ngcontent-%COMP%]:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-light.dropdown-toggle[_ngcontent-%COMP%]{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-light.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-dark[_ngcontent-%COMP%]{color:#fff;background-color:#777;border-color:#777}.btn-dark[_ngcontent-%COMP%]:hover{color:#fff;background-color:#646464;border-color:#5e5e5e}.btn-dark.focus[_ngcontent-%COMP%], .btn-dark[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(139,139,139,.5)}.btn-dark.disabled[_ngcontent-%COMP%], .btn-dark[_ngcontent-%COMP%]:disabled{color:#fff;background-color:#777;border-color:#777}.btn-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-dark.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#5e5e5e;border-color:#575757}.btn-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-dark.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(139,139,139,.5)}.btn-outline-primary[_ngcontent-%COMP%]{color:#2b99a8;border-color:#2b99a8}.btn-outline-primary[_ngcontent-%COMP%]:hover{color:#fff;background-color:#2b99a8;border-color:#2b99a8}.btn-outline-primary.focus[_ngcontent-%COMP%], .btn-outline-primary[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(43,153,168,.5)}.btn-outline-primary.disabled[_ngcontent-%COMP%], .btn-outline-primary[_ngcontent-%COMP%]:disabled{color:#2b99a8;background-color:transparent}.btn-outline-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-primary.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#2b99a8;border-color:#2b99a8}.btn-outline-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-primary.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(43,153,168,.5)}.btn-outline-secondary[_ngcontent-%COMP%]{color:#ef5c55;border-color:#ef5c55}.btn-outline-secondary[_ngcontent-%COMP%]:hover{color:#fff;background-color:#ef5c55;border-color:#ef5c55}.btn-outline-secondary.focus[_ngcontent-%COMP%], .btn-outline-secondary[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(239,92,85,.5)}.btn-outline-secondary.disabled[_ngcontent-%COMP%], .btn-outline-secondary[_ngcontent-%COMP%]:disabled{color:#ef5c55;background-color:transparent}.btn-outline-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-secondary.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#ef5c55;border-color:#ef5c55}.btn-outline-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-secondary.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(239,92,85,.5)}.btn-outline-success[_ngcontent-%COMP%]{color:#28a745;border-color:#28a745}.btn-outline-success[_ngcontent-%COMP%]:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus[_ngcontent-%COMP%], .btn-outline-success[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled[_ngcontent-%COMP%], .btn-outline-success[_ngcontent-%COMP%]:disabled{color:#28a745;background-color:transparent}.btn-outline-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-success.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-success.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info[_ngcontent-%COMP%]{color:#17a2b8;border-color:#17a2b8}.btn-outline-info[_ngcontent-%COMP%]:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus[_ngcontent-%COMP%], .btn-outline-info[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled[_ngcontent-%COMP%], .btn-outline-info[_ngcontent-%COMP%]:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-info.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-info.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning[_ngcontent-%COMP%]{color:#ffc107;border-color:#ffc107}.btn-outline-warning[_ngcontent-%COMP%]:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus[_ngcontent-%COMP%], .btn-outline-warning[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled[_ngcontent-%COMP%], .btn-outline-warning[_ngcontent-%COMP%]:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-warning.dropdown-toggle[_ngcontent-%COMP%]{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-warning.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger[_ngcontent-%COMP%]{color:#dc3545;border-color:#dc3545}.btn-outline-danger[_ngcontent-%COMP%]:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus[_ngcontent-%COMP%], .btn-outline-danger[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled[_ngcontent-%COMP%], .btn-outline-danger[_ngcontent-%COMP%]:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-danger.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-danger.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light[_ngcontent-%COMP%]{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light[_ngcontent-%COMP%]:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus[_ngcontent-%COMP%], .btn-outline-light[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled[_ngcontent-%COMP%], .btn-outline-light[_ngcontent-%COMP%]:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-light.dropdown-toggle[_ngcontent-%COMP%]{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-light.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark[_ngcontent-%COMP%]{color:#777;border-color:#777}.btn-outline-dark[_ngcontent-%COMP%]:hover{color:#fff;background-color:#777;border-color:#777}.btn-outline-dark.focus[_ngcontent-%COMP%], .btn-outline-dark[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(119,119,119,.5)}.btn-outline-dark.disabled[_ngcontent-%COMP%], .btn-outline-dark[_ngcontent-%COMP%]:disabled{color:#777;background-color:transparent}.btn-outline-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-dark.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#777;border-color:#777}.btn-outline-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-dark.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(119,119,119,.5)}.btn-link[_ngcontent-%COMP%]{font-weight:400;color:#2b99a8;text-decoration:none}.btn-link[_ngcontent-%COMP%]:hover{color:#1b626b;text-decoration:underline}.btn-link.focus[_ngcontent-%COMP%], .btn-link[_ngcontent-%COMP%]:focus{text-decoration:underline;box-shadow:none}.btn-link.disabled[_ngcontent-%COMP%], .btn-link[_ngcontent-%COMP%]:disabled{color:#6c757d;pointer-events:none}.btn-group-lg[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .btn-lg[_ngcontent-%COMP%]{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .btn-sm[_ngcontent-%COMP%]{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block[_ngcontent-%COMP%]{display:block;width:100%}.btn-block[_ngcontent-%COMP%] + .btn-block[_ngcontent-%COMP%]{margin-top:.5rem}input[type=button].btn-block[_ngcontent-%COMP%], input[type=reset].btn-block[_ngcontent-%COMP%], input[type=submit].btn-block[_ngcontent-%COMP%]{width:100%}.fade[_ngcontent-%COMP%]{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade[_ngcontent-%COMP%]{transition:none}}.fade[_ngcontent-%COMP%]:not(.show){opacity:0}.collapse[_ngcontent-%COMP%]:not(.show){display:none}.collapsing[_ngcontent-%COMP%]{position:relative;height:0;overflow:hidden;transition:height .35s ease}.dropdown[_ngcontent-%COMP%], .dropleft[_ngcontent-%COMP%], .dropright[_ngcontent-%COMP%], .dropup[_ngcontent-%COMP%]{position:relative}.dropdown-toggle[_ngcontent-%COMP%]{white-space:nowrap}.dropdown-toggle[_ngcontent-%COMP%]::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[_ngcontent-%COMP%]:empty::after{margin-left:0}.dropdown-menu[_ngcontent-%COMP%]{position:absolute;top:100%;left:0;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left[_ngcontent-%COMP%]{right:auto;left:0}.dropdown-menu-right[_ngcontent-%COMP%]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left[_ngcontent-%COMP%]{right:auto;left:0}.dropdown-menu-sm-right[_ngcontent-%COMP%]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left[_ngcontent-%COMP%]{right:auto;left:0}.dropdown-menu-md-right[_ngcontent-%COMP%]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left[_ngcontent-%COMP%]{right:auto;left:0}.dropdown-menu-lg-right[_ngcontent-%COMP%]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left[_ngcontent-%COMP%]{right:auto;left:0}.dropdown-menu-xl-right[_ngcontent-%COMP%]{right:0;left:auto}}.dropup[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]::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[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]:empty::after{margin-left:0}.dropright[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]::after{display:inline-block;margin-left:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid;vertical-align:0}.dropright[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]:empty::after{margin-left:0}.dropleft[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]::after{margin-left:.255em;vertical-align:.255em;content:"";display:none}.dropleft[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]::before{display:inline-block;margin-right:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent;vertical-align:0}.dropleft[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]:empty::after{margin-left:0}.dropdown-menu[x-placement^=bottom][_ngcontent-%COMP%], .dropdown-menu[x-placement^=left][_ngcontent-%COMP%], .dropdown-menu[x-placement^=right][_ngcontent-%COMP%], .dropdown-menu[x-placement^=top][_ngcontent-%COMP%]{right:auto;bottom:auto}.dropdown-divider[_ngcontent-%COMP%]{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item[_ngcontent-%COMP%]{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item[_ngcontent-%COMP%]:focus, .dropdown-item[_ngcontent-%COMP%]:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active[_ngcontent-%COMP%], .dropdown-item[_ngcontent-%COMP%]:active{color:#fff;text-decoration:none;background-color:#2b99a8}.dropdown-item.disabled[_ngcontent-%COMP%], .dropdown-item[_ngcontent-%COMP%]:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show[_ngcontent-%COMP%]{display:block}.dropdown-header[_ngcontent-%COMP%]{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text[_ngcontent-%COMP%]{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%]{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]{position:relative;flex:1 1 auto}.btn-group-vertical[_ngcontent-%COMP%] > .btn.active[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:active, .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:focus, .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:hover, .btn-group[_ngcontent-%COMP%] > .btn.active[_ngcontent-%COMP%], .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:active, .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:focus, .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:hover{z-index:1}.btn-toolbar[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar[_ngcontent-%COMP%]   .input-group[_ngcontent-%COMP%]{width:auto}.btn-group[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:first-child), .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:first-child){margin-left:-1px}.btn-group[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:last-child) > .btn[_ngcontent-%COMP%], .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:first-child) > .btn[_ngcontent-%COMP%], .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split[_ngcontent-%COMP%]{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split[_ngcontent-%COMP%]::after, .dropright[_ngcontent-%COMP%]   .dropdown-toggle-split[_ngcontent-%COMP%]::after, .dropup[_ngcontent-%COMP%]   .dropdown-toggle-split[_ngcontent-%COMP%]::after{margin-left:0}.dropleft[_ngcontent-%COMP%]   .dropdown-toggle-split[_ngcontent-%COMP%]::before{margin-right:0}.btn-group-sm[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%] + .dropdown-toggle-split[_ngcontent-%COMP%], .btn-sm[_ngcontent-%COMP%] + .dropdown-toggle-split[_ngcontent-%COMP%]{padding-right:.375rem;padding-left:.375rem}.btn-group-lg[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%] + .dropdown-toggle-split[_ngcontent-%COMP%], .btn-lg[_ngcontent-%COMP%] + .dropdown-toggle-split[_ngcontent-%COMP%]{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]{width:100%}.btn-group-vertical[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:first-child), .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:first-child){margin-top:-1px}.btn-group-vertical[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:last-child) > .btn[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:first-child) > .btn[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .btn-group-toggle[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]{margin-bottom:0}.btn-group-toggle[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]   input[type=checkbox][_ngcontent-%COMP%], .btn-group-toggle[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]   input[type=radio][_ngcontent-%COMP%], .btn-group-toggle[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]   input[type=checkbox][_ngcontent-%COMP%], .btn-group-toggle[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]   input[type=radio][_ngcontent-%COMP%]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group[_ngcontent-%COMP%]{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control-plaintext[_ngcontent-%COMP%]{position:relative;flex:1 1 auto;width:1%;margin-bottom:0}.input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%] + .cd-form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%] + .custom-file[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%] + .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%] + .form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%] + .cd-form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%] + .custom-file[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%] + .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%] + .form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%] + .cd-form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%] + .custom-file[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%] + .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%] + .form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%] + .cd-form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%] + .custom-file[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%] + .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%] + .form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control-plaintext[_ngcontent-%COMP%] + .cd-form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control-plaintext[_ngcontent-%COMP%] + .custom-file[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control-plaintext[_ngcontent-%COMP%] + .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control-plaintext[_ngcontent-%COMP%] + .form-control[_ngcontent-%COMP%]{margin-left:-1px}.input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%]:focus, .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:focus ~ .custom-file-label[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%]:focus, .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%]:focus{z-index:3}.input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:focus{z-index:4}.input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%]:not(:last-child), .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%]:not(:last-child), .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%]:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%]:not(:first-child), .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%]:not(:first-child), .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%]:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]{display:flex;align-items:center}.input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]:not(:last-child)   .custom-file-label[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]:not(:last-child)   .custom-file-label[_ngcontent-%COMP%]::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]:not(:first-child)   .custom-file-label[_ngcontent-%COMP%]{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%]{display:flex}.input-group-append[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%]{position:relative;z-index:2}.input-group-append[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%]:focus, .input-group-prepend[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%]:focus{z-index:3}.input-group-append[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%] + .btn[_ngcontent-%COMP%], .input-group-append[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%] + .input-group-text[_ngcontent-%COMP%], .input-group-append[_ngcontent-%COMP%]   .input-group-text[_ngcontent-%COMP%] + .btn[_ngcontent-%COMP%], .input-group-append[_ngcontent-%COMP%]   .input-group-text[_ngcontent-%COMP%] + .input-group-text[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%] + .btn[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%] + .input-group-text[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%]   .input-group-text[_ngcontent-%COMP%] + .btn[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%]   .input-group-text[_ngcontent-%COMP%] + .input-group-text[_ngcontent-%COMP%]{margin-left:-1px}.input-group-prepend[_ngcontent-%COMP%]{margin-right:-1px}.input-group-append[_ngcontent-%COMP%]{margin-left:-1px}.input-group-text[_ngcontent-%COMP%]{display:flex;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text[_ngcontent-%COMP%]   input[type=checkbox][_ngcontent-%COMP%], .input-group-text[_ngcontent-%COMP%]   input[type=radio][_ngcontent-%COMP%]{margin-top:0}.input-group-lg[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%]:not(textarea), .input-group-lg[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%]:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%]{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%]:not(textarea), .input-group-sm[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%]:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%]{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%]{padding-right:1.75rem}.input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%]:last-child > .btn[_ngcontent-%COMP%]:not(:last-child):not(.dropdown-toggle), .input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%]:last-child > .input-group-text[_ngcontent-%COMP%]:not(:last-child), .input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%]:not(:last-child) > .btn[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%]:not(:last-child) > .input-group-text[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%]{border-top-right-radius:0;border-bottom-right-radius:0}.input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%]:first-child > .btn[_ngcontent-%COMP%]:not(:first-child), .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%]:first-child > .input-group-text[_ngcontent-%COMP%]:not(:first-child), .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%]:not(:first-child) > .btn[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%]:not(:first-child) > .input-group-text[_ngcontent-%COMP%]{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control[_ngcontent-%COMP%]{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline[_ngcontent-%COMP%]{display:inline-flex;margin-right:1rem}.custom-control-input[_ngcontent-%COMP%]{position:absolute;z-index:-1;opacity:0}.custom-control-input[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::before{color:#fff;border-color:#2b99a8;background-color:#2b99a8}.custom-control-input[_ngcontent-%COMP%]:focus ~ .custom-control-label[_ngcontent-%COMP%]::before{box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.custom-control-input[_ngcontent-%COMP%]:focus:not(:checked) ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#76d0dc}.custom-control-input[_ngcontent-%COMP%]:not(:disabled):active ~ .custom-control-label[_ngcontent-%COMP%]::before{color:#fff;background-color:#9fdee6;border-color:#9fdee6}.custom-control-input[_ngcontent-%COMP%]:disabled ~ .custom-control-label[_ngcontent-%COMP%]{color:#6c757d}.custom-control-input[_ngcontent-%COMP%]:disabled ~ .custom-control-label[_ngcontent-%COMP%]::before{background-color:#e9ecef}.custom-control-label[_ngcontent-%COMP%]{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label[_ngcontent-%COMP%]::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#fff;border:1px solid #adb5bd}.custom-control-label[_ngcontent-%COMP%]::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:50%/50% 50% no-repeat}.custom-checkbox[_ngcontent-%COMP%]   .custom-control-label[_ngcontent-%COMP%]::before{border-radius:.25rem}.custom-checkbox[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::after{background-image:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 8 8\'%3e%3cpath fill=\'%23fff\' d=\'M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z\'/%3e%3c/svg%3e")}.custom-checkbox[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:indeterminate ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#2b99a8;background-color:#2b99a8}.custom-checkbox[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:indeterminate ~ .custom-control-label[_ngcontent-%COMP%]::after{background-image:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 4 4\'%3e%3cpath stroke=\'%23fff\' d=\'M0 2h4\'/%3e%3c/svg%3e")}.custom-checkbox[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:disabled:checked ~ .custom-control-label[_ngcontent-%COMP%]::before{background-color:rgba(43,153,168,.5)}.custom-checkbox[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:disabled:indeterminate ~ .custom-control-label[_ngcontent-%COMP%]::before{background-color:rgba(43,153,168,.5)}.custom-radio[_ngcontent-%COMP%]   .custom-control-label[_ngcontent-%COMP%]::before{border-radius:50%}.custom-radio[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::after{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")}.custom-radio[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:disabled:checked ~ .custom-control-label[_ngcontent-%COMP%]::before{background-color:rgba(43,153,168,.5)}.custom-switch[_ngcontent-%COMP%]{padding-left:2.25rem}.custom-switch[_ngcontent-%COMP%]   .custom-control-label[_ngcontent-%COMP%]::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch[_ngcontent-%COMP%]   .custom-control-label[_ngcontent-%COMP%]::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.custom-switch[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::after{background-color:#fff;transform:translateX(.75rem)}.custom-switch[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:disabled:checked ~ .custom-control-label[_ngcontent-%COMP%]::before{background-color:rgba(43,153,168,.5)}.custom-select[_ngcontent-%COMP%]{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 4 5\'%3e%3cpath fill=\'%23343a40\' d=\'M2 0L0 2h4zm0 5L0 3h4z\'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat #fff;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select[_ngcontent-%COMP%]:focus{border-color:#76d0dc;outline:0;box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.custom-select[_ngcontent-%COMP%]:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple][_ngcontent-%COMP%], .custom-select[size][_ngcontent-%COMP%]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select[_ngcontent-%COMP%]:disabled{color:#6c757d;background-color:#e9ecef}.custom-select[_ngcontent-%COMP%]::-ms-expand{display:none}.custom-select-sm[_ngcontent-%COMP%]{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg[_ngcontent-%COMP%]{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file[_ngcontent-%COMP%]{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}.custom-file-input[_ngcontent-%COMP%]{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;opacity:0}.custom-file-input[_ngcontent-%COMP%]:focus ~ .custom-file-label[_ngcontent-%COMP%]{border-color:#76d0dc;box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.custom-file-input[_ngcontent-%COMP%]:disabled ~ .custom-file-label[_ngcontent-%COMP%]{background-color:#e9ecef}.custom-file-input[_ngcontent-%COMP%]:lang(en) ~ .custom-file-label[_ngcontent-%COMP%]::after{content:"Browse"}.custom-file-input[_ngcontent-%COMP%] ~ .custom-file-label[data-browse][_ngcontent-%COMP%]::after{content:attr(data-browse)}.custom-file-label[_ngcontent-%COMP%]{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label[_ngcontent-%COMP%]::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range[_ngcontent-%COMP%]{width:100%;height:calc(1rem + .4rem);padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range[_ngcontent-%COMP%]:focus{outline:0}.custom-range[_ngcontent-%COMP%]:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(43,153,168,.25)}.custom-range[_ngcontent-%COMP%]:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(43,153,168,.25)}.custom-range[_ngcontent-%COMP%]:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(43,153,168,.25)}.custom-range[_ngcontent-%COMP%]::-moz-focus-outer{border:0}.custom-range[_ngcontent-%COMP%]::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#2b99a8;border:0;border-radius:1rem;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){.collapsing[_ngcontent-%COMP%], .custom-switch[_ngcontent-%COMP%]   .custom-control-label[_ngcontent-%COMP%]::after{transition:none}.custom-range[_ngcontent-%COMP%]::-webkit-slider-thumb{transition:none}}.custom-range[_ngcontent-%COMP%]::-webkit-slider-thumb:active{background-color:#9fdee6}.custom-range[_ngcontent-%COMP%]::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range[_ngcontent-%COMP%]::-moz-range-thumb{width:1rem;height:1rem;background-color:#2b99a8;border:0;border-radius:1rem;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){.custom-range[_ngcontent-%COMP%]::-moz-range-thumb{transition:none}}.custom-range[_ngcontent-%COMP%]::-moz-range-thumb:active{background-color:#9fdee6}.custom-range[_ngcontent-%COMP%]::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range[_ngcontent-%COMP%]::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#2b99a8;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range[_ngcontent-%COMP%]::-ms-thumb{transition:none}}.custom-range[_ngcontent-%COMP%]::-ms-thumb:active{background-color:#9fdee6}.custom-range[_ngcontent-%COMP%]::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range[_ngcontent-%COMP%]::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range[_ngcontent-%COMP%]::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-range[_ngcontent-%COMP%]:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range[_ngcontent-%COMP%]:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range[_ngcontent-%COMP%]:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range[_ngcontent-%COMP%]:disabled::-moz-range-track{cursor:default}.custom-range[_ngcontent-%COMP%]:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label[_ngcontent-%COMP%]::before, .custom-file-label[_ngcontent-%COMP%], .custom-select[_ngcontent-%COMP%]{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label[_ngcontent-%COMP%]::before, .custom-file-label[_ngcontent-%COMP%], .custom-select[_ngcontent-%COMP%]{transition:none}}.nav[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link[_ngcontent-%COMP%]{display:block;padding:.5rem 1rem}.nav-link[_ngcontent-%COMP%]:focus, .nav-link[_ngcontent-%COMP%]:hover{text-decoration:none}.nav-link.disabled[_ngcontent-%COMP%]{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs[_ngcontent-%COMP%]{border-bottom:1px solid #dee2e6}.nav-tabs[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]{margin-bottom:-1px}.nav-tabs[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]:focus, .nav-tabs[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs[_ngcontent-%COMP%]   .nav-link.disabled[_ngcontent-%COMP%]{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs[_ngcontent-%COMP%]   .nav-item.show[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%], .nav-tabs[_ngcontent-%COMP%]   .nav-link.active[_ngcontent-%COMP%]{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{border-radius:.25rem}.nav-pills[_ngcontent-%COMP%]   .nav-link.active[_ngcontent-%COMP%], .nav-pills[_ngcontent-%COMP%]   .show[_ngcontent-%COMP%] > .nav-link[_ngcontent-%COMP%]{color:#fff;background-color:#2b99a8}.nav-fill[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]{flex:1 1 auto;text-align:center}.nav-justified[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;text-align:center}.tab-content[_ngcontent-%COMP%] > .tab-pane[_ngcontent-%COMP%]{display:none}.tab-content[_ngcontent-%COMP%] > .active[_ngcontent-%COMP%]{display:block}.navbar[_ngcontent-%COMP%]{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:.5rem 1rem}.navbar[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.navbar-brand[_ngcontent-%COMP%]{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand[_ngcontent-%COMP%]:focus, .navbar-brand[_ngcontent-%COMP%]:hover{text-decoration:none}.navbar-nav[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{padding-right:0;padding-left:0}.navbar-nav[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{position:static;float:none}.navbar-text[_ngcontent-%COMP%]{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse[_ngcontent-%COMP%]{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler[_ngcontent-%COMP%]{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler[_ngcontent-%COMP%]:focus, .navbar-toggler[_ngcontent-%COMP%]:hover{text-decoration:none}.navbar-toggler-icon[_ngcontent-%COMP%]{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:center center/100% 100% no-repeat}@media (max-width:575.98px){.navbar-expand-sm[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-sm[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm[_ngcontent-%COMP%]{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-sm[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]{flex-direction:row}.navbar-expand-sm[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{position:absolute}.navbar-expand-sm[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-sm[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{flex-wrap:nowrap}.navbar-expand-sm[_ngcontent-%COMP%]   .navbar-collapse[_ngcontent-%COMP%]{display:flex!important;flex-basis:auto}.navbar-expand-sm[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{display:none}}@media (max-width:767.98px){.navbar-expand-md[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-md[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md[_ngcontent-%COMP%]{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-md[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]{flex-direction:row}.navbar-expand-md[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{position:absolute}.navbar-expand-md[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-md[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{flex-wrap:nowrap}.navbar-expand-md[_ngcontent-%COMP%]   .navbar-collapse[_ngcontent-%COMP%]{display:flex!important;flex-basis:auto}.navbar-expand-md[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{display:none}}@media (max-width:991.98px){.navbar-expand-lg[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-lg[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg[_ngcontent-%COMP%]{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]{flex-direction:row}.navbar-expand-lg[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{position:absolute}.navbar-expand-lg[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-lg[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{flex-wrap:nowrap}.navbar-expand-lg[_ngcontent-%COMP%]   .navbar-collapse[_ngcontent-%COMP%]{display:flex!important;flex-basis:auto}.navbar-expand-lg[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{display:none}}@media (max-width:1199.98px){.navbar-expand-xl[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-xl[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl[_ngcontent-%COMP%]{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-xl[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]{flex-direction:row}.navbar-expand-xl[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{position:absolute}.navbar-expand-xl[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-xl[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{flex-wrap:nowrap}.navbar-expand-xl[_ngcontent-%COMP%]   .navbar-collapse[_ngcontent-%COMP%]{display:flex!important;flex-basis:auto}.navbar-expand-xl[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{display:none}}.navbar-expand[_ngcontent-%COMP%]{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]{flex-direction:row}.navbar-expand[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{position:absolute}.navbar-expand[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{padding-right:.5rem;padding-left:.5rem}.navbar-expand[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{padding-right:0;padding-left:0;flex-wrap:nowrap}.navbar-expand[_ngcontent-%COMP%]   .navbar-collapse[_ngcontent-%COMP%]{display:flex!important;flex-basis:auto}.navbar-expand[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{display:none}.navbar-light[_ngcontent-%COMP%]   .navbar-brand[_ngcontent-%COMP%], .navbar-light[_ngcontent-%COMP%]   .navbar-brand[_ngcontent-%COMP%]:focus, .navbar-light[_ngcontent-%COMP%]   .navbar-brand[_ngcontent-%COMP%]:hover{color:rgba(0,0,0,.9)}.navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{color:rgba(0,0,0,.5)}.navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]:focus, .navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]:hover{color:rgba(0,0,0,.7)}.navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link.disabled[_ngcontent-%COMP%]{color:rgba(0,0,0,.3)}.navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .active[_ngcontent-%COMP%] > .nav-link[_ngcontent-%COMP%], .navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link.active[_ngcontent-%COMP%], .navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link.show[_ngcontent-%COMP%], .navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .show[_ngcontent-%COMP%] > .nav-link[_ngcontent-%COMP%]{color:rgba(0,0,0,.9)}.navbar-light[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light[_ngcontent-%COMP%]   .navbar-toggler-icon[_ngcontent-%COMP%]{background-image:url("data:image/svg+xml,%3csvg viewBox=\'0 0 30 30\' xmlns=\'http://www.w3.org/2000/svg\'%3e%3cpath stroke=\'rgba(0, 0, 0, 0.5)\' stroke-width=\'2\' stroke-linecap=\'round\' stroke-miterlimit=\'10\' d=\'M4 7h22M4 15h22M4 23h22\'/%3e%3c/svg%3e")}.navbar-light[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]{color:rgba(0,0,0,.5)}.navbar-light[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]   a[_ngcontent-%COMP%], .navbar-light[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]:focus, .navbar-light[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]:hover{color:rgba(0,0,0,.9)}.navbar-dark[_ngcontent-%COMP%]   .navbar-brand[_ngcontent-%COMP%], .navbar-dark[_ngcontent-%COMP%]   .navbar-brand[_ngcontent-%COMP%]:focus, .navbar-dark[_ngcontent-%COMP%]   .navbar-brand[_ngcontent-%COMP%]:hover{color:#fff}.navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{color:rgba(255,255,255,.5)}.navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]:focus, .navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]:hover{color:rgba(255,255,255,.75)}.navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link.disabled[_ngcontent-%COMP%]{color:rgba(255,255,255,.25)}.navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .active[_ngcontent-%COMP%] > .nav-link[_ngcontent-%COMP%], .navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link.active[_ngcontent-%COMP%], .navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link.show[_ngcontent-%COMP%], .navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .show[_ngcontent-%COMP%] > .nav-link[_ngcontent-%COMP%]{color:#fff}.navbar-dark[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark[_ngcontent-%COMP%]   .navbar-toggler-icon[_ngcontent-%COMP%]{background-image:url("data:image/svg+xml,%3csvg viewBox=\'0 0 30 30\' xmlns=\'http://www.w3.org/2000/svg\'%3e%3cpath stroke=\'rgba(255, 255, 255, 0.5)\' stroke-width=\'2\' stroke-linecap=\'round\' stroke-miterlimit=\'10\' d=\'M4 7h22M4 15h22M4 23h22\'/%3e%3c/svg%3e")}.navbar-dark[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]{color:rgba(255,255,255,.5)}.navbar-dark[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]   a[_ngcontent-%COMP%], .navbar-dark[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]:focus, .navbar-dark[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]:hover{color:#fff}.card[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card[_ngcontent-%COMP%] > hr[_ngcontent-%COMP%], pre[_ngcontent-%COMP%] > hr[_ngcontent-%COMP%]{margin-right:0;margin-left:0}.card[_ngcontent-%COMP%] > .list-group[_ngcontent-%COMP%]:first-child   .list-group-item[_ngcontent-%COMP%]:first-child, pre[_ngcontent-%COMP%] > .list-group[_ngcontent-%COMP%]:first-child   .list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card[_ngcontent-%COMP%] > .list-group[_ngcontent-%COMP%]:last-child   .list-group-item[_ngcontent-%COMP%]:last-child, pre[_ngcontent-%COMP%] > .list-group[_ngcontent-%COMP%]:last-child   .list-group-item[_ngcontent-%COMP%]:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body[_ngcontent-%COMP%]{flex:1 1 auto;padding:1.25rem}.card-title[_ngcontent-%COMP%]{margin-bottom:.75rem}.card-subtitle[_ngcontent-%COMP%]{margin-top:-.375rem;margin-bottom:0}.card-text[_ngcontent-%COMP%]:last-child{margin-bottom:0}.card-link[_ngcontent-%COMP%]:hover{text-decoration:none}.card-link[_ngcontent-%COMP%] + .card-link[_ngcontent-%COMP%]{margin-left:1.25rem}.card-header[_ngcontent-%COMP%]{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header[_ngcontent-%COMP%]:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header[_ngcontent-%COMP%] + .list-group[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:first-child{border-top:0}.card-footer[_ngcontent-%COMP%]{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer[_ngcontent-%COMP%]:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs[_ngcontent-%COMP%]{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills[_ngcontent-%COMP%]{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay[_ngcontent-%COMP%]{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img[_ngcontent-%COMP%]{width:100%;border-radius:calc(.25rem - 1px)}.card-img-top[_ngcontent-%COMP%]{width:100%;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img-bottom[_ngcontent-%COMP%]{width:100%;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck[_ngcontent-%COMP%]{display:flex;flex-direction:column}.card-deck[_ngcontent-%COMP%]   .card[_ngcontent-%COMP%], .card-deck[_ngcontent-%COMP%]   pre[_ngcontent-%COMP%]{margin-bottom:15px}@media (min-width:576px){.card-deck[_ngcontent-%COMP%]{flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck[_ngcontent-%COMP%]   .card[_ngcontent-%COMP%], .card-deck[_ngcontent-%COMP%]   pre[_ngcontent-%COMP%]{display:flex;flex:1 0 0%;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group[_ngcontent-%COMP%]{display:flex;flex-direction:column}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]{margin-bottom:15px}@media (min-width:576px){.card-group[_ngcontent-%COMP%]{flex-flow:row wrap}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]{flex:1 0 0%;margin-bottom:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%] + .card[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%] + pre[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%] + .card[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%] + pre[_ngcontent-%COMP%]{margin-left:0;border-left:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:last-child), .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:last-child)   .card-header[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:last-child)   .card-img-top[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:last-child)   .card-header[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:last-child)   .card-img-top[_ngcontent-%COMP%]{border-top-right-radius:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:last-child)   .card-footer[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:last-child)   .card-img-bottom[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:last-child)   .card-footer[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:last-child)   .card-img-bottom[_ngcontent-%COMP%]{border-bottom-right-radius:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-child), .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-child)   .card-header[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-child)   .card-img-top[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-child)   .card-header[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-child)   .card-img-top[_ngcontent-%COMP%]{border-top-left-radius:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-child)   .card-footer[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-child)   .card-img-bottom[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-child)   .card-footer[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-child)   .card-img-bottom[_ngcontent-%COMP%]{border-bottom-left-radius:0}.card-columns[_ngcontent-%COMP%]{column-count:3;column-gap:1.25rem;orphans:1;widows:1}.card-columns[_ngcontent-%COMP%]   .card[_ngcontent-%COMP%], .card-columns[_ngcontent-%COMP%]   pre[_ngcontent-%COMP%]{display:inline-block;width:100%}}.card-columns[_ngcontent-%COMP%]   .card[_ngcontent-%COMP%], .card-columns[_ngcontent-%COMP%]   pre[_ngcontent-%COMP%]{margin-bottom:.75rem}.accordion[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%], .accordion[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]{overflow:hidden}.accordion[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-of-type)   .card-header[_ngcontent-%COMP%]:first-child, .accordion[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-of-type)   .card-header[_ngcontent-%COMP%]:first-child{border-radius:0}.accordion[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-of-type):not(:last-of-type), .accordion[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-of-type):not(:last-of-type){border-bottom:0;border-radius:0}.accordion[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:first-of-type, .accordion[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:first-of-type{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:last-of-type, .accordion[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:last-of-type{border-top-left-radius:0;border-top-right-radius:0}.accordion[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]   .card-header[_ngcontent-%COMP%], .accordion[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]   .card-header[_ngcontent-%COMP%]{margin-bottom:-1px}.breadcrumb[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item[_ngcontent-%COMP%] + .breadcrumb-item[_ngcontent-%COMP%]{padding-left:.5rem}.breadcrumb-item[_ngcontent-%COMP%] + .breadcrumb-item[_ngcontent-%COMP%]::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item[_ngcontent-%COMP%] + .breadcrumb-item[_ngcontent-%COMP%]:hover::before{text-decoration:none}.breadcrumb-item.active[_ngcontent-%COMP%]{color:#6c757d}.pagination[_ngcontent-%COMP%],   .cd-datatable .datatable-footer .datatable-pager ul{display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link[_ngcontent-%COMP%],   .cd-datatable .datatable-footer .datatable-pager ul li a{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#2b99a8;background-color:#fff;border:1px solid #dee2e6}.page-link[_ngcontent-%COMP%]:hover,   .cd-datatable .datatable-footer .datatable-pager ul li a:hover{z-index:2;color:#1b626b;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link[_ngcontent-%COMP%]:focus,   .cd-datatable .datatable-footer .datatable-pager ul li a:focus{z-index:2;outline:0;box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.page-item[_ngcontent-%COMP%]:first-child   .page-link[_ngcontent-%COMP%], .page-item[_ngcontent-%COMP%]:first-child     .cd-datatable .datatable-footer .datatable-pager ul li a,   .cd-datatable .datatable-footer .datatable-pager ul li .page-item:first-child a,   .cd-datatable .datatable-footer .datatable-pager ul li:first-child .page-link,   .cd-datatable .datatable-footer .datatable-pager ul li:first-child a{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item[_ngcontent-%COMP%]:last-child   .page-link[_ngcontent-%COMP%], .page-item[_ngcontent-%COMP%]:last-child     .cd-datatable .datatable-footer .datatable-pager ul li a,   .cd-datatable .datatable-footer .datatable-pager ul li .page-item:last-child a,   .cd-datatable .datatable-footer .datatable-pager ul li:last-child .page-link,   .cd-datatable .datatable-footer .datatable-pager ul li:last-child a{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active[_ngcontent-%COMP%]   .page-link[_ngcontent-%COMP%], .page-item.active[_ngcontent-%COMP%]     .cd-datatable .datatable-footer .datatable-pager ul li a,   .cd-datatable .datatable-footer .datatable-pager ul li .page-item.active a,   .cd-datatable .datatable-footer .datatable-pager ul li.active .page-link,   .cd-datatable .datatable-footer .datatable-pager ul li.active a{z-index:1;color:#fff;background-color:#2b99a8;border-color:#2b99a8}.page-item.disabled[_ngcontent-%COMP%]   .page-link[_ngcontent-%COMP%], .page-item.disabled[_ngcontent-%COMP%]     .cd-datatable .datatable-footer .datatable-pager ul li a,   .cd-datatable .datatable-footer .datatable-pager ul li .page-item.disabled a,   .cd-datatable .datatable-footer .datatable-pager ul li.disabled .page-link,   .cd-datatable .datatable-footer .datatable-pager ul li.disabled a{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg[_ngcontent-%COMP%]   .page-link[_ngcontent-%COMP%], .pagination-lg[_ngcontent-%COMP%]     .cd-datatable .datatable-footer .datatable-pager ul li a,   .cd-datatable .datatable-footer .datatable-pager ul li .pagination-lg a{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg[_ngcontent-%COMP%]   .page-item[_ngcontent-%COMP%]:first-child   .page-link[_ngcontent-%COMP%], .pagination-lg[_ngcontent-%COMP%]   .page-item[_ngcontent-%COMP%]:first-child     .cd-datatable .datatable-footer .datatable-pager ul li a, .pagination-lg[_ngcontent-%COMP%]     .cd-datatable .datatable-footer .datatable-pager ul li:first-child .page-link, .pagination-lg[_ngcontent-%COMP%]     .cd-datatable .datatable-footer .datatable-pager ul li:first-child a,   .cd-datatable .datatable-footer .datatable-pager ul .pagination-lg li:first-child .page-link,   .cd-datatable .datatable-footer .datatable-pager ul .pagination-lg li:first-child a,   .cd-datatable .datatable-footer .datatable-pager ul li .pagination-lg .page-item:first-child a{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg[_ngcontent-%COMP%]   .page-item[_ngcontent-%COMP%]:last-child   .page-link[_ngcontent-%COMP%], .pagination-lg[_ngcontent-%COMP%]   .page-item[_ngcontent-%COMP%]:last-child     .cd-datatable .datatable-footer .datatable-pager ul li a, .pagination-lg[_ngcontent-%COMP%]     .cd-datatable .datatable-footer .datatable-pager ul li:last-child .page-link, .pagination-lg[_ngcontent-%COMP%]     .cd-datatable .datatable-footer .datatable-pager ul li:last-child a,   .cd-datatable .datatable-footer .datatable-pager ul .pagination-lg li:last-child .page-link,   .cd-datatable .datatable-footer .datatable-pager ul .pagination-lg li:last-child a,   .cd-datatable .datatable-footer .datatable-pager ul li .pagination-lg .page-item:last-child a{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm[_ngcontent-%COMP%]   .page-link[_ngcontent-%COMP%], .pagination-sm[_ngcontent-%COMP%]     .cd-datatable .datatable-footer .datatable-pager ul li a,   .cd-datatable .datatable-footer .datatable-pager ul li .pagination-sm a{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm[_ngcontent-%COMP%]   .page-item[_ngcontent-%COMP%]:first-child   .page-link[_ngcontent-%COMP%], .pagination-sm[_ngcontent-%COMP%]   .page-item[_ngcontent-%COMP%]:first-child     .cd-datatable .datatable-footer .datatable-pager ul li a, .pagination-sm[_ngcontent-%COMP%]     .cd-datatable .datatable-footer .datatable-pager ul li:first-child .page-link, .pagination-sm[_ngcontent-%COMP%]     .cd-datatable .datatable-footer .datatable-pager ul li:first-child a,   .cd-datatable .datatable-footer .datatable-pager ul .pagination-sm li:first-child .page-link,   .cd-datatable .datatable-footer .datatable-pager ul .pagination-sm li:first-child a,   .cd-datatable .datatable-footer .datatable-pager ul li .pagination-sm .page-item:first-child a{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm[_ngcontent-%COMP%]   .page-item[_ngcontent-%COMP%]:last-child   .page-link[_ngcontent-%COMP%], .pagination-sm[_ngcontent-%COMP%]   .page-item[_ngcontent-%COMP%]:last-child     .cd-datatable .datatable-footer .datatable-pager ul li a, .pagination-sm[_ngcontent-%COMP%]     .cd-datatable .datatable-footer .datatable-pager ul li:last-child .page-link, .pagination-sm[_ngcontent-%COMP%]     .cd-datatable .datatable-footer .datatable-pager ul li:last-child a,   .cd-datatable .datatable-footer .datatable-pager ul .pagination-sm li:last-child .page-link,   .cd-datatable .datatable-footer .datatable-pager ul .pagination-sm li:last-child a,   .cd-datatable .datatable-footer .datatable-pager ul li .pagination-sm .page-item:last-child a{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge[_ngcontent-%COMP%]{display:inline-block;padding:.25em .4em;font-size:1rem;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;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){.badge[_ngcontent-%COMP%]{transition:none}}a.badge[_ngcontent-%COMP%]:focus, a.badge[_ngcontent-%COMP%]:hover{text-decoration:none}.badge[_ngcontent-%COMP%]:empty{display:none}.btn[_ngcontent-%COMP%]   .badge[_ngcontent-%COMP%]{position:relative;top:-1px}.badge-pill[_ngcontent-%COMP%]{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary[_ngcontent-%COMP%]{color:#fff;background-color:#2b99a8}a.badge-primary[_ngcontent-%COMP%]:focus, a.badge-primary[_ngcontent-%COMP%]:hover{color:#fff;background-color:#21747f}a.badge-primary.focus[_ngcontent-%COMP%], a.badge-primary[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(43,153,168,.5)}.badge-secondary[_ngcontent-%COMP%]{color:#fff;background-color:#ef5c55}a.badge-secondary[_ngcontent-%COMP%]:focus, a.badge-secondary[_ngcontent-%COMP%]:hover{color:#fff;background-color:#eb2f26}a.badge-secondary.focus[_ngcontent-%COMP%], a.badge-secondary[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(239,92,85,.5)}.badge-success[_ngcontent-%COMP%]{color:#fff;background-color:#28a745}a.badge-success[_ngcontent-%COMP%]:focus, a.badge-success[_ngcontent-%COMP%]:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus[_ngcontent-%COMP%], a.badge-success[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info[_ngcontent-%COMP%]{color:#fff;background-color:#17a2b8}a.badge-info[_ngcontent-%COMP%]:focus, a.badge-info[_ngcontent-%COMP%]:hover{color:#fff;background-color:#117a8b}a.badge-info.focus[_ngcontent-%COMP%], a.badge-info[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning[_ngcontent-%COMP%]{color:#212529;background-color:#ffc107}a.badge-warning[_ngcontent-%COMP%]:focus, a.badge-warning[_ngcontent-%COMP%]:hover{color:#212529;background-color:#d39e00}a.badge-warning.focus[_ngcontent-%COMP%], a.badge-warning[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger[_ngcontent-%COMP%]{color:#fff;background-color:#dc3545}a.badge-danger[_ngcontent-%COMP%]:focus, a.badge-danger[_ngcontent-%COMP%]:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus[_ngcontent-%COMP%], a.badge-danger[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light[_ngcontent-%COMP%]{color:#212529;background-color:#f8f9fa}a.badge-light[_ngcontent-%COMP%]:focus, a.badge-light[_ngcontent-%COMP%]:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus[_ngcontent-%COMP%], a.badge-light[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark[_ngcontent-%COMP%]{color:#fff;background-color:#777}a.badge-dark[_ngcontent-%COMP%]:focus, a.badge-dark[_ngcontent-%COMP%]:hover{color:#fff;background-color:#5e5e5e}a.badge-dark.focus[_ngcontent-%COMP%], a.badge-dark[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(119,119,119,.5)}.jumbotron[_ngcontent-%COMP%]{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron[_ngcontent-%COMP%]{padding:4rem 2rem}}.jumbotron-fluid[_ngcontent-%COMP%]{padding-right:0;padding-left:0;border-radius:0}.alert[_ngcontent-%COMP%]{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading[_ngcontent-%COMP%]{color:inherit}.alert-link[_ngcontent-%COMP%]{font-weight:700}.alert-dismissible[_ngcontent-%COMP%]{padding-right:4rem}.alert-dismissible[_ngcontent-%COMP%]   .close[_ngcontent-%COMP%]{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary[_ngcontent-%COMP%]{color:#165057;background-color:#d5ebee;border-color:#c4e2e7}.alert-primary[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#b2d9e0}.alert-primary[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#0c2b2e}.alert-secondary[_ngcontent-%COMP%]{color:#7c302c;background-color:#fcdedd;border-color:#fbd1cf}.alert-secondary[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#f9bab7}.alert-secondary[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#56211f}.alert-success[_ngcontent-%COMP%]{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#b1dfbb}.alert-success[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#0b2e13}.alert-info[_ngcontent-%COMP%]{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#abdde5}.alert-info[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#062c33}.alert-warning[_ngcontent-%COMP%]{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#ffe8a1}.alert-warning[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#533f03}.alert-danger[_ngcontent-%COMP%]{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#f1b0b7}.alert-danger[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#491217}.alert-light[_ngcontent-%COMP%]{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#ececf6}.alert-light[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#686868}.alert-dark[_ngcontent-%COMP%]{color:#3e3e3e;background-color:#e4e4e4;border-color:#d9d9d9}.alert-dark[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#ccc}.alert-dark[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#252525}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress[_ngcontent-%COMP%]{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#2b99a8;transition:width .6s ease}.progress-bar-striped[_ngcontent-%COMP%]{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:1rem 1rem}.progress-bar-animated[_ngcontent-%COMP%]{animation:1s linear infinite progress-bar-stripes}.media[_ngcontent-%COMP%]{display:flex;align-items:flex-start}.media-body[_ngcontent-%COMP%]{flex:1}.list-group[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action[_ngcontent-%COMP%]{width:100%;color:#495057;text-align:inherit}.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-action[_ngcontent-%COMP%]:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action[_ngcontent-%COMP%]:active{color:#212529;background-color:#e9ecef}.list-group-item[_ngcontent-%COMP%]{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item[_ngcontent-%COMP%]:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item.disabled[_ngcontent-%COMP%], .list-group-item[_ngcontent-%COMP%]:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active[_ngcontent-%COMP%]{z-index:2;color:#fff;background-color:#2b99a8;border-color:#2b99a8}.list-group-horizontal[_ngcontent-%COMP%]{flex-direction:row}.list-group-horizontal[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]{margin-right:-1px;margin-bottom:0}.list-group-horizontal[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}@media (min-width:576px){.list-group-horizontal-sm[_ngcontent-%COMP%]{flex-direction:row}.list-group-horizontal-sm[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]{margin-right:-1px;margin-bottom:0}.list-group-horizontal-sm[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:768px){.list-group-horizontal-md[_ngcontent-%COMP%]{flex-direction:row}.list-group-horizontal-md[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]{margin-right:-1px;margin-bottom:0}.list-group-horizontal-md[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:992px){.list-group-horizontal-lg[_ngcontent-%COMP%]{flex-direction:row}.list-group-horizontal-lg[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]{margin-right:-1px;margin-bottom:0}.list-group-horizontal-lg[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:1200px){.list-group-horizontal-xl[_ngcontent-%COMP%]{flex-direction:row}.list-group-horizontal-xl[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]{margin-right:-1px;margin-bottom:0}.list-group-horizontal-xl[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}.list-group-flush[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]{border-right:0;border-left:0;border-radius:0}.list-group-flush[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:last-child{margin-bottom:-1px}.list-group-flush[_ngcontent-%COMP%]:first-child   .list-group-item[_ngcontent-%COMP%]:first-child{border-top:0}.list-group-flush[_ngcontent-%COMP%]:last-child   .list-group-item[_ngcontent-%COMP%]:last-child{margin-bottom:0;border-bottom:0}.list-group-item-primary[_ngcontent-%COMP%]{color:#165057;background-color:#c4e2e7}.list-group-item-primary.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-primary.list-group-item-action[_ngcontent-%COMP%]:hover{color:#165057;background-color:#b2d9e0}.list-group-item-primary.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#165057;border-color:#165057}.list-group-item-secondary[_ngcontent-%COMP%]{color:#7c302c;background-color:#fbd1cf}.list-group-item-secondary.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-secondary.list-group-item-action[_ngcontent-%COMP%]:hover{color:#7c302c;background-color:#f9bab7}.list-group-item-secondary.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#7c302c;border-color:#7c302c}.list-group-item-success[_ngcontent-%COMP%]{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-success.list-group-item-action[_ngcontent-%COMP%]:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info[_ngcontent-%COMP%]{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-info.list-group-item-action[_ngcontent-%COMP%]:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning[_ngcontent-%COMP%]{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-warning.list-group-item-action[_ngcontent-%COMP%]:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger[_ngcontent-%COMP%]{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-danger.list-group-item-action[_ngcontent-%COMP%]:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light[_ngcontent-%COMP%]{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-light.list-group-item-action[_ngcontent-%COMP%]:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark[_ngcontent-%COMP%]{color:#3e3e3e;background-color:#d9d9d9}.list-group-item-dark.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-dark.list-group-item-action[_ngcontent-%COMP%]:hover{color:#3e3e3e;background-color:#ccc}.list-group-item-dark.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#3e3e3e;border-color:#3e3e3e}.close[_ngcontent-%COMP%]{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close[_ngcontent-%COMP%]:hover{color:#000;text-decoration:none}.close[_ngcontent-%COMP%]:not(:disabled):not(.disabled):focus, .close[_ngcontent-%COMP%]:not(:disabled):not(.disabled):hover{opacity:.75}button.close[_ngcontent-%COMP%]{padding:0;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}a.close.disabled[_ngcontent-%COMP%]{pointer-events:none}.toast[_ngcontent-%COMP%]{max-width:350px;overflow:hidden;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);backdrop-filter:blur(10px);opacity:0;border-radius:.25rem}.toast[_ngcontent-%COMP%]:not(:last-child){margin-bottom:.75rem}.toast.showing[_ngcontent-%COMP%]{opacity:1}.toast.show[_ngcontent-%COMP%]{display:block;opacity:1}.toast.hide[_ngcontent-%COMP%]{display:none}.toast-header[_ngcontent-%COMP%]{display:flex;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}.toast-body[_ngcontent-%COMP%]{padding:.75rem}.modal-open[_ngcontent-%COMP%]{overflow:hidden}.modal-open[_ngcontent-%COMP%]   .modal[_ngcontent-%COMP%]{overflow-x:hidden;overflow-y:auto}.modal[_ngcontent-%COMP%]{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog[_ngcontent-%COMP%]{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade[_ngcontent-%COMP%]   .modal-dialog[_ngcontent-%COMP%]{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.progress-bar[_ngcontent-%COMP%]{transition:none}.progress-bar-animated[_ngcontent-%COMP%]{animation:none}.modal.fade[_ngcontent-%COMP%]   .modal-dialog[_ngcontent-%COMP%]{transition:none}}.modal.show[_ngcontent-%COMP%]   .modal-dialog[_ngcontent-%COMP%]{transform:none}.modal-dialog-scrollable[_ngcontent-%COMP%]{display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable[_ngcontent-%COMP%]   .modal-content[_ngcontent-%COMP%]{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable[_ngcontent-%COMP%]   .modal-footer[_ngcontent-%COMP%], .modal-dialog-scrollable[_ngcontent-%COMP%]   .modal-header[_ngcontent-%COMP%]{flex-shrink:0}.modal-dialog-scrollable[_ngcontent-%COMP%]   .modal-body[_ngcontent-%COMP%]{overflow-y:auto}.modal-dialog-centered[_ngcontent-%COMP%]{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered[_ngcontent-%COMP%]::before{display:block;height:calc(100vh - 1rem);content:""}.modal-dialog-centered.modal-dialog-scrollable[_ngcontent-%COMP%]{flex-direction:column;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable[_ngcontent-%COMP%]   .modal-content[_ngcontent-%COMP%]{max-height:none}.modal-dialog-centered.modal-dialog-scrollable[_ngcontent-%COMP%]::before{content:none}.modal-content[_ngcontent-%COMP%]{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop[_ngcontent-%COMP%]{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade[_ngcontent-%COMP%]{opacity:0}.modal-backdrop.show[_ngcontent-%COMP%]{opacity:.5}.modal-header[_ngcontent-%COMP%]{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:.3rem;border-top-right-radius:.3rem}.modal-header[_ngcontent-%COMP%]   .close[_ngcontent-%COMP%]{padding:1rem;margin:-1rem -1rem -1rem auto}.modal-title[_ngcontent-%COMP%]{margin-bottom:0;line-height:1.5}.modal-body[_ngcontent-%COMP%]{position:relative;flex:1 1 auto;padding:1rem}.modal-footer[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:flex-end;padding:1rem;border-top:1px solid #dee2e6;border-bottom-right-radius:.3rem;border-bottom-left-radius:.3rem}.modal-footer[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:not(:first-child){margin-left:.25rem}.modal-footer[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure[_ngcontent-%COMP%]{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog[_ngcontent-%COMP%]{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable[_ngcontent-%COMP%]{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable[_ngcontent-%COMP%]   .modal-content[_ngcontent-%COMP%]{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered[_ngcontent-%COMP%]{min-height:calc(100% - 3.5rem)}.modal-dialog-centered[_ngcontent-%COMP%]::before{height:calc(100vh - 3.5rem)}.modal-sm[_ngcontent-%COMP%]{max-width:300px}}@media (min-width:992px){.modal-lg[_ngcontent-%COMP%], .modal-xl[_ngcontent-%COMP%]{max-width:800px}}@media (min-width:1200px){.modal-xl[_ngcontent-%COMP%]{max-width:1140px}}.tooltip[_ngcontent-%COMP%]{position:absolute;z-index:1070;display:block;margin:0;font-family:"Helvetica Neue",Helvetica,Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show[_ngcontent-%COMP%]{opacity:.9}.tooltip[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top][_ngcontent-%COMP%], .bs-tooltip-top[_ngcontent-%COMP%]{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%], .bs-tooltip-top[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]{bottom:0}.bs-tooltip-auto[x-placement^=top][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before, .bs-tooltip-top[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right][_ngcontent-%COMP%], .bs-tooltip-right[_ngcontent-%COMP%]{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%], .bs-tooltip-right[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before, .bs-tooltip-right[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom][_ngcontent-%COMP%], .bs-tooltip-bottom[_ngcontent-%COMP%]{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%], .bs-tooltip-bottom[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]{top:0}.bs-tooltip-auto[x-placement^=bottom][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before, .bs-tooltip-bottom[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left][_ngcontent-%COMP%], .bs-tooltip-left[_ngcontent-%COMP%]{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%], .bs-tooltip-left[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before, .bs-tooltip-left[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner[_ngcontent-%COMP%]{max-width:200px;padding:.25rem .5rem;text-align:center;border-radius:.25rem}.popover[_ngcontent-%COMP%]{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:350px;font-family:"Helvetica Neue",Helvetica,Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::after, .popover[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top][_ngcontent-%COMP%], .bs-popover-top[_ngcontent-%COMP%]{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%], .bs-popover-top[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]{bottom:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=top][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before, .bs-popover-top[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after, .bs-popover-top[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right][_ngcontent-%COMP%], .bs-popover-right[_ngcontent-%COMP%]{margin-left:.5rem}.bs-popover-auto[x-placement^=right][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%], .bs-popover-right[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]{left:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before, .bs-popover-right[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after, .bs-popover-right[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom][_ngcontent-%COMP%], .bs-popover-bottom[_ngcontent-%COMP%]{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%], .bs-popover-bottom[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]{top:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=bottom][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before, .bs-popover-bottom[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before{top:0;border-width:0 .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after, .bs-popover-bottom[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after{top:1px;border-width:0 .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom][_ngcontent-%COMP%]   .popover-header[_ngcontent-%COMP%]::before, .bs-popover-bottom[_ngcontent-%COMP%]   .popover-header[_ngcontent-%COMP%]::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left][_ngcontent-%COMP%], .bs-popover-left[_ngcontent-%COMP%]{margin-right:.5rem}.bs-popover-auto[x-placement^=left][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%], .bs-popover-left[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]{right:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before, .bs-popover-left[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after, .bs-popover-left[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header[_ngcontent-%COMP%]{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header[_ngcontent-%COMP%]:empty{display:none}.popover-body[_ngcontent-%COMP%]{padding:.5rem .75rem;color:#212529}.carousel[_ngcontent-%COMP%]{position:relative}.carousel.pointer-event[_ngcontent-%COMP%]{touch-action:pan-y}.carousel-inner[_ngcontent-%COMP%]{position:relative;width:100%;overflow:hidden}.carousel-inner[_ngcontent-%COMP%]::after{display:block;clear:both;content:""}.carousel-item[_ngcontent-%COMP%]{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}.carousel-item-next[_ngcontent-%COMP%], .carousel-item-prev[_ngcontent-%COMP%], .carousel-item.active[_ngcontent-%COMP%]{display:block}.active.carousel-item-right[_ngcontent-%COMP%], .carousel-item-next[_ngcontent-%COMP%]:not(.carousel-item-left){transform:translateX(100%)}.active.carousel-item-left[_ngcontent-%COMP%], .carousel-item-prev[_ngcontent-%COMP%]:not(.carousel-item-right){transform:translateX(-100%)}.carousel-fade[_ngcontent-%COMP%]   .carousel-item[_ngcontent-%COMP%]{opacity:0;transition-property:opacity;transform:none}.carousel-fade[_ngcontent-%COMP%]   .carousel-item-next.carousel-item-left[_ngcontent-%COMP%], .carousel-fade[_ngcontent-%COMP%]   .carousel-item-prev.carousel-item-right[_ngcontent-%COMP%], .carousel-fade[_ngcontent-%COMP%]   .carousel-item.active[_ngcontent-%COMP%]{z-index:1;opacity:1}.carousel-fade[_ngcontent-%COMP%]   .active.carousel-item-left[_ngcontent-%COMP%], .carousel-fade[_ngcontent-%COMP%]   .active.carousel-item-right[_ngcontent-%COMP%]{z-index:0;opacity:0;transition:0s .6s opacity}@media (prefers-reduced-motion:reduce){.carousel-fade[_ngcontent-%COMP%]   .active.carousel-item-left[_ngcontent-%COMP%], .carousel-fade[_ngcontent-%COMP%]   .active.carousel-item-right[_ngcontent-%COMP%], .carousel-item[_ngcontent-%COMP%]{transition:none}}.carousel-control-next[_ngcontent-%COMP%], .carousel-control-prev[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}.carousel-control-next[_ngcontent-%COMP%]:focus, .carousel-control-next[_ngcontent-%COMP%]:hover, .carousel-control-prev[_ngcontent-%COMP%]:focus, .carousel-control-prev[_ngcontent-%COMP%]:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev[_ngcontent-%COMP%]{left:0}.carousel-control-next[_ngcontent-%COMP%]{right:0}.carousel-control-next-icon[_ngcontent-%COMP%], .carousel-control-prev-icon[_ngcontent-%COMP%]{display:inline-block;width:20px;height:20px;background:50%/100% 100% no-repeat}.carousel-control-prev-icon[_ngcontent-%COMP%]{background-image:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' fill=\'%23fff\' viewBox=\'0 0 8 8\'%3e%3cpath d=\'M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z\'/%3e%3c/svg%3e")}.carousel-control-next-icon[_ngcontent-%COMP%]{background-image:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' fill=\'%23fff\' viewBox=\'0 0 8 8\'%3e%3cpath d=\'M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z\'/%3e%3c/svg%3e")}.carousel-indicators[_ngcontent-%COMP%]{position:absolute;right:0;bottom:0;left:0;z-index:15;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next[_ngcontent-%COMP%], .carousel-control-prev[_ngcontent-%COMP%], .carousel-indicators[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]{transition:none}}.carousel-indicators[_ngcontent-%COMP%]   .active[_ngcontent-%COMP%]{opacity:1}.carousel-caption[_ngcontent-%COMP%]{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border[_ngcontent-%COMP%]{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;animation:.75s linear infinite spinner-border}.spinner-border-sm[_ngcontent-%COMP%]{width:1rem;height:1rem;border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1}}.spinner-grow[_ngcontent-%COMP%]{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;animation:.75s linear infinite spinner-grow}.spinner-grow-sm[_ngcontent-%COMP%]{width:1rem;height:1rem}.align-baseline[_ngcontent-%COMP%]{vertical-align:baseline!important}.align-top[_ngcontent-%COMP%]{vertical-align:top!important}.align-middle[_ngcontent-%COMP%]{vertical-align:middle!important}.align-bottom[_ngcontent-%COMP%]{vertical-align:bottom!important}.align-text-bottom[_ngcontent-%COMP%]{vertical-align:text-bottom!important}.align-text-top[_ngcontent-%COMP%]{vertical-align:text-top!important}.bg-primary[_ngcontent-%COMP%]{background-color:#2b99a8!important}a.bg-primary[_ngcontent-%COMP%]:focus, a.bg-primary[_ngcontent-%COMP%]:hover, button.bg-primary[_ngcontent-%COMP%]:focus, button.bg-primary[_ngcontent-%COMP%]:hover{background-color:#21747f!important}.bg-secondary[_ngcontent-%COMP%]{background-color:#ef5c55!important}a.bg-secondary[_ngcontent-%COMP%]:focus, a.bg-secondary[_ngcontent-%COMP%]:hover, button.bg-secondary[_ngcontent-%COMP%]:focus, button.bg-secondary[_ngcontent-%COMP%]:hover{background-color:#eb2f26!important}.bg-success[_ngcontent-%COMP%]{background-color:#28a745!important}a.bg-success[_ngcontent-%COMP%]:focus, a.bg-success[_ngcontent-%COMP%]:hover, button.bg-success[_ngcontent-%COMP%]:focus, button.bg-success[_ngcontent-%COMP%]:hover{background-color:#1e7e34!important}.bg-info[_ngcontent-%COMP%]{background-color:#17a2b8!important}a.bg-info[_ngcontent-%COMP%]:focus, a.bg-info[_ngcontent-%COMP%]:hover, button.bg-info[_ngcontent-%COMP%]:focus, button.bg-info[_ngcontent-%COMP%]:hover{background-color:#117a8b!important}.bg-warning[_ngcontent-%COMP%]{background-color:#ffc107!important}a.bg-warning[_ngcontent-%COMP%]:focus, a.bg-warning[_ngcontent-%COMP%]:hover, button.bg-warning[_ngcontent-%COMP%]:focus, button.bg-warning[_ngcontent-%COMP%]:hover{background-color:#d39e00!important}.bg-danger[_ngcontent-%COMP%]{background-color:#dc3545!important}a.bg-danger[_ngcontent-%COMP%]:focus, a.bg-danger[_ngcontent-%COMP%]:hover, button.bg-danger[_ngcontent-%COMP%]:focus, button.bg-danger[_ngcontent-%COMP%]:hover{background-color:#bd2130!important}.bg-light[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]{background-color:#f8f9fa!important}a.bg-light[_ngcontent-%COMP%]:focus, a.bg-light[_ngcontent-%COMP%]:hover, button.bg-light[_ngcontent-%COMP%]:focus, button.bg-light[_ngcontent-%COMP%]:hover{background-color:#dae0e5!important}.bg-dark[_ngcontent-%COMP%]{background-color:#777!important}a.bg-dark[_ngcontent-%COMP%]:focus, a.bg-dark[_ngcontent-%COMP%]:hover, button.bg-dark[_ngcontent-%COMP%]:focus, button.bg-dark[_ngcontent-%COMP%]:hover{background-color:#5e5e5e!important}.bg-white[_ngcontent-%COMP%]{background-color:#fff!important}.bg-transparent[_ngcontent-%COMP%]{background-color:transparent!important}.border[_ngcontent-%COMP%]{border:1px solid #dee2e6!important}.border-top[_ngcontent-%COMP%]{border-top:1px solid #dee2e6!important}.border-right[_ngcontent-%COMP%]{border-right:1px solid #dee2e6!important}.border-bottom[_ngcontent-%COMP%], .cd-header[_ngcontent-%COMP%], legend[_ngcontent-%COMP%]{border-bottom:1px solid #dee2e6!important}.border-left[_ngcontent-%COMP%]{border-left:1px solid #dee2e6!important}.border-0[_ngcontent-%COMP%]{border:0!important}.border-top-0[_ngcontent-%COMP%]{border-top:0!important}.border-right-0[_ngcontent-%COMP%]{border-right:0!important}.border-bottom-0[_ngcontent-%COMP%]{border-bottom:0!important}.border-left-0[_ngcontent-%COMP%]{border-left:0!important}.border-primary[_ngcontent-%COMP%]{border-color:#2b99a8!important}.border-secondary[_ngcontent-%COMP%]{border-color:#ef5c55!important}.border-success[_ngcontent-%COMP%]{border-color:#28a745!important}.border-info[_ngcontent-%COMP%]{border-color:#17a2b8!important}.border-warning[_ngcontent-%COMP%]{border-color:#ffc107!important}.border-danger[_ngcontent-%COMP%]{border-color:#dc3545!important}.border-light[_ngcontent-%COMP%]{border-color:#f8f9fa!important}.border-dark[_ngcontent-%COMP%]{border-color:#777!important}.border-white[_ngcontent-%COMP%]{border-color:#fff!important}.rounded-sm[_ngcontent-%COMP%]{border-radius:.2rem!important}.rounded[_ngcontent-%COMP%]{border-radius:.25rem!important}.rounded-top[_ngcontent-%COMP%]{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right[_ngcontent-%COMP%]{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom[_ngcontent-%COMP%]{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left[_ngcontent-%COMP%]{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-lg[_ngcontent-%COMP%]{border-radius:.3rem!important}.rounded-circle[_ngcontent-%COMP%]{border-radius:50%!important}.rounded-pill[_ngcontent-%COMP%]{border-radius:50rem!important}.rounded-0[_ngcontent-%COMP%]{border-radius:0!important}.clearfix[_ngcontent-%COMP%]::after{display:block;clear:both;content:""}.d-none[_ngcontent-%COMP%]{display:none!important}.d-inline[_ngcontent-%COMP%]{display:inline!important}.d-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-block[_ngcontent-%COMP%]{display:block!important}.d-table[_ngcontent-%COMP%]{display:table!important}.d-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-flex[_ngcontent-%COMP%]{display:flex!important}.d-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}@media (min-width:576px){.d-sm-none[_ngcontent-%COMP%]{display:none!important}.d-sm-inline[_ngcontent-%COMP%]{display:inline!important}.d-sm-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-sm-block[_ngcontent-%COMP%]{display:block!important}.d-sm-table[_ngcontent-%COMP%]{display:table!important}.d-sm-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-sm-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-sm-flex[_ngcontent-%COMP%]{display:flex!important}.d-sm-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}}@media (min-width:768px){.d-md-none[_ngcontent-%COMP%]{display:none!important}.d-md-inline[_ngcontent-%COMP%]{display:inline!important}.d-md-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-md-block[_ngcontent-%COMP%]{display:block!important}.d-md-table[_ngcontent-%COMP%]{display:table!important}.d-md-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-md-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-md-flex[_ngcontent-%COMP%]{display:flex!important}.d-md-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}}@media (min-width:992px){.d-lg-none[_ngcontent-%COMP%]{display:none!important}.d-lg-inline[_ngcontent-%COMP%]{display:inline!important}.d-lg-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-lg-block[_ngcontent-%COMP%]{display:block!important}.d-lg-table[_ngcontent-%COMP%]{display:table!important}.d-lg-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-lg-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-lg-flex[_ngcontent-%COMP%]{display:flex!important}.d-lg-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}}@media (min-width:1200px){.d-xl-none[_ngcontent-%COMP%]{display:none!important}.d-xl-inline[_ngcontent-%COMP%]{display:inline!important}.d-xl-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-xl-block[_ngcontent-%COMP%]{display:block!important}.d-xl-table[_ngcontent-%COMP%]{display:table!important}.d-xl-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-xl-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-xl-flex[_ngcontent-%COMP%]{display:flex!important}.d-xl-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}}@media print{.d-print-none[_ngcontent-%COMP%]{display:none!important}.d-print-inline[_ngcontent-%COMP%]{display:inline!important}.d-print-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-print-block[_ngcontent-%COMP%]{display:block!important}.d-print-table[_ngcontent-%COMP%]{display:table!important}.d-print-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-print-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-print-flex[_ngcontent-%COMP%]{display:flex!important}.d-print-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}}.embed-responsive[_ngcontent-%COMP%]{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive[_ngcontent-%COMP%]::before{display:block;content:""}.embed-responsive[_ngcontent-%COMP%]   .embed-responsive-item[_ngcontent-%COMP%], .embed-responsive[_ngcontent-%COMP%]   embed[_ngcontent-%COMP%], .embed-responsive[_ngcontent-%COMP%]   iframe[_ngcontent-%COMP%], .embed-responsive[_ngcontent-%COMP%]   object[_ngcontent-%COMP%], .embed-responsive[_ngcontent-%COMP%]   video[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9[_ngcontent-%COMP%]::before{padding-top:42.8571428571%}.embed-responsive-16by9[_ngcontent-%COMP%]::before{padding-top:56.25%}.embed-responsive-4by3[_ngcontent-%COMP%]::before{padding-top:75%}.embed-responsive-1by1[_ngcontent-%COMP%]::before{padding-top:100%}.flex-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-column[_ngcontent-%COMP%]{flex-direction:column!important}.flex-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.flex-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.justify-content-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-stretch[_ngcontent-%COMP%]{align-self:stretch!important}@media (min-width:576px){.flex-sm-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-sm-column[_ngcontent-%COMP%]{flex-direction:column!important}.flex-sm-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-sm-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-sm-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-sm-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-sm-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.flex-sm-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-sm-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-sm-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-sm-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-sm-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.justify-content-sm-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-sm-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-sm-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-sm-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-sm-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-sm-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-sm-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-sm-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-sm-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-sm-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-sm-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-sm-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-sm-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-sm-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-sm-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-sm-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-sm-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-sm-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-sm-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-sm-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-sm-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-sm-stretch[_ngcontent-%COMP%]{align-self:stretch!important}}.float-left[_ngcontent-%COMP%]{float:left!important}.float-right[_ngcontent-%COMP%]{float:right!important}.float-none[_ngcontent-%COMP%]{float:none!important}@media (min-width:576px){.float-sm-left[_ngcontent-%COMP%]{float:left!important}.float-sm-right[_ngcontent-%COMP%]{float:right!important}.float-sm-none[_ngcontent-%COMP%]{float:none!important}}.overflow-auto[_ngcontent-%COMP%]{overflow:auto!important}.overflow-hidden[_ngcontent-%COMP%]{overflow:hidden!important}.position-static[_ngcontent-%COMP%]{position:static!important}.position-relative[_ngcontent-%COMP%]{position:relative!important}.position-absolute[_ngcontent-%COMP%]{position:absolute!important}.position-fixed[_ngcontent-%COMP%]{position:fixed!important}.position-sticky[_ngcontent-%COMP%]{position:sticky!important}.fixed-top[_ngcontent-%COMP%]{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom[_ngcontent-%COMP%]{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports (position:sticky){.sticky-top[_ngcontent-%COMP%]{position:sticky;top:0;z-index:1020}}.sr-only[_ngcontent-%COMP%]{clip:rect(0,0,0,0);white-space:nowrap}.shadow-sm[_ngcontent-%COMP%]{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow[_ngcontent-%COMP%]{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg[_ngcontent-%COMP%]{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none[_ngcontent-%COMP%]{box-shadow:none!important}.w-25[_ngcontent-%COMP%]{width:25%!important}.w-50[_ngcontent-%COMP%]{width:50%!important}.w-75[_ngcontent-%COMP%]{width:75%!important}.w-100[_ngcontent-%COMP%]{width:100%!important}.w-auto[_ngcontent-%COMP%]{width:auto!important}.h-25[_ngcontent-%COMP%]{height:25%!important}.h-50[_ngcontent-%COMP%]{height:50%!important}.h-75[_ngcontent-%COMP%]{height:75%!important}.h-100[_ngcontent-%COMP%]{height:100%!important}.h-auto[_ngcontent-%COMP%]{height:auto!important}.mw-100[_ngcontent-%COMP%]{max-width:100%!important}.mh-100[_ngcontent-%COMP%]{max-height:100%!important}.min-vw-100[_ngcontent-%COMP%]{min-width:100vw!important}.min-vh-100[_ngcontent-%COMP%]{min-height:100vh!important}.vw-100[_ngcontent-%COMP%]{width:100vw!important}.vh-100[_ngcontent-%COMP%]{height:100vh!important}.stretched-link[_ngcontent-%COMP%]::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.m-0[_ngcontent-%COMP%]{margin:0!important}.mt-0[_ngcontent-%COMP%], .my-0[_ngcontent-%COMP%]{margin-top:0!important}.mr-0[_ngcontent-%COMP%], .mx-0[_ngcontent-%COMP%]{margin-right:0!important}.mb-0[_ngcontent-%COMP%], .my-0[_ngcontent-%COMP%]{margin-bottom:0!important}.ml-0[_ngcontent-%COMP%], .mx-0[_ngcontent-%COMP%]{margin-left:0!important}.m-1[_ngcontent-%COMP%]{margin:.25rem!important}.mt-1[_ngcontent-%COMP%], .my-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mr-1[_ngcontent-%COMP%], .mx-1[_ngcontent-%COMP%]{margin-right:.25rem!important}.mb-1[_ngcontent-%COMP%], .my-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.ml-1[_ngcontent-%COMP%], .mx-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.m-2[_ngcontent-%COMP%]{margin:.5rem!important}.mt-2[_ngcontent-%COMP%], .my-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mr-2[_ngcontent-%COMP%], .mx-2[_ngcontent-%COMP%]{margin-right:.5rem!important}.mb-2[_ngcontent-%COMP%], .my-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.ml-2[_ngcontent-%COMP%], .mx-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.m-3[_ngcontent-%COMP%]{margin:1rem!important}.mt-3[_ngcontent-%COMP%], .my-3[_ngcontent-%COMP%]{margin-top:1rem!important}.mr-3[_ngcontent-%COMP%], .mx-3[_ngcontent-%COMP%]{margin-right:1rem!important}.mb-3[_ngcontent-%COMP%], .my-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.ml-3[_ngcontent-%COMP%], .mx-3[_ngcontent-%COMP%]{margin-left:1rem!important}.m-4[_ngcontent-%COMP%]{margin:1.5rem!important}.cd-header[_ngcontent-%COMP%], .mt-4[_ngcontent-%COMP%], .my-4[_ngcontent-%COMP%], legend[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mr-4[_ngcontent-%COMP%], .mx-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.cd-header[_ngcontent-%COMP%], .mb-4[_ngcontent-%COMP%], .my-4[_ngcontent-%COMP%], legend[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.ml-4[_ngcontent-%COMP%], .mx-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.m-5[_ngcontent-%COMP%]{margin:3rem!important}.mt-5[_ngcontent-%COMP%], .my-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mr-5[_ngcontent-%COMP%], .mx-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mb-5[_ngcontent-%COMP%], .my-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.ml-5[_ngcontent-%COMP%], .mx-5[_ngcontent-%COMP%]{margin-left:3rem!important}.p-0[_ngcontent-%COMP%]{padding:0!important}.pt-0[_ngcontent-%COMP%], .py-0[_ngcontent-%COMP%]{padding-top:0!important}.pr-0[_ngcontent-%COMP%], .px-0[_ngcontent-%COMP%]{padding-right:0!important}.pb-0[_ngcontent-%COMP%], .py-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pl-0[_ngcontent-%COMP%], .px-0[_ngcontent-%COMP%]{padding-left:0!important}.p-1[_ngcontent-%COMP%]{padding:.25rem!important}.pt-1[_ngcontent-%COMP%], .py-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pr-1[_ngcontent-%COMP%], .px-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.cd-header[_ngcontent-%COMP%], .pb-1[_ngcontent-%COMP%], .py-1[_ngcontent-%COMP%], legend[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pl-1[_ngcontent-%COMP%], .px-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.p-2[_ngcontent-%COMP%],   .cd-datatable .datatable-footer, pre[_ngcontent-%COMP%]{padding:.5rem!important}.pt-2[_ngcontent-%COMP%], .py-2[_ngcontent-%COMP%]{padding-top:.5rem!important}.pr-2[_ngcontent-%COMP%], .px-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.pb-2[_ngcontent-%COMP%], .py-2[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pl-2[_ngcontent-%COMP%], .px-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.p-3[_ngcontent-%COMP%]{padding:1rem!important}.pt-3[_ngcontent-%COMP%], .py-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pr-3[_ngcontent-%COMP%], .px-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pb-3[_ngcontent-%COMP%], .py-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pl-3[_ngcontent-%COMP%], .px-3[_ngcontent-%COMP%]{padding-left:1rem!important}.p-4[_ngcontent-%COMP%]{padding:1.5rem!important}.pt-4[_ngcontent-%COMP%], .py-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pr-4[_ngcontent-%COMP%], .px-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pb-4[_ngcontent-%COMP%], .py-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pl-4[_ngcontent-%COMP%], .px-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.p-5[_ngcontent-%COMP%]{padding:3rem!important}.pt-5[_ngcontent-%COMP%], .py-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-5[_ngcontent-%COMP%], .px-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-5[_ngcontent-%COMP%], .py-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-5[_ngcontent-%COMP%], .px-5[_ngcontent-%COMP%]{padding-left:3rem!important}.m-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.mt-n1[_ngcontent-%COMP%], .my-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mr-n1[_ngcontent-%COMP%], .mx-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mb-n1[_ngcontent-%COMP%], .my-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.ml-n1[_ngcontent-%COMP%], .mx-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.m-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.mt-n2[_ngcontent-%COMP%], .my-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mr-n2[_ngcontent-%COMP%], .mx-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mb-n2[_ngcontent-%COMP%], .my-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.ml-n2[_ngcontent-%COMP%], .mx-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.m-n3[_ngcontent-%COMP%]{margin:-1rem!important}.mt-n3[_ngcontent-%COMP%], .my-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mr-n3[_ngcontent-%COMP%], .mx-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mb-n3[_ngcontent-%COMP%], .my-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.ml-n3[_ngcontent-%COMP%], .mx-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.m-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.mt-n4[_ngcontent-%COMP%], .my-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mr-n4[_ngcontent-%COMP%], .mx-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mb-n4[_ngcontent-%COMP%], .my-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.ml-n4[_ngcontent-%COMP%], .mx-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.m-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mt-n5[_ngcontent-%COMP%], .my-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-n5[_ngcontent-%COMP%], .mx-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-n5[_ngcontent-%COMP%], .my-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-n5[_ngcontent-%COMP%], .mx-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.m-auto[_ngcontent-%COMP%]{margin:auto!important}.mt-auto[_ngcontent-%COMP%], .my-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-auto[_ngcontent-%COMP%], .mx-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-auto[_ngcontent-%COMP%], .my-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-auto[_ngcontent-%COMP%], .mx-auto[_ngcontent-%COMP%]{margin-left:auto!important}@media (min-width:576px){.m-sm-0[_ngcontent-%COMP%]{margin:0!important}.mt-sm-0[_ngcontent-%COMP%], .my-sm-0[_ngcontent-%COMP%]{margin-top:0!important}.mr-sm-0[_ngcontent-%COMP%], .mx-sm-0[_ngcontent-%COMP%]{margin-right:0!important}.mb-sm-0[_ngcontent-%COMP%], .my-sm-0[_ngcontent-%COMP%]{margin-bottom:0!important}.ml-sm-0[_ngcontent-%COMP%], .mx-sm-0[_ngcontent-%COMP%]{margin-left:0!important}.m-sm-1[_ngcontent-%COMP%]{margin:.25rem!important}.mt-sm-1[_ngcontent-%COMP%], .my-sm-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mr-sm-1[_ngcontent-%COMP%], .mx-sm-1[_ngcontent-%COMP%]{margin-right:.25rem!important}.mb-sm-1[_ngcontent-%COMP%], .my-sm-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.ml-sm-1[_ngcontent-%COMP%], .mx-sm-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.m-sm-2[_ngcontent-%COMP%]{margin:.5rem!important}.mt-sm-2[_ngcontent-%COMP%], .my-sm-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mr-sm-2[_ngcontent-%COMP%], .mx-sm-2[_ngcontent-%COMP%]{margin-right:.5rem!important}.mb-sm-2[_ngcontent-%COMP%], .my-sm-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.ml-sm-2[_ngcontent-%COMP%], .mx-sm-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.m-sm-3[_ngcontent-%COMP%]{margin:1rem!important}.mt-sm-3[_ngcontent-%COMP%], .my-sm-3[_ngcontent-%COMP%]{margin-top:1rem!important}.mr-sm-3[_ngcontent-%COMP%], .mx-sm-3[_ngcontent-%COMP%]{margin-right:1rem!important}.mb-sm-3[_ngcontent-%COMP%], .my-sm-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.ml-sm-3[_ngcontent-%COMP%], .mx-sm-3[_ngcontent-%COMP%]{margin-left:1rem!important}.m-sm-4[_ngcontent-%COMP%]{margin:1.5rem!important}.mt-sm-4[_ngcontent-%COMP%], .my-sm-4[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mr-sm-4[_ngcontent-%COMP%], .mx-sm-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.mb-sm-4[_ngcontent-%COMP%], .my-sm-4[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.ml-sm-4[_ngcontent-%COMP%], .mx-sm-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.m-sm-5[_ngcontent-%COMP%]{margin:3rem!important}.mt-sm-5[_ngcontent-%COMP%], .my-sm-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mr-sm-5[_ngcontent-%COMP%], .mx-sm-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mb-sm-5[_ngcontent-%COMP%], .my-sm-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.ml-sm-5[_ngcontent-%COMP%], .mx-sm-5[_ngcontent-%COMP%]{margin-left:3rem!important}.p-sm-0[_ngcontent-%COMP%]{padding:0!important}.pt-sm-0[_ngcontent-%COMP%], .py-sm-0[_ngcontent-%COMP%]{padding-top:0!important}.pr-sm-0[_ngcontent-%COMP%], .px-sm-0[_ngcontent-%COMP%]{padding-right:0!important}.pb-sm-0[_ngcontent-%COMP%], .py-sm-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pl-sm-0[_ngcontent-%COMP%], .px-sm-0[_ngcontent-%COMP%]{padding-left:0!important}.p-sm-1[_ngcontent-%COMP%]{padding:.25rem!important}.pt-sm-1[_ngcontent-%COMP%], .py-sm-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pr-sm-1[_ngcontent-%COMP%], .px-sm-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.pb-sm-1[_ngcontent-%COMP%], .py-sm-1[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pl-sm-1[_ngcontent-%COMP%], .px-sm-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.p-sm-2[_ngcontent-%COMP%]{padding:.5rem!important}.pt-sm-2[_ngcontent-%COMP%], .py-sm-2[_ngcontent-%COMP%]{padding-top:.5rem!important}.pr-sm-2[_ngcontent-%COMP%], .px-sm-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.pb-sm-2[_ngcontent-%COMP%], .py-sm-2[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pl-sm-2[_ngcontent-%COMP%], .px-sm-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.p-sm-3[_ngcontent-%COMP%]{padding:1rem!important}.pt-sm-3[_ngcontent-%COMP%], .py-sm-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pr-sm-3[_ngcontent-%COMP%], .px-sm-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pb-sm-3[_ngcontent-%COMP%], .py-sm-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pl-sm-3[_ngcontent-%COMP%], .px-sm-3[_ngcontent-%COMP%]{padding-left:1rem!important}.p-sm-4[_ngcontent-%COMP%]{padding:1.5rem!important}.pt-sm-4[_ngcontent-%COMP%], .py-sm-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pr-sm-4[_ngcontent-%COMP%], .px-sm-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pb-sm-4[_ngcontent-%COMP%], .py-sm-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pl-sm-4[_ngcontent-%COMP%], .px-sm-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.p-sm-5[_ngcontent-%COMP%]{padding:3rem!important}.pt-sm-5[_ngcontent-%COMP%], .py-sm-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-sm-5[_ngcontent-%COMP%], .px-sm-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-sm-5[_ngcontent-%COMP%], .py-sm-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-sm-5[_ngcontent-%COMP%], .px-sm-5[_ngcontent-%COMP%]{padding-left:3rem!important}.m-sm-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.mt-sm-n1[_ngcontent-%COMP%], .my-sm-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mr-sm-n1[_ngcontent-%COMP%], .mx-sm-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mb-sm-n1[_ngcontent-%COMP%], .my-sm-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.ml-sm-n1[_ngcontent-%COMP%], .mx-sm-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.m-sm-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.mt-sm-n2[_ngcontent-%COMP%], .my-sm-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mr-sm-n2[_ngcontent-%COMP%], .mx-sm-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mb-sm-n2[_ngcontent-%COMP%], .my-sm-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.ml-sm-n2[_ngcontent-%COMP%], .mx-sm-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.m-sm-n3[_ngcontent-%COMP%]{margin:-1rem!important}.mt-sm-n3[_ngcontent-%COMP%], .my-sm-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mr-sm-n3[_ngcontent-%COMP%], .mx-sm-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mb-sm-n3[_ngcontent-%COMP%], .my-sm-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.ml-sm-n3[_ngcontent-%COMP%], .mx-sm-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.m-sm-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.mt-sm-n4[_ngcontent-%COMP%], .my-sm-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mr-sm-n4[_ngcontent-%COMP%], .mx-sm-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mb-sm-n4[_ngcontent-%COMP%], .my-sm-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.ml-sm-n4[_ngcontent-%COMP%], .mx-sm-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.m-sm-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mt-sm-n5[_ngcontent-%COMP%], .my-sm-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-sm-n5[_ngcontent-%COMP%], .mx-sm-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-sm-n5[_ngcontent-%COMP%], .my-sm-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-sm-n5[_ngcontent-%COMP%], .mx-sm-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.m-sm-auto[_ngcontent-%COMP%]{margin:auto!important}.mt-sm-auto[_ngcontent-%COMP%], .my-sm-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-sm-auto[_ngcontent-%COMP%], .mx-sm-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-sm-auto[_ngcontent-%COMP%], .my-sm-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-sm-auto[_ngcontent-%COMP%], .mx-sm-auto[_ngcontent-%COMP%]{margin-left:auto!important}}.text-monospace[_ngcontent-%COMP%]{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.text-justify[_ngcontent-%COMP%]{text-align:justify!important}.text-wrap[_ngcontent-%COMP%]{white-space:normal!important}.text-nowrap[_ngcontent-%COMP%]{white-space:nowrap!important}.text-truncate[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left[_ngcontent-%COMP%]{text-align:left!important}.text-right[_ngcontent-%COMP%]{text-align:right!important}.text-center[_ngcontent-%COMP%]{text-align:center!important}@media (min-width:576px){.text-sm-left[_ngcontent-%COMP%]{text-align:left!important}.text-sm-right[_ngcontent-%COMP%]{text-align:right!important}.text-sm-center[_ngcontent-%COMP%]{text-align:center!important}}@media (min-width:768px){.flex-md-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-md-column[_ngcontent-%COMP%]{flex-direction:column!important}.flex-md-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-md-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-md-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-md-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-md-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.flex-md-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-md-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-md-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-md-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-md-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.justify-content-md-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-md-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-md-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-md-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-md-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-md-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-md-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-md-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-md-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-md-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-md-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-md-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-md-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-md-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-md-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-md-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-md-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-md-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-md-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-md-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-md-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-md-stretch[_ngcontent-%COMP%]{align-self:stretch!important}.float-md-left[_ngcontent-%COMP%]{float:left!important}.float-md-right[_ngcontent-%COMP%]{float:right!important}.float-md-none[_ngcontent-%COMP%]{float:none!important}.m-md-0[_ngcontent-%COMP%]{margin:0!important}.mt-md-0[_ngcontent-%COMP%], .my-md-0[_ngcontent-%COMP%]{margin-top:0!important}.mr-md-0[_ngcontent-%COMP%], .mx-md-0[_ngcontent-%COMP%]{margin-right:0!important}.mb-md-0[_ngcontent-%COMP%], .my-md-0[_ngcontent-%COMP%]{margin-bottom:0!important}.ml-md-0[_ngcontent-%COMP%], .mx-md-0[_ngcontent-%COMP%]{margin-left:0!important}.m-md-1[_ngcontent-%COMP%]{margin:.25rem!important}.mt-md-1[_ngcontent-%COMP%], .my-md-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mr-md-1[_ngcontent-%COMP%], .mx-md-1[_ngcontent-%COMP%]{margin-right:.25rem!important}.mb-md-1[_ngcontent-%COMP%], .my-md-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.ml-md-1[_ngcontent-%COMP%], .mx-md-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.m-md-2[_ngcontent-%COMP%]{margin:.5rem!important}.mt-md-2[_ngcontent-%COMP%], .my-md-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mr-md-2[_ngcontent-%COMP%], .mx-md-2[_ngcontent-%COMP%]{margin-right:.5rem!important}.mb-md-2[_ngcontent-%COMP%], .my-md-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.ml-md-2[_ngcontent-%COMP%], .mx-md-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.m-md-3[_ngcontent-%COMP%]{margin:1rem!important}.mt-md-3[_ngcontent-%COMP%], .my-md-3[_ngcontent-%COMP%]{margin-top:1rem!important}.mr-md-3[_ngcontent-%COMP%], .mx-md-3[_ngcontent-%COMP%]{margin-right:1rem!important}.mb-md-3[_ngcontent-%COMP%], .my-md-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.ml-md-3[_ngcontent-%COMP%], .mx-md-3[_ngcontent-%COMP%]{margin-left:1rem!important}.m-md-4[_ngcontent-%COMP%]{margin:1.5rem!important}.mt-md-4[_ngcontent-%COMP%], .my-md-4[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mr-md-4[_ngcontent-%COMP%], .mx-md-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.mb-md-4[_ngcontent-%COMP%], .my-md-4[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.ml-md-4[_ngcontent-%COMP%], .mx-md-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.m-md-5[_ngcontent-%COMP%]{margin:3rem!important}.mt-md-5[_ngcontent-%COMP%], .my-md-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mr-md-5[_ngcontent-%COMP%], .mx-md-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mb-md-5[_ngcontent-%COMP%], .my-md-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.ml-md-5[_ngcontent-%COMP%], .mx-md-5[_ngcontent-%COMP%]{margin-left:3rem!important}.p-md-0[_ngcontent-%COMP%]{padding:0!important}.pt-md-0[_ngcontent-%COMP%], .py-md-0[_ngcontent-%COMP%]{padding-top:0!important}.pr-md-0[_ngcontent-%COMP%], .px-md-0[_ngcontent-%COMP%]{padding-right:0!important}.pb-md-0[_ngcontent-%COMP%], .py-md-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pl-md-0[_ngcontent-%COMP%], .px-md-0[_ngcontent-%COMP%]{padding-left:0!important}.p-md-1[_ngcontent-%COMP%]{padding:.25rem!important}.pt-md-1[_ngcontent-%COMP%], .py-md-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pr-md-1[_ngcontent-%COMP%], .px-md-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.pb-md-1[_ngcontent-%COMP%], .py-md-1[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pl-md-1[_ngcontent-%COMP%], .px-md-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.p-md-2[_ngcontent-%COMP%]{padding:.5rem!important}.pt-md-2[_ngcontent-%COMP%], .py-md-2[_ngcontent-%COMP%]{padding-top:.5rem!important}.pr-md-2[_ngcontent-%COMP%], .px-md-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.pb-md-2[_ngcontent-%COMP%], .py-md-2[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pl-md-2[_ngcontent-%COMP%], .px-md-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.p-md-3[_ngcontent-%COMP%]{padding:1rem!important}.pt-md-3[_ngcontent-%COMP%], .py-md-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pr-md-3[_ngcontent-%COMP%], .px-md-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pb-md-3[_ngcontent-%COMP%], .py-md-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pl-md-3[_ngcontent-%COMP%], .px-md-3[_ngcontent-%COMP%]{padding-left:1rem!important}.p-md-4[_ngcontent-%COMP%]{padding:1.5rem!important}.pt-md-4[_ngcontent-%COMP%], .py-md-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pr-md-4[_ngcontent-%COMP%], .px-md-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pb-md-4[_ngcontent-%COMP%], .py-md-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pl-md-4[_ngcontent-%COMP%], .px-md-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.p-md-5[_ngcontent-%COMP%]{padding:3rem!important}.pt-md-5[_ngcontent-%COMP%], .py-md-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-md-5[_ngcontent-%COMP%], .px-md-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-md-5[_ngcontent-%COMP%], .py-md-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-md-5[_ngcontent-%COMP%], .px-md-5[_ngcontent-%COMP%]{padding-left:3rem!important}.m-md-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.mt-md-n1[_ngcontent-%COMP%], .my-md-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mr-md-n1[_ngcontent-%COMP%], .mx-md-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mb-md-n1[_ngcontent-%COMP%], .my-md-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.ml-md-n1[_ngcontent-%COMP%], .mx-md-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.m-md-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.mt-md-n2[_ngcontent-%COMP%], .my-md-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mr-md-n2[_ngcontent-%COMP%], .mx-md-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mb-md-n2[_ngcontent-%COMP%], .my-md-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.ml-md-n2[_ngcontent-%COMP%], .mx-md-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.m-md-n3[_ngcontent-%COMP%]{margin:-1rem!important}.mt-md-n3[_ngcontent-%COMP%], .my-md-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mr-md-n3[_ngcontent-%COMP%], .mx-md-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mb-md-n3[_ngcontent-%COMP%], .my-md-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.ml-md-n3[_ngcontent-%COMP%], .mx-md-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.m-md-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.mt-md-n4[_ngcontent-%COMP%], .my-md-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mr-md-n4[_ngcontent-%COMP%], .mx-md-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mb-md-n4[_ngcontent-%COMP%], .my-md-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.ml-md-n4[_ngcontent-%COMP%], .mx-md-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.m-md-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mt-md-n5[_ngcontent-%COMP%], .my-md-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-md-n5[_ngcontent-%COMP%], .mx-md-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-md-n5[_ngcontent-%COMP%], .my-md-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-md-n5[_ngcontent-%COMP%], .mx-md-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.m-md-auto[_ngcontent-%COMP%]{margin:auto!important}.mt-md-auto[_ngcontent-%COMP%], .my-md-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-md-auto[_ngcontent-%COMP%], .mx-md-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-md-auto[_ngcontent-%COMP%], .my-md-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-md-auto[_ngcontent-%COMP%], .mx-md-auto[_ngcontent-%COMP%]{margin-left:auto!important}.text-md-left[_ngcontent-%COMP%]{text-align:left!important}.text-md-right[_ngcontent-%COMP%]{text-align:right!important}.text-md-center[_ngcontent-%COMP%]{text-align:center!important}}@media (min-width:992px){.flex-lg-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-lg-column[_ngcontent-%COMP%]{flex-direction:column!important}.flex-lg-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-lg-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-lg-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-lg-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-lg-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.flex-lg-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-lg-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-lg-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-lg-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-lg-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.justify-content-lg-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-lg-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-lg-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-lg-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-lg-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-lg-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-lg-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-lg-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-lg-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-lg-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-lg-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-lg-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-lg-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-lg-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-lg-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-lg-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-lg-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-lg-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-lg-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-lg-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-lg-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-lg-stretch[_ngcontent-%COMP%]{align-self:stretch!important}.float-lg-left[_ngcontent-%COMP%]{float:left!important}.float-lg-right[_ngcontent-%COMP%]{float:right!important}.float-lg-none[_ngcontent-%COMP%]{float:none!important}.m-lg-0[_ngcontent-%COMP%]{margin:0!important}.mt-lg-0[_ngcontent-%COMP%], .my-lg-0[_ngcontent-%COMP%]{margin-top:0!important}.mr-lg-0[_ngcontent-%COMP%], .mx-lg-0[_ngcontent-%COMP%]{margin-right:0!important}.mb-lg-0[_ngcontent-%COMP%], .my-lg-0[_ngcontent-%COMP%]{margin-bottom:0!important}.ml-lg-0[_ngcontent-%COMP%], .mx-lg-0[_ngcontent-%COMP%]{margin-left:0!important}.m-lg-1[_ngcontent-%COMP%]{margin:.25rem!important}.mt-lg-1[_ngcontent-%COMP%], .my-lg-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mr-lg-1[_ngcontent-%COMP%], .mx-lg-1[_ngcontent-%COMP%]{margin-right:.25rem!important}.mb-lg-1[_ngcontent-%COMP%], .my-lg-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.ml-lg-1[_ngcontent-%COMP%], .mx-lg-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.m-lg-2[_ngcontent-%COMP%]{margin:.5rem!important}.mt-lg-2[_ngcontent-%COMP%], .my-lg-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mr-lg-2[_ngcontent-%COMP%], .mx-lg-2[_ngcontent-%COMP%]{margin-right:.5rem!important}.mb-lg-2[_ngcontent-%COMP%], .my-lg-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.ml-lg-2[_ngcontent-%COMP%], .mx-lg-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.m-lg-3[_ngcontent-%COMP%]{margin:1rem!important}.mt-lg-3[_ngcontent-%COMP%], .my-lg-3[_ngcontent-%COMP%]{margin-top:1rem!important}.mr-lg-3[_ngcontent-%COMP%], .mx-lg-3[_ngcontent-%COMP%]{margin-right:1rem!important}.mb-lg-3[_ngcontent-%COMP%], .my-lg-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.ml-lg-3[_ngcontent-%COMP%], .mx-lg-3[_ngcontent-%COMP%]{margin-left:1rem!important}.m-lg-4[_ngcontent-%COMP%]{margin:1.5rem!important}.mt-lg-4[_ngcontent-%COMP%], .my-lg-4[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mr-lg-4[_ngcontent-%COMP%], .mx-lg-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.mb-lg-4[_ngcontent-%COMP%], .my-lg-4[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.ml-lg-4[_ngcontent-%COMP%], .mx-lg-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.m-lg-5[_ngcontent-%COMP%]{margin:3rem!important}.mt-lg-5[_ngcontent-%COMP%], .my-lg-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mr-lg-5[_ngcontent-%COMP%], .mx-lg-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mb-lg-5[_ngcontent-%COMP%], .my-lg-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.ml-lg-5[_ngcontent-%COMP%], .mx-lg-5[_ngcontent-%COMP%]{margin-left:3rem!important}.p-lg-0[_ngcontent-%COMP%]{padding:0!important}.pt-lg-0[_ngcontent-%COMP%], .py-lg-0[_ngcontent-%COMP%]{padding-top:0!important}.pr-lg-0[_ngcontent-%COMP%], .px-lg-0[_ngcontent-%COMP%]{padding-right:0!important}.pb-lg-0[_ngcontent-%COMP%], .py-lg-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pl-lg-0[_ngcontent-%COMP%], .px-lg-0[_ngcontent-%COMP%]{padding-left:0!important}.p-lg-1[_ngcontent-%COMP%]{padding:.25rem!important}.pt-lg-1[_ngcontent-%COMP%], .py-lg-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pr-lg-1[_ngcontent-%COMP%], .px-lg-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.pb-lg-1[_ngcontent-%COMP%], .py-lg-1[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pl-lg-1[_ngcontent-%COMP%], .px-lg-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.p-lg-2[_ngcontent-%COMP%]{padding:.5rem!important}.pt-lg-2[_ngcontent-%COMP%], .py-lg-2[_ngcontent-%COMP%]{padding-top:.5rem!important}.pr-lg-2[_ngcontent-%COMP%], .px-lg-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.pb-lg-2[_ngcontent-%COMP%], .py-lg-2[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pl-lg-2[_ngcontent-%COMP%], .px-lg-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.p-lg-3[_ngcontent-%COMP%]{padding:1rem!important}.pt-lg-3[_ngcontent-%COMP%], .py-lg-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pr-lg-3[_ngcontent-%COMP%], .px-lg-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pb-lg-3[_ngcontent-%COMP%], .py-lg-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pl-lg-3[_ngcontent-%COMP%], .px-lg-3[_ngcontent-%COMP%]{padding-left:1rem!important}.p-lg-4[_ngcontent-%COMP%]{padding:1.5rem!important}.pt-lg-4[_ngcontent-%COMP%], .py-lg-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pr-lg-4[_ngcontent-%COMP%], .px-lg-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pb-lg-4[_ngcontent-%COMP%], .py-lg-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pl-lg-4[_ngcontent-%COMP%], .px-lg-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.p-lg-5[_ngcontent-%COMP%]{padding:3rem!important}.pt-lg-5[_ngcontent-%COMP%], .py-lg-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-lg-5[_ngcontent-%COMP%], .px-lg-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-lg-5[_ngcontent-%COMP%], .py-lg-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-lg-5[_ngcontent-%COMP%], .px-lg-5[_ngcontent-%COMP%]{padding-left:3rem!important}.m-lg-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.mt-lg-n1[_ngcontent-%COMP%], .my-lg-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mr-lg-n1[_ngcontent-%COMP%], .mx-lg-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mb-lg-n1[_ngcontent-%COMP%], .my-lg-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.ml-lg-n1[_ngcontent-%COMP%], .mx-lg-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.m-lg-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.mt-lg-n2[_ngcontent-%COMP%], .my-lg-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mr-lg-n2[_ngcontent-%COMP%], .mx-lg-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mb-lg-n2[_ngcontent-%COMP%], .my-lg-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.ml-lg-n2[_ngcontent-%COMP%], .mx-lg-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.m-lg-n3[_ngcontent-%COMP%]{margin:-1rem!important}.mt-lg-n3[_ngcontent-%COMP%], .my-lg-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mr-lg-n3[_ngcontent-%COMP%], .mx-lg-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mb-lg-n3[_ngcontent-%COMP%], .my-lg-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.ml-lg-n3[_ngcontent-%COMP%], .mx-lg-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.m-lg-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.mt-lg-n4[_ngcontent-%COMP%], .my-lg-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mr-lg-n4[_ngcontent-%COMP%], .mx-lg-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mb-lg-n4[_ngcontent-%COMP%], .my-lg-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.ml-lg-n4[_ngcontent-%COMP%], .mx-lg-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.m-lg-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mt-lg-n5[_ngcontent-%COMP%], .my-lg-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-lg-n5[_ngcontent-%COMP%], .mx-lg-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-lg-n5[_ngcontent-%COMP%], .my-lg-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-lg-n5[_ngcontent-%COMP%], .mx-lg-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.m-lg-auto[_ngcontent-%COMP%]{margin:auto!important}.mt-lg-auto[_ngcontent-%COMP%], .my-lg-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-lg-auto[_ngcontent-%COMP%], .mx-lg-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-lg-auto[_ngcontent-%COMP%], .my-lg-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-lg-auto[_ngcontent-%COMP%], .mx-lg-auto[_ngcontent-%COMP%]{margin-left:auto!important}.text-lg-left[_ngcontent-%COMP%]{text-align:left!important}.text-lg-right[_ngcontent-%COMP%]{text-align:right!important}.text-lg-center[_ngcontent-%COMP%]{text-align:center!important}}@media (min-width:1200px){.flex-xl-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-xl-column[_ngcontent-%COMP%]{flex-direction:column!important}.flex-xl-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-xl-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-xl-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-xl-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-xl-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.flex-xl-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-xl-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-xl-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-xl-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-xl-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.justify-content-xl-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-xl-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-xl-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-xl-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-xl-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-xl-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-xl-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-xl-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-xl-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-xl-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-xl-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-xl-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-xl-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-xl-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-xl-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-xl-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-xl-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-xl-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-xl-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-xl-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-xl-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-xl-stretch[_ngcontent-%COMP%]{align-self:stretch!important}.float-xl-left[_ngcontent-%COMP%]{float:left!important}.float-xl-right[_ngcontent-%COMP%]{float:right!important}.float-xl-none[_ngcontent-%COMP%]{float:none!important}.m-xl-0[_ngcontent-%COMP%]{margin:0!important}.mt-xl-0[_ngcontent-%COMP%], .my-xl-0[_ngcontent-%COMP%]{margin-top:0!important}.mr-xl-0[_ngcontent-%COMP%], .mx-xl-0[_ngcontent-%COMP%]{margin-right:0!important}.mb-xl-0[_ngcontent-%COMP%], .my-xl-0[_ngcontent-%COMP%]{margin-bottom:0!important}.ml-xl-0[_ngcontent-%COMP%], .mx-xl-0[_ngcontent-%COMP%]{margin-left:0!important}.m-xl-1[_ngcontent-%COMP%]{margin:.25rem!important}.mt-xl-1[_ngcontent-%COMP%], .my-xl-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mr-xl-1[_ngcontent-%COMP%], .mx-xl-1[_ngcontent-%COMP%]{margin-right:.25rem!important}.mb-xl-1[_ngcontent-%COMP%], .my-xl-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.ml-xl-1[_ngcontent-%COMP%], .mx-xl-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.m-xl-2[_ngcontent-%COMP%]{margin:.5rem!important}.mt-xl-2[_ngcontent-%COMP%], .my-xl-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mr-xl-2[_ngcontent-%COMP%], .mx-xl-2[_ngcontent-%COMP%]{margin-right:.5rem!important}.mb-xl-2[_ngcontent-%COMP%], .my-xl-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.ml-xl-2[_ngcontent-%COMP%], .mx-xl-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.m-xl-3[_ngcontent-%COMP%]{margin:1rem!important}.mt-xl-3[_ngcontent-%COMP%], .my-xl-3[_ngcontent-%COMP%]{margin-top:1rem!important}.mr-xl-3[_ngcontent-%COMP%], .mx-xl-3[_ngcontent-%COMP%]{margin-right:1rem!important}.mb-xl-3[_ngcontent-%COMP%], .my-xl-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.ml-xl-3[_ngcontent-%COMP%], .mx-xl-3[_ngcontent-%COMP%]{margin-left:1rem!important}.m-xl-4[_ngcontent-%COMP%]{margin:1.5rem!important}.mt-xl-4[_ngcontent-%COMP%], .my-xl-4[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mr-xl-4[_ngcontent-%COMP%], .mx-xl-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.mb-xl-4[_ngcontent-%COMP%], .my-xl-4[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.ml-xl-4[_ngcontent-%COMP%], .mx-xl-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.m-xl-5[_ngcontent-%COMP%]{margin:3rem!important}.mt-xl-5[_ngcontent-%COMP%], .my-xl-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mr-xl-5[_ngcontent-%COMP%], .mx-xl-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mb-xl-5[_ngcontent-%COMP%], .my-xl-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.ml-xl-5[_ngcontent-%COMP%], .mx-xl-5[_ngcontent-%COMP%]{margin-left:3rem!important}.p-xl-0[_ngcontent-%COMP%]{padding:0!important}.pt-xl-0[_ngcontent-%COMP%], .py-xl-0[_ngcontent-%COMP%]{padding-top:0!important}.pr-xl-0[_ngcontent-%COMP%], .px-xl-0[_ngcontent-%COMP%]{padding-right:0!important}.pb-xl-0[_ngcontent-%COMP%], .py-xl-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pl-xl-0[_ngcontent-%COMP%], .px-xl-0[_ngcontent-%COMP%]{padding-left:0!important}.p-xl-1[_ngcontent-%COMP%]{padding:.25rem!important}.pt-xl-1[_ngcontent-%COMP%], .py-xl-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pr-xl-1[_ngcontent-%COMP%], .px-xl-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.pb-xl-1[_ngcontent-%COMP%], .py-xl-1[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pl-xl-1[_ngcontent-%COMP%], .px-xl-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.p-xl-2[_ngcontent-%COMP%]{padding:.5rem!important}.pt-xl-2[_ngcontent-%COMP%], .py-xl-2[_ngcontent-%COMP%]{padding-top:.5rem!important}.pr-xl-2[_ngcontent-%COMP%], .px-xl-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.pb-xl-2[_ngcontent-%COMP%], .py-xl-2[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pl-xl-2[_ngcontent-%COMP%], .px-xl-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.p-xl-3[_ngcontent-%COMP%]{padding:1rem!important}.pt-xl-3[_ngcontent-%COMP%], .py-xl-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pr-xl-3[_ngcontent-%COMP%], .px-xl-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pb-xl-3[_ngcontent-%COMP%], .py-xl-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pl-xl-3[_ngcontent-%COMP%], .px-xl-3[_ngcontent-%COMP%]{padding-left:1rem!important}.p-xl-4[_ngcontent-%COMP%]{padding:1.5rem!important}.pt-xl-4[_ngcontent-%COMP%], .py-xl-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pr-xl-4[_ngcontent-%COMP%], .px-xl-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pb-xl-4[_ngcontent-%COMP%], .py-xl-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pl-xl-4[_ngcontent-%COMP%], .px-xl-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.p-xl-5[_ngcontent-%COMP%]{padding:3rem!important}.pt-xl-5[_ngcontent-%COMP%], .py-xl-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-xl-5[_ngcontent-%COMP%], .px-xl-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-xl-5[_ngcontent-%COMP%], .py-xl-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-xl-5[_ngcontent-%COMP%], .px-xl-5[_ngcontent-%COMP%]{padding-left:3rem!important}.m-xl-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.mt-xl-n1[_ngcontent-%COMP%], .my-xl-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mr-xl-n1[_ngcontent-%COMP%], .mx-xl-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mb-xl-n1[_ngcontent-%COMP%], .my-xl-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.ml-xl-n1[_ngcontent-%COMP%], .mx-xl-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.m-xl-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.mt-xl-n2[_ngcontent-%COMP%], .my-xl-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mr-xl-n2[_ngcontent-%COMP%], .mx-xl-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mb-xl-n2[_ngcontent-%COMP%], .my-xl-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.ml-xl-n2[_ngcontent-%COMP%], .mx-xl-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.m-xl-n3[_ngcontent-%COMP%]{margin:-1rem!important}.mt-xl-n3[_ngcontent-%COMP%], .my-xl-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mr-xl-n3[_ngcontent-%COMP%], .mx-xl-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mb-xl-n3[_ngcontent-%COMP%], .my-xl-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.ml-xl-n3[_ngcontent-%COMP%], .mx-xl-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.m-xl-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.mt-xl-n4[_ngcontent-%COMP%], .my-xl-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mr-xl-n4[_ngcontent-%COMP%], .mx-xl-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mb-xl-n4[_ngcontent-%COMP%], .my-xl-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.ml-xl-n4[_ngcontent-%COMP%], .mx-xl-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.m-xl-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mt-xl-n5[_ngcontent-%COMP%], .my-xl-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-xl-n5[_ngcontent-%COMP%], .mx-xl-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-xl-n5[_ngcontent-%COMP%], .my-xl-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-xl-n5[_ngcontent-%COMP%], .mx-xl-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.m-xl-auto[_ngcontent-%COMP%]{margin:auto!important}.mt-xl-auto[_ngcontent-%COMP%], .my-xl-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-xl-auto[_ngcontent-%COMP%], .mx-xl-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-xl-auto[_ngcontent-%COMP%], .my-xl-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-xl-auto[_ngcontent-%COMP%], .mx-xl-auto[_ngcontent-%COMP%]{margin-left:auto!important}.text-xl-left[_ngcontent-%COMP%]{text-align:left!important}.text-xl-right[_ngcontent-%COMP%]{text-align:right!important}.text-xl-center[_ngcontent-%COMP%]{text-align:center!important}}.text-lowercase[_ngcontent-%COMP%]{text-transform:lowercase!important}.text-uppercase[_ngcontent-%COMP%]{text-transform:uppercase!important}.text-capitalize[_ngcontent-%COMP%]{text-transform:capitalize!important}.font-weight-light[_ngcontent-%COMP%]{font-weight:300!important}.font-weight-lighter[_ngcontent-%COMP%]{font-weight:lighter!important}.font-weight-normal[_ngcontent-%COMP%]{font-weight:400!important}.font-weight-bold[_ngcontent-%COMP%]{font-weight:700!important}.font-weight-bolder[_ngcontent-%COMP%]{font-weight:bolder!important}.font-italic[_ngcontent-%COMP%]{font-style:italic!important}.text-white[_ngcontent-%COMP%]{color:#fff!important}.text-primary[_ngcontent-%COMP%]{color:#2b99a8!important}a.text-primary[_ngcontent-%COMP%]:focus, a.text-primary[_ngcontent-%COMP%]:hover{color:#1b626b!important}.text-secondary[_ngcontent-%COMP%]{color:#ef5c55!important}a.text-secondary[_ngcontent-%COMP%]:focus, a.text-secondary[_ngcontent-%COMP%]:hover{color:#e21f15!important}.text-success[_ngcontent-%COMP%]{color:#28a745!important}a.text-success[_ngcontent-%COMP%]:focus, a.text-success[_ngcontent-%COMP%]:hover{color:#19692c!important}.text-info[_ngcontent-%COMP%]{color:#17a2b8!important}a.text-info[_ngcontent-%COMP%]:focus, a.text-info[_ngcontent-%COMP%]:hover{color:#0f6674!important}.text-warning[_ngcontent-%COMP%]{color:#ffc107!important}a.text-warning[_ngcontent-%COMP%]:focus, a.text-warning[_ngcontent-%COMP%]:hover{color:#ba8b00!important}.text-danger[_ngcontent-%COMP%]{color:#dc3545!important}a.text-danger[_ngcontent-%COMP%]:focus, a.text-danger[_ngcontent-%COMP%]:hover{color:#a71d2a!important}.text-light[_ngcontent-%COMP%]{color:#f8f9fa!important}a.text-light[_ngcontent-%COMP%]:focus, a.text-light[_ngcontent-%COMP%]:hover{color:#cbd3da!important}.text-dark[_ngcontent-%COMP%]{color:#777!important}a.text-dark[_ngcontent-%COMP%]:focus, a.text-dark[_ngcontent-%COMP%]:hover{color:#515151!important}.text-body[_ngcontent-%COMP%]{color:#212529!important}.text-muted[_ngcontent-%COMP%]{color:#6c757d!important}.text-black-50[_ngcontent-%COMP%]{color:rgba(0,0,0,.5)!important}.text-white-50[_ngcontent-%COMP%]{color:rgba(255,255,255,.5)!important}.text-hide[_ngcontent-%COMP%]{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none[_ngcontent-%COMP%]{text-decoration:none!important}.text-break[_ngcontent-%COMP%]{word-break:break-word!important;overflow-wrap:break-word!important}.text-reset[_ngcontent-%COMP%]{color:inherit!important}.visible[_ngcontent-%COMP%]{visibility:visible!important}.invisible[_ngcontent-%COMP%]{visibility:hidden!important}@media print{*[_ngcontent-%COMP%], [_ngcontent-%COMP%]::after, [_ngcontent-%COMP%]::before{text-shadow:none!important;box-shadow:none!important}a[_ngcontent-%COMP%]:not(.btn){text-decoration:underline}abbr[title][_ngcontent-%COMP%]::after{content:" (" attr(title) ")"}pre[_ngcontent-%COMP%]{white-space:pre-wrap!important}blockquote[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]{border:1px solid #adb5bd;page-break-inside:avoid}thead[_ngcontent-%COMP%]{display:table-header-group}img[_ngcontent-%COMP%], tr[_ngcontent-%COMP%]{page-break-inside:avoid}h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%], p[_ngcontent-%COMP%]{orphans:3;widows:3}h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%]{page-break-after:avoid}@page{size:a3}.container[_ngcontent-%COMP%], body[_ngcontent-%COMP%]{min-width:992px!important}.navbar[_ngcontent-%COMP%]{display:none}.badge[_ngcontent-%COMP%]{border:1px solid #000}.table[_ngcontent-%COMP%]{border-collapse:collapse!important}.table[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{background-color:#fff!important}.table-bordered[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-bordered[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border:1px solid #dee2e6!important}.table-dark[_ngcontent-%COMP%]{color:inherit}.table-dark[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#dee2e6}.table[_ngcontent-%COMP%]   .thead-dark[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{color:inherit;border-color:#dee2e6}}@font-face{font-family:ForkAwesome;src:url(forkawesome-webfont.35e77a38ca9d85c4e897.eot?v=1.1.7);src:url(forkawesome-webfont.35e77a38ca9d85c4e897.eot?#iefix&v=1.1.7) format("embedded-opentype"),url(forkawesome-webfont.3a9e014c2469ffa65a0e.woff2?v=1.1.7) format("woff2"),url(forkawesome-webfont.44bbdbbfb5a10ba2d1ce.woff?v=1.1.7) format("woff"),url(forkawesome-webfont.fc46f3dae03b2b2e1cee.ttf?v=1.1.7) format("truetype"),url(forkawesome-webfont.78dcc9c4999659b8026a.svg?v=1.1.7#forkawesomeregular) format("svg");font-weight:400;font-style:normal}.fa[_ngcontent-%COMP%]{display:inline-block;font:normal normal normal 14px/1 ForkAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg[_ngcontent-%COMP%]{font-size:1.3333333333em;line-height:.75em;vertical-align:-15%}.fa-2x[_ngcontent-%COMP%]{font-size:2em}.fa-3x[_ngcontent-%COMP%]{font-size:3em}.fa-4x[_ngcontent-%COMP%]{font-size:4em}.fa-5x[_ngcontent-%COMP%]{font-size:5em}.fa[_ngcontent-%COMP%], .fa-fw[_ngcontent-%COMP%]{width:1.2857142857em;text-align:center}.fa-ul[_ngcontent-%COMP%]{padding-left:0;margin-left:2.1428571429em;list-style-type:none}.fa-ul[_ngcontent-%COMP%] > li[_ngcontent-%COMP%]{position:relative}.fa-li[_ngcontent-%COMP%]{position:absolute;left:-2.1428571429em;width:2.1428571429em;top:.1428571429em;text-align:center}.fa-li.fa-lg[_ngcontent-%COMP%]{left:-1.8571428571em}.fa-border[_ngcontent-%COMP%]{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left[_ngcontent-%COMP%]{float:left}.fa-pull-right[_ngcontent-%COMP%]{float:right}.fa.fa-pull-left[_ngcontent-%COMP%]{margin-right:.3em}.fa.fa-pull-right[_ngcontent-%COMP%]{margin-left:.3em}.pull-right[_ngcontent-%COMP%]{float:right}.pull-left[_ngcontent-%COMP%]{float:left}.fa.pull-left[_ngcontent-%COMP%]{margin-right:.3em}.fa.pull-right[_ngcontent-%COMP%]{margin-left:.3em}.fa-spin[_ngcontent-%COMP%]{animation:2s linear infinite fa-spin}.fa-pulse[_ngcontent-%COMP%]{animation:1s steps(8) infinite fa-spin}@keyframes fa-spin{0%{transform:rotate(0)}100%{transform:rotate(359deg)}}.fa-rotate-90[_ngcontent-%COMP%]{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180[_ngcontent-%COMP%]{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270[_ngcontent-%COMP%]{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal[_ngcontent-%COMP%]{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";transform:scale(-1,1)}.fa-flip-vertical[_ngcontent-%COMP%]{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";transform:scale(1,-1)}[_ngcontent-%COMP%]:root   .fa-flip-horizontal[_ngcontent-%COMP%], [_ngcontent-%COMP%]:root   .fa-flip-vertical[_ngcontent-%COMP%], [_ngcontent-%COMP%]:root   .fa-rotate-180[_ngcontent-%COMP%], [_ngcontent-%COMP%]:root   .fa-rotate-270[_ngcontent-%COMP%], [_ngcontent-%COMP%]:root   .fa-rotate-90[_ngcontent-%COMP%]{filter:none}.fa-stack[_ngcontent-%COMP%]{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x[_ngcontent-%COMP%], .fa-stack-2x[_ngcontent-%COMP%]{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x[_ngcontent-%COMP%]{line-height:inherit}.fa-stack-2x[_ngcontent-%COMP%]{font-size:2em}.fa-inverse[_ngcontent-%COMP%]{color:#fff}.fa-glass[_ngcontent-%COMP%]:before{content:""}.fa-music[_ngcontent-%COMP%]:before{content:""}.fa-search[_ngcontent-%COMP%]:before{content:""}.fa-envelope-o[_ngcontent-%COMP%]:before{content:""}.fa-heart[_ngcontent-%COMP%]:before{content:""}.fa-star[_ngcontent-%COMP%]:before{content:""}.fa-star-o[_ngcontent-%COMP%]:before{content:""}.fa-user[_ngcontent-%COMP%]:before{content:""}.fa-film[_ngcontent-%COMP%]:before{content:""}.fa-th-large[_ngcontent-%COMP%]:before{content:""}.fa-th[_ngcontent-%COMP%]:before{content:""}.fa-th-list[_ngcontent-%COMP%]:before{content:""}.fa-check[_ngcontent-%COMP%]:before{content:""}.fa-close[_ngcontent-%COMP%]:before, .fa-remove[_ngcontent-%COMP%]:before, .fa-times[_ngcontent-%COMP%]:before{content:""}.fa-search-plus[_ngcontent-%COMP%]:before{content:""}.fa-search-minus[_ngcontent-%COMP%]:before{content:""}.fa-power-off[_ngcontent-%COMP%]:before{content:""}.fa-signal[_ngcontent-%COMP%]:before{content:""}.fa-cog[_ngcontent-%COMP%]:before, .fa-gear[_ngcontent-%COMP%]:before{content:""}.fa-trash-o[_ngcontent-%COMP%]:before{content:""}.fa-home[_ngcontent-%COMP%]:before{content:""}.fa-file-o[_ngcontent-%COMP%]:before{content:""}.fa-clock-o[_ngcontent-%COMP%]:before{content:""}.fa-road[_ngcontent-%COMP%]:before{content:""}.fa-download[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-o-down[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-o-up[_ngcontent-%COMP%]:before{content:""}.fa-inbox[_ngcontent-%COMP%]:before{content:""}.fa-play-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-repeat[_ngcontent-%COMP%]:before, .fa-rotate-right[_ngcontent-%COMP%]:before{content:""}.fa-refresh[_ngcontent-%COMP%]:before, .fa-sync[_ngcontent-%COMP%]:before{content:""}.fa-list-alt[_ngcontent-%COMP%]:before{content:""}.fa-lock[_ngcontent-%COMP%]:before{content:""}.fa-flag[_ngcontent-%COMP%]:before{content:""}.fa-headphones[_ngcontent-%COMP%]:before{content:""}.fa-volume-off[_ngcontent-%COMP%]:before{content:""}.fa-volume-down[_ngcontent-%COMP%]:before{content:""}.fa-volume-up[_ngcontent-%COMP%]:before{content:""}.fa-qrcode[_ngcontent-%COMP%]:before{content:""}.fa-barcode[_ngcontent-%COMP%]:before{content:""}.fa-tag[_ngcontent-%COMP%]:before{content:""}.fa-tags[_ngcontent-%COMP%]:before{content:""}.fa-book[_ngcontent-%COMP%]:before{content:""}.fa-bookmark[_ngcontent-%COMP%]:before{content:""}.fa-print[_ngcontent-%COMP%]:before{content:""}.fa-camera[_ngcontent-%COMP%]:before{content:""}.fa-font[_ngcontent-%COMP%]:before{content:""}.fa-bold[_ngcontent-%COMP%]:before{content:""}.fa-italic[_ngcontent-%COMP%]:before{content:""}.fa-text-height[_ngcontent-%COMP%]:before{content:""}.fa-text-width[_ngcontent-%COMP%]:before{content:""}.fa-align-left[_ngcontent-%COMP%]:before{content:""}.fa-align-center[_ngcontent-%COMP%]:before{content:""}.fa-align-right[_ngcontent-%COMP%]:before{content:""}.fa-align-justify[_ngcontent-%COMP%]:before{content:""}.fa-list[_ngcontent-%COMP%]:before{content:""}.fa-dedent[_ngcontent-%COMP%]:before, .fa-outdent[_ngcontent-%COMP%]:before{content:""}.fa-indent[_ngcontent-%COMP%]:before{content:""}.fa-video-camera[_ngcontent-%COMP%]:before, .fa-video[_ngcontent-%COMP%]:before{content:""}.fa-image[_ngcontent-%COMP%]:before, .fa-photo[_ngcontent-%COMP%]:before, .fa-picture-o[_ngcontent-%COMP%]:before{content:""}.fa-pencil[_ngcontent-%COMP%]:before{content:""}.fa-map-marker[_ngcontent-%COMP%]:before{content:""}.fa-adjust[_ngcontent-%COMP%]:before{content:""}.fa-tint[_ngcontent-%COMP%]:before{content:""}.fa-edit[_ngcontent-%COMP%]:before, .fa-pencil-square-o[_ngcontent-%COMP%]:before{content:""}.fa-share-square-o[_ngcontent-%COMP%]:before{content:""}.fa-check-square-o[_ngcontent-%COMP%]:before{content:""}.fa-arrows[_ngcontent-%COMP%]:before{content:""}.fa-step-backward[_ngcontent-%COMP%]:before{content:""}.fa-fast-backward[_ngcontent-%COMP%]:before{content:""}.fa-backward[_ngcontent-%COMP%]:before{content:""}.fa-play[_ngcontent-%COMP%]:before{content:""}.fa-pause[_ngcontent-%COMP%]:before{content:""}.fa-stop[_ngcontent-%COMP%]:before{content:""}.fa-forward[_ngcontent-%COMP%]:before{content:""}.fa-fast-forward[_ngcontent-%COMP%]:before{content:""}.fa-step-forward[_ngcontent-%COMP%]:before{content:""}.fa-eject[_ngcontent-%COMP%]:before{content:""}.fa-chevron-left[_ngcontent-%COMP%]:before{content:""}.fa-chevron-right[_ngcontent-%COMP%]:before{content:""}.fa-plus-circle[_ngcontent-%COMP%]:before{content:""}.fa-minus-circle[_ngcontent-%COMP%]:before{content:""}.fa-times-circle[_ngcontent-%COMP%]:before{content:""}.fa-check-circle[_ngcontent-%COMP%]:before{content:""}.fa-question-circle[_ngcontent-%COMP%]:before{content:""}.fa-info-circle[_ngcontent-%COMP%]:before{content:""}.fa-crosshairs[_ngcontent-%COMP%]:before{content:""}.fa-times-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-check-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-ban[_ngcontent-%COMP%]:before{content:""}.fa-arrow-left[_ngcontent-%COMP%]:before{content:""}.fa-arrow-right[_ngcontent-%COMP%]:before{content:""}.fa-arrow-up[_ngcontent-%COMP%]:before{content:""}.fa-arrow-down[_ngcontent-%COMP%]:before{content:""}.fa-mail-forward[_ngcontent-%COMP%]:before, .fa-share[_ngcontent-%COMP%]:before{content:""}.fa-expand[_ngcontent-%COMP%]:before{content:""}.fa-compress[_ngcontent-%COMP%]:before{content:""}.fa-plus[_ngcontent-%COMP%]:before{content:""}.fa-minus[_ngcontent-%COMP%]:before{content:""}.fa-asterisk[_ngcontent-%COMP%]:before{content:""}.fa-exclamation-circle[_ngcontent-%COMP%]:before{content:""}.fa-gift[_ngcontent-%COMP%]:before{content:""}.fa-leaf[_ngcontent-%COMP%]:before{content:""}.fa-fire[_ngcontent-%COMP%]:before{content:""}.fa-eye[_ngcontent-%COMP%]:before{content:""}.fa-eye-slash[_ngcontent-%COMP%]:before{content:""}.fa-exclamation-triangle[_ngcontent-%COMP%]:before, .fa-warning[_ngcontent-%COMP%]:before{content:""}.fa-plane[_ngcontent-%COMP%]:before{content:""}.fa-calendar[_ngcontent-%COMP%]:before{content:""}.fa-random[_ngcontent-%COMP%]:before{content:""}.fa-comment[_ngcontent-%COMP%]:before{content:""}.fa-magnet[_ngcontent-%COMP%]:before{content:""}.fa-chevron-up[_ngcontent-%COMP%]:before{content:""}.fa-chevron-down[_ngcontent-%COMP%]:before{content:""}.fa-retweet[_ngcontent-%COMP%]:before{content:""}.fa-shopping-cart[_ngcontent-%COMP%]:before{content:""}.fa-folder[_ngcontent-%COMP%]:before{content:""}.fa-folder-open[_ngcontent-%COMP%]:before{content:""}.fa-arrows-v[_ngcontent-%COMP%]:before{content:""}.fa-arrows-h[_ngcontent-%COMP%]:before{content:""}.fa-bar-chart-o[_ngcontent-%COMP%]:before, .fa-bar-chart[_ngcontent-%COMP%]:before{content:""}.fa-twitter-square[_ngcontent-%COMP%]:before{content:""}.fa-facebook-square[_ngcontent-%COMP%]:before{content:""}.fa-camera-retro[_ngcontent-%COMP%]:before{content:""}.fa-key[_ngcontent-%COMP%]:before{content:""}.fa-cogs[_ngcontent-%COMP%]:before, .fa-gears[_ngcontent-%COMP%]:before{content:""}.fa-comments[_ngcontent-%COMP%]:before{content:""}.fa-thumbs-o-up[_ngcontent-%COMP%]:before{content:""}.fa-thumbs-o-down[_ngcontent-%COMP%]:before{content:""}.fa-star-half[_ngcontent-%COMP%]:before{content:""}.fa-heart-o[_ngcontent-%COMP%]:before{content:""}.fa-sign-out[_ngcontent-%COMP%]:before{content:""}.fa-linkedin-square[_ngcontent-%COMP%]:before{content:""}.fa-thumb-tack[_ngcontent-%COMP%]:before{content:""}.fa-external-link[_ngcontent-%COMP%]:before{content:""}.fa-sign-in[_ngcontent-%COMP%]:before{content:""}.fa-trophy[_ngcontent-%COMP%]:before{content:""}.fa-github-square[_ngcontent-%COMP%]:before{content:""}.fa-upload[_ngcontent-%COMP%]:before{content:""}.fa-lemon-o[_ngcontent-%COMP%]:before{content:""}.fa-phone[_ngcontent-%COMP%]:before{content:""}.fa-square-o[_ngcontent-%COMP%]:before{content:""}.fa-bookmark-o[_ngcontent-%COMP%]:before{content:""}.fa-phone-square[_ngcontent-%COMP%]:before{content:""}.fa-twitter[_ngcontent-%COMP%]:before{content:""}.fa-facebook-f[_ngcontent-%COMP%]:before, .fa-facebook[_ngcontent-%COMP%]:before{content:""}.fa-github[_ngcontent-%COMP%]:before{content:""}.fa-unlock[_ngcontent-%COMP%]:before{content:""}.fa-credit-card[_ngcontent-%COMP%]:before{content:""}.fa-feed[_ngcontent-%COMP%]:before, .fa-rss[_ngcontent-%COMP%]:before{content:""}.fa-hdd-o[_ngcontent-%COMP%]:before{content:""}.fa-bullhorn[_ngcontent-%COMP%]:before{content:""}.fa-bell-o[_ngcontent-%COMP%]:before{content:""}.fa-certificate[_ngcontent-%COMP%]:before{content:""}.fa-hand-o-right[_ngcontent-%COMP%]:before{content:""}.fa-hand-o-left[_ngcontent-%COMP%]:before{content:""}.fa-hand-o-up[_ngcontent-%COMP%]:before{content:""}.fa-hand-o-down[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-left[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-right[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-up[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-down[_ngcontent-%COMP%]:before{content:""}.fa-globe[_ngcontent-%COMP%]:before{content:""}.fa-globe-e[_ngcontent-%COMP%]:before{content:""}.fa-globe-w[_ngcontent-%COMP%]:before{content:""}.fa-wrench[_ngcontent-%COMP%]:before{content:""}.fa-tasks[_ngcontent-%COMP%]:before{content:""}.fa-filter[_ngcontent-%COMP%]:before{content:""}.fa-briefcase[_ngcontent-%COMP%]:before{content:""}.fa-arrows-alt[_ngcontent-%COMP%]:before{content:""}.fa-community[_ngcontent-%COMP%]:before, .fa-group[_ngcontent-%COMP%]:before, .fa-users[_ngcontent-%COMP%]:before{content:""}.fa-chain[_ngcontent-%COMP%]:before, .fa-link[_ngcontent-%COMP%]:before{content:""}.fa-cloud[_ngcontent-%COMP%]:before{content:""}.fa-flask[_ngcontent-%COMP%]:before{content:""}.fa-cut[_ngcontent-%COMP%]:before, .fa-scissors[_ngcontent-%COMP%]:before{content:""}.fa-copy[_ngcontent-%COMP%]:before, .fa-files-o[_ngcontent-%COMP%]:before{content:""}.fa-paperclip[_ngcontent-%COMP%]:before{content:""}.fa-floppy-o[_ngcontent-%COMP%]:before, .fa-save[_ngcontent-%COMP%]:before{content:""}.fa-square[_ngcontent-%COMP%]:before{content:""}.fa-bars[_ngcontent-%COMP%]:before, .fa-navicon[_ngcontent-%COMP%]:before, .fa-reorder[_ngcontent-%COMP%]:before{content:""}.fa-list-ul[_ngcontent-%COMP%]:before{content:""}.fa-list-ol[_ngcontent-%COMP%]:before{content:""}.fa-strikethrough[_ngcontent-%COMP%]:before{content:""}.fa-underline[_ngcontent-%COMP%]:before{content:""}.fa-table[_ngcontent-%COMP%]:before{content:""}.fa-magic[_ngcontent-%COMP%]:before{content:""}.fa-truck[_ngcontent-%COMP%]:before{content:""}.fa-pinterest[_ngcontent-%COMP%]:before{content:""}.fa-pinterest-square[_ngcontent-%COMP%]:before{content:""}.fa-google-plus-square[_ngcontent-%COMP%]:before{content:""}.fa-google-plus-g[_ngcontent-%COMP%]:before, .fa-google-plus[_ngcontent-%COMP%]:before{content:""}.fa-money[_ngcontent-%COMP%]:before{content:""}.fa-caret-down[_ngcontent-%COMP%]:before{content:""}.fa-caret-up[_ngcontent-%COMP%]:before{content:""}.fa-caret-left[_ngcontent-%COMP%]:before{content:""}.fa-caret-right[_ngcontent-%COMP%]:before{content:""}.fa-columns[_ngcontent-%COMP%]:before{content:""}.fa-sort[_ngcontent-%COMP%]:before, .fa-unsorted[_ngcontent-%COMP%]:before{content:""}.fa-sort-desc[_ngcontent-%COMP%]:before, .fa-sort-down[_ngcontent-%COMP%]:before{content:""}.fa-sort-asc[_ngcontent-%COMP%]:before, .fa-sort-up[_ngcontent-%COMP%]:before{content:""}.fa-envelope[_ngcontent-%COMP%]:before{content:""}.fa-linkedin[_ngcontent-%COMP%]:before{content:""}.fa-rotate-left[_ngcontent-%COMP%]:before, .fa-undo[_ngcontent-%COMP%]:before{content:""}.fa-gavel[_ngcontent-%COMP%]:before, .fa-legal[_ngcontent-%COMP%]:before{content:""}.fa-dashboard[_ngcontent-%COMP%]:before, .fa-tachometer[_ngcontent-%COMP%]:before{content:""}.fa-comment-o[_ngcontent-%COMP%]:before{content:""}.fa-comments-o[_ngcontent-%COMP%]:before{content:""}.fa-bolt[_ngcontent-%COMP%]:before, .fa-flash[_ngcontent-%COMP%]:before{content:""}.fa-sitemap[_ngcontent-%COMP%]:before{content:""}.fa-umbrella[_ngcontent-%COMP%]:before{content:""}.fa-clipboard[_ngcontent-%COMP%]:before, .fa-paste[_ngcontent-%COMP%]:before{content:""}.fa-lightbulb-o[_ngcontent-%COMP%]:before{content:""}.fa-exchange[_ngcontent-%COMP%]:before{content:""}.fa-cloud-download[_ngcontent-%COMP%]:before{content:""}.fa-cloud-upload[_ngcontent-%COMP%]:before{content:""}.fa-user-md[_ngcontent-%COMP%]:before{content:""}.fa-stethoscope[_ngcontent-%COMP%]:before{content:""}.fa-suitcase[_ngcontent-%COMP%]:before{content:""}.fa-bell[_ngcontent-%COMP%]:before{content:""}.fa-coffee[_ngcontent-%COMP%]:before{content:""}.fa-cutlery[_ngcontent-%COMP%]:before, .fa-utensils[_ngcontent-%COMP%]:before{content:""}.fa-file-text-o[_ngcontent-%COMP%]:before{content:""}.fa-building-o[_ngcontent-%COMP%]:before{content:""}.fa-hospital-o[_ngcontent-%COMP%]:before{content:""}.fa-ambulance[_ngcontent-%COMP%]:before{content:""}.fa-medkit[_ngcontent-%COMP%]:before{content:""}.fa-fighter-jet[_ngcontent-%COMP%]:before{content:""}.fa-beer[_ngcontent-%COMP%]:before{content:""}.fa-h-square[_ngcontent-%COMP%]:before{content:""}.fa-plus-square[_ngcontent-%COMP%]:before{content:""}.fa-angle-double-left[_ngcontent-%COMP%]:before{content:""}.fa-angle-double-right[_ngcontent-%COMP%]:before{content:""}.fa-angle-double-up[_ngcontent-%COMP%]:before{content:""}.fa-angle-double-down[_ngcontent-%COMP%]:before{content:""}.fa-angle-left[_ngcontent-%COMP%]:before{content:""}.fa-angle-right[_ngcontent-%COMP%]:before{content:""}.fa-angle-up[_ngcontent-%COMP%]:before{content:""}.fa-angle-down[_ngcontent-%COMP%]:before{content:""}.fa-desktop[_ngcontent-%COMP%]:before{content:""}.fa-laptop[_ngcontent-%COMP%]:before{content:""}.fa-tablet[_ngcontent-%COMP%]:before{content:""}.fa-mobile-phone[_ngcontent-%COMP%]:before, .fa-mobile[_ngcontent-%COMP%]:before{content:""}.fa-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-quote-left[_ngcontent-%COMP%]:before{content:""}.fa-quote-right[_ngcontent-%COMP%]:before{content:""}.fa-spinner[_ngcontent-%COMP%]:before{content:""}.fa-circle[_ngcontent-%COMP%]:before{content:""}.fa-mail-reply[_ngcontent-%COMP%]:before, .fa-reply[_ngcontent-%COMP%]:before{content:""}.fa-github-alt[_ngcontent-%COMP%]:before{content:""}.fa-folder-o[_ngcontent-%COMP%]:before{content:""}.fa-folder-open-o[_ngcontent-%COMP%]:before{content:""}.fa-smile-o[_ngcontent-%COMP%]:before{content:""}.fa-frown-o[_ngcontent-%COMP%]:before{content:""}.fa-meh-o[_ngcontent-%COMP%]:before{content:""}.fa-gamepad[_ngcontent-%COMP%]:before{content:""}.fa-keyboard-o[_ngcontent-%COMP%]:before{content:""}.fa-flag-o[_ngcontent-%COMP%]:before{content:""}.fa-flag-checkered[_ngcontent-%COMP%]:before{content:""}.fa-terminal[_ngcontent-%COMP%]:before{content:""}.fa-code[_ngcontent-%COMP%]:before{content:""}.fa-mail-reply-all[_ngcontent-%COMP%]:before, .fa-reply-all[_ngcontent-%COMP%]:before{content:""}.fa-star-half-empty[_ngcontent-%COMP%]:before, .fa-star-half-full[_ngcontent-%COMP%]:before, .fa-star-half-o[_ngcontent-%COMP%]:before{content:""}.fa-location-arrow[_ngcontent-%COMP%]:before{content:""}.fa-crop[_ngcontent-%COMP%]:before{content:""}.fa-code-fork[_ngcontent-%COMP%]:before{content:""}.fa-chain-broken[_ngcontent-%COMP%]:before, .fa-unlink[_ngcontent-%COMP%]:before{content:""}.fa-question[_ngcontent-%COMP%]:before{content:""}.fa-info[_ngcontent-%COMP%]:before{content:""}.fa-exclamation[_ngcontent-%COMP%]:before{content:""}.fa-superscript[_ngcontent-%COMP%]:before{content:""}.fa-subscript[_ngcontent-%COMP%]:before{content:""}.fa-eraser[_ngcontent-%COMP%]:before{content:""}.fa-puzzle-piece[_ngcontent-%COMP%]:before{content:""}.fa-microphone[_ngcontent-%COMP%]:before{content:""}.fa-microphone-slash[_ngcontent-%COMP%]:before{content:""}.fa-shield[_ngcontent-%COMP%]:before{content:""}.fa-calendar-o[_ngcontent-%COMP%]:before{content:""}.fa-fire-extinguisher[_ngcontent-%COMP%]:before{content:""}.fa-rocket[_ngcontent-%COMP%]:before{content:""}.fa-maxcdn[_ngcontent-%COMP%]:before{content:""}.fa-chevron-circle-left[_ngcontent-%COMP%]:before{content:""}.fa-chevron-circle-right[_ngcontent-%COMP%]:before{content:""}.fa-chevron-circle-up[_ngcontent-%COMP%]:before{content:""}.fa-chevron-circle-down[_ngcontent-%COMP%]:before{content:""}.fa-html5[_ngcontent-%COMP%]:before{content:""}.fa-css3[_ngcontent-%COMP%]:before{content:""}.fa-anchor[_ngcontent-%COMP%]:before{content:""}.fa-unlock-alt[_ngcontent-%COMP%]:before{content:""}.fa-bullseye[_ngcontent-%COMP%]:before{content:""}.fa-ellipsis-h[_ngcontent-%COMP%]:before{content:""}.fa-ellipsis-v[_ngcontent-%COMP%]:before{content:""}.fa-rss-square[_ngcontent-%COMP%]:before{content:""}.fa-play-circle[_ngcontent-%COMP%]:before{content:""}.fa-ticket[_ngcontent-%COMP%]:before{content:""}.fa-minus-square[_ngcontent-%COMP%]:before{content:""}.fa-minus-square-o[_ngcontent-%COMP%]:before{content:""}.fa-level-up[_ngcontent-%COMP%]:before{content:""}.fa-level-down[_ngcontent-%COMP%]:before{content:""}.fa-check-square[_ngcontent-%COMP%]:before{content:""}.fa-pencil-square[_ngcontent-%COMP%]:before{content:""}.fa-external-link-square[_ngcontent-%COMP%]:before{content:""}.fa-share-square[_ngcontent-%COMP%]:before{content:""}.fa-compass[_ngcontent-%COMP%]:before{content:""}.fa-caret-square-o-down[_ngcontent-%COMP%]:before, .fa-toggle-down[_ngcontent-%COMP%]:before{content:""}.fa-caret-square-o-up[_ngcontent-%COMP%]:before, .fa-toggle-up[_ngcontent-%COMP%]:before{content:""}.fa-caret-square-o-right[_ngcontent-%COMP%]:before, .fa-toggle-right[_ngcontent-%COMP%]:before{content:""}.fa-eur[_ngcontent-%COMP%]:before, .fa-euro[_ngcontent-%COMP%]:before{content:""}.fa-gbp[_ngcontent-%COMP%]:before, .fa-pound[_ngcontent-%COMP%]:before{content:""}.fa-dollar[_ngcontent-%COMP%]:before, .fa-usd[_ngcontent-%COMP%]:before{content:""}.fa-inr[_ngcontent-%COMP%]:before, .fa-rupee[_ngcontent-%COMP%]:before{content:""}.fa-cny[_ngcontent-%COMP%]:before, .fa-jpy[_ngcontent-%COMP%]:before, .fa-rmb[_ngcontent-%COMP%]:before, .fa-yen[_ngcontent-%COMP%]:before{content:""}.fa-rouble[_ngcontent-%COMP%]:before, .fa-rub[_ngcontent-%COMP%]:before, .fa-ruble[_ngcontent-%COMP%]:before{content:""}.fa-krw[_ngcontent-%COMP%]:before, .fa-won[_ngcontent-%COMP%]:before{content:""}.fa-bitcoin[_ngcontent-%COMP%]:before, .fa-btc[_ngcontent-%COMP%]:before{content:""}.fa-file[_ngcontent-%COMP%]:before{content:""}.fa-file-text[_ngcontent-%COMP%]:before{content:""}.fa-sort-alpha-asc[_ngcontent-%COMP%]:before, .fa-sort-alpha-down[_ngcontent-%COMP%]:before{content:""}.fa-sort-alpha-desc[_ngcontent-%COMP%]:before, .fa-sort-alpha-up[_ngcontent-%COMP%]:before{content:""}.fa-sort-amount-asc[_ngcontent-%COMP%]:before, .fa-sort-amount-down[_ngcontent-%COMP%]:before{content:""}.fa-sort-amount-desc[_ngcontent-%COMP%]:before, .fa-sort-amount-up[_ngcontent-%COMP%]:before{content:""}.fa-sort-numeric-asc[_ngcontent-%COMP%]:before, .fa-sort-numeric-down[_ngcontent-%COMP%]:before{content:""}.fa-sort-numeric-desc[_ngcontent-%COMP%]:before, .fa-sort-numeric-up[_ngcontent-%COMP%]:before{content:""}.fa-thumbs-up[_ngcontent-%COMP%]:before{content:""}.fa-thumbs-down[_ngcontent-%COMP%]:before{content:""}.fa-youtube-square[_ngcontent-%COMP%]:before{content:""}.fa-youtube[_ngcontent-%COMP%]:before{content:""}.fa-xing[_ngcontent-%COMP%]:before{content:""}.fa-xing-square[_ngcontent-%COMP%]:before{content:""}.fa-youtube-play[_ngcontent-%COMP%]:before{content:""}.fa-dropbox[_ngcontent-%COMP%]:before{content:""}.fa-stack-overflow[_ngcontent-%COMP%]:before{content:""}.fa-instagram[_ngcontent-%COMP%]:before{content:""}.fa-flickr[_ngcontent-%COMP%]:before{content:""}.fa-adn[_ngcontent-%COMP%]:before{content:""}.fa-bitbucket[_ngcontent-%COMP%]:before{content:""}.fa-bitbucket-square[_ngcontent-%COMP%]:before{content:""}.fa-tumblr[_ngcontent-%COMP%]:before{content:""}.fa-tumblr-square[_ngcontent-%COMP%]:before{content:""}.fa-long-arrow-down[_ngcontent-%COMP%]:before{content:""}.fa-long-arrow-up[_ngcontent-%COMP%]:before{content:""}.fa-long-arrow-left[_ngcontent-%COMP%]:before{content:""}.fa-long-arrow-right[_ngcontent-%COMP%]:before{content:""}.fa-apple[_ngcontent-%COMP%]:before{content:""}.fa-windows[_ngcontent-%COMP%]:before{content:""}.fa-android[_ngcontent-%COMP%]:before{content:""}.fa-linux[_ngcontent-%COMP%]:before{content:""}.fa-dribbble[_ngcontent-%COMP%]:before{content:""}.fa-skype[_ngcontent-%COMP%]:before{content:""}.fa-foursquare[_ngcontent-%COMP%]:before{content:""}.fa-trello[_ngcontent-%COMP%]:before{content:""}.fa-female[_ngcontent-%COMP%]:before{content:""}.fa-male[_ngcontent-%COMP%]:before{content:""}.fa-gittip[_ngcontent-%COMP%]:before, .fa-gratipay[_ngcontent-%COMP%]:before{content:""}.fa-sun-o[_ngcontent-%COMP%]:before{content:""}.fa-moon-o[_ngcontent-%COMP%]:before{content:""}.fa-archive[_ngcontent-%COMP%]:before{content:""}.fa-bug[_ngcontent-%COMP%]:before{content:""}.fa-vk[_ngcontent-%COMP%]:before{content:""}.fa-weibo[_ngcontent-%COMP%]:before{content:""}.fa-renren[_ngcontent-%COMP%]:before{content:""}.fa-pagelines[_ngcontent-%COMP%]:before{content:""}.fa-stack-exchange[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-o-right[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-o-left[_ngcontent-%COMP%]:before{content:""}.fa-caret-square-o-left[_ngcontent-%COMP%]:before, .fa-toggle-left[_ngcontent-%COMP%]:before{content:""}.fa-dot-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-wheelchair[_ngcontent-%COMP%]:before{content:""}.fa-vimeo-square[_ngcontent-%COMP%]:before{content:""}.fa-try[_ngcontent-%COMP%]:before, .fa-turkish-lira[_ngcontent-%COMP%]:before{content:""}.fa-plus-square-o[_ngcontent-%COMP%]:before{content:""}.fa-space-shuttle[_ngcontent-%COMP%]:before{content:""}.fa-slack[_ngcontent-%COMP%]:before{content:""}.fa-envelope-square[_ngcontent-%COMP%]:before{content:""}.fa-wordpress[_ngcontent-%COMP%]:before{content:""}.fa-openid[_ngcontent-%COMP%]:before{content:""}.fa-bank[_ngcontent-%COMP%]:before, .fa-institution[_ngcontent-%COMP%]:before, .fa-university[_ngcontent-%COMP%]:before{content:""}.fa-graduation-cap[_ngcontent-%COMP%]:before, .fa-mortar-board[_ngcontent-%COMP%]:before{content:""}.fa-yahoo[_ngcontent-%COMP%]:before{content:""}.fa-google[_ngcontent-%COMP%]:before{content:""}.fa-reddit[_ngcontent-%COMP%]:before{content:""}.fa-reddit-square[_ngcontent-%COMP%]:before{content:""}.fa-stumbleupon-circle[_ngcontent-%COMP%]:before{content:""}.fa-stumbleupon[_ngcontent-%COMP%]:before{content:""}.fa-delicious[_ngcontent-%COMP%]:before{content:""}.fa-digg[_ngcontent-%COMP%]:before{content:""}.fa-drupal[_ngcontent-%COMP%]:before{content:""}.fa-joomla[_ngcontent-%COMP%]:before{content:""}.fa-language[_ngcontent-%COMP%]:before{content:""}.fa-fax[_ngcontent-%COMP%]:before{content:""}.fa-building[_ngcontent-%COMP%]:before{content:""}.fa-child[_ngcontent-%COMP%]:before{content:""}.fa-paw[_ngcontent-%COMP%]:before{content:""}.fa-spoon[_ngcontent-%COMP%]:before, .fa-utensil-spoon[_ngcontent-%COMP%]:before{content:""}.fa-cube[_ngcontent-%COMP%]:before{content:""}.fa-cubes[_ngcontent-%COMP%]:before{content:""}.fa-behance[_ngcontent-%COMP%]:before{content:""}.fa-behance-square[_ngcontent-%COMP%]:before{content:""}.fa-steam[_ngcontent-%COMP%]:before{content:""}.fa-steam-square[_ngcontent-%COMP%]:before{content:""}.fa-recycle[_ngcontent-%COMP%]:before{content:""}.fa-automobile[_ngcontent-%COMP%]:before, .fa-car[_ngcontent-%COMP%]:before{content:""}.fa-cab[_ngcontent-%COMP%]:before, .fa-taxi[_ngcontent-%COMP%]:before{content:""}.fa-tree[_ngcontent-%COMP%]:before{content:""}.fa-spotify[_ngcontent-%COMP%]:before{content:""}.fa-deviantart[_ngcontent-%COMP%]:before{content:""}.fa-soundcloud[_ngcontent-%COMP%]:before{content:""}.fa-database[_ngcontent-%COMP%]:before{content:""}.fa-file-pdf-o[_ngcontent-%COMP%]:before{content:""}.fa-file-word-o[_ngcontent-%COMP%]:before{content:""}.fa-file-excel-o[_ngcontent-%COMP%]:before{content:""}.fa-file-powerpoint-o[_ngcontent-%COMP%]:before{content:""}.fa-file-image-o[_ngcontent-%COMP%]:before, .fa-file-photo-o[_ngcontent-%COMP%]:before, .fa-file-picture-o[_ngcontent-%COMP%]:before{content:""}.fa-file-archive-o[_ngcontent-%COMP%]:before, .fa-file-zip-o[_ngcontent-%COMP%]:before{content:""}.fa-file-audio-o[_ngcontent-%COMP%]:before, .fa-file-sound-o[_ngcontent-%COMP%]:before{content:""}.fa-file-movie-o[_ngcontent-%COMP%]:before, .fa-file-video-o[_ngcontent-%COMP%]:before{content:""}.fa-file-code-o[_ngcontent-%COMP%]:before{content:""}.fa-vine[_ngcontent-%COMP%]:before{content:""}.fa-codepen[_ngcontent-%COMP%]:before{content:""}.fa-jsfiddle[_ngcontent-%COMP%]:before{content:""}.fa-life-bouy[_ngcontent-%COMP%]:before, .fa-life-buoy[_ngcontent-%COMP%]:before, .fa-life-ring[_ngcontent-%COMP%]:before, .fa-life-saver[_ngcontent-%COMP%]:before, .fa-support[_ngcontent-%COMP%]:before{content:""}.fa-circle-o-notch[_ngcontent-%COMP%]:before{content:""}.fa-ra[_ngcontent-%COMP%]:before, .fa-rebel[_ngcontent-%COMP%]:before, .fa-resistance[_ngcontent-%COMP%]:before{content:""}.fa-empire[_ngcontent-%COMP%]:before, .fa-ge[_ngcontent-%COMP%]:before{content:""}.fa-git-square[_ngcontent-%COMP%]:before{content:""}.fa-git[_ngcontent-%COMP%]:before{content:""}.fa-hacker-news[_ngcontent-%COMP%]:before, .fa-y-combinator-square[_ngcontent-%COMP%]:before, .fa-yc-square[_ngcontent-%COMP%]:before{content:""}.fa-tencent-weibo[_ngcontent-%COMP%]:before{content:""}.fa-qq[_ngcontent-%COMP%]:before{content:""}.fa-wechat[_ngcontent-%COMP%]:before, .fa-weixin[_ngcontent-%COMP%]:before{content:""}.fa-paper-plane[_ngcontent-%COMP%]:before, .fa-send[_ngcontent-%COMP%]:before{content:""}.fa-paper-plane-o[_ngcontent-%COMP%]:before, .fa-send-o[_ngcontent-%COMP%]:before{content:""}.fa-history[_ngcontent-%COMP%]:before{content:""}.fa-circle-thin[_ngcontent-%COMP%]:before{content:""}.fa-header[_ngcontent-%COMP%]:before, .fa-heading[_ngcontent-%COMP%]:before{content:""}.fa-paragraph[_ngcontent-%COMP%]:before{content:""}.fa-sliders[_ngcontent-%COMP%]:before{content:""}.fa-share-alt[_ngcontent-%COMP%]:before{content:""}.fa-share-alt-square[_ngcontent-%COMP%]:before{content:""}.fa-bomb[_ngcontent-%COMP%]:before{content:""}.fa-futbol-o[_ngcontent-%COMP%]:before, .fa-soccer-ball-o[_ngcontent-%COMP%]:before{content:""}.fa-tty[_ngcontent-%COMP%]:before{content:""}.fa-binoculars[_ngcontent-%COMP%]:before{content:""}.fa-plug[_ngcontent-%COMP%]:before{content:""}.fa-slideshare[_ngcontent-%COMP%]:before{content:""}.fa-twitch[_ngcontent-%COMP%]:before{content:""}.fa-yelp[_ngcontent-%COMP%]:before{content:""}.fa-newspaper-o[_ngcontent-%COMP%]:before{content:""}.fa-wifi[_ngcontent-%COMP%]:before{content:""}.fa-calculator[_ngcontent-%COMP%]:before{content:""}.fa-paypal[_ngcontent-%COMP%]:before{content:""}.fa-google-wallet[_ngcontent-%COMP%]:before{content:""}.fa-cc-visa[_ngcontent-%COMP%]:before{content:""}.fa-cc-mastercard[_ngcontent-%COMP%]:before{content:""}.fa-cc-discover[_ngcontent-%COMP%]:before{content:""}.fa-cc-amex[_ngcontent-%COMP%]:before{content:""}.fa-cc-paypal[_ngcontent-%COMP%]:before{content:""}.fa-cc-stripe[_ngcontent-%COMP%]:before{content:""}.fa-bell-slash[_ngcontent-%COMP%]:before{content:""}.fa-bell-slash-o[_ngcontent-%COMP%]:before{content:""}.fa-trash[_ngcontent-%COMP%]:before{content:""}.fa-copyright[_ngcontent-%COMP%]:before{content:""}.fa-at[_ngcontent-%COMP%]:before{content:""}.fa-eyedropper[_ngcontent-%COMP%]:before{content:""}.fa-paint-brush[_ngcontent-%COMP%]:before{content:""}.fa-birthday-cake[_ngcontent-%COMP%]:before{content:""}.fa-area-chart[_ngcontent-%COMP%]:before{content:""}.fa-pie-chart[_ngcontent-%COMP%]:before{content:""}.fa-line-chart[_ngcontent-%COMP%]:before{content:""}.fa-lastfm[_ngcontent-%COMP%]:before{content:""}.fa-lastfm-square[_ngcontent-%COMP%]:before{content:""}.fa-toggle-off[_ngcontent-%COMP%]:before{content:""}.fa-toggle-on[_ngcontent-%COMP%]:before{content:""}.fa-bicycle[_ngcontent-%COMP%]:before{content:""}.fa-bus[_ngcontent-%COMP%]:before{content:""}.fa-ioxhost[_ngcontent-%COMP%]:before{content:""}.fa-angellist[_ngcontent-%COMP%]:before{content:""}.fa-cc[_ngcontent-%COMP%]:before, .fa-closed-captioning[_ngcontent-%COMP%]:before{content:""}.fa-ils[_ngcontent-%COMP%]:before, .fa-shekel[_ngcontent-%COMP%]:before, .fa-sheqel[_ngcontent-%COMP%]:before{content:""}.fa-meanpath[_ngcontent-%COMP%]:before{content:""}.fa-buysellads[_ngcontent-%COMP%]:before{content:""}.fa-connectdevelop[_ngcontent-%COMP%]:before{content:""}.fa-dashcube[_ngcontent-%COMP%]:before{content:""}.fa-forumbee[_ngcontent-%COMP%]:before{content:""}.fa-leanpub[_ngcontent-%COMP%]:before{content:""}.fa-sellsy[_ngcontent-%COMP%]:before{content:""}.fa-shirtsinbulk[_ngcontent-%COMP%]:before{content:""}.fa-simplybuilt[_ngcontent-%COMP%]:before{content:""}.fa-skyatlas[_ngcontent-%COMP%]:before{content:""}.fa-cart-plus[_ngcontent-%COMP%]:before{content:""}.fa-cart-arrow-down[_ngcontent-%COMP%]:before{content:""}.fa-diamond[_ngcontent-%COMP%]:before, .fa-gem[_ngcontent-%COMP%]:before{content:""}.fa-ship[_ngcontent-%COMP%]:before{content:""}.fa-user-secret[_ngcontent-%COMP%]:before{content:""}.fa-motorcycle[_ngcontent-%COMP%]:before{content:""}.fa-street-view[_ngcontent-%COMP%]:before{content:""}.fa-heartbeat[_ngcontent-%COMP%]:before{content:""}.fa-venus[_ngcontent-%COMP%]:before{content:""}.fa-mars[_ngcontent-%COMP%]:before{content:""}.fa-mercury[_ngcontent-%COMP%]:before{content:""}.fa-intersex[_ngcontent-%COMP%]:before, .fa-transgender[_ngcontent-%COMP%]:before{content:""}.fa-transgender-alt[_ngcontent-%COMP%]:before{content:""}.fa-venus-double[_ngcontent-%COMP%]:before{content:""}.fa-mars-double[_ngcontent-%COMP%]:before{content:""}.fa-venus-mars[_ngcontent-%COMP%]:before{content:""}.fa-mars-stroke[_ngcontent-%COMP%]:before{content:""}.fa-mars-stroke-v[_ngcontent-%COMP%]:before{content:""}.fa-mars-stroke-h[_ngcontent-%COMP%]:before{content:""}.fa-neuter[_ngcontent-%COMP%]:before{content:""}.fa-genderless[_ngcontent-%COMP%]:before{content:""}.fa-facebook-official[_ngcontent-%COMP%]:before{content:""}.fa-pinterest-p[_ngcontent-%COMP%]:before{content:""}.fa-whatsapp[_ngcontent-%COMP%]:before{content:""}.fa-server[_ngcontent-%COMP%]:before{content:""}.fa-user-plus[_ngcontent-%COMP%]:before{content:""}.fa-user-times[_ngcontent-%COMP%]:before{content:""}.fa-bed[_ngcontent-%COMP%]:before, .fa-hotel[_ngcontent-%COMP%]:before{content:""}.fa-viacoin[_ngcontent-%COMP%]:before{content:""}.fa-train[_ngcontent-%COMP%]:before{content:""}.fa-subway[_ngcontent-%COMP%]:before{content:""}.fa-medium[_ngcontent-%COMP%]:before{content:""}.fa-medium-square[_ngcontent-%COMP%]:before{content:""}.fa-y-combinator[_ngcontent-%COMP%]:before, .fa-yc[_ngcontent-%COMP%]:before{content:""}.fa-optin-monster[_ngcontent-%COMP%]:before{content:""}.fa-opencart[_ngcontent-%COMP%]:before{content:""}.fa-expeditedssl[_ngcontent-%COMP%]:before{content:""}.fa-battery-4[_ngcontent-%COMP%]:before, .fa-battery-full[_ngcontent-%COMP%]:before, .fa-battery[_ngcontent-%COMP%]:before{content:""}.fa-battery-3[_ngcontent-%COMP%]:before, .fa-battery-three-quarters[_ngcontent-%COMP%]:before{content:""}.fa-battery-2[_ngcontent-%COMP%]:before, .fa-battery-half[_ngcontent-%COMP%]:before{content:""}.fa-battery-1[_ngcontent-%COMP%]:before, .fa-battery-quarter[_ngcontent-%COMP%]:before{content:""}.fa-battery-0[_ngcontent-%COMP%]:before, .fa-battery-empty[_ngcontent-%COMP%]:before{content:""}.fa-mouse-pointer[_ngcontent-%COMP%]:before{content:""}.fa-i-cursor[_ngcontent-%COMP%]:before{content:""}.fa-object-group[_ngcontent-%COMP%]:before{content:""}.fa-object-ungroup[_ngcontent-%COMP%]:before{content:""}.fa-sticky-note[_ngcontent-%COMP%]:before{content:""}.fa-sticky-note-o[_ngcontent-%COMP%]:before{content:""}.fa-cc-jcb[_ngcontent-%COMP%]:before{content:""}.fa-cc-diners-club[_ngcontent-%COMP%]:before{content:""}.fa-clone[_ngcontent-%COMP%]:before{content:""}.fa-balance-scale[_ngcontent-%COMP%]:before{content:""}.fa-hourglass-o[_ngcontent-%COMP%]:before{content:""}.fa-hourglass-1[_ngcontent-%COMP%]:before, .fa-hourglass-start[_ngcontent-%COMP%]:before{content:""}.fa-hourglass-2[_ngcontent-%COMP%]:before, .fa-hourglass-half[_ngcontent-%COMP%]:before{content:""}.fa-hourglass-3[_ngcontent-%COMP%]:before, .fa-hourglass-end[_ngcontent-%COMP%]:before{content:""}.fa-hourglass[_ngcontent-%COMP%]:before{content:""}.fa-hand-grab-o[_ngcontent-%COMP%]:before, .fa-hand-rock-o[_ngcontent-%COMP%]:before{content:""}.fa-hand-paper-o[_ngcontent-%COMP%]:before, .fa-hand-stop-o[_ngcontent-%COMP%]:before{content:""}.fa-hand-scissors-o[_ngcontent-%COMP%]:before{content:""}.fa-hand-lizard-o[_ngcontent-%COMP%]:before{content:""}.fa-hand-spock-o[_ngcontent-%COMP%]:before{content:""}.fa-hand-pointer-o[_ngcontent-%COMP%]:before{content:""}.fa-hand-peace-o[_ngcontent-%COMP%]:before{content:""}.fa-trademark[_ngcontent-%COMP%]:before{content:""}.fa-registered[_ngcontent-%COMP%]:before{content:""}.fa-creative-commons[_ngcontent-%COMP%]:before{content:""}.fa-gg[_ngcontent-%COMP%]:before{content:""}.fa-gg-circle[_ngcontent-%COMP%]:before{content:""}.fa-tripadvisor[_ngcontent-%COMP%]:before{content:""}.fa-odnoklassniki[_ngcontent-%COMP%]:before{content:""}.fa-odnoklassniki-square[_ngcontent-%COMP%]:before{content:""}.fa-get-pocket[_ngcontent-%COMP%]:before{content:""}.fa-wikipedia-w[_ngcontent-%COMP%]:before{content:""}.fa-safari[_ngcontent-%COMP%]:before{content:""}.fa-chrome[_ngcontent-%COMP%]:before{content:""}.fa-firefox[_ngcontent-%COMP%]:before{content:""}.fa-opera[_ngcontent-%COMP%]:before{content:""}.fa-internet-explorer[_ngcontent-%COMP%]:before{content:""}.fa-television[_ngcontent-%COMP%]:before, .fa-tv[_ngcontent-%COMP%]:before{content:""}.fa-contao[_ngcontent-%COMP%]:before{content:""}.fa-500px[_ngcontent-%COMP%]:before{content:""}.fa-amazon[_ngcontent-%COMP%]:before{content:""}.fa-calendar-plus-o[_ngcontent-%COMP%]:before{content:""}.fa-calendar-minus-o[_ngcontent-%COMP%]:before{content:""}.fa-calendar-times-o[_ngcontent-%COMP%]:before{content:""}.fa-calendar-check-o[_ngcontent-%COMP%]:before{content:""}.fa-industry[_ngcontent-%COMP%]:before{content:""}.fa-map-pin[_ngcontent-%COMP%]:before{content:""}.fa-map-signs[_ngcontent-%COMP%]:before{content:""}.fa-map-o[_ngcontent-%COMP%]:before{content:""}.fa-map[_ngcontent-%COMP%]:before{content:""}.fa-commenting[_ngcontent-%COMP%]:before{content:""}.fa-commenting-o[_ngcontent-%COMP%]:before{content:""}.fa-houzz[_ngcontent-%COMP%]:before{content:""}.fa-vimeo-v[_ngcontent-%COMP%]:before, .fa-vimeo[_ngcontent-%COMP%]:before{content:""}.fa-black-tie[_ngcontent-%COMP%]:before{content:""}.fa-fonticons[_ngcontent-%COMP%]:before{content:""}.fa-reddit-alien[_ngcontent-%COMP%]:before{content:""}.fa-edge[_ngcontent-%COMP%]:before{content:""}.fa-credit-card-alt[_ngcontent-%COMP%]:before{content:""}.fa-codiepie[_ngcontent-%COMP%]:before{content:""}.fa-modx[_ngcontent-%COMP%]:before{content:""}.fa-fort-awesome[_ngcontent-%COMP%]:before{content:""}.fa-usb[_ngcontent-%COMP%]:before{content:""}.fa-product-hunt[_ngcontent-%COMP%]:before{content:""}.fa-mixcloud[_ngcontent-%COMP%]:before{content:""}.fa-scribd[_ngcontent-%COMP%]:before{content:""}.fa-pause-circle[_ngcontent-%COMP%]:before{content:""}.fa-pause-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-stop-circle[_ngcontent-%COMP%]:before{content:""}.fa-stop-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-shopping-bag[_ngcontent-%COMP%]:before{content:""}.fa-shopping-basket[_ngcontent-%COMP%]:before{content:""}.fa-hashtag[_ngcontent-%COMP%]:before{content:""}.fa-bluetooth[_ngcontent-%COMP%]:before{content:""}.fa-bluetooth-b[_ngcontent-%COMP%]:before{content:""}.fa-percent[_ngcontent-%COMP%]:before{content:""}.fa-gitlab[_ngcontent-%COMP%]:before{content:""}.fa-wpbeginner[_ngcontent-%COMP%]:before{content:""}.fa-wpforms[_ngcontent-%COMP%]:before{content:""}.fa-envira[_ngcontent-%COMP%]:before{content:""}.fa-universal-access[_ngcontent-%COMP%]:before{content:""}.fa-wheelchair-alt[_ngcontent-%COMP%]:before{content:""}.fa-question-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-blind[_ngcontent-%COMP%]:before{content:""}.fa-audio-description[_ngcontent-%COMP%]:before{content:""}.fa-phone-volume[_ngcontent-%COMP%]:before, .fa-volume-control-phone[_ngcontent-%COMP%]:before{content:""}.fa-braille[_ngcontent-%COMP%]:before{content:""}.fa-assistive-listening-systems[_ngcontent-%COMP%]:before{content:""}.fa-american-sign-language-interpreting[_ngcontent-%COMP%]:before, .fa-asl-interpreting[_ngcontent-%COMP%]:before{content:""}.fa-deaf[_ngcontent-%COMP%]:before, .fa-deafness[_ngcontent-%COMP%]:before, .fa-hard-of-hearing[_ngcontent-%COMP%]:before{content:""}.fa-glide[_ngcontent-%COMP%]:before{content:""}.fa-glide-g[_ngcontent-%COMP%]:before{content:""}.fa-sign-language[_ngcontent-%COMP%]:before, .fa-signing[_ngcontent-%COMP%]:before{content:""}.fa-low-vision[_ngcontent-%COMP%]:before{content:""}.fa-viadeo[_ngcontent-%COMP%]:before{content:""}.fa-viadeo-square[_ngcontent-%COMP%]:before{content:""}.fa-snapchat[_ngcontent-%COMP%]:before{content:""}.fa-snapchat-ghost[_ngcontent-%COMP%]:before{content:""}.fa-snapchat-square[_ngcontent-%COMP%]:before{content:""}.fa-first-order[_ngcontent-%COMP%]:before{content:""}.fa-yoast[_ngcontent-%COMP%]:before{content:""}.fa-themeisle[_ngcontent-%COMP%]:before{content:""}.fa-google-plus-circle[_ngcontent-%COMP%]:before, .fa-google-plus-official[_ngcontent-%COMP%]:before{content:""}.fa-fa[_ngcontent-%COMP%]:before, .fa-font-awesome[_ngcontent-%COMP%]:before{content:""}.fa-handshake-o[_ngcontent-%COMP%]:before{content:""}.fa-envelope-open[_ngcontent-%COMP%]:before{content:""}.fa-envelope-open-o[_ngcontent-%COMP%]:before{content:""}.fa-linode[_ngcontent-%COMP%]:before{content:""}.fa-address-book[_ngcontent-%COMP%]:before{content:""}.fa-address-book-o[_ngcontent-%COMP%]:before{content:""}.fa-address-card[_ngcontent-%COMP%]:before, .fa-vcard[_ngcontent-%COMP%]:before{content:""}.fa-address-card-o[_ngcontent-%COMP%]:before, .fa-vcard-o[_ngcontent-%COMP%]:before{content:""}.fa-user-circle[_ngcontent-%COMP%]:before{content:""}.fa-user-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-user-o[_ngcontent-%COMP%]:before{content:""}.fa-id-badge[_ngcontent-%COMP%]:before{content:""}.fa-drivers-license[_ngcontent-%COMP%]:before, .fa-id-card[_ngcontent-%COMP%]:before{content:""}.fa-drivers-license-o[_ngcontent-%COMP%]:before, .fa-id-card-o[_ngcontent-%COMP%]:before{content:""}.fa-quora[_ngcontent-%COMP%]:before{content:""}.fa-free-code-camp[_ngcontent-%COMP%]:before{content:""}.fa-telegram[_ngcontent-%COMP%]:before{content:""}.fa-thermometer-4[_ngcontent-%COMP%]:before, .fa-thermometer-full[_ngcontent-%COMP%]:before, .fa-thermometer[_ngcontent-%COMP%]:before{content:""}.fa-thermometer-3[_ngcontent-%COMP%]:before, .fa-thermometer-three-quarters[_ngcontent-%COMP%]:before{content:""}.fa-thermometer-2[_ngcontent-%COMP%]:before, .fa-thermometer-half[_ngcontent-%COMP%]:before{content:""}.fa-thermometer-1[_ngcontent-%COMP%]:before, .fa-thermometer-quarter[_ngcontent-%COMP%]:before{content:""}.fa-thermometer-0[_ngcontent-%COMP%]:before, .fa-thermometer-empty[_ngcontent-%COMP%]:before{content:""}.fa-shower[_ngcontent-%COMP%]:before{content:""}.fa-bath[_ngcontent-%COMP%]:before, .fa-bathtub[_ngcontent-%COMP%]:before, .fa-s15[_ngcontent-%COMP%]:before{content:""}.fa-podcast[_ngcontent-%COMP%]:before{content:""}.fa-window-maximize[_ngcontent-%COMP%]:before{content:""}.fa-window-minimize[_ngcontent-%COMP%]:before{content:""}.fa-window-restore[_ngcontent-%COMP%]:before{content:""}.fa-times-rectangle[_ngcontent-%COMP%]:before, .fa-window-close[_ngcontent-%COMP%]:before{content:""}.fa-times-rectangle-o[_ngcontent-%COMP%]:before, .fa-window-close-o[_ngcontent-%COMP%]:before{content:""}.fa-bandcamp[_ngcontent-%COMP%]:before{content:""}.fa-grav[_ngcontent-%COMP%]:before{content:""}.fa-etsy[_ngcontent-%COMP%]:before{content:""}.fa-imdb[_ngcontent-%COMP%]:before{content:""}.fa-ravelry[_ngcontent-%COMP%]:before{content:""}.fa-eercast[_ngcontent-%COMP%]:before{content:""}.fa-microchip[_ngcontent-%COMP%]:before{content:""}.fa-snowflake-o[_ngcontent-%COMP%]:before{content:""}.fa-superpowers[_ngcontent-%COMP%]:before{content:""}.fa-wpexplorer[_ngcontent-%COMP%]:before{content:""}.fa-meetup[_ngcontent-%COMP%]:before{content:""}.fa-mastodon[_ngcontent-%COMP%]:before{content:""}.fa-mastodon-alt[_ngcontent-%COMP%]:before{content:""}.fa-fork-awesome[_ngcontent-%COMP%]:before, .fa-fork-circle[_ngcontent-%COMP%]:before{content:""}.fa-peertube[_ngcontent-%COMP%]:before{content:""}.fa-diaspora[_ngcontent-%COMP%]:before{content:""}.fa-friendica[_ngcontent-%COMP%]:before{content:""}.fa-gnu-social[_ngcontent-%COMP%]:before{content:""}.fa-liberapay-square[_ngcontent-%COMP%]:before{content:""}.fa-liberapay[_ngcontent-%COMP%]:before{content:""}.fa-scuttlebutt[_ngcontent-%COMP%]:before, .fa-ssb[_ngcontent-%COMP%]:before{content:""}.fa-hubzilla[_ngcontent-%COMP%]:before{content:""}.fa-social-home[_ngcontent-%COMP%]:before{content:""}.fa-artstation[_ngcontent-%COMP%]:before{content:""}.fa-discord[_ngcontent-%COMP%]:before{content:""}.fa-discord-alt[_ngcontent-%COMP%]:before{content:""}.fa-patreon[_ngcontent-%COMP%]:before{content:""}.fa-snowdrift[_ngcontent-%COMP%]:before{content:""}.fa-activitypub[_ngcontent-%COMP%]:before{content:""}.fa-ethereum[_ngcontent-%COMP%]:before{content:""}.fa-keybase[_ngcontent-%COMP%]:before{content:""}.fa-shaarli[_ngcontent-%COMP%]:before{content:""}.fa-shaarli-o[_ngcontent-%COMP%]:before{content:""}.fa-cut-key[_ngcontent-%COMP%]:before, .fa-key-modern[_ngcontent-%COMP%]:before{content:""}.fa-xmpp[_ngcontent-%COMP%]:before{content:""}.fa-archive-org[_ngcontent-%COMP%]:before{content:""}.fa-freedombox[_ngcontent-%COMP%]:before{content:""}.fa-facebook-messenger[_ngcontent-%COMP%]:before{content:""}.fa-debian[_ngcontent-%COMP%]:before{content:""}.fa-mastodon-square[_ngcontent-%COMP%]:before{content:""}.fa-tipeee[_ngcontent-%COMP%]:before{content:""}.fa-react[_ngcontent-%COMP%]:before{content:""}.fa-dogmazic[_ngcontent-%COMP%]:before{content:""}.fa-zotero[_ngcontent-%COMP%]:before{content:""}.fa-nodejs[_ngcontent-%COMP%]:before{content:""}.fa-nextcloud[_ngcontent-%COMP%]:before{content:""}.fa-nextcloud-square[_ngcontent-%COMP%]:before{content:""}.fa-hackaday[_ngcontent-%COMP%]:before{content:""}.fa-laravel[_ngcontent-%COMP%]:before{content:""}.fa-signalapp[_ngcontent-%COMP%]:before{content:""}.fa-gnupg[_ngcontent-%COMP%]:before{content:""}.fa-php[_ngcontent-%COMP%]:before{content:""}.fa-ffmpeg[_ngcontent-%COMP%]:before{content:""}.fa-joplin[_ngcontent-%COMP%]:before{content:""}.fa-syncthing[_ngcontent-%COMP%]:before{content:""}.fa-inkscape[_ngcontent-%COMP%]:before{content:""}.fa-matrix-org[_ngcontent-%COMP%]:before{content:""}.fa-pixelfed[_ngcontent-%COMP%]:before{content:""}.fa-bootstrap[_ngcontent-%COMP%]:before{content:""}.fa-dev-to[_ngcontent-%COMP%]:before{content:""}.fa-hashnode[_ngcontent-%COMP%]:before{content:""}.fa-jirafeau[_ngcontent-%COMP%]:before{content:""}.fa-emby[_ngcontent-%COMP%]:before{content:""}.fa-wikidata[_ngcontent-%COMP%]:before{content:""}.fa-gimp[_ngcontent-%COMP%]:before{content:""}.fa-c[_ngcontent-%COMP%]:before{content:""}.fa-digitalocean[_ngcontent-%COMP%]:before{content:""}.fa-att[_ngcontent-%COMP%]:before{content:""}.fa-gitea[_ngcontent-%COMP%]:before{content:""}.fa-file-epub[_ngcontent-%COMP%]:before{content:""}.fa-python[_ngcontent-%COMP%]:before{content:""}.fa-archlinux[_ngcontent-%COMP%]:before{content:""}.fa-pleroma[_ngcontent-%COMP%]:before{content:""}.fa-unsplash[_ngcontent-%COMP%]:before{content:""}.fa-hackster[_ngcontent-%COMP%]:before{content:""}.fa-spell-check[_ngcontent-%COMP%]:before{content:""}.fa-moon[_ngcontent-%COMP%]:before{content:""}.fa-sun[_ngcontent-%COMP%]:before{content:""}.fa-f-droid[_ngcontent-%COMP%]:before{content:""}.fa-biometric[_ngcontent-%COMP%]:before{content:""}.sr-only[_ngcontent-%COMP%]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable[_ngcontent-%COMP%]:active, .sr-only-focusable[_ngcontent-%COMP%]:focus{clip:auto;white-space:normal;position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.info-card-popover-cluster-status[_ngcontent-%COMP%]{max-width:23vw;max-height:20vh}.info-card-popover-cluster-status[_ngcontent-%COMP%]   .popover-body[_ngcontent-%COMP%]{max-width:100%;max-height:19vh;font-size:12px}@media (max-width:calc(1200px - 1px)){.info-card-popover-cluster-status[_ngcontent-%COMP%]{max-width:31vw}}@media (max-width:calc(992px - 1px)){.info-card-popover-cluster-status[_ngcontent-%COMP%]{max-width:46vw}}@media (max-width:calc(768px - 1px)){.info-card-popover-cluster-status[_ngcontent-%COMP%]{max-width:83vw}}.info-card-content-clickable[_ngcontent-%COMP%]{cursor:pointer;padding:7px;border:1px solid #efefef;border-radius:3px}.info-card-content-clickable[_ngcontent-%COMP%]:hover{border-color:#d1d1d1;background-color:#f3f3f3}.custom-control-input.is-valid[_ngcontent-%COMP%] ~ .custom-control-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid ~ .custom-control-label[_ngcontent-%COMP%]{color:initial}.custom-control-input.is-valid[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid:checked ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#2b99a8;background-color:#2b99a8}.custom-control-input.is-valid[_ngcontent-%COMP%] ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#adb5bd}.custom-control-input.is-valid[_ngcontent-%COMP%]:focus ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid:focus ~ .custom-control-label[_ngcontent-%COMP%]::before{box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.custom-control-input.is-valid[_ngcontent-%COMP%]:focus:not(:checked) ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid:focus:not(:checked) ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#76d0dc}html[_ngcontent-%COMP%]{background-color:#fff}body[_ngcontent-%COMP%], html[_ngcontent-%COMP%]{width:100%;height:100%;font-size:12px}h1[_ngcontent-%COMP%]{letter-spacing:-1px;font-size:2em}h2[_ngcontent-%COMP%]{letter-spacing:-1px;font-size:1.833em}h3[_ngcontent-%COMP%]{display:block;font-size:1.583em;font-weight:400}h4[_ngcontent-%COMP%]{font-size:1.5em;line-height:normal}option[_ngcontent-%COMP%]{font-weight:400;font-style:normal}.full-height[_ngcontent-%COMP%]{height:100vh}.full-width[_ngcontent-%COMP%]{width:100vw}.vertical-align[_ngcontent-%COMP%]{display:flex;align-items:center}.horizontal-align[_ngcontent-%COMP%]{display:flex;justify-content:center}.loading[_ngcontent-%COMP%]{position:absolute;top:50%;left:50%}.margin-right-md[_ngcontent-%COMP%]{margin-right:15px}.no-border[_ngcontent-%COMP%]{border:0;box-shadow:0 0 0!important}.italic[_ngcontent-%COMP%]{font-style:italic}.bold[_ngcontent-%COMP%]{font-weight:700}.text-pre[_ngcontent-%COMP%]{white-space:pre-wrap}.btn-light[_ngcontent-%COMP%]{background-color:#fff!important;border-color:#ced4da!important}.btn-light[_ngcontent-%COMP%]:hover{background-color:#ddd!important;border-color:#adadad!important}.btn.active.focus[_ngcontent-%COMP%], .btn.active[_ngcontent-%COMP%]:focus, .btn.focus[_ngcontent-%COMP%], .btn[_ngcontent-%COMP%]:active.focus, .btn[_ngcontent-%COMP%]:active:focus, .btn[_ngcontent-%COMP%]:focus{outline:0}.btn-primary[_ngcontent-%COMP%]   .badge[_ngcontent-%COMP%]{color:#2b99a8;background-color:#eee}.btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%] > i.fa[_ngcontent-%COMP%], .cd-datatable-actions[_ngcontent-%COMP%]   button.btn[_ngcontent-%COMP%]   i.fa[_ngcontent-%COMP%]{margin-right:5px}.dropdown-menu[_ngcontent-%COMP%]{min-width:50px;z-index:999999}.dropdown-menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{color:#474544;cursor:pointer}.dropdown-menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] > i.fa[_ngcontent-%COMP%]{margin-right:5px}.dropdown-menu[_ngcontent-%COMP%] > .active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{color:#eee}.dropdown-menu[_ngcontent-%COMP%] > .active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%], .dropdown-menu[_ngcontent-%COMP%] > .active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:focus, .dropdown-menu[_ngcontent-%COMP%] > .active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{background-color:#21747f}.dataTables_wrapper[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%] > li.dropdown-divider[_ngcontent-%COMP%]{cursor:auto}.container[_ngcontent-%COMP%], .container-fluid[_ngcontent-%COMP%]{padding-left:30px!important;padding-right:30px!important}.row[_ngcontent-%COMP%]{margin-left:-30px;margin-right:-30px}.cd-col-form[_ngcontent-%COMP%], .cd-col-form-input[_ngcontent-%COMP%], .cd-col-form-label[_ngcontent-%COMP%], .cd-col-form-offset[_ngcontent-%COMP%], .col-1[_ngcontent-%COMP%], .col-10[_ngcontent-%COMP%], .col-11[_ngcontent-%COMP%], .col-12[_ngcontent-%COMP%], .col-2[_ngcontent-%COMP%], .col-3[_ngcontent-%COMP%], .col-4[_ngcontent-%COMP%], .col-5[_ngcontent-%COMP%], .col-6[_ngcontent-%COMP%], .col-7[_ngcontent-%COMP%], .col-8[_ngcontent-%COMP%], .col-9[_ngcontent-%COMP%], .col-lg-1[_ngcontent-%COMP%], .col-lg-10[_ngcontent-%COMP%], .col-lg-11[_ngcontent-%COMP%], .col-lg-12[_ngcontent-%COMP%], .col-lg-2[_ngcontent-%COMP%], .col-lg-3[_ngcontent-%COMP%], .col-lg-4[_ngcontent-%COMP%], .col-lg-5[_ngcontent-%COMP%], .col-lg-6[_ngcontent-%COMP%], .col-lg-7[_ngcontent-%COMP%], .col-lg-8[_ngcontent-%COMP%], .col-lg-9[_ngcontent-%COMP%], .col-md-1[_ngcontent-%COMP%], .col-md-10[_ngcontent-%COMP%], .col-md-11[_ngcontent-%COMP%], .col-md-12[_ngcontent-%COMP%], .col-md-2[_ngcontent-%COMP%], .col-md-3[_ngcontent-%COMP%], .col-md-4[_ngcontent-%COMP%], .col-md-5[_ngcontent-%COMP%], .col-md-6[_ngcontent-%COMP%], .col-md-7[_ngcontent-%COMP%], .col-md-8[_ngcontent-%COMP%], .col-md-9[_ngcontent-%COMP%], .col-sm-1[_ngcontent-%COMP%], .col-sm-10[_ngcontent-%COMP%], .col-sm-11[_ngcontent-%COMP%], .col-sm-12[_ngcontent-%COMP%], .col-sm-2[_ngcontent-%COMP%], .col-sm-3[_ngcontent-%COMP%], .col-sm-4[_ngcontent-%COMP%], .col-sm-5[_ngcontent-%COMP%], .col-sm-6[_ngcontent-%COMP%], .col-sm-7[_ngcontent-%COMP%], .col-sm-8[_ngcontent-%COMP%], .col-sm-9[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-input[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-label[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-offset[_ngcontent-%COMP%]{padding-left:30px;padding-right:30px}tags-input[_ngcontent-%COMP%]   .tags[_ngcontent-%COMP%]{border-radius:4px;border:1px solid #d1d1d1;box-shadow:inset 0 1px 1px rgba(0,0,0,.09)}.card[_ngcontent-%COMP%]   .accordion-title[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]   .accordion-title[_ngcontent-%COMP%], uib-accordion[_ngcontent-%COMP%]   .card-title[_ngcontent-%COMP%]{font-size:14px!important}.card-header[_ngcontent-%COMP%]{font-size:1.3em}.card-body[_ngcontent-%COMP%]   h2[_ngcontent-%COMP%]:first-child{margin-top:0}.disabled[_ngcontent-%COMP%]{pointer-events:none}.clickable[_ngcontent-%COMP%], a[_ngcontent-%COMP%]{cursor:pointer}[_ngcontent-%COMP%]:invalid   .has-error-btn[_ngcontent-%COMP%], [_ngcontent-%COMP%]:invalid   .has-error-btn[_ngcontent-%COMP%]:disabled:hover{background-color:#f2dede;border-color:#a94442}.noscript[_ngcontent-%COMP%]{padding-top:5em}.noscript[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]{color:#777}.required[_ngcontent-%COMP%]::after{color:#a94442;content:"*";font-size:14px;padding-left:4px}.form-footer[_ngcontent-%COMP%]{width:100%;display:flex}.cd-form-control[_ngcontent-%COMP%], .form-control[_ngcontent-%COMP%]{display:table-cell}.cd-form-control[_ngcontent-%COMP%]:focus, .form-control[_ngcontent-%COMP%]:focus{border-color:rgba(43,153,168,.8);outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px 2px rgba(43,153,168,.5)}.custom-checkbox[_ngcontent-%COMP%]{padding-top:7px}.card-footer[_ngcontent-%COMP%]   button.btn[_ngcontent-%COMP%]:not(:first-child), .modal-footer[_ngcontent-%COMP%]   button.btn[_ngcontent-%COMP%]:not(:first-child){margin-left:5px}.nav-tabs[_ngcontent-%COMP%]{margin-bottom:15px}.ceph-icon[_ngcontent-%COMP%]{background:url(Ceph_Logo_Stacked_RGB_120411_fa_228x228.1ed169ccc35367a2dab2.png)}.prometheus-icon[_ngcontent-%COMP%]{background:url(prometheus_logo.074db273ef932a67d91b.svg)}.custom-icon[_ngcontent-%COMP%]{padding:10px;margin-right:8px;background-clip:padding-box;background-size:contain;background-repeat:no-repeat}.toast-message[_ngcontent-%COMP%]   .custom-icon[_ngcontent-%COMP%]{filter:brightness(0) invert(1);-webkit-filter:brightness(0) invert(1);-moz-filter:brightness(0) invert(1);-o-filter:brightness(0) invert(1);-ms-filter:brightness(0) invert(1)}.block-ui-wrapper[_ngcontent-%COMP%]{background:rgba(0,0,0,.7)!important}.tooltip-wide[_ngcontent-%COMP%]   .tooltip-inner[_ngcontent-%COMP%]{width:400px}.tooltip-inner[_ngcontent-%COMP%]{background-color:#fff;border:1px solid grey;color:#333;font-size:1.1em}.toast-message[_ngcontent-%COMP%] > ul[_ngcontent-%COMP%]{padding-left:1em;margin:0}@media (min-width:576px){.cd-col-form-label[_ngcontent-%COMP%], .col-form-label[_ngcontent-%COMP%]{text-align:right}}.cd-col-form-label[_ngcontent-%COMP%], .col-form-label[_ngcontent-%COMP%]{font-weight:700}cd-submit-button[_ngcontent-%COMP%]{background-color:transparent!important}bfv-messages[_ngcontent-%COMP%]{display:none}.form-group.has-error[_ngcontent-%COMP%]   .invalid-feedback[_ngcontent-%COMP%]{display:block}.password-strength-level[_ngcontent-%COMP%]{flex:100%;margin-top:2px}.password-strength-level[_ngcontent-%COMP%]   .ok[_ngcontent-%COMP%], .password-strength-level[_ngcontent-%COMP%]   .strong[_ngcontent-%COMP%], .password-strength-level[_ngcontent-%COMP%]   .very-strong[_ngcontent-%COMP%], .password-strength-level[_ngcontent-%COMP%]   .weak[_ngcontent-%COMP%]{border-radius:.25rem;height:13px}.password-strength-level[_ngcontent-%COMP%]   .weak[_ngcontent-%COMP%]{width:25%;background:red}.password-strength-level[_ngcontent-%COMP%]   .ok[_ngcontent-%COMP%]{width:50%;background:#ffc200}.password-strength-level[_ngcontent-%COMP%]   .strong[_ngcontent-%COMP%]{width:75%;background:#0b0}.password-strength-level[_ngcontent-%COMP%]   .very-strong[_ngcontent-%COMP%]{width:100%;background:#245e03}.badge-hdd[_ngcontent-%COMP%]{color:#fff;background-color:#90949c}.badge-ssd[_ngcontent-%COMP%]{color:#fff;background-color:#288cea}.badge-tab[_ngcontent-%COMP%]{color:#555;background-color:#f3f3f3}tree-root[_ngcontent-%COMP%]   tree-viewport[_ngcontent-%COMP%]{min-height:1em}.dataTables_wrapper[_ngcontent-%COMP%]{margin-bottom:25px}.dataTables_wrapper[_ngcontent-%COMP%]   .separator[_ngcontent-%COMP%]{height:30px;border-left:1px solid rgba(0,0,0,.09);padding-left:5px;margin-left:5px;display:inline-block;vertical-align:middle}.dataTables_wrapper[_ngcontent-%COMP%]   .widget-toolbar[_ngcontent-%COMP%]{float:right;border-left:1px solid rgba(0,0,0,.09);padding:0 8px}.dataTables_wrapper[_ngcontent-%COMP%]   .widget-toolbar[_ngcontent-%COMP%]   .form-check[_ngcontent-%COMP%]{padding-left:0}.dataTables_wrapper[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{white-space:nowrap}.dataTables_wrapper[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%]{cursor:pointer}.dataTables_wrapper[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > label[_ngcontent-%COMP%]{width:100%;margin-bottom:0;padding-left:20px;padding-right:20px;cursor:pointer}.dataTables_wrapper[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > label[_ngcontent-%COMP%]:hover{background-color:#f5f5f5}.dataTables_wrapper[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > label[_ngcontent-%COMP%] > input[_ngcontent-%COMP%]{cursor:pointer}.dataTables_wrapper[_ngcontent-%COMP%]   .dataTables_length[_ngcontent-%COMP%] > input[_ngcontent-%COMP%]{line-height:25px;text-align:right}.dataTables_header[_ngcontent-%COMP%]{background-color:#f5f5f5;border:1px solid #d1d1d1;border-bottom:none;padding:5px;position:relative}.dataTables_header[_ngcontent-%COMP%]   .cd-datatable-actions[_ngcontent-%COMP%]{float:left}.dataTables_header[_ngcontent-%COMP%]     .table-filters{float:right;border-left:1px solid rgba(0,0,0,.09);padding-left:8px}.dataTables_header[_ngcontent-%COMP%]     .table-filters label{margin-right:4px}.dataTables_header[_ngcontent-%COMP%]   .form-group[_ngcontent-%COMP%]{padding-left:8px}.dataTables_header[_ngcontent-%COMP%]   .input-group[_ngcontent-%COMP%]{float:right;border-left:1px solid rgba(0,0,0,.09);padding-left:8px;padding-right:8px;width:40%;max-width:250px}.dataTables_header[_ngcontent-%COMP%]   .input-group[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%], .dataTables_header[_ngcontent-%COMP%]   .input-group[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]{height:30px}.dataTables_header[_ngcontent-%COMP%]   .input-group.dataTables_paginate[_ngcontent-%COMP%]{width:8%;min-width:85px;padding-right:8px}.dataTables_header[_ngcontent-%COMP%]   .filter-chips[_ngcontent-%COMP%]{float:right;padding:0 8px}  .cd-datatable{border:1px solid #d1d1d1;margin-bottom:0;max-width:none!important}  .cd-datatable .progress-linear{display:block;position:relative;width:100%;height:5px;padding:0;margin:0}  .cd-datatable .progress-linear .container{background-color:#afd9ee}  .cd-datatable .progress-linear .container .bar{left:0;height:100%;width:100%;position:absolute;overflow:hidden;background-color:#afd9ee}  .cd-datatable .progress-linear .container .bar:before{display:block;position:absolute;content:"";left:-200px;width:200px;height:100%;background-color:#2b99a8;animation:3s linear infinite progress-loading}  .cd-datatable .datatable-header{background-clip:padding-box;background-color:#f5f5f5;background-image:linear-gradient(to bottom,#f5f5f5 0,#ededed 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#fffafafa", endColorstr="#ffededed", GradientType=0)}  .cd-datatable .datatable-header .sort-asc,   .cd-datatable .datatable-header .sort-desc{color:#2b99a8}  .cd-datatable .datatable-header .datatable-header-cell{padding:5px;border:none;border-left:1px solid #d1d1d1;border-bottom:1px solid #d1d1d1;text-align:left;font-weight:700}  .cd-datatable .datatable-header .datatable-header-cell .datatable-header-cell-label:after{font-family:ForkAwesome;font-weight:400;height:9px;left:10px;line-height:12px;position:relative;vertical-align:baseline;width:12px}  .cd-datatable .datatable-header .datatable-header-cell.sortable .datatable-header-cell-label:after{content:" "}  .cd-datatable .datatable-header .datatable-header-cell.sortable.sort-active.sort-asc .datatable-header-cell-label:after{content:" "}  .cd-datatable .datatable-header .datatable-header-cell.sortable.sort-active.sort-desc .datatable-header-cell-label:after{content:" "}  .cd-datatable .datatable-header .datatable-header-cell:first-child{border-left:none}  .cd-datatable .datatable-body{margin-bottom:-6px}  .cd-datatable .datatable-body .empty-row{background-color:#fff3cd;text-align:center;font-weight:700;font-style:italic;padding-top:5px;padding-bottom:5px}  .cd-datatable .datatable-body .datatable-body-row.clickable:hover .datatable-row-group{background-color:#eee;transition-property:background;transition-duration:.3s;transition-timing-function:linear}  .cd-datatable .datatable-body .datatable-body-row.datatable-row-even{background-color:#fff}  .cd-datatable .datatable-body .datatable-body-row.datatable-row-odd{background-color:#f5f5f5}  .cd-datatable .datatable-body .datatable-body-row.active,   .cd-datatable .datatable-body .datatable-body-row.active:hover{background-color:#d1ecf1}  .cd-datatable .datatable-body .datatable-body-row .datatable-body-cell{padding:5px;border:none;border-left:1px solid #d1d1d1;border-bottom:1px solid #d1d1d1}  .cd-datatable .datatable-body .datatable-body-row .datatable-body-cell:first-child{border-left:none}  .cd-datatable .datatable-body .datatable-body-row .datatable-body-cell .datatable-body-cell-label{display:block}  .cd-datatable .datatable-footer .page-count,   .cd-datatable .datatable-footer .selected-count{font-style:italic;padding-left:5px}  .cd-datatable .cd-datatable-checkbox{text-align:center}@keyframes progress-loading{from{left:-200px;width:15%}50%{width:30%}70%{width:70%}80%{left:50%}95%{left:120%}to{left:100%}}']],data:{}});function se(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"cd-alert-panel",[["type","error"]],null,null,null,r.b,r.a)),a["ɵdid"](1,114688,null,0,o.a,[i.a],{type:[0,"type"]},null),(t()(),a["ɵted"](-1,0,["Failed to load data."]))],(function(t,e){t(e,1,0,"error")}),null)}function ce(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"div",[["class","dataTables_header clearfix"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,1,"div",[["class","cd-datatable-actions"]],null,null,null,null,null)),a["ɵncd"](null,0)],null,null)}function le(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"li",[["role","menuitem"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,1,"a",[["class","dropdown-item"],["href",""]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(t.component.onSelectFilter(t.context.$implicit),a=!1),a}),null,null)),(t()(),a["ɵted"](2,null,["",""]))],null,(function(t,e){t(e,2,0,e.context.$implicit.column.name)}))}function de(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"ul",[["class","dropdown-menu px-1"],["role","menu"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,le)),a["ɵdid"](2,278528,null,0,s.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){t(e,2,0,e.component.columnFilters)}),null)}function ue(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"i",[],null,null,null,null,null)),a["ɵprd"](512,null,s["ɵNgClassImpl"],s["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](2,278528,null,0,s.NgClass,[s["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),a["ɵpad"](3,1)],(function(t,e){var n=t(e,3,0,e.component.icons.check);t(e,2,0,n)}),null)}function ge(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,4,"li",[["role","menuitem"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,3,"a",[["class","dropdown-item"],["href",""]],null,[[null,"click"]],(function(t,e,n){var a=!0,r=t.component;return"click"===e&&(r.onChangeFilter(r.selectedFilter,t.context.$implicit),a=!1),a}),null,null)),(t()(),a["ɵted"](2,null,[""," "])),(t()(),a["ɵand"](16777216,null,null,1,null,ue)),a["ɵdid"](4,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,4,0,void 0!==n.selectedFilter.value&&n.selectedFilter.value.raw===e.context.$implicit.raw)}),(function(t,e){t(e,2,0,e.context.$implicit.formatted)}))}function fe(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"ul",[["class","dropdown-menu px-1"],["role","menu"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,ge)),a["ɵdid"](2,278528,null,0,s.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){t(e,2,0,e.component.selectedFilter.options)}),null)}function pe(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,20,"div",[["class","btn-group widget-toolbar"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,16777216,null,null,11,"div",[["class","btn-group tc_filter_name"],["dropdown",""]],[[2,"dropup",null],[2,"open",null],[2,"show",null]],null,null,null,null)),a["ɵprd"](512,null,c.f,c.f,[]),a["ɵdid"](3,212992,null,0,c.c,[a.ElementRef,a.Renderer2,a.ViewContainerRef,l.a,c.a,c.f],null,null),(t()(),a["ɵeld"](4,0,null,null,6,"a",[["class","btn btn-light dropdown-toggle"],["data-toggle","dropdown"],["dropdownToggle",""]],[[1,"aria-haspopup",0],[1,"disabled",0],[1,"aria-expanded",0]],[[null,"click"]],(function(t,e,n){var r=!0;return"click"===e&&(r=!1!==a["ɵnov"](t,5).onClick()&&r),r}),null,null)),a["ɵdid"](5,147456,null,0,c.g,[a.ChangeDetectorRef,c.c,a.ElementRef,a.Renderer2,c.f],null,null),(t()(),a["ɵeld"](6,0,null,null,3,"i",[],null,null,null,null,null)),a["ɵprd"](512,null,s["ɵNgClassImpl"],s["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](8,278528,null,0,s.NgClass,[s["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),a["ɵpad"](9,2),(t()(),a["ɵted"](10,null,[" "," "])),(t()(),a["ɵand"](16777216,null,null,1,null,de)),a["ɵdid"](12,16384,null,0,c.d,[c.f,a.ViewContainerRef,a.TemplateRef],null,null),(t()(),a["ɵeld"](13,16777216,null,null,7,"div",[["class","btn-group tc_filter_option"],["dropdown",""]],[[2,"dropup",null],[2,"open",null],[2,"show",null]],null,null,null,null)),a["ɵprd"](512,null,c.f,c.f,[]),a["ɵdid"](15,212992,null,0,c.c,[a.ElementRef,a.Renderer2,a.ViewContainerRef,l.a,c.a,c.f],null,null),(t()(),a["ɵeld"](16,0,null,null,2,"a",[["class","btn btn-light dropdown-toggle"],["data-toggle","dropdown"],["dropdownToggle",""]],[[2,"disabled",null],[1,"aria-haspopup",0],[1,"disabled",0],[1,"aria-expanded",0]],[[null,"click"]],(function(t,e,n){var r=!0;return"click"===e&&(r=!1!==a["ɵnov"](t,17).onClick()&&r),r}),null,null)),a["ɵdid"](17,147456,null,0,c.g,[a.ChangeDetectorRef,c.c,a.ElementRef,a.Renderer2,c.f],null,null),(t()(),a["ɵted"](18,null,[" "," "])),(t()(),a["ɵand"](16777216,null,null,1,null,fe)),a["ɵdid"](20,16384,null,0,c.d,[c.f,a.ViewContainerRef,a.TemplateRef],null,null)],(function(t,e){var n=e.component;t(e,3,0);var a=t(e,9,0,n.icons.large,n.icons.filter);t(e,8,0,a),t(e,15,0)}),(function(t,e){var n=e.component;t(e,1,0,a["ɵnov"](e,3).dropup,a["ɵnov"](e,3).isOpen,a["ɵnov"](e,3).isOpen&&a["ɵnov"](e,3).isBs4),t(e,4,0,!0,a["ɵnov"](e,5).isDisabled,a["ɵnov"](e,5).isOpen),t(e,10,0,n.selectedFilter.column.name),t(e,13,0,a["ɵnov"](e,15).dropup,a["ɵnov"](e,15).isOpen,a["ɵnov"](e,15).isOpen&&a["ɵnov"](e,15).isBs4),t(e,16,0,0===n.selectedFilter.options.length,!0,a["ɵnov"](e,17).isDisabled,a["ɵnov"](e,17).isOpen),t(e,18,0,n.selectedFilter.value?n.selectedFilter.value.formatted:"Any")}))}function me(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,15,"div",[["class","input-group search"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,5,"span",[["class","input-group-prepend"]],null,null,null,null,null)),(t()(),a["ɵeld"](2,0,null,null,4,"span",[["class","input-group-text"]],null,null,null,null,null)),(t()(),a["ɵeld"](3,0,null,null,3,"i",[],null,null,null,null,null)),a["ɵprd"](512,null,s["ɵNgClassImpl"],s["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](5,278528,null,0,s.NgClass,[s["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),a["ɵpad"](6,1),(t()(),a["ɵeld"](7,0,null,null,5,"input",[["class","form-control"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"keyup"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var r=!0,o=t.component;return"input"===e&&(r=!1!==a["ɵnov"](t,8)._handleInput(n.target.value)&&r),"blur"===e&&(r=!1!==a["ɵnov"](t,8).onTouched()&&r),"compositionstart"===e&&(r=!1!==a["ɵnov"](t,8)._compositionStart()&&r),"compositionend"===e&&(r=!1!==a["ɵnov"](t,8)._compositionEnd(n.target.value)&&r),"ngModelChange"===e&&(r=!1!==(o.search=n)&&r),"keyup"===e&&(r=!1!==o.updateFilter()&&r),r}),null,null)),a["ɵdid"](8,16384,null,0,d.e,[a.Renderer2,a.ElementRef,[2,d.b]],null,null),a["ɵprd"](1024,null,d.p,(function(t){return[t]}),[d.e]),a["ɵdid"](10,671744,null,0,d.u,[[8,null],[8,null],[8,null],[6,d.p]],{model:[0,"model"]},{update:"ngModelChange"}),a["ɵprd"](2048,null,d.q,null,[d.u]),a["ɵdid"](12,16384,null,0,d.r,[[4,d.q]],null,null),(t()(),a["ɵeld"](13,0,null,null,2,"div",[["class","input-group-append"]],null,null,null,null,null)),(t()(),a["ɵeld"](14,0,null,null,1,"button",[["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.onClearSearch()&&a),a}),null,null)),(t()(),a["ɵeld"](15,0,null,null,0,"i",[],[[8,"className",0]],null,null,null,null))],(function(t,e){var n=e.component,a=t(e,6,0,n.icons.search);t(e,5,0,a),t(e,10,0,n.search)}),(function(t,e){var n=e.component;t(e,7,0,a["ɵnov"](e,12).ngClassUntouched,a["ɵnov"](e,12).ngClassTouched,a["ɵnov"](e,12).ngClassPristine,a["ɵnov"](e,12).ngClassDirty,a["ɵnov"](e,12).ngClassValid,a["ɵnov"](e,12).ngClassInvalid,a["ɵnov"](e,12).ngClassPending),t(e,15,0,a["ɵinlineInterpolate"](1,"icon-prepend ",n.icons.destroy,""))}))}function he(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,4,"li",[],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,3,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(t()(),a["ɵeld"](2,0,null,null,0,"input",[["class","custom-control-input"],["type","checkbox"]],[[8,"name",0],[8,"id",0],[8,"checked",0]],[[null,"change"]],(function(t,e,n){var a=!0;return"change"===e&&(a=!1!==t.component.toggleColumn(n)&&a),a}),null,null)),(t()(),a["ɵeld"](3,0,null,null,1,"label",[["class","custom-control-label"]],[[8,"htmlFor",0]],null,null,null,null)),(t()(),a["ɵted"](4,null,["",""]))],null,(function(t,e){t(e,2,0,e.context.$implicit.prop,e.context.$implicit.prop,!e.context.$implicit.isHidden),t(e,3,0,e.context.$implicit.prop),t(e,4,0,e.context.$implicit.name)}))}function be(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"ul",[["class","dropdown-menu px-3"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,he)),a["ɵdid"](2,278528,null,0,s.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){t(e,2,0,e.component.columns)}),null)}function ye(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,5,"div",[["class","widget-toolbar tc_refreshBtn"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,4,"button",[["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.refreshBtn()&&a),a}),null,null)),(t()(),a["ɵeld"](2,0,null,null,3,"i",[],[[2,"fa-spin",null]],null,null,null,null)),a["ɵprd"](512,null,s["ɵNgClassImpl"],s["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](4,278528,null,0,s.NgClass,[s["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),a["ɵpad"](5,2)],(function(t,e){var n=e.component,a=t(e,5,0,n.icons.large,n.icons.refresh);t(e,4,0,a)}),(function(t,e){var n=e.component;t(e,2,0,n.updating||n.loadingIndicator)}))}function _e(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,23,"div",[["class","dataTables_header clearfix"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,1,"div",[["class","cd-datatable-actions"]],null,null,null,null,null)),a["ɵncd"](null,1),a["ɵncd"](null,2),(t()(),a["ɵand"](16777216,null,null,1,null,pe)),a["ɵdid"](5,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,me)),a["ɵdid"](7,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵeld"](8,0,null,null,1,"div",[["class","input-group dataTables_paginate"]],null,null,null,null,null)),(t()(),a["ɵeld"](9,0,null,null,0,"input",[["class","form-control"],["max","9999"],["min","1"],["type","number"]],[[8,"value",0]],[[null,"click"],[null,"keyup"],[null,"blur"]],(function(t,e,n){var a=!0,r=t.component;return"click"===e&&(a=!1!==r.setLimit(n)&&a),"keyup"===e&&(a=!1!==r.setLimit(n)&&a),"blur"===e&&(a=!1!==r.setLimit(n)&&a),a}),null,null)),(t()(),a["ɵeld"](10,0,null,null,11,"div",[["class","widget-toolbar"]],null,null,null,null,null)),(t()(),a["ɵeld"](11,16777216,null,null,10,"div",[["class","dropdown tc_menuitem tc_menuitem_cluster"],["dropdown",""]],[[2,"dropup",null],[2,"open",null],[2,"show",null]],null,null,null,null)),a["ɵprd"](512,null,c.f,c.f,[]),a["ɵdid"](13,212992,null,0,c.c,[a.ElementRef,a.Renderer2,a.ViewContainerRef,l.a,c.a,c.f],{autoClose:[0,"autoClose"]},null),(t()(),a["ɵeld"](14,0,null,null,5,"a",[["class","btn btn-light dropdown-toggle tc_columnBtn"],["data-toggle","dropdown"],["dropdownToggle",""]],[[1,"aria-haspopup",0],[1,"disabled",0],[1,"aria-expanded",0]],[[null,"click"]],(function(t,e,n){var r=!0;return"click"===e&&(r=!1!==a["ɵnov"](t,15).onClick()&&r),r}),null,null)),a["ɵdid"](15,147456,null,0,c.g,[a.ChangeDetectorRef,c.c,a.ElementRef,a.Renderer2,c.f],null,null),(t()(),a["ɵeld"](16,0,null,null,3,"i",[],null,null,null,null,null)),a["ɵprd"](512,null,s["ɵNgClassImpl"],s["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](18,278528,null,0,s.NgClass,[s["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),a["ɵpad"](19,2),(t()(),a["ɵand"](16777216,null,null,1,null,be)),a["ɵdid"](21,16384,null,0,c.d,[c.f,a.ViewContainerRef,a.TemplateRef],null,null),(t()(),a["ɵand"](16777216,null,null,1,null,ye)),a["ɵdid"](23,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,5,0,0!==n.columnFilters.length),t(e,7,0,n.searchField),t(e,13,0,!1);var a=t(e,19,0,n.icons.large,n.icons.table);t(e,18,0,a),t(e,23,0,n.fetchData.observers.length>0)}),(function(t,e){t(e,9,0,e.component.userConfig.limit),t(e,11,0,a["ɵnov"](e,13).dropup,a["ɵnov"](e,13).isOpen,a["ɵnov"](e,13).isOpen&&a["ɵnov"](e,13).isBs4),t(e,14,0,!0,a["ɵnov"](e,15).isDisabled,a["ɵnov"](e,15).isOpen)}))}function Oe(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,7,"span",[["class","badge badge-info mr-2"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,1,"span",[["class","mr-2"]],null,null,null,null,null)),(t()(),a["ɵted"](2,null,["",": ",""])),(t()(),a["ɵeld"](3,0,null,null,4,"a",[["class","badge-remove"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(t.component.onChangeFilter(t.parent.context.$implicit),a=!1),a}),null,null)),(t()(),a["ɵeld"](4,0,null,null,3,"i",[["aria-hidden","true"]],null,null,null,null,null)),a["ɵprd"](512,null,s["ɵNgClassImpl"],s["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](6,278528,null,0,s.NgClass,[s["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),a["ɵpad"](7,1)],(function(t,e){var n=t(e,7,0,e.component.icons.destroy);t(e,6,0,n)}),(function(t,e){t(e,2,0,e.parent.context.$implicit.column.name,e.parent.context.$implicit.value.formatted)}))}function ve(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,Oe)),a["ɵdid"](2,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){t(e,2,0,e.context.$implicit.value)}),null)}function Ce(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,6,"div",[["class","dataTables_header clearfix"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,5,"div",[["class","filter-chips"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,ve)),a["ɵdid"](3,278528,null,0,s.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),a["ɵeld"](4,0,null,null,2,"a",[["class","tc_clearSelections"],["href",""]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(t.component.onClearFilters(),a=!1),a}),null,null)),(t()(),a["ɵeld"](5,0,null,null,1,null,null,null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["Clear filters"]))],(function(t,e){t(e,3,0,e.component.columnFilters)}),null)}function Pe(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,4,"span",[],null,null,null,null,null)),(t()(),a["ɵted"](1,null,[" "," "])),(t()(),a["ɵeld"](2,0,null,null,1,null,null,null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["selected"])),(t()(),a["ɵted"](-1,null,[" / "]))],null,(function(t,e){t(e,1,0,e.parent.context.selectedCount)}))}function Me(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,4,"span",[],null,null,null,null,null)),(t()(),a["ɵted"](1,null,[" "," "])),(t()(),a["ɵeld"](2,0,null,null,1,null,null,null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["found"])),(t()(),a["ɵted"](-1,null,[" / "]))],null,(function(t,e){t(e,1,0,e.parent.context.rowCount)}))}function xe(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,8,"div",[["class","page-count"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,Pe)),a["ɵdid"](2,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,Me)),a["ɵdid"](4,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵeld"](5,0,null,null,3,"span",[],null,null,null,null,null)),(t()(),a["ɵted"](6,null,[" "," "])),(t()(),a["ɵeld"](7,0,null,null,1,null,null,null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["total"])),(t()(),a["ɵeld"](9,0,null,null,1,"datatable-pager",[["class","datatable-pager"]],[[8,"hidden",0]],[[null,"change"]],(function(t,e,n){var r=!0;return"change"===e&&(r=!1!==a["ɵnov"](t.parent,25).onFooterPage(n)&&r),r}),p,g)),a["ɵdid"](10,49152,null,0,u.DataTablePagerComponent,[],{pagerLeftArrowIcon:[0,"pagerLeftArrowIcon"],pagerRightArrowIcon:[1,"pagerRightArrowIcon"],pagerPreviousIcon:[2,"pagerPreviousIcon"],pagerNextIcon:[3,"pagerNextIcon"],size:[4,"size"],count:[5,"count"],page:[6,"page"]},{change:"change"})],(function(t,e){var n=e.component;t(e,2,0,n.selectionType),t(e,4,0,e.context.rowCount!=(null==n.data?null:n.data.length)),t(e,10,0,n.paginationClasses.pagerLeftArrow,n.paginationClasses.pagerRightArrow,n.paginationClasses.pagerPrevious,n.paginationClasses.pagerNext,e.context.pageSize,e.context.rowCount,e.context.curPage)}),(function(t,e){var n=e.component;t(e,6,0,(null==n.data?null:n.data.length)||0),t(e,9,0,!(e.context.rowCount/e.context.pageSize>1))}))}function we(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"strong",[],null,null,null,null,null)),(t()(),a["ɵted"](1,null,["",""]))],null,(function(t,e){t(e,1,0,e.context.value)}))}function Te(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"cd-sparkline",[],null,null,null,m.b,m.a)),a["ɵdid"](1,638976,null,0,h.a,[b.a],{data:[0,"data"],isBinary:[1,"isBinary"]},null)],(function(t,e){t(e,1,0,e.context.value,e.context.row.cdIsBinary)}),null)}function Se(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"a",[],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var r=!0;return"click"===e&&(r=!1!==a["ɵnov"](t,1).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&r),r}),null,null)),a["ɵdid"](1,671744,null,0,y.p,[y.m,y.a,s.LocationStrategy],{queryParams:[0,"queryParams"],routerLink:[1,"routerLink"]},null),a["ɵpad"](2,1),(t()(),a["ɵted"](3,null,["",""]))],(function(t,e){var n=e.context.row.cdParams,a=t(e,2,0,e.context.row.cdLink);t(e,1,0,n,a)}),(function(t,e){t(e,0,0,a["ɵnov"](e,1).target,a["ɵnov"](e,1).href),t(e,3,0,e.context.value)}))}function ke(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,4,"i",[],[[8,"hidden",0]],null,null,null,null)),a["ɵprd"](512,null,s["ɵNgClassImpl"],s["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](2,278528,null,0,s.NgClass,[s["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),a["ɵpad"](3,1),a["ɵppd"](4,1)],(function(t,e){var n=t(e,3,0,e.component.icons.check);t(e,2,0,n)}),(function(t,e){var n=!a["ɵunv"](e,0,0,t(e,4,0,a["ɵnov"](e.parent,0),e.context.value));t(e,0,0,n)}))}function Ie(t){return a["ɵvid"](0,[(t()(),a["ɵted"](0,null,[" "," /s\n"]))],null,(function(t,e){t(e,0,0,e.context.value)}))}function Ne(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"i",[],null,null,null,null,null)),a["ɵprd"](512,null,s["ɵNgClassImpl"],s["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](2,278528,null,0,s.NgClass,[s["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),a["ɵpad"](3,2)],(function(t,e){var n=e.component,a=t(e,3,0,n.icons.spinner,n.icons.spin);t(e,2,0,a)}),null)}function Re(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"span",[["class","text-muted italic"]],null,null,null,null,null)),(t()(),a["ɵted"](1,null,["(",")"]))],null,(function(t,e){t(e,1,0,e.parent.context.row.cdExecuting)}))}function Ae(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,1,null,Ne)),a["ɵdid"](1,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵted"](2,null,[" "," "])),(t()(),a["ɵand"](16777216,null,null,1,null,Re)),a["ɵdid"](4,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](0,null,null,0))],(function(t,e){t(e,1,0,e.context.row.cdExecuting),t(e,4,0,e.context.row.cdExecuting)}),(function(t,e){t(e,2,0,e.context.value)}))}function Ee(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"span",[],[[8,"className",0]],null,null,null,null)),(t()(),a["ɵted"](1,null,["",""]))],null,(function(t,e){t(e,0,0,a["ɵinlineInterpolate"](1,"",e.component.useCustomClass(e.context.value),"")),t(e,1,0,e.context.value)}))}function De(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"span",[["class","badge"]],null,null,null,null,null)),a["ɵprd"](512,null,s["ɵNgClassImpl"],s["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](2,278528,null,0,s.NgClass,[s["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),(t()(),a["ɵted"](3,null,[" "," "]))],(function(t,e){t(e,2,0,"badge",null!=e.parent.parent.context.column&&null!=e.parent.parent.context.column.customTemplateConfig&&e.parent.parent.context.column.customTemplateConfig.map&&null!=e.parent.parent.context.column&&null!=e.parent.parent.context.column.customTemplateConfig&&null!=e.parent.parent.context.column.customTemplateConfig.map[e.parent.context.$implicit]&&e.parent.parent.context.column.customTemplateConfig.map[e.parent.context.$implicit].class?e.parent.parent.context.column.customTemplateConfig.map[e.parent.context.$implicit].class:null!=e.parent.parent.context.column&&null!=e.parent.parent.context.column.customTemplateConfig&&e.parent.parent.context.column.customTemplateConfig.class?e.parent.parent.context.column.customTemplateConfig.class:"badge-primary")}),(function(t,e){t(e,3,0,null!=e.parent.parent.context.column&&null!=e.parent.parent.context.column.customTemplateConfig&&e.parent.parent.context.column.customTemplateConfig.map&&null!=e.parent.parent.context.column&&null!=e.parent.parent.context.column.customTemplateConfig&&null!=e.parent.parent.context.column.customTemplateConfig.map[e.parent.context.$implicit]&&e.parent.parent.context.column.customTemplateConfig.map[e.parent.context.$implicit].value?e.parent.parent.context.column.customTemplateConfig.map[e.parent.context.$implicit].value:null!=e.parent.parent.context.column&&null!=e.parent.parent.context.column.customTemplateConfig&&e.parent.parent.context.column.customTemplateConfig.prefix?e.parent.parent.context.column.customTemplateConfig.prefix+e.parent.context.$implicit:e.parent.context.$implicit)}))}function Le(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),a["ɵted"](-1,null,[" "]))],null,null)}function qe(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,4,"span",[],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,De)),a["ɵdid"](2,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,Le)),a["ɵdid"](4,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){t(e,2,0,null!=e.parent.context.column&&null!=e.parent.context.column.customTemplateConfig&&e.parent.context.column.customTemplateConfig.map&&null!=e.parent.context.column&&null!=e.parent.context.column.customTemplateConfig&&null!=e.parent.context.column.customTemplateConfig.map[e.context.$implicit]&&e.parent.context.column.customTemplateConfig.map[e.context.$implicit].value?e.parent.context.column.customTemplateConfig.map[e.context.$implicit].value:null!=e.parent.context.column&&null!=e.parent.context.column.customTemplateConfig&&e.parent.context.column.customTemplateConfig.prefix?e.parent.context.column.customTemplateConfig.prefix+e.context.$implicit:e.context.$implicit),t(e,4,0,!e.context.last)}),null)}function je(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,2,null,qe)),a["ɵdid"](1,278528,null,0,s.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),a["ɵppd"](2,1),(t()(),a["ɵand"](0,null,null,0))],(function(t,e){var n=a["ɵunv"](e,1,0,t(e,2,0,a["ɵnov"](e.parent,1),e.context.value));t(e,1,0,n)}),null)}function Fe(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),a["ɵted"](1,null,["",""])),a["ɵppd"](2,2)],null,(function(t,e){var n=a["ɵunv"](e,1,0,t(e,2,0,a["ɵnov"](e.parent,2),e.context.value,null==e.context.column?null:e.context.column.customTemplateConfig));t(e,1,0,n)}))}function ze(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"span",[["data-toggle","tooltip"]],[[8,"title",0]],null,null,null,null)),(t()(),a["ɵted"](1,null,["",""])),a["ɵppd"](2,3)],null,(function(t,e){t(e,0,0,e.context.value);var n=a["ɵunv"](e,1,0,t(e,2,0,a["ɵnov"](e.parent,3),e.context.value,null==e.context.column?null:null==e.context.column.customTemplateConfig?null:e.context.column.customTemplateConfig.length,null==e.context.column?null:null==e.context.column.customTemplateConfig?null:e.context.column.customTemplateConfig.omission));t(e,1,0,n)}))}function Ge(t){return a["ɵvid"](2,[a["ɵpid"](0,_.a,[]),a["ɵpid"](0,O.a,[]),a["ɵpid"](0,v.a,[]),a["ɵpid"](0,C.a,[]),a["ɵqud"](402653184,1,{table:0}),a["ɵqud"](402653184,2,{tableCellBoldTpl:0}),a["ɵqud"](402653184,3,{sparklineTpl:0}),a["ɵqud"](402653184,4,{routerLinkTpl:0}),a["ɵqud"](402653184,5,{checkIconTpl:0}),a["ɵqud"](402653184,6,{perSecondTpl:0}),a["ɵqud"](402653184,7,{executingTpl:0}),a["ɵqud"](402653184,8,{classAddingTpl:0}),a["ɵqud"](402653184,9,{badgeTpl:0}),a["ɵqud"](402653184,10,{mapTpl:0}),a["ɵqud"](402653184,11,{truncateTpl:0}),(t()(),a["ɵand"](16777216,null,null,1,null,se)),a["ɵdid"](16,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵeld"](17,0,null,null,17,"div",[["class","dataTables_wrapper"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,ce)),a["ɵdid"](19,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,_e)),a["ɵdid"](21,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,Ce)),a["ɵdid"](23,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵeld"](24,0,null,null,10,"ngx-datatable",[["class","bootstrap cd-datatable ngx-datatable"]],[[2,"fixed-header",null],[2,"fixed-row",null],[2,"scroll-vertical",null],[2,"virtualized",null],[2,"scroll-horz",null],[2,"selectable",null],[2,"checkbox-selection",null],[2,"cell-selection",null],[2,"single-selection",null],[2,"multi-selection",null],[2,"multi-click-selection",null]],[[null,"select"],[null,"sort"],["window","resize"]],(function(t,e,n){var r=!0,o=t.component;return"window:resize"===e&&(r=!1!==a["ɵnov"](t,25).onWindowResize()&&r),"select"===e&&(r=!1!==o.onSelect(n)&&r),"sort"===e&&(r=!1!==o.changeSorting(n)&&r),r}),ae,te)),a["ɵdid"](25,5750784,[[1,4],["table",4]],4,Jt.DatatableComponent,[[1,pt.ScrollbarHelper],[1,Xt.DimensionsHelper],a.ChangeDetectorRef,a.ElementRef,a.KeyValueDiffers,Qt.ColumnChangesService],{rows:[0,"rows"],columns:[1,"columns"],selected:[2,"selected"],rowHeight:[3,"rowHeight"],columnMode:[4,"columnMode"],headerHeight:[5,"headerHeight"],footerHeight:[6,"footerHeight"],limit:[7,"limit"],loadingIndicator:[8,"loadingIndicator"],selectionType:[9,"selectionType"],sorts:[10,"sorts"],cssClasses:[11,"cssClasses"],rowIdentity:[12,"rowIdentity"],rowClass:[13,"rowClass"]},{select:"select",sort:"sort"}),a["ɵqud"](603979776,12,{columnTemplates:1}),a["ɵqud"](603979776,13,{rowDetail:0}),a["ɵqud"](603979776,14,{groupHeader:0}),a["ɵqud"](603979776,15,{footer:0}),(t()(),a["ɵeld"](30,0,null,null,4,"ngx-datatable-footer",[],null,null,null,null,null)),a["ɵdid"](31,16384,[[15,4]],1,re.DatatableFooterDirective,[],null,null),a["ɵqud"](603979776,16,{template:0}),(t()(),a["ɵand"](0,[[16,2]],null,1,null,xe)),a["ɵdid"](34,16384,null,0,oe.DataTableFooterTemplateDirective,[a.TemplateRef],null,null),a["ɵncd"](null,3),(t()(),a["ɵand"](0,[[2,2],["tableCellBoldTpl",2]],null,0,null,we)),(t()(),a["ɵand"](0,[[3,2],["sparklineTpl",2]],null,0,null,Te)),(t()(),a["ɵand"](0,[[4,2],["routerLinkTpl",2]],null,0,null,Se)),(t()(),a["ɵand"](0,[[5,2],["checkIconTpl",2]],null,0,null,ke)),(t()(),a["ɵand"](0,[[6,2],["perSecondTpl",2]],null,0,null,Ie)),(t()(),a["ɵand"](0,[[7,2],["executingTpl",2]],null,0,null,Ae)),(t()(),a["ɵand"](0,[[8,2],["classAddingTpl",2]],null,0,null,Ee)),(t()(),a["ɵand"](0,[[9,2],["badgeTpl",2]],null,0,null,je)),(t()(),a["ɵand"](0,[[10,2],["mapTpl",2]],null,0,null,Fe)),(t()(),a["ɵand"](0,[[11,2],["truncateTpl",2]],null,0,null,ze))],(function(t,e){var n=e.component;t(e,16,0,n.loadingError),t(e,19,0,n.onlyActionHeader),t(e,21,0,n.toolHeader),t(e,23,0,n.toolHeader&&n.columnFiltered),t(e,25,1,[n.rows,n.tableColumns,n.selection.selected,"auto",n.columnMode,n.header?"auto":0,n.footer?"auto":0,n.userConfig.limit>0?n.userConfig.limit:void 0,n.loadingIndicator,n.selectionType,n.userConfig.sorts,n.paginationClasses,n.rowIdentity(),n.getRowClass()])}),(function(t,e){t(e,24,1,[a["ɵnov"](e,25).isFixedHeader,a["ɵnov"](e,25).isFixedRow,a["ɵnov"](e,25).isVertScroll,a["ɵnov"](e,25).isVirtualized,a["ɵnov"](e,25).isHorScroll,a["ɵnov"](e,25).isSelectable,a["ɵnov"](e,25).isCheckboxSelection,a["ɵnov"](e,25).isCellSelection,a["ɵnov"](e,25).isSingleSelection,a["ɵnov"](e,25).isMultiSelection,a["ɵnov"](e,25).isMultiClickSelection])}))}},"2EZI":function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var a=n("s7LF"),r=n("QFaf"),o=n("8Y7J");let i=(()=>{class t extends a.h{group(t,e=null){const n=super.group(t,e);return new r.a(n.controls,n.validator,n.asyncValidator)}}return t.ngInjectableDef=o["ɵɵdefineInjectable"]({factory:function(){return new t},token:t,providedIn:"root"}),t})()},"2QA8":function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));const a=(()=>"function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random())()},"2V7f":function(t,e,n){"use strict";function a(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),a(n("IPm6")),a(n("YVFZ")),a(n("syrc")),a(n("PNOi")),a(n("SfHT")),a(n("Mfce")),a(n("7F1K")),a(n("99TG")),a(n("Fjl2")),a(n("VHo1"))},"2Vo4":function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var a=n("XNiG"),r=n("9ppp");class o extends a.a{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){const e=super._subscribe(t);return e&&!e.closed&&t.next(this._value),e}getValue(){if(this.hasError)throw this.thrownError;if(this.closed)throw new r.a;return this._value}next(t){super.next(this._value=t)}}},"2ZVE":function(t,e,n){"use strict";n.d(e,"a",(function(){return r})),n.d(e,"b",(function(){return s})),n.d(e,"c",(function(){return c})),n.d(e,"d",(function(){return l})),n.d(e,"e",(function(){return i})),n.d(e,"f",(function(){return o}));var a=n("8Y7J");class r{constructor(t){this.viewRef=t}set ngTransclude(t){this._ngTransclude=t,t&&this.viewRef.createEmbeddedView(t)}get ngTransclude(){return this._ngTransclude}}class o{constructor(){this.type="tabs"}}class i{constructor(t,e,n){this.renderer=e,this.elementRef=n,this.clazz=!0,this.tabs=[],this.classMap={},Object.assign(this,t)}get vertical(){return this._vertical}set vertical(t){this._vertical=t,this.setClassMap()}get justified(){return this._justified}set justified(t){this._justified=t,this.setClassMap()}get type(){return this._type}set type(t){this._type=t,this.setClassMap()}ngOnDestroy(){this.isDestroyed=!0}addTab(t){this.tabs.push(t),t.active=1===this.tabs.length&&void 0===t.active}removeTab(t,e={reselect:!0,emit:!0}){const n=this.tabs.indexOf(t);if(-1!==n&&!this.isDestroyed){if(e.reselect&&t.active&&this.hasAvailableTabs(n)){const t=this.getClosestTabIndex(n);this.tabs[t].active=!0}e.emit&&t.removed.emit(t),this.tabs.splice(n,1),t.elementRef.nativeElement.parentNode&&this.renderer.removeChild(t.elementRef.nativeElement.parentNode,t.elementRef.nativeElement)}}keyNavActions(t,e){const n=Array.from(this.elementRef.nativeElement.querySelectorAll(".nav-link"));if(13===t.keyCode||"Enter"===t.key||32===t.keyCode||"Space"===t.key)return t.preventDefault(),void n[e%n.length].click();if(39!==t.keyCode&&"RightArrow"!==t.key)if(37!==t.keyCode&&"LeftArrow"!==t.key)if(36!==t.keyCode&&"Home"!==t.key)if(35!==t.keyCode&&"End"!==t.key){if((46===t.keyCode||"Delete"===t.key)&&this.tabs[e].removable){if(this.removeTab(this.tabs[e]),n[e+1])return void n[(e+1)%n.length].focus();n[n.length-1]&&n[0].focus()}}else{let a;t.preventDefault();let r=1,o=e;do{o-r<0?(o=n.length-1,a=n[o],r=0):a=n[o-r],r++}while(a.classList.contains("disabled"));a.focus()}else{let e;t.preventDefault();let a=0;do{e=n[a%n.length],a++}while(e.classList.contains("disabled"));e.focus()}else{let t,a=1,r=e;do{r-a<0?(r=n.length-1,t=n[r],a=0):t=n[r-a],a++}while(t.classList.contains("disabled"));t.focus()}else{let t,a=1;do{t=n[(e+a)%n.length],a++}while(t.classList.contains("disabled"));t.focus()}}getClosestTabIndex(t){const e=this.tabs.length;if(!e)return-1;for(let n=1;n<=e;n+=1){const e=t-n,a=t+n;if(this.tabs[e]&&!this.tabs[e].disabled)return e;if(this.tabs[a]&&!this.tabs[a].disabled)return a}return-1}hasAvailableTabs(t){const e=this.tabs.length;if(!e)return!1;for(let n=0;n<e;n+=1)if(!this.tabs[n].disabled&&n!==t)return!0;return!1}setClassMap(){this.classMap={"nav-stacked":this.vertical,"flex-column":this.vertical,"nav-justified":this.justified,[`nav-${this.type}`]:!0}}}class s{constructor(t,e,n){this.elementRef=e,this.renderer=n,this.selectTab=new a.EventEmitter,this.deselect=new a.EventEmitter,this.removed=new a.EventEmitter,this.addClass=!0,this.tabset=t,this.tabset.addTab(this)}get customClass(){return this._customClass}set customClass(t){this.customClass&&this.customClass.split(" ").forEach(t=>{this.renderer.removeClass(this.elementRef.nativeElement,t)}),this._customClass=t?t.trim():null,this.customClass&&this.customClass.split(" ").forEach(t=>{this.renderer.addClass(this.elementRef.nativeElement,t)})}get active(){return this._active}set active(t){this._active!==t&&(this.disabled&&t||!t?this._active&&!t&&(this.deselect.emit(this),this._active=t):(this._active=t,this.selectTab.emit(this),this.tabset.tabs.forEach(t=>{t!==this&&(t.active=!1)})))}ngOnInit(){this.removable=this.removable}ngOnDestroy(){this.tabset.removeTab(this,{reselect:!1,emit:!1})}}class c{constructor(t,e){e.headingRef=t}}class l{static forRoot(){return{ngModule:l,providers:[o]}}}},"2ajD":function(t,e){t.exports=function(t){return t!=t}},"2fFW":function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));let a=!1;const r={Promise:void 0,set useDeprecatedSynchronousErrorHandling(t){if(t){const t=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+t.stack)}else a&&console.log("RxJS: Back to a better error behavior. Thank you. <3");a=t},get useDeprecatedSynchronousErrorHandling(){return a}}},"2fjn":function(t,e,n){!function(t){"use strict";t.defineLocale("fr-ca",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(t,e){switch(e){default:case"M":case"Q":case"D":case"DDD":case"d":return t+(1===t?"er":"e");case"w":case"W":return t+(1===t?"re":"e")}}})}(n("wd/R"))},"2gN3":function(t,e,n){var a=n("Kz5y");t.exports=a["__core-js_shared__"]},"2oRo":function(t,e){var n=function(t){return t&&t.Math==Math&&t};t.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof global&&global)||Function("return this")()},"2uy1":function(t,e,n){"use strict";n.d(e,"a",(function(){return B}));var a=n("8Y7J"),r=n("SVse"),o=n("XNiG"),i=n("VRyK"),s=n("xgIS"),c=n("LRne"),l=n("eNwd");function d(t,e){if(1!==t.nodeType)return[];const n=t.ownerDocument.defaultView.getComputedStyle(t,null);return e?n[e]:n}function u(t){return"HTML"===t.nodeName?t:t.parentNode||t.host}function g(t){if(!t)return document.body;switch(t.nodeName){case"HTML":case"BODY":return t.ownerDocument.body;case"#document":return t.body}const{overflow:e,overflowX:n,overflowY:a}=d(t);return/(auto|scroll|overlay)/.test(String(e)+String(a)+String(n))?t:g(u(t))}const f="undefined"!=typeof window&&"undefined"!=typeof document,p=f&&!(!window.MSInputMethodContext||!document.documentMode),m=f&&!(!window.MSInputMethodContext||!/MSIE 10/.test(navigator.userAgent));function h(t){return 11===t?p:10===t?m:p||m}function b(t){if(!t)return document.documentElement;const e=h(10)?document.body:null;let n,a=t.offsetParent||null;for(;a===e&&t.nextElementSibling&&n!==t.nextElementSibling;)n=t.nextElementSibling,a=n.offsetParent;const r=a&&a.nodeName;return r&&"BODY"!==r&&"HTML"!==r?-1!==["TH","TD","TABLE"].indexOf(a.nodeName)&&"static"===d(a,"position")?b(a):a:n?n.ownerDocument.documentElement:document.documentElement}function y(t){return null!==t.parentNode?y(t.parentNode):t}function _(t,e){if(!(t&&t.nodeType&&e&&e.nodeType))return document.documentElement;const n=t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING,a=n?t:e,r=n?e:t,o=document.createRange();o.setStart(a,0),o.setEnd(r,0);const{commonAncestorContainer:i}=o;if(t!==i&&e!==i||a.contains(r))return function(t){const{nodeName:e}=t;return"BODY"!==e&&("HTML"===e||b(t.firstElementChild)===t)}(i)?i:b(i);const s=y(t);return s.host?_(s.host,e):_(t,y(e).host)}function O(t,e){const n="x"===e?"Left":"Top",a="Left"===n?"Right":"Bottom";return parseFloat(t[`border${n}Width`])+parseFloat(t[`border${a}Width`])}function v(t,e,n,a){return Math.max(e[`offset${t}`],e[`scroll${t}`],n[`client${t}`],n[`offset${t}`],n[`scroll${t}`],h(10)?parseInt(n[`offset${t}`],10)+parseInt(a[`margin${"Height"===t?"Top":"Left"}`],10)+parseInt(a[`margin${"Height"===t?"Bottom":"Right"}`],10):0)}function C(t){const e=t.body,n=t.documentElement,a=h(10)&&getComputedStyle(n);return{height:v("Height",e,n,a),width:v("Width",e,n,a)}}function P(t,e="top"){const n="top"===e?"scrollTop":"scrollLeft",a=t.nodeName;if("BODY"===a||"HTML"===a){const e=t.ownerDocument.documentElement;return(t.ownerDocument.scrollingElement||e)[n]}return t[n]}function M(t){return Object.assign({},t,{right:t.left+t.width,bottom:t.top+t.height})}function x(t){let e={};try{if(h(10)){e=t.getBoundingClientRect();const n=P(t,"top"),a=P(t,"left");e.top+=n,e.left+=a,e.bottom+=n,e.right+=a}else e=t.getBoundingClientRect()}catch(i){return}const n={left:e.left,top:e.top,width:e.right-e.left,height:e.bottom-e.top},a="HTML"===t.nodeName?C(t.ownerDocument):{};let r=t.offsetWidth-(a.width||t.clientWidth||n.right-n.left),o=t.offsetHeight-(a.height||t.clientHeight||n.bottom-n.top);if(r||o){const e=d(t);r-=O(e,"x"),o-=O(e,"y"),n.width-=r,n.height-=o}return M(n)}function w(t,e,n=!1){const a=h(10),r="HTML"===e.nodeName,o=x(t),i=x(e),s=g(t),c=d(e),l=parseFloat(c.borderTopWidth),u=parseFloat(c.borderLeftWidth);n&&r&&(i.top=Math.max(i.top,0),i.left=Math.max(i.left,0));let f=M({top:o.top-i.top-l,left:o.left-i.left-u,width:o.width,height:o.height});if(f.marginTop=0,f.marginLeft=0,!a&&r){const t=parseFloat(c.marginTop),e=parseFloat(c.marginLeft);f.top-=l-t,f.bottom-=l-t,f.left-=u-e,f.right-=u-e,f.marginTop=t,f.marginLeft=e}return(a&&!n?e.contains(s):e===s&&"BODY"!==s.nodeName)&&(f=function(t,e,n=!1){const a=P(e,"top"),r=P(e,"left"),o=n?-1:1;return t.top+=a*o,t.bottom+=a*o,t.left+=r*o,t.right+=r*o,t}(f,e)),f}function T(t){if(!t||!t.parentElement||h())return document.documentElement;let e=t.parentElement;for(;e&&"none"===d(e,"transform");)e=e.parentElement;return e||document.documentElement}function S(t,e,n=0,a,r=!1){let o={top:0,left:0};const i=r?T(t):_(t,e);if("viewport"===a)o=function(t,e=!1){const n=t.ownerDocument.documentElement,a=w(t,n),r=Math.max(n.clientWidth,window.innerWidth||0),o=Math.max(n.clientHeight,window.innerHeight||0),i=e?0:P(n),s=e?0:P(n,"left");return M({top:i-Number(a.top)+Number(a.marginTop),left:s-Number(a.left)+Number(a.marginLeft),width:r,height:o})}(i,r);else{let n;"scrollParent"===a?(n=g(u(e)),"BODY"===n.nodeName&&(n=t.ownerDocument.documentElement)):n="window"===a?t.ownerDocument.documentElement:a;const s=w(n,i,r);if("HTML"!==n.nodeName||function t(e){const n=e.nodeName;return"BODY"!==n&&"HTML"!==n&&("fixed"===d(e,"position")||t(u(e)))}(i))o=s;else{const{height:e,width:n}=C(t.ownerDocument);o.top+=s.top-s.marginTop,o.bottom=Number(e)+Number(s.top),o.left+=s.left-s.marginLeft,o.right=Number(n)+Number(s.left)}}return o.left+=n,o.top+=n,o.right-=n,o.bottom-=n,o}function k({width:t,height:e}){return t*e}function I(t,e,n,a,r=["top","bottom","right","left"],o="viewport",i=0){if(-1===t.indexOf("auto"))return t;const s=S(n,a,i,o),c={top:{width:s.width,height:e.top-s.top},right:{width:s.right-e.right,height:s.height},bottom:{width:s.width,height:s.bottom-e.bottom},left:{width:e.left-s.left,height:s.height}},l=Object.keys(c).map(t=>Object.assign({key:t},c[t],{area:k(c[t])})).sort((t,e)=>e.area-t.area);let d=l.filter(({width:t,height:e})=>t>=n.clientWidth&&e>=n.clientHeight);d=d.filter(t=>r.some(e=>e===t.key));const u=d.length>0?d[0].key:l[0].key,g=t.split(" ")[1];return n.className=n.className.replace(/bs-tooltip-auto/g,`bs-tooltip-${u}`),u+(g?`-${g}`:"")}function N(t){const e=t.ownerDocument.defaultView.getComputedStyle(t),n=parseFloat(e.marginTop||0)+parseFloat(e.marginBottom||0),a=parseFloat(e.marginLeft||0)+parseFloat(e.marginRight||0);return{width:Number(t.offsetWidth)+a,height:Number(t.offsetHeight)+n}}function R(t,e,n=null){return w(e,n?T(t):_(t,e),n)}function A(t,e,n){const a=n.split(" ")[0],r=N(t),o={width:r.width,height:r.height},i=-1!==["right","left"].indexOf(a),s=i?"top":"left",c=i?"left":"top",l=i?"height":"width",d=i?"width":"height";return o[s]=e[s]+e[l]/2-r[l]/2,o[c]=a===c?e[c]-r[d]:e[function(t){const e={left:"right",right:"left",bottom:"top",top:"bottom"};return t.replace(/left|right|bottom|top/g,t=>e[t])}(c)],o}function E(t,e){return t&&t.modifiers&&t.modifiers[e]&&t.modifiers[e].enabled}function D(t,e,n){Object.keys(e).forEach(a=>{let r="";var o;-1!==["width","height","top","right","bottom","left"].indexOf(a)&&""!==(o=e[a])&&!isNaN(parseFloat(o))&&isFinite(o)&&(r="px"),n?n.setStyle(t,a,`${String(e[a])}${r}`):t.style[a]=String(e[a])+r})}function L(t){let e=t.offsets.target;const n=t.instance.target.querySelector(".arrow");if(!n)return t;const a=-1!==["left","right"].indexOf(t.placement),r=a?"height":"width",o=a?"Top":"Left",i=o.toLowerCase(),s=a?"left":"top",c=a?"bottom":"right",l=N(n)[r];t.offsets.host[c]-l<e[i]&&(e[i]-=e[i]-(t.offsets.host[c]-l)),Number(t.offsets.host[i])+Number(l)>e[c]&&(e[i]+=Number(t.offsets.host[i])+Number(l)-Number(e[c])),e=M(e);const u=Number(t.offsets.host[i])+Number(t.offsets.host[r]/2-l/2),g=d(t.instance.target),f=parseFloat(g[`margin${o}`]),p=parseFloat(g[`border${o}Width`]);let m=u-e[i]-f-p;return m=Math.max(Math.min(e[r]-l,m),0),t.offsets.arrow={[i]:Math.round(m),[s]:""},t.instance.arrow=n,t}function q(t){if(t.offsets.target=M(t.offsets.target),!E(t.options,"flip"))return t.offsets.target=Object.assign({},t.offsets.target,A(t.instance.target,t.offsets.host,t.placement)),t;const e=S(t.instance.target,t.instance.host,0,"viewport",!1);let n=t.placement.split(" ")[0],a=t.placement.split(" ")[1]||"";const r=I("auto",t.offsets.host,t.instance.target,t.instance.host,t.options.allowedPositions),o=[n,r];return o.forEach((r,i)=>{if(n!==r||o.length===i+1)return t;n=t.placement.split(" ")[0];const s="left"===n&&Math.floor(t.offsets.target.right)>Math.floor(t.offsets.host.left)||"right"===n&&Math.floor(t.offsets.target.left)<Math.floor(t.offsets.host.right)||"top"===n&&Math.floor(t.offsets.target.bottom)>Math.floor(t.offsets.host.top)||"bottom"===n&&Math.floor(t.offsets.target.top)<Math.floor(t.offsets.host.bottom),c=Math.floor(t.offsets.target.left)<Math.floor(e.left),l=Math.floor(t.offsets.target.right)>Math.floor(e.right),d=Math.floor(t.offsets.target.top)<Math.floor(e.top),u=Math.floor(t.offsets.target.bottom)>Math.floor(e.bottom),g="left"===n&&c||"right"===n&&l||"top"===n&&d||"bottom"===n&&u,f=-1!==["top","bottom"].indexOf(n),p=f&&"left"===a&&c||f&&"right"===a&&l||!f&&"left"===a&&d||!f&&"right"===a&&u;(s||g||p)&&((s||g)&&(n=o[i+1]),p&&(a=function(t){return"right"===t?"left":"left"===t?"right":t}(a)),t.placement=n+(a?` ${a}`:""),t.offsets.target=Object.assign({},t.offsets.target,A(t.instance.target,t.offsets.host,t.placement)))}),t}function j(t){if(!E(t.options,"preventOverflow"))return t;const e="transform",n=t.instance.target.style,{top:a,left:r,[e]:o}=n;n.top="",n.left="",n[e]="";const i=S(t.instance.target,t.instance.host,0,"scrollParent",!1);n.top=a,n.left=r,n[e]=o;const s={primary(e){let n=t.offsets.target[e];return t.offsets.target[e]<i[e]&&(n=Math.max(t.offsets.target[e],i[e])),{[e]:n}},secondary(e){const n="right"===e?"left":"top";let a=t.offsets.target[n];return t.offsets.target[e]>i[e]&&(a=Math.min(t.offsets.target[n],i[e]-("right"===e?t.offsets.target.width:t.offsets.target.height))),{[n]:a}}};let c;return["left","right","top","bottom"].forEach(e=>{c=-1!==["left","top"].indexOf(e)?"primary":"secondary",t.offsets.target=Object.assign({},t.offsets.target,s[c](e))}),t}function F(t){const e=t.placement,n=e.split(" ")[0],a=e.split(" ")[1];if(a){const{host:e,target:r}=t.offsets,o=-1!==["bottom","top"].indexOf(n),i=o?"left":"top",s=o?"width":"height";t.offsets.target=Object.assign({},r,{start:{[i]:e[i]},end:{[i]:e[i]+e[s]-r[s]}}[a])}return t}class z{position(t,e,n=!0){return this.offset(t,e,!1)}offset(t,e,n=!0){return R(e,t)}positionElements(t,e,n,a,r){return[q,F,j,L].reduce((t,e)=>e(t),function(t,e,n,a){const r=R(t,e);n.match(/^(auto)*\s*(left|right|top|bottom)*$/)||n.match(/^(left|right|top|bottom)*\s*(start|end)*$/)||(n="auto");const o=!!n.match(/auto/g);let i=n.match(/auto\s(left|right|top|bottom)/)?n.split(" ")[1]||"auto":n;const s=A(t,r,i);return i=I(i,r,t,e,a?a.allowedPositions:void 0),{options:a,instance:{target:t,host:e,arrow:null},offsets:{target:s,host:r,arrow:null},positionFixed:!1,placement:i,placementAuto:o}}(e,t,n,r))}}const G=new z;class B{constructor(t,e){this.update$$=new o.a,this.positionElements=new Map,this.isDisabled=!1,Object(r.isPlatformBrowser)(e)&&(this.triggerEvent$=Object(i.a)(Object(s.a)(window,"scroll"),Object(s.a)(window,"resize"),Object(c.a)(0,l.a),this.update$$),this.triggerEvent$.subscribe(()=>{this.isDisabled||this.positionElements.forEach(e=>{!function(t,e,n,a,r,o){const i=G.positionElements(t,e,n,a,r),s=function(t){return{width:t.offsets.target.width,height:t.offsets.target.height,left:Math.floor(t.offsets.target.left),top:Math.round(t.offsets.target.top),bottom:Math.round(t.offsets.target.bottom),right:Math.floor(t.offsets.target.right)}}(i);D(e,{"will-change":"transform",top:"0px",left:"0px",transform:`translate3d(${s.left}px, ${s.top}px, 0px)`},o),i.instance.arrow&&D(i.instance.arrow,i.offsets.arrow,o),function(t,e){const n=t.instance.target;let a=n.className;t.placementAuto&&(a=a.replace(/bs-popover-auto/g,`bs-popover-${t.placement}`),a=a.replace(/bs-tooltip-auto/g,`bs-tooltip-${t.placement}`),a=a.replace(/\sauto/g,` ${t.placement}`),-1!==a.indexOf("popover")&&-1===a.indexOf("popover-auto")&&(a+=" popover-auto"),-1!==a.indexOf("tooltip")&&-1===a.indexOf("tooltip-auto")&&(a+=" tooltip-auto")),a=a.replace(/left|right|top|bottom/g,`${t.placement.split(" ")[0]}`),e?e.setAttribute(n,"class",a):n.className=a}(i,o)}(V(e.target),V(e.element),e.attachment,e.appendToBody,this.options,t.createRenderer(null,null))})}))}position(t){this.addPositionElement(t)}get event$(){return this.triggerEvent$}disable(){this.isDisabled=!0}enable(){this.isDisabled=!1}addPositionElement(t){this.positionElements.set(V(t.element),t)}calcPosition(){this.update$$.next()}deletePositionElement(t){this.positionElements.delete(V(t))}setOptions(t){this.options=t}}function V(t){return"string"==typeof t?document.querySelector(t):t instanceof a.ElementRef?t.nativeElement:t}},"2vnA":function(t,e,n){"use strict";n.d(e,"a",(function(){return Kt})),n.d(e,"b",(function(){return Zt})),n.d(e,"c",(function(){return at})),n.d(e,"d",(function(){return Q})),n.d(e,"e",(function(){return Qt}));var a=function(t,e){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)};function r(t,e){function n(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}var o=function(){return(o=Object.assign||function(t){for(var e,n=1,a=arguments.length;n<a;n++)for(var r in e=arguments[n])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t}).apply(this,arguments)};function i(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var a,r,o=n.call(t),i=[];try{for(;(void 0===e||e-- >0)&&!(a=o.next()).done;)i.push(a.value)}catch(s){r={error:s}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}return i}function s(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(i(arguments[e]));return t}var c=[];Object.freeze(c);var l={};Object.freeze(l);var d={};function u(){return"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:d}function g(){return++kt.mobxGuid}function f(t){throw p(!1,t),"X"}function p(t,e){if(!t)throw new Error("[mobx] "+(e||"An invariant failed, however the error is obfuscated because this is an production build."))}function m(t){var e=!1;return function(){if(!e)return e=!0,t.apply(this,arguments)}}var h=function(){};function b(t){return null!==t&&"object"==typeof t}function y(t){if(null===t||"object"!=typeof t)return!1;var e=Object.getPrototypeOf(t);return e===Object.prototype||null===e}function _(t,e,n){Object.defineProperty(t,e,{enumerable:!1,writable:!0,configurable:!0,value:n})}function O(t,e,n){Object.defineProperty(t,e,{enumerable:!1,writable:!1,configurable:!0,value:n})}function v(t,e){var n="isMobX"+t;return e.prototype[n]=!0,function(t){return b(t)&&!0===t[n]}}function C(t){return void 0!==u().Map&&t instanceof u().Map}function P(t){return t instanceof Set}function M(t){for(var e=[];;){var n=t.next();if(n.done)break;e.push(n.value)}return e}function x(){return"function"==typeof Symbol&&Symbol.toPrimitive||"@@toPrimitive"}function w(t){return null===t?null:"object"==typeof t?""+t:t}function T(){return"function"==typeof Symbol&&Symbol.iterator||"@@iterator"}function S(t,e){O(t,T(),e)}function k(t){return t[T()]=N,t}function I(){return"function"==typeof Symbol&&Symbol.toStringTag||"@@toStringTag"}function N(){return this}var R=function(){function t(t){void 0===t&&(t="Atom@"+g()),this.name=t,this.isPendingUnobservation=!1,this.isBeingObserved=!1,this.observers=[],this.observersIndexes={},this.diffValue=0,this.lastAccessedBy=0,this.lowestObserverState=rt.NOT_TRACKING}return t.prototype.onBecomeUnobserved=function(){},t.prototype.onBecomeObserved=function(){},t.prototype.reportObserved=function(){return Dt(this)},t.prototype.reportChanged=function(){At(),function(t){if(t.lowestObserverState!==rt.STALE){t.lowestObserverState=rt.STALE;for(var e=t.observers,n=e.length;n--;){var a=e[n];a.dependenciesState===rt.UP_TO_DATE&&(a.isTracing!==ot.NONE&&Lt(a,t),a.onBecomeStale()),a.dependenciesState=rt.STALE}}}(this),Et()},t.prototype.toString=function(){return this.name},t}(),A=v("Atom",R);function E(t,e){return t===e}var D={identity:E,structural:function(t,e){return He(t,e)},default:function(t,e){return function(t,e){return"number"==typeof t&&"number"==typeof e&&isNaN(t)&&isNaN(e)}(t,e)||E(t,e)},shallow:function(t,e){return He(t,e,1)}},L={},q={};function j(t,e){var n=e?L:q;return n[t]||(n[t]={configurable:!0,enumerable:e,get:function(){return F(this),this[t]},set:function(e){F(this),this[t]=e}})}function F(t){if(!0!==t.__mobxDidRunLazyInitializers){var e=t.__mobxDecorators;if(e)for(var n in _(t,"__mobxDidRunLazyInitializers",!0),e){var a=e[n];a.propertyCreator(t,a.prop,a.descriptor,a.decoratorTarget,a.decoratorArguments)}}}function z(t,e){return function(){var n,a=function(a,r,i,s){return!0===s?(e(a,r,i,a,n),null):(Object.prototype.hasOwnProperty.call(a,"__mobxDecorators")||_(a,"__mobxDecorators",o({},a.__mobxDecorators)),a.__mobxDecorators[r]={prop:r,propertyCreator:e,descriptor:i,decoratorTarget:a,decoratorArguments:n},j(r,t))};return G(arguments)?(n=c,a.apply(null,arguments)):(n=Array.prototype.slice.call(arguments),a)}}function G(t){return(2===t.length||3===t.length)&&"string"==typeof t[1]||4===t.length&&!0===t[3]}function B(t,e,n){return oe(t)?t:Array.isArray(t)?Q.array(t,{name:n}):y(t)?Q.object(t,void 0,{name:n}):C(t)?Q.map(t,{name:n}):P(t)?Q.set(t,{name:n}):t}function V(t){return t}function Y(t){p(t);var e=z(!0,(function(e,n,a,r,i){!function(t,e,n,a){var r=qe(t);if(ce(r)){var i=de(r,{object:t,name:e,type:"add",newValue:n});if(!i)return;n=i.newValue}n=(r.values[e]=new Mt(n,a,r.name+"."+e,!1)).value,Object.defineProperty(t,e,function(t){return je[t]||(je[t]={configurable:!0,enumerable:!0,get:function(){return this.$mobx.read(this,t)},set:function(e){this.$mobx.write(this,t,e)}})}(e)),r.keys&&r.keys.push(e),function(t,e,n,a){var r=ue(t),i=zt(),s=r||i?{type:"add",object:e,name:n,newValue:a}:null;i&&Bt(o(o({},s),{name:t.name,key:n})),r&&fe(t,s),i&&Yt()}(r,t,e,n)}(e,n,a?a.initializer?a.initializer.call(e):a.value:void 0,t)})),n=("undefined"!=typeof process&&process,e);return n.enhancer=t,n}var H={deep:!0,name:void 0,defaultDecorator:void 0};function U(t){return null==t?H:"string"==typeof t?{name:t,deep:!0}:t}function W(t){return t.defaultDecorator?t.defaultDecorator.enhancer:!1===t.deep?V:B}Object.freeze(H),Object.freeze({deep:!1,name:void 0,defaultDecorator:void 0});var K=Y(B),$=Y((function(t,e,n){return null==t?t:Be(t)||Se(t)||Re(t)||De(t)?t:Array.isArray(t)?Q.array(t,{name:n,deep:!1}):y(t)?Q.object(t,void 0,{name:n,deep:!1}):C(t)?Q.map(t,{name:n,deep:!1}):P(t)?Q.set(t,{name:n,deep:!1}):f(!1)})),Z=Y(V),J=Y((function(t,e,n){return He(t,e)?e:t})),X={box:function(t,e){arguments.length>2&&tt("box");var n=U(e);return new Mt(t,W(n),n.name,!0,n.equals)},shallowBox:function(t,e){return arguments.length>2&&tt("shallowBox"),Q.box(t,{name:e,deep:!1})},array:function(t,e){arguments.length>2&&tt("array");var n=U(e);return new Ce(t,W(n),n.name)},shallowArray:function(t,e){return arguments.length>2&&tt("shallowArray"),Q.array(t,{name:e,deep:!1})},map:function(t,e){arguments.length>2&&tt("map");var n=U(e);return new Ie(t,W(n),n.name)},shallowMap:function(t,e){return arguments.length>2&&tt("shallowMap"),Q.map(t,{name:e,deep:!1})},set:function(t,e){arguments.length>2&&tt("set");var n=U(e);return new Ee(t,W(n),n.name)},object:function(t,e,n){"string"==typeof arguments[1]&&tt("object");var a=U(n);return ne({},t,e,a)},shallowObject:function(t,e){return"string"==typeof arguments[1]&&tt("shallowObject"),Q.object(t,{},{name:e,deep:!1})},ref:Z,shallow:$,deep:K,struct:J},Q=function(t,e,n){if("string"==typeof arguments[1])return K.apply(null,arguments);if(oe(t))return t;var a=y(t)?Q.object(t,e,n):Array.isArray(t)?Q.array(t,e):C(t)?Q.map(t,e):P(t)?Q.set(t,e):t;if(a!==t)return a;f(!1)};function tt(t){f("Expected one or two arguments to observable."+t+". Did you accidentally try to use observable."+t+" as decorator?")}Object.keys(X).forEach((function(t){return Q[t]=X[t]}));var et=z(!1,(function(t,e,n,a,r){var i,s,c,l;i=t,s=e,c=o({get:n.get,set:n.set},r[0]||{}),l=qe(i),c.name=l.name+"."+s,c.context=i,l.values[s]=new xt(c),Object.defineProperty(i,s,function(t){return Fe[t]||(Fe[t]={configurable:kt.computedConfigurable,enumerable:!1,get:function(){return ze(this).read(this,t)},set:function(e){ze(this).write(this,t,e)}})}(s))})),nt=et({equals:D.structural}),at=function(t,e,n){if("string"==typeof e)return et.apply(null,arguments);if(null!==t&&"object"==typeof t&&1===arguments.length)return et.apply(null,arguments);var a="object"==typeof e?e:{};return a.get=t,a.set="function"==typeof e?e:a.set,a.name=a.name||t.name||"",new xt(a)};at.struct=nt;var rt=function(t){return t[t.NOT_TRACKING=-1]="NOT_TRACKING",t[t.UP_TO_DATE=0]="UP_TO_DATE",t[t.POSSIBLY_STALE=1]="POSSIBLY_STALE",t[t.STALE=2]="STALE",t}({}),ot=function(t){return t[t.NONE=0]="NONE",t[t.LOG=1]="LOG",t[t.BREAK=2]="BREAK",t}({}),it=function(){return function(t){this.cause=t}}();function st(t){return t instanceof it}function ct(t){switch(t.dependenciesState){case rt.UP_TO_DATE:return!1;case rt.NOT_TRACKING:case rt.STALE:return!0;case rt.POSSIBLY_STALE:for(var e=mt(!0),n=ft(),a=t.observing,r=a.length,o=0;o<r;o++){var i=a[o];if(wt(i)){if(kt.disableErrorBoundaries)i.get();else try{i.get()}catch(s){return pt(n),ht(e),!0}if(t.dependenciesState===rt.STALE)return pt(n),ht(e),!0}}return bt(t),pt(n),ht(e),!1}}function lt(t){var e=t.observers.length>0;kt.computationDepth>0&&e&&f(!1),kt.allowStateChanges||!e&&"strict"!==kt.enforceActions||f(!1)}function dt(t,e,n){var a=mt(!0);bt(t),t.newObserving=new Array(t.observing.length+100),t.unboundDepsCount=0,t.runId=++kt.runId;var r,o=kt.trackingDerivation;if(kt.trackingDerivation=t,!0===kt.disableErrorBoundaries)r=e.call(n);else try{r=e.call(n)}catch(i){r=new it(i)}return kt.trackingDerivation=o,function(t){for(var e=t.observing,n=t.observing=t.newObserving,a=rt.UP_TO_DATE,r=0,o=t.unboundDepsCount,i=0;i<o;i++)0===(s=n[i]).diffValue&&(s.diffValue=1,r!==i&&(n[r]=s),r++),s.dependenciesState>a&&(a=s.dependenciesState);for(n.length=r,t.newObserving=null,o=e.length;o--;)0===(s=e[o]).diffValue&&Nt(s,t),s.diffValue=0;for(;r--;){var s;1===(s=n[r]).diffValue&&(s.diffValue=0,It(s,t))}a!==rt.UP_TO_DATE&&(t.dependenciesState=a,t.onBecomeStale())}(t),ht(a),r}function ut(t){var e=t.observing;t.observing=[];for(var n=e.length;n--;)Nt(e[n],t);t.dependenciesState=rt.NOT_TRACKING}function gt(t){var e=ft(),n=t();return pt(e),n}function ft(){var t=kt.trackingDerivation;return kt.trackingDerivation=null,t}function pt(t){kt.trackingDerivation=t}function mt(t){var e=kt.allowStateReads;return kt.allowStateReads=t,e}function ht(t){kt.allowStateReads=t}function bt(t){if(t.dependenciesState!==rt.UP_TO_DATE){t.dependenciesState=rt.UP_TO_DATE;for(var e=t.observing,n=e.length;n--;)e[n].lowestObserverState=rt.UP_TO_DATE}}var yt=0,_t=1;function Ot(t,e){var n=function(){return vt(t,e,this,arguments)};return n.isMobxAction=!0,n}function vt(t,e,n,a){var r=function(t,e,n){var a=zt()&&!!t,r=0;if(a){r=Date.now();var o=n&&n.length||0,i=new Array(o);if(o>0)for(var s=0;s<o;s++)i[s]=n[s];Bt({type:"action",name:t,object:e,arguments:i})}var c=ft();At();var l={prevDerivation:c,prevAllowStateChanges:Ct(!0),prevAllowStateReads:mt(!0),notifySpy:a,startTime:r,actionId:_t++,parentActionId:yt};return yt=l.actionId,l}(t,n,a);try{return e.apply(n,a)}catch(o){throw r.error=o,o}finally{!function(t){yt!==t.actionId&&f("invalid action stack. did you forget to finish an action?"),yt=t.parentActionId,void 0!==t.error&&(kt.suppressReactionErrors=!0),Pt(t.prevAllowStateChanges),ht(t.prevAllowStateReads),Et(),pt(t.prevDerivation),t.notifySpy&&Yt({time:Date.now()-t.startTime}),kt.suppressReactionErrors=!1}(r)}}function Ct(t){var e=kt.allowStateChanges;return kt.allowStateChanges=t,e}function Pt(t){kt.allowStateChanges=t}Object.getOwnPropertyDescriptor((function(){}),"name");var Mt=function(t){function e(e,n,a,r,o){void 0===a&&(a="ObservableValue@"+g()),void 0===r&&(r=!0),void 0===o&&(o=D.default);var i=t.call(this,a)||this;return i.enhancer=n,i.name=a,i.equals=o,i.hasUnreportedChange=!1,i.value=n(e,void 0,a),r&&zt()&&Gt({type:"create",name:i.name,newValue:""+i.value}),i}return r(e,t),e.prototype.dehanceValue=function(t){return void 0!==this.dehancer?this.dehancer(t):t},e.prototype.set=function(t){var e=this.value;if((t=this.prepareNewValue(t))!==kt.UNCHANGED){var n=zt();n&&Bt({type:"update",name:this.name,newValue:t,oldValue:e}),this.setNewValue(t),n&&Yt()}},e.prototype.prepareNewValue=function(t){if(lt(this),ce(this)){var e=de(this,{object:this,type:"update",newValue:t});if(!e)return kt.UNCHANGED;t=e.newValue}return t=this.enhancer(t,this.value,this.name),this.equals(this.value,t)?kt.UNCHANGED:t},e.prototype.setNewValue=function(t){var e=this.value;this.value=t,this.reportChanged(),ue(this)&&fe(this,{type:"update",object:this,newValue:t,oldValue:e})},e.prototype.get=function(){return this.reportObserved(),this.dehanceValue(this.value)},e.prototype.intercept=function(t){return le(this,t)},e.prototype.observe=function(t,e){return e&&t({object:this,type:"update",newValue:this.value,oldValue:void 0}),ge(this,t)},e.prototype.toJSON=function(){return this.get()},e.prototype.toString=function(){return this.name+"["+this.value+"]"},e.prototype.valueOf=function(){return w(this.get())},e}(R);Mt.prototype[x()]=Mt.prototype.valueOf,v("ObservableValue",Mt);var xt=function(){function t(t){this.dependenciesState=rt.NOT_TRACKING,this.observing=[],this.newObserving=null,this.isBeingObserved=!1,this.isPendingUnobservation=!1,this.observers=[],this.observersIndexes={},this.diffValue=0,this.runId=0,this.lastAccessedBy=0,this.lowestObserverState=rt.UP_TO_DATE,this.unboundDepsCount=0,this.__mapid="#"+g(),this.value=new it(null),this.isComputing=!1,this.isRunningSetter=!1,this.isTracing=ot.NONE,p(t.get,"missing option for computed: get"),this.derivation=t.get,this.name=t.name||"ComputedValue@"+g(),t.set&&(this.setter=Ot(this.name+"-setter",t.set)),this.equals=t.equals||(t.compareStructural||t.struct?D.structural:D.default),this.scope=t.context,this.requiresReaction=!!t.requiresReaction,this.keepAlive=!!t.keepAlive}return t.prototype.onBecomeStale=function(){!function(t){if(t.lowestObserverState===rt.UP_TO_DATE){t.lowestObserverState=rt.POSSIBLY_STALE;for(var e=t.observers,n=e.length;n--;){var a=e[n];a.dependenciesState===rt.UP_TO_DATE&&(a.dependenciesState=rt.POSSIBLY_STALE,a.isTracing!==ot.NONE&&Lt(a,t),a.onBecomeStale())}}}(this)},t.prototype.onBecomeUnobserved=function(){},t.prototype.onBecomeObserved=function(){},t.prototype.get=function(){this.isComputing&&f("Cycle detected in computation "+this.name+": "+this.derivation),0!==kt.inBatch||0!==this.observers.length||this.keepAlive?(Dt(this),ct(this)&&this.trackAndCompute()&&function(t){if(t.lowestObserverState!==rt.STALE){t.lowestObserverState=rt.STALE;for(var e=t.observers,n=e.length;n--;){var a=e[n];a.dependenciesState===rt.POSSIBLY_STALE?a.dependenciesState=rt.STALE:a.dependenciesState===rt.UP_TO_DATE&&(t.lowestObserverState=rt.UP_TO_DATE)}}}(this)):ct(this)&&(this.warnAboutUntrackedRead(),At(),this.value=this.computeValue(!1),Et());var t=this.value;if(st(t))throw t.cause;return t},t.prototype.peek=function(){var t=this.computeValue(!1);if(st(t))throw t.cause;return t},t.prototype.set=function(t){if(this.setter){p(!this.isRunningSetter,"The setter of computed value '"+this.name+"' is trying to update itself. Did you intend to update an _observable_ value, instead of the computed property?"),this.isRunningSetter=!0;try{this.setter.call(this.scope,t)}finally{this.isRunningSetter=!1}}else p(!1,!1)},t.prototype.trackAndCompute=function(){zt()&&Gt({object:this.scope,type:"compute",name:this.name});var t=this.value,e=this.dependenciesState===rt.NOT_TRACKING,n=this.computeValue(!0),a=e||st(t)||st(n)||!this.equals(t,n);return a&&(this.value=n),a},t.prototype.computeValue=function(t){var e;if(this.isComputing=!0,kt.computationDepth++,t)e=dt(this,this.derivation,this.scope);else if(!0===kt.disableErrorBoundaries)e=this.derivation.call(this.scope);else try{e=this.derivation.call(this.scope)}catch(n){e=new it(n)}return kt.computationDepth--,this.isComputing=!1,e},t.prototype.suspend=function(){this.keepAlive||(ut(this),this.value=void 0)},t.prototype.observe=function(t,e){var n=this,a=!0,r=void 0;return Zt((function(){var o=n.get();if(!a||e){var i=ft();t({type:"update",object:n,newValue:o,oldValue:r}),pt(i)}a=!1,r=o}))},t.prototype.warnAboutUntrackedRead=function(){},t.prototype.toJSON=function(){return this.get()},t.prototype.toString=function(){return this.name+"["+this.derivation.toString()+"]"},t.prototype.valueOf=function(){return w(this.get())},t}();xt.prototype[x()]=xt.prototype.valueOf;var wt=v("ComputedValue",xt),Tt=function(){return function(){this.version=5,this.UNCHANGED={},this.trackingDerivation=null,this.computationDepth=0,this.runId=0,this.mobxGuid=0,this.inBatch=0,this.pendingUnobservations=[],this.pendingReactions=[],this.isRunningReactions=!1,this.allowStateChanges=!0,this.allowStateReads=!0,this.enforceActions=!1,this.spyListeners=[],this.globalReactionErrorHandlers=[],this.computedRequiresReaction=!1,this.reactionRequiresObservable=!1,this.observableRequiresReaction=!1,this.computedConfigurable=!1,this.disableErrorBoundaries=!1,this.suppressReactionErrors=!1}}(),St=!0,kt=function(){var t=u();return t.__mobxInstanceCount>0&&!t.__mobxGlobals&&(St=!1),t.__mobxGlobals&&t.__mobxGlobals.version!==(new Tt).version&&(St=!1),St?t.__mobxGlobals?(t.__mobxInstanceCount+=1,t.__mobxGlobals.UNCHANGED||(t.__mobxGlobals.UNCHANGED={}),t.__mobxGlobals):(t.__mobxInstanceCount=1,t.__mobxGlobals=new Tt):(setTimeout((function(){f("There are multiple, different versions of MobX active. Make sure MobX is loaded only once or use `configure({ isolateGlobalState: true })`")}),1),new Tt)}();function It(t,e){var n=t.observers.length;n&&(t.observersIndexes[e.__mapid]=n),t.observers[n]=e,t.lowestObserverState>e.dependenciesState&&(t.lowestObserverState=e.dependenciesState)}function Nt(t,e){if(1===t.observers.length)t.observers.length=0,Rt(t);else{var n=t.observers,a=t.observersIndexes,r=n.pop();if(r!==e){var o=a[e.__mapid]||0;o?a[r.__mapid]=o:delete a[r.__mapid],n[o]=r}delete a[e.__mapid]}}function Rt(t){!1===t.isPendingUnobservation&&(t.isPendingUnobservation=!0,kt.pendingUnobservations.push(t))}function At(){kt.inBatch++}function Et(){if(0==--kt.inBatch){jt();for(var t=kt.pendingUnobservations,e=0;e<t.length;e++){var n=t[e];n.isPendingUnobservation=!1,0===n.observers.length&&(n.isBeingObserved&&(n.isBeingObserved=!1,n.onBecomeUnobserved()),n instanceof xt&&n.suspend())}kt.pendingUnobservations=[]}}function Dt(t){var e=kt.trackingDerivation;return null!==e?(e.runId!==t.lastAccessedBy&&(t.lastAccessedBy=e.runId,e.newObserving[e.unboundDepsCount++]=t,t.isBeingObserved||(t.isBeingObserved=!0,t.onBecomeObserved())),!0):(0===t.observers.length&&kt.inBatch>0&&Rt(t),!1)}function Lt(t,e){if(console.log("[mobx.trace] '"+t.name+"' is invalidated due to a change in: '"+e.name+"'"),t.isTracing===ot.BREAK){var n=[];!function t(e,n,a){n.length>=1e3?n.push("(and many more)"):(n.push(""+new Array(a).join("\t")+e.name),e.dependencies&&e.dependencies.forEach((function(e){return t(e,n,a+1)})))}((a=t,ae(Ve(a,void 0))),n,1),new Function("debugger;\n/*\nTracing '"+t.name+"'\n\nYou are entering this break point because derivation '"+t.name+"' is being traced and '"+e.name+"' is now forcing it to update.\nJust follow the stacktrace you should now see in the devtools to see precisely what piece of your code is causing this update\nThe stackframe you are looking for is at least ~6-8 stack-frames up.\n\n"+(t instanceof xt?t.derivation.toString().replace(/[*]\//g,"/"):"")+"\n\nThe dependencies for this derivation are:\n\n"+n.join("\n")+"\n*/\n    ")()}var a}var qt=function(){function t(t,e,n,a){void 0===t&&(t="Reaction@"+g()),void 0===a&&(a=!1),this.name=t,this.onInvalidate=e,this.errorHandler=n,this.requiresObservable=a,this.observing=[],this.newObserving=[],this.dependenciesState=rt.NOT_TRACKING,this.diffValue=0,this.runId=0,this.unboundDepsCount=0,this.__mapid="#"+g(),this.isDisposed=!1,this._isScheduled=!1,this._isTrackPending=!1,this._isRunning=!1,this.isTracing=ot.NONE}return t.prototype.onBecomeStale=function(){this.schedule()},t.prototype.schedule=function(){this._isScheduled||(this._isScheduled=!0,kt.pendingReactions.push(this),jt())},t.prototype.isScheduled=function(){return this._isScheduled},t.prototype.runReaction=function(){if(!this.isDisposed){if(At(),this._isScheduled=!1,ct(this)){this._isTrackPending=!0;try{this.onInvalidate(),this._isTrackPending&&zt()&&Gt({name:this.name,type:"scheduled-reaction"})}catch(t){this.reportExceptionInDerivation(t)}}Et()}},t.prototype.track=function(t){At();var e,n=zt();n&&(e=Date.now(),Bt({name:this.name,type:"reaction"})),this._isRunning=!0;var a=dt(this,t,void 0);this._isRunning=!1,this._isTrackPending=!1,this.isDisposed&&ut(this),st(a)&&this.reportExceptionInDerivation(a.cause),n&&Yt({time:Date.now()-e}),Et()},t.prototype.reportExceptionInDerivation=function(t){var e=this;if(this.errorHandler)this.errorHandler(t,this);else{if(kt.disableErrorBoundaries)throw t;var n="[mobx] Encountered an uncaught exception that was thrown by a reaction or observer component, in: '"+this+"'";kt.suppressReactionErrors?console.warn("[mobx] (error in reaction '"+this.name+"' suppressed, fix error of causing action below)"):console.error(n,t),zt()&&Gt({type:"error",name:this.name,message:n,error:""+t}),kt.globalReactionErrorHandlers.forEach((function(n){return n(t,e)}))}},t.prototype.dispose=function(){this.isDisposed||(this.isDisposed=!0,this._isRunning||(At(),ut(this),Et()))},t.prototype.getDisposer=function(){var t=this.dispose.bind(this);return t.$mobx=this,t},t.prototype.toString=function(){return"Reaction["+this.name+"]"},t.prototype.trace=function(t){void 0===t&&(t=!1),function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=!1;"boolean"==typeof t[t.length-1]&&(n=t.pop());var a=ie(t);if(!a)return f(!1);a.isTracing===ot.NONE&&console.log("[mobx.trace] '"+a.name+"' tracing enabled"),a.isTracing=n?ot.BREAK:ot.LOG}(this,t)},t}();function jt(){kt.inBatch>0||kt.isRunningReactions||function(){kt.isRunningReactions=!0;for(var t=kt.pendingReactions,e=0;t.length>0;){100==++e&&(console.error("Reaction doesn't converge to a stable state after 100 iterations. Probably there is a cycle in the reactive function: "+t[0]),t.splice(0));for(var n=t.splice(0),a=0,r=n.length;a<r;a++)n[a].runReaction()}kt.isRunningReactions=!1}()}var Ft=v("Reaction",qt);function zt(){return!!kt.spyListeners.length}function Gt(t){if(kt.spyListeners.length)for(var e=kt.spyListeners,n=0,a=e.length;n<a;n++)e[n](t)}function Bt(t){Gt(o(o({},t),{spyReportStart:!0}))}var Vt={spyReportEnd:!0};function Yt(t){Gt(t?o(o({},t),{spyReportEnd:!0}):Vt)}function Ht(){f(!1)}function Ut(t){return function(e,n,a){if(a){if(a.value)return{value:Ot(t,a.value),enumerable:!1,configurable:!0,writable:!0};var r=a.initializer;return{enumerable:!1,configurable:!0,writable:!0,initializer:function(){return Ot(t,r.call(this))}}}return Wt(t).apply(this,arguments)}}function Wt(t){return function(e,n,a){Object.defineProperty(e,n,{configurable:!0,enumerable:!1,get:function(){},set:function(e){_(this,n,Kt(t,e))}})}}var Kt=function(t,e,n,a){return 1===arguments.length&&"function"==typeof t?Ot(t.name||"<unnamed action>",t):2===arguments.length&&"function"==typeof e?Ot(t,e):1===arguments.length&&"string"==typeof t?Ut(t):!0!==a?Ut(e).apply(null,arguments):void(t[e]=Ot(t.name||e,n.value))};function $t(t,e,n){_(t,e,Ot(e,n.bind(t)))}function Zt(t,e){void 0===e&&(e=l);var n,a=e&&e.name||t.name||"Autorun@"+g();if(e.scheduler||e.delay){var r=Xt(e),o=!1;n=new qt(a,(function(){o||(o=!0,r((function(){o=!1,n.isDisposed||n.track(i)})))}),e.onError,e.requiresObservable)}else n=new qt(a,(function(){this.track(i)}),e.onError,e.requiresObservable);function i(){t(n)}return n.schedule(),n.getDisposer()}Kt.bound=function(t,e,n,a){return!0===a?($t(t,e,n.value),null):n?{configurable:!0,enumerable:!1,get:function(){return $t(this,e,n.value||n.initializer.call(this)),this[e]},set:Ht}:{enumerable:!1,configurable:!0,set:function(t){$t(this,e,t)},get:function(){}}};var Jt=function(t){return t()};function Xt(t){return t.scheduler?t.scheduler:t.delay?function(e){return setTimeout(e,t.delay)}:Jt}function Qt(t,e,n){void 0===n&&(n=l),"boolean"==typeof n&&(n={fireImmediately:n});var a,r,o,i=n.name||"Reaction@"+g(),s=Kt(i,n.onError?(a=n.onError,r=e,function(){try{return r.apply(this,arguments)}catch(t){a.call(this,t)}}):e),c=!n.scheduler&&!n.delay,d=Xt(n),u=!0,f=!1,p=n.compareStructural?D.structural:n.equals||D.default,m=new qt(i,(function(){u||c?h():f||(f=!0,d(h))}),n.onError,n.requiresObservable);function h(){if(f=!1,!m.isDisposed){var e=!1;m.track((function(){var n=t(m);e=u||!p(o,n),o=n})),u&&n.fireImmediately&&s(o,m),u||!0!==e||s(o,m),u&&(u=!1)}}return m.schedule(),m.getDisposer()}function te(t,e,n){return ee("onBecomeUnobserved",t,e,n)}function ee(t,e,n,a){var r="function"==typeof a?Ve(e,n):Ve(e),o="function"==typeof a?a:n,i=r[t];return"function"!=typeof i?f(!1):(r[t]=function(){i.call(this),o.call(this)},function(){r[t]=i})}function ne(t,e,n,a){var r=(a=U(a)).defaultDecorator||(!1===a.deep?Z:K);F(t),qe(t,a.name,r.enhancer),At();try{for(var o in e){var i=Object.getOwnPropertyDescriptor(e,o),s=(n&&o in n?n[o]:i.get?et:r)(t,o,i,!0);s&&Object.defineProperty(t,o,s)}}finally{Et()}return t}function ae(t){var e,n,a={name:t.name};return t.observing&&t.observing.length>0&&(a.dependencies=(e=t.observing,n=[],e.forEach((function(t){-1===n.indexOf(t)&&n.push(t)})),n).map(ae)),a}function re(t,e){if(null==t)return!1;if(void 0!==e){if(Be(t)){var n=t.$mobx;return n.values&&!!n.values[e]}return!1}return Be(t)||!!t.$mobx||A(t)||Ft(t)||wt(t)}function oe(t){return 1!==arguments.length&&f(!1),re(t)}function ie(t){switch(t.length){case 0:return kt.trackingDerivation;case 1:return Ve(t[0]);case 2:return Ve(t[0],t[1])}}function se(t,e){void 0===e&&(e=void 0),At();try{return t.apply(e)}finally{Et()}}function ce(t){return void 0!==t.interceptors&&t.interceptors.length>0}function le(t,e){var n=t.interceptors||(t.interceptors=[]);return n.push(e),m((function(){var t=n.indexOf(e);-1!==t&&n.splice(t,1)}))}function de(t,e){var n=ft();try{var a=t.interceptors;if(a)for(var r=0,o=a.length;r<o&&(p(!(e=a[r](e))||e.type,"Intercept handlers should return nothing or a change object"),e);r++);return e}finally{pt(n)}}function ue(t){return void 0!==t.changeListeners&&t.changeListeners.length>0}function ge(t,e){var n=t.changeListeners||(t.changeListeners=[]);return n.push(e),m((function(){var t=n.indexOf(e);-1!==t&&n.splice(t,1)}))}function fe(t,e){var n=ft(),a=t.changeListeners;if(a){for(var r=0,o=(a=a.slice()).length;r<o;r++)a[r](e);pt(n)}}Object.create(Error.prototype);var pe,me,he,be,ye=(pe=!1,me={},Object.defineProperty(me,"0",{set:function(){pe=!0}}),Object.create(me)[0]=1,!1===pe),_e=0,Oe=function(){return function(){}}();he=Oe,be=Array.prototype,void 0!==Object.setPrototypeOf?Object.setPrototypeOf(he.prototype,be):void 0!==he.prototype.__proto__?he.prototype.__proto__=be:he.prototype=be,Object.isFrozen(Array)&&["constructor","push","shift","concat","pop","unshift","replace","find","findIndex","splice","reverse","sort"].forEach((function(t){Object.defineProperty(Oe.prototype,t,{configurable:!0,writable:!0,value:Array.prototype[t]})}));var ve=function(){function t(t,e,n,a){this.array=n,this.owned=a,this.values=[],this.lastKnownLength=0,this.atom=new R(t||"ObservableArray@"+g()),this.enhancer=function(n,a){return e(n,a,t+"[..]")}}return t.prototype.dehanceValue=function(t){return void 0!==this.dehancer?this.dehancer(t):t},t.prototype.dehanceValues=function(t){return void 0!==this.dehancer&&t.length>0?t.map(this.dehancer):t},t.prototype.intercept=function(t){return le(this,t)},t.prototype.observe=function(t,e){return void 0===e&&(e=!1),e&&t({object:this.array,type:"splice",index:0,added:this.values.slice(),addedCount:this.values.length,removed:[],removedCount:0}),ge(this,t)},t.prototype.getArrayLength=function(){return this.atom.reportObserved(),this.values.length},t.prototype.setArrayLength=function(t){if("number"!=typeof t||t<0)throw new Error("[mobx.array] Out of range: "+t);var e=this.values.length;if(t!==e)if(t>e){for(var n=new Array(t-e),a=0;a<t-e;a++)n[a]=void 0;this.spliceWithArray(e,0,n)}else this.spliceWithArray(t,e-t)},t.prototype.updateArrayLength=function(t,e){if(t!==this.lastKnownLength)throw new Error("[mobx] Modification exception: the internal structure of an observable array was changed. Did you use peek() to change it?");this.lastKnownLength+=e,e>0&&t+e+1>_e&&we(t+e+1)},t.prototype.spliceWithArray=function(t,e,n){var a=this;lt(this.atom);var r=this.values.length;if(void 0===t?t=0:t>r?t=r:t<0&&(t=Math.max(0,r+t)),e=1===arguments.length?r-t:null==e?0:Math.max(0,Math.min(e,r-t)),void 0===n&&(n=c),ce(this)){var o=de(this,{object:this.array,type:"splice",index:t,removedCount:e,added:n});if(!o)return c;e=o.removedCount,n=o.added}var i=(n=0===n.length?n:n.map((function(t){return a.enhancer(t,void 0)}))).length-e;this.updateArrayLength(r,i);var s=this.spliceItemsIntoValues(t,e,n);return 0===e&&0===n.length||this.notifyArraySplice(t,n,s),this.dehanceValues(s)},t.prototype.spliceItemsIntoValues=function(t,e,n){var a;if(n.length<1e4)return(a=this.values).splice.apply(a,s([t,e],n));var r=this.values.slice(t,t+e);return this.values=this.values.slice(0,t).concat(n,this.values.slice(t+e)),r},t.prototype.notifyArrayChildUpdate=function(t,e,n){var a=!this.owned&&zt(),r=ue(this),i=r||a?{object:this.array,type:"update",index:t,newValue:e,oldValue:n}:null;a&&Bt(o(o({},i),{name:this.atom.name})),this.atom.reportChanged(),r&&fe(this,i),a&&Yt()},t.prototype.notifyArraySplice=function(t,e,n){var a=!this.owned&&zt(),r=ue(this),i=r||a?{object:this.array,type:"splice",index:t,removed:n,added:e,removedCount:n.length,addedCount:e.length}:null;a&&Bt(o(o({},i),{name:this.atom.name})),this.atom.reportChanged(),r&&fe(this,i),a&&Yt()},t}(),Ce=function(t){function e(e,n,a,r){void 0===a&&(a="ObservableArray@"+g()),void 0===r&&(r=!1);var o=t.call(this)||this,i=new ve(a,n,o,r);if(O(o,"$mobx",i),e&&e.length){var s=Ct(!0);o.spliceWithArray(0,0,e),Pt(s)}return ye&&Object.defineProperty(i.array,"0",Pe),o}return r(e,t),e.prototype.intercept=function(t){return this.$mobx.intercept(t)},e.prototype.observe=function(t,e){return void 0===e&&(e=!1),this.$mobx.observe(t,e)},e.prototype.clear=function(){return this.splice(0)},e.prototype.concat=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return this.$mobx.atom.reportObserved(),Array.prototype.concat.apply(this.peek(),t.map((function(t){return Se(t)?t.peek():t})))},e.prototype.replace=function(t){return this.$mobx.spliceWithArray(0,this.$mobx.values.length,t)},e.prototype.toJS=function(){return this.slice()},e.prototype.toJSON=function(){return this.toJS()},e.prototype.peek=function(){return this.$mobx.atom.reportObserved(),this.$mobx.dehanceValues(this.$mobx.values)},e.prototype.find=function(t,e,n){void 0===n&&(n=0);var a=this.findIndex.apply(this,arguments);return-1===a?void 0:this.get(a)},e.prototype.findIndex=function(t,e,n){void 0===n&&(n=0);for(var a=this.peek(),r=a.length,o=n;o<r;o++)if(t.call(e,a[o],o,this))return o;return-1},e.prototype.splice=function(t,e){for(var n=[],a=2;a<arguments.length;a++)n[a-2]=arguments[a];switch(arguments.length){case 0:return[];case 1:return this.$mobx.spliceWithArray(t);case 2:return this.$mobx.spliceWithArray(t,e)}return this.$mobx.spliceWithArray(t,e,n)},e.prototype.spliceWithArray=function(t,e,n){return this.$mobx.spliceWithArray(t,e,n)},e.prototype.push=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=this.$mobx;return n.spliceWithArray(n.values.length,0,t),n.values.length},e.prototype.pop=function(){return this.splice(Math.max(this.$mobx.values.length-1,0),1)[0]},e.prototype.shift=function(){return this.splice(0,1)[0]},e.prototype.unshift=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=this.$mobx;return n.spliceWithArray(0,0,t),n.values.length},e.prototype.reverse=function(){var t=this.slice();return t.reverse.apply(t,arguments)},e.prototype.sort=function(t){var e=this.slice();return e.sort.apply(e,arguments)},e.prototype.remove=function(t){var e=this.$mobx.dehanceValues(this.$mobx.values).indexOf(t);return e>-1&&(this.splice(e,1),!0)},e.prototype.move=function(t,e){function n(t){if(t<0)throw new Error("[mobx.array] Index out of bounds: "+t+" is negative");var e=this.$mobx.values.length;if(t>=e)throw new Error("[mobx.array] Index out of bounds: "+t+" is not smaller than "+e)}if(n.call(this,t),n.call(this,e),t!==e){var a,r=this.$mobx.values;a=t<e?s(r.slice(0,t),r.slice(t+1,e+1),[r[t]],r.slice(e+1)):s(r.slice(0,e),[r[t]],r.slice(e,t),r.slice(t+1)),this.replace(a)}},e.prototype.get=function(t){var e=this.$mobx;if(e){if(t<e.values.length)return e.atom.reportObserved(),e.dehanceValue(e.values[t]);console.warn("[mobx.array] Attempt to read an array index ("+t+") that is out of bounds ("+e.values.length+"). Please check length first. Out of bound indices will not be tracked by MobX")}},e.prototype.set=function(t,e){var n=this.$mobx,a=n.values;if(t<a.length){lt(n.atom);var r=a[t];if(ce(n)){var o=de(n,{type:"update",object:this,index:t,newValue:e});if(!o)return;e=o.newValue}(e=n.enhancer(e,r))!==r&&(a[t]=e,n.notifyArrayChildUpdate(t,e,r))}else{if(t!==a.length)throw new Error("[mobx.array] Index out of bounds, "+t+" is larger than "+a.length);n.spliceWithArray(t,0,[e])}},e}(Oe);S(Ce.prototype,(function(){this.$mobx.atom.reportObserved();var t=this,e=0;return k({next:function(){return e<t.length?{value:t[e++],done:!1}:{done:!0,value:void 0}}})})),Object.defineProperty(Ce.prototype,"length",{enumerable:!1,configurable:!0,get:function(){return this.$mobx.getArrayLength()},set:function(t){this.$mobx.setArrayLength(t)}}),_(Ce.prototype,I(),"Array"),["every","filter","forEach","indexOf","join","lastIndexOf","map","reduce","reduceRight","slice","some","toString","toLocaleString"].forEach((function(t){var e=Array.prototype[t];p("function"==typeof e,"Base function not defined on Array prototype: '"+t+"'"),_(Ce.prototype,t,(function(){return e.apply(this.peek(),arguments)}))})),function(t,e){for(var n=0;n<e.length;n++)_(t,e[n],t[e[n]])}(Ce.prototype,["constructor","intercept","observe","clear","concat","get","replace","toJS","toJSON","peek","find","findIndex","splice","spliceWithArray","push","pop","set","shift","unshift","reverse","sort","remove","move","toString","toLocaleString"]);var Pe=Me(0);function Me(t){return{enumerable:!1,configurable:!1,get:function(){return this.get(t)},set:function(e){this.set(t,e)}}}function xe(t){Object.defineProperty(Ce.prototype,""+t,Me(t))}function we(t){for(var e=_e;e<t;e++)xe(e);_e=t}we(1e3);var Te=v("ObservableArrayAdministration",ve);function Se(t){return b(t)&&Te(t.$mobx)}var ke={},Ie=function(){function t(t,e,n){if(void 0===e&&(e=B),void 0===n&&(n="ObservableMap@"+g()),this.enhancer=e,this.name=n,this.$mobx=ke,this._keys=new Ce(void 0,V,this.name+".keys()",!0),"function"!=typeof Map)throw new Error("mobx.map requires Map polyfill for the current browser. Check babel-polyfill or core-js/es6/map.js");this._data=new Map,this._hasMap=new Map,this.merge(t)}return t.prototype._has=function(t){return this._data.has(t)},t.prototype.has=function(t){var e=this;if(!kt.trackingDerivation)return this._has(t);var n=this._hasMap.get(t);if(!n){var a=n=new Mt(this._has(t),V,this.name+"."+Ne(t)+"?",!1);this._hasMap.set(t,a),te(a,(function(){return e._hasMap.delete(t)}))}return n.get()},t.prototype.set=function(t,e){var n=this._has(t);if(ce(this)){var a=de(this,{type:n?"update":"add",object:this,newValue:e,name:t});if(!a)return this;e=a.newValue}return n?this._updateValue(t,e):this._addValue(t,e),this},t.prototype.delete=function(t){var e=this;if(ce(this)&&!(r=de(this,{type:"delete",object:this,name:t})))return!1;if(this._has(t)){var n=zt(),a=ue(this),r=a||n?{type:"delete",object:this,oldValue:this._data.get(t).value,name:t}:null;return n&&Bt(o(o({},r),{name:this.name,key:t})),se((function(){e._keys.remove(t),e._updateHasMapEntry(t,!1),e._data.get(t).setNewValue(void 0),e._data.delete(t)})),a&&fe(this,r),n&&Yt(),!0}return!1},t.prototype._updateHasMapEntry=function(t,e){var n=this._hasMap.get(t);n&&n.setNewValue(e)},t.prototype._updateValue=function(t,e){var n=this._data.get(t);if((e=n.prepareNewValue(e))!==kt.UNCHANGED){var a=zt(),r=ue(this),i=r||a?{type:"update",object:this,oldValue:n.value,name:t,newValue:e}:null;a&&Bt(o(o({},i),{name:this.name,key:t})),n.setNewValue(e),r&&fe(this,i),a&&Yt()}},t.prototype._addValue=function(t,e){var n=this;se((function(){var a=new Mt(e,n.enhancer,n.name+"."+Ne(t),!1);n._data.set(t,a),e=a.value,n._updateHasMapEntry(t,!0),n._keys.push(t)}));var a=zt(),r=ue(this),i=r||a?{type:"add",object:this,name:t,newValue:e}:null;a&&Bt(o(o({},i),{name:this.name,key:t})),r&&fe(this,i),a&&Yt()},t.prototype.get=function(t){return this.has(t)?this.dehanceValue(this._data.get(t).get()):this.dehanceValue(void 0)},t.prototype.dehanceValue=function(t){return void 0!==this.dehancer?this.dehancer(t):t},t.prototype.keys=function(){return this._keys[T()]()},t.prototype.values=function(){var t=this,e=0;return k({next:function(){return e<t._keys.length?{value:t.get(t._keys[e++]),done:!1}:{value:void 0,done:!0}}})},t.prototype.entries=function(){var t=this,e=0;return k({next:function(){if(e<t._keys.length){var n=t._keys[e++];return{value:[n,t.get(n)],done:!1}}return{done:!0}}})},t.prototype.forEach=function(t,e){var n=this;this._keys.forEach((function(a){return t.call(e,n.get(a),a,n)}))},t.prototype.merge=function(t){var e=this;return Re(t)&&(t=t.toJS()),se((function(){y(t)?Object.keys(t).forEach((function(n){return e.set(n,t[n])})):Array.isArray(t)?t.forEach((function(t){var n=i(t,2);return e.set(n[0],n[1])})):C(t)?t.constructor!==Map?f("Cannot initialize from classes that inherit from Map: "+t.constructor.name):t.forEach((function(t,n){return e.set(n,t)})):null!=t&&f("Cannot initialize map from "+t)})),this},t.prototype.clear=function(){var t=this;se((function(){gt((function(){t._keys.slice().forEach((function(e){return t.delete(e)}))}))}))},t.prototype.replace=function(t){var e=this;return se((function(){for(var n,a=C(n=t)||Re(n)?n:Array.isArray(n)?new Map(n):y(n)?new Map(Object.entries(n)):f("Cannot convert to map from '"+n+"'"),r=e._keys,o=Array.from(a.keys()),i=!1,s=0;s<r.length;s++){var c=r[s];r.length===o.length&&c!==o[s]&&(i=!0),a.has(c)||(i=!0,e.delete(c))}a.forEach((function(t,n){e._data.has(n)||(i=!0),e.set(n,t)})),i&&e._keys.replace(o)})),this},Object.defineProperty(t.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),t.prototype.toPOJO=function(){var t=this,e={};return this._keys.forEach((function(n){return e["symbol"==typeof n?n:Ne(n)]=t.get(n)})),e},t.prototype.toJS=function(){var t=this,e=new Map;return this._keys.forEach((function(n){return e.set(n,t.get(n))})),e},t.prototype.toJSON=function(){return this.toPOJO()},t.prototype.toString=function(){var t=this;return this.name+"[{ "+this._keys.map((function(e){return Ne(e)+": "+t.get(e)})).join(", ")+" }]"},t.prototype.observe=function(t,e){return ge(this,t)},t.prototype.intercept=function(t){return le(this,t)},t}();function Ne(t){return t&&t.toString?t.toString():new String(t).toString()}S(Ie.prototype,(function(){return this.entries()})),O(Ie.prototype,I(),"Map");var Re=v("ObservableMap",Ie),Ae={},Ee=function(){function t(t,e,n){if(void 0===e&&(e=B),void 0===n&&(n="ObservableSet@"+g()),this.name=n,this.$mobx=Ae,this._data=new Set,this._atom=function(t,e,n){void 0===e&&(e=h),void 0===n&&(n=h);var a=new R(t);return ee("onBecomeObserved",a,e,void 0),te(a,n),a}(this.name),"function"!=typeof Set)throw new Error("mobx.set requires Set polyfill for the current browser. Check babel-polyfill or core-js/es6/set.js");this.enhancer=function(t,a){return e(t,a,n)},t&&this.replace(t)}return t.prototype.dehanceValue=function(t){return void 0!==this.dehancer?this.dehancer(t):t},t.prototype.clear=function(){var t=this;se((function(){gt((function(){t._data.forEach((function(e){t.delete(e)}))}))}))},t.prototype.forEach=function(t,e){var n=this;this._data.forEach((function(a){t.call(e,a,a,n)}))},Object.defineProperty(t.prototype,"size",{get:function(){return this._atom.reportObserved(),this._data.size},enumerable:!0,configurable:!0}),t.prototype.add=function(t){var e=this;if(lt(this._atom),ce(this)&&!(r=de(this,{type:"add",object:this,newValue:t})))return this;if(!this.has(t)){se((function(){e._data.add(e.enhancer(t,void 0)),e._atom.reportChanged()}));var n=zt(),a=ue(this),r=a||n?{type:"add",object:this,newValue:t}:null;a&&fe(this,r)}return this},t.prototype.delete=function(t){var e=this;if(ce(this)&&!(r=de(this,{type:"delete",object:this,oldValue:t})))return!1;if(this.has(t)){var n=zt(),a=ue(this),r=a||n?{type:"delete",object:this,oldValue:t}:null;return se((function(){e._atom.reportChanged(),e._data.delete(t)})),a&&fe(this,r),!0}return!1},t.prototype.has=function(t){return this._atom.reportObserved(),this._data.has(this.dehanceValue(t))},t.prototype.entries=function(){var t=0,e=M(this.keys()),n=M(this.values());return k({next:function(){var a=t;return t+=1,a<n.length?{value:[e[a],n[a]],done:!1}:{done:!0}}})},t.prototype.keys=function(){return this.values()},t.prototype.values=function(){this._atom.reportObserved();var t,e=this,n=0;return void 0!==this._data.values?t=M(this._data.values()):(t=[],this._data.forEach((function(e){return t.push(e)}))),k({next:function(){return n<t.length?{value:e.dehanceValue(t[n++]),done:!1}:{done:!0}}})},t.prototype.replace=function(t){var e=this;return De(t)&&(t=t.toJS()),se((function(){Array.isArray(t)?(e.clear(),t.forEach((function(t){return e.add(t)}))):P(t)?(e.clear(),t.forEach((function(t){return e.add(t)}))):null!=t&&f("Cannot initialize set from "+t)})),this},t.prototype.observe=function(t,e){return ge(this,t)},t.prototype.intercept=function(t){return le(this,t)},t.prototype.toJS=function(){return new Set(this)},t.prototype.toString=function(){return this.name+"[ "+M(this.keys()).join(", ")+" ]"},t}();S(Ee.prototype,(function(){return this.values()})),O(Ee.prototype,I(),"Set");var De=v("ObservableSet",Ee),Le=function(){function t(t,e,n){this.target=t,this.name=e,this.defaultEnhancer=n,this.values={}}return t.prototype.read=function(t,e){if(this.target===t||(this.illegalAccess(t,e),this.values[e]))return this.values[e].get()},t.prototype.write=function(t,e,n){var a=this.target;a!==t&&this.illegalAccess(t,e);var r=this.values[e];if(r instanceof xt)r.set(n);else{if(ce(this)){if(!(c=de(this,{type:"update",object:a,name:e,newValue:n})))return;n=c.newValue}if((n=r.prepareNewValue(n))!==kt.UNCHANGED){var i=ue(this),s=zt(),c=i||s?{type:"update",object:a,oldValue:r.value,name:e,newValue:n}:null;s&&Bt(o(o({},c),{name:this.name,key:e})),r.setNewValue(n),i&&fe(this,c),s&&Yt()}}},t.prototype.remove=function(t){if(this.values[t]){var e=this.target;if(ce(this)&&!(i=de(this,{object:e,name:t,type:"remove"})))return;try{At();var n=ue(this),a=zt(),r=this.values[t].get();this.keys&&this.keys.remove(t),delete this.values[t],delete this.target[t];var i=n||a?{type:"remove",object:e,oldValue:r,name:t}:null;a&&Bt(o(o({},i),{name:this.name,key:t})),n&&fe(this,i),a&&Yt()}finally{Et()}}},t.prototype.illegalAccess=function(t,e){console.warn("Property '"+e+"' of '"+t+"' was accessed through the prototype chain. Use 'decorate' instead to declare the prop or access it statically through it's owner")},t.prototype.observe=function(t,e){return ge(this,t)},t.prototype.intercept=function(t){return le(this,t)},t.prototype.getKeys=function(){var t=this;return void 0===this.keys&&(this.keys=new Ce(Object.keys(this.values).filter((function(e){return t.values[e]instanceof Mt})),V,"keys("+this.name+")",!0)),this.keys.slice()},t}();function qe(t,e,n){void 0===e&&(e=""),void 0===n&&(n=B);var a=t.$mobx;return a||(y(t)||(e=(t.constructor.name||"ObservableObject")+"@"+g()),e||(e="ObservableObject@"+g()),O(t,"$mobx",a=new Le(t,e,n)),a)}var je=Object.create(null),Fe=Object.create(null);function ze(t){return t.$mobx||(F(t),t.$mobx)}var Ge=v("ObservableObjectAdministration",Le);function Be(t){return!!b(t)&&(F(t),Ge(t.$mobx))}function Ve(t,e){if("object"==typeof t&&null!==t){if(Se(t))return void 0!==e&&f(!1),t.$mobx.atom;if(De(t))return t.$mobx;if(Re(t)){var n=t;return void 0===e?Ve(n._keys):((a=n._data.get(e)||n._hasMap.get(e))||f(!1),a)}var a;if(F(t),Be(t))return e?((a=t.$mobx.values[e])||f(!1),a):f(!1);if(A(t)||wt(t)||Ft(t))return t}else if("function"==typeof t&&Ft(t.$mobx))return t.$mobx;return f(!1)}var Ye=Object.prototype.toString;function He(t,e,n){return void 0===n&&(n=-1),function t(e,n,a,r,o){if(e===n)return 0!==e||1/e==1/n;if(null==e||null==n)return!1;if(e!=e)return n!=n;var i=typeof e;if("function"!==i&&"object"!==i&&"object"!=typeof n)return!1;e=Ue(e),n=Ue(n);var s=Ye.call(e);if(s!==Ye.call(n))return!1;switch(s){case"[object RegExp]":case"[object String]":return""+e==""+n;case"[object Number]":return+e!=+e?+n!=+n:0==+e?1/+e==1/n:+e==+n;case"[object Date]":case"[object Boolean]":return+e==+n;case"[object Symbol]":return"undefined"!=typeof Symbol&&Symbol.valueOf.call(e)===Symbol.valueOf.call(n)}var c="[object Array]"===s;if(!c){if("object"!=typeof e||"object"!=typeof n)return!1;var l=e.constructor,d=n.constructor;if(l!==d&&!("function"==typeof l&&l instanceof l&&"function"==typeof d&&d instanceof d)&&"constructor"in e&&"constructor"in n)return!1}if(0===a)return!1;a<0&&(a=-1),o=o||[];for(var u=(r=r||[]).length;u--;)if(r[u]===e)return o[u]===n;if(r.push(e),o.push(n),c){if((u=e.length)!==n.length)return!1;for(;u--;)if(!t(e[u],n[u],a-1,r,o))return!1}else{var g=Object.keys(e),f=void 0;if(u=g.length,Object.keys(n).length!==u)return!1;for(;u--;)if(!We(n,f=g[u])||!t(e[f],n[f],a-1,r,o))return!1}return r.pop(),o.pop(),!0}(t,e,n)}function Ue(t){return Se(t)?t.peek():C(t)||Re(t)?M(t.entries()):P(t)||De(t)?M(t.entries()):t}function We(t,e){return Object.prototype.hasOwnProperty.call(t,e)}"object"==typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__&&__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({spy:function(t){return kt.spyListeners.push(t),m((function(){kt.spyListeners=kt.spyListeners.filter((function(e){return e!==t}))}))},extras:{getDebugName:function(t,e){return(void 0!==e?Ve(t,e):Be(t)||Re(t)||De(t)?function t(e,n){return e||f("Expecting some object"),void 0!==n?t(Ve(e,n)):A(e)||wt(e)||Ft(e)?e:Re(e)||De(e)?e:(F(e),e.$mobx?e.$mobx:void f(!1))}(t):Ve(t)).name}},$mobx:"$mobx"})},"2ykv":function(t,e,n){!function(t){"use strict";var e="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),n="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),a=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],r=/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;t.defineLocale("nl-be",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(t,a){return t?/-MMM-/.test(a)?n[t.month()]:e[t.month()]:e},monthsRegex:r,monthsShortRegex:r,monthsStrictRegex:/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(t){return t+(1===t||8===t||t>=20?"ste":"de")},week:{dow:1,doy:4}})}(n("wd/R"))},"3+CB":function(t,e,n){"use strict";n.r(e),e.default='<xliff xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 http://docs.oasis-open.org/xliff/v1.2/os/xliff-core-1.2-strict.xsd" xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">\n  <file original="ng2.template" datatype="plaintext" source-language="en-US" target-language="ko-KR">\n    <body>\n      <trans-unit id="319e0745bcbc132451569294fa2fa21bf10f555a" datatype="html">\n        <source>Toggle navigation</source>\n        <target>네비게이션 전환</target>\n      </trans-unit>\n      <trans-unit id="f65253954b66e929a8b4d5ecaf61f9129f8cec64" datatype="html">\n        <source>Dashboard</source>\n        <target>현황판</target>\n      </trans-unit>\n      <trans-unit id="f4d1dd59b039ad818d9da7e29a773e10e41d9821" datatype="html">\n        <source>Cluster</source>\n        <target>클러스터</target>\n      </trans-unit>\n      <trans-unit id="099b441d49333b3c6d30b36dc0a4763e64c78920" datatype="html">\n        <source>Hosts</source>\n        <target>호스트들</target>\n      </trans-unit>\n      <trans-unit id="2cc3ecb16e348fcf2f2fbfd2f997d4d22f37475b" datatype="html">\n        <source>Inventory</source>\n        <target>Inventory</target>\n      </trans-unit>\n      <trans-unit id="624f596cc3320f5e0a0d7c7346c364e5af9bdd8c" datatype="html">\n        <source>Monitors</source>\n        <target>모니터들</target>\n      </trans-unit>\n      <trans-unit id="419d940613972cc3fae9c8ea0a4306dbf80616e5" datatype="html">\n        <source>Services</source>\n        <target>서비스들</target>\n      </trans-unit>\n      <trans-unit id="1a9183778f2c6473d7ccb080f651caa01faaf70c" datatype="html">\n        <source>OSDs</source>\n        <target>OSD들</target>\n      </trans-unit>\n      <trans-unit id="4a41f824a35ba01d5bd7be61aa06b3e8145209d0" datatype="html">\n        <source>Configuration</source>\n        <target>설정</target>\n      </trans-unit>\n      <trans-unit id="8c95898abff46bfac3ed6eb2afef74597e60b15c" datatype="html">\n        <source>CRUSH map</source>\n        <target>크러쉬맵</target>\n      </trans-unit>\n      <trans-unit id="33da4dbeb076159510801ea764a218fd341269d2" datatype="html">\n        <source>Manager modules</source>\n        <target>메니저 모듈들</target>\n      </trans-unit>\n      <trans-unit id="eb3d5aefff38a814b76da74371cbf02c0789a1ef" datatype="html">\n        <source>Logs</source>\n        <target>로그들</target>\n      </trans-unit>\n      <trans-unit id="17fc3efe5f9fa4e0289c900cb6202265215a1a27" datatype="html">\n        <source>Monitoring</source>\n        <target>Monitoring</target>\n      </trans-unit>\n      <trans-unit id="92899fa68e8ca108912163ff58edc8540e453787" datatype="html">\n        <source>Pools</source>\n        <target>풀들</target>\n      </trans-unit>\n      <trans-unit id="7f5d0c10614e8a34f0e2dad33a0568277c50cf69" datatype="html">\n        <source>Block</source>\n        <target>블럭</target>\n      </trans-unit>\n      <trans-unit id="b73f7f5060fb22a1e9ec462b1bb02493fa3ab866" datatype="html">\n        <source>Images</source>\n        <target>이미지들</target>\n      </trans-unit>\n      <trans-unit id="3c2562ba992127203dcfd014010b03cb7b8113c6" datatype="html">\n        <source>Mirroring</source>\n        <target>미러링</target>\n      </trans-unit>\n      <trans-unit id="811c241d56601b91ef26735b770e64428089b950" datatype="html">\n        <source>iSCSI</source>\n        <target>iSCSI</target>\n      </trans-unit>\n      <trans-unit id="a24eabd99ea5af20f5f94c4484649cd30370042b" datatype="html">\n        <source>NFS</source>\n        <target>NFS</target>\n      </trans-unit>\n      <trans-unit id="a4eff72d97b7ced051398d581f10968218057ddc" datatype="html">\n        <source>Filesystems</source>\n        <target>파일시스템들</target>\n      </trans-unit>\n      <trans-unit id="2190548d236ca5f7bc7ab2bca334b860c5ff2ad4" datatype="html">\n        <source>Object Gateway</source>\n        <target>오브젝트게이트웨이</target>\n      </trans-unit>\n      <trans-unit id="9e24f9e2d42104ffc01599db4d566d1cc518f9e6" datatype="html">\n        <source>Daemons</source>\n        <target>데몬들</target>\n      </trans-unit>\n      <trans-unit id="4d13a9cd5ed3dcee0eab22cb25198d43886942be" datatype="html">\n        <source>Users</source>\n        <target>사용자</target>\n      </trans-unit>\n      <trans-unit id="9515520496da83179d8b08132f00f575512a1f40" datatype="html">\n        <source>Buckets</source>\n        <target>버킷들</target>\n      </trans-unit>\n      <trans-unit id="797f8214e8148f4bf0d244baaa7341706b419549" datatype="html">\n        <source>Retrieving data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>. Please wait...\n        </source>\n        <target>Retrieving data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>. Please wait...\n        </target>\n      </trans-unit>\n      <trans-unit id="5a870dc77b9f6f33ee671ea2d856021276933339" datatype="html">\n        <source>Displaying previously cached data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>\n  for \n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n        </source>\n        <target>Displaying previously cached data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>\n  for \n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="ae580202919844531361ba2308287226ff74a584" datatype="html">\n        <source>Could not load data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n  Please check the cluster health.\n        </source>\n        <target>Could not load data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n  Please check the cluster health.\n        </target>\n      </trans-unit>\n      <trans-unit id="7e52e9143145e1db5146258de81eae018a407b31" datatype="html">\n        <source>Clear notifications</source>\n        <target>Clear notifications</target>\n      </trans-unit>\n      <trans-unit id="b0b07bb6b7ff21ede439dd04eaf8872d1ecb84d8" datatype="html">\n        <source>Remove notification</source>\n        <target>Remove notification</target>\n      </trans-unit>\n      <trans-unit id="e17a1d75189da843f541f7764f188f2b19a97df2" datatype="html">\n        <source>Duration:</source>\n        <target>Duration:</target>\n      </trans-unit>\n      <trans-unit id="0d4b37c6675c5b436a54c43d6716eec835e1aa7f" datatype="html">\n        <source>There are no notifications.</source>\n        <target>There are no notifications.</target>\n      </trans-unit>\n      <trans-unit id="0a23e992f6c6e169a38b2b7338b4e5e803b52e0d" datatype="html">\n        <source>Tasks and Notifications</source>\n        <target>Tasks and Notifications</target>\n      </trans-unit>\n      <trans-unit id="3fb5709e10166cbc85970cbff103db227dbeb813" datatype="html">\n        <source>Select a Language</source>\n        <target>언어선택</target>\n      </trans-unit>\n      <trans-unit id="c5109325fb160b543f71a51e7511c00575057431" datatype="html">\n        <source>Loading panel data...</source>\n        <target>패널 데이타 로딩 중...</target>\n      </trans-unit>\n      <trans-unit id="8ca12411f890ab8b0a9216418e2b8f5ea7d2441a" datatype="html">\n        <source>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the monitoring functionality.\n        </source>\n        <target>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the monitoring functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="160a9e80dc089792df42e2400b1e81b9e7025aa7" datatype="html">\n        <source>Grafana Dashboard doesn\'t exist. Please refer to\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  add dashboards to Grafana.\n        </source>\n        <target>Grafana Dashboard doesn\'t exist. Please refer to\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  add dashboards to Grafana.\n        </target>\n      </trans-unit>\n      <trans-unit id="4e11830040bd64804a0555de76f291d5832772d4" datatype="html">\n        <source>Grafana Time Picker</source>\n        <target>그라파나 타임 픽커</target>\n      </trans-unit>\n      <trans-unit id="238c1ba845dd7330e8088165275919a1debf1ca3" datatype="html">\n        <source>Reset Settings</source>\n        <target>설정 초기화</target>\n      </trans-unit>\n      <trans-unit id="c8d1785038d461ec66b5799db21864182b35900a" datatype="html">\n        <source>Refresh</source>\n        <target>Refresh</target>\n      </trans-unit>\n      <trans-unit id="6c947210e2d162b6225083d18820ab602f58cd2d" datatype="html">\n        <source>Remove the custom configuration value. The default configuration will be inherited and used instead.</source>\n        <target>Remove the custom configuration value. The default configuration will be inherited and used instead.</target>\n      </trans-unit>\n      <trans-unit id="454ee9cb60b00446a8fb147fd2cc5eb836320586" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ option.maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ option.maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="7fc8a22825131e028336f60ef909ccbd96059703" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ option.minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ option.minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="cda31dbd724cf5f4fa7a4274d9120651490c8a8c" datatype="html">\n        <source>Back</source>\n        <target>뒤로</target>\n      </trans-unit>\n      <trans-unit id="9ce641535be1ffa106c87724ba0637facaef5f61" datatype="html">\n        <source>Your password will expire in \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>less than 1\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day. Click\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.\n        </source>\n        <target>Your password will expire in \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>less than 1\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day. Click\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.\n        </target>\n      </trans-unit>\n      <trans-unit id="c2f34088c155e40ffb23770a465a65868ce772b2" datatype="html">\n        <source>Your password will expire in \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ expirationDays }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day(s). Click\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.\n        </source>\n        <target>Your password will expire in \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ expirationDays }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day(s). Click\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.\n        </target>\n      </trans-unit>\n      <trans-unit id="9b516f972c744779257310b73f6e97438b726707" datatype="html">\n        <source>Orchestrator is not available. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the functionality.\n        </source>\n        <target>Orchestrator is not available. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="012741ee52b3c050e4a977c37cc2334f7974f141" datatype="html">\n        <source>Failed to load data.</source>\n        <target>데이타 로딩 실폐</target>\n      </trans-unit>\n      <trans-unit id="1e5e23363e949f7dcbaf034bdb141a561132a10e" datatype="html">\n        <source>Clear filters</source>\n        <target>Clear filters</target>\n      </trans-unit>\n      <trans-unit id="80cc9a12d4bf6fe454ed94b379eeaf915f920bb7" datatype="html">\n        <source>selected</source>\n        <target>선택된</target>\n        <note>X selected</note>\n      </trans-unit>\n      <trans-unit id="0cb77511a9a148e05b9adf36cc07269956fbb29d" datatype="html">\n        <source>found</source>\n        <target>발견된</target>\n        <note>X found</note>\n      </trans-unit>\n      <trans-unit id="79347388740c50b7ac97e144c2494bb62912f312" datatype="html">\n        <source>total</source>\n        <target>전체</target>\n        <note>X total</note>\n      </trans-unit>\n      <trans-unit id="cff1428d10d59d14e45edec3c735a27b5482db59" datatype="html">\n        <source>Name</source>\n        <target>이름</target>\n      </trans-unit>\n      <trans-unit id="eec715de352a6b114713b30b640d319fa78207a0" datatype="html">\n        <source>Description</source>\n        <target>설명</target>\n      </trans-unit>\n      <trans-unit id="4ad112ce9bcd55dfd137792a86afe1b5a5b13cf8" datatype="html">\n        <source>Long description</source>\n        <target>자세한 설명</target>\n      </trans-unit>\n      <trans-unit id="ff7cee38a2259526c519f878e71b964f41db4348" datatype="html">\n        <source>Default</source>\n        <target>기본값</target>\n      </trans-unit>\n      <trans-unit id="33e1c1d9fc05ca3f62fcc8a1170fc31ebae4229c" datatype="html">\n        <source>Daemon default</source>\n        <target>데모 기본값</target>\n      </trans-unit>\n      <trans-unit id="809b0c848932a41318f77a2aace904ef429c13f4" datatype="html">\n        <source>Values</source>\n        <target>값들</target>\n      </trans-unit>\n      <trans-unit id="5894f7158499fdb89527af50c9f1cf7d4c95cad6" datatype="html">\n        <source>-- Default --</source>\n        <target>-- Default --</target>\n      </trans-unit>\n      <trans-unit id="514f6e12d035a6d9b00de6b3e55c18b73488da07" datatype="html">\n        <source>true</source>\n        <target>true</target>\n      </trans-unit>\n      <trans-unit id="774f5e6a183dea08393789b6f72e86afad729419" datatype="html">\n        <source>false</source>\n        <target>false</target>\n      </trans-unit>\n      <trans-unit id="82029b6db704c56a2aa3e82ac555b8655356b077" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8ed8b3967a7326b81b191c9f490006e6a6777a9a" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="52c9a103b812f258bcddc3d90a6e3f46871d25fe" datatype="html">\n        <source>Save</source>\n        <target>저장하기</target>\n      </trans-unit>\n      <trans-unit id="738de688b22fba5d0dc7a5e549996838dddad0ee" datatype="html">\n        <source>CRUSH map viewer</source>\n        <target>크러쉬맵 보기</target>\n      </trans-unit>\n      <trans-unit id="94516fa213706c67ce5a5b5765681d7fb032033a" datatype="html">\n        <source>Loading...</source>\n        <target>로딩중...</target>\n      </trans-unit>\n      <trans-unit id="formTitle" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </target>\n        <note>form title</note>\n      </trans-unit>\n      <trans-unit id="9a541ec1a4319fffc16ad3b3ab2c2b6d251a829d" datatype="html">\n        <source>Hostname</source>\n        <target>호스트이름</target>\n      </trans-unit>\n      <trans-unit id="7cbdabcece469fab89cfa687ab152bca18b97498" datatype="html">\n        <source>This field is required.</source>\n        <target>이 필드는 필수적입니다.</target>\n      </trans-unit>\n      <trans-unit id="1b3f5e5291541678f7afa49d28fad5ca848a8061" datatype="html">\n        <source>The chosen hostname is already in use.</source>\n        <target>The chosen hostname is already in use.</target>\n      </trans-unit>\n      <trans-unit id="formActionButton" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </target>\n        <note>form action button</note>\n      </trans-unit>\n      <trans-unit id="6110699a3562eeb15371063c0cf7f6bfd88a0209" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemNames[0] }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemNames[0] }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>?\n        </target>\n      </trans-unit>\n      <trans-unit id="549859e511ba5af0ea03fcaa620c472f08038969" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected items?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected items?\n        </target>\n      </trans-unit>\n      <trans-unit id="54839ebc827b73c9dc4e1df731c6d36a85036af7" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected \n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected \n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>?\n        </target>\n      </trans-unit>\n      <trans-unit id="2be8b7f04f0104d3fad90d079d8202b74f758b9a" datatype="html">\n        <source>Yes, I am sure.</source>\n        <target>예, 확실합니다.</target>\n      </trans-unit>\n      <trans-unit id="d7b35c384aecd25a516200d6921836374613dfe7" datatype="html">\n        <source>Cancel</source>\n        <target>취소</target>\n      </trans-unit>\n      <trans-unit id="55a2f26b2e87886d9b8015a887e38e51ab2a866a" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8" datatype="html">\n        <source>Close</source>\n        <target>닫기</target>\n      </trans-unit>\n      <trans-unit id="40661476cb24c89d8b06614998e31d5fbe84eeb6" datatype="html">\n        <source>Hosts List</source>\n        <target>호스트 목록들</target>\n      </trans-unit>\n      <trans-unit id="5e7f4b1ca49e8d217bd0e12c6f7d6b6a2ade2c18" datatype="html">\n        <source>Overall Performance</source>\n        <target>통합 성능치</target>\n      </trans-unit>\n      <trans-unit id="3e24569eca61d598c8b01defbbbb1fa8bd5222bc" datatype="html">\n        <source>Devices</source>\n        <target>Devices</target>\n      </trans-unit>\n      <trans-unit id="e6d57f36aa2bad303c8a8ee944b9bd7fae3c8c26" datatype="html">\n        <source>No entries found</source>\n        <target>항목들을 찾을 수 없음</target>\n      </trans-unit>\n      <trans-unit id="d556ab48a65722b400e497f61737f553ee0f89e2" datatype="html">\n        <source>Cluster Logs</source>\n        <target>클러스터 로그들</target>\n      </trans-unit>\n      <trans-unit id="5f966baffd188be0e8adc2d7067b86e55fc9b9de" datatype="html">\n        <source>Audit Logs</source>\n        <target>감사 로그들</target>\n      </trans-unit>\n      <trans-unit id="4193c9eb868aeec119b78a14795241e0aa5e8b60" datatype="html">\n        <source>Priority:</source>\n        <target>Priority:</target>\n      </trans-unit>\n      <trans-unit id="1d78ca51eab260ce3fd917d39190d64df5229b6e" datatype="html">\n        <source>Keyword:</source>\n        <target>Keyword:</target>\n      </trans-unit>\n      <trans-unit id="05fa0bded36de6e73a1fa44838b627349dace044" datatype="html">\n        <source>Date:</source>\n        <target>Date:</target>\n      </trans-unit>\n      <trans-unit id="31dadb362bf7f7c2afa10e5f96474ccd3977f91f" datatype="html">\n        <source>Datepicker</source>\n        <target>Datepicker</target>\n      </trans-unit>\n      <trans-unit id="85a400388de1899b1917138cf7e5286376f72847" datatype="html">\n        <source>Time range:</source>\n        <target>Time range:</target>\n      </trans-unit>\n      <trans-unit id="2447796ddbda942f4e2c46619cb84d69f066e568" datatype="html">\n        <source>Loading configuration...</source>\n        <target>설정 로딩 중</target>\n      </trans-unit>\n      <trans-unit id="b42c0b347a841bed8859ee83de05080ee28c803b" datatype="html">\n        <source>The configuration could not be loaded.</source>\n        <target>설정을 로드할 수 없습니다.</target>\n      </trans-unit>\n      <trans-unit id="31a9c2870a934b594d1390146c489f76440859ea" datatype="html">\n        <source>Edit Manager module</source>\n        <target>관리모듈 편집하기</target>\n      </trans-unit>\n      <trans-unit id="46e09b8290d3d0afdb6baa2021395b0570606a31" datatype="html">\n        <source>The entered value is not a valid UUID, e.g.: 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8</source>\n        <target>입력된 값이 유효한 UUID가 아닙니다, 예.: 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8</target>\n      </trans-unit>\n      <trans-unit id="7aacd038b39cfd347107d01d1dc27f5cb3e0951c" datatype="html">\n        <source>The entered value needs to be a valid IP address.</source>\n        <target>입력된 값은 유효한 IP주소 여야 합니다.</target>\n      </trans-unit>\n      <trans-unit id="f19106149f4b07a0d721f9d317afed393cb7bd93" datatype="html">\n        <source>The entered value is too high! It must be lower or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.max }}"/>.\n        </source>\n        <target>The entered value is too high! It must be lower or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.max }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="6d33c40ef9a6c3bf0888df831b25e41e65f9d15b" datatype="html">\n        <source>The entered value is too low! It must be greater or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.min }}"/>.\n        </source>\n        <target>The entered value is too low! It must be greater or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.min }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="eae7086660cf1e38c7194a2c49ff52cc656f90f5" datatype="html">\n        <source>The entered value needs to be a number.</source>\n        <target>입력된 값은 적어도 하나의 숫자를 필요로 합니다.</target>\n      </trans-unit>\n      <trans-unit id="a73376e04b4fb3a20734c8c39743fba32e6676ce" datatype="html">\n        <source>The entered value needs to be a number or decimal.</source>\n        <target>입력 된 값은 숫자 또는 십진수여야 합니다.</target>\n      </trans-unit>\n      <trans-unit id="047f50bc5b5d17b5bec0196355953e1a5c590ddb" datatype="html">\n        <source>Update</source>\n        <target>갱신</target>\n      </trans-unit>\n      <trans-unit id="81b97b8ea996ad1e4f9fca8415021850214884b1" datatype="html">\n        <source>Status</source>\n        <target>상태</target>\n      </trans-unit>\n      <trans-unit id="57ec6032f5618d4a9f16eb950ad23d2ce7c24b54" datatype="html">\n        <source>Cluster ID</source>\n        <target>클러스터 ID</target>\n      </trans-unit>\n      <trans-unit id="67d7facc3fec5f8a49ab9ba0a245872184264ce5" datatype="html">\n        <source>monmap modified</source>\n        <target>몬맵 변경시간</target>\n      </trans-unit>\n      <trans-unit id="d4906731aaf2b94b4f547646c9bfe58bb77951b6" datatype="html">\n        <source>monmap epoch</source>\n        <target>몬맵 변경번호</target>\n      </trans-unit>\n      <trans-unit id="bd4ee06ffdc46d9dfbd0c0c4f81399021c680056" datatype="html">\n        <source>quorum con</source>\n        <target>정족수 일치번호</target>\n      </trans-unit>\n      <trans-unit id="1176c7db8a8276ccb44cc3d42e2c28d9fa6c6596" datatype="html">\n        <source>quorum mon</source>\n        <target>정족수 모니터상태</target>\n      </trans-unit>\n      <trans-unit id="530ef677a09d681b3ab68cb0760494b3ae72a77c" datatype="html">\n        <source>required con</source>\n        <target>요구되는 일치번호</target>\n      </trans-unit>\n      <trans-unit id="a91558e0d506c32021c31843f8f168899fc65cbf" datatype="html">\n        <source>required mon</source>\n        <target>요구되는 모니터상태</target>\n      </trans-unit>\n      <trans-unit id="b3abe9eac5bcd94a54c8da93b312e085ec512e74" datatype="html">\n        <source>In Quorum</source>\n        <target>정족수에 포함</target>\n      </trans-unit>\n      <trans-unit id="ba4b748a676e1f217ce1e736fb7ec1215e677bae" datatype="html">\n        <source>Not In Quorum</source>\n        <target>정족수 미포함</target>\n      </trans-unit>\n      <trans-unit id="4383e9662ea19839c7499b2128d43a195e564317" datatype="html">\n        <source>OSD creation preview</source>\n        <target>OSD creation preview</target>\n      </trans-unit>\n      <trans-unit id="366225c51e0b00bcb1c55795a0dc5e81c455f84e" datatype="html">\n        <source>DriveGroups</source>\n        <target>DriveGroups</target>\n      </trans-unit>\n      <trans-unit id="8edc89137d0d8c5667a2f03230beafae45e58429" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ deviceType }}"/> devices\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ deviceType }}"/> devices\n        </target>\n      </trans-unit>\n      <trans-unit id="eba28e1805b18f7c8ae2e4bc15dcf063b10b3822" datatype="html">\n        <source>At least one of these filters must be applied in order to proceed:</source>\n        <target>At least one of these filters must be applied in order to proceed:</target>\n      </trans-unit>\n      <trans-unit id="93389aa2fe2bea50bf89554ee51b28f87ee2fb50" datatype="html">\n        <source>Number of devices: \n          <x id="INTERPOLATION" equiv-text="{{ filteredDevices.length }}"/>. Raw capacity:\n          <x id="INTERPOLATION_1" equiv-text="{{ capacity | dimlessBinary }}"/>.\n        </source>\n        <target>Number of devices: \n          <x id="INTERPOLATION" equiv-text="{{ filteredDevices.length }}"/>. Raw capacity:\n          <x id="INTERPOLATION_1" equiv-text="{{ capacity | dimlessBinary }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="ccb4f84edc0b4e76415bb3f9b73d725b06683af3" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ name }}"/> devices\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ name }}"/> devices\n        </target>\n      </trans-unit>\n      <trans-unit id="60cb3d01e5ddf266ecb4271007a1c3d0f3efdc22" datatype="html">\n        <source>The primary storage devices. These devices contain all OSD data.</source>\n        <target>The primary storage devices. These devices contain all OSD data.</target>\n      </trans-unit>\n      <trans-unit id="b432e04886d0d1fd84f740477383051f85addcf2" datatype="html">\n        <source>Write-Ahead-Log devices. These devices are used for BlueStore’s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device.</source>\n        <target>Write-Ahead-Log devices. These devices are used for BlueStore’s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device.</target>\n      </trans-unit>\n      <trans-unit id="b87e181ab9e8393aa5ed759dd3d53836e32c8ffe" datatype="html">\n        <source>DB devices can be used for storing BlueStore’s internal metadata.  It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD).</source>\n        <target>DB devices can be used for storing BlueStore’s internal metadata.  It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD).</target>\n      </trans-unit>\n      <trans-unit id="f6755cff4957d5c3c89bafce5651f1b6fa2b1fd9" datatype="html">\n        <source>Add</source>\n        <target>추가</target>\n      </trans-unit>\n      <trans-unit id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46" datatype="html">\n        <source>Clear</source>\n        <target>Clear</target>\n      </trans-unit>\n      <trans-unit id="7e0fd3c7af0630f93befa6234a693a32a61084e0" datatype="html">\n        <source>Raw capacity: \n          <x id="INTERPOLATION" equiv-text="{{ capacity | dimlessBinary }}"/>\n        </source>\n        <target>Raw capacity: \n          <x id="INTERPOLATION" equiv-text="{{ capacity | dimlessBinary }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="43ecf6bee2aebc07b0aad6dc1fe13e38d14687fa" datatype="html">\n        <source>Shared devices</source>\n        <target>Shared devices</target>\n      </trans-unit>\n      <trans-unit id="7a1c376f6f1b37de4c318ff2106255ba6c0f5b0b" datatype="html">\n        <source>WAL slots</source>\n        <target>WAL slots</target>\n      </trans-unit>\n      <trans-unit id="73811a6f37b63e6b0e491e221bfa21e9dea8a87a" datatype="html">\n        <source>How many OSDs per WAL device.</source>\n        <target>How many OSDs per WAL device.</target>\n      </trans-unit>\n      <trans-unit id="0c67a7ac4762ef1cc855056c6b4daab93e53a0a5" datatype="html">\n        <source>Specify 0 to let Orchestrator backend decide it.</source>\n        <target>Specify 0 to let Orchestrator backend decide it.</target>\n      </trans-unit>\n      <trans-unit id="7bda9362e06e6c67341b4a8425b0d29d6b84464b" datatype="html">\n        <source>Value should be greater than or equal to 0</source>\n        <target>Value should be greater than or equal to 0</target>\n      </trans-unit>\n      <trans-unit id="324c2b10152b9dd908222bb0b71f61beb60a30c5" datatype="html">\n        <source>DB slots</source>\n        <target>DB slots</target>\n      </trans-unit>\n      <trans-unit id="c23cf12ef9c76f37fc7a4b7ae3e00fb0f68b6e26" datatype="html">\n        <source>How many OSDs per DB device.</source>\n        <target>How many OSDs per DB device.</target>\n      </trans-unit>\n      <trans-unit id="6cdb1fea93d77c07950c0c76c6e0ad79ebbef084" datatype="html">\n        <source>Features</source>\n        <target>특징들</target>\n      </trans-unit>\n      <trans-unit id="3e2a583f531f7dd9f089f68a6968e444c372c3e8" datatype="html">\n        <source>Preview</source>\n        <target>Preview</target>\n      </trans-unit>\n      <trans-unit id="5ef50ba2514414f799d4c8fc36067a251904ba81" datatype="html">\n        <source>Cluster-wide OSD Flags</source>\n        <target>클러스터-수준의 OSD 플레그들</target>\n      </trans-unit>\n      <trans-unit id="71c77bb8cecdf11ec3eead24dd1ba506573fa9cd" datatype="html">\n        <source>Submit</source>\n        <target>제출</target>\n      </trans-unit>\n      <trans-unit id="1cfe07dac5b4ee1c464eb24225ddeb4f1d24076a" datatype="html">\n        <source>Advanced...</source>\n        <target>자세한 옵션...</target>\n      </trans-unit>\n      <trans-unit id="b1ef1c12ddcee305353623919ef02778569f5454" datatype="html">\n        <source>Advanced configuration options</source>\n        <target>Advanced configuration options</target>\n      </trans-unit>\n      <trans-unit id="c35f9c5f268a514b970cc55e9a5dc4bed0988e7f" datatype="html">\n        <source>OSD Recovery Priority</source>\n        <target>OSD 복구 우선순위</target>\n      </trans-unit>\n      <trans-unit id="b74af38005e8a8914e45af2ec412e11ceafef8b6" datatype="html">\n        <source>Priority</source>\n        <target>우선순위</target>\n      </trans-unit>\n      <trans-unit id="c2f48f04b379bfba133825747adfd238d511412e" datatype="html">\n        <source>Customize priority values</source>\n        <target>우선 순위 값 맞춤 설정</target>\n      </trans-unit>\n      <trans-unit id="4aa19de2a2b54cbda39e9c62917b23044c087776" datatype="html">\n        <source>This field is required!</source>\n        <target>이 필드는 요구됩니다!</target>\n      </trans-unit>\n      <trans-unit id="b699e94bf376491bd50b70a98531071c737eaf40" datatype="html">\n        <source>[object Object]</source>\n        <target>[object Object]</target>\n      </trans-unit>\n      <trans-unit id="98fe13e7ad6c2b80375d204b47858ded83f80e15" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="5423a3c111be47fc5a1bfe46ceb58c81c84db691" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="5251a4355cece3075db43f15d69a24a0f8485707" datatype="html">\n        <source>Reweight OSD: \n          <x id="INTERPOLATION" equiv-text="{{ osdId }}"/>\n        </source>\n        <target>Reweight OSD: \n          <x id="INTERPOLATION" equiv-text="{{ osdId }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="67650b2998db48201b2c6176cbfef51e7211ccaa" datatype="html">\n        <source>The value needs to be between 0 and 1.</source>\n        <target>값은 0과 1사이어야 합니다.</target>\n      </trans-unit>\n      <trans-unit id="bc11f92113d678a90e334fdf3d7b3fddbe34c579" datatype="html">\n        <source>Reweight</source>\n        <target>재-조정</target>\n      </trans-unit>\n      <trans-unit id="d5ca5daf742023fc4f0919fb3c1c6a51991cda4f" datatype="html">\n        <source>OSDs \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>Scrub\n        </source>\n        <target>OSDs \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>Scrub\n        </target>\n      </trans-unit>\n      <trans-unit id="4c17d67c7c5799eb920030e9a399961e90f55dd8" datatype="html">\n        <source>{VAR_SELECT, select, 1 {Deep } }</source>\n        <target>{VAR_SELECT, 선택, 1 {깊이 } }</target>\n      </trans-unit>\n      <trans-unit id="fd0a4b6eed32e3488eccdc9c13f9841f08cc275e" datatype="html">\n        <source>You are about to apply a \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to\n          the OSD(s): \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ selected | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.\n        </source>\n        <target>You are about to apply a \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to\n          the OSD(s): \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ selected | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="dc6705f342a036b332c3fd3443201c3613e5524d" datatype="html">\n        <source>{VAR_SELECT, select, 1 {deep } }</source>\n        <target>{VAR_SELECT, 선택, 1 {깊이 } }</target>\n      </trans-unit>\n      <trans-unit id="b49d7877d24112d4bdfce9256edf61a007fae888" datatype="html">\n        <source>OSDs List</source>\n        <target>OSD 목록들</target>\n      </trans-unit>\n      <trans-unit id="d5707a32ba9c1138e6423498fb0b24e970ebd19f" datatype="html">\n        <source>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) \n          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </source>\n        <target>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) \n          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </target>\n      </trans-unit>\n      <trans-unit id="d08c1e4f17dffc0ed1ac2e2e2875cb8b569eeb35" datatype="html">\n        <source>The \n          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to be \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>! \n          <x id="INTERPOLATION_1" equiv-text="{{ message }}"/>\n        </source>\n        <target>The \n          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to be \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>! \n          <x id="INTERPOLATION_1" equiv-text="{{ message }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="e776996dac651ef3819bfa767ccf2a0613759f47" datatype="html">\n        <source>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</source>\n        <target>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</target>\n      </trans-unit>\n      <trans-unit id="5cd6a031937412c42e5efa1e6959cb72ac08c720" datatype="html">\n        <source>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD \n          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </source>\n        <target>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD \n          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </target>\n      </trans-unit>\n      <trans-unit id="3eda19b44809820fffd5d3753bafb7243116f4b0" datatype="html">\n        <source>To see all active Prometheus alerts, please\n      provide the URL to the API of Prometheus\' Alertmanager as described in the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </source>\n        <target>To see all active Prometheus alerts, please\n      provide the URL to the API of Prometheus\' Alertmanager as described in the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="880ad4df5a2051a437321443d69c9a866699e5ad" datatype="html">\n        <source>Active Alerts</source>\n        <target>Active Alerts</target>\n      </trans-unit>\n      <trans-unit id="8e5e0e09a11990d343926ed693574213d703c38d" datatype="html">\n        <source>All Alerts</source>\n        <target>All Alerts</target>\n      </trans-unit>\n      <trans-unit id="526938c2b7945cb0d68328c24bd77730230cd455" datatype="html">\n        <source>To enable Silences, please provide the URL to the API of the Prometheus\' Alertmanager as\n      described in the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </source>\n        <target>To enable Silences, please provide the URL to the API of the Prometheus\' Alertmanager as\n      described in the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="aa0c44aa1e5727061baa91e954f77e2f5f9a37c9" datatype="html">\n        <source>Silences</source>\n        <target>Silences</target>\n      </trans-unit>\n      <trans-unit id="8501055865d7031b5521a0c5467532648009a61d" datatype="html">\n        <source>Matcher</source>\n        <target>Matcher</target>\n      </trans-unit>\n      <trans-unit id="9c25e04f554875dc2625a78ba0fc56c6010cd0d3" datatype="html">\n        <source>-- Select an attribute to match against --</source>\n        <target>-- Select an attribute to match against --</target>\n      </trans-unit>\n      <trans-unit id="5049e204c14c648691ac775a64fb504467aeb549" datatype="html">\n        <source>Value</source>\n        <target>값</target>\n      </trans-unit>\n      <trans-unit id="77fc5c63497fc031ddc97645484e3d94ad27766c" datatype="html">\n        <source>Use regular expression</source>\n        <target>Use regular expression</target>\n      </trans-unit>\n      <trans-unit id="7bbec1a797283712c0adf9e71d77fb5a8cd720db" datatype="html">\n        <source>{VAR_SELECT, select, 1 {Update} other {Add} }</source>\n        <target>{VAR_SELECT, select, 1 {Update} other {Add} }</target>\n      </trans-unit>\n      <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c" datatype="html">\n        <source>Edit</source>\n        <target>편집</target>\n      </trans-unit>\n      <trans-unit id="826b25211922a1b46436589233cb6f1a163d89b7" datatype="html">\n        <source>Delete</source>\n        <target>삭제</target>\n      </trans-unit>\n      <trans-unit id="a3ba06aba047605af8ea1718ec1ba153b7db12a2" datatype="html">\n        <source>Editing a silence will expire the old silence and recreate it as a new silence</source>\n        <target>Editing a silence will expire the old silence and recreate it as a new silence</target>\n      </trans-unit>\n      <trans-unit id="a20424156b8816671f61879f0574a4f27d7b16b9" datatype="html">\n        <source>Creator</source>\n        <target>Creator</target>\n      </trans-unit>\n      <trans-unit id="5a5d7ee2acbfa9c91ab7f41d26bda9ff0cafe42f" datatype="html">\n        <source>Comment</source>\n        <target>Comment</target>\n      </trans-unit>\n      <trans-unit id="4c11aad490b2d53fdae30b3807beabf79306752c" datatype="html">\n        <source>Start time</source>\n        <target>Start time</target>\n      </trans-unit>\n      <trans-unit id="32856b1e8e339b747b21e313e2fe65a51fd450bb" datatype="html">\n        <source>If the start time lies in the past the creation time will be used</source>\n        <target>If the start time lies in the past the creation time will be used</target>\n      </trans-unit>\n      <trans-unit id="a02ea1d4e7424ca989929da5e598f379940fdbf2" datatype="html">\n        <source>Duration</source>\n        <target>Duration</target>\n      </trans-unit>\n      <trans-unit id="2f4e35e36f4d3c62e2c17df41730b6dee4afc4b9" datatype="html">\n        <source>End time</source>\n        <target>End time</target>\n      </trans-unit>\n      <trans-unit id="992123459137d45c15df5548bc9682aad835c04b" datatype="html">\n        <source>Matchers</source>\n        <target>Matchers</target>\n      </trans-unit>\n      <trans-unit id="3e023166c55833d5a13f4143e3dbe372befe1b4e" datatype="html">\n        <source>A silence requires at least one matcher</source>\n        <target>A silence requires at least one matcher</target>\n      </trans-unit>\n      <trans-unit id="ef765bd80c4806c51c891908c07a24bc76f019eb" datatype="html">\n        <source>Add matcher</source>\n        <target>Add matcher</target>\n      </trans-unit>\n      <trans-unit id="d2bcd3296d2850de762fb943060b7e086a893181" datatype="html">\n        <source>Health</source>\n        <target>건강상태</target>\n      </trans-unit>\n      <trans-unit id="61e0f26d843eec0b33ff475e111b0c2f7a80b835" datatype="html">\n        <source>Statistics</source>\n        <target>통계들</target>\n      </trans-unit>\n      <trans-unit id="f8f74e5f683012b9c0702b1446011c6b9158bc67" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the NFS Ganesha management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the NFS Ganesha management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="7ffe39df9d88c972792bd8688b215392deb8313d" datatype="html">\n        <source>Clients</source>\n        <target>클라이언트들</target>\n      </trans-unit>\n      <trans-unit id="f2dae0bda66f6a349444951c0379c28cda47d6d1" datatype="html">\n        <source>Any client can access</source>\n        <target>모든 클라이언트 접근가능</target>\n      </trans-unit>\n      <trans-unit id="7882f2edb1d4139800b276b6b0bbf5ae0b2234ef" datatype="html">\n        <source>Addresses</source>\n        <target>주소들</target>\n      </trans-unit>\n      <trans-unit id="9bd96fcf50863e685c74d0490392f46689ffbdb6" datatype="html">\n        <source>Required field</source>\n        <target>필수 입력란</target>\n      </trans-unit>\n      <trans-unit id="a5f3f74c0f6925826cb2188576391c0da01a23f0" datatype="html">\n        <source>Must contain one or more comma-separated values</source>\n        <target>반드시 하나 이상의 쉼표로 구분 된 값을 포함해야 함</target>\n      </trans-unit>\n      <trans-unit id="8bb5b2073697f3f4378c44a49b7524934c9268f4" datatype="html">\n        <source>For example:</source>\n        <target>예를들면:</target>\n      </trans-unit>\n      <trans-unit id="8f969c655b3fbe4fba7e277caf4cd2c459f9fca5" datatype="html">\n        <source>Access Type</source>\n        <target>접근형태</target>\n      </trans-unit>\n      <trans-unit id="28952831a284cfe2b4fc39ca610e80b52598905a" datatype="html">\n        <source>Squash</source>\n        <target>Squash</target>\n      </trans-unit>\n      <trans-unit id="0660ae339068979854ade34a96546980723dede3" datatype="html">\n        <source>Add clients</source>\n        <target>클라이언트들 추가</target>\n      </trans-unit>\n      <trans-unit id="135b91a2d908d5814b782695470a6a786c99d9d2" datatype="html">\n        <source>-- No cluster available --</source>\n        <target>-- 사용가능 클러스터 없음 --</target>\n      </trans-unit>\n      <trans-unit id="c501dba379f566885919240ea277b5bc10c14d18" datatype="html">\n        <source>-- Select the cluster --</source>\n        <target>-- 클러스터 선택 --</target>\n      </trans-unit>\n      <trans-unit id="cf85b1ee58326aa9da63da41b2629c9db7c9a5b9" datatype="html">\n        <source>Add daemon</source>\n        <target>데몬 추가하기</target>\n      </trans-unit>\n      <trans-unit id="b3f6ba7fe84d6508705cdfe234f0fcc8ff85c9cf" datatype="html">\n        <source>Storage Backend</source>\n        <target>스토리지 백엔드</target>\n      </trans-unit>\n      <trans-unit id="151c80ea931037cd92e854442927f8a0f6ae7795" datatype="html">\n        <source>-- No data pools available --</source>\n        <target>-- 이용가능한 데이타풀 없음 --</target>\n      </trans-unit>\n      <trans-unit id="b6fee356d1db954255a56d8169405a89595246b9" datatype="html">\n        <source>-- Select the storage backend --</source>\n        <target>-- 스토리지 백엔드 선택 --</target>\n      </trans-unit>\n      <trans-unit id="76d67035c3ab3d8e56f725859f820f03fda41cfc" datatype="html">\n        <source>Object Gateway User</source>\n        <target>객체 게이트웨이 사용자</target>\n      </trans-unit>\n      <trans-unit id="fade7788bace74337f306ae209f10fc187ef4671" datatype="html">\n        <source>-- No users available --</source>\n        <target>-- 사용가능한 사용자들 없음 --</target>\n      </trans-unit>\n      <trans-unit id="6d30b7b36cf8f6364167321bdb4ba35d4cefce7b" datatype="html">\n        <source>-- Select the object gateway user --</source>\n        <target>-- 객체 게이트웨이 사용자 선택 --</target>\n      </trans-unit>\n      <trans-unit id="589ce20d3ba3e3ac44f75decfaadc4ea8f0aec2d" datatype="html">\n        <source>CephFS User ID</source>\n        <target>CephFS 사용자 ID</target>\n      </trans-unit>\n      <trans-unit id="c4b88a53ac3b0ece46ba9b3ad72355a3c190cce7" datatype="html">\n        <source>-- No clients available --</source>\n        <target>-- 사용가능한 클라이언트 없음 --</target>\n      </trans-unit>\n      <trans-unit id="da52835b80497a0002d24414b057dc46ae44ce38" datatype="html">\n        <source>-- Select the cephx client --</source>\n        <target>-- cephx 클라이언트 선택 --</target>\n      </trans-unit>\n      <trans-unit id="fd3419e8957d928d7f7ba19c93356a0dbff02871" datatype="html">\n        <source>CephFS Name</source>\n        <target>CephFS 이름</target>\n      </trans-unit>\n      <trans-unit id="ee3ba0ab5f0ccd597b3e44021c71e9aaad14df0a" datatype="html">\n        <source>-- No CephFS filesystem available --</source>\n        <target>-- No CephFS filesystem available --</target>\n      </trans-unit>\n      <trans-unit id="764c57812558b1ae66c5eec95d7efd2b1bf761e3" datatype="html">\n        <source>-- Select the CephFS filesystem --</source>\n        <target>-- Select the CephFS filesystem --</target>\n      </trans-unit>\n      <trans-unit id="957512d0321f73e9f115bce1bd823fa635170c41" datatype="html">\n        <source>Security Label</source>\n        <target>보안 레이블</target>\n      </trans-unit>\n      <trans-unit id="65ce0fa4da1ed55e658aeb31d1644a29f06bb342" datatype="html">\n        <source>Enable security label</source>\n        <target>보안 레이블 사용</target>\n      </trans-unit>\n      <trans-unit id="7e808f804130c7b6ff719509cbc06ebb27393a48" datatype="html">\n        <source>CephFS Path</source>\n        <target>CephFS 경로</target>\n      </trans-unit>\n      <trans-unit id="5ecc0107badb6625466aaa3f975b5c05276f432f" datatype="html">\n        <source>Path need to start with a \'/\' and can be followed by a word</source>\n        <target>경로는 \'/\'로 시작해야하며 그 뒤에 단어가 올 수 있습니다</target>\n      </trans-unit>\n      <trans-unit id="2d02916f44fc63e13ab16d1cbe72aa6cb51feab3" datatype="html">\n        <source>New directory will be created</source>\n        <target>새로운 디렉토리가 만들어 질 것입니다</target>\n      </trans-unit>\n      <trans-unit id="766c66ad5cc981c531aaf3fe3a2a7a346ddc8d83" datatype="html">\n        <source>Path</source>\n        <target>경로</target>\n      </trans-unit>\n      <trans-unit id="7ec35c722a50b976620f22612f7be619c12ceb90" datatype="html">\n        <source>Path can only be a single \'/\' or a word</source>\n        <target>경로는 하나의 \'/\' 또는 하나의 단어 일 수 있습니다</target>\n      </trans-unit>\n      <trans-unit id="aebb6a5090c24511de4530195694bb3f3dcf0342" datatype="html">\n        <source>New bucket will be created</source>\n        <target>새로운 버킷이 만들어 질 것입니다</target>\n      </trans-unit>\n      <trans-unit id="bee6900143996c0e908a10564532eba3da0b30fb" datatype="html">\n        <source>NFS Protocol</source>\n        <target>NFS 프로토콜</target>\n      </trans-unit>\n      <trans-unit id="2f534178c01ebf1307da2eaeef04bc6801ebc729" datatype="html">\n        <source>NFSv3</source>\n        <target>NFSv3</target>\n      </trans-unit>\n      <trans-unit id="f5043c0921e709935ab026bb3253ffe1f159fca1" datatype="html">\n        <source>NFSv4</source>\n        <target>NFSv4</target>\n      </trans-unit>\n      <trans-unit id="92488963d23095985a47c0d6e62304e11d333f19" datatype="html">\n        <source>NFS Tag</source>\n        <target>NFS 태크</target>\n      </trans-unit>\n      <trans-unit id="aae93362720aea94623682996dd3fcd0f906f056" datatype="html">\n        <source>Alternative access for \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v3\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> mounts (it must not have a leading /).\n        </source>\n        <target>Alternative access for \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v3\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> mounts (it must not have a leading /).\n        </target>\n      </trans-unit>\n      <trans-unit id="45d6db77dcf1a3eeb921033abc7882e517a541cc" datatype="html">\n        <source>Clients may not mount subdirectories (i.e. if Tag = foo, the client may not mount foo/baz).</source>\n        <target>클라이언트는 하위 디렉토리를 마운트 할 수 없습니다 (즉, Tag = foo 인 경우 클라이언트가 foo / baz를 마운트하지 못할 수 있습니다).</target>\n      </trans-unit>\n      <trans-unit id="a1c7a8676b55e882a97c6a6fb205204f9c761afa" datatype="html">\n        <source>By using different Tag options, the same Path may be exported multiple times.</source>\n        <target>다른 태그 옵션을 사용하면 같은 경로를 여러 번 내보낼 수 있습니다.</target>\n      </trans-unit>\n      <trans-unit id="6d2c39708a32910f89701dd7e1cfb9ec1c195768" datatype="html">\n        <source>Pseudo</source>\n        <target>Pseudo</target>\n      </trans-unit>\n      <trans-unit id="1f8be2ae25947bec0b84c2338201580ea053f34e" datatype="html">\n        <source>The position that this \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v4\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> export occupies\n                in the \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>Pseudo FS\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> (it must be unique).\n        </source>\n        <target>The position that this \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v4\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> export occupies\n                in the \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>Pseudo FS\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> (it must be unique).\n        </target>\n      </trans-unit>\n      <trans-unit id="f3af55f7fd5b1d9e5a53e030c80116dc635bfb9f" datatype="html">\n        <source>By using different Pseudo options, the same Path may be exported multiple times.</source>\n        <target>다른 Pseudo 옵션을 사용하면 동일한 경로를 여러 번 내보낼 수 있습니다.</target>\n      </trans-unit>\n      <trans-unit id="ddf98fcdeeb17643db020d54f42b5e56b5f9a52a" datatype="html">\n        <source>Pseudo needs to start with a \'/\' and can\'t contain any of the following: &gt;, &lt;, |, &amp;, ( or ).</source>\n        <target>Pseudo needs to start with a \'/\' and can\'t contain any of the following: &gt;, &lt;, |, &amp;, ( or ).</target>\n      </trans-unit>\n      <trans-unit id="27eb35c4b4ac08781a7253a2ab40f8f7d957ba51" datatype="html">\n        <source>-- No access type available --</source>\n        <target>-- 사용가능한 접근형태 없음 --</target>\n      </trans-unit>\n      <trans-unit id="509ce016c9110a54028dafd741f15ceacbe74b5a" datatype="html">\n        <source>-- Select the access type --</source>\n        <target>-- 접근형태 선택 --</target>\n      </trans-unit>\n      <trans-unit id="49850390a653cd05dc5843d74ef073a9122b54c9" datatype="html">\n        <source>The Object Gateway NFS backend has a number of\n              limitations which will seriously affect applications writing to\n              the share. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for details before enabling write access.\n        </source>\n        <target>The Object Gateway NFS backend has a number of\n              limitations which will seriously affect applications writing to\n              the share. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for details before enabling write access.\n        </target>\n      </trans-unit>\n      <trans-unit id="4deda03573eaaff77e63f6a238a1f0ca7816950a" datatype="html">\n        <source>-- No squash available --</source>\n        <target>-- 사용가능한 squash 없음 --</target>\n      </trans-unit>\n      <trans-unit id="a0e82a4da88e7fdf270444f838d45849676e9d4b" datatype="html">\n        <source>--Select what kind of user id squashing is performed --</source>\n        <target>-- 어떤 종류의 사용자 ID 스쿼시가 수행되는지 선택하세요 --</target>\n      </trans-unit>\n      <trans-unit id="d01b7c3f7f06712c53d054cfbe4f53d446b038e8" datatype="html">\n        <source>Transport Protocol</source>\n        <target>전송프로토콜</target>\n      </trans-unit>\n      <trans-unit id="d2a6ad6e8bc315f07911722c05767ac79c136d99" datatype="html">\n        <source>UDP</source>\n        <target>UDP</target>\n      </trans-unit>\n      <trans-unit id="9c030f11e0aae9b24d2c048c57f29f590be621df" datatype="html">\n        <source>TCP</source>\n        <target>TCP</target>\n      </trans-unit>\n      <trans-unit id="734c9905951a774870497c5aaae8e3ee833b6196" datatype="html">\n        <source>CephFS</source>\n        <target>CephFS</target>\n      </trans-unit>\n      <trans-unit id="0eb15f32b2b92d7f3103ef3ff032621888a8dc32" datatype="html">\n        <source>Old password</source>\n        <target>Old password</target>\n      </trans-unit>\n      <trans-unit id="1cf42e491adc166a337a960eb84d03c0c3f677c8" datatype="html">\n        <source>The old and new passwords must be different.</source>\n        <target>The old and new passwords must be different.</target>\n      </trans-unit>\n      <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229" datatype="html">\n        <source>New password</source>\n        <target>New password</target>\n      </trans-unit>\n      <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b" datatype="html">\n        <source>Confirm new password</source>\n        <target>Confirm new password</target>\n      </trans-unit>\n      <trans-unit id="90163a3d3746819aef42e829f4446331232f3b66" datatype="html">\n        <source>Password confirmation doesn\'t match the new password.</source>\n        <target>Password confirmation doesn\'t match the new password.</target>\n      </trans-unit>\n      <trans-unit id="d06ae77f9ec46a4cdd49e7e76c73a411aaf2ee38" datatype="html">\n        <source>Please set a new password.</source>\n        <target>Please set a new password.</target>\n      </trans-unit>\n      <trans-unit id="8b5b3566e88438f51bd5f6caf6c090ed565ba5ed" datatype="html">\n        <source>You will be redirected to the login page afterwards.</source>\n        <target>You will be redirected to the login page afterwards.</target>\n      </trans-unit>\n      <trans-unit id="449dca3d3a93ead418b0541ea81b0dda7e6483c2" datatype="html">\n        <source>Welcome to Ceph!</source>\n        <target>Ceph 사용을 환영합니다.</target>\n        <note>The welcome message on the login page</note>\n      </trans-unit>\n      <trans-unit id="0070e83d11da39d6f4bb95065c2675db1610b419" datatype="html">\n        <source>Username is required</source>\n        <target>사용자이름이 필요합니다</target>\n      </trans-unit>\n      <trans-unit id="1e20f8b8a4706526c9024cc2f39d568345d100dc" datatype="html">\n        <source>Password is required</source>\n        <target>암호가 필요합니다</target>\n      </trans-unit>\n      <trans-unit id="6765b4c916060f6bc42d9bb69e80377dbcb5e4e9" datatype="html">\n        <source>Login</source>\n        <target>로그인</target>\n      </trans-unit>\n      <trans-unit id="58fc1b5c79a75370eb52644fd83fb2e7096b6649" datatype="html">\n        <source>Sorry, the user does not exist in Ceph.</source>\n        <target>미안합니다. 사용자가 Ceph내에 존재하지 않습니다.</target>\n      </trans-unit>\n      <trans-unit id="d9deb94f78e7c41b35c6622b874f06657d7604c1" datatype="html">\n        <source>Return to \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Login Page\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You\'ll be logged out from the Identity Provider when you retry logging in.\n        </source>\n        <target>Return to \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Login Page\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You\'ll be logged out from the Identity Provider when you retry logging in.\n        </target>\n      </trans-unit>\n      <trans-unit id="471e78026c258073ba687478dc54c35d9041ea42" datatype="html">\n        <source>Forbidden</source>\n        <target>금지됨</target>\n      </trans-unit>\n      <trans-unit id="02ea8ad57677e3c63f3d7814ca5e6c7b74e360b4" datatype="html">\n        <source>Sorry, you are not allowed to see what you were looking for.</source>\n        <target>미안합니다. 당신이 요청할 것을 열람하는 것이 허락되지 않습니다.</target>\n      </trans-unit>\n      <trans-unit id="2240b985f17293d84cc8532fe86994aa5f63667c" datatype="html">\n        <source>Sorry, we could not find what you were looking for.</source>\n        <target>Sorry, we could not find what you were looking for.</target>\n      </trans-unit>\n      <trans-unit id="ac54c18c1b520e948095c83a3a1025f02ce6dcc6" datatype="html">\n        <source>Neither hostname nor OSD ID given</source>\n        <target>Neither hostname nor OSD ID given</target>\n      </trans-unit>\n      <trans-unit id="4f635b3cb0600409a2ad44a5bd1863c699e6a01c" datatype="html">\n        <source>Failed to retrieve SMART data.</source>\n        <target>Failed to retrieve SMART data.</target>\n      </trans-unit>\n      <trans-unit id="d82a9af5b05e7cd17640f196f163771685ff8df6" datatype="html">\n        <source>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</source>\n        <target>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</target>\n      </trans-unit>\n      <trans-unit id="04f8a3c7e8ac610e6581960162cc15f55a16696a" datatype="html">\n        <source>No SMART data available.</source>\n        <target>No SMART data available.</target>\n      </trans-unit>\n      <trans-unit id="3a03d3c2e459f8f8fa7202c0fce465d6165f9e2b" datatype="html">\n        <source>passed</source>\n        <target>passed</target>\n      </trans-unit>\n      <trans-unit id="a185c9b97513b3882604ea9bab60edbfac945c15" datatype="html">\n        <source>SMART overall-health self-assessment test result</source>\n        <target>SMART overall-health self-assessment test result</target>\n      </trans-unit>\n      <trans-unit id="41435d5a5692c8e412c74deaee95d99dbd3617e1" datatype="html">\n        <source>failed</source>\n        <target>failed</target>\n      </trans-unit>\n      <trans-unit id="ddd5dd6d930030096ea617f62c82b648a0dd9484" datatype="html">\n        <source>Device Information</source>\n        <target>Device Information</target>\n      </trans-unit>\n      <trans-unit id="380295f37caea93701d071485a38ef0bdba57133" datatype="html">\n        <source>No SMART data available for this device.</source>\n        <target>No SMART data available for this device.</target>\n      </trans-unit>\n      <trans-unit id="20cb12827cbe559a7b1da6fdae96041b3b5c3c55" datatype="html">\n        <source>SMART</source>\n        <target>SMART</target>\n      </trans-unit>\n      <trans-unit id="5758c3f16f8749f0f4e2a787f02e8b4da246102f" datatype="html">\n        <source>SMART data is loading.</source>\n        <target>SMART data is loading.</target>\n      </trans-unit>\n      <trans-unit id="a949d7e577902d0e5dc5d0971bb0170a21be7728" datatype="html">\n        <source>[object Object]</source>\n        <target>[object Object]</target>\n      </trans-unit>\n      <trans-unit id="ff92fbdec9fdd5054493eeda0d7ee8b450f83e72" datatype="html">\n        <source>RBD Configuration</source>\n        <target>RBD 설정들</target>\n      </trans-unit>\n      <trans-unit id="b62d9efc8eb3b589904f6cb96a0406bbda55673a" datatype="html">\n        <source>Remove the local configuration value. The parent configuration value will be inherited and used instead.</source>\n        <target>로컬 구성 값을 제거하십시오. 상위 구성 값은 계승되고 대신 사용됩니다.</target>\n      </trans-unit>\n      <trans-unit id="963488a1010d46067b238c4ae917fab3907c0a3a" datatype="html">\n        <source>The mininum value is 0</source>\n        <target>최소값은 0입니다.</target>\n      </trans-unit>\n      <trans-unit id="1d8a7c8aea58294a3c57c23af0468ddf0ba0c9c7" datatype="html">\n        <source>Pools List</source>\n        <target>풀 목록들</target>\n      </trans-unit>\n      <trans-unit id="490e15ecc922965b6d8194754c87c5583aa071f3" datatype="html">\n        <source>The name can only consist of alphanumeric characters, dashes and underscores.</source>\n        <target>이름은 영숫자, 대시 및 밑줄로만 구성 될 수 있습니다.</target>\n      </trans-unit>\n      <trans-unit id="9edc2b494e660618af3e5225f68d40b7ca67629c" datatype="html">\n        <source>The chosen erasure code profile name is already in use.</source>\n        <target>선택한 Erasure Code 프로파일 이름이 이미 사용 중입니다.</target>\n      </trans-unit>\n      <trans-unit id="35a4206db3105ed03e0dd799e1642b75b78123e8" datatype="html">\n        <source>Root</source>\n        <target>Root</target>\n      </trans-unit>\n      <trans-unit id="cf425784c7073c7e7f7c1bb90c2c19db7e751db2" datatype="html">\n        <source>Failure domain type</source>\n        <target>Failure domain type</target>\n      </trans-unit>\n      <trans-unit id="72396a9565cf644d1fe1b21b790c4243ee270986" datatype="html">\n        <source>Device class</source>\n        <target>Device class</target>\n      </trans-unit>\n      <trans-unit id="72d80e0c07bfea1b693a33ef2245007de92a6780" datatype="html">\n        <source>Let Ceph decide</source>\n        <target>Let Ceph decide</target>\n      </trans-unit>\n      <trans-unit id="ef9ff0e6227947b48dfab4ac39ade04af758913b" datatype="html">\n        <source>Plugin</source>\n        <target>플러그인</target>\n      </trans-unit>\n      <trans-unit id="dd69b31bce8f630eac1d4762b0bbcf72ce19d193" datatype="html">\n        <source>Data chunks (k)</source>\n        <target>데이터 덩어리들 (k)</target>\n      </trans-unit>\n      <trans-unit id="b0d26a6172d32cb81218fe2103c54a818cbc1189" datatype="html">\n        <source>Must be equal to or greater than 2.</source>\n        <target>반드시 2보다 크거나 같아야합니다.</target>\n      </trans-unit>\n      <trans-unit id="dab3a299ead121169b8e08ed618c3b6a2f66691b" datatype="html">\n        <source>Coding chunks (m)</source>\n        <target>코딩 덩어리들 (m)</target>\n      </trans-unit>\n      <trans-unit id="1e2773e5bd4948193f18f2361d663ecc3988c656" datatype="html">\n        <source>Must be equal to or greater than 1.</source>\n        <target>반드시 1보다 크거나 같아야합니다.</target>\n      </trans-unit>\n      <trans-unit id="6cde4c945a49a260c0a47bcc7cd956846930a5f7" datatype="html">\n        <source>Durability estimator (c)</source>\n        <target>내구성 평가(c)</target>\n      </trans-unit>\n      <trans-unit id="af668c2a095a979ea2b4e43cd82c2120ab56c21c" datatype="html">\n        <source>Locality (l)</source>\n        <target>지역 (l)</target>\n      </trans-unit>\n      <trans-unit id="d455a110bf6d2235e314e295ce1dfeee93d3dff2" datatype="html">\n        <source>Crush failure domain</source>\n        <target>크러쉬 실패 도메인</target>\n      </trans-unit>\n      <trans-unit id="b74a495f041f7dd102eee5c0bbc9e03083b538ae" datatype="html">\n        <source>Crush Locality</source>\n        <target>크러쉬 지역</target>\n      </trans-unit>\n      <trans-unit id="a2f14a73f7a6e94479f67423cc51102da8d6f524" datatype="html">\n        <source>None</source>\n        <target>없음</target>\n      </trans-unit>\n      <trans-unit id="2981733b912b693a9dd9d915d6d34f4692cc874a" datatype="html">\n        <source>Technique</source>\n        <target>기술</target>\n      </trans-unit>\n      <trans-unit id="e0098b6e47b04ec817361f384ce81d454ba5c0bb" datatype="html">\n        <source>Packetsize</source>\n        <target>패킷크기</target>\n      </trans-unit>\n      <trans-unit id="c0252cd81ca54d0a2f69ec9ccf4248e73df5aa4a" datatype="html">\n        <source>Crush root</source>\n        <target>크러쉬루트</target>\n      </trans-unit>\n      <trans-unit id="1548d5c76f0406ddd1ba3c557e1e6db22e95b340" datatype="html">\n        <source>Crush device class</source>\n        <target>크러쉬 장치 클래스</target>\n      </trans-unit>\n      <trans-unit id="5e85feb6f9f0334366e46ee09ca6b8df52397432" datatype="html">\n        <source>any</source>\n        <target>모든</target>\n      </trans-unit>\n      <trans-unit id="03d84645f6e019c5a43909bbf2ea1696ee88332c" datatype="html">\n        <source>Directory</source>\n        <target>디렉토리</target>\n      </trans-unit>\n      <trans-unit id="2fecea01ce1d44114ee45144eff6d47a5016a74f" datatype="html">\n        <source>Name...</source>\n        <target>이름...</target>\n      </trans-unit>\n      <trans-unit id="16e113230b6b0d3165e076300880542bac7c8138" datatype="html">\n        <source>The chosen Ceph pool name is already in use.</source>\n        <target>선택한 Ceph 풀이름이 이미 사용중입니다.</target>\n      </trans-unit>\n      <trans-unit id="c75b132bef7b29fa5171768303c4b96e34ccaf68" datatype="html">\n        <source>It\'s not possible to create an RBD pool with \'/\' in the name.\n              Please change the name or remove \'rbd\' from the applications list.</source>\n        <target>It\'s not possible to create an RBD pool with \'/\' in the name.\n              Please change the name or remove \'rbd\' from the applications list.</target>\n      </trans-unit>\n      <trans-unit id="171dc6d5c6bc4615d99778b0088cae80fd00bd10" datatype="html">\n        <source>Pool name can only contain letters, numbers, \'.\', \'-\', \'_\' or \'/\'.</source>\n        <target>Pool name can only contain letters, numbers, \'.\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="b85c657469e5ec8231c3de99b22f437bc01ffde5" datatype="html">\n        <source>Pool type</source>\n        <target>풀 형태</target>\n      </trans-unit>\n      <trans-unit id="526c5443254c3b126eedb264840ffe827727bfd3" datatype="html">\n        <source>-- Select a pool type --</source>\n        <target>-- 풀 형태 선택 --</target>\n      </trans-unit>\n      <trans-unit id="6abfbe47b630929d93c7343dc154599c2e59330a" datatype="html">\n        <source>PG Autoscale</source>\n        <target>PG Autoscale</target>\n      </trans-unit>\n      <trans-unit id="0aa21053410a94aa61d16985a4e95fd65523430d" datatype="html">\n        <source>Placement groups</source>\n        <target>게재위치 그룹</target>\n      </trans-unit>\n      <trans-unit id="6301f1391d726f8f450bb358058534db19541ca9" datatype="html">\n        <source>At least one placement group is needed!</source>\n        <target>적어도 하나의 게재위치 그룹이 필요함!</target>\n      </trans-unit>\n      <trans-unit id="ba9469a1ce6ed36e039c1f67247c8c81a5c71449" datatype="html">\n        <source>Your cluster can\'t handle this many PGs. Please recalculate the PG amount needed.</source>\n        <target>클러스터는 이 많은 PG들를 처리 할 수 없습니다. 필요한 PG 양을 다시 계산하십시오.</target>\n      </trans-unit>\n      <trans-unit id="80ac68cd883369dac20688bc32b4cb33291b5e50" datatype="html">\n        <source>Calculation help</source>\n        <target>계산 도움말</target>\n      </trans-unit>\n      <trans-unit id="fccbd60493df26705d957ed6c02a3c447894678f" datatype="html">\n        <source>The current PGs settings were calculated for you, you\n                should make sure the values suit your needs before submit.</source>\n        <target>The current PGs settings were calculated for you, you\n                should make sure the values suit your needs before submit.</target>\n      </trans-unit>\n      <trans-unit id="a43b2695131b48b76cebba676aba98a2bee17515" datatype="html">\n        <source>Replicated size</source>\n        <target>복제되는 크기</target>\n      </trans-unit>\n      <trans-unit id="7bff144a4c4dc63b0e18fff2617d61a7ebdf2b6c" datatype="html">\n        <source>Minimum: \n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/>\n        </source>\n        <target>Minimum: \n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="1a9c54b41f6d58a74e5d0aa3429ed0c87a482551" datatype="html">\n        <source>Maximum: \n          <x id="INTERPOLATION" equiv-text="{{ getMaxSize() }}"/>\n        </source>\n        <target>Maximum: \n          <x id="INTERPOLATION" equiv-text="{{ getMaxSize() }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6ab647b95bd2347ae6f4605576de5e0269fb893a" datatype="html">\n        <source>The size specified is out of range. A value from\n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/> to \n          <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.\n        </source>\n        <target>The size specified is out of range. A value from\n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/> to \n          <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.\n        </target>\n      </trans-unit>\n      <trans-unit id="920617c6a1a4805e53bcb5af6a9c76f8387e89c6" datatype="html">\n        <source>Flags</source>\n        <target>플레그들</target>\n      </trans-unit>\n      <trans-unit id="1c870fb00256b8a5b9cb9cd1a124e6390b9bc639" datatype="html">\n        <source>EC Overwrites</source>\n        <target>EC 덮어쓰기</target>\n      </trans-unit>\n      <trans-unit id="f1abafaeb40ce52355ddcc24686e3cd17b64e08a" datatype="html">\n        <source>Applications</source>\n        <target>응용프로그램들</target>\n      </trans-unit>\n      <trans-unit id="fb9308b82fc183f710df60909f49cfc73aa5e076" datatype="html">\n        <source>CRUSH</source>\n        <target>CRUSH</target>\n      </trans-unit>\n      <trans-unit id="9de7dde00e2139cc4bd03b1837afbe72ad15a1ff" datatype="html">\n        <source>Erasure code profile</source>\n        <target>Erasure Code 프로파일</target>\n      </trans-unit>\n      <trans-unit id="39b4620e6bd444e0a57a0a5c03fa8c96d7fe5235" datatype="html">\n        <source>-- No erasure code profile available --</source>\n        <target>-- 사용가능한 Erasure Code 프로파일 없음 --</target>\n      </trans-unit>\n      <trans-unit id="498561757390d5528b263ce450d5f38efb00266d" datatype="html">\n        <source>-- Select an erasure code profile --</source>\n        <target>-- 한개의 Erasure Code 프로파일 선택 --</target>\n      </trans-unit>\n      <trans-unit id="33150f22ce5348aa6c499bd092c3f4f3695d62cc" datatype="html">\n        <source>Crush ruleset</source>\n        <target>크러쉬 룰셋</target>\n      </trans-unit>\n      <trans-unit id="c69b0bcd4698aa845d32c4c4ad488492552cb469" datatype="html">\n        <source>A new crush ruleset will be implicitly created.</source>\n        <target>A new crush ruleset will be implicitly created.</target>\n      </trans-unit>\n      <trans-unit id="896e9987db5e9bb279e6deed5d2dff28c242ef66" datatype="html">\n        <source>There are no rules.</source>\n        <target>There are no rules.</target>\n      </trans-unit>\n      <trans-unit id="73a6b31116b3cc322af951daa0bafdc169e6c42e" datatype="html">\n        <source>-- Select a crush rule --</source>\n        <target>-- 크러쉬 룰 선택 --</target>\n      </trans-unit>\n      <trans-unit id="ea91d648f92002bc9f96d9b26b735c83ca0b53c6" datatype="html">\n        <source>This rule can\'t be deleted as it is in use.</source>\n        <target>This rule can\'t be deleted as it is in use.</target>\n      </trans-unit>\n      <trans-unit id="92da80699921e89fb19372e25b8d0f3b9fa427fc" datatype="html">\n        <source>Crush rule</source>\n        <target>크러쉬 룰</target>\n      </trans-unit>\n      <trans-unit id="5489e9f96835f469f6f728a00d8efa88ea5bc940" datatype="html">\n        <source>Crush steps</source>\n        <target>크러쉬 단계들</target>\n      </trans-unit>\n      <trans-unit id="fc5f5496a9e50fe69e1a09784f28d94944108294" datatype="html">\n        <source>Rule is not in use.</source>\n        <target>Rule is not in use.</target>\n      </trans-unit>\n      <trans-unit id="023d6f718770d2ea4ab8cabe26b0ec27ef967ec2" datatype="html">\n        <source>Used by pools</source>\n        <target>Used by pools</target>\n      </trans-unit>\n      <trans-unit id="104a0e6900d1d1b0c8cf9e5947e36edb352583fc" datatype="html">\n        <source>The rule can\'t be used in the current cluster as it has\n                  too few OSDs to meet the minimum required OSD by this rule.</source>\n        <target>The rule can\'t be used in the current cluster as it has\n                  too few OSDs to meet the minimum required OSD by this rule.</target>\n      </trans-unit>\n      <trans-unit id="2208d63d5940ce656006a220102b1eb2b5e553da" datatype="html">\n        <source>Compression</source>\n        <target>압축</target>\n      </trans-unit>\n      <trans-unit id="37e10df2d9c0c25ef04ac112c9c9a7723e8efae0" datatype="html">\n        <source>Mode</source>\n        <target>양식</target>\n      </trans-unit>\n      <trans-unit id="6c6f25c47da62ec597c6057a36ddfc3209811ec5" datatype="html">\n        <source>Algorithm</source>\n        <target>알고리즘</target>\n      </trans-unit>\n      <trans-unit id="4903231d42089325a28892c0fde1aed46b733ae6" datatype="html">\n        <source>-- No erasure compression algorithm available --</source>\n        <target>-- 이용가능한 Erasure 압축알고리즘 없음 --</target>\n      </trans-unit>\n      <trans-unit id="5d68ddb254275f8f44221e9ad6d8ceeb59ca46a6" datatype="html">\n        <source>Minimum blob size</source>\n        <target>최소 blob 크기</target>\n      </trans-unit>\n      <trans-unit id="fb2f176df80647137cbb02bbeb29e5dec707a400" datatype="html">\n        <source>e.g., 128KiB</source>\n        <target>예) 128KiB</target>\n      </trans-unit>\n      <trans-unit id="1b7f6e53a4521c6eb3ced4c007fdd4cf80bb7707" datatype="html">\n        <source>Value should be greater than 0</source>\n        <target>값은 0보다 커야합니다</target>\n      </trans-unit>\n      <trans-unit id="8db98ab14b4e207ec763dfdefbc2dae367aab1cc" datatype="html">\n        <source>Value should be less than the maximum blob size</source>\n        <target>Value should be less than the maximum blob size</target>\n      </trans-unit>\n      <trans-unit id="151efb127a9a4dd25259a0b2055442318a141f5b" datatype="html">\n        <source>Maximum blob size</source>\n        <target>최대 blob 크기</target>\n      </trans-unit>\n      <trans-unit id="0c656f0e346bbadf46eb1a5d20d0307a3bd20ba8" datatype="html">\n        <source>e.g., 512KiB</source>\n        <target>예) 512KiB</target>\n      </trans-unit>\n      <trans-unit id="0a65a24eee8a026f3b1113fe9e157e9a0dd69486" datatype="html">\n        <source>Value should be greater than the minimum blob size</source>\n        <target>값은 최소 blob 크기보다 커야 합니다</target>\n      </trans-unit>\n      <trans-unit id="261ba09c4a59de83f48f52a23fd328da37e61ff4" datatype="html">\n        <source>Ratio</source>\n        <target>비율</target>\n      </trans-unit>\n      <trans-unit id="c1430457a9c3c66366e51d76bf10396014c576be" datatype="html">\n        <source>Compression ratio</source>\n        <target>압축율</target>\n      </trans-unit>\n      <trans-unit id="ae5ce6de352cde949998fb10754459c3a4eb183b" datatype="html">\n        <source>Value should be between 0.0 and 1.0</source>\n        <target>값은 0.0과 1.0 사이 여야 합니다.</target>\n      </trans-unit>\n      <trans-unit id="8bb8293aa8161433778762ae025ffd5e7c85795e" datatype="html">\n        <source>Quotas</source>\n        <target>Quotas</target>\n      </trans-unit>\n      <trans-unit id="d99b34162c9c34f10d0ccd8dbae83d8569c2db77" datatype="html">\n        <source>Max bytes</source>\n        <target>Max bytes</target>\n      </trans-unit>\n      <trans-unit id="a1d14a18879c62f3f4ed705318b7164a1160e249" datatype="html">\n        <source>Leave it blank or specify 0 to disable this quota.</source>\n        <target>Leave it blank or specify 0 to disable this quota.</target>\n      </trans-unit>\n      <trans-unit id="7565b131562ff6c5f769fdbd239a772154abdd97" datatype="html">\n        <source>A valid quota should be greater than 0.</source>\n        <target>A valid quota should be greater than 0.</target>\n      </trans-unit>\n      <trans-unit id="f0016bd458baa88284a658ce9eeda42d8ad88d2c" datatype="html">\n        <source>e.g., 10GiB</source>\n        <target>예., 100 GiB</target>\n      </trans-unit>\n      <trans-unit id="b8bf35b66f09a301eef92ffc3cb2fd259df67ce9" datatype="html">\n        <source>Max objects</source>\n        <target>Max objects</target>\n      </trans-unit>\n      <trans-unit id="95f348167622d832c5ae532b6944635c8e2ae5cb" datatype="html">\n        <source>The value should be greater or equal to 0</source>\n        <target>The value should be greater or equal to 0</target>\n      </trans-unit>\n      <trans-unit id="4f8b2bb476981727ab34ed40fde1218361f92c45" datatype="html">\n        <source>Details</source>\n        <target>세부설명</target>\n      </trans-unit>\n      <trans-unit id="fbbaf5cb02ed419e79a27072478f716a4666a99d" datatype="html">\n        <source>Performance Details</source>\n        <target>성능 세부정보들</target>\n      </trans-unit>\n      <trans-unit id="3938a411d76796f8ae73b72ea4c77661207453bd" datatype="html">\n        <source>Cache Tiers Details</source>\n        <target>케쉬 계층들 상세설명들</target>\n      </trans-unit>\n      <trans-unit id="ecbc084370a732fc3cde1966a60af78d71424ab4" datatype="html">\n        <source>Create Bootstrap Token</source>\n        <target>Create Bootstrap Token</target>\n      </trans-unit>\n      <trans-unit id="603e9cc3ef2aab57f2b0a00e465b23b9cabefd9c" datatype="html">\n        <source>To create a bootstrap token which can be imported\n          by a peer site cluster, provide the local site\'s name, select\n          which pools will have mirroring enabled, and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Generate\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>To create a bootstrap token which can be imported\n          by a peer site cluster, provide the local site\'s name, select\n          which pools will have mirroring enabled, and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Generate\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="660f97cd3188f8a04bd03b79e703fec72c6df04c" datatype="html">\n        <source>Site Name</source>\n        <target>Site Name</target>\n      </trans-unit>\n      <trans-unit id="8c2a1dc72cffaf7ab3dc5599bf77b0a7fcad2b20" datatype="html">\n        <source>At least one pool is required.</source>\n        <target>At least one pool is required.</target>\n      </trans-unit>\n      <trans-unit id="1b258b258b4cc475ceb2871305b61756b0134f4a" datatype="html">\n        <source>Generate</source>\n        <target>Generate</target>\n      </trans-unit>\n      <trans-unit id="1edc1fc6cfbbb22353050ad6788508b3ed584f53" datatype="html">\n        <source>Token</source>\n        <target>Token</target>\n      </trans-unit>\n      <trans-unit id="ff785f5596aef34a93b9b4d1023e95c62eef5740" datatype="html">\n        <source>Generated token...</source>\n        <target>Generated token...</target>\n      </trans-unit>\n      <trans-unit id="5467a6bb0e7fade6def7499400d5e2a7d8d3da20" datatype="html">\n        <source>Import Bootstrap Token</source>\n        <target>Import Bootstrap Token</target>\n      </trans-unit>\n      <trans-unit id="9bb7aee0dec5164f45c0aa2f35f2fb2149d2c1d2" datatype="html">\n        <source>To import a bootstrap token which was created\n          by a peer site cluster, provide the local site\'s name, select\n          which pools will have mirroring enabled, provide the generated\n          token, and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Import\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>To import a bootstrap token which was created\n          by a peer site cluster, provide the local site\'s name, select\n          which pools will have mirroring enabled, provide the generated\n          token, and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Import\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="9200e09686136a1d42adfb89c12fbfef2deea125" datatype="html">\n        <source>Direction</source>\n        <target>Direction</target>\n      </trans-unit>\n      <trans-unit id="9761484679958da8d12841a4efa5964d33fae575" datatype="html">\n        <source>The token is invalid.</source>\n        <target>The token is invalid.</target>\n      </trans-unit>\n      <trans-unit id="a059709f71aa4c0ac219e160e78a738682ca6a36" datatype="html">\n        <source>Import</source>\n        <target>Import</target>\n      </trans-unit>\n      <trans-unit id="b87bd96249f8afc23f5301cddb57b1464a98e71a" datatype="html">\n        <source>Edit site name</source>\n        <target>Edit site name</target>\n      </trans-unit>\n      <trans-unit id="cfff72c667274c12eb1ff71eadc25871c10c42dc" datatype="html">\n        <source>Edit the site name and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>Edit the site name and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="40b7acea5b43f45e0bbd1efeba5200af4687981d" datatype="html">\n        <source>Site Name:</source>\n        <target>Site Name:</target>\n      </trans-unit>\n      <trans-unit id="f0b5d789d42c0e69348e5fe0037fcbf5b5fbbdcc" datatype="html">\n        <source>Move an image to trash</source>\n        <target>이미지를 휴지통에 이동</target>\n      </trans-unit>\n      <trans-unit id="7ad22c1d4aab3b8946603cea62de266d5129ca10" datatype="html">\n        <source>This image contains snapshot(s), which will prevent it\n            from being removed after moved to trash.</source>\n        <target>This image contains snapshot(s), which will prevent it\n            from being removed after moved to trash.</target>\n      </trans-unit>\n      <trans-unit id="b4b3ced4f8aad4c446f348b14c3d94be2e2c350c" datatype="html">\n        <source>To move \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ imageSpecStr }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,\n          click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optionally, you can pick an expiration date.\n        </source>\n        <target>To move \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ imageSpecStr }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,\n          click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optionally, you can pick an expiration date.\n        </target>\n      </trans-unit>\n      <trans-unit id="88f27d390844aad53b4240360e928156c5f0d326" datatype="html">\n        <source>Protection expires at</source>\n        <target>보호가 만료되는 </target>\n      </trans-unit>\n      <trans-unit id="da166e9a0d27322f6ba8916d71ecc0f9905bb4b1" datatype="html">\n        <source>NOT PROTECTED</source>\n        <target>보호되지 않음</target>\n      </trans-unit>\n      <trans-unit id="a1506e5f2ca22cad14502ec7a20fb6113ace145d" datatype="html">\n        <source>Wrong date format. Please use "YYYY-MM-DD HH:mm:ss".</source>\n        <target>날짜 형식 오류. "YYYY-MM-DD HH:mm:ss" 형식으로 지정하세요.</target>\n      </trans-unit>\n      <trans-unit id="aa7ea0bb7495281e0b3258467ac7d90a1e44a1a1" datatype="html">\n        <source>Protection has already expired. Please pick a future date or leave it empty.</source>\n        <target>보호기간이 이미 만료되었습니다. 더 미래의 날짜를 선택하거나 공란으로 남겨두세요.</target>\n      </trans-unit>\n      <trans-unit id="536b3205c0c0d4d21685ec06feccfcf2fe14deb1" datatype="html">\n        <source>Move Image</source>\n        <target>이미지 옮기기</target>\n      </trans-unit>\n      <trans-unit id="c9f1026c1235f4d76ace47449e806efd181ab332" datatype="html">\n        <source>Deleting this image will also delete all its snapshots.</source>\n        <target>Deleting this image will also delete all its snapshots.</target>\n      </trans-unit>\n      <trans-unit id="55f864597e84d9bf88769e1fbfda1d64452430c9" datatype="html">\n        <source>The following snapshots are currently protected and will be removed:</source>\n        <target>The following snapshots are currently protected and will be removed:</target>\n      </trans-unit>\n      <trans-unit id="8a9910cd114c1deb9af74f6f99b4173403965bf2" datatype="html">\n        <source>Gateways</source>\n        <target>Gateways</target>\n      </trans-unit>\n      <trans-unit id="8835b9e49a3348b0a2f2162c21118af1f4bee45a" datatype="html">\n        <source>Must be greater than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'min\'] }}"/>.\n        </source>\n        <target>Must be greater than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'min\'] }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="bbddac59563c8c126e3fe28691e4e247614fcbd1" datatype="html">\n        <source>Must be less than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'max\'] }}"/>.\n        </source>\n        <target>Must be less than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'max\'] }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="e95ae009d0bdb45fcc656e8b65248cf7396080d5" datatype="html">\n        <source>Overview</source>\n        <target>개관</target>\n      </trans-unit>\n      <trans-unit id="bbd2045d5c37e4bb39a3c0fb62ea1ddf70a12838" datatype="html">\n        <source>Targets</source>\n        <target>타겟들</target>\n      </trans-unit>\n      <trans-unit id="6803e31b7395d94934e091a49a9524026b59b018" datatype="html">\n        <source>Discovery Authentication</source>\n        <target>인증 탐색</target>\n      </trans-unit>\n      <trans-unit id="e08a77594f3d89311cdf6da5090044270909c194" datatype="html">\n        <source>User</source>\n        <target>사용자</target>\n      </trans-unit>\n      <trans-unit id="0214f773f8e394f50f953f39962e352d7863e959" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n              can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>사용자이름은 8~64자까지 길이의 문자들을 가져야 하며 그리고, 오직 , \'.\', \'@\', \'-\', \'_\', \':\' 등의 특수 문자들만을 포함가능합니다.</target>\n      </trans-unit>\n      <trans-unit id="c32ef07f8803a223a83ed17024b38e8d82292407" datatype="html">\n        <source>Password</source>\n        <target>암호</target>\n      </trans-unit>\n      <trans-unit id="6682d1c00263bee204583a5d589b308b6be88b0f" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n              and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n              and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="ff40391de7a1944ea95091e4045cc34c4979b736" datatype="html">\n        <source>Mutual User</source>\n        <target>공동 사용자</target>\n      </trans-unit>\n      <trans-unit id="0cf73dbebe99b737c4d288788182fc356e3c93d3" datatype="html">\n        <source>Mutual Password</source>\n        <target>공통 암호</target>\n      </trans-unit>\n      <trans-unit id="8800276925157c666b103c36ff7fe8ffe11980b4" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters and\n              can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters and\n              can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="53a583cd5f15059cc958b7d547f72cc78f68e123" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n    on how to configure and enable the iSCSI Targets management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n    on how to configure and enable the iSCSI Targets management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="3b301d0044f62c92af0da53d7aaca52a436a547d" datatype="html">\n        <source>Available information:</source>\n        <target>이용가능한 정보:</target>\n      </trans-unit>\n      <trans-unit id="332227f088a4877b3c11f5fb3ae8bc812c470fae" datatype="html">\n        <source>iSCSI Targets not available</source>\n        <target>iSCSI 타겟이 이용 불가능합니다.</target>\n      </trans-unit>\n      <trans-unit id="8414a5cb9d71cc1b21b10e4a9d1f2dad558f3361" datatype="html">\n        <source>Discovery authentication</source>\n        <target>Discovery authentication</target>\n      </trans-unit>\n      <trans-unit id="0f6e8f6094b180eaf1f11bc0ffe383f1cdcd059e" datatype="html">\n        <source>Only available for RBD images with \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>fast-diff\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> enabled\n        </source>\n        <target>Only available for RBD images with \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>fast-diff\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> enabled\n        </target>\n      </trans-unit>\n      <trans-unit id="e70fcca5a99575cffef3ff8cbd5e69f06ffd0f1c" datatype="html">\n        <source>Pool</source>\n        <target>풀</target>\n      </trans-unit>\n      <trans-unit id="03cc5b14b0a20d075e9009ff021f4f1660ba348a" datatype="html">\n        <source>Data Pool</source>\n        <target>데이타 풀</target>\n      </trans-unit>\n      <trans-unit id="1b051734b0ee9021991c91b3ed4e81c244322462" datatype="html">\n        <source>Created</source>\n        <target>생성된</target>\n      </trans-unit>\n      <trans-unit id="7faaaa08f56427999f3be41df1093ce4089bbd75" datatype="html">\n        <source>Size</source>\n        <target>크기</target>\n      </trans-unit>\n      <trans-unit id="afdb601c16162f2c798b16a2920955f1cc6a20aa" datatype="html">\n        <source>Objects</source>\n        <target>오브젝트들</target>\n      </trans-unit>\n      <trans-unit id="ceac8e132384322ec778ba760875a6c6897d3e42" datatype="html">\n        <source>Object size</source>\n        <target>객체크기</target>\n      </trans-unit>\n      <trans-unit id="0a65771c9a73b9aa609d592fc96a64801a8f40bd" datatype="html">\n        <source>Provisioned</source>\n        <target>준비된</target>\n      </trans-unit>\n      <trans-unit id="84a36cb75660b736773fe36ffa3d54f0f0fe363e" datatype="html">\n        <source>N/A</source>\n        <target>이용불가</target>\n      </trans-unit>\n      <trans-unit id="e5c009342a4e8381f64341d0bb61c2e4685f5a4b" datatype="html">\n        <source>Total provisioned</source>\n        <target>준비된 총계</target>\n      </trans-unit>\n      <trans-unit id="7f6bf8a43ae415f527ac961ea62471b983aaa97b" datatype="html">\n        <source>Striping unit</source>\n        <target>스트라이핑 단위</target>\n      </trans-unit>\n      <trans-unit id="db710e8a8f011923f2d15d713fbae49c38b02b26" datatype="html">\n        <source>Striping count</source>\n        <target>스트라이핑 횟수</target>\n      </trans-unit>\n      <trans-unit id="3a4c2a9e76634ff14a60d52a718296f722d47c67" datatype="html">\n        <source>Parent</source>\n        <target>상위</target>\n      </trans-unit>\n      <trans-unit id="6a209e68d78ffc2cc9c53d2e76158624efab71ad" datatype="html">\n        <source>Block name prefix</source>\n        <target>블록 이름 접두사</target>\n      </trans-unit>\n      <trans-unit id="5704ec2049d007c5f5fb495a5d8b607e68d58081" datatype="html">\n        <source>Order</source>\n        <target>순서</target>\n      </trans-unit>\n      <trans-unit id="f21b1d17b6c5042bb5805516eee37fde33739dd8" datatype="html">\n        <source>Snapshots</source>\n        <target>스냅삿</target>\n      </trans-unit>\n      <trans-unit id="a5f9ba9bb9faa8284bcadb1cdbc6aaf969e9c4bb" datatype="html">\n        <source>Image</source>\n        <target>이미지</target>\n      </trans-unit>\n      <trans-unit id="58e58f1a8786da9031a05e6770c5dafce82badf5" datatype="html">\n        <source>This setting overrides the global value</source>\n        <target>이 설정은 전역 값을 덮어씁니다.</target>\n      </trans-unit>\n      <trans-unit id="5decb3917d46a9ac6e5813699801becb7c3c1455" datatype="html">\n        <source>Global</source>\n        <target>글로벌</target>\n      </trans-unit>\n      <trans-unit id="36b46714164964c6258b08ed0a25f57d8a950f92" datatype="html">\n        <source>This is the global value. No value for this option has been set for this image.</source>\n        <target>이것은 전역 값입니다. 이 이미지에 대해 이 옵션의 값이 설정되지 않았습니다.</target>\n      </trans-unit>\n      <trans-unit id="6547c9c4d5f62942ac4b1fe459cf9a03d4dbf5a0" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/> from\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/> from\n        </target>\n      </trans-unit>\n      <trans-unit id="0e9ecf29a4fa5b057bd8052e0d801b3fde6a30bf" datatype="html">\n        <source>\'/\' and \'@\' are not allowed.</source>\n        <target>\'/\' 와 \'@\' 문자는 사용불가입니다.</target>\n      </trans-unit>\n      <trans-unit id="b99417c4dd46286ffd37c8d2e987c8b512ec7052" datatype="html">\n        <source>-- No rbd pools available --</source>\n        <target>-- 이용가능한 rbd풀 없음 --</target>\n      </trans-unit>\n      <trans-unit id="ef83ec9c304a89d45650e580dcdc2978c37b3a83" datatype="html">\n        <source>-- Select a pool --</source>\n        <target>-- 풀 선택 --</target>\n      </trans-unit>\n      <trans-unit id="d649904466254d13df1fbf2d255f0bbc6553d213" datatype="html">\n        <source>-- No namespaces available --</source>\n        <target>-- No namespaces available --</target>\n      </trans-unit>\n      <trans-unit id="e22d7bb4d2d561e0832ee0b9a3da2468a080c4f0" datatype="html">\n        <source>-- Select a namespace --</source>\n        <target>-- Select a namespace --</target>\n      </trans-unit>\n      <trans-unit id="49449943d8cbf59d8c401c8bd2e76f92e207cc5f" datatype="html">\n        <source>Use a dedicated data pool</source>\n        <target>전용 데이타 풀들을 사용하세요</target>\n      </trans-unit>\n      <trans-unit id="870aee0dd31a9643bf62007beb8f1ae1deb34d42" datatype="html">\n        <source>Data pool</source>\n        <target>데이타 풀</target>\n      </trans-unit>\n      <trans-unit id="3792ca829d9b9f687e1f5d7733d30e9bb0bfec47" datatype="html">\n        <source>Dedicated pool that stores the object-data of the RBD.</source>\n        <target>RBD의 객체-데이타를 저장하고 있는 전용 풀</target>\n      </trans-unit>\n      <trans-unit id="0a88bbee20570aaf9615332fb27020627044874d" datatype="html">\n        <source>You have to increase the size.</source>\n        <target>사이즈를 증가시켜야 합니다.</target>\n      </trans-unit>\n      <trans-unit id="bc2e854e111ecf2bd7db170da5e3c2ed08181d88" datatype="html">\n        <source>Advanced</source>\n        <target>자세한</target>\n      </trans-unit>\n      <trans-unit id="3562a3778695a5f9c0445660e35301f0a39aaf73" datatype="html">\n        <source>Striping</source>\n        <target>분산저장</target>\n      </trans-unit>\n      <trans-unit id="ef3c3f3b5f562a5cdbe0ee2874287db1534b5958" datatype="html">\n        <source>Stripe unit</source>\n        <target>분산저장단위</target>\n      </trans-unit>\n      <trans-unit id="84471be1049006edecbcaef1a32ae0893c229c50" datatype="html">\n        <source>-- Select stripe unit --</source>\n        <target>-- 분산저장단위 선택 --</target>\n      </trans-unit>\n      <trans-unit id="8d32c5c54c8581c774a7f467fbd4e329b15a74fa" datatype="html">\n        <source>This field is required because stripe count is defined!</source>\n        <target>분산저장 개수가 정의되어 있으므로 이 필드는 필수입니다!</target>\n      </trans-unit>\n      <trans-unit id="6bbf9040be7c5491d4a03f2185708f43a6582a3b" datatype="html">\n        <source>Stripe unit is greater than object size.</source>\n        <target>분산저장단위는 객체크기보다 커야 합니다.</target>\n      </trans-unit>\n      <trans-unit id="a682f49f9b761591661276d7c6f550e641a130a4" datatype="html">\n        <source>Stripe count</source>\n        <target>분산저장 갯수</target>\n      </trans-unit>\n      <trans-unit id="baa74031990c5370008ba622d0a250f0929097f4" datatype="html">\n        <source>This field is required because stripe unit is defined!</source>\n        <target>분산저장 단위가 정의되어 있으므로 이 필드는 필수입니다!</target>\n      </trans-unit>\n      <trans-unit id="cd2ada6d5ecbd5cbf89eae0a1f5326efedac0dbc" datatype="html">\n        <source>Stripe count must be greater than 0.</source>\n        <target>분산저장 갯수는 반드시 0보다 커야 합니다.</target>\n      </trans-unit>\n      <trans-unit id="2c07d24bb422aa8e5e568df1c5709083f0a9c8f1" datatype="html">\n        <source>Create Namespace</source>\n        <target>Create Namespace</target>\n      </trans-unit>\n      <trans-unit id="0cca6c0485f96d3a9610d0339cb1275a5f2c3f46" datatype="html">\n        <source>Namespace already exists.</source>\n        <target>Namespace already exists.</target>\n      </trans-unit>\n      <trans-unit id="5c5331983af566d4ac6a1024d15a3511786a4aa6" datatype="html">\n        <source>You are about to rollback</source>\n        <target>롤백하려고 합니다.</target>\n      </trans-unit>\n      <trans-unit id="49c0408946a6d67185947f455f15cc201d0d78e6" datatype="html">\n        <source>Purge Trash</source>\n        <target>휴지통 비우기</target>\n      </trans-unit>\n      <trans-unit id="681501eecd7f44d4b7a2f619605b36676e04c5b6" datatype="html">\n        <source>To purge, select one or</source>\n        <target>To purge, select one or</target>\n      </trans-unit>\n      <trans-unit id="dfc3c34e182ea73c5d784ff7c8135f087992dac1" datatype="html">\n        <source>All</source>\n        <target>모든</target>\n      </trans-unit>\n      <trans-unit id="ea5d338dcef50ff5c24439fd784f6a67b594c33f" datatype="html">\n        <source>pools and click</source>\n        <target>pools and click</target>\n      </trans-unit>\n      <trans-unit id="55a4f598a4894b7fd5cb88f0ffd3c37ad009dd70" datatype="html">\n        <source>Pool:</source>\n        <target>풀:</target>\n      </trans-unit>\n      <trans-unit id="d43dd2b9f7797e4cf3a604695bb33e4479108516" datatype="html">\n        <source>Pool name...</source>\n        <target>풀 이름:</target>\n      </trans-unit>\n      <trans-unit id="b0e7c7ed1d51a0c205c815048bc9f79e24ee6db2" datatype="html">\n        <source>Restore Image</source>\n        <target>이미지 복구하기</target>\n      </trans-unit>\n      <trans-unit id="7369384817e0ad61ce871c9afdfbb538df2f97c1" datatype="html">\n        <source>To restore</source>\n        <target>복구를 위해</target>\n      </trans-unit>\n      <trans-unit id="e7f0abefc608f7fb452c2dc9b1cdc3dec432160e" datatype="html">\n        <source>type the image\'s new name and click</source>\n        <target>이미지들의 새로운 이름을 입력하고 클릭하세요</target>\n      </trans-unit>\n      <trans-unit id="41307dd56fea669eed72e12a6c23af275f6bfd82" datatype="html">\n        <source>New Name</source>\n        <target>새로운 이름</target>\n      </trans-unit>\n      <trans-unit id="5c96a761dc55a21882c132c929583a424c9b8cf4" datatype="html">\n        <source>Expired at</source>\n        <target>폐기될</target>\n      </trans-unit>\n      <trans-unit id="661041e3fcff4d3e75c561e038ca2504cf2cc643" datatype="html">\n        <source>Protected until</source>\n        <target>까지 보호됨</target>\n      </trans-unit>\n      <trans-unit id="0ee3b2322a1d3277f7e3fdb8a5141ac42bcf350b" datatype="html">\n        <source>This image is protected until \n          <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.\n        </source>\n        <target>This image is protected until \n          <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="a674ab267d1934bf395f87ca1503fd474296893f" datatype="html">\n        <source>iSCSI Topology</source>\n        <target>iSCSI 토폴로지</target>\n      </trans-unit>\n      <trans-unit id="051dcc342cfa5c1eaf187a2001aaa162379a160c" datatype="html">\n        <source>Configure</source>\n        <target>Configure</target>\n      </trans-unit>\n      <trans-unit id="9e515f954730279c31d5301f02479666d6264e8b" datatype="html">\n        <source>Changing these parameters from their default values is usually not necessary.</source>\n        <target>기본설정 값들로 부터 인자를 변경하는 것은 일반적으로 필요하지 않습니다.</target>\n      </trans-unit>\n      <trans-unit id="4e2591df099ddac796cda401c5f282da779d45f2" datatype="html">\n        <source>Identifier</source>\n        <target>Identifier</target>\n      </trans-unit>\n      <trans-unit id="62480a4859976427cf18fc8ef41d3a438eda0412" datatype="html">\n        <source>lun</source>\n        <target>lun</target>\n      </trans-unit>\n      <trans-unit id="8afc9eb4405e0aa554b2ba14140ef790cdecc040" datatype="html">\n        <source>wwn</source>\n        <target>wwn</target>\n      </trans-unit>\n      <trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html">\n        <source>Settings</source>\n        <target>설정들</target>\n      </trans-unit>\n      <trans-unit id="69a47cbabcc51ca942606e1d8da0ec11f98a2690" datatype="html">\n        <source>Backstore</source>\n        <target>백스토어</target>\n      </trans-unit>\n      <trans-unit id="68e710782ccb5398b3acb8844caf0b199da2c3da" datatype="html">\n        <source>Confirm</source>\n        <target>확인</target>\n      </trans-unit>\n      <trans-unit id="339878da255ab55447c43afef8d9b2f9753bf5f6" datatype="html">\n        <source>Advanced Settings</source>\n        <target>고급설정들</target>\n      </trans-unit>\n      <trans-unit id="1406c2fb12a20c1528b19bcc5e24a6a2386167f3" datatype="html">\n        <source>Target IQN</source>\n        <target>타겟 IQN</target>\n      </trans-unit>\n      <trans-unit id="5fe42339be910372fa689f559155631862d218e8" datatype="html">\n        <source>IQN has wrong pattern.</source>\n        <target>IQN이 잘못된 패턴을 가지고 있습니다.</target>\n      </trans-unit>\n      <trans-unit id="050a7ff057d1e895357540406b6be5652b4d1c71" datatype="html">\n        <source>An IQN has the following notation\n                \'iqn.$year-$month.$reversedAddress:$definedName\'</source>\n        <target>An IQN has the following notation\n                \'iqn.$year-$month.$reversedAddress:$definedName\'</target>\n      </trans-unit>\n      <trans-unit id="c8ada4b53396d8366db00a435acc61d53d857047" datatype="html">\n        <source>For example: iqn.2016-06.org.dashboard:storage:disk.sn-a8675309</source>\n        <target>Key\n예를들면: iqn.2016-06.org.dashboard:storage:disk.sn-a8675309</target>\n      </trans-unit>\n      <trans-unit id="e60c11e1b1dfbbeda577364b8de39ded2d796c5e" datatype="html">\n        <source>More information</source>\n        <target>추가 정보</target>\n      </trans-unit>\n      <trans-unit id="9b1aa85dfc6849196e64060db02c5410de69b7a1" datatype="html">\n        <source>This target has modified advanced settings.</source>\n        <target>이 타겟은 고급설정들을 수정했습니다.</target>\n      </trans-unit>\n      <trans-unit id="6990ad8d6182662e864495ac31c3758cda1c7a28" datatype="html">\n        <source>Portals</source>\n        <target>포털</target>\n      </trans-unit>\n      <trans-unit id="6a3ac2b4137d723fd9878cd357c2012ff6c07973" datatype="html">\n        <source>Add portal</source>\n        <target>포털 추가</target>\n      </trans-unit>\n      <trans-unit id="c3638c01b6c34066438909713ec96087c813fc7e" datatype="html">\n        <source>At least \n          <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.\n        </source>\n        <target>At least \n          <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.\n        </target>\n      </trans-unit>\n      <trans-unit id="9aff25be088f0efe3eaaf62edf2bff41cc41a617" datatype="html">\n        <source>Backstore: \n          <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. \n        </source>\n        <target>Backstore: \n          <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. \n        </target>\n      </trans-unit>\n      <trans-unit id="e3484cae8b118c576ca2815bf9c9406c2eb2cae3" datatype="html">\n        <source>This image has modified settings.</source>\n        <target>이 이미지는 설정들을 수정했습니다. </target>\n      </trans-unit>\n      <trans-unit id="1dff11e0820b6722ab240169f1232d70a54beaaa" datatype="html">\n        <source>Duplicated LUN numbers.</source>\n        <target>Duplicated LUN numbers.</target>\n      </trans-unit>\n      <trans-unit id="bf2dccf92ccff6e3b091792bf4205595406e1bfb" datatype="html">\n        <source>Duplicated WWN.</source>\n        <target>Duplicated WWN.</target>\n      </trans-unit>\n      <trans-unit id="808038f912fdc7f0e03f82d4afd3bf9178527fc8" datatype="html">\n        <source>Add image</source>\n        <target>이미지 추가</target>\n      </trans-unit>\n      <trans-unit id="66c5fb27f52e75b70ca4b670b9b15a2a51cf9543" datatype="html">\n        <source>ACL authentication</source>\n        <target>ACL 인증</target>\n      </trans-unit>\n      <trans-unit id="419c8b402609dcf49ae4932a5a4647dc8d79bbaf" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n                can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Usernames must have a length of 8 to 64 characters and\n                can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</target>\n      </trans-unit>\n      <trans-unit id="938050960d6653fddfcfd42425e18fb35a308262" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n                and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n                and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="f494bd31f095f6dcc656ce87ec2dcf07a2e9b30c" datatype="html">\n        <source>Initiators</source>\n        <target>개시자들</target>\n      </trans-unit>\n      <trans-unit id="e98239d8a6be1100119ff4b5630c822b82786740" datatype="html">\n        <source>Initiator</source>\n        <target>개시자들</target>\n      </trans-unit>\n      <trans-unit id="f2c5059d8cda15d8d03e2cce30f2d139623d9a91" datatype="html">\n        <source>Client IQN</source>\n        <target>클라이언트 IQN</target>\n      </trans-unit>\n      <trans-unit id="107d5aabce23d900f0a80e6ddc1c10e29aa0bed8" datatype="html">\n        <source>Initiator IQN needs to be unique.</source>\n        <target>개시자 IQN은 유일해야 합니다.</target>\n      </trans-unit>\n      <trans-unit id="bbf0b34a3fcc80800fcb44b9e1e86931a530dfe3" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n                        can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>사용자이름은 8~64자까지 길이의 문자들을 가져야 하며 그리고, 오직 , \'.\', \'@\', \'-\', \'_\', \':\' 등의 특수 문자들만 포함이 가능합니다.</target>\n      </trans-unit>\n      <trans-unit id="fdfee5d7a27e1bdd97a176097277bee078de6aaf" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n                        and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n                        and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="8406eb7415ee40e54d9ecb209abb056f06e3d666" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters and\n                        can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters and\n                        can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="5d1878d5fc761cbe9614bfd87047a740c82a6951" datatype="html">\n        <source>Initiator belongs to a group. Images will be configure in the group.</source>\n        <target>개시자는 하나의 그룹에 속해야 하고, 이미지는 그룹안에서 설정합니다.</target>\n      </trans-unit>\n      <trans-unit id="c0de67b9d97fafbf200f9451e8388ee8128a56ac" datatype="html">\n        <source>No items added.</source>\n        <target>추가된 아이템들이 없음</target>\n      </trans-unit>\n      <trans-unit id="d565e47726158e428ecdc952fc9233b9b7d7f049" datatype="html">\n        <source>Add initiator</source>\n        <target>게시자 추가</target>\n      </trans-unit>\n      <trans-unit id="c22ba03540aa3217da059f45e7eab138b51a96e2" datatype="html">\n        <source>Groups</source>\n        <target>그룹들</target>\n      </trans-unit>\n      <trans-unit id="4c90059afafb7e160384d9f512797c95bb95c6dc" datatype="html">\n        <source>Group</source>\n        <target>그룹</target>\n      </trans-unit>\n      <trans-unit id="3084948274cff4f56d0f431af47240e9cf02fcc7" datatype="html">\n        <source>Add group</source>\n        <target>그룹추가</target>\n      </trans-unit>\n      <trans-unit id="c3a7e364a88ea4673199dfa98bc73e6dbe09dfac" datatype="html">\n        <source>Namespaces</source>\n        <target>Namespaces</target>\n      </trans-unit>\n      <trans-unit id="aba82bfd8e177d35b76cad7cd43941f8e5e5acac" datatype="html">\n        <source>Trash</source>\n        <target>휴지통</target>\n      </trans-unit>\n      <trans-unit id="66db799d67958d4b0765181d072df62e2d1c16f5" datatype="html">\n        <source>Issues</source>\n        <target>이슈들</target>\n      </trans-unit>\n      <trans-unit id="ef06d69259e587e28d52372455f44c7153cda7e7" datatype="html">\n        <source>Syncing</source>\n        <target>동기화중</target>\n      </trans-unit>\n      <trans-unit id="0b0901877d837d3fda16ba161eb74368d1c75b7a" datatype="html">\n        <source>Ready</source>\n        <target>준비됨</target>\n      </trans-unit>\n      <trans-unit id="4057c56d63a7e9b140b1d01871a9229a5f30eb27" datatype="html">\n        <source>Edit pool mirror mode</source>\n        <target>풀 미러모드를 편집하기</target>\n      </trans-unit>\n      <trans-unit id="e1f367f5feaab38f6637dd1f967c848b447dea2d" datatype="html">\n        <source>To edit the mirror mode for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>, select a new mode from the list and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>To edit the mirror mode for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>, select a new mode from the list and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="32ca348ef926b0a6a7a780b8b64c3a8239895cec" datatype="html">\n        <source>Peer clusters must be removed prior to disabling mirror.</source>\n        <target>상대방 클러스터들은 미러를 단절하기 전에 반드시 제거되어야 합니다.</target>\n      </trans-unit>\n      <trans-unit id="fa61522d482349707fd7dd03b90dc5781611b17f" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/>\n  pool mirror peer\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/>\n  pool mirror peer\n        </target>\n      </trans-unit>\n      <trans-unit id="4ddcb416c1c0aa1f54acf5beef1de81813e76fa6" datatype="html">\n        <source>{VAR_SELECT, select, edit {Edit} other {Add} }</source>\n        <target>{VAR_SELECT, select, edit {Edit} other {Add} }</target>\n      </trans-unit>\n      <trans-unit id="59ca65ece457429d90104ede4674965f62edbabe" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/> the pool\n          mirror peer attributes for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> and click\n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Submit\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/> the pool\n          mirror peer attributes for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> and click\n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Submit\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="d3cc964811f852a168f4a2d5daa59068abc5cf53" datatype="html">\n        <source>Cluster Name</source>\n        <target>클러스터 이름</target>\n      </trans-unit>\n      <trans-unit id="b631721fc56cb7fb1cbd07b802a487c5753f6a2d" datatype="html">\n        <source>The cluster name is not valid.</source>\n        <target>클러스터 이름이 유효하지 않습니다.</target>\n      </trans-unit>\n      <trans-unit id="ca6deafa31bf421f85094807982aee4bcb20a3ae" datatype="html">\n        <source>CephX ID</source>\n        <target>CephX 아이디</target>\n      </trans-unit>\n      <trans-unit id="7539188a568c3d553cbde1bacaf32310c4264e24" datatype="html">\n        <source>CephX ID...</source>\n        <target>CephX 아이디...</target>\n      </trans-unit>\n      <trans-unit id="a1c45b594b0fba22fc64e80c793a7ffe005fdb0e" datatype="html">\n        <source>The CephX ID is not valid.</source>\n        <target>CephX 아이디가 유효하지 않습니다.</target>\n      </trans-unit>\n      <trans-unit id="20861576fcfce773c918c782cd4f5adf32382921" datatype="html">\n        <source>Monitor Addresses</source>\n        <target>모니터 주소들</target>\n      </trans-unit>\n      <trans-unit id="fa28eeed2b4bd4ccbe6e9349a1c2b3cb1c5de70a" datatype="html">\n        <source>Comma-delimited addresses...</source>\n        <target>콤마로 분리된 주소들...</target>\n      </trans-unit>\n      <trans-unit id="dc016c82fd85848d5c1b2fd0e8469ee2027d9c16" datatype="html">\n        <source>The monitory address is not valid.</source>\n        <target>모니터 주소가 유효하지 않습니다.</target>\n      </trans-unit>\n      <trans-unit id="e0ac55b83dc6739e62bc655cfe375b67c93e7f4a" datatype="html">\n        <source>CephX Key</source>\n        <target>CephX 키</target>\n      </trans-unit>\n      <trans-unit id="f53434bcb95bd86f1df9c8e22966f757614fc4ad" datatype="html">\n        <source>Base64-encoded key...</source>\n        <target>Base64로 인코딩 된 키 ...</target>\n      </trans-unit>\n      <trans-unit id="4cd83164cd4f66b4abc2863f9ce6f599d789e4ca" datatype="html">\n        <source>CephX key must be base64 encoded.</source>\n        <target>CephX 키는 반드시 base64로 인코드 되어야 합니다.</target>\n      </trans-unit>\n      <trans-unit id="ca53d681a9892d6fdbb57ee9676582186515e961" datatype="html">\n        <source>Performance counters not available</source>\n        <target>성능 카운터들을 사용 할 수 없음</target>\n      </trans-unit>\n      <trans-unit id="9424badb7e0c6ac792d020d7830645b529a80aad" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the Object Gateway management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the Object Gateway management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="479488ab6e91ecb375484edc78bee3d13467f33f" datatype="html">\n        <source>Daemons List</source>\n        <target>데몬 목록들</target>\n      </trans-unit>\n      <trans-unit id="eeba399c4dae8d4890c27b7a2cd2dc28fcf8b5f9" datatype="html">\n        <source>Performance Counters</source>\n        <target>성능 카운터</target>\n      </trans-unit>\n      <trans-unit id="5f67f2247b9c6bbaf24a0f2d37f4ac0537c6fa53" datatype="html">\n        <source>Loading bucket data...</source>\n        <target>버킷데이타 적재 중</target>\n      </trans-unit>\n      <trans-unit id="2798cc1e152b1ec07fd8daf94a2a073d1ba1ebcc" datatype="html">\n        <source>Id</source>\n        <target>아이디</target>\n      </trans-unit>\n      <trans-unit id="db4e1a734518691b128ef40b939cc673f01d03a6" datatype="html">\n        <source>The value is not valid.</source>\n        <target>값이 유효하지 않습니다.</target>\n      </trans-unit>\n      <trans-unit id="eabb4db920d9f9b2480cf438468b86e1bea02a9b" datatype="html">\n        <source>The chosen name is already in use.</source>\n        <target>선택한 이름이 이미 사용중입니다.</target>\n      </trans-unit>\n      <trans-unit id="0ee5132a8da30e0b7f9f5c70dbc91928d17dd909" datatype="html">\n        <source>Owner</source>\n        <target>소유자</target>\n      </trans-unit>\n      <trans-unit id="8e4c918357c7445fbf19a203e5f0f0ece1960b3b" datatype="html">\n        <source>-- Select a user --</source>\n        <target>-- 사용자 선택 --</target>\n      </trans-unit>\n      <trans-unit id="a4aab1f837bc8ec222e4f25922465d1c5929a1fc" datatype="html">\n        <source>Placement target</source>\n        <target>Placement target</target>\n      </trans-unit>\n      <trans-unit id="6bae0a7fc2c9c1fde7d937a8a1a3c7e6825cf7d1" datatype="html">\n        <source>-- Select a placement target --</source>\n        <target>-- Select a placement target --</target>\n      </trans-unit>\n      <trans-unit id="efeade5060b3add63863c24871f0830fb16b7e6d" datatype="html">\n        <source>Versioning</source>\n        <target>Versioning</target>\n      </trans-unit>\n      <trans-unit id="f50a33d3c339f8f4a465141f8caa5d2d8c005251" datatype="html">\n        <source>Enabled</source>\n        <target>이용가능</target>\n      </trans-unit>\n      <trans-unit id="016d24e069e7d505a090fb8243e5cd43b35dc39b" datatype="html">\n        <source>Enables versioning for the objects in the bucket.</source>\n        <target>Enables versioning for the objects in the bucket.</target>\n      </trans-unit>\n      <trans-unit id="9e6775ffd06878aa145c07359f28557f01ede04f" datatype="html">\n        <source>Multi-Factor Authentication</source>\n        <target>Multi-Factor Authentication</target>\n      </trans-unit>\n      <trans-unit id="29e8a5d4fb767d4ad0c762c81c6264cec4c0ba97" datatype="html">\n        <source>Delete enabled</source>\n        <target>Delete enabled</target>\n      </trans-unit>\n      <trans-unit id="40fbc3ac8c1ea4ecfe62247e91f1f999ad5baf76" datatype="html">\n        <source>Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state.</source>\n        <target>Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state.</target>\n      </trans-unit>\n      <trans-unit id="d24c93a8c13db46defa06ed7b5e026a3edb52b91" datatype="html">\n        <source>Token Serial Number</source>\n        <target>Token Serial Number</target>\n      </trans-unit>\n      <trans-unit id="e6d9536c2af2e5e9a228c3e3e1809dc1fefe0149" datatype="html">\n        <source>Token PIN</source>\n        <target>Token PIN</target>\n      </trans-unit>\n      <trans-unit id="7b84370895ab9eb44672f57146fa05c5947f1c0c" datatype="html">\n        <source>Locking</source>\n        <target>Locking</target>\n      </trans-unit>\n      <trans-unit id="f038d51ab1645f15b0cd58f195c72a7eeebd4729" datatype="html">\n        <source>Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket.</source>\n        <target>Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket.</target>\n      </trans-unit>\n      <trans-unit id="9af1b4baa2dd8ed2bfc3cc756b12a2271c2dd793" datatype="html">\n        <source>Compliance</source>\n        <target>Compliance</target>\n      </trans-unit>\n      <trans-unit id="edd600fa489d1b4a4448dce694ed932e52ce8fda" datatype="html">\n        <source>Governance</source>\n        <target>Governance</target>\n      </trans-unit>\n      <trans-unit id="a5c3d9d2296f7886e8289b9f623323803deacfc6" datatype="html">\n        <source>Days</source>\n        <target>Days</target>\n      </trans-unit>\n      <trans-unit id="218c7d6d318c51e7105309aaeb0baec9d19e4efb" datatype="html">\n        <source>The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</source>\n        <target>The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</target>\n      </trans-unit>\n      <trans-unit id="289b101ec12427b3ca819df9e43cc3b14fae2cc4" datatype="html">\n        <source>The entered value must be a positive integer.</source>\n        <target>The entered value must be a positive integer.</target>\n      </trans-unit>\n      <trans-unit id="def9fc628134d3a044b7c0ad2a83c846bdad56f1" datatype="html">\n        <source>Retention period requires either Days or Years.</source>\n        <target>Retention period requires either Days or Years.</target>\n      </trans-unit>\n      <trans-unit id="003c94fc143882ac8af6251a1595fe62978fe3e6" datatype="html">\n        <source>Years</source>\n        <target>Years</target>\n      </trans-unit>\n      <trans-unit id="14c6189ead0951f13049c7bf9af7642d0c41957a" datatype="html">\n        <source>The number of years that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</source>\n        <target>The number of years that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</target>\n      </trans-unit>\n      <trans-unit id="45cc8ca94b5a50842a9a8ef804a5ab089a38ae5c" datatype="html">\n        <source>ID</source>\n        <target>아이디</target>\n      </trans-unit>\n      <trans-unit id="e5c51963a9c553b29427ef783bbb69fa6634fa8c" datatype="html">\n        <source>Index type</source>\n        <target>색인형식</target>\n      </trans-unit>\n      <trans-unit id="8e6f950a32eaea32ec7e192f9ca3d3dfe469d4ba" datatype="html">\n        <source>Placement rule</source>\n        <target>위치규칙</target>\n      </trans-unit>\n      <trans-unit id="6972d213e31c4ea4f887e60db99d9881bc8fcd3e" datatype="html">\n        <source>Marker</source>\n        <target>표시</target>\n      </trans-unit>\n      <trans-unit id="47b02acd2d3254d1ace1926f840523f154ebef71" datatype="html">\n        <source>Maximum marker</source>\n        <target>최대 마커</target>\n      </trans-unit>\n      <trans-unit id="8fe73a4787b8068b2ba61f54ab7e0f9af2ea1fc9" datatype="html">\n        <source>Version</source>\n        <target>버젼</target>\n      </trans-unit>\n      <trans-unit id="092fa3a7df9168b14d3f83a77a4035e92b92ce15" datatype="html">\n        <source>Master version</source>\n        <target>마스터 버젼</target>\n      </trans-unit>\n      <trans-unit id="97434cc5001d407f90c7447a12d9e8e6848a2aa3" datatype="html">\n        <source>Modification time</source>\n        <target>수정된 시간</target>\n      </trans-unit>\n      <trans-unit id="90fe2e41e7fde38453ce4e619efeea9bc6adea9c" datatype="html">\n        <source>Zonegroup</source>\n        <target>제로그룹</target>\n      </trans-unit>\n      <trans-unit id="62a923f047ca49e7a4782629e91fea1ba32db68f" datatype="html">\n        <source>MFA Delete</source>\n        <target>MFA Delete</target>\n      </trans-unit>\n      <trans-unit id="649a410bd0ace333d067d8fa22f12bdbdb43533b" datatype="html">\n        <source>Bucket quota</source>\n        <target>버킷 할당량</target>\n      </trans-unit>\n      <trans-unit id="cef1595d040e77cbb4466e60382028d4c2040cac" datatype="html">\n        <source>Maximum size</source>\n        <target>최대 크기</target>\n      </trans-unit>\n      <trans-unit id="aa6fb95c355f172bda303de1ce2f38c251a149cf" datatype="html">\n        <source>Unlimited</source>\n        <target>무제한</target>\n      </trans-unit>\n      <trans-unit id="ee862a800364b4d11f9b8cb9955a28a60f840a45" datatype="html">\n        <source>Maximum objects</source>\n        <target>최대 객체들</target>\n      </trans-unit>\n      <trans-unit id="08c74dc9762957593b91f6eb5d65efdfc975bf48" datatype="html">\n        <source>Username</source>\n        <target>사용자명</target>\n      </trans-unit>\n      <trans-unit id="49c614babd1950adb2be75df4e2c9747286d6adc" datatype="html">\n        <source>-- Select a username --</source>\n        <target>-- 사용자명 선택 --</target>\n      </trans-unit>\n      <trans-unit id="c217ee914725a37e9dd2336c721c8e63e9666bdc" datatype="html">\n        <source>Auto-generate key</source>\n        <target>자동생성된 키</target>\n      </trans-unit>\n      <trans-unit id="2f1c1c0f2bce4c9f92d1a2061e8161cb0006c31a" datatype="html">\n        <source>Access key</source>\n        <target>접근 키</target>\n      </trans-unit>\n      <trans-unit id="b864acb67296a9819c1db0069c4c47d8b5ce8f44" datatype="html">\n        <source>Secret key</source>\n        <target>비밀 키</target>\n      </trans-unit>\n      <trans-unit id="b760f123248930122fc7e7b6b6bf94e376e959c8" datatype="html">\n        <source>Full name</source>\n        <target>전체 이름</target>\n      </trans-unit>\n      <trans-unit id="69b6ac577a19acc39fc0c22342092f327fff2529" datatype="html">\n        <source>Email address</source>\n        <target>전자우편 주소</target>\n      </trans-unit>\n      <trans-unit id="92f3f203270a29b3001871153f02c063484a1574" datatype="html">\n        <source>Suspended</source>\n        <target>유예되다.</target>\n      </trans-unit>\n      <trans-unit id="8011e20c5bbe51602d459a860fbf29b599b55edd" datatype="html">\n        <source>System</source>\n        <target>시스템</target>\n      </trans-unit>\n      <trans-unit id="db18a2772988415466a7f75dc42663ce78c9c1d3" datatype="html">\n        <source>Maximum buckets</source>\n        <target>최대 버킷들</target>\n      </trans-unit>\n      <trans-unit id="2c4c62e8ba24601be5cfe7dc5d32c24bbbd4b53c" datatype="html">\n        <source>Subusers</source>\n        <target>보조사용자들</target>\n      </trans-unit>\n      <trans-unit id="17bb3082e6fe5003203ef992a3714172334631a1" datatype="html">\n        <source>Capabilities</source>\n        <target>능력치들</target>\n      </trans-unit>\n      <trans-unit id="36ad38f9c1a1485e09b67778a28af84553290ffb" datatype="html">\n        <source>User quota</source>\n        <target>사용자 할당량</target>\n      </trans-unit>\n      <trans-unit id="2aba1e87039819aca3b70faa9aa848c12bf139ca" datatype="html">\n        <source>Show</source>\n        <target>보기</target>\n      </trans-unit>\n      <trans-unit id="0bcd5ef19af0f1b814141ca8c57df623d8270088" datatype="html">\n        <source>Keys</source>\n        <target>키들</target>\n      </trans-unit>\n      <trans-unit id="f61c6867295f3b53d23557021f2f4e0aa1d0b8fc" datatype="html">\n        <source>Type</source>\n        <target>형태</target>\n      </trans-unit>\n      <trans-unit id="1221ca97d19eaa9a7bc0c5243d5fc5befe1d2314" datatype="html">\n        <source>-- Select a type --</source>\n        <target>-- 형태 선택 --</target>\n      </trans-unit>\n      <trans-unit id="d1b8990332af18f1c5159a6061ca889bcbb28432" datatype="html">\n        <source>Permission</source>\n        <target>권한</target>\n      </trans-unit>\n      <trans-unit id="a08c589f82f69d892307288da14190ae1dd583d5" datatype="html">\n        <source>-- Select a permission --</source>\n        <target>-- 권한 선택 --</target>\n      </trans-unit>\n      <trans-unit id="b2841767821d6b66238c34d07e413b0af67aee92" datatype="html">\n        <source>Subuser</source>\n        <target>보조사용자</target>\n      </trans-unit>\n      <trans-unit id="bd59fc25a7bd98cff3e75117c09697c8a007a514" datatype="html">\n        <source>The chosen subuser ID is already in use.</source>\n        <target>선택한 보조사용자 아이디가 이미 사용중입니다.</target>\n      </trans-unit>\n      <trans-unit id="3d386c357ebcbc04ed05c4babd5a03626f9b1674" datatype="html">\n        <source>read, write</source>\n        <target>읽기, 쓰기</target>\n      </trans-unit>\n      <trans-unit id="84e3e3f9a4f31a039b648c97debf95fcb20f4c4a" datatype="html">\n        <source>full</source>\n        <target>가득찬</target>\n      </trans-unit>\n      <trans-unit id="b6bf81d032a2316464f9df2f0d2f3d753f89f0d3" datatype="html">\n        <source>Swift key</source>\n        <target>스위프트 키</target>\n      </trans-unit>\n      <trans-unit id="1e0c12685d50d47448ceed9423977ef39775c037" datatype="html">\n        <source>Auto-generate secret</source>\n        <target>자동생선된 비밀</target>\n      </trans-unit>\n      <trans-unit id="3d1c7a6004bd5d86a7fa096ae24209e8aa7a53e3" datatype="html">\n        <source>Loading user data...</source>\n        <target>사용자 데이타 적재 중...</target>\n      </trans-unit>\n      <trans-unit id="faa5d834ab28571423d794d32b57998920efb65f" datatype="html">\n        <source>The user data could not be loaded.</source>\n        <target>사용자 데이타를 적재할 수 없습니다.</target>\n      </trans-unit>\n      <trans-unit id="6aaf5d2a304167272ac73e3b1d1c162e16c77858" datatype="html">\n        <source>The chosen user ID is already in use.</source>\n        <target>선택된 사용자 아이디가 이미 사용 중입니다.</target>\n      </trans-unit>\n      <trans-unit id="df441e80db2157f9d272b75de724ba4a82b96b57" datatype="html">\n        <source>This is not a valid email address.</source>\n        <target>이것은 유효한 전자우편 주소가 아닙니다.</target>\n      </trans-unit>\n      <trans-unit id="ca271adf154956b8fcb28f4f50a37acb3057ff7c" datatype="html">\n        <source>The chosen email address is already in use.</source>\n        <target>선택한 전자우편 주소가 이미 사용 중입니다.</target>\n      </trans-unit>\n      <trans-unit id="030197cebe938edf35422e92fe14183d06eb670b" datatype="html">\n        <source>Max. buckets</source>\n        <target>최대 버킷들</target>\n      </trans-unit>\n      <trans-unit id="f39256070bfc0714020dfee08895421fc1527014" datatype="html">\n        <source>Disabled</source>\n        <target>설정해제됨</target>\n      </trans-unit>\n      <trans-unit id="a5c05002b0ac2040f1aede5e727e0ffd06eda819" datatype="html">\n        <source>Custom</source>\n        <target>커스텀</target>\n      </trans-unit>\n      <trans-unit id="28872515cb81d197a3a1733fa546d3e0f0dd6c67" datatype="html">\n        <source>The entered value must be &gt;= 1.</source>\n        <target>The entered value must be &gt;= 1.</target>\n      </trans-unit>\n      <trans-unit id="583a219c524155c2314eb06ee29162bb315272a3" datatype="html">\n        <source>S3 key</source>\n        <target>S3 키</target>\n      </trans-unit>\n      <trans-unit id="128d6efb51d9ddc7c0cc695a2deeca5b9523f6e4" datatype="html">\n        <source>There are no subusers.</source>\n        <target>보조사용자가 없습니다.</target>\n      </trans-unit>\n      <trans-unit id="7fd6dfb8ecb982dbc3affb2c2d5414c4f5b6abd2" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ subuserLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ subuserLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="67c746c1ba9dab4351fedc4c7cba4e6d6b0dbc47" datatype="html">\n        <source>S3</source>\n        <target>S3</target>\n      </trans-unit>\n      <trans-unit id="d6819038d608623503918fb2553f53d68231ec3a" datatype="html">\n        <source>There are no keys.</source>\n        <target>키가 없습니다.</target>\n      </trans-unit>\n      <trans-unit id="fc1c1a7140ff6b815a95b65ee2780fdbe1b2b7a1" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ s3keyLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ s3keyLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6ddb5e991a3ecd2659fb520bc5acc81b67e08ddd" datatype="html">\n        <source>Swift</source>\n        <target>스위프트</target>\n      </trans-unit>\n      <trans-unit id="1d01eccdda47fc907c5be35bcb16d2dcd02b0270" datatype="html">\n        <source>There are no capabilities.</source>\n        <target>능력치가 없습니다.</target>\n      </trans-unit>\n      <trans-unit id="043e2ec0036ceadd926fd5e3f93cd6f3565f3648" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.ADD | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.ADD | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="f5a451c4ea65a4046f0b49d489a7013abf0b5861" datatype="html">\n        <source>All capabilities are already added.</source>\n        <target>All capabilities are already added.</target>\n      </trans-unit>\n      <trans-unit id="6146e13ceca5fa5cc17b771b282fe5955f3d19fa" datatype="html">\n        <source>Unlimited size</source>\n        <target>무제한 크기</target>\n      </trans-unit>\n      <trans-unit id="f6db8aa7c99fdce18edb33dde57729acede2b308" datatype="html">\n        <source>Max. size</source>\n        <target>최대 크기</target>\n      </trans-unit>\n      <trans-unit id="fc630b2093e880fffa19df99d5cd8b87605037f8" datatype="html">\n        <source>Unlimited objects</source>\n        <target>무제한 객체들</target>\n      </trans-unit>\n      <trans-unit id="6cda5a993d06f0bb10048be9d3aba6555aa9f356" datatype="html">\n        <source>Max. objects</source>\n        <target>최대 객체들</target>\n      </trans-unit>\n      <trans-unit id="623ac50f37a26caec6fd7cd519b653e3315cba25" datatype="html">\n        <source>The entered value must be &gt;= 0.</source>\n        <target>입력된 값은 반드시 0보다 커야 합니다.</target>\n      </trans-unit>\n      <trans-unit id="1ea5c4d8942c00752dcc72e72949c5d9832f6399" datatype="html">\n        <source>Description...</source>\n        <target>세부설명...</target>\n      </trans-unit>\n      <trans-unit id="70f45880fce6ac5d8e468e25e82aefbba8098cfe" datatype="html">\n        <source>Permissions</source>\n        <target>권한들</target>\n      </trans-unit>\n      <trans-unit id="9610487cbeb5796d34d8601b5ac0c0a65f9e1d19" datatype="html">\n        <source>Roles</source>\n        <target>역할들</target>\n      </trans-unit>\n      <trans-unit id="7f3bdcce4b2e8c37cd7f0f6c92ef8cff34b039b8" datatype="html">\n        <source>Confirm password</source>\n        <target>암호 확인</target>\n      </trans-unit>\n      <trans-unit id="cbb979e63ba50e0ca3adfa09cbdcaefd0853fca1" datatype="html">\n        <source>Password confirmation doesn\'t match the password.</source>\n        <target>암호 확인이 암호와 일치하지 않습니다.</target>\n      </trans-unit>\n      <trans-unit id="96621f9ed2e4ae5204564e583d2c816bedead571" datatype="html">\n        <source>Password expiration date</source>\n        <target>Password expiration date</target>\n      </trans-unit>\n      <trans-unit id="48932db3801fe9d5d72a60a3e656bffd17c1c5d9" datatype="html">\n        <source>Password expiration date...</source>\n        <target>Password expiration date...</target>\n      </trans-unit>\n      <trans-unit id="244aae9346da82b0922506c2d2581373a15641cc" datatype="html">\n        <source>Email</source>\n        <target>전자우편</target>\n      </trans-unit>\n      <trans-unit id="d0ec081dd61eb4f43aea269077bbe38eae87b7f9" datatype="html">\n        <source>Invalid email.</source>\n        <target>유효하지않는 전자우편.</target>\n      </trans-unit>\n      <trans-unit id="8913c216dd506e20e412e144381d8d2a65a84359" datatype="html">\n        <source>User must change password at next logon</source>\n        <target>User must change password at next logon</target>\n      </trans-unit>\n      <trans-unit id="0051a3479d3ba79135c16dc8cc017950a2cce821" datatype="html">\n        <source>You are about to remove "user read / update" permissions from your own user.</source>\n        <target>당신의 사용자로부터 "사용자 읽기 / 업데이트"권한을 제거하려고합니다.</target>\n      </trans-unit>\n      <trans-unit id="af4bf9fcb256853f14cf947eb1deb8d7f176d3f9" datatype="html">\n        <source>If you continue, you will no longer be able to add or remove roles from any user.</source>\n        <target>계속하면 모든 사용자에게 역할을 추가하거나 제거 할 수 없게됩니다.</target>\n      </trans-unit>\n      <trans-unit id="7d1dcf2a9146caac0581329acf94806ec69a89a5" datatype="html">\n        <source>Are you sure you want to continue?</source>\n        <target>계속 진행하기를 원하십니까?</target>\n      </trans-unit>\n      <trans-unit id="85b79c9064aed1ead31ace985f31aa1363f6bdaf" datatype="html">\n        <source>Help</source>\n        <target>도움말</target>\n      </trans-unit>\n      <trans-unit id="fcfd4675b4c90f08d18d3abede9a9a4dff4cfdc7" datatype="html">\n        <source>Documentation</source>\n        <target>문서</target>\n      </trans-unit>\n      <trans-unit id="e351b40b3869a5c7d19c3d4918cb1ac7aaab95c4" datatype="html">\n        <source>API</source>\n        <target>API</target>\n      </trans-unit>\n      <trans-unit id="004b222ff9ef9dd4771b777950ca1d0e4cd4348a" datatype="html">\n        <source>About</source>\n        <target>대하여</target>\n      </trans-unit>\n      <trans-unit id="1481ecd21e760ac919a24e26cf790acd82e40199" datatype="html">\n        <source>Dashboard Settings</source>\n        <target>대쉬보드 설정</target>\n      </trans-unit>\n      <trans-unit id="a79aab4ef674bf3f6532292107c0054302236e0f" datatype="html">\n        <source>User management</source>\n        <target>사용자 관리</target>\n      </trans-unit>\n      <trans-unit id="049dfd9fe6c78914ad58cf89ac6a631fca28ec74" datatype="html">\n        <source>Logged in user</source>\n        <target>로그인된 사용자</target>\n      </trans-unit>\n      <trans-unit id="cd38a58e73f306d838e621959d47d5e7a2f06d1f" datatype="html">\n        <source>Signed in as\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ username }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>\n        </source>\n        <target>Signed in as\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ username }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="739516c2ca75843d5aec9cf0e6b3e4335c4227b9" datatype="html">\n        <source>Change password</source>\n        <target>Change password</target>\n      </trans-unit>\n      <trans-unit id="5d22c795daf43877a5f708dca2bccd549eb0471d" datatype="html">\n        <source>Sign out</source>\n        <target>로그아웃</target>\n      </trans-unit>\n      <trans-unit id="91853167141c37b58868f3b0421383dd72fa8a01" datatype="html">\n        <source>Attributes (OSD map)</source>\n        <target>속성들 (OSD 맵)</target>\n      </trans-unit>\n      <trans-unit id="97842f379e1d4157ac3ab0661b90c352e7cb72d5" datatype="html">\n        <source>Metadata not available</source>\n        <target>메타데이타 사용할 수 없음</target>\n      </trans-unit>\n      <trans-unit id="f721a500a68c357e8f2a01e60510f6a01e4ba529" datatype="html">\n        <source>Metadata</source>\n        <target>메타데이타</target>\n      </trans-unit>\n      <trans-unit id="deba10b7279a589d01e919ea11f43c79ca1773e3" datatype="html">\n        <source>Device health</source>\n        <target>Device health</target>\n      </trans-unit>\n      <trans-unit id="d24e28e19c5703d7c6be44f4eb595a6a43b618ed" datatype="html">\n        <source>Performance counter</source>\n        <target>성능 카운터</target>\n      </trans-unit>\n      <trans-unit id="d1f7c81ed9c5034af4abcdf119b1c1e86cd019dd" datatype="html">\n        <source>Histogram not available: \n          <x id="INTERPOLATION" equiv-text="{{ osd.histogram_failed }}"/>\n        </source>\n        <target>Histogram not available: \n          <x id="INTERPOLATION" equiv-text="{{ osd.histogram_failed }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="868abfff914873d1c65df798d8432ed04b8ae2a9" datatype="html">\n        <source>Writes</source>\n        <target>쓰기</target>\n      </trans-unit>\n      <trans-unit id="996ebb9a653b5067f97bf3891ea9d2108e969492" datatype="html">\n        <source>Reads</source>\n        <target>읽기</target>\n      </trans-unit>\n      <trans-unit id="65ac79790aa477a97b1cc579e18a115a8df8918f" datatype="html">\n        <source>Histogram</source>\n        <target>히스토그램</target>\n      </trans-unit>\n      <trans-unit id="3d87fc20ea8e5f0f0500ba5d5061b345be78ec5e" datatype="html">\n        <source>No hostname found.</source>\n        <target>No hostname found.</target>\n      </trans-unit>\n      <trans-unit id="26fb5f81b3581f06b9210defb0e71dc69a67e819" datatype="html">\n        <source>Current values</source>\n        <target>현재 값들</target>\n      </trans-unit>\n      <trans-unit id="9abcd7c82643d60c22733470463f74e4a54bc069" datatype="html">\n        <source>Min</source>\n        <target>최소</target>\n      </trans-unit>\n      <trans-unit id="c3ced4d162a0a55ee233a187ce7208ba5e922418" datatype="html">\n        <source>Max</source>\n        <target>최대</target>\n      </trans-unit>\n      <trans-unit id="6834fa6b43d1ecbdf147c48dd9c4d72f1484571d" datatype="html">\n        <source>Source</source>\n        <target>소스</target>\n      </trans-unit>\n      <trans-unit id="a446fb0eb11fbffcac805ece5a2d306d24e733d8" datatype="html">\n        <source>Level</source>\n        <target>수준</target>\n      </trans-unit>\n      <trans-unit id="39f2fb094e9b2eda13163fa3f3a31594cf9c1307" datatype="html">\n        <source>Can be updated at runtime (editable)</source>\n        <target>수행시간에 갱신가능함(편집가능)</target>\n      </trans-unit>\n      <trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b" datatype="html">\n        <source>Tags</source>\n        <target>테크들</target>\n      </trans-unit>\n      <trans-unit id="ab0089ef47af61ca1d137bc908b96c290dfd9287" datatype="html">\n        <source>Enum values</source>\n        <target>열거형 값들</target>\n      </trans-unit>\n      <trans-unit id="819476f1264f1659f38e86f6abb542141b184832" datatype="html">\n        <source>See also</source>\n        <target>추가로 더보기</target>\n      </trans-unit>\n      <trans-unit id="73caac4265ea7314ff061e5a1d78a6361a6dd3b8" datatype="html">\n        <source>Cluster Status</source>\n        <target>클러스터 상태</target>\n      </trans-unit>\n      <trans-unit id="1d4bc612bbf19aa9553853266b9e92c9d75f4464" datatype="html">\n        <source>Manager Daemons</source>\n        <target>관리자 데몬들</target>\n      </trans-unit>\n      <trans-unit id="946ac5dea9921dc09d7b0a63b89535371f283b19" datatype="html">\n        <source>Object Gateways</source>\n        <target>오브젝트 게이트웨이들</target>\n      </trans-unit>\n      <trans-unit id="ff03fa5bcf37c4da46ad736c1f7d03f959e8ba9a" datatype="html">\n        <source>Metadata Servers</source>\n        <target>메타데이타 서버들</target>\n      </trans-unit>\n      <trans-unit id="d817609ba4993eba859409ab71e566168f4d5f5a" datatype="html">\n        <source>iSCSI Gateways</source>\n        <target>iSCSI 게이트웨이들</target>\n      </trans-unit>\n      <trans-unit id="42c13e50391250ea9379bdf55d5d6c0228c0c8bc" datatype="html">\n        <source>Client IOPS</source>\n        <target>클라이언트 IOPS</target>\n      </trans-unit>\n      <trans-unit id="52213660b2454d139ada3079a42ec6caf3c3c01e" datatype="html">\n        <source>Client Throughput</source>\n        <target>클라이언트 처리량</target>\n      </trans-unit>\n      <trans-unit id="32efd1c3f70e3c5244239de97a2cc95d98534a14" datatype="html">\n        <source>Client Read/Write</source>\n        <target>클라이언트 읽기/쓰기</target>\n      </trans-unit>\n      <trans-unit id="275485415092cbae3a9f3cbb786ebe283cacfdd5" datatype="html">\n        <source>Recovery Throughput</source>\n        <target>복구 처리량</target>\n      </trans-unit>\n      <trans-unit id="6d9a9f55046891733ef71170e7652063765eb542" datatype="html">\n        <source>Scrub</source>\n        <target>세정작업</target>\n      </trans-unit>\n      <trans-unit id="3cc9c2ae277393b3946b38c088dabff671b1ee1b" datatype="html">\n        <source>Performance</source>\n        <target>성능</target>\n      </trans-unit>\n      <trans-unit id="88f383269db2d32cccee9e936fe549dccb9fdbf4" datatype="html">\n        <source>Raw Capacity</source>\n        <target>원시용량</target>\n      </trans-unit>\n      <trans-unit id="c5f8a813f91a11af99132e4beafc136cfc13d73b" datatype="html">\n        <source>PGs per OSD</source>\n        <target>OSD당 PG들</target>\n      </trans-unit>\n      <trans-unit id="498a109c6e9e94f1966de01aa0326f7f0ac6fb52" datatype="html">\n        <source>PG Status</source>\n        <target>PG 상태들</target>\n      </trans-unit>\n      <trans-unit id="ce9dfdc6dccb28dc75a78c704e09dc18fb02dcfa" datatype="html">\n        <source>Capacity</source>\n        <target>용량</target>\n      </trans-unit>\n      <trans-unit id="44ecac93d67c6a671198091c2270354f80322327" datatype="html">\n        <source>\n          <x id="START_ITALIC_TEXT" ctype="x-i" equiv-text="<i>"/>\n          <x id="CLOSE_ITALIC_TEXT" ctype="x-i" equiv-text="</i>"/> See \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Logs\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more details.\n        </source>\n        <target>\n          <x id="START_ITALIC_TEXT" ctype="x-i" equiv-text="<i>"/>\n          <x id="CLOSE_ITALIC_TEXT" ctype="x-i" equiv-text="</i>"/> See \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Logs\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more details.\n        </target>\n      </trans-unit>\n      <trans-unit id="0c1e17956453ad772dbe82d6946f62748c692f3e" datatype="html">\n        <source>Ranks</source>\n        <target>순위</target>\n      </trans-unit>\n      <trans-unit id="2b24e0b0b1629d2e8a51b9da7c75d6e6379f4bc4" datatype="html">\n        <source>Standbys</source>\n        <target>Standbys</target>\n      </trans-unit>\n      <trans-unit id="50df62325726db950523a5be1c78b8905fcc25d4" datatype="html">\n        <source>MDS performance counters</source>\n        <target>MDS performance counters</target>\n      </trans-unit>\n      <trans-unit id="6e213942c6354b9cbe7a650f0f1499bfc1000fb6" datatype="html">\n        <source>Directories</source>\n        <target>Directories</target>\n      </trans-unit>\n      <trans-unit id="47116253e36f4e38a97ba41b2d3122c6c15ab904" datatype="html">\n        <source>Clients (\n          <x id="INTERPOLATION" equiv-text="{{ clients.length }}"/>)\n        </source>\n        <target>Clients (\n          <x id="INTERPOLATION" equiv-text="{{ clients.length }}"/>)\n        </target>\n      </trans-unit>\n      <trans-unit id="bd5a3b1c5a3c185c7bbb0e09a061d4cdc88ce5ad" datatype="html">\n        <source>Current</source>\n        <target>현재</target>\n      </trans-unit>\n      <trans-unit id="e5e7d62e942083a59b0b31f54e17cd7958186052" datatype="html">\n        <source>Updated discovery authentication</source>\n        <target>업데이트된 검색 인증</target>\n      </trans-unit>\n      <trans-unit id="dd4ab758afd5fd5a6c6a25b2b30ff99d0c00e9ad" datatype="html">\n        <source>There are no portals available.</source>\n        <target>사용가능한 포탈들이 없습니다.</target>\n      </trans-unit>\n      <trans-unit id="83021e45778a4a230a14ca0c6d6ccdf05500ad93" datatype="html">\n        <source>There are no images available.</source>\n        <target>사용가능한 이미지들이 없습니다.</target>\n      </trans-unit>\n      <trans-unit id="86684eb21f8a768e1dbc659e3d5da6861db544a0" datatype="html">\n        <source>There are no images available. Please make sure you add an image to the target.</source>\n        <target>사용할 수있는 이미지가 없습니다. 대상에 이미지를 추가했는지 확인하십시오.</target>\n      </trans-unit>\n      <trans-unit id="fffda6e440078f57eba93944ce051c593cc6ed7f" datatype="html">\n        <source>There are no initiators available. Please make sure you add an initiator to the target.</source>\n        <target>사용할 수있는 개시자가 없습니다. 대상에 개시자를 추가했는지 확인하십시오.</target>\n      </trans-unit>\n      <trans-unit id="cea3c6fe490385eef1584cbc4983fda7ece24bb6" datatype="html">\n        <source>target</source>\n        <target>target</target>\n      </trans-unit>\n      <trans-unit id="38baeb215c17af9d9e295e371a57f4a48ab4c191" datatype="html">\n        <source>Target</source>\n        <target>타겟</target>\n      </trans-unit>\n      <trans-unit id="99e094878070eebc1b972bac02aaa33b2bf83b35" datatype="html">\n        <source># Sessions</source>\n        <target># Sessions</target>\n      </trans-unit>\n      <trans-unit id="2ea10b3668e04e057ba96ddcaf4c9b77089008ae" datatype="html">\n        <source>Unavailable gateway(s)</source>\n        <target>Unavailable gateway(s)</target>\n      </trans-unit>\n      <trans-unit id="c49e0dd71d551bd4928d967d78f0721dbf9f95e3" datatype="html">\n        <source>Target has active sessions</source>\n        <target>Target has active sessions</target>\n      </trans-unit>\n      <trans-unit id="a87acd72dfb68b45175270695209550a85adf50c" datatype="html">\n        <source>iSCSI target</source>\n        <target>iSCSI target</target>\n      </trans-unit>\n      <trans-unit id="873b72903b1858a9cd6c8967521030b4d7d1435b" datatype="html">\n        <source>State</source>\n        <target>상태</target>\n      </trans-unit>\n      <trans-unit id="02b75464c0dc0cf49ea0208211b6fbcad3bf728a" datatype="html">\n        <source># Targets</source>\n        <target># Targets</target>\n      </trans-unit>\n      <trans-unit id="13415637c325ceefee29111b31cb48701490adf7" datatype="html">\n        <source>Read Bytes</source>\n        <target>읽은 바이트들</target>\n      </trans-unit>\n      <trans-unit id="e2ed82b7bbf4a006e60e6208c597b05d5b5556e9" datatype="html">\n        <source>Write Bytes</source>\n        <target>쓰기 바이트들</target>\n      </trans-unit>\n      <trans-unit id="6a32a5f58845ca840185ea9564682094e77a1d80" datatype="html">\n        <source>Read Ops</source>\n        <target>읽기 Ops</target>\n      </trans-unit>\n      <trans-unit id="7c36cb8032af123d3550ffab2e1fa1e957c87fae" datatype="html">\n        <source>Write Ops</source>\n        <target>쓰기 Ops</target>\n      </trans-unit>\n      <trans-unit id="458c33846a8c7e2feb9404bcf06723784e756cdc" datatype="html">\n        <source>A/O Since</source>\n        <target>A/O 이래로</target>\n      </trans-unit>\n      <trans-unit id="ff78f059449d44322f627d0f66df07abe476962b" datatype="html">\n        <source>Instance</source>\n        <target>인스탄스</target>\n      </trans-unit>\n      <trans-unit id="36fad7995cadfb3a6f0d43ef2db280146b3ca022" datatype="html">\n        <source>Issue</source>\n        <target>이슈</target>\n      </trans-unit>\n      <trans-unit id="15793f4cbc261bedbc60f7105533dde536a3f42b" datatype="html">\n        <source>Progress</source>\n        <target>진행중</target>\n      </trans-unit>\n      <trans-unit id="25b725dba712a7a020fd34a72297befae975a492" datatype="html">\n        <source>Edit Site Name</source>\n        <target>Edit Site Name</target>\n      </trans-unit>\n      <trans-unit id="8c375764db42f5d736fb56d01b8052c006ccc8e2" datatype="html">\n        <source>Edit Mode</source>\n        <target>편집모드</target>\n      </trans-unit>\n      <trans-unit id="45932f2a0ea524b3425f4320ee46a6d1c68977bc" datatype="html">\n        <source>Add Peer</source>\n        <target>상대방 추가</target>\n      </trans-unit>\n      <trans-unit id="d3dc34662e3cda0dad646221651cebd26f731485" datatype="html">\n        <source>Edit Peer</source>\n        <target>상대방 편집</target>\n      </trans-unit>\n      <trans-unit id="e8a0ec0b6ee72db0f27c186e09640d1ed41964bd" datatype="html">\n        <source>Delete Peer</source>\n        <target>상대방 삭제</target>\n      </trans-unit>\n      <trans-unit id="314de06d6f64d39149e78e6d796585c0246fec0b" datatype="html">\n        <source>Leader</source>\n        <target>리더</target>\n      </trans-unit>\n      <trans-unit id="7acaab450312114059ced9e3737798ee9aa738b1" datatype="html">\n        <source># Local</source>\n        <target># 로컬</target>\n      </trans-unit>\n      <trans-unit id="7a3ffd88868135c44be3994263bb8e49d8358884" datatype="html">\n        <source># Remote</source>\n        <target># 원격</target>\n      </trans-unit>\n      <trans-unit id="85ca0fd6a6ddd211023c70a25753122c5b978787" datatype="html">\n        <source>mirror peer</source>\n        <target>상대방 미러</target>\n      </trans-unit>\n      <trans-unit id="a6493c6ca346cd052da40423eda9c132de2b2002" datatype="html">\n        <source>Key</source>\n        <target>키</target>\n      </trans-unit>\n      <trans-unit id="e9cac80fb5d9de66f0006d0bec530fd1fc69a674" datatype="html">\n        <source>RBD</source>\n        <target>RBD</target>\n      </trans-unit>\n      <trans-unit id="4130b1a836f2000cfe9a11fb62493dc42d444de7" datatype="html">\n        <source>Deep flatten</source>\n        <target>딥 패턴</target>\n      </trans-unit>\n      <trans-unit id="7b17694d7cb8ecb7c8440bc999dac21b44455b33" datatype="html">\n        <source>Layering</source>\n        <target>계층화</target>\n      </trans-unit>\n      <trans-unit id="6a072ce577c2079d0e0c31071a16824f6d22b84d" datatype="html">\n        <source>Exclusive lock</source>\n        <target>배타적인 락</target>\n      </trans-unit>\n      <trans-unit id="7354f01320bf936a7f85577c9f71402635c3a362" datatype="html">\n        <source>Object map (requires exclusive-lock)</source>\n        <target>오프젝트-맵(배타적인-락을 요구한다)</target>\n      </trans-unit>\n      <trans-unit id="fb7e625c1152f1c102cd16460955d124edff1770" datatype="html">\n        <source>Journaling (requires exclusive-lock)</source>\n        <target>저널링(배탁적인-락을 요구합니다.)</target>\n      </trans-unit>\n      <trans-unit id="df4044632bfc211dd96544fc8f007dabbeeb506c" datatype="html">\n        <source>Fast diff (interlocked with object-map)</source>\n        <target>Fast diff (interlocked with object-map)</target>\n      </trans-unit>\n      <trans-unit id="130fd872c78271a8f86b1ab16a76e823969c47d9" datatype="html">\n        <source>Namespace</source>\n        <target>Namespace</target>\n      </trans-unit>\n      <trans-unit id="14abc99daed542774633046c53b6ce8251331141" datatype="html">\n        <source>This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.</source>\n        <target>This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.</target>\n      </trans-unit>\n      <trans-unit id="51699f716cf34e6622ff7bfd84641480c045271a" datatype="html">\n        <source>Created namespace \'\n          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>\'\n        </source>\n        <target>Created namespace \'\n          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="bf44b7d6379ce0198ed3d95a27642a224181bf1d" datatype="html">\n        <source>Total images</source>\n        <target>Total images</target>\n      </trans-unit>\n      <trans-unit id="371ce3ffe62548d15e391a248bc554d903bb03fc" datatype="html">\n        <source>Deleted namespace \'\n          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>\'\n        </source>\n        <target>Deleted namespace \'\n          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="9d704fd00ca929f90c3119cefc581821ae58a73e" datatype="html">\n        <source>Namespace contains images</source>\n        <target>Namespace contains images</target>\n      </trans-unit>\n      <trans-unit id="c2017dc94b4f57a347ccb126e546e88942f4d7a6" datatype="html">\n        <source>RBD Snapshot</source>\n        <target>RBD Snapshot</target>\n      </trans-unit>\n      <trans-unit id="631fc50ec7c9bd81dc797a3c7e09eda1178ad999" datatype="html">\n        <source>Parent image must support Layering</source>\n        <target>Parent image must support Layering</target>\n      </trans-unit>\n      <trans-unit id="cb60c1cd3655234756b5b92d4d597d92d520ee30" datatype="html">\n        <source>PROTECTED</source>\n        <target>PROTECTED</target>\n      </trans-unit>\n      <trans-unit id="deffb86b8fb0541254ad5a43862d82bff6b6a6c4" datatype="html">\n        <source>UNPROTECTED</source>\n        <target>보호안됨</target>\n      </trans-unit>\n      <trans-unit id="7eb984588f4835f6d0187b33769b4b0f62821640" datatype="html">\n        <source>RBD snapshot rollback</source>\n        <target>RBD 스냅샷 롤백</target>\n      </trans-unit>\n      <trans-unit id="4be22bf20ef82614ed53bcd3b912a85590aa71c9" datatype="html">\n        <source>Rollback</source>\n        <target>롤백</target>\n      </trans-unit>\n      <trans-unit id="2a04c483708d261751d62082d6f03a50d4577b1e" datatype="html">\n        <source>RBD snapshot</source>\n        <target>RBD 스냅샷</target>\n      </trans-unit>\n      <trans-unit id="fa96769d1ea86741297cb9b9769b0dcfde58c8b4" datatype="html">\n        <source>Deleted At</source>\n        <target>삭제될 </target>\n      </trans-unit>\n      <trans-unit id="e928864038ca70ee7d67bbf1fd71a01c3938a127" datatype="html">\n        <source>id</source>\n        <target>아이디</target>\n      </trans-unit>\n      <trans-unit id="240c9c1e96dc38814922a83ad041dc815b084f32" datatype="html">\n        <source>type</source>\n        <target>형태</target>\n      </trans-unit>\n      <trans-unit id="c9d7ec7ee5b4e282f2228fa996651ec4ef5195a9" datatype="html">\n        <source>state</source>\n        <target>상태</target>\n      </trans-unit>\n      <trans-unit id="5780e5c3b4fc2ae07836bb5221cec4f8d597630d" datatype="html">\n        <source>version</source>\n        <target>버젼</target>\n      </trans-unit>\n      <trans-unit id="fe22ca53e651df951dac25b67c17894b0980f767" datatype="html">\n        <source>Host</source>\n        <target>호스트</target>\n      </trans-unit>\n      <trans-unit id="fb69299354312c8954ecf324997ccafcd9f6b14b" datatype="html">\n        <source>root</source>\n        <target>루트</target>\n      </trans-unit>\n      <trans-unit id="d34feb369d308075b423d5c5fc431f9766bf7a11" datatype="html">\n        <source>Evicted client "\n          <x id="INTERPOLATION" equiv-text="{{clientId}}"/>"\n        </source>\n        <target>Evicted client "\n          <x id="INTERPOLATION" equiv-text="{{clientId}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="7db875ff4cc626d394f37fba95c075b2e4bfeb00" datatype="html">\n        <source>Standby daemons</source>\n        <target>대기 데몬들</target>\n      </trans-unit>\n      <trans-unit id="3c3a423d91e36ac6624e909fcd2669a25685f847" datatype="html">\n        <source>Rank</source>\n        <target>순위</target>\n      </trans-unit>\n      <trans-unit id="9596ecae8956e96921acef47aec787f6bdc37454" datatype="html">\n        <source>Daemon</source>\n        <target>데몬</target>\n      </trans-unit>\n      <trans-unit id="f2005fa461c06dc2e04d8918bbabedf23604b5b7" datatype="html">\n        <source>Activity</source>\n        <target>활동</target>\n      </trans-unit>\n      <trans-unit id="e3a986984ae0c3b43af648c3fa638649d1c00348" datatype="html">\n        <source>Dentries</source>\n        <target>덴트리들</target>\n      </trans-unit>\n      <trans-unit id="7c692ab865066967d73c6d64ec0691cc6ce91b93" datatype="html">\n        <source>Inodes</source>\n        <target>아이노드들</target>\n      </trans-unit>\n      <trans-unit id="45f210b96a2a6e91f52f153a4f8dc30662629f8e" datatype="html">\n        <source>Usage</source>\n        <target>사용량</target>\n      </trans-unit>\n      <trans-unit id="950b5f04a2efd3f11c0f76418d5a4212381e792e" datatype="html">\n        <source>Origin</source>\n        <target>Origin</target>\n      </trans-unit>\n      <trans-unit id="2ea2ec95d93fd55d0db6e9d2b95b25e153d4cec2" datatype="html">\n        <source>Max size</source>\n        <target>Max size</target>\n      </trans-unit>\n      <trans-unit id="665dced3a61bca44924a0bde4be47390225a4898" datatype="html">\n        <source>Max files</source>\n        <target>Max files</target>\n      </trans-unit>\n      <trans-unit id="0ccf776baac60794b142526986f3af85848c7059" datatype="html">\n        <source>The inherited \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/> is the maximum value to be used.\n        </source>\n        <target>The inherited \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/> is the maximum value to be used.\n        </target>\n      </trans-unit>\n      <trans-unit id="b0e2ef28384f2de6674cac300c779f900929a89b" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{action}}"/> CephFS \n          <x id="INTERPOLATION_1" equiv-text="{{quotaName}}"/> quota for \'\n          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>\'\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{action}}"/> CephFS \n          <x id="INTERPOLATION_1" equiv-text="{{quotaName}}"/> quota for \'\n          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="542ef638499635dec7641bdc2e499258094187cc" datatype="html">\n        <source>size</source>\n        <target>size</target>\n      </trans-unit>\n      <trans-unit id="ce90ff00c341d8eef96b0e7956bb85b8faba3839" datatype="html">\n        <source>files</source>\n        <target>files</target>\n      </trans-unit>\n      <trans-unit id="fbe8b9340c08c24aef62ffe81c83e2b46a4f1495" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{quotaName}}"/> quota \n          <x id="INTERPOLATION_1" equiv-text="{{value}}"/> from \'\n          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>\'\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{quotaName}}"/> quota \n          <x id="INTERPOLATION_1" equiv-text="{{value}}"/> from \'\n          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="37c2c0a4a356465eef2edfb09ffffc6db5259975" datatype="html">\n        <source>Value has to be at least \n          <x id="INTERPOLATION" equiv-text="{{value}}"/> or more\n        </source>\n        <target>Value has to be at least \n          <x id="INTERPOLATION" equiv-text="{{value}}"/> or more\n        </target>\n      </trans-unit>\n      <trans-unit id="73f8e64703a707e2cf98b9a10653cd3bbdd8cab1" datatype="html">\n        <source>Value has to be at most \n          <x id="INTERPOLATION" equiv-text="{{value}}"/> or less\n        </source>\n        <target>Value has to be at most \n          <x id="INTERPOLATION" equiv-text="{{value}}"/> or less\n        </target>\n      </trans-unit>\n      <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc" datatype="html">\n        <source>Updated</source>\n        <target>갱신된</target>\n      </trans-unit>\n      <trans-unit id="b6a4cf4f302c7fcbec199ce0df42b8282d682b04" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{action}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{quotaValue}}"/>\n          <x id="INTERPOLATION_2" equiv-text="{{conclusion}}"/>.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{action}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{quotaValue}}"/>\n          <x id="INTERPOLATION_2" equiv-text="{{conclusion}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="a40024afb071f68fec949094a71f832d5611bca5" datatype="html">\n        <source>in order to inherit \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>\n        </source>\n        <target>in order to inherit \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="c108ff588291e9c040adea2adf35e7236cf29925" datatype="html">\n        <source>which isn\'t used because of the inheritance of \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>\n        </source>\n        <target>which isn\'t used because of the inheritance of \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="d3785a64d1c72b03b2212855ce695b45ed0342d2" datatype="html">\n        <source>in order to have no quota on the directory</source>\n        <target>in order to have no quota on the directory</target>\n      </trans-unit>\n      <trans-unit id="c4d3a3446a7f36825291c5e76c4a6b7919f9bd2f" datatype="html">\n        <source>Create Snapshot</source>\n        <target>Create Snapshot</target>\n      </trans-unit>\n      <trans-unit id="e9af734e231b837d64df21008e2eb1fdff566a61" datatype="html">\n        <source>Please enter the name of the snapshot.</source>\n        <target>Please enter the name of the snapshot.</target>\n      </trans-unit>\n      <trans-unit id="8c4d3039e6a953b0d6f1b1313ffa60c5d2b35dc7" datatype="html">\n        <source>Created snapshot "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "\n          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"\n        </source>\n        <target>Created snapshot "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "\n          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="126ad894f74ee9a999825f3f4ac5a31fdfc093bf" datatype="html">\n        <source>CephFs Snapshot</source>\n        <target>CephFs Snapshot</target>\n      </trans-unit>\n      <trans-unit id="1e4d1c0865adc485260740c42ac5af68ce8feb13" datatype="html">\n        <source>Deleted snapshot "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "\n          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"\n        </source>\n        <target>Deleted snapshot "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "\n          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="22e4e574b7f8abf58254f328792445b42e2a924a" datatype="html">\n        <source>The value can be updated at runtime.</source>\n        <target>이 값은 런타임에 업데이트 할 수 있습니다.</target>\n      </trans-unit>\n      <trans-unit id="d7770de7b2343c9deeaa7ebf37ba3e35ca5c5988" datatype="html">\n        <source>Daemons/clients do not pull this value from the\n      monitor config database. We disallow setting this option via \'ceph config\n      set ...\'. This option should be configured via ceph.conf or via the\n      command line.</source>\n        <target>데몬들 / 클라이언트들은 모니터 구성 데이터베이스에서이 값을 가져 오지 않습니다. \'ceph config set ...\'을 통해이 옵션을 설정하는 것은 허락되지 않습니다. 이 옵션은 ceph.conf 또는 명령 줄을 통해 구성해야합니다.</target>\n      </trans-unit>\n      <trans-unit id="83f11fd1dc503c37931ea6c1c5c1e8c2b4b597b6" datatype="html">\n        <source>Option takes effect only during daemon startup.</source>\n        <target>옵션은 데몬 시작 중에 만 적용됩니다.</target>\n      </trans-unit>\n      <trans-unit id="837a07cd6a971038b8b1aa190c43440c9fdb5d8b" datatype="html">\n        <source>Option only affects cluster creation.</source>\n        <target>옵션은 클러스터 생성할 때 만 영향을 줍니다.</target>\n      </trans-unit>\n      <trans-unit id="2566a88eb247c918b71cfe5b354c31de0d4b01e5" datatype="html">\n        <source>Option only affects daemon creation.</source>\n        <target>옵션은 데몬 생성할 때만 영향을줍니다.</target>\n      </trans-unit>\n      <trans-unit id="1cdc60cfc09c257625768f3d2082816cdef27279" datatype="html">\n        <source>Updated config option \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\n        </source>\n        <target>Updated config option \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="d473e0f684a60db45d6f31e993f693f74290e056" datatype="html">\n        <source>Service</source>\n        <target>서비스</target>\n      </trans-unit>\n      <trans-unit id="6986e0df8092d822ac2c076520d83994c78834fc" datatype="html">\n        <source>Modified</source>\n        <target>Modified</target>\n      </trans-unit>\n      <trans-unit id="9951bb3983c7dba6fde013e05c922e4fe1a44367" datatype="html">\n        <source>Current value</source>\n        <target>현재값</target>\n      </trans-unit>\n      <trans-unit id="4a01c175f90dd92b432f4a4a199d2c7bb9d997ff" datatype="html">\n        <source>Editable</source>\n        <target>편집가능</target>\n      </trans-unit>\n      <trans-unit id="261c0af854e8684abc15f89dce6efb3e72344b18" datatype="html">\n        <source>host</source>\n        <target>host</target>\n      </trans-unit>\n      <trans-unit id="b1b381321d4cef04605d3e6e8847ea2b72a03799" datatype="html">\n        <source>Identify</source>\n        <target>Identify</target>\n      </trans-unit>\n      <trans-unit id="a5d5e407f8c4e1b152509c966c90f37edf68472e" datatype="html">\n        <source>Device path</source>\n        <target>Device path</target>\n      </trans-unit>\n      <trans-unit id="b7da3e3505cc80f9bf3cffc8444c53e8a9ec70a5" datatype="html">\n        <source>Available</source>\n        <target>Available</target>\n      </trans-unit>\n      <trans-unit id="396974120fc614fc930a27c8d15a094d82a3a9e4" datatype="html">\n        <source>Vendor</source>\n        <target>Vendor</target>\n      </trans-unit>\n      <trans-unit id="6ec98fa3d6504ba1fd03465194b53706c8263c99" datatype="html">\n        <source>Model</source>\n        <target>Model</target>\n      </trans-unit>\n      <trans-unit id="f2d785f5658c96c6a2f505cdd625108bcece84c3" datatype="html">\n        <source>Identify device \n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\n        </source>\n        <target>Identify device \n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="c97ab45ca09248f8f1ba60328175741657fe39ce" datatype="html">\n        <source>Please enter the duration how long to blink the LED.</source>\n        <target>Please enter the duration how long to blink the LED.</target>\n      </trans-unit>\n      <trans-unit id="87e56ee5057023d7e8b59420b838bad112b043bc" datatype="html">\n        <source>1 minute</source>\n        <target>1 minute</target>\n      </trans-unit>\n      <trans-unit id="affa3b3bf1f36531e5ae65291f8a7cd1b06860ee" datatype="html">\n        <source>2 minutes</source>\n        <target>2 minutes</target>\n      </trans-unit>\n      <trans-unit id="878c6645b7fc26d85c7aee17a9d8c282a938dcf3" datatype="html">\n        <source>5 minutes</source>\n        <target>5 minutes</target>\n      </trans-unit>\n      <trans-unit id="aa0a76140961594b7176ade241e5025a7dbb5dce" datatype="html">\n        <source>10 minutes</source>\n        <target>10 minutes</target>\n      </trans-unit>\n      <trans-unit id="0a7f83a1f27750ef634a1f1f97263fac36113b1f" datatype="html">\n        <source>15 minutes</source>\n        <target>15 minutes</target>\n      </trans-unit>\n      <trans-unit id="699b690d686dbb8e00a1e95b89ba2fffb548da6e" datatype="html">\n        <source>Execute</source>\n        <target>Execute</target>\n      </trans-unit>\n      <trans-unit id="aa975a86dd49979a3ae90b9f3fc5b2c97311d422" datatype="html">\n        <source>Identifying \'\n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\' started on host \'\n          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>\'\n        </source>\n        <target>Identifying \'\n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\' started on host \'\n          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="1a6e6ad05508130b7a99ce5b15daf3227c2a930c" datatype="html">\n        <source>Updated options for module "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>".\n        </source>\n        <target>Updated options for module "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="6bd47ff8707aa2e6a94a4a6e2566b86dc7956d5f" datatype="html">\n        <source>Always-On</source>\n        <target>Always-On</target>\n      </trans-unit>\n      <trans-unit id="ac6c9212896d39b23811ed2dadab7d07336ec559" datatype="html">\n        <source>Enable</source>\n        <target>사용가능</target>\n      </trans-unit>\n      <trans-unit id="6766a926d80bb7763785621098dae459d6226429" datatype="html">\n        <source>Disable</source>\n        <target>사용불가</target>\n      </trans-unit>\n      <trans-unit id="340f2f312c2eb353e5cd69aee6bee7f5a73c34ac" datatype="html">\n        <source>This Manager module is always on.</source>\n        <target>This Manager module is always on.</target>\n      </trans-unit>\n      <trans-unit id="6a0b3657745dd7a2f2162f1cc790bf9004d0845d" datatype="html">\n        <source>Reconnecting, please wait ...</source>\n        <target>재-접속 중, 기다려 주세요...</target>\n      </trans-unit>\n      <trans-unit id="7099a8878af7a0a26fe5663c4f46cfe87142b75d" datatype="html">\n        <source>Public Address</source>\n        <target>공개 주소</target>\n      </trans-unit>\n      <trans-unit id="cbdd1cdc0c7a87f55dd177bc44212f0fc4b80852" datatype="html">\n        <source>Open Sessions</source>\n        <target>열린 세션들</target>\n      </trans-unit>\n      <trans-unit id="34c6f45591d420b1101dcee53999d1de91c0e400" datatype="html">\n        <source>No available devices</source>\n        <target>No available devices</target>\n      </trans-unit>\n      <trans-unit id="dcfe8807a2a1d0d7074a02afe9b80645bd03b9ab" datatype="html">\n        <source>Please add primary devices first</source>\n        <target>Please add primary devices first</target>\n      </trans-unit>\n      <trans-unit id="05d024719e53f85f7f294b7e21dfd805709a0b06" datatype="html">\n        <source>Add devices by using filters</source>\n        <target>Add devices by using filters</target>\n      </trans-unit>\n      <trans-unit id="37e58d1cbdf8212b380efa51422e42821d4f08e6" datatype="html">\n        <source>No In</source>\n        <target>들어올 수 없는</target>\n      </trans-unit>\n      <trans-unit id="12706eb5af17ff5ad77b3de21af368d24678e00b" datatype="html">\n        <source>OSDs that were previously marked out will not be marked back in when they start</source>\n        <target>이전에 마크 아웃 된 OSD는 시작시 다시 표시되지 않습니다.</target>\n      </trans-unit>\n      <trans-unit id="96114d7624d11dc90ca46cfa96145fe22118df76" datatype="html">\n        <source>No Out</source>\n        <target>나갈 수 없는</target>\n      </trans-unit>\n      <trans-unit id="a2ef636fe1ddd56b63e4aaf3d292f33dbf735ef3" datatype="html">\n        <source>OSDs will not automatically be marked out after the configured interval</source>\n        <target>OSD들은 구성된 간격 후에는 자동으로 표시되지 않습니다.</target>\n      </trans-unit>\n      <trans-unit id="ee50aefa9b8bde1e5429b48709a23abfe08358e0" datatype="html">\n        <source>No Up</source>\n        <target>살아나지 않는</target>\n      </trans-unit>\n      <trans-unit id="608929b939307e397586a98cea52ae38997c7273" datatype="html">\n        <source>OSDs are not allowed to start</source>\n        <target>OSD는 시작할 수 없습니다.</target>\n      </trans-unit>\n      <trans-unit id="1751ab69c1e7f62927afedbf7116e0116316c551" datatype="html">\n        <source>No Down</source>\n        <target>죽일 수 없는</target>\n      </trans-unit>\n      <trans-unit id="41fac86dfb65c1db690f3e87f6497cb73b281084" datatype="html">\n        <source>OSD failure reports are being ignored, such that the monitors will not mark OSDs down</source>\n        <target>모니터가 OSD들의 다운을 표시하지 않도록 OSD 장애 보고서가 무시되고 있습니다.</target>\n      </trans-unit>\n      <trans-unit id="b2838c6165a9672a17db188f4dd9676574353dd8" datatype="html">\n        <source>Pause</source>\n        <target>멈출</target>\n      </trans-unit>\n      <trans-unit id="191d71dadcc8790573d46706a0b48211de4b8334" datatype="html">\n        <source>Pauses reads and writes</source>\n        <target>읽기와 쓰기를 멈춤</target>\n      </trans-unit>\n      <trans-unit id="471d5ba75836f38c19992cf83d8822632d99e473" datatype="html">\n        <source>No Scrub</source>\n        <target>스크러빙 않됨</target>\n      </trans-unit>\n      <trans-unit id="5b8caa61814121bc36dac0c34a9e9de3cae74990" datatype="html">\n        <source>Scrubbing is disabled</source>\n        <target>스크러빙이 비활성화되었습니다.</target>\n      </trans-unit>\n      <trans-unit id="7f29a0ac1c797bdc0347dd5d0734ba83e96e7ce6" datatype="html">\n        <source>No Deep Scrub</source>\n        <target>딥 스크럽 안됨</target>\n      </trans-unit>\n      <trans-unit id="01da61ab216541a8d31259cebd16b10c7e5fc124" datatype="html">\n        <source>Deep Scrubbing is disabled</source>\n        <target>딥 스크러빙이 비활성되었습니다.</target>\n      </trans-unit>\n      <trans-unit id="0b86c7f18ac725de62c7e192dcfccd02c0dc40ab" datatype="html">\n        <source>No Backfill</source>\n        <target>백필 없음</target>\n      </trans-unit>\n      <trans-unit id="bd33a2bdc8fbed3b7469f3717c16d9aaa2851fdd" datatype="html">\n        <source>Backfilling of PGs is suspended</source>\n        <target>PG들의 백필이 일시중지 되었습니다.</target>\n      </trans-unit>\n      <trans-unit id="df526de2b93c4099a30c200ef551608e39ee5256" datatype="html">\n        <source>No Rebalance</source>\n        <target>No Rebalance</target>\n      </trans-unit>\n      <trans-unit id="c5b70346245f8d52b58e5e7fe222ce82f12429ce" datatype="html">\n        <source>OSD will choose not to backfill unless PG is also degraded</source>\n        <target>OSD will choose not to backfill unless PG is also degraded</target>\n      </trans-unit>\n      <trans-unit id="7fbbd036394cfa623add40299757bc87df8eaa7e" datatype="html">\n        <source>No Recover</source>\n        <target>복구 않됨</target>\n      </trans-unit>\n      <trans-unit id="f3ee9b451a64dca47299c9b4ae1091c2008068ad" datatype="html">\n        <source>Recovery of PGs is suspended</source>\n        <target>PG들의 복구가 일시중지 되었습니다.</target>\n      </trans-unit>\n      <trans-unit id="de904148fe7e8d812218f50333ffe247900617c5" datatype="html">\n        <source>Bitwise Sort</source>\n        <target>비트단위 정렬</target>\n      </trans-unit>\n      <trans-unit id="2613c9fde29785bcd75f0abeccb653d14d7527b3" datatype="html">\n        <source>Use bitwise sort</source>\n        <target>비트단위 정렬을 사용하세요</target>\n      </trans-unit>\n      <trans-unit id="2fe10d84250aeee365db244251d40934c70ff1e9" datatype="html">\n        <source>Purged Snapdirs</source>\n        <target>완전삭제된 스냅디렉토리들</target>\n      </trans-unit>\n      <trans-unit id="6b22a5b780eda3c5d500cdac9c6d4f96978c38f1" datatype="html">\n        <source>OSDs have converted snapsets</source>\n        <target>OSD들이 변화된 스냅셋을 가지고 있습니다.</target>\n      </trans-unit>\n      <trans-unit id="c42f0ba60564dc5b977a8c7f3fdcde9efbb39c60" datatype="html">\n        <source>Recovery Deletes</source>\n        <target>삭제된 복구들</target>\n      </trans-unit>\n      <trans-unit id="72fe39979198ea2ed6db6274b5029025cb316d90" datatype="html">\n        <source>Deletes performed during recovery instead of peering</source>\n        <target>피어링 대신 복구 중에 수행된 삭제물들</target>\n      </trans-unit>\n      <trans-unit id="1bb4a1f9127cefe624c173557a716d0ebb6d647c" datatype="html">\n        <source>PG Log Hard Limit</source>\n        <target>PG 로그 하드 한계</target>\n      </trans-unit>\n      <trans-unit id="e03c0321397fdf7a9c22e8d6b5015424943c0a57" datatype="html">\n        <source>Puts a hard limit on pg log length</source>\n        <target>pg 로그 길이에 하드 한계를 넣으세요</target>\n      </trans-unit>\n      <trans-unit id="3c384e2e80c6b5eb24861fbf4225b69486cff4a3" datatype="html">\n        <source>Updated OSD Flags</source>\n        <target>갱신된 OSD 플래그들</target>\n      </trans-unit>\n      <trans-unit id="948758e1412bb2ecdb98e3a4f1cbb6d7458456f2" datatype="html">\n        <source>Encryption</source>\n        <target>Encryption</target>\n      </trans-unit>\n      <trans-unit id="c8b1475105463088593de1022ff6dceb523eae0e" datatype="html">\n        <source>OSD</source>\n        <target>OSD</target>\n      </trans-unit>\n      <trans-unit id="688578fcc739d6f0c5fb6c366dbb19d21c6d9e36" datatype="html">\n        <source>out</source>\n        <target>아웃</target>\n      </trans-unit>\n      <trans-unit id="cb0f69bdd4dea41d7d45c74b6e07f98de8a2ab26" datatype="html">\n        <source>in</source>\n        <target>인</target>\n      </trans-unit>\n      <trans-unit id="b5fbc7c7f007dd53b2318525bb7ff8b0376c9e37" datatype="html">\n        <source>down</source>\n        <target>다운</target>\n      </trans-unit>\n      <trans-unit id="b58719bcb9184e1a7884d00d22d10899d59bf295" datatype="html">\n        <source>Mark</source>\n        <target>표시</target>\n      </trans-unit>\n      <trans-unit id="31a1c1aa03f1e5084750bedb4e3fdc04ce2cb6ca" datatype="html">\n        <source>OSD lost</source>\n        <target>OSD 손실</target>\n      </trans-unit>\n      <trans-unit id="f3fc4c85c5b8f1dedea0496b72d0af9da7b9e0d9" datatype="html">\n        <source>marked lost</source>\n        <target>손실 표시</target>\n      </trans-unit>\n      <trans-unit id="40fedc157ad899a18ec40573f770d18b040959d2" datatype="html">\n        <source>Purge</source>\n        <target>완전제거</target>\n      </trans-unit>\n      <trans-unit id="4f3cff08c7033b63bbccfe66006b1bcaea48ddd8" datatype="html">\n        <source>purged</source>\n        <target>완전제거된</target>\n      </trans-unit>\n      <trans-unit id="8e5d1b01eca6dce26a4751f0b19bda7a6ab8db5b" datatype="html">\n        <source>destroy</source>\n        <target>파괴됨</target>\n      </trans-unit>\n      <trans-unit id="495a06b78bf165a7b545fa002137f0846b094a3d" datatype="html">\n        <source>destroyed</source>\n        <target>파괴된</target>\n      </trans-unit>\n      <trans-unit id="70ef158c584bafe788e319a0bffa11b02ee9abf1" datatype="html">\n        <source>delete</source>\n        <target>삭제</target>\n      </trans-unit>\n      <trans-unit id="a5b387f5a15b95e339df10fc23526c659a2b6c6f" datatype="html">\n        <source>deleted</source>\n        <target>deleted</target>\n      </trans-unit>\n      <trans-unit id="107614b994f2b01abdc1ca179bf780b0cd933ec4" datatype="html">\n        <source>Recovery Priority</source>\n        <target>Recovery Priority</target>\n      </trans-unit>\n      <trans-unit id="359dad5a3a912ef9dece3194035020856805aa96" datatype="html">\n        <source>PG scrub</source>\n        <target>PG scrub</target>\n      </trans-unit>\n      <trans-unit id="953144c420c2e5abd02e6a687433eac60fa852bd" datatype="html">\n        <source>PGs</source>\n        <target>파괴됨</target>\n      </trans-unit>\n      <trans-unit id="7d3523ea9d35c274cef84043de8a2fdde540a9a1" datatype="html">\n        <source>Read bytes</source>\n        <target>읽은 바이트들</target>\n      </trans-unit>\n      <trans-unit id="f15bf7f588f09ca79795b17bc244e8d336f28171" datatype="html">\n        <source>Write bytes</source>\n        <target>쓰여진 바이트들</target>\n      </trans-unit>\n      <trans-unit id="f3c33322823c846b13f59ba2c8f234405bba99e1" datatype="html">\n        <source>Read ops</source>\n        <target>읽기 ops</target>\n      </trans-unit>\n      <trans-unit id="7e0b24a17546cbfab48b03dc874461d1ca68bc9a" datatype="html">\n        <source>Write ops</source>\n        <target>쓰기 ops</target>\n      </trans-unit>\n      <trans-unit id="b27d1dd31789610130b7cdbf88c4da552cffe936" datatype="html">\n        <source>Edit OSD: \n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\n        </source>\n        <target>Edit OSD: \n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="986f1379580078e77666d10f8ddf4f839c6ca71d" datatype="html">\n        <source>Edit OSD</source>\n        <target>Edit OSD</target>\n      </trans-unit>\n      <trans-unit id="a4b09e2fa39c3e4f1a387f191fbae4eea3ce7bf5" datatype="html">\n        <source>Updated OSD "\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>"\n        </source>\n        <target>Updated OSD "\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="d45455406092f58e6b089cb440b5b7934b801a01" datatype="html">\n        <source>Mark OSD \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </source>\n        <target>Mark OSD \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="de0b7806e451b3b3dbd564decba59981fe781c18" datatype="html">\n        <source>Mark \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </source>\n        <target>Mark \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="bba1d3bb4f8a47aa2b3068e242562196eadb1e83" datatype="html">\n        <source>PG scrub options</source>\n        <target>PG scrub options</target>\n      </trans-unit>\n      <trans-unit id="b0b7748ebc9b7a6942a8cac4a89d4b215b365878" datatype="html">\n        <source>Updated PG scrub options</source>\n        <target>Updated PG scrub options</target>\n      </trans-unit>\n      <trans-unit id="4edc2162af0bd6cd941eaf730d20a7e3b5a83ba7" datatype="html">\n        <source>Max Backfills</source>\n        <target>최대 백필들</target>\n      </trans-unit>\n      <trans-unit id="eb5e6c24a48a1dfe23e0a772b762be5e949c0c8a" datatype="html">\n        <source>Recovery Max Active</source>\n        <target>최대 활성화를 복구하기</target>\n      </trans-unit>\n      <trans-unit id="4a23c6d3859e03184118620d2baeb736ac765fbf" datatype="html">\n        <source>Recovery Max Single Start</source>\n        <target>최대 단일 시작을 복구하기</target>\n      </trans-unit>\n      <trans-unit id="97049169ef5228fd1724de2fcdad1fec2858eaf8" datatype="html">\n        <source>Recovery Sleep</source>\n        <target>잠자기를 복구하기</target>\n      </trans-unit>\n      <trans-unit id="89553524f4e7db5c437b07dcfdc7b831d56ded1a" datatype="html">\n        <source>Updated OSD recovery speed priority "\n          <x id="INTERPOLATION" equiv-text="{{value}}"/>"\n        </source>\n        <target>Updated OSD recovery speed priority "\n          <x id="INTERPOLATION" equiv-text="{{value}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="ccf5f30798c03d2d8efd0e6eb508320c018b722d" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{operation}}"/> was initialized in the following OSD(s): \n          <x id="INTERPOLATION_1" equiv-text="{{id}}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{operation}}"/> was initialized in the following OSD(s): \n          <x id="INTERPOLATION_1" equiv-text="{{id}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="3bc2d18913479965cb046ec75e2ac3f7b7a77ce5" datatype="html">\n        <source>Create Silence</source>\n        <target>Create Silence</target>\n      </trans-unit>\n      <trans-unit id="78917e8031aaf913ac3fa63295325ce8879703ce" datatype="html">\n        <source>Job</source>\n        <target>일</target>\n      </trans-unit>\n      <trans-unit id="94287619205068b591c18493c64781424864c259" datatype="html">\n        <source>Severity</source>\n        <target>심각도</target>\n      </trans-unit>\n      <trans-unit id="e6cfbe0c5e0302ba2cec22315f6a28f8ac46b651" datatype="html">\n        <source>Started</source>\n        <target>시작된</target>\n      </trans-unit>\n      <trans-unit id="801b98c6f02fe3b32f6afa3ee854c99ed83474e6" datatype="html">\n        <source>URL</source>\n        <target>URL</target>\n      </trans-unit>\n      <trans-unit id="d9f726c70aeba7fa6d3d68bff718abe78b1e50ac" datatype="html">\n        <source>Query</source>\n        <target>Query</target>\n      </trans-unit>\n      <trans-unit id="a5cd682a8a33bdc72e093d059429e3cc3a50ec1d" datatype="html">\n        <source>silence</source>\n        <target>silence</target>\n      </trans-unit>\n      <trans-unit id="f557e117e059e7036c6eecacd325a6ae35d866e0" datatype="html">\n        <source>Attribute name</source>\n        <target>Attribute name</target>\n      </trans-unit>\n      <trans-unit id="50f7f517ad8158667f7d4e2bd6f3256e05156e75" datatype="html">\n        <source>Regular expression</source>\n        <target>Regular expression</target>\n      </trans-unit>\n      <trans-unit id="81b1eab399c47110d50f45e3ccb4c009de7cb581" datatype="html">\n        <source>Please add your Prometheus host to the dashboard configuration and refresh the page</source>\n        <target>Please add your Prometheus host to the dashboard configuration and refresh the page</target>\n      </trans-unit>\n      <trans-unit id="29b4ae3296e239446fa0dea88a5112de15cffa54" datatype="html">\n        <source>Created by</source>\n        <target>Created by</target>\n      </trans-unit>\n      <trans-unit id="8d833cceee0ba4c5161b130365e02bc1e129b57e" datatype="html">\n        <source>Ends</source>\n        <target>Ends</target>\n      </trans-unit>\n      <trans-unit id="46a11ff4289e8c88b1b7a935f8d8ee704055f11a" datatype="html">\n        <source>Silence</source>\n        <target>Silence</target>\n      </trans-unit>\n      <trans-unit id="f2ea47d702c7f5e3e5fa751bf9959e21030b72e6" datatype="html">\n        <source>Daemon type</source>\n        <target>Daemon type</target>\n      </trans-unit>\n      <trans-unit id="6c131968e6ab730d86443e6fc11c5cc2a76d7bac" datatype="html">\n        <source>Daemon ID</source>\n        <target>Daemon ID</target>\n      </trans-unit>\n      <trans-unit id="5738f0ca7ddd9594058ce051b1d5d576e2782825" datatype="html">\n        <source>Container ID</source>\n        <target>Container ID</target>\n      </trans-unit>\n      <trans-unit id="78ebcf850cd440c5efc15e6a3a522ae75aeff669" datatype="html">\n        <source>Container Image name</source>\n        <target>Container Image name</target>\n      </trans-unit>\n      <trans-unit id="ea0c7ab9a7bdf646d494abf8c85fbf67d934d079" datatype="html">\n        <source>Container Image ID</source>\n        <target>Container Image ID</target>\n      </trans-unit>\n      <trans-unit id="bf2468fd965b8a59c135ad549b3a612aa9873abc" datatype="html">\n        <source>Status Description</source>\n        <target>Status Description</target>\n      </trans-unit>\n      <trans-unit id="19867330bdc84096f5a93ab087a1766476c8a074" datatype="html">\n        <source>Last Refreshed</source>\n        <target>Last Refreshed</target>\n      </trans-unit>\n      <trans-unit id="2349ee2027ab6ceb3e4b8834928562075b7e1ac7" datatype="html">\n        <source>Container image name</source>\n        <target>Container image name</target>\n      </trans-unit>\n      <trans-unit id="3c475503fb93338811af6b3d9ccacca1d7334609" datatype="html">\n        <source>Container image ID</source>\n        <target>Container image ID</target>\n      </trans-unit>\n      <trans-unit id="8dd15f6c73c05a8b0bd7b6d416487ab6570b88c8" datatype="html">\n        <source>Running</source>\n        <target>Running</target>\n      </trans-unit>\n      <trans-unit id="fb2e1bed329dc5b84197808c778abb9edcbdb335" datatype="html">\n        <source>Used</source>\n        <target>사용된</target>\n      </trans-unit>\n      <trans-unit id="4f1ab04d9100fb0df0e62b921ec46ae052ae29fc" datatype="html">\n        <source>Avail.</source>\n        <target>이용가능:</target>\n      </trans-unit>\n      <trans-unit id="a1c9b3d4fa67450fe9afd1d726f8a1bd91d990ea" datatype="html">\n        <source>Clean</source>\n        <target>깨끗한</target>\n      </trans-unit>\n      <trans-unit id="0054f5460090d6dde385e8f099d598df5d28cf54" datatype="html">\n        <source>Working</source>\n        <target>정상동작중</target>\n      </trans-unit>\n      <trans-unit id="a8059e31694578c1b0344a76a345357dd60e8f01" datatype="html">\n        <source>Warning</source>\n        <target>경고</target>\n      </trans-unit>\n      <trans-unit id="e5d8bb389c702588877f039d72178f219453a72d" datatype="html">\n        <source>Unknown</source>\n        <target>알려지지 않은</target>\n      </trans-unit>\n      <trans-unit id="88155be1b9b9c6140d6e8f93bac4a775cfdc6671" datatype="html">\n        <source>Healthy</source>\n        <target>Healthy</target>\n      </trans-unit>\n      <trans-unit id="8a3aec4dc1a6e2d4c612ae85e0537acbb20a0f85" datatype="html">\n        <source>Misplaced</source>\n        <target>Misplaced</target>\n      </trans-unit>\n      <trans-unit id="ee81f9bf7ceac69712e0b83e8adc268739f9673e" datatype="html">\n        <source>Degraded</source>\n        <target>Degraded</target>\n      </trans-unit>\n      <trans-unit id="14625bc4025daef1969777a67a3cca27e0cd9167" datatype="html">\n        <source>Unfound</source>\n        <target>Unfound</target>\n      </trans-unit>\n      <trans-unit id="8f23ea509d081c2f747d083d44608dbf125b2ea2" datatype="html">\n        <source>replicas</source>\n        <target>replicas</target>\n      </trans-unit>\n      <trans-unit id="129a2224e1f9d19eb5e11e2a07fe10a785556484" datatype="html">\n        <source>up</source>\n        <target>정상</target>\n      </trans-unit>\n      <trans-unit id="d5f29cf0af691726483262d647eb6622be002512" datatype="html">\n        <source>no filesystems</source>\n        <target>파일시스템들 없음</target>\n      </trans-unit>\n      <trans-unit id="b1c4387ffab06f3fa9fdb4411aea955595538d44" datatype="html">\n        <source>active</source>\n        <target>활성화된</target>\n      </trans-unit>\n      <trans-unit id="1aaf7054d826f2cb05ec3e88a5a4b8116861e1f5" datatype="html">\n        <source>standby</source>\n        <target>대기중인</target>\n      </trans-unit>\n      <trans-unit id="c9a1080024dca344a48acdb77fa2d54e059f7254" datatype="html">\n        <source>n/a</source>\n        <target>이용불가</target>\n      </trans-unit>\n      <trans-unit id="84a1787b6df375847c70f782861d7e7f8f43bff4" datatype="html">\n        <source>active daemon</source>\n        <target>활성화된 데몬들</target>\n      </trans-unit>\n      <trans-unit id="24407dc2ebfafaf6b131ee978683b893c3f1d763" datatype="html">\n        <source>quorum</source>\n        <target>정족수</target>\n      </trans-unit>\n      <trans-unit id="2fa50bc07995c6ea660412294298ded39fcb08d9" datatype="html">\n        <source>The NFS Ganesha service is not configured.</source>\n        <target>NFS Ganesha 서비스가 설정되지 않음</target>\n      </trans-unit>\n      <trans-unit id="af1396bdc49f45ea6c4a1e414769f5e2a382c834" datatype="html">\n        <source>Transport</source>\n        <target>전송</target>\n      </trans-unit>\n      <trans-unit id="b6a0e176d96c4feed2e975a039c044fcf822e152" datatype="html">\n        <source>CephFS User</source>\n        <target>CephFS 사용자</target>\n      </trans-unit>\n      <trans-unit id="44dc610cf201a163e8c38da810acec9596930bb3" datatype="html">\n        <source>CephFS Filesystem</source>\n        <target>CephFS 파일시스템</target>\n      </trans-unit>\n      <trans-unit id="db6dc7124be83c7055cb0f2719e31f2f9d46fd3d" datatype="html">\n        <source>(inherited from global config)</source>\n        <target>(전역 구성에서 상속)</target>\n      </trans-unit>\n      <trans-unit id="e1f97bb86f991553ec7b535cb39e7eaa99dfcfe2" datatype="html">\n        <source>inherited from global config</source>\n        <target>전역 구성에서 상속</target>\n      </trans-unit>\n      <trans-unit id="e751800766277e7c2edd652cec7a7a1a68a37852" datatype="html">\n        <source>-- Select what kind of user id squashing is performed --</source>\n        <target>- 어떤 종류의 사용자 ID 스쿼시가 수행되는지 선택 -</target>\n      </trans-unit>\n      <trans-unit id="4b58387f911e8a7b135a0c4d76c70335c65bbb32" datatype="html">\n        <source>There are no daemons available.</source>\n        <target>사용가능한 데몬이 없읍니다.</target>\n      </trans-unit>\n      <trans-unit id="18ae8dc1264f06df7ea251175ada2ac1b8401018" datatype="html">\n        <source>NFS export</source>\n        <target>NFS export</target>\n      </trans-unit>\n      <trans-unit id="c56d51748965db5f3966cd1d06a1c9f4b5244931" datatype="html">\n        <source>Crush Rule</source>\n        <target>Crush Rule</target>\n      </trans-unit>\n      <trans-unit id="ae128527ec18892f812a62a1fd15dc50a38060c0" datatype="html">\n        <source>EC Profile</source>\n        <target>EC Profile</target>\n      </trans-unit>\n      <trans-unit id="60fb10c145f9c7ede2b9ddf9b2b0b0f6191d0ebd" datatype="html">\n        <source>Cache Mode</source>\n        <target>캐쉬모드</target>\n      </trans-unit>\n      <trans-unit id="fa5bfad31d4139f6871443bb74324ffda5cad3e6" datatype="html">\n        <source>Min Evict Age</source>\n        <target>최소 퇴거 연령</target>\n      </trans-unit>\n      <trans-unit id="fd0eb851666df45c34c76fabcda79b0d77bc910b" datatype="html">\n        <source>Min Flush Age</source>\n        <target>최소 플러시 연령</target>\n      </trans-unit>\n      <trans-unit id="cb54d2c420a534cee0c308ea5589f8c394ef8d67" datatype="html">\n        <source>Target Max Bytes</source>\n        <target>목표 최대 바이트들</target>\n      </trans-unit>\n      <trans-unit id="07f4ebe6615dca466818ffdae2a69ee217d265fb" datatype="html">\n        <source>Target Max Objects</source>\n        <target>목표 최대 오브젝트들</target>\n      </trans-unit>\n      <trans-unit id="eaa8f4df53cf7fa78d078e20a701d10f3dccd77d" datatype="html">\n        <source>No applications added</source>\n        <target>추가된 응용프로그램 없음</target>\n      </trans-unit>\n      <trans-unit id="321c2a7640f11177ea49b0857b94c4b70830c0e6" datatype="html">\n        <source>Applications limit reached</source>\n        <target>응용프로그램 한계에 도달함</target>\n      </trans-unit>\n      <trans-unit id="519d27742b74fadc8336777452f78891e98aa1dc" datatype="html">\n        <source>A pool can only have up to four applications definitions.</source>\n        <target>하나의 풀은 오직 네개의 응용프로그램 정의들을 가질 수 있습니다.</target>\n      </trans-unit>\n      <trans-unit id="b5bec3813f0d45daa7eb9471272969e1bc3e734e" datatype="html">\n        <source>Allowed characters \'_a-zA-Z0-9\'</source>\n        <target> \'_a-zA-Z0-9\' 문자들만 허락됨</target>\n      </trans-unit>\n      <trans-unit id="807472d29602a0085bce62e534bd66208982c2e2" datatype="html">\n        <source>Maximum length is 128 characters</source>\n        <target>최대 길이는 128글자이다.</target>\n      </trans-unit>\n      <trans-unit id="37785748b9ac9ad1d3e4b111ac502c3284afe84b" datatype="html">\n        <source>Filter or add applications</source>\n        <target>필터 또는 추가된 응용프로그램들</target>\n      </trans-unit>\n      <trans-unit id="38c7b8610ca87835e13eeee6a09ba1c414cd5cb9" datatype="html">\n        <source>Add application</source>\n        <target>응용프로그램 추가</target>\n      </trans-unit>\n      <trans-unit id="db8c42f077700d8a94619fad9f4c94b7361d5f1d" datatype="html">\n        <source>pool</source>\n        <target>pool</target>\n      </trans-unit>\n      <trans-unit id="65bb2be83261bc4798853bbccdedc110c43feea7" datatype="html">\n        <source>erasure code profile</source>\n        <target>Erasure 코드 프로파일</target>\n      </trans-unit>\n      <trans-unit id="ae48e19a9a2acaca4b5ea594451bc9b0b01ec8d2" datatype="html">\n        <source>crush rule</source>\n        <target>crush rule</target>\n      </trans-unit>\n      <trans-unit id="112d356ad6846959ca4aa5ec9a1f0d9d473b24ec" datatype="html">\n        <source>Replica Size</source>\n        <target>복제 크기</target>\n      </trans-unit>\n      <trans-unit id="ec50492db341fa752b023d8c924601286b6c9c0c" datatype="html">\n        <source>Last Change</source>\n        <target>마지막 변경</target>\n      </trans-unit>\n      <trans-unit id="563a8c136a9d423bc7ae1269a404d6da5fd83dad" datatype="html">\n        <source>Erasure Coded Profile</source>\n        <target>Erasure 코드화된 프로파일</target>\n      </trans-unit>\n      <trans-unit id="0ad7f0662956cff61ac1208f92b1a0305b1b2e58" datatype="html">\n        <source>Crush Ruleset</source>\n        <target>크러쉬 룰셋</target>\n      </trans-unit>\n      <trans-unit id="bcc365a084b6145b941b371bd4c2b6c3d2c79234" datatype="html">\n        <source>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</source>\n        <target>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</target>\n      </trans-unit>\n      <trans-unit id="44939fd05cedfd077db886528b755e77d5fa3885" datatype="html">\n        <source>bucket</source>\n        <target>버킷</target>\n      </trans-unit>\n      <trans-unit id="84fee774286ec4191311f1277075455c3ea5e2e2" datatype="html">\n        <source>Updated Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>".\n        </source>\n        <target>Updated Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="2d7a43674f0bbc131c9e555ec16ac37fa0445d76" datatype="html">\n        <source>Created Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>"\n        </source>\n        <target>Created Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="ec40d74ecfb1d6d60455af6805c9a714a3f5750a" datatype="html">\n        <source>buckets</source>\n        <target>버킷들</target>\n      </trans-unit>\n      <trans-unit id="764585d5595bac113582ee14a6fd07006770ceb1" datatype="html">\n        <source>capability</source>\n        <target>capability</target>\n      </trans-unit>\n      <trans-unit id="0914cbe18bae204217e1851be6d2d24d86e74605" datatype="html">\n        <source>user</source>\n        <target>사용자</target>\n      </trans-unit>\n      <trans-unit id="d8c86dc5e48a63590d9c94e19f90b5f8325cbd49" datatype="html">\n        <source>subuser</source>\n        <target>subuser</target>\n      </trans-unit>\n      <trans-unit id="f45a3de8a8b40d161cc36a55d77548a27107ca04" datatype="html">\n        <source>S3 Key</source>\n        <target>S3 Key</target>\n      </trans-unit>\n      <trans-unit id="854a763265e92f91ba3ccee1a0e8d823be584f7c" datatype="html">\n        <source>Updated Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </source>\n        <target>Updated Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="84ab3fd641e65e39cffee0ec722a059ed284229e" datatype="html">\n        <source>Created Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </source>\n        <target>Created Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="7c7f4be7b726e61c577e63842a58d9e435f7c597" datatype="html">\n        <source>users</source>\n        <target>사용자들</target>\n      </trans-unit>\n      <trans-unit id="9f7760223efd77806f1bbaf963e6993bb4bc6a0a" datatype="html">\n        <source>Swift Key</source>\n        <target>Swift Key</target>\n      </trans-unit>\n      <trans-unit id="6462d8f12b427c29363f00b12f20f566be24937c" datatype="html">\n        <source>Device ID</source>\n        <target>Device ID</target>\n      </trans-unit>\n      <trans-unit id="82f12bf23db4bb82db89877bebe93954bc1c8fb0" datatype="html">\n        <source>State of Health</source>\n        <target>State of Health</target>\n      </trans-unit>\n      <trans-unit id="7bd34bd120146afef0e0d8fa168d9bdabd594b6a" datatype="html">\n        <source>Good</source>\n        <target>Good</target>\n      </trans-unit>\n      <trans-unit id="31c59dce114ec0a9d02552ef7b81920b3de36793" datatype="html">\n        <source>Bad</source>\n        <target>Bad</target>\n      </trans-unit>\n      <trans-unit id="2862af5284f66d4b06bdcf77a5519141723b6989" datatype="html">\n        <source>Stale</source>\n        <target>Stale</target>\n      </trans-unit>\n      <trans-unit id="8d8e819b52984a4fbdec75a99eb28d1ae4323bbc" datatype="html">\n        <source>Life Expectancy</source>\n        <target>Life Expectancy</target>\n      </trans-unit>\n      <trans-unit id="72d9b15be18ea063e78c4e855b9e8c0af95593ef" datatype="html">\n        <source>Prediction Creation Date</source>\n        <target>Prediction Creation Date</target>\n      </trans-unit>\n      <trans-unit id="a6b4ef85e5ff8bd192751c7bbebc54c46118d6d4" datatype="html">\n        <source>Device Name</source>\n        <target>Device Name</target>\n      </trans-unit>\n      <trans-unit id="d5fd840374ca1a6f394bcd81f390a6dca27f8224" datatype="html">\n        <source>An error with error code \n          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.\n        </source>\n        <target>An error with error code \n          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.\n        </target>\n      </trans-unit>\n      <trans-unit id="a0b59d7139692bb8d8ed786b6eb6e9e70ce743f3" datatype="html">\n        <source>Raw</source>\n        <target>Raw</target>\n      </trans-unit>\n      <trans-unit id="2f3beddc8234b30fb26a7f63ba2f1ea74f2ed6f7" datatype="html">\n        <source>Threshold</source>\n        <target>Threshold</target>\n      </trans-unit>\n      <trans-unit id="4654b5a68af3c8bad29aa14ca85ccea1f3143c6b" datatype="html">\n        <source>When Failed</source>\n        <target>When Failed</target>\n      </trans-unit>\n      <trans-unit id="5b7f56d5be49fb8e8d8f40209d6746f8f72e9177" datatype="html">\n        <source>Worst</source>\n        <target>Worst</target>\n      </trans-unit>\n      <trans-unit id="1481b8488e10dbc437accce89d2ae35a0106e8ba" datatype="html">\n        <source>Scope</source>\n        <target>범위</target>\n      </trans-unit>\n      <trans-unit id="9b1d5e95f6bdcfb4b737413f5fa157e0dcb103d5" datatype="html">\n        <source>Read</source>\n        <target>읽기</target>\n      </trans-unit>\n      <trans-unit id="70a67e04629f6d412db0a12d51820b480788d795" datatype="html">\n        <source>Create</source>\n        <target>만들기</target>\n      </trans-unit>\n      <trans-unit id="dc4fba275819619ee78e8eae14d357ea69ba7477" datatype="html">\n        <source>role</source>\n        <target>role</target>\n      </trans-unit>\n      <trans-unit id="fe6ee93173884201ec62d62ba173c3de85ae177e" datatype="html">\n        <source>Created role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Created role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="41c032df0732f4318f8213fabd0719ac347d4b6c" datatype="html">\n        <source>Updated role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Updated role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="50e22b5289f79f1417369403345c9fa9911a4557" datatype="html">\n        <source>System Role</source>\n        <target>시스템 롤</target>\n      </trans-unit>\n      <trans-unit id="7f132668e2dbfcf616381d2daf59d1a6f2698102" datatype="html">\n        <source>Deleted role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Deleted role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="bd15b8d5c0fa160161728eefbbb585710414d471" datatype="html">\n        <source>New name</source>\n        <target>New name</target>\n      </trans-unit>\n      <trans-unit id="6f126277f3dc22a3ab3609c4c198386c8744e11a" datatype="html">\n        <source>Clone Role</source>\n        <target>Clone Role</target>\n      </trans-unit>\n      <trans-unit id="d19d8320479854bc52877cdf0dc5ecfe34a36ec7" datatype="html">\n        <source>Cloned role \'\n          <x id="INTERPOLATION" equiv-text="{{dst_name}}"/>\' from \'\n          <x id="INTERPOLATION_1" equiv-text="{{src_name}}"/>\'\n        </source>\n        <target>Cloned role \'\n          <x id="INTERPOLATION" equiv-text="{{dst_name}}"/>\' from \'\n          <x id="INTERPOLATION_1" equiv-text="{{src_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="2e35d60a14ce0b470e8b54602864a867f7fcef40" datatype="html">\n        <source>There are no roles.</source>\n        <target>There are no roles.</target>\n      </trans-unit>\n      <trans-unit id="d2362a49d2434ce137bf19dab004251b7fd9c7b3" datatype="html">\n        <source>Created user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Created user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="9910122dfedd2eaa544a990f1430e5b82a76d99f" datatype="html">\n        <source>Update user</source>\n        <target>갱신된 사용자</target>\n      </trans-unit>\n      <trans-unit id="ac10a3d9b59575640797c1a8e6aea642cf5d5e77" datatype="html">\n        <source>Continue</source>\n        <target>계속</target>\n      </trans-unit>\n      <trans-unit id="cf4bcf4ce3d551e6099ccdc3546ae418fe5f8038" datatype="html">\n        <source>You were automatically logged out because your roles have been changed.</source>\n        <target>당신의 롤들이 변경되어 당신은 자동적으로 로그아웃되었습니다.</target>\n      </trans-unit>\n      <trans-unit id="0f6003fb0c1cc73b89d225801cc1b870945cd259" datatype="html">\n        <source>Updated user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Updated user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="fe516c6d820018fdc971113935e22ec1e852965f" datatype="html">\n        <source>Deleted user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Deleted user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="01a7e11502ff80421ef3615e533ea14ef57e1d5c" datatype="html">\n        <source>Failed to delete user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Failed to delete user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="63316a3861dbcb035147efc1b9fb6bc708242e94" datatype="html">\n        <source>You are currently logged in as "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>".\n        </source>\n        <target>You are currently logged in as "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="d8b81951d25439864e92f750f7c99d7426d6517c" datatype="html">\n        <source>password</source>\n        <target>password</target>\n      </trans-unit>\n      <trans-unit id="d361a9b5e1f7985a12c0433388f31626525a02b8" datatype="html">\n        <source>Updated user password"</source>\n        <target>Updated user password"</target>\n      </trans-unit>\n      <trans-unit id="c4e596a44ffc4718c1602600d6e4f029190eb031" datatype="html">\n        <source>The name of the node under which data should be placed.</source>\n        <target>The name of the node under which data should be placed.</target>\n      </trans-unit>\n      <trans-unit id="f24772ba1091155f8d7025332ca8456a204d1e28" datatype="html">\n        <source>The type of CRUSH nodes across which we should separate replicas.</source>\n        <target>The type of CRUSH nodes across which we should separate replicas.</target>\n      </trans-unit>\n      <trans-unit id="a3896042af461a80091c3f7a5fe3fff5ac40a3a0" datatype="html">\n        <source>The device class data should be placed on.</source>\n        <target>The device class data should be placed on.</target>\n      </trans-unit>\n      <trans-unit id="1d7fbcc3d5efc946ffbcf86fed04c4e20dda20fb" datatype="html">\n        <source>Each object is split in data-chunks parts, each stored on a different OSD.</source>\n        <target>각각의 오브젝트들은 데이타-청크 부분들로 분리되어, 각기 다른 OSD에 보관됩니다.</target>\n      </trans-unit>\n      <trans-unit id="b1f8ed4e216585f1f9134740002ef3c8501debd8" datatype="html">\n        <source>Compute coding chunks for each object and store them on different OSDs.\n      The number of coding chunks is also the number of OSDs that can be down without losing data.</source>\n        <target>각 오브젝트들에 대한 코딩 청크를 계산하고 서로 다른 OSD에 저장합니다. \n코딩된 청크의 수는 데이터 손실없이 작동중지 되어 질 수있는 OSD의 숫자이기도합니다.</target>\n      </trans-unit>\n      <trans-unit id="c437ee74a9a8e781e1380153f742a685e3b8cc5e" datatype="html">\n        <source>The jerasure plugin is the most generic and flexible plugin,\n          it is also the default for Ceph erasure coded pools.</source>\n        <target>Jerasure 플러그인은 가장 일반적이고 유연한 플러그인으로,\n또한 Ceph erasure 코드 풀의 기본값이기도합니다.</target>\n      </trans-unit>\n      <trans-unit id="8c7e19322851402afa67e41f4f1d4e531caf1bf5" datatype="html">\n        <source>The more flexible technique is reed_sol_van : it is enough to set k\n          and m. The cauchy_good technique can be faster but you need to chose the packetsize\n          carefully. All of reed_sol_r6_op, liberation, blaum_roth, liber8tion are RAID6 equivalents\n          in the sense that they can only be configured with m=2.</source>\n        <target>보다 유연한 기술은 reed_sol_van입니다 : k와 m을 설정하면 충분합니다. \ncauchy_good 기술은 빠를 수 있지만 패킷크기를 주의깊게 선택해야합니다. \nreed_sol_r6_op, liberation, blaum_roth, liber8tion은 모두 m = 2로만 구성 할 수 있다는 점에서 RAID-6에 해당합니다.</target>\n      </trans-unit>\n      <trans-unit id="b1b11f49281b4e79219b4eecfbcb033cb15bd880" datatype="html">\n        <source>The encoding will be done on packets of bytes size at a time.\n          Chosing the right packet size is difficult.\n          The jerasure documentation contains extensive information on this topic.</source>\n        <target>인코딩은 한번에 바이트들 크기의 패킷에 대해 수행됩니다. 올바른 패킷 크기를 선택하는 것은 어렵습니다. jerasure 문서에는이 주제에 대한 광범위한 정보가 들어 있습니다.</target>\n      </trans-unit>\n      <trans-unit id="d9cb3bc07a25b26fbea457e0a7b543340bc13c49" datatype="html">\n        <source>With the jerasure plugin, when an erasure coded object is stored on\n          multiple OSDs, recovering from the loss of one OSD requires reading from all the others.\n          For instance if jerasure is configured with k=8 and m=4, losing one OSD requires reading\n          from the eleven others to repair.\n\n          The lrc erasure code plugin creates local parity chunks to be able to recover using\n          less OSDs. For instance if lrc is configured with k=8, m=4 and l=4, it will create\n          an additional parity chunk for every four OSDs. When a single OSD is lost, it can be\n          recovered with only four OSDs instead of eleven.</source>\n        <target>jerasure 플러그인을 사용하면 삭제 된 코딩 된 객체가 여러 OSD에 저장 될 때 하나의 OSD가 손실되는 것을 복구하려면 다른 모든 OSD를 읽어야합니다. 예를 들어 jerasure가 k = 8 및 m = 4로 구성되어있는 경우 하나의 OSD를 잃어 버리면 11 명의 다른 사람들이 수리해야합니다.\nlrc erasure code plugin은 적은 양의 OSD를 사용하여 복구 할 수 있도록 로컬 패리티 청크를 만듭니다. 예를 들어, lrc가 k = 8, m = 4 및 l = 4로 구성된 경우 4 개의 OSD마다 추가 패리티 덩어리가 생성됩니다. 단일 OSD가 손실되면 11 개 대신 4 개의 OSD만으로 복구 할 수 있습니다.</target>\n      </trans-unit>\n      <trans-unit id="813959d46e63a29bbd266b3af2ff9414c2ef553c" datatype="html">\n        <source>Group the coding and data chunks into sets of size locality. For instance,\n          for k=4 and m=2, when locality=3 two groups of three are created. Each set can\n          be recovered without reading chunks from another set.</source>\n        <target>코딩 및 데이터 청크를 크기 지역 집합으로 그룹화합니다. 예를 들어, k = 4 및 m = 2에 대해, 지역성 = 3 일 때 두 개의 세 그룹이 생성됩니다. 각 세트는 다른 세트의 청크를 읽지 않고도 복구 될 수 있습니다.</target>\n      </trans-unit>\n      <trans-unit id="f0ff63d92e0a1b4d4b51e31b9133802d160a5f4c" datatype="html">\n        <source>The type of the crush bucket in which each set of chunks defined\n          by l will be stored. For instance, if it is set to rack, each group of l chunks will be\n          placed in a different rack. It is used to create a CRUSH rule step such as step choose\n          rack. If it is not set, no such grouping is done.</source>\n        <target>l로 정의 된 각 청크 집합이 저장되는 크러시 버킷의 유형입니다. 예를 들어 랙으로 설정하면 l 개의 청크 그룹이 각각 다른 랙에 배치됩니다. \n랙 선택 단계와 같은 CRUSH 규칙 단계를 만드는 데 사용됩니다. 설정되어 있지 않으면, 그러한 그룹화가 수행되지 않습니다.</target>\n      </trans-unit>\n      <trans-unit id="3ece48df9d1e9a98f98bf3c5cc66e8b637020a4d" datatype="html">\n        <source>The isa plugin encapsulates the ISA library. It only runs on Intel processors.</source>\n        <target>isa 플러그인은 ISA 라이브러리를 캡슐화합니다. 인텔 프로세서에서만 실행됩니다.</target>\n      </trans-unit>\n      <trans-unit id="4472c9e31bfc7d96a83dc4afce0a6e885c99e839" datatype="html">\n        <source>The ISA plugin comes in two Reed Solomon forms.\n          If reed_sol_van is set, it is Vandermonde, if cauchy is set, it is Cauchy.</source>\n        <target>ISA 플러그인은 두 개의 리드 솔로몬 형식으로 제공됩니다.\nreed_sol_van이 설정되면 Vandermonde, cauchy가 설정되면 Cauchy입니다.</target>\n      </trans-unit>\n      <trans-unit id="fa385f5ecf63083ec848dca8dc5e52bdc72ac6f6" datatype="html">\n        <source>The shec plugin encapsulates the multiple SHEC library.\n          It allows ceph to recover data more efficiently than Reed Solomon codes.</source>\n        <target>shec plugin은 다중 SHEC 라이브러리를 캡슐화합니다.\n           ceph가 리드 솔로몬 코드보다 더 효율적으로 데이터를 복구 할 수 있습니다.</target>\n      </trans-unit>\n      <trans-unit id="687b3cd94b3475c24ff4481d64d4739f902a377c" datatype="html">\n        <source>The number of parity chunks each of which includes each data chunk in its\n          calculation range. The number is used as a durability estimator. For instance, if c=2,\n          2 OSDs can be down without losing data.</source>\n        <target>각 데이터 청크가 계산 범위에 포함되는 패리티 청크의 수입니다. 이 수치는 내구성 측정기로 사용됩니다. 예를 들어, c = 2 인 경우 2 개의 OSD가 데이터 손실없이 중단 될 수 있습니다.</target>\n      </trans-unit>\n      <trans-unit id="f3c4af6df91bdaabdb715f8f0b61a24faf73a3bc" datatype="html">\n        <source>The name of the crush bucket used for the first step of the CRUSH rule.\n      For instance step take default.</source>\n        <target>CRUSH 규칙의 첫 번째 단계에 사용 된 크러시 버킷의 이름입니다. 예를 들어 step은 기본값을 취합니다.</target>\n      </trans-unit>\n      <trans-unit id="e1059955a5ce65cdabf0c0a8207377e1f9bae57e" datatype="html">\n        <source>Ensure that no two chunks are in a bucket with the same failure\n      domain. For instance, if the failure domain is host no two chunks will be stored on the same\n      host. It is used to create a CRUSH rule step such as step chooseleaf host.</source>\n        <target>동일한 실패 도메인을 가진 양동이에 두 개의 청크가 없는지 확인하십시오. 예를 들어 실패 도메인이 호스트 인 경우 두 개의 청크가 동일한 호스트에 저장되지 않습니다. 이 단계는 리프 호스트를 선택하는 단계와 같은 CRUSH 규칙 단계를 만드는 데 사용됩니다.</target>\n      </trans-unit>\n      <trans-unit id="ac392ac9c6da5fde6da80fc57b9c09402fb6e73d" datatype="html">\n        <source>Restrict placement to devices of a specific class\n      (e.g., ssd or hdd), using the crush device class names in the CRUSH map.</source>\n        <target>CRUSH지도에서 크래시 장치 클래스 이름을 사용하여 특정 클래스 (예 : ssd 또는 hdd)의 장치로 배치를 제한합니다.</target>\n      </trans-unit>\n      <trans-unit id="62bcb9ae5583a088649b1adf5787a86ca3334f89" datatype="html">\n        <source>Set the directory name from which the erasure code plugin is loaded.</source>\n        <target>삭제 코드 플러그인이로드되는 디렉토리 이름을 설정하십시오.</target>\n      </trans-unit>\n      <trans-unit id="c8f10184a8433d132ede0a2c0c1aa96f291cacfa" datatype="html">\n        <source>Allows all operations</source>\n        <target>모든 작업들 허용</target>\n      </trans-unit>\n      <trans-unit id="82077ee97c11ee76efc3adf253b7b26654544317" datatype="html">\n        <source>Allows only operations that do not modify the server</source>\n        <target>오직 서버를 수정하지 않는 작업들만 가능합니다.</target>\n      </trans-unit>\n      <trans-unit id="22b5212ec10449dbf0a0af0ad34122eac51b5f2a" datatype="html">\n        <source>Does not allow read or write operations, but allows any other operation</source>\n        <target>읽기와 쓰기 작업은 허용되지 않지만, 그외 모든 작업이 가능합니다.</target>\n      </trans-unit>\n      <trans-unit id="9799d0f8c4b7727ae239fedfe3c0ce127feb7a50" datatype="html">\n        <source>Does not allow read, write, or any operation that modifies file        attributes or directory content</source>\n        <target>파일의 속성과 디렉토리 내용을 변경하는 읽기, 쓰기 또는 어떠한 작업은 허용되지 않습니다.</target>\n      </trans-unit>\n      <trans-unit id="aeddefe0af87025d8f00699aa94bed8216a99a58" datatype="html">\n        <source>Allows no access at all</source>\n        <target>전혀 어떠한 접근도 허용되지 않습니다.</target>\n      </trans-unit>\n      <trans-unit id="a436c6a4025a749198e93cac239de8deede72211" datatype="html">\n        <source>-- Select the priority --</source>\n        <target>-- 우선순위 선택 --</target>\n      </trans-unit>\n      <trans-unit id="9556266f0a2b1762a44b686f2bb21dbfefb01c12" datatype="html">\n        <source>Low</source>\n        <target>낮음</target>\n      </trans-unit>\n      <trans-unit id="72279141a67cc042d9864102b703216cc8a428a3" datatype="html">\n        <source>High</source>\n        <target>높음</target>\n      </trans-unit>\n      <trans-unit id="6080b77234e92ad41bb52653b239c4c4f851317d" datatype="html">\n        <source>Error</source>\n        <target>Error</target>\n      </trans-unit>\n      <trans-unit id="c43dc1967a603fefb886149ac35863a06d5b4ce5" datatype="html">\n        <source>Information</source>\n        <target>정보</target>\n      </trans-unit>\n      <trans-unit id="1e035e6ccfab771cad4226b2ad230cb0d4a88cba" datatype="html">\n        <source>Success</source>\n        <target>Success</target>\n      </trans-unit>\n      <trans-unit id="61fd1cffcb763cbfd5829071723cf9b647174bd9" datatype="html">\n        <source>An error occurred.</source>\n        <target>An error occurred.</target>\n      </trans-unit>\n      <trans-unit id="e6ca3c0efaf51e6d45a7f92f58bac37140c3fda4" datatype="html">\n        <source>Last 5 minutes</source>\n        <target>마지막 5분</target>\n      </trans-unit>\n      <trans-unit id="b0ecb2bbc548cc9bd95050fd8f0c84586d083fe2" datatype="html">\n        <source>Last 15 minutes</source>\n        <target>지난 15분</target>\n      </trans-unit>\n      <trans-unit id="857ae67deb51353120b203b0f2a06b0c48ef49fa" datatype="html">\n        <source>Last 30 minutes</source>\n        <target>지난 30분</target>\n      </trans-unit>\n      <trans-unit id="7b1738fad314e936dc14b94db8f43da736942308" datatype="html">\n        <source>Last 1 hour (Default)</source>\n        <target>지난 1시간(기본)</target>\n      </trans-unit>\n      <trans-unit id="a428288224389726cef9d9bd8d1d7808cccd7ffd" datatype="html">\n        <source>Last 3 hours</source>\n        <target>지난 3시간</target>\n      </trans-unit>\n      <trans-unit id="7cbabecc8d80cf183ac199cfaeb7619d56e5d43f" datatype="html">\n        <source>Last 6 hours</source>\n        <target>지난 6시간</target>\n      </trans-unit>\n      <trans-unit id="1a389cdf64187d34cf99eec30a290e3fa7d4744f" datatype="html">\n        <source>Last 12 hours</source>\n        <target>지난 12시간</target>\n      </trans-unit>\n      <trans-unit id="9e0ba5f591380a94d594a76288f0c41aa97eb9c2" datatype="html">\n        <source>Last 24 hours</source>\n        <target>지난 24시간</target>\n      </trans-unit>\n      <trans-unit id="e430eda9c785cd43465b7cbb400ee914f1057247" datatype="html">\n        <source>Yesterday</source>\n        <target>어제</target>\n      </trans-unit>\n      <trans-unit id="7fb1099e29660162f9154d5b2feee7743a423df6" datatype="html">\n        <source>Today</source>\n        <target>오늘</target>\n      </trans-unit>\n      <trans-unit id="33904058a97a64bd189bed84038b1ffe719769c7" datatype="html">\n        <source>Today so far</source>\n        <target>오늘 지금까지</target>\n      </trans-unit>\n      <trans-unit id="3b0b849be007510021d3d383df75bec95ef9c97b" datatype="html">\n        <source>Day before yesterday</source>\n        <target>그저께</target>\n      </trans-unit>\n      <trans-unit id="6b430c2c394c4d32ebd7d46c8c46ab60e1b29ccb" datatype="html">\n        <source>Last 2 days</source>\n        <target>지난 2일</target>\n      </trans-unit>\n      <trans-unit id="d5e812a87a5d57a94200a2013027cab76a7c4863" datatype="html">\n        <source>This day last week</source>\n        <target>이번 주 마지막날</target>\n      </trans-unit>\n      <trans-unit id="d00edc936eeab6b5577401f115ca86ca2c87dc9a" datatype="html">\n        <source>Previous week</source>\n        <target>전주</target>\n      </trans-unit>\n      <trans-unit id="b036e40577baa6b918b2267d319d4b3aeaa88a5a" datatype="html">\n        <source>This week</source>\n        <target>이번주</target>\n      </trans-unit>\n      <trans-unit id="99ad5a6096b3fcb3f021f3779bae710cdfeb8934" datatype="html">\n        <source>This week so far</source>\n        <target>이번주 지금까지</target>\n      </trans-unit>\n      <trans-unit id="02e0243b60007368f87dc01e083f232dd025096d" datatype="html">\n        <source>Last 7 days</source>\n        <target>지난 7일</target>\n      </trans-unit>\n      <trans-unit id="c3b08b07b5ab98e7cdcf18df39355690ab7d3884" datatype="html">\n        <source>Previous month</source>\n        <target>지난 달</target>\n      </trans-unit>\n      <trans-unit id="1b2562c6d5aa90644e7dc91feee82e2005fceb33" datatype="html">\n        <source>This month</source>\n        <target>이번 달</target>\n      </trans-unit>\n      <trans-unit id="26b4b18c5917934abb169ba9aa490e57f7bf10b8" datatype="html">\n        <source>This month so far</source>\n        <target>이번 달 지금까지</target>\n      </trans-unit>\n      <trans-unit id="7668986b9f753fcd72ad4a00b1a0c4861d1f7fb8" datatype="html">\n        <source>Last 30 days</source>\n        <target>지난 30일</target>\n      </trans-unit>\n      <trans-unit id="ba1e822408d90c6fbd2989100fa648bfd5e8ee84" datatype="html">\n        <source>Last 90 days</source>\n        <target>지난 90일</target>\n      </trans-unit>\n      <trans-unit id="c3df03f899a914c4181adcdc8a3f077424f7b6e8" datatype="html">\n        <source>Last 6 months</source>\n        <target>지난 6개월</target>\n      </trans-unit>\n      <trans-unit id="7f9a92757580c9f31c309c0a3812ea429274eadf" datatype="html">\n        <source>Last 1 year</source>\n        <target>지난 1년</target>\n      </trans-unit>\n      <trans-unit id="5a9fede30ff65cb4b4426f6b1ed31afb67ecd7b0" datatype="html">\n        <source>Previous year</source>\n        <target>전년도</target>\n      </trans-unit>\n      <trans-unit id="65cefcc53d1f6445df7568e8a40c49165f1090ee" datatype="html">\n        <source>This year</source>\n        <target>금년도</target>\n      </trans-unit>\n      <trans-unit id="1f68b766944dc3865bddab765fe952b0c1c43f92" datatype="html">\n        <source>This year so far</source>\n        <target>금년 지금까지</target>\n      </trans-unit>\n      <trans-unit id="4d4b77e614f8043fdadef5d6d235655bb48eb311" datatype="html">\n        <source>Last 2 years</source>\n        <target>지난 2년</target>\n      </trans-unit>\n      <trans-unit id="138afa339ea6e75d25a474affe1edbcb90e00ec0" datatype="html">\n        <source>Last 5 years</source>\n        <target>지난 5년</target>\n      </trans-unit>\n      <trans-unit id="37391297bb077a6f84484930261b01a3ce38327b" datatype="html">\n        <source>No items selected.</source>\n        <target>선택된 아이템 없음</target>\n      </trans-unit>\n      <trans-unit id="2c1e52ee832661b4a0f570877d24661736b16af1" datatype="html">\n        <source>Deselect item to select again</source>\n        <target>다시 선택하기 위해 아이템 선택을 취소</target>\n      </trans-unit>\n      <trans-unit id="c8c9c6e5918659336824bbdda3501c66eaa79a4c" datatype="html">\n        <source>Selection limit reached</source>\n        <target>선택 한계에 도달함</target>\n      </trans-unit>\n      <trans-unit id="02d184c288f567825a1fcbf83bcd3099a10853d5" datatype="html">\n        <source>Filter tags</source>\n        <target>필터 테그들</target>\n      </trans-unit>\n      <trans-unit id="aa00748e49c269956837d6f3acdd8d218796a8d8" datatype="html">\n        <source>Add badge</source>\n        <target>베찌 추가</target>\n      </trans-unit>\n      <trans-unit id="4078a92d8121abdce7d8f346a88914923ec835fc" datatype="html">\n        <source>There are no items available.</source>\n        <target>사용가능한 아이템 없음</target>\n      </trans-unit>\n      <trans-unit id="55dd9f44e64851bca3b7bfc9283a5ff36f030228" datatype="html">\n        <source>Set</source>\n        <target>Set</target>\n      </trans-unit>\n      <trans-unit id="019d4bd6a5690f0cfa0ecf346a4e6bf7f0d8debb" datatype="html">\n        <source>Remove</source>\n        <target>Remove</target>\n      </trans-unit>\n      <trans-unit id="e168fe6c468b3ad632731395ef89860274242844" datatype="html">\n        <source>Unset</source>\n        <target>Unset</target>\n      </trans-unit>\n      <trans-unit id="54a4a3132b693575728a45a5f3154ad4c9af404b" datatype="html">\n        <source>Clone</source>\n        <target>복제</target>\n      </trans-unit>\n      <trans-unit id="1979da7460819153e11d2078244645d94291b69c" datatype="html">\n        <source>Copy</source>\n        <target>복사</target>\n      </trans-unit>\n      <trans-unit id="2e5e77dbaadd6588d8bbf737139fd9806294ae28" datatype="html">\n        <source>Deep Scrub</source>\n        <target>딥 스크럽</target>\n      </trans-unit>\n      <trans-unit id="bf463b189696c19769ea263227e6c22aefafb918" datatype="html">\n        <source>Destroy</source>\n        <target>파괴됨</target>\n      </trans-unit>\n      <trans-unit id="b4e94d529ff10db4d86f3f48900fa67ede3411fd" datatype="html">\n        <source>Evict</source>\n        <target>Evict</target>\n      </trans-unit>\n      <trans-unit id="3747fff7faf52b436ecff5fb8555091736d92c70" datatype="html">\n        <source>Flatten</source>\n        <target>단조로움</target>\n      </trans-unit>\n      <trans-unit id="66fdbf32e5449cc54a3d1e19c7b8f4ea238facfb" datatype="html">\n        <source>Mark Down</source>\n        <target>다운 표시</target>\n      </trans-unit>\n      <trans-unit id="0cda3e824fb2f9c731e5a60b859dedc1fe03127e" datatype="html">\n        <source>Mark In</source>\n        <target>인 표시</target>\n      </trans-unit>\n      <trans-unit id="f833354f43cb38c5716faa8759a9bbdd1ab8f199" datatype="html">\n        <source>Mark Lost</source>\n        <target>손실 표시</target>\n      </trans-unit>\n      <trans-unit id="75fb9f970ba365398c45e57bbb1019c009f6b832" datatype="html">\n        <source>Mark Out</source>\n        <target>아웃 표시</target>\n      </trans-unit>\n      <trans-unit id="45480c03b0a3a37ff8f6a5600a6a034b40fbaea4" datatype="html">\n        <source>Protect</source>\n        <target>보호</target>\n      </trans-unit>\n      <trans-unit id="e26f9cf3666aace4e524b1505c9795d76d87738d" datatype="html">\n        <source>Rename</source>\n        <target>이름변경</target>\n      </trans-unit>\n      <trans-unit id="d5cec7468241d72cafd86ad1af6d55b09a6e3ae5" datatype="html">\n        <source>Restore</source>\n        <target>복구</target>\n      </trans-unit>\n      <trans-unit id="ba073985cfd2528c77a746ed596b2f2052b973c5" datatype="html">\n        <source>Move to Trash</source>\n        <target>휴지통으로 옮기기</target>\n      </trans-unit>\n      <trans-unit id="3ea9b96a21a499d296a7f25407da0f3df6c2d5ed" datatype="html">\n        <source>Unprotect</source>\n        <target>보호않됨</target>\n      </trans-unit>\n      <trans-unit id="024cdb2814b0cb3f4ced148f1a0b9854447cb214" datatype="html">\n        <source>Change</source>\n        <target>Change</target>\n      </trans-unit>\n      <trans-unit id="011f3e2bfc1fd8407eb5f599352665bfeb145664" datatype="html">\n        <source>Recreate</source>\n        <target>Recreate</target>\n      </trans-unit>\n      <trans-unit id="6df2dfa48bef5510c82fb43f4e71a7f9557f3d71" datatype="html">\n        <source>Expire</source>\n        <target>Expire</target>\n      </trans-unit>\n      <trans-unit id="28df1b02fd88d2deb0212bc5d7ff34cf9492fa54" datatype="html">\n        <source>Deleted</source>\n        <target>삭제돔</target>\n      </trans-unit>\n      <trans-unit id="80e3b490720757978c99a7b5af3885faf202b955" datatype="html">\n        <source>Added</source>\n        <target>Added</target>\n      </trans-unit>\n      <trans-unit id="1aa4883bc4f1352f7a0bdd94810a9bf6dc22bd02" datatype="html">\n        <source>Removed</source>\n        <target>Removed</target>\n      </trans-unit>\n      <trans-unit id="402f3ee47f98fbbc68530239b1ddcbb9e96a460c" datatype="html">\n        <source>Edited</source>\n        <target>Edited</target>\n      </trans-unit>\n      <trans-unit id="96d56ec71c6e78cb4d6204c4a9359a3d38fcdb59" datatype="html">\n        <source>Canceled</source>\n        <target>Canceled</target>\n      </trans-unit>\n      <trans-unit id="a3318a2ee2bd0064b6b9ff72a4018b679ec63125" datatype="html">\n        <source>Cloned</source>\n        <target>복제된</target>\n      </trans-unit>\n      <trans-unit id="ef90545bc832876c0d7f9a10363c75137472bbb5" datatype="html">\n        <source>Copied</source>\n        <target>복사된</target>\n      </trans-unit>\n      <trans-unit id="5a13d3834133e09544ec93885662f181372dcf46" datatype="html">\n        <source>Deep Scrubbed</source>\n        <target>Deep Scrubbed</target>\n      </trans-unit>\n      <trans-unit id="7c9efb91434a5c15e9579c0b31c8e184b8c8240d" datatype="html">\n        <source>Destroyed</source>\n        <target>Destroyed</target>\n      </trans-unit>\n      <trans-unit id="647059bf3ea098fffedf92ddfad792bb3daa3c95" datatype="html">\n        <source>Flattened</source>\n        <target>평평하게 됨</target>\n      </trans-unit>\n      <trans-unit id="8df71e952319eafa71c8e6ef6144b780af8813ff" datatype="html">\n        <source>Marked Down</source>\n        <target>Marked Down</target>\n      </trans-unit>\n      <trans-unit id="25658f5a080a1cab3b91e17b756b1d1dc46bb9b3" datatype="html">\n        <source>Marked In</source>\n        <target>Marked In</target>\n      </trans-unit>\n      <trans-unit id="ebcf306036a6c5579df9448f77eca98d491db245" datatype="html">\n        <source>Marked Lost</source>\n        <target>Marked Lost</target>\n      </trans-unit>\n      <trans-unit id="3a8803369ac18be3ad762384b9fda095fe2a6dcc" datatype="html">\n        <source>Marked Out</source>\n        <target>Marked Out</target>\n      </trans-unit>\n      <trans-unit id="0fe2a62ea7c609fa8326ee6d38060bc5ba8bf34f" datatype="html">\n        <source>Protected</source>\n        <target>Protected</target>\n      </trans-unit>\n      <trans-unit id="69b0446c6c2411c4fe01e411b8ceec72d4044fb4" datatype="html">\n        <source>Purged</source>\n        <target>완전삭제됨</target>\n      </trans-unit>\n      <trans-unit id="d53de1a61bd51c815dc374c7f97e4ee69230e412" datatype="html">\n        <source>Renamed</source>\n        <target>Renamed</target>\n      </trans-unit>\n      <trans-unit id="86fc6cae82c095f14105eb8a61d7b3fa948304b7" datatype="html">\n        <source>Restored</source>\n        <target>복구됨</target>\n      </trans-unit>\n      <trans-unit id="e87dd0fd35460cb743046db918dfce2137b5977a" datatype="html">\n        <source>Reweighted</source>\n        <target>Reweighted</target>\n      </trans-unit>\n      <trans-unit id="dc21fd6547f2325c67f6deff925f29eb07a2db3e" datatype="html">\n        <source>Rolled back</source>\n        <target>롤백됨</target>\n      </trans-unit>\n      <trans-unit id="15dec4c2d73a516c10aef90aeeea3364fa794615" datatype="html">\n        <source>Scrubbed</source>\n        <target>Scrubbed</target>\n      </trans-unit>\n      <trans-unit id="8dc560ded67482f109a98e0638851ad1d37188b3" datatype="html">\n        <source>Showed</source>\n        <target>Showed</target>\n      </trans-unit>\n      <trans-unit id="197259b7ea76f15c6d0a64b075a673fd4112ada7" datatype="html">\n        <source>Moved to Trash</source>\n        <target>Moved to Trash</target>\n      </trans-unit>\n      <trans-unit id="8fb15cb102cd75b562680290b7e04c44d80018f2" datatype="html">\n        <source>Unprotected</source>\n        <target>Unprotected</target>\n      </trans-unit>\n      <trans-unit id="8588eafa498262a1cbb5043ad68cf0ff669c4f10" datatype="html">\n        <source>Recreated</source>\n        <target>Recreated</target>\n      </trans-unit>\n      <trans-unit id="ffde7468d7b5cad6990095ed68ddee3d67cd02f8" datatype="html">\n        <source>Expired</source>\n        <target>Expired</target>\n      </trans-unit>\n      <trans-unit id="4f20f2d5a6882190892e58b85f6ccbedfa737952" datatype="html">\n        <source>Yes</source>\n        <target>예</target>\n      </trans-unit>\n      <trans-unit id="3d3ae7deebc5949b0c1c78b9847886a94321d9fd" datatype="html">\n        <source>No</source>\n        <target>아니오</target>\n      </trans-unit>\n      <trans-unit id="baf918eed9d4050cdad2acebc0f27b6eaf8e3fcd" datatype="html">\n        <source>Required rules for passwords:</source>\n        <target>Required rules for passwords:</target>\n      </trans-unit>\n      <trans-unit id="40f61909e1f017c4652e64b055089beef19cf871" datatype="html">\n        <source>Must contain at least \n          <x id="INTERPOLATION" equiv-text="{{length}}"/> characters\n        </source>\n        <target>Must contain at least \n          <x id="INTERPOLATION" equiv-text="{{length}}"/> characters\n        </target>\n      </trans-unit>\n      <trans-unit id="f4f5dbb3a05b5f38dab47ef38dad88a4574a765a" datatype="html">\n        <source>Must not be the same as the previous one</source>\n        <target>Must not be the same as the previous one</target>\n      </trans-unit>\n      <trans-unit id="607370e07b50087c196a5fcea9184e3d693226b2" datatype="html">\n        <source>Cannot contain the username</source>\n        <target>Cannot contain the username</target>\n      </trans-unit>\n      <trans-unit id="e6e355eab2596251aaa42623b41e6026d5c03e3b" datatype="html">\n        <source>Cannot contain any configured keyword</source>\n        <target>Cannot contain any configured keyword</target>\n      </trans-unit>\n      <trans-unit id="394bcd6d5e4da75b720c4d28f94f2aef7bb38355" datatype="html">\n        <source>Cannot contain any repetitive characters e.g. "aaa"</source>\n        <target>Cannot contain any repetitive characters e.g. "aaa"</target>\n      </trans-unit>\n      <trans-unit id="030e61e0bcf2536fb047645db6182d43e9fca9e9" datatype="html">\n        <source>Cannot contain any sequential characters e.g. "abc"</source>\n        <target>Cannot contain any sequential characters e.g. "abc"</target>\n      </trans-unit>\n      <trans-unit id="99fa0b67376d40142bd4d3ace3344abf4f98b6a5" datatype="html">\n        <source>Your matcher seems to match no currently defined rule or active alert.</source>\n        <target>Your matcher seems to match no currently defined rule or active alert.</target>\n      </trans-unit>\n      <trans-unit id="7e284852732c303eb1f47de9aca2569e41aeffed" datatype="html">\n        <source>no active alerts</source>\n        <target>no active alerts</target>\n      </trans-unit>\n      <trans-unit id="b8042829e4fbe7b09fd9bac9fa0ecf5cc1802fee" datatype="html">\n        <source>1 active alert</source>\n        <target>1 active alert</target>\n      </trans-unit>\n      <trans-unit id="e24adce97669cb0fc74cc13fdc14179b6f78ea5e" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{n}}"/> active alerts\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{n}}"/> active alerts\n        </target>\n      </trans-unit>\n      <trans-unit id="d8fb058ff5883731d38a132da4ca45cfe8d719a3" datatype="html">\n        <source>Matches 1 rule</source>\n        <target>Matches 1 rule</target>\n      </trans-unit>\n      <trans-unit id="90aaef24d192e67c3fbc2ec6f8bfaff211cea128" datatype="html">\n        <source>Matches \n          <x id="INTERPOLATION" equiv-text="{{n}}"/> rules\n        </source>\n        <target>Matches \n          <x id="INTERPOLATION" equiv-text="{{n}}"/> rules\n        </target>\n      </trans-unit>\n      <trans-unit id="f4685dc581e18244cd410f1057a8c56a9dbfe8df" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rules}}"/> with \n          <x id="INTERPOLATION_1" equiv-text="{{alerts}}"/>.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rules}}"/> with \n          <x id="INTERPOLATION_1" equiv-text="{{alerts}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8fd98fb2a0f24ba72cde0787dd3f02cfc17de469" datatype="html">\n        <source>Quality of Service</source>\n        <target>서비스 량</target>\n      </trans-unit>\n      <trans-unit id="2c53f3ce2c6fff9025a7b41cc334521725da6e7b" datatype="html">\n        <source>BPS Limit</source>\n        <target>BPS 한계</target>\n      </trans-unit>\n      <trans-unit id="e897624a392419386b035bcd8529337e262fc41d" datatype="html">\n        <source>The desired limit of IO bytes per second.</source>\n        <target>원하는 초당 IO 바이트 수 제한입니다.</target>\n      </trans-unit>\n      <trans-unit id="dc56f77e4507da7e86a3accd0a2a7099a838d539" datatype="html">\n        <source>IOPS Limit</source>\n        <target>IOPS 제한</target>\n      </trans-unit>\n      <trans-unit id="141c3f6eadbb35b0e17b2f847e4cac23240a6ea9" datatype="html">\n        <source>The desired limit of IO operations per second.</source>\n        <target>원하는 초당 IO 작업 제한입니다.</target>\n      </trans-unit>\n      <trans-unit id="3b3b101f16c38806e984b157e0cf22cd21451122" datatype="html">\n        <source>Read BPS Limit</source>\n        <target>읽기 BPS 제한</target>\n      </trans-unit>\n      <trans-unit id="87835fabb6a645873f3829a450ca1d58f97754f2" datatype="html">\n        <source>The desired limit of read bytes per second.</source>\n        <target>원하는 초당 읽기 바이스 수 제한입니다.</target>\n      </trans-unit>\n      <trans-unit id="28b485e700df46d70b96666099f714e3ae9e5c2e" datatype="html">\n        <source>Read IOPS Limit</source>\n        <target>읽기 IOPS 한도</target>\n      </trans-unit>\n      <trans-unit id="5907bd1a5cf3e20e740bca676cb1538372e1f9ff" datatype="html">\n        <source>The desired limit of read operations per second.</source>\n        <target>원하는 초당 읽기 작업 제한입니다.</target>\n      </trans-unit>\n      <trans-unit id="07317121f0b194987d4dee8b322f521ac17bf124" datatype="html">\n        <source>Write BPS Limit</source>\n        <target>쓰기 BPS 한도</target>\n      </trans-unit>\n      <trans-unit id="4022c78bd9132ca2ec67927f8484c437d1d9b6fd" datatype="html">\n        <source>The desired limit of write bytes per second.</source>\n        <target>원하는 초당 쓰기 바이트 수 제한입니다.</target>\n      </trans-unit>\n      <trans-unit id="52c22c19f98ff3a09bd811292954a889b93d28b7" datatype="html">\n        <source>Write IOPS Limit</source>\n        <target>쓰기 IOPS 제한</target>\n      </trans-unit>\n      <trans-unit id="0ed62e3fd8654b3191fc7fa959ad3f10f1ea773a" datatype="html">\n        <source>The desired limit of write operations per second.</source>\n        <target>원하는 초당 쓰기 작업 제한입니다.</target>\n      </trans-unit>\n      <trans-unit id="d90c99d77864f21f932ee1369019f400c4ad0e2d" datatype="html">\n        <source>BPS Burst</source>\n        <target>BPS 버스트</target>\n      </trans-unit>\n      <trans-unit id="29c32192f4d185139aaaf6d3a766a3411dfeabbe" datatype="html">\n        <source>The desired burst limit of IO bytes.</source>\n        <target>원하는 버스트 IO 바이트 한도 입니다.</target>\n      </trans-unit>\n      <trans-unit id="b988b90489e899941e196c3dd0ecc22e37540224" datatype="html">\n        <source>IOPS Burst</source>\n        <target>IOPS 버스트</target>\n      </trans-unit>\n      <trans-unit id="02c5de8ff11870f1b3896f2b45637ce0dba1ed4b" datatype="html">\n        <source>The desired burst limit of IO operations.</source>\n        <target>원하는 IO 작업의 버스트 한계입니다.</target>\n      </trans-unit>\n      <trans-unit id="7a160538129b37cf595f1651f28b5fac62fbc0f8" datatype="html">\n        <source>Read BPS Burst</source>\n        <target>읽기 BPS 버스트</target>\n      </trans-unit>\n      <trans-unit id="b573a5df16a53b9947288461bc24e6a0eb4341d6" datatype="html">\n        <source>The desired burst limit of read bytes.</source>\n        <target>원하는 읽기 버스트 한계입니다.</target>\n      </trans-unit>\n      <trans-unit id="1d5b8c2a0c653651cc4ca4b8fed9456f449220d1" datatype="html">\n        <source>Read IOPS Burst</source>\n        <target>읽기 IOPS 버스트</target>\n      </trans-unit>\n      <trans-unit id="20b199f9d4a8d08ffefec66040e27639ec221512" datatype="html">\n        <source>The desired burst limit of read operations.</source>\n        <target>원하는 읽기 작업의 버스트 한도입니다.</target>\n      </trans-unit>\n      <trans-unit id="824525ae57992aee629ddffcd500a8b77087ddec" datatype="html">\n        <source>Write BPS Burst</source>\n        <target>쓰기 BPS 버스트</target>\n      </trans-unit>\n      <trans-unit id="a90aac4050a5d79765da5e1186909f6d4d7f981d" datatype="html">\n        <source>The desired burst limit of write bytes.</source>\n        <target>쓰기 바이트의 원하는 버스트 한도.</target>\n      </trans-unit>\n      <trans-unit id="35a8c6e6c249c7d16e26aa7c4ef97c06db405070" datatype="html">\n        <source>Write IOPS Burst</source>\n        <target>쓰기 IOPS 버스트</target>\n      </trans-unit>\n      <trans-unit id="b356abd41d7e9eea4d20c03d2e6892b6d435ecbd" datatype="html">\n        <source>The desired burst limit of write operations.</source>\n        <target>쓰기 바이트의 원하는 버스트 한도.</target>\n      </trans-unit>\n      <trans-unit id="24c4d50fe8567de381a20a1745f1b6d37eacaa90" datatype="html">\n        <source>Failed to \n          <x id="INTERPOLATION" equiv-text="{{failure}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{metadata}}"/>\n        </source>\n        <target>Failed to \n          <x id="INTERPOLATION" equiv-text="{{failure}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{metadata}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="f54b6f09b390d5ade0e354f6c7d4743c10a315cc" datatype="html">\n        <source>Executing</source>\n        <target>수행중</target>\n      </trans-unit>\n      <trans-unit id="5cdfe3e3330ea42bfd29c540dbd268bee97d364d" datatype="html">\n        <source>execute</source>\n        <target>수행</target>\n      </trans-unit>\n      <trans-unit id="6e98e243518daa88be30330fcdbd2d10f8eae4d7" datatype="html">\n        <source>Executed</source>\n        <target>수행된</target>\n      </trans-unit>\n      <trans-unit id="24b09aa5bd909273a023d2d788a2673325c77e31" datatype="html">\n        <source>unknown task</source>\n        <target>알려지지 않는 작업</target>\n      </trans-unit>\n      <trans-unit id="114b5f92b9192b229ffc9a450319a97ccca2aa5c" datatype="html">\n        <source>Creating</source>\n        <target>생성하는 중</target>\n      </trans-unit>\n      <trans-unit id="56695b69d27437ada580a187958407e7c856d46e" datatype="html">\n        <source>create</source>\n        <target>생성</target>\n      </trans-unit>\n      <trans-unit id="9db60170ef3b3b41a863e7d5ee7cec10919b9141" datatype="html">\n        <source>Updating</source>\n        <target>갱신 중</target>\n      </trans-unit>\n      <trans-unit id="64412640835b7d25247cb254d4f911366c0e6862" datatype="html">\n        <source>update</source>\n        <target>갱신</target>\n      </trans-unit>\n      <trans-unit id="416193bb373d59477458b00e5922d755e2e2cacd" datatype="html">\n        <source>Deleting</source>\n        <target>삭제 중</target>\n      </trans-unit>\n      <trans-unit id="d07a282afc7fbdb39cea6e1c9b544882a7260a86" datatype="html">\n        <source>Adding</source>\n        <target>Adding</target>\n      </trans-unit>\n      <trans-unit id="a11ec4e640f241329943237d2a3cceaa4823658e" datatype="html">\n        <source>add</source>\n        <target>add</target>\n      </trans-unit>\n      <trans-unit id="ea1c70b874904216cc5af24bd7cb3dab2d074d42" datatype="html">\n        <source>Removing</source>\n        <target>Removing</target>\n      </trans-unit>\n      <trans-unit id="4da487aec5a29ce4372e7b512227cd665b01fe6f" datatype="html">\n        <source>remove</source>\n        <target>remove</target>\n      </trans-unit>\n      <trans-unit id="0e21237afdc84ec360c374fa678d9b1cfaa334f9" datatype="html">\n        <source>Importing</source>\n        <target>Importing</target>\n      </trans-unit>\n      <trans-unit id="c6b4128c006f4cc0564137e1a1482b5c432aa347" datatype="html">\n        <source>import</source>\n        <target>import</target>\n      </trans-unit>\n      <trans-unit id="3b9f4138abbca0fd66db1f7332f4b54e2a6d916d" datatype="html">\n        <source>Imported</source>\n        <target>Imported</target>\n      </trans-unit>\n      <trans-unit id="3f757cfc3749ebb5d4462017cb60138ca082f15f" datatype="html">\n        <source>RBD \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>RBD \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="a6c681e6130fe440ae40de99a405fcf5c7eefee1" datatype="html">\n        <source>RBD snapshot \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>RBD snapshot \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="2bf18ddf3785f7afb4f01dcf63d3d8c40f4bfba5" datatype="html">\n        <source>mirroring site name</source>\n        <target>mirroring site name</target>\n      </trans-unit>\n      <trans-unit id="167b73bb24b4695614ce0fc567b7a45080457a44" datatype="html">\n        <source>bootstrap token</source>\n        <target>bootstrap token</target>\n      </trans-unit>\n      <trans-unit id="4fb54a0291f49583c317d4a3690239141b5a8f68" datatype="html">\n        <source>mirror mode for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>mirror mode for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="6621ab6e122a149326a1e48e9051a41e7f203cf6" datatype="html">\n        <source>mirror peer for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>mirror peer for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="db15adc778317d551232fe712eb03a2c1eac4a43" datatype="html">\n        <source>all dashboards</source>\n        <target>all dashboards</target>\n      </trans-unit>\n      <trans-unit id="6c19652df9249c60827044ed6274933cab180c63" datatype="html">\n        <source>OSDs (DriveGroups: \n          <x id="INTERPOLATION" equiv-text="{{tracking_id}}"/>)\n        </source>\n        <target>OSDs (DriveGroups: \n          <x id="INTERPOLATION" equiv-text="{{tracking_id}}"/>)\n        </target>\n      </trans-unit>\n      <trans-unit id="1b559dbd9cc9664fd788c2da9a10d3abafe066cb" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8fc28e1103d9f2ef47b9fff9a4f74e8365c7cf19" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="1cdc7ea44fcb85d0cfcf6e7379d625d8674a8fbe" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="460f07780389d24c6a540c007c7367a56afad585" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> is busy.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> is busy.\n        </target>\n      </trans-unit>\n      <trans-unit id="1ff7676ad1e991102224540a32dd44ad1ab88aa8" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.\n        </target>\n      </trans-unit>\n      <trans-unit id="c3a1dcca2b2ba20fbe39e2441e7bb1cf9c20cdf3" datatype="html">\n        <source>Cloning</source>\n        <target>복제중</target>\n      </trans-unit>\n      <trans-unit id="b5fa4e0a3a279dee5b6bf7b823e54387f7c79994" datatype="html">\n        <source>clone</source>\n        <target>복제</target>\n      </trans-unit>\n      <trans-unit id="29b7452e8367af9aa8fa828f16ff94c3530e7a1a" datatype="html">\n        <source>Snapshot of \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> must be protected.\n        </source>\n        <target>Snapshot of \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> must be protected.\n        </target>\n      </trans-unit>\n      <trans-unit id="369f93b9a07a9465f7a261e9f0021b6cfa7180c5" datatype="html">\n        <source>Copying</source>\n        <target>복사중</target>\n      </trans-unit>\n      <trans-unit id="37584f889855d153a106f5dffe23d21f9453c8ff" datatype="html">\n        <source>copy</source>\n        <target>복사</target>\n      </trans-unit>\n      <trans-unit id="6ea9e313a04ef59222feaadfe84e97b4c69d7e9e" datatype="html">\n        <source>Flattening</source>\n        <target>평평하게 하는 중</target>\n      </trans-unit>\n      <trans-unit id="1f57593581b64d2d4c70eab1736bd9bccc66a7dc" datatype="html">\n        <source>flatten</source>\n        <target>평평함</target>\n      </trans-unit>\n      <trans-unit id="d990ef9680cd23bbe652c37eb46bf038cfee80ad" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="a101745d080ef65c09bd5fafc796f94ddb9f9d60" datatype="html">\n        <source>Cannot unprotect \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it contains child images.\n        </source>\n        <target>Cannot unprotect \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it contains child images.\n        </target>\n      </trans-unit>\n      <trans-unit id="647968f4cde7786cd53ec8e6aa9802ac6824a262" datatype="html">\n        <source>Cannot delete \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it\'s protected.\n        </source>\n        <target>Cannot delete \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it\'s protected.\n        </target>\n      </trans-unit>\n      <trans-unit id="57ddd3e15cf0ce974356b757451f50116a27272b" datatype="html">\n        <source>Rolling back</source>\n        <target>롤백 중</target>\n      </trans-unit>\n      <trans-unit id="a8913a3a5ee61f2598b5f0432cb9b20cdd60548e" datatype="html">\n        <source>rollback</source>\n        <target>롤백</target>\n      </trans-unit>\n      <trans-unit id="de8676f0017c9db6c49388cd7d63cd0a83a0c1dc" datatype="html">\n        <source>Moving</source>\n        <target>옮기는 중</target>\n      </trans-unit>\n      <trans-unit id="2d810712308ae63cb795d809687a3254ef7a2f05" datatype="html">\n        <source>move</source>\n        <target>옮기기</target>\n      </trans-unit>\n      <trans-unit id="f3ba995236e5c1cc77686108980c099a90aec754" datatype="html">\n        <source>Moved</source>\n        <target>옮겨짐</target>\n      </trans-unit>\n      <trans-unit id="d0422169252d132624a20f267b5c29f28cb53ebe" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' to trash\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' to trash\n        </target>\n      </trans-unit>\n      <trans-unit id="b603e2dfed9808222fbcb5a7c5f4da2cc6ae2aae" datatype="html">\n        <source>Could not find image.</source>\n        <target>이미지를 찾을 수 없습니다.</target>\n      </trans-unit>\n      <trans-unit id="398debe73006b1fe5177ed81d2e7b0cc852f61ec" datatype="html">\n        <source>Restoring</source>\n        <target>복구중</target>\n      </trans-unit>\n      <trans-unit id="c252806fb400e79bac194696632c9362742b1538" datatype="html">\n        <source>restore</source>\n        <target>복구</target>\n      </trans-unit>\n      <trans-unit id="30b8bcf69b3f1754b7abba173fd806cfcea4cb04" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' into \'\n          <x id="INTERPOLATION_1" equiv-text="{{new_id}}"/>\'\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' into \'\n          <x id="INTERPOLATION_1" equiv-text="{{new_id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="13b7b241cef989fe0932ddd180e757658e1817e7" datatype="html">\n        <source>Image name \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' is already in use.\n        </source>\n        <target>Image name \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' is already in use.\n        </target>\n      </trans-unit>\n      <trans-unit id="cc1cee12c833e8fbbef28a2a7c449dc530da912d" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="38e5f47f8bef505652f3e87f46efb00ead1350a3" datatype="html">\n        <source>Purging</source>\n        <target>완전삭제 중</target>\n      </trans-unit>\n      <trans-unit id="e4e57747f123f0fe6fe3a0ecf608f8bc287dec0c" datatype="html">\n        <source>purge</source>\n        <target>완전삭제</target>\n      </trans-unit>\n      <trans-unit id="1560d58fdf39663929653250d45f5b1dfe078fea" datatype="html">\n        <source>all pools</source>\n        <target>모든 풀들</target>\n      </trans-unit>\n      <trans-unit id="1ac3dc50c2c3d86e98bc0967ee1e696810a2d3aa" datatype="html">\n        <source>images from \n          <x id="INTERPOLATION" equiv-text="{{message}}"/>\n        </source>\n        <target>images from \n          <x id="INTERPOLATION" equiv-text="{{message}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="02278abbb044ece04ab6bd80bd2060198d31d83b" datatype="html">\n        <source>Cannot disable mirroring because it contains a peer.</source>\n        <target>피어가 포함되어 있기 때문에 미러링을 비활성화 할 수 없습니다.</target>\n      </trans-unit>\n      <trans-unit id="5c4525a1b76ca54d1aadeaecfdb83aedc2eec6e0" datatype="html">\n        <source>Identifying</source>\n        <target>Identifying</target>\n      </trans-unit>\n      <trans-unit id="ffd067e54a061d1f27cb35f0cf67ef7f29e19111" datatype="html">\n        <source>identify</source>\n        <target>identify</target>\n      </trans-unit>\n      <trans-unit id="7c921f339274688c22ba1acac7af6b097ad3599d" datatype="html">\n        <source>Identified</source>\n        <target>Identified</target>\n      </trans-unit>\n      <trans-unit id="3307492c27c2150cd26c514030444e11fd61089f" datatype="html">\n        <source>device \'\n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\' on host \'\n          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>\'\n        </source>\n        <target>device \'\n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\' on host \'\n          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="f123ae1fc3b000e5d08e766dd78bff162afe709d" datatype="html">\n        <source>host \'\n          <x id="INTERPOLATION" equiv-text="{{hostname}}"/>\'\n        </source>\n        <target>host \'\n          <x id="INTERPOLATION" equiv-text="{{hostname}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="c1af76189dcefd094da2bc1a4a63968f3bab5789" datatype="html">\n        <source>OSD \'\n          <x id="INTERPOLATION" equiv-text="{{svc_id}}"/>\'\n        </source>\n        <target>OSD \'\n          <x id="INTERPOLATION" equiv-text="{{svc_id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="dfe70001dc590a9e12512cbb206aa29fb36fd00b" datatype="html">\n        <source>pool \'\n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>\'\n        </source>\n        <target>pool \'\n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="59630daf2f4786690fae0cdad55da8887236eabe" datatype="html">\n        <source>erasure code profile \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </source>\n        <target>erasure code profile \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="79052d6c47258dc19ada12dbb2563761102b6f1d" datatype="html">\n        <source>crush rule \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </source>\n        <target>crush rule \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="369462e5e018360e0600bb570866201ad5c3c8a8" datatype="html">\n        <source>target \'\n          <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>\'\n        </source>\n        <target>target \'\n          <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="cf41310917cb19b335e5a950972bbff2346f7a47" datatype="html">\n        <source>NFS \n          <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>\n        </source>\n        <target>NFS \n          <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>\n        </target>\n      </trans-unit>\n    </body>\n  </file>\n</xliff>'},"3/HP":function(t,e,n){var a=n("mrSG").__assign,r=n("mrSG").__decorate,o=n("mrSG").__metadata;Object.defineProperty(e,"__esModule",{value:!0});var i=n("8Y7J"),s=n("5tze"),c=(n("bpWZ"),n("qwkt")),l=n("2V7f"),d=n("99TG"),u=n("QHrR"),g=n("i3PA"),f=n("fktO"),p=n("FLvf"),m=n("qCKp");e.DatatableComponent=function(){function t(t,e,n,a,r,o){this.scrollbarHelper=t,this.dimensionsHelper=e,this.cd=n,this.columnChangesService=o,this.selected=[],this.scrollbarV=!1,this.scrollbarH=!1,this.rowHeight=30,this.columnMode=c.ColumnMode.standard,this.headerHeight=30,this.footerHeight=0,this.externalPaging=!1,this.externalSorting=!1,this.loadingIndicator=!1,this.reorderable=!0,this.swapColumns=!0,this.sortType=c.SortType.single,this.sorts=[],this.cssClasses={sortAscending:"datatable-icon-up",sortDescending:"datatable-icon-down",pagerLeftArrow:"datatable-icon-left",pagerRightArrow:"datatable-icon-right",pagerPrevious:"datatable-icon-prev",pagerNext:"datatable-icon-skip"},this.messages={emptyMessage:"No data to display",totalMessage:"total",selectedMessage:"selected"},this.rowIdentity=function(t){return t},this.groupExpansionDefault=!1,this.selectAllRowsOnPage=!1,this.virtualization=!0,this.summaryRow=!1,this.summaryHeight=30,this.summaryPosition="top",this.scroll=new i.EventEmitter,this.activate=new i.EventEmitter,this.select=new i.EventEmitter,this.sort=new i.EventEmitter,this.page=new i.EventEmitter,this.reorder=new i.EventEmitter,this.resize=new i.EventEmitter,this.tableContextmenu=new i.EventEmitter(!1),this.treeAction=new i.EventEmitter,this.rowCount=0,this._offsetX=new m.BehaviorSubject(0),this._count=0,this._offset=0,this._subscriptions=[],this.element=a.nativeElement,this.rowDiffer=r.find({}).create()}return Object.defineProperty(t.prototype,"rows",{get:function(){return this._rows},set:function(t){this._rows=t,t&&(this._internalRows=t.slice()),this.externalSorting||this.sortInternalRows(),this._internalRows=s.groupRowsByParents(this._internalRows,s.optionalGetterForProp(this.treeFromRelation),s.optionalGetterForProp(this.treeToRelation)),this.recalculate(),this._rows&&this._groupRowsBy&&(this.groupedRows=this.groupArrayBy(this._rows,this._groupRowsBy)),this.cd.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"groupRowsBy",{get:function(){return this._groupRowsBy},set:function(t){t&&(this._groupRowsBy=t,this._rows&&this._groupRowsBy&&(this.groupedRows=this.groupArrayBy(this._rows,this._groupRowsBy)))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"columns",{get:function(){return this._columns},set:function(t){t&&(this._internalColumns=t.slice(),s.setColumnDefaults(this._internalColumns),this.recalculateColumns()),this._columns=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"limit",{get:function(){return this._limit},set:function(t){this._limit=t,this.recalculate()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"count",{get:function(){return this._count},set:function(t){this._count=t,this.recalculate()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"offset",{get:function(){return Math.max(Math.min(this._offset,Math.ceil(this.rowCount/this.pageSize)-1),0)},set:function(t){this._offset=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isFixedHeader",{get:function(){var t=this.headerHeight;return"string"!=typeof t||"auto"!==t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isFixedRow",{get:function(){var t=this.rowHeight;return"string"!=typeof t||"auto"!==t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isVertScroll",{get:function(){return this.scrollbarV},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isVirtualized",{get:function(){return this.virtualization},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isHorScroll",{get:function(){return this.scrollbarH},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isSelectable",{get:function(){return void 0!==this.selectionType},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isCheckboxSelection",{get:function(){return this.selectionType===c.SelectionType.checkbox},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isCellSelection",{get:function(){return this.selectionType===c.SelectionType.cell},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isSingleSelection",{get:function(){return this.selectionType===c.SelectionType.single},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isMultiSelection",{get:function(){return this.selectionType===c.SelectionType.multi},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isMultiClickSelection",{get:function(){return this.selectionType===c.SelectionType.multiClick},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"columnTemplates",{get:function(){return this._columnTemplates},set:function(t){this._columnTemplates=t,this.translateColumns(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"allRowsSelected",{get:function(){var t=this.rows&&this.selected&&this.selected.length===this.rows.length;if(this.selectAllRowsOnPage){var e=this.bodyComponent.indexes;t=this.selected.length===e.last-e.first}return this.selected&&this.rows&&0!==this.rows.length&&t},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){this.recalculate()},t.prototype.ngAfterViewInit=function(){var t=this;this.externalSorting||this.sortInternalRows(),"undefined"!=typeof requestAnimationFrame&&requestAnimationFrame((function(){t.recalculate(),t.externalPaging&&t.scrollbarV&&t.page.emit({count:t.count,pageSize:t.pageSize,limit:t.limit,offset:0})}))},t.prototype.ngAfterContentInit=function(){var t=this;this.columnTemplates.changes.subscribe((function(e){return t.translateColumns(e)})),this.listenForColumnInputChanges()},t.prototype.translateColumns=function(t){if(t){var e=t.toArray();e.length&&(this._internalColumns=s.translateTemplates(e),s.setColumnDefaults(this._internalColumns),this.recalculateColumns(),this.sortInternalRows(),this.cd.markForCheck())}},t.prototype.groupArrayBy=function(t,e){var n=new Map;return t.forEach((function(t){var a=t[e];n.has(a)?n.get(a).push(t):n.set(a,[t])})),Array.from(n,(function(t){return{key:t[0],value:t[1]}}))},t.prototype.ngDoCheck=function(){this.rowDiffer.diff(this.rows)&&(this.externalSorting?this._internalRows=this.rows.slice():this.sortInternalRows(),this._internalRows=s.groupRowsByParents(this._internalRows,s.optionalGetterForProp(this.treeFromRelation),s.optionalGetterForProp(this.treeToRelation)),this.recalculatePages(),this.cd.markForCheck())},t.prototype.recalculate=function(){this.recalculateDims(),this.recalculateColumns()},t.prototype.onWindowResize=function(){this.recalculate()},t.prototype.recalculateColumns=function(t,e,n){if(void 0===t&&(t=this._internalColumns),void 0===e&&(e=-1),void 0===n&&(n=this.scrollbarH),t){var a=this._innerWidth;return this.scrollbarV&&(a-=this.scrollbarHelper.width),this.columnMode===c.ColumnMode.force?s.forceFillColumnWidths(t,a,e,n):this.columnMode===c.ColumnMode.flex&&s.adjustColumnWidths(t,a),t}},t.prototype.recalculateDims=function(){var t=this.dimensionsHelper.getDimensions(this.element);if(this._innerWidth=Math.floor(t.width),this.scrollbarV){var e=t.height;this.headerHeight&&(e-=this.headerHeight),this.footerHeight&&(e-=this.footerHeight),this.bodyHeight=e}this.recalculatePages()},t.prototype.recalculatePages=function(){this.pageSize=this.calcPageSize(),this.rowCount=this.calcRowCount()},t.prototype.onBodyPage=function(t){this.externalPaging&&!this.virtualization||(this.offset=t.offset,this.page.emit({count:this.count,pageSize:this.pageSize,limit:this.limit,offset:this.offset}))},t.prototype.onBodyScroll=function(t){this._offsetX.next(t.offsetX),this.scroll.emit(t),this.cd.detectChanges()},t.prototype.onFooterPage=function(t){this.offset=t.page-1,this.bodyComponent.updateOffsetY(this.offset),this.page.emit({count:this.count,pageSize:this.pageSize,limit:this.limit,offset:this.offset}),this.selectAllRowsOnPage&&(this.selected=[],this.select.emit({selected:this.selected}))},t.prototype.calcPageSize=function(t){if(void 0===t&&(t=this.rows),this.scrollbarV&&this.virtualization){var e=Math.ceil(this.bodyHeight/this.rowHeight);return Math.max(e,0)}return void 0!==this.limit?this.limit:t?t.length:0},t.prototype.calcRowCount=function(t){return void 0===t&&(t=this.rows),this.externalPaging?this.count:t?this.groupedRows?this.groupedRows.length:null!=this.treeFromRelation&&null!=this.treeToRelation?this._internalRows.length:t.length:0},t.prototype.onColumnContextmenu=function(t){this.tableContextmenu.emit({event:t.event,type:c.ContextmenuType.header,content:t.column})},t.prototype.onRowContextmenu=function(t){this.tableContextmenu.emit({event:t.event,type:c.ContextmenuType.body,content:t.row})},t.prototype.onColumnResize=function(t){var e=t.column,n=t.newValue;if(void 0!==e){var r,o=this._internalColumns.map((function(t,o){return(t=a({},t)).$$id===e.$$id&&(r=o,t.width=n,t.$$oldWidth=n),t}));this.recalculateColumns(o,r),this._internalColumns=o,this.resize.emit({column:e,newValue:n})}},t.prototype.onColumnReorder=function(t){var e=t.column,n=t.newValue,r=t.prevValue,o=this._internalColumns.map((function(t){return a({},t)}));if(this.swapColumns){var i=o[n];o[n]=e,o[r]=i}else if(n>r){for(var s=o[r],c=r;c<n;c++)o[c]=o[c+1];o[n]=s}else{for(s=o[r],c=r;c>n;c--)o[c]=o[c-1];o[n]=s}this._internalColumns=o,this.reorder.emit({column:e,newValue:n,prevValue:r})},t.prototype.onColumnSort=function(t){this.selectAllRowsOnPage&&(this.selected=[],this.select.emit({selected:this.selected})),this.sorts=t.sorts,!1===this.externalSorting&&this.sortInternalRows(),this._internalRows=s.groupRowsByParents(this._internalRows,s.optionalGetterForProp(this.treeFromRelation),s.optionalGetterForProp(this.treeToRelation)),this.offset=0,this.bodyComponent.updateOffsetY(this.offset),this.sort.emit(t)},t.prototype.onHeaderSelect=function(t){var e,n;if(this.selectAllRowsOnPage){var a=this.bodyComponent.indexes.first,r=this.bodyComponent.indexes.last,o=this.selected.length===r-a;this.selected=[],o||(e=this.selected).push.apply(e,this._internalRows.slice(a,r))}else o=this.selected.length===this.rows.length,this.selected=[],o||(n=this.selected).push.apply(n,this.rows);this.select.emit({selected:this.selected})},t.prototype.onBodySelect=function(t){this.select.emit(t)},t.prototype.onTreeAction=function(t){var e=this,n=t.row,a=this._rows.findIndex((function(n){return n[e.treeToRelation]===t.row[e.treeToRelation]}));this.treeAction.emit({row:n,rowIndex:a})},t.prototype.ngOnDestroy=function(){this._subscriptions.forEach((function(t){return t.unsubscribe()}))},t.prototype.listenForColumnInputChanges=function(){var t=this;this._subscriptions.push(this.columnChangesService.columnInputChanges$.subscribe((function(){t.columnTemplates&&t.columnTemplates.notifyOnChanges()})))},t.prototype.sortInternalRows=function(){this._internalRows=s.sortRows(this._internalRows,this._internalColumns,this.sorts)},r([i.Input(),o("design:type",Object)],t.prototype,"targetMarkerTemplate",void 0),r([i.Input(),o("design:type",Object),o("design:paramtypes",[Object])],t.prototype,"rows",null),r([i.Input(),o("design:type",String),o("design:paramtypes",[String])],t.prototype,"groupRowsBy",null),r([i.Input(),o("design:type",Array)],t.prototype,"groupedRows",void 0),r([i.Input(),o("design:type",Array),o("design:paramtypes",[Array])],t.prototype,"columns",null),r([i.Input(),o("design:type",Array)],t.prototype,"selected",void 0),r([i.Input(),o("design:type",Boolean)],t.prototype,"scrollbarV",void 0),r([i.Input(),o("design:type",Boolean)],t.prototype,"scrollbarH",void 0),r([i.Input(),o("design:type",Number)],t.prototype,"rowHeight",void 0),r([i.Input(),o("design:type",String)],t.prototype,"columnMode",void 0),r([i.Input(),o("design:type",Object)],t.prototype,"headerHeight",void 0),r([i.Input(),o("design:type",Number)],t.prototype,"footerHeight",void 0),r([i.Input(),o("design:type",Boolean)],t.prototype,"externalPaging",void 0),r([i.Input(),o("design:type",Boolean)],t.prototype,"externalSorting",void 0),r([i.Input(),o("design:type",Number),o("design:paramtypes",[Number])],t.prototype,"limit",null),r([i.Input(),o("design:type",Number),o("design:paramtypes",[Number])],t.prototype,"count",null),r([i.Input(),o("design:type",Number),o("design:paramtypes",[Number])],t.prototype,"offset",null),r([i.Input(),o("design:type",Boolean)],t.prototype,"loadingIndicator",void 0),r([i.Input(),o("design:type",String)],t.prototype,"selectionType",void 0),r([i.Input(),o("design:type",Boolean)],t.prototype,"reorderable",void 0),r([i.Input(),o("design:type",Boolean)],t.prototype,"swapColumns",void 0),r([i.Input(),o("design:type",String)],t.prototype,"sortType",void 0),r([i.Input(),o("design:type",Array)],t.prototype,"sorts",void 0),r([i.Input(),o("design:type",Object)],t.prototype,"cssClasses",void 0),r([i.Input(),o("design:type",Object)],t.prototype,"messages",void 0),r([i.Input(),o("design:type",Function)],t.prototype,"rowIdentity",void 0),r([i.Input(),o("design:type",Object)],t.prototype,"rowClass",void 0),r([i.Input(),o("design:type",Object)],t.prototype,"selectCheck",void 0),r([i.Input(),o("design:type",Function)],t.prototype,"displayCheck",void 0),r([i.Input(),o("design:type",Boolean)],t.prototype,"groupExpansionDefault",void 0),r([i.Input(),o("design:type",String)],t.prototype,"trackByProp",void 0),r([i.Input(),o("design:type",Object)],t.prototype,"selectAllRowsOnPage",void 0),r([i.Input(),o("design:type",Boolean)],t.prototype,"virtualization",void 0),r([i.Input(),o("design:type",String)],t.prototype,"treeFromRelation",void 0),r([i.Input(),o("design:type",String)],t.prototype,"treeToRelation",void 0),r([i.Input(),o("design:type",Boolean)],t.prototype,"summaryRow",void 0),r([i.Input(),o("design:type",Number)],t.prototype,"summaryHeight",void 0),r([i.Input(),o("design:type",String)],t.prototype,"summaryPosition",void 0),r([i.Output(),o("design:type",i.EventEmitter)],t.prototype,"scroll",void 0),r([i.Output(),o("design:type",i.EventEmitter)],t.prototype,"activate",void 0),r([i.Output(),o("design:type",i.EventEmitter)],t.prototype,"select",void 0),r([i.Output(),o("design:type",i.EventEmitter)],t.prototype,"sort",void 0),r([i.Output(),o("design:type",i.EventEmitter)],t.prototype,"page",void 0),r([i.Output(),o("design:type",i.EventEmitter)],t.prototype,"reorder",void 0),r([i.Output(),o("design:type",i.EventEmitter)],t.prototype,"resize",void 0),r([i.Output(),o("design:type",Object)],t.prototype,"tableContextmenu",void 0),r([i.Output(),o("design:type",i.EventEmitter)],t.prototype,"treeAction",void 0),r([i.HostBinding("class.fixed-header"),o("design:type",Boolean),o("design:paramtypes",[])],t.prototype,"isFixedHeader",null),r([i.HostBinding("class.fixed-row"),o("design:type",Boolean),o("design:paramtypes",[])],t.prototype,"isFixedRow",null),r([i.HostBinding("class.scroll-vertical"),o("design:type",Boolean),o("design:paramtypes",[])],t.prototype,"isVertScroll",null),r([i.HostBinding("class.virtualized"),o("design:type",Boolean),o("design:paramtypes",[])],t.prototype,"isVirtualized",null),r([i.HostBinding("class.scroll-horz"),o("design:type",Boolean),o("design:paramtypes",[])],t.prototype,"isHorScroll",null),r([i.HostBinding("class.selectable"),o("design:type",Boolean),o("design:paramtypes",[])],t.prototype,"isSelectable",null),r([i.HostBinding("class.checkbox-selection"),o("design:type",Boolean),o("design:paramtypes",[])],t.prototype,"isCheckboxSelection",null),r([i.HostBinding("class.cell-selection"),o("design:type",Boolean),o("design:paramtypes",[])],t.prototype,"isCellSelection",null),r([i.HostBinding("class.single-selection"),o("design:type",Boolean),o("design:paramtypes",[])],t.prototype,"isSingleSelection",null),r([i.HostBinding("class.multi-selection"),o("design:type",Boolean),o("design:paramtypes",[])],t.prototype,"isMultiSelection",null),r([i.HostBinding("class.multi-click-selection"),o("design:type",Boolean),o("design:paramtypes",[])],t.prototype,"isMultiClickSelection",null),r([i.ContentChildren(u.DataTableColumnDirective),o("design:type",i.QueryList),o("design:paramtypes",[i.QueryList])],t.prototype,"columnTemplates",null),r([i.ContentChild(g.DatatableRowDetailDirective,{static:!1}),o("design:type",g.DatatableRowDetailDirective)],t.prototype,"rowDetail",void 0),r([i.ContentChild(d.DatatableGroupHeaderDirective,{static:!1}),o("design:type",d.DatatableGroupHeaderDirective)],t.prototype,"groupHeader",void 0),r([i.ContentChild(f.DatatableFooterDirective,{static:!1}),o("design:type",f.DatatableFooterDirective)],t.prototype,"footer",void 0),r([i.ViewChild(l.DataTableBodyComponent,{static:!1}),o("design:type",l.DataTableBodyComponent)],t.prototype,"bodyComponent",void 0),r([i.ViewChild(p.DataTableHeaderComponent,{static:!1}),o("design:type",p.DataTableHeaderComponent)],t.prototype,"headerComponent",void 0),r([i.HostListener("window:resize"),s.throttleable(5),o("design:type",Function),o("design:paramtypes",[]),o("design:returntype",void 0)],t.prototype,"onWindowResize",null),r([i.Component({selector:"ngx-datatable",template:'\n    <div\n      visibilityObserver\n      (visible)="recalculate()">\n      <datatable-header\n        *ngIf="headerHeight"\n        [sorts]="sorts"\n        [sortType]="sortType"\n        [scrollbarH]="scrollbarH"\n        [innerWidth]="_innerWidth"\n        [offsetX]="_offsetX | async"\n        [dealsWithGroup]="groupedRows"\n        [columns]="_internalColumns"\n        [headerHeight]="headerHeight"\n        [reorderable]="reorderable"\n        [targetMarkerTemplate]="targetMarkerTemplate"\n        [sortAscendingIcon]="cssClasses.sortAscending"\n        [sortDescendingIcon]="cssClasses.sortDescending"\n        [allRowsSelected]="allRowsSelected"\n        [selectionType]="selectionType"\n        (sort)="onColumnSort($event)"\n        (resize)="onColumnResize($event)"\n        (reorder)="onColumnReorder($event)"\n        (select)="onHeaderSelect($event)"\n        (columnContextmenu)="onColumnContextmenu($event)">\n      </datatable-header>\n      <datatable-body\n        [groupRowsBy]="groupRowsBy"\n        [groupedRows]="groupedRows"\n        [rows]="_internalRows"\n        [groupExpansionDefault]="groupExpansionDefault"\n        [scrollbarV]="scrollbarV"\n        [scrollbarH]="scrollbarH"\n        [virtualization]="virtualization"\n        [loadingIndicator]="loadingIndicator"\n        [externalPaging]="externalPaging"\n        [rowHeight]="rowHeight"\n        [rowCount]="rowCount"\n        [offset]="offset"\n        [trackByProp]="trackByProp"\n        [columns]="_internalColumns"\n        [pageSize]="pageSize"\n        [offsetX]="_offsetX | async"\n        [rowDetail]="rowDetail"\n        [groupHeader]="groupHeader"\n        [selected]="selected"\n        [innerWidth]="_innerWidth"\n        [bodyHeight]="bodyHeight"\n        [selectionType]="selectionType"\n        [emptyMessage]="messages.emptyMessage"\n        [rowIdentity]="rowIdentity"\n        [rowClass]="rowClass"\n        [selectCheck]="selectCheck"\n        [displayCheck]="displayCheck"\n        [summaryRow]="summaryRow"\n        [summaryHeight]="summaryHeight"\n        [summaryPosition]="summaryPosition"\n        (page)="onBodyPage($event)"\n        (activate)="activate.emit($event)"\n        (rowContextmenu)="onRowContextmenu($event)"\n        (select)="onBodySelect($event)"\n        (scroll)="onBodyScroll($event)"\n        (treeAction)="onTreeAction($event)">\n      </datatable-body>\n      <datatable-footer\n        *ngIf="footerHeight"\n        [rowCount]="rowCount"\n        [pageSize]="pageSize"\n        [offset]="offset"\n        [footerHeight]="footerHeight"\n        [footerTemplate]="footer"\n        [totalMessage]="messages.totalMessage"\n        [pagerLeftArrowIcon]="cssClasses.pagerLeftArrow"\n        [pagerRightArrowIcon]="cssClasses.pagerRightArrow"\n        [pagerPreviousIcon]="cssClasses.pagerPrevious"\n        [selectedCount]="selected.length"\n        [selectedMessage]="!!selectionType && messages.selectedMessage"\n        [pagerNextIcon]="cssClasses.pagerNext"\n        (page)="onFooterPage($event)">\n      </datatable-footer>\n    </div>\n  ',changeDetection:i.ChangeDetectionStrategy.OnPush,encapsulation:i.ViewEncapsulation.None,styleUrls:["./datatable.component.css"],host:{class:"ngx-datatable"}})],t)}()},"33Wh":function(t,e,n){var a=n("yoRg"),r=n("eDl+");t.exports=Object.keys||function(t){return a(t,r)}},"38Bd":function(t,e,n){"use strict";n.d(e,"a",(function(){return i})),n.d(e,"b",(function(){return o})),n.d(e,"c",(function(){return r})),n.d(e,"d",(function(){return s}));var a=n("hpHm");class r{constructor(){this.animate=!1,this.max=100}}class o{constructor(t){this.isStacked=!1,this.addClass=!0,this.bars=[],this._max=100,Object.assign(this,t)}set animate(t){this._animate=t,this.bars.forEach(e=>{e.animate=t})}set striped(t){this._striped=t,this.bars.forEach(e=>{e.striped=t})}set value(t){this.isStacked=Array.isArray(t),this._value=t}get isBs3(){return Object(a.d)()}get max(){return this._max}set max(t){this._max=t,this.bars.forEach(t=>{t.recalculatePercentage()})}addBar(t){t.animate=this._animate,t.striped=this._striped,this.bars.push(t)}removeBar(t){this.bars.splice(this.bars.indexOf(t),1)}}class i{constructor(t){this.percent=0,this.progress=t}get value(){return this._value}set value(t){(t||0===t)&&(this._value=t,this.recalculatePercentage())}get setBarWidth(){return this.recalculatePercentage(),this.percent}get isBs3(){return Object(a.d)()}ngOnInit(){this.progress.addBar(this)}ngOnDestroy(){this.progress.removeBar(this)}recalculatePercentage(){this.percent=+(this.value/this.progress.max*100).toFixed(2);const t=this.progress.bars.reduce((function(t,e){return t+e.percent}),0);t>100&&(this.percent-=t-100)}}class s{static forRoot(){return{ngModule:s,providers:[r]}}}},"3A9y":function(t,e){t.exports=function(t){return this.__data__.has(t)}},"3E1r":function(t,e,n){!function(t){"use strict";var e={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},n={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};t.defineLocale("hi",{months:"जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर".split("_"),monthsShort:"जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.".split("_"),monthsParseExact:!0,weekdays:"रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm बजे",LTS:"A h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm बजे",LLLL:"dddd, D MMMM YYYY, A h:mm बजे"},calendar:{sameDay:"[आज] LT",nextDay:"[कल] LT",nextWeek:"dddd, LT",lastDay:"[कल] LT",lastWeek:"[पिछले] dddd, LT",sameElse:"L"},relativeTime:{future:"%s में",past:"%s पहले",s:"कुछ ही क्षण",ss:"%d सेकंड",m:"एक मिनट",mm:"%d मिनट",h:"एक घंटा",hh:"%d घंटे",d:"एक दिन",dd:"%d दिन",M:"एक महीने",MM:"%d महीने",y:"एक वर्ष",yy:"%d वर्ष"},preparse:function(t){return t.replace(/[१२३४५६७८९०]/g,(function(t){return n[t]}))},postformat:function(t){return t.replace(/\d/g,(function(t){return e[t]}))},meridiemParse:/रात|सुबह|दोपहर|शाम/,meridiemHour:function(t,e){return 12===t&&(t=0),"रात"===e?t<4?t:t+12:"सुबह"===e?t:"दोपहर"===e?t>=10?t:t+12:"शाम"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"रात":t<10?"सुबह":t<17?"दोपहर":t<20?"शाम":"रात"},week:{dow:0,doy:6}})}(n("wd/R"))},"3Fdi":function(t,e){var n=Function.prototype.toString;t.exports=function(t){if(null!=t){try{return n.call(t)}catch(e){}try{return t+""}catch(e){}}return""}},"3L66":function(t,e,n){var a=n("MMmD"),r=n("ExA7");t.exports=function(t){return r(t)&&a(t)}},"3MdB":function(t,e,n){var a=n("mrSG").__decorate,r=n("mrSG").__metadata;Object.defineProperty(e,"__esModule",{value:!0});var o=n("8Y7J"),i=n("qCKp"),s=n("kU1M");e.DraggableDirective=function(){function t(t){this.dragX=!0,this.dragY=!0,this.dragStart=new o.EventEmitter,this.dragging=new o.EventEmitter,this.dragEnd=new o.EventEmitter,this.isDragging=!1,this.element=t.nativeElement}return t.prototype.ngOnChanges=function(t){t.dragEventTarget&&t.dragEventTarget.currentValue&&this.dragModel.dragging&&this.onMousedown(t.dragEventTarget.currentValue)},t.prototype.ngOnDestroy=function(){this._destroySubscription()},t.prototype.onMouseup=function(t){this.isDragging&&(this.isDragging=!1,this.element.classList.remove("dragging"),this.subscription&&(this._destroySubscription(),this.dragEnd.emit({event:t,element:this.element,model:this.dragModel})))},t.prototype.onMousedown=function(t){var e=this;if(t.target.classList.contains("draggable")&&(this.dragX||this.dragY)){t.preventDefault(),this.isDragging=!0;var n={x:t.clientX,y:t.clientY},a=i.fromEvent(document,"mouseup");this.subscription=a.subscribe((function(t){return e.onMouseup(t)}));var r=i.fromEvent(document,"mousemove").pipe(s.takeUntil(a)).subscribe((function(t){return e.move(t,n)}));this.subscription.add(r),this.dragStart.emit({event:t,element:this.element,model:this.dragModel})}},t.prototype.move=function(t,e){if(this.isDragging){var n=t.clientY-e.y;this.dragX&&(this.element.style.left=t.clientX-e.x+"px"),this.dragY&&(this.element.style.top=n+"px"),this.element.classList.add("dragging"),this.dragging.emit({event:t,element:this.element,model:this.dragModel})}},t.prototype._destroySubscription=function(){this.subscription&&(this.subscription.unsubscribe(),this.subscription=void 0)},a([o.Input(),r("design:type",Object)],t.prototype,"dragEventTarget",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"dragModel",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"dragX",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"dragY",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"dragStart",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"dragging",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"dragEnd",void 0),a([o.Directive({selector:"[draggable]"})],t)}()},"3N8a":function(t,e,n){"use strict";var a=n("quSY");class r extends a.a{constructor(t,e){super()}schedule(t,e=0){return this}}n.d(e,"a",(function(){return o}));class o extends r{constructor(t,e){super(t,e),this.scheduler=t,this.work=e,this.pending=!1}schedule(t,e=0){if(this.closed)return this;this.state=t;const n=this.id,a=this.scheduler;return null!=n&&(this.id=this.recycleAsyncId(a,n,e)),this.pending=!0,this.delay=e,this.id=this.id||this.requestAsyncId(a,this.id,e),this}requestAsyncId(t,e,n=0){return setInterval(t.flush.bind(t,this),n)}recycleAsyncId(t,e,n=0){if(null!==n&&this.delay===n&&!1===this.pending)return e;clearInterval(e)}execute(t,e){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const n=this._execute(t,e);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(t,e){let n=!1,a=void 0;try{this.work(t)}catch(r){n=!0,a=!!r&&r||new Error(r)}if(n)return this.unsubscribe(),a}_unsubscribe(){const t=this.id,e=this.scheduler,n=e.actions,a=n.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==a&&n.splice(a,1),null!=t&&(this.id=this.recycleAsyncId(e,t,null)),this.delay=null}}},"3bBZ":function(t,e,n){var a=n("2oRo"),r=n("/byt"),o=n("4mDm"),i=n("kRJp"),s=n("tiKp"),c=s("iterator"),l=s("toStringTag"),d=o.values;for(var u in r){var g=a[u],f=g&&g.prototype;if(f){if(f[c]!==d)try{i(f,c,d)}catch(m){f[c]=d}if(f[l]||i(f,l,u),r[u])for(var p in o)if(f[p]!==o[p])try{i(f,p,o[p])}catch(m){f[p]=o[p]}}}},"4/ic":function(t,e,n){var a=n("ZWtO");t.exports=function(t){return function(e){return a(e,t)}}},"44Ds":function(t,e,n){var a=n("e4Nc");function r(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError("Expected a function");var n=function(){var a=arguments,r=e?e.apply(this,a):a[0],o=n.cache;if(o.has(r))return o.get(r);var i=t.apply(this,a);return n.cache=o.set(r,i)||o,i};return n.cache=new(r.Cache||a),n}r.Cache=a,t.exports=r},"4DD9":function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{transform(t){let e=!1;switch(t){case!0:case 1:case"y":case"yes":case"t":case"true":case"on":case"1":e=!0}return e}}},"4DFU":function(t,e,n){var a=n("+Qka"),r=n("GoyQ");t.exports=function t(e,n,o,i,s,c){return r(e)&&r(n)&&(c.set(n,e),a(e,n,void 0,t,c),c.delete(n)),e}},"4Dmd":function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var a=n("8Y7J"),r=function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},o=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},i=function(){function t(t,e,n){this.renderer=t,this.templateRef=e,this.viewContainerRef=n}return Object.defineProperty(t.prototype,"isOpen",{set:function(t){t?(this._show(),this.isEnabled&&!1===this._isOpen&&this._animateOpen()):this.isEnabled?this._animateClose():this._hide(),this._isOpen=!!t},enumerable:!0,configurable:!0}),t.prototype._show=function(){this.innerElement||(this.innerElement=this.viewContainerRef.createEmbeddedView(this.templateRef).rootNodes[0])},t.prototype._hide=function(){this.viewContainerRef.clear(),this.innerElement=null},t.prototype._animateOpen=function(){var t=this,e=this.animateSpeed,n=this.animateAcceleration,a=0;this.renderer.setStyle(this.innerElement,"max-height","0"),setTimeout((function(){var r=setInterval((function(){if(!t._isOpen||!t.innerElement)return clearInterval(r);var o=Math.round(a+=e);t.renderer.setStyle(t.innerElement,"max-height",o+"px");var i=t.innerElement.getBoundingClientRect?t.innerElement.getBoundingClientRect().height:0;e*=n,n*=1.005,i<o&&(t.renderer.setStyle(t.innerElement,"max-height",null),clearInterval(r))}),17)}))},t.prototype._animateClose=function(){var t=this;if(this.innerElement)var e=this.animateSpeed,n=this.animateAcceleration,a=this.innerElement.getBoundingClientRect().height,r=setInterval((function(){if(t._isOpen||!t.innerElement)return clearInterval(r);t.renderer.setStyle(t.innerElement,"max-height",(a-=e)+"px"),e*=n,n*=1.005,a<=0&&(t.viewContainerRef.clear(),t.innerElement=null,clearInterval(r))}),17)},r([Object(a.Input)("treeAnimateOpenSpeed"),o("design:type",Number)],t.prototype,"animateSpeed",void 0),r([Object(a.Input)("treeAnimateOpenAcceleration"),o("design:type",Number)],t.prototype,"animateAcceleration",void 0),r([Object(a.Input)("treeAnimateOpenEnabled"),o("design:type",Boolean)],t.prototype,"isEnabled",void 0),r([Object(a.Input)("treeAnimateOpen"),o("design:type",Boolean),o("design:paramtypes",[Boolean])],t.prototype,"isOpen",null),r([Object(a.Directive)({selector:"[treeAnimateOpen]"}),o("design:paramtypes",[a.Renderer2,a.TemplateRef,a.ViewContainerRef])],t)}()},"4HWh":function(t,e,n){"use strict";var a=n("8Y7J"),r=n("SVse"),o=n("KOzp"),i=n("z/SZ"),s=n("2uy1");n("p4Cf"),n.d(e,"a",(function(){return c})),n.d(e,"b",(function(){return d}));var c=a["ɵcrt"]({encapsulation:0,styles:[["i[_ngcontent-%COMP%]{color:#2b99a8;cursor:pointer;padding-left:4px}"]],data:{}});function l(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,0,"div",[],[[8,"className",0],[8,"innerHTML",1]],null,null,null,null)),a["ɵncd"](null,0),(t()(),a["ɵand"](0,null,null,0))],null,(function(t,e){var n=e.component;t(e,0,0,n.class,n.html)}))}function d(t){return a["ɵvid"](0,[(t()(),a["ɵand"](0,[["popoverTpl",2]],null,0,null,l)),(t()(),a["ɵeld"](1,16777216,null,null,4,"i",[["aria-hidden","true"],["container","body"],["placement","bottom"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==n.preventDefault()&&a),a}),null,null)),a["ɵprd"](512,null,r["ɵNgClassImpl"],r["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](3,278528,null,0,r.NgClass,[r["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),a["ɵpad"](4,1),a["ɵdid"](5,212992,null,0,o.c,[o.a,a.ElementRef,a.Renderer2,a.ViewContainerRef,i.a,s.a],{popover:[0,"popover"],placement:[1,"placement"],outsideClick:[2,"outsideClick"],container:[3,"container"]},null)],(function(t,e){var n=t(e,4,0,e.component.icons.questionCircle);t(e,3,0,n),t(e,5,0,a["ɵnov"](e,0),"bottom",!0,"body")}),null)}},"4I5i":function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));const a=(()=>{function t(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return t.prototype=Object.create(Error.prototype),t})()},"4MV3":function(t,e,n){!function(t){"use strict";var e={1:"૧",2:"૨",3:"૩",4:"૪",5:"૫",6:"૬",7:"૭",8:"૮",9:"૯",0:"૦"},n={"૧":"1","૨":"2","૩":"3","૪":"4","૫":"5","૬":"6","૭":"7","૮":"8","૯":"9","૦":"0"};t.defineLocale("gu",{months:"જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર".split("_"),monthsShort:"જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.".split("_"),monthsParseExact:!0,weekdays:"રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર".split("_"),weekdaysShort:"રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ".split("_"),weekdaysMin:"ર_સો_મં_બુ_ગુ_શુ_શ".split("_"),longDateFormat:{LT:"A h:mm વાગ્યે",LTS:"A h:mm:ss વાગ્યે",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm વાગ્યે",LLLL:"dddd, D MMMM YYYY, A h:mm વાગ્યે"},calendar:{sameDay:"[આજ] LT",nextDay:"[કાલે] LT",nextWeek:"dddd, LT",lastDay:"[ગઇકાલે] LT",lastWeek:"[પાછલા] dddd, LT",sameElse:"L"},relativeTime:{future:"%s મા",past:"%s પેહલા",s:"અમુક પળો",ss:"%d સેકંડ",m:"એક મિનિટ",mm:"%d મિનિટ",h:"એક કલાક",hh:"%d કલાક",d:"એક દિવસ",dd:"%d દિવસ",M:"એક મહિનો",MM:"%d મહિનો",y:"એક વર્ષ",yy:"%d વર્ષ"},preparse:function(t){return t.replace(/[૧૨૩૪૫૬૭૮૯૦]/g,(function(t){return n[t]}))},postformat:function(t){return t.replace(/\d/g,(function(t){return e[t]}))},meridiemParse:/રાત|બપોર|સવાર|સાંજ/,meridiemHour:function(t,e){return 12===t&&(t=0),"રાત"===e?t<4?t:t+12:"સવાર"===e?t:"બપોર"===e?t>=10?t:t+12:"સાંજ"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"રાત":t<10?"સવાર":t<17?"બપોર":t<20?"સાંજ":"રાત"},week:{dow:0,doy:6}})}(n("wd/R"))},"4Oe1":function(t,e,n){var a=n("YO3V");t.exports=function(t){return a(t)?void 0:t}},"4WOD":function(t,e,n){var a=n("UTVS"),r=n("ewvW"),o=n("93I0"),i=n("4Xet"),s=o("IE_PROTO"),c=Object.prototype;t.exports=i?Object.getPrototypeOf:function(t){return t=r(t),a(t,s)?t[s]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?c:null}},"4Xet":function(t,e,n){var a=n("0Dky");t.exports=!a((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype}))},"4dOw":function(t,e,n){!function(t){"use strict";t.defineLocale("en-ie",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})}(n("wd/R"))},"4kuk":function(t,e,n){var a=n("SfRM"),r=n("Hvzi"),o=n("u8Dt"),i=n("ekgI"),s=n("JSQU");function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var a=t[e];this.set(a[0],a[1])}}c.prototype.clear=a,c.prototype.delete=r,c.prototype.get=o,c.prototype.has=i,c.prototype.set=s,t.exports=c},"4l63":function(t,e,n){var a=n("I+eb"),r=n("wg0c");a({global:!0,forced:parseInt!=r},{parseInt:r})},"4mDm":function(t,e,n){"use strict";var a=n("/GqU"),r=n("RNIs"),o=n("P4y1"),i=n("afO8"),s=n("fdAy"),c=i.set,l=i.getterFor("Array Iterator");t.exports=s(Array,"Array",(function(t,e){c(this,{type:"Array Iterator",target:a(t),index:0,kind:e})}),(function(){var t=l(this),e=t.target,n=t.kind,a=t.index++;return!e||a>=e.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==n?{value:a,done:!1}:"values"==n?{value:e[a],done:!1}:{value:[a,e[a]],done:!1}}),"values"),o.Arguments=o.Array,r("keys"),r("values"),r("entries")},"4qC0":function(t,e,n){var a=n("NykK"),r=n("Z0cm"),o=n("ExA7");t.exports=function(t){return"string"==typeof t||!r(t)&&o(t)&&"[object String]"==a(t)}},"4sDh":function(t,e,n){var a=n("4uTw"),r=n("03A+"),o=n("Z0cm"),i=n("wJg7"),s=n("shjB"),c=n("9Nap");t.exports=function(t,e,n){for(var l=-1,d=(e=a(e,t)).length,u=!1;++l<d;){var g=c(e[l]);if(!(u=null!=t&&n(t,g)))break;t=t[g]}return u||++l!=d?u:!!(d=null==t?0:t.length)&&s(d)&&i(g,d)&&(o(t)||r(t))}},"4syw":function(t,e,n){var a=n("busE");t.exports=function(t,e,n){for(var r in e)a(t,r,e[r],n);return t}},"4uTw":function(t,e,n){var a=n("Z0cm"),r=n("9ggG"),o=n("GNiM"),i=n("dt0z");t.exports=function(t,e){return a(t)?t:r(t,e)?[t]:o(i(t))}},"5+tZ":function(t,e,n){"use strict";n.d(e,"a",(function(){return c}));var a=n("ZUHj"),r=n("l7GE"),o=n("51Dv"),i=n("lJxs"),s=n("Cfvw");function c(t,e,n=Number.POSITIVE_INFINITY){return"function"==typeof e?a=>a.pipe(c((n,a)=>Object(s.a)(t(n,a)).pipe(Object(i.a)((t,r)=>e(n,t,a,r))),n)):("number"==typeof e&&(n=e),e=>e.lift(new l(t,n)))}class l{constructor(t,e=Number.POSITIVE_INFINITY){this.project=t,this.concurrent=e}call(t,e){return e.subscribe(new d(t,this.project,this.concurrent))}}class d extends r.a{constructor(t,e,n=Number.POSITIVE_INFINITY){super(t),this.project=e,this.concurrent=n,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(t){this.active<this.concurrent?this._tryNext(t):this.buffer.push(t)}_tryNext(t){let e;const n=this.index++;try{e=this.project(t,n)}catch(a){return void this.destination.error(a)}this.active++,this._innerSub(e,t,n)}_innerSub(t,e,n){const r=new o.a(this,e,n),i=this.destination;i.add(r);const s=Object(a.a)(this,t,void 0,void 0,r);s!==r&&i.add(s)}_complete(){this.hasCompleted=!0,0===this.active&&0===this.buffer.length&&this.destination.complete(),this.unsubscribe()}notifyNext(t,e,n,a,r){this.destination.next(e)}notifyComplete(t){const e=this.buffer;this.remove(t),this.active--,e.length>0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}},"51Dv":function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("7o/Q");class r extends a.a{constructor(t,e,n){super(),this.parent=t,this.outerValue=e,this.outerIndex=n,this.index=0}_next(t){this.parent.notifyNext(this.outerValue,t,this.outerIndex,this.index++,this)}_error(t){this.parent.notifyError(t,this),this.unsubscribe()}_complete(){this.parent.notifyComplete(this),this.unsubscribe()}}},"5Tg0":function(t,e,n){(function(t){var a=n("Kz5y"),r=e&&!e.nodeType&&e,o=r&&"object"==typeof t&&t&&!t.nodeType&&t,i=o&&o.exports===r?a.Buffer:void 0,s=i?i.allocUnsafe:void 0;t.exports=function(t,e){if(e)return t.slice();var n=t.length,a=s?s(n):new t.constructor(n);return t.copy(a),a}}).call(this,n("YuTi")(t))},"5tze":function(t,e,n){"use strict";function a(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),a(n("HV4d")),a(n("ae7Z")),a(n("h+PQ")),a(n("CVuo")),a(n("RnPR")),a(n("ohIB")),a(n("rdkg")),a(n("y9Z7")),a(n("1HVU")),a(n("MgB7")),a(n("h6KF")),a(n("GDJm")),a(n("VYA+")),a(n("AqeW")),a(n("FMPj"))},"6+QB":function(t,e,n){!function(t){"use strict";t.defineLocale("ms",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(t,e){return 12===t&&(t=0),"pagi"===e?t:"tengahari"===e?t>=11?t:t+12:"petang"===e||"malam"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"pagi":t<15?"tengahari":t<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}(n("wd/R"))},"6B0Y":function(t,e,n){!function(t){"use strict";var e={1:"១",2:"២",3:"៣",4:"៤",5:"៥",6:"៦",7:"៧",8:"៨",9:"៩",0:"០"},n={"១":"1","២":"2","៣":"3","៤":"4","៥":"5","៦":"6","៧":"7","៨":"8","៩":"9","០":"0"};t.defineLocale("km",{months:"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),monthsShort:"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),weekdays:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),weekdaysShort:"អា_ច_អ_ព_ព្រ_សុ_ស".split("_"),weekdaysMin:"អា_ច_អ_ព_ព្រ_សុ_ស".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/ព្រឹក|ល្ងាច/,isPM:function(t){return"ល្ងាច"===t},meridiem:function(t,e,n){return t<12?"ព្រឹក":"ល្ងាច"},calendar:{sameDay:"[ថ្ងៃនេះ ម៉ោង] LT",nextDay:"[ស្អែក ម៉ោង] LT",nextWeek:"dddd [ម៉ោង] LT",lastDay:"[ម្សិលមិញ ម៉ោង] LT",lastWeek:"dddd [សប្តាហ៍មុន] [ម៉ោង] LT",sameElse:"L"},relativeTime:{future:"%sទៀត",past:"%sមុន",s:"ប៉ុន្មានវិនាទី",ss:"%d វិនាទី",m:"មួយនាទី",mm:"%d នាទី",h:"មួយម៉ោង",hh:"%d ម៉ោង",d:"មួយថ្ងៃ",dd:"%d ថ្ងៃ",M:"មួយខែ",MM:"%d ខែ",y:"មួយឆ្នាំ",yy:"%d ឆ្នាំ"},dayOfMonthOrdinalParse:/ទី\d{1,2}/,ordinal:"ទី%d",preparse:function(t){return t.replace(/[១២៣៤៥៦៧៨៩០]/g,(function(t){return n[t]}))},postformat:function(t){return t.replace(/\d/g,(function(t){return e[t]}))},week:{dow:1,doy:4}})}(n("wd/R"))},"6JNq":function(t,e,n){var a=n("UTVS"),r=n("Vu81"),o=n("Bs8V"),i=n("m/L8");t.exports=function(t,e){for(var n=r(e),s=i.f,c=o.f,l=0;l<n.length;l++){var d=n[l];a(t,d)||s(t,d,c(e,d))}}},"6LWA":function(t,e,n){var a=n("xrYK");t.exports=Array.isArray||function(t){return"Array"==a(t)}},"6MUB":function(t,e,n){"use strict";var a=function(t){switch(typeof t){case"string":return t;case"boolean":return t?"true":"false";case"number":return isFinite(t)?t:"";default:return""}};t.exports=function(t,e,n,r){return e=e||"&",n=n||"=",null===t&&(t=void 0),"object"==typeof t?Object.keys(t).map((function(r){var o=encodeURIComponent(a(r))+n;return Array.isArray(t[r])?t[r].map((function(t){return o+encodeURIComponent(a(t))})).join(e):o+encodeURIComponent(a(t[r]))})).join(e):r?encodeURIComponent(a(r))+n+encodeURIComponent(a(t)):""}},"6VoE":function(t,e,n){var a=n("tiKp"),r=n("P4y1"),o=a("iterator"),i=Array.prototype;t.exports=function(t){return void 0!==t&&(r.Array===t||i[o]===t)}},"6sVZ":function(t,e){var n=Object.prototype;t.exports=function(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||n)}},"7+OI":function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("HDdC");function r(t){return!!t&&(t instanceof a.a||"function"==typeof t.lift&&"function"==typeof t.subscribe)}},"711d":function(t,e){t.exports=function(t){return function(e){return null==e?void 0:e[t]}}},"77Zs":function(t,e,n){var a=n("Xi7e");t.exports=function(){this.__data__=new a,this.size=0}},"7BjC":function(t,e,n){!function(t){"use strict";function e(t,e,n,a){var r={s:["mõne sekundi","mõni sekund","paar sekundit"],ss:[t+"sekundi",t+"sekundit"],m:["ühe minuti","üks minut"],mm:[t+" minuti",t+" minutit"],h:["ühe tunni","tund aega","üks tund"],hh:[t+" tunni",t+" tundi"],d:["ühe päeva","üks päev"],M:["kuu aja","kuu aega","üks kuu"],MM:[t+" kuu",t+" kuud"],y:["ühe aasta","aasta","üks aasta"],yy:[t+" aasta",t+" aastat"]};return e?r[n][2]?r[n][2]:r[n][1]:a?r[n][0]:r[n][1]}t.defineLocale("et",{months:"jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember".split("_"),monthsShort:"jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"),weekdays:"pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev".split("_"),weekdaysShort:"P_E_T_K_N_R_L".split("_"),weekdaysMin:"P_E_T_K_N_R_L".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[Täna,] LT",nextDay:"[Homme,] LT",nextWeek:"[Järgmine] dddd LT",lastDay:"[Eile,] LT",lastWeek:"[Eelmine] dddd LT",sameElse:"L"},relativeTime:{future:"%s pärast",past:"%s tagasi",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:"%d päeva",M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("wd/R"))},"7F1K":function(t,e,n){var a=n("mrSG").__decorate,r=n("mrSG").__metadata;Object.defineProperty(e,"__esModule",{value:!0});var o=n("8Y7J"),i=n("5tze"),s=n("qwkt");e.DataTableSelectionComponent=function(){function t(){this.activate=new o.EventEmitter,this.select=new o.EventEmitter}return t.prototype.selectRow=function(t,e,n){var a;if(this.selectEnabled){var r=this.selectionType===s.SelectionType.checkbox,o=this.selectionType===s.SelectionType.multiClick,c=[];c=this.selectionType===s.SelectionType.multi||r||o?t.shiftKey?i.selectRowsBetween([],this.rows,e,this.prevIndex,this.getRowSelectedIdx.bind(this)):i.selectRows(t.ctrlKey||t.metaKey||o||r?this.selected.slice():[],n,this.getRowSelectedIdx.bind(this)):i.selectRows([],n,this.getRowSelectedIdx.bind(this)),"function"==typeof this.selectCheck&&(c=c.filter(this.selectCheck.bind(this))),this.selected.splice(0,this.selected.length),(a=this.selected).push.apply(a,c),this.prevIndex=e,this.select.emit({selected:c})}},t.prototype.onActivate=function(t,e){var n=t.type,a=t.event,r=t.row,o=this.selectionType===s.SelectionType.checkbox;!o&&("click"===n||"dblclick"===n)||o&&"checkbox"===n?this.selectRow(a,e,r):"keydown"===n&&(a.keyCode===i.Keys.return?this.selectRow(a,e,r):this.onKeyboardFocus(t)),this.activate.emit(t)},t.prototype.onKeyboardFocus=function(t){var e=t.event.keyCode;if(e===i.Keys.up||e===i.Keys.down||e===i.Keys.right||e===i.Keys.left){var n=this.selectionType===s.SelectionType.cell;t.cellElement&&n?n&&this.focusCell(t.cellElement,t.rowElement,e,t.cellIndex):this.focusRow(t.rowElement,e)}},t.prototype.focusRow=function(t,e){var n=this.getPrevNextRow(t,e);n&&n.focus()},t.prototype.getPrevNextRow=function(t,e){var n=t.parentElement;if(n){var a=void 0;if(e===i.Keys.up?a=n.previousElementSibling:e===i.Keys.down&&(a=n.nextElementSibling),a&&a.children.length)return a.children[0]}},t.prototype.focusCell=function(t,e,n,a){var r;if(n===i.Keys.left)r=t.previousElementSibling;else if(n===i.Keys.right)r=t.nextElementSibling;else if(n===i.Keys.up||n===i.Keys.down){var o=this.getPrevNextRow(e,n);if(o){var s=o.getElementsByClassName("datatable-body-cell");s.length&&(r=s[a])}}r&&r.focus()},t.prototype.getRowSelected=function(t){return this.getRowSelectedIdx(t,this.selected)>-1},t.prototype.getRowSelectedIdx=function(t,e){var n=this;if(!e||!e.length)return-1;var a=this.rowIdentity(t);return e.findIndex((function(t){return n.rowIdentity(t)===a}))},a([o.Input(),r("design:type",Array)],t.prototype,"rows",void 0),a([o.Input(),r("design:type",Array)],t.prototype,"selected",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"selectEnabled",void 0),a([o.Input(),r("design:type",String)],t.prototype,"selectionType",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"rowIdentity",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"selectCheck",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"activate",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"select",void 0),a([o.Component({selector:"datatable-selection",template:"\n    <ng-content></ng-content>\n  ",changeDetection:o.ChangeDetectionStrategy.OnPush})],t)}()},"7GkX":function(t,e,n){var a=n("b80T"),r=n("A90E"),o=n("MMmD");t.exports=function(t){return o(t)?a(t):r(t)}},"7HRe":function(t,e,n){"use strict";var a=n("HDdC"),r=n("quSY"),o=n("kJWO"),i=n("jZKg"),s=n("Lhse"),c=n("c2HN"),l=n("I55L");function d(t,e){if(null!=t){if(function(t){return t&&"function"==typeof t[o.a]}(t))return function(t,e){return new a.a(n=>{const a=new r.a;return a.add(e.schedule(()=>{const r=t[o.a]();a.add(r.subscribe({next(t){a.add(e.schedule(()=>n.next(t)))},error(t){a.add(e.schedule(()=>n.error(t)))},complete(){a.add(e.schedule(()=>n.complete()))}}))})),a})}(t,e);if(Object(c.a)(t))return function(t,e){return new a.a(n=>{const a=new r.a;return a.add(e.schedule(()=>t.then(t=>{a.add(e.schedule(()=>{n.next(t),a.add(e.schedule(()=>n.complete()))}))},t=>{a.add(e.schedule(()=>n.error(t)))}))),a})}(t,e);if(Object(l.a)(t))return Object(i.a)(t,e);if(function(t){return t&&"function"==typeof t[s.a]}(t)||"string"==typeof t)return function(t,e){if(!t)throw new Error("Iterable cannot be null");return new a.a(n=>{const a=new r.a;let o;return a.add(()=>{o&&"function"==typeof o.return&&o.return()}),a.add(e.schedule(()=>{o=t[s.a](),a.add(e.schedule((function(){if(n.closed)return;let t,e;try{const n=o.next();t=n.value,e=n.done}catch(a){return void n.error(a)}e?n.complete():(n.next(t),this.schedule())})))})),a})}(t,e)}throw new TypeError((null!==t&&typeof t||t)+" is not observable")}n.d(e,"a",(function(){return d}))},"7Hc7":function(t,e,n){"use strict";let a=1;const r=(()=>Promise.resolve())(),o={};function i(t){return t in o&&(delete o[t],!0)}const s={setImmediate(t){const e=a++;return o[e]=!0,r.then(()=>i(e)&&t()),e},clearImmediate(t){i(t)}};var c=n("3N8a");class l extends c.a{constructor(t,e){super(t,e),this.scheduler=t,this.work=e}requestAsyncId(t,e,n=0){return null!==n&&n>0?super.requestAsyncId(t,e,n):(t.actions.push(this),t.scheduled||(t.scheduled=s.setImmediate(t.flush.bind(t,null))))}recycleAsyncId(t,e,n=0){if(null!==n&&n>0||null===n&&this.delay>0)return super.recycleAsyncId(t,e,n);0===t.actions.length&&(s.clearImmediate(e),t.scheduled=void 0)}}var d=n("IjjT");class u extends d.a{flush(t){this.active=!0,this.scheduled=void 0;const{actions:e}=this;let n,a=-1,r=e.length;t=t||e.shift();do{if(n=t.execute(t.state,t.delay))break}while(++a<r&&(t=e.shift()));if(this.active=!1,n){for(;++a<r&&(t=e.shift());)t.unsubscribe();throw n}}}n.d(e,"a",(function(){return g}));const g=new u(l)},"7Ix3":function(t,e){t.exports=function(t){var e=[];if(null!=t)for(var n in Object(t))e.push(n);return e}},"7aV9":function(t,e,n){!function(t){"use strict";t.defineLocale("si",{months:"ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්".split("_"),monthsShort:"ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ".split("_"),weekdays:"ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා".split("_"),weekdaysShort:"ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන".split("_"),weekdaysMin:"ඉ_ස_අ_බ_බ්‍ර_සි_සෙ".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"a h:mm",LTS:"a h:mm:ss",L:"YYYY/MM/DD",LL:"YYYY MMMM D",LLL:"YYYY MMMM D, a h:mm",LLLL:"YYYY MMMM D [වැනි] dddd, a h:mm:ss"},calendar:{sameDay:"[අද] LT[ට]",nextDay:"[හෙට] LT[ට]",nextWeek:"dddd LT[ට]",lastDay:"[ඊයේ] LT[ට]",lastWeek:"[පසුගිය] dddd LT[ට]",sameElse:"L"},relativeTime:{future:"%sකින්",past:"%sකට පෙර",s:"තත්පර කිහිපය",ss:"තත්පර %d",m:"මිනිත්තුව",mm:"මිනිත්තු %d",h:"පැය",hh:"පැය %d",d:"දිනය",dd:"දින %d",M:"මාසය",MM:"මාස %d",y:"වසර",yy:"වසර %d"},dayOfMonthOrdinalParse:/\d{1,2} වැනි/,ordinal:function(t){return t+" වැනි"},meridiemParse:/පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,isPM:function(t){return"ප.ව."===t||"පස් වරු"===t},meridiem:function(t,e,n){return t>11?n?"ප.ව.":"පස් වරු":n?"පෙ.ව.":"පෙර වරු"}})}(n("wd/R"))},"7fqy":function(t,e){t.exports=function(t){var e=-1,n=Array(t.size);return t.forEach((function(t,a){n[++e]=[a,t]})),n}},"7o/Q":function(t,e,n){"use strict";n.d(e,"a",(function(){return l}));var a=n("n6bG"),r=n("gRHU"),o=n("quSY"),i=n("2QA8"),s=n("2fFW"),c=n("NJ4a");class l extends o.a{constructor(t,e,n){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=r.a;break;case 1:if(!t){this.destination=r.a;break}if("object"==typeof t){t instanceof l?(this.syncErrorThrowable=t.syncErrorThrowable,this.destination=t,t.add(this)):(this.syncErrorThrowable=!0,this.destination=new d(this,t));break}default:this.syncErrorThrowable=!0,this.destination=new d(this,t,e,n)}}[i.a](){return this}static create(t,e,n){const a=new l(t,e,n);return a.syncErrorThrowable=!1,a}next(t){this.isStopped||this._next(t)}error(t){this.isStopped||(this.isStopped=!0,this._error(t))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(t){this.destination.next(t)}_error(t){this.destination.error(t),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){const{_parentOrParents:t}=this;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=t,this}}class d extends l{constructor(t,e,n,o){let i;super(),this._parentSubscriber=t;let s=this;Object(a.a)(e)?i=e:e&&(i=e.next,n=e.error,o=e.complete,e!==r.a&&(s=Object.create(e),Object(a.a)(s.unsubscribe)&&this.add(s.unsubscribe.bind(s)),s.unsubscribe=this.unsubscribe.bind(this))),this._context=s,this._next=i,this._error=n,this._complete=o}next(t){if(!this.isStopped&&this._next){const{_parentSubscriber:e}=this;s.a.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?this.__tryOrSetError(e,this._next,t)&&this.unsubscribe():this.__tryOrUnsub(this._next,t)}}error(t){if(!this.isStopped){const{_parentSubscriber:e}=this,{useDeprecatedSynchronousErrorHandling:n}=s.a;if(this._error)n&&e.syncErrorThrowable?(this.__tryOrSetError(e,this._error,t),this.unsubscribe()):(this.__tryOrUnsub(this._error,t),this.unsubscribe());else if(e.syncErrorThrowable)n?(e.syncErrorValue=t,e.syncErrorThrown=!0):Object(c.a)(t),this.unsubscribe();else{if(this.unsubscribe(),n)throw t;Object(c.a)(t)}}}complete(){if(!this.isStopped){const{_parentSubscriber:t}=this;if(this._complete){const e=()=>this._complete.call(this._context);s.a.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?(this.__tryOrSetError(t,e),this.unsubscribe()):(this.__tryOrUnsub(e),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(t,e){try{t.call(this._context,e)}catch(n){if(this.unsubscribe(),s.a.useDeprecatedSynchronousErrorHandling)throw n;Object(c.a)(n)}}__tryOrSetError(t,e,n){if(!s.a.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{e.call(this._context,n)}catch(a){return s.a.useDeprecatedSynchronousErrorHandling?(t.syncErrorValue=a,t.syncErrorThrown=!0,!0):(Object(c.a)(a),!0)}return!1}_unsubscribe(){const{_parentSubscriber:t}=this;this._context=null,this._parentSubscriber=null,t.unsubscribe()}}},"7qid":function(t,e,n){"use strict";n.d(e,"a",(function(){return c})),n.d(e,"b",(function(){return g}));var a=n("8Y7J"),r=n("38Bd"),o=n("SVse"),i=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function s(t){return a["ɵvid"](0,[a["ɵncd"](null,0)],null,null)}var c=a["ɵcrt"]({encapsulation:0,styles:["[_nghost-%COMP%] {\n      width: 100%;\n      display: flex;\n    }"],data:{}});function l(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"bar",[["aria-valuemin","0"],["role","progressbar"]],[[8,"className",0],[2,"progress-bar-animated",null],[2,"progress-bar-striped",null],[2,"active",null],[1,"aria-valuenow",0],[1,"aria-valuetext",0],[1,"aria-valuemax",0],[4,"height","%"],[4,"width","%"]],null,null,s,i)),a["ɵdid"](1,245760,null,0,r.a,[r.b],{type:[0,"type"],value:[1,"value"]},null),a["ɵncd"](0,0)],(function(t,e){var n=e.component;t(e,1,0,n.type,n._value)}),(function(t,e){t(e,0,0,"progress-bar "+(a["ɵnov"](e,1).type?"progress-bar-"+a["ɵnov"](e,1).type+" bg-"+a["ɵnov"](e,1).type:""),!a["ɵnov"](e,1).isBs3&&a["ɵnov"](e,1).animate,a["ɵnov"](e,1).striped,a["ɵnov"](e,1).isBs3&&a["ɵnov"](e,1).animate,a["ɵnov"](e,1).value,a["ɵnov"](e,1).percent?a["ɵnov"](e,1).percent.toFixed(0)+"%":"",a["ɵnov"](e,1).max,"100",a["ɵnov"](e,1).setBarWidth)}))}function d(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"bar",[["aria-valuemin","0"],["role","progressbar"]],[[8,"className",0],[2,"progress-bar-animated",null],[2,"progress-bar-striped",null],[2,"active",null],[1,"aria-valuenow",0],[1,"aria-valuetext",0],[1,"aria-valuemax",0],[4,"height","%"],[4,"width","%"]],null,null,s,i)),a["ɵdid"](1,245760,null,0,r.a,[r.b],{type:[0,"type"],value:[1,"value"]},null),(t()(),a["ɵted"](2,0,["",""]))],(function(t,e){t(e,1,0,e.context.$implicit.type,e.context.$implicit.value)}),(function(t,e){t(e,0,0,"progress-bar "+(a["ɵnov"](e,1).type?"progress-bar-"+a["ɵnov"](e,1).type+" bg-"+a["ɵnov"](e,1).type:""),!a["ɵnov"](e,1).isBs3&&a["ɵnov"](e,1).animate,a["ɵnov"](e,1).striped,a["ɵnov"](e,1).isBs3&&a["ɵnov"](e,1).animate,a["ɵnov"](e,1).value,a["ɵnov"](e,1).percent?a["ɵnov"](e,1).percent.toFixed(0)+"%":"",a["ɵnov"](e,1).max,"100",a["ɵnov"](e,1).setBarWidth),t(e,2,0,e.context.$implicit.label)}))}function u(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,1,null,d)),a["ɵdid"](1,278528,null,0,o.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),a["ɵand"](0,null,null,0))],(function(t,e){t(e,1,0,e.component._value)}),null)}function g(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,1,null,l)),a["ɵdid"](1,16384,null,0,o.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,u)),a["ɵdid"](3,16384,null,0,o.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0,!n.isStacked),t(e,3,0,n.isStacked)}),null)}},"8/+R":function(t,e,n){!function(t){"use strict";var e={1:"੧",2:"੨",3:"੩",4:"੪",5:"੫",6:"੬",7:"੭",8:"੮",9:"੯",0:"੦"},n={"੧":"1","੨":"2","੩":"3","੪":"4","੫":"5","੬":"6","੭":"7","੮":"8","੯":"9","੦":"0"};t.defineLocale("pa-in",{months:"ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ".split("_"),monthsShort:"ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ".split("_"),weekdays:"ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ".split("_"),weekdaysShort:"ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ".split("_"),weekdaysMin:"ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ".split("_"),longDateFormat:{LT:"A h:mm ਵਜੇ",LTS:"A h:mm:ss ਵਜੇ",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm ਵਜੇ",LLLL:"dddd, D MMMM YYYY, A h:mm ਵਜੇ"},calendar:{sameDay:"[ਅਜ] LT",nextDay:"[ਕਲ] LT",nextWeek:"[ਅਗਲਾ] dddd, LT",lastDay:"[ਕਲ] LT",lastWeek:"[ਪਿਛਲੇ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ਵਿੱਚ",past:"%s ਪਿਛਲੇ",s:"ਕੁਝ ਸਕਿੰਟ",ss:"%d ਸਕਿੰਟ",m:"ਇਕ ਮਿੰਟ",mm:"%d ਮਿੰਟ",h:"ਇੱਕ ਘੰਟਾ",hh:"%d ਘੰਟੇ",d:"ਇੱਕ ਦਿਨ",dd:"%d ਦਿਨ",M:"ਇੱਕ ਮਹੀਨਾ",MM:"%d ਮਹੀਨੇ",y:"ਇੱਕ ਸਾਲ",yy:"%d ਸਾਲ"},preparse:function(t){return t.replace(/[੧੨੩੪੫੬੭੮੯੦]/g,(function(t){return n[t]}))},postformat:function(t){return t.replace(/\d/g,(function(t){return e[t]}))},meridiemParse:/ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,meridiemHour:function(t,e){return 12===t&&(t=0),"ਰਾਤ"===e?t<4?t:t+12:"ਸਵੇਰ"===e?t:"ਦੁਪਹਿਰ"===e?t>=10?t:t+12:"ਸ਼ਾਮ"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"ਰਾਤ":t<10?"ਸਵੇਰ":t<17?"ਦੁਪਹਿਰ":t<20?"ਸ਼ਾਮ":"ਰਾਤ"},week:{dow:0,doy:6}})}(n("wd/R"))},"85J/":function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{transform(t){const e=/ceph version\s+([^ ]+)\s+\(.+\)/.exec(t);return e?e[1]:t}}},"88Gu":function(t,e){var n=Date.now;t.exports=function(t){var e=0,a=0;return function(){var r=n(),o=16-(r-a);if(a=r,o>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}},"8Qeq":function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("7o/Q");function r(t){for(;t;){const{closed:e,destination:n,isStopped:r}=t;if(e||r)return!1;t=n&&n instanceof a.a?n:null}return!0}},"8Y7J":function(t,e,n){"use strict";n.r(e),n.d(e,"ɵangular_packages_core_core_q",(function(){return o_})),n.d(e,"ɵangular_packages_core_core_n",(function(){return n_})),n.d(e,"ɵangular_packages_core_core_o",(function(){return a_})),n.d(e,"ɵangular_packages_core_core_p",(function(){return r_})),n.d(e,"ɵangular_packages_core_core_r",(function(){return i_})),n.d(e,"ɵangular_packages_core_core_f",(function(){return fb})),n.d(e,"ɵangular_packages_core_core_l",(function(){return eg})),n.d(e,"ɵangular_packages_core_core_m",(function(){return cg})),n.d(e,"ɵangular_packages_core_core_k",(function(){return zy})),n.d(e,"ɵangular_packages_core_core_j",(function(){return Fy})),n.d(e,"ɵangular_packages_core_core_b",(function(){return et})),n.d(e,"ɵangular_packages_core_core_a",(function(){return Z})),n.d(e,"ɵangular_packages_core_core_c",(function(){return uc})),n.d(e,"ɵangular_packages_core_core_d",(function(){return Qs})),n.d(e,"ɵangular_packages_core_core_e",(function(){return oc})),n.d(e,"ɵangular_packages_core_core_i",(function(){return Sy})),n.d(e,"ɵangular_packages_core_core_s",(function(){return Wb})),n.d(e,"ɵangular_packages_core_core_u",(function(){return Vb})),n.d(e,"ɵangular_packages_core_core_t",(function(){return Bb})),n.d(e,"ɵangular_packages_core_core_x",(function(){return Ub})),n.d(e,"ɵangular_packages_core_core_v",(function(){return Yb})),n.d(e,"ɵangular_packages_core_core_w",(function(){return Hb})),n.d(e,"ɵangular_packages_core_core_ba",(function(){return yp})),n.d(e,"ɵangular_packages_core_core_bb",(function(){return fa})),n.d(e,"ɵangular_packages_core_core_bc",(function(){return Pe})),n.d(e,"ɵangular_packages_core_core_bd",(function(){return Ee})),n.d(e,"ɵangular_packages_core_core_be",(function(){return Je})),n.d(e,"ɵangular_packages_core_core_bm",(function(){return ra})),n.d(e,"ɵangular_packages_core_core_bl",(function(){return ge})),n.d(e,"ɵangular_packages_core_core_g",(function(){return Vi})),n.d(e,"ɵangular_packages_core_core_h",(function(){return Yi})),n.d(e,"ɵangular_packages_core_core_bg",(function(){return vr})),n.d(e,"ɵangular_packages_core_core_bk",(function(){return bt})),n.d(e,"ɵangular_packages_core_core_bh",(function(){return f})),n.d(e,"ɵangular_packages_core_core_bi",(function(){return p})),n.d(e,"ɵangular_packages_core_core_bn",(function(){return C})),n.d(e,"ɵangular_packages_core_core_y",(function(){return ap})),n.d(e,"ɵangular_packages_core_core_z",(function(){return Rg})),n.d(e,"createPlatform",(function(){return yy})),n.d(e,"assertPlatform",(function(){return Oy})),n.d(e,"destroyPlatform",(function(){return vy})),n.d(e,"getPlatform",(function(){return Cy})),n.d(e,"PlatformRef",(function(){return Py})),n.d(e,"ApplicationRef",(function(){return xy})),n.d(e,"createPlatformFactory",(function(){return _y})),n.d(e,"NgProbeToken",(function(){return by})),n.d(e,"enableProdMode",(function(){return Ga})),n.d(e,"isDevMode",(function(){return za})),n.d(e,"APP_ID",(function(){return gb})),n.d(e,"PACKAGE_ROOT_URL",(function(){return _b})),n.d(e,"PLATFORM_INITIALIZER",(function(){return hb})),n.d(e,"PLATFORM_ID",(function(){return bb})),n.d(e,"APP_BOOTSTRAP_LISTENER",(function(){return yb})),n.d(e,"APP_INITIALIZER",(function(){return db})),n.d(e,"ApplicationInitStatus",(function(){return ub})),n.d(e,"DebugElement",(function(){return t_})),n.d(e,"DebugEventListener",(function(){return jy})),n.d(e,"DebugNode",(function(){return Qy})),n.d(e,"asNativeElements",(function(){return Gy})),n.d(e,"getDebugNode",(function(){return Jy})),n.d(e,"Testability",(function(){return cy})),n.d(e,"TestabilityRegistry",(function(){return ly})),n.d(e,"setTestabilityGetter",(function(){return uy})),n.d(e,"TRANSLATIONS",(function(){return Cb})),n.d(e,"TRANSLATIONS_FORMAT",(function(){return Pb})),n.d(e,"LOCALE_ID",(function(){return vb})),n.d(e,"MissingTranslationStrategy",(function(){return Mb})),n.d(e,"ApplicationModule",(function(){return s_})),n.d(e,"wtfCreateScope",(function(){return $b})),n.d(e,"wtfLeave",(function(){return Zb})),n.d(e,"wtfStartTimeRange",(function(){return Jb})),n.d(e,"wtfEndTimeRange",(function(){return Xb})),n.d(e,"Type",(function(){return Zi})),n.d(e,"EventEmitter",(function(){return Wm})),n.d(e,"ErrorHandler",(function(){return Ta})),n.d(e,"Sanitizer",(function(){return gr})),n.d(e,"SecurityContext",(function(){return ur})),n.d(e,"Attribute",(function(){return O})),n.d(e,"ANALYZE_FOR_ENTRY_COMPONENTS",(function(){return gc})),n.d(e,"ContentChild",(function(){return mc})),n.d(e,"ContentChildren",(function(){return pc})),n.d(e,"Query",(function(){return fc})),n.d(e,"ViewChild",(function(){return bc})),n.d(e,"ViewChildren",(function(){return hc})),n.d(e,"Component",(function(){return $h})),n.d(e,"Directive",(function(){return Kh})),n.d(e,"HostBinding",(function(){return Qh})),n.d(e,"HostListener",(function(){return tb})),n.d(e,"Input",(function(){return Jh})),n.d(e,"Output",(function(){return Xh})),n.d(e,"Pipe",(function(){return Zh})),n.d(e,"NgModule",(function(){return sb})),n.d(e,"CUSTOM_ELEMENTS_SCHEMA",(function(){return Sa})),n.d(e,"NO_ERRORS_SCHEMA",(function(){return ka})),n.d(e,"ViewEncapsulation",(function(){return ht})),n.d(e,"Version",(function(){return Qu})),n.d(e,"VERSION",(function(){return tg})),n.d(e,"InjectFlags",(function(){return v})),n.d(e,"ɵɵdefineInjectable",(function(){return M})),n.d(e,"defineInjectable",(function(){return x})),n.d(e,"ɵɵdefineInjector",(function(){return w})),n.d(e,"forwardRef",(function(){return A})),n.d(e,"resolveForwardRef",(function(){return E})),n.d(e,"Injectable",(function(){return ys})),n.d(e,"Injector",(function(){return Ls})),n.d(e,"ɵɵinject",(function(){return J})),n.d(e,"inject",(function(){return X})),n.d(e,"INJECTOR",(function(){return B})),n.d(e,"ReflectiveInjector",(function(){return dc})),n.d(e,"ResolvedReflectiveFactory",(function(){return nc})),n.d(e,"ReflectiveKey",(function(){return Ks})),n.d(e,"InjectionToken",(function(){return G})),n.d(e,"Inject",(function(){return m})),n.d(e,"Optional",(function(){return h})),n.d(e,"Self",(function(){return b})),n.d(e,"SkipSelf",(function(){return y})),n.d(e,"Host",(function(){return _})),n.d(e,"NgZone",(function(){return ey})),n.d(e,"ɵNoopNgZone",(function(){return sy})),n.d(e,"RenderComponentType",(function(){return Yu})),n.d(e,"Renderer",(function(){return Uu})),n.d(e,"Renderer2",(function(){return Zu})),n.d(e,"RendererFactory2",(function(){return Ku})),n.d(e,"RendererStyleFlags2",(function(){return $u})),n.d(e,"RootRenderer",(function(){return Wu})),n.d(e,"COMPILER_OPTIONS",(function(){return jb})),n.d(e,"Compiler",(function(){return qb})),n.d(e,"CompilerFactory",(function(){return Fb})),n.d(e,"ModuleWithComponentFactories",(function(){return Tb})),n.d(e,"ComponentFactory",(function(){return Au})),n.d(e,"ɵComponentFactory",(function(){return Au})),n.d(e,"ComponentRef",(function(){return Ru})),n.d(e,"ComponentFactoryResolver",(function(){return qu})),n.d(e,"ElementRef",(function(){return Gu})),n.d(e,"NgModuleFactory",(function(){return it})),n.d(e,"NgModuleRef",(function(){return ot})),n.d(e,"NgModuleFactoryLoader",(function(){return Ty})),n.d(e,"getModuleFactory",(function(){return Iy})),n.d(e,"QueryList",(function(){return $m})),n.d(e,"SystemJsNgModuleLoader",(function(){return Ey})),n.d(e,"SystemJsNgModuleLoaderConfig",(function(){return Ry})),n.d(e,"TemplateRef",(function(){return hg})),n.d(e,"ViewContainerRef",(function(){return _g})),n.d(e,"EmbeddedViewRef",(function(){return qy})),n.d(e,"ViewRef",(function(){return Ly})),n.d(e,"ChangeDetectionStrategy",(function(){return ft})),n.d(e,"ChangeDetectorRef",(function(){return Wi})),n.d(e,"DefaultIterableDiffer",(function(){return ag})),n.d(e,"IterableDiffers",(function(){return ug})),n.d(e,"KeyValueDiffers",(function(){return gg})),n.d(e,"SimpleChange",(function(){return mu})),n.d(e,"WrappedValue",(function(){return kc})),n.d(e,"platformCore",(function(){return e_})),n.d(e,"ɵALLOW_MULTIPLE_PLATFORMS",(function(){return hy})),n.d(e,"ɵAPP_ID_RANDOM_PROVIDER",(function(){return pb})),n.d(e,"ɵdefaultIterableDiffers",(function(){return pg})),n.d(e,"ɵdefaultKeyValueDiffers",(function(){return mg})),n.d(e,"ɵdevModeEqual",(function(){return Sc})),n.d(e,"ɵisListLikeIterable",(function(){return Ic})),n.d(e,"ɵChangeDetectorStatus",(function(){return pt})),n.d(e,"ɵisDefaultChangeDetectionStrategy",(function(){return mt})),n.d(e,"ɵConsole",(function(){return Ob})),n.d(e,"ɵsetCurrentInjector",(function(){return K})),n.d(e,"ɵgetInjectableDef",(function(){return T})),n.d(e,"ɵAPP_ROOT",(function(){return vs})),n.d(e,"ɵDEFAULT_LOCALE_ID",(function(){return Tp})),n.d(e,"ɵivyEnabled",(function(){return wb})),n.d(e,"ɵCodegenComponentFactoryResolver",(function(){return ju})),n.d(e,"ɵclearResolutionOfComponentResourcesQueue",(function(){return Cc})),n.d(e,"ɵresolveComponentResources",(function(){return yc})),n.d(e,"ɵReflectionCapabilities",(function(){return ns})),n.d(e,"ɵRenderDebugInfo",(function(){return Hu})),n.d(e,"ɵ_sanitizeHtml",(function(){return lr})),n.d(e,"ɵ_sanitizeStyle",(function(){return mr})),n.d(e,"ɵ_sanitizeUrl",(function(){return Ha})),n.d(e,"ɵglobal",(function(){return F})),n.d(e,"ɵlooseIdentical",(function(){return Tc})),n.d(e,"ɵstringify",(function(){return N})),n.d(e,"ɵmakeDecorator",(function(){return u})),n.d(e,"ɵisObservable",(function(){return Kl})),n.d(e,"ɵisPromise",(function(){return Wl})),n.d(e,"ɵclearOverrides",(function(){return LO})),n.d(e,"ɵinitServicesIfNeeded",(function(){return J_})),n.d(e,"ɵoverrideComponentView",(function(){return DO})),n.d(e,"ɵoverrideProvider",(function(){return EO})),n.d(e,"ɵNOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR",(function(){return dp})),n.d(e,"ɵgetLocalePluralCase",(function(){return xp})),n.d(e,"ɵfindLocaleData",(function(){return wp})),n.d(e,"ɵLOCALE_DATA",(function(){return vp})),n.d(e,"ɵLocaleDataIndex",(function(){return Cp})),n.d(e,"ɵɵattribute",(function(){return zc})),n.d(e,"ɵɵattributeInterpolate1",(function(){return Zc})),n.d(e,"ɵɵattributeInterpolate2",(function(){return Jc})),n.d(e,"ɵɵattributeInterpolate3",(function(){return Xc})),n.d(e,"ɵɵattributeInterpolate4",(function(){return Qc})),n.d(e,"ɵɵattributeInterpolate5",(function(){return tl})),n.d(e,"ɵɵattributeInterpolate6",(function(){return el})),n.d(e,"ɵɵattributeInterpolate7",(function(){return nl})),n.d(e,"ɵɵattributeInterpolate8",(function(){return al})),n.d(e,"ɵɵattributeInterpolateV",(function(){return rl})),n.d(e,"ɵɵdefineBase",(function(){return Dt})),n.d(e,"ɵɵdefineComponent",(function(){return St})),n.d(e,"ɵɵdefineDirective",(function(){return Lt})),n.d(e,"ɵɵdefinePipe",(function(){return qt})),n.d(e,"ɵɵdefineNgModule",(function(){return Rt})),n.d(e,"ɵdetectChanges",(function(){return ol})),n.d(e,"ɵrenderComponent",(function(){return lu})),n.d(e,"ɵRender3ComponentFactory",(function(){return _p})),n.d(e,"ɵRender3ComponentRef",(function(){return Op})),n.d(e,"ɵɵdirectiveInject",(function(){return ml})),n.d(e,"ɵɵinjectAttribute",(function(){return hl})),n.d(e,"ɵɵinjectPipeChangeDetectorRef",(function(){return yh})),n.d(e,"ɵɵgetFactoryOf",(function(){return Ca})),n.d(e,"ɵɵgetInheritedFactory",(function(){return Pa})),n.d(e,"ɵɵsetComponentScope",(function(){return kt})),n.d(e,"ɵɵsetNgModuleScope",(function(){return At})),n.d(e,"ɵɵtemplateRefExtractor",(function(){return bh})),n.d(e,"ɵɵProvidersFeature",(function(){return Nu})),n.d(e,"ɵɵInheritDefinitionFeature",(function(){return Ou})),n.d(e,"ɵɵNgOnChangesFeature",(function(){return hu})),n.d(e,"ɵLifecycleHooksFeature",(function(){return fu})),n.d(e,"ɵRender3NgModuleRef",(function(){return wm})),n.d(e,"ɵmarkDirty",(function(){return il})),n.d(e,"ɵNgModuleFactory",(function(){return Tm})),n.d(e,"ɵNO_CHANGE",(function(){return ro})),n.d(e,"ɵɵcontainer",(function(){return sl})),n.d(e,"ɵɵnextContext",(function(){return td})),n.d(e,"ɵɵelementStart",(function(){return Ll})),n.d(e,"ɵɵnamespaceHTML",(function(){return sn})),n.d(e,"ɵɵnamespaceMathML",(function(){return on})),n.d(e,"ɵɵnamespaceSVG",(function(){return rn})),n.d(e,"ɵɵelement",(function(){return jl})),n.d(e,"ɵɵlistener",(function(){return $l})),n.d(e,"ɵɵtext",(function(){return hd})),n.d(e,"ɵɵtextInterpolate",(function(){return yd})),n.d(e,"ɵɵtextInterpolate1",(function(){return _d})),n.d(e,"ɵɵtextInterpolate2",(function(){return Od})),n.d(e,"ɵɵtextInterpolate3",(function(){return vd})),n.d(e,"ɵɵtextInterpolate4",(function(){return Cd})),n.d(e,"ɵɵtextInterpolate5",(function(){return Pd})),n.d(e,"ɵɵtextInterpolate6",(function(){return Md})),n.d(e,"ɵɵtextInterpolate7",(function(){return xd})),n.d(e,"ɵɵtextInterpolate8",(function(){return wd})),n.d(e,"ɵɵtextInterpolateV",(function(){return Td})),n.d(e,"ɵɵembeddedViewStart",(function(){return Yl})),n.d(e,"ɵɵprojection",(function(){return od})),n.d(e,"ɵɵpipeBind1",(function(){return zm})),n.d(e,"ɵɵpipeBind2",(function(){return Gm})),n.d(e,"ɵɵpipeBind3",(function(){return Bm})),n.d(e,"ɵɵpipeBind4",(function(){return Vm})),n.d(e,"ɵɵpipeBindV",(function(){return Ym})),n.d(e,"ɵɵpureFunction0",(function(){return km})),n.d(e,"ɵɵpureFunction1",(function(){return Im})),n.d(e,"ɵɵpureFunction2",(function(){return Nm})),n.d(e,"ɵɵpureFunction3",(function(){return Rm})),n.d(e,"ɵɵpureFunction4",(function(){return Am})),n.d(e,"ɵɵpureFunction5",(function(){return Em})),n.d(e,"ɵɵpureFunction6",(function(){return Dm})),n.d(e,"ɵɵpureFunction7",(function(){return Lm})),n.d(e,"ɵɵpureFunction8",(function(){return qm})),n.d(e,"ɵɵpureFunctionV",(function(){return jm})),n.d(e,"ɵɵgetCurrentView",(function(){return Ul})),n.d(e,"ɵgetDirectives",(function(){return Qd})),n.d(e,"ɵgetHostElement",(function(){return eu})),n.d(e,"ɵɵrestoreView",(function(){return Ae})),n.d(e,"ɵɵcontainerRefreshStart",(function(){return ll})),n.d(e,"ɵɵcontainerRefreshEnd",(function(){return dl})),n.d(e,"ɵɵqueryRefresh",(function(){return rh})),n.d(e,"ɵɵviewQuery",(function(){return ih})),n.d(e,"ɵɵstaticViewQuery",(function(){return oh})),n.d(e,"ɵɵstaticContentQuery",(function(){return dh})),n.d(e,"ɵɵloadViewQuery",(function(){return ch})),n.d(e,"ɵɵcontentQuery",(function(){return lh})),n.d(e,"ɵɵloadContentQuery",(function(){return gh})),n.d(e,"ɵɵelementEnd",(function(){return ql})),n.d(e,"ɵɵhostProperty",(function(){return Ud})),n.d(e,"ɵɵproperty",(function(){return jc})),n.d(e,"ɵɵpropertyInterpolate",(function(){return id})),n.d(e,"ɵɵpropertyInterpolate1",(function(){return sd})),n.d(e,"ɵɵpropertyInterpolate2",(function(){return cd})),n.d(e,"ɵɵpropertyInterpolate3",(function(){return ld})),n.d(e,"ɵɵpropertyInterpolate4",(function(){return dd})),n.d(e,"ɵɵpropertyInterpolate5",(function(){return ud})),n.d(e,"ɵɵpropertyInterpolate6",(function(){return gd})),n.d(e,"ɵɵpropertyInterpolate7",(function(){return fd})),n.d(e,"ɵɵpropertyInterpolate8",(function(){return pd})),n.d(e,"ɵɵpropertyInterpolateV",(function(){return md})),n.d(e,"ɵɵupdateSyntheticHostBinding",(function(){return Wd})),n.d(e,"ɵɵcomponentHostSyntheticListener",(function(){return Zl})),n.d(e,"ɵɵprojectionDef",(function(){return nd})),n.d(e,"ɵɵreference",(function(){return fl})),n.d(e,"ɵɵenableBindings",(function(){return ve})),n.d(e,"ɵɵdisableBindings",(function(){return Ce})),n.d(e,"ɵɵallocHostVars",(function(){return Mc})),n.d(e,"ɵɵelementContainerStart",(function(){return Gl})),n.d(e,"ɵɵelementContainerEnd",(function(){return Bl})),n.d(e,"ɵɵelementContainer",(function(){return Vl})),n.d(e,"ɵɵstyling",(function(){return bl})),n.d(e,"ɵɵstyleMap",(function(){return Pl})),n.d(e,"ɵɵstyleSanitizer",(function(){return yl})),n.d(e,"ɵɵclassMap",(function(){return Ml})),n.d(e,"ɵɵclassMapInterpolate1",(function(){return Sd})),n.d(e,"ɵɵclassMapInterpolate2",(function(){return kd})),n.d(e,"ɵɵclassMapInterpolate3",(function(){return Id})),n.d(e,"ɵɵclassMapInterpolate4",(function(){return Nd})),n.d(e,"ɵɵclassMapInterpolate5",(function(){return Rd})),n.d(e,"ɵɵclassMapInterpolate6",(function(){return Ad})),n.d(e,"ɵɵclassMapInterpolate7",(function(){return Ed})),n.d(e,"ɵɵclassMapInterpolate8",(function(){return Dd})),n.d(e,"ɵɵclassMapInterpolateV",(function(){return Ld})),n.d(e,"ɵɵstyleProp",(function(){return _l})),n.d(e,"ɵɵstylePropInterpolate1",(function(){return qd})),n.d(e,"ɵɵstylePropInterpolate2",(function(){return jd})),n.d(e,"ɵɵstylePropInterpolate3",(function(){return Fd})),n.d(e,"ɵɵstylePropInterpolate4",(function(){return zd})),n.d(e,"ɵɵstylePropInterpolate5",(function(){return Gd})),n.d(e,"ɵɵstylePropInterpolate6",(function(){return Bd})),n.d(e,"ɵɵstylePropInterpolate7",(function(){return Vd})),n.d(e,"ɵɵstylePropInterpolate8",(function(){return Yd})),n.d(e,"ɵɵstylePropInterpolateV",(function(){return Hd})),n.d(e,"ɵɵstylingApply",(function(){return Sl})),n.d(e,"ɵɵclassProp",(function(){return vl})),n.d(e,"ɵɵelementHostAttrs",(function(){return Fl})),n.d(e,"ɵɵselect",(function(){return bo})),n.d(e,"ɵɵtextBinding",(function(){return bd})),n.d(e,"ɵɵtemplate",(function(){return cl})),n.d(e,"ɵɵembeddedViewEnd",(function(){return Hl})),n.d(e,"ɵstore",(function(){return gl})),n.d(e,"ɵɵload",(function(){return pl})),n.d(e,"ɵɵpipe",(function(){return Fm})),n.d(e,"ɵwhenRendered",(function(){return pu})),n.d(e,"ɵɵi18n",(function(){return am})),n.d(e,"ɵɵi18nAttributes",(function(){return rm})),n.d(e,"ɵɵi18nExp",(function(){return sm})),n.d(e,"ɵɵi18nStart",(function(){return $p})),n.d(e,"ɵɵi18nEnd",(function(){return Qp})),n.d(e,"ɵɵi18nApply",(function(){return cm})),n.d(e,"ɵɵi18nPostprocess",(function(){return Xp})),n.d(e,"ɵi18nConfigureLocalize",(function(){return mm})),n.d(e,"ɵɵi18nLocalize",(function(){return bm})),n.d(e,"ɵsetLocaleId",(function(){return _m})),n.d(e,"ɵsetClassMetadata",(function(){return Sm})),n.d(e,"ɵɵresolveWindow",(function(){return mn})),n.d(e,"ɵɵresolveDocument",(function(){return hn})),n.d(e,"ɵɵresolveBody",(function(){return bn})),n.d(e,"ɵcompileComponent",(function(){return Dh})),n.d(e,"ɵcompileDirective",(function(){return Lh})),n.d(e,"ɵcompileNgModule",(function(){return xh})),n.d(e,"ɵcompileNgModuleDefs",(function(){return wh})),n.d(e,"ɵpatchComponentDefWithScope",(function(){return Nh})),n.d(e,"ɵresetCompiledComponents",(function(){return kh})),n.d(e,"ɵflushModuleScopingQueueAsMuchAsPossible",(function(){return Ph})),n.d(e,"ɵtransitiveScopesFor",(function(){return Rh})),n.d(e,"ɵcompilePipe",(function(){return Wh})),n.d(e,"ɵɵsanitizeHtml",(function(){return hr})),n.d(e,"ɵɵsanitizeStyle",(function(){return br})),n.d(e,"ɵɵdefaultStyleSanitizer",(function(){return Pr})),n.d(e,"ɵɵsanitizeScript",(function(){return Or})),n.d(e,"ɵɵsanitizeUrl",(function(){return yr})),n.d(e,"ɵɵsanitizeResourceUrl",(function(){return _r})),n.d(e,"ɵɵsanitizeUrlOrResourceUrl",(function(){return Cr})),n.d(e,"ɵbypassSanitizationTrustHtml",(function(){return Ra})),n.d(e,"ɵbypassSanitizationTrustStyle",(function(){return Aa})),n.d(e,"ɵbypassSanitizationTrustScript",(function(){return Ea})),n.d(e,"ɵbypassSanitizationTrustUrl",(function(){return Da})),n.d(e,"ɵbypassSanitizationTrustResourceUrl",(function(){return La})),n.d(e,"ɵgetLContext",(function(){return Tr})),n.d(e,"ɵNG_ELEMENT_ID",(function(){return wt})),n.d(e,"ɵNG_COMPONENT_DEF",(function(){return Ot})),n.d(e,"ɵNG_DIRECTIVE_DEF",(function(){return vt})),n.d(e,"ɵNG_PIPE_DEF",(function(){return Ct})),n.d(e,"ɵNG_MODULE_DEF",(function(){return Pt})),n.d(e,"ɵNG_BASE_DEF",(function(){return xt})),n.d(e,"ɵNG_INJECTABLE_DEF",(function(){return k})),n.d(e,"ɵNG_INJECTOR_DEF",(function(){return I})),n.d(e,"ɵcompileNgModuleFactory__POST_R3__",(function(){return py})),n.d(e,"ɵisBoundToModule__POST_R3__",(function(){return my})),n.d(e,"ɵSWITCH_COMPILE_COMPONENT__POST_R3__",(function(){return eb})),n.d(e,"ɵSWITCH_COMPILE_DIRECTIVE__POST_R3__",(function(){return nb})),n.d(e,"ɵSWITCH_COMPILE_PIPE__POST_R3__",(function(){return ab})),n.d(e,"ɵSWITCH_COMPILE_NGMODULE__POST_R3__",(function(){return cb})),n.d(e,"ɵgetDebugNode__POST_R3__",(function(){return Zy})),n.d(e,"ɵSWITCH_COMPILE_INJECTABLE__POST_R3__",(function(){return _s})),n.d(e,"ɵSWITCH_IVY_ENABLED__POST_R3__",(function(){return xb})),n.d(e,"ɵSWITCH_CHANGE_DETECTOR_REF_FACTORY__POST_R3__",(function(){return Ki})),n.d(e,"ɵCompiler_compileModuleSync__POST_R3__",(function(){return kb})),n.d(e,"ɵCompiler_compileModuleAsync__POST_R3__",(function(){return Nb})),n.d(e,"ɵCompiler_compileModuleAndAllComponentsSync__POST_R3__",(function(){return Ab})),n.d(e,"ɵCompiler_compileModuleAndAllComponentsAsync__POST_R3__",(function(){return Db})),n.d(e,"ɵSWITCH_ELEMENT_REF_FACTORY__POST_R3__",(function(){return Bu})),n.d(e,"ɵSWITCH_TEMPLATE_REF_FACTORY__POST_R3__",(function(){return bg})),n.d(e,"ɵSWITCH_VIEW_CONTAINER_REF_FACTORY__POST_R3__",(function(){return Og})),n.d(e,"ɵSWITCH_RENDERER2_FACTORY__POST_R3__",(function(){return Ju})),n.d(e,"ɵgetModuleFactory__POST_R3__",(function(){return ky})),n.d(e,"ɵregisterNgModuleType",(function(){return Pm})),n.d(e,"ɵpublishGlobalUtil",(function(){return cu})),n.d(e,"ɵpublishDefaultGlobalUtils",(function(){return su})),n.d(e,"ɵcreateInjector",(function(){return Ts})),n.d(e,"ɵINJECTOR_IMPL__POST_R3__",(function(){return Es})),n.d(e,"ɵregisterModuleFactory",(function(){return vm})),n.d(e,"ɵEMPTY_ARRAY",(function(){return mf})),n.d(e,"ɵEMPTY_MAP",(function(){return hf})),n.d(e,"ɵand",(function(){return c_})),n.d(e,"ɵccf",(function(){return kf})),n.d(e,"ɵcmf",(function(){return qO})),n.d(e,"ɵcrt",(function(){return jg})),n.d(e,"ɵdid",(function(){return tp})),n.d(e,"ɵeld",(function(){return l_})),n.d(e,"ɵgetComponentViewDefinitionFactory",(function(){return If})),n.d(e,"ɵinlineInterpolate",(function(){return ff})),n.d(e,"ɵinterpolate",(function(){return gf})),n.d(e,"ɵmod",(function(){return Cf})),n.d(e,"ɵmpd",(function(){return vf})),n.d(e,"ɵncd",(function(){return __})),n.d(e,"ɵnov",(function(){return Gf})),n.d(e,"ɵpid",(function(){return ep})),n.d(e,"ɵprd",(function(){return np})),n.d(e,"ɵpad",(function(){return C_})),n.d(e,"ɵpod",(function(){return P_})),n.d(e,"ɵppd",(function(){return v_})),n.d(e,"ɵqud",(function(){return p_})),n.d(e,"ɵted",(function(){return x_})),n.d(e,"ɵunv",(function(){return qg})),n.d(e,"ɵvid",(function(){return S_}));var a=n("XNiG"),r=n("quSY"),o=n("HDdC"),i=n("VRyK"),s=n("w1tV");const c="__annotations__",l="__parameters__",d="__prop__metadata__";function u(t,e,n,a,r){const o=g(e);function i(...t){if(this instanceof i)return o.call(this,...t),this;const e=new i(...t);return function(n){return r&&r(n,...t),(n.hasOwnProperty(c)?n[c]:Object.defineProperty(n,c,{value:[]})[c]).push(e),a&&a(n),n}}return n&&(i.prototype=Object.create(n.prototype)),i.prototype.ngMetadataName=t,i.annotationCls=i,i}function g(t){return function(...e){if(t){const n=t(...e);for(const t in n)this[t]=n[t]}}}function f(t,e,n){const a=g(e);function r(...t){if(this instanceof r)return a.apply(this,t),this;const e=new r(...t);return n.annotation=e,n;function n(t,n,a){const r=t.hasOwnProperty(l)?t[l]:Object.defineProperty(t,l,{value:[]})[l];for(;r.length<=a;)r.push(null);return(r[a]=r[a]||[]).push(e),t}}return n&&(r.prototype=Object.create(n.prototype)),r.prototype.ngMetadataName=t,r.annotationCls=r,r}function p(t,e,n,a){const r=g(e);function o(...t){if(this instanceof o)return r.apply(this,t),this;const e=new o(...t);return function(n,r){const o=n.constructor,i=o.hasOwnProperty(d)?o[d]:Object.defineProperty(o,d,{value:{}})[d];i[r]=i.hasOwnProperty(r)&&i[r]||[],i[r].unshift(e),a&&a(n,r,...t)}}return n&&(o.prototype=Object.create(n.prototype)),o.prototype.ngMetadataName=t,o.annotationCls=o,o}const m=f("Inject",t=>({token:t})),h=f("Optional"),b=f("Self"),y=f("SkipSelf"),_=f("Host"),O=f("Attribute",t=>({attributeName:t}));var v=function(t){return t[t.Default=0]="Default",t[t.Host=1]="Host",t[t.Self=2]="Self",t[t.SkipSelf=4]="SkipSelf",t[t.Optional=8]="Optional",t}({});function C(t){for(let e in t)if(t[e]===C)return e;throw Error("Could not find renamed property on target object.")}function P(t,e){for(const n in e)e.hasOwnProperty(n)&&!t.hasOwnProperty(n)&&(t[n]=e[n])}function M(t){return{token:t.token,providedIn:t.providedIn||null,factory:t.factory,value:void 0}}const x=M;function w(t){return{factory:t.factory,providers:t.providers||[],imports:t.imports||[]}}function T(t){const e=t[k];return e&&e.token===t?e:null}function S(t){return t&&t.hasOwnProperty(I)?t[I]:null}const k=C({ngInjectableDef:C}),I=C({ngInjectorDef:C});function N(t){if("string"==typeof t)return t;if(t instanceof Array)return"["+t.map(N).join(", ")+"]";if(null==t)return""+t;if(t.overriddenName)return`${t.overriddenName}`;if(t.name)return`${t.name}`;const e=t.toString();if(null==e)return""+e;const n=e.indexOf("\n");return-1===n?e:e.substring(0,n)}const R=C({__forward_ref__:C});function A(t){return t.__forward_ref__=A,t.toString=function(){return N(this())},t}function E(t){const e=t;return"function"==typeof e&&e.hasOwnProperty(R)&&e.__forward_ref__===A?e():t}const D="undefined"!=typeof globalThis&&globalThis,L="undefined"!=typeof window&&window,q="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,j="undefined"!=typeof global&&global,F=D||j||L||q;function z(){const t=F.ng;if(!t||!t.ɵcompilerFacade)throw new Error("Angular JIT compilation failed: '@angular/compiler' not loaded!\n  - JIT compilation is discouraged for production use-cases! Consider AOT mode instead.\n  - Did you bootstrap using '@angular/platform-browser-dynamic' or '@angular/platform-server'?\n  - Alternatively provide the compiler with 'import \"@angular/compiler\";' before bootstrapping.");return t.ɵcompilerFacade}class G{constructor(t,e){this._desc=t,this.ngMetadataName="InjectionToken",this.ngInjectableDef=void 0,"number"==typeof e?this.__NG_ELEMENT_ID__=e:void 0!==e&&(this.ngInjectableDef=M({token:this,providedIn:e.providedIn||"root",factory:e.factory}))}toString(){return`InjectionToken ${this._desc}`}}const B=new G("INJECTOR",-1),V=new Object,Y=/\n/gm,H=C({provide:String,useValue:C});let U,W=void 0;function K(t){const e=W;return W=t,e}function $(t){const e=U;return U=t,e}function Z(t,e=v.Default){if(void 0===W)throw new Error("inject() must be called from an injection context");return null===W?Q(t,void 0,e):W.get(t,e&v.Optional?null:void 0,e)}function J(t,e=v.Default){return(U||Z)(t,e)}const X=J;function Q(t,e,n){const a=T(t);if(a&&"root"==a.providedIn)return void 0===a.value?a.value=a.factory():a.value;if(n&v.Optional)return null;if(void 0!==e)return e;throw new Error(`Injector: NOT_FOUND [${N(t)}]`)}function tt(t){const e=[];for(let n=0;n<t.length;n++){const a=E(t[n]);if(Array.isArray(a)){if(0===a.length)throw new Error("Arguments array must have arguments.");let t=void 0,n=v.Default;for(let e=0;e<a.length;e++){const r=a[e];r instanceof h||"Optional"===r.ngMetadataName||r===h?n|=v.Optional:r instanceof y||"SkipSelf"===r.ngMetadataName||r===y?n|=v.SkipSelf:r instanceof b||"Self"===r.ngMetadataName||r===b?n|=v.Self:t=r instanceof m||r===m?r.token:r}e.push(J(t,n))}else e.push(J(a))}return e}class et{get(t,e=V){if(e===V){const e=new Error(`NullInjectorError: No provider for ${N(t)}!`);throw e.name="NullInjectorError",e}return e}}function nt(t,e,n,a){const r=t.ngTempTokenPath;throw e.__source&&r.unshift(e.__source),t.message=at("\n"+t.message,r,n,a),t.ngTokenPath=r,t.ngTempTokenPath=null,t}function at(t,e,n,a=null){t=t&&"\n"===t.charAt(0)&&"ɵ"==t.charAt(1)?t.substr(2):t;let r=N(e);if(e instanceof Array)r=e.map(N).join(" -> ");else if("object"==typeof e){let t=[];for(let n in e)if(e.hasOwnProperty(n)){let a=e[n];t.push(n+":"+("string"==typeof a?JSON.stringify(a):N(a)))}r=`{${t.join(", ")}}`}return`${n}${a?"("+a+")":""}[${r}]: ${t.replace(Y,"\n  ")}`}const rt={"ɵɵdefineInjectable":M,"ɵɵdefineInjector":w,"ɵɵinject":J,"ɵɵgetFactoryOf":function(t){const e=t,n=T(e)||S(e);return n&&void 0!==n.factory?n.factory:null}};class ot{}class it{}function st(t,e){for(let n=0;n<t.length;n++)e.push(t[n])}function ct(t,e){void 0===e&&(e=t);for(let n=0;n<t.length;n++){let a=t[n];Array.isArray(a)?(e===t&&(e=t.slice(0,n)),ct(a,e)):e!==t&&e.push(a)}return e}function lt(t,e){t.forEach(t=>Array.isArray(t)?lt(t,e):e(t))}function dt(t,e,n){e>=t.length?t.push(n):t.splice(e,0,n)}function ut(t,e){return e>=t.length-1?t.pop():t.splice(e,1)[0]}function gt(t){throw new Error(`ASSERTION ERROR: ${t}`)}const ft=function(){var t={OnPush:0,Default:1};return t[t.OnPush]="OnPush",t[t.Default]="Default",t}(),pt=function(){var t={CheckOnce:0,Checked:1,CheckAlways:2,Detached:3,Errored:4,Destroyed:5};return t[t.CheckOnce]="CheckOnce",t[t.Checked]="Checked",t[t.CheckAlways]="CheckAlways",t[t.Detached]="Detached",t[t.Errored]="Errored",t[t.Destroyed]="Destroyed",t}();function mt(t){return null==t||t===ft.Default}const ht=function(){var t={Emulated:0,Native:1,None:2,ShadowDom:3};return t[t.Emulated]="Emulated",t[t.Native]="Native",t[t.None]="None",t[t.ShadowDom]="ShadowDom",t}();function bt(t){return""+{toString:t}}const yt={},_t=[],Ot=C({ngComponentDef:C}),vt=C({ngDirectiveDef:C}),Ct=C({ngPipeDef:C}),Pt=C({ngModuleDef:C}),Mt=C({ngLocaleIdDef:C}),xt=C({ngBaseDef:C}),wt=C({__NG_ELEMENT_ID__:C});let Tt=0;function St(t){const e=t.type,n=e.prototype,a={},r={type:e,providersResolver:null,consts:t.consts,vars:t.vars,factory:t.factory,template:t.template||null,ngContentSelectors:t.ngContentSelectors,hostBindings:t.hostBindings||null,contentQueries:t.contentQueries||null,declaredInputs:a,inputs:null,outputs:null,exportAs:t.exportAs||null,onChanges:null,onInit:n.ngOnInit||null,doCheck:n.ngDoCheck||null,afterContentInit:n.ngAfterContentInit||null,afterContentChecked:n.ngAfterContentChecked||null,afterViewInit:n.ngAfterViewInit||null,afterViewChecked:n.ngAfterViewChecked||null,onDestroy:n.ngOnDestroy||null,onPush:t.changeDetection===ft.OnPush,directiveDefs:null,pipeDefs:null,selectors:t.selectors,viewQuery:t.viewQuery||null,features:t.features||null,data:t.data||{},encapsulation:t.encapsulation||ht.Emulated,id:"c",styles:t.styles||_t,_:null,setInput:null,schemas:t.schemas||null,tView:null};return r._=bt(()=>{const n=t.directives,o=t.features,i=t.pipes;r.id+=Tt++,r.inputs=Et(t.inputs,a),r.outputs=Et(t.outputs),o&&o.forEach(t=>t(r)),r.directiveDefs=n?()=>("function"==typeof n?n():n).map(It):null,r.pipeDefs=i?()=>("function"==typeof i?i():i).map(Nt):null,e.hasOwnProperty(k)||(e[k]=M({token:e,factory:t.factory}))}),r}function kt(t,e,n){const a=t.ngComponentDef;a.directiveDefs=()=>e.map(It),a.pipeDefs=()=>n.map(Nt)}function It(t){return jt(t)||Ft(t)}function Nt(t){return zt(t)}function Rt(t){return{type:t.type,bootstrap:t.bootstrap||_t,declarations:t.declarations||_t,imports:t.imports||_t,exports:t.exports||_t,transitiveCompileScopes:null,schemas:t.schemas||null,id:t.id||null}}function At(t,e){return bt(()=>{const n=Bt(t,!0);n.declarations=e.declarations||_t,n.imports=e.imports||_t,n.exports=e.exports||_t})}function Et(t,e){if(null==t)return yt;const n={};for(const a in t)if(t.hasOwnProperty(a)){let r=t[a],o=r;Array.isArray(r)&&(o=r[1],r=r[0]),n[r]=a,e&&(e[r]=o)}return n}function Dt(t){const e={};return{inputs:Et(t.inputs,e),declaredInputs:e,outputs:Et(t.outputs),viewQuery:t.viewQuery||null,contentQueries:t.contentQueries||null,hostBindings:t.hostBindings||null}}const Lt=St;function qt(t){return{name:t.name,factory:t.factory,pure:!1!==t.pure,onDestroy:t.type.prototype.ngOnDestroy||null}}function jt(t){return t[Ot]||null}function Ft(t){return t[vt]||null}function zt(t){return t[Ct]||null}function Gt(t){return t[xt]||null}function Bt(t,e){const n=t[Pt]||null;if(!n&&!0===e)throw new Error(`Type ${N(t)} does not have 'ngModuleDef' property.`);return n}function Vt(t){return Array.isArray(t)&&"object"==typeof t[1]}function Yt(t){return Array.isArray(t)&&!0===t[1]}function Ht(t){return 0!=(4&t.flags)}function Ut(t){return 1==(1&t.flags)}function Wt(t){return null!==t.template}function Kt(t){return 0!=(512&t[2])}class $t{constructor(t,e,n){this.factory=t,this.resolving=!1,this.canSeeViewProviders=e,this.injectImpl=n}}function Zt(t,e,n,a,r,o){const{onChanges:i,onInit:s,doCheck:c}=e;r>=0&&(!n.preOrderHooks||r===n.preOrderHooks.length)&&(i||s||c)&&(n.preOrderHooks||(n.preOrderHooks=[])).push(a),o>=0&&(!n.preOrderCheckHooks||o===n.preOrderCheckHooks.length)&&(i||c)&&(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(a),i&&((n.preOrderHooks||(n.preOrderHooks=[])).push(t,i),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(t,i)),s&&(n.preOrderHooks||(n.preOrderHooks=[])).push(-t,s),c&&((n.preOrderHooks||(n.preOrderHooks=[])).push(t,c),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(t,c))}function Jt(t,e){if(t.firstTemplatePass)for(let n=e.directiveStart,a=e.directiveEnd;n<a;n++){const e=t.data[n];e.afterContentInit&&(t.contentHooks||(t.contentHooks=[])).push(-n,e.afterContentInit),e.afterContentChecked&&((t.contentHooks||(t.contentHooks=[])).push(n,e.afterContentChecked),(t.contentCheckHooks||(t.contentCheckHooks=[])).push(n,e.afterContentChecked)),e.afterViewInit&&(t.viewHooks||(t.viewHooks=[])).push(-n,e.afterViewInit),e.afterViewChecked&&((t.viewHooks||(t.viewHooks=[])).push(n,e.afterViewChecked),(t.viewCheckHooks||(t.viewCheckHooks=[])).push(n,e.afterViewChecked)),null!=e.onDestroy&&(t.destroyHooks||(t.destroyHooks=[])).push(n,e.onDestroy)}}function Xt(t,e,n,a){n||Qt(t,e.preOrderHooks,e.preOrderCheckHooks,n,0,void 0!==a?a:null)}function Qt(t,e,n,a,r,o){if(a)return;const i=(3&t[2])===r?e:n;i&&function(t,e,n,a){const r=null!=a?a:-1;let o=0;for(let i=void 0!==a?65535&t[18]:0;i<e.length;i++)if("number"==typeof e[i+1]){if(o=e[i],null!=a&&o>=a)break}else e[i]<0&&(t[18]+=65536),(o<r||-1==r)&&(te(t,n,e,i),t[18]=(4294901760&t[18])+i+2),i++}(t,i,r,o),null==o&&(3&t[2])===r&&3!==r&&(t[2]&=1023,t[2]+=1)}function te(t,e,n,a){const r=n[a]<0,o=n[a+1],i=t[r?-n[a]:n[a]];r?t[2]>>10<t[18]>>16&&(3&t[2])===e&&(t[2]+=1024,o.call(i)):o.call(i)}let ee=null;const ne=new Map;let ae,re=null;function oe(t,e){return re&&t===re||(re=t,e&&(ee=ne.get(t)||null),ee=ee||{classesBitMask:0,classesIndex:1,stylesBitMask:0,stylesIndex:1}),ee}function ie(){ee=null,re=null}function se(t){for(;Array.isArray(t);)t=t[0];return t}function ce(t,e){return se(e[t+19])}function le(t,e){return se(e[t.index])}function de(t,e){const n=t.index;return-1==n?null:se(e[n])}function ue(t,e){return e[1].data[t+19]}function ge(t,e){return t[e+19]}function fe(t,e){const n=e[t];return Vt(n)?n:n[0]}function pe(t){return t.__ngContext__}function me(t){const e=pe(t);return e?Array.isArray(e)?e:e.lView:null}function he(t){t[18]=0}let be,ye=null;function _e(t){ye=t}function Oe(){return be}function ve(){be=!0}function Ce(){be=!1}function Pe(){return we}let Me,xe,we,Te=1,Se=0,ke=0;function Ie(t=null){Qe!==t&&(en(null==t?-1:t),Te=null==t?0:1,Se=0,ke=0)}function Ne(){Te+=1+ke,Se=0,ke=0}function Re(t){Se+=t,ke=Math.max(ke,Se)}function Ae(t){ze=t}function Ee(){return Me}function De(t,e){Me=t,xe=e}function Le(t,e){Me=t,we=e}function qe(){return xe}function je(){xe=!1}function Fe(t=we){return 4==(4&t[2])}let ze=null,Ge=!1;function Be(){return Ge}function Ve(t){Ge=t}let Ye=-1;function He(){return Ye}function Ue(t){Ye=t}let We=0;function Ke(){return We}function $e(t){We=t}function Ze(t,e){const n=we;return t&&(Ye=t[1].bindingStartIndex),Me=e,xe=!0,we=ze=t,n}function Je(t=1){return ze=function(t,e){for(;t>0;)e=e[16],t--;return e}(t,ze),ze[9]}function Xe(t,e){const n=we[1];if(Fe(we))we[2]&=-5;else try{he(we),e&&Qt(we,n.viewHooks,n.viewCheckHooks,Ge,2,void 0)}finally{we[2]&=-73,we[7]=n.bindingStartIndex}Ze(t,null)}let Qe=-1;function tn(){return Qe}function en(t){Qe=t,ie()}let nn,an=null;function rn(){an="http://www.w3.org/2000/svg"}function on(){an="http://www.w3.org/1998/MathML/"}function sn(){cn()}function cn(){an=null}function ln(t){nn=t}function dn(){return nn}function un(t,e){return!(t!=t&&e!=e)&&t!==e}function gn(t){return"string"==typeof t?t:null==t?"":""+t}function fn(t){return"function"==typeof t?t.name||t.toString():"object"==typeof t&&null!=t&&"function"==typeof t.type?t.type.name||t.type.toString():gn(t)}const pn=(()=>("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(F))();function mn(t){return{name:"window",target:t.ownerDocument.defaultView}}function hn(t){return{name:"document",target:t.ownerDocument}}function bn(t){return{name:"body",target:t.ownerDocument.body}}function yn(t){return t.indexOf("�")>=0}function _n(t){return t instanceof Function?t():t}function On(t,e){0===e?t[2]>0&&function(t){Cn(t,2|vn(t))}(t):t[2]=e}function vn(t){return t[1]}function Cn(t,e){t[1]=e}function Pn(t,e){return t[e+2]}function Mn(t,e){return 1&t[e+0]}function xn(t,e){return(1&Mn(t,e))>0}function wn(t,e){return t[e+0]>>1}function Tn(t,e,n){const a=Mn(t,e);t[e+0]=a|n<<1}function Sn(t,e){return t[e+1]}function kn(t,e,n){return t[e+3+n]}function In(t,e){return!(!t||e!==t[2])}function Nn(t){return(1&vn(t))>0}function Rn(t){return(2&vn(t))>0}function An(t){return 6+t[4]}function En(t,e){let n=Array.isArray(t)?t[0]:t,a=Array.isArray(e)?e[0]:e;return n instanceof String&&(n=n.toString()),a instanceof String&&(a=a.toString()),un(n,a)}function Dn(t){return null!=t&&""!==t}function Ln(t,e,n=" "){return t+(e.length&&t.length?n:"")+e}function qn(t){return t.replace(/[a-z][A-Z]/g,t=>t.charAt(0)+"-"+t.charAt(1)).toLowerCase()}function jn(t){return Fn(t)?t[0]:t}function Fn(t){return Array.isArray(t)&&t.length>=6&&"string"!=typeof t[1]}function zn(t){const e=jn(t);return e&&e[0]||""}function Gn(t){return 0!=(8&t.flags)}function Bn(t){return 0!=(16&t.flags)}function Vn(t,e){return t[e+0]}function Yn(t,e,n){t[e+1]=n}function Hn(t,e){return t[e+1]}const Un=function(){var t={Important:1,DashCase:2};return t[t.Important]="Important",t[t.DashCase]="DashCase",t}();function Wn(t){return!!t.listen}const Kn={createRenderer:(t,e)=>document};function $n(t,e){const n=Pe()[12],a=Wn(n);let r=0;for(;r<e.length;){const o=e[r];if("number"==typeof o){if(0!==o)break;r++;const i=e[r++],s=e[r++],c=e[r++];a?n.setAttribute(t,s,c,i):t.setAttributeNS(i,s,c)}else{const i=o,s=e[++r];Jn(i)?a&&n.setProperty(t,i,s):a?n.setAttribute(t,i,s):t.setAttribute(i,s),r++}}return r}function Zn(t){return 3===t||4===t||6===t}function Jn(t){return"@"===t[0]}function Xn(t){return-1!==t}function Qn(t){return 32767&t}function ta(t){return t>>16}function ea(t,e){let n=ta(t),a=e;for(;n>0;)a=a[16],n--;return a}function na(t){const e=t[3];return Yt(e)?e[3]:e}function aa(t){let e=t[6];for(;null!==e&&2===e.type;)e=(t=t[16])[6];return t}function ra(t){return function(t){let e=Vt(t)?t:me(t);for(;e&&!(512&e[2]);)e=na(e);return e}(t)[9]}let oa=!0;function ia(t){const e=oa;return oa=t,e}let sa=0;function ca(t,e){const n=da(t,e);if(-1!==n)return n;const a=e[1];a.firstTemplatePass&&(t.injectorIndex=e.length,la(a.data,t),la(e,null),la(a.blueprint,null));const r=ua(t,e),o=Qn(r),i=ea(r,e),s=t.injectorIndex;if(Xn(r)){const t=i[1].data;for(let n=0;n<8;n++)e[s+n]=i[o+n]|t[o+n]}return e[s+8]=r,s}function la(t,e){t.push(0,0,0,0,0,0,0,0,e)}function da(t,e){return-1===t.injectorIndex||t.parent&&t.parent.injectorIndex===t.injectorIndex||null==e[t.injectorIndex+8]?-1:t.injectorIndex}function ua(t,e){if(t.parent&&-1!==t.parent.injectorIndex)return t.parent.injectorIndex;let n=e[6],a=1;for(;n&&-1===n.injectorIndex;)n=(e=e[16])?e[6]:null,a++;return n?n.injectorIndex|a<<16:-1}function ga(t,e,n){!function(t,e,n){let a="string"!=typeof n?n[wt]:n.charCodeAt(0)||0;null==a&&(a=n[wt]=sa++);const r=255&a,o=1<<r,i=64&r,s=32&r,c=e.data;128&r?i?s?c[t+7]|=o:c[t+6]|=o:s?c[t+5]|=o:c[t+4]|=o:i?s?c[t+3]|=o:c[t+2]|=o:s?c[t+1]|=o:c[t]|=o}(t,e,n)}function fa(t,e){if("class"===e)return zn(t.classes);if("style"===e)return zn(t.styles);const n=t.attrs;if(n){const t=n.length;let a=0;for(;a<t;){const r=n[a];if(Zn(r))break;if(0===r)a+=2;else if("number"==typeof r)for(a++;a<t&&"string"==typeof n[a];)a++;else{if(r===e)return n[a+1];a+=2}}}return null}function pa(t,e,n,a=v.Default,r){if(t){const r=function(t){if("string"==typeof t)return t.charCodeAt(0)||0;const e=t[wt];return"number"==typeof e&&e>0?255&e:e}(n);if("function"==typeof r){const o=Ee(),i=Pe();Le(t,e);try{const t=r();if(null!=t||a&v.Optional)return t;throw new Error(`No provider for ${fn(n)}!`)}finally{Le(o,i)}}else if("number"==typeof r){if(-1===r)return new va(t,e);let o=null,i=da(t,e),s=-1,c=a&v.Host?aa(e)[6]:null;for((-1===i||a&v.SkipSelf)&&(s=-1===i?ua(t,e):e[i+8],Oa(a,!1)?(o=e[1],i=Qn(s),e=ea(s,e)):i=-1);-1!==i;){s=e[i+8];const t=e[1];if(_a(r,i,t.data)){const t=ha(i,e,n,o,a,c);if(t!==ma)return t}Oa(a,e[1].data[i+8]===c)&&_a(r,i,e)?(o=t,i=Qn(s),e=ea(s,e)):i=-1}}}if(a&v.Optional&&void 0===r&&(r=null),0==(a&(v.Self|v.Host))){const t=e[10],o=$(void 0);try{return t?t.get(n,r,a&v.Optional):Q(n,r,a&v.Optional)}finally{$(o)}}if(a&v.Optional)return r;throw new Error(`NodeInjector: NOT_FOUND [${fn(n)}]`)}const ma={};function ha(t,e,n,a,r,o){const i=e[1],s=i.data[t+8],c=ba(s,i,n,null==a?Ut(s)&&oa:a!=i&&3===s.type,r&v.Host&&o===s);return null!==c?ya(i.data,e,c,s):ma}function ba(t,e,n,a,r){const o=t.providerIndexes,i=e.data,s=65535&o,c=t.directiveStart,l=o>>16,d=r?s+l:t.directiveEnd;for(let u=a?s:s+l;u<d;u++){const t=i[u];if(u<c&&n===t||u>=c&&t.type===n)return u}if(r){const t=i[c];if(t&&Wt(t)&&t.type===n)return c}return null}function ya(t,e,n,a){let r=e[n];if(null!==(o=r)&&"object"==typeof o&&Object.getPrototypeOf(o)==$t.prototype){const o=r;if(o.resolving)throw new Error(`Circular dep for ${fn(t[n])}`);const i=ia(o.canSeeViewProviders);let s;o.resolving=!0,o.injectImpl&&(s=$(o.injectImpl));const c=Ee(),l=Pe();Le(a,e);try{r=e[n]=o.factory(void 0,t,e,a)}finally{o.injectImpl&&$(s),ia(i),o.resolving=!1,Le(c,l)}}var o;return r}function _a(t,e,n){const a=64&t,r=32&t;let o;return o=128&t?a?r?n[e+7]:n[e+6]:r?n[e+5]:n[e+4]:a?r?n[e+3]:n[e+2]:r?n[e+1]:n[e],!!(o&1<<t)}function Oa(t,e){return!(t&v.Self||t&v.Host&&e)}class va{constructor(t,e){this._tNode=t,this._lView=e}get(t,e){return pa(this._tNode,this._lView,t,void 0,e)}}function Ca(t){const e=t,n=jt(e)||Ft(e)||zt(e)||T(e)||S(e);return n&&void 0!==n.factory?n.factory:null}function Pa(t){const e=Ca(Object.getPrototypeOf(t.prototype).constructor);return null!==e?e:t=>new t}function Ma(t){return t.ngDebugContext}function xa(t){return t.ngOriginalError}function wa(t,...e){t.error(...e)}class Ta{constructor(){this._console=console}handleError(t){const e=this._findOriginalError(t),n=this._findContext(t),a=function(t){return t.ngErrorLogger||wa}(t);a(this._console,"ERROR",t),e&&a(this._console,"ORIGINAL ERROR",e),n&&a(this._console,"ERROR CONTEXT",n)}_findContext(t){return t?Ma(t)?Ma(t):this._findContext(xa(t)):null}_findOriginalError(t){let e=xa(t);for(;e&&xa(e);)e=xa(e);return e}}const Sa={name:"custom-elements"},ka={name:"no-errors-schema"},Ia="__SANITIZER_TRUSTED_BRAND__";function Na(t,e){return t instanceof String&&t[Ia]===e}function Ra(t){return qa(t,"Html")}function Aa(t){return qa(t,"Style")}function Ea(t){return qa(t,"Script")}function Da(t){return qa(t,"Url")}function La(t){return qa(t,"ResourceUrl")}function qa(t,e){const n=new String(t);return n[Ia]=e,n}let ja=!0,Fa=!1;function za(){return Fa=!0,ja}function Ga(){if(Fa)throw new Error("Cannot enable prod mode after platform setup.");ja=!1}class Ba{constructor(t){if(this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),this.inertBodyElement=this.inertDocument.body,null==this.inertBodyElement){const t=this.inertDocument.createElement("html");this.inertDocument.appendChild(t),this.inertBodyElement=this.inertDocument.createElement("body"),t.appendChild(this.inertBodyElement)}this.inertBodyElement.innerHTML='<svg><g onload="this.parentNode.remove()"></g></svg>',!this.inertBodyElement.querySelector||this.inertBodyElement.querySelector("svg")?(this.inertBodyElement.innerHTML='<svg><p><style><img src="</style><img src=x onerror=alert(1)//">',this.getInertBodyElement=this.inertBodyElement.querySelector&&this.inertBodyElement.querySelector("svg img")&&function(){try{return!!window.DOMParser}catch(t){return!1}}()?this.getInertBodyElement_DOMParser:this.getInertBodyElement_InertDocument):this.getInertBodyElement=this.getInertBodyElement_XHR}getInertBodyElement_XHR(t){t="<body><remove></remove>"+t+"</body>";try{t=encodeURI(t)}catch(a){return null}const e=new XMLHttpRequest;e.responseType="document",e.open("GET","data:text/html;charset=utf-8,"+t,!1),e.send(void 0);const n=e.response.body;return n.removeChild(n.firstChild),n}getInertBodyElement_DOMParser(t){t="<body><remove></remove>"+t+"</body>";try{const e=(new window.DOMParser).parseFromString(t,"text/html").body;return e.removeChild(e.firstChild),e}catch(e){return null}}getInertBodyElement_InertDocument(t){const e=this.inertDocument.createElement("template");return"content"in e?(e.innerHTML=t,e):(this.inertBodyElement.innerHTML=t,this.defaultDoc.documentMode&&this.stripCustomNsAttrs(this.inertBodyElement),this.inertBodyElement)}stripCustomNsAttrs(t){const e=t.attributes;for(let a=e.length-1;0<a;a--){const n=e.item(a).name;"xmlns:ns1"!==n&&0!==n.indexOf("ns1:")||t.removeAttribute(n)}let n=t.firstChild;for(;n;)n.nodeType===Node.ELEMENT_NODE&&this.stripCustomNsAttrs(n),n=n.nextSibling}}const Va=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi,Ya=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+\/]+=*$/i;function Ha(t){return(t=String(t)).match(Va)||t.match(Ya)?t:(za()&&console.warn(`WARNING: sanitizing unsafe URL value ${t} (see http://g.co/ng/security#xss)`),"unsafe:"+t)}function Ua(t){return(t=String(t)).split(",").map(t=>Ha(t.trim())).join(", ")}function Wa(t){const e={};for(const n of t.split(","))e[n]=!0;return e}function Ka(...t){const e={};for(const n of t)for(const t in n)n.hasOwnProperty(t)&&(e[t]=!0);return e}const $a=Wa("area,br,col,hr,img,wbr"),Za=Wa("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),Ja=Wa("rp,rt"),Xa=Ka(Ja,Za),Qa=Ka($a,Ka(Za,Wa("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),Ka(Ja,Wa("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),Xa),tr=Wa("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),er=Wa("srcset"),nr=Ka(tr,er,Wa("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),Wa("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),ar=Wa("script,style,template");class rr{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(t){let e=t.firstChild,n=!0;for(;e;)if(e.nodeType===Node.ELEMENT_NODE?n=this.startElement(e):e.nodeType===Node.TEXT_NODE?this.chars(e.nodeValue):this.sanitizedSomething=!0,n&&e.firstChild)e=e.firstChild;else for(;e;){e.nodeType===Node.ELEMENT_NODE&&this.endElement(e);let t=this.checkClobberedElement(e,e.nextSibling);if(t){e=t;break}e=this.checkClobberedElement(e,e.parentNode)}return this.buf.join("")}startElement(t){const e=t.nodeName.toLowerCase();if(!Qa.hasOwnProperty(e))return this.sanitizedSomething=!0,!ar.hasOwnProperty(e);this.buf.push("<"),this.buf.push(e);const n=t.attributes;for(let a=0;a<n.length;a++){const t=n.item(a),e=t.name,r=e.toLowerCase();if(!nr.hasOwnProperty(r)){this.sanitizedSomething=!0;continue}let o=t.value;tr[r]&&(o=Ha(o)),er[r]&&(o=Ua(o)),this.buf.push(" ",e,'="',sr(o),'"')}return this.buf.push(">"),!0}endElement(t){const e=t.nodeName.toLowerCase();Qa.hasOwnProperty(e)&&!$a.hasOwnProperty(e)&&(this.buf.push("</"),this.buf.push(e),this.buf.push(">"))}chars(t){this.buf.push(sr(t))}checkClobberedElement(t,e){if(e&&(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`);return e}}const or=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,ir=/([^\#-~ |!])/g;function sr(t){return t.replace(/&/g,"&amp;").replace(or,(function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"})).replace(ir,(function(t){return"&#"+t.charCodeAt(0)+";"})).replace(/</g,"&lt;").replace(/>/g,"&gt;")}let cr;function lr(t,e){let n=null;try{cr=cr||new Ba(t);let a=e?String(e):"";n=cr.getInertBodyElement(a);let r=5,o=a;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,a=o,o=n.innerHTML,n=cr.getInertBodyElement(a)}while(a!==o);const i=new rr,s=i.sanitizeChildren(dr(n)||n);return za()&&i.sanitizedSomething&&console.warn("WARNING: sanitizing HTML stripped some content, see http://g.co/ng/security#xss"),s}finally{if(n){const t=dr(n)||n;for(;t.firstChild;)t.removeChild(t.firstChild)}}}function dr(t){return"content"in t&&function(t){return t.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===t.nodeName}(t)?t.content:null}const ur=function(){var t={NONE:0,HTML:1,STYLE:2,SCRIPT:3,URL:4,RESOURCE_URL:5};return t[t.NONE]="NONE",t[t.HTML]="HTML",t[t.STYLE]="STYLE",t[t.SCRIPT]="SCRIPT",t[t.URL]="URL",t[t.RESOURCE_URL]="RESOURCE_URL",t}();class gr{}const fr=new RegExp("^([-,.\"'%_!# a-zA-Z0-9]+|(?:(?:matrix|translate|scale|rotate|skew|perspective)(?:X|Y|Z|3d)?|(?:rgb|hsl)a?|(?:repeating-)?(?:linear|radial)-gradient|(?:calc|attr))\\([-0-9.%, #a-zA-Z]+\\))$","g"),pr=/^url\(([^)]+)\)$/;function mr(t){if(!(t=String(t).trim()))return"";const e=t.match(pr);return e&&Ha(e[1])===e[1]||t.match(fr)&&function(t){let e=!0,n=!0;for(let a=0;a<t.length;a++){const r=t.charAt(a);"'"===r&&n?e=!e:'"'===r&&e&&(n=!n)}return e&&n}(t)?t:(za()&&console.warn(`WARNING: sanitizing unsafe style value ${t} (see http://g.co/ng/security#xss).`),"unsafe")}function hr(t){const e=Mr();return e?e.sanitize(ur.HTML,t)||"":Na(t,"Html")?t.toString():lr(document,gn(t))}function br(t){const e=Mr();return e?e.sanitize(ur.STYLE,t)||"":Na(t,"Style")?t.toString():mr(gn(t))}function yr(t){const e=Mr();return e?e.sanitize(ur.URL,t)||"":Na(t,"Url")?t.toString():Ha(gn(t))}function _r(t){const e=Mr();if(e)return e.sanitize(ur.RESOURCE_URL,t)||"";if(Na(t,"ResourceUrl"))return t.toString();throw new Error("unsafe value used in a resource URL context (see http://g.co/ng/security#xss)")}function Or(t){const e=Mr();if(e)return e.sanitize(ur.SCRIPT,t)||"";if(Na(t,"Script"))return t.toString();throw new Error("unsafe value used in a script context")}function vr(t,e){return"src"===e&&("embed"===t||"frame"===t||"iframe"===t||"media"===t||"script"===t)||"href"===e&&("base"===t||"link"===t)?_r:yr}function Cr(t,e,n){return vr(e,n)(t)}const Pr=function(t,e,n){let a=!0;return 1&(n=n||3)&&(a="background-image"===t||"background"===t||"border-image"===t||"filter"===t||"list-style"===t||"list-style-image"===t||"clip-path"===t),2&n?a?br(e):e:a};function Mr(){const t=Pe();return t&&t[13]}const xr=/([A-Z])/g;function wr(t){try{return null!=t?t.toString().slice(0,30):t}catch(e){return"[ERROR] Exception while trying to serialize the value"}}function Tr(t){let e=pe(t);if(e){if(Array.isArray(e)){const a=e;let r,o=void 0,i=void 0;if((n=t)&&n.constructor&&n.constructor.ngComponentDef){if(r=Ar(a,t),-1==r)throw new Error("The provided component was not found in the application");o=t}else if(function(t){return t&&t.constructor&&t.constructor.ngDirectiveDef}(t)){if(r=function(t,e){let n=t[1].firstChild;for(;n;){const a=n.directiveEnd;for(let r=n.directiveStart;r<a;r++)if(t[r]===e)return n.index;n=Rr(n)}return-1}(a,t),-1==r)throw new Error("The provided directive was not found in the application");i=Er(r,a,!1)}else if(r=Nr(a,t),-1==r)return null;const s=se(a[r]),c=pe(s),l=c&&!Array.isArray(c)?c:Sr(a,r,s);if(o&&void 0===l.component&&(l.component=o,Ir(l.component,l)),i&&void 0===l.directives){l.directives=i;for(let t=0;t<i.length;t++)Ir(i[t],l)}Ir(l.native,l),e=l}}else{const n=t;let a=n;for(;a=a.parentNode;){const t=pe(a);if(t){let a;if(a=Array.isArray(t)?t:t.lView,!a)return null;const r=Nr(a,n);if(r>=0){const t=se(a[r]),n=Sr(a,r,t);Ir(t,n),e=n;break}}}}var n;return e||null}function Sr(t,e,n){return{lView:t,nodeIndex:e,native:n,component:void 0,directives:void 0,localRefs:void 0}}function kr(t){let e,n=pe(t);if(Array.isArray(n)){const a=Ar(n,t);e=fe(a,n);const r=Sr(n,a,e[0]);r.component=t,Ir(t,r),Ir(r.native,r)}else e=fe(n.nodeIndex,n.lView);return e}function Ir(t,e){t.__ngContext__=e}function Nr(t,e){let n=t[1].firstChild;for(;n;){if(de(n,t)===e)return n.index;n=Rr(n)}return-1}function Rr(t){if(t.child)return t.child;if(t.next)return t.next;for(;t.parent&&!t.parent.next;)t=t.parent;return t.parent&&t.parent.next}function Ar(t,e){const n=t[1].components;if(n)for(let a=0;a<n.length;a++){const r=n[a];if(fe(r,t)[9]===e)return r}else if(fe(19,t)[9]===e)return 19;return-1}function Er(t,e,n){const a=e[1].data[t];let r=a.directiveStart;return 0==r?_t:(!n&&1&a.flags&&r++,e.slice(r,a.directiveEnd))}function Dr(t){throw new Error(`Multiple components match node with tagname ${t.tagName}`)}function Lr(){throw new Error("Cannot mix multi providers and regular providers")}function qr(t,e){const n=t.length,a=t.indexOf(e),r=a+e.length;return!(-1===a||a>0&&" "!==t[a-1]||r<n&&" "!==t[r])}function jr(t,e,n){return e===(0!==t.type||n?t.tagName:"ng-template")}function Fr(t,e,n){let a=4;const r=t.attrs||[],o=function(t){for(let e=0;e<t.length;e++)if(Zn(t[e]))return e;return t.length}(r);let i=!1;for(let s=0;s<e.length;s++){const c=e[s];if("number"!=typeof c){if(!i)if(4&a){if(a=2|1&a,""!==c&&!jr(t,c,n)||""===c&&1===e.length){if(zr(a))return!1;i=!0}}else{const l=8&a?c:e[++s];if(8&a&&t.classes){if(!qr(zn(t.classes),l)){if(zr(a))return!1;i=!0}continue}const d=Gr(8&a?"class":c,r,0==t.type&&"ng-template"!==t.tagName,n);if(-1===d){if(zr(a))return!1;i=!0;continue}if(""!==l){let t;t=d>o?"":r[d+1];const e=8&a?t:null;if(e&&!qr(e,l)||2&a&&l!==t){if(zr(a))return!1;i=!0}}}}else{if(!i&&!zr(a)&&!zr(c))return!1;if(i&&zr(c))continue;i=!1,a=c|1&a}}return zr(a)||i}function zr(t){return 0==(1&t)}function Gr(t,e,n,a){if(null===e)return-1;let r=0;if(a||!n){let n=!1;for(;r<e.length;){const a=e[r];if(a===t)return r;if(3===a||6===a)n=!0;else{if(1===a){let t=e[++r];for(;"string"==typeof t;)t=e[++r];continue}if(4===a)break;if(0===a){r+=4;continue}}r+=n?1:2}return-1}return function(t,e){let n=t.indexOf(4);if(n>-1)for(n++;n<t.length;){if(t[n]===e)return n;n++}return-1}(e,t)}function Br(t,e,n=!1){for(let a=0;a<e.length;a++)if(Fr(t,e[a],n))return!0;return!1}function Vr(t,e){t:for(let n=0;n<e.length;n++){const a=e[n];if(t.length===a.length){for(let e=0;e<t.length;e++)if(t[e]!==a[e])continue t;return!0}}return!1}let Yr=[];function Hr(t,e,n,a,r,o,i,s){const c=!a,l=oe(n,Rn(t)),d=c?0:l.classesIndex++;return!(!Wr(t,e,d,a,r,o,i,s,!1)&&!s||(l.classesBitMask|=1<<d,0))}function Ur(t,e,n,a,r,o,i,s,c){const l=!a,d=oe(n,Rn(t)),u=l?0:d.stylesIndex++;return!(!Wr(t,e,u,a,r,o,s,c,!!l||!!i&&i(a,null,1))&&!c||(d.stylesBitMask|=1<<u,0))}function Wr(t,e,n,a,r,o,i,s,c){Nn(t)||(i?function(t,e,n,a,r){Yr.unshift(t,e,n,a,r)}(t,n,a,r,c):(Yr.length&&Kr(),$r(t,n,a,r,c)));const l=s||En(e[r],o);return l&&(e[r]=o),l}function Kr(){let t=0;for(;t<Yr.length;)$r(Yr[t++],Yr[t++],Yr[t++],Yr[t++],Yr[t++]);Yr.length=0}function $r(t,e,n,a,r){let o=!1;if(n){let i=!1,s=An(t);for(;s<t.length;){const o=Sn(t,s),c=Pn(t,s);if(i=n<=c,i){n<c&&Zr(t,s,n,r),Jr(t,!1,s,a,e);break}s+=3+o}i||(Zr(t,t.length,n,r),Jr(t,!1,s,a,e),o=!0)}else Jr(t,!0,3,a,e),o=!0;return o}function Zr(t,e,n,a){t.splice(e,0,a?1:0,1,n,null),Tn(t,e,1)}function Jr(t,e,n,a,r){const o=n+3;let i=o+Sn(t,n);if(e||i--,"number"==typeof a){for(let e=o;e<=i;e++)if(t[e]===a)return;t.splice(i,0,a),t[n+1]++,Tn(t,n,wn(t,n)|1<<r)}else null!==a&&null==t[i]&&(t[i]=a)}function Xr(t,e,n,a,r,o,i,s){return r&&a&&(function(t){if(!Nn(t)){const e=jn(t);e&&function(t,e){for(let n=1;n<e.length;n+=2){const a=Hn(e,n);a&&$r(t,-1,Vn(e,n),a,!1)}}(t,e),function(t){Cn(t,1|vn(t))}(t)}}(a),function(t,e){return t&&e>0}(a,o))?(Qr(a,t,e,n,o,i,s),!0):r}function Qr(t,e,n,a,r,o,i){const s=!0===(c=r)?-1:!1===c?0:c;var c;const l=to,d=(s&wn(t,3))>0?1:0;let u=An(t);for(;u<t.length;){const r=Sn(t,u);if(s&wn(t,u)){let s=!1;const c=Pn(t,u),g=r-1,f=kn(t,u,g);for(let r=0;r<g;r++){const l=kn(t,u,r),d=a[l];if(Dn(d)){o(e,n,c,i&&xn(t,u)?i(c,d,2):d,l),s=!0;break}}if(l){const r=l(t,e,n,a,o,i,d|(s?4:2),c,f);s=s||r}s||o(e,n,c,f)}u+=3+r}l&&l(t,e,n,a,o,i,d)}let to=null;const eo=(t,e,n,a)=>{const r=e.style;a?(a=a.toString(),t&&Wn(t)?t.setStyle(e,n,a,Un.DashCase):r&&r.setProperty(n,a)):t&&Wn(t)?t.removeStyle(e,n,Un.DashCase):r&&r.removeProperty(n)},no=(t,e,n,a)=>{if(""!==n){const r=e.classList;a?t&&Wn(t)?t.addClass(e,n):r&&r.add(n):t&&Wn(t)?t.removeClass(e,n):r&&r.remove(n)}};function ao(t,e,n,a){const r=jn(n);if(r)for(let o=1;o<r.length;o+=2){const n=Vn(r,o),i=Hn(r,o);a?no(t,e,n,i):eo(t,e,n,i)}}const ro={},oo={marker:"element"},io={marker:"comment"},so=(t,e,n,a,r,o,i,s,c)=>{let l=!1;if(Sn(t,3)){let d=!0;const u=!s;u&&-2&i&&(d=!1,l=!0),d&&(l=function t(e,n,a,r,o,i,s,c,l,d){let u=!1;if(l<Sn(e,3)){const g=kn(e,3,l),f=r[g];let p=function(t){return t>=go.length&&go.push(1),go[t]}(l);for(;p<f.length;){const m=Vn(f,p),h=c&&m>c,b=!h&&m===c,y=Hn(f,p),_=Dn(y);let O=t(e,n,a,r,o,i,h?s:lo(s,_,b),h?c:m,l+1,d);if(h){u||(u=O);break}if(!O&&uo(s,b)){const t=b&&!_,e=t?d:y,r=t?g:null;o(n,a,m,i?i(m,e,3):e,r),O=!0}u=O&&b,p+=2}if(go[l]=p,1===f.length||!c)return t(e,n,a,r,o,i,s,c,l+1,d)}return u}(t,e,n,a,r,o,i,s||null,0,c||null)),u&&function(){for(let t=0;t<go.length;t++)go[t]=1}()}return l};function co(){to=so}function lo(t,e,n){let a=t;return e||4&t||!(n||1&t)?(a|=4,a&=-3):(a|=2,a&=-5),a}function uo(t,e){let n=(1&t)>0;return n?4&t&&e&&(n=!1):2&t&&(n=e),n}const go=[];function fo(t,e,n,a){for(let r=1;r<t.length;r+=2){const o=Vn(t,r);if(e<=o){let i=!1;if(o===e){const e=t[r];!a&&Dn(e)||(i=!0,Yn(t,r,n))}else i=!0,t.splice(r,0,e,n);return i}}return t.push(e,n),!0}function po(t,e){let n="";for(let a=1;a<t.length;a+=2){const r=Vn(t,a),o=Hn(t,a),i=Ln(r,e?"":o,":");n=Ln(n,i,e?" ":"; ")}return n}function mo(t){let e={};if(t)for(let n=1;n<t.length;n+=2){const a=Vn(t,n),r=Hn(t,n);e[a]=r}return e}class ho{constructor(t,e,n){this.context=t,this._data=e,this._isClassBased=n,this._sanitizer=null}overrideSanitizer(t){this._sanitizer=t}get summary(){const t={};return this._mapValues((e,n,a)=>{t[e]={prop:e,value:n,bindingIndex:a}}),t}get values(){const t={};return this._mapValues((e,n)=>{t[e]=n}),t}_mapValues(t){Sn(this.context,3)>0&&co();const e=this._isClassBased?null:this._sanitizer||dn();Qr(this.context,null,{},this._data,!0,(e,n,a,r,o)=>{t(a,r,o||null)},e)}}function bo(t){yo(Pe(),t)}function yo(t,e){Xt(t,t[1],Be(),e),en(e)}const _o=(()=>Promise.resolve(null))();function Oo(t){const e=t[1],n=Fe(t);if(e.firstTemplatePass=!1,t[7]=e.bindingStartIndex,!n){const n=Be();Xt(t,e,n,void 0),function(t){for(let e=t[14];null!==e;e=e[4])if(-1===e[2]&&Yt(e))for(let t=9;t<e.length;t++){const n=e[t];wo(n,n[1],n[9])}}(t),vo(e,t),he(t),Qt(t,e.contentHooks,e.contentCheckHooks,n,1,void 0),function(t,e){const n=tn();try{if(t.expandoInstructions){let n=e[7]=t.expandoStartIndex;Ue(n);let a=-1,r=-1;for(let o=0;o<t.expandoInstructions.length;o++){const i=t.expandoInstructions[o];"number"==typeof i?(i<=0?(r=-i,Ie(r),n+=9+t.expandoInstructions[++o],a=n):n+=i,Ue(n)):(null!==i&&(e[7]=n,i(2,se(e[a]),r),Ne()),a++)}}}finally{Ie(n)}}(e,t)}n&&e.staticContentQueries&&vo(e,t),n&&!e.staticViewQueries||ri(2,e,t[9]),function(t,e){if(null!=e)for(let n=0;n<e.length;n++)Jo(t,e[n])}(t,e.components)}function vo(t,e){const n=t.contentQueries;if(null!==n)for(let a=0;a<n.length;a+=2){const r=n[a],o=n[a+1];if(-1!==o){const n=t.data[o];$e(r),n.contentQueries(2,e[o],o)}}}function Co(t,e){let n;const a=e||Pe()[12],r=an;return n=Wn(a)?a.createElement(t,r):null===r?a.createElement(t):a.createElementNS(r,t),n}function Po(t,e,n,a,r,o,i,s,c,l){const d=e.blueprint.slice();return d[0]=r,d[2]=140|a,he(d),d[3]=d[16]=t,d[9]=n,d[11]=i||t&&t[11],d[12]=s||t&&t[12],d[13]=c||t&&t[13]||null,d[10]=l||t&&t[10]||null,d[6]=o,d}function Mo(t,e,n,a,r,o){const i=n+19,s=t.data[i]||function(t,e,n,a,r,o,i){const s=Ee(),c=qe(),l=c?s:s&&s.parent,d=t.data[n]=Do(0,l&&l!==e?l:null,a,n,r,o);return 0!==i&&t.firstChild||(t.firstChild=d),s&&(!c||null!=s.child||null===d.parent&&2!==s.type?c||(s.next=d):s.child=d),d}(t,e,i,a,r,o,n);return De(s,!0),s}function xo(t,e,n,a){let r=t.node;return null==r&&(t.node=r=Do(0,e,2,n,null,null)),a[6]=r}function wo(t,e,n){const a=qe(),r=Ee();let o;if(512&t[2])ti(ra(t));else{let i=!1;try{De(null,!0),o=Ze(t,t[6]),he(t),So(t,e.template,ko(t),n),e.firstTemplatePass=!1,Oo(t),i=!0}finally{Xe(o,i),De(r,a)}}}function To(t,e,n){const a=t[11],r=Ze(t,t[6]),o=!Be(),i=Fe(t);let s=!1;try{o&&!i&&a.begin&&a.begin(),i&&(n&&So(t,n,1,e),Oo(t),t[2]&=-5),he(t),n&&So(t,n,2,e),Oo(t),s=!0}finally{o&&!i&&a.end&&a.end(),Xe(r,s)}}function So(t,e,n,a){cn();const r=tn();try{Ie(null),2&n&&yo(t,0),e(n,a)}finally{en(r)}}function ko(t){return Fe(t)?1:2}function Io(t,e,n){if(Ht(e)){const a=e.directiveEnd;for(let r=e.directiveStart;r<a;r++){const e=t.data[r];e.contentQueries&&e.contentQueries(1,n[r],r)}}}function No(t,e,n,a=le){Oe()&&(function(t,e,n){const a=n.directiveStart,r=n.directiveEnd;!t.firstTemplatePass&&a<r&&ca(n,e);for(let o=a;o<r;o++){const a=t.data[o];Wt(a)&&Ko(e,n,a),Bo(e,ya(t.data,e,o,n),a,o)}}(t,e,n),function(t,e,n){const a=n.directiveStart,r=n.directiveEnd,o=t.expandoInstructions,i=t.firstTemplatePass,s=n.index-19,c=tn();try{Ie(s);for(let s=a;s<r;s++){const a=t.data[s],r=e[s];a.hostBindings?(zo(a,o,r,n,i),Ne()):i&&o.push(null)}}finally{Ie(c)}}(t,e,n),function(t,e,n){const a=e.localNames;if(a){let r=e.index+1;for(let o=0;o<a.length;o+=2){const i=a[o+1],s=-1===i?n(e,t):t[i];t[r++]=s}}}(e,n,a),Ie(null))}function Ro(t){return t.tView||(t.tView=Ao(-1,t.template,t.consts,t.vars,t.directiveDefs,t.pipeDefs,t.viewQuery,t.schemas))}function Ao(t,e,n,a,r,o,i,s){const c=19+n,l=c+a,d=function(t,e){const n=new Array(e).fill(null,0,t).fill(ro,t);return n[7]=t,n}(c,l);return d[1]={id:t,blueprint:d,template:e,queries:null,viewQuery:i,node:null,data:d.slice().fill(null,c),bindingStartIndex:c,expandoStartIndex:l,expandoInstructions:null,firstTemplatePass:!0,staticViewQueries:!1,staticContentQueries:!1,preOrderHooks:null,preOrderCheckHooks:null,contentHooks:null,contentCheckHooks:null,viewHooks:null,viewCheckHooks:null,destroyHooks:null,cleanup:null,contentQueries:null,components:null,directiveRegistry:"function"==typeof r?r():r,pipeRegistry:"function"==typeof o?o():o,firstChild:null,schemas:s}}function Eo(t,e){const n=t.createRenderer(null,null);return"string"==typeof e?Wn(n)?n.selectRootElement(e):n.querySelector(e):e}function Do(t,e,n,a,r,o){return{type:n,index:a,injectorIndex:e?e.injectorIndex:-1,directiveStart:-1,directiveEnd:-1,propertyMetadataStartIndex:-1,propertyMetadataEndIndex:-1,flags:0,providerIndexes:0,tagName:r,attrs:o,localNames:null,initialInputs:void 0,inputs:void 0,outputs:void 0,tViews:null,next:null,projectionNext:null,child:null,parent:e,projection:null,styles:null,classes:null}}function Lo(t,e){const n=Pe()[1];let a=null;const r=t.directiveStart,o=t.directiveEnd;if(o>r){const t=0===e,i=n.data;for(let e=r;e<o;e++){const n=i[e],r=t?n.inputs:n.outputs;for(let t in r)if(r.hasOwnProperty(t)){a=a||{};const n=r[t];a.hasOwnProperty(t)?a[t].push(e,t,n):a[t]=[e,t,n]}}}return a}const qo={class:"className",for:"htmlFor",formaction:"formAction",innerHtml:"innerHTML",readonly:"readOnly",tabindex:"tabIndex"};function jo(t,e,n,a,r,o){const i=Pe(),s=ce(t,i),c=ue(t,i);let l,d;if(!r&&(l=si(c))&&(d=l[e]))gi(i,d,n),Ut(c)&&function(t,e){const n=fe(e,t);16&n[2]||(n[2]|=64)}(i,t+19);else if(3===c.type){!function(t,e,n,a,r){const o=e[7]-1,i=a[o];"�"==i[0]&&(a[o]=n+i,r||(-1==t.propertyMetadataStartIndex&&(t.propertyMetadataStartIndex=o),t.propertyMetadataEndIndex=o+1))}(c,i,e=qo[e]||e,i[1].data,r);const t=o?o(c,i):i[12];n=null!=a?a(n,c.tagName||"",e):n,Wn(t)?t.setProperty(s,e,n):Jn(e)||(s.setProperty?s.setProperty(e,n):s[e]=n)}}function Fo(t,e,n,a){if(!Oe())return;const r=function(t,e,n){const a=t.directiveRegistry;let r=null;if(a)for(let o=0;o<a.length;o++){const i=a[o];Br(n,i.selectors,!1)&&(r||(r=[]),ga(ca(n,e),t,i.type),Wt(i)?(1&n.flags&&Dr(n),n.flags=1,r.unshift(i)):r.push(i))}return r}(t,e,n),o=a?{"":-1}:null;if(r){Uo(n,t.data.length,r.length);for(let t=0;t<r.length;t++){const e=r[t];e.providersResolver&&e.providersResolver(e)}Go(t,n,r.length);const a=t.preOrderHooks&&t.preOrderHooks.length||0,i=t.preOrderCheckHooks&&t.preOrderCheckHooks.length||0,s=n.index-19;for(let n=0;n<r.length;n++){const c=r[n],l=t.data.length;Wo(t,e,c,c.factory),Ho(t.data.length-1,c,o),Zt(l,c,t,s,a,i)}}o&&function(t,e,n){if(e){const a=t.localNames=[];for(let t=0;t<e.length;t+=2){const r=n[e[t+1]];if(null==r)throw new Error(`Export of name '${e[t+1]}' not found!`);a.push(e[t],r)}}}(n,a,o)}function zo(t,e,n,a,r){const o=e.length;_e(t),t.hostBindings(1,n,a.index-19),_e(null),o===e.length&&r&&e.push(t.hostBindings)}function Go(t,e,n){const a=-(e.index-19),r=t.data.length-(65535&e.providerIndexes);(t.expandoInstructions||(t.expandoInstructions=[])).push(a,r,n)}function Bo(t,e,n,a){const r=Ee();Vo(t,r,e),r&&r.attrs&&function(t,e,n,a){let r=a.initialInputs;(void 0===r||t>=r.length)&&(r=function(t,e,n){const a=n.initialInputs||(n.initialInputs=[]);for(let i=a.length;i<=t;i++)a.push(null);const r=n.attrs;let o=0;for(;o<r.length;){const n=r[o];if(0===n){o+=4;continue}if(5===n){o+=2;continue}if("number"==typeof n)break;const i=e[n],s=r[o+1];void 0!==i&&(a[t]||(a[t]=[])).push(n,i,s),o+=2}return a}(t,n.inputs,a));const o=r[t];if(o){const t=n.setInput;for(let a=0;a<o.length;){const r=o[a++],i=o[a++],s=o[a++];t?n.setInput(e,s,r,i):e[i]=s}}}(a,e,n,r),t[1].firstTemplatePass&&n.contentQueries&&(r.flags|=4),Wt(n)&&(fe(r.index,t)[9]=e)}function Vo(t,e,n){const a=le(e,t);Ir(n,t),a&&Ir(a,t)}function Yo(t){const e=Pe()[1];(e.components||(e.components=[])).push(t.index)}function Ho(t,e,n){if(n){if(e.exportAs)for(let a=0;a<e.exportAs.length;a++)n[e.exportAs[a]]=t;e.template&&(n[""]=t)}}function Uo(t,e,n){t.flags=1&t.flags,t.directiveStart=e,t.directiveEnd=e+n,t.providerIndexes=e}function Wo(t,e,n,a){t.data.push(n);const r=new $t(a,Wt(n),null);t.blueprint.push(r),e.push(r)}function Ko(t,e,n){const a=le(e,t),r=Ro(n),o=t[11],i=Xo(t,Po(t,r,null,n.onPush?64:16,t[e.index],e,o,o.createRenderer(a,n)));i[6]=e,t[e.index]=i,t[1].firstTemplatePass&&Yo(e)}function $o(t,e,n,a,r,o){const i=ce(t,a),s=a[12];if(null==n)Wn(s)?s.removeAttribute(i,e,o):i.removeAttribute(e);else{const c=ue(t,a),l=null==r?gn(n):r(n,c.tagName||"",e);Wn(s)?s.setAttribute(i,e,l,o):o?i.setAttributeNS(o,e,l):i.setAttribute(e,l)}}function Zo(t,e,n,a,r){return new Array(t,!0,r?-1:0,e,null,null,a,n,null)}function Jo(t,e){const n=fe(e,t);(128==(128&n[2])||Fe(t))&&80&n[2]&&(function(t){const e=t[1];for(let n=t.length;n<e.blueprint.length;n++)t[n]=e.blueprint[n]}(n),ai(n,n[9]))}function Xo(t,e){return t[14]?t[15][4]=e:t[14]=e,t[15]=e,e}function Qo(t){for(;t;){t[2]|=64;const e=na(t);if(Kt(t)&&!e)return t;t=e}return null}function ti(t){for(let e=0;e<t.components.length;e++){const n=t.components[e];To(me(n),n)}}function ei(t,e){const n=t[11];n.begin&&n.begin();try{Fe(t)&&ai(t,e),ai(t,e)}catch(a){throw ui(t,a),a}finally{n.end&&n.end()}}function ni(t){ti(t[9])}function ai(t,e){const n=t[1],a=Ze(t,t[6]),r=n.template,o=Fe(t);let i=!1;try{he(t),o&&ri(1,n,e),So(t,r,ko(t),e),Oo(t),i=!0}finally{Xe(a,i)}}function ri(t,e,n){const a=e.viewQuery;null!==a&&($e(0),a(t,n))}function oi(t,e="",n=""){const a=t[1].data,r=t[7]-1;return null==a[r]?a[r]="�"+e+"�"+n:null}const ii=_o;function si(t){return void 0===t.inputs&&(t.inputs=Lo(t,0)),t.inputs}function ci(t){return t[8]||(t[8]=[])}function li(t){return t[1].cleanup||(t[1].cleanup=[])}function di(t,e){return e[t.index][12]}function ui(t,e){const n=t[10],a=n?n.get(Ta,null):null;a&&a.handleError(e)}function gi(t,e,n){const a=t[1];for(let r=0;r<e.length;){const o=e[r++],i=e[r++],s=e[r++],c=t[o],l=a.data[o];l.setInput?l.setInput(c,n,i,s):c[s]=n}}function fi(t,e,n){const a=ce(e,t),r=t[12];Wn(r)?r.setValue(a,n):a.textContent=n}function pi(t,e,n){ao(t,e,n.classes,!0),ao(t,e,n.styles,!1)}function mi(t,e){const n=e[3];return-1===t.index?Yt(n)?n:null:n}function hi(t,e){const n=mi(t,e);return n?ki(e[12],n[7]):null}function bi(t,e,n,a,r){if(null!=a){let o,i=!1;Yt(a)?o=a:Vt(a)&&(i=!0,a=a[0]);const s=se(a);0===t?Ti(e,n,s,r||null):1===t?Ri(e,s,i):2===t&&e.destroyNode(s),null!=o&&function(t,e,n,a,r){const o=n[7];o!==se(n)&&bi(e,t,a,o,r);for(let i=9;i<n.length;i++)Li(t,e,n[i],a,o)}(e,t,o,n,r)}}function yi(t,e){return Wn(e)?e.createText(gn(t)):e.createTextNode(gn(t))}function _i(t,e,n){const a=hi(t[1].node,t);a&&Li(t[12],e?0:1,t,a,n)}function Oi(t,e,n){const a=9+n,r=e.length;n>0&&(e[a-1][4]=t),n<r-9?(t[4]=e[a],dt(e,9+n,t)):(e.push(t),t[4]=null),t[3]=e;const o=t[17];null!==o&&e!==o&&function(t,e){const n=t[5];null===n?t[5]=[e]:n.push(e)}(o,t);const i=t[5];null!==i&&i.insertView(t[1]),t[2]|=128}function vi(t,e){const n=t[5],a=n.indexOf(e);n.splice(a,1)}function Ci(t,e){if(t.length<=9)return;const n=9+e,a=t[n];if(a){const r=a[17];null!==r&&r!==t&&vi(r,a),e>0&&(t[n-1][4]=a[4]);const o=ut(t,9+e);_i(a,!1);const i=o[5];null!==i&&i.detachView(o[1]),a[3]=null,a[4]=null,a[2]&=-129}return a}function Pi(t,e){const n=Ci(t,e);n&&Mi(n)}function Mi(t){if(!(256&t[2])){const e=t[12];Wn(e)&&e.destroyNode&&Li(e,2,t,null,null),function(t){let e=t[14];if(!e)return wi(t);for(;e;){let n=null;if(Vt(e))n=e[14];else{const t=e[9];t&&(n=t)}if(!n){for(;e&&!e[4]&&e!==t;)wi(e),e=xi(e,t);wi(e||t),n=e&&e[4]}e=n}}(t)}}function xi(t,e){let n;return Vt(t)&&(n=t[6])&&2===n.type?mi(n,t):t[3]===e?null:t[3]}function wi(t){if(Vt(t)&&!(256&t[2])){t[2]&=-129,t[2]|=256,function(t){const e=t[1];let n;if(null!=e&&null!=(n=e.destroyHooks))for(let a=0;a<n.length;a+=2){const e=t[n[a]];e instanceof $t||n[a+1].call(e)}}(t),function(t){const e=t[1].cleanup;if(null!==e){const n=t[8];for(let a=0;a<e.length-1;a+=2)if("string"==typeof e[a]){const r=e[a+1],o="function"==typeof r?r(t):se(t[r]),i=n[e[a+2]],s=e[a+3];"boolean"==typeof s?o.removeEventListener(e[a],i,s):s>=0?n[s]():n[-s].unsubscribe(),a+=2}else e[a].call(n[e[a+1]]);t[8]=null}}(t);const e=t[6];e&&3===e.type&&Wn(t[12])&&t[12].destroy();const n=t[17];if(null!==n&&Yt(t[3])){n!==t[3]&&vi(n,t);const e=t[5];null!==e&&e.detachView(t[1])}}}function Ti(t,e,n,a){Wn(t)?t.insertBefore(e,n,a):e.insertBefore(n,a,!0)}function Si(t,e,n,a){null!==a?Ti(t,e,n,a):function(t,e,n){Wn(t)?t.appendChild(e,n):e.appendChild(n)}(t,e,n)}function ki(t,e){return Wn(t)?t.parentNode(e):e.parentNode}function Ii(t,e,n){const a=function(t,e){if(Kt(e))return ki(e[12],le(t,e));const n=function(t){for(;null!=t.parent&&(4===t.parent.type||5===t.parent.type);)t=t.parent;return t}(t),a=n.parent;if(null==a){const t=e[6];return 2===t.type?hi(t,e):function(t){const e=t[6];return e&&3===e.type?le(e,na(t)):null}(e)}{const t=n&&5===n.type;if(t&&2&n.flags)return le(n,e).parentNode;if(1&a.flags&&!t){const t=e[1].data,n=t[t[a.index].directiveStart].encapsulation;if(n!==ht.ShadowDom&&n!==ht.Native)return null}return le(a,e)}}(e,n);if(null!=a){const r=n[12],o=function(t,e){if(2===t.type){const n=mi(t,e);return Ni(n.indexOf(e,9)-9,n)}return 4===t.type||5===t.type?le(t,e):null}(e.parent||n[6],n);if(Array.isArray(t))for(let e of t)Si(r,a,e,o);else Si(r,a,t,o)}}function Ni(t,e){const n=9+t+1;if(n<e.length){const t=e[n],a=t[6].child;return null!==a?de(a,t):e[7]}return e[7]}function Ri(t,e,n){const a=ki(t,e);a&&function(t,e,n,a){Wn(t)?t.removeChild(e,n,a):e.removeChild(n)}(t,a,e,n)}function Ai(t,e,n,a){const r=a[3];let o=a[6].projection[n];if(Array.isArray(o))Ii(o,e,t);else for(;o;)32&o.flags||(1===o.type?Ai(t,e,o.projection,aa(r)):(o.flags|=2,Di(o,e,t,r))),o=o.projectionNext}function Ei(t,e,n,a){for(;t;)Di(t,e,n,a),t=t.next}function Di(t,e,n,a){const r=le(t,a);Ii(r,e,n),Ir(r,a);const o=a[t.index];if(0===t.type)for(let i=9;i<o.length;i++)_i(o[i],!0,o[7]);else if(5===t.type){let e=t.child;Ei(e,e,a,a)}else 4===t.type&&Ei(t.child,e,n,a),Yt(o)&&Ii(o[7],e,n)}function Li(t,e,n,a,r){let o=n[1].node.child;for(;null!==o;)qi(t,e,n,o,a,r),o=o.next}function qi(t,e,n,a,r,o){const i=a.type;32&a.flags||(4===i||5===i?function(t,e,n,a,r,o){bi(e,t,r,n[a.index],o);let i=a.child;for(;i;)qi(t,e,n,i,r,o),i=i.next}(t,e,n,a,r,o):1===i?function(t,e,n,a,r,o){const i=aa(n),s=i[6].projection[a.projection];if(void 0!==s)if(Array.isArray(s))for(let c=0;c<s.length;c++)bi(e,t,r,s[c],o);else{let n=s;const a=i[3];for(;null!==n;)qi(t,e,a,n,r,o),n=n.projectionNext}}(t,e,n,a,r,o):bi(e,t,r,n[a.index],o))}class ji{constructor(t,e,n){this._context=e,this._componentIndex=n,this._appRef=null,this._viewContainerRef=null,this._tViewNode=null,this._lView=t}get rootNodes(){return null==this._lView[0]?function t(e,n,a){let r=n.child;for(;r;){const n=de(r,e);if(n&&a.push(n),4===r.type)t(e,r,a);else if(1===r.type){const t=aa(e),n=t[6],o=na(t);let i=n.projection[r.projection];for(;i&&o;)a.push(le(i,o)),i=i.next}r=r.next}return a}(this._lView,this._lView[6],[]):[]}get context(){return this._context?this._context:this._lookUpContext()}get destroyed(){return 256==(256&this._lView[2])}destroy(){if(this._appRef)this._appRef.detachView(this);else if(this._viewContainerRef){const t=this._viewContainerRef.indexOf(this);t>-1&&this._viewContainerRef.detach(t),this._viewContainerRef=null}Mi(this._lView)}onDestroy(t){var e,n;n=t,ci(e=this._lView).push(n),e[1].firstTemplatePass&&li(e).push(e[8].length-1,null)}markForCheck(){Qo(this._lView)}detach(){this._lView[2]&=-129}reattach(){this._lView[2]|=128}detectChanges(){ei(this._lView,this.context)}checkNoChanges(){!function(t,e){Ve(!0);try{ei(t,e)}finally{Ve(!1)}}(this._lView,this.context)}attachToViewContainerRef(t){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._viewContainerRef=t}detachFromAppRef(){this._appRef=null,function(t){Li(t[12],1,t,null,null)}(this._lView)}attachToAppRef(t){if(this._viewContainerRef)throw new Error("This view is already attached to a ViewContainer!");this._appRef=t}_lookUpContext(){return this._context=na(this._lView)[this._componentIndex]}}class Fi extends ji{constructor(t){super(t,null,-1),this._view=t}detectChanges(){ni(this._view)}checkNoChanges(){!function(t){Ve(!0);try{ni(t)}finally{Ve(!1)}}(this._view)}get context(){return null}}let zi,Gi,Bi;function Vi(t,e,n){return zi||(zi=class extends t{}),new zi(le(e,n))}function Yi(t,e,n,a){return Gi||(Gi=class extends t{constructor(t,e,n){super(),this._declarationView=t,this._declarationTContainer=e,this.elementRef=n}createEmbeddedView(t){const e=this._declarationTContainer.tViews,n=function(t,e,n,a){const r=qe(),o=Ee();De(null,!0);const i=Po(n,t,e,16,null,null);return i[16]=n,xo(t,null,-1,i),t.firstTemplatePass&&(t.node.injectorIndex=a),De(o,r),i}(e,t,this._declarationView,this._declarationTContainer.injectorIndex);n[17]=this._declarationView[this._declarationTContainer.index];const a=this._declarationView[5];null!==a&&(n[5]=a.createEmbeddedView(e)),wo(n,e,t);const r=new ji(n,t,-1);return r._tViewNode=n[6],r}}),0===n.type?new Gi(a,n,Vi(e,n,a)):null}function Hi(t,e,n,a){let r;Bi||(Bi=class extends t{constructor(t,e,n){super(),this._lContainer=t,this._hostTNode=e,this._hostView=n}get element(){return Vi(e,this._hostTNode,this._hostView)}get injector(){return new va(this._hostTNode,this._hostView)}get parentInjector(){const t=ua(this._hostTNode,this._hostView),e=ea(t,this._hostView),n=function(t,e,n){if(n.parent&&-1!==n.parent.injectorIndex){const t=n.parent.injectorIndex;let e=n.parent;for(;null!=e.parent&&t==e.injectorIndex;)e=e.parent;return e}let a=ta(t),r=e,o=e[6];for(;a>1;)r=r[16],o=r[6],a--;return o}(t,this._hostView,this._hostTNode);return Xn(t)&&null!=n?new va(n,e):new va(null,this._hostView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){return null!==this._lContainer[8]&&this._lContainer[8][t]||null}get length(){return this._lContainer.length-9}createEmbeddedView(t,e,n){const a=t.createEmbeddedView(e||{});return this.insert(a,n),a}createComponent(t,e,n,a,r){const o=n||this.parentInjector;!r&&null==t.ngModule&&o&&(r=o.get(ot,null));const i=t.create(o,a,void 0,r);return this.insert(i.hostView,e),i}insert(t,e){if(t.destroyed)throw new Error("Cannot insert a destroyed View in a ViewContainer!");this.allocateContainerIfNeeded();const n=t._lView,a=this._adjustIndex(e);return Yt(n[3])?this.move(t,a):(Oi(n,this._lContainer,a),_i(n,!0,Ni(a,this._lContainer)),t.attachToViewContainerRef(this),dt(this._lContainer[8],a,t),t)}move(t,e){if(t.destroyed)throw new Error("Cannot move a destroyed View in a ViewContainer!");const n=this.indexOf(t);return-1!==n&&this.detach(n),this.insert(t,e),t}indexOf(t){return null!==this._lContainer[8]?this._lContainer[8].indexOf(t):0}remove(t){this.allocateContainerIfNeeded();const e=this._adjustIndex(t,-1);Pi(this._lContainer,e),ut(this._lContainer[8],e)}detach(t){this.allocateContainerIfNeeded();const e=this._adjustIndex(t,-1),n=Ci(this._lContainer,e);return n&&null!=ut(this._lContainer[8],e)?new ji(n,n[9],-1):null}_adjustIndex(t,e=0){return null==t?this.length+e:t}allocateContainerIfNeeded(){null===this._lContainer[8]&&(this._lContainer[8]=[])}});const o=a[n.index];if(Yt(o))r=o,r[2]=-1;else{let t;if(t=4===n.type?se(o):a[12].createComment(""),Kt(a)){const e=a[12],r=le(n,a);Ti(e,ki(e,r),t,function(t,e){return Wn(t)?t.nextSibling(e):e.nextSibling}(e,r))}else Ii(t,n,a);a[n.index]=r=Zo(o,a,t,n,!0),Xo(a,r)}return new Bi(r,n,a)}function Ui(t=!1){return function(t,e,n){if(Ut(t)&&!n){const n=t.directiveStart,a=fe(t.index,e);return new ji(a,null,n)}if(3===t.type||0===t.type||4===t.type){const t=aa(e);return new ji(t,t[9],-1)}return null}(Ee(),Pe(),t)}let Wi=(()=>{class t{}return t.__NG_ELEMENT_ID__=()=>$i(),t})();const Ki=Ui,$i=(...t)=>{},Zi=Function;function Ji(t){return"function"==typeof t}const Xi=/^function\s+\S+\(\)\s*{[\s\S]+\.apply\(this,\s*arguments\)/,Qi=/^class\s+[A-Za-z\d$_]*\s*extends\s+[^{]+{/,ts=/^class\s+[A-Za-z\d$_]*\s*extends\s+[^{]+{[\s\S]*constructor\s*\(/,es=/^class\s+[A-Za-z\d$_]*\s*extends\s+[^{]+{[\s\S]*constructor\s*\(\)\s*{\s+super\(\.\.\.arguments\)/;class ns{constructor(t){this._reflect=t||F.Reflect}isReflectionEnabled(){return!0}factory(t){return(...e)=>new t(...e)}_zipTypesAndAnnotations(t,e){let n;n=new Array(void 0===t?e.length:t.length);for(let a=0;a<n.length;a++)n[a]=void 0===t?[]:t[a]&&t[a]!=Object?[t[a]]:[],e&&null!=e[a]&&(n[a]=n[a].concat(e[a]));return n}_ownParameters(t,e){if(n=t.toString(),Xi.test(n)||es.test(n)||Qi.test(n)&&!ts.test(n))return null;var n;if(t.parameters&&t.parameters!==e.parameters)return t.parameters;const a=t.ctorParameters;if(a&&a!==e.ctorParameters){const t="function"==typeof a?a():a,e=t.map(t=>t&&t.type),n=t.map(t=>t&&as(t.decorators));return this._zipTypesAndAnnotations(e,n)}const r=t.hasOwnProperty(l)&&t[l],o=this._reflect&&this._reflect.getOwnMetadata&&this._reflect.getOwnMetadata("design:paramtypes",t);return o||r?this._zipTypesAndAnnotations(o,r):new Array(t.length).fill(void 0)}parameters(t){if(!Ji(t))return[];const e=rs(t);let n=this._ownParameters(t,e);return n||e===Object||(n=this.parameters(e)),n||[]}_ownAnnotations(t,e){if(t.annotations&&t.annotations!==e.annotations){let e=t.annotations;return"function"==typeof e&&e.annotations&&(e=e.annotations),e}return t.decorators&&t.decorators!==e.decorators?as(t.decorators):t.hasOwnProperty(c)?t[c]:null}annotations(t){if(!Ji(t))return[];const e=rs(t),n=this._ownAnnotations(t,e)||[];return(e!==Object?this.annotations(e):[]).concat(n)}_ownPropMetadata(t,e){if(t.propMetadata&&t.propMetadata!==e.propMetadata){let e=t.propMetadata;return"function"==typeof e&&e.propMetadata&&(e=e.propMetadata),e}if(t.propDecorators&&t.propDecorators!==e.propDecorators){const e=t.propDecorators,n={};return Object.keys(e).forEach(t=>{n[t]=as(e[t])}),n}return t.hasOwnProperty(d)?t[d]:null}propMetadata(t){if(!Ji(t))return{};const e=rs(t),n={};if(e!==Object){const t=this.propMetadata(e);Object.keys(t).forEach(e=>{n[e]=t[e]})}const a=this._ownPropMetadata(t,e);return a&&Object.keys(a).forEach(t=>{const e=[];n.hasOwnProperty(t)&&e.push(...n[t]),e.push(...a[t]),n[t]=e}),n}ownPropMetadata(t){return Ji(t)&&this._ownPropMetadata(t,rs(t))||{}}hasLifecycleHook(t,e){return t instanceof Zi&&e in t.prototype}guards(t){return{}}getter(t){return new Function("o","return o."+t+";")}setter(t){return new Function("o","v","return o."+t+" = v;")}method(t){return new Function("o","args",`if (!o.${t}) throw new Error('"${t}" is undefined');\n        return o.${t}.apply(o, args);`)}importUri(t){return"object"==typeof t&&t.filePath?t.filePath:`./${N(t)}`}resourceUri(t){return`./${N(t)}`}resolveIdentifier(t,e,n,a){return a}resolveEnum(t,e){return t[e]}}function as(t){return t?t.map(t=>new(0,t.type.annotationCls)(...t.args?t.args:[])):[]}function rs(t){const e=t.prototype?Object.getPrototypeOf(t.prototype):null;return(e?e.constructor:null)||Object}let os=null;function is(){return os=os||new ns}function ss(t){return cs(is().parameters(t))}function cs(t){const e=z();return t.map(t=>function(t,e){const n={token:null,host:!1,optional:!1,resolved:t.R3ResolvedDependencyType.Token,self:!1,skipSelf:!1};function a(e){n.resolved=t.R3ResolvedDependencyType.Token,n.token=e}if(Array.isArray(e)){if(0===e.length)throw new Error("Dependency array must have arguments.");for(let r=0;r<e.length;r++){const o=e[r];if(void 0!==o)if(o instanceof h||"Optional"===o.__proto__.ngMetadataName)n.optional=!0;else if(o instanceof y||"SkipSelf"===o.__proto__.ngMetadataName)n.skipSelf=!0;else if(o instanceof b||"Self"===o.__proto__.ngMetadataName)n.self=!0;else if(o instanceof _||"Host"===o.__proto__.ngMetadataName)n.host=!0;else if(o instanceof m)n.token=o.token;else if(o instanceof O){if(void 0===o.attributeName)throw new Error("Attribute name must be defined.");n.token=o.attributeName,n.resolved=t.R3ResolvedDependencyType.Attribute}else o===Wi?(n.token=o,n.resolved=t.R3ResolvedDependencyType.ChangeDetectorRef):a(o)}}else a(e);return n}(e,t))}function ls(t,e){let n=null;t.hasOwnProperty(k)||Object.defineProperty(t,k,{get:()=>{if(null===n){const a=e||{providedIn:null},r=us(a)||fs(a)||gs(a)||ps(a),o={name:t.name,type:t,typeArgumentCount:0,providedIn:a.providedIn,ctorDeps:ss(t),userDeps:void 0};if((us(a)||fs(a))&&void 0!==a.deps&&(o.userDeps=cs(a.deps)),r)if(us(a))o.useClass=a.useClass;else if(gs(a))o.useValue=a.useValue;else if(fs(a))o.useFactory=a.useFactory;else{if(!ps(a))throw new Error("Unreachable state.");o.useExisting=a.useExisting}else o.useClass=t;n=z().compileInjectable(rt,`ng:///${t.name}/ngInjectableDef.js`,o)}return n}})}const ds=C({provide:String,useValue:C});function us(t){return void 0!==t.useClass}function gs(t){return ds in t}function fs(t){return void 0!==t.useFactory}function ps(t){return void 0!==t.useExisting}const ms=C({provide:String,useValue:C}),hs=[];function bs(t,e){if(!e){const e=(new ns).parameters(t);return()=>new t(...tt(e))}if(ms in e){const t=e;return()=>t.useValue}if(e.useExisting){const t=e;return()=>J(t.useExisting)}if(e.useFactory){const t=e;return()=>t.useFactory(...tt(t.deps||hs))}if(e.useClass){const n=e;let a=e.deps;if(!a){const e=new ns;a=e.parameters(t)}return()=>new n.useClass(...tt(a))}{let n=e.deps;if(!n){const e=new ns;n=e.parameters(t)}return()=>new t(...tt(n))}}const ys=u("Injectable",void 0,void 0,void 0,(t,e)=>Os(t,e)),_s=ls,Os=function(t,e){e&&void 0!==e.providedIn&&!T(t)&&(t.ngInjectableDef=M({token:t,providedIn:e.providedIn,factory:bs(t,e)}))},vs=new G("The presence of this token marks an injector as being the root injector."),Cs={},Ps={},Ms=[];let xs=void 0;function ws(){return void 0===xs&&(xs=new et),xs}function Ts(t,e=null,n=null,a){return e=e||ws(),new Ss(t,n,e,a)}class Ss{constructor(t,e,n,a=null){this.parent=n,this.records=new Map,this.injectorDefTypes=new Set,this.onDestroy=new Set,this._destroyed=!1;const r=[];lt([t],t=>this.processInjectorType(t,[],r)),e&&lt(e,n=>this.processProvider(n,t,e)),this.records.set(B,Ns(void 0,this)),this.isRootInjector=this.records.has(vs),this.injectorDefTypes.forEach(t=>this.get(t)),this.source=a||("object"==typeof t?null:N(t))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{this.onDestroy.forEach(t=>t.ngOnDestroy())}finally{this.records.clear(),this.onDestroy.clear(),this.injectorDefTypes.clear()}}get(t,e=V,n=v.Default){this.assertNotDestroyed();const a=K(this);try{if(!(n&v.SkipSelf)){let e=this.records.get(t);if(void 0===e){const n=("function"==typeof(r=t)||"object"==typeof r&&r instanceof G)&&T(t);n&&this.injectableDefInScope(n)&&(e=Ns(ks(t),Cs),this.records.set(t,e))}if(void 0!==e)return this.hydrate(t,e)}return(n&v.Self?ws():this.parent).get(t,n&v.Optional?null:e)}catch(o){if("NullInjectorError"===o.name){if((o.ngTempTokenPath=o.ngTempTokenPath||[]).unshift(N(t)),a)throw o;return nt(o,t,"R3InjectorError",this.source)}throw o}finally{K(a)}var r}toString(){const t=[];return this.records.forEach((e,n)=>t.push(N(n))),`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Error("Injector has already been destroyed.")}processInjectorType(t,e,n){if(!(t=E(t)))return!1;let a=S(t);const r=null==a&&t.ngModule||void 0,o=void 0===r?t:r,i=-1!==n.indexOf(o);if(void 0!==r&&(a=S(r)),null==a)return!1;if(this.injectorDefTypes.add(o),this.records.set(o,Ns(a.factory,Cs)),null!=a.imports&&!i){let t;n.push(o);try{lt(a.imports,a=>{this.processInjectorType(a,e,n)&&(void 0===t&&(t=[]),t.push(a))})}finally{}if(void 0!==t)for(let e=0;e<t.length;e++){const{ngModule:n,providers:a}=t[e];lt(a,t=>this.processProvider(t,n,a||Ms))}}const s=a.providers;if(null!=s&&!i){const e=t;lt(s,t=>this.processProvider(t,e,s))}return void 0!==r&&void 0!==t.providers}processProvider(t,e,n){let a=As(t=E(t))?t:E(t&&t.provide);const r=function(t,e,n){let a=Is(t,e,n);return Rs(t)?Ns(void 0,t.useValue):Ns(a,Cs)}(t,e,n);if(As(t)||!0!==t.multi){const t=this.records.get(a);t&&void 0!==t.multi&&Lr()}else{let e=this.records.get(a);e?void 0===e.multi&&Lr():(e=Ns(void 0,Cs,!0),e.factory=()=>tt(e.multi),this.records.set(a,e)),a=t,e.multi.push(t)}this.records.set(a,r)}hydrate(t,e){var n;return e.value===Ps?function(t){throw new Error(`Cannot instantiate cyclic dependency! ${t}`)}(N(t)):e.value===Cs&&(e.value=Ps,e.value=e.factory()),"object"==typeof e.value&&e.value&&null!==(n=e.value)&&"object"==typeof n&&"function"==typeof n.ngOnDestroy&&this.onDestroy.add(e.value),e.value}injectableDefInScope(t){return!!t.providedIn&&("string"==typeof t.providedIn?"any"===t.providedIn||"root"===t.providedIn&&this.isRootInjector:this.injectorDefTypes.has(t.providedIn))}}function ks(t){const e=T(t);if(null!==e)return e.factory;const n=S(t);if(null!==n)return n.factory;if(t instanceof G)throw new Error(`Token ${N(t)} is missing an ngInjectableDef definition.`);if(t instanceof Function)return function(t){const e=t.length;if(e>0){const n=new Array(e).fill("?");throw new Error(`Can't resolve all parameters for ${N(t)}: (${n.join(", ")}).`)}const n=(a=t)&&a[k]?(console.warn(`DEPRECATED: DI is instantiating a token "${a.name}" that inherits its @Injectable decorator but does not provide one itself.\n`+`This will become an error in v10. Please add @Injectable() to the "${a.name}" class.`),a[k]):null;var a;return null!==n?()=>n.factory(t):()=>new t}(t);throw new Error("unreachable")}function Is(t,e,n){let a=void 0;if(As(t))return ks(E(t));if(Rs(t))a=()=>E(t.useValue);else if((r=t)&&r.useExisting)a=()=>J(E(t.useExisting));else if(function(t){return!(!t||!t.useFactory)}(t))a=()=>t.useFactory(...tt(t.deps||[]));else{const r=E(t&&(t.useClass||t.provide));if(r||function(t,e,n){let a="";throw t&&e&&(a=` - only instances of Provider and Type are allowed, got: [${e.map(t=>t==n?"?"+n+"?":"...").join(", ")}]`),new Error(`Invalid provider for the NgModule '${N(t)}'`+a)}(e,n,t),!function(t){return!!t.deps}(t))return ks(r);a=()=>new r(...tt(t.deps))}var r;return a}function Ns(t,e,n=!1){return{factory:t,value:e,multi:n?[]:void 0}}function Rs(t){return null!==t&&"object"==typeof t&&H in t}function As(t){return"function"==typeof t}function Es(t,e,n){return Ts({name:n},e,t,n)}const Ds=function(t,e,n){return new Gs(t,e,n)};let Ls=(()=>{class t{static create(t,e){return Array.isArray(t)?Ds(t,e,""):Ds(t.providers,t.parent,t.name||"")}}return t.THROW_IF_NOT_FOUND=V,t.NULL=new et,t.ngInjectableDef=M({token:t,providedIn:"any",factory:()=>J(B)}),t.__NG_ELEMENT_ID__=-1,t})();const qs=function(t){return t},js=[],Fs=qs,zs=function(){return Array.prototype.slice.call(arguments)};class Gs{constructor(t,e=Ls.NULL,n=null){this.parent=e,this.source=n;const a=this._records=new Map;a.set(Ls,{token:Ls,fn:qs,deps:js,value:this,useNew:!1}),a.set(B,{token:B,fn:qs,deps:js,value:this,useNew:!1}),function t(e,n){if(n)if((n=E(n))instanceof Array)for(let a=0;a<n.length;a++)t(e,n[a]);else{if("function"==typeof n)throw Vs("Function/Class not supported",n);if(!n||"object"!=typeof n||!n.provide)throw Vs("Unexpected provider",n);{let t=E(n.provide);const a=function(t){const e=function(t){let e=js;const n=t.deps;if(n&&n.length){e=[];for(let t=0;t<n.length;t++){let a=6,r=E(n[t]);if(r instanceof Array)for(let t=0,e=r;t<e.length;t++){const n=e[t];n instanceof h||n==h?a|=1:n instanceof y||n==y?a&=-3:n instanceof b||n==b?a&=-5:r=n instanceof m?n.token:E(n)}e.push({token:r,options:a})}}else if(t.useExisting)e=[{token:E(t.useExisting),options:6}];else if(!(n||H in t))throw Vs("'deps' required",t);return e}(t);let n=qs,a=js,r=!1,o=E(t.provide);if(H in t)a=t.useValue;else if(t.useFactory)n=t.useFactory;else if(t.useExisting);else if(t.useClass)r=!0,n=E(t.useClass);else{if("function"!=typeof o)throw Vs("StaticProvider does not have [useValue|useFactory|useExisting|useClass] or [provide] is not newable",t);r=!0,n=o}return{deps:e,fn:n,useNew:r,value:a}}(n);if(!0===n.multi){let a=e.get(t);if(a){if(a.fn!==zs)throw Bs(t)}else e.set(t,a={token:n.provide,deps:[],useNew:!1,fn:zs,value:js});t=n,a.deps.push({token:t,options:6})}const r=e.get(t);if(r&&r.fn==zs)throw Bs(t);e.set(t,a)}}}(a,t)}get(t,e,n=v.Default){const a=this._records.get(t);try{return function t(e,n,a,r,o,i){try{return function(e,n,a,r,o,i){let s;if(!n||i&v.SkipSelf)i&v.Self||(s=r.get(e,o,v.Default));else{if(s=n.value,s==Fs)throw Error("ɵCircular dependency");if(s===js){n.value=Fs;let e=void 0,o=n.useNew,i=n.fn,c=n.deps,l=js;if(c.length){l=[];for(let e=0;e<c.length;e++){const n=c[e],o=n.options,i=2&o?a.get(n.token):void 0;l.push(t(n.token,i,a,i||4&o?r:Ls.NULL,1&o?null:Ls.THROW_IF_NOT_FOUND,v.Default))}}n.value=s=o?new i(...l):i.apply(e,l)}}return s}(e,n,a,r,o,i)}catch(s){throw s instanceof Error||(s=new Error(s)),(s.ngTempTokenPath=s.ngTempTokenPath||[]).unshift(e),n&&n.value==Fs&&(n.value=js),s}}(t,a,this._records,this.parent,e,n)}catch(r){return nt(r,t,"StaticInjectorError",this.source)}}toString(){const t=[];return this._records.forEach((e,n)=>t.push(N(n))),`StaticInjector[${t.join(", ")}]`}}function Bs(t){return Vs("Cannot mix multi providers and regular providers",t)}function Vs(t,e){return new Error(at(t,e,"StaticInjectorError"))}function Ys(t){return t.length>1?" ("+function(t){const e=[];for(let n=0;n<t.length;++n){if(e.indexOf(t[n])>-1)return e.push(t[n]),e;e.push(t[n])}return e}(t.slice().reverse()).map(t=>N(t.token)).join(" -> ")+")":""}function Hs(t,e,n,a){const r=[e],o=n(r),i=a?function(t,e){const n=`${t} caused by: ${e instanceof Error?e.message:e}`,a=Error(n);return a.ngOriginalError=e,a}(o,a):Error(o);return i.addKey=Us,i.keys=r,i.injectors=[t],i.constructResolvingMessage=n,i.ngOriginalError=a,i}function Us(t,e){this.injectors.push(t),this.keys.push(e),this.message=this.constructResolvingMessage(this.keys)}function Ws(t,e){const n=[];for(let a=0,r=e.length;a<r;a++){const t=e[a];n.push(t&&0!=t.length?t.map(N).join(" "):"?")}return Error("Cannot resolve all parameters for '"+N(t)+"'("+n.join(", ")+"). Make sure that all the parameters are decorated with Inject or have valid type annotations and that '"+N(t)+"' is decorated with Injectable.")}class Ks{constructor(t,e){if(this.token=t,this.id=e,!t)throw new Error("Token must be defined!");this.displayName=N(this.token)}static get(t){return Zs.get(E(t))}static get numberOfKeys(){return Zs.numberOfKeys}}class $s{constructor(){this._allKeys=new Map}get(t){if(t instanceof Ks)return t;if(this._allKeys.has(t))return this._allKeys.get(t);const e=new Ks(t,Ks.numberOfKeys);return this._allKeys.set(t,e),e}get numberOfKeys(){return this._allKeys.size}}const Zs=new $s;class Js{constructor(t){this.reflectionCapabilities=t}updateCapabilities(t){this.reflectionCapabilities=t}factory(t){return this.reflectionCapabilities.factory(t)}parameters(t){return this.reflectionCapabilities.parameters(t)}annotations(t){return this.reflectionCapabilities.annotations(t)}propMetadata(t){return this.reflectionCapabilities.propMetadata(t)}hasLifecycleHook(t,e){return this.reflectionCapabilities.hasLifecycleHook(t,e)}getter(t){return this.reflectionCapabilities.getter(t)}setter(t){return this.reflectionCapabilities.setter(t)}method(t){return this.reflectionCapabilities.method(t)}importUri(t){return this.reflectionCapabilities.importUri(t)}resourceUri(t){return this.reflectionCapabilities.resourceUri(t)}resolveIdentifier(t,e,n,a){return this.reflectionCapabilities.resolveIdentifier(t,e,n,a)}resolveEnum(t,e){return this.reflectionCapabilities.resolveEnum(t,e)}}const Xs=new Js(new ns);class Qs{constructor(t,e,n){this.key=t,this.optional=e,this.visibility=n}static fromKey(t){return new Qs(t,!1,null)}}const tc=[];class ec{constructor(t,e,n){this.key=t,this.resolvedFactories=e,this.multiProvider=n,this.resolvedFactory=this.resolvedFactories[0]}}class nc{constructor(t,e){this.factory=t,this.dependencies=e}}function ac(t){let e,n;if(t.useClass){const a=E(t.useClass);e=Xs.factory(a),n=ic(a)}else t.useExisting?(e=t=>t,n=[Qs.fromKey(Ks.get(t.useExisting))]):t.useFactory?(e=t.useFactory,n=function(t,e){if(e){const n=e.map(t=>[t]);return e.map(e=>sc(t,e,n))}return ic(t)}(t.useFactory,t.deps)):(e=()=>t.useValue,n=tc);return new nc(e,n)}function rc(t){return new ec(Ks.get(t.provide),[ac(t)],t.multi||!1)}function oc(t){const e=function(t,e){for(let n=0;n<t.length;n++){const a=t[n],r=e.get(a.key.id);if(r){if(a.multiProvider!==r.multiProvider)throw Error(`Cannot mix multi providers and regular providers, got: ${r} ${a}`);if(a.multiProvider)for(let t=0;t<a.resolvedFactories.length;t++)r.resolvedFactories.push(a.resolvedFactories[t]);else e.set(a.key.id,a)}else{let t;t=a.multiProvider?new ec(a.key,a.resolvedFactories.slice(),a.multiProvider):a,e.set(a.key.id,t)}}return e}(function t(e,n){return e.forEach(e=>{if(e instanceof Zi)n.push({provide:e,useClass:e});else if(e&&"object"==typeof e&&void 0!==e.provide)n.push(e);else{if(!(e instanceof Array))throw Error(`Invalid provider - only instances of Provider and Type are allowed, got: ${e}`);t(e,n)}}),n}(t,[]).map(rc),new Map);return Array.from(e.values())}function ic(t){const e=Xs.parameters(t);if(!e)return[];if(e.some(t=>null==t))throw Ws(t,e);return e.map(n=>sc(t,n,e))}function sc(t,e,n){let a=null,r=!1;if(!Array.isArray(e))return cc(e instanceof m?e.token:e,r,null);let o=null;for(let i=0;i<e.length;++i){const t=e[i];t instanceof Zi?a=t:t instanceof m?a=t.token:t instanceof h?r=!0:t instanceof b||t instanceof y?o=t:t instanceof G&&(a=t)}if(a=E(a),null!=a)return cc(a,r,o);throw Ws(t,n)}function cc(t,e,n){return new Qs(Ks.get(t),e,n)}const lc=new Object;class dc{static resolve(t){return oc(t)}static resolveAndCreate(t,e){const n=dc.resolve(t);return dc.fromResolvedProviders(n,e)}static fromResolvedProviders(t,e){return new uc(t,e)}}let uc=(()=>{class t{constructor(t,e){this._constructionCounter=0,this._providers=t,this.parent=e||null;const n=t.length;this.keyIds=new Array(n),this.objs=new Array(n);for(let a=0;a<n;a++)this.keyIds[a]=t[a].key.id,this.objs[a]=lc}get(t,e=V){return this._getByKey(Ks.get(t),null,e)}resolveAndCreateChild(t){const e=dc.resolve(t);return this.createChildFromResolved(e)}createChildFromResolved(e){const n=new t(e);return n.parent=this,n}resolveAndInstantiate(t){return this.instantiateResolved(dc.resolve([t])[0])}instantiateResolved(t){return this._instantiateProvider(t)}getProviderAtIndex(t){if(t<0||t>=this._providers.length)throw function(t){return Error(`Index ${t} is out-of-bounds.`)}(t);return this._providers[t]}_new(t){if(this._constructionCounter++>this._getMaxNumberOfObjects())throw Hs(this,t.key,(function(t){return`Cannot instantiate cyclic dependency!${Ys(t)}`}));return this._instantiateProvider(t)}_getMaxNumberOfObjects(){return this.objs.length}_instantiateProvider(t){if(t.multiProvider){const e=new Array(t.resolvedFactories.length);for(let n=0;n<t.resolvedFactories.length;++n)e[n]=this._instantiate(t,t.resolvedFactories[n]);return e}return this._instantiate(t,t.resolvedFactories[0])}_instantiate(t,e){const n=e.factory;let a,r;try{a=e.dependencies.map(t=>this._getByReflectiveDependency(t))}catch(i){throw i.addKey&&i.addKey(this,t.key),i}try{r=n(...a)}catch(i){throw Hs(this,t.key,(function(t){const e=N(t[0].token);return`${o.message}: Error during instantiation of ${e}!${Ys(t)}.`}),o=i)}var o;return r}_getByReflectiveDependency(t){return this._getByKey(t.key,t.visibility,t.optional?null:V)}_getByKey(e,n,a){return e===t.INJECTOR_KEY?this:n instanceof b?this._getByKeySelf(e,a):this._getByKeyDefault(e,a,n)}_getObjByKeyId(t){for(let e=0;e<this.keyIds.length;e++)if(this.keyIds[e]===t)return this.objs[e]===lc&&(this.objs[e]=this._new(this._providers[e])),this.objs[e];return lc}_throwOrNull(t,e){if(e!==V)return e;throw function(t,e){return Hs(t,e,(function(t){return`No provider for ${N(t[0].token)}!${Ys(t)}`}))}(this,t)}_getByKeySelf(t,e){const n=this._getObjByKeyId(t.id);return n!==lc?n:this._throwOrNull(t,e)}_getByKeyDefault(e,n,a){let r;for(r=a instanceof y?this.parent:this;r instanceof t;){const t=r,n=t._getObjByKeyId(e.id);if(n!==lc)return n;r=t.parent}return null!==r?r.get(e.token,n):this._throwOrNull(e,n)}get displayName(){return`ReflectiveInjector(providers: [${function(t,e){const n=new Array(t._providers.length);for(let a=0;a<t._providers.length;++a)n[a]=e(t.getProviderAtIndex(a));return n}(this,t=>' "'+t.key.displayName+'" ').join(", ")}])`}toString(){return this.displayName}}return t.INJECTOR_KEY=Ks.get(Ls),t})();const gc=new G("AnalyzeForEntryComponents");class fc{}const pc=p("ContentChildren",(t,e={})=>Object.assign({selector:t,first:!1,isViewQuery:!1,descendants:!1},e),fc),mc=p("ContentChild",(t,e={})=>Object.assign({selector:t,first:!0,isViewQuery:!1,descendants:!0},e),fc),hc=p("ViewChildren",(t,e={})=>Object.assign({selector:t,first:!1,isViewQuery:!0,descendants:!0},e),fc),bc=p("ViewChild",(t,e)=>Object.assign({selector:t,first:!0,isViewQuery:!0,descendants:!0},e),fc);function yc(t){const e=[],n=new Map;function a(e){let a=n.get(e);if(!a){const r=t(e);n.set(e,a=r.then(Pc))}return a}return _c.forEach((t,n)=>{const r=[];t.templateUrl&&r.push(a(t.templateUrl).then(e=>{t.template=e}));const o=t.styleUrls,i=t.styles||(t.styles=[]),s=t.styles.length;o&&o.forEach((e,n)=>{i.push(""),r.push(a(e).then(a=>{i[s+n]=a,o.splice(o.indexOf(e),1),0==o.length&&(t.styleUrls=void 0)}))});const c=Promise.all(r).then(()=>function(t){Oc.delete(t)}(n));e.push(c)}),Cc(),Promise.all(e).then(()=>{})}let _c=new Map;const Oc=new Set;function vc(t){return!!(t.templateUrl&&!t.hasOwnProperty("template")||t.styleUrls&&t.styleUrls.length)}function Cc(){const t=_c;return _c=new Map,t}function Pc(t){return"string"==typeof t?t:t.text()}function Mc(t){const e=Pe(),n=e[1];n.firstTemplatePass&&(function(t,e,n){const a=t.expandoInstructions,r=a.length;r>=2&&a[r-2]===e.hostBindings?a[r-1]=a[r-1]+n:a.push(e.hostBindings,n)}(n,ye,t),function(t,e,n){for(let a=0;a<n;a++)e.push(ro),t.blueprint.push(ro),t.data.push(null)}(n,e,t))}let xc=null;function wc(){if(!xc){const t=F.Symbol;if(t&&t.iterator)xc=t.iterator;else{const t=Object.getOwnPropertyNames(Map.prototype);for(let e=0;e<t.length;++e){const n=t[e];"entries"!==n&&"size"!==n&&Map.prototype[n]===Map.prototype.entries&&(xc=n)}}}return xc}function Tc(t,e){return t===e||"number"==typeof t&&"number"==typeof e&&isNaN(t)&&isNaN(e)}function Sc(t,e){const n=Ic(t),a=Ic(e);if(n&&a)return function(t,e,n){const a=t[wc()](),r=e[wc()]();for(;;){const t=a.next(),e=r.next();if(t.done&&e.done)return!0;if(t.done||e.done)return!1;if(!n(t.value,e.value))return!1}}(t,e,Sc);{const r=t&&("object"==typeof t||"function"==typeof t),o=e&&("object"==typeof e||"function"==typeof e);return!(n||!r||a||!o)||Tc(t,e)}}class kc{constructor(t){this.wrapped=t}static wrap(t){return new kc(t)}static unwrap(t){return kc.isWrapped(t)?t.wrapped:t}static isWrapped(t){return t instanceof kc}}function Ic(t){return!!Nc(t)&&(Array.isArray(t)||!(t instanceof Map)&&wc()in t)}function Nc(t){return null!==t&&("function"==typeof t||"object"==typeof t)}function Rc(t,e,n){return t[e]=n}function Ac(t,e){return t[e]}function Ec(t,e,n){return!!un(t[e],n)&&(t[e]=n,!0)}function Dc(t,e,n,a){const r=Ec(t,e,n);return Ec(t,e+1,a)||r}function Lc(t,e,n,a,r){const o=Dc(t,e,n,a);return Ec(t,e+2,r)||o}function qc(t,e,n,a,r,o){const i=Dc(t,e,n,a);return Dc(t,e+2,r,o)||i}function jc(t,e,n){const a=tn(),r=Fc(Pe(),e);return r!==ro&&jo(a,t,r,n),jc}function Fc(t,e){const n=t[7]++;return oi(t),Ec(t,n,e)?e:ro}function zc(t,e,n,a){const r=tn(),o=Pe(),i=Fc(o,e);return i!==ro&&$o(r,t,i,o,n,a),zc}function Gc(t,e){let n=!1;const a=t[1].data;let r=t[7];if(null==a[r]){for(let t=2;t<e.length;t+=2)a[r++]=e[t];r=t[7]}for(let i=1;i<e.length;i+=2)n=Ec(t,r++,e[i])||n;if(t[7]=r,oi(t,e[0],e[e.length-1]),!n)return ro;let o=e[0];for(let i=1;i<e.length;i+=2)o+=gn(e[i])+e[i+1];return o}function Bc(t,e,n,a){const r=Ec(t,t[7]++,n);return oi(t,e,a),r?e+gn(n)+a:ro}function Vc(t,e,n,a,r,o){const i=t[7],s=Dc(t,i,n,r);return t[7]+=2,oi(t,e,o)&&(t[1].data[i]=a),s?e+gn(n)+a+gn(r)+o:ro}function Yc(t,e,n,a,r,o,i,s){const c=t[7],l=Lc(t,c,n,r,i);if(t[7]+=3,oi(t,e,s)){const e=t[1].data;e[c]=a,e[c+1]=o}return l?e+gn(n)+a+gn(r)+o+gn(i)+s:ro}function Hc(t,e,n,a,r,o,i,s,c,l){const d=t[7],u=qc(t,d,n,r,i,c);if(t[7]+=4,oi(t,e,l)){const e=t[1].data;e[d]=a,e[d+1]=o,e[d+2]=s}return u?e+gn(n)+a+gn(r)+o+gn(i)+s+gn(c)+l:ro}function Uc(t,e,n,a,r,o,i,s,c,l,d,u){const g=t[7];let f=qc(t,g,n,r,i,c);if(f=Ec(t,g+4,d)||f,t[7]+=5,oi(t,e,u)){const e=t[1].data;e[g]=a,e[g+1]=o,e[g+2]=s,e[g+3]=l}return f?e+gn(n)+a+gn(r)+o+gn(i)+s+gn(c)+l+gn(d)+u:ro}function Wc(t,e,n,a,r,o,i,s,c,l,d,u,g,f){const p=t[7];let m=qc(t,p,n,r,i,c);if(m=Dc(t,p+4,d,g)||m,t[7]+=6,oi(t,e,f)){const e=t[1].data;e[p]=a,e[p+1]=o,e[p+2]=s,e[p+3]=l,e[p+4]=u}return m?e+gn(n)+a+gn(r)+o+gn(i)+s+gn(c)+l+gn(d)+u+gn(g)+f:ro}function Kc(t,e,n,a,r,o,i,s,c,l,d,u,g,f,p,m){const h=t[7];let b=qc(t,h,n,r,i,c);if(b=Lc(t,h+4,d,g,p)||b,t[7]+=7,oi(t,e,m)){const e=t[1].data;e[h]=a,e[h+1]=o,e[h+2]=s,e[h+3]=l,e[h+4]=u,e[h+5]=f}return b?e+gn(n)+a+gn(r)+o+gn(i)+s+gn(c)+l+gn(d)+u+gn(g)+f+gn(p)+m:ro}function $c(t,e,n,a,r,o,i,s,c,l,d,u,g,f,p,m,h,b){const y=t[7];let _=qc(t,y,n,r,i,c);if(_=qc(t,y+4,d,g,p,h)||_,t[7]+=8,oi(t,e,b)){const e=t[1].data;e[y]=a,e[y+1]=o,e[y+2]=s,e[y+3]=l,e[y+4]=u,e[y+5]=f,e[y+6]=m}return _?e+gn(n)+a+gn(r)+o+gn(i)+s+gn(c)+l+gn(d)+u+gn(g)+f+gn(p)+m+gn(h)+b:ro}function Zc(t,e,n,a,r,o){const i=tn(),s=Pe(),c=Bc(s,e,n,a);return c!==ro&&$o(i,t,c,s,r,o),Zc}function Jc(t,e,n,a,r,o,i,s){const c=tn(),l=Pe(),d=Vc(l,e,n,a,r,o);return d!==ro&&$o(c,t,d,l,i,s),Jc}function Xc(t,e,n,a,r,o,i,s,c,l){const d=tn(),u=Pe(),g=Yc(u,e,n,a,r,o,i,s);return g!==ro&&$o(d,t,g,u,c,l),Xc}function Qc(t,e,n,a,r,o,i,s,c,l,d,u){const g=tn(),f=Pe(),p=Hc(f,e,n,a,r,o,i,s,c,l);return p!==ro&&$o(g,t,p,f,d,u),Qc}function tl(t,e,n,a,r,o,i,s,c,l,d,u,g,f){const p=tn(),m=Pe(),h=Uc(m,e,n,a,r,o,i,s,c,l,d,u);return h!==ro&&$o(p,t,h,m,g,f),tl}function el(t,e,n,a,r,o,i,s,c,l,d,u,g,f,p,m){const h=tn(),b=Pe(),y=Wc(b,e,n,a,r,o,i,s,c,l,d,u,g,f);return y!==ro&&$o(h,t,y,b,p,m),el}function nl(t,e,n,a,r,o,i,s,c,l,d,u,g,f,p,m,h,b){const y=tn(),_=Pe(),O=Kc(_,e,n,a,r,o,i,s,c,l,d,u,g,f,p,m);return O!==ro&&$o(y,t,O,_,h,b),nl}function al(t,e,n,a,r,o,i,s,c,l,d,u,g,f,p,m,h,b,y,_){const O=tn(),v=Pe(),C=$c(v,e,n,a,r,o,i,s,c,l,d,u,g,f,p,m,h,b);return C!==ro&&$o(O,t,C,v,y,_),al}function rl(t,e,n,a){const r=tn(),o=Pe(),i=Gc(o,e);return i!==ro&&$o(r,t,i,o,n,a),rl}function ol(t){ei(kr(t),t)}function il(t){!function(t,e){const n=0===t.flags;if(t.flags|=1,n&&t.clean==_o){let e;t.clean=new Promise(t=>e=t),t.scheduler(()=>{if(1&t.flags&&(t.flags&=-2,ti(t)),2&t.flags){t.flags&=-3;const e=t.playerHandler;e&&e.flushPlayers()}t.clean=_o,e(null)})}}(Qo(kr(t))[9])}function sl(t){const e=Pe(),n=ul(e,t,null,null);e[1].firstTemplatePass&&(n.tViews=[]),je()}function cl(t,e,n,a,r,o,i,s){const c=Pe(),l=c[1],d=ul(c,t,r||null,o||null);if(l.firstTemplatePass){Fo(l,c,d,i||null);const t=d.tViews=Ao(-1,e,n,a,l.directiveRegistry,l.pipeRegistry,null,null);null!==l.queries&&(l.queries.template(l,d),t.queries=l.queries.embeddedTView(d))}No(l,c,d,s),Ir(le(d,c),c),Jt(l,d),je()}function ll(t){const e=Pe(),n=e[1];De(ge(n.data,t),!0),e[t+19][2]=0,Xt(e,n,Be(),void 0)}function dl(){let t=Ee();qe()?je():(t=t.parent,De(t,!1));const e=Pe()[t.index],n=e[2];for(;n<e.length-9;)Pi(e,n)}function ul(t,e,n,a){const r=e+19,o=t[r]=t[12].createComment(""),i=Mo(t[1],t[6],e,0,n,a),s=t[r]=Zo(o,t,o,i);return Ii(o,i,t),Xo(t,s),i}function gl(t,e){const n=Pe(),a=n[1],r=t+19;r>=a.data.length&&(a.data[r]=null,a.blueprint[r]=null),n[r]=e}function fl(t){return ge(ze,t)}function pl(t){return ge(Pe(),t)}function ml(t,e=v.Default){t=E(t);const n=Pe();return null==n?J(t,e):pa(Ee(),n,t,e)}function hl(t){return fa(Ee(),t)}function bl(){var t,e;Pe()[1].firstTemplatePass&&(t=Ee(),e=Nl(),On(Al(t),e),On(Rl(t),e))}function yl(t){ln(t)}function _l(t,e,n){Ol(tn(),t,e,n)}function Ol(t,e,n,a){Cl(t,Pe()[7]++,e,function(t,e){if(t===ro)return t;let n=null;return null!==t&&(n=e?gn(t)+e:t),n}(n,a),!1,Dl())}function vl(t,e){const n=Pe()[7]++;Cl(tn(),n,t,e,!0,Dl())}function Cl(t,e,n,a,r,o){const i=Pe(),s=ue(t,i),c=le(s,i);let l=!1;if(a!==ro)if(r)l=Hr(Al(s),i,c,n,e,a,o,!1);else{const t=dn();l=Ur(Rl(s),i,c,n,e,a,t,o,!1)}return l}function Pl(t){const e=tn(),n=Pe(),a=ue(e,n),r=Rl(a),o=Nl(),i=n[7]++;!o&&Bn(a)&&t!==ro&&(Tl(r,n,a,i,t,!1),t=ro),wl(e,r,i,t,!1,Dl())}function Ml(t){xl(tn(),t)}function xl(t,e){const n=Pe(),a=ue(t,n),r=Al(a),o=Nl(),i=n[7]++;!o&&Gn(a)&&e!==ro&&(Tl(r,n,a,i,e,!0),e=ro),wl(t,r,i,e,!0,Dl())}function wl(t,e,n,a,r,o){co();const i=Pe();let s=!1;if(a!==ro){const c=le(ue(t,i),i),l=i[n];s=En(l,a);const d=function(t,e,n){const a=Array.isArray(t)?t:[null];a[0]=e||null;for(let s=1;s<a.length;s+=2)Yn(a,s,null);let r,o=null,i=!1;if("string"==typeof e?e.length&&(o=e.split(/\s+/),i=!0):(o=e?Object.keys(e):null,r=e),o)for(let s=0;s<o.length;s++){const t=o[s];fo(a,n?qn(t):t,!!i||r[t],!0)}return a}(l,a,!r);r?Hr(e,i,c,null,n,d,o,s):Ur(e,i,c,null,n,d,dn(),o,s)}return s}function Tl(t,e,n,a,r,o){e[a]!==r&&((r||Nn(t))&&gi(e,n.inputs[o?"class":"style"],function(t,e,n){let a=e;var r;return t.length>0&&(a=n?Ln(t,((r=e)&&"string"!=typeof r&&(r=Object.keys(r).join(" ")),r||"")):Ln(t,function(t){let e="";if(t){const n=Object.keys(t);for(let a=0;a<n.length;a++){const r=n[a];e=Ln(e,`${r}:${t[r]}`,";")}}return e}(e),";")),a}(zn(t),r,o)),e[a]=r)}function Sl(){const t=tn(),e=Pe(),n=ue(t,e),a=function(t,e){return 3===t.type?e[12]:null}(n,e),r=le(n,e),o=Nl(),i=dn();(function(t,e,n,a,r,o,i){const s=n?Rn(n):!!a&&Rn(a),c=In(n,o),l=In(a,o);Yr.length&&(c||l)&&Kr();const d=oe(r,s),u=Xr(t,r,e,n,c,d.classesBitMask,no,null),g=Xr(t,r,e,a,l,d.stylesBitMask,eo,i);u&&g?(ie(),s&&function(t){ne.delete(t)}(r)):s&&function(t,e){ne.set(t,e)}(r,d)})(a,e,Al(n),Rl(n),r,o,i),ln(null)}function kl(t,e,n){let a=!1,r=jn(t.styles),o=jn(t.classes),i=-1;for(let s=n;s<e.length;s++){const t=e[s];"number"==typeof t?i=t:1==i?(o=o||[""],fo(o,t,!0),a=!0):2==i&&(r=r||[""],fo(r,t,e[++s]),a=!0)}return o&&o.length>1&&(t.classes||(t.classes=o),Il(t.classes,po(o,!0))),r&&r.length>1&&(t.styles||(t.styles=r),Il(t.styles,po(r,!1))),a}function Il(t,e){jn(t)[0]=e}function Nl(){return Te+Se}function Rl(t){return El(t,!1)}function Al(t){return El(t,!0)}function El(t,e){let n=e?t.classes:t.styles;return Fn(n)||(n=[n||[""],0,0,1,0,"--MAP--"],e?t.classes=n:t.styles=n),n}function Dl(){return ke>0}function Ll(t,e,n,a){const r=Pe(),o=r[1],i=r[t+19]=Co(e),s=r[12],c=Mo(o,r[6],t,3,e,n||null);if(null!=n){const t=$n(i,n);o.firstTemplatePass&&kl(c,n,t)}if(pi(s,i,c),Ii(i,c,r),0===ae&&Ir(i,r),ae++,o.firstTemplatePass){Fo(o,r,c,a||null);const t=si(c);t&&t.hasOwnProperty("class")&&(c.flags|=8),t&&t.hasOwnProperty("style")&&(c.flags|=16),null!==o.queries&&o.queries.elementStart(o,c)}No(o,r,c),Io(o,c,r)}function ql(){let t=Ee();qe()?je():(t=t.parent,De(t,!1));const e=t,n=Pe(),a=n[1];Jt(a,t),ae--,a.firstTemplatePass&&null!==a.queries&&Ht(t)&&a.queries.elementEnd(t),Gn(e)&&e.classes&&zl(e.classes,n,e.inputs.class),Bn(e)&&e.styles&&zl(e.styles,n,e.inputs.style)}function jl(t,e,n,a){Ll(t,e,n,a),ql()}function Fl(t){const e=tn(),n=Pe(),a=n[1],r=ue(e,n);if(3===r.type){const e=le(r,n),o=$n(e,t);a.firstTemplatePass&&kl(r,t,o)&&pi(n[12],e,r)}}function zl(t,e,n){gi(e,n,zn(t)||null)}function Gl(t,e,n){const a=Pe(),r=a[1],o=a[t+19]=a[12].createComment(""),i=Mo(r,a[6],t,4,"ng-container",e||null);e&&r.firstTemplatePass&&kl(i,e,0),Ii(o,i,a),r.firstTemplatePass&&(Fo(r,a,i,n||null),r.queries&&r.queries.elementStart(r,i)),No(r,a,i),Ir(o,a),Io(r,i,a)}function Bl(){let t=Ee();const e=Pe()[1];qe()?je():(t=t.parent,De(t,!1)),Jt(e,t),e.firstTemplatePass&&null!==e.queries&&Ht(t)&&e.queries.elementEnd(t)}function Vl(t,e,n){Gl(t,e,n),Bl()}function Yl(t,e,n){const a=Pe(),r=Ee(),o=2===r.type?r.parent:r,i=a[o.index];let s=function(t,e,n){for(let a=e+9;a<t.length;a++){const e=t[a][1].id;if(e===n)return t[a];if(!(e<n))break;Pi(t,a-9)}return null}(i,i[2],t);if(s)xe=!0,Ze(s,s[1].node);else{s=Po(a,function(t,e,n,a){const r=Pe()[1],o=a.tViews;return(t>=o.length||null==o[t])&&(o[t]=Ao(t,null,e,n,r.directiveRegistry,r.pipeRegistry,null,null)),o[t]}(t,e,n,o),null,16,null,null);const i=qe()?r:r&&r.parent;xo(s[1],i,t,s),Ze(s,s[1].node)}return i&&(Fe(s)&&Oi(s,i,i[2]),i[2]++),Fe(s)?3:2}function Hl(){const t=Pe(),e=t[6];Fe(t)&&(Oo(t),t[2]&=-5),he(t),Oo(t),Xe(t[3][3],!0),De(e,!1)}function Ul(){return Pe()}function Wl(t){return!!t&&"function"==typeof t.then}function Kl(t){return!!t&&"function"==typeof t.subscribe}function $l(t,e,n=!1,a){Jl(t,e,n,a)}function Zl(t,e,n=!1,a){Jl(t,e,n,a,di)}function Jl(t,e,n=!1,a,r){const o=Pe(),i=Ee(),s=o[1],c=s.firstTemplatePass&&(s.cleanup||(s.cleanup=[]));let l=!0;if(3===i.type){const s=le(i,o),d=a?a(s):yt,u=d.target||s,g=r?r(i,o):o[12],f=ci(o),p=f.length,m=a?t=>a(se(t[i.index])).target:i.index;if(Wn(g)){let n=null;if(!a&&function(t){return t.directiveEnd>t.directiveStart}(i)&&(n=function(t,e,n){const a=t[1].cleanup;if(null!=a)for(let r=0;r<a.length-1;r+=2){const o=a[r];if(o===e&&a[r+1]===n){const e=t[8],n=a[r+2];return e.length>n?e[n]:null}"string"==typeof o&&(r+=2)}return null}(o,t,i.index)),null!==n)e.__ngNextListenerFn__=n.__ngNextListenerFn__,n.__ngNextListenerFn__=e,l=!1;else{e=Ql(i,o,e,!1);const n=g.listen(d.name||u,t,e);f.push(e,n),c&&c.push(t,m,p,p+1)}}else e=Ql(i,o,e,!0),u.addEventListener(t,e,n),f.push(e),c&&c.push(t,m,p,n)}void 0===i.outputs&&(i.outputs=Lo(i,1));const d=i.outputs;let u;if(l&&d&&(u=d[t])){const n=u.length;if(n){const a=ci(o);for(let r=0;r<n;r+=3){const n=o[u[r]][u[r+2]].subscribe(e),s=a.length;a.push(e,n),c&&c.push(t,i.index,s,-(s+1))}}}}function Xl(t,e,n){try{return!1!==e(n)}catch(a){return ui(t,a),!1}}function Ql(t,e,n,a){return function r(o){const i=1&t.flags?fe(t.index,e):e;0==(32&e[2])&&Qo(i);let s=Xl(e,n,o),c=r.__ngNextListenerFn__;for(;c;)s=Xl(e,c,o)&&s,c=c.__ngNextListenerFn__;return a&&!1===s&&(o.preventDefault(),o.returnValue=!1),s}}function td(t=1){return Je(t)}function ed(t,e){let n=null;const a=function(t){const e=t.attrs;if(null!=e){const t=e.indexOf(5);if(0==(1&t))return e[t+1]}return null}(t);for(let r=0;r<e.length;r++){const o=e[r];if("*"!==o){if(null===a?Br(t,o,!0):Vr(a,o))return r}else n=r}return n}function nd(t){const e=aa(Pe())[6];if(!e.projection){const n=e.projection=new Array(t?t.length:1).fill(null),a=n.slice();let r=e.child;for(;null!==r;){const e=t?ed(r,t):0;null!==e&&(a[e]?a[e].projectionNext=r:n[e]=r,a[e]=r),r=r.next}}}let ad=!1;function rd(t){ad=t}function od(t,e=0,n){const a=Pe(),r=Mo(a[1],a[6],t,1,null,n||null);null===r.projection&&(r.projection=e),je(),ad||Ai(a,r,e,aa(a))}function id(t,e,n){return sd(t,"",e,"",n),id}function sd(t,e,n,a,r){const o=tn(),i=Bc(Pe(),e,n,a);return i!==ro&&jo(o,t,i,r),sd}function cd(t,e,n,a,r,o,i){const s=tn(),c=Vc(Pe(),e,n,a,r,o);return c!==ro&&jo(s,t,c,i),cd}function ld(t,e,n,a,r,o,i,s,c){const l=tn(),d=Yc(Pe(),e,n,a,r,o,i,s);return d!==ro&&jo(l,t,d,c),ld}function dd(t,e,n,a,r,o,i,s,c,l,d){const u=tn(),g=Hc(Pe(),e,n,a,r,o,i,s,c,l);return g!==ro&&jo(u,t,g,d),dd}function ud(t,e,n,a,r,o,i,s,c,l,d,u,g){const f=tn(),p=Uc(Pe(),e,n,a,r,o,i,s,c,l,d,u);return p!==ro&&jo(f,t,p,g),ud}function gd(t,e,n,a,r,o,i,s,c,l,d,u,g,f,p){const m=tn(),h=Wc(Pe(),e,n,a,r,o,i,s,c,l,d,u,g,f);return h!==ro&&jo(m,t,h,p),gd}function fd(t,e,n,a,r,o,i,s,c,l,d,u,g,f,p,m,h){const b=tn(),y=Kc(Pe(),e,n,a,r,o,i,s,c,l,d,u,g,f,p,m);return y!==ro&&jo(b,t,y,h),fd}function pd(t,e,n,a,r,o,i,s,c,l,d,u,g,f,p,m,h,b,y){const _=tn(),O=$c(Pe(),e,n,a,r,o,i,s,c,l,d,u,g,f,p,m,h,b);return O!==ro&&jo(_,t,O,y),pd}function md(t,e,n){const a=tn(),r=Gc(Pe(),e);return r!==ro&&jo(a,t,r,n),md}function hd(t,e){const n=Pe(),a=n[t+19]=yi(e,n[12]),r=Mo(n[1],n[6],t,3,null,null);je(),Ii(a,r,n)}function bd(t){const e=Pe(),n=tn(),a=Fc(e,t);a!==ro&&fi(e,n,gn(a))}function yd(t){return _d("",t,""),yd}function _d(t,e,n){const a=tn(),r=Pe(),o=Bc(r,t,e,n);return o!==ro&&fi(r,a,o),_d}function Od(t,e,n,a,r){const o=tn(),i=Pe(),s=Vc(i,t,e,n,a,r);return s!==ro&&fi(i,o,s),Od}function vd(t,e,n,a,r,o,i){const s=tn(),c=Pe(),l=Yc(c,t,e,n,a,r,o,i);return l!==ro&&fi(c,s,l),vd}function Cd(t,e,n,a,r,o,i,s,c){const l=tn(),d=Pe(),u=Hc(d,t,e,n,a,r,o,i,s,c);return u!==ro&&fi(d,l,u),Cd}function Pd(t,e,n,a,r,o,i,s,c,l,d){const u=tn(),g=Pe(),f=Uc(g,t,e,n,a,r,o,i,s,c,l,d);return f!==ro&&fi(g,u,f),Pd}function Md(t,e,n,a,r,o,i,s,c,l,d,u,g){const f=tn(),p=Pe(),m=Wc(p,t,e,n,a,r,o,i,s,c,l,d,u,g);return m!==ro&&fi(p,f,m),Md}function xd(t,e,n,a,r,o,i,s,c,l,d,u,g,f,p){const m=tn(),h=Pe(),b=Kc(h,t,e,n,a,r,o,i,s,c,l,d,u,g,f,p);return b!==ro&&fi(h,m,b),xd}function wd(t,e,n,a,r,o,i,s,c,l,d,u,g,f,p,m,h){const b=tn(),y=Pe(),_=$c(y,t,e,n,a,r,o,i,s,c,l,d,u,g,f,p,m,h);return _!==ro&&fi(y,b,_),wd}function Td(t){const e=tn(),n=Pe(),a=Gc(n,t);return a!==ro&&fi(n,e,a),Td}function Sd(t,e,n){const a=Bc(Pe(),t,e,n);xl(tn(),a)}function kd(t,e,n,a,r){const o=Vc(Pe(),t,e,n,a,r);xl(tn(),o)}function Id(t,e,n,a,r,o,i){const s=Yc(Pe(),t,e,n,a,r,o,i);xl(tn(),s)}function Nd(t,e,n,a,r,o,i,s,c){const l=Hc(Pe(),t,e,n,a,r,o,i,s,c);xl(tn(),l)}function Rd(t,e,n,a,r,o,i,s,c,l,d){const u=Uc(Pe(),t,e,n,a,r,o,i,s,c,l,d);xl(tn(),u)}function Ad(t,e,n,a,r,o,i,s,c,l,d,u,g){const f=Wc(Pe(),t,e,n,a,r,o,i,s,c,l,d,u,g);xl(tn(),f)}function Ed(t,e,n,a,r,o,i,s,c,l,d,u,g,f,p){const m=Kc(Pe(),t,e,n,a,r,o,i,s,c,l,d,u,g,f,p);xl(tn(),m)}function Dd(t,e,n,a,r,o,i,s,c,l,d,u,g,f,p,m,h){const b=$c(Pe(),t,e,n,a,r,o,i,s,c,l,d,u,g,f,p,m,h);xl(tn(),b)}function Ld(t){const e=Gc(Pe(),t);xl(tn(),e)}function qd(t,e,n,a,r){const o=Bc(Pe(),e,n,a);return Ol(tn(),t,o,r),qd}function jd(t,e,n,a,r,o,i){const s=Vc(Pe(),e,n,a,r,o);return Ol(tn(),t,s,i),jd}function Fd(t,e,n,a,r,o,i,s,c){const l=Yc(Pe(),e,n,a,r,o,i,s);return Ol(tn(),t,l,c),Fd}function zd(t,e,n,a,r,o,i,s,c,l,d){const u=Hc(Pe(),e,n,a,r,o,i,s,c,l);return Ol(tn(),t,u,d),zd}function Gd(t,e,n,a,r,o,i,s,c,l,d,u,g){const f=Uc(Pe(),e,n,a,r,o,i,s,c,l,d,u);return Ol(tn(),t,f,g),Gd}function Bd(t,e,n,a,r,o,i,s,c,l,d,u,g,f,p){const m=Wc(Pe(),e,n,a,r,o,i,s,c,l,d,u,g,f);return Ol(tn(),t,m,p),Bd}function Vd(t,e,n,a,r,o,i,s,c,l,d,u,g,f,p,m,h){const b=Kc(Pe(),e,n,a,r,o,i,s,c,l,d,u,g,f,p,m);return Ol(tn(),t,b,h),Vd}function Yd(t,e,n,a,r,o,i,s,c,l,d,u,g,f,p,m,h,b,y){const _=$c(Pe(),e,n,a,r,o,i,s,c,l,d,u,g,f,p,m,h,b);return Ol(tn(),t,_,y),Yd}function Hd(t,e,n){const a=Gc(Pe(),e);return Ol(tn(),t,a,n),Hd}function Ud(t,e,n){const a=tn(),r=Fc(Pe(),e);return r!==ro&&jo(a,t,r,n,!0),Ud}function Wd(t,e,n){const a=tn(),r=Fc(Pe(),e);return r!==ro&&jo(a,t,r,n,!0,di),Wd}function Kd(t){const e=nu(t);return void 0===e.component&&(e.component=function(t,e){const n=e[1].data[t];return 1&n.flags?e[n.directiveStart]:null}(e.nodeIndex,e.lView)),e.component}function $d(t){return nu(t).lView[9]}function Zd(t){let e,n=tu(t).lView;for(;null===n[0]&&(e=na(n));)n=e;return 512&n[2]?null:n[9]}function Jd(t){return[...ra(t).components]}function Xd(t){const e=tu(t);return new va(e.lView[1].data[e.nodeIndex],e.lView)}function Qd(t){const e=tu(t);return void 0===e.directives&&(e.directives=Er(e.nodeIndex,e.lView,!1)),e.directives||[]}function tu(t,e=!0){const n=Tr(t);if(!n&&e)throw new Error("Invalid ng target");return n}function eu(t){return Tr(t).native}function nu(t){if(!(t instanceof Node))throw new Error("Expecting instance of DOM Node");return tu(t)}function au(t){return"boolean"==typeof t.useCapture}function ru(t){const e=nu(t).lView,n=e[8],a=e[1].cleanup,r=[];if(a&&n)for(let o=0;o<a.length;){const i=a[o++],s=a[o++];if("string"==typeof i){const c=i,l=se(e[s]),d=n[a[o++]],u=a[o++],g="boolean"==typeof u?u:!(u>=0)&&null;t==l&&r.push({element:t,name:c,callback:d,useCapture:g})}}return r.sort(ou),r}function ou(t,e){return t.name==e.name?0:t.name<e.name?-1:1}let iu=!1;function su(){iu||(iu=!0,cu("getComponent",Kd),cu("getContext",$d),cu("getListeners",ru),cu("getViewComponent",Zd),cu("getHostElement",eu),cu("getInjector",Xd),cu("getRootComponents",Jd),cu("getDirectives",Qd),cu("markDirty",il))}function cu(t,e){if(F){let n=F.ng;n||(n=F.ng={}),n[t]=e}}function lu(t,e={}){Ie(null);const n=e.rendererFactory||Kn,a=e.sanitizer||null,r=jt(t);r.type!=t&&(r.type=t);const o=Eo(n,e.host||r.selectors[0][0]),i=r.onPush?576:528,s=gu(e.scheduler,e.playerHandler),c=n.createRenderer(o,r),l=Po(null,Ao(-1,null,1,0,null,null,null,null),s,i,null,null,n,c,void 0,e.injector||null),d=Ze(l,null);let u,g=!1;try{n.begin&&n.begin();const t=du(o,r,l,n,c,a);u=uu(t,r,l,s,e.hostFeatures||null),Xo(l,t),Oo(l),l[2]&=-5,he(l),Oo(l),g=!0}finally{Xe(d,g),n.end&&n.end()}return u}function du(t,e,n,a,r,o){xe=!1,Me=null,ae=0,be=!0,ln(null),ie(),ne.clear();const i=n[1];n[19]=t;const s=Mo(i,null,0,3,null,null),c=Po(n,Ro(e),null,e.onPush?64:16,n[19],s,a,r,o);return i.firstTemplatePass&&(ga(ca(s,n),i,e.type),s.flags=1,Uo(s,n.length,1),Yo(s)),n[19]=c}function uu(t,e,n,a,r){const o=n[1],i=function(t,e,n){const a=Ee();t.firstTemplatePass&&(n.providersResolver&&n.providersResolver(n),Go(t,a,1),Wo(t,e,n,n.factory));const r=ya(t.data,e,e.length-1,a);return Vo(e,a,r),r}(o,n,e);a.components.push(i),t[9]=i,r&&r.forEach(t=>t(i,e)),e.contentQueries&&e.contentQueries(1,i,n.length-1);const s=Ee();return o.firstTemplatePass&&e.hostBindings&&(Ie(s.index-19),zo(e,o.expandoInstructions,i,s,o.firstTemplatePass),Ie(null)),i}function gu(t,e){return{components:[],scheduler:t||pn,clean:ii,playerHandler:e||null,flags:0}}function fu(t,e){const n=me(t)[1],a=n.data.length-1;Zt(a,e,n,-1,-1,-1),Jt(n,{directiveStart:a,directiveEnd:a+1})}function pu(t){return ra(t).clean}class mu{constructor(t,e,n){this.previousValue=t,this.currentValue=e,this.firstChange=n}isFirstChange(){return this.firstChange}}function hu(){return bu.ngInherit=!0,bu}function bu(t){t.type.prototype.ngOnChanges&&(t.setInput=yu,t.onChanges=function(){const t=_u(this),e=t&&t.current;if(e){const n=t.previous;if(n===yt)t.previous=e;else for(let t in e)n[t]=e[t];t.current=null,this.ngOnChanges(e)}})}function yu(t,e,n,a){const r=_u(t)||function(t,e){return t.__ngSimpleChanges__=e}(t,{previous:yt,current:null}),o=r.current||(r.current={}),i=r.previous,s=this.declaredInputs[n],c=i[s];o[s]=new mu(c&&c.currentValue,e,i===yt),t[a]=e}function _u(t){return t.__ngSimpleChanges__||null}function Ou(t){let e=Object.getPrototypeOf(t.type.prototype).constructor;for(;e;){let n=void 0;if(Wt(t))n=e.ngComponentDef||e.ngDirectiveDef;else{if(e.ngComponentDef)throw new Error("Directives cannot inherit Components");n=e.ngDirectiveDef}const a=e.ngBaseDef;if(a||n){const e=t;e.inputs=vu(t.inputs),e.declaredInputs=vu(t.declaredInputs),e.outputs=vu(t.outputs)}if(a){const e=a.viewQuery,n=a.contentQueries,r=a.hostBindings;r&&Mu(t,r),e&&Cu(t,e),n&&Pu(t,n),P(t.inputs,a.inputs),P(t.declaredInputs,a.declaredInputs),P(t.outputs,a.outputs)}if(n){const e=n.hostBindings;e&&Mu(t,e);const a=n.viewQuery,r=n.contentQueries;a&&Cu(t,a),r&&Pu(t,r),P(t.inputs,n.inputs),P(t.declaredInputs,n.declaredInputs),P(t.outputs,n.outputs),t.afterContentChecked=t.afterContentChecked||n.afterContentChecked,t.afterContentInit=t.afterContentInit||n.afterContentInit,t.afterViewChecked=t.afterViewChecked||n.afterViewChecked,t.afterViewInit=t.afterViewInit||n.afterViewInit,t.doCheck=t.doCheck||n.doCheck,t.onDestroy=t.onDestroy||n.onDestroy,t.onInit=t.onInit||n.onInit;const o=n.features;if(o)for(const n of o)n&&n.ngInherit&&n(t)}else{const n=e.prototype;n&&(t.afterContentChecked=t.afterContentChecked||n.ngAfterContentChecked,t.afterContentInit=t.afterContentInit||n.ngAfterContentInit,t.afterViewChecked=t.afterViewChecked||n.ngAfterViewChecked,t.afterViewInit=t.afterViewInit||n.ngAfterViewInit,t.doCheck=t.doCheck||n.ngDoCheck,t.onDestroy=t.onDestroy||n.ngOnDestroy,t.onInit=t.onInit||n.ngOnInit,n.ngOnChanges&&hu()(t))}e=Object.getPrototypeOf(e)}}function vu(t){return t===yt?{}:t===_t?[]:t}function Cu(t,e){const n=t.viewQuery;t.viewQuery=n?(t,a)=>{e(t,a),n(t,a)}:e}function Pu(t,e){const n=t.contentQueries;t.contentQueries=n?(t,a,r)=>{e(t,a,r),n(t,a,r)}:e}function Mu(t,e){const n=t.hostBindings;e!==n&&(t.hostBindings=n?(t,a,r)=>{Re(1);try{e(t,a,r)}finally{Re(-1)}n(t,a,r)}:e)}function xu(t,e,n,a,r){if(t=E(t),Array.isArray(t))for(let o=0;o<t.length;o++)xu(t[o],e,n,a,r);else{const o=Pe(),i=o[1];let s=As(t)?t:E(t.provide),c=Is(t);const l=Ee(),d=65535&l.providerIndexes,u=l.directiveStart,g=l.providerIndexes>>16;if(t.useClass||As(t)){const n=(t.useClass||t).prototype.ngOnDestroy;n&&(i.destroyHooks||(i.destroyHooks=[])).push(e.length,n)}if(As(t)||!t.multi){const t=new $t(c,r,ml),a=Tu(s,e,r?d:d+g,u);-1==a?(ga(ca(l,o),i,s),e.push(s),l.directiveStart++,l.directiveEnd++,r&&(l.providerIndexes+=65536),n.push(t),o.push(t)):(n[a]=t,o[a]=t)}else{const t=Tu(s,e,d+g,u),f=Tu(s,e,d,d+g),p=t>=0&&n[t],m=f>=0&&n[f];if(r&&!m||!r&&!p){ga(ca(l,o),i,s);const t=function(t,e,n,a,r){const o=new $t(t,n,ml);return o.multi=[],o.index=e,o.componentProviders=0,wu(o,r,a&&!n),o}(r?ku:Su,n.length,r,a,c);!r&&m&&(n[f].providerFactory=t),e.push(s),l.directiveStart++,l.directiveEnd++,r&&(l.providerIndexes+=65536),n.push(t),o.push(t)}else wu(n[r?f:t],c,!r&&a);!r&&a&&m&&n[f].componentProviders++}}}function wu(t,e,n){t.multi.push(e),n&&t.componentProviders++}function Tu(t,e,n,a){for(let r=n;r<a;r++)if(e[r]===t)return r;return-1}function Su(t,e,n,a){return Iu(this.multi,[])}function ku(t,e,n,a){const r=this.multi;let o;if(this.providerFactory){const t=this.providerFactory.componentProviders,i=ya(e,n,this.providerFactory.index,a);o=i.slice(0,t),Iu(r,o);for(let e=t;e<i.length;e++)o.push(i[e])}else o=[],Iu(r,o);return o}function Iu(t,e){for(let n=0;n<t.length;n++)e.push((0,t[n])());return e}function Nu(t,e=[]){return n=>{n.providersResolver=(n,a)=>function(t,e,n){const a=Pe()[1];if(a.firstTemplatePass){const r=Wt(t);xu(n,a.data,a.blueprint,r,!0),xu(e,a.data,a.blueprint,r,!1)}}(n,a?a(t):t,e)}}class Ru{}class Au{}function Eu(t){const e=Error(`No component factory found for ${N(t)}. Did you add it to @NgModule.entryComponents?`);return e[Du]=t,e}const Du="ngComponent";class Lu{resolveComponentFactory(t){throw Eu(t)}}let qu=(()=>{class t{}return t.NULL=new Lu,t})();class ju{constructor(t,e,n){this._parent=e,this._ngModule=n,this._factories=new Map;for(let a=0;a<t.length;a++){const e=t[a];this._factories.set(e.componentType,e)}}resolveComponentFactory(t){let e=this._factories.get(t);if(!e&&this._parent&&(e=this._parent.resolveComponentFactory(t)),!e)throw Eu(t);return new Fu(e,this._ngModule)}}class Fu extends Au{constructor(t,e){super(),this.factory=t,this.ngModule=e,this.selector=t.selector,this.componentType=t.componentType,this.ngContentSelectors=t.ngContentSelectors,this.inputs=t.inputs,this.outputs=t.outputs}create(t,e,n,a){return this.factory.create(t,e,n,a||this.ngModule)}}function zu(...t){}let Gu=(()=>{class t{constructor(t){this.nativeElement=t}}return t.__NG_ELEMENT_ID__=()=>Vu(t),t})();const Bu=function(t){return Vi(t,Ee(),Pe())},Vu=zu;class Yu{constructor(t,e,n,a,r,o){this.id=t,this.templateUrl=e,this.slotCount=n,this.encapsulation=a,this.styles=r,this.animations=o}}class Hu{}class Uu{}class Wu{}class Ku{}const $u=function(){var t={Important:1,DashCase:2};return t[t.Important]="Important",t[t.DashCase]="DashCase",t}();let Zu=(()=>{class t{}return t.__NG_ELEMENT_ID__=()=>Xu(),t})();const Ju=function(){const t=Pe(),e=fe(Ee().index,t);return function(t){const e=t[12];if(Wn(e))return e;throw new Error("Cannot inject Renderer2 when the application uses Renderer3!")}(Vt(e)?e:t)},Xu=zu;class Qu{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const tg=new Qu("8.2.14");class eg{constructor(){}supports(t){return Ic(t)}create(t){return new ag(t)}}const ng=(t,e)=>e;class ag{constructor(t){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=t||ng}forEachItem(t){let e;for(e=this._itHead;null!==e;e=e._next)t(e)}forEachOperation(t){let e=this._itHead,n=this._removalsHead,a=0,r=null;for(;e||n;){const o=!n||e&&e.currentIndex<sg(n,a,r)?e:n,i=sg(o,a,r),s=o.currentIndex;if(o===n)a--,n=n._nextRemoved;else if(e=e._next,null==o.previousIndex)a++;else{r||(r=[]);const t=i-a,e=s-a;if(t!=e){for(let n=0;n<t;n++){const a=n<r.length?r[n]:r[n]=0,o=a+n;e<=o&&o<t&&(r[n]=a+1)}r[o.previousIndex]=e-t}}i!==s&&t(o,i,s)}}forEachPreviousItem(t){let e;for(e=this._previousItHead;null!==e;e=e._nextPrevious)t(e)}forEachAddedItem(t){let e;for(e=this._additionsHead;null!==e;e=e._nextAdded)t(e)}forEachMovedItem(t){let e;for(e=this._movesHead;null!==e;e=e._nextMoved)t(e)}forEachRemovedItem(t){let e;for(e=this._removalsHead;null!==e;e=e._nextRemoved)t(e)}forEachIdentityChange(t){let e;for(e=this._identityChangesHead;null!==e;e=e._nextIdentityChange)t(e)}diff(t){if(null==t&&(t=[]),!Ic(t))throw new Error(`Error trying to diff '${N(t)}'. Only arrays and iterables are allowed`);return this.check(t)?this:null}onDestroy(){}check(t){this._reset();let e,n,a,r=this._itHead,o=!1;if(Array.isArray(t)){this.length=t.length;for(let e=0;e<this.length;e++)n=t[e],a=this._trackByFn(e,n),null!==r&&Tc(r.trackById,a)?(o&&(r=this._verifyReinsertion(r,n,a,e)),Tc(r.item,n)||this._addIdentityChange(r,n)):(r=this._mismatch(r,n,a,e),o=!0),r=r._next}else e=0,function(t,e){if(Array.isArray(t))for(let n=0;n<t.length;n++)e(t[n]);else{const n=t[wc()]();let a;for(;!(a=n.next()).done;)e(a.value)}}(t,t=>{a=this._trackByFn(e,t),null!==r&&Tc(r.trackById,a)?(o&&(r=this._verifyReinsertion(r,t,a,e)),Tc(r.item,t)||this._addIdentityChange(r,t)):(r=this._mismatch(r,t,a,e),o=!0),r=r._next,e++}),this.length=e;return this._truncate(r),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t,e;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=e)t.previousIndex=t.currentIndex,e=t._nextMoved;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,e,n,a){let r;return null===t?r=this._itTail:(r=t._prev,this._remove(t)),null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(n,a))?(Tc(t.item,e)||this._addIdentityChange(t,e),this._moveAfter(t,r,a)):null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null))?(Tc(t.item,e)||this._addIdentityChange(t,e),this._reinsertAfter(t,r,a)):t=this._addAfter(new rg(e,n),r,a),t}_verifyReinsertion(t,e,n,a){let r=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null);return null!==r?t=this._reinsertAfter(r,t._prev,a):t.currentIndex!=a&&(t.currentIndex=a,this._addToMoves(t,a)),t}_truncate(t){for(;null!==t;){const e=t._next;this._addToRemovals(this._unlink(t)),t=e}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(t,e,n){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const a=t._prevRemoved,r=t._nextRemoved;return null===a?this._removalsHead=r:a._nextRemoved=r,null===r?this._removalsTail=a:r._prevRemoved=a,this._insertAfter(t,e,n),this._addToMoves(t,n),t}_moveAfter(t,e,n){return this._unlink(t),this._insertAfter(t,e,n),this._addToMoves(t,n),t}_addAfter(t,e,n){return this._insertAfter(t,e,n),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,e,n){const a=null===e?this._itHead:e._next;return t._next=a,t._prev=e,null===a?this._itTail=t:a._prev=t,null===e?this._itHead=t:e._next=t,null===this._linkedRecords&&(this._linkedRecords=new ig),this._linkedRecords.put(t),t.currentIndex=n,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const e=t._prev,n=t._next;return null===e?this._itHead=n:e._next=n,null===n?this._itTail=e:n._prev=e,t}_addToMoves(t,e){return t.previousIndex===e?t:(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t,t)}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new ig),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,e){return t.item=e,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class rg{constructor(t,e){this.item=t,this.trackById=e,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class og{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,e){let n;for(n=this._head;null!==n;n=n._nextDup)if((null===e||e<=n.currentIndex)&&Tc(n.trackById,t))return n;return null}remove(t){const e=t._prevDup,n=t._nextDup;return null===e?this._head=n:e._nextDup=n,null===n?this._tail=e:n._prevDup=e,null===this._head}}class ig{constructor(){this.map=new Map}put(t){const e=t.trackById;let n=this.map.get(e);n||(n=new og,this.map.set(e,n)),n.add(t)}get(t,e){const n=this.map.get(t);return n?n.get(t,e):null}remove(t){const e=t.trackById;return this.map.get(e).remove(t)&&this.map.delete(e),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function sg(t,e,n){const a=t.previousIndex;if(null===a)return a;let r=0;return n&&a<n.length&&(r=n[a]),a+e+r}class cg{constructor(){}supports(t){return t instanceof Map||Nc(t)}create(){return new lg}}class lg{constructor(){this._records=new Map,this._mapHead=null,this._appendAfter=null,this._previousMapHead=null,this._changesHead=null,this._changesTail=null,this._additionsHead=null,this._additionsTail=null,this._removalsHead=null,this._removalsTail=null}get isDirty(){return null!==this._additionsHead||null!==this._changesHead||null!==this._removalsHead}forEachItem(t){let e;for(e=this._mapHead;null!==e;e=e._next)t(e)}forEachPreviousItem(t){let e;for(e=this._previousMapHead;null!==e;e=e._nextPrevious)t(e)}forEachChangedItem(t){let e;for(e=this._changesHead;null!==e;e=e._nextChanged)t(e)}forEachAddedItem(t){let e;for(e=this._additionsHead;null!==e;e=e._nextAdded)t(e)}forEachRemovedItem(t){let e;for(e=this._removalsHead;null!==e;e=e._nextRemoved)t(e)}diff(t){if(t){if(!(t instanceof Map||Nc(t)))throw new Error(`Error trying to diff '${N(t)}'. Only maps and objects are allowed`)}else t=new Map;return this.check(t)?this:null}onDestroy(){}check(t){this._reset();let e=this._mapHead;if(this._appendAfter=null,this._forEach(t,(t,n)=>{if(e&&e.key===n)this._maybeAddToChanges(e,t),this._appendAfter=e,e=e._next;else{const a=this._getOrCreateRecordForKey(n,t);e=this._insertBeforeOrAppend(e,a)}}),e){e._prev&&(e._prev._next=null),this._removalsHead=e;for(let t=e;null!==t;t=t._nextRemoved)t===this._mapHead&&(this._mapHead=null),this._records.delete(t.key),t._nextRemoved=t._next,t.previousValue=t.currentValue,t.currentValue=null,t._prev=null,t._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(t,e){if(t){const n=t._prev;return e._next=t,e._prev=n,t._prev=e,n&&(n._next=e),t===this._mapHead&&(this._mapHead=e),this._appendAfter=t,t}return this._appendAfter?(this._appendAfter._next=e,e._prev=this._appendAfter):this._mapHead=e,this._appendAfter=e,null}_getOrCreateRecordForKey(t,e){if(this._records.has(t)){const n=this._records.get(t);this._maybeAddToChanges(n,e);const a=n._prev,r=n._next;return a&&(a._next=r),r&&(r._prev=a),n._next=null,n._prev=null,n}const n=new dg(t);return this._records.set(t,n),n.currentValue=e,this._addToAdditions(n),n}_reset(){if(this.isDirty){let t;for(this._previousMapHead=this._mapHead,t=this._previousMapHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._changesHead;null!==t;t=t._nextChanged)t.previousValue=t.currentValue;for(t=this._additionsHead;null!=t;t=t._nextAdded)t.previousValue=t.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(t,e){Tc(e,t.currentValue)||(t.previousValue=t.currentValue,t.currentValue=e,this._addToChanges(t))}_addToAdditions(t){null===this._additionsHead?this._additionsHead=this._additionsTail=t:(this._additionsTail._nextAdded=t,this._additionsTail=t)}_addToChanges(t){null===this._changesHead?this._changesHead=this._changesTail=t:(this._changesTail._nextChanged=t,this._changesTail=t)}_forEach(t,e){t instanceof Map?t.forEach(e):Object.keys(t).forEach(n=>e(t[n],n))}}class dg{constructor(t){this.key=t,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}let ug=(()=>{class t{constructor(t){this.factories=t}static create(e,n){if(null!=n){const t=n.factories.slice();e=e.concat(t)}return new t(e)}static extend(e){return{provide:t,useFactory:n=>{if(!n)throw new Error("Cannot extend IterableDiffers without a parent injector");return t.create(e,n)},deps:[[t,new y,new h]]}}find(t){const e=this.factories.find(e=>e.supports(t));if(null!=e)return e;throw new Error(`Cannot find a differ supporting object '${t}' of type '${n=t,n.name||typeof n}'`);var n}}return t.ngInjectableDef=M({token:t,providedIn:"root",factory:()=>new t([new eg])}),t})(),gg=(()=>{class t{constructor(t){this.factories=t}static create(e,n){if(n){const t=n.factories.slice();e=e.concat(t)}return new t(e)}static extend(e){return{provide:t,useFactory:n=>{if(!n)throw new Error("Cannot extend KeyValueDiffers without a parent injector");return t.create(e,n)},deps:[[t,new y,new h]]}}find(t){const e=this.factories.find(e=>e.supports(t));if(e)return e;throw new Error(`Cannot find a differ supporting object '${t}'`)}}return t.ngInjectableDef=M({token:t,providedIn:"root",factory:()=>new t([new cg])}),t})();const fg=[new cg],pg=new ug([new eg]),mg=new gg(fg);let hg=(()=>{class t{}return t.__NG_ELEMENT_ID__=()=>yg(t,Gu),t})();const bg=function(t,e){return Yi(t,e,Ee(),Pe())},yg=zu;let _g=(()=>{class t{}return t.__NG_ELEMENT_ID__=()=>vg(t,Gu),t})();const Og=function(t,e){return Hi(t,e,Ee(),Pe())},vg=zu;function Cg(t,e,n,a){let r=`ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. Previous value: '${e}'. Current value: '${n}'.`;return a&&(r+=" It seems like the view has been created after its parent and its children have been dirty checked. Has it been created in a change detection hook ?"),function(t,e){const n=new Error(t);return Pg(n,e),n}(r,t)}function Pg(t,e){t.ngDebugContext=e,t.ngErrorLogger=e.logError.bind(e)}function Mg(t){return new Error(`ViewDestroyedError: Attempt to use a destroyed view: ${t}`)}function xg(t,e,n){const a=t.state,r=1792&a;return r===e?(t.state=-1793&a|n,t.initIndex=-1,!0):r===n}function wg(t,e,n){return(1792&t.state)===e&&t.initIndex<=n&&(t.initIndex=n+1,!0)}function Tg(t,e){return t.nodes[e]}function Sg(t,e){return t.nodes[e]}function kg(t,e){return t.nodes[e]}function Ig(t,e){return t.nodes[e]}function Ng(t,e){return t.nodes[e]}class Rg{}const Ag={setCurrentNode:void 0,createRootView:void 0,createEmbeddedView:void 0,createComponentView:void 0,createNgModuleRef:void 0,overrideProvider:void 0,overrideComponentView:void 0,clearOverrides:void 0,checkAndUpdateView:void 0,checkNoChangesView:void 0,destroyView:void 0,resolveDep:void 0,createDebugContext:void 0,handleEvent:void 0,updateDirectives:void 0,updateRenderer:void 0,dirtyParentQueries:void 0},Eg=()=>{},Dg=new Map;function Lg(t){let e=Dg.get(t);return e||(e=N(t)+"_"+Dg.size,Dg.set(t,e)),e}function qg(t,e,n,a){if(kc.isWrapped(a)){a=kc.unwrap(a);const r=t.def.nodes[e].bindingIndex+n,o=kc.unwrap(t.oldValues[r]);t.oldValues[r]=new kc(o)}return a}function jg(t){return{id:"$$undefined",styles:t.styles,encapsulation:t.encapsulation,data:t.data}}let Fg=0;function zg(t,e,n,a){return!(!(2&t.state)&&Tc(t.oldValues[e.bindingIndex+n],a))}function Gg(t,e,n,a){return!!zg(t,e,n,a)&&(t.oldValues[e.bindingIndex+n]=a,!0)}function Bg(t,e,n,a){const r=t.oldValues[e.bindingIndex+n];if(1&t.state||!Sc(r,a)){const o=e.bindings[n].name;throw Cg(Ag.createDebugContext(t,e.nodeIndex),`${o}: ${r}`,`${o}: ${a}`,0!=(1&t.state))}}function Vg(t){let e=t;for(;e;)2&e.def.flags&&(e.state|=8),e=e.viewContainerParent||e.parent}function Yg(t,e){let n=t;for(;n&&n!==e;)n.state|=64,n=n.viewContainerParent||n.parent}function Hg(t,e,n,a){try{return Vg(33554432&t.def.nodes[e].flags?Sg(t,e).componentView:t),Ag.handleEvent(t,e,n,a)}catch(r){t.root.errorHandler.handleError(r)}}function Ug(t){return t.parent?Sg(t.parent,t.parentNodeDef.nodeIndex):null}function Wg(t){return t.parent?t.parentNodeDef.parent:null}function Kg(t,e){switch(201347067&e.flags){case 1:return Sg(t,e.nodeIndex).renderElement;case 2:return Tg(t,e.nodeIndex).renderText}}function $g(t){return!!t.parent&&!!(32768&t.parentNodeDef.flags)}function Zg(t){return!(!t.parent||32768&t.parentNodeDef.flags)}function Jg(t){return 1<<t%32}function Xg(t){const e={};let n=0;const a={};return t&&t.forEach(([t,r])=>{"number"==typeof t?(e[t]=r,n|=Jg(t)):a[t]=r}),{matchedQueries:e,references:a,matchedQueryIds:n}}function Qg(t,e){return t.map(t=>{let n,a;return Array.isArray(t)?[a,n]=t:(a=0,n=t),n&&("function"==typeof n||"object"==typeof n)&&e&&Object.defineProperty(n,"__source",{value:e,configurable:!0}),{flags:a,token:n,tokenKey:Lg(n)}})}function tf(t,e,n){let a=n.renderParent;return a?0==(1&a.flags)||0==(33554432&a.flags)||a.element.componentRendererType&&a.element.componentRendererType.encapsulation===ht.Native?Sg(t,n.renderParent.nodeIndex).renderElement:void 0:e}const ef=new WeakMap;function nf(t){let e=ef.get(t);return e||(e=t(()=>Eg),e.factory=t,ef.set(t,e)),e}function af(t,e,n,a,r){3===e&&(n=t.renderer.parentNode(Kg(t,t.def.lastRenderRootNode))),rf(t,e,0,t.def.nodes.length-1,n,a,r)}function rf(t,e,n,a,r,o,i){for(let s=n;s<=a;s++){const n=t.def.nodes[s];11&n.flags&&sf(t,n,e,r,o,i),s+=n.childCount}}function of(t,e,n,a,r,o){let i=t;for(;i&&!$g(i);)i=i.parent;const s=i.parent,c=Wg(i),l=c.nodeIndex+c.childCount;for(let d=c.nodeIndex+1;d<=l;d++){const t=s.def.nodes[d];t.ngContentIndex===e&&sf(s,t,n,a,r,o),d+=t.childCount}if(!s.parent){const i=t.root.projectableNodes[e];if(i)for(let e=0;e<i.length;e++)cf(t,i[e],n,a,r,o)}}function sf(t,e,n,a,r,o){if(8&e.flags)of(t,e.ngContent.index,n,a,r,o);else{const i=Kg(t,e);if(3===n&&33554432&e.flags&&48&e.bindingFlags?(16&e.bindingFlags&&cf(t,i,n,a,r,o),32&e.bindingFlags&&cf(Sg(t,e.nodeIndex).componentView,i,n,a,r,o)):cf(t,i,n,a,r,o),16777216&e.flags){const i=Sg(t,e.nodeIndex).viewContainer._embeddedViews;for(let t=0;t<i.length;t++)af(i[t],n,a,r,o)}1&e.flags&&!e.element.name&&rf(t,n,e.nodeIndex+1,e.nodeIndex+e.childCount,a,r,o)}}function cf(t,e,n,a,r,o){const i=t.renderer;switch(n){case 1:i.appendChild(a,e);break;case 2:i.insertBefore(a,e,r);break;case 3:i.removeChild(a,e);break;case 0:o.push(e)}}const lf=/^:([^:]+):(.+)$/;function df(t){if(":"===t[0]){const e=t.match(lf);return[e[1],e[2]]}return["",t]}function uf(t){let e=0;for(let n=0;n<t.length;n++)e|=t[n].flags;return e}function gf(t,e){let n="";for(let a=0;a<2*t;a+=2)n=n+e[a]+pf(e[a+1]);return n+e[2*t]}function ff(t,e,n,a,r,o,i,s,c,l,d,u,g,f,p,m,h,b,y,_){switch(t){case 1:return e+pf(n)+a;case 2:return e+pf(n)+a+pf(r)+o;case 3:return e+pf(n)+a+pf(r)+o+pf(i)+s;case 4:return e+pf(n)+a+pf(r)+o+pf(i)+s+pf(c)+l;case 5:return e+pf(n)+a+pf(r)+o+pf(i)+s+pf(c)+l+pf(d)+u;case 6:return e+pf(n)+a+pf(r)+o+pf(i)+s+pf(c)+l+pf(d)+u+pf(g)+f;case 7:return e+pf(n)+a+pf(r)+o+pf(i)+s+pf(c)+l+pf(d)+u+pf(g)+f+pf(p)+m;case 8:return e+pf(n)+a+pf(r)+o+pf(i)+s+pf(c)+l+pf(d)+u+pf(g)+f+pf(p)+m+pf(h)+b;case 9:return e+pf(n)+a+pf(r)+o+pf(i)+s+pf(c)+l+pf(d)+u+pf(g)+f+pf(p)+m+pf(h)+b+pf(y)+_;default:throw new Error("Does not support more than 9 expressions")}}function pf(t){return null!=t?t.toString():""}const mf=[],hf={},bf=new Object,yf=Lg(Ls),_f=Lg(B),Of=Lg(ot);function vf(t,e,n,a){return n=E(n),{index:-1,deps:Qg(a,N(e)),flags:t,token:e,value:n}}function Cf(t){const e={},n=[];let a=!1;for(let r=0;r<t.length;r++){const o=t[r];o.token===vs&&!0===o.value&&(a=!0),1073741824&o.flags&&n.push(o.token),o.index=r,e[Lg(o.token)]=o}return{factory:null,providersByKey:e,providers:t,modules:n,isRoot:a}}function Pf(t,e,n=Ls.THROW_IF_NOT_FOUND){const a=K(t);try{if(8&e.flags)return e.token;if(2&e.flags&&(n=null),1&e.flags)return t._parent.get(e.token,n);const i=e.tokenKey;switch(i){case yf:case _f:case Of:return t}const s=t._def.providersByKey[i];let c;if(s){let e=t._providers[s.index];return void 0===e&&(e=t._providers[s.index]=Mf(t,s)),e===bf?void 0:e}if((c=T(e.token))&&(r=t,null!=(o=c).providedIn&&(function(t,e){return t._def.modules.indexOf(e)>-1}(r,o.providedIn)||"root"===o.providedIn&&r._def.isRoot))){const n=t._providers.length;return t._def.providers[n]=t._def.providersByKey[e.tokenKey]={flags:5120,value:c.factory,deps:[],index:n,token:e.token},t._providers[n]=bf,t._providers[n]=Mf(t,t._def.providersByKey[e.tokenKey])}return 4&e.flags?n:t._parent.get(e.token,n)}finally{K(a)}var r,o}function Mf(t,e){let n;switch(201347067&e.flags){case 512:n=function(t,e,n){const a=n.length;switch(a){case 0:return new e;case 1:return new e(Pf(t,n[0]));case 2:return new e(Pf(t,n[0]),Pf(t,n[1]));case 3:return new e(Pf(t,n[0]),Pf(t,n[1]),Pf(t,n[2]));default:const r=new Array(a);for(let e=0;e<a;e++)r[e]=Pf(t,n[e]);return new e(...r)}}(t,e.value,e.deps);break;case 1024:n=function(t,e,n){const a=n.length;switch(a){case 0:return e();case 1:return e(Pf(t,n[0]));case 2:return e(Pf(t,n[0]),Pf(t,n[1]));case 3:return e(Pf(t,n[0]),Pf(t,n[1]),Pf(t,n[2]));default:const r=Array(a);for(let e=0;e<a;e++)r[e]=Pf(t,n[e]);return e(...r)}}(t,e.value,e.deps);break;case 2048:n=Pf(t,e.deps[0]);break;case 256:n=e.value}return n===bf||null===n||"object"!=typeof n||131072&e.flags||"function"!=typeof n.ngOnDestroy||(e.flags|=131072),void 0===n?bf:n}function xf(t,e){const n=t.viewContainer._embeddedViews;if((null==e||e>=n.length)&&(e=n.length-1),e<0)return null;const a=n[e];return a.viewContainerParent=null,ut(n,e),Ag.dirtyParentQueries(a),Tf(a),a}function wf(t,e,n){const a=e?Kg(e,e.def.lastRenderRootNode):t.renderElement,r=n.renderer.parentNode(a),o=n.renderer.nextSibling(a);af(n,2,r,o,void 0)}function Tf(t){af(t,3,null,null,void 0)}const Sf=new Object;function kf(t,e,n,a,r,o){return new Nf(t,e,n,a,r,o)}function If(t){return t.viewDefFactory}class Nf extends Au{constructor(t,e,n,a,r,o){super(),this.selector=t,this.componentType=e,this._inputs=a,this._outputs=r,this.ngContentSelectors=o,this.viewDefFactory=n}get inputs(){const t=[],e=this._inputs;for(let n in e)t.push({propName:n,templateName:e[n]});return t}get outputs(){const t=[];for(let e in this._outputs)t.push({propName:e,templateName:this._outputs[e]});return t}create(t,e,n,a){if(!a)throw new Error("ngModule should be provided");const r=nf(this.viewDefFactory),o=r.nodes[0].element.componentProvider.nodeIndex,i=Ag.createRootView(t,e||[],n,r,a,Sf),s=kg(i,o).instance;return n&&i.renderer.setAttribute(Sg(i,0).renderElement,"ng-version",tg.full),new Rf(i,new Lf(i),s)}}class Rf extends Ru{constructor(t,e,n){super(),this._view=t,this._viewRef=e,this._component=n,this._elDef=this._view.def.nodes[0],this.hostView=e,this.changeDetectorRef=e,this.instance=n}get location(){return new Gu(Sg(this._view,this._elDef.nodeIndex).renderElement)}get injector(){return new zf(this._view,this._elDef)}get componentType(){return this._component.constructor}destroy(){this._viewRef.destroy()}onDestroy(t){this._viewRef.onDestroy(t)}}function Af(t,e,n){return new Ef(t,e,n)}class Ef{constructor(t,e,n){this._view=t,this._elDef=e,this._data=n,this._embeddedViews=[]}get element(){return new Gu(this._data.renderElement)}get injector(){return new zf(this._view,this._elDef)}get parentInjector(){let t=this._view,e=this._elDef.parent;for(;!e&&t;)e=Wg(t),t=t.parent;return t?new zf(t,e):new zf(this._view,null)}clear(){for(let t=this._embeddedViews.length-1;t>=0;t--){const e=xf(this._data,t);Ag.destroyView(e)}}get(t){const e=this._embeddedViews[t];if(e){const t=new Lf(e);return t.attachToViewContainerRef(this),t}return null}get length(){return this._embeddedViews.length}createEmbeddedView(t,e,n){const a=t.createEmbeddedView(e||{});return this.insert(a,n),a}createComponent(t,e,n,a,r){const o=n||this.parentInjector;r||t instanceof Fu||(r=o.get(ot));const i=t.create(o,a,void 0,r);return this.insert(i.hostView,e),i}insert(t,e){if(t.destroyed)throw new Error("Cannot insert a destroyed View in a ViewContainer!");const n=t;return function(t,e,n,a){let r=e.viewContainer._embeddedViews;null==n&&(n=r.length),a.viewContainerParent=t,dt(r,n,a),function(t,e){const n=Ug(e);if(!n||n===t||16&e.state)return;e.state|=16;let a=n.template._projectedViews;a||(a=n.template._projectedViews=[]),a.push(e),function(t,e){if(4&e.flags)return;t.nodeFlags|=4,e.flags|=4;let n=e.parent;for(;n;)n.childFlags|=4,n=n.parent}(e.parent.def,e.parentNodeDef)}(e,a),Ag.dirtyParentQueries(a),wf(e,n>0?r[n-1]:null,a)}(this._view,this._data,e,n._view),n.attachToViewContainerRef(this),t}move(t,e){if(t.destroyed)throw new Error("Cannot move a destroyed View in a ViewContainer!");const n=this._embeddedViews.indexOf(t._view);return function(t,e,n){const a=t.viewContainer._embeddedViews,r=a[e];ut(a,e),null==n&&(n=a.length),dt(a,n,r),Ag.dirtyParentQueries(r),Tf(r),wf(t,n>0?a[n-1]:null,r)}(this._data,n,e),t}indexOf(t){return this._embeddedViews.indexOf(t._view)}remove(t){const e=xf(this._data,t);e&&Ag.destroyView(e)}detach(t){const e=xf(this._data,t);return e?new Lf(e):null}}function Df(t){return new Lf(t)}class Lf{constructor(t){this._view=t,this._viewContainerRef=null,this._appRef=null}get rootNodes(){return function(t){const e=[];return af(t,0,void 0,void 0,e),e}(this._view)}get context(){return this._view.context}get destroyed(){return 0!=(128&this._view.state)}markForCheck(){Vg(this._view)}detach(){this._view.state&=-5}detectChanges(){const t=this._view.root.rendererFactory;t.begin&&t.begin();try{Ag.checkAndUpdateView(this._view)}finally{t.end&&t.end()}}checkNoChanges(){Ag.checkNoChangesView(this._view)}reattach(){this._view.state|=4}onDestroy(t){this._view.disposables||(this._view.disposables=[]),this._view.disposables.push(t)}destroy(){this._appRef?this._appRef.detachView(this):this._viewContainerRef&&this._viewContainerRef.detach(this._viewContainerRef.indexOf(this)),Ag.destroyView(this._view)}detachFromAppRef(){this._appRef=null,Tf(this._view),Ag.dirtyParentQueries(this._view)}attachToAppRef(t){if(this._viewContainerRef)throw new Error("This view is already attached to a ViewContainer!");this._appRef=t}attachToViewContainerRef(t){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._viewContainerRef=t}}function qf(t,e){return new jf(t,e)}class jf extends hg{constructor(t,e){super(),this._parentView=t,this._def=e}createEmbeddedView(t){return new Lf(Ag.createEmbeddedView(this._parentView,this._def,this._def.element.template,t))}get elementRef(){return new Gu(Sg(this._parentView,this._def.nodeIndex).renderElement)}}function Ff(t,e){return new zf(t,e)}class zf{constructor(t,e){this.view=t,this.elDef=e}get(t,e=Ls.THROW_IF_NOT_FOUND){return Ag.resolveDep(this.view,this.elDef,!!this.elDef&&0!=(33554432&this.elDef.flags),{flags:0,token:t,tokenKey:Lg(t)},e)}}function Gf(t,e){const n=t.def.nodes[e];if(1&n.flags){const e=Sg(t,n.nodeIndex);return n.element.template?e.template:e.renderElement}if(2&n.flags)return Tg(t,n.nodeIndex).renderText;if(20240&n.flags)return kg(t,n.nodeIndex).instance;throw new Error(`Illegal state: read nodeValue for node index ${e}`)}function Bf(t){return new Vf(t.renderer)}class Vf{constructor(t){this.delegate=t}selectRootElement(t){return this.delegate.selectRootElement(t)}createElement(t,e){const[n,a]=df(e),r=this.delegate.createElement(a,n);return t&&this.delegate.appendChild(t,r),r}createViewRoot(t){return t}createTemplateAnchor(t){const e=this.delegate.createComment("");return t&&this.delegate.appendChild(t,e),e}createText(t,e){const n=this.delegate.createText(e);return t&&this.delegate.appendChild(t,n),n}projectNodes(t,e){for(let n=0;n<e.length;n++)this.delegate.appendChild(t,e[n])}attachViewAfter(t,e){const n=this.delegate.parentNode(t),a=this.delegate.nextSibling(t);for(let r=0;r<e.length;r++)this.delegate.insertBefore(n,e[r],a)}detachView(t){for(let e=0;e<t.length;e++){const n=t[e],a=this.delegate.parentNode(n);this.delegate.removeChild(a,n)}}destroyView(t,e){for(let n=0;n<e.length;n++)this.delegate.destroyNode(e[n])}listen(t,e,n){return this.delegate.listen(t,e,n)}listenGlobal(t,e,n){return this.delegate.listen(t,e,n)}setElementProperty(t,e,n){this.delegate.setProperty(t,e,n)}setElementAttribute(t,e,n){const[a,r]=df(e);null!=n?this.delegate.setAttribute(t,r,n,a):this.delegate.removeAttribute(t,r,a)}setBindingDebugInfo(t,e,n){}setElementClass(t,e,n){n?this.delegate.addClass(t,e):this.delegate.removeClass(t,e)}setElementStyle(t,e,n){null!=n?this.delegate.setStyle(t,e,n):this.delegate.removeStyle(t,e)}invokeElementMethod(t,e,n){t[e].apply(t,n)}setText(t,e){this.delegate.setValue(t,e)}animate(){throw new Error("Renderer.animate is no longer supported!")}}function Yf(t,e,n,a){return new Hf(t,e,n,a)}class Hf{constructor(t,e,n,a){this._moduleType=t,this._parent=e,this._bootstrapComponents=n,this._def=a,this._destroyListeners=[],this._destroyed=!1,this.injector=this,function(t){const e=t._def,n=t._providers=new Array(e.providers.length);for(let a=0;a<e.providers.length;a++){const r=e.providers[a];4096&r.flags||void 0===n[a]&&(n[a]=Mf(t,r))}}(this)}get(t,e=Ls.THROW_IF_NOT_FOUND,n=v.Default){let a=0;return n&v.SkipSelf?a|=1:n&v.Self&&(a|=4),Pf(this,{token:t,tokenKey:Lg(t),flags:a},e)}get instance(){return this.get(this._moduleType)}get componentFactoryResolver(){return this.get(qu)}destroy(){if(this._destroyed)throw new Error(`The ng module ${N(this.instance.constructor)} has already been destroyed.`);this._destroyed=!0,function(t,e){const n=t._def,a=new Set;for(let r=0;r<n.providers.length;r++)if(131072&n.providers[r].flags){const e=t._providers[r];if(e&&e!==bf){const t=e.ngOnDestroy;"function"!=typeof t||a.has(e)||(t.apply(e),a.add(e))}}}(this),this._destroyListeners.forEach(t=>t())}onDestroy(t){this._destroyListeners.push(t)}}const Uf=Lg(Uu),Wf=Lg(Zu),Kf=Lg(Gu),$f=Lg(_g),Zf=Lg(hg),Jf=Lg(Wi),Xf=Lg(Ls),Qf=Lg(B);function tp(t,e,n,a,r,o,i,s){const c=[];if(i)for(let d in i){const[t,e]=i[d];c[t]={flags:8,name:d,nonMinifiedName:e,ns:null,securityContext:null,suffix:null}}const l=[];if(s)for(let d in s)l.push({type:1,propName:d,target:null,eventName:s[d]});return ap(t,e|=16384,n,a,r,r,o,c,l)}function ep(t,e,n){return ap(-1,t|=16,null,0,e,e,n)}function np(t,e,n,a,r){return ap(-1,t,e,0,n,a,r)}function ap(t,e,n,a,r,o,i,s,c){const{matchedQueries:l,references:d,matchedQueryIds:u}=Xg(n);c||(c=[]),s||(s=[]),o=E(o);const g=Qg(i,N(r));return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:t,flags:e,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:l,matchedQueryIds:u,references:d,ngContentIndex:-1,childCount:a,bindings:s,bindingFlags:uf(s),outputs:c,element:null,provider:{token:r,value:o,deps:g},text:null,query:null,ngContent:null}}function rp(t,e){return cp(t,e)}function op(t,e){let n=t;for(;n.parent&&!$g(n);)n=n.parent;return lp(n.parent,Wg(n),!0,e.provider.value,e.provider.deps)}function ip(t,e){const n=lp(t,e.parent,(32768&e.flags)>0,e.provider.value,e.provider.deps);if(e.outputs.length)for(let a=0;a<e.outputs.length;a++){const r=e.outputs[a],o=n[r.propName];if(!Kl(o))throw new Error(`@Output ${r.propName} not initialized in '${n.constructor.name}'.`);{const n=o.subscribe(sp(t,e.parent.nodeIndex,r.eventName));t.disposables[e.outputIndex+a]=n.unsubscribe.bind(n)}}return n}function sp(t,e,n){return a=>Hg(t,e,n,a)}function cp(t,e){const n=(8192&e.flags)>0,a=e.provider;switch(201347067&e.flags){case 512:return lp(t,e.parent,n,a.value,a.deps);case 1024:return function(t,e,n,a,r){const o=r.length;switch(o){case 0:return a();case 1:return a(up(t,e,n,r[0]));case 2:return a(up(t,e,n,r[0]),up(t,e,n,r[1]));case 3:return a(up(t,e,n,r[0]),up(t,e,n,r[1]),up(t,e,n,r[2]));default:const i=Array(o);for(let a=0;a<o;a++)i[a]=up(t,e,n,r[a]);return a(...i)}}(t,e.parent,n,a.value,a.deps);case 2048:return up(t,e.parent,n,a.deps[0]);case 256:return a.value}}function lp(t,e,n,a,r){const o=r.length;switch(o){case 0:return new a;case 1:return new a(up(t,e,n,r[0]));case 2:return new a(up(t,e,n,r[0]),up(t,e,n,r[1]));case 3:return new a(up(t,e,n,r[0]),up(t,e,n,r[1]),up(t,e,n,r[2]));default:const i=new Array(o);for(let a=0;a<o;a++)i[a]=up(t,e,n,r[a]);return new a(...i)}}const dp={};function up(t,e,n,a,r=Ls.THROW_IF_NOT_FOUND){if(8&a.flags)return a.token;const o=t;2&a.flags&&(r=null);const i=a.tokenKey;i===Jf&&(n=!(!e||!e.element.componentView)),e&&1&a.flags&&(n=!1,e=e.parent);let s=t;for(;s;){if(e)switch(i){case Uf:return Bf(gp(s,e,n));case Wf:return gp(s,e,n).renderer;case Kf:return new Gu(Sg(s,e.nodeIndex).renderElement);case $f:return Sg(s,e.nodeIndex).viewContainer;case Zf:if(e.element.template)return Sg(s,e.nodeIndex).template;break;case Jf:return Df(gp(s,e,n));case Xf:case Qf:return Ff(s,e);default:const t=(n?e.element.allProviders:e.element.publicProviders)[i];if(t){let e=kg(s,t.nodeIndex);return e||(e={instance:cp(s,t)},s.nodes[t.nodeIndex]=e),e.instance}}n=$g(s),e=Wg(s),s=s.parent,4&a.flags&&(s=null)}const c=o.root.injector.get(a.token,dp);return c!==dp||r===dp?c:o.root.ngModule.injector.get(a.token,r)}function gp(t,e,n){let a;if(n)a=Sg(t,e.nodeIndex).componentView;else for(a=t;a.parent&&!$g(a);)a=a.parent;return a}function fp(t,e,n,a,r,o){if(32768&n.flags){const e=Sg(t,n.parent.nodeIndex).componentView;2&e.def.flags&&(e.state|=8)}if(e.instance[n.bindings[a].name]=r,524288&n.flags){o=o||{};const e=kc.unwrap(t.oldValues[n.bindingIndex+a]);o[n.bindings[a].nonMinifiedName]=new mu(e,r,0!=(2&t.state))}return t.oldValues[n.bindingIndex+a]=r,o}function pp(t,e){if(!(t.def.nodeFlags&e))return;const n=t.def.nodes;let a=0;for(let r=0;r<n.length;r++){const o=n[r];let i=o.parent;for(!i&&o.flags&e&&hp(t,r,o.flags&e,a++),0==(o.childFlags&e)&&(r+=o.childCount);i&&1&i.flags&&r===i.nodeIndex+i.childCount;)i.directChildFlags&e&&(a=mp(t,i,e,a)),i=i.parent}}function mp(t,e,n,a){for(let r=e.nodeIndex+1;r<=e.nodeIndex+e.childCount;r++){const e=t.def.nodes[r];e.flags&n&&hp(t,r,e.flags&n,a++),r+=e.childCount}return a}function hp(t,e,n,a){const r=kg(t,e);if(!r)return;const o=r.instance;o&&(Ag.setCurrentNode(t,e),1048576&n&&wg(t,512,a)&&o.ngAfterContentInit(),2097152&n&&o.ngAfterContentChecked(),4194304&n&&wg(t,768,a)&&o.ngAfterViewInit(),8388608&n&&o.ngAfterViewChecked(),131072&n&&o.ngOnDestroy())}function bp(t){const e=[];for(let n in t)t.hasOwnProperty(n)&&e.push({propName:t[n],templateName:n});return e}const yp=new G("SCHEDULER_TOKEN",{providedIn:"root",factory:()=>pn});class _p extends Au{constructor(t,e){super(),this.componentDef=t,this.ngModule=e,this.componentType=t.type,this.selector=t.selectors[0][0]||"div",this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!e}get inputs(){return bp(this.componentDef.inputs)}get outputs(){return bp(this.componentDef.outputs)}create(t,e,n,a){const r=(a=a||this.ngModule)?function(t,e){return{get:(n,a,r)=>{const o=t.get(n,dp,r);return o!==dp||a===dp?o:e.get(n,a,r)}}}(t,a.injector):t,o=r.get(Ku,Kn),i=r.get(gr,null);cn();const s=n?Eo(o,n):Co(this.selector,o.createRenderer(null,this.componentDef)),c=this.componentDef.onPush?576:528,l="string"==typeof n&&/^#root-ng-internal-isolated-\d+/.test(n),d=gu(),u=o.createRenderer(s,this.componentDef);n&&s&&(Wn(u)?u.setAttribute(s,"ng-version",tg.full):s.setAttribute("ng-version",tg.full));const g=Po(null,Ao(-1,null,1,0,null,null,null,null),d,c,null,null,o,u,i,r),f=Ze(g,null);let p,m,h=!1;try{const t=du(s,this.componentDef,g,o,u);m=ue(0,g),e&&(m.projection=e.map(t=>Array.from(t))),p=uu(t,this.componentDef,g,d,[fu]),Xo(g,t),Oo(g),h=!0}finally{Xe(f,h)}const b=new Op(this.componentType,p,Vi(Gu,m,g),g,m);return n&&!l||(b.hostView._tViewNode.child=m),b}}class Op extends Ru{constructor(t,e,n,a,r){super(),this.location=n,this._rootLView=a,this._tNode=r,this.destroyCbs=[],this.instance=e,this.hostView=this.changeDetectorRef=new Fi(a),this.hostView._tViewNode=xo(a[1],null,-1,a),this.componentType=t}get injector(){return new va(this._tNode,this._rootLView)}destroy(){this.destroyCbs&&(this.destroyCbs.forEach(t=>t()),this.destroyCbs=null,!this.hostView.destroyed&&this.hostView.destroy())}onDestroy(t){this.destroyCbs&&this.destroyCbs.push(t)}}const vp={},Cp=function(){var t={LocaleId:0,DayPeriodsFormat:1,DayPeriodsStandalone:2,DaysFormat:3,DaysStandalone:4,MonthsFormat:5,MonthsStandalone:6,Eras:7,FirstDayOfWeek:8,WeekendRange:9,DateFormat:10,TimeFormat:11,DateTimeFormat:12,NumberSymbols:13,NumberFormats:14,CurrencySymbol:15,CurrencyName:16,Currencies:17,PluralCase:18,ExtraData:19};return t[t.LocaleId]="LocaleId",t[t.DayPeriodsFormat]="DayPeriodsFormat",t[t.DayPeriodsStandalone]="DayPeriodsStandalone",t[t.DaysFormat]="DaysFormat",t[t.DaysStandalone]="DaysStandalone",t[t.MonthsFormat]="MonthsFormat",t[t.MonthsStandalone]="MonthsStandalone",t[t.Eras]="Eras",t[t.FirstDayOfWeek]="FirstDayOfWeek",t[t.WeekendRange]="WeekendRange",t[t.DateFormat]="DateFormat",t[t.TimeFormat]="TimeFormat",t[t.DateTimeFormat]="DateTimeFormat",t[t.NumberSymbols]="NumberSymbols",t[t.NumberFormats]="NumberFormats",t[t.CurrencySymbol]="CurrencySymbol",t[t.CurrencyName]="CurrencyName",t[t.Currencies]="Currencies",t[t.PluralCase]="PluralCase",t[t.ExtraData]="ExtraData",t}(),Pp=void 0;var Mp=["en",[["a","p"],["AM","PM"],Pp],[["AM","PM"],Pp,Pp],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],Pp,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],Pp,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",Pp,"{1} 'at' {0}",Pp],[".",",",";","%","+","-","E","×","‰","∞","NaN",":"],["#,##0.###","#,##0%","¤#,##0.00","#E0"],"$","US Dollar",{},function(t){let e=Math.floor(Math.abs(t)),n=t.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===n?1:5}];function xp(t){return wp(t)[Cp.PluralCase]}function wp(t){const e=t.toLowerCase().replace(/_/g,"-");let n=vp[e];if(n)return n;const a=e.split("-")[0];if(n=vp[a],n)return n;if("en"===a)return Mp;throw new Error(`Missing locale data for the locale "${t}".`)}const Tp="en-US",Sp=/^\s*(�\d+:?\d*�)\s*,\s*(select|plural)\s*,/,kp=/�\/?\*(\d+:\d+)�/gi,Ip=/�(\/?[#*!]\d+):?\d*�/gi,Np=/�(\d+):?\d*�/gi,Rp=/({\s*�\d+:?\d*�\s*,\s*\S{6}\s*,[\s\S]*})/gi,Ap=/\[(�.+?�?)\]/,Ep=/\[(�.+?�?)\]|(�\/?\*\d+:\d+�)/g,Dp=/({\s*)(VAR_(PLURAL|SELECT)(_\d+)?)(\s*,)/g,Lp=/{([A-Z0-9_]+)}/g,qp=/�I18N_EXP_(ICU(_\d+)?)�/g,jp=/\/\*/,Fp=/\d+\:(\d+)/;function zp(t){if(!t)return[];let e=0;const n=[],a=[],r=/[{}]/g;let o;for(r.lastIndex=0;o=r.exec(t);){const r=o.index;if("}"==o[0]){if(n.pop(),0==n.length){const n=t.substring(e,r);Sp.test(n)?a.push(Gp(n)):a.push(n),e=r+1}}else{if(0==n.length){const n=t.substring(e,r);a.push(n),e=r+1}n.push("{")}}const i=t.substring(e);return a.push(i),a}function Gp(t){const e=[],n=[];let a=1,r=0;const o=zp(t=t.replace(Sp,(function(t,e,n){return a="select"===n?0:1,r=parseInt(e.substr(1),10),""})));for(let i=0;i<o.length;){let t=o[i++].trim();1===a&&(t=t.replace(/\s*(?:=)?(\w+)\s*/,"$1")),t.length&&e.push(t);const r=zp(o[i++]);e.length>n.length&&n.push(r)}return'Missing key "other" in ICU statement.',e.indexOf("other")<=-1&&gt('Missing key "other" in ICU statement.'),{type:a,mainBinding:r,cases:e,values:n}}function Bp(t){let e,n,a="",r=0,o=!1;for(;null!==(e=kp.exec(t));)o?e[0]===`�/*${n}�`&&(r=e.index,o=!1):(a+=t.substring(r,e.index+e[0].length),n=e[1],o=!0);return a+=t.substr(r),a}function Vp(t,e,n,a=null){const r=[null,null],o=t.split(Np);let i=0;for(let s=0;s<o.length;s++){const t=o[s];if(1&s){const e=parseInt(t,10);r.push(-1-e),i|=Wp(e)}else""!==t&&r.push(t)}return r.push(e<<2|(n?1:0)),n&&r.push(n,a),r[0]=i,r[1]=r.length-2,r}function Yp(t,e=0){let n;e|=Wp(t.mainBinding);for(let a=0;a<t.values.length;a++){const r=t.values[a];for(let t=0;t<r.length;t++){const a=r[t];if("string"==typeof a)for(;n=Np.exec(a);)e|=Wp(parseInt(n[1],10));else e=Yp(a,e)}}return e}const Hp=[];let Up=-1;function Wp(t){return 1<<Math.min(t,31)}const Kp=[];function $p(t,e,n){const a=Pe()[1];Hp[++Up]=t,rd(!0),a.firstTemplatePass&&null===a.data[t+19]&&function(t,e,n,a){const r=Pe(),o=t.blueprint.length-19;Zp=0;const i=Ee(),s=qe()?Ee():i&&i.parent;let c=s&&s!==r[6]?s.index-19:e,l=0;Kp[l]=c;const d=[];e>0&&i!==s&&d.push(i.index<<3|0);const u=[],g=[],f=(p=function(t,e){if("number"!=typeof e)return Bp(t);{const n=t.indexOf(`:${e}�`)+2+e.toString().length,a=t.search(new RegExp(`�\\/\\*\\d+:${e}�`));return Bp(t.substring(n,a))}}(n,a),p.replace(fm," ")).split(Ip);var p;for(let m=0;m<f.length;m++){let t=f[m];if(1&m)if("/"===t.charAt(0)){if("#"===t.charAt(1)){const e=parseInt(t.substr(2),10);c=Kp[--l],d.push(e<<3|5)}}else{const e=parseInt(t.substr(1),10);d.push(e<<3|0,c<<17|1),"#"===t.charAt(0)&&(Kp[++l]=c=e)}else{const e=zp(t);for(let t=0;t<e.length;t++)if(1&t){const n=o+Zp++;d.push(io,"",n,c<<17|1);const a=e[t],r=Yp(a);dm(g,a,n,n);const i=g.length-1;u.push(Wp(a.mainBinding),3,-1-a.mainBinding,n<<2|2,i,r,2,n<<2|3,i)}else if(""!==e[t]){const n=e[t],a=n.match(Np),r=o+Zp++;d.push(a?"":n,r,c<<17|1),a&&st(Vp(n,r),u)}}}Zp>0&&function(t,e){if(e>0){const n=t[1];if(n.firstTemplatePass){for(let a=0;a<e;a++)n.blueprint.push(null),n.data.push(null),t.push(null);n.expandoInstructions?n.expandoInstructions.push(e):n.expandoStartIndex+=e}}}(r,Zp),t.data[e+19]={vars:Zp,create:d,update:u,icus:g.length?g:null}}(a,t,e,n)}let Zp;function Jp(t,e,n,a){const r=t.next;n||(n=e),n===e&&t!==e.child?(t.next=e.child,e.child=t):n!==e&&t!==n.next?(t.next=n.next,n.next=t):t.next=null,e!==a[6]&&(t.parent=e);let o=t.next;for(;o;)o.next===t&&(o.next=r),o=o.next;if(1===t.type)return Ai(a,t,t.projection,aa(a)),t;Ii(le(t,a),t,a);const i=a[t.index];return 0!==t.type&&Yt(i)&&Ii(i[7],t,a),t}function Xp(t,e={}){let n=t;if(Ap.test(t)){const t={},e=[0];n=n.replace(Ep,(n,a,r)=>{const o=a||r,i=t[o]||[];if(i.length||(o.split("|").forEach(t=>{const e=t.match(Fp),n=e?parseInt(e[1],10):0,a=jp.test(t);i.push([n,a,t])}),t[o]=i),!i.length)throw new Error(`i18n postprocess: unmatched placeholder - ${o}`);const s=e[e.length-1];let c=0;for(let t=0;t<i.length;t++)if(i[t][0]===s){c=t;break}const[l,d,u]=i[c];return d?e.pop():s!==l&&e.push(l),i.splice(c,1),u})}return Object.keys(e).length?(n=n.replace(Dp,(t,n,a,r,o,i)=>e.hasOwnProperty(a)?`${n}${e[a]}${i}`:t),n=n.replace(Lp,(t,n)=>e.hasOwnProperty(n)?e[n]:t),n=n.replace(qp,(t,n)=>{if(e.hasOwnProperty(n)){const a=e[n];if(!a.length)throw new Error(`i18n postprocess: unmatched ICU - ${t} with key: ${n}`);return a.shift()}return t}),n):n}function Qp(){!function(t){const e=Pe(),n=Hp[Up--],a=t.data[n+19];let r=Ee();const o=em(n,a.create,0,e);for(let i=n+1;i<=r.index-19;i++)-1===o.indexOf(i)&&nm(i,e)}(Pe()[1]),rd(!1)}function tm(t,e,n,a,r){const o=Ee();t[e+19]=a;const i=Mo(t[1],t[6],e,n,r,null);return o.next===i&&(o.next=null),i}function em(t,e,n,a){const r=Pe()[12];let o=null,i=null;const s=[];for(let c=0;c<e.length;c++){const n=e[c];if("string"==typeof n){const t=yi(n,r),l=e[++c];i=o,o=tm(a,l,3,t,null),s.push(l),je()}else if("number"==typeof n)switch(7&n){case 1:const r=n>>>17;let l;l=r===t?a[6]:ue(r,a),i=Jp(o,l,i,a);break;case 0:const d=n>>>3;s.push(d),i=o,o=ue(d,a),o&&De(o,3===o.type);break;case 5:i=o=ue(n>>>3,a),De(o,!1);break;case 4:$o(n>>>3,e[++c],e[++c],a);break;default:throw new Error(`Unable to determine the type of mutate operation for "${n}"`)}else switch(n){case io:const t=e[++c],l=e[++c],d=r.createComment(t);i=o,o=tm(a,l,5,d,null),s.push(l),Ir(d,a),o.activeCaseIndex=null,je();break;case oo:const u=e[++c],g=e[++c];i=o,o=tm(a,g,3,r.createElement(u),u),s.push(g);break;default:throw new Error(`Unable to determine the type of mutate operation for "${n}"`)}}return je(),s}function nm(t,e){const n=ue(t,e),a=ce(t,e);a&&Ri(e[12],a);const r=pl(t);if(Yt(r)){const t=r;0!==n.type&&Ri(e[12],t[7])}n.flags|=32}function am(t,e,n){$p(t,e,n),Qp()}function rm(t,e){!function(t,e,n){const a=Ee().index-19,r=[];for(let o=0;o<n.length;o+=2){const i=n[o],s=n[o+1].split(Rp);for(let n=0;n<s.length;n++){const o=s[n];if(1&n)throw new Error("ICU expressions are not yet supported in attributes");if(""!==o)if(o.match(Np))t.firstTemplatePass&&null===t.data[e+19]&&st(Vp(o,a,i),r);else{const t=Pe();$o(a,i,o,t);const e=ue(a,t),n=e.inputs&&e.inputs[i];n&&gi(t,n,o)}}}t.firstTemplatePass&&null===t.data[e+19]&&(t.data[e+19]=r)}(Pe()[1],t,e)}let om=0,im=0;function sm(t){return Fc(Pe(),t)!==ro&&(om|=1<<im),im++,sm}function cm(t){if(im){const e=Pe(),n=e[1].data[t+19];let a,r=null;Array.isArray(n)?a=n:(a=n.update,r=n.icus),function t(e,n,a,r,o,i=!1){let s=!1;for(let c=0;c<e.length;c++){const l=e[c],d=e[++c];if(i||l&r){let i="";for(let l=c+1;l<=c+d;l++){const c=e[l];if("string"==typeof c)i+=c;else if("number"==typeof c)if(c<0)i+=gn(o[a-c]);else{const d=c>>>2;let u,g,f;switch(3&c){case 1:jo(d,e[++l],i,e[++l]);break;case 0:fi(o,d,i);break;case 2:if(u=e[++l],g=n[u],f=ue(d,o),null!==f.activeCaseIndex){const t=g.remove[f.activeCaseIndex];for(let e=0;e<t.length;e++){const a=t[e];switch(7&a){case 3:nm(a>>>3,o);break;case 6:const r=ue(t[e+1]>>>3,o).activeCaseIndex;null!==r&&st(n[a>>>3].remove[r],t)}}}const c=lm(g,i);f.activeCaseIndex=-1!==c?c:null,em(-1,g.create[c],0,o),s=!0;break;case 3:u=e[++l],g=n[u],f=ue(d,o),t(g.update[f.activeCaseIndex],n,a,r,o,s)}}}}c+=d}}(a,r,e[7]-im-1,om,e),om=0,im=0}}function lm(t,e){let n=t.cases.indexOf(e);if(-1===n)switch(t.type){case 1:{const a=function(t,e){switch(xp(e)(t)){case 0:return"zero";case 1:return"one";case 2:return"two";case 3:return"few";case 4:return"many";default:return"other"}}(e,ym);n=t.cases.indexOf(a),-1===n&&"other"!==a&&(n=t.cases.indexOf("other"));break}case 0:n=t.cases.indexOf("other")}return n}function dm(t,e,n,a){const r=[],o=[],i=[],s=[],c=[];for(let l=0;l<e.values.length;l++){const d=e.values[l],u=[];for(let t=0;t<d.length;t++){const e=d[t];if("string"!=typeof e){const n=u.push(e)-1;d[t]=`\x3c!--�${n}�--\x3e`}}const g=um(d.join(""),n,u,t,a);r.push(g.create),o.push(g.remove),i.push(g.update),s.push(g.vars),c.push(g.childIcus)}t.push({type:e.type,vars:s,childIcus:c,cases:e.cases,create:r,remove:o,update:i}),Zp+=Math.max(...s)}function um(t,e,n,a,r){const o=new Ba(document).getInertBodyElement(t);if(!o)throw new Error("Unable to generate inert body element");const i={vars:0,childIcus:[],create:[],remove:[],update:[]};return function t(e,n,a,r,o,i){if(e){const s=[];for(;e;){const c=e.nextSibling,l=i+ ++n.vars;switch(e.nodeType){case Node.ELEMENT_NODE:const c=e,d=c.tagName.toLowerCase();if(Qa.hasOwnProperty(d)){n.create.push(oo,d,l,a<<17|1);const s=c.attributes;for(let t=0;t<s.length;t++){const e=s.item(t),a=e.name.toLowerCase();e.value.match(Np)?nr.hasOwnProperty(a)&&st(tr[a]?Vp(e.value,l,e.name,Ha):er[a]?Vp(e.value,l,e.name,Ua):Vp(e.value,l,e.name),n.update):n.create.push(l<<3|4,e.name,e.value)}t(e.firstChild,n,l,r,o,i),n.remove.push(l<<3|3)}else n.vars--;break;case Node.TEXT_NODE:const u=e.textContent||"",g=u.match(Np);n.create.push(g?"":u,l,a<<17|1),n.remove.push(l<<3|3),g&&st(Vp(u,l),n.update);break;case Node.COMMENT_NODE:const f=gm.exec(e.textContent||"");if(f){const t=parseInt(f[1],10);n.create.push(io,"",l,a<<17|1),s.push([r[t],l])}else n.vars--;break;default:n.vars--}e=c}for(let t=0;t<s.length;t++){const e=s[t][0],a=s[t][1];dm(o,e,a,i+n.vars);const r=o.length-1;n.vars+=Math.max(...o[r].vars),n.childIcus.push(r);const c=Yp(e);n.update.push(Wp(e.mainBinding),3,-1-e.mainBinding,a<<2|2,r,c,2,a<<2|3,r),n.remove.push(r<<3|6,a<<3|3)}}}((dr(o)||o).firstChild,i,e,n,a,r),i}const gm=/�(\d+)�/,fm=/\uE500/g;let pm={};function mm(t={translations:{}}){pm=t.translations}const hm=/\{\$(.*?)\}/g;function bm(t,e){return void 0!==pm[t]&&(t=pm[t]),void 0!==e&&Object.keys(e).length?t.replace(hm,(t,n)=>e[n]||""):t}let ym=Tp;function _m(t){null==t&&gt("Expected localeId to be defined"),"string"==typeof t&&(ym=t.toLowerCase().replace(/_/g,"-"))}const Om=new Map;function vm(t,e){const n=Om.get(t);Cm(t,n&&n.moduleType,e.moduleType),Om.set(t,e)}function Cm(t,e,n){if(e&&e!==n)throw new Error(`Duplicate module registered for ${t} - ${N(e)} vs ${N(e.name)}`)}function Pm(t){if(null!==t.ngModuleDef.id){const e=t.ngModuleDef.id;Cm(e,Om.get(e),t),Om.set(e,t)}let e=t.ngModuleDef.imports;e instanceof Function&&(e=e()),e&&e.forEach(t=>Pm(t))}function Mm(t){return Om.get(t)}const xm={provide:qu,useClass:class extends qu{constructor(t){super(),this.ngModule=t}resolveComponentFactory(t){const e=jt(t);return new _p(e,this.ngModule)}},deps:[ot]};class wm extends ot{constructor(t,e){super(),this._parent=e,this._bootstrapComponents=[],this.injector=this,this.destroyCbs=[];const n=Bt(t),a=t[Mt]||null;a&&_m(a),this._bootstrapComponents=_n(n.bootstrap),this._r3Injector=Ts(t,e,[{provide:ot,useValue:this},xm],N(t)),this.instance=this.get(t)}get(t,e=Ls.THROW_IF_NOT_FOUND,n=v.Default){return t===Ls||t===ot||t===B?this:this._r3Injector.get(t,e,n)}get componentFactoryResolver(){return this.get(qu)}destroy(){const t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class Tm extends it{constructor(t){super(),this.moduleType=t,null!==Bt(t)&&Pm(t)}create(t){return new wm(this.moduleType,t)}}function Sm(t,e,n,a){return bt(()=>{const r=t,o=r.prototype?Object.getPrototypeOf(r.prototype):null,i=o&&o.constructor;null!==e&&(void 0===r.decorators||i&&i.decorators===r.decorators?r.decorators=e:r.decorators.push(...e)),null!==n&&(r.ctorParameters=n),null!==a&&(r.propDecorators=void 0===r.propDecorators||i&&i.propDecorators===r.propDecorators?a:Object.assign({},r.propDecorators,a))})}function km(t,e,n){const a=He()+t,r=Pe();return Fe()?Rc(r,a,n?e.call(n):e()):Ac(r,a)}function Im(t,e,n,a){const r=Pe(),o=He()+t;return Ec(r,o,n)?Rc(r,o+1,a?e.call(a,n):e(n)):Ac(r,o+1)}function Nm(t,e,n,a,r){const o=He()+t,i=Pe();return Dc(i,o,n,a)?Rc(i,o+2,r?e.call(r,n,a):e(n,a)):Ac(i,o+2)}function Rm(t,e,n,a,r,o){const i=He()+t,s=Pe();return Lc(s,i,n,a,r)?Rc(s,i+3,o?e.call(o,n,a,r):e(n,a,r)):Ac(s,i+3)}function Am(t,e,n,a,r,o,i){const s=He()+t,c=Pe();return qc(c,s,n,a,r,o)?Rc(c,s+4,i?e.call(i,n,a,r,o):e(n,a,r,o)):Ac(c,s+4)}function Em(t,e,n,a,r,o,i,s){const c=He()+t,l=Pe(),d=qc(l,c,n,a,r,o);return Ec(l,c+4,i)||d?Rc(l,c+5,s?e.call(s,n,a,r,o,i):e(n,a,r,o,i)):Ac(l,c+5)}function Dm(t,e,n,a,r,o,i,s,c){const l=He()+t,d=Pe(),u=qc(d,l,n,a,r,o);return Dc(d,l+4,i,s)||u?Rc(d,l+6,c?e.call(c,n,a,r,o,i,s):e(n,a,r,o,i,s)):Ac(d,l+6)}function Lm(t,e,n,a,r,o,i,s,c,l){const d=He()+t,u=Pe();let g=qc(u,d,n,a,r,o);return Lc(u,d+4,i,s,c)||g?Rc(u,d+7,l?e.call(l,n,a,r,o,i,s,c):e(n,a,r,o,i,s,c)):Ac(u,d+7)}function qm(t,e,n,a,r,o,i,s,c,l,d){const u=He()+t,g=Pe(),f=qc(g,u,n,a,r,o);return qc(g,u+4,i,s,c,l)||f?Rc(g,u+8,d?e.call(d,n,a,r,o,i,s,c,l):e(n,a,r,o,i,s,c,l)):Ac(g,u+8)}function jm(t,e,n,a){let r=He()+t,o=!1;const i=Pe();for(let s=0;s<n.length;s++)Ec(i,r++,n[s])&&(o=!0);return o?Rc(i,r,e.apply(a,n)):Ac(i,r)}function Fm(t,e){const n=Pe()[1];let a;const r=t+19;n.firstTemplatePass?(a=function(t,e){if(e)for(let n=e.length-1;n>=0;n--){const a=e[n];if(t===a.name)return a}throw new Error(`The pipe '${t}' could not be found!`)}(e,n.pipeRegistry),n.data[r]=a,a.onDestroy&&(n.destroyHooks||(n.destroyHooks=[])).push(r,a.onDestroy)):a=n.data[r];const o=a.factory();return gl(t,o),o}function zm(t,e,n){const a=pl(t);return Um(Hm(t)?Im(e,a.transform,n,a):a.transform(n))}function Gm(t,e,n,a){const r=pl(t);return Um(Hm(t)?Nm(e,r.transform,n,a,r):r.transform(n,a))}function Bm(t,e,n,a,r){const o=pl(t);return Um(Hm(t)?Rm(e,o.transform,n,a,r,o):o.transform(n,a,r))}function Vm(t,e,n,a,r,o){const i=pl(t);return Um(Hm(t)?Am(e,i.transform,n,a,r,o,i):i.transform(n,a,r,o))}function Ym(t,e,n){const a=pl(t);return Um(Hm(t)?jm(e,a.transform,n,a):a.transform.apply(a,n))}function Hm(t){return Pe()[1].data[t+19].pure}function Um(t){if(kc.isWrapped(t)){t=kc.unwrap(t);const e=Pe();e[e[7]]=ro}return t}class Wm extends a.a{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,e,n){let a,o=t=>null,i=()=>null;t&&"object"==typeof t?(a=this.__isAsync?e=>{setTimeout(()=>t.next(e))}:e=>{t.next(e)},t.error&&(o=this.__isAsync?e=>{setTimeout(()=>t.error(e))}:e=>{t.error(e)}),t.complete&&(i=this.__isAsync?()=>{setTimeout(()=>t.complete())}:()=>{t.complete()})):(a=this.__isAsync?e=>{setTimeout(()=>t(e))}:e=>{t(e)},e&&(o=this.__isAsync?t=>{setTimeout(()=>e(t))}:t=>{e(t)}),n&&(i=this.__isAsync?()=>{setTimeout(()=>n())}:()=>{n()}));const s=super.subscribe(a,o,i);return t instanceof r.a&&t.add(s),s}}function Km(){return this._results[wc()]()}class $m{constructor(){this.dirty=!0,this._results=[],this.changes=new Wm,this.length=0;const t=wc(),e=$m.prototype;e[t]||(e[t]=Km)}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,e){return this._results.reduce(t,e)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(t){this._results=ct(t),this.dirty=!1,this.length=this._results.length,this.last=this._results[this.length-1],this.first=this._results[0]}notifyOnChanges(){this.changes.emit(this)}setDirty(){this.dirty=!0}destroy(){this.changes.complete(),this.changes.unsubscribe()}}class Zm{constructor(t){this.queryList=t,this.matches=null}clone(){return new Zm(this.queryList)}setDirty(){this.queryList.setDirty()}}class Jm{constructor(t=[]){this.queries=t}createEmbeddedView(t){const e=t.queries;if(null!==e){const n=null!==t.contentQueries?t.contentQueries[0]:e.length,a=new Array(n);for(let t=0;t<n;t++){const n=e.getByIndex(t);a[t]=this.queries[n.indexInDeclarationView].clone()}return new Jm(a)}return null}insertView(t){this.dirtyQueriesWithMatches(t)}detachView(t){this.dirtyQueriesWithMatches(t)}dirtyQueriesWithMatches(t){for(let e=0;e<this.queries.length;e++)null!==hh(t,e).matches&&this.queries[e].setDirty()}}class Xm{constructor(t,e,n,a=null){this.predicate=t,this.descendants=e,this.isStatic=n,this.read=a}}class Qm{constructor(t=[]){this.queries=t}elementStart(t,e){for(let n of this.queries)n.elementStart(t,e)}elementEnd(t){for(let e of this.queries)e.elementEnd(t)}embeddedTView(t){let e=null;for(let n=0;n<this.length;n++){const a=null!==e?e.length:0,r=this.getByIndex(n).embeddedTView(t,a);r&&(r.indexInDeclarationView=n,null!==e?e.push(r):e=[r])}return null!==e?new Qm(e):null}template(t,e){for(let n of this.queries)n.template(t,e)}getByIndex(t){return this.queries[t]}get length(){return this.queries.length}track(t){this.queries.push(t)}}class th{constructor(t,e=-1){this.metadata=t,this.matches=null,this.indexInDeclarationView=-1,this.crossesNgTemplate=!1,this._appliesToNextNode=!0,this._declarationNodeIndex=e}elementStart(t,e){this.isApplyingToNode(e)&&this.matchTNode(t,e)}elementEnd(t){this._declarationNodeIndex===t.index&&(this._appliesToNextNode=!1)}template(t,e){this.elementStart(t,e)}embeddedTView(t,e){return this.isApplyingToNode(t)?(this.crossesNgTemplate=!0,this.addMatch(-t.index,e),new th(this.metadata)):null}isApplyingToNode(t){return this._appliesToNextNode&&!1===this.metadata.descendants?this._declarationNodeIndex===(t.parent?t.parent.index:-1):this._appliesToNextNode}matchTNode(t,e){if(Array.isArray(this.metadata.predicate)){const n=this.metadata.predicate;for(let a=0;a<n.length;a++)this.matchTNodeWithReadOption(t,e,eh(e,n[a]))}else{const n=this.metadata.predicate;n===hg?0===e.type&&this.matchTNodeWithReadOption(t,e,-1):this.matchTNodeWithReadOption(t,e,ba(e,t,n,!1,!1))}}matchTNodeWithReadOption(t,e,n){if(null!==n){const a=this.metadata.read;if(null!==a)if(a===Gu||a===_g||a===hg&&0===e.type)this.addMatch(e.index,-2);else{const n=ba(e,t,a,!1,!1);null!==n&&this.addMatch(e.index,n)}else this.addMatch(e.index,n)}}addMatch(t,e){null===this.matches?this.matches=[t,e]:this.matches.push(t,e)}}function eh(t,e){const n=t.localNames;if(null!==n)for(let a=0;a<n.length;a+=2)if(n[a]===e)return n[a+1];return null}function nh(t,e,n,a){return-1===n?function(t,e){return 3===t.type||4===t.type?Vi(Gu,t,e):0===t.type?Yi(hg,Gu,t,e):null}(e,t):-2===n?function(t,e,n){return n===Gu?Vi(Gu,e,t):n===hg?Yi(hg,Gu,e,t):n===_g?Hi(_g,Gu,e,t):void 0}(t,e,a):ya(t[1].data,t,n,e)}function ah(t,e,n){const a=t[5].queries[n];if(null===a.matches){const n=t[1].data,r=e.matches,o=new Array(r.length/2);for(let a=0;a<r.length;a+=2){const i=r[a];o[a/2]=i<0?null:nh(t,n[i],r[a+1],e.metadata.read)}a.matches=o}return a.matches}function rh(t){const e=Pe(),n=Ke();$e(n+1);const a=hh(e[1],n);if(t.dirty&&Fe()===a.metadata.isStatic){if(null===a.matches)t.reset([]);else{const r=a.crossesNgTemplate?function t(e,n,a){const r=e[1].queries.getByIndex(n),o=r.matches;if(null!==o){const i=ah(e,r,n);for(let n=0;n<o.length;n+=2){const r=o[n];if(r>0)a.push(i[n/2]);else{const i=o[n+1],s=e[-r];for(let e=9;e<s.length;e++){const n=s[e];n[17]===n[3]&&t(n,i,a)}if(null!==s[5])for(let e of s[5])t(e,i,a)}}}return a}(e,n,[]):ah(e,a,n);t.reset(r),t.notifyOnChanges()}return!0}return!1}function oh(t,e,n){sh(Pe(),t,e,n,!0)}function ih(t,e,n){sh(Pe(),t,e,n,!1)}function sh(t,e,n,a,r){const o=t[1];o.firstTemplatePass&&(mh(o,new Xm(e,n,r,a),-1),r&&(o.staticViewQueries=!0)),ph(t)}function ch(){return fh(Pe(),Ke())}function lh(t,e,n,a){uh(Pe(),e,n,a,!1,Ee(),t)}function dh(t,e,n,a){uh(Pe(),e,n,a,!0,Ee(),t)}function uh(t,e,n,a,r,o,i){const s=t[1];s.firstTemplatePass&&(mh(s,new Xm(e,n,r,a),o.index),function(t,e){const n=t.contentQueries||(t.contentQueries=[]);e!==(t.contentQueries.length?n[n.length-1]:-1)&&n.push(t.queries.length-1,e)}(s,i),r&&(s.staticContentQueries=!0)),ph(t)}function gh(){return fh(Pe(),Ke())}function fh(t,e){return t[5].queries[e].queryList}function ph(t){const e=new $m;!function(t,e,n){const a=ci(t);a.push(e),t[1].firstTemplatePass&&li(t).push(n,a.length-1)}(t,e,e.destroy),null===t[5]&&(t[5]=new Jm),t[5].queries.push(new Zm(e))}function mh(t,e,n){null===t.queries&&(t.queries=new Qm),t.queries.track(new th(e,n))}function hh(t,e){return t.queries.getByIndex(e)}function bh(t,e){return Yi(hg,Gu,t,e)}function yh(t=v.Default){const e=Ui(!0);if(null!=e||t&v.Optional)return e;throw new Error("No provider for ChangeDetectorRef!")}const _h=(()=>({"ɵɵattribute":zc,"ɵɵattributeInterpolate1":Zc,"ɵɵattributeInterpolate2":Jc,"ɵɵattributeInterpolate3":Xc,"ɵɵattributeInterpolate4":Qc,"ɵɵattributeInterpolate5":tl,"ɵɵattributeInterpolate6":el,"ɵɵattributeInterpolate7":nl,"ɵɵattributeInterpolate8":al,"ɵɵattributeInterpolateV":rl,"ɵɵdefineBase":Dt,"ɵɵdefineComponent":St,"ɵɵdefineDirective":Lt,"ɵɵdefineInjectable":M,"ɵɵdefineInjector":w,"ɵɵdefineNgModule":Rt,"ɵɵdefinePipe":qt,"ɵɵdirectiveInject":ml,"ɵɵgetFactoryOf":Ca,"ɵɵgetInheritedFactory":Pa,"ɵɵinject":J,"ɵɵinjectAttribute":hl,"ɵɵinjectPipeChangeDetectorRef":yh,"ɵɵtemplateRefExtractor":bh,"ɵɵNgOnChangesFeature":hu,"ɵɵProvidersFeature":Nu,"ɵɵInheritDefinitionFeature":Ou,"ɵɵcontainer":sl,"ɵɵnextContext":td,"ɵɵcontainerRefreshStart":ll,"ɵɵcontainerRefreshEnd":dl,"ɵɵnamespaceHTML":sn,"ɵɵnamespaceMathML":on,"ɵɵnamespaceSVG":rn,"ɵɵenableBindings":ve,"ɵɵdisableBindings":Ce,"ɵɵallocHostVars":Mc,"ɵɵelementStart":Ll,"ɵɵelementEnd":ql,"ɵɵelement":jl,"ɵɵelementContainerStart":Gl,"ɵɵelementContainerEnd":Bl,"ɵɵelementContainer":Vl,"ɵɵpureFunction0":km,"ɵɵpureFunction1":Im,"ɵɵpureFunction2":Nm,"ɵɵpureFunction3":Rm,"ɵɵpureFunction4":Am,"ɵɵpureFunction5":Em,"ɵɵpureFunction6":Dm,"ɵɵpureFunction7":Lm,"ɵɵpureFunction8":qm,"ɵɵpureFunctionV":jm,"ɵɵgetCurrentView":Ul,"ɵɵrestoreView":Ae,"ɵɵlistener":$l,"ɵɵload":pl,"ɵɵprojection":od,"ɵɵupdateSyntheticHostBinding":Wd,"ɵɵcomponentHostSyntheticListener":Zl,"ɵɵpipeBind1":zm,"ɵɵpipeBind2":Gm,"ɵɵpipeBind3":Bm,"ɵɵpipeBind4":Vm,"ɵɵpipeBindV":Ym,"ɵɵprojectionDef":nd,"ɵɵhostProperty":Ud,"ɵɵproperty":jc,"ɵɵpropertyInterpolate":id,"ɵɵpropertyInterpolate1":sd,"ɵɵpropertyInterpolate2":cd,"ɵɵpropertyInterpolate3":ld,"ɵɵpropertyInterpolate4":dd,"ɵɵpropertyInterpolate5":ud,"ɵɵpropertyInterpolate6":gd,"ɵɵpropertyInterpolate7":fd,"ɵɵpropertyInterpolate8":pd,"ɵɵpropertyInterpolateV":md,"ɵɵpipe":Fm,"ɵɵqueryRefresh":rh,"ɵɵviewQuery":ih,"ɵɵstaticViewQuery":oh,"ɵɵstaticContentQuery":dh,"ɵɵloadViewQuery":ch,"ɵɵcontentQuery":lh,"ɵɵloadContentQuery":gh,"ɵɵreference":fl,"ɵɵelementHostAttrs":Fl,"ɵɵclassMap":Ml,"ɵɵclassMapInterpolate1":Sd,"ɵɵclassMapInterpolate2":kd,"ɵɵclassMapInterpolate3":Id,"ɵɵclassMapInterpolate4":Nd,"ɵɵclassMapInterpolate5":Rd,"ɵɵclassMapInterpolate6":Ad,"ɵɵclassMapInterpolate7":Ed,"ɵɵclassMapInterpolate8":Dd,"ɵɵclassMapInterpolateV":Ld,"ɵɵstyling":bl,"ɵɵstyleMap":Pl,"ɵɵstyleProp":_l,"ɵɵstylePropInterpolate1":qd,"ɵɵstylePropInterpolate2":jd,"ɵɵstylePropInterpolate3":Fd,"ɵɵstylePropInterpolate4":zd,"ɵɵstylePropInterpolate5":Gd,"ɵɵstylePropInterpolate6":Bd,"ɵɵstylePropInterpolate7":Vd,"ɵɵstylePropInterpolate8":Yd,"ɵɵstylePropInterpolateV":Hd,"ɵɵstyleSanitizer":yl,"ɵɵstylingApply":Sl,"ɵɵclassProp":vl,"ɵɵselect":bo,"ɵɵtemplate":cl,"ɵɵtext":hd,"ɵɵtextBinding":bd,"ɵɵtextInterpolate":yd,"ɵɵtextInterpolate1":_d,"ɵɵtextInterpolate2":Od,"ɵɵtextInterpolate3":vd,"ɵɵtextInterpolate4":Cd,"ɵɵtextInterpolate5":Pd,"ɵɵtextInterpolate6":Md,"ɵɵtextInterpolate7":xd,"ɵɵtextInterpolate8":wd,"ɵɵtextInterpolateV":Td,"ɵɵembeddedViewStart":Yl,"ɵɵembeddedViewEnd":Hl,"ɵɵi18n":am,"ɵɵi18nAttributes":rm,"ɵɵi18nExp":sm,"ɵɵi18nStart":$p,"ɵɵi18nEnd":Qp,"ɵɵi18nApply":cm,"ɵɵi18nPostprocess":Xp,"ɵɵi18nLocalize":bm,"ɵɵresolveWindow":mn,"ɵɵresolveDocument":hn,"ɵɵresolveBody":bn,"ɵɵsetComponentScope":kt,"ɵɵsetNgModuleScope":At,"ɵɵsanitizeHtml":hr,"ɵɵsanitizeStyle":br,"ɵɵdefaultStyleSanitizer":Pr,"ɵɵsanitizeResourceUrl":_r,"ɵɵsanitizeScript":Or,"ɵɵsanitizeUrl":yr,"ɵɵsanitizeUrlOrResourceUrl":Cr}))(),Oh=[],vh=[];let Ch=!1;function Ph(){if(!Ch){Ch=!0;try{for(let t=vh.length-1;t>=0;t--){const{moduleType:e,ngModule:n}=vh[t];n.declarations&&n.declarations.every(Mh)&&(vh.splice(t,1),Ih(e,n))}}finally{Ch=!1}}}function Mh(t){return Array.isArray(t)?t.every(Mh):!!E(t)}function xh(t,e={}){wh(t,e),function(t,e){vh.push({moduleType:t,ngModule:e})}(t,e)}function wh(t,e,n=!1){const a=ct(e.declarations||Oh);let r=null;Object.defineProperty(t,Pt,{configurable:!0,get:()=>(null===r&&(r=z().compileNgModule(_h,`ng:///${t.name}/ngModuleDef.js`,{type:t,bootstrap:ct(e.bootstrap||Oh).map(E),declarations:a.map(E),imports:ct(e.imports||Oh).map(E).map(Ah),exports:ct(e.exports||Oh).map(E).map(Ah),emitInline:!0,schemas:e.schemas?ct(e.schemas):null,id:e.id||null})),r)});let o=null;Object.defineProperty(t,I,{get:()=>{if(null===o){const n={name:t.name,type:t,deps:ss(t),providers:e.providers||Oh,imports:[(e.imports||Oh).map(E),(e.exports||Oh).map(E)]};o=z().compileInjector(_h,`ng:///${t.name}/ngInjectorDef.js`,n)}return o},configurable:!1})}let Th=new Map,Sh=new Map;function kh(){Th=new Map,Sh=new Map,vh.length=0}function Ih(t,e){const n=ct(e.declarations||Oh),a=Rh(t);n.forEach(e=>{e.hasOwnProperty(Ot)?Nh(jt(e),a):e.hasOwnProperty(vt)||e.hasOwnProperty(Ct)||(e.ngSelectorScope=t)})}function Nh(t,e){t.directiveDefs=()=>Array.from(e.compilation.directives).map(t=>t.hasOwnProperty(Ot)?jt(t):Ft(t)).filter(t=>!!t),t.pipeDefs=()=>Array.from(e.compilation.pipes).map(t=>zt(t)),t.schemas=e.schemas,t.tView=null}function Rh(t,e){if(!Eh(t))throw new Error(`${t.name} does not have an ngModuleDef`);const n=Bt(t);if(null!==n.transitiveCompileScopes)return n.transitiveCompileScopes;const a={schemas:n.schemas||null,compilation:{directives:new Set,pipes:new Set},exported:{directives:new Set,pipes:new Set}};return _n(n.declarations).forEach(t=>{zt(t)?a.compilation.pipes.add(t):a.compilation.directives.add(t)}),_n(n.imports).forEach(t=>{const n=t;if(!Eh(n))throw new Error(`Importing ${n.name} which does not have an ngModuleDef`);e&&e(n);const r=Rh(n,e);r.exported.directives.forEach(t=>a.compilation.directives.add(t)),r.exported.pipes.forEach(t=>a.compilation.pipes.add(t))}),_n(n.exports).forEach(t=>{const n=t;if(Eh(n)){const t=Rh(n,e);t.exported.directives.forEach(t=>{a.compilation.directives.add(t),a.exported.directives.add(t)}),t.exported.pipes.forEach(t=>{a.compilation.pipes.add(t),a.exported.pipes.add(t)})}else zt(n)?a.exported.pipes.add(n):a.exported.directives.add(n)}),n.transitiveCompileScopes=a,a}function Ah(t){return function(t){return void 0!==t.ngModule}(t)?t.ngModule:t}function Eh(t){return!!Bt(t)}function Dh(t,e){let n=null;!function(t,e){vc(e)&&(_c.set(t,e),Oc.add(t))}(t,e),Object.defineProperty(t,Ot,{get:()=>{const a=z();if(null===n){if(vc(e)){const n=[`Component '${t.name}' is not resolved:`];throw e.templateUrl&&n.push(` - templateUrl: ${e.templateUrl}`),e.styleUrls&&e.styleUrls.length&&n.push(` - styleUrls: ${JSON.stringify(e.styleUrls)}`),n.push("Did you run and wait for 'resolveComponentResources()'?"),new Error(n.join("\n"))}const r=e.templateUrl||`ng:///${t.name}/template.html`,o=Object.assign({},jh(t,e),{typeSourceSpan:a.createParseSourceSpan("Component",t.name,r),template:e.template||"",preserveWhitespaces:e.preserveWhitespaces||!1,styles:e.styles||_t,animations:e.animations,directives:[],changeDetection:e.changeDetection,pipes:new Map,encapsulation:e.encapsulation||ht.Emulated,interpolation:e.interpolation,viewProviders:e.viewProviders||null});if(o.usesInheritance&&Fh(t),n=a.compileComponent(_h,r,o),Ph(),void 0!==t.ngSelectorScope){const e=Rh(t.ngSelectorScope);Nh(n,e)}}return n},configurable:!1}),ls(t)}function Lh(t,e){let n=null;Object.defineProperty(t,vt,{get:()=>{if(null===n){const a=t&&t.name,r=`ng:///${a}/ngDirectiveDef.js`,o=z(),i=jh(t,e);i.typeSourceSpan=o.createParseSourceSpan("Directive",a,r),i.usesInheritance&&Fh(t),n=o.compileDirective(_h,r,i)}return n},configurable:!1}),ls(t)}function qh(t){return Object.getPrototypeOf(t.prototype)===Object.prototype}function jh(t,e){const n=is().ownPropMetadata(t);return{name:t.name,type:t,typeArgumentCount:0,selector:e.selector,deps:ss(t),host:e.host||yt,propMetadata:n,inputs:e.inputs||_t,outputs:e.outputs||_t,queries:Vh(t,n,Yh),lifecycle:{usesOnChanges:t.prototype.hasOwnProperty("ngOnChanges")},typeSourceSpan:null,usesInheritance:!qh(t),exportAs:(a=e.exportAs,void 0===a?null:a.split(",").map(t=>t.trim())),providers:e.providers||null,viewQueries:Vh(t,n,Hh)};var a}function Fh(t){const e=Object.prototype;let n=Object.getPrototypeOf(t);for(;n&&n!==e;){if(!Ft(n)&&!jt(n)&&!Gt(n)){const t=Gh(n);t&&zh(n,t)}n=Object.getPrototypeOf(n)}}function zh(t,e){let n=null;Object.defineProperty(t,xt,{get:()=>{if(null===n){const a=`ng://${t&&t.name}/ngBaseDef.js`,r=z();n=r.compileBase(_h,a,e)}return n},configurable:!1})}function Gh(t){const e=is().ownPropMetadata(t),n=Vh(t,e,Hh),a=Vh(t,e,Yh);let r,o,i=!1;for(const s in e)e[s].forEach(t=>{const e=t.ngMetadataName;"Input"===e?(r=r||{},r[s]=t.bindingPropertyName?[t.bindingPropertyName,s]:s):"Output"===e?(o=o||{},o[s]=t.bindingPropertyName||s):"HostBinding"!==e&&"HostListener"!==e||(i=!0)});return r||o||n.length||a.length||i?{name:t.name,type:t,inputs:r,outputs:o,viewQueries:n,queries:a,propMetadata:e}:null}function Bh(t,e){return{propertyName:t,predicate:(n=e.selector,"string"==typeof n?n.split(",").map(t=>t.trim()):E(n)),descendants:e.descendants,first:e.first,read:e.read?e.read:null,static:!!e.static};var n}function Vh(t,e,n){const a=[];for(const r in e)if(e.hasOwnProperty(r)){const o=e[r];o.forEach(e=>{if(n(e)){if(!e.selector)throw new Error(`Can't construct a query for the property "${r}" of `+`"${fn(t)}" since the query selector wasn't defined.`);if(o.some(Uh))throw new Error("Cannot combine @Input decorators with query decorators");a.push(Bh(r,e))}})}return a}function Yh(t){const e=t.ngMetadataName;return"ContentChild"===e||"ContentChildren"===e}function Hh(t){const e=t.ngMetadataName;return"ViewChild"===e||"ViewChildren"===e}function Uh(t){return"Input"===t.ngMetadataName}function Wh(t,e){let n=null;Object.defineProperty(t,Ct,{get:()=>{if(null===n){const a=t.name;n=z().compilePipe(_h,`ng:///${a}/ngPipeDef.js`,{type:t,typeArgumentCount:0,name:a,deps:ss(t),pipeName:e.name,pure:void 0===e.pure||e.pure})}return n},configurable:!1})}const Kh=u("Directive",(t={})=>t,void 0,void 0,(t,e)=>ob(t,e)),$h=u("Component",(t={})=>Object.assign({changeDetection:ft.Default},t),Kh,void 0,(t,e)=>rb(t,e)),Zh=u("Pipe",t=>Object.assign({pure:!0},t),void 0,void 0,(t,e)=>ib(t,e)),Jh=p("Input",t=>({bindingPropertyName:t})),Xh=p("Output",t=>({bindingPropertyName:t})),Qh=p("HostBinding",t=>({hostPropertyName:t})),tb=p("HostListener",(t,e)=>({eventName:t,args:e})),eb=Dh,nb=Lh,ab=Wh,rb=zu,ob=zu,ib=zu,sb=u("NgModule",t=>t,void 0,void 0,(t,e)=>lb(t,e)),cb=xh,lb=function(t,e){let n=e&&e.imports||[];e&&e.exports&&(n=[...n,e.exports]),t.ngInjectorDef=w({factory:bs(t,{useClass:t}),providers:e&&e.providers,imports:n})},db=new G("Application Initializer");class ub{constructor(t){this.appInits=t,this.initialized=!1,this.done=!1,this.donePromise=new Promise((t,e)=>{this.resolve=t,this.reject=e})}runInitializers(){if(this.initialized)return;const t=[],e=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let n=0;n<this.appInits.length;n++){const e=this.appInits[n]();Wl(e)&&t.push(e)}Promise.all(t).then(()=>{e()}).catch(t=>{this.reject(t)}),0===t.length&&e(),this.initialized=!0}}const gb=new G("AppId");function fb(){return`${mb()}${mb()}${mb()}`}const pb={provide:gb,useFactory:fb,deps:[]};function mb(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const hb=new G("Platform Initializer"),bb=new G("Platform ID"),yb=new G("appBootstrapListener"),_b=new G("Application Packages Root URL");class Ob{log(t){console.log(t)}warn(t){console.warn(t)}}const vb=new G("LocaleId"),Cb=new G("Translations"),Pb=new G("TranslationsFormat"),Mb=function(){var t={Error:0,Warning:1,Ignore:2};return t[t.Error]="Error",t[t.Warning]="Warning",t[t.Ignore]="Ignore",t}(),xb=!0,wb=!1;class Tb{constructor(t,e){this.ngModuleFactory=t,this.componentFactories=e}}function Sb(){throw new Error("Runtime compiler is not loaded")}const kb=function(t){return new Tm(t)},Ib=Sb,Nb=function(t){return Promise.resolve(kb(t))},Rb=Sb,Ab=function(t){const e=kb(t),n=_n(Bt(t).declarations).reduce((t,e)=>{const n=jt(e);return n&&t.push(new _p(n)),t},[]);return new Tb(e,n)},Eb=Sb,Db=function(t){return Promise.resolve(Ab(t))},Lb=Sb;class qb{constructor(){this.compileModuleSync=Ib,this.compileModuleAsync=Rb,this.compileModuleAndAllComponentsSync=Eb,this.compileModuleAndAllComponentsAsync=Lb}clearCache(){}clearCacheFor(t){}getModuleId(t){}}const jb=new G("compilerOptions");class Fb{}let zb,Gb;function Bb(){const t=F.wtf;return!(!t||(zb=t.trace,!zb)||(Gb=zb.events,0))}function Vb(t,e=null){return Gb.createScope(t,e)}function Yb(t,e){return zb.leaveScope(t,e),e}function Hb(t,e){return zb.beginTimeRange(t,e)}function Ub(t){zb.endTimeRange(t)}const Wb=Bb();function Kb(t,e){return null}const $b=Wb?Vb:(t,e)=>Kb,Zb=Wb?Yb:(t,e)=>e,Jb=Wb?Hb:(t,e)=>null,Xb=Wb?Ub:t=>null,Qb=(()=>Promise.resolve(0))();function ty(t){"undefined"==typeof Zone?Qb.then(()=>{t&&t.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",t)}class ey{constructor({enableLongStackTrace:t=!1}){if(this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Wm(!1),this.onMicrotaskEmpty=new Wm(!1),this.onStable=new Wm(!1),this.onError=new Wm(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");var e;Zone.assertZonePatched(),this._nesting=0,this._outer=this._inner=Zone.current,Zone.wtfZoneSpec&&(this._inner=this._inner.fork(Zone.wtfZoneSpec)),Zone.TaskTrackingZoneSpec&&(this._inner=this._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(this._inner=this._inner.fork(Zone.longStackTraceZoneSpec)),(e=this)._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(t,n,a,r,o,i)=>{try{return oy(e),t.invokeTask(a,r,o,i)}finally{iy(e)}},onInvoke:(t,n,a,r,o,i,s)=>{try{return oy(e),t.invoke(a,r,o,i,s)}finally{iy(e)}},onHasTask:(t,n,a,r)=>{t.hasTask(a,r),n===a&&("microTask"==r.change?(e.hasPendingMicrotasks=r.microTask,ry(e)):"macroTask"==r.change&&(e.hasPendingMacrotasks=r.macroTask))},onHandleError:(t,n,a,r)=>(t.handleError(a,r),e.runOutsideAngular(()=>e.onError.emit(r)),!1)})}static isInAngularZone(){return!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!ey.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(ey.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(t,e,n){return this._inner.run(t,e,n)}runTask(t,e,n,a){const r=this._inner,o=r.scheduleEventTask("NgZoneEvent: "+a,t,ay,ny,ny);try{return r.runTask(o,e,n)}finally{r.cancelTask(o)}}runGuarded(t,e,n){return this._inner.runGuarded(t,e,n)}runOutsideAngular(t){return this._outer.run(t)}}function ny(){}const ay={};function ry(t){if(0==t._nesting&&!t.hasPendingMicrotasks&&!t.isStable)try{t._nesting++,t.onMicrotaskEmpty.emit(null)}finally{if(t._nesting--,!t.hasPendingMicrotasks)try{t.runOutsideAngular(()=>t.onStable.emit(null))}finally{t.isStable=!0}}}function oy(t){t._nesting++,t.isStable&&(t.isStable=!1,t.onUnstable.emit(null))}function iy(t){t._nesting--,ry(t)}class sy{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Wm,this.onMicrotaskEmpty=new Wm,this.onStable=new Wm,this.onError=new Wm}run(t){return t()}runGuarded(t){return t()}runOutsideAngular(t){return t()}runTask(t){return t()}}class cy{constructor(t){this._ngZone=t,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone="undefined"==typeof Zone?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{ey.assertNotInAngularZone(),ty(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())ty(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(e=>!e.updateCb||!e.updateCb(t)||(clearTimeout(e.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,e,n){let a=-1;e&&e>0&&(a=setTimeout(()=>{this._callbacks=this._callbacks.filter(t=>t.timeoutId!==a),t(this._didWork,this.getPendingTasks())},e)),this._callbacks.push({doneCb:t,timeoutId:a,updateCb:n})}whenStable(t,e,n){if(n&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/dist/task-tracking.js" loaded?');this.addCallback(t,e,n),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}findProviders(t,e,n){return[]}}class ly{constructor(){this._applications=new Map,fy.addToWindow(this)}registerApplication(t,e){this._applications.set(t,e)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,e=!0){return fy.findTestabilityInTree(this,t,e)}}class dy{addToWindow(t){}findTestabilityInTree(t,e,n){return null}}function uy(t){fy=t}let gy,fy=new dy;function py(t,e,n){const a=new Tm(n);if(0===_c.size)return Promise.resolve(a);const r=function(t){const e=[];return t.forEach(t=>t&&e.push(...t)),e}(t.get(jb,[]).concat(e).map(t=>t.providers));if(0===r.length)return Promise.resolve(a);const o=z(),i=Ls.create({providers:r}).get(o.ResourceLoader);return yc(t=>Promise.resolve(i.get(t))).then(()=>a)}function my(t){return t.isBoundToModule}const hy=new G("AllowMultipleToken");class by{constructor(t,e){this.name=t,this.token=e}}function yy(t){if(gy&&!gy.destroyed&&!gy.injector.get(hy,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");gy=t.get(Py);const e=t.get(hb,null);return e&&e.forEach(t=>t()),gy}function _y(t,e,n=[]){const a=`Platform: ${e}`,r=new G(a);return(e=[])=>{let o=Cy();if(!o||o.injector.get(hy,!1))if(t)t(n.concat(e).concat({provide:r,useValue:!0}));else{const t=n.concat(e).concat({provide:r,useValue:!0});yy(Ls.create({providers:t,name:a}))}return Oy(r)}}function Oy(t){const e=Cy();if(!e)throw new Error("No platform exists!");if(!e.injector.get(t,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return e}function vy(){gy&&!gy.destroyed&&gy.destroy()}function Cy(){return gy&&!gy.destroyed?gy:null}class Py{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,e){const n=function(t){let e;return e="noop"===t?new sy:("zone.js"===t?void 0:t)||new ey({enableLongStackTrace:za()}),e}(e?e.ngZone:void 0),a=[{provide:ey,useValue:n}];return n.run(()=>{const e=Ls.create({providers:a,parent:this.injector,name:t.moduleType.name}),r=t.create(e),o=r.injector.get(Ta,null);if(!o)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return wb&&_m(r.injector.get(vb,Tp)||Tp),r.onDestroy(()=>wy(this._modules,r)),n.runOutsideAngular(()=>n.onError.subscribe({next:t=>{o.handleError(t)}})),function(t,e,n){try{const a=n();return Wl(a)?a.catch(n=>{throw e.runOutsideAngular(()=>t.handleError(n)),n}):a}catch(a){throw e.runOutsideAngular(()=>t.handleError(a)),a}}(o,n,()=>{const t=r.injector.get(ub);return t.runInitializers(),t.donePromise.then(()=>(this._moduleDoBootstrap(r),r))})})}bootstrapModule(t,e=[]){const n=My({},e);return function(t,e,n){return t.get(Fb).createCompiler([e]).compileModuleAsync(n)}(this.injector,n,t).then(t=>this.bootstrapModuleFactory(t,n))}_moduleDoBootstrap(t){const e=t.injector.get(xy);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(t=>e.bootstrap(t));else{if(!t.instance.ngDoBootstrap)throw new Error(`The module ${N(t.instance.constructor)} was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. `+"Please define one of these.");t.instance.ngDoBootstrap(e)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(t=>t.destroy()),this._destroyListeners.forEach(t=>t()),this._destroyed=!0}get destroyed(){return this._destroyed}}function My(t,e){return Array.isArray(e)?e.reduce(My,t):Object.assign({},t,e)}let xy=(()=>{class t{constructor(t,e,n,a,r,c){this._zone=t,this._console=e,this._injector=n,this._exceptionHandler=a,this._componentFactoryResolver=r,this._initStatus=c,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._enforceNoNewChanges=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._enforceNoNewChanges=za(),this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const l=new o.a(t=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{t.next(this._stable),t.complete()})}),d=new o.a(t=>{let e;this._zone.runOutsideAngular(()=>{e=this._zone.onStable.subscribe(()=>{ey.assertNotInAngularZone(),ty(()=>{this._stable||this._zone.hasPendingMacrotasks||this._zone.hasPendingMicrotasks||(this._stable=!0,t.next(!0))})})});const n=this._zone.onUnstable.subscribe(()=>{ey.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{t.next(!1)}))});return()=>{e.unsubscribe(),n.unsubscribe()}});this.isStable=Object(i.a)(l,d.pipe(Object(s.a)()))}bootstrap(t,e){if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");let n;n=t instanceof Au?t:this._componentFactoryResolver.resolveComponentFactory(t),this.componentTypes.push(n.componentType);const a=n instanceof Fu?null:this._injector.get(ot),r=n.create(Ls.NULL,[],e||n.selector,a);r.onDestroy(()=>{this._unloadComponent(r)});const o=r.injector.get(cy,null);return o&&r.injector.get(ly).registerApplication(r.location.nativeElement,o),this._loadComponent(r),za()&&this._console.log("Angular is running in the development mode. Call enableProdMode() to enable the production mode."),r}tick(){if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");const e=t._tickScope();try{this._runningTick=!0;for(let t of this._views)t.detectChanges();if(this._enforceNoNewChanges)for(let t of this._views)t.checkNoChanges()}catch(n){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(n))}finally{this._runningTick=!1,Zb(e)}}attachView(t){const e=t;this._views.push(e),e.attachToAppRef(this)}detachView(t){const e=t;wy(this._views,e),e.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(yb,[]).concat(this._bootstrapListeners).forEach(e=>e(t))}_unloadComponent(t){this.detachView(t.hostView),wy(this.components,t)}ngOnDestroy(){this._views.slice().forEach(t=>t.destroy())}get viewCount(){return this._views.length}}return t._tickScope=$b("ApplicationRef#tick()"),t})();function wy(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}class Ty{}function Sy(t){const e=Mm(t);if(!e)throw Ny(t);return e}function ky(t){const e=Mm(t);if(!e)throw Ny(t);return new Tm(e)}const Iy=Sy;function Ny(t){return new Error(`No module with ID ${t} loaded`)}class Ry{}const Ay={factoryPathPrefix:"",factoryPathSuffix:".ngfactory"};class Ey{constructor(t,e){this._compiler=t,this._config=e||Ay}load(t){return!wb&&this._compiler instanceof qb?this.loadFactory(t):this.loadAndCompile(t)}loadAndCompile(t){let[e,a]=t.split("#");return void 0===a&&(a="default"),n("crnd")(e).then(t=>t[a]).then(t=>Dy(t,e,a)).then(t=>this._compiler.compileModuleAsync(t))}loadFactory(t){let[e,a]=t.split("#"),r="NgFactory";return void 0===a&&(a="default",r=""),n("crnd")(this._config.factoryPathPrefix+e+this._config.factoryPathSuffix).then(t=>t[a+r]).then(t=>Dy(t,e,a))}}function Dy(t,e,n){if(!t)throw new Error(`Cannot find '${n}' in '${e}'`);return t}class Ly extends Wi{}class qy extends Ly{}class jy{constructor(t,e){this.name=t,this.callback=e}}class Fy{constructor(t,e,n){this.listeners=[],this.parent=null,this._debugContext=n,this.nativeNode=t,e&&e instanceof zy&&e.addChild(this)}get injector(){return this._debugContext.injector}get componentInstance(){return this._debugContext.component}get context(){return this._debugContext.context}get references(){return this._debugContext.references}get providerTokens(){return this._debugContext.providerTokens}}class zy extends Fy{constructor(t,e,n){super(t,e,n),this.properties={},this.attributes={},this.classes={},this.styles={},this.childNodes=[],this.nativeElement=t}addChild(t){t&&(this.childNodes.push(t),t.parent=this)}removeChild(t){const e=this.childNodes.indexOf(t);-1!==e&&(t.parent=null,this.childNodes.splice(e,1))}insertChildrenAfter(t,e){const n=this.childNodes.indexOf(t);-1!==n&&(this.childNodes.splice(n+1,0,...e),e.forEach(e=>{e.parent&&e.parent.removeChild(e),t.parent=this}))}insertBefore(t,e){const n=this.childNodes.indexOf(t);-1===n?this.addChild(e):(e.parent&&e.parent.removeChild(e),e.parent=this,this.childNodes.splice(n,0,e))}query(t){return this.queryAll(t)[0]||null}queryAll(t){const e=[];return function t(e,n,a){e.childNodes.forEach(e=>{e instanceof zy&&(n(e)&&a.push(e),t(e,n,a))})}(this,t,e),e}queryAllNodes(t){const e=[];return function t(e,n,a){e instanceof zy&&e.childNodes.forEach(e=>{n(e)&&a.push(e),e instanceof zy&&t(e,n,a)})}(this,t,e),e}get children(){return this.childNodes.filter(t=>t instanceof zy)}triggerEventHandler(t,e){this.listeners.forEach(n=>{n.name==t&&n.callback(e)})}}function Gy(t){return t.map(t=>t.nativeElement)}class By{constructor(t){this.nativeNode=t}get parent(){const t=this.nativeNode.parentNode;return t?new Vy(t):null}get injector(){return Xd(this.nativeNode)}get componentInstance(){const t=this.nativeNode;return t&&(Kd(t)||Zd(t))}get context(){return Kd(this.nativeNode)||$d(this.nativeNode)}get listeners(){return ru(this.nativeNode).filter(au)}get references(){return function(t){const e=tu(t);return void 0===e.localRefs&&(e.localRefs=function(t,e){const n=t[1].data[e];if(n&&n.localNames){const e={};let a=n.index+1;for(let r=0;r<n.localNames.length;r+=2)e[n.localNames[r]]=t[a],a++;return e}return null}(e.lView,e.nodeIndex)),e.localRefs||{}}(this.nativeNode)}get providerTokens(){return function(t){const e=tu(t,!1);if(!e)return[];const n=e.lView[1],a=n.data[e.nodeIndex],r=[],o=a.directiveEnd;for(let s=65535&a.providerIndexes;s<o;s++){let t=n.data[s];void 0!==(i=t).type&&void 0!==i.template&&void 0!==i.declaredInputs&&(t=t.type),r.push(t)}var i;return r}(this.nativeNode)}}class Vy extends By{constructor(t){super(t)}get nativeElement(){return this.nativeNode.nodeType==Node.ELEMENT_NODE?this.nativeNode:null}get name(){return this.nativeElement.nodeName}get properties(){const t=tu(this.nativeNode),e=t.lView,n=e[1].data,a=n[t.nodeIndex],r=function(t,e,n){const a={};let r=function(t,e){let n=t-1,a=e[n];for(;"string"==typeof a&&!yn(a);)a=e[--n];return n+1}(t.propertyMetadataStartIndex,n);for(;r<t.propertyMetadataEndIndex;){let t,o=n[r];for(;!yn(o);)t=(t||"")+gn(e[r])+n[r],o=n[++r];t=void 0===t?e[r]:t+=e[r];const i=o.split("�"),s=i[0];s&&(a[s]=i[1]&&i[2]?i[1]+t+i[2]:t),r++}return a}(a,e,n),o=function(t,e,n){const a={};let r=t.directiveEnd,o=n[r];for(;"string"==typeof o;)a[o.split("�")[0]]=e[r],o=n[++r];return a}(a,e,n),i=function(t){const e=t.classes;let n="";for(const a of Object.keys(e))e[a]&&(n=n?n+` ${a}`:a);return n}(this),s=Object.assign({},r,o);return i&&(s.className=s.className?s.className+` ${i}`:i),s}get attributes(){const t={},e=this.nativeElement;if(!e)return t;const n=tu(e),a=n.lView[1].data[n.nodeIndex].attrs,r=[];if(a){let e=0;for(;e<a.length;){const n=a[e];if("string"!=typeof n)break;t[n]=a[e+1],r.push(n.toLowerCase()),e+=2}}const o=e.attributes;for(let i=0;i<o.length;i++){const e=o[i];-1===r.indexOf(e.name)&&(t[e.name]=e.value)}return t}get styles(){return Yy(this.nativeElement,!1)}get classes(){return Yy(this.nativeElement,!0)}get childNodes(){const t=this.nativeNode.childNodes,e=[];for(let n=0;n<t.length;n++)e.push(Zy(t[n]));return e}get children(){const t=this.nativeElement;if(!t)return[];const e=t.children,n=[];for(let a=0;a<e.length;a++)n.push(Zy(e[a]));return n}query(t){return this.queryAll(t)[0]||null}queryAll(t){const e=[];return Hy(this,t,e,!0),e}queryAllNodes(t){const e=[];return Hy(this,t,e,!1),e}triggerEventHandler(t,e){this.listeners.forEach(n=>{n.name===t&&n.callback(e)})}}function Yy(t,e){if(t){const n=nu(t),a=n.lView,r=a[1].data[n.nodeIndex];return e?Fn(r.classes)?new ho(r.classes,a,!0).values:mo(r.classes):Fn(r.styles)?new ho(r.styles,a,!1).values:mo(r.styles)}return{}}function Hy(t,e,n,a){const r=tu(t.nativeNode);Uy(r.lView[1].data[r.nodeIndex],r.lView,e,n,a,t.nativeNode)}function Uy(t,e,n,a,r,o){const i=de(t,e);if(3===t.type||4===t.type){if(Ky(i,n,a,r,o),Ut(t)){const i=fe(t.index,e);i&&i[1].firstChild&&Uy(i[1].firstChild,i,n,a,r,o)}else t.child&&Uy(t.child,e,n,a,r,o),i&&function t(e,n,a,r){const o=e.childNodes,i=o.length;for(let s=0;s<i;s++){const e=o[s],i=Jy(e);i&&(r&&i instanceof Vy&&n(i)&&-1===a.indexOf(i)?a.push(i):!r&&n(i)&&-1===a.indexOf(i)&&a.push(i),t(e,n,a,r))}}(i,n,a,r);const s=e[t.index];Yt(s)&&Wy(s,n,a,r,o)}else if(0===t.type){const i=e[t.index];Ky(i[7],n,a,r,o),Wy(i,n,a,r,o)}else if(1===t.type){const i=aa(e),s=i[6].projection[t.projection];if(Array.isArray(s))for(let t of s)Ky(t,n,a,r,o);else if(s){const t=i[3];Uy(t[1].data[s.index],t,n,a,r,o)}}else t.child&&Uy(t.child,e,n,a,r,o);if(o!==i){const i=2&t.flags?t.projectionNext:t.next;i&&Uy(i,e,n,a,r,o)}}function Wy(t,e,n,a,r){for(let o=9;o<t.length;o++){const i=t[o];Uy(i[1].node,i,e,n,a,r)}}function Ky(t,e,n,a,r){if(r!==t){const r=Jy(t);if(!r)return;a&&r instanceof Vy&&e(r)&&-1===n.indexOf(r)?n.push(r):!a&&e(r)&&-1===n.indexOf(r)&&n.push(r)}}const $y=new Map;function Zy(t){return t instanceof Node?(t.hasOwnProperty("__ng_debug__")||(t.__ng_debug__=t.nodeType==Node.ELEMENT_NODE?new Vy(t):new By(t)),t.__ng_debug__):null}const Jy=function(t){return $y.get(t)||null};function Xy(t){$y.set(t.nativeNode,t)}const Qy=Fy,t_=zy,e_=_y(null,"core",[{provide:bb,useValue:"unknown"},{provide:Py,deps:[Ls]},{provide:ly,deps:[]},{provide:Ob,deps:[]}]);function n_(){return pg}function a_(){return mg}function r_(t){return t?(wb&&_m(t),t):Tp}const o_=[{provide:xy,useClass:xy,deps:[ey,Ob,Ls,Ta,qu,ub]},{provide:yp,deps:[ey],useFactory:i_},{provide:ub,useClass:ub,deps:[[new h,db]]},{provide:qb,useClass:qb,deps:[]},pb,{provide:ug,useFactory:n_,deps:[]},{provide:gg,useFactory:a_,deps:[]},{provide:vb,useFactory:r_,deps:[[new m(vb),new h,new y]]}];function i_(t){let e=[];return t.onStable.subscribe(()=>{for(;e.length;)e.pop()()}),function(t){e.push(t)}}class s_{constructor(t){}}function c_(t,e,n,a,r,o){t|=1;const{matchedQueries:i,references:s,matchedQueryIds:c}=Xg(e);return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,flags:t,checkIndex:-1,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:i,matchedQueryIds:c,references:s,ngContentIndex:n,childCount:a,bindings:[],bindingFlags:0,outputs:[],element:{ns:null,name:null,attrs:null,template:o?nf(o):null,componentProvider:null,componentView:null,componentRendererType:null,publicProviders:null,allProviders:null,handleEvent:r||Eg},provider:null,text:null,query:null,ngContent:null}}function l_(t,e,n,a,r,o,i=[],s,c,l,d,u){l||(l=Eg);const{matchedQueries:g,references:f,matchedQueryIds:p}=Xg(n);let m=null,h=null;o&&([m,h]=df(o)),s=s||[];const b=new Array(s.length);for(let O=0;O<s.length;O++){const[t,e,n]=s[O],[a,r]=df(e);let o=void 0,i=void 0;switch(15&t){case 4:i=n;break;case 1:case 8:o=n}b[O]={flags:t,ns:a,name:r,nonMinifiedName:r,securityContext:o,suffix:i}}c=c||[];const y=new Array(c.length);for(let O=0;O<c.length;O++){const[t,e]=c[O];y[O]={type:0,target:t,eventName:e,propName:null}}const _=(i=i||[]).map(([t,e])=>{const[n,a]=df(t);return[n,a,e]});return u=function(t){if(t&&"$$undefined"===t.id){const e=null!=t.encapsulation&&t.encapsulation!==ht.None||t.styles.length||Object.keys(t.data).length;t.id=e?`c${Fg++}`:"$$empty"}return t&&"$$empty"===t.id&&(t=null),t||null}(u),d&&(e|=33554432),{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:t,flags:e|=1,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:g,matchedQueryIds:p,references:f,ngContentIndex:a,childCount:r,bindings:b,bindingFlags:uf(b),outputs:y,element:{ns:m,name:h,attrs:_,template:null,componentProvider:null,componentView:d||null,componentRendererType:u,publicProviders:null,allProviders:null,handleEvent:l||Eg},provider:null,text:null,query:null,ngContent:null}}function d_(t,e,n){const a=n.element,r=t.root.selectorOrNode,o=t.renderer;let i;if(t.parent||!r){i=a.name?o.createElement(a.name,a.ns):o.createComment("");const r=tf(t,e,n);r&&o.appendChild(r,i)}else i=o.selectRootElement(r,!!a.componentRendererType&&a.componentRendererType.encapsulation===ht.ShadowDom);if(a.attrs)for(let s=0;s<a.attrs.length;s++){const[t,e,n]=a.attrs[s];o.setAttribute(i,e,n,t)}return i}function u_(t,e,n,a){for(let i=0;i<n.outputs.length;i++){const s=n.outputs[i],c=g_(t,n.nodeIndex,(o=s.eventName,(r=s.target)?`${r}:${o}`:o));let l=s.target,d=t;"component"===s.target&&(l=null,d=e);const u=d.renderer.listen(l||a,s.eventName,c);t.disposables[n.outputIndex+i]=u}var r,o}function g_(t,e,n){return a=>Hg(t,e,n,a)}function f_(t,e,n,a){if(!Gg(t,e,n,a))return!1;const r=e.bindings[n],o=Sg(t,e.nodeIndex),i=o.renderElement,s=r.name;switch(15&r.flags){case 1:!function(t,e,n,a,r,o){const i=e.securityContext;let s=i?t.root.sanitizer.sanitize(i,o):o;s=null!=s?s.toString():null;const c=t.renderer;null!=o?c.setAttribute(n,r,s,a):c.removeAttribute(n,r,a)}(t,r,i,r.ns,s,a);break;case 2:!function(t,e,n,a){const r=t.renderer;a?r.addClass(e,n):r.removeClass(e,n)}(t,i,s,a);break;case 4:!function(t,e,n,a,r){let o=t.root.sanitizer.sanitize(ur.STYLE,r);if(null!=o){o=o.toString();const t=e.suffix;null!=t&&(o+=t)}else o=null;const i=t.renderer;null!=o?i.setStyle(n,a,o):i.removeStyle(n,a)}(t,r,i,s,a);break;case 8:!function(t,e,n,a,r){const o=e.securityContext;let i=o?t.root.sanitizer.sanitize(o,r):r;t.renderer.setProperty(n,a,i)}(33554432&e.flags&&32&r.flags?o.componentView:t,r,i,s,a)}return!0}function p_(t,e,n){let a=[];for(let r in n)a.push({propName:r,bindingType:n[r]});return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:-1,flags:t,childFlags:0,directChildFlags:0,childMatchedQueries:0,ngContentIndex:-1,matchedQueries:{},matchedQueryIds:0,references:{},childCount:0,bindings:[],bindingFlags:0,outputs:[],element:null,provider:null,text:null,query:{id:e,filterId:Jg(e),bindings:a},ngContent:null}}function m_(t){const e=t.def.nodeMatchedQueries;for(;t.parent&&Zg(t);){let n=t.parentNodeDef;t=t.parent;const a=n.nodeIndex+n.childCount;for(let r=0;r<=a;r++){const a=t.def.nodes[r];67108864&a.flags&&536870912&a.flags&&(a.query.filterId&e)===a.query.filterId&&Ng(t,r).setDirty(),!(1&a.flags&&r+a.childCount<n.nodeIndex)&&67108864&a.childFlags&&536870912&a.childFlags||(r+=a.childCount)}}if(134217728&t.def.nodeFlags)for(let n=0;n<t.def.nodes.length;n++){const e=t.def.nodes[n];134217728&e.flags&&536870912&e.flags&&Ng(t,n).setDirty(),n+=e.childCount}}function h_(t,e){const n=Ng(t,e.nodeIndex);if(!n.dirty)return;let a,r=void 0;if(67108864&e.flags){const n=e.parent.parent;r=b_(t,n.nodeIndex,n.nodeIndex+n.childCount,e.query,[]),a=kg(t,e.parent.nodeIndex).instance}else 134217728&e.flags&&(r=b_(t,0,t.def.nodes.length-1,e.query,[]),a=t.component);n.reset(r);const o=e.query.bindings;let i=!1;for(let s=0;s<o.length;s++){const t=o[s];let e;switch(t.bindingType){case 0:e=n.first;break;case 1:e=n,i=!0}a[t.propName]=e}i&&n.notifyOnChanges()}function b_(t,e,n,a,r){for(let o=e;o<=n;o++){const e=t.def.nodes[o],n=e.matchedQueries[a.id];if(null!=n&&r.push(y_(t,e,n)),1&e.flags&&e.element.template&&(e.element.template.nodeMatchedQueries&a.filterId)===a.filterId){const n=Sg(t,o);if((e.childMatchedQueries&a.filterId)===a.filterId&&(b_(t,o+1,o+e.childCount,a,r),o+=e.childCount),16777216&e.flags){const t=n.viewContainer._embeddedViews;for(let e=0;e<t.length;e++){const o=t[e],i=Ug(o);i&&i===n&&b_(o,0,o.def.nodes.length-1,a,r)}}const i=n.template._projectedViews;if(i)for(let t=0;t<i.length;t++){const e=i[t];b_(e,0,e.def.nodes.length-1,a,r)}}(e.childMatchedQueries&a.filterId)!==a.filterId&&(o+=e.childCount)}return r}function y_(t,e,n){if(null!=n)switch(n){case 1:return Sg(t,e.nodeIndex).renderElement;case 0:return new Gu(Sg(t,e.nodeIndex).renderElement);case 2:return Sg(t,e.nodeIndex).template;case 3:return Sg(t,e.nodeIndex).viewContainer;case 4:return kg(t,e.nodeIndex).instance}}function __(t,e){return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:-1,flags:8,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:{},matchedQueryIds:0,references:{},ngContentIndex:t,childCount:0,bindings:[],bindingFlags:0,outputs:[],element:null,provider:null,text:null,query:null,ngContent:{index:e}}}function O_(t,e,n){const a=tf(t,e,n);a&&of(t,n.ngContent.index,1,a,null,void 0)}function v_(t,e){return M_(128,t,new Array(e+1))}function C_(t,e){return M_(32,t,new Array(e))}function P_(t,e){const n=Object.keys(e),a=n.length,r=new Array(a);for(let o=0;o<a;o++){const t=n[o];r[e[t]]=t}return M_(64,t,r)}function M_(t,e,n){const a=new Array(n.length);for(let r=0;r<n.length;r++){const t=n[r];a[r]={flags:8,name:t,ns:null,nonMinifiedName:t,securityContext:null,suffix:null}}return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:e,flags:t,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:{},matchedQueryIds:0,references:{},ngContentIndex:-1,childCount:0,bindings:a,bindingFlags:uf(a),outputs:[],element:null,provider:null,text:null,query:null,ngContent:null}}function x_(t,e,n){const a=new Array(n.length-1);for(let r=1;r<n.length;r++)a[r-1]={flags:8,name:null,ns:null,nonMinifiedName:null,securityContext:null,suffix:n[r]};return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:t,flags:2,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:{},matchedQueryIds:0,references:{},ngContentIndex:e,childCount:0,bindings:a,bindingFlags:8,outputs:[],element:null,provider:null,text:{prefix:n[0]},query:null,ngContent:null}}function w_(t,e,n){let a;const r=t.renderer;a=r.createText(n.text.prefix);const o=tf(t,e,n);return o&&r.appendChild(o,a),{renderText:a}}function T_(t,e){return(null!=t?t.toString():"")+e.suffix}function S_(t,e,n,a){let r=0,o=0,i=0,s=0,c=0,l=null,d=null,u=!1,g=!1,f=null;for(let p=0;p<e.length;p++){const t=e[p];if(t.nodeIndex=p,t.parent=l,t.bindingIndex=r,t.outputIndex=o,t.renderParent=d,i|=t.flags,c|=t.matchedQueryIds,t.element){const e=t.element;e.publicProviders=l?l.element.publicProviders:Object.create(null),e.allProviders=e.publicProviders,u=!1,g=!1,t.element.template&&(c|=t.element.template.nodeMatchedQueries)}if(I_(l,t,e.length),r+=t.bindings.length,o+=t.outputs.length,!d&&3&t.flags&&(f=t),20224&t.flags){u||(u=!0,l.element.publicProviders=Object.create(l.element.publicProviders),l.element.allProviders=l.element.publicProviders);const e=0!=(32768&t.flags);0==(8192&t.flags)||e?l.element.publicProviders[Lg(t.provider.token)]=t:(g||(g=!0,l.element.allProviders=Object.create(l.element.publicProviders)),l.element.allProviders[Lg(t.provider.token)]=t),e&&(l.element.componentProvider=t)}if(l?(l.childFlags|=t.flags,l.directChildFlags|=t.flags,l.childMatchedQueries|=t.matchedQueryIds,t.element&&t.element.template&&(l.childMatchedQueries|=t.element.template.nodeMatchedQueries)):s|=t.flags,t.childCount>0)l=t,k_(t)||(d=t);else for(;l&&p===l.nodeIndex+l.childCount;){const t=l.parent;t&&(t.childFlags|=l.childFlags,t.childMatchedQueries|=l.childMatchedQueries),l=t,d=l&&k_(l)?l.renderParent:l}}return{factory:null,nodeFlags:i,rootNodeFlags:s,nodeMatchedQueries:c,flags:t,nodes:e,updateDirectives:n||Eg,updateRenderer:a||Eg,handleEvent:(t,n,a,r)=>e[n].element.handleEvent(t,a,r),bindingCount:r,outputCount:o,lastRenderRootNode:f}}function k_(t){return 0!=(1&t.flags)&&null===t.element.name}function I_(t,e,n){const a=e.element&&e.element.template;if(a){if(!a.lastRenderRootNode)throw new Error("Illegal State: Embedded templates without nodes are not allowed!");if(a.lastRenderRootNode&&16777216&a.lastRenderRootNode.flags)throw new Error(`Illegal State: Last root node of a template can't have embedded views, at index ${e.nodeIndex}!`)}if(20224&e.flags&&0==(1&(t?t.flags:0)))throw new Error(`Illegal State: StaticProvider/Directive nodes need to be children of elements or anchors, at index ${e.nodeIndex}!`);if(e.query){if(67108864&e.flags&&(!t||0==(16384&t.flags)))throw new Error(`Illegal State: Content Query nodes need to be children of directives, at index ${e.nodeIndex}!`);if(134217728&e.flags&&t)throw new Error(`Illegal State: View Query nodes have to be top level nodes, at index ${e.nodeIndex}!`)}if(e.childCount){const a=t?t.nodeIndex+t.childCount:n-1;if(e.nodeIndex<=a&&e.nodeIndex+e.childCount>a)throw new Error(`Illegal State: childCount of node leads outside of parent, at index ${e.nodeIndex}!`)}}function N_(t,e,n,a){const r=E_(t.root,t.renderer,t,e,n);return D_(r,t.component,a),L_(r),r}function R_(t,e,n){const a=E_(t,t.renderer,null,null,e);return D_(a,n,n),L_(a),a}function A_(t,e,n,a){const r=e.element.componentRendererType;let o;return o=r?t.root.rendererFactory.createRenderer(a,r):t.root.renderer,E_(t.root,o,t,e.element.componentProvider,n)}function E_(t,e,n,a,r){const o=new Array(r.nodes.length),i=r.outputCount?new Array(r.outputCount):null;return{def:r,parent:n,viewContainerParent:null,parentNodeDef:a,context:null,component:null,nodes:o,state:13,root:t,renderer:e,oldValues:new Array(r.bindingCount),disposables:i,initIndex:-1}}function D_(t,e,n){t.component=e,t.context=n}function L_(t){let e;$g(t)&&(e=Sg(t.parent,t.parentNodeDef.parent.nodeIndex).renderElement);const n=t.def,a=t.nodes;for(let r=0;r<n.nodes.length;r++){const o=n.nodes[r];let i;switch(Ag.setCurrentNode(t,r),201347067&o.flags){case 1:const n=d_(t,e,o);let s=void 0;if(33554432&o.flags){const e=nf(o.element.componentView);s=Ag.createComponentView(t,o,e,n)}u_(t,s,o,n),i={renderElement:n,componentView:s,viewContainer:null,template:o.element.template?qf(t,o):void 0},16777216&o.flags&&(i.viewContainer=Af(t,o,i));break;case 2:i=w_(t,e,o);break;case 512:case 1024:case 2048:case 256:i=a[r],i||4096&o.flags||(i={instance:rp(t,o)});break;case 16:i={instance:op(t,o)};break;case 16384:i=a[r],i||(i={instance:ip(t,o)}),32768&o.flags&&D_(Sg(t,o.parent.nodeIndex).componentView,i.instance,i.instance);break;case 32:case 64:case 128:i={value:void 0};break;case 67108864:case 134217728:i=new $m;break;case 8:O_(t,e,o),i=void 0}a[r]=i}H_(t,Y_.CreateViewNodes),$_(t,201326592,268435456,0)}function q_(t){z_(t),Ag.updateDirectives(t,1),U_(t,Y_.CheckNoChanges),Ag.updateRenderer(t,1),H_(t,Y_.CheckNoChanges),t.state&=-97}function j_(t){1&t.state?(t.state&=-2,t.state|=2):t.state&=-3,xg(t,0,256),z_(t),Ag.updateDirectives(t,0),U_(t,Y_.CheckAndUpdate),$_(t,67108864,536870912,0);let e=xg(t,256,512);pp(t,2097152|(e?1048576:0)),Ag.updateRenderer(t,0),H_(t,Y_.CheckAndUpdate),$_(t,134217728,536870912,0),e=xg(t,512,768),pp(t,8388608|(e?4194304:0)),2&t.def.flags&&(t.state&=-9),t.state&=-97,xg(t,768,1024)}function F_(t,e,n,a,r,o,i,s,c,l,d,u,g){return 0===n?function(t,e,n,a,r,o,i,s,c,l,d,u){switch(201347067&e.flags){case 1:return function(t,e,n,a,r,o,i,s,c,l,d,u){const g=e.bindings.length;let f=!1;return g>0&&f_(t,e,0,n)&&(f=!0),g>1&&f_(t,e,1,a)&&(f=!0),g>2&&f_(t,e,2,r)&&(f=!0),g>3&&f_(t,e,3,o)&&(f=!0),g>4&&f_(t,e,4,i)&&(f=!0),g>5&&f_(t,e,5,s)&&(f=!0),g>6&&f_(t,e,6,c)&&(f=!0),g>7&&f_(t,e,7,l)&&(f=!0),g>8&&f_(t,e,8,d)&&(f=!0),g>9&&f_(t,e,9,u)&&(f=!0),f}(t,e,n,a,r,o,i,s,c,l,d,u);case 2:return function(t,e,n,a,r,o,i,s,c,l,d,u){let g=!1;const f=e.bindings,p=f.length;if(p>0&&Gg(t,e,0,n)&&(g=!0),p>1&&Gg(t,e,1,a)&&(g=!0),p>2&&Gg(t,e,2,r)&&(g=!0),p>3&&Gg(t,e,3,o)&&(g=!0),p>4&&Gg(t,e,4,i)&&(g=!0),p>5&&Gg(t,e,5,s)&&(g=!0),p>6&&Gg(t,e,6,c)&&(g=!0),p>7&&Gg(t,e,7,l)&&(g=!0),p>8&&Gg(t,e,8,d)&&(g=!0),p>9&&Gg(t,e,9,u)&&(g=!0),g){let g=e.text.prefix;p>0&&(g+=T_(n,f[0])),p>1&&(g+=T_(a,f[1])),p>2&&(g+=T_(r,f[2])),p>3&&(g+=T_(o,f[3])),p>4&&(g+=T_(i,f[4])),p>5&&(g+=T_(s,f[5])),p>6&&(g+=T_(c,f[6])),p>7&&(g+=T_(l,f[7])),p>8&&(g+=T_(d,f[8])),p>9&&(g+=T_(u,f[9]));const m=Tg(t,e.nodeIndex).renderText;t.renderer.setValue(m,g)}return g}(t,e,n,a,r,o,i,s,c,l,d,u);case 16384:return function(t,e,n,a,r,o,i,s,c,l,d,u){const g=kg(t,e.nodeIndex),f=g.instance;let p=!1,m=void 0;const h=e.bindings.length;return h>0&&zg(t,e,0,n)&&(p=!0,m=fp(t,g,e,0,n,m)),h>1&&zg(t,e,1,a)&&(p=!0,m=fp(t,g,e,1,a,m)),h>2&&zg(t,e,2,r)&&(p=!0,m=fp(t,g,e,2,r,m)),h>3&&zg(t,e,3,o)&&(p=!0,m=fp(t,g,e,3,o,m)),h>4&&zg(t,e,4,i)&&(p=!0,m=fp(t,g,e,4,i,m)),h>5&&zg(t,e,5,s)&&(p=!0,m=fp(t,g,e,5,s,m)),h>6&&zg(t,e,6,c)&&(p=!0,m=fp(t,g,e,6,c,m)),h>7&&zg(t,e,7,l)&&(p=!0,m=fp(t,g,e,7,l,m)),h>8&&zg(t,e,8,d)&&(p=!0,m=fp(t,g,e,8,d,m)),h>9&&zg(t,e,9,u)&&(p=!0,m=fp(t,g,e,9,u,m)),m&&f.ngOnChanges(m),65536&e.flags&&wg(t,256,e.nodeIndex)&&f.ngOnInit(),262144&e.flags&&f.ngDoCheck(),p}(t,e,n,a,r,o,i,s,c,l,d,u);case 32:case 64:case 128:return function(t,e,n,a,r,o,i,s,c,l,d,u){const g=e.bindings;let f=!1;const p=g.length;if(p>0&&Gg(t,e,0,n)&&(f=!0),p>1&&Gg(t,e,1,a)&&(f=!0),p>2&&Gg(t,e,2,r)&&(f=!0),p>3&&Gg(t,e,3,o)&&(f=!0),p>4&&Gg(t,e,4,i)&&(f=!0),p>5&&Gg(t,e,5,s)&&(f=!0),p>6&&Gg(t,e,6,c)&&(f=!0),p>7&&Gg(t,e,7,l)&&(f=!0),p>8&&Gg(t,e,8,d)&&(f=!0),p>9&&Gg(t,e,9,u)&&(f=!0),f){const f=Ig(t,e.nodeIndex);let m;switch(201347067&e.flags){case 32:m=new Array(g.length),p>0&&(m[0]=n),p>1&&(m[1]=a),p>2&&(m[2]=r),p>3&&(m[3]=o),p>4&&(m[4]=i),p>5&&(m[5]=s),p>6&&(m[6]=c),p>7&&(m[7]=l),p>8&&(m[8]=d),p>9&&(m[9]=u);break;case 64:m={},p>0&&(m[g[0].name]=n),p>1&&(m[g[1].name]=a),p>2&&(m[g[2].name]=r),p>3&&(m[g[3].name]=o),p>4&&(m[g[4].name]=i),p>5&&(m[g[5].name]=s),p>6&&(m[g[6].name]=c),p>7&&(m[g[7].name]=l),p>8&&(m[g[8].name]=d),p>9&&(m[g[9].name]=u);break;case 128:const t=n;switch(p){case 1:m=t.transform(n);break;case 2:m=t.transform(a);break;case 3:m=t.transform(a,r);break;case 4:m=t.transform(a,r,o);break;case 5:m=t.transform(a,r,o,i);break;case 6:m=t.transform(a,r,o,i,s);break;case 7:m=t.transform(a,r,o,i,s,c);break;case 8:m=t.transform(a,r,o,i,s,c,l);break;case 9:m=t.transform(a,r,o,i,s,c,l,d);break;case 10:m=t.transform(a,r,o,i,s,c,l,d,u)}}f.value=m}return f}(t,e,n,a,r,o,i,s,c,l,d,u);default:throw"unreachable"}}(t,e,a,r,o,i,s,c,l,d,u,g):function(t,e,n){switch(201347067&e.flags){case 1:return function(t,e,n){let a=!1;for(let r=0;r<n.length;r++)f_(t,e,r,n[r])&&(a=!0);return a}(t,e,n);case 2:return function(t,e,n){const a=e.bindings;let r=!1;for(let o=0;o<n.length;o++)Gg(t,e,o,n[o])&&(r=!0);if(r){let r="";for(let t=0;t<n.length;t++)r+=T_(n[t],a[t]);r=e.text.prefix+r;const o=Tg(t,e.nodeIndex).renderText;t.renderer.setValue(o,r)}return r}(t,e,n);case 16384:return function(t,e,n){const a=kg(t,e.nodeIndex),r=a.instance;let o=!1,i=void 0;for(let s=0;s<n.length;s++)zg(t,e,s,n[s])&&(o=!0,i=fp(t,a,e,s,n[s],i));return i&&r.ngOnChanges(i),65536&e.flags&&wg(t,256,e.nodeIndex)&&r.ngOnInit(),262144&e.flags&&r.ngDoCheck(),o}(t,e,n);case 32:case 64:case 128:return function(t,e,n){const a=e.bindings;let r=!1;for(let o=0;o<n.length;o++)Gg(t,e,o,n[o])&&(r=!0);if(r){const r=Ig(t,e.nodeIndex);let o;switch(201347067&e.flags){case 32:o=n;break;case 64:o={};for(let r=0;r<n.length;r++)o[a[r].name]=n[r];break;case 128:const t=n[0],e=n.slice(1);o=t.transform(...e)}r.value=o}return r}(t,e,n);default:throw"unreachable"}}(t,e,a)}function z_(t){const e=t.def;if(4&e.nodeFlags)for(let n=0;n<e.nodes.length;n++){const a=e.nodes[n];if(4&a.flags){const e=Sg(t,n).template._projectedViews;if(e)for(let n=0;n<e.length;n++){const a=e[n];a.state|=32,Yg(a,t)}}else 0==(4&a.childFlags)&&(n+=a.childCount)}}function G_(t,e,n,a,r,o,i,s,c,l,d,u,g){return 0===n?function(t,e,n,a,r,o,i,s,c,l,d,u){const g=e.bindings.length;g>0&&Bg(t,e,0,n),g>1&&Bg(t,e,1,a),g>2&&Bg(t,e,2,r),g>3&&Bg(t,e,3,o),g>4&&Bg(t,e,4,i),g>5&&Bg(t,e,5,s),g>6&&Bg(t,e,6,c),g>7&&Bg(t,e,7,l),g>8&&Bg(t,e,8,d),g>9&&Bg(t,e,9,u)}(t,e,a,r,o,i,s,c,l,d,u,g):function(t,e,n){for(let a=0;a<n.length;a++)Bg(t,e,a,n[a])}(t,e,a),!1}function B_(t,e){if(Ng(t,e.nodeIndex).dirty)throw Cg(Ag.createDebugContext(t,e.nodeIndex),`Query ${e.query.id} not dirty`,`Query ${e.query.id} dirty`,0!=(1&t.state))}function V_(t){if(!(128&t.state)){if(U_(t,Y_.Destroy),H_(t,Y_.Destroy),pp(t,131072),t.disposables)for(let e=0;e<t.disposables.length;e++)t.disposables[e]();!function(t){if(!(16&t.state))return;const e=Ug(t);if(e){const n=e.template._projectedViews;n&&(ut(n,n.indexOf(t)),Ag.dirtyParentQueries(t))}}(t),t.renderer.destroyNode&&function(t){const e=t.def.nodes.length;for(let n=0;n<e;n++){const e=t.def.nodes[n];1&e.flags?t.renderer.destroyNode(Sg(t,n).renderElement):2&e.flags?t.renderer.destroyNode(Tg(t,n).renderText):(67108864&e.flags||134217728&e.flags)&&Ng(t,n).destroy()}}(t),$g(t)&&t.renderer.destroy(),t.state|=128}}const Y_=function(){var t={CreateViewNodes:0,CheckNoChanges:1,CheckNoChangesProjectedViews:2,CheckAndUpdate:3,CheckAndUpdateProjectedViews:4,Destroy:5};return t[t.CreateViewNodes]="CreateViewNodes",t[t.CheckNoChanges]="CheckNoChanges",t[t.CheckNoChangesProjectedViews]="CheckNoChangesProjectedViews",t[t.CheckAndUpdate]="CheckAndUpdate",t[t.CheckAndUpdateProjectedViews]="CheckAndUpdateProjectedViews",t[t.Destroy]="Destroy",t}();function H_(t,e){const n=t.def;if(33554432&n.nodeFlags)for(let a=0;a<n.nodes.length;a++){const r=n.nodes[a];33554432&r.flags?W_(Sg(t,a).componentView,e):0==(33554432&r.childFlags)&&(a+=r.childCount)}}function U_(t,e){const n=t.def;if(16777216&n.nodeFlags)for(let a=0;a<n.nodes.length;a++){const r=n.nodes[a];if(16777216&r.flags){const n=Sg(t,a).viewContainer._embeddedViews;for(let t=0;t<n.length;t++)W_(n[t],e)}else 0==(16777216&r.childFlags)&&(a+=r.childCount)}}function W_(t,e){const n=t.state;switch(e){case Y_.CheckNoChanges:0==(128&n)&&(12==(12&n)?q_(t):64&n&&K_(t,Y_.CheckNoChangesProjectedViews));break;case Y_.CheckNoChangesProjectedViews:0==(128&n)&&(32&n?q_(t):64&n&&K_(t,e));break;case Y_.CheckAndUpdate:0==(128&n)&&(12==(12&n)?j_(t):64&n&&K_(t,Y_.CheckAndUpdateProjectedViews));break;case Y_.CheckAndUpdateProjectedViews:0==(128&n)&&(32&n?j_(t):64&n&&K_(t,e));break;case Y_.Destroy:V_(t);break;case Y_.CreateViewNodes:L_(t)}}function K_(t,e){U_(t,e),H_(t,e)}function $_(t,e,n,a){if(!(t.def.nodeFlags&e&&t.def.nodeFlags&n))return;const r=t.def.nodes.length;for(let o=0;o<r;o++){const r=t.def.nodes[o];if(r.flags&e&&r.flags&n)switch(Ag.setCurrentNode(t,r.nodeIndex),a){case 0:h_(t,r);break;case 1:B_(t,r)}r.childFlags&e&&r.childFlags&n||(o+=r.childCount)}}let Z_=!1;function J_(){if(Z_)return;Z_=!0;const t=za()?{setCurrentNode:OO,createRootView:Q_,createEmbeddedView:eO,createComponentView:nO,createNgModuleRef:aO,overrideProvider:sO,overrideComponentView:cO,clearOverrides:lO,checkAndUpdateView:fO,checkNoChangesView:pO,destroyView:mO,createDebugContext:(t,e)=>new SO(t,e),handleEvent:vO,updateDirectives:CO,updateRenderer:PO}:{setCurrentNode:()=>{},createRootView:X_,createEmbeddedView:N_,createComponentView:A_,createNgModuleRef:Yf,overrideProvider:Eg,overrideComponentView:Eg,clearOverrides:Eg,checkAndUpdateView:j_,checkNoChangesView:q_,destroyView:V_,createDebugContext:(t,e)=>new SO(t,e),handleEvent:(t,e,n,a)=>t.def.handleEvent(t,e,n,a),updateDirectives:(t,e)=>t.def.updateDirectives(0===e?uO:gO,t),updateRenderer:(t,e)=>t.def.updateRenderer(0===e?uO:gO,t)};Ag.setCurrentNode=t.setCurrentNode,Ag.createRootView=t.createRootView,Ag.createEmbeddedView=t.createEmbeddedView,Ag.createComponentView=t.createComponentView,Ag.createNgModuleRef=t.createNgModuleRef,Ag.overrideProvider=t.overrideProvider,Ag.overrideComponentView=t.overrideComponentView,Ag.clearOverrides=t.clearOverrides,Ag.checkAndUpdateView=t.checkAndUpdateView,Ag.checkNoChangesView=t.checkNoChangesView,Ag.destroyView=t.destroyView,Ag.resolveDep=up,Ag.createDebugContext=t.createDebugContext,Ag.handleEvent=t.handleEvent,Ag.updateDirectives=t.updateDirectives,Ag.updateRenderer=t.updateRenderer,Ag.dirtyParentQueries=m_}function X_(t,e,n,a,r,o){const i=r.injector.get(Ku);return R_(tO(t,r,i,e,n),a,o)}function Q_(t,e,n,a,r,o){const i=r.injector.get(Ku),s=tO(t,r,new RO(i),e,n),c=dO(a);return IO(hO.create,R_,null,[s,c,o])}function tO(t,e,n,a,r){const o=e.injector.get(gr),i=e.injector.get(Ta),s=n.createRenderer(null,null);return{ngModule:e,injector:t,projectableNodes:a,selectorOrNode:r,sanitizer:o,rendererFactory:n,renderer:s,errorHandler:i}}function eO(t,e,n,a){const r=dO(n);return IO(hO.create,N_,null,[t,e,r,a])}function nO(t,e,n,a){return n=iO.get(e.element.componentProvider.provider.token)||dO(n),IO(hO.create,A_,null,[t,e,n,a])}function aO(t,e,n,a){return Yf(t,e,n,function(t){const{hasOverrides:e,hasDeprecatedOverrides:n}=function(t){let e=!1,n=!1;return 0===rO.size?{hasOverrides:e,hasDeprecatedOverrides:n}:(t.providers.forEach(t=>{const a=rO.get(t.token);3840&t.flags&&a&&(e=!0,n=n||a.deprecatedBehavior)}),t.modules.forEach(t=>{oO.forEach((a,r)=>{T(r).providedIn===t&&(e=!0,n=n||a.deprecatedBehavior)})}),{hasOverrides:e,hasDeprecatedOverrides:n})}(t);return e?(function(t){for(let e=0;e<t.providers.length;e++){const a=t.providers[e];n&&(a.flags|=4096);const r=rO.get(a.token);r&&(a.flags=-3841&a.flags|r.flags,a.deps=Qg(r.deps),a.value=r.value)}if(oO.size>0){let e=new Set(t.modules);oO.forEach((a,r)=>{if(e.has(T(r).providedIn)){let e={token:r,flags:a.flags|(n?4096:0),deps:Qg(a.deps),value:a.value,index:t.providers.length};t.providers.push(e),t.providersByKey[Lg(r)]=e}})}}(t=t.factory(()=>Eg)),t):t}(a))}const rO=new Map,oO=new Map,iO=new Map;function sO(t){let e;rO.set(t.token,t),"function"==typeof t.token&&(e=T(t.token))&&"function"==typeof e.providedIn&&oO.set(t.token,t)}function cO(t,e){const n=nf(If(e)),a=nf(n.nodes[0].element.componentView);iO.set(t,a)}function lO(){rO.clear(),oO.clear(),iO.clear()}function dO(t){if(0===rO.size)return t;const e=function(t){const e=[];let n=null;for(let a=0;a<t.nodes.length;a++){const r=t.nodes[a];1&r.flags&&(n=r),n&&3840&r.flags&&rO.has(r.provider.token)&&(e.push(n.nodeIndex),n=null)}return e}(t);if(0===e.length)return t;t=t.factory(()=>Eg);for(let a=0;a<e.length;a++)n(t,e[a]);return t;function n(t,e){for(let n=e+1;n<t.nodes.length;n++){const e=t.nodes[n];if(1&e.flags)return;if(3840&e.flags){const t=e.provider,n=rO.get(t.token);n&&(e.flags=-3841&e.flags|n.flags,t.deps=Qg(n.deps),t.value=n.value)}}}}function uO(t,e,n,a,r,o,i,s,c,l,d,u,g){const f=t.def.nodes[e];return F_(t,f,n,a,r,o,i,s,c,l,d,u,g),224&f.flags?Ig(t,e).value:void 0}function gO(t,e,n,a,r,o,i,s,c,l,d,u,g){const f=t.def.nodes[e];return G_(t,f,n,a,r,o,i,s,c,l,d,u,g),224&f.flags?Ig(t,e).value:void 0}function fO(t){return IO(hO.detectChanges,j_,null,[t])}function pO(t){return IO(hO.checkNoChanges,q_,null,[t])}function mO(t){return IO(hO.destroy,V_,null,[t])}const hO=function(){var t={create:0,detectChanges:1,checkNoChanges:2,destroy:3,handleEvent:4};return t[t.create]="create",t[t.detectChanges]="detectChanges",t[t.checkNoChanges]="checkNoChanges",t[t.destroy]="destroy",t[t.handleEvent]="handleEvent",t}();let bO,yO,_O;function OO(t,e){yO=t,_O=e}function vO(t,e,n,a){return OO(t,e),IO(hO.handleEvent,t.def.handleEvent,null,[t,e,n,a])}function CO(t,e){if(128&t.state)throw Mg(hO[bO]);return OO(t,wO(t,0)),t.def.updateDirectives((function(t,n,a,...r){const o=t.def.nodes[n];return 0===e?MO(t,o,a,r):xO(t,o,a,r),16384&o.flags&&OO(t,wO(t,n)),224&o.flags?Ig(t,o.nodeIndex).value:void 0}),t)}function PO(t,e){if(128&t.state)throw Mg(hO[bO]);return OO(t,TO(t,0)),t.def.updateRenderer((function(t,n,a,...r){const o=t.def.nodes[n];return 0===e?MO(t,o,a,r):xO(t,o,a,r),3&o.flags&&OO(t,TO(t,n)),224&o.flags?Ig(t,o.nodeIndex).value:void 0}),t)}function MO(t,e,n,a){if(F_(t,e,n,...a)){const i=1===n?a[0]:a;if(16384&e.flags){const n={};for(let t=0;t<e.bindings.length;t++){const a=e.bindings[t],s=i[t];8&a.flags&&(n[(r=a.nonMinifiedName,o=void 0,o=r.replace(/[$@]/g,"_"),`ng-reflect-${r=o.replace(xr,(...t)=>"-"+t[1].toLowerCase())}`)]=wr(s))}const a=e.parent,s=Sg(t,a.nodeIndex).renderElement;if(a.element.name)for(let e in n){const a=n[e];null!=a?t.renderer.setAttribute(s,e,a):t.renderer.removeAttribute(s,e)}else t.renderer.setValue(s,`bindings=${JSON.stringify(n,null,2)}`)}}var r,o}function xO(t,e,n,a){G_(t,e,n,...a)}function wO(t,e){for(let n=e;n<t.def.nodes.length;n++){const e=t.def.nodes[n];if(16384&e.flags&&e.bindings&&e.bindings.length)return n}return null}function TO(t,e){for(let n=e;n<t.def.nodes.length;n++){const e=t.def.nodes[n];if(3&e.flags&&e.bindings&&e.bindings.length)return n}return null}class SO{constructor(t,e){this.view=t,this.nodeIndex=e,null==e&&(this.nodeIndex=e=0),this.nodeDef=t.def.nodes[e];let n=this.nodeDef,a=t;for(;n&&0==(1&n.flags);)n=n.parent;if(!n)for(;!n&&a;)n=Wg(a),a=a.parent;this.elDef=n,this.elView=a}get elOrCompView(){return Sg(this.elView,this.elDef.nodeIndex).componentView||this.view}get injector(){return Ff(this.elView,this.elDef)}get component(){return this.elOrCompView.component}get context(){return this.elOrCompView.context}get providerTokens(){const t=[];if(this.elDef)for(let e=this.elDef.nodeIndex+1;e<=this.elDef.nodeIndex+this.elDef.childCount;e++){const n=this.elView.def.nodes[e];20224&n.flags&&t.push(n.provider.token),e+=n.childCount}return t}get references(){const t={};if(this.elDef){kO(this.elView,this.elDef,t);for(let e=this.elDef.nodeIndex+1;e<=this.elDef.nodeIndex+this.elDef.childCount;e++){const n=this.elView.def.nodes[e];20224&n.flags&&kO(this.elView,n,t),e+=n.childCount}}return t}get componentRenderElement(){const t=function(t){for(;t&&!$g(t);)t=t.parent;return t.parent?Sg(t.parent,Wg(t).nodeIndex):null}(this.elOrCompView);return t?t.renderElement:void 0}get renderNode(){return 2&this.nodeDef.flags?Kg(this.view,this.nodeDef):Kg(this.elView,this.elDef)}logError(t,...e){let n,a;2&this.nodeDef.flags?(n=this.view.def,a=this.nodeDef.nodeIndex):(n=this.elView.def,a=this.elDef.nodeIndex);const r=function(t,e){let n=-1;for(let a=0;a<=e;a++)3&t.nodes[a].flags&&n++;return n}(n,a);let o=-1;n.factory(()=>(o++,o===r?t.error.bind(t,...e):Eg)),o<r&&(t.error("Illegal state: the ViewDefinitionFactory did not call the logger!"),t.error(...e))}}function kO(t,e,n){for(let a in e.references)n[a]=y_(t,e,e.references[a])}function IO(t,e,n,a){const r=bO,o=yO,i=_O;try{bO=t;const s=e.apply(n,a);return yO=o,_O=i,bO=r,s}catch(s){if(Ma(s)||!yO)throw s;throw function(t,e){return t instanceof Error||(t=new Error(t.toString())),Pg(t,e),t}(s,NO())}}function NO(){return yO?new SO(yO,_O):null}class RO{constructor(t){this.delegate=t}createRenderer(t,e){return new AO(this.delegate.createRenderer(t,e))}begin(){this.delegate.begin&&this.delegate.begin()}end(){this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.delegate.whenRenderingDone?this.delegate.whenRenderingDone():Promise.resolve(null)}}class AO{constructor(t){this.delegate=t,this.debugContextFactory=NO,this.data=this.delegate.data}createDebugContext(t){return this.debugContextFactory(t)}destroyNode(t){const e=Jy(t);!function(t){$y.delete(t.nativeNode)}(e),e instanceof Fy&&(e.listeners.length=0),this.delegate.destroyNode&&this.delegate.destroyNode(t)}destroy(){this.delegate.destroy()}createElement(t,e){const n=this.delegate.createElement(t,e),a=this.createDebugContext(n);if(a){const e=new zy(n,null,a);e.name=t,Xy(e)}return n}createComment(t){const e=this.delegate.createComment(t),n=this.createDebugContext(e);return n&&Xy(new Fy(e,null,n)),e}createText(t){const e=this.delegate.createText(t),n=this.createDebugContext(e);return n&&Xy(new Fy(e,null,n)),e}appendChild(t,e){const n=Jy(t),a=Jy(e);n&&a&&n instanceof zy&&n.addChild(a),this.delegate.appendChild(t,e)}insertBefore(t,e,n){const a=Jy(t),r=Jy(e),o=Jy(n);a&&r&&a instanceof zy&&a.insertBefore(o,r),this.delegate.insertBefore(t,e,n)}removeChild(t,e){const n=Jy(t),a=Jy(e);n&&a&&n instanceof zy&&n.removeChild(a),this.delegate.removeChild(t,e)}selectRootElement(t,e){const n=this.delegate.selectRootElement(t,e),a=NO();return a&&Xy(new zy(n,null,a)),n}setAttribute(t,e,n,a){const r=Jy(t);r&&r instanceof zy&&(r.attributes[a?a+":"+e:e]=n),this.delegate.setAttribute(t,e,n,a)}removeAttribute(t,e,n){const a=Jy(t);a&&a instanceof zy&&(a.attributes[n?n+":"+e:e]=null),this.delegate.removeAttribute(t,e,n)}addClass(t,e){const n=Jy(t);n&&n instanceof zy&&(n.classes[e]=!0),this.delegate.addClass(t,e)}removeClass(t,e){const n=Jy(t);n&&n instanceof zy&&(n.classes[e]=!1),this.delegate.removeClass(t,e)}setStyle(t,e,n,a){const r=Jy(t);r&&r instanceof zy&&(r.styles[e]=n),this.delegate.setStyle(t,e,n,a)}removeStyle(t,e,n){const a=Jy(t);a&&a instanceof zy&&(a.styles[e]=null),this.delegate.removeStyle(t,e,n)}setProperty(t,e,n){const a=Jy(t);a&&a instanceof zy&&(a.properties[e]=n),this.delegate.setProperty(t,e,n)}listen(t,e,n){if("string"!=typeof t){const a=Jy(t);a&&a.listeners.push(new jy(e,n))}return this.delegate.listen(t,e,n)}parentNode(t){return this.delegate.parentNode(t)}nextSibling(t){return this.delegate.nextSibling(t)}setValue(t,e){return this.delegate.setValue(t,e)}}function EO(t){return J_(),Ag.overrideProvider(t)}function DO(t,e){return J_(),Ag.overrideComponentView(t,e)}function LO(){return J_(),Ag.clearOverrides()}function qO(t,e,n){return new jO(t,e,n)}class jO extends it{constructor(t,e,n){super(),this.moduleType=t,this._bootstrapComponents=e,this._ngModuleDefFactory=n}create(t){J_();const e=function(t){const e=Array.from(t.providers),n=Array.from(t.modules),a={};for(const r in t.providersByKey)a[r]=t.providersByKey[r];return{factory:t.factory,isRoot:t.isRoot,providers:e,modules:n,providersByKey:a}}(nf(this._ngModuleDefFactory));return Ag.createNgModuleRef(this.moduleType,t||Ls.NULL,this._bootstrapComponents,e)}}},"8YOa":function(t,e,n){var a=n("0BK2"),r=n("hh1v"),o=n("UTVS"),i=n("m/L8").f,s=n("kOOl"),c=n("uy83"),l=s("meta"),d=0,u=Object.isExtensible||function(){return!0},g=function(t){i(t,l,{value:{objectID:"O"+ ++d,weakData:{}}})},f=t.exports={REQUIRED:!1,fastKey:function(t,e){if(!r(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!o(t,l)){if(!u(t))return"F";if(!e)return"E";g(t)}return t[l].objectID},getWeakData:function(t,e){if(!o(t,l)){if(!u(t))return!0;if(!e)return!1;g(t)}return t[l].weakData},onFreeze:function(t){return c&&f.REQUIRED&&u(t)&&!o(t,l)&&g(t),t}};a[l]=!0},"8iEZ":function(t,e,n){var a=n("mrSG").__decorate;Object.defineProperty(e,"__esModule",{value:!0});var r=n("8Y7J");e.DataTableColumnCellDirective=function(){return a([r.Directive({selector:"[ngx-datatable-cell-template]"})],(function(t){this.template=t}))}()},"8j5A":function(t,e,n){"use strict";n.r(e),e.default='<xliff xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 http://docs.oasis-open.org/xliff/v1.2/os/xliff-core-1.2-strict.xsd" xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">\n  <file original="ng2.template" datatype="plaintext" source-language="en-US" target-language="it-IT">\n    <body>\n      <trans-unit id="319e0745bcbc132451569294fa2fa21bf10f555a" datatype="html">\n        <source>Toggle navigation</source>\n        <target>Attiva/Disattiva barra di navigazione</target>\n      </trans-unit>\n      <trans-unit id="f65253954b66e929a8b4d5ecaf61f9129f8cec64" datatype="html">\n        <source>Dashboard</source>\n        <target>Dashboard</target>\n      </trans-unit>\n      <trans-unit id="f4d1dd59b039ad818d9da7e29a773e10e41d9821" datatype="html">\n        <source>Cluster</source>\n        <target>Cluster</target>\n      </trans-unit>\n      <trans-unit id="099b441d49333b3c6d30b36dc0a4763e64c78920" datatype="html">\n        <source>Hosts</source>\n        <target>Host</target>\n      </trans-unit>\n      <trans-unit id="2cc3ecb16e348fcf2f2fbfd2f997d4d22f37475b" datatype="html">\n        <source>Inventory</source>\n        <target>Inventory</target>\n      </trans-unit>\n      <trans-unit id="624f596cc3320f5e0a0d7c7346c364e5af9bdd8c" datatype="html">\n        <source>Monitors</source>\n        <target>Monitor</target>\n      </trans-unit>\n      <trans-unit id="419d940613972cc3fae9c8ea0a4306dbf80616e5" datatype="html">\n        <source>Services</source>\n        <target>Servizi</target>\n      </trans-unit>\n      <trans-unit id="1a9183778f2c6473d7ccb080f651caa01faaf70c" datatype="html">\n        <source>OSDs</source>\n        <target>OSD</target>\n      </trans-unit>\n      <trans-unit id="4a41f824a35ba01d5bd7be61aa06b3e8145209d0" datatype="html">\n        <source>Configuration</source>\n        <target>Configurazione</target>\n      </trans-unit>\n      <trans-unit id="8c95898abff46bfac3ed6eb2afef74597e60b15c" datatype="html">\n        <source>CRUSH map</source>\n        <target>Mappa CRUSH</target>\n      </trans-unit>\n      <trans-unit id="33da4dbeb076159510801ea764a218fd341269d2" datatype="html">\n        <source>Manager modules</source>\n        <target>Moduli Manager</target>\n      </trans-unit>\n      <trans-unit id="eb3d5aefff38a814b76da74371cbf02c0789a1ef" datatype="html">\n        <source>Logs</source>\n        <target>Log</target>\n      </trans-unit>\n      <trans-unit id="17fc3efe5f9fa4e0289c900cb6202265215a1a27" datatype="html">\n        <source>Monitoring</source>\n        <target>Monitoring</target>\n      </trans-unit>\n      <trans-unit id="92899fa68e8ca108912163ff58edc8540e453787" datatype="html">\n        <source>Pools</source>\n        <target>Pool</target>\n      </trans-unit>\n      <trans-unit id="7f5d0c10614e8a34f0e2dad33a0568277c50cf69" datatype="html">\n        <source>Block</source>\n        <target>Blocco</target>\n      </trans-unit>\n      <trans-unit id="b73f7f5060fb22a1e9ec462b1bb02493fa3ab866" datatype="html">\n        <source>Images</source>\n        <target>Immagini</target>\n      </trans-unit>\n      <trans-unit id="3c2562ba992127203dcfd014010b03cb7b8113c6" datatype="html">\n        <source>Mirroring</source>\n        <target>Esecuzione della copia speculare</target>\n      </trans-unit>\n      <trans-unit id="811c241d56601b91ef26735b770e64428089b950" datatype="html">\n        <source>iSCSI</source>\n        <target>iSCSI </target>\n      </trans-unit>\n      <trans-unit id="a24eabd99ea5af20f5f94c4484649cd30370042b" datatype="html">\n        <source>NFS</source>\n        <target>NFS</target>\n      </trans-unit>\n      <trans-unit id="a4eff72d97b7ced051398d581f10968218057ddc" datatype="html">\n        <source>Filesystems</source>\n        <target>File system</target>\n      </trans-unit>\n      <trans-unit id="2190548d236ca5f7bc7ab2bca334b860c5ff2ad4" datatype="html">\n        <source>Object Gateway</source>\n        <target>Object Gateway</target>\n      </trans-unit>\n      <trans-unit id="9e24f9e2d42104ffc01599db4d566d1cc518f9e6" datatype="html">\n        <source>Daemons</source>\n        <target>Daemon</target>\n      </trans-unit>\n      <trans-unit id="4d13a9cd5ed3dcee0eab22cb25198d43886942be" datatype="html">\n        <source>Users</source>\n        <target>Utenti</target>\n      </trans-unit>\n      <trans-unit id="9515520496da83179d8b08132f00f575512a1f40" datatype="html">\n        <source>Buckets</source>\n        <target>Compartimenti</target>\n      </trans-unit>\n      <trans-unit id="797f8214e8148f4bf0d244baaa7341706b419549" datatype="html">\n        <source>Retrieving data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>. Please wait...\n        </source>\n        <target>Retrieving data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>. Please wait...\n        </target>\n      </trans-unit>\n      <trans-unit id="5a870dc77b9f6f33ee671ea2d856021276933339" datatype="html">\n        <source>Displaying previously cached data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>\n  for \n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n        </source>\n        <target>Displaying previously cached data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>\n  for \n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="ae580202919844531361ba2308287226ff74a584" datatype="html">\n        <source>Could not load data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n  Please check the cluster health.\n        </source>\n        <target>Could not load data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n  Please check the cluster health.\n        </target>\n      </trans-unit>\n      <trans-unit id="7e52e9143145e1db5146258de81eae018a407b31" datatype="html">\n        <source>Clear notifications</source>\n        <target>Clear notifications</target>\n      </trans-unit>\n      <trans-unit id="b0b07bb6b7ff21ede439dd04eaf8872d1ecb84d8" datatype="html">\n        <source>Remove notification</source>\n        <target>Remove notification</target>\n      </trans-unit>\n      <trans-unit id="e17a1d75189da843f541f7764f188f2b19a97df2" datatype="html">\n        <source>Duration:</source>\n        <target>Duration:</target>\n      </trans-unit>\n      <trans-unit id="0d4b37c6675c5b436a54c43d6716eec835e1aa7f" datatype="html">\n        <source>There are no notifications.</source>\n        <target>There are no notifications.</target>\n      </trans-unit>\n      <trans-unit id="0a23e992f6c6e169a38b2b7338b4e5e803b52e0d" datatype="html">\n        <source>Tasks and Notifications</source>\n        <target>Tasks and Notifications</target>\n      </trans-unit>\n      <trans-unit id="3fb5709e10166cbc85970cbff103db227dbeb813" datatype="html">\n        <source>Select a Language</source>\n        <target>Selezionare una lingua</target>\n      </trans-unit>\n      <trans-unit id="c5109325fb160b543f71a51e7511c00575057431" datatype="html">\n        <source>Loading panel data...</source>\n        <target>Caricamento pannello dati in corso...</target>\n      </trans-unit>\n      <trans-unit id="8ca12411f890ab8b0a9216418e2b8f5ea7d2441a" datatype="html">\n        <source>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the monitoring functionality.\n        </source>\n        <target>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the monitoring functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="160a9e80dc089792df42e2400b1e81b9e7025aa7" datatype="html">\n        <source>Grafana Dashboard doesn\'t exist. Please refer to\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  add dashboards to Grafana.\n        </source>\n        <target>Grafana Dashboard doesn\'t exist. Please refer to\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  add dashboards to Grafana.\n        </target>\n      </trans-unit>\n      <trans-unit id="4e11830040bd64804a0555de76f291d5832772d4" datatype="html">\n        <source>Grafana Time Picker</source>\n        <target>Selezione ora di Grafana</target>\n      </trans-unit>\n      <trans-unit id="238c1ba845dd7330e8088165275919a1debf1ca3" datatype="html">\n        <source>Reset Settings</source>\n        <target>Impostazioni di ripristino</target>\n      </trans-unit>\n      <trans-unit id="c8d1785038d461ec66b5799db21864182b35900a" datatype="html">\n        <source>Refresh</source>\n        <target>Refresh</target>\n      </trans-unit>\n      <trans-unit id="6c947210e2d162b6225083d18820ab602f58cd2d" datatype="html">\n        <source>Remove the custom configuration value. The default configuration will be inherited and used instead.</source>\n        <target>Remove the custom configuration value. The default configuration will be inherited and used instead.</target>\n      </trans-unit>\n      <trans-unit id="454ee9cb60b00446a8fb147fd2cc5eb836320586" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ option.maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ option.maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="7fc8a22825131e028336f60ef909ccbd96059703" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ option.minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ option.minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="cda31dbd724cf5f4fa7a4274d9120651490c8a8c" datatype="html">\n        <source>Back</source>\n        <target>Indietro</target>\n      </trans-unit>\n      <trans-unit id="9ce641535be1ffa106c87724ba0637facaef5f61" datatype="html">\n        <source>Your password will expire in \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>less than 1\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day. Click\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.\n        </source>\n        <target>Your password will expire in \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>less than 1\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day. Click\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.\n        </target>\n      </trans-unit>\n      <trans-unit id="c2f34088c155e40ffb23770a465a65868ce772b2" datatype="html">\n        <source>Your password will expire in \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ expirationDays }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day(s). Click\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.\n        </source>\n        <target>Your password will expire in \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ expirationDays }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day(s). Click\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.\n        </target>\n      </trans-unit>\n      <trans-unit id="9b516f972c744779257310b73f6e97438b726707" datatype="html">\n        <source>Orchestrator is not available. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the functionality.\n        </source>\n        <target>Orchestrator is not available. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="012741ee52b3c050e4a977c37cc2334f7974f141" datatype="html">\n        <source>Failed to load data.</source>\n        <target>Non è stato possibile caricare i dati.</target>\n      </trans-unit>\n      <trans-unit id="1e5e23363e949f7dcbaf034bdb141a561132a10e" datatype="html">\n        <source>Clear filters</source>\n        <target>Clear filters</target>\n      </trans-unit>\n      <trans-unit id="80cc9a12d4bf6fe454ed94b379eeaf915f920bb7" datatype="html">\n        <source>selected</source>\n        <target>selezionato</target>\n        <note>X selected</note>\n      </trans-unit>\n      <trans-unit id="0cb77511a9a148e05b9adf36cc07269956fbb29d" datatype="html">\n        <source>found</source>\n        <target>trovato</target>\n        <note>X found</note>\n      </trans-unit>\n      <trans-unit id="79347388740c50b7ac97e144c2494bb62912f312" datatype="html">\n        <source>total</source>\n        <target>totale</target>\n        <note>X total</note>\n      </trans-unit>\n      <trans-unit id="cff1428d10d59d14e45edec3c735a27b5482db59" datatype="html">\n        <source>Name</source>\n        <target>Nome</target>\n      </trans-unit>\n      <trans-unit id="eec715de352a6b114713b30b640d319fa78207a0" datatype="html">\n        <source>Description</source>\n        <target>Descrizione</target>\n      </trans-unit>\n      <trans-unit id="4ad112ce9bcd55dfd137792a86afe1b5a5b13cf8" datatype="html">\n        <source>Long description</source>\n        <target>Descrizione lunga</target>\n      </trans-unit>\n      <trans-unit id="ff7cee38a2259526c519f878e71b964f41db4348" datatype="html">\n        <source>Default</source>\n        <target>Default</target>\n      </trans-unit>\n      <trans-unit id="33e1c1d9fc05ca3f62fcc8a1170fc31ebae4229c" datatype="html">\n        <source>Daemon default</source>\n        <target>Default del daemon</target>\n      </trans-unit>\n      <trans-unit id="809b0c848932a41318f77a2aace904ef429c13f4" datatype="html">\n        <source>Values</source>\n        <target>Valori</target>\n      </trans-unit>\n      <trans-unit id="5894f7158499fdb89527af50c9f1cf7d4c95cad6" datatype="html">\n        <source>-- Default --</source>\n        <target>-- Default --</target>\n      </trans-unit>\n      <trans-unit id="514f6e12d035a6d9b00de6b3e55c18b73488da07" datatype="html">\n        <source>true</source>\n        <target>true</target>\n      </trans-unit>\n      <trans-unit id="774f5e6a183dea08393789b6f72e86afad729419" datatype="html">\n        <source>false</source>\n        <target>false</target>\n      </trans-unit>\n      <trans-unit id="82029b6db704c56a2aa3e82ac555b8655356b077" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8ed8b3967a7326b81b191c9f490006e6a6777a9a" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="52c9a103b812f258bcddc3d90a6e3f46871d25fe" datatype="html">\n        <source>Save</source>\n        <target>Salva</target>\n      </trans-unit>\n      <trans-unit id="738de688b22fba5d0dc7a5e549996838dddad0ee" datatype="html">\n        <source>CRUSH map viewer</source>\n        <target>Visualizzatore mappa CRUSH</target>\n      </trans-unit>\n      <trans-unit id="94516fa213706c67ce5a5b5765681d7fb032033a" datatype="html">\n        <source>Loading...</source>\n        <target>Caricamento in corso...</target>\n      </trans-unit>\n      <trans-unit id="formTitle" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </target>\n        <note>form title</note>\n      </trans-unit>\n      <trans-unit id="9a541ec1a4319fffc16ad3b3ab2c2b6d251a829d" datatype="html">\n        <source>Hostname</source>\n        <target>Nome host</target>\n      </trans-unit>\n      <trans-unit id="7cbdabcece469fab89cfa687ab152bca18b97498" datatype="html">\n        <source>This field is required.</source>\n        <target>Questo campo è obbligatorio.</target>\n      </trans-unit>\n      <trans-unit id="1b3f5e5291541678f7afa49d28fad5ca848a8061" datatype="html">\n        <source>The chosen hostname is already in use.</source>\n        <target>The chosen hostname is already in use.</target>\n      </trans-unit>\n      <trans-unit id="formActionButton" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </target>\n        <note>form action button</note>\n      </trans-unit>\n      <trans-unit id="6110699a3562eeb15371063c0cf7f6bfd88a0209" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemNames[0] }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemNames[0] }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>?\n        </target>\n      </trans-unit>\n      <trans-unit id="549859e511ba5af0ea03fcaa620c472f08038969" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected items?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected items?\n        </target>\n      </trans-unit>\n      <trans-unit id="54839ebc827b73c9dc4e1df731c6d36a85036af7" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected \n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected \n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>?\n        </target>\n      </trans-unit>\n      <trans-unit id="2be8b7f04f0104d3fad90d079d8202b74f758b9a" datatype="html">\n        <source>Yes, I am sure.</source>\n        <target>Sì.</target>\n      </trans-unit>\n      <trans-unit id="d7b35c384aecd25a516200d6921836374613dfe7" datatype="html">\n        <source>Cancel</source>\n        <target>Annulla</target>\n      </trans-unit>\n      <trans-unit id="55a2f26b2e87886d9b8015a887e38e51ab2a866a" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8" datatype="html">\n        <source>Close</source>\n        <target>Chiudi</target>\n      </trans-unit>\n      <trans-unit id="40661476cb24c89d8b06614998e31d5fbe84eeb6" datatype="html">\n        <source>Hosts List</source>\n        <target>Elenco degli host</target>\n      </trans-unit>\n      <trans-unit id="5e7f4b1ca49e8d217bd0e12c6f7d6b6a2ade2c18" datatype="html">\n        <source>Overall Performance</source>\n        <target>Prestazioni complessive</target>\n      </trans-unit>\n      <trans-unit id="3e24569eca61d598c8b01defbbbb1fa8bd5222bc" datatype="html">\n        <source>Devices</source>\n        <target>Devices</target>\n      </trans-unit>\n      <trans-unit id="e6d57f36aa2bad303c8a8ee944b9bd7fae3c8c26" datatype="html">\n        <source>No entries found</source>\n        <target>Nessuna voce trovata</target>\n      </trans-unit>\n      <trans-unit id="d556ab48a65722b400e497f61737f553ee0f89e2" datatype="html">\n        <source>Cluster Logs</source>\n        <target>Log dei cluster</target>\n      </trans-unit>\n      <trans-unit id="5f966baffd188be0e8adc2d7067b86e55fc9b9de" datatype="html">\n        <source>Audit Logs</source>\n        <target>Log delle revisioni</target>\n      </trans-unit>\n      <trans-unit id="4193c9eb868aeec119b78a14795241e0aa5e8b60" datatype="html">\n        <source>Priority:</source>\n        <target>Priority:</target>\n      </trans-unit>\n      <trans-unit id="1d78ca51eab260ce3fd917d39190d64df5229b6e" datatype="html">\n        <source>Keyword:</source>\n        <target>Keyword:</target>\n      </trans-unit>\n      <trans-unit id="05fa0bded36de6e73a1fa44838b627349dace044" datatype="html">\n        <source>Date:</source>\n        <target>Date:</target>\n      </trans-unit>\n      <trans-unit id="31dadb362bf7f7c2afa10e5f96474ccd3977f91f" datatype="html">\n        <source>Datepicker</source>\n        <target>Datepicker</target>\n      </trans-unit>\n      <trans-unit id="85a400388de1899b1917138cf7e5286376f72847" datatype="html">\n        <source>Time range:</source>\n        <target>Time range:</target>\n      </trans-unit>\n      <trans-unit id="2447796ddbda942f4e2c46619cb84d69f066e568" datatype="html">\n        <source>Loading configuration...</source>\n        <target>Caricamento della configurazione in corso...</target>\n      </trans-unit>\n      <trans-unit id="b42c0b347a841bed8859ee83de05080ee28c803b" datatype="html">\n        <source>The configuration could not be loaded.</source>\n        <target>Impossibile caricare la configurazione.</target>\n      </trans-unit>\n      <trans-unit id="31a9c2870a934b594d1390146c489f76440859ea" datatype="html">\n        <source>Edit Manager module</source>\n        <target>Modifica modulo Manager</target>\n      </trans-unit>\n      <trans-unit id="46e09b8290d3d0afdb6baa2021395b0570606a31" datatype="html">\n        <source>The entered value is not a valid UUID, e.g.: 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8</source>\n        <target>Il valore immesso non è un UUID valido, ad es.: 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8</target>\n      </trans-unit>\n      <trans-unit id="7aacd038b39cfd347107d01d1dc27f5cb3e0951c" datatype="html">\n        <source>The entered value needs to be a valid IP address.</source>\n        <target>Il valore immesso deve essere un indirizzo IP valido.</target>\n      </trans-unit>\n      <trans-unit id="f19106149f4b07a0d721f9d317afed393cb7bd93" datatype="html">\n        <source>The entered value is too high! It must be lower or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.max }}"/>.\n        </source>\n        <target>The entered value is too high! It must be lower or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.max }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="6d33c40ef9a6c3bf0888df831b25e41e65f9d15b" datatype="html">\n        <source>The entered value is too low! It must be greater or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.min }}"/>.\n        </source>\n        <target>The entered value is too low! It must be greater or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.min }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="eae7086660cf1e38c7194a2c49ff52cc656f90f5" datatype="html">\n        <source>The entered value needs to be a number.</source>\n        <target>Il valore immesso deve essere un numero.</target>\n      </trans-unit>\n      <trans-unit id="a73376e04b4fb3a20734c8c39743fba32e6676ce" datatype="html">\n        <source>The entered value needs to be a number or decimal.</source>\n        <target>Il valore immesso deve essere un numero o un decimale.</target>\n      </trans-unit>\n      <trans-unit id="047f50bc5b5d17b5bec0196355953e1a5c590ddb" datatype="html">\n        <source>Update</source>\n        <target>Aggiorna</target>\n      </trans-unit>\n      <trans-unit id="81b97b8ea996ad1e4f9fca8415021850214884b1" datatype="html">\n        <source>Status</source>\n        <target>Stato</target>\n      </trans-unit>\n      <trans-unit id="57ec6032f5618d4a9f16eb950ad23d2ce7c24b54" datatype="html">\n        <source>Cluster ID</source>\n        <target>ID cluster</target>\n      </trans-unit>\n      <trans-unit id="67d7facc3fec5f8a49ab9ba0a245872184264ce5" datatype="html">\n        <source>monmap modified</source>\n        <target>mappa mon modificata</target>\n      </trans-unit>\n      <trans-unit id="d4906731aaf2b94b4f547646c9bfe58bb77951b6" datatype="html">\n        <source>monmap epoch</source>\n        <target>epoca mappa mon</target>\n      </trans-unit>\n      <trans-unit id="bd4ee06ffdc46d9dfbd0c0c4f81399021c680056" datatype="html">\n        <source>quorum con</source>\n        <target>quorum con</target>\n      </trans-unit>\n      <trans-unit id="1176c7db8a8276ccb44cc3d42e2c28d9fa6c6596" datatype="html">\n        <source>quorum mon</source>\n        <target>quorum mon</target>\n      </trans-unit>\n      <trans-unit id="530ef677a09d681b3ab68cb0760494b3ae72a77c" datatype="html">\n        <source>required con</source>\n        <target>con richiesta</target>\n      </trans-unit>\n      <trans-unit id="a91558e0d506c32021c31843f8f168899fc65cbf" datatype="html">\n        <source>required mon</source>\n        <target>mon richiesto</target>\n      </trans-unit>\n      <trans-unit id="b3abe9eac5bcd94a54c8da93b312e085ec512e74" datatype="html">\n        <source>In Quorum</source>\n        <target>Nel quorum</target>\n      </trans-unit>\n      <trans-unit id="ba4b748a676e1f217ce1e736fb7ec1215e677bae" datatype="html">\n        <source>Not In Quorum</source>\n        <target>Non nel quorum</target>\n      </trans-unit>\n      <trans-unit id="4383e9662ea19839c7499b2128d43a195e564317" datatype="html">\n        <source>OSD creation preview</source>\n        <target>OSD creation preview</target>\n      </trans-unit>\n      <trans-unit id="366225c51e0b00bcb1c55795a0dc5e81c455f84e" datatype="html">\n        <source>DriveGroups</source>\n        <target>DriveGroups</target>\n      </trans-unit>\n      <trans-unit id="8edc89137d0d8c5667a2f03230beafae45e58429" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ deviceType }}"/> devices\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ deviceType }}"/> devices\n        </target>\n      </trans-unit>\n      <trans-unit id="eba28e1805b18f7c8ae2e4bc15dcf063b10b3822" datatype="html">\n        <source>At least one of these filters must be applied in order to proceed:</source>\n        <target>At least one of these filters must be applied in order to proceed:</target>\n      </trans-unit>\n      <trans-unit id="93389aa2fe2bea50bf89554ee51b28f87ee2fb50" datatype="html">\n        <source>Number of devices: \n          <x id="INTERPOLATION" equiv-text="{{ filteredDevices.length }}"/>. Raw capacity:\n          <x id="INTERPOLATION_1" equiv-text="{{ capacity | dimlessBinary }}"/>.\n        </source>\n        <target>Number of devices: \n          <x id="INTERPOLATION" equiv-text="{{ filteredDevices.length }}"/>. Raw capacity:\n          <x id="INTERPOLATION_1" equiv-text="{{ capacity | dimlessBinary }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="ccb4f84edc0b4e76415bb3f9b73d725b06683af3" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ name }}"/> devices\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ name }}"/> devices\n        </target>\n      </trans-unit>\n      <trans-unit id="60cb3d01e5ddf266ecb4271007a1c3d0f3efdc22" datatype="html">\n        <source>The primary storage devices. These devices contain all OSD data.</source>\n        <target>The primary storage devices. These devices contain all OSD data.</target>\n      </trans-unit>\n      <trans-unit id="b432e04886d0d1fd84f740477383051f85addcf2" datatype="html">\n        <source>Write-Ahead-Log devices. These devices are used for BlueStore’s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device.</source>\n        <target>Write-Ahead-Log devices. These devices are used for BlueStore’s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device.</target>\n      </trans-unit>\n      <trans-unit id="b87e181ab9e8393aa5ed759dd3d53836e32c8ffe" datatype="html">\n        <source>DB devices can be used for storing BlueStore’s internal metadata.  It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD).</source>\n        <target>DB devices can be used for storing BlueStore’s internal metadata.  It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD).</target>\n      </trans-unit>\n      <trans-unit id="f6755cff4957d5c3c89bafce5651f1b6fa2b1fd9" datatype="html">\n        <source>Add</source>\n        <target>Aggiungi</target>\n      </trans-unit>\n      <trans-unit id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46" datatype="html">\n        <source>Clear</source>\n        <target>Clear</target>\n      </trans-unit>\n      <trans-unit id="7e0fd3c7af0630f93befa6234a693a32a61084e0" datatype="html">\n        <source>Raw capacity: \n          <x id="INTERPOLATION" equiv-text="{{ capacity | dimlessBinary }}"/>\n        </source>\n        <target>Raw capacity: \n          <x id="INTERPOLATION" equiv-text="{{ capacity | dimlessBinary }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="43ecf6bee2aebc07b0aad6dc1fe13e38d14687fa" datatype="html">\n        <source>Shared devices</source>\n        <target>Shared devices</target>\n      </trans-unit>\n      <trans-unit id="7a1c376f6f1b37de4c318ff2106255ba6c0f5b0b" datatype="html">\n        <source>WAL slots</source>\n        <target>WAL slots</target>\n      </trans-unit>\n      <trans-unit id="73811a6f37b63e6b0e491e221bfa21e9dea8a87a" datatype="html">\n        <source>How many OSDs per WAL device.</source>\n        <target>How many OSDs per WAL device.</target>\n      </trans-unit>\n      <trans-unit id="0c67a7ac4762ef1cc855056c6b4daab93e53a0a5" datatype="html">\n        <source>Specify 0 to let Orchestrator backend decide it.</source>\n        <target>Specify 0 to let Orchestrator backend decide it.</target>\n      </trans-unit>\n      <trans-unit id="7bda9362e06e6c67341b4a8425b0d29d6b84464b" datatype="html">\n        <source>Value should be greater than or equal to 0</source>\n        <target>Value should be greater than or equal to 0</target>\n      </trans-unit>\n      <trans-unit id="324c2b10152b9dd908222bb0b71f61beb60a30c5" datatype="html">\n        <source>DB slots</source>\n        <target>DB slots</target>\n      </trans-unit>\n      <trans-unit id="c23cf12ef9c76f37fc7a4b7ae3e00fb0f68b6e26" datatype="html">\n        <source>How many OSDs per DB device.</source>\n        <target>How many OSDs per DB device.</target>\n      </trans-unit>\n      <trans-unit id="6cdb1fea93d77c07950c0c76c6e0ad79ebbef084" datatype="html">\n        <source>Features</source>\n        <target>Funzioni</target>\n      </trans-unit>\n      <trans-unit id="3e2a583f531f7dd9f089f68a6968e444c372c3e8" datatype="html">\n        <source>Preview</source>\n        <target>Preview</target>\n      </trans-unit>\n      <trans-unit id="5ef50ba2514414f799d4c8fc36067a251904ba81" datatype="html">\n        <source>Cluster-wide OSD Flags</source>\n        <target>Flag OSD in tutto il cluster</target>\n      </trans-unit>\n      <trans-unit id="71c77bb8cecdf11ec3eead24dd1ba506573fa9cd" datatype="html">\n        <source>Submit</source>\n        <target>Invia</target>\n      </trans-unit>\n      <trans-unit id="1cfe07dac5b4ee1c464eb24225ddeb4f1d24076a" datatype="html">\n        <source>Advanced...</source>\n        <target>Avanzate...</target>\n      </trans-unit>\n      <trans-unit id="b1ef1c12ddcee305353623919ef02778569f5454" datatype="html">\n        <source>Advanced configuration options</source>\n        <target>Advanced configuration options</target>\n      </trans-unit>\n      <trans-unit id="c35f9c5f268a514b970cc55e9a5dc4bed0988e7f" datatype="html">\n        <source>OSD Recovery Priority</source>\n        <target>Priorità di recupero OSD</target>\n      </trans-unit>\n      <trans-unit id="b74af38005e8a8914e45af2ec412e11ceafef8b6" datatype="html">\n        <source>Priority</source>\n        <target>Priorità</target>\n      </trans-unit>\n      <trans-unit id="c2f48f04b379bfba133825747adfd238d511412e" datatype="html">\n        <source>Customize priority values</source>\n        <target>Personalizza valori di priorità</target>\n      </trans-unit>\n      <trans-unit id="4aa19de2a2b54cbda39e9c62917b23044c087776" datatype="html">\n        <source>This field is required!</source>\n        <target>Questo campo è obbligatorio.</target>\n      </trans-unit>\n      <trans-unit id="b699e94bf376491bd50b70a98531071c737eaf40" datatype="html">\n        <source>[object Object]</source>\n        <target>[object Object]</target>\n      </trans-unit>\n      <trans-unit id="98fe13e7ad6c2b80375d204b47858ded83f80e15" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="5423a3c111be47fc5a1bfe46ceb58c81c84db691" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="5251a4355cece3075db43f15d69a24a0f8485707" datatype="html">\n        <source>Reweight OSD: \n          <x id="INTERPOLATION" equiv-text="{{ osdId }}"/>\n        </source>\n        <target>Reweight OSD: \n          <x id="INTERPOLATION" equiv-text="{{ osdId }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="67650b2998db48201b2c6176cbfef51e7211ccaa" datatype="html">\n        <source>The value needs to be between 0 and 1.</source>\n        <target>Il valore deve essere compreso tra 0 e 1.</target>\n      </trans-unit>\n      <trans-unit id="bc11f92113d678a90e334fdf3d7b3fddbe34c579" datatype="html">\n        <source>Reweight</source>\n        <target>Ripesa</target>\n      </trans-unit>\n      <trans-unit id="d5ca5daf742023fc4f0919fb3c1c6a51991cda4f" datatype="html">\n        <source>OSDs \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>Scrub\n        </source>\n        <target>OSDs \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>Scrub\n        </target>\n      </trans-unit>\n      <trans-unit id="4c17d67c7c5799eb920030e9a399961e90f55dd8" datatype="html">\n        <source>{VAR_SELECT, select, 1 {Deep } }</source>\n        <target>{VAR_SELECT, select, 1 {Deep } }</target>\n      </trans-unit>\n      <trans-unit id="fd0a4b6eed32e3488eccdc9c13f9841f08cc275e" datatype="html">\n        <source>You are about to apply a \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to\n          the OSD(s): \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ selected | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.\n        </source>\n        <target>You are about to apply a \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to\n          the OSD(s): \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ selected | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="dc6705f342a036b332c3fd3443201c3613e5524d" datatype="html">\n        <source>{VAR_SELECT, select, 1 {deep } }</source>\n        <target>{VAR_SELECT, select, 1 {deep } }</target>\n      </trans-unit>\n      <trans-unit id="b49d7877d24112d4bdfce9256edf61a007fae888" datatype="html">\n        <source>OSDs List</source>\n        <target>Elenco degli OSD</target>\n      </trans-unit>\n      <trans-unit id="d5707a32ba9c1138e6423498fb0b24e970ebd19f" datatype="html">\n        <source>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) \n          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </source>\n        <target>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) \n          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </target>\n      </trans-unit>\n      <trans-unit id="d08c1e4f17dffc0ed1ac2e2e2875cb8b569eeb35" datatype="html">\n        <source>The \n          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to be \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>! \n          <x id="INTERPOLATION_1" equiv-text="{{ message }}"/>\n        </source>\n        <target>The \n          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to be \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>! \n          <x id="INTERPOLATION_1" equiv-text="{{ message }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="e776996dac651ef3819bfa767ccf2a0613759f47" datatype="html">\n        <source>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</source>\n        <target>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</target>\n      </trans-unit>\n      <trans-unit id="5cd6a031937412c42e5efa1e6959cb72ac08c720" datatype="html">\n        <source>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD \n          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </source>\n        <target>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD \n          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </target>\n      </trans-unit>\n      <trans-unit id="3eda19b44809820fffd5d3753bafb7243116f4b0" datatype="html">\n        <source>To see all active Prometheus alerts, please\n      provide the URL to the API of Prometheus\' Alertmanager as described in the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </source>\n        <target>To see all active Prometheus alerts, please\n      provide the URL to the API of Prometheus\' Alertmanager as described in the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="880ad4df5a2051a437321443d69c9a866699e5ad" datatype="html">\n        <source>Active Alerts</source>\n        <target>Active Alerts</target>\n      </trans-unit>\n      <trans-unit id="8e5e0e09a11990d343926ed693574213d703c38d" datatype="html">\n        <source>All Alerts</source>\n        <target>All Alerts</target>\n      </trans-unit>\n      <trans-unit id="526938c2b7945cb0d68328c24bd77730230cd455" datatype="html">\n        <source>To enable Silences, please provide the URL to the API of the Prometheus\' Alertmanager as\n      described in the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </source>\n        <target>To enable Silences, please provide the URL to the API of the Prometheus\' Alertmanager as\n      described in the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="aa0c44aa1e5727061baa91e954f77e2f5f9a37c9" datatype="html">\n        <source>Silences</source>\n        <target>Silences</target>\n      </trans-unit>\n      <trans-unit id="8501055865d7031b5521a0c5467532648009a61d" datatype="html">\n        <source>Matcher</source>\n        <target>Matcher</target>\n      </trans-unit>\n      <trans-unit id="9c25e04f554875dc2625a78ba0fc56c6010cd0d3" datatype="html">\n        <source>-- Select an attribute to match against --</source>\n        <target>-- Select an attribute to match against --</target>\n      </trans-unit>\n      <trans-unit id="5049e204c14c648691ac775a64fb504467aeb549" datatype="html">\n        <source>Value</source>\n        <target>Valore</target>\n      </trans-unit>\n      <trans-unit id="77fc5c63497fc031ddc97645484e3d94ad27766c" datatype="html">\n        <source>Use regular expression</source>\n        <target>Use regular expression</target>\n      </trans-unit>\n      <trans-unit id="7bbec1a797283712c0adf9e71d77fb5a8cd720db" datatype="html">\n        <source>{VAR_SELECT, select, 1 {Update} other {Add} }</source>\n        <target>{VAR_SELECT, select, 1 {Update} other {Add} }</target>\n      </trans-unit>\n      <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c" datatype="html">\n        <source>Edit</source>\n        <target>Modifica</target>\n      </trans-unit>\n      <trans-unit id="826b25211922a1b46436589233cb6f1a163d89b7" datatype="html">\n        <source>Delete</source>\n        <target>Elimina</target>\n      </trans-unit>\n      <trans-unit id="a3ba06aba047605af8ea1718ec1ba153b7db12a2" datatype="html">\n        <source>Editing a silence will expire the old silence and recreate it as a new silence</source>\n        <target>Editing a silence will expire the old silence and recreate it as a new silence</target>\n      </trans-unit>\n      <trans-unit id="a20424156b8816671f61879f0574a4f27d7b16b9" datatype="html">\n        <source>Creator</source>\n        <target>Creator</target>\n      </trans-unit>\n      <trans-unit id="5a5d7ee2acbfa9c91ab7f41d26bda9ff0cafe42f" datatype="html">\n        <source>Comment</source>\n        <target>Comment</target>\n      </trans-unit>\n      <trans-unit id="4c11aad490b2d53fdae30b3807beabf79306752c" datatype="html">\n        <source>Start time</source>\n        <target>Start time</target>\n      </trans-unit>\n      <trans-unit id="32856b1e8e339b747b21e313e2fe65a51fd450bb" datatype="html">\n        <source>If the start time lies in the past the creation time will be used</source>\n        <target>If the start time lies in the past the creation time will be used</target>\n      </trans-unit>\n      <trans-unit id="a02ea1d4e7424ca989929da5e598f379940fdbf2" datatype="html">\n        <source>Duration</source>\n        <target>Duration</target>\n      </trans-unit>\n      <trans-unit id="2f4e35e36f4d3c62e2c17df41730b6dee4afc4b9" datatype="html">\n        <source>End time</source>\n        <target>End time</target>\n      </trans-unit>\n      <trans-unit id="992123459137d45c15df5548bc9682aad835c04b" datatype="html">\n        <source>Matchers</source>\n        <target>Matchers</target>\n      </trans-unit>\n      <trans-unit id="3e023166c55833d5a13f4143e3dbe372befe1b4e" datatype="html">\n        <source>A silence requires at least one matcher</source>\n        <target>A silence requires at least one matcher</target>\n      </trans-unit>\n      <trans-unit id="ef765bd80c4806c51c891908c07a24bc76f019eb" datatype="html">\n        <source>Add matcher</source>\n        <target>Add matcher</target>\n      </trans-unit>\n      <trans-unit id="d2bcd3296d2850de762fb943060b7e086a893181" datatype="html">\n        <source>Health</source>\n        <target>Stato</target>\n      </trans-unit>\n      <trans-unit id="61e0f26d843eec0b33ff475e111b0c2f7a80b835" datatype="html">\n        <source>Statistics</source>\n        <target>Statistiche</target>\n      </trans-unit>\n      <trans-unit id="f8f74e5f683012b9c0702b1446011c6b9158bc67" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the NFS Ganesha management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the NFS Ganesha management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="7ffe39df9d88c972792bd8688b215392deb8313d" datatype="html">\n        <source>Clients</source>\n        <target>Client</target>\n      </trans-unit>\n      <trans-unit id="f2dae0bda66f6a349444951c0379c28cda47d6d1" datatype="html">\n        <source>Any client can access</source>\n        <target>Può accedere qualsiasi client</target>\n      </trans-unit>\n      <trans-unit id="7882f2edb1d4139800b276b6b0bbf5ae0b2234ef" datatype="html">\n        <source>Addresses</source>\n        <target>Indirizzi</target>\n      </trans-unit>\n      <trans-unit id="9bd96fcf50863e685c74d0490392f46689ffbdb6" datatype="html">\n        <source>Required field</source>\n        <target>Campo obbligatorio</target>\n      </trans-unit>\n      <trans-unit id="a5f3f74c0f6925826cb2188576391c0da01a23f0" datatype="html">\n        <source>Must contain one or more comma-separated values</source>\n        <target>Deve contenere uno o più valori delimitati da virgole</target>\n      </trans-unit>\n      <trans-unit id="8bb5b2073697f3f4378c44a49b7524934c9268f4" datatype="html">\n        <source>For example:</source>\n        <target>Ad esempio:</target>\n      </trans-unit>\n      <trans-unit id="8f969c655b3fbe4fba7e277caf4cd2c459f9fca5" datatype="html">\n        <source>Access Type</source>\n        <target>Tipo di accesso</target>\n      </trans-unit>\n      <trans-unit id="28952831a284cfe2b4fc39ca610e80b52598905a" datatype="html">\n        <source>Squash</source>\n        <target>Esegui squash</target>\n      </trans-unit>\n      <trans-unit id="0660ae339068979854ade34a96546980723dede3" datatype="html">\n        <source>Add clients</source>\n        <target>Aggiungi client</target>\n      </trans-unit>\n      <trans-unit id="135b91a2d908d5814b782695470a6a786c99d9d2" datatype="html">\n        <source>-- No cluster available --</source>\n        <target>-- Nessun cluster disponibile --</target>\n      </trans-unit>\n      <trans-unit id="c501dba379f566885919240ea277b5bc10c14d18" datatype="html">\n        <source>-- Select the cluster --</source>\n        <target>-- Selezionare il cluster --</target>\n      </trans-unit>\n      <trans-unit id="cf85b1ee58326aa9da63da41b2629c9db7c9a5b9" datatype="html">\n        <source>Add daemon</source>\n        <target>Aggiungi daemon</target>\n      </trans-unit>\n      <trans-unit id="b3f6ba7fe84d6508705cdfe234f0fcc8ff85c9cf" datatype="html">\n        <source>Storage Backend</source>\n        <target>Backend di storage</target>\n      </trans-unit>\n      <trans-unit id="151c80ea931037cd92e854442927f8a0f6ae7795" datatype="html">\n        <source>-- No data pools available --</source>\n        <target>-- Nessun pool di dati disponibile --</target>\n      </trans-unit>\n      <trans-unit id="b6fee356d1db954255a56d8169405a89595246b9" datatype="html">\n        <source>-- Select the storage backend --</source>\n        <target>-- Selezionare il backend di storage --</target>\n      </trans-unit>\n      <trans-unit id="76d67035c3ab3d8e56f725859f820f03fda41cfc" datatype="html">\n        <source>Object Gateway User</source>\n        <target>Utente Object Gateway</target>\n      </trans-unit>\n      <trans-unit id="fade7788bace74337f306ae209f10fc187ef4671" datatype="html">\n        <source>-- No users available --</source>\n        <target>-- Nessun utente disponibile --</target>\n      </trans-unit>\n      <trans-unit id="6d30b7b36cf8f6364167321bdb4ba35d4cefce7b" datatype="html">\n        <source>-- Select the object gateway user --</source>\n        <target>-- Selezionare l\'utente Object Gateway --</target>\n      </trans-unit>\n      <trans-unit id="589ce20d3ba3e3ac44f75decfaadc4ea8f0aec2d" datatype="html">\n        <source>CephFS User ID</source>\n        <target>ID utente CephFS</target>\n      </trans-unit>\n      <trans-unit id="c4b88a53ac3b0ece46ba9b3ad72355a3c190cce7" datatype="html">\n        <source>-- No clients available --</source>\n        <target>-- Nessun client disponibile --</target>\n      </trans-unit>\n      <trans-unit id="da52835b80497a0002d24414b057dc46ae44ce38" datatype="html">\n        <source>-- Select the cephx client --</source>\n        <target>-- Selezionare il client Cephx --</target>\n      </trans-unit>\n      <trans-unit id="fd3419e8957d928d7f7ba19c93356a0dbff02871" datatype="html">\n        <source>CephFS Name</source>\n        <target>Nome CephFS</target>\n      </trans-unit>\n      <trans-unit id="ee3ba0ab5f0ccd597b3e44021c71e9aaad14df0a" datatype="html">\n        <source>-- No CephFS filesystem available --</source>\n        <target>-- No CephFS filesystem available --</target>\n      </trans-unit>\n      <trans-unit id="764c57812558b1ae66c5eec95d7efd2b1bf761e3" datatype="html">\n        <source>-- Select the CephFS filesystem --</source>\n        <target>-- Select the CephFS filesystem --</target>\n      </trans-unit>\n      <trans-unit id="957512d0321f73e9f115bce1bd823fa635170c41" datatype="html">\n        <source>Security Label</source>\n        <target>Etichetta di sicurezza</target>\n      </trans-unit>\n      <trans-unit id="65ce0fa4da1ed55e658aeb31d1644a29f06bb342" datatype="html">\n        <source>Enable security label</source>\n        <target>Abilita etichetta di sicurezza</target>\n      </trans-unit>\n      <trans-unit id="7e808f804130c7b6ff719509cbc06ebb27393a48" datatype="html">\n        <source>CephFS Path</source>\n        <target>Percorso CephFS</target>\n      </trans-unit>\n      <trans-unit id="5ecc0107badb6625466aaa3f975b5c05276f432f" datatype="html">\n        <source>Path need to start with a \'/\' and can be followed by a word</source>\n        <target>Il percorso deve iniziare con una barra \'/\' e può essere seguito da una parola</target>\n      </trans-unit>\n      <trans-unit id="2d02916f44fc63e13ab16d1cbe72aa6cb51feab3" datatype="html">\n        <source>New directory will be created</source>\n        <target>Viene creata la nuova directory</target>\n      </trans-unit>\n      <trans-unit id="766c66ad5cc981c531aaf3fe3a2a7a346ddc8d83" datatype="html">\n        <source>Path</source>\n        <target>Percorso</target>\n      </trans-unit>\n      <trans-unit id="7ec35c722a50b976620f22612f7be619c12ceb90" datatype="html">\n        <source>Path can only be a single \'/\' or a word</source>\n        <target>Il percorso può essere solo una singola barra \'/\' o parola</target>\n      </trans-unit>\n      <trans-unit id="aebb6a5090c24511de4530195694bb3f3dcf0342" datatype="html">\n        <source>New bucket will be created</source>\n        <target>Viene creato il nuovo compartimento</target>\n      </trans-unit>\n      <trans-unit id="bee6900143996c0e908a10564532eba3da0b30fb" datatype="html">\n        <source>NFS Protocol</source>\n        <target>Protocollo NFS</target>\n      </trans-unit>\n      <trans-unit id="2f534178c01ebf1307da2eaeef04bc6801ebc729" datatype="html">\n        <source>NFSv3</source>\n        <target>NFSv3</target>\n      </trans-unit>\n      <trans-unit id="f5043c0921e709935ab026bb3253ffe1f159fca1" datatype="html">\n        <source>NFSv4</source>\n        <target>NFSv4</target>\n      </trans-unit>\n      <trans-unit id="92488963d23095985a47c0d6e62304e11d333f19" datatype="html">\n        <source>NFS Tag</source>\n        <target>Tag NFS</target>\n      </trans-unit>\n      <trans-unit id="aae93362720aea94623682996dd3fcd0f906f056" datatype="html">\n        <source>Alternative access for \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v3\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> mounts (it must not have a leading /).\n        </source>\n        <target>Alternative access for \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v3\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> mounts (it must not have a leading /).\n        </target>\n      </trans-unit>\n      <trans-unit id="45d6db77dcf1a3eeb921033abc7882e517a541cc" datatype="html">\n        <source>Clients may not mount subdirectories (i.e. if Tag = foo, the client may not mount foo/baz).</source>\n        <target>I client non possono montare le sottodirectory (ad es. se Tag = foo, il client non può montare foo/baz).</target>\n      </trans-unit>\n      <trans-unit id="a1c7a8676b55e882a97c6a6fb205204f9c761afa" datatype="html">\n        <source>By using different Tag options, the same Path may be exported multiple times.</source>\n        <target>Utilizzando diverse opzioni Tag, è possibile esportare più volte lo stesso percorso.</target>\n      </trans-unit>\n      <trans-unit id="6d2c39708a32910f89701dd7e1cfb9ec1c195768" datatype="html">\n        <source>Pseudo</source>\n        <target>Pseudo</target>\n      </trans-unit>\n      <trans-unit id="1f8be2ae25947bec0b84c2338201580ea053f34e" datatype="html">\n        <source>The position that this \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v4\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> export occupies\n                in the \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>Pseudo FS\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> (it must be unique).\n        </source>\n        <target>The position that this \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v4\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> export occupies\n                in the \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>Pseudo FS\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> (it must be unique).\n        </target>\n      </trans-unit>\n      <trans-unit id="f3af55f7fd5b1d9e5a53e030c80116dc635bfb9f" datatype="html">\n        <source>By using different Pseudo options, the same Path may be exported multiple times.</source>\n        <target>Utilizzando diverse opzioni Pseudo, è possibile esportare più volte lo stesso percorso.</target>\n      </trans-unit>\n      <trans-unit id="ddf98fcdeeb17643db020d54f42b5e56b5f9a52a" datatype="html">\n        <source>Pseudo needs to start with a \'/\' and can\'t contain any of the following: &gt;, &lt;, |, &amp;, ( or ).</source>\n        <target>Pseudo needs to start with a \'/\' and can\'t contain any of the following: &gt;, &lt;, |, &amp;, ( or ).</target>\n      </trans-unit>\n      <trans-unit id="27eb35c4b4ac08781a7253a2ab40f8f7d957ba51" datatype="html">\n        <source>-- No access type available --</source>\n        <target>-- Nessun tipo di accesso disponibile --</target>\n      </trans-unit>\n      <trans-unit id="509ce016c9110a54028dafd741f15ceacbe74b5a" datatype="html">\n        <source>-- Select the access type --</source>\n        <target>-- Selezionare il tipo di accesso --</target>\n      </trans-unit>\n      <trans-unit id="49850390a653cd05dc5843d74ef073a9122b54c9" datatype="html">\n        <source>The Object Gateway NFS backend has a number of\n              limitations which will seriously affect applications writing to\n              the share. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for details before enabling write access.\n        </source>\n        <target>The Object Gateway NFS backend has a number of\n              limitations which will seriously affect applications writing to\n              the share. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for details before enabling write access.\n        </target>\n      </trans-unit>\n      <trans-unit id="4deda03573eaaff77e63f6a238a1f0ca7816950a" datatype="html">\n        <source>-- No squash available --</source>\n        <target>-- Nessuno squash disponibile --</target>\n      </trans-unit>\n      <trans-unit id="a0e82a4da88e7fdf270444f838d45849676e9d4b" datatype="html">\n        <source>--Select what kind of user id squashing is performed --</source>\n        <target>--Selezionare il tipo di squash dell\'ID utente da eseguire --</target>\n      </trans-unit>\n      <trans-unit id="d01b7c3f7f06712c53d054cfbe4f53d446b038e8" datatype="html">\n        <source>Transport Protocol</source>\n        <target>Protocollo di trasporto</target>\n      </trans-unit>\n      <trans-unit id="d2a6ad6e8bc315f07911722c05767ac79c136d99" datatype="html">\n        <source>UDP</source>\n        <target>UDP</target>\n      </trans-unit>\n      <trans-unit id="9c030f11e0aae9b24d2c048c57f29f590be621df" datatype="html">\n        <source>TCP</source>\n        <target>TCP</target>\n      </trans-unit>\n      <trans-unit id="734c9905951a774870497c5aaae8e3ee833b6196" datatype="html">\n        <source>CephFS</source>\n        <target>CephFS</target>\n      </trans-unit>\n      <trans-unit id="0eb15f32b2b92d7f3103ef3ff032621888a8dc32" datatype="html">\n        <source>Old password</source>\n        <target>Old password</target>\n      </trans-unit>\n      <trans-unit id="1cf42e491adc166a337a960eb84d03c0c3f677c8" datatype="html">\n        <source>The old and new passwords must be different.</source>\n        <target>The old and new passwords must be different.</target>\n      </trans-unit>\n      <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229" datatype="html">\n        <source>New password</source>\n        <target>New password</target>\n      </trans-unit>\n      <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b" datatype="html">\n        <source>Confirm new password</source>\n        <target>Confirm new password</target>\n      </trans-unit>\n      <trans-unit id="90163a3d3746819aef42e829f4446331232f3b66" datatype="html">\n        <source>Password confirmation doesn\'t match the new password.</source>\n        <target>Password confirmation doesn\'t match the new password.</target>\n      </trans-unit>\n      <trans-unit id="d06ae77f9ec46a4cdd49e7e76c73a411aaf2ee38" datatype="html">\n        <source>Please set a new password.</source>\n        <target>Please set a new password.</target>\n      </trans-unit>\n      <trans-unit id="8b5b3566e88438f51bd5f6caf6c090ed565ba5ed" datatype="html">\n        <source>You will be redirected to the login page afterwards.</source>\n        <target>You will be redirected to the login page afterwards.</target>\n      </trans-unit>\n      <trans-unit id="449dca3d3a93ead418b0541ea81b0dda7e6483c2" datatype="html">\n        <source>Welcome to Ceph!</source>\n        <target>Benvenuto in Ceph.</target>\n        <note>The welcome message on the login page</note>\n      </trans-unit>\n      <trans-unit id="0070e83d11da39d6f4bb95065c2675db1610b419" datatype="html">\n        <source>Username is required</source>\n        <target>Nome utente necessario</target>\n      </trans-unit>\n      <trans-unit id="1e20f8b8a4706526c9024cc2f39d568345d100dc" datatype="html">\n        <source>Password is required</source>\n        <target>Password richiesta</target>\n      </trans-unit>\n      <trans-unit id="6765b4c916060f6bc42d9bb69e80377dbcb5e4e9" datatype="html">\n        <source>Login</source>\n        <target>Login</target>\n      </trans-unit>\n      <trans-unit id="58fc1b5c79a75370eb52644fd83fb2e7096b6649" datatype="html">\n        <source>Sorry, the user does not exist in Ceph.</source>\n        <target>Spiacenti, l\'utente non esiste in Ceph.</target>\n      </trans-unit>\n      <trans-unit id="d9deb94f78e7c41b35c6622b874f06657d7604c1" datatype="html">\n        <source>Return to \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Login Page\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You\'ll be logged out from the Identity Provider when you retry logging in.\n        </source>\n        <target>Return to \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Login Page\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You\'ll be logged out from the Identity Provider when you retry logging in.\n        </target>\n      </trans-unit>\n      <trans-unit id="471e78026c258073ba687478dc54c35d9041ea42" datatype="html">\n        <source>Forbidden</source>\n        <target>Non consentito</target>\n      </trans-unit>\n      <trans-unit id="02ea8ad57677e3c63f3d7814ca5e6c7b74e360b4" datatype="html">\n        <source>Sorry, you are not allowed to see what you were looking for.</source>\n        <target>Spiacenti, non è consentito visualizzare ciò che si stava cercando.</target>\n      </trans-unit>\n      <trans-unit id="2240b985f17293d84cc8532fe86994aa5f63667c" datatype="html">\n        <source>Sorry, we could not find what you were looking for.</source>\n        <target>Sorry, we could not find what you were looking for.</target>\n      </trans-unit>\n      <trans-unit id="ac54c18c1b520e948095c83a3a1025f02ce6dcc6" datatype="html">\n        <source>Neither hostname nor OSD ID given</source>\n        <target>Neither hostname nor OSD ID given</target>\n      </trans-unit>\n      <trans-unit id="4f635b3cb0600409a2ad44a5bd1863c699e6a01c" datatype="html">\n        <source>Failed to retrieve SMART data.</source>\n        <target>Failed to retrieve SMART data.</target>\n      </trans-unit>\n      <trans-unit id="d82a9af5b05e7cd17640f196f163771685ff8df6" datatype="html">\n        <source>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</source>\n        <target>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</target>\n      </trans-unit>\n      <trans-unit id="04f8a3c7e8ac610e6581960162cc15f55a16696a" datatype="html">\n        <source>No SMART data available.</source>\n        <target>No SMART data available.</target>\n      </trans-unit>\n      <trans-unit id="3a03d3c2e459f8f8fa7202c0fce465d6165f9e2b" datatype="html">\n        <source>passed</source>\n        <target>passed</target>\n      </trans-unit>\n      <trans-unit id="a185c9b97513b3882604ea9bab60edbfac945c15" datatype="html">\n        <source>SMART overall-health self-assessment test result</source>\n        <target>SMART overall-health self-assessment test result</target>\n      </trans-unit>\n      <trans-unit id="41435d5a5692c8e412c74deaee95d99dbd3617e1" datatype="html">\n        <source>failed</source>\n        <target>failed</target>\n      </trans-unit>\n      <trans-unit id="ddd5dd6d930030096ea617f62c82b648a0dd9484" datatype="html">\n        <source>Device Information</source>\n        <target>Device Information</target>\n      </trans-unit>\n      <trans-unit id="380295f37caea93701d071485a38ef0bdba57133" datatype="html">\n        <source>No SMART data available for this device.</source>\n        <target>No SMART data available for this device.</target>\n      </trans-unit>\n      <trans-unit id="20cb12827cbe559a7b1da6fdae96041b3b5c3c55" datatype="html">\n        <source>SMART</source>\n        <target>SMART</target>\n      </trans-unit>\n      <trans-unit id="5758c3f16f8749f0f4e2a787f02e8b4da246102f" datatype="html">\n        <source>SMART data is loading.</source>\n        <target>SMART data is loading.</target>\n      </trans-unit>\n      <trans-unit id="a949d7e577902d0e5dc5d0971bb0170a21be7728" datatype="html">\n        <source>[object Object]</source>\n        <target>[object Object]</target>\n      </trans-unit>\n      <trans-unit id="ff92fbdec9fdd5054493eeda0d7ee8b450f83e72" datatype="html">\n        <source>RBD Configuration</source>\n        <target>Configurazione RBD</target>\n      </trans-unit>\n      <trans-unit id="b62d9efc8eb3b589904f6cb96a0406bbda55673a" datatype="html">\n        <source>Remove the local configuration value. The parent configuration value will be inherited and used instead.</source>\n        <target>Rimuovere il valore della configurazione locale. Al suo posto verrà ereditato e utilizzato il valore della configurazione superiore.</target>\n      </trans-unit>\n      <trans-unit id="963488a1010d46067b238c4ae917fab3907c0a3a" datatype="html">\n        <source>The mininum value is 0</source>\n        <target>Il valore minimo è 0</target>\n      </trans-unit>\n      <trans-unit id="1d8a7c8aea58294a3c57c23af0468ddf0ba0c9c7" datatype="html">\n        <source>Pools List</source>\n        <target>Elenco dei pool</target>\n      </trans-unit>\n      <trans-unit id="490e15ecc922965b6d8194754c87c5583aa071f3" datatype="html">\n        <source>The name can only consist of alphanumeric characters, dashes and underscores.</source>\n        <target>Il nome può contenere solo caratteri alfanumerici, trattini e caratteri di sottolineatura.</target>\n      </trans-unit>\n      <trans-unit id="9edc2b494e660618af3e5225f68d40b7ca67629c" datatype="html">\n        <source>The chosen erasure code profile name is already in use.</source>\n        <target>Il nome del profilo del codice di cancellazione selezionato è già in uso.</target>\n      </trans-unit>\n      <trans-unit id="35a4206db3105ed03e0dd799e1642b75b78123e8" datatype="html">\n        <source>Root</source>\n        <target>Root</target>\n      </trans-unit>\n      <trans-unit id="cf425784c7073c7e7f7c1bb90c2c19db7e751db2" datatype="html">\n        <source>Failure domain type</source>\n        <target>Failure domain type</target>\n      </trans-unit>\n      <trans-unit id="72396a9565cf644d1fe1b21b790c4243ee270986" datatype="html">\n        <source>Device class</source>\n        <target>Device class</target>\n      </trans-unit>\n      <trans-unit id="72d80e0c07bfea1b693a33ef2245007de92a6780" datatype="html">\n        <source>Let Ceph decide</source>\n        <target>Let Ceph decide</target>\n      </trans-unit>\n      <trans-unit id="ef9ff0e6227947b48dfab4ac39ade04af758913b" datatype="html">\n        <source>Plugin</source>\n        <target>Plugin</target>\n      </trans-unit>\n      <trans-unit id="dd69b31bce8f630eac1d4762b0bbcf72ce19d193" datatype="html">\n        <source>Data chunks (k)</source>\n        <target>Porzioni di dati (k)</target>\n      </trans-unit>\n      <trans-unit id="b0d26a6172d32cb81218fe2103c54a818cbc1189" datatype="html">\n        <source>Must be equal to or greater than 2.</source>\n        <target>Deve essere uguale o maggiore di 2.</target>\n      </trans-unit>\n      <trans-unit id="dab3a299ead121169b8e08ed618c3b6a2f66691b" datatype="html">\n        <source>Coding chunks (m)</source>\n        <target>Porzioni di codice (m)</target>\n      </trans-unit>\n      <trans-unit id="1e2773e5bd4948193f18f2361d663ecc3988c656" datatype="html">\n        <source>Must be equal to or greater than 1.</source>\n        <target>Deve essere uguale o maggiore di 1.</target>\n      </trans-unit>\n      <trans-unit id="6cde4c945a49a260c0a47bcc7cd956846930a5f7" datatype="html">\n        <source>Durability estimator (c)</source>\n        <target>Stima durata (c)</target>\n      </trans-unit>\n      <trans-unit id="af668c2a095a979ea2b4e43cd82c2120ab56c21c" datatype="html">\n        <source>Locality (l)</source>\n        <target>Località (l)</target>\n      </trans-unit>\n      <trans-unit id="d455a110bf6d2235e314e295ce1dfeee93d3dff2" datatype="html">\n        <source>Crush failure domain</source>\n        <target>Dominio di errore Crush</target>\n      </trans-unit>\n      <trans-unit id="b74a495f041f7dd102eee5c0bbc9e03083b538ae" datatype="html">\n        <source>Crush Locality</source>\n        <target>Località Crush</target>\n      </trans-unit>\n      <trans-unit id="a2f14a73f7a6e94479f67423cc51102da8d6f524" datatype="html">\n        <source>None</source>\n        <target>Nessuno</target>\n      </trans-unit>\n      <trans-unit id="2981733b912b693a9dd9d915d6d34f4692cc874a" datatype="html">\n        <source>Technique</source>\n        <target>Tecnica</target>\n      </trans-unit>\n      <trans-unit id="e0098b6e47b04ec817361f384ce81d454ba5c0bb" datatype="html">\n        <source>Packetsize</source>\n        <target>Dimensione del pacchetto</target>\n      </trans-unit>\n      <trans-unit id="c0252cd81ca54d0a2f69ec9ccf4248e73df5aa4a" datatype="html">\n        <source>Crush root</source>\n        <target>Radice Crush</target>\n      </trans-unit>\n      <trans-unit id="1548d5c76f0406ddd1ba3c557e1e6db22e95b340" datatype="html">\n        <source>Crush device class</source>\n        <target>Classe dispositivo Crush</target>\n      </trans-unit>\n      <trans-unit id="5e85feb6f9f0334366e46ee09ca6b8df52397432" datatype="html">\n        <source>any</source>\n        <target>qualsiasi</target>\n      </trans-unit>\n      <trans-unit id="03d84645f6e019c5a43909bbf2ea1696ee88332c" datatype="html">\n        <source>Directory</source>\n        <target>Directory</target>\n      </trans-unit>\n      <trans-unit id="2fecea01ce1d44114ee45144eff6d47a5016a74f" datatype="html">\n        <source>Name...</source>\n        <target>Nome...</target>\n      </trans-unit>\n      <trans-unit id="16e113230b6b0d3165e076300880542bac7c8138" datatype="html">\n        <source>The chosen Ceph pool name is already in use.</source>\n        <target>Il nome del pool Ceph scelto è già in uso.</target>\n      </trans-unit>\n      <trans-unit id="c75b132bef7b29fa5171768303c4b96e34ccaf68" datatype="html">\n        <source>It\'s not possible to create an RBD pool with \'/\' in the name.\n              Please change the name or remove \'rbd\' from the applications list.</source>\n        <target>It\'s not possible to create an RBD pool with \'/\' in the name.\n              Please change the name or remove \'rbd\' from the applications list.</target>\n      </trans-unit>\n      <trans-unit id="171dc6d5c6bc4615d99778b0088cae80fd00bd10" datatype="html">\n        <source>Pool name can only contain letters, numbers, \'.\', \'-\', \'_\' or \'/\'.</source>\n        <target>Pool name can only contain letters, numbers, \'.\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="b85c657469e5ec8231c3de99b22f437bc01ffde5" datatype="html">\n        <source>Pool type</source>\n        <target>Tipo di pool</target>\n      </trans-unit>\n      <trans-unit id="526c5443254c3b126eedb264840ffe827727bfd3" datatype="html">\n        <source>-- Select a pool type --</source>\n        <target>-- Selezionare un tipo di pool --</target>\n      </trans-unit>\n      <trans-unit id="6abfbe47b630929d93c7343dc154599c2e59330a" datatype="html">\n        <source>PG Autoscale</source>\n        <target>PG Autoscale</target>\n      </trans-unit>\n      <trans-unit id="0aa21053410a94aa61d16985a4e95fd65523430d" datatype="html">\n        <source>Placement groups</source>\n        <target>Gruppi di posizionamento</target>\n      </trans-unit>\n      <trans-unit id="6301f1391d726f8f450bb358058534db19541ca9" datatype="html">\n        <source>At least one placement group is needed!</source>\n        <target>È necessario almeno un gruppo di posizionamento.</target>\n      </trans-unit>\n      <trans-unit id="ba9469a1ce6ed36e039c1f67247c8c81a5c71449" datatype="html">\n        <source>Your cluster can\'t handle this many PGs. Please recalculate the PG amount needed.</source>\n        <target>Il cluster non può gestire questo numero eccessivo di gruppi di posizionamento. Ricalcolare il numero di gruppi di posizionamento necessari.</target>\n      </trans-unit>\n      <trans-unit id="80ac68cd883369dac20688bc32b4cb33291b5e50" datatype="html">\n        <source>Calculation help</source>\n        <target>Guida per il calcolo</target>\n      </trans-unit>\n      <trans-unit id="fccbd60493df26705d957ed6c02a3c447894678f" datatype="html">\n        <source>The current PGs settings were calculated for you, you\n                should make sure the values suit your needs before submit.</source>\n        <target>The current PGs settings were calculated for you, you\n                should make sure the values suit your needs before submit.</target>\n      </trans-unit>\n      <trans-unit id="a43b2695131b48b76cebba676aba98a2bee17515" datatype="html">\n        <source>Replicated size</source>\n        <target>Dimensioni replicate</target>\n      </trans-unit>\n      <trans-unit id="7bff144a4c4dc63b0e18fff2617d61a7ebdf2b6c" datatype="html">\n        <source>Minimum: \n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/>\n        </source>\n        <target>Minimum: \n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="1a9c54b41f6d58a74e5d0aa3429ed0c87a482551" datatype="html">\n        <source>Maximum: \n          <x id="INTERPOLATION" equiv-text="{{ getMaxSize() }}"/>\n        </source>\n        <target>Maximum: \n          <x id="INTERPOLATION" equiv-text="{{ getMaxSize() }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6ab647b95bd2347ae6f4605576de5e0269fb893a" datatype="html">\n        <source>The size specified is out of range. A value from\n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/> to \n          <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.\n        </source>\n        <target>The size specified is out of range. A value from\n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/> to \n          <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.\n        </target>\n      </trans-unit>\n      <trans-unit id="920617c6a1a4805e53bcb5af6a9c76f8387e89c6" datatype="html">\n        <source>Flags</source>\n        <target>Flag</target>\n      </trans-unit>\n      <trans-unit id="1c870fb00256b8a5b9cb9cd1a124e6390b9bc639" datatype="html">\n        <source>EC Overwrites</source>\n        <target>Sovrascritture EC</target>\n      </trans-unit>\n      <trans-unit id="f1abafaeb40ce52355ddcc24686e3cd17b64e08a" datatype="html">\n        <source>Applications</source>\n        <target>Applicazioni</target>\n      </trans-unit>\n      <trans-unit id="fb9308b82fc183f710df60909f49cfc73aa5e076" datatype="html">\n        <source>CRUSH</source>\n        <target>CRUSH</target>\n      </trans-unit>\n      <trans-unit id="9de7dde00e2139cc4bd03b1837afbe72ad15a1ff" datatype="html">\n        <source>Erasure code profile</source>\n        <target>Profilo del codice di cancellazione</target>\n      </trans-unit>\n      <trans-unit id="39b4620e6bd444e0a57a0a5c03fa8c96d7fe5235" datatype="html">\n        <source>-- No erasure code profile available --</source>\n        <target>-- Nessun profilo del codice di cancellazione disponibile --</target>\n      </trans-unit>\n      <trans-unit id="498561757390d5528b263ce450d5f38efb00266d" datatype="html">\n        <source>-- Select an erasure code profile --</source>\n        <target>-- Selezionare un profilo del codice di cancellazione --</target>\n      </trans-unit>\n      <trans-unit id="33150f22ce5348aa6c499bd092c3f4f3695d62cc" datatype="html">\n        <source>Crush ruleset</source>\n        <target>Set di regole Crush</target>\n      </trans-unit>\n      <trans-unit id="c69b0bcd4698aa845d32c4c4ad488492552cb469" datatype="html">\n        <source>A new crush ruleset will be implicitly created.</source>\n        <target>A new crush ruleset will be implicitly created.</target>\n      </trans-unit>\n      <trans-unit id="896e9987db5e9bb279e6deed5d2dff28c242ef66" datatype="html">\n        <source>There are no rules.</source>\n        <target>There are no rules.</target>\n      </trans-unit>\n      <trans-unit id="73a6b31116b3cc322af951daa0bafdc169e6c42e" datatype="html">\n        <source>-- Select a crush rule --</source>\n        <target>-- Selezionare una regola Crush --</target>\n      </trans-unit>\n      <trans-unit id="ea91d648f92002bc9f96d9b26b735c83ca0b53c6" datatype="html">\n        <source>This rule can\'t be deleted as it is in use.</source>\n        <target>This rule can\'t be deleted as it is in use.</target>\n      </trans-unit>\n      <trans-unit id="92da80699921e89fb19372e25b8d0f3b9fa427fc" datatype="html">\n        <source>Crush rule</source>\n        <target>Regola Crush</target>\n      </trans-unit>\n      <trans-unit id="5489e9f96835f469f6f728a00d8efa88ea5bc940" datatype="html">\n        <source>Crush steps</source>\n        <target>Passaggi Crush</target>\n      </trans-unit>\n      <trans-unit id="fc5f5496a9e50fe69e1a09784f28d94944108294" datatype="html">\n        <source>Rule is not in use.</source>\n        <target>Rule is not in use.</target>\n      </trans-unit>\n      <trans-unit id="023d6f718770d2ea4ab8cabe26b0ec27ef967ec2" datatype="html">\n        <source>Used by pools</source>\n        <target>Used by pools</target>\n      </trans-unit>\n      <trans-unit id="104a0e6900d1d1b0c8cf9e5947e36edb352583fc" datatype="html">\n        <source>The rule can\'t be used in the current cluster as it has\n                  too few OSDs to meet the minimum required OSD by this rule.</source>\n        <target>The rule can\'t be used in the current cluster as it has\n                  too few OSDs to meet the minimum required OSD by this rule.</target>\n      </trans-unit>\n      <trans-unit id="2208d63d5940ce656006a220102b1eb2b5e553da" datatype="html">\n        <source>Compression</source>\n        <target>Compressione</target>\n      </trans-unit>\n      <trans-unit id="37e10df2d9c0c25ef04ac112c9c9a7723e8efae0" datatype="html">\n        <source>Mode</source>\n        <target>Modalità</target>\n      </trans-unit>\n      <trans-unit id="6c6f25c47da62ec597c6057a36ddfc3209811ec5" datatype="html">\n        <source>Algorithm</source>\n        <target>Algoritmo</target>\n      </trans-unit>\n      <trans-unit id="4903231d42089325a28892c0fde1aed46b733ae6" datatype="html">\n        <source>-- No erasure compression algorithm available --</source>\n        <target>-- Nessun algoritmo di compressione della cancellazione disponibile --</target>\n      </trans-unit>\n      <trans-unit id="5d68ddb254275f8f44221e9ad6d8ceeb59ca46a6" datatype="html">\n        <source>Minimum blob size</source>\n        <target>Dimensioni minime del blob</target>\n      </trans-unit>\n      <trans-unit id="fb2f176df80647137cbb02bbeb29e5dec707a400" datatype="html">\n        <source>e.g., 128KiB</source>\n        <target>ad es. 128 KiB</target>\n      </trans-unit>\n      <trans-unit id="1b7f6e53a4521c6eb3ced4c007fdd4cf80bb7707" datatype="html">\n        <source>Value should be greater than 0</source>\n        <target>Il valore deve essere maggiore di 0</target>\n      </trans-unit>\n      <trans-unit id="8db98ab14b4e207ec763dfdefbc2dae367aab1cc" datatype="html">\n        <source>Value should be less than the maximum blob size</source>\n        <target>Value should be less than the maximum blob size</target>\n      </trans-unit>\n      <trans-unit id="151efb127a9a4dd25259a0b2055442318a141f5b" datatype="html">\n        <source>Maximum blob size</source>\n        <target>Dimensioni massime del blob</target>\n      </trans-unit>\n      <trans-unit id="0c656f0e346bbadf46eb1a5d20d0307a3bd20ba8" datatype="html">\n        <source>e.g., 512KiB</source>\n        <target>ad es. 512 KiB</target>\n      </trans-unit>\n      <trans-unit id="0a65a24eee8a026f3b1113fe9e157e9a0dd69486" datatype="html">\n        <source>Value should be greater than the minimum blob size</source>\n        <target>Il valore deve essere maggiore delle dimensioni minime del blob</target>\n      </trans-unit>\n      <trans-unit id="261ba09c4a59de83f48f52a23fd328da37e61ff4" datatype="html">\n        <source>Ratio</source>\n        <target>Rapporto</target>\n      </trans-unit>\n      <trans-unit id="c1430457a9c3c66366e51d76bf10396014c576be" datatype="html">\n        <source>Compression ratio</source>\n        <target>Rapporto di compressione</target>\n      </trans-unit>\n      <trans-unit id="ae5ce6de352cde949998fb10754459c3a4eb183b" datatype="html">\n        <source>Value should be between 0.0 and 1.0</source>\n        <target>Il valore deve essere compreso tra 0,0 e 1,0</target>\n      </trans-unit>\n      <trans-unit id="8bb8293aa8161433778762ae025ffd5e7c85795e" datatype="html">\n        <source>Quotas</source>\n        <target>Quotas</target>\n      </trans-unit>\n      <trans-unit id="d99b34162c9c34f10d0ccd8dbae83d8569c2db77" datatype="html">\n        <source>Max bytes</source>\n        <target>Max bytes</target>\n      </trans-unit>\n      <trans-unit id="a1d14a18879c62f3f4ed705318b7164a1160e249" datatype="html">\n        <source>Leave it blank or specify 0 to disable this quota.</source>\n        <target>Leave it blank or specify 0 to disable this quota.</target>\n      </trans-unit>\n      <trans-unit id="7565b131562ff6c5f769fdbd239a772154abdd97" datatype="html">\n        <source>A valid quota should be greater than 0.</source>\n        <target>A valid quota should be greater than 0.</target>\n      </trans-unit>\n      <trans-unit id="f0016bd458baa88284a658ce9eeda42d8ad88d2c" datatype="html">\n        <source>e.g., 10GiB</source>\n        <target>ad es. 10 GiB</target>\n      </trans-unit>\n      <trans-unit id="b8bf35b66f09a301eef92ffc3cb2fd259df67ce9" datatype="html">\n        <source>Max objects</source>\n        <target>Max objects</target>\n      </trans-unit>\n      <trans-unit id="95f348167622d832c5ae532b6944635c8e2ae5cb" datatype="html">\n        <source>The value should be greater or equal to 0</source>\n        <target>The value should be greater or equal to 0</target>\n      </trans-unit>\n      <trans-unit id="4f8b2bb476981727ab34ed40fde1218361f92c45" datatype="html">\n        <source>Details</source>\n        <target>Dettagli</target>\n      </trans-unit>\n      <trans-unit id="fbbaf5cb02ed419e79a27072478f716a4666a99d" datatype="html">\n        <source>Performance Details</source>\n        <target>Dettagli sulle prestazioni</target>\n      </trans-unit>\n      <trans-unit id="3938a411d76796f8ae73b72ea4c77661207453bd" datatype="html">\n        <source>Cache Tiers Details</source>\n        <target>Dettagli livelli cache</target>\n      </trans-unit>\n      <trans-unit id="ecbc084370a732fc3cde1966a60af78d71424ab4" datatype="html">\n        <source>Create Bootstrap Token</source>\n        <target>Create Bootstrap Token</target>\n      </trans-unit>\n      <trans-unit id="603e9cc3ef2aab57f2b0a00e465b23b9cabefd9c" datatype="html">\n        <source>To create a bootstrap token which can be imported\n          by a peer site cluster, provide the local site\'s name, select\n          which pools will have mirroring enabled, and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Generate\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>To create a bootstrap token which can be imported\n          by a peer site cluster, provide the local site\'s name, select\n          which pools will have mirroring enabled, and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Generate\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="660f97cd3188f8a04bd03b79e703fec72c6df04c" datatype="html">\n        <source>Site Name</source>\n        <target>Site Name</target>\n      </trans-unit>\n      <trans-unit id="8c2a1dc72cffaf7ab3dc5599bf77b0a7fcad2b20" datatype="html">\n        <source>At least one pool is required.</source>\n        <target>At least one pool is required.</target>\n      </trans-unit>\n      <trans-unit id="1b258b258b4cc475ceb2871305b61756b0134f4a" datatype="html">\n        <source>Generate</source>\n        <target>Generate</target>\n      </trans-unit>\n      <trans-unit id="1edc1fc6cfbbb22353050ad6788508b3ed584f53" datatype="html">\n        <source>Token</source>\n        <target>Token</target>\n      </trans-unit>\n      <trans-unit id="ff785f5596aef34a93b9b4d1023e95c62eef5740" datatype="html">\n        <source>Generated token...</source>\n        <target>Generated token...</target>\n      </trans-unit>\n      <trans-unit id="5467a6bb0e7fade6def7499400d5e2a7d8d3da20" datatype="html">\n        <source>Import Bootstrap Token</source>\n        <target>Import Bootstrap Token</target>\n      </trans-unit>\n      <trans-unit id="9bb7aee0dec5164f45c0aa2f35f2fb2149d2c1d2" datatype="html">\n        <source>To import a bootstrap token which was created\n          by a peer site cluster, provide the local site\'s name, select\n          which pools will have mirroring enabled, provide the generated\n          token, and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Import\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>To import a bootstrap token which was created\n          by a peer site cluster, provide the local site\'s name, select\n          which pools will have mirroring enabled, provide the generated\n          token, and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Import\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="9200e09686136a1d42adfb89c12fbfef2deea125" datatype="html">\n        <source>Direction</source>\n        <target>Direction</target>\n      </trans-unit>\n      <trans-unit id="9761484679958da8d12841a4efa5964d33fae575" datatype="html">\n        <source>The token is invalid.</source>\n        <target>The token is invalid.</target>\n      </trans-unit>\n      <trans-unit id="a059709f71aa4c0ac219e160e78a738682ca6a36" datatype="html">\n        <source>Import</source>\n        <target>Import</target>\n      </trans-unit>\n      <trans-unit id="b87bd96249f8afc23f5301cddb57b1464a98e71a" datatype="html">\n        <source>Edit site name</source>\n        <target>Edit site name</target>\n      </trans-unit>\n      <trans-unit id="cfff72c667274c12eb1ff71eadc25871c10c42dc" datatype="html">\n        <source>Edit the site name and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>Edit the site name and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="40b7acea5b43f45e0bbd1efeba5200af4687981d" datatype="html">\n        <source>Site Name:</source>\n        <target>Site Name:</target>\n      </trans-unit>\n      <trans-unit id="f0b5d789d42c0e69348e5fe0037fcbf5b5fbbdcc" datatype="html">\n        <source>Move an image to trash</source>\n        <target>Sposta un\'immagine nel cestino</target>\n      </trans-unit>\n      <trans-unit id="7ad22c1d4aab3b8946603cea62de266d5129ca10" datatype="html">\n        <source>This image contains snapshot(s), which will prevent it\n            from being removed after moved to trash.</source>\n        <target>This image contains snapshot(s), which will prevent it\n            from being removed after moved to trash.</target>\n      </trans-unit>\n      <trans-unit id="b4b3ced4f8aad4c446f348b14c3d94be2e2c350c" datatype="html">\n        <source>To move \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ imageSpecStr }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,\n          click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optionally, you can pick an expiration date.\n        </source>\n        <target>To move \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ imageSpecStr }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,\n          click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optionally, you can pick an expiration date.\n        </target>\n      </trans-unit>\n      <trans-unit id="88f27d390844aad53b4240360e928156c5f0d326" datatype="html">\n        <source>Protection expires at</source>\n        <target>La protezione scade alle</target>\n      </trans-unit>\n      <trans-unit id="da166e9a0d27322f6ba8916d71ecc0f9905bb4b1" datatype="html">\n        <source>NOT PROTECTED</source>\n        <target>NON PROTETTO</target>\n      </trans-unit>\n      <trans-unit id="a1506e5f2ca22cad14502ec7a20fb6113ace145d" datatype="html">\n        <source>Wrong date format. Please use "YYYY-MM-DD HH:mm:ss".</source>\n        <target>Formato data errato. Utilizzare "AAAA-MM-GG HH:mm:ss".</target>\n      </trans-unit>\n      <trans-unit id="aa7ea0bb7495281e0b3258467ac7d90a1e44a1a1" datatype="html">\n        <source>Protection has already expired. Please pick a future date or leave it empty.</source>\n        <target>La protezione è già scaduta. Selezionare una data futura o lasciarla vuota.</target>\n      </trans-unit>\n      <trans-unit id="536b3205c0c0d4d21685ec06feccfcf2fe14deb1" datatype="html">\n        <source>Move Image</source>\n        <target>Sposta immagine</target>\n      </trans-unit>\n      <trans-unit id="c9f1026c1235f4d76ace47449e806efd181ab332" datatype="html">\n        <source>Deleting this image will also delete all its snapshots.</source>\n        <target>Deleting this image will also delete all its snapshots.</target>\n      </trans-unit>\n      <trans-unit id="55f864597e84d9bf88769e1fbfda1d64452430c9" datatype="html">\n        <source>The following snapshots are currently protected and will be removed:</source>\n        <target>The following snapshots are currently protected and will be removed:</target>\n      </trans-unit>\n      <trans-unit id="8a9910cd114c1deb9af74f6f99b4173403965bf2" datatype="html">\n        <source>Gateways</source>\n        <target>Gateways</target>\n      </trans-unit>\n      <trans-unit id="8835b9e49a3348b0a2f2162c21118af1f4bee45a" datatype="html">\n        <source>Must be greater than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'min\'] }}"/>.\n        </source>\n        <target>Must be greater than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'min\'] }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="bbddac59563c8c126e3fe28691e4e247614fcbd1" datatype="html">\n        <source>Must be less than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'max\'] }}"/>.\n        </source>\n        <target>Must be less than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'max\'] }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="e95ae009d0bdb45fcc656e8b65248cf7396080d5" datatype="html">\n        <source>Overview</source>\n        <target>Panoramica</target>\n      </trans-unit>\n      <trans-unit id="bbd2045d5c37e4bb39a3c0fb62ea1ddf70a12838" datatype="html">\n        <source>Targets</source>\n        <target>Destinazioni</target>\n      </trans-unit>\n      <trans-unit id="6803e31b7395d94934e091a49a9524026b59b018" datatype="html">\n        <source>Discovery Authentication</source>\n        <target>Autenticazione rilevazione</target>\n      </trans-unit>\n      <trans-unit id="e08a77594f3d89311cdf6da5090044270909c194" datatype="html">\n        <source>User</source>\n        <target>Utente</target>\n      </trans-unit>\n      <trans-unit id="0214f773f8e394f50f953f39962e352d7863e959" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n              can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>I nomi utente devono avere una lunghezza compresa tra 8 e 64 caratteri e\n              possono contenere solo lettere, \'.\', \'@\', \'-\', \'_\' o \':\'.</target>\n      </trans-unit>\n      <trans-unit id="c32ef07f8803a223a83ed17024b38e8d82292407" datatype="html">\n        <source>Password</source>\n        <target>Password</target>\n      </trans-unit>\n      <trans-unit id="6682d1c00263bee204583a5d589b308b6be88b0f" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n              and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n              and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="ff40391de7a1944ea95091e4045cc34c4979b736" datatype="html">\n        <source>Mutual User</source>\n        <target>Utente reciproco</target>\n      </trans-unit>\n      <trans-unit id="0cf73dbebe99b737c4d288788182fc356e3c93d3" datatype="html">\n        <source>Mutual Password</source>\n        <target>Password reciproca</target>\n      </trans-unit>\n      <trans-unit id="8800276925157c666b103c36ff7fe8ffe11980b4" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters and\n              can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters and\n              can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="53a583cd5f15059cc958b7d547f72cc78f68e123" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n    on how to configure and enable the iSCSI Targets management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n    on how to configure and enable the iSCSI Targets management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="3b301d0044f62c92af0da53d7aaca52a436a547d" datatype="html">\n        <source>Available information:</source>\n        <target>Informazioni disponibili:</target>\n      </trans-unit>\n      <trans-unit id="332227f088a4877b3c11f5fb3ae8bc812c470fae" datatype="html">\n        <source>iSCSI Targets not available</source>\n        <target>Destinazioni iSCSI non disponibili</target>\n      </trans-unit>\n      <trans-unit id="8414a5cb9d71cc1b21b10e4a9d1f2dad558f3361" datatype="html">\n        <source>Discovery authentication</source>\n        <target>Discovery authentication</target>\n      </trans-unit>\n      <trans-unit id="0f6e8f6094b180eaf1f11bc0ffe383f1cdcd059e" datatype="html">\n        <source>Only available for RBD images with \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>fast-diff\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> enabled\n        </source>\n        <target>Only available for RBD images with \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>fast-diff\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> enabled\n        </target>\n      </trans-unit>\n      <trans-unit id="e70fcca5a99575cffef3ff8cbd5e69f06ffd0f1c" datatype="html">\n        <source>Pool</source>\n        <target>Pool</target>\n      </trans-unit>\n      <trans-unit id="03cc5b14b0a20d075e9009ff021f4f1660ba348a" datatype="html">\n        <source>Data Pool</source>\n        <target>Pool di dati</target>\n      </trans-unit>\n      <trans-unit id="1b051734b0ee9021991c91b3ed4e81c244322462" datatype="html">\n        <source>Created</source>\n        <target>Creato</target>\n      </trans-unit>\n      <trans-unit id="7faaaa08f56427999f3be41df1093ce4089bbd75" datatype="html">\n        <source>Size</source>\n        <target>Dimensioni</target>\n      </trans-unit>\n      <trans-unit id="afdb601c16162f2c798b16a2920955f1cc6a20aa" datatype="html">\n        <source>Objects</source>\n        <target>Oggetti</target>\n      </trans-unit>\n      <trans-unit id="ceac8e132384322ec778ba760875a6c6897d3e42" datatype="html">\n        <source>Object size</source>\n        <target>Dimensioni oggetto</target>\n      </trans-unit>\n      <trans-unit id="0a65771c9a73b9aa609d592fc96a64801a8f40bd" datatype="html">\n        <source>Provisioned</source>\n        <target>Soggetto al provisioning</target>\n      </trans-unit>\n      <trans-unit id="84a36cb75660b736773fe36ffa3d54f0f0fe363e" datatype="html">\n        <source>N/A</source>\n        <target>N/D</target>\n      </trans-unit>\n      <trans-unit id="e5c009342a4e8381f64341d0bb61c2e4685f5a4b" datatype="html">\n        <source>Total provisioned</source>\n        <target>Totale soggetto al provisioning</target>\n      </trans-unit>\n      <trans-unit id="7f6bf8a43ae415f527ac961ea62471b983aaa97b" datatype="html">\n        <source>Striping unit</source>\n        <target>Unità di striping</target>\n      </trans-unit>\n      <trans-unit id="db710e8a8f011923f2d15d713fbae49c38b02b26" datatype="html">\n        <source>Striping count</source>\n        <target>Conteggio di striping</target>\n      </trans-unit>\n      <trans-unit id="3a4c2a9e76634ff14a60d52a718296f722d47c67" datatype="html">\n        <source>Parent</source>\n        <target>Superiore</target>\n      </trans-unit>\n      <trans-unit id="6a209e68d78ffc2cc9c53d2e76158624efab71ad" datatype="html">\n        <source>Block name prefix</source>\n        <target>Prefisso nome blocco</target>\n      </trans-unit>\n      <trans-unit id="5704ec2049d007c5f5fb495a5d8b607e68d58081" datatype="html">\n        <source>Order</source>\n        <target>Ordine</target>\n      </trans-unit>\n      <trans-unit id="f21b1d17b6c5042bb5805516eee37fde33739dd8" datatype="html">\n        <source>Snapshots</source>\n        <target>Snapshot</target>\n      </trans-unit>\n      <trans-unit id="a5f9ba9bb9faa8284bcadb1cdbc6aaf969e9c4bb" datatype="html">\n        <source>Image</source>\n        <target>Immagine</target>\n      </trans-unit>\n      <trans-unit id="58e58f1a8786da9031a05e6770c5dafce82badf5" datatype="html">\n        <source>This setting overrides the global value</source>\n        <target>Questa impostazione sostituisce il valore globale</target>\n      </trans-unit>\n      <trans-unit id="5decb3917d46a9ac6e5813699801becb7c3c1455" datatype="html">\n        <source>Global</source>\n        <target>Globale</target>\n      </trans-unit>\n      <trans-unit id="36b46714164964c6258b08ed0a25f57d8a950f92" datatype="html">\n        <source>This is the global value. No value for this option has been set for this image.</source>\n        <target>Questo è il valore globale. Nessun valore di opzione è stato impostato per questa immagine.</target>\n      </trans-unit>\n      <trans-unit id="6547c9c4d5f62942ac4b1fe459cf9a03d4dbf5a0" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/> from\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/> from\n        </target>\n      </trans-unit>\n      <trans-unit id="0e9ecf29a4fa5b057bd8052e0d801b3fde6a30bf" datatype="html">\n        <source>\'/\' and \'@\' are not allowed.</source>\n        <target>\'/\' e \'@\' non sono consentiti.</target>\n      </trans-unit>\n      <trans-unit id="b99417c4dd46286ffd37c8d2e987c8b512ec7052" datatype="html">\n        <source>-- No rbd pools available --</source>\n        <target>-- Nessun pool rbd disponibile --</target>\n      </trans-unit>\n      <trans-unit id="ef83ec9c304a89d45650e580dcdc2978c37b3a83" datatype="html">\n        <source>-- Select a pool --</source>\n        <target>-- Selezionare un pool --</target>\n      </trans-unit>\n      <trans-unit id="d649904466254d13df1fbf2d255f0bbc6553d213" datatype="html">\n        <source>-- No namespaces available --</source>\n        <target>-- No namespaces available --</target>\n      </trans-unit>\n      <trans-unit id="e22d7bb4d2d561e0832ee0b9a3da2468a080c4f0" datatype="html">\n        <source>-- Select a namespace --</source>\n        <target>-- Select a namespace --</target>\n      </trans-unit>\n      <trans-unit id="49449943d8cbf59d8c401c8bd2e76f92e207cc5f" datatype="html">\n        <source>Use a dedicated data pool</source>\n        <target>Utilizza un pool di dati dedicato</target>\n      </trans-unit>\n      <trans-unit id="870aee0dd31a9643bf62007beb8f1ae1deb34d42" datatype="html">\n        <source>Data pool</source>\n        <target>Pool di dati</target>\n      </trans-unit>\n      <trans-unit id="3792ca829d9b9f687e1f5d7733d30e9bb0bfec47" datatype="html">\n        <source>Dedicated pool that stores the object-data of the RBD.</source>\n        <target>Pool dedicato che archivia i dati oggetto dell\'RBD.</target>\n      </trans-unit>\n      <trans-unit id="0a88bbee20570aaf9615332fb27020627044874d" datatype="html">\n        <source>You have to increase the size.</source>\n        <target>È necessario aumentare le dimensioni.</target>\n      </trans-unit>\n      <trans-unit id="bc2e854e111ecf2bd7db170da5e3c2ed08181d88" datatype="html">\n        <source>Advanced</source>\n        <target>Avanzate</target>\n      </trans-unit>\n      <trans-unit id="3562a3778695a5f9c0445660e35301f0a39aaf73" datatype="html">\n        <source>Striping</source>\n        <target>Striping</target>\n      </trans-unit>\n      <trans-unit id="ef3c3f3b5f562a5cdbe0ee2874287db1534b5958" datatype="html">\n        <source>Stripe unit</source>\n        <target>Unità di striping</target>\n      </trans-unit>\n      <trans-unit id="84471be1049006edecbcaef1a32ae0893c229c50" datatype="html">\n        <source>-- Select stripe unit --</source>\n        <target>-- Selezionare l\'unità di striping --</target>\n      </trans-unit>\n      <trans-unit id="8d32c5c54c8581c774a7f467fbd4e329b15a74fa" datatype="html">\n        <source>This field is required because stripe count is defined!</source>\n        <target>Questo campo è obbligatorio perché è specificato il numero di striping.</target>\n      </trans-unit>\n      <trans-unit id="6bbf9040be7c5491d4a03f2185708f43a6582a3b" datatype="html">\n        <source>Stripe unit is greater than object size.</source>\n        <target>L\'unità di striping è maggiore delle dimensioni dell\'oggetto.</target>\n      </trans-unit>\n      <trans-unit id="a682f49f9b761591661276d7c6f550e641a130a4" datatype="html">\n        <source>Stripe count</source>\n        <target>Numero di striping</target>\n      </trans-unit>\n      <trans-unit id="baa74031990c5370008ba622d0a250f0929097f4" datatype="html">\n        <source>This field is required because stripe unit is defined!</source>\n        <target>Questo campo è obbligatorio perché è specificata l\'unità di striping.</target>\n      </trans-unit>\n      <trans-unit id="cd2ada6d5ecbd5cbf89eae0a1f5326efedac0dbc" datatype="html">\n        <source>Stripe count must be greater than 0.</source>\n        <target>Il numero di striping deve essere maggiore di 0.</target>\n      </trans-unit>\n      <trans-unit id="2c07d24bb422aa8e5e568df1c5709083f0a9c8f1" datatype="html">\n        <source>Create Namespace</source>\n        <target>Create Namespace</target>\n      </trans-unit>\n      <trans-unit id="0cca6c0485f96d3a9610d0339cb1275a5f2c3f46" datatype="html">\n        <source>Namespace already exists.</source>\n        <target>Namespace already exists.</target>\n      </trans-unit>\n      <trans-unit id="5c5331983af566d4ac6a1024d15a3511786a4aa6" datatype="html">\n        <source>You are about to rollback</source>\n        <target>Si sta per eseguire il rollback</target>\n      </trans-unit>\n      <trans-unit id="49c0408946a6d67185947f455f15cc201d0d78e6" datatype="html">\n        <source>Purge Trash</source>\n        <target>Elimina definitivamente contenuto del cestino</target>\n      </trans-unit>\n      <trans-unit id="681501eecd7f44d4b7a2f619605b36676e04c5b6" datatype="html">\n        <source>To purge, select one or</source>\n        <target>To purge, select one or</target>\n      </trans-unit>\n      <trans-unit id="dfc3c34e182ea73c5d784ff7c8135f087992dac1" datatype="html">\n        <source>All</source>\n        <target>Tutto</target>\n      </trans-unit>\n      <trans-unit id="ea5d338dcef50ff5c24439fd784f6a67b594c33f" datatype="html">\n        <source>pools and click</source>\n        <target>pools and click</target>\n      </trans-unit>\n      <trans-unit id="55a4f598a4894b7fd5cb88f0ffd3c37ad009dd70" datatype="html">\n        <source>Pool:</source>\n        <target>Pool:</target>\n      </trans-unit>\n      <trans-unit id="d43dd2b9f7797e4cf3a604695bb33e4479108516" datatype="html">\n        <source>Pool name...</source>\n        <target>Nome pool...</target>\n      </trans-unit>\n      <trans-unit id="b0e7c7ed1d51a0c205c815048bc9f79e24ee6db2" datatype="html">\n        <source>Restore Image</source>\n        <target>Ripristina immagine</target>\n      </trans-unit>\n      <trans-unit id="7369384817e0ad61ce871c9afdfbb538df2f97c1" datatype="html">\n        <source>To restore</source>\n        <target>Per ripristinare,</target>\n      </trans-unit>\n      <trans-unit id="e7f0abefc608f7fb452c2dc9b1cdc3dec432160e" datatype="html">\n        <source>type the image\'s new name and click</source>\n        <target>digitare il nuovo nome dell\'immagine e fare clic su</target>\n      </trans-unit>\n      <trans-unit id="41307dd56fea669eed72e12a6c23af275f6bfd82" datatype="html">\n        <source>New Name</source>\n        <target>Nuovo nome</target>\n      </trans-unit>\n      <trans-unit id="5c96a761dc55a21882c132c929583a424c9b8cf4" datatype="html">\n        <source>Expired at</source>\n        <target>Scaduto alle</target>\n      </trans-unit>\n      <trans-unit id="661041e3fcff4d3e75c561e038ca2504cf2cc643" datatype="html">\n        <source>Protected until</source>\n        <target>Protetto fino alle</target>\n      </trans-unit>\n      <trans-unit id="0ee3b2322a1d3277f7e3fdb8a5141ac42bcf350b" datatype="html">\n        <source>This image is protected until \n          <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.\n        </source>\n        <target>This image is protected until \n          <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="a674ab267d1934bf395f87ca1503fd474296893f" datatype="html">\n        <source>iSCSI Topology</source>\n        <target>Topologia iSCSI</target>\n      </trans-unit>\n      <trans-unit id="051dcc342cfa5c1eaf187a2001aaa162379a160c" datatype="html">\n        <source>Configure</source>\n        <target>Configure</target>\n      </trans-unit>\n      <trans-unit id="9e515f954730279c31d5301f02479666d6264e8b" datatype="html">\n        <source>Changing these parameters from their default values is usually not necessary.</source>\n        <target>Di solito non è necessario modificare questi parametri rispetto ai valori di default.</target>\n      </trans-unit>\n      <trans-unit id="4e2591df099ddac796cda401c5f282da779d45f2" datatype="html">\n        <source>Identifier</source>\n        <target>Identifier</target>\n      </trans-unit>\n      <trans-unit id="62480a4859976427cf18fc8ef41d3a438eda0412" datatype="html">\n        <source>lun</source>\n        <target>lun</target>\n      </trans-unit>\n      <trans-unit id="8afc9eb4405e0aa554b2ba14140ef790cdecc040" datatype="html">\n        <source>wwn</source>\n        <target>wwn</target>\n      </trans-unit>\n      <trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html">\n        <source>Settings</source>\n        <target>Impostazioni</target>\n      </trans-unit>\n      <trans-unit id="69a47cbabcc51ca942606e1d8da0ec11f98a2690" datatype="html">\n        <source>Backstore</source>\n        <target>Backstore</target>\n      </trans-unit>\n      <trans-unit id="68e710782ccb5398b3acb8844caf0b199da2c3da" datatype="html">\n        <source>Confirm</source>\n        <target>Conferma</target>\n      </trans-unit>\n      <trans-unit id="339878da255ab55447c43afef8d9b2f9753bf5f6" datatype="html">\n        <source>Advanced Settings</source>\n        <target>Impostazioni avanzate</target>\n      </trans-unit>\n      <trans-unit id="1406c2fb12a20c1528b19bcc5e24a6a2386167f3" datatype="html">\n        <source>Target IQN</source>\n        <target>IQN di destinazione</target>\n      </trans-unit>\n      <trans-unit id="5fe42339be910372fa689f559155631862d218e8" datatype="html">\n        <source>IQN has wrong pattern.</source>\n        <target>IQN contiene un modello errato.</target>\n      </trans-unit>\n      <trans-unit id="050a7ff057d1e895357540406b6be5652b4d1c71" datatype="html">\n        <source>An IQN has the following notation\n                \'iqn.$year-$month.$reversedAddress:$definedName\'</source>\n        <target>An IQN has the following notation\n                \'iqn.$year-$month.$reversedAddress:$definedName\'</target>\n      </trans-unit>\n      <trans-unit id="c8ada4b53396d8366db00a435acc61d53d857047" datatype="html">\n        <source>For example: iqn.2016-06.org.dashboard:storage:disk.sn-a8675309</source>\n        <target>Ad esempio: iqn.2016-06.org.dashboard:storage:disk.sn-a8675309</target>\n      </trans-unit>\n      <trans-unit id="e60c11e1b1dfbbeda577364b8de39ded2d796c5e" datatype="html">\n        <source>More information</source>\n        <target>Ulteriori informazioni</target>\n      </trans-unit>\n      <trans-unit id="9b1aa85dfc6849196e64060db02c5410de69b7a1" datatype="html">\n        <source>This target has modified advanced settings.</source>\n        <target>Questa destinazione contiene impostazioni avanzate modificate.</target>\n      </trans-unit>\n      <trans-unit id="6990ad8d6182662e864495ac31c3758cda1c7a28" datatype="html">\n        <source>Portals</source>\n        <target>Portali</target>\n      </trans-unit>\n      <trans-unit id="6a3ac2b4137d723fd9878cd357c2012ff6c07973" datatype="html">\n        <source>Add portal</source>\n        <target>Aggiungi portale</target>\n      </trans-unit>\n      <trans-unit id="c3638c01b6c34066438909713ec96087c813fc7e" datatype="html">\n        <source>At least \n          <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.\n        </source>\n        <target>At least \n          <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.\n        </target>\n      </trans-unit>\n      <trans-unit id="9aff25be088f0efe3eaaf62edf2bff41cc41a617" datatype="html">\n        <source>Backstore: \n          <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. \n        </source>\n        <target>Backstore: \n          <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. \n        </target>\n      </trans-unit>\n      <trans-unit id="e3484cae8b118c576ca2815bf9c9406c2eb2cae3" datatype="html">\n        <source>This image has modified settings.</source>\n        <target>Questa immagine contiene impostazioni modificate.</target>\n      </trans-unit>\n      <trans-unit id="1dff11e0820b6722ab240169f1232d70a54beaaa" datatype="html">\n        <source>Duplicated LUN numbers.</source>\n        <target>Duplicated LUN numbers.</target>\n      </trans-unit>\n      <trans-unit id="bf2dccf92ccff6e3b091792bf4205595406e1bfb" datatype="html">\n        <source>Duplicated WWN.</source>\n        <target>Duplicated WWN.</target>\n      </trans-unit>\n      <trans-unit id="808038f912fdc7f0e03f82d4afd3bf9178527fc8" datatype="html">\n        <source>Add image</source>\n        <target>Aggiungi immagine</target>\n      </trans-unit>\n      <trans-unit id="66c5fb27f52e75b70ca4b670b9b15a2a51cf9543" datatype="html">\n        <source>ACL authentication</source>\n        <target>Autenticazione ACL</target>\n      </trans-unit>\n      <trans-unit id="419c8b402609dcf49ae4932a5a4647dc8d79bbaf" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n                can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Usernames must have a length of 8 to 64 characters and\n                can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</target>\n      </trans-unit>\n      <trans-unit id="938050960d6653fddfcfd42425e18fb35a308262" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n                and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n                and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="f494bd31f095f6dcc656ce87ec2dcf07a2e9b30c" datatype="html">\n        <source>Initiators</source>\n        <target>Iniziatori</target>\n      </trans-unit>\n      <trans-unit id="e98239d8a6be1100119ff4b5630c822b82786740" datatype="html">\n        <source>Initiator</source>\n        <target>Iniziatore</target>\n      </trans-unit>\n      <trans-unit id="f2c5059d8cda15d8d03e2cce30f2d139623d9a91" datatype="html">\n        <source>Client IQN</source>\n        <target>IQN client</target>\n      </trans-unit>\n      <trans-unit id="107d5aabce23d900f0a80e6ddc1c10e29aa0bed8" datatype="html">\n        <source>Initiator IQN needs to be unique.</source>\n        <target>L\'IQN dell\'iniziatore deve essere univoco.</target>\n      </trans-unit>\n      <trans-unit id="bbf0b34a3fcc80800fcb44b9e1e86931a530dfe3" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n                        can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>I nomi utente devono avere una lunghezza compresa tra 8 e 64 caratteri e\n                        possono contenere solo lettere, \'.\', \'@\', \'-\', \'_\' o \':\'.</target>\n      </trans-unit>\n      <trans-unit id="fdfee5d7a27e1bdd97a176097277bee078de6aaf" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n                        and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n                        and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="8406eb7415ee40e54d9ecb209abb056f06e3d666" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters and\n                        can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters and\n                        can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="5d1878d5fc761cbe9614bfd87047a740c82a6951" datatype="html">\n        <source>Initiator belongs to a group. Images will be configure in the group.</source>\n        <target>L\'iniziatore appartiene a un gruppo. Le immagini verranno configurate nel gruppo.</target>\n      </trans-unit>\n      <trans-unit id="c0de67b9d97fafbf200f9451e8388ee8128a56ac" datatype="html">\n        <source>No items added.</source>\n        <target>Nessun elemento aggiunto.</target>\n      </trans-unit>\n      <trans-unit id="d565e47726158e428ecdc952fc9233b9b7d7f049" datatype="html">\n        <source>Add initiator</source>\n        <target>Aggiungi iniziatore</target>\n      </trans-unit>\n      <trans-unit id="c22ba03540aa3217da059f45e7eab138b51a96e2" datatype="html">\n        <source>Groups</source>\n        <target>Gruppi</target>\n      </trans-unit>\n      <trans-unit id="4c90059afafb7e160384d9f512797c95bb95c6dc" datatype="html">\n        <source>Group</source>\n        <target>Gruppo</target>\n      </trans-unit>\n      <trans-unit id="3084948274cff4f56d0f431af47240e9cf02fcc7" datatype="html">\n        <source>Add group</source>\n        <target>Aggiungi gruppo</target>\n      </trans-unit>\n      <trans-unit id="c3a7e364a88ea4673199dfa98bc73e6dbe09dfac" datatype="html">\n        <source>Namespaces</source>\n        <target>Namespaces</target>\n      </trans-unit>\n      <trans-unit id="aba82bfd8e177d35b76cad7cd43941f8e5e5acac" datatype="html">\n        <source>Trash</source>\n        <target>Cestino</target>\n      </trans-unit>\n      <trans-unit id="66db799d67958d4b0765181d072df62e2d1c16f5" datatype="html">\n        <source>Issues</source>\n        <target>Problemi</target>\n      </trans-unit>\n      <trans-unit id="ef06d69259e587e28d52372455f44c7153cda7e7" datatype="html">\n        <source>Syncing</source>\n        <target>Sincronizzazione in corso</target>\n      </trans-unit>\n      <trans-unit id="0b0901877d837d3fda16ba161eb74368d1c75b7a" datatype="html">\n        <source>Ready</source>\n        <target>Pronto</target>\n      </trans-unit>\n      <trans-unit id="4057c56d63a7e9b140b1d01871a9229a5f30eb27" datatype="html">\n        <source>Edit pool mirror mode</source>\n        <target>Modifica modalità speculare per il pool</target>\n      </trans-unit>\n      <trans-unit id="e1f367f5feaab38f6637dd1f967c848b447dea2d" datatype="html">\n        <source>To edit the mirror mode for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>, select a new mode from the list and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>To edit the mirror mode for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>, select a new mode from the list and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="32ca348ef926b0a6a7a780b8b64c3a8239895cec" datatype="html">\n        <source>Peer clusters must be removed prior to disabling mirror.</source>\n        <target>È necessario rimuovere i cluster peer prima di disabilitare la copia speculare.</target>\n      </trans-unit>\n      <trans-unit id="fa61522d482349707fd7dd03b90dc5781611b17f" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/>\n  pool mirror peer\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/>\n  pool mirror peer\n        </target>\n      </trans-unit>\n      <trans-unit id="4ddcb416c1c0aa1f54acf5beef1de81813e76fa6" datatype="html">\n        <source>{VAR_SELECT, select, edit {Edit} other {Add} }</source>\n        <target>{VAR_SELECT, select, edit {Edit} other {Add} }</target>\n      </trans-unit>\n      <trans-unit id="59ca65ece457429d90104ede4674965f62edbabe" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/> the pool\n          mirror peer attributes for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> and click\n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Submit\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/> the pool\n          mirror peer attributes for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> and click\n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Submit\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="d3cc964811f852a168f4a2d5daa59068abc5cf53" datatype="html">\n        <source>Cluster Name</source>\n        <target>Nome cluster</target>\n      </trans-unit>\n      <trans-unit id="b631721fc56cb7fb1cbd07b802a487c5753f6a2d" datatype="html">\n        <source>The cluster name is not valid.</source>\n        <target>Il nome del cluster non è valido.</target>\n      </trans-unit>\n      <trans-unit id="ca6deafa31bf421f85094807982aee4bcb20a3ae" datatype="html">\n        <source>CephX ID</source>\n        <target>ID CephX</target>\n      </trans-unit>\n      <trans-unit id="7539188a568c3d553cbde1bacaf32310c4264e24" datatype="html">\n        <source>CephX ID...</source>\n        <target>ID CephX...</target>\n      </trans-unit>\n      <trans-unit id="a1c45b594b0fba22fc64e80c793a7ffe005fdb0e" datatype="html">\n        <source>The CephX ID is not valid.</source>\n        <target>L\'ID CephX non è valido.</target>\n      </trans-unit>\n      <trans-unit id="20861576fcfce773c918c782cd4f5adf32382921" datatype="html">\n        <source>Monitor Addresses</source>\n        <target>Indirizzi dei monitor</target>\n      </trans-unit>\n      <trans-unit id="fa28eeed2b4bd4ccbe6e9349a1c2b3cb1c5de70a" datatype="html">\n        <source>Comma-delimited addresses...</source>\n        <target>Indirizzi con valori delimitati da virgole...</target>\n      </trans-unit>\n      <trans-unit id="dc016c82fd85848d5c1b2fd0e8469ee2027d9c16" datatype="html">\n        <source>The monitory address is not valid.</source>\n        <target>L\'indirizzo del monitor non è valido.</target>\n      </trans-unit>\n      <trans-unit id="e0ac55b83dc6739e62bc655cfe375b67c93e7f4a" datatype="html">\n        <source>CephX Key</source>\n        <target>Chiave CephX</target>\n      </trans-unit>\n      <trans-unit id="f53434bcb95bd86f1df9c8e22966f757614fc4ad" datatype="html">\n        <source>Base64-encoded key...</source>\n        <target>Chiave con codifica Base64...</target>\n      </trans-unit>\n      <trans-unit id="4cd83164cd4f66b4abc2863f9ce6f599d789e4ca" datatype="html">\n        <source>CephX key must be base64 encoded.</source>\n        <target>La chiave CephX deve essere con codifica Base64.</target>\n      </trans-unit>\n      <trans-unit id="ca53d681a9892d6fdbb57ee9676582186515e961" datatype="html">\n        <source>Performance counters not available</source>\n        <target>Contatori delle prestazioni non disponibili</target>\n      </trans-unit>\n      <trans-unit id="9424badb7e0c6ac792d020d7830645b529a80aad" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the Object Gateway management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the Object Gateway management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="479488ab6e91ecb375484edc78bee3d13467f33f" datatype="html">\n        <source>Daemons List</source>\n        <target>Elenco dei daemon</target>\n      </trans-unit>\n      <trans-unit id="eeba399c4dae8d4890c27b7a2cd2dc28fcf8b5f9" datatype="html">\n        <source>Performance Counters</source>\n        <target>Contatori delle prestazioni</target>\n      </trans-unit>\n      <trans-unit id="5f67f2247b9c6bbaf24a0f2d37f4ac0537c6fa53" datatype="html">\n        <source>Loading bucket data...</source>\n        <target>Caricamento dati compartimento in corso...</target>\n      </trans-unit>\n      <trans-unit id="2798cc1e152b1ec07fd8daf94a2a073d1ba1ebcc" datatype="html">\n        <source>Id</source>\n        <target>ID</target>\n      </trans-unit>\n      <trans-unit id="db4e1a734518691b128ef40b939cc673f01d03a6" datatype="html">\n        <source>The value is not valid.</source>\n        <target>Il valore non è valido.</target>\n      </trans-unit>\n      <trans-unit id="eabb4db920d9f9b2480cf438468b86e1bea02a9b" datatype="html">\n        <source>The chosen name is already in use.</source>\n        <target>Il nome scelto è già in uso.</target>\n      </trans-unit>\n      <trans-unit id="0ee5132a8da30e0b7f9f5c70dbc91928d17dd909" datatype="html">\n        <source>Owner</source>\n        <target>Proprietario</target>\n      </trans-unit>\n      <trans-unit id="8e4c918357c7445fbf19a203e5f0f0ece1960b3b" datatype="html">\n        <source>-- Select a user --</source>\n        <target>-- Selezionare un utente --</target>\n      </trans-unit>\n      <trans-unit id="a4aab1f837bc8ec222e4f25922465d1c5929a1fc" datatype="html">\n        <source>Placement target</source>\n        <target>Placement target</target>\n      </trans-unit>\n      <trans-unit id="6bae0a7fc2c9c1fde7d937a8a1a3c7e6825cf7d1" datatype="html">\n        <source>-- Select a placement target --</source>\n        <target>-- Select a placement target --</target>\n      </trans-unit>\n      <trans-unit id="efeade5060b3add63863c24871f0830fb16b7e6d" datatype="html">\n        <source>Versioning</source>\n        <target>Versioning</target>\n      </trans-unit>\n      <trans-unit id="f50a33d3c339f8f4a465141f8caa5d2d8c005251" datatype="html">\n        <source>Enabled</source>\n        <target>Abilitato</target>\n      </trans-unit>\n      <trans-unit id="016d24e069e7d505a090fb8243e5cd43b35dc39b" datatype="html">\n        <source>Enables versioning for the objects in the bucket.</source>\n        <target>Enables versioning for the objects in the bucket.</target>\n      </trans-unit>\n      <trans-unit id="9e6775ffd06878aa145c07359f28557f01ede04f" datatype="html">\n        <source>Multi-Factor Authentication</source>\n        <target>Multi-Factor Authentication</target>\n      </trans-unit>\n      <trans-unit id="29e8a5d4fb767d4ad0c762c81c6264cec4c0ba97" datatype="html">\n        <source>Delete enabled</source>\n        <target>Delete enabled</target>\n      </trans-unit>\n      <trans-unit id="40fbc3ac8c1ea4ecfe62247e91f1f999ad5baf76" datatype="html">\n        <source>Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state.</source>\n        <target>Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state.</target>\n      </trans-unit>\n      <trans-unit id="d24c93a8c13db46defa06ed7b5e026a3edb52b91" datatype="html">\n        <source>Token Serial Number</source>\n        <target>Token Serial Number</target>\n      </trans-unit>\n      <trans-unit id="e6d9536c2af2e5e9a228c3e3e1809dc1fefe0149" datatype="html">\n        <source>Token PIN</source>\n        <target>Token PIN</target>\n      </trans-unit>\n      <trans-unit id="7b84370895ab9eb44672f57146fa05c5947f1c0c" datatype="html">\n        <source>Locking</source>\n        <target>Locking</target>\n      </trans-unit>\n      <trans-unit id="f038d51ab1645f15b0cd58f195c72a7eeebd4729" datatype="html">\n        <source>Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket.</source>\n        <target>Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket.</target>\n      </trans-unit>\n      <trans-unit id="9af1b4baa2dd8ed2bfc3cc756b12a2271c2dd793" datatype="html">\n        <source>Compliance</source>\n        <target>Compliance</target>\n      </trans-unit>\n      <trans-unit id="edd600fa489d1b4a4448dce694ed932e52ce8fda" datatype="html">\n        <source>Governance</source>\n        <target>Governance</target>\n      </trans-unit>\n      <trans-unit id="a5c3d9d2296f7886e8289b9f623323803deacfc6" datatype="html">\n        <source>Days</source>\n        <target>Days</target>\n      </trans-unit>\n      <trans-unit id="218c7d6d318c51e7105309aaeb0baec9d19e4efb" datatype="html">\n        <source>The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</source>\n        <target>The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</target>\n      </trans-unit>\n      <trans-unit id="289b101ec12427b3ca819df9e43cc3b14fae2cc4" datatype="html">\n        <source>The entered value must be a positive integer.</source>\n        <target>The entered value must be a positive integer.</target>\n      </trans-unit>\n      <trans-unit id="def9fc628134d3a044b7c0ad2a83c846bdad56f1" datatype="html">\n        <source>Retention period requires either Days or Years.</source>\n        <target>Retention period requires either Days or Years.</target>\n      </trans-unit>\n      <trans-unit id="003c94fc143882ac8af6251a1595fe62978fe3e6" datatype="html">\n        <source>Years</source>\n        <target>Years</target>\n      </trans-unit>\n      <trans-unit id="14c6189ead0951f13049c7bf9af7642d0c41957a" datatype="html">\n        <source>The number of years that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</source>\n        <target>The number of years that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</target>\n      </trans-unit>\n      <trans-unit id="45cc8ca94b5a50842a9a8ef804a5ab089a38ae5c" datatype="html">\n        <source>ID</source>\n        <target>ID</target>\n      </trans-unit>\n      <trans-unit id="e5c51963a9c553b29427ef783bbb69fa6634fa8c" datatype="html">\n        <source>Index type</source>\n        <target>Tipo di indice</target>\n      </trans-unit>\n      <trans-unit id="8e6f950a32eaea32ec7e192f9ca3d3dfe469d4ba" datatype="html">\n        <source>Placement rule</source>\n        <target>Regola di posizionamento</target>\n      </trans-unit>\n      <trans-unit id="6972d213e31c4ea4f887e60db99d9881bc8fcd3e" datatype="html">\n        <source>Marker</source>\n        <target>Contrassegno</target>\n      </trans-unit>\n      <trans-unit id="47b02acd2d3254d1ace1926f840523f154ebef71" datatype="html">\n        <source>Maximum marker</source>\n        <target>Contrassegno massimo</target>\n      </trans-unit>\n      <trans-unit id="8fe73a4787b8068b2ba61f54ab7e0f9af2ea1fc9" datatype="html">\n        <source>Version</source>\n        <target>Versione</target>\n      </trans-unit>\n      <trans-unit id="092fa3a7df9168b14d3f83a77a4035e92b92ce15" datatype="html">\n        <source>Master version</source>\n        <target>Versione master</target>\n      </trans-unit>\n      <trans-unit id="97434cc5001d407f90c7447a12d9e8e6848a2aa3" datatype="html">\n        <source>Modification time</source>\n        <target>Ora di modifica</target>\n      </trans-unit>\n      <trans-unit id="90fe2e41e7fde38453ce4e619efeea9bc6adea9c" datatype="html">\n        <source>Zonegroup</source>\n        <target>Gruppo di zone</target>\n      </trans-unit>\n      <trans-unit id="62a923f047ca49e7a4782629e91fea1ba32db68f" datatype="html">\n        <source>MFA Delete</source>\n        <target>MFA Delete</target>\n      </trans-unit>\n      <trans-unit id="649a410bd0ace333d067d8fa22f12bdbdb43533b" datatype="html">\n        <source>Bucket quota</source>\n        <target>Quota compartimenti</target>\n      </trans-unit>\n      <trans-unit id="cef1595d040e77cbb4466e60382028d4c2040cac" datatype="html">\n        <source>Maximum size</source>\n        <target>Dimensioni massime</target>\n      </trans-unit>\n      <trans-unit id="aa6fb95c355f172bda303de1ce2f38c251a149cf" datatype="html">\n        <source>Unlimited</source>\n        <target>Illimitato</target>\n      </trans-unit>\n      <trans-unit id="ee862a800364b4d11f9b8cb9955a28a60f840a45" datatype="html">\n        <source>Maximum objects</source>\n        <target>Numero massimo di oggetti</target>\n      </trans-unit>\n      <trans-unit id="08c74dc9762957593b91f6eb5d65efdfc975bf48" datatype="html">\n        <source>Username</source>\n        <target>Nome utente</target>\n      </trans-unit>\n      <trans-unit id="49c614babd1950adb2be75df4e2c9747286d6adc" datatype="html">\n        <source>-- Select a username --</source>\n        <target>-- Selezionare un nome utente --</target>\n      </trans-unit>\n      <trans-unit id="c217ee914725a37e9dd2336c721c8e63e9666bdc" datatype="html">\n        <source>Auto-generate key</source>\n        <target>Generazione automatica chiave</target>\n      </trans-unit>\n      <trans-unit id="2f1c1c0f2bce4c9f92d1a2061e8161cb0006c31a" datatype="html">\n        <source>Access key</source>\n        <target>Chiave di accesso</target>\n      </trans-unit>\n      <trans-unit id="b864acb67296a9819c1db0069c4c47d8b5ce8f44" datatype="html">\n        <source>Secret key</source>\n        <target>Chiave segreta</target>\n      </trans-unit>\n      <trans-unit id="b760f123248930122fc7e7b6b6bf94e376e959c8" datatype="html">\n        <source>Full name</source>\n        <target>Nome completo</target>\n      </trans-unit>\n      <trans-unit id="69b6ac577a19acc39fc0c22342092f327fff2529" datatype="html">\n        <source>Email address</source>\n        <target>Indirizzo e-mail</target>\n      </trans-unit>\n      <trans-unit id="92f3f203270a29b3001871153f02c063484a1574" datatype="html">\n        <source>Suspended</source>\n        <target>Sospeso</target>\n      </trans-unit>\n      <trans-unit id="8011e20c5bbe51602d459a860fbf29b599b55edd" datatype="html">\n        <source>System</source>\n        <target>Sistema</target>\n      </trans-unit>\n      <trans-unit id="db18a2772988415466a7f75dc42663ce78c9c1d3" datatype="html">\n        <source>Maximum buckets</source>\n        <target>Numero massimo di compartimenti</target>\n      </trans-unit>\n      <trans-unit id="2c4c62e8ba24601be5cfe7dc5d32c24bbbd4b53c" datatype="html">\n        <source>Subusers</source>\n        <target>Sottoutenti</target>\n      </trans-unit>\n      <trans-unit id="17bb3082e6fe5003203ef992a3714172334631a1" datatype="html">\n        <source>Capabilities</source>\n        <target>Capacità</target>\n      </trans-unit>\n      <trans-unit id="36ad38f9c1a1485e09b67778a28af84553290ffb" datatype="html">\n        <source>User quota</source>\n        <target>Quota utenti</target>\n      </trans-unit>\n      <trans-unit id="2aba1e87039819aca3b70faa9aa848c12bf139ca" datatype="html">\n        <source>Show</source>\n        <target>Mostra</target>\n      </trans-unit>\n      <trans-unit id="0bcd5ef19af0f1b814141ca8c57df623d8270088" datatype="html">\n        <source>Keys</source>\n        <target>Chiavi</target>\n      </trans-unit>\n      <trans-unit id="f61c6867295f3b53d23557021f2f4e0aa1d0b8fc" datatype="html">\n        <source>Type</source>\n        <target>Tipo</target>\n      </trans-unit>\n      <trans-unit id="1221ca97d19eaa9a7bc0c5243d5fc5befe1d2314" datatype="html">\n        <source>-- Select a type --</source>\n        <target>-- Selezionare un tipo --</target>\n      </trans-unit>\n      <trans-unit id="d1b8990332af18f1c5159a6061ca889bcbb28432" datatype="html">\n        <source>Permission</source>\n        <target>Autorizzazione</target>\n      </trans-unit>\n      <trans-unit id="a08c589f82f69d892307288da14190ae1dd583d5" datatype="html">\n        <source>-- Select a permission --</source>\n        <target>-- Selezionare un\'autorizzazione --</target>\n      </trans-unit>\n      <trans-unit id="b2841767821d6b66238c34d07e413b0af67aee92" datatype="html">\n        <source>Subuser</source>\n        <target>Sottoutente</target>\n      </trans-unit>\n      <trans-unit id="bd59fc25a7bd98cff3e75117c09697c8a007a514" datatype="html">\n        <source>The chosen subuser ID is already in use.</source>\n        <target>L\'ID del sottoutente scelto è già in uso.</target>\n      </trans-unit>\n      <trans-unit id="3d386c357ebcbc04ed05c4babd5a03626f9b1674" datatype="html">\n        <source>read, write</source>\n        <target>lettura, scrittura</target>\n      </trans-unit>\n      <trans-unit id="84e3e3f9a4f31a039b648c97debf95fcb20f4c4a" datatype="html">\n        <source>full</source>\n        <target>pieno</target>\n      </trans-unit>\n      <trans-unit id="b6bf81d032a2316464f9df2f0d2f3d753f89f0d3" datatype="html">\n        <source>Swift key</source>\n        <target>Chiave Swift</target>\n      </trans-unit>\n      <trans-unit id="1e0c12685d50d47448ceed9423977ef39775c037" datatype="html">\n        <source>Auto-generate secret</source>\n        <target>Generazione automatica segreto</target>\n      </trans-unit>\n      <trans-unit id="3d1c7a6004bd5d86a7fa096ae24209e8aa7a53e3" datatype="html">\n        <source>Loading user data...</source>\n        <target>Caricamento dati utente in corso...</target>\n      </trans-unit>\n      <trans-unit id="faa5d834ab28571423d794d32b57998920efb65f" datatype="html">\n        <source>The user data could not be loaded.</source>\n        <target>Impossibile caricare i dati utente.</target>\n      </trans-unit>\n      <trans-unit id="6aaf5d2a304167272ac73e3b1d1c162e16c77858" datatype="html">\n        <source>The chosen user ID is already in use.</source>\n        <target>L\'ID utente scelto è già in uso.</target>\n      </trans-unit>\n      <trans-unit id="df441e80db2157f9d272b75de724ba4a82b96b57" datatype="html">\n        <source>This is not a valid email address.</source>\n        <target>Non è un indirizzo e-mail valido.</target>\n      </trans-unit>\n      <trans-unit id="ca271adf154956b8fcb28f4f50a37acb3057ff7c" datatype="html">\n        <source>The chosen email address is already in use.</source>\n        <target>L\'indirizzo e-mail scelto è già in uso.</target>\n      </trans-unit>\n      <trans-unit id="030197cebe938edf35422e92fe14183d06eb670b" datatype="html">\n        <source>Max. buckets</source>\n        <target>Numero max. di compartimenti</target>\n      </trans-unit>\n      <trans-unit id="f39256070bfc0714020dfee08895421fc1527014" datatype="html">\n        <source>Disabled</source>\n        <target>Disabilitato</target>\n      </trans-unit>\n      <trans-unit id="a5c05002b0ac2040f1aede5e727e0ffd06eda819" datatype="html">\n        <source>Custom</source>\n        <target>Personalizzato</target>\n      </trans-unit>\n      <trans-unit id="28872515cb81d197a3a1733fa546d3e0f0dd6c67" datatype="html">\n        <source>The entered value must be &gt;= 1.</source>\n        <target>The entered value must be &gt;= 1.</target>\n      </trans-unit>\n      <trans-unit id="583a219c524155c2314eb06ee29162bb315272a3" datatype="html">\n        <source>S3 key</source>\n        <target>Chiave S3</target>\n      </trans-unit>\n      <trans-unit id="128d6efb51d9ddc7c0cc695a2deeca5b9523f6e4" datatype="html">\n        <source>There are no subusers.</source>\n        <target>Non esistono sottoutenti.</target>\n      </trans-unit>\n      <trans-unit id="7fd6dfb8ecb982dbc3affb2c2d5414c4f5b6abd2" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ subuserLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ subuserLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="67c746c1ba9dab4351fedc4c7cba4e6d6b0dbc47" datatype="html">\n        <source>S3</source>\n        <target>S3</target>\n      </trans-unit>\n      <trans-unit id="d6819038d608623503918fb2553f53d68231ec3a" datatype="html">\n        <source>There are no keys.</source>\n        <target>Non esistono chiavi.</target>\n      </trans-unit>\n      <trans-unit id="fc1c1a7140ff6b815a95b65ee2780fdbe1b2b7a1" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ s3keyLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ s3keyLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6ddb5e991a3ecd2659fb520bc5acc81b67e08ddd" datatype="html">\n        <source>Swift</source>\n        <target>Swift</target>\n      </trans-unit>\n      <trans-unit id="1d01eccdda47fc907c5be35bcb16d2dcd02b0270" datatype="html">\n        <source>There are no capabilities.</source>\n        <target>Non esistono capacità.</target>\n      </trans-unit>\n      <trans-unit id="043e2ec0036ceadd926fd5e3f93cd6f3565f3648" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.ADD | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.ADD | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="f5a451c4ea65a4046f0b49d489a7013abf0b5861" datatype="html">\n        <source>All capabilities are already added.</source>\n        <target>All capabilities are already added.</target>\n      </trans-unit>\n      <trans-unit id="6146e13ceca5fa5cc17b771b282fe5955f3d19fa" datatype="html">\n        <source>Unlimited size</source>\n        <target>Dimensioni illimitate</target>\n      </trans-unit>\n      <trans-unit id="f6db8aa7c99fdce18edb33dde57729acede2b308" datatype="html">\n        <source>Max. size</source>\n        <target>Dimensione max.</target>\n      </trans-unit>\n      <trans-unit id="fc630b2093e880fffa19df99d5cd8b87605037f8" datatype="html">\n        <source>Unlimited objects</source>\n        <target>Oggetti illimitati</target>\n      </trans-unit>\n      <trans-unit id="6cda5a993d06f0bb10048be9d3aba6555aa9f356" datatype="html">\n        <source>Max. objects</source>\n        <target>Numero max. di oggetti</target>\n      </trans-unit>\n      <trans-unit id="623ac50f37a26caec6fd7cd519b653e3315cba25" datatype="html">\n        <source>The entered value must be &gt;= 0.</source>\n        <target>Il valore immesso deve essere &gt;= a 0.</target>\n      </trans-unit>\n      <trans-unit id="1ea5c4d8942c00752dcc72e72949c5d9832f6399" datatype="html">\n        <source>Description...</source>\n        <target>Descrizione...</target>\n      </trans-unit>\n      <trans-unit id="70f45880fce6ac5d8e468e25e82aefbba8098cfe" datatype="html">\n        <source>Permissions</source>\n        <target>Autorizzazioni</target>\n      </trans-unit>\n      <trans-unit id="9610487cbeb5796d34d8601b5ac0c0a65f9e1d19" datatype="html">\n        <source>Roles</source>\n        <target>Ruoli</target>\n      </trans-unit>\n      <trans-unit id="7f3bdcce4b2e8c37cd7f0f6c92ef8cff34b039b8" datatype="html">\n        <source>Confirm password</source>\n        <target>Conferma password</target>\n      </trans-unit>\n      <trans-unit id="cbb979e63ba50e0ca3adfa09cbdcaefd0853fca1" datatype="html">\n        <source>Password confirmation doesn\'t match the password.</source>\n        <target>La password di conferma non corrisponde alla password.</target>\n      </trans-unit>\n      <trans-unit id="96621f9ed2e4ae5204564e583d2c816bedead571" datatype="html">\n        <source>Password expiration date</source>\n        <target>Password expiration date</target>\n      </trans-unit>\n      <trans-unit id="48932db3801fe9d5d72a60a3e656bffd17c1c5d9" datatype="html">\n        <source>Password expiration date...</source>\n        <target>Password expiration date...</target>\n      </trans-unit>\n      <trans-unit id="244aae9346da82b0922506c2d2581373a15641cc" datatype="html">\n        <source>Email</source>\n        <target>E-mail</target>\n      </trans-unit>\n      <trans-unit id="d0ec081dd61eb4f43aea269077bbe38eae87b7f9" datatype="html">\n        <source>Invalid email.</source>\n        <target>E-mail non valida.</target>\n      </trans-unit>\n      <trans-unit id="8913c216dd506e20e412e144381d8d2a65a84359" datatype="html">\n        <source>User must change password at next logon</source>\n        <target>User must change password at next logon</target>\n      </trans-unit>\n      <trans-unit id="0051a3479d3ba79135c16dc8cc017950a2cce821" datatype="html">\n        <source>You are about to remove "user read / update" permissions from your own user.</source>\n        <target>Si stanno per rimuovere le autorizzazioni di "lettura/aggiornamento utente" dal proprio utente.</target>\n      </trans-unit>\n      <trans-unit id="af4bf9fcb256853f14cf947eb1deb8d7f176d3f9" datatype="html">\n        <source>If you continue, you will no longer be able to add or remove roles from any user.</source>\n        <target>Se si continua, non è più possibile aggiungere o rimuovere ruoli da qualsiasi utente.</target>\n      </trans-unit>\n      <trans-unit id="7d1dcf2a9146caac0581329acf94806ec69a89a5" datatype="html">\n        <source>Are you sure you want to continue?</source>\n        <target>Continuare?</target>\n      </trans-unit>\n      <trans-unit id="85b79c9064aed1ead31ace985f31aa1363f6bdaf" datatype="html">\n        <source>Help</source>\n        <target>Guida</target>\n      </trans-unit>\n      <trans-unit id="fcfd4675b4c90f08d18d3abede9a9a4dff4cfdc7" datatype="html">\n        <source>Documentation</source>\n        <target>Documentazione</target>\n      </trans-unit>\n      <trans-unit id="e351b40b3869a5c7d19c3d4918cb1ac7aaab95c4" datatype="html">\n        <source>API</source>\n        <target>API</target>\n      </trans-unit>\n      <trans-unit id="004b222ff9ef9dd4771b777950ca1d0e4cd4348a" datatype="html">\n        <source>About</source>\n        <target>Informazioni su</target>\n      </trans-unit>\n      <trans-unit id="1481ecd21e760ac919a24e26cf790acd82e40199" datatype="html">\n        <source>Dashboard Settings</source>\n        <target>Impostazioni del dashboard</target>\n      </trans-unit>\n      <trans-unit id="a79aab4ef674bf3f6532292107c0054302236e0f" datatype="html">\n        <source>User management</source>\n        <target>Gestione utenti</target>\n      </trans-unit>\n      <trans-unit id="049dfd9fe6c78914ad58cf89ac6a631fca28ec74" datatype="html">\n        <source>Logged in user</source>\n        <target>Utente connesso</target>\n      </trans-unit>\n      <trans-unit id="cd38a58e73f306d838e621959d47d5e7a2f06d1f" datatype="html">\n        <source>Signed in as\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ username }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>\n        </source>\n        <target>Signed in as\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ username }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="739516c2ca75843d5aec9cf0e6b3e4335c4227b9" datatype="html">\n        <source>Change password</source>\n        <target>Change password</target>\n      </trans-unit>\n      <trans-unit id="5d22c795daf43877a5f708dca2bccd549eb0471d" datatype="html">\n        <source>Sign out</source>\n        <target>Disconnetti</target>\n      </trans-unit>\n      <trans-unit id="91853167141c37b58868f3b0421383dd72fa8a01" datatype="html">\n        <source>Attributes (OSD map)</source>\n        <target>Attributi (mappa OSD)</target>\n      </trans-unit>\n      <trans-unit id="97842f379e1d4157ac3ab0661b90c352e7cb72d5" datatype="html">\n        <source>Metadata not available</source>\n        <target>Metadati non disponibili</target>\n      </trans-unit>\n      <trans-unit id="f721a500a68c357e8f2a01e60510f6a01e4ba529" datatype="html">\n        <source>Metadata</source>\n        <target>Metadati</target>\n      </trans-unit>\n      <trans-unit id="deba10b7279a589d01e919ea11f43c79ca1773e3" datatype="html">\n        <source>Device health</source>\n        <target>Device health</target>\n      </trans-unit>\n      <trans-unit id="d24e28e19c5703d7c6be44f4eb595a6a43b618ed" datatype="html">\n        <source>Performance counter</source>\n        <target>Contatore delle prestazioni</target>\n      </trans-unit>\n      <trans-unit id="d1f7c81ed9c5034af4abcdf119b1c1e86cd019dd" datatype="html">\n        <source>Histogram not available: \n          <x id="INTERPOLATION" equiv-text="{{ osd.histogram_failed }}"/>\n        </source>\n        <target>Histogram not available: \n          <x id="INTERPOLATION" equiv-text="{{ osd.histogram_failed }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="868abfff914873d1c65df798d8432ed04b8ae2a9" datatype="html">\n        <source>Writes</source>\n        <target>Scritture</target>\n      </trans-unit>\n      <trans-unit id="996ebb9a653b5067f97bf3891ea9d2108e969492" datatype="html">\n        <source>Reads</source>\n        <target>Letture</target>\n      </trans-unit>\n      <trans-unit id="65ac79790aa477a97b1cc579e18a115a8df8918f" datatype="html">\n        <source>Histogram</source>\n        <target>Istogramma</target>\n      </trans-unit>\n      <trans-unit id="3d87fc20ea8e5f0f0500ba5d5061b345be78ec5e" datatype="html">\n        <source>No hostname found.</source>\n        <target>No hostname found.</target>\n      </trans-unit>\n      <trans-unit id="26fb5f81b3581f06b9210defb0e71dc69a67e819" datatype="html">\n        <source>Current values</source>\n        <target>Valori attuali</target>\n      </trans-unit>\n      <trans-unit id="9abcd7c82643d60c22733470463f74e4a54bc069" datatype="html">\n        <source>Min</source>\n        <target>Min</target>\n      </trans-unit>\n      <trans-unit id="c3ced4d162a0a55ee233a187ce7208ba5e922418" datatype="html">\n        <source>Max</source>\n        <target>Max</target>\n      </trans-unit>\n      <trans-unit id="6834fa6b43d1ecbdf147c48dd9c4d72f1484571d" datatype="html">\n        <source>Source</source>\n        <target>Origine</target>\n      </trans-unit>\n      <trans-unit id="a446fb0eb11fbffcac805ece5a2d306d24e733d8" datatype="html">\n        <source>Level</source>\n        <target>Livello</target>\n      </trans-unit>\n      <trans-unit id="39f2fb094e9b2eda13163fa3f3a31594cf9c1307" datatype="html">\n        <source>Can be updated at runtime (editable)</source>\n        <target>Può essere aggiornato al runtime (modificabile)</target>\n      </trans-unit>\n      <trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b" datatype="html">\n        <source>Tags</source>\n        <target>Tag</target>\n      </trans-unit>\n      <trans-unit id="ab0089ef47af61ca1d137bc908b96c290dfd9287" datatype="html">\n        <source>Enum values</source>\n        <target>Valori di enumerazione</target>\n      </trans-unit>\n      <trans-unit id="819476f1264f1659f38e86f6abb542141b184832" datatype="html">\n        <source>See also</source>\n        <target>Vedere anche</target>\n      </trans-unit>\n      <trans-unit id="73caac4265ea7314ff061e5a1d78a6361a6dd3b8" datatype="html">\n        <source>Cluster Status</source>\n        <target>Stato del cluster</target>\n      </trans-unit>\n      <trans-unit id="1d4bc612bbf19aa9553853266b9e92c9d75f4464" datatype="html">\n        <source>Manager Daemons</source>\n        <target>Manager Daemon</target>\n      </trans-unit>\n      <trans-unit id="946ac5dea9921dc09d7b0a63b89535371f283b19" datatype="html">\n        <source>Object Gateways</source>\n        <target>Object Gateway</target>\n      </trans-unit>\n      <trans-unit id="ff03fa5bcf37c4da46ad736c1f7d03f959e8ba9a" datatype="html">\n        <source>Metadata Servers</source>\n        <target>Server di metadati</target>\n      </trans-unit>\n      <trans-unit id="d817609ba4993eba859409ab71e566168f4d5f5a" datatype="html">\n        <source>iSCSI Gateways</source>\n        <target>iSCSI Gateway</target>\n      </trans-unit>\n      <trans-unit id="42c13e50391250ea9379bdf55d5d6c0228c0c8bc" datatype="html">\n        <source>Client IOPS</source>\n        <target>IOPS client</target>\n      </trans-unit>\n      <trans-unit id="52213660b2454d139ada3079a42ec6caf3c3c01e" datatype="html">\n        <source>Client Throughput</source>\n        <target>Velocità effettiva client</target>\n      </trans-unit>\n      <trans-unit id="32efd1c3f70e3c5244239de97a2cc95d98534a14" datatype="html">\n        <source>Client Read/Write</source>\n        <target>Lettura/scrittura client</target>\n      </trans-unit>\n      <trans-unit id="275485415092cbae3a9f3cbb786ebe283cacfdd5" datatype="html">\n        <source>Recovery Throughput</source>\n        <target>Velocità effettiva di recupero</target>\n      </trans-unit>\n      <trans-unit id="6d9a9f55046891733ef71170e7652063765eb542" datatype="html">\n        <source>Scrub</source>\n        <target>Pulitura</target>\n      </trans-unit>\n      <trans-unit id="3cc9c2ae277393b3946b38c088dabff671b1ee1b" datatype="html">\n        <source>Performance</source>\n        <target>Prestazioni</target>\n      </trans-unit>\n      <trans-unit id="88f383269db2d32cccee9e936fe549dccb9fdbf4" datatype="html">\n        <source>Raw Capacity</source>\n        <target>Capacità di base</target>\n      </trans-unit>\n      <trans-unit id="c5f8a813f91a11af99132e4beafc136cfc13d73b" datatype="html">\n        <source>PGs per OSD</source>\n        <target>Gruppi di posizionamento per OSD</target>\n      </trans-unit>\n      <trans-unit id="498a109c6e9e94f1966de01aa0326f7f0ac6fb52" datatype="html">\n        <source>PG Status</source>\n        <target>Stato gruppo di posizionamento</target>\n      </trans-unit>\n      <trans-unit id="ce9dfdc6dccb28dc75a78c704e09dc18fb02dcfa" datatype="html">\n        <source>Capacity</source>\n        <target>Capacità</target>\n      </trans-unit>\n      <trans-unit id="44ecac93d67c6a671198091c2270354f80322327" datatype="html">\n        <source>\n          <x id="START_ITALIC_TEXT" ctype="x-i" equiv-text="<i>"/>\n          <x id="CLOSE_ITALIC_TEXT" ctype="x-i" equiv-text="</i>"/> See \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Logs\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more details.\n        </source>\n        <target>\n          <x id="START_ITALIC_TEXT" ctype="x-i" equiv-text="<i>"/>\n          <x id="CLOSE_ITALIC_TEXT" ctype="x-i" equiv-text="</i>"/> See \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Logs\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more details.\n        </target>\n      </trans-unit>\n      <trans-unit id="0c1e17956453ad772dbe82d6946f62748c692f3e" datatype="html">\n        <source>Ranks</source>\n        <target>Classificazioni</target>\n      </trans-unit>\n      <trans-unit id="2b24e0b0b1629d2e8a51b9da7c75d6e6379f4bc4" datatype="html">\n        <source>Standbys</source>\n        <target>Standbys</target>\n      </trans-unit>\n      <trans-unit id="50df62325726db950523a5be1c78b8905fcc25d4" datatype="html">\n        <source>MDS performance counters</source>\n        <target>MDS performance counters</target>\n      </trans-unit>\n      <trans-unit id="6e213942c6354b9cbe7a650f0f1499bfc1000fb6" datatype="html">\n        <source>Directories</source>\n        <target>Directories</target>\n      </trans-unit>\n      <trans-unit id="47116253e36f4e38a97ba41b2d3122c6c15ab904" datatype="html">\n        <source>Clients (\n          <x id="INTERPOLATION" equiv-text="{{ clients.length }}"/>)\n        </source>\n        <target>Clients (\n          <x id="INTERPOLATION" equiv-text="{{ clients.length }}"/>)\n        </target>\n      </trans-unit>\n      <trans-unit id="bd5a3b1c5a3c185c7bbb0e09a061d4cdc88ce5ad" datatype="html">\n        <source>Current</source>\n        <target>Attuale</target>\n      </trans-unit>\n      <trans-unit id="e5e7d62e942083a59b0b31f54e17cd7958186052" datatype="html">\n        <source>Updated discovery authentication</source>\n        <target>Autenticazione rilevazione aggiornata</target>\n      </trans-unit>\n      <trans-unit id="dd4ab758afd5fd5a6c6a25b2b30ff99d0c00e9ad" datatype="html">\n        <source>There are no portals available.</source>\n        <target>Non sono disponibili pool.</target>\n      </trans-unit>\n      <trans-unit id="83021e45778a4a230a14ca0c6d6ccdf05500ad93" datatype="html">\n        <source>There are no images available.</source>\n        <target>Non sono disponibili immagini.</target>\n      </trans-unit>\n      <trans-unit id="86684eb21f8a768e1dbc659e3d5da6861db544a0" datatype="html">\n        <source>There are no images available. Please make sure you add an image to the target.</source>\n        <target>Non sono disponibili immagini. Assicurarsi di aggiungere un\'immagine alla destinazione.</target>\n      </trans-unit>\n      <trans-unit id="fffda6e440078f57eba93944ce051c593cc6ed7f" datatype="html">\n        <source>There are no initiators available. Please make sure you add an initiator to the target.</source>\n        <target>Non sono disponibili iniziatori. Assicurarsi di aggiungere un iniziatore alla destinazione.</target>\n      </trans-unit>\n      <trans-unit id="cea3c6fe490385eef1584cbc4983fda7ece24bb6" datatype="html">\n        <source>target</source>\n        <target>target</target>\n      </trans-unit>\n      <trans-unit id="38baeb215c17af9d9e295e371a57f4a48ab4c191" datatype="html">\n        <source>Target</source>\n        <target>Destinazione</target>\n      </trans-unit>\n      <trans-unit id="99e094878070eebc1b972bac02aaa33b2bf83b35" datatype="html">\n        <source># Sessions</source>\n        <target># Sessions</target>\n      </trans-unit>\n      <trans-unit id="2ea10b3668e04e057ba96ddcaf4c9b77089008ae" datatype="html">\n        <source>Unavailable gateway(s)</source>\n        <target>Unavailable gateway(s)</target>\n      </trans-unit>\n      <trans-unit id="c49e0dd71d551bd4928d967d78f0721dbf9f95e3" datatype="html">\n        <source>Target has active sessions</source>\n        <target>Target has active sessions</target>\n      </trans-unit>\n      <trans-unit id="a87acd72dfb68b45175270695209550a85adf50c" datatype="html">\n        <source>iSCSI target</source>\n        <target>iSCSI target</target>\n      </trans-unit>\n      <trans-unit id="873b72903b1858a9cd6c8967521030b4d7d1435b" datatype="html">\n        <source>State</source>\n        <target>Stato</target>\n      </trans-unit>\n      <trans-unit id="02b75464c0dc0cf49ea0208211b6fbcad3bf728a" datatype="html">\n        <source># Targets</source>\n        <target># Targets</target>\n      </trans-unit>\n      <trans-unit id="13415637c325ceefee29111b31cb48701490adf7" datatype="html">\n        <source>Read Bytes</source>\n        <target>Byte letti</target>\n      </trans-unit>\n      <trans-unit id="e2ed82b7bbf4a006e60e6208c597b05d5b5556e9" datatype="html">\n        <source>Write Bytes</source>\n        <target>Byte scritti</target>\n      </trans-unit>\n      <trans-unit id="6a32a5f58845ca840185ea9564682094e77a1d80" datatype="html">\n        <source>Read Ops</source>\n        <target>Operazioni di lettura</target>\n      </trans-unit>\n      <trans-unit id="7c36cb8032af123d3550ffab2e1fa1e957c87fae" datatype="html">\n        <source>Write Ops</source>\n        <target>Operazioni di scrittura</target>\n      </trans-unit>\n      <trans-unit id="458c33846a8c7e2feb9404bcf06723784e756cdc" datatype="html">\n        <source>A/O Since</source>\n        <target>A/O da</target>\n      </trans-unit>\n      <trans-unit id="ff78f059449d44322f627d0f66df07abe476962b" datatype="html">\n        <source>Instance</source>\n        <target>Istanza</target>\n      </trans-unit>\n      <trans-unit id="36fad7995cadfb3a6f0d43ef2db280146b3ca022" datatype="html">\n        <source>Issue</source>\n        <target>Problema</target>\n      </trans-unit>\n      <trans-unit id="15793f4cbc261bedbc60f7105533dde536a3f42b" datatype="html">\n        <source>Progress</source>\n        <target>Avanzamento</target>\n      </trans-unit>\n      <trans-unit id="25b725dba712a7a020fd34a72297befae975a492" datatype="html">\n        <source>Edit Site Name</source>\n        <target>Edit Site Name</target>\n      </trans-unit>\n      <trans-unit id="8c375764db42f5d736fb56d01b8052c006ccc8e2" datatype="html">\n        <source>Edit Mode</source>\n        <target>Modalità di modifica</target>\n      </trans-unit>\n      <trans-unit id="45932f2a0ea524b3425f4320ee46a6d1c68977bc" datatype="html">\n        <source>Add Peer</source>\n        <target>Aggiungi peer</target>\n      </trans-unit>\n      <trans-unit id="d3dc34662e3cda0dad646221651cebd26f731485" datatype="html">\n        <source>Edit Peer</source>\n        <target>Modifica peer</target>\n      </trans-unit>\n      <trans-unit id="e8a0ec0b6ee72db0f27c186e09640d1ed41964bd" datatype="html">\n        <source>Delete Peer</source>\n        <target>Elimina peer</target>\n      </trans-unit>\n      <trans-unit id="314de06d6f64d39149e78e6d796585c0246fec0b" datatype="html">\n        <source>Leader</source>\n        <target>Sequenza iniziale</target>\n      </trans-unit>\n      <trans-unit id="7acaab450312114059ced9e3737798ee9aa738b1" datatype="html">\n        <source># Local</source>\n        <target># Locale</target>\n      </trans-unit>\n      <trans-unit id="7a3ffd88868135c44be3994263bb8e49d8358884" datatype="html">\n        <source># Remote</source>\n        <target># Remoto</target>\n      </trans-unit>\n      <trans-unit id="85ca0fd6a6ddd211023c70a25753122c5b978787" datatype="html">\n        <source>mirror peer</source>\n        <target>peer copia speculare</target>\n      </trans-unit>\n      <trans-unit id="a6493c6ca346cd052da40423eda9c132de2b2002" datatype="html">\n        <source>Key</source>\n        <target>Chiave</target>\n      </trans-unit>\n      <trans-unit id="e9cac80fb5d9de66f0006d0bec530fd1fc69a674" datatype="html">\n        <source>RBD</source>\n        <target>RBD</target>\n      </trans-unit>\n      <trans-unit id="4130b1a836f2000cfe9a11fb62493dc42d444de7" datatype="html">\n        <source>Deep flatten</source>\n        <target>Appiattimento profondo</target>\n      </trans-unit>\n      <trans-unit id="7b17694d7cb8ecb7c8440bc999dac21b44455b33" datatype="html">\n        <source>Layering</source>\n        <target>Su strati</target>\n      </trans-unit>\n      <trans-unit id="6a072ce577c2079d0e0c31071a16824f6d22b84d" datatype="html">\n        <source>Exclusive lock</source>\n        <target>Blocco esclusivo</target>\n      </trans-unit>\n      <trans-unit id="7354f01320bf936a7f85577c9f71402635c3a362" datatype="html">\n        <source>Object map (requires exclusive-lock)</source>\n        <target>Mappa oggetti (richiede il blocco escluso)</target>\n      </trans-unit>\n      <trans-unit id="fb7e625c1152f1c102cd16460955d124edff1770" datatype="html">\n        <source>Journaling (requires exclusive-lock)</source>\n        <target>Journaling (richiede il blocco esclusivo)</target>\n      </trans-unit>\n      <trans-unit id="df4044632bfc211dd96544fc8f007dabbeeb506c" datatype="html">\n        <source>Fast diff (interlocked with object-map)</source>\n        <target>Fast diff (interlocked with object-map)</target>\n      </trans-unit>\n      <trans-unit id="130fd872c78271a8f86b1ab16a76e823969c47d9" datatype="html">\n        <source>Namespace</source>\n        <target>Namespace</target>\n      </trans-unit>\n      <trans-unit id="14abc99daed542774633046c53b6ce8251331141" datatype="html">\n        <source>This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.</source>\n        <target>This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.</target>\n      </trans-unit>\n      <trans-unit id="51699f716cf34e6622ff7bfd84641480c045271a" datatype="html">\n        <source>Created namespace \'\n          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>\'\n        </source>\n        <target>Created namespace \'\n          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="bf44b7d6379ce0198ed3d95a27642a224181bf1d" datatype="html">\n        <source>Total images</source>\n        <target>Total images</target>\n      </trans-unit>\n      <trans-unit id="371ce3ffe62548d15e391a248bc554d903bb03fc" datatype="html">\n        <source>Deleted namespace \'\n          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>\'\n        </source>\n        <target>Deleted namespace \'\n          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="9d704fd00ca929f90c3119cefc581821ae58a73e" datatype="html">\n        <source>Namespace contains images</source>\n        <target>Namespace contains images</target>\n      </trans-unit>\n      <trans-unit id="c2017dc94b4f57a347ccb126e546e88942f4d7a6" datatype="html">\n        <source>RBD Snapshot</source>\n        <target>RBD Snapshot</target>\n      </trans-unit>\n      <trans-unit id="631fc50ec7c9bd81dc797a3c7e09eda1178ad999" datatype="html">\n        <source>Parent image must support Layering</source>\n        <target>Parent image must support Layering</target>\n      </trans-unit>\n      <trans-unit id="cb60c1cd3655234756b5b92d4d597d92d520ee30" datatype="html">\n        <source>PROTECTED</source>\n        <target>PROTECTED</target>\n      </trans-unit>\n      <trans-unit id="deffb86b8fb0541254ad5a43862d82bff6b6a6c4" datatype="html">\n        <source>UNPROTECTED</source>\n        <target>NON PROTETTO</target>\n      </trans-unit>\n      <trans-unit id="7eb984588f4835f6d0187b33769b4b0f62821640" datatype="html">\n        <source>RBD snapshot rollback</source>\n        <target>Rollback snapshot RBD</target>\n      </trans-unit>\n      <trans-unit id="4be22bf20ef82614ed53bcd3b912a85590aa71c9" datatype="html">\n        <source>Rollback</source>\n        <target>Esegui rollback</target>\n      </trans-unit>\n      <trans-unit id="2a04c483708d261751d62082d6f03a50d4577b1e" datatype="html">\n        <source>RBD snapshot</source>\n        <target>Snapshot RBD</target>\n      </trans-unit>\n      <trans-unit id="fa96769d1ea86741297cb9b9769b0dcfde58c8b4" datatype="html">\n        <source>Deleted At</source>\n        <target>Eliminato alle</target>\n      </trans-unit>\n      <trans-unit id="e928864038ca70ee7d67bbf1fd71a01c3938a127" datatype="html">\n        <source>id</source>\n        <target>ID</target>\n      </trans-unit>\n      <trans-unit id="240c9c1e96dc38814922a83ad041dc815b084f32" datatype="html">\n        <source>type</source>\n        <target>tipo</target>\n      </trans-unit>\n      <trans-unit id="c9d7ec7ee5b4e282f2228fa996651ec4ef5195a9" datatype="html">\n        <source>state</source>\n        <target>stato</target>\n      </trans-unit>\n      <trans-unit id="5780e5c3b4fc2ae07836bb5221cec4f8d597630d" datatype="html">\n        <source>version</source>\n        <target>versione</target>\n      </trans-unit>\n      <trans-unit id="fe22ca53e651df951dac25b67c17894b0980f767" datatype="html">\n        <source>Host</source>\n        <target>Host</target>\n      </trans-unit>\n      <trans-unit id="fb69299354312c8954ecf324997ccafcd9f6b14b" datatype="html">\n        <source>root</source>\n        <target>root</target>\n      </trans-unit>\n      <trans-unit id="d34feb369d308075b423d5c5fc431f9766bf7a11" datatype="html">\n        <source>Evicted client "\n          <x id="INTERPOLATION" equiv-text="{{clientId}}"/>"\n        </source>\n        <target>Evicted client "\n          <x id="INTERPOLATION" equiv-text="{{clientId}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="7db875ff4cc626d394f37fba95c075b2e4bfeb00" datatype="html">\n        <source>Standby daemons</source>\n        <target>Daemon in standby</target>\n      </trans-unit>\n      <trans-unit id="3c3a423d91e36ac6624e909fcd2669a25685f847" datatype="html">\n        <source>Rank</source>\n        <target>Classificazione</target>\n      </trans-unit>\n      <trans-unit id="9596ecae8956e96921acef47aec787f6bdc37454" datatype="html">\n        <source>Daemon</source>\n        <target>Daemon</target>\n      </trans-unit>\n      <trans-unit id="f2005fa461c06dc2e04d8918bbabedf23604b5b7" datatype="html">\n        <source>Activity</source>\n        <target>Task</target>\n      </trans-unit>\n      <trans-unit id="e3a986984ae0c3b43af648c3fa638649d1c00348" datatype="html">\n        <source>Dentries</source>\n        <target>Dentry</target>\n      </trans-unit>\n      <trans-unit id="7c692ab865066967d73c6d64ec0691cc6ce91b93" datatype="html">\n        <source>Inodes</source>\n        <target>Inode</target>\n      </trans-unit>\n      <trans-unit id="45f210b96a2a6e91f52f153a4f8dc30662629f8e" datatype="html">\n        <source>Usage</source>\n        <target>Utilizzo</target>\n      </trans-unit>\n      <trans-unit id="950b5f04a2efd3f11c0f76418d5a4212381e792e" datatype="html">\n        <source>Origin</source>\n        <target>Origin</target>\n      </trans-unit>\n      <trans-unit id="2ea2ec95d93fd55d0db6e9d2b95b25e153d4cec2" datatype="html">\n        <source>Max size</source>\n        <target>Max size</target>\n      </trans-unit>\n      <trans-unit id="665dced3a61bca44924a0bde4be47390225a4898" datatype="html">\n        <source>Max files</source>\n        <target>Max files</target>\n      </trans-unit>\n      <trans-unit id="0ccf776baac60794b142526986f3af85848c7059" datatype="html">\n        <source>The inherited \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/> is the maximum value to be used.\n        </source>\n        <target>The inherited \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/> is the maximum value to be used.\n        </target>\n      </trans-unit>\n      <trans-unit id="b0e2ef28384f2de6674cac300c779f900929a89b" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{action}}"/> CephFS \n          <x id="INTERPOLATION_1" equiv-text="{{quotaName}}"/> quota for \'\n          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>\'\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{action}}"/> CephFS \n          <x id="INTERPOLATION_1" equiv-text="{{quotaName}}"/> quota for \'\n          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="542ef638499635dec7641bdc2e499258094187cc" datatype="html">\n        <source>size</source>\n        <target>size</target>\n      </trans-unit>\n      <trans-unit id="ce90ff00c341d8eef96b0e7956bb85b8faba3839" datatype="html">\n        <source>files</source>\n        <target>files</target>\n      </trans-unit>\n      <trans-unit id="fbe8b9340c08c24aef62ffe81c83e2b46a4f1495" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{quotaName}}"/> quota \n          <x id="INTERPOLATION_1" equiv-text="{{value}}"/> from \'\n          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>\'\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{quotaName}}"/> quota \n          <x id="INTERPOLATION_1" equiv-text="{{value}}"/> from \'\n          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="37c2c0a4a356465eef2edfb09ffffc6db5259975" datatype="html">\n        <source>Value has to be at least \n          <x id="INTERPOLATION" equiv-text="{{value}}"/> or more\n        </source>\n        <target>Value has to be at least \n          <x id="INTERPOLATION" equiv-text="{{value}}"/> or more\n        </target>\n      </trans-unit>\n      <trans-unit id="73f8e64703a707e2cf98b9a10653cd3bbdd8cab1" datatype="html">\n        <source>Value has to be at most \n          <x id="INTERPOLATION" equiv-text="{{value}}"/> or less\n        </source>\n        <target>Value has to be at most \n          <x id="INTERPOLATION" equiv-text="{{value}}"/> or less\n        </target>\n      </trans-unit>\n      <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc" datatype="html">\n        <source>Updated</source>\n        <target>Aggiornato</target>\n      </trans-unit>\n      <trans-unit id="b6a4cf4f302c7fcbec199ce0df42b8282d682b04" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{action}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{quotaValue}}"/>\n          <x id="INTERPOLATION_2" equiv-text="{{conclusion}}"/>.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{action}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{quotaValue}}"/>\n          <x id="INTERPOLATION_2" equiv-text="{{conclusion}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="a40024afb071f68fec949094a71f832d5611bca5" datatype="html">\n        <source>in order to inherit \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>\n        </source>\n        <target>in order to inherit \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="c108ff588291e9c040adea2adf35e7236cf29925" datatype="html">\n        <source>which isn\'t used because of the inheritance of \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>\n        </source>\n        <target>which isn\'t used because of the inheritance of \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="d3785a64d1c72b03b2212855ce695b45ed0342d2" datatype="html">\n        <source>in order to have no quota on the directory</source>\n        <target>in order to have no quota on the directory</target>\n      </trans-unit>\n      <trans-unit id="c4d3a3446a7f36825291c5e76c4a6b7919f9bd2f" datatype="html">\n        <source>Create Snapshot</source>\n        <target>Create Snapshot</target>\n      </trans-unit>\n      <trans-unit id="e9af734e231b837d64df21008e2eb1fdff566a61" datatype="html">\n        <source>Please enter the name of the snapshot.</source>\n        <target>Please enter the name of the snapshot.</target>\n      </trans-unit>\n      <trans-unit id="8c4d3039e6a953b0d6f1b1313ffa60c5d2b35dc7" datatype="html">\n        <source>Created snapshot "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "\n          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"\n        </source>\n        <target>Created snapshot "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "\n          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="126ad894f74ee9a999825f3f4ac5a31fdfc093bf" datatype="html">\n        <source>CephFs Snapshot</source>\n        <target>CephFs Snapshot</target>\n      </trans-unit>\n      <trans-unit id="1e4d1c0865adc485260740c42ac5af68ce8feb13" datatype="html">\n        <source>Deleted snapshot "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "\n          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"\n        </source>\n        <target>Deleted snapshot "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "\n          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="22e4e574b7f8abf58254f328792445b42e2a924a" datatype="html">\n        <source>The value can be updated at runtime.</source>\n        <target>È possibile aggiornare il valore al runtime.</target>\n      </trans-unit>\n      <trans-unit id="d7770de7b2343c9deeaa7ebf37ba3e35ca5c5988" datatype="html">\n        <source>Daemons/clients do not pull this value from the\n      monitor config database. We disallow setting this option via \'ceph config\n      set ...\'. This option should be configured via ceph.conf or via the\n      command line.</source>\n        <target>I daemon/client non estraggono questo valore dal\n      database della configurazione di monitoraggio. Non è consentito impostare questa opzione tramite \'ceph config\n      set ...\'. È necessario configurare questa opzione tramite ceph.conf o dalla\n      riga di comando.</target>\n      </trans-unit>\n      <trans-unit id="83f11fd1dc503c37931ea6c1c5c1e8c2b4b597b6" datatype="html">\n        <source>Option takes effect only during daemon startup.</source>\n        <target>L\'opzione diventa attiva solo all\'avvio del daemon.</target>\n      </trans-unit>\n      <trans-unit id="837a07cd6a971038b8b1aa190c43440c9fdb5d8b" datatype="html">\n        <source>Option only affects cluster creation.</source>\n        <target>L\'opzione interessa solo la creazione del cluster.</target>\n      </trans-unit>\n      <trans-unit id="2566a88eb247c918b71cfe5b354c31de0d4b01e5" datatype="html">\n        <source>Option only affects daemon creation.</source>\n        <target>L\'opzione interessa solo la creazione del daemon.</target>\n      </trans-unit>\n      <trans-unit id="1cdc60cfc09c257625768f3d2082816cdef27279" datatype="html">\n        <source>Updated config option \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\n        </source>\n        <target>Updated config option \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="d473e0f684a60db45d6f31e993f693f74290e056" datatype="html">\n        <source>Service</source>\n        <target>Servizio</target>\n      </trans-unit>\n      <trans-unit id="6986e0df8092d822ac2c076520d83994c78834fc" datatype="html">\n        <source>Modified</source>\n        <target>Modified</target>\n      </trans-unit>\n      <trans-unit id="9951bb3983c7dba6fde013e05c922e4fe1a44367" datatype="html">\n        <source>Current value</source>\n        <target>Valore attuale</target>\n      </trans-unit>\n      <trans-unit id="4a01c175f90dd92b432f4a4a199d2c7bb9d997ff" datatype="html">\n        <source>Editable</source>\n        <target>Modificabile</target>\n      </trans-unit>\n      <trans-unit id="261c0af854e8684abc15f89dce6efb3e72344b18" datatype="html">\n        <source>host</source>\n        <target>host</target>\n      </trans-unit>\n      <trans-unit id="b1b381321d4cef04605d3e6e8847ea2b72a03799" datatype="html">\n        <source>Identify</source>\n        <target>Identify</target>\n      </trans-unit>\n      <trans-unit id="a5d5e407f8c4e1b152509c966c90f37edf68472e" datatype="html">\n        <source>Device path</source>\n        <target>Device path</target>\n      </trans-unit>\n      <trans-unit id="b7da3e3505cc80f9bf3cffc8444c53e8a9ec70a5" datatype="html">\n        <source>Available</source>\n        <target>Available</target>\n      </trans-unit>\n      <trans-unit id="396974120fc614fc930a27c8d15a094d82a3a9e4" datatype="html">\n        <source>Vendor</source>\n        <target>Vendor</target>\n      </trans-unit>\n      <trans-unit id="6ec98fa3d6504ba1fd03465194b53706c8263c99" datatype="html">\n        <source>Model</source>\n        <target>Model</target>\n      </trans-unit>\n      <trans-unit id="f2d785f5658c96c6a2f505cdd625108bcece84c3" datatype="html">\n        <source>Identify device \n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\n        </source>\n        <target>Identify device \n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="c97ab45ca09248f8f1ba60328175741657fe39ce" datatype="html">\n        <source>Please enter the duration how long to blink the LED.</source>\n        <target>Please enter the duration how long to blink the LED.</target>\n      </trans-unit>\n      <trans-unit id="87e56ee5057023d7e8b59420b838bad112b043bc" datatype="html">\n        <source>1 minute</source>\n        <target>1 minute</target>\n      </trans-unit>\n      <trans-unit id="affa3b3bf1f36531e5ae65291f8a7cd1b06860ee" datatype="html">\n        <source>2 minutes</source>\n        <target>2 minutes</target>\n      </trans-unit>\n      <trans-unit id="878c6645b7fc26d85c7aee17a9d8c282a938dcf3" datatype="html">\n        <source>5 minutes</source>\n        <target>5 minutes</target>\n      </trans-unit>\n      <trans-unit id="aa0a76140961594b7176ade241e5025a7dbb5dce" datatype="html">\n        <source>10 minutes</source>\n        <target>10 minutes</target>\n      </trans-unit>\n      <trans-unit id="0a7f83a1f27750ef634a1f1f97263fac36113b1f" datatype="html">\n        <source>15 minutes</source>\n        <target>15 minutes</target>\n      </trans-unit>\n      <trans-unit id="699b690d686dbb8e00a1e95b89ba2fffb548da6e" datatype="html">\n        <source>Execute</source>\n        <target>Execute</target>\n      </trans-unit>\n      <trans-unit id="aa975a86dd49979a3ae90b9f3fc5b2c97311d422" datatype="html">\n        <source>Identifying \'\n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\' started on host \'\n          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>\'\n        </source>\n        <target>Identifying \'\n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\' started on host \'\n          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="1a6e6ad05508130b7a99ce5b15daf3227c2a930c" datatype="html">\n        <source>Updated options for module "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>".\n        </source>\n        <target>Updated options for module "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="6bd47ff8707aa2e6a94a4a6e2566b86dc7956d5f" datatype="html">\n        <source>Always-On</source>\n        <target>Always-On</target>\n      </trans-unit>\n      <trans-unit id="ac6c9212896d39b23811ed2dadab7d07336ec559" datatype="html">\n        <source>Enable</source>\n        <target>Abilita</target>\n      </trans-unit>\n      <trans-unit id="6766a926d80bb7763785621098dae459d6226429" datatype="html">\n        <source>Disable</source>\n        <target>Disabilita</target>\n      </trans-unit>\n      <trans-unit id="340f2f312c2eb353e5cd69aee6bee7f5a73c34ac" datatype="html">\n        <source>This Manager module is always on.</source>\n        <target>This Manager module is always on.</target>\n      </trans-unit>\n      <trans-unit id="6a0b3657745dd7a2f2162f1cc790bf9004d0845d" datatype="html">\n        <source>Reconnecting, please wait ...</source>\n        <target>Riconnessione in corso. Attendere.</target>\n      </trans-unit>\n      <trans-unit id="7099a8878af7a0a26fe5663c4f46cfe87142b75d" datatype="html">\n        <source>Public Address</source>\n        <target>Indirizzo pubblico</target>\n      </trans-unit>\n      <trans-unit id="cbdd1cdc0c7a87f55dd177bc44212f0fc4b80852" datatype="html">\n        <source>Open Sessions</source>\n        <target>Sessioni aperte</target>\n      </trans-unit>\n      <trans-unit id="34c6f45591d420b1101dcee53999d1de91c0e400" datatype="html">\n        <source>No available devices</source>\n        <target>No available devices</target>\n      </trans-unit>\n      <trans-unit id="dcfe8807a2a1d0d7074a02afe9b80645bd03b9ab" datatype="html">\n        <source>Please add primary devices first</source>\n        <target>Please add primary devices first</target>\n      </trans-unit>\n      <trans-unit id="05d024719e53f85f7f294b7e21dfd805709a0b06" datatype="html">\n        <source>Add devices by using filters</source>\n        <target>Add devices by using filters</target>\n      </trans-unit>\n      <trans-unit id="37e58d1cbdf8212b380efa51422e42821d4f08e6" datatype="html">\n        <source>No In</source>\n        <target>Nessuno in entrata</target>\n      </trans-unit>\n      <trans-unit id="12706eb5af17ff5ad77b3de21af368d24678e00b" datatype="html">\n        <source>OSDs that were previously marked out will not be marked back in when they start</source>\n        <target>Gli OSD che sono stati contrassegnati come disattivi in precedenza non verranno contrassegnati nuovamente come attivi all\'avvio</target>\n      </trans-unit>\n      <trans-unit id="96114d7624d11dc90ca46cfa96145fe22118df76" datatype="html">\n        <source>No Out</source>\n        <target>Nessuno in uscita</target>\n      </trans-unit>\n      <trans-unit id="a2ef636fe1ddd56b63e4aaf3d292f33dbf735ef3" datatype="html">\n        <source>OSDs will not automatically be marked out after the configured interval</source>\n        <target>Gli OSD non verranno disattivati automaticamente dopo l\'intervallo configurato</target>\n      </trans-unit>\n      <trans-unit id="ee50aefa9b8bde1e5429b48709a23abfe08358e0" datatype="html">\n        <source>No Up</source>\n        <target>Nessuno attivo</target>\n      </trans-unit>\n      <trans-unit id="608929b939307e397586a98cea52ae38997c7273" datatype="html">\n        <source>OSDs are not allowed to start</source>\n        <target>Non è consentito l\'avvio degli OSD</target>\n      </trans-unit>\n      <trans-unit id="1751ab69c1e7f62927afedbf7116e0116316c551" datatype="html">\n        <source>No Down</source>\n        <target>Nessuno disattivo</target>\n      </trans-unit>\n      <trans-unit id="41fac86dfb65c1db690f3e87f6497cb73b281084" datatype="html">\n        <source>OSD failure reports are being ignored, such that the monitors will not mark OSDs down</source>\n        <target>I rapporti di errore degli OSD vengono ignorati in modo che i monitor non disattivino gli OSD</target>\n      </trans-unit>\n      <trans-unit id="b2838c6165a9672a17db188f4dd9676574353dd8" datatype="html">\n        <source>Pause</source>\n        <target>Sospendi</target>\n      </trans-unit>\n      <trans-unit id="191d71dadcc8790573d46706a0b48211de4b8334" datatype="html">\n        <source>Pauses reads and writes</source>\n        <target>Sospende le operazioni di lettura e scrittura</target>\n      </trans-unit>\n      <trans-unit id="471d5ba75836f38c19992cf83d8822632d99e473" datatype="html">\n        <source>No Scrub</source>\n        <target>Nessuna pulitura</target>\n      </trans-unit>\n      <trans-unit id="5b8caa61814121bc36dac0c34a9e9de3cae74990" datatype="html">\n        <source>Scrubbing is disabled</source>\n        <target>Pulitura disabilitata</target>\n      </trans-unit>\n      <trans-unit id="7f29a0ac1c797bdc0347dd5d0734ba83e96e7ce6" datatype="html">\n        <source>No Deep Scrub</source>\n        <target>Nessun pulitura approfondita</target>\n      </trans-unit>\n      <trans-unit id="01da61ab216541a8d31259cebd16b10c7e5fc124" datatype="html">\n        <source>Deep Scrubbing is disabled</source>\n        <target>Pulitura approfondita disabilitata</target>\n      </trans-unit>\n      <trans-unit id="0b86c7f18ac725de62c7e192dcfccd02c0dc40ab" datatype="html">\n        <source>No Backfill</source>\n        <target>Nessuna operazione di recupero</target>\n      </trans-unit>\n      <trans-unit id="bd33a2bdc8fbed3b7469f3717c16d9aaa2851fdd" datatype="html">\n        <source>Backfilling of PGs is suspended</source>\n        <target>Recupero dei gruppi di posizionamento sospeso</target>\n      </trans-unit>\n      <trans-unit id="df526de2b93c4099a30c200ef551608e39ee5256" datatype="html">\n        <source>No Rebalance</source>\n        <target>No Rebalance</target>\n      </trans-unit>\n      <trans-unit id="c5b70346245f8d52b58e5e7fe222ce82f12429ce" datatype="html">\n        <source>OSD will choose not to backfill unless PG is also degraded</source>\n        <target>OSD will choose not to backfill unless PG is also degraded</target>\n      </trans-unit>\n      <trans-unit id="7fbbd036394cfa623add40299757bc87df8eaa7e" datatype="html">\n        <source>No Recover</source>\n        <target>Nessun recupero</target>\n      </trans-unit>\n      <trans-unit id="f3ee9b451a64dca47299c9b4ae1091c2008068ad" datatype="html">\n        <source>Recovery of PGs is suspended</source>\n        <target>Recupero dei gruppi di posizionamento sospeso</target>\n      </trans-unit>\n      <trans-unit id="de904148fe7e8d812218f50333ffe247900617c5" datatype="html">\n        <source>Bitwise Sort</source>\n        <target>Ordinamento bitwise</target>\n      </trans-unit>\n      <trans-unit id="2613c9fde29785bcd75f0abeccb653d14d7527b3" datatype="html">\n        <source>Use bitwise sort</source>\n        <target>Usa ordinamento bitwise</target>\n      </trans-unit>\n      <trans-unit id="2fe10d84250aeee365db244251d40934c70ff1e9" datatype="html">\n        <source>Purged Snapdirs</source>\n        <target>Snapdir eliminate definitivamente</target>\n      </trans-unit>\n      <trans-unit id="6b22a5b780eda3c5d500cdac9c6d4f96978c38f1" datatype="html">\n        <source>OSDs have converted snapsets</source>\n        <target>Gli OSD contengono set di snap convertiti</target>\n      </trans-unit>\n      <trans-unit id="c42f0ba60564dc5b977a8c7f3fdcde9efbb39c60" datatype="html">\n        <source>Recovery Deletes</source>\n        <target>Eliminazioni recuperi</target>\n      </trans-unit>\n      <trans-unit id="72fe39979198ea2ed6db6274b5029025cb316d90" datatype="html">\n        <source>Deletes performed during recovery instead of peering</source>\n        <target>Eliminazioni eseguite durante il recupero invece del peering</target>\n      </trans-unit>\n      <trans-unit id="1bb4a1f9127cefe624c173557a716d0ebb6d647c" datatype="html">\n        <source>PG Log Hard Limit</source>\n        <target>Limite rigido log gruppo di posizionamento</target>\n      </trans-unit>\n      <trans-unit id="e03c0321397fdf7a9c22e8d6b5015424943c0a57" datatype="html">\n        <source>Puts a hard limit on pg log length</source>\n        <target>Inserisce un limite rigido alla lunghezza del log del gruppo di posizionamento</target>\n      </trans-unit>\n      <trans-unit id="3c384e2e80c6b5eb24861fbf4225b69486cff4a3" datatype="html">\n        <source>Updated OSD Flags</source>\n        <target>Flag OSD aggiornati</target>\n      </trans-unit>\n      <trans-unit id="948758e1412bb2ecdb98e3a4f1cbb6d7458456f2" datatype="html">\n        <source>Encryption</source>\n        <target>Encryption</target>\n      </trans-unit>\n      <trans-unit id="c8b1475105463088593de1022ff6dceb523eae0e" datatype="html">\n        <source>OSD</source>\n        <target>OSD</target>\n      </trans-unit>\n      <trans-unit id="688578fcc739d6f0c5fb6c366dbb19d21c6d9e36" datatype="html">\n        <source>out</source>\n        <target>esterno</target>\n      </trans-unit>\n      <trans-unit id="cb0f69bdd4dea41d7d45c74b6e07f98de8a2ab26" datatype="html">\n        <source>in</source>\n        <target>interno</target>\n      </trans-unit>\n      <trans-unit id="b5fbc7c7f007dd53b2318525bb7ff8b0376c9e37" datatype="html">\n        <source>down</source>\n        <target>in basso</target>\n      </trans-unit>\n      <trans-unit id="b58719bcb9184e1a7884d00d22d10899d59bf295" datatype="html">\n        <source>Mark</source>\n        <target>Contrassegna</target>\n      </trans-unit>\n      <trans-unit id="31a1c1aa03f1e5084750bedb4e3fdc04ce2cb6ca" datatype="html">\n        <source>OSD lost</source>\n        <target>OSD perso</target>\n      </trans-unit>\n      <trans-unit id="f3fc4c85c5b8f1dedea0496b72d0af9da7b9e0d9" datatype="html">\n        <source>marked lost</source>\n        <target>contrassegnato come perso</target>\n      </trans-unit>\n      <trans-unit id="40fedc157ad899a18ec40573f770d18b040959d2" datatype="html">\n        <source>Purge</source>\n        <target>Elimina definitivamente</target>\n      </trans-unit>\n      <trans-unit id="4f3cff08c7033b63bbccfe66006b1bcaea48ddd8" datatype="html">\n        <source>purged</source>\n        <target>eliminato definitivamente</target>\n      </trans-unit>\n      <trans-unit id="8e5d1b01eca6dce26a4751f0b19bda7a6ab8db5b" datatype="html">\n        <source>destroy</source>\n        <target>elimina definitivamente</target>\n      </trans-unit>\n      <trans-unit id="495a06b78bf165a7b545fa002137f0846b094a3d" datatype="html">\n        <source>destroyed</source>\n        <target>eliminato definitivamente</target>\n      </trans-unit>\n      <trans-unit id="70ef158c584bafe788e319a0bffa11b02ee9abf1" datatype="html">\n        <source>delete</source>\n        <target>elimina</target>\n      </trans-unit>\n      <trans-unit id="a5b387f5a15b95e339df10fc23526c659a2b6c6f" datatype="html">\n        <source>deleted</source>\n        <target>deleted</target>\n      </trans-unit>\n      <trans-unit id="107614b994f2b01abdc1ca179bf780b0cd933ec4" datatype="html">\n        <source>Recovery Priority</source>\n        <target>Recovery Priority</target>\n      </trans-unit>\n      <trans-unit id="359dad5a3a912ef9dece3194035020856805aa96" datatype="html">\n        <source>PG scrub</source>\n        <target>PG scrub</target>\n      </trans-unit>\n      <trans-unit id="953144c420c2e5abd02e6a687433eac60fa852bd" datatype="html">\n        <source>PGs</source>\n        <target>Gruppi di posizionamento</target>\n      </trans-unit>\n      <trans-unit id="7d3523ea9d35c274cef84043de8a2fdde540a9a1" datatype="html">\n        <source>Read bytes</source>\n        <target>Byte letti</target>\n      </trans-unit>\n      <trans-unit id="f15bf7f588f09ca79795b17bc244e8d336f28171" datatype="html">\n        <source>Write bytes</source>\n        <target>Byte scritti</target>\n      </trans-unit>\n      <trans-unit id="f3c33322823c846b13f59ba2c8f234405bba99e1" datatype="html">\n        <source>Read ops</source>\n        <target>Operazioni di lettura</target>\n      </trans-unit>\n      <trans-unit id="7e0b24a17546cbfab48b03dc874461d1ca68bc9a" datatype="html">\n        <source>Write ops</source>\n        <target>Operazioni di scrittura</target>\n      </trans-unit>\n      <trans-unit id="b27d1dd31789610130b7cdbf88c4da552cffe936" datatype="html">\n        <source>Edit OSD: \n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\n        </source>\n        <target>Edit OSD: \n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="986f1379580078e77666d10f8ddf4f839c6ca71d" datatype="html">\n        <source>Edit OSD</source>\n        <target>Edit OSD</target>\n      </trans-unit>\n      <trans-unit id="a4b09e2fa39c3e4f1a387f191fbae4eea3ce7bf5" datatype="html">\n        <source>Updated OSD "\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>"\n        </source>\n        <target>Updated OSD "\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="d45455406092f58e6b089cb440b5b7934b801a01" datatype="html">\n        <source>Mark OSD \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </source>\n        <target>Mark OSD \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="de0b7806e451b3b3dbd564decba59981fe781c18" datatype="html">\n        <source>Mark \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </source>\n        <target>Mark \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="bba1d3bb4f8a47aa2b3068e242562196eadb1e83" datatype="html">\n        <source>PG scrub options</source>\n        <target>PG scrub options</target>\n      </trans-unit>\n      <trans-unit id="b0b7748ebc9b7a6942a8cac4a89d4b215b365878" datatype="html">\n        <source>Updated PG scrub options</source>\n        <target>Updated PG scrub options</target>\n      </trans-unit>\n      <trans-unit id="4edc2162af0bd6cd941eaf730d20a7e3b5a83ba7" datatype="html">\n        <source>Max Backfills</source>\n        <target>Numero max di recuperi informazioni</target>\n      </trans-unit>\n      <trans-unit id="eb5e6c24a48a1dfe23e0a772b762be5e949c0c8a" datatype="html">\n        <source>Recovery Max Active</source>\n        <target>Numero max di recuperi attivi</target>\n      </trans-unit>\n      <trans-unit id="4a23c6d3859e03184118620d2baeb736ac765fbf" datatype="html">\n        <source>Recovery Max Single Start</source>\n        <target>Avvio singolo numero max di recuperi</target>\n      </trans-unit>\n      <trans-unit id="97049169ef5228fd1724de2fcdad1fec2858eaf8" datatype="html">\n        <source>Recovery Sleep</source>\n        <target>Sospensione recupero</target>\n      </trans-unit>\n      <trans-unit id="89553524f4e7db5c437b07dcfdc7b831d56ded1a" datatype="html">\n        <source>Updated OSD recovery speed priority "\n          <x id="INTERPOLATION" equiv-text="{{value}}"/>"\n        </source>\n        <target>Updated OSD recovery speed priority "\n          <x id="INTERPOLATION" equiv-text="{{value}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="ccf5f30798c03d2d8efd0e6eb508320c018b722d" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{operation}}"/> was initialized in the following OSD(s): \n          <x id="INTERPOLATION_1" equiv-text="{{id}}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{operation}}"/> was initialized in the following OSD(s): \n          <x id="INTERPOLATION_1" equiv-text="{{id}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="3bc2d18913479965cb046ec75e2ac3f7b7a77ce5" datatype="html">\n        <source>Create Silence</source>\n        <target>Create Silence</target>\n      </trans-unit>\n      <trans-unit id="78917e8031aaf913ac3fa63295325ce8879703ce" datatype="html">\n        <source>Job</source>\n        <target>Lavoro</target>\n      </trans-unit>\n      <trans-unit id="94287619205068b591c18493c64781424864c259" datatype="html">\n        <source>Severity</source>\n        <target>Gravità</target>\n      </trans-unit>\n      <trans-unit id="e6cfbe0c5e0302ba2cec22315f6a28f8ac46b651" datatype="html">\n        <source>Started</source>\n        <target>Avviato</target>\n      </trans-unit>\n      <trans-unit id="801b98c6f02fe3b32f6afa3ee854c99ed83474e6" datatype="html">\n        <source>URL</source>\n        <target>URL</target>\n      </trans-unit>\n      <trans-unit id="d9f726c70aeba7fa6d3d68bff718abe78b1e50ac" datatype="html">\n        <source>Query</source>\n        <target>Query</target>\n      </trans-unit>\n      <trans-unit id="a5cd682a8a33bdc72e093d059429e3cc3a50ec1d" datatype="html">\n        <source>silence</source>\n        <target>silence</target>\n      </trans-unit>\n      <trans-unit id="f557e117e059e7036c6eecacd325a6ae35d866e0" datatype="html">\n        <source>Attribute name</source>\n        <target>Attribute name</target>\n      </trans-unit>\n      <trans-unit id="50f7f517ad8158667f7d4e2bd6f3256e05156e75" datatype="html">\n        <source>Regular expression</source>\n        <target>Regular expression</target>\n      </trans-unit>\n      <trans-unit id="81b1eab399c47110d50f45e3ccb4c009de7cb581" datatype="html">\n        <source>Please add your Prometheus host to the dashboard configuration and refresh the page</source>\n        <target>Please add your Prometheus host to the dashboard configuration and refresh the page</target>\n      </trans-unit>\n      <trans-unit id="29b4ae3296e239446fa0dea88a5112de15cffa54" datatype="html">\n        <source>Created by</source>\n        <target>Created by</target>\n      </trans-unit>\n      <trans-unit id="8d833cceee0ba4c5161b130365e02bc1e129b57e" datatype="html">\n        <source>Ends</source>\n        <target>Ends</target>\n      </trans-unit>\n      <trans-unit id="46a11ff4289e8c88b1b7a935f8d8ee704055f11a" datatype="html">\n        <source>Silence</source>\n        <target>Silence</target>\n      </trans-unit>\n      <trans-unit id="f2ea47d702c7f5e3e5fa751bf9959e21030b72e6" datatype="html">\n        <source>Daemon type</source>\n        <target>Daemon type</target>\n      </trans-unit>\n      <trans-unit id="6c131968e6ab730d86443e6fc11c5cc2a76d7bac" datatype="html">\n        <source>Daemon ID</source>\n        <target>Daemon ID</target>\n      </trans-unit>\n      <trans-unit id="5738f0ca7ddd9594058ce051b1d5d576e2782825" datatype="html">\n        <source>Container ID</source>\n        <target>Container ID</target>\n      </trans-unit>\n      <trans-unit id="78ebcf850cd440c5efc15e6a3a522ae75aeff669" datatype="html">\n        <source>Container Image name</source>\n        <target>Container Image name</target>\n      </trans-unit>\n      <trans-unit id="ea0c7ab9a7bdf646d494abf8c85fbf67d934d079" datatype="html">\n        <source>Container Image ID</source>\n        <target>Container Image ID</target>\n      </trans-unit>\n      <trans-unit id="bf2468fd965b8a59c135ad549b3a612aa9873abc" datatype="html">\n        <source>Status Description</source>\n        <target>Status Description</target>\n      </trans-unit>\n      <trans-unit id="19867330bdc84096f5a93ab087a1766476c8a074" datatype="html">\n        <source>Last Refreshed</source>\n        <target>Last Refreshed</target>\n      </trans-unit>\n      <trans-unit id="2349ee2027ab6ceb3e4b8834928562075b7e1ac7" datatype="html">\n        <source>Container image name</source>\n        <target>Container image name</target>\n      </trans-unit>\n      <trans-unit id="3c475503fb93338811af6b3d9ccacca1d7334609" datatype="html">\n        <source>Container image ID</source>\n        <target>Container image ID</target>\n      </trans-unit>\n      <trans-unit id="8dd15f6c73c05a8b0bd7b6d416487ab6570b88c8" datatype="html">\n        <source>Running</source>\n        <target>Running</target>\n      </trans-unit>\n      <trans-unit id="fb2e1bed329dc5b84197808c778abb9edcbdb335" datatype="html">\n        <source>Used</source>\n        <target>Utilizzato</target>\n      </trans-unit>\n      <trans-unit id="4f1ab04d9100fb0df0e62b921ec46ae052ae29fc" datatype="html">\n        <source>Avail.</source>\n        <target>Dispon.</target>\n      </trans-unit>\n      <trans-unit id="a1c9b3d4fa67450fe9afd1d726f8a1bd91d990ea" datatype="html">\n        <source>Clean</source>\n        <target>Pulisci</target>\n      </trans-unit>\n      <trans-unit id="0054f5460090d6dde385e8f099d598df5d28cf54" datatype="html">\n        <source>Working</source>\n        <target>In funzione</target>\n      </trans-unit>\n      <trans-unit id="a8059e31694578c1b0344a76a345357dd60e8f01" datatype="html">\n        <source>Warning</source>\n        <target>Avviso</target>\n      </trans-unit>\n      <trans-unit id="e5d8bb389c702588877f039d72178f219453a72d" datatype="html">\n        <source>Unknown</source>\n        <target>Sconosciuto</target>\n      </trans-unit>\n      <trans-unit id="88155be1b9b9c6140d6e8f93bac4a775cfdc6671" datatype="html">\n        <source>Healthy</source>\n        <target>Healthy</target>\n      </trans-unit>\n      <trans-unit id="8a3aec4dc1a6e2d4c612ae85e0537acbb20a0f85" datatype="html">\n        <source>Misplaced</source>\n        <target>Misplaced</target>\n      </trans-unit>\n      <trans-unit id="ee81f9bf7ceac69712e0b83e8adc268739f9673e" datatype="html">\n        <source>Degraded</source>\n        <target>Degraded</target>\n      </trans-unit>\n      <trans-unit id="14625bc4025daef1969777a67a3cca27e0cd9167" datatype="html">\n        <source>Unfound</source>\n        <target>Unfound</target>\n      </trans-unit>\n      <trans-unit id="8f23ea509d081c2f747d083d44608dbf125b2ea2" datatype="html">\n        <source>replicas</source>\n        <target>replicas</target>\n      </trans-unit>\n      <trans-unit id="129a2224e1f9d19eb5e11e2a07fe10a785556484" datatype="html">\n        <source>up</source>\n        <target>su</target>\n      </trans-unit>\n      <trans-unit id="d5f29cf0af691726483262d647eb6622be002512" datatype="html">\n        <source>no filesystems</source>\n        <target>nessun file system</target>\n      </trans-unit>\n      <trans-unit id="b1c4387ffab06f3fa9fdb4411aea955595538d44" datatype="html">\n        <source>active</source>\n        <target>attivo</target>\n      </trans-unit>\n      <trans-unit id="1aaf7054d826f2cb05ec3e88a5a4b8116861e1f5" datatype="html">\n        <source>standby</source>\n        <target>standby</target>\n      </trans-unit>\n      <trans-unit id="c9a1080024dca344a48acdb77fa2d54e059f7254" datatype="html">\n        <source>n/a</source>\n        <target>n/d</target>\n      </trans-unit>\n      <trans-unit id="84a1787b6df375847c70f782861d7e7f8f43bff4" datatype="html">\n        <source>active daemon</source>\n        <target>daemon attivo</target>\n      </trans-unit>\n      <trans-unit id="24407dc2ebfafaf6b131ee978683b893c3f1d763" datatype="html">\n        <source>quorum</source>\n        <target> quorum</target>\n      </trans-unit>\n      <trans-unit id="2fa50bc07995c6ea660412294298ded39fcb08d9" datatype="html">\n        <source>The NFS Ganesha service is not configured.</source>\n        <target>Il servizio NFS Ganesha non è configurato.</target>\n      </trans-unit>\n      <trans-unit id="af1396bdc49f45ea6c4a1e414769f5e2a382c834" datatype="html">\n        <source>Transport</source>\n        <target>Trasporto</target>\n      </trans-unit>\n      <trans-unit id="b6a0e176d96c4feed2e975a039c044fcf822e152" datatype="html">\n        <source>CephFS User</source>\n        <target>Utente CephFS</target>\n      </trans-unit>\n      <trans-unit id="44dc610cf201a163e8c38da810acec9596930bb3" datatype="html">\n        <source>CephFS Filesystem</source>\n        <target>File system CephFS</target>\n      </trans-unit>\n      <trans-unit id="db6dc7124be83c7055cb0f2719e31f2f9d46fd3d" datatype="html">\n        <source>(inherited from global config)</source>\n        <target>(ereditato dalla configurazione globale)</target>\n      </trans-unit>\n      <trans-unit id="e1f97bb86f991553ec7b535cb39e7eaa99dfcfe2" datatype="html">\n        <source>inherited from global config</source>\n        <target>importato dalla configurazione globale</target>\n      </trans-unit>\n      <trans-unit id="e751800766277e7c2edd652cec7a7a1a68a37852" datatype="html">\n        <source>-- Select what kind of user id squashing is performed --</source>\n        <target>-- Selezionare il tipo di squash dell\'ID utente che viene eseguito --</target>\n      </trans-unit>\n      <trans-unit id="4b58387f911e8a7b135a0c4d76c70335c65bbb32" datatype="html">\n        <source>There are no daemons available.</source>\n        <target>Non vi sono daemon disponibili.</target>\n      </trans-unit>\n      <trans-unit id="18ae8dc1264f06df7ea251175ada2ac1b8401018" datatype="html">\n        <source>NFS export</source>\n        <target>NFS export</target>\n      </trans-unit>\n      <trans-unit id="c56d51748965db5f3966cd1d06a1c9f4b5244931" datatype="html">\n        <source>Crush Rule</source>\n        <target>Crush Rule</target>\n      </trans-unit>\n      <trans-unit id="ae128527ec18892f812a62a1fd15dc50a38060c0" datatype="html">\n        <source>EC Profile</source>\n        <target>EC Profile</target>\n      </trans-unit>\n      <trans-unit id="60fb10c145f9c7ede2b9ddf9b2b0b0f6191d0ebd" datatype="html">\n        <source>Cache Mode</source>\n        <target>Modalità cache</target>\n      </trans-unit>\n      <trans-unit id="fa5bfad31d4139f6871443bb74324ffda5cad3e6" datatype="html">\n        <source>Min Evict Age</source>\n        <target>Numero minimo di giorni per la rimozione</target>\n      </trans-unit>\n      <trans-unit id="fd0eb851666df45c34c76fabcda79b0d77bc910b" datatype="html">\n        <source>Min Flush Age</source>\n        <target>Numero minimo di giorni per la cancellazione</target>\n      </trans-unit>\n      <trans-unit id="cb54d2c420a534cee0c308ea5589f8c394ef8d67" datatype="html">\n        <source>Target Max Bytes</source>\n        <target>Numero max di byte di destinazione</target>\n      </trans-unit>\n      <trans-unit id="07f4ebe6615dca466818ffdae2a69ee217d265fb" datatype="html">\n        <source>Target Max Objects</source>\n        <target>Numero max di oggetti di destinazione</target>\n      </trans-unit>\n      <trans-unit id="eaa8f4df53cf7fa78d078e20a701d10f3dccd77d" datatype="html">\n        <source>No applications added</source>\n        <target>Non sono state aggiunte applicazioni.</target>\n      </trans-unit>\n      <trans-unit id="321c2a7640f11177ea49b0857b94c4b70830c0e6" datatype="html">\n        <source>Applications limit reached</source>\n        <target>Raggiunto il limite di applicazioni</target>\n      </trans-unit>\n      <trans-unit id="519d27742b74fadc8336777452f78891e98aa1dc" datatype="html">\n        <source>A pool can only have up to four applications definitions.</source>\n        <target>Un pool può contenere solo fino a quattro definizioni delle applicazioni.</target>\n      </trans-unit>\n      <trans-unit id="b5bec3813f0d45daa7eb9471272969e1bc3e734e" datatype="html">\n        <source>Allowed characters \'_a-zA-Z0-9\'</source>\n        <target>Caratteri consentiti \'_a-zA-Z0-9\'</target>\n      </trans-unit>\n      <trans-unit id="807472d29602a0085bce62e534bd66208982c2e2" datatype="html">\n        <source>Maximum length is 128 characters</source>\n        <target>La lunghezza massima è di 128 caratteri</target>\n      </trans-unit>\n      <trans-unit id="37785748b9ac9ad1d3e4b111ac502c3284afe84b" datatype="html">\n        <source>Filter or add applications</source>\n        <target>Filtra o aggiungi applicazioni</target>\n      </trans-unit>\n      <trans-unit id="38c7b8610ca87835e13eeee6a09ba1c414cd5cb9" datatype="html">\n        <source>Add application</source>\n        <target>Aggiungi applicazione</target>\n      </trans-unit>\n      <trans-unit id="db8c42f077700d8a94619fad9f4c94b7361d5f1d" datatype="html">\n        <source>pool</source>\n        <target>pool</target>\n      </trans-unit>\n      <trans-unit id="65bb2be83261bc4798853bbccdedc110c43feea7" datatype="html">\n        <source>erasure code profile</source>\n        <target>profilo del codice di cancellazione</target>\n      </trans-unit>\n      <trans-unit id="ae48e19a9a2acaca4b5ea594451bc9b0b01ec8d2" datatype="html">\n        <source>crush rule</source>\n        <target>crush rule</target>\n      </trans-unit>\n      <trans-unit id="112d356ad6846959ca4aa5ec9a1f0d9d473b24ec" datatype="html">\n        <source>Replica Size</source>\n        <target>Dimensioni della replica</target>\n      </trans-unit>\n      <trans-unit id="ec50492db341fa752b023d8c924601286b6c9c0c" datatype="html">\n        <source>Last Change</source>\n        <target>Ultima modifica</target>\n      </trans-unit>\n      <trans-unit id="563a8c136a9d423bc7ae1269a404d6da5fd83dad" datatype="html">\n        <source>Erasure Coded Profile</source>\n        <target>Profilo con codice di cancellazione</target>\n      </trans-unit>\n      <trans-unit id="0ad7f0662956cff61ac1208f92b1a0305b1b2e58" datatype="html">\n        <source>Crush Ruleset</source>\n        <target>Set di regole Crush</target>\n      </trans-unit>\n      <trans-unit id="bcc365a084b6145b941b371bd4c2b6c3d2c79234" datatype="html">\n        <source>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</source>\n        <target>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</target>\n      </trans-unit>\n      <trans-unit id="44939fd05cedfd077db886528b755e77d5fa3885" datatype="html">\n        <source>bucket</source>\n        <target>compartimento</target>\n      </trans-unit>\n      <trans-unit id="84fee774286ec4191311f1277075455c3ea5e2e2" datatype="html">\n        <source>Updated Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>".\n        </source>\n        <target>Updated Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="2d7a43674f0bbc131c9e555ec16ac37fa0445d76" datatype="html">\n        <source>Created Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>"\n        </source>\n        <target>Created Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="ec40d74ecfb1d6d60455af6805c9a714a3f5750a" datatype="html">\n        <source>buckets</source>\n        <target>compartimenti</target>\n      </trans-unit>\n      <trans-unit id="764585d5595bac113582ee14a6fd07006770ceb1" datatype="html">\n        <source>capability</source>\n        <target>capability</target>\n      </trans-unit>\n      <trans-unit id="0914cbe18bae204217e1851be6d2d24d86e74605" datatype="html">\n        <source>user</source>\n        <target>utente</target>\n      </trans-unit>\n      <trans-unit id="d8c86dc5e48a63590d9c94e19f90b5f8325cbd49" datatype="html">\n        <source>subuser</source>\n        <target>subuser</target>\n      </trans-unit>\n      <trans-unit id="f45a3de8a8b40d161cc36a55d77548a27107ca04" datatype="html">\n        <source>S3 Key</source>\n        <target>S3 Key</target>\n      </trans-unit>\n      <trans-unit id="854a763265e92f91ba3ccee1a0e8d823be584f7c" datatype="html">\n        <source>Updated Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </source>\n        <target>Updated Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="84ab3fd641e65e39cffee0ec722a059ed284229e" datatype="html">\n        <source>Created Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </source>\n        <target>Created Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="7c7f4be7b726e61c577e63842a58d9e435f7c597" datatype="html">\n        <source>users</source>\n        <target>utenti</target>\n      </trans-unit>\n      <trans-unit id="9f7760223efd77806f1bbaf963e6993bb4bc6a0a" datatype="html">\n        <source>Swift Key</source>\n        <target>Swift Key</target>\n      </trans-unit>\n      <trans-unit id="6462d8f12b427c29363f00b12f20f566be24937c" datatype="html">\n        <source>Device ID</source>\n        <target>Device ID</target>\n      </trans-unit>\n      <trans-unit id="82f12bf23db4bb82db89877bebe93954bc1c8fb0" datatype="html">\n        <source>State of Health</source>\n        <target>State of Health</target>\n      </trans-unit>\n      <trans-unit id="7bd34bd120146afef0e0d8fa168d9bdabd594b6a" datatype="html">\n        <source>Good</source>\n        <target>Good</target>\n      </trans-unit>\n      <trans-unit id="31c59dce114ec0a9d02552ef7b81920b3de36793" datatype="html">\n        <source>Bad</source>\n        <target>Bad</target>\n      </trans-unit>\n      <trans-unit id="2862af5284f66d4b06bdcf77a5519141723b6989" datatype="html">\n        <source>Stale</source>\n        <target>Stale</target>\n      </trans-unit>\n      <trans-unit id="8d8e819b52984a4fbdec75a99eb28d1ae4323bbc" datatype="html">\n        <source>Life Expectancy</source>\n        <target>Life Expectancy</target>\n      </trans-unit>\n      <trans-unit id="72d9b15be18ea063e78c4e855b9e8c0af95593ef" datatype="html">\n        <source>Prediction Creation Date</source>\n        <target>Prediction Creation Date</target>\n      </trans-unit>\n      <trans-unit id="a6b4ef85e5ff8bd192751c7bbebc54c46118d6d4" datatype="html">\n        <source>Device Name</source>\n        <target>Device Name</target>\n      </trans-unit>\n      <trans-unit id="d5fd840374ca1a6f394bcd81f390a6dca27f8224" datatype="html">\n        <source>An error with error code \n          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.\n        </source>\n        <target>An error with error code \n          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.\n        </target>\n      </trans-unit>\n      <trans-unit id="a0b59d7139692bb8d8ed786b6eb6e9e70ce743f3" datatype="html">\n        <source>Raw</source>\n        <target>Raw</target>\n      </trans-unit>\n      <trans-unit id="2f3beddc8234b30fb26a7f63ba2f1ea74f2ed6f7" datatype="html">\n        <source>Threshold</source>\n        <target>Threshold</target>\n      </trans-unit>\n      <trans-unit id="4654b5a68af3c8bad29aa14ca85ccea1f3143c6b" datatype="html">\n        <source>When Failed</source>\n        <target>When Failed</target>\n      </trans-unit>\n      <trans-unit id="5b7f56d5be49fb8e8d8f40209d6746f8f72e9177" datatype="html">\n        <source>Worst</source>\n        <target>Worst</target>\n      </trans-unit>\n      <trans-unit id="1481b8488e10dbc437accce89d2ae35a0106e8ba" datatype="html">\n        <source>Scope</source>\n        <target>Ambito</target>\n      </trans-unit>\n      <trans-unit id="9b1d5e95f6bdcfb4b737413f5fa157e0dcb103d5" datatype="html">\n        <source>Read</source>\n        <target>Lettura</target>\n      </trans-unit>\n      <trans-unit id="70a67e04629f6d412db0a12d51820b480788d795" datatype="html">\n        <source>Create</source>\n        <target>Crea</target>\n      </trans-unit>\n      <trans-unit id="dc4fba275819619ee78e8eae14d357ea69ba7477" datatype="html">\n        <source>role</source>\n        <target>role</target>\n      </trans-unit>\n      <trans-unit id="fe6ee93173884201ec62d62ba173c3de85ae177e" datatype="html">\n        <source>Created role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Created role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="41c032df0732f4318f8213fabd0719ac347d4b6c" datatype="html">\n        <source>Updated role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Updated role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="50e22b5289f79f1417369403345c9fa9911a4557" datatype="html">\n        <source>System Role</source>\n        <target>Ruolo di sistema</target>\n      </trans-unit>\n      <trans-unit id="7f132668e2dbfcf616381d2daf59d1a6f2698102" datatype="html">\n        <source>Deleted role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Deleted role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="bd15b8d5c0fa160161728eefbbb585710414d471" datatype="html">\n        <source>New name</source>\n        <target>New name</target>\n      </trans-unit>\n      <trans-unit id="6f126277f3dc22a3ab3609c4c198386c8744e11a" datatype="html">\n        <source>Clone Role</source>\n        <target>Clone Role</target>\n      </trans-unit>\n      <trans-unit id="d19d8320479854bc52877cdf0dc5ecfe34a36ec7" datatype="html">\n        <source>Cloned role \'\n          <x id="INTERPOLATION" equiv-text="{{dst_name}}"/>\' from \'\n          <x id="INTERPOLATION_1" equiv-text="{{src_name}}"/>\'\n        </source>\n        <target>Cloned role \'\n          <x id="INTERPOLATION" equiv-text="{{dst_name}}"/>\' from \'\n          <x id="INTERPOLATION_1" equiv-text="{{src_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="2e35d60a14ce0b470e8b54602864a867f7fcef40" datatype="html">\n        <source>There are no roles.</source>\n        <target>There are no roles.</target>\n      </trans-unit>\n      <trans-unit id="d2362a49d2434ce137bf19dab004251b7fd9c7b3" datatype="html">\n        <source>Created user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Created user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="9910122dfedd2eaa544a990f1430e5b82a76d99f" datatype="html">\n        <source>Update user</source>\n        <target>Aggiorna utente</target>\n      </trans-unit>\n      <trans-unit id="ac10a3d9b59575640797c1a8e6aea642cf5d5e77" datatype="html">\n        <source>Continue</source>\n        <target>Continua</target>\n      </trans-unit>\n      <trans-unit id="cf4bcf4ce3d551e6099ccdc3546ae418fe5f8038" datatype="html">\n        <source>You were automatically logged out because your roles have been changed.</source>\n        <target>Si è stati automaticamente disconnessi perché i ruoli sono stati modificati.</target>\n      </trans-unit>\n      <trans-unit id="0f6003fb0c1cc73b89d225801cc1b870945cd259" datatype="html">\n        <source>Updated user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Updated user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="fe516c6d820018fdc971113935e22ec1e852965f" datatype="html">\n        <source>Deleted user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Deleted user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="01a7e11502ff80421ef3615e533ea14ef57e1d5c" datatype="html">\n        <source>Failed to delete user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Failed to delete user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="63316a3861dbcb035147efc1b9fb6bc708242e94" datatype="html">\n        <source>You are currently logged in as "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>".\n        </source>\n        <target>You are currently logged in as "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="d8b81951d25439864e92f750f7c99d7426d6517c" datatype="html">\n        <source>password</source>\n        <target>password</target>\n      </trans-unit>\n      <trans-unit id="d361a9b5e1f7985a12c0433388f31626525a02b8" datatype="html">\n        <source>Updated user password"</source>\n        <target>Updated user password"</target>\n      </trans-unit>\n      <trans-unit id="c4e596a44ffc4718c1602600d6e4f029190eb031" datatype="html">\n        <source>The name of the node under which data should be placed.</source>\n        <target>The name of the node under which data should be placed.</target>\n      </trans-unit>\n      <trans-unit id="f24772ba1091155f8d7025332ca8456a204d1e28" datatype="html">\n        <source>The type of CRUSH nodes across which we should separate replicas.</source>\n        <target>The type of CRUSH nodes across which we should separate replicas.</target>\n      </trans-unit>\n      <trans-unit id="a3896042af461a80091c3f7a5fe3fff5ac40a3a0" datatype="html">\n        <source>The device class data should be placed on.</source>\n        <target>The device class data should be placed on.</target>\n      </trans-unit>\n      <trans-unit id="1d7fbcc3d5efc946ffbcf86fed04c4e20dda20fb" datatype="html">\n        <source>Each object is split in data-chunks parts, each stored on a different OSD.</source>\n        <target>Ogni oggetto è suddiviso in porzioni di dati, ciascuna delle quali è memorizzata su un diverso OSD.</target>\n      </trans-unit>\n      <trans-unit id="b1f8ed4e216585f1f9134740002ef3c8501debd8" datatype="html">\n        <source>Compute coding chunks for each object and store them on different OSDs.\n      The number of coding chunks is also the number of OSDs that can be down without losing data.</source>\n        <target>Calcola le porzioni di codice relative a ciascun oggetto e le memorizza su diversi OSD.\n      Il numero di porzioni di codice è anche il numero degli OSD che è possibile disattivare senza perdere i dati.</target>\n      </trans-unit>\n      <trans-unit id="c437ee74a9a8e781e1380153f742a685e3b8cc5e" datatype="html">\n        <source>The jerasure plugin is the most generic and flexible plugin,\n          it is also the default for Ceph erasure coded pools.</source>\n        <target>Il plugin jerasure è il plugin più generico e flessibile,\n          ed è anche il plugin di default dei pool con codice di cancellazione di Ceph.</target>\n      </trans-unit>\n      <trans-unit id="8c7e19322851402afa67e41f4f1d4e531caf1bf5" datatype="html">\n        <source>The more flexible technique is reed_sol_van : it is enough to set k\n          and m. The cauchy_good technique can be faster but you need to chose the packetsize\n          carefully. All of reed_sol_r6_op, liberation, blaum_roth, liber8tion are RAID6 equivalents\n          in the sense that they can only be configured with m=2.</source>\n        <target>La tecnica più flessibile è reed_sol_van: è sufficiente impostare k\n          ed m. La tecnica cauchy_good può essere più rapida ma occorre selezionare attentamente la dimensione del\n          pacchetto. reed_sol_r6_op, liberation, blaum_roth, liber8tion sono tutti equivalenti a RAID6,\n          nel senso che è possibile configurarli solo con m=2.</target>\n      </trans-unit>\n      <trans-unit id="b1b11f49281b4e79219b4eecfbcb033cb15bd880" datatype="html">\n        <source>The encoding will be done on packets of bytes size at a time.\n          Chosing the right packet size is difficult.\n          The jerasure documentation contains extensive information on this topic.</source>\n        <target>La codifica viene eseguita su pacchetti di dimensioni in byte, uno alla volta.\n          È difficile scegliere la dimensione del pacchetto corretta.\n          La documentazione su jerasure fornisce informazioni esaustive su questo argomento.</target>\n      </trans-unit>\n      <trans-unit id="d9cb3bc07a25b26fbea457e0a7b543340bc13c49" datatype="html">\n        <source>With the jerasure plugin, when an erasure coded object is stored on\n          multiple OSDs, recovering from the loss of one OSD requires reading from all the others.\n          For instance if jerasure is configured with k=8 and m=4, losing one OSD requires reading\n          from the eleven others to repair.\n\n          The lrc erasure code plugin creates local parity chunks to be able to recover using\n          less OSDs. For instance if lrc is configured with k=8, m=4 and l=4, it will create\n          an additional parity chunk for every four OSDs. When a single OSD is lost, it can be\n          recovered with only four OSDs instead of eleven.</source>\n        <target>Con il plugin di jerasure, quando un oggetto con codice di cancellazione viene memorizzato su\n          più OSD, il recupero della perdita di un OSD richiede la lettura di tutti gli altri.\n          Ad esempio, se jerasure è configurato con k=8 e m=4, la perdita di un OSD richiede la lettura\n          degli altri undici per il ripristino.\n\n          Il plugin del codice di cancellazione lrc crea porzioni di parità locali che è possibile recuperare utilizzando un\n          minor numero di OSD. Ad esempio, se lrc è configurato con k=8, m=4 e l=4, crea\n          una porzione di parità aggiuntiva ogni quattro OSD. Quando si perde un singolo OSD, è possibile\n          recuperarlo solo con quattro OSD invece che con undici.</target>\n      </trans-unit>\n      <trans-unit id="813959d46e63a29bbd266b3af2ff9414c2ef553c" datatype="html">\n        <source>Group the coding and data chunks into sets of size locality. For instance,\n          for k=4 and m=2, when locality=3 two groups of three are created. Each set can\n          be recovered without reading chunks from another set.</source>\n        <target>Raggruppa le porzioni di codice e dati in set di località dimensione. Ad esempio,\n          per k=4 e m=2, se località=3 vengono creati due gruppi su tre. È possibile recuperare ciascun set\n          senza leggere le porzioni di un altro set.</target>\n      </trans-unit>\n      <trans-unit id="f0ff63d92e0a1b4d4b51e31b9133802d160a5f4c" datatype="html">\n        <source>The type of the crush bucket in which each set of chunks defined\n          by l will be stored. For instance, if it is set to rack, each group of l chunks will be\n          placed in a different rack. It is used to create a CRUSH rule step such as step choose\n          rack. If it is not set, no such grouping is done.</source>\n        <target>Il tipo di compartimento Crush in cui viene memorizzato ciascun set di porzioni definito\n          dall\'utente. Ad esempio, se è impostato su rack, ciascun gruppo di porzioni viene\n          posizionato in un diverso rack. Viene utilizzato per creare un passaggio della regola CRUSH come il passaggio choose\n          rack. Se non è impostato, il raggruppamento non viene eseguito.</target>\n      </trans-unit>\n      <trans-unit id="3ece48df9d1e9a98f98bf3c5cc66e8b637020a4d" datatype="html">\n        <source>The isa plugin encapsulates the ISA library. It only runs on Intel processors.</source>\n        <target>Il plugin ISA incapsula la libreria ISA. Viene eseguito solo su processori Intel.</target>\n      </trans-unit>\n      <trans-unit id="4472c9e31bfc7d96a83dc4afce0a6e885c99e839" datatype="html">\n        <source>The ISA plugin comes in two Reed Solomon forms.\n          If reed_sol_van is set, it is Vandermonde, if cauchy is set, it is Cauchy.</source>\n        <target>Il plugin ISA è disponibile in due formati Reed Solomon.\n          Se è impostato reed_sol_van, il formato è Vandermonde, se è impostato cauchy, il formato è Cauchy.</target>\n      </trans-unit>\n      <trans-unit id="fa385f5ecf63083ec848dca8dc5e52bdc72ac6f6" datatype="html">\n        <source>The shec plugin encapsulates the multiple SHEC library.\n          It allows ceph to recover data more efficiently than Reed Solomon codes.</source>\n        <target>Il plugin shec incapsula la libreria SHEC multipla.\n          Consente a Ceph di recuperare i dati in modo più efficiente rispetto ai codici Reed Solomon.</target>\n      </trans-unit>\n      <trans-unit id="687b3cd94b3475c24ff4481d64d4739f902a377c" datatype="html">\n        <source>The number of parity chunks each of which includes each data chunk in its\n          calculation range. The number is used as a durability estimator. For instance, if c=2,\n          2 OSDs can be down without losing data.</source>\n        <target>Il numero di compartimenti di parità, ciascuno dei quali include i singoli compartimenti di dati\n          nell\'intervallo di calcolo. Il numero viene utilizzato come strumento di stima della durabilità. Ad esempio, se c=2,\n          è possibile disattivare 2 OSD senza perdere i dati.</target>\n      </trans-unit>\n      <trans-unit id="f3c4af6df91bdaabdb715f8f0b61a24faf73a3bc" datatype="html">\n        <source>The name of the crush bucket used for the first step of the CRUSH rule.\n      For instance step take default.</source>\n        <target>Il nome del compartimento Crush utilizzato per il primo passaggio della regola CRUSH.\n      Ad esempio il passaggio take default.</target>\n      </trans-unit>\n      <trans-unit id="e1059955a5ce65cdabf0c0a8207377e1f9bae57e" datatype="html">\n        <source>Ensure that no two chunks are in a bucket with the same failure\n      domain. For instance, if the failure domain is host no two chunks will be stored on the same\n      host. It is used to create a CRUSH rule step such as step chooseleaf host.</source>\n        <target>Assicurarsi che non esistano due porzioni in un compartimento con lo stesso dominio\n      di errore. Ad esempio, se il dominio di errore è l\'host, non verranno memorizzate due porzioni sullo stesso\n      host. Viene utilizzato per creare un passaggio della regola CRUSH come passaggio chooseleaf host.</target>\n      </trans-unit>\n      <trans-unit id="ac392ac9c6da5fde6da80fc57b9c09402fb6e73d" datatype="html">\n        <source>Restrict placement to devices of a specific class\n      (e.g., ssd or hdd), using the crush device class names in the CRUSH map.</source>\n        <target>Limitare il posizionamento ai dispositivi di una classe specifica\n      (ad es. ssd o hdd) usando i nomi delle classi di dispositivi Crush nella mappa CRUSH.</target>\n      </trans-unit>\n      <trans-unit id="62bcb9ae5583a088649b1adf5787a86ca3334f89" datatype="html">\n        <source>Set the directory name from which the erasure code plugin is loaded.</source>\n        <target>Impostare il nome della directory da cui viene caricato il plugin del codice di cancellazione.</target>\n      </trans-unit>\n      <trans-unit id="c8f10184a8433d132ede0a2c0c1aa96f291cacfa" datatype="html">\n        <source>Allows all operations</source>\n        <target>Consente tutte le operazioni</target>\n      </trans-unit>\n      <trans-unit id="82077ee97c11ee76efc3adf253b7b26654544317" datatype="html">\n        <source>Allows only operations that do not modify the server</source>\n        <target>Consente solo le operazioni che non modificano il server</target>\n      </trans-unit>\n      <trans-unit id="22b5212ec10449dbf0a0af0ad34122eac51b5f2a" datatype="html">\n        <source>Does not allow read or write operations, but allows any other operation</source>\n        <target>Non consente operazioni di lettura o scrittura, ma consente qualsiasi altra operazione</target>\n      </trans-unit>\n      <trans-unit id="9799d0f8c4b7727ae239fedfe3c0ce127feb7a50" datatype="html">\n        <source>Does not allow read, write, or any operation that modifies file        attributes or directory content</source>\n        <target>Non consente operazioni di lettura o scrittura o qualsiasi operazione che modifichi gli attributi dei file o il contenuto della directory</target>\n      </trans-unit>\n      <trans-unit id="aeddefe0af87025d8f00699aa94bed8216a99a58" datatype="html">\n        <source>Allows no access at all</source>\n        <target>Non consente alcun accesso</target>\n      </trans-unit>\n      <trans-unit id="a436c6a4025a749198e93cac239de8deede72211" datatype="html">\n        <source>-- Select the priority --</source>\n        <target>-- Selezionare la priorità --</target>\n      </trans-unit>\n      <trans-unit id="9556266f0a2b1762a44b686f2bb21dbfefb01c12" datatype="html">\n        <source>Low</source>\n        <target>Bassa</target>\n      </trans-unit>\n      <trans-unit id="72279141a67cc042d9864102b703216cc8a428a3" datatype="html">\n        <source>High</source>\n        <target>Alta</target>\n      </trans-unit>\n      <trans-unit id="6080b77234e92ad41bb52653b239c4c4f851317d" datatype="html">\n        <source>Error</source>\n        <target>Error</target>\n      </trans-unit>\n      <trans-unit id="c43dc1967a603fefb886149ac35863a06d5b4ce5" datatype="html">\n        <source>Information</source>\n        <target>Informazioni</target>\n      </trans-unit>\n      <trans-unit id="1e035e6ccfab771cad4226b2ad230cb0d4a88cba" datatype="html">\n        <source>Success</source>\n        <target>Success</target>\n      </trans-unit>\n      <trans-unit id="61fd1cffcb763cbfd5829071723cf9b647174bd9" datatype="html">\n        <source>An error occurred.</source>\n        <target>An error occurred.</target>\n      </trans-unit>\n      <trans-unit id="e6ca3c0efaf51e6d45a7f92f58bac37140c3fda4" datatype="html">\n        <source>Last 5 minutes</source>\n        <target>Ultimi 5 minuti</target>\n      </trans-unit>\n      <trans-unit id="b0ecb2bbc548cc9bd95050fd8f0c84586d083fe2" datatype="html">\n        <source>Last 15 minutes</source>\n        <target>Ultimi 15 minuti</target>\n      </trans-unit>\n      <trans-unit id="857ae67deb51353120b203b0f2a06b0c48ef49fa" datatype="html">\n        <source>Last 30 minutes</source>\n        <target>Ultimi 30 minuti</target>\n      </trans-unit>\n      <trans-unit id="7b1738fad314e936dc14b94db8f43da736942308" datatype="html">\n        <source>Last 1 hour (Default)</source>\n        <target>Ultima ora (Default)</target>\n      </trans-unit>\n      <trans-unit id="a428288224389726cef9d9bd8d1d7808cccd7ffd" datatype="html">\n        <source>Last 3 hours</source>\n        <target>Ultime 3 ore</target>\n      </trans-unit>\n      <trans-unit id="7cbabecc8d80cf183ac199cfaeb7619d56e5d43f" datatype="html">\n        <source>Last 6 hours</source>\n        <target>Ultime 6 ore</target>\n      </trans-unit>\n      <trans-unit id="1a389cdf64187d34cf99eec30a290e3fa7d4744f" datatype="html">\n        <source>Last 12 hours</source>\n        <target>Ultime 12 ore</target>\n      </trans-unit>\n      <trans-unit id="9e0ba5f591380a94d594a76288f0c41aa97eb9c2" datatype="html">\n        <source>Last 24 hours</source>\n        <target>Ultime 24 ore</target>\n      </trans-unit>\n      <trans-unit id="e430eda9c785cd43465b7cbb400ee914f1057247" datatype="html">\n        <source>Yesterday</source>\n        <target>Ieri</target>\n      </trans-unit>\n      <trans-unit id="7fb1099e29660162f9154d5b2feee7743a423df6" datatype="html">\n        <source>Today</source>\n        <target>Oggi</target>\n      </trans-unit>\n      <trans-unit id="33904058a97a64bd189bed84038b1ffe719769c7" datatype="html">\n        <source>Today so far</source>\n        <target>Fino a oggi</target>\n      </trans-unit>\n      <trans-unit id="3b0b849be007510021d3d383df75bec95ef9c97b" datatype="html">\n        <source>Day before yesterday</source>\n        <target>Giorno prima di ieri</target>\n      </trans-unit>\n      <trans-unit id="6b430c2c394c4d32ebd7d46c8c46ab60e1b29ccb" datatype="html">\n        <source>Last 2 days</source>\n        <target>Ultimi 2 giorni</target>\n      </trans-unit>\n      <trans-unit id="d5e812a87a5d57a94200a2013027cab76a7c4863" datatype="html">\n        <source>This day last week</source>\n        <target>Questo giorno della scorsa settimana</target>\n      </trans-unit>\n      <trans-unit id="d00edc936eeab6b5577401f115ca86ca2c87dc9a" datatype="html">\n        <source>Previous week</source>\n        <target>Settimana precedente</target>\n      </trans-unit>\n      <trans-unit id="b036e40577baa6b918b2267d319d4b3aeaa88a5a" datatype="html">\n        <source>This week</source>\n        <target>Questa settimana</target>\n      </trans-unit>\n      <trans-unit id="99ad5a6096b3fcb3f021f3779bae710cdfeb8934" datatype="html">\n        <source>This week so far</source>\n        <target>Fino a questa settimana</target>\n      </trans-unit>\n      <trans-unit id="02e0243b60007368f87dc01e083f232dd025096d" datatype="html">\n        <source>Last 7 days</source>\n        <target>Ultimi 7 giorni</target>\n      </trans-unit>\n      <trans-unit id="c3b08b07b5ab98e7cdcf18df39355690ab7d3884" datatype="html">\n        <source>Previous month</source>\n        <target>Mese precedente</target>\n      </trans-unit>\n      <trans-unit id="1b2562c6d5aa90644e7dc91feee82e2005fceb33" datatype="html">\n        <source>This month</source>\n        <target>Questo mese</target>\n      </trans-unit>\n      <trans-unit id="26b4b18c5917934abb169ba9aa490e57f7bf10b8" datatype="html">\n        <source>This month so far</source>\n        <target>Fino a questo mese</target>\n      </trans-unit>\n      <trans-unit id="7668986b9f753fcd72ad4a00b1a0c4861d1f7fb8" datatype="html">\n        <source>Last 30 days</source>\n        <target>Ultimi 30 giorni</target>\n      </trans-unit>\n      <trans-unit id="ba1e822408d90c6fbd2989100fa648bfd5e8ee84" datatype="html">\n        <source>Last 90 days</source>\n        <target>Ultimi 90 giorni</target>\n      </trans-unit>\n      <trans-unit id="c3df03f899a914c4181adcdc8a3f077424f7b6e8" datatype="html">\n        <source>Last 6 months</source>\n        <target>Ultimi 6 mesi</target>\n      </trans-unit>\n      <trans-unit id="7f9a92757580c9f31c309c0a3812ea429274eadf" datatype="html">\n        <source>Last 1 year</source>\n        <target>Ultimo anno</target>\n      </trans-unit>\n      <trans-unit id="5a9fede30ff65cb4b4426f6b1ed31afb67ecd7b0" datatype="html">\n        <source>Previous year</source>\n        <target>Anno precedente</target>\n      </trans-unit>\n      <trans-unit id="65cefcc53d1f6445df7568e8a40c49165f1090ee" datatype="html">\n        <source>This year</source>\n        <target>Quest\'anno</target>\n      </trans-unit>\n      <trans-unit id="1f68b766944dc3865bddab765fe952b0c1c43f92" datatype="html">\n        <source>This year so far</source>\n        <target>Fino a quest\'anno</target>\n      </trans-unit>\n      <trans-unit id="4d4b77e614f8043fdadef5d6d235655bb48eb311" datatype="html">\n        <source>Last 2 years</source>\n        <target>Ultimi 2 anni</target>\n      </trans-unit>\n      <trans-unit id="138afa339ea6e75d25a474affe1edbcb90e00ec0" datatype="html">\n        <source>Last 5 years</source>\n        <target>Ultimi 5 anni</target>\n      </trans-unit>\n      <trans-unit id="37391297bb077a6f84484930261b01a3ce38327b" datatype="html">\n        <source>No items selected.</source>\n        <target>Nessun elemento selezionato.</target>\n      </trans-unit>\n      <trans-unit id="2c1e52ee832661b4a0f570877d24661736b16af1" datatype="html">\n        <source>Deselect item to select again</source>\n        <target>Deselezionare l\'elemento per selezionare di nuovo</target>\n      </trans-unit>\n      <trans-unit id="c8c9c6e5918659336824bbdda3501c66eaa79a4c" datatype="html">\n        <source>Selection limit reached</source>\n        <target> Raggiunto il limite per la selezione</target>\n      </trans-unit>\n      <trans-unit id="02d184c288f567825a1fcbf83bcd3099a10853d5" datatype="html">\n        <source>Filter tags</source>\n        <target>Filtra tag</target>\n      </trans-unit>\n      <trans-unit id="aa00748e49c269956837d6f3acdd8d218796a8d8" datatype="html">\n        <source>Add badge</source>\n        <target>Aggiungi badge</target>\n      </trans-unit>\n      <trans-unit id="4078a92d8121abdce7d8f346a88914923ec835fc" datatype="html">\n        <source>There are no items available.</source>\n        <target>Non vi sono elementi disponibili.</target>\n      </trans-unit>\n      <trans-unit id="55dd9f44e64851bca3b7bfc9283a5ff36f030228" datatype="html">\n        <source>Set</source>\n        <target>Set</target>\n      </trans-unit>\n      <trans-unit id="019d4bd6a5690f0cfa0ecf346a4e6bf7f0d8debb" datatype="html">\n        <source>Remove</source>\n        <target>Remove</target>\n      </trans-unit>\n      <trans-unit id="e168fe6c468b3ad632731395ef89860274242844" datatype="html">\n        <source>Unset</source>\n        <target>Unset</target>\n      </trans-unit>\n      <trans-unit id="54a4a3132b693575728a45a5f3154ad4c9af404b" datatype="html">\n        <source>Clone</source>\n        <target>Clona</target>\n      </trans-unit>\n      <trans-unit id="1979da7460819153e11d2078244645d94291b69c" datatype="html">\n        <source>Copy</source>\n        <target>Copia</target>\n      </trans-unit>\n      <trans-unit id="2e5e77dbaadd6588d8bbf737139fd9806294ae28" datatype="html">\n        <source>Deep Scrub</source>\n        <target>Pulitura approfondita</target>\n      </trans-unit>\n      <trans-unit id="bf463b189696c19769ea263227e6c22aefafb918" datatype="html">\n        <source>Destroy</source>\n        <target>Eliminazione definitiva</target>\n      </trans-unit>\n      <trans-unit id="b4e94d529ff10db4d86f3f48900fa67ede3411fd" datatype="html">\n        <source>Evict</source>\n        <target>Evict</target>\n      </trans-unit>\n      <trans-unit id="3747fff7faf52b436ecff5fb8555091736d92c70" datatype="html">\n        <source>Flatten</source>\n        <target>Appiattisci</target>\n      </trans-unit>\n      <trans-unit id="66fdbf32e5449cc54a3d1e19c7b8f4ea238facfb" datatype="html">\n        <source>Mark Down</source>\n        <target>Declassa</target>\n      </trans-unit>\n      <trans-unit id="0cda3e824fb2f9c731e5a60b859dedc1fe03127e" datatype="html">\n        <source>Mark In</source>\n        <target>Attiva</target>\n      </trans-unit>\n      <trans-unit id="f833354f43cb38c5716faa8759a9bbdd1ab8f199" datatype="html">\n        <source>Mark Lost</source>\n        <target>Contrassegna come perso</target>\n      </trans-unit>\n      <trans-unit id="75fb9f970ba365398c45e57bbb1019c009f6b832" datatype="html">\n        <source>Mark Out</source>\n        <target>Disattiva</target>\n      </trans-unit>\n      <trans-unit id="45480c03b0a3a37ff8f6a5600a6a034b40fbaea4" datatype="html">\n        <source>Protect</source>\n        <target>Proteggi</target>\n      </trans-unit>\n      <trans-unit id="e26f9cf3666aace4e524b1505c9795d76d87738d" datatype="html">\n        <source>Rename</source>\n        <target>Rinomina</target>\n      </trans-unit>\n      <trans-unit id="d5cec7468241d72cafd86ad1af6d55b09a6e3ae5" datatype="html">\n        <source>Restore</source>\n        <target>Ripristina</target>\n      </trans-unit>\n      <trans-unit id="ba073985cfd2528c77a746ed596b2f2052b973c5" datatype="html">\n        <source>Move to Trash</source>\n        <target>Sposta nel cestino</target>\n      </trans-unit>\n      <trans-unit id="3ea9b96a21a499d296a7f25407da0f3df6c2d5ed" datatype="html">\n        <source>Unprotect</source>\n        <target>Rimuovi protezione</target>\n      </trans-unit>\n      <trans-unit id="024cdb2814b0cb3f4ced148f1a0b9854447cb214" datatype="html">\n        <source>Change</source>\n        <target>Change</target>\n      </trans-unit>\n      <trans-unit id="011f3e2bfc1fd8407eb5f599352665bfeb145664" datatype="html">\n        <source>Recreate</source>\n        <target>Recreate</target>\n      </trans-unit>\n      <trans-unit id="6df2dfa48bef5510c82fb43f4e71a7f9557f3d71" datatype="html">\n        <source>Expire</source>\n        <target>Expire</target>\n      </trans-unit>\n      <trans-unit id="28df1b02fd88d2deb0212bc5d7ff34cf9492fa54" datatype="html">\n        <source>Deleted</source>\n        <target>Eliminato</target>\n      </trans-unit>\n      <trans-unit id="80e3b490720757978c99a7b5af3885faf202b955" datatype="html">\n        <source>Added</source>\n        <target>Added</target>\n      </trans-unit>\n      <trans-unit id="1aa4883bc4f1352f7a0bdd94810a9bf6dc22bd02" datatype="html">\n        <source>Removed</source>\n        <target>Removed</target>\n      </trans-unit>\n      <trans-unit id="402f3ee47f98fbbc68530239b1ddcbb9e96a460c" datatype="html">\n        <source>Edited</source>\n        <target>Edited</target>\n      </trans-unit>\n      <trans-unit id="96d56ec71c6e78cb4d6204c4a9359a3d38fcdb59" datatype="html">\n        <source>Canceled</source>\n        <target>Canceled</target>\n      </trans-unit>\n      <trans-unit id="a3318a2ee2bd0064b6b9ff72a4018b679ec63125" datatype="html">\n        <source>Cloned</source>\n        <target>Clonato</target>\n      </trans-unit>\n      <trans-unit id="ef90545bc832876c0d7f9a10363c75137472bbb5" datatype="html">\n        <source>Copied</source>\n        <target>Copiato</target>\n      </trans-unit>\n      <trans-unit id="5a13d3834133e09544ec93885662f181372dcf46" datatype="html">\n        <source>Deep Scrubbed</source>\n        <target>Deep Scrubbed</target>\n      </trans-unit>\n      <trans-unit id="7c9efb91434a5c15e9579c0b31c8e184b8c8240d" datatype="html">\n        <source>Destroyed</source>\n        <target>Destroyed</target>\n      </trans-unit>\n      <trans-unit id="647059bf3ea098fffedf92ddfad792bb3daa3c95" datatype="html">\n        <source>Flattened</source>\n        <target>Appiattito</target>\n      </trans-unit>\n      <trans-unit id="8df71e952319eafa71c8e6ef6144b780af8813ff" datatype="html">\n        <source>Marked Down</source>\n        <target>Marked Down</target>\n      </trans-unit>\n      <trans-unit id="25658f5a080a1cab3b91e17b756b1d1dc46bb9b3" datatype="html">\n        <source>Marked In</source>\n        <target>Marked In</target>\n      </trans-unit>\n      <trans-unit id="ebcf306036a6c5579df9448f77eca98d491db245" datatype="html">\n        <source>Marked Lost</source>\n        <target>Marked Lost</target>\n      </trans-unit>\n      <trans-unit id="3a8803369ac18be3ad762384b9fda095fe2a6dcc" datatype="html">\n        <source>Marked Out</source>\n        <target>Marked Out</target>\n      </trans-unit>\n      <trans-unit id="0fe2a62ea7c609fa8326ee6d38060bc5ba8bf34f" datatype="html">\n        <source>Protected</source>\n        <target>Protected</target>\n      </trans-unit>\n      <trans-unit id="69b0446c6c2411c4fe01e411b8ceec72d4044fb4" datatype="html">\n        <source>Purged</source>\n        <target>Eliminato definitivamente</target>\n      </trans-unit>\n      <trans-unit id="d53de1a61bd51c815dc374c7f97e4ee69230e412" datatype="html">\n        <source>Renamed</source>\n        <target>Renamed</target>\n      </trans-unit>\n      <trans-unit id="86fc6cae82c095f14105eb8a61d7b3fa948304b7" datatype="html">\n        <source>Restored</source>\n        <target>Ripristinato</target>\n      </trans-unit>\n      <trans-unit id="e87dd0fd35460cb743046db918dfce2137b5977a" datatype="html">\n        <source>Reweighted</source>\n        <target>Reweighted</target>\n      </trans-unit>\n      <trans-unit id="dc21fd6547f2325c67f6deff925f29eb07a2db3e" datatype="html">\n        <source>Rolled back</source>\n        <target>Rollback eseguito</target>\n      </trans-unit>\n      <trans-unit id="15dec4c2d73a516c10aef90aeeea3364fa794615" datatype="html">\n        <source>Scrubbed</source>\n        <target>Scrubbed</target>\n      </trans-unit>\n      <trans-unit id="8dc560ded67482f109a98e0638851ad1d37188b3" datatype="html">\n        <source>Showed</source>\n        <target>Showed</target>\n      </trans-unit>\n      <trans-unit id="197259b7ea76f15c6d0a64b075a673fd4112ada7" datatype="html">\n        <source>Moved to Trash</source>\n        <target>Moved to Trash</target>\n      </trans-unit>\n      <trans-unit id="8fb15cb102cd75b562680290b7e04c44d80018f2" datatype="html">\n        <source>Unprotected</source>\n        <target>Unprotected</target>\n      </trans-unit>\n      <trans-unit id="8588eafa498262a1cbb5043ad68cf0ff669c4f10" datatype="html">\n        <source>Recreated</source>\n        <target>Recreated</target>\n      </trans-unit>\n      <trans-unit id="ffde7468d7b5cad6990095ed68ddee3d67cd02f8" datatype="html">\n        <source>Expired</source>\n        <target>Expired</target>\n      </trans-unit>\n      <trans-unit id="4f20f2d5a6882190892e58b85f6ccbedfa737952" datatype="html">\n        <source>Yes</source>\n        <target>Sì</target>\n      </trans-unit>\n      <trans-unit id="3d3ae7deebc5949b0c1c78b9847886a94321d9fd" datatype="html">\n        <source>No</source>\n        <target>No</target>\n      </trans-unit>\n      <trans-unit id="baf918eed9d4050cdad2acebc0f27b6eaf8e3fcd" datatype="html">\n        <source>Required rules for passwords:</source>\n        <target>Required rules for passwords:</target>\n      </trans-unit>\n      <trans-unit id="40f61909e1f017c4652e64b055089beef19cf871" datatype="html">\n        <source>Must contain at least \n          <x id="INTERPOLATION" equiv-text="{{length}}"/> characters\n        </source>\n        <target>Must contain at least \n          <x id="INTERPOLATION" equiv-text="{{length}}"/> characters\n        </target>\n      </trans-unit>\n      <trans-unit id="f4f5dbb3a05b5f38dab47ef38dad88a4574a765a" datatype="html">\n        <source>Must not be the same as the previous one</source>\n        <target>Must not be the same as the previous one</target>\n      </trans-unit>\n      <trans-unit id="607370e07b50087c196a5fcea9184e3d693226b2" datatype="html">\n        <source>Cannot contain the username</source>\n        <target>Cannot contain the username</target>\n      </trans-unit>\n      <trans-unit id="e6e355eab2596251aaa42623b41e6026d5c03e3b" datatype="html">\n        <source>Cannot contain any configured keyword</source>\n        <target>Cannot contain any configured keyword</target>\n      </trans-unit>\n      <trans-unit id="394bcd6d5e4da75b720c4d28f94f2aef7bb38355" datatype="html">\n        <source>Cannot contain any repetitive characters e.g. "aaa"</source>\n        <target>Cannot contain any repetitive characters e.g. "aaa"</target>\n      </trans-unit>\n      <trans-unit id="030e61e0bcf2536fb047645db6182d43e9fca9e9" datatype="html">\n        <source>Cannot contain any sequential characters e.g. "abc"</source>\n        <target>Cannot contain any sequential characters e.g. "abc"</target>\n      </trans-unit>\n      <trans-unit id="99fa0b67376d40142bd4d3ace3344abf4f98b6a5" datatype="html">\n        <source>Your matcher seems to match no currently defined rule or active alert.</source>\n        <target>Your matcher seems to match no currently defined rule or active alert.</target>\n      </trans-unit>\n      <trans-unit id="7e284852732c303eb1f47de9aca2569e41aeffed" datatype="html">\n        <source>no active alerts</source>\n        <target>no active alerts</target>\n      </trans-unit>\n      <trans-unit id="b8042829e4fbe7b09fd9bac9fa0ecf5cc1802fee" datatype="html">\n        <source>1 active alert</source>\n        <target>1 active alert</target>\n      </trans-unit>\n      <trans-unit id="e24adce97669cb0fc74cc13fdc14179b6f78ea5e" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{n}}"/> active alerts\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{n}}"/> active alerts\n        </target>\n      </trans-unit>\n      <trans-unit id="d8fb058ff5883731d38a132da4ca45cfe8d719a3" datatype="html">\n        <source>Matches 1 rule</source>\n        <target>Matches 1 rule</target>\n      </trans-unit>\n      <trans-unit id="90aaef24d192e67c3fbc2ec6f8bfaff211cea128" datatype="html">\n        <source>Matches \n          <x id="INTERPOLATION" equiv-text="{{n}}"/> rules\n        </source>\n        <target>Matches \n          <x id="INTERPOLATION" equiv-text="{{n}}"/> rules\n        </target>\n      </trans-unit>\n      <trans-unit id="f4685dc581e18244cd410f1057a8c56a9dbfe8df" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rules}}"/> with \n          <x id="INTERPOLATION_1" equiv-text="{{alerts}}"/>.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rules}}"/> with \n          <x id="INTERPOLATION_1" equiv-text="{{alerts}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8fd98fb2a0f24ba72cde0787dd3f02cfc17de469" datatype="html">\n        <source>Quality of Service</source>\n        <target>Qualità di servizio</target>\n      </trans-unit>\n      <trans-unit id="2c53f3ce2c6fff9025a7b41cc334521725da6e7b" datatype="html">\n        <source>BPS Limit</source>\n        <target>Limite di BPS</target>\n      </trans-unit>\n      <trans-unit id="e897624a392419386b035bcd8529337e262fc41d" datatype="html">\n        <source>The desired limit of IO bytes per second.</source>\n        <target>Il limite desiderato di byte I/O al secondo.</target>\n      </trans-unit>\n      <trans-unit id="dc56f77e4507da7e86a3accd0a2a7099a838d539" datatype="html">\n        <source>IOPS Limit</source>\n        <target>Limite di IOPS</target>\n      </trans-unit>\n      <trans-unit id="141c3f6eadbb35b0e17b2f847e4cac23240a6ea9" datatype="html">\n        <source>The desired limit of IO operations per second.</source>\n        <target>Il limite desiderato di operazioni I/O al secondo.</target>\n      </trans-unit>\n      <trans-unit id="3b3b101f16c38806e984b157e0cf22cd21451122" datatype="html">\n        <source>Read BPS Limit</source>\n        <target>Limite BPS in lettura</target>\n      </trans-unit>\n      <trans-unit id="87835fabb6a645873f3829a450ca1d58f97754f2" datatype="html">\n        <source>The desired limit of read bytes per second.</source>\n        <target>Il limite desiderato dei byte letti al secondo.</target>\n      </trans-unit>\n      <trans-unit id="28b485e700df46d70b96666099f714e3ae9e5c2e" datatype="html">\n        <source>Read IOPS Limit</source>\n        <target>Limite di IOPS in lettura</target>\n      </trans-unit>\n      <trans-unit id="5907bd1a5cf3e20e740bca676cb1538372e1f9ff" datatype="html">\n        <source>The desired limit of read operations per second.</source>\n        <target>Il limite desiderato di operazioni di lettura al secondo.</target>\n      </trans-unit>\n      <trans-unit id="07317121f0b194987d4dee8b322f521ac17bf124" datatype="html">\n        <source>Write BPS Limit</source>\n        <target>Limite di BPS in scrittura</target>\n      </trans-unit>\n      <trans-unit id="4022c78bd9132ca2ec67927f8484c437d1d9b6fd" datatype="html">\n        <source>The desired limit of write bytes per second.</source>\n        <target>Il limite desiderato di byte scritti al secondo.</target>\n      </trans-unit>\n      <trans-unit id="52c22c19f98ff3a09bd811292954a889b93d28b7" datatype="html">\n        <source>Write IOPS Limit</source>\n        <target>Limite di IOPS in scrittura</target>\n      </trans-unit>\n      <trans-unit id="0ed62e3fd8654b3191fc7fa959ad3f10f1ea773a" datatype="html">\n        <source>The desired limit of write operations per second.</source>\n        <target>Il limite desiderato di operazioni di scrittura al secondo.</target>\n      </trans-unit>\n      <trans-unit id="d90c99d77864f21f932ee1369019f400c4ad0e2d" datatype="html">\n        <source>BPS Burst</source>\n        <target>Burst BPS</target>\n      </trans-unit>\n      <trans-unit id="29c32192f4d185139aaaf6d3a766a3411dfeabbe" datatype="html">\n        <source>The desired burst limit of IO bytes.</source>\n        <target>Il limite di burst desiderato dei byte di I/O.</target>\n      </trans-unit>\n      <trans-unit id="b988b90489e899941e196c3dd0ecc22e37540224" datatype="html">\n        <source>IOPS Burst</source>\n        <target>Burst IOPS</target>\n      </trans-unit>\n      <trans-unit id="02c5de8ff11870f1b3896f2b45637ce0dba1ed4b" datatype="html">\n        <source>The desired burst limit of IO operations.</source>\n        <target>Il limite di burst desiderato delle operazioni di I/O.</target>\n      </trans-unit>\n      <trans-unit id="7a160538129b37cf595f1651f28b5fac62fbc0f8" datatype="html">\n        <source>Read BPS Burst</source>\n        <target>Burst BPS in lettura</target>\n      </trans-unit>\n      <trans-unit id="b573a5df16a53b9947288461bc24e6a0eb4341d6" datatype="html">\n        <source>The desired burst limit of read bytes.</source>\n        <target>Il limite di burst desiderato dei byte letti.</target>\n      </trans-unit>\n      <trans-unit id="1d5b8c2a0c653651cc4ca4b8fed9456f449220d1" datatype="html">\n        <source>Read IOPS Burst</source>\n        <target>Burst IOPS in lettura</target>\n      </trans-unit>\n      <trans-unit id="20b199f9d4a8d08ffefec66040e27639ec221512" datatype="html">\n        <source>The desired burst limit of read operations.</source>\n        <target>Il limite di burst desiderato delle operazioni di lettura.</target>\n      </trans-unit>\n      <trans-unit id="824525ae57992aee629ddffcd500a8b77087ddec" datatype="html">\n        <source>Write BPS Burst</source>\n        <target>Burst BPS in scrittura</target>\n      </trans-unit>\n      <trans-unit id="a90aac4050a5d79765da5e1186909f6d4d7f981d" datatype="html">\n        <source>The desired burst limit of write bytes.</source>\n        <target>Il limite di burst desiderato dei byte scritti.</target>\n      </trans-unit>\n      <trans-unit id="35a8c6e6c249c7d16e26aa7c4ef97c06db405070" datatype="html">\n        <source>Write IOPS Burst</source>\n        <target>Burst di IOPS in scrittura</target>\n      </trans-unit>\n      <trans-unit id="b356abd41d7e9eea4d20c03d2e6892b6d435ecbd" datatype="html">\n        <source>The desired burst limit of write operations.</source>\n        <target>Il limite di burst desiderato delle operazioni di scrittura.</target>\n      </trans-unit>\n      <trans-unit id="24c4d50fe8567de381a20a1745f1b6d37eacaa90" datatype="html">\n        <source>Failed to \n          <x id="INTERPOLATION" equiv-text="{{failure}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{metadata}}"/>\n        </source>\n        <target>Failed to \n          <x id="INTERPOLATION" equiv-text="{{failure}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{metadata}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="f54b6f09b390d5ade0e354f6c7d4743c10a315cc" datatype="html">\n        <source>Executing</source>\n        <target>In esecuzione</target>\n      </trans-unit>\n      <trans-unit id="5cdfe3e3330ea42bfd29c540dbd268bee97d364d" datatype="html">\n        <source>execute</source>\n        <target>esegui</target>\n      </trans-unit>\n      <trans-unit id="6e98e243518daa88be30330fcdbd2d10f8eae4d7" datatype="html">\n        <source>Executed</source>\n        <target>Eseguito</target>\n      </trans-unit>\n      <trans-unit id="24b09aa5bd909273a023d2d788a2673325c77e31" datatype="html">\n        <source>unknown task</source>\n        <target>task sconosciuto</target>\n      </trans-unit>\n      <trans-unit id="114b5f92b9192b229ffc9a450319a97ccca2aa5c" datatype="html">\n        <source>Creating</source>\n        <target>Creazione in corso</target>\n      </trans-unit>\n      <trans-unit id="56695b69d27437ada580a187958407e7c856d46e" datatype="html">\n        <source>create</source>\n        <target>crea</target>\n      </trans-unit>\n      <trans-unit id="9db60170ef3b3b41a863e7d5ee7cec10919b9141" datatype="html">\n        <source>Updating</source>\n        <target>Aggiornamento in corso</target>\n      </trans-unit>\n      <trans-unit id="64412640835b7d25247cb254d4f911366c0e6862" datatype="html">\n        <source>update</source>\n        <target>aggiorna</target>\n      </trans-unit>\n      <trans-unit id="416193bb373d59477458b00e5922d755e2e2cacd" datatype="html">\n        <source>Deleting</source>\n        <target>Eliminazione in corso</target>\n      </trans-unit>\n      <trans-unit id="d07a282afc7fbdb39cea6e1c9b544882a7260a86" datatype="html">\n        <source>Adding</source>\n        <target>Adding</target>\n      </trans-unit>\n      <trans-unit id="a11ec4e640f241329943237d2a3cceaa4823658e" datatype="html">\n        <source>add</source>\n        <target>add</target>\n      </trans-unit>\n      <trans-unit id="ea1c70b874904216cc5af24bd7cb3dab2d074d42" datatype="html">\n        <source>Removing</source>\n        <target>Removing</target>\n      </trans-unit>\n      <trans-unit id="4da487aec5a29ce4372e7b512227cd665b01fe6f" datatype="html">\n        <source>remove</source>\n        <target>remove</target>\n      </trans-unit>\n      <trans-unit id="0e21237afdc84ec360c374fa678d9b1cfaa334f9" datatype="html">\n        <source>Importing</source>\n        <target>Importing</target>\n      </trans-unit>\n      <trans-unit id="c6b4128c006f4cc0564137e1a1482b5c432aa347" datatype="html">\n        <source>import</source>\n        <target>import</target>\n      </trans-unit>\n      <trans-unit id="3b9f4138abbca0fd66db1f7332f4b54e2a6d916d" datatype="html">\n        <source>Imported</source>\n        <target>Imported</target>\n      </trans-unit>\n      <trans-unit id="3f757cfc3749ebb5d4462017cb60138ca082f15f" datatype="html">\n        <source>RBD \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>RBD \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="a6c681e6130fe440ae40de99a405fcf5c7eefee1" datatype="html">\n        <source>RBD snapshot \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>RBD snapshot \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="2bf18ddf3785f7afb4f01dcf63d3d8c40f4bfba5" datatype="html">\n        <source>mirroring site name</source>\n        <target>mirroring site name</target>\n      </trans-unit>\n      <trans-unit id="167b73bb24b4695614ce0fc567b7a45080457a44" datatype="html">\n        <source>bootstrap token</source>\n        <target>bootstrap token</target>\n      </trans-unit>\n      <trans-unit id="4fb54a0291f49583c317d4a3690239141b5a8f68" datatype="html">\n        <source>mirror mode for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>mirror mode for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="6621ab6e122a149326a1e48e9051a41e7f203cf6" datatype="html">\n        <source>mirror peer for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>mirror peer for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="db15adc778317d551232fe712eb03a2c1eac4a43" datatype="html">\n        <source>all dashboards</source>\n        <target>all dashboards</target>\n      </trans-unit>\n      <trans-unit id="6c19652df9249c60827044ed6274933cab180c63" datatype="html">\n        <source>OSDs (DriveGroups: \n          <x id="INTERPOLATION" equiv-text="{{tracking_id}}"/>)\n        </source>\n        <target>OSDs (DriveGroups: \n          <x id="INTERPOLATION" equiv-text="{{tracking_id}}"/>)\n        </target>\n      </trans-unit>\n      <trans-unit id="1b559dbd9cc9664fd788c2da9a10d3abafe066cb" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8fc28e1103d9f2ef47b9fff9a4f74e8365c7cf19" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="1cdc7ea44fcb85d0cfcf6e7379d625d8674a8fbe" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="460f07780389d24c6a540c007c7367a56afad585" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> is busy.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> is busy.\n        </target>\n      </trans-unit>\n      <trans-unit id="1ff7676ad1e991102224540a32dd44ad1ab88aa8" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.\n        </target>\n      </trans-unit>\n      <trans-unit id="c3a1dcca2b2ba20fbe39e2441e7bb1cf9c20cdf3" datatype="html">\n        <source>Cloning</source>\n        <target>Clonazione in corso</target>\n      </trans-unit>\n      <trans-unit id="b5fa4e0a3a279dee5b6bf7b823e54387f7c79994" datatype="html">\n        <source>clone</source>\n        <target>clona</target>\n      </trans-unit>\n      <trans-unit id="29b7452e8367af9aa8fa828f16ff94c3530e7a1a" datatype="html">\n        <source>Snapshot of \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> must be protected.\n        </source>\n        <target>Snapshot of \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> must be protected.\n        </target>\n      </trans-unit>\n      <trans-unit id="369f93b9a07a9465f7a261e9f0021b6cfa7180c5" datatype="html">\n        <source>Copying</source>\n        <target>Copia in corso</target>\n      </trans-unit>\n      <trans-unit id="37584f889855d153a106f5dffe23d21f9453c8ff" datatype="html">\n        <source>copy</source>\n        <target>copia</target>\n      </trans-unit>\n      <trans-unit id="6ea9e313a04ef59222feaadfe84e97b4c69d7e9e" datatype="html">\n        <source>Flattening</source>\n        <target>Appiattimento</target>\n      </trans-unit>\n      <trans-unit id="1f57593581b64d2d4c70eab1736bd9bccc66a7dc" datatype="html">\n        <source>flatten</source>\n        <target>appiattisci</target>\n      </trans-unit>\n      <trans-unit id="d990ef9680cd23bbe652c37eb46bf038cfee80ad" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="a101745d080ef65c09bd5fafc796f94ddb9f9d60" datatype="html">\n        <source>Cannot unprotect \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it contains child images.\n        </source>\n        <target>Cannot unprotect \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it contains child images.\n        </target>\n      </trans-unit>\n      <trans-unit id="647968f4cde7786cd53ec8e6aa9802ac6824a262" datatype="html">\n        <source>Cannot delete \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it\'s protected.\n        </source>\n        <target>Cannot delete \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it\'s protected.\n        </target>\n      </trans-unit>\n      <trans-unit id="57ddd3e15cf0ce974356b757451f50116a27272b" datatype="html">\n        <source>Rolling back</source>\n        <target>Rollback in corso</target>\n      </trans-unit>\n      <trans-unit id="a8913a3a5ee61f2598b5f0432cb9b20cdd60548e" datatype="html">\n        <source>rollback</source>\n        <target>rollback</target>\n      </trans-unit>\n      <trans-unit id="de8676f0017c9db6c49388cd7d63cd0a83a0c1dc" datatype="html">\n        <source>Moving</source>\n        <target>Spostamento in corso</target>\n      </trans-unit>\n      <trans-unit id="2d810712308ae63cb795d809687a3254ef7a2f05" datatype="html">\n        <source>move</source>\n        <target>sposta</target>\n      </trans-unit>\n      <trans-unit id="f3ba995236e5c1cc77686108980c099a90aec754" datatype="html">\n        <source>Moved</source>\n        <target>Spostato</target>\n      </trans-unit>\n      <trans-unit id="d0422169252d132624a20f267b5c29f28cb53ebe" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' to trash\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' to trash\n        </target>\n      </trans-unit>\n      <trans-unit id="b603e2dfed9808222fbcb5a7c5f4da2cc6ae2aae" datatype="html">\n        <source>Could not find image.</source>\n        <target>Impossibile trovare l\'immagine.</target>\n      </trans-unit>\n      <trans-unit id="398debe73006b1fe5177ed81d2e7b0cc852f61ec" datatype="html">\n        <source>Restoring</source>\n        <target>Ripristino in corso</target>\n      </trans-unit>\n      <trans-unit id="c252806fb400e79bac194696632c9362742b1538" datatype="html">\n        <source>restore</source>\n        <target>ripristina</target>\n      </trans-unit>\n      <trans-unit id="30b8bcf69b3f1754b7abba173fd806cfcea4cb04" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' into \'\n          <x id="INTERPOLATION_1" equiv-text="{{new_id}}"/>\'\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' into \'\n          <x id="INTERPOLATION_1" equiv-text="{{new_id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="13b7b241cef989fe0932ddd180e757658e1817e7" datatype="html">\n        <source>Image name \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' is already in use.\n        </source>\n        <target>Image name \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' is already in use.\n        </target>\n      </trans-unit>\n      <trans-unit id="cc1cee12c833e8fbbef28a2a7c449dc530da912d" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="38e5f47f8bef505652f3e87f46efb00ead1350a3" datatype="html">\n        <source>Purging</source>\n        <target>Eliminazione in corso</target>\n      </trans-unit>\n      <trans-unit id="e4e57747f123f0fe6fe3a0ecf608f8bc287dec0c" datatype="html">\n        <source>purge</source>\n        <target>elimina definitivamente</target>\n      </trans-unit>\n      <trans-unit id="1560d58fdf39663929653250d45f5b1dfe078fea" datatype="html">\n        <source>all pools</source>\n        <target>tutti i pool</target>\n      </trans-unit>\n      <trans-unit id="1ac3dc50c2c3d86e98bc0967ee1e696810a2d3aa" datatype="html">\n        <source>images from \n          <x id="INTERPOLATION" equiv-text="{{message}}"/>\n        </source>\n        <target>images from \n          <x id="INTERPOLATION" equiv-text="{{message}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="02278abbb044ece04ab6bd80bd2060198d31d83b" datatype="html">\n        <source>Cannot disable mirroring because it contains a peer.</source>\n        <target>Impossibile disabilitare l\'esecuzione della copia speculare perché contiene un peer.</target>\n      </trans-unit>\n      <trans-unit id="5c4525a1b76ca54d1aadeaecfdb83aedc2eec6e0" datatype="html">\n        <source>Identifying</source>\n        <target>Identifying</target>\n      </trans-unit>\n      <trans-unit id="ffd067e54a061d1f27cb35f0cf67ef7f29e19111" datatype="html">\n        <source>identify</source>\n        <target>identify</target>\n      </trans-unit>\n      <trans-unit id="7c921f339274688c22ba1acac7af6b097ad3599d" datatype="html">\n        <source>Identified</source>\n        <target>Identified</target>\n      </trans-unit>\n      <trans-unit id="3307492c27c2150cd26c514030444e11fd61089f" datatype="html">\n        <source>device \'\n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\' on host \'\n          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>\'\n        </source>\n        <target>device \'\n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\' on host \'\n          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="f123ae1fc3b000e5d08e766dd78bff162afe709d" datatype="html">\n        <source>host \'\n          <x id="INTERPOLATION" equiv-text="{{hostname}}"/>\'\n        </source>\n        <target>host \'\n          <x id="INTERPOLATION" equiv-text="{{hostname}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="c1af76189dcefd094da2bc1a4a63968f3bab5789" datatype="html">\n        <source>OSD \'\n          <x id="INTERPOLATION" equiv-text="{{svc_id}}"/>\'\n        </source>\n        <target>OSD \'\n          <x id="INTERPOLATION" equiv-text="{{svc_id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="dfe70001dc590a9e12512cbb206aa29fb36fd00b" datatype="html">\n        <source>pool \'\n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>\'\n        </source>\n        <target>pool \'\n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="59630daf2f4786690fae0cdad55da8887236eabe" datatype="html">\n        <source>erasure code profile \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </source>\n        <target>erasure code profile \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="79052d6c47258dc19ada12dbb2563761102b6f1d" datatype="html">\n        <source>crush rule \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </source>\n        <target>crush rule \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="369462e5e018360e0600bb570866201ad5c3c8a8" datatype="html">\n        <source>target \'\n          <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>\'\n        </source>\n        <target>target \'\n          <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="cf41310917cb19b335e5a950972bbff2346f7a47" datatype="html">\n        <source>NFS \n          <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>\n        </source>\n        <target>NFS \n          <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>\n        </target>\n      </trans-unit>\n    </body>\n  </file>\n</xliff>'},"8mBD":function(t,e,n){!function(t){"use strict";t.defineLocale("pt",{months:"Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Do_2ª_3ª_4ª_5ª_6ª_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"há %s",s:"segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n("wd/R"))},"8xTl":function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("LvDl");class r{transform(t){return a.upperFirst(t)}}},"9/5/":function(t,e){var n=/^\s+|\s+$/g,a=/^[-+]0x[0-9a-f]+$/i,r=/^0b[01]+$/i,o=/^0o[0-7]+$/i,i=parseInt,s="object"==typeof global&&global&&global.Object===Object&&global,c="object"==typeof self&&self&&self.Object===Object&&self,l=s||c||Function("return this")(),d=Object.prototype.toString,u=Math.max,g=Math.min,f=function(){return l.Date.now()};function p(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function m(t){if("number"==typeof t)return t;if(function(t){return"symbol"==typeof t||function(t){return!!t&&"object"==typeof t}(t)&&"[object Symbol]"==d.call(t)}(t))return NaN;if(p(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=p(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(n,"");var s=r.test(t);return s||o.test(t)?i(t.slice(2),s?2:8):a.test(t)?NaN:+t}t.exports=function(t,e,n){var a,r,o,i,s,c,l=0,d=!1,h=!1,b=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function y(e){var n=a,o=r;return a=r=void 0,l=e,i=t.apply(o,n)}function _(t){return l=t,s=setTimeout(v,e),d?y(t):i}function O(t){var n=t-c;return void 0===c||n>=e||n<0||h&&t-l>=o}function v(){var t=f();if(O(t))return C(t);s=setTimeout(v,function(t){var n=e-(t-c);return h?g(n,o-(t-l)):n}(t))}function C(t){return s=void 0,b&&a?y(t):(a=r=void 0,i)}function P(){var t=f(),n=O(t);if(a=arguments,r=this,c=t,n){if(void 0===s)return _(c);if(h)return s=setTimeout(v,e),y(c)}return void 0===s&&(s=setTimeout(v,e)),i}return e=m(e)||0,p(n)&&(d=!!n.leading,o=(h="maxWait"in n)?u(m(n.maxWait)||0,e):o,b="trailing"in n?!!n.trailing:b),P.cancel=function(){void 0!==s&&clearTimeout(s),l=0,a=c=r=s=void 0},P.flush=function(){return void 0===s?i:C(f())},P}},"93I0":function(t,e,n){var a=n("VpIT"),r=n("kOOl"),o=a("keys");t.exports=function(t){return o[t]||(o[t]=r(t))}},"978R":function(t,e,n){"use strict";n.d(e,"a",(function(){return l})),n.d(e,"b",(function(){return d})),n.d(e,"c",(function(){return g})),n.d(e,"d",(function(){return f}));var a=n("8Y7J"),r=n("hpHm"),o=n("mrSG"),i=n("z/SZ"),s=n("2uy1"),c=n("PqYM");class l{constructor(){this.adaptivePosition=!0,this.placement="top",this.triggers="hover focus",this.delay=0}}class d{constructor(t){Object.assign(this,t)}get isBs3(){return Object(r.d)()}ngAfterViewInit(){this.classMap={in:!1,fade:!1},this.classMap[this.placement]=!0,this.classMap[`tooltip-${this.placement}`]=!0,this.classMap.in=!0,this.animation&&(this.classMap.fade=!0),this.containerClass&&(this.classMap[this.containerClass]=!0)}}let u=0,g=(()=>{class t{constructor(t,e,n,r,o,i){this._elementRef=r,this._renderer=o,this._positionService=i,this.tooltipId=u++,this.tooltipChange=new a.EventEmitter,this.containerClass="",this.tooltipAnimation=!0,this.tooltipFadeDuration=150,this.ariaDescribedby=`tooltip-${this.tooltipId}`,this.tooltipStateChanged=new a.EventEmitter,this._tooltip=e.createLoader(this._elementRef,t,this._renderer).provide({provide:l,useValue:n}),Object.assign(this,n),this.onShown=this._tooltip.onShown,this.onHidden=this._tooltip.onHidden}get isOpen(){return this._tooltip.isShown}set isOpen(t){t?this.show():this.hide()}set htmlContent(t){Object(r.i)("tooltipHtml was deprecated, please use `tooltip` instead"),this.tooltip=t}set _placement(t){Object(r.i)("tooltipPlacement was deprecated, please use `placement` instead"),this.placement=t}set _isOpen(t){Object(r.i)("tooltipIsOpen was deprecated, please use `isOpen` instead"),this.isOpen=t}get _isOpen(){return Object(r.i)("tooltipIsOpen was deprecated, please use `isOpen` instead"),this.isOpen}set _enable(t){Object(r.i)("tooltipEnable was deprecated, please use `isDisabled` instead"),this.isDisabled=!t}get _enable(){return Object(r.i)("tooltipEnable was deprecated, please use `isDisabled` instead"),this.isDisabled}set _appendToBody(t){Object(r.i)('tooltipAppendToBody was deprecated, please use `container="body"` instead'),this.container=t?"body":this.container}get _appendToBody(){return Object(r.i)('tooltipAppendToBody was deprecated, please use `container="body"` instead'),"body"===this.container}set _popupClass(t){Object(r.i)("tooltipClass deprecated")}set _tooltipContext(t){Object(r.i)("tooltipContext deprecated")}set _tooltipPopupDelay(t){Object(r.i)("tooltipPopupDelay is deprecated, use `delay` instead"),this.delay=t}get _tooltipTrigger(){return Object(r.i)("tooltipTrigger was deprecated, please use `triggers` instead"),this.triggers}set _tooltipTrigger(t){Object(r.i)("tooltipTrigger was deprecated, please use `triggers` instead"),this.triggers=(t||"").toString()}ngOnInit(){this._tooltip.listen({triggers:this.triggers,show:()=>this.show()}),this.tooltipChange.subscribe(t=>{t||this._tooltip.hide()})}toggle(){if(this.isOpen)return this.hide();this.show()}show(){if(this._positionService.setOptions({modifiers:{flip:{enabled:this.adaptivePosition},preventOverflow:{enabled:this.adaptivePosition}}}),this.isOpen||this.isDisabled||this._delayTimeoutId||!this.tooltip)return;const t=()=>{this._delayTimeoutId&&(this._delayTimeoutId=void 0),this._tooltip.attach(d).to(this.container).position({attachment:this.placement}).show({content:this.tooltip,placement:this.placement,containerClass:this.containerClass,id:this.ariaDescribedby})},e=()=>{this._tooltipCancelShowFn&&this._tooltipCancelShowFn()};if(this.delay){const n=Object(c.a)(this.delay).subscribe(()=>{t(),e()});if(this.triggers){const t=Object(r.f)(this.triggers);this._tooltipCancelShowFn=this._renderer.listen(this._elementRef.nativeElement,t[0].close,()=>{n.unsubscribe(),e()})}}else t()}hide(){this._delayTimeoutId&&(clearTimeout(this._delayTimeoutId),this._delayTimeoutId=void 0),this._tooltip.isShown&&(this._tooltip.instance.classMap.in=!1,setTimeout(()=>{this._tooltip.hide()},this.tooltipFadeDuration))}ngOnDestroy(){this._tooltip.dispose()}}return Object(o.__decorate)([Object(r.a)(),Object(o.__metadata)("design:type",Object)],t.prototype,"tooltip",void 0),t})();class f{static forRoot(){return{ngModule:f,providers:[l,i.a,s.a]}}}},"99TG":function(t,e,n){var a=n("mrSG").__decorate,r=n("mrSG").__metadata;Object.defineProperty(e,"__esModule",{value:!0});var o=n("8Y7J"),i=n("Fjl2");e.DatatableGroupHeaderDirective=function(){function t(){this.rowHeight=0,this.toggle=new o.EventEmitter}return t.prototype.toggleExpandGroup=function(t){this.toggle.emit({type:"group",value:t})},t.prototype.expandAllGroups=function(){this.toggle.emit({type:"all",value:!0})},t.prototype.collapseAllGroups=function(){this.toggle.emit({type:"all",value:!1})},a([o.Input(),r("design:type",Object)],t.prototype,"rowHeight",void 0),a([o.Input(),o.ContentChild(i.DatatableGroupHeaderTemplateDirective,{read:o.TemplateRef,static:!0}),r("design:type",o.TemplateRef)],t.prototype,"template",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"toggle",void 0),a([o.Directive({selector:"ngx-datatable-group-header"})],t)}()},"9Nap":function(t,e,n){var a=n("/9aa");t.exports=function(t){if("string"==typeof t||a(t))return t;var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}},"9Xeq":function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{}},"9d/t":function(t,e,n){var a=n("AO7/"),r=n("xrYK"),o=n("tiKp")("toStringTag"),i="Arguments"==r(function(){return arguments}());t.exports=a?r:function(t){var e,n,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=function(t,e){try{return t[e]}catch(n){}}(e=Object(t),o))?n:i?r(e):"Object"==(a=r(e))&&"function"==typeof e.callee?"Arguments":a}},"9ggG":function(t,e,n){var a=n("Z0cm"),r=n("/9aa"),o=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,i=/^\w*$/;t.exports=function(t,e){if(a(t))return!1;var n=typeof t;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=t&&!r(t))||i.test(t)||!o.test(t)||null!=e&&t in Object(e)}},"9nlD":function(t,e,n){"use strict";n.d(e,"a",(function(){return g}));var a=n("LvDl"),r=n("2Vo4"),o=n("XNiG"),i=n("mtw6"),s=n("G1I9"),c=n("a0VL"),l=n("ufoC"),d=n("8Y7J"),u=n("EApP");let g=(()=>{class t{constructor(t,e,n){this.toastr=t,this.taskMessageService=e,this.cdDatePipe=n,this.hideToasties=!1,this.dataSource=new r.a([]),this.data$=this.dataSource.asObservable(),this.sidebarSubject=new o.a,this.queued=[],this.KEY="cdNotifications";const i=localStorage.getItem(this.KEY);let c=[];a.isString(i)&&(c=JSON.parse(i,(t,e)=>a.isPlainObject(e)?a.assign(new s.a,e):e)),this.dataSource.next(c)}removeAll(){localStorage.removeItem(this.KEY),this.dataSource.next([])}remove(t){const e=this.dataSource.getValue();e.splice(t,1),this.dataSource.next(e),localStorage.setItem(this.KEY,JSON.stringify(e))}save(t){const e=this.dataSource.getValue();for(e.push(t),e.sort((t,e)=>t.timestamp>e.timestamp?-1:1);e.length>10;)e.pop();this.dataSource.next(e),localStorage.setItem(this.KEY,JSON.stringify(e))}show(t,e,n,r,o){return window.setTimeout(()=>{let i;i=a.isFunction(t)?t():a.isObject(t)?t:new s.b(t,e,n,r,o),this.queueToShow(i)},10)}queueToShow(t){this.cancel(this.queuedTimeoutId),this.queued.find(e=>a.isEqual(e,t))||this.queued.push(t),this.queuedTimeoutId=window.setTimeout(()=>{this.showQueued()},500)}showQueued(){this.getUnifiedTitleQueue().forEach(t=>{const e=new s.a(t);e.isFinishedTask||this.save(e),this.showToasty(e)})}getUnifiedTitleQueue(){return Object.values(this.queueShiftByTitle()).map(t=>{const e=t[0];return t.length>1&&(e.message="<ul>"+t.map(t=>`<li>${t.message}</li>`).join("")+"</ul>"),e})}queueShiftByTitle(){const t={};let e;for(;e=this.queued.shift();)t[e.title]||(t[e.title]=[]),t[e.title].push(e);return t}showToasty(t){this.hideToasties||this.toastr[["error","info","success"][t.type]]((t.message?t.message+"<br>":"")+this.renderTimeAndApplicationHtml(t),t.title,t.options)}renderTimeAndApplicationHtml(t){return`<small class="date">${this.cdDatePipe.transform(t.timestamp)}</small><i class="float-right custom-icon ${t.applicationClass}" title="${t.application}"></i>`}notifyTask(t,e=!0){const n=this.finishedTaskToNotification(t,e);return n.isFinishedTask=!0,this.show(n)}finishedTaskToNotification(t,e=!0){let n;return n=t.success&&e?new s.b(i.a.success,this.taskMessageService.getSuccessTitle(t)):new s.b(i.a.error,this.taskMessageService.getErrorTitle(t),this.taskMessageService.getErrorMessage(t)),n.isFinishedTask=!0,n}cancel(t){window.clearTimeout(t)}suspendToasties(t){this.hideToasties=t}toggleSidebar(t=!1){this.sidebarSubject.next(t)}}return t.ngInjectableDef=d["ɵɵdefineInjectable"]({factory:function(){return new t(d["ɵɵinject"](u.j),d["ɵɵinject"](l.a),d["ɵɵinject"](c.a))},token:t,providedIn:"root"}),t})()},"9ppp":function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));const a=(()=>{function t(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return t.prototype=Object.create(Error.prototype),t})()},"9rRi":function(t,e,n){!function(t){"use strict";t.defineLocale("gd",{months:["Am Faoilleach","An Gearran","Am Màrt","An Giblean","An Cèitean","An t-Ògmhios","An t-Iuchar","An Lùnastal","An t-Sultain","An Dàmhair","An t-Samhain","An Dùbhlachd"],monthsShort:["Faoi","Gear","Màrt","Gibl","Cèit","Ògmh","Iuch","Lùn","Sult","Dàmh","Samh","Dùbh"],monthsParseExact:!0,weekdays:["Didòmhnaich","Diluain","Dimàirt","Diciadain","Diardaoin","Dihaoine","Disathairne"],weekdaysShort:["Did","Dil","Dim","Dic","Dia","Dih","Dis"],weekdaysMin:["Dò","Lu","Mà","Ci","Ar","Ha","Sa"],longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[An-diugh aig] LT",nextDay:"[A-màireach aig] LT",nextWeek:"dddd [aig] LT",lastDay:"[An-dè aig] LT",lastWeek:"dddd [seo chaidh] [aig] LT",sameElse:"L"},relativeTime:{future:"ann an %s",past:"bho chionn %s",s:"beagan diogan",ss:"%d diogan",m:"mionaid",mm:"%d mionaidean",h:"uair",hh:"%d uairean",d:"latha",dd:"%d latha",M:"mìos",MM:"%d mìosan",y:"bliadhna",yy:"%d bliadhna"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(t){return t+(1===t?"d":t%10==2?"na":"mh")},week:{dow:1,doy:4}})}(n("wd/R"))},"A+xa":function(t,e,n){!function(t){"use strict";t.defineLocale("cv",{months:"кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав".split("_"),monthsShort:"кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш".split("_"),weekdays:"вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун".split("_"),weekdaysShort:"выр_тун_ытл_юн_кӗҫ_эрн_шӑм".split("_"),weekdaysMin:"вр_тн_ыт_юн_кҫ_эр_шм".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]",LLL:"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm",LLLL:"dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm"},calendar:{sameDay:"[Паян] LT [сехетре]",nextDay:"[Ыран] LT [сехетре]",lastDay:"[Ӗнер] LT [сехетре]",nextWeek:"[Ҫитес] dddd LT [сехетре]",lastWeek:"[Иртнӗ] dddd LT [сехетре]",sameElse:"L"},relativeTime:{future:function(t){return t+(/сехет$/i.exec(t)?"рен":/ҫул$/i.exec(t)?"тан":"ран")},past:"%s каялла",s:"пӗр-ик ҫеккунт",ss:"%d ҫеккунт",m:"пӗр минут",mm:"%d минут",h:"пӗр сехет",hh:"%d сехет",d:"пӗр кун",dd:"%d кун",M:"пӗр уйӑх",MM:"%d уйӑх",y:"пӗр ҫул",yy:"%d ҫул"},dayOfMonthOrdinalParse:/\d{1,2}-мӗш/,ordinal:"%d-мӗш",week:{dow:1,doy:7}})}(n("wd/R"))},A2ZE:function(t,e,n){var a=n("HAuM");t.exports=function(t,e,n){if(a(t),void 0===e)return t;switch(n){case 0:return function(){return t.call(e)};case 1:return function(n){return t.call(e,n)};case 2:return function(n,a){return t.call(e,n,a)};case 3:return function(n,a,r){return t.call(e,n,a,r)}}return function(){return t.apply(e,arguments)}}},A90E:function(t,e,n){var a=n("6sVZ"),r=n("V6Ve"),o=Object.prototype.hasOwnProperty;t.exports=function(t){if(!a(t))return r(t);var e=[];for(var n in Object(t))o.call(t,n)&&"constructor"!=n&&e.push(n);return e}},"AO7/":function(t,e,n){var a={};a[n("tiKp")("toStringTag")]="z",t.exports="[object z]"===String(a)},AP2z:function(t,e,n){var a=n("nmnc"),r=Object.prototype,o=r.hasOwnProperty,i=r.toString,s=a?a.toStringTag:void 0;t.exports=function(t){var e=o.call(t,s),n=t[s];try{t[s]=void 0;var a=!0}catch(c){}var r=i.call(t);return a&&(e?t[s]=n:delete t[s]),r}},AQ68:function(t,e,n){!function(t){"use strict";t.defineLocale("uz-latn",{months:"Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr".split("_"),monthsShort:"Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek".split("_"),weekdays:"Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba".split("_"),weekdaysShort:"Yak_Dush_Sesh_Chor_Pay_Jum_Shan".split("_"),weekdaysMin:"Ya_Du_Se_Cho_Pa_Ju_Sha".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Bugun soat] LT [da]",nextDay:"[Ertaga] LT [da]",nextWeek:"dddd [kuni soat] LT [da]",lastDay:"[Kecha soat] LT [da]",lastWeek:"[O'tgan] dddd [kuni soat] LT [da]",sameElse:"L"},relativeTime:{future:"Yaqin %s ichida",past:"Bir necha %s oldin",s:"soniya",ss:"%d soniya",m:"bir daqiqa",mm:"%d daqiqa",h:"bir soat",hh:"%d soat",d:"bir kun",dd:"%d kun",M:"bir oy",MM:"%d oy",y:"bir yil",yy:"%d yil"},week:{dow:1,doy:7}})}(n("wd/R"))},AWcq:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("yJti");class r{constructor(){this.vcs=a.a}ngOnInit(){}}},AfCQ:function(t,e,n){"use strict";n.d(e,"a",(function(){return d})),n.d(e,"b",(function(){return u}));var a=n("2Vo4"),r=n("qgXg"),o=n("HDdC"),i=n("pxpQ"),s=n("Kqap"),c=n("lJxs"),l=n("/uUt");class d extends a.a{constructor(t,e,n){super(t),e.pipe(Object(i.b)(r.a)).pipe(Object(s.a)((t,e)=>e?n(t,e):t,t)).subscribe(t=>this.next(t))}}class u extends o.a{constructor(t,e,n){super(),this._dispatcher=t,this._reducer=e,this.source=n}select(t){return this.source.pipe(Object(c.a)(t)).pipe(Object(l.a)())}lift(t){const e=new u(this._dispatcher,this._reducer,this);return e.operator=t,e}dispatch(t){this._dispatcher.next(t)}next(t){this._dispatcher.next(t)}error(t){this._dispatcher.error(t)}complete(){}}},Ahxa:function(t,e,n){var a=n("mrSG").__decorate,r=n("mrSG").__metadata;Object.defineProperty(e,"__esModule",{value:!0});var o=n("8Y7J"),i=n("lUjN");e.DataTableFooterComponent=function(){function t(){this.selectedCount=0,this.page=new o.EventEmitter}return Object.defineProperty(t.prototype,"isVisible",{get:function(){return this.rowCount/this.pageSize>1},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"curPage",{get:function(){return this.offset+1},enumerable:!0,configurable:!0}),a([o.Input(),r("design:type",Number)],t.prototype,"footerHeight",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"rowCount",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"pageSize",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"offset",void 0),a([o.Input(),r("design:type",String)],t.prototype,"pagerLeftArrowIcon",void 0),a([o.Input(),r("design:type",String)],t.prototype,"pagerRightArrowIcon",void 0),a([o.Input(),r("design:type",String)],t.prototype,"pagerPreviousIcon",void 0),a([o.Input(),r("design:type",String)],t.prototype,"pagerNextIcon",void 0),a([o.Input(),r("design:type",String)],t.prototype,"totalMessage",void 0),a([o.Input(),r("design:type",i.DatatableFooterDirective)],t.prototype,"footerTemplate",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"selectedCount",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"selectedMessage",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"page",void 0),a([o.Component({selector:"datatable-footer",template:'\n    <div\n      class="datatable-footer-inner"\n      [ngClass]="{\'selected-count\': selectedMessage}"\n      [style.height.px]="footerHeight">\n      <ng-template\n        *ngIf="footerTemplate"\n        [ngTemplateOutlet]="footerTemplate.template"\n        [ngTemplateOutletContext]="{ \n          rowCount: rowCount, \n          pageSize: pageSize, \n          selectedCount: selectedCount,\n          curPage: curPage,\n          offset: offset\n        }">\n      </ng-template>\n      <div class="page-count" *ngIf="!footerTemplate">\n        <span *ngIf="selectedMessage">\n          {{selectedCount?.toLocaleString()}} {{selectedMessage}} / \n        </span>\n        {{rowCount?.toLocaleString()}} {{totalMessage}}\n      </div>\n      <datatable-pager *ngIf="!footerTemplate"\n        [pagerLeftArrowIcon]="pagerLeftArrowIcon"\n        [pagerRightArrowIcon]="pagerRightArrowIcon"\n        [pagerPreviousIcon]="pagerPreviousIcon"\n        [pagerNextIcon]="pagerNextIcon"\n        [page]="curPage"\n        [size]="pageSize"\n        [count]="rowCount"\n        [hidden]="!isVisible"\n        (change)="page.emit($event)">\n      </datatable-pager>\n    </div>\n  ',host:{class:"datatable-footer"},changeDetection:o.ChangeDetectionStrategy.OnPush})],t)}()},AiMb:function(t,e,n){"use strict";n.r(e),e.default='<xliff xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 http://docs.oasis-open.org/xliff/v1.2/os/xliff-core-1.2-strict.xsd" xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">\n  <file original="ng2.template" datatype="plaintext" source-language="en-US" target-language="zh-CN">\n    <body>\n      <trans-unit id="319e0745bcbc132451569294fa2fa21bf10f555a" datatype="html">\n        <source>Toggle navigation</source>\n        <target>切换导航</target>\n      </trans-unit>\n      <trans-unit id="f65253954b66e929a8b4d5ecaf61f9129f8cec64" datatype="html">\n        <source>Dashboard</source>\n        <target>仪表盘</target>\n      </trans-unit>\n      <trans-unit id="f4d1dd59b039ad818d9da7e29a773e10e41d9821" datatype="html">\n        <source>Cluster</source>\n        <target>集群</target>\n      </trans-unit>\n      <trans-unit id="099b441d49333b3c6d30b36dc0a4763e64c78920" datatype="html">\n        <source>Hosts</source>\n        <target>主机</target>\n      </trans-unit>\n      <trans-unit id="2cc3ecb16e348fcf2f2fbfd2f997d4d22f37475b" datatype="html">\n        <source>Inventory</source>\n        <target>Inventory</target>\n      </trans-unit>\n      <trans-unit id="624f596cc3320f5e0a0d7c7346c364e5af9bdd8c" datatype="html">\n        <source>Monitors</source>\n        <target>Monitor</target>\n      </trans-unit>\n      <trans-unit id="419d940613972cc3fae9c8ea0a4306dbf80616e5" datatype="html">\n        <source>Services</source>\n        <target>对应的服务</target>\n      </trans-unit>\n      <trans-unit id="1a9183778f2c6473d7ccb080f651caa01faaf70c" datatype="html">\n        <source>OSDs</source>\n        <target>OSD</target>\n      </trans-unit>\n      <trans-unit id="4a41f824a35ba01d5bd7be61aa06b3e8145209d0" datatype="html">\n        <source>Configuration</source>\n        <target>配置项</target>\n      </trans-unit>\n      <trans-unit id="8c95898abff46bfac3ed6eb2afef74597e60b15c" datatype="html">\n        <source>CRUSH map</source>\n        <target>CRUSH 索引</target>\n      </trans-unit>\n      <trans-unit id="33da4dbeb076159510801ea764a218fd341269d2" datatype="html">\n        <source>Manager modules</source>\n        <target>Manager 扩展模块</target>\n      </trans-unit>\n      <trans-unit id="eb3d5aefff38a814b76da74371cbf02c0789a1ef" datatype="html">\n        <source>Logs</source>\n        <target>日志</target>\n      </trans-unit>\n      <trans-unit id="17fc3efe5f9fa4e0289c900cb6202265215a1a27" datatype="html">\n        <source>Monitoring</source>\n        <target>Monitoring</target>\n      </trans-unit>\n      <trans-unit id="92899fa68e8ca108912163ff58edc8540e453787" datatype="html">\n        <source>Pools</source>\n        <target>存储池</target>\n      </trans-unit>\n      <trans-unit id="7f5d0c10614e8a34f0e2dad33a0568277c50cf69" datatype="html">\n        <source>Block</source>\n        <target>块设备</target>\n      </trans-unit>\n      <trans-unit id="b73f7f5060fb22a1e9ec462b1bb02493fa3ab866" datatype="html">\n        <source>Images</source>\n        <target>映像</target>\n      </trans-unit>\n      <trans-unit id="3c2562ba992127203dcfd014010b03cb7b8113c6" datatype="html">\n        <source>Mirroring</source>\n        <target>镜像</target>\n      </trans-unit>\n      <trans-unit id="811c241d56601b91ef26735b770e64428089b950" datatype="html">\n        <source>iSCSI</source>\n        <target>iSCSI</target>\n      </trans-unit>\n      <trans-unit id="a24eabd99ea5af20f5f94c4484649cd30370042b" datatype="html">\n        <source>NFS</source>\n        <target>NFS</target>\n      </trans-unit>\n      <trans-unit id="a4eff72d97b7ced051398d581f10968218057ddc" datatype="html">\n        <source>Filesystems</source>\n        <target>文件系统</target>\n      </trans-unit>\n      <trans-unit id="2190548d236ca5f7bc7ab2bca334b860c5ff2ad4" datatype="html">\n        <source>Object Gateway</source>\n        <target>对象网关</target>\n      </trans-unit>\n      <trans-unit id="9e24f9e2d42104ffc01599db4d566d1cc518f9e6" datatype="html">\n        <source>Daemons</source>\n        <target>守护进程</target>\n      </trans-unit>\n      <trans-unit id="4d13a9cd5ed3dcee0eab22cb25198d43886942be" datatype="html">\n        <source>Users</source>\n        <target>用户</target>\n      </trans-unit>\n      <trans-unit id="9515520496da83179d8b08132f00f575512a1f40" datatype="html">\n        <source>Buckets</source>\n        <target>存储桶</target>\n      </trans-unit>\n      <trans-unit id="797f8214e8148f4bf0d244baaa7341706b419549" datatype="html">\n        <source>Retrieving data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>. Please wait...\n        </source>\n        <target>Retrieving data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>. Please wait...\n        </target>\n      </trans-unit>\n      <trans-unit id="5a870dc77b9f6f33ee671ea2d856021276933339" datatype="html">\n        <source>Displaying previously cached data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>\n  for \n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n        </source>\n        <target>Displaying previously cached data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>\n  for \n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="ae580202919844531361ba2308287226ff74a584" datatype="html">\n        <source>Could not load data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n  Please check the cluster health.\n        </source>\n        <target>Could not load data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n  Please check the cluster health.\n        </target>\n      </trans-unit>\n      <trans-unit id="7e52e9143145e1db5146258de81eae018a407b31" datatype="html">\n        <source>Clear notifications</source>\n        <target>Clear notifications</target>\n      </trans-unit>\n      <trans-unit id="b0b07bb6b7ff21ede439dd04eaf8872d1ecb84d8" datatype="html">\n        <source>Remove notification</source>\n        <target>Remove notification</target>\n      </trans-unit>\n      <trans-unit id="e17a1d75189da843f541f7764f188f2b19a97df2" datatype="html">\n        <source>Duration:</source>\n        <target>Duration:</target>\n      </trans-unit>\n      <trans-unit id="0d4b37c6675c5b436a54c43d6716eec835e1aa7f" datatype="html">\n        <source>There are no notifications.</source>\n        <target>There are no notifications.</target>\n      </trans-unit>\n      <trans-unit id="0a23e992f6c6e169a38b2b7338b4e5e803b52e0d" datatype="html">\n        <source>Tasks and Notifications</source>\n        <target>Tasks and Notifications</target>\n      </trans-unit>\n      <trans-unit id="3fb5709e10166cbc85970cbff103db227dbeb813" datatype="html">\n        <source>Select a Language</source>\n        <target>请选择语言</target>\n      </trans-unit>\n      <trans-unit id="c5109325fb160b543f71a51e7511c00575057431" datatype="html">\n        <source>Loading panel data...</source>\n        <target>正在加载面板的相关数据…</target>\n      </trans-unit>\n      <trans-unit id="8ca12411f890ab8b0a9216418e2b8f5ea7d2441a" datatype="html">\n        <source>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the monitoring functionality.\n        </source>\n        <target>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the monitoring functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="160a9e80dc089792df42e2400b1e81b9e7025aa7" datatype="html">\n        <source>Grafana Dashboard doesn\'t exist. Please refer to\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  add dashboards to Grafana.\n        </source>\n        <target>Grafana Dashboard doesn\'t exist. Please refer to\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  add dashboards to Grafana.\n        </target>\n      </trans-unit>\n      <trans-unit id="4e11830040bd64804a0555de76f291d5832772d4" datatype="html">\n        <source>Grafana Time Picker</source>\n        <target>Grafana 时间选择工具</target>\n      </trans-unit>\n      <trans-unit id="238c1ba845dd7330e8088165275919a1debf1ca3" datatype="html">\n        <source>Reset Settings</source>\n        <target>重新设置</target>\n      </trans-unit>\n      <trans-unit id="c8d1785038d461ec66b5799db21864182b35900a" datatype="html">\n        <source>Refresh</source>\n        <target>Refresh</target>\n      </trans-unit>\n      <trans-unit id="6c947210e2d162b6225083d18820ab602f58cd2d" datatype="html">\n        <source>Remove the custom configuration value. The default configuration will be inherited and used instead.</source>\n        <target>Remove the custom configuration value. The default configuration will be inherited and used instead.</target>\n      </trans-unit>\n      <trans-unit id="454ee9cb60b00446a8fb147fd2cc5eb836320586" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ option.maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ option.maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="7fc8a22825131e028336f60ef909ccbd96059703" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ option.minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ option.minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="cda31dbd724cf5f4fa7a4274d9120651490c8a8c" datatype="html">\n        <source>Back</source>\n        <target>返回</target>\n      </trans-unit>\n      <trans-unit id="9ce641535be1ffa106c87724ba0637facaef5f61" datatype="html">\n        <source>Your password will expire in \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>less than 1\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day. Click\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.\n        </source>\n        <target>Your password will expire in \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>less than 1\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day. Click\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.\n        </target>\n      </trans-unit>\n      <trans-unit id="c2f34088c155e40ffb23770a465a65868ce772b2" datatype="html">\n        <source>Your password will expire in \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ expirationDays }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day(s). Click\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.\n        </source>\n        <target>Your password will expire in \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ expirationDays }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day(s). Click\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.\n        </target>\n      </trans-unit>\n      <trans-unit id="9b516f972c744779257310b73f6e97438b726707" datatype="html">\n        <source>Orchestrator is not available. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the functionality.\n        </source>\n        <target>Orchestrator is not available. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="012741ee52b3c050e4a977c37cc2334f7974f141" datatype="html">\n        <source>Failed to load data.</source>\n        <target>无法加载数据。</target>\n      </trans-unit>\n      <trans-unit id="1e5e23363e949f7dcbaf034bdb141a561132a10e" datatype="html">\n        <source>Clear filters</source>\n        <target>Clear filters</target>\n      </trans-unit>\n      <trans-unit id="80cc9a12d4bf6fe454ed94b379eeaf915f920bb7" datatype="html">\n        <source>selected</source>\n        <target>选中个数</target>\n        <note>X selected</note>\n      </trans-unit>\n      <trans-unit id="0cb77511a9a148e05b9adf36cc07269956fbb29d" datatype="html">\n        <source>found</source>\n        <target>命中个数</target>\n        <note>X found</note>\n      </trans-unit>\n      <trans-unit id="79347388740c50b7ac97e144c2494bb62912f312" datatype="html">\n        <source>total</source>\n        <target>总数</target>\n        <note>X total</note>\n      </trans-unit>\n      <trans-unit id="cff1428d10d59d14e45edec3c735a27b5482db59" datatype="html">\n        <source>Name</source>\n        <target>名称</target>\n      </trans-unit>\n      <trans-unit id="eec715de352a6b114713b30b640d319fa78207a0" datatype="html">\n        <source>Description</source>\n        <target>解释</target>\n      </trans-unit>\n      <trans-unit id="4ad112ce9bcd55dfd137792a86afe1b5a5b13cf8" datatype="html">\n        <source>Long description</source>\n        <target>更详尽的解释</target>\n      </trans-unit>\n      <trans-unit id="ff7cee38a2259526c519f878e71b964f41db4348" datatype="html">\n        <source>Default</source>\n        <target>缺省值</target>\n      </trans-unit>\n      <trans-unit id="33e1c1d9fc05ca3f62fcc8a1170fc31ebae4229c" datatype="html">\n        <source>Daemon default</source>\n        <target>守护进程的缺省值</target>\n      </trans-unit>\n      <trans-unit id="809b0c848932a41318f77a2aace904ef429c13f4" datatype="html">\n        <source>Values</source>\n        <target>可选值</target>\n      </trans-unit>\n      <trans-unit id="5894f7158499fdb89527af50c9f1cf7d4c95cad6" datatype="html">\n        <source>-- Default --</source>\n        <target>-- Default --</target>\n      </trans-unit>\n      <trans-unit id="514f6e12d035a6d9b00de6b3e55c18b73488da07" datatype="html">\n        <source>true</source>\n        <target>true</target>\n      </trans-unit>\n      <trans-unit id="774f5e6a183dea08393789b6f72e86afad729419" datatype="html">\n        <source>false</source>\n        <target>false</target>\n      </trans-unit>\n      <trans-unit id="82029b6db704c56a2aa3e82ac555b8655356b077" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8ed8b3967a7326b81b191c9f490006e6a6777a9a" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="52c9a103b812f258bcddc3d90a6e3f46871d25fe" datatype="html">\n        <source>Save</source>\n        <target>保存</target>\n      </trans-unit>\n      <trans-unit id="738de688b22fba5d0dc7a5e549996838dddad0ee" datatype="html">\n        <source>CRUSH map viewer</source>\n        <target>检查 CRUSH 索引图</target>\n      </trans-unit>\n      <trans-unit id="94516fa213706c67ce5a5b5765681d7fb032033a" datatype="html">\n        <source>Loading...</source>\n        <target>正在加载…</target>\n      </trans-unit>\n      <trans-unit id="formTitle" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </target>\n        <note>form title</note>\n      </trans-unit>\n      <trans-unit id="9a541ec1a4319fffc16ad3b3ab2c2b6d251a829d" datatype="html">\n        <source>Hostname</source>\n        <target>主机名</target>\n      </trans-unit>\n      <trans-unit id="7cbdabcece469fab89cfa687ab152bca18b97498" datatype="html">\n        <source>This field is required.</source>\n        <target>请填写此栏目!</target>\n      </trans-unit>\n      <trans-unit id="1b3f5e5291541678f7afa49d28fad5ca848a8061" datatype="html">\n        <source>The chosen hostname is already in use.</source>\n        <target>The chosen hostname is already in use.</target>\n      </trans-unit>\n      <trans-unit id="formActionButton" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </target>\n        <note>form action button</note>\n      </trans-unit>\n      <trans-unit id="6110699a3562eeb15371063c0cf7f6bfd88a0209" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemNames[0] }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemNames[0] }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>?\n        </target>\n      </trans-unit>\n      <trans-unit id="549859e511ba5af0ea03fcaa620c472f08038969" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected items?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected items?\n        </target>\n      </trans-unit>\n      <trans-unit id="54839ebc827b73c9dc4e1df731c6d36a85036af7" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected \n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected \n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>?\n        </target>\n      </trans-unit>\n      <trans-unit id="2be8b7f04f0104d3fad90d079d8202b74f758b9a" datatype="html">\n        <source>Yes, I am sure.</source>\n        <target>是的,我确定。</target>\n      </trans-unit>\n      <trans-unit id="d7b35c384aecd25a516200d6921836374613dfe7" datatype="html">\n        <source>Cancel</source>\n        <target>取消</target>\n      </trans-unit>\n      <trans-unit id="55a2f26b2e87886d9b8015a887e38e51ab2a866a" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8" datatype="html">\n        <source>Close</source>\n        <target>关闭</target>\n      </trans-unit>\n      <trans-unit id="40661476cb24c89d8b06614998e31d5fbe84eeb6" datatype="html">\n        <source>Hosts List</source>\n        <target>主机列表</target>\n      </trans-unit>\n      <trans-unit id="5e7f4b1ca49e8d217bd0e12c6f7d6b6a2ade2c18" datatype="html">\n        <source>Overall Performance</source>\n        <target>总体性能</target>\n      </trans-unit>\n      <trans-unit id="3e24569eca61d598c8b01defbbbb1fa8bd5222bc" datatype="html">\n        <source>Devices</source>\n        <target>Devices</target>\n      </trans-unit>\n      <trans-unit id="e6d57f36aa2bad303c8a8ee944b9bd7fae3c8c26" datatype="html">\n        <source>No entries found</source>\n        <target>无法找到相关条目</target>\n      </trans-unit>\n      <trans-unit id="d556ab48a65722b400e497f61737f553ee0f89e2" datatype="html">\n        <source>Cluster Logs</source>\n        <target>集群日志</target>\n      </trans-unit>\n      <trans-unit id="5f966baffd188be0e8adc2d7067b86e55fc9b9de" datatype="html">\n        <source>Audit Logs</source>\n        <target>审计日志</target>\n      </trans-unit>\n      <trans-unit id="4193c9eb868aeec119b78a14795241e0aa5e8b60" datatype="html">\n        <source>Priority:</source>\n        <target>Priority:</target>\n      </trans-unit>\n      <trans-unit id="1d78ca51eab260ce3fd917d39190d64df5229b6e" datatype="html">\n        <source>Keyword:</source>\n        <target>Keyword:</target>\n      </trans-unit>\n      <trans-unit id="05fa0bded36de6e73a1fa44838b627349dace044" datatype="html">\n        <source>Date:</source>\n        <target>Date:</target>\n      </trans-unit>\n      <trans-unit id="31dadb362bf7f7c2afa10e5f96474ccd3977f91f" datatype="html">\n        <source>Datepicker</source>\n        <target>Datepicker</target>\n      </trans-unit>\n      <trans-unit id="85a400388de1899b1917138cf7e5286376f72847" datatype="html">\n        <source>Time range:</source>\n        <target>Time range:</target>\n      </trans-unit>\n      <trans-unit id="2447796ddbda942f4e2c46619cb84d69f066e568" datatype="html">\n        <source>Loading configuration...</source>\n        <target>正在加载相关配置信息...</target>\n      </trans-unit>\n      <trans-unit id="b42c0b347a841bed8859ee83de05080ee28c803b" datatype="html">\n        <source>The configuration could not be loaded.</source>\n        <target>配置信息无法加载。</target>\n      </trans-unit>\n      <trans-unit id="31a9c2870a934b594d1390146c489f76440859ea" datatype="html">\n        <source>Edit Manager module</source>\n        <target>编辑 Manager 扩展模块</target>\n      </trans-unit>\n      <trans-unit id="46e09b8290d3d0afdb6baa2021395b0570606a31" datatype="html">\n        <source>The entered value is not a valid UUID, e.g.: 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8</source>\n        <target>输入值不是有效的 UUID,如:67dcac9f-2c03-4d6c-b7bd-1210b3a259a8</target>\n      </trans-unit>\n      <trans-unit id="7aacd038b39cfd347107d01d1dc27f5cb3e0951c" datatype="html">\n        <source>The entered value needs to be a valid IP address.</source>\n        <target>输入的应该是个有效的 IP 地址。</target>\n      </trans-unit>\n      <trans-unit id="f19106149f4b07a0d721f9d317afed393cb7bd93" datatype="html">\n        <source>The entered value is too high! It must be lower or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.max }}"/>.\n        </source>\n        <target>The entered value is too high! It must be lower or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.max }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="6d33c40ef9a6c3bf0888df831b25e41e65f9d15b" datatype="html">\n        <source>The entered value is too low! It must be greater or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.min }}"/>.\n        </source>\n        <target>The entered value is too low! It must be greater or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.min }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="eae7086660cf1e38c7194a2c49ff52cc656f90f5" datatype="html">\n        <source>The entered value needs to be a number.</source>\n        <target>输入须为数字。</target>\n      </trans-unit>\n      <trans-unit id="a73376e04b4fb3a20734c8c39743fba32e6676ce" datatype="html">\n        <source>The entered value needs to be a number or decimal.</source>\n        <target>输入的应该是一个浮点数或者十进制整数。</target>\n      </trans-unit>\n      <trans-unit id="047f50bc5b5d17b5bec0196355953e1a5c590ddb" datatype="html">\n        <source>Update</source>\n        <target>更新</target>\n      </trans-unit>\n      <trans-unit id="81b97b8ea996ad1e4f9fca8415021850214884b1" datatype="html">\n        <source>Status</source>\n        <target>状态</target>\n      </trans-unit>\n      <trans-unit id="57ec6032f5618d4a9f16eb950ad23d2ce7c24b54" datatype="html">\n        <source>Cluster ID</source>\n        <target>集群 ID</target>\n      </trans-unit>\n      <trans-unit id="67d7facc3fec5f8a49ab9ba0a245872184264ce5" datatype="html">\n        <source>monmap modified</source>\n        <target>monmap 修改时间</target>\n      </trans-unit>\n      <trans-unit id="d4906731aaf2b94b4f547646c9bfe58bb77951b6" datatype="html">\n        <source>monmap epoch</source>\n        <target>monmap epoch</target>\n      </trans-unit>\n      <trans-unit id="bd4ee06ffdc46d9dfbd0c0c4f81399021c680056" datatype="html">\n        <source>quorum con</source>\n        <target>quorum con </target>\n      </trans-unit>\n      <trans-unit id="1176c7db8a8276ccb44cc3d42e2c28d9fa6c6596" datatype="html">\n        <source>quorum mon</source>\n        <target>quorum mon</target>\n      </trans-unit>\n      <trans-unit id="530ef677a09d681b3ab68cb0760494b3ae72a77c" datatype="html">\n        <source>required con</source>\n        <target>required con</target>\n      </trans-unit>\n      <trans-unit id="a91558e0d506c32021c31843f8f168899fc65cbf" datatype="html">\n        <source>required mon</source>\n        <target>required mon</target>\n      </trans-unit>\n      <trans-unit id="b3abe9eac5bcd94a54c8da93b312e085ec512e74" datatype="html">\n        <source>In Quorum</source>\n        <target>仲裁成员</target>\n      </trans-unit>\n      <trans-unit id="ba4b748a676e1f217ce1e736fb7ec1215e677bae" datatype="html">\n        <source>Not In Quorum</source>\n        <target>非仲裁成员</target>\n      </trans-unit>\n      <trans-unit id="4383e9662ea19839c7499b2128d43a195e564317" datatype="html">\n        <source>OSD creation preview</source>\n        <target>OSD creation preview</target>\n      </trans-unit>\n      <trans-unit id="366225c51e0b00bcb1c55795a0dc5e81c455f84e" datatype="html">\n        <source>DriveGroups</source>\n        <target>DriveGroups</target>\n      </trans-unit>\n      <trans-unit id="8edc89137d0d8c5667a2f03230beafae45e58429" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ deviceType }}"/> devices\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ deviceType }}"/> devices\n        </target>\n      </trans-unit>\n      <trans-unit id="eba28e1805b18f7c8ae2e4bc15dcf063b10b3822" datatype="html">\n        <source>At least one of these filters must be applied in order to proceed:</source>\n        <target>At least one of these filters must be applied in order to proceed:</target>\n      </trans-unit>\n      <trans-unit id="93389aa2fe2bea50bf89554ee51b28f87ee2fb50" datatype="html">\n        <source>Number of devices: \n          <x id="INTERPOLATION" equiv-text="{{ filteredDevices.length }}"/>. Raw capacity:\n          <x id="INTERPOLATION_1" equiv-text="{{ capacity | dimlessBinary }}"/>.\n        </source>\n        <target>Number of devices: \n          <x id="INTERPOLATION" equiv-text="{{ filteredDevices.length }}"/>. Raw capacity:\n          <x id="INTERPOLATION_1" equiv-text="{{ capacity | dimlessBinary }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="ccb4f84edc0b4e76415bb3f9b73d725b06683af3" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ name }}"/> devices\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ name }}"/> devices\n        </target>\n      </trans-unit>\n      <trans-unit id="60cb3d01e5ddf266ecb4271007a1c3d0f3efdc22" datatype="html">\n        <source>The primary storage devices. These devices contain all OSD data.</source>\n        <target>The primary storage devices. These devices contain all OSD data.</target>\n      </trans-unit>\n      <trans-unit id="b432e04886d0d1fd84f740477383051f85addcf2" datatype="html">\n        <source>Write-Ahead-Log devices. These devices are used for BlueStore’s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device.</source>\n        <target>Write-Ahead-Log devices. These devices are used for BlueStore’s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device.</target>\n      </trans-unit>\n      <trans-unit id="b87e181ab9e8393aa5ed759dd3d53836e32c8ffe" datatype="html">\n        <source>DB devices can be used for storing BlueStore’s internal metadata.  It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD).</source>\n        <target>DB devices can be used for storing BlueStore’s internal metadata.  It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD).</target>\n      </trans-unit>\n      <trans-unit id="f6755cff4957d5c3c89bafce5651f1b6fa2b1fd9" datatype="html">\n        <source>Add</source>\n        <target>添加</target>\n      </trans-unit>\n      <trans-unit id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46" datatype="html">\n        <source>Clear</source>\n        <target>Clear</target>\n      </trans-unit>\n      <trans-unit id="7e0fd3c7af0630f93befa6234a693a32a61084e0" datatype="html">\n        <source>Raw capacity: \n          <x id="INTERPOLATION" equiv-text="{{ capacity | dimlessBinary }}"/>\n        </source>\n        <target>Raw capacity: \n          <x id="INTERPOLATION" equiv-text="{{ capacity | dimlessBinary }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="43ecf6bee2aebc07b0aad6dc1fe13e38d14687fa" datatype="html">\n        <source>Shared devices</source>\n        <target>Shared devices</target>\n      </trans-unit>\n      <trans-unit id="7a1c376f6f1b37de4c318ff2106255ba6c0f5b0b" datatype="html">\n        <source>WAL slots</source>\n        <target>WAL slots</target>\n      </trans-unit>\n      <trans-unit id="73811a6f37b63e6b0e491e221bfa21e9dea8a87a" datatype="html">\n        <source>How many OSDs per WAL device.</source>\n        <target>How many OSDs per WAL device.</target>\n      </trans-unit>\n      <trans-unit id="0c67a7ac4762ef1cc855056c6b4daab93e53a0a5" datatype="html">\n        <source>Specify 0 to let Orchestrator backend decide it.</source>\n        <target>Specify 0 to let Orchestrator backend decide it.</target>\n      </trans-unit>\n      <trans-unit id="7bda9362e06e6c67341b4a8425b0d29d6b84464b" datatype="html">\n        <source>Value should be greater than or equal to 0</source>\n        <target>Value should be greater than or equal to 0</target>\n      </trans-unit>\n      <trans-unit id="324c2b10152b9dd908222bb0b71f61beb60a30c5" datatype="html">\n        <source>DB slots</source>\n        <target>DB slots</target>\n      </trans-unit>\n      <trans-unit id="c23cf12ef9c76f37fc7a4b7ae3e00fb0f68b6e26" datatype="html">\n        <source>How many OSDs per DB device.</source>\n        <target>How many OSDs per DB device.</target>\n      </trans-unit>\n      <trans-unit id="6cdb1fea93d77c07950c0c76c6e0ad79ebbef084" datatype="html">\n        <source>Features</source>\n        <target>特性</target>\n      </trans-unit>\n      <trans-unit id="3e2a583f531f7dd9f089f68a6968e444c372c3e8" datatype="html">\n        <source>Preview</source>\n        <target>Preview</target>\n      </trans-unit>\n      <trans-unit id="5ef50ba2514414f799d4c8fc36067a251904ba81" datatype="html">\n        <source>Cluster-wide OSD Flags</source>\n        <target>集群范围的 OSD 标志</target>\n      </trans-unit>\n      <trans-unit id="71c77bb8cecdf11ec3eead24dd1ba506573fa9cd" datatype="html">\n        <source>Submit</source>\n        <target>提交</target>\n      </trans-unit>\n      <trans-unit id="1cfe07dac5b4ee1c464eb24225ddeb4f1d24076a" datatype="html">\n        <source>Advanced...</source>\n        <target>高级设置…</target>\n      </trans-unit>\n      <trans-unit id="b1ef1c12ddcee305353623919ef02778569f5454" datatype="html">\n        <source>Advanced configuration options</source>\n        <target>Advanced configuration options</target>\n      </trans-unit>\n      <trans-unit id="c35f9c5f268a514b970cc55e9a5dc4bed0988e7f" datatype="html">\n        <source>OSD Recovery Priority</source>\n        <target>OSD 恢复优先级</target>\n      </trans-unit>\n      <trans-unit id="b74af38005e8a8914e45af2ec412e11ceafef8b6" datatype="html">\n        <source>Priority</source>\n        <target>优先级</target>\n      </trans-unit>\n      <trans-unit id="c2f48f04b379bfba133825747adfd238d511412e" datatype="html">\n        <source>Customize priority values</source>\n        <target>自定义优先级</target>\n      </trans-unit>\n      <trans-unit id="4aa19de2a2b54cbda39e9c62917b23044c087776" datatype="html">\n        <source>This field is required!</source>\n        <target>这个字段是必填的!</target>\n      </trans-unit>\n      <trans-unit id="b699e94bf376491bd50b70a98531071c737eaf40" datatype="html">\n        <source>[object Object]</source>\n        <target>[object Object]</target>\n      </trans-unit>\n      <trans-unit id="98fe13e7ad6c2b80375d204b47858ded83f80e15" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="5423a3c111be47fc5a1bfe46ceb58c81c84db691" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="5251a4355cece3075db43f15d69a24a0f8485707" datatype="html">\n        <source>Reweight OSD: \n          <x id="INTERPOLATION" equiv-text="{{ osdId }}"/>\n        </source>\n        <target>Reweight OSD: \n          <x id="INTERPOLATION" equiv-text="{{ osdId }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="67650b2998db48201b2c6176cbfef51e7211ccaa" datatype="html">\n        <source>The value needs to be between 0 and 1.</source>\n        <target>权重值必须在 0 和 1 之间</target>\n      </trans-unit>\n      <trans-unit id="bc11f92113d678a90e334fdf3d7b3fddbe34c579" datatype="html">\n        <source>Reweight</source>\n        <target>重设权重</target>\n      </trans-unit>\n      <trans-unit id="d5ca5daf742023fc4f0919fb3c1c6a51991cda4f" datatype="html">\n        <source>OSDs \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>Scrub\n        </source>\n        <target>OSDs \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>Scrub\n        </target>\n      </trans-unit>\n      <trans-unit id="4c17d67c7c5799eb920030e9a399961e90f55dd8" datatype="html">\n        <source>{VAR_SELECT, select, 1 {Deep } }</source>\n        <target>{VAR_SELECT, select, 1 {深度}}</target>\n      </trans-unit>\n      <trans-unit id="fd0a4b6eed32e3488eccdc9c13f9841f08cc275e" datatype="html">\n        <source>You are about to apply a \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to\n          the OSD(s): \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ selected | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.\n        </source>\n        <target>You are about to apply a \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to\n          the OSD(s): \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ selected | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="dc6705f342a036b332c3fd3443201c3613e5524d" datatype="html">\n        <source>{VAR_SELECT, select, 1 {deep } }</source>\n        <target>{VAR_SELECT, select, 1 {深度} }</target>\n      </trans-unit>\n      <trans-unit id="b49d7877d24112d4bdfce9256edf61a007fae888" datatype="html">\n        <source>OSDs List</source>\n        <target>OSD 列表</target>\n      </trans-unit>\n      <trans-unit id="d5707a32ba9c1138e6423498fb0b24e970ebd19f" datatype="html">\n        <source>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) \n          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </source>\n        <target>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) \n          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </target>\n      </trans-unit>\n      <trans-unit id="d08c1e4f17dffc0ed1ac2e2e2875cb8b569eeb35" datatype="html">\n        <source>The \n          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to be \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>! \n          <x id="INTERPOLATION_1" equiv-text="{{ message }}"/>\n        </source>\n        <target>The \n          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to be \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>! \n          <x id="INTERPOLATION_1" equiv-text="{{ message }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="e776996dac651ef3819bfa767ccf2a0613759f47" datatype="html">\n        <source>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</source>\n        <target>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</target>\n      </trans-unit>\n      <trans-unit id="5cd6a031937412c42e5efa1e6959cb72ac08c720" datatype="html">\n        <source>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD \n          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </source>\n        <target>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD \n          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </target>\n      </trans-unit>\n      <trans-unit id="3eda19b44809820fffd5d3753bafb7243116f4b0" datatype="html">\n        <source>To see all active Prometheus alerts, please\n      provide the URL to the API of Prometheus\' Alertmanager as described in the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </source>\n        <target>To see all active Prometheus alerts, please\n      provide the URL to the API of Prometheus\' Alertmanager as described in the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="880ad4df5a2051a437321443d69c9a866699e5ad" datatype="html">\n        <source>Active Alerts</source>\n        <target>Active Alerts</target>\n      </trans-unit>\n      <trans-unit id="8e5e0e09a11990d343926ed693574213d703c38d" datatype="html">\n        <source>All Alerts</source>\n        <target>All Alerts</target>\n      </trans-unit>\n      <trans-unit id="526938c2b7945cb0d68328c24bd77730230cd455" datatype="html">\n        <source>To enable Silences, please provide the URL to the API of the Prometheus\' Alertmanager as\n      described in the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </source>\n        <target>To enable Silences, please provide the URL to the API of the Prometheus\' Alertmanager as\n      described in the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="aa0c44aa1e5727061baa91e954f77e2f5f9a37c9" datatype="html">\n        <source>Silences</source>\n        <target>Silences</target>\n      </trans-unit>\n      <trans-unit id="8501055865d7031b5521a0c5467532648009a61d" datatype="html">\n        <source>Matcher</source>\n        <target>Matcher</target>\n      </trans-unit>\n      <trans-unit id="9c25e04f554875dc2625a78ba0fc56c6010cd0d3" datatype="html">\n        <source>-- Select an attribute to match against --</source>\n        <target>-- Select an attribute to match against --</target>\n      </trans-unit>\n      <trans-unit id="5049e204c14c648691ac775a64fb504467aeb549" datatype="html">\n        <source>Value</source>\n        <target>值</target>\n      </trans-unit>\n      <trans-unit id="77fc5c63497fc031ddc97645484e3d94ad27766c" datatype="html">\n        <source>Use regular expression</source>\n        <target>Use regular expression</target>\n      </trans-unit>\n      <trans-unit id="7bbec1a797283712c0adf9e71d77fb5a8cd720db" datatype="html">\n        <source>{VAR_SELECT, select, 1 {Update} other {Add} }</source>\n        <target>{VAR_SELECT, select, 1 {Update} other {Add} }</target>\n      </trans-unit>\n      <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c" datatype="html">\n        <source>Edit</source>\n        <target>编辑</target>\n      </trans-unit>\n      <trans-unit id="826b25211922a1b46436589233cb6f1a163d89b7" datatype="html">\n        <source>Delete</source>\n        <target>删除</target>\n      </trans-unit>\n      <trans-unit id="a3ba06aba047605af8ea1718ec1ba153b7db12a2" datatype="html">\n        <source>Editing a silence will expire the old silence and recreate it as a new silence</source>\n        <target>Editing a silence will expire the old silence and recreate it as a new silence</target>\n      </trans-unit>\n      <trans-unit id="a20424156b8816671f61879f0574a4f27d7b16b9" datatype="html">\n        <source>Creator</source>\n        <target>Creator</target>\n      </trans-unit>\n      <trans-unit id="5a5d7ee2acbfa9c91ab7f41d26bda9ff0cafe42f" datatype="html">\n        <source>Comment</source>\n        <target>Comment</target>\n      </trans-unit>\n      <trans-unit id="4c11aad490b2d53fdae30b3807beabf79306752c" datatype="html">\n        <source>Start time</source>\n        <target>Start time</target>\n      </trans-unit>\n      <trans-unit id="32856b1e8e339b747b21e313e2fe65a51fd450bb" datatype="html">\n        <source>If the start time lies in the past the creation time will be used</source>\n        <target>If the start time lies in the past the creation time will be used</target>\n      </trans-unit>\n      <trans-unit id="a02ea1d4e7424ca989929da5e598f379940fdbf2" datatype="html">\n        <source>Duration</source>\n        <target>Duration</target>\n      </trans-unit>\n      <trans-unit id="2f4e35e36f4d3c62e2c17df41730b6dee4afc4b9" datatype="html">\n        <source>End time</source>\n        <target>End time</target>\n      </trans-unit>\n      <trans-unit id="992123459137d45c15df5548bc9682aad835c04b" datatype="html">\n        <source>Matchers</source>\n        <target>Matchers</target>\n      </trans-unit>\n      <trans-unit id="3e023166c55833d5a13f4143e3dbe372befe1b4e" datatype="html">\n        <source>A silence requires at least one matcher</source>\n        <target>A silence requires at least one matcher</target>\n      </trans-unit>\n      <trans-unit id="ef765bd80c4806c51c891908c07a24bc76f019eb" datatype="html">\n        <source>Add matcher</source>\n        <target>Add matcher</target>\n      </trans-unit>\n      <trans-unit id="d2bcd3296d2850de762fb943060b7e086a893181" datatype="html">\n        <source>Health</source>\n        <target>健康状况</target>\n      </trans-unit>\n      <trans-unit id="61e0f26d843eec0b33ff475e111b0c2f7a80b835" datatype="html">\n        <source>Statistics</source>\n        <target>统计数据</target>\n      </trans-unit>\n      <trans-unit id="f8f74e5f683012b9c0702b1446011c6b9158bc67" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the NFS Ganesha management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the NFS Ganesha management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="7ffe39df9d88c972792bd8688b215392deb8313d" datatype="html">\n        <source>Clients</source>\n        <target>客户端</target>\n      </trans-unit>\n      <trans-unit id="f2dae0bda66f6a349444951c0379c28cda47d6d1" datatype="html">\n        <source>Any client can access</source>\n        <target>任何客户端均可访问</target>\n      </trans-unit>\n      <trans-unit id="7882f2edb1d4139800b276b6b0bbf5ae0b2234ef" datatype="html">\n        <source>Addresses</source>\n        <target>地址</target>\n      </trans-unit>\n      <trans-unit id="9bd96fcf50863e685c74d0490392f46689ffbdb6" datatype="html">\n        <source>Required field</source>\n        <target>必填项</target>\n      </trans-unit>\n      <trans-unit id="a5f3f74c0f6925826cb2188576391c0da01a23f0" datatype="html">\n        <source>Must contain one or more comma-separated values</source>\n        <target>必须包含一个或多个逗号分隔值</target>\n      </trans-unit>\n      <trans-unit id="8bb5b2073697f3f4378c44a49b7524934c9268f4" datatype="html">\n        <source>For example:</source>\n        <target>例如:</target>\n      </trans-unit>\n      <trans-unit id="8f969c655b3fbe4fba7e277caf4cd2c459f9fca5" datatype="html">\n        <source>Access Type</source>\n        <target>访问类型</target>\n      </trans-unit>\n      <trans-unit id="28952831a284cfe2b4fc39ca610e80b52598905a" datatype="html">\n        <source>Squash</source>\n        <target>Squash</target>\n      </trans-unit>\n      <trans-unit id="0660ae339068979854ade34a96546980723dede3" datatype="html">\n        <source>Add clients</source>\n        <target>添加客户端</target>\n      </trans-unit>\n      <trans-unit id="135b91a2d908d5814b782695470a6a786c99d9d2" datatype="html">\n        <source>-- No cluster available --</source>\n        <target>-- 无可用集群 --</target>\n      </trans-unit>\n      <trans-unit id="c501dba379f566885919240ea277b5bc10c14d18" datatype="html">\n        <source>-- Select the cluster --</source>\n        <target>-- 请选择一个集群 --</target>\n      </trans-unit>\n      <trans-unit id="cf85b1ee58326aa9da63da41b2629c9db7c9a5b9" datatype="html">\n        <source>Add daemon</source>\n        <target>添加守护进程</target>\n      </trans-unit>\n      <trans-unit id="b3f6ba7fe84d6508705cdfe234f0fcc8ff85c9cf" datatype="html">\n        <source>Storage Backend</source>\n        <target>存储后端</target>\n      </trans-unit>\n      <trans-unit id="151c80ea931037cd92e854442927f8a0f6ae7795" datatype="html">\n        <source>-- No data pools available --</source>\n        <target>-- 没有可用的数据存储池 --</target>\n      </trans-unit>\n      <trans-unit id="b6fee356d1db954255a56d8169405a89595246b9" datatype="html">\n        <source>-- Select the storage backend --</source>\n        <target>-- 请选择存储后端 --</target>\n      </trans-unit>\n      <trans-unit id="76d67035c3ab3d8e56f725859f820f03fda41cfc" datatype="html">\n        <source>Object Gateway User</source>\n        <target>对象网关用户</target>\n      </trans-unit>\n      <trans-unit id="fade7788bace74337f306ae209f10fc187ef4671" datatype="html">\n        <source>-- No users available --</source>\n        <target>-- 无可选用户 --</target>\n      </trans-unit>\n      <trans-unit id="6d30b7b36cf8f6364167321bdb4ba35d4cefce7b" datatype="html">\n        <source>-- Select the object gateway user --</source>\n        <target>-- 请选择对象网关用户 --</target>\n      </trans-unit>\n      <trans-unit id="589ce20d3ba3e3ac44f75decfaadc4ea8f0aec2d" datatype="html">\n        <source>CephFS User ID</source>\n        <target>CephFS 用户 ID</target>\n      </trans-unit>\n      <trans-unit id="c4b88a53ac3b0ece46ba9b3ad72355a3c190cce7" datatype="html">\n        <source>-- No clients available --</source>\n        <target>-- 无可用客户端 --</target>\n      </trans-unit>\n      <trans-unit id="da52835b80497a0002d24414b057dc46ae44ce38" datatype="html">\n        <source>-- Select the cephx client --</source>\n        <target>-- 请选择 cephx 客户端 --</target>\n      </trans-unit>\n      <trans-unit id="fd3419e8957d928d7f7ba19c93356a0dbff02871" datatype="html">\n        <source>CephFS Name</source>\n        <target>CephFS 名称</target>\n      </trans-unit>\n      <trans-unit id="ee3ba0ab5f0ccd597b3e44021c71e9aaad14df0a" datatype="html">\n        <source>-- No CephFS filesystem available --</source>\n        <target>-- No CephFS filesystem available --</target>\n      </trans-unit>\n      <trans-unit id="764c57812558b1ae66c5eec95d7efd2b1bf761e3" datatype="html">\n        <source>-- Select the CephFS filesystem --</source>\n        <target>-- Select the CephFS filesystem --</target>\n      </trans-unit>\n      <trans-unit id="957512d0321f73e9f115bce1bd823fa635170c41" datatype="html">\n        <source>Security Label</source>\n        <target>安全标签</target>\n      </trans-unit>\n      <trans-unit id="65ce0fa4da1ed55e658aeb31d1644a29f06bb342" datatype="html">\n        <source>Enable security label</source>\n        <target>启用安全标签</target>\n      </trans-unit>\n      <trans-unit id="7e808f804130c7b6ff719509cbc06ebb27393a48" datatype="html">\n        <source>CephFS Path</source>\n        <target>CephFS 路径</target>\n      </trans-unit>\n      <trans-unit id="5ecc0107badb6625466aaa3f975b5c05276f432f" datatype="html">\n        <source>Path need to start with a \'/\' and can be followed by a word</source>\n        <target>路径需以“/”开头,后面可跟单词</target>\n      </trans-unit>\n      <trans-unit id="2d02916f44fc63e13ab16d1cbe72aa6cb51feab3" datatype="html">\n        <source>New directory will be created</source>\n        <target>将创建新文件夹</target>\n      </trans-unit>\n      <trans-unit id="766c66ad5cc981c531aaf3fe3a2a7a346ddc8d83" datatype="html">\n        <source>Path</source>\n        <target>路径</target>\n      </trans-unit>\n      <trans-unit id="7ec35c722a50b976620f22612f7be619c12ceb90" datatype="html">\n        <source>Path can only be a single \'/\' or a word</source>\n        <target>路径只能是单个“/”或单词</target>\n      </trans-unit>\n      <trans-unit id="aebb6a5090c24511de4530195694bb3f3dcf0342" datatype="html">\n        <source>New bucket will be created</source>\n        <target>将创建新的桶</target>\n      </trans-unit>\n      <trans-unit id="bee6900143996c0e908a10564532eba3da0b30fb" datatype="html">\n        <source>NFS Protocol</source>\n        <target>NFS 协议</target>\n      </trans-unit>\n      <trans-unit id="2f534178c01ebf1307da2eaeef04bc6801ebc729" datatype="html">\n        <source>NFSv3</source>\n        <target>NFSv3</target>\n      </trans-unit>\n      <trans-unit id="f5043c0921e709935ab026bb3253ffe1f159fca1" datatype="html">\n        <source>NFSv4</source>\n        <target>NFSv4</target>\n      </trans-unit>\n      <trans-unit id="92488963d23095985a47c0d6e62304e11d333f19" datatype="html">\n        <source>NFS Tag</source>\n        <target>NFS 标签</target>\n      </trans-unit>\n      <trans-unit id="aae93362720aea94623682996dd3fcd0f906f056" datatype="html">\n        <source>Alternative access for \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v3\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> mounts (it must not have a leading /).\n        </source>\n        <target>Alternative access for \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v3\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> mounts (it must not have a leading /).\n        </target>\n      </trans-unit>\n      <trans-unit id="45d6db77dcf1a3eeb921033abc7882e517a541cc" datatype="html">\n        <source>Clients may not mount subdirectories (i.e. if Tag = foo, the client may not mount foo/baz).</source>\n        <target>客户端不能装入子目录(即如果标记为 foo,则客户端无法装入 foo/baz)。</target>\n      </trans-unit>\n      <trans-unit id="a1c7a8676b55e882a97c6a6fb205204f9c761afa" datatype="html">\n        <source>By using different Tag options, the same Path may be exported multiple times.</source>\n        <target>通过使用不同标记选项,可将同一路径导出多次。</target>\n      </trans-unit>\n      <trans-unit id="6d2c39708a32910f89701dd7e1cfb9ec1c195768" datatype="html">\n        <source>Pseudo</source>\n        <target>伪</target>\n      </trans-unit>\n      <trans-unit id="1f8be2ae25947bec0b84c2338201580ea053f34e" datatype="html">\n        <source>The position that this \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v4\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> export occupies\n                in the \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>Pseudo FS\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> (it must be unique).\n        </source>\n        <target>The position that this \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v4\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> export occupies\n                in the \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>Pseudo FS\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> (it must be unique).\n        </target>\n      </trans-unit>\n      <trans-unit id="f3af55f7fd5b1d9e5a53e030c80116dc635bfb9f" datatype="html">\n        <source>By using different Pseudo options, the same Path may be exported multiple times.</source>\n        <target>通过使用不同伪选项,可将同一路径导出多次。</target>\n      </trans-unit>\n      <trans-unit id="ddf98fcdeeb17643db020d54f42b5e56b5f9a52a" datatype="html">\n        <source>Pseudo needs to start with a \'/\' and can\'t contain any of the following: &gt;, &lt;, |, &amp;, ( or ).</source>\n        <target>Pseudo needs to start with a \'/\' and can\'t contain any of the following: &gt;, &lt;, |, &amp;, ( or ).</target>\n      </trans-unit>\n      <trans-unit id="27eb35c4b4ac08781a7253a2ab40f8f7d957ba51" datatype="html">\n        <source>-- No access type available --</source>\n        <target>-- 没有可用的访问类型 --</target>\n      </trans-unit>\n      <trans-unit id="509ce016c9110a54028dafd741f15ceacbe74b5a" datatype="html">\n        <source>-- Select the access type --</source>\n        <target>-- 选择访问类型 --</target>\n      </trans-unit>\n      <trans-unit id="49850390a653cd05dc5843d74ef073a9122b54c9" datatype="html">\n        <source>The Object Gateway NFS backend has a number of\n              limitations which will seriously affect applications writing to\n              the share. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for details before enabling write access.\n        </source>\n        <target>The Object Gateway NFS backend has a number of\n              limitations which will seriously affect applications writing to\n              the share. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for details before enabling write access.\n        </target>\n      </trans-unit>\n      <trans-unit id="4deda03573eaaff77e63f6a238a1f0ca7816950a" datatype="html">\n        <source>-- No squash available --</source>\n        <target>-- 没有可用的 squash --</target>\n      </trans-unit>\n      <trans-unit id="a0e82a4da88e7fdf270444f838d45849676e9d4b" datatype="html">\n        <source>--Select what kind of user id squashing is performed --</source>\n        <target>-- 选择执行哪种类型的用户 ID 匿名访问 --</target>\n      </trans-unit>\n      <trans-unit id="d01b7c3f7f06712c53d054cfbe4f53d446b038e8" datatype="html">\n        <source>Transport Protocol</source>\n        <target>传输协议</target>\n      </trans-unit>\n      <trans-unit id="d2a6ad6e8bc315f07911722c05767ac79c136d99" datatype="html">\n        <source>UDP</source>\n        <target>UDP</target>\n      </trans-unit>\n      <trans-unit id="9c030f11e0aae9b24d2c048c57f29f590be621df" datatype="html">\n        <source>TCP</source>\n        <target>TCP</target>\n      </trans-unit>\n      <trans-unit id="734c9905951a774870497c5aaae8e3ee833b6196" datatype="html">\n        <source>CephFS</source>\n        <target>CephFS</target>\n      </trans-unit>\n      <trans-unit id="0eb15f32b2b92d7f3103ef3ff032621888a8dc32" datatype="html">\n        <source>Old password</source>\n        <target>Old password</target>\n      </trans-unit>\n      <trans-unit id="1cf42e491adc166a337a960eb84d03c0c3f677c8" datatype="html">\n        <source>The old and new passwords must be different.</source>\n        <target>The old and new passwords must be different.</target>\n      </trans-unit>\n      <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229" datatype="html">\n        <source>New password</source>\n        <target>New password</target>\n      </trans-unit>\n      <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b" datatype="html">\n        <source>Confirm new password</source>\n        <target>Confirm new password</target>\n      </trans-unit>\n      <trans-unit id="90163a3d3746819aef42e829f4446331232f3b66" datatype="html">\n        <source>Password confirmation doesn\'t match the new password.</source>\n        <target>Password confirmation doesn\'t match the new password.</target>\n      </trans-unit>\n      <trans-unit id="d06ae77f9ec46a4cdd49e7e76c73a411aaf2ee38" datatype="html">\n        <source>Please set a new password.</source>\n        <target>Please set a new password.</target>\n      </trans-unit>\n      <trans-unit id="8b5b3566e88438f51bd5f6caf6c090ed565ba5ed" datatype="html">\n        <source>You will be redirected to the login page afterwards.</source>\n        <target>You will be redirected to the login page afterwards.</target>\n      </trans-unit>\n      <trans-unit id="449dca3d3a93ead418b0541ea81b0dda7e6483c2" datatype="html">\n        <source>Welcome to Ceph!</source>\n        <target>欢迎使用 Ceph!</target>\n        <note>The welcome message on the login page</note>\n      </trans-unit>\n      <trans-unit id="0070e83d11da39d6f4bb95065c2675db1610b419" datatype="html">\n        <source>Username is required</source>\n        <target>请输入用户名</target>\n      </trans-unit>\n      <trans-unit id="1e20f8b8a4706526c9024cc2f39d568345d100dc" datatype="html">\n        <source>Password is required</source>\n        <target>请输入密码</target>\n      </trans-unit>\n      <trans-unit id="6765b4c916060f6bc42d9bb69e80377dbcb5e4e9" datatype="html">\n        <source>Login</source>\n        <target>登录</target>\n      </trans-unit>\n      <trans-unit id="58fc1b5c79a75370eb52644fd83fb2e7096b6649" datatype="html">\n        <source>Sorry, the user does not exist in Ceph.</source>\n        <target>抱歉,此用户不存在。</target>\n      </trans-unit>\n      <trans-unit id="d9deb94f78e7c41b35c6622b874f06657d7604c1" datatype="html">\n        <source>Return to \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Login Page\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You\'ll be logged out from the Identity Provider when you retry logging in.\n        </source>\n        <target>Return to \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Login Page\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You\'ll be logged out from the Identity Provider when you retry logging in.\n        </target>\n      </trans-unit>\n      <trans-unit id="471e78026c258073ba687478dc54c35d9041ea42" datatype="html">\n        <source>Forbidden</source>\n        <target>禁止访问</target>\n      </trans-unit>\n      <trans-unit id="02ea8ad57677e3c63f3d7814ca5e6c7b74e360b4" datatype="html">\n        <source>Sorry, you are not allowed to see what you were looking for.</source>\n        <target>抱歉,您无权访问这个页面。</target>\n      </trans-unit>\n      <trans-unit id="2240b985f17293d84cc8532fe86994aa5f63667c" datatype="html">\n        <source>Sorry, we could not find what you were looking for.</source>\n        <target>Sorry, we could not find what you were looking for.</target>\n      </trans-unit>\n      <trans-unit id="ac54c18c1b520e948095c83a3a1025f02ce6dcc6" datatype="html">\n        <source>Neither hostname nor OSD ID given</source>\n        <target>Neither hostname nor OSD ID given</target>\n      </trans-unit>\n      <trans-unit id="4f635b3cb0600409a2ad44a5bd1863c699e6a01c" datatype="html">\n        <source>Failed to retrieve SMART data.</source>\n        <target>Failed to retrieve SMART data.</target>\n      </trans-unit>\n      <trans-unit id="d82a9af5b05e7cd17640f196f163771685ff8df6" datatype="html">\n        <source>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</source>\n        <target>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</target>\n      </trans-unit>\n      <trans-unit id="04f8a3c7e8ac610e6581960162cc15f55a16696a" datatype="html">\n        <source>No SMART data available.</source>\n        <target>No SMART data available.</target>\n      </trans-unit>\n      <trans-unit id="3a03d3c2e459f8f8fa7202c0fce465d6165f9e2b" datatype="html">\n        <source>passed</source>\n        <target>passed</target>\n      </trans-unit>\n      <trans-unit id="a185c9b97513b3882604ea9bab60edbfac945c15" datatype="html">\n        <source>SMART overall-health self-assessment test result</source>\n        <target>SMART overall-health self-assessment test result</target>\n      </trans-unit>\n      <trans-unit id="41435d5a5692c8e412c74deaee95d99dbd3617e1" datatype="html">\n        <source>failed</source>\n        <target>failed</target>\n      </trans-unit>\n      <trans-unit id="ddd5dd6d930030096ea617f62c82b648a0dd9484" datatype="html">\n        <source>Device Information</source>\n        <target>Device Information</target>\n      </trans-unit>\n      <trans-unit id="380295f37caea93701d071485a38ef0bdba57133" datatype="html">\n        <source>No SMART data available for this device.</source>\n        <target>No SMART data available for this device.</target>\n      </trans-unit>\n      <trans-unit id="20cb12827cbe559a7b1da6fdae96041b3b5c3c55" datatype="html">\n        <source>SMART</source>\n        <target>SMART</target>\n      </trans-unit>\n      <trans-unit id="5758c3f16f8749f0f4e2a787f02e8b4da246102f" datatype="html">\n        <source>SMART data is loading.</source>\n        <target>SMART data is loading.</target>\n      </trans-unit>\n      <trans-unit id="a949d7e577902d0e5dc5d0971bb0170a21be7728" datatype="html">\n        <source>[object Object]</source>\n        <target>[object Object]</target>\n      </trans-unit>\n      <trans-unit id="ff92fbdec9fdd5054493eeda0d7ee8b450f83e72" datatype="html">\n        <source>RBD Configuration</source>\n        <target>RBD 配置</target>\n      </trans-unit>\n      <trans-unit id="b62d9efc8eb3b589904f6cb96a0406bbda55673a" datatype="html">\n        <source>Remove the local configuration value. The parent configuration value will be inherited and used instead.</source>\n        <target>删除本地的配置项,改用更高作用域的配置值。</target>\n      </trans-unit>\n      <trans-unit id="963488a1010d46067b238c4ae917fab3907c0a3a" datatype="html">\n        <source>The mininum value is 0</source>\n        <target>最小值为 0</target>\n      </trans-unit>\n      <trans-unit id="1d8a7c8aea58294a3c57c23af0468ddf0ba0c9c7" datatype="html">\n        <source>Pools List</source>\n        <target>存储池列表</target>\n      </trans-unit>\n      <trans-unit id="490e15ecc922965b6d8194754c87c5583aa071f3" datatype="html">\n        <source>The name can only consist of alphanumeric characters, dashes and underscores.</source>\n        <target>名称只能由字母、数字、短划线和下划线组成。</target>\n      </trans-unit>\n      <trans-unit id="9edc2b494e660618af3e5225f68d40b7ca67629c" datatype="html">\n        <source>The chosen erasure code profile name is already in use.</source>\n        <target>此纠删码配置名称已被使用。</target>\n      </trans-unit>\n      <trans-unit id="35a4206db3105ed03e0dd799e1642b75b78123e8" datatype="html">\n        <source>Root</source>\n        <target>Root</target>\n      </trans-unit>\n      <trans-unit id="cf425784c7073c7e7f7c1bb90c2c19db7e751db2" datatype="html">\n        <source>Failure domain type</source>\n        <target>Failure domain type</target>\n      </trans-unit>\n      <trans-unit id="72396a9565cf644d1fe1b21b790c4243ee270986" datatype="html">\n        <source>Device class</source>\n        <target>Device class</target>\n      </trans-unit>\n      <trans-unit id="72d80e0c07bfea1b693a33ef2245007de92a6780" datatype="html">\n        <source>Let Ceph decide</source>\n        <target>Let Ceph decide</target>\n      </trans-unit>\n      <trans-unit id="ef9ff0e6227947b48dfab4ac39ade04af758913b" datatype="html">\n        <source>Plugin</source>\n        <target>纠删码算法</target>\n      </trans-unit>\n      <trans-unit id="dd69b31bce8f630eac1d4762b0bbcf72ce19d193" datatype="html">\n        <source>Data chunks (k)</source>\n        <target>数据块 (k)</target>\n      </trans-unit>\n      <trans-unit id="b0d26a6172d32cb81218fe2103c54a818cbc1189" datatype="html">\n        <source>Must be equal to or greater than 2.</source>\n        <target>必须大于等于 2</target>\n      </trans-unit>\n      <trans-unit id="dab3a299ead121169b8e08ed618c3b6a2f66691b" datatype="html">\n        <source>Coding chunks (m)</source>\n        <target>校验块 (m)</target>\n      </trans-unit>\n      <trans-unit id="1e2773e5bd4948193f18f2361d663ecc3988c656" datatype="html">\n        <source>Must be equal to or greater than 1.</source>\n        <target>必须大于等于 1</target>\n      </trans-unit>\n      <trans-unit id="6cde4c945a49a260c0a47bcc7cd956846930a5f7" datatype="html">\n        <source>Durability estimator (c)</source>\n        <target>持久因子 (c)</target>\n      </trans-unit>\n      <trans-unit id="af668c2a095a979ea2b4e43cd82c2120ab56c21c" datatype="html">\n        <source>Locality (l)</source>\n        <target>局部性因子 (l)</target>\n      </trans-unit>\n      <trans-unit id="d455a110bf6d2235e314e295ce1dfeee93d3dff2" datatype="html">\n        <source>Crush failure domain</source>\n        <target>CRUSH 故障域</target>\n      </trans-unit>\n      <trans-unit id="b74a495f041f7dd102eee5c0bbc9e03083b538ae" datatype="html">\n        <source>Crush Locality</source>\n        <target>CRUSH 局部性</target>\n      </trans-unit>\n      <trans-unit id="a2f14a73f7a6e94479f67423cc51102da8d6f524" datatype="html">\n        <source>None</source>\n        <target>无</target>\n      </trans-unit>\n      <trans-unit id="2981733b912b693a9dd9d915d6d34f4692cc874a" datatype="html">\n        <source>Technique</source>\n        <target>算法</target>\n      </trans-unit>\n      <trans-unit id="e0098b6e47b04ec817361f384ce81d454ba5c0bb" datatype="html">\n        <source>Packetsize</source>\n        <target>packetsize</target>\n      </trans-unit>\n      <trans-unit id="c0252cd81ca54d0a2f69ec9ccf4248e73df5aa4a" datatype="html">\n        <source>Crush root</source>\n        <target>CRUSH 根</target>\n      </trans-unit>\n      <trans-unit id="1548d5c76f0406ddd1ba3c557e1e6db22e95b340" datatype="html">\n        <source>Crush device class</source>\n        <target>CRUSH 设备类型</target>\n      </trans-unit>\n      <trans-unit id="5e85feb6f9f0334366e46ee09ca6b8df52397432" datatype="html">\n        <source>any</source>\n        <target>任意</target>\n      </trans-unit>\n      <trans-unit id="03d84645f6e019c5a43909bbf2ea1696ee88332c" datatype="html">\n        <source>Directory</source>\n        <target>目录</target>\n      </trans-unit>\n      <trans-unit id="2fecea01ce1d44114ee45144eff6d47a5016a74f" datatype="html">\n        <source>Name...</source>\n        <target>名称…</target>\n      </trans-unit>\n      <trans-unit id="16e113230b6b0d3165e076300880542bac7c8138" datatype="html">\n        <source>The chosen Ceph pool name is already in use.</source>\n        <target>此 Ceph 存储池名称已被使用。</target>\n      </trans-unit>\n      <trans-unit id="c75b132bef7b29fa5171768303c4b96e34ccaf68" datatype="html">\n        <source>It\'s not possible to create an RBD pool with \'/\' in the name.\n              Please change the name or remove \'rbd\' from the applications list.</source>\n        <target>It\'s not possible to create an RBD pool with \'/\' in the name.\n              Please change the name or remove \'rbd\' from the applications list.</target>\n      </trans-unit>\n      <trans-unit id="171dc6d5c6bc4615d99778b0088cae80fd00bd10" datatype="html">\n        <source>Pool name can only contain letters, numbers, \'.\', \'-\', \'_\' or \'/\'.</source>\n        <target>Pool name can only contain letters, numbers, \'.\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="b85c657469e5ec8231c3de99b22f437bc01ffde5" datatype="html">\n        <source>Pool type</source>\n        <target>存储池类型</target>\n      </trans-unit>\n      <trans-unit id="526c5443254c3b126eedb264840ffe827727bfd3" datatype="html">\n        <source>-- Select a pool type --</source>\n        <target>-- 请选择存储池的类型 --</target>\n      </trans-unit>\n      <trans-unit id="6abfbe47b630929d93c7343dc154599c2e59330a" datatype="html">\n        <source>PG Autoscale</source>\n        <target>PG Autoscale</target>\n      </trans-unit>\n      <trans-unit id="0aa21053410a94aa61d16985a4e95fd65523430d" datatype="html">\n        <source>Placement groups</source>\n        <target>归置组 (PG)</target>\n      </trans-unit>\n      <trans-unit id="6301f1391d726f8f450bb358058534db19541ca9" datatype="html">\n        <source>At least one placement group is needed!</source>\n        <target>至少需要一个归置组!</target>\n      </trans-unit>\n      <trans-unit id="ba9469a1ce6ed36e039c1f67247c8c81a5c71449" datatype="html">\n        <source>Your cluster can\'t handle this many PGs. Please recalculate the PG amount needed.</source>\n        <target>您的集群没法支持这么多的 PG。请重新计算需要的 PG 个数。</target>\n      </trans-unit>\n      <trans-unit id="80ac68cd883369dac20688bc32b4cb33291b5e50" datatype="html">\n        <source>Calculation help</source>\n        <target>在线 PG 计算器</target>\n      </trans-unit>\n      <trans-unit id="fccbd60493df26705d957ed6c02a3c447894678f" datatype="html">\n        <source>The current PGs settings were calculated for you, you\n                should make sure the values suit your needs before submit.</source>\n        <target>The current PGs settings were calculated for you, you\n                should make sure the values suit your needs before submit.</target>\n      </trans-unit>\n      <trans-unit id="a43b2695131b48b76cebba676aba98a2bee17515" datatype="html">\n        <source>Replicated size</source>\n        <target>副本个数</target>\n      </trans-unit>\n      <trans-unit id="7bff144a4c4dc63b0e18fff2617d61a7ebdf2b6c" datatype="html">\n        <source>Minimum: \n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/>\n        </source>\n        <target>Minimum: \n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="1a9c54b41f6d58a74e5d0aa3429ed0c87a482551" datatype="html">\n        <source>Maximum: \n          <x id="INTERPOLATION" equiv-text="{{ getMaxSize() }}"/>\n        </source>\n        <target>Maximum: \n          <x id="INTERPOLATION" equiv-text="{{ getMaxSize() }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6ab647b95bd2347ae6f4605576de5e0269fb893a" datatype="html">\n        <source>The size specified is out of range. A value from\n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/> to \n          <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.\n        </source>\n        <target>The size specified is out of range. A value from\n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/> to \n          <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.\n        </target>\n      </trans-unit>\n      <trans-unit id="920617c6a1a4805e53bcb5af6a9c76f8387e89c6" datatype="html">\n        <source>Flags</source>\n        <target>标志</target>\n      </trans-unit>\n      <trans-unit id="1c870fb00256b8a5b9cb9cd1a124e6390b9bc639" datatype="html">\n        <source>EC Overwrites</source>\n        <target>EC 重写 (overwrite)</target>\n      </trans-unit>\n      <trans-unit id="f1abafaeb40ce52355ddcc24686e3cd17b64e08a" datatype="html">\n        <source>Applications</source>\n        <target>应用类型</target>\n      </trans-unit>\n      <trans-unit id="fb9308b82fc183f710df60909f49cfc73aa5e076" datatype="html">\n        <source>CRUSH</source>\n        <target>CRUSH</target>\n      </trans-unit>\n      <trans-unit id="9de7dde00e2139cc4bd03b1837afbe72ad15a1ff" datatype="html">\n        <source>Erasure code profile</source>\n        <target>纠删码配置</target>\n      </trans-unit>\n      <trans-unit id="39b4620e6bd444e0a57a0a5c03fa8c96d7fe5235" datatype="html">\n        <source>-- No erasure code profile available --</source>\n        <target>-- 无纠删码配置可选 --</target>\n      </trans-unit>\n      <trans-unit id="498561757390d5528b263ce450d5f38efb00266d" datatype="html">\n        <source>-- Select an erasure code profile --</source>\n        <target>-- 请选择一个纠删码配置 --</target>\n      </trans-unit>\n      <trans-unit id="33150f22ce5348aa6c499bd092c3f4f3695d62cc" datatype="html">\n        <source>Crush ruleset</source>\n        <target>CRUSH 算法规则组</target>\n      </trans-unit>\n      <trans-unit id="c69b0bcd4698aa845d32c4c4ad488492552cb469" datatype="html">\n        <source>A new crush ruleset will be implicitly created.</source>\n        <target>A new crush ruleset will be implicitly created.</target>\n      </trans-unit>\n      <trans-unit id="896e9987db5e9bb279e6deed5d2dff28c242ef66" datatype="html">\n        <source>There are no rules.</source>\n        <target>There are no rules.</target>\n      </trans-unit>\n      <trans-unit id="73a6b31116b3cc322af951daa0bafdc169e6c42e" datatype="html">\n        <source>-- Select a crush rule --</source>\n        <target>-- 选择 CRUSH 规则 --</target>\n      </trans-unit>\n      <trans-unit id="ea91d648f92002bc9f96d9b26b735c83ca0b53c6" datatype="html">\n        <source>This rule can\'t be deleted as it is in use.</source>\n        <target>This rule can\'t be deleted as it is in use.</target>\n      </trans-unit>\n      <trans-unit id="92da80699921e89fb19372e25b8d0f3b9fa427fc" datatype="html">\n        <source>Crush rule</source>\n        <target>CRUSH 规则</target>\n      </trans-unit>\n      <trans-unit id="5489e9f96835f469f6f728a00d8efa88ea5bc940" datatype="html">\n        <source>Crush steps</source>\n        <target>CRUSH 步骤</target>\n      </trans-unit>\n      <trans-unit id="fc5f5496a9e50fe69e1a09784f28d94944108294" datatype="html">\n        <source>Rule is not in use.</source>\n        <target>Rule is not in use.</target>\n      </trans-unit>\n      <trans-unit id="023d6f718770d2ea4ab8cabe26b0ec27ef967ec2" datatype="html">\n        <source>Used by pools</source>\n        <target>Used by pools</target>\n      </trans-unit>\n      <trans-unit id="104a0e6900d1d1b0c8cf9e5947e36edb352583fc" datatype="html">\n        <source>The rule can\'t be used in the current cluster as it has\n                  too few OSDs to meet the minimum required OSD by this rule.</source>\n        <target>The rule can\'t be used in the current cluster as it has\n                  too few OSDs to meet the minimum required OSD by this rule.</target>\n      </trans-unit>\n      <trans-unit id="2208d63d5940ce656006a220102b1eb2b5e553da" datatype="html">\n        <source>Compression</source>\n        <target>压缩</target>\n      </trans-unit>\n      <trans-unit id="37e10df2d9c0c25ef04ac112c9c9a7723e8efae0" datatype="html">\n        <source>Mode</source>\n        <target>模式</target>\n      </trans-unit>\n      <trans-unit id="6c6f25c47da62ec597c6057a36ddfc3209811ec5" datatype="html">\n        <source>Algorithm</source>\n        <target>算法</target>\n      </trans-unit>\n      <trans-unit id="4903231d42089325a28892c0fde1aed46b733ae6" datatype="html">\n        <source>-- No erasure compression algorithm available --</source>\n        <target>-- 无可用的纠删码压缩算法 --</target>\n      </trans-unit>\n      <trans-unit id="5d68ddb254275f8f44221e9ad6d8ceeb59ca46a6" datatype="html">\n        <source>Minimum blob size</source>\n        <target>blob 大小下限</target>\n      </trans-unit>\n      <trans-unit id="fb2f176df80647137cbb02bbeb29e5dec707a400" datatype="html">\n        <source>e.g., 128KiB</source>\n        <target>比如 128 KiB</target>\n      </trans-unit>\n      <trans-unit id="1b7f6e53a4521c6eb3ced4c007fdd4cf80bb7707" datatype="html">\n        <source>Value should be greater than 0</source>\n        <target>取值必须大于 0</target>\n      </trans-unit>\n      <trans-unit id="8db98ab14b4e207ec763dfdefbc2dae367aab1cc" datatype="html">\n        <source>Value should be less than the maximum blob size</source>\n        <target>Value should be less than the maximum blob size</target>\n      </trans-unit>\n      <trans-unit id="151efb127a9a4dd25259a0b2055442318a141f5b" datatype="html">\n        <source>Maximum blob size</source>\n        <target>blob 大小上限</target>\n      </trans-unit>\n      <trans-unit id="0c656f0e346bbadf46eb1a5d20d0307a3bd20ba8" datatype="html">\n        <source>e.g., 512KiB</source>\n        <target>如 512KiB</target>\n      </trans-unit>\n      <trans-unit id="0a65a24eee8a026f3b1113fe9e157e9a0dd69486" datatype="html">\n        <source>Value should be greater than the minimum blob size</source>\n        <target>取值必须大于 blob 大小下限</target>\n      </trans-unit>\n      <trans-unit id="261ba09c4a59de83f48f52a23fd328da37e61ff4" datatype="html">\n        <source>Ratio</source>\n        <target>比例</target>\n      </trans-unit>\n      <trans-unit id="c1430457a9c3c66366e51d76bf10396014c576be" datatype="html">\n        <source>Compression ratio</source>\n        <target>压缩率</target>\n      </trans-unit>\n      <trans-unit id="ae5ce6de352cde949998fb10754459c3a4eb183b" datatype="html">\n        <source>Value should be between 0.0 and 1.0</source>\n        <target>取值必须在 0.0 和 1.0 之间</target>\n      </trans-unit>\n      <trans-unit id="8bb8293aa8161433778762ae025ffd5e7c85795e" datatype="html">\n        <source>Quotas</source>\n        <target>Quotas</target>\n      </trans-unit>\n      <trans-unit id="d99b34162c9c34f10d0ccd8dbae83d8569c2db77" datatype="html">\n        <source>Max bytes</source>\n        <target>Max bytes</target>\n      </trans-unit>\n      <trans-unit id="a1d14a18879c62f3f4ed705318b7164a1160e249" datatype="html">\n        <source>Leave it blank or specify 0 to disable this quota.</source>\n        <target>Leave it blank or specify 0 to disable this quota.</target>\n      </trans-unit>\n      <trans-unit id="7565b131562ff6c5f769fdbd239a772154abdd97" datatype="html">\n        <source>A valid quota should be greater than 0.</source>\n        <target>A valid quota should be greater than 0.</target>\n      </trans-unit>\n      <trans-unit id="f0016bd458baa88284a658ce9eeda42d8ad88d2c" datatype="html">\n        <source>e.g., 10GiB</source>\n        <target>如 10 GiB</target>\n      </trans-unit>\n      <trans-unit id="b8bf35b66f09a301eef92ffc3cb2fd259df67ce9" datatype="html">\n        <source>Max objects</source>\n        <target>Max objects</target>\n      </trans-unit>\n      <trans-unit id="95f348167622d832c5ae532b6944635c8e2ae5cb" datatype="html">\n        <source>The value should be greater or equal to 0</source>\n        <target>The value should be greater or equal to 0</target>\n      </trans-unit>\n      <trans-unit id="4f8b2bb476981727ab34ed40fde1218361f92c45" datatype="html">\n        <source>Details</source>\n        <target>详情</target>\n      </trans-unit>\n      <trans-unit id="fbbaf5cb02ed419e79a27072478f716a4666a99d" datatype="html">\n        <source>Performance Details</source>\n        <target>性能详情</target>\n      </trans-unit>\n      <trans-unit id="3938a411d76796f8ae73b72ea4c77661207453bd" datatype="html">\n        <source>Cache Tiers Details</source>\n        <target>缓存层详细信息</target>\n      </trans-unit>\n      <trans-unit id="ecbc084370a732fc3cde1966a60af78d71424ab4" datatype="html">\n        <source>Create Bootstrap Token</source>\n        <target>Create Bootstrap Token</target>\n      </trans-unit>\n      <trans-unit id="603e9cc3ef2aab57f2b0a00e465b23b9cabefd9c" datatype="html">\n        <source>To create a bootstrap token which can be imported\n          by a peer site cluster, provide the local site\'s name, select\n          which pools will have mirroring enabled, and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Generate\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>To create a bootstrap token which can be imported\n          by a peer site cluster, provide the local site\'s name, select\n          which pools will have mirroring enabled, and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Generate\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="660f97cd3188f8a04bd03b79e703fec72c6df04c" datatype="html">\n        <source>Site Name</source>\n        <target>Site Name</target>\n      </trans-unit>\n      <trans-unit id="8c2a1dc72cffaf7ab3dc5599bf77b0a7fcad2b20" datatype="html">\n        <source>At least one pool is required.</source>\n        <target>At least one pool is required.</target>\n      </trans-unit>\n      <trans-unit id="1b258b258b4cc475ceb2871305b61756b0134f4a" datatype="html">\n        <source>Generate</source>\n        <target>Generate</target>\n      </trans-unit>\n      <trans-unit id="1edc1fc6cfbbb22353050ad6788508b3ed584f53" datatype="html">\n        <source>Token</source>\n        <target>Token</target>\n      </trans-unit>\n      <trans-unit id="ff785f5596aef34a93b9b4d1023e95c62eef5740" datatype="html">\n        <source>Generated token...</source>\n        <target>Generated token...</target>\n      </trans-unit>\n      <trans-unit id="5467a6bb0e7fade6def7499400d5e2a7d8d3da20" datatype="html">\n        <source>Import Bootstrap Token</source>\n        <target>Import Bootstrap Token</target>\n      </trans-unit>\n      <trans-unit id="9bb7aee0dec5164f45c0aa2f35f2fb2149d2c1d2" datatype="html">\n        <source>To import a bootstrap token which was created\n          by a peer site cluster, provide the local site\'s name, select\n          which pools will have mirroring enabled, provide the generated\n          token, and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Import\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>To import a bootstrap token which was created\n          by a peer site cluster, provide the local site\'s name, select\n          which pools will have mirroring enabled, provide the generated\n          token, and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Import\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="9200e09686136a1d42adfb89c12fbfef2deea125" datatype="html">\n        <source>Direction</source>\n        <target>Direction</target>\n      </trans-unit>\n      <trans-unit id="9761484679958da8d12841a4efa5964d33fae575" datatype="html">\n        <source>The token is invalid.</source>\n        <target>The token is invalid.</target>\n      </trans-unit>\n      <trans-unit id="a059709f71aa4c0ac219e160e78a738682ca6a36" datatype="html">\n        <source>Import</source>\n        <target>Import</target>\n      </trans-unit>\n      <trans-unit id="b87bd96249f8afc23f5301cddb57b1464a98e71a" datatype="html">\n        <source>Edit site name</source>\n        <target>Edit site name</target>\n      </trans-unit>\n      <trans-unit id="cfff72c667274c12eb1ff71eadc25871c10c42dc" datatype="html">\n        <source>Edit the site name and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>Edit the site name and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="40b7acea5b43f45e0bbd1efeba5200af4687981d" datatype="html">\n        <source>Site Name:</source>\n        <target>Site Name:</target>\n      </trans-unit>\n      <trans-unit id="f0b5d789d42c0e69348e5fe0037fcbf5b5fbbdcc" datatype="html">\n        <source>Move an image to trash</source>\n        <target>将映像移至回收站</target>\n      </trans-unit>\n      <trans-unit id="7ad22c1d4aab3b8946603cea62de266d5129ca10" datatype="html">\n        <source>This image contains snapshot(s), which will prevent it\n            from being removed after moved to trash.</source>\n        <target>This image contains snapshot(s), which will prevent it\n            from being removed after moved to trash.</target>\n      </trans-unit>\n      <trans-unit id="b4b3ced4f8aad4c446f348b14c3d94be2e2c350c" datatype="html">\n        <source>To move \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ imageSpecStr }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,\n          click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optionally, you can pick an expiration date.\n        </source>\n        <target>To move \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ imageSpecStr }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,\n          click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optionally, you can pick an expiration date.\n        </target>\n      </trans-unit>\n      <trans-unit id="88f27d390844aad53b4240360e928156c5f0d326" datatype="html">\n        <source>Protection expires at</source>\n        <target>保护期一直到</target>\n      </trans-unit>\n      <trans-unit id="da166e9a0d27322f6ba8916d71ecc0f9905bb4b1" datatype="html">\n        <source>NOT PROTECTED</source>\n        <target>无保护</target>\n      </trans-unit>\n      <trans-unit id="a1506e5f2ca22cad14502ec7a20fb6113ace145d" datatype="html">\n        <source>Wrong date format. Please use "YYYY-MM-DD HH:mm:ss".</source>\n        <target>日期格式有问题。请使用“YYYY-MM-DD HH:mm:ss”。</target>\n      </trans-unit>\n      <trans-unit id="aa7ea0bb7495281e0b3258467ac7d90a1e44a1a1" datatype="html">\n        <source>Protection has already expired. Please pick a future date or leave it empty.</source>\n        <target>保护期限已经过了。请设置一个将来的日期,或者清空不填。</target>\n      </trans-unit>\n      <trans-unit id="536b3205c0c0d4d21685ec06feccfcf2fe14deb1" datatype="html">\n        <source>Move Image</source>\n        <target>移动映像</target>\n      </trans-unit>\n      <trans-unit id="c9f1026c1235f4d76ace47449e806efd181ab332" datatype="html">\n        <source>Deleting this image will also delete all its snapshots.</source>\n        <target>Deleting this image will also delete all its snapshots.</target>\n      </trans-unit>\n      <trans-unit id="55f864597e84d9bf88769e1fbfda1d64452430c9" datatype="html">\n        <source>The following snapshots are currently protected and will be removed:</source>\n        <target>The following snapshots are currently protected and will be removed:</target>\n      </trans-unit>\n      <trans-unit id="8a9910cd114c1deb9af74f6f99b4173403965bf2" datatype="html">\n        <source>Gateways</source>\n        <target>Gateways</target>\n      </trans-unit>\n      <trans-unit id="8835b9e49a3348b0a2f2162c21118af1f4bee45a" datatype="html">\n        <source>Must be greater than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'min\'] }}"/>.\n        </source>\n        <target>Must be greater than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'min\'] }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="bbddac59563c8c126e3fe28691e4e247614fcbd1" datatype="html">\n        <source>Must be less than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'max\'] }}"/>.\n        </source>\n        <target>Must be less than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'max\'] }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="e95ae009d0bdb45fcc656e8b65248cf7396080d5" datatype="html">\n        <source>Overview</source>\n        <target>概览</target>\n      </trans-unit>\n      <trans-unit id="bbd2045d5c37e4bb39a3c0fb62ea1ddf70a12838" datatype="html">\n        <source>Targets</source>\n        <target>目标</target>\n      </trans-unit>\n      <trans-unit id="6803e31b7395d94934e091a49a9524026b59b018" datatype="html">\n        <source>Discovery Authentication</source>\n        <target>发现身份验证</target>\n      </trans-unit>\n      <trans-unit id="e08a77594f3d89311cdf6da5090044270909c194" datatype="html">\n        <source>User</source>\n        <target>用户</target>\n      </trans-unit>\n      <trans-unit id="0214f773f8e394f50f953f39962e352d7863e959" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n              can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>用户名长度必须在 8 到 64 个字符之间,且只能包含\n以下字符:英文字母、“.”、“@”、“-”、“_”或“:”。</target>\n      </trans-unit>\n      <trans-unit id="c32ef07f8803a223a83ed17024b38e8d82292407" datatype="html">\n        <source>Password</source>\n        <target>密码</target>\n      </trans-unit>\n      <trans-unit id="6682d1c00263bee204583a5d589b308b6be88b0f" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n              and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n              and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="ff40391de7a1944ea95091e4045cc34c4979b736" datatype="html">\n        <source>Mutual User</source>\n        <target>互认证用户</target>\n      </trans-unit>\n      <trans-unit id="0cf73dbebe99b737c4d288788182fc356e3c93d3" datatype="html">\n        <source>Mutual Password</source>\n        <target>互认证密码</target>\n      </trans-unit>\n      <trans-unit id="8800276925157c666b103c36ff7fe8ffe11980b4" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters and\n              can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters and\n              can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="53a583cd5f15059cc958b7d547f72cc78f68e123" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n    on how to configure and enable the iSCSI Targets management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n    on how to configure and enable the iSCSI Targets management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="3b301d0044f62c92af0da53d7aaca52a436a547d" datatype="html">\n        <source>Available information:</source>\n        <target>可用信息:</target>\n      </trans-unit>\n      <trans-unit id="332227f088a4877b3c11f5fb3ae8bc812c470fae" datatype="html">\n        <source>iSCSI Targets not available</source>\n        <target>无可用 iSCSI 目标</target>\n      </trans-unit>\n      <trans-unit id="8414a5cb9d71cc1b21b10e4a9d1f2dad558f3361" datatype="html">\n        <source>Discovery authentication</source>\n        <target>Discovery authentication</target>\n      </trans-unit>\n      <trans-unit id="0f6e8f6094b180eaf1f11bc0ffe383f1cdcd059e" datatype="html">\n        <source>Only available for RBD images with \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>fast-diff\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> enabled\n        </source>\n        <target>Only available for RBD images with \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>fast-diff\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> enabled\n        </target>\n      </trans-unit>\n      <trans-unit id="e70fcca5a99575cffef3ff8cbd5e69f06ffd0f1c" datatype="html">\n        <source>Pool</source>\n        <target>存储池</target>\n      </trans-unit>\n      <trans-unit id="03cc5b14b0a20d075e9009ff021f4f1660ba348a" datatype="html">\n        <source>Data Pool</source>\n        <target>数据存储池</target>\n      </trans-unit>\n      <trans-unit id="1b051734b0ee9021991c91b3ed4e81c244322462" datatype="html">\n        <source>Created</source>\n        <target>创建</target>\n      </trans-unit>\n      <trans-unit id="7faaaa08f56427999f3be41df1093ce4089bbd75" datatype="html">\n        <source>Size</source>\n        <target>容量</target>\n      </trans-unit>\n      <trans-unit id="afdb601c16162f2c798b16a2920955f1cc6a20aa" datatype="html">\n        <source>Objects</source>\n        <target>对象数</target>\n      </trans-unit>\n      <trans-unit id="ceac8e132384322ec778ba760875a6c6897d3e42" datatype="html">\n        <source>Object size</source>\n        <target>对象大小</target>\n      </trans-unit>\n      <trans-unit id="0a65771c9a73b9aa609d592fc96a64801a8f40bd" datatype="html">\n        <source>Provisioned</source>\n        <target>供给容量</target>\n      </trans-unit>\n      <trans-unit id="84a36cb75660b736773fe36ffa3d54f0f0fe363e" datatype="html">\n        <source>N/A</source>\n        <target>N/A</target>\n      </trans-unit>\n      <trans-unit id="e5c009342a4e8381f64341d0bb61c2e4685f5a4b" datatype="html">\n        <source>Total provisioned</source>\n        <target>总供给容量</target>\n      </trans-unit>\n      <trans-unit id="7f6bf8a43ae415f527ac961ea62471b983aaa97b" datatype="html">\n        <source>Striping unit</source>\n        <target>条带单元</target>\n      </trans-unit>\n      <trans-unit id="db710e8a8f011923f2d15d713fbae49c38b02b26" datatype="html">\n        <source>Striping count</source>\n        <target>条带个数</target>\n      </trans-unit>\n      <trans-unit id="3a4c2a9e76634ff14a60d52a718296f722d47c67" datatype="html">\n        <source>Parent</source>\n        <target>父节点</target>\n      </trans-unit>\n      <trans-unit id="6a209e68d78ffc2cc9c53d2e76158624efab71ad" datatype="html">\n        <source>Block name prefix</source>\n        <target>块存储名字前缀</target>\n      </trans-unit>\n      <trans-unit id="5704ec2049d007c5f5fb495a5d8b607e68d58081" datatype="html">\n        <source>Order</source>\n        <target>order</target>\n      </trans-unit>\n      <trans-unit id="f21b1d17b6c5042bb5805516eee37fde33739dd8" datatype="html">\n        <source>Snapshots</source>\n        <target>快照</target>\n      </trans-unit>\n      <trans-unit id="a5f9ba9bb9faa8284bcadb1cdbc6aaf969e9c4bb" datatype="html">\n        <source>Image</source>\n        <target>映像</target>\n      </trans-unit>\n      <trans-unit id="58e58f1a8786da9031a05e6770c5dafce82badf5" datatype="html">\n        <source>This setting overrides the global value</source>\n        <target>此设置会覆盖全局值</target>\n      </trans-unit>\n      <trans-unit id="5decb3917d46a9ac6e5813699801becb7c3c1455" datatype="html">\n        <source>Global</source>\n        <target>全局</target>\n      </trans-unit>\n      <trans-unit id="36b46714164964c6258b08ed0a25f57d8a950f92" datatype="html">\n        <source>This is the global value. No value for this option has been set for this image.</source>\n        <target>该值为全局值。没有为此映像设置此选项的值。</target>\n      </trans-unit>\n      <trans-unit id="6547c9c4d5f62942ac4b1fe459cf9a03d4dbf5a0" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/> from\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/> from\n        </target>\n      </trans-unit>\n      <trans-unit id="0e9ecf29a4fa5b057bd8052e0d801b3fde6a30bf" datatype="html">\n        <source>\'/\' and \'@\' are not allowed.</source>\n        <target>不允许使用“/”和“@”。</target>\n      </trans-unit>\n      <trans-unit id="b99417c4dd46286ffd37c8d2e987c8b512ec7052" datatype="html">\n        <source>-- No rbd pools available --</source>\n        <target>-- 没有可用的 RBD 存储池 --</target>\n      </trans-unit>\n      <trans-unit id="ef83ec9c304a89d45650e580dcdc2978c37b3a83" datatype="html">\n        <source>-- Select a pool --</source>\n        <target>-- 请选择存储池 --</target>\n      </trans-unit>\n      <trans-unit id="d649904466254d13df1fbf2d255f0bbc6553d213" datatype="html">\n        <source>-- No namespaces available --</source>\n        <target>-- No namespaces available --</target>\n      </trans-unit>\n      <trans-unit id="e22d7bb4d2d561e0832ee0b9a3da2468a080c4f0" datatype="html">\n        <source>-- Select a namespace --</source>\n        <target>-- Select a namespace --</target>\n      </trans-unit>\n      <trans-unit id="49449943d8cbf59d8c401c8bd2e76f92e207cc5f" datatype="html">\n        <source>Use a dedicated data pool</source>\n        <target>使用一个专用的数据池</target>\n      </trans-unit>\n      <trans-unit id="870aee0dd31a9643bf62007beb8f1ae1deb34d42" datatype="html">\n        <source>Data pool</source>\n        <target>数据池</target>\n      </trans-unit>\n      <trans-unit id="3792ca829d9b9f687e1f5d7733d30e9bb0bfec47" datatype="html">\n        <source>Dedicated pool that stores the object-data of the RBD.</source>\n        <target>为保存 RBD 的对象数据单独分配的存储池。</target>\n      </trans-unit>\n      <trans-unit id="0a88bbee20570aaf9615332fb27020627044874d" datatype="html">\n        <source>You have to increase the size.</source>\n        <target>您需要设置大一些的容量。</target>\n      </trans-unit>\n      <trans-unit id="bc2e854e111ecf2bd7db170da5e3c2ed08181d88" datatype="html">\n        <source>Advanced</source>\n        <target>高级设置</target>\n      </trans-unit>\n      <trans-unit id="3562a3778695a5f9c0445660e35301f0a39aaf73" datatype="html">\n        <source>Striping</source>\n        <target>条带</target>\n      </trans-unit>\n      <trans-unit id="ef3c3f3b5f562a5cdbe0ee2874287db1534b5958" datatype="html">\n        <source>Stripe unit</source>\n        <target>条带单元大小</target>\n      </trans-unit>\n      <trans-unit id="84471be1049006edecbcaef1a32ae0893c229c50" datatype="html">\n        <source>-- Select stripe unit --</source>\n        <target>-- 选择条带单元大小 --</target>\n      </trans-unit>\n      <trans-unit id="8d32c5c54c8581c774a7f467fbd4e329b15a74fa" datatype="html">\n        <source>This field is required because stripe count is defined!</source>\n        <target>因为设置了条带个数,所以这个字段是必选的!</target>\n      </trans-unit>\n      <trans-unit id="6bbf9040be7c5491d4a03f2185708f43a6582a3b" datatype="html">\n        <source>Stripe unit is greater than object size.</source>\n        <target>条带单元大小超过了对象大小。</target>\n      </trans-unit>\n      <trans-unit id="a682f49f9b761591661276d7c6f550e641a130a4" datatype="html">\n        <source>Stripe count</source>\n        <target>条带个数</target>\n      </trans-unit>\n      <trans-unit id="baa74031990c5370008ba622d0a250f0929097f4" datatype="html">\n        <source>This field is required because stripe unit is defined!</source>\n        <target>因为设置了条带单元大小,所以这个字段是必选的!</target>\n      </trans-unit>\n      <trans-unit id="cd2ada6d5ecbd5cbf89eae0a1f5326efedac0dbc" datatype="html">\n        <source>Stripe count must be greater than 0.</source>\n        <target>条带的个数必须大于 0。</target>\n      </trans-unit>\n      <trans-unit id="2c07d24bb422aa8e5e568df1c5709083f0a9c8f1" datatype="html">\n        <source>Create Namespace</source>\n        <target>Create Namespace</target>\n      </trans-unit>\n      <trans-unit id="0cca6c0485f96d3a9610d0339cb1275a5f2c3f46" datatype="html">\n        <source>Namespace already exists.</source>\n        <target>Namespace already exists.</target>\n      </trans-unit>\n      <trans-unit id="5c5331983af566d4ac6a1024d15a3511786a4aa6" datatype="html">\n        <source>You are about to rollback</source>\n        <target>您即将进行回滚操作</target>\n      </trans-unit>\n      <trans-unit id="49c0408946a6d67185947f455f15cc201d0d78e6" datatype="html">\n        <source>Purge Trash</source>\n        <target>清空回收站</target>\n      </trans-unit>\n      <trans-unit id="681501eecd7f44d4b7a2f619605b36676e04c5b6" datatype="html">\n        <source>To purge, select one or</source>\n        <target>To purge, select one or</target>\n      </trans-unit>\n      <trans-unit id="dfc3c34e182ea73c5d784ff7c8135f087992dac1" datatype="html">\n        <source>All</source>\n        <target>全选</target>\n      </trans-unit>\n      <trans-unit id="ea5d338dcef50ff5c24439fd784f6a67b594c33f" datatype="html">\n        <source>pools and click</source>\n        <target>pools and click</target>\n      </trans-unit>\n      <trans-unit id="55a4f598a4894b7fd5cb88f0ffd3c37ad009dd70" datatype="html">\n        <source>Pool:</source>\n        <target>存储池:</target>\n      </trans-unit>\n      <trans-unit id="d43dd2b9f7797e4cf3a604695bb33e4479108516" datatype="html">\n        <source>Pool name...</source>\n        <target>存储池名称…</target>\n      </trans-unit>\n      <trans-unit id="b0e7c7ed1d51a0c205c815048bc9f79e24ee6db2" datatype="html">\n        <source>Restore Image</source>\n        <target>恢复映像</target>\n      </trans-unit>\n      <trans-unit id="7369384817e0ad61ce871c9afdfbb538df2f97c1" datatype="html">\n        <source>To restore</source>\n        <target>要恢复</target>\n      </trans-unit>\n      <trans-unit id="e7f0abefc608f7fb452c2dc9b1cdc3dec432160e" datatype="html">\n        <source>type the image\'s new name and click</source>\n        <target>输入映像的新名称,并点击</target>\n      </trans-unit>\n      <trans-unit id="41307dd56fea669eed72e12a6c23af275f6bfd82" datatype="html">\n        <source>New Name</source>\n        <target>新名称</target>\n      </trans-unit>\n      <trans-unit id="5c96a761dc55a21882c132c929583a424c9b8cf4" datatype="html">\n        <source>Expired at</source>\n        <target>过期时间</target>\n      </trans-unit>\n      <trans-unit id="661041e3fcff4d3e75c561e038ca2504cf2cc643" datatype="html">\n        <source>Protected until</source>\n        <target>保护期限</target>\n      </trans-unit>\n      <trans-unit id="0ee3b2322a1d3277f7e3fdb8a5141ac42bcf350b" datatype="html">\n        <source>This image is protected until \n          <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.\n        </source>\n        <target>This image is protected until \n          <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="a674ab267d1934bf395f87ca1503fd474296893f" datatype="html">\n        <source>iSCSI Topology</source>\n        <target>iSCSI 结构图</target>\n      </trans-unit>\n      <trans-unit id="051dcc342cfa5c1eaf187a2001aaa162379a160c" datatype="html">\n        <source>Configure</source>\n        <target>Configure</target>\n      </trans-unit>\n      <trans-unit id="9e515f954730279c31d5301f02479666d6264e8b" datatype="html">\n        <source>Changing these parameters from their default values is usually not necessary.</source>\n        <target>通常无须改变这些默认参数值。</target>\n      </trans-unit>\n      <trans-unit id="4e2591df099ddac796cda401c5f282da779d45f2" datatype="html">\n        <source>Identifier</source>\n        <target>Identifier</target>\n      </trans-unit>\n      <trans-unit id="62480a4859976427cf18fc8ef41d3a438eda0412" datatype="html">\n        <source>lun</source>\n        <target>lun</target>\n      </trans-unit>\n      <trans-unit id="8afc9eb4405e0aa554b2ba14140ef790cdecc040" datatype="html">\n        <source>wwn</source>\n        <target>wwn</target>\n      </trans-unit>\n      <trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html">\n        <source>Settings</source>\n        <target>设置</target>\n      </trans-unit>\n      <trans-unit id="69a47cbabcc51ca942606e1d8da0ec11f98a2690" datatype="html">\n        <source>Backstore</source>\n        <target>后备存储</target>\n      </trans-unit>\n      <trans-unit id="68e710782ccb5398b3acb8844caf0b199da2c3da" datatype="html">\n        <source>Confirm</source>\n        <target>确认</target>\n      </trans-unit>\n      <trans-unit id="339878da255ab55447c43afef8d9b2f9753bf5f6" datatype="html">\n        <source>Advanced Settings</source>\n        <target>高级设置</target>\n      </trans-unit>\n      <trans-unit id="1406c2fb12a20c1528b19bcc5e24a6a2386167f3" datatype="html">\n        <source>Target IQN</source>\n        <target>目标限定名</target>\n      </trans-unit>\n      <trans-unit id="5fe42339be910372fa689f559155631862d218e8" datatype="html">\n        <source>IQN has wrong pattern.</source>\n        <target>IQN 格式错误。</target>\n      </trans-unit>\n      <trans-unit id="050a7ff057d1e895357540406b6be5652b4d1c71" datatype="html">\n        <source>An IQN has the following notation\n                \'iqn.$year-$month.$reversedAddress:$definedName\'</source>\n        <target>An IQN has the following notation\n                \'iqn.$year-$month.$reversedAddress:$definedName\'</target>\n      </trans-unit>\n      <trans-unit id="c8ada4b53396d8366db00a435acc61d53d857047" datatype="html">\n        <source>For example: iqn.2016-06.org.dashboard:storage:disk.sn-a8675309</source>\n        <target>例如:iqn.2016-06.org.dashboard:storage:disk.sn-a8675309</target>\n      </trans-unit>\n      <trans-unit id="e60c11e1b1dfbbeda577364b8de39ded2d796c5e" datatype="html">\n        <source>More information</source>\n        <target>更多信息</target>\n      </trans-unit>\n      <trans-unit id="9b1aa85dfc6849196e64060db02c5410de69b7a1" datatype="html">\n        <source>This target has modified advanced settings.</source>\n        <target>此目标的高级设置项存在修改。</target>\n      </trans-unit>\n      <trans-unit id="6990ad8d6182662e864495ac31c3758cda1c7a28" datatype="html">\n        <source>Portals</source>\n        <target>端口</target>\n      </trans-unit>\n      <trans-unit id="6a3ac2b4137d723fd9878cd357c2012ff6c07973" datatype="html">\n        <source>Add portal</source>\n        <target>添加端口</target>\n      </trans-unit>\n      <trans-unit id="c3638c01b6c34066438909713ec96087c813fc7e" datatype="html">\n        <source>At least \n          <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.\n        </source>\n        <target>At least \n          <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.\n        </target>\n      </trans-unit>\n      <trans-unit id="9aff25be088f0efe3eaaf62edf2bff41cc41a617" datatype="html">\n        <source>Backstore: \n          <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. \n        </source>\n        <target>Backstore: \n          <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. \n        </target>\n      </trans-unit>\n      <trans-unit id="e3484cae8b118c576ca2815bf9c9406c2eb2cae3" datatype="html">\n        <source>This image has modified settings.</source>\n        <target>此映像的设置项存在修改。</target>\n      </trans-unit>\n      <trans-unit id="1dff11e0820b6722ab240169f1232d70a54beaaa" datatype="html">\n        <source>Duplicated LUN numbers.</source>\n        <target>Duplicated LUN numbers.</target>\n      </trans-unit>\n      <trans-unit id="bf2dccf92ccff6e3b091792bf4205595406e1bfb" datatype="html">\n        <source>Duplicated WWN.</source>\n        <target>Duplicated WWN.</target>\n      </trans-unit>\n      <trans-unit id="808038f912fdc7f0e03f82d4afd3bf9178527fc8" datatype="html">\n        <source>Add image</source>\n        <target>添加映像</target>\n      </trans-unit>\n      <trans-unit id="66c5fb27f52e75b70ca4b670b9b15a2a51cf9543" datatype="html">\n        <source>ACL authentication</source>\n        <target>ACL 身份验证</target>\n      </trans-unit>\n      <trans-unit id="419c8b402609dcf49ae4932a5a4647dc8d79bbaf" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n                can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Usernames must have a length of 8 to 64 characters and\n                can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</target>\n      </trans-unit>\n      <trans-unit id="938050960d6653fddfcfd42425e18fb35a308262" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n                and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n                and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="f494bd31f095f6dcc656ce87ec2dcf07a2e9b30c" datatype="html">\n        <source>Initiators</source>\n        <target>授权人</target>\n      </trans-unit>\n      <trans-unit id="e98239d8a6be1100119ff4b5630c822b82786740" datatype="html">\n        <source>Initiator</source>\n        <target>授权人</target>\n      </trans-unit>\n      <trans-unit id="f2c5059d8cda15d8d03e2cce30f2d139623d9a91" datatype="html">\n        <source>Client IQN</source>\n        <target>客户端 IQN</target>\n      </trans-unit>\n      <trans-unit id="107d5aabce23d900f0a80e6ddc1c10e29aa0bed8" datatype="html">\n        <source>Initiator IQN needs to be unique.</source>\n        <target>授权人 IQN 必须唯一。</target>\n      </trans-unit>\n      <trans-unit id="bbf0b34a3fcc80800fcb44b9e1e86931a530dfe3" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n                        can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>用户名长度必须在 8 到 64 个字符之间,且只能包含\n以下字符:英文字母、“.”、“@”、“-”、“_”或“:”。</target>\n      </trans-unit>\n      <trans-unit id="fdfee5d7a27e1bdd97a176097277bee078de6aaf" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n                        and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n                        and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="8406eb7415ee40e54d9ecb209abb056f06e3d666" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters and\n                        can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters and\n                        can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="5d1878d5fc761cbe9614bfd87047a740c82a6951" datatype="html">\n        <source>Initiator belongs to a group. Images will be configure in the group.</source>\n        <target>授权人属于群组。映像须在群组中进行设置。</target>\n      </trans-unit>\n      <trans-unit id="c0de67b9d97fafbf200f9451e8388ee8128a56ac" datatype="html">\n        <source>No items added.</source>\n        <target>无项目添加。</target>\n      </trans-unit>\n      <trans-unit id="d565e47726158e428ecdc952fc9233b9b7d7f049" datatype="html">\n        <source>Add initiator</source>\n        <target>添加授权人</target>\n      </trans-unit>\n      <trans-unit id="c22ba03540aa3217da059f45e7eab138b51a96e2" datatype="html">\n        <source>Groups</source>\n        <target>群组</target>\n      </trans-unit>\n      <trans-unit id="4c90059afafb7e160384d9f512797c95bb95c6dc" datatype="html">\n        <source>Group</source>\n        <target>群组</target>\n      </trans-unit>\n      <trans-unit id="3084948274cff4f56d0f431af47240e9cf02fcc7" datatype="html">\n        <source>Add group</source>\n        <target>添加群组</target>\n      </trans-unit>\n      <trans-unit id="c3a7e364a88ea4673199dfa98bc73e6dbe09dfac" datatype="html">\n        <source>Namespaces</source>\n        <target>Namespaces</target>\n      </trans-unit>\n      <trans-unit id="aba82bfd8e177d35b76cad7cd43941f8e5e5acac" datatype="html">\n        <source>Trash</source>\n        <target>回收站</target>\n      </trans-unit>\n      <trans-unit id="66db799d67958d4b0765181d072df62e2d1c16f5" datatype="html">\n        <source>Issues</source>\n        <target>问题</target>\n      </trans-unit>\n      <trans-unit id="ef06d69259e587e28d52372455f44c7153cda7e7" datatype="html">\n        <source>Syncing</source>\n        <target>正在同步</target>\n      </trans-unit>\n      <trans-unit id="0b0901877d837d3fda16ba161eb74368d1c75b7a" datatype="html">\n        <source>Ready</source>\n        <target>已就绪</target>\n      </trans-unit>\n      <trans-unit id="4057c56d63a7e9b140b1d01871a9229a5f30eb27" datatype="html">\n        <source>Edit pool mirror mode</source>\n        <target>编辑存储池镜像模式</target>\n      </trans-unit>\n      <trans-unit id="e1f367f5feaab38f6637dd1f967c848b447dea2d" datatype="html">\n        <source>To edit the mirror mode for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>, select a new mode from the list and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>To edit the mirror mode for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>, select a new mode from the list and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="32ca348ef926b0a6a7a780b8b64c3a8239895cec" datatype="html">\n        <source>Peer clusters must be removed prior to disabling mirror.</source>\n        <target>在禁用镜像功能前必须先移除同伴集群。</target>\n      </trans-unit>\n      <trans-unit id="fa61522d482349707fd7dd03b90dc5781611b17f" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/>\n  pool mirror peer\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/>\n  pool mirror peer\n        </target>\n      </trans-unit>\n      <trans-unit id="4ddcb416c1c0aa1f54acf5beef1de81813e76fa6" datatype="html">\n        <source>{VAR_SELECT, select, edit {Edit} other {Add} }</source>\n        <target>{VAR_SELECT, select, edit {编辑} other {添加} }</target>\n      </trans-unit>\n      <trans-unit id="59ca65ece457429d90104ede4674965f62edbabe" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/> the pool\n          mirror peer attributes for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> and click\n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Submit\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/> the pool\n          mirror peer attributes for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> and click\n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Submit\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="d3cc964811f852a168f4a2d5daa59068abc5cf53" datatype="html">\n        <source>Cluster Name</source>\n        <target>集群名称</target>\n      </trans-unit>\n      <trans-unit id="b631721fc56cb7fb1cbd07b802a487c5753f6a2d" datatype="html">\n        <source>The cluster name is not valid.</source>\n        <target>集群名称无效。</target>\n      </trans-unit>\n      <trans-unit id="ca6deafa31bf421f85094807982aee4bcb20a3ae" datatype="html">\n        <source>CephX ID</source>\n        <target>CephX ID</target>\n      </trans-unit>\n      <trans-unit id="7539188a568c3d553cbde1bacaf32310c4264e24" datatype="html">\n        <source>CephX ID...</source>\n        <target>CephX ID...</target>\n      </trans-unit>\n      <trans-unit id="a1c45b594b0fba22fc64e80c793a7ffe005fdb0e" datatype="html">\n        <source>The CephX ID is not valid.</source>\n        <target>CephX ID 无效。</target>\n      </trans-unit>\n      <trans-unit id="20861576fcfce773c918c782cd4f5adf32382921" datatype="html">\n        <source>Monitor Addresses</source>\n        <target>Monitor 地址</target>\n      </trans-unit>\n      <trans-unit id="fa28eeed2b4bd4ccbe6e9349a1c2b3cb1c5de70a" datatype="html">\n        <source>Comma-delimited addresses...</source>\n        <target>逗号分割的地址...</target>\n      </trans-unit>\n      <trans-unit id="dc016c82fd85848d5c1b2fd0e8469ee2027d9c16" datatype="html">\n        <source>The monitory address is not valid.</source>\n        <target>Monitor 地址无效。</target>\n      </trans-unit>\n      <trans-unit id="e0ac55b83dc6739e62bc655cfe375b67c93e7f4a" datatype="html">\n        <source>CephX Key</source>\n        <target>CephX 密钥</target>\n      </trans-unit>\n      <trans-unit id="f53434bcb95bd86f1df9c8e22966f757614fc4ad" datatype="html">\n        <source>Base64-encoded key...</source>\n        <target>Base64 编码的密钥...</target>\n      </trans-unit>\n      <trans-unit id="4cd83164cd4f66b4abc2863f9ce6f599d789e4ca" datatype="html">\n        <source>CephX key must be base64 encoded.</source>\n        <target>CephX 密钥必须是 base64 编码的。</target>\n      </trans-unit>\n      <trans-unit id="ca53d681a9892d6fdbb57ee9676582186515e961" datatype="html">\n        <source>Performance counters not available</source>\n        <target>无法读取性能计数器</target>\n      </trans-unit>\n      <trans-unit id="9424badb7e0c6ac792d020d7830645b529a80aad" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the Object Gateway management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the Object Gateway management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="479488ab6e91ecb375484edc78bee3d13467f33f" datatype="html">\n        <source>Daemons List</source>\n        <target>守护进程列表</target>\n      </trans-unit>\n      <trans-unit id="eeba399c4dae8d4890c27b7a2cd2dc28fcf8b5f9" datatype="html">\n        <source>Performance Counters</source>\n        <target>性能计数器</target>\n      </trans-unit>\n      <trans-unit id="5f67f2247b9c6bbaf24a0f2d37f4ac0537c6fa53" datatype="html">\n        <source>Loading bucket data...</source>\n        <target>正在加载存储桶数据…</target>\n      </trans-unit>\n      <trans-unit id="2798cc1e152b1ec07fd8daf94a2a073d1ba1ebcc" datatype="html">\n        <source>Id</source>\n        <target>ID</target>\n      </trans-unit>\n      <trans-unit id="db4e1a734518691b128ef40b939cc673f01d03a6" datatype="html">\n        <source>The value is not valid.</source>\n        <target>输入值无效。</target>\n      </trans-unit>\n      <trans-unit id="eabb4db920d9f9b2480cf438468b86e1bea02a9b" datatype="html">\n        <source>The chosen name is already in use.</source>\n        <target>所选名称已经被使用。</target>\n      </trans-unit>\n      <trans-unit id="0ee5132a8da30e0b7f9f5c70dbc91928d17dd909" datatype="html">\n        <source>Owner</source>\n        <target>所有者</target>\n      </trans-unit>\n      <trans-unit id="8e4c918357c7445fbf19a203e5f0f0ece1960b3b" datatype="html">\n        <source>-- Select a user --</source>\n        <target>-- 请选择一个用户 --</target>\n      </trans-unit>\n      <trans-unit id="a4aab1f837bc8ec222e4f25922465d1c5929a1fc" datatype="html">\n        <source>Placement target</source>\n        <target>Placement target</target>\n      </trans-unit>\n      <trans-unit id="6bae0a7fc2c9c1fde7d937a8a1a3c7e6825cf7d1" datatype="html">\n        <source>-- Select a placement target --</source>\n        <target>-- Select a placement target --</target>\n      </trans-unit>\n      <trans-unit id="efeade5060b3add63863c24871f0830fb16b7e6d" datatype="html">\n        <source>Versioning</source>\n        <target>Versioning</target>\n      </trans-unit>\n      <trans-unit id="f50a33d3c339f8f4a465141f8caa5d2d8c005251" datatype="html">\n        <source>Enabled</source>\n        <target>开启</target>\n      </trans-unit>\n      <trans-unit id="016d24e069e7d505a090fb8243e5cd43b35dc39b" datatype="html">\n        <source>Enables versioning for the objects in the bucket.</source>\n        <target>Enables versioning for the objects in the bucket.</target>\n      </trans-unit>\n      <trans-unit id="9e6775ffd06878aa145c07359f28557f01ede04f" datatype="html">\n        <source>Multi-Factor Authentication</source>\n        <target>Multi-Factor Authentication</target>\n      </trans-unit>\n      <trans-unit id="29e8a5d4fb767d4ad0c762c81c6264cec4c0ba97" datatype="html">\n        <source>Delete enabled</source>\n        <target>Delete enabled</target>\n      </trans-unit>\n      <trans-unit id="40fbc3ac8c1ea4ecfe62247e91f1f999ad5baf76" datatype="html">\n        <source>Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state.</source>\n        <target>Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state.</target>\n      </trans-unit>\n      <trans-unit id="d24c93a8c13db46defa06ed7b5e026a3edb52b91" datatype="html">\n        <source>Token Serial Number</source>\n        <target>Token Serial Number</target>\n      </trans-unit>\n      <trans-unit id="e6d9536c2af2e5e9a228c3e3e1809dc1fefe0149" datatype="html">\n        <source>Token PIN</source>\n        <target>Token PIN</target>\n      </trans-unit>\n      <trans-unit id="7b84370895ab9eb44672f57146fa05c5947f1c0c" datatype="html">\n        <source>Locking</source>\n        <target>Locking</target>\n      </trans-unit>\n      <trans-unit id="f038d51ab1645f15b0cd58f195c72a7eeebd4729" datatype="html">\n        <source>Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket.</source>\n        <target>Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket.</target>\n      </trans-unit>\n      <trans-unit id="9af1b4baa2dd8ed2bfc3cc756b12a2271c2dd793" datatype="html">\n        <source>Compliance</source>\n        <target>Compliance</target>\n      </trans-unit>\n      <trans-unit id="edd600fa489d1b4a4448dce694ed932e52ce8fda" datatype="html">\n        <source>Governance</source>\n        <target>Governance</target>\n      </trans-unit>\n      <trans-unit id="a5c3d9d2296f7886e8289b9f623323803deacfc6" datatype="html">\n        <source>Days</source>\n        <target>Days</target>\n      </trans-unit>\n      <trans-unit id="218c7d6d318c51e7105309aaeb0baec9d19e4efb" datatype="html">\n        <source>The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</source>\n        <target>The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</target>\n      </trans-unit>\n      <trans-unit id="289b101ec12427b3ca819df9e43cc3b14fae2cc4" datatype="html">\n        <source>The entered value must be a positive integer.</source>\n        <target>The entered value must be a positive integer.</target>\n      </trans-unit>\n      <trans-unit id="def9fc628134d3a044b7c0ad2a83c846bdad56f1" datatype="html">\n        <source>Retention period requires either Days or Years.</source>\n        <target>Retention period requires either Days or Years.</target>\n      </trans-unit>\n      <trans-unit id="003c94fc143882ac8af6251a1595fe62978fe3e6" datatype="html">\n        <source>Years</source>\n        <target>Years</target>\n      </trans-unit>\n      <trans-unit id="14c6189ead0951f13049c7bf9af7642d0c41957a" datatype="html">\n        <source>The number of years that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</source>\n        <target>The number of years that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</target>\n      </trans-unit>\n      <trans-unit id="45cc8ca94b5a50842a9a8ef804a5ab089a38ae5c" datatype="html">\n        <source>ID</source>\n        <target>ID</target>\n      </trans-unit>\n      <trans-unit id="e5c51963a9c553b29427ef783bbb69fa6634fa8c" datatype="html">\n        <source>Index type</source>\n        <target>索引类型</target>\n      </trans-unit>\n      <trans-unit id="8e6f950a32eaea32ec7e192f9ca3d3dfe469d4ba" datatype="html">\n        <source>Placement rule</source>\n        <target>归置规则</target>\n      </trans-unit>\n      <trans-unit id="6972d213e31c4ea4f887e60db99d9881bc8fcd3e" datatype="html">\n        <source>Marker</source>\n        <target>标识</target>\n      </trans-unit>\n      <trans-unit id="47b02acd2d3254d1ace1926f840523f154ebef71" datatype="html">\n        <source>Maximum marker</source>\n        <target>max marker</target>\n      </trans-unit>\n      <trans-unit id="8fe73a4787b8068b2ba61f54ab7e0f9af2ea1fc9" datatype="html">\n        <source>Version</source>\n        <target>版本</target>\n      </trans-unit>\n      <trans-unit id="092fa3a7df9168b14d3f83a77a4035e92b92ce15" datatype="html">\n        <source>Master version</source>\n        <target>主版本</target>\n      </trans-unit>\n      <trans-unit id="97434cc5001d407f90c7447a12d9e8e6848a2aa3" datatype="html">\n        <source>Modification time</source>\n        <target>修改时间</target>\n      </trans-unit>\n      <trans-unit id="90fe2e41e7fde38453ce4e619efeea9bc6adea9c" datatype="html">\n        <source>Zonegroup</source>\n        <target>zonegroup</target>\n      </trans-unit>\n      <trans-unit id="62a923f047ca49e7a4782629e91fea1ba32db68f" datatype="html">\n        <source>MFA Delete</source>\n        <target>MFA Delete</target>\n      </trans-unit>\n      <trans-unit id="649a410bd0ace333d067d8fa22f12bdbdb43533b" datatype="html">\n        <source>Bucket quota</source>\n        <target>存储桶配额</target>\n      </trans-unit>\n      <trans-unit id="cef1595d040e77cbb4466e60382028d4c2040cac" datatype="html">\n        <source>Maximum size</source>\n        <target>最大数目</target>\n      </trans-unit>\n      <trans-unit id="aa6fb95c355f172bda303de1ce2f38c251a149cf" datatype="html">\n        <source>Unlimited</source>\n        <target>无限制</target>\n      </trans-unit>\n      <trans-unit id="ee862a800364b4d11f9b8cb9955a28a60f840a45" datatype="html">\n        <source>Maximum objects</source>\n        <target>最大对象数目</target>\n      </trans-unit>\n      <trans-unit id="08c74dc9762957593b91f6eb5d65efdfc975bf48" datatype="html">\n        <source>Username</source>\n        <target>用户名</target>\n      </trans-unit>\n      <trans-unit id="49c614babd1950adb2be75df4e2c9747286d6adc" datatype="html">\n        <source>-- Select a username --</source>\n        <target>-- 请选择用户名 --</target>\n      </trans-unit>\n      <trans-unit id="c217ee914725a37e9dd2336c721c8e63e9666bdc" datatype="html">\n        <source>Auto-generate key</source>\n        <target>自动生成密钥</target>\n      </trans-unit>\n      <trans-unit id="2f1c1c0f2bce4c9f92d1a2061e8161cb0006c31a" datatype="html">\n        <source>Access key</source>\n        <target>访问密钥</target>\n      </trans-unit>\n      <trans-unit id="b864acb67296a9819c1db0069c4c47d8b5ce8f44" datatype="html">\n        <source>Secret key</source>\n        <target>秘密密钥</target>\n      </trans-unit>\n      <trans-unit id="b760f123248930122fc7e7b6b6bf94e376e959c8" datatype="html">\n        <source>Full name</source>\n        <target>全名</target>\n      </trans-unit>\n      <trans-unit id="69b6ac577a19acc39fc0c22342092f327fff2529" datatype="html">\n        <source>Email address</source>\n        <target>邮箱</target>\n      </trans-unit>\n      <trans-unit id="92f3f203270a29b3001871153f02c063484a1574" datatype="html">\n        <source>Suspended</source>\n        <target>冻结</target>\n      </trans-unit>\n      <trans-unit id="8011e20c5bbe51602d459a860fbf29b599b55edd" datatype="html">\n        <source>System</source>\n        <target>系统</target>\n      </trans-unit>\n      <trans-unit id="db18a2772988415466a7f75dc42663ce78c9c1d3" datatype="html">\n        <source>Maximum buckets</source>\n        <target>最大存储桶数目</target>\n      </trans-unit>\n      <trans-unit id="2c4c62e8ba24601be5cfe7dc5d32c24bbbd4b53c" datatype="html">\n        <source>Subusers</source>\n        <target>子用户</target>\n      </trans-unit>\n      <trans-unit id="17bb3082e6fe5003203ef992a3714172334631a1" datatype="html">\n        <source>Capabilities</source>\n        <target>用户权限</target>\n      </trans-unit>\n      <trans-unit id="36ad38f9c1a1485e09b67778a28af84553290ffb" datatype="html">\n        <source>User quota</source>\n        <target>用户配额</target>\n      </trans-unit>\n      <trans-unit id="2aba1e87039819aca3b70faa9aa848c12bf139ca" datatype="html">\n        <source>Show</source>\n        <target>显示</target>\n      </trans-unit>\n      <trans-unit id="0bcd5ef19af0f1b814141ca8c57df623d8270088" datatype="html">\n        <source>Keys</source>\n        <target>密钥</target>\n      </trans-unit>\n      <trans-unit id="f61c6867295f3b53d23557021f2f4e0aa1d0b8fc" datatype="html">\n        <source>Type</source>\n        <target>类型</target>\n      </trans-unit>\n      <trans-unit id="1221ca97d19eaa9a7bc0c5243d5fc5befe1d2314" datatype="html">\n        <source>-- Select a type --</source>\n        <target>-- 请选择一个类型 --</target>\n      </trans-unit>\n      <trans-unit id="d1b8990332af18f1c5159a6061ca889bcbb28432" datatype="html">\n        <source>Permission</source>\n        <target>权限</target>\n      </trans-unit>\n      <trans-unit id="a08c589f82f69d892307288da14190ae1dd583d5" datatype="html">\n        <source>-- Select a permission --</source>\n        <target>-- 请选择权限类型 --</target>\n      </trans-unit>\n      <trans-unit id="b2841767821d6b66238c34d07e413b0af67aee92" datatype="html">\n        <source>Subuser</source>\n        <target>子用户</target>\n      </trans-unit>\n      <trans-unit id="bd59fc25a7bd98cff3e75117c09697c8a007a514" datatype="html">\n        <source>The chosen subuser ID is already in use.</source>\n        <target>所选的子用户 ID 已被使用。</target>\n      </trans-unit>\n      <trans-unit id="3d386c357ebcbc04ed05c4babd5a03626f9b1674" datatype="html">\n        <source>read, write</source>\n        <target>读、写</target>\n      </trans-unit>\n      <trans-unit id="84e3e3f9a4f31a039b648c97debf95fcb20f4c4a" datatype="html">\n        <source>full</source>\n        <target>全部</target>\n      </trans-unit>\n      <trans-unit id="b6bf81d032a2316464f9df2f0d2f3d753f89f0d3" datatype="html">\n        <source>Swift key</source>\n        <target>Swift 密钥</target>\n      </trans-unit>\n      <trans-unit id="1e0c12685d50d47448ceed9423977ef39775c037" datatype="html">\n        <source>Auto-generate secret</source>\n        <target>自动生成密钥</target>\n      </trans-unit>\n      <trans-unit id="3d1c7a6004bd5d86a7fa096ae24209e8aa7a53e3" datatype="html">\n        <source>Loading user data...</source>\n        <target>正在加载用户数据…</target>\n      </trans-unit>\n      <trans-unit id="faa5d834ab28571423d794d32b57998920efb65f" datatype="html">\n        <source>The user data could not be loaded.</source>\n        <target>用户数据无法加载。 </target>\n      </trans-unit>\n      <trans-unit id="6aaf5d2a304167272ac73e3b1d1c162e16c77858" datatype="html">\n        <source>The chosen user ID is already in use.</source>\n        <target>所选的用户 ID 已被使用。</target>\n      </trans-unit>\n      <trans-unit id="df441e80db2157f9d272b75de724ba4a82b96b57" datatype="html">\n        <source>This is not a valid email address.</source>\n        <target>无效的邮箱地址。</target>\n      </trans-unit>\n      <trans-unit id="ca271adf154956b8fcb28f4f50a37acb3057ff7c" datatype="html">\n        <source>The chosen email address is already in use.</source>\n        <target>此邮箱地址已被使用。</target>\n      </trans-unit>\n      <trans-unit id="030197cebe938edf35422e92fe14183d06eb670b" datatype="html">\n        <source>Max. buckets</source>\n        <target>存储桶个数的上限</target>\n      </trans-unit>\n      <trans-unit id="f39256070bfc0714020dfee08895421fc1527014" datatype="html">\n        <source>Disabled</source>\n        <target>禁用</target>\n      </trans-unit>\n      <trans-unit id="a5c05002b0ac2040f1aede5e727e0ffd06eda819" datatype="html">\n        <source>Custom</source>\n        <target>自定义</target>\n      </trans-unit>\n      <trans-unit id="28872515cb81d197a3a1733fa546d3e0f0dd6c67" datatype="html">\n        <source>The entered value must be &gt;= 1.</source>\n        <target>The entered value must be &gt;= 1.</target>\n      </trans-unit>\n      <trans-unit id="583a219c524155c2314eb06ee29162bb315272a3" datatype="html">\n        <source>S3 key</source>\n        <target>S3 密钥</target>\n      </trans-unit>\n      <trans-unit id="128d6efb51d9ddc7c0cc695a2deeca5b9523f6e4" datatype="html">\n        <source>There are no subusers.</source>\n        <target>没有子用户。</target>\n      </trans-unit>\n      <trans-unit id="7fd6dfb8ecb982dbc3affb2c2d5414c4f5b6abd2" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ subuserLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ subuserLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="67c746c1ba9dab4351fedc4c7cba4e6d6b0dbc47" datatype="html">\n        <source>S3</source>\n        <target>S3</target>\n      </trans-unit>\n      <trans-unit id="d6819038d608623503918fb2553f53d68231ec3a" datatype="html">\n        <source>There are no keys.</source>\n        <target>没有任何密钥。</target>\n      </trans-unit>\n      <trans-unit id="fc1c1a7140ff6b815a95b65ee2780fdbe1b2b7a1" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ s3keyLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ s3keyLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6ddb5e991a3ecd2659fb520bc5acc81b67e08ddd" datatype="html">\n        <source>Swift</source>\n        <target>Swift</target>\n      </trans-unit>\n      <trans-unit id="1d01eccdda47fc907c5be35bcb16d2dcd02b0270" datatype="html">\n        <source>There are no capabilities.</source>\n        <target>权限为空。</target>\n      </trans-unit>\n      <trans-unit id="043e2ec0036ceadd926fd5e3f93cd6f3565f3648" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.ADD | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.ADD | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="f5a451c4ea65a4046f0b49d489a7013abf0b5861" datatype="html">\n        <source>All capabilities are already added.</source>\n        <target>All capabilities are already added.</target>\n      </trans-unit>\n      <trans-unit id="6146e13ceca5fa5cc17b771b282fe5955f3d19fa" datatype="html">\n        <source>Unlimited size</source>\n        <target>空间无限制</target>\n      </trans-unit>\n      <trans-unit id="f6db8aa7c99fdce18edb33dde57729acede2b308" datatype="html">\n        <source>Max. size</source>\n        <target>空间上限</target>\n      </trans-unit>\n      <trans-unit id="fc630b2093e880fffa19df99d5cd8b87605037f8" datatype="html">\n        <source>Unlimited objects</source>\n        <target>对象个数无限制</target>\n      </trans-unit>\n      <trans-unit id="6cda5a993d06f0bb10048be9d3aba6555aa9f356" datatype="html">\n        <source>Max. objects</source>\n        <target>对象个数上限</target>\n      </trans-unit>\n      <trans-unit id="623ac50f37a26caec6fd7cd519b653e3315cba25" datatype="html">\n        <source>The entered value must be &gt;= 0.</source>\n        <target>设置的值必须 &gt;= 0。</target>\n      </trans-unit>\n      <trans-unit id="1ea5c4d8942c00752dcc72e72949c5d9832f6399" datatype="html">\n        <source>Description...</source>\n        <target>描述…</target>\n      </trans-unit>\n      <trans-unit id="70f45880fce6ac5d8e468e25e82aefbba8098cfe" datatype="html">\n        <source>Permissions</source>\n        <target>权限</target>\n      </trans-unit>\n      <trans-unit id="9610487cbeb5796d34d8601b5ac0c0a65f9e1d19" datatype="html">\n        <source>Roles</source>\n        <target>角色</target>\n      </trans-unit>\n      <trans-unit id="7f3bdcce4b2e8c37cd7f0f6c92ef8cff34b039b8" datatype="html">\n        <source>Confirm password</source>\n        <target>确认密码</target>\n      </trans-unit>\n      <trans-unit id="cbb979e63ba50e0ca3adfa09cbdcaefd0853fca1" datatype="html">\n        <source>Password confirmation doesn\'t match the password.</source>\n        <target>密码和之前的输入不匹配。</target>\n      </trans-unit>\n      <trans-unit id="96621f9ed2e4ae5204564e583d2c816bedead571" datatype="html">\n        <source>Password expiration date</source>\n        <target>Password expiration date</target>\n      </trans-unit>\n      <trans-unit id="48932db3801fe9d5d72a60a3e656bffd17c1c5d9" datatype="html">\n        <source>Password expiration date...</source>\n        <target>Password expiration date...</target>\n      </trans-unit>\n      <trans-unit id="244aae9346da82b0922506c2d2581373a15641cc" datatype="html">\n        <source>Email</source>\n        <target>邮箱</target>\n      </trans-unit>\n      <trans-unit id="d0ec081dd61eb4f43aea269077bbe38eae87b7f9" datatype="html">\n        <source>Invalid email.</source>\n        <target>邮箱地址无效。</target>\n      </trans-unit>\n      <trans-unit id="8913c216dd506e20e412e144381d8d2a65a84359" datatype="html">\n        <source>User must change password at next logon</source>\n        <target>User must change password at next logon</target>\n      </trans-unit>\n      <trans-unit id="0051a3479d3ba79135c16dc8cc017950a2cce821" datatype="html">\n        <source>You are about to remove "user read / update" permissions from your own user.</source>\n        <target>您即将取消您自己用户的 "user read / update" 权限。</target>\n      </trans-unit>\n      <trans-unit id="af4bf9fcb256853f14cf947eb1deb8d7f176d3f9" datatype="html">\n        <source>If you continue, you will no longer be able to add or remove roles from any user.</source>\n        <target>如果您继续的话,您以后就没办法为其他用户添加或者删除角色了。</target>\n      </trans-unit>\n      <trans-unit id="7d1dcf2a9146caac0581329acf94806ec69a89a5" datatype="html">\n        <source>Are you sure you want to continue?</source>\n        <target>您确实要继续吗?</target>\n      </trans-unit>\n      <trans-unit id="85b79c9064aed1ead31ace985f31aa1363f6bdaf" datatype="html">\n        <source>Help</source>\n        <target>帮助</target>\n      </trans-unit>\n      <trans-unit id="fcfd4675b4c90f08d18d3abede9a9a4dff4cfdc7" datatype="html">\n        <source>Documentation</source>\n        <target>文档</target>\n      </trans-unit>\n      <trans-unit id="e351b40b3869a5c7d19c3d4918cb1ac7aaab95c4" datatype="html">\n        <source>API</source>\n        <target>API</target>\n      </trans-unit>\n      <trans-unit id="004b222ff9ef9dd4771b777950ca1d0e4cd4348a" datatype="html">\n        <source>About</source>\n        <target>关于</target>\n      </trans-unit>\n      <trans-unit id="1481ecd21e760ac919a24e26cf790acd82e40199" datatype="html">\n        <source>Dashboard Settings</source>\n        <target>仪表盘设置</target>\n      </trans-unit>\n      <trans-unit id="a79aab4ef674bf3f6532292107c0054302236e0f" datatype="html">\n        <source>User management</source>\n        <target>用户管理</target>\n      </trans-unit>\n      <trans-unit id="049dfd9fe6c78914ad58cf89ac6a631fca28ec74" datatype="html">\n        <source>Logged in user</source>\n        <target>登录的用户</target>\n      </trans-unit>\n      <trans-unit id="cd38a58e73f306d838e621959d47d5e7a2f06d1f" datatype="html">\n        <source>Signed in as\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ username }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>\n        </source>\n        <target>Signed in as\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ username }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="739516c2ca75843d5aec9cf0e6b3e4335c4227b9" datatype="html">\n        <source>Change password</source>\n        <target>Change password</target>\n      </trans-unit>\n      <trans-unit id="5d22c795daf43877a5f708dca2bccd549eb0471d" datatype="html">\n        <source>Sign out</source>\n        <target>登出</target>\n      </trans-unit>\n      <trans-unit id="91853167141c37b58868f3b0421383dd72fa8a01" datatype="html">\n        <source>Attributes (OSD map)</source>\n        <target>OSD map</target>\n      </trans-unit>\n      <trans-unit id="97842f379e1d4157ac3ab0661b90c352e7cb72d5" datatype="html">\n        <source>Metadata not available</source>\n        <target>元数据不可用</target>\n      </trans-unit>\n      <trans-unit id="f721a500a68c357e8f2a01e60510f6a01e4ba529" datatype="html">\n        <source>Metadata</source>\n        <target>相关元数据</target>\n      </trans-unit>\n      <trans-unit id="deba10b7279a589d01e919ea11f43c79ca1773e3" datatype="html">\n        <source>Device health</source>\n        <target>Device health</target>\n      </trans-unit>\n      <trans-unit id="d24e28e19c5703d7c6be44f4eb595a6a43b618ed" datatype="html">\n        <source>Performance counter</source>\n        <target>性能计数器</target>\n      </trans-unit>\n      <trans-unit id="d1f7c81ed9c5034af4abcdf119b1c1e86cd019dd" datatype="html">\n        <source>Histogram not available: \n          <x id="INTERPOLATION" equiv-text="{{ osd.histogram_failed }}"/>\n        </source>\n        <target>Histogram not available: \n          <x id="INTERPOLATION" equiv-text="{{ osd.histogram_failed }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="868abfff914873d1c65df798d8432ed04b8ae2a9" datatype="html">\n        <source>Writes</source>\n        <target>写入请求</target>\n      </trans-unit>\n      <trans-unit id="996ebb9a653b5067f97bf3891ea9d2108e969492" datatype="html">\n        <source>Reads</source>\n        <target>读取请求</target>\n      </trans-unit>\n      <trans-unit id="65ac79790aa477a97b1cc579e18a115a8df8918f" datatype="html">\n        <source>Histogram</source>\n        <target>直方图</target>\n      </trans-unit>\n      <trans-unit id="3d87fc20ea8e5f0f0500ba5d5061b345be78ec5e" datatype="html">\n        <source>No hostname found.</source>\n        <target>No hostname found.</target>\n      </trans-unit>\n      <trans-unit id="26fb5f81b3581f06b9210defb0e71dc69a67e819" datatype="html">\n        <source>Current values</source>\n        <target>当前值</target>\n      </trans-unit>\n      <trans-unit id="9abcd7c82643d60c22733470463f74e4a54bc069" datatype="html">\n        <source>Min</source>\n        <target>下限</target>\n      </trans-unit>\n      <trans-unit id="c3ced4d162a0a55ee233a187ce7208ba5e922418" datatype="html">\n        <source>Max</source>\n        <target>上限</target>\n      </trans-unit>\n      <trans-unit id="6834fa6b43d1ecbdf147c48dd9c4d72f1484571d" datatype="html">\n        <source>Source</source>\n        <target>来源</target>\n      </trans-unit>\n      <trans-unit id="a446fb0eb11fbffcac805ece5a2d306d24e733d8" datatype="html">\n        <source>Level</source>\n        <target>级别</target>\n      </trans-unit>\n      <trans-unit id="39f2fb094e9b2eda13163fa3f3a31594cf9c1307" datatype="html">\n        <source>Can be updated at runtime (editable)</source>\n        <target>可在运行时更新(可编辑)</target>\n      </trans-unit>\n      <trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b" datatype="html">\n        <source>Tags</source>\n        <target>标记</target>\n      </trans-unit>\n      <trans-unit id="ab0089ef47af61ca1d137bc908b96c290dfd9287" datatype="html">\n        <source>Enum values</source>\n        <target>可选项</target>\n      </trans-unit>\n      <trans-unit id="819476f1264f1659f38e86f6abb542141b184832" datatype="html">\n        <source>See also</source>\n        <target>参见</target>\n      </trans-unit>\n      <trans-unit id="73caac4265ea7314ff061e5a1d78a6361a6dd3b8" datatype="html">\n        <source>Cluster Status</source>\n        <target>集群状态</target>\n      </trans-unit>\n      <trans-unit id="1d4bc612bbf19aa9553853266b9e92c9d75f4464" datatype="html">\n        <source>Manager Daemons</source>\n        <target>manager 守护进程</target>\n      </trans-unit>\n      <trans-unit id="946ac5dea9921dc09d7b0a63b89535371f283b19" datatype="html">\n        <source>Object Gateways</source>\n        <target>对象网关</target>\n      </trans-unit>\n      <trans-unit id="ff03fa5bcf37c4da46ad736c1f7d03f959e8ba9a" datatype="html">\n        <source>Metadata Servers</source>\n        <target>metadata 服务器</target>\n      </trans-unit>\n      <trans-unit id="d817609ba4993eba859409ab71e566168f4d5f5a" datatype="html">\n        <source>iSCSI Gateways</source>\n        <target>iSCSI 网关</target>\n      </trans-unit>\n      <trans-unit id="42c13e50391250ea9379bdf55d5d6c0228c0c8bc" datatype="html">\n        <source>Client IOPS</source>\n        <target>客户端 IOPS</target>\n      </trans-unit>\n      <trans-unit id="52213660b2454d139ada3079a42ec6caf3c3c01e" datatype="html">\n        <source>Client Throughput</source>\n        <target>客户端吞吐量</target>\n      </trans-unit>\n      <trans-unit id="32efd1c3f70e3c5244239de97a2cc95d98534a14" datatype="html">\n        <source>Client Read/Write</source>\n        <target>客户端读/写</target>\n      </trans-unit>\n      <trans-unit id="275485415092cbae3a9f3cbb786ebe283cacfdd5" datatype="html">\n        <source>Recovery Throughput</source>\n        <target>恢复吞吐量</target>\n      </trans-unit>\n      <trans-unit id="6d9a9f55046891733ef71170e7652063765eb542" datatype="html">\n        <source>Scrub</source>\n        <target>洗刷</target>\n      </trans-unit>\n      <trans-unit id="3cc9c2ae277393b3946b38c088dabff671b1ee1b" datatype="html">\n        <source>Performance</source>\n        <target>性能</target>\n      </trans-unit>\n      <trans-unit id="88f383269db2d32cccee9e936fe549dccb9fdbf4" datatype="html">\n        <source>Raw Capacity</source>\n        <target>基本容量</target>\n      </trans-unit>\n      <trans-unit id="c5f8a813f91a11af99132e4beafc136cfc13d73b" datatype="html">\n        <source>PGs per OSD</source>\n        <target>每个 OSD 的 PG 数</target>\n      </trans-unit>\n      <trans-unit id="498a109c6e9e94f1966de01aa0326f7f0ac6fb52" datatype="html">\n        <source>PG Status</source>\n        <target>PG 状态</target>\n      </trans-unit>\n      <trans-unit id="ce9dfdc6dccb28dc75a78c704e09dc18fb02dcfa" datatype="html">\n        <source>Capacity</source>\n        <target>容量</target>\n      </trans-unit>\n      <trans-unit id="44ecac93d67c6a671198091c2270354f80322327" datatype="html">\n        <source>\n          <x id="START_ITALIC_TEXT" ctype="x-i" equiv-text="<i>"/>\n          <x id="CLOSE_ITALIC_TEXT" ctype="x-i" equiv-text="</i>"/> See \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Logs\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more details.\n        </source>\n        <target>\n          <x id="START_ITALIC_TEXT" ctype="x-i" equiv-text="<i>"/>\n          <x id="CLOSE_ITALIC_TEXT" ctype="x-i" equiv-text="</i>"/> See \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Logs\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more details.\n        </target>\n      </trans-unit>\n      <trans-unit id="0c1e17956453ad772dbe82d6946f62748c692f3e" datatype="html">\n        <source>Ranks</source>\n        <target>排位</target>\n      </trans-unit>\n      <trans-unit id="2b24e0b0b1629d2e8a51b9da7c75d6e6379f4bc4" datatype="html">\n        <source>Standbys</source>\n        <target>Standbys</target>\n      </trans-unit>\n      <trans-unit id="50df62325726db950523a5be1c78b8905fcc25d4" datatype="html">\n        <source>MDS performance counters</source>\n        <target>MDS performance counters</target>\n      </trans-unit>\n      <trans-unit id="6e213942c6354b9cbe7a650f0f1499bfc1000fb6" datatype="html">\n        <source>Directories</source>\n        <target>Directories</target>\n      </trans-unit>\n      <trans-unit id="47116253e36f4e38a97ba41b2d3122c6c15ab904" datatype="html">\n        <source>Clients (\n          <x id="INTERPOLATION" equiv-text="{{ clients.length }}"/>)\n        </source>\n        <target>Clients (\n          <x id="INTERPOLATION" equiv-text="{{ clients.length }}"/>)\n        </target>\n      </trans-unit>\n      <trans-unit id="bd5a3b1c5a3c185c7bbb0e09a061d4cdc88ce5ad" datatype="html">\n        <source>Current</source>\n        <target>当前</target>\n      </trans-unit>\n      <trans-unit id="e5e7d62e942083a59b0b31f54e17cd7958186052" datatype="html">\n        <source>Updated discovery authentication</source>\n        <target>已更新发现身份验证</target>\n      </trans-unit>\n      <trans-unit id="dd4ab758afd5fd5a6c6a25b2b30ff99d0c00e9ad" datatype="html">\n        <source>There are no portals available.</source>\n        <target>无可用端口。</target>\n      </trans-unit>\n      <trans-unit id="83021e45778a4a230a14ca0c6d6ccdf05500ad93" datatype="html">\n        <source>There are no images available.</source>\n        <target>无可用映像。</target>\n      </trans-unit>\n      <trans-unit id="86684eb21f8a768e1dbc659e3d5da6861db544a0" datatype="html">\n        <source>There are no images available. Please make sure you add an image to the target.</source>\n        <target>无可用映像。请确保为目标添加一个映像。</target>\n      </trans-unit>\n      <trans-unit id="fffda6e440078f57eba93944ce051c593cc6ed7f" datatype="html">\n        <source>There are no initiators available. Please make sure you add an initiator to the target.</source>\n        <target>无可用授权人。请确保为目标添加一个授权人。</target>\n      </trans-unit>\n      <trans-unit id="cea3c6fe490385eef1584cbc4983fda7ece24bb6" datatype="html">\n        <source>target</source>\n        <target>target</target>\n      </trans-unit>\n      <trans-unit id="38baeb215c17af9d9e295e371a57f4a48ab4c191" datatype="html">\n        <source>Target</source>\n        <target>目标</target>\n      </trans-unit>\n      <trans-unit id="99e094878070eebc1b972bac02aaa33b2bf83b35" datatype="html">\n        <source># Sessions</source>\n        <target># Sessions</target>\n      </trans-unit>\n      <trans-unit id="2ea10b3668e04e057ba96ddcaf4c9b77089008ae" datatype="html">\n        <source>Unavailable gateway(s)</source>\n        <target>Unavailable gateway(s)</target>\n      </trans-unit>\n      <trans-unit id="c49e0dd71d551bd4928d967d78f0721dbf9f95e3" datatype="html">\n        <source>Target has active sessions</source>\n        <target>Target has active sessions</target>\n      </trans-unit>\n      <trans-unit id="a87acd72dfb68b45175270695209550a85adf50c" datatype="html">\n        <source>iSCSI target</source>\n        <target>iSCSI target</target>\n      </trans-unit>\n      <trans-unit id="873b72903b1858a9cd6c8967521030b4d7d1435b" datatype="html">\n        <source>State</source>\n        <target>状态</target>\n      </trans-unit>\n      <trans-unit id="02b75464c0dc0cf49ea0208211b6fbcad3bf728a" datatype="html">\n        <source># Targets</source>\n        <target># Targets</target>\n      </trans-unit>\n      <trans-unit id="13415637c325ceefee29111b31cb48701490adf7" datatype="html">\n        <source>Read Bytes</source>\n        <target>读字节数</target>\n      </trans-unit>\n      <trans-unit id="e2ed82b7bbf4a006e60e6208c597b05d5b5556e9" datatype="html">\n        <source>Write Bytes</source>\n        <target>写字节数</target>\n      </trans-unit>\n      <trans-unit id="6a32a5f58845ca840185ea9564682094e77a1d80" datatype="html">\n        <source>Read Ops</source>\n        <target>读请求数</target>\n      </trans-unit>\n      <trans-unit id="7c36cb8032af123d3550ffab2e1fa1e957c87fae" datatype="html">\n        <source>Write Ops</source>\n        <target>写请求数</target>\n      </trans-unit>\n      <trans-unit id="458c33846a8c7e2feb9404bcf06723784e756cdc" datatype="html">\n        <source>A/O Since</source>\n        <target>活动/优化自</target>\n      </trans-unit>\n      <trans-unit id="ff78f059449d44322f627d0f66df07abe476962b" datatype="html">\n        <source>Instance</source>\n        <target>实例</target>\n      </trans-unit>\n      <trans-unit id="36fad7995cadfb3a6f0d43ef2db280146b3ca022" datatype="html">\n        <source>Issue</source>\n        <target>问题</target>\n      </trans-unit>\n      <trans-unit id="15793f4cbc261bedbc60f7105533dde536a3f42b" datatype="html">\n        <source>Progress</source>\n        <target>进度</target>\n      </trans-unit>\n      <trans-unit id="25b725dba712a7a020fd34a72297befae975a492" datatype="html">\n        <source>Edit Site Name</source>\n        <target>Edit Site Name</target>\n      </trans-unit>\n      <trans-unit id="8c375764db42f5d736fb56d01b8052c006ccc8e2" datatype="html">\n        <source>Edit Mode</source>\n        <target>编辑模式</target>\n      </trans-unit>\n      <trans-unit id="45932f2a0ea524b3425f4320ee46a6d1c68977bc" datatype="html">\n        <source>Add Peer</source>\n        <target>添加 peer</target>\n      </trans-unit>\n      <trans-unit id="d3dc34662e3cda0dad646221651cebd26f731485" datatype="html">\n        <source>Edit Peer</source>\n        <target>编辑 peer</target>\n      </trans-unit>\n      <trans-unit id="e8a0ec0b6ee72db0f27c186e09640d1ed41964bd" datatype="html">\n        <source>Delete Peer</source>\n        <target>删除 peer</target>\n      </trans-unit>\n      <trans-unit id="314de06d6f64d39149e78e6d796585c0246fec0b" datatype="html">\n        <source>Leader</source>\n        <target>Leader</target>\n      </trans-unit>\n      <trans-unit id="7acaab450312114059ced9e3737798ee9aa738b1" datatype="html">\n        <source># Local</source>\n        <target># 本地</target>\n      </trans-unit>\n      <trans-unit id="7a3ffd88868135c44be3994263bb8e49d8358884" datatype="html">\n        <source># Remote</source>\n        <target># 远程</target>\n      </trans-unit>\n      <trans-unit id="85ca0fd6a6ddd211023c70a25753122c5b978787" datatype="html">\n        <source>mirror peer</source>\n        <target>镜像 peer</target>\n      </trans-unit>\n      <trans-unit id="a6493c6ca346cd052da40423eda9c132de2b2002" datatype="html">\n        <source>Key</source>\n        <target>密钥</target>\n      </trans-unit>\n      <trans-unit id="e9cac80fb5d9de66f0006d0bec530fd1fc69a674" datatype="html">\n        <source>RBD</source>\n        <target>RBD</target>\n      </trans-unit>\n      <trans-unit id="4130b1a836f2000cfe9a11fb62493dc42d444de7" datatype="html">\n        <source>Deep flatten</source>\n        <target>完全展开</target>\n      </trans-unit>\n      <trans-unit id="7b17694d7cb8ecb7c8440bc999dac21b44455b33" datatype="html">\n        <source>Layering</source>\n        <target>分层</target>\n      </trans-unit>\n      <trans-unit id="6a072ce577c2079d0e0c31071a16824f6d22b84d" datatype="html">\n        <source>Exclusive lock</source>\n        <target>互斥锁</target>\n      </trans-unit>\n      <trans-unit id="7354f01320bf936a7f85577c9f71402635c3a362" datatype="html">\n        <source>Object map (requires exclusive-lock)</source>\n        <target>object map(要求互斥锁支持)</target>\n      </trans-unit>\n      <trans-unit id="fb7e625c1152f1c102cd16460955d124edff1770" datatype="html">\n        <source>Journaling (requires exclusive-lock)</source>\n        <target>日志(要求互斥锁支持)</target>\n      </trans-unit>\n      <trans-unit id="df4044632bfc211dd96544fc8f007dabbeeb506c" datatype="html">\n        <source>Fast diff (interlocked with object-map)</source>\n        <target>Fast diff (interlocked with object-map)</target>\n      </trans-unit>\n      <trans-unit id="130fd872c78271a8f86b1ab16a76e823969c47d9" datatype="html">\n        <source>Namespace</source>\n        <target>Namespace</target>\n      </trans-unit>\n      <trans-unit id="14abc99daed542774633046c53b6ce8251331141" datatype="html">\n        <source>This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.</source>\n        <target>This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.</target>\n      </trans-unit>\n      <trans-unit id="51699f716cf34e6622ff7bfd84641480c045271a" datatype="html">\n        <source>Created namespace \'\n          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>\'\n        </source>\n        <target>Created namespace \'\n          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="bf44b7d6379ce0198ed3d95a27642a224181bf1d" datatype="html">\n        <source>Total images</source>\n        <target>Total images</target>\n      </trans-unit>\n      <trans-unit id="371ce3ffe62548d15e391a248bc554d903bb03fc" datatype="html">\n        <source>Deleted namespace \'\n          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>\'\n        </source>\n        <target>Deleted namespace \'\n          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="9d704fd00ca929f90c3119cefc581821ae58a73e" datatype="html">\n        <source>Namespace contains images</source>\n        <target>Namespace contains images</target>\n      </trans-unit>\n      <trans-unit id="c2017dc94b4f57a347ccb126e546e88942f4d7a6" datatype="html">\n        <source>RBD Snapshot</source>\n        <target>RBD Snapshot</target>\n      </trans-unit>\n      <trans-unit id="631fc50ec7c9bd81dc797a3c7e09eda1178ad999" datatype="html">\n        <source>Parent image must support Layering</source>\n        <target>Parent image must support Layering</target>\n      </trans-unit>\n      <trans-unit id="cb60c1cd3655234756b5b92d4d597d92d520ee30" datatype="html">\n        <source>PROTECTED</source>\n        <target>PROTECTED</target>\n      </trans-unit>\n      <trans-unit id="deffb86b8fb0541254ad5a43862d82bff6b6a6c4" datatype="html">\n        <source>UNPROTECTED</source>\n        <target>无保护的</target>\n      </trans-unit>\n      <trans-unit id="7eb984588f4835f6d0187b33769b4b0f62821640" datatype="html">\n        <source>RBD snapshot rollback</source>\n        <target>RBD 快照回滚</target>\n      </trans-unit>\n      <trans-unit id="4be22bf20ef82614ed53bcd3b912a85590aa71c9" datatype="html">\n        <source>Rollback</source>\n        <target>回滚</target>\n      </trans-unit>\n      <trans-unit id="2a04c483708d261751d62082d6f03a50d4577b1e" datatype="html">\n        <source>RBD snapshot</source>\n        <target>RBD 快照</target>\n      </trans-unit>\n      <trans-unit id="fa96769d1ea86741297cb9b9769b0dcfde58c8b4" datatype="html">\n        <source>Deleted At</source>\n        <target>定点删除</target>\n      </trans-unit>\n      <trans-unit id="e928864038ca70ee7d67bbf1fd71a01c3938a127" datatype="html">\n        <source>id</source>\n        <target>ID</target>\n      </trans-unit>\n      <trans-unit id="240c9c1e96dc38814922a83ad041dc815b084f32" datatype="html">\n        <source>type</source>\n        <target>类型</target>\n      </trans-unit>\n      <trans-unit id="c9d7ec7ee5b4e282f2228fa996651ec4ef5195a9" datatype="html">\n        <source>state</source>\n        <target>状态</target>\n      </trans-unit>\n      <trans-unit id="5780e5c3b4fc2ae07836bb5221cec4f8d597630d" datatype="html">\n        <source>version</source>\n        <target>版本</target>\n      </trans-unit>\n      <trans-unit id="fe22ca53e651df951dac25b67c17894b0980f767" datatype="html">\n        <source>Host</source>\n        <target>主机</target>\n      </trans-unit>\n      <trans-unit id="fb69299354312c8954ecf324997ccafcd9f6b14b" datatype="html">\n        <source>root</source>\n        <target>根</target>\n      </trans-unit>\n      <trans-unit id="d34feb369d308075b423d5c5fc431f9766bf7a11" datatype="html">\n        <source>Evicted client "\n          <x id="INTERPOLATION" equiv-text="{{clientId}}"/>"\n        </source>\n        <target>Evicted client "\n          <x id="INTERPOLATION" equiv-text="{{clientId}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="7db875ff4cc626d394f37fba95c075b2e4bfeb00" datatype="html">\n        <source>Standby daemons</source>\n        <target>备用服务</target>\n      </trans-unit>\n      <trans-unit id="3c3a423d91e36ac6624e909fcd2669a25685f847" datatype="html">\n        <source>Rank</source>\n        <target>排位</target>\n      </trans-unit>\n      <trans-unit id="9596ecae8956e96921acef47aec787f6bdc37454" datatype="html">\n        <source>Daemon</source>\n        <target>守护进程</target>\n      </trans-unit>\n      <trans-unit id="f2005fa461c06dc2e04d8918bbabedf23604b5b7" datatype="html">\n        <source>Activity</source>\n        <target>活跃度</target>\n      </trans-unit>\n      <trans-unit id="e3a986984ae0c3b43af648c3fa638649d1c00348" datatype="html">\n        <source>Dentries</source>\n        <target>dentries</target>\n      </trans-unit>\n      <trans-unit id="7c692ab865066967d73c6d64ec0691cc6ce91b93" datatype="html">\n        <source>Inodes</source>\n        <target>inodes</target>\n      </trans-unit>\n      <trans-unit id="45f210b96a2a6e91f52f153a4f8dc30662629f8e" datatype="html">\n        <source>Usage</source>\n        <target>使用率</target>\n      </trans-unit>\n      <trans-unit id="950b5f04a2efd3f11c0f76418d5a4212381e792e" datatype="html">\n        <source>Origin</source>\n        <target>Origin</target>\n      </trans-unit>\n      <trans-unit id="2ea2ec95d93fd55d0db6e9d2b95b25e153d4cec2" datatype="html">\n        <source>Max size</source>\n        <target>Max size</target>\n      </trans-unit>\n      <trans-unit id="665dced3a61bca44924a0bde4be47390225a4898" datatype="html">\n        <source>Max files</source>\n        <target>Max files</target>\n      </trans-unit>\n      <trans-unit id="0ccf776baac60794b142526986f3af85848c7059" datatype="html">\n        <source>The inherited \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/> is the maximum value to be used.\n        </source>\n        <target>The inherited \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/> is the maximum value to be used.\n        </target>\n      </trans-unit>\n      <trans-unit id="b0e2ef28384f2de6674cac300c779f900929a89b" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{action}}"/> CephFS \n          <x id="INTERPOLATION_1" equiv-text="{{quotaName}}"/> quota for \'\n          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>\'\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{action}}"/> CephFS \n          <x id="INTERPOLATION_1" equiv-text="{{quotaName}}"/> quota for \'\n          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="542ef638499635dec7641bdc2e499258094187cc" datatype="html">\n        <source>size</source>\n        <target>size</target>\n      </trans-unit>\n      <trans-unit id="ce90ff00c341d8eef96b0e7956bb85b8faba3839" datatype="html">\n        <source>files</source>\n        <target>files</target>\n      </trans-unit>\n      <trans-unit id="fbe8b9340c08c24aef62ffe81c83e2b46a4f1495" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{quotaName}}"/> quota \n          <x id="INTERPOLATION_1" equiv-text="{{value}}"/> from \'\n          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>\'\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{quotaName}}"/> quota \n          <x id="INTERPOLATION_1" equiv-text="{{value}}"/> from \'\n          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="37c2c0a4a356465eef2edfb09ffffc6db5259975" datatype="html">\n        <source>Value has to be at least \n          <x id="INTERPOLATION" equiv-text="{{value}}"/> or more\n        </source>\n        <target>Value has to be at least \n          <x id="INTERPOLATION" equiv-text="{{value}}"/> or more\n        </target>\n      </trans-unit>\n      <trans-unit id="73f8e64703a707e2cf98b9a10653cd3bbdd8cab1" datatype="html">\n        <source>Value has to be at most \n          <x id="INTERPOLATION" equiv-text="{{value}}"/> or less\n        </source>\n        <target>Value has to be at most \n          <x id="INTERPOLATION" equiv-text="{{value}}"/> or less\n        </target>\n      </trans-unit>\n      <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc" datatype="html">\n        <source>Updated</source>\n        <target>更新完成</target>\n      </trans-unit>\n      <trans-unit id="b6a4cf4f302c7fcbec199ce0df42b8282d682b04" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{action}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{quotaValue}}"/>\n          <x id="INTERPOLATION_2" equiv-text="{{conclusion}}"/>.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{action}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{quotaValue}}"/>\n          <x id="INTERPOLATION_2" equiv-text="{{conclusion}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="a40024afb071f68fec949094a71f832d5611bca5" datatype="html">\n        <source>in order to inherit \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>\n        </source>\n        <target>in order to inherit \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="c108ff588291e9c040adea2adf35e7236cf29925" datatype="html">\n        <source>which isn\'t used because of the inheritance of \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>\n        </source>\n        <target>which isn\'t used because of the inheritance of \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="d3785a64d1c72b03b2212855ce695b45ed0342d2" datatype="html">\n        <source>in order to have no quota on the directory</source>\n        <target>in order to have no quota on the directory</target>\n      </trans-unit>\n      <trans-unit id="c4d3a3446a7f36825291c5e76c4a6b7919f9bd2f" datatype="html">\n        <source>Create Snapshot</source>\n        <target>Create Snapshot</target>\n      </trans-unit>\n      <trans-unit id="e9af734e231b837d64df21008e2eb1fdff566a61" datatype="html">\n        <source>Please enter the name of the snapshot.</source>\n        <target>Please enter the name of the snapshot.</target>\n      </trans-unit>\n      <trans-unit id="8c4d3039e6a953b0d6f1b1313ffa60c5d2b35dc7" datatype="html">\n        <source>Created snapshot "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "\n          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"\n        </source>\n        <target>Created snapshot "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "\n          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="126ad894f74ee9a999825f3f4ac5a31fdfc093bf" datatype="html">\n        <source>CephFs Snapshot</source>\n        <target>CephFs Snapshot</target>\n      </trans-unit>\n      <trans-unit id="1e4d1c0865adc485260740c42ac5af68ce8feb13" datatype="html">\n        <source>Deleted snapshot "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "\n          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"\n        </source>\n        <target>Deleted snapshot "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "\n          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="22e4e574b7f8abf58254f328792445b42e2a924a" datatype="html">\n        <source>The value can be updated at runtime.</source>\n        <target>该值可在运行时更新。</target>\n      </trans-unit>\n      <trans-unit id="d7770de7b2343c9deeaa7ebf37ba3e35ca5c5988" datatype="html">\n        <source>Daemons/clients do not pull this value from the\n      monitor config database. We disallow setting this option via \'ceph config\n      set ...\'. This option should be configured via ceph.conf or via the\n      command line.</source>\n        <target>服务器或客户端不会主动从 monitor 的配置数据库读取这个配置。\n 所以不能用“ceph config set ...”设置它。但是可以通过\n ceph.conf 或者用命令行进行配置。</target>\n      </trans-unit>\n      <trans-unit id="83f11fd1dc503c37931ea6c1c5c1e8c2b4b597b6" datatype="html">\n        <source>Option takes effect only during daemon startup.</source>\n        <target>该配置只有在服务启动的时候才会生效。</target>\n      </trans-unit>\n      <trans-unit id="837a07cd6a971038b8b1aa190c43440c9fdb5d8b" datatype="html">\n        <source>Option only affects cluster creation.</source>\n        <target>该配置只在创建集群的时候才会生效。</target>\n      </trans-unit>\n      <trans-unit id="2566a88eb247c918b71cfe5b354c31de0d4b01e5" datatype="html">\n        <source>Option only affects daemon creation.</source>\n        <target>该配置只在服务创建的时候才会生效。</target>\n      </trans-unit>\n      <trans-unit id="1cdc60cfc09c257625768f3d2082816cdef27279" datatype="html">\n        <source>Updated config option \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\n        </source>\n        <target>Updated config option \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="d473e0f684a60db45d6f31e993f693f74290e056" datatype="html">\n        <source>Service</source>\n        <target>服务</target>\n      </trans-unit>\n      <trans-unit id="6986e0df8092d822ac2c076520d83994c78834fc" datatype="html">\n        <source>Modified</source>\n        <target>Modified</target>\n      </trans-unit>\n      <trans-unit id="9951bb3983c7dba6fde013e05c922e4fe1a44367" datatype="html">\n        <source>Current value</source>\n        <target>当前值</target>\n      </trans-unit>\n      <trans-unit id="4a01c175f90dd92b432f4a4a199d2c7bb9d997ff" datatype="html">\n        <source>Editable</source>\n        <target>可编辑</target>\n      </trans-unit>\n      <trans-unit id="261c0af854e8684abc15f89dce6efb3e72344b18" datatype="html">\n        <source>host</source>\n        <target>host</target>\n      </trans-unit>\n      <trans-unit id="b1b381321d4cef04605d3e6e8847ea2b72a03799" datatype="html">\n        <source>Identify</source>\n        <target>Identify</target>\n      </trans-unit>\n      <trans-unit id="a5d5e407f8c4e1b152509c966c90f37edf68472e" datatype="html">\n        <source>Device path</source>\n        <target>Device path</target>\n      </trans-unit>\n      <trans-unit id="b7da3e3505cc80f9bf3cffc8444c53e8a9ec70a5" datatype="html">\n        <source>Available</source>\n        <target>Available</target>\n      </trans-unit>\n      <trans-unit id="396974120fc614fc930a27c8d15a094d82a3a9e4" datatype="html">\n        <source>Vendor</source>\n        <target>Vendor</target>\n      </trans-unit>\n      <trans-unit id="6ec98fa3d6504ba1fd03465194b53706c8263c99" datatype="html">\n        <source>Model</source>\n        <target>Model</target>\n      </trans-unit>\n      <trans-unit id="f2d785f5658c96c6a2f505cdd625108bcece84c3" datatype="html">\n        <source>Identify device \n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\n        </source>\n        <target>Identify device \n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="c97ab45ca09248f8f1ba60328175741657fe39ce" datatype="html">\n        <source>Please enter the duration how long to blink the LED.</source>\n        <target>Please enter the duration how long to blink the LED.</target>\n      </trans-unit>\n      <trans-unit id="87e56ee5057023d7e8b59420b838bad112b043bc" datatype="html">\n        <source>1 minute</source>\n        <target>1 minute</target>\n      </trans-unit>\n      <trans-unit id="affa3b3bf1f36531e5ae65291f8a7cd1b06860ee" datatype="html">\n        <source>2 minutes</source>\n        <target>2 minutes</target>\n      </trans-unit>\n      <trans-unit id="878c6645b7fc26d85c7aee17a9d8c282a938dcf3" datatype="html">\n        <source>5 minutes</source>\n        <target>5 minutes</target>\n      </trans-unit>\n      <trans-unit id="aa0a76140961594b7176ade241e5025a7dbb5dce" datatype="html">\n        <source>10 minutes</source>\n        <target>10 minutes</target>\n      </trans-unit>\n      <trans-unit id="0a7f83a1f27750ef634a1f1f97263fac36113b1f" datatype="html">\n        <source>15 minutes</source>\n        <target>15 minutes</target>\n      </trans-unit>\n      <trans-unit id="699b690d686dbb8e00a1e95b89ba2fffb548da6e" datatype="html">\n        <source>Execute</source>\n        <target>Execute</target>\n      </trans-unit>\n      <trans-unit id="aa975a86dd49979a3ae90b9f3fc5b2c97311d422" datatype="html">\n        <source>Identifying \'\n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\' started on host \'\n          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>\'\n        </source>\n        <target>Identifying \'\n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\' started on host \'\n          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="1a6e6ad05508130b7a99ce5b15daf3227c2a930c" datatype="html">\n        <source>Updated options for module "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>".\n        </source>\n        <target>Updated options for module "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="6bd47ff8707aa2e6a94a4a6e2566b86dc7956d5f" datatype="html">\n        <source>Always-On</source>\n        <target>Always-On</target>\n      </trans-unit>\n      <trans-unit id="ac6c9212896d39b23811ed2dadab7d07336ec559" datatype="html">\n        <source>Enable</source>\n        <target>启用</target>\n      </trans-unit>\n      <trans-unit id="6766a926d80bb7763785621098dae459d6226429" datatype="html">\n        <source>Disable</source>\n        <target>禁用</target>\n      </trans-unit>\n      <trans-unit id="340f2f312c2eb353e5cd69aee6bee7f5a73c34ac" datatype="html">\n        <source>This Manager module is always on.</source>\n        <target>This Manager module is always on.</target>\n      </trans-unit>\n      <trans-unit id="6a0b3657745dd7a2f2162f1cc790bf9004d0845d" datatype="html">\n        <source>Reconnecting, please wait ...</source>\n        <target>正在重新连接,请稍候…</target>\n      </trans-unit>\n      <trans-unit id="7099a8878af7a0a26fe5663c4f46cfe87142b75d" datatype="html">\n        <source>Public Address</source>\n        <target>外部地址</target>\n      </trans-unit>\n      <trans-unit id="cbdd1cdc0c7a87f55dd177bc44212f0fc4b80852" datatype="html">\n        <source>Open Sessions</source>\n        <target>活动会话</target>\n      </trans-unit>\n      <trans-unit id="34c6f45591d420b1101dcee53999d1de91c0e400" datatype="html">\n        <source>No available devices</source>\n        <target>No available devices</target>\n      </trans-unit>\n      <trans-unit id="dcfe8807a2a1d0d7074a02afe9b80645bd03b9ab" datatype="html">\n        <source>Please add primary devices first</source>\n        <target>Please add primary devices first</target>\n      </trans-unit>\n      <trans-unit id="05d024719e53f85f7f294b7e21dfd805709a0b06" datatype="html">\n        <source>Add devices by using filters</source>\n        <target>Add devices by using filters</target>\n      </trans-unit>\n      <trans-unit id="37e58d1cbdf8212b380efa51422e42821d4f08e6" datatype="html">\n        <source>No In</source>\n        <target>禁止加入</target>\n      </trans-unit>\n      <trans-unit id="12706eb5af17ff5ad77b3de21af368d24678e00b" datatype="html">\n        <source>OSDs that were previously marked out will not be marked back in when they start</source>\n        <target>之前被除名的 OSD 在启动之后,不会被加入集群</target>\n      </trans-unit>\n      <trans-unit id="96114d7624d11dc90ca46cfa96145fe22118df76" datatype="html">\n        <source>No Out</source>\n        <target>禁止除名</target>\n      </trans-unit>\n      <trans-unit id="a2ef636fe1ddd56b63e4aaf3d292f33dbf735ef3" datatype="html">\n        <source>OSDs will not automatically be marked out after the configured interval</source>\n        <target>在发现 OSD 没有响应之后一段时间,该 OSD 会被踢出集群。该标志会禁止这个功能。</target>\n      </trans-unit>\n      <trans-unit id="ee50aefa9b8bde1e5429b48709a23abfe08358e0" datatype="html">\n        <source>No Up</source>\n        <target>禁止启用</target>\n      </trans-unit>\n      <trans-unit id="608929b939307e397586a98cea52ae38997c7273" datatype="html">\n        <source>OSDs are not allowed to start</source>\n        <target>不允许 OSD 启动</target>\n      </trans-unit>\n      <trans-unit id="1751ab69c1e7f62927afedbf7116e0116316c551" datatype="html">\n        <source>No Down</source>\n        <target>禁止停用</target>\n      </trans-unit>\n      <trans-unit id="41fac86dfb65c1db690f3e87f6497cb73b281084" datatype="html">\n        <source>OSD failure reports are being ignored, such that the monitors will not mark OSDs down</source>\n        <target>当前不受理对 OSD 的失效报告,因而 monitor 不会停用 OSD</target>\n      </trans-unit>\n      <trans-unit id="b2838c6165a9672a17db188f4dd9676574353dd8" datatype="html">\n        <source>Pause</source>\n        <target>暂停</target>\n      </trans-unit>\n      <trans-unit id="191d71dadcc8790573d46706a0b48211de4b8334" datatype="html">\n        <source>Pauses reads and writes</source>\n        <target>暂停读写</target>\n      </trans-unit>\n      <trans-unit id="471d5ba75836f38c19992cf83d8822632d99e473" datatype="html">\n        <source>No Scrub</source>\n        <target>禁止洗刷</target>\n      </trans-unit>\n      <trans-unit id="5b8caa61814121bc36dac0c34a9e9de3cae74990" datatype="html">\n        <source>Scrubbing is disabled</source>\n        <target>洗刷已禁止</target>\n      </trans-unit>\n      <trans-unit id="7f29a0ac1c797bdc0347dd5d0734ba83e96e7ce6" datatype="html">\n        <source>No Deep Scrub</source>\n        <target>禁止深层洗刷</target>\n      </trans-unit>\n      <trans-unit id="01da61ab216541a8d31259cebd16b10c7e5fc124" datatype="html">\n        <source>Deep Scrubbing is disabled</source>\n        <target>深层洗刷已禁止</target>\n      </trans-unit>\n      <trans-unit id="0b86c7f18ac725de62c7e192dcfccd02c0dc40ab" datatype="html">\n        <source>No Backfill</source>\n        <target>禁止回填</target>\n      </trans-unit>\n      <trans-unit id="bd33a2bdc8fbed3b7469f3717c16d9aaa2851fdd" datatype="html">\n        <source>Backfilling of PGs is suspended</source>\n        <target>PG 回填已推迟</target>\n      </trans-unit>\n      <trans-unit id="df526de2b93c4099a30c200ef551608e39ee5256" datatype="html">\n        <source>No Rebalance</source>\n        <target>No Rebalance</target>\n      </trans-unit>\n      <trans-unit id="c5b70346245f8d52b58e5e7fe222ce82f12429ce" datatype="html">\n        <source>OSD will choose not to backfill unless PG is also degraded</source>\n        <target>OSD will choose not to backfill unless PG is also degraded</target>\n      </trans-unit>\n      <trans-unit id="7fbbd036394cfa623add40299757bc87df8eaa7e" datatype="html">\n        <source>No Recover</source>\n        <target>禁止恢复</target>\n      </trans-unit>\n      <trans-unit id="f3ee9b451a64dca47299c9b4ae1091c2008068ad" datatype="html">\n        <source>Recovery of PGs is suspended</source>\n        <target>PG 恢复已推迟</target>\n      </trans-unit>\n      <trans-unit id="de904148fe7e8d812218f50333ffe247900617c5" datatype="html">\n        <source>Bitwise Sort</source>\n        <target>逐位排序</target>\n      </trans-unit>\n      <trans-unit id="2613c9fde29785bcd75f0abeccb653d14d7527b3" datatype="html">\n        <source>Use bitwise sort</source>\n        <target>使用逐位排序</target>\n      </trans-unit>\n      <trans-unit id="2fe10d84250aeee365db244251d40934c70ff1e9" datatype="html">\n        <source>Purged Snapdirs</source>\n        <target>老版本的快照已全部升级</target>\n      </trans-unit>\n      <trans-unit id="6b22a5b780eda3c5d500cdac9c6d4f96978c38f1" datatype="html">\n        <source>OSDs have converted snapsets</source>\n        <target>OSD 上的快照已全部转换完毕</target>\n      </trans-unit>\n      <trans-unit id="c42f0ba60564dc5b977a8c7f3fdcde9efbb39c60" datatype="html">\n        <source>Recovery Deletes</source>\n        <target>在恢复时进行删除操作</target>\n      </trans-unit>\n      <trans-unit id="72fe39979198ea2ed6db6274b5029025cb316d90" datatype="html">\n        <source>Deletes performed during recovery instead of peering</source>\n        <target>在恢复时,而非对齐阶段进行删除</target>\n      </trans-unit>\n      <trans-unit id="1bb4a1f9127cefe624c173557a716d0ebb6d647c" datatype="html">\n        <source>PG Log Hard Limit</source>\n        <target>PG 日志硬限制</target>\n      </trans-unit>\n      <trans-unit id="e03c0321397fdf7a9c22e8d6b5015424943c0a57" datatype="html">\n        <source>Puts a hard limit on pg log length</source>\n        <target>为 pg 日志长度添加硬限制</target>\n      </trans-unit>\n      <trans-unit id="3c384e2e80c6b5eb24861fbf4225b69486cff4a3" datatype="html">\n        <source>Updated OSD Flags</source>\n        <target>已更新 OSD 标志</target>\n      </trans-unit>\n      <trans-unit id="948758e1412bb2ecdb98e3a4f1cbb6d7458456f2" datatype="html">\n        <source>Encryption</source>\n        <target>Encryption</target>\n      </trans-unit>\n      <trans-unit id="c8b1475105463088593de1022ff6dceb523eae0e" datatype="html">\n        <source>OSD</source>\n        <target>OSD</target>\n      </trans-unit>\n      <trans-unit id="688578fcc739d6f0c5fb6c366dbb19d21c6d9e36" datatype="html">\n        <source>out</source>\n        <target>除名</target>\n      </trans-unit>\n      <trans-unit id="cb0f69bdd4dea41d7d45c74b6e07f98de8a2ab26" datatype="html">\n        <source>in</source>\n        <target>加入</target>\n      </trans-unit>\n      <trans-unit id="b5fbc7c7f007dd53b2318525bb7ff8b0376c9e37" datatype="html">\n        <source>down</source>\n        <target>停用</target>\n      </trans-unit>\n      <trans-unit id="b58719bcb9184e1a7884d00d22d10899d59bf295" datatype="html">\n        <source>Mark</source>\n        <target>标记</target>\n      </trans-unit>\n      <trans-unit id="31a1c1aa03f1e5084750bedb4e3fdc04ce2cb6ca" datatype="html">\n        <source>OSD lost</source>\n        <target>OSD 丢失</target>\n      </trans-unit>\n      <trans-unit id="f3fc4c85c5b8f1dedea0496b72d0af9da7b9e0d9" datatype="html">\n        <source>marked lost</source>\n        <target>已标记丢失</target>\n      </trans-unit>\n      <trans-unit id="40fedc157ad899a18ec40573f770d18b040959d2" datatype="html">\n        <source>Purge</source>\n        <target>清除</target>\n      </trans-unit>\n      <trans-unit id="4f3cff08c7033b63bbccfe66006b1bcaea48ddd8" datatype="html">\n        <source>purged</source>\n        <target>已清除</target>\n      </trans-unit>\n      <trans-unit id="8e5d1b01eca6dce26a4751f0b19bda7a6ab8db5b" datatype="html">\n        <source>destroy</source>\n        <target>销毁</target>\n      </trans-unit>\n      <trans-unit id="495a06b78bf165a7b545fa002137f0846b094a3d" datatype="html">\n        <source>destroyed</source>\n        <target>已销毁</target>\n      </trans-unit>\n      <trans-unit id="70ef158c584bafe788e319a0bffa11b02ee9abf1" datatype="html">\n        <source>delete</source>\n        <target>删除</target>\n      </trans-unit>\n      <trans-unit id="a5b387f5a15b95e339df10fc23526c659a2b6c6f" datatype="html">\n        <source>deleted</source>\n        <target>deleted</target>\n      </trans-unit>\n      <trans-unit id="107614b994f2b01abdc1ca179bf780b0cd933ec4" datatype="html">\n        <source>Recovery Priority</source>\n        <target>Recovery Priority</target>\n      </trans-unit>\n      <trans-unit id="359dad5a3a912ef9dece3194035020856805aa96" datatype="html">\n        <source>PG scrub</source>\n        <target>PG scrub</target>\n      </trans-unit>\n      <trans-unit id="953144c420c2e5abd02e6a687433eac60fa852bd" datatype="html">\n        <source>PGs</source>\n        <target>PG</target>\n      </trans-unit>\n      <trans-unit id="7d3523ea9d35c274cef84043de8a2fdde540a9a1" datatype="html">\n        <source>Read bytes</source>\n        <target>读字节数</target>\n      </trans-unit>\n      <trans-unit id="f15bf7f588f09ca79795b17bc244e8d336f28171" datatype="html">\n        <source>Write bytes</source>\n        <target>写字节数</target>\n      </trans-unit>\n      <trans-unit id="f3c33322823c846b13f59ba2c8f234405bba99e1" datatype="html">\n        <source>Read ops</source>\n        <target>读请求数</target>\n      </trans-unit>\n      <trans-unit id="7e0b24a17546cbfab48b03dc874461d1ca68bc9a" datatype="html">\n        <source>Write ops</source>\n        <target>写请求数</target>\n      </trans-unit>\n      <trans-unit id="b27d1dd31789610130b7cdbf88c4da552cffe936" datatype="html">\n        <source>Edit OSD: \n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\n        </source>\n        <target>Edit OSD: \n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="986f1379580078e77666d10f8ddf4f839c6ca71d" datatype="html">\n        <source>Edit OSD</source>\n        <target>Edit OSD</target>\n      </trans-unit>\n      <trans-unit id="a4b09e2fa39c3e4f1a387f191fbae4eea3ce7bf5" datatype="html">\n        <source>Updated OSD "\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>"\n        </source>\n        <target>Updated OSD "\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="d45455406092f58e6b089cb440b5b7934b801a01" datatype="html">\n        <source>Mark OSD \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </source>\n        <target>Mark OSD \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="de0b7806e451b3b3dbd564decba59981fe781c18" datatype="html">\n        <source>Mark \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </source>\n        <target>Mark \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="bba1d3bb4f8a47aa2b3068e242562196eadb1e83" datatype="html">\n        <source>PG scrub options</source>\n        <target>PG scrub options</target>\n      </trans-unit>\n      <trans-unit id="b0b7748ebc9b7a6942a8cac4a89d4b215b365878" datatype="html">\n        <source>Updated PG scrub options</source>\n        <target>Updated PG scrub options</target>\n      </trans-unit>\n      <trans-unit id="4edc2162af0bd6cd941eaf730d20a7e3b5a83ba7" datatype="html">\n        <source>Max Backfills</source>\n        <target>最大回填量</target>\n      </trans-unit>\n      <trans-unit id="eb5e6c24a48a1dfe23e0a772b762be5e949c0c8a" datatype="html">\n        <source>Recovery Max Active</source>\n        <target>最大活跃恢复请求数</target>\n      </trans-unit>\n      <trans-unit id="4a23c6d3859e03184118620d2baeb736ac765fbf" datatype="html">\n        <source>Recovery Max Single Start</source>\n        <target>最大单次恢复操作数</target>\n      </trans-unit>\n      <trans-unit id="97049169ef5228fd1724de2fcdad1fec2858eaf8" datatype="html">\n        <source>Recovery Sleep</source>\n        <target>恢复/回填操作间隔睡眠时间</target>\n      </trans-unit>\n      <trans-unit id="89553524f4e7db5c437b07dcfdc7b831d56ded1a" datatype="html">\n        <source>Updated OSD recovery speed priority "\n          <x id="INTERPOLATION" equiv-text="{{value}}"/>"\n        </source>\n        <target>Updated OSD recovery speed priority "\n          <x id="INTERPOLATION" equiv-text="{{value}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="ccf5f30798c03d2d8efd0e6eb508320c018b722d" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{operation}}"/> was initialized in the following OSD(s): \n          <x id="INTERPOLATION_1" equiv-text="{{id}}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{operation}}"/> was initialized in the following OSD(s): \n          <x id="INTERPOLATION_1" equiv-text="{{id}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="3bc2d18913479965cb046ec75e2ac3f7b7a77ce5" datatype="html">\n        <source>Create Silence</source>\n        <target>Create Silence</target>\n      </trans-unit>\n      <trans-unit id="78917e8031aaf913ac3fa63295325ce8879703ce" datatype="html">\n        <source>Job</source>\n        <target>任务</target>\n      </trans-unit>\n      <trans-unit id="94287619205068b591c18493c64781424864c259" datatype="html">\n        <source>Severity</source>\n        <target>严重程度</target>\n      </trans-unit>\n      <trans-unit id="e6cfbe0c5e0302ba2cec22315f6a28f8ac46b651" datatype="html">\n        <source>Started</source>\n        <target>已启动</target>\n      </trans-unit>\n      <trans-unit id="801b98c6f02fe3b32f6afa3ee854c99ed83474e6" datatype="html">\n        <source>URL</source>\n        <target>URL</target>\n      </trans-unit>\n      <trans-unit id="d9f726c70aeba7fa6d3d68bff718abe78b1e50ac" datatype="html">\n        <source>Query</source>\n        <target>Query</target>\n      </trans-unit>\n      <trans-unit id="a5cd682a8a33bdc72e093d059429e3cc3a50ec1d" datatype="html">\n        <source>silence</source>\n        <target>silence</target>\n      </trans-unit>\n      <trans-unit id="f557e117e059e7036c6eecacd325a6ae35d866e0" datatype="html">\n        <source>Attribute name</source>\n        <target>Attribute name</target>\n      </trans-unit>\n      <trans-unit id="50f7f517ad8158667f7d4e2bd6f3256e05156e75" datatype="html">\n        <source>Regular expression</source>\n        <target>Regular expression</target>\n      </trans-unit>\n      <trans-unit id="81b1eab399c47110d50f45e3ccb4c009de7cb581" datatype="html">\n        <source>Please add your Prometheus host to the dashboard configuration and refresh the page</source>\n        <target>Please add your Prometheus host to the dashboard configuration and refresh the page</target>\n      </trans-unit>\n      <trans-unit id="29b4ae3296e239446fa0dea88a5112de15cffa54" datatype="html">\n        <source>Created by</source>\n        <target>Created by</target>\n      </trans-unit>\n      <trans-unit id="8d833cceee0ba4c5161b130365e02bc1e129b57e" datatype="html">\n        <source>Ends</source>\n        <target>Ends</target>\n      </trans-unit>\n      <trans-unit id="46a11ff4289e8c88b1b7a935f8d8ee704055f11a" datatype="html">\n        <source>Silence</source>\n        <target>Silence</target>\n      </trans-unit>\n      <trans-unit id="f2ea47d702c7f5e3e5fa751bf9959e21030b72e6" datatype="html">\n        <source>Daemon type</source>\n        <target>Daemon type</target>\n      </trans-unit>\n      <trans-unit id="6c131968e6ab730d86443e6fc11c5cc2a76d7bac" datatype="html">\n        <source>Daemon ID</source>\n        <target>Daemon ID</target>\n      </trans-unit>\n      <trans-unit id="5738f0ca7ddd9594058ce051b1d5d576e2782825" datatype="html">\n        <source>Container ID</source>\n        <target>Container ID</target>\n      </trans-unit>\n      <trans-unit id="78ebcf850cd440c5efc15e6a3a522ae75aeff669" datatype="html">\n        <source>Container Image name</source>\n        <target>Container Image name</target>\n      </trans-unit>\n      <trans-unit id="ea0c7ab9a7bdf646d494abf8c85fbf67d934d079" datatype="html">\n        <source>Container Image ID</source>\n        <target>Container Image ID</target>\n      </trans-unit>\n      <trans-unit id="bf2468fd965b8a59c135ad549b3a612aa9873abc" datatype="html">\n        <source>Status Description</source>\n        <target>Status Description</target>\n      </trans-unit>\n      <trans-unit id="19867330bdc84096f5a93ab087a1766476c8a074" datatype="html">\n        <source>Last Refreshed</source>\n        <target>Last Refreshed</target>\n      </trans-unit>\n      <trans-unit id="2349ee2027ab6ceb3e4b8834928562075b7e1ac7" datatype="html">\n        <source>Container image name</source>\n        <target>Container image name</target>\n      </trans-unit>\n      <trans-unit id="3c475503fb93338811af6b3d9ccacca1d7334609" datatype="html">\n        <source>Container image ID</source>\n        <target>Container image ID</target>\n      </trans-unit>\n      <trans-unit id="8dd15f6c73c05a8b0bd7b6d416487ab6570b88c8" datatype="html">\n        <source>Running</source>\n        <target>Running</target>\n      </trans-unit>\n      <trans-unit id="fb2e1bed329dc5b84197808c778abb9edcbdb335" datatype="html">\n        <source>Used</source>\n        <target>已使用</target>\n      </trans-unit>\n      <trans-unit id="4f1ab04d9100fb0df0e62b921ec46ae052ae29fc" datatype="html">\n        <source>Avail.</source>\n        <target>空闲</target>\n      </trans-unit>\n      <trans-unit id="a1c9b3d4fa67450fe9afd1d726f8a1bd91d990ea" datatype="html">\n        <source>Clean</source>\n        <target>正常</target>\n      </trans-unit>\n      <trans-unit id="0054f5460090d6dde385e8f099d598df5d28cf54" datatype="html">\n        <source>Working</source>\n        <target>运行中</target>\n      </trans-unit>\n      <trans-unit id="a8059e31694578c1b0344a76a345357dd60e8f01" datatype="html">\n        <source>Warning</source>\n        <target>警报</target>\n      </trans-unit>\n      <trans-unit id="e5d8bb389c702588877f039d72178f219453a72d" datatype="html">\n        <source>Unknown</source>\n        <target>未知</target>\n      </trans-unit>\n      <trans-unit id="88155be1b9b9c6140d6e8f93bac4a775cfdc6671" datatype="html">\n        <source>Healthy</source>\n        <target>Healthy</target>\n      </trans-unit>\n      <trans-unit id="8a3aec4dc1a6e2d4c612ae85e0537acbb20a0f85" datatype="html">\n        <source>Misplaced</source>\n        <target>Misplaced</target>\n      </trans-unit>\n      <trans-unit id="ee81f9bf7ceac69712e0b83e8adc268739f9673e" datatype="html">\n        <source>Degraded</source>\n        <target>Degraded</target>\n      </trans-unit>\n      <trans-unit id="14625bc4025daef1969777a67a3cca27e0cd9167" datatype="html">\n        <source>Unfound</source>\n        <target>Unfound</target>\n      </trans-unit>\n      <trans-unit id="8f23ea509d081c2f747d083d44608dbf125b2ea2" datatype="html">\n        <source>replicas</source>\n        <target>replicas</target>\n      </trans-unit>\n      <trans-unit id="129a2224e1f9d19eb5e11e2a07fe10a785556484" datatype="html">\n        <source>up</source>\n        <target>启用中</target>\n      </trans-unit>\n      <trans-unit id="d5f29cf0af691726483262d647eb6622be002512" datatype="html">\n        <source>no filesystems</source>\n        <target>无文件系统</target>\n      </trans-unit>\n      <trans-unit id="b1c4387ffab06f3fa9fdb4411aea955595538d44" datatype="html">\n        <source>active</source>\n        <target>工作</target>\n      </trans-unit>\n      <trans-unit id="1aaf7054d826f2cb05ec3e88a5a4b8116861e1f5" datatype="html">\n        <source>standby</source>\n        <target>待机</target>\n      </trans-unit>\n      <trans-unit id="c9a1080024dca344a48acdb77fa2d54e059f7254" datatype="html">\n        <source>n/a</source>\n        <target>n/a</target>\n      </trans-unit>\n      <trans-unit id="84a1787b6df375847c70f782861d7e7f8f43bff4" datatype="html">\n        <source>active daemon</source>\n        <target>工作的守护进程</target>\n      </trans-unit>\n      <trans-unit id="24407dc2ebfafaf6b131ee978683b893c3f1d763" datatype="html">\n        <source>quorum</source>\n        <target>quorum</target>\n      </trans-unit>\n      <trans-unit id="2fa50bc07995c6ea660412294298ded39fcb08d9" datatype="html">\n        <source>The NFS Ganesha service is not configured.</source>\n        <target>NFS Ganesha 服务的配置还没有完成。</target>\n      </trans-unit>\n      <trans-unit id="af1396bdc49f45ea6c4a1e414769f5e2a382c834" datatype="html">\n        <source>Transport</source>\n        <target>传输</target>\n      </trans-unit>\n      <trans-unit id="b6a0e176d96c4feed2e975a039c044fcf822e152" datatype="html">\n        <source>CephFS User</source>\n        <target>CephFS 用户</target>\n      </trans-unit>\n      <trans-unit id="44dc610cf201a163e8c38da810acec9596930bb3" datatype="html">\n        <source>CephFS Filesystem</source>\n        <target>CephFS 文件系统</target>\n      </trans-unit>\n      <trans-unit id="db6dc7124be83c7055cb0f2719e31f2f9d46fd3d" datatype="html">\n        <source>(inherited from global config)</source>\n        <target>(继承自全局配置)</target>\n      </trans-unit>\n      <trans-unit id="e1f97bb86f991553ec7b535cb39e7eaa99dfcfe2" datatype="html">\n        <source>inherited from global config</source>\n        <target>继承自全局配置</target>\n      </trans-unit>\n      <trans-unit id="e751800766277e7c2edd652cec7a7a1a68a37852" datatype="html">\n        <source>-- Select what kind of user id squashing is performed --</source>\n        <target>-- 选择执行哪种类型的用户 ID 匿名访问 --</target>\n      </trans-unit>\n      <trans-unit id="4b58387f911e8a7b135a0c4d76c70335c65bbb32" datatype="html">\n        <source>There are no daemons available.</source>\n        <target>没有可用的守护进程。</target>\n      </trans-unit>\n      <trans-unit id="18ae8dc1264f06df7ea251175ada2ac1b8401018" datatype="html">\n        <source>NFS export</source>\n        <target>NFS export</target>\n      </trans-unit>\n      <trans-unit id="c56d51748965db5f3966cd1d06a1c9f4b5244931" datatype="html">\n        <source>Crush Rule</source>\n        <target>Crush Rule</target>\n      </trans-unit>\n      <trans-unit id="ae128527ec18892f812a62a1fd15dc50a38060c0" datatype="html">\n        <source>EC Profile</source>\n        <target>EC Profile</target>\n      </trans-unit>\n      <trans-unit id="60fb10c145f9c7ede2b9ddf9b2b0b0f6191d0ebd" datatype="html">\n        <source>Cache Mode</source>\n        <target>缓存模式</target>\n      </trans-unit>\n      <trans-unit id="fa5bfad31d4139f6871443bb74324ffda5cad3e6" datatype="html">\n        <source>Min Evict Age</source>\n        <target>最少延迟赶出时间</target>\n      </trans-unit>\n      <trans-unit id="fd0eb851666df45c34c76fabcda79b0d77bc910b" datatype="html">\n        <source>Min Flush Age</source>\n        <target>最少延迟刷回时间</target>\n      </trans-unit>\n      <trans-unit id="cb54d2c420a534cee0c308ea5589f8c394ef8d67" datatype="html">\n        <source>Target Max Bytes</source>\n        <target>目标器最大字节数</target>\n      </trans-unit>\n      <trans-unit id="07f4ebe6615dca466818ffdae2a69ee217d265fb" datatype="html">\n        <source>Target Max Objects</source>\n        <target>目标器最大对象数</target>\n      </trans-unit>\n      <trans-unit id="eaa8f4df53cf7fa78d078e20a701d10f3dccd77d" datatype="html">\n        <source>No applications added</source>\n        <target>还没有任何应用标记</target>\n      </trans-unit>\n      <trans-unit id="321c2a7640f11177ea49b0857b94c4b70830c0e6" datatype="html">\n        <source>Applications limit reached</source>\n        <target>应用标记到了上限</target>\n      </trans-unit>\n      <trans-unit id="519d27742b74fadc8336777452f78891e98aa1dc" datatype="html">\n        <source>A pool can only have up to four applications definitions.</source>\n        <target>一个存储池最多能有四个应用标记。</target>\n      </trans-unit>\n      <trans-unit id="b5bec3813f0d45daa7eb9471272969e1bc3e734e" datatype="html">\n        <source>Allowed characters \'_a-zA-Z0-9\'</source>\n        <target>可用的字符为“_a-zA-Z0-9”</target>\n      </trans-unit>\n      <trans-unit id="807472d29602a0085bce62e534bd66208982c2e2" datatype="html">\n        <source>Maximum length is 128 characters</source>\n        <target>长度限制为 128 个字符</target>\n      </trans-unit>\n      <trans-unit id="37785748b9ac9ad1d3e4b111ac502c3284afe84b" datatype="html">\n        <source>Filter or add applications</source>\n        <target>添加应用标记或根据其进行筛选</target>\n      </trans-unit>\n      <trans-unit id="38c7b8610ca87835e13eeee6a09ba1c414cd5cb9" datatype="html">\n        <source>Add application</source>\n        <target>添加应用标记</target>\n      </trans-unit>\n      <trans-unit id="db8c42f077700d8a94619fad9f4c94b7361d5f1d" datatype="html">\n        <source>pool</source>\n        <target>pool</target>\n      </trans-unit>\n      <trans-unit id="65bb2be83261bc4798853bbccdedc110c43feea7" datatype="html">\n        <source>erasure code profile</source>\n        <target>纠删码配置</target>\n      </trans-unit>\n      <trans-unit id="ae48e19a9a2acaca4b5ea594451bc9b0b01ec8d2" datatype="html">\n        <source>crush rule</source>\n        <target>crush rule</target>\n      </trans-unit>\n      <trans-unit id="112d356ad6846959ca4aa5ec9a1f0d9d473b24ec" datatype="html">\n        <source>Replica Size</source>\n        <target>副本个数</target>\n      </trans-unit>\n      <trans-unit id="ec50492db341fa752b023d8c924601286b6c9c0c" datatype="html">\n        <source>Last Change</source>\n        <target>最后修改时间</target>\n      </trans-unit>\n      <trans-unit id="563a8c136a9d423bc7ae1269a404d6da5fd83dad" datatype="html">\n        <source>Erasure Coded Profile</source>\n        <target>纠删码配置</target>\n      </trans-unit>\n      <trans-unit id="0ad7f0662956cff61ac1208f92b1a0305b1b2e58" datatype="html">\n        <source>Crush Ruleset</source>\n        <target>CRUSH 规则集</target>\n      </trans-unit>\n      <trans-unit id="bcc365a084b6145b941b371bd4c2b6c3d2c79234" datatype="html">\n        <source>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</source>\n        <target>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</target>\n      </trans-unit>\n      <trans-unit id="44939fd05cedfd077db886528b755e77d5fa3885" datatype="html">\n        <source>bucket</source>\n        <target>存储桶</target>\n      </trans-unit>\n      <trans-unit id="84fee774286ec4191311f1277075455c3ea5e2e2" datatype="html">\n        <source>Updated Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>".\n        </source>\n        <target>Updated Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="2d7a43674f0bbc131c9e555ec16ac37fa0445d76" datatype="html">\n        <source>Created Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>"\n        </source>\n        <target>Created Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="ec40d74ecfb1d6d60455af6805c9a714a3f5750a" datatype="html">\n        <source>buckets</source>\n        <target>存储桶</target>\n      </trans-unit>\n      <trans-unit id="764585d5595bac113582ee14a6fd07006770ceb1" datatype="html">\n        <source>capability</source>\n        <target>capability</target>\n      </trans-unit>\n      <trans-unit id="0914cbe18bae204217e1851be6d2d24d86e74605" datatype="html">\n        <source>user</source>\n        <target>用户</target>\n      </trans-unit>\n      <trans-unit id="d8c86dc5e48a63590d9c94e19f90b5f8325cbd49" datatype="html">\n        <source>subuser</source>\n        <target>subuser</target>\n      </trans-unit>\n      <trans-unit id="f45a3de8a8b40d161cc36a55d77548a27107ca04" datatype="html">\n        <source>S3 Key</source>\n        <target>S3 Key</target>\n      </trans-unit>\n      <trans-unit id="854a763265e92f91ba3ccee1a0e8d823be584f7c" datatype="html">\n        <source>Updated Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </source>\n        <target>Updated Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="84ab3fd641e65e39cffee0ec722a059ed284229e" datatype="html">\n        <source>Created Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </source>\n        <target>Created Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="7c7f4be7b726e61c577e63842a58d9e435f7c597" datatype="html">\n        <source>users</source>\n        <target>用户</target>\n      </trans-unit>\n      <trans-unit id="9f7760223efd77806f1bbaf963e6993bb4bc6a0a" datatype="html">\n        <source>Swift Key</source>\n        <target>Swift Key</target>\n      </trans-unit>\n      <trans-unit id="6462d8f12b427c29363f00b12f20f566be24937c" datatype="html">\n        <source>Device ID</source>\n        <target>Device ID</target>\n      </trans-unit>\n      <trans-unit id="82f12bf23db4bb82db89877bebe93954bc1c8fb0" datatype="html">\n        <source>State of Health</source>\n        <target>State of Health</target>\n      </trans-unit>\n      <trans-unit id="7bd34bd120146afef0e0d8fa168d9bdabd594b6a" datatype="html">\n        <source>Good</source>\n        <target>Good</target>\n      </trans-unit>\n      <trans-unit id="31c59dce114ec0a9d02552ef7b81920b3de36793" datatype="html">\n        <source>Bad</source>\n        <target>Bad</target>\n      </trans-unit>\n      <trans-unit id="2862af5284f66d4b06bdcf77a5519141723b6989" datatype="html">\n        <source>Stale</source>\n        <target>Stale</target>\n      </trans-unit>\n      <trans-unit id="8d8e819b52984a4fbdec75a99eb28d1ae4323bbc" datatype="html">\n        <source>Life Expectancy</source>\n        <target>Life Expectancy</target>\n      </trans-unit>\n      <trans-unit id="72d9b15be18ea063e78c4e855b9e8c0af95593ef" datatype="html">\n        <source>Prediction Creation Date</source>\n        <target>Prediction Creation Date</target>\n      </trans-unit>\n      <trans-unit id="a6b4ef85e5ff8bd192751c7bbebc54c46118d6d4" datatype="html">\n        <source>Device Name</source>\n        <target>Device Name</target>\n      </trans-unit>\n      <trans-unit id="d5fd840374ca1a6f394bcd81f390a6dca27f8224" datatype="html">\n        <source>An error with error code \n          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.\n        </source>\n        <target>An error with error code \n          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.\n        </target>\n      </trans-unit>\n      <trans-unit id="a0b59d7139692bb8d8ed786b6eb6e9e70ce743f3" datatype="html">\n        <source>Raw</source>\n        <target>Raw</target>\n      </trans-unit>\n      <trans-unit id="2f3beddc8234b30fb26a7f63ba2f1ea74f2ed6f7" datatype="html">\n        <source>Threshold</source>\n        <target>Threshold</target>\n      </trans-unit>\n      <trans-unit id="4654b5a68af3c8bad29aa14ca85ccea1f3143c6b" datatype="html">\n        <source>When Failed</source>\n        <target>When Failed</target>\n      </trans-unit>\n      <trans-unit id="5b7f56d5be49fb8e8d8f40209d6746f8f72e9177" datatype="html">\n        <source>Worst</source>\n        <target>Worst</target>\n      </trans-unit>\n      <trans-unit id="1481b8488e10dbc437accce89d2ae35a0106e8ba" datatype="html">\n        <source>Scope</source>\n        <target>作用范围</target>\n      </trans-unit>\n      <trans-unit id="9b1d5e95f6bdcfb4b737413f5fa157e0dcb103d5" datatype="html">\n        <source>Read</source>\n        <target>读权限</target>\n      </trans-unit>\n      <trans-unit id="70a67e04629f6d412db0a12d51820b480788d795" datatype="html">\n        <source>Create</source>\n        <target>新建</target>\n      </trans-unit>\n      <trans-unit id="dc4fba275819619ee78e8eae14d357ea69ba7477" datatype="html">\n        <source>role</source>\n        <target>role</target>\n      </trans-unit>\n      <trans-unit id="fe6ee93173884201ec62d62ba173c3de85ae177e" datatype="html">\n        <source>Created role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Created role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="41c032df0732f4318f8213fabd0719ac347d4b6c" datatype="html">\n        <source>Updated role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Updated role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="50e22b5289f79f1417369403345c9fa9911a4557" datatype="html">\n        <source>System Role</source>\n        <target>系统角色</target>\n      </trans-unit>\n      <trans-unit id="7f132668e2dbfcf616381d2daf59d1a6f2698102" datatype="html">\n        <source>Deleted role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Deleted role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="bd15b8d5c0fa160161728eefbbb585710414d471" datatype="html">\n        <source>New name</source>\n        <target>New name</target>\n      </trans-unit>\n      <trans-unit id="6f126277f3dc22a3ab3609c4c198386c8744e11a" datatype="html">\n        <source>Clone Role</source>\n        <target>Clone Role</target>\n      </trans-unit>\n      <trans-unit id="d19d8320479854bc52877cdf0dc5ecfe34a36ec7" datatype="html">\n        <source>Cloned role \'\n          <x id="INTERPOLATION" equiv-text="{{dst_name}}"/>\' from \'\n          <x id="INTERPOLATION_1" equiv-text="{{src_name}}"/>\'\n        </source>\n        <target>Cloned role \'\n          <x id="INTERPOLATION" equiv-text="{{dst_name}}"/>\' from \'\n          <x id="INTERPOLATION_1" equiv-text="{{src_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="2e35d60a14ce0b470e8b54602864a867f7fcef40" datatype="html">\n        <source>There are no roles.</source>\n        <target>There are no roles.</target>\n      </trans-unit>\n      <trans-unit id="d2362a49d2434ce137bf19dab004251b7fd9c7b3" datatype="html">\n        <source>Created user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Created user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="9910122dfedd2eaa544a990f1430e5b82a76d99f" datatype="html">\n        <source>Update user</source>\n        <target>更新用户</target>\n      </trans-unit>\n      <trans-unit id="ac10a3d9b59575640797c1a8e6aea642cf5d5e77" datatype="html">\n        <source>Continue</source>\n        <target>继续</target>\n      </trans-unit>\n      <trans-unit id="cf4bcf4ce3d551e6099ccdc3546ae418fe5f8038" datatype="html">\n        <source>You were automatically logged out because your roles have been changed.</source>\n        <target>您被自动登出,因为您的角色有了变动。</target>\n      </trans-unit>\n      <trans-unit id="0f6003fb0c1cc73b89d225801cc1b870945cd259" datatype="html">\n        <source>Updated user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Updated user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="fe516c6d820018fdc971113935e22ec1e852965f" datatype="html">\n        <source>Deleted user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Deleted user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="01a7e11502ff80421ef3615e533ea14ef57e1d5c" datatype="html">\n        <source>Failed to delete user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Failed to delete user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="63316a3861dbcb035147efc1b9fb6bc708242e94" datatype="html">\n        <source>You are currently logged in as "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>".\n        </source>\n        <target>You are currently logged in as "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="d8b81951d25439864e92f750f7c99d7426d6517c" datatype="html">\n        <source>password</source>\n        <target>password</target>\n      </trans-unit>\n      <trans-unit id="d361a9b5e1f7985a12c0433388f31626525a02b8" datatype="html">\n        <source>Updated user password"</source>\n        <target>Updated user password"</target>\n      </trans-unit>\n      <trans-unit id="c4e596a44ffc4718c1602600d6e4f029190eb031" datatype="html">\n        <source>The name of the node under which data should be placed.</source>\n        <target>The name of the node under which data should be placed.</target>\n      </trans-unit>\n      <trans-unit id="f24772ba1091155f8d7025332ca8456a204d1e28" datatype="html">\n        <source>The type of CRUSH nodes across which we should separate replicas.</source>\n        <target>The type of CRUSH nodes across which we should separate replicas.</target>\n      </trans-unit>\n      <trans-unit id="a3896042af461a80091c3f7a5fe3fff5ac40a3a0" datatype="html">\n        <source>The device class data should be placed on.</source>\n        <target>The device class data should be placed on.</target>\n      </trans-unit>\n      <trans-unit id="1d7fbcc3d5efc946ffbcf86fed04c4e20dda20fb" datatype="html">\n        <source>Each object is split in data-chunks parts, each stored on a different OSD.</source>\n        <target> 各对象都被分割为数据块,分别存储于不同 OSD 。</target>\n      </trans-unit>\n      <trans-unit id="b1f8ed4e216585f1f9134740002ef3c8501debd8" datatype="html">\n        <source>Compute coding chunks for each object and store them on different OSDs.\n      The number of coding chunks is also the number of OSDs that can be down without losing data.</source>\n        <target>计算各对象的编码块、并存储于不同 OSD 。\n编码块的数量等同于在不丢数据的前提下允许同时失效的 OSD 数量。</target>\n      </trans-unit>\n      <trans-unit id="c437ee74a9a8e781e1380153f742a685e3b8cc5e" datatype="html">\n        <source>The jerasure plugin is the most generic and flexible plugin,\n          it is also the default for Ceph erasure coded pools.</source>\n        <target>jerasure 插件是最通用、最灵活的插件,\n也是 Ceph 纠删码存储池的默认插件。</target>\n      </trans-unit>\n      <trans-unit id="8c7e19322851402afa67e41f4f1d4e531caf1bf5" datatype="html">\n        <source>The more flexible technique is reed_sol_van : it is enough to set k\n          and m. The cauchy_good technique can be faster but you need to chose the packetsize\n          carefully. All of reed_sol_r6_op, liberation, blaum_roth, liber8tion are RAID6 equivalents\n          in the sense that they can only be configured with m=2.</source>\n        <target>reed_sol_van 技术更灵活:它足以设置 k 和 m 值。 \ncauchy_good 技术更快,但你得谨慎地选择 packetsize 值。\nreed_sol_r6_op 、 liberation 、 blaum_roth 、 liber8tion 都是与 RAID6 等价的技术,\n它们只能配置为 m=2 。</target>\n      </trans-unit>\n      <trans-unit id="b1b11f49281b4e79219b4eecfbcb033cb15bd880" datatype="html">\n        <source>The encoding will be done on packets of bytes size at a time.\n          Chosing the right packet size is difficult.\n          The jerasure documentation contains extensive information on this topic.</source>\n        <target> 以 bytes 大小的包为单位进行编码。\n确定合适的包尺寸很难, \njerasure 文档对此有很详细的描述。</target>\n      </trans-unit>\n      <trans-unit id="d9cb3bc07a25b26fbea457e0a7b543340bc13c49" datatype="html">\n        <source>With the jerasure plugin, when an erasure coded object is stored on\n          multiple OSDs, recovering from the loss of one OSD requires reading from all the others.\n          For instance if jerasure is configured with k=8 and m=4, losing one OSD requires reading\n          from the eleven others to repair.\n\n          The lrc erasure code plugin creates local parity chunks to be able to recover using\n          less OSDs. For instance if lrc is configured with k=8, m=4 and l=4, it will create\n          an additional parity chunk for every four OSDs. When a single OSD is lost, it can be\n          recovered with only four OSDs instead of eleven.</source>\n        <target>用 jerasure 插件时,纠删码编码的对象存储在多个 OSD 上,\n丢失一个 OSD 的恢复过程需读取所有其他的 OSD 。\n比如 jerasure 的配置为 k=8 且 m=4 ,丢失一个 OSD 后需读取其他 11 个 OSD 才能恢复。\n\nlrc 纠删码插件创建的是局部校验块,这样只需较少的 OSD 即可恢复。\n比如 lrc 的配置为 k=8 、 m=4 且 l=4 ,它将为每四个 OSD 创建额外的校验块,\n当一个 OSD 丢失时,它只需四个 OSD 即可恢复,而不需要十一个。</target>\n      </trans-unit>\n      <trans-unit id="813959d46e63a29bbd266b3af2ff9414c2ef553c" datatype="html">\n        <source>Group the coding and data chunks into sets of size locality. For instance,\n          for k=4 and m=2, when locality=3 two groups of three are created. Each set can\n          be recovered without reading chunks from another set.</source>\n        <target>把编码块和数据块分组为大小为 locality 的集合。\n比如, k=4 且 m=2 时,若设置 locality=3 ,将会分组为大小为三的两组,\n这样各组都能自行恢复,无需从另一组读数据块。</target>\n      </trans-unit>\n      <trans-unit id="f0ff63d92e0a1b4d4b51e31b9133802d160a5f4c" datatype="html">\n        <source>The type of the crush bucket in which each set of chunks defined\n          by l will be stored. For instance, if it is set to rack, each group of l chunks will be\n          placed in a different rack. It is used to create a CRUSH rule step such as step choose\n          rack. If it is not set, no such grouping is done.</source>\n        <target>由 l 定义的块集合将按哪种 crush 桶类型存储。\n比如,若设置为 rack ,大小为 l 块的各组将被存入不同的机架,\n此值会被用于创建类似 step choose rack 的规则集。\n如果没设置,就不会这样分组。</target>\n      </trans-unit>\n      <trans-unit id="3ece48df9d1e9a98f98bf3c5cc66e8b637020a4d" datatype="html">\n        <source>The isa plugin encapsulates the ISA library. It only runs on Intel processors.</source>\n        <target>isa 插件封装了 ISA 库。它只能运行在 Intel 处理器上。</target>\n      </trans-unit>\n      <trans-unit id="4472c9e31bfc7d96a83dc4afce0a6e885c99e839" datatype="html">\n        <source>The ISA plugin comes in two Reed Solomon forms.\n          If reed_sol_van is set, it is Vandermonde, if cauchy is set, it is Cauchy.</source>\n        <target>ISA 插件包含两种 Reed Solomon 编码形式。\n设置为 reed_sol_van 表示用 Vandermonde 算法,设置为 cauchy 表示用 Cauchy 算法。</target>\n      </trans-unit>\n      <trans-unit id="fa385f5ecf63083ec848dca8dc5e52bdc72ac6f6" datatype="html">\n        <source>The shec plugin encapsulates the multiple SHEC library.\n          It allows ceph to recover data more efficiently than Reed Solomon codes.</source>\n        <target>shec 插件封装了 multiple SHEC 库。\n与 Reed Solomon 编码相比,它能使 Ceph 更高效地恢复数据。</target>\n      </trans-unit>\n      <trans-unit id="687b3cd94b3475c24ff4481d64d4739f902a377c" datatype="html">\n        <source>The number of parity chunks each of which includes each data chunk in its\n          calculation range. The number is used as a durability estimator. For instance, if c=2,\n          2 OSDs can be down without losing data.</source>\n        <target> 奇偶校验块数量,它们在各自的计算范围内包含了各数据块。\n此数值被用作持久性估值。\n例如,假设 c=2 ,就是说不丟数据的情况下可损失 2 个 OSD 。</target>\n      </trans-unit>\n      <trans-unit id="f3c4af6df91bdaabdb715f8f0b61a24faf73a3bc" datatype="html">\n        <source>The name of the crush bucket used for the first step of the CRUSH rule.\n      For instance step take default.</source>\n        <target>规则集第一步所指向的 CRUSH 桶之名,\n如 step take default 。</target>\n      </trans-unit>\n      <trans-unit id="e1059955a5ce65cdabf0c0a8207377e1f9bae57e" datatype="html">\n        <source>Ensure that no two chunks are in a bucket with the same failure\n      domain. For instance, if the failure domain is host no two chunks will be stored on the same\n      host. It is used to create a CRUSH rule step such as step chooseleaf host.</source>\n        <target>确保两个编码块不会存在于同一故障域的桶里面。\n比如,假设故障域是 host ,就不会有两个编码块存储到同一主机;\n此值用于在规则集中创建类似 step chooseleaf host 的步骤。</target>\n      </trans-unit>\n      <trans-unit id="ac392ac9c6da5fde6da80fc57b9c09402fb6e73d" datatype="html">\n        <source>Restrict placement to devices of a specific class\n      (e.g., ssd or hdd), using the crush device class names in the CRUSH map.</source>\n        <target>使用 CRUSH 索引中的 crush 设备类名,\n将归置限制于特定类的设备(例如,ssd 或 hdd)。</target>\n      </trans-unit>\n      <trans-unit id="62bcb9ae5583a088649b1adf5787a86ca3334f89" datatype="html">\n        <source>Set the directory name from which the erasure code plugin is loaded.</source>\n        <target>设置纠删码插件所在目录。</target>\n      </trans-unit>\n      <trans-unit id="c8f10184a8433d132ede0a2c0c1aa96f291cacfa" datatype="html">\n        <source>Allows all operations</source>\n        <target>允许所有操作</target>\n      </trans-unit>\n      <trans-unit id="82077ee97c11ee76efc3adf253b7b26654544317" datatype="html">\n        <source>Allows only operations that do not modify the server</source>\n        <target>只允许不修改服务器端数据的操作</target>\n      </trans-unit>\n      <trans-unit id="22b5212ec10449dbf0a0af0ad34122eac51b5f2a" datatype="html">\n        <source>Does not allow read or write operations, but allows any other operation</source>\n        <target>禁止读写,但是允许其他的操作</target>\n      </trans-unit>\n      <trans-unit id="9799d0f8c4b7727ae239fedfe3c0ce127feb7a50" datatype="html">\n        <source>Does not allow read, write, or any operation that modifies file        attributes or directory content</source>\n        <target>禁止读、写以及任何可能修改文件内容的操作</target>\n      </trans-unit>\n      <trans-unit id="aeddefe0af87025d8f00699aa94bed8216a99a58" datatype="html">\n        <source>Allows no access at all</source>\n        <target>完全禁止访问</target>\n      </trans-unit>\n      <trans-unit id="a436c6a4025a749198e93cac239de8deede72211" datatype="html">\n        <source>-- Select the priority --</source>\n        <target>-- 选择优先级 --</target>\n      </trans-unit>\n      <trans-unit id="9556266f0a2b1762a44b686f2bb21dbfefb01c12" datatype="html">\n        <source>Low</source>\n        <target>低</target>\n      </trans-unit>\n      <trans-unit id="72279141a67cc042d9864102b703216cc8a428a3" datatype="html">\n        <source>High</source>\n        <target>高</target>\n      </trans-unit>\n      <trans-unit id="6080b77234e92ad41bb52653b239c4c4f851317d" datatype="html">\n        <source>Error</source>\n        <target>Error</target>\n      </trans-unit>\n      <trans-unit id="c43dc1967a603fefb886149ac35863a06d5b4ce5" datatype="html">\n        <source>Information</source>\n        <target>信息</target>\n      </trans-unit>\n      <trans-unit id="1e035e6ccfab771cad4226b2ad230cb0d4a88cba" datatype="html">\n        <source>Success</source>\n        <target>Success</target>\n      </trans-unit>\n      <trans-unit id="61fd1cffcb763cbfd5829071723cf9b647174bd9" datatype="html">\n        <source>An error occurred.</source>\n        <target>An error occurred.</target>\n      </trans-unit>\n      <trans-unit id="e6ca3c0efaf51e6d45a7f92f58bac37140c3fda4" datatype="html">\n        <source>Last 5 minutes</source>\n        <target>过去 5 分钟</target>\n      </trans-unit>\n      <trans-unit id="b0ecb2bbc548cc9bd95050fd8f0c84586d083fe2" datatype="html">\n        <source>Last 15 minutes</source>\n        <target>过去 15 分钟</target>\n      </trans-unit>\n      <trans-unit id="857ae67deb51353120b203b0f2a06b0c48ef49fa" datatype="html">\n        <source>Last 30 minutes</source>\n        <target>过去 30 分钟</target>\n      </trans-unit>\n      <trans-unit id="7b1738fad314e936dc14b94db8f43da736942308" datatype="html">\n        <source>Last 1 hour (Default)</source>\n        <target>过去 1 小时(默认)</target>\n      </trans-unit>\n      <trans-unit id="a428288224389726cef9d9bd8d1d7808cccd7ffd" datatype="html">\n        <source>Last 3 hours</source>\n        <target>过去 3 小时</target>\n      </trans-unit>\n      <trans-unit id="7cbabecc8d80cf183ac199cfaeb7619d56e5d43f" datatype="html">\n        <source>Last 6 hours</source>\n        <target>过去 6 小时</target>\n      </trans-unit>\n      <trans-unit id="1a389cdf64187d34cf99eec30a290e3fa7d4744f" datatype="html">\n        <source>Last 12 hours</source>\n        <target>过去 12 小时</target>\n      </trans-unit>\n      <trans-unit id="9e0ba5f591380a94d594a76288f0c41aa97eb9c2" datatype="html">\n        <source>Last 24 hours</source>\n        <target>过去 24 小时</target>\n      </trans-unit>\n      <trans-unit id="e430eda9c785cd43465b7cbb400ee914f1057247" datatype="html">\n        <source>Yesterday</source>\n        <target>昨天</target>\n      </trans-unit>\n      <trans-unit id="7fb1099e29660162f9154d5b2feee7743a423df6" datatype="html">\n        <source>Today</source>\n        <target>今天</target>\n      </trans-unit>\n      <trans-unit id="33904058a97a64bd189bed84038b1ffe719769c7" datatype="html">\n        <source>Today so far</source>\n        <target>今天到现在为止</target>\n      </trans-unit>\n      <trans-unit id="3b0b849be007510021d3d383df75bec95ef9c97b" datatype="html">\n        <source>Day before yesterday</source>\n        <target>前天</target>\n      </trans-unit>\n      <trans-unit id="6b430c2c394c4d32ebd7d46c8c46ab60e1b29ccb" datatype="html">\n        <source>Last 2 days</source>\n        <target>过去 2 天</target>\n      </trans-unit>\n      <trans-unit id="d5e812a87a5d57a94200a2013027cab76a7c4863" datatype="html">\n        <source>This day last week</source>\n        <target>上周的今天</target>\n      </trans-unit>\n      <trans-unit id="d00edc936eeab6b5577401f115ca86ca2c87dc9a" datatype="html">\n        <source>Previous week</source>\n        <target>上个星期</target>\n      </trans-unit>\n      <trans-unit id="b036e40577baa6b918b2267d319d4b3aeaa88a5a" datatype="html">\n        <source>This week</source>\n        <target>本周</target>\n      </trans-unit>\n      <trans-unit id="99ad5a6096b3fcb3f021f3779bae710cdfeb8934" datatype="html">\n        <source>This week so far</source>\n        <target>本周以来</target>\n      </trans-unit>\n      <trans-unit id="02e0243b60007368f87dc01e083f232dd025096d" datatype="html">\n        <source>Last 7 days</source>\n        <target>过去 7 天</target>\n      </trans-unit>\n      <trans-unit id="c3b08b07b5ab98e7cdcf18df39355690ab7d3884" datatype="html">\n        <source>Previous month</source>\n        <target>上个月</target>\n      </trans-unit>\n      <trans-unit id="1b2562c6d5aa90644e7dc91feee82e2005fceb33" datatype="html">\n        <source>This month</source>\n        <target>当月</target>\n      </trans-unit>\n      <trans-unit id="26b4b18c5917934abb169ba9aa490e57f7bf10b8" datatype="html">\n        <source>This month so far</source>\n        <target>本月以来</target>\n      </trans-unit>\n      <trans-unit id="7668986b9f753fcd72ad4a00b1a0c4861d1f7fb8" datatype="html">\n        <source>Last 30 days</source>\n        <target>过去 30 天</target>\n      </trans-unit>\n      <trans-unit id="ba1e822408d90c6fbd2989100fa648bfd5e8ee84" datatype="html">\n        <source>Last 90 days</source>\n        <target>过去 90 天</target>\n      </trans-unit>\n      <trans-unit id="c3df03f899a914c4181adcdc8a3f077424f7b6e8" datatype="html">\n        <source>Last 6 months</source>\n        <target>过去 6 个月</target>\n      </trans-unit>\n      <trans-unit id="7f9a92757580c9f31c309c0a3812ea429274eadf" datatype="html">\n        <source>Last 1 year</source>\n        <target>过去 1 年</target>\n      </trans-unit>\n      <trans-unit id="5a9fede30ff65cb4b4426f6b1ed31afb67ecd7b0" datatype="html">\n        <source>Previous year</source>\n        <target>去年</target>\n      </trans-unit>\n      <trans-unit id="65cefcc53d1f6445df7568e8a40c49165f1090ee" datatype="html">\n        <source>This year</source>\n        <target>今年</target>\n      </trans-unit>\n      <trans-unit id="1f68b766944dc3865bddab765fe952b0c1c43f92" datatype="html">\n        <source>This year so far</source>\n        <target>今年以来</target>\n      </trans-unit>\n      <trans-unit id="4d4b77e614f8043fdadef5d6d235655bb48eb311" datatype="html">\n        <source>Last 2 years</source>\n        <target>过去 2 年</target>\n      </trans-unit>\n      <trans-unit id="138afa339ea6e75d25a474affe1edbcb90e00ec0" datatype="html">\n        <source>Last 5 years</source>\n        <target>过去 5 年</target>\n      </trans-unit>\n      <trans-unit id="37391297bb077a6f84484930261b01a3ce38327b" datatype="html">\n        <source>No items selected.</source>\n        <target>无选中项目。</target>\n      </trans-unit>\n      <trans-unit id="2c1e52ee832661b4a0f570877d24661736b16af1" datatype="html">\n        <source>Deselect item to select again</source>\n        <target>取消选择</target>\n      </trans-unit>\n      <trans-unit id="c8c9c6e5918659336824bbdda3501c66eaa79a4c" datatype="html">\n        <source>Selection limit reached</source>\n        <target>达到选择项数上限。</target>\n      </trans-unit>\n      <trans-unit id="02d184c288f567825a1fcbf83bcd3099a10853d5" datatype="html">\n        <source>Filter tags</source>\n        <target>过滤标签</target>\n      </trans-unit>\n      <trans-unit id="aa00748e49c269956837d6f3acdd8d218796a8d8" datatype="html">\n        <source>Add badge</source>\n        <target>添加 badge</target>\n      </trans-unit>\n      <trans-unit id="4078a92d8121abdce7d8f346a88914923ec835fc" datatype="html">\n        <source>There are no items available.</source>\n        <target>无可选项目。</target>\n      </trans-unit>\n      <trans-unit id="55dd9f44e64851bca3b7bfc9283a5ff36f030228" datatype="html">\n        <source>Set</source>\n        <target>Set</target>\n      </trans-unit>\n      <trans-unit id="019d4bd6a5690f0cfa0ecf346a4e6bf7f0d8debb" datatype="html">\n        <source>Remove</source>\n        <target>Remove</target>\n      </trans-unit>\n      <trans-unit id="e168fe6c468b3ad632731395ef89860274242844" datatype="html">\n        <source>Unset</source>\n        <target>Unset</target>\n      </trans-unit>\n      <trans-unit id="54a4a3132b693575728a45a5f3154ad4c9af404b" datatype="html">\n        <source>Clone</source>\n        <target>克隆</target>\n      </trans-unit>\n      <trans-unit id="1979da7460819153e11d2078244645d94291b69c" datatype="html">\n        <source>Copy</source>\n        <target>复制</target>\n      </trans-unit>\n      <trans-unit id="2e5e77dbaadd6588d8bbf737139fd9806294ae28" datatype="html">\n        <source>Deep Scrub</source>\n        <target>深层洗刷</target>\n      </trans-unit>\n      <trans-unit id="bf463b189696c19769ea263227e6c22aefafb918" datatype="html">\n        <source>Destroy</source>\n        <target>销毁</target>\n      </trans-unit>\n      <trans-unit id="b4e94d529ff10db4d86f3f48900fa67ede3411fd" datatype="html">\n        <source>Evict</source>\n        <target>Evict</target>\n      </trans-unit>\n      <trans-unit id="3747fff7faf52b436ecff5fb8555091736d92c70" datatype="html">\n        <source>Flatten</source>\n        <target>展开</target>\n      </trans-unit>\n      <trans-unit id="66fdbf32e5449cc54a3d1e19c7b8f4ea238facfb" datatype="html">\n        <source>Mark Down</source>\n        <target>标记为停用</target>\n      </trans-unit>\n      <trans-unit id="0cda3e824fb2f9c731e5a60b859dedc1fe03127e" datatype="html">\n        <source>Mark In</source>\n        <target>标记为加入</target>\n      </trans-unit>\n      <trans-unit id="f833354f43cb38c5716faa8759a9bbdd1ab8f199" datatype="html">\n        <source>Mark Lost</source>\n        <target>标记为丢失</target>\n      </trans-unit>\n      <trans-unit id="75fb9f970ba365398c45e57bbb1019c009f6b832" datatype="html">\n        <source>Mark Out</source>\n        <target>标记为已除名</target>\n      </trans-unit>\n      <trans-unit id="45480c03b0a3a37ff8f6a5600a6a034b40fbaea4" datatype="html">\n        <source>Protect</source>\n        <target>保护</target>\n      </trans-unit>\n      <trans-unit id="e26f9cf3666aace4e524b1505c9795d76d87738d" datatype="html">\n        <source>Rename</source>\n        <target>重命名</target>\n      </trans-unit>\n      <trans-unit id="d5cec7468241d72cafd86ad1af6d55b09a6e3ae5" datatype="html">\n        <source>Restore</source>\n        <target>恢复</target>\n      </trans-unit>\n      <trans-unit id="ba073985cfd2528c77a746ed596b2f2052b973c5" datatype="html">\n        <source>Move to Trash</source>\n        <target>移至回收站</target>\n      </trans-unit>\n      <trans-unit id="3ea9b96a21a499d296a7f25407da0f3df6c2d5ed" datatype="html">\n        <source>Unprotect</source>\n        <target>解除保护</target>\n      </trans-unit>\n      <trans-unit id="024cdb2814b0cb3f4ced148f1a0b9854447cb214" datatype="html">\n        <source>Change</source>\n        <target>Change</target>\n      </trans-unit>\n      <trans-unit id="011f3e2bfc1fd8407eb5f599352665bfeb145664" datatype="html">\n        <source>Recreate</source>\n        <target>Recreate</target>\n      </trans-unit>\n      <trans-unit id="6df2dfa48bef5510c82fb43f4e71a7f9557f3d71" datatype="html">\n        <source>Expire</source>\n        <target>Expire</target>\n      </trans-unit>\n      <trans-unit id="28df1b02fd88d2deb0212bc5d7ff34cf9492fa54" datatype="html">\n        <source>Deleted</source>\n        <target>删除完成</target>\n      </trans-unit>\n      <trans-unit id="80e3b490720757978c99a7b5af3885faf202b955" datatype="html">\n        <source>Added</source>\n        <target>Added</target>\n      </trans-unit>\n      <trans-unit id="1aa4883bc4f1352f7a0bdd94810a9bf6dc22bd02" datatype="html">\n        <source>Removed</source>\n        <target>Removed</target>\n      </trans-unit>\n      <trans-unit id="402f3ee47f98fbbc68530239b1ddcbb9e96a460c" datatype="html">\n        <source>Edited</source>\n        <target>Edited</target>\n      </trans-unit>\n      <trans-unit id="96d56ec71c6e78cb4d6204c4a9359a3d38fcdb59" datatype="html">\n        <source>Canceled</source>\n        <target>Canceled</target>\n      </trans-unit>\n      <trans-unit id="a3318a2ee2bd0064b6b9ff72a4018b679ec63125" datatype="html">\n        <source>Cloned</source>\n        <target>克隆完成</target>\n      </trans-unit>\n      <trans-unit id="ef90545bc832876c0d7f9a10363c75137472bbb5" datatype="html">\n        <source>Copied</source>\n        <target>复制完成</target>\n      </trans-unit>\n      <trans-unit id="5a13d3834133e09544ec93885662f181372dcf46" datatype="html">\n        <source>Deep Scrubbed</source>\n        <target>Deep Scrubbed</target>\n      </trans-unit>\n      <trans-unit id="7c9efb91434a5c15e9579c0b31c8e184b8c8240d" datatype="html">\n        <source>Destroyed</source>\n        <target>Destroyed</target>\n      </trans-unit>\n      <trans-unit id="647059bf3ea098fffedf92ddfad792bb3daa3c95" datatype="html">\n        <source>Flattened</source>\n        <target>展开完成</target>\n      </trans-unit>\n      <trans-unit id="8df71e952319eafa71c8e6ef6144b780af8813ff" datatype="html">\n        <source>Marked Down</source>\n        <target>Marked Down</target>\n      </trans-unit>\n      <trans-unit id="25658f5a080a1cab3b91e17b756b1d1dc46bb9b3" datatype="html">\n        <source>Marked In</source>\n        <target>Marked In</target>\n      </trans-unit>\n      <trans-unit id="ebcf306036a6c5579df9448f77eca98d491db245" datatype="html">\n        <source>Marked Lost</source>\n        <target>Marked Lost</target>\n      </trans-unit>\n      <trans-unit id="3a8803369ac18be3ad762384b9fda095fe2a6dcc" datatype="html">\n        <source>Marked Out</source>\n        <target>Marked Out</target>\n      </trans-unit>\n      <trans-unit id="0fe2a62ea7c609fa8326ee6d38060bc5ba8bf34f" datatype="html">\n        <source>Protected</source>\n        <target>Protected</target>\n      </trans-unit>\n      <trans-unit id="69b0446c6c2411c4fe01e411b8ceec72d4044fb4" datatype="html">\n        <source>Purged</source>\n        <target>已清除</target>\n      </trans-unit>\n      <trans-unit id="d53de1a61bd51c815dc374c7f97e4ee69230e412" datatype="html">\n        <source>Renamed</source>\n        <target>Renamed</target>\n      </trans-unit>\n      <trans-unit id="86fc6cae82c095f14105eb8a61d7b3fa948304b7" datatype="html">\n        <source>Restored</source>\n        <target>已经把</target>\n      </trans-unit>\n      <trans-unit id="e87dd0fd35460cb743046db918dfce2137b5977a" datatype="html">\n        <source>Reweighted</source>\n        <target>Reweighted</target>\n      </trans-unit>\n      <trans-unit id="dc21fd6547f2325c67f6deff925f29eb07a2db3e" datatype="html">\n        <source>Rolled back</source>\n        <target>回滚完成</target>\n      </trans-unit>\n      <trans-unit id="15dec4c2d73a516c10aef90aeeea3364fa794615" datatype="html">\n        <source>Scrubbed</source>\n        <target>Scrubbed</target>\n      </trans-unit>\n      <trans-unit id="8dc560ded67482f109a98e0638851ad1d37188b3" datatype="html">\n        <source>Showed</source>\n        <target>Showed</target>\n      </trans-unit>\n      <trans-unit id="197259b7ea76f15c6d0a64b075a673fd4112ada7" datatype="html">\n        <source>Moved to Trash</source>\n        <target>Moved to Trash</target>\n      </trans-unit>\n      <trans-unit id="8fb15cb102cd75b562680290b7e04c44d80018f2" datatype="html">\n        <source>Unprotected</source>\n        <target>Unprotected</target>\n      </trans-unit>\n      <trans-unit id="8588eafa498262a1cbb5043ad68cf0ff669c4f10" datatype="html">\n        <source>Recreated</source>\n        <target>Recreated</target>\n      </trans-unit>\n      <trans-unit id="ffde7468d7b5cad6990095ed68ddee3d67cd02f8" datatype="html">\n        <source>Expired</source>\n        <target>Expired</target>\n      </trans-unit>\n      <trans-unit id="4f20f2d5a6882190892e58b85f6ccbedfa737952" datatype="html">\n        <source>Yes</source>\n        <target>是</target>\n      </trans-unit>\n      <trans-unit id="3d3ae7deebc5949b0c1c78b9847886a94321d9fd" datatype="html">\n        <source>No</source>\n        <target>否</target>\n      </trans-unit>\n      <trans-unit id="baf918eed9d4050cdad2acebc0f27b6eaf8e3fcd" datatype="html">\n        <source>Required rules for passwords:</source>\n        <target>Required rules for passwords:</target>\n      </trans-unit>\n      <trans-unit id="40f61909e1f017c4652e64b055089beef19cf871" datatype="html">\n        <source>Must contain at least \n          <x id="INTERPOLATION" equiv-text="{{length}}"/> characters\n        </source>\n        <target>Must contain at least \n          <x id="INTERPOLATION" equiv-text="{{length}}"/> characters\n        </target>\n      </trans-unit>\n      <trans-unit id="f4f5dbb3a05b5f38dab47ef38dad88a4574a765a" datatype="html">\n        <source>Must not be the same as the previous one</source>\n        <target>Must not be the same as the previous one</target>\n      </trans-unit>\n      <trans-unit id="607370e07b50087c196a5fcea9184e3d693226b2" datatype="html">\n        <source>Cannot contain the username</source>\n        <target>Cannot contain the username</target>\n      </trans-unit>\n      <trans-unit id="e6e355eab2596251aaa42623b41e6026d5c03e3b" datatype="html">\n        <source>Cannot contain any configured keyword</source>\n        <target>Cannot contain any configured keyword</target>\n      </trans-unit>\n      <trans-unit id="394bcd6d5e4da75b720c4d28f94f2aef7bb38355" datatype="html">\n        <source>Cannot contain any repetitive characters e.g. "aaa"</source>\n        <target>Cannot contain any repetitive characters e.g. "aaa"</target>\n      </trans-unit>\n      <trans-unit id="030e61e0bcf2536fb047645db6182d43e9fca9e9" datatype="html">\n        <source>Cannot contain any sequential characters e.g. "abc"</source>\n        <target>Cannot contain any sequential characters e.g. "abc"</target>\n      </trans-unit>\n      <trans-unit id="99fa0b67376d40142bd4d3ace3344abf4f98b6a5" datatype="html">\n        <source>Your matcher seems to match no currently defined rule or active alert.</source>\n        <target>Your matcher seems to match no currently defined rule or active alert.</target>\n      </trans-unit>\n      <trans-unit id="7e284852732c303eb1f47de9aca2569e41aeffed" datatype="html">\n        <source>no active alerts</source>\n        <target>no active alerts</target>\n      </trans-unit>\n      <trans-unit id="b8042829e4fbe7b09fd9bac9fa0ecf5cc1802fee" datatype="html">\n        <source>1 active alert</source>\n        <target>1 active alert</target>\n      </trans-unit>\n      <trans-unit id="e24adce97669cb0fc74cc13fdc14179b6f78ea5e" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{n}}"/> active alerts\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{n}}"/> active alerts\n        </target>\n      </trans-unit>\n      <trans-unit id="d8fb058ff5883731d38a132da4ca45cfe8d719a3" datatype="html">\n        <source>Matches 1 rule</source>\n        <target>Matches 1 rule</target>\n      </trans-unit>\n      <trans-unit id="90aaef24d192e67c3fbc2ec6f8bfaff211cea128" datatype="html">\n        <source>Matches \n          <x id="INTERPOLATION" equiv-text="{{n}}"/> rules\n        </source>\n        <target>Matches \n          <x id="INTERPOLATION" equiv-text="{{n}}"/> rules\n        </target>\n      </trans-unit>\n      <trans-unit id="f4685dc581e18244cd410f1057a8c56a9dbfe8df" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rules}}"/> with \n          <x id="INTERPOLATION_1" equiv-text="{{alerts}}"/>.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rules}}"/> with \n          <x id="INTERPOLATION_1" equiv-text="{{alerts}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8fd98fb2a0f24ba72cde0787dd3f02cfc17de469" datatype="html">\n        <source>Quality of Service</source>\n        <target>服务质量 (QoS)</target>\n      </trans-unit>\n      <trans-unit id="2c53f3ce2c6fff9025a7b41cc334521725da6e7b" datatype="html">\n        <source>BPS Limit</source>\n        <target>BPS 上限</target>\n      </trans-unit>\n      <trans-unit id="e897624a392419386b035bcd8529337e262fc41d" datatype="html">\n        <source>The desired limit of IO bytes per second.</source>\n        <target>指定的每秒 IO 字节数上限。</target>\n      </trans-unit>\n      <trans-unit id="dc56f77e4507da7e86a3accd0a2a7099a838d539" datatype="html">\n        <source>IOPS Limit</source>\n        <target>IOPS 上限</target>\n      </trans-unit>\n      <trans-unit id="141c3f6eadbb35b0e17b2f847e4cac23240a6ea9" datatype="html">\n        <source>The desired limit of IO operations per second.</source>\n        <target>指定的每秒 IO 操作次数上限。</target>\n      </trans-unit>\n      <trans-unit id="3b3b101f16c38806e984b157e0cf22cd21451122" datatype="html">\n        <source>Read BPS Limit</source>\n        <target>读 BPS 上限</target>\n      </trans-unit>\n      <trans-unit id="87835fabb6a645873f3829a450ca1d58f97754f2" datatype="html">\n        <source>The desired limit of read bytes per second.</source>\n        <target>指定的每秒内读取的字节数上限。</target>\n      </trans-unit>\n      <trans-unit id="28b485e700df46d70b96666099f714e3ae9e5c2e" datatype="html">\n        <source>Read IOPS Limit</source>\n        <target>读 IOPS 上限</target>\n      </trans-unit>\n      <trans-unit id="5907bd1a5cf3e20e740bca676cb1538372e1f9ff" datatype="html">\n        <source>The desired limit of read operations per second.</source>\n        <target>指定的每秒读操作次数上限。</target>\n      </trans-unit>\n      <trans-unit id="07317121f0b194987d4dee8b322f521ac17bf124" datatype="html">\n        <source>Write BPS Limit</source>\n        <target>写 BPS 上限</target>\n      </trans-unit>\n      <trans-unit id="4022c78bd9132ca2ec67927f8484c437d1d9b6fd" datatype="html">\n        <source>The desired limit of write bytes per second.</source>\n        <target>指定的每秒内写入的字节数上限。</target>\n      </trans-unit>\n      <trans-unit id="52c22c19f98ff3a09bd811292954a889b93d28b7" datatype="html">\n        <source>Write IOPS Limit</source>\n        <target>写 IOPS 上限</target>\n      </trans-unit>\n      <trans-unit id="0ed62e3fd8654b3191fc7fa959ad3f10f1ea773a" datatype="html">\n        <source>The desired limit of write operations per second.</source>\n        <target>指定的每秒写操作次数上限。</target>\n      </trans-unit>\n      <trans-unit id="d90c99d77864f21f932ee1369019f400c4ad0e2d" datatype="html">\n        <source>BPS Burst</source>\n        <target>BPS 突发</target>\n      </trans-unit>\n      <trans-unit id="29c32192f4d185139aaaf6d3a766a3411dfeabbe" datatype="html">\n        <source>The desired burst limit of IO bytes.</source>\n        <target>指定的 IO 字节数突发上限。</target>\n      </trans-unit>\n      <trans-unit id="b988b90489e899941e196c3dd0ecc22e37540224" datatype="html">\n        <source>IOPS Burst</source>\n        <target>IOPS 突发</target>\n      </trans-unit>\n      <trans-unit id="02c5de8ff11870f1b3896f2b45637ce0dba1ed4b" datatype="html">\n        <source>The desired burst limit of IO operations.</source>\n        <target>指定的 IO 操作次数突发上限。</target>\n      </trans-unit>\n      <trans-unit id="7a160538129b37cf595f1651f28b5fac62fbc0f8" datatype="html">\n        <source>Read BPS Burst</source>\n        <target>读 BPS 突发</target>\n      </trans-unit>\n      <trans-unit id="b573a5df16a53b9947288461bc24e6a0eb4341d6" datatype="html">\n        <source>The desired burst limit of read bytes.</source>\n        <target>指定的读取的字节数突发上限。</target>\n      </trans-unit>\n      <trans-unit id="1d5b8c2a0c653651cc4ca4b8fed9456f449220d1" datatype="html">\n        <source>Read IOPS Burst</source>\n        <target>读 IOPS 突发</target>\n      </trans-unit>\n      <trans-unit id="20b199f9d4a8d08ffefec66040e27639ec221512" datatype="html">\n        <source>The desired burst limit of read operations.</source>\n        <target>指定的读操作次数突发上限。</target>\n      </trans-unit>\n      <trans-unit id="824525ae57992aee629ddffcd500a8b77087ddec" datatype="html">\n        <source>Write BPS Burst</source>\n        <target>写 BPS 突发</target>\n      </trans-unit>\n      <trans-unit id="a90aac4050a5d79765da5e1186909f6d4d7f981d" datatype="html">\n        <source>The desired burst limit of write bytes.</source>\n        <target>指定的写入的字节数突发上限。</target>\n      </trans-unit>\n      <trans-unit id="35a8c6e6c249c7d16e26aa7c4ef97c06db405070" datatype="html">\n        <source>Write IOPS Burst</source>\n        <target>写 IOPS 突发</target>\n      </trans-unit>\n      <trans-unit id="b356abd41d7e9eea4d20c03d2e6892b6d435ecbd" datatype="html">\n        <source>The desired burst limit of write operations.</source>\n        <target>指定的写操作次数突发上限。</target>\n      </trans-unit>\n      <trans-unit id="24c4d50fe8567de381a20a1745f1b6d37eacaa90" datatype="html">\n        <source>Failed to \n          <x id="INTERPOLATION" equiv-text="{{failure}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{metadata}}"/>\n        </source>\n        <target>Failed to \n          <x id="INTERPOLATION" equiv-text="{{failure}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{metadata}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="f54b6f09b390d5ade0e354f6c7d4743c10a315cc" datatype="html">\n        <source>Executing</source>\n        <target>正在执行</target>\n      </trans-unit>\n      <trans-unit id="5cdfe3e3330ea42bfd29c540dbd268bee97d364d" datatype="html">\n        <source>execute</source>\n        <target>执行</target>\n      </trans-unit>\n      <trans-unit id="6e98e243518daa88be30330fcdbd2d10f8eae4d7" datatype="html">\n        <source>Executed</source>\n        <target>执行完毕</target>\n      </trans-unit>\n      <trans-unit id="24b09aa5bd909273a023d2d788a2673325c77e31" datatype="html">\n        <source>unknown task</source>\n        <target>未知任务</target>\n      </trans-unit>\n      <trans-unit id="114b5f92b9192b229ffc9a450319a97ccca2aa5c" datatype="html">\n        <source>Creating</source>\n        <target>正在创建</target>\n      </trans-unit>\n      <trans-unit id="56695b69d27437ada580a187958407e7c856d46e" datatype="html">\n        <source>create</source>\n        <target>创建</target>\n      </trans-unit>\n      <trans-unit id="9db60170ef3b3b41a863e7d5ee7cec10919b9141" datatype="html">\n        <source>Updating</source>\n        <target>正在更新</target>\n      </trans-unit>\n      <trans-unit id="64412640835b7d25247cb254d4f911366c0e6862" datatype="html">\n        <source>update</source>\n        <target>更新</target>\n      </trans-unit>\n      <trans-unit id="416193bb373d59477458b00e5922d755e2e2cacd" datatype="html">\n        <source>Deleting</source>\n        <target>正在删除</target>\n      </trans-unit>\n      <trans-unit id="d07a282afc7fbdb39cea6e1c9b544882a7260a86" datatype="html">\n        <source>Adding</source>\n        <target>Adding</target>\n      </trans-unit>\n      <trans-unit id="a11ec4e640f241329943237d2a3cceaa4823658e" datatype="html">\n        <source>add</source>\n        <target>add</target>\n      </trans-unit>\n      <trans-unit id="ea1c70b874904216cc5af24bd7cb3dab2d074d42" datatype="html">\n        <source>Removing</source>\n        <target>Removing</target>\n      </trans-unit>\n      <trans-unit id="4da487aec5a29ce4372e7b512227cd665b01fe6f" datatype="html">\n        <source>remove</source>\n        <target>remove</target>\n      </trans-unit>\n      <trans-unit id="0e21237afdc84ec360c374fa678d9b1cfaa334f9" datatype="html">\n        <source>Importing</source>\n        <target>Importing</target>\n      </trans-unit>\n      <trans-unit id="c6b4128c006f4cc0564137e1a1482b5c432aa347" datatype="html">\n        <source>import</source>\n        <target>import</target>\n      </trans-unit>\n      <trans-unit id="3b9f4138abbca0fd66db1f7332f4b54e2a6d916d" datatype="html">\n        <source>Imported</source>\n        <target>Imported</target>\n      </trans-unit>\n      <trans-unit id="3f757cfc3749ebb5d4462017cb60138ca082f15f" datatype="html">\n        <source>RBD \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>RBD \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="a6c681e6130fe440ae40de99a405fcf5c7eefee1" datatype="html">\n        <source>RBD snapshot \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>RBD snapshot \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="2bf18ddf3785f7afb4f01dcf63d3d8c40f4bfba5" datatype="html">\n        <source>mirroring site name</source>\n        <target>mirroring site name</target>\n      </trans-unit>\n      <trans-unit id="167b73bb24b4695614ce0fc567b7a45080457a44" datatype="html">\n        <source>bootstrap token</source>\n        <target>bootstrap token</target>\n      </trans-unit>\n      <trans-unit id="4fb54a0291f49583c317d4a3690239141b5a8f68" datatype="html">\n        <source>mirror mode for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>mirror mode for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="6621ab6e122a149326a1e48e9051a41e7f203cf6" datatype="html">\n        <source>mirror peer for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>mirror peer for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="db15adc778317d551232fe712eb03a2c1eac4a43" datatype="html">\n        <source>all dashboards</source>\n        <target>all dashboards</target>\n      </trans-unit>\n      <trans-unit id="6c19652df9249c60827044ed6274933cab180c63" datatype="html">\n        <source>OSDs (DriveGroups: \n          <x id="INTERPOLATION" equiv-text="{{tracking_id}}"/>)\n        </source>\n        <target>OSDs (DriveGroups: \n          <x id="INTERPOLATION" equiv-text="{{tracking_id}}"/>)\n        </target>\n      </trans-unit>\n      <trans-unit id="1b559dbd9cc9664fd788c2da9a10d3abafe066cb" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8fc28e1103d9f2ef47b9fff9a4f74e8365c7cf19" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="1cdc7ea44fcb85d0cfcf6e7379d625d8674a8fbe" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="460f07780389d24c6a540c007c7367a56afad585" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> is busy.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> is busy.\n        </target>\n      </trans-unit>\n      <trans-unit id="1ff7676ad1e991102224540a32dd44ad1ab88aa8" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.\n        </target>\n      </trans-unit>\n      <trans-unit id="c3a1dcca2b2ba20fbe39e2441e7bb1cf9c20cdf3" datatype="html">\n        <source>Cloning</source>\n        <target>正在克隆</target>\n      </trans-unit>\n      <trans-unit id="b5fa4e0a3a279dee5b6bf7b823e54387f7c79994" datatype="html">\n        <source>clone</source>\n        <target>克隆</target>\n      </trans-unit>\n      <trans-unit id="29b7452e8367af9aa8fa828f16ff94c3530e7a1a" datatype="html">\n        <source>Snapshot of \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> must be protected.\n        </source>\n        <target>Snapshot of \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> must be protected.\n        </target>\n      </trans-unit>\n      <trans-unit id="369f93b9a07a9465f7a261e9f0021b6cfa7180c5" datatype="html">\n        <source>Copying</source>\n        <target>正在复制</target>\n      </trans-unit>\n      <trans-unit id="37584f889855d153a106f5dffe23d21f9453c8ff" datatype="html">\n        <source>copy</source>\n        <target>复制</target>\n      </trans-unit>\n      <trans-unit id="6ea9e313a04ef59222feaadfe84e97b4c69d7e9e" datatype="html">\n        <source>Flattening</source>\n        <target>正在展开</target>\n      </trans-unit>\n      <trans-unit id="1f57593581b64d2d4c70eab1736bd9bccc66a7dc" datatype="html">\n        <source>flatten</source>\n        <target>展开</target>\n      </trans-unit>\n      <trans-unit id="d990ef9680cd23bbe652c37eb46bf038cfee80ad" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="a101745d080ef65c09bd5fafc796f94ddb9f9d60" datatype="html">\n        <source>Cannot unprotect \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it contains child images.\n        </source>\n        <target>Cannot unprotect \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it contains child images.\n        </target>\n      </trans-unit>\n      <trans-unit id="647968f4cde7786cd53ec8e6aa9802ac6824a262" datatype="html">\n        <source>Cannot delete \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it\'s protected.\n        </source>\n        <target>Cannot delete \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it\'s protected.\n        </target>\n      </trans-unit>\n      <trans-unit id="57ddd3e15cf0ce974356b757451f50116a27272b" datatype="html">\n        <source>Rolling back</source>\n        <target>正在回滚</target>\n      </trans-unit>\n      <trans-unit id="a8913a3a5ee61f2598b5f0432cb9b20cdd60548e" datatype="html">\n        <source>rollback</source>\n        <target>回滚</target>\n      </trans-unit>\n      <trans-unit id="de8676f0017c9db6c49388cd7d63cd0a83a0c1dc" datatype="html">\n        <source>Moving</source>\n        <target>正在把</target>\n      </trans-unit>\n      <trans-unit id="2d810712308ae63cb795d809687a3254ef7a2f05" datatype="html">\n        <source>move</source>\n        <target>把</target>\n      </trans-unit>\n      <trans-unit id="f3ba995236e5c1cc77686108980c099a90aec754" datatype="html">\n        <source>Moved</source>\n        <target>已经把</target>\n      </trans-unit>\n      <trans-unit id="d0422169252d132624a20f267b5c29f28cb53ebe" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' to trash\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' to trash\n        </target>\n      </trans-unit>\n      <trans-unit id="b603e2dfed9808222fbcb5a7c5f4da2cc6ae2aae" datatype="html">\n        <source>Could not find image.</source>\n        <target>无法找到映像。</target>\n      </trans-unit>\n      <trans-unit id="398debe73006b1fe5177ed81d2e7b0cc852f61ec" datatype="html">\n        <source>Restoring</source>\n        <target>正在把</target>\n      </trans-unit>\n      <trans-unit id="c252806fb400e79bac194696632c9362742b1538" datatype="html">\n        <source>restore</source>\n        <target>把</target>\n      </trans-unit>\n      <trans-unit id="30b8bcf69b3f1754b7abba173fd806cfcea4cb04" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' into \'\n          <x id="INTERPOLATION_1" equiv-text="{{new_id}}"/>\'\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' into \'\n          <x id="INTERPOLATION_1" equiv-text="{{new_id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="13b7b241cef989fe0932ddd180e757658e1817e7" datatype="html">\n        <source>Image name \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' is already in use.\n        </source>\n        <target>Image name \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' is already in use.\n        </target>\n      </trans-unit>\n      <trans-unit id="cc1cee12c833e8fbbef28a2a7c449dc530da912d" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="38e5f47f8bef505652f3e87f46efb00ead1350a3" datatype="html">\n        <source>Purging</source>\n        <target>正在清除</target>\n      </trans-unit>\n      <trans-unit id="e4e57747f123f0fe6fe3a0ecf608f8bc287dec0c" datatype="html">\n        <source>purge</source>\n        <target>清除</target>\n      </trans-unit>\n      <trans-unit id="1560d58fdf39663929653250d45f5b1dfe078fea" datatype="html">\n        <source>all pools</source>\n        <target>所有存储池</target>\n      </trans-unit>\n      <trans-unit id="1ac3dc50c2c3d86e98bc0967ee1e696810a2d3aa" datatype="html">\n        <source>images from \n          <x id="INTERPOLATION" equiv-text="{{message}}"/>\n        </source>\n        <target>images from \n          <x id="INTERPOLATION" equiv-text="{{message}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="02278abbb044ece04ab6bd80bd2060198d31d83b" datatype="html">\n        <source>Cannot disable mirroring because it contains a peer.</source>\n        <target>因为包含同伴集群,无法禁用镜像功能</target>\n      </trans-unit>\n      <trans-unit id="5c4525a1b76ca54d1aadeaecfdb83aedc2eec6e0" datatype="html">\n        <source>Identifying</source>\n        <target>Identifying</target>\n      </trans-unit>\n      <trans-unit id="ffd067e54a061d1f27cb35f0cf67ef7f29e19111" datatype="html">\n        <source>identify</source>\n        <target>identify</target>\n      </trans-unit>\n      <trans-unit id="7c921f339274688c22ba1acac7af6b097ad3599d" datatype="html">\n        <source>Identified</source>\n        <target>Identified</target>\n      </trans-unit>\n      <trans-unit id="3307492c27c2150cd26c514030444e11fd61089f" datatype="html">\n        <source>device \'\n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\' on host \'\n          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>\'\n        </source>\n        <target>device \'\n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\' on host \'\n          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="f123ae1fc3b000e5d08e766dd78bff162afe709d" datatype="html">\n        <source>host \'\n          <x id="INTERPOLATION" equiv-text="{{hostname}}"/>\'\n        </source>\n        <target>host \'\n          <x id="INTERPOLATION" equiv-text="{{hostname}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="c1af76189dcefd094da2bc1a4a63968f3bab5789" datatype="html">\n        <source>OSD \'\n          <x id="INTERPOLATION" equiv-text="{{svc_id}}"/>\'\n        </source>\n        <target>OSD \'\n          <x id="INTERPOLATION" equiv-text="{{svc_id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="dfe70001dc590a9e12512cbb206aa29fb36fd00b" datatype="html">\n        <source>pool \'\n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>\'\n        </source>\n        <target>pool \'\n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="59630daf2f4786690fae0cdad55da8887236eabe" datatype="html">\n        <source>erasure code profile \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </source>\n        <target>erasure code profile \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="79052d6c47258dc19ada12dbb2563761102b6f1d" datatype="html">\n        <source>crush rule \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </source>\n        <target>crush rule \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="369462e5e018360e0600bb570866201ad5c3c8a8" datatype="html">\n        <source>target \'\n          <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>\'\n        </source>\n        <target>target \'\n          <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="cf41310917cb19b335e5a950972bbff2346f7a47" datatype="html">\n        <source>NFS \n          <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>\n        </source>\n        <target>NFS \n          <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>\n        </target>\n      </trans-unit>\n    </body>\n  </file>\n</xliff>'},AqeW:function(t,e,n){"use strict";function a(t,e){for(var n,a,r,o=[],i=[];(n=document.elementFromPoint(t,e))&&-1===o.indexOf(n)&&null!=n;)o.push(n),i.push({value:n.style.getPropertyValue("pointer-events"),priority:n.style.getPropertyPriority("pointer-events")}),n.style.setProperty("pointer-events","none","important");for(a=i.length;r=i[--a];)o[a].style.setProperty("pointer-events",r.value?r.value:"",r.priority);return o}Object.defineProperty(e,"__esModule",{value:!0}),"undefined"==typeof document||document.elementsFromPoint||(document.elementsFromPoint=a),e.elementsFromPoint=a},Avrn:function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var a=n("aexS"),r=n("8Y7J"),o=n("iInd");let i=(()=>{class t{constructor(t,e){this.router=t,this.authStorageService=e}canActivate(){return!!this.authStorageService.isLoggedIn()||(this.router.navigate(["/login"]),!1)}canActivateChild(){return this.canActivate()}}return t.ngInjectableDef=r["ɵɵdefineInjectable"]({factory:function(){return new t(r["ɵɵinject"](o.m),r["ɵɵinject"](a.a))},token:t,providedIn:"root"}),t})()},AvvY:function(t,e,n){!function(t){"use strict";t.defineLocale("ml",{months:"ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ".split("_"),monthsShort:"ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.".split("_"),monthsParseExact:!0,weekdays:"ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച".split("_"),weekdaysShort:"ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി".split("_"),weekdaysMin:"ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ".split("_"),longDateFormat:{LT:"A h:mm -നു",LTS:"A h:mm:ss -നു",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm -നു",LLLL:"dddd, D MMMM YYYY, A h:mm -നു"},calendar:{sameDay:"[ഇന്ന്] LT",nextDay:"[നാളെ] LT",nextWeek:"dddd, LT",lastDay:"[ഇന്നലെ] LT",lastWeek:"[കഴിഞ്ഞ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s കഴിഞ്ഞ്",past:"%s മുൻപ്",s:"അൽപ നിമിഷങ്ങൾ",ss:"%d സെക്കൻഡ്",m:"ഒരു മിനിറ്റ്",mm:"%d മിനിറ്റ്",h:"ഒരു മണിക്കൂർ",hh:"%d മണിക്കൂർ",d:"ഒരു ദിവസം",dd:"%d ദിവസം",M:"ഒരു മാസം",MM:"%d മാസം",y:"ഒരു വർഷം",yy:"%d വർഷം"},meridiemParse:/രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,meridiemHour:function(t,e){return 12===t&&(t=0),"രാത്രി"===e&&t>=4||"ഉച്ച കഴിഞ്ഞ്"===e||"വൈകുന്നേരം"===e?t+12:t},meridiem:function(t,e,n){return t<4?"രാത്രി":t<12?"രാവിലെ":t<17?"ഉച്ച കഴിഞ്ഞ്":t<20?"വൈകുന്നേരം":"രാത്രി"}})}(n("wd/R"))},AxL3:function(t,e){var n=!("undefined"==typeof window||!window.document||!window.document.createElement);t.exports=n},B55N:function(t,e,n){!function(t){"use strict";t.defineLocale("ja",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日".split("_"),weekdaysShort:"日_月_火_水_木_金_土".split("_"),weekdaysMin:"日_月_火_水_木_金_土".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日 dddd HH:mm",l:"YYYY/MM/DD",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日(ddd) HH:mm"},meridiemParse:/午前|午後/i,isPM:function(t){return"午後"===t},meridiem:function(t,e,n){return t<12?"午前":"午後"},calendar:{sameDay:"[今日] LT",nextDay:"[明日] LT",nextWeek:function(t){return t.week()<this.week()?"[来週]dddd LT":"dddd LT"},lastDay:"[昨日] LT",lastWeek:function(t){return this.week()<t.week()?"[先週]dddd LT":"dddd LT"},sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}日/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"日";default:return t}},relativeTime:{future:"%s後",past:"%s前",s:"数秒",ss:"%d秒",m:"1分",mm:"%d分",h:"1時間",hh:"%d時間",d:"1日",dd:"%d日",M:"1ヶ月",MM:"%dヶ月",y:"1年",yy:"%d年"}})}(n("wd/R"))},B8du:function(t,e){t.exports=function(){return!1}},BARL:function(t,e,n){var a=n("mrSG").__decorate;Object.defineProperty(e,"__esModule",{value:!0});var r=n("8Y7J"),o=n("qCKp");e.ColumnChangesService=function(){function t(){this.columnInputChanges=new o.Subject}return Object.defineProperty(t.prototype,"columnInputChanges$",{get:function(){return this.columnInputChanges.asObservable()},enumerable:!0,configurable:!0}),t.prototype.onInputChange=function(){this.columnInputChanges.next()},a([r.Injectable()],t)}()},BFxc:function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var a=n("7o/Q"),r=n("4I5i"),o=n("EY2u");function i(t){return function(e){return 0===t?Object(o.b)():e.lift(new s(t))}}class s{constructor(t){if(this.total=t,this.total<0)throw new r.a}call(t,e){return e.subscribe(new c(t,this.total))}}class c extends a.a{constructor(t,e){super(t),this.total=e,this.ring=new Array,this.count=0}_next(t){const e=this.ring,n=this.total,a=this.count++;e.length<n?e.push(t):e[a%n]=t}_complete(){const t=this.destination;let e=this.count;if(e>0){const n=this.count>=this.total?this.total:this.count,a=this.ring;for(let r=0;r<n;r++){const r=e++%n;t.next(a[r])}}t.complete()}}},BQkM:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{transform(t){return`${t} IOPS`}}},BVg3:function(t,e,n){!function(t){"use strict";function e(t){return t%100==11||t%10!=1}function n(t,n,a,r){var o=t+" ";switch(a){case"s":return n||r?"nokkrar sekúndur":"nokkrum sekúndum";case"ss":return e(t)?o+(n||r?"sekúndur":"sekúndum"):o+"sekúnda";case"m":return n?"mínúta":"mínútu";case"mm":return e(t)?o+(n||r?"mínútur":"mínútum"):n?o+"mínúta":o+"mínútu";case"hh":return e(t)?o+(n||r?"klukkustundir":"klukkustundum"):o+"klukkustund";case"d":return n?"dagur":r?"dag":"degi";case"dd":return e(t)?n?o+"dagar":o+(r?"daga":"dögum"):n?o+"dagur":o+(r?"dag":"degi");case"M":return n?"mánuður":r?"mánuð":"mánuði";case"MM":return e(t)?n?o+"mánuðir":o+(r?"mánuði":"mánuðum"):n?o+"mánuður":o+(r?"mánuð":"mánuði");case"y":return n||r?"ár":"ári";case"yy":return e(t)?o+(n||r?"ár":"árum"):o+(n||r?"ár":"ári")}}t.defineLocale("is",{months:"janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember".split("_"),monthsShort:"jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des".split("_"),weekdays:"sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur".split("_"),weekdaysShort:"sun_mán_þri_mið_fim_fös_lau".split("_"),weekdaysMin:"Su_Má_Þr_Mi_Fi_Fö_La".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd, D. MMMM YYYY [kl.] H:mm"},calendar:{sameDay:"[í dag kl.] LT",nextDay:"[á morgun kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[í gær kl.] LT",lastWeek:"[síðasta] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"eftir %s",past:"fyrir %s síðan",s:n,ss:n,m:n,mm:n,h:"klukkustund",hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("wd/R"))},BiGR:function(t,e,n){var a=n("nmnc"),r=n("03A+"),o=n("Z0cm"),i=a?a.isConcatSpreadable:void 0;t.exports=function(t){return o(t)||r(t)||!!(i&&t&&t[i])}},Bs8V:function(t,e,n){var a=n("g6v/"),r=n("0eef"),o=n("XGwC"),i=n("/GqU"),s=n("wE6v"),c=n("UTVS"),l=n("DPsx"),d=Object.getOwnPropertyDescriptor;e.f=a?d:function(t,e){if(t=i(t),e=s(e,!0),l)try{return d(t,e)}catch(n){}if(c(t,e))return o(!r.f.call(t,e),t[e])}},ByF4:function(t,e,n){!function(t){"use strict";t.defineLocale("fo",{months:"januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur".split("_"),weekdaysShort:"sun_mán_týs_mik_hós_frí_ley".split("_"),weekdaysMin:"su_má_tý_mi_hó_fr_le".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D. MMMM, YYYY HH:mm"},calendar:{sameDay:"[Í dag kl.] LT",nextDay:"[Í morgin kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[Í gjár kl.] LT",lastWeek:"[síðstu] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"um %s",past:"%s síðani",s:"fá sekund",ss:"%d sekundir",m:"ein minuttur",mm:"%d minuttir",h:"ein tími",hh:"%d tímar",d:"ein dagur",dd:"%d dagar",M:"ein mánaður",MM:"%d mánaðir",y:"eitt ár",yy:"%d ár"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("wd/R"))},C523:function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var a=n("8Y7J"),r=n("gk6K"),o=function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},i=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},s=function(){function t(t,e,n,a){this.el=t,this.renderer=e,this.treeDraggedElement=n,this.ngZone=a,this.dragEventHandler=this.onDrag.bind(this)}return t.prototype.ngAfterViewInit=function(){var t=this,e=this.el.nativeElement;this.ngZone.runOutsideAngular((function(){e.addEventListener("drag",t.dragEventHandler)}))},t.prototype.ngDoCheck=function(){this.renderer.setAttribute(this.el.nativeElement,"draggable",this.treeDragEnabled?"true":"false")},t.prototype.ngOnDestroy=function(){this.el.nativeElement.removeEventListener("drag",this.dragEventHandler)},t.prototype.onDragStart=function(t){t.dataTransfer.setData("text",t.target.id),this.treeDraggedElement.set(this.draggedElement),this.draggedElement.mouseAction&&this.draggedElement.mouseAction("dragStart",t)},t.prototype.onDrag=function(t){this.draggedElement.mouseAction&&this.draggedElement.mouseAction("drag",t)},t.prototype.onDragEnd=function(){this.draggedElement.mouseAction&&this.draggedElement.mouseAction("dragEnd"),this.treeDraggedElement.set(null)},o([Object(a.Input)("treeDrag"),i("design:type",Object)],t.prototype,"draggedElement",void 0),o([Object(a.Input)(),i("design:type",Object)],t.prototype,"treeDragEnabled",void 0),o([Object(a.HostListener)("dragstart",["$event"]),i("design:type",Function),i("design:paramtypes",[Object]),i("design:returntype",void 0)],t.prototype,"onDragStart",null),o([Object(a.HostListener)("dragend"),i("design:type",Function),i("design:paramtypes",[]),i("design:returntype",void 0)],t.prototype,"onDragEnd",null),o([Object(a.Directive)({selector:"[treeDrag]"}),i("design:paramtypes",[a.ElementRef,a.Renderer2,r.a,a.NgZone])],t)}()},C6Ij:function(t,e,n){"use strict";var a=n("8Y7J"),r=n("DqMs"),o=n("/NlG"),i=n("GiVz"),s=n("SVse");n("AWcq"),n.d(e,"a",(function(){return c})),n.d(e,"b",(function(){return m}));var c=a["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function l(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),a["ɵted"](-1,null,[" for "])),(t()(),a["ɵeld"](2,0,null,null,0,"span",[],[[8,"innerHTML",1]],null,null,null,null))],null,(function(t,e){t(e,2,0,e.component.statusFor)}))}function d(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,6,"cd-alert-panel",[["type","info"]],null,null,null,r.b,r.a)),a["ɵdid"](1,114688,null,0,o.a,[i.a],{type:[0,"type"]},null),(t()(),a["ɵeld"](2,0,null,0,4,null,null,null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["Retrieving data"])),(t()(),a["ɵand"](16777216,null,null,1,null,l)),a["ɵdid"](5,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵted"](-1,null,[". Please wait..."]))],(function(t,e){var n=e.component;t(e,1,0,"info"),t(e,5,0,n.statusFor)}),null)}function u(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),a["ɵted"](-1,null,[" for "])),(t()(),a["ɵeld"](2,0,null,null,0,"span",[],[[8,"innerHTML",1]],null,null,null,null))],null,(function(t,e){t(e,2,0,e.component.statusFor)}))}function g(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,6,"cd-alert-panel",[["type","warning"]],null,null,null,r.b,r.a)),a["ɵdid"](1,114688,null,0,o.a,[i.a],{type:[0,"type"]},null),(t()(),a["ɵeld"](2,0,null,0,4,null,null,null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["Displaying previously cached data"])),(t()(),a["ɵand"](16777216,null,null,1,null,u)),a["ɵdid"](5,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵted"](-1,null,["."]))],(function(t,e){var n=e.component;t(e,1,0,"warning"),t(e,5,0,n.statusFor)}),null)}function f(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),a["ɵted"](-1,null,[" for "])),(t()(),a["ɵeld"](2,0,null,null,0,"span",[],[[8,"innerHTML",1]],null,null,null,null))],null,(function(t,e){t(e,2,0,e.component.statusFor)}))}function p(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,6,"cd-alert-panel",[["type","error"]],null,null,null,r.b,r.a)),a["ɵdid"](1,114688,null,0,o.a,[i.a],{type:[0,"type"]},null),(t()(),a["ɵeld"](2,0,null,0,4,null,null,null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["Could not load data"])),(t()(),a["ɵand"](16777216,null,null,1,null,f)),a["ɵdid"](5,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵted"](-1,null,[". Please check the cluster health."]))],(function(t,e){var n=e.component;t(e,1,0,"error"),t(e,5,0,n.statusFor)}),null)}function m(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,1,null,d)),a["ɵdid"](1,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,g)),a["ɵdid"](3,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,p)),a["ɵdid"](5,16384,null,0,s.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0,n.status===n.vcs.ValueNone),t(e,3,0,n.status===n.vcs.ValueStale),t(e,5,0,n.status===n.vcs.ValueException)}),null)}},CFvb:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));var a={LEFT:37,UP:38,RIGHT:39,DOWN:40,ENTER:13,SPACE:32,CONTEXT_MENU:32}},CH3K:function(t,e){t.exports=function(t,e){for(var n=-1,a=e.length,r=t.length;++n<a;)t[r+n]=e[n];return t}},CMye:function(t,e,n){var a=n("GoyQ");t.exports=function(t){return t==t&&!a(t)}},CNMR:function(t,e,n){"use strict";n.d(e,"a",(function(){return s})),n.d(e,"b",(function(){return i})),n.d(e,"c",(function(){return c}));var a=n("mrSG"),r=n("8Y7J"),o=n("hpHm");class i{constructor(){this.type="warning",this.dismissible=!1,this.dismissOnTimeout=void 0}}let s=(()=>{class t{constructor(t,e){this.changeDetection=e,this.type="warning",this.dismissible=!1,this.isOpen=!0,this.onClose=new r.EventEmitter,this.onClosed=new r.EventEmitter,this.classes="",this.dismissibleChange=new r.EventEmitter,Object.assign(this,t),this.dismissibleChange.subscribe(t=>{this.classes=this.dismissible?"alert-dismissible":"",this.changeDetection.markForCheck()})}ngOnInit(){this.dismissOnTimeout&&setTimeout(()=>this.close(),parseInt(this.dismissOnTimeout,10))}close(){this.isOpen&&(this.onClose.emit(this),this.isOpen=!1,this.changeDetection.markForCheck(),this.onClosed.emit(this))}}return Object(a.__decorate)([Object(o.a)(),Object(a.__metadata)("design:type",Object)],t.prototype,"dismissible",void 0),t})();class c{static forRoot(){return{ngModule:c,providers:[i]}}}},CVuo:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.camelCase=function(t){return(t=(t=(t=t.replace(/[^a-zA-Z0-9 ]/g," ")).replace(/([a-z](?=[A-Z]))/g,"$1 ")).replace(/([^a-zA-Z0-9 ])|^[0-9]+/g,"").trim().toLowerCase()).replace(/([ 0-9]+)([a-zA-Z])/g,(function(t,e,n){return e.trim()+n.toUpperCase()}))},e.deCamelCase=function(t){return t.replace(/([A-Z])/g,(function(t){return" "+t})).replace(/^./,(function(t){return t.toUpperCase()}))}},CZoQ:function(t,e){t.exports=function(t,e,n){for(var a=n-1,r=t.length;++a<r;)if(t[a]===e)return a;return-1}},Cc8h:function(t,e,n){var a=n("mrSG").__decorate,r=n("mrSG").__metadata;Object.defineProperty(e,"__esModule",{value:!0});var o=n("8Y7J"),i=n("qCKp"),s=n("kU1M");n("czA5"),e.LongPressDirective=function(){function t(){this.pressEnabled=!0,this.duration=500,this.longPressStart=new o.EventEmitter,this.longPressing=new o.EventEmitter,this.longPressEnd=new o.EventEmitter,this.mouseX=0,this.mouseY=0}return Object.defineProperty(t.prototype,"press",{get:function(){return this.pressing},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isLongPress",{get:function(){return this.isLongPressing},enumerable:!0,configurable:!0}),t.prototype.onMouseDown=function(t){var e=this;if(1===t.which&&this.pressEnabled&&!t.target.classList.contains("resize-handle")){this.mouseX=t.clientX,this.mouseY=t.clientY,this.pressing=!0,this.isLongPressing=!1;var n=i.fromEvent(document,"mouseup");this.subscription=n.subscribe((function(t){return e.onMouseup()})),this.timeout=setTimeout((function(){e.isLongPressing=!0,e.longPressStart.emit({event:t,model:e.pressModel}),e.subscription.add(i.fromEvent(document,"mousemove").pipe(s.takeUntil(n)).subscribe((function(t){return e.onMouseMove(t)}))),e.loop(t)}),this.duration),this.loop(t)}},t.prototype.onMouseMove=function(t){if(this.pressing&&!this.isLongPressing){var e=Math.abs(t.clientX-this.mouseX)>10,n=Math.abs(t.clientY-this.mouseY)>10;(e||n)&&this.endPress()}},t.prototype.loop=function(t){var e=this;this.isLongPressing&&(this.timeout=setTimeout((function(){e.longPressing.emit({event:t,model:e.pressModel}),e.loop(t)}),50))},t.prototype.endPress=function(){clearTimeout(this.timeout),this.isLongPressing=!1,this.pressing=!1,this._destroySubscription(),this.longPressEnd.emit({model:this.pressModel})},t.prototype.onMouseup=function(){this.endPress()},t.prototype.ngOnDestroy=function(){this._destroySubscription()},t.prototype._destroySubscription=function(){this.subscription&&(this.subscription.unsubscribe(),this.subscription=void 0)},a([o.Input(),r("design:type",Boolean)],t.prototype,"pressEnabled",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"pressModel",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"duration",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"longPressStart",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"longPressing",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"longPressEnd",void 0),a([o.HostBinding("class.press"),r("design:type",Boolean),r("design:paramtypes",[])],t.prototype,"press",null),a([o.HostBinding("class.longpress"),r("design:type",Boolean),r("design:paramtypes",[])],t.prototype,"isLongPress",null),a([o.HostListener("mousedown",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],t.prototype,"onMouseDown",null),a([o.Directive({selector:"[long-press]"})],t)}()},Cfvw:function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var a=n("HDdC"),r=n("SeVD"),o=n("7HRe");function i(t,e){return e?Object(o.a)(t,e):t instanceof a.a?t:new a.a(Object(r.a)(t))}},ChqD:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{}},CjzT:function(t,e,n){!function(t){"use strict";var e="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),a=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],r=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;t.defineLocale("es-do",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(t,a){return t?/-MMM-/.test(a)?n[t.month()]:e[t.month()]:e},monthsRegex:r,monthsShortRegex:r,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n("wd/R"))},CoRJ:function(t,e,n){!function(t){"use strict";t.defineLocale("ar-ma",{months:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdays:"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:6,doy:12}})}(n("wd/R"))},CoVI:function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var a=n("8Y7J"),r=n("2vnA"),o=function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},i=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},s=function(){function t(t,e){this.templateRef=t,this.viewContainer=e,this.templateBindings={}}return t.prototype.ngOnInit=function(){this.view=this.viewContainer.createEmbeddedView(this.templateRef),this.dispose&&this.dispose(),this.shouldDetach()&&this.view.detach(),this.autoDetect(this.view)},t.prototype.shouldDetach=function(){return this.treeMobxAutorun&&this.treeMobxAutorun.detach},t.prototype.autoDetect=function(t){this.dispose=Object(r.b)((function(){return t.detectChanges()}))},t.prototype.ngOnDestroy=function(){this.dispose&&this.dispose()},o([Object(a.Input)(),i("design:type",Object)],t.prototype,"treeMobxAutorun",void 0),o([Object(a.Directive)({selector:"[treeMobxAutorun]"}),i("design:paramtypes",[a.TemplateRef,a.ViewContainerRef])],t)}()},Cwc5:function(t,e,n){var a=n("NKxu"),r=n("Npjl");t.exports=function(t,e){var n=r(t,e);return a(n)?n:void 0}},CxY0:function(t,e,n){"use strict";var a=n("nYho"),r=n("Nehr");function o(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}e.parse=_,e.resolve=function(t,e){return _(t,!1,!0).resolve(e)},e.resolveObject=function(t,e){return t?_(t,!1,!0).resolveObject(e):e},e.format=function(t){return r.isString(t)&&(t=_(t)),t instanceof o?t.format():o.prototype.format.call(t)},e.Url=o;var i=/^([a-z0-9.+-]+:)/i,s=/:[0-9]*$/,c=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,l=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),d=["'"].concat(l),u=["%","/","?",";","#"].concat(d),g=["/","?","#"],f=/^[+a-z0-9A-Z_-]{0,63}$/,p=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,m={javascript:!0,"javascript:":!0},h={javascript:!0,"javascript:":!0},b={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},y=n("r8II");function _(t,e,n){if(t&&r.isObject(t)&&t instanceof o)return t;var a=new o;return a.parse(t,e,n),a}o.prototype.parse=function(t,e,n){if(!r.isString(t))throw new TypeError("Parameter 'url' must be a string, not "+typeof t);var o=t.indexOf("?"),s=-1!==o&&o<t.indexOf("#")?"?":"#",l=t.split(s);l[0]=l[0].replace(/\\/g,"/");var _=t=l.join(s);if(_=_.trim(),!n&&1===t.split("#").length){var O=c.exec(_);if(O)return this.path=_,this.href=_,this.pathname=O[1],O[2]?(this.search=O[2],this.query=e?y.parse(this.search.substr(1)):this.search.substr(1)):e&&(this.search="",this.query={}),this}var v=i.exec(_);if(v){var C=(v=v[0]).toLowerCase();this.protocol=C,_=_.substr(v.length)}if(n||v||_.match(/^\/\/[^@\/]+@[^@\/]+/)){var P="//"===_.substr(0,2);!P||v&&h[v]||(_=_.substr(2),this.slashes=!0)}if(!h[v]&&(P||v&&!b[v])){for(var M,x,w=-1,T=0;T<g.length;T++)-1!==(S=_.indexOf(g[T]))&&(-1===w||S<w)&&(w=S);for(-1!==(x=-1===w?_.lastIndexOf("@"):_.lastIndexOf("@",w))&&(M=_.slice(0,x),_=_.slice(x+1),this.auth=decodeURIComponent(M)),w=-1,T=0;T<u.length;T++){var S;-1!==(S=_.indexOf(u[T]))&&(-1===w||S<w)&&(w=S)}-1===w&&(w=_.length),this.host=_.slice(0,w),_=_.slice(w),this.parseHost(),this.hostname=this.hostname||"";var k="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!k)for(var I=this.hostname.split(/\./),N=(T=0,I.length);T<N;T++){var R=I[T];if(R&&!R.match(f)){for(var A="",E=0,D=R.length;E<D;E++)R.charCodeAt(E)>127?A+="x":A+=R[E];if(!A.match(f)){var L=I.slice(0,T),q=I.slice(T+1),j=R.match(p);j&&(L.push(j[1]),q.unshift(j[2])),q.length&&(_="/"+q.join(".")+_),this.hostname=L.join(".");break}}}this.hostname=this.hostname.length>255?"":this.hostname.toLowerCase(),k||(this.hostname=a.toASCII(this.hostname)),this.host=(this.hostname||"")+(this.port?":"+this.port:""),this.href+=this.host,k&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==_[0]&&(_="/"+_))}if(!m[C])for(T=0,N=d.length;T<N;T++){var F=d[T];if(-1!==_.indexOf(F)){var z=encodeURIComponent(F);z===F&&(z=escape(F)),_=_.split(F).join(z)}}var G=_.indexOf("#");-1!==G&&(this.hash=_.substr(G),_=_.slice(0,G));var B=_.indexOf("?");return-1!==B?(this.search=_.substr(B),this.query=_.substr(B+1),e&&(this.query=y.parse(this.query)),_=_.slice(0,B)):e&&(this.search="",this.query={}),_&&(this.pathname=_),b[C]&&this.hostname&&!this.pathname&&(this.pathname="/"),(this.pathname||this.search)&&(this.path=(this.pathname||"")+(this.search||"")),this.href=this.format(),this},o.prototype.format=function(){var t=this.auth||"";t&&(t=(t=encodeURIComponent(t)).replace(/%3A/i,":"),t+="@");var e=this.protocol||"",n=this.pathname||"",a=this.hash||"",o=!1,i="";this.host?o=t+this.host:this.hostname&&(o=t+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(o+=":"+this.port)),this.query&&r.isObject(this.query)&&Object.keys(this.query).length&&(i=y.stringify(this.query));var s=this.search||i&&"?"+i||"";return e&&":"!==e.substr(-1)&&(e+=":"),this.slashes||(!e||b[e])&&!1!==o?(o="//"+(o||""),n&&"/"!==n.charAt(0)&&(n="/"+n)):o||(o=""),a&&"#"!==a.charAt(0)&&(a="#"+a),s&&"?"!==s.charAt(0)&&(s="?"+s),e+o+(n=n.replace(/[?#]/g,(function(t){return encodeURIComponent(t)})))+(s=s.replace("#","%23"))+a},o.prototype.resolve=function(t){return this.resolveObject(_(t,!1,!0)).format()},o.prototype.resolveObject=function(t){if(r.isString(t)){var e=new o;e.parse(t,!1,!0),t=e}for(var n=new o,a=Object.keys(this),i=0;i<a.length;i++){var s=a[i];n[s]=this[s]}if(n.hash=t.hash,""===t.href)return n.href=n.format(),n;if(t.slashes&&!t.protocol){for(var c=Object.keys(t),l=0;l<c.length;l++){var d=c[l];"protocol"!==d&&(n[d]=t[d])}return b[n.protocol]&&n.hostname&&!n.pathname&&(n.path=n.pathname="/"),n.href=n.format(),n}if(t.protocol&&t.protocol!==n.protocol){if(!b[t.protocol]){for(var u=Object.keys(t),g=0;g<u.length;g++){var f=u[g];n[f]=t[f]}return n.href=n.format(),n}if(n.protocol=t.protocol,t.host||h[t.protocol])n.pathname=t.pathname;else{for(var p=(t.pathname||"").split("/");p.length&&!(t.host=p.shift()););t.host||(t.host=""),t.hostname||(t.hostname=""),""!==p[0]&&p.unshift(""),p.length<2&&p.unshift(""),n.pathname=p.join("/")}return n.search=t.search,n.query=t.query,n.host=t.host||"",n.auth=t.auth,n.hostname=t.hostname||t.host,n.port=t.port,(n.pathname||n.search)&&(n.path=(n.pathname||"")+(n.search||"")),n.slashes=n.slashes||t.slashes,n.href=n.format(),n}var m=n.pathname&&"/"===n.pathname.charAt(0),y=t.host||t.pathname&&"/"===t.pathname.charAt(0),_=y||m||n.host&&t.pathname,O=_,v=n.pathname&&n.pathname.split("/")||[],C=(p=t.pathname&&t.pathname.split("/")||[],n.protocol&&!b[n.protocol]);if(C&&(n.hostname="",n.port=null,n.host&&(""===v[0]?v[0]=n.host:v.unshift(n.host)),n.host="",t.protocol&&(t.hostname=null,t.port=null,t.host&&(""===p[0]?p[0]=t.host:p.unshift(t.host)),t.host=null),_=_&&(""===p[0]||""===v[0])),y)n.host=t.host||""===t.host?t.host:n.host,n.hostname=t.hostname||""===t.hostname?t.hostname:n.hostname,n.search=t.search,n.query=t.query,v=p;else if(p.length)v||(v=[]),v.pop(),v=v.concat(p),n.search=t.search,n.query=t.query;else if(!r.isNullOrUndefined(t.search))return C&&(n.hostname=n.host=v.shift(),(T=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@"))&&(n.auth=T.shift(),n.host=n.hostname=T.shift())),n.search=t.search,n.query=t.query,r.isNull(n.pathname)&&r.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.href=n.format(),n;if(!v.length)return n.pathname=null,n.path=n.search?"/"+n.search:null,n.href=n.format(),n;for(var P=v.slice(-1)[0],M=(n.host||t.host||v.length>1)&&("."===P||".."===P)||""===P,x=0,w=v.length;w>=0;w--)"."===(P=v[w])?v.splice(w,1):".."===P?(v.splice(w,1),x++):x&&(v.splice(w,1),x--);if(!_&&!O)for(;x--;x)v.unshift("..");!_||""===v[0]||v[0]&&"/"===v[0].charAt(0)||v.unshift(""),M&&"/"!==v.join("/").substr(-1)&&v.push("");var T,S=""===v[0]||v[0]&&"/"===v[0].charAt(0);return C&&(n.hostname=n.host=S?"":v.length?v.shift():"",(T=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@"))&&(n.auth=T.shift(),n.host=n.hostname=T.shift())),(_=_||n.host&&v.length)&&!S&&v.unshift(""),v.length?n.pathname=v.join("/"):(n.pathname=null,n.path=null),r.isNull(n.pathname)&&r.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.auth=t.auth||n.auth,n.slashes=n.slashes||t.slashes,n.href=n.format(),n},o.prototype.parseHost=function(){var t=this.host,e=s.exec(t);e&&(":"!==(e=e[0])&&(this.port=e.substr(1)),t=t.substr(0,t.length-e.length)),t&&(this.hostname=t)}},"D/JM":function(t,e,n){!function(t){"use strict";t.defineLocale("eu",{months:"urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"),monthsShort:"urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"),monthsParseExact:!0,weekdays:"igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"),weekdaysShort:"ig._al._ar._az._og._ol._lr.".split("_"),weekdaysMin:"ig_al_ar_az_og_ol_lr".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY[ko] MMMM[ren] D[a]",LLL:"YYYY[ko] MMMM[ren] D[a] HH:mm",LLLL:"dddd, YYYY[ko] MMMM[ren] D[a] HH:mm",l:"YYYY-M-D",ll:"YYYY[ko] MMM D[a]",lll:"YYYY[ko] MMM D[a] HH:mm",llll:"ddd, YYYY[ko] MMM D[a] HH:mm"},calendar:{sameDay:"[gaur] LT[etan]",nextDay:"[bihar] LT[etan]",nextWeek:"dddd LT[etan]",lastDay:"[atzo] LT[etan]",lastWeek:"[aurreko] dddd LT[etan]",sameElse:"L"},relativeTime:{future:"%s barru",past:"duela %s",s:"segundo batzuk",ss:"%d segundo",m:"minutu bat",mm:"%d minutu",h:"ordu bat",hh:"%d ordu",d:"egun bat",dd:"%d egun",M:"hilabete bat",MM:"%d hilabete",y:"urte bat",yy:"%d urte"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n("wd/R"))},D0XW:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("3N8a");const r=new(n("IjjT").a)(a.a)},D4zM:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{constructor(t,e){this.elementRef=t,this.renderer=e}ngOnInit(){this.renderer.setAttribute(this.elementRef.nativeElement,"tabindex","-1"),this.iElement=this.renderer.createElement("i"),this.renderer.addClass(this.iElement,"fa"),this.renderer.appendChild(this.elementRef.nativeElement,this.iElement),this.update()}getInputElement(){return document.getElementById(this.cdPasswordButton)}update(){const t=this.getInputElement();t&&"text"===t.type?(this.renderer.removeClass(this.iElement,"fa-eye"),this.renderer.addClass(this.iElement,"fa-eye-slash")):(this.renderer.removeClass(this.iElement,"fa-eye-slash"),this.renderer.addClass(this.iElement,"fa-eye"))}onClick(){const t=this.getInputElement();t.type="password"===t.type?"text":"password",this.update()}}},DH7j:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));const a=(()=>Array.isArray||(t=>t&&"number"==typeof t.length))()},"DKr+":function(t,e,n){!function(t){"use strict";function e(t,e,n,a){var r={s:["thodde secondanim","thodde second"],ss:[t+" secondanim",t+" second"],m:["eka mintan","ek minute"],mm:[t+" mintanim",t+" mintam"],h:["eka voran","ek vor"],hh:[t+" voranim",t+" voram"],d:["eka disan","ek dis"],dd:[t+" disanim",t+" dis"],M:["eka mhoinean","ek mhoino"],MM:[t+" mhoineanim",t+" mhoine"],y:["eka vorsan","ek voros"],yy:[t+" vorsanim",t+" vorsam"]};return e?r[n][0]:r[n][1]}t.defineLocale("gom-latn",{months:"Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr".split("_"),monthsShort:"Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son'var".split("_"),weekdaysShort:"Ait._Som._Mon._Bud._Bre._Suk._Son.".split("_"),weekdaysMin:"Ai_Sm_Mo_Bu_Br_Su_Sn".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A h:mm [vazta]",LTS:"A h:mm:ss [vazta]",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY A h:mm [vazta]",LLLL:"dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]",llll:"ddd, D MMM YYYY, A h:mm [vazta]"},calendar:{sameDay:"[Aiz] LT",nextDay:"[Faleam] LT",nextWeek:"[Ieta to] dddd[,] LT",lastDay:"[Kal] LT",lastWeek:"[Fatlo] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s",past:"%s adim",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}(er)/,ordinal:function(t,e){switch(e){case"D":return t+"er";default:case"M":case"Q":case"DDD":case"d":case"w":case"W":return t}},week:{dow:1,doy:4},meridiemParse:/rati|sokalli|donparam|sanje/,meridiemHour:function(t,e){return 12===t&&(t=0),"rati"===e?t<4?t:t+12:"sokalli"===e?t:"donparam"===e?t>12?t:t+12:"sanje"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"rati":t<12?"sokalli":t<16?"donparam":t<20?"sanje":"rati"}})}(n("wd/R"))},DNAf:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("LvDl");class r{constructor(t,e){this.customValidations={},this.i18n=e,this.empty=this.i18n("No items selected."),this.selectionLimit={tooltip:this.i18n("Deselect item to select again"),text:this.i18n("Selection limit reached")},this.filter=this.i18n("Filter tags"),this.add=this.i18n("Add badge"),this.noOptions=this.i18n("There are no items available."),a.merge(this,t)}}},DPsx:function(t,e,n){var a=n("g6v/"),r=n("0Dky"),o=n("zBJ4");t.exports=!a&&!r((function(){return 7!=Object.defineProperty(o("div"),"a",{get:function(){return 7}}).a}))},DSRE:function(t,e,n){(function(t){var a=n("Kz5y"),r=n("B8du"),o=e&&!e.nodeType&&e,i=o&&"object"==typeof t&&t&&!t.nodeType&&t,s=i&&i.exports===o?a.Buffer:void 0;t.exports=(s?s.isBuffer:void 0)||r}).call(this,n("YuTi")(t))},DSvg:function(t,e,n){"use strict";n.d(e,"a",(function(){return l}));var a=n("vkgz"),r=n("aexS"),o=n("8Y7J"),i=n("IheW"),s=n("iInd"),c=n("pL04");let l=(()=>{class t{constructor(t,e,n){this.authStorageService=t,this.http=e,this.router=n}check(t){return this.http.post("api/auth/check",{token:t})}login(t){return this.http.post("api/auth",t).pipe(Object(a.a)(t=>{this.authStorageService.set(t.username,t.token,t.permissions,t.sso,t.pwdExpirationDate,t.pwdUpdateRequired)}))}logout(t=null){return this.http.post("api/auth/logout",null).subscribe(e=>{this.router.navigate(["/logout"],{skipLocationChange:!0}),this.authStorageService.remove(),t&&t(),window.location.replace(e.redirect_url)})}}return t.ngInjectableDef=o["ɵɵdefineInjectable"]({factory:function(){return new t(o["ɵɵinject"](r.a),o["ɵɵinject"](i.c),o["ɵɵinject"](s.m))},token:t,providedIn:c.a}),t})()},Dkky:function(t,e,n){!function(t){"use strict";t.defineLocale("fr-ch",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(t,e){switch(e){default:case"M":case"Q":case"D":case"DDD":case"d":return t+(1===t?"er":"e");case"w":case"W":return t+(1===t?"re":"e")}},week:{dow:1,doy:4}})}(n("wd/R"))},Dmvi:function(t,e,n){!function(t){"use strict";t.defineLocale("en-au",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})}(n("wd/R"))},DoHr:function(t,e,n){!function(t){"use strict";var e={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'üncü",4:"'üncü",100:"'üncü",6:"'ncı",9:"'uncu",10:"'uncu",30:"'uncu",60:"'ıncı",90:"'ıncı"};t.defineLocale("tr",{months:"Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık".split("_"),monthsShort:"Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pts_Sal_Çar_Per_Cum_Cts".split("_"),weekdaysMin:"Pz_Pt_Sa_Ça_Pe_Cu_Ct".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[yarın saat] LT",nextWeek:"[gelecek] dddd [saat] LT",lastDay:"[dün] LT",lastWeek:"[geçen] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s önce",s:"birkaç saniye",ss:"%d saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir yıl",yy:"%d yıl"},ordinal:function(t,n){switch(n){case"d":case"D":case"Do":case"DD":return t;default:if(0===t)return t+"'ıncı";var a=t%10;return t+(e[a]||e[t%100-a]||e[t>=100?100:null])}},week:{dow:1,doy:7}})}(n("wd/R"))},DqMs:function(t,e,n){"use strict";var a=n("8Y7J"),r=n("SVse"),o=n("IZUe"),i=n("MdoF"),s=n("CNMR");n("/NlG"),n("GiVz"),n.d(e,"a",(function(){return c})),n.d(e,"b",(function(){return _}));var c=a["ɵcrt"]({encapsulation:0,styles:[[".alert-panel-icon[_ngcontent-%COMP%]{vertical-align:top;padding-right:.5em}.alert-panel-title[_ngcontent-%COMP%]{font-weight:700}"]],data:{}});function l(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,4,"td",[["class","alert-panel-icon"],["rowspan","2"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,3,"i",[["aria-hidden","true"]],null,null,null,null,null)),a["ɵprd"](512,null,r["ɵNgClassImpl"],r["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](3,278528,null,0,r.NgClass,[r["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),a["ɵpad"](4,1)],(function(t,e){var n=e.component,r=a["ɵinlineInterpolate"](2,"alert-",n.bootstrapClass," ",n.typeIcon,""),o=t(e,4,0,n.icons.large3x);t(e,3,0,r,o)}),null)}function d(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"td",[["class","alert-panel-title"]],null,null,null,null,null)),(t()(),a["ɵted"](1,null,["",""]))],null,(function(t,e){t(e,1,0,e.component.title)}))}function u(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,0,null,null,null,null,null,null,null))],null,null)}function g(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,9,null,null,null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,4,"tr",[],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,l)),a["ɵdid"](3,16384,null,0,r.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,d)),a["ɵdid"](5,16384,null,0,r.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵeld"](6,0,null,null,3,"tr",[],null,null,null,null,null)),(t()(),a["ɵeld"](7,0,null,null,2,"td",[["class","alert-panel-text"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,u)),a["ɵdid"](9,540672,null,0,r.NgTemplateOutlet,[a.ViewContainerRef],{ngTemplateOutlet:[0,"ngTemplateOutlet"]},null)],(function(t,e){var n=e.component;t(e,3,0,n.showIcon),t(e,5,0,n.showTitle),t(e,9,0,a["ɵnov"](e.parent,6))}),null)}function f(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"td",[["class","alert-panel-icon"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,0,"i",[["aria-hidden","true"]],[[8,"className",0]],null,null,null,null))],null,(function(t,e){var n=e.component;t(e,1,0,a["ɵinlineInterpolate"](2,"alert-",n.bootstrapClass," ",n.typeIcon,""))}))}function p(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"td",[["class","alert-panel-title"]],null,null,null,null,null)),(t()(),a["ɵted"](1,null,["",""]))],null,(function(t,e){t(e,1,0,e.component.title)}))}function m(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,0,null,null,null,null,null,null,null))],null,null)}function h(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,7,"tr",[],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,f)),a["ɵdid"](2,16384,null,0,r.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,p)),a["ɵdid"](4,16384,null,0,r.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵeld"](5,0,null,null,2,"td",[["class","alert-panel-text"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,m)),a["ɵdid"](7,540672,null,0,r.NgTemplateOutlet,[a.ViewContainerRef],{ngTemplateOutlet:[0,"ngTemplateOutlet"]},null)],(function(t,e){var n=e.component;t(e,2,0,n.showIcon),t(e,4,0,n.showTitle),t(e,7,0,a["ɵnov"](e.parent,6))}),null)}function b(t){return a["ɵvid"](0,[a["ɵncd"](null,0),(t()(),a["ɵand"](0,null,null,0))],null,null)}function y(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"div",[["class","button-group text-right"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,2,"button",[["autofocus",""],["class","btn btn-light tc_backButton"],["type","button"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.backAction.emit()&&a),a}),null,null)),a["ɵdid"](2,4210688,null,0,o.a,[a.ElementRef],{autofocus:[0,"autofocus"]},null),(t()(),a["ɵted"](-1,null,["Back"]))],(function(t,e){t(e,2,0,"")}),null)}function _(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,5,"alert",[],null,null,null,i.c,i.b)),a["ɵdid"](1,114688,null,0,s.a,[s.b,a.ChangeDetectorRef],{type:[0,"type"]},null),(t()(),a["ɵeld"](2,0,null,0,3,"table",[],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,g)),a["ɵdid"](4,16384,null,0,r.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"],ngIfElse:[1,"ngIfElse"]},null),(t()(),a["ɵand"](0,[["slim",2]],null,0,null,h)),(t()(),a["ɵand"](0,[["content",2]],null,0,null,b)),(t()(),a["ɵand"](16777216,null,null,1,null,y)),a["ɵdid"](8,16384,null,0,r.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0,a["ɵinlineInterpolate"](1,"",n.bootstrapClass,"")),t(e,4,0,"normal"===n.size,a["ɵnov"](e,5)),t(e,8,0,n.backAction.observers.length>0)}),null)}},"Dw+G":function(t,e,n){var a=n("juv8"),r=n("mTTR");t.exports=function(t,e){return t&&a(e,r(e),t)}},Dwqy:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("wd/R");class r{constructor(){}transform(t){return t?a(1e3*t).fromNow():"unknown"}}},DxQv:function(t,e,n){!function(t){"use strict";t.defineLocale("da",{months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"søn_man_tir_ons_tor_fre_lør".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd [d.] D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"på dddd [kl.] LT",lastDay:"[i går kl.] LT",lastWeek:"[i] dddd[s kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"få sekunder",ss:"%d sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en måned",MM:"%d måneder",y:"et år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("wd/R"))},DzJC:function(t,e,n){var a=n("sEfC"),r=n("GoyQ");t.exports=function(t,e,n){var o=!0,i=!0;if("function"!=typeof t)throw new TypeError("Expected a function");return r(n)&&(o="leading"in n?!!n.leading:o,i="trailing"in n?!!n.trailing:i),a(t,e,{leading:o,maxWait:e,trailing:i})}},Dzi0:function(t,e,n){!function(t){"use strict";t.defineLocale("tl-ph",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},calendar:{sameDay:"LT [ngayong araw]",nextDay:"[Bukas ng] LT",nextWeek:"LT [sa susunod na] dddd",lastDay:"LT [kahapon]",lastWeek:"LT [noong nakaraang] dddd",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",ss:"%d segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(t){return t},week:{dow:1,doy:4}})}(n("wd/R"))},"E+lV":function(t,e,n){!function(t){"use strict";var e={words:{ss:["секунда","секунде","секунди"],m:["један минут","једне минуте"],mm:["минут","минуте","минута"],h:["један сат","једног сата"],hh:["сат","сата","сати"],dd:["дан","дана","дана"],MM:["месец","месеца","месеци"],yy:["година","године","година"]},correctGrammaticalCase:function(t,e){return 1===t?e[0]:t>=2&&t<=4?e[1]:e[2]},translate:function(t,n,a){var r=e.words[a];return 1===a.length?n?r[0]:r[1]:t+" "+e.correctGrammaticalCase(t,r)}};t.defineLocale("sr-cyrl",{months:"јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар".split("_"),monthsShort:"јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.".split("_"),monthsParseExact:!0,weekdays:"недеља_понедељак_уторак_среда_четвртак_петак_субота".split("_"),weekdaysShort:"нед._пон._уто._сре._чет._пет._суб.".split("_"),weekdaysMin:"не_по_ут_ср_че_пе_су".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[данас у] LT",nextDay:"[сутра у] LT",nextWeek:function(){switch(this.day()){case 0:return"[у] [недељу] [у] LT";case 3:return"[у] [среду] [у] LT";case 6:return"[у] [суботу] [у] LT";case 1:case 2:case 4:case 5:return"[у] dddd [у] LT"}},lastDay:"[јуче у] LT",lastWeek:function(){return["[прошле] [недеље] [у] LT","[прошлог] [понедељка] [у] LT","[прошлог] [уторка] [у] LT","[прошле] [среде] [у] LT","[прошлог] [четвртка] [у] LT","[прошлог] [петка] [у] LT","[прошле] [суботе] [у] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"за %s",past:"пре %s",s:"неколико секунди",ss:e.translate,m:e.translate,mm:e.translate,h:e.translate,hh:e.translate,d:"дан",dd:e.translate,M:"месец",MM:e.translate,y:"годину",yy:e.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n("wd/R"))},E2fk:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{transform(t){return"[INF]"===t?"info":"[WRN]"===t?"warn":"[ERR]"===t?"err":""}}},E2jh:function(t,e,n){var a,r=n("2gN3"),o=(a=/[^.]+$/.exec(r&&r.keys&&r.keys.IE_PROTO||""))?"Symbol(src)_1."+a:"";t.exports=function(t){return!!o&&o in t}},E9XD:function(t,e,n){"use strict";var a=n("I+eb"),r=n("1Y/n").left,o=n("pkCn"),i=n("rkAj"),s=o("reduce"),c=i("reduce",{1:0});a({target:"Array",proto:!0,forced:!s||!c},{reduce:function(t){return r(this,t,arguments.length,arguments.length>1?arguments[1]:void 0)}})},EA7m:function(t,e,n){var a=n("zZ0H"),r=n("Ioao"),o=n("wclG");t.exports=function(t,e){return o(r(t,e,a),t+"")}},EApP:function(t,e,n){"use strict";n.d(e,"a",(function(){return v})),n.d(e,"b",(function(){return d})),n.d(e,"c",(function(){return _})),n.d(e,"d",(function(){return s})),n.d(e,"e",(function(){return x})),n.d(e,"f",(function(){return T})),n.d(e,"g",(function(){return c})),n.d(e,"h",(function(){return P})),n.d(e,"i",(function(){return C})),n.d(e,"j",(function(){return y})),n("mrSG");var a=n("8Y7J"),r=n("XNiG"),o=n("cUpR"),i=n("SVse");let s=class{};class c{constructor(t,e,n,a,o,i){this.toastId=t,this.config=e,this.message=n,this.title=a,this.toastType=o,this.toastRef=i,this._onTap=new r.a,this._onAction=new r.a,this.toastRef.afterClosed().subscribe(()=>{this._onAction.complete(),this._onTap.complete()})}triggerTap(){this._onTap.next(),this.config.tapToDismiss&&this._onTap.complete()}onTap(){return this._onTap.asObservable()}triggerAction(t){this._onAction.next(t)}onAction(){return this._onAction.asObservable()}}const l={maxOpened:0,autoDismiss:!1,newestOnTop:!0,preventDuplicates:!1,countDuplicates:!1,resetTimeoutOnDuplicate:!1,iconClasses:{error:"toast-error",info:"toast-info",success:"toast-success",warning:"toast-warning"},closeButton:!1,disableTimeOut:!1,timeOut:5e3,extendedTimeOut:1e3,enableHtml:!1,progressBar:!1,toastClass:"ngx-toastr",positionClass:"toast-top-right",titleClass:"toast-title",messageClass:"toast-message",easing:"ease-in",easeTime:300,tapToDismiss:!0,onActivateTick:!1,progressAnimation:"decreasing"},d=new a.InjectionToken("ToastConfig");class u{constructor(t,e){this.component=t,this.injector=e}attach(t,e){return this._attachedHost=t,t.attach(this,e)}detach(){const t=this._attachedHost;if(t)return this._attachedHost=void 0,t.detach()}get isAttached(){return null!=this._attachedHost}setAttachedHost(t){this._attachedHost=t}}class g extends class{attach(t,e){return this._attachedPortal=t,this.attachComponentPortal(t,e)}detach(){this._attachedPortal&&this._attachedPortal.setAttachedHost(),this._attachedPortal=void 0,this._disposeFn&&(this._disposeFn(),this._disposeFn=void 0)}setDisposeFn(t){this._disposeFn=t}}{constructor(t,e,n){super(),this._hostDomElement=t,this._componentFactoryResolver=e,this._appRef=n}attachComponentPortal(t,e){const n=this._componentFactoryResolver.resolveComponentFactory(t.component);let a;return a=n.create(t.injector),this._appRef.attachView(a.hostView),this.setDisposeFn(()=>{this._appRef.detachView(a.hostView),a.destroy()}),e?this._hostDomElement.insertBefore(this._getComponentRootNode(a),this._hostDomElement.firstChild):this._hostDomElement.appendChild(this._getComponentRootNode(a)),a}_getComponentRootNode(t){return t.hostView.rootNodes[0]}}let f=(()=>{let t=class{constructor(t){this._document=t}ngOnDestroy(){this._containerElement&&this._containerElement.parentNode&&this._containerElement.parentNode.removeChild(this._containerElement)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const t=this._document.createElement("div");t.classList.add("overlay-container"),this._document.body.appendChild(t),this._containerElement=t}};return t.ngInjectableDef=Object(a["ɵɵdefineInjectable"])({factory:function(){return new t(Object(a["ɵɵinject"])(i.DOCUMENT))},token:t,providedIn:"root"}),t})();class p{constructor(t){this._portalHost=t}attach(t,e=!0){return this._portalHost.attach(t,e)}detach(){return this._portalHost.detach()}}let m=(()=>{let t=class{constructor(t,e,n,a){this._overlayContainer=t,this._componentFactoryResolver=e,this._appRef=n,this._document=a,this._paneElements=new Map}create(t,e){return this._createOverlayRef(this.getPaneElement(t,e))}getPaneElement(t="",e){return this._paneElements.get(e)||this._paneElements.set(e,{}),this._paneElements.get(e)[t]||(this._paneElements.get(e)[t]=this._createPaneElement(t,e)),this._paneElements.get(e)[t]}_createPaneElement(t,e){const n=this._document.createElement("div");return n.id="toast-container",n.classList.add(t),n.classList.add("toast-container"),e?e.getContainerElement().appendChild(n):this._overlayContainer.getContainerElement().appendChild(n),n}_createPortalHost(t){return new g(t,this._componentFactoryResolver,this._appRef)}_createOverlayRef(t){return new p(this._createPortalHost(t))}};return t.ngInjectableDef=Object(a["ɵɵdefineInjectable"])({factory:function(){return new t(Object(a["ɵɵinject"])(f),Object(a["ɵɵinject"])(a.ComponentFactoryResolver),Object(a["ɵɵinject"])(a.ApplicationRef),Object(a["ɵɵinject"])(i.DOCUMENT))},token:t,providedIn:"root"}),t})();class h{constructor(t){this._overlayRef=t,this.duplicatesCount=0,this._afterClosed=new r.a,this._activate=new r.a,this._manualClose=new r.a,this._resetTimeout=new r.a,this._countDuplicate=new r.a}manualClose(){this._manualClose.next(),this._manualClose.complete()}manualClosed(){return this._manualClose.asObservable()}timeoutReset(){return this._resetTimeout.asObservable()}countDuplicate(){return this._countDuplicate.asObservable()}close(){this._overlayRef.detach(),this._afterClosed.next(),this._manualClose.next(),this._afterClosed.complete(),this._manualClose.complete(),this._activate.complete(),this._resetTimeout.complete(),this._countDuplicate.complete()}afterClosed(){return this._afterClosed.asObservable()}isInactive(){return this._activate.isStopped}activate(){this._activate.next(),this._activate.complete()}afterActivate(){return this._activate.asObservable()}onDuplicate(t,e){t&&this._resetTimeout.next(),e&&this._countDuplicate.next(++this.duplicatesCount)}}class b{constructor(t,e){this._toastPackage=t,this._parentInjector=e}get(t,e,n){return t===c?this._toastPackage:this._parentInjector.get(t,e,n)}}let y=(()=>{let t=class{constructor(t,e,n,a,r){this.overlay=e,this._injector=n,this.sanitizer=a,this.ngZone=r,this.currentlyActive=0,this.toasts=[],this.index=0,this.toastrConfig=Object.assign({},t.default,t.config),t.config.iconClasses&&(this.toastrConfig.iconClasses=Object.assign({},t.default.iconClasses,t.config.iconClasses))}show(t,e,n={},a=""){return this._preBuildNotification(a,t,e,this.applyConfig(n))}success(t,e,n={}){return this._preBuildNotification(this.toastrConfig.iconClasses.success||"",t,e,this.applyConfig(n))}error(t,e,n={}){return this._preBuildNotification(this.toastrConfig.iconClasses.error||"",t,e,this.applyConfig(n))}info(t,e,n={}){return this._preBuildNotification(this.toastrConfig.iconClasses.info||"",t,e,this.applyConfig(n))}warning(t,e,n={}){return this._preBuildNotification(this.toastrConfig.iconClasses.warning||"",t,e,this.applyConfig(n))}clear(t){for(const e of this.toasts)if(void 0!==t){if(e.toastId===t)return void e.toastRef.manualClose()}else e.toastRef.manualClose()}remove(t){const e=this._findToast(t);if(!e)return!1;if(e.activeToast.toastRef.close(),this.toasts.splice(e.index,1),this.currentlyActive=this.currentlyActive-1,!this.toastrConfig.maxOpened||!this.toasts.length)return!1;if(this.currentlyActive<this.toastrConfig.maxOpened&&this.toasts[this.currentlyActive]){const t=this.toasts[this.currentlyActive].toastRef;t.isInactive()||(this.currentlyActive=this.currentlyActive+1,t.activate())}return!0}findDuplicate(t,e,n){for(const a of this.toasts)if(a.message===t)return a.toastRef.onDuplicate(e,n),a;return null}applyConfig(t={}){return Object.assign({},this.toastrConfig,t)}_findToast(t){for(let e=0;e<this.toasts.length;e++)if(this.toasts[e].toastId===t)return{index:e,activeToast:this.toasts[e]};return null}_preBuildNotification(t,e,n,a){return a.onActivateTick?this.ngZone.run(()=>this._buildNotification(t,e,n,a)):this._buildNotification(t,e,n,a)}_buildNotification(t,e,n,r){if(!r.toastComponent)throw new Error("toastComponent required");const o=this.findDuplicate(e,this.toastrConfig.resetTimeoutOnDuplicate&&r.timeOut>0,this.toastrConfig.countDuplicates);if(e&&this.toastrConfig.preventDuplicates&&null!==o)return o;this.previousToastMessage=e;let i=!1;this.toastrConfig.maxOpened&&this.currentlyActive>=this.toastrConfig.maxOpened&&(i=!0,this.toastrConfig.autoDismiss&&this.clear(this.toasts[0].toastId));const s=this.overlay.create(r.positionClass,this.overlayContainer);this.index=this.index+1;let l=e;e&&r.enableHtml&&(l=this.sanitizer.sanitize(a.SecurityContext.HTML,e));const d=new h(s),g=new c(this.index,r,l,n,t,d),f=new b(g,this._injector),p=new u(r.toastComponent,f),m=s.attach(p,this.toastrConfig.newestOnTop);d.componentInstance=m._component;const y={toastId:this.index,message:e||"",toastRef:d,onShown:d.afterActivate(),onHidden:d.afterClosed(),onTap:g.onTap(),onAction:g.onAction(),portal:m};return i||setTimeout(()=>{y.toastRef.activate(),this.currentlyActive=this.currentlyActive+1}),this.toasts.push(y),y}};return t.ngInjectableDef=Object(a["ɵɵdefineInjectable"])({factory:function(){return new t(Object(a["ɵɵinject"])(d),Object(a["ɵɵinject"])(m),Object(a["ɵɵinject"])(a.INJECTOR),Object(a["ɵɵinject"])(o.b),Object(a["ɵɵinject"])(a.NgZone))},token:t,providedIn:"root"}),t})(),_=class{constructor(t,e,n){this.toastrService=t,this.toastPackage=e,this.ngZone=n,this.width=-1,this.toastClasses="",this.state={value:"inactive",params:{easeTime:this.toastPackage.config.easeTime,easing:"ease-in"}},this.message=e.message,this.title=e.title,this.options=e.config,this.originalTimeout=e.config.timeOut,this.toastClasses=`${e.toastType} ${e.config.toastClass}`,this.sub=e.toastRef.afterActivate().subscribe(()=>{this.activateToast()}),this.sub1=e.toastRef.manualClosed().subscribe(()=>{this.remove()}),this.sub2=e.toastRef.timeoutReset().subscribe(()=>{this.resetTimeout()}),this.sub3=e.toastRef.countDuplicate().subscribe(t=>{this.duplicatesCount=t})}get displayStyle(){if("inactive"===this.state.value)return"none"}ngOnDestroy(){this.sub.unsubscribe(),this.sub1.unsubscribe(),this.sub2.unsubscribe(),this.sub3.unsubscribe(),clearInterval(this.intervalId),clearTimeout(this.timeout)}activateToast(){this.state=Object.assign({},this.state,{value:"active"}),!this.options.disableTimeOut&&this.options.timeOut&&(this.outsideTimeout(()=>this.remove(),this.options.timeOut),this.hideTime=(new Date).getTime()+this.options.timeOut,this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10))}updateProgress(){if(0===this.width||100===this.width||!this.options.timeOut)return;const t=(new Date).getTime();this.width=(this.hideTime-t)/this.options.timeOut*100,"increasing"===this.options.progressAnimation&&(this.width=100-this.width),this.width<=0&&(this.width=0),this.width>=100&&(this.width=100)}resetTimeout(){clearTimeout(this.timeout),clearInterval(this.intervalId),this.state=Object.assign({},this.state,{value:"active"}),this.outsideTimeout(()=>this.remove(),this.originalTimeout),this.options.timeOut=this.originalTimeout,this.hideTime=(new Date).getTime()+(this.options.timeOut||0),this.width=-1,this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10)}remove(){"removed"!==this.state.value&&(clearTimeout(this.timeout),this.state=Object.assign({},this.state,{value:"removed"}),this.outsideTimeout(()=>this.toastrService.remove(this.toastPackage.toastId),+this.toastPackage.config.easeTime))}tapToast(){"removed"!==this.state.value&&(this.toastPackage.triggerTap(),this.options.tapToDismiss&&this.remove())}stickAround(){"removed"!==this.state.value&&(clearTimeout(this.timeout),this.options.timeOut=0,this.hideTime=0,clearInterval(this.intervalId),this.width=0)}delayedHideToast(){this.options.disableTimeOut||0===this.options.extendedTimeOut||"removed"===this.state.value||(this.outsideTimeout(()=>this.remove(),this.options.extendedTimeOut),this.options.timeOut=this.options.extendedTimeOut,this.hideTime=(new Date).getTime()+(this.options.timeOut||0),this.width=-1,this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10))}outsideTimeout(t,e){this.ngZone?this.ngZone.runOutsideAngular(()=>this.timeout=setTimeout(()=>this.runInsideAngular(t),e)):this.timeout=setTimeout(()=>t(),e)}outsideInterval(t,e){this.ngZone?this.ngZone.runOutsideAngular(()=>this.intervalId=setInterval(()=>this.runInsideAngular(t),e)):this.intervalId=setInterval(()=>t(),e)}runInsideAngular(t){this.ngZone?this.ngZone.run(()=>t()):t()}};var O;const v=Object.assign({},l,{toastComponent:_});let C=O=class{static forRoot(t={}){return{ngModule:O,providers:[{provide:d,useValue:{default:v,config:t}}]}}},P=class{static forRoot(t={}){return{ngModule:C,providers:[{provide:d,useValue:{default:l,config:t}}]}}};var M;let x=class{constructor(t,e,n){this.toastrService=t,this.toastPackage=e,this.appRef=n,this.width=-1,this.toastClasses="",this.state="inactive",this.message=e.message,this.title=e.title,this.options=e.config,this.originalTimeout=e.config.timeOut,this.toastClasses=`${e.toastType} ${e.config.toastClass}`,this.sub=e.toastRef.afterActivate().subscribe(()=>{this.activateToast()}),this.sub1=e.toastRef.manualClosed().subscribe(()=>{this.remove()}),this.sub2=e.toastRef.timeoutReset().subscribe(()=>{this.resetTimeout()}),this.sub3=e.toastRef.countDuplicate().subscribe(t=>{this.duplicatesCount=t})}get displayStyle(){if("inactive"===this.state)return"none"}ngOnDestroy(){this.sub.unsubscribe(),this.sub1.unsubscribe(),this.sub2.unsubscribe(),this.sub3.unsubscribe(),clearInterval(this.intervalId),clearTimeout(this.timeout)}activateToast(){this.state="active",!this.options.disableTimeOut&&this.options.timeOut&&(this.timeout=setTimeout(()=>{this.remove()},this.options.timeOut),this.hideTime=(new Date).getTime()+this.options.timeOut,this.options.progressBar&&(this.intervalId=setInterval(()=>this.updateProgress(),10))),this.options.onActivateTick&&this.appRef.tick()}updateProgress(){if(0===this.width||100===this.width||!this.options.timeOut)return;const t=(new Date).getTime();this.width=(this.hideTime-t)/this.options.timeOut*100,"increasing"===this.options.progressAnimation&&(this.width=100-this.width),this.width<=0&&(this.width=0),this.width>=100&&(this.width=100)}resetTimeout(){clearTimeout(this.timeout),clearInterval(this.intervalId),this.state="active",this.options.timeOut=this.originalTimeout,this.timeout=setTimeout(()=>this.remove(),this.originalTimeout),this.hideTime=(new Date).getTime()+(this.originalTimeout||0),this.width=-1,this.options.progressBar&&(this.intervalId=setInterval(()=>this.updateProgress(),10))}remove(){"removed"!==this.state&&(clearTimeout(this.timeout),this.state="removed",this.timeout=setTimeout(()=>this.toastrService.remove(this.toastPackage.toastId)))}tapToast(){"removed"!==this.state&&(this.toastPackage.triggerTap(),this.options.tapToDismiss&&this.remove())}stickAround(){"removed"!==this.state&&(clearTimeout(this.timeout),this.options.timeOut=0,this.hideTime=0,clearInterval(this.intervalId),this.width=0)}delayedHideToast(){this.options.disableTimeOut||0===this.options.extendedTimeOut||"removed"===this.state||(this.timeout=setTimeout(()=>this.remove(),this.options.extendedTimeOut),this.options.timeOut=this.options.extendedTimeOut,this.hideTime=(new Date).getTime()+(this.options.timeOut||0),this.width=-1,this.options.progressBar&&(this.intervalId=setInterval(()=>this.updateProgress(),10)))}};const w=Object.assign({},l,{toastComponent:x});let T=M=class{static forRoot(t={}){return{ngModule:M,providers:[{provide:d,useValue:{default:w,config:t}}]}}}},EEGq:function(t,e,n){var a=n("juv8"),r=n("oCl/");t.exports=function(t,e){return a(t,r(t),e)}},EEJc:function(t,e,n){"use strict";var a=n("8Y7J"),r=n("ajRT");n.d(e,"b",(function(){return o})),n.d(e,"c",(function(){return i})),n.d(e,"a",(function(){return c}));var o=a["ɵcrt"]({encapsulation:0,styles:[[".modal-header[_ngcontent-%COMP%]{border-bottom:1px solid #d1d1d1;background-color:#f5f5f5;border-radius:5px 5px 0 0}  .modal-footer{border-bottom:1px solid #d1d1d1;background-color:#f5f5f5;border-radius:0 0 5px 5px}  .modal-body{max-height:70vh;overflow-y:auto;overflow-x:hidden}"]],data:{}});function i(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,5,"div",[["class","modal-header"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,1,"h4",[["class","modal-title float-left"]],null,null,null,null,null)),a["ɵncd"](null,0),(t()(),a["ɵeld"](3,0,null,null,2,"button",[["aria-label","Close"],["class","close float-right"],["type","button"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.close()&&a),a}),null,null)),(t()(),a["ɵeld"](4,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["×"])),a["ɵncd"](null,1)],null,null)}function s(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"cd-modal",[],null,null,null,i,o)),a["ɵdid"](1,49152,null,0,r.a,[],null,null)],null,null)}var c=a["ɵccf"]("cd-modal",r.a,s,{modalRef:"modalRef"},{hide:"hide"},[".modal-title",".modal-content"])},ENF9:function(t,e,n){"use strict";var a,r=n("2oRo"),o=n("4syw"),i=n("8YOa"),s=n("bWFh"),c=n("rKzb"),l=n("hh1v"),d=n("afO8").enforce,u=n("f5p1"),g=!r.ActiveXObject&&"ActiveXObject"in r,f=Object.isExtensible,p=function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},m=t.exports=s("WeakMap",p,c);if(u&&g){a=c.getConstructor(p,"WeakMap",!0),i.REQUIRED=!0;var h=m.prototype,b=h.delete,y=h.has,_=h.get,O=h.set;o(h,{delete:function(t){if(l(t)&&!f(t)){var e=d(this);return e.frozen||(e.frozen=new a),b.call(this,t)||e.frozen.delete(t)}return b.call(this,t)},has:function(t){if(l(t)&&!f(t)){var e=d(this);return e.frozen||(e.frozen=new a),y.call(this,t)||e.frozen.has(t)}return y.call(this,t)},get:function(t){if(l(t)&&!f(t)){var e=d(this);return e.frozen||(e.frozen=new a),y.call(this,t)?_.call(this,t):e.frozen.get(t)}return _.call(this,t)},set:function(t,e){if(l(t)&&!f(t)){var n=d(this);n.frozen||(n.frozen=new a),y.call(this,t)?O.call(this,t,e):n.frozen.set(t,e)}else O.call(this,t,e);return this}})}},EOgW:function(t,e,n){!function(t){"use strict";t.defineLocale("th",{months:"มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม".split("_"),monthsShort:"ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.".split("_"),monthsParseExact:!0,weekdays:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์".split("_"),weekdaysShort:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์".split("_"),weekdaysMin:"อา._จ._อ._พ._พฤ._ศ._ส.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY เวลา H:mm",LLLL:"วันddddที่ D MMMM YYYY เวลา H:mm"},meridiemParse:/ก่อนเที่ยง|หลังเที่ยง/,isPM:function(t){return"หลังเที่ยง"===t},meridiem:function(t,e,n){return t<12?"ก่อนเที่ยง":"หลังเที่ยง"},calendar:{sameDay:"[วันนี้ เวลา] LT",nextDay:"[พรุ่งนี้ เวลา] LT",nextWeek:"dddd[หน้า เวลา] LT",lastDay:"[เมื่อวานนี้ เวลา] LT",lastWeek:"[วัน]dddd[ที่แล้ว เวลา] LT",sameElse:"L"},relativeTime:{future:"อีก %s",past:"%sที่แล้ว",s:"ไม่กี่วินาที",ss:"%d วินาที",m:"1 นาที",mm:"%d นาที",h:"1 ชั่วโมง",hh:"%d ชั่วโมง",d:"1 วัน",dd:"%d วัน",M:"1 เดือน",MM:"%d เดือน",y:"1 ปี",yy:"%d ปี"}})}(n("wd/R"))},EQ5u:function(t,e,n){"use strict";n.d(e,"a",(function(){return s})),n.d(e,"b",(function(){return c}));var a=n("XNiG"),r=n("HDdC"),o=(n("7o/Q"),n("quSY")),i=n("x+ZX");class s extends r.a{constructor(t,e){super(),this.source=t,this.subjectFactory=e,this._refCount=0,this._isComplete=!1}_subscribe(t){return this.getSubject().subscribe(t)}getSubject(){const t=this._subject;return t&&!t.isStopped||(this._subject=this.subjectFactory()),this._subject}connect(){let t=this._connection;return t||(this._isComplete=!1,t=this._connection=new o.a,t.add(this.source.subscribe(new l(this.getSubject(),this))),t.closed&&(this._connection=null,t=o.a.EMPTY)),t}refCount(){return Object(i.a)()(this)}}const c=(()=>{const t=s.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:t._subscribe},_isComplete:{value:t._isComplete,writable:!0},getSubject:{value:t.getSubject},connect:{value:t.connect},refCount:{value:t.refCount}}})();class l extends a.b{constructor(t,e){super(t),this.connectable=e}_error(t){this._unsubscribe(),super._error(t)}_complete(){this.connectable._isComplete=!0,this._unsubscribe(),super._complete()}_unsubscribe(){const t=this.connectable;if(t){this.connectable=null;const e=t._connection;t._refCount=0,t._subject=null,t._connection=null,e&&e.unsubscribe()}}}},ES0t:function(t,e,n){"use strict";n.d(e,"a",(function(){return d}));var a=n("8Y7J"),r=n("KOzp"),o=n("SVse"),i=a["ɵcrt"]({encapsulation:0,styles:[".bs3.popover-top[_nghost-%COMP%] {\n      margin-bottom: 10px;\n    }\n    .bs3.popover.top[_nghost-%COMP%] > .arrow[_ngcontent-%COMP%] {\n      margin-left: -2px;\n    }\n    .bs3.popover.top[_nghost-%COMP%] {\n      margin-bottom: 10px;\n    }\n    .popover.bottom[_nghost-%COMP%] > .arrow[_ngcontent-%COMP%] {\n      margin-left: -4px;\n    }\n    .bs3.bs-popover-left[_nghost-%COMP%] {\n      margin-right: .5rem;\n    }\n    .bs3.bs-popover-right[_nghost-%COMP%]   .arrow[_ngcontent-%COMP%], .bs3.bs-popover-left[_nghost-%COMP%]   .arrow[_ngcontent-%COMP%]{\n      margin: .3rem 0;\n    }"],data:{}});function s(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"h3",[["class","popover-title popover-header"]],null,null,null,null,null)),(t()(),a["ɵted"](1,null,["",""]))],null,(function(t,e){t(e,1,0,e.component.title)}))}function c(t){return a["ɵvid"](2,[(t()(),a["ɵeld"](0,0,null,null,0,"div",[["class","popover-arrow arrow"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,s)),a["ɵdid"](2,16384,null,0,o.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵeld"](3,0,null,null,1,"div",[["class","popover-content popover-body"]],null,null,null,null,null)),a["ɵncd"](null,0)],(function(t,e){t(e,2,0,e.component.title)}),null)}function l(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"popover-container",[["role","tooltip"],["style","display:block;"]],[[8,"className",0],[2,"show",null],[2,"bs3",null]],null,null,c,i)),a["ɵdid"](1,49152,null,0,r.b,[r.a],null,null)],null,(function(t,e){t(e,0,0,"popover in popover-"+a["ɵnov"](e,1).placement+" bs-popover-"+a["ɵnov"](e,1).placement+" "+a["ɵnov"](e,1).placement+" "+a["ɵnov"](e,1).containerClass,!a["ɵnov"](e,1).isBs3,a["ɵnov"](e,1).isBs3)}))}var d=a["ɵccf"]("popover-container",r.b,l,{placement:"placement",title:"title"},{},["*"])},EY2u:function(t,e,n){"use strict";n.d(e,"a",(function(){return r})),n.d(e,"b",(function(){return o}));var a=n("HDdC");const r=new a.a(t=>t.complete());function o(t){return t?function(t){return new a.a(e=>t.schedule(()=>e.complete()))}(t):r}},EgGo:function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var a=n("SVse"),r=n("sne2");class o{constructor(t){this.base=t}static concatURLSegments(t){return t.reduce(a.Location.joinWithSlash)}static buildURL(t,...e){return o.concatURLSegments([...t?["/"]:[],...e])}getURL(t,e=!0,...n){return o.buildURL(e,this.base,t,...n)}getCreate(t=!0){return this.getURL(r.e.CREATE,t)}getCreateFrom(t,e=!0){return this.getURL(r.e.CREATE,e,t)}getDelete(t=!0){return this.getURL(r.e.DELETE,t)}getEdit(t,e=!0){return this.getURL(r.e.EDIT,e,t)}getUpdate(t,e=!0){return this.getURL(r.e.UPDATE,e,t)}getAdd(t=!0){return this.getURL(r.e.ADD,t)}getRemove(t=!0){return this.getURL(r.e.REMOVE,t)}getRecreate(t,e=!0){return this.getURL(r.e.RECREATE,e,t)}}},EiPl:function(t,e,n){"use strict";n.r(e),e.default='<xliff xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 http://docs.oasis-open.org/xliff/v1.2/os/xliff-core-1.2-strict.xsd" xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">\n  <file original="ng2.template" datatype="plaintext" source-language="en-US" target-language="de-DE">\n    <body>\n      <trans-unit id="319e0745bcbc132451569294fa2fa21bf10f555a" datatype="html">\n        <source>Toggle navigation</source>\n        <target>Navigation umschalten</target>\n      </trans-unit>\n      <trans-unit id="f65253954b66e929a8b4d5ecaf61f9129f8cec64" datatype="html">\n        <source>Dashboard</source>\n        <target>Dashboard</target>\n      </trans-unit>\n      <trans-unit id="f4d1dd59b039ad818d9da7e29a773e10e41d9821" datatype="html">\n        <source>Cluster</source>\n        <target>Cluster</target>\n      </trans-unit>\n      <trans-unit id="099b441d49333b3c6d30b36dc0a4763e64c78920" datatype="html">\n        <source>Hosts</source>\n        <target>Hosts</target>\n      </trans-unit>\n      <trans-unit id="2cc3ecb16e348fcf2f2fbfd2f997d4d22f37475b" datatype="html">\n        <source>Inventory</source>\n        <target>Verzeichnis</target>\n      </trans-unit>\n      <trans-unit id="624f596cc3320f5e0a0d7c7346c364e5af9bdd8c" datatype="html">\n        <source>Monitors</source>\n        <target>Monitore</target>\n      </trans-unit>\n      <trans-unit id="419d940613972cc3fae9c8ea0a4306dbf80616e5" datatype="html">\n        <source>Services</source>\n        <target>Services</target>\n      </trans-unit>\n      <trans-unit id="1a9183778f2c6473d7ccb080f651caa01faaf70c" datatype="html">\n        <source>OSDs</source>\n        <target>OSDs</target>\n      </trans-unit>\n      <trans-unit id="4a41f824a35ba01d5bd7be61aa06b3e8145209d0" datatype="html">\n        <source>Configuration</source>\n        <target>Konfiguration</target>\n      </trans-unit>\n      <trans-unit id="8c95898abff46bfac3ed6eb2afef74597e60b15c" datatype="html">\n        <source>CRUSH map</source>\n        <target>CRUSH-Zuordnung</target>\n      </trans-unit>\n      <trans-unit id="33da4dbeb076159510801ea764a218fd341269d2" datatype="html">\n        <source>Manager modules</source>\n        <target>Manager-Module</target>\n      </trans-unit>\n      <trans-unit id="eb3d5aefff38a814b76da74371cbf02c0789a1ef" datatype="html">\n        <source>Logs</source>\n        <target>Protokolle</target>\n      </trans-unit>\n      <trans-unit id="17fc3efe5f9fa4e0289c900cb6202265215a1a27" datatype="html">\n        <source>Monitoring</source>\n        <target>Überwachung</target>\n      </trans-unit>\n      <trans-unit id="92899fa68e8ca108912163ff58edc8540e453787" datatype="html">\n        <source>Pools</source>\n        <target>Pools</target>\n      </trans-unit>\n      <trans-unit id="7f5d0c10614e8a34f0e2dad33a0568277c50cf69" datatype="html">\n        <source>Block</source>\n        <target>Block</target>\n      </trans-unit>\n      <trans-unit id="b73f7f5060fb22a1e9ec462b1bb02493fa3ab866" datatype="html">\n        <source>Images</source>\n        <target>Images</target>\n      </trans-unit>\n      <trans-unit id="3c2562ba992127203dcfd014010b03cb7b8113c6" datatype="html">\n        <source>Mirroring</source>\n        <target>Spiegelung</target>\n      </trans-unit>\n      <trans-unit id="811c241d56601b91ef26735b770e64428089b950" datatype="html">\n        <source>iSCSI</source>\n        <target>iSCSI</target>\n      </trans-unit>\n      <trans-unit id="a24eabd99ea5af20f5f94c4484649cd30370042b" datatype="html">\n        <source>NFS</source>\n        <target>NFS</target>\n      </trans-unit>\n      <trans-unit id="a4eff72d97b7ced051398d581f10968218057ddc" datatype="html">\n        <source>Filesystems</source>\n        <target>Dateisysteme</target>\n      </trans-unit>\n      <trans-unit id="2190548d236ca5f7bc7ab2bca334b860c5ff2ad4" datatype="html">\n        <source>Object Gateway</source>\n        <target>Objektgateway</target>\n      </trans-unit>\n      <trans-unit id="9e24f9e2d42104ffc01599db4d566d1cc518f9e6" datatype="html">\n        <source>Daemons</source>\n        <target>Daemons</target>\n      </trans-unit>\n      <trans-unit id="4d13a9cd5ed3dcee0eab22cb25198d43886942be" datatype="html">\n        <source>Users</source>\n        <target>Benutzer</target>\n      </trans-unit>\n      <trans-unit id="9515520496da83179d8b08132f00f575512a1f40" datatype="html">\n        <source>Buckets</source>\n        <target>Buckets</target>\n      </trans-unit>\n      <trans-unit id="797f8214e8148f4bf0d244baaa7341706b419549" datatype="html">\n        <source>Retrieving data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>. Please wait...\n        </source>\n        <target>Daten \n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> für\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>werden abgerufen. Bitte warten...\n        </target>\n      </trans-unit>\n      <trans-unit id="5a870dc77b9f6f33ee671ea2d856021276933339" datatype="html">\n        <source>Displaying previously cached data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>\n  for \n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n        </source>\n        <target>Zuvor zwischengespeicherte Daten\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>\n  für \n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/> werden angezeigt.\n        </target>\n      </trans-unit>\n      <trans-unit id="ae580202919844531361ba2308287226ff74a584" datatype="html">\n        <source>Could not load data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n  Please check the cluster health.\n        </source>\n        <target>Daten\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> für\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/> konnten nicht geladen werden.\n  Prüfen Sie die Clusterintegrität.\n        </target>\n      </trans-unit>\n      <trans-unit id="7e52e9143145e1db5146258de81eae018a407b31" datatype="html">\n        <source>Clear notifications</source>\n        <target>Benachrichtigungen löschen</target>\n      </trans-unit>\n      <trans-unit id="b0b07bb6b7ff21ede439dd04eaf8872d1ecb84d8" datatype="html">\n        <source>Remove notification</source>\n        <target>Benachrichtigungen entfernen</target>\n      </trans-unit>\n      <trans-unit id="e17a1d75189da843f541f7764f188f2b19a97df2" datatype="html">\n        <source>Duration:</source>\n        <target>Dauer:</target>\n      </trans-unit>\n      <trans-unit id="0d4b37c6675c5b436a54c43d6716eec835e1aa7f" datatype="html">\n        <source>There are no notifications.</source>\n        <target>Es sind keine Benachrichtigungen verfügbar.</target>\n      </trans-unit>\n      <trans-unit id="0a23e992f6c6e169a38b2b7338b4e5e803b52e0d" datatype="html">\n        <source>Tasks and Notifications</source>\n        <target>Aufträge und Benachrichtigungen</target>\n      </trans-unit>\n      <trans-unit id="3fb5709e10166cbc85970cbff103db227dbeb813" datatype="html">\n        <source>Select a Language</source>\n        <target>Sprache auswählen</target>\n      </trans-unit>\n      <trans-unit id="c5109325fb160b543f71a51e7511c00575057431" datatype="html">\n        <source>Loading panel data...</source>\n        <target>Bereichsdaten werden geladen...</target>\n      </trans-unit>\n      <trans-unit id="8ca12411f890ab8b0a9216418e2b8f5ea7d2441a" datatype="html">\n        <source>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the monitoring functionality.\n        </source>\n        <target>Lesen Sie die\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Dokumentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> zum\n  Konfigurieren und Aktivieren der Überwachungsfunktion.\n        </target>\n      </trans-unit>\n      <trans-unit id="160a9e80dc089792df42e2400b1e81b9e7025aa7" datatype="html">\n        <source>Grafana Dashboard doesn\'t exist. Please refer to\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  add dashboards to Grafana.\n        </source>\n        <target>Das Grafana-Dashboard ist nicht vorhanden. In der\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Dokumentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> wird beschrieben,\n  wie Grafana Dashboards hinzugefügt werden.\n        </target>\n      </trans-unit>\n      <trans-unit id="4e11830040bd64804a0555de76f291d5832772d4" datatype="html">\n        <source>Grafana Time Picker</source>\n        <target>Grafana-Zeitauswahl</target>\n      </trans-unit>\n      <trans-unit id="238c1ba845dd7330e8088165275919a1debf1ca3" datatype="html">\n        <source>Reset Settings</source>\n        <target>Einstellungen für Zurücksetzungen</target>\n      </trans-unit>\n      <trans-unit id="c8d1785038d461ec66b5799db21864182b35900a" datatype="html">\n        <source>Refresh</source>\n        <target>Aktualisieren</target>\n      </trans-unit>\n      <trans-unit id="6c947210e2d162b6225083d18820ab602f58cd2d" datatype="html">\n        <source>Remove the custom configuration value. The default configuration will be inherited and used instead.</source>\n        <target>Entfernen Sie den aktuellen Konfigurationswert. Stattdessen wird der Standard-Konfigurationswert übernommen und verwendet.</target>\n      </trans-unit>\n      <trans-unit id="454ee9cb60b00446a8fb147fd2cc5eb836320586" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ option.maxValue }}"/>.\n        </source>\n        <target>Der eingegebene Wert ist zu hoch! Er darf nicht größer als \n          <x id="INTERPOLATION" equiv-text="{{ option.maxValue }}"/> sein.\n        </target>\n      </trans-unit>\n      <trans-unit id="7fc8a22825131e028336f60ef909ccbd96059703" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ option.minValue }}"/>.\n        </source>\n        <target>Der eingegebene Wert ist zu niedrig! Er darf nicht kleiner als \n          <x id="INTERPOLATION" equiv-text="{{ option.minValue }}"/> sein.\n        </target>\n      </trans-unit>\n      <trans-unit id="cda31dbd724cf5f4fa7a4274d9120651490c8a8c" datatype="html">\n        <source>Back</source>\n        <target>Zurück</target>\n      </trans-unit>\n      <trans-unit id="9ce641535be1ffa106c87724ba0637facaef5f61" datatype="html">\n        <source>Your password will expire in \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>less than 1\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day. Click\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.\n        </source>\n        <target>Das Passwort läuft in \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>weniger als 1 \n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>Tag ab. Klicken Sie \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> hier \n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>, um es jetzt zu ändern.\n        </target>\n      </trans-unit>\n      <trans-unit id="c2f34088c155e40ffb23770a465a65868ce772b2" datatype="html">\n        <source>Your password will expire in \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ expirationDays }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day(s). Click\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.\n        </source>\n        <target>Das Passwort läuft in \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ expirationDays }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>Tag(en) ab. Klicken Sie \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> hier \n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>, um es jetzt zu ändern.\n        </target>\n      </trans-unit>\n      <trans-unit id="9b516f972c744779257310b73f6e97438b726707" datatype="html">\n        <source>Orchestrator is not available. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the functionality.\n        </source>\n        <target>Das Modul "Orchestrator" ist nicht verfügbar. Lesen Sie die \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Dokumentation \n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>zum Konfigurieren und Aktivieren dieses Moduls.\n        </target>\n      </trans-unit>\n      <trans-unit id="012741ee52b3c050e4a977c37cc2334f7974f141" datatype="html">\n        <source>Failed to load data.</source>\n        <target>Daten konnten nicht geladen werden.</target>\n      </trans-unit>\n      <trans-unit id="1e5e23363e949f7dcbaf034bdb141a561132a10e" datatype="html">\n        <source>Clear filters</source>\n        <target>Filter löschen</target>\n      </trans-unit>\n      <trans-unit id="80cc9a12d4bf6fe454ed94b379eeaf915f920bb7" datatype="html">\n        <source>selected</source>\n        <target>ausgewählt</target>\n        <note>X selected</note>\n      </trans-unit>\n      <trans-unit id="0cb77511a9a148e05b9adf36cc07269956fbb29d" datatype="html">\n        <source>found</source>\n        <target>gefunden</target>\n        <note>X found</note>\n      </trans-unit>\n      <trans-unit id="79347388740c50b7ac97e144c2494bb62912f312" datatype="html">\n        <source>total</source>\n        <target>insgesamt</target>\n        <note>X total</note>\n      </trans-unit>\n      <trans-unit id="cff1428d10d59d14e45edec3c735a27b5482db59" datatype="html">\n        <source>Name</source>\n        <target>Name</target>\n      </trans-unit>\n      <trans-unit id="eec715de352a6b114713b30b640d319fa78207a0" datatype="html">\n        <source>Description</source>\n        <target>Beschreibung</target>\n      </trans-unit>\n      <trans-unit id="4ad112ce9bcd55dfd137792a86afe1b5a5b13cf8" datatype="html">\n        <source>Long description</source>\n        <target>Detaillierte Beschreibung</target>\n      </trans-unit>\n      <trans-unit id="ff7cee38a2259526c519f878e71b964f41db4348" datatype="html">\n        <source>Default</source>\n        <target>Standard</target>\n      </trans-unit>\n      <trans-unit id="33e1c1d9fc05ca3f62fcc8a1170fc31ebae4229c" datatype="html">\n        <source>Daemon default</source>\n        <target>Daemon-Standard</target>\n      </trans-unit>\n      <trans-unit id="809b0c848932a41318f77a2aace904ef429c13f4" datatype="html">\n        <source>Values</source>\n        <target>Werte</target>\n      </trans-unit>\n      <trans-unit id="5894f7158499fdb89527af50c9f1cf7d4c95cad6" datatype="html">\n        <source>-- Default --</source>\n        <target>-- Standard --</target>\n      </trans-unit>\n      <trans-unit id="514f6e12d035a6d9b00de6b3e55c18b73488da07" datatype="html">\n        <source>true</source>\n        <target>wahr</target>\n      </trans-unit>\n      <trans-unit id="774f5e6a183dea08393789b6f72e86afad729419" datatype="html">\n        <source>false</source>\n        <target>falsch</target>\n      </trans-unit>\n      <trans-unit id="82029b6db704c56a2aa3e82ac555b8655356b077" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.\n        </source>\n        <target>Der eingegebene Wert ist zu hoch! Er darf nicht größer als \n          <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/> sein.\n        </target>\n      </trans-unit>\n      <trans-unit id="8ed8b3967a7326b81b191c9f490006e6a6777a9a" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ minValue }}"/>.\n        </source>\n        <target>Der eingegebene Wert ist zu niedrig! Er darf nicht kleiner als \n          <x id="INTERPOLATION" equiv-text="{{ minValue }}"/> sein.\n        </target>\n      </trans-unit>\n      <trans-unit id="52c9a103b812f258bcddc3d90a6e3f46871d25fe" datatype="html">\n        <source>Save</source>\n        <target>Speichern</target>\n      </trans-unit>\n      <trans-unit id="738de688b22fba5d0dc7a5e549996838dddad0ee" datatype="html">\n        <source>CRUSH map viewer</source>\n        <target>CRUSH-Betrachter</target>\n      </trans-unit>\n      <trans-unit id="94516fa213706c67ce5a5b5765681d7fb032033a" datatype="html">\n        <source>Loading...</source>\n        <target>Laden...</target>\n      </trans-unit>\n      <trans-unit id="formTitle" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </target>\n        <note>form title</note>\n      </trans-unit>\n      <trans-unit id="9a541ec1a4319fffc16ad3b3ab2c2b6d251a829d" datatype="html">\n        <source>Hostname</source>\n        <target>Hostname</target>\n      </trans-unit>\n      <trans-unit id="7cbdabcece469fab89cfa687ab152bca18b97498" datatype="html">\n        <source>This field is required.</source>\n        <target>Dies ist ein Pflichtfeld.</target>\n      </trans-unit>\n      <trans-unit id="1b3f5e5291541678f7afa49d28fad5ca848a8061" datatype="html">\n        <source>The chosen hostname is already in use.</source>\n        <target>Der ausgewählte Hostname wird bereits verwendet.</target>\n      </trans-unit>\n      <trans-unit id="formActionButton" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </target>\n        <note>form action button</note>\n      </trans-unit>\n      <trans-unit id="6110699a3562eeb15371063c0cf7f6bfd88a0209" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemNames[0] }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemNames[0] }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>?\n        </target>\n      </trans-unit>\n      <trans-unit id="549859e511ba5af0ea03fcaa620c472f08038969" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected items?\n        </source>\n        <target>Sind Sie sicher dass Sie die ausgewählten Einträge \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> möchten?\n        </target>\n      </trans-unit>\n      <trans-unit id="54839ebc827b73c9dc4e1df731c6d36a85036af7" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected \n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>?\n        </source>\n        <target>Sind Sie sicher dass Sie die ausgewählten \n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>\n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> möchten?\n        </target>\n      </trans-unit>\n      <trans-unit id="2be8b7f04f0104d3fad90d079d8202b74f758b9a" datatype="html">\n        <source>Yes, I am sure.</source>\n        <target>Ja, ich bin sicher.</target>\n      </trans-unit>\n      <trans-unit id="d7b35c384aecd25a516200d6921836374613dfe7" datatype="html">\n        <source>Cancel</source>\n        <target>Abbrechen</target>\n      </trans-unit>\n      <trans-unit id="55a2f26b2e87886d9b8015a887e38e51ab2a866a" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8" datatype="html">\n        <source>Close</source>\n        <target>Schließen</target>\n      </trans-unit>\n      <trans-unit id="40661476cb24c89d8b06614998e31d5fbe84eeb6" datatype="html">\n        <source>Hosts List</source>\n        <target>Liste mit Hosts</target>\n      </trans-unit>\n      <trans-unit id="5e7f4b1ca49e8d217bd0e12c6f7d6b6a2ade2c18" datatype="html">\n        <source>Overall Performance</source>\n        <target>Gesamtleistung</target>\n      </trans-unit>\n      <trans-unit id="3e24569eca61d598c8b01defbbbb1fa8bd5222bc" datatype="html">\n        <source>Devices</source>\n        <target>Laufwerke</target>\n      </trans-unit>\n      <trans-unit id="e6d57f36aa2bad303c8a8ee944b9bd7fae3c8c26" datatype="html">\n        <source>No entries found</source>\n        <target>Keine Einträge gefunden</target>\n      </trans-unit>\n      <trans-unit id="d556ab48a65722b400e497f61737f553ee0f89e2" datatype="html">\n        <source>Cluster Logs</source>\n        <target>Clusterprotokolle</target>\n      </trans-unit>\n      <trans-unit id="5f966baffd188be0e8adc2d7067b86e55fc9b9de" datatype="html">\n        <source>Audit Logs</source>\n        <target>Revisionsprotokoll</target>\n      </trans-unit>\n      <trans-unit id="4193c9eb868aeec119b78a14795241e0aa5e8b60" datatype="html">\n        <source>Priority:</source>\n        <target>Priorität:</target>\n      </trans-unit>\n      <trans-unit id="1d78ca51eab260ce3fd917d39190d64df5229b6e" datatype="html">\n        <source>Keyword:</source>\n        <target>Schlüsselwort:</target>\n      </trans-unit>\n      <trans-unit id="05fa0bded36de6e73a1fa44838b627349dace044" datatype="html">\n        <source>Date:</source>\n        <target>Datum:</target>\n      </trans-unit>\n      <trans-unit id="31dadb362bf7f7c2afa10e5f96474ccd3977f91f" datatype="html">\n        <source>Datepicker</source>\n        <target>Datumsauswahl</target>\n      </trans-unit>\n      <trans-unit id="85a400388de1899b1917138cf7e5286376f72847" datatype="html">\n        <source>Time range:</source>\n        <target>Zeitraum:</target>\n      </trans-unit>\n      <trans-unit id="2447796ddbda942f4e2c46619cb84d69f066e568" datatype="html">\n        <source>Loading configuration...</source>\n        <target>Konfiguration wird geladen...</target>\n      </trans-unit>\n      <trans-unit id="b42c0b347a841bed8859ee83de05080ee28c803b" datatype="html">\n        <source>The configuration could not be loaded.</source>\n        <target>Die Konfiguration konnte nicht geladen werden.</target>\n      </trans-unit>\n      <trans-unit id="31a9c2870a934b594d1390146c489f76440859ea" datatype="html">\n        <source>Edit Manager module</source>\n        <target>Manager-Modul bearbeiten</target>\n      </trans-unit>\n      <trans-unit id="46e09b8290d3d0afdb6baa2021395b0570606a31" datatype="html">\n        <source>The entered value is not a valid UUID, e.g.: 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8</source>\n        <target>Der eingegebene Wert ist kein gültiger UUID, z. B.: 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8</target>\n      </trans-unit>\n      <trans-unit id="7aacd038b39cfd347107d01d1dc27f5cb3e0951c" datatype="html">\n        <source>The entered value needs to be a valid IP address.</source>\n        <target>Der eingegebene Wert muss eine gültige IP-Adresse sein.</target>\n      </trans-unit>\n      <trans-unit id="f19106149f4b07a0d721f9d317afed393cb7bd93" datatype="html">\n        <source>The entered value is too high! It must be lower or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.max }}"/>.\n        </source>\n        <target>Der eingegebene Wert ist zu hoch! Er muss kleiner als \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.max }}"/> sein oder diesem Wert entsprechen.\n        </target>\n      </trans-unit>\n      <trans-unit id="6d33c40ef9a6c3bf0888df831b25e41e65f9d15b" datatype="html">\n        <source>The entered value is too low! It must be greater or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.min }}"/>.\n        </source>\n        <target>Der eingegebene Wert ist zu niedrig! Er muss größer als \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.min }}"/> sein oder diesem Wert entsprechen.\n        </target>\n      </trans-unit>\n      <trans-unit id="eae7086660cf1e38c7194a2c49ff52cc656f90f5" datatype="html">\n        <source>The entered value needs to be a number.</source>\n        <target>Der eingegebene Wert muss eine Zahl sein.</target>\n      </trans-unit>\n      <trans-unit id="a73376e04b4fb3a20734c8c39743fba32e6676ce" datatype="html">\n        <source>The entered value needs to be a number or decimal.</source>\n        <target>Der eingegebene Wert muss eine Zahl oder Dezimalzahl sein.</target>\n      </trans-unit>\n      <trans-unit id="047f50bc5b5d17b5bec0196355953e1a5c590ddb" datatype="html">\n        <source>Update</source>\n        <target>Aktualisiere</target>\n      </trans-unit>\n      <trans-unit id="81b97b8ea996ad1e4f9fca8415021850214884b1" datatype="html">\n        <source>Status</source>\n        <target>Status</target>\n      </trans-unit>\n      <trans-unit id="57ec6032f5618d4a9f16eb950ad23d2ce7c24b54" datatype="html">\n        <source>Cluster ID</source>\n        <target>Cluster-ID</target>\n      </trans-unit>\n      <trans-unit id="67d7facc3fec5f8a49ab9ba0a245872184264ce5" datatype="html">\n        <source>monmap modified</source>\n        <target>Monmap geändert</target>\n      </trans-unit>\n      <trans-unit id="d4906731aaf2b94b4f547646c9bfe58bb77951b6" datatype="html">\n        <source>monmap epoch</source>\n        <target>Monmap-Epoche</target>\n      </trans-unit>\n      <trans-unit id="bd4ee06ffdc46d9dfbd0c0c4f81399021c680056" datatype="html">\n        <source>quorum con</source>\n        <target>quorum con</target>\n      </trans-unit>\n      <trans-unit id="1176c7db8a8276ccb44cc3d42e2c28d9fa6c6596" datatype="html">\n        <source>quorum mon</source>\n        <target>quorum mon</target>\n      </trans-unit>\n      <trans-unit id="530ef677a09d681b3ab68cb0760494b3ae72a77c" datatype="html">\n        <source>required con</source>\n        <target>erforderliche Verbindung</target>\n      </trans-unit>\n      <trans-unit id="a91558e0d506c32021c31843f8f168899fc65cbf" datatype="html">\n        <source>required mon</source>\n        <target>erforderliche Überwachung</target>\n      </trans-unit>\n      <trans-unit id="b3abe9eac5bcd94a54c8da93b312e085ec512e74" datatype="html">\n        <source>In Quorum</source>\n        <target>In Quorum</target>\n      </trans-unit>\n      <trans-unit id="ba4b748a676e1f217ce1e736fb7ec1215e677bae" datatype="html">\n        <source>Not In Quorum</source>\n        <target>Nicht in Quorum</target>\n      </trans-unit>\n      <trans-unit id="4383e9662ea19839c7499b2128d43a195e564317" datatype="html">\n        <source>OSD creation preview</source>\n        <target>Vorschau der OSD-Erstellung</target>\n      </trans-unit>\n      <trans-unit id="366225c51e0b00bcb1c55795a0dc5e81c455f84e" datatype="html">\n        <source>DriveGroups</source>\n        <target>DriveGroups</target>\n      </trans-unit>\n      <trans-unit id="8edc89137d0d8c5667a2f03230beafae45e58429" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ deviceType }}"/> devices\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ deviceType }}"/> devices\n        </target>\n      </trans-unit>\n      <trans-unit id="eba28e1805b18f7c8ae2e4bc15dcf063b10b3822" datatype="html">\n        <source>At least one of these filters must be applied in order to proceed:</source>\n        <target>At least one of these filters must be applied in order to proceed:</target>\n      </trans-unit>\n      <trans-unit id="93389aa2fe2bea50bf89554ee51b28f87ee2fb50" datatype="html">\n        <source>Number of devices: \n          <x id="INTERPOLATION" equiv-text="{{ filteredDevices.length }}"/>. Raw capacity:\n          <x id="INTERPOLATION_1" equiv-text="{{ capacity | dimlessBinary }}"/>.\n        </source>\n        <target>Number of devices: \n          <x id="INTERPOLATION" equiv-text="{{ filteredDevices.length }}"/>. Raw capacity:\n          <x id="INTERPOLATION_1" equiv-text="{{ capacity | dimlessBinary }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="ccb4f84edc0b4e76415bb3f9b73d725b06683af3" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ name }}"/> devices\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ name }}"/> Laufwerke\n        </target>\n      </trans-unit>\n      <trans-unit id="60cb3d01e5ddf266ecb4271007a1c3d0f3efdc22" datatype="html">\n        <source>The primary storage devices. These devices contain all OSD data.</source>\n        <target>The primary storage devices. These devices contain all OSD data.</target>\n      </trans-unit>\n      <trans-unit id="b432e04886d0d1fd84f740477383051f85addcf2" datatype="html">\n        <source>Write-Ahead-Log devices. These devices are used for BlueStore’s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device.</source>\n        <target>Write-Ahead-Log devices. These devices are used for BlueStore’s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device.</target>\n      </trans-unit>\n      <trans-unit id="b87e181ab9e8393aa5ed759dd3d53836e32c8ffe" datatype="html">\n        <source>DB devices can be used for storing BlueStore’s internal metadata.  It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD).</source>\n        <target>DB devices can be used for storing BlueStore’s internal metadata.  It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD).</target>\n      </trans-unit>\n      <trans-unit id="f6755cff4957d5c3c89bafce5651f1b6fa2b1fd9" datatype="html">\n        <source>Add</source>\n        <target>Hinzufügen</target>\n      </trans-unit>\n      <trans-unit id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46" datatype="html">\n        <source>Clear</source>\n        <target>Löschen</target>\n      </trans-unit>\n      <trans-unit id="7e0fd3c7af0630f93befa6234a693a32a61084e0" datatype="html">\n        <source>Raw capacity: \n          <x id="INTERPOLATION" equiv-text="{{ capacity | dimlessBinary }}"/>\n        </source>\n        <target>Raw capacity: \n          <x id="INTERPOLATION" equiv-text="{{ capacity | dimlessBinary }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="43ecf6bee2aebc07b0aad6dc1fe13e38d14687fa" datatype="html">\n        <source>Shared devices</source>\n        <target>Geteilte Laufwerke</target>\n      </trans-unit>\n      <trans-unit id="7a1c376f6f1b37de4c318ff2106255ba6c0f5b0b" datatype="html">\n        <source>WAL slots</source>\n        <target>WAL Slots</target>\n      </trans-unit>\n      <trans-unit id="73811a6f37b63e6b0e491e221bfa21e9dea8a87a" datatype="html">\n        <source>How many OSDs per WAL device.</source>\n        <target>Wie viele OSDs pro WAL-Laufwerk.</target>\n      </trans-unit>\n      <trans-unit id="0c67a7ac4762ef1cc855056c6b4daab93e53a0a5" datatype="html">\n        <source>Specify 0 to let Orchestrator backend decide it.</source>\n        <target>Geben Sie 0 an, um das Orchestrator-Backend entscheiden zu lassen.</target>\n      </trans-unit>\n      <trans-unit id="7bda9362e06e6c67341b4a8425b0d29d6b84464b" datatype="html">\n        <source>Value should be greater than or equal to 0</source>\n        <target>Der Wert sollte größer als oder gleich 0 sein</target>\n      </trans-unit>\n      <trans-unit id="324c2b10152b9dd908222bb0b71f61beb60a30c5" datatype="html">\n        <source>DB slots</source>\n        <target>DB Slots</target>\n      </trans-unit>\n      <trans-unit id="c23cf12ef9c76f37fc7a4b7ae3e00fb0f68b6e26" datatype="html">\n        <source>How many OSDs per DB device.</source>\n        <target>Wie viele OSDs pro DB-Laufwerk.</target>\n      </trans-unit>\n      <trans-unit id="6cdb1fea93d77c07950c0c76c6e0ad79ebbef084" datatype="html">\n        <source>Features</source>\n        <target>Funktionen</target>\n      </trans-unit>\n      <trans-unit id="3e2a583f531f7dd9f089f68a6968e444c372c3e8" datatype="html">\n        <source>Preview</source>\n        <target>Vorschau</target>\n      </trans-unit>\n      <trans-unit id="5ef50ba2514414f799d4c8fc36067a251904ba81" datatype="html">\n        <source>Cluster-wide OSD Flags</source>\n        <target>Clusterweite OSD-Flags</target>\n      </trans-unit>\n      <trans-unit id="71c77bb8cecdf11ec3eead24dd1ba506573fa9cd" datatype="html">\n        <source>Submit</source>\n        <target>Absenden</target>\n      </trans-unit>\n      <trans-unit id="1cfe07dac5b4ee1c464eb24225ddeb4f1d24076a" datatype="html">\n        <source>Advanced...</source>\n        <target>Erweitert...</target>\n      </trans-unit>\n      <trans-unit id="b1ef1c12ddcee305353623919ef02778569f5454" datatype="html">\n        <source>Advanced configuration options</source>\n        <target>Erweiterte Konfigurationsoptionen</target>\n      </trans-unit>\n      <trans-unit id="c35f9c5f268a514b970cc55e9a5dc4bed0988e7f" datatype="html">\n        <source>OSD Recovery Priority</source>\n        <target>OSD-Wiederherstellungspriorität</target>\n      </trans-unit>\n      <trans-unit id="b74af38005e8a8914e45af2ec412e11ceafef8b6" datatype="html">\n        <source>Priority</source>\n        <target>Priorität</target>\n      </trans-unit>\n      <trans-unit id="c2f48f04b379bfba133825747adfd238d511412e" datatype="html">\n        <source>Customize priority values</source>\n        <target>Prioritätswerte anpassen</target>\n      </trans-unit>\n      <trans-unit id="4aa19de2a2b54cbda39e9c62917b23044c087776" datatype="html">\n        <source>This field is required!</source>\n        <target>Dies ist ein Pflichtfeld!</target>\n      </trans-unit>\n      <trans-unit id="b699e94bf376491bd50b70a98531071c737eaf40" datatype="html">\n        <source>[object Object]</source>\n        <target>[object Object]</target>\n      </trans-unit>\n      <trans-unit id="98fe13e7ad6c2b80375d204b47858ded83f80e15" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.maxValue }}"/>.\n        </source>\n        <target>Der eingegebene Wert ist zu hoch! Er darf nicht größer als \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.maxValue }}"/> sein.\n        </target>\n      </trans-unit>\n      <trans-unit id="5423a3c111be47fc5a1bfe46ceb58c81c84db691" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.minValue }}"/>.\n        </source>\n        <target>Der eingegebene Wert ist zu niedrig! Er darf nicht kleiner als \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.minValue }}"/> sein.\n        </target>\n      </trans-unit>\n      <trans-unit id="5251a4355cece3075db43f15d69a24a0f8485707" datatype="html">\n        <source>Reweight OSD: \n          <x id="INTERPOLATION" equiv-text="{{ osdId }}"/>\n        </source>\n        <target>Reweight OSD: \n          <x id="INTERPOLATION" equiv-text="{{ osdId }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="67650b2998db48201b2c6176cbfef51e7211ccaa" datatype="html">\n        <source>The value needs to be between 0 and 1.</source>\n        <target>Der Wert muss zwischen 0 und 1 liegen.</target>\n      </trans-unit>\n      <trans-unit id="bc11f92113d678a90e334fdf3d7b3fddbe34c579" datatype="html">\n        <source>Reweight</source>\n        <target>Neu gewichten</target>\n      </trans-unit>\n      <trans-unit id="d5ca5daf742023fc4f0919fb3c1c6a51991cda4f" datatype="html">\n        <source>OSDs \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>Scrub\n        </source>\n        <target>OSDs \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>Scrub\n        </target>\n      </trans-unit>\n      <trans-unit id="4c17d67c7c5799eb920030e9a399961e90f55dd8" datatype="html">\n        <source>{VAR_SELECT, select, 1 {Deep } }</source>\n        <target>{VAR_SELECT, select, 1 {Tief } }</target>\n      </trans-unit>\n      <trans-unit id="fd0a4b6eed32e3488eccdc9c13f9841f08cc275e" datatype="html">\n        <source>You are about to apply a \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to\n          the OSD(s): \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ selected | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.\n        </source>\n        <target>You are about to apply a \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to\n          the OSD(s): \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ selected | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="dc6705f342a036b332c3fd3443201c3613e5524d" datatype="html">\n        <source>{VAR_SELECT, select, 1 {deep } }</source>\n        <target>{VAR_SELECT, select, 1 {tief } }</target>\n      </trans-unit>\n      <trans-unit id="b49d7877d24112d4bdfce9256edf61a007fae888" datatype="html">\n        <source>OSDs List</source>\n        <target>OSD-Liste</target>\n      </trans-unit>\n      <trans-unit id="d5707a32ba9c1138e6423498fb0b24e970ebd19f" datatype="html">\n        <source>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) \n          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </source>\n        <target>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) \n          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </target>\n      </trans-unit>\n      <trans-unit id="d08c1e4f17dffc0ed1ac2e2e2875cb8b569eeb35" datatype="html">\n        <source>The \n          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to be \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>! \n          <x id="INTERPOLATION_1" equiv-text="{{ message }}"/>\n        </source>\n        <target>The \n          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to be \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>! \n          <x id="INTERPOLATION_1" equiv-text="{{ message }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="e776996dac651ef3819bfa767ccf2a0613759f47" datatype="html">\n        <source>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</source>\n        <target>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</target>\n      </trans-unit>\n      <trans-unit id="5cd6a031937412c42e5efa1e6959cb72ac08c720" datatype="html">\n        <source>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD \n          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </source>\n        <target>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD \n          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </target>\n      </trans-unit>\n      <trans-unit id="3eda19b44809820fffd5d3753bafb7243116f4b0" datatype="html">\n        <source>To see all active Prometheus alerts, please\n      provide the URL to the API of Prometheus\' Alertmanager as described in the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </source>\n        <target>To see all active Prometheus alerts, please\n      provide the URL to the API of Prometheus\' Alertmanager as described in the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="880ad4df5a2051a437321443d69c9a866699e5ad" datatype="html">\n        <source>Active Alerts</source>\n        <target>Aktive Warnungen</target>\n      </trans-unit>\n      <trans-unit id="8e5e0e09a11990d343926ed693574213d703c38d" datatype="html">\n        <source>All Alerts</source>\n        <target>Alle Warnungen</target>\n      </trans-unit>\n      <trans-unit id="526938c2b7945cb0d68328c24bd77730230cd455" datatype="html">\n        <source>To enable Silences, please provide the URL to the API of the Prometheus\' Alertmanager as\n      described in the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </source>\n        <target>To enable Silences, please provide the URL to the API of the Prometheus\' Alertmanager as\n      described in the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="aa0c44aa1e5727061baa91e954f77e2f5f9a37c9" datatype="html">\n        <source>Silences</source>\n        <target>Silences</target>\n      </trans-unit>\n      <trans-unit id="8501055865d7031b5521a0c5467532648009a61d" datatype="html">\n        <source>Matcher</source>\n        <target>Matcher</target>\n      </trans-unit>\n      <trans-unit id="9c25e04f554875dc2625a78ba0fc56c6010cd0d3" datatype="html">\n        <source>-- Select an attribute to match against --</source>\n        <target>-- Wählen Sie das zu vergleichende Attribut --</target>\n      </trans-unit>\n      <trans-unit id="5049e204c14c648691ac775a64fb504467aeb549" datatype="html">\n        <source>Value</source>\n        <target>Wert</target>\n      </trans-unit>\n      <trans-unit id="77fc5c63497fc031ddc97645484e3d94ad27766c" datatype="html">\n        <source>Use regular expression</source>\n        <target>Regulären Ausdruck verwenden</target>\n      </trans-unit>\n      <trans-unit id="7bbec1a797283712c0adf9e71d77fb5a8cd720db" datatype="html">\n        <source>{VAR_SELECT, select, 1 {Update} other {Add} }</source>\n        <target>{VAR_SELECT, select, 1 {Update} other {Add} }</target>\n      </trans-unit>\n      <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c" datatype="html">\n        <source>Edit</source>\n        <target>Bearbeiten</target>\n      </trans-unit>\n      <trans-unit id="826b25211922a1b46436589233cb6f1a163d89b7" datatype="html">\n        <source>Delete</source>\n        <target>Löschen</target>\n      </trans-unit>\n      <trans-unit id="a3ba06aba047605af8ea1718ec1ba153b7db12a2" datatype="html">\n        <source>Editing a silence will expire the old silence and recreate it as a new silence</source>\n        <target>Das Bearbeiten einer Stummschaltung löscht die Vorherige und legt eine neue Stummschaltung an.</target>\n      </trans-unit>\n      <trans-unit id="a20424156b8816671f61879f0574a4f27d7b16b9" datatype="html">\n        <source>Creator</source>\n        <target>Ersteller</target>\n      </trans-unit>\n      <trans-unit id="5a5d7ee2acbfa9c91ab7f41d26bda9ff0cafe42f" datatype="html">\n        <source>Comment</source>\n        <target>Kommentar</target>\n      </trans-unit>\n      <trans-unit id="4c11aad490b2d53fdae30b3807beabf79306752c" datatype="html">\n        <source>Start time</source>\n        <target>Startzeit</target>\n      </trans-unit>\n      <trans-unit id="32856b1e8e339b747b21e313e2fe65a51fd450bb" datatype="html">\n        <source>If the start time lies in the past the creation time will be used</source>\n        <target>Wenn die Startzeit in der Vergangenheit liegt, wird die Erstellungszeit verwendet</target>\n      </trans-unit>\n      <trans-unit id="a02ea1d4e7424ca989929da5e598f379940fdbf2" datatype="html">\n        <source>Duration</source>\n        <target>Dauer</target>\n      </trans-unit>\n      <trans-unit id="2f4e35e36f4d3c62e2c17df41730b6dee4afc4b9" datatype="html">\n        <source>End time</source>\n        <target>Ende</target>\n      </trans-unit>\n      <trans-unit id="992123459137d45c15df5548bc9682aad835c04b" datatype="html">\n        <source>Matchers</source>\n        <target>Matchers</target>\n      </trans-unit>\n      <trans-unit id="3e023166c55833d5a13f4143e3dbe372befe1b4e" datatype="html">\n        <source>A silence requires at least one matcher</source>\n        <target>A silence requires at least one matcher</target>\n      </trans-unit>\n      <trans-unit id="ef765bd80c4806c51c891908c07a24bc76f019eb" datatype="html">\n        <source>Add matcher</source>\n        <target>Add matcher</target>\n      </trans-unit>\n      <trans-unit id="d2bcd3296d2850de762fb943060b7e086a893181" datatype="html">\n        <source>Health</source>\n        <target>Integrität</target>\n      </trans-unit>\n      <trans-unit id="61e0f26d843eec0b33ff475e111b0c2f7a80b835" datatype="html">\n        <source>Statistics</source>\n        <target>Statistiken</target>\n      </trans-unit>\n      <trans-unit id="f8f74e5f683012b9c0702b1446011c6b9158bc67" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the NFS Ganesha management functionality.\n        </source>\n        <target>Lesen Sie die \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Dokumentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> zum\n  Konfigurieren und Aktivieren der Verwaltungsfunktion für NFS Ganesha.\n        </target>\n      </trans-unit>\n      <trans-unit id="7ffe39df9d88c972792bd8688b215392deb8313d" datatype="html">\n        <source>Clients</source>\n        <target>Clients</target>\n      </trans-unit>\n      <trans-unit id="f2dae0bda66f6a349444951c0379c28cda47d6d1" datatype="html">\n        <source>Any client can access</source>\n        <target>Jeder Client hat Zugriff</target>\n      </trans-unit>\n      <trans-unit id="7882f2edb1d4139800b276b6b0bbf5ae0b2234ef" datatype="html">\n        <source>Addresses</source>\n        <target>Adressen</target>\n      </trans-unit>\n      <trans-unit id="9bd96fcf50863e685c74d0490392f46689ffbdb6" datatype="html">\n        <source>Required field</source>\n        <target>Pflichtfeld</target>\n      </trans-unit>\n      <trans-unit id="a5f3f74c0f6925826cb2188576391c0da01a23f0" datatype="html">\n        <source>Must contain one or more comma-separated values</source>\n        <target>Muss mindestens einen kommagetrennten Wert enthalten</target>\n      </trans-unit>\n      <trans-unit id="8bb5b2073697f3f4378c44a49b7524934c9268f4" datatype="html">\n        <source>For example:</source>\n        <target>Beispielsweise:</target>\n      </trans-unit>\n      <trans-unit id="8f969c655b3fbe4fba7e277caf4cd2c459f9fca5" datatype="html">\n        <source>Access Type</source>\n        <target>Zugriffstyp</target>\n      </trans-unit>\n      <trans-unit id="28952831a284cfe2b4fc39ca610e80b52598905a" datatype="html">\n        <source>Squash</source>\n        <target>Squash</target>\n      </trans-unit>\n      <trans-unit id="0660ae339068979854ade34a96546980723dede3" datatype="html">\n        <source>Add clients</source>\n        <target>Clients hinzufügen</target>\n      </trans-unit>\n      <trans-unit id="135b91a2d908d5814b782695470a6a786c99d9d2" datatype="html">\n        <source>-- No cluster available --</source>\n        <target>-- Kein Cluster verfügbar --</target>\n      </trans-unit>\n      <trans-unit id="c501dba379f566885919240ea277b5bc10c14d18" datatype="html">\n        <source>-- Select the cluster --</source>\n        <target>-- Cluster auswählen --</target>\n      </trans-unit>\n      <trans-unit id="cf85b1ee58326aa9da63da41b2629c9db7c9a5b9" datatype="html">\n        <source>Add daemon</source>\n        <target>Daemon hinzufügen</target>\n      </trans-unit>\n      <trans-unit id="b3f6ba7fe84d6508705cdfe234f0fcc8ff85c9cf" datatype="html">\n        <source>Storage Backend</source>\n        <target>Speicher-Back-End</target>\n      </trans-unit>\n      <trans-unit id="151c80ea931037cd92e854442927f8a0f6ae7795" datatype="html">\n        <source>-- No data pools available --</source>\n        <target>-- Keine Datenpools verfügbar --</target>\n      </trans-unit>\n      <trans-unit id="b6fee356d1db954255a56d8169405a89595246b9" datatype="html">\n        <source>-- Select the storage backend --</source>\n        <target>-- Speicher-Back-End auswählen --</target>\n      </trans-unit>\n      <trans-unit id="76d67035c3ab3d8e56f725859f820f03fda41cfc" datatype="html">\n        <source>Object Gateway User</source>\n        <target>Objektgatewaybenutzer</target>\n      </trans-unit>\n      <trans-unit id="fade7788bace74337f306ae209f10fc187ef4671" datatype="html">\n        <source>-- No users available --</source>\n        <target>-- Keine Benutzer verfügbar --</target>\n      </trans-unit>\n      <trans-unit id="6d30b7b36cf8f6364167321bdb4ba35d4cefce7b" datatype="html">\n        <source>-- Select the object gateway user --</source>\n        <target>-- Objektgatewaybenutzer auswählen --</target>\n      </trans-unit>\n      <trans-unit id="589ce20d3ba3e3ac44f75decfaadc4ea8f0aec2d" datatype="html">\n        <source>CephFS User ID</source>\n        <target>CephFS-Benutzer-ID</target>\n      </trans-unit>\n      <trans-unit id="c4b88a53ac3b0ece46ba9b3ad72355a3c190cce7" datatype="html">\n        <source>-- No clients available --</source>\n        <target>-- keine Clients verfügbar --</target>\n      </trans-unit>\n      <trans-unit id="da52835b80497a0002d24414b057dc46ae44ce38" datatype="html">\n        <source>-- Select the cephx client --</source>\n        <target>-- cephx-Client auswählen --</target>\n      </trans-unit>\n      <trans-unit id="fd3419e8957d928d7f7ba19c93356a0dbff02871" datatype="html">\n        <source>CephFS Name</source>\n        <target>CephFS-Name</target>\n      </trans-unit>\n      <trans-unit id="ee3ba0ab5f0ccd597b3e44021c71e9aaad14df0a" datatype="html">\n        <source>-- No CephFS filesystem available --</source>\n        <target>-- Kein CephFS Dateisystem verfügbar --</target>\n      </trans-unit>\n      <trans-unit id="764c57812558b1ae66c5eec95d7efd2b1bf761e3" datatype="html">\n        <source>-- Select the CephFS filesystem --</source>\n        <target>-- CephFS Dateisystem auswählen --</target>\n      </trans-unit>\n      <trans-unit id="957512d0321f73e9f115bce1bd823fa635170c41" datatype="html">\n        <source>Security Label</source>\n        <target>Sicherheitsbezeichnung</target>\n      </trans-unit>\n      <trans-unit id="65ce0fa4da1ed55e658aeb31d1644a29f06bb342" datatype="html">\n        <source>Enable security label</source>\n        <target>Sicherheitsbezeichnung aktivieren</target>\n      </trans-unit>\n      <trans-unit id="7e808f804130c7b6ff719509cbc06ebb27393a48" datatype="html">\n        <source>CephFS Path</source>\n        <target>CephFS-Pfad</target>\n      </trans-unit>\n      <trans-unit id="5ecc0107badb6625466aaa3f975b5c05276f432f" datatype="html">\n        <source>Path need to start with a \'/\' and can be followed by a word</source>\n        <target>Pfad muss mit einem \'/\' beginnen und kann von einem Wort gefolgt werden</target>\n      </trans-unit>\n      <trans-unit id="2d02916f44fc63e13ab16d1cbe72aa6cb51feab3" datatype="html">\n        <source>New directory will be created</source>\n        <target>Neues Verzeichnis wird erstellt</target>\n      </trans-unit>\n      <trans-unit id="766c66ad5cc981c531aaf3fe3a2a7a346ddc8d83" datatype="html">\n        <source>Path</source>\n        <target>Pfad</target>\n      </trans-unit>\n      <trans-unit id="7ec35c722a50b976620f22612f7be619c12ceb90" datatype="html">\n        <source>Path can only be a single \'/\' or a word</source>\n        <target>Pfad darf nur ein einzelner \'/\' oder ein Wort sein</target>\n      </trans-unit>\n      <trans-unit id="aebb6a5090c24511de4530195694bb3f3dcf0342" datatype="html">\n        <source>New bucket will be created</source>\n        <target>Neuer Bucket wird erstellt</target>\n      </trans-unit>\n      <trans-unit id="bee6900143996c0e908a10564532eba3da0b30fb" datatype="html">\n        <source>NFS Protocol</source>\n        <target>NFS-Protokoll</target>\n      </trans-unit>\n      <trans-unit id="2f534178c01ebf1307da2eaeef04bc6801ebc729" datatype="html">\n        <source>NFSv3</source>\n        <target>NFSv3</target>\n      </trans-unit>\n      <trans-unit id="f5043c0921e709935ab026bb3253ffe1f159fca1" datatype="html">\n        <source>NFSv4</source>\n        <target>NFSv4</target>\n      </trans-unit>\n      <trans-unit id="92488963d23095985a47c0d6e62304e11d333f19" datatype="html">\n        <source>NFS Tag</source>\n        <target>NFS-Tag</target>\n      </trans-unit>\n      <trans-unit id="aae93362720aea94623682996dd3fcd0f906f056" datatype="html">\n        <source>Alternative access for \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v3\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> mounts (it must not have a leading /).\n        </source>\n        <target>Alternativer Zugriff für \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v3\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>-Mountpunkte (dürfen keinen führenden / enthalten)\n        </target>\n      </trans-unit>\n      <trans-unit id="45d6db77dcf1a3eeb921033abc7882e517a541cc" datatype="html">\n        <source>Clients may not mount subdirectories (i.e. if Tag = foo, the client may not mount foo/baz).</source>\n        <target>Clients können Unterverzeichnisse möglicherweise nicht mounten (d. h. wenn der Pfad = foo ist, kann der Client foo/baz möglicherweise nicht mounten).</target>\n      </trans-unit>\n      <trans-unit id="a1c7a8676b55e882a97c6a6fb205204f9c761afa" datatype="html">\n        <source>By using different Tag options, the same Path may be exported multiple times.</source>\n        <target>Wenn unterschiedliche Tag-Optionen verwendet werden, wird derselbe Pfad möglicherweise mehrfach exportiert.</target>\n      </trans-unit>\n      <trans-unit id="6d2c39708a32910f89701dd7e1cfb9ec1c195768" datatype="html">\n        <source>Pseudo</source>\n        <target>Pseudo</target>\n      </trans-unit>\n      <trans-unit id="1f8be2ae25947bec0b84c2338201580ea053f34e" datatype="html">\n        <source>The position that this \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v4\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> export occupies\n                in the \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>Pseudo FS\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> (it must be unique).\n        </source>\n        <target>Die Position dieses \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v4\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>-Exports\n                auf dem \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>Pseudo-Dateisystem\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> (muss eindeutig sein).\n        </target>\n      </trans-unit>\n      <trans-unit id="f3af55f7fd5b1d9e5a53e030c80116dc635bfb9f" datatype="html">\n        <source>By using different Pseudo options, the same Path may be exported multiple times.</source>\n        <target>Wenn unterschiedliche Pseudo-Optionen verwendet werden, wird derselbe Pfad möglicherweise mehrfach exportiert.</target>\n      </trans-unit>\n      <trans-unit id="ddf98fcdeeb17643db020d54f42b5e56b5f9a52a" datatype="html">\n        <source>Pseudo needs to start with a \'/\' and can\'t contain any of the following: &gt;, &lt;, |, &amp;, ( or ).</source>\n        <target>Pseudo needs to start with a \'/\' and can\'t contain any of the following: &gt;, &lt;, |, &amp;, ( or ).</target>\n      </trans-unit>\n      <trans-unit id="27eb35c4b4ac08781a7253a2ab40f8f7d957ba51" datatype="html">\n        <source>-- No access type available --</source>\n        <target>-- Kein Zugriffstyp verfügbar --</target>\n      </trans-unit>\n      <trans-unit id="509ce016c9110a54028dafd741f15ceacbe74b5a" datatype="html">\n        <source>-- Select the access type --</source>\n        <target>-- Zugriffstyp auswählen --</target>\n      </trans-unit>\n      <trans-unit id="49850390a653cd05dc5843d74ef073a9122b54c9" datatype="html">\n        <source>The Object Gateway NFS backend has a number of\n              limitations which will seriously affect applications writing to\n              the share. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for details before enabling write access.\n        </source>\n        <target>Das NFS-Backend für das Objektgateway besitzt eine Reihe von\n Einschränkungen, die Schreibvorgänge von Anwendungen auf diese\n Freigaben ernsthaft beeinträchtigen. Bitte konsultieren Sie die\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> Dokumentation \n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> für weitere Informationen, bevor Sie den Schreibzugriff aktivieren.\n        </target>\n      </trans-unit>\n      <trans-unit id="4deda03573eaaff77e63f6a238a1f0ca7816950a" datatype="html">\n        <source>-- No squash available --</source>\n        <target>-- Kein Squash verfügbar --</target>\n      </trans-unit>\n      <trans-unit id="a0e82a4da88e7fdf270444f838d45849676e9d4b" datatype="html">\n        <source>--Select what kind of user id squashing is performed --</source>\n        <target>-- Durchzuführende Benutzer-ID-Squashing-Art auswählen --</target>\n      </trans-unit>\n      <trans-unit id="d01b7c3f7f06712c53d054cfbe4f53d446b038e8" datatype="html">\n        <source>Transport Protocol</source>\n        <target>Transportprotokoll</target>\n      </trans-unit>\n      <trans-unit id="d2a6ad6e8bc315f07911722c05767ac79c136d99" datatype="html">\n        <source>UDP</source>\n        <target>UDP</target>\n      </trans-unit>\n      <trans-unit id="9c030f11e0aae9b24d2c048c57f29f590be621df" datatype="html">\n        <source>TCP</source>\n        <target>TCP</target>\n      </trans-unit>\n      <trans-unit id="734c9905951a774870497c5aaae8e3ee833b6196" datatype="html">\n        <source>CephFS</source>\n        <target>CephFS</target>\n      </trans-unit>\n      <trans-unit id="0eb15f32b2b92d7f3103ef3ff032621888a8dc32" datatype="html">\n        <source>Old password</source>\n        <target>Altes Passwort</target>\n      </trans-unit>\n      <trans-unit id="1cf42e491adc166a337a960eb84d03c0c3f677c8" datatype="html">\n        <source>The old and new passwords must be different.</source>\n        <target>Das alte und neue Passwort müssen unterschiedlich sein.</target>\n      </trans-unit>\n      <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229" datatype="html">\n        <source>New password</source>\n        <target>Neues Passwort</target>\n      </trans-unit>\n      <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b" datatype="html">\n        <source>Confirm new password</source>\n        <target>Neues Passwort bestätigen</target>\n      </trans-unit>\n      <trans-unit id="90163a3d3746819aef42e829f4446331232f3b66" datatype="html">\n        <source>Password confirmation doesn\'t match the new password.</source>\n        <target>Passwortbestätigung stimmt nicht mit dem neuen Passwort überein.</target>\n      </trans-unit>\n      <trans-unit id="d06ae77f9ec46a4cdd49e7e76c73a411aaf2ee38" datatype="html">\n        <source>Please set a new password.</source>\n        <target>Bitte legen Sie ein neues Passwort fest.</target>\n      </trans-unit>\n      <trans-unit id="8b5b3566e88438f51bd5f6caf6c090ed565ba5ed" datatype="html">\n        <source>You will be redirected to the login page afterwards.</source>\n        <target>Sie werden anschließend auf die Login-Seite weitergeleitet.</target>\n      </trans-unit>\n      <trans-unit id="449dca3d3a93ead418b0541ea81b0dda7e6483c2" datatype="html">\n        <source>Welcome to Ceph!</source>\n        <target>Willkommen bei Ceph!</target>\n        <note>The welcome message on the login page</note>\n      </trans-unit>\n      <trans-unit id="0070e83d11da39d6f4bb95065c2675db1610b419" datatype="html">\n        <source>Username is required</source>\n        <target>Benutzername ist erforderlich</target>\n      </trans-unit>\n      <trans-unit id="1e20f8b8a4706526c9024cc2f39d568345d100dc" datatype="html">\n        <source>Password is required</source>\n        <target>Passwort ist erforderlich</target>\n      </trans-unit>\n      <trans-unit id="6765b4c916060f6bc42d9bb69e80377dbcb5e4e9" datatype="html">\n        <source>Login</source>\n        <target>Anmeldung</target>\n      </trans-unit>\n      <trans-unit id="58fc1b5c79a75370eb52644fd83fb2e7096b6649" datatype="html">\n        <source>Sorry, the user does not exist in Ceph.</source>\n        <target>Der Benutzer ist in Ceph leider nicht enthalten.</target>\n      </trans-unit>\n      <trans-unit id="d9deb94f78e7c41b35c6622b874f06657d7604c1" datatype="html">\n        <source>Return to \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Login Page\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You\'ll be logged out from the Identity Provider when you retry logging in.\n        </source>\n        <target>Kehren Sie zur \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Anmeldeseite\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> zurück. Sie werden vom Identitätsanbieter abgemeldet, wenn Sie versuchen, sich erneut anzumelden.\n        </target>\n      </trans-unit>\n      <trans-unit id="471e78026c258073ba687478dc54c35d9041ea42" datatype="html">\n        <source>Forbidden</source>\n        <target>Verboten</target>\n      </trans-unit>\n      <trans-unit id="02ea8ad57677e3c63f3d7814ca5e6c7b74e360b4" datatype="html">\n        <source>Sorry, you are not allowed to see what you were looking for.</source>\n        <target>Leider sind Sie nicht berechtigt, den gewünschten Inhalt anzuzeigen.</target>\n      </trans-unit>\n      <trans-unit id="2240b985f17293d84cc8532fe86994aa5f63667c" datatype="html">\n        <source>Sorry, we could not find what you were looking for.</source>\n        <target>Leider konnte der gewünschte Inhalt nicht gefunden werden.</target>\n      </trans-unit>\n      <trans-unit id="ac54c18c1b520e948095c83a3a1025f02ce6dcc6" datatype="html">\n        <source>Neither hostname nor OSD ID given</source>\n        <target>Weder Hostname noch OSD ID angegeben</target>\n      </trans-unit>\n      <trans-unit id="4f635b3cb0600409a2ad44a5bd1863c699e6a01c" datatype="html">\n        <source>Failed to retrieve SMART data.</source>\n        <target>Failed to retrieve SMART data.</target>\n      </trans-unit>\n      <trans-unit id="d82a9af5b05e7cd17640f196f163771685ff8df6" datatype="html">\n        <source>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</source>\n        <target>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</target>\n      </trans-unit>\n      <trans-unit id="04f8a3c7e8ac610e6581960162cc15f55a16696a" datatype="html">\n        <source>No SMART data available.</source>\n        <target>No SMART data available.</target>\n      </trans-unit>\n      <trans-unit id="3a03d3c2e459f8f8fa7202c0fce465d6165f9e2b" datatype="html">\n        <source>passed</source>\n        <target>bestanden</target>\n      </trans-unit>\n      <trans-unit id="a185c9b97513b3882604ea9bab60edbfac945c15" datatype="html">\n        <source>SMART overall-health self-assessment test result</source>\n        <target>SMART overall-health self-assessment test result</target>\n      </trans-unit>\n      <trans-unit id="41435d5a5692c8e412c74deaee95d99dbd3617e1" datatype="html">\n        <source>failed</source>\n        <target>fehlgeschlagen</target>\n      </trans-unit>\n      <trans-unit id="ddd5dd6d930030096ea617f62c82b648a0dd9484" datatype="html">\n        <source>Device Information</source>\n        <target>Laufwerksinformationen</target>\n      </trans-unit>\n      <trans-unit id="380295f37caea93701d071485a38ef0bdba57133" datatype="html">\n        <source>No SMART data available for this device.</source>\n        <target>Keine SMART-Daten für dieses Laufwerk verfügbar.</target>\n      </trans-unit>\n      <trans-unit id="20cb12827cbe559a7b1da6fdae96041b3b5c3c55" datatype="html">\n        <source>SMART</source>\n        <target>SMART</target>\n      </trans-unit>\n      <trans-unit id="5758c3f16f8749f0f4e2a787f02e8b4da246102f" datatype="html">\n        <source>SMART data is loading.</source>\n        <target>SMART-Daten werden geladen.</target>\n      </trans-unit>\n      <trans-unit id="a949d7e577902d0e5dc5d0971bb0170a21be7728" datatype="html">\n        <source>[object Object]</source>\n        <target>[object Object]</target>\n      </trans-unit>\n      <trans-unit id="ff92fbdec9fdd5054493eeda0d7ee8b450f83e72" datatype="html">\n        <source>RBD Configuration</source>\n        <target>RBD-Konfiguration</target>\n      </trans-unit>\n      <trans-unit id="b62d9efc8eb3b589904f6cb96a0406bbda55673a" datatype="html">\n        <source>Remove the local configuration value. The parent configuration value will be inherited and used instead.</source>\n        <target>Entfernen Sie den lokalen Konfigurationswert. Stattdessen wird der übergeordnete Konfigurationswert übernommen und verwendet.</target>\n      </trans-unit>\n      <trans-unit id="963488a1010d46067b238c4ae917fab3907c0a3a" datatype="html">\n        <source>The mininum value is 0</source>\n        <target>Der Mindestwert lautet 0</target>\n      </trans-unit>\n      <trans-unit id="1d8a7c8aea58294a3c57c23af0468ddf0ba0c9c7" datatype="html">\n        <source>Pools List</source>\n        <target>Pool-Liste</target>\n      </trans-unit>\n      <trans-unit id="490e15ecc922965b6d8194754c87c5583aa071f3" datatype="html">\n        <source>The name can only consist of alphanumeric characters, dashes and underscores.</source>\n        <target>Der Name darf nur alphanumerische Zeichen, Bindestriche und Unterstriche enthalten.</target>\n      </trans-unit>\n      <trans-unit id="9edc2b494e660618af3e5225f68d40b7ca67629c" datatype="html">\n        <source>The chosen erasure code profile name is already in use.</source>\n        <target>Der ausgewählte Erasure-Coding-Profilname wird bereits verwendet.</target>\n      </trans-unit>\n      <trans-unit id="35a4206db3105ed03e0dd799e1642b75b78123e8" datatype="html">\n        <source>Root</source>\n        <target>Root</target>\n      </trans-unit>\n      <trans-unit id="cf425784c7073c7e7f7c1bb90c2c19db7e751db2" datatype="html">\n        <source>Failure domain type</source>\n        <target>Failure domain type</target>\n      </trans-unit>\n      <trans-unit id="72396a9565cf644d1fe1b21b790c4243ee270986" datatype="html">\n        <source>Device class</source>\n        <target>Laufwerksklasse</target>\n      </trans-unit>\n      <trans-unit id="72d80e0c07bfea1b693a33ef2245007de92a6780" datatype="html">\n        <source>Let Ceph decide</source>\n        <target>Let Ceph decide</target>\n      </trans-unit>\n      <trans-unit id="ef9ff0e6227947b48dfab4ac39ade04af758913b" datatype="html">\n        <source>Plugin</source>\n        <target>Plugin</target>\n      </trans-unit>\n      <trans-unit id="dd69b31bce8f630eac1d4762b0bbcf72ce19d193" datatype="html">\n        <source>Data chunks (k)</source>\n        <target>Datenblöcke (k)</target>\n      </trans-unit>\n      <trans-unit id="b0d26a6172d32cb81218fe2103c54a818cbc1189" datatype="html">\n        <source>Must be equal to or greater than 2.</source>\n        <target>Muss größer oder gleich 2 sein.</target>\n      </trans-unit>\n      <trans-unit id="dab3a299ead121169b8e08ed618c3b6a2f66691b" datatype="html">\n        <source>Coding chunks (m)</source>\n        <target>Datenblöcke für die Codierung (m)</target>\n      </trans-unit>\n      <trans-unit id="1e2773e5bd4948193f18f2361d663ecc3988c656" datatype="html">\n        <source>Must be equal to or greater than 1.</source>\n        <target>Muss größer oder gleich 1 sein.</target>\n      </trans-unit>\n      <trans-unit id="6cde4c945a49a260c0a47bcc7cd956846930a5f7" datatype="html">\n        <source>Durability estimator (c)</source>\n        <target>Dauerhaftigkeitsschätzung (c)</target>\n      </trans-unit>\n      <trans-unit id="af668c2a095a979ea2b4e43cd82c2120ab56c21c" datatype="html">\n        <source>Locality (l)</source>\n        <target>Standort (l)</target>\n      </trans-unit>\n      <trans-unit id="d455a110bf6d2235e314e295ce1dfeee93d3dff2" datatype="html">\n        <source>Crush failure domain</source>\n        <target>Crush-Ausfalldomäne</target>\n      </trans-unit>\n      <trans-unit id="b74a495f041f7dd102eee5c0bbc9e03083b538ae" datatype="html">\n        <source>Crush Locality</source>\n        <target>Crush-Standort</target>\n      </trans-unit>\n      <trans-unit id="a2f14a73f7a6e94479f67423cc51102da8d6f524" datatype="html">\n        <source>None</source>\n        <target>Keine</target>\n      </trans-unit>\n      <trans-unit id="2981733b912b693a9dd9d915d6d34f4692cc874a" datatype="html">\n        <source>Technique</source>\n        <target>Technik</target>\n      </trans-unit>\n      <trans-unit id="e0098b6e47b04ec817361f384ce81d454ba5c0bb" datatype="html">\n        <source>Packetsize</source>\n        <target>Paketgröße</target>\n      </trans-unit>\n      <trans-unit id="c0252cd81ca54d0a2f69ec9ccf4248e73df5aa4a" datatype="html">\n        <source>Crush root</source>\n        <target>Crush-Stamm</target>\n      </trans-unit>\n      <trans-unit id="1548d5c76f0406ddd1ba3c557e1e6db22e95b340" datatype="html">\n        <source>Crush device class</source>\n        <target>Crush-Geräteklasse</target>\n      </trans-unit>\n      <trans-unit id="5e85feb6f9f0334366e46ee09ca6b8df52397432" datatype="html">\n        <source>any</source>\n        <target>beliebig</target>\n      </trans-unit>\n      <trans-unit id="03d84645f6e019c5a43909bbf2ea1696ee88332c" datatype="html">\n        <source>Directory</source>\n        <target>Verzeichnis</target>\n      </trans-unit>\n      <trans-unit id="2fecea01ce1d44114ee45144eff6d47a5016a74f" datatype="html">\n        <source>Name...</source>\n        <target>Name...</target>\n      </trans-unit>\n      <trans-unit id="16e113230b6b0d3165e076300880542bac7c8138" datatype="html">\n        <source>The chosen Ceph pool name is already in use.</source>\n        <target>Der ausgewählte Poolname wird bereits verwendet.</target>\n      </trans-unit>\n      <trans-unit id="c75b132bef7b29fa5171768303c4b96e34ccaf68" datatype="html">\n        <source>It\'s not possible to create an RBD pool with \'/\' in the name.\n              Please change the name or remove \'rbd\' from the applications list.</source>\n        <target>It\'s not possible to create an RBD pool with \'/\' in the name.\n              Please change the name or remove \'rbd\' from the applications list.</target>\n      </trans-unit>\n      <trans-unit id="171dc6d5c6bc4615d99778b0088cae80fd00bd10" datatype="html">\n        <source>Pool name can only contain letters, numbers, \'.\', \'-\', \'_\' or \'/\'.</source>\n        <target>Pool name can only contain letters, numbers, \'.\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="b85c657469e5ec8231c3de99b22f437bc01ffde5" datatype="html">\n        <source>Pool type</source>\n        <target>Pooltyp</target>\n      </trans-unit>\n      <trans-unit id="526c5443254c3b126eedb264840ffe827727bfd3" datatype="html">\n        <source>-- Select a pool type --</source>\n        <target>-- Pooltyp auswählen --</target>\n      </trans-unit>\n      <trans-unit id="6abfbe47b630929d93c7343dc154599c2e59330a" datatype="html">\n        <source>PG Autoscale</source>\n        <target>PG Autoskalierung</target>\n      </trans-unit>\n      <trans-unit id="0aa21053410a94aa61d16985a4e95fd65523430d" datatype="html">\n        <source>Placement groups</source>\n        <target>Platzierungsgruppen</target>\n      </trans-unit>\n      <trans-unit id="6301f1391d726f8f450bb358058534db19541ca9" datatype="html">\n        <source>At least one placement group is needed!</source>\n        <target>Es wird mindestens eine Platzierungsgruppe benötigt.</target>\n      </trans-unit>\n      <trans-unit id="ba9469a1ce6ed36e039c1f67247c8c81a5c71449" datatype="html">\n        <source>Your cluster can\'t handle this many PGs. Please recalculate the PG amount needed.</source>\n        <target>Ihr Cluster kann nicht so viele Platzierungsgruppen verarbeiten. Berechnen Sie die benötigte Anzahl an Platzierungsgruppen.</target>\n      </trans-unit>\n      <trans-unit id="80ac68cd883369dac20688bc32b4cb33291b5e50" datatype="html">\n        <source>Calculation help</source>\n        <target>Hilfe zur Berechnung</target>\n      </trans-unit>\n      <trans-unit id="fccbd60493df26705d957ed6c02a3c447894678f" datatype="html">\n        <source>The current PGs settings were calculated for you, you\n                should make sure the values suit your needs before submit.</source>\n        <target>Die aktuellen Einstellungen für die Platzierungsgruppen wurden für Sie berechnet.\n                    Stellen Sie vor dem Senden sicher, dass die Werte Ihren Anforderungen entsprechen.</target>\n      </trans-unit>\n      <trans-unit id="a43b2695131b48b76cebba676aba98a2bee17515" datatype="html">\n        <source>Replicated size</source>\n        <target>Reproduzierte Größe</target>\n      </trans-unit>\n      <trans-unit id="7bff144a4c4dc63b0e18fff2617d61a7ebdf2b6c" datatype="html">\n        <source>Minimum: \n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/>\n        </source>\n        <target>Minimum: \n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="1a9c54b41f6d58a74e5d0aa3429ed0c87a482551" datatype="html">\n        <source>Maximum: \n          <x id="INTERPOLATION" equiv-text="{{ getMaxSize() }}"/>\n        </source>\n        <target>Maximum: \n          <x id="INTERPOLATION" equiv-text="{{ getMaxSize() }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6ab647b95bd2347ae6f4605576de5e0269fb893a" datatype="html">\n        <source>The size specified is out of range. A value from\n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/> to \n          <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.\n        </source>\n        <target>Die angegebene Größe liegt außerhalb des Bereichs. Gültige Werte liegen zwischen\n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/> und \n          <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="920617c6a1a4805e53bcb5af6a9c76f8387e89c6" datatype="html">\n        <source>Flags</source>\n        <target>Flags</target>\n      </trans-unit>\n      <trans-unit id="1c870fb00256b8a5b9cb9cd1a124e6390b9bc639" datatype="html">\n        <source>EC Overwrites</source>\n        <target>EC-Überschreibungen</target>\n      </trans-unit>\n      <trans-unit id="f1abafaeb40ce52355ddcc24686e3cd17b64e08a" datatype="html">\n        <source>Applications</source>\n        <target>Anwendungen</target>\n      </trans-unit>\n      <trans-unit id="fb9308b82fc183f710df60909f49cfc73aa5e076" datatype="html">\n        <source>CRUSH</source>\n        <target>CRUSH</target>\n      </trans-unit>\n      <trans-unit id="9de7dde00e2139cc4bd03b1837afbe72ad15a1ff" datatype="html">\n        <source>Erasure code profile</source>\n        <target>Erasure-Coding-Profil</target>\n      </trans-unit>\n      <trans-unit id="39b4620e6bd444e0a57a0a5c03fa8c96d7fe5235" datatype="html">\n        <source>-- No erasure code profile available --</source>\n        <target>-- Kein Erasure-Coding-Profil verfügbar --</target>\n      </trans-unit>\n      <trans-unit id="498561757390d5528b263ce450d5f38efb00266d" datatype="html">\n        <source>-- Select an erasure code profile --</source>\n        <target>-- Erasure-Coding-Profil auswählen --</target>\n      </trans-unit>\n      <trans-unit id="33150f22ce5348aa6c499bd092c3f4f3695d62cc" datatype="html">\n        <source>Crush ruleset</source>\n        <target>Crush-Regelsatz</target>\n      </trans-unit>\n      <trans-unit id="c69b0bcd4698aa845d32c4c4ad488492552cb469" datatype="html">\n        <source>A new crush ruleset will be implicitly created.</source>\n        <target>Ein neuer CRUSH Regelsatz wird implizit erstellt.</target>\n      </trans-unit>\n      <trans-unit id="896e9987db5e9bb279e6deed5d2dff28c242ef66" datatype="html">\n        <source>There are no rules.</source>\n        <target>Keine Regeln vorhanden.</target>\n      </trans-unit>\n      <trans-unit id="73a6b31116b3cc322af951daa0bafdc169e6c42e" datatype="html">\n        <source>-- Select a crush rule --</source>\n        <target>-- Crush-Regel auswählen --</target>\n      </trans-unit>\n      <trans-unit id="ea91d648f92002bc9f96d9b26b735c83ca0b53c6" datatype="html">\n        <source>This rule can\'t be deleted as it is in use.</source>\n        <target>This rule can\'t be deleted as it is in use.</target>\n      </trans-unit>\n      <trans-unit id="92da80699921e89fb19372e25b8d0f3b9fa427fc" datatype="html">\n        <source>Crush rule</source>\n        <target>Crush-Regel</target>\n      </trans-unit>\n      <trans-unit id="5489e9f96835f469f6f728a00d8efa88ea5bc940" datatype="html">\n        <source>Crush steps</source>\n        <target>Crush-Schritte</target>\n      </trans-unit>\n      <trans-unit id="fc5f5496a9e50fe69e1a09784f28d94944108294" datatype="html">\n        <source>Rule is not in use.</source>\n        <target>Rule is not in use.</target>\n      </trans-unit>\n      <trans-unit id="023d6f718770d2ea4ab8cabe26b0ec27ef967ec2" datatype="html">\n        <source>Used by pools</source>\n        <target>Used by pools</target>\n      </trans-unit>\n      <trans-unit id="104a0e6900d1d1b0c8cf9e5947e36edb352583fc" datatype="html">\n        <source>The rule can\'t be used in the current cluster as it has\n                  too few OSDs to meet the minimum required OSD by this rule.</source>\n        <target>The rule can\'t be used in the current cluster as it has\n                  too few OSDs to meet the minimum required OSD by this rule.</target>\n      </trans-unit>\n      <trans-unit id="2208d63d5940ce656006a220102b1eb2b5e553da" datatype="html">\n        <source>Compression</source>\n        <target>Komprimierung</target>\n      </trans-unit>\n      <trans-unit id="37e10df2d9c0c25ef04ac112c9c9a7723e8efae0" datatype="html">\n        <source>Mode</source>\n        <target>Modus</target>\n      </trans-unit>\n      <trans-unit id="6c6f25c47da62ec597c6057a36ddfc3209811ec5" datatype="html">\n        <source>Algorithm</source>\n        <target>Algorithmus</target>\n      </trans-unit>\n      <trans-unit id="4903231d42089325a28892c0fde1aed46b733ae6" datatype="html">\n        <source>-- No erasure compression algorithm available --</source>\n        <target>-- Kein Komprimierungsalgorithmus für Erasure-Coding verfügbar --</target>\n      </trans-unit>\n      <trans-unit id="5d68ddb254275f8f44221e9ad6d8ceeb59ca46a6" datatype="html">\n        <source>Minimum blob size</source>\n        <target>Minimale Blobgröße</target>\n      </trans-unit>\n      <trans-unit id="fb2f176df80647137cbb02bbeb29e5dec707a400" datatype="html">\n        <source>e.g., 128KiB</source>\n        <target>z. B. 128KiB</target>\n      </trans-unit>\n      <trans-unit id="1b7f6e53a4521c6eb3ced4c007fdd4cf80bb7707" datatype="html">\n        <source>Value should be greater than 0</source>\n        <target>Wert sollte größer als 0 sein</target>\n      </trans-unit>\n      <trans-unit id="8db98ab14b4e207ec763dfdefbc2dae367aab1cc" datatype="html">\n        <source>Value should be less than the maximum blob size</source>\n        <target>Wert sollte niedriger als die maximale Blobgröße sein</target>\n      </trans-unit>\n      <trans-unit id="151efb127a9a4dd25259a0b2055442318a141f5b" datatype="html">\n        <source>Maximum blob size</source>\n        <target>Maximale Blobgröße</target>\n      </trans-unit>\n      <trans-unit id="0c656f0e346bbadf46eb1a5d20d0307a3bd20ba8" datatype="html">\n        <source>e.g., 512KiB</source>\n        <target>z. B. 512KiB</target>\n      </trans-unit>\n      <trans-unit id="0a65a24eee8a026f3b1113fe9e157e9a0dd69486" datatype="html">\n        <source>Value should be greater than the minimum blob size</source>\n        <target>Wert sollte größer als die minimale Blobgröße sein</target>\n      </trans-unit>\n      <trans-unit id="261ba09c4a59de83f48f52a23fd328da37e61ff4" datatype="html">\n        <source>Ratio</source>\n        <target>Verhältnis</target>\n      </trans-unit>\n      <trans-unit id="c1430457a9c3c66366e51d76bf10396014c576be" datatype="html">\n        <source>Compression ratio</source>\n        <target>Komprimierungsverhältnis</target>\n      </trans-unit>\n      <trans-unit id="ae5ce6de352cde949998fb10754459c3a4eb183b" datatype="html">\n        <source>Value should be between 0.0 and 1.0</source>\n        <target>Wert sollte zwischen 0,0 und 1,0 liegen</target>\n      </trans-unit>\n      <trans-unit id="8bb8293aa8161433778762ae025ffd5e7c85795e" datatype="html">\n        <source>Quotas</source>\n        <target>Kontingente</target>\n      </trans-unit>\n      <trans-unit id="d99b34162c9c34f10d0ccd8dbae83d8569c2db77" datatype="html">\n        <source>Max bytes</source>\n        <target>Max. Bytes</target>\n      </trans-unit>\n      <trans-unit id="a1d14a18879c62f3f4ed705318b7164a1160e249" datatype="html">\n        <source>Leave it blank or specify 0 to disable this quota.</source>\n        <target>Lassen Sie das Feld leer oder geben Sie 0 an, um dieses Quota zu deaktivieren.</target>\n      </trans-unit>\n      <trans-unit id="7565b131562ff6c5f769fdbd239a772154abdd97" datatype="html">\n        <source>A valid quota should be greater than 0.</source>\n        <target>Ein gültiges Kontingent sollte größer als 0 sein.</target>\n      </trans-unit>\n      <trans-unit id="f0016bd458baa88284a658ce9eeda42d8ad88d2c" datatype="html">\n        <source>e.g., 10GiB</source>\n        <target>z. B. 10GiB</target>\n      </trans-unit>\n      <trans-unit id="b8bf35b66f09a301eef92ffc3cb2fd259df67ce9" datatype="html">\n        <source>Max objects</source>\n        <target>Max. Objekte</target>\n      </trans-unit>\n      <trans-unit id="95f348167622d832c5ae532b6944635c8e2ae5cb" datatype="html">\n        <source>The value should be greater or equal to 0</source>\n        <target>Der Wert sollte größer als oder gleich 0 sein</target>\n      </trans-unit>\n      <trans-unit id="4f8b2bb476981727ab34ed40fde1218361f92c45" datatype="html">\n        <source>Details</source>\n        <target>Details</target>\n      </trans-unit>\n      <trans-unit id="fbbaf5cb02ed419e79a27072478f716a4666a99d" datatype="html">\n        <source>Performance Details</source>\n        <target>Leistungsdetails</target>\n      </trans-unit>\n      <trans-unit id="3938a411d76796f8ae73b72ea4c77661207453bd" datatype="html">\n        <source>Cache Tiers Details</source>\n        <target>Details zu den Cache-Ebenen</target>\n      </trans-unit>\n      <trans-unit id="ecbc084370a732fc3cde1966a60af78d71424ab4" datatype="html">\n        <source>Create Bootstrap Token</source>\n        <target>Bootstrap-Token erstellen</target>\n      </trans-unit>\n      <trans-unit id="603e9cc3ef2aab57f2b0a00e465b23b9cabefd9c" datatype="html">\n        <source>To create a bootstrap token which can be imported\n          by a peer site cluster, provide the local site\'s name, select\n          which pools will have mirroring enabled, and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Generate\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>To create a bootstrap token which can be imported\n          by a peer site cluster, provide the local site\'s name, select\n          which pools will have mirroring enabled, and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Generate\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="660f97cd3188f8a04bd03b79e703fec72c6df04c" datatype="html">\n        <source>Site Name</source>\n        <target>Site-Name</target>\n      </trans-unit>\n      <trans-unit id="8c2a1dc72cffaf7ab3dc5599bf77b0a7fcad2b20" datatype="html">\n        <source>At least one pool is required.</source>\n        <target>Mindestens ein Pool ist erforderlich.</target>\n      </trans-unit>\n      <trans-unit id="1b258b258b4cc475ceb2871305b61756b0134f4a" datatype="html">\n        <source>Generate</source>\n        <target>Erzeugen</target>\n      </trans-unit>\n      <trans-unit id="1edc1fc6cfbbb22353050ad6788508b3ed584f53" datatype="html">\n        <source>Token</source>\n        <target>Token</target>\n      </trans-unit>\n      <trans-unit id="ff785f5596aef34a93b9b4d1023e95c62eef5740" datatype="html">\n        <source>Generated token...</source>\n        <target>Erzeugtes Token...</target>\n      </trans-unit>\n      <trans-unit id="5467a6bb0e7fade6def7499400d5e2a7d8d3da20" datatype="html">\n        <source>Import Bootstrap Token</source>\n        <target>Bootstrap-Token importieren</target>\n      </trans-unit>\n      <trans-unit id="9bb7aee0dec5164f45c0aa2f35f2fb2149d2c1d2" datatype="html">\n        <source>To import a bootstrap token which was created\n          by a peer site cluster, provide the local site\'s name, select\n          which pools will have mirroring enabled, provide the generated\n          token, and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Import\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>To import a bootstrap token which was created\n          by a peer site cluster, provide the local site\'s name, select\n          which pools will have mirroring enabled, provide the generated\n          token, and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Import\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="9200e09686136a1d42adfb89c12fbfef2deea125" datatype="html">\n        <source>Direction</source>\n        <target>Richtung</target>\n      </trans-unit>\n      <trans-unit id="9761484679958da8d12841a4efa5964d33fae575" datatype="html">\n        <source>The token is invalid.</source>\n        <target>Der Token ist ungültig.</target>\n      </trans-unit>\n      <trans-unit id="a059709f71aa4c0ac219e160e78a738682ca6a36" datatype="html">\n        <source>Import</source>\n        <target>Import</target>\n      </trans-unit>\n      <trans-unit id="b87bd96249f8afc23f5301cddb57b1464a98e71a" datatype="html">\n        <source>Edit site name</source>\n        <target>Site-Namen bearbeiten</target>\n      </trans-unit>\n      <trans-unit id="cfff72c667274c12eb1ff71eadc25871c10c42dc" datatype="html">\n        <source>Edit the site name and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>Edit the site name and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="40b7acea5b43f45e0bbd1efeba5200af4687981d" datatype="html">\n        <source>Site Name:</source>\n        <target>Site-Name:</target>\n      </trans-unit>\n      <trans-unit id="f0b5d789d42c0e69348e5fe0037fcbf5b5fbbdcc" datatype="html">\n        <source>Move an image to trash</source>\n        <target>Image in Papierkorb verschieben</target>\n      </trans-unit>\n      <trans-unit id="7ad22c1d4aab3b8946603cea62de266d5129ca10" datatype="html">\n        <source>This image contains snapshot(s), which will prevent it\n            from being removed after moved to trash.</source>\n        <target>This image contains snapshot(s), which will prevent it\n            from being removed after moved to trash.</target>\n      </trans-unit>\n      <trans-unit id="b4b3ced4f8aad4c446f348b14c3d94be2e2c350c" datatype="html">\n        <source>To move \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ imageSpecStr }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,\n          click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optionally, you can pick an expiration date.\n        </source>\n        <target>To move \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ imageSpecStr }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,\n          click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optionally, you can pick an expiration date.\n        </target>\n      </trans-unit>\n      <trans-unit id="88f27d390844aad53b4240360e928156c5f0d326" datatype="html">\n        <source>Protection expires at</source>\n        <target>Schutz läuft ab am</target>\n      </trans-unit>\n      <trans-unit id="da166e9a0d27322f6ba8916d71ecc0f9905bb4b1" datatype="html">\n        <source>NOT PROTECTED</source>\n        <target>NICHT GESCHÜTZT</target>\n      </trans-unit>\n      <trans-unit id="a1506e5f2ca22cad14502ec7a20fb6113ace145d" datatype="html">\n        <source>Wrong date format. Please use "YYYY-MM-DD HH:mm:ss".</source>\n        <target>Falsches Datumsformat. Verwenden Sie "TT.MM.JJJJ HH:mm:ss".</target>\n      </trans-unit>\n      <trans-unit id="aa7ea0bb7495281e0b3258467ac7d90a1e44a1a1" datatype="html">\n        <source>Protection has already expired. Please pick a future date or leave it empty.</source>\n        <target>Schutz ist bereits abgelaufen. Wählen Sie ein künftiges Datum aus oder lassen Sie es leer.</target>\n      </trans-unit>\n      <trans-unit id="536b3205c0c0d4d21685ec06feccfcf2fe14deb1" datatype="html">\n        <source>Move Image</source>\n        <target>Image verschieben</target>\n      </trans-unit>\n      <trans-unit id="c9f1026c1235f4d76ace47449e806efd181ab332" datatype="html">\n        <source>Deleting this image will also delete all its snapshots.</source>\n        <target>Deleting this image will also delete all its snapshots.</target>\n      </trans-unit>\n      <trans-unit id="55f864597e84d9bf88769e1fbfda1d64452430c9" datatype="html">\n        <source>The following snapshots are currently protected and will be removed:</source>\n        <target>The following snapshots are currently protected and will be removed:</target>\n      </trans-unit>\n      <trans-unit id="8a9910cd114c1deb9af74f6f99b4173403965bf2" datatype="html">\n        <source>Gateways</source>\n        <target>Gateways</target>\n      </trans-unit>\n      <trans-unit id="8835b9e49a3348b0a2f2162c21118af1f4bee45a" datatype="html">\n        <source>Must be greater than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'min\'] }}"/>.\n        </source>\n        <target>Muss grösser oder gleich \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'min\'] }}"/> sein.\n        </target>\n      </trans-unit>\n      <trans-unit id="bbddac59563c8c126e3fe28691e4e247614fcbd1" datatype="html">\n        <source>Must be less than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'max\'] }}"/>.\n        </source>\n        <target>Muss kleiner oder gleich \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'max\'] }}"/> sein.\n        </target>\n      </trans-unit>\n      <trans-unit id="e95ae009d0bdb45fcc656e8b65248cf7396080d5" datatype="html">\n        <source>Overview</source>\n        <target>Übersicht</target>\n      </trans-unit>\n      <trans-unit id="bbd2045d5c37e4bb39a3c0fb62ea1ddf70a12838" datatype="html">\n        <source>Targets</source>\n        <target>Ziele</target>\n      </trans-unit>\n      <trans-unit id="6803e31b7395d94934e091a49a9524026b59b018" datatype="html">\n        <source>Discovery Authentication</source>\n        <target>Ermittlungsauthentifizierung</target>\n      </trans-unit>\n      <trans-unit id="e08a77594f3d89311cdf6da5090044270909c194" datatype="html">\n        <source>User</source>\n        <target>Benutzer</target>\n      </trans-unit>\n      <trans-unit id="0214f773f8e394f50f953f39962e352d7863e959" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n              can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Benutzernamen müssen zwischen 8 und 64 Zeichen lang sein und\n              dürfen nur Buchstaben, \'.\', \'@\', \'-\', \'_\' oder \':\' enthalten.</target>\n      </trans-unit>\n      <trans-unit id="c32ef07f8803a223a83ed17024b38e8d82292407" datatype="html">\n        <source>Password</source>\n        <target>Passwort</target>\n      </trans-unit>\n      <trans-unit id="6682d1c00263bee204583a5d589b308b6be88b0f" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n              and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwörter müssen zwischen 12 und 16 Zeichen lang sein\n              und dürfen nur Buchstaben, \'@\', \'-\', \'_\' oder \'/\' enthalten.</target>\n      </trans-unit>\n      <trans-unit id="ff40391de7a1944ea95091e4045cc34c4979b736" datatype="html">\n        <source>Mutual User</source>\n        <target>Gemeinsamer Benutzer</target>\n      </trans-unit>\n      <trans-unit id="0cf73dbebe99b737c4d288788182fc356e3c93d3" datatype="html">\n        <source>Mutual Password</source>\n        <target>Gemeinsames Passwort</target>\n      </trans-unit>\n      <trans-unit id="8800276925157c666b103c36ff7fe8ffe11980b4" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters and\n              can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwörter müssen zwischen 12 und 16 Zeichen lang sein\n              und dürfen nur Buchstaben, \'@\', \'-\', \'_\' oder \'/\' enthalten.</target>\n      </trans-unit>\n      <trans-unit id="53a583cd5f15059cc958b7d547f72cc78f68e123" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n    on how to configure and enable the iSCSI Targets management functionality.\n        </source>\n        <target>Lesen Sie die\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Dokumentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> zum\n  Konfigurieren und Aktivieren der Verwaltungsfunktion für iSCSI-Ziele.\n        </target>\n      </trans-unit>\n      <trans-unit id="3b301d0044f62c92af0da53d7aaca52a436a547d" datatype="html">\n        <source>Available information:</source>\n        <target>Verfügbare Informationen:</target>\n      </trans-unit>\n      <trans-unit id="332227f088a4877b3c11f5fb3ae8bc812c470fae" datatype="html">\n        <source>iSCSI Targets not available</source>\n        <target>iSCSI-Ziele nicht verfügbar</target>\n      </trans-unit>\n      <trans-unit id="8414a5cb9d71cc1b21b10e4a9d1f2dad558f3361" datatype="html">\n        <source>Discovery authentication</source>\n        <target>Ermittlungsauthentifizierung</target>\n      </trans-unit>\n      <trans-unit id="0f6e8f6094b180eaf1f11bc0ffe383f1cdcd059e" datatype="html">\n        <source>Only available for RBD images with \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>fast-diff\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> enabled\n        </source>\n        <target>Nur für RBD-Images verfügbar, bei denen \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>fast-diff\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> aktiviert ist\n        </target>\n      </trans-unit>\n      <trans-unit id="e70fcca5a99575cffef3ff8cbd5e69f06ffd0f1c" datatype="html">\n        <source>Pool</source>\n        <target>Pool</target>\n      </trans-unit>\n      <trans-unit id="03cc5b14b0a20d075e9009ff021f4f1660ba348a" datatype="html">\n        <source>Data Pool</source>\n        <target>Datenpool</target>\n      </trans-unit>\n      <trans-unit id="1b051734b0ee9021991c91b3ed4e81c244322462" datatype="html">\n        <source>Created</source>\n        <target>Erstellt</target>\n      </trans-unit>\n      <trans-unit id="7faaaa08f56427999f3be41df1093ce4089bbd75" datatype="html">\n        <source>Size</source>\n        <target>Größe</target>\n      </trans-unit>\n      <trans-unit id="afdb601c16162f2c798b16a2920955f1cc6a20aa" datatype="html">\n        <source>Objects</source>\n        <target>Objekte</target>\n      </trans-unit>\n      <trans-unit id="ceac8e132384322ec778ba760875a6c6897d3e42" datatype="html">\n        <source>Object size</source>\n        <target>Objektgröße</target>\n      </trans-unit>\n      <trans-unit id="0a65771c9a73b9aa609d592fc96a64801a8f40bd" datatype="html">\n        <source>Provisioned</source>\n        <target>Bereitgestellt</target>\n      </trans-unit>\n      <trans-unit id="84a36cb75660b736773fe36ffa3d54f0f0fe363e" datatype="html">\n        <source>N/A</source>\n        <target>n. v.</target>\n      </trans-unit>\n      <trans-unit id="e5c009342a4e8381f64341d0bb61c2e4685f5a4b" datatype="html">\n        <source>Total provisioned</source>\n        <target>Bereitgestellt gesamt</target>\n      </trans-unit>\n      <trans-unit id="7f6bf8a43ae415f527ac961ea62471b983aaa97b" datatype="html">\n        <source>Striping unit</source>\n        <target>Striping-Einheit</target>\n      </trans-unit>\n      <trans-unit id="db710e8a8f011923f2d15d713fbae49c38b02b26" datatype="html">\n        <source>Striping count</source>\n        <target>Striping-Anzahl</target>\n      </trans-unit>\n      <trans-unit id="3a4c2a9e76634ff14a60d52a718296f722d47c67" datatype="html">\n        <source>Parent</source>\n        <target>Übergeordnet</target>\n      </trans-unit>\n      <trans-unit id="6a209e68d78ffc2cc9c53d2e76158624efab71ad" datatype="html">\n        <source>Block name prefix</source>\n        <target>Präfix für Blockname</target>\n      </trans-unit>\n      <trans-unit id="5704ec2049d007c5f5fb495a5d8b607e68d58081" datatype="html">\n        <source>Order</source>\n        <target>Reihenfolge</target>\n      </trans-unit>\n      <trans-unit id="f21b1d17b6c5042bb5805516eee37fde33739dd8" datatype="html">\n        <source>Snapshots</source>\n        <target>Snapshots</target>\n      </trans-unit>\n      <trans-unit id="a5f9ba9bb9faa8284bcadb1cdbc6aaf969e9c4bb" datatype="html">\n        <source>Image</source>\n        <target>Image</target>\n      </trans-unit>\n      <trans-unit id="58e58f1a8786da9031a05e6770c5dafce82badf5" datatype="html">\n        <source>This setting overrides the global value</source>\n        <target>Diese Einstellung überschreibt den globalen Wert</target>\n      </trans-unit>\n      <trans-unit id="5decb3917d46a9ac6e5813699801becb7c3c1455" datatype="html">\n        <source>Global</source>\n        <target>Global</target>\n      </trans-unit>\n      <trans-unit id="36b46714164964c6258b08ed0a25f57d8a950f92" datatype="html">\n        <source>This is the global value. No value for this option has been set for this image.</source>\n        <target>Dies ist der globale Wert. Kein Wert für diese Option wurde für dieses Image festgelegt.</target>\n      </trans-unit>\n      <trans-unit id="6547c9c4d5f62942ac4b1fe459cf9a03d4dbf5a0" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/> from\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/> from\n        </target>\n      </trans-unit>\n      <trans-unit id="0e9ecf29a4fa5b057bd8052e0d801b3fde6a30bf" datatype="html">\n        <source>\'/\' and \'@\' are not allowed.</source>\n        <target>\'/\' und \'@\' sind nicht zulässig.</target>\n      </trans-unit>\n      <trans-unit id="b99417c4dd46286ffd37c8d2e987c8b512ec7052" datatype="html">\n        <source>-- No rbd pools available --</source>\n        <target>-- Keine rbd-Pools verfügbar --</target>\n      </trans-unit>\n      <trans-unit id="ef83ec9c304a89d45650e580dcdc2978c37b3a83" datatype="html">\n        <source>-- Select a pool --</source>\n        <target>-- Pool auswählen --</target>\n      </trans-unit>\n      <trans-unit id="d649904466254d13df1fbf2d255f0bbc6553d213" datatype="html">\n        <source>-- No namespaces available --</source>\n        <target>-- Keine Namensräume verfügbar --</target>\n      </trans-unit>\n      <trans-unit id="e22d7bb4d2d561e0832ee0b9a3da2468a080c4f0" datatype="html">\n        <source>-- Select a namespace --</source>\n        <target>-- Namensraum auswählen --</target>\n      </trans-unit>\n      <trans-unit id="49449943d8cbf59d8c401c8bd2e76f92e207cc5f" datatype="html">\n        <source>Use a dedicated data pool</source>\n        <target>Dedizierten Datenpool verwenden</target>\n      </trans-unit>\n      <trans-unit id="870aee0dd31a9643bf62007beb8f1ae1deb34d42" datatype="html">\n        <source>Data pool</source>\n        <target>Datenpool</target>\n      </trans-unit>\n      <trans-unit id="3792ca829d9b9f687e1f5d7733d30e9bb0bfec47" datatype="html">\n        <source>Dedicated pool that stores the object-data of the RBD.</source>\n        <target>Dedizierter Pool zur Speicherung von RBD-Objektdaten.</target>\n      </trans-unit>\n      <trans-unit id="0a88bbee20570aaf9615332fb27020627044874d" datatype="html">\n        <source>You have to increase the size.</source>\n        <target>Sie müssen die Größe erhöhen.</target>\n      </trans-unit>\n      <trans-unit id="bc2e854e111ecf2bd7db170da5e3c2ed08181d88" datatype="html">\n        <source>Advanced</source>\n        <target>Erweitert</target>\n      </trans-unit>\n      <trans-unit id="3562a3778695a5f9c0445660e35301f0a39aaf73" datatype="html">\n        <source>Striping</source>\n        <target>Striping</target>\n      </trans-unit>\n      <trans-unit id="ef3c3f3b5f562a5cdbe0ee2874287db1534b5958" datatype="html">\n        <source>Stripe unit</source>\n        <target>Stripe-Einheit</target>\n      </trans-unit>\n      <trans-unit id="84471be1049006edecbcaef1a32ae0893c229c50" datatype="html">\n        <source>-- Select stripe unit --</source>\n        <target>-- Stripe-Einheit auswählen --</target>\n      </trans-unit>\n      <trans-unit id="8d32c5c54c8581c774a7f467fbd4e329b15a74fa" datatype="html">\n        <source>This field is required because stripe count is defined!</source>\n        <target>Dies ist ein Pflichtfeld, da eine Stripe-Anzahl definiert wurde!</target>\n      </trans-unit>\n      <trans-unit id="6bbf9040be7c5491d4a03f2185708f43a6582a3b" datatype="html">\n        <source>Stripe unit is greater than object size.</source>\n        <target>Die Stripe-Einheit ist größer als die Objektgröße.</target>\n      </trans-unit>\n      <trans-unit id="a682f49f9b761591661276d7c6f550e641a130a4" datatype="html">\n        <source>Stripe count</source>\n        <target>Stripe-Anzahl</target>\n      </trans-unit>\n      <trans-unit id="baa74031990c5370008ba622d0a250f0929097f4" datatype="html">\n        <source>This field is required because stripe unit is defined!</source>\n        <target>Dies ist ein Pflichtfeld, da eine Stripe-Einheit definiert wurde!</target>\n      </trans-unit>\n      <trans-unit id="cd2ada6d5ecbd5cbf89eae0a1f5326efedac0dbc" datatype="html">\n        <source>Stripe count must be greater than 0.</source>\n        <target>Die Stripe-Anzahl muss größer als 0 sein.</target>\n      </trans-unit>\n      <trans-unit id="2c07d24bb422aa8e5e568df1c5709083f0a9c8f1" datatype="html">\n        <source>Create Namespace</source>\n        <target>Namensraum anlegen</target>\n      </trans-unit>\n      <trans-unit id="0cca6c0485f96d3a9610d0339cb1275a5f2c3f46" datatype="html">\n        <source>Namespace already exists.</source>\n        <target>Namensraum existiert bereits.</target>\n      </trans-unit>\n      <trans-unit id="5c5331983af566d4ac6a1024d15a3511786a4aa6" datatype="html">\n        <source>You are about to rollback</source>\n        <target>Sie sind dabei, ein Rollback durchzuführen</target>\n      </trans-unit>\n      <trans-unit id="49c0408946a6d67185947f455f15cc201d0d78e6" datatype="html">\n        <source>Purge Trash</source>\n        <target>Papierkorb bereinigen</target>\n      </trans-unit>\n      <trans-unit id="681501eecd7f44d4b7a2f619605b36676e04c5b6" datatype="html">\n        <source>To purge, select one or</source>\n        <target>To purge, select one or</target>\n      </trans-unit>\n      <trans-unit id="dfc3c34e182ea73c5d784ff7c8135f087992dac1" datatype="html">\n        <source>All</source>\n        <target>Alle</target>\n      </trans-unit>\n      <trans-unit id="ea5d338dcef50ff5c24439fd784f6a67b594c33f" datatype="html">\n        <source>pools and click</source>\n        <target>pools and click</target>\n      </trans-unit>\n      <trans-unit id="55a4f598a4894b7fd5cb88f0ffd3c37ad009dd70" datatype="html">\n        <source>Pool:</source>\n        <target>Pool:</target>\n      </trans-unit>\n      <trans-unit id="d43dd2b9f7797e4cf3a604695bb33e4479108516" datatype="html">\n        <source>Pool name...</source>\n        <target>Poolname...</target>\n      </trans-unit>\n      <trans-unit id="b0e7c7ed1d51a0c205c815048bc9f79e24ee6db2" datatype="html">\n        <source>Restore Image</source>\n        <target>Image wiederherstellen</target>\n      </trans-unit>\n      <trans-unit id="7369384817e0ad61ce871c9afdfbb538df2f97c1" datatype="html">\n        <source>To restore</source>\n        <target>Zum Wiederherstellen</target>\n      </trans-unit>\n      <trans-unit id="e7f0abefc608f7fb452c2dc9b1cdc3dec432160e" datatype="html">\n        <source>type the image\'s new name and click</source>\n        <target>Neuen Namen des Images eingeben und klicken</target>\n      </trans-unit>\n      <trans-unit id="41307dd56fea669eed72e12a6c23af275f6bfd82" datatype="html">\n        <source>New Name</source>\n        <target>Neuer Name</target>\n      </trans-unit>\n      <trans-unit id="5c96a761dc55a21882c132c929583a424c9b8cf4" datatype="html">\n        <source>Expired at</source>\n        <target>Abgelaufen am</target>\n      </trans-unit>\n      <trans-unit id="661041e3fcff4d3e75c561e038ca2504cf2cc643" datatype="html">\n        <source>Protected until</source>\n        <target>Geschützt bis</target>\n      </trans-unit>\n      <trans-unit id="0ee3b2322a1d3277f7e3fdb8a5141ac42bcf350b" datatype="html">\n        <source>This image is protected until \n          <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.\n        </source>\n        <target>Dieses Image ist geschützt bis \n          <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="a674ab267d1934bf395f87ca1503fd474296893f" datatype="html">\n        <source>iSCSI Topology</source>\n        <target>iSCSI-Topologie</target>\n      </trans-unit>\n      <trans-unit id="051dcc342cfa5c1eaf187a2001aaa162379a160c" datatype="html">\n        <source>Configure</source>\n        <target>Konfigurieren</target>\n      </trans-unit>\n      <trans-unit id="9e515f954730279c31d5301f02479666d6264e8b" datatype="html">\n        <source>Changing these parameters from their default values is usually not necessary.</source>\n        <target>Eine Änderung dieser Parameter von ihren Standardwerten ist in der Regel nicht erforderlich.</target>\n      </trans-unit>\n      <trans-unit id="4e2591df099ddac796cda401c5f282da779d45f2" datatype="html">\n        <source>Identifier</source>\n        <target>Bezeichner</target>\n      </trans-unit>\n      <trans-unit id="62480a4859976427cf18fc8ef41d3a438eda0412" datatype="html">\n        <source>lun</source>\n        <target>lun</target>\n      </trans-unit>\n      <trans-unit id="8afc9eb4405e0aa554b2ba14140ef790cdecc040" datatype="html">\n        <source>wwn</source>\n        <target>wwn</target>\n      </trans-unit>\n      <trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html">\n        <source>Settings</source>\n        <target>Einstellungen</target>\n      </trans-unit>\n      <trans-unit id="69a47cbabcc51ca942606e1d8da0ec11f98a2690" datatype="html">\n        <source>Backstore</source>\n        <target>Backstore</target>\n      </trans-unit>\n      <trans-unit id="68e710782ccb5398b3acb8844caf0b199da2c3da" datatype="html">\n        <source>Confirm</source>\n        <target>Bestätigen</target>\n      </trans-unit>\n      <trans-unit id="339878da255ab55447c43afef8d9b2f9753bf5f6" datatype="html">\n        <source>Advanced Settings</source>\n        <target>Erweiterte Einstellungen</target>\n      </trans-unit>\n      <trans-unit id="1406c2fb12a20c1528b19bcc5e24a6a2386167f3" datatype="html">\n        <source>Target IQN</source>\n        <target>Ziel-IQN</target>\n      </trans-unit>\n      <trans-unit id="5fe42339be910372fa689f559155631862d218e8" datatype="html">\n        <source>IQN has wrong pattern.</source>\n        <target>IQN hat ein fehlerhaftes Muster.</target>\n      </trans-unit>\n      <trans-unit id="050a7ff057d1e895357540406b6be5652b4d1c71" datatype="html">\n        <source>An IQN has the following notation\n                \'iqn.$year-$month.$reversedAddress:$definedName\'</source>\n        <target>Eine IQN hat die folgende Notation \n\'iqn.$jahr-$monat.$umkehradresse:$definierterName\'</target>\n      </trans-unit>\n      <trans-unit id="c8ada4b53396d8366db00a435acc61d53d857047" datatype="html">\n        <source>For example: iqn.2016-06.org.dashboard:storage:disk.sn-a8675309</source>\n        <target>Zum Beispiel: iqn.2016-06.org.dashboard:storage:disk.sn-a8675309</target>\n      </trans-unit>\n      <trans-unit id="e60c11e1b1dfbbeda577364b8de39ded2d796c5e" datatype="html">\n        <source>More information</source>\n        <target>Weitere Informationen</target>\n      </trans-unit>\n      <trans-unit id="9b1aa85dfc6849196e64060db02c5410de69b7a1" datatype="html">\n        <source>This target has modified advanced settings.</source>\n        <target>Erweiterte Einstellungen bei diesem Ziel wurden geändert.</target>\n      </trans-unit>\n      <trans-unit id="6990ad8d6182662e864495ac31c3758cda1c7a28" datatype="html">\n        <source>Portals</source>\n        <target>Portale</target>\n      </trans-unit>\n      <trans-unit id="6a3ac2b4137d723fd9878cd357c2012ff6c07973" datatype="html">\n        <source>Add portal</source>\n        <target>Portal hinzufügen</target>\n      </trans-unit>\n      <trans-unit id="c3638c01b6c34066438909713ec96087c813fc7e" datatype="html">\n        <source>At least \n          <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.\n        </source>\n        <target>Es sind mindestens \n          <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> Gateways erforderlich.\n        </target>\n      </trans-unit>\n      <trans-unit id="9aff25be088f0efe3eaaf62edf2bff41cc41a617" datatype="html">\n        <source>Backstore: \n          <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. \n        </source>\n        <target>Backstore: \n          <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. \n        </target>\n      </trans-unit>\n      <trans-unit id="e3484cae8b118c576ca2815bf9c9406c2eb2cae3" datatype="html">\n        <source>This image has modified settings.</source>\n        <target>Einstellungen bei diesem Image wurden geändert.</target>\n      </trans-unit>\n      <trans-unit id="1dff11e0820b6722ab240169f1232d70a54beaaa" datatype="html">\n        <source>Duplicated LUN numbers.</source>\n        <target>Duplicated LUN numbers.</target>\n      </trans-unit>\n      <trans-unit id="bf2dccf92ccff6e3b091792bf4205595406e1bfb" datatype="html">\n        <source>Duplicated WWN.</source>\n        <target>Duplicated WWN.</target>\n      </trans-unit>\n      <trans-unit id="808038f912fdc7f0e03f82d4afd3bf9178527fc8" datatype="html">\n        <source>Add image</source>\n        <target>Image hinzufügen</target>\n      </trans-unit>\n      <trans-unit id="66c5fb27f52e75b70ca4b670b9b15a2a51cf9543" datatype="html">\n        <source>ACL authentication</source>\n        <target>ACL-Authentifizierung</target>\n      </trans-unit>\n      <trans-unit id="419c8b402609dcf49ae4932a5a4647dc8d79bbaf" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n                can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Usernames must have a length of 8 to 64 characters and\n                can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</target>\n      </trans-unit>\n      <trans-unit id="938050960d6653fddfcfd42425e18fb35a308262" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n                and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwörter müssen zwischen 12 und 16 Zeichen lang sein\n              und dürfen nur Buchstaben, \'@\', \'-\', \'_\' oder \'/\' enthalten.</target>\n      </trans-unit>\n      <trans-unit id="f494bd31f095f6dcc656ce87ec2dcf07a2e9b30c" datatype="html">\n        <source>Initiators</source>\n        <target>Initiatoren</target>\n      </trans-unit>\n      <trans-unit id="e98239d8a6be1100119ff4b5630c822b82786740" datatype="html">\n        <source>Initiator</source>\n        <target>Initiator</target>\n      </trans-unit>\n      <trans-unit id="f2c5059d8cda15d8d03e2cce30f2d139623d9a91" datatype="html">\n        <source>Client IQN</source>\n        <target>Client-IQN</target>\n      </trans-unit>\n      <trans-unit id="107d5aabce23d900f0a80e6ddc1c10e29aa0bed8" datatype="html">\n        <source>Initiator IQN needs to be unique.</source>\n        <target>Initiator-IQN muss eindeutig sein.</target>\n      </trans-unit>\n      <trans-unit id="bbf0b34a3fcc80800fcb44b9e1e86931a530dfe3" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n                        can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Benutzernamen müssen zwischen 8 und 64 Zeichen lang sein und\n                        dürfen nur Buchstaben, \'.\', \'@\', \'-\', \'_\' oder \':\' enthalten.</target>\n      </trans-unit>\n      <trans-unit id="fdfee5d7a27e1bdd97a176097277bee078de6aaf" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n                        and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwörter müssen zwischen 12 und 16 Zeichen lang sein\n              und dürfen nur Buchstaben, \'@\', \'-\', \'_\' oder \'/\' enthalten.</target>\n      </trans-unit>\n      <trans-unit id="8406eb7415ee40e54d9ecb209abb056f06e3d666" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters and\n                        can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwörter müssen zwischen 12 und 16 Zeichen lang sein\n              und dürfen nur Buchstaben, \'@\', \'-\', \'_\' oder \'/\' enthalten.</target>\n      </trans-unit>\n      <trans-unit id="5d1878d5fc761cbe9614bfd87047a740c82a6951" datatype="html">\n        <source>Initiator belongs to a group. Images will be configure in the group.</source>\n        <target>Der Initiator gehört zu einer Gruppe. Images werden in der Gruppe konfiguriert.</target>\n      </trans-unit>\n      <trans-unit id="c0de67b9d97fafbf200f9451e8388ee8128a56ac" datatype="html">\n        <source>No items added.</source>\n        <target>Keine Elemente hinzugefügt.</target>\n      </trans-unit>\n      <trans-unit id="d565e47726158e428ecdc952fc9233b9b7d7f049" datatype="html">\n        <source>Add initiator</source>\n        <target>Initiator hinzufügen</target>\n      </trans-unit>\n      <trans-unit id="c22ba03540aa3217da059f45e7eab138b51a96e2" datatype="html">\n        <source>Groups</source>\n        <target>Gruppen</target>\n      </trans-unit>\n      <trans-unit id="4c90059afafb7e160384d9f512797c95bb95c6dc" datatype="html">\n        <source>Group</source>\n        <target>Gruppe</target>\n      </trans-unit>\n      <trans-unit id="3084948274cff4f56d0f431af47240e9cf02fcc7" datatype="html">\n        <source>Add group</source>\n        <target>Gruppe hinzufügen</target>\n      </trans-unit>\n      <trans-unit id="c3a7e364a88ea4673199dfa98bc73e6dbe09dfac" datatype="html">\n        <source>Namespaces</source>\n        <target>Namensräume</target>\n      </trans-unit>\n      <trans-unit id="aba82bfd8e177d35b76cad7cd43941f8e5e5acac" datatype="html">\n        <source>Trash</source>\n        <target>Papierkorb</target>\n      </trans-unit>\n      <trans-unit id="66db799d67958d4b0765181d072df62e2d1c16f5" datatype="html">\n        <source>Issues</source>\n        <target>Probleme</target>\n      </trans-unit>\n      <trans-unit id="ef06d69259e587e28d52372455f44c7153cda7e7" datatype="html">\n        <source>Syncing</source>\n        <target>Wird synchronisiert</target>\n      </trans-unit>\n      <trans-unit id="0b0901877d837d3fda16ba161eb74368d1c75b7a" datatype="html">\n        <source>Ready</source>\n        <target>Fertig</target>\n      </trans-unit>\n      <trans-unit id="4057c56d63a7e9b140b1d01871a9229a5f30eb27" datatype="html">\n        <source>Edit pool mirror mode</source>\n        <target>Spiegelungsmodus für Pool bearbeiten</target>\n      </trans-unit>\n      <trans-unit id="e1f367f5feaab38f6637dd1f967c848b447dea2d" datatype="html">\n        <source>To edit the mirror mode for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>, select a new mode from the list and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>Wählen Sie zum Bearbeiten des Spiegelungsmodus für den Pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> einen neuen Modus aus der Liste aus und klicken Sie auf \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Aktualisieren\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="32ca348ef926b0a6a7a780b8b64c3a8239895cec" datatype="html">\n        <source>Peer clusters must be removed prior to disabling mirror.</source>\n        <target>Vor dem Deaktivieren der Spiegelung müssen Peer-Cluster entfernt werden.</target>\n      </trans-unit>\n      <trans-unit id="fa61522d482349707fd7dd03b90dc5781611b17f" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/>\n  pool mirror peer\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/>\n  Peer für Poolspiegelung\n        </target>\n      </trans-unit>\n      <trans-unit id="4ddcb416c1c0aa1f54acf5beef1de81813e76fa6" datatype="html">\n        <source>{VAR_SELECT, select, edit {Edit} other {Add} }</source>\n        <target>{VAR_SELECT, select, edit {Bearbeiten} other {Hinzufügen} }</target>\n      </trans-unit>\n      <trans-unit id="59ca65ece457429d90104ede4674965f62edbabe" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/> the pool\n          mirror peer attributes for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> and click\n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Submit\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/> the pool\n          mirror peer attributes for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> and click\n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Submit\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="d3cc964811f852a168f4a2d5daa59068abc5cf53" datatype="html">\n        <source>Cluster Name</source>\n        <target>Clustername</target>\n      </trans-unit>\n      <trans-unit id="b631721fc56cb7fb1cbd07b802a487c5753f6a2d" datatype="html">\n        <source>The cluster name is not valid.</source>\n        <target>Der Clustername ist ungültig.</target>\n      </trans-unit>\n      <trans-unit id="ca6deafa31bf421f85094807982aee4bcb20a3ae" datatype="html">\n        <source>CephX ID</source>\n        <target>CephX-ID</target>\n      </trans-unit>\n      <trans-unit id="7539188a568c3d553cbde1bacaf32310c4264e24" datatype="html">\n        <source>CephX ID...</source>\n        <target>CephX-ID...</target>\n      </trans-unit>\n      <trans-unit id="a1c45b594b0fba22fc64e80c793a7ffe005fdb0e" datatype="html">\n        <source>The CephX ID is not valid.</source>\n        <target>Die CephX ID ist ungültig.</target>\n      </trans-unit>\n      <trans-unit id="20861576fcfce773c918c782cd4f5adf32382921" datatype="html">\n        <source>Monitor Addresses</source>\n        <target>Adressen der Monitore</target>\n      </trans-unit>\n      <trans-unit id="fa28eeed2b4bd4ccbe6e9349a1c2b3cb1c5de70a" datatype="html">\n        <source>Comma-delimited addresses...</source>\n        <target>Kommagetrennte Adressen...</target>\n      </trans-unit>\n      <trans-unit id="dc016c82fd85848d5c1b2fd0e8469ee2027d9c16" datatype="html">\n        <source>The monitory address is not valid.</source>\n        <target>Die Anrede ist ungültig.</target>\n      </trans-unit>\n      <trans-unit id="e0ac55b83dc6739e62bc655cfe375b67c93e7f4a" datatype="html">\n        <source>CephX Key</source>\n        <target>CephX-Schlüssel</target>\n      </trans-unit>\n      <trans-unit id="f53434bcb95bd86f1df9c8e22966f757614fc4ad" datatype="html">\n        <source>Base64-encoded key...</source>\n        <target>Base64-codierter Schlüssel...</target>\n      </trans-unit>\n      <trans-unit id="4cd83164cd4f66b4abc2863f9ce6f599d789e4ca" datatype="html">\n        <source>CephX key must be base64 encoded.</source>\n        <target>CephX-Schlüssel muss base64-codiert sein.</target>\n      </trans-unit>\n      <trans-unit id="ca53d681a9892d6fdbb57ee9676582186515e961" datatype="html">\n        <source>Performance counters not available</source>\n        <target>Leistungsindikatoren nicht verfügbar</target>\n      </trans-unit>\n      <trans-unit id="9424badb7e0c6ac792d020d7830645b529a80aad" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the Object Gateway management functionality.\n        </source>\n        <target>Lesen Sie die \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Dokumentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> zum\n  Konfigurieren und Aktivieren der Verwaltungsfunktion für das Objektgateway.\n        </target>\n      </trans-unit>\n      <trans-unit id="479488ab6e91ecb375484edc78bee3d13467f33f" datatype="html">\n        <source>Daemons List</source>\n        <target>Liste der Daemons</target>\n      </trans-unit>\n      <trans-unit id="eeba399c4dae8d4890c27b7a2cd2dc28fcf8b5f9" datatype="html">\n        <source>Performance Counters</source>\n        <target>Leistungsindikatoren</target>\n      </trans-unit>\n      <trans-unit id="5f67f2247b9c6bbaf24a0f2d37f4ac0537c6fa53" datatype="html">\n        <source>Loading bucket data...</source>\n        <target>Bucket-Daten werden geladen...</target>\n      </trans-unit>\n      <trans-unit id="2798cc1e152b1ec07fd8daf94a2a073d1ba1ebcc" datatype="html">\n        <source>Id</source>\n        <target>ID</target>\n      </trans-unit>\n      <trans-unit id="db4e1a734518691b128ef40b939cc673f01d03a6" datatype="html">\n        <source>The value is not valid.</source>\n        <target>Der Wert ist ungültig.</target>\n      </trans-unit>\n      <trans-unit id="eabb4db920d9f9b2480cf438468b86e1bea02a9b" datatype="html">\n        <source>The chosen name is already in use.</source>\n        <target>Der ausgewählte Name wird bereits verwendet.</target>\n      </trans-unit>\n      <trans-unit id="0ee5132a8da30e0b7f9f5c70dbc91928d17dd909" datatype="html">\n        <source>Owner</source>\n        <target>Inhaber</target>\n      </trans-unit>\n      <trans-unit id="8e4c918357c7445fbf19a203e5f0f0ece1960b3b" datatype="html">\n        <source>-- Select a user --</source>\n        <target>-- Benutzer auswählen --</target>\n      </trans-unit>\n      <trans-unit id="a4aab1f837bc8ec222e4f25922465d1c5929a1fc" datatype="html">\n        <source>Placement target</source>\n        <target>Placement target</target>\n      </trans-unit>\n      <trans-unit id="6bae0a7fc2c9c1fde7d937a8a1a3c7e6825cf7d1" datatype="html">\n        <source>-- Select a placement target --</source>\n        <target>-- Select a placement target --</target>\n      </trans-unit>\n      <trans-unit id="efeade5060b3add63863c24871f0830fb16b7e6d" datatype="html">\n        <source>Versioning</source>\n        <target>Versioning</target>\n      </trans-unit>\n      <trans-unit id="f50a33d3c339f8f4a465141f8caa5d2d8c005251" datatype="html">\n        <source>Enabled</source>\n        <target>Aktiviert</target>\n      </trans-unit>\n      <trans-unit id="016d24e069e7d505a090fb8243e5cd43b35dc39b" datatype="html">\n        <source>Enables versioning for the objects in the bucket.</source>\n        <target>Enables versioning for the objects in the bucket.</target>\n      </trans-unit>\n      <trans-unit id="9e6775ffd06878aa145c07359f28557f01ede04f" datatype="html">\n        <source>Multi-Factor Authentication</source>\n        <target>Multi-Factor Authentication</target>\n      </trans-unit>\n      <trans-unit id="29e8a5d4fb767d4ad0c762c81c6264cec4c0ba97" datatype="html">\n        <source>Delete enabled</source>\n        <target>Delete enabled</target>\n      </trans-unit>\n      <trans-unit id="40fbc3ac8c1ea4ecfe62247e91f1f999ad5baf76" datatype="html">\n        <source>Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state.</source>\n        <target>Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state.</target>\n      </trans-unit>\n      <trans-unit id="d24c93a8c13db46defa06ed7b5e026a3edb52b91" datatype="html">\n        <source>Token Serial Number</source>\n        <target>Token Serial Number</target>\n      </trans-unit>\n      <trans-unit id="e6d9536c2af2e5e9a228c3e3e1809dc1fefe0149" datatype="html">\n        <source>Token PIN</source>\n        <target>Token PIN</target>\n      </trans-unit>\n      <trans-unit id="7b84370895ab9eb44672f57146fa05c5947f1c0c" datatype="html">\n        <source>Locking</source>\n        <target>Locking</target>\n      </trans-unit>\n      <trans-unit id="f038d51ab1645f15b0cd58f195c72a7eeebd4729" datatype="html">\n        <source>Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket.</source>\n        <target>Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket.</target>\n      </trans-unit>\n      <trans-unit id="9af1b4baa2dd8ed2bfc3cc756b12a2271c2dd793" datatype="html">\n        <source>Compliance</source>\n        <target>Compliance</target>\n      </trans-unit>\n      <trans-unit id="edd600fa489d1b4a4448dce694ed932e52ce8fda" datatype="html">\n        <source>Governance</source>\n        <target>Governance</target>\n      </trans-unit>\n      <trans-unit id="a5c3d9d2296f7886e8289b9f623323803deacfc6" datatype="html">\n        <source>Days</source>\n        <target>Days</target>\n      </trans-unit>\n      <trans-unit id="218c7d6d318c51e7105309aaeb0baec9d19e4efb" datatype="html">\n        <source>The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</source>\n        <target>The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</target>\n      </trans-unit>\n      <trans-unit id="289b101ec12427b3ca819df9e43cc3b14fae2cc4" datatype="html">\n        <source>The entered value must be a positive integer.</source>\n        <target>The entered value must be a positive integer.</target>\n      </trans-unit>\n      <trans-unit id="def9fc628134d3a044b7c0ad2a83c846bdad56f1" datatype="html">\n        <source>Retention period requires either Days or Years.</source>\n        <target>Retention period requires either Days or Years.</target>\n      </trans-unit>\n      <trans-unit id="003c94fc143882ac8af6251a1595fe62978fe3e6" datatype="html">\n        <source>Years</source>\n        <target>Years</target>\n      </trans-unit>\n      <trans-unit id="14c6189ead0951f13049c7bf9af7642d0c41957a" datatype="html">\n        <source>The number of years that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</source>\n        <target>The number of years that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</target>\n      </trans-unit>\n      <trans-unit id="45cc8ca94b5a50842a9a8ef804a5ab089a38ae5c" datatype="html">\n        <source>ID</source>\n        <target>ID</target>\n      </trans-unit>\n      <trans-unit id="e5c51963a9c553b29427ef783bbb69fa6634fa8c" datatype="html">\n        <source>Index type</source>\n        <target>Indextyp</target>\n      </trans-unit>\n      <trans-unit id="8e6f950a32eaea32ec7e192f9ca3d3dfe469d4ba" datatype="html">\n        <source>Placement rule</source>\n        <target>Platzierungsregel</target>\n      </trans-unit>\n      <trans-unit id="6972d213e31c4ea4f887e60db99d9881bc8fcd3e" datatype="html">\n        <source>Marker</source>\n        <target>Marker</target>\n      </trans-unit>\n      <trans-unit id="47b02acd2d3254d1ace1926f840523f154ebef71" datatype="html">\n        <source>Maximum marker</source>\n        <target>Maximum für Marker</target>\n      </trans-unit>\n      <trans-unit id="8fe73a4787b8068b2ba61f54ab7e0f9af2ea1fc9" datatype="html">\n        <source>Version</source>\n        <target>Version</target>\n      </trans-unit>\n      <trans-unit id="092fa3a7df9168b14d3f83a77a4035e92b92ce15" datatype="html">\n        <source>Master version</source>\n        <target>Masterversion</target>\n      </trans-unit>\n      <trans-unit id="97434cc5001d407f90c7447a12d9e8e6848a2aa3" datatype="html">\n        <source>Modification time</source>\n        <target>Änderungszeit</target>\n      </trans-unit>\n      <trans-unit id="90fe2e41e7fde38453ce4e619efeea9bc6adea9c" datatype="html">\n        <source>Zonegroup</source>\n        <target>Zonengruppe</target>\n      </trans-unit>\n      <trans-unit id="62a923f047ca49e7a4782629e91fea1ba32db68f" datatype="html">\n        <source>MFA Delete</source>\n        <target>MFA Delete</target>\n      </trans-unit>\n      <trans-unit id="649a410bd0ace333d067d8fa22f12bdbdb43533b" datatype="html">\n        <source>Bucket quota</source>\n        <target>Bucket-Quote</target>\n      </trans-unit>\n      <trans-unit id="cef1595d040e77cbb4466e60382028d4c2040cac" datatype="html">\n        <source>Maximum size</source>\n        <target>Maximale Größe</target>\n      </trans-unit>\n      <trans-unit id="aa6fb95c355f172bda303de1ce2f38c251a149cf" datatype="html">\n        <source>Unlimited</source>\n        <target>Unbegrenzt</target>\n      </trans-unit>\n      <trans-unit id="ee862a800364b4d11f9b8cb9955a28a60f840a45" datatype="html">\n        <source>Maximum objects</source>\n        <target>Maximale Objekte</target>\n      </trans-unit>\n      <trans-unit id="08c74dc9762957593b91f6eb5d65efdfc975bf48" datatype="html">\n        <source>Username</source>\n        <target>Benutzername</target>\n      </trans-unit>\n      <trans-unit id="49c614babd1950adb2be75df4e2c9747286d6adc" datatype="html">\n        <source>-- Select a username --</source>\n        <target>-- Benutzername auswählen --</target>\n      </trans-unit>\n      <trans-unit id="c217ee914725a37e9dd2336c721c8e63e9666bdc" datatype="html">\n        <source>Auto-generate key</source>\n        <target>Schlüssel automatisch generieren</target>\n      </trans-unit>\n      <trans-unit id="2f1c1c0f2bce4c9f92d1a2061e8161cb0006c31a" datatype="html">\n        <source>Access key</source>\n        <target>Zugriffsschlüssel</target>\n      </trans-unit>\n      <trans-unit id="b864acb67296a9819c1db0069c4c47d8b5ce8f44" datatype="html">\n        <source>Secret key</source>\n        <target>Geheimer Schlüssel</target>\n      </trans-unit>\n      <trans-unit id="b760f123248930122fc7e7b6b6bf94e376e959c8" datatype="html">\n        <source>Full name</source>\n        <target>Vollständiger Name</target>\n      </trans-unit>\n      <trans-unit id="69b6ac577a19acc39fc0c22342092f327fff2529" datatype="html">\n        <source>Email address</source>\n        <target>E-Mail-Adresse</target>\n      </trans-unit>\n      <trans-unit id="92f3f203270a29b3001871153f02c063484a1574" datatype="html">\n        <source>Suspended</source>\n        <target>Angehalten</target>\n      </trans-unit>\n      <trans-unit id="8011e20c5bbe51602d459a860fbf29b599b55edd" datatype="html">\n        <source>System</source>\n        <target>System</target>\n      </trans-unit>\n      <trans-unit id="db18a2772988415466a7f75dc42663ce78c9c1d3" datatype="html">\n        <source>Maximum buckets</source>\n        <target>Maximale Buckets</target>\n      </trans-unit>\n      <trans-unit id="2c4c62e8ba24601be5cfe7dc5d32c24bbbd4b53c" datatype="html">\n        <source>Subusers</source>\n        <target>Unterbenutzer</target>\n      </trans-unit>\n      <trans-unit id="17bb3082e6fe5003203ef992a3714172334631a1" datatype="html">\n        <source>Capabilities</source>\n        <target>Befähigungen</target>\n      </trans-unit>\n      <trans-unit id="36ad38f9c1a1485e09b67778a28af84553290ffb" datatype="html">\n        <source>User quota</source>\n        <target>Benutzerquote</target>\n      </trans-unit>\n      <trans-unit id="2aba1e87039819aca3b70faa9aa848c12bf139ca" datatype="html">\n        <source>Show</source>\n        <target>Anzeigen</target>\n      </trans-unit>\n      <trans-unit id="0bcd5ef19af0f1b814141ca8c57df623d8270088" datatype="html">\n        <source>Keys</source>\n        <target>Schlüssel</target>\n      </trans-unit>\n      <trans-unit id="f61c6867295f3b53d23557021f2f4e0aa1d0b8fc" datatype="html">\n        <source>Type</source>\n        <target>Typ</target>\n      </trans-unit>\n      <trans-unit id="1221ca97d19eaa9a7bc0c5243d5fc5befe1d2314" datatype="html">\n        <source>-- Select a type --</source>\n        <target>-- Typ auswählen --</target>\n      </trans-unit>\n      <trans-unit id="d1b8990332af18f1c5159a6061ca889bcbb28432" datatype="html">\n        <source>Permission</source>\n        <target>Berechtigung</target>\n      </trans-unit>\n      <trans-unit id="a08c589f82f69d892307288da14190ae1dd583d5" datatype="html">\n        <source>-- Select a permission --</source>\n        <target>-- Berechtigung auswählen --</target>\n      </trans-unit>\n      <trans-unit id="b2841767821d6b66238c34d07e413b0af67aee92" datatype="html">\n        <source>Subuser</source>\n        <target>Unterbenutzer</target>\n      </trans-unit>\n      <trans-unit id="bd59fc25a7bd98cff3e75117c09697c8a007a514" datatype="html">\n        <source>The chosen subuser ID is already in use.</source>\n        <target>Die ausgewählte Unterbenutzer-ID wird bereits verwendet.</target>\n      </trans-unit>\n      <trans-unit id="3d386c357ebcbc04ed05c4babd5a03626f9b1674" datatype="html">\n        <source>read, write</source>\n        <target>lesen, schreiben</target>\n      </trans-unit>\n      <trans-unit id="84e3e3f9a4f31a039b648c97debf95fcb20f4c4a" datatype="html">\n        <source>full</source>\n        <target>voll</target>\n      </trans-unit>\n      <trans-unit id="b6bf81d032a2316464f9df2f0d2f3d753f89f0d3" datatype="html">\n        <source>Swift key</source>\n        <target>Swift-Schlüssel</target>\n      </trans-unit>\n      <trans-unit id="1e0c12685d50d47448ceed9423977ef39775c037" datatype="html">\n        <source>Auto-generate secret</source>\n        <target>Geheimnis automatisch generieren</target>\n      </trans-unit>\n      <trans-unit id="3d1c7a6004bd5d86a7fa096ae24209e8aa7a53e3" datatype="html">\n        <source>Loading user data...</source>\n        <target>Benutzerdaten werden geladen...</target>\n      </trans-unit>\n      <trans-unit id="faa5d834ab28571423d794d32b57998920efb65f" datatype="html">\n        <source>The user data could not be loaded.</source>\n        <target>Die Benutzerdaten konnten nicht geladen werden.</target>\n      </trans-unit>\n      <trans-unit id="6aaf5d2a304167272ac73e3b1d1c162e16c77858" datatype="html">\n        <source>The chosen user ID is already in use.</source>\n        <target>Die ausgewählte Benutzer-ID wird bereits verwendet.</target>\n      </trans-unit>\n      <trans-unit id="df441e80db2157f9d272b75de724ba4a82b96b57" datatype="html">\n        <source>This is not a valid email address.</source>\n        <target>Dies ist keine gültige E-Mail-Adresse.</target>\n      </trans-unit>\n      <trans-unit id="ca271adf154956b8fcb28f4f50a37acb3057ff7c" datatype="html">\n        <source>The chosen email address is already in use.</source>\n        <target>Die ausgewählte E-Mail-Adresse wird bereits verwendet.</target>\n      </trans-unit>\n      <trans-unit id="030197cebe938edf35422e92fe14183d06eb670b" datatype="html">\n        <source>Max. buckets</source>\n        <target>Max. Buckets</target>\n      </trans-unit>\n      <trans-unit id="f39256070bfc0714020dfee08895421fc1527014" datatype="html">\n        <source>Disabled</source>\n        <target>Deaktiviert</target>\n      </trans-unit>\n      <trans-unit id="a5c05002b0ac2040f1aede5e727e0ffd06eda819" datatype="html">\n        <source>Custom</source>\n        <target>Benutzerdefiniert</target>\n      </trans-unit>\n      <trans-unit id="28872515cb81d197a3a1733fa546d3e0f0dd6c67" datatype="html">\n        <source>The entered value must be &gt;= 1.</source>\n        <target>The entered value must be &gt;= 1.</target>\n      </trans-unit>\n      <trans-unit id="583a219c524155c2314eb06ee29162bb315272a3" datatype="html">\n        <source>S3 key</source>\n        <target>S3-Schlüssel</target>\n      </trans-unit>\n      <trans-unit id="128d6efb51d9ddc7c0cc695a2deeca5b9523f6e4" datatype="html">\n        <source>There are no subusers.</source>\n        <target>Keine Unterbenutzer vorhanden.</target>\n      </trans-unit>\n      <trans-unit id="7fd6dfb8ecb982dbc3affb2c2d5414c4f5b6abd2" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ subuserLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ subuserLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="67c746c1ba9dab4351fedc4c7cba4e6d6b0dbc47" datatype="html">\n        <source>S3</source>\n        <target>S3</target>\n      </trans-unit>\n      <trans-unit id="d6819038d608623503918fb2553f53d68231ec3a" datatype="html">\n        <source>There are no keys.</source>\n        <target>Keine Schlüssel vorhanden.</target>\n      </trans-unit>\n      <trans-unit id="fc1c1a7140ff6b815a95b65ee2780fdbe1b2b7a1" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ s3keyLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ s3keyLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6ddb5e991a3ecd2659fb520bc5acc81b67e08ddd" datatype="html">\n        <source>Swift</source>\n        <target>Swift</target>\n      </trans-unit>\n      <trans-unit id="1d01eccdda47fc907c5be35bcb16d2dcd02b0270" datatype="html">\n        <source>There are no capabilities.</source>\n        <target>Keine Befähigungen vorhanden.</target>\n      </trans-unit>\n      <trans-unit id="043e2ec0036ceadd926fd5e3f93cd6f3565f3648" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.ADD | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.ADD | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="f5a451c4ea65a4046f0b49d489a7013abf0b5861" datatype="html">\n        <source>All capabilities are already added.</source>\n        <target>All capabilities are already added.</target>\n      </trans-unit>\n      <trans-unit id="6146e13ceca5fa5cc17b771b282fe5955f3d19fa" datatype="html">\n        <source>Unlimited size</source>\n        <target>Unbegrenzte Größe</target>\n      </trans-unit>\n      <trans-unit id="f6db8aa7c99fdce18edb33dde57729acede2b308" datatype="html">\n        <source>Max. size</source>\n        <target>Max. Größe</target>\n      </trans-unit>\n      <trans-unit id="fc630b2093e880fffa19df99d5cd8b87605037f8" datatype="html">\n        <source>Unlimited objects</source>\n        <target>Unbegrenzte Objekte</target>\n      </trans-unit>\n      <trans-unit id="6cda5a993d06f0bb10048be9d3aba6555aa9f356" datatype="html">\n        <source>Max. objects</source>\n        <target>Max. Objekte</target>\n      </trans-unit>\n      <trans-unit id="623ac50f37a26caec6fd7cd519b653e3315cba25" datatype="html">\n        <source>The entered value must be &gt;= 0.</source>\n        <target>Der eingegebene Wert muss &gt;=0 sein.</target>\n      </trans-unit>\n      <trans-unit id="1ea5c4d8942c00752dcc72e72949c5d9832f6399" datatype="html">\n        <source>Description...</source>\n        <target>Beschreibung...</target>\n      </trans-unit>\n      <trans-unit id="70f45880fce6ac5d8e468e25e82aefbba8098cfe" datatype="html">\n        <source>Permissions</source>\n        <target>Berechtigungen</target>\n      </trans-unit>\n      <trans-unit id="9610487cbeb5796d34d8601b5ac0c0a65f9e1d19" datatype="html">\n        <source>Roles</source>\n        <target>Rollen</target>\n      </trans-unit>\n      <trans-unit id="7f3bdcce4b2e8c37cd7f0f6c92ef8cff34b039b8" datatype="html">\n        <source>Confirm password</source>\n        <target>Passwort bestätigen</target>\n      </trans-unit>\n      <trans-unit id="cbb979e63ba50e0ca3adfa09cbdcaefd0853fca1" datatype="html">\n        <source>Password confirmation doesn\'t match the password.</source>\n        <target>Passwortbestätigung stimmt nicht mit dem Passwort überein.</target>\n      </trans-unit>\n      <trans-unit id="96621f9ed2e4ae5204564e583d2c816bedead571" datatype="html">\n        <source>Password expiration date</source>\n        <target>Ablaufdatum des Passworts</target>\n      </trans-unit>\n      <trans-unit id="48932db3801fe9d5d72a60a3e656bffd17c1c5d9" datatype="html">\n        <source>Password expiration date...</source>\n        <target>Ablaufdatum des Passworts...</target>\n      </trans-unit>\n      <trans-unit id="244aae9346da82b0922506c2d2581373a15641cc" datatype="html">\n        <source>Email</source>\n        <target>E-Mail-Adresse</target>\n      </trans-unit>\n      <trans-unit id="d0ec081dd61eb4f43aea269077bbe38eae87b7f9" datatype="html">\n        <source>Invalid email.</source>\n        <target>Ungültige E-Mail-Adresse.</target>\n      </trans-unit>\n      <trans-unit id="8913c216dd506e20e412e144381d8d2a65a84359" datatype="html">\n        <source>User must change password at next logon</source>\n        <target>Benutzer muss das Passwort bei der nächsten Anmeldung ändern</target>\n      </trans-unit>\n      <trans-unit id="0051a3479d3ba79135c16dc8cc017950a2cce821" datatype="html">\n        <source>You are about to remove "user read / update" permissions from your own user.</source>\n        <target>Sie sind dabei, die Lese-/Aktualisierungsberechtigungen für Benutzer von Ihrem eigenen Benutzer zu entfernen.</target>\n      </trans-unit>\n      <trans-unit id="af4bf9fcb256853f14cf947eb1deb8d7f176d3f9" datatype="html">\n        <source>If you continue, you will no longer be able to add or remove roles from any user.</source>\n        <target>Wenn Sie den Vorgang fortsetzen, können Sie Benutzerrollen nicht mehr hinzufügen oder entfernen.</target>\n      </trans-unit>\n      <trans-unit id="7d1dcf2a9146caac0581329acf94806ec69a89a5" datatype="html">\n        <source>Are you sure you want to continue?</source>\n        <target>Möchten Sie den Vorgang wirklich fortsetzen?</target>\n      </trans-unit>\n      <trans-unit id="85b79c9064aed1ead31ace985f31aa1363f6bdaf" datatype="html">\n        <source>Help</source>\n        <target>Hilfe</target>\n      </trans-unit>\n      <trans-unit id="fcfd4675b4c90f08d18d3abede9a9a4dff4cfdc7" datatype="html">\n        <source>Documentation</source>\n        <target>Dokumentation</target>\n      </trans-unit>\n      <trans-unit id="e351b40b3869a5c7d19c3d4918cb1ac7aaab95c4" datatype="html">\n        <source>API</source>\n        <target>API</target>\n      </trans-unit>\n      <trans-unit id="004b222ff9ef9dd4771b777950ca1d0e4cd4348a" datatype="html">\n        <source>About</source>\n        <target>Über</target>\n      </trans-unit>\n      <trans-unit id="1481ecd21e760ac919a24e26cf790acd82e40199" datatype="html">\n        <source>Dashboard Settings</source>\n        <target>Dashboard-Einstellungen</target>\n      </trans-unit>\n      <trans-unit id="a79aab4ef674bf3f6532292107c0054302236e0f" datatype="html">\n        <source>User management</source>\n        <target>Benutzerverwaltung</target>\n      </trans-unit>\n      <trans-unit id="049dfd9fe6c78914ad58cf89ac6a631fca28ec74" datatype="html">\n        <source>Logged in user</source>\n        <target>Angemeldeter Benutzer</target>\n      </trans-unit>\n      <trans-unit id="cd38a58e73f306d838e621959d47d5e7a2f06d1f" datatype="html">\n        <source>Signed in as\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ username }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>\n        </source>\n        <target>Angemeldet als\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ username }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="739516c2ca75843d5aec9cf0e6b3e4335c4227b9" datatype="html">\n        <source>Change password</source>\n        <target>Passwort ändern</target>\n      </trans-unit>\n      <trans-unit id="5d22c795daf43877a5f708dca2bccd549eb0471d" datatype="html">\n        <source>Sign out</source>\n        <target>Abmelden</target>\n      </trans-unit>\n      <trans-unit id="91853167141c37b58868f3b0421383dd72fa8a01" datatype="html">\n        <source>Attributes (OSD map)</source>\n        <target>Attribute (OSD-Zuordnung)</target>\n      </trans-unit>\n      <trans-unit id="97842f379e1d4157ac3ab0661b90c352e7cb72d5" datatype="html">\n        <source>Metadata not available</source>\n        <target>Metadaten nicht verfügbar</target>\n      </trans-unit>\n      <trans-unit id="f721a500a68c357e8f2a01e60510f6a01e4ba529" datatype="html">\n        <source>Metadata</source>\n        <target>Metadaten</target>\n      </trans-unit>\n      <trans-unit id="deba10b7279a589d01e919ea11f43c79ca1773e3" datatype="html">\n        <source>Device health</source>\n        <target>Laufwerkszustand</target>\n      </trans-unit>\n      <trans-unit id="d24e28e19c5703d7c6be44f4eb595a6a43b618ed" datatype="html">\n        <source>Performance counter</source>\n        <target>Leistungsindikator</target>\n      </trans-unit>\n      <trans-unit id="d1f7c81ed9c5034af4abcdf119b1c1e86cd019dd" datatype="html">\n        <source>Histogram not available: \n          <x id="INTERPOLATION" equiv-text="{{ osd.histogram_failed }}"/>\n        </source>\n        <target>Histogramm nicht verfügbar: \n          <x id="INTERPOLATION" equiv-text="{{ osd.histogram_failed }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="868abfff914873d1c65df798d8432ed04b8ae2a9" datatype="html">\n        <source>Writes</source>\n        <target>Schreiben</target>\n      </trans-unit>\n      <trans-unit id="996ebb9a653b5067f97bf3891ea9d2108e969492" datatype="html">\n        <source>Reads</source>\n        <target>Lesen</target>\n      </trans-unit>\n      <trans-unit id="65ac79790aa477a97b1cc579e18a115a8df8918f" datatype="html">\n        <source>Histogram</source>\n        <target>Histogramm</target>\n      </trans-unit>\n      <trans-unit id="3d87fc20ea8e5f0f0500ba5d5061b345be78ec5e" datatype="html">\n        <source>No hostname found.</source>\n        <target>Hostname nicht gefunden.</target>\n      </trans-unit>\n      <trans-unit id="26fb5f81b3581f06b9210defb0e71dc69a67e819" datatype="html">\n        <source>Current values</source>\n        <target>Aktuelle Werte</target>\n      </trans-unit>\n      <trans-unit id="9abcd7c82643d60c22733470463f74e4a54bc069" datatype="html">\n        <source>Min</source>\n        <target>Min.</target>\n      </trans-unit>\n      <trans-unit id="c3ced4d162a0a55ee233a187ce7208ba5e922418" datatype="html">\n        <source>Max</source>\n        <target>Max.</target>\n      </trans-unit>\n      <trans-unit id="6834fa6b43d1ecbdf147c48dd9c4d72f1484571d" datatype="html">\n        <source>Source</source>\n        <target>Quelle</target>\n      </trans-unit>\n      <trans-unit id="a446fb0eb11fbffcac805ece5a2d306d24e733d8" datatype="html">\n        <source>Level</source>\n        <target>Ebene</target>\n      </trans-unit>\n      <trans-unit id="39f2fb094e9b2eda13163fa3f3a31594cf9c1307" datatype="html">\n        <source>Can be updated at runtime (editable)</source>\n        <target>Kann zur Laufzeit aktualisiert werden (bearbeitbar)</target>\n      </trans-unit>\n      <trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b" datatype="html">\n        <source>Tags</source>\n        <target>Tags</target>\n      </trans-unit>\n      <trans-unit id="ab0089ef47af61ca1d137bc908b96c290dfd9287" datatype="html">\n        <source>Enum values</source>\n        <target>Auflistungswerte</target>\n      </trans-unit>\n      <trans-unit id="819476f1264f1659f38e86f6abb542141b184832" datatype="html">\n        <source>See also</source>\n        <target>Siehe auch</target>\n      </trans-unit>\n      <trans-unit id="73caac4265ea7314ff061e5a1d78a6361a6dd3b8" datatype="html">\n        <source>Cluster Status</source>\n        <target>Clusterstatus</target>\n      </trans-unit>\n      <trans-unit id="1d4bc612bbf19aa9553853266b9e92c9d75f4464" datatype="html">\n        <source>Manager Daemons</source>\n        <target>Manager-Daemons</target>\n      </trans-unit>\n      <trans-unit id="946ac5dea9921dc09d7b0a63b89535371f283b19" datatype="html">\n        <source>Object Gateways</source>\n        <target>Objektgateways</target>\n      </trans-unit>\n      <trans-unit id="ff03fa5bcf37c4da46ad736c1f7d03f959e8ba9a" datatype="html">\n        <source>Metadata Servers</source>\n        <target>Metadatenserver</target>\n      </trans-unit>\n      <trans-unit id="d817609ba4993eba859409ab71e566168f4d5f5a" datatype="html">\n        <source>iSCSI Gateways</source>\n        <target>iSCSI-Gateways</target>\n      </trans-unit>\n      <trans-unit id="42c13e50391250ea9379bdf55d5d6c0228c0c8bc" datatype="html">\n        <source>Client IOPS</source>\n        <target>Client-IOPS</target>\n      </trans-unit>\n      <trans-unit id="52213660b2454d139ada3079a42ec6caf3c3c01e" datatype="html">\n        <source>Client Throughput</source>\n        <target>Clientdurchsatz</target>\n      </trans-unit>\n      <trans-unit id="32efd1c3f70e3c5244239de97a2cc95d98534a14" datatype="html">\n        <source>Client Read/Write</source>\n        <target>Client-Lese-/Schreibvorgänge</target>\n      </trans-unit>\n      <trans-unit id="275485415092cbae3a9f3cbb786ebe283cacfdd5" datatype="html">\n        <source>Recovery Throughput</source>\n        <target>Wiederherstellungsdurchsatz</target>\n      </trans-unit>\n      <trans-unit id="6d9a9f55046891733ef71170e7652063765eb542" datatype="html">\n        <source>Scrub</source>\n        <target>Scrub</target>\n      </trans-unit>\n      <trans-unit id="3cc9c2ae277393b3946b38c088dabff671b1ee1b" datatype="html">\n        <source>Performance</source>\n        <target>Leistung</target>\n      </trans-unit>\n      <trans-unit id="88f383269db2d32cccee9e936fe549dccb9fdbf4" datatype="html">\n        <source>Raw Capacity</source>\n        <target>Rohkapazität</target>\n      </trans-unit>\n      <trans-unit id="c5f8a813f91a11af99132e4beafc136cfc13d73b" datatype="html">\n        <source>PGs per OSD</source>\n        <target>Platzierungsgruppen pro OSD</target>\n      </trans-unit>\n      <trans-unit id="498a109c6e9e94f1966de01aa0326f7f0ac6fb52" datatype="html">\n        <source>PG Status</source>\n        <target>Platzierungsgruppenstatus</target>\n      </trans-unit>\n      <trans-unit id="ce9dfdc6dccb28dc75a78c704e09dc18fb02dcfa" datatype="html">\n        <source>Capacity</source>\n        <target>Kapazität</target>\n      </trans-unit>\n      <trans-unit id="44ecac93d67c6a671198091c2270354f80322327" datatype="html">\n        <source>\n          <x id="START_ITALIC_TEXT" ctype="x-i" equiv-text="<i>"/>\n          <x id="CLOSE_ITALIC_TEXT" ctype="x-i" equiv-text="</i>"/> See \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Logs\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more details.\n        </source>\n        <target>\n          <x id="START_ITALIC_TEXT" ctype="x-i" equiv-text="<i>"/>\n          <x id="CLOSE_ITALIC_TEXT" ctype="x-i" equiv-text="</i>"/> Weitere Details finden Sie in den \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Protokollen\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="0c1e17956453ad772dbe82d6946f62748c692f3e" datatype="html">\n        <source>Ranks</source>\n        <target>Ränge</target>\n      </trans-unit>\n      <trans-unit id="2b24e0b0b1629d2e8a51b9da7c75d6e6379f4bc4" datatype="html">\n        <source>Standbys</source>\n        <target>Standbys</target>\n      </trans-unit>\n      <trans-unit id="50df62325726db950523a5be1c78b8905fcc25d4" datatype="html">\n        <source>MDS performance counters</source>\n        <target>MDS Leistungsindikatoren</target>\n      </trans-unit>\n      <trans-unit id="6e213942c6354b9cbe7a650f0f1499bfc1000fb6" datatype="html">\n        <source>Directories</source>\n        <target>Verzeichnisse</target>\n      </trans-unit>\n      <trans-unit id="47116253e36f4e38a97ba41b2d3122c6c15ab904" datatype="html">\n        <source>Clients (\n          <x id="INTERPOLATION" equiv-text="{{ clients.length }}"/>)\n        </source>\n        <target>Clients (\n          <x id="INTERPOLATION" equiv-text="{{ clients.length }}"/>)\n        </target>\n      </trans-unit>\n      <trans-unit id="bd5a3b1c5a3c185c7bbb0e09a061d4cdc88ce5ad" datatype="html">\n        <source>Current</source>\n        <target>Aktuell</target>\n      </trans-unit>\n      <trans-unit id="e5e7d62e942083a59b0b31f54e17cd7958186052" datatype="html">\n        <source>Updated discovery authentication</source>\n        <target> Ermittlungsauthentifizierung aktualisiert</target>\n      </trans-unit>\n      <trans-unit id="dd4ab758afd5fd5a6c6a25b2b30ff99d0c00e9ad" datatype="html">\n        <source>There are no portals available.</source>\n        <target>Keine Portale verfügbar.</target>\n      </trans-unit>\n      <trans-unit id="83021e45778a4a230a14ca0c6d6ccdf05500ad93" datatype="html">\n        <source>There are no images available.</source>\n        <target>Keine Images verfügbar.</target>\n      </trans-unit>\n      <trans-unit id="86684eb21f8a768e1dbc659e3d5da6861db544a0" datatype="html">\n        <source>There are no images available. Please make sure you add an image to the target.</source>\n        <target>Keine Images verfügbar. Fügen Sie dem Ziel ein Image hinzu.</target>\n      </trans-unit>\n      <trans-unit id="fffda6e440078f57eba93944ce051c593cc6ed7f" datatype="html">\n        <source>There are no initiators available. Please make sure you add an initiator to the target.</source>\n        <target>Keine Initiatoren verfügen. Fügen Sie dem Ziel einen Initiator hinzu.</target>\n      </trans-unit>\n      <trans-unit id="cea3c6fe490385eef1584cbc4983fda7ece24bb6" datatype="html">\n        <source>target</source>\n        <target>target</target>\n      </trans-unit>\n      <trans-unit id="38baeb215c17af9d9e295e371a57f4a48ab4c191" datatype="html">\n        <source>Target</source>\n        <target>Ziel</target>\n      </trans-unit>\n      <trans-unit id="99e094878070eebc1b972bac02aaa33b2bf83b35" datatype="html">\n        <source># Sessions</source>\n        <target># Sessions</target>\n      </trans-unit>\n      <trans-unit id="2ea10b3668e04e057ba96ddcaf4c9b77089008ae" datatype="html">\n        <source>Unavailable gateway(s)</source>\n        <target>Unavailable gateway(s)</target>\n      </trans-unit>\n      <trans-unit id="c49e0dd71d551bd4928d967d78f0721dbf9f95e3" datatype="html">\n        <source>Target has active sessions</source>\n        <target>Target has active sessions</target>\n      </trans-unit>\n      <trans-unit id="a87acd72dfb68b45175270695209550a85adf50c" datatype="html">\n        <source>iSCSI target</source>\n        <target>iSCSI target</target>\n      </trans-unit>\n      <trans-unit id="873b72903b1858a9cd6c8967521030b4d7d1435b" datatype="html">\n        <source>State</source>\n        <target>Zustand</target>\n      </trans-unit>\n      <trans-unit id="02b75464c0dc0cf49ea0208211b6fbcad3bf728a" datatype="html">\n        <source># Targets</source>\n        <target># Targets</target>\n      </trans-unit>\n      <trans-unit id="13415637c325ceefee29111b31cb48701490adf7" datatype="html">\n        <source>Read Bytes</source>\n        <target>Bytes für Lesevorgang</target>\n      </trans-unit>\n      <trans-unit id="e2ed82b7bbf4a006e60e6208c597b05d5b5556e9" datatype="html">\n        <source>Write Bytes</source>\n        <target>Bytes für Schreibvorgang</target>\n      </trans-unit>\n      <trans-unit id="6a32a5f58845ca840185ea9564682094e77a1d80" datatype="html">\n        <source>Read Ops</source>\n        <target>Lesevorgänge</target>\n      </trans-unit>\n      <trans-unit id="7c36cb8032af123d3550ffab2e1fa1e957c87fae" datatype="html">\n        <source>Write Ops</source>\n        <target>Schreibvorgänge</target>\n      </trans-unit>\n      <trans-unit id="458c33846a8c7e2feb9404bcf06723784e756cdc" datatype="html">\n        <source>A/O Since</source>\n        <target>A/O seit</target>\n      </trans-unit>\n      <trans-unit id="ff78f059449d44322f627d0f66df07abe476962b" datatype="html">\n        <source>Instance</source>\n        <target>Instanz</target>\n      </trans-unit>\n      <trans-unit id="36fad7995cadfb3a6f0d43ef2db280146b3ca022" datatype="html">\n        <source>Issue</source>\n        <target>Problem</target>\n      </trans-unit>\n      <trans-unit id="15793f4cbc261bedbc60f7105533dde536a3f42b" datatype="html">\n        <source>Progress</source>\n        <target>Fortschritt</target>\n      </trans-unit>\n      <trans-unit id="25b725dba712a7a020fd34a72297befae975a492" datatype="html">\n        <source>Edit Site Name</source>\n        <target>Edit Site Name</target>\n      </trans-unit>\n      <trans-unit id="8c375764db42f5d736fb56d01b8052c006ccc8e2" datatype="html">\n        <source>Edit Mode</source>\n        <target>Bearbeitungsmodus</target>\n      </trans-unit>\n      <trans-unit id="45932f2a0ea524b3425f4320ee46a6d1c68977bc" datatype="html">\n        <source>Add Peer</source>\n        <target>Peer hinzufügen</target>\n      </trans-unit>\n      <trans-unit id="d3dc34662e3cda0dad646221651cebd26f731485" datatype="html">\n        <source>Edit Peer</source>\n        <target>Peer bearbeiten</target>\n      </trans-unit>\n      <trans-unit id="e8a0ec0b6ee72db0f27c186e09640d1ed41964bd" datatype="html">\n        <source>Delete Peer</source>\n        <target>Peer löschen</target>\n      </trans-unit>\n      <trans-unit id="314de06d6f64d39149e78e6d796585c0246fec0b" datatype="html">\n        <source>Leader</source>\n        <target>Leader</target>\n      </trans-unit>\n      <trans-unit id="7acaab450312114059ced9e3737798ee9aa738b1" datatype="html">\n        <source># Local</source>\n        <target># lokal</target>\n      </trans-unit>\n      <trans-unit id="7a3ffd88868135c44be3994263bb8e49d8358884" datatype="html">\n        <source># Remote</source>\n        <target># remote</target>\n      </trans-unit>\n      <trans-unit id="85ca0fd6a6ddd211023c70a25753122c5b978787" datatype="html">\n        <source>mirror peer</source>\n        <target>Peer spiegeln</target>\n      </trans-unit>\n      <trans-unit id="a6493c6ca346cd052da40423eda9c132de2b2002" datatype="html">\n        <source>Key</source>\n        <target>Schlüssel</target>\n      </trans-unit>\n      <trans-unit id="e9cac80fb5d9de66f0006d0bec530fd1fc69a674" datatype="html">\n        <source>RBD</source>\n        <target>RBD</target>\n      </trans-unit>\n      <trans-unit id="4130b1a836f2000cfe9a11fb62493dc42d444de7" datatype="html">\n        <source>Deep flatten</source>\n        <target>Umfassende Vereinfachung</target>\n      </trans-unit>\n      <trans-unit id="7b17694d7cb8ecb7c8440bc999dac21b44455b33" datatype="html">\n        <source>Layering</source>\n        <target>Schichtung</target>\n      </trans-unit>\n      <trans-unit id="6a072ce577c2079d0e0c31071a16824f6d22b84d" datatype="html">\n        <source>Exclusive lock</source>\n        <target>Exklusive Sperre</target>\n      </trans-unit>\n      <trans-unit id="7354f01320bf936a7f85577c9f71402635c3a362" datatype="html">\n        <source>Object map (requires exclusive-lock)</source>\n        <target>Objektzuordnung (erfordert exklusive Sperre)</target>\n      </trans-unit>\n      <trans-unit id="fb7e625c1152f1c102cd16460955d124edff1770" datatype="html">\n        <source>Journaling (requires exclusive-lock)</source>\n        <target>Journaling (erfordert exklusive Sperre)</target>\n      </trans-unit>\n      <trans-unit id="df4044632bfc211dd96544fc8f007dabbeeb506c" datatype="html">\n        <source>Fast diff (interlocked with object-map)</source>\n        <target>Fast diff (interlocked with object-map)</target>\n      </trans-unit>\n      <trans-unit id="130fd872c78271a8f86b1ab16a76e823969c47d9" datatype="html">\n        <source>Namespace</source>\n        <target>Namensraum</target>\n      </trans-unit>\n      <trans-unit id="14abc99daed542774633046c53b6ce8251331141" datatype="html">\n        <source>This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.</source>\n        <target>This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.</target>\n      </trans-unit>\n      <trans-unit id="51699f716cf34e6622ff7bfd84641480c045271a" datatype="html">\n        <source>Created namespace \'\n          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>\'\n        </source>\n        <target>Created namespace \'\n          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="bf44b7d6379ce0198ed3d95a27642a224181bf1d" datatype="html">\n        <source>Total images</source>\n        <target>Images insgesamt</target>\n      </trans-unit>\n      <trans-unit id="371ce3ffe62548d15e391a248bc554d903bb03fc" datatype="html">\n        <source>Deleted namespace \'\n          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>\'\n        </source>\n        <target>Deleted namespace \'\n          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="9d704fd00ca929f90c3119cefc581821ae58a73e" datatype="html">\n        <source>Namespace contains images</source>\n        <target>Namensraum enthält Images</target>\n      </trans-unit>\n      <trans-unit id="c2017dc94b4f57a347ccb126e546e88942f4d7a6" datatype="html">\n        <source>RBD Snapshot</source>\n        <target>RBD Snapshot</target>\n      </trans-unit>\n      <trans-unit id="631fc50ec7c9bd81dc797a3c7e09eda1178ad999" datatype="html">\n        <source>Parent image must support Layering</source>\n        <target>Parent image must support Layering</target>\n      </trans-unit>\n      <trans-unit id="cb60c1cd3655234756b5b92d4d597d92d520ee30" datatype="html">\n        <source>PROTECTED</source>\n        <target>PROTECTED</target>\n      </trans-unit>\n      <trans-unit id="deffb86b8fb0541254ad5a43862d82bff6b6a6c4" datatype="html">\n        <source>UNPROTECTED</source>\n        <target>NICHT GESCHÜTZT</target>\n      </trans-unit>\n      <trans-unit id="7eb984588f4835f6d0187b33769b4b0f62821640" datatype="html">\n        <source>RBD snapshot rollback</source>\n        <target>Rollback für RBD-Snapshot</target>\n      </trans-unit>\n      <trans-unit id="4be22bf20ef82614ed53bcd3b912a85590aa71c9" datatype="html">\n        <source>Rollback</source>\n        <target>Rollback</target>\n      </trans-unit>\n      <trans-unit id="2a04c483708d261751d62082d6f03a50d4577b1e" datatype="html">\n        <source>RBD snapshot</source>\n        <target>RBD-Snapshot</target>\n      </trans-unit>\n      <trans-unit id="fa96769d1ea86741297cb9b9769b0dcfde58c8b4" datatype="html">\n        <source>Deleted At</source>\n        <target>Gelöscht am</target>\n      </trans-unit>\n      <trans-unit id="e928864038ca70ee7d67bbf1fd71a01c3938a127" datatype="html">\n        <source>id</source>\n        <target>ID</target>\n      </trans-unit>\n      <trans-unit id="240c9c1e96dc38814922a83ad041dc815b084f32" datatype="html">\n        <source>type</source>\n        <target>Typ</target>\n      </trans-unit>\n      <trans-unit id="c9d7ec7ee5b4e282f2228fa996651ec4ef5195a9" datatype="html">\n        <source>state</source>\n        <target>Zustand</target>\n      </trans-unit>\n      <trans-unit id="5780e5c3b4fc2ae07836bb5221cec4f8d597630d" datatype="html">\n        <source>version</source>\n        <target>Version</target>\n      </trans-unit>\n      <trans-unit id="fe22ca53e651df951dac25b67c17894b0980f767" datatype="html">\n        <source>Host</source>\n        <target>Host</target>\n      </trans-unit>\n      <trans-unit id="fb69299354312c8954ecf324997ccafcd9f6b14b" datatype="html">\n        <source>root</source>\n        <target>Stamm</target>\n      </trans-unit>\n      <trans-unit id="d34feb369d308075b423d5c5fc431f9766bf7a11" datatype="html">\n        <source>Evicted client "\n          <x id="INTERPOLATION" equiv-text="{{clientId}}"/>"\n        </source>\n        <target>Evicted client "\n          <x id="INTERPOLATION" equiv-text="{{clientId}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="7db875ff4cc626d394f37fba95c075b2e4bfeb00" datatype="html">\n        <source>Standby daemons</source>\n        <target>Standby-Daemons</target>\n      </trans-unit>\n      <trans-unit id="3c3a423d91e36ac6624e909fcd2669a25685f847" datatype="html">\n        <source>Rank</source>\n        <target>Rang</target>\n      </trans-unit>\n      <trans-unit id="9596ecae8956e96921acef47aec787f6bdc37454" datatype="html">\n        <source>Daemon</source>\n        <target>Daemon</target>\n      </trans-unit>\n      <trans-unit id="f2005fa461c06dc2e04d8918bbabedf23604b5b7" datatype="html">\n        <source>Activity</source>\n        <target>Aktivität</target>\n      </trans-unit>\n      <trans-unit id="e3a986984ae0c3b43af648c3fa638649d1c00348" datatype="html">\n        <source>Dentries</source>\n        <target>Dentries</target>\n      </trans-unit>\n      <trans-unit id="7c692ab865066967d73c6d64ec0691cc6ce91b93" datatype="html">\n        <source>Inodes</source>\n        <target>Inodes</target>\n      </trans-unit>\n      <trans-unit id="45f210b96a2a6e91f52f153a4f8dc30662629f8e" datatype="html">\n        <source>Usage</source>\n        <target>Nutzung</target>\n      </trans-unit>\n      <trans-unit id="950b5f04a2efd3f11c0f76418d5a4212381e792e" datatype="html">\n        <source>Origin</source>\n        <target>Origin</target>\n      </trans-unit>\n      <trans-unit id="2ea2ec95d93fd55d0db6e9d2b95b25e153d4cec2" datatype="html">\n        <source>Max size</source>\n        <target>Max size</target>\n      </trans-unit>\n      <trans-unit id="665dced3a61bca44924a0bde4be47390225a4898" datatype="html">\n        <source>Max files</source>\n        <target>Max files</target>\n      </trans-unit>\n      <trans-unit id="0ccf776baac60794b142526986f3af85848c7059" datatype="html">\n        <source>The inherited \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/> is the maximum value to be used.\n        </source>\n        <target>The inherited \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/> is the maximum value to be used.\n        </target>\n      </trans-unit>\n      <trans-unit id="b0e2ef28384f2de6674cac300c779f900929a89b" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{action}}"/> CephFS \n          <x id="INTERPOLATION_1" equiv-text="{{quotaName}}"/> quota for \'\n          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>\'\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{action}}"/> CephFS \n          <x id="INTERPOLATION_1" equiv-text="{{quotaName}}"/> quota for \'\n          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="542ef638499635dec7641bdc2e499258094187cc" datatype="html">\n        <source>size</source>\n        <target>size</target>\n      </trans-unit>\n      <trans-unit id="ce90ff00c341d8eef96b0e7956bb85b8faba3839" datatype="html">\n        <source>files</source>\n        <target>files</target>\n      </trans-unit>\n      <trans-unit id="fbe8b9340c08c24aef62ffe81c83e2b46a4f1495" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{quotaName}}"/> quota \n          <x id="INTERPOLATION_1" equiv-text="{{value}}"/> from \'\n          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>\'\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{quotaName}}"/> quota \n          <x id="INTERPOLATION_1" equiv-text="{{value}}"/> from \'\n          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="37c2c0a4a356465eef2edfb09ffffc6db5259975" datatype="html">\n        <source>Value has to be at least \n          <x id="INTERPOLATION" equiv-text="{{value}}"/> or more\n        </source>\n        <target>Value has to be at least \n          <x id="INTERPOLATION" equiv-text="{{value}}"/> or more\n        </target>\n      </trans-unit>\n      <trans-unit id="73f8e64703a707e2cf98b9a10653cd3bbdd8cab1" datatype="html">\n        <source>Value has to be at most \n          <x id="INTERPOLATION" equiv-text="{{value}}"/> or less\n        </source>\n        <target>Value has to be at most \n          <x id="INTERPOLATION" equiv-text="{{value}}"/> or less\n        </target>\n      </trans-unit>\n      <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc" datatype="html">\n        <source>Updated</source>\n        <target>Aktualisiert</target>\n      </trans-unit>\n      <trans-unit id="b6a4cf4f302c7fcbec199ce0df42b8282d682b04" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{action}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{quotaValue}}"/>\n          <x id="INTERPOLATION_2" equiv-text="{{conclusion}}"/>.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{action}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{quotaValue}}"/>\n          <x id="INTERPOLATION_2" equiv-text="{{conclusion}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="a40024afb071f68fec949094a71f832d5611bca5" datatype="html">\n        <source>in order to inherit \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>\n        </source>\n        <target>in order to inherit \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="c108ff588291e9c040adea2adf35e7236cf29925" datatype="html">\n        <source>which isn\'t used because of the inheritance of \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>\n        </source>\n        <target>which isn\'t used because of the inheritance of \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="d3785a64d1c72b03b2212855ce695b45ed0342d2" datatype="html">\n        <source>in order to have no quota on the directory</source>\n        <target>in order to have no quota on the directory</target>\n      </trans-unit>\n      <trans-unit id="c4d3a3446a7f36825291c5e76c4a6b7919f9bd2f" datatype="html">\n        <source>Create Snapshot</source>\n        <target>Create Snapshot</target>\n      </trans-unit>\n      <trans-unit id="e9af734e231b837d64df21008e2eb1fdff566a61" datatype="html">\n        <source>Please enter the name of the snapshot.</source>\n        <target>Please enter the name of the snapshot.</target>\n      </trans-unit>\n      <trans-unit id="8c4d3039e6a953b0d6f1b1313ffa60c5d2b35dc7" datatype="html">\n        <source>Created snapshot "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "\n          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"\n        </source>\n        <target>Created snapshot "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "\n          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="126ad894f74ee9a999825f3f4ac5a31fdfc093bf" datatype="html">\n        <source>CephFs Snapshot</source>\n        <target>CephFs Snapshot</target>\n      </trans-unit>\n      <trans-unit id="1e4d1c0865adc485260740c42ac5af68ce8feb13" datatype="html">\n        <source>Deleted snapshot "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "\n          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"\n        </source>\n        <target>Deleted snapshot "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "\n          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="22e4e574b7f8abf58254f328792445b42e2a924a" datatype="html">\n        <source>The value can be updated at runtime.</source>\n        <target>Der Wert kann zur Laufzeit aktualisiert werden.</target>\n      </trans-unit>\n      <trans-unit id="d7770de7b2343c9deeaa7ebf37ba3e35ca5c5988" datatype="html">\n        <source>Daemons/clients do not pull this value from the\n      monitor config database. We disallow setting this option via \'ceph config\n      set ...\'. This option should be configured via ceph.conf or via the\n      command line.</source>\n        <target>Daemons/Clients rufen diesen Wert nicht aus der\n      Datenbank \'monitor config\' ab. Es ist nicht zulässig, diese Option über \'ceph config\n      set ...\' festzulegen. Diese Option sollte über \'ceph.conf\' oder an der\n      Befehlszeile konfiguriert werden.</target>\n      </trans-unit>\n      <trans-unit id="83f11fd1dc503c37931ea6c1c5c1e8c2b4b597b6" datatype="html">\n        <source>Option takes effect only during daemon startup.</source>\n        <target>Die Option wird nur während des Daemon-Starts wirksam.</target>\n      </trans-unit>\n      <trans-unit id="837a07cd6a971038b8b1aa190c43440c9fdb5d8b" datatype="html">\n        <source>Option only affects cluster creation.</source>\n        <target>Die Option wirkt sich nur auf die Cluster-Erstellung aus.</target>\n      </trans-unit>\n      <trans-unit id="2566a88eb247c918b71cfe5b354c31de0d4b01e5" datatype="html">\n        <source>Option only affects daemon creation.</source>\n        <target>Die Option wirkt sich nur auf die Daemon-Erstellung aus.</target>\n      </trans-unit>\n      <trans-unit id="1cdc60cfc09c257625768f3d2082816cdef27279" datatype="html">\n        <source>Updated config option \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\n        </source>\n        <target>Aktualisierte Konfigurationsoption \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="d473e0f684a60db45d6f31e993f693f74290e056" datatype="html">\n        <source>Service</source>\n        <target>Service</target>\n      </trans-unit>\n      <trans-unit id="6986e0df8092d822ac2c076520d83994c78834fc" datatype="html">\n        <source>Modified</source>\n        <target>Modified</target>\n      </trans-unit>\n      <trans-unit id="9951bb3983c7dba6fde013e05c922e4fe1a44367" datatype="html">\n        <source>Current value</source>\n        <target>Aktueller Wert</target>\n      </trans-unit>\n      <trans-unit id="4a01c175f90dd92b432f4a4a199d2c7bb9d997ff" datatype="html">\n        <source>Editable</source>\n        <target>Bearbeitbar</target>\n      </trans-unit>\n      <trans-unit id="261c0af854e8684abc15f89dce6efb3e72344b18" datatype="html">\n        <source>host</source>\n        <target>host</target>\n      </trans-unit>\n      <trans-unit id="b1b381321d4cef04605d3e6e8847ea2b72a03799" datatype="html">\n        <source>Identify</source>\n        <target>Identify</target>\n      </trans-unit>\n      <trans-unit id="a5d5e407f8c4e1b152509c966c90f37edf68472e" datatype="html">\n        <source>Device path</source>\n        <target>Laufwerkspfad</target>\n      </trans-unit>\n      <trans-unit id="b7da3e3505cc80f9bf3cffc8444c53e8a9ec70a5" datatype="html">\n        <source>Available</source>\n        <target>Available</target>\n      </trans-unit>\n      <trans-unit id="396974120fc614fc930a27c8d15a094d82a3a9e4" datatype="html">\n        <source>Vendor</source>\n        <target>Vendor</target>\n      </trans-unit>\n      <trans-unit id="6ec98fa3d6504ba1fd03465194b53706c8263c99" datatype="html">\n        <source>Model</source>\n        <target>Model</target>\n      </trans-unit>\n      <trans-unit id="f2d785f5658c96c6a2f505cdd625108bcece84c3" datatype="html">\n        <source>Identify device \n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\n        </source>\n        <target>Identifiziere Laufwerk \n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="c97ab45ca09248f8f1ba60328175741657fe39ce" datatype="html">\n        <source>Please enter the duration how long to blink the LED.</source>\n        <target>Please enter the duration how long to blink the LED.</target>\n      </trans-unit>\n      <trans-unit id="87e56ee5057023d7e8b59420b838bad112b043bc" datatype="html">\n        <source>1 minute</source>\n        <target>1 minute</target>\n      </trans-unit>\n      <trans-unit id="affa3b3bf1f36531e5ae65291f8a7cd1b06860ee" datatype="html">\n        <source>2 minutes</source>\n        <target>2 minutes</target>\n      </trans-unit>\n      <trans-unit id="878c6645b7fc26d85c7aee17a9d8c282a938dcf3" datatype="html">\n        <source>5 minutes</source>\n        <target>5 minutes</target>\n      </trans-unit>\n      <trans-unit id="aa0a76140961594b7176ade241e5025a7dbb5dce" datatype="html">\n        <source>10 minutes</source>\n        <target>10 minutes</target>\n      </trans-unit>\n      <trans-unit id="0a7f83a1f27750ef634a1f1f97263fac36113b1f" datatype="html">\n        <source>15 minutes</source>\n        <target>15 minutes</target>\n      </trans-unit>\n      <trans-unit id="699b690d686dbb8e00a1e95b89ba2fffb548da6e" datatype="html">\n        <source>Execute</source>\n        <target>Execute</target>\n      </trans-unit>\n      <trans-unit id="aa975a86dd49979a3ae90b9f3fc5b2c97311d422" datatype="html">\n        <source>Identifying \'\n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\' started on host \'\n          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>\'\n        </source>\n        <target>Identifikation von \'\n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\' auf Host \'\n          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>\' gestartet\n        </target>\n      </trans-unit>\n      <trans-unit id="1a6e6ad05508130b7a99ce5b15daf3227c2a930c" datatype="html">\n        <source>Updated options for module "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>".\n        </source>\n        <target>Updated options for module "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="6bd47ff8707aa2e6a94a4a6e2566b86dc7956d5f" datatype="html">\n        <source>Always-On</source>\n        <target>Always-On</target>\n      </trans-unit>\n      <trans-unit id="ac6c9212896d39b23811ed2dadab7d07336ec559" datatype="html">\n        <source>Enable</source>\n        <target>Aktivieren</target>\n      </trans-unit>\n      <trans-unit id="6766a926d80bb7763785621098dae459d6226429" datatype="html">\n        <source>Disable</source>\n        <target>Deaktivieren</target>\n      </trans-unit>\n      <trans-unit id="340f2f312c2eb353e5cd69aee6bee7f5a73c34ac" datatype="html">\n        <source>This Manager module is always on.</source>\n        <target>This Manager module is always on.</target>\n      </trans-unit>\n      <trans-unit id="6a0b3657745dd7a2f2162f1cc790bf9004d0845d" datatype="html">\n        <source>Reconnecting, please wait ...</source>\n        <target>Verbindung wird erneut hergestellt, bitte warten...</target>\n      </trans-unit>\n      <trans-unit id="7099a8878af7a0a26fe5663c4f46cfe87142b75d" datatype="html">\n        <source>Public Address</source>\n        <target>Öffentliche Adresse</target>\n      </trans-unit>\n      <trans-unit id="cbdd1cdc0c7a87f55dd177bc44212f0fc4b80852" datatype="html">\n        <source>Open Sessions</source>\n        <target>Offene Sitzungen</target>\n      </trans-unit>\n      <trans-unit id="34c6f45591d420b1101dcee53999d1de91c0e400" datatype="html">\n        <source>No available devices</source>\n        <target>No available devices</target>\n      </trans-unit>\n      <trans-unit id="dcfe8807a2a1d0d7074a02afe9b80645bd03b9ab" datatype="html">\n        <source>Please add primary devices first</source>\n        <target>Please add primary devices first</target>\n      </trans-unit>\n      <trans-unit id="05d024719e53f85f7f294b7e21dfd805709a0b06" datatype="html">\n        <source>Add devices by using filters</source>\n        <target>Add devices by using filters</target>\n      </trans-unit>\n      <trans-unit id="37e58d1cbdf8212b380efa51422e42821d4f08e6" datatype="html">\n        <source>No In</source>\n        <target>Kein In-Vorgang</target>\n      </trans-unit>\n      <trans-unit id="12706eb5af17ff5ad77b3de21af368d24678e00b" datatype="html">\n        <source>OSDs that were previously marked out will not be marked back in when they start</source>\n        <target>OSDs, die zuvor als \'out\' markiert wurden, werden beim Start nicht wieder markiert</target>\n      </trans-unit>\n      <trans-unit id="96114d7624d11dc90ca46cfa96145fe22118df76" datatype="html">\n        <source>No Out</source>\n        <target>Kein Out-Vorgang</target>\n      </trans-unit>\n      <trans-unit id="a2ef636fe1ddd56b63e4aaf3d292f33dbf735ef3" datatype="html">\n        <source>OSDs will not automatically be marked out after the configured interval</source>\n        <target>OSDs werden nach dem konfigurierten Intervall nicht automatisch als \'out\' markiert</target>\n      </trans-unit>\n      <trans-unit id="ee50aefa9b8bde1e5429b48709a23abfe08358e0" datatype="html">\n        <source>No Up</source>\n        <target>Kein Up-Vorgang</target>\n      </trans-unit>\n      <trans-unit id="608929b939307e397586a98cea52ae38997c7273" datatype="html">\n        <source>OSDs are not allowed to start</source>\n        <target>OSDs dürfen nicht gestartet werden</target>\n      </trans-unit>\n      <trans-unit id="1751ab69c1e7f62927afedbf7116e0116316c551" datatype="html">\n        <source>No Down</source>\n        <target>Kein Down-Vorgang</target>\n      </trans-unit>\n      <trans-unit id="41fac86dfb65c1db690f3e87f6497cb73b281084" datatype="html">\n        <source>OSD failure reports are being ignored, such that the monitors will not mark OSDs down</source>\n        <target>OSD-Fehlerberichte werden ignoriert, sodass die Monitore die OSDs nicht als ausgefallen markieren</target>\n      </trans-unit>\n      <trans-unit id="b2838c6165a9672a17db188f4dd9676574353dd8" datatype="html">\n        <source>Pause</source>\n        <target>Pause</target>\n      </trans-unit>\n      <trans-unit id="191d71dadcc8790573d46706a0b48211de4b8334" datatype="html">\n        <source>Pauses reads and writes</source>\n        <target>Hält Lese- und Schreibvorgänge an</target>\n      </trans-unit>\n      <trans-unit id="471d5ba75836f38c19992cf83d8822632d99e473" datatype="html">\n        <source>No Scrub</source>\n        <target>Kein Scrub</target>\n      </trans-unit>\n      <trans-unit id="5b8caa61814121bc36dac0c34a9e9de3cae74990" datatype="html">\n        <source>Scrubbing is disabled</source>\n        <target>Scrubbing ist deaktiviert</target>\n      </trans-unit>\n      <trans-unit id="7f29a0ac1c797bdc0347dd5d0734ba83e96e7ce6" datatype="html">\n        <source>No Deep Scrub</source>\n        <target>Kein umfassender Scrub</target>\n      </trans-unit>\n      <trans-unit id="01da61ab216541a8d31259cebd16b10c7e5fc124" datatype="html">\n        <source>Deep Scrubbing is disabled</source>\n        <target>Umfassendes Scrubbing ist deaktiviert</target>\n      </trans-unit>\n      <trans-unit id="0b86c7f18ac725de62c7e192dcfccd02c0dc40ab" datatype="html">\n        <source>No Backfill</source>\n        <target>Kein Abgleich</target>\n      </trans-unit>\n      <trans-unit id="bd33a2bdc8fbed3b7469f3717c16d9aaa2851fdd" datatype="html">\n        <source>Backfilling of PGs is suspended</source>\n        <target>Abgleich der Platzierungsgruppen ist ausgesetzt</target>\n      </trans-unit>\n      <trans-unit id="df526de2b93c4099a30c200ef551608e39ee5256" datatype="html">\n        <source>No Rebalance</source>\n        <target>No Rebalance</target>\n      </trans-unit>\n      <trans-unit id="c5b70346245f8d52b58e5e7fe222ce82f12429ce" datatype="html">\n        <source>OSD will choose not to backfill unless PG is also degraded</source>\n        <target>OSD will choose not to backfill unless PG is also degraded</target>\n      </trans-unit>\n      <trans-unit id="7fbbd036394cfa623add40299757bc87df8eaa7e" datatype="html">\n        <source>No Recover</source>\n        <target>Keine Wiederherstellung</target>\n      </trans-unit>\n      <trans-unit id="f3ee9b451a64dca47299c9b4ae1091c2008068ad" datatype="html">\n        <source>Recovery of PGs is suspended</source>\n        <target>Wiederherstellung der Platzierungsgruppen ist ausgesetzt</target>\n      </trans-unit>\n      <trans-unit id="de904148fe7e8d812218f50333ffe247900617c5" datatype="html">\n        <source>Bitwise Sort</source>\n        <target>Bitweise Sortierung</target>\n      </trans-unit>\n      <trans-unit id="2613c9fde29785bcd75f0abeccb653d14d7527b3" datatype="html">\n        <source>Use bitwise sort</source>\n        <target>Bitweise Sortierung verwenden</target>\n      </trans-unit>\n      <trans-unit id="2fe10d84250aeee365db244251d40934c70ff1e9" datatype="html">\n        <source>Purged Snapdirs</source>\n        <target>Bereinigte Snapdirs</target>\n      </trans-unit>\n      <trans-unit id="6b22a5b780eda3c5d500cdac9c6d4f96978c38f1" datatype="html">\n        <source>OSDs have converted snapsets</source>\n        <target>OSDs besitzen konvertierte Snapsets</target>\n      </trans-unit>\n      <trans-unit id="c42f0ba60564dc5b977a8c7f3fdcde9efbb39c60" datatype="html">\n        <source>Recovery Deletes</source>\n        <target>Löschvorgänge bei Wiederherstellungen</target>\n      </trans-unit>\n      <trans-unit id="72fe39979198ea2ed6db6274b5029025cb316d90" datatype="html">\n        <source>Deletes performed during recovery instead of peering</source>\n        <target>Bei der Wiederherstellung anstelle des Peerings durchgeführte Löschvorgänge</target>\n      </trans-unit>\n      <trans-unit id="1bb4a1f9127cefe624c173557a716d0ebb6d647c" datatype="html">\n        <source>PG Log Hard Limit</source>\n        <target>Hardlimit für Platzierungsgruppen-Protokoll</target>\n      </trans-unit>\n      <trans-unit id="e03c0321397fdf7a9c22e8d6b5015424943c0a57" datatype="html">\n        <source>Puts a hard limit on pg log length</source>\n        <target>Legt ein Hardlimit für die Platzierungsgruppen-Protokolllänge fest</target>\n      </trans-unit>\n      <trans-unit id="3c384e2e80c6b5eb24861fbf4225b69486cff4a3" datatype="html">\n        <source>Updated OSD Flags</source>\n        <target>Aktualisierte OSD-Flags</target>\n      </trans-unit>\n      <trans-unit id="948758e1412bb2ecdb98e3a4f1cbb6d7458456f2" datatype="html">\n        <source>Encryption</source>\n        <target>Encryption</target>\n      </trans-unit>\n      <trans-unit id="c8b1475105463088593de1022ff6dceb523eae0e" datatype="html">\n        <source>OSD</source>\n        <target>OSD</target>\n      </trans-unit>\n      <trans-unit id="688578fcc739d6f0c5fb6c366dbb19d21c6d9e36" datatype="html">\n        <source>out</source>\n        <target>aus</target>\n      </trans-unit>\n      <trans-unit id="cb0f69bdd4dea41d7d45c74b6e07f98de8a2ab26" datatype="html">\n        <source>in</source>\n        <target>ein</target>\n      </trans-unit>\n      <trans-unit id="b5fbc7c7f007dd53b2318525bb7ff8b0376c9e37" datatype="html">\n        <source>down</source>\n        <target>ausgefallen</target>\n      </trans-unit>\n      <trans-unit id="b58719bcb9184e1a7884d00d22d10899d59bf295" datatype="html">\n        <source>Mark</source>\n        <target>Markieren</target>\n      </trans-unit>\n      <trans-unit id="31a1c1aa03f1e5084750bedb4e3fdc04ce2cb6ca" datatype="html">\n        <source>OSD lost</source>\n        <target>OSD verloren</target>\n      </trans-unit>\n      <trans-unit id="f3fc4c85c5b8f1dedea0496b72d0af9da7b9e0d9" datatype="html">\n        <source>marked lost</source>\n        <target>markierter Verlust</target>\n      </trans-unit>\n      <trans-unit id="40fedc157ad899a18ec40573f770d18b040959d2" datatype="html">\n        <source>Purge</source>\n        <target>Bereinigen</target>\n      </trans-unit>\n      <trans-unit id="4f3cff08c7033b63bbccfe66006b1bcaea48ddd8" datatype="html">\n        <source>purged</source>\n        <target>bereinigt</target>\n      </trans-unit>\n      <trans-unit id="8e5d1b01eca6dce26a4751f0b19bda7a6ab8db5b" datatype="html">\n        <source>destroy</source>\n        <target>vernichten</target>\n      </trans-unit>\n      <trans-unit id="495a06b78bf165a7b545fa002137f0846b094a3d" datatype="html">\n        <source>destroyed</source>\n        <target>vernichtet</target>\n      </trans-unit>\n      <trans-unit id="70ef158c584bafe788e319a0bffa11b02ee9abf1" datatype="html">\n        <source>delete</source>\n        <target>löschen</target>\n      </trans-unit>\n      <trans-unit id="a5b387f5a15b95e339df10fc23526c659a2b6c6f" datatype="html">\n        <source>deleted</source>\n        <target>deleted</target>\n      </trans-unit>\n      <trans-unit id="107614b994f2b01abdc1ca179bf780b0cd933ec4" datatype="html">\n        <source>Recovery Priority</source>\n        <target>Wiederherstellungspriorität</target>\n      </trans-unit>\n      <trans-unit id="359dad5a3a912ef9dece3194035020856805aa96" datatype="html">\n        <source>PG scrub</source>\n        <target>PG Scrub</target>\n      </trans-unit>\n      <trans-unit id="953144c420c2e5abd02e6a687433eac60fa852bd" datatype="html">\n        <source>PGs</source>\n        <target>Platzierungsgruppen</target>\n      </trans-unit>\n      <trans-unit id="7d3523ea9d35c274cef84043de8a2fdde540a9a1" datatype="html">\n        <source>Read bytes</source>\n        <target>Bytes für Lesevorgang</target>\n      </trans-unit>\n      <trans-unit id="f15bf7f588f09ca79795b17bc244e8d336f28171" datatype="html">\n        <source>Write bytes</source>\n        <target>Bytes für Schreibvorgang</target>\n      </trans-unit>\n      <trans-unit id="f3c33322823c846b13f59ba2c8f234405bba99e1" datatype="html">\n        <source>Read ops</source>\n        <target>Lesevorgänge</target>\n      </trans-unit>\n      <trans-unit id="7e0b24a17546cbfab48b03dc874461d1ca68bc9a" datatype="html">\n        <source>Write ops</source>\n        <target>Schreibvorgänge</target>\n      </trans-unit>\n      <trans-unit id="b27d1dd31789610130b7cdbf88c4da552cffe936" datatype="html">\n        <source>Edit OSD: \n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\n        </source>\n        <target>Edit OSD: \n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="986f1379580078e77666d10f8ddf4f839c6ca71d" datatype="html">\n        <source>Edit OSD</source>\n        <target>Edit OSD</target>\n      </trans-unit>\n      <trans-unit id="a4b09e2fa39c3e4f1a387f191fbae4eea3ce7bf5" datatype="html">\n        <source>Updated OSD "\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>"\n        </source>\n        <target>Updated OSD "\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="d45455406092f58e6b089cb440b5b7934b801a01" datatype="html">\n        <source>Mark OSD \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </source>\n        <target>OSD \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/> markieren\n        </target>\n      </trans-unit>\n      <trans-unit id="de0b7806e451b3b3dbd564decba59981fe781c18" datatype="html">\n        <source>Mark \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/> markieren\n        </target>\n      </trans-unit>\n      <trans-unit id="bba1d3bb4f8a47aa2b3068e242562196eadb1e83" datatype="html">\n        <source>PG scrub options</source>\n        <target>PG Scrub-Optionen</target>\n      </trans-unit>\n      <trans-unit id="b0b7748ebc9b7a6942a8cac4a89d4b215b365878" datatype="html">\n        <source>Updated PG scrub options</source>\n        <target>Aktualisierte PG Scrub-Optionen</target>\n      </trans-unit>\n      <trans-unit id="4edc2162af0bd6cd941eaf730d20a7e3b5a83ba7" datatype="html">\n        <source>Max Backfills</source>\n        <target>Max. Abgleiche</target>\n      </trans-unit>\n      <trans-unit id="eb5e6c24a48a1dfe23e0a772b762be5e949c0c8a" datatype="html">\n        <source>Recovery Max Active</source>\n        <target>Wiederherstellung, max. aktiv</target>\n      </trans-unit>\n      <trans-unit id="4a23c6d3859e03184118620d2baeb736ac765fbf" datatype="html">\n        <source>Recovery Max Single Start</source>\n        <target>Wiederherstellung, max. - einzelner Start</target>\n      </trans-unit>\n      <trans-unit id="97049169ef5228fd1724de2fcdad1fec2858eaf8" datatype="html">\n        <source>Recovery Sleep</source>\n        <target>Wiederherstellung - Inaktivität</target>\n      </trans-unit>\n      <trans-unit id="89553524f4e7db5c437b07dcfdc7b831d56ded1a" datatype="html">\n        <source>Updated OSD recovery speed priority "\n          <x id="INTERPOLATION" equiv-text="{{value}}"/>"\n        </source>\n        <target>Updated OSD recovery speed priority "\n          <x id="INTERPOLATION" equiv-text="{{value}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="ccf5f30798c03d2d8efd0e6eb508320c018b722d" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{operation}}"/> was initialized in the following OSD(s): \n          <x id="INTERPOLATION_1" equiv-text="{{id}}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{operation}}"/> was initialized in the following OSD(s): \n          <x id="INTERPOLATION_1" equiv-text="{{id}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="3bc2d18913479965cb046ec75e2ac3f7b7a77ce5" datatype="html">\n        <source>Create Silence</source>\n        <target>Create Silence</target>\n      </trans-unit>\n      <trans-unit id="78917e8031aaf913ac3fa63295325ce8879703ce" datatype="html">\n        <source>Job</source>\n        <target>Auftrag</target>\n      </trans-unit>\n      <trans-unit id="94287619205068b591c18493c64781424864c259" datatype="html">\n        <source>Severity</source>\n        <target>Schweregrad</target>\n      </trans-unit>\n      <trans-unit id="e6cfbe0c5e0302ba2cec22315f6a28f8ac46b651" datatype="html">\n        <source>Started</source>\n        <target>Gestartet</target>\n      </trans-unit>\n      <trans-unit id="801b98c6f02fe3b32f6afa3ee854c99ed83474e6" datatype="html">\n        <source>URL</source>\n        <target>URL</target>\n      </trans-unit>\n      <trans-unit id="d9f726c70aeba7fa6d3d68bff718abe78b1e50ac" datatype="html">\n        <source>Query</source>\n        <target>Query</target>\n      </trans-unit>\n      <trans-unit id="a5cd682a8a33bdc72e093d059429e3cc3a50ec1d" datatype="html">\n        <source>silence</source>\n        <target>silence</target>\n      </trans-unit>\n      <trans-unit id="f557e117e059e7036c6eecacd325a6ae35d866e0" datatype="html">\n        <source>Attribute name</source>\n        <target>Attributname</target>\n      </trans-unit>\n      <trans-unit id="50f7f517ad8158667f7d4e2bd6f3256e05156e75" datatype="html">\n        <source>Regular expression</source>\n        <target>Regulärer Ausdruck</target>\n      </trans-unit>\n      <trans-unit id="81b1eab399c47110d50f45e3ccb4c009de7cb581" datatype="html">\n        <source>Please add your Prometheus host to the dashboard configuration and refresh the page</source>\n        <target>Bitte fügen Sie Ihren Prometheus-Host zur Dashboard-Konfiguration hinzu und aktualisieren die Seite</target>\n      </trans-unit>\n      <trans-unit id="29b4ae3296e239446fa0dea88a5112de15cffa54" datatype="html">\n        <source>Created by</source>\n        <target>Erstellt von</target>\n      </trans-unit>\n      <trans-unit id="8d833cceee0ba4c5161b130365e02bc1e129b57e" datatype="html">\n        <source>Ends</source>\n        <target>Endet</target>\n      </trans-unit>\n      <trans-unit id="46a11ff4289e8c88b1b7a935f8d8ee704055f11a" datatype="html">\n        <source>Silence</source>\n        <target>Silence</target>\n      </trans-unit>\n      <trans-unit id="f2ea47d702c7f5e3e5fa751bf9959e21030b72e6" datatype="html">\n        <source>Daemon type</source>\n        <target>Daemon type</target>\n      </trans-unit>\n      <trans-unit id="6c131968e6ab730d86443e6fc11c5cc2a76d7bac" datatype="html">\n        <source>Daemon ID</source>\n        <target>Daemon ID</target>\n      </trans-unit>\n      <trans-unit id="5738f0ca7ddd9594058ce051b1d5d576e2782825" datatype="html">\n        <source>Container ID</source>\n        <target>Container ID</target>\n      </trans-unit>\n      <trans-unit id="78ebcf850cd440c5efc15e6a3a522ae75aeff669" datatype="html">\n        <source>Container Image name</source>\n        <target>Container Image name</target>\n      </trans-unit>\n      <trans-unit id="ea0c7ab9a7bdf646d494abf8c85fbf67d934d079" datatype="html">\n        <source>Container Image ID</source>\n        <target>Container Image ID</target>\n      </trans-unit>\n      <trans-unit id="bf2468fd965b8a59c135ad549b3a612aa9873abc" datatype="html">\n        <source>Status Description</source>\n        <target>Status Description</target>\n      </trans-unit>\n      <trans-unit id="19867330bdc84096f5a93ab087a1766476c8a074" datatype="html">\n        <source>Last Refreshed</source>\n        <target>Last Refreshed</target>\n      </trans-unit>\n      <trans-unit id="2349ee2027ab6ceb3e4b8834928562075b7e1ac7" datatype="html">\n        <source>Container image name</source>\n        <target>Container image name</target>\n      </trans-unit>\n      <trans-unit id="3c475503fb93338811af6b3d9ccacca1d7334609" datatype="html">\n        <source>Container image ID</source>\n        <target>Container image ID</target>\n      </trans-unit>\n      <trans-unit id="8dd15f6c73c05a8b0bd7b6d416487ab6570b88c8" datatype="html">\n        <source>Running</source>\n        <target>Running</target>\n      </trans-unit>\n      <trans-unit id="fb2e1bed329dc5b84197808c778abb9edcbdb335" datatype="html">\n        <source>Used</source>\n        <target>Verwendet</target>\n      </trans-unit>\n      <trans-unit id="4f1ab04d9100fb0df0e62b921ec46ae052ae29fc" datatype="html">\n        <source>Avail.</source>\n        <target>Verf.</target>\n      </trans-unit>\n      <trans-unit id="a1c9b3d4fa67450fe9afd1d726f8a1bd91d990ea" datatype="html">\n        <source>Clean</source>\n        <target>Bereinigen</target>\n      </trans-unit>\n      <trans-unit id="0054f5460090d6dde385e8f099d598df5d28cf54" datatype="html">\n        <source>Working</source>\n        <target>In Bearbeitung</target>\n      </trans-unit>\n      <trans-unit id="a8059e31694578c1b0344a76a345357dd60e8f01" datatype="html">\n        <source>Warning</source>\n        <target>Warnung</target>\n      </trans-unit>\n      <trans-unit id="e5d8bb389c702588877f039d72178f219453a72d" datatype="html">\n        <source>Unknown</source>\n        <target>Unbekannt</target>\n      </trans-unit>\n      <trans-unit id="88155be1b9b9c6140d6e8f93bac4a775cfdc6671" datatype="html">\n        <source>Healthy</source>\n        <target>Healthy</target>\n      </trans-unit>\n      <trans-unit id="8a3aec4dc1a6e2d4c612ae85e0537acbb20a0f85" datatype="html">\n        <source>Misplaced</source>\n        <target>Misplaced</target>\n      </trans-unit>\n      <trans-unit id="ee81f9bf7ceac69712e0b83e8adc268739f9673e" datatype="html">\n        <source>Degraded</source>\n        <target>Degraded</target>\n      </trans-unit>\n      <trans-unit id="14625bc4025daef1969777a67a3cca27e0cd9167" datatype="html">\n        <source>Unfound</source>\n        <target>Unfound</target>\n      </trans-unit>\n      <trans-unit id="8f23ea509d081c2f747d083d44608dbf125b2ea2" datatype="html">\n        <source>replicas</source>\n        <target>replicas</target>\n      </trans-unit>\n      <trans-unit id="129a2224e1f9d19eb5e11e2a07fe10a785556484" datatype="html">\n        <source>up</source>\n        <target>aktiv</target>\n      </trans-unit>\n      <trans-unit id="d5f29cf0af691726483262d647eb6622be002512" datatype="html">\n        <source>no filesystems</source>\n        <target>keine Dateisysteme</target>\n      </trans-unit>\n      <trans-unit id="b1c4387ffab06f3fa9fdb4411aea955595538d44" datatype="html">\n        <source>active</source>\n        <target>aktiv</target>\n      </trans-unit>\n      <trans-unit id="1aaf7054d826f2cb05ec3e88a5a4b8116861e1f5" datatype="html">\n        <source>standby</source>\n        <target>Standby</target>\n      </trans-unit>\n      <trans-unit id="c9a1080024dca344a48acdb77fa2d54e059f7254" datatype="html">\n        <source>n/a</source>\n        <target>n. v.</target>\n      </trans-unit>\n      <trans-unit id="84a1787b6df375847c70f782861d7e7f8f43bff4" datatype="html">\n        <source>active daemon</source>\n        <target>aktiver Daemon</target>\n      </trans-unit>\n      <trans-unit id="24407dc2ebfafaf6b131ee978683b893c3f1d763" datatype="html">\n        <source>quorum</source>\n        <target>Quorum</target>\n      </trans-unit>\n      <trans-unit id="2fa50bc07995c6ea660412294298ded39fcb08d9" datatype="html">\n        <source>The NFS Ganesha service is not configured.</source>\n        <target>Der NFS Ganesha-Dienst ist nicht konfiguriert.</target>\n      </trans-unit>\n      <trans-unit id="af1396bdc49f45ea6c4a1e414769f5e2a382c834" datatype="html">\n        <source>Transport</source>\n        <target>Transport</target>\n      </trans-unit>\n      <trans-unit id="b6a0e176d96c4feed2e975a039c044fcf822e152" datatype="html">\n        <source>CephFS User</source>\n        <target>CephFS-Benutzer</target>\n      </trans-unit>\n      <trans-unit id="44dc610cf201a163e8c38da810acec9596930bb3" datatype="html">\n        <source>CephFS Filesystem</source>\n        <target>CephFS-Dateisystem</target>\n      </trans-unit>\n      <trans-unit id="db6dc7124be83c7055cb0f2719e31f2f9d46fd3d" datatype="html">\n        <source>(inherited from global config)</source>\n        <target>(aus globaler Konfiguration übernommen)</target>\n      </trans-unit>\n      <trans-unit id="e1f97bb86f991553ec7b535cb39e7eaa99dfcfe2" datatype="html">\n        <source>inherited from global config</source>\n        <target>aus globaler Konfiguration übernommen</target>\n      </trans-unit>\n      <trans-unit id="e751800766277e7c2edd652cec7a7a1a68a37852" datatype="html">\n        <source>-- Select what kind of user id squashing is performed --</source>\n        <target>-- Durchzuführende Benutzer-ID-Squashing-Art auswählen --</target>\n      </trans-unit>\n      <trans-unit id="4b58387f911e8a7b135a0c4d76c70335c65bbb32" datatype="html">\n        <source>There are no daemons available.</source>\n        <target>Keine Daemons verfügbar.</target>\n      </trans-unit>\n      <trans-unit id="18ae8dc1264f06df7ea251175ada2ac1b8401018" datatype="html">\n        <source>NFS export</source>\n        <target>NFS-Export</target>\n      </trans-unit>\n      <trans-unit id="c56d51748965db5f3966cd1d06a1c9f4b5244931" datatype="html">\n        <source>Crush Rule</source>\n        <target>Crush Rule</target>\n      </trans-unit>\n      <trans-unit id="ae128527ec18892f812a62a1fd15dc50a38060c0" datatype="html">\n        <source>EC Profile</source>\n        <target>EC-Profil</target>\n      </trans-unit>\n      <trans-unit id="60fb10c145f9c7ede2b9ddf9b2b0b0f6191d0ebd" datatype="html">\n        <source>Cache Mode</source>\n        <target>Cache-Modus</target>\n      </trans-unit>\n      <trans-unit id="fa5bfad31d4139f6871443bb74324ffda5cad3e6" datatype="html">\n        <source>Min Evict Age</source>\n        <target>Min. Alter für Vertreibung</target>\n      </trans-unit>\n      <trans-unit id="fd0eb851666df45c34c76fabcda79b0d77bc910b" datatype="html">\n        <source>Min Flush Age</source>\n        <target>Min. Alter für Leerung</target>\n      </trans-unit>\n      <trans-unit id="cb54d2c420a534cee0c308ea5589f8c394ef8d67" datatype="html">\n        <source>Target Max Bytes</source>\n        <target>Max. Bytes für Ziel</target>\n      </trans-unit>\n      <trans-unit id="07f4ebe6615dca466818ffdae2a69ee217d265fb" datatype="html">\n        <source>Target Max Objects</source>\n        <target>Max. Objekte für Ziel</target>\n      </trans-unit>\n      <trans-unit id="eaa8f4df53cf7fa78d078e20a701d10f3dccd77d" datatype="html">\n        <source>No applications added</source>\n        <target>Keine Anwendungen hinzugefügt</target>\n      </trans-unit>\n      <trans-unit id="321c2a7640f11177ea49b0857b94c4b70830c0e6" datatype="html">\n        <source>Applications limit reached</source>\n        <target>Anwendungslimit erreicht</target>\n      </trans-unit>\n      <trans-unit id="519d27742b74fadc8336777452f78891e98aa1dc" datatype="html">\n        <source>A pool can only have up to four applications definitions.</source>\n        <target>Ein Pool kann nur bis zu vier Anwendungsdefinitionen aufweisen.</target>\n      </trans-unit>\n      <trans-unit id="b5bec3813f0d45daa7eb9471272969e1bc3e734e" datatype="html">\n        <source>Allowed characters \'_a-zA-Z0-9\'</source>\n        <target>Zulässige Zeichen \'_a-zA-Z0-9\'</target>\n      </trans-unit>\n      <trans-unit id="807472d29602a0085bce62e534bd66208982c2e2" datatype="html">\n        <source>Maximum length is 128 characters</source>\n        <target>Maximale Länge beträgt 128 Zeichen</target>\n      </trans-unit>\n      <trans-unit id="37785748b9ac9ad1d3e4b111ac502c3284afe84b" datatype="html">\n        <source>Filter or add applications</source>\n        <target>Anwendungen filtern oder hinzufügen</target>\n      </trans-unit>\n      <trans-unit id="38c7b8610ca87835e13eeee6a09ba1c414cd5cb9" datatype="html">\n        <source>Add application</source>\n        <target>Anwendung hinzufügen</target>\n      </trans-unit>\n      <trans-unit id="db8c42f077700d8a94619fad9f4c94b7361d5f1d" datatype="html">\n        <source>pool</source>\n        <target>Pool</target>\n      </trans-unit>\n      <trans-unit id="65bb2be83261bc4798853bbccdedc110c43feea7" datatype="html">\n        <source>erasure code profile</source>\n        <target>Erasure-Coding-Profil</target>\n      </trans-unit>\n      <trans-unit id="ae48e19a9a2acaca4b5ea594451bc9b0b01ec8d2" datatype="html">\n        <source>crush rule</source>\n        <target>crush rule</target>\n      </trans-unit>\n      <trans-unit id="112d356ad6846959ca4aa5ec9a1f0d9d473b24ec" datatype="html">\n        <source>Replica Size</source>\n        <target>Größe des Replikats</target>\n      </trans-unit>\n      <trans-unit id="ec50492db341fa752b023d8c924601286b6c9c0c" datatype="html">\n        <source>Last Change</source>\n        <target>Letzte Änderung</target>\n      </trans-unit>\n      <trans-unit id="563a8c136a9d423bc7ae1269a404d6da5fd83dad" datatype="html">\n        <source>Erasure Coded Profile</source>\n        <target>Erasure-Coding-Profil</target>\n      </trans-unit>\n      <trans-unit id="0ad7f0662956cff61ac1208f92b1a0305b1b2e58" datatype="html">\n        <source>Crush Ruleset</source>\n        <target>Crush-Regelsatz</target>\n      </trans-unit>\n      <trans-unit id="bcc365a084b6145b941b371bd4c2b6c3d2c79234" datatype="html">\n        <source>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</source>\n        <target>Das Löschen des Pools ist durch die Konfigurationsoption mon_allow_pool_delete deaktiviert.</target>\n      </trans-unit>\n      <trans-unit id="44939fd05cedfd077db886528b755e77d5fa3885" datatype="html">\n        <source>bucket</source>\n        <target>Bucket</target>\n      </trans-unit>\n      <trans-unit id="84fee774286ec4191311f1277075455c3ea5e2e2" datatype="html">\n        <source>Updated Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>".\n        </source>\n        <target>Updated Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="2d7a43674f0bbc131c9e555ec16ac37fa0445d76" datatype="html">\n        <source>Created Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>"\n        </source>\n        <target>Created Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="ec40d74ecfb1d6d60455af6805c9a714a3f5750a" datatype="html">\n        <source>buckets</source>\n        <target>Buckets</target>\n      </trans-unit>\n      <trans-unit id="764585d5595bac113582ee14a6fd07006770ceb1" datatype="html">\n        <source>capability</source>\n        <target>capability</target>\n      </trans-unit>\n      <trans-unit id="0914cbe18bae204217e1851be6d2d24d86e74605" datatype="html">\n        <source>user</source>\n        <target>Benutzer</target>\n      </trans-unit>\n      <trans-unit id="d8c86dc5e48a63590d9c94e19f90b5f8325cbd49" datatype="html">\n        <source>subuser</source>\n        <target>Unterbenutzer</target>\n      </trans-unit>\n      <trans-unit id="f45a3de8a8b40d161cc36a55d77548a27107ca04" datatype="html">\n        <source>S3 Key</source>\n        <target>S3-Schlüssel</target>\n      </trans-unit>\n      <trans-unit id="854a763265e92f91ba3ccee1a0e8d823be584f7c" datatype="html">\n        <source>Updated Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </source>\n        <target>Updated Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="84ab3fd641e65e39cffee0ec722a059ed284229e" datatype="html">\n        <source>Created Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </source>\n        <target>Created Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="7c7f4be7b726e61c577e63842a58d9e435f7c597" datatype="html">\n        <source>users</source>\n        <target>Benutzer</target>\n      </trans-unit>\n      <trans-unit id="9f7760223efd77806f1bbaf963e6993bb4bc6a0a" datatype="html">\n        <source>Swift Key</source>\n        <target>Swift-Schlüssel</target>\n      </trans-unit>\n      <trans-unit id="6462d8f12b427c29363f00b12f20f566be24937c" datatype="html">\n        <source>Device ID</source>\n        <target>Laufwerks-ID</target>\n      </trans-unit>\n      <trans-unit id="82f12bf23db4bb82db89877bebe93954bc1c8fb0" datatype="html">\n        <source>State of Health</source>\n        <target>State of Health</target>\n      </trans-unit>\n      <trans-unit id="7bd34bd120146afef0e0d8fa168d9bdabd594b6a" datatype="html">\n        <source>Good</source>\n        <target>Good</target>\n      </trans-unit>\n      <trans-unit id="31c59dce114ec0a9d02552ef7b81920b3de36793" datatype="html">\n        <source>Bad</source>\n        <target>Bad</target>\n      </trans-unit>\n      <trans-unit id="2862af5284f66d4b06bdcf77a5519141723b6989" datatype="html">\n        <source>Stale</source>\n        <target>Stale</target>\n      </trans-unit>\n      <trans-unit id="8d8e819b52984a4fbdec75a99eb28d1ae4323bbc" datatype="html">\n        <source>Life Expectancy</source>\n        <target>Life Expectancy</target>\n      </trans-unit>\n      <trans-unit id="72d9b15be18ea063e78c4e855b9e8c0af95593ef" datatype="html">\n        <source>Prediction Creation Date</source>\n        <target>Prediction Creation Date</target>\n      </trans-unit>\n      <trans-unit id="a6b4ef85e5ff8bd192751c7bbebc54c46118d6d4" datatype="html">\n        <source>Device Name</source>\n        <target>Laufwerksname</target>\n      </trans-unit>\n      <trans-unit id="d5fd840374ca1a6f394bcd81f390a6dca27f8224" datatype="html">\n        <source>An error with error code \n          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.\n        </source>\n        <target>An error with error code \n          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.\n        </target>\n      </trans-unit>\n      <trans-unit id="a0b59d7139692bb8d8ed786b6eb6e9e70ce743f3" datatype="html">\n        <source>Raw</source>\n        <target>Raw</target>\n      </trans-unit>\n      <trans-unit id="2f3beddc8234b30fb26a7f63ba2f1ea74f2ed6f7" datatype="html">\n        <source>Threshold</source>\n        <target>Threshold</target>\n      </trans-unit>\n      <trans-unit id="4654b5a68af3c8bad29aa14ca85ccea1f3143c6b" datatype="html">\n        <source>When Failed</source>\n        <target>When Failed</target>\n      </trans-unit>\n      <trans-unit id="5b7f56d5be49fb8e8d8f40209d6746f8f72e9177" datatype="html">\n        <source>Worst</source>\n        <target>Worst</target>\n      </trans-unit>\n      <trans-unit id="1481b8488e10dbc437accce89d2ae35a0106e8ba" datatype="html">\n        <source>Scope</source>\n        <target>Bereich</target>\n      </trans-unit>\n      <trans-unit id="9b1d5e95f6bdcfb4b737413f5fa157e0dcb103d5" datatype="html">\n        <source>Read</source>\n        <target>Lesen</target>\n      </trans-unit>\n      <trans-unit id="70a67e04629f6d412db0a12d51820b480788d795" datatype="html">\n        <source>Create</source>\n        <target>Erstelle</target>\n      </trans-unit>\n      <trans-unit id="dc4fba275819619ee78e8eae14d357ea69ba7477" datatype="html">\n        <source>role</source>\n        <target>Rolle</target>\n      </trans-unit>\n      <trans-unit id="fe6ee93173884201ec62d62ba173c3de85ae177e" datatype="html">\n        <source>Created role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Rolle \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\' erstellt\n        </target>\n      </trans-unit>\n      <trans-unit id="41c032df0732f4318f8213fabd0719ac347d4b6c" datatype="html">\n        <source>Updated role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Rolle \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\' aktualisiert\n        </target>\n      </trans-unit>\n      <trans-unit id="50e22b5289f79f1417369403345c9fa9911a4557" datatype="html">\n        <source>System Role</source>\n        <target>Systemrolle</target>\n      </trans-unit>\n      <trans-unit id="7f132668e2dbfcf616381d2daf59d1a6f2698102" datatype="html">\n        <source>Deleted role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Rolle \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\' gelöscht\n        </target>\n      </trans-unit>\n      <trans-unit id="bd15b8d5c0fa160161728eefbbb585710414d471" datatype="html">\n        <source>New name</source>\n        <target>New name</target>\n      </trans-unit>\n      <trans-unit id="6f126277f3dc22a3ab3609c4c198386c8744e11a" datatype="html">\n        <source>Clone Role</source>\n        <target>Clone Role</target>\n      </trans-unit>\n      <trans-unit id="d19d8320479854bc52877cdf0dc5ecfe34a36ec7" datatype="html">\n        <source>Cloned role \'\n          <x id="INTERPOLATION" equiv-text="{{dst_name}}"/>\' from \'\n          <x id="INTERPOLATION_1" equiv-text="{{src_name}}"/>\'\n        </source>\n        <target>Cloned role \'\n          <x id="INTERPOLATION" equiv-text="{{dst_name}}"/>\' from \'\n          <x id="INTERPOLATION_1" equiv-text="{{src_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="2e35d60a14ce0b470e8b54602864a867f7fcef40" datatype="html">\n        <source>There are no roles.</source>\n        <target>There are no roles.</target>\n      </trans-unit>\n      <trans-unit id="d2362a49d2434ce137bf19dab004251b7fd9c7b3" datatype="html">\n        <source>Created user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Created user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="9910122dfedd2eaa544a990f1430e5b82a76d99f" datatype="html">\n        <source>Update user</source>\n        <target>Benutzer aktualisieren</target>\n      </trans-unit>\n      <trans-unit id="ac10a3d9b59575640797c1a8e6aea642cf5d5e77" datatype="html">\n        <source>Continue</source>\n        <target>Fortfahren</target>\n      </trans-unit>\n      <trans-unit id="cf4bcf4ce3d551e6099ccdc3546ae418fe5f8038" datatype="html">\n        <source>You were automatically logged out because your roles have been changed.</source>\n        <target>Sie wurden automatisch abgemeldet, da Ihre Rollen geändert wurden.</target>\n      </trans-unit>\n      <trans-unit id="0f6003fb0c1cc73b89d225801cc1b870945cd259" datatype="html">\n        <source>Updated user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Updated user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="fe516c6d820018fdc971113935e22ec1e852965f" datatype="html">\n        <source>Deleted user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Deleted user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="01a7e11502ff80421ef3615e533ea14ef57e1d5c" datatype="html">\n        <source>Failed to delete user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Failed to delete user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="63316a3861dbcb035147efc1b9fb6bc708242e94" datatype="html">\n        <source>You are currently logged in as "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>".\n        </source>\n        <target>You are currently logged in as "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="d8b81951d25439864e92f750f7c99d7426d6517c" datatype="html">\n        <source>password</source>\n        <target>Passwort</target>\n      </trans-unit>\n      <trans-unit id="d361a9b5e1f7985a12c0433388f31626525a02b8" datatype="html">\n        <source>Updated user password"</source>\n        <target>Benutzerpasswort aktualisiert</target>\n      </trans-unit>\n      <trans-unit id="c4e596a44ffc4718c1602600d6e4f029190eb031" datatype="html">\n        <source>The name of the node under which data should be placed.</source>\n        <target>The name of the node under which data should be placed.</target>\n      </trans-unit>\n      <trans-unit id="f24772ba1091155f8d7025332ca8456a204d1e28" datatype="html">\n        <source>The type of CRUSH nodes across which we should separate replicas.</source>\n        <target>The type of CRUSH nodes across which we should separate replicas.</target>\n      </trans-unit>\n      <trans-unit id="a3896042af461a80091c3f7a5fe3fff5ac40a3a0" datatype="html">\n        <source>The device class data should be placed on.</source>\n        <target>The device class data should be placed on.</target>\n      </trans-unit>\n      <trans-unit id="1d7fbcc3d5efc946ffbcf86fed04c4e20dda20fb" datatype="html">\n        <source>Each object is split in data-chunks parts, each stored on a different OSD.</source>\n        <target>Jedes Objekt wird in Datenblöcke aufgeteilt und jeweils auf einem anderen OSD gespeichert.</target>\n      </trans-unit>\n      <trans-unit id="b1f8ed4e216585f1f9134740002ef3c8501debd8" datatype="html">\n        <source>Compute coding chunks for each object and store them on different OSDs.\n      The number of coding chunks is also the number of OSDs that can be down without losing data.</source>\n        <target>Berechnen Sie Codierungsdatenblöcke für jedes Objekt und speichern Sie sie auf unterschiedlichen OSDs.\n      Die Anzahl der Codierungsdatenblöcke entspricht auch der Anzahl der OSDs, die ausfallen können, ohne dass Daten verloren gehen.</target>\n      </trans-unit>\n      <trans-unit id="c437ee74a9a8e781e1380153f742a685e3b8cc5e" datatype="html">\n        <source>The jerasure plugin is the most generic and flexible plugin,\n          it is also the default for Ceph erasure coded pools.</source>\n        <target>Das jerasure-Modul ist das allgemeinste und flexibelste Modul\n          und fungiert auch als der Standard für Ceph-Pools mit Löschcodierung.</target>\n      </trans-unit>\n      <trans-unit id="8c7e19322851402afa67e41f4f1d4e531caf1bf5" datatype="html">\n        <source>The more flexible technique is reed_sol_van : it is enough to set k\n          and m. The cauchy_good technique can be faster but you need to chose the packetsize\n          carefully. All of reed_sol_r6_op, liberation, blaum_roth, liber8tion are RAID6 equivalents\n          in the sense that they can only be configured with m=2.</source>\n        <target>Die flexiblere Technik ist \'reed_sol_van :\', wobei es ausreicht, k\n          und m festzulegen. Die Technik \'cauchy_good\' kann schneller sein. Sie müssen jedoch die Paketgröße sorgfältig\n          auswählen. Sämtliche \'reed_sol_r6_op\'-, \'liberation\'-, \'blaum_roth\'- und \'liber8tion\'-Vorgänge sind dahingehend RAID6-Entsprechungen,\n          dass sie nur mit \'m=2\' konfiguriert werden können.</target>\n      </trans-unit>\n      <trans-unit id="b1b11f49281b4e79219b4eecfbcb033cb15bd880" datatype="html">\n        <source>The encoding will be done on packets of bytes size at a time.\n          Chosing the right packet size is difficult.\n          The jerasure documentation contains extensive information on this topic.</source>\n        <target>Die Codierung wird jeweils für Pakete auf Bytes-Größe vorgenommen.\n          Die Auswahl der richtigen Paketgröße ist schwierig.\n          In der Jerasure-Dokumentation sind ausführliche Informationen zu diesem Thema enthalten.</target>\n      </trans-unit>\n      <trans-unit id="d9cb3bc07a25b26fbea457e0a7b543340bc13c49" datatype="html">\n        <source>With the jerasure plugin, when an erasure coded object is stored on\n          multiple OSDs, recovering from the loss of one OSD requires reading from all the others.\n          For instance if jerasure is configured with k=8 and m=4, losing one OSD requires reading\n          from the eleven others to repair.\n\n          The lrc erasure code plugin creates local parity chunks to be able to recover using\n          less OSDs. For instance if lrc is configured with k=8, m=4 and l=4, it will create\n          an additional parity chunk for every four OSDs. When a single OSD is lost, it can be\n          recovered with only four OSDs instead of eleven.</source>\n        <target>Bei Verwendung des Jerasure-Moduls, wenn ein Objekt mit Löschcodierung auf mehreren OSDs gespeichert ist,\n          müssen alle anderen OSDs gelesen werden, um die verloren gegangenen Daten eines OSDs wiederherzustellen.\n          Wenn jerasure beispielsweise mit \'k=8\' und \'m=4\' konfiguriert ist,\n          müssen bei Verlust eines OSDs zum Reparieren die elf anderen gelesen werden.\n\n          Das lrc-Löschcode-Modul erstellt lokale Paritätsdatenblöcke, um die Wiederherstellung mit weniger OSDs auszuführen.\n          Wenn lrc beispielsweise mit \'k=8\', \'m=4\' und \'l=4\' konfiguriert ist, wird ein zusätzlicher Paritätsdatenblock für jeweils vier OSDs erstellt.\n          Geht ein einzelnes OSD verloren, kann es mit nur vier OSDs anstelle\n          von elf wiederhergestellt werden.</target>\n      </trans-unit>\n      <trans-unit id="813959d46e63a29bbd266b3af2ff9414c2ef553c" datatype="html">\n        <source>Group the coding and data chunks into sets of size locality. For instance,\n          for k=4 and m=2, when locality=3 two groups of three are created. Each set can\n          be recovered without reading chunks from another set.</source>\n        <target>Gruppieren Sie die Codierungs- und Datenblöcke in Sätze entsprechend dem Speicherort.\n          Beispielsweise werden für \'k=4\' und \'m=2\', wenn der Speicherort \'3\' entspricht, zwei Dreiergruppen erstellt.\n          Jeder Satz kann wiederhergestellt werden, ohne dass Datenblöcke aus einem anderen Satz gelesen werden.</target>\n      </trans-unit>\n      <trans-unit id="f0ff63d92e0a1b4d4b51e31b9133802d160a5f4c" datatype="html">\n        <source>The type of the crush bucket in which each set of chunks defined\n          by l will be stored. For instance, if it is set to rack, each group of l chunks will be\n          placed in a different rack. It is used to create a CRUSH rule step such as step choose\n          rack. If it is not set, no such grouping is done.</source>\n        <target>Der Typ des Crush-Buckets, in dem jeder durch l definierte Satz von Datenblöcken gespeichert wird.\n          Wenn er beispielsweise auf \'rack\' festgelegt ist, wird jede Gruppe an l-Datenblöcken in einem anderen Rack platziert.\n          Er wird zum Erstellen eines CRUSH-Regelschritts verwendet, beispielsweise für einen Schritt zum Auswählen des Racks.\n          Wenn er nicht festgelegt ist, wird keine solche Gruppierung vorgenommen.</target>\n      </trans-unit>\n      <trans-unit id="3ece48df9d1e9a98f98bf3c5cc66e8b637020a4d" datatype="html">\n        <source>The isa plugin encapsulates the ISA library. It only runs on Intel processors.</source>\n        <target>Das isa-Modul kapselt die ISA-Bibliothek und wird nur auf Intel-Prozessoren ausgeführt.</target>\n      </trans-unit>\n      <trans-unit id="4472c9e31bfc7d96a83dc4afce0a6e885c99e839" datatype="html">\n        <source>The ISA plugin comes in two Reed Solomon forms.\n          If reed_sol_van is set, it is Vandermonde, if cauchy is set, it is Cauchy.</source>\n        <target>Das ISA-Modul wird in zwei Reed Solomon-Formularen bereitgestellt.\n          Wenn \'reed_sol_van\' festgelegt ist, entspricht dies Vandermonde. Ist \'cauchy\' festgelegt, entspricht dies \'Cauchy\'.</target>\n      </trans-unit>\n      <trans-unit id="fa385f5ecf63083ec848dca8dc5e52bdc72ac6f6" datatype="html">\n        <source>The shec plugin encapsulates the multiple SHEC library.\n          It allows ceph to recover data more efficiently than Reed Solomon codes.</source>\n        <target>Das shec-Modul kapselt die SHEC-Mehrfachbibliothek.\n          Dadurch kann ceph Daten effizienter wiederherstellen als Reed Solomon-Codes.</target>\n      </trans-unit>\n      <trans-unit id="687b3cd94b3475c24ff4481d64d4739f902a377c" datatype="html">\n        <source>The number of parity chunks each of which includes each data chunk in its\n          calculation range. The number is used as a durability estimator. For instance, if c=2,\n          2 OSDs can be down without losing data.</source>\n        <target>Die Anzahl der Paritätsdatenblöcke, von denen jeder jeden Datenblock in seinem Berechnungsbereich enthält.\n          Die Anzahl wird als eine Dauerhaftigkeitsschätzung verwendet. Wenn beispielsweise \'c=2\' vorliegt,\n          können 2 OSDs ausfallen, ohne dass Daten verloren gehen.</target>\n      </trans-unit>\n      <trans-unit id="f3c4af6df91bdaabdb715f8f0b61a24faf73a3bc" datatype="html">\n        <source>The name of the crush bucket used for the first step of the CRUSH rule.\n      For instance step take default.</source>\n        <target>Der Name des für den ersten Schritt der CRUSH-Regel verwendeten Crush-Buckets.\n      Beispielsweise \'step take default\'.</target>\n      </trans-unit>\n      <trans-unit id="e1059955a5ce65cdabf0c0a8207377e1f9bae57e" datatype="html">\n        <source>Ensure that no two chunks are in a bucket with the same failure\n      domain. For instance, if the failure domain is host no two chunks will be stored on the same\n      host. It is used to create a CRUSH rule step such as step chooseleaf host.</source>\n        <target>Stellen Sie sicher, dass sich keine zwei Datenblöcke in einem Bucket mit derselben Ausfalldomäne befinden.\n      Wenn die Ausfalldomäne beispielsweise als Host fungiert, werden keine zwei Datenblöcke auf demselben Host gespeichert.\n      Er wird zum Erstellen eines CRUSH-Regelschritts verwendet, beispielsweise \'step chooseleaf host\'.</target>\n      </trans-unit>\n      <trans-unit id="ac392ac9c6da5fde6da80fc57b9c09402fb6e73d" datatype="html">\n        <source>Restrict placement to devices of a specific class\n      (e.g., ssd or hdd), using the crush device class names in the CRUSH map.</source>\n        <target>Schränken Sie mithilfe der Klassennamen für Crush-Geräte in der CRUSH-Zuordnung die Platzierung\n      auf Geräte einer bestimmten Klasse (z. B. SSD oder HDD) ein.</target>\n      </trans-unit>\n      <trans-unit id="62bcb9ae5583a088649b1adf5787a86ca3334f89" datatype="html">\n        <source>Set the directory name from which the erasure code plugin is loaded.</source>\n        <target>Legen Sie den Verzeichnisnamen fest, über den das Löschcode-Modul geladen wird.</target>\n      </trans-unit>\n      <trans-unit id="c8f10184a8433d132ede0a2c0c1aa96f291cacfa" datatype="html">\n        <source>Allows all operations</source>\n        <target>Lässt alle Vorgänge zu</target>\n      </trans-unit>\n      <trans-unit id="82077ee97c11ee76efc3adf253b7b26654544317" datatype="html">\n        <source>Allows only operations that do not modify the server</source>\n        <target>Lässt nur Vorgänge zu, die den Server nicht ändern</target>\n      </trans-unit>\n      <trans-unit id="22b5212ec10449dbf0a0af0ad34122eac51b5f2a" datatype="html">\n        <source>Does not allow read or write operations, but allows any other operation</source>\n        <target>Lässt weder Lese- noch Schreibvorgänge zu, jedoch alle anderen Vorgänge</target>\n      </trans-unit>\n      <trans-unit id="9799d0f8c4b7727ae239fedfe3c0ce127feb7a50" datatype="html">\n        <source>Does not allow read, write, or any operation that modifies file        attributes or directory content</source>\n        <target>Lässt Lese-/Schreibvorgänge und andere Vorgänge nicht zu, die Dateiattribute oder Verzeichnisinhalte ändern</target>\n      </trans-unit>\n      <trans-unit id="aeddefe0af87025d8f00699aa94bed8216a99a58" datatype="html">\n        <source>Allows no access at all</source>\n        <target>Lässt überhaupt keinen Zugriff zu</target>\n      </trans-unit>\n      <trans-unit id="a436c6a4025a749198e93cac239de8deede72211" datatype="html">\n        <source>-- Select the priority --</source>\n        <target>-- Priorität auswählen --</target>\n      </trans-unit>\n      <trans-unit id="9556266f0a2b1762a44b686f2bb21dbfefb01c12" datatype="html">\n        <source>Low</source>\n        <target>Niedrig</target>\n      </trans-unit>\n      <trans-unit id="72279141a67cc042d9864102b703216cc8a428a3" datatype="html">\n        <source>High</source>\n        <target>Hoch</target>\n      </trans-unit>\n      <trans-unit id="6080b77234e92ad41bb52653b239c4c4f851317d" datatype="html">\n        <source>Error</source>\n        <target>Error</target>\n      </trans-unit>\n      <trans-unit id="c43dc1967a603fefb886149ac35863a06d5b4ce5" datatype="html">\n        <source>Information</source>\n        <target>Informationen</target>\n      </trans-unit>\n      <trans-unit id="1e035e6ccfab771cad4226b2ad230cb0d4a88cba" datatype="html">\n        <source>Success</source>\n        <target>Success</target>\n      </trans-unit>\n      <trans-unit id="61fd1cffcb763cbfd5829071723cf9b647174bd9" datatype="html">\n        <source>An error occurred.</source>\n        <target>An error occurred.</target>\n      </trans-unit>\n      <trans-unit id="e6ca3c0efaf51e6d45a7f92f58bac37140c3fda4" datatype="html">\n        <source>Last 5 minutes</source>\n        <target>Letzte 5 Minuten</target>\n      </trans-unit>\n      <trans-unit id="b0ecb2bbc548cc9bd95050fd8f0c84586d083fe2" datatype="html">\n        <source>Last 15 minutes</source>\n        <target>Letzte 15 Minuten</target>\n      </trans-unit>\n      <trans-unit id="857ae67deb51353120b203b0f2a06b0c48ef49fa" datatype="html">\n        <source>Last 30 minutes</source>\n        <target>Letzte 30 Minuten</target>\n      </trans-unit>\n      <trans-unit id="7b1738fad314e936dc14b94db8f43da736942308" datatype="html">\n        <source>Last 1 hour (Default)</source>\n        <target>Letzte Stunde (Standard)</target>\n      </trans-unit>\n      <trans-unit id="a428288224389726cef9d9bd8d1d7808cccd7ffd" datatype="html">\n        <source>Last 3 hours</source>\n        <target>Letzte 3 Stunden</target>\n      </trans-unit>\n      <trans-unit id="7cbabecc8d80cf183ac199cfaeb7619d56e5d43f" datatype="html">\n        <source>Last 6 hours</source>\n        <target>Letzte 6 Stunden</target>\n      </trans-unit>\n      <trans-unit id="1a389cdf64187d34cf99eec30a290e3fa7d4744f" datatype="html">\n        <source>Last 12 hours</source>\n        <target>Letzte 12 Stunden</target>\n      </trans-unit>\n      <trans-unit id="9e0ba5f591380a94d594a76288f0c41aa97eb9c2" datatype="html">\n        <source>Last 24 hours</source>\n        <target>Letzte 24 Stunden</target>\n      </trans-unit>\n      <trans-unit id="e430eda9c785cd43465b7cbb400ee914f1057247" datatype="html">\n        <source>Yesterday</source>\n        <target>Gestern</target>\n      </trans-unit>\n      <trans-unit id="7fb1099e29660162f9154d5b2feee7743a423df6" datatype="html">\n        <source>Today</source>\n        <target>Heute</target>\n      </trans-unit>\n      <trans-unit id="33904058a97a64bd189bed84038b1ffe719769c7" datatype="html">\n        <source>Today so far</source>\n        <target>Heute bisher</target>\n      </trans-unit>\n      <trans-unit id="3b0b849be007510021d3d383df75bec95ef9c97b" datatype="html">\n        <source>Day before yesterday</source>\n        <target>Vorgestern</target>\n      </trans-unit>\n      <trans-unit id="6b430c2c394c4d32ebd7d46c8c46ab60e1b29ccb" datatype="html">\n        <source>Last 2 days</source>\n        <target>Letzte 2 Tage</target>\n      </trans-unit>\n      <trans-unit id="d5e812a87a5d57a94200a2013027cab76a7c4863" datatype="html">\n        <source>This day last week</source>\n        <target>Dieser Tag letzte Woche</target>\n      </trans-unit>\n      <trans-unit id="d00edc936eeab6b5577401f115ca86ca2c87dc9a" datatype="html">\n        <source>Previous week</source>\n        <target>Vorwoche</target>\n      </trans-unit>\n      <trans-unit id="b036e40577baa6b918b2267d319d4b3aeaa88a5a" datatype="html">\n        <source>This week</source>\n        <target>Diese Woche</target>\n      </trans-unit>\n      <trans-unit id="99ad5a6096b3fcb3f021f3779bae710cdfeb8934" datatype="html">\n        <source>This week so far</source>\n        <target>Diese Woche bisher</target>\n      </trans-unit>\n      <trans-unit id="02e0243b60007368f87dc01e083f232dd025096d" datatype="html">\n        <source>Last 7 days</source>\n        <target>Letzte 7 Tage</target>\n      </trans-unit>\n      <trans-unit id="c3b08b07b5ab98e7cdcf18df39355690ab7d3884" datatype="html">\n        <source>Previous month</source>\n        <target>Vormonat</target>\n      </trans-unit>\n      <trans-unit id="1b2562c6d5aa90644e7dc91feee82e2005fceb33" datatype="html">\n        <source>This month</source>\n        <target>Dieser Monat</target>\n      </trans-unit>\n      <trans-unit id="26b4b18c5917934abb169ba9aa490e57f7bf10b8" datatype="html">\n        <source>This month so far</source>\n        <target>Dieser Monat bisher</target>\n      </trans-unit>\n      <trans-unit id="7668986b9f753fcd72ad4a00b1a0c4861d1f7fb8" datatype="html">\n        <source>Last 30 days</source>\n        <target>Letzte 30 Tage</target>\n      </trans-unit>\n      <trans-unit id="ba1e822408d90c6fbd2989100fa648bfd5e8ee84" datatype="html">\n        <source>Last 90 days</source>\n        <target>Letzte 90 Tage</target>\n      </trans-unit>\n      <trans-unit id="c3df03f899a914c4181adcdc8a3f077424f7b6e8" datatype="html">\n        <source>Last 6 months</source>\n        <target>Letzte 6 Monate</target>\n      </trans-unit>\n      <trans-unit id="7f9a92757580c9f31c309c0a3812ea429274eadf" datatype="html">\n        <source>Last 1 year</source>\n        <target>Letztes Jahr</target>\n      </trans-unit>\n      <trans-unit id="5a9fede30ff65cb4b4426f6b1ed31afb67ecd7b0" datatype="html">\n        <source>Previous year</source>\n        <target>Vorjahr</target>\n      </trans-unit>\n      <trans-unit id="65cefcc53d1f6445df7568e8a40c49165f1090ee" datatype="html">\n        <source>This year</source>\n        <target>Dieses Jahr</target>\n      </trans-unit>\n      <trans-unit id="1f68b766944dc3865bddab765fe952b0c1c43f92" datatype="html">\n        <source>This year so far</source>\n        <target>Dieses Jahr bisher</target>\n      </trans-unit>\n      <trans-unit id="4d4b77e614f8043fdadef5d6d235655bb48eb311" datatype="html">\n        <source>Last 2 years</source>\n        <target>Letzte 2 Jahre</target>\n      </trans-unit>\n      <trans-unit id="138afa339ea6e75d25a474affe1edbcb90e00ec0" datatype="html">\n        <source>Last 5 years</source>\n        <target>Letzte 5 Jahre</target>\n      </trans-unit>\n      <trans-unit id="37391297bb077a6f84484930261b01a3ce38327b" datatype="html">\n        <source>No items selected.</source>\n        <target>Keine Elemente ausgewählt.</target>\n      </trans-unit>\n      <trans-unit id="2c1e52ee832661b4a0f570877d24661736b16af1" datatype="html">\n        <source>Deselect item to select again</source>\n        <target>Elementauswahl zum erneuten Auswählen aufheben</target>\n      </trans-unit>\n      <trans-unit id="c8c9c6e5918659336824bbdda3501c66eaa79a4c" datatype="html">\n        <source>Selection limit reached</source>\n        <target>Auswahllimit erreicht</target>\n      </trans-unit>\n      <trans-unit id="02d184c288f567825a1fcbf83bcd3099a10853d5" datatype="html">\n        <source>Filter tags</source>\n        <target>Tags filtern</target>\n      </trans-unit>\n      <trans-unit id="aa00748e49c269956837d6f3acdd8d218796a8d8" datatype="html">\n        <source>Add badge</source>\n        <target>Badge hinzufügen</target>\n      </trans-unit>\n      <trans-unit id="4078a92d8121abdce7d8f346a88914923ec835fc" datatype="html">\n        <source>There are no items available.</source>\n        <target>Keine Elemente verfügbar.</target>\n      </trans-unit>\n      <trans-unit id="55dd9f44e64851bca3b7bfc9283a5ff36f030228" datatype="html">\n        <source>Set</source>\n        <target>Set</target>\n      </trans-unit>\n      <trans-unit id="019d4bd6a5690f0cfa0ecf346a4e6bf7f0d8debb" datatype="html">\n        <source>Remove</source>\n        <target>Entfernen</target>\n      </trans-unit>\n      <trans-unit id="e168fe6c468b3ad632731395ef89860274242844" datatype="html">\n        <source>Unset</source>\n        <target>Unset</target>\n      </trans-unit>\n      <trans-unit id="54a4a3132b693575728a45a5f3154ad4c9af404b" datatype="html">\n        <source>Clone</source>\n        <target>Klonen</target>\n      </trans-unit>\n      <trans-unit id="1979da7460819153e11d2078244645d94291b69c" datatype="html">\n        <source>Copy</source>\n        <target>Kopieren</target>\n      </trans-unit>\n      <trans-unit id="2e5e77dbaadd6588d8bbf737139fd9806294ae28" datatype="html">\n        <source>Deep Scrub</source>\n        <target>Umfassender Scrub</target>\n      </trans-unit>\n      <trans-unit id="bf463b189696c19769ea263227e6c22aefafb918" datatype="html">\n        <source>Destroy</source>\n        <target>Vernichten</target>\n      </trans-unit>\n      <trans-unit id="b4e94d529ff10db4d86f3f48900fa67ede3411fd" datatype="html">\n        <source>Evict</source>\n        <target>Evict</target>\n      </trans-unit>\n      <trans-unit id="3747fff7faf52b436ecff5fb8555091736d92c70" datatype="html">\n        <source>Flatten</source>\n        <target>Vereinfachen</target>\n      </trans-unit>\n      <trans-unit id="66fdbf32e5449cc54a3d1e19c7b8f4ea238facfb" datatype="html">\n        <source>Mark Down</source>\n        <target>Als ausgefallen markieren</target>\n      </trans-unit>\n      <trans-unit id="0cda3e824fb2f9c731e5a60b859dedc1fe03127e" datatype="html">\n        <source>Mark In</source>\n        <target>Mit Befehl \'In\' markieren</target>\n      </trans-unit>\n      <trans-unit id="f833354f43cb38c5716faa8759a9bbdd1ab8f199" datatype="html">\n        <source>Mark Lost</source>\n        <target>Als verloren markieren</target>\n      </trans-unit>\n      <trans-unit id="75fb9f970ba365398c45e57bbb1019c009f6b832" datatype="html">\n        <source>Mark Out</source>\n        <target>Mit Befehl \'Out\' markieren</target>\n      </trans-unit>\n      <trans-unit id="45480c03b0a3a37ff8f6a5600a6a034b40fbaea4" datatype="html">\n        <source>Protect</source>\n        <target>Schützen</target>\n      </trans-unit>\n      <trans-unit id="e26f9cf3666aace4e524b1505c9795d76d87738d" datatype="html">\n        <source>Rename</source>\n        <target>Umbenennen</target>\n      </trans-unit>\n      <trans-unit id="d5cec7468241d72cafd86ad1af6d55b09a6e3ae5" datatype="html">\n        <source>Restore</source>\n        <target>Wiederherstellen</target>\n      </trans-unit>\n      <trans-unit id="ba073985cfd2528c77a746ed596b2f2052b973c5" datatype="html">\n        <source>Move to Trash</source>\n        <target>In Papierkorb verschieben</target>\n      </trans-unit>\n      <trans-unit id="3ea9b96a21a499d296a7f25407da0f3df6c2d5ed" datatype="html">\n        <source>Unprotect</source>\n        <target>Schutz aufheben</target>\n      </trans-unit>\n      <trans-unit id="024cdb2814b0cb3f4ced148f1a0b9854447cb214" datatype="html">\n        <source>Change</source>\n        <target>Ändern</target>\n      </trans-unit>\n      <trans-unit id="011f3e2bfc1fd8407eb5f599352665bfeb145664" datatype="html">\n        <source>Recreate</source>\n        <target>Recreate</target>\n      </trans-unit>\n      <trans-unit id="6df2dfa48bef5510c82fb43f4e71a7f9557f3d71" datatype="html">\n        <source>Expire</source>\n        <target>Expire</target>\n      </trans-unit>\n      <trans-unit id="28df1b02fd88d2deb0212bc5d7ff34cf9492fa54" datatype="html">\n        <source>Deleted</source>\n        <target>Gelöscht</target>\n      </trans-unit>\n      <trans-unit id="80e3b490720757978c99a7b5af3885faf202b955" datatype="html">\n        <source>Added</source>\n        <target>Hinzugefügt</target>\n      </trans-unit>\n      <trans-unit id="1aa4883bc4f1352f7a0bdd94810a9bf6dc22bd02" datatype="html">\n        <source>Removed</source>\n        <target>Entfernt</target>\n      </trans-unit>\n      <trans-unit id="402f3ee47f98fbbc68530239b1ddcbb9e96a460c" datatype="html">\n        <source>Edited</source>\n        <target>Bearbeitet</target>\n      </trans-unit>\n      <trans-unit id="96d56ec71c6e78cb4d6204c4a9359a3d38fcdb59" datatype="html">\n        <source>Canceled</source>\n        <target>Abgebrochen</target>\n      </trans-unit>\n      <trans-unit id="a3318a2ee2bd0064b6b9ff72a4018b679ec63125" datatype="html">\n        <source>Cloned</source>\n        <target>Geklont</target>\n      </trans-unit>\n      <trans-unit id="ef90545bc832876c0d7f9a10363c75137472bbb5" datatype="html">\n        <source>Copied</source>\n        <target>Kopiert</target>\n      </trans-unit>\n      <trans-unit id="5a13d3834133e09544ec93885662f181372dcf46" datatype="html">\n        <source>Deep Scrubbed</source>\n        <target>Deep Scrubbed</target>\n      </trans-unit>\n      <trans-unit id="7c9efb91434a5c15e9579c0b31c8e184b8c8240d" datatype="html">\n        <source>Destroyed</source>\n        <target>Destroyed</target>\n      </trans-unit>\n      <trans-unit id="647059bf3ea098fffedf92ddfad792bb3daa3c95" datatype="html">\n        <source>Flattened</source>\n        <target>Vereinfacht</target>\n      </trans-unit>\n      <trans-unit id="8df71e952319eafa71c8e6ef6144b780af8813ff" datatype="html">\n        <source>Marked Down</source>\n        <target>Marked Down</target>\n      </trans-unit>\n      <trans-unit id="25658f5a080a1cab3b91e17b756b1d1dc46bb9b3" datatype="html">\n        <source>Marked In</source>\n        <target>Marked In</target>\n      </trans-unit>\n      <trans-unit id="ebcf306036a6c5579df9448f77eca98d491db245" datatype="html">\n        <source>Marked Lost</source>\n        <target>Marked Lost</target>\n      </trans-unit>\n      <trans-unit id="3a8803369ac18be3ad762384b9fda095fe2a6dcc" datatype="html">\n        <source>Marked Out</source>\n        <target>Marked Out</target>\n      </trans-unit>\n      <trans-unit id="0fe2a62ea7c609fa8326ee6d38060bc5ba8bf34f" datatype="html">\n        <source>Protected</source>\n        <target>Geschützt</target>\n      </trans-unit>\n      <trans-unit id="69b0446c6c2411c4fe01e411b8ceec72d4044fb4" datatype="html">\n        <source>Purged</source>\n        <target>Bereinigt</target>\n      </trans-unit>\n      <trans-unit id="d53de1a61bd51c815dc374c7f97e4ee69230e412" datatype="html">\n        <source>Renamed</source>\n        <target>Umbenannt</target>\n      </trans-unit>\n      <trans-unit id="86fc6cae82c095f14105eb8a61d7b3fa948304b7" datatype="html">\n        <source>Restored</source>\n        <target>Wiederhergestellt</target>\n      </trans-unit>\n      <trans-unit id="e87dd0fd35460cb743046db918dfce2137b5977a" datatype="html">\n        <source>Reweighted</source>\n        <target>Reweighted</target>\n      </trans-unit>\n      <trans-unit id="dc21fd6547f2325c67f6deff925f29eb07a2db3e" datatype="html">\n        <source>Rolled back</source>\n        <target>Rollback wurde ausgeführt</target>\n      </trans-unit>\n      <trans-unit id="15dec4c2d73a516c10aef90aeeea3364fa794615" datatype="html">\n        <source>Scrubbed</source>\n        <target>Scrubbed</target>\n      </trans-unit>\n      <trans-unit id="8dc560ded67482f109a98e0638851ad1d37188b3" datatype="html">\n        <source>Showed</source>\n        <target>Showed</target>\n      </trans-unit>\n      <trans-unit id="197259b7ea76f15c6d0a64b075a673fd4112ada7" datatype="html">\n        <source>Moved to Trash</source>\n        <target>In den Papierkorb verschoben</target>\n      </trans-unit>\n      <trans-unit id="8fb15cb102cd75b562680290b7e04c44d80018f2" datatype="html">\n        <source>Unprotected</source>\n        <target>Schutz aufgehoben</target>\n      </trans-unit>\n      <trans-unit id="8588eafa498262a1cbb5043ad68cf0ff669c4f10" datatype="html">\n        <source>Recreated</source>\n        <target>Recreated</target>\n      </trans-unit>\n      <trans-unit id="ffde7468d7b5cad6990095ed68ddee3d67cd02f8" datatype="html">\n        <source>Expired</source>\n        <target>Abgelaufen</target>\n      </trans-unit>\n      <trans-unit id="4f20f2d5a6882190892e58b85f6ccbedfa737952" datatype="html">\n        <source>Yes</source>\n        <target>Ja</target>\n      </trans-unit>\n      <trans-unit id="3d3ae7deebc5949b0c1c78b9847886a94321d9fd" datatype="html">\n        <source>No</source>\n        <target>Nein</target>\n      </trans-unit>\n      <trans-unit id="baf918eed9d4050cdad2acebc0f27b6eaf8e3fcd" datatype="html">\n        <source>Required rules for passwords:</source>\n        <target>Erforderliche Regeln für Passwörter:</target>\n      </trans-unit>\n      <trans-unit id="40f61909e1f017c4652e64b055089beef19cf871" datatype="html">\n        <source>Must contain at least \n          <x id="INTERPOLATION" equiv-text="{{length}}"/> characters\n        </source>\n        <target>Must contain at least \n          <x id="INTERPOLATION" equiv-text="{{length}}"/> characters\n        </target>\n      </trans-unit>\n      <trans-unit id="f4f5dbb3a05b5f38dab47ef38dad88a4574a765a" datatype="html">\n        <source>Must not be the same as the previous one</source>\n        <target>Must not be the same as the previous one</target>\n      </trans-unit>\n      <trans-unit id="607370e07b50087c196a5fcea9184e3d693226b2" datatype="html">\n        <source>Cannot contain the username</source>\n        <target>Cannot contain the username</target>\n      </trans-unit>\n      <trans-unit id="e6e355eab2596251aaa42623b41e6026d5c03e3b" datatype="html">\n        <source>Cannot contain any configured keyword</source>\n        <target>Cannot contain any configured keyword</target>\n      </trans-unit>\n      <trans-unit id="394bcd6d5e4da75b720c4d28f94f2aef7bb38355" datatype="html">\n        <source>Cannot contain any repetitive characters e.g. "aaa"</source>\n        <target>Cannot contain any repetitive characters e.g. "aaa"</target>\n      </trans-unit>\n      <trans-unit id="030e61e0bcf2536fb047645db6182d43e9fca9e9" datatype="html">\n        <source>Cannot contain any sequential characters e.g. "abc"</source>\n        <target>Cannot contain any sequential characters e.g. "abc"</target>\n      </trans-unit>\n      <trans-unit id="99fa0b67376d40142bd4d3ace3344abf4f98b6a5" datatype="html">\n        <source>Your matcher seems to match no currently defined rule or active alert.</source>\n        <target>Your matcher seems to match no currently defined rule or active alert.</target>\n      </trans-unit>\n      <trans-unit id="7e284852732c303eb1f47de9aca2569e41aeffed" datatype="html">\n        <source>no active alerts</source>\n        <target>keine aktiven Warnungen</target>\n      </trans-unit>\n      <trans-unit id="b8042829e4fbe7b09fd9bac9fa0ecf5cc1802fee" datatype="html">\n        <source>1 active alert</source>\n        <target>1 aktive Warnung</target>\n      </trans-unit>\n      <trans-unit id="e24adce97669cb0fc74cc13fdc14179b6f78ea5e" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{n}}"/> active alerts\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{n}}"/> aktive Warnungen\n        </target>\n      </trans-unit>\n      <trans-unit id="d8fb058ff5883731d38a132da4ca45cfe8d719a3" datatype="html">\n        <source>Matches 1 rule</source>\n        <target>Matches 1 rule</target>\n      </trans-unit>\n      <trans-unit id="90aaef24d192e67c3fbc2ec6f8bfaff211cea128" datatype="html">\n        <source>Matches \n          <x id="INTERPOLATION" equiv-text="{{n}}"/> rules\n        </source>\n        <target>Matches \n          <x id="INTERPOLATION" equiv-text="{{n}}"/> rules\n        </target>\n      </trans-unit>\n      <trans-unit id="f4685dc581e18244cd410f1057a8c56a9dbfe8df" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rules}}"/> with \n          <x id="INTERPOLATION_1" equiv-text="{{alerts}}"/>.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rules}}"/> mit \n          <x id="INTERPOLATION_1" equiv-text="{{alerts}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8fd98fb2a0f24ba72cde0787dd3f02cfc17de469" datatype="html">\n        <source>Quality of Service</source>\n        <target>Quality of Service</target>\n      </trans-unit>\n      <trans-unit id="2c53f3ce2c6fff9025a7b41cc334521725da6e7b" datatype="html">\n        <source>BPS Limit</source>\n        <target>BPS-Limit</target>\n      </trans-unit>\n      <trans-unit id="e897624a392419386b035bcd8529337e262fc41d" datatype="html">\n        <source>The desired limit of IO bytes per second.</source>\n        <target>Das gewünschte Limit der E/A-Bytes pro Sekunde.</target>\n      </trans-unit>\n      <trans-unit id="dc56f77e4507da7e86a3accd0a2a7099a838d539" datatype="html">\n        <source>IOPS Limit</source>\n        <target>IOPS-Limit</target>\n      </trans-unit>\n      <trans-unit id="141c3f6eadbb35b0e17b2f847e4cac23240a6ea9" datatype="html">\n        <source>The desired limit of IO operations per second.</source>\n        <target>Das gewünschte Limit der E/A-Vorgänge pro Sekunde.</target>\n      </trans-unit>\n      <trans-unit id="3b3b101f16c38806e984b157e0cf22cd21451122" datatype="html">\n        <source>Read BPS Limit</source>\n        <target>BPS-Limit für Lesevorgänge</target>\n      </trans-unit>\n      <trans-unit id="87835fabb6a645873f3829a450ca1d58f97754f2" datatype="html">\n        <source>The desired limit of read bytes per second.</source>\n        <target>Das gewünschte Limit der gelesenen Bytes pro Sekunde.</target>\n      </trans-unit>\n      <trans-unit id="28b485e700df46d70b96666099f714e3ae9e5c2e" datatype="html">\n        <source>Read IOPS Limit</source>\n        <target>IOPS-Limit für Lesevorgänge</target>\n      </trans-unit>\n      <trans-unit id="5907bd1a5cf3e20e740bca676cb1538372e1f9ff" datatype="html">\n        <source>The desired limit of read operations per second.</source>\n        <target>Das gewünschte Limit für Lesevorgänge pro Sekunde.</target>\n      </trans-unit>\n      <trans-unit id="07317121f0b194987d4dee8b322f521ac17bf124" datatype="html">\n        <source>Write BPS Limit</source>\n        <target>BPS-Limit für Schreibvorgänge</target>\n      </trans-unit>\n      <trans-unit id="4022c78bd9132ca2ec67927f8484c437d1d9b6fd" datatype="html">\n        <source>The desired limit of write bytes per second.</source>\n        <target>Das gewünschte Limit der geschriebenen Bytes pro Sekunde.</target>\n      </trans-unit>\n      <trans-unit id="52c22c19f98ff3a09bd811292954a889b93d28b7" datatype="html">\n        <source>Write IOPS Limit</source>\n        <target>IOPS-Limit für Schreibvorgänge</target>\n      </trans-unit>\n      <trans-unit id="0ed62e3fd8654b3191fc7fa959ad3f10f1ea773a" datatype="html">\n        <source>The desired limit of write operations per second.</source>\n        <target>Das gewünschte Limit für Schreibvorgänge pro Sekunde.</target>\n      </trans-unit>\n      <trans-unit id="d90c99d77864f21f932ee1369019f400c4ad0e2d" datatype="html">\n        <source>BPS Burst</source>\n        <target>BPS-Block</target>\n      </trans-unit>\n      <trans-unit id="29c32192f4d185139aaaf6d3a766a3411dfeabbe" datatype="html">\n        <source>The desired burst limit of IO bytes.</source>\n        <target>Das gewünschte Blocklimit der E/A-Bytes.</target>\n      </trans-unit>\n      <trans-unit id="b988b90489e899941e196c3dd0ecc22e37540224" datatype="html">\n        <source>IOPS Burst</source>\n        <target>IOPS-Block</target>\n      </trans-unit>\n      <trans-unit id="02c5de8ff11870f1b3896f2b45637ce0dba1ed4b" datatype="html">\n        <source>The desired burst limit of IO operations.</source>\n        <target>Das gewünschte Blocklimit der E/A-Vorgänge.</target>\n      </trans-unit>\n      <trans-unit id="7a160538129b37cf595f1651f28b5fac62fbc0f8" datatype="html">\n        <source>Read BPS Burst</source>\n        <target>BPS-Block für Lesevorgänge</target>\n      </trans-unit>\n      <trans-unit id="b573a5df16a53b9947288461bc24e6a0eb4341d6" datatype="html">\n        <source>The desired burst limit of read bytes.</source>\n        <target>Das gewünschte Blocklimit der gelesenen Bytes.</target>\n      </trans-unit>\n      <trans-unit id="1d5b8c2a0c653651cc4ca4b8fed9456f449220d1" datatype="html">\n        <source>Read IOPS Burst</source>\n        <target>IOPS-Block für Lesevorgänge</target>\n      </trans-unit>\n      <trans-unit id="20b199f9d4a8d08ffefec66040e27639ec221512" datatype="html">\n        <source>The desired burst limit of read operations.</source>\n        <target>Das gewünschte Blocklimit der Lesevorgänge.</target>\n      </trans-unit>\n      <trans-unit id="824525ae57992aee629ddffcd500a8b77087ddec" datatype="html">\n        <source>Write BPS Burst</source>\n        <target>BPS-Block für Schreibvorgänge</target>\n      </trans-unit>\n      <trans-unit id="a90aac4050a5d79765da5e1186909f6d4d7f981d" datatype="html">\n        <source>The desired burst limit of write bytes.</source>\n        <target>Das gewünschte Blocklimit der geschriebenen Bytes.</target>\n      </trans-unit>\n      <trans-unit id="35a8c6e6c249c7d16e26aa7c4ef97c06db405070" datatype="html">\n        <source>Write IOPS Burst</source>\n        <target>IOPS-Block für Schreibvorgänge</target>\n      </trans-unit>\n      <trans-unit id="b356abd41d7e9eea4d20c03d2e6892b6d435ecbd" datatype="html">\n        <source>The desired burst limit of write operations.</source>\n        <target>Das gewünschte Blocklimit der Schreibvorgänge.</target>\n      </trans-unit>\n      <trans-unit id="24c4d50fe8567de381a20a1745f1b6d37eacaa90" datatype="html">\n        <source>Failed to \n          <x id="INTERPOLATION" equiv-text="{{failure}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{metadata}}"/>\n        </source>\n        <target>Failed to \n          <x id="INTERPOLATION" equiv-text="{{failure}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{metadata}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="f54b6f09b390d5ade0e354f6c7d4743c10a315cc" datatype="html">\n        <source>Executing</source>\n        <target>Wird ausgeführt</target>\n      </trans-unit>\n      <trans-unit id="5cdfe3e3330ea42bfd29c540dbd268bee97d364d" datatype="html">\n        <source>execute</source>\n        <target>ausführen</target>\n      </trans-unit>\n      <trans-unit id="6e98e243518daa88be30330fcdbd2d10f8eae4d7" datatype="html">\n        <source>Executed</source>\n        <target>Ausgeführt</target>\n      </trans-unit>\n      <trans-unit id="24b09aa5bd909273a023d2d788a2673325c77e31" datatype="html">\n        <source>unknown task</source>\n        <target>Unbekannte Aufgabe</target>\n      </trans-unit>\n      <trans-unit id="114b5f92b9192b229ffc9a450319a97ccca2aa5c" datatype="html">\n        <source>Creating</source>\n        <target>Wird erstellt</target>\n      </trans-unit>\n      <trans-unit id="56695b69d27437ada580a187958407e7c856d46e" datatype="html">\n        <source>create</source>\n        <target>erstellen</target>\n      </trans-unit>\n      <trans-unit id="9db60170ef3b3b41a863e7d5ee7cec10919b9141" datatype="html">\n        <source>Updating</source>\n        <target>Wird aktualisiert</target>\n      </trans-unit>\n      <trans-unit id="64412640835b7d25247cb254d4f911366c0e6862" datatype="html">\n        <source>update</source>\n        <target>aktualisieren</target>\n      </trans-unit>\n      <trans-unit id="416193bb373d59477458b00e5922d755e2e2cacd" datatype="html">\n        <source>Deleting</source>\n        <target>Wird gelöscht</target>\n      </trans-unit>\n      <trans-unit id="d07a282afc7fbdb39cea6e1c9b544882a7260a86" datatype="html">\n        <source>Adding</source>\n        <target>Adding</target>\n      </trans-unit>\n      <trans-unit id="a11ec4e640f241329943237d2a3cceaa4823658e" datatype="html">\n        <source>add</source>\n        <target>add</target>\n      </trans-unit>\n      <trans-unit id="ea1c70b874904216cc5af24bd7cb3dab2d074d42" datatype="html">\n        <source>Removing</source>\n        <target>Removing</target>\n      </trans-unit>\n      <trans-unit id="4da487aec5a29ce4372e7b512227cd665b01fe6f" datatype="html">\n        <source>remove</source>\n        <target>remove</target>\n      </trans-unit>\n      <trans-unit id="0e21237afdc84ec360c374fa678d9b1cfaa334f9" datatype="html">\n        <source>Importing</source>\n        <target>Importing</target>\n      </trans-unit>\n      <trans-unit id="c6b4128c006f4cc0564137e1a1482b5c432aa347" datatype="html">\n        <source>import</source>\n        <target>import</target>\n      </trans-unit>\n      <trans-unit id="3b9f4138abbca0fd66db1f7332f4b54e2a6d916d" datatype="html">\n        <source>Imported</source>\n        <target>Imported</target>\n      </trans-unit>\n      <trans-unit id="3f757cfc3749ebb5d4462017cb60138ca082f15f" datatype="html">\n        <source>RBD \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>RBD \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="a6c681e6130fe440ae40de99a405fcf5c7eefee1" datatype="html">\n        <source>RBD snapshot \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>RBD-Snapshot \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="2bf18ddf3785f7afb4f01dcf63d3d8c40f4bfba5" datatype="html">\n        <source>mirroring site name</source>\n        <target>mirroring site name</target>\n      </trans-unit>\n      <trans-unit id="167b73bb24b4695614ce0fc567b7a45080457a44" datatype="html">\n        <source>bootstrap token</source>\n        <target>bootstrap token</target>\n      </trans-unit>\n      <trans-unit id="4fb54a0291f49583c317d4a3690239141b5a8f68" datatype="html">\n        <source>mirror mode for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>Spiegelungsmodus für Pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="6621ab6e122a149326a1e48e9051a41e7f203cf6" datatype="html">\n        <source>mirror peer for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>mirror peer for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="db15adc778317d551232fe712eb03a2c1eac4a43" datatype="html">\n        <source>all dashboards</source>\n        <target>Alle Dashboards</target>\n      </trans-unit>\n      <trans-unit id="6c19652df9249c60827044ed6274933cab180c63" datatype="html">\n        <source>OSDs (DriveGroups: \n          <x id="INTERPOLATION" equiv-text="{{tracking_id}}"/>)\n        </source>\n        <target>OSDs (DriveGroups: \n          <x id="INTERPOLATION" equiv-text="{{tracking_id}}"/>)\n        </target>\n      </trans-unit>\n      <trans-unit id="1b559dbd9cc9664fd788c2da9a10d3abafe066cb" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.\n        </source>\n        <target>Name wird bereits von \n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/> verwendet.\n        </target>\n      </trans-unit>\n      <trans-unit id="8fc28e1103d9f2ef47b9fff9a4f74e8365c7cf19" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>.\n        </source>\n        <target>Name wird bereits von \n          <x id="INTERPOLATION" equiv-text="{{name}}"/> verwendet.\n        </target>\n      </trans-unit>\n      <trans-unit id="1cdc7ea44fcb85d0cfcf6e7379d625d8674a8fbe" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.\n        </source>\n        <target>Name wird bereits von \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> verwendet.\n        </target>\n      </trans-unit>\n      <trans-unit id="460f07780389d24c6a540c007c7367a56afad585" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> is busy.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> is busy.\n        </target>\n      </trans-unit>\n      <trans-unit id="1ff7676ad1e991102224540a32dd44ad1ab88aa8" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> enthält Snapshots.\n        </target>\n      </trans-unit>\n      <trans-unit id="c3a1dcca2b2ba20fbe39e2441e7bb1cf9c20cdf3" datatype="html">\n        <source>Cloning</source>\n        <target>Wird geklont</target>\n      </trans-unit>\n      <trans-unit id="b5fa4e0a3a279dee5b6bf7b823e54387f7c79994" datatype="html">\n        <source>clone</source>\n        <target>klonen</target>\n      </trans-unit>\n      <trans-unit id="29b7452e8367af9aa8fa828f16ff94c3530e7a1a" datatype="html">\n        <source>Snapshot of \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> must be protected.\n        </source>\n        <target>Snapshot von \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> muss geschützt sein.\n        </target>\n      </trans-unit>\n      <trans-unit id="369f93b9a07a9465f7a261e9f0021b6cfa7180c5" datatype="html">\n        <source>Copying</source>\n        <target>Wird kopiert</target>\n      </trans-unit>\n      <trans-unit id="37584f889855d153a106f5dffe23d21f9453c8ff" datatype="html">\n        <source>copy</source>\n        <target>kopieren</target>\n      </trans-unit>\n      <trans-unit id="6ea9e313a04ef59222feaadfe84e97b4c69d7e9e" datatype="html">\n        <source>Flattening</source>\n        <target>Wird vereinfacht</target>\n      </trans-unit>\n      <trans-unit id="1f57593581b64d2d4c70eab1736bd9bccc66a7dc" datatype="html">\n        <source>flatten</source>\n        <target>vereinfachen</target>\n      </trans-unit>\n      <trans-unit id="d990ef9680cd23bbe652c37eb46bf038cfee80ad" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/>.\n        </source>\n        <target>Name wird bereits von \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> verwendet.\n        </target>\n      </trans-unit>\n      <trans-unit id="a101745d080ef65c09bd5fafc796f94ddb9f9d60" datatype="html">\n        <source>Cannot unprotect \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it contains child images.\n        </source>\n        <target>Der Schutz von \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> kann aufgrund untergeordneter Images nicht aufgehoben werden.\n        </target>\n      </trans-unit>\n      <trans-unit id="647968f4cde7786cd53ec8e6aa9802ac6824a262" datatype="html">\n        <source>Cannot delete \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it\'s protected.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> kann nicht gelöscht werden, da es geschützt ist.\n        </target>\n      </trans-unit>\n      <trans-unit id="57ddd3e15cf0ce974356b757451f50116a27272b" datatype="html">\n        <source>Rolling back</source>\n        <target>Rollback wird ausgeführt</target>\n      </trans-unit>\n      <trans-unit id="a8913a3a5ee61f2598b5f0432cb9b20cdd60548e" datatype="html">\n        <source>rollback</source>\n        <target>Rollback</target>\n      </trans-unit>\n      <trans-unit id="de8676f0017c9db6c49388cd7d63cd0a83a0c1dc" datatype="html">\n        <source>Moving</source>\n        <target>Wird verschoben</target>\n      </trans-unit>\n      <trans-unit id="2d810712308ae63cb795d809687a3254ef7a2f05" datatype="html">\n        <source>move</source>\n        <target>verschieben</target>\n      </trans-unit>\n      <trans-unit id="f3ba995236e5c1cc77686108980c099a90aec754" datatype="html">\n        <source>Moved</source>\n        <target>Verschoben</target>\n      </trans-unit>\n      <trans-unit id="d0422169252d132624a20f267b5c29f28cb53ebe" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' to trash\n        </source>\n        <target>Image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' in Papierkorb verschieben\n        </target>\n      </trans-unit>\n      <trans-unit id="b603e2dfed9808222fbcb5a7c5f4da2cc6ae2aae" datatype="html">\n        <source>Could not find image.</source>\n        <target>Image konnte nicht gefunden werden.</target>\n      </trans-unit>\n      <trans-unit id="398debe73006b1fe5177ed81d2e7b0cc852f61ec" datatype="html">\n        <source>Restoring</source>\n        <target>Wird wiederhergestellt</target>\n      </trans-unit>\n      <trans-unit id="c252806fb400e79bac194696632c9362742b1538" datatype="html">\n        <source>restore</source>\n        <target>wiederherstellen</target>\n      </trans-unit>\n      <trans-unit id="30b8bcf69b3f1754b7abba173fd806cfcea4cb04" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' into \'\n          <x id="INTERPOLATION_1" equiv-text="{{new_id}}"/>\'\n        </source>\n        <target>Image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' in \'\n          <x id="INTERPOLATION_1" equiv-text="{{new_id}}"/>\' verschieben\n        </target>\n      </trans-unit>\n      <trans-unit id="13b7b241cef989fe0932ddd180e757658e1817e7" datatype="html">\n        <source>Image name \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' is already in use.\n        </source>\n        <target>Image-Name \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' wird bereits verwendet.\n        </target>\n      </trans-unit>\n      <trans-unit id="cc1cee12c833e8fbbef28a2a7c449dc530da912d" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>Image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="38e5f47f8bef505652f3e87f46efb00ead1350a3" datatype="html">\n        <source>Purging</source>\n        <target>Wird bereinigt</target>\n      </trans-unit>\n      <trans-unit id="e4e57747f123f0fe6fe3a0ecf608f8bc287dec0c" datatype="html">\n        <source>purge</source>\n        <target>bereinigen</target>\n      </trans-unit>\n      <trans-unit id="1560d58fdf39663929653250d45f5b1dfe078fea" datatype="html">\n        <source>all pools</source>\n        <target>alle Pools</target>\n      </trans-unit>\n      <trans-unit id="1ac3dc50c2c3d86e98bc0967ee1e696810a2d3aa" datatype="html">\n        <source>images from \n          <x id="INTERPOLATION" equiv-text="{{message}}"/>\n        </source>\n        <target>Images von \n          <x id="INTERPOLATION" equiv-text="{{message}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="02278abbb044ece04ab6bd80bd2060198d31d83b" datatype="html">\n        <source>Cannot disable mirroring because it contains a peer.</source>\n        <target>Spiegelung kann nicht deaktiviert werden, da sie einen Peer enthält.</target>\n      </trans-unit>\n      <trans-unit id="5c4525a1b76ca54d1aadeaecfdb83aedc2eec6e0" datatype="html">\n        <source>Identifying</source>\n        <target>Identifying</target>\n      </trans-unit>\n      <trans-unit id="ffd067e54a061d1f27cb35f0cf67ef7f29e19111" datatype="html">\n        <source>identify</source>\n        <target>identify</target>\n      </trans-unit>\n      <trans-unit id="7c921f339274688c22ba1acac7af6b097ad3599d" datatype="html">\n        <source>Identified</source>\n        <target>Identified</target>\n      </trans-unit>\n      <trans-unit id="3307492c27c2150cd26c514030444e11fd61089f" datatype="html">\n        <source>device \'\n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\' on host \'\n          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>\'\n        </source>\n        <target>device \'\n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\' on host \'\n          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="f123ae1fc3b000e5d08e766dd78bff162afe709d" datatype="html">\n        <source>host \'\n          <x id="INTERPOLATION" equiv-text="{{hostname}}"/>\'\n        </source>\n        <target>Host \'\n          <x id="INTERPOLATION" equiv-text="{{hostname}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="c1af76189dcefd094da2bc1a4a63968f3bab5789" datatype="html">\n        <source>OSD \'\n          <x id="INTERPOLATION" equiv-text="{{svc_id}}"/>\'\n        </source>\n        <target>OSD \'\n          <x id="INTERPOLATION" equiv-text="{{svc_id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="dfe70001dc590a9e12512cbb206aa29fb36fd00b" datatype="html">\n        <source>pool \'\n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>\'\n        </source>\n        <target>Pool \'\n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="59630daf2f4786690fae0cdad55da8887236eabe" datatype="html">\n        <source>erasure code profile \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </source>\n        <target>Erasure-Coding-Profil \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="79052d6c47258dc19ada12dbb2563761102b6f1d" datatype="html">\n        <source>crush rule \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </source>\n        <target>crush rule \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="369462e5e018360e0600bb570866201ad5c3c8a8" datatype="html">\n        <source>target \'\n          <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>\'\n        </source>\n        <target>Ziel \'\n          <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="cf41310917cb19b335e5a950972bbff2346f7a47" datatype="html">\n        <source>NFS \n          <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>\n        </source>\n        <target>NFS \n          <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>\n        </target>\n      </trans-unit>\n    </body>\n  </file>\n</xliff>'},EmSq:function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var a=n("8Y7J"),r=n("LvDl");n("Fgil"),n("aXbf");class o{constructor(t,e,n,r){this.elementRef=t,this.control=e,this.dimlessBinaryPipe=n,this.formatter=r,this.ngModelChange=new a.EventEmitter,this.el=this.elementRef.nativeElement}ngOnInit(){this.setValue(this.el.value)}setValue(t){/^[\d.]+$/.test(t)&&(t+=this.defaultUnit||"m");const e=this.formatter.toBytes(t),n=this.round(e);this.el.value=this.dimlessBinaryPipe.transform(n),null!==e?(this.ngModelChange.emit(this.el.value),this.control.control.setValue(this.el.value)):(this.ngModelChange.emit(null),this.control.control.setValue(null))}round(t){if(null!==t&&0!==t){if(!r.isUndefined(this.minBytes)&&t<this.minBytes)return this.minBytes;if(!r.isUndefined(this.maxBytes)&&t>this.maxBytes)return this.maxBytes;if(!r.isUndefined(this.roundPower)){const e=Math.round(Math.log(t)/Math.log(this.roundPower));return Math.pow(this.roundPower,e)}}return t}onBlur(t){this.setValue(t)}}},EpBk:function(t,e){t.exports=function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}},ExA7:function(t,e){t.exports=function(t){return null!=t&&"object"==typeof t}},"F+uO":function(t,e,n){var a={"./messages.cs.xlf":"ViD7","./messages.de-DE.xlf":"EiPl","./messages.es-ES.xlf":"yt+r","./messages.fr-FR.xlf":"V5SL","./messages.id-ID.xlf":"jqst","./messages.it-IT.xlf":"8j5A","./messages.ja-JP.xlf":"bN42","./messages.ko-KR.xlf":"3+CB","./messages.pl-PL.xlf":"SPu7","./messages.pt-BR.xlf":"+Wg/","./messages.zh-CN.xlf":"AiMb","./messages.zh-TW.xlf":"HjS5"};function r(t){var e=o(t);return n(e)}function o(t){if(!n.o(a,t)){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e}return a[t]}r.keys=function(){return Object.keys(a)},r.resolve=o,t.exports=r,r.id="F+uO"},F8JR:function(t,e,n){"use strict";var a=n("tycR").forEach,r=n("pkCn"),o=n("rkAj"),i=r("forEach"),s=o("forEach");t.exports=i&&s?[].forEach:function(t){return a(this,t,arguments.length>1?arguments[1]:void 0)}},F8xH:function(t,e,n){var a=n("mrSG").__decorate;Object.defineProperty(e,"__esModule",{value:!0});var r=n("8Y7J"),o=n("SVse"),i=n("Nia1"),s=n("mn2k"),c=n("bpWZ");e.NgxDatatableModule=function(){return a([r.NgModule({imports:[o.CommonModule],providers:[c.ScrollbarHelper,c.DimensionsHelper,c.ColumnChangesService],declarations:[i.DataTableFooterTemplateDirective,s.VisibilityDirective,s.DraggableDirective,s.ResizeableDirective,s.OrderableDirective,s.LongPressDirective,i.ScrollerComponent,i.DatatableComponent,i.DataTableColumnDirective,i.DataTableHeaderComponent,i.DataTableHeaderCellComponent,i.DataTableBodyComponent,i.DataTableFooterComponent,i.DataTablePagerComponent,i.ProgressBarComponent,i.DataTableBodyRowComponent,i.DataTableRowWrapperComponent,i.DatatableRowDetailDirective,i.DatatableGroupHeaderDirective,i.DatatableRowDetailTemplateDirective,i.DataTableBodyCellComponent,i.DataTableSelectionComponent,i.DataTableColumnHeaderDirective,i.DataTableColumnCellDirective,i.DataTableColumnCellTreeToggle,i.DatatableFooterDirective,i.DatatableGroupHeaderTemplateDirective,i.DataTableSummaryRowComponent],exports:[i.DatatableComponent,i.DatatableRowDetailDirective,i.DatatableGroupHeaderDirective,i.DatatableRowDetailTemplateDirective,i.DataTableColumnDirective,i.DataTableColumnHeaderDirective,i.DataTableColumnCellDirective,i.DataTableColumnCellTreeToggle,i.DataTableFooterTemplateDirective,i.DatatableFooterDirective,i.DataTablePagerComponent,i.DatatableGroupHeaderTemplateDirective]})],(function(){}))}()},"F97/":function(t,e,n){"use strict";function a(t,e){function n(){return!n.pred.apply(n.thisArg,arguments)}return n.pred=t,n.thisArg=e,n}n.d(e,"a",(function(){return a}))},FE24:function(t,e,n){"use strict";n.d(e,"a",(function(){return c})),n.d(e,"b",(function(){return d})),n.d(e,"c",(function(){return u})),n.d(e,"d",(function(){return g})),n.d(e,"e",(function(){return p})),n.d(e,"f",(function(){return l})),n.d(e,"g",(function(){return f}));var a=n("8Y7J"),r=n("pLZG"),o=n("z/SZ"),i=n("hpHm"),s=n("2uy1");class c{constructor(){this.autoClose=!0,this.insideClick=!1}}class l{constructor(){this.direction="down",this.isOpenChange=new a.EventEmitter,this.isDisabledChange=new a.EventEmitter,this.toggleClick=new a.EventEmitter,this.dropdownMenu=new Promise(t=>{this.resolveDropdownMenu=t})}}class d{constructor(t,e,n,a){this._state=t,this.cd=e,this._renderer=n,this._element=a,this.isOpen=!1,this._subscription=t.isOpenChange.subscribe(t=>{this.isOpen=t;const e=this._element.nativeElement.querySelector(".dropdown-menu");e&&!Object(i.d)()&&(this._renderer.addClass(e,"show"),e.classList.contains("dropdown-menu-right")&&(this._renderer.setStyle(e,"left","auto"),this._renderer.setStyle(e,"right","0")),"up"===this.direction&&(this._renderer.setStyle(e,"top","auto"),this._renderer.setStyle(e,"transform","translateY(-101%)"))),this.cd.markForCheck(),this.cd.detectChanges()})}get direction(){return this._state.direction}_contains(t){return this._element.nativeElement.contains(t)}ngOnDestroy(){this._subscription.unsubscribe()}}class u{constructor(t,e,n,a,r,o){this._elementRef=t,this._renderer=e,this._viewContainerRef=n,this._cis=a,this._config=r,this._state=o,this._isInlineOpen=!1,this._subscriptions=[],this._isInited=!1,this._state.autoClose=this._config.autoClose,this._state.insideClick=this._config.insideClick,this._dropdown=this._cis.createLoader(this._elementRef,this._viewContainerRef,this._renderer).provide({provide:l,useValue:this._state}),this.onShown=this._dropdown.onShown,this.onHidden=this._dropdown.onHidden,this.isOpenChange=this._state.isOpenChange}set autoClose(t){this._state.autoClose=t}get autoClose(){return this._state.autoClose}set insideClick(t){this._state.insideClick=t}get insideClick(){return this._state.insideClick}set isDisabled(t){this._isDisabled=t,this._state.isDisabledChange.emit(t),t&&this.hide()}get isDisabled(){return this._isDisabled}get isOpen(){return this._showInline?this._isInlineOpen:this._dropdown.isShown}set isOpen(t){t?this.show():this.hide()}get isBs4(){return!Object(i.d)()}get _showInline(){return!this.container}ngOnInit(){this._isInited||(this._isInited=!0,this._dropdown.listen({outsideClick:!1,triggers:this.triggers,show:()=>this.show()}),this._subscriptions.push(this._state.toggleClick.subscribe(t=>this.toggle(t))),this._subscriptions.push(this._state.isDisabledChange.pipe(Object(r.a)(t=>t)).subscribe(t=>this.hide())))}show(){if(!this.isOpen&&!this.isDisabled)return this._showInline?(this._inlinedMenu||this._state.dropdownMenu.then(t=>{this._dropdown.attachInline(t.viewContainer,t.templateRef),this._inlinedMenu=this._dropdown._inlineViewRef,this.addBs4Polyfills()}).catch(),this.addBs4Polyfills(),this._isInlineOpen=!0,this.onShown.emit(!0),void this._state.isOpenChange.emit(!0)):void this._state.dropdownMenu.then(t=>{const e=this.dropup||void 0!==this.dropup&&this.dropup;this._state.direction=e?"up":"down";const n=this.placement||(e?"top start":"bottom start");this._dropdown.attach(d).to(this.container).position({attachment:n}).show({content:t.templateRef,placement:n}),this._state.isOpenChange.emit(!0)}).catch()}hide(){this.isOpen&&(this._showInline?(this.removeShowClass(),this.removeDropupStyles(),this._isInlineOpen=!1,this.onHidden.emit(!0)):this._dropdown.hide(),this._state.isOpenChange.emit(!1))}toggle(t){return this.isOpen||!t?this.hide():this.show()}_contains(t){return this._elementRef.nativeElement.contains(t.target)||this._dropdown.instance&&this._dropdown.instance._contains(t.target)}ngOnDestroy(){for(const t of this._subscriptions)t.unsubscribe();this._dropdown.dispose()}addBs4Polyfills(){Object(i.d)()||(this.addShowClass(),this.checkRightAlignment(),this.addDropupStyles())}addShowClass(){this._inlinedMenu&&this._inlinedMenu.rootNodes[0]&&this._renderer.addClass(this._inlinedMenu.rootNodes[0],"show")}removeShowClass(){this._inlinedMenu&&this._inlinedMenu.rootNodes[0]&&this._renderer.removeClass(this._inlinedMenu.rootNodes[0],"show")}checkRightAlignment(){if(this._inlinedMenu&&this._inlinedMenu.rootNodes[0]){const t=this._inlinedMenu.rootNodes[0].classList.contains("dropdown-menu-right");this._renderer.setStyle(this._inlinedMenu.rootNodes[0],"left",t?"auto":"0"),this._renderer.setStyle(this._inlinedMenu.rootNodes[0],"right",t?"0":"auto")}}addDropupStyles(){this._inlinedMenu&&this._inlinedMenu.rootNodes[0]&&(this._renderer.setStyle(this._inlinedMenu.rootNodes[0],"top",this.dropup?"auto":"100%"),this._renderer.setStyle(this._inlinedMenu.rootNodes[0],"transform",this.dropup?"translateY(-101%)":"translateY(0)"),this._renderer.setStyle(this._inlinedMenu.rootNodes[0],"bottom","auto"))}removeDropupStyles(){this._inlinedMenu&&this._inlinedMenu.rootNodes[0]&&(this._renderer.removeStyle(this._inlinedMenu.rootNodes[0],"top"),this._renderer.removeStyle(this._inlinedMenu.rootNodes[0],"transform"),this._renderer.removeStyle(this._inlinedMenu.rootNodes[0],"bottom"))}}class g{constructor(t,e,n){t.resolveDropdownMenu({templateRef:n,viewContainer:e})}}class f{constructor(t,e,n,a,r){this._changeDetectorRef=t,this._dropdown=e,this._element=n,this._renderer=a,this._state=r,this.isDisabled=null,this._subscriptions=[],this._subscriptions.push(this._state.isOpenChange.subscribe(t=>{this.isOpen=t,t?(this._documentClickListener=this._renderer.listen("document","click",t=>{!this._state.autoClose||2===t.button||this._element.nativeElement.contains(t.target)||this._state.insideClick&&this._dropdown._contains(t)||(this._state.toggleClick.emit(!1),this._changeDetectorRef.detectChanges())}),this._escKeyUpListener=this._renderer.listen(this._element.nativeElement,"keyup.esc",()=>{this._state.autoClose&&(this._state.toggleClick.emit(!1),this._changeDetectorRef.detectChanges())})):(this._documentClickListener(),this._escKeyUpListener())})),this._subscriptions.push(this._state.isDisabledChange.subscribe(t=>this.isDisabled=t||null))}onClick(){this.isDisabled||this._state.toggleClick.emit(!0)}ngOnDestroy(){this._documentClickListener&&this._documentClickListener(),this._escKeyUpListener&&this._escKeyUpListener();for(const t of this._subscriptions)t.unsubscribe()}}class p{static forRoot(t){return{ngModule:p,providers:[o.a,s.a,l,{provide:c,useValue:t||{autoClose:!0,insideClick:!1}}]}}}},FFMq:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{transform(t){return t.join(", ")}}},FLvf:function(t,e,n){"use strict";function a(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),a(n("tFKq")),a(n("0MID"))},FMNM:function(t,e,n){var a=n("xrYK"),r=n("kmMV");t.exports=function(t,e){var n=t.exec;if("function"==typeof n){var o=n.call(t,e);if("object"!=typeof o)throw TypeError("RegExp exec method returned something other than an Object or null");return o}if("RegExp"!==a(t))throw TypeError("RegExp#exec called on incompatible receiver");return r.call(t,e)}},FMPj:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=n("h+PQ");e.optionalGetterForProp=function(t){return t&&function(e){return a.getterForProp(t)(e,t)}},e.groupRowsByParents=function(t,e,n){if(e&&n){var a={},o=t.length,i=null;a[0]=new r;for(var s=t.reduce((function(t,e){var a=n(e);return-1===t.indexOf(a)&&t.push(a),t}),[]),c=0;c<o;c++)a[n(t[c])]=new r(t[c]);for(c=0;c<o;c++){var l=0,d=e((i=a[n(t[c])]).row);d&&s.indexOf(d)>-1&&(l=d),i.parent=a[l],i.row.level=i.parent.row.level+1,i.parent.children.push(i)}var u=[];return a[0].flatten((function(){u=u.concat([this.row])}),!0),u}return t};var r=function(){function t(t){void 0===t&&(t=null),t||(t={level:-1,treeStatus:"expanded"}),this.row=t,this.parent=null,this.children=[]}return t.prototype.flatten=function(t,e){if("expanded"===this.row.treeStatus)for(var n=0,a=this.children.length;n<a;n++){var r=this.children[n];t.apply(r,Array.prototype.slice.call(arguments,2)),e&&r.flatten.apply(r,arguments)}},t}()},"FO+L":function(t,e,n){var a=n("mrSG").__decorate;Object.defineProperty(e,"__esModule",{value:!0});var r=n("8Y7J");n("SVse"),e.ScrollbarHelper=function(){function t(t){this.document=t,this.width=this.getWidth()}return t.prototype.getWidth=function(){var t=this.document.createElement("div");t.style.visibility="hidden",t.style.width="100px",t.style.msOverflowStyle="scrollbar",this.document.body.appendChild(t);var e=t.offsetWidth;t.style.overflow="scroll";var n=this.document.createElement("div");n.style.width="100%",t.appendChild(n);var a=n.offsetWidth;return t.parentNode.removeChild(t),e-a},a([r.Injectable()],t)}()},FSuO:function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var a=n("8Y7J"),r=n("LvDl"),o=n("x38r");n("a0VL"),n("uIqm");class i{constructor(t){this.datePipe=t,this.autoReload=5e3,this.renderObjects=!1,this.appendParentKey=!0,this.hideEmpty=!1,this.hideKeys=[],this.columns=[],this.fetchData=new a.EventEmitter}ngOnInit(){this.columns=[{prop:"key",flexGrow:1,cellTransformation:o.a.bold},{prop:"value",flexGrow:3}],this.customCss&&(this.columns[1].cellTransformation=o.a.classAdding),this.fetchData.observers.length>0&&this.table.fetchData.subscribe(()=>{this.fetchData.emit()}),this.useData()}ngOnChanges(){this.useData()}useData(){if(!this.data)return;let t=this.makePairs(this.data);this.hideKeys&&(t=t.filter(t=>!this.hideKeys.includes(t.key))),this.tableData=t}makePairs(t){let e=[];if(t){if(r.isArray(t))e=this.makePairsFromArray(t);else{if(!r.isObject(t))throw new Error("Wrong data format");e=this.makePairsFromObject(t)}return e=e.map(t=>(t.value=this.convertValue(t.value),t)).filter(t=>null!==t.value),r.sortBy(this.renderObjects?this.insertFlattenObjects(e):e,"key")}}makePairsFromArray(t){let e=[];const n=t[0];if(r.isArray(n)){if(2!==n.length)throw new Error(`Array contains too many elements (${n.length}). `+"Needs to be of type [string, any][]");e=t.map(t=>({key:t[0],value:t[1]}))}else r.isObject(n)&&(e=r.has(n,"key")&&r.has(n,"value")?[...t]:t.reduce((t,e)=>t.concat(this.makePairsFromObject(e)),e));return e}makePairsFromObject(t){return Object.keys(t).map(e=>({key:e,value:t[e]}))}insertFlattenObjects(t){return r.flattenDeep(t.map(t=>{const e=t.value,n=r.isObject(e);return!n||r.isEmpty(e)?(n&&(t.value=""),t):this.splitItemIntoItems(t)}))}splitItemIntoItems(t){return this.makePairs(t.value).map(e=>(this.appendParentKey&&(e.key=t.key+" "+e.key),e))}convertValue(t){if(r.isArray(t)){if(r.isEmpty(t)&&this.hideEmpty)return null;t=t.map(t=>r.isObject(t)?JSON.stringify(t):t).join(", ")}else if(r.isObject(t)){if(this.hideEmpty&&r.isEmpty(t)||!this.renderObjects)return null}else if(r.isString(t)){if(""===t&&this.hideEmpty)return null;this.isDate(t)&&(t=this.datePipe.transform(t)||t)}return t}isDate(t){const e="\\d{2}[ -:.TZ]";return t.match(new RegExp("^\\d{4}[ -:.TZ]"+e+e+e+e+e+"\\d*Z?$"))}}},FZoo:function(t,e,n){var a=n("MrPd"),r=n("4uTw"),o=n("wJg7"),i=n("GoyQ"),s=n("9Nap");t.exports=function(t,e,n,c){if(!i(t))return t;for(var l=-1,d=(e=r(e,t)).length,u=d-1,g=t;null!=g&&++l<d;){var f=s(e[l]),p=n;if(l!=u){var m=g[f];void 0===(p=c?c(m,f,g):void 0)&&(p=i(m)?m:o(e[l+1])?[]:{})}a(g,f,p),g=g[f]}return t}},FfPP:function(t,e,n){var a=n("idmN"),r=n("hgQt");t.exports=function(t,e){return a(t,e,(function(e,n){return r(t,n)}))}},Fgil:function(t,e,n){"use strict";n.d(e,"a",(function(){return a})),n("aXbf");class a{constructor(t){this.formatter=t}transform(t){return this.formatter.format_number(t,1024,["B","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"])}}},Fjl2:function(t,e,n){var a=n("mrSG").__decorate;Object.defineProperty(e,"__esModule",{value:!0});var r=n("8Y7J");e.DatatableGroupHeaderTemplateDirective=function(){return a([r.Directive({selector:"[ngx-datatable-group-header-template]"})],(function(t){this.template=t}))}()},Fwy9:function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var a=n("8Y7J"),r=n("gk6K"),o=function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},i=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},s=function(){function t(t,e,n,r){this.el=t,this.renderer=e,this.treeDraggedElement=n,this.ngZone=r,this.allowDragoverStyling=!0,this.onDropCallback=new a.EventEmitter,this.onDragOverCallback=new a.EventEmitter,this.onDragLeaveCallback=new a.EventEmitter,this.onDragEnterCallback=new a.EventEmitter,this._allowDrop=function(t,e){return!0},this.dragOverEventHandler=this.onDragOver.bind(this),this.dragEnterEventHandler=this.onDragEnter.bind(this),this.dragLeaveEventHandler=this.onDragLeave.bind(this)}return Object.defineProperty(t.prototype,"treeAllowDrop",{set:function(t){this._allowDrop=t instanceof Function?t:function(e,n){return t}},enumerable:!0,configurable:!0}),t.prototype.allowDrop=function(t){return this._allowDrop(this.treeDraggedElement.get(),t)},t.prototype.ngAfterViewInit=function(){var t=this,e=this.el.nativeElement;this.ngZone.runOutsideAngular((function(){e.addEventListener("dragover",t.dragOverEventHandler),e.addEventListener("dragenter",t.dragEnterEventHandler),e.addEventListener("dragleave",t.dragLeaveEventHandler)}))},t.prototype.ngOnDestroy=function(){var t=this.el.nativeElement;t.removeEventListener("dragover",this.dragOverEventHandler),t.removeEventListener("dragenter",this.dragEnterEventHandler),t.removeEventListener("dragleave",this.dragLeaveEventHandler)},t.prototype.onDragOver=function(t){if(!this.allowDrop(t))return this.allowDragoverStyling?this.addDisabledClass():void 0;this.onDragOverCallback.emit({event:t,element:this.treeDraggedElement.get()}),t.preventDefault(),this.allowDragoverStyling&&this.addClass()},t.prototype.onDragEnter=function(t){this.allowDrop(t)&&(t.preventDefault(),this.onDragEnterCallback.emit({event:t,element:this.treeDraggedElement.get()}))},t.prototype.onDragLeave=function(t){if(!this.allowDrop(t))return this.allowDragoverStyling?this.removeDisabledClass():void 0;this.onDragLeaveCallback.emit({event:t,element:this.treeDraggedElement.get()}),this.allowDragoverStyling&&this.removeClass()},t.prototype.onDrop=function(t){this.allowDrop(t)&&(t.preventDefault(),this.onDropCallback.emit({event:t,element:this.treeDraggedElement.get()}),this.allowDragoverStyling&&this.removeClass(),this.treeDraggedElement.set(null))},t.prototype.addClass=function(){this.renderer.addClass(this.el.nativeElement,"is-dragging-over")},t.prototype.removeClass=function(){this.renderer.removeClass(this.el.nativeElement,"is-dragging-over")},t.prototype.addDisabledClass=function(){this.renderer.addClass(this.el.nativeElement,"is-dragging-over-disabled")},t.prototype.removeDisabledClass=function(){this.renderer.removeClass(this.el.nativeElement,"is-dragging-over-disabled")},o([Object(a.Input)(),i("design:type",Object)],t.prototype,"allowDragoverStyling",void 0),o([Object(a.Output)("treeDrop"),i("design:type",Object)],t.prototype,"onDropCallback",void 0),o([Object(a.Output)("treeDropDragOver"),i("design:type",Object)],t.prototype,"onDragOverCallback",void 0),o([Object(a.Output)("treeDropDragLeave"),i("design:type",Object)],t.prototype,"onDragLeaveCallback",void 0),o([Object(a.Output)("treeDropDragEnter"),i("design:type",Object)],t.prototype,"onDragEnterCallback",void 0),o([Object(a.Input)(),i("design:type",Object),i("design:paramtypes",[Object])],t.prototype,"treeAllowDrop",null),o([Object(a.HostListener)("drop",["$event"]),i("design:type",Function),i("design:paramtypes",[Object]),i("design:returntype",void 0)],t.prototype,"onDrop",null),o([Object(a.Directive)({selector:"[treeDrop]"}),i("design:paramtypes",[a.ElementRef,a.Renderer2,r.a,a.NgZone])],t)}()},"G+Rx":function(t,e,n){var a=n("0GbY");t.exports=a("document","documentElement")},G0Uy:function(t,e,n){!function(t){"use strict";t.defineLocale("mt",{months:"Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru".split("_"),monthsShort:"Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ".split("_"),weekdays:"Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt".split("_"),weekdaysShort:"Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib".split("_"),weekdaysMin:"Ħa_Tn_Tl_Er_Ħa_Ġi_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Illum fil-]LT",nextDay:"[Għada fil-]LT",nextWeek:"dddd [fil-]LT",lastDay:"[Il-bieraħ fil-]LT",lastWeek:"dddd [li għadda] [fil-]LT",sameElse:"L"},relativeTime:{future:"f’ %s",past:"%s ilu",s:"ftit sekondi",ss:"%d sekondi",m:"minuta",mm:"%d minuti",h:"siegħa",hh:"%d siegħat",d:"ġurnata",dd:"%d ġranet",M:"xahar",MM:"%d xhur",y:"sena",yy:"%d sni"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n("wd/R"))},"G1/K":function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{constructor(t){this.i18n=t}transform(t){return""===t?this.i18n("n/a"):t}}},G1I9:function(t,e,n){"use strict";n.d(e,"b",(function(){return o})),n.d(e,"a",(function(){return i}));var a=n("oxzT"),r=n("mtw6");class o{constructor(t=r.a.info,e,n,a,o="Ceph"){this.type=t,this.title=e,this.message=n,this.options=a,this.application=o,this.isFinishedTask=!1,this.classes={Ceph:"ceph-icon",Prometheus:"prometheus-icon"},this.applicationClass=this.classes[this.application]}}class i extends o{constructor(t=new o){super(t.type,t.title,t.message,t.options,t.application),this.config=t,this.textClasses=["text-danger","text-info","text-success"],this.iconClasses=[a.a.warning,a.a.info,a.a.check],delete this.config,this.timestamp=(new Date).toJSON(),this.iconClass=this.iconClasses[this.type],this.textClass=this.textClasses[this.type],this.isFinishedTask=t.isFinishedTask}}},"G6Q+":function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{}},G6z8:function(t,e,n){var a=n("fR/l"),r=n("oCl/"),o=n("mTTR");t.exports=function(t){return a(t,o,r)}},GDJm:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RowHeightCache=function(){function t(){this.treeArray=[]}return t.prototype.clearCache=function(){this.treeArray=[]},t.prototype.initCache=function(t){var e=t.rows,n=t.rowHeight,a=t.detailRowHeight,r=t.externalVirtual,o=t.rowCount,i=t.rowIndexes,s=t.rowExpansions,c="function"==typeof n,l="function"==typeof a;if(!c&&isNaN(n))throw new Error("Row Height cache initialization failed. Please ensure that 'rowHeight' is a\n        valid number or function value: ("+n+") when 'scrollbarV' is enabled.");if(!l&&isNaN(a))throw new Error("Row Height cache initialization failed. Please ensure that 'detailRowHeight' is a\n        valid number or function value: ("+a+") when 'scrollbarV' is enabled.");var d=r?o:e.length;this.treeArray=new Array(d);for(var u=0;u<d;++u)this.treeArray[u]=0;for(u=0;u<d;++u){var g=e[u],f=n;c&&(f=n(g));var p=s.get(g);g&&1===p&&(f+=l?a(g,i.get(g)):a),this.update(u,f)}},t.prototype.getRowIndex=function(t){return 0===t?0:this.calcRowIndex(t)},t.prototype.update=function(t,e){if(!this.treeArray.length)throw new Error("Update at index "+t+" with value "+e+" failed:\n        Row Height cache not initialized.");var n=this.treeArray.length;for(t|=0;t<n;)this.treeArray[t]+=e,t|=t+1},t.prototype.query=function(t){if(!this.treeArray.length)throw new Error("query at index "+t+" failed: Fenwick tree array not initialized.");var e=0;for(t|=0;t>=0;)e+=this.treeArray[t],t=(t&t+1)-1;return e},t.prototype.queryBetween=function(t,e){return this.query(e)-this.query(t-1)},t.prototype.calcRowIndex=function(t){if(!this.treeArray.length)return 0;for(var e=-1,n=this.treeArray.length,a=Math.pow(2,n.toString(2).length-1);0!==a;a>>=1){var r=e+a;r<n&&t>=this.treeArray[r]&&(t-=this.treeArray[r],e=r)}return e+1},t}()},GDhZ:function(t,e,n){var a=n("wF/u"),r=n("mwIZ"),o=n("hgQt"),i=n("9ggG"),s=n("CMye"),c=n("IOzZ"),l=n("9Nap");t.exports=function(t,e){return i(t)&&s(e)?c(l(t),e):function(n){var i=r(n,t);return void 0===i&&i===e?o(n,t):a(e,i,3)}}},GNiM:function(t,e,n){var a=n("I01J"),r=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,o=/\\(\\)?/g,i=a((function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(r,(function(t,n,a,r){e.push(a?r.replace(o,"$1"):n||t)})),e}));t.exports=i},GS7A:function(t,e,n){"use strict";n.d(e,"b",(function(){return a})),n.d(e,"c",(function(){return r})),n.d(e,"a",(function(){return o})),n.d(e,"e",(function(){return s})),n.d(e,"f",(function(){return c})),n.d(e,"g",(function(){return d})),n.d(e,"h",(function(){return l})),n.d(e,"i",(function(){return u})),n.d(e,"j",(function(){return i})),n.d(e,"d",(function(){return f})),n.d(e,"k",(function(){return p})),n.d(e,"l",(function(){return m}));class a{}class r{}const o="*";function i(t,e){return{type:7,name:t,definitions:e,options:{}}}function s(t,e=null){return{type:4,styles:e,timings:t}}function c(t,e=null){return{type:2,steps:t,options:e}}function l(t){return{type:6,styles:t,offset:null}}function d(t,e,n){return{type:0,name:t,styles:e,options:n}}function u(t,e,n=null){return{type:1,expr:t,animation:e,options:n}}function g(t){Promise.resolve(null).then(t)}class f{constructor(t=0,e=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this.parentPlayer=null,this.totalTime=t+e}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){g(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(t=>t()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}reset(){}setPosition(t){}getPosition(){return 0}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}class p{constructor(t){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=t;let e=0,n=0,a=0;const r=this.players.length;0==r?g(()=>this._onFinish()):this.players.forEach(t=>{t.onDone(()=>{++e==r&&this._onFinish()}),t.onDestroy(()=>{++n==r&&this._onDestroy()}),t.onStart(()=>{++a==r&&this._onStart()})}),this.totalTime=this.players.reduce((t,e)=>Math.max(t,e.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}init(){this.players.forEach(t=>t.init())}onStart(t){this._onStartFns.push(t)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(t=>t()),this._onStartFns=[])}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(t=>t.play())}pause(){this.players.forEach(t=>t.pause())}restart(){this.players.forEach(t=>t.restart())}finish(){this._onFinish(),this.players.forEach(t=>t.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(t=>t.destroy()),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}reset(){this.players.forEach(t=>t.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(t){const e=t*this.totalTime;this.players.forEach(t=>{const n=t.totalTime?Math.min(1,e/t.totalTime):1;t.setPosition(n)})}getPosition(){let t=0;return this.players.forEach(e=>{const n=e.getPosition();t=Math.min(n,t)}),t}beforeDestroy(){this.players.forEach(t=>{t.beforeDestroy&&t.beforeDestroy()})}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}const m="!"},GarU:function(t,e){t.exports=function(t,e,n){if(!(t instanceof e))throw TypeError("Incorrect "+(n?n+" ":"")+"invocation");return t}},GgAd:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{constructor(){}ngOnChanges(){this.usedPercentage=Math.round(this.usedBytes/this.totalBytes*100),this.freePercentage=100-this.usedPercentage,this.freeBytes=this.totalBytes-this.usedBytes}}},Gi0A:function(t,e,n){var a=n("QqLw"),r=n("ExA7");t.exports=function(t){return r(t)&&"[object Map]"==a(t)}},Gi4w:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("7o/Q");function r(t,e){return n=>n.lift(new o(t,e,n))}class o{constructor(t,e,n){this.predicate=t,this.thisArg=e,this.source=n}call(t,e){return e.subscribe(new i(t,this.predicate,this.thisArg,this.source))}}class i extends a.a{constructor(t,e,n,a){super(t),this.predicate=e,this.thisArg=n,this.source=a,this.index=0,this.thisArg=n||this}notifyComplete(t){this.destination.next(t),this.destination.complete()}_next(t){let e=!1;try{e=this.predicate.call(this.thisArg,t,this.index++,this.source)}catch(n){return void this.destination.error(n)}e||this.notifyComplete(!1)}_complete(){this.notifyComplete(!0)}}},GiVz:function(t,e,n){"use strict";n.d(e,"a",(function(){return We})),n.d(e,"b",(function(){return Ue}));var a=n("SVse"),r=n("8Y7J");class o{constructor(t,e){this.value=t,this.sourceSpan=e}visit(t,e){return t.visitText(this,e)}}class i{constructor(t,e,n,a,r){this.switchValue=t,this.type=e,this.cases=n,this.sourceSpan=a,this.switchValueSourceSpan=r}visit(t,e){return t.visitExpansion(this,e)}}class s{constructor(t,e,n,a,r){this.value=t,this.expression=e,this.sourceSpan=n,this.valueSourceSpan=a,this.expSourceSpan=r}visit(t,e){return t.visitExpansionCase(this,e)}}class c{constructor(t,e,n,a){this.name=t,this.value=e,this.sourceSpan=n,this.valueSpan=a}visit(t,e){return t.visitAttribute(this,e)}}class l{constructor(t,e,n,a,r=null,o=null){this.name=t,this.attrs=e,this.children=n,this.sourceSpan=a,this.startSourceSpan=r,this.endSourceSpan=o}visit(t,e){return t.visitElement(this,e)}}class d{constructor(t,e){this.value=t,this.sourceSpan=e}visit(t,e){return t.visitComment(this,e)}}function u(t,e,n=null){const a=[],r=t.visit?e=>t.visit(e,n)||e.visit(t,n):e=>e.visit(t,n);return e.forEach(t=>{const e=r(t);e&&a.push(e)}),a}class g{constructor(t,e,n,a,r,o){this.nodes=t,this.placeholders=e,this.placeholderToMessage=n,this.meaning=a,this.description=r,this.id=o,this.sources=t.length?[{filePath:t[0].sourceSpan.start.file.url,startLine:t[0].sourceSpan.start.line+1,startCol:t[0].sourceSpan.start.col+1,endLine:t[t.length-1].sourceSpan.end.line+1,endCol:t[0].sourceSpan.start.col+1}]:[]}}class f{constructor(t,e){this.value=t,this.sourceSpan=e}visit(t,e){return t.visitText(this,e)}}class p{constructor(t,e){this.children=t,this.sourceSpan=e}visit(t,e){return t.visitContainer(this,e)}}class m{constructor(t,e,n,a){this.expression=t,this.type=e,this.cases=n,this.sourceSpan=a}visit(t,e){return t.visitIcu(this,e)}}class h{constructor(t,e,n,a,r,o,i){this.tag=t,this.attrs=e,this.startName=n,this.closeName=a,this.children=r,this.isVoid=o,this.sourceSpan=i}visit(t,e){return t.visitTagPlaceholder(this,e)}}class b{constructor(t,e,n){this.value=t,this.name=e,this.sourceSpan=n}visit(t,e){return t.visitPlaceholder(this,e)}}class y{constructor(t,e,n){this.value=t,this.name=e,this.sourceSpan=n}visit(t,e){return t.visitIcuPlaceholder(this,e)}}class _{constructor(t,e,n,a){this.file=t,this.offset=e,this.line=n,this.col=a}toString(){return null!=this.offset?`${this.line}:${this.col}`:""}getContext(t,e){const n=this.file.content;let a=this.offset;if(null!=a){a>n.length-1&&(a=n.length-1);let r=a,o=0,i=0;for(;o<t&&a>0&&(a--,o++,"\n"!==n[a]||++i!==e););for(o=0,i=0;o<t&&r<n.length-1&&(r++,o++,"\n"!==n[r]||++i!==e););return{before:n.substring(a,this.offset),after:n.substring(this.offset,r+1)}}return null}}class O{constructor(t,e=""){this.content=t,this.url=e}}class v{constructor(t,e,n=null){this.start=t,this.end=e,this.details=n}toString(){return this.start.file.content.substring(this.start.offset,this.end.offset)}}const C=function(){var t={WARNING:0,ERROR:1};return t[t.WARNING]="WARNING",t[t.ERROR]="ERROR",t}();class P{constructor(t,e,n=C.ERROR){this.span=t,this.msg=e,this.level=n}contextualMessage(){const t=this.span.start.getContext(100,3);return t?` ("${t.before}[${C[this.level]} ->]${t.after}")`:""}toString(){const t=this.span.details?`, ${this.span.details}`:"";return`${this.msg}${this.contextualMessage()}: ${this.span.start}${t}`}}class M extends P{constructor(t,e){super(t,e)}}function x(t){return t.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}class w{constructor(t,e){this.start=t,this.end=e}}const T=new w("{{","}}");function S(t){return t>=9&&t<=32||160===t}function k(t){return 48<=t&&t<=57}function I(t){return t>=97&&t<=122||t>=65&&t<=90}const N=function(){var t={RAW_TEXT:0,ESCAPABLE_RAW_TEXT:1,PARSABLE_DATA:2};return t[t.RAW_TEXT]="RAW_TEXT",t[t.ESCAPABLE_RAW_TEXT]="ESCAPABLE_RAW_TEXT",t[t.PARSABLE_DATA]="PARSABLE_DATA",t}();function R(t){if(":"!==t[0])return[null,t];const e=t.indexOf(":",1);if(-1===e)throw new Error(`Unsupported format "${t}" expecting ":namespace:name"`);return[t.slice(1,e),t.slice(e+1)]}function A(t){return null===t?null:R(t)[0]}function E(t,e){return t?`:${t}:${e}`:e}const D={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",alefsym:"ℵ",Alpha:"Α",alpha:"α",amp:"&",and:"∧",ang:"∠",apos:"'",Aring:"Å",aring:"å",asymp:"≈",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",bdquo:"„",Beta:"Β",beta:"β",brvbar:"¦",bull:"•",cap:"∩",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",Chi:"Χ",chi:"χ",circ:"ˆ",clubs:"♣",cong:"≅",copy:"©",crarr:"↵",cup:"∪",curren:"¤",dagger:"†",Dagger:"‡",darr:"↓",dArr:"⇓",deg:"°",Delta:"Δ",delta:"δ",diams:"♦",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",empty:"∅",emsp:" ",ensp:" ",Epsilon:"Ε",epsilon:"ε",equiv:"≡",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",exist:"∃",fnof:"ƒ",forall:"∀",frac12:"½",frac14:"¼",frac34:"¾",frasl:"⁄",Gamma:"Γ",gamma:"γ",ge:"≥",gt:">",harr:"↔",hArr:"⇔",hearts:"♥",hellip:"…",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",image:"ℑ",infin:"∞",int:"∫",Iota:"Ι",iota:"ι",iquest:"¿",isin:"∈",Iuml:"Ï",iuml:"ï",Kappa:"Κ",kappa:"κ",Lambda:"Λ",lambda:"λ",lang:"⟨",laquo:"«",larr:"←",lArr:"⇐",lceil:"⌈",ldquo:"“",le:"≤",lfloor:"⌊",lowast:"∗",loz:"◊",lrm:"‎",lsaquo:"‹",lsquo:"‘",lt:"<",macr:"¯",mdash:"—",micro:"µ",middot:"·",minus:"−",Mu:"Μ",mu:"μ",nabla:"∇",nbsp:" ",ndash:"–",ne:"≠",ni:"∋",not:"¬",notin:"∉",nsub:"⊄",Ntilde:"Ñ",ntilde:"ñ",Nu:"Ν",nu:"ν",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",OElig:"Œ",oelig:"œ",Ograve:"Ò",ograve:"ò",oline:"‾",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",oplus:"⊕",or:"∨",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",otimes:"⊗",Ouml:"Ö",ouml:"ö",para:"¶",permil:"‰",perp:"⊥",Phi:"Φ",phi:"φ",Pi:"Π",pi:"π",piv:"ϖ",plusmn:"±",pound:"£",prime:"′",Prime:"″",prod:"∏",prop:"∝",Psi:"Ψ",psi:"ψ",quot:'"',radic:"√",rang:"⟩",raquo:"»",rarr:"→",rArr:"⇒",rceil:"⌉",rdquo:"”",real:"ℜ",reg:"®",rfloor:"⌋",Rho:"Ρ",rho:"ρ",rlm:"‏",rsaquo:"›",rsquo:"’",sbquo:"‚",Scaron:"Š",scaron:"š",sdot:"⋅",sect:"§",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sim:"∼",spades:"♠",sub:"⊂",sube:"⊆",sum:"∑",sup:"⊃",sup1:"¹",sup2:"²",sup3:"³",supe:"⊇",szlig:"ß",Tau:"Τ",tau:"τ",there4:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thinsp:" ",THORN:"Þ",thorn:"þ",tilde:"˜",times:"×",trade:"™",Uacute:"Ú",uacute:"ú",uarr:"↑",uArr:"⇑",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",Uuml:"Ü",uuml:"ü",weierp:"℘",Xi:"Ξ",xi:"ξ",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ",Yuml:"Ÿ",Zeta:"Ζ",zeta:"ζ",zwj:"‍",zwnj:"‌",ngsp:""},L=function(){var t={TAG_OPEN_START:0,TAG_OPEN_END:1,TAG_OPEN_END_VOID:2,TAG_CLOSE:3,TEXT:4,ESCAPABLE_RAW_TEXT:5,RAW_TEXT:6,COMMENT_START:7,COMMENT_END:8,CDATA_START:9,CDATA_END:10,ATTR_NAME:11,ATTR_VALUE:12,DOC_TYPE:13,EXPANSION_FORM_START:14,EXPANSION_CASE_VALUE:15,EXPANSION_CASE_EXP_START:16,EXPANSION_CASE_EXP_END:17,EXPANSION_FORM_END:18,EOF:19};return t[t.TAG_OPEN_START]="TAG_OPEN_START",t[t.TAG_OPEN_END]="TAG_OPEN_END",t[t.TAG_OPEN_END_VOID]="TAG_OPEN_END_VOID",t[t.TAG_CLOSE]="TAG_CLOSE",t[t.TEXT]="TEXT",t[t.ESCAPABLE_RAW_TEXT]="ESCAPABLE_RAW_TEXT",t[t.RAW_TEXT]="RAW_TEXT",t[t.COMMENT_START]="COMMENT_START",t[t.COMMENT_END]="COMMENT_END",t[t.CDATA_START]="CDATA_START",t[t.CDATA_END]="CDATA_END",t[t.ATTR_NAME]="ATTR_NAME",t[t.ATTR_VALUE]="ATTR_VALUE",t[t.DOC_TYPE]="DOC_TYPE",t[t.EXPANSION_FORM_START]="EXPANSION_FORM_START",t[t.EXPANSION_CASE_VALUE]="EXPANSION_CASE_VALUE",t[t.EXPANSION_CASE_EXP_START]="EXPANSION_CASE_EXP_START",t[t.EXPANSION_CASE_EXP_END]="EXPANSION_CASE_EXP_END",t[t.EXPANSION_FORM_END]="EXPANSION_FORM_END",t[t.EOF]="EOF",t}();class q{constructor(t,e,n){this.type=t,this.parts=e,this.sourceSpan=n}}class j extends P{constructor(t,e,n){super(n,t),this.tokenType=e}}class F{constructor(t,e){this.tokens=t,this.errors=e}}const z=/\r\n?/g;function G(t){return`Unexpected character "${0===t?"EOF":String.fromCharCode(t)}"`}function B(t){return`Unknown entity "${t}" - use the "&#<decimal>;" or  "&#x<hex>;" syntax`}class V{constructor(t){this.error=t}}class Y{constructor(t,e,n,a=T){this._file=t,this._getTagDefinition=e,this._tokenizeIcu=n,this._interpolationConfig=a,this._peek=-1,this._nextPeek=-1,this._index=-1,this._line=0,this._column=-1,this._expansionCaseStack=[],this._inInterpolation=!1,this.tokens=[],this.errors=[],this._input=t.content,this._length=t.content.length,this._advance()}_processCarriageReturns(t){return t.replace(z,"\n")}tokenize(){for(;0!==this._peek;){const e=this._getLocation();try{this._attemptCharCode(60)?this._attemptCharCode(33)?this._attemptCharCode(91)?this._consumeCdata(e):this._attemptCharCode(45)?this._consumeComment(e):this._consumeDocType(e):this._attemptCharCode(47)?this._consumeTagClose(e):this._consumeTagOpen(e):this._tokenizeIcu&&this._tokenizeExpansionForm()||this._consumeText()}catch(t){if(!(t instanceof V))throw t;this.errors.push(t.error)}}return this._beginToken(L.EOF),this._endToken([]),new F(function(t){const e=[];let n=void 0;for(let a=0;a<t.length;a++){const r=t[a];n&&n.type===L.TEXT&&r.type===L.TEXT?(n.parts[0]+=r.parts[0],n.sourceSpan.end=r.sourceSpan.end):(n=r,e.push(n))}return e}(this.tokens),this.errors)}_tokenizeExpansionForm(){if($(this._input,this._index,this._interpolationConfig))return this._consumeExpansionFormStart(),!0;if((61===(t=this._peek)||I(t)||k(t))&&this._isInExpansionForm())return this._consumeExpansionCaseStart(),!0;var t;if(125===this._peek){if(this._isInExpansionCase())return this._consumeExpansionCaseEnd(),!0;if(this._isInExpansionForm())return this._consumeExpansionFormEnd(),!0}return!1}_getLocation(){return new _(this._file,this._index,this._line,this._column)}_getSpan(t=this._getLocation(),e=this._getLocation()){return new v(t,e)}_beginToken(t,e=this._getLocation()){this._currentTokenStart=e,this._currentTokenType=t}_endToken(t,e=this._getLocation()){const n=new q(this._currentTokenType,t,new v(this._currentTokenStart,e));return this.tokens.push(n),this._currentTokenStart=null,this._currentTokenType=null,n}_createError(t,e){this._isInExpansionForm()&&(t+=' (Do you have an unescaped "{" in your template? Use "{{ \'{\' }}") to escape it.)');const n=new j(t,this._currentTokenType,e);return this._currentTokenStart=null,this._currentTokenType=null,new V(n)}_advance(){if(this._index>=this._length)throw this._createError(G(0),this._getSpan());10===this._peek?(this._line++,this._column=0):10!==this._peek&&13!==this._peek&&this._column++,this._index++,this._peek=this._index>=this._length?0:this._input.charCodeAt(this._index),this._nextPeek=this._index+1>=this._length?0:this._input.charCodeAt(this._index+1)}_attemptCharCode(t){return this._peek===t&&(this._advance(),!0)}_attemptCharCodeCaseInsensitive(t){return e=t,Z(this._peek)===Z(e)&&(this._advance(),!0);var e}_requireCharCode(t){const e=this._getLocation();if(!this._attemptCharCode(t))throw this._createError(G(this._peek),this._getSpan(e,e))}_attemptStr(t){const e=t.length;if(this._index+e>this._length)return!1;const n=this._savePosition();for(let a=0;a<e;a++)if(!this._attemptCharCode(t.charCodeAt(a)))return this._restorePosition(n),!1;return!0}_attemptStrCaseInsensitive(t){for(let e=0;e<t.length;e++)if(!this._attemptCharCodeCaseInsensitive(t.charCodeAt(e)))return!1;return!0}_requireStr(t){const e=this._getLocation();if(!this._attemptStr(t))throw this._createError(G(this._peek),this._getSpan(e))}_attemptCharCodeUntilFn(t){for(;!t(this._peek);)this._advance()}_requireCharCodeUntilFn(t,e){const n=this._getLocation();if(this._attemptCharCodeUntilFn(t),this._index-n.offset<e)throw this._createError(G(this._peek),this._getSpan(n,n))}_attemptUntilChar(t){for(;this._peek!==t;)this._advance()}_readChar(t){if(t&&38===this._peek)return this._decodeEntity();{const t=this._index;return this._advance(),this._input[t]}}_decodeEntity(){const t=this._getLocation();if(this._advance(),!this._attemptCharCode(35)){const e=this._savePosition();if(this._attemptCharCodeUntilFn(K),59!==this._peek)return this._restorePosition(e),"&";this._advance();const n=this._input.substring(t.offset+1,this._index-1),a=D[n];if(!a)throw this._createError(B(n),this._getSpan(t));return a}{const n=this._attemptCharCode(120)||this._attemptCharCode(88),a=this._getLocation().offset;if(this._attemptCharCodeUntilFn(W),59!==this._peek)throw this._createError(G(this._peek),this._getSpan());this._advance();const r=this._input.substring(a,this._index-1);try{const t=parseInt(r,n?16:10);return String.fromCharCode(t)}catch(e){const n=this._input.substring(t.offset+1,this._index-1);throw this._createError(B(n),this._getSpan(t))}}}_consumeRawText(t,e,n){let a;const r=this._getLocation();this._beginToken(t?L.ESCAPABLE_RAW_TEXT:L.RAW_TEXT,r);const o=[];for(;a=this._getLocation(),!this._attemptCharCode(e)||!n();)for(this._index>a.offset&&o.push(this._input.substring(a.offset,this._index));this._peek!==e;)o.push(this._readChar(t));return this._endToken([this._processCarriageReturns(o.join(""))],a)}_consumeComment(t){this._beginToken(L.COMMENT_START,t),this._requireCharCode(45),this._endToken([]);const e=this._consumeRawText(!1,45,()=>this._attemptStr("->"));this._beginToken(L.COMMENT_END,e.sourceSpan.end),this._endToken([])}_consumeCdata(t){this._beginToken(L.CDATA_START,t),this._requireStr("CDATA["),this._endToken([]);const e=this._consumeRawText(!1,93,()=>this._attemptStr("]>"));this._beginToken(L.CDATA_END,e.sourceSpan.end),this._endToken([])}_consumeDocType(t){this._beginToken(L.DOC_TYPE,t),this._attemptUntilChar(62),this._advance(),this._endToken([this._input.substring(t.offset+2,this._index-1)])}_consumePrefixAndName(){const t=this._index;let e=null;for(;58!==this._peek&&!(((n=this._peek)<97||122<n)&&(n<65||90<n)&&(n<48||n>57));)this._advance();var n;let a;return 58===this._peek?(this._advance(),e=this._input.substring(t,this._index-1),a=this._index):a=t,this._requireCharCodeUntilFn(U,this._index===a?1:0),[e,this._input.substring(a,this._index)]}_consumeTagOpen(t){const e=this._savePosition();let n,a;try{if(!I(this._peek))throw this._createError(G(this._peek),this._getSpan());const e=this._index;for(this._consumeTagOpenStart(t),n=this._input.substring(e,this._index),a=n.toLowerCase(),this._attemptCharCodeUntilFn(H);47!==this._peek&&62!==this._peek;)this._consumeAttributeName(),this._attemptCharCodeUntilFn(H),this._attemptCharCode(61)&&(this._attemptCharCodeUntilFn(H),this._consumeAttributeValue()),this._attemptCharCodeUntilFn(H);this._consumeTagOpenEnd()}catch(o){if(o instanceof V)return this._restorePosition(e),this._beginToken(L.TEXT,t),void this._endToken(["<"]);throw o}const r=this._getTagDefinition(n).contentType;r===N.RAW_TEXT?this._consumeRawTextWithTagClose(a,!1):r===N.ESCAPABLE_RAW_TEXT&&this._consumeRawTextWithTagClose(a,!0)}_consumeRawTextWithTagClose(t,e){const n=this._consumeRawText(e,60,()=>!!this._attemptCharCode(47)&&(this._attemptCharCodeUntilFn(H),!!this._attemptStrCaseInsensitive(t)&&(this._attemptCharCodeUntilFn(H),this._attemptCharCode(62))));this._beginToken(L.TAG_CLOSE,n.sourceSpan.end),this._endToken([null,t])}_consumeTagOpenStart(t){this._beginToken(L.TAG_OPEN_START,t);const e=this._consumePrefixAndName();this._endToken(e)}_consumeAttributeName(){this._beginToken(L.ATTR_NAME);const t=this._consumePrefixAndName();this._endToken(t)}_consumeAttributeValue(){let t;if(this._beginToken(L.ATTR_VALUE),39===this._peek||34===this._peek){const e=this._peek;this._advance();const n=[];for(;this._peek!==e;)n.push(this._readChar(!0));t=n.join(""),this._advance()}else{const e=this._index;this._requireCharCodeUntilFn(U,1),t=this._input.substring(e,this._index)}this._endToken([this._processCarriageReturns(t)])}_consumeTagOpenEnd(){const t=this._attemptCharCode(47)?L.TAG_OPEN_END_VOID:L.TAG_OPEN_END;this._beginToken(t),this._requireCharCode(62),this._endToken([])}_consumeTagClose(t){this._beginToken(L.TAG_CLOSE,t),this._attemptCharCodeUntilFn(H);const e=this._consumePrefixAndName();this._attemptCharCodeUntilFn(H),this._requireCharCode(62),this._endToken(e)}_consumeExpansionFormStart(){this._beginToken(L.EXPANSION_FORM_START,this._getLocation()),this._requireCharCode(123),this._endToken([]),this._expansionCaseStack.push(L.EXPANSION_FORM_START),this._beginToken(L.RAW_TEXT,this._getLocation());const t=this._readUntil(44);this._endToken([t],this._getLocation()),this._requireCharCode(44),this._attemptCharCodeUntilFn(H),this._beginToken(L.RAW_TEXT,this._getLocation());const e=this._readUntil(44);this._endToken([e],this._getLocation()),this._requireCharCode(44),this._attemptCharCodeUntilFn(H)}_consumeExpansionCaseStart(){this._beginToken(L.EXPANSION_CASE_VALUE,this._getLocation());const t=this._readUntil(123).trim();this._endToken([t],this._getLocation()),this._attemptCharCodeUntilFn(H),this._beginToken(L.EXPANSION_CASE_EXP_START,this._getLocation()),this._requireCharCode(123),this._endToken([],this._getLocation()),this._attemptCharCodeUntilFn(H),this._expansionCaseStack.push(L.EXPANSION_CASE_EXP_START)}_consumeExpansionCaseEnd(){this._beginToken(L.EXPANSION_CASE_EXP_END,this._getLocation()),this._requireCharCode(125),this._endToken([],this._getLocation()),this._attemptCharCodeUntilFn(H),this._expansionCaseStack.pop()}_consumeExpansionFormEnd(){this._beginToken(L.EXPANSION_FORM_END,this._getLocation()),this._requireCharCode(125),this._endToken([]),this._expansionCaseStack.pop()}_consumeText(){const t=this._getLocation();this._beginToken(L.TEXT,t);const e=[];do{this._interpolationConfig&&this._attemptStr(this._interpolationConfig.start)?(e.push(this._interpolationConfig.start),this._inInterpolation=!0):this._interpolationConfig&&this._inInterpolation&&this._attemptStr(this._interpolationConfig.end)?(e.push(this._interpolationConfig.end),this._inInterpolation=!1):e.push(this._readChar(!0))}while(!this._isTextEnd());this._endToken([this._processCarriageReturns(e.join(""))])}_isTextEnd(){if(60===this._peek||0===this._peek)return!0;if(this._tokenizeIcu&&!this._inInterpolation){if($(this._input,this._index,this._interpolationConfig))return!0;if(125===this._peek&&this._isInExpansionCase())return!0}return!1}_savePosition(){return[this._peek,this._index,this._column,this._line,this.tokens.length]}_readUntil(t){const e=this._index;return this._attemptUntilChar(t),this._input.substring(e,this._index)}_restorePosition(t){this._peek=t[0],this._index=t[1],this._column=t[2],this._line=t[3];const e=t[4];e<this.tokens.length&&(this.tokens=this.tokens.slice(0,e))}_isInExpansionCase(){return this._expansionCaseStack.length>0&&this._expansionCaseStack[this._expansionCaseStack.length-1]===L.EXPANSION_CASE_EXP_START}_isInExpansionForm(){return this._expansionCaseStack.length>0&&this._expansionCaseStack[this._expansionCaseStack.length-1]===L.EXPANSION_FORM_START}}function H(t){return!S(t)||0===t}function U(t){return S(t)||62===t||47===t||39===t||34===t||61===t}function W(t){return 59===t||0===t||!function(t){return t>=97&&t<=102||t>=65&&t<=70||k(t)}(t)}function K(t){return 59===t||0===t||!I(t)}function $(t,e,n){const a=!!n&&t.indexOf(n.start,e)===e;return 123===t.charCodeAt(e)&&!a}function Z(t){return t>=97&&t<=122?t-97+65:t}class J extends P{constructor(t,e,n){super(e,n),this.elementName=t}static create(t,e,n){return new J(t,e,n)}}class X{constructor(t,e){this.rootNodes=t,this.errors=e}}class Q{constructor(t){this.getTagDefinition=t}parse(t,e,n=!1,a=T){const r=function(t,e,n,a=!1,r=T){return new Y(new O(t,e),n,a,r).tokenize()}(t,e,this.getTagDefinition,n,a),o=new tt(r.tokens,this.getTagDefinition).build();return new X(o.rootNodes,r.errors.concat(o.errors))}}class tt{constructor(t,e){this.tokens=t,this.getTagDefinition=e,this._index=-1,this._rootNodes=[],this._errors=[],this._elementStack=[],this._advance()}build(){for(;this._peek.type!==L.EOF;)this._peek.type===L.TAG_OPEN_START?this._consumeStartTag(this._advance()):this._peek.type===L.TAG_CLOSE?this._consumeEndTag(this._advance()):this._peek.type===L.CDATA_START?(this._closeVoidElement(),this._consumeCdata(this._advance())):this._peek.type===L.COMMENT_START?(this._closeVoidElement(),this._consumeComment(this._advance())):this._peek.type===L.TEXT||this._peek.type===L.RAW_TEXT||this._peek.type===L.ESCAPABLE_RAW_TEXT?(this._closeVoidElement(),this._consumeText(this._advance())):this._peek.type===L.EXPANSION_FORM_START?this._consumeExpansion(this._advance()):this._advance();return new X(this._rootNodes,this._errors)}_advance(){const t=this._peek;return this._index<this.tokens.length-1&&this._index++,this._peek=this.tokens[this._index],t}_advanceIf(t){return this._peek.type===t?this._advance():null}_consumeCdata(t){this._consumeText(this._advance()),this._advanceIf(L.CDATA_END)}_consumeComment(t){const e=this._advanceIf(L.RAW_TEXT);this._advanceIf(L.COMMENT_END);const n=null!==e?e.parts[0].trim():null;this._addToParent(new d(n,t.sourceSpan))}_consumeExpansion(t){const e=this._advance(),n=this._advance(),a=[];for(;this._peek.type===L.EXPANSION_CASE_VALUE;){const t=this._parseExpansionCase();if(!t)return;a.push(t)}if(this._peek.type!==L.EXPANSION_FORM_END)return void this._errors.push(J.create(null,this._peek.sourceSpan,"Invalid ICU message. Missing '}'."));const r=new v(t.sourceSpan.start,this._peek.sourceSpan.end);this._addToParent(new i(e.parts[0],n.parts[0],a,r,e.sourceSpan)),this._advance()}_parseExpansionCase(){const t=this._advance();if(this._peek.type!==L.EXPANSION_CASE_EXP_START)return this._errors.push(J.create(null,this._peek.sourceSpan,"Invalid ICU message. Missing '{'.")),null;const e=this._advance(),n=this._collectExpansionExpTokens(e);if(!n)return null;const a=this._advance();n.push(new q(L.EOF,[],a.sourceSpan));const r=new tt(n,this.getTagDefinition).build();if(r.errors.length>0)return this._errors=this._errors.concat(r.errors),null;const o=new v(t.sourceSpan.start,a.sourceSpan.end),i=new v(e.sourceSpan.start,a.sourceSpan.end);return new s(t.parts[0],r.rootNodes,o,t.sourceSpan,i)}_collectExpansionExpTokens(t){const e=[],n=[L.EXPANSION_CASE_EXP_START];for(;;){if(this._peek.type!==L.EXPANSION_FORM_START&&this._peek.type!==L.EXPANSION_CASE_EXP_START||n.push(this._peek.type),this._peek.type===L.EXPANSION_CASE_EXP_END){if(!et(n,L.EXPANSION_CASE_EXP_START))return this._errors.push(J.create(null,t.sourceSpan,"Invalid ICU message. Missing '}'.")),null;if(n.pop(),0===n.length)return e}if(this._peek.type===L.EXPANSION_FORM_END){if(!et(n,L.EXPANSION_FORM_START))return this._errors.push(J.create(null,t.sourceSpan,"Invalid ICU message. Missing '}'.")),null;n.pop()}if(this._peek.type===L.EOF)return this._errors.push(J.create(null,t.sourceSpan,"Invalid ICU message. Missing '}'.")),null;e.push(this._advance())}}_consumeText(t){let e=t.parts[0];if(e.length>0&&"\n"===e[0]){const t=this._getParentElement();null!==t&&0===t.children.length&&this.getTagDefinition(t.name).ignoreFirstLf&&(e=e.substring(1))}e.length>0&&this._addToParent(new o(e,t.sourceSpan))}_closeVoidElement(){const t=this._getParentElement();t&&this.getTagDefinition(t.name).isVoid&&this._elementStack.pop()}_consumeStartTag(t){const e=t.parts[0],n=t.parts[1],a=[];for(;this._peek.type===L.ATTR_NAME;)a.push(this._consumeAttr(this._advance()));const r=this._getElementFullName(e,n,this._getParentElement());let o=!1;if(this._peek.type===L.TAG_OPEN_END_VOID){this._advance(),o=!0;const e=this.getTagDefinition(r);e.canSelfClose||null!==A(r)||e.isVoid||this._errors.push(J.create(r,t.sourceSpan,`Only void and foreign elements can be self closed "${t.parts[1]}"`))}else this._peek.type===L.TAG_OPEN_END&&(this._advance(),o=!1);const i=new v(t.sourceSpan.start,this._peek.sourceSpan.start),s=new l(r,a,[],i,i,void 0);this._pushElement(s),o&&(this._popElement(r),s.endSourceSpan=i)}_pushElement(t){const e=this._getParentElement();e&&this.getTagDefinition(e.name).isClosedByChild(t.name)&&this._elementStack.pop();const n=this.getTagDefinition(t.name),{parent:a,container:r}=this._getParentElementSkippingContainers();if(a&&n.requireExtraParent(a.name)){const e=new l(n.parentToAdd,[],[],t.sourceSpan,t.startSourceSpan,t.endSourceSpan);this._insertBeforeContainer(a,r,e)}this._addToParent(t),this._elementStack.push(t)}_consumeEndTag(t){const e=this._getElementFullName(t.parts[0],t.parts[1],this._getParentElement());this._getParentElement()&&(this._getParentElement().endSourceSpan=t.sourceSpan),this.getTagDefinition(e).isVoid?this._errors.push(J.create(e,t.sourceSpan,`Void elements do not have end tags "${t.parts[1]}"`)):this._popElement(e)||this._errors.push(J.create(e,t.sourceSpan,`Unexpected closing tag "${e}". It may happen when the tag has already been closed by another tag. For more info see https://www.w3.org/TR/html5/syntax.html#closing-elements-that-have-implied-end-tags`))}_popElement(t){for(let e=this._elementStack.length-1;e>=0;e--){const n=this._elementStack[e];if(n.name===t)return this._elementStack.splice(e,this._elementStack.length-e),!0;if(!this.getTagDefinition(n.name).closedByParent)return!1}return!1}_consumeAttr(t){const e=E(t.parts[0],t.parts[1]);let n=t.sourceSpan.end,a="",r=void 0;if(this._peek.type===L.ATTR_VALUE){const t=this._advance();a=t.parts[0],n=t.sourceSpan.end,r=t.sourceSpan}return new c(e,a,new v(t.sourceSpan.start,n),r)}_getParentElement(){return this._elementStack.length>0?this._elementStack[this._elementStack.length-1]:null}_getParentElementSkippingContainers(){let t=null;for(let e=this._elementStack.length-1;e>=0;e--){if("ng-container"!==R(this._elementStack[e].name)[1])return{parent:this._elementStack[e],container:t};t=this._elementStack[e]}return{parent:null,container:t}}_addToParent(t){const e=this._getParentElement();null!==e?e.children.push(t):this._rootNodes.push(t)}_insertBeforeContainer(t,e,n){if(e){if(t){const a=t.children.indexOf(e);t.children[a]=n}else this._rootNodes.push(n);n.children.push(e),this._elementStack.splice(this._elementStack.indexOf(e),0,n)}else this._addToParent(n),this._elementStack.push(n)}_getElementFullName(t,e,n){return null===t&&null===(t=this.getTagDefinition(e).implicitNamespacePrefix)&&null!==n&&(t=A(n.name)),E(t,e)}}function et(t,e){return t.length>0&&t[t.length-1]===e}class nt{constructor(){this.closedByParent=!1,this.contentType=N.PARSABLE_DATA,this.isVoid=!1,this.ignoreFirstLf=!1,this.canSelfClose=!0}requireExtraParent(t){return!1}isClosedByChild(t){return!1}}const at=new nt;function rt(t){return at}class ot{constructor({closedByChildren:t,requiredParents:e,implicitNamespacePrefix:n,contentType:a=N.PARSABLE_DATA,closedByParent:r=!1,isVoid:o=!1,ignoreFirstLf:i=!1}={}){this.closedByChildren={},this.closedByParent=!1,this.canSelfClose=!1,t&&t.length>0&&t.forEach(t=>this.closedByChildren[t]=!0),this.isVoid=o,this.closedByParent=r||o,e&&e.length>0&&(this.requiredParents={},this.parentToAdd=e[0],e.forEach(t=>this.requiredParents[t]=!0)),this.implicitNamespacePrefix=n||null,this.contentType=a,this.ignoreFirstLf=i}requireExtraParent(t){if(!this.requiredParents)return!1;if(!t)return!0;const e=t.toLowerCase();return!("template"===e||"ng-template"===t)&&!0!==this.requiredParents[e]}isClosedByChild(t){return this.isVoid||t.toLowerCase()in this.closedByChildren}}const it={base:new ot({isVoid:!0}),meta:new ot({isVoid:!0}),area:new ot({isVoid:!0}),embed:new ot({isVoid:!0}),link:new ot({isVoid:!0}),img:new ot({isVoid:!0}),input:new ot({isVoid:!0}),param:new ot({isVoid:!0}),hr:new ot({isVoid:!0}),br:new ot({isVoid:!0}),source:new ot({isVoid:!0}),track:new ot({isVoid:!0}),wbr:new ot({isVoid:!0}),p:new ot({closedByChildren:["address","article","aside","blockquote","div","dl","fieldset","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","main","nav","ol","p","pre","section","table","ul"],closedByParent:!0}),thead:new ot({closedByChildren:["tbody","tfoot"]}),tbody:new ot({closedByChildren:["tbody","tfoot"],closedByParent:!0}),tfoot:new ot({closedByChildren:["tbody"],closedByParent:!0}),tr:new ot({closedByChildren:["tr"],requiredParents:["tbody","tfoot","thead"],closedByParent:!0}),td:new ot({closedByChildren:["td","th"],closedByParent:!0}),th:new ot({closedByChildren:["td","th"],closedByParent:!0}),col:new ot({requiredParents:["colgroup"],isVoid:!0}),svg:new ot({implicitNamespacePrefix:"svg"}),math:new ot({implicitNamespacePrefix:"math"}),li:new ot({closedByChildren:["li"],closedByParent:!0}),dt:new ot({closedByChildren:["dt","dd"]}),dd:new ot({closedByChildren:["dt","dd"],closedByParent:!0}),rb:new ot({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),rt:new ot({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),rtc:new ot({closedByChildren:["rb","rtc","rp"],closedByParent:!0}),rp:new ot({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),optgroup:new ot({closedByChildren:["optgroup"],closedByParent:!0}),option:new ot({closedByChildren:["option","optgroup"],closedByParent:!0}),pre:new ot({ignoreFirstLf:!0}),listing:new ot({ignoreFirstLf:!0}),style:new ot({contentType:N.RAW_TEXT}),script:new ot({contentType:N.RAW_TEXT}),title:new ot({contentType:N.ESCAPABLE_RAW_TEXT}),textarea:new ot({contentType:N.ESCAPABLE_RAW_TEXT,ignoreFirstLf:!0})},st=new ot;function ct(t){return it[t.toLowerCase()]||st}class lt extends class{visitText(t,e){}visitContainer(t,e){t.children.forEach(t=>t.visit(this))}visitIcu(t,e){Object.keys(t.cases).forEach(e=>{t.cases[e].visit(this)})}visitTagPlaceholder(t,e){t.children.forEach(t=>t.visit(this))}visitPlaceholder(t,e){}visitIcuPlaceholder(t,e){}}{constructor(t,e){super(),this.mapName=e,this.internalToPublic={},this.publicToNextId={},this.publicToInternal={},t.nodes.forEach(t=>t.visit(this))}toPublicName(t){return this.internalToPublic.hasOwnProperty(t)?this.internalToPublic[t]:null}toInternalName(t){return this.publicToInternal.hasOwnProperty(t)?this.publicToInternal[t]:null}visitText(t,e){return null}visitTagPlaceholder(t,e){this.visitPlaceholderName(t.startName),super.visitTagPlaceholder(t,e),this.visitPlaceholderName(t.closeName)}visitPlaceholder(t,e){this.visitPlaceholderName(t.name)}visitIcuPlaceholder(t,e){this.visitPlaceholderName(t.name)}visitPlaceholderName(t){if(!t||this.internalToPublic.hasOwnProperty(t))return;let e=this.mapName(t);if(this.publicToInternal.hasOwnProperty(e)){const t=this.publicToNextId[e];this.publicToNextId[e]=t+1,e=`${e}_${t}`}else this.publicToNextId[e]=1;this.internalToPublic[t]=e,this.publicToInternal[e]=t}}const dt=new a.I18nSelectPipe;class ut{constructor(t,e){this.params=e,this.i18nPluralPipe=new a.I18nPluralPipe(new a.NgLocaleLocalization(t))}visitElement(t,e){return ct(t.name).isVoid?`<${t.name}${this.serializeNodes(t.attrs," ")}/>`:`<${t.name}${this.serializeNodes(t.attrs," ")}>${this.serializeNodes(t.children)}</${t.name}>`}visitAttribute(t,e){return`${t.name}="${t.value}"`}visitText(t,e){return t.value}visitComment(t,e){return`\x3c!--${t.value}--\x3e`}visitExpansion(t,e){const n={};switch(t.cases.forEach(t=>n[t.value]=this.serializeNodes(t.expression)),t.type){case"select":return dt.transform(this.params[t.switchValue]||"",n);case"plural":return this.i18nPluralPipe.transform(this.params[t.switchValue],n)}throw new Error(`Unknown expansion type "${t.type}"`)}visitExpansionCase(t,e){return` ${t.value} {${this.serializeNodes(t.expression)}}`}serializeNodes(t,e=""){return 0===t.length?"":e+t.map(t=>t.visit(this,null)).join(e)}}function gt(t){return t.id||function(t){const e=It(t),n=function(t,e){const n=Array(t.length+3>>>2);for(let a=0;a<n.length;a++)n[a]=wt(t,4*a,e);return n}(e,Ot.Big),a=8*e.length,r=new Array(80);let[o,i,s,c,l]=[1732584193,4023233417,2562383102,271733878,3285377520];n[a>>5]|=128<<24-a%32,n[15+(a+64>>9<<4)]=a;for(let d=0;d<n.length;d+=16){const[t,e,a,u,g]=[o,i,s,c,l];for(let f=0;f<80;f++){r[f]=f<16?n[d+f]:Mt(r[f-3]^r[f-8]^r[f-14]^r[f-16],1);const[t,e]=ht(f,i,s,c),a=[Mt(o,5),t,l,e,r[f]].reduce(vt);[l,c,s,i,o]=[c,s,Mt(i,30),o,a]}[o,i,s,c,l]=[vt(o,t),vt(i,e),vt(s,a),vt(c,u),vt(l,g)]}return function(t){let e="";for(let n=0;n<t.length;n++){const a=xt(t,n);e+=(a>>>4).toString(16)+(15&a).toString(16)}return e.toLowerCase()}(Tt([o,i,s,c,l]))}((e=t.nodes,e.map(t=>t.visit(pt,null))).join("")+`[${t.meaning}]`);var e}class ft{visitText(t,e){return t.value}visitContainer(t,e){return`[${t.children.map(t=>t.visit(this)).join(", ")}]`}visitIcu(t,e){const n=Object.keys(t.cases).map(e=>`${e} {${t.cases[e].visit(this)}}`);return`{${t.expression}, ${t.type}, ${n.join(", ")}}`}visitTagPlaceholder(t,e){return t.isVoid?`<ph tag name="${t.startName}"/>`:`<ph tag name="${t.startName}">${t.children.map(t=>t.visit(this)).join(", ")}</ph name="${t.closeName}">`}visitPlaceholder(t,e){return t.value?`<ph name="${t.name}">${t.value}</ph>`:`<ph name="${t.name}"/>`}visitIcuPlaceholder(t,e){return`<ph icu name="${t.name}">${t.value.visit(this)}</ph>`}}const pt=new ft;class mt extends ft{visitIcu(t,e){const n=Object.keys(t.cases).map(e=>`${e} {${t.cases[e].visit(this)}}`);return`{${t.type}, ${n.join(", ")}}`}}function ht(t,e,n,a){return t<20?[e&n|~e&a,1518500249]:t<40?[e^n^a,1859775393]:t<60?[e&n|e&a|n&a,2400959708]:[e^n^a,3395469782]}function bt(t){const e=It(t);let[n,a]=[yt(e,0),yt(e,102072)];return 0!==n||0!==a&&1!==a||(n^=319790063,a^=-1801410264),[n,a]}function yt(t,e){let n,[a,r]=[2654435769,2654435769];const o=t.length;for(n=0;n+12<=o;n+=12)a=vt(a,wt(t,n,Ot.Little)),r=vt(r,wt(t,n+4,Ot.Little)),e=vt(e,wt(t,n+8,Ot.Little)),[a,r,e]=_t([a,r,e]);return a=vt(a,wt(t,n,Ot.Little)),r=vt(r,wt(t,n+4,Ot.Little)),e=vt(e,o),_t([a,r,e=vt(e,wt(t,n+8,Ot.Little)<<8)])[2]}function _t([t,e,n]){return t=Pt(t,e),t=Pt(t,n),t^=n>>>13,e=Pt(e,n),e=Pt(e,t),e^=t<<8,n=Pt(n,t),n=Pt(n,e),n^=e>>>13,t=Pt(t,e),t=Pt(t,n),t^=n>>>12,e=Pt(e,n),e=Pt(e,t),e^=t<<16,n=Pt(n,t),n=Pt(n,e),n^=e>>>5,t=Pt(t,e),t=Pt(t,n),t^=n>>>3,e=Pt(e,n),e=Pt(e,t),e^=t<<10,n=Pt(n,t),n=Pt(n,e),[t,e,n^=e>>>15]}const Ot=function(){var t={Little:0,Big:1};return t[t.Little]="Little",t[t.Big]="Big",t}();function vt(t,e){return Ct(t,e)[1]}function Ct(t,e){const n=(65535&t)+(65535&e),a=(t>>>16)+(e>>>16)+(n>>>16);return[a>>>16,a<<16|65535&n]}function Pt(t,e){const n=(65535&t)-(65535&e);return(t>>16)-(e>>16)+(n>>16)<<16|65535&n}function Mt(t,e){return t<<e|t>>>32-e}function xt(t,e){return e>=t.length?0:255&t.charCodeAt(e)}function wt(t,e,n){let a=0;if(n===Ot.Big)for(let r=0;r<4;r++)a+=xt(t,e+r)<<24-8*r;else for(let r=0;r<4;r++)a+=xt(t,e+r)<<8*r;return a}function Tt(t){return t.reduce((t,e)=>t+function(t){let e="";for(let n=0;n<4;n++)e+=String.fromCharCode(t>>>8*(3-n)&255);return e}(e),"")}function St(t,e){let n="";const a=Math.max(t.length,e.length);for(let r=0,o=0;r<a||o;r++){const a=o+ +(t[r]||0)+ +(e[r]||0);a>=10?(o=1,n+=a-10):(o=0,n+=a)}return n}function kt(t,e){let n="",a=e;for(;0!==t;t>>>=1)1&t&&(n=St(n,a)),a=St(a,a);return n}function It(t){let e="";for(let n=0;n<t.length;n++){let a=t.charCodeAt(n);if(a>=55296&&a<=56319&&t.length>n+1){const e=t.charCodeAt(n+1);e>=56320&&e<=57343&&(n++,a=(a-55296<<10)+e-56320+65536)}a<=127?e+=String.fromCharCode(a):a<=2047?e+=String.fromCharCode(a>>6&31|192,63&a|128):a<=65535?e+=String.fromCharCode(a>>12|224,a>>6&63|128,63&a|128):a<=2097151&&(e+=String.fromCharCode(a>>18&7|240,a>>12&63|128,a>>6&63|128,63&a|128))}return e}function Nt(t){const e=new At,{msgIdToHtml:n,errors:a}=e.parse(t),r={},o=new Et;if(Object.keys(n).forEach(t=>{const{i18nNodes:e,errors:i}=o.convert(n[t]);a.push(...i),r[t]=e}),a.length)throw new Error(`xliff parse errors:\n${a.join("\n")}`);return r}const Rt=gt;class At{parse(t){this._unitMlString=null,this._msgIdToHtml={};const e=new Q(rt).parse(t,"",!1);return this._errors=e.errors,u(this,e.rootNodes,null),{msgIdToHtml:this._msgIdToHtml,errors:this._errors}}visitElement(t,e){switch(t.name){case"trans-unit":this._unitMlString=null;const e=t.attrs.find(t=>"id"===t.name);if(e){const n=e.value;this._msgIdToHtml.hasOwnProperty(n)?this._addError(t,`Duplicated translations for msg ${n}`):(u(this,t.children,null),"string"==typeof this._unitMlString?this._msgIdToHtml[n]=this._unitMlString:this._addError(t,`Message ${n} misses a translation`))}else this._addError(t,'<trans-unit> misses the "id" attribute');break;case"source":break;case"target":const n=t.startSourceSpan.start.file.content.slice(t.startSourceSpan.end.offset,t.endSourceSpan.start.offset);this._unitMlString=n;break;case"file":u(this,t.children,null);break;default:u(this,t.children,null)}}visitAttribute(t,e){}visitText(t,e){}visitComment(t,e){}visitExpansion(t,e){}visitExpansionCase(t,e){}_addError(t,e){this._errors.push(new M(t.sourceSpan,e))}}class Et{convert(t){const e=new Q(rt).parse(t,"",!0);return this._errors=e.errors,{i18nNodes:this._errors.length>0||0===e.rootNodes.length?[]:u(this,e.rootNodes),errors:this._errors}}visitText(t,e){return new f(t.value,t.sourceSpan)}visitElement(t,e){if("x"===t.name){const e=t.attrs.find(t=>"id"===t.name);if(e)return new b("",e.value,t.sourceSpan);this._addError(t,'<x> misses the "id" attribute')}else this._addError(t,"Unexpected tag");return null}visitExpansion(t,e){const n={};return u(this,t.cases).forEach(e=>{n[e.value]=new p(e.nodes,t.sourceSpan)}),new m(t.switchValue,t.type,n,t.sourceSpan)}visitExpansionCase(t,e){return{value:t.value,nodes:u(this,t.expression)}}visitComment(t,e){}visitAttribute(t,e){}_addError(t,e){this._errors.push(new M(t.sourceSpan,e))}}function Dt(t){const e=new qt,{msgIdToHtml:n,errors:a}=e.parse(t),r={},o=new jt;if(Object.keys(n).forEach(t=>{const{i18nNodes:e,errors:i}=o.convert(n[t]);a.push(...i),r[t]=e}),a.length)throw new Error(`xliff2 parse errors:\n${a.join("\n")}`);return r}const Lt=function(t){if(t.id)return t.id;const e=new mt;return function(t,e){let[n,a]=bt(t);if(e){const[t,r]=bt(e);[n,a]=function([t,e],[n,a]){const[r,o]=Ct(e,a);return[vt(vt(t,n),r),o]}(function([t,e],n){return[t<<n|e>>>32-n,e<<n|t>>>32-n]}([n,a],1),[t,r])}return function(t){let e="",n="1";for(let a=t.length-1;a>=0;a--)e=St(e,kt(xt(t,a),n)),n=kt(256,n);return e.split("").reverse().join("")}(Tt([2147483647&n,a]))}(t.nodes.map(t=>t.visit(e,null)).join(""),t.meaning)};class qt{parse(t){this._unitMlString=null,this._msgIdToHtml={};const e=new Q(rt).parse(t,"",!1);return this._errors=e.errors,u(this,e.rootNodes,null),{msgIdToHtml:this._msgIdToHtml,errors:this._errors}}visitElement(t,e){switch(t.name){case"unit":this._unitMlString=null;const e=t.attrs.find(t=>"id"===t.name);if(e){const n=e.value;this._msgIdToHtml.hasOwnProperty(n)?this._addError(t,`Duplicated translations for msg ${n}`):(u(this,t.children,null),"string"==typeof this._unitMlString?this._msgIdToHtml[n]=this._unitMlString:this._addError(t,`Message ${n} misses a translation`))}else this._addError(t,'<unit> misses the "id" attribute');break;case"source":break;case"target":const n=t.startSourceSpan.start.file.content.slice(t.startSourceSpan.end.offset,t.endSourceSpan.start.offset);this._unitMlString=n;break;case"xliff":const a=t.attrs.find(t=>"version"===t.name);if(a){const e=a.value;"2.0"!==e?this._addError(t,`The XLIFF file version ${e} is not compatible with XLIFF 2.0 serializer`):u(this,t.children,null)}break;default:u(this,t.children,null)}}visitAttribute(t,e){}visitText(t,e){}visitComment(t,e){}visitExpansion(t,e){}visitExpansionCase(t,e){}_addError(t,e){this._errors.push(new M(t.sourceSpan,e))}}class jt{convert(t){const e=new Q(rt).parse(t,"",!0);return this._errors=e.errors,{i18nNodes:this._errors.length>0||0===e.rootNodes.length?[]:[].concat(...u(this,e.rootNodes)),errors:this._errors}}visitText(t,e){return new f(t.value,t.sourceSpan)}visitElement(t,e){switch(t.name){case"ph":const e=t.attrs.find(t=>"equiv"===t.name);if(e)return[new b("",e.value,t.sourceSpan)];this._addError(t,'<ph> misses the "equiv" attribute');break;case"pc":const n=t.attrs.find(t=>"equivStart"===t.name),a=t.attrs.find(t=>"equivEnd"===t.name);if(n){if(a){const e=a.value;return[].concat(new b("",n.value,t.sourceSpan),...t.children.map(t=>t.visit(this,null)),new b("",e,t.sourceSpan))}this._addError(t,'<ph> misses the "equivEnd" attribute')}else this._addError(t,'<ph> misses the "equivStart" attribute');break;default:this._addError(t,"Unexpected tag")}return null}visitExpansion(t,e){const n={};return u(this,t.cases).forEach(e=>{n[e.value]=new p(e.nodes,t.sourceSpan)}),new m(t.switchValue,t.type,n,t.sourceSpan)}visitExpansionCase(t,e){return{value:t.value,nodes:[].concat(...u(this,t.expression))}}visitComment(t,e){}visitAttribute(t,e){}_addError(t,e){this._errors.push(new M(t.sourceSpan,e))}}function Ft(t){return t.toUpperCase().replace(/[^A-Z0-9_]/g,"_")}function zt(t){const e=new Vt,{msgIdToHtml:n,errors:a}=e.parse(t);if(a.length)throw new Error(`xtb parse errors:\n${a.join("\n")}`);const r={},o=new Yt;return Object.keys(n).forEach(t=>{var e,a;e=r,a=t,Object.defineProperty(e,a,{configurable:!0,enumerable:!0,get:()=>{const r=(()=>{const{i18nNodes:e,errors:a}=o.convert(n[t]);if(a.length)throw new Error(`xtb parse errors:\n${a.join("\n")}`);return e})();return Object.defineProperty(e,a,{enumerable:!0,value:r}),r},set:t=>{throw new Error("Could not overwrite an XTB translation")}})}),r}const Gt=gt,Bt=function(t){return new lt(t,Ft)};class Vt{parse(t){this._bundleDepth=0,this._msgIdToHtml={};const e=new Q(rt).parse(t,"",!1);return this._errors=e.errors,u(this,e.rootNodes),{msgIdToHtml:this._msgIdToHtml,errors:this._errors}}visitElement(t,e){switch(t.name){case"translationbundle":this._bundleDepth++,this._bundleDepth>1&&this._addError(t,"<translationbundle> elements can not be nested"),u(this,t.children,null),this._bundleDepth--;break;case"translation":const e=t.attrs.find(t=>"id"===t.name);if(e){const n=e.value;if(this._msgIdToHtml.hasOwnProperty(n))this._addError(t,`Duplicated translations for msg ${n}`);else{const e=t.startSourceSpan.start.file.content.slice(t.startSourceSpan.end.offset,t.endSourceSpan.start.offset);this._msgIdToHtml[n]=e}}else this._addError(t,'<translation> misses the "id" attribute');break;default:this._addError(t,"Unexpected tag")}}visitAttribute(t,e){}visitText(t,e){}visitComment(t,e){}visitExpansion(t,e){}visitExpansionCase(t,e){}_addError(t,e){this._errors.push(new M(t.sourceSpan,e))}}class Yt{convert(t){const e=new Q(rt).parse(t,"",!0);return this._errors=e.errors,{i18nNodes:this._errors.length>0||0===e.rootNodes.length?[]:u(this,e.rootNodes),errors:this._errors}}visitText(t,e){return new f(t.value,t.sourceSpan)}visitExpansion(t,e){const n={};return u(this,t.cases).forEach(e=>{n[e.value]=new p(e.nodes,t.sourceSpan)}),new m(t.switchValue,t.type,n,t.sourceSpan)}visitExpansionCase(t,e){return{value:t.value,nodes:u(this,t.expression)}}visitElement(t,e){if("ph"===t.name){const e=t.attrs.find(t=>"name"===t.name);if(e)return new b("",e.value,t.sourceSpan);this._addError(t,'<ph> misses the "name" attribute')}else this._addError(t,"Unexpected tag");return null}visitComment(t,e){}visitAttribute(t,e){}_addError(t,e){this._errors.push(new M(t.sourceSpan,e))}}class Ht{constructor(t,e,n,a){this.input=e,this.errLocation=n,this.ctxLocation=a,this.message=`Parser Error: ${t} ${n} [${e}] in ${a}`}}class Ut{constructor(t,e){this.start=t,this.end=e}}class Wt{constructor(t){this.span=t}visit(t,e=null){return null}toString(){return"AST"}}class Kt extends Wt{constructor(t,e,n,a){super(t),this.prefix=e,this.uninterpretedExpression=n,this.location=a}visit(t,e=null){return t.visitQuote(this,e)}toString(){return"Quote"}}class $t extends Wt{visit(t,e=null){}}class Zt extends Wt{visit(t,e=null){return t.visitImplicitReceiver(this,e)}}class Jt extends Wt{constructor(t,e){super(t),this.expressions=e}visit(t,e=null){return t.visitChain(this,e)}}class Xt extends Wt{constructor(t,e,n,a){super(t),this.condition=e,this.trueExp=n,this.falseExp=a}visit(t,e=null){return t.visitConditional(this,e)}}class Qt extends Wt{constructor(t,e,n){super(t),this.receiver=e,this.name=n}visit(t,e=null){return t.visitPropertyRead(this,e)}}class te extends Wt{constructor(t,e,n,a){super(t),this.receiver=e,this.name=n,this.value=a}visit(t,e=null){return t.visitPropertyWrite(this,e)}}class ee extends Wt{constructor(t,e,n){super(t),this.receiver=e,this.name=n}visit(t,e=null){return t.visitSafePropertyRead(this,e)}}class ne extends Wt{constructor(t,e,n){super(t),this.obj=e,this.key=n}visit(t,e=null){return t.visitKeyedRead(this,e)}}class ae extends Wt{constructor(t,e,n,a){super(t),this.obj=e,this.key=n,this.value=a}visit(t,e=null){return t.visitKeyedWrite(this,e)}}class re extends Wt{constructor(t,e,n,a){super(t),this.exp=e,this.name=n,this.args=a}visit(t,e=null){return t.visitPipe(this,e)}}class oe extends Wt{constructor(t,e){super(t),this.value=e}visit(t,e=null){return t.visitLiteralPrimitive(this,e)}}class ie extends Wt{constructor(t,e){super(t),this.expressions=e}visit(t,e=null){return t.visitLiteralArray(this,e)}}class se extends Wt{constructor(t,e,n){super(t),this.keys=e,this.values=n}visit(t,e=null){return t.visitLiteralMap(this,e)}}class ce extends Wt{constructor(t,e,n){super(t),this.strings=e,this.expressions=n}visit(t,e=null){return t.visitInterpolation(this,e)}}class le extends Wt{constructor(t,e,n,a){super(t),this.operation=e,this.left=n,this.right=a}visit(t,e=null){return t.visitBinary(this,e)}}class de extends Wt{constructor(t,e){super(t),this.expression=e}visit(t,e=null){return t.visitPrefixNot(this,e)}}class ue extends Wt{constructor(t,e){super(t),this.expression=e}visit(t,e=null){return t.visitNonNullAssert(this,e)}}class ge extends Wt{constructor(t,e,n,a){super(t),this.receiver=e,this.name=n,this.args=a}visit(t,e=null){return t.visitMethodCall(this,e)}}class fe extends Wt{constructor(t,e,n,a){super(t),this.receiver=e,this.name=n,this.args=a}visit(t,e=null){return t.visitSafeMethodCall(this,e)}}class pe extends Wt{constructor(t,e,n){super(t),this.target=e,this.args=n}visit(t,e=null){return t.visitFunctionCall(this,e)}}class me extends Wt{constructor(t,e,n,a){super(new Ut(0,null==e?0:e.length)),this.ast=t,this.source=e,this.location=n,this.errors=a}visit(t,e=null){return this.ast.visit(t,e)}toString(){return`${this.source} in ${this.location}`}}class he{constructor(t,e,n,a,r){this.span=t,this.key=e,this.keyIsVar=n,this.name=a,this.expression=r}}const be=function(){var t={Character:0,Identifier:1,Keyword:2,String:3,Operator:4,Number:5,Error:6};return t[t.Character]="Character",t[t.Identifier]="Identifier",t[t.Keyword]="Keyword",t[t.String]="String",t[t.Operator]="Operator",t[t.Number]="Number",t[t.Error]="Error",t}(),ye=["var","let","as","null","undefined","true","false","if","else","this"];class _e{tokenize(t){const e=new Me(t),n=[];let a=e.scanToken();for(;null!=a;)n.push(a),a=e.scanToken();return n}}class Oe{constructor(t,e,n,a){this.index=t,this.type=e,this.numValue=n,this.strValue=a}isCharacter(t){return this.type===be.Character&&this.numValue===t}isNumber(){return this.type===be.Number}isString(){return this.type===be.String}isOperator(t){return this.type===be.Operator&&this.strValue===t}isIdentifier(){return this.type===be.Identifier}isKeyword(){return this.type===be.Keyword}isKeywordLet(){return this.type===be.Keyword&&"let"===this.strValue}isKeywordAs(){return this.type===be.Keyword&&"as"===this.strValue}isKeywordNull(){return this.type===be.Keyword&&"null"===this.strValue}isKeywordUndefined(){return this.type===be.Keyword&&"undefined"===this.strValue}isKeywordTrue(){return this.type===be.Keyword&&"true"===this.strValue}isKeywordFalse(){return this.type===be.Keyword&&"false"===this.strValue}isKeywordThis(){return this.type===be.Keyword&&"this"===this.strValue}isError(){return this.type===be.Error}toNumber(){return this.type===be.Number?this.numValue:-1}toString(){switch(this.type){case be.Character:case be.Identifier:case be.Keyword:case be.Operator:case be.String:case be.Error:return this.strValue;case be.Number:return this.numValue.toString();default:return null}}}function ve(t,e){return new Oe(t,be.Character,e,String.fromCharCode(e))}function Ce(t,e){return new Oe(t,be.Operator,0,e)}const Pe=new Oe(-1,be.Character,0,"");class Me{constructor(t){this.input=t,this.peek=0,this.index=-1,this.length=t.length,this.advance()}advance(){this.peek=++this.index>=this.length?0:this.input.charCodeAt(this.index)}scanToken(){const t=this.input,e=this.length;let n=this.peek,a=this.index;for(;n<=32;){if(++a>=e){n=0;break}n=t.charCodeAt(a)}if(this.peek=n,this.index=a,a>=e)return null;if(xe(n))return this.scanIdentifier();if(k(n))return this.scanNumber(a);const r=a;switch(n){case 46:return this.advance(),k(this.peek)?this.scanNumber(r):ve(r,46);case 40:case 41:case 123:case 125:case 91:case 93:case 44:case 58:case 59:return this.scanCharacter(r,n);case 39:case 34:return this.scanString();case 35:case 43:case 45:case 42:case 47:case 37:case 94:return this.scanOperator(r,String.fromCharCode(n));case 63:return this.scanComplexOperator(r,"?",46,".");case 60:case 62:return this.scanComplexOperator(r,String.fromCharCode(n),61,"=");case 33:case 61:return this.scanComplexOperator(r,String.fromCharCode(n),61,"=",61,"=");case 38:return this.scanComplexOperator(r,"&",38,"&");case 124:return this.scanComplexOperator(r,"|",124,"|");case 160:for(;S(this.peek);)this.advance();return this.scanToken()}return this.advance(),this.error(`Unexpected character [${String.fromCharCode(n)}]`,0)}scanCharacter(t,e){return this.advance(),ve(t,e)}scanOperator(t,e){return this.advance(),Ce(t,e)}scanComplexOperator(t,e,n,a,r,o){this.advance();let i=e;return this.peek===n&&(this.advance(),i+=a),null!=r&&this.peek===r&&(this.advance(),i+=o),Ce(t,i)}scanIdentifier(){const t=this.index;for(this.advance();we(this.peek);)this.advance();const e=this.input.substring(t,this.index);return ye.indexOf(e)>-1?new Oe(t,be.Keyword,0,e):function(t,e){return new Oe(t,be.Identifier,0,e)}(t,e)}scanNumber(t){let e=this.index===t;for(this.advance();;){if(k(this.peek));else if(46===this.peek)e=!1;else{if(101!==(n=this.peek)&&69!==n)break;if(this.advance(),Te(this.peek)&&this.advance(),!k(this.peek))return this.error("Invalid exponent",-1);e=!1}this.advance()}var n;const a=this.input.substring(t,this.index),r=e?function(t){const e=parseInt(t,10);if(isNaN(e))throw new Error("Invalid integer literal when parsing "+t);return e}(a):parseFloat(a);return new Oe(t,be.Number,r,"")}scanString(){const t=this.index,e=this.peek;this.advance();let n="",a=this.index;const r=this.input;for(;this.peek!==e;)if(92===this.peek){let t;if(n+=r.substring(a,this.index),this.advance(),this.peek=this.peek,117===this.peek){const e=r.substring(this.index+1,this.index+5);if(!/^[0-9a-f]+$/i.test(e))return this.error(`Invalid unicode escape [\\u${e}]`,0);t=parseInt(e,16);for(let t=0;t<5;t++)this.advance()}else t=Se(this.peek),this.advance();n+=String.fromCharCode(t),a=this.index}else{if(0===this.peek)return this.error("Unterminated quote",0);this.advance()}const o=r.substring(a,this.index);return this.advance(),new Oe(t,be.String,0,n+o)}error(t,e){const n=this.index+e;return function(t,e){return new Oe(t,be.Error,0,e)}(n,`Lexer Error: ${t} at column ${n} in expression [${this.input}]`)}}function xe(t){return 97<=t&&t<=122||65<=t&&t<=90||95===t||36===t}function we(t){return I(t)||k(t)||95===t||36===t}function Te(t){return 45===t||43===t}function Se(t){switch(t){case 110:return 10;case 102:return 12;case 114:return 13;case 116:return 9;case 118:return 11;default:return t}}class ke{constructor(t,e,n){this.strings=t,this.expressions=e,this.offsets=n}}class Ie{constructor(t,e,n){this.templateBindings=t,this.warnings=e,this.errors=n}}function Ne(t){const e=x(t.start)+"([\\s\\S]*?)"+x(t.end);return new RegExp(e,"g")}class Re{constructor(t){this._lexer=t,this.errors=[]}parseAction(t,e,n=T){this._checkNoInterpolation(t,e,n);const a=this._stripComments(t),r=this._lexer.tokenize(this._stripComments(t)),o=new Ae(t,e,r,a.length,!0,this.errors,t.length-a.length).parseChain();return new me(o,t,e,this.errors)}parseBinding(t,e,n=T){const a=this._parseBindingAst(t,e,n);return new me(a,t,e,this.errors)}parseSimpleBinding(t,e,n=T){const a=this._parseBindingAst(t,e,n),r=Ee.check(a);return r.length>0&&this._reportError(`Host binding expression cannot contain ${r.join(" ")}`,t,e),new me(a,t,e,this.errors)}_reportError(t,e,n,a){this.errors.push(new Ht(t,e,n,a))}_parseBindingAst(t,e,n){const a=this._parseQuote(t,e);if(null!=a)return a;this._checkNoInterpolation(t,e,n);const r=this._stripComments(t),o=this._lexer.tokenize(r);return new Ae(t,e,o,r.length,!1,this.errors,t.length-r.length).parseChain()}_parseQuote(t,e){if(null===t)return null;const n=t.indexOf(":");if(-1===n)return null;const a=t.substring(0,n).trim();if(!function(t){if(0===t.length)return!1;const e=new Me(t);if(!xe(e.peek))return!1;for(e.advance();0!==e.peek;){if(!we(e.peek))return!1;e.advance()}return!0}(a))return null;const r=t.substring(n+1);return new Kt(new Ut(0,t.length),a,r,e)}parseTemplateBindings(t,e,n){const a=this._lexer.tokenize(e);if(t){const e=this._lexer.tokenize(t).map(t=>(t.index=0,t));a.unshift(...e)}return new Ae(e,n,a,e.length,!1,this.errors,0).parseTemplateBindings()}parseInterpolation(t,e,n=T){const a=this.splitInterpolation(t,e,n);if(null===a)return null;const r=[];for(let o=0;o<a.expressions.length;++o){const n=a.expressions[o],i=this._stripComments(n),s=this._lexer.tokenize(i),c=new Ae(t,e,s,i.length,!1,this.errors,a.offsets[o]+(n.length-i.length)).parseChain();r.push(c)}return new me(new ce(new Ut(0,null===t?0:t.length),a.strings,r),t,e,this.errors)}splitInterpolation(t,e,n=T){const a=Ne(n),r=t.split(a);if(r.length<=1)return null;const o=[],i=[],s=[];let c=0;for(let l=0;l<r.length;l++){const a=r[l];l%2==0?(o.push(a),c+=a.length):a.trim().length>0?(c+=n.start.length,i.push(a),s.push(c),c+=a.length+n.end.length):(this._reportError("Blank expressions are not allowed in interpolated strings",t,`at column ${this._findInterpolationErrorColumn(r,l,n)} in`,e),i.push("$implict"),s.push(c))}return new ke(o,i,s)}wrapLiteralPrimitive(t,e){return new me(new oe(new Ut(0,null===t?0:t.length),t),t,e,this.errors)}_stripComments(t){const e=this._commentStart(t);return null!=e?t.substring(0,e).trim():t}_commentStart(t){let e=null;for(let a=0;a<t.length-1;a++){const r=t.charCodeAt(a),o=t.charCodeAt(a+1);if(47===r&&47===o&&null===e)return a;e===r?e=null:null===e&&(39===(n=r)||34===n||96===n)&&(e=r)}var n;return null}_checkNoInterpolation(t,e,n){const a=Ne(n),r=t.split(a);r.length>1&&this._reportError(`Got interpolation (${n.start}${n.end}) where expression was expected`,t,`at column ${this._findInterpolationErrorColumn(r,1,n)} in`,e)}_findInterpolationErrorColumn(t,e,n){let a="";for(let r=0;r<e;r++)a+=r%2==0?t[r]:`${n.start}${t[r]}${n.end}`;return a.length}}class Ae{constructor(t,e,n,a,r,o,i){this.input=t,this.location=e,this.tokens=n,this.inputLength=a,this.parseAction=r,this.errors=o,this.offset=i,this.rparensExpected=0,this.rbracketsExpected=0,this.rbracesExpected=0,this.index=0}peek(t){const e=this.index+t;return e<this.tokens.length?this.tokens[e]:Pe}get next(){return this.peek(0)}get inputIndex(){return this.index<this.tokens.length?this.next.index+this.offset:this.inputLength+this.offset}span(t){return new Ut(t,this.inputIndex)}advance(){this.index++}optionalCharacter(t){return!!this.next.isCharacter(t)&&(this.advance(),!0)}peekKeywordLet(){return this.next.isKeywordLet()}peekKeywordAs(){return this.next.isKeywordAs()}expectCharacter(t){this.optionalCharacter(t)||this.error(`Missing expected ${String.fromCharCode(t)}`)}optionalOperator(t){return!!this.next.isOperator(t)&&(this.advance(),!0)}expectOperator(t){this.optionalOperator(t)||this.error(`Missing expected operator ${t}`)}expectIdentifierOrKeyword(){const t=this.next;return t.isIdentifier()||t.isKeyword()?(this.advance(),t.toString()):(this.error(`Unexpected token ${t}, expected identifier or keyword`),"")}expectIdentifierOrKeywordOrString(){const t=this.next;return t.isIdentifier()||t.isKeyword()||t.isString()?(this.advance(),t.toString()):(this.error(`Unexpected token ${t}, expected identifier, keyword, or string`),"")}parseChain(){const t=[],e=this.inputIndex;for(;this.index<this.tokens.length;){const e=this.parsePipe();if(t.push(e),this.optionalCharacter(59))for(this.parseAction||this.error("Binding expression cannot contain chained expression");this.optionalCharacter(59););else this.index<this.tokens.length&&this.error(`Unexpected token '${this.next}'`)}return 0===t.length?new $t(this.span(e)):1===t.length?t[0]:new Jt(this.span(e),t)}parsePipe(){let t=this.parseExpression();if(this.optionalOperator("|")){this.parseAction&&this.error("Cannot have a pipe in an action expression");do{const e=this.expectIdentifierOrKeyword(),n=[];for(;this.optionalCharacter(58);)n.push(this.parseExpression());t=new re(this.span(t.span.start),t,e,n)}while(this.optionalOperator("|"))}return t}parseExpression(){return this.parseConditional()}parseConditional(){const t=this.inputIndex,e=this.parseLogicalOr();if(this.optionalOperator("?")){const n=this.parsePipe();let a;if(this.optionalCharacter(58))a=this.parsePipe();else{const e=this.input.substring(t,this.inputIndex);this.error(`Conditional expression ${e} requires all 3 expressions`),a=new $t(this.span(t))}return new Xt(this.span(t),e,n,a)}return e}parseLogicalOr(){let t=this.parseLogicalAnd();for(;this.optionalOperator("||");){const e=this.parseLogicalAnd();t=new le(this.span(t.span.start),"||",t,e)}return t}parseLogicalAnd(){let t=this.parseEquality();for(;this.optionalOperator("&&");){const e=this.parseEquality();t=new le(this.span(t.span.start),"&&",t,e)}return t}parseEquality(){let t=this.parseRelational();for(;this.next.type===be.Operator;){const e=this.next.strValue;switch(e){case"==":case"===":case"!=":case"!==":this.advance();const n=this.parseRelational();t=new le(this.span(t.span.start),e,t,n);continue}break}return t}parseRelational(){let t=this.parseAdditive();for(;this.next.type===be.Operator;){const e=this.next.strValue;switch(e){case"<":case">":case"<=":case">=":this.advance();const n=this.parseAdditive();t=new le(this.span(t.span.start),e,t,n);continue}break}return t}parseAdditive(){let t=this.parseMultiplicative();for(;this.next.type===be.Operator;){const e=this.next.strValue;switch(e){case"+":case"-":this.advance();const n=this.parseMultiplicative();t=new le(this.span(t.span.start),e,t,n);continue}break}return t}parseMultiplicative(){let t=this.parsePrefix();for(;this.next.type===be.Operator;){const e=this.next.strValue;switch(e){case"*":case"%":case"/":this.advance();const n=this.parsePrefix();t=new le(this.span(t.span.start),e,t,n);continue}break}return t}parsePrefix(){if(this.next.type===be.Operator){const t=this.inputIndex,e=this.next.strValue;let n;switch(e){case"+":return this.advance(),this.parsePrefix();case"-":return this.advance(),n=this.parsePrefix(),new le(this.span(t),e,new oe(new Ut(t,t),0),n);case"!":return this.advance(),n=this.parsePrefix(),new de(this.span(t),n)}}return this.parseCallChain()}parseCallChain(){let t=this.parsePrimary();for(;;)if(this.optionalCharacter(46))t=this.parseAccessMemberOrMethodCall(t,!1);else if(this.optionalOperator("?."))t=this.parseAccessMemberOrMethodCall(t,!0);else if(this.optionalCharacter(91)){this.rbracketsExpected++;const e=this.parsePipe();if(this.rbracketsExpected--,this.expectCharacter(93),this.optionalOperator("=")){const n=this.parseConditional();t=new ae(this.span(t.span.start),t,e,n)}else t=new ne(this.span(t.span.start),t,e)}else if(this.optionalCharacter(40)){this.rparensExpected++;const e=this.parseCallArguments();this.rparensExpected--,this.expectCharacter(41),t=new pe(this.span(t.span.start),t,e)}else{if(!this.optionalOperator("!"))return t;t=new ue(this.span(t.span.start),t)}}parsePrimary(){const t=this.inputIndex;if(this.optionalCharacter(40)){this.rparensExpected++;const t=this.parsePipe();return this.rparensExpected--,this.expectCharacter(41),t}if(this.next.isKeywordNull())return this.advance(),new oe(this.span(t),null);if(this.next.isKeywordUndefined())return this.advance(),new oe(this.span(t),void 0);if(this.next.isKeywordTrue())return this.advance(),new oe(this.span(t),!0);if(this.next.isKeywordFalse())return this.advance(),new oe(this.span(t),!1);if(this.next.isKeywordThis())return this.advance(),new Zt(this.span(t));if(this.optionalCharacter(91)){this.rbracketsExpected++;const e=this.parseExpressionList(93);return this.rbracketsExpected--,this.expectCharacter(93),new ie(this.span(t),e)}if(this.next.isCharacter(123))return this.parseLiteralMap();if(this.next.isIdentifier())return this.parseAccessMemberOrMethodCall(new Zt(this.span(t)),!1);if(this.next.isNumber()){const e=this.next.toNumber();return this.advance(),new oe(this.span(t),e)}if(this.next.isString()){const e=this.next.toString();return this.advance(),new oe(this.span(t),e)}return this.index>=this.tokens.length?(this.error(`Unexpected end of expression: ${this.input}`),new $t(this.span(t))):(this.error(`Unexpected token ${this.next}`),new $t(this.span(t)))}parseExpressionList(t){const e=[];if(!this.next.isCharacter(t))do{e.push(this.parsePipe())}while(this.optionalCharacter(44));return e}parseLiteralMap(){const t=[],e=[],n=this.inputIndex;if(this.expectCharacter(123),!this.optionalCharacter(125)){this.rbracesExpected++;do{const n=this.next.isString(),a=this.expectIdentifierOrKeywordOrString();t.push({key:a,quoted:n}),this.expectCharacter(58),e.push(this.parsePipe())}while(this.optionalCharacter(44));this.rbracesExpected--,this.expectCharacter(125)}return new se(this.span(n),t,e)}parseAccessMemberOrMethodCall(t,e=!1){const n=t.span.start,a=this.expectIdentifierOrKeyword();if(this.optionalCharacter(40)){this.rparensExpected++;const r=this.parseCallArguments();this.expectCharacter(41),this.rparensExpected--;const o=this.span(n);return e?new fe(o,t,a,r):new ge(o,t,a,r)}if(e)return this.optionalOperator("=")?(this.error("The '?.' operator cannot be used in the assignment"),new $t(this.span(n))):new ee(this.span(n),t,a);if(this.optionalOperator("=")){if(!this.parseAction)return this.error("Bindings cannot contain assignments"),new $t(this.span(n));const e=this.parseConditional();return new te(this.span(n),t,a,e)}return new Qt(this.span(n),t,a)}parseCallArguments(){if(this.next.isCharacter(41))return[];const t=[];do{t.push(this.parsePipe())}while(this.optionalCharacter(44));return t}expectTemplateBindingKey(){let t="",e=!1;do{t+=this.expectIdentifierOrKeywordOrString(),e=this.optionalOperator("-"),e&&(t+="-")}while(e);return t.toString()}parseTemplateBindings(){const t=[];let e=null;for(;this.index<this.tokens.length;){const n=this.inputIndex;let a=this.peekKeywordLet();a&&this.advance();const r=this.expectTemplateBindingKey();let o=r;a||(null===e?e=o:o=e+o[0].toUpperCase()+o.substring(1)),this.optionalCharacter(58);let i=null,s=null;if(a)i=this.optionalOperator("=")?this.expectTemplateBindingKey():"$implicit";else if(this.peekKeywordAs())this.advance(),i=r,o=this.expectTemplateBindingKey(),a=!0;else if(this.next!==Pe&&!this.peekKeywordLet()){const t=this.inputIndex,e=this.parsePipe(),n=this.input.substring(t-this.offset,this.inputIndex-this.offset);s=new me(e,n,this.location,this.errors)}if(t.push(new he(this.span(n),o,a,i,s)),this.peekKeywordAs()&&!a){const e=this.inputIndex;this.advance();const n=this.expectTemplateBindingKey();t.push(new he(this.span(e),n,!0,o,null))}this.optionalCharacter(59)||this.optionalCharacter(44)}return new Ie(t,[],this.errors)}error(t,e=null){this.errors.push(new Ht(t,this.input,this.locationText(e),this.location)),this.skip()}locationText(t=null){return null===t&&(t=this.index),t<this.tokens.length?`at column ${this.tokens[t].index+1} in`:"at the end of the expression"}skip(){let t=this.next;for(;this.index<this.tokens.length&&!t.isCharacter(59)&&(this.rparensExpected<=0||!t.isCharacter(41))&&(this.rbracesExpected<=0||!t.isCharacter(125))&&(this.rbracketsExpected<=0||!t.isCharacter(93));)this.next.isError()&&this.errors.push(new Ht(this.next.toString(),this.input,this.locationText(),this.location)),this.advance(),t=this.next}}class Ee{constructor(){this.errors=[]}static check(t){const e=new Ee;return t.visit(e),e.errors}visitImplicitReceiver(t,e){}visitInterpolation(t,e){}visitLiteralPrimitive(t,e){}visitPropertyRead(t,e){}visitPropertyWrite(t,e){}visitSafePropertyRead(t,e){}visitMethodCall(t,e){}visitSafeMethodCall(t,e){}visitFunctionCall(t,e){}visitLiteralArray(t,e){this.visitAll(t.expressions)}visitLiteralMap(t,e){this.visitAll(t.values)}visitBinary(t,e){}visitPrefixNot(t,e){}visitNonNullAssert(t,e){}visitConditional(t,e){}visitPipe(t,e){this.errors.push("pipes")}visitKeyedRead(t,e){}visitKeyedWrite(t,e){}visitAll(t){return t.map(t=>t.visit(this))}visitChain(t,e){}visitQuote(t,e){}}const De={A:"LINK",B:"BOLD_TEXT",BR:"LINE_BREAK",EM:"EMPHASISED_TEXT",H1:"HEADING_LEVEL1",H2:"HEADING_LEVEL2",H3:"HEADING_LEVEL3",H4:"HEADING_LEVEL4",H5:"HEADING_LEVEL5",H6:"HEADING_LEVEL6",HR:"HORIZONTAL_RULE",I:"ITALIC_TEXT",LI:"LIST_ITEM",LINK:"MEDIA_LINK",OL:"ORDERED_LIST",P:"PARAGRAPH",Q:"QUOTATION",S:"STRIKETHROUGH_TEXT",SMALL:"SMALL_TEXT",SUB:"SUBSTRIPT",SUP:"SUPERSCRIPT",TBODY:"TABLE_BODY",TD:"TABLE_CELL",TFOOT:"TABLE_FOOTER",TH:"TABLE_HEADER_CELL",THEAD:"TABLE_HEADER",TR:"TABLE_ROW",TT:"MONOSPACED_TEXT",U:"UNDERLINED_TEXT",UL:"UNORDERED_LIST"};class Le{constructor(){this._placeHolderNameCounts={},this._signatureToName={}}getStartTagPlaceholderName(t,e,n){const a=this._hashTag(t,e,n);if(this._signatureToName[a])return this._signatureToName[a];const r=t.toUpperCase(),o=De[r]||`TAG_${r}`,i=this._generateUniqueName(n?o:`START_${o}`);return this._signatureToName[a]=i,i}getCloseTagPlaceholderName(t){const e=this._hashClosingTag(t);if(this._signatureToName[e])return this._signatureToName[e];const n=t.toUpperCase(),a=this._generateUniqueName(`CLOSE_${De[n]||`TAG_${n}`}`);return this._signatureToName[e]=a,a}getPlaceholderName(t,e){const n=t.toUpperCase(),a=`PH: ${n}=${e}`;if(this._signatureToName[a])return this._signatureToName[a];const r=this._generateUniqueName(n);return this._signatureToName[a]=r,r}getUniquePlaceholder(t){return this._generateUniqueName(t.toUpperCase())}_hashTag(t,e,n){return`<${t}`+Object.keys(e).sort().map(t=>` ${t}=${e[t]}`).join("")+(n?"/>":`></${t}>`)}_hashClosingTag(t){return this._hashTag(`/${t}`,{},!1)}_generateUniqueName(t){if(!this._placeHolderNameCounts.hasOwnProperty(t))return this._placeHolderNameCounts[t]=1,t;const e=this._placeHolderNameCounts[t];return this._placeHolderNameCounts[t]=e+1,`${t}_${e}`}}const qe=new Re(new _e);class je{constructor(t,e){this._expressionParser=t,this._interpolationConfig=e}toI18nMessage(t,e,n,a){this._isIcu=1===t.length&&t[0]instanceof i,this._icuDepth=0,this._placeholderRegistry=new Le,this._placeholderToContent={},this._placeholderToMessage={};const r=u(this,t,{});return new g(r,this._placeholderToContent,this._placeholderToMessage,e,n,a)}visitElement(t,e){const n=u(this,t.children),a={};t.attrs.forEach(t=>{a[t.name]=t.value});const r=ct(t.name).isVoid,o=this._placeholderRegistry.getStartTagPlaceholderName(t.name,a,r);this._placeholderToContent[o]=t.sourceSpan?t.sourceSpan.toString():"";let i="";return r||(i=this._placeholderRegistry.getCloseTagPlaceholderName(t.name),this._placeholderToContent[i]=`</${t.name}>`),new h(t.name,a,o,i,n,r,t.sourceSpan)}visitAttribute(t,e){return this._visitTextWithInterpolation(t.value,t.sourceSpan)}visitText(t,e){return this._visitTextWithInterpolation(t.value,t.sourceSpan)}visitComment(t,e){return null}visitExpansion(t,e){this._icuDepth++;const n={},a=new m(t.switchValue,t.type,n,t.sourceSpan);if(t.cases.forEach(t=>{n[t.value]=new p(t.expression.map(t=>t.visit(this,{})),t.expSourceSpan)}),this._icuDepth--,this._isIcu||this._icuDepth>0){const e=this._placeholderRegistry.getUniquePlaceholder(`VAR_${t.type}`);return a.expressionPlaceholder=e,this._placeholderToContent[e]=t.switchValue,a}const r=this._placeholderRegistry.getPlaceholderName("ICU",t.sourceSpan.toString()),o=new je(this._expressionParser,this._interpolationConfig);return this._placeholderToMessage[r]=o.toI18nMessage([t],"","",""),new y(a,r,t.sourceSpan)}visitExpansionCase(t,e){throw new Error("Unreachable code")}_visitTextWithInterpolation(t,e){const n=this._expressionParser.splitInterpolation(t,e.start.toString(),this._interpolationConfig);if(!n)return new f(t,e);const a=[],r=new p(a,e),{start:o,end:i}=this._interpolationConfig;for(let c=0;c<n.strings.length-1;c++){const t=n.expressions[c],r=t.split(Fe)[2]||"INTERPOLATION",s=this._placeholderRegistry.getPlaceholderName(r,t);n.strings[c].length&&a.push(new f(n.strings[c],e)),a.push(new b(t,s,e)),this._placeholderToContent[s]=o+t+i}const s=n.strings.length-1;return n.strings[s].length&&a.push(new f(n.strings[s],e)),r}}const Fe=/\/\/[\s\S]*i18n[\s\S]*\([\s\S]*ph[\s\S]*=[\s\S]*("|')([\s\S]*?)\1[\s\S]*\)/g;class ze extends Q{constructor(t=T){super(ct),this.interpolationConfig=t}parse(t,e,n=!1){return super.parse(t,e,n,this.interpolationConfig)}extractMessages(t){const e=new He(["wrapper"]),n=new l("wrapper",[],t,void 0,void 0,void 0);return e.extract(n,this.interpolationConfig)}mergeTranslations(t,e,n,a,r=[]){const o=new He(r),i=new l("wrapper",[],t,void 0,void 0,void 0);return o.merge(i,e,this.interpolationConfig,n,a)}}class Ge{constructor(t,e){this.messages=t,this.errors=e}}class Be{constructor(t={},e,n,a,r,o){this.i18nNodesByMsgId=t,this.digest=e,this.mapperFactory=r,this.i18nToHtml=new Ve(t,e,r,a,n,o)}static load(t,e,n,a,r,o,i=T){const s=r(t,e);return new Be(s,t=>n(t),i,o,t=>a(t),console)}get(t,e){const n=this.i18nToHtml.convert(t,e);if(n.errors.length)throw new Error(n.errors.join("\n"));return n.nodes}has(t){return this.digest(t)in this.i18nNodesByMsgId}}class Ve{constructor(t={},e,n,a,r,o){this._i18nNodesByMsgId=t,this._digest=e,this._mapperFactory=n,this._missingTranslationStrategy=a,this._interpolationConfig=r,this._console=o,this._contextStack=[],this._errors=[]}convert(t,e){this._contextStack.length=0,this._errors.length=0,this._params=e,this._paramKeys=Object.keys(e);const n=this.convertToText(t),a=t.nodes[0].sourceSpan.start.file.url,r=(new ze).parse(n,a,!0);return{nodes:r.rootNodes,errors:[...this._errors,...r.errors]}}visitText(t,e){return t.value}visitContainer(t,e){return t.children.map(t=>t.visit(this)).join("")}visitIcu(t,e){const n=Object.keys(t.cases).map(e=>`${e} {${t.cases[e].visit(this)}}`);return`{${this._srcMsg.placeholders.hasOwnProperty(t.expression)?this._srcMsg.placeholders[t.expression]:t.expression}, ${t.type}, ${n.join(" ")}}`}visitPlaceholder(t,e){const n=this._mapper(t.name);return this._srcMsg.placeholders.hasOwnProperty(n)?this.convertToValue(this._srcMsg.placeholders[n]):this._srcMsg.placeholderToMessage.hasOwnProperty(n)?this.convertToText(this._srcMsg.placeholderToMessage[n]):(this._addError(t,`Unknown placeholder "${t.name}"`),"")}visitTagPlaceholder(t,e){const n=`${t.tag}`,a=Object.keys(t.attrs).map(e=>`${e}="${t.attrs[e]}"`).join(" ");return t.isVoid?`<${n} ${a}/>`:`<${n} ${a}>${t.children.map(t=>t.visit(this)).join("")}</${n}>`}visitIcuPlaceholder(t,e){return this.convertToText(this._srcMsg.placeholderToMessage[t.name])}convertToText(t){const e=this._digest(t),n=this._mapperFactory?this._mapperFactory(t):null;let a;this._contextStack.push({msg:this._srcMsg,mapper:this._mapper}),this._srcMsg=t,this._i18nNodesByMsgId.hasOwnProperty(e)?(a=this._i18nNodesByMsgId[e],this._mapper=t=>n?n.toInternalName(t):t):(this._missingTranslationStrategy===r.MissingTranslationStrategy.Error?this._addError(t.nodes[0],`Missing translation for message "${e}"`):this._console&&this._missingTranslationStrategy===r.MissingTranslationStrategy.Warning&&this._console.warn(`Missing translation for message "${e}"`),a=t.nodes,this._mapper=t=>t);const o=a.map(t=>t.visit(this)).join(""),i=this._contextStack.pop();return this._srcMsg=i.msg,this._mapper=i.mapper,o}convertToValue(t){const e=t.replace(this._interpolationConfig.start,"").replace(this._interpolationConfig.end,"");return-1!==this._paramKeys.indexOf(e)?this._params[e]:t}_addError(t,e){this._errors.push(new M(t.sourceSpan,e))}}const Ye=function(){var t={Extract:0,Merge:1};return t[t.Extract]="Extract",t[t.Merge]="Merge",t}();class He{constructor(t=[]){this._implicitTags=t,this.blockChildren=[]}extract(t,e){return this.init(Ye.Extract,e),t.visit(this,null),this.inI18nBlock&&this._reportError(t,"Unclosed block"),new Ge(this.messages,this.errors)}merge(t,e,n,a,r={}){this.init(Ye.Merge,n,a),this.translations=e,this.metadata=r;const o=t.visit(this,null);return this.inI18nBlock&&this._reportError(t,"Unclosed block"),new X(o.children,this.errors)}visitExpansionCase(t,e){const n=u(this,t.expression,e);if(this.mode===Ye.Merge)return new s(t.value,n,t.sourceSpan,t.valueSourceSpan,t.expSourceSpan)}visitExpansion(t,e){this.mayBeAddBlockChildren(t);const n=this.inIcu;this.inIcu||(this.isInTranslatableSection&&this.addMessage([t]),this.inIcu=!0);const a=u(this,t.cases,e);return this.mode===Ye.Merge&&(t=new i(t.switchValue,t.type,a,t.sourceSpan,t.switchValueSourceSpan)),this.inIcu=n,t}visitComment(t,e){}visitText(t,e){return this.isInTranslatableSection&&this.mayBeAddBlockChildren(t),t}visitElement(t,e){this.mayBeAddBlockChildren(t),this.depth++;const n=this.inI18nNode,a=this.inImplicitNode;let r=[],o=void 0;const i=t.attrs.find(t=>"i18n"===t.name)||null,s=this._implicitTags.some(e=>t.name===e)&&!this.inIcu&&!this.isInTranslatableSection,c=!a&&s;if(this.inImplicitNode=a||s,this.isInTranslatableSection||this.inIcu)(i||c)&&this._reportError(t,"Could not mark an element as translatable inside a translatable section"),this.mode===Ye.Extract&&u(this,t.children);else{if(i||c){this.inI18nNode=!0;const e=this.addMessage(t.children,this.metadata);o=this.translateMessage(t,e)}if(this.mode===Ye.Extract){const e=i||c;e&&this.openTranslatableSection(t),u(this,t.children),e&&this._closeTranslatableSection(t,t.children)}}return this.mode===Ye.Merge&&(o||t.children).forEach(t=>{const n=t.visit(this,e);n&&!this.isInTranslatableSection&&(r=r.concat(n))}),this.depth--,this.inI18nNode=n,this.inImplicitNode=a,this.mode===Ye.Merge?new l(t.name,[],r,t.sourceSpan,t.startSourceSpan,t.endSourceSpan):null}visitAttribute(t,e){throw new Error("unreachable code")}init(t,e,n={}){this.mode=t,this.inI18nBlock=!1,this.inI18nNode=!1,this.depth=0,this.inIcu=!1,this.msgCountAtSectionStart=void 0,this.errors=[],this.messages=[],this.inImplicitNode=!1,this.createI18nMessage=function(t){const e=new je(qe,t);return(t,n,a,r)=>e.toI18nMessage(t,n,a,r)}(e),this.params=n}addMessage(t,{meaning:e="",description:n="",id:a=""}={}){if(0===t.length||1===t.length&&t[0]instanceof c&&!t[0].value)return null;const r=this.createI18nMessage(t,e,n,a);return this.messages.push(r),r}translateMessage(t,e){if(e&&this.mode===Ye.Merge){const n=this.translations.get(e,this.params);if(n)return n;this._reportError(t,`Translation unavailable for message id="${this.translations.digest(e)}"`)}return[]}mayBeAddBlockChildren(t){this.inI18nBlock&&!this.inIcu&&this.depth===this.blockStartDepth&&this.blockChildren.push(t)}openTranslatableSection(t){this.isInTranslatableSection?this._reportError(t,"Unexpected section start"):this.msgCountAtSectionStart=this.messages.length}get isInTranslatableSection(){return void 0!==this.msgCountAtSectionStart}_closeTranslatableSection(t,e){if(!this.isInTranslatableSection)return void this._reportError(t,"Unexpected section end");const n=this.msgCountAtSectionStart;if(1===e.reduce((t,e)=>t+(e instanceof d?0:1),0))for(let a=this.messages.length-1;a>=n;a--){const t=this.messages[a].nodes;if(!(1===t.length&&t[0]instanceof f)){this.messages.splice(a,1);break}}this.msgCountAtSectionStart=void 0}_reportError(t,e){this.errors.push(new M(t.sourceSpan,e))}}const Ue=new r.InjectionToken("MissingTranslationStrategy");class We{constructor(t,e,n,a=r.MissingTranslationStrategy.Warning){let o,i,s=t=>null;switch(t=(t||"xlf").toLowerCase()){case"xtb":o=zt,i=Gt,s=Bt;break;case"xliff2":case"xlf2":o=Dt,i=Lt;break;case"xliff":case"xlf":o=Nt,i=Rt;break;default:throw new Error(`Unknown translations format ${t}`)}const c=new ze,l=Be.load(e,"i18n",i,s,o,a);return(t,e={})=>{const a="string"==typeof t?t:t.value,r={};"object"==typeof t&&(r.id=t.id,r.meaning=t.meaning,r.description=t.description);const o=c.parse(a,"",!0);if(o.errors.length)throw o.errors;return function(t,e,n){return t.map(t=>t.visit(new ut(e,n),null))}(c.mergeTranslations(o.rootNodes,l,e,r,["wrapper"]).rootNodes,n,e).join("")}}}},GoyQ:function(t,e){t.exports=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},GyhO:function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var a=n("LRne"),r=n("0EUg");function o(...t){return Object(r.a)()(Object(a.a)(...t))}},H0h1:function(t,e,n){var a=n("SKAX");t.exports=function(t,e){var n=!0;return a(t,(function(t,a,r){return n=!!e(t,a,r)})),n}},H8ED:function(t,e,n){!function(t){"use strict";function e(t,e,n){var a,r;return"m"===n?e?"хвіліна":"хвіліну":"h"===n?e?"гадзіна":"гадзіну":t+" "+(a=+t,r={ss:e?"секунда_секунды_секунд":"секунду_секунды_секунд",mm:e?"хвіліна_хвіліны_хвілін":"хвіліну_хвіліны_хвілін",hh:e?"гадзіна_гадзіны_гадзін":"гадзіну_гадзіны_гадзін",dd:"дзень_дні_дзён",MM:"месяц_месяцы_месяцаў",yy:"год_гады_гадоў"}[n].split("_"),a%10==1&&a%100!=11?r[0]:a%10>=2&&a%10<=4&&(a%100<10||a%100>=20)?r[1]:r[2])}t.defineLocale("be",{months:{format:"студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня".split("_"),standalone:"студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань".split("_")},monthsShort:"студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж".split("_"),weekdays:{format:"нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу".split("_"),standalone:"нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота".split("_"),isFormat:/\[ ?[Ууў] ?(?:мінулую|наступную)? ?\] ?dddd/},weekdaysShort:"нд_пн_ат_ср_чц_пт_сб".split("_"),weekdaysMin:"нд_пн_ат_ср_чц_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., HH:mm",LLLL:"dddd, D MMMM YYYY г., HH:mm"},calendar:{sameDay:"[Сёння ў] LT",nextDay:"[Заўтра ў] LT",lastDay:"[Учора ў] LT",nextWeek:function(){return"[У] dddd [ў] LT"},lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return"[У мінулую] dddd [ў] LT";case 1:case 2:case 4:return"[У мінулы] dddd [ў] LT"}},sameElse:"L"},relativeTime:{future:"праз %s",past:"%s таму",s:"некалькі секунд",m:e,mm:e,h:e,hh:e,d:"дзень",dd:e,M:"месяц",MM:e,y:"год",yy:e},meridiemParse:/ночы|раніцы|дня|вечара/,isPM:function(t){return/^(дня|вечара)$/.test(t)},meridiem:function(t,e,n){return t<4?"ночы":t<12?"раніцы":t<17?"дня":"вечара"},dayOfMonthOrdinalParse:/\d{1,2}-(і|ы|га)/,ordinal:function(t,e){switch(e){case"M":case"d":case"DDD":case"w":case"W":return t%10!=2&&t%10!=3||t%100==12||t%100==13?t+"-ы":t+"-і";case"D":return t+"-га";default:return t}},week:{dow:1,doy:7}})}(n("wd/R"))},H8j4:function(t,e,n){var a=n("QkVE");t.exports=function(t,e){var n=a(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this}},HAuM:function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t}},HDdC:function(t,e,n){"use strict";var a=n("8Qeq"),r=n("7o/Q"),o=n("2QA8"),i=n("gRHU"),s=n("kJWO"),c=n("mCNh"),l=n("2fFW");n.d(e,"a",(function(){return d}));let d=(()=>{class t{constructor(t){this._isScalar=!1,t&&(this._subscribe=t)}lift(e){const n=new t;return n.source=this,n.operator=e,n}subscribe(t,e,n){const{operator:a}=this,s=function(t,e,n){if(t){if(t instanceof r.a)return t;if(t[o.a])return t[o.a]()}return t||e||n?new r.a(t,e,n):new r.a(i.a)}(t,e,n);if(s.add(a?a.call(s,this.source):this.source||l.a.useDeprecatedSynchronousErrorHandling&&!s.syncErrorThrowable?this._subscribe(s):this._trySubscribe(s)),l.a.useDeprecatedSynchronousErrorHandling&&s.syncErrorThrowable&&(s.syncErrorThrowable=!1,s.syncErrorThrown))throw s.syncErrorValue;return s}_trySubscribe(t){try{return this._subscribe(t)}catch(e){l.a.useDeprecatedSynchronousErrorHandling&&(t.syncErrorThrown=!0,t.syncErrorValue=e),Object(a.a)(t)?t.error(e):console.warn(e)}}forEach(t,e){return new(e=u(e))((e,n)=>{let a;a=this.subscribe(e=>{try{t(e)}catch(r){n(r),a&&a.unsubscribe()}},n,e)})}_subscribe(t){const{source:e}=this;return e&&e.subscribe(t)}[s.a](){return this}pipe(...t){return 0===t.length?this:Object(c.b)(t)(this)}toPromise(t){return new(t=u(t))((t,e)=>{let n;this.subscribe(t=>n=t,t=>e(t),()=>t(n))})}}return t.create=e=>new t(e),t})();function u(t){if(t||(t=l.a.Promise||Promise),!t)throw new Error("no Promise impl found");return t}},HDyB:function(t,e,n){var a=n("nmnc"),r=n("JHRd"),o=n("ljhN"),i=n("or5M"),s=n("7fqy"),c=n("rEGp"),l=a?a.prototype:void 0,d=l?l.valueOf:void 0;t.exports=function(t,e,n,a,l,u,g){switch(n){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=e.byteLength||!u(new r(t),new r(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return o(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var f=s;case"[object Set]":if(f||(f=c),t.size!=e.size&&!(1&a))return!1;var p=g.get(t);if(p)return p==e;a|=2,g.set(t,e);var m=i(f(t),f(e),a,l,u,g);return g.delete(t),m;case"[object Symbol]":if(d)return d.call(t)==d.call(e)}return!1}},HH4o:function(t,e,n){var a=n("tiKp")("iterator"),r=!1;try{var o=0,i={next:function(){return{done:!!o++}},return:function(){r=!0}};i[a]=function(){return this},Array.from(i,(function(){throw 2}))}catch(s){}t.exports=function(t,e){if(!e&&!r)return!1;var n=!1;try{var o={};o[a]=function(){return{next:function(){return{done:n=!0}}}},t(o)}catch(s){}return n}},HIU9:function(t,e,n){"use strict";n.d(e,"a",(function(){return l}));var a=n("8Y7J"),r=n("dApe"),o=n("X+05"),i=n("DzJC"),s=n.n(i),c=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},l=function(){function t(t,e,n){var a=this;this.elementRef=t,this.ngZone=e,this.virtualScroll=n,this.setViewport=s()((function(){a.virtualScroll.setViewport(a.elementRef.nativeElement)}),17),this.scrollEventHandler=this.setViewport.bind(this)}return t.prototype.ngOnInit=function(){this.virtualScroll.init()},t.prototype.ngAfterViewInit=function(){var t=this;setTimeout((function(){t.setViewport(),t.virtualScroll.fireEvent({eventName:o.a.initialized})}));var e=this.elementRef.nativeElement;this.ngZone.runOutsideAngular((function(){e.addEventListener("scroll",t.scrollEventHandler)}))},t.prototype.ngOnDestroy=function(){this.virtualScroll.clear(),this.elementRef.nativeElement.removeEventListener("scroll",this.scrollEventHandler)},t.prototype.getTotalHeight=function(){return this.virtualScroll.isEnabled()&&this.virtualScroll.totalHeight+"px"||"auto"},function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i}([Object(a.Component)({selector:"tree-viewport",styles:[],providers:[r.a],template:'\n    <ng-container *treeMobxAutorun="{ dontDetach: true }">\n      <div [style.height]="getTotalHeight()">\n        <ng-content></ng-content>\n      </div>\n    </ng-container>\n  '}),c("design:paramtypes",[a.ElementRef,a.NgZone,r.a])],t)}()},HOxn:function(t,e,n){var a=n("Cwc5")(n("Kz5y"),"Promise");t.exports=a},HP3h:function(t,e,n){!function(t){"use strict";var e={1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",0:"0"},n=function(t){return 0===t?0:1===t?1:2===t?2:t%100>=3&&t%100<=10?3:t%100>=11?4:5},a={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},r=function(t){return function(e,r,o,i){var s=n(e),c=a[t][n(e)];return 2===s&&(c=c[r?0:1]),c.replace(/%d/i,e)}},o=["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"];t.defineLocale("ar-ly",{months:o,monthsShort:o,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/‏M/‏YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(t){return"م"===t},meridiem:function(t,e,n){return t<12?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:r("s"),ss:r("s"),m:r("m"),mm:r("m"),h:r("h"),hh:r("h"),d:r("d"),dd:r("d"),M:r("M"),MM:r("M"),y:r("y"),yy:r("y")},preparse:function(t){return t.replace(/،/g,",")},postformat:function(t){return t.replace(/\d/g,(function(t){return e[t]})).replace(/,/g,"،")},week:{dow:6,doy:12}})}(n("wd/R"))},HV4d:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.id=function(){return("0000"+(Math.random()*Math.pow(36,4)<<0).toString(36)).slice(-4)}},HYAF:function(t,e){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},Hd5f:function(t,e,n){var a=n("0Dky"),r=n("tiKp"),o=n("LQDL"),i=r("species");t.exports=function(t){return o>=51||!a((function(){var e=[];return(e.constructor={})[i]=function(){return{foo:1}},1!==e[t](Boolean).foo}))}},HjS5:function(t,e,n){"use strict";n.r(e),e.default='<xliff xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 http://docs.oasis-open.org/xliff/v1.2/os/xliff-core-1.2-strict.xsd" xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">\n  <file original="ng2.template" datatype="plaintext" source-language="en-US" target-language="zh-TW">\n    <body>\n      <trans-unit id="319e0745bcbc132451569294fa2fa21bf10f555a" datatype="html">\n        <source>Toggle navigation</source>\n        <target>切換導覽</target>\n      </trans-unit>\n      <trans-unit id="f65253954b66e929a8b4d5ecaf61f9129f8cec64" datatype="html">\n        <source>Dashboard</source>\n        <target>儀表板</target>\n      </trans-unit>\n      <trans-unit id="f4d1dd59b039ad818d9da7e29a773e10e41d9821" datatype="html">\n        <source>Cluster</source>\n        <target>叢集</target>\n      </trans-unit>\n      <trans-unit id="099b441d49333b3c6d30b36dc0a4763e64c78920" datatype="html">\n        <source>Hosts</source>\n        <target>主機</target>\n      </trans-unit>\n      <trans-unit id="2cc3ecb16e348fcf2f2fbfd2f997d4d22f37475b" datatype="html">\n        <source>Inventory</source>\n        <target>Inventory</target>\n      </trans-unit>\n      <trans-unit id="624f596cc3320f5e0a0d7c7346c364e5af9bdd8c" datatype="html">\n        <source>Monitors</source>\n        <target>監控程式</target>\n      </trans-unit>\n      <trans-unit id="419d940613972cc3fae9c8ea0a4306dbf80616e5" datatype="html">\n        <source>Services</source>\n        <target>服務</target>\n      </trans-unit>\n      <trans-unit id="1a9183778f2c6473d7ccb080f651caa01faaf70c" datatype="html">\n        <source>OSDs</source>\n        <target>OSD</target>\n      </trans-unit>\n      <trans-unit id="4a41f824a35ba01d5bd7be61aa06b3e8145209d0" datatype="html">\n        <source>Configuration</source>\n        <target>組態</target>\n      </trans-unit>\n      <trans-unit id="8c95898abff46bfac3ed6eb2afef74597e60b15c" datatype="html">\n        <source>CRUSH map</source>\n        <target>CRUSH 地圖</target>\n      </trans-unit>\n      <trans-unit id="33da4dbeb076159510801ea764a218fd341269d2" datatype="html">\n        <source>Manager modules</source>\n        <target>管理員模組</target>\n      </trans-unit>\n      <trans-unit id="eb3d5aefff38a814b76da74371cbf02c0789a1ef" datatype="html">\n        <source>Logs</source>\n        <target>記錄</target>\n      </trans-unit>\n      <trans-unit id="17fc3efe5f9fa4e0289c900cb6202265215a1a27" datatype="html">\n        <source>Monitoring</source>\n        <target>Monitoring</target>\n      </trans-unit>\n      <trans-unit id="92899fa68e8ca108912163ff58edc8540e453787" datatype="html">\n        <source>Pools</source>\n        <target>池</target>\n      </trans-unit>\n      <trans-unit id="7f5d0c10614e8a34f0e2dad33a0568277c50cf69" datatype="html">\n        <source>Block</source>\n        <target>區塊</target>\n      </trans-unit>\n      <trans-unit id="b73f7f5060fb22a1e9ec462b1bb02493fa3ab866" datatype="html">\n        <source>Images</source>\n        <target>影像</target>\n      </trans-unit>\n      <trans-unit id="3c2562ba992127203dcfd014010b03cb7b8113c6" datatype="html">\n        <source>Mirroring</source>\n        <target>鏡像</target>\n      </trans-unit>\n      <trans-unit id="811c241d56601b91ef26735b770e64428089b950" datatype="html">\n        <source>iSCSI</source>\n        <target>iSCSI</target>\n      </trans-unit>\n      <trans-unit id="a24eabd99ea5af20f5f94c4484649cd30370042b" datatype="html">\n        <source>NFS</source>\n        <target>NFS</target>\n      </trans-unit>\n      <trans-unit id="a4eff72d97b7ced051398d581f10968218057ddc" datatype="html">\n        <source>Filesystems</source>\n        <target>檔案系統</target>\n      </trans-unit>\n      <trans-unit id="2190548d236ca5f7bc7ab2bca334b860c5ff2ad4" datatype="html">\n        <source>Object Gateway</source>\n        <target>物件閘道</target>\n      </trans-unit>\n      <trans-unit id="9e24f9e2d42104ffc01599db4d566d1cc518f9e6" datatype="html">\n        <source>Daemons</source>\n        <target>精靈</target>\n      </trans-unit>\n      <trans-unit id="4d13a9cd5ed3dcee0eab22cb25198d43886942be" datatype="html">\n        <source>Users</source>\n        <target>使用者</target>\n      </trans-unit>\n      <trans-unit id="9515520496da83179d8b08132f00f575512a1f40" datatype="html">\n        <source>Buckets</source>\n        <target>桶</target>\n      </trans-unit>\n      <trans-unit id="797f8214e8148f4bf0d244baaa7341706b419549" datatype="html">\n        <source>Retrieving data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>. Please wait...\n        </source>\n        <target>Retrieving data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>. Please wait...\n        </target>\n      </trans-unit>\n      <trans-unit id="5a870dc77b9f6f33ee671ea2d856021276933339" datatype="html">\n        <source>Displaying previously cached data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>\n  for \n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n        </source>\n        <target>Displaying previously cached data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>\n  for \n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="ae580202919844531361ba2308287226ff74a584" datatype="html">\n        <source>Could not load data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n  Please check the cluster health.\n        </source>\n        <target>Could not load data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n  Please check the cluster health.\n        </target>\n      </trans-unit>\n      <trans-unit id="7e52e9143145e1db5146258de81eae018a407b31" datatype="html">\n        <source>Clear notifications</source>\n        <target>Clear notifications</target>\n      </trans-unit>\n      <trans-unit id="b0b07bb6b7ff21ede439dd04eaf8872d1ecb84d8" datatype="html">\n        <source>Remove notification</source>\n        <target>刪除通知</target>\n      </trans-unit>\n      <trans-unit id="e17a1d75189da843f541f7764f188f2b19a97df2" datatype="html">\n        <source>Duration:</source>\n        <target>Duration:</target>\n      </trans-unit>\n      <trans-unit id="0d4b37c6675c5b436a54c43d6716eec835e1aa7f" datatype="html">\n        <source>There are no notifications.</source>\n        <target>沒有通知。</target>\n      </trans-unit>\n      <trans-unit id="0a23e992f6c6e169a38b2b7338b4e5e803b52e0d" datatype="html">\n        <source>Tasks and Notifications</source>\n        <target>任務與通知</target>\n      </trans-unit>\n      <trans-unit id="3fb5709e10166cbc85970cbff103db227dbeb813" datatype="html">\n        <source>Select a Language</source>\n        <target>選取語言</target>\n      </trans-unit>\n      <trans-unit id="c5109325fb160b543f71a51e7511c00575057431" datatype="html">\n        <source>Loading panel data...</source>\n        <target>正在載入面板資料...</target>\n      </trans-unit>\n      <trans-unit id="8ca12411f890ab8b0a9216418e2b8f5ea7d2441a" datatype="html">\n        <source>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the monitoring functionality.\n        </source>\n        <target>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the monitoring functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="160a9e80dc089792df42e2400b1e81b9e7025aa7" datatype="html">\n        <source>Grafana Dashboard doesn\'t exist. Please refer to\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  add dashboards to Grafana.\n        </source>\n        <target>Grafana Dashboard doesn\'t exist. Please refer to\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  add dashboards to Grafana.\n        </target>\n      </trans-unit>\n      <trans-unit id="4e11830040bd64804a0555de76f291d5832772d4" datatype="html">\n        <source>Grafana Time Picker</source>\n        <target>Grafana 時間選擇器</target>\n      </trans-unit>\n      <trans-unit id="238c1ba845dd7330e8088165275919a1debf1ca3" datatype="html">\n        <source>Reset Settings</source>\n        <target>重設設定</target>\n      </trans-unit>\n      <trans-unit id="c8d1785038d461ec66b5799db21864182b35900a" datatype="html">\n        <source>Refresh</source>\n        <target>刷新</target>\n      </trans-unit>\n      <trans-unit id="6c947210e2d162b6225083d18820ab602f58cd2d" datatype="html">\n        <source>Remove the custom configuration value. The default configuration will be inherited and used instead.</source>\n        <target>Remove the custom configuration value. The default configuration will be inherited and used instead.</target>\n      </trans-unit>\n      <trans-unit id="454ee9cb60b00446a8fb147fd2cc5eb836320586" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ option.maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ option.maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="7fc8a22825131e028336f60ef909ccbd96059703" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ option.minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ option.minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="cda31dbd724cf5f4fa7a4274d9120651490c8a8c" datatype="html">\n        <source>Back</source>\n        <target>返回</target>\n      </trans-unit>\n      <trans-unit id="9ce641535be1ffa106c87724ba0637facaef5f61" datatype="html">\n        <source>Your password will expire in \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>less than 1\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day. Click\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.\n        </source>\n        <target>Your password will expire in \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>less than 1\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day. Click\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.\n        </target>\n      </trans-unit>\n      <trans-unit id="c2f34088c155e40ffb23770a465a65868ce772b2" datatype="html">\n        <source>Your password will expire in \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ expirationDays }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day(s). Click\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.\n        </source>\n        <target>Your password will expire in \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ expirationDays }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day(s). Click\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.\n        </target>\n      </trans-unit>\n      <trans-unit id="9b516f972c744779257310b73f6e97438b726707" datatype="html">\n        <source>Orchestrator is not available. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the functionality.\n        </source>\n        <target>Orchestrator is not available. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="012741ee52b3c050e4a977c37cc2334f7974f141" datatype="html">\n        <source>Failed to load data.</source>\n        <target>無法載入資料。</target>\n      </trans-unit>\n      <trans-unit id="1e5e23363e949f7dcbaf034bdb141a561132a10e" datatype="html">\n        <source>Clear filters</source>\n        <target>Clear filters</target>\n      </trans-unit>\n      <trans-unit id="80cc9a12d4bf6fe454ed94b379eeaf915f920bb7" datatype="html">\n        <source>selected</source>\n        <target>選取的數目</target>\n        <note>X selected</note>\n      </trans-unit>\n      <trans-unit id="0cb77511a9a148e05b9adf36cc07269956fbb29d" datatype="html">\n        <source>found</source>\n        <target>找到的數目</target>\n        <note>X found</note>\n      </trans-unit>\n      <trans-unit id="79347388740c50b7ac97e144c2494bb62912f312" datatype="html">\n        <source>total</source>\n        <target>總計</target>\n        <note>X total</note>\n      </trans-unit>\n      <trans-unit id="cff1428d10d59d14e45edec3c735a27b5482db59" datatype="html">\n        <source>Name</source>\n        <target>名稱</target>\n      </trans-unit>\n      <trans-unit id="eec715de352a6b114713b30b640d319fa78207a0" datatype="html">\n        <source>Description</source>\n        <target>描述</target>\n      </trans-unit>\n      <trans-unit id="4ad112ce9bcd55dfd137792a86afe1b5a5b13cf8" datatype="html">\n        <source>Long description</source>\n        <target>詳細描述</target>\n      </trans-unit>\n      <trans-unit id="ff7cee38a2259526c519f878e71b964f41db4348" datatype="html">\n        <source>Default</source>\n        <target>預設值</target>\n      </trans-unit>\n      <trans-unit id="33e1c1d9fc05ca3f62fcc8a1170fc31ebae4229c" datatype="html">\n        <source>Daemon default</source>\n        <target>精靈預設值</target>\n      </trans-unit>\n      <trans-unit id="809b0c848932a41318f77a2aace904ef429c13f4" datatype="html">\n        <source>Values</source>\n        <target>值</target>\n      </trans-unit>\n      <trans-unit id="5894f7158499fdb89527af50c9f1cf7d4c95cad6" datatype="html">\n        <source>-- Default --</source>\n        <target>-- Default --</target>\n      </trans-unit>\n      <trans-unit id="514f6e12d035a6d9b00de6b3e55c18b73488da07" datatype="html">\n        <source>true</source>\n        <target>true</target>\n      </trans-unit>\n      <trans-unit id="774f5e6a183dea08393789b6f72e86afad729419" datatype="html">\n        <source>false</source>\n        <target>false</target>\n      </trans-unit>\n      <trans-unit id="82029b6db704c56a2aa3e82ac555b8655356b077" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8ed8b3967a7326b81b191c9f490006e6a6777a9a" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="52c9a103b812f258bcddc3d90a6e3f46871d25fe" datatype="html">\n        <source>Save</source>\n        <target>儲存</target>\n      </trans-unit>\n      <trans-unit id="738de688b22fba5d0dc7a5e549996838dddad0ee" datatype="html">\n        <source>CRUSH map viewer</source>\n        <target>CRUSH 地圖檢視器</target>\n      </trans-unit>\n      <trans-unit id="94516fa213706c67ce5a5b5765681d7fb032033a" datatype="html">\n        <source>Loading...</source>\n        <target>正在載入...</target>\n      </trans-unit>\n      <trans-unit id="formTitle" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </target>\n        <note>form title</note>\n      </trans-unit>\n      <trans-unit id="9a541ec1a4319fffc16ad3b3ab2c2b6d251a829d" datatype="html">\n        <source>Hostname</source>\n        <target>主機名稱</target>\n      </trans-unit>\n      <trans-unit id="7cbdabcece469fab89cfa687ab152bca18b97498" datatype="html">\n        <source>This field is required.</source>\n        <target>此欄位為必填欄位。</target>\n      </trans-unit>\n      <trans-unit id="1b3f5e5291541678f7afa49d28fad5ca848a8061" datatype="html">\n        <source>The chosen hostname is already in use.</source>\n        <target>The chosen hostname is already in use.</target>\n      </trans-unit>\n      <trans-unit id="formActionButton" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </target>\n        <note>form action button</note>\n      </trans-unit>\n      <trans-unit id="6110699a3562eeb15371063c0cf7f6bfd88a0209" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemNames[0] }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemNames[0] }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>?\n        </target>\n      </trans-unit>\n      <trans-unit id="549859e511ba5af0ea03fcaa620c472f08038969" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected items?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected items?\n        </target>\n      </trans-unit>\n      <trans-unit id="54839ebc827b73c9dc4e1df731c6d36a85036af7" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected \n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected \n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>?\n        </target>\n      </trans-unit>\n      <trans-unit id="2be8b7f04f0104d3fad90d079d8202b74f758b9a" datatype="html">\n        <source>Yes, I am sure.</source>\n        <target>是的,我確定。</target>\n      </trans-unit>\n      <trans-unit id="d7b35c384aecd25a516200d6921836374613dfe7" datatype="html">\n        <source>Cancel</source>\n        <target>取消</target>\n      </trans-unit>\n      <trans-unit id="55a2f26b2e87886d9b8015a887e38e51ab2a866a" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8" datatype="html">\n        <source>Close</source>\n        <target>關閉</target>\n      </trans-unit>\n      <trans-unit id="40661476cb24c89d8b06614998e31d5fbe84eeb6" datatype="html">\n        <source>Hosts List</source>\n        <target>主機清單</target>\n      </trans-unit>\n      <trans-unit id="5e7f4b1ca49e8d217bd0e12c6f7d6b6a2ade2c18" datatype="html">\n        <source>Overall Performance</source>\n        <target>整體效能</target>\n      </trans-unit>\n      <trans-unit id="3e24569eca61d598c8b01defbbbb1fa8bd5222bc" datatype="html">\n        <source>Devices</source>\n        <target>Devices</target>\n      </trans-unit>\n      <trans-unit id="e6d57f36aa2bad303c8a8ee944b9bd7fae3c8c26" datatype="html">\n        <source>No entries found</source>\n        <target>找不到項目</target>\n      </trans-unit>\n      <trans-unit id="d556ab48a65722b400e497f61737f553ee0f89e2" datatype="html">\n        <source>Cluster Logs</source>\n        <target>叢集記錄</target>\n      </trans-unit>\n      <trans-unit id="5f966baffd188be0e8adc2d7067b86e55fc9b9de" datatype="html">\n        <source>Audit Logs</source>\n        <target>稽核記錄</target>\n      </trans-unit>\n      <trans-unit id="4193c9eb868aeec119b78a14795241e0aa5e8b60" datatype="html">\n        <source>Priority:</source>\n        <target>Priority:</target>\n      </trans-unit>\n      <trans-unit id="1d78ca51eab260ce3fd917d39190d64df5229b6e" datatype="html">\n        <source>Keyword:</source>\n        <target>Keyword:</target>\n      </trans-unit>\n      <trans-unit id="05fa0bded36de6e73a1fa44838b627349dace044" datatype="html">\n        <source>Date:</source>\n        <target>Date:</target>\n      </trans-unit>\n      <trans-unit id="31dadb362bf7f7c2afa10e5f96474ccd3977f91f" datatype="html">\n        <source>Datepicker</source>\n        <target>Datepicker</target>\n      </trans-unit>\n      <trans-unit id="85a400388de1899b1917138cf7e5286376f72847" datatype="html">\n        <source>Time range:</source>\n        <target>Time range:</target>\n      </trans-unit>\n      <trans-unit id="2447796ddbda942f4e2c46619cb84d69f066e568" datatype="html">\n        <source>Loading configuration...</source>\n        <target>正在載入組態...</target>\n      </trans-unit>\n      <trans-unit id="b42c0b347a841bed8859ee83de05080ee28c803b" datatype="html">\n        <source>The configuration could not be loaded.</source>\n        <target>無法載入組態。</target>\n      </trans-unit>\n      <trans-unit id="31a9c2870a934b594d1390146c489f76440859ea" datatype="html">\n        <source>Edit Manager module</source>\n        <target>編輯管理員模組</target>\n      </trans-unit>\n      <trans-unit id="46e09b8290d3d0afdb6baa2021395b0570606a31" datatype="html">\n        <source>The entered value is not a valid UUID, e.g.: 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8</source>\n        <target>輸入的值不是有效的 UUID,例如 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8</target>\n      </trans-unit>\n      <trans-unit id="7aacd038b39cfd347107d01d1dc27f5cb3e0951c" datatype="html">\n        <source>The entered value needs to be a valid IP address.</source>\n        <target>輸入的值必須是有效的  IP 位址。</target>\n      </trans-unit>\n      <trans-unit id="f19106149f4b07a0d721f9d317afed393cb7bd93" datatype="html">\n        <source>The entered value is too high! It must be lower or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.max }}"/>.\n        </source>\n        <target>The entered value is too high! It must be lower or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.max }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="6d33c40ef9a6c3bf0888df831b25e41e65f9d15b" datatype="html">\n        <source>The entered value is too low! It must be greater or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.min }}"/>.\n        </source>\n        <target>The entered value is too low! It must be greater or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.min }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="eae7086660cf1e38c7194a2c49ff52cc656f90f5" datatype="html">\n        <source>The entered value needs to be a number.</source>\n        <target>輸入的值必須為數字。</target>\n      </trans-unit>\n      <trans-unit id="a73376e04b4fb3a20734c8c39743fba32e6676ce" datatype="html">\n        <source>The entered value needs to be a number or decimal.</source>\n        <target>輸入的值必須為數字或小數。</target>\n      </trans-unit>\n      <trans-unit id="047f50bc5b5d17b5bec0196355953e1a5c590ddb" datatype="html">\n        <source>Update</source>\n        <target>更新</target>\n      </trans-unit>\n      <trans-unit id="81b97b8ea996ad1e4f9fca8415021850214884b1" datatype="html">\n        <source>Status</source>\n        <target>狀態</target>\n      </trans-unit>\n      <trans-unit id="57ec6032f5618d4a9f16eb950ad23d2ce7c24b54" datatype="html">\n        <source>Cluster ID</source>\n        <target>叢集 ID</target>\n      </trans-unit>\n      <trans-unit id="67d7facc3fec5f8a49ab9ba0a245872184264ce5" datatype="html">\n        <source>monmap modified</source>\n        <target>monmap 修改時間</target>\n      </trans-unit>\n      <trans-unit id="d4906731aaf2b94b4f547646c9bfe58bb77951b6" datatype="html">\n        <source>monmap epoch</source>\n        <target>monmap 版本編號</target>\n      </trans-unit>\n      <trans-unit id="bd4ee06ffdc46d9dfbd0c0c4f81399021c680056" datatype="html">\n        <source>quorum con</source>\n        <target>quorum con</target>\n      </trans-unit>\n      <trans-unit id="1176c7db8a8276ccb44cc3d42e2c28d9fa6c6596" datatype="html">\n        <source>quorum mon</source>\n        <target>quorum mon</target>\n      </trans-unit>\n      <trans-unit id="530ef677a09d681b3ab68cb0760494b3ae72a77c" datatype="html">\n        <source>required con</source>\n        <target>required con</target>\n      </trans-unit>\n      <trans-unit id="a91558e0d506c32021c31843f8f168899fc65cbf" datatype="html">\n        <source>required mon</source>\n        <target>required mon</target>\n      </trans-unit>\n      <trans-unit id="b3abe9eac5bcd94a54c8da93b312e085ec512e74" datatype="html">\n        <source>In Quorum</source>\n        <target>仲裁成員</target>\n      </trans-unit>\n      <trans-unit id="ba4b748a676e1f217ce1e736fb7ec1215e677bae" datatype="html">\n        <source>Not In Quorum</source>\n        <target>非仲裁成員</target>\n      </trans-unit>\n      <trans-unit id="4383e9662ea19839c7499b2128d43a195e564317" datatype="html">\n        <source>OSD creation preview</source>\n        <target>OSD creation preview</target>\n      </trans-unit>\n      <trans-unit id="366225c51e0b00bcb1c55795a0dc5e81c455f84e" datatype="html">\n        <source>DriveGroups</source>\n        <target>DriveGroups</target>\n      </trans-unit>\n      <trans-unit id="8edc89137d0d8c5667a2f03230beafae45e58429" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ deviceType }}"/> devices\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ deviceType }}"/> devices\n        </target>\n      </trans-unit>\n      <trans-unit id="eba28e1805b18f7c8ae2e4bc15dcf063b10b3822" datatype="html">\n        <source>At least one of these filters must be applied in order to proceed:</source>\n        <target>At least one of these filters must be applied in order to proceed:</target>\n      </trans-unit>\n      <trans-unit id="93389aa2fe2bea50bf89554ee51b28f87ee2fb50" datatype="html">\n        <source>Number of devices: \n          <x id="INTERPOLATION" equiv-text="{{ filteredDevices.length }}"/>. Raw capacity:\n          <x id="INTERPOLATION_1" equiv-text="{{ capacity | dimlessBinary }}"/>.\n        </source>\n        <target>Number of devices: \n          <x id="INTERPOLATION" equiv-text="{{ filteredDevices.length }}"/>. Raw capacity:\n          <x id="INTERPOLATION_1" equiv-text="{{ capacity | dimlessBinary }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="ccb4f84edc0b4e76415bb3f9b73d725b06683af3" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ name }}"/> devices\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ name }}"/> devices\n        </target>\n      </trans-unit>\n      <trans-unit id="60cb3d01e5ddf266ecb4271007a1c3d0f3efdc22" datatype="html">\n        <source>The primary storage devices. These devices contain all OSD data.</source>\n        <target>The primary storage devices. These devices contain all OSD data.</target>\n      </trans-unit>\n      <trans-unit id="b432e04886d0d1fd84f740477383051f85addcf2" datatype="html">\n        <source>Write-Ahead-Log devices. These devices are used for BlueStore’s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device.</source>\n        <target>Write-Ahead-Log devices. These devices are used for BlueStore’s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device.</target>\n      </trans-unit>\n      <trans-unit id="b87e181ab9e8393aa5ed759dd3d53836e32c8ffe" datatype="html">\n        <source>DB devices can be used for storing BlueStore’s internal metadata.  It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD).</source>\n        <target>DB devices can be used for storing BlueStore’s internal metadata.  It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD).</target>\n      </trans-unit>\n      <trans-unit id="f6755cff4957d5c3c89bafce5651f1b6fa2b1fd9" datatype="html">\n        <source>Add</source>\n        <target>新增</target>\n      </trans-unit>\n      <trans-unit id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46" datatype="html">\n        <source>Clear</source>\n        <target>Clear</target>\n      </trans-unit>\n      <trans-unit id="7e0fd3c7af0630f93befa6234a693a32a61084e0" datatype="html">\n        <source>Raw capacity: \n          <x id="INTERPOLATION" equiv-text="{{ capacity | dimlessBinary }}"/>\n        </source>\n        <target>Raw capacity: \n          <x id="INTERPOLATION" equiv-text="{{ capacity | dimlessBinary }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="43ecf6bee2aebc07b0aad6dc1fe13e38d14687fa" datatype="html">\n        <source>Shared devices</source>\n        <target>Shared devices</target>\n      </trans-unit>\n      <trans-unit id="7a1c376f6f1b37de4c318ff2106255ba6c0f5b0b" datatype="html">\n        <source>WAL slots</source>\n        <target>WAL slots</target>\n      </trans-unit>\n      <trans-unit id="73811a6f37b63e6b0e491e221bfa21e9dea8a87a" datatype="html">\n        <source>How many OSDs per WAL device.</source>\n        <target>How many OSDs per WAL device.</target>\n      </trans-unit>\n      <trans-unit id="0c67a7ac4762ef1cc855056c6b4daab93e53a0a5" datatype="html">\n        <source>Specify 0 to let Orchestrator backend decide it.</source>\n        <target>Specify 0 to let Orchestrator backend decide it.</target>\n      </trans-unit>\n      <trans-unit id="7bda9362e06e6c67341b4a8425b0d29d6b84464b" datatype="html">\n        <source>Value should be greater than or equal to 0</source>\n        <target>Value should be greater than or equal to 0</target>\n      </trans-unit>\n      <trans-unit id="324c2b10152b9dd908222bb0b71f61beb60a30c5" datatype="html">\n        <source>DB slots</source>\n        <target>DB slots</target>\n      </trans-unit>\n      <trans-unit id="c23cf12ef9c76f37fc7a4b7ae3e00fb0f68b6e26" datatype="html">\n        <source>How many OSDs per DB device.</source>\n        <target>How many OSDs per DB device.</target>\n      </trans-unit>\n      <trans-unit id="6cdb1fea93d77c07950c0c76c6e0ad79ebbef084" datatype="html">\n        <source>Features</source>\n        <target>功能</target>\n      </trans-unit>\n      <trans-unit id="3e2a583f531f7dd9f089f68a6968e444c372c3e8" datatype="html">\n        <source>Preview</source>\n        <target>Preview</target>\n      </trans-unit>\n      <trans-unit id="5ef50ba2514414f799d4c8fc36067a251904ba81" datatype="html">\n        <source>Cluster-wide OSD Flags</source>\n        <target>叢集範圍的 OSD 旗標</target>\n      </trans-unit>\n      <trans-unit id="71c77bb8cecdf11ec3eead24dd1ba506573fa9cd" datatype="html">\n        <source>Submit</source>\n        <target>提交</target>\n      </trans-unit>\n      <trans-unit id="1cfe07dac5b4ee1c464eb24225ddeb4f1d24076a" datatype="html">\n        <source>Advanced...</source>\n        <target>進階...</target>\n      </trans-unit>\n      <trans-unit id="b1ef1c12ddcee305353623919ef02778569f5454" datatype="html">\n        <source>Advanced configuration options</source>\n        <target>Advanced configuration options</target>\n      </trans-unit>\n      <trans-unit id="c35f9c5f268a514b970cc55e9a5dc4bed0988e7f" datatype="html">\n        <source>OSD Recovery Priority</source>\n        <target>OSD 復原優先程度</target>\n      </trans-unit>\n      <trans-unit id="b74af38005e8a8914e45af2ec412e11ceafef8b6" datatype="html">\n        <source>Priority</source>\n        <target>優先程度</target>\n      </trans-unit>\n      <trans-unit id="c2f48f04b379bfba133825747adfd238d511412e" datatype="html">\n        <source>Customize priority values</source>\n        <target>自訂優先程度值</target>\n      </trans-unit>\n      <trans-unit id="4aa19de2a2b54cbda39e9c62917b23044c087776" datatype="html">\n        <source>This field is required!</source>\n        <target>此欄位為必填欄位!</target>\n      </trans-unit>\n      <trans-unit id="b699e94bf376491bd50b70a98531071c737eaf40" datatype="html">\n        <source>[object Object]</source>\n        <target>[object Object]</target>\n      </trans-unit>\n      <trans-unit id="98fe13e7ad6c2b80375d204b47858ded83f80e15" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="5423a3c111be47fc5a1bfe46ceb58c81c84db691" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="5251a4355cece3075db43f15d69a24a0f8485707" datatype="html">\n        <source>Reweight OSD: \n          <x id="INTERPOLATION" equiv-text="{{ osdId }}"/>\n        </source>\n        <target>Reweight OSD: \n          <x id="INTERPOLATION" equiv-text="{{ osdId }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="67650b2998db48201b2c6176cbfef51e7211ccaa" datatype="html">\n        <source>The value needs to be between 0 and 1.</source>\n        <target>該值必須介於 0 至 1 之間。</target>\n      </trans-unit>\n      <trans-unit id="bc11f92113d678a90e334fdf3d7b3fddbe34c579" datatype="html">\n        <source>Reweight</source>\n        <target>重新設定權數</target>\n      </trans-unit>\n      <trans-unit id="d5ca5daf742023fc4f0919fb3c1c6a51991cda4f" datatype="html">\n        <source>OSDs \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>Scrub\n        </source>\n        <target>OSDs \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>Scrub\n        </target>\n      </trans-unit>\n      <trans-unit id="4c17d67c7c5799eb920030e9a399961e90f55dd8" datatype="html">\n        <source>{VAR_SELECT, select, 1 {Deep } }</source>\n        <target>{VAR_SELECT, select, 1 {深層} }</target>\n      </trans-unit>\n      <trans-unit id="fd0a4b6eed32e3488eccdc9c13f9841f08cc275e" datatype="html">\n        <source>You are about to apply a \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to\n          the OSD(s): \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ selected | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.\n        </source>\n        <target>You are about to apply a \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to\n          the OSD(s): \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ selected | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="dc6705f342a036b332c3fd3443201c3613e5524d" datatype="html">\n        <source>{VAR_SELECT, select, 1 {deep } }</source>\n        <target>{VAR_SELECT, select, 1 {深層} }</target>\n      </trans-unit>\n      <trans-unit id="b49d7877d24112d4bdfce9256edf61a007fae888" datatype="html">\n        <source>OSDs List</source>\n        <target>OSD 清單</target>\n      </trans-unit>\n      <trans-unit id="d5707a32ba9c1138e6423498fb0b24e970ebd19f" datatype="html">\n        <source>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) \n          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </source>\n        <target>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) \n          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </target>\n      </trans-unit>\n      <trans-unit id="d08c1e4f17dffc0ed1ac2e2e2875cb8b569eeb35" datatype="html">\n        <source>The \n          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to be \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>! \n          <x id="INTERPOLATION_1" equiv-text="{{ message }}"/>\n        </source>\n        <target>The \n          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to be \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>! \n          <x id="INTERPOLATION_1" equiv-text="{{ message }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="e776996dac651ef3819bfa767ccf2a0613759f47" datatype="html">\n        <source>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</source>\n        <target>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</target>\n      </trans-unit>\n      <trans-unit id="5cd6a031937412c42e5efa1e6959cb72ac08c720" datatype="html">\n        <source>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD \n          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </source>\n        <target>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD \n          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </target>\n      </trans-unit>\n      <trans-unit id="3eda19b44809820fffd5d3753bafb7243116f4b0" datatype="html">\n        <source>To see all active Prometheus alerts, please\n      provide the URL to the API of Prometheus\' Alertmanager as described in the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </source>\n        <target>To see all active Prometheus alerts, please\n      provide the URL to the API of Prometheus\' Alertmanager as described in the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="880ad4df5a2051a437321443d69c9a866699e5ad" datatype="html">\n        <source>Active Alerts</source>\n        <target>Active Alerts</target>\n      </trans-unit>\n      <trans-unit id="8e5e0e09a11990d343926ed693574213d703c38d" datatype="html">\n        <source>All Alerts</source>\n        <target>All Alerts</target>\n      </trans-unit>\n      <trans-unit id="526938c2b7945cb0d68328c24bd77730230cd455" datatype="html">\n        <source>To enable Silences, please provide the URL to the API of the Prometheus\' Alertmanager as\n      described in the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </source>\n        <target>To enable Silences, please provide the URL to the API of the Prometheus\' Alertmanager as\n      described in the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="aa0c44aa1e5727061baa91e954f77e2f5f9a37c9" datatype="html">\n        <source>Silences</source>\n        <target>Silences</target>\n      </trans-unit>\n      <trans-unit id="8501055865d7031b5521a0c5467532648009a61d" datatype="html">\n        <source>Matcher</source>\n        <target>Matcher</target>\n      </trans-unit>\n      <trans-unit id="9c25e04f554875dc2625a78ba0fc56c6010cd0d3" datatype="html">\n        <source>-- Select an attribute to match against --</source>\n        <target>-- Select an attribute to match against --</target>\n      </trans-unit>\n      <trans-unit id="5049e204c14c648691ac775a64fb504467aeb549" datatype="html">\n        <source>Value</source>\n        <target>值</target>\n      </trans-unit>\n      <trans-unit id="77fc5c63497fc031ddc97645484e3d94ad27766c" datatype="html">\n        <source>Use regular expression</source>\n        <target>Use regular expression</target>\n      </trans-unit>\n      <trans-unit id="7bbec1a797283712c0adf9e71d77fb5a8cd720db" datatype="html">\n        <source>{VAR_SELECT, select, 1 {Update} other {Add} }</source>\n        <target>{VAR_SELECT, select, 1 {Update} other {Add} }</target>\n      </trans-unit>\n      <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c" datatype="html">\n        <source>Edit</source>\n        <target>編輯</target>\n      </trans-unit>\n      <trans-unit id="826b25211922a1b46436589233cb6f1a163d89b7" datatype="html">\n        <source>Delete</source>\n        <target>刪除</target>\n      </trans-unit>\n      <trans-unit id="a3ba06aba047605af8ea1718ec1ba153b7db12a2" datatype="html">\n        <source>Editing a silence will expire the old silence and recreate it as a new silence</source>\n        <target>Editing a silence will expire the old silence and recreate it as a new silence</target>\n      </trans-unit>\n      <trans-unit id="a20424156b8816671f61879f0574a4f27d7b16b9" datatype="html">\n        <source>Creator</source>\n        <target>Creator</target>\n      </trans-unit>\n      <trans-unit id="5a5d7ee2acbfa9c91ab7f41d26bda9ff0cafe42f" datatype="html">\n        <source>Comment</source>\n        <target>Comment</target>\n      </trans-unit>\n      <trans-unit id="4c11aad490b2d53fdae30b3807beabf79306752c" datatype="html">\n        <source>Start time</source>\n        <target>Start time</target>\n      </trans-unit>\n      <trans-unit id="32856b1e8e339b747b21e313e2fe65a51fd450bb" datatype="html">\n        <source>If the start time lies in the past the creation time will be used</source>\n        <target>If the start time lies in the past the creation time will be used</target>\n      </trans-unit>\n      <trans-unit id="a02ea1d4e7424ca989929da5e598f379940fdbf2" datatype="html">\n        <source>Duration</source>\n        <target>Duration</target>\n      </trans-unit>\n      <trans-unit id="2f4e35e36f4d3c62e2c17df41730b6dee4afc4b9" datatype="html">\n        <source>End time</source>\n        <target>End time</target>\n      </trans-unit>\n      <trans-unit id="992123459137d45c15df5548bc9682aad835c04b" datatype="html">\n        <source>Matchers</source>\n        <target>Matchers</target>\n      </trans-unit>\n      <trans-unit id="3e023166c55833d5a13f4143e3dbe372befe1b4e" datatype="html">\n        <source>A silence requires at least one matcher</source>\n        <target>A silence requires at least one matcher</target>\n      </trans-unit>\n      <trans-unit id="ef765bd80c4806c51c891908c07a24bc76f019eb" datatype="html">\n        <source>Add matcher</source>\n        <target>Add matcher</target>\n      </trans-unit>\n      <trans-unit id="d2bcd3296d2850de762fb943060b7e086a893181" datatype="html">\n        <source>Health</source>\n        <target>狀態</target>\n      </trans-unit>\n      <trans-unit id="61e0f26d843eec0b33ff475e111b0c2f7a80b835" datatype="html">\n        <source>Statistics</source>\n        <target>統計資料</target>\n      </trans-unit>\n      <trans-unit id="f8f74e5f683012b9c0702b1446011c6b9158bc67" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the NFS Ganesha management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the NFS Ganesha management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="7ffe39df9d88c972792bd8688b215392deb8313d" datatype="html">\n        <source>Clients</source>\n        <target>用戶端</target>\n      </trans-unit>\n      <trans-unit id="f2dae0bda66f6a349444951c0379c28cda47d6d1" datatype="html">\n        <source>Any client can access</source>\n        <target>任何用戶端均可存取</target>\n      </trans-unit>\n      <trans-unit id="7882f2edb1d4139800b276b6b0bbf5ae0b2234ef" datatype="html">\n        <source>Addresses</source>\n        <target>位址</target>\n      </trans-unit>\n      <trans-unit id="9bd96fcf50863e685c74d0490392f46689ffbdb6" datatype="html">\n        <source>Required field</source>\n        <target>必填欄位</target>\n      </trans-unit>\n      <trans-unit id="a5f3f74c0f6925826cb2188576391c0da01a23f0" datatype="html">\n        <source>Must contain one or more comma-separated values</source>\n        <target>必須包含一或多個逗號分隔值</target>\n      </trans-unit>\n      <trans-unit id="8bb5b2073697f3f4378c44a49b7524934c9268f4" datatype="html">\n        <source>For example:</source>\n        <target>例如︰</target>\n      </trans-unit>\n      <trans-unit id="8f969c655b3fbe4fba7e277caf4cd2c459f9fca5" datatype="html">\n        <source>Access Type</source>\n        <target>存取類型</target>\n      </trans-unit>\n      <trans-unit id="28952831a284cfe2b4fc39ca610e80b52598905a" datatype="html">\n        <source>Squash</source>\n        <target>Squash</target>\n      </trans-unit>\n      <trans-unit id="0660ae339068979854ade34a96546980723dede3" datatype="html">\n        <source>Add clients</source>\n        <target>新增用戶端</target>\n      </trans-unit>\n      <trans-unit id="135b91a2d908d5814b782695470a6a786c99d9d2" datatype="html">\n        <source>-- No cluster available --</source>\n        <target>-- 沒有可用的叢集 --</target>\n      </trans-unit>\n      <trans-unit id="c501dba379f566885919240ea277b5bc10c14d18" datatype="html">\n        <source>-- Select the cluster --</source>\n        <target>-- 選取叢集 --</target>\n      </trans-unit>\n      <trans-unit id="cf85b1ee58326aa9da63da41b2629c9db7c9a5b9" datatype="html">\n        <source>Add daemon</source>\n        <target>新增精靈</target>\n      </trans-unit>\n      <trans-unit id="b3f6ba7fe84d6508705cdfe234f0fcc8ff85c9cf" datatype="html">\n        <source>Storage Backend</source>\n        <target>儲存後端</target>\n      </trans-unit>\n      <trans-unit id="151c80ea931037cd92e854442927f8a0f6ae7795" datatype="html">\n        <source>-- No data pools available --</source>\n        <target>-- 沒有可用的資料池 --</target>\n      </trans-unit>\n      <trans-unit id="b6fee356d1db954255a56d8169405a89595246b9" datatype="html">\n        <source>-- Select the storage backend --</source>\n        <target>-- 選取儲存後端 --</target>\n      </trans-unit>\n      <trans-unit id="76d67035c3ab3d8e56f725859f820f03fda41cfc" datatype="html">\n        <source>Object Gateway User</source>\n        <target>物件閘道使用者</target>\n      </trans-unit>\n      <trans-unit id="fade7788bace74337f306ae209f10fc187ef4671" datatype="html">\n        <source>-- No users available --</source>\n        <target>-- 沒有可用的使用者 --</target>\n      </trans-unit>\n      <trans-unit id="6d30b7b36cf8f6364167321bdb4ba35d4cefce7b" datatype="html">\n        <source>-- Select the object gateway user --</source>\n        <target>-- 選取物件閘道使用者 --</target>\n      </trans-unit>\n      <trans-unit id="589ce20d3ba3e3ac44f75decfaadc4ea8f0aec2d" datatype="html">\n        <source>CephFS User ID</source>\n        <target>CephFS 使用者 ID</target>\n      </trans-unit>\n      <trans-unit id="c4b88a53ac3b0ece46ba9b3ad72355a3c190cce7" datatype="html">\n        <source>-- No clients available --</source>\n        <target>-- 沒有可用的用戶端 --</target>\n      </trans-unit>\n      <trans-unit id="da52835b80497a0002d24414b057dc46ae44ce38" datatype="html">\n        <source>-- Select the cephx client --</source>\n        <target>-- 選取 cephx 用戶端 --</target>\n      </trans-unit>\n      <trans-unit id="fd3419e8957d928d7f7ba19c93356a0dbff02871" datatype="html">\n        <source>CephFS Name</source>\n        <target>CephFS 名稱</target>\n      </trans-unit>\n      <trans-unit id="ee3ba0ab5f0ccd597b3e44021c71e9aaad14df0a" datatype="html">\n        <source>-- No CephFS filesystem available --</source>\n        <target>-- No CephFS filesystem available --</target>\n      </trans-unit>\n      <trans-unit id="764c57812558b1ae66c5eec95d7efd2b1bf761e3" datatype="html">\n        <source>-- Select the CephFS filesystem --</source>\n        <target>-- Select the CephFS filesystem --</target>\n      </trans-unit>\n      <trans-unit id="957512d0321f73e9f115bce1bd823fa635170c41" datatype="html">\n        <source>Security Label</source>\n        <target>安全標籤</target>\n      </trans-unit>\n      <trans-unit id="65ce0fa4da1ed55e658aeb31d1644a29f06bb342" datatype="html">\n        <source>Enable security label</source>\n        <target>啟用安全標籤</target>\n      </trans-unit>\n      <trans-unit id="7e808f804130c7b6ff719509cbc06ebb27393a48" datatype="html">\n        <source>CephFS Path</source>\n        <target>CephFS 路徑</target>\n      </trans-unit>\n      <trans-unit id="5ecc0107badb6625466aaa3f975b5c05276f432f" datatype="html">\n        <source>Path need to start with a \'/\' and can be followed by a word</source>\n        <target>路徑必須以「/」開頭,後面可接單詞</target>\n      </trans-unit>\n      <trans-unit id="2d02916f44fc63e13ab16d1cbe72aa6cb51feab3" datatype="html">\n        <source>New directory will be created</source>\n        <target>將建立新目錄</target>\n      </trans-unit>\n      <trans-unit id="766c66ad5cc981c531aaf3fe3a2a7a346ddc8d83" datatype="html">\n        <source>Path</source>\n        <target>路徑</target>\n      </trans-unit>\n      <trans-unit id="7ec35c722a50b976620f22612f7be619c12ceb90" datatype="html">\n        <source>Path can only be a single \'/\' or a word</source>\n        <target>路徑只能以單一「/」或單詞開頭</target>\n      </trans-unit>\n      <trans-unit id="aebb6a5090c24511de4530195694bb3f3dcf0342" datatype="html">\n        <source>New bucket will be created</source>\n        <target>將建立新桶</target>\n      </trans-unit>\n      <trans-unit id="bee6900143996c0e908a10564532eba3da0b30fb" datatype="html">\n        <source>NFS Protocol</source>\n        <target>NFS 通訊協定</target>\n      </trans-unit>\n      <trans-unit id="2f534178c01ebf1307da2eaeef04bc6801ebc729" datatype="html">\n        <source>NFSv3</source>\n        <target>NFSv3</target>\n      </trans-unit>\n      <trans-unit id="f5043c0921e709935ab026bb3253ffe1f159fca1" datatype="html">\n        <source>NFSv4</source>\n        <target>NFSv4</target>\n      </trans-unit>\n      <trans-unit id="92488963d23095985a47c0d6e62304e11d333f19" datatype="html">\n        <source>NFS Tag</source>\n        <target>NFS 標記</target>\n      </trans-unit>\n      <trans-unit id="aae93362720aea94623682996dd3fcd0f906f056" datatype="html">\n        <source>Alternative access for \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v3\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> mounts (it must not have a leading /).\n        </source>\n        <target>Alternative access for \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v3\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> mounts (it must not have a leading /).\n        </target>\n      </trans-unit>\n      <trans-unit id="45d6db77dcf1a3eeb921033abc7882e517a541cc" datatype="html">\n        <source>Clients may not mount subdirectories (i.e. if Tag = foo, the client may not mount foo/baz).</source>\n        <target>用戶端不能掛接子目錄 (即如果標記為 foo,則用戶端無法掛接 foo/baz)。</target>\n      </trans-unit>\n      <trans-unit id="a1c7a8676b55e882a97c6a6fb205204f9c761afa" datatype="html">\n        <source>By using different Tag options, the same Path may be exported multiple times.</source>\n        <target>透過使用不同標記選項,可將同一路徑輸出多次。</target>\n      </trans-unit>\n      <trans-unit id="6d2c39708a32910f89701dd7e1cfb9ec1c195768" datatype="html">\n        <source>Pseudo</source>\n        <target>虛擬</target>\n      </trans-unit>\n      <trans-unit id="1f8be2ae25947bec0b84c2338201580ea053f34e" datatype="html">\n        <source>The position that this \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v4\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> export occupies\n                in the \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>Pseudo FS\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> (it must be unique).\n        </source>\n        <target>The position that this \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v4\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> export occupies\n                in the \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>Pseudo FS\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> (it must be unique).\n        </target>\n      </trans-unit>\n      <trans-unit id="f3af55f7fd5b1d9e5a53e030c80116dc635bfb9f" datatype="html">\n        <source>By using different Pseudo options, the same Path may be exported multiple times.</source>\n        <target>透過使用不同虛擬選項,可將同一路徑輸出多次。</target>\n      </trans-unit>\n      <trans-unit id="ddf98fcdeeb17643db020d54f42b5e56b5f9a52a" datatype="html">\n        <source>Pseudo needs to start with a \'/\' and can\'t contain any of the following: &gt;, &lt;, |, &amp;, ( or ).</source>\n        <target>Pseudo needs to start with a \'/\' and can\'t contain any of the following: &gt;, &lt;, |, &amp;, ( or ).</target>\n      </trans-unit>\n      <trans-unit id="27eb35c4b4ac08781a7253a2ab40f8f7d957ba51" datatype="html">\n        <source>-- No access type available --</source>\n        <target>-- 沒有可用的存取類型 --</target>\n      </trans-unit>\n      <trans-unit id="509ce016c9110a54028dafd741f15ceacbe74b5a" datatype="html">\n        <source>-- Select the access type --</source>\n        <target>-- 選取存取類型 --</target>\n      </trans-unit>\n      <trans-unit id="49850390a653cd05dc5843d74ef073a9122b54c9" datatype="html">\n        <source>The Object Gateway NFS backend has a number of\n              limitations which will seriously affect applications writing to\n              the share. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for details before enabling write access.\n        </source>\n        <target>The Object Gateway NFS backend has a number of\n              limitations which will seriously affect applications writing to\n              the share. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for details before enabling write access.\n        </target>\n      </trans-unit>\n      <trans-unit id="4deda03573eaaff77e63f6a238a1f0ca7816950a" datatype="html">\n        <source>-- No squash available --</source>\n        <target>-- 沒有可用的 squash --</target>\n      </trans-unit>\n      <trans-unit id="a0e82a4da88e7fdf270444f838d45849676e9d4b" datatype="html">\n        <source>--Select what kind of user id squashing is performed --</source>\n        <target>-- 選取執行哪種類型的使用者 ID 匿名存取 --</target>\n      </trans-unit>\n      <trans-unit id="d01b7c3f7f06712c53d054cfbe4f53d446b038e8" datatype="html">\n        <source>Transport Protocol</source>\n        <target>傳輸通訊協定</target>\n      </trans-unit>\n      <trans-unit id="d2a6ad6e8bc315f07911722c05767ac79c136d99" datatype="html">\n        <source>UDP</source>\n        <target>UDP</target>\n      </trans-unit>\n      <trans-unit id="9c030f11e0aae9b24d2c048c57f29f590be621df" datatype="html">\n        <source>TCP</source>\n        <target>TCP</target>\n      </trans-unit>\n      <trans-unit id="734c9905951a774870497c5aaae8e3ee833b6196" datatype="html">\n        <source>CephFS</source>\n        <target>CephFS</target>\n      </trans-unit>\n      <trans-unit id="0eb15f32b2b92d7f3103ef3ff032621888a8dc32" datatype="html">\n        <source>Old password</source>\n        <target>Old password</target>\n      </trans-unit>\n      <trans-unit id="1cf42e491adc166a337a960eb84d03c0c3f677c8" datatype="html">\n        <source>The old and new passwords must be different.</source>\n        <target>The old and new passwords must be different.</target>\n      </trans-unit>\n      <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229" datatype="html">\n        <source>New password</source>\n        <target>New password</target>\n      </trans-unit>\n      <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b" datatype="html">\n        <source>Confirm new password</source>\n        <target>Confirm new password</target>\n      </trans-unit>\n      <trans-unit id="90163a3d3746819aef42e829f4446331232f3b66" datatype="html">\n        <source>Password confirmation doesn\'t match the new password.</source>\n        <target>Password confirmation doesn\'t match the new password.</target>\n      </trans-unit>\n      <trans-unit id="d06ae77f9ec46a4cdd49e7e76c73a411aaf2ee38" datatype="html">\n        <source>Please set a new password.</source>\n        <target>Please set a new password.</target>\n      </trans-unit>\n      <trans-unit id="8b5b3566e88438f51bd5f6caf6c090ed565ba5ed" datatype="html">\n        <source>You will be redirected to the login page afterwards.</source>\n        <target>You will be redirected to the login page afterwards.</target>\n      </trans-unit>\n      <trans-unit id="449dca3d3a93ead418b0541ea81b0dda7e6483c2" datatype="html">\n        <source>Welcome to Ceph!</source>\n        <target>歡迎使用 Ceph!</target>\n        <note>The welcome message on the login page</note>\n      </trans-unit>\n      <trans-unit id="0070e83d11da39d6f4bb95065c2675db1610b419" datatype="html">\n        <source>Username is required</source>\n        <target>需要指定使用者名稱</target>\n      </trans-unit>\n      <trans-unit id="1e20f8b8a4706526c9024cc2f39d568345d100dc" datatype="html">\n        <source>Password is required</source>\n        <target>需要指定密碼</target>\n      </trans-unit>\n      <trans-unit id="6765b4c916060f6bc42d9bb69e80377dbcb5e4e9" datatype="html">\n        <source>Login</source>\n        <target>登入</target>\n      </trans-unit>\n      <trans-unit id="58fc1b5c79a75370eb52644fd83fb2e7096b6649" datatype="html">\n        <source>Sorry, the user does not exist in Ceph.</source>\n        <target>抱歉,該使用者不存在於 Ceph 中。</target>\n      </trans-unit>\n      <trans-unit id="d9deb94f78e7c41b35c6622b874f06657d7604c1" datatype="html">\n        <source>Return to \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Login Page\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You\'ll be logged out from the Identity Provider when you retry logging in.\n        </source>\n        <target>Return to \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Login Page\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You\'ll be logged out from the Identity Provider when you retry logging in.\n        </target>\n      </trans-unit>\n      <trans-unit id="471e78026c258073ba687478dc54c35d9041ea42" datatype="html">\n        <source>Forbidden</source>\n        <target>已禁止</target>\n      </trans-unit>\n      <trans-unit id="02ea8ad57677e3c63f3d7814ca5e6c7b74e360b4" datatype="html">\n        <source>Sorry, you are not allowed to see what you were looking for.</source>\n        <target>抱歉,您無權查看您要尋找的內容。</target>\n      </trans-unit>\n      <trans-unit id="2240b985f17293d84cc8532fe86994aa5f63667c" datatype="html">\n        <source>Sorry, we could not find what you were looking for.</source>\n        <target>Sorry, we could not find what you were looking for.</target>\n      </trans-unit>\n      <trans-unit id="ac54c18c1b520e948095c83a3a1025f02ce6dcc6" datatype="html">\n        <source>Neither hostname nor OSD ID given</source>\n        <target>Neither hostname nor OSD ID given</target>\n      </trans-unit>\n      <trans-unit id="4f635b3cb0600409a2ad44a5bd1863c699e6a01c" datatype="html">\n        <source>Failed to retrieve SMART data.</source>\n        <target>Failed to retrieve SMART data.</target>\n      </trans-unit>\n      <trans-unit id="d82a9af5b05e7cd17640f196f163771685ff8df6" datatype="html">\n        <source>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</source>\n        <target>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</target>\n      </trans-unit>\n      <trans-unit id="04f8a3c7e8ac610e6581960162cc15f55a16696a" datatype="html">\n        <source>No SMART data available.</source>\n        <target>No SMART data available.</target>\n      </trans-unit>\n      <trans-unit id="3a03d3c2e459f8f8fa7202c0fce465d6165f9e2b" datatype="html">\n        <source>passed</source>\n        <target>passed</target>\n      </trans-unit>\n      <trans-unit id="a185c9b97513b3882604ea9bab60edbfac945c15" datatype="html">\n        <source>SMART overall-health self-assessment test result</source>\n        <target>SMART overall-health self-assessment test result</target>\n      </trans-unit>\n      <trans-unit id="41435d5a5692c8e412c74deaee95d99dbd3617e1" datatype="html">\n        <source>failed</source>\n        <target>failed</target>\n      </trans-unit>\n      <trans-unit id="ddd5dd6d930030096ea617f62c82b648a0dd9484" datatype="html">\n        <source>Device Information</source>\n        <target>Device Information</target>\n      </trans-unit>\n      <trans-unit id="380295f37caea93701d071485a38ef0bdba57133" datatype="html">\n        <source>No SMART data available for this device.</source>\n        <target>No SMART data available for this device.</target>\n      </trans-unit>\n      <trans-unit id="20cb12827cbe559a7b1da6fdae96041b3b5c3c55" datatype="html">\n        <source>SMART</source>\n        <target>SMART</target>\n      </trans-unit>\n      <trans-unit id="5758c3f16f8749f0f4e2a787f02e8b4da246102f" datatype="html">\n        <source>SMART data is loading.</source>\n        <target>SMART data is loading.</target>\n      </trans-unit>\n      <trans-unit id="a949d7e577902d0e5dc5d0971bb0170a21be7728" datatype="html">\n        <source>[object Object]</source>\n        <target>[object Object]</target>\n      </trans-unit>\n      <trans-unit id="ff92fbdec9fdd5054493eeda0d7ee8b450f83e72" datatype="html">\n        <source>RBD Configuration</source>\n        <target>RBD 組態</target>\n      </trans-unit>\n      <trans-unit id="b62d9efc8eb3b589904f6cb96a0406bbda55673a" datatype="html">\n        <source>Remove the local configuration value. The parent configuration value will be inherited and used instead.</source>\n        <target>移除本地組態值。將繼承並使用父組態值。</target>\n      </trans-unit>\n      <trans-unit id="963488a1010d46067b238c4ae917fab3907c0a3a" datatype="html">\n        <source>The mininum value is 0</source>\n        <target>最小值為 0</target>\n      </trans-unit>\n      <trans-unit id="1d8a7c8aea58294a3c57c23af0468ddf0ba0c9c7" datatype="html">\n        <source>Pools List</source>\n        <target>池清單</target>\n      </trans-unit>\n      <trans-unit id="490e15ecc922965b6d8194754c87c5583aa071f3" datatype="html">\n        <source>The name can only consist of alphanumeric characters, dashes and underscores.</source>\n        <target>名稱只能由英數字元、破折號和底線組成。</target>\n      </trans-unit>\n      <trans-unit id="9edc2b494e660618af3e5225f68d40b7ca67629c" datatype="html">\n        <source>The chosen erasure code profile name is already in use.</source>\n        <target>所選的糾刪碼設定檔名稱已在使用中。</target>\n      </trans-unit>\n      <trans-unit id="35a4206db3105ed03e0dd799e1642b75b78123e8" datatype="html">\n        <source>Root</source>\n        <target>Root</target>\n      </trans-unit>\n      <trans-unit id="cf425784c7073c7e7f7c1bb90c2c19db7e751db2" datatype="html">\n        <source>Failure domain type</source>\n        <target>Failure domain type</target>\n      </trans-unit>\n      <trans-unit id="72396a9565cf644d1fe1b21b790c4243ee270986" datatype="html">\n        <source>Device class</source>\n        <target>Device class</target>\n      </trans-unit>\n      <trans-unit id="72d80e0c07bfea1b693a33ef2245007de92a6780" datatype="html">\n        <source>Let Ceph decide</source>\n        <target>Let Ceph decide</target>\n      </trans-unit>\n      <trans-unit id="ef9ff0e6227947b48dfab4ac39ade04af758913b" datatype="html">\n        <source>Plugin</source>\n        <target>外掛程式</target>\n      </trans-unit>\n      <trans-unit id="dd69b31bce8f630eac1d4762b0bbcf72ce19d193" datatype="html">\n        <source>Data chunks (k)</source>\n        <target>資料區塊 (k)</target>\n      </trans-unit>\n      <trans-unit id="b0d26a6172d32cb81218fe2103c54a818cbc1189" datatype="html">\n        <source>Must be equal to or greater than 2.</source>\n        <target>必須大於或等於 2。</target>\n      </trans-unit>\n      <trans-unit id="dab3a299ead121169b8e08ed618c3b6a2f66691b" datatype="html">\n        <source>Coding chunks (m)</source>\n        <target>編碼區塊 (m)</target>\n      </trans-unit>\n      <trans-unit id="1e2773e5bd4948193f18f2361d663ecc3988c656" datatype="html">\n        <source>Must be equal to or greater than 1.</source>\n        <target>必須大於或等於 1。</target>\n      </trans-unit>\n      <trans-unit id="6cde4c945a49a260c0a47bcc7cd956846930a5f7" datatype="html">\n        <source>Durability estimator (c)</source>\n        <target>持久性估值 (c)</target>\n      </trans-unit>\n      <trans-unit id="af668c2a095a979ea2b4e43cd82c2120ab56c21c" datatype="html">\n        <source>Locality (l)</source>\n        <target>本地性 (l)</target>\n      </trans-unit>\n      <trans-unit id="d455a110bf6d2235e314e295ce1dfeee93d3dff2" datatype="html">\n        <source>Crush failure domain</source>\n        <target>CRUSH 故障網域</target>\n      </trans-unit>\n      <trans-unit id="b74a495f041f7dd102eee5c0bbc9e03083b538ae" datatype="html">\n        <source>Crush Locality</source>\n        <target>CRUSH 本地性</target>\n      </trans-unit>\n      <trans-unit id="a2f14a73f7a6e94479f67423cc51102da8d6f524" datatype="html">\n        <source>None</source>\n        <target>無</target>\n      </trans-unit>\n      <trans-unit id="2981733b912b693a9dd9d915d6d34f4692cc874a" datatype="html">\n        <source>Technique</source>\n        <target>技術</target>\n      </trans-unit>\n      <trans-unit id="e0098b6e47b04ec817361f384ce81d454ba5c0bb" datatype="html">\n        <source>Packetsize</source>\n        <target>封包大小</target>\n      </trans-unit>\n      <trans-unit id="c0252cd81ca54d0a2f69ec9ccf4248e73df5aa4a" datatype="html">\n        <source>Crush root</source>\n        <target>CRUSH 根</target>\n      </trans-unit>\n      <trans-unit id="1548d5c76f0406ddd1ba3c557e1e6db22e95b340" datatype="html">\n        <source>Crush device class</source>\n        <target>CRUSH 裝置類別</target>\n      </trans-unit>\n      <trans-unit id="5e85feb6f9f0334366e46ee09ca6b8df52397432" datatype="html">\n        <source>any</source>\n        <target>任何</target>\n      </trans-unit>\n      <trans-unit id="03d84645f6e019c5a43909bbf2ea1696ee88332c" datatype="html">\n        <source>Directory</source>\n        <target>目錄</target>\n      </trans-unit>\n      <trans-unit id="2fecea01ce1d44114ee45144eff6d47a5016a74f" datatype="html">\n        <source>Name...</source>\n        <target>名稱...</target>\n      </trans-unit>\n      <trans-unit id="16e113230b6b0d3165e076300880542bac7c8138" datatype="html">\n        <source>The chosen Ceph pool name is already in use.</source>\n        <target>所選的 Ceph 池名稱已在使用中。</target>\n      </trans-unit>\n      <trans-unit id="c75b132bef7b29fa5171768303c4b96e34ccaf68" datatype="html">\n        <source>It\'s not possible to create an RBD pool with \'/\' in the name.\n              Please change the name or remove \'rbd\' from the applications list.</source>\n        <target>It\'s not possible to create an RBD pool with \'/\' in the name.\n              Please change the name or remove \'rbd\' from the applications list.</target>\n      </trans-unit>\n      <trans-unit id="171dc6d5c6bc4615d99778b0088cae80fd00bd10" datatype="html">\n        <source>Pool name can only contain letters, numbers, \'.\', \'-\', \'_\' or \'/\'.</source>\n        <target>Pool name can only contain letters, numbers, \'.\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="b85c657469e5ec8231c3de99b22f437bc01ffde5" datatype="html">\n        <source>Pool type</source>\n        <target>池類型</target>\n      </trans-unit>\n      <trans-unit id="526c5443254c3b126eedb264840ffe827727bfd3" datatype="html">\n        <source>-- Select a pool type --</source>\n        <target>-- 選取池類型 --</target>\n      </trans-unit>\n      <trans-unit id="6abfbe47b630929d93c7343dc154599c2e59330a" datatype="html">\n        <source>PG Autoscale</source>\n        <target>PG Autoscale</target>\n      </trans-unit>\n      <trans-unit id="0aa21053410a94aa61d16985a4e95fd65523430d" datatype="html">\n        <source>Placement groups</source>\n        <target>放置群組</target>\n      </trans-unit>\n      <trans-unit id="6301f1391d726f8f450bb358058534db19541ca9" datatype="html">\n        <source>At least one placement group is needed!</source>\n        <target>至少需要一個放置群組!</target>\n      </trans-unit>\n      <trans-unit id="ba9469a1ce6ed36e039c1f67247c8c81a5c71449" datatype="html">\n        <source>Your cluster can\'t handle this many PGs. Please recalculate the PG amount needed.</source>\n        <target>您的叢集無法處理這麼多的 PG。請重新計算所需的 PG 數量。</target>\n      </trans-unit>\n      <trans-unit id="80ac68cd883369dac20688bc32b4cb33291b5e50" datatype="html">\n        <source>Calculation help</source>\n        <target>計算說明</target>\n      </trans-unit>\n      <trans-unit id="fccbd60493df26705d957ed6c02a3c447894678f" datatype="html">\n        <source>The current PGs settings were calculated for you, you\n                should make sure the values suit your needs before submit.</source>\n        <target>The current PGs settings were calculated for you, you\n                should make sure the values suit your needs before submit.</target>\n      </trans-unit>\n      <trans-unit id="a43b2695131b48b76cebba676aba98a2bee17515" datatype="html">\n        <source>Replicated size</source>\n        <target>複製大小</target>\n      </trans-unit>\n      <trans-unit id="7bff144a4c4dc63b0e18fff2617d61a7ebdf2b6c" datatype="html">\n        <source>Minimum: \n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/>\n        </source>\n        <target>Minimum: \n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="1a9c54b41f6d58a74e5d0aa3429ed0c87a482551" datatype="html">\n        <source>Maximum: \n          <x id="INTERPOLATION" equiv-text="{{ getMaxSize() }}"/>\n        </source>\n        <target>Maximum: \n          <x id="INTERPOLATION" equiv-text="{{ getMaxSize() }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6ab647b95bd2347ae6f4605576de5e0269fb893a" datatype="html">\n        <source>The size specified is out of range. A value from\n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/> to \n          <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.\n        </source>\n        <target>The size specified is out of range. A value from\n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/> to \n          <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.\n        </target>\n      </trans-unit>\n      <trans-unit id="920617c6a1a4805e53bcb5af6a9c76f8387e89c6" datatype="html">\n        <source>Flags</source>\n        <target>旗標</target>\n      </trans-unit>\n      <trans-unit id="1c870fb00256b8a5b9cb9cd1a124e6390b9bc639" datatype="html">\n        <source>EC Overwrites</source>\n        <target>EC 覆寫</target>\n      </trans-unit>\n      <trans-unit id="f1abafaeb40ce52355ddcc24686e3cd17b64e08a" datatype="html">\n        <source>Applications</source>\n        <target>應用程式</target>\n      </trans-unit>\n      <trans-unit id="fb9308b82fc183f710df60909f49cfc73aa5e076" datatype="html">\n        <source>CRUSH</source>\n        <target>CRUSH</target>\n      </trans-unit>\n      <trans-unit id="9de7dde00e2139cc4bd03b1837afbe72ad15a1ff" datatype="html">\n        <source>Erasure code profile</source>\n        <target>糾刪碼設定檔</target>\n      </trans-unit>\n      <trans-unit id="39b4620e6bd444e0a57a0a5c03fa8c96d7fe5235" datatype="html">\n        <source>-- No erasure code profile available --</source>\n        <target>-- 沒有可用的糾刪碼設定檔 --</target>\n      </trans-unit>\n      <trans-unit id="498561757390d5528b263ce450d5f38efb00266d" datatype="html">\n        <source>-- Select an erasure code profile --</source>\n        <target>-- 選取糾刪碼設定檔 --</target>\n      </trans-unit>\n      <trans-unit id="33150f22ce5348aa6c499bd092c3f4f3695d62cc" datatype="html">\n        <source>Crush ruleset</source>\n        <target>CRUSH 規則集</target>\n      </trans-unit>\n      <trans-unit id="c69b0bcd4698aa845d32c4c4ad488492552cb469" datatype="html">\n        <source>A new crush ruleset will be implicitly created.</source>\n        <target>A new crush ruleset will be implicitly created.</target>\n      </trans-unit>\n      <trans-unit id="896e9987db5e9bb279e6deed5d2dff28c242ef66" datatype="html">\n        <source>There are no rules.</source>\n        <target>There are no rules.</target>\n      </trans-unit>\n      <trans-unit id="73a6b31116b3cc322af951daa0bafdc169e6c42e" datatype="html">\n        <source>-- Select a crush rule --</source>\n        <target>-- 選取 CRUSH 規則 --</target>\n      </trans-unit>\n      <trans-unit id="ea91d648f92002bc9f96d9b26b735c83ca0b53c6" datatype="html">\n        <source>This rule can\'t be deleted as it is in use.</source>\n        <target>This rule can\'t be deleted as it is in use.</target>\n      </trans-unit>\n      <trans-unit id="92da80699921e89fb19372e25b8d0f3b9fa427fc" datatype="html">\n        <source>Crush rule</source>\n        <target>CRUSH 規則</target>\n      </trans-unit>\n      <trans-unit id="5489e9f96835f469f6f728a00d8efa88ea5bc940" datatype="html">\n        <source>Crush steps</source>\n        <target>CRUSH 步驟</target>\n      </trans-unit>\n      <trans-unit id="fc5f5496a9e50fe69e1a09784f28d94944108294" datatype="html">\n        <source>Rule is not in use.</source>\n        <target>Rule is not in use.</target>\n      </trans-unit>\n      <trans-unit id="023d6f718770d2ea4ab8cabe26b0ec27ef967ec2" datatype="html">\n        <source>Used by pools</source>\n        <target>Used by pools</target>\n      </trans-unit>\n      <trans-unit id="104a0e6900d1d1b0c8cf9e5947e36edb352583fc" datatype="html">\n        <source>The rule can\'t be used in the current cluster as it has\n                  too few OSDs to meet the minimum required OSD by this rule.</source>\n        <target>The rule can\'t be used in the current cluster as it has\n                  too few OSDs to meet the minimum required OSD by this rule.</target>\n      </trans-unit>\n      <trans-unit id="2208d63d5940ce656006a220102b1eb2b5e553da" datatype="html">\n        <source>Compression</source>\n        <target>壓縮</target>\n      </trans-unit>\n      <trans-unit id="37e10df2d9c0c25ef04ac112c9c9a7723e8efae0" datatype="html">\n        <source>Mode</source>\n        <target>模式</target>\n      </trans-unit>\n      <trans-unit id="6c6f25c47da62ec597c6057a36ddfc3209811ec5" datatype="html">\n        <source>Algorithm</source>\n        <target>演算法</target>\n      </trans-unit>\n      <trans-unit id="4903231d42089325a28892c0fde1aed46b733ae6" datatype="html">\n        <source>-- No erasure compression algorithm available --</source>\n        <target>-- 沒有可用的糾刪壓縮演算法 --</target>\n      </trans-unit>\n      <trans-unit id="5d68ddb254275f8f44221e9ad6d8ceeb59ca46a6" datatype="html">\n        <source>Minimum blob size</source>\n        <target>Blob 最小大小</target>\n      </trans-unit>\n      <trans-unit id="fb2f176df80647137cbb02bbeb29e5dec707a400" datatype="html">\n        <source>e.g., 128KiB</source>\n        <target>例如 128 KiB</target>\n      </trans-unit>\n      <trans-unit id="1b7f6e53a4521c6eb3ced4c007fdd4cf80bb7707" datatype="html">\n        <source>Value should be greater than 0</source>\n        <target>值應大於 0</target>\n      </trans-unit>\n      <trans-unit id="8db98ab14b4e207ec763dfdefbc2dae367aab1cc" datatype="html">\n        <source>Value should be less than the maximum blob size</source>\n        <target>Value should be less than the maximum blob size</target>\n      </trans-unit>\n      <trans-unit id="151efb127a9a4dd25259a0b2055442318a141f5b" datatype="html">\n        <source>Maximum blob size</source>\n        <target>Blob 最大大小</target>\n      </trans-unit>\n      <trans-unit id="0c656f0e346bbadf46eb1a5d20d0307a3bd20ba8" datatype="html">\n        <source>e.g., 512KiB</source>\n        <target>例如 512 KiB</target>\n      </trans-unit>\n      <trans-unit id="0a65a24eee8a026f3b1113fe9e157e9a0dd69486" datatype="html">\n        <source>Value should be greater than the minimum blob size</source>\n        <target>值應大於 blob 最小大小</target>\n      </trans-unit>\n      <trans-unit id="261ba09c4a59de83f48f52a23fd328da37e61ff4" datatype="html">\n        <source>Ratio</source>\n        <target>比率</target>\n      </trans-unit>\n      <trans-unit id="c1430457a9c3c66366e51d76bf10396014c576be" datatype="html">\n        <source>Compression ratio</source>\n        <target>壓縮率</target>\n      </trans-unit>\n      <trans-unit id="ae5ce6de352cde949998fb10754459c3a4eb183b" datatype="html">\n        <source>Value should be between 0.0 and 1.0</source>\n        <target>值應介於 0.0 至 1.0 之間</target>\n      </trans-unit>\n      <trans-unit id="8bb8293aa8161433778762ae025ffd5e7c85795e" datatype="html">\n        <source>Quotas</source>\n        <target>Quotas</target>\n      </trans-unit>\n      <trans-unit id="d99b34162c9c34f10d0ccd8dbae83d8569c2db77" datatype="html">\n        <source>Max bytes</source>\n        <target>Max bytes</target>\n      </trans-unit>\n      <trans-unit id="a1d14a18879c62f3f4ed705318b7164a1160e249" datatype="html">\n        <source>Leave it blank or specify 0 to disable this quota.</source>\n        <target>Leave it blank or specify 0 to disable this quota.</target>\n      </trans-unit>\n      <trans-unit id="7565b131562ff6c5f769fdbd239a772154abdd97" datatype="html">\n        <source>A valid quota should be greater than 0.</source>\n        <target>A valid quota should be greater than 0.</target>\n      </trans-unit>\n      <trans-unit id="f0016bd458baa88284a658ce9eeda42d8ad88d2c" datatype="html">\n        <source>e.g., 10GiB</source>\n        <target>例如 10 GiB</target>\n      </trans-unit>\n      <trans-unit id="b8bf35b66f09a301eef92ffc3cb2fd259df67ce9" datatype="html">\n        <source>Max objects</source>\n        <target>Max objects</target>\n      </trans-unit>\n      <trans-unit id="95f348167622d832c5ae532b6944635c8e2ae5cb" datatype="html">\n        <source>The value should be greater or equal to 0</source>\n        <target>The value should be greater or equal to 0</target>\n      </trans-unit>\n      <trans-unit id="4f8b2bb476981727ab34ed40fde1218361f92c45" datatype="html">\n        <source>Details</source>\n        <target>詳細資料</target>\n      </trans-unit>\n      <trans-unit id="fbbaf5cb02ed419e79a27072478f716a4666a99d" datatype="html">\n        <source>Performance Details</source>\n        <target>效能詳細資料</target>\n      </trans-unit>\n      <trans-unit id="3938a411d76796f8ae73b72ea4c77661207453bd" datatype="html">\n        <source>Cache Tiers Details</source>\n        <target>快取層詳細資料</target>\n      </trans-unit>\n      <trans-unit id="ecbc084370a732fc3cde1966a60af78d71424ab4" datatype="html">\n        <source>Create Bootstrap Token</source>\n        <target>Create Bootstrap Token</target>\n      </trans-unit>\n      <trans-unit id="603e9cc3ef2aab57f2b0a00e465b23b9cabefd9c" datatype="html">\n        <source>To create a bootstrap token which can be imported\n          by a peer site cluster, provide the local site\'s name, select\n          which pools will have mirroring enabled, and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Generate\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>To create a bootstrap token which can be imported\n          by a peer site cluster, provide the local site\'s name, select\n          which pools will have mirroring enabled, and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Generate\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="660f97cd3188f8a04bd03b79e703fec72c6df04c" datatype="html">\n        <source>Site Name</source>\n        <target>Site Name</target>\n      </trans-unit>\n      <trans-unit id="8c2a1dc72cffaf7ab3dc5599bf77b0a7fcad2b20" datatype="html">\n        <source>At least one pool is required.</source>\n        <target>At least one pool is required.</target>\n      </trans-unit>\n      <trans-unit id="1b258b258b4cc475ceb2871305b61756b0134f4a" datatype="html">\n        <source>Generate</source>\n        <target>Generate</target>\n      </trans-unit>\n      <trans-unit id="1edc1fc6cfbbb22353050ad6788508b3ed584f53" datatype="html">\n        <source>Token</source>\n        <target>Token</target>\n      </trans-unit>\n      <trans-unit id="ff785f5596aef34a93b9b4d1023e95c62eef5740" datatype="html">\n        <source>Generated token...</source>\n        <target>Generated token...</target>\n      </trans-unit>\n      <trans-unit id="5467a6bb0e7fade6def7499400d5e2a7d8d3da20" datatype="html">\n        <source>Import Bootstrap Token</source>\n        <target>Import Bootstrap Token</target>\n      </trans-unit>\n      <trans-unit id="9bb7aee0dec5164f45c0aa2f35f2fb2149d2c1d2" datatype="html">\n        <source>To import a bootstrap token which was created\n          by a peer site cluster, provide the local site\'s name, select\n          which pools will have mirroring enabled, provide the generated\n          token, and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Import\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>To import a bootstrap token which was created\n          by a peer site cluster, provide the local site\'s name, select\n          which pools will have mirroring enabled, provide the generated\n          token, and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Import\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="9200e09686136a1d42adfb89c12fbfef2deea125" datatype="html">\n        <source>Direction</source>\n        <target>Direction</target>\n      </trans-unit>\n      <trans-unit id="9761484679958da8d12841a4efa5964d33fae575" datatype="html">\n        <source>The token is invalid.</source>\n        <target>The token is invalid.</target>\n      </trans-unit>\n      <trans-unit id="a059709f71aa4c0ac219e160e78a738682ca6a36" datatype="html">\n        <source>Import</source>\n        <target>Import</target>\n      </trans-unit>\n      <trans-unit id="b87bd96249f8afc23f5301cddb57b1464a98e71a" datatype="html">\n        <source>Edit site name</source>\n        <target>Edit site name</target>\n      </trans-unit>\n      <trans-unit id="cfff72c667274c12eb1ff71eadc25871c10c42dc" datatype="html">\n        <source>Edit the site name and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>Edit the site name and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="40b7acea5b43f45e0bbd1efeba5200af4687981d" datatype="html">\n        <source>Site Name:</source>\n        <target>Site Name:</target>\n      </trans-unit>\n      <trans-unit id="f0b5d789d42c0e69348e5fe0037fcbf5b5fbbdcc" datatype="html">\n        <source>Move an image to trash</source>\n        <target>將影像移至垃圾桶</target>\n      </trans-unit>\n      <trans-unit id="7ad22c1d4aab3b8946603cea62de266d5129ca10" datatype="html">\n        <source>This image contains snapshot(s), which will prevent it\n            from being removed after moved to trash.</source>\n        <target>This image contains snapshot(s), which will prevent it\n            from being removed after moved to trash.</target>\n      </trans-unit>\n      <trans-unit id="b4b3ced4f8aad4c446f348b14c3d94be2e2c350c" datatype="html">\n        <source>To move \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ imageSpecStr }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,\n          click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optionally, you can pick an expiration date.\n        </source>\n        <target>To move \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ imageSpecStr }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,\n          click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optionally, you can pick an expiration date.\n        </target>\n      </trans-unit>\n      <trans-unit id="88f27d390844aad53b4240360e928156c5f0d326" datatype="html">\n        <source>Protection expires at</source>\n        <target>保護的過期日為</target>\n      </trans-unit>\n      <trans-unit id="da166e9a0d27322f6ba8916d71ecc0f9905bb4b1" datatype="html">\n        <source>NOT PROTECTED</source>\n        <target>無保護</target>\n      </trans-unit>\n      <trans-unit id="a1506e5f2ca22cad14502ec7a20fb6113ace145d" datatype="html">\n        <source>Wrong date format. Please use "YYYY-MM-DD HH:mm:ss".</source>\n        <target>日期格式錯誤。請使用「YYYY-MM-DD HH:mm:ss」。</target>\n      </trans-unit>\n      <trans-unit id="aa7ea0bb7495281e0b3258467ac7d90a1e44a1a1" datatype="html">\n        <source>Protection has already expired. Please pick a future date or leave it empty.</source>\n        <target>保護已過期。請選取一個未來的日期或保留空白。</target>\n      </trans-unit>\n      <trans-unit id="536b3205c0c0d4d21685ec06feccfcf2fe14deb1" datatype="html">\n        <source>Move Image</source>\n        <target>移動影像</target>\n      </trans-unit>\n      <trans-unit id="c9f1026c1235f4d76ace47449e806efd181ab332" datatype="html">\n        <source>Deleting this image will also delete all its snapshots.</source>\n        <target>Deleting this image will also delete all its snapshots.</target>\n      </trans-unit>\n      <trans-unit id="55f864597e84d9bf88769e1fbfda1d64452430c9" datatype="html">\n        <source>The following snapshots are currently protected and will be removed:</source>\n        <target>The following snapshots are currently protected and will be removed:</target>\n      </trans-unit>\n      <trans-unit id="8a9910cd114c1deb9af74f6f99b4173403965bf2" datatype="html">\n        <source>Gateways</source>\n        <target>Gateways</target>\n      </trans-unit>\n      <trans-unit id="8835b9e49a3348b0a2f2162c21118af1f4bee45a" datatype="html">\n        <source>Must be greater than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'min\'] }}"/>.\n        </source>\n        <target>Must be greater than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'min\'] }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="bbddac59563c8c126e3fe28691e4e247614fcbd1" datatype="html">\n        <source>Must be less than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'max\'] }}"/>.\n        </source>\n        <target>Must be less than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'max\'] }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="e95ae009d0bdb45fcc656e8b65248cf7396080d5" datatype="html">\n        <source>Overview</source>\n        <target>綜覽</target>\n      </trans-unit>\n      <trans-unit id="bbd2045d5c37e4bb39a3c0fb62ea1ddf70a12838" datatype="html">\n        <source>Targets</source>\n        <target>目標</target>\n      </trans-unit>\n      <trans-unit id="6803e31b7395d94934e091a49a9524026b59b018" datatype="html">\n        <source>Discovery Authentication</source>\n        <target>探查驗證</target>\n      </trans-unit>\n      <trans-unit id="e08a77594f3d89311cdf6da5090044270909c194" datatype="html">\n        <source>User</source>\n        <target>使用者</target>\n      </trans-unit>\n      <trans-unit id="0214f773f8e394f50f953f39962e352d7863e959" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n              can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>使用者名稱的長度必須介於 8 至 64 個字元之間,並且只能包含以下\n                        字元︰字母、「.」、「@」、「-」、「_」或「:」。</target>\n      </trans-unit>\n      <trans-unit id="c32ef07f8803a223a83ed17024b38e8d82292407" datatype="html">\n        <source>Password</source>\n        <target>密碼</target>\n      </trans-unit>\n      <trans-unit id="6682d1c00263bee204583a5d589b308b6be88b0f" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n              and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n              and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="ff40391de7a1944ea95091e4045cc34c4979b736" datatype="html">\n        <source>Mutual User</source>\n        <target>雙向驗證使用者</target>\n      </trans-unit>\n      <trans-unit id="0cf73dbebe99b737c4d288788182fc356e3c93d3" datatype="html">\n        <source>Mutual Password</source>\n        <target>雙向驗證密碼</target>\n      </trans-unit>\n      <trans-unit id="8800276925157c666b103c36ff7fe8ffe11980b4" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters and\n              can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters and\n              can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="53a583cd5f15059cc958b7d547f72cc78f68e123" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n    on how to configure and enable the iSCSI Targets management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n    on how to configure and enable the iSCSI Targets management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="3b301d0044f62c92af0da53d7aaca52a436a547d" datatype="html">\n        <source>Available information:</source>\n        <target>可用資訊︰</target>\n      </trans-unit>\n      <trans-unit id="332227f088a4877b3c11f5fb3ae8bc812c470fae" datatype="html">\n        <source>iSCSI Targets not available</source>\n        <target>無法使用 iSCSI 目標</target>\n      </trans-unit>\n      <trans-unit id="8414a5cb9d71cc1b21b10e4a9d1f2dad558f3361" datatype="html">\n        <source>Discovery authentication</source>\n        <target>Discovery authentication</target>\n      </trans-unit>\n      <trans-unit id="0f6e8f6094b180eaf1f11bc0ffe383f1cdcd059e" datatype="html">\n        <source>Only available for RBD images with \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>fast-diff\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> enabled\n        </source>\n        <target>Only available for RBD images with \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>fast-diff\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> enabled\n        </target>\n      </trans-unit>\n      <trans-unit id="e70fcca5a99575cffef3ff8cbd5e69f06ffd0f1c" datatype="html">\n        <source>Pool</source>\n        <target>池</target>\n      </trans-unit>\n      <trans-unit id="03cc5b14b0a20d075e9009ff021f4f1660ba348a" datatype="html">\n        <source>Data Pool</source>\n        <target>資料池</target>\n      </trans-unit>\n      <trans-unit id="1b051734b0ee9021991c91b3ed4e81c244322462" datatype="html">\n        <source>Created</source>\n        <target>已建立</target>\n      </trans-unit>\n      <trans-unit id="7faaaa08f56427999f3be41df1093ce4089bbd75" datatype="html">\n        <source>Size</source>\n        <target>大小</target>\n      </trans-unit>\n      <trans-unit id="afdb601c16162f2c798b16a2920955f1cc6a20aa" datatype="html">\n        <source>Objects</source>\n        <target>物件</target>\n      </trans-unit>\n      <trans-unit id="ceac8e132384322ec778ba760875a6c6897d3e42" datatype="html">\n        <source>Object size</source>\n        <target>物件大小</target>\n      </trans-unit>\n      <trans-unit id="0a65771c9a73b9aa609d592fc96a64801a8f40bd" datatype="html">\n        <source>Provisioned</source>\n        <target>已佈建</target>\n      </trans-unit>\n      <trans-unit id="84a36cb75660b736773fe36ffa3d54f0f0fe363e" datatype="html">\n        <source>N/A</source>\n        <target>無</target>\n      </trans-unit>\n      <trans-unit id="e5c009342a4e8381f64341d0bb61c2e4685f5a4b" datatype="html">\n        <source>Total provisioned</source>\n        <target>總佈建數</target>\n      </trans-unit>\n      <trans-unit id="7f6bf8a43ae415f527ac961ea62471b983aaa97b" datatype="html">\n        <source>Striping unit</source>\n        <target>分割單位</target>\n      </trans-unit>\n      <trans-unit id="db710e8a8f011923f2d15d713fbae49c38b02b26" datatype="html">\n        <source>Striping count</source>\n        <target>分割計數</target>\n      </trans-unit>\n      <trans-unit id="3a4c2a9e76634ff14a60d52a718296f722d47c67" datatype="html">\n        <source>Parent</source>\n        <target>父</target>\n      </trans-unit>\n      <trans-unit id="6a209e68d78ffc2cc9c53d2e76158624efab71ad" datatype="html">\n        <source>Block name prefix</source>\n        <target>區塊名稱字首</target>\n      </trans-unit>\n      <trans-unit id="5704ec2049d007c5f5fb495a5d8b607e68d58081" datatype="html">\n        <source>Order</source>\n        <target>順序</target>\n      </trans-unit>\n      <trans-unit id="f21b1d17b6c5042bb5805516eee37fde33739dd8" datatype="html">\n        <source>Snapshots</source>\n        <target>快照</target>\n      </trans-unit>\n      <trans-unit id="a5f9ba9bb9faa8284bcadb1cdbc6aaf969e9c4bb" datatype="html">\n        <source>Image</source>\n        <target>影像</target>\n      </trans-unit>\n      <trans-unit id="58e58f1a8786da9031a05e6770c5dafce82badf5" datatype="html">\n        <source>This setting overrides the global value</source>\n        <target>此設定會覆寫全域值</target>\n      </trans-unit>\n      <trans-unit id="5decb3917d46a9ac6e5813699801becb7c3c1455" datatype="html">\n        <source>Global</source>\n        <target>全域</target>\n      </trans-unit>\n      <trans-unit id="36b46714164964c6258b08ed0a25f57d8a950f92" datatype="html">\n        <source>This is the global value. No value for this option has been set for this image.</source>\n        <target>此值為全域值。未為此影像設定此選項的值。</target>\n      </trans-unit>\n      <trans-unit id="6547c9c4d5f62942ac4b1fe459cf9a03d4dbf5a0" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/> from\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/> from\n        </target>\n      </trans-unit>\n      <trans-unit id="0e9ecf29a4fa5b057bd8052e0d801b3fde6a30bf" datatype="html">\n        <source>\'/\' and \'@\' are not allowed.</source>\n        <target>不允許使用「/」和「@」。</target>\n      </trans-unit>\n      <trans-unit id="b99417c4dd46286ffd37c8d2e987c8b512ec7052" datatype="html">\n        <source>-- No rbd pools available --</source>\n        <target>-- 沒有可用的 RBD 池 --</target>\n      </trans-unit>\n      <trans-unit id="ef83ec9c304a89d45650e580dcdc2978c37b3a83" datatype="html">\n        <source>-- Select a pool --</source>\n        <target>-- 選取池 --</target>\n      </trans-unit>\n      <trans-unit id="d649904466254d13df1fbf2d255f0bbc6553d213" datatype="html">\n        <source>-- No namespaces available --</source>\n        <target>-- No namespaces available --</target>\n      </trans-unit>\n      <trans-unit id="e22d7bb4d2d561e0832ee0b9a3da2468a080c4f0" datatype="html">\n        <source>-- Select a namespace --</source>\n        <target>-- Select a namespace --</target>\n      </trans-unit>\n      <trans-unit id="49449943d8cbf59d8c401c8bd2e76f92e207cc5f" datatype="html">\n        <source>Use a dedicated data pool</source>\n        <target>使用專屬的資料池</target>\n      </trans-unit>\n      <trans-unit id="870aee0dd31a9643bf62007beb8f1ae1deb34d42" datatype="html">\n        <source>Data pool</source>\n        <target>資料池</target>\n      </trans-unit>\n      <trans-unit id="3792ca829d9b9f687e1f5d7733d30e9bb0bfec47" datatype="html">\n        <source>Dedicated pool that stores the object-data of the RBD.</source>\n        <target>專用於儲存 RBD 的物件資料的池</target>\n      </trans-unit>\n      <trans-unit id="0a88bbee20570aaf9615332fb27020627044874d" datatype="html">\n        <source>You have to increase the size.</source>\n        <target>您必須增加大小。</target>\n      </trans-unit>\n      <trans-unit id="bc2e854e111ecf2bd7db170da5e3c2ed08181d88" datatype="html">\n        <source>Advanced</source>\n        <target>進階</target>\n      </trans-unit>\n      <trans-unit id="3562a3778695a5f9c0445660e35301f0a39aaf73" datatype="html">\n        <source>Striping</source>\n        <target>分割</target>\n      </trans-unit>\n      <trans-unit id="ef3c3f3b5f562a5cdbe0ee2874287db1534b5958" datatype="html">\n        <source>Stripe unit</source>\n        <target>分割單位</target>\n      </trans-unit>\n      <trans-unit id="84471be1049006edecbcaef1a32ae0893c229c50" datatype="html">\n        <source>-- Select stripe unit --</source>\n        <target>-- 選取分割單位 --</target>\n      </trans-unit>\n      <trans-unit id="8d32c5c54c8581c774a7f467fbd4e329b15a74fa" datatype="html">\n        <source>This field is required because stripe count is defined!</source>\n        <target>由於已定義分割計數,因此必須填寫此欄位!</target>\n      </trans-unit>\n      <trans-unit id="6bbf9040be7c5491d4a03f2185708f43a6582a3b" datatype="html">\n        <source>Stripe unit is greater than object size.</source>\n        <target>分割單位大於物件大小。</target>\n      </trans-unit>\n      <trans-unit id="a682f49f9b761591661276d7c6f550e641a130a4" datatype="html">\n        <source>Stripe count</source>\n        <target>分割計數</target>\n      </trans-unit>\n      <trans-unit id="baa74031990c5370008ba622d0a250f0929097f4" datatype="html">\n        <source>This field is required because stripe unit is defined!</source>\n        <target>由於已定義分割單位,因此必須填寫此欄位!</target>\n      </trans-unit>\n      <trans-unit id="cd2ada6d5ecbd5cbf89eae0a1f5326efedac0dbc" datatype="html">\n        <source>Stripe count must be greater than 0.</source>\n        <target>分割計數必須大於 0。</target>\n      </trans-unit>\n      <trans-unit id="2c07d24bb422aa8e5e568df1c5709083f0a9c8f1" datatype="html">\n        <source>Create Namespace</source>\n        <target>Create Namespace</target>\n      </trans-unit>\n      <trans-unit id="0cca6c0485f96d3a9610d0339cb1275a5f2c3f46" datatype="html">\n        <source>Namespace already exists.</source>\n        <target>Namespace already exists.</target>\n      </trans-unit>\n      <trans-unit id="5c5331983af566d4ac6a1024d15a3511786a4aa6" datatype="html">\n        <source>You are about to rollback</source>\n        <target>您正要復原</target>\n      </trans-unit>\n      <trans-unit id="49c0408946a6d67185947f455f15cc201d0d78e6" datatype="html">\n        <source>Purge Trash</source>\n        <target>清除垃圾桶</target>\n      </trans-unit>\n      <trans-unit id="681501eecd7f44d4b7a2f619605b36676e04c5b6" datatype="html">\n        <source>To purge, select one or</source>\n        <target>To purge, select one or</target>\n      </trans-unit>\n      <trans-unit id="dfc3c34e182ea73c5d784ff7c8135f087992dac1" datatype="html">\n        <source>All</source>\n        <target>全部</target>\n      </trans-unit>\n      <trans-unit id="ea5d338dcef50ff5c24439fd784f6a67b594c33f" datatype="html">\n        <source>pools and click</source>\n        <target>pools and click</target>\n      </trans-unit>\n      <trans-unit id="55a4f598a4894b7fd5cb88f0ffd3c37ad009dd70" datatype="html">\n        <source>Pool:</source>\n        <target>池︰</target>\n      </trans-unit>\n      <trans-unit id="d43dd2b9f7797e4cf3a604695bb33e4479108516" datatype="html">\n        <source>Pool name...</source>\n        <target>池名稱...</target>\n      </trans-unit>\n      <trans-unit id="b0e7c7ed1d51a0c205c815048bc9f79e24ee6db2" datatype="html">\n        <source>Restore Image</source>\n        <target>回存影像</target>\n      </trans-unit>\n      <trans-unit id="7369384817e0ad61ce871c9afdfbb538df2f97c1" datatype="html">\n        <source>To restore</source>\n        <target>若要回存</target>\n      </trans-unit>\n      <trans-unit id="e7f0abefc608f7fb452c2dc9b1cdc3dec432160e" datatype="html">\n        <source>type the image\'s new name and click</source>\n        <target>鍵入影像的新名稱并按一下</target>\n      </trans-unit>\n      <trans-unit id="41307dd56fea669eed72e12a6c23af275f6bfd82" datatype="html">\n        <source>New Name</source>\n        <target>新名稱</target>\n      </trans-unit>\n      <trans-unit id="5c96a761dc55a21882c132c929583a424c9b8cf4" datatype="html">\n        <source>Expired at</source>\n        <target>過期日為</target>\n      </trans-unit>\n      <trans-unit id="661041e3fcff4d3e75c561e038ca2504cf2cc643" datatype="html">\n        <source>Protected until</source>\n        <target>保護過期日為</target>\n      </trans-unit>\n      <trans-unit id="0ee3b2322a1d3277f7e3fdb8a5141ac42bcf350b" datatype="html">\n        <source>This image is protected until \n          <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.\n        </source>\n        <target>This image is protected until \n          <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="a674ab267d1934bf395f87ca1503fd474296893f" datatype="html">\n        <source>iSCSI Topology</source>\n        <target>iSCSI 拓撲</target>\n      </trans-unit>\n      <trans-unit id="051dcc342cfa5c1eaf187a2001aaa162379a160c" datatype="html">\n        <source>Configure</source>\n        <target>Configure</target>\n      </trans-unit>\n      <trans-unit id="9e515f954730279c31d5301f02479666d6264e8b" datatype="html">\n        <source>Changing these parameters from their default values is usually not necessary.</source>\n        <target>通常不需要變更這些參數的預設值。</target>\n      </trans-unit>\n      <trans-unit id="4e2591df099ddac796cda401c5f282da779d45f2" datatype="html">\n        <source>Identifier</source>\n        <target>Identifier</target>\n      </trans-unit>\n      <trans-unit id="62480a4859976427cf18fc8ef41d3a438eda0412" datatype="html">\n        <source>lun</source>\n        <target>lun</target>\n      </trans-unit>\n      <trans-unit id="8afc9eb4405e0aa554b2ba14140ef790cdecc040" datatype="html">\n        <source>wwn</source>\n        <target>wwn</target>\n      </trans-unit>\n      <trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html">\n        <source>Settings</source>\n        <target>設定</target>\n      </trans-unit>\n      <trans-unit id="69a47cbabcc51ca942606e1d8da0ec11f98a2690" datatype="html">\n        <source>Backstore</source>\n        <target>支援儲存</target>\n      </trans-unit>\n      <trans-unit id="68e710782ccb5398b3acb8844caf0b199da2c3da" datatype="html">\n        <source>Confirm</source>\n        <target>確認</target>\n      </trans-unit>\n      <trans-unit id="339878da255ab55447c43afef8d9b2f9753bf5f6" datatype="html">\n        <source>Advanced Settings</source>\n        <target>進階設定</target>\n      </trans-unit>\n      <trans-unit id="1406c2fb12a20c1528b19bcc5e24a6a2386167f3" datatype="html">\n        <source>Target IQN</source>\n        <target>目標 IQN</target>\n      </trans-unit>\n      <trans-unit id="5fe42339be910372fa689f559155631862d218e8" datatype="html">\n        <source>IQN has wrong pattern.</source>\n        <target>IQN 模式錯誤。</target>\n      </trans-unit>\n      <trans-unit id="050a7ff057d1e895357540406b6be5652b4d1c71" datatype="html">\n        <source>An IQN has the following notation\n                \'iqn.$year-$month.$reversedAddress:$definedName\'</source>\n        <target>An IQN has the following notation\n                \'iqn.$year-$month.$reversedAddress:$definedName\'</target>\n      </trans-unit>\n      <trans-unit id="c8ada4b53396d8366db00a435acc61d53d857047" datatype="html">\n        <source>For example: iqn.2016-06.org.dashboard:storage:disk.sn-a8675309</source>\n        <target>例如:iqn.2016-06.org.dashboard:storage:disk.sn-a8675309</target>\n      </trans-unit>\n      <trans-unit id="e60c11e1b1dfbbeda577364b8de39ded2d796c5e" datatype="html">\n        <source>More information</source>\n        <target>更多資訊</target>\n      </trans-unit>\n      <trans-unit id="9b1aa85dfc6849196e64060db02c5410de69b7a1" datatype="html">\n        <source>This target has modified advanced settings.</source>\n        <target>此目標的進階設定存在修改。</target>\n      </trans-unit>\n      <trans-unit id="6990ad8d6182662e864495ac31c3758cda1c7a28" datatype="html">\n        <source>Portals</source>\n        <target>入口網站</target>\n      </trans-unit>\n      <trans-unit id="6a3ac2b4137d723fd9878cd357c2012ff6c07973" datatype="html">\n        <source>Add portal</source>\n        <target>新增入口網站</target>\n      </trans-unit>\n      <trans-unit id="c3638c01b6c34066438909713ec96087c813fc7e" datatype="html">\n        <source>At least \n          <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.\n        </source>\n        <target>At least \n          <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.\n        </target>\n      </trans-unit>\n      <trans-unit id="9aff25be088f0efe3eaaf62edf2bff41cc41a617" datatype="html">\n        <source>Backstore: \n          <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. \n        </source>\n        <target>Backstore: \n          <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. \n        </target>\n      </trans-unit>\n      <trans-unit id="e3484cae8b118c576ca2815bf9c9406c2eb2cae3" datatype="html">\n        <source>This image has modified settings.</source>\n        <target>此影像的設定存在修改。</target>\n      </trans-unit>\n      <trans-unit id="1dff11e0820b6722ab240169f1232d70a54beaaa" datatype="html">\n        <source>Duplicated LUN numbers.</source>\n        <target>Duplicated LUN numbers.</target>\n      </trans-unit>\n      <trans-unit id="bf2dccf92ccff6e3b091792bf4205595406e1bfb" datatype="html">\n        <source>Duplicated WWN.</source>\n        <target>Duplicated WWN.</target>\n      </trans-unit>\n      <trans-unit id="808038f912fdc7f0e03f82d4afd3bf9178527fc8" datatype="html">\n        <source>Add image</source>\n        <target>新增影像</target>\n      </trans-unit>\n      <trans-unit id="66c5fb27f52e75b70ca4b670b9b15a2a51cf9543" datatype="html">\n        <source>ACL authentication</source>\n        <target>ACL 驗證</target>\n      </trans-unit>\n      <trans-unit id="419c8b402609dcf49ae4932a5a4647dc8d79bbaf" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n                can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Usernames must have a length of 8 to 64 characters and\n                can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</target>\n      </trans-unit>\n      <trans-unit id="938050960d6653fddfcfd42425e18fb35a308262" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n                and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n                and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="f494bd31f095f6dcc656ce87ec2dcf07a2e9b30c" datatype="html">\n        <source>Initiators</source>\n        <target>啟動器</target>\n      </trans-unit>\n      <trans-unit id="e98239d8a6be1100119ff4b5630c822b82786740" datatype="html">\n        <source>Initiator</source>\n        <target>啟動器</target>\n      </trans-unit>\n      <trans-unit id="f2c5059d8cda15d8d03e2cce30f2d139623d9a91" datatype="html">\n        <source>Client IQN</source>\n        <target>用戶端 IQN</target>\n      </trans-unit>\n      <trans-unit id="107d5aabce23d900f0a80e6ddc1c10e29aa0bed8" datatype="html">\n        <source>Initiator IQN needs to be unique.</source>\n        <target>啟動器 IQN 必須唯一。</target>\n      </trans-unit>\n      <trans-unit id="bbf0b34a3fcc80800fcb44b9e1e86931a530dfe3" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n                        can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>使用者名稱的長度必須介於 8 至 64 個字元之間,並且只能包含以下\n                        字元︰字母、「.」、「@」、「-」、「_」或「:」。</target>\n      </trans-unit>\n      <trans-unit id="fdfee5d7a27e1bdd97a176097277bee078de6aaf" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n                        and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n                        and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="8406eb7415ee40e54d9ecb209abb056f06e3d666" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters and\n                        can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters and\n                        can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="5d1878d5fc761cbe9614bfd87047a740c82a6951" datatype="html">\n        <source>Initiator belongs to a group. Images will be configure in the group.</source>\n        <target>啟動器屬於群組。影像須在群組中進行設定。 </target>\n      </trans-unit>\n      <trans-unit id="c0de67b9d97fafbf200f9451e8388ee8128a56ac" datatype="html">\n        <source>No items added.</source>\n        <target>未新增項目。</target>\n      </trans-unit>\n      <trans-unit id="d565e47726158e428ecdc952fc9233b9b7d7f049" datatype="html">\n        <source>Add initiator</source>\n        <target>新增啟動器</target>\n      </trans-unit>\n      <trans-unit id="c22ba03540aa3217da059f45e7eab138b51a96e2" datatype="html">\n        <source>Groups</source>\n        <target>群組</target>\n      </trans-unit>\n      <trans-unit id="4c90059afafb7e160384d9f512797c95bb95c6dc" datatype="html">\n        <source>Group</source>\n        <target>群組</target>\n      </trans-unit>\n      <trans-unit id="3084948274cff4f56d0f431af47240e9cf02fcc7" datatype="html">\n        <source>Add group</source>\n        <target>新增群組</target>\n      </trans-unit>\n      <trans-unit id="c3a7e364a88ea4673199dfa98bc73e6dbe09dfac" datatype="html">\n        <source>Namespaces</source>\n        <target>Namespaces</target>\n      </trans-unit>\n      <trans-unit id="aba82bfd8e177d35b76cad7cd43941f8e5e5acac" datatype="html">\n        <source>Trash</source>\n        <target>垃圾桶</target>\n      </trans-unit>\n      <trans-unit id="66db799d67958d4b0765181d072df62e2d1c16f5" datatype="html">\n        <source>Issues</source>\n        <target>問題</target>\n      </trans-unit>\n      <trans-unit id="ef06d69259e587e28d52372455f44c7153cda7e7" datatype="html">\n        <source>Syncing</source>\n        <target>正在同步</target>\n      </trans-unit>\n      <trans-unit id="0b0901877d837d3fda16ba161eb74368d1c75b7a" datatype="html">\n        <source>Ready</source>\n        <target>準備就緒</target>\n      </trans-unit>\n      <trans-unit id="4057c56d63a7e9b140b1d01871a9229a5f30eb27" datatype="html">\n        <source>Edit pool mirror mode</source>\n        <target>編輯池鏡像模式</target>\n      </trans-unit>\n      <trans-unit id="e1f367f5feaab38f6637dd1f967c848b447dea2d" datatype="html">\n        <source>To edit the mirror mode for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>, select a new mode from the list and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>To edit the mirror mode for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>, select a new mode from the list and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="32ca348ef926b0a6a7a780b8b64c3a8239895cec" datatype="html">\n        <source>Peer clusters must be removed prior to disabling mirror.</source>\n        <target>在停用鏡像之前,必須先移除對等叢集。</target>\n      </trans-unit>\n      <trans-unit id="fa61522d482349707fd7dd03b90dc5781611b17f" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/>\n  pool mirror peer\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/>\n  pool mirror peer\n        </target>\n      </trans-unit>\n      <trans-unit id="4ddcb416c1c0aa1f54acf5beef1de81813e76fa6" datatype="html">\n        <source>{VAR_SELECT, select, edit {Edit} other {Add} }</source>\n        <target>{VAR_SELECT, select, edit {編輯} other {新增} }</target>\n      </trans-unit>\n      <trans-unit id="59ca65ece457429d90104ede4674965f62edbabe" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/> the pool\n          mirror peer attributes for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> and click\n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Submit\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/> the pool\n          mirror peer attributes for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> and click\n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Submit\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="d3cc964811f852a168f4a2d5daa59068abc5cf53" datatype="html">\n        <source>Cluster Name</source>\n        <target>叢集名稱</target>\n      </trans-unit>\n      <trans-unit id="b631721fc56cb7fb1cbd07b802a487c5753f6a2d" datatype="html">\n        <source>The cluster name is not valid.</source>\n        <target>叢集名稱無效。</target>\n      </trans-unit>\n      <trans-unit id="ca6deafa31bf421f85094807982aee4bcb20a3ae" datatype="html">\n        <source>CephX ID</source>\n        <target>CephX ID</target>\n      </trans-unit>\n      <trans-unit id="7539188a568c3d553cbde1bacaf32310c4264e24" datatype="html">\n        <source>CephX ID...</source>\n        <target>CephX ID...</target>\n      </trans-unit>\n      <trans-unit id="a1c45b594b0fba22fc64e80c793a7ffe005fdb0e" datatype="html">\n        <source>The CephX ID is not valid.</source>\n        <target>CephX ID 無效。</target>\n      </trans-unit>\n      <trans-unit id="20861576fcfce773c918c782cd4f5adf32382921" datatype="html">\n        <source>Monitor Addresses</source>\n        <target>監控程式位址</target>\n      </trans-unit>\n      <trans-unit id="fa28eeed2b4bd4ccbe6e9349a1c2b3cb1c5de70a" datatype="html">\n        <source>Comma-delimited addresses...</source>\n        <target>逗號分隔的位址...</target>\n      </trans-unit>\n      <trans-unit id="dc016c82fd85848d5c1b2fd0e8469ee2027d9c16" datatype="html">\n        <source>The monitory address is not valid.</source>\n        <target>監控程式位址無效。</target>\n      </trans-unit>\n      <trans-unit id="e0ac55b83dc6739e62bc655cfe375b67c93e7f4a" datatype="html">\n        <source>CephX Key</source>\n        <target>CephX 金鑰</target>\n      </trans-unit>\n      <trans-unit id="f53434bcb95bd86f1df9c8e22966f757614fc4ad" datatype="html">\n        <source>Base64-encoded key...</source>\n        <target>Base64 編碼的金鑰...</target>\n      </trans-unit>\n      <trans-unit id="4cd83164cd4f66b4abc2863f9ce6f599d789e4ca" datatype="html">\n        <source>CephX key must be base64 encoded.</source>\n        <target>CephX 金鑰必須為 Base64 編碼的金鑰。</target>\n      </trans-unit>\n      <trans-unit id="ca53d681a9892d6fdbb57ee9676582186515e961" datatype="html">\n        <source>Performance counters not available</source>\n        <target>沒有可用的效能計數器</target>\n      </trans-unit>\n      <trans-unit id="9424badb7e0c6ac792d020d7830645b529a80aad" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the Object Gateway management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the Object Gateway management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="479488ab6e91ecb375484edc78bee3d13467f33f" datatype="html">\n        <source>Daemons List</source>\n        <target>精靈清單</target>\n      </trans-unit>\n      <trans-unit id="eeba399c4dae8d4890c27b7a2cd2dc28fcf8b5f9" datatype="html">\n        <source>Performance Counters</source>\n        <target>效能計數器</target>\n      </trans-unit>\n      <trans-unit id="5f67f2247b9c6bbaf24a0f2d37f4ac0537c6fa53" datatype="html">\n        <source>Loading bucket data...</source>\n        <target>正在載入桶資料...</target>\n      </trans-unit>\n      <trans-unit id="2798cc1e152b1ec07fd8daf94a2a073d1ba1ebcc" datatype="html">\n        <source>Id</source>\n        <target>ID</target>\n      </trans-unit>\n      <trans-unit id="db4e1a734518691b128ef40b939cc673f01d03a6" datatype="html">\n        <source>The value is not valid.</source>\n        <target>該值無效。</target>\n      </trans-unit>\n      <trans-unit id="eabb4db920d9f9b2480cf438468b86e1bea02a9b" datatype="html">\n        <source>The chosen name is already in use.</source>\n        <target>所選的名稱已在使用中。</target>\n      </trans-unit>\n      <trans-unit id="0ee5132a8da30e0b7f9f5c70dbc91928d17dd909" datatype="html">\n        <source>Owner</source>\n        <target>擁有者</target>\n      </trans-unit>\n      <trans-unit id="8e4c918357c7445fbf19a203e5f0f0ece1960b3b" datatype="html">\n        <source>-- Select a user --</source>\n        <target>-- 選取使用者 --</target>\n      </trans-unit>\n      <trans-unit id="a4aab1f837bc8ec222e4f25922465d1c5929a1fc" datatype="html">\n        <source>Placement target</source>\n        <target>Placement target</target>\n      </trans-unit>\n      <trans-unit id="6bae0a7fc2c9c1fde7d937a8a1a3c7e6825cf7d1" datatype="html">\n        <source>-- Select a placement target --</source>\n        <target>-- Select a placement target --</target>\n      </trans-unit>\n      <trans-unit id="efeade5060b3add63863c24871f0830fb16b7e6d" datatype="html">\n        <source>Versioning</source>\n        <target>Versioning</target>\n      </trans-unit>\n      <trans-unit id="f50a33d3c339f8f4a465141f8caa5d2d8c005251" datatype="html">\n        <source>Enabled</source>\n        <target>已啟用</target>\n      </trans-unit>\n      <trans-unit id="016d24e069e7d505a090fb8243e5cd43b35dc39b" datatype="html">\n        <source>Enables versioning for the objects in the bucket.</source>\n        <target>Enables versioning for the objects in the bucket.</target>\n      </trans-unit>\n      <trans-unit id="9e6775ffd06878aa145c07359f28557f01ede04f" datatype="html">\n        <source>Multi-Factor Authentication</source>\n        <target>Multi-Factor Authentication</target>\n      </trans-unit>\n      <trans-unit id="29e8a5d4fb767d4ad0c762c81c6264cec4c0ba97" datatype="html">\n        <source>Delete enabled</source>\n        <target>Delete enabled</target>\n      </trans-unit>\n      <trans-unit id="40fbc3ac8c1ea4ecfe62247e91f1f999ad5baf76" datatype="html">\n        <source>Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state.</source>\n        <target>Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state.</target>\n      </trans-unit>\n      <trans-unit id="d24c93a8c13db46defa06ed7b5e026a3edb52b91" datatype="html">\n        <source>Token Serial Number</source>\n        <target>Token Serial Number</target>\n      </trans-unit>\n      <trans-unit id="e6d9536c2af2e5e9a228c3e3e1809dc1fefe0149" datatype="html">\n        <source>Token PIN</source>\n        <target>Token PIN</target>\n      </trans-unit>\n      <trans-unit id="7b84370895ab9eb44672f57146fa05c5947f1c0c" datatype="html">\n        <source>Locking</source>\n        <target>Locking</target>\n      </trans-unit>\n      <trans-unit id="f038d51ab1645f15b0cd58f195c72a7eeebd4729" datatype="html">\n        <source>Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket.</source>\n        <target>Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket.</target>\n      </trans-unit>\n      <trans-unit id="9af1b4baa2dd8ed2bfc3cc756b12a2271c2dd793" datatype="html">\n        <source>Compliance</source>\n        <target>Compliance</target>\n      </trans-unit>\n      <trans-unit id="edd600fa489d1b4a4448dce694ed932e52ce8fda" datatype="html">\n        <source>Governance</source>\n        <target>Governance</target>\n      </trans-unit>\n      <trans-unit id="a5c3d9d2296f7886e8289b9f623323803deacfc6" datatype="html">\n        <source>Days</source>\n        <target>Days</target>\n      </trans-unit>\n      <trans-unit id="218c7d6d318c51e7105309aaeb0baec9d19e4efb" datatype="html">\n        <source>The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</source>\n        <target>The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</target>\n      </trans-unit>\n      <trans-unit id="289b101ec12427b3ca819df9e43cc3b14fae2cc4" datatype="html">\n        <source>The entered value must be a positive integer.</source>\n        <target>The entered value must be a positive integer.</target>\n      </trans-unit>\n      <trans-unit id="def9fc628134d3a044b7c0ad2a83c846bdad56f1" datatype="html">\n        <source>Retention period requires either Days or Years.</source>\n        <target>Retention period requires either Days or Years.</target>\n      </trans-unit>\n      <trans-unit id="003c94fc143882ac8af6251a1595fe62978fe3e6" datatype="html">\n        <source>Years</source>\n        <target>Years</target>\n      </trans-unit>\n      <trans-unit id="14c6189ead0951f13049c7bf9af7642d0c41957a" datatype="html">\n        <source>The number of years that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</source>\n        <target>The number of years that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</target>\n      </trans-unit>\n      <trans-unit id="45cc8ca94b5a50842a9a8ef804a5ab089a38ae5c" datatype="html">\n        <source>ID</source>\n        <target>ID</target>\n      </trans-unit>\n      <trans-unit id="e5c51963a9c553b29427ef783bbb69fa6634fa8c" datatype="html">\n        <source>Index type</source>\n        <target>索引類型</target>\n      </trans-unit>\n      <trans-unit id="8e6f950a32eaea32ec7e192f9ca3d3dfe469d4ba" datatype="html">\n        <source>Placement rule</source>\n        <target>放置規則</target>\n      </trans-unit>\n      <trans-unit id="6972d213e31c4ea4f887e60db99d9881bc8fcd3e" datatype="html">\n        <source>Marker</source>\n        <target>標記</target>\n      </trans-unit>\n      <trans-unit id="47b02acd2d3254d1ace1926f840523f154ebef71" datatype="html">\n        <source>Maximum marker</source>\n        <target>最大標記數</target>\n      </trans-unit>\n      <trans-unit id="8fe73a4787b8068b2ba61f54ab7e0f9af2ea1fc9" datatype="html">\n        <source>Version</source>\n        <target>版本</target>\n      </trans-unit>\n      <trans-unit id="092fa3a7df9168b14d3f83a77a4035e92b92ce15" datatype="html">\n        <source>Master version</source>\n        <target>主版本</target>\n      </trans-unit>\n      <trans-unit id="97434cc5001d407f90c7447a12d9e8e6848a2aa3" datatype="html">\n        <source>Modification time</source>\n        <target>修改時間</target>\n      </trans-unit>\n      <trans-unit id="90fe2e41e7fde38453ce4e619efeea9bc6adea9c" datatype="html">\n        <source>Zonegroup</source>\n        <target>區域群組</target>\n      </trans-unit>\n      <trans-unit id="62a923f047ca49e7a4782629e91fea1ba32db68f" datatype="html">\n        <source>MFA Delete</source>\n        <target>MFA Delete</target>\n      </trans-unit>\n      <trans-unit id="649a410bd0ace333d067d8fa22f12bdbdb43533b" datatype="html">\n        <source>Bucket quota</source>\n        <target>桶定額</target>\n      </trans-unit>\n      <trans-unit id="cef1595d040e77cbb4466e60382028d4c2040cac" datatype="html">\n        <source>Maximum size</source>\n        <target>最大大小</target>\n      </trans-unit>\n      <trans-unit id="aa6fb95c355f172bda303de1ce2f38c251a149cf" datatype="html">\n        <source>Unlimited</source>\n        <target>無限制</target>\n      </trans-unit>\n      <trans-unit id="ee862a800364b4d11f9b8cb9955a28a60f840a45" datatype="html">\n        <source>Maximum objects</source>\n        <target>最大物件數</target>\n      </trans-unit>\n      <trans-unit id="08c74dc9762957593b91f6eb5d65efdfc975bf48" datatype="html">\n        <source>Username</source>\n        <target>使用者名稱</target>\n      </trans-unit>\n      <trans-unit id="49c614babd1950adb2be75df4e2c9747286d6adc" datatype="html">\n        <source>-- Select a username --</source>\n        <target>-- 選取使用者名稱 --</target>\n      </trans-unit>\n      <trans-unit id="c217ee914725a37e9dd2336c721c8e63e9666bdc" datatype="html">\n        <source>Auto-generate key</source>\n        <target>自動產生金鑰</target>\n      </trans-unit>\n      <trans-unit id="2f1c1c0f2bce4c9f92d1a2061e8161cb0006c31a" datatype="html">\n        <source>Access key</source>\n        <target>存取金鑰</target>\n      </trans-unit>\n      <trans-unit id="b864acb67296a9819c1db0069c4c47d8b5ce8f44" datatype="html">\n        <source>Secret key</source>\n        <target>機密金鑰</target>\n      </trans-unit>\n      <trans-unit id="b760f123248930122fc7e7b6b6bf94e376e959c8" datatype="html">\n        <source>Full name</source>\n        <target>全名</target>\n      </trans-unit>\n      <trans-unit id="69b6ac577a19acc39fc0c22342092f327fff2529" datatype="html">\n        <source>Email address</source>\n        <target>電子郵件地址</target>\n      </trans-unit>\n      <trans-unit id="92f3f203270a29b3001871153f02c063484a1574" datatype="html">\n        <source>Suspended</source>\n        <target>已暫停</target>\n      </trans-unit>\n      <trans-unit id="8011e20c5bbe51602d459a860fbf29b599b55edd" datatype="html">\n        <source>System</source>\n        <target>系統</target>\n      </trans-unit>\n      <trans-unit id="db18a2772988415466a7f75dc42663ce78c9c1d3" datatype="html">\n        <source>Maximum buckets</source>\n        <target>最大桶數</target>\n      </trans-unit>\n      <trans-unit id="2c4c62e8ba24601be5cfe7dc5d32c24bbbd4b53c" datatype="html">\n        <source>Subusers</source>\n        <target>子使用者</target>\n      </trans-unit>\n      <trans-unit id="17bb3082e6fe5003203ef992a3714172334631a1" datatype="html">\n        <source>Capabilities</source>\n        <target>功能</target>\n      </trans-unit>\n      <trans-unit id="36ad38f9c1a1485e09b67778a28af84553290ffb" datatype="html">\n        <source>User quota</source>\n        <target>使用者定額</target>\n      </trans-unit>\n      <trans-unit id="2aba1e87039819aca3b70faa9aa848c12bf139ca" datatype="html">\n        <source>Show</source>\n        <target>顯示</target>\n      </trans-unit>\n      <trans-unit id="0bcd5ef19af0f1b814141ca8c57df623d8270088" datatype="html">\n        <source>Keys</source>\n        <target>金鑰</target>\n      </trans-unit>\n      <trans-unit id="f61c6867295f3b53d23557021f2f4e0aa1d0b8fc" datatype="html">\n        <source>Type</source>\n        <target>類型</target>\n      </trans-unit>\n      <trans-unit id="1221ca97d19eaa9a7bc0c5243d5fc5befe1d2314" datatype="html">\n        <source>-- Select a type --</source>\n        <target>-- 選取類型 --</target>\n      </trans-unit>\n      <trans-unit id="d1b8990332af18f1c5159a6061ca889bcbb28432" datatype="html">\n        <source>Permission</source>\n        <target>許可權</target>\n      </trans-unit>\n      <trans-unit id="a08c589f82f69d892307288da14190ae1dd583d5" datatype="html">\n        <source>-- Select a permission --</source>\n        <target>-- 選取許可權 --</target>\n      </trans-unit>\n      <trans-unit id="b2841767821d6b66238c34d07e413b0af67aee92" datatype="html">\n        <source>Subuser</source>\n        <target>子使用者</target>\n      </trans-unit>\n      <trans-unit id="bd59fc25a7bd98cff3e75117c09697c8a007a514" datatype="html">\n        <source>The chosen subuser ID is already in use.</source>\n        <target>所選的子使用者 ID 已在使用中。</target>\n      </trans-unit>\n      <trans-unit id="3d386c357ebcbc04ed05c4babd5a03626f9b1674" datatype="html">\n        <source>read, write</source>\n        <target>讀取、寫入</target>\n      </trans-unit>\n      <trans-unit id="84e3e3f9a4f31a039b648c97debf95fcb20f4c4a" datatype="html">\n        <source>full</source>\n        <target>完整</target>\n      </trans-unit>\n      <trans-unit id="b6bf81d032a2316464f9df2f0d2f3d753f89f0d3" datatype="html">\n        <source>Swift key</source>\n        <target>Swift 金鑰</target>\n      </trans-unit>\n      <trans-unit id="1e0c12685d50d47448ceed9423977ef39775c037" datatype="html">\n        <source>Auto-generate secret</source>\n        <target>自動產生機密金鑰</target>\n      </trans-unit>\n      <trans-unit id="3d1c7a6004bd5d86a7fa096ae24209e8aa7a53e3" datatype="html">\n        <source>Loading user data...</source>\n        <target>正在載入使用者資料...</target>\n      </trans-unit>\n      <trans-unit id="faa5d834ab28571423d794d32b57998920efb65f" datatype="html">\n        <source>The user data could not be loaded.</source>\n        <target>無法載入使用者資料。</target>\n      </trans-unit>\n      <trans-unit id="6aaf5d2a304167272ac73e3b1d1c162e16c77858" datatype="html">\n        <source>The chosen user ID is already in use.</source>\n        <target>所選的使用者 ID 已在使用中。</target>\n      </trans-unit>\n      <trans-unit id="df441e80db2157f9d272b75de724ba4a82b96b57" datatype="html">\n        <source>This is not a valid email address.</source>\n        <target>電子郵件地址無效。</target>\n      </trans-unit>\n      <trans-unit id="ca271adf154956b8fcb28f4f50a37acb3057ff7c" datatype="html">\n        <source>The chosen email address is already in use.</source>\n        <target>所選的電子郵件地址已在使用中。</target>\n      </trans-unit>\n      <trans-unit id="030197cebe938edf35422e92fe14183d06eb670b" datatype="html">\n        <source>Max. buckets</source>\n        <target>最大桶數</target>\n      </trans-unit>\n      <trans-unit id="f39256070bfc0714020dfee08895421fc1527014" datatype="html">\n        <source>Disabled</source>\n        <target>已停用</target>\n      </trans-unit>\n      <trans-unit id="a5c05002b0ac2040f1aede5e727e0ffd06eda819" datatype="html">\n        <source>Custom</source>\n        <target>自訂</target>\n      </trans-unit>\n      <trans-unit id="28872515cb81d197a3a1733fa546d3e0f0dd6c67" datatype="html">\n        <source>The entered value must be &gt;= 1.</source>\n        <target>The entered value must be &gt;= 1.</target>\n      </trans-unit>\n      <trans-unit id="583a219c524155c2314eb06ee29162bb315272a3" datatype="html">\n        <source>S3 key</source>\n        <target>S3 金鑰</target>\n      </trans-unit>\n      <trans-unit id="128d6efb51d9ddc7c0cc695a2deeca5b9523f6e4" datatype="html">\n        <source>There are no subusers.</source>\n        <target>沒有子使用者。</target>\n      </trans-unit>\n      <trans-unit id="7fd6dfb8ecb982dbc3affb2c2d5414c4f5b6abd2" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ subuserLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ subuserLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="67c746c1ba9dab4351fedc4c7cba4e6d6b0dbc47" datatype="html">\n        <source>S3</source>\n        <target>S3</target>\n      </trans-unit>\n      <trans-unit id="d6819038d608623503918fb2553f53d68231ec3a" datatype="html">\n        <source>There are no keys.</source>\n        <target>沒有金鑰。</target>\n      </trans-unit>\n      <trans-unit id="fc1c1a7140ff6b815a95b65ee2780fdbe1b2b7a1" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ s3keyLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ s3keyLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6ddb5e991a3ecd2659fb520bc5acc81b67e08ddd" datatype="html">\n        <source>Swift</source>\n        <target>Swift</target>\n      </trans-unit>\n      <trans-unit id="1d01eccdda47fc907c5be35bcb16d2dcd02b0270" datatype="html">\n        <source>There are no capabilities.</source>\n        <target>沒有功能。</target>\n      </trans-unit>\n      <trans-unit id="043e2ec0036ceadd926fd5e3f93cd6f3565f3648" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.ADD | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.ADD | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="f5a451c4ea65a4046f0b49d489a7013abf0b5861" datatype="html">\n        <source>All capabilities are already added.</source>\n        <target>All capabilities are already added.</target>\n      </trans-unit>\n      <trans-unit id="6146e13ceca5fa5cc17b771b282fe5955f3d19fa" datatype="html">\n        <source>Unlimited size</source>\n        <target>大小不限</target>\n      </trans-unit>\n      <trans-unit id="f6db8aa7c99fdce18edb33dde57729acede2b308" datatype="html">\n        <source>Max. size</source>\n        <target>最大大小</target>\n      </trans-unit>\n      <trans-unit id="fc630b2093e880fffa19df99d5cd8b87605037f8" datatype="html">\n        <source>Unlimited objects</source>\n        <target>物件數不限</target>\n      </trans-unit>\n      <trans-unit id="6cda5a993d06f0bb10048be9d3aba6555aa9f356" datatype="html">\n        <source>Max. objects</source>\n        <target>最大物件數</target>\n      </trans-unit>\n      <trans-unit id="623ac50f37a26caec6fd7cd519b653e3315cba25" datatype="html">\n        <source>The entered value must be &gt;= 0.</source>\n        <target>輸入的值必須大於或等於 0。</target>\n      </trans-unit>\n      <trans-unit id="1ea5c4d8942c00752dcc72e72949c5d9832f6399" datatype="html">\n        <source>Description...</source>\n        <target>描述...</target>\n      </trans-unit>\n      <trans-unit id="70f45880fce6ac5d8e468e25e82aefbba8098cfe" datatype="html">\n        <source>Permissions</source>\n        <target>許可權</target>\n      </trans-unit>\n      <trans-unit id="9610487cbeb5796d34d8601b5ac0c0a65f9e1d19" datatype="html">\n        <source>Roles</source>\n        <target>角色</target>\n      </trans-unit>\n      <trans-unit id="7f3bdcce4b2e8c37cd7f0f6c92ef8cff34b039b8" datatype="html">\n        <source>Confirm password</source>\n        <target>確認密碼</target>\n      </trans-unit>\n      <trans-unit id="cbb979e63ba50e0ca3adfa09cbdcaefd0853fca1" datatype="html">\n        <source>Password confirmation doesn\'t match the password.</source>\n        <target>確認的密碼與之前輸入的密碼不符。</target>\n      </trans-unit>\n      <trans-unit id="96621f9ed2e4ae5204564e583d2c816bedead571" datatype="html">\n        <source>Password expiration date</source>\n        <target>Password expiration date</target>\n      </trans-unit>\n      <trans-unit id="48932db3801fe9d5d72a60a3e656bffd17c1c5d9" datatype="html">\n        <source>Password expiration date...</source>\n        <target>Password expiration date...</target>\n      </trans-unit>\n      <trans-unit id="244aae9346da82b0922506c2d2581373a15641cc" datatype="html">\n        <source>Email</source>\n        <target>電子郵件</target>\n      </trans-unit>\n      <trans-unit id="d0ec081dd61eb4f43aea269077bbe38eae87b7f9" datatype="html">\n        <source>Invalid email.</source>\n        <target>電子郵件無效。</target>\n      </trans-unit>\n      <trans-unit id="8913c216dd506e20e412e144381d8d2a65a84359" datatype="html">\n        <source>User must change password at next logon</source>\n        <target>User must change password at next logon</target>\n      </trans-unit>\n      <trans-unit id="0051a3479d3ba79135c16dc8cc017950a2cce821" datatype="html">\n        <source>You are about to remove "user read / update" permissions from your own user.</source>\n        <target>您正要為您自己的使用者移除「使用者讀取/寫入」許可權。</target>\n      </trans-unit>\n      <trans-unit id="af4bf9fcb256853f14cf947eb1deb8d7f176d3f9" datatype="html">\n        <source>If you continue, you will no longer be able to add or remove roles from any user.</source>\n        <target>若繼續,您將再也無法為任何使用者新增或移除角色。</target>\n      </trans-unit>\n      <trans-unit id="7d1dcf2a9146caac0581329acf94806ec69a89a5" datatype="html">\n        <source>Are you sure you want to continue?</source>\n        <target>確定要繼續嗎?</target>\n      </trans-unit>\n      <trans-unit id="85b79c9064aed1ead31ace985f31aa1363f6bdaf" datatype="html">\n        <source>Help</source>\n        <target>說明</target>\n      </trans-unit>\n      <trans-unit id="fcfd4675b4c90f08d18d3abede9a9a4dff4cfdc7" datatype="html">\n        <source>Documentation</source>\n        <target>文件</target>\n      </trans-unit>\n      <trans-unit id="e351b40b3869a5c7d19c3d4918cb1ac7aaab95c4" datatype="html">\n        <source>API</source>\n        <target>API</target>\n      </trans-unit>\n      <trans-unit id="004b222ff9ef9dd4771b777950ca1d0e4cd4348a" datatype="html">\n        <source>About</source>\n        <target>關於</target>\n      </trans-unit>\n      <trans-unit id="1481ecd21e760ac919a24e26cf790acd82e40199" datatype="html">\n        <source>Dashboard Settings</source>\n        <target>儀表板設定</target>\n      </trans-unit>\n      <trans-unit id="a79aab4ef674bf3f6532292107c0054302236e0f" datatype="html">\n        <source>User management</source>\n        <target>使用者管理</target>\n      </trans-unit>\n      <trans-unit id="049dfd9fe6c78914ad58cf89ac6a631fca28ec74" datatype="html">\n        <source>Logged in user</source>\n        <target>登入的使用者</target>\n      </trans-unit>\n      <trans-unit id="cd38a58e73f306d838e621959d47d5e7a2f06d1f" datatype="html">\n        <source>Signed in as\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ username }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>\n        </source>\n        <target>Signed in as\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ username }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="739516c2ca75843d5aec9cf0e6b3e4335c4227b9" datatype="html">\n        <source>Change password</source>\n        <target>Change password</target>\n      </trans-unit>\n      <trans-unit id="5d22c795daf43877a5f708dca2bccd549eb0471d" datatype="html">\n        <source>Sign out</source>\n        <target>登出</target>\n      </trans-unit>\n      <trans-unit id="91853167141c37b58868f3b0421383dd72fa8a01" datatype="html">\n        <source>Attributes (OSD map)</source>\n        <target>屬性 (OSD 地圖)</target>\n      </trans-unit>\n      <trans-unit id="97842f379e1d4157ac3ab0661b90c352e7cb72d5" datatype="html">\n        <source>Metadata not available</source>\n        <target>無法使用中繼資料</target>\n      </trans-unit>\n      <trans-unit id="f721a500a68c357e8f2a01e60510f6a01e4ba529" datatype="html">\n        <source>Metadata</source>\n        <target>中繼資料</target>\n      </trans-unit>\n      <trans-unit id="deba10b7279a589d01e919ea11f43c79ca1773e3" datatype="html">\n        <source>Device health</source>\n        <target>Device health</target>\n      </trans-unit>\n      <trans-unit id="d24e28e19c5703d7c6be44f4eb595a6a43b618ed" datatype="html">\n        <source>Performance counter</source>\n        <target>效能計數器</target>\n      </trans-unit>\n      <trans-unit id="d1f7c81ed9c5034af4abcdf119b1c1e86cd019dd" datatype="html">\n        <source>Histogram not available: \n          <x id="INTERPOLATION" equiv-text="{{ osd.histogram_failed }}"/>\n        </source>\n        <target>Histogram not available: \n          <x id="INTERPOLATION" equiv-text="{{ osd.histogram_failed }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="868abfff914873d1c65df798d8432ed04b8ae2a9" datatype="html">\n        <source>Writes</source>\n        <target>寫入</target>\n      </trans-unit>\n      <trans-unit id="996ebb9a653b5067f97bf3891ea9d2108e969492" datatype="html">\n        <source>Reads</source>\n        <target>讀取</target>\n      </trans-unit>\n      <trans-unit id="65ac79790aa477a97b1cc579e18a115a8df8918f" datatype="html">\n        <source>Histogram</source>\n        <target>長條圖</target>\n      </trans-unit>\n      <trans-unit id="3d87fc20ea8e5f0f0500ba5d5061b345be78ec5e" datatype="html">\n        <source>No hostname found.</source>\n        <target>No hostname found.</target>\n      </trans-unit>\n      <trans-unit id="26fb5f81b3581f06b9210defb0e71dc69a67e819" datatype="html">\n        <source>Current values</source>\n        <target>目前的值</target>\n      </trans-unit>\n      <trans-unit id="9abcd7c82643d60c22733470463f74e4a54bc069" datatype="html">\n        <source>Min</source>\n        <target>最小值</target>\n      </trans-unit>\n      <trans-unit id="c3ced4d162a0a55ee233a187ce7208ba5e922418" datatype="html">\n        <source>Max</source>\n        <target>最大值</target>\n      </trans-unit>\n      <trans-unit id="6834fa6b43d1ecbdf147c48dd9c4d72f1484571d" datatype="html">\n        <source>Source</source>\n        <target>來源</target>\n      </trans-unit>\n      <trans-unit id="a446fb0eb11fbffcac805ece5a2d306d24e733d8" datatype="html">\n        <source>Level</source>\n        <target>層級</target>\n      </trans-unit>\n      <trans-unit id="39f2fb094e9b2eda13163fa3f3a31594cf9c1307" datatype="html">\n        <source>Can be updated at runtime (editable)</source>\n        <target>可在執行時期更新 (可編輯)</target>\n      </trans-unit>\n      <trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b" datatype="html">\n        <source>Tags</source>\n        <target>標記</target>\n      </trans-unit>\n      <trans-unit id="ab0089ef47af61ca1d137bc908b96c290dfd9287" datatype="html">\n        <source>Enum values</source>\n        <target>列舉值</target>\n      </trans-unit>\n      <trans-unit id="819476f1264f1659f38e86f6abb542141b184832" datatype="html">\n        <source>See also</source>\n        <target>另請參閱</target>\n      </trans-unit>\n      <trans-unit id="73caac4265ea7314ff061e5a1d78a6361a6dd3b8" datatype="html">\n        <source>Cluster Status</source>\n        <target>叢集狀態</target>\n      </trans-unit>\n      <trans-unit id="1d4bc612bbf19aa9553853266b9e92c9d75f4464" datatype="html">\n        <source>Manager Daemons</source>\n        <target>管理員精靈</target>\n      </trans-unit>\n      <trans-unit id="946ac5dea9921dc09d7b0a63b89535371f283b19" datatype="html">\n        <source>Object Gateways</source>\n        <target>物件閘道</target>\n      </trans-unit>\n      <trans-unit id="ff03fa5bcf37c4da46ad736c1f7d03f959e8ba9a" datatype="html">\n        <source>Metadata Servers</source>\n        <target>中繼資料伺服器</target>\n      </trans-unit>\n      <trans-unit id="d817609ba4993eba859409ab71e566168f4d5f5a" datatype="html">\n        <source>iSCSI Gateways</source>\n        <target>iSCSI 閘道</target>\n      </trans-unit>\n      <trans-unit id="42c13e50391250ea9379bdf55d5d6c0228c0c8bc" datatype="html">\n        <source>Client IOPS</source>\n        <target>用戶端 IOPS</target>\n      </trans-unit>\n      <trans-unit id="52213660b2454d139ada3079a42ec6caf3c3c01e" datatype="html">\n        <source>Client Throughput</source>\n        <target>用戶端輸送量</target>\n      </trans-unit>\n      <trans-unit id="32efd1c3f70e3c5244239de97a2cc95d98534a14" datatype="html">\n        <source>Client Read/Write</source>\n        <target>用戶端讀取/寫入</target>\n      </trans-unit>\n      <trans-unit id="275485415092cbae3a9f3cbb786ebe283cacfdd5" datatype="html">\n        <source>Recovery Throughput</source>\n        <target>復原輸送量</target>\n      </trans-unit>\n      <trans-unit id="6d9a9f55046891733ef71170e7652063765eb542" datatype="html">\n        <source>Scrub</source>\n        <target>整理</target>\n      </trans-unit>\n      <trans-unit id="3cc9c2ae277393b3946b38c088dabff671b1ee1b" datatype="html">\n        <source>Performance</source>\n        <target>效能</target>\n      </trans-unit>\n      <trans-unit id="88f383269db2d32cccee9e936fe549dccb9fdbf4" datatype="html">\n        <source>Raw Capacity</source>\n        <target>原始容量</target>\n      </trans-unit>\n      <trans-unit id="c5f8a813f91a11af99132e4beafc136cfc13d73b" datatype="html">\n        <source>PGs per OSD</source>\n        <target>每個 OSD 的 PG 數</target>\n      </trans-unit>\n      <trans-unit id="498a109c6e9e94f1966de01aa0326f7f0ac6fb52" datatype="html">\n        <source>PG Status</source>\n        <target>PG 狀態</target>\n      </trans-unit>\n      <trans-unit id="ce9dfdc6dccb28dc75a78c704e09dc18fb02dcfa" datatype="html">\n        <source>Capacity</source>\n        <target>容量</target>\n      </trans-unit>\n      <trans-unit id="44ecac93d67c6a671198091c2270354f80322327" datatype="html">\n        <source>\n          <x id="START_ITALIC_TEXT" ctype="x-i" equiv-text="<i>"/>\n          <x id="CLOSE_ITALIC_TEXT" ctype="x-i" equiv-text="</i>"/> See \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Logs\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more details.\n        </source>\n        <target>\n          <x id="START_ITALIC_TEXT" ctype="x-i" equiv-text="<i>"/>\n          <x id="CLOSE_ITALIC_TEXT" ctype="x-i" equiv-text="</i>"/> See \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Logs\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more details.\n        </target>\n      </trans-unit>\n      <trans-unit id="0c1e17956453ad772dbe82d6946f62748c692f3e" datatype="html">\n        <source>Ranks</source>\n        <target>階層</target>\n      </trans-unit>\n      <trans-unit id="2b24e0b0b1629d2e8a51b9da7c75d6e6379f4bc4" datatype="html">\n        <source>Standbys</source>\n        <target>Standbys</target>\n      </trans-unit>\n      <trans-unit id="50df62325726db950523a5be1c78b8905fcc25d4" datatype="html">\n        <source>MDS performance counters</source>\n        <target>MDS performance counters</target>\n      </trans-unit>\n      <trans-unit id="6e213942c6354b9cbe7a650f0f1499bfc1000fb6" datatype="html">\n        <source>Directories</source>\n        <target>Directories</target>\n      </trans-unit>\n      <trans-unit id="47116253e36f4e38a97ba41b2d3122c6c15ab904" datatype="html">\n        <source>Clients (\n          <x id="INTERPOLATION" equiv-text="{{ clients.length }}"/>)\n        </source>\n        <target>Clients (\n          <x id="INTERPOLATION" equiv-text="{{ clients.length }}"/>)\n        </target>\n      </trans-unit>\n      <trans-unit id="bd5a3b1c5a3c185c7bbb0e09a061d4cdc88ce5ad" datatype="html">\n        <source>Current</source>\n        <target>目前</target>\n      </trans-unit>\n      <trans-unit id="e5e7d62e942083a59b0b31f54e17cd7958186052" datatype="html">\n        <source>Updated discovery authentication</source>\n        <target>已更新探查驗證</target>\n      </trans-unit>\n      <trans-unit id="dd4ab758afd5fd5a6c6a25b2b30ff99d0c00e9ad" datatype="html">\n        <source>There are no portals available.</source>\n        <target>沒有可用的入口網站。</target>\n      </trans-unit>\n      <trans-unit id="83021e45778a4a230a14ca0c6d6ccdf05500ad93" datatype="html">\n        <source>There are no images available.</source>\n        <target>沒有可用的影像。</target>\n      </trans-unit>\n      <trans-unit id="86684eb21f8a768e1dbc659e3d5da6861db544a0" datatype="html">\n        <source>There are no images available. Please make sure you add an image to the target.</source>\n        <target>沒有可用的影像。請確定為目標新增一個影像。</target>\n      </trans-unit>\n      <trans-unit id="fffda6e440078f57eba93944ce051c593cc6ed7f" datatype="html">\n        <source>There are no initiators available. Please make sure you add an initiator to the target.</source>\n        <target>沒有可用的啟動器。請確定為目標新增一個啟動器。</target>\n      </trans-unit>\n      <trans-unit id="cea3c6fe490385eef1584cbc4983fda7ece24bb6" datatype="html">\n        <source>target</source>\n        <target>target</target>\n      </trans-unit>\n      <trans-unit id="38baeb215c17af9d9e295e371a57f4a48ab4c191" datatype="html">\n        <source>Target</source>\n        <target>目標</target>\n      </trans-unit>\n      <trans-unit id="99e094878070eebc1b972bac02aaa33b2bf83b35" datatype="html">\n        <source># Sessions</source>\n        <target># Sessions</target>\n      </trans-unit>\n      <trans-unit id="2ea10b3668e04e057ba96ddcaf4c9b77089008ae" datatype="html">\n        <source>Unavailable gateway(s)</source>\n        <target>Unavailable gateway(s)</target>\n      </trans-unit>\n      <trans-unit id="c49e0dd71d551bd4928d967d78f0721dbf9f95e3" datatype="html">\n        <source>Target has active sessions</source>\n        <target>Target has active sessions</target>\n      </trans-unit>\n      <trans-unit id="a87acd72dfb68b45175270695209550a85adf50c" datatype="html">\n        <source>iSCSI target</source>\n        <target>iSCSI target</target>\n      </trans-unit>\n      <trans-unit id="873b72903b1858a9cd6c8967521030b4d7d1435b" datatype="html">\n        <source>State</source>\n        <target>狀態</target>\n      </trans-unit>\n      <trans-unit id="02b75464c0dc0cf49ea0208211b6fbcad3bf728a" datatype="html">\n        <source># Targets</source>\n        <target># Targets</target>\n      </trans-unit>\n      <trans-unit id="13415637c325ceefee29111b31cb48701490adf7" datatype="html">\n        <source>Read Bytes</source>\n        <target>讀取位元組數</target>\n      </trans-unit>\n      <trans-unit id="e2ed82b7bbf4a006e60e6208c597b05d5b5556e9" datatype="html">\n        <source>Write Bytes</source>\n        <target>寫入位元組數</target>\n      </trans-unit>\n      <trans-unit id="6a32a5f58845ca840185ea9564682094e77a1d80" datatype="html">\n        <source>Read Ops</source>\n        <target>讀取操作數</target>\n      </trans-unit>\n      <trans-unit id="7c36cb8032af123d3550ffab2e1fa1e957c87fae" datatype="html">\n        <source>Write Ops</source>\n        <target>寫入操作數</target>\n      </trans-unit>\n      <trans-unit id="458c33846a8c7e2feb9404bcf06723784e756cdc" datatype="html">\n        <source>A/O Since</source>\n        <target>使用中/最佳化開始時間</target>\n      </trans-unit>\n      <trans-unit id="ff78f059449d44322f627d0f66df07abe476962b" datatype="html">\n        <source>Instance</source>\n        <target>例項</target>\n      </trans-unit>\n      <trans-unit id="36fad7995cadfb3a6f0d43ef2db280146b3ca022" datatype="html">\n        <source>Issue</source>\n        <target>問題</target>\n      </trans-unit>\n      <trans-unit id="15793f4cbc261bedbc60f7105533dde536a3f42b" datatype="html">\n        <source>Progress</source>\n        <target>進度</target>\n      </trans-unit>\n      <trans-unit id="25b725dba712a7a020fd34a72297befae975a492" datatype="html">\n        <source>Edit Site Name</source>\n        <target>Edit Site Name</target>\n      </trans-unit>\n      <trans-unit id="8c375764db42f5d736fb56d01b8052c006ccc8e2" datatype="html">\n        <source>Edit Mode</source>\n        <target>編輯模式</target>\n      </trans-unit>\n      <trans-unit id="45932f2a0ea524b3425f4320ee46a6d1c68977bc" datatype="html">\n        <source>Add Peer</source>\n        <target>新增對等</target>\n      </trans-unit>\n      <trans-unit id="d3dc34662e3cda0dad646221651cebd26f731485" datatype="html">\n        <source>Edit Peer</source>\n        <target>編輯對等</target>\n      </trans-unit>\n      <trans-unit id="e8a0ec0b6ee72db0f27c186e09640d1ed41964bd" datatype="html">\n        <source>Delete Peer</source>\n        <target>刪除對等</target>\n      </trans-unit>\n      <trans-unit id="314de06d6f64d39149e78e6d796585c0246fec0b" datatype="html">\n        <source>Leader</source>\n        <target>Leader</target>\n      </trans-unit>\n      <trans-unit id="7acaab450312114059ced9e3737798ee9aa738b1" datatype="html">\n        <source># Local</source>\n        <target>本地數量</target>\n      </trans-unit>\n      <trans-unit id="7a3ffd88868135c44be3994263bb8e49d8358884" datatype="html">\n        <source># Remote</source>\n        <target>遠端數量</target>\n      </trans-unit>\n      <trans-unit id="85ca0fd6a6ddd211023c70a25753122c5b978787" datatype="html">\n        <source>mirror peer</source>\n        <target>鏡像對等</target>\n      </trans-unit>\n      <trans-unit id="a6493c6ca346cd052da40423eda9c132de2b2002" datatype="html">\n        <source>Key</source>\n        <target>金鑰</target>\n      </trans-unit>\n      <trans-unit id="e9cac80fb5d9de66f0006d0bec530fd1fc69a674" datatype="html">\n        <source>RBD</source>\n        <target>RBD</target>\n      </trans-unit>\n      <trans-unit id="4130b1a836f2000cfe9a11fb62493dc42d444de7" datatype="html">\n        <source>Deep flatten</source>\n        <target>深層壓平</target>\n      </trans-unit>\n      <trans-unit id="7b17694d7cb8ecb7c8440bc999dac21b44455b33" datatype="html">\n        <source>Layering</source>\n        <target>分層</target>\n      </trans-unit>\n      <trans-unit id="6a072ce577c2079d0e0c31071a16824f6d22b84d" datatype="html">\n        <source>Exclusive lock</source>\n        <target>獨佔鎖定</target>\n      </trans-unit>\n      <trans-unit id="7354f01320bf936a7f85577c9f71402635c3a362" datatype="html">\n        <source>Object map (requires exclusive-lock)</source>\n        <target>物件對應 (需要獨佔鎖定)</target>\n      </trans-unit>\n      <trans-unit id="fb7e625c1152f1c102cd16460955d124edff1770" datatype="html">\n        <source>Journaling (requires exclusive-lock)</source>\n        <target>記錄 (需要獨佔鎖定)</target>\n      </trans-unit>\n      <trans-unit id="df4044632bfc211dd96544fc8f007dabbeeb506c" datatype="html">\n        <source>Fast diff (interlocked with object-map)</source>\n        <target>Fast diff (interlocked with object-map)</target>\n      </trans-unit>\n      <trans-unit id="130fd872c78271a8f86b1ab16a76e823969c47d9" datatype="html">\n        <source>Namespace</source>\n        <target>Namespace</target>\n      </trans-unit>\n      <trans-unit id="14abc99daed542774633046c53b6ce8251331141" datatype="html">\n        <source>This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.</source>\n        <target>This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.</target>\n      </trans-unit>\n      <trans-unit id="51699f716cf34e6622ff7bfd84641480c045271a" datatype="html">\n        <source>Created namespace \'\n          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>\'\n        </source>\n        <target>Created namespace \'\n          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="bf44b7d6379ce0198ed3d95a27642a224181bf1d" datatype="html">\n        <source>Total images</source>\n        <target>Total images</target>\n      </trans-unit>\n      <trans-unit id="371ce3ffe62548d15e391a248bc554d903bb03fc" datatype="html">\n        <source>Deleted namespace \'\n          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>\'\n        </source>\n        <target>Deleted namespace \'\n          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="9d704fd00ca929f90c3119cefc581821ae58a73e" datatype="html">\n        <source>Namespace contains images</source>\n        <target>Namespace contains images</target>\n      </trans-unit>\n      <trans-unit id="c2017dc94b4f57a347ccb126e546e88942f4d7a6" datatype="html">\n        <source>RBD Snapshot</source>\n        <target>RBD Snapshot</target>\n      </trans-unit>\n      <trans-unit id="631fc50ec7c9bd81dc797a3c7e09eda1178ad999" datatype="html">\n        <source>Parent image must support Layering</source>\n        <target>Parent image must support Layering</target>\n      </trans-unit>\n      <trans-unit id="cb60c1cd3655234756b5b92d4d597d92d520ee30" datatype="html">\n        <source>PROTECTED</source>\n        <target>PROTECTED</target>\n      </trans-unit>\n      <trans-unit id="deffb86b8fb0541254ad5a43862d82bff6b6a6c4" datatype="html">\n        <source>UNPROTECTED</source>\n        <target>未受保護</target>\n      </trans-unit>\n      <trans-unit id="7eb984588f4835f6d0187b33769b4b0f62821640" datatype="html">\n        <source>RBD snapshot rollback</source>\n        <target>RBD 快照復原</target>\n      </trans-unit>\n      <trans-unit id="4be22bf20ef82614ed53bcd3b912a85590aa71c9" datatype="html">\n        <source>Rollback</source>\n        <target>復原</target>\n      </trans-unit>\n      <trans-unit id="2a04c483708d261751d62082d6f03a50d4577b1e" datatype="html">\n        <source>RBD snapshot</source>\n        <target>RBD 快照</target>\n      </trans-unit>\n      <trans-unit id="fa96769d1ea86741297cb9b9769b0dcfde58c8b4" datatype="html">\n        <source>Deleted At</source>\n        <target>刪除位置</target>\n      </trans-unit>\n      <trans-unit id="e928864038ca70ee7d67bbf1fd71a01c3938a127" datatype="html">\n        <source>id</source>\n        <target>ID</target>\n      </trans-unit>\n      <trans-unit id="240c9c1e96dc38814922a83ad041dc815b084f32" datatype="html">\n        <source>type</source>\n        <target>類型</target>\n      </trans-unit>\n      <trans-unit id="c9d7ec7ee5b4e282f2228fa996651ec4ef5195a9" datatype="html">\n        <source>state</source>\n        <target>狀態</target>\n      </trans-unit>\n      <trans-unit id="5780e5c3b4fc2ae07836bb5221cec4f8d597630d" datatype="html">\n        <source>version</source>\n        <target>版本</target>\n      </trans-unit>\n      <trans-unit id="fe22ca53e651df951dac25b67c17894b0980f767" datatype="html">\n        <source>Host</source>\n        <target>主機</target>\n      </trans-unit>\n      <trans-unit id="fb69299354312c8954ecf324997ccafcd9f6b14b" datatype="html">\n        <source>root</source>\n        <target>根</target>\n      </trans-unit>\n      <trans-unit id="d34feb369d308075b423d5c5fc431f9766bf7a11" datatype="html">\n        <source>Evicted client "\n          <x id="INTERPOLATION" equiv-text="{{clientId}}"/>"\n        </source>\n        <target>Evicted client "\n          <x id="INTERPOLATION" equiv-text="{{clientId}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="7db875ff4cc626d394f37fba95c075b2e4bfeb00" datatype="html">\n        <source>Standby daemons</source>\n        <target>待命精靈</target>\n      </trans-unit>\n      <trans-unit id="3c3a423d91e36ac6624e909fcd2669a25685f847" datatype="html">\n        <source>Rank</source>\n        <target>階層</target>\n      </trans-unit>\n      <trans-unit id="9596ecae8956e96921acef47aec787f6bdc37454" datatype="html">\n        <source>Daemon</source>\n        <target>精靈</target>\n      </trans-unit>\n      <trans-unit id="f2005fa461c06dc2e04d8918bbabedf23604b5b7" datatype="html">\n        <source>Activity</source>\n        <target>活動</target>\n      </trans-unit>\n      <trans-unit id="e3a986984ae0c3b43af648c3fa638649d1c00348" datatype="html">\n        <source>Dentries</source>\n        <target>Dentry</target>\n      </trans-unit>\n      <trans-unit id="7c692ab865066967d73c6d64ec0691cc6ce91b93" datatype="html">\n        <source>Inodes</source>\n        <target>Inode</target>\n      </trans-unit>\n      <trans-unit id="45f210b96a2a6e91f52f153a4f8dc30662629f8e" datatype="html">\n        <source>Usage</source>\n        <target>使用率</target>\n      </trans-unit>\n      <trans-unit id="950b5f04a2efd3f11c0f76418d5a4212381e792e" datatype="html">\n        <source>Origin</source>\n        <target>Origin</target>\n      </trans-unit>\n      <trans-unit id="2ea2ec95d93fd55d0db6e9d2b95b25e153d4cec2" datatype="html">\n        <source>Max size</source>\n        <target>Max size</target>\n      </trans-unit>\n      <trans-unit id="665dced3a61bca44924a0bde4be47390225a4898" datatype="html">\n        <source>Max files</source>\n        <target>Max files</target>\n      </trans-unit>\n      <trans-unit id="0ccf776baac60794b142526986f3af85848c7059" datatype="html">\n        <source>The inherited \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/> is the maximum value to be used.\n        </source>\n        <target>The inherited \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/> is the maximum value to be used.\n        </target>\n      </trans-unit>\n      <trans-unit id="b0e2ef28384f2de6674cac300c779f900929a89b" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{action}}"/> CephFS \n          <x id="INTERPOLATION_1" equiv-text="{{quotaName}}"/> quota for \'\n          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>\'\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{action}}"/> CephFS \n          <x id="INTERPOLATION_1" equiv-text="{{quotaName}}"/> quota for \'\n          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="542ef638499635dec7641bdc2e499258094187cc" datatype="html">\n        <source>size</source>\n        <target>size</target>\n      </trans-unit>\n      <trans-unit id="ce90ff00c341d8eef96b0e7956bb85b8faba3839" datatype="html">\n        <source>files</source>\n        <target>files</target>\n      </trans-unit>\n      <trans-unit id="fbe8b9340c08c24aef62ffe81c83e2b46a4f1495" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{quotaName}}"/> quota \n          <x id="INTERPOLATION_1" equiv-text="{{value}}"/> from \'\n          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>\'\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{quotaName}}"/> quota \n          <x id="INTERPOLATION_1" equiv-text="{{value}}"/> from \'\n          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="37c2c0a4a356465eef2edfb09ffffc6db5259975" datatype="html">\n        <source>Value has to be at least \n          <x id="INTERPOLATION" equiv-text="{{value}}"/> or more\n        </source>\n        <target>Value has to be at least \n          <x id="INTERPOLATION" equiv-text="{{value}}"/> or more\n        </target>\n      </trans-unit>\n      <trans-unit id="73f8e64703a707e2cf98b9a10653cd3bbdd8cab1" datatype="html">\n        <source>Value has to be at most \n          <x id="INTERPOLATION" equiv-text="{{value}}"/> or less\n        </source>\n        <target>Value has to be at most \n          <x id="INTERPOLATION" equiv-text="{{value}}"/> or less\n        </target>\n      </trans-unit>\n      <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc" datatype="html">\n        <source>Updated</source>\n        <target>已更新</target>\n      </trans-unit>\n      <trans-unit id="b6a4cf4f302c7fcbec199ce0df42b8282d682b04" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{action}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{quotaValue}}"/>\n          <x id="INTERPOLATION_2" equiv-text="{{conclusion}}"/>.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{action}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{quotaValue}}"/>\n          <x id="INTERPOLATION_2" equiv-text="{{conclusion}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="a40024afb071f68fec949094a71f832d5611bca5" datatype="html">\n        <source>in order to inherit \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>\n        </source>\n        <target>in order to inherit \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="c108ff588291e9c040adea2adf35e7236cf29925" datatype="html">\n        <source>which isn\'t used because of the inheritance of \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>\n        </source>\n        <target>which isn\'t used because of the inheritance of \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="d3785a64d1c72b03b2212855ce695b45ed0342d2" datatype="html">\n        <source>in order to have no quota on the directory</source>\n        <target>in order to have no quota on the directory</target>\n      </trans-unit>\n      <trans-unit id="c4d3a3446a7f36825291c5e76c4a6b7919f9bd2f" datatype="html">\n        <source>Create Snapshot</source>\n        <target>Create Snapshot</target>\n      </trans-unit>\n      <trans-unit id="e9af734e231b837d64df21008e2eb1fdff566a61" datatype="html">\n        <source>Please enter the name of the snapshot.</source>\n        <target>Please enter the name of the snapshot.</target>\n      </trans-unit>\n      <trans-unit id="8c4d3039e6a953b0d6f1b1313ffa60c5d2b35dc7" datatype="html">\n        <source>Created snapshot "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "\n          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"\n        </source>\n        <target>Created snapshot "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "\n          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="126ad894f74ee9a999825f3f4ac5a31fdfc093bf" datatype="html">\n        <source>CephFs Snapshot</source>\n        <target>CephFs Snapshot</target>\n      </trans-unit>\n      <trans-unit id="1e4d1c0865adc485260740c42ac5af68ce8feb13" datatype="html">\n        <source>Deleted snapshot "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "\n          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"\n        </source>\n        <target>Deleted snapshot "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "\n          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="22e4e574b7f8abf58254f328792445b42e2a924a" datatype="html">\n        <source>The value can be updated at runtime.</source>\n        <target>該值可在執行時期更新。</target>\n      </trans-unit>\n      <trans-unit id="d7770de7b2343c9deeaa7ebf37ba3e35ca5c5988" datatype="html">\n        <source>Daemons/clients do not pull this value from the\n      monitor config database. We disallow setting this option via \'ceph config\n      set ...\'. This option should be configured via ceph.conf or via the\n      command line.</source>\n        <target>精靈/用戶端不會從監控程式組態資料庫\n      提取此值。我們不允許透過「ceph config set ...」\n      設定此選項。應透過 ceph.conf 或使用指令行\n      進行設定。</target>\n      </trans-unit>\n      <trans-unit id="83f11fd1dc503c37931ea6c1c5c1e8c2b4b597b6" datatype="html">\n        <source>Option takes effect only during daemon startup.</source>\n        <target>該選項僅在精靈啟動期間生效。</target>\n      </trans-unit>\n      <trans-unit id="837a07cd6a971038b8b1aa190c43440c9fdb5d8b" datatype="html">\n        <source>Option only affects cluster creation.</source>\n        <target>該選項僅影響叢集建立。</target>\n      </trans-unit>\n      <trans-unit id="2566a88eb247c918b71cfe5b354c31de0d4b01e5" datatype="html">\n        <source>Option only affects daemon creation.</source>\n        <target>該選項僅影響精靈建立。</target>\n      </trans-unit>\n      <trans-unit id="1cdc60cfc09c257625768f3d2082816cdef27279" datatype="html">\n        <source>Updated config option \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\n        </source>\n        <target>Updated config option \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="d473e0f684a60db45d6f31e993f693f74290e056" datatype="html">\n        <source>Service</source>\n        <target>服務</target>\n      </trans-unit>\n      <trans-unit id="6986e0df8092d822ac2c076520d83994c78834fc" datatype="html">\n        <source>Modified</source>\n        <target>Modified</target>\n      </trans-unit>\n      <trans-unit id="9951bb3983c7dba6fde013e05c922e4fe1a44367" datatype="html">\n        <source>Current value</source>\n        <target>目前的值</target>\n      </trans-unit>\n      <trans-unit id="4a01c175f90dd92b432f4a4a199d2c7bb9d997ff" datatype="html">\n        <source>Editable</source>\n        <target>可編輯</target>\n      </trans-unit>\n      <trans-unit id="261c0af854e8684abc15f89dce6efb3e72344b18" datatype="html">\n        <source>host</source>\n        <target>host</target>\n      </trans-unit>\n      <trans-unit id="b1b381321d4cef04605d3e6e8847ea2b72a03799" datatype="html">\n        <source>Identify</source>\n        <target>Identify</target>\n      </trans-unit>\n      <trans-unit id="a5d5e407f8c4e1b152509c966c90f37edf68472e" datatype="html">\n        <source>Device path</source>\n        <target>Device path</target>\n      </trans-unit>\n      <trans-unit id="b7da3e3505cc80f9bf3cffc8444c53e8a9ec70a5" datatype="html">\n        <source>Available</source>\n        <target>Available</target>\n      </trans-unit>\n      <trans-unit id="396974120fc614fc930a27c8d15a094d82a3a9e4" datatype="html">\n        <source>Vendor</source>\n        <target>Vendor</target>\n      </trans-unit>\n      <trans-unit id="6ec98fa3d6504ba1fd03465194b53706c8263c99" datatype="html">\n        <source>Model</source>\n        <target>Model</target>\n      </trans-unit>\n      <trans-unit id="f2d785f5658c96c6a2f505cdd625108bcece84c3" datatype="html">\n        <source>Identify device \n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\n        </source>\n        <target>Identify device \n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="c97ab45ca09248f8f1ba60328175741657fe39ce" datatype="html">\n        <source>Please enter the duration how long to blink the LED.</source>\n        <target>Please enter the duration how long to blink the LED.</target>\n      </trans-unit>\n      <trans-unit id="87e56ee5057023d7e8b59420b838bad112b043bc" datatype="html">\n        <source>1 minute</source>\n        <target>1 minute</target>\n      </trans-unit>\n      <trans-unit id="affa3b3bf1f36531e5ae65291f8a7cd1b06860ee" datatype="html">\n        <source>2 minutes</source>\n        <target>2 minutes</target>\n      </trans-unit>\n      <trans-unit id="878c6645b7fc26d85c7aee17a9d8c282a938dcf3" datatype="html">\n        <source>5 minutes</source>\n        <target>5 minutes</target>\n      </trans-unit>\n      <trans-unit id="aa0a76140961594b7176ade241e5025a7dbb5dce" datatype="html">\n        <source>10 minutes</source>\n        <target>10 minutes</target>\n      </trans-unit>\n      <trans-unit id="0a7f83a1f27750ef634a1f1f97263fac36113b1f" datatype="html">\n        <source>15 minutes</source>\n        <target>15 minutes</target>\n      </trans-unit>\n      <trans-unit id="699b690d686dbb8e00a1e95b89ba2fffb548da6e" datatype="html">\n        <source>Execute</source>\n        <target>Execute</target>\n      </trans-unit>\n      <trans-unit id="aa975a86dd49979a3ae90b9f3fc5b2c97311d422" datatype="html">\n        <source>Identifying \'\n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\' started on host \'\n          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>\'\n        </source>\n        <target>Identifying \'\n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\' started on host \'\n          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="1a6e6ad05508130b7a99ce5b15daf3227c2a930c" datatype="html">\n        <source>Updated options for module "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>".\n        </source>\n        <target>Updated options for module "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="6bd47ff8707aa2e6a94a4a6e2566b86dc7956d5f" datatype="html">\n        <source>Always-On</source>\n        <target>Always-On</target>\n      </trans-unit>\n      <trans-unit id="ac6c9212896d39b23811ed2dadab7d07336ec559" datatype="html">\n        <source>Enable</source>\n        <target>啟用</target>\n      </trans-unit>\n      <trans-unit id="6766a926d80bb7763785621098dae459d6226429" datatype="html">\n        <source>Disable</source>\n        <target>停用</target>\n      </trans-unit>\n      <trans-unit id="340f2f312c2eb353e5cd69aee6bee7f5a73c34ac" datatype="html">\n        <source>This Manager module is always on.</source>\n        <target>This Manager module is always on.</target>\n      </trans-unit>\n      <trans-unit id="6a0b3657745dd7a2f2162f1cc790bf9004d0845d" datatype="html">\n        <source>Reconnecting, please wait ...</source>\n        <target>正在重新連接,請稍候...</target>\n      </trans-unit>\n      <trans-unit id="7099a8878af7a0a26fe5663c4f46cfe87142b75d" datatype="html">\n        <source>Public Address</source>\n        <target>公用位址</target>\n      </trans-unit>\n      <trans-unit id="cbdd1cdc0c7a87f55dd177bc44212f0fc4b80852" datatype="html">\n        <source>Open Sessions</source>\n        <target>開啟的工作階段</target>\n      </trans-unit>\n      <trans-unit id="34c6f45591d420b1101dcee53999d1de91c0e400" datatype="html">\n        <source>No available devices</source>\n        <target>No available devices</target>\n      </trans-unit>\n      <trans-unit id="dcfe8807a2a1d0d7074a02afe9b80645bd03b9ab" datatype="html">\n        <source>Please add primary devices first</source>\n        <target>Please add primary devices first</target>\n      </trans-unit>\n      <trans-unit id="05d024719e53f85f7f294b7e21dfd805709a0b06" datatype="html">\n        <source>Add devices by using filters</source>\n        <target>Add devices by using filters</target>\n      </trans-unit>\n      <trans-unit id="37e58d1cbdf8212b380efa51422e42821d4f08e6" datatype="html">\n        <source>No In</source>\n        <target>禁止標示為 In</target>\n      </trans-unit>\n      <trans-unit id="12706eb5af17ff5ad77b3de21af368d24678e00b" datatype="html">\n        <source>OSDs that were previously marked out will not be marked back in when they start</source>\n        <target>之前標示為 out 的 OSD 在啟動時將不會重新標示為 in</target>\n      </trans-unit>\n      <trans-unit id="96114d7624d11dc90ca46cfa96145fe22118df76" datatype="html">\n        <source>No Out</source>\n        <target>禁止標示為 Out</target>\n      </trans-unit>\n      <trans-unit id="a2ef636fe1ddd56b63e4aaf3d292f33dbf735ef3" datatype="html">\n        <source>OSDs will not automatically be marked out after the configured interval</source>\n        <target>OSD 在設定的間隔過後將不會自動標示為 out</target>\n      </trans-unit>\n      <trans-unit id="ee50aefa9b8bde1e5429b48709a23abfe08358e0" datatype="html">\n        <source>No Up</source>\n        <target>禁止標示為 Up</target>\n      </trans-unit>\n      <trans-unit id="608929b939307e397586a98cea52ae38997c7273" datatype="html">\n        <source>OSDs are not allowed to start</source>\n        <target>不允許 OSD 啟動</target>\n      </trans-unit>\n      <trans-unit id="1751ab69c1e7f62927afedbf7116e0116316c551" datatype="html">\n        <source>No Down</source>\n        <target>禁止標示為 Down</target>\n      </trans-unit>\n      <trans-unit id="41fac86dfb65c1db690f3e87f6497cb73b281084" datatype="html">\n        <source>OSD failure reports are being ignored, such that the monitors will not mark OSDs down</source>\n        <target>將會忽略 OSD 故障報告,如此監控程式便不會將 OSD 標示為 down</target>\n      </trans-unit>\n      <trans-unit id="b2838c6165a9672a17db188f4dd9676574353dd8" datatype="html">\n        <source>Pause</source>\n        <target>暫停</target>\n      </trans-unit>\n      <trans-unit id="191d71dadcc8790573d46706a0b48211de4b8334" datatype="html">\n        <source>Pauses reads and writes</source>\n        <target>暫停讀取和寫入</target>\n      </trans-unit>\n      <trans-unit id="471d5ba75836f38c19992cf83d8822632d99e473" datatype="html">\n        <source>No Scrub</source>\n        <target>禁止整理</target>\n      </trans-unit>\n      <trans-unit id="5b8caa61814121bc36dac0c34a9e9de3cae74990" datatype="html">\n        <source>Scrubbing is disabled</source>\n        <target>整理已停用</target>\n      </trans-unit>\n      <trans-unit id="7f29a0ac1c797bdc0347dd5d0734ba83e96e7ce6" datatype="html">\n        <source>No Deep Scrub</source>\n        <target>禁止深層整理</target>\n      </trans-unit>\n      <trans-unit id="01da61ab216541a8d31259cebd16b10c7e5fc124" datatype="html">\n        <source>Deep Scrubbing is disabled</source>\n        <target>深層整理已停用</target>\n      </trans-unit>\n      <trans-unit id="0b86c7f18ac725de62c7e192dcfccd02c0dc40ab" datatype="html">\n        <source>No Backfill</source>\n        <target>禁止回填</target>\n      </trans-unit>\n      <trans-unit id="bd33a2bdc8fbed3b7469f3717c16d9aaa2851fdd" datatype="html">\n        <source>Backfilling of PGs is suspended</source>\n        <target>PG 回填已暫停</target>\n      </trans-unit>\n      <trans-unit id="df526de2b93c4099a30c200ef551608e39ee5256" datatype="html">\n        <source>No Rebalance</source>\n        <target>No Rebalance</target>\n      </trans-unit>\n      <trans-unit id="c5b70346245f8d52b58e5e7fe222ce82f12429ce" datatype="html">\n        <source>OSD will choose not to backfill unless PG is also degraded</source>\n        <target>OSD will choose not to backfill unless PG is also degraded</target>\n      </trans-unit>\n      <trans-unit id="7fbbd036394cfa623add40299757bc87df8eaa7e" datatype="html">\n        <source>No Recover</source>\n        <target>禁止復原</target>\n      </trans-unit>\n      <trans-unit id="f3ee9b451a64dca47299c9b4ae1091c2008068ad" datatype="html">\n        <source>Recovery of PGs is suspended</source>\n        <target>PG 復原已暫停</target>\n      </trans-unit>\n      <trans-unit id="de904148fe7e8d812218f50333ffe247900617c5" datatype="html">\n        <source>Bitwise Sort</source>\n        <target>按位元排序</target>\n      </trans-unit>\n      <trans-unit id="2613c9fde29785bcd75f0abeccb653d14d7527b3" datatype="html">\n        <source>Use bitwise sort</source>\n        <target>使用按位元排序</target>\n      </trans-unit>\n      <trans-unit id="2fe10d84250aeee365db244251d40934c70ff1e9" datatype="html">\n        <source>Purged Snapdirs</source>\n        <target>已清除 Snapdir</target>\n      </trans-unit>\n      <trans-unit id="6b22a5b780eda3c5d500cdac9c6d4f96978c38f1" datatype="html">\n        <source>OSDs have converted snapsets</source>\n        <target>OSD 已轉換 snapset</target>\n      </trans-unit>\n      <trans-unit id="c42f0ba60564dc5b977a8c7f3fdcde9efbb39c60" datatype="html">\n        <source>Recovery Deletes</source>\n        <target>復原刪除</target>\n      </trans-unit>\n      <trans-unit id="72fe39979198ea2ed6db6274b5029025cb316d90" datatype="html">\n        <source>Deletes performed during recovery instead of peering</source>\n        <target>在復原期間,而非在建立互聯時執行刪除</target>\n      </trans-unit>\n      <trans-unit id="1bb4a1f9127cefe624c173557a716d0ebb6d647c" datatype="html">\n        <source>PG Log Hard Limit</source>\n        <target>PG 記錄硬限制</target>\n      </trans-unit>\n      <trans-unit id="e03c0321397fdf7a9c22e8d6b5015424943c0a57" datatype="html">\n        <source>Puts a hard limit on pg log length</source>\n        <target>為 pg 記錄長度設定硬限制</target>\n      </trans-unit>\n      <trans-unit id="3c384e2e80c6b5eb24861fbf4225b69486cff4a3" datatype="html">\n        <source>Updated OSD Flags</source>\n        <target>已更新 OSD 旗標</target>\n      </trans-unit>\n      <trans-unit id="948758e1412bb2ecdb98e3a4f1cbb6d7458456f2" datatype="html">\n        <source>Encryption</source>\n        <target>Encryption</target>\n      </trans-unit>\n      <trans-unit id="c8b1475105463088593de1022ff6dceb523eae0e" datatype="html">\n        <source>OSD</source>\n        <target>OSD</target>\n      </trans-unit>\n      <trans-unit id="688578fcc739d6f0c5fb6c366dbb19d21c6d9e36" datatype="html">\n        <source>out</source>\n        <target>out</target>\n      </trans-unit>\n      <trans-unit id="cb0f69bdd4dea41d7d45c74b6e07f98de8a2ab26" datatype="html">\n        <source>in</source>\n        <target>in</target>\n      </trans-unit>\n      <trans-unit id="b5fbc7c7f007dd53b2318525bb7ff8b0376c9e37" datatype="html">\n        <source>down</source>\n        <target>down</target>\n      </trans-unit>\n      <trans-unit id="b58719bcb9184e1a7884d00d22d10899d59bf295" datatype="html">\n        <source>Mark</source>\n        <target>標示</target>\n      </trans-unit>\n      <trans-unit id="31a1c1aa03f1e5084750bedb4e3fdc04ce2cb6ca" datatype="html">\n        <source>OSD lost</source>\n        <target>OSD 遺失</target>\n      </trans-unit>\n      <trans-unit id="f3fc4c85c5b8f1dedea0496b72d0af9da7b9e0d9" datatype="html">\n        <source>marked lost</source>\n        <target>已標示為遺失</target>\n      </trans-unit>\n      <trans-unit id="40fedc157ad899a18ec40573f770d18b040959d2" datatype="html">\n        <source>Purge</source>\n        <target>清除</target>\n      </trans-unit>\n      <trans-unit id="4f3cff08c7033b63bbccfe66006b1bcaea48ddd8" datatype="html">\n        <source>purged</source>\n        <target>已清除</target>\n      </trans-unit>\n      <trans-unit id="8e5d1b01eca6dce26a4751f0b19bda7a6ab8db5b" datatype="html">\n        <source>destroy</source>\n        <target>損毀</target>\n      </trans-unit>\n      <trans-unit id="495a06b78bf165a7b545fa002137f0846b094a3d" datatype="html">\n        <source>destroyed</source>\n        <target>已損毀</target>\n      </trans-unit>\n      <trans-unit id="70ef158c584bafe788e319a0bffa11b02ee9abf1" datatype="html">\n        <source>delete</source>\n        <target>刪除</target>\n      </trans-unit>\n      <trans-unit id="a5b387f5a15b95e339df10fc23526c659a2b6c6f" datatype="html">\n        <source>deleted</source>\n        <target>deleted</target>\n      </trans-unit>\n      <trans-unit id="107614b994f2b01abdc1ca179bf780b0cd933ec4" datatype="html">\n        <source>Recovery Priority</source>\n        <target>Recovery Priority</target>\n      </trans-unit>\n      <trans-unit id="359dad5a3a912ef9dece3194035020856805aa96" datatype="html">\n        <source>PG scrub</source>\n        <target>PG scrub</target>\n      </trans-unit>\n      <trans-unit id="953144c420c2e5abd02e6a687433eac60fa852bd" datatype="html">\n        <source>PGs</source>\n        <target>PG</target>\n      </trans-unit>\n      <trans-unit id="7d3523ea9d35c274cef84043de8a2fdde540a9a1" datatype="html">\n        <source>Read bytes</source>\n        <target>讀取位元組數</target>\n      </trans-unit>\n      <trans-unit id="f15bf7f588f09ca79795b17bc244e8d336f28171" datatype="html">\n        <source>Write bytes</source>\n        <target>寫入位元組數</target>\n      </trans-unit>\n      <trans-unit id="f3c33322823c846b13f59ba2c8f234405bba99e1" datatype="html">\n        <source>Read ops</source>\n        <target>讀取操作數</target>\n      </trans-unit>\n      <trans-unit id="7e0b24a17546cbfab48b03dc874461d1ca68bc9a" datatype="html">\n        <source>Write ops</source>\n        <target>寫入操作數</target>\n      </trans-unit>\n      <trans-unit id="b27d1dd31789610130b7cdbf88c4da552cffe936" datatype="html">\n        <source>Edit OSD: \n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\n        </source>\n        <target>Edit OSD: \n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="986f1379580078e77666d10f8ddf4f839c6ca71d" datatype="html">\n        <source>Edit OSD</source>\n        <target>Edit OSD</target>\n      </trans-unit>\n      <trans-unit id="a4b09e2fa39c3e4f1a387f191fbae4eea3ce7bf5" datatype="html">\n        <source>Updated OSD "\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>"\n        </source>\n        <target>Updated OSD "\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="d45455406092f58e6b089cb440b5b7934b801a01" datatype="html">\n        <source>Mark OSD \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </source>\n        <target>Mark OSD \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="de0b7806e451b3b3dbd564decba59981fe781c18" datatype="html">\n        <source>Mark \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </source>\n        <target>Mark \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="bba1d3bb4f8a47aa2b3068e242562196eadb1e83" datatype="html">\n        <source>PG scrub options</source>\n        <target>PG scrub options</target>\n      </trans-unit>\n      <trans-unit id="b0b7748ebc9b7a6942a8cac4a89d4b215b365878" datatype="html">\n        <source>Updated PG scrub options</source>\n        <target>Updated PG scrub options</target>\n      </trans-unit>\n      <trans-unit id="4edc2162af0bd6cd941eaf730d20a7e3b5a83ba7" datatype="html">\n        <source>Max Backfills</source>\n        <target>最大回填數</target>\n      </trans-unit>\n      <trans-unit id="eb5e6c24a48a1dfe23e0a772b762be5e949c0c8a" datatype="html">\n        <source>Recovery Max Active</source>\n        <target>處於使用中狀態的最大復原操作數</target>\n      </trans-unit>\n      <trans-unit id="4a23c6d3859e03184118620d2baeb736ac765fbf" datatype="html">\n        <source>Recovery Max Single Start</source>\n        <target>單次啟動的最大復原操作數</target>\n      </trans-unit>\n      <trans-unit id="97049169ef5228fd1724de2fcdad1fec2858eaf8" datatype="html">\n        <source>Recovery Sleep</source>\n        <target>復原操作間隔睡眠時間</target>\n      </trans-unit>\n      <trans-unit id="89553524f4e7db5c437b07dcfdc7b831d56ded1a" datatype="html">\n        <source>Updated OSD recovery speed priority "\n          <x id="INTERPOLATION" equiv-text="{{value}}"/>"\n        </source>\n        <target>Updated OSD recovery speed priority "\n          <x id="INTERPOLATION" equiv-text="{{value}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="ccf5f30798c03d2d8efd0e6eb508320c018b722d" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{operation}}"/> was initialized in the following OSD(s): \n          <x id="INTERPOLATION_1" equiv-text="{{id}}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{operation}}"/> was initialized in the following OSD(s): \n          <x id="INTERPOLATION_1" equiv-text="{{id}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="3bc2d18913479965cb046ec75e2ac3f7b7a77ce5" datatype="html">\n        <source>Create Silence</source>\n        <target>Create Silence</target>\n      </trans-unit>\n      <trans-unit id="78917e8031aaf913ac3fa63295325ce8879703ce" datatype="html">\n        <source>Job</source>\n        <target>工作</target>\n      </trans-unit>\n      <trans-unit id="94287619205068b591c18493c64781424864c259" datatype="html">\n        <source>Severity</source>\n        <target>嚴重性</target>\n      </trans-unit>\n      <trans-unit id="e6cfbe0c5e0302ba2cec22315f6a28f8ac46b651" datatype="html">\n        <source>Started</source>\n        <target>已啟動</target>\n      </trans-unit>\n      <trans-unit id="801b98c6f02fe3b32f6afa3ee854c99ed83474e6" datatype="html">\n        <source>URL</source>\n        <target>URL</target>\n      </trans-unit>\n      <trans-unit id="d9f726c70aeba7fa6d3d68bff718abe78b1e50ac" datatype="html">\n        <source>Query</source>\n        <target>Query</target>\n      </trans-unit>\n      <trans-unit id="a5cd682a8a33bdc72e093d059429e3cc3a50ec1d" datatype="html">\n        <source>silence</source>\n        <target>silence</target>\n      </trans-unit>\n      <trans-unit id="f557e117e059e7036c6eecacd325a6ae35d866e0" datatype="html">\n        <source>Attribute name</source>\n        <target>Attribute name</target>\n      </trans-unit>\n      <trans-unit id="50f7f517ad8158667f7d4e2bd6f3256e05156e75" datatype="html">\n        <source>Regular expression</source>\n        <target>Regular expression</target>\n      </trans-unit>\n      <trans-unit id="81b1eab399c47110d50f45e3ccb4c009de7cb581" datatype="html">\n        <source>Please add your Prometheus host to the dashboard configuration and refresh the page</source>\n        <target>Please add your Prometheus host to the dashboard configuration and refresh the page</target>\n      </trans-unit>\n      <trans-unit id="29b4ae3296e239446fa0dea88a5112de15cffa54" datatype="html">\n        <source>Created by</source>\n        <target>Created by</target>\n      </trans-unit>\n      <trans-unit id="8d833cceee0ba4c5161b130365e02bc1e129b57e" datatype="html">\n        <source>Ends</source>\n        <target>Ends</target>\n      </trans-unit>\n      <trans-unit id="46a11ff4289e8c88b1b7a935f8d8ee704055f11a" datatype="html">\n        <source>Silence</source>\n        <target>Silence</target>\n      </trans-unit>\n      <trans-unit id="f2ea47d702c7f5e3e5fa751bf9959e21030b72e6" datatype="html">\n        <source>Daemon type</source>\n        <target>Daemon type</target>\n      </trans-unit>\n      <trans-unit id="6c131968e6ab730d86443e6fc11c5cc2a76d7bac" datatype="html">\n        <source>Daemon ID</source>\n        <target>Daemon ID</target>\n      </trans-unit>\n      <trans-unit id="5738f0ca7ddd9594058ce051b1d5d576e2782825" datatype="html">\n        <source>Container ID</source>\n        <target>Container ID</target>\n      </trans-unit>\n      <trans-unit id="78ebcf850cd440c5efc15e6a3a522ae75aeff669" datatype="html">\n        <source>Container Image name</source>\n        <target>Container Image name</target>\n      </trans-unit>\n      <trans-unit id="ea0c7ab9a7bdf646d494abf8c85fbf67d934d079" datatype="html">\n        <source>Container Image ID</source>\n        <target>Container Image ID</target>\n      </trans-unit>\n      <trans-unit id="bf2468fd965b8a59c135ad549b3a612aa9873abc" datatype="html">\n        <source>Status Description</source>\n        <target>Status Description</target>\n      </trans-unit>\n      <trans-unit id="19867330bdc84096f5a93ab087a1766476c8a074" datatype="html">\n        <source>Last Refreshed</source>\n        <target>Last Refreshed</target>\n      </trans-unit>\n      <trans-unit id="2349ee2027ab6ceb3e4b8834928562075b7e1ac7" datatype="html">\n        <source>Container image name</source>\n        <target>Container image name</target>\n      </trans-unit>\n      <trans-unit id="3c475503fb93338811af6b3d9ccacca1d7334609" datatype="html">\n        <source>Container image ID</source>\n        <target>Container image ID</target>\n      </trans-unit>\n      <trans-unit id="8dd15f6c73c05a8b0bd7b6d416487ab6570b88c8" datatype="html">\n        <source>Running</source>\n        <target>Running</target>\n      </trans-unit>\n      <trans-unit id="fb2e1bed329dc5b84197808c778abb9edcbdb335" datatype="html">\n        <source>Used</source>\n        <target>已使用</target>\n      </trans-unit>\n      <trans-unit id="4f1ab04d9100fb0df0e62b921ec46ae052ae29fc" datatype="html">\n        <source>Avail.</source>\n        <target>可用</target>\n      </trans-unit>\n      <trans-unit id="a1c9b3d4fa67450fe9afd1d726f8a1bd91d990ea" datatype="html">\n        <source>Clean</source>\n        <target>乾淨</target>\n      </trans-unit>\n      <trans-unit id="0054f5460090d6dde385e8f099d598df5d28cf54" datatype="html">\n        <source>Working</source>\n        <target>工作中</target>\n      </trans-unit>\n      <trans-unit id="a8059e31694578c1b0344a76a345357dd60e8f01" datatype="html">\n        <source>Warning</source>\n        <target>警告</target>\n      </trans-unit>\n      <trans-unit id="e5d8bb389c702588877f039d72178f219453a72d" datatype="html">\n        <source>Unknown</source>\n        <target>未知</target>\n      </trans-unit>\n      <trans-unit id="88155be1b9b9c6140d6e8f93bac4a775cfdc6671" datatype="html">\n        <source>Healthy</source>\n        <target>Healthy</target>\n      </trans-unit>\n      <trans-unit id="8a3aec4dc1a6e2d4c612ae85e0537acbb20a0f85" datatype="html">\n        <source>Misplaced</source>\n        <target>Misplaced</target>\n      </trans-unit>\n      <trans-unit id="ee81f9bf7ceac69712e0b83e8adc268739f9673e" datatype="html">\n        <source>Degraded</source>\n        <target>Degraded</target>\n      </trans-unit>\n      <trans-unit id="14625bc4025daef1969777a67a3cca27e0cd9167" datatype="html">\n        <source>Unfound</source>\n        <target>Unfound</target>\n      </trans-unit>\n      <trans-unit id="8f23ea509d081c2f747d083d44608dbf125b2ea2" datatype="html">\n        <source>replicas</source>\n        <target>replicas</target>\n      </trans-unit>\n      <trans-unit id="129a2224e1f9d19eb5e11e2a07fe10a785556484" datatype="html">\n        <source>up</source>\n        <target>啟用中</target>\n      </trans-unit>\n      <trans-unit id="d5f29cf0af691726483262d647eb6622be002512" datatype="html">\n        <source>no filesystems</source>\n        <target>無檔案系統</target>\n      </trans-unit>\n      <trans-unit id="b1c4387ffab06f3fa9fdb4411aea955595538d44" datatype="html">\n        <source>active</source>\n        <target>使用中</target>\n      </trans-unit>\n      <trans-unit id="1aaf7054d826f2cb05ec3e88a5a4b8116861e1f5" datatype="html">\n        <source>standby</source>\n        <target>待命</target>\n      </trans-unit>\n      <trans-unit id="c9a1080024dca344a48acdb77fa2d54e059f7254" datatype="html">\n        <source>n/a</source>\n        <target>無</target>\n      </trans-unit>\n      <trans-unit id="84a1787b6df375847c70f782861d7e7f8f43bff4" datatype="html">\n        <source>active daemon</source>\n        <target>使用中的精靈</target>\n      </trans-unit>\n      <trans-unit id="24407dc2ebfafaf6b131ee978683b893c3f1d763" datatype="html">\n        <source>quorum</source>\n        <target>quorum</target>\n      </trans-unit>\n      <trans-unit id="2fa50bc07995c6ea660412294298ded39fcb08d9" datatype="html">\n        <source>The NFS Ganesha service is not configured.</source>\n        <target>未設定 NFS Ganesha 服務。</target>\n      </trans-unit>\n      <trans-unit id="af1396bdc49f45ea6c4a1e414769f5e2a382c834" datatype="html">\n        <source>Transport</source>\n        <target>傳輸</target>\n      </trans-unit>\n      <trans-unit id="b6a0e176d96c4feed2e975a039c044fcf822e152" datatype="html">\n        <source>CephFS User</source>\n        <target>CephFS 使用者</target>\n      </trans-unit>\n      <trans-unit id="44dc610cf201a163e8c38da810acec9596930bb3" datatype="html">\n        <source>CephFS Filesystem</source>\n        <target>CephFS 檔案系統</target>\n      </trans-unit>\n      <trans-unit id="db6dc7124be83c7055cb0f2719e31f2f9d46fd3d" datatype="html">\n        <source>(inherited from global config)</source>\n        <target>(繼承自全域組態)</target>\n      </trans-unit>\n      <trans-unit id="e1f97bb86f991553ec7b535cb39e7eaa99dfcfe2" datatype="html">\n        <source>inherited from global config</source>\n        <target>繼承自全域組態</target>\n      </trans-unit>\n      <trans-unit id="e751800766277e7c2edd652cec7a7a1a68a37852" datatype="html">\n        <source>-- Select what kind of user id squashing is performed --</source>\n        <target>-- 選取執行哪種類型的使用者 ID 匿名存取 --</target>\n      </trans-unit>\n      <trans-unit id="4b58387f911e8a7b135a0c4d76c70335c65bbb32" datatype="html">\n        <source>There are no daemons available.</source>\n        <target>沒有可用的精靈。</target>\n      </trans-unit>\n      <trans-unit id="18ae8dc1264f06df7ea251175ada2ac1b8401018" datatype="html">\n        <source>NFS export</source>\n        <target>NFS export</target>\n      </trans-unit>\n      <trans-unit id="c56d51748965db5f3966cd1d06a1c9f4b5244931" datatype="html">\n        <source>Crush Rule</source>\n        <target>Crush Rule</target>\n      </trans-unit>\n      <trans-unit id="ae128527ec18892f812a62a1fd15dc50a38060c0" datatype="html">\n        <source>EC Profile</source>\n        <target>EC Profile</target>\n      </trans-unit>\n      <trans-unit id="60fb10c145f9c7ede2b9ddf9b2b0b0f6191d0ebd" datatype="html">\n        <source>Cache Mode</source>\n        <target>快取模式</target>\n      </trans-unit>\n      <trans-unit id="fa5bfad31d4139f6871443bb74324ffda5cad3e6" datatype="html">\n        <source>Min Evict Age</source>\n        <target>逐出前至少可留存的時間</target>\n      </trans-unit>\n      <trans-unit id="fd0eb851666df45c34c76fabcda79b0d77bc910b" datatype="html">\n        <source>Min Flush Age</source>\n        <target>衝洗前至少可留存的時間</target>\n      </trans-unit>\n      <trans-unit id="cb54d2c420a534cee0c308ea5589f8c394ef8d67" datatype="html">\n        <source>Target Max Bytes</source>\n        <target>目標最大位元組數</target>\n      </trans-unit>\n      <trans-unit id="07f4ebe6615dca466818ffdae2a69ee217d265fb" datatype="html">\n        <source>Target Max Objects</source>\n        <target>目標最大物件數</target>\n      </trans-unit>\n      <trans-unit id="eaa8f4df53cf7fa78d078e20a701d10f3dccd77d" datatype="html">\n        <source>No applications added</source>\n        <target>未新增應用程式</target>\n      </trans-unit>\n      <trans-unit id="321c2a7640f11177ea49b0857b94c4b70830c0e6" datatype="html">\n        <source>Applications limit reached</source>\n        <target>已達到應用程式上限</target>\n      </trans-unit>\n      <trans-unit id="519d27742b74fadc8336777452f78891e98aa1dc" datatype="html">\n        <source>A pool can only have up to four applications definitions.</source>\n        <target>一個池最多只能四個應用程式定義。</target>\n      </trans-unit>\n      <trans-unit id="b5bec3813f0d45daa7eb9471272969e1bc3e734e" datatype="html">\n        <source>Allowed characters \'_a-zA-Z0-9\'</source>\n        <target>允許的字元為「_a-zA-Z0-9」</target>\n      </trans-unit>\n      <trans-unit id="807472d29602a0085bce62e534bd66208982c2e2" datatype="html">\n        <source>Maximum length is 128 characters</source>\n        <target>最大長度為 128 個字元</target>\n      </trans-unit>\n      <trans-unit id="37785748b9ac9ad1d3e4b111ac502c3284afe84b" datatype="html">\n        <source>Filter or add applications</source>\n        <target>過濾或新增應用程式</target>\n      </trans-unit>\n      <trans-unit id="38c7b8610ca87835e13eeee6a09ba1c414cd5cb9" datatype="html">\n        <source>Add application</source>\n        <target>新增應用程式</target>\n      </trans-unit>\n      <trans-unit id="db8c42f077700d8a94619fad9f4c94b7361d5f1d" datatype="html">\n        <source>pool</source>\n        <target>pool</target>\n      </trans-unit>\n      <trans-unit id="65bb2be83261bc4798853bbccdedc110c43feea7" datatype="html">\n        <source>erasure code profile</source>\n        <target>糾刪碼設定檔</target>\n      </trans-unit>\n      <trans-unit id="ae48e19a9a2acaca4b5ea594451bc9b0b01ec8d2" datatype="html">\n        <source>crush rule</source>\n        <target>crush rule</target>\n      </trans-unit>\n      <trans-unit id="112d356ad6846959ca4aa5ec9a1f0d9d473b24ec" datatype="html">\n        <source>Replica Size</source>\n        <target>複本大小</target>\n      </trans-unit>\n      <trans-unit id="ec50492db341fa752b023d8c924601286b6c9c0c" datatype="html">\n        <source>Last Change</source>\n        <target>上次變更時間</target>\n      </trans-unit>\n      <trans-unit id="563a8c136a9d423bc7ae1269a404d6da5fd83dad" datatype="html">\n        <source>Erasure Coded Profile</source>\n        <target>糾刪碼設定檔</target>\n      </trans-unit>\n      <trans-unit id="0ad7f0662956cff61ac1208f92b1a0305b1b2e58" datatype="html">\n        <source>Crush Ruleset</source>\n        <target>CRUSH 規則集</target>\n      </trans-unit>\n      <trans-unit id="bcc365a084b6145b941b371bd4c2b6c3d2c79234" datatype="html">\n        <source>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</source>\n        <target>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</target>\n      </trans-unit>\n      <trans-unit id="44939fd05cedfd077db886528b755e77d5fa3885" datatype="html">\n        <source>bucket</source>\n        <target>桶</target>\n      </trans-unit>\n      <trans-unit id="84fee774286ec4191311f1277075455c3ea5e2e2" datatype="html">\n        <source>Updated Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>".\n        </source>\n        <target>Updated Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="2d7a43674f0bbc131c9e555ec16ac37fa0445d76" datatype="html">\n        <source>Created Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>"\n        </source>\n        <target>Created Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="ec40d74ecfb1d6d60455af6805c9a714a3f5750a" datatype="html">\n        <source>buckets</source>\n        <target>桶</target>\n      </trans-unit>\n      <trans-unit id="764585d5595bac113582ee14a6fd07006770ceb1" datatype="html">\n        <source>capability</source>\n        <target>capability</target>\n      </trans-unit>\n      <trans-unit id="0914cbe18bae204217e1851be6d2d24d86e74605" datatype="html">\n        <source>user</source>\n        <target>使用者</target>\n      </trans-unit>\n      <trans-unit id="d8c86dc5e48a63590d9c94e19f90b5f8325cbd49" datatype="html">\n        <source>subuser</source>\n        <target>subuser</target>\n      </trans-unit>\n      <trans-unit id="f45a3de8a8b40d161cc36a55d77548a27107ca04" datatype="html">\n        <source>S3 Key</source>\n        <target>S3 Key</target>\n      </trans-unit>\n      <trans-unit id="854a763265e92f91ba3ccee1a0e8d823be584f7c" datatype="html">\n        <source>Updated Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </source>\n        <target>Updated Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="84ab3fd641e65e39cffee0ec722a059ed284229e" datatype="html">\n        <source>Created Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </source>\n        <target>Created Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="7c7f4be7b726e61c577e63842a58d9e435f7c597" datatype="html">\n        <source>users</source>\n        <target>使用者</target>\n      </trans-unit>\n      <trans-unit id="9f7760223efd77806f1bbaf963e6993bb4bc6a0a" datatype="html">\n        <source>Swift Key</source>\n        <target>Swift Key</target>\n      </trans-unit>\n      <trans-unit id="6462d8f12b427c29363f00b12f20f566be24937c" datatype="html">\n        <source>Device ID</source>\n        <target>Device ID</target>\n      </trans-unit>\n      <trans-unit id="82f12bf23db4bb82db89877bebe93954bc1c8fb0" datatype="html">\n        <source>State of Health</source>\n        <target>State of Health</target>\n      </trans-unit>\n      <trans-unit id="7bd34bd120146afef0e0d8fa168d9bdabd594b6a" datatype="html">\n        <source>Good</source>\n        <target>Good</target>\n      </trans-unit>\n      <trans-unit id="31c59dce114ec0a9d02552ef7b81920b3de36793" datatype="html">\n        <source>Bad</source>\n        <target>Bad</target>\n      </trans-unit>\n      <trans-unit id="2862af5284f66d4b06bdcf77a5519141723b6989" datatype="html">\n        <source>Stale</source>\n        <target>Stale</target>\n      </trans-unit>\n      <trans-unit id="8d8e819b52984a4fbdec75a99eb28d1ae4323bbc" datatype="html">\n        <source>Life Expectancy</source>\n        <target>Life Expectancy</target>\n      </trans-unit>\n      <trans-unit id="72d9b15be18ea063e78c4e855b9e8c0af95593ef" datatype="html">\n        <source>Prediction Creation Date</source>\n        <target>Prediction Creation Date</target>\n      </trans-unit>\n      <trans-unit id="a6b4ef85e5ff8bd192751c7bbebc54c46118d6d4" datatype="html">\n        <source>Device Name</source>\n        <target>Device Name</target>\n      </trans-unit>\n      <trans-unit id="d5fd840374ca1a6f394bcd81f390a6dca27f8224" datatype="html">\n        <source>An error with error code \n          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.\n        </source>\n        <target>An error with error code \n          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.\n        </target>\n      </trans-unit>\n      <trans-unit id="a0b59d7139692bb8d8ed786b6eb6e9e70ce743f3" datatype="html">\n        <source>Raw</source>\n        <target>Raw</target>\n      </trans-unit>\n      <trans-unit id="2f3beddc8234b30fb26a7f63ba2f1ea74f2ed6f7" datatype="html">\n        <source>Threshold</source>\n        <target>Threshold</target>\n      </trans-unit>\n      <trans-unit id="4654b5a68af3c8bad29aa14ca85ccea1f3143c6b" datatype="html">\n        <source>When Failed</source>\n        <target>When Failed</target>\n      </trans-unit>\n      <trans-unit id="5b7f56d5be49fb8e8d8f40209d6746f8f72e9177" datatype="html">\n        <source>Worst</source>\n        <target>Worst</target>\n      </trans-unit>\n      <trans-unit id="1481b8488e10dbc437accce89d2ae35a0106e8ba" datatype="html">\n        <source>Scope</source>\n        <target>範圍</target>\n      </trans-unit>\n      <trans-unit id="9b1d5e95f6bdcfb4b737413f5fa157e0dcb103d5" datatype="html">\n        <source>Read</source>\n        <target>讀取</target>\n      </trans-unit>\n      <trans-unit id="70a67e04629f6d412db0a12d51820b480788d795" datatype="html">\n        <source>Create</source>\n        <target>建立</target>\n      </trans-unit>\n      <trans-unit id="dc4fba275819619ee78e8eae14d357ea69ba7477" datatype="html">\n        <source>role</source>\n        <target>role</target>\n      </trans-unit>\n      <trans-unit id="fe6ee93173884201ec62d62ba173c3de85ae177e" datatype="html">\n        <source>Created role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Created role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="41c032df0732f4318f8213fabd0719ac347d4b6c" datatype="html">\n        <source>Updated role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Updated role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="50e22b5289f79f1417369403345c9fa9911a4557" datatype="html">\n        <source>System Role</source>\n        <target>系統角色</target>\n      </trans-unit>\n      <trans-unit id="7f132668e2dbfcf616381d2daf59d1a6f2698102" datatype="html">\n        <source>Deleted role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Deleted role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="bd15b8d5c0fa160161728eefbbb585710414d471" datatype="html">\n        <source>New name</source>\n        <target>New name</target>\n      </trans-unit>\n      <trans-unit id="6f126277f3dc22a3ab3609c4c198386c8744e11a" datatype="html">\n        <source>Clone Role</source>\n        <target>Clone Role</target>\n      </trans-unit>\n      <trans-unit id="d19d8320479854bc52877cdf0dc5ecfe34a36ec7" datatype="html">\n        <source>Cloned role \'\n          <x id="INTERPOLATION" equiv-text="{{dst_name}}"/>\' from \'\n          <x id="INTERPOLATION_1" equiv-text="{{src_name}}"/>\'\n        </source>\n        <target>Cloned role \'\n          <x id="INTERPOLATION" equiv-text="{{dst_name}}"/>\' from \'\n          <x id="INTERPOLATION_1" equiv-text="{{src_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="2e35d60a14ce0b470e8b54602864a867f7fcef40" datatype="html">\n        <source>There are no roles.</source>\n        <target>There are no roles.</target>\n      </trans-unit>\n      <trans-unit id="d2362a49d2434ce137bf19dab004251b7fd9c7b3" datatype="html">\n        <source>Created user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Created user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="9910122dfedd2eaa544a990f1430e5b82a76d99f" datatype="html">\n        <source>Update user</source>\n        <target>更新使用者</target>\n      </trans-unit>\n      <trans-unit id="ac10a3d9b59575640797c1a8e6aea642cf5d5e77" datatype="html">\n        <source>Continue</source>\n        <target>繼續</target>\n      </trans-unit>\n      <trans-unit id="cf4bcf4ce3d551e6099ccdc3546ae418fe5f8038" datatype="html">\n        <source>You were automatically logged out because your roles have been changed.</source>\n        <target>您已被自動登出,因為您的角色發生了變更。</target>\n      </trans-unit>\n      <trans-unit id="0f6003fb0c1cc73b89d225801cc1b870945cd259" datatype="html">\n        <source>Updated user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Updated user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="fe516c6d820018fdc971113935e22ec1e852965f" datatype="html">\n        <source>Deleted user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Deleted user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="01a7e11502ff80421ef3615e533ea14ef57e1d5c" datatype="html">\n        <source>Failed to delete user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Failed to delete user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="63316a3861dbcb035147efc1b9fb6bc708242e94" datatype="html">\n        <source>You are currently logged in as "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>".\n        </source>\n        <target>You are currently logged in as "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="d8b81951d25439864e92f750f7c99d7426d6517c" datatype="html">\n        <source>password</source>\n        <target>password</target>\n      </trans-unit>\n      <trans-unit id="d361a9b5e1f7985a12c0433388f31626525a02b8" datatype="html">\n        <source>Updated user password"</source>\n        <target>Updated user password"</target>\n      </trans-unit>\n      <trans-unit id="c4e596a44ffc4718c1602600d6e4f029190eb031" datatype="html">\n        <source>The name of the node under which data should be placed.</source>\n        <target>The name of the node under which data should be placed.</target>\n      </trans-unit>\n      <trans-unit id="f24772ba1091155f8d7025332ca8456a204d1e28" datatype="html">\n        <source>The type of CRUSH nodes across which we should separate replicas.</source>\n        <target>The type of CRUSH nodes across which we should separate replicas.</target>\n      </trans-unit>\n      <trans-unit id="a3896042af461a80091c3f7a5fe3fff5ac40a3a0" datatype="html">\n        <source>The device class data should be placed on.</source>\n        <target>The device class data should be placed on.</target>\n      </trans-unit>\n      <trans-unit id="1d7fbcc3d5efc946ffbcf86fed04c4e20dda20fb" datatype="html">\n        <source>Each object is split in data-chunks parts, each stored on a different OSD.</source>\n        <target>各物件都被分割成資料區塊部分,分別儲存於不同的 OSD。</target>\n      </trans-unit>\n      <trans-unit id="b1f8ed4e216585f1f9134740002ef3c8501debd8" datatype="html">\n        <source>Compute coding chunks for each object and store them on different OSDs.\n      The number of coding chunks is also the number of OSDs that can be down without losing data.</source>\n        <target>運算各物件的編碼區塊并將它們儲存到不同的 OSD。\n      編碼區塊的數量等同於在不遺失資料的前提下,可停機的 OSD 數量。</target>\n      </trans-unit>\n      <trans-unit id="c437ee74a9a8e781e1380153f742a685e3b8cc5e" datatype="html">\n        <source>The jerasure plugin is the most generic and flexible plugin,\n          it is also the default for Ceph erasure coded pools.</source>\n        <target>Jerasure 外掛程式是最一般、最靈活的外掛程式,\n          也是 Ceph 糾刪碼池的預設外掛程式。</target>\n      </trans-unit>\n      <trans-unit id="8c7e19322851402afa67e41f4f1d4e531caf1bf5" datatype="html">\n        <source>The more flexible technique is reed_sol_van : it is enough to set k\n          and m. The cauchy_good technique can be faster but you need to chose the packetsize\n          carefully. All of reed_sol_r6_op, liberation, blaum_roth, liber8tion are RAID6 equivalents\n          in the sense that they can only be configured with m=2.</source>\n        <target>Reed_sol_van 方法更靈活︰它足以設定 k\n          和 m。Cauchy_good 方法更快,但您需要小心選取封包大小。\n          所有 reed_sol_r6_op、liberation、blaum_roth、liber8tion 都\n          等同於 RAID6,它們只能設定為 m=2。</target>\n      </trans-unit>\n      <trans-unit id="b1b11f49281b4e79219b4eecfbcb033cb15bd880" datatype="html">\n        <source>The encoding will be done on packets of bytes size at a time.\n          Chosing the right packet size is difficult.\n          The jerasure documentation contains extensive information on this topic.</source>\n        <target>將以位元組大小的封包為單位進行編碼。\n          選取合適的封包大小很難。\n          Jerasure 文件包含有關此主題的詳細資訊。</target>\n      </trans-unit>\n      <trans-unit id="d9cb3bc07a25b26fbea457e0a7b543340bc13c49" datatype="html">\n        <source>With the jerasure plugin, when an erasure coded object is stored on\n          multiple OSDs, recovering from the loss of one OSD requires reading from all the others.\n          For instance if jerasure is configured with k=8 and m=4, losing one OSD requires reading\n          from the eleven others to repair.\n\n          The lrc erasure code plugin creates local parity chunks to be able to recover using\n          less OSDs. For instance if lrc is configured with k=8, m=4 and l=4, it will create\n          an additional parity chunk for every four OSDs. When a single OSD is lost, it can be\n          recovered with only four OSDs instead of eleven.</source>\n        <target>使用 jerasure 外掛程式時,若糾刪碼物件儲存於\n          多個 OSD 上,則復原一個遺失的 OSD 時需要讀取所有其他 OSD。\n          例如,若 jerasure 設定為 k=8 且 m=4,則遺失一個 OSD 後需讀取\n          其他十一個 OSD 才能修復。\n\n          lrc 糾刪碼外掛程式會建立本地同位區塊,因此只需較少的 OSD 即\n          可復原。例如,若 lrc 設定為 k=8、m=4 且 l=4,它將為每四個 OSD\n          建立額外的同位區塊。這樣,當一個 OSD 遺失時,它只需四個 OSD\n          即可復原,而不需要十一個。</target>\n      </trans-unit>\n      <trans-unit id="813959d46e63a29bbd266b3af2ff9414c2ef553c" datatype="html">\n        <source>Group the coding and data chunks into sets of size locality. For instance,\n          for k=4 and m=2, when locality=3 two groups of three are created. Each set can\n          be recovered without reading chunks from another set.</source>\n        <target>將編碼區塊和資料區塊分組為大小為 locality 的集合。例如,\n          k=4 且 m=2 時,若 locality=3,則會建立 2 個大小為 3 的組。這樣,各組都能\n          自行復原,而無需從另一組讀取區塊。</target>\n      </trans-unit>\n      <trans-unit id="f0ff63d92e0a1b4d4b51e31b9133802d160a5f4c" datatype="html">\n        <source>The type of the crush bucket in which each set of chunks defined\n          by l will be stored. For instance, if it is set to rack, each group of l chunks will be\n          placed in a different rack. It is used to create a CRUSH rule step such as step choose\n          rack. If it is not set, no such grouping is done.</source>\n        <target>由 l 定義的區塊集將按哪種 CRUSH 桶類型儲存。\n          例如,若設定為機架,則各組 l 區塊將會被放置到不同的\n          機架中。該值用於建立類似 step choose rack 的 CRUSH\n          規則步驟。若未設定,則不會進行此類分組。</target>\n      </trans-unit>\n      <trans-unit id="3ece48df9d1e9a98f98bf3c5cc66e8b637020a4d" datatype="html">\n        <source>The isa plugin encapsulates the ISA library. It only runs on Intel processors.</source>\n        <target>isa 外掛程式封包了 ISA 程式庫。它只能在 Intel 處理器上執行。</target>\n      </trans-unit>\n      <trans-unit id="4472c9e31bfc7d96a83dc4afce0a6e885c99e839" datatype="html">\n        <source>The ISA plugin comes in two Reed Solomon forms.\n          If reed_sol_van is set, it is Vandermonde, if cauchy is set, it is Cauchy.</source>\n        <target>ISA 外掛程式包含兩種 Reed Solomon 格式。\n          若設定為 reed_sol_van,則為 Vandermonde。若設定為 cauchy,則為 Cauchy。</target>\n      </trans-unit>\n      <trans-unit id="fa385f5ecf63083ec848dca8dc5e52bdc72ac6f6" datatype="html">\n        <source>The shec plugin encapsulates the multiple SHEC library.\n          It allows ceph to recover data more efficiently than Reed Solomon codes.</source>\n        <target>shec 外掛程式封包了多個 SHEC 程式庫。\n          與 Reed Solomon 代碼相比,它能更有效地復原資料。</target>\n      </trans-unit>\n      <trans-unit id="687b3cd94b3475c24ff4481d64d4739f902a377c" datatype="html">\n        <source>The number of parity chunks each of which includes each data chunk in its\n          calculation range. The number is used as a durability estimator. For instance, if c=2,\n          2 OSDs can be down without losing data.</source>\n        <target>同位區塊的數量,它們在各自的計算範圍內包含了\n          各資料區塊。該數值被用做持久性估值。例如,若 c=2,\n          則在不遺失資料的前提下,可有 2 個 OSD 停機。</target>\n      </trans-unit>\n      <trans-unit id="f3c4af6df91bdaabdb715f8f0b61a24faf73a3bc" datatype="html">\n        <source>The name of the crush bucket used for the first step of the CRUSH rule.\n      For instance step take default.</source>\n        <target>CRUSH 規則的第一步所指向的 CRUSH 桶名稱。\n      例如 step take default。</target>\n      </trans-unit>\n      <trans-unit id="e1059955a5ce65cdabf0c0a8207377e1f9bae57e" datatype="html">\n        <source>Ensure that no two chunks are in a bucket with the same failure\n      domain. For instance, if the failure domain is host no two chunks will be stored on the same\n      host. It is used to create a CRUSH rule step such as step chooseleaf host.</source>\n        <target>確定兩個區塊不會存在於同一故障網域的桶中。\n      例如,若故障網域為主機,則不會有兩個區塊儲存於同一主機中。\n      該值用於建立類似 step chooseleaf host 的 CRUSH 規則步驟。</target>\n      </trans-unit>\n      <trans-unit id="ac392ac9c6da5fde6da80fc57b9c09402fb6e73d" datatype="html">\n        <source>Restrict placement to devices of a specific class\n      (e.g., ssd or hdd), using the crush device class names in the CRUSH map.</source>\n        <target>使用 CRUSH 地圖中的 crush 裝置類別名稱,\n      將放置限制於特定類別的裝置 (例如 ssd 或 hdd)。</target>\n      </trans-unit>\n      <trans-unit id="62bcb9ae5583a088649b1adf5787a86ca3334f89" datatype="html">\n        <source>Set the directory name from which the erasure code plugin is loaded.</source>\n        <target>設定糾刪碼外掛程式所在目錄。</target>\n      </trans-unit>\n      <trans-unit id="c8f10184a8433d132ede0a2c0c1aa96f291cacfa" datatype="html">\n        <source>Allows all operations</source>\n        <target>允許所有操作</target>\n      </trans-unit>\n      <trans-unit id="82077ee97c11ee76efc3adf253b7b26654544317" datatype="html">\n        <source>Allows only operations that do not modify the server</source>\n        <target>僅允許不修改伺服器的操作</target>\n      </trans-unit>\n      <trans-unit id="22b5212ec10449dbf0a0af0ad34122eac51b5f2a" datatype="html">\n        <source>Does not allow read or write operations, but allows any other operation</source>\n        <target>不允許讀取或寫入操作,但是允許任何其他操作</target>\n      </trans-unit>\n      <trans-unit id="9799d0f8c4b7727ae239fedfe3c0ce127feb7a50" datatype="html">\n        <source>Does not allow read, write, or any operation that modifies file        attributes or directory content</source>\n        <target>不允許讀取、寫入或任何可能修改檔案屬性或目錄內容的操作</target>\n      </trans-unit>\n      <trans-unit id="aeddefe0af87025d8f00699aa94bed8216a99a58" datatype="html">\n        <source>Allows no access at all</source>\n        <target>完全禁止存取</target>\n      </trans-unit>\n      <trans-unit id="a436c6a4025a749198e93cac239de8deede72211" datatype="html">\n        <source>-- Select the priority --</source>\n        <target>-- 選取優先程度 --</target>\n      </trans-unit>\n      <trans-unit id="9556266f0a2b1762a44b686f2bb21dbfefb01c12" datatype="html">\n        <source>Low</source>\n        <target>低</target>\n      </trans-unit>\n      <trans-unit id="72279141a67cc042d9864102b703216cc8a428a3" datatype="html">\n        <source>High</source>\n        <target>高</target>\n      </trans-unit>\n      <trans-unit id="6080b77234e92ad41bb52653b239c4c4f851317d" datatype="html">\n        <source>Error</source>\n        <target>Error</target>\n      </trans-unit>\n      <trans-unit id="c43dc1967a603fefb886149ac35863a06d5b4ce5" datatype="html">\n        <source>Information</source>\n        <target>資訊</target>\n      </trans-unit>\n      <trans-unit id="1e035e6ccfab771cad4226b2ad230cb0d4a88cba" datatype="html">\n        <source>Success</source>\n        <target>Success</target>\n      </trans-unit>\n      <trans-unit id="61fd1cffcb763cbfd5829071723cf9b647174bd9" datatype="html">\n        <source>An error occurred.</source>\n        <target>An error occurred.</target>\n      </trans-unit>\n      <trans-unit id="e6ca3c0efaf51e6d45a7f92f58bac37140c3fda4" datatype="html">\n        <source>Last 5 minutes</source>\n        <target>過去 5 分鐘</target>\n      </trans-unit>\n      <trans-unit id="b0ecb2bbc548cc9bd95050fd8f0c84586d083fe2" datatype="html">\n        <source>Last 15 minutes</source>\n        <target>過去 15 分鐘</target>\n      </trans-unit>\n      <trans-unit id="857ae67deb51353120b203b0f2a06b0c48ef49fa" datatype="html">\n        <source>Last 30 minutes</source>\n        <target>過去 30 分鐘</target>\n      </trans-unit>\n      <trans-unit id="7b1738fad314e936dc14b94db8f43da736942308" datatype="html">\n        <source>Last 1 hour (Default)</source>\n        <target>過去 1 小時 (預設值)</target>\n      </trans-unit>\n      <trans-unit id="a428288224389726cef9d9bd8d1d7808cccd7ffd" datatype="html">\n        <source>Last 3 hours</source>\n        <target>過去 3 小時</target>\n      </trans-unit>\n      <trans-unit id="7cbabecc8d80cf183ac199cfaeb7619d56e5d43f" datatype="html">\n        <source>Last 6 hours</source>\n        <target>過去 6 小時</target>\n      </trans-unit>\n      <trans-unit id="1a389cdf64187d34cf99eec30a290e3fa7d4744f" datatype="html">\n        <source>Last 12 hours</source>\n        <target>過去 12 小時</target>\n      </trans-unit>\n      <trans-unit id="9e0ba5f591380a94d594a76288f0c41aa97eb9c2" datatype="html">\n        <source>Last 24 hours</source>\n        <target>過去 24 小時</target>\n      </trans-unit>\n      <trans-unit id="e430eda9c785cd43465b7cbb400ee914f1057247" datatype="html">\n        <source>Yesterday</source>\n        <target>昨天</target>\n      </trans-unit>\n      <trans-unit id="7fb1099e29660162f9154d5b2feee7743a423df6" datatype="html">\n        <source>Today</source>\n        <target>今天</target>\n      </trans-unit>\n      <trans-unit id="33904058a97a64bd189bed84038b1ffe719769c7" datatype="html">\n        <source>Today so far</source>\n        <target>今天到目前為止</target>\n      </trans-unit>\n      <trans-unit id="3b0b849be007510021d3d383df75bec95ef9c97b" datatype="html">\n        <source>Day before yesterday</source>\n        <target>前天</target>\n      </trans-unit>\n      <trans-unit id="6b430c2c394c4d32ebd7d46c8c46ab60e1b29ccb" datatype="html">\n        <source>Last 2 days</source>\n        <target>過去 2 天</target>\n      </trans-unit>\n      <trans-unit id="d5e812a87a5d57a94200a2013027cab76a7c4863" datatype="html">\n        <source>This day last week</source>\n        <target>上週的今天</target>\n      </trans-unit>\n      <trans-unit id="d00edc936eeab6b5577401f115ca86ca2c87dc9a" datatype="html">\n        <source>Previous week</source>\n        <target>上週</target>\n      </trans-unit>\n      <trans-unit id="b036e40577baa6b918b2267d319d4b3aeaa88a5a" datatype="html">\n        <source>This week</source>\n        <target>本週</target>\n      </trans-unit>\n      <trans-unit id="99ad5a6096b3fcb3f021f3779bae710cdfeb8934" datatype="html">\n        <source>This week so far</source>\n        <target>本週目前為止</target>\n      </trans-unit>\n      <trans-unit id="02e0243b60007368f87dc01e083f232dd025096d" datatype="html">\n        <source>Last 7 days</source>\n        <target>過去 7 天</target>\n      </trans-unit>\n      <trans-unit id="c3b08b07b5ab98e7cdcf18df39355690ab7d3884" datatype="html">\n        <source>Previous month</source>\n        <target>上個月</target>\n      </trans-unit>\n      <trans-unit id="1b2562c6d5aa90644e7dc91feee82e2005fceb33" datatype="html">\n        <source>This month</source>\n        <target>本月</target>\n      </trans-unit>\n      <trans-unit id="26b4b18c5917934abb169ba9aa490e57f7bf10b8" datatype="html">\n        <source>This month so far</source>\n        <target>本月目前為止</target>\n      </trans-unit>\n      <trans-unit id="7668986b9f753fcd72ad4a00b1a0c4861d1f7fb8" datatype="html">\n        <source>Last 30 days</source>\n        <target>過去 30 天</target>\n      </trans-unit>\n      <trans-unit id="ba1e822408d90c6fbd2989100fa648bfd5e8ee84" datatype="html">\n        <source>Last 90 days</source>\n        <target>過去 90 天</target>\n      </trans-unit>\n      <trans-unit id="c3df03f899a914c4181adcdc8a3f077424f7b6e8" datatype="html">\n        <source>Last 6 months</source>\n        <target>過去 6 個月</target>\n      </trans-unit>\n      <trans-unit id="7f9a92757580c9f31c309c0a3812ea429274eadf" datatype="html">\n        <source>Last 1 year</source>\n        <target>過去 1 年</target>\n      </trans-unit>\n      <trans-unit id="5a9fede30ff65cb4b4426f6b1ed31afb67ecd7b0" datatype="html">\n        <source>Previous year</source>\n        <target>去年</target>\n      </trans-unit>\n      <trans-unit id="65cefcc53d1f6445df7568e8a40c49165f1090ee" datatype="html">\n        <source>This year</source>\n        <target>今年</target>\n      </trans-unit>\n      <trans-unit id="1f68b766944dc3865bddab765fe952b0c1c43f92" datatype="html">\n        <source>This year so far</source>\n        <target>今年目前為止</target>\n      </trans-unit>\n      <trans-unit id="4d4b77e614f8043fdadef5d6d235655bb48eb311" datatype="html">\n        <source>Last 2 years</source>\n        <target>過去 2 年</target>\n      </trans-unit>\n      <trans-unit id="138afa339ea6e75d25a474affe1edbcb90e00ec0" datatype="html">\n        <source>Last 5 years</source>\n        <target>過去 5 年</target>\n      </trans-unit>\n      <trans-unit id="37391297bb077a6f84484930261b01a3ce38327b" datatype="html">\n        <source>No items selected.</source>\n        <target>未選取項目。</target>\n      </trans-unit>\n      <trans-unit id="2c1e52ee832661b4a0f570877d24661736b16af1" datatype="html">\n        <source>Deselect item to select again</source>\n        <target>取消選取項目以再次選取</target>\n      </trans-unit>\n      <trans-unit id="c8c9c6e5918659336824bbdda3501c66eaa79a4c" datatype="html">\n        <source>Selection limit reached</source>\n        <target>已達到選取上限</target>\n      </trans-unit>\n      <trans-unit id="02d184c288f567825a1fcbf83bcd3099a10853d5" datatype="html">\n        <source>Filter tags</source>\n        <target>過濾標記</target>\n      </trans-unit>\n      <trans-unit id="aa00748e49c269956837d6f3acdd8d218796a8d8" datatype="html">\n        <source>Add badge</source>\n        <target>新增徽章</target>\n      </trans-unit>\n      <trans-unit id="4078a92d8121abdce7d8f346a88914923ec835fc" datatype="html">\n        <source>There are no items available.</source>\n        <target>沒有可用的項目。</target>\n      </trans-unit>\n      <trans-unit id="55dd9f44e64851bca3b7bfc9283a5ff36f030228" datatype="html">\n        <source>Set</source>\n        <target>Set</target>\n      </trans-unit>\n      <trans-unit id="019d4bd6a5690f0cfa0ecf346a4e6bf7f0d8debb" datatype="html">\n        <source>Remove</source>\n        <target>Remove</target>\n      </trans-unit>\n      <trans-unit id="e168fe6c468b3ad632731395ef89860274242844" datatype="html">\n        <source>Unset</source>\n        <target>Unset</target>\n      </trans-unit>\n      <trans-unit id="54a4a3132b693575728a45a5f3154ad4c9af404b" datatype="html">\n        <source>Clone</source>\n        <target>克隆</target>\n      </trans-unit>\n      <trans-unit id="1979da7460819153e11d2078244645d94291b69c" datatype="html">\n        <source>Copy</source>\n        <target>複製</target>\n      </trans-unit>\n      <trans-unit id="2e5e77dbaadd6588d8bbf737139fd9806294ae28" datatype="html">\n        <source>Deep Scrub</source>\n        <target>深層整理</target>\n      </trans-unit>\n      <trans-unit id="bf463b189696c19769ea263227e6c22aefafb918" datatype="html">\n        <source>Destroy</source>\n        <target>損毀</target>\n      </trans-unit>\n      <trans-unit id="b4e94d529ff10db4d86f3f48900fa67ede3411fd" datatype="html">\n        <source>Evict</source>\n        <target>Evict</target>\n      </trans-unit>\n      <trans-unit id="3747fff7faf52b436ecff5fb8555091736d92c70" datatype="html">\n        <source>Flatten</source>\n        <target>壓平</target>\n      </trans-unit>\n      <trans-unit id="66fdbf32e5449cc54a3d1e19c7b8f4ea238facfb" datatype="html">\n        <source>Mark Down</source>\n        <target>標示為 Down</target>\n      </trans-unit>\n      <trans-unit id="0cda3e824fb2f9c731e5a60b859dedc1fe03127e" datatype="html">\n        <source>Mark In</source>\n        <target>標示為 In</target>\n      </trans-unit>\n      <trans-unit id="f833354f43cb38c5716faa8759a9bbdd1ab8f199" datatype="html">\n        <source>Mark Lost</source>\n        <target>標示為遺失</target>\n      </trans-unit>\n      <trans-unit id="75fb9f970ba365398c45e57bbb1019c009f6b832" datatype="html">\n        <source>Mark Out</source>\n        <target>標示為 Out</target>\n      </trans-unit>\n      <trans-unit id="45480c03b0a3a37ff8f6a5600a6a034b40fbaea4" datatype="html">\n        <source>Protect</source>\n        <target>保護</target>\n      </trans-unit>\n      <trans-unit id="e26f9cf3666aace4e524b1505c9795d76d87738d" datatype="html">\n        <source>Rename</source>\n        <target>重新命名</target>\n      </trans-unit>\n      <trans-unit id="d5cec7468241d72cafd86ad1af6d55b09a6e3ae5" datatype="html">\n        <source>Restore</source>\n        <target>還原</target>\n      </trans-unit>\n      <trans-unit id="ba073985cfd2528c77a746ed596b2f2052b973c5" datatype="html">\n        <source>Move to Trash</source>\n        <target>移至垃圾桶</target>\n      </trans-unit>\n      <trans-unit id="3ea9b96a21a499d296a7f25407da0f3df6c2d5ed" datatype="html">\n        <source>Unprotect</source>\n        <target>取消保護</target>\n      </trans-unit>\n      <trans-unit id="024cdb2814b0cb3f4ced148f1a0b9854447cb214" datatype="html">\n        <source>Change</source>\n        <target>Change</target>\n      </trans-unit>\n      <trans-unit id="011f3e2bfc1fd8407eb5f599352665bfeb145664" datatype="html">\n        <source>Recreate</source>\n        <target>Recreate</target>\n      </trans-unit>\n      <trans-unit id="6df2dfa48bef5510c82fb43f4e71a7f9557f3d71" datatype="html">\n        <source>Expire</source>\n        <target>Expire</target>\n      </trans-unit>\n      <trans-unit id="28df1b02fd88d2deb0212bc5d7ff34cf9492fa54" datatype="html">\n        <source>Deleted</source>\n        <target>已刪除</target>\n      </trans-unit>\n      <trans-unit id="80e3b490720757978c99a7b5af3885faf202b955" datatype="html">\n        <source>Added</source>\n        <target>Added</target>\n      </trans-unit>\n      <trans-unit id="1aa4883bc4f1352f7a0bdd94810a9bf6dc22bd02" datatype="html">\n        <source>Removed</source>\n        <target>Removed</target>\n      </trans-unit>\n      <trans-unit id="402f3ee47f98fbbc68530239b1ddcbb9e96a460c" datatype="html">\n        <source>Edited</source>\n        <target>Edited</target>\n      </trans-unit>\n      <trans-unit id="96d56ec71c6e78cb4d6204c4a9359a3d38fcdb59" datatype="html">\n        <source>Canceled</source>\n        <target>Canceled</target>\n      </trans-unit>\n      <trans-unit id="a3318a2ee2bd0064b6b9ff72a4018b679ec63125" datatype="html">\n        <source>Cloned</source>\n        <target>已克隆</target>\n      </trans-unit>\n      <trans-unit id="ef90545bc832876c0d7f9a10363c75137472bbb5" datatype="html">\n        <source>Copied</source>\n        <target>已複製</target>\n      </trans-unit>\n      <trans-unit id="5a13d3834133e09544ec93885662f181372dcf46" datatype="html">\n        <source>Deep Scrubbed</source>\n        <target>Deep Scrubbed</target>\n      </trans-unit>\n      <trans-unit id="7c9efb91434a5c15e9579c0b31c8e184b8c8240d" datatype="html">\n        <source>Destroyed</source>\n        <target>Destroyed</target>\n      </trans-unit>\n      <trans-unit id="647059bf3ea098fffedf92ddfad792bb3daa3c95" datatype="html">\n        <source>Flattened</source>\n        <target>已壓平</target>\n      </trans-unit>\n      <trans-unit id="8df71e952319eafa71c8e6ef6144b780af8813ff" datatype="html">\n        <source>Marked Down</source>\n        <target>Marked Down</target>\n      </trans-unit>\n      <trans-unit id="25658f5a080a1cab3b91e17b756b1d1dc46bb9b3" datatype="html">\n        <source>Marked In</source>\n        <target>Marked In</target>\n      </trans-unit>\n      <trans-unit id="ebcf306036a6c5579df9448f77eca98d491db245" datatype="html">\n        <source>Marked Lost</source>\n        <target>Marked Lost</target>\n      </trans-unit>\n      <trans-unit id="3a8803369ac18be3ad762384b9fda095fe2a6dcc" datatype="html">\n        <source>Marked Out</source>\n        <target>Marked Out</target>\n      </trans-unit>\n      <trans-unit id="0fe2a62ea7c609fa8326ee6d38060bc5ba8bf34f" datatype="html">\n        <source>Protected</source>\n        <target>Protected</target>\n      </trans-unit>\n      <trans-unit id="69b0446c6c2411c4fe01e411b8ceec72d4044fb4" datatype="html">\n        <source>Purged</source>\n        <target>已清除</target>\n      </trans-unit>\n      <trans-unit id="d53de1a61bd51c815dc374c7f97e4ee69230e412" datatype="html">\n        <source>Renamed</source>\n        <target>Renamed</target>\n      </trans-unit>\n      <trans-unit id="86fc6cae82c095f14105eb8a61d7b3fa948304b7" datatype="html">\n        <source>Restored</source>\n        <target>已還原</target>\n      </trans-unit>\n      <trans-unit id="e87dd0fd35460cb743046db918dfce2137b5977a" datatype="html">\n        <source>Reweighted</source>\n        <target>Reweighted</target>\n      </trans-unit>\n      <trans-unit id="dc21fd6547f2325c67f6deff925f29eb07a2db3e" datatype="html">\n        <source>Rolled back</source>\n        <target>已復原</target>\n      </trans-unit>\n      <trans-unit id="15dec4c2d73a516c10aef90aeeea3364fa794615" datatype="html">\n        <source>Scrubbed</source>\n        <target>Scrubbed</target>\n      </trans-unit>\n      <trans-unit id="8dc560ded67482f109a98e0638851ad1d37188b3" datatype="html">\n        <source>Showed</source>\n        <target>Showed</target>\n      </trans-unit>\n      <trans-unit id="197259b7ea76f15c6d0a64b075a673fd4112ada7" datatype="html">\n        <source>Moved to Trash</source>\n        <target>Moved to Trash</target>\n      </trans-unit>\n      <trans-unit id="8fb15cb102cd75b562680290b7e04c44d80018f2" datatype="html">\n        <source>Unprotected</source>\n        <target>Unprotected</target>\n      </trans-unit>\n      <trans-unit id="8588eafa498262a1cbb5043ad68cf0ff669c4f10" datatype="html">\n        <source>Recreated</source>\n        <target>Recreated</target>\n      </trans-unit>\n      <trans-unit id="ffde7468d7b5cad6990095ed68ddee3d67cd02f8" datatype="html">\n        <source>Expired</source>\n        <target>Expired</target>\n      </trans-unit>\n      <trans-unit id="4f20f2d5a6882190892e58b85f6ccbedfa737952" datatype="html">\n        <source>Yes</source>\n        <target>是</target>\n      </trans-unit>\n      <trans-unit id="3d3ae7deebc5949b0c1c78b9847886a94321d9fd" datatype="html">\n        <source>No</source>\n        <target>否</target>\n      </trans-unit>\n      <trans-unit id="baf918eed9d4050cdad2acebc0f27b6eaf8e3fcd" datatype="html">\n        <source>Required rules for passwords:</source>\n        <target>Required rules for passwords:</target>\n      </trans-unit>\n      <trans-unit id="40f61909e1f017c4652e64b055089beef19cf871" datatype="html">\n        <source>Must contain at least \n          <x id="INTERPOLATION" equiv-text="{{length}}"/> characters\n        </source>\n        <target>Must contain at least \n          <x id="INTERPOLATION" equiv-text="{{length}}"/> characters\n        </target>\n      </trans-unit>\n      <trans-unit id="f4f5dbb3a05b5f38dab47ef38dad88a4574a765a" datatype="html">\n        <source>Must not be the same as the previous one</source>\n        <target>Must not be the same as the previous one</target>\n      </trans-unit>\n      <trans-unit id="607370e07b50087c196a5fcea9184e3d693226b2" datatype="html">\n        <source>Cannot contain the username</source>\n        <target>Cannot contain the username</target>\n      </trans-unit>\n      <trans-unit id="e6e355eab2596251aaa42623b41e6026d5c03e3b" datatype="html">\n        <source>Cannot contain any configured keyword</source>\n        <target>Cannot contain any configured keyword</target>\n      </trans-unit>\n      <trans-unit id="394bcd6d5e4da75b720c4d28f94f2aef7bb38355" datatype="html">\n        <source>Cannot contain any repetitive characters e.g. "aaa"</source>\n        <target>Cannot contain any repetitive characters e.g. "aaa"</target>\n      </trans-unit>\n      <trans-unit id="030e61e0bcf2536fb047645db6182d43e9fca9e9" datatype="html">\n        <source>Cannot contain any sequential characters e.g. "abc"</source>\n        <target>Cannot contain any sequential characters e.g. "abc"</target>\n      </trans-unit>\n      <trans-unit id="99fa0b67376d40142bd4d3ace3344abf4f98b6a5" datatype="html">\n        <source>Your matcher seems to match no currently defined rule or active alert.</source>\n        <target>Your matcher seems to match no currently defined rule or active alert.</target>\n      </trans-unit>\n      <trans-unit id="7e284852732c303eb1f47de9aca2569e41aeffed" datatype="html">\n        <source>no active alerts</source>\n        <target>no active alerts</target>\n      </trans-unit>\n      <trans-unit id="b8042829e4fbe7b09fd9bac9fa0ecf5cc1802fee" datatype="html">\n        <source>1 active alert</source>\n        <target>1 active alert</target>\n      </trans-unit>\n      <trans-unit id="e24adce97669cb0fc74cc13fdc14179b6f78ea5e" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{n}}"/> active alerts\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{n}}"/> active alerts\n        </target>\n      </trans-unit>\n      <trans-unit id="d8fb058ff5883731d38a132da4ca45cfe8d719a3" datatype="html">\n        <source>Matches 1 rule</source>\n        <target>Matches 1 rule</target>\n      </trans-unit>\n      <trans-unit id="90aaef24d192e67c3fbc2ec6f8bfaff211cea128" datatype="html">\n        <source>Matches \n          <x id="INTERPOLATION" equiv-text="{{n}}"/> rules\n        </source>\n        <target>Matches \n          <x id="INTERPOLATION" equiv-text="{{n}}"/> rules\n        </target>\n      </trans-unit>\n      <trans-unit id="f4685dc581e18244cd410f1057a8c56a9dbfe8df" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rules}}"/> with \n          <x id="INTERPOLATION_1" equiv-text="{{alerts}}"/>.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rules}}"/> with \n          <x id="INTERPOLATION_1" equiv-text="{{alerts}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8fd98fb2a0f24ba72cde0787dd3f02cfc17de469" datatype="html">\n        <source>Quality of Service</source>\n        <target>服務品質</target>\n      </trans-unit>\n      <trans-unit id="2c53f3ce2c6fff9025a7b41cc334521725da6e7b" datatype="html">\n        <source>BPS Limit</source>\n        <target>BPS 上限</target>\n      </trans-unit>\n      <trans-unit id="e897624a392419386b035bcd8529337e262fc41d" datatype="html">\n        <source>The desired limit of IO bytes per second.</source>\n        <target>指定的每秒 IO 位元組數上限。</target>\n      </trans-unit>\n      <trans-unit id="dc56f77e4507da7e86a3accd0a2a7099a838d539" datatype="html">\n        <source>IOPS Limit</source>\n        <target>IOPS 上限</target>\n      </trans-unit>\n      <trans-unit id="141c3f6eadbb35b0e17b2f847e4cac23240a6ea9" datatype="html">\n        <source>The desired limit of IO operations per second.</source>\n        <target>指定的每秒 IO 操作次數上限。</target>\n      </trans-unit>\n      <trans-unit id="3b3b101f16c38806e984b157e0cf22cd21451122" datatype="html">\n        <source>Read BPS Limit</source>\n        <target>讀取 BPS 上限</target>\n      </trans-unit>\n      <trans-unit id="87835fabb6a645873f3829a450ca1d58f97754f2" datatype="html">\n        <source>The desired limit of read bytes per second.</source>\n        <target>指定的每秒內讀取的位元組數上限。</target>\n      </trans-unit>\n      <trans-unit id="28b485e700df46d70b96666099f714e3ae9e5c2e" datatype="html">\n        <source>Read IOPS Limit</source>\n        <target>讀取 IOPS 上限</target>\n      </trans-unit>\n      <trans-unit id="5907bd1a5cf3e20e740bca676cb1538372e1f9ff" datatype="html">\n        <source>The desired limit of read operations per second.</source>\n        <target>指定的每秒讀取操作次數上限。</target>\n      </trans-unit>\n      <trans-unit id="07317121f0b194987d4dee8b322f521ac17bf124" datatype="html">\n        <source>Write BPS Limit</source>\n        <target>寫入 BPS 上限</target>\n      </trans-unit>\n      <trans-unit id="4022c78bd9132ca2ec67927f8484c437d1d9b6fd" datatype="html">\n        <source>The desired limit of write bytes per second.</source>\n        <target>指定的每秒內寫入的位元組數上限。</target>\n      </trans-unit>\n      <trans-unit id="52c22c19f98ff3a09bd811292954a889b93d28b7" datatype="html">\n        <source>Write IOPS Limit</source>\n        <target>寫入 IOPS 上限</target>\n      </trans-unit>\n      <trans-unit id="0ed62e3fd8654b3191fc7fa959ad3f10f1ea773a" datatype="html">\n        <source>The desired limit of write operations per second.</source>\n        <target>指定的每秒寫入操作次數上限。</target>\n      </trans-unit>\n      <trans-unit id="d90c99d77864f21f932ee1369019f400c4ad0e2d" datatype="html">\n        <source>BPS Burst</source>\n        <target>BPS 高載</target>\n      </trans-unit>\n      <trans-unit id="29c32192f4d185139aaaf6d3a766a3411dfeabbe" datatype="html">\n        <source>The desired burst limit of IO bytes.</source>\n        <target>指定的 IO 位元組數高載上限。</target>\n      </trans-unit>\n      <trans-unit id="b988b90489e899941e196c3dd0ecc22e37540224" datatype="html">\n        <source>IOPS Burst</source>\n        <target>IOPS 高載</target>\n      </trans-unit>\n      <trans-unit id="02c5de8ff11870f1b3896f2b45637ce0dba1ed4b" datatype="html">\n        <source>The desired burst limit of IO operations.</source>\n        <target>指定的 IO 操作次數高載上限。</target>\n      </trans-unit>\n      <trans-unit id="7a160538129b37cf595f1651f28b5fac62fbc0f8" datatype="html">\n        <source>Read BPS Burst</source>\n        <target>讀取 BPS 高載</target>\n      </trans-unit>\n      <trans-unit id="b573a5df16a53b9947288461bc24e6a0eb4341d6" datatype="html">\n        <source>The desired burst limit of read bytes.</source>\n        <target>指定的讀取的位元組數高載上限。</target>\n      </trans-unit>\n      <trans-unit id="1d5b8c2a0c653651cc4ca4b8fed9456f449220d1" datatype="html">\n        <source>Read IOPS Burst</source>\n        <target>讀取 IOPS 高載</target>\n      </trans-unit>\n      <trans-unit id="20b199f9d4a8d08ffefec66040e27639ec221512" datatype="html">\n        <source>The desired burst limit of read operations.</source>\n        <target>指定的讀取操作次數高載上限。</target>\n      </trans-unit>\n      <trans-unit id="824525ae57992aee629ddffcd500a8b77087ddec" datatype="html">\n        <source>Write BPS Burst</source>\n        <target>寫入 BPS 高載</target>\n      </trans-unit>\n      <trans-unit id="a90aac4050a5d79765da5e1186909f6d4d7f981d" datatype="html">\n        <source>The desired burst limit of write bytes.</source>\n        <target>指定的寫入的位元組數高載上限。</target>\n      </trans-unit>\n      <trans-unit id="35a8c6e6c249c7d16e26aa7c4ef97c06db405070" datatype="html">\n        <source>Write IOPS Burst</source>\n        <target>寫入 IOPS 高載</target>\n      </trans-unit>\n      <trans-unit id="b356abd41d7e9eea4d20c03d2e6892b6d435ecbd" datatype="html">\n        <source>The desired burst limit of write operations.</source>\n        <target>指定的寫入操作次數高載上限。</target>\n      </trans-unit>\n      <trans-unit id="24c4d50fe8567de381a20a1745f1b6d37eacaa90" datatype="html">\n        <source>Failed to \n          <x id="INTERPOLATION" equiv-text="{{failure}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{metadata}}"/>\n        </source>\n        <target>Failed to \n          <x id="INTERPOLATION" equiv-text="{{failure}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{metadata}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="f54b6f09b390d5ade0e354f6c7d4743c10a315cc" datatype="html">\n        <source>Executing</source>\n        <target>正在執行</target>\n      </trans-unit>\n      <trans-unit id="5cdfe3e3330ea42bfd29c540dbd268bee97d364d" datatype="html">\n        <source>execute</source>\n        <target>執行</target>\n      </trans-unit>\n      <trans-unit id="6e98e243518daa88be30330fcdbd2d10f8eae4d7" datatype="html">\n        <source>Executed</source>\n        <target>已執行</target>\n      </trans-unit>\n      <trans-unit id="24b09aa5bd909273a023d2d788a2673325c77e31" datatype="html">\n        <source>unknown task</source>\n        <target>未知任務</target>\n      </trans-unit>\n      <trans-unit id="114b5f92b9192b229ffc9a450319a97ccca2aa5c" datatype="html">\n        <source>Creating</source>\n        <target>正在建立</target>\n      </trans-unit>\n      <trans-unit id="56695b69d27437ada580a187958407e7c856d46e" datatype="html">\n        <source>create</source>\n        <target>建立</target>\n      </trans-unit>\n      <trans-unit id="9db60170ef3b3b41a863e7d5ee7cec10919b9141" datatype="html">\n        <source>Updating</source>\n        <target>正在更新</target>\n      </trans-unit>\n      <trans-unit id="64412640835b7d25247cb254d4f911366c0e6862" datatype="html">\n        <source>update</source>\n        <target>更新</target>\n      </trans-unit>\n      <trans-unit id="416193bb373d59477458b00e5922d755e2e2cacd" datatype="html">\n        <source>Deleting</source>\n        <target>正在刪除</target>\n      </trans-unit>\n      <trans-unit id="d07a282afc7fbdb39cea6e1c9b544882a7260a86" datatype="html">\n        <source>Adding</source>\n        <target>Adding</target>\n      </trans-unit>\n      <trans-unit id="a11ec4e640f241329943237d2a3cceaa4823658e" datatype="html">\n        <source>add</source>\n        <target>add</target>\n      </trans-unit>\n      <trans-unit id="ea1c70b874904216cc5af24bd7cb3dab2d074d42" datatype="html">\n        <source>Removing</source>\n        <target>Removing</target>\n      </trans-unit>\n      <trans-unit id="4da487aec5a29ce4372e7b512227cd665b01fe6f" datatype="html">\n        <source>remove</source>\n        <target>remove</target>\n      </trans-unit>\n      <trans-unit id="0e21237afdc84ec360c374fa678d9b1cfaa334f9" datatype="html">\n        <source>Importing</source>\n        <target>Importing</target>\n      </trans-unit>\n      <trans-unit id="c6b4128c006f4cc0564137e1a1482b5c432aa347" datatype="html">\n        <source>import</source>\n        <target>import</target>\n      </trans-unit>\n      <trans-unit id="3b9f4138abbca0fd66db1f7332f4b54e2a6d916d" datatype="html">\n        <source>Imported</source>\n        <target>Imported</target>\n      </trans-unit>\n      <trans-unit id="3f757cfc3749ebb5d4462017cb60138ca082f15f" datatype="html">\n        <source>RBD \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>RBD \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="a6c681e6130fe440ae40de99a405fcf5c7eefee1" datatype="html">\n        <source>RBD snapshot \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>RBD snapshot \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="2bf18ddf3785f7afb4f01dcf63d3d8c40f4bfba5" datatype="html">\n        <source>mirroring site name</source>\n        <target>mirroring site name</target>\n      </trans-unit>\n      <trans-unit id="167b73bb24b4695614ce0fc567b7a45080457a44" datatype="html">\n        <source>bootstrap token</source>\n        <target>bootstrap token</target>\n      </trans-unit>\n      <trans-unit id="4fb54a0291f49583c317d4a3690239141b5a8f68" datatype="html">\n        <source>mirror mode for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>mirror mode for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="6621ab6e122a149326a1e48e9051a41e7f203cf6" datatype="html">\n        <source>mirror peer for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>mirror peer for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="db15adc778317d551232fe712eb03a2c1eac4a43" datatype="html">\n        <source>all dashboards</source>\n        <target>all dashboards</target>\n      </trans-unit>\n      <trans-unit id="6c19652df9249c60827044ed6274933cab180c63" datatype="html">\n        <source>OSDs (DriveGroups: \n          <x id="INTERPOLATION" equiv-text="{{tracking_id}}"/>)\n        </source>\n        <target>OSDs (DriveGroups: \n          <x id="INTERPOLATION" equiv-text="{{tracking_id}}"/>)\n        </target>\n      </trans-unit>\n      <trans-unit id="1b559dbd9cc9664fd788c2da9a10d3abafe066cb" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8fc28e1103d9f2ef47b9fff9a4f74e8365c7cf19" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="1cdc7ea44fcb85d0cfcf6e7379d625d8674a8fbe" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="460f07780389d24c6a540c007c7367a56afad585" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> is busy.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> is busy.\n        </target>\n      </trans-unit>\n      <trans-unit id="1ff7676ad1e991102224540a32dd44ad1ab88aa8" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.\n        </target>\n      </trans-unit>\n      <trans-unit id="c3a1dcca2b2ba20fbe39e2441e7bb1cf9c20cdf3" datatype="html">\n        <source>Cloning</source>\n        <target>正在克隆</target>\n      </trans-unit>\n      <trans-unit id="b5fa4e0a3a279dee5b6bf7b823e54387f7c79994" datatype="html">\n        <source>clone</source>\n        <target>克隆</target>\n      </trans-unit>\n      <trans-unit id="29b7452e8367af9aa8fa828f16ff94c3530e7a1a" datatype="html">\n        <source>Snapshot of \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> must be protected.\n        </source>\n        <target>Snapshot of \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> must be protected.\n        </target>\n      </trans-unit>\n      <trans-unit id="369f93b9a07a9465f7a261e9f0021b6cfa7180c5" datatype="html">\n        <source>Copying</source>\n        <target>正在複製</target>\n      </trans-unit>\n      <trans-unit id="37584f889855d153a106f5dffe23d21f9453c8ff" datatype="html">\n        <source>copy</source>\n        <target>複製</target>\n      </trans-unit>\n      <trans-unit id="6ea9e313a04ef59222feaadfe84e97b4c69d7e9e" datatype="html">\n        <source>Flattening</source>\n        <target>正在壓平</target>\n      </trans-unit>\n      <trans-unit id="1f57593581b64d2d4c70eab1736bd9bccc66a7dc" datatype="html">\n        <source>flatten</source>\n        <target>壓平</target>\n      </trans-unit>\n      <trans-unit id="d990ef9680cd23bbe652c37eb46bf038cfee80ad" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="a101745d080ef65c09bd5fafc796f94ddb9f9d60" datatype="html">\n        <source>Cannot unprotect \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it contains child images.\n        </source>\n        <target>Cannot unprotect \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it contains child images.\n        </target>\n      </trans-unit>\n      <trans-unit id="647968f4cde7786cd53ec8e6aa9802ac6824a262" datatype="html">\n        <source>Cannot delete \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it\'s protected.\n        </source>\n        <target>Cannot delete \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it\'s protected.\n        </target>\n      </trans-unit>\n      <trans-unit id="57ddd3e15cf0ce974356b757451f50116a27272b" datatype="html">\n        <source>Rolling back</source>\n        <target>正在復原</target>\n      </trans-unit>\n      <trans-unit id="a8913a3a5ee61f2598b5f0432cb9b20cdd60548e" datatype="html">\n        <source>rollback</source>\n        <target>復原</target>\n      </trans-unit>\n      <trans-unit id="de8676f0017c9db6c49388cd7d63cd0a83a0c1dc" datatype="html">\n        <source>Moving</source>\n        <target>正在移動</target>\n      </trans-unit>\n      <trans-unit id="2d810712308ae63cb795d809687a3254ef7a2f05" datatype="html">\n        <source>move</source>\n        <target>移動</target>\n      </trans-unit>\n      <trans-unit id="f3ba995236e5c1cc77686108980c099a90aec754" datatype="html">\n        <source>Moved</source>\n        <target>已移動</target>\n      </trans-unit>\n      <trans-unit id="d0422169252d132624a20f267b5c29f28cb53ebe" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' to trash\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' to trash\n        </target>\n      </trans-unit>\n      <trans-unit id="b603e2dfed9808222fbcb5a7c5f4da2cc6ae2aae" datatype="html">\n        <source>Could not find image.</source>\n        <target>找不到影像。</target>\n      </trans-unit>\n      <trans-unit id="398debe73006b1fe5177ed81d2e7b0cc852f61ec" datatype="html">\n        <source>Restoring</source>\n        <target>正在還原</target>\n      </trans-unit>\n      <trans-unit id="c252806fb400e79bac194696632c9362742b1538" datatype="html">\n        <source>restore</source>\n        <target>還原</target>\n      </trans-unit>\n      <trans-unit id="30b8bcf69b3f1754b7abba173fd806cfcea4cb04" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' into \'\n          <x id="INTERPOLATION_1" equiv-text="{{new_id}}"/>\'\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' into \'\n          <x id="INTERPOLATION_1" equiv-text="{{new_id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="13b7b241cef989fe0932ddd180e757658e1817e7" datatype="html">\n        <source>Image name \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' is already in use.\n        </source>\n        <target>Image name \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' is already in use.\n        </target>\n      </trans-unit>\n      <trans-unit id="cc1cee12c833e8fbbef28a2a7c449dc530da912d" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="38e5f47f8bef505652f3e87f46efb00ead1350a3" datatype="html">\n        <source>Purging</source>\n        <target>正在清除</target>\n      </trans-unit>\n      <trans-unit id="e4e57747f123f0fe6fe3a0ecf608f8bc287dec0c" datatype="html">\n        <source>purge</source>\n        <target>清除</target>\n      </trans-unit>\n      <trans-unit id="1560d58fdf39663929653250d45f5b1dfe078fea" datatype="html">\n        <source>all pools</source>\n        <target>所有池</target>\n      </trans-unit>\n      <trans-unit id="1ac3dc50c2c3d86e98bc0967ee1e696810a2d3aa" datatype="html">\n        <source>images from \n          <x id="INTERPOLATION" equiv-text="{{message}}"/>\n        </source>\n        <target>images from \n          <x id="INTERPOLATION" equiv-text="{{message}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="02278abbb044ece04ab6bd80bd2060198d31d83b" datatype="html">\n        <source>Cannot disable mirroring because it contains a peer.</source>\n        <target>無法停用鏡像,因為其包含對等。</target>\n      </trans-unit>\n      <trans-unit id="5c4525a1b76ca54d1aadeaecfdb83aedc2eec6e0" datatype="html">\n        <source>Identifying</source>\n        <target>Identifying</target>\n      </trans-unit>\n      <trans-unit id="ffd067e54a061d1f27cb35f0cf67ef7f29e19111" datatype="html">\n        <source>identify</source>\n        <target>identify</target>\n      </trans-unit>\n      <trans-unit id="7c921f339274688c22ba1acac7af6b097ad3599d" datatype="html">\n        <source>Identified</source>\n        <target>Identified</target>\n      </trans-unit>\n      <trans-unit id="3307492c27c2150cd26c514030444e11fd61089f" datatype="html">\n        <source>device \'\n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\' on host \'\n          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>\'\n        </source>\n        <target>device \'\n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\' on host \'\n          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="f123ae1fc3b000e5d08e766dd78bff162afe709d" datatype="html">\n        <source>host \'\n          <x id="INTERPOLATION" equiv-text="{{hostname}}"/>\'\n        </source>\n        <target>host \'\n          <x id="INTERPOLATION" equiv-text="{{hostname}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="c1af76189dcefd094da2bc1a4a63968f3bab5789" datatype="html">\n        <source>OSD \'\n          <x id="INTERPOLATION" equiv-text="{{svc_id}}"/>\'\n        </source>\n        <target>OSD \'\n          <x id="INTERPOLATION" equiv-text="{{svc_id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="dfe70001dc590a9e12512cbb206aa29fb36fd00b" datatype="html">\n        <source>pool \'\n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>\'\n        </source>\n        <target>pool \'\n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="59630daf2f4786690fae0cdad55da8887236eabe" datatype="html">\n        <source>erasure code profile \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </source>\n        <target>erasure code profile \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="79052d6c47258dc19ada12dbb2563761102b6f1d" datatype="html">\n        <source>crush rule \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </source>\n        <target>crush rule \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="369462e5e018360e0600bb570866201ad5c3c8a8" datatype="html">\n        <source>target \'\n          <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>\'\n        </source>\n        <target>target \'\n          <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="cf41310917cb19b335e5a950972bbff2346f7a47" datatype="html">\n        <source>NFS \n          <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>\n        </source>\n        <target>NFS \n          <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>\n        </target>\n      </trans-unit>\n    </body>\n  </file>\n</xliff>'},Hvzi:function(t,e){t.exports=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}},"I+eb":function(t,e,n){var a=n("2oRo"),r=n("Bs8V").f,o=n("kRJp"),i=n("busE"),s=n("zk60"),c=n("6JNq"),l=n("lMq5");t.exports=function(t,e){var n,d,u,g,f,p=t.target,m=t.global,h=t.stat;if(n=m?a:h?a[p]||s(p,{}):(a[p]||{}).prototype)for(d in e){if(g=e[d],u=t.noTargetGet?(f=r(n,d))&&f.value:n[d],!l(m?d:p+(h?".":"#")+d,t.forced)&&void 0!==u){if(typeof g==typeof u)continue;c(g,u)}(t.sham||u&&u.sham)&&o(g,"sham",!0),i(n,d,g,t)}}},I01J:function(t,e,n){var a=n("44Ds");t.exports=function(t){var e=a(t,(function(t){return 500===n.size&&n.clear(),t})),n=e.cache;return e}},I55L:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));const a=t=>t&&"number"==typeof t.length&&"function"!=typeof t},I8vh:function(t,e,n){var a=n("ppGB"),r=Math.max,o=Math.min;t.exports=function(t,e){var n=a(t);return n<0?r(n+e,0):o(n,e)}},IAdc:function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var a=n("128B");function r(t,e,n){return 0===n?[e]:(t.push(e),t)}function o(){return Object(a.a)(r,[])}},IBtZ:function(t,e,n){!function(t){"use strict";t.defineLocale("ka",{months:{standalone:"იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი".split("_"),format:"იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს".split("_")},monthsShort:"იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ".split("_"),weekdays:{standalone:"კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი".split("_"),format:"კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს".split("_"),isFormat:/(წინა|შემდეგ)/},weekdaysShort:"კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ".split("_"),weekdaysMin:"კვ_ორ_სა_ოთ_ხუ_პა_შა".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[დღეს] LT[-ზე]",nextDay:"[ხვალ] LT[-ზე]",lastDay:"[გუშინ] LT[-ზე]",nextWeek:"[შემდეგ] dddd LT[-ზე]",lastWeek:"[წინა] dddd LT-ზე",sameElse:"L"},relativeTime:{future:function(t){return/(წამი|წუთი|საათი|წელი)/.test(t)?t.replace(/ი$/,"ში"):t+"ში"},past:function(t){return/(წამი|წუთი|საათი|დღე|თვე)/.test(t)?t.replace(/(ი|ე)$/,"ის წინ"):/წელი/.test(t)?t.replace(/წელი$/,"წლის წინ"):void 0},s:"რამდენიმე წამი",ss:"%d წამი",m:"წუთი",mm:"%d წუთი",h:"საათი",hh:"%d საათი",d:"დღე",dd:"%d დღე",M:"თვე",MM:"%d თვე",y:"წელი",yy:"%d წელი"},dayOfMonthOrdinalParse:/0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/,ordinal:function(t){return 0===t?t:1===t?t+"-ლი":t<20||t<=100&&t%20==0||t%100==0?"მე-"+t:t+"-ე"},week:{dow:1,doy:7}})}(n("wd/R"))},ILDN:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ClickType=function(t){return t.single="single",t.double="double",t}(e.ClickType||{})},IOzZ:function(t,e){t.exports=function(t,e){return function(n){return null!=n&&n[t]===e&&(void 0!==e||t in Object(n))}}},IPm6:function(t,e,n){var a=n("mrSG").__decorate,r=n("mrSG").__metadata;Object.defineProperty(e,"__esModule",{value:!0});var o=n("8Y7J"),i=n("5tze"),s=(n("qwkt"),n("SfHT"));e.DataTableBodyComponent=function(){function t(t){var e=this;this.cd=t,this.selected=[],this.scroll=new o.EventEmitter,this.page=new o.EventEmitter,this.activate=new o.EventEmitter,this.select=new o.EventEmitter,this.detailToggle=new o.EventEmitter,this.rowContextmenu=new o.EventEmitter(!1),this.treeAction=new o.EventEmitter,this.rowHeightsCache=new i.RowHeightCache,this.temp=[],this.offsetY=0,this.indexes={},this.rowIndexes=new Map,this.rowExpansions=new Map,this.getDetailRowHeight=function(t,n){if(!e.rowDetail)return 0;var a=e.rowDetail.rowHeight;return"function"==typeof a?a(t,n):a},this.rowTrackingFn=function(t,n){var a=e.getRowIndex(n);return e.trackByProp?n[e.trackByProp]:a}}return Object.defineProperty(t.prototype,"pageSize",{get:function(){return this._pageSize},set:function(t){this._pageSize=t,this.recalcLayout()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"rows",{get:function(){return this._rows},set:function(t){this._rows=t,this.rowExpansions.clear(),this.recalcLayout()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"columns",{get:function(){return this._columns},set:function(t){this._columns=t;var e=i.columnsByPin(t);this.columnGroupWidths=i.columnGroupWidths(e,t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"offset",{get:function(){return this._offset},set:function(t){this._offset=t,this.recalcLayout()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"rowCount",{get:function(){return this._rowCount},set:function(t){this._rowCount=t,this.recalcLayout()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"bodyWidth",{get:function(){return this.scrollbarH?this.innerWidth+"px":"100%"},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"bodyHeight",{get:function(){return this._bodyHeight},set:function(t){this._bodyHeight=this.scrollbarV?t+"px":"auto",this.recalcLayout()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"selectEnabled",{get:function(){return!!this.selectionType},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"scrollHeight",{get:function(){if(this.scrollbarV&&this.virtualization&&this.rowCount)return this.rowHeightsCache.query(this.rowCount-1)},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){var t=this;this.rowDetail&&(this.listener=this.rowDetail.toggle.subscribe((function(e){var n=e.type,a=e.value;"row"===n&&t.toggleRowExpansion(a),"all"===n&&t.toggleAllRows(a),t.updateIndexes(),t.updateRows(),t.cd.markForCheck()}))),this.groupHeader&&(this.listener=this.groupHeader.toggle.subscribe((function(e){var n=e.type,a=e.value;"group"===n&&t.toggleRowExpansion(a),"all"===n&&t.toggleAllRows(a),t.updateIndexes(),t.updateRows(),t.cd.markForCheck()})))},t.prototype.ngOnDestroy=function(){this.rowDetail&&this.listener.unsubscribe(),this.groupHeader&&this.listener.unsubscribe()},t.prototype.updateOffsetY=function(t){this.scroller&&(this.scrollbarV&&this.virtualization&&t?t=this.rowHeightsCache.query(this.pageSize*t-1):this.scrollbarV&&!this.virtualization&&(t=0),this.scroller.setOffset(t||0))},t.prototype.onBodyScroll=function(t){var e=t.scrollYPos,n=t.scrollXPos;this.offsetY===e&&this.offsetX===n||this.scroll.emit({offsetY:e,offsetX:n}),this.offsetY=e,this.offsetX=n,this.updateIndexes(),this.updatePage(t.direction),this.updateRows()},t.prototype.updatePage=function(t){var e=this.indexes.first/this.pageSize;"up"===t?e=Math.ceil(e):"down"===t&&(e=Math.floor(e)),void 0===t||isNaN(e)||this.page.emit({offset:e})},t.prototype.updateRows=function(){var t=this.indexes,e=t.last,n=t.first,a=0,r=[];if(this.rowIndexes.clear(),this.groupedRows)for(;n<e&&n<this.groupedRows.length;)r[a]=this.groupedRows[n],a++,n++;else for(;n<e&&n<this.rowCount;){var o=this.rows[n];o&&(this.rowIndexes.set(o,n),r[a]=o),a++,n++}this.temp=r},t.prototype.getRowHeight=function(t){return"function"==typeof this.rowHeight?this.rowHeight(t):this.rowHeight},t.prototype.getGroupHeight=function(t){var e=0;if(t.value)for(var n=0;n<t.value.length;n++)e+=this.getRowAndDetailHeight(t.value[n]);return e},t.prototype.getRowAndDetailHeight=function(t){var e=this.getRowHeight(t);return 1===this.rowExpansions.get(t)&&(e+=this.getDetailRowHeight(t)),e},t.prototype.getRowsStyles=function(t){var e={};if(this.groupedRows&&(e.width=this.columnGroupWidths.total),this.scrollbarV&&this.virtualization){var n=0;if(this.groupedRows){var a=t[t.length-1];n=a?this.getRowIndex(a):0}else n=this.getRowIndex(t);var r=this.rowHeightsCache.query(n-1);i.translateXY(e,0,r)}return e},t.prototype.getBottomSummaryRowStyles=function(){if(!this.scrollbarV||!this.rows||!this.rows.length)return null;var t={position:"absolute"},e=this.rowHeightsCache.query(this.rows.length-1);return i.translateXY(t,0,e),t},t.prototype.hideIndicator=function(){var t=this;setTimeout((function(){return t.loadingIndicator=!1}),500)},t.prototype.updateIndexes=function(){var t=0,e=0;if(this.scrollbarV)if(this.virtualization){var n=parseInt(this.bodyHeight,0);t=this.rowHeightsCache.getRowIndex(this.offsetY),e=this.rowHeightsCache.getRowIndex(n+this.offsetY)+1}else t=0,e=this.rowCount;else this.externalPaging||(t=Math.max(this.offset*this.pageSize,0)),e=Math.min(t+this.pageSize,this.rowCount);this.indexes={first:t,last:e}},t.prototype.refreshRowHeightCache=function(){!this.scrollbarV||this.scrollbarV&&!this.virtualization||(this.rowHeightsCache.clearCache(),this.rows&&this.rows.length&&this.rowHeightsCache.initCache({rows:this.rows,rowHeight:this.rowHeight,detailRowHeight:this.getDetailRowHeight,externalVirtual:this.scrollbarV&&this.externalPaging,rowCount:this.rowCount,rowIndexes:this.rowIndexes,rowExpansions:this.rowExpansions}))},t.prototype.getAdjustedViewPortIndex=function(){var t=this.indexes.first;return this.scrollbarV&&this.virtualization&&this.rowHeightsCache.query(t-1)<=this.offsetY?t-1:t},t.prototype.toggleRowExpansion=function(t){var e=this.getAdjustedViewPortIndex(),n=this.rowExpansions.get(t);if(this.scrollbarV&&this.virtualization){var a=this.getDetailRowHeight(t)*(n?-1:1),r=this.getRowIndex(t);this.rowHeightsCache.update(r,a)}n=n^=1,this.rowExpansions.set(t,n),this.detailToggle.emit({rows:[t],currentIndex:e})},t.prototype.toggleAllRows=function(t){this.rowExpansions.clear();for(var e=t?1:0,n=this.getAdjustedViewPortIndex(),a=0,r=this.rows;a<r.length;a++)this.rowExpansions.set(r[a],e);this.scrollbarV&&this.recalcLayout(),this.detailToggle.emit({rows:this.rows,currentIndex:n})},t.prototype.recalcLayout=function(){this.refreshRowHeightCache(),this.updateIndexes(),this.updateRows()},t.prototype.columnTrackingFn=function(t,e){return e.$$id},t.prototype.stylesByGroup=function(t){var e=this.columnGroupWidths,n=this.offsetX,a={width:e[t]+"px"};if("left"===t)i.translateXY(a,n,0);else if("right"===t){var r=parseInt(this.innerWidth+"",0);i.translateXY(a,-1*(e.total-r-n),0)}return a},t.prototype.getRowExpanded=function(t){if(0===this.rowExpansions.size&&this.groupExpansionDefault)for(var e=0,n=this.groupedRows;e<n.length;e++)this.rowExpansions.set(n[e],1);return 1===this.rowExpansions.get(t)},t.prototype.getRowIndex=function(t){return this.rowIndexes.get(t)||0},t.prototype.onTreeAction=function(t){this.treeAction.emit({row:t})},a([o.Input(),r("design:type",Boolean)],t.prototype,"scrollbarV",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"scrollbarH",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"loadingIndicator",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"externalPaging",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"rowHeight",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"offsetX",void 0),a([o.Input(),r("design:type",String)],t.prototype,"emptyMessage",void 0),a([o.Input(),r("design:type",String)],t.prototype,"selectionType",void 0),a([o.Input(),r("design:type",Array)],t.prototype,"selected",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"rowIdentity",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"rowDetail",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"groupHeader",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"selectCheck",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"displayCheck",void 0),a([o.Input(),r("design:type",String)],t.prototype,"trackByProp",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"rowClass",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"groupedRows",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"groupExpansionDefault",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"innerWidth",void 0),a([o.Input(),r("design:type",String)],t.prototype,"groupRowsBy",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"virtualization",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"summaryRow",void 0),a([o.Input(),r("design:type",String)],t.prototype,"summaryPosition",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"summaryHeight",void 0),a([o.Input(),r("design:type",Number),r("design:paramtypes",[Number])],t.prototype,"pageSize",null),a([o.Input(),r("design:type",Array),r("design:paramtypes",[Array])],t.prototype,"rows",null),a([o.Input(),r("design:type",Array),r("design:paramtypes",[Array])],t.prototype,"columns",null),a([o.Input(),r("design:type",Number),r("design:paramtypes",[Number])],t.prototype,"offset",null),a([o.Input(),r("design:type",Number),r("design:paramtypes",[Number])],t.prototype,"rowCount",null),a([o.HostBinding("style.width"),r("design:type",String),r("design:paramtypes",[])],t.prototype,"bodyWidth",null),a([o.Input(),o.HostBinding("style.height"),r("design:type",Object),r("design:paramtypes",[Object])],t.prototype,"bodyHeight",null),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"scroll",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"page",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"activate",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"select",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"detailToggle",void 0),a([o.Output(),r("design:type",Object)],t.prototype,"rowContextmenu",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"treeAction",void 0),a([o.ViewChild(s.ScrollerComponent,{static:!1}),r("design:type",s.ScrollerComponent)],t.prototype,"scroller",void 0),a([o.Component({selector:"datatable-body",template:'\n    <datatable-selection\n      #selector\n      [selected]="selected"\n      [rows]="rows"\n      [selectCheck]="selectCheck"\n      [selectEnabled]="selectEnabled"\n      [selectionType]="selectionType"\n      [rowIdentity]="rowIdentity"\n      (select)="select.emit($event)"\n      (activate)="activate.emit($event)"\n    >\n      <datatable-progress *ngIf="loadingIndicator"> </datatable-progress>\n      <datatable-scroller\n        *ngIf="rows?.length"\n        [scrollbarV]="scrollbarV"\n        [scrollbarH]="scrollbarH"\n        [scrollHeight]="scrollHeight"\n        [scrollWidth]="columnGroupWidths?.total"\n        (scroll)="onBodyScroll($event)"\n      >\n        <datatable-summary-row\n          *ngIf="summaryRow && summaryPosition === \'top\'"\n          [rowHeight]="summaryHeight"\n          [offsetX]="offsetX"\n          [innerWidth]="innerWidth"\n          [rows]="rows"\n          [columns]="columns"\n        >\n        </datatable-summary-row>\n        <datatable-row-wrapper\n          [groupedRows]="groupedRows"\n          *ngFor="let group of temp; let i = index; trackBy: rowTrackingFn"\n          [innerWidth]="innerWidth"\n          [ngStyle]="getRowsStyles(group)"\n          [rowDetail]="rowDetail"\n          [groupHeader]="groupHeader"\n          [offsetX]="offsetX"\n          [detailRowHeight]="getDetailRowHeight(group[i], i)"\n          [row]="group"\n          [expanded]="getRowExpanded(group)"\n          [rowIndex]="getRowIndex(group[i])"\n          (rowContextmenu)="rowContextmenu.emit($event)"\n        >\n          <datatable-body-row\n            *ngIf="!groupedRows; else groupedRowsTemplate"\n            tabindex="-1"\n            [isSelected]="selector.getRowSelected(group)"\n            [innerWidth]="innerWidth"\n            [offsetX]="offsetX"\n            [columns]="columns"\n            [rowHeight]="getRowHeight(group)"\n            [row]="group"\n            [rowIndex]="getRowIndex(group)"\n            [expanded]="getRowExpanded(group)"\n            [rowClass]="rowClass"\n            [displayCheck]="displayCheck"\n            [treeStatus]="group.treeStatus"\n            (treeAction)="onTreeAction(group)"\n            (activate)="selector.onActivate($event, indexes.first + i)"\n          >\n          </datatable-body-row>\n          <ng-template #groupedRowsTemplate>\n            <datatable-body-row\n              *ngFor="\n                let row of group.value;\n                let i = index;\n                trackBy: rowTrackingFn\n              "\n              tabindex="-1"\n              [isSelected]="selector.getRowSelected(row)"\n              [innerWidth]="innerWidth"\n              [offsetX]="offsetX"\n              [columns]="columns"\n              [rowHeight]="getRowHeight(row)"\n              [row]="row"\n              [group]="group.value"\n              [rowIndex]="getRowIndex(row)"\n              [expanded]="getRowExpanded(row)"\n              [rowClass]="rowClass"\n              (activate)="selector.onActivate($event, i)"\n            >\n            </datatable-body-row>\n          </ng-template>\n        </datatable-row-wrapper>\n        <datatable-summary-row\n          *ngIf="summaryRow && summaryPosition === \'bottom\'"\n          [ngStyle]="getBottomSummaryRowStyles()"\n          [rowHeight]="summaryHeight"\n          [offsetX]="offsetX"\n          [innerWidth]="innerWidth"\n          [rows]="rows"\n          [columns]="columns"\n        >\n        </datatable-summary-row>\n      </datatable-scroller>\n      <div\n        class="empty-row"\n        *ngIf="!rows?.length && !loadingIndicator"\n        [innerHTML]="emptyMessage"\n      ></div>\n    </datatable-selection>\n  ',changeDetection:o.ChangeDetectionStrategy.OnPush,host:{class:"datatable-body"}})],t)}()},IZUe:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("LvDl");class r{constructor(t){this.elementRef=t,this.focus=!0}ngAfterViewInit(){const t=this.elementRef.nativeElement;this.focus&&a.isFunction(t.focus)&&t.focus()}set autofocus(t){a.isBoolean(t)?this.focus=t:a.isFunction(t)&&(this.focus=t())}}},IheW:function(t,e,n){"use strict";n.d(e,"m",(function(){return R})),n.d(e,"p",(function(){return q})),n.d(e,"q",(function(){return j})),n.d(e,"n",(function(){return E})),n.d(e,"o",(function(){return D})),n.d(e,"b",(function(){return u})),n.d(e,"g",(function(){return d})),n.d(e,"c",(function(){return w})),n.d(e,"a",(function(){return S})),n.d(e,"d",(function(){return G})),n.d(e,"e",(function(){return z})),n.d(e,"l",(function(){return F})),n.d(e,"h",(function(){return m})),n.d(e,"f",(function(){return M})),n.d(e,"i",(function(){return A})),n.d(e,"k",(function(){return N})),n.d(e,"j",(function(){return L}));var a=n("8Y7J"),r=n("LRne"),o=n("HDdC"),i=n("bOdf"),s=n("pLZG"),c=n("lJxs"),l=n("SVse");class d{}class u{}class g{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?this.lazyInit="string"==typeof t?()=>{this.headers=new Map,t.split("\n").forEach(t=>{const e=t.indexOf(":");if(e>0){const n=t.slice(0,e),a=n.toLowerCase(),r=t.slice(e+1).trim();this.maybeSetNormalizedName(n,a),this.headers.has(a)?this.headers.get(a).push(r):this.headers.set(a,[r])}})}:()=>{this.headers=new Map,Object.keys(t).forEach(e=>{let n=t[e];const a=e.toLowerCase();"string"==typeof n&&(n=[n]),n.length>0&&(this.headers.set(a,n),this.maybeSetNormalizedName(e,a))})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const e=this.headers.get(t.toLowerCase());return e&&e.length>0?e[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,e){return this.clone({name:t,value:e,op:"a"})}set(t,e){return this.clone({name:t,value:e,op:"s"})}delete(t,e){return this.clone({name:t,value:e,op:"d"})}maybeSetNormalizedName(t,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,t)}init(){this.lazyInit&&(this.lazyInit instanceof g?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(e=>{this.headers.set(e,t.headers.get(e)),this.normalizedNames.set(e,t.normalizedNames.get(e))})}clone(t){const e=new g;return e.lazyInit=this.lazyInit&&this.lazyInit instanceof g?this.lazyInit:this,e.lazyUpdate=(this.lazyUpdate||[]).concat([t]),e}applyUpdate(t){const e=t.name.toLowerCase();switch(t.op){case"a":case"s":let n=t.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(t.name,e);const a=("a"===t.op?this.headers.get(e):void 0)||[];a.push(...n),this.headers.set(e,a);break;case"d":const r=t.value;if(r){let t=this.headers.get(e);if(!t)return;t=t.filter(t=>-1===r.indexOf(t)),0===t.length?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,t)}else this.headers.delete(e),this.normalizedNames.delete(e)}}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(e=>t(this.normalizedNames.get(e),this.headers.get(e)))}}class f{encodeKey(t){return p(t)}encodeValue(t){return p(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}function p(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/gi,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%2B/gi,"+").replace(/%3D/gi,"=").replace(/%3F/gi,"?").replace(/%2F/gi,"/")}class m{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new f,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function(t,e){const n=new Map;return t.length>0&&t.split("&").forEach(t=>{const a=t.indexOf("="),[r,o]=-1==a?[e.decodeKey(t),""]:[e.decodeKey(t.slice(0,a)),e.decodeValue(t.slice(a+1))],i=n.get(r)||[];i.push(o),n.set(r,i)}),n}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(e=>{const n=t.fromObject[e];this.map.set(e,Array.isArray(n)?n:[n])})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const e=this.map.get(t);return e?e[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,e){return this.clone({param:t,value:e,op:"a"})}set(t,e){return this.clone({param:t,value:e,op:"s"})}delete(t,e){return this.clone({param:t,value:e,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const e=this.encoder.encodeKey(t);return this.map.get(t).map(t=>e+"="+this.encoder.encodeValue(t)).join("&")}).join("&")}clone(t){const e=new m({encoder:this.encoder});return e.cloneFrom=this.cloneFrom||this,e.updates=(this.updates||[]).concat([t]),e}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":const e=("a"===t.op?this.map.get(t.param):void 0)||[];e.push(t.value),this.map.set(t.param,e);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let e=this.map.get(t.param)||[];const n=e.indexOf(t.value);-1!==n&&e.splice(n,1),e.length>0?this.map.set(t.param,e):this.map.delete(t.param)}}}),this.cloneFrom=this.updates=null)}}function h(t){return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer}function b(t){return"undefined"!=typeof Blob&&t instanceof Blob}function y(t){return"undefined"!=typeof FormData&&t instanceof FormData}class _{constructor(t,e,n,a){let r;if(this.url=e,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function(t){switch(t){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||a?(this.body=void 0!==n?n:null,r=a):r=n,r&&(this.reportProgress=!!r.reportProgress,this.withCredentials=!!r.withCredentials,r.responseType&&(this.responseType=r.responseType),r.headers&&(this.headers=r.headers),r.params&&(this.params=r.params)),this.headers||(this.headers=new g),this.params){const t=this.params.toString();if(0===t.length)this.urlWithParams=e;else{const n=e.indexOf("?");this.urlWithParams=e+(-1===n?"?":n<e.length-1?"&":"")+t}}else this.params=new m,this.urlWithParams=e}serializeBody(){return null===this.body?null:h(this.body)||b(this.body)||y(this.body)||"string"==typeof this.body?this.body:this.body instanceof m?this.body.toString():"object"==typeof this.body||"boolean"==typeof this.body||Array.isArray(this.body)?JSON.stringify(this.body):this.body.toString()}detectContentTypeHeader(){return null===this.body?null:y(this.body)?null:b(this.body)?this.body.type||null:h(this.body)?null:"string"==typeof this.body?"text/plain":this.body instanceof m?"application/x-www-form-urlencoded;charset=UTF-8":"object"==typeof this.body||"number"==typeof this.body||Array.isArray(this.body)?"application/json":null}clone(t={}){const e=t.method||this.method,n=t.url||this.url,a=t.responseType||this.responseType,r=void 0!==t.body?t.body:this.body,o=void 0!==t.withCredentials?t.withCredentials:this.withCredentials,i=void 0!==t.reportProgress?t.reportProgress:this.reportProgress;let s=t.headers||this.headers,c=t.params||this.params;return void 0!==t.setHeaders&&(s=Object.keys(t.setHeaders).reduce((e,n)=>e.set(n,t.setHeaders[n]),s)),t.setParams&&(c=Object.keys(t.setParams).reduce((e,n)=>e.set(n,t.setParams[n]),c)),new _(e,n,r,{params:c,headers:s,reportProgress:i,responseType:a,withCredentials:o})}}const O=function(){var t={Sent:0,UploadProgress:1,ResponseHeader:2,DownloadProgress:3,Response:4,User:5};return t[t.Sent]="Sent",t[t.UploadProgress]="UploadProgress",t[t.ResponseHeader]="ResponseHeader",t[t.DownloadProgress]="DownloadProgress",t[t.Response]="Response",t[t.User]="User",t}();class v{constructor(t,e=200,n="OK"){this.headers=t.headers||new g,this.status=void 0!==t.status?t.status:e,this.statusText=t.statusText||n,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class C extends v{constructor(t={}){super(t),this.type=O.ResponseHeader}clone(t={}){return new C({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class P extends v{constructor(t={}){super(t),this.type=O.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new P({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class M extends v{constructor(t){super(t,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${t.url||"(unknown url)"}`:`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}}function x(t,e){return{body:e,headers:t.headers,observe:t.observe,params:t.params,reportProgress:t.reportProgress,responseType:t.responseType,withCredentials:t.withCredentials}}class w{constructor(t){this.handler=t}request(t,e,n={}){let a;if(t instanceof _)a=t;else{let r=void 0;r=n.headers instanceof g?n.headers:new g(n.headers);let o=void 0;n.params&&(o=n.params instanceof m?n.params:new m({fromObject:n.params})),a=new _(t,e,void 0!==n.body?n.body:null,{headers:r,params:o,reportProgress:n.reportProgress,responseType:n.responseType||"json",withCredentials:n.withCredentials})}const o=Object(r.a)(a).pipe(Object(i.a)(t=>this.handler.handle(t)));if(t instanceof _||"events"===n.observe)return o;const l=o.pipe(Object(s.a)(t=>t instanceof P));switch(n.observe||"body"){case"body":switch(a.responseType){case"arraybuffer":return l.pipe(Object(c.a)(t=>{if(null!==t.body&&!(t.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return t.body}));case"blob":return l.pipe(Object(c.a)(t=>{if(null!==t.body&&!(t.body instanceof Blob))throw new Error("Response is not a Blob.");return t.body}));case"text":return l.pipe(Object(c.a)(t=>{if(null!==t.body&&"string"!=typeof t.body)throw new Error("Response is not a string.");return t.body}));case"json":default:return l.pipe(Object(c.a)(t=>t.body))}case"response":return l;default:throw new Error(`Unreachable: unhandled observe type ${n.observe}}`)}}delete(t,e={}){return this.request("DELETE",t,e)}get(t,e={}){return this.request("GET",t,e)}head(t,e={}){return this.request("HEAD",t,e)}jsonp(t,e){return this.request("JSONP",t,{params:(new m).append(e,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,e={}){return this.request("OPTIONS",t,e)}patch(t,e,n={}){return this.request("PATCH",t,x(n,e))}post(t,e,n={}){return this.request("POST",t,x(n,e))}put(t,e,n={}){return this.request("PUT",t,x(n,e))}}class T{constructor(t,e){this.next=t,this.interceptor=e}handle(t){return this.interceptor.intercept(t,this.next)}}const S=new a.InjectionToken("HTTP_INTERCEPTORS");class k{intercept(t,e){return e.handle(t)}}const I=/^\)\]\}',?\n/;class N{}class R{constructor(){}build(){return new XMLHttpRequest}}class A{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new Error("Attempted to construct Jsonp request without JsonpClientModule installed.");return new o.a(e=>{const n=this.xhrFactory.build();if(n.open(t.method,t.urlWithParams),t.withCredentials&&(n.withCredentials=!0),t.headers.forEach((t,e)=>n.setRequestHeader(t,e.join(","))),t.headers.has("Accept")||n.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const e=t.detectContentTypeHeader();null!==e&&n.setRequestHeader("Content-Type",e)}if(t.responseType){const e=t.responseType.toLowerCase();n.responseType="json"!==e?e:"text"}const a=t.serializeBody();let r=null;const o=()=>{if(null!==r)return r;const e=1223===n.status?204:n.status,a=n.statusText||"OK",o=new g(n.getAllResponseHeaders()),i=function(t){return"responseURL"in t&&t.responseURL?t.responseURL:/^X-Request-URL:/m.test(t.getAllResponseHeaders())?t.getResponseHeader("X-Request-URL"):null}(n)||t.url;return r=new C({headers:o,status:e,statusText:a,url:i}),r},i=()=>{let{headers:a,status:r,statusText:i,url:s}=o(),c=null;204!==r&&(c=void 0===n.response?n.responseText:n.response),0===r&&(r=c?200:0);let l=r>=200&&r<300;if("json"===t.responseType&&"string"==typeof c){const t=c;c=c.replace(I,"");try{c=""!==c?JSON.parse(c):null}catch(d){c=t,l&&(l=!1,c={error:d,text:c})}}l?(e.next(new P({body:c,headers:a,status:r,statusText:i,url:s||void 0})),e.complete()):e.error(new M({error:c,headers:a,status:r,statusText:i,url:s||void 0}))},s=t=>{const{url:a}=o(),r=new M({error:t,status:n.status||0,statusText:n.statusText||"Unknown Error",url:a||void 0});e.error(r)};let c=!1;const l=a=>{c||(e.next(o()),c=!0);let r={type:O.DownloadProgress,loaded:a.loaded};a.lengthComputable&&(r.total=a.total),"text"===t.responseType&&n.responseText&&(r.partialText=n.responseText),e.next(r)},d=t=>{let n={type:O.UploadProgress,loaded:t.loaded};t.lengthComputable&&(n.total=t.total),e.next(n)};return n.addEventListener("load",i),n.addEventListener("error",s),t.reportProgress&&(n.addEventListener("progress",l),null!==a&&n.upload&&n.upload.addEventListener("progress",d)),n.send(a),e.next({type:O.Sent}),()=>{n.removeEventListener("error",s),n.removeEventListener("load",i),t.reportProgress&&(n.removeEventListener("progress",l),null!==a&&n.upload&&n.upload.removeEventListener("progress",d)),n.abort()}})}}const E=new a.InjectionToken("XSRF_COOKIE_NAME"),D=new a.InjectionToken("XSRF_HEADER_NAME");class L{}class q{constructor(t,e,n){this.doc=t,this.platform=e,this.cookieName=n,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=Object(l["ɵparseCookieValue"])(t,this.cookieName),this.lastCookieString=t),this.lastToken}}class j{constructor(t,e){this.tokenService=t,this.headerName=e}intercept(t,e){const n=t.url.toLowerCase();if("GET"===t.method||"HEAD"===t.method||n.startsWith("http://")||n.startsWith("https://"))return e.handle(t);const a=this.tokenService.getToken();return null===a||t.headers.has(this.headerName)||(t=t.clone({headers:t.headers.set(this.headerName,a)})),e.handle(t)}}class F{constructor(t,e){this.backend=t,this.injector=e,this.chain=null}handle(t){if(null===this.chain){const t=this.injector.get(S,[]);this.chain=t.reduceRight((t,e)=>new T(t,e),this.backend)}return this.chain.handle(t)}}class z{static disable(){return{ngModule:z,providers:[{provide:j,useClass:k}]}}static withOptions(t={}){return{ngModule:z,providers:[t.cookieName?{provide:E,useValue:t.cookieName}:[],t.headerName?{provide:D,useValue:t.headerName}:[]]}}}class G{}},IjjT:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("Y/cZ");class r extends a.a{constructor(t,e=a.a.now){super(t,()=>r.delegate&&r.delegate!==this?r.delegate.now():e()),this.actions=[],this.active=!1,this.scheduled=void 0}schedule(t,e=0,n){return r.delegate&&r.delegate!==this?r.delegate.schedule(t,e,n):super.schedule(t,e,n)}flush(t){const{actions:e}=this;if(this.active)return void e.push(t);let n;this.active=!0;do{if(n=t.execute(t.state,t.delay))break}while(t=e.shift());if(this.active=!1,n){for(;t=e.shift();)t.unsubscribe();throw n}}}},ImZN:function(t,e,n){var a=n("glrk"),r=n("6VoE"),o=n("UMSQ"),i=n("A2ZE"),s=n("NaFW"),c=n("m92n"),l=function(t,e){this.stopped=t,this.result=e};(t.exports=function(t,e,n,d,u){var g,f,p,m,h,b,y,_=i(e,n,d?2:1);if(u)g=t;else{if("function"!=typeof(f=s(t)))throw TypeError("Target is not iterable");if(r(f)){for(p=0,m=o(t.length);m>p;p++)if((h=d?_(a(y=t[p])[0],y[1]):_(t[p]))&&h instanceof l)return h;return new l(!1)}g=f.call(t)}for(b=g.next;!(y=b.call(g)).done;)if("object"==typeof(h=c(g,_,y.value,d))&&h&&h instanceof l)return h;return new l(!1)}).stop=function(t){return new l(!0,t)}},Ioao:function(t,e,n){var a=n("heNW"),r=Math.max;t.exports=function(t,e,n){return e=r(void 0===e?t.length-1:e,0),function(){for(var o=arguments,i=-1,s=r(o.length-e,0),c=Array(s);++i<s;)c[i]=o[e+i];i=-1;for(var l=Array(e+1);++i<e;)l[i]=o[i];return l[e]=n(c),a(t,this,l)}}},"Ivi+":function(t,e,n){!function(t){"use strict";t.defineLocale("ko",{months:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),monthsShort:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),weekdays:"일요일_월요일_화요일_수요일_목요일_금요일_토요일".split("_"),weekdaysShort:"일_월_화_수_목_금_토".split("_"),weekdaysMin:"일_월_화_수_목_금_토".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY년 MMMM D일",LLL:"YYYY년 MMMM D일 A h:mm",LLLL:"YYYY년 MMMM D일 dddd A h:mm",l:"YYYY.MM.DD.",ll:"YYYY년 MMMM D일",lll:"YYYY년 MMMM D일 A h:mm",llll:"YYYY년 MMMM D일 dddd A h:mm"},calendar:{sameDay:"오늘 LT",nextDay:"내일 LT",nextWeek:"dddd LT",lastDay:"어제 LT",lastWeek:"지난주 dddd LT",sameElse:"L"},relativeTime:{future:"%s 후",past:"%s 전",s:"몇 초",ss:"%d초",m:"1분",mm:"%d분",h:"한 시간",hh:"%d시간",d:"하루",dd:"%d일",M:"한 달",MM:"%d달",y:"일 년",yy:"%d년"},dayOfMonthOrdinalParse:/\d{1,2}(일|월|주)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"일";case"M":return t+"월";case"w":case"W":return t+"주";default:return t}},meridiemParse:/오전|오후/,isPM:function(t){return"오후"===t},meridiem:function(t,e,n){return t<12?"오전":"오후"}})}(n("wd/R"))},IzCI:function(t,e,n){"use strict";n.d(e,"a",(function(){return a})),n("aXbf");class a{constructor(t){this.formatter=t}transform(t){return this.formatter.format_number(t,1024,["B/s","kB/s","MB/s","GB/s","TB/s","PB/s","EB/s","ZB/s","YB/s"])}}},IzEk:function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var a=n("7o/Q"),r=n("4I5i"),o=n("EY2u");function i(t){return e=>0===t?Object(o.b)():e.lift(new s(t))}class s{constructor(t){if(this.total=t,this.total<0)throw new r.a}call(t,e){return e.subscribe(new c(t,this.total))}}class c extends a.a{constructor(t,e){super(t),this.total=e,this.count=0}_next(t){const e=this.total,n=++this.count;n<=e&&(this.destination.next(t),n===e&&(this.destination.complete(),this.unsubscribe()))}}},J2m7:function(t,e,n){var a=n("XKAG")(n("UfWW"));t.exports=a},JBE3:function(t,e,n){var a=n("+Qka"),r=n("LsHQ")((function(t,e,n,r){a(t,e,n,r)}));t.exports=r},JBy8:function(t,e,n){var a=n("yoRg"),r=n("eDl+").concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return a(t,r)}},JC6p:function(t,e,n){var a=n("cq/+"),r=n("7GkX");t.exports=function(t,e){return t&&a(t,e,r)}},"JCF/":function(t,e,n){!function(t){"use strict";var e={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},n={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},a=["کانونی دووەم","شوبات","ئازار","نیسان","ئایار","حوزەیران","تەمموز","ئاب","ئەیلوول","تشرینی یەكەم","تشرینی دووەم","كانونی یەکەم"];t.defineLocale("ku",{months:a,monthsShort:a,weekdays:"یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌".split("_"),weekdaysShort:"یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌".split("_"),weekdaysMin:"ی_د_س_چ_پ_ه_ش".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/ئێواره‌|به‌یانی/,isPM:function(t){return/ئێواره‌/.test(t)},meridiem:function(t,e,n){return t<12?"به‌یانی":"ئێواره‌"},calendar:{sameDay:"[ئه‌مرۆ كاتژمێر] LT",nextDay:"[به‌یانی كاتژمێر] LT",nextWeek:"dddd [كاتژمێر] LT",lastDay:"[دوێنێ كاتژمێر] LT",lastWeek:"dddd [كاتژمێر] LT",sameElse:"L"},relativeTime:{future:"له‌ %s",past:"%s",s:"چه‌ند چركه‌یه‌ك",ss:"چركه‌ %d",m:"یه‌ك خوله‌ك",mm:"%d خوله‌ك",h:"یه‌ك كاتژمێر",hh:"%d كاتژمێر",d:"یه‌ك ڕۆژ",dd:"%d ڕۆژ",M:"یه‌ك مانگ",MM:"%d مانگ",y:"یه‌ك ساڵ",yy:"%d ساڵ"},preparse:function(t){return t.replace(/[١٢٣٤٥٦٧٨٩٠]/g,(function(t){return n[t]})).replace(/،/g,",")},postformat:function(t){return t.replace(/\d/g,(function(t){return e[t]})).replace(/,/g,"،")},week:{dow:6,doy:12}})}(n("wd/R"))},JHRd:function(t,e,n){var a=n("Kz5y");t.exports=a.Uint8Array},JHgL:function(t,e,n){var a=n("QkVE");t.exports=function(t){return a(this,t).get(t)}},JIr8:function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var a=n("l7GE"),r=n("51Dv"),o=n("ZUHj");function i(t){return function(e){const n=new s(t),a=e.lift(n);return n.caught=a}}class s{constructor(t){this.selector=t}call(t,e){return e.subscribe(new c(t,this.selector,this.caught))}}class c extends a.a{constructor(t,e,n){super(t),this.selector=e,this.caught=n}error(t){if(!this.isStopped){let n;try{n=this.selector(t,this.caught)}catch(e){return void super.error(e)}this._unsubscribeAndRecycle();const a=new r.a(this,void 0,void 0);this.add(a);const i=Object(o.a)(this,n,void 0,void 0,a);i!==a&&this.add(i)}}}},JSQU:function(t,e,n){var a=n("YESw");t.exports=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=a&&void 0===e?"__lodash_hash_undefined__":e,this}},JTzB:function(t,e,n){var a=n("NykK"),r=n("ExA7");t.exports=function(t){return r(t)&&"[object Arguments]"==a(t)}},JVSJ:function(t,e,n){!function(t){"use strict";function e(t,e,n){var a=t+" ";switch(n){case"ss":return a+(1===t?"sekunda":2===t||3===t||4===t?"sekunde":"sekundi");case"m":return e?"jedna minuta":"jedne minute";case"mm":return a+(1===t?"minuta":2===t||3===t||4===t?"minute":"minuta");case"h":return e?"jedan sat":"jednog sata";case"hh":return a+(1===t?"sat":2===t||3===t||4===t?"sata":"sati");case"dd":return a+(1===t?"dan":"dana");case"MM":return a+(1===t?"mjesec":2===t||3===t||4===t?"mjeseca":"mjeseci");case"yy":return a+(1===t?"godina":2===t||3===t||4===t?"godine":"godina")}}t.defineLocale("bs",{months:"januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return"[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:e,m:e,mm:e,h:e,hh:e,d:"dan",dd:e,M:"mjesec",MM:e,y:"godinu",yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n("wd/R"))},JX91:function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var a=n("GyhO"),r=n("z+Ro");function o(...t){const e=t[t.length-1];return Object(r.a)(e)?(t.pop(),n=>Object(a.a)(t,n,e)):e=>Object(a.a)(t,e)}},JZM8:function(t,e,n){var a=n("FfPP"),r=n("xs/l")((function(t,e){return null==t?{}:a(t,e)}));t.exports=r},Jlc5:function(t,e,n){var a=n("ZirO"),r=n("H0h1"),o=n("ut/Y"),i=n("Z0cm"),s=n("mv/X");t.exports=function(t,e,n){var c=i(t)?a:r;return n&&s(t,e,n)&&(e=void 0),c(t,o(e,3))}},JmpY:function(t,e,n){var a=n("eUgh");t.exports=function(t,e){return a(e,(function(e){return t[e]}))}},Juji:function(t,e){t.exports=function(t,e){return null!=t&&e in Object(t)}},JvlW:function(t,e,n){!function(t){"use strict";var e={ss:"sekundė_sekundžių_sekundes",m:"minutė_minutės_minutę",mm:"minutės_minučių_minutes",h:"valanda_valandos_valandą",hh:"valandos_valandų_valandas",d:"diena_dienos_dieną",dd:"dienos_dienų_dienas",M:"mėnuo_mėnesio_mėnesį",MM:"mėnesiai_mėnesių_mėnesius",y:"metai_metų_metus",yy:"metai_metų_metus"};function n(t,e,n,a){return e?r(n)[0]:a?r(n)[1]:r(n)[2]}function a(t){return t%10==0||t>10&&t<20}function r(t){return e[t].split("_")}function o(t,e,o,i){var s=t+" ";return 1===t?s+n(0,e,o[0],i):e?s+(a(t)?r(o)[1]:r(o)[0]):i?s+r(o)[1]:s+(a(t)?r(o)[1]:r(o)[2])}t.defineLocale("lt",{months:{format:"sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio".split("_"),standalone:"sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis".split("_"),isFormat:/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/},monthsShort:"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),weekdays:{format:"sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį".split("_"),standalone:"sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis".split("_"),isFormat:/dddd HH:mm/},weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_Šeš".split("_"),weekdaysMin:"S_P_A_T_K_Pn_Š".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"},calendar:{sameDay:"[Šiandien] LT",nextDay:"[Rytoj] LT",nextWeek:"dddd LT",lastDay:"[Vakar] LT",lastWeek:"[Praėjusį] dddd LT",sameElse:"L"},relativeTime:{future:"po %s",past:"prieš %s",s:function(t,e,n,a){return e?"kelios sekundės":a?"kelių sekundžių":"kelias sekundes"},ss:o,m:n,mm:o,h:n,hh:o,d:n,dd:o,M:n,MM:o,y:n,yy:o},dayOfMonthOrdinalParse:/\d{1,2}-oji/,ordinal:function(t){return t+"-oji"},week:{dow:1,doy:4}})}(n("wd/R"))},JxMD:function(t,e,n){"use strict";var a=n("8Y7J"),r=n("SVse"),o=n("hrfs");n("dgut"),n("Fgil"),n.d(e,"a",(function(){return i})),n.d(e,"b",(function(){return s}));var i=a["ɵcrt"]({encapsulation:0,styles:[['canvas[_ngcontent-%COMP%]{-moz-user-select:none;user-select:none}.chartjs-tooltip[_ngcontent-%COMP%]{opacity:0;position:absolute;background:rgba(0,0,0,.7);color:#fff;border-radius:3px;transition:all .1s ease;pointer-events:none;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif!important;transform:translate(-50%,0)}.chartjs-tooltip.transform-left[_ngcontent-%COMP%]{transform:translate(-10%,0)}.chartjs-tooltip.transform-left[_ngcontent-%COMP%]::after{left:10%}.chartjs-tooltip.transform-right[_ngcontent-%COMP%]{transform:translate(-90%,0)}.chartjs-tooltip.transform-right[_ngcontent-%COMP%]::after{left:90%}.chartjs-tooltip[_ngcontent-%COMP%]::after{content:" ";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:#000 transparent transparent}  .chartjs-tooltip-key{display:inline-block;width:10px;height:10px;margin-right:10px}.chart-container[_ngcontent-%COMP%]{margin:auto;cursor:pointer;overflow:visible;position:static!important}']],data:{}});function s(t){return a["ɵvid"](0,[a["ɵqud"](402653184,1,{chartCanvasRef:0}),a["ɵqud"](402653184,2,{chartTooltipRef:0}),(t()(),a["ɵeld"](2,0,null,null,6,"div",[["class","chart-container"]],null,null,null,null,null)),a["ɵprd"](512,null,r["ɵNgStyleImpl"],r["ɵNgStyleR2Impl"],[a.ElementRef,a.KeyValueDiffers,a.Renderer2]),a["ɵdid"](4,278528,null,0,r.NgStyle,[r["ɵNgStyleImpl"]],{ngStyle:[0,"ngStyle"]},null),(t()(),a["ɵeld"](5,0,[[1,0],["sparkCanvas",1]],null,1,"canvas",[["baseChart",""]],null,null,null,null,null)),a["ɵdid"](6,999424,null,0,o.a,[a.ElementRef,o.c],{datasets:[0,"datasets"],labels:[1,"labels"],options:[2,"options"],chartType:[3,"chartType"],colors:[4,"colors"]},null),(t()(),a["ɵeld"](7,0,[[2,0],["sparkTooltip",1]],null,1,"div",[["class","chartjs-tooltip"]],null,null,null,null,null)),(t()(),a["ɵeld"](8,0,null,null,0,"table",[],null,null,null,null,null))],(function(t,e){var n=e.component;t(e,4,0,n.style),t(e,6,0,n.datasets,n.labels,n.options,"line",n.colors)}),null)}},"K/tc":function(t,e,n){!function(t){"use strict";t.defineLocale("af",{months:"Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des".split("_"),weekdays:"Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag".split("_"),weekdaysShort:"Son_Maa_Din_Woe_Don_Vry_Sat".split("_"),weekdaysMin:"So_Ma_Di_Wo_Do_Vr_Sa".split("_"),meridiemParse:/vm|nm/i,isPM:function(t){return/^nm$/i.test(t)},meridiem:function(t,e,n){return t<12?n?"vm":"VM":n?"nm":"NM"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Vandag om] LT",nextDay:"[Môre om] LT",nextWeek:"dddd [om] LT",lastDay:"[Gister om] LT",lastWeek:"[Laas] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oor %s",past:"%s gelede",s:"'n paar sekondes",ss:"%d sekondes",m:"'n minuut",mm:"%d minute",h:"'n uur",hh:"%d ure",d:"'n dag",dd:"%d dae",M:"'n maand",MM:"%d maande",y:"'n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(t){return t+(1===t||8===t||t>=20?"ste":"de")},week:{dow:1,doy:4}})}(n("wd/R"))},KMkd:function(t,e){t.exports=function(){this.__data__=[],this.size=0}},KOzp:function(t,e,n){"use strict";n.d(e,"a",(function(){return i})),n.d(e,"b",(function(){return s})),n.d(e,"c",(function(){return c})),n.d(e,"d",(function(){return l}));var a=n("z/SZ"),r=n("hpHm"),o=n("2uy1");class i{constructor(){this.adaptivePosition=!0,this.placement="top",this.triggers="click",this.outsideClick=!1}}class s{constructor(t){Object.assign(this,t)}get isBs3(){return Object(r.d)()}}class c{constructor(t,e,n,a,r,o){this._positionService=o,this.outsideClick=!1,this.containerClass="",this._isInited=!1,this._popover=r.createLoader(e,a,n).provide({provide:i,useValue:t}),Object.assign(this,t),this.onShown=this._popover.onShown,this.onHidden=this._popover.onHidden,"undefined"!=typeof window&&e.nativeElement.addEventListener("click",(function(){try{e.nativeElement.focus()}catch(t){return}}))}get isOpen(){return this._popover.isShown}set isOpen(t){t?this.show():this.hide()}show(){!this._popover.isShown&&this.popover&&(this._positionService.setOptions({modifiers:{flip:{enabled:this.adaptivePosition},preventOverflow:{enabled:this.adaptivePosition}}}),this._popover.attach(s).to(this.container).position({attachment:this.placement}).show({content:this.popover,context:this.popoverContext,placement:this.placement,title:this.popoverTitle,containerClass:this.containerClass}),this.adaptivePosition||(this._positionService.calcPosition(),this._positionService.deletePositionElement(this._popover._componentRef.location)),this.isOpen=!0)}hide(){this.isOpen&&(this._popover.hide(),this.isOpen=!1)}toggle(){if(this.isOpen)return this.hide();this.show()}ngOnInit(){this._isInited||(this._isInited=!0,this._popover.listen({triggers:this.triggers,outsideClick:this.outsideClick,show:()=>this.show()}))}ngOnDestroy(){this._popover.dispose()}}class l{static forRoot(){return{ngModule:l,providers:[i,a.a,o.a]}}}},KSF8:function(t,e,n){!function(t){"use strict";t.defineLocale("vi",{months:"tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12".split("_"),monthsShort:"Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12".split("_"),monthsParseExact:!0,weekdays:"chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy".split("_"),weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysParseExact:!0,meridiemParse:/sa|ch/i,isPM:function(t){return/^ch$/i.test(t)},meridiem:function(t,e,n){return t<12?n?"sa":"SA":n?"ch":"CH"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [năm] YYYY",LLL:"D MMMM [năm] YYYY HH:mm",LLLL:"dddd, D MMMM [năm] YYYY HH:mm",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[Hôm nay lúc] LT",nextDay:"[Ngày mai lúc] LT",nextWeek:"dddd [tuần tới lúc] LT",lastDay:"[Hôm qua lúc] LT",lastWeek:"dddd [tuần rồi lúc] LT",sameElse:"L"},relativeTime:{future:"%s tới",past:"%s trước",s:"vài giây",ss:"%d giây",m:"một phút",mm:"%d phút",h:"một giờ",hh:"%d giờ",d:"một ngày",dd:"%d ngày",M:"một tháng",MM:"%d tháng",y:"một năm",yy:"%d năm"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(t){return t},week:{dow:1,doy:4}})}(n("wd/R"))},KTz0:function(t,e,n){!function(t){"use strict";var e={words:{ss:["sekund","sekunda","sekundi"],m:["jedan minut","jednog minuta"],mm:["minut","minuta","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mjesec","mjeseca","mjeseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(t,e){return 1===t?e[0]:t>=2&&t<=4?e[1]:e[2]},translate:function(t,n,a){var r=e.words[a];return 1===a.length?n?r[0]:r[1]:t+" "+e.correctGrammaticalCase(t,r)}};t.defineLocale("me",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sjutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){return["[prošle] [nedjelje] [u] LT","[prošlog] [ponedjeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srijede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"nekoliko sekundi",ss:e.translate,m:e.translate,mm:e.translate,h:e.translate,hh:e.translate,d:"dan",dd:e.translate,M:"mjesec",MM:e.translate,y:"godinu",yy:e.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n("wd/R"))},KVJa:function(t,e,n){"use strict";var a=n("8Y7J");n("Z21x"),n("SVse"),n("sne2"),n.d(e,"a",(function(){return r})),n.d(e,"b",(function(){return o}));var r=a["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function o(t){return a["ɵvid"](0,[(t()(),a["ɵted"](-1,null,[" \n"])),(t()(),a["ɵeld"](1,0,null,null,1,"button",[["class","btn btn-light tc_backButton"],["type","button"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.back()&&a),a}),null,null)),(t()(),a["ɵted"](2,null,[" ","\n"]))],null,(function(t,e){t(e,2,0,e.component.name)}))}},KfNM:function(t,e){var n=Object.prototype.toString;t.exports=function(t){return n.call(t)}},Kj3r:function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var a=n("7o/Q"),r=n("D0XW");function o(t,e=r.a){return n=>n.lift(new i(t,e))}class i{constructor(t,e){this.dueTime=t,this.scheduler=e}call(t,e){return e.subscribe(new s(t,this.dueTime,this.scheduler))}}class s extends a.a{constructor(t,e,n){super(t),this.dueTime=e,this.scheduler=n,this.debouncedSubscription=null,this.lastValue=null,this.hasValue=!1}_next(t){this.clearDebounce(),this.lastValue=t,this.hasValue=!0,this.add(this.debouncedSubscription=this.scheduler.schedule(c,this.dueTime,this))}_complete(){this.debouncedNext(),this.destination.complete()}debouncedNext(){if(this.clearDebounce(),this.hasValue){const{lastValue:t}=this;this.lastValue=null,this.hasValue=!1,this.destination.next(t)}}clearDebounce(){const t=this.debouncedSubscription;null!==t&&(this.remove(t),t.unsubscribe(),this.debouncedSubscription=null)}}function c(t){t.debouncedNext()}},Kqap:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("7o/Q");function r(t,e){let n=!1;return arguments.length>=2&&(n=!0),function(a){return a.lift(new o(t,e,n))}}class o{constructor(t,e,n=!1){this.accumulator=t,this.seed=e,this.hasSeed=n}call(t,e){return e.subscribe(new i(t,this.accumulator,this.seed,this.hasSeed))}}class i extends a.a{constructor(t,e,n,a){super(t),this.accumulator=e,this._seed=n,this.hasSeed=a,this.index=0}get seed(){return this._seed}set seed(t){this.hasSeed=!0,this._seed=t}_next(t){if(this.hasSeed)return this._tryNext(t);this.seed=t,this.destination.next(t)}_tryNext(t){const e=this.index++;let n;try{n=this.accumulator(this.seed,t,e)}catch(a){this.destination.error(a)}this.seed=n,this.destination.next(n)}}},KqfI:function(t,e,n){"use strict";function a(){}n.d(e,"a",(function(){return a}))},KwMD:function(t,e){t.exports=function(t,e,n,a){for(var r=t.length,o=n+(a?1:-1);a?o--:++o<r;)if(e(t[o],o,t))return o;return-1}},KxBF:function(t,e){t.exports=function(t,e,n){var a=-1,r=t.length;e<0&&(e=-e>r?0:r+e),(n=n>r?r:n)<0&&(n+=r),r=e>n?0:n-e>>>0,e>>>=0;for(var o=Array(r);++a<r;)o[a]=t[a+e];return o}},Kz5y:function(t,e,n){var a=n("WFqU"),r="object"==typeof self&&self&&self.Object===Object&&self,o=a||r||Function("return this")();t.exports=o},L5sC:function(t,e,n){var a=n("mrSG").__decorate;Object.defineProperty(e,"__esModule",{value:!0});var r=n("8Y7J");e.DataTableColumnCellTreeToggle=function(){return a([r.Directive({selector:"[ngx-datatable-tree-toggle]"})],(function(t){this.template=t}))}()},L8xA:function(t,e){t.exports=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}},LOMR:function(t,e,n){"use strict";var a=n("8Y7J"),r=n("Fwy9"),o=n("gk6K"),i=n("woSy"),s=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function c(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"div",[["class","node-drop-slot"]],null,[[null,"treeDrop"],[null,"drop"]],(function(t,e,n){var r=!0,o=t.component;return"drop"===e&&(r=!1!==a["ɵnov"](t,1).onDrop(n)&&r),"treeDrop"===e&&(r=!1!==o.onDrop(n)&&r),r}),null,null)),a["ɵdid"](1,4341760,null,0,r.a,[a.ElementRef,a.Renderer2,o.a,a.NgZone],{allowDragoverStyling:[0,"allowDragoverStyling"],treeAllowDrop:[1,"treeAllowDrop"]},{onDropCallback:"treeDrop"})],(function(t,e){var n=e.component;t(e,1,0,!0,n.allowDrop.bind(n))}),null)}var l=n("SVse"),d=n("CoVI"),u=n("uNpg"),g=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function f(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,null,null,null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,0,"input",[["class","tree-node-checkbox"],["type","checkbox"]],[[8,"checked",0],[8,"indeterminate",0]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.node.mouseAction("checkboxClick",n)&&a),a}),null,null))],null,(function(t,e){var n=e.component;t(e,1,0,n.node.isSelected,n.node.isPartiallySelected)}))}function p(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,2,null,f)),a["ɵdid"](1,212992,null,0,d.a,[a.TemplateRef,a.ViewContainerRef],{treeMobxAutorun:[0,"treeMobxAutorun"]},null),a["ɵpod"](2,{dontDetach:0})],(function(t,e){var n=t(e,2,0,!0);t(e,1,0,n)}),null)}var m=n("jV1L"),h=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function b(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"span",[["class","toggle-children-wrapper"]],[[2,"toggle-children-wrapper-expanded",null],[2,"toggle-children-wrapper-collapsed",null]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.node.mouseAction("expanderClick",n)&&a),a}),null,null)),(t()(),a["ɵeld"](1,0,null,null,0,"span",[["class","toggle-children"]],null,null,null,null,null))],null,(function(t,e){var n=e.component;t(e,0,0,n.node.isExpanded,n.node.isCollapsed)}))}function y(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,0,"span",[["class","toggle-children-placeholder"]],null,null,null,null,null))],null,null)}function _(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,4,null,null,null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,b)),a["ɵdid"](2,16384,null,0,l.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,y)),a["ɵdid"](4,16384,null,0,l.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](0,null,null,0))],(function(t,e){var n=e.component;t(e,2,0,n.node.hasChildren),t(e,4,0,!n.node.hasChildren)}),null)}function O(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,2,null,_)),a["ɵdid"](1,212992,null,0,d.a,[a.TemplateRef,a.ViewContainerRef],{treeMobxAutorun:[0,"treeMobxAutorun"]},null),a["ɵpod"](2,{dontDetach:0})],(function(t,e){var n=t(e,2,0,!0);t(e,1,0,n)}),null)}var v=n("C523"),C=n("rZud"),P=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function M(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),a["ɵted"](1,null,["",""]))],null,(function(t,e){t(e,1,0,e.component.node.displayField)}))}function x(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,1,null,M)),a["ɵdid"](1,16384,null,0,l.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵeld"](2,16777216,null,null,2,null,null,null,null,null,null,null)),a["ɵdid"](3,540672,null,0,l.NgTemplateOutlet,[a.ViewContainerRef],{ngTemplateOutletContext:[0,"ngTemplateOutletContext"],ngTemplateOutlet:[1,"ngTemplateOutlet"]},null),a["ɵpod"](4,{$implicit:0,node:1,index:2})],(function(t,e){var n=e.component;t(e,1,0,!n.template);var a=t(e,4,0,n.node,n.node,n.index);t(e,3,0,a,n.template)}),null)}var w=n("OIDT"),T=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function S(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"tree-node-checkbox",[],null,null,null,p,g)),a["ɵdid"](1,49152,null,0,u.a,[],{node:[0,"node"]},null)],(function(t,e){t(e,1,0,e.component.node)}),null)}function k(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,9,"div",[["class","node-wrapper"]],[[4,"padding-left",null]],null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,S)),a["ɵdid"](2,16384,null,0,l.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵeld"](3,0,null,null,1,"tree-node-expander",[],null,null,null,O,h)),a["ɵdid"](4,49152,null,0,m.a,[],{node:[0,"node"]},null),(t()(),a["ɵeld"](5,0,null,null,4,"div",[["class","node-content-wrapper"]],[[2,"node-content-wrapper-active",null],[2,"node-content-wrapper-focused",null]],[[null,"click"],[null,"dblclick"],[null,"mouseover"],[null,"mouseout"],[null,"contextmenu"],[null,"treeDrop"],[null,"treeDropDragOver"],[null,"treeDropDragLeave"],[null,"treeDropDragEnter"],[null,"drop"],[null,"dragstart"],[null,"dragend"]],(function(t,e,n){var r=!0,o=t.component;return"drop"===e&&(r=!1!==a["ɵnov"](t,6).onDrop(n)&&r),"dragstart"===e&&(r=!1!==a["ɵnov"](t,7).onDragStart(n)&&r),"dragend"===e&&(r=!1!==a["ɵnov"](t,7).onDragEnd()&&r),"click"===e&&(r=!1!==o.node.mouseAction("click",n)&&r),"dblclick"===e&&(r=!1!==o.node.mouseAction("dblClick",n)&&r),"mouseover"===e&&(r=!1!==o.node.mouseAction("mouseOver",n)&&r),"mouseout"===e&&(r=!1!==o.node.mouseAction("mouseOut",n)&&r),"contextmenu"===e&&(r=!1!==o.node.mouseAction("contextMenu",n)&&r),"treeDrop"===e&&(r=!1!==o.node.onDrop(n)&&r),"treeDropDragOver"===e&&(r=!1!==o.node.mouseAction("dragOver",n)&&r),"treeDropDragLeave"===e&&(r=!1!==o.node.mouseAction("dragLeave",n)&&r),"treeDropDragEnter"===e&&(r=!1!==o.node.mouseAction("dragEnter",n)&&r),r}),null,null)),a["ɵdid"](6,4341760,null,0,r.a,[a.ElementRef,a.Renderer2,o.a,a.NgZone],{allowDragoverStyling:[0,"allowDragoverStyling"],treeAllowDrop:[1,"treeAllowDrop"]},{onDropCallback:"treeDrop",onDragOverCallback:"treeDropDragOver",onDragLeaveCallback:"treeDropDragLeave",onDragEnterCallback:"treeDropDragEnter"}),a["ɵdid"](7,4603904,null,0,v.a,[a.ElementRef,a.Renderer2,o.a,a.NgZone],{draggedElement:[0,"draggedElement"],treeDragEnabled:[1,"treeDragEnabled"]},null),(t()(),a["ɵeld"](8,0,null,null,1,"tree-node-content",[],null,null,null,x,P)),a["ɵdid"](9,49152,null,0,C.a,[],{node:[0,"node"],index:[1,"index"],template:[2,"template"]},null)],(function(t,e){var n=e.component;t(e,2,0,n.node.options.useCheckbox),t(e,4,0,n.node),t(e,6,0,n.node.allowDragoverStyling(),n.node.allowDrop),t(e,7,0,n.node,n.node.allowDrag()),t(e,9,0,n.node,n.index,n.templates.treeNodeTemplate)}),(function(t,e){var n=e.component;t(e,0,0,n.node.getNodePadding()),t(e,5,0,n.node.isActive,n.node.isFocused)}))}function I(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,1,null,k)),a["ɵdid"](1,16384,null,0,l.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵeld"](2,16777216,null,null,2,null,null,null,null,null,null,null)),a["ɵdid"](3,540672,null,0,l.NgTemplateOutlet,[a.ViewContainerRef],{ngTemplateOutletContext:[0,"ngTemplateOutletContext"],ngTemplateOutlet:[1,"ngTemplateOutlet"]},null),a["ɵpod"](4,{$implicit:0,node:1,index:2,templates:3})],(function(t,e){var n=e.component;t(e,1,0,!n.templates.treeNodeWrapperTemplate);var a=t(e,4,0,n.node,n.node,n.index,n.templates);t(e,3,0,a,n.templates.treeNodeWrapperTemplate)}),null)}var N=n("WaXT"),R=n("ZhuC"),A=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function E(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["loading..."]))],null,null)}function D(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,1,null,E)),a["ɵdid"](1,16384,null,0,l.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵeld"](2,16777216,null,null,2,null,null,null,null,null,null,null)),a["ɵdid"](3,540672,null,0,l.NgTemplateOutlet,[a.ViewContainerRef],{ngTemplateOutletContext:[0,"ngTemplateOutletContext"],ngTemplateOutlet:[1,"ngTemplateOutlet"]},null),a["ɵpod"](4,{$implicit:0})],(function(t,e){var n=e.component;t(e,1,0,!n.template);var a=t(e,4,0,n.node);t(e,3,0,a,n.template)}),null)}var L=n("4Dmd"),q=n("pcHL"),j=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function F(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"tree-node-collection",[],null,null,null,Q,Z)),a["ɵdid"](1,245760,null,0,N.a,[],{nodes:[0,"nodes"],treeModel:[1,"treeModel"],templates:[2,"templates"]},null)],(function(t,e){var n=e.component;t(e,1,0,n.node.children,n.node.treeModel,n.templates)}),null)}function z(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"tree-loading-component",[["class","tree-node-loading"]],[[4,"padding-left",null]],null,null,D,A)),a["ɵdid"](1,49152,null,0,R.a,[],{template:[0,"template"],node:[1,"node"]},null)],(function(t,e){var n=e.component;t(e,1,0,n.templates.loadingTemplate,n.node)}),(function(t,e){t(e,0,0,e.component.node.getNodePadding())}))}function G(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,4,"div",[],[[2,"tree-children",null],[2,"tree-children-no-padding",null]],null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,F)),a["ɵdid"](2,16384,null,0,l.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,z)),a["ɵdid"](4,16384,null,0,l.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,2,0,n.node.children),t(e,4,0,!n.node.children)}),(function(t,e){t(e,0,0,!0,e.component.node.options.levelPadding)}))}function B(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,null,null,null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,G)),a["ɵdid"](2,16384,null,0,L.a,[a.Renderer2,a.TemplateRef,a.ViewContainerRef],{animateSpeed:[0,"animateSpeed"],animateAcceleration:[1,"animateAcceleration"],isEnabled:[2,"isEnabled"],isOpen:[3,"isOpen"]},null),(t()(),a["ɵand"](0,null,null,0))],(function(t,e){var n=e.component;t(e,2,0,n.node.options.animateSpeed,n.node.options.animateAcceleration,n.node.options.animateExpand,n.node.isExpanded)}),null)}function V(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,2,null,B)),a["ɵdid"](1,212992,null,0,d.a,[a.TemplateRef,a.ViewContainerRef],{treeMobxAutorun:[0,"treeMobxAutorun"]},null),a["ɵpod"](2,{dontDetach:0})],(function(t,e){var n=t(e,2,0,!0);t(e,1,0,n)}),null)}var Y=n("TNUL"),H=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function U(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"tree-node-drop-slot",[],null,null,null,c,s)),a["ɵdid"](1,49152,null,0,i.a,[],{node:[0,"node"],dropIndex:[1,"dropIndex"]},null)],(function(t,e){var n=e.component;t(e,1,0,n.node.parent,n.node.index)}),null)}function W(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,8,"div",[],[[8,"className",0],[2,"tree-node",null],[2,"tree-node-expanded",null],[2,"tree-node-collapsed",null],[2,"tree-node-leaf",null],[2,"tree-node-active",null],[2,"tree-node-focused",null]],null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,U)),a["ɵdid"](2,16384,null,0,l.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵeld"](3,0,null,null,1,"tree-node-wrapper",[],null,null,null,I,T)),a["ɵdid"](4,49152,null,0,w.a,[],{node:[0,"node"],index:[1,"index"],templates:[2,"templates"]},null),(t()(),a["ɵeld"](5,0,null,null,1,"tree-node-children",[],null,null,null,V,j)),a["ɵdid"](6,49152,null,0,q.a,[],{node:[0,"node"],templates:[1,"templates"]},null),(t()(),a["ɵeld"](7,0,null,null,1,"tree-node-drop-slot",[],null,null,null,c,s)),a["ɵdid"](8,49152,null,0,i.a,[],{node:[0,"node"],dropIndex:[1,"dropIndex"]},null)],(function(t,e){var n=e.component;t(e,2,0,0===n.index),t(e,4,0,n.node,n.index,n.templates),t(e,6,0,n.node,n.templates),t(e,8,0,n.node.parent,n.node.index+1)}),(function(t,e){var n=e.component;t(e,0,0,n.node.getClass(),!0,n.node.isExpanded&&n.node.hasChildren,n.node.isCollapsed&&n.node.hasChildren,n.node.isLeaf,n.node.isActive,n.node.isFocused)}))}function K(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,5,null,null,null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,W)),a["ɵdid"](2,16384,null,0,l.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵeld"](3,16777216,null,null,2,null,null,null,null,null,null,null)),a["ɵdid"](4,540672,null,0,l.NgTemplateOutlet,[a.ViewContainerRef],{ngTemplateOutletContext:[0,"ngTemplateOutletContext"],ngTemplateOutlet:[1,"ngTemplateOutlet"]},null),a["ɵpod"](5,{$implicit:0,node:1,index:2,templates:3}),(t()(),a["ɵand"](0,null,null,0))],(function(t,e){var n=e.component;t(e,2,0,!n.templates.treeNodeFullTemplate);var a=t(e,5,0,n.node,n.node,n.index,n.templates);t(e,4,0,a,n.templates.treeNodeFullTemplate)}),null)}function $(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,2,null,K)),a["ɵdid"](1,212992,null,0,d.a,[a.TemplateRef,a.ViewContainerRef],{treeMobxAutorun:[0,"treeMobxAutorun"]},null),a["ɵpod"](2,{dontDetach:0})],(function(t,e){var n=t(e,2,0,!0);t(e,1,0,n)}),null)}var Z=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function J(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"tree-node",[],null,null,null,$,H)),a["ɵdid"](1,49152,null,0,Y.a,[],{node:[0,"node"],index:[1,"index"],templates:[2,"templates"]},null)],(function(t,e){t(e,1,0,e.context.$implicit,e.context.index,e.component.templates)}),null)}function X(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,null,null,null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,2,"div",[],[[4,"margin-top",null]],null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,J)),a["ɵdid"](3,278528,null,0,l.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"],ngForTrackBy:[1,"ngForTrackBy"]},null)],(function(t,e){var n=e.component;t(e,3,0,n.viewportNodes,n.trackNode)}),(function(t,e){t(e,1,0,e.component.marginTop)}))}function Q(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,2,null,X)),a["ɵdid"](1,212992,null,0,d.a,[a.TemplateRef,a.ViewContainerRef],{treeMobxAutorun:[0,"treeMobxAutorun"]},null),a["ɵpod"](2,{dontDetach:0})],(function(t,e){var n=t(e,2,0,!0);t(e,1,0,n)}),null)}var tt=n("dApe"),et=n("MP8s"),nt=n("HIU9"),at=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function rt(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,null,null,null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,1,"div",[],[[4,"height",null]],null,null,null,null)),a["ɵncd"](null,0)],null,(function(t,e){t(e,1,0,e.component.getTotalHeight())}))}function ot(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,2,null,rt)),a["ɵdid"](1,212992,null,0,d.a,[a.TemplateRef,a.ViewContainerRef],{treeMobxAutorun:[0,"treeMobxAutorun"]},null),a["ɵpod"](2,{dontDetach:0})],(function(t,e){var n=t(e,2,0,!0);t(e,1,0,n)}),null)}n("fxL3"),n.d(e,"a",(function(){return it})),n.d(e,"b",(function(){return lt}));var it=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function st(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"tree-node-collection",[],null,null,null,Q,Z)),a["ɵdid"](1,245760,null,0,N.a,[],{nodes:[0,"nodes"],treeModel:[1,"treeModel"],templates:[2,"templates"]},null),a["ɵpod"](2,{loadingTemplate:0,treeNodeTemplate:1,treeNodeWrapperTemplate:2,treeNodeFullTemplate:3})],(function(t,e){var n=e.component,a=n.treeModel.roots,r=n.treeModel,o=t(e,2,0,n.loadingTemplate,n.treeNodeTemplate,n.treeNodeWrapperTemplate,n.treeNodeFullTemplate);t(e,1,0,a,r,o)}),null)}function ct(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"tree-node-drop-slot",[["class","empty-tree-drop-slot"]],null,null,null,c,s)),a["ɵdid"](1,49152,null,0,i.a,[],{node:[0,"node"],dropIndex:[1,"dropIndex"]},null)],(function(t,e){t(e,1,0,e.component.treeModel.virtualRoot,0)}),null)}function lt(t){return a["ɵvid"](0,[a["ɵqud"](671088640,1,{viewportComponent:0}),(t()(),a["ɵeld"](1,0,null,null,7,"tree-viewport",[],null,null,null,ot,at)),a["ɵprd"](512,null,tt.a,tt.a,[et.a]),a["ɵdid"](3,4440064,[[1,4],["viewport",4]],0,nt.a,[a.ElementRef,a.NgZone,tt.a],null,null),(t()(),a["ɵeld"](4,0,null,0,4,"div",[["class","angular-tree-component"]],[[2,"node-dragging",null],[2,"angular-tree-component-rtl",null]],null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,st)),a["ɵdid"](6,16384,null,0,l.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,ct)),a["ɵdid"](8,16384,null,0,l.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,3,0),t(e,6,0,n.treeModel.roots),t(e,8,0,n.treeModel.isEmptyTree())}),(function(t,e){var n=e.component;t(e,4,0,n.treeDraggedElement.isDragging(),n.treeModel.options.rtl)}))}},LQDL:function(t,e,n){var a,r,o=n("2oRo"),i=n("NC/Y"),s=o.process,c=s&&s.versions,l=c&&c.v8;l?r=(a=l.split("."))[0]+a[1]:i&&(!(a=i.match(/Edge\/(\d+)/))||a[1]>=74)&&(a=i.match(/Chrome\/(\d+)/))&&(r=a[1]),t.exports=r&&+r},LRne:function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var a=n("z+Ro"),r=n("yCtX"),o=n("jZKg");function i(...t){let e=t[t.length-1];return Object(a.a)(e)?(t.pop(),Object(o.a)(t,e)):Object(r.a)(t)}},LXxW:function(t,e){t.exports=function(t,e){for(var n=-1,a=null==t?0:t.length,r=0,o=[];++n<a;){var i=t[n];e(i,n,t)&&(o[r++]=i)}return o}},LceX:function(t,e,n){"use strict";n.d(e,"a",(function(){return r})),n.d(e,"b",(function(){return u})),n.d(e,"c",(function(){return o})),n.d(e,"d",(function(){return i})),n.d(e,"e",(function(){return s})),n.d(e,"f",(function(){return c})),n.d(e,"g",(function(){return l})),n.d(e,"h",(function(){return d}));var a=n("sne2");n("eTJe"),n("n/D3"),n("V3my"),n("ZEkX");class r{}const o={breadcrumbs:"Users"},i={breadcrumbs:a.a.CREATE},s={breadcrumbs:a.a.EDIT},c={breadcrumbs:"Roles"},l={breadcrumbs:a.a.CREATE},d={breadcrumbs:a.a.EDIT};class u{}},LcsW:function(t,e,n){var a=n("kekF")(Object.getPrototypeOf,Object);t.exports=a},Lhse:function(t,e,n){"use strict";function a(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}n.d(e,"a",(function(){return r}));const r=a()},Loxo:function(t,e,n){!function(t){"use strict";t.defineLocale("uz",{months:"январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр".split("_"),monthsShort:"янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек".split("_"),weekdays:"Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба".split("_"),weekdaysShort:"Якш_Душ_Сеш_Чор_Пай_Жум_Шан".split("_"),weekdaysMin:"Як_Ду_Се_Чо_Па_Жу_Ша".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Бугун соат] LT [да]",nextDay:"[Эртага] LT [да]",nextWeek:"dddd [куни соат] LT [да]",lastDay:"[Кеча соат] LT [да]",lastWeek:"[Утган] dddd [куни соат] LT [да]",sameElse:"L"},relativeTime:{future:"Якин %s ичида",past:"Бир неча %s олдин",s:"фурсат",ss:"%d фурсат",m:"бир дакика",mm:"%d дакика",h:"бир соат",hh:"%d соат",d:"бир кун",dd:"%d кун",M:"бир ой",MM:"%d ой",y:"бир йил",yy:"%d йил"},week:{dow:1,doy:7}})}(n("wd/R"))},LqlI:function(t,e,n){"use strict";n.d(e,"a",(function(){return s})),n.d(e,"b",(function(){return g})),n.d(e,"c",(function(){return u})),n.d(e,"d",(function(){return d})),n.d(e,"e",(function(){return f})),n.d(e,"f",(function(){return c}));var a=n("8Y7J"),r=n("hpHm"),o=n("z/SZ"),i=n("2uy1");class s{constructor(){this.hide=Function,this.setClass=Function}}class c{}const l={backdrop:!0,keyboard:!0,focus:!0,show:!1,ignoreBackdropClick:!1,class:"",animated:!0,initialState:{}};class d{constructor(t,e,n){this._element=e,this._renderer=n,this.isShown=!1,this.isModalHiding=!1,this.config=Object.assign({},t)}ngOnInit(){this.isAnimated&&this._renderer.addClass(this._element.nativeElement,"fade"),this._renderer.setStyle(this._element.nativeElement,"display","block"),setTimeout(()=>{this.isShown=!0,this._renderer.addClass(this._element.nativeElement,Object(r.d)()?"in":"show")},this.isAnimated?150:0),document&&document.body&&(1===this.bsModalService.getModalsCount()&&(this.bsModalService.checkScrollbar(),this.bsModalService.setScrollbar()),this._renderer.addClass(document.body,"modal-open")),this._element.nativeElement&&this._element.nativeElement.focus()}onClick(t){this.config.ignoreBackdropClick||"static"===this.config.backdrop||t.target!==this._element.nativeElement||(this.bsModalService.setDismissReason("backdrop-click"),this.hide())}onEsc(t){this.isShown&&(27!==t.keyCode&&"Escape"!==t.key||t.preventDefault(),this.config.keyboard&&this.level===this.bsModalService.getModalsCount()&&(this.bsModalService.setDismissReason("esc"),this.hide()))}ngOnDestroy(){this.isShown&&this.hide()}hide(){!this.isModalHiding&&this.isShown&&(this.isModalHiding=!0,this._renderer.removeClass(this._element.nativeElement,Object(r.d)()?"in":"show"),setTimeout(()=>{this.isShown=!1,document&&document.body&&1===this.bsModalService.getModalsCount()&&this._renderer.removeClass(document.body,"modal-open"),this.bsModalService.hide(this.level),this.isModalHiding=!1},this.isAnimated?300:0))}}class u{constructor(t,e){this._isShown=!1,this.element=t,this.renderer=e}get isAnimated(){return this._isAnimated}set isAnimated(t){this._isAnimated=t}get isShown(){return this._isShown}set isShown(t){this._isShown=t,t?this.renderer.addClass(this.element.nativeElement,"in"):this.renderer.removeClass(this.element.nativeElement,"in"),Object(r.d)()||(t?this.renderer.addClass(this.element.nativeElement,"show"):this.renderer.removeClass(this.element.nativeElement,"show"))}ngOnInit(){this.isAnimated&&(this.renderer.addClass(this.element.nativeElement,"fade"),r.b.reflow(this.element.nativeElement)),this.isShown=!0}}class g{constructor(t,e){this.clf=e,this.config=l,this.onShow=new a.EventEmitter,this.onShown=new a.EventEmitter,this.onHide=new a.EventEmitter,this.onHidden=new a.EventEmitter,this.isBodyOverflowing=!1,this.originalBodyPadding=0,this.scrollbarWidth=0,this.modalsCount=0,this.lastDismissReason="",this.loaders=[],this._backdropLoader=this.clf.createLoader(null,null,null),this._renderer=t.createRenderer(null,null)}show(t,e){return this.modalsCount++,this._createLoaders(),this.config=Object.assign({},l,e),this._showBackdrop(),this.lastDismissReason=null,this._showModal(t)}hide(t){1===this.modalsCount&&(this._hideBackdrop(),this.resetScrollbar()),this.modalsCount=this.modalsCount>=1?this.modalsCount-1:0,setTimeout(()=>{this._hideModal(t),this.removeLoaders(t)},this.config.animated?150:0)}_showBackdrop(){const t=this.config.backdrop||"static"===this.config.backdrop,e=!this.backdropRef||!this.backdropRef.instance.isShown;1===this.modalsCount&&(this.removeBackdrop(),t&&e&&(this._backdropLoader.attach(u).to("body").show({isAnimated:this.config.animated}),this.backdropRef=this._backdropLoader._componentRef))}_hideBackdrop(){this.backdropRef&&(this.backdropRef.instance.isShown=!1,setTimeout(()=>this.removeBackdrop(),this.config.animated?150:0))}_showModal(t){const e=this.loaders[this.loaders.length-1],n=new s,a=e.provide({provide:c,useValue:this.config}).provide({provide:s,useValue:n}).attach(d).to("body").show({content:t,isAnimated:this.config.animated,initialState:this.config.initialState,bsModalService:this});return a.instance.level=this.getModalsCount(),n.hide=()=>{a.instance.hide()},n.content=e.getInnerComponent()||null,n.setClass=t=>{a.instance.config.class=t},n}_hideModal(t){const e=this.loaders[t-1];e&&e.hide()}getModalsCount(){return this.modalsCount}setDismissReason(t){this.lastDismissReason=t}removeBackdrop(){this._backdropLoader.hide(),this.backdropRef=null}checkScrollbar(){this.isBodyOverflowing=document.body.clientWidth<window.innerWidth,this.scrollbarWidth=this.getScrollbarWidth()}setScrollbar(){document&&(this.originalBodyPadding=parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right")||"0",10),this.isBodyOverflowing&&(document.body.style.paddingRight=`${this.originalBodyPadding+this.scrollbarWidth}px`))}resetScrollbar(){document.body.style.paddingRight=`${this.originalBodyPadding}px`}getScrollbarWidth(){const t=this._renderer.createElement("div");this._renderer.addClass(t,"modal-scrollbar-measure"),this._renderer.appendChild(document.body,t);const e=t.offsetWidth-t.clientWidth;return this._renderer.removeChild(document.body,t),e}_createLoaders(){const t=this.clf.createLoader(null,null,null);this.copyEvent(t.onBeforeShow,this.onShow),this.copyEvent(t.onShown,this.onShown),this.copyEvent(t.onBeforeHide,this.onHide),this.copyEvent(t.onHidden,this.onHidden),this.loaders.push(t)}removeLoaders(t){this.loaders.splice(t-1,1),this.loaders.forEach((t,e)=>{t.instance.level=e+1})}copyEvent(t,e){t.subscribe(()=>{e.emit(this.lastDismissReason)})}}class f{static forRoot(){return{ngModule:f,providers:[g,o.a,i.a]}}}},LsHQ:function(t,e,n){var a=n("EA7m"),r=n("mv/X");t.exports=function(t){return a((function(e,n){var a=-1,o=n.length,i=o>1?n[o-1]:void 0,s=o>2?n[2]:void 0;for(i=t.length>3&&"function"==typeof i?(o--,i):void 0,s&&r(n[0],n[1],s)&&(i=o<3?void 0:i,o=1),e=Object(e);++a<o;){var c=n[a];c&&t(e,c,a,i)}return e}))}},LvDl:function(t,e,n){(function(t){var a;(function(){var r="Expected a function",o="__lodash_placeholder__",i=[["ary",128],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",32],["partialRight",64],["rearg",256]],s="[object Arguments]",c="[object Array]",l="[object Boolean]",d="[object Date]",u="[object Error]",g="[object Function]",f="[object GeneratorFunction]",p="[object Map]",m="[object Number]",h="[object Object]",b="[object RegExp]",y="[object Set]",_="[object String]",O="[object Symbol]",v="[object WeakMap]",C="[object ArrayBuffer]",P="[object DataView]",M="[object Float32Array]",x="[object Float64Array]",w="[object Int8Array]",T="[object Int16Array]",S="[object Int32Array]",k="[object Uint8Array]",I="[object Uint16Array]",N="[object Uint32Array]",R=/\b__p \+= '';/g,A=/\b(__p \+=) '' \+/g,E=/(__e\(.*?\)|\b__t\)) \+\n'';/g,D=/&(?:amp|lt|gt|quot|#39);/g,L=/[&<>"']/g,q=RegExp(D.source),j=RegExp(L.source),F=/<%-([\s\S]+?)%>/g,z=/<%([\s\S]+?)%>/g,G=/<%=([\s\S]+?)%>/g,B=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,V=/^\w*$/,Y=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,H=/[\\^$.*+?()[\]{}|]/g,U=RegExp(H.source),W=/^\s+|\s+$/g,K=/^\s+/,$=/\s+$/,Z=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,J=/\{\n\/\* \[wrapped with (.+)\] \*/,X=/,? & /,Q=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,tt=/\\(\\)?/g,et=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,nt=/\w*$/,at=/^[-+]0x[0-9a-f]+$/i,rt=/^0b[01]+$/i,ot=/^\[object .+?Constructor\]$/,it=/^0o[0-7]+$/i,st=/^(?:0|[1-9]\d*)$/,ct=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,lt=/($^)/,dt=/['\n\r\u2028\u2029\\]/g,ut="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",gt="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",ft="["+gt+"]",pt="["+ut+"]",mt="\\d+",ht="[a-z\\xdf-\\xf6\\xf8-\\xff]",bt="[^\\ud800-\\udfff"+gt+mt+"\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",yt="\\ud83c[\\udffb-\\udfff]",_t="[^\\ud800-\\udfff]",Ot="(?:\\ud83c[\\udde6-\\uddff]){2}",vt="[\\ud800-\\udbff][\\udc00-\\udfff]",Ct="[A-Z\\xc0-\\xd6\\xd8-\\xde]",Pt="(?:"+ht+"|"+bt+")",Mt="(?:"+Ct+"|"+bt+")",xt="(?:"+pt+"|"+yt+")?",wt="[\\ufe0e\\ufe0f]?"+xt+"(?:\\u200d(?:"+[_t,Ot,vt].join("|")+")[\\ufe0e\\ufe0f]?"+xt+")*",Tt="(?:"+["[\\u2700-\\u27bf]",Ot,vt].join("|")+")"+wt,St="(?:"+[_t+pt+"?",pt,Ot,vt,"[\\ud800-\\udfff]"].join("|")+")",kt=RegExp("['’]","g"),It=RegExp(pt,"g"),Nt=RegExp(yt+"(?="+yt+")|"+St+wt,"g"),Rt=RegExp([Ct+"?"+ht+"+(?:['’](?:d|ll|m|re|s|t|ve))?(?="+[ft,Ct,"$"].join("|")+")",Mt+"+(?:['’](?:D|LL|M|RE|S|T|VE))?(?="+[ft,Ct+Pt,"$"].join("|")+")",Ct+"?"+Pt+"+(?:['’](?:d|ll|m|re|s|t|ve))?",Ct+"+(?:['’](?:D|LL|M|RE|S|T|VE))?","\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",mt,Tt].join("|"),"g"),At=RegExp("[\\u200d\\ud800-\\udfff"+ut+"\\ufe0e\\ufe0f]"),Et=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Dt=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Lt=-1,qt={};qt[M]=qt[x]=qt[w]=qt[T]=qt[S]=qt[k]=qt["[object Uint8ClampedArray]"]=qt[I]=qt[N]=!0,qt[s]=qt[c]=qt[C]=qt[l]=qt[P]=qt[d]=qt[u]=qt[g]=qt[p]=qt[m]=qt[h]=qt[b]=qt[y]=qt[_]=qt[v]=!1;var jt={};jt[s]=jt[c]=jt[C]=jt[P]=jt[l]=jt[d]=jt[M]=jt[x]=jt[w]=jt[T]=jt[S]=jt[p]=jt[m]=jt[h]=jt[b]=jt[y]=jt[_]=jt[O]=jt[k]=jt["[object Uint8ClampedArray]"]=jt[I]=jt[N]=!0,jt[u]=jt[g]=jt[v]=!1;var Ft={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},zt=parseFloat,Gt=parseInt,Bt="object"==typeof global&&global&&global.Object===Object&&global,Vt="object"==typeof self&&self&&self.Object===Object&&self,Yt=Bt||Vt||Function("return this")(),Ht=e&&!e.nodeType&&e,Ut=Ht&&"object"==typeof t&&t&&!t.nodeType&&t,Wt=Ut&&Ut.exports===Ht,Kt=Wt&&Bt.process,$t=function(){try{return Ut&&Ut.require&&Ut.require("util").types||Kt&&Kt.binding&&Kt.binding("util")}catch(t){}}(),Zt=$t&&$t.isArrayBuffer,Jt=$t&&$t.isDate,Xt=$t&&$t.isMap,Qt=$t&&$t.isRegExp,te=$t&&$t.isSet,ee=$t&&$t.isTypedArray;function ne(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function ae(t,e,n,a){for(var r=-1,o=null==t?0:t.length;++r<o;){var i=t[r];e(a,i,n(i),t)}return a}function re(t,e){for(var n=-1,a=null==t?0:t.length;++n<a&&!1!==e(t[n],n,t););return t}function oe(t,e){for(var n=null==t?0:t.length;n--&&!1!==e(t[n],n,t););return t}function ie(t,e){for(var n=-1,a=null==t?0:t.length;++n<a;)if(!e(t[n],n,t))return!1;return!0}function se(t,e){for(var n=-1,a=null==t?0:t.length,r=0,o=[];++n<a;){var i=t[n];e(i,n,t)&&(o[r++]=i)}return o}function ce(t,e){return!(null==t||!t.length)&&ye(t,e,0)>-1}function le(t,e,n){for(var a=-1,r=null==t?0:t.length;++a<r;)if(n(e,t[a]))return!0;return!1}function de(t,e){for(var n=-1,a=null==t?0:t.length,r=Array(a);++n<a;)r[n]=e(t[n],n,t);return r}function ue(t,e){for(var n=-1,a=e.length,r=t.length;++n<a;)t[r+n]=e[n];return t}function ge(t,e,n,a){var r=-1,o=null==t?0:t.length;for(a&&o&&(n=t[++r]);++r<o;)n=e(n,t[r],r,t);return n}function fe(t,e,n,a){var r=null==t?0:t.length;for(a&&r&&(n=t[--r]);r--;)n=e(n,t[r],r,t);return n}function pe(t,e){for(var n=-1,a=null==t?0:t.length;++n<a;)if(e(t[n],n,t))return!0;return!1}var me=Ce("length");function he(t,e,n){var a;return n(t,(function(t,n,r){if(e(t,n,r))return a=n,!1})),a}function be(t,e,n,a){for(var r=t.length,o=n+(a?1:-1);a?o--:++o<r;)if(e(t[o],o,t))return o;return-1}function ye(t,e,n){return e==e?function(t,e,n){for(var a=n-1,r=t.length;++a<r;)if(t[a]===e)return a;return-1}(t,e,n):be(t,Oe,n)}function _e(t,e,n,a){for(var r=n-1,o=t.length;++r<o;)if(a(t[r],e))return r;return-1}function Oe(t){return t!=t}function ve(t,e){var n=null==t?0:t.length;return n?xe(t,e)/n:NaN}function Ce(t){return function(e){return null==e?void 0:e[t]}}function Pe(t){return function(e){return null==t?void 0:t[e]}}function Me(t,e,n,a,r){return r(t,(function(t,r,o){n=a?(a=!1,t):e(n,t,r,o)})),n}function xe(t,e){for(var n,a=-1,r=t.length;++a<r;){var o=e(t[a]);void 0!==o&&(n=void 0===n?o:n+o)}return n}function we(t,e){for(var n=-1,a=Array(t);++n<t;)a[n]=e(n);return a}function Te(t){return function(e){return t(e)}}function Se(t,e){return de(e,(function(e){return t[e]}))}function ke(t,e){return t.has(e)}function Ie(t,e){for(var n=-1,a=t.length;++n<a&&ye(e,t[n],0)>-1;);return n}function Ne(t,e){for(var n=t.length;n--&&ye(e,t[n],0)>-1;);return n}function Re(t,e){for(var n=t.length,a=0;n--;)t[n]===e&&++a;return a}var Ae=Pe({"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"}),Ee=Pe({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"});function De(t){return"\\"+Ft[t]}function Le(t){return At.test(t)}function qe(t){var e=-1,n=Array(t.size);return t.forEach((function(t,a){n[++e]=[a,t]})),n}function je(t,e){return function(n){return t(e(n))}}function Fe(t,e){for(var n=-1,a=t.length,r=0,i=[];++n<a;){var s=t[n];s!==e&&s!==o||(t[n]=o,i[r++]=n)}return i}function ze(t){var e=-1,n=Array(t.size);return t.forEach((function(t){n[++e]=t})),n}function Ge(t){var e=-1,n=Array(t.size);return t.forEach((function(t){n[++e]=[t,t]})),n}function Be(t){return Le(t)?function(t){for(var e=Nt.lastIndex=0;Nt.test(t);)++e;return e}(t):me(t)}function Ve(t){return Le(t)?function(t){return t.match(Nt)||[]}(t):function(t){return t.split("")}(t)}var Ye=Pe({"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"}),He=function t(e){var n,a=(e=null==e?Yt:He.defaults(Yt.Object(),e,He.pick(Yt,Dt))).Array,ut=e.Date,gt=e.Error,ft=e.Function,pt=e.Math,mt=e.Object,ht=e.RegExp,bt=e.String,yt=e.TypeError,_t=a.prototype,Ot=mt.prototype,vt=e["__core-js_shared__"],Ct=ft.prototype.toString,Pt=Ot.hasOwnProperty,Mt=0,xt=(n=/[^.]+$/.exec(vt&&vt.keys&&vt.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",wt=Ot.toString,Tt=Ct.call(mt),St=Yt._,Nt=ht("^"+Ct.call(Pt).replace(H,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),At=Wt?e.Buffer:void 0,Ft=e.Symbol,Bt=e.Uint8Array,Vt=At?At.allocUnsafe:void 0,Ht=je(mt.getPrototypeOf,mt),Ut=mt.create,Kt=Ot.propertyIsEnumerable,$t=_t.splice,me=Ft?Ft.isConcatSpreadable:void 0,Pe=Ft?Ft.iterator:void 0,Ue=Ft?Ft.toStringTag:void 0,We=function(){try{var t=Jr(mt,"defineProperty");return t({},"",{}),t}catch(e){}}(),Ke=e.clearTimeout!==Yt.clearTimeout&&e.clearTimeout,$e=ut&&ut.now!==Yt.Date.now&&ut.now,Ze=e.setTimeout!==Yt.setTimeout&&e.setTimeout,Je=pt.ceil,Xe=pt.floor,Qe=mt.getOwnPropertySymbols,tn=At?At.isBuffer:void 0,en=e.isFinite,nn=_t.join,an=je(mt.keys,mt),rn=pt.max,on=pt.min,sn=ut.now,cn=e.parseInt,ln=pt.random,dn=_t.reverse,un=Jr(e,"DataView"),gn=Jr(e,"Map"),fn=Jr(e,"Promise"),pn=Jr(e,"Set"),mn=Jr(e,"WeakMap"),hn=Jr(mt,"create"),bn=mn&&new mn,yn={},_n=To(un),On=To(gn),vn=To(fn),Cn=To(pn),Pn=To(mn),Mn=Ft?Ft.prototype:void 0,xn=Mn?Mn.valueOf:void 0,wn=Mn?Mn.toString:void 0;function Tn(t){if(Yi(t)&&!Ai(t)&&!(t instanceof Nn)){if(t instanceof In)return t;if(Pt.call(t,"__wrapped__"))return So(t)}return new In(t)}var Sn=function(){function t(){}return function(e){if(!Vi(e))return{};if(Ut)return Ut(e);t.prototype=e;var n=new t;return t.prototype=void 0,n}}();function kn(){}function In(t,e){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!e,this.__index__=0,this.__values__=void 0}function Nn(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=4294967295,this.__views__=[]}function Rn(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var a=t[e];this.set(a[0],a[1])}}function An(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var a=t[e];this.set(a[0],a[1])}}function En(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var a=t[e];this.set(a[0],a[1])}}function Dn(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new En;++e<n;)this.add(t[e])}function Ln(t){var e=this.__data__=new An(t);this.size=e.size}function qn(t,e){var n=Ai(t),a=!n&&Ri(t),r=!n&&!a&&qi(t),o=!n&&!a&&!r&&Xi(t),i=n||a||r||o,s=i?we(t.length,bt):[],c=s.length;for(var l in t)!e&&!Pt.call(t,l)||i&&("length"==l||r&&("offset"==l||"parent"==l)||o&&("buffer"==l||"byteLength"==l||"byteOffset"==l)||ro(l,c))||s.push(l);return s}function jn(t){var e=t.length;return e?t[Ea(0,e-1)]:void 0}function Fn(t,e){return Co(mr(t),Kn(e,0,t.length))}function zn(t){return Co(mr(t))}function Gn(t,e,n){(void 0===n||ki(t[e],n))&&(void 0!==n||e in t)||Un(t,e,n)}function Bn(t,e,n){var a=t[e];Pt.call(t,e)&&ki(a,n)&&(void 0!==n||e in t)||Un(t,e,n)}function Vn(t,e){for(var n=t.length;n--;)if(ki(t[n][0],e))return n;return-1}function Yn(t,e,n,a){return Qn(t,(function(t,r,o){e(a,t,n(t),o)})),a}function Hn(t,e){return t&&hr(e,Os(e),t)}function Un(t,e,n){"__proto__"==e&&We?We(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}function Wn(t,e){for(var n=-1,r=e.length,o=a(r),i=null==t;++n<r;)o[n]=i?void 0:ms(t,e[n]);return o}function Kn(t,e,n){return t==t&&(void 0!==n&&(t=t<=n?t:n),void 0!==e&&(t=t>=e?t:e)),t}function $n(t,e,n,a,r,o){var i,c=1&e,u=2&e,v=4&e;if(n&&(i=r?n(t,a,r,o):n(t)),void 0!==i)return i;if(!Vi(t))return t;var R=Ai(t);if(R){if(i=function(t){var e=t.length,n=new t.constructor(e);return e&&"string"==typeof t[0]&&Pt.call(t,"index")&&(n.index=t.index,n.input=t.input),n}(t),!c)return mr(t,i)}else{var A=to(t),E=A==g||A==f;if(qi(t))return lr(t,c);if(A==h||A==s||E&&!r){if(i=u||E?{}:no(t),!c)return u?function(t,e){return hr(t,Qr(t),e)}(t,function(t,e){return t&&hr(e,vs(e),t)}(i,t)):function(t,e){return hr(t,Xr(t),e)}(t,Hn(i,t))}else{if(!jt[A])return r?t:{};i=function(t,e,n){var a=t.constructor;switch(e){case C:return dr(t);case l:case d:return new a(+t);case P:return function(t,e){var n=e?dr(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}(t,n);case M:case x:case w:case T:case S:case k:case"[object Uint8ClampedArray]":case I:case N:return ur(t,n);case p:return new a;case m:case _:return new a(t);case b:return function(t){var e=new t.constructor(t.source,nt.exec(t));return e.lastIndex=t.lastIndex,e}(t);case y:return new a;case O:return xn?mt(xn.call(t)):{}}}(t,A,c)}}o||(o=new Ln);var D=o.get(t);if(D)return D;o.set(t,i),$i(t)?t.forEach((function(a){i.add($n(a,e,n,a,t,o))})):Hi(t)&&t.forEach((function(a,r){i.set(r,$n(a,e,n,r,t,o))}));var L=R?void 0:(v?u?Yr:Vr:u?vs:Os)(t);return re(L||t,(function(a,r){L&&(a=t[r=a]),Bn(i,r,$n(a,e,n,r,t,o))})),i}function Zn(t,e,n){var a=n.length;if(null==t)return!a;for(t=mt(t);a--;){var r=n[a],o=t[r];if(void 0===o&&!(r in t)||!(0,e[r])(o))return!1}return!0}function Jn(t,e,n){if("function"!=typeof t)throw new yt(r);return yo((function(){t.apply(void 0,n)}),e)}function Xn(t,e,n,a){var r=-1,o=ce,i=!0,s=t.length,c=[],l=e.length;if(!s)return c;n&&(e=de(e,Te(n))),a?(o=le,i=!1):e.length>=200&&(o=ke,i=!1,e=new Dn(e));t:for(;++r<s;){var d=t[r],u=null==n?d:n(d);if(d=a||0!==d?d:0,i&&u==u){for(var g=l;g--;)if(e[g]===u)continue t;c.push(d)}else o(e,u,a)||c.push(d)}return c}Tn.templateSettings={escape:F,evaluate:z,interpolate:G,variable:"",imports:{_:Tn}},(Tn.prototype=kn.prototype).constructor=Tn,(In.prototype=Sn(kn.prototype)).constructor=In,(Nn.prototype=Sn(kn.prototype)).constructor=Nn,Rn.prototype.clear=function(){this.__data__=hn?hn(null):{},this.size=0},Rn.prototype.delete=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},Rn.prototype.get=function(t){var e=this.__data__;if(hn){var n=e[t];return"__lodash_hash_undefined__"===n?void 0:n}return Pt.call(e,t)?e[t]:void 0},Rn.prototype.has=function(t){var e=this.__data__;return hn?void 0!==e[t]:Pt.call(e,t)},Rn.prototype.set=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=hn&&void 0===e?"__lodash_hash_undefined__":e,this},An.prototype.clear=function(){this.__data__=[],this.size=0},An.prototype.delete=function(t){var e=this.__data__,n=Vn(e,t);return!(n<0||(n==e.length-1?e.pop():$t.call(e,n,1),--this.size,0))},An.prototype.get=function(t){var e=this.__data__,n=Vn(e,t);return n<0?void 0:e[n][1]},An.prototype.has=function(t){return Vn(this.__data__,t)>-1},An.prototype.set=function(t,e){var n=this.__data__,a=Vn(n,t);return a<0?(++this.size,n.push([t,e])):n[a][1]=e,this},En.prototype.clear=function(){this.size=0,this.__data__={hash:new Rn,map:new(gn||An),string:new Rn}},En.prototype.delete=function(t){var e=$r(this,t).delete(t);return this.size-=e?1:0,e},En.prototype.get=function(t){return $r(this,t).get(t)},En.prototype.has=function(t){return $r(this,t).has(t)},En.prototype.set=function(t,e){var n=$r(this,t),a=n.size;return n.set(t,e),this.size+=n.size==a?0:1,this},Dn.prototype.add=Dn.prototype.push=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},Dn.prototype.has=function(t){return this.__data__.has(t)},Ln.prototype.clear=function(){this.__data__=new An,this.size=0},Ln.prototype.delete=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n},Ln.prototype.get=function(t){return this.__data__.get(t)},Ln.prototype.has=function(t){return this.__data__.has(t)},Ln.prototype.set=function(t,e){var n=this.__data__;if(n instanceof An){var a=n.__data__;if(!gn||a.length<199)return a.push([t,e]),this.size=++n.size,this;n=this.__data__=new En(a)}return n.set(t,e),this.size=n.size,this};var Qn=_r(sa),ta=_r(ca,!0);function ea(t,e){var n=!0;return Qn(t,(function(t,a,r){return n=!!e(t,a,r)})),n}function na(t,e,n){for(var a=-1,r=t.length;++a<r;){var o=t[a],i=e(o);if(null!=i&&(void 0===s?i==i&&!Ji(i):n(i,s)))var s=i,c=o}return c}function aa(t,e){var n=[];return Qn(t,(function(t,a,r){e(t,a,r)&&n.push(t)})),n}function ra(t,e,n,a,r){var o=-1,i=t.length;for(n||(n=ao),r||(r=[]);++o<i;){var s=t[o];e>0&&n(s)?e>1?ra(s,e-1,n,a,r):ue(r,s):a||(r[r.length]=s)}return r}var oa=Or(),ia=Or(!0);function sa(t,e){return t&&oa(t,e,Os)}function ca(t,e){return t&&ia(t,e,Os)}function la(t,e){return se(e,(function(e){return zi(t[e])}))}function da(t,e){for(var n=0,a=(e=or(e,t)).length;null!=t&&n<a;)t=t[wo(e[n++])];return n&&n==a?t:void 0}function ua(t,e,n){var a=e(t);return Ai(t)?a:ue(a,n(t))}function ga(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":Ue&&Ue in mt(t)?function(t){var e=Pt.call(t,Ue),n=t[Ue];try{t[Ue]=void 0;var a=!0}catch(o){}var r=wt.call(t);return a&&(e?t[Ue]=n:delete t[Ue]),r}(t):function(t){return wt.call(t)}(t)}function fa(t,e){return t>e}function pa(t,e){return null!=t&&Pt.call(t,e)}function ma(t,e){return null!=t&&e in mt(t)}function ha(t,e,n){for(var r=n?le:ce,o=t[0].length,i=t.length,s=i,c=a(i),l=1/0,d=[];s--;){var u=t[s];s&&e&&(u=de(u,Te(e))),l=on(u.length,l),c[s]=!n&&(e||o>=120&&u.length>=120)?new Dn(s&&u):void 0}u=t[0];var g=-1,f=c[0];t:for(;++g<o&&d.length<l;){var p=u[g],m=e?e(p):p;if(p=n||0!==p?p:0,!(f?ke(f,m):r(d,m,n))){for(s=i;--s;){var h=c[s];if(!(h?ke(h,m):r(t[s],m,n)))continue t}f&&f.push(m),d.push(p)}}return d}function ba(t,e,n){var a=null==(t=po(t,e=or(e,t)))?t:t[wo(Fo(e))];return null==a?void 0:ne(a,t,n)}function ya(t){return Yi(t)&&ga(t)==s}function _a(t,e,n,a,r){return t===e||(null==t||null==e||!Yi(t)&&!Yi(e)?t!=t&&e!=e:function(t,e,n,a,r,o){var i=Ai(t),g=Ai(e),f=i?c:to(t),v=g?c:to(e),M=(f=f==s?h:f)==h,x=(v=v==s?h:v)==h,w=f==v;if(w&&qi(t)){if(!qi(e))return!1;i=!0,M=!1}if(w&&!M)return o||(o=new Ln),i||Xi(t)?Gr(t,e,n,a,r,o):function(t,e,n,a,r,o,i){switch(n){case P:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case C:return!(t.byteLength!=e.byteLength||!o(new Bt(t),new Bt(e)));case l:case d:case m:return ki(+t,+e);case u:return t.name==e.name&&t.message==e.message;case b:case _:return t==e+"";case p:var s=qe;case y:if(s||(s=ze),t.size!=e.size&&!(1&a))return!1;var c=i.get(t);if(c)return c==e;a|=2,i.set(t,e);var g=Gr(s(t),s(e),a,r,o,i);return i.delete(t),g;case O:if(xn)return xn.call(t)==xn.call(e)}return!1}(t,e,f,n,a,r,o);if(!(1&n)){var T=M&&Pt.call(t,"__wrapped__"),S=x&&Pt.call(e,"__wrapped__");if(T||S){var k=T?t.value():t,I=S?e.value():e;return o||(o=new Ln),r(k,I,n,a,o)}}return!!w&&(o||(o=new Ln),function(t,e,n,a,r,o){var i=1&n,s=Vr(t),c=s.length;if(c!=Vr(e).length&&!i)return!1;for(var l=c;l--;){var d=s[l];if(!(i?d in e:Pt.call(e,d)))return!1}var u=o.get(t);if(u&&o.get(e))return u==e;var g=!0;o.set(t,e),o.set(e,t);for(var f=i;++l<c;){var p=t[d=s[l]],m=e[d];if(a)var h=i?a(m,p,d,e,t,o):a(p,m,d,t,e,o);if(!(void 0===h?p===m||r(p,m,n,a,o):h)){g=!1;break}f||(f="constructor"==d)}if(g&&!f){var b=t.constructor,y=e.constructor;b!=y&&"constructor"in t&&"constructor"in e&&!("function"==typeof b&&b instanceof b&&"function"==typeof y&&y instanceof y)&&(g=!1)}return o.delete(t),o.delete(e),g}(t,e,n,a,r,o))}(t,e,n,a,_a,r))}function Oa(t,e,n,a){var r=n.length,o=r,i=!a;if(null==t)return!o;for(t=mt(t);r--;){var s=n[r];if(i&&s[2]?s[1]!==t[s[0]]:!(s[0]in t))return!1}for(;++r<o;){var c=(s=n[r])[0],l=t[c],d=s[1];if(i&&s[2]){if(void 0===l&&!(c in t))return!1}else{var u=new Ln;if(a)var g=a(l,d,c,t,e,u);if(!(void 0===g?_a(d,l,3,a,u):g))return!1}}return!0}function va(t){return!(!Vi(t)||(e=t,xt&&xt in e))&&(zi(t)?Nt:ot).test(To(t));var e}function Ca(t){return"function"==typeof t?t:null==t?Us:"object"==typeof t?Ai(t)?Ta(t[0],t[1]):wa(t):ec(t)}function Pa(t){if(!lo(t))return an(t);var e=[];for(var n in mt(t))Pt.call(t,n)&&"constructor"!=n&&e.push(n);return e}function Ma(t,e){return t<e}function xa(t,e){var n=-1,r=Di(t)?a(t.length):[];return Qn(t,(function(t,a,o){r[++n]=e(t,a,o)})),r}function wa(t){var e=Zr(t);return 1==e.length&&e[0][2]?go(e[0][0],e[0][1]):function(n){return n===t||Oa(n,t,e)}}function Ta(t,e){return io(t)&&uo(e)?go(wo(t),e):function(n){var a=ms(n,t);return void 0===a&&a===e?hs(n,t):_a(e,a,3)}}function Sa(t,e,n,a,r){t!==e&&oa(e,(function(o,i){if(r||(r=new Ln),Vi(o))!function(t,e,n,a,r,o,i){var s=ho(t,n),c=ho(e,n),l=i.get(c);if(l)Gn(t,n,l);else{var d=o?o(s,c,n+"",t,e,i):void 0,u=void 0===d;if(u){var g=Ai(c),f=!g&&qi(c),p=!g&&!f&&Xi(c);d=c,g||f||p?Ai(s)?d=s:Li(s)?d=mr(s):f?(u=!1,d=lr(c,!0)):p?(u=!1,d=ur(c,!0)):d=[]:Wi(c)||Ri(c)?(d=s,Ri(s)?d=is(s):Vi(s)&&!zi(s)||(d=no(c))):u=!1}u&&(i.set(c,d),r(d,c,a,o,i),i.delete(c)),Gn(t,n,d)}}(t,e,i,n,Sa,a,r);else{var s=a?a(ho(t,i),o,i+"",t,e,r):void 0;void 0===s&&(s=o),Gn(t,i,s)}}),vs)}function ka(t,e){var n=t.length;if(n)return ro(e+=e<0?n:0,n)?t[e]:void 0}function Ia(t,e,n){var a=-1;return e=de(e.length?e:[Us],Te(Kr())),function(t,e){var a=t.length;for(t.sort((function(t,e){return function(t,e,n){for(var a=-1,r=t.criteria,o=e.criteria,i=r.length,s=n.length;++a<i;){var c=gr(r[a],o[a]);if(c)return a>=s?c:c*("desc"==n[a]?-1:1)}return t.index-e.index}(t,e,n)}));a--;)t[a]=t[a].value;return t}(xa(t,(function(t,n,r){return{criteria:de(e,(function(e){return e(t)})),index:++a,value:t}})))}function Na(t,e,n){for(var a=-1,r=e.length,o={};++a<r;){var i=e[a],s=da(t,i);n(s,i)&&Fa(o,or(i,t),s)}return o}function Ra(t,e,n,a){var r=a?_e:ye,o=-1,i=e.length,s=t;for(t===e&&(e=mr(e)),n&&(s=de(t,Te(n)));++o<i;)for(var c=0,l=e[o],d=n?n(l):l;(c=r(s,d,c,a))>-1;)s!==t&&$t.call(s,c,1),$t.call(t,c,1);return t}function Aa(t,e){for(var n=t?e.length:0,a=n-1;n--;){var r=e[n];if(n==a||r!==o){var o=r;ro(r)?$t.call(t,r,1):Ja(t,r)}}return t}function Ea(t,e){return t+Xe(ln()*(e-t+1))}function Da(t,e){var n="";if(!t||e<1||e>9007199254740991)return n;do{e%2&&(n+=t),(e=Xe(e/2))&&(t+=t)}while(e);return n}function La(t,e){return _o(fo(t,e,Us),t+"")}function qa(t){return jn(ks(t))}function ja(t,e){var n=ks(t);return Co(n,Kn(e,0,n.length))}function Fa(t,e,n,a){if(!Vi(t))return t;for(var r=-1,o=(e=or(e,t)).length,i=o-1,s=t;null!=s&&++r<o;){var c=wo(e[r]),l=n;if(r!=i){var d=s[c];void 0===(l=a?a(d,c,s):void 0)&&(l=Vi(d)?d:ro(e[r+1])?[]:{})}Bn(s,c,l),s=s[c]}return t}var za=bn?function(t,e){return bn.set(t,e),t}:Us,Ga=We?function(t,e){return We(t,"toString",{configurable:!0,enumerable:!1,value:Vs(e),writable:!0})}:Us;function Ba(t){return Co(ks(t))}function Va(t,e,n){var r=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(n=n>o?o:n)<0&&(n+=o),o=e>n?0:n-e>>>0,e>>>=0;for(var i=a(o);++r<o;)i[r]=t[r+e];return i}function Ya(t,e){var n;return Qn(t,(function(t,a,r){return!(n=e(t,a,r))})),!!n}function Ha(t,e,n){var a=0,r=null==t?a:t.length;if("number"==typeof e&&e==e&&r<=2147483647){for(;a<r;){var o=a+r>>>1,i=t[o];null!==i&&!Ji(i)&&(n?i<=e:i<e)?a=o+1:r=o}return r}return Ua(t,e,Us,n)}function Ua(t,e,n,a){e=n(e);for(var r=0,o=null==t?0:t.length,i=e!=e,s=null===e,c=Ji(e),l=void 0===e;r<o;){var d=Xe((r+o)/2),u=n(t[d]),g=void 0!==u,f=null===u,p=u==u,m=Ji(u);if(i)var h=a||p;else h=l?p&&(a||g):s?p&&g&&(a||!f):c?p&&g&&!f&&(a||!m):!f&&!m&&(a?u<=e:u<e);h?r=d+1:o=d}return on(o,4294967294)}function Wa(t,e){for(var n=-1,a=t.length,r=0,o=[];++n<a;){var i=t[n],s=e?e(i):i;if(!n||!ki(s,c)){var c=s;o[r++]=0===i?0:i}}return o}function Ka(t){return"number"==typeof t?t:Ji(t)?NaN:+t}function $a(t){if("string"==typeof t)return t;if(Ai(t))return de(t,$a)+"";if(Ji(t))return wn?wn.call(t):"";var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}function Za(t,e,n){var a=-1,r=ce,o=t.length,i=!0,s=[],c=s;if(n)i=!1,r=le;else if(o>=200){var l=e?null:Dr(t);if(l)return ze(l);i=!1,r=ke,c=new Dn}else c=e?[]:s;t:for(;++a<o;){var d=t[a],u=e?e(d):d;if(d=n||0!==d?d:0,i&&u==u){for(var g=c.length;g--;)if(c[g]===u)continue t;e&&c.push(u),s.push(d)}else r(c,u,n)||(c!==s&&c.push(u),s.push(d))}return s}function Ja(t,e){return null==(t=po(t,e=or(e,t)))||delete t[wo(Fo(e))]}function Xa(t,e,n,a){return Fa(t,e,n(da(t,e)),a)}function Qa(t,e,n,a){for(var r=t.length,o=a?r:-1;(a?o--:++o<r)&&e(t[o],o,t););return n?Va(t,a?0:o,a?o+1:r):Va(t,a?o+1:0,a?r:o)}function tr(t,e){var n=t;return n instanceof Nn&&(n=n.value()),ge(e,(function(t,e){return e.func.apply(e.thisArg,ue([t],e.args))}),n)}function er(t,e,n){var r=t.length;if(r<2)return r?Za(t[0]):[];for(var o=-1,i=a(r);++o<r;)for(var s=t[o],c=-1;++c<r;)c!=o&&(i[o]=Xn(i[o]||s,t[c],e,n));return Za(ra(i,1),e,n)}function nr(t,e,n){for(var a=-1,r=t.length,o=e.length,i={};++a<r;)n(i,t[a],a<o?e[a]:void 0);return i}function ar(t){return Li(t)?t:[]}function rr(t){return"function"==typeof t?t:Us}function or(t,e){return Ai(t)?t:io(t,e)?[t]:xo(ss(t))}var ir=La;function sr(t,e,n){var a=t.length;return n=void 0===n?a:n,!e&&n>=a?t:Va(t,e,n)}var cr=Ke||function(t){return Yt.clearTimeout(t)};function lr(t,e){if(e)return t.slice();var n=t.length,a=Vt?Vt(n):new t.constructor(n);return t.copy(a),a}function dr(t){var e=new t.constructor(t.byteLength);return new Bt(e).set(new Bt(t)),e}function ur(t,e){var n=e?dr(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}function gr(t,e){if(t!==e){var n=void 0!==t,a=null===t,r=t==t,o=Ji(t),i=void 0!==e,s=null===e,c=e==e,l=Ji(e);if(!s&&!l&&!o&&t>e||o&&i&&c&&!s&&!l||a&&i&&c||!n&&c||!r)return 1;if(!a&&!o&&!l&&t<e||l&&n&&r&&!a&&!o||s&&n&&r||!i&&r||!c)return-1}return 0}function fr(t,e,n,r){for(var o=-1,i=t.length,s=n.length,c=-1,l=e.length,d=rn(i-s,0),u=a(l+d),g=!r;++c<l;)u[c]=e[c];for(;++o<s;)(g||o<i)&&(u[n[o]]=t[o]);for(;d--;)u[c++]=t[o++];return u}function pr(t,e,n,r){for(var o=-1,i=t.length,s=-1,c=n.length,l=-1,d=e.length,u=rn(i-c,0),g=a(u+d),f=!r;++o<u;)g[o]=t[o];for(var p=o;++l<d;)g[p+l]=e[l];for(;++s<c;)(f||o<i)&&(g[p+n[s]]=t[o++]);return g}function mr(t,e){var n=-1,r=t.length;for(e||(e=a(r));++n<r;)e[n]=t[n];return e}function hr(t,e,n,a){var r=!n;n||(n={});for(var o=-1,i=e.length;++o<i;){var s=e[o],c=a?a(n[s],t[s],s,n,t):void 0;void 0===c&&(c=t[s]),r?Un(n,s,c):Bn(n,s,c)}return n}function br(t,e){return function(n,a){var r=Ai(n)?ae:Yn,o=e?e():{};return r(n,t,Kr(a,2),o)}}function yr(t){return La((function(e,n){var a=-1,r=n.length,o=r>1?n[r-1]:void 0,i=r>2?n[2]:void 0;for(o=t.length>3&&"function"==typeof o?(r--,o):void 0,i&&oo(n[0],n[1],i)&&(o=r<3?void 0:o,r=1),e=mt(e);++a<r;){var s=n[a];s&&t(e,s,a,o)}return e}))}function _r(t,e){return function(n,a){if(null==n)return n;if(!Di(n))return t(n,a);for(var r=n.length,o=e?r:-1,i=mt(n);(e?o--:++o<r)&&!1!==a(i[o],o,i););return n}}function Or(t){return function(e,n,a){for(var r=-1,o=mt(e),i=a(e),s=i.length;s--;){var c=i[t?s:++r];if(!1===n(o[c],c,o))break}return e}}function vr(t){return function(e){var n=Le(e=ss(e))?Ve(e):void 0,a=n?n[0]:e.charAt(0),r=n?sr(n,1).join(""):e.slice(1);return a[t]()+r}}function Cr(t){return function(e){return ge(zs(Rs(e).replace(kt,"")),t,"")}}function Pr(t){return function(){var e=arguments;switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3]);case 5:return new t(e[0],e[1],e[2],e[3],e[4]);case 6:return new t(e[0],e[1],e[2],e[3],e[4],e[5]);case 7:return new t(e[0],e[1],e[2],e[3],e[4],e[5],e[6])}var n=Sn(t.prototype),a=t.apply(n,e);return Vi(a)?a:n}}function Mr(t){return function(e,n,a){var r=mt(e);if(!Di(e)){var o=Kr(n,3);e=Os(e),n=function(t){return o(r[t],t,r)}}var i=t(e,n,a);return i>-1?r[o?e[i]:i]:void 0}}function xr(t){return Br((function(e){var n=e.length,a=n,o=In.prototype.thru;for(t&&e.reverse();a--;){var i=e[a];if("function"!=typeof i)throw new yt(r);if(o&&!s&&"wrapper"==Ur(i))var s=new In([],!0)}for(a=s?a:n;++a<n;){var c=Ur(i=e[a]),l="wrapper"==c?Hr(i):void 0;s=l&&so(l[0])&&424==l[1]&&!l[4].length&&1==l[9]?s[Ur(l[0])].apply(s,l[3]):1==i.length&&so(i)?s[c]():s.thru(i)}return function(){var t=arguments,a=t[0];if(s&&1==t.length&&Ai(a))return s.plant(a).value();for(var r=0,o=n?e[r].apply(this,t):a;++r<n;)o=e[r].call(this,o);return o}}))}function wr(t,e,n,r,o,i,s,c,l,d){var u=128&e,g=1&e,f=2&e,p=24&e,m=512&e,h=f?void 0:Pr(t);return function b(){for(var y=arguments.length,_=a(y),O=y;O--;)_[O]=arguments[O];if(p)var v=Wr(b),C=Re(_,v);if(r&&(_=fr(_,r,o,p)),i&&(_=pr(_,i,s,p)),y-=C,p&&y<d){var P=Fe(_,v);return Ar(t,e,wr,b.placeholder,n,_,P,c,l,d-y)}var M=g?n:this,x=f?M[t]:t;return y=_.length,c?_=mo(_,c):m&&y>1&&_.reverse(),u&&l<y&&(_.length=l),this&&this!==Yt&&this instanceof b&&(x=h||Pr(x)),x.apply(M,_)}}function Tr(t,e){return function(n,a){return function(t,e,n,a){return sa(t,(function(t,r,o){e(a,n(t),r,o)})),a}(n,t,e(a),{})}}function Sr(t,e){return function(n,a){var r;if(void 0===n&&void 0===a)return e;if(void 0!==n&&(r=n),void 0!==a){if(void 0===r)return a;"string"==typeof n||"string"==typeof a?(n=$a(n),a=$a(a)):(n=Ka(n),a=Ka(a)),r=t(n,a)}return r}}function kr(t){return Br((function(e){return e=de(e,Te(Kr())),La((function(n){var a=this;return t(e,(function(t){return ne(t,a,n)}))}))}))}function Ir(t,e){var n=(e=void 0===e?" ":$a(e)).length;if(n<2)return n?Da(e,t):e;var a=Da(e,Je(t/Be(e)));return Le(e)?sr(Ve(a),0,t).join(""):a.slice(0,t)}function Nr(t){return function(e,n,r){return r&&"number"!=typeof r&&oo(e,n,r)&&(n=r=void 0),e=ns(e),void 0===n?(n=e,e=0):n=ns(n),function(t,e,n,r){for(var o=-1,i=rn(Je((e-t)/(n||1)),0),s=a(i);i--;)s[r?i:++o]=t,t+=n;return s}(e,n,r=void 0===r?e<n?1:-1:ns(r),t)}}function Rr(t){return function(e,n){return"string"==typeof e&&"string"==typeof n||(e=os(e),n=os(n)),t(e,n)}}function Ar(t,e,n,a,r,o,i,s,c,l){var d=8&e;e|=d?32:64,4&(e&=~(d?64:32))||(e&=-4);var u=[t,e,r,d?o:void 0,d?i:void 0,d?void 0:o,d?void 0:i,s,c,l],g=n.apply(void 0,u);return so(t)&&bo(g,u),g.placeholder=a,Oo(g,t,e)}function Er(t){var e=pt[t];return function(t,n){if(t=os(t),(n=null==n?0:on(as(n),292))&&en(t)){var a=(ss(t)+"e").split("e");return+((a=(ss(e(a[0]+"e"+(+a[1]+n)))+"e").split("e"))[0]+"e"+(+a[1]-n))}return e(t)}}var Dr=pn&&1/ze(new pn([,-0]))[1]==1/0?function(t){return new pn(t)}:Js;function Lr(t){return function(e){var n=to(e);return n==p?qe(e):n==y?Ge(e):function(t,e){return de(e,(function(e){return[e,t[e]]}))}(e,t(e))}}function qr(t,e,n,i,s,c,l,d){var u=2&e;if(!u&&"function"!=typeof t)throw new yt(r);var g=i?i.length:0;if(g||(e&=-97,i=s=void 0),l=void 0===l?l:rn(as(l),0),d=void 0===d?d:as(d),g-=s?s.length:0,64&e){var f=i,p=s;i=s=void 0}var m=u?void 0:Hr(t),h=[t,e,n,i,s,f,p,c,l,d];if(m&&function(t,e){var n=t[1],a=e[1],r=n|a;if(!(r<131||128==a&&8==n||128==a&&256==n&&t[7].length<=e[8]||384==a&&e[7].length<=e[8]&&8==n))return t;1&a&&(t[2]=e[2],r|=1&n?0:4);var i=e[3];if(i){var s=t[3];t[3]=s?fr(s,i,e[4]):i,t[4]=s?Fe(t[3],o):e[4]}(i=e[5])&&(t[5]=(s=t[5])?pr(s,i,e[6]):i,t[6]=s?Fe(t[5],o):e[6]),(i=e[7])&&(t[7]=i),128&a&&(t[8]=null==t[8]?e[8]:on(t[8],e[8])),null==t[9]&&(t[9]=e[9]),t[0]=e[0],t[1]=r}(h,m),t=h[0],e=h[1],n=h[2],i=h[3],s=h[4],!(d=h[9]=void 0===h[9]?u?0:t.length:rn(h[9]-g,0))&&24&e&&(e&=-25),e&&1!=e)b=8==e||16==e?function(t,e,n){var r=Pr(t);return function o(){for(var i=arguments.length,s=a(i),c=i,l=Wr(o);c--;)s[c]=arguments[c];var d=i<3&&s[0]!==l&&s[i-1]!==l?[]:Fe(s,l);if((i-=d.length)<n)return Ar(t,e,wr,o.placeholder,void 0,s,d,void 0,void 0,n-i);var u=this&&this!==Yt&&this instanceof o?r:t;return ne(u,this,s)}}(t,e,d):32!=e&&33!=e||s.length?wr.apply(void 0,h):function(t,e,n,r){var o=1&e,i=Pr(t);return function e(){for(var s=-1,c=arguments.length,l=-1,d=r.length,u=a(d+c),g=this&&this!==Yt&&this instanceof e?i:t;++l<d;)u[l]=r[l];for(;c--;)u[l++]=arguments[++s];return ne(g,o?n:this,u)}}(t,e,n,i);else var b=function(t,e,n){var a=1&e,r=Pr(t);return function e(){var o=this&&this!==Yt&&this instanceof e?r:t;return o.apply(a?n:this,arguments)}}(t,e,n);return Oo((m?za:bo)(b,h),t,e)}function jr(t,e,n,a){return void 0===t||ki(t,Ot[n])&&!Pt.call(a,n)?e:t}function Fr(t,e,n,a,r,o){return Vi(t)&&Vi(e)&&(o.set(e,t),Sa(t,e,void 0,Fr,o),o.delete(e)),t}function zr(t){return Wi(t)?void 0:t}function Gr(t,e,n,a,r,o){var i=1&n,s=t.length,c=e.length;if(s!=c&&!(i&&c>s))return!1;var l=o.get(t);if(l&&o.get(e))return l==e;var d=-1,u=!0,g=2&n?new Dn:void 0;for(o.set(t,e),o.set(e,t);++d<s;){var f=t[d],p=e[d];if(a)var m=i?a(p,f,d,e,t,o):a(f,p,d,t,e,o);if(void 0!==m){if(m)continue;u=!1;break}if(g){if(!pe(e,(function(t,e){if(!ke(g,e)&&(f===t||r(f,t,n,a,o)))return g.push(e)}))){u=!1;break}}else if(f!==p&&!r(f,p,n,a,o)){u=!1;break}}return o.delete(t),o.delete(e),u}function Br(t){return _o(fo(t,void 0,Eo),t+"")}function Vr(t){return ua(t,Os,Xr)}function Yr(t){return ua(t,vs,Qr)}var Hr=bn?function(t){return bn.get(t)}:Js;function Ur(t){for(var e=t.name+"",n=yn[e],a=Pt.call(yn,e)?n.length:0;a--;){var r=n[a],o=r.func;if(null==o||o==t)return r.name}return e}function Wr(t){return(Pt.call(Tn,"placeholder")?Tn:t).placeholder}function Kr(){var t=Tn.iteratee||Ws;return t=t===Ws?Ca:t,arguments.length?t(arguments[0],arguments[1]):t}function $r(t,e){var n,a,r=t.__data__;return("string"==(a=typeof(n=e))||"number"==a||"symbol"==a||"boolean"==a?"__proto__"!==n:null===n)?r["string"==typeof e?"string":"hash"]:r.map}function Zr(t){for(var e=Os(t),n=e.length;n--;){var a=e[n],r=t[a];e[n]=[a,r,uo(r)]}return e}function Jr(t,e){var n=function(t,e){return null==t?void 0:t[e]}(t,e);return va(n)?n:void 0}var Xr=Qe?function(t){return null==t?[]:(t=mt(t),se(Qe(t),(function(e){return Kt.call(t,e)})))}:rc,Qr=Qe?function(t){for(var e=[];t;)ue(e,Xr(t)),t=Ht(t);return e}:rc,to=ga;function eo(t,e,n){for(var a=-1,r=(e=or(e,t)).length,o=!1;++a<r;){var i=wo(e[a]);if(!(o=null!=t&&n(t,i)))break;t=t[i]}return o||++a!=r?o:!!(r=null==t?0:t.length)&&Bi(r)&&ro(i,r)&&(Ai(t)||Ri(t))}function no(t){return"function"!=typeof t.constructor||lo(t)?{}:Sn(Ht(t))}function ao(t){return Ai(t)||Ri(t)||!!(me&&t&&t[me])}function ro(t,e){var n=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==n||"symbol"!=n&&st.test(t))&&t>-1&&t%1==0&&t<e}function oo(t,e,n){if(!Vi(n))return!1;var a=typeof e;return!!("number"==a?Di(n)&&ro(e,n.length):"string"==a&&e in n)&&ki(n[e],t)}function io(t,e){if(Ai(t))return!1;var n=typeof t;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=t&&!Ji(t))||V.test(t)||!B.test(t)||null!=e&&t in mt(e)}function so(t){var e=Ur(t),n=Tn[e];if("function"!=typeof n||!(e in Nn.prototype))return!1;if(t===n)return!0;var a=Hr(n);return!!a&&t===a[0]}(un&&to(new un(new ArrayBuffer(1)))!=P||gn&&to(new gn)!=p||fn&&"[object Promise]"!=to(fn.resolve())||pn&&to(new pn)!=y||mn&&to(new mn)!=v)&&(to=function(t){var e=ga(t),n=e==h?t.constructor:void 0,a=n?To(n):"";if(a)switch(a){case _n:return P;case On:return p;case vn:return"[object Promise]";case Cn:return y;case Pn:return v}return e});var co=vt?zi:oc;function lo(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||Ot)}function uo(t){return t==t&&!Vi(t)}function go(t,e){return function(n){return null!=n&&n[t]===e&&(void 0!==e||t in mt(n))}}function fo(t,e,n){return e=rn(void 0===e?t.length-1:e,0),function(){for(var r=arguments,o=-1,i=rn(r.length-e,0),s=a(i);++o<i;)s[o]=r[e+o];o=-1;for(var c=a(e+1);++o<e;)c[o]=r[o];return c[e]=n(s),ne(t,this,c)}}function po(t,e){return e.length<2?t:da(t,Va(e,0,-1))}function mo(t,e){for(var n=t.length,a=on(e.length,n),r=mr(t);a--;){var o=e[a];t[a]=ro(o,n)?r[o]:void 0}return t}function ho(t,e){if(("constructor"!==e||"function"!=typeof t[e])&&"__proto__"!=e)return t[e]}var bo=vo(za),yo=Ze||function(t,e){return Yt.setTimeout(t,e)},_o=vo(Ga);function Oo(t,e,n){var a=e+"";return _o(t,function(t,e){var n=e.length;if(!n)return t;var a=n-1;return e[a]=(n>1?"& ":"")+e[a],e=e.join(n>2?", ":" "),t.replace(Z,"{\n/* [wrapped with "+e+"] */\n")}(a,function(t,e){return re(i,(function(n){var a="_."+n[0];e&n[1]&&!ce(t,a)&&t.push(a)})),t.sort()}(function(t){var e=t.match(J);return e?e[1].split(X):[]}(a),n)))}function vo(t){var e=0,n=0;return function(){var a=sn(),r=16-(a-n);if(n=a,r>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}function Co(t,e){var n=-1,a=t.length,r=a-1;for(e=void 0===e?a:e;++n<e;){var o=Ea(n,r),i=t[o];t[o]=t[n],t[n]=i}return t.length=e,t}var Po,Mo,xo=(Po=Pi((function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(Y,(function(t,n,a,r){e.push(a?r.replace(tt,"$1"):n||t)})),e}),(function(t){return 500===Mo.size&&Mo.clear(),t})),Mo=Po.cache,Po);function wo(t){if("string"==typeof t||Ji(t))return t;var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}function To(t){if(null!=t){try{return Ct.call(t)}catch(e){}try{return t+""}catch(e){}}return""}function So(t){if(t instanceof Nn)return t.clone();var e=new In(t.__wrapped__,t.__chain__);return e.__actions__=mr(t.__actions__),e.__index__=t.__index__,e.__values__=t.__values__,e}var ko=La((function(t,e){return Li(t)?Xn(t,ra(e,1,Li,!0)):[]})),Io=La((function(t,e){var n=Fo(e);return Li(n)&&(n=void 0),Li(t)?Xn(t,ra(e,1,Li,!0),Kr(n,2)):[]})),No=La((function(t,e){var n=Fo(e);return Li(n)&&(n=void 0),Li(t)?Xn(t,ra(e,1,Li,!0),void 0,n):[]}));function Ro(t,e,n){var a=null==t?0:t.length;if(!a)return-1;var r=null==n?0:as(n);return r<0&&(r=rn(a+r,0)),be(t,Kr(e,3),r)}function Ao(t,e,n){var a=null==t?0:t.length;if(!a)return-1;var r=a-1;return void 0!==n&&(r=as(n),r=n<0?rn(a+r,0):on(r,a-1)),be(t,Kr(e,3),r,!0)}function Eo(t){return null!=t&&t.length?ra(t,1):[]}function Do(t){return t&&t.length?t[0]:void 0}var Lo=La((function(t){var e=de(t,ar);return e.length&&e[0]===t[0]?ha(e):[]})),qo=La((function(t){var e=Fo(t),n=de(t,ar);return e===Fo(n)?e=void 0:n.pop(),n.length&&n[0]===t[0]?ha(n,Kr(e,2)):[]})),jo=La((function(t){var e=Fo(t),n=de(t,ar);return(e="function"==typeof e?e:void 0)&&n.pop(),n.length&&n[0]===t[0]?ha(n,void 0,e):[]}));function Fo(t){var e=null==t?0:t.length;return e?t[e-1]:void 0}var zo=La(Go);function Go(t,e){return t&&t.length&&e&&e.length?Ra(t,e):t}var Bo=Br((function(t,e){var n=null==t?0:t.length,a=Wn(t,e);return Aa(t,de(e,(function(t){return ro(t,n)?+t:t})).sort(gr)),a}));function Vo(t){return null==t?t:dn.call(t)}var Yo=La((function(t){return Za(ra(t,1,Li,!0))})),Ho=La((function(t){var e=Fo(t);return Li(e)&&(e=void 0),Za(ra(t,1,Li,!0),Kr(e,2))})),Uo=La((function(t){var e=Fo(t);return e="function"==typeof e?e:void 0,Za(ra(t,1,Li,!0),void 0,e)}));function Wo(t){if(!t||!t.length)return[];var e=0;return t=se(t,(function(t){if(Li(t))return e=rn(t.length,e),!0})),we(e,(function(e){return de(t,Ce(e))}))}function Ko(t,e){if(!t||!t.length)return[];var n=Wo(t);return null==e?n:de(n,(function(t){return ne(e,void 0,t)}))}var $o=La((function(t,e){return Li(t)?Xn(t,e):[]})),Zo=La((function(t){return er(se(t,Li))})),Jo=La((function(t){var e=Fo(t);return Li(e)&&(e=void 0),er(se(t,Li),Kr(e,2))})),Xo=La((function(t){var e=Fo(t);return e="function"==typeof e?e:void 0,er(se(t,Li),void 0,e)})),Qo=La(Wo),ti=La((function(t){var e=t.length,n=e>1?t[e-1]:void 0;return n="function"==typeof n?(t.pop(),n):void 0,Ko(t,n)}));function ei(t){var e=Tn(t);return e.__chain__=!0,e}function ni(t,e){return e(t)}var ai=Br((function(t){var e=t.length,n=e?t[0]:0,a=this.__wrapped__,r=function(e){return Wn(e,t)};return!(e>1||this.__actions__.length)&&a instanceof Nn&&ro(n)?((a=a.slice(n,+n+(e?1:0))).__actions__.push({func:ni,args:[r],thisArg:void 0}),new In(a,this.__chain__).thru((function(t){return e&&!t.length&&t.push(void 0),t}))):this.thru(r)})),ri=br((function(t,e,n){Pt.call(t,n)?++t[n]:Un(t,n,1)})),oi=Mr(Ro),ii=Mr(Ao);function si(t,e){return(Ai(t)?re:Qn)(t,Kr(e,3))}function ci(t,e){return(Ai(t)?oe:ta)(t,Kr(e,3))}var li=br((function(t,e,n){Pt.call(t,n)?t[n].push(e):Un(t,n,[e])})),di=La((function(t,e,n){var r=-1,o="function"==typeof e,i=Di(t)?a(t.length):[];return Qn(t,(function(t){i[++r]=o?ne(e,t,n):ba(t,e,n)})),i})),ui=br((function(t,e,n){Un(t,n,e)}));function gi(t,e){return(Ai(t)?de:xa)(t,Kr(e,3))}var fi=br((function(t,e,n){t[n?0:1].push(e)}),(function(){return[[],[]]})),pi=La((function(t,e){if(null==t)return[];var n=e.length;return n>1&&oo(t,e[0],e[1])?e=[]:n>2&&oo(e[0],e[1],e[2])&&(e=[e[0]]),Ia(t,ra(e,1),[])})),mi=$e||function(){return Yt.Date.now()};function hi(t,e,n){return e=n?void 0:e,qr(t,128,void 0,void 0,void 0,void 0,e=t&&null==e?t.length:e)}function bi(t,e){var n;if("function"!=typeof e)throw new yt(r);return t=as(t),function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=void 0),n}}var yi=La((function(t,e,n){var a=1;if(n.length){var r=Fe(n,Wr(yi));a|=32}return qr(t,a,e,n,r)})),_i=La((function(t,e,n){var a=3;if(n.length){var r=Fe(n,Wr(_i));a|=32}return qr(e,a,t,n,r)}));function Oi(t,e,n){var a,o,i,s,c,l,d=0,u=!1,g=!1,f=!0;if("function"!=typeof t)throw new yt(r);function p(e){var n=a,r=o;return a=o=void 0,d=e,s=t.apply(r,n)}function m(t){return d=t,c=yo(b,e),u?p(t):s}function h(t){var n=t-l;return void 0===l||n>=e||n<0||g&&t-d>=i}function b(){var t=mi();if(h(t))return y(t);c=yo(b,function(t){var n=e-(t-l);return g?on(n,i-(t-d)):n}(t))}function y(t){return c=void 0,f&&a?p(t):(a=o=void 0,s)}function _(){var t=mi(),n=h(t);if(a=arguments,o=this,l=t,n){if(void 0===c)return m(l);if(g)return cr(c),c=yo(b,e),p(l)}return void 0===c&&(c=yo(b,e)),s}return e=os(e)||0,Vi(n)&&(u=!!n.leading,i=(g="maxWait"in n)?rn(os(n.maxWait)||0,e):i,f="trailing"in n?!!n.trailing:f),_.cancel=function(){void 0!==c&&cr(c),d=0,a=l=o=c=void 0},_.flush=function(){return void 0===c?s:y(mi())},_}var vi=La((function(t,e){return Jn(t,1,e)})),Ci=La((function(t,e,n){return Jn(t,os(e)||0,n)}));function Pi(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new yt(r);var n=function(){var a=arguments,r=e?e.apply(this,a):a[0],o=n.cache;if(o.has(r))return o.get(r);var i=t.apply(this,a);return n.cache=o.set(r,i)||o,i};return n.cache=new(Pi.Cache||En),n}function Mi(t){if("function"!=typeof t)throw new yt(r);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}Pi.Cache=En;var xi=ir((function(t,e){var n=(e=1==e.length&&Ai(e[0])?de(e[0],Te(Kr())):de(ra(e,1),Te(Kr()))).length;return La((function(a){for(var r=-1,o=on(a.length,n);++r<o;)a[r]=e[r].call(this,a[r]);return ne(t,this,a)}))})),wi=La((function(t,e){return qr(t,32,void 0,e,Fe(e,Wr(wi)))})),Ti=La((function(t,e){return qr(t,64,void 0,e,Fe(e,Wr(Ti)))})),Si=Br((function(t,e){return qr(t,256,void 0,void 0,void 0,e)}));function ki(t,e){return t===e||t!=t&&e!=e}var Ii=Rr(fa),Ni=Rr((function(t,e){return t>=e})),Ri=ya(function(){return arguments}())?ya:function(t){return Yi(t)&&Pt.call(t,"callee")&&!Kt.call(t,"callee")},Ai=a.isArray,Ei=Zt?Te(Zt):function(t){return Yi(t)&&ga(t)==C};function Di(t){return null!=t&&Bi(t.length)&&!zi(t)}function Li(t){return Yi(t)&&Di(t)}var qi=tn||oc,ji=Jt?Te(Jt):function(t){return Yi(t)&&ga(t)==d};function Fi(t){if(!Yi(t))return!1;var e=ga(t);return e==u||"[object DOMException]"==e||"string"==typeof t.message&&"string"==typeof t.name&&!Wi(t)}function zi(t){if(!Vi(t))return!1;var e=ga(t);return e==g||e==f||"[object AsyncFunction]"==e||"[object Proxy]"==e}function Gi(t){return"number"==typeof t&&t==as(t)}function Bi(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}function Vi(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function Yi(t){return null!=t&&"object"==typeof t}var Hi=Xt?Te(Xt):function(t){return Yi(t)&&to(t)==p};function Ui(t){return"number"==typeof t||Yi(t)&&ga(t)==m}function Wi(t){if(!Yi(t)||ga(t)!=h)return!1;var e=Ht(t);if(null===e)return!0;var n=Pt.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&Ct.call(n)==Tt}var Ki=Qt?Te(Qt):function(t){return Yi(t)&&ga(t)==b},$i=te?Te(te):function(t){return Yi(t)&&to(t)==y};function Zi(t){return"string"==typeof t||!Ai(t)&&Yi(t)&&ga(t)==_}function Ji(t){return"symbol"==typeof t||Yi(t)&&ga(t)==O}var Xi=ee?Te(ee):function(t){return Yi(t)&&Bi(t.length)&&!!qt[ga(t)]},Qi=Rr(Ma),ts=Rr((function(t,e){return t<=e}));function es(t){if(!t)return[];if(Di(t))return Zi(t)?Ve(t):mr(t);if(Pe&&t[Pe])return function(t){for(var e,n=[];!(e=t.next()).done;)n.push(e.value);return n}(t[Pe]());var e=to(t);return(e==p?qe:e==y?ze:ks)(t)}function ns(t){return t?(t=os(t))===1/0||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}function as(t){var e=ns(t),n=e%1;return e==e?n?e-n:e:0}function rs(t){return t?Kn(as(t),0,4294967295):0}function os(t){if("number"==typeof t)return t;if(Ji(t))return NaN;if(Vi(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=Vi(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(W,"");var n=rt.test(t);return n||it.test(t)?Gt(t.slice(2),n?2:8):at.test(t)?NaN:+t}function is(t){return hr(t,vs(t))}function ss(t){return null==t?"":$a(t)}var cs=yr((function(t,e){if(lo(e)||Di(e))hr(e,Os(e),t);else for(var n in e)Pt.call(e,n)&&Bn(t,n,e[n])})),ls=yr((function(t,e){hr(e,vs(e),t)})),ds=yr((function(t,e,n,a){hr(e,vs(e),t,a)})),us=yr((function(t,e,n,a){hr(e,Os(e),t,a)})),gs=Br(Wn),fs=La((function(t,e){t=mt(t);var n=-1,a=e.length,r=a>2?e[2]:void 0;for(r&&oo(e[0],e[1],r)&&(a=1);++n<a;)for(var o=e[n],i=vs(o),s=-1,c=i.length;++s<c;){var l=i[s],d=t[l];(void 0===d||ki(d,Ot[l])&&!Pt.call(t,l))&&(t[l]=o[l])}return t})),ps=La((function(t){return t.push(void 0,Fr),ne(Ps,void 0,t)}));function ms(t,e,n){var a=null==t?void 0:da(t,e);return void 0===a?n:a}function hs(t,e){return null!=t&&eo(t,e,ma)}var bs=Tr((function(t,e,n){null!=e&&"function"!=typeof e.toString&&(e=wt.call(e)),t[e]=n}),Vs(Us)),ys=Tr((function(t,e,n){null!=e&&"function"!=typeof e.toString&&(e=wt.call(e)),Pt.call(t,e)?t[e].push(n):t[e]=[n]}),Kr),_s=La(ba);function Os(t){return Di(t)?qn(t):Pa(t)}function vs(t){return Di(t)?qn(t,!0):function(t){if(!Vi(t))return function(t){var e=[];if(null!=t)for(var n in mt(t))e.push(n);return e}(t);var e=lo(t),n=[];for(var a in t)("constructor"!=a||!e&&Pt.call(t,a))&&n.push(a);return n}(t)}var Cs=yr((function(t,e,n){Sa(t,e,n)})),Ps=yr((function(t,e,n,a){Sa(t,e,n,a)})),Ms=Br((function(t,e){var n={};if(null==t)return n;var a=!1;e=de(e,(function(e){return e=or(e,t),a||(a=e.length>1),e})),hr(t,Yr(t),n),a&&(n=$n(n,7,zr));for(var r=e.length;r--;)Ja(n,e[r]);return n})),xs=Br((function(t,e){return null==t?{}:function(t,e){return Na(t,e,(function(e,n){return hs(t,n)}))}(t,e)}));function ws(t,e){if(null==t)return{};var n=de(Yr(t),(function(t){return[t]}));return e=Kr(e),Na(t,n,(function(t,n){return e(t,n[0])}))}var Ts=Lr(Os),Ss=Lr(vs);function ks(t){return null==t?[]:Se(t,Os(t))}var Is=Cr((function(t,e,n){return e=e.toLowerCase(),t+(n?Ns(e):e)}));function Ns(t){return Fs(ss(t).toLowerCase())}function Rs(t){return(t=ss(t))&&t.replace(ct,Ae).replace(It,"")}var As=Cr((function(t,e,n){return t+(n?"-":"")+e.toLowerCase()})),Es=Cr((function(t,e,n){return t+(n?" ":"")+e.toLowerCase()})),Ds=vr("toLowerCase"),Ls=Cr((function(t,e,n){return t+(n?"_":"")+e.toLowerCase()})),qs=Cr((function(t,e,n){return t+(n?" ":"")+Fs(e)})),js=Cr((function(t,e,n){return t+(n?" ":"")+e.toUpperCase()})),Fs=vr("toUpperCase");function zs(t,e,n){return t=ss(t),void 0===(e=n?void 0:e)?function(t){return Et.test(t)}(t)?function(t){return t.match(Rt)||[]}(t):function(t){return t.match(Q)||[]}(t):t.match(e)||[]}var Gs=La((function(t,e){try{return ne(t,void 0,e)}catch(n){return Fi(n)?n:new gt(n)}})),Bs=Br((function(t,e){return re(e,(function(e){e=wo(e),Un(t,e,yi(t[e],t))})),t}));function Vs(t){return function(){return t}}var Ys=xr(),Hs=xr(!0);function Us(t){return t}function Ws(t){return Ca("function"==typeof t?t:$n(t,1))}var Ks=La((function(t,e){return function(n){return ba(n,t,e)}})),$s=La((function(t,e){return function(n){return ba(t,n,e)}}));function Zs(t,e,n){var a=Os(e),r=la(e,a);null!=n||Vi(e)&&(r.length||!a.length)||(n=e,e=t,t=this,r=la(e,Os(e)));var o=!(Vi(n)&&"chain"in n&&!n.chain),i=zi(t);return re(r,(function(n){var a=e[n];t[n]=a,i&&(t.prototype[n]=function(){var e=this.__chain__;if(o||e){var n=t(this.__wrapped__),r=n.__actions__=mr(this.__actions__);return r.push({func:a,args:arguments,thisArg:t}),n.__chain__=e,n}return a.apply(t,ue([this.value()],arguments))})})),t}function Js(){}var Xs=kr(de),Qs=kr(ie),tc=kr(pe);function ec(t){return io(t)?Ce(wo(t)):function(t){return function(e){return da(e,t)}}(t)}var nc=Nr(),ac=Nr(!0);function rc(){return[]}function oc(){return!1}var ic,sc=Sr((function(t,e){return t+e}),0),cc=Er("ceil"),lc=Sr((function(t,e){return t/e}),1),dc=Er("floor"),uc=Sr((function(t,e){return t*e}),1),gc=Er("round"),fc=Sr((function(t,e){return t-e}),0);return Tn.after=function(t,e){if("function"!=typeof e)throw new yt(r);return t=as(t),function(){if(--t<1)return e.apply(this,arguments)}},Tn.ary=hi,Tn.assign=cs,Tn.assignIn=ls,Tn.assignInWith=ds,Tn.assignWith=us,Tn.at=gs,Tn.before=bi,Tn.bind=yi,Tn.bindAll=Bs,Tn.bindKey=_i,Tn.castArray=function(){if(!arguments.length)return[];var t=arguments[0];return Ai(t)?t:[t]},Tn.chain=ei,Tn.chunk=function(t,e,n){e=(n?oo(t,e,n):void 0===e)?1:rn(as(e),0);var r=null==t?0:t.length;if(!r||e<1)return[];for(var o=0,i=0,s=a(Je(r/e));o<r;)s[i++]=Va(t,o,o+=e);return s},Tn.compact=function(t){for(var e=-1,n=null==t?0:t.length,a=0,r=[];++e<n;){var o=t[e];o&&(r[a++]=o)}return r},Tn.concat=function(){var t=arguments.length;if(!t)return[];for(var e=a(t-1),n=arguments[0],r=t;r--;)e[r-1]=arguments[r];return ue(Ai(n)?mr(n):[n],ra(e,1))},Tn.cond=function(t){var e=null==t?0:t.length,n=Kr();return t=e?de(t,(function(t){if("function"!=typeof t[1])throw new yt(r);return[n(t[0]),t[1]]})):[],La((function(n){for(var a=-1;++a<e;){var r=t[a];if(ne(r[0],this,n))return ne(r[1],this,n)}}))},Tn.conforms=function(t){return function(t){var e=Os(t);return function(n){return Zn(n,t,e)}}($n(t,1))},Tn.constant=Vs,Tn.countBy=ri,Tn.create=function(t,e){var n=Sn(t);return null==e?n:Hn(n,e)},Tn.curry=function t(e,n,a){var r=qr(e,8,void 0,void 0,void 0,void 0,void 0,n=a?void 0:n);return r.placeholder=t.placeholder,r},Tn.curryRight=function t(e,n,a){var r=qr(e,16,void 0,void 0,void 0,void 0,void 0,n=a?void 0:n);return r.placeholder=t.placeholder,r},Tn.debounce=Oi,Tn.defaults=fs,Tn.defaultsDeep=ps,Tn.defer=vi,Tn.delay=Ci,Tn.difference=ko,Tn.differenceBy=Io,Tn.differenceWith=No,Tn.drop=function(t,e,n){var a=null==t?0:t.length;return a?Va(t,(e=n||void 0===e?1:as(e))<0?0:e,a):[]},Tn.dropRight=function(t,e,n){var a=null==t?0:t.length;return a?Va(t,0,(e=a-(e=n||void 0===e?1:as(e)))<0?0:e):[]},Tn.dropRightWhile=function(t,e){return t&&t.length?Qa(t,Kr(e,3),!0,!0):[]},Tn.dropWhile=function(t,e){return t&&t.length?Qa(t,Kr(e,3),!0):[]},Tn.fill=function(t,e,n,a){var r=null==t?0:t.length;return r?(n&&"number"!=typeof n&&oo(t,e,n)&&(n=0,a=r),function(t,e,n,a){var r=t.length;for((n=as(n))<0&&(n=-n>r?0:r+n),(a=void 0===a||a>r?r:as(a))<0&&(a+=r),a=n>a?0:rs(a);n<a;)t[n++]=e;return t}(t,e,n,a)):[]},Tn.filter=function(t,e){return(Ai(t)?se:aa)(t,Kr(e,3))},Tn.flatMap=function(t,e){return ra(gi(t,e),1)},Tn.flatMapDeep=function(t,e){return ra(gi(t,e),1/0)},Tn.flatMapDepth=function(t,e,n){return n=void 0===n?1:as(n),ra(gi(t,e),n)},Tn.flatten=Eo,Tn.flattenDeep=function(t){return null!=t&&t.length?ra(t,1/0):[]},Tn.flattenDepth=function(t,e){return null!=t&&t.length?ra(t,e=void 0===e?1:as(e)):[]},Tn.flip=function(t){return qr(t,512)},Tn.flow=Ys,Tn.flowRight=Hs,Tn.fromPairs=function(t){for(var e=-1,n=null==t?0:t.length,a={};++e<n;){var r=t[e];a[r[0]]=r[1]}return a},Tn.functions=function(t){return null==t?[]:la(t,Os(t))},Tn.functionsIn=function(t){return null==t?[]:la(t,vs(t))},Tn.groupBy=li,Tn.initial=function(t){return null!=t&&t.length?Va(t,0,-1):[]},Tn.intersection=Lo,Tn.intersectionBy=qo,Tn.intersectionWith=jo,Tn.invert=bs,Tn.invertBy=ys,Tn.invokeMap=di,Tn.iteratee=Ws,Tn.keyBy=ui,Tn.keys=Os,Tn.keysIn=vs,Tn.map=gi,Tn.mapKeys=function(t,e){var n={};return e=Kr(e,3),sa(t,(function(t,a,r){Un(n,e(t,a,r),t)})),n},Tn.mapValues=function(t,e){var n={};return e=Kr(e,3),sa(t,(function(t,a,r){Un(n,a,e(t,a,r))})),n},Tn.matches=function(t){return wa($n(t,1))},Tn.matchesProperty=function(t,e){return Ta(t,$n(e,1))},Tn.memoize=Pi,Tn.merge=Cs,Tn.mergeWith=Ps,Tn.method=Ks,Tn.methodOf=$s,Tn.mixin=Zs,Tn.negate=Mi,Tn.nthArg=function(t){return t=as(t),La((function(e){return ka(e,t)}))},Tn.omit=Ms,Tn.omitBy=function(t,e){return ws(t,Mi(Kr(e)))},Tn.once=function(t){return bi(2,t)},Tn.orderBy=function(t,e,n,a){return null==t?[]:(Ai(e)||(e=null==e?[]:[e]),Ai(n=a?void 0:n)||(n=null==n?[]:[n]),Ia(t,e,n))},Tn.over=Xs,Tn.overArgs=xi,Tn.overEvery=Qs,Tn.overSome=tc,Tn.partial=wi,Tn.partialRight=Ti,Tn.partition=fi,Tn.pick=xs,Tn.pickBy=ws,Tn.property=ec,Tn.propertyOf=function(t){return function(e){return null==t?void 0:da(t,e)}},Tn.pull=zo,Tn.pullAll=Go,Tn.pullAllBy=function(t,e,n){return t&&t.length&&e&&e.length?Ra(t,e,Kr(n,2)):t},Tn.pullAllWith=function(t,e,n){return t&&t.length&&e&&e.length?Ra(t,e,void 0,n):t},Tn.pullAt=Bo,Tn.range=nc,Tn.rangeRight=ac,Tn.rearg=Si,Tn.reject=function(t,e){return(Ai(t)?se:aa)(t,Mi(Kr(e,3)))},Tn.remove=function(t,e){var n=[];if(!t||!t.length)return n;var a=-1,r=[],o=t.length;for(e=Kr(e,3);++a<o;){var i=t[a];e(i,a,t)&&(n.push(i),r.push(a))}return Aa(t,r),n},Tn.rest=function(t,e){if("function"!=typeof t)throw new yt(r);return La(t,e=void 0===e?e:as(e))},Tn.reverse=Vo,Tn.sampleSize=function(t,e,n){return e=(n?oo(t,e,n):void 0===e)?1:as(e),(Ai(t)?Fn:ja)(t,e)},Tn.set=function(t,e,n){return null==t?t:Fa(t,e,n)},Tn.setWith=function(t,e,n,a){return a="function"==typeof a?a:void 0,null==t?t:Fa(t,e,n,a)},Tn.shuffle=function(t){return(Ai(t)?zn:Ba)(t)},Tn.slice=function(t,e,n){var a=null==t?0:t.length;return a?(n&&"number"!=typeof n&&oo(t,e,n)?(e=0,n=a):(e=null==e?0:as(e),n=void 0===n?a:as(n)),Va(t,e,n)):[]},Tn.sortBy=pi,Tn.sortedUniq=function(t){return t&&t.length?Wa(t):[]},Tn.sortedUniqBy=function(t,e){return t&&t.length?Wa(t,Kr(e,2)):[]},Tn.split=function(t,e,n){return n&&"number"!=typeof n&&oo(t,e,n)&&(e=n=void 0),(n=void 0===n?4294967295:n>>>0)?(t=ss(t))&&("string"==typeof e||null!=e&&!Ki(e))&&!(e=$a(e))&&Le(t)?sr(Ve(t),0,n):t.split(e,n):[]},Tn.spread=function(t,e){if("function"!=typeof t)throw new yt(r);return e=null==e?0:rn(as(e),0),La((function(n){var a=n[e],r=sr(n,0,e);return a&&ue(r,a),ne(t,this,r)}))},Tn.tail=function(t){var e=null==t?0:t.length;return e?Va(t,1,e):[]},Tn.take=function(t,e,n){return t&&t.length?Va(t,0,(e=n||void 0===e?1:as(e))<0?0:e):[]},Tn.takeRight=function(t,e,n){var a=null==t?0:t.length;return a?Va(t,(e=a-(e=n||void 0===e?1:as(e)))<0?0:e,a):[]},Tn.takeRightWhile=function(t,e){return t&&t.length?Qa(t,Kr(e,3),!1,!0):[]},Tn.takeWhile=function(t,e){return t&&t.length?Qa(t,Kr(e,3)):[]},Tn.tap=function(t,e){return e(t),t},Tn.throttle=function(t,e,n){var a=!0,o=!0;if("function"!=typeof t)throw new yt(r);return Vi(n)&&(a="leading"in n?!!n.leading:a,o="trailing"in n?!!n.trailing:o),Oi(t,e,{leading:a,maxWait:e,trailing:o})},Tn.thru=ni,Tn.toArray=es,Tn.toPairs=Ts,Tn.toPairsIn=Ss,Tn.toPath=function(t){return Ai(t)?de(t,wo):Ji(t)?[t]:mr(xo(ss(t)))},Tn.toPlainObject=is,Tn.transform=function(t,e,n){var a=Ai(t),r=a||qi(t)||Xi(t);if(e=Kr(e,4),null==n){var o=t&&t.constructor;n=r?a?new o:[]:Vi(t)&&zi(o)?Sn(Ht(t)):{}}return(r?re:sa)(t,(function(t,a,r){return e(n,t,a,r)})),n},Tn.unary=function(t){return hi(t,1)},Tn.union=Yo,Tn.unionBy=Ho,Tn.unionWith=Uo,Tn.uniq=function(t){return t&&t.length?Za(t):[]},Tn.uniqBy=function(t,e){return t&&t.length?Za(t,Kr(e,2)):[]},Tn.uniqWith=function(t,e){return e="function"==typeof e?e:void 0,t&&t.length?Za(t,void 0,e):[]},Tn.unset=function(t,e){return null==t||Ja(t,e)},Tn.unzip=Wo,Tn.unzipWith=Ko,Tn.update=function(t,e,n){return null==t?t:Xa(t,e,rr(n))},Tn.updateWith=function(t,e,n,a){return a="function"==typeof a?a:void 0,null==t?t:Xa(t,e,rr(n),a)},Tn.values=ks,Tn.valuesIn=function(t){return null==t?[]:Se(t,vs(t))},Tn.without=$o,Tn.words=zs,Tn.wrap=function(t,e){return wi(rr(e),t)},Tn.xor=Zo,Tn.xorBy=Jo,Tn.xorWith=Xo,Tn.zip=Qo,Tn.zipObject=function(t,e){return nr(t||[],e||[],Bn)},Tn.zipObjectDeep=function(t,e){return nr(t||[],e||[],Fa)},Tn.zipWith=ti,Tn.entries=Ts,Tn.entriesIn=Ss,Tn.extend=ls,Tn.extendWith=ds,Zs(Tn,Tn),Tn.add=sc,Tn.attempt=Gs,Tn.camelCase=Is,Tn.capitalize=Ns,Tn.ceil=cc,Tn.clamp=function(t,e,n){return void 0===n&&(n=e,e=void 0),void 0!==n&&(n=(n=os(n))==n?n:0),void 0!==e&&(e=(e=os(e))==e?e:0),Kn(os(t),e,n)},Tn.clone=function(t){return $n(t,4)},Tn.cloneDeep=function(t){return $n(t,5)},Tn.cloneDeepWith=function(t,e){return $n(t,5,e="function"==typeof e?e:void 0)},Tn.cloneWith=function(t,e){return $n(t,4,e="function"==typeof e?e:void 0)},Tn.conformsTo=function(t,e){return null==e||Zn(t,e,Os(e))},Tn.deburr=Rs,Tn.defaultTo=function(t,e){return null==t||t!=t?e:t},Tn.divide=lc,Tn.endsWith=function(t,e,n){t=ss(t),e=$a(e);var a=t.length,r=n=void 0===n?a:Kn(as(n),0,a);return(n-=e.length)>=0&&t.slice(n,r)==e},Tn.eq=ki,Tn.escape=function(t){return(t=ss(t))&&j.test(t)?t.replace(L,Ee):t},Tn.escapeRegExp=function(t){return(t=ss(t))&&U.test(t)?t.replace(H,"\\$&"):t},Tn.every=function(t,e,n){var a=Ai(t)?ie:ea;return n&&oo(t,e,n)&&(e=void 0),a(t,Kr(e,3))},Tn.find=oi,Tn.findIndex=Ro,Tn.findKey=function(t,e){return he(t,Kr(e,3),sa)},Tn.findLast=ii,Tn.findLastIndex=Ao,Tn.findLastKey=function(t,e){return he(t,Kr(e,3),ca)},Tn.floor=dc,Tn.forEach=si,Tn.forEachRight=ci,Tn.forIn=function(t,e){return null==t?t:oa(t,Kr(e,3),vs)},Tn.forInRight=function(t,e){return null==t?t:ia(t,Kr(e,3),vs)},Tn.forOwn=function(t,e){return t&&sa(t,Kr(e,3))},Tn.forOwnRight=function(t,e){return t&&ca(t,Kr(e,3))},Tn.get=ms,Tn.gt=Ii,Tn.gte=Ni,Tn.has=function(t,e){return null!=t&&eo(t,e,pa)},Tn.hasIn=hs,Tn.head=Do,Tn.identity=Us,Tn.includes=function(t,e,n,a){t=Di(t)?t:ks(t),n=n&&!a?as(n):0;var r=t.length;return n<0&&(n=rn(r+n,0)),Zi(t)?n<=r&&t.indexOf(e,n)>-1:!!r&&ye(t,e,n)>-1},Tn.indexOf=function(t,e,n){var a=null==t?0:t.length;if(!a)return-1;var r=null==n?0:as(n);return r<0&&(r=rn(a+r,0)),ye(t,e,r)},Tn.inRange=function(t,e,n){return e=ns(e),void 0===n?(n=e,e=0):n=ns(n),function(t,e,n){return t>=on(e,n)&&t<rn(e,n)}(t=os(t),e,n)},Tn.invoke=_s,Tn.isArguments=Ri,Tn.isArray=Ai,Tn.isArrayBuffer=Ei,Tn.isArrayLike=Di,Tn.isArrayLikeObject=Li,Tn.isBoolean=function(t){return!0===t||!1===t||Yi(t)&&ga(t)==l},Tn.isBuffer=qi,Tn.isDate=ji,Tn.isElement=function(t){return Yi(t)&&1===t.nodeType&&!Wi(t)},Tn.isEmpty=function(t){if(null==t)return!0;if(Di(t)&&(Ai(t)||"string"==typeof t||"function"==typeof t.splice||qi(t)||Xi(t)||Ri(t)))return!t.length;var e=to(t);if(e==p||e==y)return!t.size;if(lo(t))return!Pa(t).length;for(var n in t)if(Pt.call(t,n))return!1;return!0},Tn.isEqual=function(t,e){return _a(t,e)},Tn.isEqualWith=function(t,e,n){var a=(n="function"==typeof n?n:void 0)?n(t,e):void 0;return void 0===a?_a(t,e,void 0,n):!!a},Tn.isError=Fi,Tn.isFinite=function(t){return"number"==typeof t&&en(t)},Tn.isFunction=zi,Tn.isInteger=Gi,Tn.isLength=Bi,Tn.isMap=Hi,Tn.isMatch=function(t,e){return t===e||Oa(t,e,Zr(e))},Tn.isMatchWith=function(t,e,n){return n="function"==typeof n?n:void 0,Oa(t,e,Zr(e),n)},Tn.isNaN=function(t){return Ui(t)&&t!=+t},Tn.isNative=function(t){if(co(t))throw new gt("Unsupported core-js use. Try https://npms.io/search?q=ponyfill.");return va(t)},Tn.isNil=function(t){return null==t},Tn.isNull=function(t){return null===t},Tn.isNumber=Ui,Tn.isObject=Vi,Tn.isObjectLike=Yi,Tn.isPlainObject=Wi,Tn.isRegExp=Ki,Tn.isSafeInteger=function(t){return Gi(t)&&t>=-9007199254740991&&t<=9007199254740991},Tn.isSet=$i,Tn.isString=Zi,Tn.isSymbol=Ji,Tn.isTypedArray=Xi,Tn.isUndefined=function(t){return void 0===t},Tn.isWeakMap=function(t){return Yi(t)&&to(t)==v},Tn.isWeakSet=function(t){return Yi(t)&&"[object WeakSet]"==ga(t)},Tn.join=function(t,e){return null==t?"":nn.call(t,e)},Tn.kebabCase=As,Tn.last=Fo,Tn.lastIndexOf=function(t,e,n){var a=null==t?0:t.length;if(!a)return-1;var r=a;return void 0!==n&&(r=(r=as(n))<0?rn(a+r,0):on(r,a-1)),e==e?function(t,e,n){for(var a=n+1;a--;)if(t[a]===e)return a;return a}(t,e,r):be(t,Oe,r,!0)},Tn.lowerCase=Es,Tn.lowerFirst=Ds,Tn.lt=Qi,Tn.lte=ts,Tn.max=function(t){return t&&t.length?na(t,Us,fa):void 0},Tn.maxBy=function(t,e){return t&&t.length?na(t,Kr(e,2),fa):void 0},Tn.mean=function(t){return ve(t,Us)},Tn.meanBy=function(t,e){return ve(t,Kr(e,2))},Tn.min=function(t){return t&&t.length?na(t,Us,Ma):void 0},Tn.minBy=function(t,e){return t&&t.length?na(t,Kr(e,2),Ma):void 0},Tn.stubArray=rc,Tn.stubFalse=oc,Tn.stubObject=function(){return{}},Tn.stubString=function(){return""},Tn.stubTrue=function(){return!0},Tn.multiply=uc,Tn.nth=function(t,e){return t&&t.length?ka(t,as(e)):void 0},Tn.noConflict=function(){return Yt._===this&&(Yt._=St),this},Tn.noop=Js,Tn.now=mi,Tn.pad=function(t,e,n){t=ss(t);var a=(e=as(e))?Be(t):0;if(!e||a>=e)return t;var r=(e-a)/2;return Ir(Xe(r),n)+t+Ir(Je(r),n)},Tn.padEnd=function(t,e,n){t=ss(t);var a=(e=as(e))?Be(t):0;return e&&a<e?t+Ir(e-a,n):t},Tn.padStart=function(t,e,n){t=ss(t);var a=(e=as(e))?Be(t):0;return e&&a<e?Ir(e-a,n)+t:t},Tn.parseInt=function(t,e,n){return n||null==e?e=0:e&&(e=+e),cn(ss(t).replace(K,""),e||0)},Tn.random=function(t,e,n){if(n&&"boolean"!=typeof n&&oo(t,e,n)&&(e=n=void 0),void 0===n&&("boolean"==typeof e?(n=e,e=void 0):"boolean"==typeof t&&(n=t,t=void 0)),void 0===t&&void 0===e?(t=0,e=1):(t=ns(t),void 0===e?(e=t,t=0):e=ns(e)),t>e){var a=t;t=e,e=a}if(n||t%1||e%1){var r=ln();return on(t+r*(e-t+zt("1e-"+((r+"").length-1))),e)}return Ea(t,e)},Tn.reduce=function(t,e,n){var a=Ai(t)?ge:Me,r=arguments.length<3;return a(t,Kr(e,4),n,r,Qn)},Tn.reduceRight=function(t,e,n){var a=Ai(t)?fe:Me,r=arguments.length<3;return a(t,Kr(e,4),n,r,ta)},Tn.repeat=function(t,e,n){return e=(n?oo(t,e,n):void 0===e)?1:as(e),Da(ss(t),e)},Tn.replace=function(){var t=arguments,e=ss(t[0]);return t.length<3?e:e.replace(t[1],t[2])},Tn.result=function(t,e,n){var a=-1,r=(e=or(e,t)).length;for(r||(r=1,t=void 0);++a<r;){var o=null==t?void 0:t[wo(e[a])];void 0===o&&(a=r,o=n),t=zi(o)?o.call(t):o}return t},Tn.round=gc,Tn.runInContext=t,Tn.sample=function(t){return(Ai(t)?jn:qa)(t)},Tn.size=function(t){if(null==t)return 0;if(Di(t))return Zi(t)?Be(t):t.length;var e=to(t);return e==p||e==y?t.size:Pa(t).length},Tn.snakeCase=Ls,Tn.some=function(t,e,n){var a=Ai(t)?pe:Ya;return n&&oo(t,e,n)&&(e=void 0),a(t,Kr(e,3))},Tn.sortedIndex=function(t,e){return Ha(t,e)},Tn.sortedIndexBy=function(t,e,n){return Ua(t,e,Kr(n,2))},Tn.sortedIndexOf=function(t,e){var n=null==t?0:t.length;if(n){var a=Ha(t,e);if(a<n&&ki(t[a],e))return a}return-1},Tn.sortedLastIndex=function(t,e){return Ha(t,e,!0)},Tn.sortedLastIndexBy=function(t,e,n){return Ua(t,e,Kr(n,2),!0)},Tn.sortedLastIndexOf=function(t,e){if(null!=t&&t.length){var n=Ha(t,e,!0)-1;if(ki(t[n],e))return n}return-1},Tn.startCase=qs,Tn.startsWith=function(t,e,n){return t=ss(t),n=null==n?0:Kn(as(n),0,t.length),e=$a(e),t.slice(n,n+e.length)==e},Tn.subtract=fc,Tn.sum=function(t){return t&&t.length?xe(t,Us):0},Tn.sumBy=function(t,e){return t&&t.length?xe(t,Kr(e,2)):0},Tn.template=function(t,e,n){var a=Tn.templateSettings;n&&oo(t,e,n)&&(e=void 0),t=ss(t),e=ds({},e,a,jr);var r,o,i=ds({},e.imports,a.imports,jr),s=Os(i),c=Se(i,s),l=0,d=e.interpolate||lt,u="__p += '",g=ht((e.escape||lt).source+"|"+d.source+"|"+(d===G?et:lt).source+"|"+(e.evaluate||lt).source+"|$","g"),f="//# sourceURL="+(Pt.call(e,"sourceURL")?(e.sourceURL+"").replace(/[\r\n]/g," "):"lodash.templateSources["+ ++Lt+"]")+"\n";t.replace(g,(function(e,n,a,i,s,c){return a||(a=i),u+=t.slice(l,c).replace(dt,De),n&&(r=!0,u+="' +\n__e("+n+") +\n'"),s&&(o=!0,u+="';\n"+s+";\n__p += '"),a&&(u+="' +\n((__t = ("+a+")) == null ? '' : __t) +\n'"),l=c+e.length,e})),u+="';\n";var p=Pt.call(e,"variable")&&e.variable;p||(u="with (obj) {\n"+u+"\n}\n"),u=(o?u.replace(R,""):u).replace(A,"$1").replace(E,"$1;"),u="function("+(p||"obj")+") {\n"+(p?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(r?", __e = _.escape":"")+(o?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+u+"return __p\n}";var m=Gs((function(){return ft(s,f+"return "+u).apply(void 0,c)}));if(m.source=u,Fi(m))throw m;return m},Tn.times=function(t,e){if((t=as(t))<1||t>9007199254740991)return[];var n=4294967295,a=on(t,4294967295);t-=4294967295;for(var r=we(a,e=Kr(e));++n<t;)e(n);return r},Tn.toFinite=ns,Tn.toInteger=as,Tn.toLength=rs,Tn.toLower=function(t){return ss(t).toLowerCase()},Tn.toNumber=os,Tn.toSafeInteger=function(t){return t?Kn(as(t),-9007199254740991,9007199254740991):0===t?t:0},Tn.toString=ss,Tn.toUpper=function(t){return ss(t).toUpperCase()},Tn.trim=function(t,e,n){if((t=ss(t))&&(n||void 0===e))return t.replace(W,"");if(!t||!(e=$a(e)))return t;var a=Ve(t),r=Ve(e);return sr(a,Ie(a,r),Ne(a,r)+1).join("")},Tn.trimEnd=function(t,e,n){if((t=ss(t))&&(n||void 0===e))return t.replace($,"");if(!t||!(e=$a(e)))return t;var a=Ve(t);return sr(a,0,Ne(a,Ve(e))+1).join("")},Tn.trimStart=function(t,e,n){if((t=ss(t))&&(n||void 0===e))return t.replace(K,"");if(!t||!(e=$a(e)))return t;var a=Ve(t);return sr(a,Ie(a,Ve(e))).join("")},Tn.truncate=function(t,e){var n=30,a="...";if(Vi(e)){var r="separator"in e?e.separator:r;n="length"in e?as(e.length):n,a="omission"in e?$a(e.omission):a}var o=(t=ss(t)).length;if(Le(t)){var i=Ve(t);o=i.length}if(n>=o)return t;var s=n-Be(a);if(s<1)return a;var c=i?sr(i,0,s).join(""):t.slice(0,s);if(void 0===r)return c+a;if(i&&(s+=c.length-s),Ki(r)){if(t.slice(s).search(r)){var l,d=c;for(r.global||(r=ht(r.source,ss(nt.exec(r))+"g")),r.lastIndex=0;l=r.exec(d);)var u=l.index;c=c.slice(0,void 0===u?s:u)}}else if(t.indexOf($a(r),s)!=s){var g=c.lastIndexOf(r);g>-1&&(c=c.slice(0,g))}return c+a},Tn.unescape=function(t){return(t=ss(t))&&q.test(t)?t.replace(D,Ye):t},Tn.uniqueId=function(t){var e=++Mt;return ss(t)+e},Tn.upperCase=js,Tn.upperFirst=Fs,Tn.each=si,Tn.eachRight=ci,Tn.first=Do,Zs(Tn,(ic={},sa(Tn,(function(t,e){Pt.call(Tn.prototype,e)||(ic[e]=t)})),ic),{chain:!1}),Tn.VERSION="4.17.15",re(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(t){Tn[t].placeholder=Tn})),re(["drop","take"],(function(t,e){Nn.prototype[t]=function(n){n=void 0===n?1:rn(as(n),0);var a=this.__filtered__&&!e?new Nn(this):this.clone();return a.__filtered__?a.__takeCount__=on(n,a.__takeCount__):a.__views__.push({size:on(n,4294967295),type:t+(a.__dir__<0?"Right":"")}),a},Nn.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}})),re(["filter","map","takeWhile"],(function(t,e){var n=e+1,a=1==n||3==n;Nn.prototype[t]=function(t){var e=this.clone();return e.__iteratees__.push({iteratee:Kr(t,3),type:n}),e.__filtered__=e.__filtered__||a,e}})),re(["head","last"],(function(t,e){var n="take"+(e?"Right":"");Nn.prototype[t]=function(){return this[n](1).value()[0]}})),re(["initial","tail"],(function(t,e){var n="drop"+(e?"":"Right");Nn.prototype[t]=function(){return this.__filtered__?new Nn(this):this[n](1)}})),Nn.prototype.compact=function(){return this.filter(Us)},Nn.prototype.find=function(t){return this.filter(t).head()},Nn.prototype.findLast=function(t){return this.reverse().find(t)},Nn.prototype.invokeMap=La((function(t,e){return"function"==typeof t?new Nn(this):this.map((function(n){return ba(n,t,e)}))})),Nn.prototype.reject=function(t){return this.filter(Mi(Kr(t)))},Nn.prototype.slice=function(t,e){t=as(t);var n=this;return n.__filtered__&&(t>0||e<0)?new Nn(n):(t<0?n=n.takeRight(-t):t&&(n=n.drop(t)),void 0!==e&&(n=(e=as(e))<0?n.dropRight(-e):n.take(e-t)),n)},Nn.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},Nn.prototype.toArray=function(){return this.take(4294967295)},sa(Nn.prototype,(function(t,e){var n=/^(?:filter|find|map|reject)|While$/.test(e),a=/^(?:head|last)$/.test(e),r=Tn[a?"take"+("last"==e?"Right":""):e],o=a||/^find/.test(e);r&&(Tn.prototype[e]=function(){var e=this.__wrapped__,i=a?[1]:arguments,s=e instanceof Nn,c=i[0],l=s||Ai(e),d=function(t){var e=r.apply(Tn,ue([t],i));return a&&u?e[0]:e};l&&n&&"function"==typeof c&&1!=c.length&&(s=l=!1);var u=this.__chain__,g=!!this.__actions__.length,f=o&&!u,p=s&&!g;if(!o&&l){e=p?e:new Nn(this);var m=t.apply(e,i);return m.__actions__.push({func:ni,args:[d],thisArg:void 0}),new In(m,u)}return f&&p?t.apply(this,i):(m=this.thru(d),f?a?m.value()[0]:m.value():m)})})),re(["pop","push","shift","sort","splice","unshift"],(function(t){var e=_t[t],n=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",a=/^(?:pop|shift)$/.test(t);Tn.prototype[t]=function(){var t=arguments;if(a&&!this.__chain__){var r=this.value();return e.apply(Ai(r)?r:[],t)}return this[n]((function(n){return e.apply(Ai(n)?n:[],t)}))}})),sa(Nn.prototype,(function(t,e){var n=Tn[e];if(n){var a=n.name+"";Pt.call(yn,a)||(yn[a]=[]),yn[a].push({name:e,func:n})}})),yn[wr(void 0,2).name]=[{name:"wrapper",func:void 0}],Nn.prototype.clone=function(){var t=new Nn(this.__wrapped__);return t.__actions__=mr(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=mr(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=mr(this.__views__),t},Nn.prototype.reverse=function(){if(this.__filtered__){var t=new Nn(this);t.__dir__=-1,t.__filtered__=!0}else(t=this.clone()).__dir__*=-1;return t},Nn.prototype.value=function(){var t=this.__wrapped__.value(),e=this.__dir__,n=Ai(t),a=e<0,r=n?t.length:0,o=function(t,e,n){for(var a=-1,r=n.length;++a<r;){var o=n[a],i=o.size;switch(o.type){case"drop":t+=i;break;case"dropRight":e-=i;break;case"take":e=on(e,t+i);break;case"takeRight":t=rn(t,e-i)}}return{start:t,end:e}}(0,r,this.__views__),i=o.start,s=o.end,c=s-i,l=a?s:i-1,d=this.__iteratees__,u=d.length,g=0,f=on(c,this.__takeCount__);if(!n||!a&&r==c&&f==c)return tr(t,this.__actions__);var p=[];t:for(;c--&&g<f;){for(var m=-1,h=t[l+=e];++m<u;){var b=d[m],y=b.type,_=(0,b.iteratee)(h);if(2==y)h=_;else if(!_){if(1==y)continue t;break t}}p[g++]=h}return p},Tn.prototype.at=ai,Tn.prototype.chain=function(){return ei(this)},Tn.prototype.commit=function(){return new In(this.value(),this.__chain__)},Tn.prototype.next=function(){void 0===this.__values__&&(this.__values__=es(this.value()));var t=this.__index__>=this.__values__.length;return{done:t,value:t?void 0:this.__values__[this.__index__++]}},Tn.prototype.plant=function(t){for(var e,n=this;n instanceof kn;){var a=So(n);a.__index__=0,a.__values__=void 0,e?r.__wrapped__=a:e=a;var r=a;n=n.__wrapped__}return r.__wrapped__=t,e},Tn.prototype.reverse=function(){var t=this.__wrapped__;if(t instanceof Nn){var e=t;return this.__actions__.length&&(e=new Nn(this)),(e=e.reverse()).__actions__.push({func:ni,args:[Vo],thisArg:void 0}),new In(e,this.__chain__)}return this.thru(Vo)},Tn.prototype.toJSON=Tn.prototype.valueOf=Tn.prototype.value=function(){return tr(this.__wrapped__,this.__actions__)},Tn.prototype.first=Tn.prototype.head,Pe&&(Tn.prototype[Pe]=function(){return this}),Tn}();Yt._=He,void 0===(a=(function(){return He}).call(e,n,e,t))||(t.exports=a)}).call(this)}).call(this,n("YuTi")(t))},Lwhh:function(t,e,n){var a=n("mrSG").__decorate;Object.defineProperty(e,"__esModule",{value:!0});var r=n("8Y7J");e.DataTableColumnHeaderDirective=function(){return a([r.Directive({selector:"[ngx-datatable-header-template]"})],(function(t){this.template=t}))}()},M9eX:function(t,e,n){var a=n("mrSG").__decorate,r=n("mrSG").__metadata;Object.defineProperty(e,"__esModule",{value:!0});var o=n("8Y7J"),i=n("qCKp"),s=(n("czA5"),n("kU1M"));e.ResizeableDirective=function(){function t(t,e){this.renderer=e,this.resizeEnabled=!0,this.resize=new o.EventEmitter,this.resizing=!1,this.element=t.nativeElement}return t.prototype.ngAfterViewInit=function(){var t=this.renderer,e=t.createElement("span");t.addClass(e,this.resizeEnabled?"resize-handle":"resize-handle--not-resizable"),t.appendChild(this.element,e)},t.prototype.ngOnDestroy=function(){this._destroySubscription()},t.prototype.onMouseup=function(){this.resizing=!1,this.subscription&&!this.subscription.closed&&(this._destroySubscription(),this.resize.emit(this.element.clientWidth))},t.prototype.onMousedown=function(t){var e=this,n=t.target.classList.contains("resize-handle"),a=this.element.clientWidth,r=t.screenX;if(n){t.stopPropagation(),this.resizing=!0;var o=i.fromEvent(document,"mouseup");this.subscription=o.subscribe((function(t){return e.onMouseup()}));var c=i.fromEvent(document,"mousemove").pipe(s.takeUntil(o)).subscribe((function(t){return e.move(t,a,r)}));this.subscription.add(c)}},t.prototype.move=function(t,e,n){var a=e+(t.screenX-n);(!this.minWidth||a>=this.minWidth)&&(!this.maxWidth||a<=this.maxWidth)&&(this.element.style.width=a+"px")},t.prototype._destroySubscription=function(){this.subscription&&(this.subscription.unsubscribe(),this.subscription=void 0)},a([o.Input(),r("design:type",Boolean)],t.prototype,"resizeEnabled",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"minWidth",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"maxWidth",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"resize",void 0),a([o.HostListener("mousedown",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],t.prototype,"onMousedown",null),a([o.Directive({selector:"[resizeable]",host:{"[class.resizeable]":"resizeEnabled"}})],t)}()},MJIl:function(t,e,n){var a=n("QoRX"),r=n("ut/Y"),o=n("Nh2a"),i=n("Z0cm"),s=n("mv/X");t.exports=function(t,e,n){var c=i(t)?a:o;return n&&s(t,e,n)&&(e=void 0),c(t,r(e,3))}},MMmD:function(t,e,n){var a=n("lSCD"),r=n("shjB");t.exports=function(t){return null!=t&&r(t.length)&&!a(t)}},"MO+k":function(t,e,n){t.exports=function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var e={rgb2hsl:n,rgb2hsv:a,rgb2hwb:o,rgb2cmyk:i,rgb2keyword:s,rgb2xyz:c,rgb2lab:l,rgb2lch:function(t){return _(l(t))},hsl2rgb:d,hsl2hsv:function(t){var e=t[1]/100,n=t[2]/100;return 0===n?[0,0,0]:[t[0],2*(e*=(n*=2)<=1?n:2-n)/(n+e)*100,(n+e)/2*100]},hsl2hwb:function(t){return o(d(t))},hsl2cmyk:function(t){return i(d(t))},hsl2keyword:function(t){return s(d(t))},hsv2rgb:u,hsv2hsl:function(t){var e,n,a=t[1]/100,r=t[2]/100;return e=a*r,[t[0],100*(e=(e/=(n=(2-a)*r)<=1?n:2-n)||0),100*(n/=2)]},hsv2hwb:function(t){return o(u(t))},hsv2cmyk:function(t){return i(u(t))},hsv2keyword:function(t){return s(u(t))},hwb2rgb:f,hwb2hsl:function(t){return n(f(t))},hwb2hsv:function(t){return a(f(t))},hwb2cmyk:function(t){return i(f(t))},hwb2keyword:function(t){return s(f(t))},cmyk2rgb:p,cmyk2hsl:function(t){return n(p(t))},cmyk2hsv:function(t){return a(p(t))},cmyk2hwb:function(t){return o(p(t))},cmyk2keyword:function(t){return s(p(t))},keyword2rgb:C,keyword2hsl:function(t){return n(C(t))},keyword2hsv:function(t){return a(C(t))},keyword2hwb:function(t){return o(C(t))},keyword2cmyk:function(t){return i(C(t))},keyword2lab:function(t){return l(C(t))},keyword2xyz:function(t){return c(C(t))},xyz2rgb:m,xyz2lab:h,xyz2lch:function(t){return _(h(t))},lab2xyz:y,lab2rgb:O,lab2lch:_,lch2lab:v,lch2xyz:function(t){return y(v(t))},lch2rgb:function(t){return O(v(t))}};function n(t){var e,n,a=t[0]/255,r=t[1]/255,o=t[2]/255,i=Math.min(a,r,o),s=Math.max(a,r,o),c=s-i;return s==i?e=0:a==s?e=(r-o)/c:r==s?e=2+(o-a)/c:o==s&&(e=4+(a-r)/c),(e=Math.min(60*e,360))<0&&(e+=360),n=(i+s)/2,[e,100*(s==i?0:n<=.5?c/(s+i):c/(2-s-i)),100*n]}function a(t){var e,n,a=t[0],r=t[1],o=t[2],i=Math.min(a,r,o),s=Math.max(a,r,o),c=s-i;return n=0==s?0:c/s*1e3/10,s==i?e=0:a==s?e=(r-o)/c:r==s?e=2+(o-a)/c:o==s&&(e=4+(a-r)/c),(e=Math.min(60*e,360))<0&&(e+=360),[e,n,s/255*1e3/10]}function o(t){var e=t[0],a=t[1],r=t[2];return[n(t)[0],1/255*Math.min(e,Math.min(a,r))*100,100*(r=1-1/255*Math.max(e,Math.max(a,r)))]}function i(t){var e,n=t[0]/255,a=t[1]/255,r=t[2]/255;return[100*((1-n-(e=Math.min(1-n,1-a,1-r)))/(1-e)||0),100*((1-a-e)/(1-e)||0),100*((1-r-e)/(1-e)||0),100*e]}function s(t){return M[JSON.stringify(t)]}function c(t){var e=t[0]/255,n=t[1]/255,a=t[2]/255;return[100*(.4124*(e=e>.04045?Math.pow((e+.055)/1.055,2.4):e/12.92)+.3576*(n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92)+.1805*(a=a>.04045?Math.pow((a+.055)/1.055,2.4):a/12.92)),100*(.2126*e+.7152*n+.0722*a),100*(.0193*e+.1192*n+.9505*a)]}function l(t){var e=c(t),n=e[0],a=e[1],r=e[2];return a/=100,r/=108.883,n=(n/=95.047)>.008856?Math.pow(n,1/3):7.787*n+16/116,[116*(a=a>.008856?Math.pow(a,1/3):7.787*a+16/116)-16,500*(n-a),200*(a-(r=r>.008856?Math.pow(r,1/3):7.787*r+16/116))]}function d(t){var e,n,a,r,o,i=t[0]/360,s=t[1]/100,c=t[2]/100;if(0==s)return[o=255*c,o,o];e=2*c-(n=c<.5?c*(1+s):c+s-c*s),r=[0,0,0];for(var l=0;l<3;l++)(a=i+1/3*-(l-1))<0&&a++,a>1&&a--,r[l]=255*(o=6*a<1?e+6*(n-e)*a:2*a<1?n:3*a<2?e+(n-e)*(2/3-a)*6:e);return r}function u(t){var e=t[0]/60,n=t[1]/100,a=t[2]/100,r=Math.floor(e)%6,o=e-Math.floor(e),i=255*a*(1-n),s=255*a*(1-n*o),c=255*a*(1-n*(1-o));switch(a*=255,r){case 0:return[a,c,i];case 1:return[s,a,i];case 2:return[i,a,c];case 3:return[i,s,a];case 4:return[c,i,a];case 5:return[a,i,s]}}function f(t){var e,n,a,o,i=t[0]/360,s=t[1]/100,c=t[2]/100,l=s+c;switch(l>1&&(s/=l,c/=l),a=6*i-(e=Math.floor(6*i)),0!=(1&e)&&(a=1-a),o=s+a*((n=1-c)-s),e){default:case 6:case 0:r=n,g=o,b=s;break;case 1:r=o,g=n,b=s;break;case 2:r=s,g=n,b=o;break;case 3:r=s,g=o,b=n;break;case 4:r=o,g=s,b=n;break;case 5:r=n,g=s,b=o}return[255*r,255*g,255*b]}function p(t){var e=t[1]/100,n=t[2]/100,a=t[3]/100;return[255*(1-Math.min(1,t[0]/100*(1-a)+a)),255*(1-Math.min(1,e*(1-a)+a)),255*(1-Math.min(1,n*(1-a)+a))]}function m(t){var e,n,a,r=t[0]/100,o=t[1]/100,i=t[2]/100;return n=-.9689*r+1.8758*o+.0415*i,a=.0557*r+-.204*o+1.057*i,e=(e=3.2406*r+-1.5372*o+-.4986*i)>.0031308?1.055*Math.pow(e,1/2.4)-.055:e*=12.92,n=n>.0031308?1.055*Math.pow(n,1/2.4)-.055:n*=12.92,a=a>.0031308?1.055*Math.pow(a,1/2.4)-.055:a*=12.92,[255*(e=Math.min(Math.max(0,e),1)),255*(n=Math.min(Math.max(0,n),1)),255*(a=Math.min(Math.max(0,a),1))]}function h(t){var e=t[0],n=t[1],a=t[2];return n/=100,a/=108.883,e=(e/=95.047)>.008856?Math.pow(e,1/3):7.787*e+16/116,[116*(n=n>.008856?Math.pow(n,1/3):7.787*n+16/116)-16,500*(e-n),200*(n-(a=a>.008856?Math.pow(a,1/3):7.787*a+16/116))]}function y(t){var e,n,a,r,o=t[0],i=t[1],s=t[2];return o<=8?r=(n=100*o/903.3)/100*7.787+16/116:(n=100*Math.pow((o+16)/116,3),r=Math.pow(n/100,1/3)),[e=e/95.047<=.008856?e=95.047*(i/500+r-16/116)/7.787:95.047*Math.pow(i/500+r,3),n,a=a/108.883<=.008859?a=108.883*(r-s/200-16/116)/7.787:108.883*Math.pow(r-s/200,3)]}function _(t){var e,n=t[0],a=t[1],r=t[2];return(e=360*Math.atan2(r,a)/2/Math.PI)<0&&(e+=360),[n,Math.sqrt(a*a+r*r),e]}function O(t){return m(y(t))}function v(t){var e,n=t[1];return e=t[2]/360*2*Math.PI,[t[0],n*Math.cos(e),n*Math.sin(e)]}function C(t){return P[t]}var P={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},M={};for(var x in P)M[JSON.stringify(P[x])]=x;var w=function(){return new N};for(var T in e){w[T+"Raw"]=function(t){return function(n){return"number"==typeof n&&(n=Array.prototype.slice.call(arguments)),e[t](n)}}(T);var S=/(\w+)2(\w+)/.exec(T),k=S[1],I=S[2];(w[k]=w[k]||{})[I]=w[T]=function(t){return function(n){"number"==typeof n&&(n=Array.prototype.slice.call(arguments));var a=e[t](n);if("string"==typeof a||void 0===a)return a;for(var r=0;r<a.length;r++)a[r]=Math.round(a[r]);return a}}(T)}var N=function(){this.convs={}};N.prototype.routeSpace=function(t,e){var n=e[0];return void 0===n?this.getValues(t):("number"==typeof n&&(n=Array.prototype.slice.call(e)),this.setValues(t,n))},N.prototype.setValues=function(t,e){return this.space=t,this.convs={},this.convs[t]=e,this},N.prototype.getValues=function(t){var e=this.convs[t];if(!e){var n=this.space;e=w[n][t](this.convs[n]),this.convs[t]=e}return e},["rgb","hsl","hsv","cmyk","keyword"].forEach((function(t){N.prototype[t]=function(e){return this.routeSpace(t,arguments)}}));var R=w,A={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},E={getRgba:D,getHsla:L,getRgb:function(t){var e=D(t);return e&&e.slice(0,3)},getHsl:function(t){var e=L(t);return e&&e.slice(0,3)},getHwb:q,getAlpha:function(t){var e=D(t);return e?e[3]:(e=L(t))?e[3]:(e=q(t))?e[3]:void 0},hexString:function(t,e){return e=void 0!==e&&3===t.length?e:t[3],"#"+B(t[0])+B(t[1])+B(t[2])+(e>=0&&e<1?B(Math.round(255*e)):"")},rgbString:function(t,e){return e<1||t[3]&&t[3]<1?j(t,e):"rgb("+t[0]+", "+t[1]+", "+t[2]+")"},rgbaString:j,percentString:function(t,e){return e<1||t[3]&&t[3]<1?F(t,e):"rgb("+Math.round(t[0]/255*100)+"%, "+Math.round(t[1]/255*100)+"%, "+Math.round(t[2]/255*100)+"%)"},percentaString:F,hslString:function(t,e){return e<1||t[3]&&t[3]<1?z(t,e):"hsl("+t[0]+", "+t[1]+"%, "+t[2]+"%)"},hslaString:z,hwbString:function(t,e){return void 0===e&&(e=void 0!==t[3]?t[3]:1),"hwb("+t[0]+", "+t[1]+"%, "+t[2]+"%"+(void 0!==e&&1!==e?", "+e:"")+")"},keyword:function(t){return V[t.slice(0,3)]}};function D(t){if(t){var e=[0,0,0],n=1,a=t.match(/^#([a-fA-F0-9]{3,4})$/i),r="";if(a){r=(a=a[1])[3];for(var o=0;o<e.length;o++)e[o]=parseInt(a[o]+a[o],16);r&&(n=Math.round(parseInt(r+r,16)/255*100)/100)}else if(a=t.match(/^#([a-fA-F0-9]{6}([a-fA-F0-9]{2})?)$/i)){for(r=a[2],a=a[1],o=0;o<e.length;o++)e[o]=parseInt(a.slice(2*o,2*o+2),16);r&&(n=Math.round(parseInt(r,16)/255*100)/100)}else if(a=t.match(/^rgba?\(\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/i)){for(o=0;o<e.length;o++)e[o]=parseInt(a[o+1]);n=parseFloat(a[4])}else if(a=t.match(/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,\s*([+-]?[\d\.]+)\%\s*,\s*([+-]?[\d\.]+)\%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/i)){for(o=0;o<e.length;o++)e[o]=Math.round(2.55*parseFloat(a[o+1]));n=parseFloat(a[4])}else if(a=t.match(/(\w+)/)){if("transparent"==a[1])return[0,0,0,0];if(!(e=A[a[1]]))return}for(o=0;o<e.length;o++)e[o]=G(e[o],0,255);return n=n||0==n?G(n,0,1):1,e[3]=n,e}}function L(t){if(t){var e=t.match(/^hsla?\(\s*([+-]?\d+)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)/);if(e){var n=parseFloat(e[4]);return[G(parseInt(e[1]),0,360),G(parseFloat(e[2]),0,100),G(parseFloat(e[3]),0,100),G(isNaN(n)?1:n,0,1)]}}}function q(t){if(t){var e=t.match(/^hwb\(\s*([+-]?\d+)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)/);if(e){var n=parseFloat(e[4]);return[G(parseInt(e[1]),0,360),G(parseFloat(e[2]),0,100),G(parseFloat(e[3]),0,100),G(isNaN(n)?1:n,0,1)]}}}function j(t,e){return void 0===e&&(e=void 0!==t[3]?t[3]:1),"rgba("+t[0]+", "+t[1]+", "+t[2]+", "+e+")"}function F(t,e){return"rgba("+Math.round(t[0]/255*100)+"%, "+Math.round(t[1]/255*100)+"%, "+Math.round(t[2]/255*100)+"%, "+(e||t[3]||1)+")"}function z(t,e){return void 0===e&&(e=void 0!==t[3]?t[3]:1),"hsla("+t[0]+", "+t[1]+"%, "+t[2]+"%, "+e+")"}function G(t,e,n){return Math.min(Math.max(e,t),n)}function B(t){var e=t.toString(16).toUpperCase();return e.length<2?"0"+e:e}var V={};for(var Y in A)V[A[Y]]=Y;var H=function(t){return t instanceof H?t:this instanceof H?(this.valid=!1,this.values={rgb:[0,0,0],hsl:[0,0,0],hsv:[0,0,0],hwb:[0,0,0],cmyk:[0,0,0,0],alpha:1},void("string"==typeof t?(e=E.getRgba(t))?this.setValues("rgb",e):(e=E.getHsla(t))?this.setValues("hsl",e):(e=E.getHwb(t))&&this.setValues("hwb",e):"object"==typeof t&&(void 0!==(e=t).r||void 0!==e.red?this.setValues("rgb",e):void 0!==e.l||void 0!==e.lightness?this.setValues("hsl",e):void 0!==e.v||void 0!==e.value?this.setValues("hsv",e):void 0!==e.w||void 0!==e.whiteness?this.setValues("hwb",e):void 0===e.c&&void 0===e.cyan||this.setValues("cmyk",e)))):new H(t);var e};H.prototype={isValid:function(){return this.valid},rgb:function(){return this.setSpace("rgb",arguments)},hsl:function(){return this.setSpace("hsl",arguments)},hsv:function(){return this.setSpace("hsv",arguments)},hwb:function(){return this.setSpace("hwb",arguments)},cmyk:function(){return this.setSpace("cmyk",arguments)},rgbArray:function(){return this.values.rgb},hslArray:function(){return this.values.hsl},hsvArray:function(){return this.values.hsv},hwbArray:function(){var t=this.values;return 1!==t.alpha?t.hwb.concat([t.alpha]):t.hwb},cmykArray:function(){return this.values.cmyk},rgbaArray:function(){var t=this.values;return t.rgb.concat([t.alpha])},hslaArray:function(){var t=this.values;return t.hsl.concat([t.alpha])},alpha:function(t){return void 0===t?this.values.alpha:(this.setValues("alpha",t),this)},red:function(t){return this.setChannel("rgb",0,t)},green:function(t){return this.setChannel("rgb",1,t)},blue:function(t){return this.setChannel("rgb",2,t)},hue:function(t){return t&&(t=(t%=360)<0?360+t:t),this.setChannel("hsl",0,t)},saturation:function(t){return this.setChannel("hsl",1,t)},lightness:function(t){return this.setChannel("hsl",2,t)},saturationv:function(t){return this.setChannel("hsv",1,t)},whiteness:function(t){return this.setChannel("hwb",1,t)},blackness:function(t){return this.setChannel("hwb",2,t)},value:function(t){return this.setChannel("hsv",2,t)},cyan:function(t){return this.setChannel("cmyk",0,t)},magenta:function(t){return this.setChannel("cmyk",1,t)},yellow:function(t){return this.setChannel("cmyk",2,t)},black:function(t){return this.setChannel("cmyk",3,t)},hexString:function(){return E.hexString(this.values.rgb)},rgbString:function(){return E.rgbString(this.values.rgb,this.values.alpha)},rgbaString:function(){return E.rgbaString(this.values.rgb,this.values.alpha)},percentString:function(){return E.percentString(this.values.rgb,this.values.alpha)},hslString:function(){return E.hslString(this.values.hsl,this.values.alpha)},hslaString:function(){return E.hslaString(this.values.hsl,this.values.alpha)},hwbString:function(){return E.hwbString(this.values.hwb,this.values.alpha)},keyword:function(){return E.keyword(this.values.rgb,this.values.alpha)},rgbNumber:function(){var t=this.values.rgb;return t[0]<<16|t[1]<<8|t[2]},luminosity:function(){for(var t=this.values.rgb,e=[],n=0;n<t.length;n++){var a=t[n]/255;e[n]=a<=.03928?a/12.92:Math.pow((a+.055)/1.055,2.4)}return.2126*e[0]+.7152*e[1]+.0722*e[2]},contrast:function(t){var e=this.luminosity(),n=t.luminosity();return e>n?(e+.05)/(n+.05):(n+.05)/(e+.05)},level:function(t){var e=this.contrast(t);return e>=7.1?"AAA":e>=4.5?"AA":""},dark:function(){var t=this.values.rgb;return(299*t[0]+587*t[1]+114*t[2])/1e3<128},light:function(){return!this.dark()},negate:function(){for(var t=[],e=0;e<3;e++)t[e]=255-this.values.rgb[e];return this.setValues("rgb",t),this},lighten:function(t){var e=this.values.hsl;return e[2]+=e[2]*t,this.setValues("hsl",e),this},darken:function(t){var e=this.values.hsl;return e[2]-=e[2]*t,this.setValues("hsl",e),this},saturate:function(t){var e=this.values.hsl;return e[1]+=e[1]*t,this.setValues("hsl",e),this},desaturate:function(t){var e=this.values.hsl;return e[1]-=e[1]*t,this.setValues("hsl",e),this},whiten:function(t){var e=this.values.hwb;return e[1]+=e[1]*t,this.setValues("hwb",e),this},blacken:function(t){var e=this.values.hwb;return e[2]+=e[2]*t,this.setValues("hwb",e),this},greyscale:function(){var t=this.values.rgb,e=.3*t[0]+.59*t[1]+.11*t[2];return this.setValues("rgb",[e,e,e]),this},clearer:function(t){var e=this.values.alpha;return this.setValues("alpha",e-e*t),this},opaquer:function(t){var e=this.values.alpha;return this.setValues("alpha",e+e*t),this},rotate:function(t){var e=this.values.hsl,n=(e[0]+t)%360;return e[0]=n<0?360+n:n,this.setValues("hsl",e),this},mix:function(t,e){var n=t,a=void 0===e?.5:e,r=2*a-1,o=this.alpha()-n.alpha(),i=((r*o==-1?r:(r+o)/(1+r*o))+1)/2,s=1-i;return this.rgb(i*this.red()+s*n.red(),i*this.green()+s*n.green(),i*this.blue()+s*n.blue()).alpha(this.alpha()*a+n.alpha()*(1-a))},toJSON:function(){return this.rgb()},clone:function(){var t,e,n=new H,a=this.values,r=n.values;for(var o in a)a.hasOwnProperty(o)&&("[object Array]"===(e={}.toString.call(t=a[o]))?r[o]=t.slice(0):"[object Number]"===e?r[o]=t:console.error("unexpected color value:",t));return n}},H.prototype.spaces={rgb:["red","green","blue"],hsl:["hue","saturation","lightness"],hsv:["hue","saturation","value"],hwb:["hue","whiteness","blackness"],cmyk:["cyan","magenta","yellow","black"]},H.prototype.maxes={rgb:[255,255,255],hsl:[360,100,100],hsv:[360,100,100],hwb:[360,100,100],cmyk:[100,100,100,100]},H.prototype.getValues=function(t){for(var e=this.values,n={},a=0;a<t.length;a++)n[t.charAt(a)]=e[t][a];return 1!==e.alpha&&(n.a=e.alpha),n},H.prototype.setValues=function(t,e){var n,a,r=this.values,o=this.spaces,i=this.maxes,s=1;if(this.valid=!0,"alpha"===t)s=e;else if(e.length)r[t]=e.slice(0,t.length),s=e[t.length];else if(void 0!==e[t.charAt(0)]){for(n=0;n<t.length;n++)r[t][n]=e[t.charAt(n)];s=e.a}else if(void 0!==e[o[t][0]]){var c=o[t];for(n=0;n<t.length;n++)r[t][n]=e[c[n]];s=e.alpha}if(r.alpha=Math.max(0,Math.min(1,void 0===s?r.alpha:s)),"alpha"===t)return!1;for(n=0;n<t.length;n++)a=Math.max(0,Math.min(i[t][n],r[t][n])),r[t][n]=Math.round(a);for(var l in o)l!==t&&(r[l]=R[t][l](r[t]));return!0},H.prototype.setSpace=function(t,e){var n=e[0];return void 0===n?this.getValues(t):("number"==typeof n&&(n=Array.prototype.slice.call(e)),this.setValues(t,n),this)},H.prototype.setChannel=function(t,e,n){var a=this.values[t];return void 0===n?a[e]:n===a[e]?this:(a[e]=n,this.setValues(t,a),this)},"undefined"!=typeof window&&(window.Color=H);var U,W=H,K={noop:function(){},uid:(U=0,function(){return U++}),isNullOrUndef:function(t){return null==t},isArray:function(t){if(Array.isArray&&Array.isArray(t))return!0;var e=Object.prototype.toString.call(t);return"[object"===e.substr(0,7)&&"Array]"===e.substr(-6)},isObject:function(t){return null!==t&&"[object Object]"===Object.prototype.toString.call(t)},isFinite:function(t){return("number"==typeof t||t instanceof Number)&&isFinite(t)},valueOrDefault:function(t,e){return void 0===t?e:t},valueAtIndexOrDefault:function(t,e,n){return K.valueOrDefault(K.isArray(t)?t[e]:t,n)},callback:function(t,e,n){if(t&&"function"==typeof t.call)return t.apply(n,e)},each:function(t,e,n,a){var r,o,i;if(K.isArray(t))if(o=t.length,a)for(r=o-1;r>=0;r--)e.call(n,t[r],r);else for(r=0;r<o;r++)e.call(n,t[r],r);else if(K.isObject(t))for(o=(i=Object.keys(t)).length,r=0;r<o;r++)e.call(n,t[i[r]],i[r])},arrayEquals:function(t,e){var n,a,r,o;if(!t||!e||t.length!==e.length)return!1;for(n=0,a=t.length;n<a;++n)if(o=e[n],(r=t[n])instanceof Array&&o instanceof Array){if(!K.arrayEquals(r,o))return!1}else if(r!==o)return!1;return!0},clone:function(t){if(K.isArray(t))return t.map(K.clone);if(K.isObject(t)){for(var e={},n=Object.keys(t),a=n.length,r=0;r<a;++r)e[n[r]]=K.clone(t[n[r]]);return e}return t},_merger:function(t,e,n,a){var r=e[t],o=n[t];K.isObject(r)&&K.isObject(o)?K.merge(r,o,a):e[t]=K.clone(o)},_mergerIf:function(t,e,n){var a=e[t],r=n[t];K.isObject(a)&&K.isObject(r)?K.mergeIf(a,r):e.hasOwnProperty(t)||(e[t]=K.clone(r))},merge:function(t,e,n){var a,r,o,i,s,c=K.isArray(e)?e:[e],l=c.length;if(!K.isObject(t))return t;for(a=(n=n||{}).merger||K._merger,r=0;r<l;++r)if(K.isObject(e=c[r]))for(s=0,i=(o=Object.keys(e)).length;s<i;++s)a(o[s],t,e,n);return t},mergeIf:function(t,e){return K.merge(t,e,{merger:K._mergerIf})},extend:function(t){for(var e=function(e,n){t[n]=e},n=1,a=arguments.length;n<a;++n)K.each(arguments[n],e);return t},inherits:function(t){var e=this,n=t&&t.hasOwnProperty("constructor")?t.constructor:function(){return e.apply(this,arguments)},a=function(){this.constructor=n};return a.prototype=e.prototype,n.prototype=new a,n.extend=K.inherits,t&&K.extend(n.prototype,t),n.__super__=e.prototype,n}},$=K;K.callCallback=K.callback,K.indexOf=function(t,e,n){return Array.prototype.indexOf.call(t,e,n)},K.getValueOrDefault=K.valueOrDefault,K.getValueAtIndexOrDefault=K.valueAtIndexOrDefault;var Z={linear:function(t){return t},easeInQuad:function(t){return t*t},easeOutQuad:function(t){return-t*(t-2)},easeInOutQuad:function(t){return(t/=.5)<1?.5*t*t:-.5*(--t*(t-2)-1)},easeInCubic:function(t){return t*t*t},easeOutCubic:function(t){return(t-=1)*t*t+1},easeInOutCubic:function(t){return(t/=.5)<1?.5*t*t*t:.5*((t-=2)*t*t+2)},easeInQuart:function(t){return t*t*t*t},easeOutQuart:function(t){return-((t-=1)*t*t*t-1)},easeInOutQuart:function(t){return(t/=.5)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)},easeInQuint:function(t){return t*t*t*t*t},easeOutQuint:function(t){return(t-=1)*t*t*t*t+1},easeInOutQuint:function(t){return(t/=.5)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)},easeInSine:function(t){return 1-Math.cos(t*(Math.PI/2))},easeOutSine:function(t){return Math.sin(t*(Math.PI/2))},easeInOutSine:function(t){return-.5*(Math.cos(Math.PI*t)-1)},easeInExpo:function(t){return 0===t?0:Math.pow(2,10*(t-1))},easeOutExpo:function(t){return 1===t?1:1-Math.pow(2,-10*t)},easeInOutExpo:function(t){return 0===t?0:1===t?1:(t/=.5)<1?.5*Math.pow(2,10*(t-1)):.5*(2-Math.pow(2,-10*--t))},easeInCirc:function(t){return t>=1?t:-(Math.sqrt(1-t*t)-1)},easeOutCirc:function(t){return Math.sqrt(1-(t-=1)*t)},easeInOutCirc:function(t){return(t/=.5)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)},easeInElastic:function(t){var e=1.70158,n=0,a=1;return 0===t?0:1===t?1:(n||(n=.3),a<1?(a=1,e=n/4):e=n/(2*Math.PI)*Math.asin(1/a),-a*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/n))},easeOutElastic:function(t){var e=1.70158,n=0,a=1;return 0===t?0:1===t?1:(n||(n=.3),a<1?(a=1,e=n/4):e=n/(2*Math.PI)*Math.asin(1/a),a*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/n)+1)},easeInOutElastic:function(t){var e=1.70158,n=0,a=1;return 0===t?0:2==(t/=.5)?1:(n||(n=.45),a<1?(a=1,e=n/4):e=n/(2*Math.PI)*Math.asin(1/a),t<1?a*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/n)*-.5:a*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/n)*.5+1)},easeInBack:function(t){var e=1.70158;return t*t*((e+1)*t-e)},easeOutBack:function(t){var e=1.70158;return(t-=1)*t*((e+1)*t+e)+1},easeInOutBack:function(t){var e=1.70158;return(t/=.5)<1?t*t*((1+(e*=1.525))*t-e)*.5:.5*((t-=2)*t*((1+(e*=1.525))*t+e)+2)},easeInBounce:function(t){return 1-Z.easeOutBounce(1-t)},easeOutBounce:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},easeInOutBounce:function(t){return t<.5?.5*Z.easeInBounce(2*t):.5*Z.easeOutBounce(2*t-1)+.5}},J={effects:Z};$.easingEffects=Z;var X=Math.PI,Q=X/180,tt=2*X,et=X/2,nt=X/4,at=2*X/3,rt={clear:function(t){t.ctx.clearRect(0,0,t.width,t.height)},roundedRect:function(t,e,n,a,r,o){if(o){var i=Math.min(o,r/2,a/2),s=e+i,c=n+i,l=e+a-i,d=n+r-i;t.moveTo(e,c),s<l&&c<d?(t.arc(s,c,i,-X,-et),t.arc(l,c,i,-et,0),t.arc(l,d,i,0,et),t.arc(s,d,i,et,X)):s<l?(t.moveTo(s,n),t.arc(l,c,i,-et,et),t.arc(s,c,i,et,X+et)):c<d?(t.arc(s,c,i,-X,0),t.arc(s,d,i,0,X)):t.arc(s,c,i,-X,X),t.closePath(),t.moveTo(e,n)}else t.rect(e,n,a,r)},drawPoint:function(t,e,n,a,r,o){var i,s,c,l,d,u=(o||0)*Q;if(!e||"object"!=typeof e||"[object HTMLImageElement]"!==(i=e.toString())&&"[object HTMLCanvasElement]"!==i){if(!(isNaN(n)||n<=0)){switch(t.beginPath(),e){default:t.arc(a,r,n,0,tt),t.closePath();break;case"triangle":t.moveTo(a+Math.sin(u)*n,r-Math.cos(u)*n),u+=at,t.lineTo(a+Math.sin(u)*n,r-Math.cos(u)*n),u+=at,t.lineTo(a+Math.sin(u)*n,r-Math.cos(u)*n),t.closePath();break;case"rectRounded":l=n-(d=.516*n),s=Math.cos(u+nt)*l,c=Math.sin(u+nt)*l,t.arc(a-s,r-c,d,u-X,u-et),t.arc(a+c,r-s,d,u-et,u),t.arc(a+s,r+c,d,u,u+et),t.arc(a-c,r+s,d,u+et,u+X),t.closePath();break;case"rect":if(!o){l=Math.SQRT1_2*n,t.rect(a-l,r-l,2*l,2*l);break}u+=nt;case"rectRot":s=Math.cos(u)*n,c=Math.sin(u)*n,t.moveTo(a-s,r-c),t.lineTo(a+c,r-s),t.lineTo(a+s,r+c),t.lineTo(a-c,r+s),t.closePath();break;case"crossRot":u+=nt;case"cross":s=Math.cos(u)*n,c=Math.sin(u)*n,t.moveTo(a-s,r-c),t.lineTo(a+s,r+c),t.moveTo(a+c,r-s),t.lineTo(a-c,r+s);break;case"star":s=Math.cos(u)*n,c=Math.sin(u)*n,t.moveTo(a-s,r-c),t.lineTo(a+s,r+c),t.moveTo(a+c,r-s),t.lineTo(a-c,r+s),u+=nt,s=Math.cos(u)*n,c=Math.sin(u)*n,t.moveTo(a-s,r-c),t.lineTo(a+s,r+c),t.moveTo(a+c,r-s),t.lineTo(a-c,r+s);break;case"line":s=Math.cos(u)*n,c=Math.sin(u)*n,t.moveTo(a-s,r-c),t.lineTo(a+s,r+c);break;case"dash":t.moveTo(a,r),t.lineTo(a+Math.cos(u)*n,r+Math.sin(u)*n)}t.fill(),t.stroke()}}else t.drawImage(e,a-e.width/2,r-e.height/2,e.width,e.height)},_isPointInArea:function(t,e){return t.x>e.left-1e-6&&t.x<e.right+1e-6&&t.y>e.top-1e-6&&t.y<e.bottom+1e-6},clipArea:function(t,e){t.save(),t.beginPath(),t.rect(e.left,e.top,e.right-e.left,e.bottom-e.top),t.clip()},unclipArea:function(t){t.restore()},lineTo:function(t,e,n,a){var r=n.steppedLine;if(r){if("middle"===r){var o=(e.x+n.x)/2;t.lineTo(o,a?n.y:e.y),t.lineTo(o,a?e.y:n.y)}else"after"===r&&!a||"after"!==r&&a?t.lineTo(e.x,n.y):t.lineTo(n.x,e.y);t.lineTo(n.x,n.y)}else n.tension?t.bezierCurveTo(a?e.controlPointPreviousX:e.controlPointNextX,a?e.controlPointPreviousY:e.controlPointNextY,a?n.controlPointNextX:n.controlPointPreviousX,a?n.controlPointNextY:n.controlPointPreviousY,n.x,n.y):t.lineTo(n.x,n.y)}},ot=rt;$.clear=rt.clear,$.drawRoundedRectangle=function(t){t.beginPath(),rt.roundedRect.apply(rt,arguments)};var it={_set:function(t,e){return $.merge(this[t]||(this[t]={}),e)}};it._set("global",{defaultColor:"rgba(0,0,0,0.1)",defaultFontColor:"#666",defaultFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",defaultFontSize:12,defaultFontStyle:"normal",defaultLineHeight:1.2,showLines:!0});var st=it,ct=$.valueOrDefault,lt={toLineHeight:function(t,e){var n=(""+t).match(/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/);if(!n||"normal"===n[1])return 1.2*e;switch(t=+n[2],n[3]){case"px":return t;case"%":t/=100}return e*t},toPadding:function(t){var e,n,a,r;return $.isObject(t)?(e=+t.top||0,n=+t.right||0,a=+t.bottom||0,r=+t.left||0):e=n=a=r=+t||0,{top:e,right:n,bottom:a,left:r,height:e+a,width:r+n}},_parseFont:function(t){var e=st.global,n=ct(t.fontSize,e.defaultFontSize),a={family:ct(t.fontFamily,e.defaultFontFamily),lineHeight:$.options.toLineHeight(ct(t.lineHeight,e.defaultLineHeight),n),size:n,style:ct(t.fontStyle,e.defaultFontStyle),weight:null,string:""};return a.string=function(t){return!t||$.isNullOrUndef(t.size)||$.isNullOrUndef(t.family)?null:(t.style?t.style+" ":"")+(t.weight?t.weight+" ":"")+t.size+"px "+t.family}(a),a},resolve:function(t,e,n){var a,r,o;for(a=0,r=t.length;a<r;++a)if(void 0!==(o=t[a])&&(void 0!==e&&"function"==typeof o&&(o=o(e)),void 0!==n&&$.isArray(o)&&(o=o[n]),void 0!==o))return o}},dt=$,ut=ot,gt=lt;dt.easing=J,dt.canvas=ut,dt.options=gt;var ft=function(t){dt.extend(this,t),this.initialize.apply(this,arguments)};dt.extend(ft.prototype,{initialize:function(){this.hidden=!1},pivot:function(){var t=this;return t._view||(t._view=dt.clone(t._model)),t._start={},t},transition:function(t){var e=this,n=e._model,a=e._start,r=e._view;return n&&1!==t?(r||(r=e._view={}),a||(a=e._start={}),function(t,e,n,a){var r,o,i,s,c,l,d,u,g,f=Object.keys(n);for(r=0,o=f.length;r<o;++r)if(l=n[i=f[r]],e.hasOwnProperty(i)||(e[i]=l),(s=e[i])!==l&&"_"!==i[0]){if(t.hasOwnProperty(i)||(t[i]=s),(d=typeof l)==typeof(c=t[i]))if("string"===d){if((u=W(c)).valid&&(g=W(l)).valid){e[i]=g.mix(u,a).rgbString();continue}}else if(dt.isFinite(c)&&dt.isFinite(l)){e[i]=c+(l-c)*a;continue}e[i]=l}}(a,r,n,t),e):(e._view=n,e._start=null,e)},tooltipPosition:function(){return{x:this._model.x,y:this._model.y}},hasValue:function(){return dt.isNumber(this._model.x)&&dt.isNumber(this._model.y)}}),ft.extend=dt.inherits;var pt=ft,mt=pt.extend({chart:null,currentStep:0,numSteps:60,easing:"",render:null,onAnimationProgress:null,onAnimationComplete:null}),ht=mt;Object.defineProperty(mt.prototype,"animationObject",{get:function(){return this}}),Object.defineProperty(mt.prototype,"chartInstance",{get:function(){return this.chart},set:function(t){this.chart=t}}),st._set("global",{animation:{duration:1e3,easing:"easeOutQuart",onProgress:dt.noop,onComplete:dt.noop}});var bt={animations:[],request:null,addAnimation:function(t,e,n,a){var r,o,i=this.animations;for(e.chart=t,e.startTime=Date.now(),e.duration=n,a||(t.animating=!0),r=0,o=i.length;r<o;++r)if(i[r].chart===t)return void(i[r]=e);i.push(e),1===i.length&&this.requestAnimationFrame()},cancelAnimation:function(t){var e=dt.findIndex(this.animations,(function(e){return e.chart===t}));-1!==e&&(this.animations.splice(e,1),t.animating=!1)},requestAnimationFrame:function(){var t=this;null===t.request&&(t.request=dt.requestAnimFrame.call(window,(function(){t.request=null,t.startDigest()})))},startDigest:function(){this.advance(),this.animations.length>0&&this.requestAnimationFrame()},advance:function(){for(var t,e,n,a,r=this.animations,o=0;o<r.length;)e=(t=r[o]).chart,n=t.numSteps,a=Math.floor((Date.now()-t.startTime)/t.duration*n)+1,t.currentStep=Math.min(a,n),dt.callback(t.render,[e,t],e),dt.callback(t.onAnimationProgress,[t],e),t.currentStep>=n?(dt.callback(t.onAnimationComplete,[t],e),e.animating=!1,r.splice(o,1)):++o}},yt=dt.options.resolve,_t=["push","pop","shift","splice","unshift"];function Ot(t,e){var n=t._chartjs;if(n){var a=n.listeners,r=a.indexOf(e);-1!==r&&a.splice(r,1),a.length>0||(_t.forEach((function(e){delete t[e]})),delete t._chartjs)}}var vt=function(t,e){this.initialize(t,e)};dt.extend(vt.prototype,{datasetElementType:null,dataElementType:null,initialize:function(t,e){this.chart=t,this.index=e,this.linkScales(),this.addElements()},updateIndex:function(t){this.index=t},linkScales:function(){var t=this,e=t.getMeta(),n=t.getDataset();null!==e.xAxisID&&e.xAxisID in t.chart.scales||(e.xAxisID=n.xAxisID||t.chart.options.scales.xAxes[0].id),null!==e.yAxisID&&e.yAxisID in t.chart.scales||(e.yAxisID=n.yAxisID||t.chart.options.scales.yAxes[0].id)},getDataset:function(){return this.chart.data.datasets[this.index]},getMeta:function(){return this.chart.getDatasetMeta(this.index)},getScaleForId:function(t){return this.chart.scales[t]},_getValueScaleId:function(){return this.getMeta().yAxisID},_getIndexScaleId:function(){return this.getMeta().xAxisID},_getValueScale:function(){return this.getScaleForId(this._getValueScaleId())},_getIndexScale:function(){return this.getScaleForId(this._getIndexScaleId())},reset:function(){this.update(!0)},destroy:function(){this._data&&Ot(this._data,this)},createMetaDataset:function(){var t=this.datasetElementType;return t&&new t({_chart:this.chart,_datasetIndex:this.index})},createMetaData:function(t){var e=this.dataElementType;return e&&new e({_chart:this.chart,_datasetIndex:this.index,_index:t})},addElements:function(){var t,e,n=this.getMeta(),a=this.getDataset().data||[],r=n.data;for(t=0,e=a.length;t<e;++t)r[t]=r[t]||this.createMetaData(t);n.dataset=n.dataset||this.createMetaDataset()},addElementAndReset:function(t){var e=this.createMetaData(t);this.getMeta().data.splice(t,0,e),this.updateElement(e,t,!0)},buildOrUpdateElements:function(){var t,e,n=this,a=n.getDataset(),r=a.data||(a.data=[]);n._data!==r&&(n._data&&Ot(n._data,n),r&&Object.isExtensible(r)&&(e=n,(t=r)._chartjs?t._chartjs.listeners.push(e):(Object.defineProperty(t,"_chartjs",{configurable:!0,enumerable:!1,value:{listeners:[e]}}),_t.forEach((function(e){var n="onData"+e.charAt(0).toUpperCase()+e.slice(1),a=t[e];Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value:function(){var e=Array.prototype.slice.call(arguments),r=a.apply(this,e);return dt.each(t._chartjs.listeners,(function(t){"function"==typeof t[n]&&t[n].apply(t,e)})),r}})})))),n._data=r),n.resyncElements()},update:dt.noop,transition:function(t){for(var e=this.getMeta(),n=e.data||[],a=n.length,r=0;r<a;++r)n[r].transition(t);e.dataset&&e.dataset.transition(t)},draw:function(){var t=this.getMeta(),e=t.data||[],n=e.length,a=0;for(t.dataset&&t.dataset.draw();a<n;++a)e[a].draw()},removeHoverStyle:function(t){dt.merge(t._model,t.$previousStyle||{}),delete t.$previousStyle},setHoverStyle:function(t){var e=this.chart.data.datasets[t._datasetIndex],n=t._index,a=t.custom||{},r=t._model,o=dt.getHoverColor;t.$previousStyle={backgroundColor:r.backgroundColor,borderColor:r.borderColor,borderWidth:r.borderWidth},r.backgroundColor=yt([a.hoverBackgroundColor,e.hoverBackgroundColor,o(r.backgroundColor)],void 0,n),r.borderColor=yt([a.hoverBorderColor,e.hoverBorderColor,o(r.borderColor)],void 0,n),r.borderWidth=yt([a.hoverBorderWidth,e.hoverBorderWidth,r.borderWidth],void 0,n)},resyncElements:function(){var t=this.getMeta(),e=this.getDataset().data,n=t.data.length,a=e.length;a<n?t.data.splice(a,n-a):a>n&&this.insertElements(n,a-n)},insertElements:function(t,e){for(var n=0;n<e;++n)this.addElementAndReset(t+n)},onDataPush:function(){var t=arguments.length;this.insertElements(this.getDataset().data.length-t,t)},onDataPop:function(){this.getMeta().data.pop()},onDataShift:function(){this.getMeta().data.shift()},onDataSplice:function(t,e){this.getMeta().data.splice(t,e),this.insertElements(t,arguments.length-2)},onDataUnshift:function(){this.insertElements(0,arguments.length)}}),vt.extend=dt.inherits;var Ct=vt;st._set("global",{elements:{arc:{backgroundColor:st.global.defaultColor,borderColor:"#fff",borderWidth:2,borderAlign:"center"}}});var Pt=pt.extend({inLabelRange:function(t){var e=this._view;return!!e&&Math.pow(t-e.x,2)<Math.pow(e.radius+e.hoverRadius,2)},inRange:function(t,e){var n=this._view;if(n){for(var a=dt.getAngleFromPoint(n,{x:t,y:e}),r=a.angle,o=a.distance,i=n.startAngle,s=n.endAngle;s<i;)s+=2*Math.PI;for(;r>s;)r-=2*Math.PI;for(;r<i;)r+=2*Math.PI;return r>=i&&r<=s&&o>=n.innerRadius&&o<=n.outerRadius}return!1},getCenterPoint:function(){var t=this._view,e=(t.startAngle+t.endAngle)/2,n=(t.innerRadius+t.outerRadius)/2;return{x:t.x+Math.cos(e)*n,y:t.y+Math.sin(e)*n}},getArea:function(){var t=this._view;return Math.PI*((t.endAngle-t.startAngle)/(2*Math.PI))*(Math.pow(t.outerRadius,2)-Math.pow(t.innerRadius,2))},tooltipPosition:function(){var t=this._view,e=t.startAngle+(t.endAngle-t.startAngle)/2,n=(t.outerRadius-t.innerRadius)/2+t.innerRadius;return{x:t.x+Math.cos(e)*n,y:t.y+Math.sin(e)*n}},draw:function(){var t,e=this._chart.ctx,n=this._view,a=n.startAngle,r=n.endAngle,o="inner"===n.borderAlign?.33:0;e.save(),e.beginPath(),e.arc(n.x,n.y,Math.max(n.outerRadius-o,0),a,r),e.arc(n.x,n.y,n.innerRadius,r,a,!0),e.closePath(),e.fillStyle=n.backgroundColor,e.fill(),n.borderWidth&&("inner"===n.borderAlign?(e.beginPath(),e.arc(n.x,n.y,n.outerRadius,a-(t=o/n.outerRadius),r+t),n.innerRadius>o?e.arc(n.x,n.y,n.innerRadius-o,r+(t=o/n.innerRadius),a-t,!0):e.arc(n.x,n.y,o,r+Math.PI/2,a-Math.PI/2),e.closePath(),e.clip(),e.beginPath(),e.arc(n.x,n.y,n.outerRadius,a,r),e.arc(n.x,n.y,n.innerRadius,r,a,!0),e.closePath(),e.lineWidth=2*n.borderWidth,e.lineJoin="round"):(e.lineWidth=n.borderWidth,e.lineJoin="bevel"),e.strokeStyle=n.borderColor,e.stroke()),e.restore()}}),Mt=dt.valueOrDefault,xt=st.global.defaultColor;st._set("global",{elements:{line:{tension:.4,backgroundColor:xt,borderWidth:3,borderColor:xt,borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",capBezierPoints:!0,fill:!0}}});var wt=pt.extend({draw:function(){var t,e,n,a,r=this._view,o=this._chart.ctx,i=r.spanGaps,s=this._children.slice(),c=st.global,l=c.elements.line,d=-1;for(this._loop&&s.length&&s.push(s[0]),o.save(),o.lineCap=r.borderCapStyle||l.borderCapStyle,o.setLineDash&&o.setLineDash(r.borderDash||l.borderDash),o.lineDashOffset=Mt(r.borderDashOffset,l.borderDashOffset),o.lineJoin=r.borderJoinStyle||l.borderJoinStyle,o.lineWidth=Mt(r.borderWidth,l.borderWidth),o.strokeStyle=r.borderColor||c.defaultColor,o.beginPath(),d=-1,t=0;t<s.length;++t)e=s[t],n=dt.previousItem(s,t),a=e._view,0===t?a.skip||(o.moveTo(a.x,a.y),d=t):(n=-1===d?n:s[d],a.skip||(d!==t-1&&!i||-1===d?o.moveTo(a.x,a.y):dt.canvas.lineTo(o,n._view,e._view),d=t));o.stroke(),o.restore()}}),Tt=dt.valueOrDefault,St=st.global.defaultColor;function kt(t){var e=this._view;return!!e&&Math.abs(t-e.x)<e.radius+e.hitRadius}st._set("global",{elements:{point:{radius:3,pointStyle:"circle",backgroundColor:St,borderColor:St,borderWidth:1,hitRadius:1,hoverRadius:4,hoverBorderWidth:1}}});var It=pt.extend({inRange:function(t,e){var n=this._view;return!!n&&Math.pow(t-n.x,2)+Math.pow(e-n.y,2)<Math.pow(n.hitRadius+n.radius,2)},inLabelRange:kt,inXRange:kt,inYRange:function(t){var e=this._view;return!!e&&Math.abs(t-e.y)<e.radius+e.hitRadius},getCenterPoint:function(){var t=this._view;return{x:t.x,y:t.y}},getArea:function(){return Math.PI*Math.pow(this._view.radius,2)},tooltipPosition:function(){var t=this._view;return{x:t.x,y:t.y,padding:t.radius+t.borderWidth}},draw:function(t){var e=this._view,n=this._chart.ctx,a=e.pointStyle,r=e.rotation,o=e.radius,i=e.x,s=e.y,c=st.global,l=c.defaultColor;e.skip||(void 0===t||dt.canvas._isPointInArea(e,t))&&(n.strokeStyle=e.borderColor||l,n.lineWidth=Tt(e.borderWidth,c.elements.point.borderWidth),n.fillStyle=e.backgroundColor||l,dt.canvas.drawPoint(n,a,o,i,s,r))}}),Nt=st.global.defaultColor;function Rt(t){return t&&void 0!==t.width}function At(t){var e,n,a,r,o;return Rt(t)?(e=t.x-(o=t.width/2),n=t.x+o,a=Math.min(t.y,t.base),r=Math.max(t.y,t.base)):(o=t.height/2,e=Math.min(t.x,t.base),n=Math.max(t.x,t.base),a=t.y-o,r=t.y+o),{left:e,top:a,right:n,bottom:r}}function Et(t,e,n){return t===e?n:t===n?e:t}function Dt(t,e,n){var a=null===e,r=null===n,o=!(!t||a&&r)&&At(t);return o&&(a||e>=o.left&&e<=o.right)&&(r||n>=o.top&&n<=o.bottom)}st._set("global",{elements:{rectangle:{backgroundColor:Nt,borderColor:Nt,borderSkipped:"bottom",borderWidth:0}}});var Lt=pt.extend({draw:function(){var t=this._chart.ctx,e=this._view,n=function(t){var e=At(t),n=e.right-e.left,a=e.bottom-e.top,r=function(t,e,n){var a,r,o,i,s=t.borderWidth,c=function(t){var e=t.borderSkipped,n={};return e?(t.horizontal?t.base>t.x&&(e=Et(e,"left","right")):t.base<t.y&&(e=Et(e,"bottom","top")),n[e]=!0,n):n}(t);return dt.isObject(s)?(a=+s.top||0,r=+s.right||0,o=+s.bottom||0,i=+s.left||0):a=r=o=i=+s||0,{t:c.top||a<0?0:a>n?n:a,r:c.right||r<0?0:r>e?e:r,b:c.bottom||o<0?0:o>n?n:o,l:c.left||i<0?0:i>e?e:i}}(t,n/2,a/2);return{outer:{x:e.left,y:e.top,w:n,h:a},inner:{x:e.left+r.l,y:e.top+r.t,w:n-r.l-r.r,h:a-r.t-r.b}}}(e),a=n.outer,r=n.inner;t.fillStyle=e.backgroundColor,t.fillRect(a.x,a.y,a.w,a.h),a.w===r.w&&a.h===r.h||(t.save(),t.beginPath(),t.rect(a.x,a.y,a.w,a.h),t.clip(),t.fillStyle=e.borderColor,t.rect(r.x,r.y,r.w,r.h),t.fill("evenodd"),t.restore())},height:function(){var t=this._view;return t.base-t.y},inRange:function(t,e){return Dt(this._view,t,e)},inLabelRange:function(t,e){var n=this._view;return Rt(n)?Dt(n,t,null):Dt(n,null,e)},inXRange:function(t){return Dt(this._view,t,null)},inYRange:function(t){return Dt(this._view,null,t)},getCenterPoint:function(){var t,e,n=this._view;return Rt(n)?(t=n.x,e=(n.y+n.base)/2):(t=(n.x+n.base)/2,e=n.y),{x:t,y:e}},getArea:function(){var t=this._view;return Rt(t)?t.width*Math.abs(t.y-t.base):t.height*Math.abs(t.x-t.base)},tooltipPosition:function(){var t=this._view;return{x:t.x,y:t.y}}}),qt={},jt=wt,Ft=It,zt=Lt;qt.Arc=Pt,qt.Line=jt,qt.Point=Ft,qt.Rectangle=zt;var Gt=dt.options.resolve;st._set("bar",{hover:{mode:"label"},scales:{xAxes:[{type:"category",categoryPercentage:.8,barPercentage:.9,offset:!0,gridLines:{offsetGridLines:!0}}],yAxes:[{type:"linear"}]}});var Bt=Ct.extend({dataElementType:qt.Rectangle,initialize:function(){var t,e=this;Ct.prototype.initialize.apply(e,arguments),(t=e.getMeta()).stack=e.getDataset().stack,t.bar=!0},update:function(t){var e,n,a=this.getMeta().data;for(this._ruler=this.getRuler(),e=0,n=a.length;e<n;++e)this.updateElement(a[e],e,t)},updateElement:function(t,e,n){var a=this,r=a.getMeta(),o=a.getDataset(),i=a._resolveElementOptions(t,e);t._xScale=a.getScaleForId(r.xAxisID),t._yScale=a.getScaleForId(r.yAxisID),t._datasetIndex=a.index,t._index=e,t._model={backgroundColor:i.backgroundColor,borderColor:i.borderColor,borderSkipped:i.borderSkipped,borderWidth:i.borderWidth,datasetLabel:o.label,label:a.chart.data.labels[e]},a._updateElementGeometry(t,e,n),t.pivot()},_updateElementGeometry:function(t,e,n){var a=this,r=t._model,o=a._getValueScale(),i=o.getBasePixel(),s=o.isHorizontal(),c=a._ruler||a.getRuler(),l=a.calculateBarValuePixels(a.index,e),d=a.calculateBarIndexPixels(a.index,e,c);r.horizontal=s,r.base=n?i:l.base,r.x=s?n?i:l.head:d.center,r.y=s?d.center:n?i:l.head,r.height=s?d.size:void 0,r.width=s?void 0:d.size},_getStacks:function(t){var e,n,a=this.chart,r=this._getIndexScale().options.stacked,o=void 0===t?a.data.datasets.length:t+1,i=[];for(e=0;e<o;++e)(n=a.getDatasetMeta(e)).bar&&a.isDatasetVisible(e)&&(!1===r||!0===r&&-1===i.indexOf(n.stack)||void 0===r&&(void 0===n.stack||-1===i.indexOf(n.stack)))&&i.push(n.stack);return i},getStackCount:function(){return this._getStacks().length},getStackIndex:function(t,e){var n=this._getStacks(t),a=void 0!==e?n.indexOf(e):-1;return-1===a?n.length-1:a},getRuler:function(){var t,e,n=this._getIndexScale(),a=this.getStackCount(),r=this.index,o=n.isHorizontal(),i=o?n.left:n.top,s=i+(o?n.width:n.height),c=[];for(t=0,e=this.getMeta().data.length;t<e;++t)c.push(n.getPixelForValue(null,t,r));return{min:dt.isNullOrUndef(n.options.barThickness)?function(t,e){var n,a,r,o,i=t.isHorizontal()?t.width:t.height,s=t.getTicks();for(r=1,o=e.length;r<o;++r)i=Math.min(i,Math.abs(e[r]-e[r-1]));for(r=0,o=s.length;r<o;++r)a=t.getPixelForTick(r),i=r>0?Math.min(i,a-n):i,n=a;return i}(n,c):-1,pixels:c,start:i,end:s,stackCount:a,scale:n}},calculateBarValuePixels:function(t,e){var n,a,r,o,i,s,c=this.chart,l=this.getMeta(),d=this._getValueScale(),u=d.isHorizontal(),g=c.data.datasets,f=+d.getRightValue(g[t].data[e]),p=d.options.minBarLength,m=d.options.stacked,h=l.stack,b=0;if(m||void 0===m&&void 0!==h)for(n=0;n<t;++n)(a=c.getDatasetMeta(n)).bar&&a.stack===h&&a.controller._getValueScaleId()===d.id&&c.isDatasetVisible(n)&&(r=+d.getRightValue(g[n].data[e]),(f<0&&r<0||f>=0&&r>0)&&(b+=r));return o=d.getPixelForValue(b),s=(i=d.getPixelForValue(b+f))-o,void 0!==p&&Math.abs(s)<p&&(s=p,i=f>=0&&!u||f<0&&u?o-p:o+p),{size:s,base:o,head:i,center:i+s/2}},calculateBarIndexPixels:function(t,e,n){var a=n.scale.options,r="flex"===a.barThickness?function(t,e,n){var a,r=e.pixels,o=r[t],i=t>0?r[t-1]:null,s=t<r.length-1?r[t+1]:null,c=n.categoryPercentage;return null===i&&(i=o-(null===s?e.end-e.start:s-o)),null===s&&(s=o+o-i),a=o-(o-Math.min(i,s))/2*c,{chunk:Math.abs(s-i)/2*c/e.stackCount,ratio:n.barPercentage,start:a}}(e,n,a):function(t,e,n){var a,r,o=n.barThickness,i=e.stackCount,s=e.pixels[t];return dt.isNullOrUndef(o)?(a=e.min*n.categoryPercentage,r=n.barPercentage):(a=o*i,r=1),{chunk:a/i,ratio:r,start:s-a/2}}(e,n,a),o=this.getStackIndex(t,this.getMeta().stack),i=r.start+r.chunk*o+r.chunk/2,s=Math.min(dt.valueOrDefault(a.maxBarThickness,1/0),r.chunk*r.ratio);return{base:i-s/2,head:i+s/2,center:i,size:s}},draw:function(){var t=this.chart,e=this._getValueScale(),n=this.getMeta().data,a=this.getDataset(),r=n.length,o=0;for(dt.canvas.clipArea(t.ctx,t.chartArea);o<r;++o)isNaN(e.getRightValue(a.data[o]))||n[o].draw();dt.canvas.unclipArea(t.ctx)},_resolveElementOptions:function(t,e){var n,a,r,o=this.chart,i=o.data.datasets[this.index],s=t.custom||{},c=o.options.elements.rectangle,l={},d={chart:o,dataIndex:e,dataset:i,datasetIndex:this.index},u=["backgroundColor","borderColor","borderSkipped","borderWidth"];for(n=0,a=u.length;n<a;++n)l[r=u[n]]=Gt([s[r],i[r],c[r]],d,e);return l}}),Vt=dt.valueOrDefault,Yt=dt.options.resolve;st._set("bubble",{hover:{mode:"single"},scales:{xAxes:[{type:"linear",position:"bottom",id:"x-axis-0"}],yAxes:[{type:"linear",position:"left",id:"y-axis-0"}]},tooltips:{callbacks:{title:function(){return""},label:function(t,e){return(e.datasets[t.datasetIndex].label||"")+": ("+t.xLabel+", "+t.yLabel+", "+e.datasets[t.datasetIndex].data[t.index].r+")"}}}});var Ht=Ct.extend({dataElementType:qt.Point,update:function(t){var e=this,n=e.getMeta();dt.each(n.data,(function(n,a){e.updateElement(n,a,t)}))},updateElement:function(t,e,n){var a=this,r=a.getMeta(),o=t.custom||{},i=a.getScaleForId(r.xAxisID),s=a.getScaleForId(r.yAxisID),c=a._resolveElementOptions(t,e),l=a.getDataset().data[e],d=a.index,u=n?i.getPixelForDecimal(.5):i.getPixelForValue("object"==typeof l?l:NaN,e,d),g=n?s.getBasePixel():s.getPixelForValue(l,e,d);t._xScale=i,t._yScale=s,t._options=c,t._datasetIndex=d,t._index=e,t._model={backgroundColor:c.backgroundColor,borderColor:c.borderColor,borderWidth:c.borderWidth,hitRadius:c.hitRadius,pointStyle:c.pointStyle,rotation:c.rotation,radius:n?0:c.radius,skip:o.skip||isNaN(u)||isNaN(g),x:u,y:g},t.pivot()},setHoverStyle:function(t){var e=t._model,n=t._options,a=dt.getHoverColor;t.$previousStyle={backgroundColor:e.backgroundColor,borderColor:e.borderColor,borderWidth:e.borderWidth,radius:e.radius},e.backgroundColor=Vt(n.hoverBackgroundColor,a(n.backgroundColor)),e.borderColor=Vt(n.hoverBorderColor,a(n.borderColor)),e.borderWidth=Vt(n.hoverBorderWidth,n.borderWidth),e.radius=n.radius+n.hoverRadius},_resolveElementOptions:function(t,e){var n,a,r,o=this.chart,i=o.data.datasets[this.index],s=t.custom||{},c=o.options.elements.point,l=i.data[e],d={},u={chart:o,dataIndex:e,dataset:i,datasetIndex:this.index},g=["backgroundColor","borderColor","borderWidth","hoverBackgroundColor","hoverBorderColor","hoverBorderWidth","hoverRadius","hitRadius","pointStyle","rotation"];for(n=0,a=g.length;n<a;++n)d[r=g[n]]=Yt([s[r],i[r],c[r]],u,e);return d.radius=Yt([s.radius,l?l.r:void 0,i.radius,c.radius],u,e),d}}),Ut=dt.options.resolve,Wt=dt.valueOrDefault;st._set("doughnut",{animation:{animateRotate:!0,animateScale:!1},hover:{mode:"single"},legendCallback:function(t){var e=[];e.push('<ul class="'+t.id+'-legend">');var n=t.data,a=n.datasets,r=n.labels;if(a.length)for(var o=0;o<a[0].data.length;++o)e.push('<li><span style="background-color:'+a[0].backgroundColor[o]+'"></span>'),r[o]&&e.push(r[o]),e.push("</li>");return e.push("</ul>"),e.join("")},legend:{labels:{generateLabels:function(t){var e=t.data;return e.labels.length&&e.datasets.length?e.labels.map((function(n,a){var r=t.getDatasetMeta(0),o=e.datasets[0],i=r.data[a],s=i&&i.custom||{},c=t.options.elements.arc;return{text:n,fillStyle:Ut([s.backgroundColor,o.backgroundColor,c.backgroundColor],void 0,a),strokeStyle:Ut([s.borderColor,o.borderColor,c.borderColor],void 0,a),lineWidth:Ut([s.borderWidth,o.borderWidth,c.borderWidth],void 0,a),hidden:isNaN(o.data[a])||r.data[a].hidden,index:a}})):[]}},onClick:function(t,e){var n,a,r,o=e.index,i=this.chart;for(n=0,a=(i.data.datasets||[]).length;n<a;++n)(r=i.getDatasetMeta(n)).data[o]&&(r.data[o].hidden=!r.data[o].hidden);i.update()}},cutoutPercentage:50,rotation:-.5*Math.PI,circumference:2*Math.PI,tooltips:{callbacks:{title:function(){return""},label:function(t,e){var n=e.labels[t.index],a=": "+e.datasets[t.datasetIndex].data[t.index];return dt.isArray(n)?(n=n.slice())[0]+=a:n+=a,n}}}});var Kt=Ct.extend({dataElementType:qt.Arc,linkScales:dt.noop,getRingIndex:function(t){for(var e=0,n=0;n<t;++n)this.chart.isDatasetVisible(n)&&++e;return e},update:function(t){var e,n,a=this,r=a.chart,o=r.chartArea,i=r.options,s=o.right-o.left,c=o.bottom-o.top,l=Math.min(s,c),d={x:0,y:0},u=a.getMeta(),g=u.data,f=i.cutoutPercentage,p=i.circumference,m=a._getRingWeight(a.index);if(p<2*Math.PI){var h=i.rotation%(2*Math.PI),b=(h+=2*Math.PI*(h>=Math.PI?-1:h<-Math.PI?1:0))+p,y={x:Math.cos(h),y:Math.sin(h)},_={x:Math.cos(b),y:Math.sin(b)},O=h<=0&&b>=0||h<=2*Math.PI&&2*Math.PI<=b,v=h<=.5*Math.PI&&.5*Math.PI<=b||h<=2.5*Math.PI&&2.5*Math.PI<=b,C=h<=-Math.PI&&-Math.PI<=b||h<=Math.PI&&Math.PI<=b,P=h<=.5*-Math.PI&&.5*-Math.PI<=b||h<=1.5*Math.PI&&1.5*Math.PI<=b,M=f/100,x={x:C?-1:Math.min(y.x*(y.x<0?1:M),_.x*(_.x<0?1:M)),y:P?-1:Math.min(y.y*(y.y<0?1:M),_.y*(_.y<0?1:M))},w={x:O?1:Math.max(y.x*(y.x>0?1:M),_.x*(_.x>0?1:M)),y:v?1:Math.max(y.y*(y.y>0?1:M),_.y*(_.y>0?1:M))},T={width:.5*(w.x-x.x),height:.5*(w.y-x.y)};l=Math.min(s/T.width,c/T.height),d={x:-.5*(w.x+x.x),y:-.5*(w.y+x.y)}}for(e=0,n=g.length;e<n;++e)g[e]._options=a._resolveElementOptions(g[e],e);for(r.borderWidth=a.getMaxBorderWidth(),r.outerRadius=Math.max((l-r.borderWidth)/2,0),r.innerRadius=Math.max(f?r.outerRadius/100*f:0,0),r.radiusLength=(r.outerRadius-r.innerRadius)/(a._getVisibleDatasetWeightTotal()||1),r.offsetX=d.x*r.outerRadius,r.offsetY=d.y*r.outerRadius,u.total=a.calculateTotal(),a.outerRadius=r.outerRadius-r.radiusLength*a._getRingWeightOffset(a.index),a.innerRadius=Math.max(a.outerRadius-r.radiusLength*m,0),e=0,n=g.length;e<n;++e)a.updateElement(g[e],e,t)},updateElement:function(t,e,n){var a=this,r=a.chart,o=r.chartArea,i=r.options,s=i.animation,c=(o.left+o.right)/2,l=(o.top+o.bottom)/2,d=i.rotation,u=i.rotation,g=a.getDataset(),f=n&&s.animateRotate?0:t.hidden?0:a.calculateCircumference(g.data[e])*(i.circumference/(2*Math.PI)),p=t._options||{};dt.extend(t,{_datasetIndex:a.index,_index:e,_model:{backgroundColor:p.backgroundColor,borderColor:p.borderColor,borderWidth:p.borderWidth,borderAlign:p.borderAlign,x:c+r.offsetX,y:l+r.offsetY,startAngle:d,endAngle:u,circumference:f,outerRadius:n&&s.animateScale?0:a.outerRadius,innerRadius:n&&s.animateScale?0:a.innerRadius,label:dt.valueAtIndexOrDefault(g.label,e,r.data.labels[e])}});var m=t._model;n&&s.animateRotate||(m.startAngle=0===e?i.rotation:a.getMeta().data[e-1]._model.endAngle,m.endAngle=m.startAngle+m.circumference),t.pivot()},calculateTotal:function(){var t,e=this.getDataset(),n=this.getMeta(),a=0;return dt.each(n.data,(function(n,r){t=e.data[r],isNaN(t)||n.hidden||(a+=Math.abs(t))})),a},calculateCircumference:function(t){var e=this.getMeta().total;return e>0&&!isNaN(t)?2*Math.PI*(Math.abs(t)/e):0},getMaxBorderWidth:function(t){var e,n,a,r,o,i,s,c,l=0,d=this.chart;if(!t)for(e=0,n=d.data.datasets.length;e<n;++e)if(d.isDatasetVisible(e)){t=(a=d.getDatasetMeta(e)).data,e!==this.index&&(o=a.controller);break}if(!t)return 0;for(e=0,n=t.length;e<n;++e)r=t[e],"inner"!==(i=o?o._resolveElementOptions(r,e):r._options).borderAlign&&(l=(c=i.hoverBorderWidth)>(l=(s=i.borderWidth)>l?s:l)?c:l);return l},setHoverStyle:function(t){var e=t._model,n=t._options,a=dt.getHoverColor;t.$previousStyle={backgroundColor:e.backgroundColor,borderColor:e.borderColor,borderWidth:e.borderWidth},e.backgroundColor=Wt(n.hoverBackgroundColor,a(n.backgroundColor)),e.borderColor=Wt(n.hoverBorderColor,a(n.borderColor)),e.borderWidth=Wt(n.hoverBorderWidth,n.borderWidth)},_resolveElementOptions:function(t,e){var n,a,r,o=this.chart,i=this.getDataset(),s=t.custom||{},c=o.options.elements.arc,l={},d={chart:o,dataIndex:e,dataset:i,datasetIndex:this.index},u=["backgroundColor","borderColor","borderWidth","borderAlign","hoverBackgroundColor","hoverBorderColor","hoverBorderWidth"];for(n=0,a=u.length;n<a;++n)l[r=u[n]]=Ut([s[r],i[r],c[r]],d,e);return l},_getRingWeightOffset:function(t){for(var e=0,n=0;n<t;++n)this.chart.isDatasetVisible(n)&&(e+=this._getRingWeight(n));return e},_getRingWeight:function(t){return Math.max(Wt(this.chart.data.datasets[t].weight,1),0)},_getVisibleDatasetWeightTotal:function(){return this._getRingWeightOffset(this.chart.data.datasets.length)}});st._set("horizontalBar",{hover:{mode:"index",axis:"y"},scales:{xAxes:[{type:"linear",position:"bottom"}],yAxes:[{type:"category",position:"left",categoryPercentage:.8,barPercentage:.9,offset:!0,gridLines:{offsetGridLines:!0}}]},elements:{rectangle:{borderSkipped:"left"}},tooltips:{mode:"index",axis:"y"}});var $t=Bt.extend({_getValueScaleId:function(){return this.getMeta().xAxisID},_getIndexScaleId:function(){return this.getMeta().yAxisID}}),Zt=dt.valueOrDefault,Jt=dt.options.resolve,Xt=dt.canvas._isPointInArea;function Qt(t,e){return Zt(t.showLine,e.showLines)}st._set("line",{showLines:!0,spanGaps:!1,hover:{mode:"label"},scales:{xAxes:[{type:"category",id:"x-axis-0"}],yAxes:[{type:"linear",id:"y-axis-0"}]}});var te=Ct.extend({datasetElementType:qt.Line,dataElementType:qt.Point,update:function(t){var e,n,a=this,r=a.getMeta(),o=r.dataset,i=r.data||[],s=a.getScaleForId(r.yAxisID),c=a.getDataset(),l=Qt(c,a.chart.options);for(l&&(void 0!==c.tension&&void 0===c.lineTension&&(c.lineTension=c.tension),o._scale=s,o._datasetIndex=a.index,o._children=i,o._model=a._resolveLineOptions(o),o.pivot()),e=0,n=i.length;e<n;++e)a.updateElement(i[e],e,t);for(l&&0!==o._model.tension&&a.updateBezierControlPoints(),e=0,n=i.length;e<n;++e)i[e].pivot()},updateElement:function(t,e,n){var a,r,o=this,i=o.getMeta(),s=t.custom||{},c=o.getDataset(),l=o.index,d=c.data[e],u=o.getScaleForId(i.yAxisID),g=o.getScaleForId(i.xAxisID),f=i.dataset._model,p=o._resolvePointOptions(t,e);a=g.getPixelForValue("object"==typeof d?d:NaN,e,l),r=n?u.getBasePixel():o.calculatePointY(d,e,l),t._xScale=g,t._yScale=u,t._options=p,t._datasetIndex=l,t._index=e,t._model={x:a,y:r,skip:s.skip||isNaN(a)||isNaN(r),radius:p.radius,pointStyle:p.pointStyle,rotation:p.rotation,backgroundColor:p.backgroundColor,borderColor:p.borderColor,borderWidth:p.borderWidth,tension:Zt(s.tension,f?f.tension:0),steppedLine:!!f&&f.steppedLine,hitRadius:p.hitRadius}},_resolvePointOptions:function(t,e){var n,a,r,o=this.chart,i=o.data.datasets[this.index],s=t.custom||{},c=o.options.elements.point,l={},d={chart:o,dataIndex:e,dataset:i,datasetIndex:this.index},u={backgroundColor:"pointBackgroundColor",borderColor:"pointBorderColor",borderWidth:"pointBorderWidth",hitRadius:"pointHitRadius",hoverBackgroundColor:"pointHoverBackgroundColor",hoverBorderColor:"pointHoverBorderColor",hoverBorderWidth:"pointHoverBorderWidth",hoverRadius:"pointHoverRadius",pointStyle:"pointStyle",radius:"pointRadius",rotation:"pointRotation"},g=Object.keys(u);for(n=0,a=g.length;n<a;++n)l[r=g[n]]=Jt([s[r],i[u[r]],i[r],c[r]],d,e);return l},_resolveLineOptions:function(t){var e,n,a,r=this.chart,o=r.data.datasets[this.index],i=t.custom||{},s=r.options,c=s.elements.line,l={},d=["backgroundColor","borderWidth","borderColor","borderCapStyle","borderDash","borderDashOffset","borderJoinStyle","fill","cubicInterpolationMode"];for(e=0,n=d.length;e<n;++e)l[a=d[e]]=Jt([i[a],o[a],c[a]]);return l.spanGaps=Zt(o.spanGaps,s.spanGaps),l.tension=Zt(o.lineTension,c.tension),l.steppedLine=Jt([i.steppedLine,o.steppedLine,c.stepped]),l},calculatePointY:function(t,e,n){var a,r,o,i=this.chart,s=this.getMeta(),c=this.getScaleForId(s.yAxisID),l=0,d=0;if(c.options.stacked){for(a=0;a<n;a++)if(r=i.data.datasets[a],"line"===(o=i.getDatasetMeta(a)).type&&o.yAxisID===c.id&&i.isDatasetVisible(a)){var u=Number(c.getRightValue(r.data[e]));u<0?d+=u||0:l+=u||0}var g=Number(c.getRightValue(t));return c.getPixelForValue(g<0?d+g:l+g)}return c.getPixelForValue(t)},updateBezierControlPoints:function(){var t,e,n,a,r=this.chart,o=this.getMeta(),i=o.dataset._model,s=r.chartArea,c=o.data||[];function l(t,e,n){return Math.max(Math.min(t,n),e)}if(i.spanGaps&&(c=c.filter((function(t){return!t._model.skip}))),"monotone"===i.cubicInterpolationMode)dt.splineCurveMonotone(c);else for(t=0,e=c.length;t<e;++t)n=c[t]._model,a=dt.splineCurve(dt.previousItem(c,t)._model,n,dt.nextItem(c,t)._model,i.tension),n.controlPointPreviousX=a.previous.x,n.controlPointPreviousY=a.previous.y,n.controlPointNextX=a.next.x,n.controlPointNextY=a.next.y;if(r.options.elements.line.capBezierPoints)for(t=0,e=c.length;t<e;++t)Xt(n=c[t]._model,s)&&(t>0&&Xt(c[t-1]._model,s)&&(n.controlPointPreviousX=l(n.controlPointPreviousX,s.left,s.right),n.controlPointPreviousY=l(n.controlPointPreviousY,s.top,s.bottom)),t<c.length-1&&Xt(c[t+1]._model,s)&&(n.controlPointNextX=l(n.controlPointNextX,s.left,s.right),n.controlPointNextY=l(n.controlPointNextY,s.top,s.bottom)))},draw:function(){var t,e=this.chart,n=this.getMeta(),a=n.data||[],r=e.chartArea,o=a.length,i=0;for(Qt(this.getDataset(),e.options)&&(dt.canvas.clipArea(e.ctx,{left:r.left,right:r.right,top:r.top-(t=(n.dataset._model.borderWidth||0)/2),bottom:r.bottom+t}),n.dataset.draw(),dt.canvas.unclipArea(e.ctx));i<o;++i)a[i].draw(r)},setHoverStyle:function(t){var e=t._model,n=t._options,a=dt.getHoverColor;t.$previousStyle={backgroundColor:e.backgroundColor,borderColor:e.borderColor,borderWidth:e.borderWidth,radius:e.radius},e.backgroundColor=Zt(n.hoverBackgroundColor,a(n.backgroundColor)),e.borderColor=Zt(n.hoverBorderColor,a(n.borderColor)),e.borderWidth=Zt(n.hoverBorderWidth,n.borderWidth),e.radius=Zt(n.hoverRadius,n.radius)}}),ee=dt.options.resolve;st._set("polarArea",{scale:{type:"radialLinear",angleLines:{display:!1},gridLines:{circular:!0},pointLabels:{display:!1},ticks:{beginAtZero:!0}},animation:{animateRotate:!0,animateScale:!0},startAngle:-.5*Math.PI,legendCallback:function(t){var e=[];e.push('<ul class="'+t.id+'-legend">');var n=t.data,a=n.datasets,r=n.labels;if(a.length)for(var o=0;o<a[0].data.length;++o)e.push('<li><span style="background-color:'+a[0].backgroundColor[o]+'"></span>'),r[o]&&e.push(r[o]),e.push("</li>");return e.push("</ul>"),e.join("")},legend:{labels:{generateLabels:function(t){var e=t.data;return e.labels.length&&e.datasets.length?e.labels.map((function(n,a){var r=t.getDatasetMeta(0),o=e.datasets[0],i=r.data[a].custom||{},s=t.options.elements.arc;return{text:n,fillStyle:ee([i.backgroundColor,o.backgroundColor,s.backgroundColor],void 0,a),strokeStyle:ee([i.borderColor,o.borderColor,s.borderColor],void 0,a),lineWidth:ee([i.borderWidth,o.borderWidth,s.borderWidth],void 0,a),hidden:isNaN(o.data[a])||r.data[a].hidden,index:a}})):[]}},onClick:function(t,e){var n,a,r,o=e.index,i=this.chart;for(n=0,a=(i.data.datasets||[]).length;n<a;++n)(r=i.getDatasetMeta(n)).data[o].hidden=!r.data[o].hidden;i.update()}},tooltips:{callbacks:{title:function(){return""},label:function(t,e){return e.labels[t.index]+": "+t.yLabel}}}});var ne=Ct.extend({dataElementType:qt.Arc,linkScales:dt.noop,update:function(t){var e,n,a,r=this,o=r.getDataset(),i=r.getMeta(),s=r.chart.options.startAngle||0,c=r._starts=[],l=r._angles=[],d=i.data;for(r._updateRadius(),i.count=r.countVisibleElements(),e=0,n=o.data.length;e<n;e++)c[e]=s,a=r._computeAngle(e),l[e]=a,s+=a;for(e=0,n=d.length;e<n;++e)d[e]._options=r._resolveElementOptions(d[e],e),r.updateElement(d[e],e,t)},_updateRadius:function(){var t=this,e=t.chart,n=e.chartArea,a=e.options,r=Math.min(n.right-n.left,n.bottom-n.top);e.outerRadius=Math.max(r/2,0),e.innerRadius=Math.max(a.cutoutPercentage?e.outerRadius/100*a.cutoutPercentage:1,0),e.radiusLength=(e.outerRadius-e.innerRadius)/e.getVisibleDatasetCount(),t.outerRadius=e.outerRadius-e.radiusLength*t.index,t.innerRadius=t.outerRadius-e.radiusLength},updateElement:function(t,e,n){var a=this,r=a.chart,o=a.getDataset(),i=r.options,s=i.animation,c=r.scale,l=r.data.labels,d=c.xCenter,u=c.yCenter,g=i.startAngle,f=t.hidden?0:c.getDistanceFromCenterForValue(o.data[e]),p=a._starts[e],m=p+(t.hidden?0:a._angles[e]),h=s.animateScale?0:c.getDistanceFromCenterForValue(o.data[e]),b=t._options||{};dt.extend(t,{_datasetIndex:a.index,_index:e,_scale:c,_model:{backgroundColor:b.backgroundColor,borderColor:b.borderColor,borderWidth:b.borderWidth,borderAlign:b.borderAlign,x:d,y:u,innerRadius:0,outerRadius:n?h:f,startAngle:n&&s.animateRotate?g:p,endAngle:n&&s.animateRotate?g:m,label:dt.valueAtIndexOrDefault(l,e,l[e])}}),t.pivot()},countVisibleElements:function(){var t=this.getDataset(),e=this.getMeta(),n=0;return dt.each(e.data,(function(e,a){isNaN(t.data[a])||e.hidden||n++})),n},setHoverStyle:function(t){var e=t._model,n=t._options,a=dt.getHoverColor,r=dt.valueOrDefault;t.$previousStyle={backgroundColor:e.backgroundColor,borderColor:e.borderColor,borderWidth:e.borderWidth},e.backgroundColor=r(n.hoverBackgroundColor,a(n.backgroundColor)),e.borderColor=r(n.hoverBorderColor,a(n.borderColor)),e.borderWidth=r(n.hoverBorderWidth,n.borderWidth)},_resolveElementOptions:function(t,e){var n,a,r,o=this.chart,i=this.getDataset(),s=t.custom||{},c=o.options.elements.arc,l={},d={chart:o,dataIndex:e,dataset:i,datasetIndex:this.index},u=["backgroundColor","borderColor","borderWidth","borderAlign","hoverBackgroundColor","hoverBorderColor","hoverBorderWidth"];for(n=0,a=u.length;n<a;++n)l[r=u[n]]=ee([s[r],i[r],c[r]],d,e);return l},_computeAngle:function(t){var e=this,n=this.getMeta().count,a=e.getDataset(),r=e.getMeta();return isNaN(a.data[t])||r.data[t].hidden?0:ee([e.chart.options.elements.arc.angle,2*Math.PI/n],{chart:e.chart,dataIndex:t,dataset:a,datasetIndex:e.index},t)}});st._set("pie",dt.clone(st.doughnut)),st._set("pie",{cutoutPercentage:0});var ae=Kt,re=dt.valueOrDefault,oe=dt.options.resolve;st._set("radar",{scale:{type:"radialLinear"},elements:{line:{tension:0}}});var ie=Ct.extend({datasetElementType:qt.Line,dataElementType:qt.Point,linkScales:dt.noop,update:function(t){var e,n,a=this,r=a.getMeta(),o=r.dataset,i=r.data||[],s=a.chart.scale,c=a.getDataset();for(void 0!==c.tension&&void 0===c.lineTension&&(c.lineTension=c.tension),o._scale=s,o._datasetIndex=a.index,o._children=i,o._loop=!0,o._model=a._resolveLineOptions(o),o.pivot(),e=0,n=i.length;e<n;++e)a.updateElement(i[e],e,t);for(a.updateBezierControlPoints(),e=0,n=i.length;e<n;++e)i[e].pivot()},updateElement:function(t,e,n){var a=this,r=t.custom||{},o=a.getDataset(),i=a.chart.scale,s=i.getPointPositionForValue(e,o.data[e]),c=a._resolvePointOptions(t,e),l=a.getMeta().dataset._model,d=n?i.xCenter:s.x,u=n?i.yCenter:s.y;t._scale=i,t._options=c,t._datasetIndex=a.index,t._index=e,t._model={x:d,y:u,skip:r.skip||isNaN(d)||isNaN(u),radius:c.radius,pointStyle:c.pointStyle,rotation:c.rotation,backgroundColor:c.backgroundColor,borderColor:c.borderColor,borderWidth:c.borderWidth,tension:re(r.tension,l?l.tension:0),hitRadius:c.hitRadius}},_resolvePointOptions:function(t,e){var n,a,r,o=this.chart,i=o.data.datasets[this.index],s=t.custom||{},c=o.options.elements.point,l={},d={chart:o,dataIndex:e,dataset:i,datasetIndex:this.index},u={backgroundColor:"pointBackgroundColor",borderColor:"pointBorderColor",borderWidth:"pointBorderWidth",hitRadius:"pointHitRadius",hoverBackgroundColor:"pointHoverBackgroundColor",hoverBorderColor:"pointHoverBorderColor",hoverBorderWidth:"pointHoverBorderWidth",hoverRadius:"pointHoverRadius",pointStyle:"pointStyle",radius:"pointRadius",rotation:"pointRotation"},g=Object.keys(u);for(n=0,a=g.length;n<a;++n)l[r=g[n]]=oe([s[r],i[u[r]],i[r],c[r]],d,e);return l},_resolveLineOptions:function(t){var e,n,a,r=this.chart,o=r.data.datasets[this.index],i=t.custom||{},s=r.options.elements.line,c={},l=["backgroundColor","borderWidth","borderColor","borderCapStyle","borderDash","borderDashOffset","borderJoinStyle","fill"];for(e=0,n=l.length;e<n;++e)c[a=l[e]]=oe([i[a],o[a],s[a]]);return c.tension=re(o.lineTension,s.tension),c},updateBezierControlPoints:function(){var t,e,n,a,r=this.getMeta(),o=this.chart.chartArea,i=r.data||[];function s(t,e,n){return Math.max(Math.min(t,n),e)}for(t=0,e=i.length;t<e;++t)n=i[t]._model,a=dt.splineCurve(dt.previousItem(i,t,!0)._model,n,dt.nextItem(i,t,!0)._model,n.tension),n.controlPointPreviousX=s(a.previous.x,o.left,o.right),n.controlPointPreviousY=s(a.previous.y,o.top,o.bottom),n.controlPointNextX=s(a.next.x,o.left,o.right),n.controlPointNextY=s(a.next.y,o.top,o.bottom)},setHoverStyle:function(t){var e=t._model,n=t._options,a=dt.getHoverColor;t.$previousStyle={backgroundColor:e.backgroundColor,borderColor:e.borderColor,borderWidth:e.borderWidth,radius:e.radius},e.backgroundColor=re(n.hoverBackgroundColor,a(n.backgroundColor)),e.borderColor=re(n.hoverBorderColor,a(n.borderColor)),e.borderWidth=re(n.hoverBorderWidth,n.borderWidth),e.radius=re(n.hoverRadius,n.radius)}});st._set("scatter",{hover:{mode:"single"},scales:{xAxes:[{id:"x-axis-1",type:"linear",position:"bottom"}],yAxes:[{id:"y-axis-1",type:"linear",position:"left"}]},showLines:!1,tooltips:{callbacks:{title:function(){return""},label:function(t){return"("+t.xLabel+", "+t.yLabel+")"}}}});var se={bar:Bt,bubble:Ht,doughnut:Kt,horizontalBar:$t,line:te,polarArea:ne,pie:ae,radar:ie,scatter:te};function ce(t,e){return t.native?{x:t.x,y:t.y}:dt.getRelativePosition(t,e)}function le(t,e){var n,a,r,o,i;for(a=0,o=t.data.datasets.length;a<o;++a)if(t.isDatasetVisible(a))for(r=0,i=(n=t.getDatasetMeta(a)).data.length;r<i;++r){var s=n.data[r];s._view.skip||e(s)}}function de(t,e){var n=[];return le(t,(function(t){t.inRange(e.x,e.y)&&n.push(t)})),n}function ue(t,e,n,a){var r=Number.POSITIVE_INFINITY,o=[];return le(t,(function(t){if(!n||t.inRange(e.x,e.y)){var i=t.getCenterPoint(),s=a(e,i);s<r?(o=[t],r=s):s===r&&o.push(t)}})),o}function ge(t){var e=-1!==t.indexOf("x"),n=-1!==t.indexOf("y");return function(t,a){var r=e?Math.abs(t.x-a.x):0,o=n?Math.abs(t.y-a.y):0;return Math.sqrt(Math.pow(r,2)+Math.pow(o,2))}}function fe(t,e,n){var a=ce(e,t);n.axis=n.axis||"x";var r=ge(n.axis),o=n.intersect?de(t,a):ue(t,a,!1,r),i=[];return o.length?(t.data.datasets.forEach((function(e,n){if(t.isDatasetVisible(n)){var a=t.getDatasetMeta(n).data[o[0]._index];a&&!a._view.skip&&i.push(a)}})),i):[]}var pe={modes:{single:function(t,e){var n=ce(e,t),a=[];return le(t,(function(t){if(t.inRange(n.x,n.y))return a.push(t),a})),a.slice(0,1)},label:fe,index:fe,dataset:function(t,e,n){var a=ce(e,t);n.axis=n.axis||"xy";var r=ge(n.axis),o=n.intersect?de(t,a):ue(t,a,!1,r);return o.length>0&&(o=t.getDatasetMeta(o[0]._datasetIndex).data),o},"x-axis":function(t,e){return fe(t,e,{intersect:!1})},point:function(t,e){return de(t,ce(e,t))},nearest:function(t,e,n){var a=ce(e,t);n.axis=n.axis||"xy";var r=ge(n.axis);return ue(t,a,n.intersect,r)},x:function(t,e,n){var a=ce(e,t),r=[],o=!1;return le(t,(function(t){t.inXRange(a.x)&&r.push(t),t.inRange(a.x,a.y)&&(o=!0)})),n.intersect&&!o&&(r=[]),r},y:function(t,e,n){var a=ce(e,t),r=[],o=!1;return le(t,(function(t){t.inYRange(a.y)&&r.push(t),t.inRange(a.x,a.y)&&(o=!0)})),n.intersect&&!o&&(r=[]),r}}};function me(t,e){return dt.where(t,(function(t){return t.position===e}))}function he(t,e){t.forEach((function(t,e){return t._tmpIndex_=e,t})),t.sort((function(t,n){var a=e?n:t,r=e?t:n;return a.weight===r.weight?a._tmpIndex_-r._tmpIndex_:a.weight-r.weight})),t.forEach((function(t){delete t._tmpIndex_}))}function be(t,e){dt.each(t,(function(t){e[t.position]+=t.isHorizontal()?t.height:t.width}))}st._set("global",{layout:{padding:{top:0,right:0,bottom:0,left:0}}});var ye,_e={defaults:{},addBox:function(t,e){t.boxes||(t.boxes=[]),e.fullWidth=e.fullWidth||!1,e.position=e.position||"top",e.weight=e.weight||0,t.boxes.push(e)},removeBox:function(t,e){var n=t.boxes?t.boxes.indexOf(e):-1;-1!==n&&t.boxes.splice(n,1)},configure:function(t,e,n){for(var a,r=["fullWidth","position","weight"],o=r.length,i=0;i<o;++i)n.hasOwnProperty(a=r[i])&&(e[a]=n[a])},update:function(t,e,n){if(t){var a=dt.options.toPadding((t.options.layout||{}).padding),r=a.left,o=a.right,i=a.top,s=a.bottom,c=me(t.boxes,"left"),l=me(t.boxes,"right"),d=me(t.boxes,"top"),u=me(t.boxes,"bottom"),g=me(t.boxes,"chartArea");he(c,!0),he(l,!1),he(d,!0),he(u,!1);var f,p=c.concat(l),m=d.concat(u),h=p.concat(m),b=e-r-o,y=n-i-s,_=(e-b/2)/p.length,O=b,v=y,C={top:i,left:r,bottom:s,right:o},P=[];dt.each(h,(function(t){var e,n=t.isHorizontal();n?(e=t.update(t.fullWidth?b:O,y/2),v-=e.height):(e=t.update(_,v),O-=e.width),P.push({horizontal:n,width:e.width,box:t})})),f=function(t){var e=0,n=0,a=0,r=0;return dt.each(t,(function(t){if(t.getPadding){var o=t.getPadding();e=Math.max(e,o.top),n=Math.max(n,o.left),a=Math.max(a,o.bottom),r=Math.max(r,o.right)}})),{top:e,left:n,bottom:a,right:r}}(h),dt.each(p,I),be(p,C),dt.each(m,I),be(m,C),dt.each(p,(function(t){var e=dt.findNextWhere(P,(function(e){return e.box===t}));e&&t.update(e.width,v,{left:0,right:0,top:C.top,bottom:C.bottom})})),be(h,C={top:i,left:r,bottom:s,right:o});var M=Math.max(f.left-C.left,0);C.left+=M,C.right+=Math.max(f.right-C.right,0);var x=Math.max(f.top-C.top,0);C.top+=x,C.bottom+=Math.max(f.bottom-C.bottom,0);var w=n-C.top-C.bottom,T=e-C.left-C.right;T===O&&w===v||(dt.each(p,(function(t){t.height=w})),dt.each(m,(function(t){t.fullWidth||(t.width=T)})),v=w,O=T);var S=r+M,k=i+x;dt.each(c.concat(d),N),S+=O,k+=v,dt.each(l,N),dt.each(u,N),t.chartArea={left:C.left,top:C.top,right:C.left+O,bottom:C.top+v},dt.each(g,(function(e){e.left=t.chartArea.left,e.top=t.chartArea.top,e.right=t.chartArea.right,e.bottom=t.chartArea.bottom,e.update(O,v)}))}function I(t){var e=dt.findNextWhere(P,(function(e){return e.box===t}));if(e)if(e.horizontal){var n={left:Math.max(C.left,f.left),right:Math.max(C.right,f.right),top:0,bottom:0};t.update(t.fullWidth?b:O,y/2,n)}else t.update(e.width,v)}function N(t){t.isHorizontal()?(t.left=t.fullWidth?r:C.left,t.right=t.fullWidth?e-o:C.left+O,t.top=k,t.bottom=k+t.height,k=t.bottom):(t.left=S,t.right=S+t.width,t.top=C.top,t.bottom=C.top+v,S=t.right)}}},Oe=(ye=Object.freeze({default:"/*\n * DOM element rendering detection\n * https://davidwalsh.name/detect-node-insertion\n */\n@keyframes chartjs-render-animation {\n\tfrom { opacity: 0.99; }\n\tto { opacity: 1; }\n}\n\n.chartjs-render-monitor {\n\tanimation: chartjs-render-animation 0.001s;\n}\n\n/*\n * DOM element resizing detection\n * https://github.com/marcj/css-element-queries\n */\n.chartjs-size-monitor,\n.chartjs-size-monitor-expand,\n.chartjs-size-monitor-shrink {\n\tposition: absolute;\n\tdirection: ltr;\n\tleft: 0;\n\ttop: 0;\n\tright: 0;\n\tbottom: 0;\n\toverflow: hidden;\n\tpointer-events: none;\n\tvisibility: hidden;\n\tz-index: -1;\n}\n\n.chartjs-size-monitor-expand > div {\n\tposition: absolute;\n\twidth: 1000000px;\n\theight: 1000000px;\n\tleft: 0;\n\ttop: 0;\n}\n\n.chartjs-size-monitor-shrink > div {\n\tposition: absolute;\n\twidth: 200%;\n\theight: 200%;\n\tleft: 0;\n\ttop: 0;\n}\n"}))&&ye.default||ye,ve=["animationstart","webkitAnimationStart"],Ce={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"};function Pe(t,e){var n=dt.getStyle(t,e),a=n&&n.match(/^(\d+)(\.\d+)?px$/);return a?Number(a[1]):void 0}var Me=!!function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("e",null,e)}catch(n){}return t}()&&{passive:!0};function xe(t,e,n){t.addEventListener(e,n,Me)}function we(t,e,n){t.removeEventListener(e,n,Me)}function Te(t,e,n,a,r){return{type:t,chart:e,native:r||null,x:void 0!==n?n:null,y:void 0!==a?a:null}}function Se(t){var e=document.createElement("div");return e.className=t||"",e}var ke={disableCSSInjection:!1,_enabled:"undefined"!=typeof window&&"undefined"!=typeof document,_ensureLoaded:function(){this._loaded||(this._loaded=!0,this.disableCSSInjection||function(t,e){var n=t._style||document.createElement("style");t._style||(t._style=n,e="/* Chart.js */\n"+e,n.setAttribute("type","text/css"),document.getElementsByTagName("head")[0].appendChild(n)),n.appendChild(document.createTextNode(e))}(this,Oe))},acquireContext:function(t,e){"string"==typeof t?t=document.getElementById(t):t.length&&(t=t[0]),t&&t.canvas&&(t=t.canvas);var n=t&&t.getContext&&t.getContext("2d");return this._ensureLoaded(),n&&n.canvas===t?(function(t,e){var n=t.style,a=t.getAttribute("height"),r=t.getAttribute("width");if(t.$chartjs={initial:{height:a,width:r,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||"block",null===r||""===r){var o=Pe(t,"width");void 0!==o&&(t.width=o)}if(null===a||""===a)if(""===t.style.height)t.height=t.width/(e.options.aspectRatio||2);else{var i=Pe(t,"height");void 0!==o&&(t.height=i)}}(t,e),n):null},releaseContext:function(t){var e=t.canvas;if(e.$chartjs){var n=e.$chartjs.initial;["height","width"].forEach((function(t){var a=n[t];dt.isNullOrUndef(a)?e.removeAttribute(t):e.setAttribute(t,a)})),dt.each(n.style||{},(function(t,n){e.style[n]=t})),e.width=e.width,delete e.$chartjs}},addEventListener:function(t,e,n){var a=t.canvas;if("resize"!==e){var r=n.$chartjs||(n.$chartjs={});xe(a,e,(r.proxies||(r.proxies={}))[t.id+"_"+e]=function(e){n(function(t,e){var n=Ce[t.type]||t.type,a=dt.getRelativePosition(t,e);return Te(n,e,a.x,a.y,t)}(e,t))})}else!function(t,e,n){var a,r,o,i,s=t.$chartjs||(t.$chartjs={}),c=s.resizer=function(t){var e=Se("chartjs-size-monitor"),n=Se("chartjs-size-monitor-expand"),a=Se("chartjs-size-monitor-shrink");n.appendChild(Se()),a.appendChild(Se()),e.appendChild(n),e.appendChild(a),e._reset=function(){n.scrollLeft=1e6,n.scrollTop=1e6,a.scrollLeft=1e6,a.scrollTop=1e6};var r=function(){e._reset(),t()};return xe(n,"scroll",r.bind(n,"expand")),xe(a,"scroll",r.bind(a,"shrink")),e}((a=function(){if(s.resizer){var a=n.options.maintainAspectRatio&&t.parentNode,r=a?a.clientWidth:0;e(Te("resize",n)),a&&a.clientWidth<r&&n.canvas&&e(Te("resize",n))}},o=!1,i=[],function(){i=Array.prototype.slice.call(arguments),r=r||this,o||(o=!0,dt.requestAnimFrame.call(window,(function(){o=!1,a.apply(r,i)})))}));!function(t,e){var n=t.$chartjs||(t.$chartjs={}),a=n.renderProxy=function(t){"chartjs-render-animation"===t.animationName&&e()};dt.each(ve,(function(e){xe(t,e,a)})),n.reflow=!!t.offsetParent,t.classList.add("chartjs-render-monitor")}(t,(function(){if(s.resizer){var e=t.parentNode;e&&e!==c.parentNode&&e.insertBefore(c,e.firstChild),c._reset()}}))}(a,n,t)},removeEventListener:function(t,e,n){var a,r,o,i=t.canvas;if("resize"!==e){var s=((n.$chartjs||{}).proxies||{})[t.id+"_"+e];s&&we(i,e,s)}else o=(r=(a=i).$chartjs||{}).resizer,delete r.resizer,function(t){var e=t.$chartjs||{},n=e.renderProxy;n&&(dt.each(ve,(function(e){we(t,e,n)})),delete e.renderProxy),t.classList.remove("chartjs-render-monitor")}(a),o&&o.parentNode&&o.parentNode.removeChild(o)}};dt.addEvent=xe,dt.removeEvent=we;var Ie=dt.extend({initialize:function(){},acquireContext:function(){},releaseContext:function(){},addEventListener:function(){},removeEventListener:function(){}},ke._enabled?ke:{acquireContext:function(t){return t&&t.canvas&&(t=t.canvas),t&&t.getContext("2d")||null}});st._set("global",{plugins:{}});var Ne={_plugins:[],_cacheId:0,register:function(t){var e=this._plugins;[].concat(t).forEach((function(t){-1===e.indexOf(t)&&e.push(t)})),this._cacheId++},unregister:function(t){var e=this._plugins;[].concat(t).forEach((function(t){var n=e.indexOf(t);-1!==n&&e.splice(n,1)})),this._cacheId++},clear:function(){this._plugins=[],this._cacheId++},count:function(){return this._plugins.length},getAll:function(){return this._plugins},notify:function(t,e,n){var a,r,o,i,s,c=this.descriptors(t),l=c.length;for(a=0;a<l;++a)if("function"==typeof(s=(o=(r=c[a]).plugin)[e])&&((i=[t].concat(n||[])).push(r.options),!1===s.apply(o,i)))return!1;return!0},descriptors:function(t){var e=t.$plugins||(t.$plugins={});if(e.id===this._cacheId)return e.descriptors;var n=[],a=[],r=t&&t.config||{},o=r.options&&r.options.plugins||{};return this._plugins.concat(r.plugins||[]).forEach((function(t){if(-1===n.indexOf(t)){var e=t.id,r=o[e];!1!==r&&(!0===r&&(r=dt.clone(st.global.plugins[e])),n.push(t),a.push({plugin:t,options:r||{}}))}})),e.descriptors=a,e.id=this._cacheId,a},_invalidate:function(t){delete t.$plugins}},Re={constructors:{},defaults:{},registerScaleType:function(t,e,n){this.constructors[t]=e,this.defaults[t]=dt.clone(n)},getScaleConstructor:function(t){return this.constructors.hasOwnProperty(t)?this.constructors[t]:void 0},getScaleDefaults:function(t){return this.defaults.hasOwnProperty(t)?dt.merge({},[st.scale,this.defaults[t]]):{}},updateScaleDefaults:function(t,e){this.defaults.hasOwnProperty(t)&&(this.defaults[t]=dt.extend(this.defaults[t],e))},addScalesToLayout:function(t){dt.each(t.scales,(function(e){e.fullWidth=e.options.fullWidth,e.position=e.options.position,e.weight=e.options.weight,_e.addBox(t,e)}))}},Ae=dt.valueOrDefault;st._set("global",{tooltips:{enabled:!0,custom:null,mode:"nearest",position:"average",intersect:!0,backgroundColor:"rgba(0,0,0,0.8)",titleFontStyle:"bold",titleSpacing:2,titleMarginBottom:6,titleFontColor:"#fff",titleAlign:"left",bodySpacing:2,bodyFontColor:"#fff",bodyAlign:"left",footerFontStyle:"bold",footerSpacing:2,footerMarginTop:6,footerFontColor:"#fff",footerAlign:"left",yPadding:6,xPadding:6,caretPadding:2,caretSize:5,cornerRadius:6,multiKeyBackground:"#fff",displayColors:!0,borderColor:"rgba(0,0,0,0)",borderWidth:0,callbacks:{beforeTitle:dt.noop,title:function(t,e){var n="",a=e.labels,r=a?a.length:0;if(t.length>0){var o=t[0];o.label?n=o.label:o.xLabel?n=o.xLabel:r>0&&o.index<r&&(n=a[o.index])}return n},afterTitle:dt.noop,beforeBody:dt.noop,beforeLabel:dt.noop,label:function(t,e){var n=e.datasets[t.datasetIndex].label||"";return n&&(n+=": "),dt.isNullOrUndef(t.value)?n+=t.yLabel:n+=t.value,n},labelColor:function(t,e){var n=e.getDatasetMeta(t.datasetIndex).data[t.index]._view;return{borderColor:n.borderColor,backgroundColor:n.backgroundColor}},labelTextColor:function(){return this._options.bodyFontColor},afterLabel:dt.noop,afterBody:dt.noop,beforeFooter:dt.noop,footer:dt.noop,afterFooter:dt.noop}}});var Ee={average:function(t){if(!t.length)return!1;var e,n,a=0,r=0,o=0;for(e=0,n=t.length;e<n;++e){var i=t[e];if(i&&i.hasValue()){var s=i.tooltipPosition();a+=s.x,r+=s.y,++o}}return{x:a/o,y:r/o}},nearest:function(t,e){var n,a,r,o=e.x,i=e.y,s=Number.POSITIVE_INFINITY;for(n=0,a=t.length;n<a;++n){var c=t[n];if(c&&c.hasValue()){var l=c.getCenterPoint(),d=dt.distanceBetweenPoints(e,l);d<s&&(s=d,r=c)}}if(r){var u=r.tooltipPosition();o=u.x,i=u.y}return{x:o,y:i}}};function De(t,e){return e&&(dt.isArray(e)?Array.prototype.push.apply(t,e):t.push(e)),t}function Le(t){return("string"==typeof t||t instanceof String)&&t.indexOf("\n")>-1?t.split("\n"):t}function qe(t){var e=st.global;return{xPadding:t.xPadding,yPadding:t.yPadding,xAlign:t.xAlign,yAlign:t.yAlign,bodyFontColor:t.bodyFontColor,_bodyFontFamily:Ae(t.bodyFontFamily,e.defaultFontFamily),_bodyFontStyle:Ae(t.bodyFontStyle,e.defaultFontStyle),_bodyAlign:t.bodyAlign,bodyFontSize:Ae(t.bodyFontSize,e.defaultFontSize),bodySpacing:t.bodySpacing,titleFontColor:t.titleFontColor,_titleFontFamily:Ae(t.titleFontFamily,e.defaultFontFamily),_titleFontStyle:Ae(t.titleFontStyle,e.defaultFontStyle),titleFontSize:Ae(t.titleFontSize,e.defaultFontSize),_titleAlign:t.titleAlign,titleSpacing:t.titleSpacing,titleMarginBottom:t.titleMarginBottom,footerFontColor:t.footerFontColor,_footerFontFamily:Ae(t.footerFontFamily,e.defaultFontFamily),_footerFontStyle:Ae(t.footerFontStyle,e.defaultFontStyle),footerFontSize:Ae(t.footerFontSize,e.defaultFontSize),_footerAlign:t.footerAlign,footerSpacing:t.footerSpacing,footerMarginTop:t.footerMarginTop,caretSize:t.caretSize,cornerRadius:t.cornerRadius,backgroundColor:t.backgroundColor,opacity:0,legendColorBackground:t.multiKeyBackground,displayColors:t.displayColors,borderColor:t.borderColor,borderWidth:t.borderWidth}}function je(t,e){return"center"===e?t.x+t.width/2:"right"===e?t.x+t.width-t.xPadding:t.x+t.xPadding}function Fe(t){return De([],Le(t))}var ze=pt.extend({initialize:function(){this._model=qe(this._options),this._lastActive=[]},getTitle:function(){var t=this,e=t._options,n=e.callbacks,a=n.beforeTitle.apply(t,arguments),r=n.title.apply(t,arguments),o=n.afterTitle.apply(t,arguments),i=[];return i=De(i,Le(a)),i=De(i,Le(r)),De(i,Le(o))},getBeforeBody:function(){return Fe(this._options.callbacks.beforeBody.apply(this,arguments))},getBody:function(t,e){var n=this,a=n._options.callbacks,r=[];return dt.each(t,(function(t){var o={before:[],lines:[],after:[]};De(o.before,Le(a.beforeLabel.call(n,t,e))),De(o.lines,a.label.call(n,t,e)),De(o.after,Le(a.afterLabel.call(n,t,e))),r.push(o)})),r},getAfterBody:function(){return Fe(this._options.callbacks.afterBody.apply(this,arguments))},getFooter:function(){var t=this,e=t._options.callbacks,n=e.beforeFooter.apply(t,arguments),a=e.footer.apply(t,arguments),r=e.afterFooter.apply(t,arguments),o=[];return o=De(o,Le(n)),o=De(o,Le(a)),De(o,Le(r))},update:function(t){var e,n,a,r,o,i,s,c,l,d,u=this,g=u._options,f=u._model,p=u._model=qe(g),m=u._active,h=u._data,b={xAlign:f.xAlign,yAlign:f.yAlign},y={x:f.x,y:f.y},_={width:f.width,height:f.height},O={x:f.caretX,y:f.caretY};if(m.length){p.opacity=1;var v=[],C=[];O=Ee[g.position].call(u,m,u._eventPosition);var P=[];for(e=0,n=m.length;e<n;++e)P.push((r=void 0,o=void 0,c=void 0,l=void 0,d=void 0,r=(a=m[e])._xScale,o=a._yScale||a._scale,i=a._index,l=(c=a._chart.getDatasetMeta(s=a._datasetIndex).controller)._getIndexScale(),d=c._getValueScale(),{xLabel:r?r.getLabelForIndex(i,s):"",yLabel:o?o.getLabelForIndex(i,s):"",label:l?""+l.getLabelForIndex(i,s):"",value:d?""+d.getLabelForIndex(i,s):"",index:i,datasetIndex:s,x:a._model.x,y:a._model.y}));g.filter&&(P=P.filter((function(t){return g.filter(t,h)}))),g.itemSort&&(P=P.sort((function(t,e){return g.itemSort(t,e,h)}))),dt.each(P,(function(t){v.push(g.callbacks.labelColor.call(u,t,u._chart)),C.push(g.callbacks.labelTextColor.call(u,t,u._chart))})),p.title=u.getTitle(P,h),p.beforeBody=u.getBeforeBody(P,h),p.body=u.getBody(P,h),p.afterBody=u.getAfterBody(P,h),p.footer=u.getFooter(P,h),p.x=O.x,p.y=O.y,p.caretPadding=g.caretPadding,p.labelColors=v,p.labelTextColors=C,p.dataPoints=P,_=function(t,e){var n=t._chart.ctx,a=2*e.yPadding,r=0,o=e.body,i=o.reduce((function(t,e){return t+e.before.length+e.lines.length+e.after.length}),0),s=e.title.length,c=e.footer.length,l=e.titleFontSize,d=e.bodyFontSize,u=e.footerFontSize;a+=s*l,a+=s?(s-1)*e.titleSpacing:0,a+=s?e.titleMarginBottom:0,a+=(i+=e.beforeBody.length+e.afterBody.length)*d,a+=i?(i-1)*e.bodySpacing:0,a+=c?e.footerMarginTop:0,a+=c*u,a+=c?(c-1)*e.footerSpacing:0;var g=0,f=function(t){r=Math.max(r,n.measureText(t).width+g)};return n.font=dt.fontString(l,e._titleFontStyle,e._titleFontFamily),dt.each(e.title,f),n.font=dt.fontString(d,e._bodyFontStyle,e._bodyFontFamily),dt.each(e.beforeBody.concat(e.afterBody),f),g=e.displayColors?d+2:0,dt.each(o,(function(t){dt.each(t.before,f),dt.each(t.lines,f),dt.each(t.after,f)})),g=0,n.font=dt.fontString(u,e._footerFontStyle,e._footerFontFamily),dt.each(e.footer,f),{width:r+=2*e.xPadding,height:a}}(this,p),y=function(t,e,n,a){var r=t.x,o=t.y,i=t.caretPadding,s=n.xAlign,c=n.yAlign,l=t.caretSize+i,d=t.cornerRadius+i;return"right"===s?r-=e.width:"center"===s&&((r-=e.width/2)+e.width>a.width&&(r=a.width-e.width),r<0&&(r=0)),"top"===c?o+=l:o-="bottom"===c?e.height+l:e.height/2,"center"===c?"left"===s?r+=l:"right"===s&&(r-=l):"left"===s?r-=d:"right"===s&&(r+=d),{x:r,y:o}}(p,_,b=function(t,e){var n,a,r,o,i,s=t._model,c=t._chart,l=t._chart.chartArea,d="center",u="center";s.y<e.height?u="top":s.y>c.height-e.height&&(u="bottom");var g=(l.left+l.right)/2,f=(l.top+l.bottom)/2;"center"===u?(n=function(t){return t<=g},a=function(t){return t>g}):(n=function(t){return t<=e.width/2},a=function(t){return t>=c.width-e.width/2}),r=function(t){return t+e.width+s.caretSize+s.caretPadding>c.width},o=function(t){return t-e.width-s.caretSize-s.caretPadding<0},i=function(t){return t<=f?"top":"bottom"},n(s.x)?(d="left",r(s.x)&&(d="center",u=i(s.y))):a(s.x)&&(d="right",o(s.x)&&(d="center",u=i(s.y)));var p=t._options;return{xAlign:p.xAlign?p.xAlign:d,yAlign:p.yAlign?p.yAlign:u}}(this,_),u._chart)}else p.opacity=0;return p.xAlign=b.xAlign,p.yAlign=b.yAlign,p.x=y.x,p.y=y.y,p.width=_.width,p.height=_.height,p.caretX=O.x,p.caretY=O.y,u._model=p,t&&g.custom&&g.custom.call(u,p),u},drawCaret:function(t,e){var n=this._chart.ctx,a=this.getCaretPosition(t,e,this._view);n.lineTo(a.x1,a.y1),n.lineTo(a.x2,a.y2),n.lineTo(a.x3,a.y3)},getCaretPosition:function(t,e,n){var a,r,o,i,s,c,l=n.caretSize,d=n.cornerRadius,u=n.xAlign,g=n.yAlign,f=t.x,p=t.y,m=e.width,h=e.height;if("center"===g)s=p+h/2,"left"===u?(r=(a=f)-l,o=a,i=s+l,c=s-l):(r=(a=f+m)+l,o=a,i=s-l,c=s+l);else if("left"===u?(a=(r=f+d+l)-l,o=r+l):"right"===u?(a=(r=f+m-d-l)-l,o=r+l):(a=(r=n.caretX)-l,o=r+l),"top"===g)s=(i=p)-l,c=i;else{s=(i=p+h)+l,c=i;var b=o;o=a,a=b}return{x1:a,x2:r,x3:o,y1:i,y2:s,y3:c}},drawTitle:function(t,e,n){var a=e.title;if(a.length){t.x=je(e,e._titleAlign),n.textAlign=e._titleAlign,n.textBaseline="top";var r,o,i=e.titleFontSize,s=e.titleSpacing;for(n.fillStyle=e.titleFontColor,n.font=dt.fontString(i,e._titleFontStyle,e._titleFontFamily),r=0,o=a.length;r<o;++r)n.fillText(a[r],t.x,t.y),t.y+=i+s,r+1===a.length&&(t.y+=e.titleMarginBottom-s)}},drawBody:function(t,e,n){var a,r=e.bodyFontSize,o=e.bodySpacing,i=e._bodyAlign,s=e.body,c=e.displayColors,l=e.labelColors,d=0,u=c?je(e,"left"):0;n.textAlign=i,n.textBaseline="top",n.font=dt.fontString(r,e._bodyFontStyle,e._bodyFontFamily),t.x=je(e,i);var g=function(e){n.fillText(e,t.x+d,t.y),t.y+=r+o};n.fillStyle=e.bodyFontColor,dt.each(e.beforeBody,g),d=c&&"right"!==i?"center"===i?r/2+1:r+2:0,dt.each(s,(function(o,i){n.fillStyle=a=e.labelTextColors[i],dt.each(o.before,g),dt.each(o.lines,(function(o){c&&(n.fillStyle=e.legendColorBackground,n.fillRect(u,t.y,r,r),n.lineWidth=1,n.strokeStyle=l[i].borderColor,n.strokeRect(u,t.y,r,r),n.fillStyle=l[i].backgroundColor,n.fillRect(u+1,t.y+1,r-2,r-2),n.fillStyle=a),g(o)})),dt.each(o.after,g)})),d=0,dt.each(e.afterBody,g),t.y-=o},drawFooter:function(t,e,n){var a=e.footer;a.length&&(t.x=je(e,e._footerAlign),t.y+=e.footerMarginTop,n.textAlign=e._footerAlign,n.textBaseline="top",n.fillStyle=e.footerFontColor,n.font=dt.fontString(e.footerFontSize,e._footerFontStyle,e._footerFontFamily),dt.each(a,(function(a){n.fillText(a,t.x,t.y),t.y+=e.footerFontSize+e.footerSpacing})))},drawBackground:function(t,e,n,a){n.fillStyle=e.backgroundColor,n.strokeStyle=e.borderColor,n.lineWidth=e.borderWidth;var r=e.xAlign,o=e.yAlign,i=t.x,s=t.y,c=a.width,l=a.height,d=e.cornerRadius;n.beginPath(),n.moveTo(i+d,s),"top"===o&&this.drawCaret(t,a),n.lineTo(i+c-d,s),n.quadraticCurveTo(i+c,s,i+c,s+d),"center"===o&&"right"===r&&this.drawCaret(t,a),n.lineTo(i+c,s+l-d),n.quadraticCurveTo(i+c,s+l,i+c-d,s+l),"bottom"===o&&this.drawCaret(t,a),n.lineTo(i+d,s+l),n.quadraticCurveTo(i,s+l,i,s+l-d),"center"===o&&"left"===r&&this.drawCaret(t,a),n.lineTo(i,s+d),n.quadraticCurveTo(i,s,i+d,s),n.closePath(),n.fill(),e.borderWidth>0&&n.stroke()},draw:function(){var t=this._chart.ctx,e=this._view;if(0!==e.opacity){var n={width:e.width,height:e.height},a={x:e.x,y:e.y},r=Math.abs(e.opacity<.001)?0:e.opacity;this._options.enabled&&(e.title.length||e.beforeBody.length||e.body.length||e.afterBody.length||e.footer.length)&&(t.save(),t.globalAlpha=r,this.drawBackground(a,e,t,n),a.y+=e.yPadding,this.drawTitle(a,e,t),this.drawBody(a,e,t),this.drawFooter(a,e,t),t.restore())}},handleEvent:function(t){var e,n=this,a=n._options;return n._lastActive=n._lastActive||[],n._active="mouseout"===t.type?[]:n._chart.getElementsAtEventForMode(t,a.mode,a),(e=!dt.arrayEquals(n._active,n._lastActive))&&(n._lastActive=n._active,(a.enabled||a.custom)&&(n._eventPosition={x:t.x,y:t.y},n.update(!0),n.pivot())),e}});ze.positioners=Ee;var Ge=dt.valueOrDefault;function Be(){return dt.merge({},[].slice.call(arguments),{merger:function(t,e,n,a){if("xAxes"===t||"yAxes"===t){var r,o,i,s=n[t].length;for(e[t]||(e[t]=[]),r=0;r<s;++r)o=Ge((i=n[t][r]).type,"xAxes"===t?"category":"linear"),r>=e[t].length&&e[t].push({}),dt.merge(e[t][r],!e[t][r].type||i.type&&i.type!==e[t][r].type?[Re.getScaleDefaults(o),i]:i)}else dt._merger(t,e,n,a)}})}function Ve(){return dt.merge({},[].slice.call(arguments),{merger:function(t,e,n,a){var r=e[t]||{},o=n[t];"scales"===t?e[t]=Be(r,o):"scale"===t?e[t]=dt.merge(r,[Re.getScaleDefaults(o.type),o]):dt._merger(t,e,n,a)}})}function Ye(t){var e=t.options;dt.each(t.scales,(function(e){_e.removeBox(t,e)})),e=Ve(st.global,st[t.config.type],e),t.options=t.config.options=e,t.ensureScalesHaveIDs(),t.buildOrUpdateScales(),t.tooltip._options=e.tooltips,t.tooltip.initialize()}function He(t){return"top"===t||"bottom"===t}st._set("global",{elements:{},events:["mousemove","mouseout","click","touchstart","touchmove"],hover:{onHover:null,mode:"nearest",intersect:!0,animationDuration:400},onClick:null,maintainAspectRatio:!0,responsive:!0,responsiveAnimationDuration:0});var Ue=function(t,e){return this.construct(t,e),this};dt.extend(Ue.prototype,{construct:function(t,e){var n=this;e=function(t){var e=(t=t||{}).data=t.data||{};return e.datasets=e.datasets||[],e.labels=e.labels||[],t.options=Ve(st.global,st[t.type],t.options||{}),t}(e);var a=Ie.acquireContext(t,e),r=a&&a.canvas,o=r&&r.height,i=r&&r.width;n.id=dt.uid(),n.ctx=a,n.canvas=r,n.config=e,n.width=i,n.height=o,n.aspectRatio=o?i/o:null,n.options=e.options,n._bufferedRender=!1,n.chart=n,n.controller=n,Ue.instances[n.id]=n,Object.defineProperty(n,"data",{get:function(){return n.config.data},set:function(t){n.config.data=t}}),a&&r?(n.initialize(),n.update()):console.error("Failed to create chart: can't acquire context from the given item")},initialize:function(){var t=this;return Ne.notify(t,"beforeInit"),dt.retinaScale(t,t.options.devicePixelRatio),t.bindEvents(),t.options.responsive&&t.resize(!0),t.ensureScalesHaveIDs(),t.buildOrUpdateScales(),t.initToolTip(),Ne.notify(t,"afterInit"),t},clear:function(){return dt.canvas.clear(this),this},stop:function(){return bt.cancelAnimation(this),this},resize:function(t){var e=this,n=e.options,a=e.canvas,r=n.maintainAspectRatio&&e.aspectRatio||null,o=Math.max(0,Math.floor(dt.getMaximumWidth(a))),i=Math.max(0,Math.floor(r?o/r:dt.getMaximumHeight(a)));if((e.width!==o||e.height!==i)&&(a.width=e.width=o,a.height=e.height=i,a.style.width=o+"px",a.style.height=i+"px",dt.retinaScale(e,n.devicePixelRatio),!t)){var s={width:o,height:i};Ne.notify(e,"resize",[s]),n.onResize&&n.onResize(e,s),e.stop(),e.update({duration:n.responsiveAnimationDuration})}},ensureScalesHaveIDs:function(){var t=this.options,e=t.scales||{},n=t.scale;dt.each(e.xAxes,(function(t,e){t.id=t.id||"x-axis-"+e})),dt.each(e.yAxes,(function(t,e){t.id=t.id||"y-axis-"+e})),n&&(n.id=n.id||"scale")},buildOrUpdateScales:function(){var t=this,e=t.options,n=t.scales||{},a=[],r=Object.keys(n).reduce((function(t,e){return t[e]=!1,t}),{});e.scales&&(a=a.concat((e.scales.xAxes||[]).map((function(t){return{options:t,dtype:"category",dposition:"bottom"}})),(e.scales.yAxes||[]).map((function(t){return{options:t,dtype:"linear",dposition:"left"}})))),e.scale&&a.push({options:e.scale,dtype:"radialLinear",isDefault:!0,dposition:"chartArea"}),dt.each(a,(function(e){var a=e.options,o=a.id,i=Ge(a.type,e.dtype);He(a.position)!==He(e.dposition)&&(a.position=e.dposition),r[o]=!0;var s=null;if(o in n&&n[o].type===i)(s=n[o]).options=a,s.ctx=t.ctx,s.chart=t;else{var c=Re.getScaleConstructor(i);if(!c)return;s=new c({id:o,type:i,options:a,ctx:t.ctx,chart:t}),n[s.id]=s}s.mergeTicksOptions(),e.isDefault&&(t.scale=s)})),dt.each(r,(function(t,e){t||delete n[e]})),t.scales=n,Re.addScalesToLayout(this)},buildOrUpdateControllers:function(){var t=this,e=[];return dt.each(t.data.datasets,(function(n,a){var r=t.getDatasetMeta(a),o=n.type||t.config.type;if(r.type&&r.type!==o&&(t.destroyDatasetMeta(a),r=t.getDatasetMeta(a)),r.type=o,r.controller)r.controller.updateIndex(a),r.controller.linkScales();else{var i=se[r.type];if(void 0===i)throw new Error('"'+r.type+'" is not a chart type.');r.controller=new i(t,a),e.push(r.controller)}}),t),e},resetElements:function(){var t=this;dt.each(t.data.datasets,(function(e,n){t.getDatasetMeta(n).controller.reset()}),t)},reset:function(){this.resetElements(),this.tooltip.initialize()},update:function(t){var e=this;if(t&&"object"==typeof t||(t={duration:t,lazy:arguments[1]}),Ye(e),Ne._invalidate(e),!1!==Ne.notify(e,"beforeUpdate")){e.tooltip._data=e.data;var n=e.buildOrUpdateControllers();dt.each(e.data.datasets,(function(t,n){e.getDatasetMeta(n).controller.buildOrUpdateElements()}),e),e.updateLayout(),e.options.animation&&e.options.animation.duration&&dt.each(n,(function(t){t.reset()})),e.updateDatasets(),e.tooltip.initialize(),e.lastActive=[],Ne.notify(e,"afterUpdate"),e._bufferedRender?e._bufferedRequest={duration:t.duration,easing:t.easing,lazy:t.lazy}:e.render(t)}},updateLayout:function(){!1!==Ne.notify(this,"beforeLayout")&&(_e.update(this,this.width,this.height),Ne.notify(this,"afterScaleUpdate"),Ne.notify(this,"afterLayout"))},updateDatasets:function(){if(!1!==Ne.notify(this,"beforeDatasetsUpdate")){for(var t=0,e=this.data.datasets.length;t<e;++t)this.updateDataset(t);Ne.notify(this,"afterDatasetsUpdate")}},updateDataset:function(t){var e=this.getDatasetMeta(t),n={meta:e,index:t};!1!==Ne.notify(this,"beforeDatasetUpdate",[n])&&(e.controller.update(),Ne.notify(this,"afterDatasetUpdate",[n]))},render:function(t){var e=this;t&&"object"==typeof t||(t={duration:t,lazy:arguments[1]});var n=e.options.animation,a=Ge(t.duration,n&&n.duration),r=t.lazy;if(!1!==Ne.notify(e,"beforeRender")){var o=function(t){Ne.notify(e,"afterRender"),dt.callback(n&&n.onComplete,[t],e)};if(n&&a){var i=new ht({numSteps:a/16.66,easing:t.easing||n.easing,render:function(t,e){var n=e.currentStep,a=n/e.numSteps;t.draw((0,dt.easing.effects[e.easing])(a),a,n)},onAnimationProgress:n.onProgress,onAnimationComplete:o});bt.addAnimation(e,i,a,r)}else e.draw(),o(new ht({numSteps:0,chart:e}));return e}},draw:function(t){var e=this;e.clear(),dt.isNullOrUndef(t)&&(t=1),e.transition(t),e.width<=0||e.height<=0||!1!==Ne.notify(e,"beforeDraw",[t])&&(dt.each(e.boxes,(function(t){t.draw(e.chartArea)}),e),e.drawDatasets(t),e._drawTooltip(t),Ne.notify(e,"afterDraw",[t]))},transition:function(t){for(var e=0,n=(this.data.datasets||[]).length;e<n;++e)this.isDatasetVisible(e)&&this.getDatasetMeta(e).controller.transition(t);this.tooltip.transition(t)},drawDatasets:function(t){var e=this;if(!1!==Ne.notify(e,"beforeDatasetsDraw",[t])){for(var n=(e.data.datasets||[]).length-1;n>=0;--n)e.isDatasetVisible(n)&&e.drawDataset(n,t);Ne.notify(e,"afterDatasetsDraw",[t])}},drawDataset:function(t,e){var n=this.getDatasetMeta(t),a={meta:n,index:t,easingValue:e};!1!==Ne.notify(this,"beforeDatasetDraw",[a])&&(n.controller.draw(e),Ne.notify(this,"afterDatasetDraw",[a]))},_drawTooltip:function(t){var e=this.tooltip,n={tooltip:e,easingValue:t};!1!==Ne.notify(this,"beforeTooltipDraw",[n])&&(e.draw(),Ne.notify(this,"afterTooltipDraw",[n]))},getElementAtEvent:function(t){return pe.modes.single(this,t)},getElementsAtEvent:function(t){return pe.modes.label(this,t,{intersect:!0})},getElementsAtXAxis:function(t){return pe.modes["x-axis"](this,t,{intersect:!0})},getElementsAtEventForMode:function(t,e,n){var a=pe.modes[e];return"function"==typeof a?a(this,t,n):[]},getDatasetAtEvent:function(t){return pe.modes.dataset(this,t,{intersect:!0})},getDatasetMeta:function(t){var e=this.data.datasets[t];e._meta||(e._meta={});var n=e._meta[this.id];return n||(n=e._meta[this.id]={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null}),n},getVisibleDatasetCount:function(){for(var t=0,e=0,n=this.data.datasets.length;e<n;++e)this.isDatasetVisible(e)&&t++;return t},isDatasetVisible:function(t){var e=this.getDatasetMeta(t);return"boolean"==typeof e.hidden?!e.hidden:!this.data.datasets[t].hidden},generateLegend:function(){return this.options.legendCallback(this)},destroyDatasetMeta:function(t){var e=this.id,n=this.data.datasets[t],a=n._meta&&n._meta[e];a&&(a.controller.destroy(),delete n._meta[e])},destroy:function(){var t,e,n=this,a=n.canvas;for(n.stop(),t=0,e=n.data.datasets.length;t<e;++t)n.destroyDatasetMeta(t);a&&(n.unbindEvents(),dt.canvas.clear(n),Ie.releaseContext(n.ctx),n.canvas=null,n.ctx=null),Ne.notify(n,"destroy"),delete Ue.instances[n.id]},toBase64Image:function(){return this.canvas.toDataURL.apply(this.canvas,arguments)},initToolTip:function(){var t=this;t.tooltip=new ze({_chart:t,_chartInstance:t,_data:t.data,_options:t.options.tooltips},t)},bindEvents:function(){var t=this,e=t._listeners={},n=function(){t.eventHandler.apply(t,arguments)};dt.each(t.options.events,(function(a){Ie.addEventListener(t,a,n),e[a]=n})),t.options.responsive&&(n=function(){t.resize()},Ie.addEventListener(t,"resize",n),e.resize=n)},unbindEvents:function(){var t=this,e=t._listeners;e&&(delete t._listeners,dt.each(e,(function(e,n){Ie.removeEventListener(t,n,e)})))},updateHoverStyle:function(t,e,n){var a,r,o,i=n?"setHoverStyle":"removeHoverStyle";for(r=0,o=t.length;r<o;++r)(a=t[r])&&this.getDatasetMeta(a._datasetIndex).controller[i](a)},eventHandler:function(t){var e=this,n=e.tooltip;if(!1!==Ne.notify(e,"beforeEvent",[t])){e._bufferedRender=!0,e._bufferedRequest=null;var a=e.handleEvent(t);n&&(a=n._start?n.handleEvent(t):a|n.handleEvent(t)),Ne.notify(e,"afterEvent",[t]);var r=e._bufferedRequest;return r?e.render(r):a&&!e.animating&&(e.stop(),e.render({duration:e.options.hover.animationDuration,lazy:!0})),e._bufferedRender=!1,e._bufferedRequest=null,e}},handleEvent:function(t){var e,n=this,a=n.options||{},r=a.hover;return n.lastActive=n.lastActive||[],n.active="mouseout"===t.type?[]:n.getElementsAtEventForMode(t,r.mode,r),dt.callback(a.onHover||a.hover.onHover,[t.native,n.active],n),"mouseup"!==t.type&&"click"!==t.type||a.onClick&&a.onClick.call(n,t.native,n.active),n.lastActive.length&&n.updateHoverStyle(n.lastActive,r.mode,!1),n.active.length&&r.mode&&n.updateHoverStyle(n.active,r.mode,!0),e=!dt.arrayEquals(n.active,n.lastActive),n.lastActive=n.active,e}}),Ue.instances={};var We=Ue;function Ke(){throw new Error("This method is not implemented: either no adapter can be found or an incomplete integration was provided.")}function $e(t){this.options=t||{}}Ue.Controller=Ue,Ue.types={},dt.configMerge=Ve,dt.scaleMerge=Be,dt.extend($e.prototype,{formats:Ke,parse:Ke,format:Ke,add:Ke,diff:Ke,startOf:Ke,endOf:Ke,_create:function(t){return t}}),$e.override=function(t){dt.extend($e.prototype,t)};var Ze={_date:$e},Je={formatters:{values:function(t){return dt.isArray(t)?t:""+t},linear:function(t,e,n){var a=n.length>3?n[2]-n[1]:n[1]-n[0];Math.abs(a)>1&&t!==Math.floor(t)&&(a=t-Math.floor(t));var r=dt.log10(Math.abs(a)),o="";if(0!==t)if(Math.max(Math.abs(n[0]),Math.abs(n[n.length-1]))<1e-4){var i=dt.log10(Math.abs(t));o=t.toExponential(Math.floor(i)-Math.floor(r))}else{var s=-1*Math.floor(r);s=Math.max(Math.min(s,20),0),o=t.toFixed(s)}else o="0";return o},logarithmic:function(t,e,n){var a=t/Math.pow(10,Math.floor(dt.log10(t)));return 0===t?"0":1===a||2===a||5===a||0===e||e===n.length-1?t.toExponential():""}}},Xe=dt.valueOrDefault,Qe=dt.valueAtIndexOrDefault;function tn(t){var e,n,a=[];for(e=0,n=t.length;e<n;++e)a.push(t[e].label);return a}function en(t,e,n){return dt.isArray(e)?dt.longestText(t,n,e):t.measureText(e).width}st._set("scale",{display:!0,position:"left",offset:!1,gridLines:{display:!0,color:"rgba(0, 0, 0, 0.1)",lineWidth:1,drawBorder:!0,drawOnChartArea:!0,drawTicks:!0,tickMarkLength:10,zeroLineWidth:1,zeroLineColor:"rgba(0,0,0,0.25)",zeroLineBorderDash:[],zeroLineBorderDashOffset:0,offsetGridLines:!1,borderDash:[],borderDashOffset:0},scaleLabel:{display:!1,labelString:"",padding:{top:4,bottom:4}},ticks:{beginAtZero:!1,minRotation:0,maxRotation:50,mirror:!1,padding:0,reverse:!1,display:!0,autoSkip:!0,autoSkipPadding:0,labelOffset:0,callback:Je.formatters.values,minor:{},major:{}}});var nn=pt.extend({getPadding:function(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}},getTicks:function(){return this._ticks},mergeTicksOptions:function(){var t=this.options.ticks;for(var e in!1===t.minor&&(t.minor={display:!1}),!1===t.major&&(t.major={display:!1}),t)"major"!==e&&"minor"!==e&&(void 0===t.minor[e]&&(t.minor[e]=t[e]),void 0===t.major[e]&&(t.major[e]=t[e]))},beforeUpdate:function(){dt.callback(this.options.beforeUpdate,[this])},update:function(t,e,n){var a,r,o,i,s,c,l=this;for(l.beforeUpdate(),l.maxWidth=t,l.maxHeight=e,l.margins=dt.extend({left:0,right:0,top:0,bottom:0},n),l._maxLabelLines=0,l.longestLabelWidth=0,l.longestTextCache=l.longestTextCache||{},l.beforeSetDimensions(),l.setDimensions(),l.afterSetDimensions(),l.beforeDataLimits(),l.determineDataLimits(),l.afterDataLimits(),l.beforeBuildTicks(),s=l.buildTicks()||[],s=l.afterBuildTicks(s)||s,l.beforeTickToLabelConversion(),o=l.convertTicksToLabels(s)||l.ticks,l.afterTickToLabelConversion(),l.ticks=o,a=0,r=o.length;a<r;++a)i=o[a],(c=s[a])?c.label=i:s.push(c={label:i,major:!1});return l._ticks=s,l.beforeCalculateTickRotation(),l.calculateTickRotation(),l.afterCalculateTickRotation(),l.beforeFit(),l.fit(),l.afterFit(),l.afterUpdate(),l.minSize},afterUpdate:function(){dt.callback(this.options.afterUpdate,[this])},beforeSetDimensions:function(){dt.callback(this.options.beforeSetDimensions,[this])},setDimensions:function(){var t=this;t.isHorizontal()?(t.width=t.maxWidth,t.left=0,t.right=t.width):(t.height=t.maxHeight,t.top=0,t.bottom=t.height),t.paddingLeft=0,t.paddingTop=0,t.paddingRight=0,t.paddingBottom=0},afterSetDimensions:function(){dt.callback(this.options.afterSetDimensions,[this])},beforeDataLimits:function(){dt.callback(this.options.beforeDataLimits,[this])},determineDataLimits:dt.noop,afterDataLimits:function(){dt.callback(this.options.afterDataLimits,[this])},beforeBuildTicks:function(){dt.callback(this.options.beforeBuildTicks,[this])},buildTicks:dt.noop,afterBuildTicks:function(t){var e=this;return dt.isArray(t)&&t.length?dt.callback(e.options.afterBuildTicks,[e,t]):(e.ticks=dt.callback(e.options.afterBuildTicks,[e,e.ticks])||e.ticks,t)},beforeTickToLabelConversion:function(){dt.callback(this.options.beforeTickToLabelConversion,[this])},convertTicksToLabels:function(){var t=this.options.ticks;this.ticks=this.ticks.map(t.userCallback||t.callback,this)},afterTickToLabelConversion:function(){dt.callback(this.options.afterTickToLabelConversion,[this])},beforeCalculateTickRotation:function(){dt.callback(this.options.beforeCalculateTickRotation,[this])},calculateTickRotation:function(){var t=this,e=t.ctx,n=t.options.ticks,a=tn(t._ticks),r=dt.options._parseFont(n);e.font=r.string;var o=n.minRotation||0;if(a.length&&t.options.display&&t.isHorizontal())for(var i,s=dt.longestText(e,r.string,a,t.longestTextCache),c=s,l=t.getPixelForTick(1)-t.getPixelForTick(0)-6;c>l&&o<n.maxRotation;){var d=dt.toRadians(o);if(i=Math.cos(d),Math.sin(d)*s>t.maxHeight){o--;break}o++,c=i*s}t.labelRotation=o},afterCalculateTickRotation:function(){dt.callback(this.options.afterCalculateTickRotation,[this])},beforeFit:function(){dt.callback(this.options.beforeFit,[this])},fit:function(){var t=this,e=t.minSize={width:0,height:0},n=tn(t._ticks),a=t.options,r=a.ticks,o=a.scaleLabel,i=a.gridLines,s=t._isVisible(),c=a.position,l=t.isHorizontal(),d=dt.options._parseFont,u=d(r),g=a.gridLines.tickMarkLength;if(e.width=l?t.isFullWidth()?t.maxWidth-t.margins.left-t.margins.right:t.maxWidth:s&&i.drawTicks?g:0,e.height=l?s&&i.drawTicks?g:0:t.maxHeight,o.display&&s){var f=d(o),p=dt.options.toPadding(o.padding),m=f.lineHeight+p.height;l?e.height+=m:e.width+=m}if(r.display&&s){var h=dt.longestText(t.ctx,u.string,n,t.longestTextCache),b=dt.numberOfLabelLines(n),y=.5*u.size,_=t.options.ticks.padding;if(t._maxLabelLines=b,t.longestLabelWidth=h,l){var O=dt.toRadians(t.labelRotation),v=Math.cos(O),C=Math.sin(O);e.height=Math.min(t.maxHeight,e.height+(C*h+u.lineHeight*b+y)+_),t.ctx.font=u.string;var P,M,x=en(t.ctx,n[0],u.string),w=en(t.ctx,n[n.length-1],u.string),T=t.getPixelForTick(0)-t.left,S=t.right-t.getPixelForTick(n.length-1);0!==t.labelRotation?(P="bottom"===c?v*x:v*y,M="bottom"===c?v*y:v*w):(P=x/2,M=w/2),t.paddingLeft=Math.max(P-T,0)+3,t.paddingRight=Math.max(M-S,0)+3}else r.mirror?h=0:h+=_+y,e.width=Math.min(t.maxWidth,e.width+h),t.paddingTop=u.size/2,t.paddingBottom=u.size/2}t.handleMargins(),t.width=e.width,t.height=e.height},handleMargins:function(){var t=this;t.margins&&(t.paddingLeft=Math.max(t.paddingLeft-t.margins.left,0),t.paddingTop=Math.max(t.paddingTop-t.margins.top,0),t.paddingRight=Math.max(t.paddingRight-t.margins.right,0),t.paddingBottom=Math.max(t.paddingBottom-t.margins.bottom,0))},afterFit:function(){dt.callback(this.options.afterFit,[this])},isHorizontal:function(){return"top"===this.options.position||"bottom"===this.options.position},isFullWidth:function(){return this.options.fullWidth},getRightValue:function(t){if(dt.isNullOrUndef(t))return NaN;if(("number"==typeof t||t instanceof Number)&&!isFinite(t))return NaN;if(t)if(this.isHorizontal()){if(void 0!==t.x)return this.getRightValue(t.x)}else if(void 0!==t.y)return this.getRightValue(t.y);return t},getLabelForIndex:dt.noop,getPixelForValue:dt.noop,getValueForPixel:dt.noop,getPixelForTick:function(t){var e=this,n=e.options.offset;if(e.isHorizontal()){var a=(e.width-(e.paddingLeft+e.paddingRight))/Math.max(e._ticks.length-(n?0:1),1),r=a*t+e.paddingLeft;return n&&(r+=a/2),e.left+r+(e.isFullWidth()?e.margins.left:0)}return e.top+t*((e.height-(e.paddingTop+e.paddingBottom))/(e._ticks.length-1))},getPixelForDecimal:function(t){var e=this;return e.isHorizontal()?e.left+((e.width-(e.paddingLeft+e.paddingRight))*t+e.paddingLeft)+(e.isFullWidth()?e.margins.left:0):e.top+t*e.height},getBasePixel:function(){return this.getPixelForValue(this.getBaseValue())},getBaseValue:function(){var t=this.min,e=this.max;return this.beginAtZero?0:t<0&&e<0?e:t>0&&e>0?t:0},_autoSkip:function(t){var e,n,a=this,r=a.isHorizontal(),o=t.length,i=!1,s=a.options.ticks.minor.maxTicksLimit,c=a._tickSize()*(o-1),l=r?a.width-(a.paddingLeft+a.paddingRight):a.height-(a.paddingTop+a.PaddingBottom),d=[];for(c>l&&(i=1+Math.floor(c/l)),o>s&&(i=Math.max(i,1+Math.floor(o/s))),e=0;e<o;e++)n=t[e],i>1&&e%i>0&&delete n.label,d.push(n);return d},_tickSize:function(){var t=this,e=t.isHorizontal(),n=t.options.ticks.minor,a=dt.toRadians(t.labelRotation),r=Math.abs(Math.cos(a)),o=Math.abs(Math.sin(a)),i=n.autoSkipPadding||0,s=t.longestLabelWidth+i||0,c=dt.options._parseFont(n),l=t._maxLabelLines*c.lineHeight+i||0;return e?l*r>s*o?s/r:l/o:l*o<s*r?l/r:s/o},_isVisible:function(){var t,e,n,a=this.chart,r=this.options.display;if("auto"!==r)return!!r;for(t=0,e=a.data.datasets.length;t<e;++t)if(a.isDatasetVisible(t)&&((n=a.getDatasetMeta(t)).xAxisID===this.id||n.yAxisID===this.id))return!0;return!1},draw:function(t){var e=this,n=e.options;if(e._isVisible()){var a,r,o,i=e.chart,s=e.ctx,c=st.global.defaultFontColor,l=n.ticks.minor,d=n.ticks.major||l,u=n.gridLines,g=n.scaleLabel,f=n.position,p=0!==e.labelRotation,m=l.mirror,h=e.isHorizontal(),b=dt.options._parseFont,y=l.display&&l.autoSkip?e._autoSkip(e.getTicks()):e.getTicks(),_=Xe(l.fontColor,c),O=b(l),v=O.lineHeight,C=Xe(d.fontColor,c),P=b(d),M=l.padding,x=l.labelOffset,w=u.drawTicks?u.tickMarkLength:0,T=Xe(g.fontColor,c),S=b(g),k=dt.options.toPadding(g.padding),I=dt.toRadians(e.labelRotation),N=[],R=u.drawBorder?Qe(u.lineWidth,0,0):0,A=dt._alignPixel;if("top"===f?(a=A(i,e.bottom,R),r=e.bottom-w,o=a-R/2):"bottom"===f?(a=A(i,e.top,R),r=a+R/2,o=e.top+w):"left"===f?(a=A(i,e.right,R),r=e.right-w,o=a-R/2):(a=A(i,e.left,R),r=a+R/2,o=e.left+w),dt.each(y,(function(a,s){if(!dt.isNullOrUndef(a.label)){var c,l,d,g,b,y,_,O,C,P,T,S,k,E,D,L,q=a.label;s===e.zeroLineIndex&&n.offset===u.offsetGridLines?(c=u.zeroLineWidth,l=u.zeroLineColor,d=u.zeroLineBorderDash||[],g=u.zeroLineBorderDashOffset||0):(c=Qe(u.lineWidth,s),l=Qe(u.color,s),d=u.borderDash||[],g=u.borderDashOffset||0);var j=dt.isArray(q)?q.length:1,F=function(t,e,n){var a=t.getPixelForTick(e);return n&&(1===t.getTicks().length?a-=t.isHorizontal()?Math.max(a-t.left,t.right-a):Math.max(a-t.top,t.bottom-a):a-=0===e?(t.getPixelForTick(1)-a)/2:(a-t.getPixelForTick(e-1))/2),a}(e,s,u.offsetGridLines);if(h){var z=w+M;F<e.left-1e-7&&(l="rgba(0,0,0,0)"),b=_=C=T=A(i,F,c),y=r,O=o,k=e.getPixelForTick(s)+x,"top"===f?(P=A(i,t.top,R)+R/2,S=t.bottom,D=((p?1:.5)-j)*v,L=p?"left":"center",E=e.bottom-z):(P=t.top,S=A(i,t.bottom,R)-R/2,D=(p?0:.5)*v,L=p?"right":"center",E=e.top+z)}else{var G=(m?0:w)+M;F<e.top-1e-7&&(l="rgba(0,0,0,0)"),b=r,_=o,y=O=P=S=A(i,F,c),E=e.getPixelForTick(s)+x,D=(1-j)*v/2,"left"===f?(C=A(i,t.left,R)+R/2,T=t.right,L=m?"left":"right",k=e.right-G):(C=t.left,T=A(i,t.right,R)-R/2,L=m?"right":"left",k=e.left+G)}N.push({tx1:b,ty1:y,tx2:_,ty2:O,x1:C,y1:P,x2:T,y2:S,labelX:k,labelY:E,glWidth:c,glColor:l,glBorderDash:d,glBorderDashOffset:g,rotation:-1*I,label:q,major:a.major,textOffset:D,textAlign:L})}})),dt.each(N,(function(t){var e=t.glWidth,n=t.glColor;if(u.display&&e&&n&&(s.save(),s.lineWidth=e,s.strokeStyle=n,s.setLineDash&&(s.setLineDash(t.glBorderDash),s.lineDashOffset=t.glBorderDashOffset),s.beginPath(),u.drawTicks&&(s.moveTo(t.tx1,t.ty1),s.lineTo(t.tx2,t.ty2)),u.drawOnChartArea&&(s.moveTo(t.x1,t.y1),s.lineTo(t.x2,t.y2)),s.stroke(),s.restore()),l.display){s.save(),s.translate(t.labelX,t.labelY),s.rotate(t.rotation),s.font=t.major?P.string:O.string,s.fillStyle=t.major?C:_,s.textBaseline="middle",s.textAlign=t.textAlign;var a=t.label,r=t.textOffset;if(dt.isArray(a))for(var o=0;o<a.length;++o)s.fillText(""+a[o],0,r),r+=v;else s.fillText(a,0,r);s.restore()}})),g.display){var E,D,L=0,q=S.lineHeight/2;if(h)E=e.left+(e.right-e.left)/2,D="bottom"===f?e.bottom-q-k.bottom:e.top+q+k.top;else{var j="left"===f;E=j?e.left+q+k.top:e.right-q-k.top,D=e.top+(e.bottom-e.top)/2,L=j?-.5*Math.PI:.5*Math.PI}s.save(),s.translate(E,D),s.rotate(L),s.textAlign="center",s.textBaseline="middle",s.fillStyle=T,s.font=S.string,s.fillText(g.labelString,0,0),s.restore()}if(R){var F,z,G,B,V=R,Y=Qe(u.lineWidth,y.length-1,0);h?(F=A(i,e.left,V)-V/2,z=A(i,e.right,Y)+Y/2,G=B=a):(G=A(i,e.top,V)-V/2,B=A(i,e.bottom,Y)+Y/2,F=z=a),s.lineWidth=R,s.strokeStyle=Qe(u.color,0),s.beginPath(),s.moveTo(F,G),s.lineTo(z,B),s.stroke()}}}}),an=nn.extend({getLabels:function(){var t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels},determineDataLimits:function(){var t,e=this,n=e.getLabels();e.minIndex=0,e.maxIndex=n.length-1,void 0!==e.options.ticks.min&&(t=n.indexOf(e.options.ticks.min),e.minIndex=-1!==t?t:e.minIndex),void 0!==e.options.ticks.max&&(t=n.indexOf(e.options.ticks.max),e.maxIndex=-1!==t?t:e.maxIndex),e.min=n[e.minIndex],e.max=n[e.maxIndex]},buildTicks:function(){var t=this,e=t.getLabels();t.ticks=0===t.minIndex&&t.maxIndex===e.length-1?e:e.slice(t.minIndex,t.maxIndex+1)},getLabelForIndex:function(t,e){var n=this,a=n.chart;return a.getDatasetMeta(e).controller._getValueScaleId()===n.id?n.getRightValue(a.data.datasets[e].data[t]):n.ticks[t-n.minIndex]},getPixelForValue:function(t,e){var n,a=this,r=a.options.offset,o=Math.max(a.maxIndex+1-a.minIndex-(r?0:1),1);if(null!=t&&(n=a.isHorizontal()?t.x:t.y),void 0!==n||void 0!==t&&isNaN(e)){var i=a.getLabels().indexOf(t=n||t);e=-1!==i?i:e}if(a.isHorizontal()){var s=a.width/o,c=s*(e-a.minIndex);return r&&(c+=s/2),a.left+c}var l=a.height/o,d=l*(e-a.minIndex);return r&&(d+=l/2),a.top+d},getPixelForTick:function(t){return this.getPixelForValue(this.ticks[t],t+this.minIndex,null)},getValueForPixel:function(t){var e=this,n=e.options.offset,a=Math.max(e._ticks.length-(n?0:1),1),r=e.isHorizontal(),o=(r?e.width:e.height)/a;return t-=r?e.left:e.top,n&&(t-=o/2),(t<=0?0:Math.round(t/o))+e.minIndex},getBasePixel:function(){return this.bottom}});an._defaults={position:"bottom"};var rn=dt.isNullOrUndef,on=nn.extend({getRightValue:function(t){return"string"==typeof t?+t:nn.prototype.getRightValue.call(this,t)},handleTickRangeOptions:function(){var t=this,e=t.options.ticks;if(e.beginAtZero){var n=dt.sign(t.min),a=dt.sign(t.max);n<0&&a<0?t.max=0:n>0&&a>0&&(t.min=0)}var r=void 0!==e.min||void 0!==e.suggestedMin,o=void 0!==e.max||void 0!==e.suggestedMax;void 0!==e.min?t.min=e.min:void 0!==e.suggestedMin&&(t.min=null===t.min?e.suggestedMin:Math.min(t.min,e.suggestedMin)),void 0!==e.max?t.max=e.max:void 0!==e.suggestedMax&&(t.max=null===t.max?e.suggestedMax:Math.max(t.max,e.suggestedMax)),r!==o&&t.min>=t.max&&(r?t.max=t.min+1:t.min=t.max-1),t.min===t.max&&(t.max++,e.beginAtZero||t.min--)},getTickLimit:function(){var t,e=this.options.ticks,n=e.stepSize,a=e.maxTicksLimit;return n?t=Math.ceil(this.max/n)-Math.floor(this.min/n)+1:(t=this._computeTickLimit(),a=a||11),a&&(t=Math.min(a,t)),t},_computeTickLimit:function(){return Number.POSITIVE_INFINITY},handleDirectionalChanges:dt.noop,buildTicks:function(){var t=this,e=t.options.ticks,n=t.getTickLimit(),a={maxTicks:n=Math.max(2,n),min:e.min,max:e.max,precision:e.precision,stepSize:dt.valueOrDefault(e.fixedStepSize,e.stepSize)},r=t.ticks=function(t,e){var n,a,r,o,i=[],s=t.stepSize,c=s||1,l=t.maxTicks-1,d=t.min,u=t.max,g=t.precision,f=e.min,p=e.max,m=dt.niceNum((p-f)/l/c)*c;if(m<1e-14&&rn(d)&&rn(u))return[f,p];(o=Math.ceil(p/m)-Math.floor(f/m))>l&&(m=dt.niceNum(o*m/l/c)*c),s||rn(g)?n=Math.pow(10,dt._decimalPlaces(m)):(n=Math.pow(10,g),m=Math.ceil(m*n)/n),a=Math.floor(f/m)*m,r=Math.ceil(p/m)*m,s&&(!rn(d)&&dt.almostWhole(d/m,m/1e3)&&(a=d),!rn(u)&&dt.almostWhole(u/m,m/1e3)&&(r=u)),o=dt.almostEquals(o=(r-a)/m,Math.round(o),m/1e3)?Math.round(o):Math.ceil(o),a=Math.round(a*n)/n,r=Math.round(r*n)/n,i.push(rn(d)?a:d);for(var h=1;h<o;++h)i.push(Math.round((a+h*m)*n)/n);return i.push(rn(u)?r:u),i}(a,t);t.handleDirectionalChanges(),t.max=dt.max(r),t.min=dt.min(r),e.reverse?(r.reverse(),t.start=t.max,t.end=t.min):(t.start=t.min,t.end=t.max)},convertTicksToLabels:function(){var t=this;t.ticksAsNumbers=t.ticks.slice(),t.zeroLineIndex=t.ticks.indexOf(0),nn.prototype.convertTicksToLabels.call(t)}}),sn={position:"left",ticks:{callback:Je.formatters.linear}},cn=on.extend({determineDataLimits:function(){var t=this,e=t.options,n=t.chart,a=n.data.datasets,r=t.isHorizontal();function o(e){return r?e.xAxisID===t.id:e.yAxisID===t.id}t.min=null,t.max=null;var i=e.stacked;if(void 0===i&&dt.each(a,(function(t,e){if(!i){var a=n.getDatasetMeta(e);n.isDatasetVisible(e)&&o(a)&&void 0!==a.stack&&(i=!0)}})),e.stacked||i){var s={};dt.each(a,(function(a,r){var i=n.getDatasetMeta(r),c=[i.type,void 0===e.stacked&&void 0===i.stack?r:"",i.stack].join(".");void 0===s[c]&&(s[c]={positiveValues:[],negativeValues:[]});var l=s[c].positiveValues,d=s[c].negativeValues;n.isDatasetVisible(r)&&o(i)&&dt.each(a.data,(function(n,a){var r=+t.getRightValue(n);isNaN(r)||i.data[a].hidden||(l[a]=l[a]||0,d[a]=d[a]||0,e.relativePoints?l[a]=100:r<0?d[a]+=r:l[a]+=r)}))})),dt.each(s,(function(e){var n=e.positiveValues.concat(e.negativeValues),a=dt.min(n),r=dt.max(n);t.min=null===t.min?a:Math.min(t.min,a),t.max=null===t.max?r:Math.max(t.max,r)}))}else dt.each(a,(function(e,a){var r=n.getDatasetMeta(a);n.isDatasetVisible(a)&&o(r)&&dt.each(e.data,(function(e,n){var a=+t.getRightValue(e);isNaN(a)||r.data[n].hidden||(null===t.min?t.min=a:a<t.min&&(t.min=a),null===t.max?t.max=a:a>t.max&&(t.max=a))}))}));t.min=isFinite(t.min)&&!isNaN(t.min)?t.min:0,t.max=isFinite(t.max)&&!isNaN(t.max)?t.max:1,this.handleTickRangeOptions()},_computeTickLimit:function(){var t;return this.isHorizontal()?Math.ceil(this.width/40):(t=dt.options._parseFont(this.options.ticks),Math.ceil(this.height/t.lineHeight))},handleDirectionalChanges:function(){this.isHorizontal()||this.ticks.reverse()},getLabelForIndex:function(t,e){return+this.getRightValue(this.chart.data.datasets[e].data[t])},getPixelForValue:function(t){var e=this,n=e.start,a=+e.getRightValue(t),r=e.end-n;return e.isHorizontal()?e.left+e.width/r*(a-n):e.bottom-e.height/r*(a-n)},getValueForPixel:function(t){var e=this,n=e.isHorizontal();return e.start+(n?t-e.left:e.bottom-t)/(n?e.width:e.height)*(e.end-e.start)},getPixelForTick:function(t){return this.getPixelForValue(this.ticksAsNumbers[t])}});cn._defaults=sn;var ln=dt.valueOrDefault,dn={position:"left",ticks:{callback:Je.formatters.logarithmic}};function un(t,e){return dt.isFinite(t)&&t>=0?t:e}var gn=nn.extend({determineDataLimits:function(){var t=this,e=t.options,n=t.chart,a=n.data.datasets,r=t.isHorizontal();function o(e){return r?e.xAxisID===t.id:e.yAxisID===t.id}t.min=null,t.max=null,t.minNotZero=null;var i=e.stacked;if(void 0===i&&dt.each(a,(function(t,e){if(!i){var a=n.getDatasetMeta(e);n.isDatasetVisible(e)&&o(a)&&void 0!==a.stack&&(i=!0)}})),e.stacked||i){var s={};dt.each(a,(function(a,r){var i=n.getDatasetMeta(r),c=[i.type,void 0===e.stacked&&void 0===i.stack?r:"",i.stack].join(".");n.isDatasetVisible(r)&&o(i)&&(void 0===s[c]&&(s[c]=[]),dt.each(a.data,(function(e,n){var a=s[c],r=+t.getRightValue(e);isNaN(r)||i.data[n].hidden||r<0||(a[n]=a[n]||0,a[n]+=r)})))})),dt.each(s,(function(e){if(e.length>0){var n=dt.min(e),a=dt.max(e);t.min=null===t.min?n:Math.min(t.min,n),t.max=null===t.max?a:Math.max(t.max,a)}}))}else dt.each(a,(function(e,a){var r=n.getDatasetMeta(a);n.isDatasetVisible(a)&&o(r)&&dt.each(e.data,(function(e,n){var a=+t.getRightValue(e);isNaN(a)||r.data[n].hidden||a<0||(null===t.min?t.min=a:a<t.min&&(t.min=a),null===t.max?t.max=a:a>t.max&&(t.max=a),0!==a&&(null===t.minNotZero||a<t.minNotZero)&&(t.minNotZero=a))}))}));this.handleTickRangeOptions()},handleTickRangeOptions:function(){var t=this,e=t.options.ticks;t.min=un(e.min,t.min),t.max=un(e.max,t.max),t.min===t.max&&(0!==t.min&&null!==t.min?(t.min=Math.pow(10,Math.floor(dt.log10(t.min))-1),t.max=Math.pow(10,Math.floor(dt.log10(t.max))+1)):(t.min=1,t.max=10)),null===t.min&&(t.min=Math.pow(10,Math.floor(dt.log10(t.max))-1)),null===t.max&&(t.max=0!==t.min?Math.pow(10,Math.floor(dt.log10(t.min))+1):10),null===t.minNotZero&&(t.minNotZero=t.min>0?t.min:t.max<1?Math.pow(10,Math.floor(dt.log10(t.max))):1)},buildTicks:function(){var t=this,e=t.options.ticks,n=!t.isHorizontal(),a={min:un(e.min),max:un(e.max)},r=t.ticks=function(t,e){var n,a,r=[],o=ln(t.min,Math.pow(10,Math.floor(dt.log10(e.min)))),i=Math.floor(dt.log10(e.max)),s=Math.ceil(e.max/Math.pow(10,i));0===o?(n=Math.floor(dt.log10(e.minNotZero)),a=Math.floor(e.minNotZero/Math.pow(10,n)),r.push(o),o=a*Math.pow(10,n)):(n=Math.floor(dt.log10(o)),a=Math.floor(o/Math.pow(10,n)));var c=n<0?Math.pow(10,Math.abs(n)):1;do{r.push(o),10==++a&&(a=1,c=++n>=0?1:c),o=Math.round(a*Math.pow(10,n)*c)/c}while(n<i||n===i&&a<s);var l=ln(t.max,o);return r.push(l),r}(a,t);t.max=dt.max(r),t.min=dt.min(r),e.reverse?(n=!n,t.start=t.max,t.end=t.min):(t.start=t.min,t.end=t.max),n&&r.reverse()},convertTicksToLabels:function(){this.tickValues=this.ticks.slice(),nn.prototype.convertTicksToLabels.call(this)},getLabelForIndex:function(t,e){return+this.getRightValue(this.chart.data.datasets[e].data[t])},getPixelForTick:function(t){return this.getPixelForValue(this.tickValues[t])},_getFirstTickValue:function(t){var e=Math.floor(dt.log10(t));return Math.floor(t/Math.pow(10,e))*Math.pow(10,e)},getPixelForValue:function(t){var e,n,a,r,o,i=this,s=i.options.ticks,c=s.reverse,l=dt.log10,d=i._getFirstTickValue(i.minNotZero),u=0;return t=+i.getRightValue(t),c?(a=i.end,r=i.start,o=-1):(a=i.start,r=i.end,o=1),i.isHorizontal()?(e=i.width,n=c?i.right:i.left):(e=i.height,o*=-1,n=c?i.top:i.bottom),t!==a&&(0===a&&(e-=u=ln(s.fontSize,st.global.defaultFontSize),a=d),0!==t&&(u+=e/(l(r)-l(a))*(l(t)-l(a))),n+=o*u),n},getValueForPixel:function(t){var e,n,a,r,o=this,i=o.options.ticks,s=i.reverse,c=dt.log10,l=o._getFirstTickValue(o.minNotZero);if(s?(n=o.end,a=o.start):(n=o.start,a=o.end),o.isHorizontal()?(e=o.width,r=s?o.right-t:t-o.left):(e=o.height,r=s?t-o.top:o.bottom-t),r!==n){if(0===n){var d=ln(i.fontSize,st.global.defaultFontSize);r-=d,e-=d,n=l}r*=c(a)-c(n),r/=e,r=Math.pow(10,c(n)+r)}return r}});gn._defaults=dn;var fn=dt.valueOrDefault,pn=dt.valueAtIndexOrDefault,mn=dt.options.resolve,hn={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,color:"rgba(0, 0, 0, 0.1)",lineWidth:1,borderDash:[],borderDashOffset:0},gridLines:{circular:!1},ticks:{showLabelBackdrop:!0,backdropColor:"rgba(255,255,255,0.75)",backdropPaddingY:2,backdropPaddingX:2,callback:Je.formatters.linear},pointLabels:{display:!0,fontSize:10,callback:function(t){return t}}};function bn(t){var e=t.options;return e.angleLines.display||e.pointLabels.display?t.chart.data.labels.length:0}function yn(t){var e=t.ticks;return e.display&&t.display?fn(e.fontSize,st.global.defaultFontSize)+2*e.backdropPaddingY:0}function _n(t,e,n,a,r){return t===a||t===r?{start:e-n/2,end:e+n/2}:t<a||t>r?{start:e-n,end:e}:{start:e,end:e+n}}function On(t){return 0===t||180===t?"center":t<180?"left":"right"}function vn(t,e,n,a){var r,o,i=n.y+a/2;if(dt.isArray(e))for(r=0,o=e.length;r<o;++r)t.fillText(e[r],n.x,i),i+=a;else t.fillText(e,n.x,i)}function Cn(t,e,n){90===t||270===t?n.y-=e.h/2:(t>270||t<90)&&(n.y-=e.h)}function Pn(t){return dt.isNumber(t)?t:0}var Mn=on.extend({setDimensions:function(){var t=this;t.width=t.maxWidth,t.height=t.maxHeight,t.paddingTop=yn(t.options)/2,t.xCenter=Math.floor(t.width/2),t.yCenter=Math.floor((t.height-t.paddingTop)/2),t.drawingArea=Math.min(t.height-t.paddingTop,t.width)/2},determineDataLimits:function(){var t=this,e=t.chart,n=Number.POSITIVE_INFINITY,a=Number.NEGATIVE_INFINITY;dt.each(e.data.datasets,(function(r,o){if(e.isDatasetVisible(o)){var i=e.getDatasetMeta(o);dt.each(r.data,(function(e,r){var o=+t.getRightValue(e);isNaN(o)||i.data[r].hidden||(n=Math.min(o,n),a=Math.max(o,a))}))}})),t.min=n===Number.POSITIVE_INFINITY?0:n,t.max=a===Number.NEGATIVE_INFINITY?0:a,t.handleTickRangeOptions()},_computeTickLimit:function(){return Math.ceil(this.drawingArea/yn(this.options))},convertTicksToLabels:function(){var t=this;on.prototype.convertTicksToLabels.call(t),t.pointLabels=t.chart.data.labels.map(t.options.pointLabels.callback,t)},getLabelForIndex:function(t,e){return+this.getRightValue(this.chart.data.datasets[e].data[t])},fit:function(){var t=this.options;t.display&&t.pointLabels.display?function(t){var e,n,a,r=dt.options._parseFont(t.options.pointLabels),o={l:0,r:t.width,t:0,b:t.height-t.paddingTop},i={};t.ctx.font=r.string,t._pointLabelSizes=[];var s,c,l,d=bn(t);for(e=0;e<d;e++){a=t.getPointPosition(e,t.drawingArea+5),s=t.ctx,c=r.lineHeight,n=dt.isArray(l=t.pointLabels[e]||"")?{w:dt.longestText(s,s.font,l),h:l.length*c}:{w:s.measureText(l).width,h:c},t._pointLabelSizes[e]=n;var u=t.getIndexAngle(e),g=dt.toDegrees(u)%360,f=_n(g,a.x,n.w,0,180),p=_n(g,a.y,n.h,90,270);f.start<o.l&&(o.l=f.start,i.l=u),f.end>o.r&&(o.r=f.end,i.r=u),p.start<o.t&&(o.t=p.start,i.t=u),p.end>o.b&&(o.b=p.end,i.b=u)}t.setReductions(t.drawingArea,o,i)}(this):this.setCenterPoint(0,0,0,0)},setReductions:function(t,e,n){var a=this,r=e.l/Math.sin(n.l),o=Math.max(e.r-a.width,0)/Math.sin(n.r),i=-e.t/Math.cos(n.t),s=-Math.max(e.b-(a.height-a.paddingTop),0)/Math.cos(n.b);r=Pn(r),o=Pn(o),i=Pn(i),s=Pn(s),a.drawingArea=Math.min(Math.floor(t-(r+o)/2),Math.floor(t-(i+s)/2)),a.setCenterPoint(r,o,i,s)},setCenterPoint:function(t,e,n,a){var r=this,o=n+r.drawingArea,i=r.height-r.paddingTop-a-r.drawingArea;r.xCenter=Math.floor((t+r.drawingArea+(r.width-e-r.drawingArea))/2+r.left),r.yCenter=Math.floor((o+i)/2+r.top+r.paddingTop)},getIndexAngle:function(t){return t*(2*Math.PI/bn(this))+(this.chart.options&&this.chart.options.startAngle?this.chart.options.startAngle:0)*Math.PI*2/360},getDistanceFromCenterForValue:function(t){var e=this;if(null===t)return 0;var n=e.drawingArea/(e.max-e.min);return e.options.ticks.reverse?(e.max-t)*n:(t-e.min)*n},getPointPosition:function(t,e){var n=this.getIndexAngle(t)-Math.PI/2;return{x:Math.cos(n)*e+this.xCenter,y:Math.sin(n)*e+this.yCenter}},getPointPositionForValue:function(t,e){return this.getPointPosition(t,this.getDistanceFromCenterForValue(e))},getBasePosition:function(){var t=this.min,e=this.max;return this.getPointPositionForValue(0,this.beginAtZero?0:t<0&&e<0?e:t>0&&e>0?t:0)},draw:function(){var t=this,e=t.options,n=e.gridLines,a=e.ticks;if(e.display){var r=t.ctx,o=this.getIndexAngle(0),i=dt.options._parseFont(a);(e.angleLines.display||e.pointLabels.display)&&function(t){var e=t.ctx,n=t.options,a=n.angleLines,r=n.gridLines,o=n.pointLabels,i=fn(a.lineWidth,r.lineWidth),s=fn(a.color,r.color),c=yn(n);e.save(),e.lineWidth=i,e.strokeStyle=s,e.setLineDash&&(e.setLineDash(mn([a.borderDash,r.borderDash,[]])),e.lineDashOffset=mn([a.borderDashOffset,r.borderDashOffset,0]));var l=t.getDistanceFromCenterForValue(n.ticks.reverse?t.min:t.max),d=dt.options._parseFont(o);e.font=d.string,e.textBaseline="middle";for(var u=bn(t)-1;u>=0;u--){if(a.display&&i&&s){var g=t.getPointPosition(u,l);e.beginPath(),e.moveTo(t.xCenter,t.yCenter),e.lineTo(g.x,g.y),e.stroke()}if(o.display){var f=t.getPointPosition(u,l+(0===u?c/2:0)+5),p=pn(o.fontColor,u,st.global.defaultFontColor);e.fillStyle=p;var m=t.getIndexAngle(u),h=dt.toDegrees(m);e.textAlign=On(h),Cn(h,t._pointLabelSizes[u],f),vn(e,t.pointLabels[u]||"",f,d.lineHeight)}}e.restore()}(t),dt.each(t.ticks,(function(e,s){if(s>0||a.reverse){var c=t.getDistanceFromCenterForValue(t.ticksAsNumbers[s]);if(n.display&&0!==s&&function(t,e,n,a){var r,o=t.ctx,i=e.circular,s=bn(t),c=pn(e.color,a-1),l=pn(e.lineWidth,a-1);if((i||s)&&c&&l){if(o.save(),o.strokeStyle=c,o.lineWidth=l,o.setLineDash&&(o.setLineDash(e.borderDash||[]),o.lineDashOffset=e.borderDashOffset||0),o.beginPath(),i)o.arc(t.xCenter,t.yCenter,n,0,2*Math.PI);else{r=t.getPointPosition(0,n),o.moveTo(r.x,r.y);for(var d=1;d<s;d++)r=t.getPointPosition(d,n),o.lineTo(r.x,r.y)}o.closePath(),o.stroke(),o.restore()}}(t,n,c,s),a.display){var l=fn(a.fontColor,st.global.defaultFontColor);if(r.font=i.string,r.save(),r.translate(t.xCenter,t.yCenter),r.rotate(o),a.showLabelBackdrop){var d=r.measureText(e).width;r.fillStyle=a.backdropColor,r.fillRect(-d/2-a.backdropPaddingX,-c-i.size/2-a.backdropPaddingY,d+2*a.backdropPaddingX,i.size+2*a.backdropPaddingY)}r.textAlign="center",r.textBaseline="middle",r.fillStyle=l,r.fillText(e,0,-c),r.restore()}}}))}}});Mn._defaults=hn;var xn=dt.valueOrDefault,wn=Number.MIN_SAFE_INTEGER||-9007199254740991,Tn=Number.MAX_SAFE_INTEGER||9007199254740991,Sn={millisecond:{common:!0,size:1,steps:[1,2,5,10,20,50,100,250,500]},second:{common:!0,size:1e3,steps:[1,2,5,10,15,30]},minute:{common:!0,size:6e4,steps:[1,2,5,10,15,30]},hour:{common:!0,size:36e5,steps:[1,2,3,6,12]},day:{common:!0,size:864e5,steps:[1,2,5]},week:{common:!1,size:6048e5,steps:[1,2,3,4]},month:{common:!0,size:2628e6,steps:[1,2,3]},quarter:{common:!1,size:7884e6,steps:[1,2,3,4]},year:{common:!0,size:3154e7}},kn=Object.keys(Sn);function In(t,e){return t-e}function Nn(t){var e,n,a,r={},o=[];for(e=0,n=t.length;e<n;++e)r[a=t[e]]||(r[a]=!0,o.push(a));return o}function Rn(t,e,n,a){var r=function(t,e,n){for(var a,r,o,i=0,s=t.length-1;i>=0&&i<=s;){if(o=t[a=i+s>>1],!(r=t[a-1]||null))return{lo:null,hi:o};if(o[e]<n)i=a+1;else{if(!(r[e]>n))return{lo:r,hi:o};s=a-1}}return{lo:o,hi:null}}(t,e,n),o=r.lo?r.hi?r.lo:t[t.length-2]:t[0],i=r.lo?r.hi?r.hi:t[t.length-1]:t[1],s=i[e]-o[e];return o[a]+(i[a]-o[a])*(s?(n-o[e])/s:0)}function An(t,e){var n=t._adapter,a=t.options.time,r=a.parser,o=r||a.format,i=e;return"function"==typeof r&&(i=r(i)),dt.isFinite(i)||(i="string"==typeof o?n.parse(i,o):n.parse(i)),null!==i?+i:(r||"function"!=typeof o||(i=o(e),dt.isFinite(i)||(i=n.parse(i))),i)}function En(t,e){if(dt.isNullOrUndef(e))return null;var n=t.options.time,a=An(t,t.getRightValue(e));return null===a?a:(n.round&&(a=+t._adapter.startOf(a,n.round)),a)}function Dn(t){for(var e=kn.indexOf(t)+1,n=kn.length;e<n;++e)if(Sn[kn[e]].common)return kn[e]}var Ln=nn.extend({initialize:function(){this.mergeTicksOptions(),nn.prototype.initialize.call(this)},update:function(){var t=this,e=t.options,n=e.time||(e.time={}),a=t._adapter=new Ze._date(e.adapters.date);return n.format&&console.warn("options.time.format is deprecated and replaced by options.time.parser."),dt.mergeIf(n.displayFormats,a.formats()),nn.prototype.update.apply(t,arguments)},getRightValue:function(t){return t&&void 0!==t.t&&(t=t.t),nn.prototype.getRightValue.call(this,t)},determineDataLimits:function(){var t,e,n,a,r,o,i=this,s=i.chart,c=i._adapter,l=i.options.time,d=l.unit||"day",u=Tn,g=wn,f=[],p=[],m=[],h=s.data.labels||[];for(t=0,n=h.length;t<n;++t)m.push(En(i,h[t]));for(t=0,n=(s.data.datasets||[]).length;t<n;++t)if(s.isDatasetVisible(t))if(dt.isObject((r=s.data.datasets[t].data)[0]))for(p[t]=[],e=0,a=r.length;e<a;++e)o=En(i,r[e]),f.push(o),p[t][e]=o;else{for(e=0,a=m.length;e<a;++e)f.push(m[e]);p[t]=m.slice(0)}else p[t]=[];m.length&&(m=Nn(m).sort(In),u=Math.min(u,m[0]),g=Math.max(g,m[m.length-1])),f.length&&(f=Nn(f).sort(In),u=Math.min(u,f[0]),g=Math.max(g,f[f.length-1])),u=En(i,l.min)||u,g=En(i,l.max)||g,u=u===Tn?+c.startOf(Date.now(),d):u,g=g===wn?+c.endOf(Date.now(),d)+1:g,i.min=Math.min(u,g),i.max=Math.max(u+1,g),i._horizontal=i.isHorizontal(),i._table=[],i._timestamps={data:f,datasets:p,labels:m}},buildTicks:function(){var t,e,n,a=this,r=a.min,o=a.max,i=a.options,s=i.time,c=[],l=[];switch(i.ticks.source){case"data":c=a._timestamps.data;break;case"labels":c=a._timestamps.labels;break;case"auto":default:c=function(t,e,n,a){var r,o=t._adapter,i=t.options,s=i.time,c=s.unit||function(t,e,n,a){var r,o,i=kn.length;for(r=kn.indexOf(t);r<i-1;++r)if((o=Sn[kn[r]]).common&&Math.ceil((n-e)/((o.steps?o.steps[o.steps.length-1]:Tn)*o.size))<=a)return kn[r];return kn[i-1]}(s.minUnit,e,n,a),l=Dn(c),d=xn(s.stepSize,s.unitStepSize),u="week"===c&&s.isoWeekday,g=i.ticks.major.enabled,f=Sn[c],p=e,m=n,h=[];for(d||(d=function(t,e,n,a){var r,o,i,s=e-t,c=Sn[n],l=c.size,d=c.steps;if(!d)return Math.ceil(s/(a*l));for(r=0,o=d.length;r<o&&(i=d[r],!(Math.ceil(s/(l*i))<=a));++r);return i}(e,n,c,a)),u&&(p=+o.startOf(p,"isoWeek",u),m=+o.startOf(m,"isoWeek",u)),p=+o.startOf(p,u?"day":c),(m=+o.startOf(m,u?"day":c))<n&&(m=+o.add(m,1,c)),r=p,g&&l&&!u&&!s.round&&(r=+o.startOf(r,l),r=+o.add(r,~~((p-r)/(f.size*d))*d,c));r<m;r=+o.add(r,d,c))h.push(+r);return h.push(+r),h}(a,r,o,a.getLabelCapacity(r))}for("ticks"===i.bounds&&c.length&&(r=c[0],o=c[c.length-1]),r=En(a,s.min)||r,o=En(a,s.max)||o,t=0,e=c.length;t<e;++t)(n=c[t])>=r&&n<=o&&l.push(n);return a.min=r,a.max=o,a._unit=s.unit||function(t,e,n,a,r){var o,i;for(o=kn.length-1;o>=kn.indexOf(n);o--)if(Sn[i=kn[o]].common&&t._adapter.diff(r,a,i)>=e.length)return i;return kn[n?kn.indexOf(n):0]}(a,l,s.minUnit,a.min,a.max),a._majorUnit=Dn(a._unit),a._table=function(t,e,n,a){if("linear"===a||!t.length)return[{time:e,pos:0},{time:n,pos:1}];var r,o,i,s,c,l=[],d=[e];for(r=0,o=t.length;r<o;++r)(s=t[r])>e&&s<n&&d.push(s);for(d.push(n),r=0,o=d.length;r<o;++r)c=d[r+1],s=d[r],void 0!==(i=d[r-1])&&void 0!==c&&Math.round((c+i)/2)===s||l.push({time:s,pos:r/(o-1)});return l}(a._timestamps.data,r,o,i.distribution),a._offsets=function(t,e,n,a,r){var o,i,s=0,c=0;return r.offset&&e.length&&(r.time.min||(o=Rn(t,"time",e[0],"pos"),s=1===e.length?1-o:(Rn(t,"time",e[1],"pos")-o)/2),r.time.max||(i=Rn(t,"time",e[e.length-1],"pos"),c=1===e.length?i:(i-Rn(t,"time",e[e.length-2],"pos"))/2)),{start:s,end:c}}(a._table,l,0,0,i),i.ticks.reverse&&l.reverse(),function(t,e,n){var a,r,o,i,s=[];for(a=0,r=e.length;a<r;++a)o=e[a],i=!!n&&o===+t._adapter.startOf(o,n),s.push({value:o,major:i});return s}(a,l,a._majorUnit)},getLabelForIndex:function(t,e){var n=this,a=n._adapter,r=n.chart.data,o=n.options.time,i=r.labels&&t<r.labels.length?r.labels[t]:"",s=r.datasets[e].data[t];return dt.isObject(s)&&(i=n.getRightValue(s)),o.tooltipFormat?a.format(An(n,i),o.tooltipFormat):"string"==typeof i?i:a.format(An(n,i),o.displayFormats.datetime)},tickFormatFunction:function(t,e,n,a){var r=this._adapter,o=this.options,i=o.time.displayFormats,s=i[this._unit],c=this._majorUnit,l=i[c],d=+r.startOf(t,c),u=o.ticks.major,g=u.enabled&&c&&l&&t===d,f=r.format(t,a||(g?l:s)),p=g?u:o.ticks.minor,m=xn(p.callback,p.userCallback);return m?m(f,e,n):f},convertTicksToLabels:function(t){var e,n,a=[];for(e=0,n=t.length;e<n;++e)a.push(this.tickFormatFunction(t[e].value,e,t));return a},getPixelForOffset:function(t){var e=this,n=e.options.ticks.reverse,a=e._horizontal?e.width:e.height,r=e._horizontal?n?e.right:e.left:n?e.bottom:e.top,o=Rn(e._table,"time",t,"pos"),i=a*(e._offsets.start+o)/(e._offsets.start+1+e._offsets.end);return n?r-i:r+i},getPixelForValue:function(t,e,n){var a=null;if(void 0!==e&&void 0!==n&&(a=this._timestamps.datasets[n][e]),null===a&&(a=En(this,t)),null!==a)return this.getPixelForOffset(a)},getPixelForTick:function(t){var e=this.getTicks();return t>=0&&t<e.length?this.getPixelForOffset(e[t].value):null},getValueForPixel:function(t){var e=this,n=e._horizontal?e.width:e.height,a=Rn(e._table,"pos",(n?(t-(e._horizontal?e.left:e.top))/n:0)*(e._offsets.start+1+e._offsets.start)-e._offsets.end,"time");return e._adapter._create(a)},getLabelWidth:function(t){var e=this.options.ticks,n=this.ctx.measureText(t).width,a=dt.toRadians(e.maxRotation),r=Math.cos(a),o=Math.sin(a);return n*r+xn(e.fontSize,st.global.defaultFontSize)*o},getLabelCapacity:function(t){var e=this,n=e.tickFormatFunction(t,0,[],e.options.time.displayFormats.millisecond),a=e.getLabelWidth(n),r=e.isHorizontal()?e.width:e.height,o=Math.floor(r/a);return o>0?o:1}});Ln._defaults={position:"bottom",distribution:"linear",bounds:"data",adapters:{},time:{parser:!1,format:!1,unit:!1,round:!1,displayFormat:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{autoSkip:!1,source:"auto",major:{enabled:!1}}};var qn={category:an,linear:cn,logarithmic:gn,radialLinear:Mn,time:Ln},jn={datetime:"MMM D, YYYY, h:mm:ss a",millisecond:"h:mm:ss.SSS a",second:"h:mm:ss a",minute:"h:mm a",hour:"hA",day:"MMM D",week:"ll",month:"MMM YYYY",quarter:"[Q]Q - YYYY",year:"YYYY"};Ze._date.override("function"==typeof t?{_id:"moment",formats:function(){return jn},parse:function(e,n){return"string"==typeof e&&"string"==typeof n?e=t(e,n):e instanceof t||(e=t(e)),e.isValid()?e.valueOf():null},format:function(e,n){return t(e).format(n)},add:function(e,n,a){return t(e).add(n,a).valueOf()},diff:function(e,n,a){return t.duration(t(e).diff(t(n))).as(a)},startOf:function(e,n,a){return e=t(e),"isoWeek"===n?e.isoWeekday(a).valueOf():e.startOf(n).valueOf()},endOf:function(e,n){return t(e).endOf(n).valueOf()},_create:function(e){return t(e)}}:{}),st._set("global",{plugins:{filler:{propagate:!0}}});var Fn={dataset:function(t){var e=t.fill,n=t.chart,a=n.getDatasetMeta(e),r=a&&n.isDatasetVisible(e)&&a.dataset._children||[],o=r.length||0;return o?function(t,e){return e<o&&r[e]._view||null}:null},boundary:function(t){var e=t.boundary,n=e?e.x:null,a=e?e.y:null;return function(t){return{x:null===n?t.x:n,y:null===a?t.y:a}}}};function zn(t,e,n){var a,r=t._model||{},o=r.fill;if(void 0===o&&(o=!!r.backgroundColor),!1===o||null===o)return!1;if(!0===o)return"origin";if(a=parseFloat(o,10),isFinite(a)&&Math.floor(a)===a)return"-"!==o[0]&&"+"!==o[0]||(a=e+a),!(a===e||a<0||a>=n)&&a;switch(o){case"bottom":return"start";case"top":return"end";case"zero":return"origin";case"origin":case"start":case"end":return o;default:return!1}}function Gn(t){var e,n=t.el._model||{},a=t.el._scale||{},r=t.fill,o=null;if(isFinite(r))return null;if("start"===r?o=void 0===n.scaleBottom?a.bottom:n.scaleBottom:"end"===r?o=void 0===n.scaleTop?a.top:n.scaleTop:void 0!==n.scaleZero?o=n.scaleZero:a.getBasePosition?o=a.getBasePosition():a.getBasePixel&&(o=a.getBasePixel()),null!=o){if(void 0!==o.x&&void 0!==o.y)return o;if(dt.isFinite(o))return{x:(e=a.isHorizontal())?o:null,y:e?null:o}}return null}function Bn(t,e,n){var a,r=t[e].fill,o=[e];if(!n)return r;for(;!1!==r&&-1===o.indexOf(r);){if(!isFinite(r))return r;if(!(a=t[r]))return!1;if(a.visible)return r;o.push(r),r=a.fill}return!1}function Vn(t){var e=t.fill,n="dataset";return!1===e?null:(isFinite(e)||(n="boundary"),Fn[n](t))}function Yn(t){return t&&!t.skip}function Hn(t,e,n,a,r){var o;if(a&&r){for(t.moveTo(e[0].x,e[0].y),o=1;o<a;++o)dt.canvas.lineTo(t,e[o-1],e[o]);for(t.lineTo(n[r-1].x,n[r-1].y),o=r-1;o>0;--o)dt.canvas.lineTo(t,n[o],n[o-1],!0)}}var Un={id:"filler",afterDatasetsUpdate:function(t,e){var n,a,r,o,i=(t.data.datasets||[]).length,s=e.propagate,c=[];for(a=0;a<i;++a)o=null,(r=(n=t.getDatasetMeta(a)).dataset)&&r._model&&r instanceof qt.Line&&(o={visible:t.isDatasetVisible(a),fill:zn(r,a,i),chart:t,el:r}),n.$filler=o,c.push(o);for(a=0;a<i;++a)(o=c[a])&&(o.fill=Bn(c,a,s),o.boundary=Gn(o),o.mapper=Vn(o))},beforeDatasetDraw:function(t,e){var n=e.meta.$filler;if(n){var a=t.ctx,r=n.el,o=r._view,i=r._children||[],s=n.mapper,c=o.backgroundColor||st.global.defaultColor;s&&c&&i.length&&(dt.canvas.clipArea(a,t.chartArea),function(t,e,n,a,r,o){var i,s,c,l,d,u,g,f=e.length,p=a.spanGaps,m=[],h=[],b=0,y=0;for(t.beginPath(),i=0,s=f+!!o;i<s;++i)d=n(l=e[c=i%f]._view,c,a),u=Yn(l),g=Yn(d),u&&g?(b=m.push(l),y=h.push(d)):b&&y&&(p?(u&&m.push(l),g&&h.push(d)):(Hn(t,m,h,b,y),b=y=0,m=[],h=[]));Hn(t,m,h,b,y),t.closePath(),t.fillStyle=r,t.fill()}(a,i,s,o,c,r._loop),dt.canvas.unclipArea(a))}}},Wn=dt.noop,Kn=dt.valueOrDefault;function $n(t,e){return t.usePointStyle&&t.boxWidth>e?e:t.boxWidth}st._set("global",{legend:{display:!0,position:"top",fullWidth:!0,reverse:!1,weight:1e3,onClick:function(t,e){var n=e.datasetIndex,a=this.chart,r=a.getDatasetMeta(n);r.hidden=null===r.hidden?!a.data.datasets[n].hidden:null,a.update()},onHover:null,onLeave:null,labels:{boxWidth:40,padding:10,generateLabels:function(t){var e=t.data;return dt.isArray(e.datasets)?e.datasets.map((function(e,n){return{text:e.label,fillStyle:dt.isArray(e.backgroundColor)?e.backgroundColor[0]:e.backgroundColor,hidden:!t.isDatasetVisible(n),lineCap:e.borderCapStyle,lineDash:e.borderDash,lineDashOffset:e.borderDashOffset,lineJoin:e.borderJoinStyle,lineWidth:e.borderWidth,strokeStyle:e.borderColor,pointStyle:e.pointStyle,datasetIndex:n}}),this):[]}}},legendCallback:function(t){var e=[];e.push('<ul class="'+t.id+'-legend">');for(var n=0;n<t.data.datasets.length;n++)e.push('<li><span style="background-color:'+t.data.datasets[n].backgroundColor+'"></span>'),t.data.datasets[n].label&&e.push(t.data.datasets[n].label),e.push("</li>");return e.push("</ul>"),e.join("")}});var Zn=pt.extend({initialize:function(t){dt.extend(this,t),this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1},beforeUpdate:Wn,update:function(t,e,n){var a=this;return a.beforeUpdate(),a.maxWidth=t,a.maxHeight=e,a.margins=n,a.beforeSetDimensions(),a.setDimensions(),a.afterSetDimensions(),a.beforeBuildLabels(),a.buildLabels(),a.afterBuildLabels(),a.beforeFit(),a.fit(),a.afterFit(),a.afterUpdate(),a.minSize},afterUpdate:Wn,beforeSetDimensions:Wn,setDimensions:function(){var t=this;t.isHorizontal()?(t.width=t.maxWidth,t.left=0,t.right=t.width):(t.height=t.maxHeight,t.top=0,t.bottom=t.height),t.paddingLeft=0,t.paddingTop=0,t.paddingRight=0,t.paddingBottom=0,t.minSize={width:0,height:0}},afterSetDimensions:Wn,beforeBuildLabels:Wn,buildLabels:function(){var t=this,e=t.options.labels||{},n=dt.callback(e.generateLabels,[t.chart],t)||[];e.filter&&(n=n.filter((function(n){return e.filter(n,t.chart.data)}))),t.options.reverse&&n.reverse(),t.legendItems=n},afterBuildLabels:Wn,beforeFit:Wn,fit:function(){var t=this,e=t.options,n=e.labels,a=e.display,r=t.ctx,o=dt.options._parseFont(n),i=o.size,s=t.legendHitBoxes=[],c=t.minSize,l=t.isHorizontal();if(l?(c.width=t.maxWidth,c.height=a?10:0):(c.width=a?10:0,c.height=t.maxHeight),a)if(r.font=o.string,l){var d=t.lineWidths=[0],u=0;r.textAlign="left",r.textBaseline="top",dt.each(t.legendItems,(function(t,e){var a=$n(n,i)+i/2+r.measureText(t.text).width;(0===e||d[d.length-1]+a+n.padding>c.width)&&(u+=i+n.padding,d[d.length-(e>0?0:1)]=n.padding),s[e]={left:0,top:0,width:a,height:i},d[d.length-1]+=a+n.padding})),c.height+=u}else{var g=n.padding,f=t.columnWidths=[],p=n.padding,m=0,h=0,b=i+g;dt.each(t.legendItems,(function(t,e){var a=$n(n,i)+i/2+r.measureText(t.text).width;e>0&&h+b>c.height-g&&(p+=m+n.padding,f.push(m),m=0,h=0),m=Math.max(m,a),h+=b,s[e]={left:0,top:0,width:a,height:i}})),p+=m,f.push(m),c.width+=p}t.width=c.width,t.height=c.height},afterFit:Wn,isHorizontal:function(){return"top"===this.options.position||"bottom"===this.options.position},draw:function(){var t=this,e=t.options,n=e.labels,a=st.global,r=a.defaultColor,o=a.elements.line,i=t.width,s=t.lineWidths;if(e.display){var c,l=t.ctx,d=Kn(n.fontColor,a.defaultFontColor),u=dt.options._parseFont(n),g=u.size;l.textAlign="left",l.textBaseline="middle",l.lineWidth=.5,l.strokeStyle=d,l.fillStyle=d,l.font=u.string;var f=$n(n,g),p=t.legendHitBoxes,m=t.isHorizontal();c=m?{x:t.left+(i-s[0])/2+n.padding,y:t.top+n.padding,line:0}:{x:t.left+n.padding,y:t.top+n.padding,line:0};var h=g+n.padding;dt.each(t.legendItems,(function(a,d){var u=l.measureText(a.text).width,b=f+g/2+u,y=c.x,_=c.y;m?d>0&&y+b+n.padding>t.left+t.minSize.width&&(_=c.y+=h,c.line++,y=c.x=t.left+(i-s[c.line])/2+n.padding):d>0&&_+h>t.top+t.minSize.height&&(y=c.x=y+t.columnWidths[c.line]+n.padding,_=c.y=t.top+n.padding,c.line++),function(t,n,a){if(!(isNaN(f)||f<=0)){l.save();var i=Kn(a.lineWidth,o.borderWidth);if(l.fillStyle=Kn(a.fillStyle,r),l.lineCap=Kn(a.lineCap,o.borderCapStyle),l.lineDashOffset=Kn(a.lineDashOffset,o.borderDashOffset),l.lineJoin=Kn(a.lineJoin,o.borderJoinStyle),l.lineWidth=i,l.strokeStyle=Kn(a.strokeStyle,r),l.setLineDash&&l.setLineDash(Kn(a.lineDash,o.borderDash)),e.labels&&e.labels.usePointStyle){var s=f*Math.SQRT2/2;dt.canvas.drawPoint(l,a.pointStyle,s,t+f/2,n+g/2)}else 0!==i&&l.strokeRect(t,n,f,g),l.fillRect(t,n,f,g);l.restore()}}(y,_,a),p[d].left=y,p[d].top=_,function(t,e,n,a){var r=g/2,o=f+r+t,i=e+r;l.fillText(n.text,o,i),n.hidden&&(l.beginPath(),l.lineWidth=2,l.moveTo(o,i),l.lineTo(o+a,i),l.stroke())}(y,_,a,u),m?c.x+=b+n.padding:c.y+=h}))}},_getLegendItemAt:function(t,e){var n,a,r,o=this;if(t>=o.left&&t<=o.right&&e>=o.top&&e<=o.bottom)for(r=o.legendHitBoxes,n=0;n<r.length;++n)if(t>=(a=r[n]).left&&t<=a.left+a.width&&e>=a.top&&e<=a.top+a.height)return o.legendItems[n];return null},handleEvent:function(t){var e,n=this,a=n.options,r="mouseup"===t.type?"click":t.type;if("mousemove"===r){if(!a.onHover&&!a.onLeave)return}else{if("click"!==r)return;if(!a.onClick)return}e=n._getLegendItemAt(t.x,t.y),"click"===r?e&&a.onClick&&a.onClick.call(n,t.native,e):(a.onLeave&&e!==n._hoveredItem&&(n._hoveredItem&&a.onLeave.call(n,t.native,n._hoveredItem),n._hoveredItem=e),a.onHover&&e&&a.onHover.call(n,t.native,e))}});function Jn(t,e){var n=new Zn({ctx:t.ctx,options:e,chart:t});_e.configure(t,n,e),_e.addBox(t,n),t.legend=n}var Xn={id:"legend",_element:Zn,beforeInit:function(t){var e=t.options.legend;e&&Jn(t,e)},beforeUpdate:function(t){var e=t.options.legend,n=t.legend;e?(dt.mergeIf(e,st.global.legend),n?(_e.configure(t,n,e),n.options=e):Jn(t,e)):n&&(_e.removeBox(t,n),delete t.legend)},afterEvent:function(t,e){var n=t.legend;n&&n.handleEvent(e)}},Qn=dt.noop;st._set("global",{title:{display:!1,fontStyle:"bold",fullWidth:!0,padding:10,position:"top",text:"",weight:2e3}});var ta=pt.extend({initialize:function(t){dt.extend(this,t),this.legendHitBoxes=[]},beforeUpdate:Qn,update:function(t,e,n){var a=this;return a.beforeUpdate(),a.maxWidth=t,a.maxHeight=e,a.margins=n,a.beforeSetDimensions(),a.setDimensions(),a.afterSetDimensions(),a.beforeBuildLabels(),a.buildLabels(),a.afterBuildLabels(),a.beforeFit(),a.fit(),a.afterFit(),a.afterUpdate(),a.minSize},afterUpdate:Qn,beforeSetDimensions:Qn,setDimensions:function(){var t=this;t.isHorizontal()?(t.width=t.maxWidth,t.left=0,t.right=t.width):(t.height=t.maxHeight,t.top=0,t.bottom=t.height),t.paddingLeft=0,t.paddingTop=0,t.paddingRight=0,t.paddingBottom=0,t.minSize={width:0,height:0}},afterSetDimensions:Qn,beforeBuildLabels:Qn,buildLabels:Qn,afterBuildLabels:Qn,beforeFit:Qn,fit:function(){var t=this,e=t.options,n=e.display,a=t.minSize,r=dt.isArray(e.text)?e.text.length:1,o=dt.options._parseFont(e),i=n?r*o.lineHeight+2*e.padding:0;t.isHorizontal()?(a.width=t.maxWidth,a.height=i):(a.width=i,a.height=t.maxHeight),t.width=a.width,t.height=a.height},afterFit:Qn,isHorizontal:function(){var t=this.options.position;return"top"===t||"bottom"===t},draw:function(){var t=this,e=t.ctx,n=t.options;if(n.display){var a,r,o,i=dt.options._parseFont(n),s=i.lineHeight,c=s/2+n.padding,l=0,d=t.top,u=t.left,g=t.bottom,f=t.right;e.fillStyle=dt.valueOrDefault(n.fontColor,st.global.defaultFontColor),e.font=i.string,t.isHorizontal()?(r=u+(f-u)/2,o=d+c,a=f-u):(r="left"===n.position?u+c:f-c,o=d+(g-d)/2,a=g-d,l=Math.PI*("left"===n.position?-.5:.5)),e.save(),e.translate(r,o),e.rotate(l),e.textAlign="center",e.textBaseline="middle";var p=n.text;if(dt.isArray(p))for(var m=0,h=0;h<p.length;++h)e.fillText(p[h],0,m,a),m+=s;else e.fillText(p,0,0,a);e.restore()}}});function ea(t,e){var n=new ta({ctx:t.ctx,options:e,chart:t});_e.configure(t,n,e),_e.addBox(t,n),t.titleBlock=n}var na={},aa=Un,ra=Xn,oa={id:"title",_element:ta,beforeInit:function(t){var e=t.options.title;e&&ea(t,e)},beforeUpdate:function(t){var e=t.options.title,n=t.titleBlock;e?(dt.mergeIf(e,st.global.title),n?(_e.configure(t,n,e),n.options=e):ea(t,e)):n&&(_e.removeBox(t,n),delete t.titleBlock)}};for(var ia in na.filler=aa,na.legend=ra,na.title=oa,We.helpers=dt,function(){function t(t,e,n){var a;return"string"==typeof t?(a=parseInt(t,10),-1!==t.indexOf("%")&&(a=a/100*e.parentNode[n])):a=t,a}function e(t){return null!=t&&"none"!==t}function n(n,a,r){var o=document.defaultView,i=dt._getParentNode(n),s=o.getComputedStyle(n)[a],c=o.getComputedStyle(i)[a],l=e(s),d=e(c),u=Number.POSITIVE_INFINITY;return l||d?Math.min(l?t(s,n,r):u,d?t(c,i,r):u):"none"}dt.where=function(t,e){if(dt.isArray(t)&&Array.prototype.filter)return t.filter(e);var n=[];return dt.each(t,(function(t){e(t)&&n.push(t)})),n},dt.findIndex=Array.prototype.findIndex?function(t,e,n){return t.findIndex(e,n)}:function(t,e,n){n=void 0===n?t:n;for(var a=0,r=t.length;a<r;++a)if(e.call(n,t[a],a,t))return a;return-1},dt.findNextWhere=function(t,e,n){dt.isNullOrUndef(n)&&(n=-1);for(var a=n+1;a<t.length;a++){var r=t[a];if(e(r))return r}},dt.findPreviousWhere=function(t,e,n){dt.isNullOrUndef(n)&&(n=t.length);for(var a=n-1;a>=0;a--){var r=t[a];if(e(r))return r}},dt.isNumber=function(t){return!isNaN(parseFloat(t))&&isFinite(t)},dt.almostEquals=function(t,e,n){return Math.abs(t-e)<n},dt.almostWhole=function(t,e){var n=Math.round(t);return n-e<t&&n+e>t},dt.max=function(t){return t.reduce((function(t,e){return isNaN(e)?t:Math.max(t,e)}),Number.NEGATIVE_INFINITY)},dt.min=function(t){return t.reduce((function(t,e){return isNaN(e)?t:Math.min(t,e)}),Number.POSITIVE_INFINITY)},dt.sign=Math.sign?function(t){return Math.sign(t)}:function(t){return 0==(t=+t)||isNaN(t)?t:t>0?1:-1},dt.log10=Math.log10?function(t){return Math.log10(t)}:function(t){var e=Math.log(t)*Math.LOG10E,n=Math.round(e);return t===Math.pow(10,n)?n:e},dt.toRadians=function(t){return t*(Math.PI/180)},dt.toDegrees=function(t){return t*(180/Math.PI)},dt._decimalPlaces=function(t){if(dt.isFinite(t)){for(var e=1,n=0;Math.round(t*e)/e!==t;)e*=10,n++;return n}},dt.getAngleFromPoint=function(t,e){var n=e.x-t.x,a=e.y-t.y,r=Math.sqrt(n*n+a*a),o=Math.atan2(a,n);return o<-.5*Math.PI&&(o+=2*Math.PI),{angle:o,distance:r}},dt.distanceBetweenPoints=function(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))},dt.aliasPixel=function(t){return t%2==0?0:.5},dt._alignPixel=function(t,e,n){var a=t.currentDevicePixelRatio,r=n/2;return Math.round((e-r)*a)/a+r},dt.splineCurve=function(t,e,n,a){var r=t.skip?e:t,o=e,i=n.skip?e:n,s=Math.sqrt(Math.pow(o.x-r.x,2)+Math.pow(o.y-r.y,2)),c=Math.sqrt(Math.pow(i.x-o.x,2)+Math.pow(i.y-o.y,2)),l=s/(s+c),d=c/(s+c),u=a*(l=isNaN(l)?0:l),g=a*(d=isNaN(d)?0:d);return{previous:{x:o.x-u*(i.x-r.x),y:o.y-u*(i.y-r.y)},next:{x:o.x+g*(i.x-r.x),y:o.y+g*(i.y-r.y)}}},dt.EPSILON=Number.EPSILON||1e-14,dt.splineCurveMonotone=function(t){var e,n,a,r,o,i,s,c,l,d=(t||[]).map((function(t){return{model:t._model,deltaK:0,mK:0}})),u=d.length;for(e=0;e<u;++e)if(!(a=d[e]).model.skip){if(n=e>0?d[e-1]:null,(r=e<u-1?d[e+1]:null)&&!r.model.skip){var g=r.model.x-a.model.x;a.deltaK=0!==g?(r.model.y-a.model.y)/g:0}a.mK=!n||n.model.skip?a.deltaK:!r||r.model.skip?n.deltaK:this.sign(n.deltaK)!==this.sign(a.deltaK)?0:(n.deltaK+a.deltaK)/2}for(e=0;e<u-1;++e)r=d[e+1],(a=d[e]).model.skip||r.model.skip||(dt.almostEquals(a.deltaK,0,this.EPSILON)?a.mK=r.mK=0:(o=a.mK/a.deltaK,i=r.mK/a.deltaK,(c=Math.pow(o,2)+Math.pow(i,2))<=9||(s=3/Math.sqrt(c),a.mK=o*s*a.deltaK,r.mK=i*s*a.deltaK)));for(e=0;e<u;++e)(a=d[e]).model.skip||(r=e<u-1?d[e+1]:null,(n=e>0?d[e-1]:null)&&!n.model.skip&&(a.model.controlPointPreviousX=a.model.x-(l=(a.model.x-n.model.x)/3),a.model.controlPointPreviousY=a.model.y-l*a.mK),r&&!r.model.skip&&(a.model.controlPointNextX=a.model.x+(l=(r.model.x-a.model.x)/3),a.model.controlPointNextY=a.model.y+l*a.mK))},dt.nextItem=function(t,e,n){return n?e>=t.length-1?t[0]:t[e+1]:e>=t.length-1?t[t.length-1]:t[e+1]},dt.previousItem=function(t,e,n){return n?e<=0?t[t.length-1]:t[e-1]:e<=0?t[0]:t[e-1]},dt.niceNum=function(t,e){var n=Math.floor(dt.log10(t)),a=t/Math.pow(10,n);return(e?a<1.5?1:a<3?2:a<7?5:10:a<=1?1:a<=2?2:a<=5?5:10)*Math.pow(10,n)},dt.requestAnimFrame="undefined"==typeof window?function(t){t()}:window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(t){return window.setTimeout(t,1e3/60)},dt.getRelativePosition=function(t,e){var n,a,r=t.originalEvent||t,o=t.target||t.srcElement,i=o.getBoundingClientRect(),s=r.touches;s&&s.length>0?(n=s[0].clientX,a=s[0].clientY):(n=r.clientX,a=r.clientY);var c=parseFloat(dt.getStyle(o,"padding-left")),l=parseFloat(dt.getStyle(o,"padding-top")),d=parseFloat(dt.getStyle(o,"padding-right")),u=parseFloat(dt.getStyle(o,"padding-bottom")),g=i.bottom-i.top-l-u;return{x:n=Math.round((n-i.left-c)/(i.right-i.left-c-d)*o.width/e.currentDevicePixelRatio),y:a=Math.round((a-i.top-l)/g*o.height/e.currentDevicePixelRatio)}},dt.getConstraintWidth=function(t){return n(t,"max-width","clientWidth")},dt.getConstraintHeight=function(t){return n(t,"max-height","clientHeight")},dt._calculatePadding=function(t,e,n){return(e=dt.getStyle(t,e)).indexOf("%")>-1?n*parseInt(e,10)/100:parseInt(e,10)},dt._getParentNode=function(t){var e=t.parentNode;return e&&"[object ShadowRoot]"===e.toString()&&(e=e.host),e},dt.getMaximumWidth=function(t){var e=dt._getParentNode(t);if(!e)return t.clientWidth;var n=e.clientWidth,a=n-dt._calculatePadding(e,"padding-left",n)-dt._calculatePadding(e,"padding-right",n),r=dt.getConstraintWidth(t);return isNaN(r)?a:Math.min(a,r)},dt.getMaximumHeight=function(t){var e=dt._getParentNode(t);if(!e)return t.clientHeight;var n=e.clientHeight,a=n-dt._calculatePadding(e,"padding-top",n)-dt._calculatePadding(e,"padding-bottom",n),r=dt.getConstraintHeight(t);return isNaN(r)?a:Math.min(a,r)},dt.getStyle=function(t,e){return t.currentStyle?t.currentStyle[e]:document.defaultView.getComputedStyle(t,null).getPropertyValue(e)},dt.retinaScale=function(t,e){var n=t.currentDevicePixelRatio=e||"undefined"!=typeof window&&window.devicePixelRatio||1;if(1!==n){var a=t.canvas,r=t.height,o=t.width;a.height=r*n,a.width=o*n,t.ctx.scale(n,n),a.style.height||a.style.width||(a.style.height=r+"px",a.style.width=o+"px")}},dt.fontString=function(t,e,n){return e+" "+t+"px "+n},dt.longestText=function(t,e,n,a){var r=(a=a||{}).data=a.data||{},o=a.garbageCollect=a.garbageCollect||[];a.font!==e&&(r=a.data={},o=a.garbageCollect=[],a.font=e),t.font=e;var i=0;dt.each(n,(function(e){null!=e&&!0!==dt.isArray(e)?i=dt.measureText(t,r,o,i,e):dt.isArray(e)&&dt.each(e,(function(e){null==e||dt.isArray(e)||(i=dt.measureText(t,r,o,i,e))}))}));var s=o.length/2;if(s>n.length){for(var c=0;c<s;c++)delete r[o[c]];o.splice(0,s)}return i},dt.measureText=function(t,e,n,a,r){var o=e[r];return o||(o=e[r]=t.measureText(r).width,n.push(r)),o>a&&(a=o),a},dt.numberOfLabelLines=function(t){var e=1;return dt.each(t,(function(t){dt.isArray(t)&&t.length>e&&(e=t.length)})),e},dt.color=W?function(t){return t instanceof CanvasGradient&&(t=st.global.defaultColor),W(t)}:function(t){return console.error("Color.js not found!"),t},dt.getHoverColor=function(t){return t instanceof CanvasPattern||t instanceof CanvasGradient?t:dt.color(t).saturate(.5).darken(.1).rgbString()}}(),We._adapters=Ze,We.Animation=ht,We.animationService=bt,We.controllers=se,We.DatasetController=Ct,We.defaults=st,We.Element=pt,We.elements=qt,We.Interaction=pe,We.layouts=_e,We.platform=Ie,We.plugins=Ne,We.Scale=nn,We.scaleService=Re,We.Ticks=Je,We.Tooltip=ze,We.helpers.each(qn,(function(t,e){We.scaleService.registerScaleType(e,t,t._defaults)})),na)na.hasOwnProperty(ia)&&We.plugins.register(na[ia]);We.platform.initialize();var sa=We;return"undefined"!=typeof window&&(window.Chart=We),We.Chart=We,We.Legend=na.legend._element,We.Title=na.title._element,We.pluginService=We.plugins,We.PluginBase=We.Element.extend({}),We.canvasHelpers=We.helpers.canvas,We.layoutService=We.layouts,We.LinearScaleBase=on,We.helpers.each(["Bar","Bubble","Doughnut","Line","PolarArea","Radar","Scatter"],(function(t){We[t]=function(e,n){return new We(e,We.helpers.merge(n||{},{type:t.charAt(0).toLowerCase()+t.slice(1)}))}})),sa}(function(){try{return n("wd/R")}catch(t){}}())},MP8s:function(t,e,n){"use strict";n.d(e,"a",(function(){return C}));var a=n("8Y7J"),r=n("2vnA"),o=n("f95s"),i=n("mfoh"),s=n("X+05"),c=n("afOK"),l=n.n(c),d=n("RBan"),u=n.n(d),g=n("wig9"),f=n.n(g),p=n("J2m7"),m=n.n(p),h=n("4qC0"),b=n.n(h),y=n("lSCD"),_=n.n(y),O=function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},v=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},C=function(){function t(){this.options=new i.b,this.eventNames=Object.keys(s.a),this.expandedNodeIds={},this.selectedLeafNodeIds={},this.activeNodeIds={},this.hiddenNodeIds={},this.focusedNodeId=null,this.firstUpdate=!0,this.subscriptions=[]}var e;return e=t,t.prototype.fireEvent=function(t){t.treeModel=this,this.events[t.eventName].emit(t),this.events.event.emit(t)},t.prototype.subscribe=function(t,e){var n=this.events[t].subscribe(e);this.subscriptions.push(n)},t.prototype.getFocusedNode=function(){return this.focusedNode},t.prototype.getActiveNode=function(){return this.activeNodes[0]},t.prototype.getActiveNodes=function(){return this.activeNodes},t.prototype.getVisibleRoots=function(){return this.virtualRoot.visibleChildren},t.prototype.getFirstRoot=function(t){return void 0===t&&(t=!1),l()(t?this.getVisibleRoots():this.roots)},t.prototype.getLastRoot=function(t){return void 0===t&&(t=!1),u()(t?this.getVisibleRoots():this.roots)},Object.defineProperty(t.prototype,"isFocused",{get:function(){return e.focusedTree===this},enumerable:!0,configurable:!0}),t.prototype.isNodeFocused=function(t){return this.focusedNode===t},t.prototype.isEmptyTree=function(){return this.roots&&0===this.roots.length},Object.defineProperty(t.prototype,"focusedNode",{get:function(){return this.focusedNodeId?this.getNodeById(this.focusedNodeId):null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"expandedNodes",{get:function(){var t=this,e=Object.keys(this.expandedNodeIds).filter((function(e){return t.expandedNodeIds[e]})).map((function(e){return t.getNodeById(e)}));return f()(e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"activeNodes",{get:function(){var t=this,e=Object.keys(this.activeNodeIds).filter((function(e){return t.activeNodeIds[e]})).map((function(e){return t.getNodeById(e)}));return f()(e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hiddenNodes",{get:function(){var t=this,e=Object.keys(this.hiddenNodeIds).filter((function(e){return t.hiddenNodeIds[e]})).map((function(e){return t.getNodeById(e)}));return f()(e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"selectedLeafNodes",{get:function(){var t=this,e=Object.keys(this.selectedLeafNodeIds).filter((function(e){return t.selectedLeafNodeIds[e]})).map((function(e){return t.getNodeById(e)}));return f()(e)},enumerable:!0,configurable:!0}),t.prototype.getNodeByPath=function(t,e){if(void 0===e&&(e=null),!t)return null;if(e=e||this.virtualRoot,0===t.length)return e;if(!e.children)return null;var n=t.shift(),a=m()(e.children,{id:n});return a?this.getNodeByPath(t,a):null},t.prototype.getNodeById=function(t){var e=t.toString();return this.getNodeBy((function(t){return t.id.toString()===e}))},t.prototype.getNodeBy=function(t,e){if(void 0===e&&(e=null),!(e=e||this.virtualRoot).children)return null;var n=m()(e.children,t);if(n)return n;for(var a=0,r=e.children;a<r.length;a++){var o=this.getNodeBy(t,r[a]);if(o)return o}},t.prototype.isExpanded=function(t){return this.expandedNodeIds[t.id]},t.prototype.isHidden=function(t){return this.hiddenNodeIds[t.id]},t.prototype.isActive=function(t){return this.activeNodeIds[t.id]},t.prototype.isSelected=function(t){return this.selectedLeafNodeIds[t.id]},t.prototype.ngOnDestroy=function(){this.dispose(),this.unsubscribeAll()},t.prototype.dispose=function(){this.virtualRoot&&this.virtualRoot.dispose()},t.prototype.unsubscribeAll=function(){this.subscriptions.forEach((function(t){return t.unsubscribe()})),this.subscriptions=[]},t.prototype.setData=function(t){var e=t.nodes,n=t.options,a=void 0===n?null:n,r=t.events,o=void 0===r?null:r;a&&(this.options=new i.b(a)),o&&(this.events=o),e&&(this.nodes=e),this.update()},t.prototype.update=function(){var t,e=((t={id:this.options.rootId,virtual:!0})[this.options.childrenField]=this.nodes,t);this.dispose(),this.virtualRoot=new o.a(e,null,this,0),this.roots=this.virtualRoot.children,this.firstUpdate?this.roots&&(this.firstUpdate=!1,this._calculateExpandedNodes()):this.fireEvent({eventName:s.a.updateData})},t.prototype.setFocusedNode=function(t){this.focusedNodeId=t?t.id:null},t.prototype.setFocus=function(t){e.focusedTree=t?this:null},t.prototype.doForAll=function(t){this.roots.forEach((function(e){return e.doForAll(t)}))},t.prototype.focusNextNode=function(){var t=this.getFocusedNode(),e=t?t.findNextNode(!0,!0):this.getFirstRoot(!0);e&&e.focus()},t.prototype.focusPreviousNode=function(){var t=this.getFocusedNode(),e=t?t.findPreviousNode(!0):this.getLastRoot(!0);e&&e.focus()},t.prototype.focusDrillDown=function(){var t=this.getFocusedNode();if(t&&t.isCollapsed&&t.hasChildren)t.toggleExpanded();else{var e=t?t.getFirstChild(!0):this.getFirstRoot(!0);e&&e.focus()}},t.prototype.focusDrillUp=function(){var t=this.getFocusedNode();if(t)if(t.isExpanded)t.toggleExpanded();else{var e=t.realParent;e&&e.focus()}},t.prototype.setActiveNode=function(t,e,n){void 0===n&&(n=!1),n?this._setActiveNodeMulti(t,e):this._setActiveNodeSingle(t,e),e?(t.focus(this.options.scrollOnActivate),this.fireEvent({eventName:s.a.activate,node:t}),this.fireEvent({eventName:s.a.nodeActivate,node:t})):(this.fireEvent({eventName:s.a.deactivate,node:t}),this.fireEvent({eventName:s.a.nodeDeactivate,node:t}))},t.prototype.setSelectedNode=function(t,e){var n;this.selectedLeafNodeIds=Object.assign({},this.selectedLeafNodeIds,((n={})[t.id]=e,n)),e?(t.focus(),this.fireEvent({eventName:s.a.select,node:t})):this.fireEvent({eventName:s.a.deselect,node:t})},t.prototype.setExpandedNode=function(t,e){var n;this.expandedNodeIds=Object.assign({},this.expandedNodeIds,((n={})[t.id]=e,n)),this.fireEvent({eventName:s.a.toggleExpanded,node:t,isExpanded:e})},t.prototype.expandAll=function(){this.roots.forEach((function(t){return t.expandAll()}))},t.prototype.collapseAll=function(){this.roots.forEach((function(t){return t.collapseAll()}))},t.prototype.setIsHidden=function(t,e){var n;this.hiddenNodeIds=Object.assign({},this.hiddenNodeIds,((n={})[t.id]=e,n))},t.prototype.setHiddenNodeIds=function(t){this.hiddenNodeIds=t.reduce((function(t,e){var n;return Object.assign(t,((n={})[e]=!0,n))}),{})},t.prototype.performKeyAction=function(t,e){var n=this.options.actionMapping.keys[e.keyCode];return!!n&&(e.preventDefault(),n(this,t,e),!0)},t.prototype.filterNodes=function(t,e){var n,a=this;if(void 0===e&&(e=!0),!t)return this.clearFilter();if(b()(t))n=function(e){return-1!==e.displayField.toLowerCase().indexOf(t.toLowerCase())};else{if(!_()(t))return console.error("Don't know what to do with filter",t),void console.error("Should be either a string or function");n=t}var r={};this.roots.forEach((function(t){return a._filterNode(r,t,n,e)})),this.hiddenNodeIds=r,this.fireEvent({eventName:s.a.changeFilter})},t.prototype.clearFilter=function(){this.hiddenNodeIds={},this.fireEvent({eventName:s.a.changeFilter})},t.prototype.moveNode=function(t,e){var n=t.getIndexInParent(),a=t.parent;if(this.canMoveNode(t,e,n)){var r=a.getField("children");e.parent.getField("children")||e.parent.setField("children",[]);var o=e.parent.getField("children"),i=r.splice(n,1)[0],c=a===e.parent&&e.index>n?e.index-1:e.index;o.splice(c,0,i),a.treeModel.update(),e.parent.treeModel!==a.treeModel&&e.parent.treeModel.update(),this.fireEvent({eventName:s.a.moveNode,node:i,to:{parent:e.parent.data,index:c},from:{parent:a.data,index:n}})}},t.prototype.copyNode=function(t,e){var n=t.getIndexInParent();if(this.canMoveNode(t,e,n)){e.parent.getField("children")||e.parent.setField("children",[]);var a=e.parent.getField("children"),r=this.options.getNodeClone(t);a.splice(e.index,0,r),t.treeModel.update(),e.parent.treeModel!==t.treeModel&&e.parent.treeModel.update(),this.fireEvent({eventName:s.a.copyNode,node:r,to:{parent:e.parent.data,index:e.index}})}},t.prototype.getState=function(){return{expandedNodeIds:this.expandedNodeIds,selectedLeafNodeIds:this.selectedLeafNodeIds,activeNodeIds:this.activeNodeIds,hiddenNodeIds:this.hiddenNodeIds,focusedNodeId:this.focusedNodeId}},t.prototype.setState=function(t){t&&Object.assign(this,{expandedNodeIds:t.expandedNodeIds||{},selectedLeafNodeIds:t.selectedLeafNodeIds||{},activeNodeIds:t.activeNodeIds||{},hiddenNodeIds:t.hiddenNodeIds||{},focusedNodeId:t.focusedNodeId})},t.prototype.subscribeToState=function(t){var e=this;Object(r.b)((function(){return t(e.getState())}))},t.prototype.canMoveNode=function(t,e,n){return void 0===n&&(n=void 0),n||t.getIndexInParent(),(t.parent!==e.parent||n!==e.index)&&!e.parent.isDescendantOf(t)},t.prototype.calculateExpandedNodes=function(){this._calculateExpandedNodes()},t.prototype._filterNode=function(t,e,n,a){var r=this,o=n(e);return e.children&&e.children.forEach((function(e){r._filterNode(t,e,n,a)&&(o=!0)})),o||(t[e.id]=!0),a&&o&&e.ensureVisible(),o},t.prototype._calculateExpandedNodes=function(t){var e,n=this;void 0===t&&(t=null),(t=t||this.virtualRoot).data[this.options.isExpandedField]&&(this.expandedNodeIds=Object.assign({},this.expandedNodeIds,((e={})[t.id]=!0,e))),t.children&&t.children.forEach((function(t){return n._calculateExpandedNodes(t)}))},t.prototype._setActiveNodeSingle=function(t,e){var n,a=this;this.activeNodes.filter((function(e){return e!==t})).forEach((function(t){a.fireEvent({eventName:s.a.deactivate,node:t}),a.fireEvent({eventName:s.a.nodeDeactivate,node:t})})),this.activeNodeIds=e?((n={})[t.id]=!0,n):{}},t.prototype._setActiveNodeMulti=function(t,e){var n;this.activeNodeIds=Object.assign({},this.activeNodeIds,((n={})[t.id]=e,n))},t.focusedTree=null,O([r.d,v("design:type",Array)],t.prototype,"roots",void 0),O([r.d,v("design:type",Object)],t.prototype,"expandedNodeIds",void 0),O([r.d,v("design:type",Object)],t.prototype,"selectedLeafNodeIds",void 0),O([r.d,v("design:type",Object)],t.prototype,"activeNodeIds",void 0),O([r.d,v("design:type",Object)],t.prototype,"hiddenNodeIds",void 0),O([r.d,v("design:type",Object)],t.prototype,"focusedNodeId",void 0),O([r.d,v("design:type",o.a)],t.prototype,"virtualRoot",void 0),O([r.c,v("design:type",Object),v("design:paramtypes",[])],t.prototype,"focusedNode",null),O([r.c,v("design:type",Object),v("design:paramtypes",[])],t.prototype,"expandedNodes",null),O([r.c,v("design:type",Object),v("design:paramtypes",[])],t.prototype,"activeNodes",null),O([r.c,v("design:type",Object),v("design:paramtypes",[])],t.prototype,"hiddenNodes",null),O([r.c,v("design:type",Object),v("design:paramtypes",[])],t.prototype,"selectedLeafNodes",null),O([r.a,v("design:type",Function),v("design:paramtypes",[Object]),v("design:returntype",void 0)],t.prototype,"setData",null),O([r.a,v("design:type",Function),v("design:paramtypes",[]),v("design:returntype",void 0)],t.prototype,"update",null),O([r.a,v("design:type",Function),v("design:paramtypes",[Object]),v("design:returntype",void 0)],t.prototype,"setFocusedNode",null),O([r.a,v("design:type",Function),v("design:paramtypes",[Object]),v("design:returntype",void 0)],t.prototype,"setFocus",null),O([r.a,v("design:type",Function),v("design:paramtypes",[Object]),v("design:returntype",void 0)],t.prototype,"doForAll",null),O([r.a,v("design:type",Function),v("design:paramtypes",[]),v("design:returntype",void 0)],t.prototype,"focusNextNode",null),O([r.a,v("design:type",Function),v("design:paramtypes",[]),v("design:returntype",void 0)],t.prototype,"focusPreviousNode",null),O([r.a,v("design:type",Function),v("design:paramtypes",[]),v("design:returntype",void 0)],t.prototype,"focusDrillDown",null),O([r.a,v("design:type",Function),v("design:paramtypes",[]),v("design:returntype",void 0)],t.prototype,"focusDrillUp",null),O([r.a,v("design:type",Function),v("design:paramtypes",[Object,Object,Object]),v("design:returntype",void 0)],t.prototype,"setActiveNode",null),O([r.a,v("design:type",Function),v("design:paramtypes",[Object,Object]),v("design:returntype",void 0)],t.prototype,"setSelectedNode",null),O([r.a,v("design:type",Function),v("design:paramtypes",[Object,Object]),v("design:returntype",void 0)],t.prototype,"setExpandedNode",null),O([r.a,v("design:type",Function),v("design:paramtypes",[]),v("design:returntype",void 0)],t.prototype,"expandAll",null),O([r.a,v("design:type",Function),v("design:paramtypes",[]),v("design:returntype",void 0)],t.prototype,"collapseAll",null),O([r.a,v("design:type",Function),v("design:paramtypes",[Object,Object]),v("design:returntype",void 0)],t.prototype,"setIsHidden",null),O([r.a,v("design:type",Function),v("design:paramtypes",[Object]),v("design:returntype",void 0)],t.prototype,"setHiddenNodeIds",null),O([r.a,v("design:type",Function),v("design:paramtypes",[Object,Object]),v("design:returntype",void 0)],t.prototype,"filterNodes",null),O([r.a,v("design:type",Function),v("design:paramtypes",[]),v("design:returntype",void 0)],t.prototype,"clearFilter",null),O([r.a,v("design:type",Function),v("design:paramtypes",[Object,Object]),v("design:returntype",void 0)],t.prototype,"moveNode",null),O([r.a,v("design:type",Function),v("design:paramtypes",[Object,Object]),v("design:returntype",void 0)],t.prototype,"copyNode",null),O([r.a,v("design:type",Function),v("design:paramtypes",[Object]),v("design:returntype",void 0)],t.prototype,"setState",null),e=O([Object(a.Injectable)()],t)}()},MdoF:function(t,e,n){"use strict";n.d(e,"b",(function(){return i})),n.d(e,"c",(function(){return l})),n.d(e,"a",(function(){return u}));var a=n("8Y7J"),r=n("CNMR"),o=n("SVse"),i=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function s(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,4,"button",[["aria-label","Close"],["class","close"],["type","button"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.close()&&a),a}),null,null)),(t()(),a["ɵeld"](1,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["×"])),(t()(),a["ɵeld"](3,0,null,null,1,"span",[["class","sr-only"]],null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["Close"]))],null,null)}function c(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,5,"div",[["role","alert"]],null,null,null,null,null)),a["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](2,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,s)),a["ɵdid"](4,16384,null,0,o.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),a["ɵncd"](null,0)],(function(t,e){var n=e.component;t(e,2,0,"alert alert-"+n.type,n.classes),t(e,4,0,n.dismissible)}),null)}function l(t){return a["ɵvid"](2,[(t()(),a["ɵand"](16777216,null,null,1,null,c)),a["ɵdid"](1,16384,null,0,o.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){t(e,1,0,e.component.isOpen)}),null)}function d(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"alert",[],null,null,null,l,i)),a["ɵdid"](1,114688,null,0,r.a,[r.b,a.ChangeDetectorRef],null,null)],(function(t,e){t(e,1,0)}),null)}var u=a["ɵccf"]("alert,bs-alert",r.a,d,{type:"type",dismissible:"dismissible",dismissOnTimeout:"dismissOnTimeout",isOpen:"isOpen"},{onClose:"onClose",onClosed:"onClosed"},["*"])},Mfce:function(t,e,n){var a=n("mrSG").__decorate,r=n("mrSG").__metadata;Object.defineProperty(e,"__esModule",{value:!0});var o=n("8Y7J");n("czA5"),e.DataTableRowWrapperComponent=function(){function t(t,e){this.cd=t,this.differs=e,this.rowContextmenu=new o.EventEmitter(!1),this.groupContext={group:this.row,expanded:this.expanded,rowIndex:this.rowIndex},this.rowContext={row:this.row,expanded:this.expanded,rowIndex:this.rowIndex},this._expanded=!1,this.rowDiffer=e.find({}).create()}return Object.defineProperty(t.prototype,"rowIndex",{get:function(){return this._rowIndex},set:function(t){this._rowIndex=t,this.rowContext.rowIndex=t,this.groupContext.rowIndex=t,this.cd.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"expanded",{get:function(){return this._expanded},set:function(t){this._expanded=t,this.groupContext.expanded=t,this.rowContext.expanded=t,this.cd.markForCheck()},enumerable:!0,configurable:!0}),t.prototype.ngDoCheck=function(){this.rowDiffer.diff(this.row)&&(this.rowContext.row=this.row,this.groupContext.group=this.row,this.cd.markForCheck())},t.prototype.onContextmenu=function(t){this.rowContextmenu.emit({event:t,row:this.row})},t.prototype.getGroupHeaderStyle=function(){var t={};return t.transform="translate3d("+this.offsetX+"px, 0px, 0px)",t["backface-visibility"]="hidden",t.width=this.innerWidth,t},a([o.Input(),r("design:type",Number)],t.prototype,"innerWidth",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"rowDetail",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"groupHeader",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"offsetX",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"detailRowHeight",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"row",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"groupedRows",void 0),a([o.Output(),r("design:type",Object)],t.prototype,"rowContextmenu",void 0),a([o.Input(),r("design:type",Number),r("design:paramtypes",[Number])],t.prototype,"rowIndex",null),a([o.Input(),r("design:type",Boolean),r("design:paramtypes",[Boolean])],t.prototype,"expanded",null),a([o.HostListener("contextmenu",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],t.prototype,"onContextmenu",null),a([o.Component({selector:"datatable-row-wrapper",changeDetection:o.ChangeDetectionStrategy.OnPush,template:'\n    <div \n      *ngIf="groupHeader && groupHeader.template"\n      class="datatable-group-header"\n      [ngStyle]="getGroupHeaderStyle()">\n      <ng-template\n        *ngIf="groupHeader && groupHeader.template"\n        [ngTemplateOutlet]="groupHeader.template"\n        [ngTemplateOutletContext]="groupContext">\n      </ng-template>\n    </div>\n    <ng-content \n      *ngIf="(groupHeader && groupHeader.template && expanded) || \n             (!groupHeader || !groupHeader.template)">\n    </ng-content>\n    <div\n      *ngIf="rowDetail && rowDetail.template && expanded"\n      [style.height.px]="detailRowHeight"\n      class="datatable-row-detail">\n      <ng-template\n        *ngIf="rowDetail && rowDetail.template"\n        [ngTemplateOutlet]="rowDetail.template"\n        [ngTemplateOutletContext]="rowContext">\n      </ng-template>\n    </div>\n  ',host:{class:"datatable-row-wrapper"}})],t)}()},MgB7:function(t,e,n){"use strict";function a(t,e,n){var a,r,o;n=n||{};var i=null,s=0;function c(){s=!1===n.leading?0:+new Date,i=null,o=t.apply(a,r)}return function(){var l=+new Date;s||!1!==n.leading||(s=l);var d=e-(l-s);return a=this,r=arguments,d<=0?(clearTimeout(i),i=null,s=l,o=t.apply(a,r)):i||!1===n.trailing||(i=setTimeout(c,d)),o}}Object.defineProperty(e,"__esModule",{value:!0}),e.throttle=a,e.throttleable=function(t,e){return function(n,r,o){return{configurable:!0,enumerable:o.enumerable,get:function(){return Object.defineProperty(this,r,{configurable:!0,enumerable:o.enumerable,value:a(o.value,t,e)}),this[r]}}}}},MrPd:function(t,e,n){var a=n("hypo"),r=n("ljhN"),o=Object.prototype.hasOwnProperty;t.exports=function(t,e,n){var i=t[e];o.call(t,e)&&r(i,n)&&(void 0!==n||e in t)||a(t,e,n)}},MuvH:function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var a=n("8Y7J"),r=n("IheW"),o=n("pL04");let i=(()=>{class t{constructor(t){this.http=t}findValue(t,e){if(t.value)return t.value.find(t=>t.section===e)}getValue(t,e){let n=this.findValue(t,e);if(!n){const a=e.indexOf(".");-1!==a&&(n=this.findValue(t,e.substring(0,a)))}return n||(n=this.findValue(t,"global")),n?n.value:t.default}getConfigData(){return this.http.get("api/cluster_conf/")}get(t){return this.http.get(`api/cluster_conf/${t}`)}filter(t){return this.http.get(`api/cluster_conf/filter?names=${t.join(",")}`)}create(t){return this.http.post("api/cluster_conf/",t)}delete(t,e){return this.http.delete(`api/cluster_conf/${t}?section=${e}`)}bulkCreate(t){return this.http.put("api/cluster_conf/",t)}}return t.ngInjectableDef=a["ɵɵdefineInjectable"]({factory:function(){return new t(a["ɵɵinject"](r.c))},token:t,providedIn:o.a}),t})()},MvSz:function(t,e,n){var a=n("LXxW"),r=n("0ycA"),o=Object.prototype.propertyIsEnumerable,i=Object.getOwnPropertySymbols;t.exports=i?function(t){return null==t?[]:(t=Object(t),a(i(t),(function(e){return o.call(t,e)})))}:r},Mxhz:function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var a=n("IheW"),r=n("8Y7J"),o=n("pL04");let i=(()=>{class t{constructor(t){this.http=t}list(){return this.http.get("api/user")}delete(t){return this.http.delete(`api/user/${t}`)}get(t){return this.http.get(`api/user/${t}`)}create(t){return this.http.post("api/user",t)}update(t){return this.http.put(`api/user/${t.username}`,t)}changePassword(t,e,n){return this.http.post(`api/user/${t}/change_password`,{old_password:e,new_password:n})}validatePassword(t,e=null,n=null){let r=new a.h;return r=r.append("password",t),e&&(r=r.append("username",e)),n&&(r=r.append("old_password",n)),this.http.post("api/user/validate_password",null,{params:r})}}return t.ngInjectableDef=r["ɵɵdefineInjectable"]({factory:function(){return new t(r["ɵɵinject"](a.c))},token:t,providedIn:o.a}),t})()},"N+g0":function(t,e,n){var a=n("g6v/"),r=n("m/L8"),o=n("glrk"),i=n("33Wh");t.exports=a?Object.defineProperties:function(t,e){o(t);for(var n,a=i(e),s=a.length,c=0;s>c;)r.f(t,n=a[c++],e[n]);return t}},"NC/Y":function(t,e,n){var a=n("0GbY");t.exports=a("navigator","userAgent")||""},NEZu:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{constructor(t,e,n,a){this.customColors={backgroundColor:void 0,borderColor:void 0},this.checkOffset=!1,this.chartEl=t.nativeElement,this.getStyleLeft=n,this.getStyleTop=a,this.tooltipEl=e.nativeElement}customTooltips(t){if(0===t.opacity)return void(this.tooltipEl.style.opacity=0);if(this.tooltipEl.classList.remove("above","below","no-transform"),this.tooltipEl.classList.add(t.yAlign?t.yAlign:"no-transform"),t.body){const e=t.title||[],n=t.body.map(t=>t.lines);let a="<thead>";e.forEach(t=>{a+="<tr><th>"+this.getTitle(t)+"</th></tr>"}),a+="</thead><tbody>",n.forEach((e,n)=>{const r=t.labelColors[n];let o="background:"+(this.customColors.backgroundColor||r.backgroundColor);o+="; border-color:"+(this.customColors.borderColor||r.borderColor),o+="; border-width: 2px",a+='<tr><td nowrap><span class="chartjs-tooltip-key" style="'+o+'"></span>'+this.getBody(e)+"</td></tr>"}),a+="</tbody>",this.tooltipEl.querySelector("table").innerHTML=a}const e=this.chartEl.offsetTop,n=this.chartEl.offsetLeft;if(this.checkOffset){const e=t.width/2;this.tooltipEl.classList.remove("transform-left"),this.tooltipEl.classList.remove("transform-right"),t.caretX-e<0?this.tooltipEl.classList.add("transform-left"):t.caretX+e>this.chartEl.width&&this.tooltipEl.classList.add("transform-right")}this.tooltipEl.style.left=this.getStyleLeft(t,n),this.tooltipEl.style.top=this.getStyleTop(t,e),this.tooltipEl.style.opacity=1,this.tooltipEl.style.fontFamily=t._fontFamily,this.tooltipEl.style.fontSize=t.fontSize,this.tooltipEl.style.fontStyle=t._fontStyle,this.tooltipEl.style.padding=t.yPadding+"px "+t.xPadding+"px"}getBody(t){return t}getTitle(t){return t}}},"NHP+":function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var a=n("XNiG"),r=n("quSY");class o extends a.a{constructor(){super(...arguments),this.value=null,this.hasNext=!1,this.hasCompleted=!1}_subscribe(t){return this.hasError?(t.error(this.thrownError),r.a.EMPTY):this.hasCompleted&&this.hasNext?(t.next(this.value),t.complete(),r.a.EMPTY):super._subscribe(t)}next(t){this.hasCompleted||(this.value=t,this.hasNext=!0)}error(t){this.hasCompleted||super.error(t)}complete(){this.hasCompleted=!0,this.hasNext&&super.next(this.value),super.complete()}}},NJ4a:function(t,e,n){"use strict";function a(t){setTimeout(()=>{throw t},0)}n.d(e,"a",(function(){return a}))},NJ9Y:function(t,e,n){"use strict";n.d(e,"a",(function(){return l}));var a=n("sVev"),r=n("pLZG"),o=n("BFxc"),i=n("XDbj"),s=n("xbPD"),c=n("SpAZ");function l(t,e){const n=arguments.length>=2;return l=>l.pipe(t?Object(r.a)((e,n)=>t(e,n,l)):c.a,Object(o.a)(1),n?Object(s.a)(e):Object(i.a)(()=>new a.a))}},NKxu:function(t,e,n){var a=n("lSCD"),r=n("E2jh"),o=n("GoyQ"),i=n("3Fdi"),s=/^\[object .+?Constructor\]$/,c=RegExp("^"+Function.prototype.toString.call(Object.prototype.hasOwnProperty).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=function(t){return!(!o(t)||r(t))&&(a(t)?c:s).test(i(t))}},NUGo:function(t,e,n){"use strict";var a=n("8Y7J"),r=n("SVse"),o=n("iInd"),i=n("FE24"),s=n("z/SZ");n("S7zO"),n.d(e,"a",(function(){return c})),n.d(e,"b",(function(){return m}));var c=a["ɵcrt"]({encapsulation:0,styles:[["html[_ngcontent-%COMP%]{box-sizing:border-box;-ms-overflow-style:scrollbar}*[_ngcontent-%COMP%], [_ngcontent-%COMP%]::after, [_ngcontent-%COMP%]::before{box-sizing:inherit}.container[_ngcontent-%COMP%]{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container[_ngcontent-%COMP%]{max-width:540px}}@media (min-width:768px){.container[_ngcontent-%COMP%]{max-width:720px}}@media (min-width:992px){.container[_ngcontent-%COMP%]{max-width:960px}}@media (min-width:1200px){.container[_ngcontent-%COMP%]{max-width:1140px}}.container-fluid[_ngcontent-%COMP%]{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters[_ngcontent-%COMP%]{margin-right:0;margin-left:0}.no-gutters[_ngcontent-%COMP%] > .col[_ngcontent-%COMP%], .no-gutters[_ngcontent-%COMP%] > [class*=col-][_ngcontent-%COMP%]{padding-right:0;padding-left:0}.col[_ngcontent-%COMP%], .col-1[_ngcontent-%COMP%], .col-10[_ngcontent-%COMP%], .col-11[_ngcontent-%COMP%], .col-12[_ngcontent-%COMP%], .col-2[_ngcontent-%COMP%], .col-3[_ngcontent-%COMP%], .col-4[_ngcontent-%COMP%], .col-5[_ngcontent-%COMP%], .col-6[_ngcontent-%COMP%], .col-7[_ngcontent-%COMP%], .col-8[_ngcontent-%COMP%], .col-9[_ngcontent-%COMP%], .col-auto[_ngcontent-%COMP%], .col-lg[_ngcontent-%COMP%], .col-lg-1[_ngcontent-%COMP%], .col-lg-10[_ngcontent-%COMP%], .col-lg-11[_ngcontent-%COMP%], .col-lg-12[_ngcontent-%COMP%], .col-lg-2[_ngcontent-%COMP%], .col-lg-3[_ngcontent-%COMP%], .col-lg-4[_ngcontent-%COMP%], .col-lg-5[_ngcontent-%COMP%], .col-lg-6[_ngcontent-%COMP%], .col-lg-7[_ngcontent-%COMP%], .col-lg-8[_ngcontent-%COMP%], .col-lg-9[_ngcontent-%COMP%], .col-lg-auto[_ngcontent-%COMP%], .col-md[_ngcontent-%COMP%], .col-md-1[_ngcontent-%COMP%], .col-md-10[_ngcontent-%COMP%], .col-md-11[_ngcontent-%COMP%], .col-md-12[_ngcontent-%COMP%], .col-md-2[_ngcontent-%COMP%], .col-md-3[_ngcontent-%COMP%], .col-md-4[_ngcontent-%COMP%], .col-md-5[_ngcontent-%COMP%], .col-md-6[_ngcontent-%COMP%], .col-md-7[_ngcontent-%COMP%], .col-md-8[_ngcontent-%COMP%], .col-md-9[_ngcontent-%COMP%], .col-md-auto[_ngcontent-%COMP%], .col-sm[_ngcontent-%COMP%], .col-sm-1[_ngcontent-%COMP%], .col-sm-10[_ngcontent-%COMP%], .col-sm-11[_ngcontent-%COMP%], .col-sm-12[_ngcontent-%COMP%], .col-sm-2[_ngcontent-%COMP%], .col-sm-3[_ngcontent-%COMP%], .col-sm-4[_ngcontent-%COMP%], .col-sm-5[_ngcontent-%COMP%], .col-sm-6[_ngcontent-%COMP%], .col-sm-7[_ngcontent-%COMP%], .col-sm-8[_ngcontent-%COMP%], .col-sm-9[_ngcontent-%COMP%], .col-sm-auto[_ngcontent-%COMP%], .col-xl[_ngcontent-%COMP%], .col-xl-1[_ngcontent-%COMP%], .col-xl-10[_ngcontent-%COMP%], .col-xl-11[_ngcontent-%COMP%], .col-xl-12[_ngcontent-%COMP%], .col-xl-2[_ngcontent-%COMP%], .col-xl-3[_ngcontent-%COMP%], .col-xl-4[_ngcontent-%COMP%], .col-xl-5[_ngcontent-%COMP%], .col-xl-6[_ngcontent-%COMP%], .col-xl-7[_ngcontent-%COMP%], .col-xl-8[_ngcontent-%COMP%], .col-xl-9[_ngcontent-%COMP%], .col-xl-auto[_ngcontent-%COMP%]{position:relative;width:100%;padding-right:15px;padding-left:15px}.col[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;max-width:100%}.col-auto[_ngcontent-%COMP%]{flex:0 0 auto;width:auto;max-width:100%}.col-1[_ngcontent-%COMP%]{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-2[_ngcontent-%COMP%]{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-3[_ngcontent-%COMP%]{flex:0 0 25%;max-width:25%}.col-4[_ngcontent-%COMP%]{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-5[_ngcontent-%COMP%]{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-6[_ngcontent-%COMP%]{flex:0 0 50%;max-width:50%}.col-7[_ngcontent-%COMP%]{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-8[_ngcontent-%COMP%]{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-9[_ngcontent-%COMP%]{flex:0 0 75%;max-width:75%}.col-10[_ngcontent-%COMP%]{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-11[_ngcontent-%COMP%]{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-12[_ngcontent-%COMP%]{flex:0 0 100%;max-width:100%}.order-first[_ngcontent-%COMP%]{order:-1}.order-last[_ngcontent-%COMP%]{order:13}.order-0[_ngcontent-%COMP%]{order:0}.order-1[_ngcontent-%COMP%]{order:1}.order-2[_ngcontent-%COMP%]{order:2}.order-3[_ngcontent-%COMP%]{order:3}.order-4[_ngcontent-%COMP%]{order:4}.order-5[_ngcontent-%COMP%]{order:5}.order-6[_ngcontent-%COMP%]{order:6}.order-7[_ngcontent-%COMP%]{order:7}.order-8[_ngcontent-%COMP%]{order:8}.order-9[_ngcontent-%COMP%]{order:9}.order-10[_ngcontent-%COMP%]{order:10}.order-11[_ngcontent-%COMP%]{order:11}.order-12[_ngcontent-%COMP%]{order:12}.offset-1[_ngcontent-%COMP%]{margin-left:8.3333333333%}.offset-2[_ngcontent-%COMP%]{margin-left:16.6666666667%}.offset-3[_ngcontent-%COMP%]{margin-left:25%}.offset-4[_ngcontent-%COMP%]{margin-left:33.3333333333%}.offset-5[_ngcontent-%COMP%]{margin-left:41.6666666667%}.offset-6[_ngcontent-%COMP%]{margin-left:50%}.offset-7[_ngcontent-%COMP%]{margin-left:58.3333333333%}.offset-8[_ngcontent-%COMP%]{margin-left:66.6666666667%}.offset-9[_ngcontent-%COMP%]{margin-left:75%}.offset-10[_ngcontent-%COMP%]{margin-left:83.3333333333%}.offset-11[_ngcontent-%COMP%]{margin-left:91.6666666667%}.d-none[_ngcontent-%COMP%]{display:none!important}.d-inline[_ngcontent-%COMP%]{display:inline!important}.d-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-block[_ngcontent-%COMP%]{display:block!important}.d-table[_ngcontent-%COMP%]{display:table!important}.d-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-flex[_ngcontent-%COMP%]{display:flex!important}.d-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}@media (min-width:576px){.col-sm[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;max-width:100%}.col-sm-auto[_ngcontent-%COMP%]{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1[_ngcontent-%COMP%]{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-sm-2[_ngcontent-%COMP%]{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-3[_ngcontent-%COMP%]{flex:0 0 25%;max-width:25%}.col-sm-4[_ngcontent-%COMP%]{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-sm-5[_ngcontent-%COMP%]{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-sm-6[_ngcontent-%COMP%]{flex:0 0 50%;max-width:50%}.col-sm-7[_ngcontent-%COMP%]{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-sm-8[_ngcontent-%COMP%]{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-sm-9[_ngcontent-%COMP%]{flex:0 0 75%;max-width:75%}.col-sm-10[_ngcontent-%COMP%]{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-sm-11[_ngcontent-%COMP%]{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-sm-12[_ngcontent-%COMP%]{flex:0 0 100%;max-width:100%}.order-sm-first[_ngcontent-%COMP%]{order:-1}.order-sm-last[_ngcontent-%COMP%]{order:13}.order-sm-0[_ngcontent-%COMP%]{order:0}.order-sm-1[_ngcontent-%COMP%]{order:1}.order-sm-2[_ngcontent-%COMP%]{order:2}.order-sm-3[_ngcontent-%COMP%]{order:3}.order-sm-4[_ngcontent-%COMP%]{order:4}.order-sm-5[_ngcontent-%COMP%]{order:5}.order-sm-6[_ngcontent-%COMP%]{order:6}.order-sm-7[_ngcontent-%COMP%]{order:7}.order-sm-8[_ngcontent-%COMP%]{order:8}.order-sm-9[_ngcontent-%COMP%]{order:9}.order-sm-10[_ngcontent-%COMP%]{order:10}.order-sm-11[_ngcontent-%COMP%]{order:11}.order-sm-12[_ngcontent-%COMP%]{order:12}.offset-sm-0[_ngcontent-%COMP%]{margin-left:0}.offset-sm-1[_ngcontent-%COMP%]{margin-left:8.3333333333%}.offset-sm-2[_ngcontent-%COMP%]{margin-left:16.6666666667%}.offset-sm-3[_ngcontent-%COMP%]{margin-left:25%}.offset-sm-4[_ngcontent-%COMP%]{margin-left:33.3333333333%}.offset-sm-5[_ngcontent-%COMP%]{margin-left:41.6666666667%}.offset-sm-6[_ngcontent-%COMP%]{margin-left:50%}.offset-sm-7[_ngcontent-%COMP%]{margin-left:58.3333333333%}.offset-sm-8[_ngcontent-%COMP%]{margin-left:66.6666666667%}.offset-sm-9[_ngcontent-%COMP%]{margin-left:75%}.offset-sm-10[_ngcontent-%COMP%]{margin-left:83.3333333333%}.offset-sm-11[_ngcontent-%COMP%]{margin-left:91.6666666667%}.d-sm-none[_ngcontent-%COMP%]{display:none!important}.d-sm-inline[_ngcontent-%COMP%]{display:inline!important}.d-sm-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-sm-block[_ngcontent-%COMP%]{display:block!important}.d-sm-table[_ngcontent-%COMP%]{display:table!important}.d-sm-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-sm-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-sm-flex[_ngcontent-%COMP%]{display:flex!important}.d-sm-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}}@media (min-width:768px){.col-md[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;max-width:100%}.col-md-auto[_ngcontent-%COMP%]{flex:0 0 auto;width:auto;max-width:100%}.col-md-1[_ngcontent-%COMP%]{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-md-2[_ngcontent-%COMP%]{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-3[_ngcontent-%COMP%]{flex:0 0 25%;max-width:25%}.col-md-4[_ngcontent-%COMP%]{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-md-5[_ngcontent-%COMP%]{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-md-6[_ngcontent-%COMP%]{flex:0 0 50%;max-width:50%}.col-md-7[_ngcontent-%COMP%]{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-md-8[_ngcontent-%COMP%]{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-md-9[_ngcontent-%COMP%]{flex:0 0 75%;max-width:75%}.col-md-10[_ngcontent-%COMP%]{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-md-11[_ngcontent-%COMP%]{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-md-12[_ngcontent-%COMP%]{flex:0 0 100%;max-width:100%}.order-md-first[_ngcontent-%COMP%]{order:-1}.order-md-last[_ngcontent-%COMP%]{order:13}.order-md-0[_ngcontent-%COMP%]{order:0}.order-md-1[_ngcontent-%COMP%]{order:1}.order-md-2[_ngcontent-%COMP%]{order:2}.order-md-3[_ngcontent-%COMP%]{order:3}.order-md-4[_ngcontent-%COMP%]{order:4}.order-md-5[_ngcontent-%COMP%]{order:5}.order-md-6[_ngcontent-%COMP%]{order:6}.order-md-7[_ngcontent-%COMP%]{order:7}.order-md-8[_ngcontent-%COMP%]{order:8}.order-md-9[_ngcontent-%COMP%]{order:9}.order-md-10[_ngcontent-%COMP%]{order:10}.order-md-11[_ngcontent-%COMP%]{order:11}.order-md-12[_ngcontent-%COMP%]{order:12}.offset-md-0[_ngcontent-%COMP%]{margin-left:0}.offset-md-1[_ngcontent-%COMP%]{margin-left:8.3333333333%}.offset-md-2[_ngcontent-%COMP%]{margin-left:16.6666666667%}.offset-md-3[_ngcontent-%COMP%]{margin-left:25%}.offset-md-4[_ngcontent-%COMP%]{margin-left:33.3333333333%}.offset-md-5[_ngcontent-%COMP%]{margin-left:41.6666666667%}.offset-md-6[_ngcontent-%COMP%]{margin-left:50%}.offset-md-7[_ngcontent-%COMP%]{margin-left:58.3333333333%}.offset-md-8[_ngcontent-%COMP%]{margin-left:66.6666666667%}.offset-md-9[_ngcontent-%COMP%]{margin-left:75%}.offset-md-10[_ngcontent-%COMP%]{margin-left:83.3333333333%}.offset-md-11[_ngcontent-%COMP%]{margin-left:91.6666666667%}.d-md-none[_ngcontent-%COMP%]{display:none!important}.d-md-inline[_ngcontent-%COMP%]{display:inline!important}.d-md-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-md-block[_ngcontent-%COMP%]{display:block!important}.d-md-table[_ngcontent-%COMP%]{display:table!important}.d-md-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-md-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-md-flex[_ngcontent-%COMP%]{display:flex!important}.d-md-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}}@media (min-width:992px){.col-lg[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;max-width:100%}.col-lg-auto[_ngcontent-%COMP%]{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1[_ngcontent-%COMP%]{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-lg-2[_ngcontent-%COMP%]{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-lg-3[_ngcontent-%COMP%]{flex:0 0 25%;max-width:25%}.col-lg-4[_ngcontent-%COMP%]{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-lg-5[_ngcontent-%COMP%]{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-lg-6[_ngcontent-%COMP%]{flex:0 0 50%;max-width:50%}.col-lg-7[_ngcontent-%COMP%]{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-lg-8[_ngcontent-%COMP%]{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-lg-9[_ngcontent-%COMP%]{flex:0 0 75%;max-width:75%}.col-lg-10[_ngcontent-%COMP%]{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-lg-11[_ngcontent-%COMP%]{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-lg-12[_ngcontent-%COMP%]{flex:0 0 100%;max-width:100%}.order-lg-first[_ngcontent-%COMP%]{order:-1}.order-lg-last[_ngcontent-%COMP%]{order:13}.order-lg-0[_ngcontent-%COMP%]{order:0}.order-lg-1[_ngcontent-%COMP%]{order:1}.order-lg-2[_ngcontent-%COMP%]{order:2}.order-lg-3[_ngcontent-%COMP%]{order:3}.order-lg-4[_ngcontent-%COMP%]{order:4}.order-lg-5[_ngcontent-%COMP%]{order:5}.order-lg-6[_ngcontent-%COMP%]{order:6}.order-lg-7[_ngcontent-%COMP%]{order:7}.order-lg-8[_ngcontent-%COMP%]{order:8}.order-lg-9[_ngcontent-%COMP%]{order:9}.order-lg-10[_ngcontent-%COMP%]{order:10}.order-lg-11[_ngcontent-%COMP%]{order:11}.order-lg-12[_ngcontent-%COMP%]{order:12}.offset-lg-0[_ngcontent-%COMP%]{margin-left:0}.offset-lg-1[_ngcontent-%COMP%]{margin-left:8.3333333333%}.offset-lg-2[_ngcontent-%COMP%]{margin-left:16.6666666667%}.offset-lg-3[_ngcontent-%COMP%]{margin-left:25%}.offset-lg-4[_ngcontent-%COMP%]{margin-left:33.3333333333%}.offset-lg-5[_ngcontent-%COMP%]{margin-left:41.6666666667%}.offset-lg-6[_ngcontent-%COMP%]{margin-left:50%}.offset-lg-7[_ngcontent-%COMP%]{margin-left:58.3333333333%}.offset-lg-8[_ngcontent-%COMP%]{margin-left:66.6666666667%}.offset-lg-9[_ngcontent-%COMP%]{margin-left:75%}.offset-lg-10[_ngcontent-%COMP%]{margin-left:83.3333333333%}.offset-lg-11[_ngcontent-%COMP%]{margin-left:91.6666666667%}.d-lg-none[_ngcontent-%COMP%]{display:none!important}.d-lg-inline[_ngcontent-%COMP%]{display:inline!important}.d-lg-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-lg-block[_ngcontent-%COMP%]{display:block!important}.d-lg-table[_ngcontent-%COMP%]{display:table!important}.d-lg-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-lg-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-lg-flex[_ngcontent-%COMP%]{display:flex!important}.d-lg-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}}@media (min-width:1200px){.col-xl[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;max-width:100%}.col-xl-auto[_ngcontent-%COMP%]{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1[_ngcontent-%COMP%]{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-xl-2[_ngcontent-%COMP%]{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xl-3[_ngcontent-%COMP%]{flex:0 0 25%;max-width:25%}.col-xl-4[_ngcontent-%COMP%]{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-xl-5[_ngcontent-%COMP%]{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-xl-6[_ngcontent-%COMP%]{flex:0 0 50%;max-width:50%}.col-xl-7[_ngcontent-%COMP%]{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-xl-8[_ngcontent-%COMP%]{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-xl-9[_ngcontent-%COMP%]{flex:0 0 75%;max-width:75%}.col-xl-10[_ngcontent-%COMP%]{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-xl-11[_ngcontent-%COMP%]{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-xl-12[_ngcontent-%COMP%]{flex:0 0 100%;max-width:100%}.order-xl-first[_ngcontent-%COMP%]{order:-1}.order-xl-last[_ngcontent-%COMP%]{order:13}.order-xl-0[_ngcontent-%COMP%]{order:0}.order-xl-1[_ngcontent-%COMP%]{order:1}.order-xl-2[_ngcontent-%COMP%]{order:2}.order-xl-3[_ngcontent-%COMP%]{order:3}.order-xl-4[_ngcontent-%COMP%]{order:4}.order-xl-5[_ngcontent-%COMP%]{order:5}.order-xl-6[_ngcontent-%COMP%]{order:6}.order-xl-7[_ngcontent-%COMP%]{order:7}.order-xl-8[_ngcontent-%COMP%]{order:8}.order-xl-9[_ngcontent-%COMP%]{order:9}.order-xl-10[_ngcontent-%COMP%]{order:10}.order-xl-11[_ngcontent-%COMP%]{order:11}.order-xl-12[_ngcontent-%COMP%]{order:12}.offset-xl-0[_ngcontent-%COMP%]{margin-left:0}.offset-xl-1[_ngcontent-%COMP%]{margin-left:8.3333333333%}.offset-xl-2[_ngcontent-%COMP%]{margin-left:16.6666666667%}.offset-xl-3[_ngcontent-%COMP%]{margin-left:25%}.offset-xl-4[_ngcontent-%COMP%]{margin-left:33.3333333333%}.offset-xl-5[_ngcontent-%COMP%]{margin-left:41.6666666667%}.offset-xl-6[_ngcontent-%COMP%]{margin-left:50%}.offset-xl-7[_ngcontent-%COMP%]{margin-left:58.3333333333%}.offset-xl-8[_ngcontent-%COMP%]{margin-left:66.6666666667%}.offset-xl-9[_ngcontent-%COMP%]{margin-left:75%}.offset-xl-10[_ngcontent-%COMP%]{margin-left:83.3333333333%}.offset-xl-11[_ngcontent-%COMP%]{margin-left:91.6666666667%}.d-xl-none[_ngcontent-%COMP%]{display:none!important}.d-xl-inline[_ngcontent-%COMP%]{display:inline!important}.d-xl-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-xl-block[_ngcontent-%COMP%]{display:block!important}.d-xl-table[_ngcontent-%COMP%]{display:table!important}.d-xl-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-xl-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-xl-flex[_ngcontent-%COMP%]{display:flex!important}.d-xl-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}}@media print{.d-print-none[_ngcontent-%COMP%]{display:none!important}.d-print-inline[_ngcontent-%COMP%]{display:inline!important}.d-print-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-print-block[_ngcontent-%COMP%]{display:block!important}.d-print-table[_ngcontent-%COMP%]{display:table!important}.d-print-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-print-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-print-flex[_ngcontent-%COMP%]{display:flex!important}.d-print-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}}.flex-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-column[_ngcontent-%COMP%]{flex-direction:column!important}.flex-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.flex-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.justify-content-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-stretch[_ngcontent-%COMP%]{align-self:stretch!important}.m-0[_ngcontent-%COMP%]{margin:0!important}.mt-0[_ngcontent-%COMP%], .my-0[_ngcontent-%COMP%]{margin-top:0!important}.mr-0[_ngcontent-%COMP%], .mx-0[_ngcontent-%COMP%]{margin-right:0!important}.mb-0[_ngcontent-%COMP%], .my-0[_ngcontent-%COMP%]{margin-bottom:0!important}.ml-0[_ngcontent-%COMP%], .mx-0[_ngcontent-%COMP%]{margin-left:0!important}.m-1[_ngcontent-%COMP%]{margin:.25rem!important}.mt-1[_ngcontent-%COMP%], .my-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mr-1[_ngcontent-%COMP%], .mx-1[_ngcontent-%COMP%],   .btn-toolbar .btn-group{margin-right:.25rem!important}.mb-1[_ngcontent-%COMP%], .my-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.ml-1[_ngcontent-%COMP%], .mx-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.m-2[_ngcontent-%COMP%]{margin:.5rem!important}.mt-2[_ngcontent-%COMP%], .my-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mr-2[_ngcontent-%COMP%], .mx-2[_ngcontent-%COMP%]{margin-right:.5rem!important}.mb-2[_ngcontent-%COMP%], .my-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.ml-2[_ngcontent-%COMP%], .mx-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.m-3[_ngcontent-%COMP%]{margin:1rem!important}.mt-3[_ngcontent-%COMP%], .my-3[_ngcontent-%COMP%]{margin-top:1rem!important}.mr-3[_ngcontent-%COMP%], .mx-3[_ngcontent-%COMP%]{margin-right:1rem!important}.mb-3[_ngcontent-%COMP%], .my-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.ml-3[_ngcontent-%COMP%], .mx-3[_ngcontent-%COMP%]{margin-left:1rem!important}.m-4[_ngcontent-%COMP%]{margin:1.5rem!important}.mt-4[_ngcontent-%COMP%], .my-4[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mr-4[_ngcontent-%COMP%], .mx-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.mb-4[_ngcontent-%COMP%], .my-4[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.ml-4[_ngcontent-%COMP%], .mx-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.m-5[_ngcontent-%COMP%]{margin:3rem!important}.mt-5[_ngcontent-%COMP%], .my-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mr-5[_ngcontent-%COMP%], .mx-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mb-5[_ngcontent-%COMP%], .my-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.ml-5[_ngcontent-%COMP%], .mx-5[_ngcontent-%COMP%]{margin-left:3rem!important}.p-0[_ngcontent-%COMP%]{padding:0!important}.pt-0[_ngcontent-%COMP%], .py-0[_ngcontent-%COMP%]{padding-top:0!important}.pr-0[_ngcontent-%COMP%], .px-0[_ngcontent-%COMP%]{padding-right:0!important}.pb-0[_ngcontent-%COMP%], .py-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pl-0[_ngcontent-%COMP%], .px-0[_ngcontent-%COMP%]{padding-left:0!important}.p-1[_ngcontent-%COMP%]{padding:.25rem!important}.pt-1[_ngcontent-%COMP%], .py-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pr-1[_ngcontent-%COMP%], .px-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.pb-1[_ngcontent-%COMP%], .py-1[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pl-1[_ngcontent-%COMP%], .px-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.p-2[_ngcontent-%COMP%]{padding:.5rem!important}.pt-2[_ngcontent-%COMP%], .py-2[_ngcontent-%COMP%]{padding-top:.5rem!important}.pr-2[_ngcontent-%COMP%], .px-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.pb-2[_ngcontent-%COMP%], .py-2[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pl-2[_ngcontent-%COMP%], .px-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.p-3[_ngcontent-%COMP%]{padding:1rem!important}.pt-3[_ngcontent-%COMP%], .py-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pr-3[_ngcontent-%COMP%], .px-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pb-3[_ngcontent-%COMP%], .py-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pl-3[_ngcontent-%COMP%], .px-3[_ngcontent-%COMP%]{padding-left:1rem!important}.p-4[_ngcontent-%COMP%]{padding:1.5rem!important}.pt-4[_ngcontent-%COMP%], .py-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pr-4[_ngcontent-%COMP%], .px-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pb-4[_ngcontent-%COMP%], .py-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pl-4[_ngcontent-%COMP%], .px-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.p-5[_ngcontent-%COMP%]{padding:3rem!important}.pt-5[_ngcontent-%COMP%], .py-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-5[_ngcontent-%COMP%], .px-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-5[_ngcontent-%COMP%], .py-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-5[_ngcontent-%COMP%], .px-5[_ngcontent-%COMP%]{padding-left:3rem!important}.m-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.mt-n1[_ngcontent-%COMP%], .my-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mr-n1[_ngcontent-%COMP%], .mx-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mb-n1[_ngcontent-%COMP%], .my-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.ml-n1[_ngcontent-%COMP%], .mx-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.m-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.mt-n2[_ngcontent-%COMP%], .my-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mr-n2[_ngcontent-%COMP%], .mx-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mb-n2[_ngcontent-%COMP%], .my-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.ml-n2[_ngcontent-%COMP%], .mx-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.m-n3[_ngcontent-%COMP%]{margin:-1rem!important}.mt-n3[_ngcontent-%COMP%], .my-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mr-n3[_ngcontent-%COMP%], .mx-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mb-n3[_ngcontent-%COMP%], .my-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.ml-n3[_ngcontent-%COMP%], .mx-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.m-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.mt-n4[_ngcontent-%COMP%], .my-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mr-n4[_ngcontent-%COMP%], .mx-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mb-n4[_ngcontent-%COMP%], .my-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.ml-n4[_ngcontent-%COMP%], .mx-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.m-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mt-n5[_ngcontent-%COMP%], .my-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-n5[_ngcontent-%COMP%], .mx-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-n5[_ngcontent-%COMP%], .my-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-n5[_ngcontent-%COMP%], .mx-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.m-auto[_ngcontent-%COMP%]{margin:auto!important}.mt-auto[_ngcontent-%COMP%], .my-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-auto[_ngcontent-%COMP%], .mx-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-auto[_ngcontent-%COMP%], .my-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-auto[_ngcontent-%COMP%], .mx-auto[_ngcontent-%COMP%]{margin-left:auto!important}@media (min-width:576px){.flex-sm-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-sm-column[_ngcontent-%COMP%]{flex-direction:column!important}.flex-sm-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-sm-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-sm-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-sm-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-sm-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.flex-sm-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-sm-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-sm-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-sm-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-sm-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.justify-content-sm-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-sm-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-sm-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-sm-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-sm-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-sm-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-sm-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-sm-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-sm-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-sm-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-sm-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-sm-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-sm-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-sm-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-sm-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-sm-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-sm-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-sm-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-sm-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-sm-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-sm-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-sm-stretch[_ngcontent-%COMP%]{align-self:stretch!important}.m-sm-0[_ngcontent-%COMP%]{margin:0!important}.mt-sm-0[_ngcontent-%COMP%], .my-sm-0[_ngcontent-%COMP%]{margin-top:0!important}.mr-sm-0[_ngcontent-%COMP%], .mx-sm-0[_ngcontent-%COMP%]{margin-right:0!important}.mb-sm-0[_ngcontent-%COMP%], .my-sm-0[_ngcontent-%COMP%]{margin-bottom:0!important}.ml-sm-0[_ngcontent-%COMP%], .mx-sm-0[_ngcontent-%COMP%]{margin-left:0!important}.m-sm-1[_ngcontent-%COMP%]{margin:.25rem!important}.mt-sm-1[_ngcontent-%COMP%], .my-sm-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mr-sm-1[_ngcontent-%COMP%], .mx-sm-1[_ngcontent-%COMP%]{margin-right:.25rem!important}.mb-sm-1[_ngcontent-%COMP%], .my-sm-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.ml-sm-1[_ngcontent-%COMP%], .mx-sm-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.m-sm-2[_ngcontent-%COMP%]{margin:.5rem!important}.mt-sm-2[_ngcontent-%COMP%], .my-sm-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mr-sm-2[_ngcontent-%COMP%], .mx-sm-2[_ngcontent-%COMP%]{margin-right:.5rem!important}.mb-sm-2[_ngcontent-%COMP%], .my-sm-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.ml-sm-2[_ngcontent-%COMP%], .mx-sm-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.m-sm-3[_ngcontent-%COMP%]{margin:1rem!important}.mt-sm-3[_ngcontent-%COMP%], .my-sm-3[_ngcontent-%COMP%]{margin-top:1rem!important}.mr-sm-3[_ngcontent-%COMP%], .mx-sm-3[_ngcontent-%COMP%]{margin-right:1rem!important}.mb-sm-3[_ngcontent-%COMP%], .my-sm-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.ml-sm-3[_ngcontent-%COMP%], .mx-sm-3[_ngcontent-%COMP%]{margin-left:1rem!important}.m-sm-4[_ngcontent-%COMP%]{margin:1.5rem!important}.mt-sm-4[_ngcontent-%COMP%], .my-sm-4[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mr-sm-4[_ngcontent-%COMP%], .mx-sm-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.mb-sm-4[_ngcontent-%COMP%], .my-sm-4[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.ml-sm-4[_ngcontent-%COMP%], .mx-sm-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.m-sm-5[_ngcontent-%COMP%]{margin:3rem!important}.mt-sm-5[_ngcontent-%COMP%], .my-sm-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mr-sm-5[_ngcontent-%COMP%], .mx-sm-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mb-sm-5[_ngcontent-%COMP%], .my-sm-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.ml-sm-5[_ngcontent-%COMP%], .mx-sm-5[_ngcontent-%COMP%]{margin-left:3rem!important}.p-sm-0[_ngcontent-%COMP%]{padding:0!important}.pt-sm-0[_ngcontent-%COMP%], .py-sm-0[_ngcontent-%COMP%]{padding-top:0!important}.pr-sm-0[_ngcontent-%COMP%], .px-sm-0[_ngcontent-%COMP%]{padding-right:0!important}.pb-sm-0[_ngcontent-%COMP%], .py-sm-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pl-sm-0[_ngcontent-%COMP%], .px-sm-0[_ngcontent-%COMP%]{padding-left:0!important}.p-sm-1[_ngcontent-%COMP%]{padding:.25rem!important}.pt-sm-1[_ngcontent-%COMP%], .py-sm-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pr-sm-1[_ngcontent-%COMP%], .px-sm-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.pb-sm-1[_ngcontent-%COMP%], .py-sm-1[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pl-sm-1[_ngcontent-%COMP%], .px-sm-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.p-sm-2[_ngcontent-%COMP%]{padding:.5rem!important}.pt-sm-2[_ngcontent-%COMP%], .py-sm-2[_ngcontent-%COMP%]{padding-top:.5rem!important}.pr-sm-2[_ngcontent-%COMP%], .px-sm-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.pb-sm-2[_ngcontent-%COMP%], .py-sm-2[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pl-sm-2[_ngcontent-%COMP%], .px-sm-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.p-sm-3[_ngcontent-%COMP%]{padding:1rem!important}.pt-sm-3[_ngcontent-%COMP%], .py-sm-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pr-sm-3[_ngcontent-%COMP%], .px-sm-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pb-sm-3[_ngcontent-%COMP%], .py-sm-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pl-sm-3[_ngcontent-%COMP%], .px-sm-3[_ngcontent-%COMP%]{padding-left:1rem!important}.p-sm-4[_ngcontent-%COMP%]{padding:1.5rem!important}.pt-sm-4[_ngcontent-%COMP%], .py-sm-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pr-sm-4[_ngcontent-%COMP%], .px-sm-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pb-sm-4[_ngcontent-%COMP%], .py-sm-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pl-sm-4[_ngcontent-%COMP%], .px-sm-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.p-sm-5[_ngcontent-%COMP%]{padding:3rem!important}.pt-sm-5[_ngcontent-%COMP%], .py-sm-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-sm-5[_ngcontent-%COMP%], .px-sm-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-sm-5[_ngcontent-%COMP%], .py-sm-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-sm-5[_ngcontent-%COMP%], .px-sm-5[_ngcontent-%COMP%]{padding-left:3rem!important}.m-sm-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.mt-sm-n1[_ngcontent-%COMP%], .my-sm-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mr-sm-n1[_ngcontent-%COMP%], .mx-sm-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mb-sm-n1[_ngcontent-%COMP%], .my-sm-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.ml-sm-n1[_ngcontent-%COMP%], .mx-sm-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.m-sm-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.mt-sm-n2[_ngcontent-%COMP%], .my-sm-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mr-sm-n2[_ngcontent-%COMP%], .mx-sm-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mb-sm-n2[_ngcontent-%COMP%], .my-sm-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.ml-sm-n2[_ngcontent-%COMP%], .mx-sm-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.m-sm-n3[_ngcontent-%COMP%]{margin:-1rem!important}.mt-sm-n3[_ngcontent-%COMP%], .my-sm-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mr-sm-n3[_ngcontent-%COMP%], .mx-sm-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mb-sm-n3[_ngcontent-%COMP%], .my-sm-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.ml-sm-n3[_ngcontent-%COMP%], .mx-sm-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.m-sm-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.mt-sm-n4[_ngcontent-%COMP%], .my-sm-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mr-sm-n4[_ngcontent-%COMP%], .mx-sm-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mb-sm-n4[_ngcontent-%COMP%], .my-sm-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.ml-sm-n4[_ngcontent-%COMP%], .mx-sm-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.m-sm-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mt-sm-n5[_ngcontent-%COMP%], .my-sm-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-sm-n5[_ngcontent-%COMP%], .mx-sm-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-sm-n5[_ngcontent-%COMP%], .my-sm-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-sm-n5[_ngcontent-%COMP%], .mx-sm-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.m-sm-auto[_ngcontent-%COMP%]{margin:auto!important}.mt-sm-auto[_ngcontent-%COMP%], .my-sm-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-sm-auto[_ngcontent-%COMP%], .mx-sm-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-sm-auto[_ngcontent-%COMP%], .my-sm-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-sm-auto[_ngcontent-%COMP%], .mx-sm-auto[_ngcontent-%COMP%]{margin-left:auto!important}}@media (min-width:768px){.flex-md-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-md-column[_ngcontent-%COMP%]{flex-direction:column!important}.flex-md-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-md-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-md-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-md-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-md-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.flex-md-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-md-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-md-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-md-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-md-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.justify-content-md-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-md-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-md-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-md-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-md-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-md-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-md-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-md-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-md-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-md-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-md-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-md-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-md-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-md-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-md-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-md-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-md-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-md-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-md-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-md-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-md-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-md-stretch[_ngcontent-%COMP%]{align-self:stretch!important}.m-md-0[_ngcontent-%COMP%]{margin:0!important}.mt-md-0[_ngcontent-%COMP%], .my-md-0[_ngcontent-%COMP%]{margin-top:0!important}.mr-md-0[_ngcontent-%COMP%], .mx-md-0[_ngcontent-%COMP%]{margin-right:0!important}.mb-md-0[_ngcontent-%COMP%], .my-md-0[_ngcontent-%COMP%]{margin-bottom:0!important}.ml-md-0[_ngcontent-%COMP%], .mx-md-0[_ngcontent-%COMP%]{margin-left:0!important}.m-md-1[_ngcontent-%COMP%]{margin:.25rem!important}.mt-md-1[_ngcontent-%COMP%], .my-md-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mr-md-1[_ngcontent-%COMP%], .mx-md-1[_ngcontent-%COMP%]{margin-right:.25rem!important}.mb-md-1[_ngcontent-%COMP%], .my-md-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.ml-md-1[_ngcontent-%COMP%], .mx-md-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.m-md-2[_ngcontent-%COMP%]{margin:.5rem!important}.mt-md-2[_ngcontent-%COMP%], .my-md-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mr-md-2[_ngcontent-%COMP%], .mx-md-2[_ngcontent-%COMP%]{margin-right:.5rem!important}.mb-md-2[_ngcontent-%COMP%], .my-md-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.ml-md-2[_ngcontent-%COMP%], .mx-md-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.m-md-3[_ngcontent-%COMP%]{margin:1rem!important}.mt-md-3[_ngcontent-%COMP%], .my-md-3[_ngcontent-%COMP%]{margin-top:1rem!important}.mr-md-3[_ngcontent-%COMP%], .mx-md-3[_ngcontent-%COMP%]{margin-right:1rem!important}.mb-md-3[_ngcontent-%COMP%], .my-md-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.ml-md-3[_ngcontent-%COMP%], .mx-md-3[_ngcontent-%COMP%]{margin-left:1rem!important}.m-md-4[_ngcontent-%COMP%]{margin:1.5rem!important}.mt-md-4[_ngcontent-%COMP%], .my-md-4[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mr-md-4[_ngcontent-%COMP%], .mx-md-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.mb-md-4[_ngcontent-%COMP%], .my-md-4[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.ml-md-4[_ngcontent-%COMP%], .mx-md-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.m-md-5[_ngcontent-%COMP%]{margin:3rem!important}.mt-md-5[_ngcontent-%COMP%], .my-md-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mr-md-5[_ngcontent-%COMP%], .mx-md-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mb-md-5[_ngcontent-%COMP%], .my-md-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.ml-md-5[_ngcontent-%COMP%], .mx-md-5[_ngcontent-%COMP%]{margin-left:3rem!important}.p-md-0[_ngcontent-%COMP%]{padding:0!important}.pt-md-0[_ngcontent-%COMP%], .py-md-0[_ngcontent-%COMP%]{padding-top:0!important}.pr-md-0[_ngcontent-%COMP%], .px-md-0[_ngcontent-%COMP%]{padding-right:0!important}.pb-md-0[_ngcontent-%COMP%], .py-md-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pl-md-0[_ngcontent-%COMP%], .px-md-0[_ngcontent-%COMP%]{padding-left:0!important}.p-md-1[_ngcontent-%COMP%]{padding:.25rem!important}.pt-md-1[_ngcontent-%COMP%], .py-md-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pr-md-1[_ngcontent-%COMP%], .px-md-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.pb-md-1[_ngcontent-%COMP%], .py-md-1[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pl-md-1[_ngcontent-%COMP%], .px-md-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.p-md-2[_ngcontent-%COMP%]{padding:.5rem!important}.pt-md-2[_ngcontent-%COMP%], .py-md-2[_ngcontent-%COMP%]{padding-top:.5rem!important}.pr-md-2[_ngcontent-%COMP%], .px-md-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.pb-md-2[_ngcontent-%COMP%], .py-md-2[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pl-md-2[_ngcontent-%COMP%], .px-md-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.p-md-3[_ngcontent-%COMP%]{padding:1rem!important}.pt-md-3[_ngcontent-%COMP%], .py-md-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pr-md-3[_ngcontent-%COMP%], .px-md-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pb-md-3[_ngcontent-%COMP%], .py-md-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pl-md-3[_ngcontent-%COMP%], .px-md-3[_ngcontent-%COMP%]{padding-left:1rem!important}.p-md-4[_ngcontent-%COMP%]{padding:1.5rem!important}.pt-md-4[_ngcontent-%COMP%], .py-md-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pr-md-4[_ngcontent-%COMP%], .px-md-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pb-md-4[_ngcontent-%COMP%], .py-md-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pl-md-4[_ngcontent-%COMP%], .px-md-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.p-md-5[_ngcontent-%COMP%]{padding:3rem!important}.pt-md-5[_ngcontent-%COMP%], .py-md-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-md-5[_ngcontent-%COMP%], .px-md-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-md-5[_ngcontent-%COMP%], .py-md-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-md-5[_ngcontent-%COMP%], .px-md-5[_ngcontent-%COMP%]{padding-left:3rem!important}.m-md-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.mt-md-n1[_ngcontent-%COMP%], .my-md-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mr-md-n1[_ngcontent-%COMP%], .mx-md-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mb-md-n1[_ngcontent-%COMP%], .my-md-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.ml-md-n1[_ngcontent-%COMP%], .mx-md-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.m-md-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.mt-md-n2[_ngcontent-%COMP%], .my-md-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mr-md-n2[_ngcontent-%COMP%], .mx-md-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mb-md-n2[_ngcontent-%COMP%], .my-md-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.ml-md-n2[_ngcontent-%COMP%], .mx-md-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.m-md-n3[_ngcontent-%COMP%]{margin:-1rem!important}.mt-md-n3[_ngcontent-%COMP%], .my-md-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mr-md-n3[_ngcontent-%COMP%], .mx-md-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mb-md-n3[_ngcontent-%COMP%], .my-md-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.ml-md-n3[_ngcontent-%COMP%], .mx-md-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.m-md-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.mt-md-n4[_ngcontent-%COMP%], .my-md-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mr-md-n4[_ngcontent-%COMP%], .mx-md-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mb-md-n4[_ngcontent-%COMP%], .my-md-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.ml-md-n4[_ngcontent-%COMP%], .mx-md-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.m-md-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mt-md-n5[_ngcontent-%COMP%], .my-md-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-md-n5[_ngcontent-%COMP%], .mx-md-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-md-n5[_ngcontent-%COMP%], .my-md-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-md-n5[_ngcontent-%COMP%], .mx-md-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.m-md-auto[_ngcontent-%COMP%]{margin:auto!important}.mt-md-auto[_ngcontent-%COMP%], .my-md-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-md-auto[_ngcontent-%COMP%], .mx-md-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-md-auto[_ngcontent-%COMP%], .my-md-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-md-auto[_ngcontent-%COMP%], .mx-md-auto[_ngcontent-%COMP%]{margin-left:auto!important}}@media (min-width:992px){.flex-lg-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-lg-column[_ngcontent-%COMP%]{flex-direction:column!important}.flex-lg-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-lg-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-lg-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-lg-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-lg-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.flex-lg-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-lg-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-lg-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-lg-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-lg-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.justify-content-lg-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-lg-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-lg-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-lg-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-lg-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-lg-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-lg-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-lg-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-lg-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-lg-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-lg-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-lg-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-lg-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-lg-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-lg-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-lg-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-lg-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-lg-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-lg-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-lg-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-lg-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-lg-stretch[_ngcontent-%COMP%]{align-self:stretch!important}.m-lg-0[_ngcontent-%COMP%]{margin:0!important}.mt-lg-0[_ngcontent-%COMP%], .my-lg-0[_ngcontent-%COMP%]{margin-top:0!important}.mr-lg-0[_ngcontent-%COMP%], .mx-lg-0[_ngcontent-%COMP%]{margin-right:0!important}.mb-lg-0[_ngcontent-%COMP%], .my-lg-0[_ngcontent-%COMP%]{margin-bottom:0!important}.ml-lg-0[_ngcontent-%COMP%], .mx-lg-0[_ngcontent-%COMP%]{margin-left:0!important}.m-lg-1[_ngcontent-%COMP%]{margin:.25rem!important}.mt-lg-1[_ngcontent-%COMP%], .my-lg-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mr-lg-1[_ngcontent-%COMP%], .mx-lg-1[_ngcontent-%COMP%]{margin-right:.25rem!important}.mb-lg-1[_ngcontent-%COMP%], .my-lg-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.ml-lg-1[_ngcontent-%COMP%], .mx-lg-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.m-lg-2[_ngcontent-%COMP%]{margin:.5rem!important}.mt-lg-2[_ngcontent-%COMP%], .my-lg-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mr-lg-2[_ngcontent-%COMP%], .mx-lg-2[_ngcontent-%COMP%]{margin-right:.5rem!important}.mb-lg-2[_ngcontent-%COMP%], .my-lg-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.ml-lg-2[_ngcontent-%COMP%], .mx-lg-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.m-lg-3[_ngcontent-%COMP%]{margin:1rem!important}.mt-lg-3[_ngcontent-%COMP%], .my-lg-3[_ngcontent-%COMP%]{margin-top:1rem!important}.mr-lg-3[_ngcontent-%COMP%], .mx-lg-3[_ngcontent-%COMP%]{margin-right:1rem!important}.mb-lg-3[_ngcontent-%COMP%], .my-lg-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.ml-lg-3[_ngcontent-%COMP%], .mx-lg-3[_ngcontent-%COMP%]{margin-left:1rem!important}.m-lg-4[_ngcontent-%COMP%]{margin:1.5rem!important}.mt-lg-4[_ngcontent-%COMP%], .my-lg-4[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mr-lg-4[_ngcontent-%COMP%], .mx-lg-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.mb-lg-4[_ngcontent-%COMP%], .my-lg-4[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.ml-lg-4[_ngcontent-%COMP%], .mx-lg-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.m-lg-5[_ngcontent-%COMP%]{margin:3rem!important}.mt-lg-5[_ngcontent-%COMP%], .my-lg-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mr-lg-5[_ngcontent-%COMP%], .mx-lg-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mb-lg-5[_ngcontent-%COMP%], .my-lg-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.ml-lg-5[_ngcontent-%COMP%], .mx-lg-5[_ngcontent-%COMP%]{margin-left:3rem!important}.p-lg-0[_ngcontent-%COMP%]{padding:0!important}.pt-lg-0[_ngcontent-%COMP%], .py-lg-0[_ngcontent-%COMP%]{padding-top:0!important}.pr-lg-0[_ngcontent-%COMP%], .px-lg-0[_ngcontent-%COMP%]{padding-right:0!important}.pb-lg-0[_ngcontent-%COMP%], .py-lg-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pl-lg-0[_ngcontent-%COMP%], .px-lg-0[_ngcontent-%COMP%]{padding-left:0!important}.p-lg-1[_ngcontent-%COMP%]{padding:.25rem!important}.pt-lg-1[_ngcontent-%COMP%], .py-lg-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pr-lg-1[_ngcontent-%COMP%], .px-lg-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.pb-lg-1[_ngcontent-%COMP%], .py-lg-1[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pl-lg-1[_ngcontent-%COMP%], .px-lg-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.p-lg-2[_ngcontent-%COMP%]{padding:.5rem!important}.pt-lg-2[_ngcontent-%COMP%], .py-lg-2[_ngcontent-%COMP%]{padding-top:.5rem!important}.pr-lg-2[_ngcontent-%COMP%], .px-lg-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.pb-lg-2[_ngcontent-%COMP%], .py-lg-2[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pl-lg-2[_ngcontent-%COMP%], .px-lg-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.p-lg-3[_ngcontent-%COMP%]{padding:1rem!important}.pt-lg-3[_ngcontent-%COMP%], .py-lg-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pr-lg-3[_ngcontent-%COMP%], .px-lg-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pb-lg-3[_ngcontent-%COMP%], .py-lg-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pl-lg-3[_ngcontent-%COMP%], .px-lg-3[_ngcontent-%COMP%]{padding-left:1rem!important}.p-lg-4[_ngcontent-%COMP%]{padding:1.5rem!important}.pt-lg-4[_ngcontent-%COMP%], .py-lg-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pr-lg-4[_ngcontent-%COMP%], .px-lg-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pb-lg-4[_ngcontent-%COMP%], .py-lg-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pl-lg-4[_ngcontent-%COMP%], .px-lg-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.p-lg-5[_ngcontent-%COMP%]{padding:3rem!important}.pt-lg-5[_ngcontent-%COMP%], .py-lg-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-lg-5[_ngcontent-%COMP%], .px-lg-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-lg-5[_ngcontent-%COMP%], .py-lg-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-lg-5[_ngcontent-%COMP%], .px-lg-5[_ngcontent-%COMP%]{padding-left:3rem!important}.m-lg-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.mt-lg-n1[_ngcontent-%COMP%], .my-lg-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mr-lg-n1[_ngcontent-%COMP%], .mx-lg-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mb-lg-n1[_ngcontent-%COMP%], .my-lg-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.ml-lg-n1[_ngcontent-%COMP%], .mx-lg-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.m-lg-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.mt-lg-n2[_ngcontent-%COMP%], .my-lg-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mr-lg-n2[_ngcontent-%COMP%], .mx-lg-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mb-lg-n2[_ngcontent-%COMP%], .my-lg-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.ml-lg-n2[_ngcontent-%COMP%], .mx-lg-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.m-lg-n3[_ngcontent-%COMP%]{margin:-1rem!important}.mt-lg-n3[_ngcontent-%COMP%], .my-lg-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mr-lg-n3[_ngcontent-%COMP%], .mx-lg-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mb-lg-n3[_ngcontent-%COMP%], .my-lg-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.ml-lg-n3[_ngcontent-%COMP%], .mx-lg-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.m-lg-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.mt-lg-n4[_ngcontent-%COMP%], .my-lg-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mr-lg-n4[_ngcontent-%COMP%], .mx-lg-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mb-lg-n4[_ngcontent-%COMP%], .my-lg-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.ml-lg-n4[_ngcontent-%COMP%], .mx-lg-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.m-lg-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mt-lg-n5[_ngcontent-%COMP%], .my-lg-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-lg-n5[_ngcontent-%COMP%], .mx-lg-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-lg-n5[_ngcontent-%COMP%], .my-lg-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-lg-n5[_ngcontent-%COMP%], .mx-lg-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.m-lg-auto[_ngcontent-%COMP%]{margin:auto!important}.mt-lg-auto[_ngcontent-%COMP%], .my-lg-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-lg-auto[_ngcontent-%COMP%], .mx-lg-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-lg-auto[_ngcontent-%COMP%], .my-lg-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-lg-auto[_ngcontent-%COMP%], .mx-lg-auto[_ngcontent-%COMP%]{margin-left:auto!important}}@media (min-width:1200px){.flex-xl-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-xl-column[_ngcontent-%COMP%]{flex-direction:column!important}.flex-xl-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-xl-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-xl-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-xl-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-xl-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.flex-xl-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-xl-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-xl-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-xl-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-xl-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.justify-content-xl-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-xl-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-xl-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-xl-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-xl-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-xl-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-xl-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-xl-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-xl-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-xl-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-xl-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-xl-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-xl-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-xl-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-xl-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-xl-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-xl-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-xl-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-xl-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-xl-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-xl-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-xl-stretch[_ngcontent-%COMP%]{align-self:stretch!important}.m-xl-0[_ngcontent-%COMP%]{margin:0!important}.mt-xl-0[_ngcontent-%COMP%], .my-xl-0[_ngcontent-%COMP%]{margin-top:0!important}.mr-xl-0[_ngcontent-%COMP%], .mx-xl-0[_ngcontent-%COMP%]{margin-right:0!important}.mb-xl-0[_ngcontent-%COMP%], .my-xl-0[_ngcontent-%COMP%]{margin-bottom:0!important}.ml-xl-0[_ngcontent-%COMP%], .mx-xl-0[_ngcontent-%COMP%]{margin-left:0!important}.m-xl-1[_ngcontent-%COMP%]{margin:.25rem!important}.mt-xl-1[_ngcontent-%COMP%], .my-xl-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mr-xl-1[_ngcontent-%COMP%], .mx-xl-1[_ngcontent-%COMP%]{margin-right:.25rem!important}.mb-xl-1[_ngcontent-%COMP%], .my-xl-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.ml-xl-1[_ngcontent-%COMP%], .mx-xl-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.m-xl-2[_ngcontent-%COMP%]{margin:.5rem!important}.mt-xl-2[_ngcontent-%COMP%], .my-xl-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mr-xl-2[_ngcontent-%COMP%], .mx-xl-2[_ngcontent-%COMP%]{margin-right:.5rem!important}.mb-xl-2[_ngcontent-%COMP%], .my-xl-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.ml-xl-2[_ngcontent-%COMP%], .mx-xl-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.m-xl-3[_ngcontent-%COMP%]{margin:1rem!important}.mt-xl-3[_ngcontent-%COMP%], .my-xl-3[_ngcontent-%COMP%]{margin-top:1rem!important}.mr-xl-3[_ngcontent-%COMP%], .mx-xl-3[_ngcontent-%COMP%]{margin-right:1rem!important}.mb-xl-3[_ngcontent-%COMP%], .my-xl-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.ml-xl-3[_ngcontent-%COMP%], .mx-xl-3[_ngcontent-%COMP%]{margin-left:1rem!important}.m-xl-4[_ngcontent-%COMP%]{margin:1.5rem!important}.mt-xl-4[_ngcontent-%COMP%], .my-xl-4[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mr-xl-4[_ngcontent-%COMP%], .mx-xl-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.mb-xl-4[_ngcontent-%COMP%], .my-xl-4[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.ml-xl-4[_ngcontent-%COMP%], .mx-xl-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.m-xl-5[_ngcontent-%COMP%]{margin:3rem!important}.mt-xl-5[_ngcontent-%COMP%], .my-xl-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mr-xl-5[_ngcontent-%COMP%], .mx-xl-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mb-xl-5[_ngcontent-%COMP%], .my-xl-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.ml-xl-5[_ngcontent-%COMP%], .mx-xl-5[_ngcontent-%COMP%]{margin-left:3rem!important}.p-xl-0[_ngcontent-%COMP%]{padding:0!important}.pt-xl-0[_ngcontent-%COMP%], .py-xl-0[_ngcontent-%COMP%]{padding-top:0!important}.pr-xl-0[_ngcontent-%COMP%], .px-xl-0[_ngcontent-%COMP%]{padding-right:0!important}.pb-xl-0[_ngcontent-%COMP%], .py-xl-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pl-xl-0[_ngcontent-%COMP%], .px-xl-0[_ngcontent-%COMP%]{padding-left:0!important}.p-xl-1[_ngcontent-%COMP%]{padding:.25rem!important}.pt-xl-1[_ngcontent-%COMP%], .py-xl-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pr-xl-1[_ngcontent-%COMP%], .px-xl-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.pb-xl-1[_ngcontent-%COMP%], .py-xl-1[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pl-xl-1[_ngcontent-%COMP%], .px-xl-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.p-xl-2[_ngcontent-%COMP%]{padding:.5rem!important}.pt-xl-2[_ngcontent-%COMP%], .py-xl-2[_ngcontent-%COMP%]{padding-top:.5rem!important}.pr-xl-2[_ngcontent-%COMP%], .px-xl-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.pb-xl-2[_ngcontent-%COMP%], .py-xl-2[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pl-xl-2[_ngcontent-%COMP%], .px-xl-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.p-xl-3[_ngcontent-%COMP%]{padding:1rem!important}.pt-xl-3[_ngcontent-%COMP%], .py-xl-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pr-xl-3[_ngcontent-%COMP%], .px-xl-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pb-xl-3[_ngcontent-%COMP%], .py-xl-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pl-xl-3[_ngcontent-%COMP%], .px-xl-3[_ngcontent-%COMP%]{padding-left:1rem!important}.p-xl-4[_ngcontent-%COMP%]{padding:1.5rem!important}.pt-xl-4[_ngcontent-%COMP%], .py-xl-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pr-xl-4[_ngcontent-%COMP%], .px-xl-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pb-xl-4[_ngcontent-%COMP%], .py-xl-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pl-xl-4[_ngcontent-%COMP%], .px-xl-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.p-xl-5[_ngcontent-%COMP%]{padding:3rem!important}.pt-xl-5[_ngcontent-%COMP%], .py-xl-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-xl-5[_ngcontent-%COMP%], .px-xl-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-xl-5[_ngcontent-%COMP%], .py-xl-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-xl-5[_ngcontent-%COMP%], .px-xl-5[_ngcontent-%COMP%]{padding-left:3rem!important}.m-xl-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.mt-xl-n1[_ngcontent-%COMP%], .my-xl-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mr-xl-n1[_ngcontent-%COMP%], .mx-xl-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mb-xl-n1[_ngcontent-%COMP%], .my-xl-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.ml-xl-n1[_ngcontent-%COMP%], .mx-xl-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.m-xl-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.mt-xl-n2[_ngcontent-%COMP%], .my-xl-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mr-xl-n2[_ngcontent-%COMP%], .mx-xl-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mb-xl-n2[_ngcontent-%COMP%], .my-xl-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.ml-xl-n2[_ngcontent-%COMP%], .mx-xl-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.m-xl-n3[_ngcontent-%COMP%]{margin:-1rem!important}.mt-xl-n3[_ngcontent-%COMP%], .my-xl-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mr-xl-n3[_ngcontent-%COMP%], .mx-xl-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mb-xl-n3[_ngcontent-%COMP%], .my-xl-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.ml-xl-n3[_ngcontent-%COMP%], .mx-xl-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.m-xl-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.mt-xl-n4[_ngcontent-%COMP%], .my-xl-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mr-xl-n4[_ngcontent-%COMP%], .mx-xl-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mb-xl-n4[_ngcontent-%COMP%], .my-xl-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.ml-xl-n4[_ngcontent-%COMP%], .mx-xl-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.m-xl-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mt-xl-n5[_ngcontent-%COMP%], .my-xl-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-xl-n5[_ngcontent-%COMP%], .mx-xl-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-xl-n5[_ngcontent-%COMP%], .my-xl-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-xl-n5[_ngcontent-%COMP%], .mx-xl-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.m-xl-auto[_ngcontent-%COMP%]{margin:auto!important}.mt-xl-auto[_ngcontent-%COMP%], .my-xl-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-xl-auto[_ngcontent-%COMP%], .mx-xl-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-xl-auto[_ngcontent-%COMP%], .my-xl-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-xl-auto[_ngcontent-%COMP%], .mx-xl-auto[_ngcontent-%COMP%]{margin-left:auto!important}}.dropdown-menu[_ngcontent-%COMP%] > .disabled[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{pointer-events:auto;cursor:default!important}"]],data:{}});function l(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,11,null,null,null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,10,"button",[["type","button"]],null,[[null,"click"]],(function(t,e,n){var r=!0,o=t.component;return"click"===e&&(r=!1!==a["ɵnov"](t,5).onClick()&&r),"click"===e&&(r=!1!==o.useClickAction(t.context.ngIf)&&r),r}),null,null)),a["ɵprd"](512,null,r["ɵNgClassImpl"],r["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](3,278528,null,0,r.NgClass,[r["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),a["ɵpod"](4,{disabled:0}),a["ɵdid"](5,16384,null,0,o.n,[o.m,o.a,[8,null],a.Renderer2,a.ElementRef],{preserveFragment:[0,"preserveFragment"],routerLink:[1,"routerLink"]},null),(t()(),a["ɵeld"](6,0,null,null,3,"i",[],null,null,null,null,null)),a["ɵprd"](512,null,r["ɵNgClassImpl"],r["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](8,278528,null,0,r.NgClass,[r["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),a["ɵpad"](9,1),(t()(),a["ɵeld"](10,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),a["ɵted"](11,null,["",""]))],(function(t,e){var n=e.component,r=a["ɵinlineInterpolate"](1,"btn btn-",n.btnColor,""),o=t(e,4,0,n.disableSelectionAction(e.context.ngIf));t(e,3,0,r,o),t(e,5,0,e.context.ngIf.preserveFragment?"":null,n.useRouterLink(e.context.ngIf));var i=t(e,9,0,e.context.ngIf.icon);t(e,8,0,i)}),(function(t,e){t(e,11,0,e.context.ngIf.name)}))}function d(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,null,null,null,null,null,null,null)),(t()(),a["ɵted"](1,null,[""," "]))],null,(function(t,e){t(e,1,0,e.component.dropDownOnly)}))}function u(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,0,"span",[["class","sr-only"]],null,null,null,null,null))],null,null)}function g(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,5,"button",[["dropdownToggle",""],["type","button"]],[[8,"className",0],[1,"aria-haspopup",0],[1,"disabled",0],[1,"aria-expanded",0]],[[null,"click"]],(function(t,e,n){var r=!0;return"click"===e&&(r=!1!==a["ɵnov"](t,1).onClick()&&r),r}),null,null)),a["ɵdid"](1,147456,null,0,i.g,[a.ChangeDetectorRef,i.c,a.ElementRef,a.Renderer2,i.f],null,null),(t()(),a["ɵand"](16777216,null,null,1,null,d)),a["ɵdid"](3,16384,null,0,r.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,u)),a["ɵdid"](5,16384,null,0,r.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,3,0,n.dropDownOnly),t(e,5,0,!n.dropDownOnly)}),(function(t,e){t(e,0,0,a["ɵinlineInterpolate"](1,"btn btn-",e.component.btnColor," dropdown-toggle dropdown-toggle-split"),!0,a["ɵnov"](e,1).isDisabled,a["ɵnov"](e,1).isOpen)}))}function f(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,12,null,null,null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,11,"li",[["data-toggle","tooltip"],["role","menuitem"]],[[8,"className",0],[8,"title",0]],null,null,null,null)),(t()(),a["ɵeld"](2,0,null,null,10,"a",[["class","dropdown-item"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var r=!0,o=t.component;return"click"===e&&(r=!1!==a["ɵnov"](t,6).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&r),"click"===e&&(r=!1!==o.useClickAction(t.context.$implicit)&&r),r}),null,null)),a["ɵprd"](512,null,r["ɵNgClassImpl"],r["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](4,278528,null,0,r.NgClass,[r["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),a["ɵpod"](5,{disabled:0}),a["ɵdid"](6,671744,null,0,o.p,[o.m,o.a,r.LocationStrategy],{preserveFragment:[0,"preserveFragment"],routerLink:[1,"routerLink"]},null),(t()(),a["ɵeld"](7,0,null,null,3,"i",[],null,null,null,null,null)),a["ɵprd"](512,null,r["ɵNgClassImpl"],r["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](9,278528,null,0,r.NgClass,[r["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),a["ɵpad"](10,1),(t()(),a["ɵeld"](11,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),a["ɵted"](12,null,["",""]))],(function(t,e){var n=e.component,a=t(e,5,0,n.disableSelectionAction(e.context.$implicit));t(e,4,0,"dropdown-item",a),t(e,6,0,e.context.$implicit.preserveFragment?"":null,n.useRouterLink(e.context.$implicit));var r=t(e,10,0,e.context.$implicit.icon);t(e,9,0,r)}),(function(t,e){var n=e.component;t(e,1,0,a["ɵinlineInterpolate"](1,"",n.toClassName(e.context.$implicit.name),""),a["ɵinlineInterpolate"](1,"",n.useDisableDesc(e.context.$implicit),"")),t(e,2,0,a["ɵnov"](e,6).target,a["ɵnov"](e,6).href),t(e,12,0,e.context.$implicit.name)}))}function p(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"ul",[["class","dropdown-menu"],["role","menu"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,f)),a["ɵdid"](2,278528,null,0,r.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){t(e,2,0,e.component.dropDownActions)}),null)}function m(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,16777216,null,null,8,"div",[["class","btn-group"],["dropdown",""]],[[2,"dropup",null],[2,"open",null],[2,"show",null]],null,null,null,null)),a["ɵprd"](512,null,i.f,i.f,[]),a["ɵdid"](2,212992,null,0,i.c,[a.ElementRef,a.Renderer2,a.ViewContainerRef,s.a,i.a,i.f],null,null),(t()(),a["ɵand"](16777216,null,null,1,null,l)),a["ɵdid"](4,16384,null,0,r.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,g)),a["ɵdid"](6,16384,null,0,r.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,p)),a["ɵdid"](8,16384,null,0,i.d,[i.f,a.ViewContainerRef,a.TemplateRef],null,null)],(function(t,e){var n=e.component;t(e,2,0),t(e,4,0,n.getCurrentButton()),t(e,6,0,n.showDropDownActions())}),(function(t,e){t(e,0,0,a["ɵnov"](e,2).dropup,a["ɵnov"](e,2).isOpen,a["ɵnov"](e,2).isOpen&&a["ɵnov"](e,2).isBs4)}))}},NXyV:function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var a=n("HDdC"),r=n("Cfvw"),o=n("EY2u");function i(t){return new a.a(e=>{let n;try{n=t()}catch(a){return void e.error(a)}return(n?Object(r.a)(n):Object(o.b)()).subscribe(e)})}},NaFW:function(t,e,n){var a=n("9d/t"),r=n("P4y1"),o=n("tiKp")("iterator");t.exports=function(t){if(null!=t)return t[o]||t["@@iterator"]||r[a(t)]}},Nehr:function(t,e,n){"use strict";t.exports={isString:function(t){return"string"==typeof t},isObject:function(t){return"object"==typeof t&&null!==t},isNull:function(t){return null===t},isNullOrUndefined:function(t){return null==t}}},Nh2a:function(t,e,n){var a=n("SKAX");t.exports=function(t,e){var n;return a(t,(function(t,a,r){return!(n=e(t,a,r))})),!!n}},Nia1:function(t,e,n){"use strict";function a(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),a(n("3/HP")),a(n("FLvf")),a(n("2V7f")),a(n("fktO")),a(n("QHrR")),a(n("i3PA"))},Npjl:function(t,e){t.exports=function(t,e){return null==t?void 0:t[e]}},Nv8m:function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var a=n("DH7j"),r=n("yCtX"),o=n("l7GE"),i=n("ZUHj");function s(...t){if(1===t.length){if(!Object(a.a)(t[0]))return t[0];t=t[0]}return Object(r.a)(t,void 0).lift(new c)}class c{call(t,e){return e.subscribe(new l(t))}}class l extends o.a{constructor(t){super(t),this.hasFirst=!1,this.observables=[],this.subscriptions=[]}_next(t){this.observables.push(t)}_complete(){const t=this.observables,e=t.length;if(0===e)this.destination.complete();else{for(let n=0;n<e&&!this.hasFirst;n++){let e=t[n],a=Object(i.a)(this,e,e,n);this.subscriptions&&this.subscriptions.push(a),this.add(a)}this.observables=null}}notifyNext(t,e,n,a,r){if(!this.hasFirst){this.hasFirst=!0;for(let t=0;t<this.subscriptions.length;t++)if(t!==n){let e=this.subscriptions[t];e.unsubscribe(),this.remove(e)}this.subscriptions=null}this.destination.next(e)}}},NykK:function(t,e,n){var a=n("nmnc"),r=n("AP2z"),o=n("KfNM"),i=a?a.toStringTag:void 0;t.exports=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":i&&i in Object(t)?r(t):o(t)}},O0oS:function(t,e,n){var a=n("Cwc5"),r=function(){try{var t=a(Object,"defineProperty");return t({},"",{}),t}catch(e){}}();t.exports=r},O741:function(t,e,n){var a=n("hh1v");t.exports=function(t){if(!a(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype");return t}},O7RO:function(t,e,n){var a=n("CMye"),r=n("7GkX");t.exports=function(t){for(var e=r(t),n=e.length;n--;){var o=e[n],i=t[o];e[n]=[o,i,a(i)]}return e}},O9Tv:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=n("YzqF");e.Mutex=a.default},OBhP:function(t,e,n){var a=n("fmRc"),r=n("gFfm"),o=n("MrPd"),i=n("WwFo"),s=n("Dw+G"),c=n("5Tg0"),l=n("Q1l4"),d=n("VOtZ"),u=n("EEGq"),g=n("qZTm"),f=n("G6z8"),p=n("QqLw"),m=n("yHx3"),h=n("wrZu"),b=n("+iFO"),y=n("Z0cm"),_=n("DSRE"),O=n("zEVN"),v=n("GoyQ"),C=n("1+5i"),P=n("7GkX"),M={};M["[object Arguments]"]=M["[object Array]"]=M["[object ArrayBuffer]"]=M["[object DataView]"]=M["[object Boolean]"]=M["[object Date]"]=M["[object Float32Array]"]=M["[object Float64Array]"]=M["[object Int8Array]"]=M["[object Int16Array]"]=M["[object Int32Array]"]=M["[object Map]"]=M["[object Number]"]=M["[object Object]"]=M["[object RegExp]"]=M["[object Set]"]=M["[object String]"]=M["[object Symbol]"]=M["[object Uint8Array]"]=M["[object Uint8ClampedArray]"]=M["[object Uint16Array]"]=M["[object Uint32Array]"]=!0,M["[object Error]"]=M["[object Function]"]=M["[object WeakMap]"]=!1,t.exports=function t(e,n,x,w,T,S){var k,I=1&n,N=2&n,R=4&n;if(x&&(k=T?x(e,w,T,S):x(e)),void 0!==k)return k;if(!v(e))return e;var A=y(e);if(A){if(k=m(e),!I)return l(e,k)}else{var E=p(e),D="[object Function]"==E||"[object GeneratorFunction]"==E;if(_(e))return c(e,I);if("[object Object]"==E||"[object Arguments]"==E||D&&!T){if(k=N||D?{}:b(e),!I)return N?u(e,s(k,e)):d(e,i(k,e))}else{if(!M[E])return T?e:{};k=h(e,E,I)}}S||(S=new a);var L=S.get(e);if(L)return L;S.set(e,k),C(e)?e.forEach((function(a){k.add(t(a,n,x,a,e,S))})):O(e)&&e.forEach((function(a,r){k.set(r,t(a,n,x,r,e,S))}));var q=R?N?f:g:N?keysIn:P,j=A?void 0:q(e);return r(j||e,(function(a,r){j&&(a=e[r=a]),o(k,r,t(a,n,x,r,e,S))})),k}},OIDT:function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var a=n("8Y7J"),r=n("f95s"),o=function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},i=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},s=function(){function t(){}return o([Object(a.Input)(),i("design:type",r.a)],t.prototype,"node",void 0),o([Object(a.Input)(),i("design:type",Number)],t.prototype,"index",void 0),o([Object(a.Input)(),i("design:type",Object)],t.prototype,"templates",void 0),o([Object(a.Component)({selector:"tree-node-wrapper",encapsulation:a.ViewEncapsulation.None,styles:[],template:'\n      <div *ngIf="!templates.treeNodeWrapperTemplate" class="node-wrapper" [style.padding-left]="node.getNodePadding()">\n          <tree-node-checkbox *ngIf="node.options.useCheckbox" [node]="node"></tree-node-checkbox>\n          <tree-node-expander [node]="node"></tree-node-expander>\n          <div class="node-content-wrapper"\n               [class.node-content-wrapper-active]="node.isActive"\n               [class.node-content-wrapper-focused]="node.isFocused"\n               (click)="node.mouseAction(\'click\', $event)"\n               (dblclick)="node.mouseAction(\'dblClick\', $event)"\n               (mouseover)="node.mouseAction(\'mouseOver\', $event)"\n               (mouseout)="node.mouseAction(\'mouseOut\', $event)"\n               (contextmenu)="node.mouseAction(\'contextMenu\', $event)"\n               (treeDrop)="node.onDrop($event)"\n               (treeDropDragOver)="node.mouseAction(\'dragOver\', $event)"\n               (treeDropDragLeave)="node.mouseAction(\'dragLeave\', $event)"\n               (treeDropDragEnter)="node.mouseAction(\'dragEnter\', $event)"\n               [treeAllowDrop]="node.allowDrop"\n               [allowDragoverStyling]="node.allowDragoverStyling()"\n               [treeDrag]="node"\n               [treeDragEnabled]="node.allowDrag()">\n\n              <tree-node-content [node]="node" [index]="index" [template]="templates.treeNodeTemplate">\n              </tree-node-content>\n          </div>\n      </div>\n      <ng-container\n              [ngTemplateOutlet]="templates.treeNodeWrapperTemplate"\n              [ngTemplateOutletContext]="{ $implicit: node, node: node, index: index, templates: templates }">\n      </ng-container>\n  '}),i("design:paramtypes",[])],t)}()},OIYi:function(t,e,n){!function(t){"use strict";t.defineLocale("en-ca",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"YYYY-MM-DD",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")}})}(n("wd/R"))},OLbh:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("s7LF");class r{constructor(t,e){this.modalRef=t,this.modalService=e,this.boundCancel=this.cancel.bind(this),this.canceled=!1,this.confirmationForm=new a.k({}),this.onHide=this.modalService.onHide.subscribe(t=>{this.onCancel&&(t||this.canceled)&&this.onCancel()})}ngOnInit(){if(this.bodyContext=this.bodyContext||{},this.bodyContext.$implicit=this.bodyData,!this.onSubmit)throw new Error("No submit action defined");if(!this.buttonText)throw new Error("No action name defined");if(!this.titleText)throw new Error("No title defined");if(!this.bodyTpl&&!this.description)throw new Error("No description defined")}ngOnDestroy(){this.onHide.unsubscribe()}cancel(){this.canceled=!0,this.modalRef.hide()}stopLoadingSpinner(){this.confirmationForm.setErrors({cdSubmitButton:!0})}}},OQgR:function(t,e,n){"use strict";n.d(e,"b",(function(){return s})),n.d(e,"a",(function(){return u}));var a=n("7o/Q"),r=n("quSY"),o=n("HDdC"),i=n("XNiG");function s(t,e,n,a){return r=>r.lift(new c(t,e,n,a))}class c{constructor(t,e,n,a){this.keySelector=t,this.elementSelector=e,this.durationSelector=n,this.subjectSelector=a}call(t,e){return e.subscribe(new l(t,this.keySelector,this.elementSelector,this.durationSelector,this.subjectSelector))}}class l extends a.a{constructor(t,e,n,a,r){super(t),this.keySelector=e,this.elementSelector=n,this.durationSelector=a,this.subjectSelector=r,this.groups=null,this.attemptedToUnsubscribe=!1,this.count=0}_next(t){let e;try{e=this.keySelector(t)}catch(n){return void this.error(n)}this._group(t,e)}_group(t,e){let n=this.groups;n||(n=this.groups=new Map);let a,r=n.get(e);if(this.elementSelector)try{a=this.elementSelector(t)}catch(o){this.error(o)}else a=t;if(!r){r=this.subjectSelector?this.subjectSelector():new i.a,n.set(e,r);const t=new u(e,r,this);if(this.destination.next(t),this.durationSelector){let t;try{t=this.durationSelector(new u(e,r))}catch(o){return void this.error(o)}this.add(t.subscribe(new d(e,r,this)))}}r.closed||r.next(a)}_error(t){const e=this.groups;e&&(e.forEach((e,n)=>{e.error(t)}),e.clear()),this.destination.error(t)}_complete(){const t=this.groups;t&&(t.forEach((t,e)=>{t.complete()}),t.clear()),this.destination.complete()}removeGroup(t){this.groups.delete(t)}unsubscribe(){this.closed||(this.attemptedToUnsubscribe=!0,0===this.count&&super.unsubscribe())}}class d extends a.a{constructor(t,e,n){super(e),this.key=t,this.group=e,this.parent=n}_next(t){this.complete()}_unsubscribe(){const{parent:t,key:e}=this;this.key=this.parent=null,t&&t.removeGroup(e)}}class u extends o.a{constructor(t,e,n){super(),this.key=t,this.groupSubject=e,this.refCountSubscription=n}_subscribe(t){const e=new r.a,{refCountSubscription:n,groupSubject:a}=this;return n&&!n.closed&&e.add(new g(n)),e.add(a.subscribe(t)),e}}class g extends r.a{constructor(t){super(),this.parent=t,t.count++}unsubscribe(){const t=this.parent;t.closed||this.closed||(super.unsubscribe(),t.count-=1,0===t.count&&t.attemptedToUnsubscribe&&t.unsubscribe())}}},Oaa7:function(t,e,n){!function(t){"use strict";t.defineLocale("en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})}(n("wd/R"))},Ob0Z:function(t,e,n){!function(t){"use strict";var e={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},n={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};function a(t,e,n,a){var r="";if(e)switch(n){case"s":r="काही सेकंद";break;case"ss":r="%d सेकंद";break;case"m":r="एक मिनिट";break;case"mm":r="%d मिनिटे";break;case"h":r="एक तास";break;case"hh":r="%d तास";break;case"d":r="एक दिवस";break;case"dd":r="%d दिवस";break;case"M":r="एक महिना";break;case"MM":r="%d महिने";break;case"y":r="एक वर्ष";break;case"yy":r="%d वर्षे"}else switch(n){case"s":r="काही सेकंदां";break;case"ss":r="%d सेकंदां";break;case"m":r="एका मिनिटा";break;case"mm":r="%d मिनिटां";break;case"h":r="एका तासा";break;case"hh":r="%d तासां";break;case"d":r="एका दिवसा";break;case"dd":r="%d दिवसां";break;case"M":r="एका महिन्या";break;case"MM":r="%d महिन्यां";break;case"y":r="एका वर्षा";break;case"yy":r="%d वर्षां"}return r.replace(/%d/i,t)}t.defineLocale("mr",{months:"जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर".split("_"),monthsShort:"जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.".split("_"),monthsParseExact:!0,weekdays:"रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm वाजता",LTS:"A h:mm:ss वाजता",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm वाजता",LLLL:"dddd, D MMMM YYYY, A h:mm वाजता"},calendar:{sameDay:"[आज] LT",nextDay:"[उद्या] LT",nextWeek:"dddd, LT",lastDay:"[काल] LT",lastWeek:"[मागील] dddd, LT",sameElse:"L"},relativeTime:{future:"%sमध्ये",past:"%sपूर्वी",s:a,ss:a,m:a,mm:a,h:a,hh:a,d:a,dd:a,M:a,MM:a,y:a,yy:a},preparse:function(t){return t.replace(/[१२३४५६७८९०]/g,(function(t){return n[t]}))},postformat:function(t){return t.replace(/\d/g,(function(t){return e[t]}))},meridiemParse:/रात्री|सकाळी|दुपारी|सायंकाळी/,meridiemHour:function(t,e){return 12===t&&(t=0),"रात्री"===e?t<4?t:t+12:"सकाळी"===e?t:"दुपारी"===e?t>=10?t:t+12:"सायंकाळी"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"रात्री":t<10?"सकाळी":t<17?"दुपारी":t<20?"सायंकाळी":"रात्री"},week:{dow:0,doy:6}})}(n("wd/R"))},"Of+w":function(t,e,n){var a=n("Cwc5")(n("Kz5y"),"WeakMap");t.exports=a},OjkT:function(t,e,n){!function(t){"use strict";var e={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},n={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};t.defineLocale("ne",{months:"जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर".split("_"),monthsShort:"जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.".split("_"),monthsParseExact:!0,weekdays:"आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार".split("_"),weekdaysShort:"आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.".split("_"),weekdaysMin:"आ._सो._मं._बु._बि._शु._श.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"Aको h:mm बजे",LTS:"Aको h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, Aको h:mm बजे",LLLL:"dddd, D MMMM YYYY, Aको h:mm बजे"},preparse:function(t){return t.replace(/[१२३४५६७८९०]/g,(function(t){return n[t]}))},postformat:function(t){return t.replace(/\d/g,(function(t){return e[t]}))},meridiemParse:/राति|बिहान|दिउँसो|साँझ/,meridiemHour:function(t,e){return 12===t&&(t=0),"राति"===e?t<4?t:t+12:"बिहान"===e?t:"दिउँसो"===e?t>=10?t:t+12:"साँझ"===e?t+12:void 0},meridiem:function(t,e,n){return t<3?"राति":t<12?"बिहान":t<16?"दिउँसो":t<20?"साँझ":"राति"},calendar:{sameDay:"[आज] LT",nextDay:"[भोलि] LT",nextWeek:"[आउँदो] dddd[,] LT",lastDay:"[हिजो] LT",lastWeek:"[गएको] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%sमा",past:"%s अगाडि",s:"केही क्षण",ss:"%d सेकेण्ड",m:"एक मिनेट",mm:"%d मिनेट",h:"एक घण्टा",hh:"%d घण्टा",d:"एक दिन",dd:"%d दिन",M:"एक महिना",MM:"%d महिना",y:"एक बर्ष",yy:"%d बर्ष"},week:{dow:0,doy:6}})}(n("wd/R"))},Oxv6:function(t,e,n){!function(t){"use strict";var e={0:"-ум",1:"-ум",2:"-юм",3:"-юм",4:"-ум",5:"-ум",6:"-ум",7:"-ум",8:"-ум",9:"-ум",10:"-ум",12:"-ум",13:"-ум",20:"-ум",30:"-юм",40:"-ум",50:"-ум",60:"-ум",70:"-ум",80:"-ум",90:"-ум",100:"-ум"};t.defineLocale("tg",{months:"январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр".split("_"),monthsShort:"янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек".split("_"),weekdays:"якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе".split("_"),weekdaysShort:"яшб_дшб_сшб_чшб_пшб_ҷум_шнб".split("_"),weekdaysMin:"яш_дш_сш_чш_пш_ҷм_шб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Имрӯз соати] LT",nextDay:"[Пагоҳ соати] LT",lastDay:"[Дирӯз соати] LT",nextWeek:"dddd[и] [ҳафтаи оянда соати] LT",lastWeek:"dddd[и] [ҳафтаи гузашта соати] LT",sameElse:"L"},relativeTime:{future:"баъди %s",past:"%s пеш",s:"якчанд сония",m:"як дақиқа",mm:"%d дақиқа",h:"як соат",hh:"%d соат",d:"як рӯз",dd:"%d рӯз",M:"як моҳ",MM:"%d моҳ",y:"як сол",yy:"%d сол"},meridiemParse:/шаб|субҳ|рӯз|бегоҳ/,meridiemHour:function(t,e){return 12===t&&(t=0),"шаб"===e?t<4?t:t+12:"субҳ"===e?t:"рӯз"===e?t>=11?t:t+12:"бегоҳ"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"шаб":t<11?"субҳ":t<16?"рӯз":t<19?"бегоҳ":"шаб"},dayOfMonthOrdinalParse:/\d{1,2}-(ум|юм)/,ordinal:function(t){return t+(e[t]||e[t%10]||e[t>=100?100:null])},week:{dow:1,doy:7}})}(n("wd/R"))},"P/G1":function(t,e,n){var a=n("JmpY"),r=n("7GkX");t.exports=function(t){return null==t?[]:a(t,r(t))}},P4Tr:function(t,e,n){var a=n("heNW"),r=n("EA7m"),o=n("4DFU"),i=n("JBE3"),s=r((function(t){return t.push(void 0,o),a(i,void 0,t)}));t.exports=s},P4y1:function(t,e){t.exports={}},P8lu:function(t,e,n){"use strict";n.d(e,"a",(function(){return g}));var a=n("mrSG"),r=n("IheW"),o=n("LvDl"),i=n("cp0P"),s=n("LRne"),c=n("5+tZ"),l=n("xTzq"),d=n("8Y7J"),u=n("pL04");let g=(()=>{let t=class{constructor(t){this.http=t,this.url="api/rgw/user"}list(){return this.enumerate().pipe(Object(c.a)(t=>t.length>0?Object(i.a)(t.map(t=>this.get(t))):Object(s.a)([])))}enumerate(){return this.http.get(this.url)}enumerateEmail(){return this.http.get(`${this.url}/get_emails`)}get(t){return this.http.get(`${this.url}/${t}`)}getQuota(t){return this.http.get(`${this.url}/${t}/quota`)}create(t){let e=new r.h;return o.keys(t).forEach(n=>{e=e.append(n,t[n])}),this.http.post(this.url,null,{params:e})}update(t,e){let n=new r.h;return o.keys(e).forEach(t=>{n=n.append(t,e[t])}),this.http.put(`${this.url}/${t}`,null,{params:n})}updateQuota(t,e){let n=new r.h;return o.keys(e).forEach(t=>{n=n.append(t,e[t])}),this.http.put(`${this.url}/${t}/quota`,null,{params:n})}delete(t){return this.http.delete(`${this.url}/${t}`)}createSubuser(t,e){let n=new r.h;return o.keys(e).forEach(t=>{n=n.append(t,e[t])}),this.http.post(`${this.url}/${t}/subuser`,null,{params:n})}deleteSubuser(t,e){return this.http.delete(`${this.url}/${t}/subuser/${e}`)}addCapability(t,e,n){let a=new r.h;return a=a.append("type",e),a=a.append("perm",n),this.http.post(`${this.url}/${t}/capability`,null,{params:a})}deleteCapability(t,e,n){let a=new r.h;return a=a.append("type",e),a=a.append("perm",n),this.http.delete(`${this.url}/${t}/capability`,{params:a})}addS3Key(t,e){let n=new r.h;return n=n.append("key_type","s3"),o.keys(e).forEach(t=>{n=n.append(t,e[t])}),this.http.post(`${this.url}/${t}/key`,null,{params:n})}deleteS3Key(t,e){let n=new r.h;return n=n.append("key_type","s3"),n=n.append("access_key",e),this.http.delete(`${this.url}/${t}/key`,{params:n})}exists(t){return this.enumerate().pipe(Object(c.a)(e=>{const n=o.indexOf(e,t);return Object(s.a)(-1!==n)}))}emailExists(t){return t=decodeURIComponent(t),this.enumerateEmail().pipe(Object(c.a)(e=>{const n=o.indexOf(e,t);return Object(s.a)(-1!==n)}))}};return t.ngInjectableDef=d["ɵɵdefineInjectable"]({factory:function(){return new t(d["ɵɵinject"](r.c))},token:t,providedIn:u.a}),t=a.__decorate([l.a,a.__metadata("design:paramtypes",[r.c])],t),t})()},PA2r:function(t,e,n){!function(t){"use strict";var e="leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec".split("_"),n="led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro".split("_"),a=[/^led/i,/^úno/i,/^bře/i,/^dub/i,/^kvě/i,/^(čvn|červen$|června)/i,/^(čvc|červenec|července)/i,/^srp/i,/^zář/i,/^říj/i,/^lis/i,/^pro/i],r=/^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i;function o(t){return t>1&&t<5&&1!=~~(t/10)}function i(t,e,n,a){var r=t+" ";switch(n){case"s":return e||a?"pár sekund":"pár sekundami";case"ss":return e||a?r+(o(t)?"sekundy":"sekund"):r+"sekundami";case"m":return e?"minuta":a?"minutu":"minutou";case"mm":return e||a?r+(o(t)?"minuty":"minut"):r+"minutami";case"h":return e?"hodina":a?"hodinu":"hodinou";case"hh":return e||a?r+(o(t)?"hodiny":"hodin"):r+"hodinami";case"d":return e||a?"den":"dnem";case"dd":return e||a?r+(o(t)?"dny":"dní"):r+"dny";case"M":return e||a?"měsíc":"měsícem";case"MM":return e||a?r+(o(t)?"měsíce":"měsíců"):r+"měsíci";case"y":return e||a?"rok":"rokem";case"yy":return e||a?r+(o(t)?"roky":"let"):r+"lety"}}t.defineLocale("cs",{months:e,monthsShort:n,monthsRegex:r,monthsShortRegex:r,monthsStrictRegex:/^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i,monthsShortStrictRegex:/^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota".split("_"),weekdaysShort:"ne_po_út_st_čt_pá_so".split("_"),weekdaysMin:"ne_po_út_st_čt_pá_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm",l:"D. M. YYYY"},calendar:{sameDay:"[dnes v] LT",nextDay:"[zítra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v neděli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve středu v] LT";case 4:return"[ve čtvrtek v] LT";case 5:return"[v pátek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[včera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou neděli v] LT";case 1:case 2:return"[minulé] dddd [v] LT";case 3:return"[minulou středu v] LT";case 4:case 5:return"[minulý] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"před %s",s:i,ss:i,m:i,mm:i,h:i,hh:i,d:i,dd:i,M:i,MM:i,y:i,yy:i},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("wd/R"))},PCNd:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{}},"PEr+":function(t,e,n){"use strict";var a=n("8Y7J"),r=n("SVse"),o=n("EEJc"),i=n("ajRT"),s=n("s7LF"),c=n("+gVj"),l=n("mXUL"),d=n("IZUe"),u=n("gp3X"),g=n("sb0X"),f=n("KVJa"),p=n("Z21x"),m=n("sne2"),h=n("0+/T"),b=n("LqlI");n.d(e,"a",(function(){return I}));var y=a["ɵcrt"]({encapsulation:0,styles:[[".modal-body[_ngcontent-%COMP%]   .question[_ngcontent-%COMP%]{margin-top:1em}.modal-body[_ngcontent-%COMP%]   label[_ngcontent-%COMP%]{font-weight:700}.modal-body[_ngcontent-%COMP%]   .question[_ngcontent-%COMP%]   .form-check[_ngcontent-%COMP%]{padding-top:7px}"]],data:{}});function _(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,0,null,null,null,null,null,null,null))],null,null)}function O(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,0,null,null,null,null,null,null,null))],null,null)}function v(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,5,"p",[],null,null,null,null,null)),(t()(),a["ɵted"](1,null,["Are you sure that you want to "," "])),a["ɵppd"](2,1),(t()(),a["ɵeld"](3,0,null,null,1,"strong",[],null,null,null,null,null)),(t()(),a["ɵted"](4,null,["",""])),(t()(),a["ɵted"](-1,null,["?"]))],null,(function(t,e){var n=e.component,r=a["ɵunv"](e,1,0,t(e,2,0,a["ɵnov"](e.parent.parent,0),n.actionDescription));t(e,1,0,r),t(e,4,0,n.itemNames[0])}))}function C(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"li",[],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,1,"strong",[],null,null,null,null,null)),(t()(),a["ɵted"](2,null,["",""]))],null,(function(t,e){t(e,2,0,e.context.$implicit)}))}function P(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"p",[],null,null,null,null,null)),(t()(),a["ɵted"](1,null,["Are you sure that you want to "," the selected items?"])),a["ɵppd"](2,1),(t()(),a["ɵeld"](3,0,null,null,2,"ul",[],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,C)),a["ɵdid"](5,278528,null,0,r.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){t(e,5,0,e.component.itemNames)}),(function(t,e){var n=e.component,r=a["ɵunv"](e,1,0,t(e,2,0,a["ɵnov"](e.parent.parent,0),n.actionDescription));t(e,1,0,r)}))}function M(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"span",[],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,v)),a["ɵdid"](2,16384,null,0,r.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"],ngIfElse:[1,"ngIfElse"]},null),(t()(),a["ɵand"](0,[["manyNames",2]],null,0,null,P))],(function(t,e){t(e,2,0,1===e.component.itemNames.length,a["ɵnov"](e,3))}),null)}function x(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"p",[],null,null,null,null,null)),(t()(),a["ɵted"](1,null,["Are you sure that you want to "," the selected ","?"])),a["ɵppd"](2,1)],null,(function(t,e){var n=e.component,r=a["ɵunv"](e,1,0,t(e,2,0,a["ɵnov"](e.parent,0),n.actionDescription));t(e,1,0,r,n.itemDescription)}))}function w(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,0,null,null,null,null,null,null,null))],null,null)}function T(t){return a["ɵvid"](0,[(t()(),a["ɵted"](0,null,[" "," ","\n"])),a["ɵppd"](1,1)],null,(function(t,e){var n=e.component,r=a["ɵunv"](e,0,0,t(e,1,0,a["ɵnov"](e.parent,1),n.actionDescription));t(e,0,0,r,n.itemDescription)}))}function S(t){return a["ɵvid"](0,[a["ɵpid"](0,r.LowerCasePipe,[]),a["ɵpid"](0,r.TitleCasePipe,[]),a["ɵqud"](402653184,1,{submitButton:0}),(t()(),a["ɵeld"](3,0,null,null,40,"cd-modal",[],null,null,null,o.c,o.b)),a["ɵdid"](4,49152,[["modal",4]],0,i.a,[],{modalRef:[0,"modalRef"]},null),(t()(),a["ɵeld"](5,0,null,0,2,null,null,null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,_)),a["ɵdid"](7,540672,null,0,r.NgTemplateOutlet,[a.ViewContainerRef],{ngTemplateOutlet:[0,"ngTemplateOutlet"]},null),(t()(),a["ɵeld"](8,0,null,1,35,null,null,null,null,null,null,null)),(t()(),a["ɵeld"](9,0,null,null,34,"form",[["name","deletionForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(t,e,n){var r=!0;return"submit"===e&&(r=!1!==a["ɵnov"](t,11).onSubmit(n)&&r),"reset"===e&&(r=!1!==a["ɵnov"](t,11).onReset()&&r),"submit"===e&&(r=!1!==a["ɵnov"](t,14).onSubmit()&&r),r}),null,null)),a["ɵdid"](10,16384,null,0,s.G,[],null,null),a["ɵdid"](11,540672,[["formDir",4]],0,s.l,[[8,null],[8,null]],{form:[0,"form"]},null),a["ɵprd"](2048,null,s.d,null,[s.l]),a["ɵdid"](13,16384,null,0,s.s,[[4,s.d]],null,null),a["ɵdid"](14,16384,null,0,c.d,[],{formGroup:[0,"formGroup"]},null),(t()(),a["ɵeld"](15,0,null,null,21,"div",[["class","modal-body"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,O)),a["ɵdid"](17,540672,null,0,r.NgTemplateOutlet,[a.ViewContainerRef],{ngTemplateOutletContext:[0,"ngTemplateOutletContext"],ngTemplateOutlet:[1,"ngTemplateOutlet"]},null),(t()(),a["ɵeld"](18,0,null,null,18,"div",[["class","question"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,M)),a["ɵdid"](20,16384,null,0,r.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"],ngIfElse:[1,"ngIfElse"]},null),(t()(),a["ɵand"](0,[["noNames",2]],null,0,null,x)),(t()(),a["ɵeld"](22,0,null,null,14,"div",[["class","form-group"]],[[2,"has-error",null],[2,"has-success",null]],null,null,l.b,l.a)),a["ɵdid"](23,1163264,null,2,c.c,[a.ElementRef,c.g],null,null),a["ɵqud"](603979776,2,{FormControlNames:1}),a["ɵqud"](603979776,3,{messagesBlock:0}),(t()(),a["ɵeld"](26,0,null,0,10,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(t()(),a["ɵeld"](27,0,null,null,7,"input",[["autofocus",""],["class","custom-control-input"],["formControlName","confirmation"],["id","confirmation"],["name","confirmation"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(t,e,n){var r=!0;return"change"===e&&(r=!1!==a["ɵnov"](t,28).onChange(n.target.checked)&&r),"blur"===e&&(r=!1!==a["ɵnov"](t,28).onTouched()&&r),r}),null,null)),a["ɵdid"](28,16384,null,0,s.c,[a.Renderer2,a.ElementRef],null,null),a["ɵprd"](1024,null,s.p,(function(t){return[t]}),[s.c]),a["ɵdid"](30,671744,[[2,4]],0,s.j,[[3,s.d],[8,null],[8,null],[6,s.p],[2,s.E]],{name:[0,"name"]},null),a["ɵprd"](2048,null,s.q,null,[s.j]),a["ɵdid"](32,16384,null,0,s.r,[[4,s.q]],null,null),a["ɵdid"](33,4210688,null,0,d.a,[a.ElementRef],{autofocus:[0,"autofocus"]},null),a["ɵdid"](34,16384,null,0,c.h,[[3,s.d],c.a],{formControlName:[0,"formControlName"]},null),(t()(),a["ɵeld"](35,0,null,null,1,"label",[["class","custom-control-label"],["for","confirmation"]],null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["Yes, I am sure."])),(t()(),a["ɵeld"](37,0,null,null,6,"div",[["class","modal-footer"]],null,null,null,null,null)),(t()(),a["ɵeld"](38,0,null,null,3,"cd-submit-button",[],null,[[null,"submitAction"]],(function(t,e,n){var a=!0;return"submitAction"===e&&(a=!1!==t.component.callSubmitAction()&&a),a}),u.b,u.a)),a["ɵdid"](39,114688,[[1,4],["submitButton",4]],0,g.a,[a.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(t()(),a["ɵand"](16777216,null,0,1,null,w)),a["ɵdid"](41,540672,null,0,r.NgTemplateOutlet,[a.ViewContainerRef],{ngTemplateOutlet:[0,"ngTemplateOutlet"]},null),(t()(),a["ɵeld"](42,0,null,null,1,"cd-back-button",[["name","Cancel"]],null,null,null,f.b,f.a)),a["ɵdid"](43,49152,null,0,p.a,[r.Location,m.b],{name:[0,"name"],back:[1,"back"]},null),(t()(),a["ɵand"](0,[["deletionHeading",2]],null,0,null,T))],(function(t,e){var n=e.component;t(e,4,0,n.modalRef),t(e,7,0,a["ɵnov"](e,44)),t(e,11,0,n.deletionForm),t(e,14,0,n.deletionForm),t(e,17,0,n.bodyContext,n.bodyTemplate),t(e,20,0,n.itemNames,a["ɵnov"](e,21)),t(e,23,0),t(e,30,0,"confirmation"),t(e,33,0,""),t(e,34,0,"confirmation"),t(e,39,0,n.deletionForm),t(e,41,0,a["ɵnov"](e,44)),t(e,43,0,"Cancel",n.modalRef.hide)}),(function(t,e){t(e,9,0,a["ɵnov"](e,13).ngClassUntouched,a["ɵnov"](e,13).ngClassTouched,a["ɵnov"](e,13).ngClassPristine,a["ɵnov"](e,13).ngClassDirty,a["ɵnov"](e,13).ngClassValid,a["ɵnov"](e,13).ngClassInvalid,a["ɵnov"](e,13).ngClassPending),t(e,22,0,a["ɵnov"](e,23).hasErrors,a["ɵnov"](e,23).hasSuccess),t(e,27,0,a["ɵnov"](e,32).ngClassUntouched,a["ɵnov"](e,32).ngClassTouched,a["ɵnov"](e,32).ngClassPristine,a["ɵnov"](e,32).ngClassDirty,a["ɵnov"](e,32).ngClassValid,a["ɵnov"](e,32).ngClassInvalid,a["ɵnov"](e,32).ngClassPending,a["ɵnov"](e,34).validClass,a["ɵnov"](e,34).invalidClass)}))}function k(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"cd-deletion-modal",[],null,null,null,S,y)),a["ɵdid"](1,114688,null,0,h.a,[b.a],null,null)],(function(t,e){t(e,1,0)}),null)}var I=a["ɵccf"]("cd-deletion-modal",h.a,k,{},{},[])},PKPk:function(t,e,n){"use strict";var a=n("ZUd8").charAt,r=n("afO8"),o=n("fdAy"),i=r.set,s=r.getterFor("String Iterator");o(String,"String",(function(t){i(this,{type:"String Iterator",string:String(t),index:0})}),(function(){var t,e=s(this),n=e.string,r=e.index;return r>=n.length?{value:void 0,done:!0}:(t=a(n,r),e.index+=t.length,{value:t,done:!1})}))},PNOi:function(t,e,n){var a=n("mrSG").__decorate;Object.defineProperty(e,"__esModule",{value:!0});var r=n("8Y7J");e.ProgressBarComponent=function(){return a([r.Component({selector:"datatable-progress",template:'\n    <div class="progress-linear" role="progressbar">\n      <div class="container">\n        <div class="bar"></div>\n      </div>\n    </div>\n  ',changeDetection:r.ChangeDetectionStrategy.OnPush})],(function(){}))}()},PeUW:function(t,e,n){!function(t){"use strict";var e={1:"௧",2:"௨",3:"௩",4:"௪",5:"௫",6:"௬",7:"௭",8:"௮",9:"௯",0:"௦"},n={"௧":"1","௨":"2","௩":"3","௪":"4","௫":"5","௬":"6","௭":"7","௮":"8","௯":"9","௦":"0"};t.defineLocale("ta",{months:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),monthsShort:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),weekdays:"ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை".split("_"),weekdaysShort:"ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி".split("_"),weekdaysMin:"ஞா_தி_செ_பு_வி_வெ_ச".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, HH:mm",LLLL:"dddd, D MMMM YYYY, HH:mm"},calendar:{sameDay:"[இன்று] LT",nextDay:"[நாளை] LT",nextWeek:"dddd, LT",lastDay:"[நேற்று] LT",lastWeek:"[கடந்த வாரம்] dddd, LT",sameElse:"L"},relativeTime:{future:"%s இல்",past:"%s முன்",s:"ஒரு சில விநாடிகள்",ss:"%d விநாடிகள்",m:"ஒரு நிமிடம்",mm:"%d நிமிடங்கள்",h:"ஒரு மணி நேரம்",hh:"%d மணி நேரம்",d:"ஒரு நாள்",dd:"%d நாட்கள்",M:"ஒரு மாதம்",MM:"%d மாதங்கள்",y:"ஒரு வருடம்",yy:"%d ஆண்டுகள்"},dayOfMonthOrdinalParse:/\d{1,2}வது/,ordinal:function(t){return t+"வது"},preparse:function(t){return t.replace(/[௧௨௩௪௫௬௭௮௯௦]/g,(function(t){return n[t]}))},postformat:function(t){return t.replace(/\d/g,(function(t){return e[t]}))},meridiemParse:/யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,meridiem:function(t,e,n){return t<2?" யாமம்":t<6?" வைகறை":t<10?" காலை":t<14?" நண்பகல்":t<18?" எற்பாடு":t<22?" மாலை":" யாமம்"},meridiemHour:function(t,e){return 12===t&&(t=0),"யாமம்"===e?t<2?t:t+12:"வைகறை"===e||"காலை"===e?t:"நண்பகல்"===e&&t>=10?t:t+12},week:{dow:0,doy:6}})}(n("wd/R"))},PpIw:function(t,e,n){!function(t){"use strict";var e={1:"೧",2:"೨",3:"೩",4:"೪",5:"೫",6:"೬",7:"೭",8:"೮",9:"೯",0:"೦"},n={"೧":"1","೨":"2","೩":"3","೪":"4","೫":"5","೬":"6","೭":"7","೮":"8","೯":"9","೦":"0"};t.defineLocale("kn",{months:"ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್".split("_"),monthsShort:"ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ".split("_"),monthsParseExact:!0,weekdays:"ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ".split("_"),weekdaysShort:"ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ".split("_"),weekdaysMin:"ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[ಇಂದು] LT",nextDay:"[ನಾಳೆ] LT",nextWeek:"dddd, LT",lastDay:"[ನಿನ್ನೆ] LT",lastWeek:"[ಕೊನೆಯ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ನಂತರ",past:"%s ಹಿಂದೆ",s:"ಕೆಲವು ಕ್ಷಣಗಳು",ss:"%d ಸೆಕೆಂಡುಗಳು",m:"ಒಂದು ನಿಮಿಷ",mm:"%d ನಿಮಿಷ",h:"ಒಂದು ಗಂಟೆ",hh:"%d ಗಂಟೆ",d:"ಒಂದು ದಿನ",dd:"%d ದಿನ",M:"ಒಂದು ತಿಂಗಳು",MM:"%d ತಿಂಗಳು",y:"ಒಂದು ವರ್ಷ",yy:"%d ವರ್ಷ"},preparse:function(t){return t.replace(/[೧೨೩೪೫೬೭೮೯೦]/g,(function(t){return n[t]}))},postformat:function(t){return t.replace(/\d/g,(function(t){return e[t]}))},meridiemParse:/ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,meridiemHour:function(t,e){return 12===t&&(t=0),"ರಾತ್ರಿ"===e?t<4?t:t+12:"ಬೆಳಿಗ್ಗೆ"===e?t:"ಮಧ್ಯಾಹ್ನ"===e?t>=10?t:t+12:"ಸಂಜೆ"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"ರಾತ್ರಿ":t<10?"ಬೆಳಿಗ್ಗೆ":t<17?"ಮಧ್ಯಾಹ್ನ":t<20?"ಸಂಜೆ":"ರಾತ್ರಿ"},dayOfMonthOrdinalParse:/\d{1,2}(ನೇ)/,ordinal:function(t){return t+"ನೇ"},week:{dow:0,doy:6}})}(n("wd/R"))},PqYM:function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var a=n("HDdC"),r=n("D0XW"),o=n("Y7HM"),i=n("z+Ro");function s(t=0,e,n){let s=-1;return Object(o.a)(e)?s=Number(e)<1?1:Number(e):Object(i.a)(e)&&(n=e),Object(i.a)(n)||(n=r.a),new a.a(e=>{const a=Object(o.a)(t)?t:+t-n.now();return n.schedule(c,a,{index:0,period:s,subscriber:e})})}function c(t){const{index:e,period:n,subscriber:a}=t;if(a.next(e),!a.closed){if(-1===n)return a.complete();t.index=e+1,this.schedule(t,n)}}},Puqe:function(t,e,n){var a=n("eUgh"),r=n("OBhP"),o=n("S7Xf"),i=n("4uTw"),s=n("juv8"),c=n("4Oe1"),l=n("xs/l"),d=n("G6z8"),u=l((function(t,e){var n={};if(null==t)return n;var l=!1;e=a(e,(function(e){return e=i(e,t),l||(l=e.length>1),e})),s(t,d(t),n),l&&(n=r(n,7,c));for(var u=e.length;u--;)o(n,e[u]);return n}));t.exports=u},Q1l4:function(t,e){t.exports=function(t,e){var n=-1,a=t.length;for(e||(e=Array(a));++n<a;)e[n]=t[n];return e}},QC43:function(t,e,n){"use strict";var a=n("8Y7J"),r=n("MdoF"),o=n("CNMR"),i=n("SVse");n("XFyV"),n.d(e,"a",(function(){return s})),n.d(e,"b",(function(){return c}));var s=a["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function c(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,7,"alert",[["type","info"]],null,null,null,r.c,r.b)),a["ɵdid"](1,114688,null,0,o.a,[o.b,a.ChangeDetectorRef],{type:[0,"type"]},null),(t()(),a["ɵeld"](2,0,null,0,4,"strong",[],null,null,null,null,null)),(t()(),a["ɵeld"](3,0,null,null,3,"i",[["aria-hidden","true"]],null,null,null,null,null)),a["ɵprd"](512,null,i["ɵNgClassImpl"],i["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](5,278528,null,0,i.NgClass,[i["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),a["ɵpad"](6,2),a["ɵncd"](0,0)],(function(t,e){var n=e.component;t(e,1,0,"info");var a=t(e,6,0,n.icons.spinner,n.icons.spin);t(e,5,0,a)}),null)}},QFaf:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("s7LF");class r extends a.k{constructor(t,e,n){super(t,e,n),this.controls=t}get(t){const e=this._get(t);if(!e)throw new Error(`Control '${t}' could not be found!`);return e}_get(t){return super.get(t)||Object.values(this.controls).filter(t=>t.get).map(e=>e instanceof r?e._get(t):e.get(t)).find(t=>Boolean(t))}getValue(t){return this.get(t).value}silentSet(t,e){this.get(t).setValue(e,{emitEvent:!1})}showError(t,e,n){const a=this.get(t);return(e.submitted||a.dirty)&&(n?a.hasError(n):a.invalid)}}},QHrR:function(t,e,n){"use strict";function a(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),a(n("Y0Co")),a(n("Lwhh")),a(n("8iEZ")),a(n("L5sC"))},QIyF:function(t,e,n){var a=n("Kz5y");t.exports=function(){return a.Date.now()}},QTAa:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("t/zF");class r extends a.a{}},QWBl:function(t,e,n){"use strict";var a=n("I+eb"),r=n("F8JR");a({target:"Array",proto:!0,forced:[].forEach!=r},{forEach:r})},QcOe:function(t,e,n){var a=n("GoyQ"),r=n("6sVZ"),o=n("7Ix3"),i=Object.prototype.hasOwnProperty;t.exports=function(t){if(!a(t))return o(t);var e=r(t),n=[];for(var s in t)("constructor"!=s||!e&&i.call(t,s))&&n.push(s);return n}},Qj4J:function(t,e,n){!function(t){"use strict";t.defineLocale("ar-kw",{months:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdays:"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:0,doy:12}})}(n("wd/R"))},QkVE:function(t,e,n){var a=n("EpBk");t.exports=function(t,e){var n=t.__data__;return a(e)?n["string"==typeof e?"string":"hash"]:n.map}},Qo9l:function(t,e,n){var a=n("2oRo");t.exports=a},QoRX:function(t,e){t.exports=function(t,e){for(var n=-1,a=null==t?0:t.length;++n<a;)if(e(t[n],n,t))return!0;return!1}},QqLw:function(t,e,n){var a=n("tadb"),r=n("ebwN"),o=n("HOxn"),i=n("yGk4"),s=n("Of+w"),c=n("NykK"),l=n("3Fdi"),d=l(a),u=l(r),g=l(o),f=l(i),p=l(s),m=c;(a&&"[object DataView]"!=m(new a(new ArrayBuffer(1)))||r&&"[object Map]"!=m(new r)||o&&"[object Promise]"!=m(o.resolve())||i&&"[object Set]"!=m(new i)||s&&"[object WeakMap]"!=m(new s))&&(m=function(t){var e=c(t),n="[object Object]"==e?t.constructor:void 0,a=n?l(n):"";if(a)switch(a){case d:return"[object DataView]";case u:return"[object Map]";case g:return"[object Promise]";case f:return"[object Set]";case p:return"[object WeakMap]"}return e}),t.exports=m},"R/W3":function(t,e,n){var a=n("KwMD"),r=n("2ajD"),o=n("CZoQ");t.exports=function(t,e,n){return e==e?o(t,e,n):a(t,r,n)}},RAwQ:function(t,e,n){!function(t){"use strict";function e(t,e,n,a){var r={m:["eng Minutt","enger Minutt"],h:["eng Stonn","enger Stonn"],d:["een Dag","engem Dag"],M:["ee Mount","engem Mount"],y:["ee Joer","engem Joer"]};return e?r[n][0]:r[n][1]}function n(t){if(t=parseInt(t,10),isNaN(t))return!1;if(t<0)return!0;if(t<10)return 4<=t&&t<=7;if(t<100){var e=t%10;return n(0===e?t/10:e)}if(t<1e4){for(;t>=10;)t/=10;return n(t)}return n(t/=1e3)}t.defineLocale("lb",{months:"Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg".split("_"),weekdaysShort:"So._Mé._Dë._Më._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mé_Dë_Më_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm [Auer]",LTS:"H:mm:ss [Auer]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm [Auer]",LLLL:"dddd, D. MMMM YYYY H:mm [Auer]"},calendar:{sameDay:"[Haut um] LT",sameElse:"L",nextDay:"[Muer um] LT",nextWeek:"dddd [um] LT",lastDay:"[Gëschter um] LT",lastWeek:function(){switch(this.day()){case 2:case 4:return"[Leschten] dddd [um] LT";default:return"[Leschte] dddd [um] LT"}}},relativeTime:{future:function(t){return n(t.substr(0,t.indexOf(" ")))?"a "+t:"an "+t},past:function(t){return n(t.substr(0,t.indexOf(" ")))?"viru "+t:"virun "+t},s:"e puer Sekonnen",ss:"%d Sekonnen",m:e,mm:"%d Minutten",h:e,hh:"%d Stonnen",d:e,dd:"%d Deeg",M:e,MM:"%d Méint",y:e,yy:"%d Joer"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("wd/R"))},RBan:function(t,e){t.exports=function(t){var e=null==t?0:t.length;return e?t[e-1]:void 0}},RK3t:function(t,e,n){var a=n("0Dky"),r=n("xrYK"),o="".split;t.exports=a((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==r(t)?o.call(t,""):Object(t)}:Object},RNIs:function(t,e,n){var a=n("tiKp"),r=n("fHMY"),o=n("m/L8"),i=a("unscopables"),s=Array.prototype;null==s[i]&&o.f(s,i,{configurable:!0,value:r(null)}),t.exports=function(t){s[i][t]=!0}},Rf2I:function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var a=n("s7LF"),r=n("LvDl");n("2EZI"),n("Fgil"),n("aXbf");class o{constructor(t,e,n,a,r){this.bsModalRef=t,this.formBuilder=e,this.formatter=n,this.dimlessBinaryPipe=a,this.i18n=r}ngOnInit(){this.createForm()}createForm(){const t={};this.fields.forEach(e=>{t[e.name]=this.createFormControl(e)}),this.formGroup=this.formBuilder.group(t)}createFormControl(t){let e=[];return r.isBoolean(t.required)&&t.required&&e.push(a.B.required),t.validators&&(e=e.concat(t.validators)),new a.i(r.defaultTo("binary"===t.type?this.dimlessBinaryPipe.transform(t.value):t.value,null),{validators:e})}getError(t){const e=this.formGroup.get(t.name).errors;return Object.keys(e).map(n=>this.getErrorMessage(n,e[n],t.errors)).join("<br>")}getErrorMessage(t,e,n){if(n){const e=n[t];if(e)return e}return["binaryMin","binaryMax"].includes(t)?e(this.i18n):this.i18n("required"===t?"This field is required.":"An error occurred.")}onSubmitForm(t){this.fields.filter(t=>"binary"===t.type).map(t=>t.name).forEach(e=>{const n=t[e];n&&(t[e]=this.formatter.toBytes(n))}),this.bsModalRef.hide(),r.isFunction(this.onSubmit)&&this.onSubmit(t)}}},Rm1S:function(t,e,n){"use strict";var a=n("14Sl"),r=n("glrk"),o=n("UMSQ"),i=n("HYAF"),s=n("iqWW"),c=n("FMNM");a("match",1,(function(t,e,n){return[function(e){var n=i(this),a=null==e?void 0:e[t];return void 0!==a?a.call(e,n):new RegExp(e)[t](String(n))},function(t){var a=n(e,t,this);if(a.done)return a.value;var i=r(t),l=String(this);if(!i.global)return c(i,l);var d=i.unicode;i.lastIndex=0;for(var u,g=[],f=0;null!==(u=c(i,l));){var p=String(u[0]);g[f]=p,""===p&&(i.lastIndex=s(l,o(i.lastIndex),d)),f++}return 0===f?null:g}]}))},RnPR:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Keys=function(t){return t[t.up=38]="up",t[t.down=40]="down",t[t.return=13]="return",t[t.escape=27]="escape",t[t.left=37]="left",t[t.right=39]="right",t}(e.Keys||{})},RnhZ:function(t,e,n){var a={"./af":"K/tc","./af.js":"K/tc","./ar":"jnO4","./ar-dz":"o1bE","./ar-dz.js":"o1bE","./ar-kw":"Qj4J","./ar-kw.js":"Qj4J","./ar-ly":"HP3h","./ar-ly.js":"HP3h","./ar-ma":"CoRJ","./ar-ma.js":"CoRJ","./ar-sa":"gjCT","./ar-sa.js":"gjCT","./ar-tn":"bYM6","./ar-tn.js":"bYM6","./ar.js":"jnO4","./az":"SFxW","./az.js":"SFxW","./be":"H8ED","./be.js":"H8ED","./bg":"hKrs","./bg.js":"hKrs","./bm":"p/rL","./bm.js":"p/rL","./bn":"kEOa","./bn.js":"kEOa","./bo":"0mo+","./bo.js":"0mo+","./br":"aIdf","./br.js":"aIdf","./bs":"JVSJ","./bs.js":"JVSJ","./ca":"1xZ4","./ca.js":"1xZ4","./cs":"PA2r","./cs.js":"PA2r","./cv":"A+xa","./cv.js":"A+xa","./cy":"l5ep","./cy.js":"l5ep","./da":"DxQv","./da.js":"DxQv","./de":"tGlX","./de-at":"s+uk","./de-at.js":"s+uk","./de-ch":"u3GI","./de-ch.js":"u3GI","./de.js":"tGlX","./dv":"WYrj","./dv.js":"WYrj","./el":"jUeY","./el.js":"jUeY","./en-SG":"zavE","./en-SG.js":"zavE","./en-au":"Dmvi","./en-au.js":"Dmvi","./en-ca":"OIYi","./en-ca.js":"OIYi","./en-gb":"Oaa7","./en-gb.js":"Oaa7","./en-ie":"4dOw","./en-ie.js":"4dOw","./en-il":"czMo","./en-il.js":"czMo","./en-nz":"b1Dy","./en-nz.js":"b1Dy","./eo":"Zduo","./eo.js":"Zduo","./es":"iYuL","./es-do":"CjzT","./es-do.js":"CjzT","./es-us":"Vclq","./es-us.js":"Vclq","./es.js":"iYuL","./et":"7BjC","./et.js":"7BjC","./eu":"D/JM","./eu.js":"D/JM","./fa":"jfSC","./fa.js":"jfSC","./fi":"gekB","./fi.js":"gekB","./fo":"ByF4","./fo.js":"ByF4","./fr":"nyYc","./fr-ca":"2fjn","./fr-ca.js":"2fjn","./fr-ch":"Dkky","./fr-ch.js":"Dkky","./fr.js":"nyYc","./fy":"cRix","./fy.js":"cRix","./ga":"USCx","./ga.js":"USCx","./gd":"9rRi","./gd.js":"9rRi","./gl":"iEDd","./gl.js":"iEDd","./gom-latn":"DKr+","./gom-latn.js":"DKr+","./gu":"4MV3","./gu.js":"4MV3","./he":"x6pH","./he.js":"x6pH","./hi":"3E1r","./hi.js":"3E1r","./hr":"S6ln","./hr.js":"S6ln","./hu":"WxRl","./hu.js":"WxRl","./hy-am":"1rYy","./hy-am.js":"1rYy","./id":"UDhR","./id.js":"UDhR","./is":"BVg3","./is.js":"BVg3","./it":"bpih","./it-ch":"bxKX","./it-ch.js":"bxKX","./it.js":"bpih","./ja":"B55N","./ja.js":"B55N","./jv":"tUCv","./jv.js":"tUCv","./ka":"IBtZ","./ka.js":"IBtZ","./kk":"bXm7","./kk.js":"bXm7","./km":"6B0Y","./km.js":"6B0Y","./kn":"PpIw","./kn.js":"PpIw","./ko":"Ivi+","./ko.js":"Ivi+","./ku":"JCF/","./ku.js":"JCF/","./ky":"lgnt","./ky.js":"lgnt","./lb":"RAwQ","./lb.js":"RAwQ","./lo":"sp3z","./lo.js":"sp3z","./lt":"JvlW","./lt.js":"JvlW","./lv":"uXwI","./lv.js":"uXwI","./me":"KTz0","./me.js":"KTz0","./mi":"aIsn","./mi.js":"aIsn","./mk":"aQkU","./mk.js":"aQkU","./ml":"AvvY","./ml.js":"AvvY","./mn":"lYtQ","./mn.js":"lYtQ","./mr":"Ob0Z","./mr.js":"Ob0Z","./ms":"6+QB","./ms-my":"ZAMP","./ms-my.js":"ZAMP","./ms.js":"6+QB","./mt":"G0Uy","./mt.js":"G0Uy","./my":"honF","./my.js":"honF","./nb":"bOMt","./nb.js":"bOMt","./ne":"OjkT","./ne.js":"OjkT","./nl":"+s0g","./nl-be":"2ykv","./nl-be.js":"2ykv","./nl.js":"+s0g","./nn":"uEye","./nn.js":"uEye","./pa-in":"8/+R","./pa-in.js":"8/+R","./pl":"jVdC","./pl.js":"jVdC","./pt":"8mBD","./pt-br":"0tRk","./pt-br.js":"0tRk","./pt.js":"8mBD","./ro":"lyxo","./ro.js":"lyxo","./ru":"lXzo","./ru.js":"lXzo","./sd":"Z4QM","./sd.js":"Z4QM","./se":"//9w","./se.js":"//9w","./si":"7aV9","./si.js":"7aV9","./sk":"e+ae","./sk.js":"e+ae","./sl":"gVVK","./sl.js":"gVVK","./sq":"yPMs","./sq.js":"yPMs","./sr":"zx6S","./sr-cyrl":"E+lV","./sr-cyrl.js":"E+lV","./sr.js":"zx6S","./ss":"Ur1D","./ss.js":"Ur1D","./sv":"X709","./sv.js":"X709","./sw":"dNwA","./sw.js":"dNwA","./ta":"PeUW","./ta.js":"PeUW","./te":"XLvN","./te.js":"XLvN","./tet":"V2x9","./tet.js":"V2x9","./tg":"Oxv6","./tg.js":"Oxv6","./th":"EOgW","./th.js":"EOgW","./tl-ph":"Dzi0","./tl-ph.js":"Dzi0","./tlh":"z3Vd","./tlh.js":"z3Vd","./tr":"DoHr","./tr.js":"DoHr","./tzl":"z1FC","./tzl.js":"z1FC","./tzm":"wQk9","./tzm-latn":"tT3J","./tzm-latn.js":"tT3J","./tzm.js":"wQk9","./ug-cn":"YRex","./ug-cn.js":"YRex","./uk":"raLr","./uk.js":"raLr","./ur":"UpQW","./ur.js":"UpQW","./uz":"Loxo","./uz-latn":"AQ68","./uz-latn.js":"AQ68","./uz.js":"Loxo","./vi":"KSF8","./vi.js":"KSF8","./x-pseudo":"/X5v","./x-pseudo.js":"/X5v","./yo":"fzPg","./yo.js":"fzPg","./zh-cn":"XDpg","./zh-cn.js":"XDpg","./zh-hk":"SatO","./zh-hk.js":"SatO","./zh-tw":"kOpN","./zh-tw.js":"kOpN"};function r(t){var e=o(t);return n(e)}function o(t){if(!n.o(a,t)){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e}return a[t]}r.keys=function(){return Object.keys(a)},r.resolve=o,t.exports=r,r.id="RnhZ"},S6ln:function(t,e,n){!function(t){"use strict";function e(t,e,n){var a=t+" ";switch(n){case"ss":return a+(1===t?"sekunda":2===t||3===t||4===t?"sekunde":"sekundi");case"m":return e?"jedna minuta":"jedne minute";case"mm":return a+(1===t?"minuta":2===t||3===t||4===t?"minute":"minuta");case"h":return e?"jedan sat":"jednog sata";case"hh":return a+(1===t?"sat":2===t||3===t||4===t?"sata":"sati");case"dd":return a+(1===t?"dan":"dana");case"MM":return a+(1===t?"mjesec":2===t||3===t||4===t?"mjeseca":"mjeseci");case"yy":return a+(1===t?"godina":2===t||3===t||4===t?"godine":"godina")}}t.defineLocale("hr",{months:{format:"siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca".split("_"),standalone:"siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac".split("_")},monthsShort:"sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return"[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:e,m:e,mm:e,h:e,hh:e,d:"dan",dd:e,M:"mjesec",MM:e,y:"godinu",yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n("wd/R"))},S7Xf:function(t,e,n){var a=n("4uTw"),r=n("RBan"),o=n("gpbi"),i=n("9Nap");t.exports=function(t,e){return e=a(e,t),null==(t=o(t,e))||delete t[i(r(e))]}},S7zO:function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var a=n("LvDl"),r=n("oxzT");n("vCyI"),n("jKX/");class o{constructor(){this.btnColor="secondary",this.dropDownActions=[],this.icons=r.a}ngOnInit(){this.removeActionsWithNoPermissions(),this.updateDropDownActions()}toClassName(t){return t.replace(/ /g,"-").replace(/[^a-z-]/gi,"").toLowerCase()}removeActionsWithNoPermissions(){if(!this.permission)return void(this.tableActions=[]);const t=Object.keys(this.permission).filter(t=>this.permission[t]);this.tableActions=this.tableActions.filter(e=>t.includes(e.permission))}updateDropDownActions(){this.dropDownActions=this.tableActions.filter(t=>t.visible?t.visible(this.selection):t)}getCurrentButton(){if(this.dropDownOnly)return;let t=this.dropDownActions.find(t=>this.showableAction(t));return!t&&this.dropDownActions.length>0&&(t=this.dropDownActions[0]),t}showableAction(t){const e=t.canBePrimary,n=this.selection.hasSingleSelection,a="create"===t.permission?!n:n;return e&&e(this.selection)||!e&&a}useRouterLink(t){if(t.routerLink&&!this.disableSelectionAction(t))return a.isString(t.routerLink)?t.routerLink:t.routerLink()}disableSelectionAction(t){const e=t.disable;if(e)return Boolean(e(this.selection));const n=t.permission,a=this.selection.hasSingleSelection&&this.selection.first();return Boolean(["update","delete"].includes(n)&&(!a||a.cdExecuting))}showDropDownActions(){return this.updateDropDownActions(),this.dropDownActions.length>1}useClickAction(t){return!this.disableSelectionAction(t)&&t.click&&t.click()}useDisableDesc(t){return t.disableDesc&&t.disableDesc()}}},"SB+Q":function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{transform(t){return encodeURIComponent(t)}}},SFxW:function(t,e,n){!function(t){"use strict";var e={1:"-inci",5:"-inci",8:"-inci",70:"-inci",80:"-inci",2:"-nci",7:"-nci",20:"-nci",50:"-nci",3:"-üncü",4:"-üncü",100:"-üncü",6:"-ncı",9:"-uncu",10:"-uncu",30:"-uncu",60:"-ıncı",90:"-ıncı"};t.defineLocale("az",{months:"yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr".split("_"),monthsShort:"yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek".split("_"),weekdays:"Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə".split("_"),weekdaysShort:"Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən".split("_"),weekdaysMin:"Bz_BE_ÇA_Çə_CA_Cü_Şə".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[sabah saat] LT",nextWeek:"[gələn həftə] dddd [saat] LT",lastDay:"[dünən] LT",lastWeek:"[keçən həftə] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s əvvəl",s:"birneçə saniyə",ss:"%d saniyə",m:"bir dəqiqə",mm:"%d dəqiqə",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir il",yy:"%d il"},meridiemParse:/gecə|səhər|gündüz|axşam/,isPM:function(t){return/^(gündüz|axşam)$/.test(t)},meridiem:function(t,e,n){return t<4?"gecə":t<12?"səhər":t<17?"gündüz":"axşam"},dayOfMonthOrdinalParse:/\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,ordinal:function(t){if(0===t)return t+"-ıncı";var n=t%10;return t+(e[n]||e[t%100-n]||e[t>=100?100:null])},week:{dow:1,doy:7}})}(n("wd/R"))},SKAX:function(t,e,n){var a=n("JC6p"),r=n("lQqw")(a);t.exports=r},SPu7:function(t,e,n){"use strict";n.r(e),e.default='<xliff xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 http://docs.oasis-open.org/xliff/v1.2/os/xliff-core-1.2-strict.xsd" xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">\n  <file original="ng2.template" datatype="plaintext" source-language="en-US" target-language="pl-PL">\n    <body>\n      <trans-unit id="319e0745bcbc132451569294fa2fa21bf10f555a" datatype="html">\n        <source>Toggle navigation</source>\n        <target>Rozwiń</target>\n      </trans-unit>\n      <trans-unit id="f65253954b66e929a8b4d5ecaf61f9129f8cec64" datatype="html">\n        <source>Dashboard</source>\n        <target>Pulpit</target>\n      </trans-unit>\n      <trans-unit id="f4d1dd59b039ad818d9da7e29a773e10e41d9821" datatype="html">\n        <source>Cluster</source>\n        <target>Klaster</target>\n      </trans-unit>\n      <trans-unit id="099b441d49333b3c6d30b36dc0a4763e64c78920" datatype="html">\n        <source>Hosts</source>\n        <target>Hosty</target>\n      </trans-unit>\n      <trans-unit id="2cc3ecb16e348fcf2f2fbfd2f997d4d22f37475b" datatype="html">\n        <source>Inventory</source>\n        <target>Inventory</target>\n      </trans-unit>\n      <trans-unit id="624f596cc3320f5e0a0d7c7346c364e5af9bdd8c" datatype="html">\n        <source>Monitors</source>\n        <target>Monitory</target>\n      </trans-unit>\n      <trans-unit id="419d940613972cc3fae9c8ea0a4306dbf80616e5" datatype="html">\n        <source>Services</source>\n        <target>Usługi</target>\n      </trans-unit>\n      <trans-unit id="1a9183778f2c6473d7ccb080f651caa01faaf70c" datatype="html">\n        <source>OSDs</source>\n        <target>OSD-ki</target>\n      </trans-unit>\n      <trans-unit id="4a41f824a35ba01d5bd7be61aa06b3e8145209d0" datatype="html">\n        <source>Configuration</source>\n        <target>Konfiguracja</target>\n      </trans-unit>\n      <trans-unit id="8c95898abff46bfac3ed6eb2afef74597e60b15c" datatype="html">\n        <source>CRUSH map</source>\n        <target>CRUSH mapa</target>\n      </trans-unit>\n      <trans-unit id="33da4dbeb076159510801ea764a218fd341269d2" datatype="html">\n        <source>Manager modules</source>\n        <target>Zarządca modułów</target>\n      </trans-unit>\n      <trans-unit id="eb3d5aefff38a814b76da74371cbf02c0789a1ef" datatype="html">\n        <source>Logs</source>\n        <target>Logi</target>\n      </trans-unit>\n      <trans-unit id="17fc3efe5f9fa4e0289c900cb6202265215a1a27" datatype="html">\n        <source>Monitoring</source>\n        <target>Monitoring</target>\n      </trans-unit>\n      <trans-unit id="92899fa68e8ca108912163ff58edc8540e453787" datatype="html">\n        <source>Pools</source>\n        <target>Pule</target>\n      </trans-unit>\n      <trans-unit id="7f5d0c10614e8a34f0e2dad33a0568277c50cf69" datatype="html">\n        <source>Block</source>\n        <target>Dostęp blokowy</target>\n      </trans-unit>\n      <trans-unit id="b73f7f5060fb22a1e9ec462b1bb02493fa3ab866" datatype="html">\n        <source>Images</source>\n        <target>Obrazy</target>\n      </trans-unit>\n      <trans-unit id="3c2562ba992127203dcfd014010b03cb7b8113c6" datatype="html">\n        <source>Mirroring</source>\n        <target>Kopia lustrzana</target>\n      </trans-unit>\n      <trans-unit id="811c241d56601b91ef26735b770e64428089b950" datatype="html">\n        <source>iSCSI</source>\n        <target>iSCSI</target>\n      </trans-unit>\n      <trans-unit id="a24eabd99ea5af20f5f94c4484649cd30370042b" datatype="html">\n        <source>NFS</source>\n        <target>Sieciowy system plików NFS</target>\n      </trans-unit>\n      <trans-unit id="a4eff72d97b7ced051398d581f10968218057ddc" datatype="html">\n        <source>Filesystems</source>\n        <target>Systemy plików</target>\n      </trans-unit>\n      <trans-unit id="2190548d236ca5f7bc7ab2bca334b860c5ff2ad4" datatype="html">\n        <source>Object Gateway</source>\n        <target>Dostęp obiektowy</target>\n      </trans-unit>\n      <trans-unit id="9e24f9e2d42104ffc01599db4d566d1cc518f9e6" datatype="html">\n        <source>Daemons</source>\n        <target>Demony</target>\n      </trans-unit>\n      <trans-unit id="4d13a9cd5ed3dcee0eab22cb25198d43886942be" datatype="html">\n        <source>Users</source>\n        <target>Użytkownicy</target>\n      </trans-unit>\n      <trans-unit id="9515520496da83179d8b08132f00f575512a1f40" datatype="html">\n        <source>Buckets</source>\n        <target>Wiadra</target>\n      </trans-unit>\n      <trans-unit id="797f8214e8148f4bf0d244baaa7341706b419549" datatype="html">\n        <source>Retrieving data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>. Please wait...\n        </source>\n        <target>Retrieving data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>. Please wait...\n        </target>\n      </trans-unit>\n      <trans-unit id="5a870dc77b9f6f33ee671ea2d856021276933339" datatype="html">\n        <source>Displaying previously cached data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>\n  for \n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n        </source>\n        <target>Displaying previously cached data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>\n  for \n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="ae580202919844531361ba2308287226ff74a584" datatype="html">\n        <source>Could not load data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n  Please check the cluster health.\n        </source>\n        <target>Could not load data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n  Please check the cluster health.\n        </target>\n      </trans-unit>\n      <trans-unit id="7e52e9143145e1db5146258de81eae018a407b31" datatype="html">\n        <source>Clear notifications</source>\n        <target>Clear notifications</target>\n      </trans-unit>\n      <trans-unit id="b0b07bb6b7ff21ede439dd04eaf8872d1ecb84d8" datatype="html">\n        <source>Remove notification</source>\n        <target>Remove notification</target>\n      </trans-unit>\n      <trans-unit id="e17a1d75189da843f541f7764f188f2b19a97df2" datatype="html">\n        <source>Duration:</source>\n        <target>Duration:</target>\n      </trans-unit>\n      <trans-unit id="0d4b37c6675c5b436a54c43d6716eec835e1aa7f" datatype="html">\n        <source>There are no notifications.</source>\n        <target>There are no notifications.</target>\n      </trans-unit>\n      <trans-unit id="0a23e992f6c6e169a38b2b7338b4e5e803b52e0d" datatype="html">\n        <source>Tasks and Notifications</source>\n        <target>Tasks and Notifications</target>\n      </trans-unit>\n      <trans-unit id="3fb5709e10166cbc85970cbff103db227dbeb813" datatype="html">\n        <source>Select a Language</source>\n        <target>Wybierz język</target>\n      </trans-unit>\n      <trans-unit id="c5109325fb160b543f71a51e7511c00575057431" datatype="html">\n        <source>Loading panel data...</source>\n        <target>Trwa ładowanie danych...</target>\n      </trans-unit>\n      <trans-unit id="8ca12411f890ab8b0a9216418e2b8f5ea7d2441a" datatype="html">\n        <source>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the monitoring functionality.\n        </source>\n        <target>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the monitoring functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="160a9e80dc089792df42e2400b1e81b9e7025aa7" datatype="html">\n        <source>Grafana Dashboard doesn\'t exist. Please refer to\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  add dashboards to Grafana.\n        </source>\n        <target>Grafana Dashboard doesn\'t exist. Please refer to\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  add dashboards to Grafana.\n        </target>\n      </trans-unit>\n      <trans-unit id="4e11830040bd64804a0555de76f291d5832772d4" datatype="html">\n        <source>Grafana Time Picker</source>\n        <target>Wybór czasu Grafana</target>\n      </trans-unit>\n      <trans-unit id="238c1ba845dd7330e8088165275919a1debf1ca3" datatype="html">\n        <source>Reset Settings</source>\n        <target>Zresetuj ustawienia</target>\n      </trans-unit>\n      <trans-unit id="c8d1785038d461ec66b5799db21864182b35900a" datatype="html">\n        <source>Refresh</source>\n        <target>Refresh</target>\n      </trans-unit>\n      <trans-unit id="6c947210e2d162b6225083d18820ab602f58cd2d" datatype="html">\n        <source>Remove the custom configuration value. The default configuration will be inherited and used instead.</source>\n        <target>Remove the custom configuration value. The default configuration will be inherited and used instead.</target>\n      </trans-unit>\n      <trans-unit id="454ee9cb60b00446a8fb147fd2cc5eb836320586" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ option.maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ option.maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="7fc8a22825131e028336f60ef909ccbd96059703" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ option.minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ option.minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="cda31dbd724cf5f4fa7a4274d9120651490c8a8c" datatype="html">\n        <source>Back</source>\n        <target>Wstecz</target>\n      </trans-unit>\n      <trans-unit id="9ce641535be1ffa106c87724ba0637facaef5f61" datatype="html">\n        <source>Your password will expire in \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>less than 1\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day. Click\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.\n        </source>\n        <target>Your password will expire in \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>less than 1\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day. Click\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.\n        </target>\n      </trans-unit>\n      <trans-unit id="c2f34088c155e40ffb23770a465a65868ce772b2" datatype="html">\n        <source>Your password will expire in \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ expirationDays }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day(s). Click\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.\n        </source>\n        <target>Your password will expire in \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ expirationDays }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day(s). Click\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.\n        </target>\n      </trans-unit>\n      <trans-unit id="9b516f972c744779257310b73f6e97438b726707" datatype="html">\n        <source>Orchestrator is not available. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the functionality.\n        </source>\n        <target>Orchestrator is not available. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="012741ee52b3c050e4a977c37cc2334f7974f141" datatype="html">\n        <source>Failed to load data.</source>\n        <target>Błąd wczytywania danych.</target>\n      </trans-unit>\n      <trans-unit id="1e5e23363e949f7dcbaf034bdb141a561132a10e" datatype="html">\n        <source>Clear filters</source>\n        <target>Clear filters</target>\n      </trans-unit>\n      <trans-unit id="80cc9a12d4bf6fe454ed94b379eeaf915f920bb7" datatype="html">\n        <source>selected</source>\n        <target>Wybrane</target>\n        <note>X selected</note>\n      </trans-unit>\n      <trans-unit id="0cb77511a9a148e05b9adf36cc07269956fbb29d" datatype="html">\n        <source>found</source>\n        <target>Znaleziono</target>\n        <note>X found</note>\n      </trans-unit>\n      <trans-unit id="79347388740c50b7ac97e144c2494bb62912f312" datatype="html">\n        <source>total</source>\n        <target>Razem</target>\n        <note>X total</note>\n      </trans-unit>\n      <trans-unit id="cff1428d10d59d14e45edec3c735a27b5482db59" datatype="html">\n        <source>Name</source>\n        <target>Nazwa</target>\n      </trans-unit>\n      <trans-unit id="eec715de352a6b114713b30b640d319fa78207a0" datatype="html">\n        <source>Description</source>\n        <target>Opis</target>\n      </trans-unit>\n      <trans-unit id="4ad112ce9bcd55dfd137792a86afe1b5a5b13cf8" datatype="html">\n        <source>Long description</source>\n        <target>Długi opis</target>\n      </trans-unit>\n      <trans-unit id="ff7cee38a2259526c519f878e71b964f41db4348" datatype="html">\n        <source>Default</source>\n        <target>Domyślna</target>\n      </trans-unit>\n      <trans-unit id="33e1c1d9fc05ca3f62fcc8a1170fc31ebae4229c" datatype="html">\n        <source>Daemon default</source>\n        <target>Domyślny demon</target>\n      </trans-unit>\n      <trans-unit id="809b0c848932a41318f77a2aace904ef429c13f4" datatype="html">\n        <source>Values</source>\n        <target>Wartości</target>\n      </trans-unit>\n      <trans-unit id="5894f7158499fdb89527af50c9f1cf7d4c95cad6" datatype="html">\n        <source>-- Default --</source>\n        <target>-- Default --</target>\n      </trans-unit>\n      <trans-unit id="514f6e12d035a6d9b00de6b3e55c18b73488da07" datatype="html">\n        <source>true</source>\n        <target>true</target>\n      </trans-unit>\n      <trans-unit id="774f5e6a183dea08393789b6f72e86afad729419" datatype="html">\n        <source>false</source>\n        <target>false</target>\n      </trans-unit>\n      <trans-unit id="82029b6db704c56a2aa3e82ac555b8655356b077" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8ed8b3967a7326b81b191c9f490006e6a6777a9a" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="52c9a103b812f258bcddc3d90a6e3f46871d25fe" datatype="html">\n        <source>Save</source>\n        <target>Zapisz</target>\n      </trans-unit>\n      <trans-unit id="738de688b22fba5d0dc7a5e549996838dddad0ee" datatype="html">\n        <source>CRUSH map viewer</source>\n        <target>widok CRUSH mapy</target>\n      </trans-unit>\n      <trans-unit id="94516fa213706c67ce5a5b5765681d7fb032033a" datatype="html">\n        <source>Loading...</source>\n        <target>Ładowanie...</target>\n      </trans-unit>\n      <trans-unit id="formTitle" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </target>\n        <note>form title</note>\n      </trans-unit>\n      <trans-unit id="9a541ec1a4319fffc16ad3b3ab2c2b6d251a829d" datatype="html">\n        <source>Hostname</source>\n        <target>Nazwa hosta</target>\n      </trans-unit>\n      <trans-unit id="7cbdabcece469fab89cfa687ab152bca18b97498" datatype="html">\n        <source>This field is required.</source>\n        <target>Pole jest wymagane.</target>\n      </trans-unit>\n      <trans-unit id="1b3f5e5291541678f7afa49d28fad5ca848a8061" datatype="html">\n        <source>The chosen hostname is already in use.</source>\n        <target>The chosen hostname is already in use.</target>\n      </trans-unit>\n      <trans-unit id="formActionButton" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </target>\n        <note>form action button</note>\n      </trans-unit>\n      <trans-unit id="6110699a3562eeb15371063c0cf7f6bfd88a0209" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemNames[0] }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemNames[0] }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>?\n        </target>\n      </trans-unit>\n      <trans-unit id="549859e511ba5af0ea03fcaa620c472f08038969" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected items?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected items?\n        </target>\n      </trans-unit>\n      <trans-unit id="54839ebc827b73c9dc4e1df731c6d36a85036af7" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected \n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected \n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>?\n        </target>\n      </trans-unit>\n      <trans-unit id="2be8b7f04f0104d3fad90d079d8202b74f758b9a" datatype="html">\n        <source>Yes, I am sure.</source>\n        <target>Tak, jestem pewny.</target>\n      </trans-unit>\n      <trans-unit id="d7b35c384aecd25a516200d6921836374613dfe7" datatype="html">\n        <source>Cancel</source>\n        <target>Anuluj</target>\n      </trans-unit>\n      <trans-unit id="55a2f26b2e87886d9b8015a887e38e51ab2a866a" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8" datatype="html">\n        <source>Close</source>\n        <target>Zamknij</target>\n      </trans-unit>\n      <trans-unit id="40661476cb24c89d8b06614998e31d5fbe84eeb6" datatype="html">\n        <source>Hosts List</source>\n        <target>Lista hostów</target>\n      </trans-unit>\n      <trans-unit id="5e7f4b1ca49e8d217bd0e12c6f7d6b6a2ade2c18" datatype="html">\n        <source>Overall Performance</source>\n        <target>Całkowita wydajność</target>\n      </trans-unit>\n      <trans-unit id="3e24569eca61d598c8b01defbbbb1fa8bd5222bc" datatype="html">\n        <source>Devices</source>\n        <target>Devices</target>\n      </trans-unit>\n      <trans-unit id="e6d57f36aa2bad303c8a8ee944b9bd7fae3c8c26" datatype="html">\n        <source>No entries found</source>\n        <target>Nie znaleziono wejść</target>\n      </trans-unit>\n      <trans-unit id="d556ab48a65722b400e497f61737f553ee0f89e2" datatype="html">\n        <source>Cluster Logs</source>\n        <target>Logi z klastra </target>\n      </trans-unit>\n      <trans-unit id="5f966baffd188be0e8adc2d7067b86e55fc9b9de" datatype="html">\n        <source>Audit Logs</source>\n        <target>Audyt logów</target>\n      </trans-unit>\n      <trans-unit id="4193c9eb868aeec119b78a14795241e0aa5e8b60" datatype="html">\n        <source>Priority:</source>\n        <target>Priority:</target>\n      </trans-unit>\n      <trans-unit id="1d78ca51eab260ce3fd917d39190d64df5229b6e" datatype="html">\n        <source>Keyword:</source>\n        <target>Keyword:</target>\n      </trans-unit>\n      <trans-unit id="05fa0bded36de6e73a1fa44838b627349dace044" datatype="html">\n        <source>Date:</source>\n        <target>Date:</target>\n      </trans-unit>\n      <trans-unit id="31dadb362bf7f7c2afa10e5f96474ccd3977f91f" datatype="html">\n        <source>Datepicker</source>\n        <target>Datepicker</target>\n      </trans-unit>\n      <trans-unit id="85a400388de1899b1917138cf7e5286376f72847" datatype="html">\n        <source>Time range:</source>\n        <target>Time range:</target>\n      </trans-unit>\n      <trans-unit id="2447796ddbda942f4e2c46619cb84d69f066e568" datatype="html">\n        <source>Loading configuration...</source>\n        <target>Ładowanie konfiguracji.</target>\n      </trans-unit>\n      <trans-unit id="b42c0b347a841bed8859ee83de05080ee28c803b" datatype="html">\n        <source>The configuration could not be loaded.</source>\n        <target>Nie można załadować konfiguracji</target>\n      </trans-unit>\n      <trans-unit id="31a9c2870a934b594d1390146c489f76440859ea" datatype="html">\n        <source>Edit Manager module</source>\n        <target>Edytuj moduł zarządzania</target>\n      </trans-unit>\n      <trans-unit id="46e09b8290d3d0afdb6baa2021395b0570606a31" datatype="html">\n        <source>The entered value is not a valid UUID, e.g.: 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8</source>\n        <target>Wpisana wartość nie jest poprawnym UUID, np. 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8</target>\n      </trans-unit>\n      <trans-unit id="7aacd038b39cfd347107d01d1dc27f5cb3e0951c" datatype="html">\n        <source>The entered value needs to be a valid IP address.</source>\n        <target>Wpisana wartość musi być poprawnym adresem IP</target>\n      </trans-unit>\n      <trans-unit id="f19106149f4b07a0d721f9d317afed393cb7bd93" datatype="html">\n        <source>The entered value is too high! It must be lower or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.max }}"/>.\n        </source>\n        <target>The entered value is too high! It must be lower or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.max }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="6d33c40ef9a6c3bf0888df831b25e41e65f9d15b" datatype="html">\n        <source>The entered value is too low! It must be greater or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.min }}"/>.\n        </source>\n        <target>The entered value is too low! It must be greater or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.min }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="eae7086660cf1e38c7194a2c49ff52cc656f90f5" datatype="html">\n        <source>The entered value needs to be a number.</source>\n        <target>Podana wartość musi być liczbą</target>\n      </trans-unit>\n      <trans-unit id="a73376e04b4fb3a20734c8c39743fba32e6676ce" datatype="html">\n        <source>The entered value needs to be a number or decimal.</source>\n        <target>Podana wartość musi być liczbą albo dziesiętną.</target>\n      </trans-unit>\n      <trans-unit id="047f50bc5b5d17b5bec0196355953e1a5c590ddb" datatype="html">\n        <source>Update</source>\n        <target>Zaktualizuj</target>\n      </trans-unit>\n      <trans-unit id="81b97b8ea996ad1e4f9fca8415021850214884b1" datatype="html">\n        <source>Status</source>\n        <target>Status</target>\n      </trans-unit>\n      <trans-unit id="57ec6032f5618d4a9f16eb950ad23d2ce7c24b54" datatype="html">\n        <source>Cluster ID</source>\n        <target>Klaster ID</target>\n      </trans-unit>\n      <trans-unit id="67d7facc3fec5f8a49ab9ba0a245872184264ce5" datatype="html">\n        <source>monmap modified</source>\n        <target>Zmodyfikowana monmapa</target>\n      </trans-unit>\n      <trans-unit id="d4906731aaf2b94b4f547646c9bfe58bb77951b6" datatype="html">\n        <source>monmap epoch</source>\n        <target>epoka monmap</target>\n      </trans-unit>\n      <trans-unit id="bd4ee06ffdc46d9dfbd0c0c4f81399021c680056" datatype="html">\n        <source>quorum con</source>\n        <target>kworum con</target>\n      </trans-unit>\n      <trans-unit id="1176c7db8a8276ccb44cc3d42e2c28d9fa6c6596" datatype="html">\n        <source>quorum mon</source>\n        <target>kworum mon</target>\n      </trans-unit>\n      <trans-unit id="530ef677a09d681b3ab68cb0760494b3ae72a77c" datatype="html">\n        <source>required con</source>\n        <target>wymagany con</target>\n      </trans-unit>\n      <trans-unit id="a91558e0d506c32021c31843f8f168899fc65cbf" datatype="html">\n        <source>required mon</source>\n        <target>Wymagane mon </target>\n      </trans-unit>\n      <trans-unit id="b3abe9eac5bcd94a54c8da93b312e085ec512e74" datatype="html">\n        <source>In Quorum</source>\n        <target>W kworum</target>\n      </trans-unit>\n      <trans-unit id="ba4b748a676e1f217ce1e736fb7ec1215e677bae" datatype="html">\n        <source>Not In Quorum</source>\n        <target>Nie w kworum</target>\n      </trans-unit>\n      <trans-unit id="4383e9662ea19839c7499b2128d43a195e564317" datatype="html">\n        <source>OSD creation preview</source>\n        <target>OSD creation preview</target>\n      </trans-unit>\n      <trans-unit id="366225c51e0b00bcb1c55795a0dc5e81c455f84e" datatype="html">\n        <source>DriveGroups</source>\n        <target>DriveGroups</target>\n      </trans-unit>\n      <trans-unit id="8edc89137d0d8c5667a2f03230beafae45e58429" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ deviceType }}"/> devices\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ deviceType }}"/> devices\n        </target>\n      </trans-unit>\n      <trans-unit id="eba28e1805b18f7c8ae2e4bc15dcf063b10b3822" datatype="html">\n        <source>At least one of these filters must be applied in order to proceed:</source>\n        <target>At least one of these filters must be applied in order to proceed:</target>\n      </trans-unit>\n      <trans-unit id="93389aa2fe2bea50bf89554ee51b28f87ee2fb50" datatype="html">\n        <source>Number of devices: \n          <x id="INTERPOLATION" equiv-text="{{ filteredDevices.length }}"/>. Raw capacity:\n          <x id="INTERPOLATION_1" equiv-text="{{ capacity | dimlessBinary }}"/>.\n        </source>\n        <target>Number of devices: \n          <x id="INTERPOLATION" equiv-text="{{ filteredDevices.length }}"/>. Raw capacity:\n          <x id="INTERPOLATION_1" equiv-text="{{ capacity | dimlessBinary }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="ccb4f84edc0b4e76415bb3f9b73d725b06683af3" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ name }}"/> devices\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ name }}"/> devices\n        </target>\n      </trans-unit>\n      <trans-unit id="60cb3d01e5ddf266ecb4271007a1c3d0f3efdc22" datatype="html">\n        <source>The primary storage devices. These devices contain all OSD data.</source>\n        <target>The primary storage devices. These devices contain all OSD data.</target>\n      </trans-unit>\n      <trans-unit id="b432e04886d0d1fd84f740477383051f85addcf2" datatype="html">\n        <source>Write-Ahead-Log devices. These devices are used for BlueStore’s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device.</source>\n        <target>Write-Ahead-Log devices. These devices are used for BlueStore’s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device.</target>\n      </trans-unit>\n      <trans-unit id="b87e181ab9e8393aa5ed759dd3d53836e32c8ffe" datatype="html">\n        <source>DB devices can be used for storing BlueStore’s internal metadata.  It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD).</source>\n        <target>DB devices can be used for storing BlueStore’s internal metadata.  It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD).</target>\n      </trans-unit>\n      <trans-unit id="f6755cff4957d5c3c89bafce5651f1b6fa2b1fd9" datatype="html">\n        <source>Add</source>\n        <target>Dodaj</target>\n      </trans-unit>\n      <trans-unit id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46" datatype="html">\n        <source>Clear</source>\n        <target>Clear</target>\n      </trans-unit>\n      <trans-unit id="7e0fd3c7af0630f93befa6234a693a32a61084e0" datatype="html">\n        <source>Raw capacity: \n          <x id="INTERPOLATION" equiv-text="{{ capacity | dimlessBinary }}"/>\n        </source>\n        <target>Raw capacity: \n          <x id="INTERPOLATION" equiv-text="{{ capacity | dimlessBinary }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="43ecf6bee2aebc07b0aad6dc1fe13e38d14687fa" datatype="html">\n        <source>Shared devices</source>\n        <target>Shared devices</target>\n      </trans-unit>\n      <trans-unit id="7a1c376f6f1b37de4c318ff2106255ba6c0f5b0b" datatype="html">\n        <source>WAL slots</source>\n        <target>WAL slots</target>\n      </trans-unit>\n      <trans-unit id="73811a6f37b63e6b0e491e221bfa21e9dea8a87a" datatype="html">\n        <source>How many OSDs per WAL device.</source>\n        <target>How many OSDs per WAL device.</target>\n      </trans-unit>\n      <trans-unit id="0c67a7ac4762ef1cc855056c6b4daab93e53a0a5" datatype="html">\n        <source>Specify 0 to let Orchestrator backend decide it.</source>\n        <target>Specify 0 to let Orchestrator backend decide it.</target>\n      </trans-unit>\n      <trans-unit id="7bda9362e06e6c67341b4a8425b0d29d6b84464b" datatype="html">\n        <source>Value should be greater than or equal to 0</source>\n        <target>Value should be greater than or equal to 0</target>\n      </trans-unit>\n      <trans-unit id="324c2b10152b9dd908222bb0b71f61beb60a30c5" datatype="html">\n        <source>DB slots</source>\n        <target>DB slots</target>\n      </trans-unit>\n      <trans-unit id="c23cf12ef9c76f37fc7a4b7ae3e00fb0f68b6e26" datatype="html">\n        <source>How many OSDs per DB device.</source>\n        <target>How many OSDs per DB device.</target>\n      </trans-unit>\n      <trans-unit id="6cdb1fea93d77c07950c0c76c6e0ad79ebbef084" datatype="html">\n        <source>Features</source>\n        <target>Funkcje</target>\n      </trans-unit>\n      <trans-unit id="3e2a583f531f7dd9f089f68a6968e444c372c3e8" datatype="html">\n        <source>Preview</source>\n        <target>Preview</target>\n      </trans-unit>\n      <trans-unit id="5ef50ba2514414f799d4c8fc36067a251904ba81" datatype="html">\n        <source>Cluster-wide OSD Flags</source>\n        <target>Flagi OSD w całym klastrze</target>\n      </trans-unit>\n      <trans-unit id="71c77bb8cecdf11ec3eead24dd1ba506573fa9cd" datatype="html">\n        <source>Submit</source>\n        <target>Zatwierdź</target>\n      </trans-unit>\n      <trans-unit id="1cfe07dac5b4ee1c464eb24225ddeb4f1d24076a" datatype="html">\n        <source>Advanced...</source>\n        <target>Zaawansowane...</target>\n      </trans-unit>\n      <trans-unit id="b1ef1c12ddcee305353623919ef02778569f5454" datatype="html">\n        <source>Advanced configuration options</source>\n        <target>Advanced configuration options</target>\n      </trans-unit>\n      <trans-unit id="c35f9c5f268a514b970cc55e9a5dc4bed0988e7f" datatype="html">\n        <source>OSD Recovery Priority</source>\n        <target>Priorytet odzyskiwania OSD</target>\n      </trans-unit>\n      <trans-unit id="b74af38005e8a8914e45af2ec412e11ceafef8b6" datatype="html">\n        <source>Priority</source>\n        <target>Priorytet</target>\n      </trans-unit>\n      <trans-unit id="c2f48f04b379bfba133825747adfd238d511412e" datatype="html">\n        <source>Customize priority values</source>\n        <target>Dostosuj wartości priorytetowe</target>\n      </trans-unit>\n      <trans-unit id="4aa19de2a2b54cbda39e9c62917b23044c087776" datatype="html">\n        <source>This field is required!</source>\n        <target>To pole jest wymagane.</target>\n      </trans-unit>\n      <trans-unit id="b699e94bf376491bd50b70a98531071c737eaf40" datatype="html">\n        <source>[object Object]</source>\n        <target>[object Object]</target>\n      </trans-unit>\n      <trans-unit id="98fe13e7ad6c2b80375d204b47858ded83f80e15" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="5423a3c111be47fc5a1bfe46ceb58c81c84db691" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="5251a4355cece3075db43f15d69a24a0f8485707" datatype="html">\n        <source>Reweight OSD: \n          <x id="INTERPOLATION" equiv-text="{{ osdId }}"/>\n        </source>\n        <target>Reweight OSD: \n          <x id="INTERPOLATION" equiv-text="{{ osdId }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="67650b2998db48201b2c6176cbfef51e7211ccaa" datatype="html">\n        <source>The value needs to be between 0 and 1.</source>\n        <target>Wartość powinna być pomiędzy 0 a 1. </target>\n      </trans-unit>\n      <trans-unit id="bc11f92113d678a90e334fdf3d7b3fddbe34c579" datatype="html">\n        <source>Reweight</source>\n        <target>Ponowne ważenie</target>\n      </trans-unit>\n      <trans-unit id="d5ca5daf742023fc4f0919fb3c1c6a51991cda4f" datatype="html">\n        <source>OSDs \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>Scrub\n        </source>\n        <target>OSDs \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>Scrub\n        </target>\n      </trans-unit>\n      <trans-unit id="4c17d67c7c5799eb920030e9a399961e90f55dd8" datatype="html">\n        <source>{VAR_SELECT, select, 1 {Deep } }</source>\n        <target>{VAR_SELECT, wybierz, 1 {Głębokość} }</target>\n      </trans-unit>\n      <trans-unit id="fd0a4b6eed32e3488eccdc9c13f9841f08cc275e" datatype="html">\n        <source>You are about to apply a \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to\n          the OSD(s): \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ selected | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.\n        </source>\n        <target>You are about to apply a \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to\n          the OSD(s): \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ selected | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="dc6705f342a036b332c3fd3443201c3613e5524d" datatype="html">\n        <source>{VAR_SELECT, select, 1 {deep } }</source>\n        <target>{VAR_SELECT, wybierz, 1 {głębokość} }</target>\n      </trans-unit>\n      <trans-unit id="b49d7877d24112d4bdfce9256edf61a007fae888" datatype="html">\n        <source>OSDs List</source>\n        <target>Lista OSD-ków </target>\n      </trans-unit>\n      <trans-unit id="d5707a32ba9c1138e6423498fb0b24e970ebd19f" datatype="html">\n        <source>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) \n          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </source>\n        <target>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) \n          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </target>\n      </trans-unit>\n      <trans-unit id="d08c1e4f17dffc0ed1ac2e2e2875cb8b569eeb35" datatype="html">\n        <source>The \n          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to be \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>! \n          <x id="INTERPOLATION_1" equiv-text="{{ message }}"/>\n        </source>\n        <target>The \n          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to be \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>! \n          <x id="INTERPOLATION_1" equiv-text="{{ message }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="e776996dac651ef3819bfa767ccf2a0613759f47" datatype="html">\n        <source>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</source>\n        <target>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</target>\n      </trans-unit>\n      <trans-unit id="5cd6a031937412c42e5efa1e6959cb72ac08c720" datatype="html">\n        <source>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD \n          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </source>\n        <target>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD \n          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </target>\n      </trans-unit>\n      <trans-unit id="3eda19b44809820fffd5d3753bafb7243116f4b0" datatype="html">\n        <source>To see all active Prometheus alerts, please\n      provide the URL to the API of Prometheus\' Alertmanager as described in the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </source>\n        <target>To see all active Prometheus alerts, please\n      provide the URL to the API of Prometheus\' Alertmanager as described in the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="880ad4df5a2051a437321443d69c9a866699e5ad" datatype="html">\n        <source>Active Alerts</source>\n        <target>Active Alerts</target>\n      </trans-unit>\n      <trans-unit id="8e5e0e09a11990d343926ed693574213d703c38d" datatype="html">\n        <source>All Alerts</source>\n        <target>All Alerts</target>\n      </trans-unit>\n      <trans-unit id="526938c2b7945cb0d68328c24bd77730230cd455" datatype="html">\n        <source>To enable Silences, please provide the URL to the API of the Prometheus\' Alertmanager as\n      described in the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </source>\n        <target>To enable Silences, please provide the URL to the API of the Prometheus\' Alertmanager as\n      described in the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="aa0c44aa1e5727061baa91e954f77e2f5f9a37c9" datatype="html">\n        <source>Silences</source>\n        <target>Silences</target>\n      </trans-unit>\n      <trans-unit id="8501055865d7031b5521a0c5467532648009a61d" datatype="html">\n        <source>Matcher</source>\n        <target>Matcher</target>\n      </trans-unit>\n      <trans-unit id="9c25e04f554875dc2625a78ba0fc56c6010cd0d3" datatype="html">\n        <source>-- Select an attribute to match against --</source>\n        <target>-- Select an attribute to match against --</target>\n      </trans-unit>\n      <trans-unit id="5049e204c14c648691ac775a64fb504467aeb549" datatype="html">\n        <source>Value</source>\n        <target>Wartość</target>\n      </trans-unit>\n      <trans-unit id="77fc5c63497fc031ddc97645484e3d94ad27766c" datatype="html">\n        <source>Use regular expression</source>\n        <target>Use regular expression</target>\n      </trans-unit>\n      <trans-unit id="7bbec1a797283712c0adf9e71d77fb5a8cd720db" datatype="html">\n        <source>{VAR_SELECT, select, 1 {Update} other {Add} }</source>\n        <target>{VAR_SELECT, select, 1 {Update} other {Add} }</target>\n      </trans-unit>\n      <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c" datatype="html">\n        <source>Edit</source>\n        <target>Edytuj</target>\n      </trans-unit>\n      <trans-unit id="826b25211922a1b46436589233cb6f1a163d89b7" datatype="html">\n        <source>Delete</source>\n        <target>Usuń</target>\n      </trans-unit>\n      <trans-unit id="a3ba06aba047605af8ea1718ec1ba153b7db12a2" datatype="html">\n        <source>Editing a silence will expire the old silence and recreate it as a new silence</source>\n        <target>Editing a silence will expire the old silence and recreate it as a new silence</target>\n      </trans-unit>\n      <trans-unit id="a20424156b8816671f61879f0574a4f27d7b16b9" datatype="html">\n        <source>Creator</source>\n        <target>Creator</target>\n      </trans-unit>\n      <trans-unit id="5a5d7ee2acbfa9c91ab7f41d26bda9ff0cafe42f" datatype="html">\n        <source>Comment</source>\n        <target>Comment</target>\n      </trans-unit>\n      <trans-unit id="4c11aad490b2d53fdae30b3807beabf79306752c" datatype="html">\n        <source>Start time</source>\n        <target>Start time</target>\n      </trans-unit>\n      <trans-unit id="32856b1e8e339b747b21e313e2fe65a51fd450bb" datatype="html">\n        <source>If the start time lies in the past the creation time will be used</source>\n        <target>If the start time lies in the past the creation time will be used</target>\n      </trans-unit>\n      <trans-unit id="a02ea1d4e7424ca989929da5e598f379940fdbf2" datatype="html">\n        <source>Duration</source>\n        <target>Duration</target>\n      </trans-unit>\n      <trans-unit id="2f4e35e36f4d3c62e2c17df41730b6dee4afc4b9" datatype="html">\n        <source>End time</source>\n        <target>End time</target>\n      </trans-unit>\n      <trans-unit id="992123459137d45c15df5548bc9682aad835c04b" datatype="html">\n        <source>Matchers</source>\n        <target>Matchers</target>\n      </trans-unit>\n      <trans-unit id="3e023166c55833d5a13f4143e3dbe372befe1b4e" datatype="html">\n        <source>A silence requires at least one matcher</source>\n        <target>A silence requires at least one matcher</target>\n      </trans-unit>\n      <trans-unit id="ef765bd80c4806c51c891908c07a24bc76f019eb" datatype="html">\n        <source>Add matcher</source>\n        <target>Add matcher</target>\n      </trans-unit>\n      <trans-unit id="d2bcd3296d2850de762fb943060b7e086a893181" datatype="html">\n        <source>Health</source>\n        <target>Zdrowie</target>\n      </trans-unit>\n      <trans-unit id="61e0f26d843eec0b33ff475e111b0c2f7a80b835" datatype="html">\n        <source>Statistics</source>\n        <target>Statystyki</target>\n      </trans-unit>\n      <trans-unit id="f8f74e5f683012b9c0702b1446011c6b9158bc67" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the NFS Ganesha management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the NFS Ganesha management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="7ffe39df9d88c972792bd8688b215392deb8313d" datatype="html">\n        <source>Clients</source>\n        <target>Klienci</target>\n      </trans-unit>\n      <trans-unit id="f2dae0bda66f6a349444951c0379c28cda47d6d1" datatype="html">\n        <source>Any client can access</source>\n        <target>Każdy klient ma dostęp</target>\n      </trans-unit>\n      <trans-unit id="7882f2edb1d4139800b276b6b0bbf5ae0b2234ef" datatype="html">\n        <source>Addresses</source>\n        <target>Adresy</target>\n      </trans-unit>\n      <trans-unit id="9bd96fcf50863e685c74d0490392f46689ffbdb6" datatype="html">\n        <source>Required field</source>\n        <target>Obowiązkowe pole</target>\n      </trans-unit>\n      <trans-unit id="a5f3f74c0f6925826cb2188576391c0da01a23f0" datatype="html">\n        <source>Must contain one or more comma-separated values</source>\n        <target>Musi zawierać jedną albo więcej ,rozdzielonych przecinkiem, wartości </target>\n      </trans-unit>\n      <trans-unit id="8bb5b2073697f3f4378c44a49b7524934c9268f4" datatype="html">\n        <source>For example:</source>\n        <target>Na przykład: </target>\n      </trans-unit>\n      <trans-unit id="8f969c655b3fbe4fba7e277caf4cd2c459f9fca5" datatype="html">\n        <source>Access Type</source>\n        <target>Typ dostępu</target>\n      </trans-unit>\n      <trans-unit id="28952831a284cfe2b4fc39ca610e80b52598905a" datatype="html">\n        <source>Squash</source>\n        <target>Squash</target>\n      </trans-unit>\n      <trans-unit id="0660ae339068979854ade34a96546980723dede3" datatype="html">\n        <source>Add clients</source>\n        <target>Dodaj klientów </target>\n      </trans-unit>\n      <trans-unit id="135b91a2d908d5814b782695470a6a786c99d9d2" datatype="html">\n        <source>-- No cluster available --</source>\n        <target>-- Brak dostępnego klastra -- </target>\n      </trans-unit>\n      <trans-unit id="c501dba379f566885919240ea277b5bc10c14d18" datatype="html">\n        <source>-- Select the cluster --</source>\n        <target>-- Wybierz klaster --</target>\n      </trans-unit>\n      <trans-unit id="cf85b1ee58326aa9da63da41b2629c9db7c9a5b9" datatype="html">\n        <source>Add daemon</source>\n        <target>Dodaj demona</target>\n      </trans-unit>\n      <trans-unit id="b3f6ba7fe84d6508705cdfe234f0fcc8ff85c9cf" datatype="html">\n        <source>Storage Backend</source>\n        <target>Pamięć Podręczna</target>\n      </trans-unit>\n      <trans-unit id="151c80ea931037cd92e854442927f8a0f6ae7795" datatype="html">\n        <source>-- No data pools available --</source>\n        <target>-- Brak danych puli -- </target>\n      </trans-unit>\n      <trans-unit id="b6fee356d1db954255a56d8169405a89595246b9" datatype="html">\n        <source>-- Select the storage backend --</source>\n        <target>-- Wybierz pamięć podręczną -- </target>\n      </trans-unit>\n      <trans-unit id="76d67035c3ab3d8e56f725859f820f03fda41cfc" datatype="html">\n        <source>Object Gateway User</source>\n        <target>Użytkownik dostępu obiektowego</target>\n      </trans-unit>\n      <trans-unit id="fade7788bace74337f306ae209f10fc187ef4671" datatype="html">\n        <source>-- No users available --</source>\n        <target>-- Brak dostępnych użytkowników -- </target>\n      </trans-unit>\n      <trans-unit id="6d30b7b36cf8f6364167321bdb4ba35d4cefce7b" datatype="html">\n        <source>-- Select the object gateway user --</source>\n        <target>-- Wybierz użytkownika dostępu obiektowego -- </target>\n      </trans-unit>\n      <trans-unit id="589ce20d3ba3e3ac44f75decfaadc4ea8f0aec2d" datatype="html">\n        <source>CephFS User ID</source>\n        <target>CephFS Użytkownik ID</target>\n      </trans-unit>\n      <trans-unit id="c4b88a53ac3b0ece46ba9b3ad72355a3c190cce7" datatype="html">\n        <source>-- No clients available --</source>\n        <target>-- Brak dostępnych klientów -- </target>\n      </trans-unit>\n      <trans-unit id="da52835b80497a0002d24414b057dc46ae44ce38" datatype="html">\n        <source>-- Select the cephx client --</source>\n        <target>-- Wybierz klienta cephx -- </target>\n      </trans-unit>\n      <trans-unit id="fd3419e8957d928d7f7ba19c93356a0dbff02871" datatype="html">\n        <source>CephFS Name</source>\n        <target>Nazwa CephFS</target>\n      </trans-unit>\n      <trans-unit id="ee3ba0ab5f0ccd597b3e44021c71e9aaad14df0a" datatype="html">\n        <source>-- No CephFS filesystem available --</source>\n        <target>-- No CephFS filesystem available --</target>\n      </trans-unit>\n      <trans-unit id="764c57812558b1ae66c5eec95d7efd2b1bf761e3" datatype="html">\n        <source>-- Select the CephFS filesystem --</source>\n        <target>-- Select the CephFS filesystem --</target>\n      </trans-unit>\n      <trans-unit id="957512d0321f73e9f115bce1bd823fa635170c41" datatype="html">\n        <source>Security Label</source>\n        <target>Etykieta bezpieczeństwa</target>\n      </trans-unit>\n      <trans-unit id="65ce0fa4da1ed55e658aeb31d1644a29f06bb342" datatype="html">\n        <source>Enable security label</source>\n        <target>Uruchom etykietę bezpieczeństwa</target>\n      </trans-unit>\n      <trans-unit id="7e808f804130c7b6ff719509cbc06ebb27393a48" datatype="html">\n        <source>CephFS Path</source>\n        <target>Ścieżka CephFS </target>\n      </trans-unit>\n      <trans-unit id="5ecc0107badb6625466aaa3f975b5c05276f432f" datatype="html">\n        <source>Path need to start with a \'/\' and can be followed by a word</source>\n        <target>Ścieżka powinna zaczynać się z \'/\' i następne może być słowo</target>\n      </trans-unit>\n      <trans-unit id="2d02916f44fc63e13ab16d1cbe72aa6cb51feab3" datatype="html">\n        <source>New directory will be created</source>\n        <target>Nowy katalog będzie stworzony. </target>\n      </trans-unit>\n      <trans-unit id="766c66ad5cc981c531aaf3fe3a2a7a346ddc8d83" datatype="html">\n        <source>Path</source>\n        <target>Ścieżka</target>\n      </trans-unit>\n      <trans-unit id="7ec35c722a50b976620f22612f7be619c12ceb90" datatype="html">\n        <source>Path can only be a single \'/\' or a word</source>\n        <target>Ścieżką może być tylko \'/\' albo słowo</target>\n      </trans-unit>\n      <trans-unit id="aebb6a5090c24511de4530195694bb3f3dcf0342" datatype="html">\n        <source>New bucket will be created</source>\n        <target>Nowe wiadro będzie stworzone </target>\n      </trans-unit>\n      <trans-unit id="bee6900143996c0e908a10564532eba3da0b30fb" datatype="html">\n        <source>NFS Protocol</source>\n        <target>Protokół NFS</target>\n      </trans-unit>\n      <trans-unit id="2f534178c01ebf1307da2eaeef04bc6801ebc729" datatype="html">\n        <source>NFSv3</source>\n        <target>NFSv3</target>\n      </trans-unit>\n      <trans-unit id="f5043c0921e709935ab026bb3253ffe1f159fca1" datatype="html">\n        <source>NFSv4</source>\n        <target>NFSv4</target>\n      </trans-unit>\n      <trans-unit id="92488963d23095985a47c0d6e62304e11d333f19" datatype="html">\n        <source>NFS Tag</source>\n        <target>Tag NFS</target>\n      </trans-unit>\n      <trans-unit id="aae93362720aea94623682996dd3fcd0f906f056" datatype="html">\n        <source>Alternative access for \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v3\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> mounts (it must not have a leading /).\n        </source>\n        <target>Alternative access for \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v3\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> mounts (it must not have a leading /).\n        </target>\n      </trans-unit>\n      <trans-unit id="45d6db77dcf1a3eeb921033abc7882e517a541cc" datatype="html">\n        <source>Clients may not mount subdirectories (i.e. if Tag = foo, the client may not mount foo/baz).</source>\n        <target>Klient może nie montować podkatalogów ( np. jeśli Tag = foo, klient może nie montować foo/baz) </target>\n      </trans-unit>\n      <trans-unit id="a1c7a8676b55e882a97c6a6fb205204f9c761afa" datatype="html">\n        <source>By using different Tag options, the same Path may be exported multiple times.</source>\n        <target>Używając różnych opcji Tagu, ta sama Ścieżka może być wyeksportowana kilka razy.</target>\n      </trans-unit>\n      <trans-unit id="6d2c39708a32910f89701dd7e1cfb9ec1c195768" datatype="html">\n        <source>Pseudo</source>\n        <target>Pseudo</target>\n      </trans-unit>\n      <trans-unit id="1f8be2ae25947bec0b84c2338201580ea053f34e" datatype="html">\n        <source>The position that this \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v4\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> export occupies\n                in the \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>Pseudo FS\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> (it must be unique).\n        </source>\n        <target>The position that this \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v4\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> export occupies\n                in the \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>Pseudo FS\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> (it must be unique).\n        </target>\n      </trans-unit>\n      <trans-unit id="f3af55f7fd5b1d9e5a53e030c80116dc635bfb9f" datatype="html">\n        <source>By using different Pseudo options, the same Path may be exported multiple times.</source>\n        <target>Używając różnych opcji Pseudo, ta sama Ścieżka może być wyeksportowana kilka razy.</target>\n      </trans-unit>\n      <trans-unit id="ddf98fcdeeb17643db020d54f42b5e56b5f9a52a" datatype="html">\n        <source>Pseudo needs to start with a \'/\' and can\'t contain any of the following: &gt;, &lt;, |, &amp;, ( or ).</source>\n        <target>Pseudo needs to start with a \'/\' and can\'t contain any of the following: &gt;, &lt;, |, &amp;, ( or ).</target>\n      </trans-unit>\n      <trans-unit id="27eb35c4b4ac08781a7253a2ab40f8f7d957ba51" datatype="html">\n        <source>-- No access type available --</source>\n        <target>-- Brak dostępnych typów dostępu --</target>\n      </trans-unit>\n      <trans-unit id="509ce016c9110a54028dafd741f15ceacbe74b5a" datatype="html">\n        <source>-- Select the access type --</source>\n        <target>-- Wybierz typ dostępu --</target>\n      </trans-unit>\n      <trans-unit id="49850390a653cd05dc5843d74ef073a9122b54c9" datatype="html">\n        <source>The Object Gateway NFS backend has a number of\n              limitations which will seriously affect applications writing to\n              the share. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for details before enabling write access.\n        </source>\n        <target>The Object Gateway NFS backend has a number of\n              limitations which will seriously affect applications writing to\n              the share. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for details before enabling write access.\n        </target>\n      </trans-unit>\n      <trans-unit id="4deda03573eaaff77e63f6a238a1f0ca7816950a" datatype="html">\n        <source>-- No squash available --</source>\n        <target>- Brak squasha -</target>\n      </trans-unit>\n      <trans-unit id="a0e82a4da88e7fdf270444f838d45849676e9d4b" datatype="html">\n        <source>--Select what kind of user id squashing is performed --</source>\n        <target>-- Wybierz, jakiego rodzaju identyfikacja użytkownika ma być przeprowadzana --</target>\n      </trans-unit>\n      <trans-unit id="d01b7c3f7f06712c53d054cfbe4f53d446b038e8" datatype="html">\n        <source>Transport Protocol</source>\n        <target>Protokół Transportu </target>\n      </trans-unit>\n      <trans-unit id="d2a6ad6e8bc315f07911722c05767ac79c136d99" datatype="html">\n        <source>UDP</source>\n        <target>UDP</target>\n      </trans-unit>\n      <trans-unit id="9c030f11e0aae9b24d2c048c57f29f590be621df" datatype="html">\n        <source>TCP</source>\n        <target>TCP</target>\n      </trans-unit>\n      <trans-unit id="734c9905951a774870497c5aaae8e3ee833b6196" datatype="html">\n        <source>CephFS</source>\n        <target>CephFS</target>\n      </trans-unit>\n      <trans-unit id="0eb15f32b2b92d7f3103ef3ff032621888a8dc32" datatype="html">\n        <source>Old password</source>\n        <target>Old password</target>\n      </trans-unit>\n      <trans-unit id="1cf42e491adc166a337a960eb84d03c0c3f677c8" datatype="html">\n        <source>The old and new passwords must be different.</source>\n        <target>The old and new passwords must be different.</target>\n      </trans-unit>\n      <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229" datatype="html">\n        <source>New password</source>\n        <target>New password</target>\n      </trans-unit>\n      <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b" datatype="html">\n        <source>Confirm new password</source>\n        <target>Confirm new password</target>\n      </trans-unit>\n      <trans-unit id="90163a3d3746819aef42e829f4446331232f3b66" datatype="html">\n        <source>Password confirmation doesn\'t match the new password.</source>\n        <target>Password confirmation doesn\'t match the new password.</target>\n      </trans-unit>\n      <trans-unit id="d06ae77f9ec46a4cdd49e7e76c73a411aaf2ee38" datatype="html">\n        <source>Please set a new password.</source>\n        <target>Please set a new password.</target>\n      </trans-unit>\n      <trans-unit id="8b5b3566e88438f51bd5f6caf6c090ed565ba5ed" datatype="html">\n        <source>You will be redirected to the login page afterwards.</source>\n        <target>You will be redirected to the login page afterwards.</target>\n      </trans-unit>\n      <trans-unit id="449dca3d3a93ead418b0541ea81b0dda7e6483c2" datatype="html">\n        <source>Welcome to Ceph!</source>\n        <target>Witamy w Cephie! </target>\n        <note>The welcome message on the login page</note>\n      </trans-unit>\n      <trans-unit id="0070e83d11da39d6f4bb95065c2675db1610b419" datatype="html">\n        <source>Username is required</source>\n        <target>Nazwa użytkownika jest wymagana</target>\n      </trans-unit>\n      <trans-unit id="1e20f8b8a4706526c9024cc2f39d568345d100dc" datatype="html">\n        <source>Password is required</source>\n        <target>Hasło jest wymagane.</target>\n      </trans-unit>\n      <trans-unit id="6765b4c916060f6bc42d9bb69e80377dbcb5e4e9" datatype="html">\n        <source>Login</source>\n        <target>Zaloguj</target>\n      </trans-unit>\n      <trans-unit id="58fc1b5c79a75370eb52644fd83fb2e7096b6649" datatype="html">\n        <source>Sorry, the user does not exist in Ceph.</source>\n        <target>Przepraszam, użytkownik nie istnieje w  Ceph.</target>\n      </trans-unit>\n      <trans-unit id="d9deb94f78e7c41b35c6622b874f06657d7604c1" datatype="html">\n        <source>Return to \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Login Page\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You\'ll be logged out from the Identity Provider when you retry logging in.\n        </source>\n        <target>Return to \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Login Page\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You\'ll be logged out from the Identity Provider when you retry logging in.\n        </target>\n      </trans-unit>\n      <trans-unit id="471e78026c258073ba687478dc54c35d9041ea42" datatype="html">\n        <source>Forbidden</source>\n        <target>Zakazany</target>\n      </trans-unit>\n      <trans-unit id="02ea8ad57677e3c63f3d7814ca5e6c7b74e360b4" datatype="html">\n        <source>Sorry, you are not allowed to see what you were looking for.</source>\n        <target>Przepraszam, nie masz dostępu do tego czego szukasz. </target>\n      </trans-unit>\n      <trans-unit id="2240b985f17293d84cc8532fe86994aa5f63667c" datatype="html">\n        <source>Sorry, we could not find what you were looking for.</source>\n        <target>Sorry, we could not find what you were looking for.</target>\n      </trans-unit>\n      <trans-unit id="ac54c18c1b520e948095c83a3a1025f02ce6dcc6" datatype="html">\n        <source>Neither hostname nor OSD ID given</source>\n        <target>Neither hostname nor OSD ID given</target>\n      </trans-unit>\n      <trans-unit id="4f635b3cb0600409a2ad44a5bd1863c699e6a01c" datatype="html">\n        <source>Failed to retrieve SMART data.</source>\n        <target>Failed to retrieve SMART data.</target>\n      </trans-unit>\n      <trans-unit id="d82a9af5b05e7cd17640f196f163771685ff8df6" datatype="html">\n        <source>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</source>\n        <target>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</target>\n      </trans-unit>\n      <trans-unit id="04f8a3c7e8ac610e6581960162cc15f55a16696a" datatype="html">\n        <source>No SMART data available.</source>\n        <target>No SMART data available.</target>\n      </trans-unit>\n      <trans-unit id="3a03d3c2e459f8f8fa7202c0fce465d6165f9e2b" datatype="html">\n        <source>passed</source>\n        <target>passed</target>\n      </trans-unit>\n      <trans-unit id="a185c9b97513b3882604ea9bab60edbfac945c15" datatype="html">\n        <source>SMART overall-health self-assessment test result</source>\n        <target>SMART overall-health self-assessment test result</target>\n      </trans-unit>\n      <trans-unit id="41435d5a5692c8e412c74deaee95d99dbd3617e1" datatype="html">\n        <source>failed</source>\n        <target>failed</target>\n      </trans-unit>\n      <trans-unit id="ddd5dd6d930030096ea617f62c82b648a0dd9484" datatype="html">\n        <source>Device Information</source>\n        <target>Device Information</target>\n      </trans-unit>\n      <trans-unit id="380295f37caea93701d071485a38ef0bdba57133" datatype="html">\n        <source>No SMART data available for this device.</source>\n        <target>No SMART data available for this device.</target>\n      </trans-unit>\n      <trans-unit id="20cb12827cbe559a7b1da6fdae96041b3b5c3c55" datatype="html">\n        <source>SMART</source>\n        <target>SMART</target>\n      </trans-unit>\n      <trans-unit id="5758c3f16f8749f0f4e2a787f02e8b4da246102f" datatype="html">\n        <source>SMART data is loading.</source>\n        <target>SMART data is loading.</target>\n      </trans-unit>\n      <trans-unit id="a949d7e577902d0e5dc5d0971bb0170a21be7728" datatype="html">\n        <source>[object Object]</source>\n        <target>[object Object]</target>\n      </trans-unit>\n      <trans-unit id="ff92fbdec9fdd5054493eeda0d7ee8b450f83e72" datatype="html">\n        <source>RBD Configuration</source>\n        <target>Konfiguracja RBD</target>\n      </trans-unit>\n      <trans-unit id="b62d9efc8eb3b589904f6cb96a0406bbda55673a" datatype="html">\n        <source>Remove the local configuration value. The parent configuration value will be inherited and used instead.</source>\n        <target>Usuń wartość konfiguracji lokalnej. Wartość konfiguracji rodzica będzie odziedziczona i zostanie użyta zamiast tej.</target>\n      </trans-unit>\n      <trans-unit id="963488a1010d46067b238c4ae917fab3907c0a3a" datatype="html">\n        <source>The mininum value is 0</source>\n        <target>Minimalna wartość wynosi 0.</target>\n      </trans-unit>\n      <trans-unit id="1d8a7c8aea58294a3c57c23af0468ddf0ba0c9c7" datatype="html">\n        <source>Pools List</source>\n        <target>Lista puli</target>\n      </trans-unit>\n      <trans-unit id="490e15ecc922965b6d8194754c87c5583aa071f3" datatype="html">\n        <source>The name can only consist of alphanumeric characters, dashes and underscores.</source>\n        <target>Nazwa może składać się z alfanumerycznych znaków, kresek i podkreśleń.</target>\n      </trans-unit>\n      <trans-unit id="9edc2b494e660618af3e5225f68d40b7ca67629c" datatype="html">\n        <source>The chosen erasure code profile name is already in use.</source>\n        <target>Wybrana nazwa profilu kodu kasowania jest już używana.</target>\n      </trans-unit>\n      <trans-unit id="35a4206db3105ed03e0dd799e1642b75b78123e8" datatype="html">\n        <source>Root</source>\n        <target>Root</target>\n      </trans-unit>\n      <trans-unit id="cf425784c7073c7e7f7c1bb90c2c19db7e751db2" datatype="html">\n        <source>Failure domain type</source>\n        <target>Failure domain type</target>\n      </trans-unit>\n      <trans-unit id="72396a9565cf644d1fe1b21b790c4243ee270986" datatype="html">\n        <source>Device class</source>\n        <target>Device class</target>\n      </trans-unit>\n      <trans-unit id="72d80e0c07bfea1b693a33ef2245007de92a6780" datatype="html">\n        <source>Let Ceph decide</source>\n        <target>Let Ceph decide</target>\n      </trans-unit>\n      <trans-unit id="ef9ff0e6227947b48dfab4ac39ade04af758913b" datatype="html">\n        <source>Plugin</source>\n        <target>Wtyczka</target>\n      </trans-unit>\n      <trans-unit id="dd69b31bce8f630eac1d4762b0bbcf72ce19d193" datatype="html">\n        <source>Data chunks (k)</source>\n        <target>Ramka danych (k)</target>\n      </trans-unit>\n      <trans-unit id="b0d26a6172d32cb81218fe2103c54a818cbc1189" datatype="html">\n        <source>Must be equal to or greater than 2.</source>\n        <target>Musi być większa bądź równa 2.</target>\n      </trans-unit>\n      <trans-unit id="dab3a299ead121169b8e08ed618c3b6a2f66691b" datatype="html">\n        <source>Coding chunks (m)</source>\n        <target>Kodowanie kawałka (m)</target>\n      </trans-unit>\n      <trans-unit id="1e2773e5bd4948193f18f2361d663ecc3988c656" datatype="html">\n        <source>Must be equal to or greater than 1.</source>\n        <target>Musi być większa bądź równa 1.</target>\n      </trans-unit>\n      <trans-unit id="6cde4c945a49a260c0a47bcc7cd956846930a5f7" datatype="html">\n        <source>Durability estimator (c)</source>\n        <target>Estymator trwałości (c)</target>\n      </trans-unit>\n      <trans-unit id="af668c2a095a979ea2b4e43cd82c2120ab56c21c" datatype="html">\n        <source>Locality (l)</source>\n        <target>Lokalność  (l)</target>\n      </trans-unit>\n      <trans-unit id="d455a110bf6d2235e314e295ce1dfeee93d3dff2" datatype="html">\n        <source>Crush failure domain</source>\n        <target>Domena niepowodzenia Crush</target>\n      </trans-unit>\n      <trans-unit id="b74a495f041f7dd102eee5c0bbc9e03083b538ae" datatype="html">\n        <source>Crush Locality</source>\n        <target>Lokalność Crusha</target>\n      </trans-unit>\n      <trans-unit id="a2f14a73f7a6e94479f67423cc51102da8d6f524" datatype="html">\n        <source>None</source>\n        <target>Nic</target>\n      </trans-unit>\n      <trans-unit id="2981733b912b693a9dd9d915d6d34f4692cc874a" datatype="html">\n        <source>Technique</source>\n        <target>Technika</target>\n      </trans-unit>\n      <trans-unit id="e0098b6e47b04ec817361f384ce81d454ba5c0bb" datatype="html">\n        <source>Packetsize</source>\n        <target>Rozmiar pakietu</target>\n      </trans-unit>\n      <trans-unit id="c0252cd81ca54d0a2f69ec9ccf4248e73df5aa4a" datatype="html">\n        <source>Crush root</source>\n        <target>korzeń Crusha</target>\n      </trans-unit>\n      <trans-unit id="1548d5c76f0406ddd1ba3c557e1e6db22e95b340" datatype="html">\n        <source>Crush device class</source>\n        <target>urządzenie klasy Crush</target>\n      </trans-unit>\n      <trans-unit id="5e85feb6f9f0334366e46ee09ca6b8df52397432" datatype="html">\n        <source>any</source>\n        <target>którykolwiek</target>\n      </trans-unit>\n      <trans-unit id="03d84645f6e019c5a43909bbf2ea1696ee88332c" datatype="html">\n        <source>Directory</source>\n        <target>Katalog</target>\n      </trans-unit>\n      <trans-unit id="2fecea01ce1d44114ee45144eff6d47a5016a74f" datatype="html">\n        <source>Name...</source>\n        <target>Nazwa...</target>\n      </trans-unit>\n      <trans-unit id="16e113230b6b0d3165e076300880542bac7c8138" datatype="html">\n        <source>The chosen Ceph pool name is already in use.</source>\n        <target>Wybrana nazwa Ceph pula jest już użyta.</target>\n      </trans-unit>\n      <trans-unit id="c75b132bef7b29fa5171768303c4b96e34ccaf68" datatype="html">\n        <source>It\'s not possible to create an RBD pool with \'/\' in the name.\n              Please change the name or remove \'rbd\' from the applications list.</source>\n        <target>It\'s not possible to create an RBD pool with \'/\' in the name.\n              Please change the name or remove \'rbd\' from the applications list.</target>\n      </trans-unit>\n      <trans-unit id="171dc6d5c6bc4615d99778b0088cae80fd00bd10" datatype="html">\n        <source>Pool name can only contain letters, numbers, \'.\', \'-\', \'_\' or \'/\'.</source>\n        <target>Pool name can only contain letters, numbers, \'.\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="b85c657469e5ec8231c3de99b22f437bc01ffde5" datatype="html">\n        <source>Pool type</source>\n        <target>Typ pula</target>\n      </trans-unit>\n      <trans-unit id="526c5443254c3b126eedb264840ffe827727bfd3" datatype="html">\n        <source>-- Select a pool type --</source>\n        <target>-- Wybierz typ pula --</target>\n      </trans-unit>\n      <trans-unit id="6abfbe47b630929d93c7343dc154599c2e59330a" datatype="html">\n        <source>PG Autoscale</source>\n        <target>PG Autoscale</target>\n      </trans-unit>\n      <trans-unit id="0aa21053410a94aa61d16985a4e95fd65523430d" datatype="html">\n        <source>Placement groups</source>\n        <target>Grupa umieszczenia</target>\n      </trans-unit>\n      <trans-unit id="6301f1391d726f8f450bb358058534db19541ca9" datatype="html">\n        <source>At least one placement group is needed!</source>\n        <target>Przynajmniej jedna grupa umieszczenia jest wymagana</target>\n      </trans-unit>\n      <trans-unit id="ba9469a1ce6ed36e039c1f67247c8c81a5c71449" datatype="html">\n        <source>Your cluster can\'t handle this many PGs. Please recalculate the PG amount needed.</source>\n        <target>Twój klaster nie obsługuje tylu PG. Skalkuluj proszę potrzebną ilość PG.</target>\n      </trans-unit>\n      <trans-unit id="80ac68cd883369dac20688bc32b4cb33291b5e50" datatype="html">\n        <source>Calculation help</source>\n        <target>Pomoc obliczeniowa</target>\n      </trans-unit>\n      <trans-unit id="fccbd60493df26705d957ed6c02a3c447894678f" datatype="html">\n        <source>The current PGs settings were calculated for you, you\n                should make sure the values suit your needs before submit.</source>\n        <target>The current PGs settings were calculated for you, you\n                should make sure the values suit your needs before submit.</target>\n      </trans-unit>\n      <trans-unit id="a43b2695131b48b76cebba676aba98a2bee17515" datatype="html">\n        <source>Replicated size</source>\n        <target>Replikowany rozmiar</target>\n      </trans-unit>\n      <trans-unit id="7bff144a4c4dc63b0e18fff2617d61a7ebdf2b6c" datatype="html">\n        <source>Minimum: \n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/>\n        </source>\n        <target>Minimum: \n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="1a9c54b41f6d58a74e5d0aa3429ed0c87a482551" datatype="html">\n        <source>Maximum: \n          <x id="INTERPOLATION" equiv-text="{{ getMaxSize() }}"/>\n        </source>\n        <target>Maximum: \n          <x id="INTERPOLATION" equiv-text="{{ getMaxSize() }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6ab647b95bd2347ae6f4605576de5e0269fb893a" datatype="html">\n        <source>The size specified is out of range. A value from\n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/> to \n          <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.\n        </source>\n        <target>The size specified is out of range. A value from\n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/> to \n          <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.\n        </target>\n      </trans-unit>\n      <trans-unit id="920617c6a1a4805e53bcb5af6a9c76f8387e89c6" datatype="html">\n        <source>Flags</source>\n        <target>Flagi</target>\n      </trans-unit>\n      <trans-unit id="1c870fb00256b8a5b9cb9cd1a124e6390b9bc639" datatype="html">\n        <source>EC Overwrites</source>\n        <target>EC Nadpisuje</target>\n      </trans-unit>\n      <trans-unit id="f1abafaeb40ce52355ddcc24686e3cd17b64e08a" datatype="html">\n        <source>Applications</source>\n        <target>Zastosowania</target>\n      </trans-unit>\n      <trans-unit id="fb9308b82fc183f710df60909f49cfc73aa5e076" datatype="html">\n        <source>CRUSH</source>\n        <target>CRUSH</target>\n      </trans-unit>\n      <trans-unit id="9de7dde00e2139cc4bd03b1837afbe72ad15a1ff" datatype="html">\n        <source>Erasure code profile</source>\n        <target>Skasuj profil kodu.</target>\n      </trans-unit>\n      <trans-unit id="39b4620e6bd444e0a57a0a5c03fa8c96d7fe5235" datatype="html">\n        <source>-- No erasure code profile available --</source>\n        <target>-- Brak profilu kasowania --</target>\n      </trans-unit>\n      <trans-unit id="498561757390d5528b263ce450d5f38efb00266d" datatype="html">\n        <source>-- Select an erasure code profile --</source>\n        <target>-- Wybierz profil kodu wymazywania --</target>\n      </trans-unit>\n      <trans-unit id="33150f22ce5348aa6c499bd092c3f4f3695d62cc" datatype="html">\n        <source>Crush ruleset</source>\n        <target>zbiór zasad Crush</target>\n      </trans-unit>\n      <trans-unit id="c69b0bcd4698aa845d32c4c4ad488492552cb469" datatype="html">\n        <source>A new crush ruleset will be implicitly created.</source>\n        <target>A new crush ruleset will be implicitly created.</target>\n      </trans-unit>\n      <trans-unit id="896e9987db5e9bb279e6deed5d2dff28c242ef66" datatype="html">\n        <source>There are no rules.</source>\n        <target>There are no rules.</target>\n      </trans-unit>\n      <trans-unit id="73a6b31116b3cc322af951daa0bafdc169e6c42e" datatype="html">\n        <source>-- Select a crush rule --</source>\n        <target>-- Wybierz zasadę Crush --</target>\n      </trans-unit>\n      <trans-unit id="ea91d648f92002bc9f96d9b26b735c83ca0b53c6" datatype="html">\n        <source>This rule can\'t be deleted as it is in use.</source>\n        <target>This rule can\'t be deleted as it is in use.</target>\n      </trans-unit>\n      <trans-unit id="92da80699921e89fb19372e25b8d0f3b9fa427fc" datatype="html">\n        <source>Crush rule</source>\n        <target>zasada Crush</target>\n      </trans-unit>\n      <trans-unit id="5489e9f96835f469f6f728a00d8efa88ea5bc940" datatype="html">\n        <source>Crush steps</source>\n        <target>Kroki Crush</target>\n      </trans-unit>\n      <trans-unit id="fc5f5496a9e50fe69e1a09784f28d94944108294" datatype="html">\n        <source>Rule is not in use.</source>\n        <target>Rule is not in use.</target>\n      </trans-unit>\n      <trans-unit id="023d6f718770d2ea4ab8cabe26b0ec27ef967ec2" datatype="html">\n        <source>Used by pools</source>\n        <target>Used by pools</target>\n      </trans-unit>\n      <trans-unit id="104a0e6900d1d1b0c8cf9e5947e36edb352583fc" datatype="html">\n        <source>The rule can\'t be used in the current cluster as it has\n                  too few OSDs to meet the minimum required OSD by this rule.</source>\n        <target>The rule can\'t be used in the current cluster as it has\n                  too few OSDs to meet the minimum required OSD by this rule.</target>\n      </trans-unit>\n      <trans-unit id="2208d63d5940ce656006a220102b1eb2b5e553da" datatype="html">\n        <source>Compression</source>\n        <target>Kompresja</target>\n      </trans-unit>\n      <trans-unit id="37e10df2d9c0c25ef04ac112c9c9a7723e8efae0" datatype="html">\n        <source>Mode</source>\n        <target>Tryb</target>\n      </trans-unit>\n      <trans-unit id="6c6f25c47da62ec597c6057a36ddfc3209811ec5" datatype="html">\n        <source>Algorithm</source>\n        <target>Algorytm</target>\n      </trans-unit>\n      <trans-unit id="4903231d42089325a28892c0fde1aed46b733ae6" datatype="html">\n        <source>-- No erasure compression algorithm available --</source>\n        <target>-- Brak algorytmu kompresji wymazywania --</target>\n      </trans-unit>\n      <trans-unit id="5d68ddb254275f8f44221e9ad6d8ceeb59ca46a6" datatype="html">\n        <source>Minimum blob size</source>\n        <target>Minimalny rozmiar blob</target>\n      </trans-unit>\n      <trans-unit id="fb2f176df80647137cbb02bbeb29e5dec707a400" datatype="html">\n        <source>e.g., 128KiB</source>\n        <target>np. 128 KB</target>\n      </trans-unit>\n      <trans-unit id="1b7f6e53a4521c6eb3ced4c007fdd4cf80bb7707" datatype="html">\n        <source>Value should be greater than 0</source>\n        <target>Wartość powinna być większa niż 0</target>\n      </trans-unit>\n      <trans-unit id="8db98ab14b4e207ec763dfdefbc2dae367aab1cc" datatype="html">\n        <source>Value should be less than the maximum blob size</source>\n        <target>Value should be less than the maximum blob size</target>\n      </trans-unit>\n      <trans-unit id="151efb127a9a4dd25259a0b2055442318a141f5b" datatype="html">\n        <source>Maximum blob size</source>\n        <target>Maksymalny rozmiar blob</target>\n      </trans-unit>\n      <trans-unit id="0c656f0e346bbadf46eb1a5d20d0307a3bd20ba8" datatype="html">\n        <source>e.g., 512KiB</source>\n        <target>np. 512 KB</target>\n      </trans-unit>\n      <trans-unit id="0a65a24eee8a026f3b1113fe9e157e9a0dd69486" datatype="html">\n        <source>Value should be greater than the minimum blob size</source>\n        <target>Wartość powinna być większa niż minimalny rozmiar blob</target>\n      </trans-unit>\n      <trans-unit id="261ba09c4a59de83f48f52a23fd328da37e61ff4" datatype="html">\n        <source>Ratio</source>\n        <target>Stosunek</target>\n      </trans-unit>\n      <trans-unit id="c1430457a9c3c66366e51d76bf10396014c576be" datatype="html">\n        <source>Compression ratio</source>\n        <target>Skompresowany stosunek</target>\n      </trans-unit>\n      <trans-unit id="ae5ce6de352cde949998fb10754459c3a4eb183b" datatype="html">\n        <source>Value should be between 0.0 and 1.0</source>\n        <target>Wartość powinna być pomiędzy 0.0, a 1.0</target>\n      </trans-unit>\n      <trans-unit id="8bb8293aa8161433778762ae025ffd5e7c85795e" datatype="html">\n        <source>Quotas</source>\n        <target>Quotas</target>\n      </trans-unit>\n      <trans-unit id="d99b34162c9c34f10d0ccd8dbae83d8569c2db77" datatype="html">\n        <source>Max bytes</source>\n        <target>Max bytes</target>\n      </trans-unit>\n      <trans-unit id="a1d14a18879c62f3f4ed705318b7164a1160e249" datatype="html">\n        <source>Leave it blank or specify 0 to disable this quota.</source>\n        <target>Leave it blank or specify 0 to disable this quota.</target>\n      </trans-unit>\n      <trans-unit id="7565b131562ff6c5f769fdbd239a772154abdd97" datatype="html">\n        <source>A valid quota should be greater than 0.</source>\n        <target>A valid quota should be greater than 0.</target>\n      </trans-unit>\n      <trans-unit id="f0016bd458baa88284a658ce9eeda42d8ad88d2c" datatype="html">\n        <source>e.g., 10GiB</source>\n        <target>np. 10 GiB</target>\n      </trans-unit>\n      <trans-unit id="b8bf35b66f09a301eef92ffc3cb2fd259df67ce9" datatype="html">\n        <source>Max objects</source>\n        <target>Max objects</target>\n      </trans-unit>\n      <trans-unit id="95f348167622d832c5ae532b6944635c8e2ae5cb" datatype="html">\n        <source>The value should be greater or equal to 0</source>\n        <target>The value should be greater or equal to 0</target>\n      </trans-unit>\n      <trans-unit id="4f8b2bb476981727ab34ed40fde1218361f92c45" datatype="html">\n        <source>Details</source>\n        <target>Szczegóły</target>\n      </trans-unit>\n      <trans-unit id="fbbaf5cb02ed419e79a27072478f716a4666a99d" datatype="html">\n        <source>Performance Details</source>\n        <target>Szczegóły wydajności</target>\n      </trans-unit>\n      <trans-unit id="3938a411d76796f8ae73b72ea4c77661207453bd" datatype="html">\n        <source>Cache Tiers Details</source>\n        <target>Szczegóły poziomów pamięci podręcznej</target>\n      </trans-unit>\n      <trans-unit id="ecbc084370a732fc3cde1966a60af78d71424ab4" datatype="html">\n        <source>Create Bootstrap Token</source>\n        <target>Create Bootstrap Token</target>\n      </trans-unit>\n      <trans-unit id="603e9cc3ef2aab57f2b0a00e465b23b9cabefd9c" datatype="html">\n        <source>To create a bootstrap token which can be imported\n          by a peer site cluster, provide the local site\'s name, select\n          which pools will have mirroring enabled, and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Generate\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>To create a bootstrap token which can be imported\n          by a peer site cluster, provide the local site\'s name, select\n          which pools will have mirroring enabled, and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Generate\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="660f97cd3188f8a04bd03b79e703fec72c6df04c" datatype="html">\n        <source>Site Name</source>\n        <target>Site Name</target>\n      </trans-unit>\n      <trans-unit id="8c2a1dc72cffaf7ab3dc5599bf77b0a7fcad2b20" datatype="html">\n        <source>At least one pool is required.</source>\n        <target>At least one pool is required.</target>\n      </trans-unit>\n      <trans-unit id="1b258b258b4cc475ceb2871305b61756b0134f4a" datatype="html">\n        <source>Generate</source>\n        <target>Generate</target>\n      </trans-unit>\n      <trans-unit id="1edc1fc6cfbbb22353050ad6788508b3ed584f53" datatype="html">\n        <source>Token</source>\n        <target>Token</target>\n      </trans-unit>\n      <trans-unit id="ff785f5596aef34a93b9b4d1023e95c62eef5740" datatype="html">\n        <source>Generated token...</source>\n        <target>Generated token...</target>\n      </trans-unit>\n      <trans-unit id="5467a6bb0e7fade6def7499400d5e2a7d8d3da20" datatype="html">\n        <source>Import Bootstrap Token</source>\n        <target>Import Bootstrap Token</target>\n      </trans-unit>\n      <trans-unit id="9bb7aee0dec5164f45c0aa2f35f2fb2149d2c1d2" datatype="html">\n        <source>To import a bootstrap token which was created\n          by a peer site cluster, provide the local site\'s name, select\n          which pools will have mirroring enabled, provide the generated\n          token, and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Import\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>To import a bootstrap token which was created\n          by a peer site cluster, provide the local site\'s name, select\n          which pools will have mirroring enabled, provide the generated\n          token, and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Import\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="9200e09686136a1d42adfb89c12fbfef2deea125" datatype="html">\n        <source>Direction</source>\n        <target>Direction</target>\n      </trans-unit>\n      <trans-unit id="9761484679958da8d12841a4efa5964d33fae575" datatype="html">\n        <source>The token is invalid.</source>\n        <target>The token is invalid.</target>\n      </trans-unit>\n      <trans-unit id="a059709f71aa4c0ac219e160e78a738682ca6a36" datatype="html">\n        <source>Import</source>\n        <target>Import</target>\n      </trans-unit>\n      <trans-unit id="b87bd96249f8afc23f5301cddb57b1464a98e71a" datatype="html">\n        <source>Edit site name</source>\n        <target>Edit site name</target>\n      </trans-unit>\n      <trans-unit id="cfff72c667274c12eb1ff71eadc25871c10c42dc" datatype="html">\n        <source>Edit the site name and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>Edit the site name and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="40b7acea5b43f45e0bbd1efeba5200af4687981d" datatype="html">\n        <source>Site Name:</source>\n        <target>Site Name:</target>\n      </trans-unit>\n      <trans-unit id="f0b5d789d42c0e69348e5fe0037fcbf5b5fbbdcc" datatype="html">\n        <source>Move an image to trash</source>\n        <target>Przenieś obraz do kosza</target>\n      </trans-unit>\n      <trans-unit id="7ad22c1d4aab3b8946603cea62de266d5129ca10" datatype="html">\n        <source>This image contains snapshot(s), which will prevent it\n            from being removed after moved to trash.</source>\n        <target>This image contains snapshot(s), which will prevent it\n            from being removed after moved to trash.</target>\n      </trans-unit>\n      <trans-unit id="b4b3ced4f8aad4c446f348b14c3d94be2e2c350c" datatype="html">\n        <source>To move \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ imageSpecStr }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,\n          click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optionally, you can pick an expiration date.\n        </source>\n        <target>To move \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ imageSpecStr }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,\n          click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optionally, you can pick an expiration date.\n        </target>\n      </trans-unit>\n      <trans-unit id="88f27d390844aad53b4240360e928156c5f0d326" datatype="html">\n        <source>Protection expires at</source>\n        <target>Zabezpieczenie wygasa w </target>\n      </trans-unit>\n      <trans-unit id="da166e9a0d27322f6ba8916d71ecc0f9905bb4b1" datatype="html">\n        <source>NOT PROTECTED</source>\n        <target>NIEZABEZPIECZONY </target>\n      </trans-unit>\n      <trans-unit id="a1506e5f2ca22cad14502ec7a20fb6113ace145d" datatype="html">\n        <source>Wrong date format. Please use "YYYY-MM-DD HH:mm:ss".</source>\n        <target>Zły format daty. Proszę używać "RRRR-MM-DD GG:mm:ss".</target>\n      </trans-unit>\n      <trans-unit id="aa7ea0bb7495281e0b3258467ac7d90a1e44a1a1" datatype="html">\n        <source>Protection has already expired. Please pick a future date or leave it empty.</source>\n        <target>Ochrona już wygasła. Proszę wybrać przyszłą datę lub zostawić pustą.</target>\n      </trans-unit>\n      <trans-unit id="536b3205c0c0d4d21685ec06feccfcf2fe14deb1" datatype="html">\n        <source>Move Image</source>\n        <target>Przenieś obraz</target>\n      </trans-unit>\n      <trans-unit id="c9f1026c1235f4d76ace47449e806efd181ab332" datatype="html">\n        <source>Deleting this image will also delete all its snapshots.</source>\n        <target>Deleting this image will also delete all its snapshots.</target>\n      </trans-unit>\n      <trans-unit id="55f864597e84d9bf88769e1fbfda1d64452430c9" datatype="html">\n        <source>The following snapshots are currently protected and will be removed:</source>\n        <target>The following snapshots are currently protected and will be removed:</target>\n      </trans-unit>\n      <trans-unit id="8a9910cd114c1deb9af74f6f99b4173403965bf2" datatype="html">\n        <source>Gateways</source>\n        <target>Gateways</target>\n      </trans-unit>\n      <trans-unit id="8835b9e49a3348b0a2f2162c21118af1f4bee45a" datatype="html">\n        <source>Must be greater than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'min\'] }}"/>.\n        </source>\n        <target>Must be greater than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'min\'] }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="bbddac59563c8c126e3fe28691e4e247614fcbd1" datatype="html">\n        <source>Must be less than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'max\'] }}"/>.\n        </source>\n        <target>Must be less than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'max\'] }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="e95ae009d0bdb45fcc656e8b65248cf7396080d5" datatype="html">\n        <source>Overview</source>\n        <target>Przegląd</target>\n      </trans-unit>\n      <trans-unit id="bbd2045d5c37e4bb39a3c0fb62ea1ddf70a12838" datatype="html">\n        <source>Targets</source>\n        <target>Obiekty docelowe</target>\n      </trans-unit>\n      <trans-unit id="6803e31b7395d94934e091a49a9524026b59b018" datatype="html">\n        <source>Discovery Authentication</source>\n        <target>Uwierzytelnianie wykrywania</target>\n      </trans-unit>\n      <trans-unit id="e08a77594f3d89311cdf6da5090044270909c194" datatype="html">\n        <source>User</source>\n        <target>Użytkownik</target>\n      </trans-unit>\n      <trans-unit id="0214f773f8e394f50f953f39962e352d7863e959" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n              can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Nazwy użytkowników muszą mieć długość od 8 do 64 znaków i \nmogą zawierać jedynie litery, \'.\', \'@\', \'-\', \'_\' lub \':\'.</target>\n      </trans-unit>\n      <trans-unit id="c32ef07f8803a223a83ed17024b38e8d82292407" datatype="html">\n        <source>Password</source>\n        <target>Hasło</target>\n      </trans-unit>\n      <trans-unit id="6682d1c00263bee204583a5d589b308b6be88b0f" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n              and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n              and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="ff40391de7a1944ea95091e4045cc34c4979b736" datatype="html">\n        <source>Mutual User</source>\n        <target>Wspólny użytkownik </target>\n      </trans-unit>\n      <trans-unit id="0cf73dbebe99b737c4d288788182fc356e3c93d3" datatype="html">\n        <source>Mutual Password</source>\n        <target>Wspólne hasło</target>\n      </trans-unit>\n      <trans-unit id="8800276925157c666b103c36ff7fe8ffe11980b4" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters and\n              can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters and\n              can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="53a583cd5f15059cc958b7d547f72cc78f68e123" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n    on how to configure and enable the iSCSI Targets management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n    on how to configure and enable the iSCSI Targets management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="3b301d0044f62c92af0da53d7aaca52a436a547d" datatype="html">\n        <source>Available information:</source>\n        <target>Dostępne informacje: </target>\n      </trans-unit>\n      <trans-unit id="332227f088a4877b3c11f5fb3ae8bc812c470fae" datatype="html">\n        <source>iSCSI Targets not available</source>\n        <target>obiekty docelowe iSCSI niedostępne </target>\n      </trans-unit>\n      <trans-unit id="8414a5cb9d71cc1b21b10e4a9d1f2dad558f3361" datatype="html">\n        <source>Discovery authentication</source>\n        <target>Discovery authentication</target>\n      </trans-unit>\n      <trans-unit id="0f6e8f6094b180eaf1f11bc0ffe383f1cdcd059e" datatype="html">\n        <source>Only available for RBD images with \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>fast-diff\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> enabled\n        </source>\n        <target>Only available for RBD images with \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>fast-diff\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> enabled\n        </target>\n      </trans-unit>\n      <trans-unit id="e70fcca5a99575cffef3ff8cbd5e69f06ffd0f1c" datatype="html">\n        <source>Pool</source>\n        <target>Pul</target>\n      </trans-unit>\n      <trans-unit id="03cc5b14b0a20d075e9009ff021f4f1660ba348a" datatype="html">\n        <source>Data Pool</source>\n        <target>Dane pula</target>\n      </trans-unit>\n      <trans-unit id="1b051734b0ee9021991c91b3ed4e81c244322462" datatype="html">\n        <source>Created</source>\n        <target>Utworzony</target>\n      </trans-unit>\n      <trans-unit id="7faaaa08f56427999f3be41df1093ce4089bbd75" datatype="html">\n        <source>Size</source>\n        <target>Rozmiar</target>\n      </trans-unit>\n      <trans-unit id="afdb601c16162f2c798b16a2920955f1cc6a20aa" datatype="html">\n        <source>Objects</source>\n        <target>Obiekty</target>\n      </trans-unit>\n      <trans-unit id="ceac8e132384322ec778ba760875a6c6897d3e42" datatype="html">\n        <source>Object size</source>\n        <target>Rozmiar obiektu</target>\n      </trans-unit>\n      <trans-unit id="0a65771c9a73b9aa609d592fc96a64801a8f40bd" datatype="html">\n        <source>Provisioned</source>\n        <target>Zaopatrzony</target>\n      </trans-unit>\n      <trans-unit id="84a36cb75660b736773fe36ffa3d54f0f0fe363e" datatype="html">\n        <source>N/A</source>\n        <target>Niedostępny</target>\n      </trans-unit>\n      <trans-unit id="e5c009342a4e8381f64341d0bb61c2e4685f5a4b" datatype="html">\n        <source>Total provisioned</source>\n        <target>Całkowite rezerwy</target>\n      </trans-unit>\n      <trans-unit id="7f6bf8a43ae415f527ac961ea62471b983aaa97b" datatype="html">\n        <source>Striping unit</source>\n        <target>Jednostka maskowana</target>\n      </trans-unit>\n      <trans-unit id="db710e8a8f011923f2d15d713fbae49c38b02b26" datatype="html">\n        <source>Striping count</source>\n        <target>Licznik maskowania</target>\n      </trans-unit>\n      <trans-unit id="3a4c2a9e76634ff14a60d52a718296f722d47c67" datatype="html">\n        <source>Parent</source>\n        <target>Rodzic</target>\n      </trans-unit>\n      <trans-unit id="6a209e68d78ffc2cc9c53d2e76158624efab71ad" datatype="html">\n        <source>Block name prefix</source>\n        <target>Prefiks nazwy bloku</target>\n      </trans-unit>\n      <trans-unit id="5704ec2049d007c5f5fb495a5d8b607e68d58081" datatype="html">\n        <source>Order</source>\n        <target>Zamówienie</target>\n      </trans-unit>\n      <trans-unit id="f21b1d17b6c5042bb5805516eee37fde33739dd8" datatype="html">\n        <source>Snapshots</source>\n        <target>Migawki</target>\n      </trans-unit>\n      <trans-unit id="a5f9ba9bb9faa8284bcadb1cdbc6aaf969e9c4bb" datatype="html">\n        <source>Image</source>\n        <target>Obraz</target>\n      </trans-unit>\n      <trans-unit id="58e58f1a8786da9031a05e6770c5dafce82badf5" datatype="html">\n        <source>This setting overrides the global value</source>\n        <target>To ustawienie zastępuję wartość globalną.</target>\n      </trans-unit>\n      <trans-unit id="5decb3917d46a9ac6e5813699801becb7c3c1455" datatype="html">\n        <source>Global</source>\n        <target>Globalne</target>\n      </trans-unit>\n      <trans-unit id="36b46714164964c6258b08ed0a25f57d8a950f92" datatype="html">\n        <source>This is the global value. No value for this option has been set for this image.</source>\n        <target>To jest globalna wartość. Dla tego obrazu nie ustawiono żadnej wartości dla tej opcji.</target>\n      </trans-unit>\n      <trans-unit id="6547c9c4d5f62942ac4b1fe459cf9a03d4dbf5a0" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/> from\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/> from\n        </target>\n      </trans-unit>\n      <trans-unit id="0e9ecf29a4fa5b057bd8052e0d801b3fde6a30bf" datatype="html">\n        <source>\'/\' and \'@\' are not allowed.</source>\n        <target>\'/\' and \'@\' nie są dozwolone.</target>\n      </trans-unit>\n      <trans-unit id="b99417c4dd46286ffd37c8d2e987c8b512ec7052" datatype="html">\n        <source>-- No rbd pools available --</source>\n        <target>-- Brak dostępnych rbd puli --  </target>\n      </trans-unit>\n      <trans-unit id="ef83ec9c304a89d45650e580dcdc2978c37b3a83" datatype="html">\n        <source>-- Select a pool --</source>\n        <target>-- Wybierz pul --</target>\n      </trans-unit>\n      <trans-unit id="d649904466254d13df1fbf2d255f0bbc6553d213" datatype="html">\n        <source>-- No namespaces available --</source>\n        <target>-- No namespaces available --</target>\n      </trans-unit>\n      <trans-unit id="e22d7bb4d2d561e0832ee0b9a3da2468a080c4f0" datatype="html">\n        <source>-- Select a namespace --</source>\n        <target>-- Select a namespace --</target>\n      </trans-unit>\n      <trans-unit id="49449943d8cbf59d8c401c8bd2e76f92e207cc5f" datatype="html">\n        <source>Use a dedicated data pool</source>\n        <target>Użyj dedykowanych danych pul </target>\n      </trans-unit>\n      <trans-unit id="870aee0dd31a9643bf62007beb8f1ae1deb34d42" datatype="html">\n        <source>Data pool</source>\n        <target>Dane pul</target>\n      </trans-unit>\n      <trans-unit id="3792ca829d9b9f687e1f5d7733d30e9bb0bfec47" datatype="html">\n        <source>Dedicated pool that stores the object-data of the RBD.</source>\n        <target>Dedykowany pul, który przechowuje dane obiektowe z RBD</target>\n      </trans-unit>\n      <trans-unit id="0a88bbee20570aaf9615332fb27020627044874d" datatype="html">\n        <source>You have to increase the size.</source>\n        <target>Musisz zwiększyć rozmiar.</target>\n      </trans-unit>\n      <trans-unit id="bc2e854e111ecf2bd7db170da5e3c2ed08181d88" datatype="html">\n        <source>Advanced</source>\n        <target>Zaawansowane</target>\n      </trans-unit>\n      <trans-unit id="3562a3778695a5f9c0445660e35301f0a39aaf73" datatype="html">\n        <source>Striping</source>\n        <target>Maskowanie</target>\n      </trans-unit>\n      <trans-unit id="ef3c3f3b5f562a5cdbe0ee2874287db1534b5958" datatype="html">\n        <source>Stripe unit</source>\n        <target>Jednostka pasków</target>\n      </trans-unit>\n      <trans-unit id="84471be1049006edecbcaef1a32ae0893c229c50" datatype="html">\n        <source>-- Select stripe unit --</source>\n        <target>-- Wybierz jednostkę pasków -- </target>\n      </trans-unit>\n      <trans-unit id="8d32c5c54c8581c774a7f467fbd4e329b15a74fa" datatype="html">\n        <source>This field is required because stripe count is defined!</source>\n        <target>Pole jest wymagane, ponieważ licznik pasków jest zdefiniowany. </target>\n      </trans-unit>\n      <trans-unit id="6bbf9040be7c5491d4a03f2185708f43a6582a3b" datatype="html">\n        <source>Stripe unit is greater than object size.</source>\n        <target>Jednostka pasków jest większa niż rozmiar obiektu.</target>\n      </trans-unit>\n      <trans-unit id="a682f49f9b761591661276d7c6f550e641a130a4" datatype="html">\n        <source>Stripe count</source>\n        <target>Licznik pasków </target>\n      </trans-unit>\n      <trans-unit id="baa74031990c5370008ba622d0a250f0929097f4" datatype="html">\n        <source>This field is required because stripe unit is defined!</source>\n        <target>Pole jest wymagane, ponieważ jednostka pasków jest zdefiniowana! </target>\n      </trans-unit>\n      <trans-unit id="cd2ada6d5ecbd5cbf89eae0a1f5326efedac0dbc" datatype="html">\n        <source>Stripe count must be greater than 0.</source>\n        <target>Licznik pasków musi być większy od 0.</target>\n      </trans-unit>\n      <trans-unit id="2c07d24bb422aa8e5e568df1c5709083f0a9c8f1" datatype="html">\n        <source>Create Namespace</source>\n        <target>Create Namespace</target>\n      </trans-unit>\n      <trans-unit id="0cca6c0485f96d3a9610d0339cb1275a5f2c3f46" datatype="html">\n        <source>Namespace already exists.</source>\n        <target>Namespace already exists.</target>\n      </trans-unit>\n      <trans-unit id="5c5331983af566d4ac6a1024d15a3511786a4aa6" datatype="html">\n        <source>You are about to rollback</source>\n        <target>Zaraz się wycofasz. </target>\n      </trans-unit>\n      <trans-unit id="49c0408946a6d67185947f455f15cc201d0d78e6" datatype="html">\n        <source>Purge Trash</source>\n        <target>Usuń Śmieci</target>\n      </trans-unit>\n      <trans-unit id="681501eecd7f44d4b7a2f619605b36676e04c5b6" datatype="html">\n        <source>To purge, select one or</source>\n        <target>To purge, select one or</target>\n      </trans-unit>\n      <trans-unit id="dfc3c34e182ea73c5d784ff7c8135f087992dac1" datatype="html">\n        <source>All</source>\n        <target>Wszystkie</target>\n      </trans-unit>\n      <trans-unit id="ea5d338dcef50ff5c24439fd784f6a67b594c33f" datatype="html">\n        <source>pools and click</source>\n        <target>pools and click</target>\n      </trans-unit>\n      <trans-unit id="55a4f598a4894b7fd5cb88f0ffd3c37ad009dd70" datatype="html">\n        <source>Pool:</source>\n        <target>Pul:</target>\n      </trans-unit>\n      <trans-unit id="d43dd2b9f7797e4cf3a604695bb33e4479108516" datatype="html">\n        <source>Pool name...</source>\n        <target>Nazwa pula</target>\n      </trans-unit>\n      <trans-unit id="b0e7c7ed1d51a0c205c815048bc9f79e24ee6db2" datatype="html">\n        <source>Restore Image</source>\n        <target>Przywróć obraz</target>\n      </trans-unit>\n      <trans-unit id="7369384817e0ad61ce871c9afdfbb538df2f97c1" datatype="html">\n        <source>To restore</source>\n        <target>Przywróć</target>\n      </trans-unit>\n      <trans-unit id="e7f0abefc608f7fb452c2dc9b1cdc3dec432160e" datatype="html">\n        <source>type the image\'s new name and click</source>\n        <target>Wpisz nazwe nowego obrazu i kliknij. </target>\n      </trans-unit>\n      <trans-unit id="41307dd56fea669eed72e12a6c23af275f6bfd82" datatype="html">\n        <source>New Name</source>\n        <target>Nowa Nazwa</target>\n      </trans-unit>\n      <trans-unit id="5c96a761dc55a21882c132c929583a424c9b8cf4" datatype="html">\n        <source>Expired at</source>\n        <target>Wygasły w</target>\n      </trans-unit>\n      <trans-unit id="661041e3fcff4d3e75c561e038ca2504cf2cc643" datatype="html">\n        <source>Protected until</source>\n        <target>Zabezpieczony do</target>\n      </trans-unit>\n      <trans-unit id="0ee3b2322a1d3277f7e3fdb8a5141ac42bcf350b" datatype="html">\n        <source>This image is protected until \n          <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.\n        </source>\n        <target>This image is protected until \n          <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="a674ab267d1934bf395f87ca1503fd474296893f" datatype="html">\n        <source>iSCSI Topology</source>\n        <target>Topologia iSCSI</target>\n      </trans-unit>\n      <trans-unit id="051dcc342cfa5c1eaf187a2001aaa162379a160c" datatype="html">\n        <source>Configure</source>\n        <target>Configure</target>\n      </trans-unit>\n      <trans-unit id="9e515f954730279c31d5301f02479666d6264e8b" datatype="html">\n        <source>Changing these parameters from their default values is usually not necessary.</source>\n        <target>Zmiana tych parametrów z domyślnych wartości przeważnie nie jest potrzebna.</target>\n      </trans-unit>\n      <trans-unit id="4e2591df099ddac796cda401c5f282da779d45f2" datatype="html">\n        <source>Identifier</source>\n        <target>Identifier</target>\n      </trans-unit>\n      <trans-unit id="62480a4859976427cf18fc8ef41d3a438eda0412" datatype="html">\n        <source>lun</source>\n        <target>lun</target>\n      </trans-unit>\n      <trans-unit id="8afc9eb4405e0aa554b2ba14140ef790cdecc040" datatype="html">\n        <source>wwn</source>\n        <target>wwn</target>\n      </trans-unit>\n      <trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html">\n        <source>Settings</source>\n        <target>Ustawienia</target>\n      </trans-unit>\n      <trans-unit id="69a47cbabcc51ca942606e1d8da0ec11f98a2690" datatype="html">\n        <source>Backstore</source>\n        <target>Tylny koniec przechowywania</target>\n      </trans-unit>\n      <trans-unit id="68e710782ccb5398b3acb8844caf0b199da2c3da" datatype="html">\n        <source>Confirm</source>\n        <target>Potwierdź</target>\n      </trans-unit>\n      <trans-unit id="339878da255ab55447c43afef8d9b2f9753bf5f6" datatype="html">\n        <source>Advanced Settings</source>\n        <target>Ustawienia zaawansowane</target>\n      </trans-unit>\n      <trans-unit id="1406c2fb12a20c1528b19bcc5e24a6a2386167f3" datatype="html">\n        <source>Target IQN</source>\n        <target>Nazwa IQN obiektu docelowego iSCSI</target>\n      </trans-unit>\n      <trans-unit id="5fe42339be910372fa689f559155631862d218e8" datatype="html">\n        <source>IQN has wrong pattern.</source>\n        <target>Błędna składnia nazwy IQN.</target>\n      </trans-unit>\n      <trans-unit id="050a7ff057d1e895357540406b6be5652b4d1c71" datatype="html">\n        <source>An IQN has the following notation\n                \'iqn.$year-$month.$reversedAddress:$definedName\'</source>\n        <target>An IQN has the following notation\n                \'iqn.$year-$month.$reversedAddress:$definedName\'</target>\n      </trans-unit>\n      <trans-unit id="c8ada4b53396d8366db00a435acc61d53d857047" datatype="html">\n        <source>For example: iqn.2016-06.org.dashboard:storage:disk.sn-a8675309</source>\n        <target>Na przykład: iqn.2016-06.org.dashboard:storage:disk.sn-a8675309</target>\n      </trans-unit>\n      <trans-unit id="e60c11e1b1dfbbeda577364b8de39ded2d796c5e" datatype="html">\n        <source>More information</source>\n        <target>Więcej informacji</target>\n      </trans-unit>\n      <trans-unit id="9b1aa85dfc6849196e64060db02c5410de69b7a1" datatype="html">\n        <source>This target has modified advanced settings.</source>\n        <target>Ten obiekt docelowy  zmodyfikował zaawansowane ustawienia.</target>\n      </trans-unit>\n      <trans-unit id="6990ad8d6182662e864495ac31c3758cda1c7a28" datatype="html">\n        <source>Portals</source>\n        <target>Portale</target>\n      </trans-unit>\n      <trans-unit id="6a3ac2b4137d723fd9878cd357c2012ff6c07973" datatype="html">\n        <source>Add portal</source>\n        <target>Dodaj portal</target>\n      </trans-unit>\n      <trans-unit id="c3638c01b6c34066438909713ec96087c813fc7e" datatype="html">\n        <source>At least \n          <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.\n        </source>\n        <target>At least \n          <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.\n        </target>\n      </trans-unit>\n      <trans-unit id="9aff25be088f0efe3eaaf62edf2bff41cc41a617" datatype="html">\n        <source>Backstore: \n          <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. \n        </source>\n        <target>Backstore: \n          <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. \n        </target>\n      </trans-unit>\n      <trans-unit id="e3484cae8b118c576ca2815bf9c9406c2eb2cae3" datatype="html">\n        <source>This image has modified settings.</source>\n        <target>Ten obraz zmodyfikował ustawienia. </target>\n      </trans-unit>\n      <trans-unit id="1dff11e0820b6722ab240169f1232d70a54beaaa" datatype="html">\n        <source>Duplicated LUN numbers.</source>\n        <target>Duplicated LUN numbers.</target>\n      </trans-unit>\n      <trans-unit id="bf2dccf92ccff6e3b091792bf4205595406e1bfb" datatype="html">\n        <source>Duplicated WWN.</source>\n        <target>Duplicated WWN.</target>\n      </trans-unit>\n      <trans-unit id="808038f912fdc7f0e03f82d4afd3bf9178527fc8" datatype="html">\n        <source>Add image</source>\n        <target>Dodaj obraz.</target>\n      </trans-unit>\n      <trans-unit id="66c5fb27f52e75b70ca4b670b9b15a2a51cf9543" datatype="html">\n        <source>ACL authentication</source>\n        <target>Uwierzytelnianie ACL</target>\n      </trans-unit>\n      <trans-unit id="419c8b402609dcf49ae4932a5a4647dc8d79bbaf" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n                can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Usernames must have a length of 8 to 64 characters and\n                can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</target>\n      </trans-unit>\n      <trans-unit id="938050960d6653fddfcfd42425e18fb35a308262" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n                and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n                and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="f494bd31f095f6dcc656ce87ec2dcf07a2e9b30c" datatype="html">\n        <source>Initiators</source>\n        <target>Inicjatory iSCSI</target>\n      </trans-unit>\n      <trans-unit id="e98239d8a6be1100119ff4b5630c822b82786740" datatype="html">\n        <source>Initiator</source>\n        <target>Inicjator iSCSI</target>\n      </trans-unit>\n      <trans-unit id="f2c5059d8cda15d8d03e2cce30f2d139623d9a91" datatype="html">\n        <source>Client IQN</source>\n        <target>Klient IQN</target>\n      </trans-unit>\n      <trans-unit id="107d5aabce23d900f0a80e6ddc1c10e29aa0bed8" datatype="html">\n        <source>Initiator IQN needs to be unique.</source>\n        <target>Inicjator IQN powinien być unikalny.</target>\n      </trans-unit>\n      <trans-unit id="bbf0b34a3fcc80800fcb44b9e1e86931a530dfe3" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n                        can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Nazwy użytkowników muszą mieć długość od 8 do 64 znaków i mogą zawierać jedynie litery,  \'.\', \'@\', \'-\', \'_\' lub  \':\'.</target>\n      </trans-unit>\n      <trans-unit id="fdfee5d7a27e1bdd97a176097277bee078de6aaf" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n                        and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n                        and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="8406eb7415ee40e54d9ecb209abb056f06e3d666" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters and\n                        can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters and\n                        can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="5d1878d5fc761cbe9614bfd87047a740c82a6951" datatype="html">\n        <source>Initiator belongs to a group. Images will be configure in the group.</source>\n        <target>Inicjator iSCSI należą do grupy. Obrazy będą skonfigurowane w grupie. </target>\n      </trans-unit>\n      <trans-unit id="c0de67b9d97fafbf200f9451e8388ee8128a56ac" datatype="html">\n        <source>No items added.</source>\n        <target>Brak dodanych pozycji.</target>\n      </trans-unit>\n      <trans-unit id="d565e47726158e428ecdc952fc9233b9b7d7f049" datatype="html">\n        <source>Add initiator</source>\n        <target>Dodaj inicjator iSCSI</target>\n      </trans-unit>\n      <trans-unit id="c22ba03540aa3217da059f45e7eab138b51a96e2" datatype="html">\n        <source>Groups</source>\n        <target>Grupy</target>\n      </trans-unit>\n      <trans-unit id="4c90059afafb7e160384d9f512797c95bb95c6dc" datatype="html">\n        <source>Group</source>\n        <target>Grupa</target>\n      </trans-unit>\n      <trans-unit id="3084948274cff4f56d0f431af47240e9cf02fcc7" datatype="html">\n        <source>Add group</source>\n        <target>Dodaj grupę</target>\n      </trans-unit>\n      <trans-unit id="c3a7e364a88ea4673199dfa98bc73e6dbe09dfac" datatype="html">\n        <source>Namespaces</source>\n        <target>Namespaces</target>\n      </trans-unit>\n      <trans-unit id="aba82bfd8e177d35b76cad7cd43941f8e5e5acac" datatype="html">\n        <source>Trash</source>\n        <target>Kosz</target>\n      </trans-unit>\n      <trans-unit id="66db799d67958d4b0765181d072df62e2d1c16f5" datatype="html">\n        <source>Issues</source>\n        <target>Zagadnienia</target>\n      </trans-unit>\n      <trans-unit id="ef06d69259e587e28d52372455f44c7153cda7e7" datatype="html">\n        <source>Syncing</source>\n        <target>Synchronizacja</target>\n      </trans-unit>\n      <trans-unit id="0b0901877d837d3fda16ba161eb74368d1c75b7a" datatype="html">\n        <source>Ready</source>\n        <target>Gotowy</target>\n      </trans-unit>\n      <trans-unit id="4057c56d63a7e9b140b1d01871a9229a5f30eb27" datatype="html">\n        <source>Edit pool mirror mode</source>\n        <target>Tryb edycji lustrzanego pula</target>\n      </trans-unit>\n      <trans-unit id="e1f367f5feaab38f6637dd1f967c848b447dea2d" datatype="html">\n        <source>To edit the mirror mode for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>, select a new mode from the list and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>To edit the mirror mode for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>, select a new mode from the list and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="32ca348ef926b0a6a7a780b8b64c3a8239895cec" datatype="html">\n        <source>Peer clusters must be removed prior to disabling mirror.</source>\n        <target>Sparowany klaster musi być usunięty  przed wyłączeniem lustra. </target>\n      </trans-unit>\n      <trans-unit id="fa61522d482349707fd7dd03b90dc5781611b17f" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/>\n  pool mirror peer\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/>\n  pool mirror peer\n        </target>\n      </trans-unit>\n      <trans-unit id="4ddcb416c1c0aa1f54acf5beef1de81813e76fa6" datatype="html">\n        <source>{VAR_SELECT, select, edit {Edit} other {Add} }</source>\n        <target>{VAR_SELECT, wybierz, edytuj{Edytuj} inaczej {Dodaj} }</target>\n      </trans-unit>\n      <trans-unit id="59ca65ece457429d90104ede4674965f62edbabe" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/> the pool\n          mirror peer attributes for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> and click\n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Submit\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/> the pool\n          mirror peer attributes for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> and click\n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Submit\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="d3cc964811f852a168f4a2d5daa59068abc5cf53" datatype="html">\n        <source>Cluster Name</source>\n        <target>Nazwa Klastra</target>\n      </trans-unit>\n      <trans-unit id="b631721fc56cb7fb1cbd07b802a487c5753f6a2d" datatype="html">\n        <source>The cluster name is not valid.</source>\n        <target>Nazwa klastra jest niepoprawna </target>\n      </trans-unit>\n      <trans-unit id="ca6deafa31bf421f85094807982aee4bcb20a3ae" datatype="html">\n        <source>CephX ID</source>\n        <target>CephX ID</target>\n      </trans-unit>\n      <trans-unit id="7539188a568c3d553cbde1bacaf32310c4264e24" datatype="html">\n        <source>CephX ID...</source>\n        <target>CephX ID...</target>\n      </trans-unit>\n      <trans-unit id="a1c45b594b0fba22fc64e80c793a7ffe005fdb0e" datatype="html">\n        <source>The CephX ID is not valid.</source>\n        <target>ID CephX nie jest poprawne.</target>\n      </trans-unit>\n      <trans-unit id="20861576fcfce773c918c782cd4f5adf32382921" datatype="html">\n        <source>Monitor Addresses</source>\n        <target>Adres monitora </target>\n      </trans-unit>\n      <trans-unit id="fa28eeed2b4bd4ccbe6e9349a1c2b3cb1c5de70a" datatype="html">\n        <source>Comma-delimited addresses...</source>\n        <target>Adresy rozdzielane przecinkami... </target>\n      </trans-unit>\n      <trans-unit id="dc016c82fd85848d5c1b2fd0e8469ee2027d9c16" datatype="html">\n        <source>The monitory address is not valid.</source>\n        <target>Adres monitora nie jest poprawny.</target>\n      </trans-unit>\n      <trans-unit id="e0ac55b83dc6739e62bc655cfe375b67c93e7f4a" datatype="html">\n        <source>CephX Key</source>\n        <target>Klucz CephX</target>\n      </trans-unit>\n      <trans-unit id="f53434bcb95bd86f1df9c8e22966f757614fc4ad" datatype="html">\n        <source>Base64-encoded key...</source>\n        <target>Klucz zakodowany w Base64...</target>\n      </trans-unit>\n      <trans-unit id="4cd83164cd4f66b4abc2863f9ce6f599d789e4ca" datatype="html">\n        <source>CephX key must be base64 encoded.</source>\n        <target>Klucz CephX musi być zakodowany w Base64/</target>\n      </trans-unit>\n      <trans-unit id="ca53d681a9892d6fdbb57ee9676582186515e961" datatype="html">\n        <source>Performance counters not available</source>\n        <target>Liczniki wydajności nie są dostępne</target>\n      </trans-unit>\n      <trans-unit id="9424badb7e0c6ac792d020d7830645b529a80aad" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the Object Gateway management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the Object Gateway management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="479488ab6e91ecb375484edc78bee3d13467f33f" datatype="html">\n        <source>Daemons List</source>\n        <target>Lista demonów</target>\n      </trans-unit>\n      <trans-unit id="eeba399c4dae8d4890c27b7a2cd2dc28fcf8b5f9" datatype="html">\n        <source>Performance Counters</source>\n        <target>Liczniki wydajności</target>\n      </trans-unit>\n      <trans-unit id="5f67f2247b9c6bbaf24a0f2d37f4ac0537c6fa53" datatype="html">\n        <source>Loading bucket data...</source>\n        <target>Ładowanie wiadra danych</target>\n      </trans-unit>\n      <trans-unit id="2798cc1e152b1ec07fd8daf94a2a073d1ba1ebcc" datatype="html">\n        <source>Id</source>\n        <target>Number ID</target>\n      </trans-unit>\n      <trans-unit id="db4e1a734518691b128ef40b939cc673f01d03a6" datatype="html">\n        <source>The value is not valid.</source>\n        <target>Wartość nie jest poprawna.</target>\n      </trans-unit>\n      <trans-unit id="eabb4db920d9f9b2480cf438468b86e1bea02a9b" datatype="html">\n        <source>The chosen name is already in use.</source>\n        <target>Wybrana nazwa już jest użyta.</target>\n      </trans-unit>\n      <trans-unit id="0ee5132a8da30e0b7f9f5c70dbc91928d17dd909" datatype="html">\n        <source>Owner</source>\n        <target>Właściciel</target>\n      </trans-unit>\n      <trans-unit id="8e4c918357c7445fbf19a203e5f0f0ece1960b3b" datatype="html">\n        <source>-- Select a user --</source>\n        <target>-- Wybierz użytkownika -- </target>\n      </trans-unit>\n      <trans-unit id="a4aab1f837bc8ec222e4f25922465d1c5929a1fc" datatype="html">\n        <source>Placement target</source>\n        <target>Placement target</target>\n      </trans-unit>\n      <trans-unit id="6bae0a7fc2c9c1fde7d937a8a1a3c7e6825cf7d1" datatype="html">\n        <source>-- Select a placement target --</source>\n        <target>-- Select a placement target --</target>\n      </trans-unit>\n      <trans-unit id="efeade5060b3add63863c24871f0830fb16b7e6d" datatype="html">\n        <source>Versioning</source>\n        <target>Versioning</target>\n      </trans-unit>\n      <trans-unit id="f50a33d3c339f8f4a465141f8caa5d2d8c005251" datatype="html">\n        <source>Enabled</source>\n        <target>Uaktywniony</target>\n      </trans-unit>\n      <trans-unit id="016d24e069e7d505a090fb8243e5cd43b35dc39b" datatype="html">\n        <source>Enables versioning for the objects in the bucket.</source>\n        <target>Enables versioning for the objects in the bucket.</target>\n      </trans-unit>\n      <trans-unit id="9e6775ffd06878aa145c07359f28557f01ede04f" datatype="html">\n        <source>Multi-Factor Authentication</source>\n        <target>Multi-Factor Authentication</target>\n      </trans-unit>\n      <trans-unit id="29e8a5d4fb767d4ad0c762c81c6264cec4c0ba97" datatype="html">\n        <source>Delete enabled</source>\n        <target>Delete enabled</target>\n      </trans-unit>\n      <trans-unit id="40fbc3ac8c1ea4ecfe62247e91f1f999ad5baf76" datatype="html">\n        <source>Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state.</source>\n        <target>Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state.</target>\n      </trans-unit>\n      <trans-unit id="d24c93a8c13db46defa06ed7b5e026a3edb52b91" datatype="html">\n        <source>Token Serial Number</source>\n        <target>Token Serial Number</target>\n      </trans-unit>\n      <trans-unit id="e6d9536c2af2e5e9a228c3e3e1809dc1fefe0149" datatype="html">\n        <source>Token PIN</source>\n        <target>Token PIN</target>\n      </trans-unit>\n      <trans-unit id="7b84370895ab9eb44672f57146fa05c5947f1c0c" datatype="html">\n        <source>Locking</source>\n        <target>Locking</target>\n      </trans-unit>\n      <trans-unit id="f038d51ab1645f15b0cd58f195c72a7eeebd4729" datatype="html">\n        <source>Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket.</source>\n        <target>Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket.</target>\n      </trans-unit>\n      <trans-unit id="9af1b4baa2dd8ed2bfc3cc756b12a2271c2dd793" datatype="html">\n        <source>Compliance</source>\n        <target>Compliance</target>\n      </trans-unit>\n      <trans-unit id="edd600fa489d1b4a4448dce694ed932e52ce8fda" datatype="html">\n        <source>Governance</source>\n        <target>Governance</target>\n      </trans-unit>\n      <trans-unit id="a5c3d9d2296f7886e8289b9f623323803deacfc6" datatype="html">\n        <source>Days</source>\n        <target>Days</target>\n      </trans-unit>\n      <trans-unit id="218c7d6d318c51e7105309aaeb0baec9d19e4efb" datatype="html">\n        <source>The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</source>\n        <target>The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</target>\n      </trans-unit>\n      <trans-unit id="289b101ec12427b3ca819df9e43cc3b14fae2cc4" datatype="html">\n        <source>The entered value must be a positive integer.</source>\n        <target>The entered value must be a positive integer.</target>\n      </trans-unit>\n      <trans-unit id="def9fc628134d3a044b7c0ad2a83c846bdad56f1" datatype="html">\n        <source>Retention period requires either Days or Years.</source>\n        <target>Retention period requires either Days or Years.</target>\n      </trans-unit>\n      <trans-unit id="003c94fc143882ac8af6251a1595fe62978fe3e6" datatype="html">\n        <source>Years</source>\n        <target>Years</target>\n      </trans-unit>\n      <trans-unit id="14c6189ead0951f13049c7bf9af7642d0c41957a" datatype="html">\n        <source>The number of years that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</source>\n        <target>The number of years that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</target>\n      </trans-unit>\n      <trans-unit id="45cc8ca94b5a50842a9a8ef804a5ab089a38ae5c" datatype="html">\n        <source>ID</source>\n        <target>ID</target>\n      </trans-unit>\n      <trans-unit id="e5c51963a9c553b29427ef783bbb69fa6634fa8c" datatype="html">\n        <source>Index type</source>\n        <target>Typ indeksu</target>\n      </trans-unit>\n      <trans-unit id="8e6f950a32eaea32ec7e192f9ca3d3dfe469d4ba" datatype="html">\n        <source>Placement rule</source>\n        <target>Zasada umieszczania</target>\n      </trans-unit>\n      <trans-unit id="6972d213e31c4ea4f887e60db99d9881bc8fcd3e" datatype="html">\n        <source>Marker</source>\n        <target>Znacznik</target>\n      </trans-unit>\n      <trans-unit id="47b02acd2d3254d1ace1926f840523f154ebef71" datatype="html">\n        <source>Maximum marker</source>\n        <target>Maksymalny znacznik</target>\n      </trans-unit>\n      <trans-unit id="8fe73a4787b8068b2ba61f54ab7e0f9af2ea1fc9" datatype="html">\n        <source>Version</source>\n        <target>Wersja</target>\n      </trans-unit>\n      <trans-unit id="092fa3a7df9168b14d3f83a77a4035e92b92ce15" datatype="html">\n        <source>Master version</source>\n        <target>Główna wersja</target>\n      </trans-unit>\n      <trans-unit id="97434cc5001d407f90c7447a12d9e8e6848a2aa3" datatype="html">\n        <source>Modification time</source>\n        <target>Czas modyfikacji</target>\n      </trans-unit>\n      <trans-unit id="90fe2e41e7fde38453ce4e619efeea9bc6adea9c" datatype="html">\n        <source>Zonegroup</source>\n        <target>Strefa </target>\n      </trans-unit>\n      <trans-unit id="62a923f047ca49e7a4782629e91fea1ba32db68f" datatype="html">\n        <source>MFA Delete</source>\n        <target>MFA Delete</target>\n      </trans-unit>\n      <trans-unit id="649a410bd0ace333d067d8fa22f12bdbdb43533b" datatype="html">\n        <source>Bucket quota</source>\n        <target>kontyngent wiadra</target>\n      </trans-unit>\n      <trans-unit id="cef1595d040e77cbb4466e60382028d4c2040cac" datatype="html">\n        <source>Maximum size</source>\n        <target>Maksymalny rozmiar</target>\n      </trans-unit>\n      <trans-unit id="aa6fb95c355f172bda303de1ce2f38c251a149cf" datatype="html">\n        <source>Unlimited</source>\n        <target>Nielimitowany</target>\n      </trans-unit>\n      <trans-unit id="ee862a800364b4d11f9b8cb9955a28a60f840a45" datatype="html">\n        <source>Maximum objects</source>\n        <target>Maksimum obiektów</target>\n      </trans-unit>\n      <trans-unit id="08c74dc9762957593b91f6eb5d65efdfc975bf48" datatype="html">\n        <source>Username</source>\n        <target>Nazwa użytkownika</target>\n      </trans-unit>\n      <trans-unit id="49c614babd1950adb2be75df4e2c9747286d6adc" datatype="html">\n        <source>-- Select a username --</source>\n        <target>-- Wybierz nazwę użytkownika -- </target>\n      </trans-unit>\n      <trans-unit id="c217ee914725a37e9dd2336c721c8e63e9666bdc" datatype="html">\n        <source>Auto-generate key</source>\n        <target>Auto-generowany klucz</target>\n      </trans-unit>\n      <trans-unit id="2f1c1c0f2bce4c9f92d1a2061e8161cb0006c31a" datatype="html">\n        <source>Access key</source>\n        <target>Klucz dostępu</target>\n      </trans-unit>\n      <trans-unit id="b864acb67296a9819c1db0069c4c47d8b5ce8f44" datatype="html">\n        <source>Secret key</source>\n        <target>Tajny klucz </target>\n      </trans-unit>\n      <trans-unit id="b760f123248930122fc7e7b6b6bf94e376e959c8" datatype="html">\n        <source>Full name</source>\n        <target>Pełne imię </target>\n      </trans-unit>\n      <trans-unit id="69b6ac577a19acc39fc0c22342092f327fff2529" datatype="html">\n        <source>Email address</source>\n        <target>Adres email</target>\n      </trans-unit>\n      <trans-unit id="92f3f203270a29b3001871153f02c063484a1574" datatype="html">\n        <source>Suspended</source>\n        <target>Zawieszony</target>\n      </trans-unit>\n      <trans-unit id="8011e20c5bbe51602d459a860fbf29b599b55edd" datatype="html">\n        <source>System</source>\n        <target>System</target>\n      </trans-unit>\n      <trans-unit id="db18a2772988415466a7f75dc42663ce78c9c1d3" datatype="html">\n        <source>Maximum buckets</source>\n        <target>Maksimum wiader</target>\n      </trans-unit>\n      <trans-unit id="2c4c62e8ba24601be5cfe7dc5d32c24bbbd4b53c" datatype="html">\n        <source>Subusers</source>\n        <target>pod-użytkownicy</target>\n      </trans-unit>\n      <trans-unit id="17bb3082e6fe5003203ef992a3714172334631a1" datatype="html">\n        <source>Capabilities</source>\n        <target>Zdolności</target>\n      </trans-unit>\n      <trans-unit id="36ad38f9c1a1485e09b67778a28af84553290ffb" datatype="html">\n        <source>User quota</source>\n        <target>Limit użytkownika</target>\n      </trans-unit>\n      <trans-unit id="2aba1e87039819aca3b70faa9aa848c12bf139ca" datatype="html">\n        <source>Show</source>\n        <target>Pokaż</target>\n      </trans-unit>\n      <trans-unit id="0bcd5ef19af0f1b814141ca8c57df623d8270088" datatype="html">\n        <source>Keys</source>\n        <target>Klucze</target>\n      </trans-unit>\n      <trans-unit id="f61c6867295f3b53d23557021f2f4e0aa1d0b8fc" datatype="html">\n        <source>Type</source>\n        <target>Typ</target>\n      </trans-unit>\n      <trans-unit id="1221ca97d19eaa9a7bc0c5243d5fc5befe1d2314" datatype="html">\n        <source>-- Select a type --</source>\n        <target>-- wybierz typ --</target>\n      </trans-unit>\n      <trans-unit id="d1b8990332af18f1c5159a6061ca889bcbb28432" datatype="html">\n        <source>Permission</source>\n        <target>Pozwolenie </target>\n      </trans-unit>\n      <trans-unit id="a08c589f82f69d892307288da14190ae1dd583d5" datatype="html">\n        <source>-- Select a permission --</source>\n        <target>-- Wybierz pozwolenie --</target>\n      </trans-unit>\n      <trans-unit id="b2841767821d6b66238c34d07e413b0af67aee92" datatype="html">\n        <source>Subuser</source>\n        <target>pod-użytkownik</target>\n      </trans-unit>\n      <trans-unit id="bd59fc25a7bd98cff3e75117c09697c8a007a514" datatype="html">\n        <source>The chosen subuser ID is already in use.</source>\n        <target>Wybrane ID pod-użytkownika jest już użyte.</target>\n      </trans-unit>\n      <trans-unit id="3d386c357ebcbc04ed05c4babd5a03626f9b1674" datatype="html">\n        <source>read, write</source>\n        <target>odczyt, zapis</target>\n      </trans-unit>\n      <trans-unit id="84e3e3f9a4f31a039b648c97debf95fcb20f4c4a" datatype="html">\n        <source>full</source>\n        <target>pełny</target>\n      </trans-unit>\n      <trans-unit id="b6bf81d032a2316464f9df2f0d2f3d753f89f0d3" datatype="html">\n        <source>Swift key</source>\n        <target>Szybki klucz</target>\n      </trans-unit>\n      <trans-unit id="1e0c12685d50d47448ceed9423977ef39775c037" datatype="html">\n        <source>Auto-generate secret</source>\n        <target>Auto-generowany sekret</target>\n      </trans-unit>\n      <trans-unit id="3d1c7a6004bd5d86a7fa096ae24209e8aa7a53e3" datatype="html">\n        <source>Loading user data...</source>\n        <target>Ładowanie danych użytkownika...</target>\n      </trans-unit>\n      <trans-unit id="faa5d834ab28571423d794d32b57998920efb65f" datatype="html">\n        <source>The user data could not be loaded.</source>\n        <target>Nie można załadować danych użytkownika.</target>\n      </trans-unit>\n      <trans-unit id="6aaf5d2a304167272ac73e3b1d1c162e16c77858" datatype="html">\n        <source>The chosen user ID is already in use.</source>\n        <target>Wybrane ID użytkownika jest już użyte.</target>\n      </trans-unit>\n      <trans-unit id="df441e80db2157f9d272b75de724ba4a82b96b57" datatype="html">\n        <source>This is not a valid email address.</source>\n        <target>Ten adres email nie jest poprawny.</target>\n      </trans-unit>\n      <trans-unit id="ca271adf154956b8fcb28f4f50a37acb3057ff7c" datatype="html">\n        <source>The chosen email address is already in use.</source>\n        <target>Wybrany adres email jest już użyty.</target>\n      </trans-unit>\n      <trans-unit id="030197cebe938edf35422e92fe14183d06eb670b" datatype="html">\n        <source>Max. buckets</source>\n        <target>Max. wiader </target>\n      </trans-unit>\n      <trans-unit id="f39256070bfc0714020dfee08895421fc1527014" datatype="html">\n        <source>Disabled</source>\n        <target>Wyłączony</target>\n      </trans-unit>\n      <trans-unit id="a5c05002b0ac2040f1aede5e727e0ffd06eda819" datatype="html">\n        <source>Custom</source>\n        <target>Zwyczaj</target>\n      </trans-unit>\n      <trans-unit id="28872515cb81d197a3a1733fa546d3e0f0dd6c67" datatype="html">\n        <source>The entered value must be &gt;= 1.</source>\n        <target>The entered value must be &gt;= 1.</target>\n      </trans-unit>\n      <trans-unit id="583a219c524155c2314eb06ee29162bb315272a3" datatype="html">\n        <source>S3 key</source>\n        <target>klucz S3</target>\n      </trans-unit>\n      <trans-unit id="128d6efb51d9ddc7c0cc695a2deeca5b9523f6e4" datatype="html">\n        <source>There are no subusers.</source>\n        <target>Nie ma pod-użytkowników.</target>\n      </trans-unit>\n      <trans-unit id="7fd6dfb8ecb982dbc3affb2c2d5414c4f5b6abd2" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ subuserLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ subuserLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="67c746c1ba9dab4351fedc4c7cba4e6d6b0dbc47" datatype="html">\n        <source>S3</source>\n        <target>S3 (prosty serwis przechowywania) </target>\n      </trans-unit>\n      <trans-unit id="d6819038d608623503918fb2553f53d68231ec3a" datatype="html">\n        <source>There are no keys.</source>\n        <target>Nie ma kluczy.</target>\n      </trans-unit>\n      <trans-unit id="fc1c1a7140ff6b815a95b65ee2780fdbe1b2b7a1" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ s3keyLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ s3keyLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6ddb5e991a3ecd2659fb520bc5acc81b67e08ddd" datatype="html">\n        <source>Swift</source>\n        <target>Szybki</target>\n      </trans-unit>\n      <trans-unit id="1d01eccdda47fc907c5be35bcb16d2dcd02b0270" datatype="html">\n        <source>There are no capabilities.</source>\n        <target>Nie ma zdolności. </target>\n      </trans-unit>\n      <trans-unit id="043e2ec0036ceadd926fd5e3f93cd6f3565f3648" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.ADD | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.ADD | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="f5a451c4ea65a4046f0b49d489a7013abf0b5861" datatype="html">\n        <source>All capabilities are already added.</source>\n        <target>All capabilities are already added.</target>\n      </trans-unit>\n      <trans-unit id="6146e13ceca5fa5cc17b771b282fe5955f3d19fa" datatype="html">\n        <source>Unlimited size</source>\n        <target>Nielimitowany rozmiar</target>\n      </trans-unit>\n      <trans-unit id="f6db8aa7c99fdce18edb33dde57729acede2b308" datatype="html">\n        <source>Max. size</source>\n        <target>Max. rozmiar</target>\n      </trans-unit>\n      <trans-unit id="fc630b2093e880fffa19df99d5cd8b87605037f8" datatype="html">\n        <source>Unlimited objects</source>\n        <target>Nielimitowane obiekty</target>\n      </trans-unit>\n      <trans-unit id="6cda5a993d06f0bb10048be9d3aba6555aa9f356" datatype="html">\n        <source>Max. objects</source>\n        <target>Max. obiektów</target>\n      </trans-unit>\n      <trans-unit id="623ac50f37a26caec6fd7cd519b653e3315cba25" datatype="html">\n        <source>The entered value must be &gt;= 0.</source>\n        <target>Podana wartość musi być &gt;= 0</target>\n      </trans-unit>\n      <trans-unit id="1ea5c4d8942c00752dcc72e72949c5d9832f6399" datatype="html">\n        <source>Description...</source>\n        <target>Opis...</target>\n      </trans-unit>\n      <trans-unit id="70f45880fce6ac5d8e468e25e82aefbba8098cfe" datatype="html">\n        <source>Permissions</source>\n        <target>Pozwolenia</target>\n      </trans-unit>\n      <trans-unit id="9610487cbeb5796d34d8601b5ac0c0a65f9e1d19" datatype="html">\n        <source>Roles</source>\n        <target>Role</target>\n      </trans-unit>\n      <trans-unit id="7f3bdcce4b2e8c37cd7f0f6c92ef8cff34b039b8" datatype="html">\n        <source>Confirm password</source>\n        <target>Potwierdź hasło</target>\n      </trans-unit>\n      <trans-unit id="cbb979e63ba50e0ca3adfa09cbdcaefd0853fca1" datatype="html">\n        <source>Password confirmation doesn\'t match the password.</source>\n        <target>Potwierdzające hasło nie pokrywa się z hasłem.</target>\n      </trans-unit>\n      <trans-unit id="96621f9ed2e4ae5204564e583d2c816bedead571" datatype="html">\n        <source>Password expiration date</source>\n        <target>Password expiration date</target>\n      </trans-unit>\n      <trans-unit id="48932db3801fe9d5d72a60a3e656bffd17c1c5d9" datatype="html">\n        <source>Password expiration date...</source>\n        <target>Password expiration date...</target>\n      </trans-unit>\n      <trans-unit id="244aae9346da82b0922506c2d2581373a15641cc" datatype="html">\n        <source>Email</source>\n        <target>Email</target>\n      </trans-unit>\n      <trans-unit id="d0ec081dd61eb4f43aea269077bbe38eae87b7f9" datatype="html">\n        <source>Invalid email.</source>\n        <target>Niepoprawny email.</target>\n      </trans-unit>\n      <trans-unit id="8913c216dd506e20e412e144381d8d2a65a84359" datatype="html">\n        <source>User must change password at next logon</source>\n        <target>User must change password at next logon</target>\n      </trans-unit>\n      <trans-unit id="0051a3479d3ba79135c16dc8cc017950a2cce821" datatype="html">\n        <source>You are about to remove "user read / update" permissions from your own user.</source>\n        <target>Zamierzasz usunąć uprawnienia „odczytu / aktualizacji użytkownika” od własnego użytkownika.</target>\n      </trans-unit>\n      <trans-unit id="af4bf9fcb256853f14cf947eb1deb8d7f176d3f9" datatype="html">\n        <source>If you continue, you will no longer be able to add or remove roles from any user.</source>\n        <target>Jeśli kontynuujesz, nie będziesz mógł dodawać albo usuwać role od użytkowników.</target>\n      </trans-unit>\n      <trans-unit id="7d1dcf2a9146caac0581329acf94806ec69a89a5" datatype="html">\n        <source>Are you sure you want to continue?</source>\n        <target>Jesteś pewny, że chcesz kontynuować? </target>\n      </trans-unit>\n      <trans-unit id="85b79c9064aed1ead31ace985f31aa1363f6bdaf" datatype="html">\n        <source>Help</source>\n        <target>Pomoc</target>\n      </trans-unit>\n      <trans-unit id="fcfd4675b4c90f08d18d3abede9a9a4dff4cfdc7" datatype="html">\n        <source>Documentation</source>\n        <target>Dokumentacja</target>\n      </trans-unit>\n      <trans-unit id="e351b40b3869a5c7d19c3d4918cb1ac7aaab95c4" datatype="html">\n        <source>API</source>\n        <target>Interfejs API</target>\n      </trans-unit>\n      <trans-unit id="004b222ff9ef9dd4771b777950ca1d0e4cd4348a" datatype="html">\n        <source>About</source>\n        <target>O</target>\n      </trans-unit>\n      <trans-unit id="1481ecd21e760ac919a24e26cf790acd82e40199" datatype="html">\n        <source>Dashboard Settings</source>\n        <target>Ustawienia Pulpitu</target>\n      </trans-unit>\n      <trans-unit id="a79aab4ef674bf3f6532292107c0054302236e0f" datatype="html">\n        <source>User management</source>\n        <target>Zarządzanie użytkownikami</target>\n      </trans-unit>\n      <trans-unit id="049dfd9fe6c78914ad58cf89ac6a631fca28ec74" datatype="html">\n        <source>Logged in user</source>\n        <target>Zalogowany użytkownik</target>\n      </trans-unit>\n      <trans-unit id="cd38a58e73f306d838e621959d47d5e7a2f06d1f" datatype="html">\n        <source>Signed in as\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ username }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>\n        </source>\n        <target>Signed in as\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ username }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="739516c2ca75843d5aec9cf0e6b3e4335c4227b9" datatype="html">\n        <source>Change password</source>\n        <target>Change password</target>\n      </trans-unit>\n      <trans-unit id="5d22c795daf43877a5f708dca2bccd549eb0471d" datatype="html">\n        <source>Sign out</source>\n        <target>Wyloguj</target>\n      </trans-unit>\n      <trans-unit id="91853167141c37b58868f3b0421383dd72fa8a01" datatype="html">\n        <source>Attributes (OSD map)</source>\n        <target>Atrybuty (mapa OSD-ków)</target>\n      </trans-unit>\n      <trans-unit id="97842f379e1d4157ac3ab0661b90c352e7cb72d5" datatype="html">\n        <source>Metadata not available</source>\n        <target>Niedostępne metadane</target>\n      </trans-unit>\n      <trans-unit id="f721a500a68c357e8f2a01e60510f6a01e4ba529" datatype="html">\n        <source>Metadata</source>\n        <target>Metadane</target>\n      </trans-unit>\n      <trans-unit id="deba10b7279a589d01e919ea11f43c79ca1773e3" datatype="html">\n        <source>Device health</source>\n        <target>Device health</target>\n      </trans-unit>\n      <trans-unit id="d24e28e19c5703d7c6be44f4eb595a6a43b618ed" datatype="html">\n        <source>Performance counter</source>\n        <target>Licznik wydajności</target>\n      </trans-unit>\n      <trans-unit id="d1f7c81ed9c5034af4abcdf119b1c1e86cd019dd" datatype="html">\n        <source>Histogram not available: \n          <x id="INTERPOLATION" equiv-text="{{ osd.histogram_failed }}"/>\n        </source>\n        <target>Histogram not available: \n          <x id="INTERPOLATION" equiv-text="{{ osd.histogram_failed }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="868abfff914873d1c65df798d8432ed04b8ae2a9" datatype="html">\n        <source>Writes</source>\n        <target>Pisze</target>\n      </trans-unit>\n      <trans-unit id="996ebb9a653b5067f97bf3891ea9d2108e969492" datatype="html">\n        <source>Reads</source>\n        <target>Czyta</target>\n      </trans-unit>\n      <trans-unit id="65ac79790aa477a97b1cc579e18a115a8df8918f" datatype="html">\n        <source>Histogram</source>\n        <target>Histogram</target>\n      </trans-unit>\n      <trans-unit id="3d87fc20ea8e5f0f0500ba5d5061b345be78ec5e" datatype="html">\n        <source>No hostname found.</source>\n        <target>No hostname found.</target>\n      </trans-unit>\n      <trans-unit id="26fb5f81b3581f06b9210defb0e71dc69a67e819" datatype="html">\n        <source>Current values</source>\n        <target>Obecne wartości </target>\n      </trans-unit>\n      <trans-unit id="9abcd7c82643d60c22733470463f74e4a54bc069" datatype="html">\n        <source>Min</source>\n        <target>Min</target>\n      </trans-unit>\n      <trans-unit id="c3ced4d162a0a55ee233a187ce7208ba5e922418" datatype="html">\n        <source>Max</source>\n        <target>Max</target>\n      </trans-unit>\n      <trans-unit id="6834fa6b43d1ecbdf147c48dd9c4d72f1484571d" datatype="html">\n        <source>Source</source>\n        <target>Źródło </target>\n      </trans-unit>\n      <trans-unit id="a446fb0eb11fbffcac805ece5a2d306d24e733d8" datatype="html">\n        <source>Level</source>\n        <target>Poziom</target>\n      </trans-unit>\n      <trans-unit id="39f2fb094e9b2eda13163fa3f3a31594cf9c1307" datatype="html">\n        <source>Can be updated at runtime (editable)</source>\n        <target>Może być aktualizowany w czasie wykonywania (edytowalny)</target>\n      </trans-unit>\n      <trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b" datatype="html">\n        <source>Tags</source>\n        <target>Tagi</target>\n      </trans-unit>\n      <trans-unit id="ab0089ef47af61ca1d137bc908b96c290dfd9287" datatype="html">\n        <source>Enum values</source>\n        <target>Wartości enumerowane </target>\n      </trans-unit>\n      <trans-unit id="819476f1264f1659f38e86f6abb542141b184832" datatype="html">\n        <source>See also</source>\n        <target>Zobacz także </target>\n      </trans-unit>\n      <trans-unit id="73caac4265ea7314ff061e5a1d78a6361a6dd3b8" datatype="html">\n        <source>Cluster Status</source>\n        <target>Status klastra</target>\n      </trans-unit>\n      <trans-unit id="1d4bc612bbf19aa9553853266b9e92c9d75f4464" datatype="html">\n        <source>Manager Daemons</source>\n        <target>Zarządzanie demonami</target>\n      </trans-unit>\n      <trans-unit id="946ac5dea9921dc09d7b0a63b89535371f283b19" datatype="html">\n        <source>Object Gateways</source>\n        <target>Obiekty bram </target>\n      </trans-unit>\n      <trans-unit id="ff03fa5bcf37c4da46ad736c1f7d03f959e8ba9a" datatype="html">\n        <source>Metadata Servers</source>\n        <target>Serwery metadanych</target>\n      </trans-unit>\n      <trans-unit id="d817609ba4993eba859409ab71e566168f4d5f5a" datatype="html">\n        <source>iSCSI Gateways</source>\n        <target>Bramy iSCSI</target>\n      </trans-unit>\n      <trans-unit id="42c13e50391250ea9379bdf55d5d6c0228c0c8bc" datatype="html">\n        <source>Client IOPS</source>\n        <target>Klient IOPS</target>\n      </trans-unit>\n      <trans-unit id="52213660b2454d139ada3079a42ec6caf3c3c01e" datatype="html">\n        <source>Client Throughput</source>\n        <target>Przepustowość klienta</target>\n      </trans-unit>\n      <trans-unit id="32efd1c3f70e3c5244239de97a2cc95d98534a14" datatype="html">\n        <source>Client Read/Write</source>\n        <target>Odczyt/Zapis klienta</target>\n      </trans-unit>\n      <trans-unit id="275485415092cbae3a9f3cbb786ebe283cacfdd5" datatype="html">\n        <source>Recovery Throughput</source>\n        <target>Przepustowość odzyskiwania</target>\n      </trans-unit>\n      <trans-unit id="6d9a9f55046891733ef71170e7652063765eb542" datatype="html">\n        <source>Scrub</source>\n        <target>Szoruj</target>\n      </trans-unit>\n      <trans-unit id="3cc9c2ae277393b3946b38c088dabff671b1ee1b" datatype="html">\n        <source>Performance</source>\n        <target>Wydajność</target>\n      </trans-unit>\n      <trans-unit id="88f383269db2d32cccee9e936fe549dccb9fdbf4" datatype="html">\n        <source>Raw Capacity</source>\n        <target>Pojemność rzędu</target>\n      </trans-unit>\n      <trans-unit id="c5f8a813f91a11af99132e4beafc136cfc13d73b" datatype="html">\n        <source>PGs per OSD</source>\n        <target>PG-y na OSD</target>\n      </trans-unit>\n      <trans-unit id="498a109c6e9e94f1966de01aa0326f7f0ac6fb52" datatype="html">\n        <source>PG Status</source>\n        <target>Status PG</target>\n      </trans-unit>\n      <trans-unit id="ce9dfdc6dccb28dc75a78c704e09dc18fb02dcfa" datatype="html">\n        <source>Capacity</source>\n        <target>Pojemność</target>\n      </trans-unit>\n      <trans-unit id="44ecac93d67c6a671198091c2270354f80322327" datatype="html">\n        <source>\n          <x id="START_ITALIC_TEXT" ctype="x-i" equiv-text="<i>"/>\n          <x id="CLOSE_ITALIC_TEXT" ctype="x-i" equiv-text="</i>"/> See \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Logs\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more details.\n        </source>\n        <target>\n          <x id="START_ITALIC_TEXT" ctype="x-i" equiv-text="<i>"/>\n          <x id="CLOSE_ITALIC_TEXT" ctype="x-i" equiv-text="</i>"/> See \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Logs\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more details.\n        </target>\n      </trans-unit>\n      <trans-unit id="0c1e17956453ad772dbe82d6946f62748c692f3e" datatype="html">\n        <source>Ranks</source>\n        <target>Szeregi</target>\n      </trans-unit>\n      <trans-unit id="2b24e0b0b1629d2e8a51b9da7c75d6e6379f4bc4" datatype="html">\n        <source>Standbys</source>\n        <target>Standbys</target>\n      </trans-unit>\n      <trans-unit id="50df62325726db950523a5be1c78b8905fcc25d4" datatype="html">\n        <source>MDS performance counters</source>\n        <target>MDS performance counters</target>\n      </trans-unit>\n      <trans-unit id="6e213942c6354b9cbe7a650f0f1499bfc1000fb6" datatype="html">\n        <source>Directories</source>\n        <target>Directories</target>\n      </trans-unit>\n      <trans-unit id="47116253e36f4e38a97ba41b2d3122c6c15ab904" datatype="html">\n        <source>Clients (\n          <x id="INTERPOLATION" equiv-text="{{ clients.length }}"/>)\n        </source>\n        <target>Clients (\n          <x id="INTERPOLATION" equiv-text="{{ clients.length }}"/>)\n        </target>\n      </trans-unit>\n      <trans-unit id="bd5a3b1c5a3c185c7bbb0e09a061d4cdc88ce5ad" datatype="html">\n        <source>Current</source>\n        <target>Obecny</target>\n      </trans-unit>\n      <trans-unit id="e5e7d62e942083a59b0b31f54e17cd7958186052" datatype="html">\n        <source>Updated discovery authentication</source>\n        <target>Zaktualizowane uwierzytelnianie wykrywania</target>\n      </trans-unit>\n      <trans-unit id="dd4ab758afd5fd5a6c6a25b2b30ff99d0c00e9ad" datatype="html">\n        <source>There are no portals available.</source>\n        <target>Brak dostępnych portali.</target>\n      </trans-unit>\n      <trans-unit id="83021e45778a4a230a14ca0c6d6ccdf05500ad93" datatype="html">\n        <source>There are no images available.</source>\n        <target>Nie ma dostępnych obrazów. </target>\n      </trans-unit>\n      <trans-unit id="86684eb21f8a768e1dbc659e3d5da6861db544a0" datatype="html">\n        <source>There are no images available. Please make sure you add an image to the target.</source>\n        <target>Nie ma dostępnych obrazów. Proszę się upewnić, że dodajesz obraz do obiektu docelowego. </target>\n      </trans-unit>\n      <trans-unit id="fffda6e440078f57eba93944ce051c593cc6ed7f" datatype="html">\n        <source>There are no initiators available. Please make sure you add an initiator to the target.</source>\n        <target>Nie ma dostępnych inicjatorów iSCSI. Proszę upewnić się, że dodajesz inicjator iSCSI do obiektu docelowego.</target>\n      </trans-unit>\n      <trans-unit id="cea3c6fe490385eef1584cbc4983fda7ece24bb6" datatype="html">\n        <source>target</source>\n        <target>target</target>\n      </trans-unit>\n      <trans-unit id="38baeb215c17af9d9e295e371a57f4a48ab4c191" datatype="html">\n        <source>Target</source>\n        <target>obiekt docelowy iSCSI</target>\n      </trans-unit>\n      <trans-unit id="99e094878070eebc1b972bac02aaa33b2bf83b35" datatype="html">\n        <source># Sessions</source>\n        <target># Sessions</target>\n      </trans-unit>\n      <trans-unit id="2ea10b3668e04e057ba96ddcaf4c9b77089008ae" datatype="html">\n        <source>Unavailable gateway(s)</source>\n        <target>Unavailable gateway(s)</target>\n      </trans-unit>\n      <trans-unit id="c49e0dd71d551bd4928d967d78f0721dbf9f95e3" datatype="html">\n        <source>Target has active sessions</source>\n        <target>Target has active sessions</target>\n      </trans-unit>\n      <trans-unit id="a87acd72dfb68b45175270695209550a85adf50c" datatype="html">\n        <source>iSCSI target</source>\n        <target>iSCSI target</target>\n      </trans-unit>\n      <trans-unit id="873b72903b1858a9cd6c8967521030b4d7d1435b" datatype="html">\n        <source>State</source>\n        <target>Stan</target>\n      </trans-unit>\n      <trans-unit id="02b75464c0dc0cf49ea0208211b6fbcad3bf728a" datatype="html">\n        <source># Targets</source>\n        <target># Targets</target>\n      </trans-unit>\n      <trans-unit id="13415637c325ceefee29111b31cb48701490adf7" datatype="html">\n        <source>Read Bytes</source>\n        <target>Odczyt bajtów </target>\n      </trans-unit>\n      <trans-unit id="e2ed82b7bbf4a006e60e6208c597b05d5b5556e9" datatype="html">\n        <source>Write Bytes</source>\n        <target>Zapis bajtów</target>\n      </trans-unit>\n      <trans-unit id="6a32a5f58845ca840185ea9564682094e77a1d80" datatype="html">\n        <source>Read Ops</source>\n        <target>Odczyt Ops</target>\n      </trans-unit>\n      <trans-unit id="7c36cb8032af123d3550ffab2e1fa1e957c87fae" datatype="html">\n        <source>Write Ops</source>\n        <target>Zapis Ops</target>\n      </trans-unit>\n      <trans-unit id="458c33846a8c7e2feb9404bcf06723784e756cdc" datatype="html">\n        <source>A/O Since</source>\n        <target>A/O Od</target>\n      </trans-unit>\n      <trans-unit id="ff78f059449d44322f627d0f66df07abe476962b" datatype="html">\n        <source>Instance</source>\n        <target>Instancja</target>\n      </trans-unit>\n      <trans-unit id="36fad7995cadfb3a6f0d43ef2db280146b3ca022" datatype="html">\n        <source>Issue</source>\n        <target>Zagadnienie </target>\n      </trans-unit>\n      <trans-unit id="15793f4cbc261bedbc60f7105533dde536a3f42b" datatype="html">\n        <source>Progress</source>\n        <target>Progres</target>\n      </trans-unit>\n      <trans-unit id="25b725dba712a7a020fd34a72297befae975a492" datatype="html">\n        <source>Edit Site Name</source>\n        <target>Edit Site Name</target>\n      </trans-unit>\n      <trans-unit id="8c375764db42f5d736fb56d01b8052c006ccc8e2" datatype="html">\n        <source>Edit Mode</source>\n        <target>Tryb Edycji</target>\n      </trans-unit>\n      <trans-unit id="45932f2a0ea524b3425f4320ee46a6d1c68977bc" datatype="html">\n        <source>Add Peer</source>\n        <target>Dodaj parowanie </target>\n      </trans-unit>\n      <trans-unit id="d3dc34662e3cda0dad646221651cebd26f731485" datatype="html">\n        <source>Edit Peer</source>\n        <target>Edytuj parowanie</target>\n      </trans-unit>\n      <trans-unit id="e8a0ec0b6ee72db0f27c186e09640d1ed41964bd" datatype="html">\n        <source>Delete Peer</source>\n        <target>Usuń parowanie</target>\n      </trans-unit>\n      <trans-unit id="314de06d6f64d39149e78e6d796585c0246fec0b" datatype="html">\n        <source>Leader</source>\n        <target>Lider</target>\n      </trans-unit>\n      <trans-unit id="7acaab450312114059ced9e3737798ee9aa738b1" datatype="html">\n        <source># Local</source>\n        <target># Lokalny</target>\n      </trans-unit>\n      <trans-unit id="7a3ffd88868135c44be3994263bb8e49d8358884" datatype="html">\n        <source># Remote</source>\n        <target># Zdalny</target>\n      </trans-unit>\n      <trans-unit id="85ca0fd6a6ddd211023c70a25753122c5b978787" datatype="html">\n        <source>mirror peer</source>\n        <target>lustrzane parowanie</target>\n      </trans-unit>\n      <trans-unit id="a6493c6ca346cd052da40423eda9c132de2b2002" datatype="html">\n        <source>Key</source>\n        <target>Klucz</target>\n      </trans-unit>\n      <trans-unit id="e9cac80fb5d9de66f0006d0bec530fd1fc69a674" datatype="html">\n        <source>RBD</source>\n        <target>RBD</target>\n      </trans-unit>\n      <trans-unit id="4130b1a836f2000cfe9a11fb62493dc42d444de7" datatype="html">\n        <source>Deep flatten</source>\n        <target>Głębokie spłaszczenie</target>\n      </trans-unit>\n      <trans-unit id="7b17694d7cb8ecb7c8440bc999dac21b44455b33" datatype="html">\n        <source>Layering</source>\n        <target>Warstwowanie </target>\n      </trans-unit>\n      <trans-unit id="6a072ce577c2079d0e0c31071a16824f6d22b84d" datatype="html">\n        <source>Exclusive lock</source>\n        <target>Wyłączna blokada</target>\n      </trans-unit>\n      <trans-unit id="7354f01320bf936a7f85577c9f71402635c3a362" datatype="html">\n        <source>Object map (requires exclusive-lock)</source>\n        <target>Mapa obiektów (wymaga wyłącznej blokady)</target>\n      </trans-unit>\n      <trans-unit id="fb7e625c1152f1c102cd16460955d124edff1770" datatype="html">\n        <source>Journaling (requires exclusive-lock)</source>\n        <target>Kronikowanie  (wymaga wyłącznej blokady)</target>\n      </trans-unit>\n      <trans-unit id="df4044632bfc211dd96544fc8f007dabbeeb506c" datatype="html">\n        <source>Fast diff (interlocked with object-map)</source>\n        <target>Fast diff (interlocked with object-map)</target>\n      </trans-unit>\n      <trans-unit id="130fd872c78271a8f86b1ab16a76e823969c47d9" datatype="html">\n        <source>Namespace</source>\n        <target>Namespace</target>\n      </trans-unit>\n      <trans-unit id="14abc99daed542774633046c53b6ce8251331141" datatype="html">\n        <source>This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.</source>\n        <target>This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.</target>\n      </trans-unit>\n      <trans-unit id="51699f716cf34e6622ff7bfd84641480c045271a" datatype="html">\n        <source>Created namespace \'\n          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>\'\n        </source>\n        <target>Created namespace \'\n          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="bf44b7d6379ce0198ed3d95a27642a224181bf1d" datatype="html">\n        <source>Total images</source>\n        <target>Total images</target>\n      </trans-unit>\n      <trans-unit id="371ce3ffe62548d15e391a248bc554d903bb03fc" datatype="html">\n        <source>Deleted namespace \'\n          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>\'\n        </source>\n        <target>Deleted namespace \'\n          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="9d704fd00ca929f90c3119cefc581821ae58a73e" datatype="html">\n        <source>Namespace contains images</source>\n        <target>Namespace contains images</target>\n      </trans-unit>\n      <trans-unit id="c2017dc94b4f57a347ccb126e546e88942f4d7a6" datatype="html">\n        <source>RBD Snapshot</source>\n        <target>RBD Snapshot</target>\n      </trans-unit>\n      <trans-unit id="631fc50ec7c9bd81dc797a3c7e09eda1178ad999" datatype="html">\n        <source>Parent image must support Layering</source>\n        <target>Parent image must support Layering</target>\n      </trans-unit>\n      <trans-unit id="cb60c1cd3655234756b5b92d4d597d92d520ee30" datatype="html">\n        <source>PROTECTED</source>\n        <target>PROTECTED</target>\n      </trans-unit>\n      <trans-unit id="deffb86b8fb0541254ad5a43862d82bff6b6a6c4" datatype="html">\n        <source>UNPROTECTED</source>\n        <target>NIEZABEZPIECZONY </target>\n      </trans-unit>\n      <trans-unit id="7eb984588f4835f6d0187b33769b4b0f62821640" datatype="html">\n        <source>RBD snapshot rollback</source>\n        <target>Wycofywanie migawek RBD</target>\n      </trans-unit>\n      <trans-unit id="4be22bf20ef82614ed53bcd3b912a85590aa71c9" datatype="html">\n        <source>Rollback</source>\n        <target>Wycofanie</target>\n      </trans-unit>\n      <trans-unit id="2a04c483708d261751d62082d6f03a50d4577b1e" datatype="html">\n        <source>RBD snapshot</source>\n        <target>migawka RBD</target>\n      </trans-unit>\n      <trans-unit id="fa96769d1ea86741297cb9b9769b0dcfde58c8b4" datatype="html">\n        <source>Deleted At</source>\n        <target>Usunięty o </target>\n      </trans-unit>\n      <trans-unit id="e928864038ca70ee7d67bbf1fd71a01c3938a127" datatype="html">\n        <source>id</source>\n        <target>id</target>\n      </trans-unit>\n      <trans-unit id="240c9c1e96dc38814922a83ad041dc815b084f32" datatype="html">\n        <source>type</source>\n        <target>typ</target>\n      </trans-unit>\n      <trans-unit id="c9d7ec7ee5b4e282f2228fa996651ec4ef5195a9" datatype="html">\n        <source>state</source>\n        <target>stan</target>\n      </trans-unit>\n      <trans-unit id="5780e5c3b4fc2ae07836bb5221cec4f8d597630d" datatype="html">\n        <source>version</source>\n        <target>wersja</target>\n      </trans-unit>\n      <trans-unit id="fe22ca53e651df951dac25b67c17894b0980f767" datatype="html">\n        <source>Host</source>\n        <target>Host</target>\n      </trans-unit>\n      <trans-unit id="fb69299354312c8954ecf324997ccafcd9f6b14b" datatype="html">\n        <source>root</source>\n        <target>administrator</target>\n      </trans-unit>\n      <trans-unit id="d34feb369d308075b423d5c5fc431f9766bf7a11" datatype="html">\n        <source>Evicted client "\n          <x id="INTERPOLATION" equiv-text="{{clientId}}"/>"\n        </source>\n        <target>Evicted client "\n          <x id="INTERPOLATION" equiv-text="{{clientId}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="7db875ff4cc626d394f37fba95c075b2e4bfeb00" datatype="html">\n        <source>Standby daemons</source>\n        <target>Czuwanie demona </target>\n      </trans-unit>\n      <trans-unit id="3c3a423d91e36ac6624e909fcd2669a25685f847" datatype="html">\n        <source>Rank</source>\n        <target>Ranga</target>\n      </trans-unit>\n      <trans-unit id="9596ecae8956e96921acef47aec787f6bdc37454" datatype="html">\n        <source>Daemon</source>\n        <target>Demon</target>\n      </trans-unit>\n      <trans-unit id="f2005fa461c06dc2e04d8918bbabedf23604b5b7" datatype="html">\n        <source>Activity</source>\n        <target>Aktywność</target>\n      </trans-unit>\n      <trans-unit id="e3a986984ae0c3b43af648c3fa638649d1c00348" datatype="html">\n        <source>Dentries</source>\n        <target>centrale</target>\n      </trans-unit>\n      <trans-unit id="7c692ab865066967d73c6d64ec0691cc6ce91b93" datatype="html">\n        <source>Inodes</source>\n        <target>i-węzły</target>\n      </trans-unit>\n      <trans-unit id="45f210b96a2a6e91f52f153a4f8dc30662629f8e" datatype="html">\n        <source>Usage</source>\n        <target>Użycie</target>\n      </trans-unit>\n      <trans-unit id="950b5f04a2efd3f11c0f76418d5a4212381e792e" datatype="html">\n        <source>Origin</source>\n        <target>Origin</target>\n      </trans-unit>\n      <trans-unit id="2ea2ec95d93fd55d0db6e9d2b95b25e153d4cec2" datatype="html">\n        <source>Max size</source>\n        <target>Max size</target>\n      </trans-unit>\n      <trans-unit id="665dced3a61bca44924a0bde4be47390225a4898" datatype="html">\n        <source>Max files</source>\n        <target>Max files</target>\n      </trans-unit>\n      <trans-unit id="0ccf776baac60794b142526986f3af85848c7059" datatype="html">\n        <source>The inherited \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/> is the maximum value to be used.\n        </source>\n        <target>The inherited \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/> is the maximum value to be used.\n        </target>\n      </trans-unit>\n      <trans-unit id="b0e2ef28384f2de6674cac300c779f900929a89b" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{action}}"/> CephFS \n          <x id="INTERPOLATION_1" equiv-text="{{quotaName}}"/> quota for \'\n          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>\'\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{action}}"/> CephFS \n          <x id="INTERPOLATION_1" equiv-text="{{quotaName}}"/> quota for \'\n          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="542ef638499635dec7641bdc2e499258094187cc" datatype="html">\n        <source>size</source>\n        <target>size</target>\n      </trans-unit>\n      <trans-unit id="ce90ff00c341d8eef96b0e7956bb85b8faba3839" datatype="html">\n        <source>files</source>\n        <target>files</target>\n      </trans-unit>\n      <trans-unit id="fbe8b9340c08c24aef62ffe81c83e2b46a4f1495" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{quotaName}}"/> quota \n          <x id="INTERPOLATION_1" equiv-text="{{value}}"/> from \'\n          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>\'\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{quotaName}}"/> quota \n          <x id="INTERPOLATION_1" equiv-text="{{value}}"/> from \'\n          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="37c2c0a4a356465eef2edfb09ffffc6db5259975" datatype="html">\n        <source>Value has to be at least \n          <x id="INTERPOLATION" equiv-text="{{value}}"/> or more\n        </source>\n        <target>Value has to be at least \n          <x id="INTERPOLATION" equiv-text="{{value}}"/> or more\n        </target>\n      </trans-unit>\n      <trans-unit id="73f8e64703a707e2cf98b9a10653cd3bbdd8cab1" datatype="html">\n        <source>Value has to be at most \n          <x id="INTERPOLATION" equiv-text="{{value}}"/> or less\n        </source>\n        <target>Value has to be at most \n          <x id="INTERPOLATION" equiv-text="{{value}}"/> or less\n        </target>\n      </trans-unit>\n      <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc" datatype="html">\n        <source>Updated</source>\n        <target>Zaktualizowany</target>\n      </trans-unit>\n      <trans-unit id="b6a4cf4f302c7fcbec199ce0df42b8282d682b04" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{action}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{quotaValue}}"/>\n          <x id="INTERPOLATION_2" equiv-text="{{conclusion}}"/>.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{action}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{quotaValue}}"/>\n          <x id="INTERPOLATION_2" equiv-text="{{conclusion}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="a40024afb071f68fec949094a71f832d5611bca5" datatype="html">\n        <source>in order to inherit \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>\n        </source>\n        <target>in order to inherit \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="c108ff588291e9c040adea2adf35e7236cf29925" datatype="html">\n        <source>which isn\'t used because of the inheritance of \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>\n        </source>\n        <target>which isn\'t used because of the inheritance of \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="d3785a64d1c72b03b2212855ce695b45ed0342d2" datatype="html">\n        <source>in order to have no quota on the directory</source>\n        <target>in order to have no quota on the directory</target>\n      </trans-unit>\n      <trans-unit id="c4d3a3446a7f36825291c5e76c4a6b7919f9bd2f" datatype="html">\n        <source>Create Snapshot</source>\n        <target>Create Snapshot</target>\n      </trans-unit>\n      <trans-unit id="e9af734e231b837d64df21008e2eb1fdff566a61" datatype="html">\n        <source>Please enter the name of the snapshot.</source>\n        <target>Please enter the name of the snapshot.</target>\n      </trans-unit>\n      <trans-unit id="8c4d3039e6a953b0d6f1b1313ffa60c5d2b35dc7" datatype="html">\n        <source>Created snapshot "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "\n          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"\n        </source>\n        <target>Created snapshot "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "\n          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="126ad894f74ee9a999825f3f4ac5a31fdfc093bf" datatype="html">\n        <source>CephFs Snapshot</source>\n        <target>CephFs Snapshot</target>\n      </trans-unit>\n      <trans-unit id="1e4d1c0865adc485260740c42ac5af68ce8feb13" datatype="html">\n        <source>Deleted snapshot "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "\n          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"\n        </source>\n        <target>Deleted snapshot "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "\n          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="22e4e574b7f8abf58254f328792445b42e2a924a" datatype="html">\n        <source>The value can be updated at runtime.</source>\n        <target>Wartość może być zaktualizowana w czasie wykonywania . </target>\n      </trans-unit>\n      <trans-unit id="d7770de7b2343c9deeaa7ebf37ba3e35ca5c5988" datatype="html">\n        <source>Daemons/clients do not pull this value from the\n      monitor config database. We disallow setting this option via \'ceph config\n      set ...\'. This option should be configured via ceph.conf or via the\n      command line.</source>\n        <target>Demony/klienci nie pobierają tej wartości z\nbazy danych skonfigurowanego monitora. Nie zezwalamy na ustawienie tej opcji przez \'konfiguracje ceph\nustaw.. \'. Ta opcja powinna być skonfigurowana przez ceph.conf albo przez\nterminal.</target>\n      </trans-unit>\n      <trans-unit id="83f11fd1dc503c37931ea6c1c5c1e8c2b4b597b6" datatype="html">\n        <source>Option takes effect only during daemon startup.</source>\n        <target>Opcja działa tylko podczas startu demona.</target>\n      </trans-unit>\n      <trans-unit id="837a07cd6a971038b8b1aa190c43440c9fdb5d8b" datatype="html">\n        <source>Option only affects cluster creation.</source>\n        <target>Opcja dotyczy tylko tworzenia klastra.</target>\n      </trans-unit>\n      <trans-unit id="2566a88eb247c918b71cfe5b354c31de0d4b01e5" datatype="html">\n        <source>Option only affects daemon creation.</source>\n        <target>Opcja tylko wpływa na tworzenie demona.</target>\n      </trans-unit>\n      <trans-unit id="1cdc60cfc09c257625768f3d2082816cdef27279" datatype="html">\n        <source>Updated config option \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\n        </source>\n        <target>Updated config option \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="d473e0f684a60db45d6f31e993f693f74290e056" datatype="html">\n        <source>Service</source>\n        <target>Usługa</target>\n      </trans-unit>\n      <trans-unit id="6986e0df8092d822ac2c076520d83994c78834fc" datatype="html">\n        <source>Modified</source>\n        <target>Modified</target>\n      </trans-unit>\n      <trans-unit id="9951bb3983c7dba6fde013e05c922e4fe1a44367" datatype="html">\n        <source>Current value</source>\n        <target>Obecna wartość</target>\n      </trans-unit>\n      <trans-unit id="4a01c175f90dd92b432f4a4a199d2c7bb9d997ff" datatype="html">\n        <source>Editable</source>\n        <target>Edytowalny</target>\n      </trans-unit>\n      <trans-unit id="261c0af854e8684abc15f89dce6efb3e72344b18" datatype="html">\n        <source>host</source>\n        <target>host</target>\n      </trans-unit>\n      <trans-unit id="b1b381321d4cef04605d3e6e8847ea2b72a03799" datatype="html">\n        <source>Identify</source>\n        <target>Identify</target>\n      </trans-unit>\n      <trans-unit id="a5d5e407f8c4e1b152509c966c90f37edf68472e" datatype="html">\n        <source>Device path</source>\n        <target>Device path</target>\n      </trans-unit>\n      <trans-unit id="b7da3e3505cc80f9bf3cffc8444c53e8a9ec70a5" datatype="html">\n        <source>Available</source>\n        <target>Available</target>\n      </trans-unit>\n      <trans-unit id="396974120fc614fc930a27c8d15a094d82a3a9e4" datatype="html">\n        <source>Vendor</source>\n        <target>Vendor</target>\n      </trans-unit>\n      <trans-unit id="6ec98fa3d6504ba1fd03465194b53706c8263c99" datatype="html">\n        <source>Model</source>\n        <target>Model</target>\n      </trans-unit>\n      <trans-unit id="f2d785f5658c96c6a2f505cdd625108bcece84c3" datatype="html">\n        <source>Identify device \n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\n        </source>\n        <target>Identify device \n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="c97ab45ca09248f8f1ba60328175741657fe39ce" datatype="html">\n        <source>Please enter the duration how long to blink the LED.</source>\n        <target>Please enter the duration how long to blink the LED.</target>\n      </trans-unit>\n      <trans-unit id="87e56ee5057023d7e8b59420b838bad112b043bc" datatype="html">\n        <source>1 minute</source>\n        <target>1 minute</target>\n      </trans-unit>\n      <trans-unit id="affa3b3bf1f36531e5ae65291f8a7cd1b06860ee" datatype="html">\n        <source>2 minutes</source>\n        <target>2 minutes</target>\n      </trans-unit>\n      <trans-unit id="878c6645b7fc26d85c7aee17a9d8c282a938dcf3" datatype="html">\n        <source>5 minutes</source>\n        <target>5 minutes</target>\n      </trans-unit>\n      <trans-unit id="aa0a76140961594b7176ade241e5025a7dbb5dce" datatype="html">\n        <source>10 minutes</source>\n        <target>10 minutes</target>\n      </trans-unit>\n      <trans-unit id="0a7f83a1f27750ef634a1f1f97263fac36113b1f" datatype="html">\n        <source>15 minutes</source>\n        <target>15 minutes</target>\n      </trans-unit>\n      <trans-unit id="699b690d686dbb8e00a1e95b89ba2fffb548da6e" datatype="html">\n        <source>Execute</source>\n        <target>Execute</target>\n      </trans-unit>\n      <trans-unit id="aa975a86dd49979a3ae90b9f3fc5b2c97311d422" datatype="html">\n        <source>Identifying \'\n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\' started on host \'\n          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>\'\n        </source>\n        <target>Identifying \'\n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\' started on host \'\n          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="1a6e6ad05508130b7a99ce5b15daf3227c2a930c" datatype="html">\n        <source>Updated options for module "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>".\n        </source>\n        <target>Updated options for module "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="6bd47ff8707aa2e6a94a4a6e2566b86dc7956d5f" datatype="html">\n        <source>Always-On</source>\n        <target>Always-On</target>\n      </trans-unit>\n      <trans-unit id="ac6c9212896d39b23811ed2dadab7d07336ec559" datatype="html">\n        <source>Enable</source>\n        <target>Włączyć</target>\n      </trans-unit>\n      <trans-unit id="6766a926d80bb7763785621098dae459d6226429" datatype="html">\n        <source>Disable</source>\n        <target>Wyłączyć</target>\n      </trans-unit>\n      <trans-unit id="340f2f312c2eb353e5cd69aee6bee7f5a73c34ac" datatype="html">\n        <source>This Manager module is always on.</source>\n        <target>This Manager module is always on.</target>\n      </trans-unit>\n      <trans-unit id="6a0b3657745dd7a2f2162f1cc790bf9004d0845d" datatype="html">\n        <source>Reconnecting, please wait ...</source>\n        <target>Ponowne łączenie, proszę czekać</target>\n      </trans-unit>\n      <trans-unit id="7099a8878af7a0a26fe5663c4f46cfe87142b75d" datatype="html">\n        <source>Public Address</source>\n        <target>Adres publiczny</target>\n      </trans-unit>\n      <trans-unit id="cbdd1cdc0c7a87f55dd177bc44212f0fc4b80852" datatype="html">\n        <source>Open Sessions</source>\n        <target>Otwarte sesje</target>\n      </trans-unit>\n      <trans-unit id="34c6f45591d420b1101dcee53999d1de91c0e400" datatype="html">\n        <source>No available devices</source>\n        <target>No available devices</target>\n      </trans-unit>\n      <trans-unit id="dcfe8807a2a1d0d7074a02afe9b80645bd03b9ab" datatype="html">\n        <source>Please add primary devices first</source>\n        <target>Please add primary devices first</target>\n      </trans-unit>\n      <trans-unit id="05d024719e53f85f7f294b7e21dfd805709a0b06" datatype="html">\n        <source>Add devices by using filters</source>\n        <target>Add devices by using filters</target>\n      </trans-unit>\n      <trans-unit id="37e58d1cbdf8212b380efa51422e42821d4f08e6" datatype="html">\n        <source>No In</source>\n        <target>Nie w </target>\n      </trans-unit>\n      <trans-unit id="12706eb5af17ff5ad77b3de21af368d24678e00b" datatype="html">\n        <source>OSDs that were previously marked out will not be marked back in when they start</source>\n        <target>OSD-ki, które zostały oznaczone jako poza, nie będą oznaczone ponownie jako w gdy zostaną uruchomion</target>\n      </trans-unit>\n      <trans-unit id="96114d7624d11dc90ca46cfa96145fe22118df76" datatype="html">\n        <source>No Out</source>\n        <target>Nie poza</target>\n      </trans-unit>\n      <trans-unit id="a2ef636fe1ddd56b63e4aaf3d292f33dbf735ef3" datatype="html">\n        <source>OSDs will not automatically be marked out after the configured interval</source>\n        <target>OSD-ki nie będą automatycznie oznaczone jako poza po konfiguracji interwału</target>\n      </trans-unit>\n      <trans-unit id="ee50aefa9b8bde1e5429b48709a23abfe08358e0" datatype="html">\n        <source>No Up</source>\n        <target>Nie powstały </target>\n      </trans-unit>\n      <trans-unit id="608929b939307e397586a98cea52ae38997c7273" datatype="html">\n        <source>OSDs are not allowed to start</source>\n        <target>OSD-ki nie mogą startować</target>\n      </trans-unit>\n      <trans-unit id="1751ab69c1e7f62927afedbf7116e0116316c551" datatype="html">\n        <source>No Down</source>\n        <target>Nie upadły</target>\n      </trans-unit>\n      <trans-unit id="41fac86dfb65c1db690f3e87f6497cb73b281084" datatype="html">\n        <source>OSD failure reports are being ignored, such that the monitors will not mark OSDs down</source>\n        <target>Raport z niepowodzenia OSD jest ignorowany, także monitory nie oznaczą OSD jako upadłego. </target>\n      </trans-unit>\n      <trans-unit id="b2838c6165a9672a17db188f4dd9676574353dd8" datatype="html">\n        <source>Pause</source>\n        <target>Pauza </target>\n      </trans-unit>\n      <trans-unit id="191d71dadcc8790573d46706a0b48211de4b8334" datatype="html">\n        <source>Pauses reads and writes</source>\n        <target>Pauzuje czytanie i zapisywanie</target>\n      </trans-unit>\n      <trans-unit id="471d5ba75836f38c19992cf83d8822632d99e473" datatype="html">\n        <source>No Scrub</source>\n        <target>Nie szoruj</target>\n      </trans-unit>\n      <trans-unit id="5b8caa61814121bc36dac0c34a9e9de3cae74990" datatype="html">\n        <source>Scrubbing is disabled</source>\n        <target>Szorowanie jest wyłączone</target>\n      </trans-unit>\n      <trans-unit id="7f29a0ac1c797bdc0347dd5d0734ba83e96e7ce6" datatype="html">\n        <source>No Deep Scrub</source>\n        <target>Nie ma głębokiego szorowania</target>\n      </trans-unit>\n      <trans-unit id="01da61ab216541a8d31259cebd16b10c7e5fc124" datatype="html">\n        <source>Deep Scrubbing is disabled</source>\n        <target>Głębokie szorowanie jest wyłączone</target>\n      </trans-unit>\n      <trans-unit id="0b86c7f18ac725de62c7e192dcfccd02c0dc40ab" datatype="html">\n        <source>No Backfill</source>\n        <target>Brak zasypywania</target>\n      </trans-unit>\n      <trans-unit id="bd33a2bdc8fbed3b7469f3717c16d9aaa2851fdd" datatype="html">\n        <source>Backfilling of PGs is suspended</source>\n        <target>Zasypywanie PG jest zawieszone</target>\n      </trans-unit>\n      <trans-unit id="df526de2b93c4099a30c200ef551608e39ee5256" datatype="html">\n        <source>No Rebalance</source>\n        <target>No Rebalance</target>\n      </trans-unit>\n      <trans-unit id="c5b70346245f8d52b58e5e7fe222ce82f12429ce" datatype="html">\n        <source>OSD will choose not to backfill unless PG is also degraded</source>\n        <target>OSD will choose not to backfill unless PG is also degraded</target>\n      </trans-unit>\n      <trans-unit id="7fbbd036394cfa623add40299757bc87df8eaa7e" datatype="html">\n        <source>No Recover</source>\n        <target>Nie przywrócono</target>\n      </trans-unit>\n      <trans-unit id="f3ee9b451a64dca47299c9b4ae1091c2008068ad" datatype="html">\n        <source>Recovery of PGs is suspended</source>\n        <target>Przywrócenie PGy jest zawieszone </target>\n      </trans-unit>\n      <trans-unit id="de904148fe7e8d812218f50333ffe247900617c5" datatype="html">\n        <source>Bitwise Sort</source>\n        <target>Sortuj bitowo</target>\n      </trans-unit>\n      <trans-unit id="2613c9fde29785bcd75f0abeccb653d14d7527b3" datatype="html">\n        <source>Use bitwise sort</source>\n        <target>Użyj sortowania bitowego</target>\n      </trans-unit>\n      <trans-unit id="2fe10d84250aeee365db244251d40934c70ff1e9" datatype="html">\n        <source>Purged Snapdirs</source>\n        <target>Usuń snap katalogi</target>\n      </trans-unit>\n      <trans-unit id="6b22a5b780eda3c5d500cdac9c6d4f96978c38f1" datatype="html">\n        <source>OSDs have converted snapsets</source>\n        <target>OSD-ki zmieniły snapsety</target>\n      </trans-unit>\n      <trans-unit id="c42f0ba60564dc5b977a8c7f3fdcde9efbb39c60" datatype="html">\n        <source>Recovery Deletes</source>\n        <target>Odzyskaj usunięte</target>\n      </trans-unit>\n      <trans-unit id="72fe39979198ea2ed6db6274b5029025cb316d90" datatype="html">\n        <source>Deletes performed during recovery instead of peering</source>\n        <target>Podczas zdrowienia zastosowano usunięcie zamiast parowania</target>\n      </trans-unit>\n      <trans-unit id="1bb4a1f9127cefe624c173557a716d0ebb6d647c" datatype="html">\n        <source>PG Log Hard Limit</source>\n        <target>Twardy limit logów PG</target>\n      </trans-unit>\n      <trans-unit id="e03c0321397fdf7a9c22e8d6b5015424943c0a57" datatype="html">\n        <source>Puts a hard limit on pg log length</source>\n        <target>Ustawia twardy limit na długość logów PG</target>\n      </trans-unit>\n      <trans-unit id="3c384e2e80c6b5eb24861fbf4225b69486cff4a3" datatype="html">\n        <source>Updated OSD Flags</source>\n        <target>Zaktualizowane flagi OSD-ków</target>\n      </trans-unit>\n      <trans-unit id="948758e1412bb2ecdb98e3a4f1cbb6d7458456f2" datatype="html">\n        <source>Encryption</source>\n        <target>Encryption</target>\n      </trans-unit>\n      <trans-unit id="c8b1475105463088593de1022ff6dceb523eae0e" datatype="html">\n        <source>OSD</source>\n        <target>OSD-ik</target>\n      </trans-unit>\n      <trans-unit id="688578fcc739d6f0c5fb6c366dbb19d21c6d9e36" datatype="html">\n        <source>out</source>\n        <target>poza</target>\n      </trans-unit>\n      <trans-unit id="cb0f69bdd4dea41d7d45c74b6e07f98de8a2ab26" datatype="html">\n        <source>in</source>\n        <target>w</target>\n      </trans-unit>\n      <trans-unit id="b5fbc7c7f007dd53b2318525bb7ff8b0376c9e37" datatype="html">\n        <source>down</source>\n        <target>upadły</target>\n      </trans-unit>\n      <trans-unit id="b58719bcb9184e1a7884d00d22d10899d59bf295" datatype="html">\n        <source>Mark</source>\n        <target>Zaznacz</target>\n      </trans-unit>\n      <trans-unit id="31a1c1aa03f1e5084750bedb4e3fdc04ce2cb6ca" datatype="html">\n        <source>OSD lost</source>\n        <target>Stracony OSD</target>\n      </trans-unit>\n      <trans-unit id="f3fc4c85c5b8f1dedea0496b72d0af9da7b9e0d9" datatype="html">\n        <source>marked lost</source>\n        <target>Zaznaczony jako stracony</target>\n      </trans-unit>\n      <trans-unit id="40fedc157ad899a18ec40573f770d18b040959d2" datatype="html">\n        <source>Purge</source>\n        <target>Czyść</target>\n      </trans-unit>\n      <trans-unit id="4f3cff08c7033b63bbccfe66006b1bcaea48ddd8" datatype="html">\n        <source>purged</source>\n        <target>Oczyszczony</target>\n      </trans-unit>\n      <trans-unit id="8e5d1b01eca6dce26a4751f0b19bda7a6ab8db5b" datatype="html">\n        <source>destroy</source>\n        <target>Zniszcz</target>\n      </trans-unit>\n      <trans-unit id="495a06b78bf165a7b545fa002137f0846b094a3d" datatype="html">\n        <source>destroyed</source>\n        <target>Zniszczony</target>\n      </trans-unit>\n      <trans-unit id="70ef158c584bafe788e319a0bffa11b02ee9abf1" datatype="html">\n        <source>delete</source>\n        <target>Usuń</target>\n      </trans-unit>\n      <trans-unit id="a5b387f5a15b95e339df10fc23526c659a2b6c6f" datatype="html">\n        <source>deleted</source>\n        <target>deleted</target>\n      </trans-unit>\n      <trans-unit id="107614b994f2b01abdc1ca179bf780b0cd933ec4" datatype="html">\n        <source>Recovery Priority</source>\n        <target>Recovery Priority</target>\n      </trans-unit>\n      <trans-unit id="359dad5a3a912ef9dece3194035020856805aa96" datatype="html">\n        <source>PG scrub</source>\n        <target>PG scrub</target>\n      </trans-unit>\n      <trans-unit id="953144c420c2e5abd02e6a687433eac60fa852bd" datatype="html">\n        <source>PGs</source>\n        <target>PG-y</target>\n      </trans-unit>\n      <trans-unit id="7d3523ea9d35c274cef84043de8a2fdde540a9a1" datatype="html">\n        <source>Read bytes</source>\n        <target>Czytanie bajtów</target>\n      </trans-unit>\n      <trans-unit id="f15bf7f588f09ca79795b17bc244e8d336f28171" datatype="html">\n        <source>Write bytes</source>\n        <target>Zapis bajtów </target>\n      </trans-unit>\n      <trans-unit id="f3c33322823c846b13f59ba2c8f234405bba99e1" datatype="html">\n        <source>Read ops</source>\n        <target>Czytanie ops</target>\n      </trans-unit>\n      <trans-unit id="7e0b24a17546cbfab48b03dc874461d1ca68bc9a" datatype="html">\n        <source>Write ops</source>\n        <target>Zapis ops</target>\n      </trans-unit>\n      <trans-unit id="b27d1dd31789610130b7cdbf88c4da552cffe936" datatype="html">\n        <source>Edit OSD: \n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\n        </source>\n        <target>Edit OSD: \n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="986f1379580078e77666d10f8ddf4f839c6ca71d" datatype="html">\n        <source>Edit OSD</source>\n        <target>Edit OSD</target>\n      </trans-unit>\n      <trans-unit id="a4b09e2fa39c3e4f1a387f191fbae4eea3ce7bf5" datatype="html">\n        <source>Updated OSD "\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>"\n        </source>\n        <target>Updated OSD "\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="d45455406092f58e6b089cb440b5b7934b801a01" datatype="html">\n        <source>Mark OSD \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </source>\n        <target>Mark OSD \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="de0b7806e451b3b3dbd564decba59981fe781c18" datatype="html">\n        <source>Mark \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </source>\n        <target>Mark \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="bba1d3bb4f8a47aa2b3068e242562196eadb1e83" datatype="html">\n        <source>PG scrub options</source>\n        <target>PG scrub options</target>\n      </trans-unit>\n      <trans-unit id="b0b7748ebc9b7a6942a8cac4a89d4b215b365878" datatype="html">\n        <source>Updated PG scrub options</source>\n        <target>Updated PG scrub options</target>\n      </trans-unit>\n      <trans-unit id="4edc2162af0bd6cd941eaf730d20a7e3b5a83ba7" datatype="html">\n        <source>Max Backfills</source>\n        <target>Max zasypywanie</target>\n      </trans-unit>\n      <trans-unit id="eb5e6c24a48a1dfe23e0a772b762be5e949c0c8a" datatype="html">\n        <source>Recovery Max Active</source>\n        <target>Max aktywność wyzdrowienia</target>\n      </trans-unit>\n      <trans-unit id="4a23c6d3859e03184118620d2baeb736ac765fbf" datatype="html">\n        <source>Recovery Max Single Start</source>\n        <target>Max pojedynczy start wyzdrowienia</target>\n      </trans-unit>\n      <trans-unit id="97049169ef5228fd1724de2fcdad1fec2858eaf8" datatype="html">\n        <source>Recovery Sleep</source>\n        <target>Uśpienie wyzdrowienia</target>\n      </trans-unit>\n      <trans-unit id="89553524f4e7db5c437b07dcfdc7b831d56ded1a" datatype="html">\n        <source>Updated OSD recovery speed priority "\n          <x id="INTERPOLATION" equiv-text="{{value}}"/>"\n        </source>\n        <target>Updated OSD recovery speed priority "\n          <x id="INTERPOLATION" equiv-text="{{value}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="ccf5f30798c03d2d8efd0e6eb508320c018b722d" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{operation}}"/> was initialized in the following OSD(s): \n          <x id="INTERPOLATION_1" equiv-text="{{id}}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{operation}}"/> was initialized in the following OSD(s): \n          <x id="INTERPOLATION_1" equiv-text="{{id}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="3bc2d18913479965cb046ec75e2ac3f7b7a77ce5" datatype="html">\n        <source>Create Silence</source>\n        <target>Create Silence</target>\n      </trans-unit>\n      <trans-unit id="78917e8031aaf913ac3fa63295325ce8879703ce" datatype="html">\n        <source>Job</source>\n        <target>Praca</target>\n      </trans-unit>\n      <trans-unit id="94287619205068b591c18493c64781424864c259" datatype="html">\n        <source>Severity</source>\n        <target>surowość</target>\n      </trans-unit>\n      <trans-unit id="e6cfbe0c5e0302ba2cec22315f6a28f8ac46b651" datatype="html">\n        <source>Started</source>\n        <target>Wystartowany</target>\n      </trans-unit>\n      <trans-unit id="801b98c6f02fe3b32f6afa3ee854c99ed83474e6" datatype="html">\n        <source>URL</source>\n        <target>URL</target>\n      </trans-unit>\n      <trans-unit id="d9f726c70aeba7fa6d3d68bff718abe78b1e50ac" datatype="html">\n        <source>Query</source>\n        <target>Query</target>\n      </trans-unit>\n      <trans-unit id="a5cd682a8a33bdc72e093d059429e3cc3a50ec1d" datatype="html">\n        <source>silence</source>\n        <target>silence</target>\n      </trans-unit>\n      <trans-unit id="f557e117e059e7036c6eecacd325a6ae35d866e0" datatype="html">\n        <source>Attribute name</source>\n        <target>Attribute name</target>\n      </trans-unit>\n      <trans-unit id="50f7f517ad8158667f7d4e2bd6f3256e05156e75" datatype="html">\n        <source>Regular expression</source>\n        <target>Regular expression</target>\n      </trans-unit>\n      <trans-unit id="81b1eab399c47110d50f45e3ccb4c009de7cb581" datatype="html">\n        <source>Please add your Prometheus host to the dashboard configuration and refresh the page</source>\n        <target>Please add your Prometheus host to the dashboard configuration and refresh the page</target>\n      </trans-unit>\n      <trans-unit id="29b4ae3296e239446fa0dea88a5112de15cffa54" datatype="html">\n        <source>Created by</source>\n        <target>Created by</target>\n      </trans-unit>\n      <trans-unit id="8d833cceee0ba4c5161b130365e02bc1e129b57e" datatype="html">\n        <source>Ends</source>\n        <target>Ends</target>\n      </trans-unit>\n      <trans-unit id="46a11ff4289e8c88b1b7a935f8d8ee704055f11a" datatype="html">\n        <source>Silence</source>\n        <target>Silence</target>\n      </trans-unit>\n      <trans-unit id="f2ea47d702c7f5e3e5fa751bf9959e21030b72e6" datatype="html">\n        <source>Daemon type</source>\n        <target>Daemon type</target>\n      </trans-unit>\n      <trans-unit id="6c131968e6ab730d86443e6fc11c5cc2a76d7bac" datatype="html">\n        <source>Daemon ID</source>\n        <target>Daemon ID</target>\n      </trans-unit>\n      <trans-unit id="5738f0ca7ddd9594058ce051b1d5d576e2782825" datatype="html">\n        <source>Container ID</source>\n        <target>Container ID</target>\n      </trans-unit>\n      <trans-unit id="78ebcf850cd440c5efc15e6a3a522ae75aeff669" datatype="html">\n        <source>Container Image name</source>\n        <target>Container Image name</target>\n      </trans-unit>\n      <trans-unit id="ea0c7ab9a7bdf646d494abf8c85fbf67d934d079" datatype="html">\n        <source>Container Image ID</source>\n        <target>Container Image ID</target>\n      </trans-unit>\n      <trans-unit id="bf2468fd965b8a59c135ad549b3a612aa9873abc" datatype="html">\n        <source>Status Description</source>\n        <target>Status Description</target>\n      </trans-unit>\n      <trans-unit id="19867330bdc84096f5a93ab087a1766476c8a074" datatype="html">\n        <source>Last Refreshed</source>\n        <target>Last Refreshed</target>\n      </trans-unit>\n      <trans-unit id="2349ee2027ab6ceb3e4b8834928562075b7e1ac7" datatype="html">\n        <source>Container image name</source>\n        <target>Container image name</target>\n      </trans-unit>\n      <trans-unit id="3c475503fb93338811af6b3d9ccacca1d7334609" datatype="html">\n        <source>Container image ID</source>\n        <target>Container image ID</target>\n      </trans-unit>\n      <trans-unit id="8dd15f6c73c05a8b0bd7b6d416487ab6570b88c8" datatype="html">\n        <source>Running</source>\n        <target>Running</target>\n      </trans-unit>\n      <trans-unit id="fb2e1bed329dc5b84197808c778abb9edcbdb335" datatype="html">\n        <source>Used</source>\n        <target>Użyty</target>\n      </trans-unit>\n      <trans-unit id="4f1ab04d9100fb0df0e62b921ec46ae052ae29fc" datatype="html">\n        <source>Avail.</source>\n        <target>Dostępny</target>\n      </trans-unit>\n      <trans-unit id="a1c9b3d4fa67450fe9afd1d726f8a1bd91d990ea" datatype="html">\n        <source>Clean</source>\n        <target>Czyść</target>\n      </trans-unit>\n      <trans-unit id="0054f5460090d6dde385e8f099d598df5d28cf54" datatype="html">\n        <source>Working</source>\n        <target>Działający</target>\n      </trans-unit>\n      <trans-unit id="a8059e31694578c1b0344a76a345357dd60e8f01" datatype="html">\n        <source>Warning</source>\n        <target>Ostrzeżenie </target>\n      </trans-unit>\n      <trans-unit id="e5d8bb389c702588877f039d72178f219453a72d" datatype="html">\n        <source>Unknown</source>\n        <target>Nieznany</target>\n      </trans-unit>\n      <trans-unit id="88155be1b9b9c6140d6e8f93bac4a775cfdc6671" datatype="html">\n        <source>Healthy</source>\n        <target>Healthy</target>\n      </trans-unit>\n      <trans-unit id="8a3aec4dc1a6e2d4c612ae85e0537acbb20a0f85" datatype="html">\n        <source>Misplaced</source>\n        <target>Misplaced</target>\n      </trans-unit>\n      <trans-unit id="ee81f9bf7ceac69712e0b83e8adc268739f9673e" datatype="html">\n        <source>Degraded</source>\n        <target>Degraded</target>\n      </trans-unit>\n      <trans-unit id="14625bc4025daef1969777a67a3cca27e0cd9167" datatype="html">\n        <source>Unfound</source>\n        <target>Unfound</target>\n      </trans-unit>\n      <trans-unit id="8f23ea509d081c2f747d083d44608dbf125b2ea2" datatype="html">\n        <source>replicas</source>\n        <target>replicas</target>\n      </trans-unit>\n      <trans-unit id="129a2224e1f9d19eb5e11e2a07fe10a785556484" datatype="html">\n        <source>up</source>\n        <target>Podniesiony</target>\n      </trans-unit>\n      <trans-unit id="d5f29cf0af691726483262d647eb6622be002512" datatype="html">\n        <source>no filesystems</source>\n        <target>brak systemów plików</target>\n      </trans-unit>\n      <trans-unit id="b1c4387ffab06f3fa9fdb4411aea955595538d44" datatype="html">\n        <source>active</source>\n        <target>aktywny</target>\n      </trans-unit>\n      <trans-unit id="1aaf7054d826f2cb05ec3e88a5a4b8116861e1f5" datatype="html">\n        <source>standby</source>\n        <target>Rezerwa</target>\n      </trans-unit>\n      <trans-unit id="c9a1080024dca344a48acdb77fa2d54e059f7254" datatype="html">\n        <source>n/a</source>\n        <target>niedostępny</target>\n      </trans-unit>\n      <trans-unit id="84a1787b6df375847c70f782861d7e7f8f43bff4" datatype="html">\n        <source>active daemon</source>\n        <target>aktywny demon</target>\n      </trans-unit>\n      <trans-unit id="24407dc2ebfafaf6b131ee978683b893c3f1d763" datatype="html">\n        <source>quorum</source>\n        <target>kworum</target>\n      </trans-unit>\n      <trans-unit id="2fa50bc07995c6ea660412294298ded39fcb08d9" datatype="html">\n        <source>The NFS Ganesha service is not configured.</source>\n        <target>Usługa NFS Ganesha nie jest skonfigurowana</target>\n      </trans-unit>\n      <trans-unit id="af1396bdc49f45ea6c4a1e414769f5e2a382c834" datatype="html">\n        <source>Transport</source>\n        <target>Transport</target>\n      </trans-unit>\n      <trans-unit id="b6a0e176d96c4feed2e975a039c044fcf822e152" datatype="html">\n        <source>CephFS User</source>\n        <target>Użytkownik CephFS</target>\n      </trans-unit>\n      <trans-unit id="44dc610cf201a163e8c38da810acec9596930bb3" datatype="html">\n        <source>CephFS Filesystem</source>\n        <target>system plików CephFS </target>\n      </trans-unit>\n      <trans-unit id="db6dc7124be83c7055cb0f2719e31f2f9d46fd3d" datatype="html">\n        <source>(inherited from global config)</source>\n        <target>(Odziedziczyło z globalnej konfiguracji)</target>\n      </trans-unit>\n      <trans-unit id="e1f97bb86f991553ec7b535cb39e7eaa99dfcfe2" datatype="html">\n        <source>inherited from global config</source>\n        <target>Odziedziczyło z globalnej konfiguracji</target>\n      </trans-unit>\n      <trans-unit id="e751800766277e7c2edd652cec7a7a1a68a37852" datatype="html">\n        <source>-- Select what kind of user id squashing is performed --</source>\n        <target>-- Wybierz, jakiego rodzaju identyfikacja użytkownika ma być przeprowadzana -- </target>\n      </trans-unit>\n      <trans-unit id="4b58387f911e8a7b135a0c4d76c70335c65bbb32" datatype="html">\n        <source>There are no daemons available.</source>\n        <target>Brak dostępnym demonów</target>\n      </trans-unit>\n      <trans-unit id="18ae8dc1264f06df7ea251175ada2ac1b8401018" datatype="html">\n        <source>NFS export</source>\n        <target>NFS export</target>\n      </trans-unit>\n      <trans-unit id="c56d51748965db5f3966cd1d06a1c9f4b5244931" datatype="html">\n        <source>Crush Rule</source>\n        <target>Crush Rule</target>\n      </trans-unit>\n      <trans-unit id="ae128527ec18892f812a62a1fd15dc50a38060c0" datatype="html">\n        <source>EC Profile</source>\n        <target>EC Profile</target>\n      </trans-unit>\n      <trans-unit id="60fb10c145f9c7ede2b9ddf9b2b0b0f6191d0ebd" datatype="html">\n        <source>Cache Mode</source>\n        <target>Tryb pamięci podręcznej</target>\n      </trans-unit>\n      <trans-unit id="fa5bfad31d4139f6871443bb74324ffda5cad3e6" datatype="html">\n        <source>Min Evict Age</source>\n        <target>Min wiek eksmisji</target>\n      </trans-unit>\n      <trans-unit id="fd0eb851666df45c34c76fabcda79b0d77bc910b" datatype="html">\n        <source>Min Flush Age</source>\n        <target>Min wiek wyrównania </target>\n      </trans-unit>\n      <trans-unit id="cb54d2c420a534cee0c308ea5589f8c394ef8d67" datatype="html">\n        <source>Target Max Bytes</source>\n        <target>Max bajtów obiektu docelowego </target>\n      </trans-unit>\n      <trans-unit id="07f4ebe6615dca466818ffdae2a69ee217d265fb" datatype="html">\n        <source>Target Max Objects</source>\n        <target>Max obiektów docelowych</target>\n      </trans-unit>\n      <trans-unit id="eaa8f4df53cf7fa78d078e20a701d10f3dccd77d" datatype="html">\n        <source>No applications added</source>\n        <target>Nie dodano żadnego zastosowania</target>\n      </trans-unit>\n      <trans-unit id="321c2a7640f11177ea49b0857b94c4b70830c0e6" datatype="html">\n        <source>Applications limit reached</source>\n        <target>Osiągnięto limit zastosowań </target>\n      </trans-unit>\n      <trans-unit id="519d27742b74fadc8336777452f78891e98aa1dc" datatype="html">\n        <source>A pool can only have up to four applications definitions.</source>\n        <target>Pul może mieć maksymalnie 4 definicje aplikacji. </target>\n      </trans-unit>\n      <trans-unit id="b5bec3813f0d45daa7eb9471272969e1bc3e734e" datatype="html">\n        <source>Allowed characters \'_a-zA-Z0-9\'</source>\n        <target>Dozwolone znaki \'_a-zA-Z0-9\'</target>\n      </trans-unit>\n      <trans-unit id="807472d29602a0085bce62e534bd66208982c2e2" datatype="html">\n        <source>Maximum length is 128 characters</source>\n        <target>Maksymalna długość wynosi 128 znaków</target>\n      </trans-unit>\n      <trans-unit id="37785748b9ac9ad1d3e4b111ac502c3284afe84b" datatype="html">\n        <source>Filter or add applications</source>\n        <target>Filtruj lub dodaj zastosowanie</target>\n      </trans-unit>\n      <trans-unit id="38c7b8610ca87835e13eeee6a09ba1c414cd5cb9" datatype="html">\n        <source>Add application</source>\n        <target>Dodaj zastosowanie</target>\n      </trans-unit>\n      <trans-unit id="db8c42f077700d8a94619fad9f4c94b7361d5f1d" datatype="html">\n        <source>pool</source>\n        <target>pool</target>\n      </trans-unit>\n      <trans-unit id="65bb2be83261bc4798853bbccdedc110c43feea7" datatype="html">\n        <source>erasure code profile</source>\n        <target>skasuj profil kodu</target>\n      </trans-unit>\n      <trans-unit id="ae48e19a9a2acaca4b5ea594451bc9b0b01ec8d2" datatype="html">\n        <source>crush rule</source>\n        <target>crush rule</target>\n      </trans-unit>\n      <trans-unit id="112d356ad6846959ca4aa5ec9a1f0d9d473b24ec" datatype="html">\n        <source>Replica Size</source>\n        <target>Rozmiar repliki</target>\n      </trans-unit>\n      <trans-unit id="ec50492db341fa752b023d8c924601286b6c9c0c" datatype="html">\n        <source>Last Change</source>\n        <target>Ostatnia zmiana</target>\n      </trans-unit>\n      <trans-unit id="563a8c136a9d423bc7ae1269a404d6da5fd83dad" datatype="html">\n        <source>Erasure Coded Profile</source>\n        <target>Skasuj profil zakodowany</target>\n      </trans-unit>\n      <trans-unit id="0ad7f0662956cff61ac1208f92b1a0305b1b2e58" datatype="html">\n        <source>Crush Ruleset</source>\n        <target>Zbiór zasad Crush</target>\n      </trans-unit>\n      <trans-unit id="bcc365a084b6145b941b371bd4c2b6c3d2c79234" datatype="html">\n        <source>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</source>\n        <target>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</target>\n      </trans-unit>\n      <trans-unit id="44939fd05cedfd077db886528b755e77d5fa3885" datatype="html">\n        <source>bucket</source>\n        <target>wiadro</target>\n      </trans-unit>\n      <trans-unit id="84fee774286ec4191311f1277075455c3ea5e2e2" datatype="html">\n        <source>Updated Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>".\n        </source>\n        <target>Updated Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="2d7a43674f0bbc131c9e555ec16ac37fa0445d76" datatype="html">\n        <source>Created Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>"\n        </source>\n        <target>Created Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="ec40d74ecfb1d6d60455af6805c9a714a3f5750a" datatype="html">\n        <source>buckets</source>\n        <target>Wiadra</target>\n      </trans-unit>\n      <trans-unit id="764585d5595bac113582ee14a6fd07006770ceb1" datatype="html">\n        <source>capability</source>\n        <target>capability</target>\n      </trans-unit>\n      <trans-unit id="0914cbe18bae204217e1851be6d2d24d86e74605" datatype="html">\n        <source>user</source>\n        <target>użytkownik</target>\n      </trans-unit>\n      <trans-unit id="d8c86dc5e48a63590d9c94e19f90b5f8325cbd49" datatype="html">\n        <source>subuser</source>\n        <target>subuser</target>\n      </trans-unit>\n      <trans-unit id="f45a3de8a8b40d161cc36a55d77548a27107ca04" datatype="html">\n        <source>S3 Key</source>\n        <target>S3 Key</target>\n      </trans-unit>\n      <trans-unit id="854a763265e92f91ba3ccee1a0e8d823be584f7c" datatype="html">\n        <source>Updated Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </source>\n        <target>Updated Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="84ab3fd641e65e39cffee0ec722a059ed284229e" datatype="html">\n        <source>Created Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </source>\n        <target>Created Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="7c7f4be7b726e61c577e63842a58d9e435f7c597" datatype="html">\n        <source>users</source>\n        <target>użytkownicy</target>\n      </trans-unit>\n      <trans-unit id="9f7760223efd77806f1bbaf963e6993bb4bc6a0a" datatype="html">\n        <source>Swift Key</source>\n        <target>Swift Key</target>\n      </trans-unit>\n      <trans-unit id="6462d8f12b427c29363f00b12f20f566be24937c" datatype="html">\n        <source>Device ID</source>\n        <target>Device ID</target>\n      </trans-unit>\n      <trans-unit id="82f12bf23db4bb82db89877bebe93954bc1c8fb0" datatype="html">\n        <source>State of Health</source>\n        <target>State of Health</target>\n      </trans-unit>\n      <trans-unit id="7bd34bd120146afef0e0d8fa168d9bdabd594b6a" datatype="html">\n        <source>Good</source>\n        <target>Good</target>\n      </trans-unit>\n      <trans-unit id="31c59dce114ec0a9d02552ef7b81920b3de36793" datatype="html">\n        <source>Bad</source>\n        <target>Bad</target>\n      </trans-unit>\n      <trans-unit id="2862af5284f66d4b06bdcf77a5519141723b6989" datatype="html">\n        <source>Stale</source>\n        <target>Stale</target>\n      </trans-unit>\n      <trans-unit id="8d8e819b52984a4fbdec75a99eb28d1ae4323bbc" datatype="html">\n        <source>Life Expectancy</source>\n        <target>Life Expectancy</target>\n      </trans-unit>\n      <trans-unit id="72d9b15be18ea063e78c4e855b9e8c0af95593ef" datatype="html">\n        <source>Prediction Creation Date</source>\n        <target>Prediction Creation Date</target>\n      </trans-unit>\n      <trans-unit id="a6b4ef85e5ff8bd192751c7bbebc54c46118d6d4" datatype="html">\n        <source>Device Name</source>\n        <target>Device Name</target>\n      </trans-unit>\n      <trans-unit id="d5fd840374ca1a6f394bcd81f390a6dca27f8224" datatype="html">\n        <source>An error with error code \n          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.\n        </source>\n        <target>An error with error code \n          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.\n        </target>\n      </trans-unit>\n      <trans-unit id="a0b59d7139692bb8d8ed786b6eb6e9e70ce743f3" datatype="html">\n        <source>Raw</source>\n        <target>Raw</target>\n      </trans-unit>\n      <trans-unit id="2f3beddc8234b30fb26a7f63ba2f1ea74f2ed6f7" datatype="html">\n        <source>Threshold</source>\n        <target>Threshold</target>\n      </trans-unit>\n      <trans-unit id="4654b5a68af3c8bad29aa14ca85ccea1f3143c6b" datatype="html">\n        <source>When Failed</source>\n        <target>When Failed</target>\n      </trans-unit>\n      <trans-unit id="5b7f56d5be49fb8e8d8f40209d6746f8f72e9177" datatype="html">\n        <source>Worst</source>\n        <target>Worst</target>\n      </trans-unit>\n      <trans-unit id="1481b8488e10dbc437accce89d2ae35a0106e8ba" datatype="html">\n        <source>Scope</source>\n        <target>Zakres</target>\n      </trans-unit>\n      <trans-unit id="9b1d5e95f6bdcfb4b737413f5fa157e0dcb103d5" datatype="html">\n        <source>Read</source>\n        <target>Czytaj</target>\n      </trans-unit>\n      <trans-unit id="70a67e04629f6d412db0a12d51820b480788d795" datatype="html">\n        <source>Create</source>\n        <target>Stwórz</target>\n      </trans-unit>\n      <trans-unit id="dc4fba275819619ee78e8eae14d357ea69ba7477" datatype="html">\n        <source>role</source>\n        <target>role</target>\n      </trans-unit>\n      <trans-unit id="fe6ee93173884201ec62d62ba173c3de85ae177e" datatype="html">\n        <source>Created role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Created role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="41c032df0732f4318f8213fabd0719ac347d4b6c" datatype="html">\n        <source>Updated role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Updated role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="50e22b5289f79f1417369403345c9fa9911a4557" datatype="html">\n        <source>System Role</source>\n        <target>System roli </target>\n      </trans-unit>\n      <trans-unit id="7f132668e2dbfcf616381d2daf59d1a6f2698102" datatype="html">\n        <source>Deleted role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Deleted role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="bd15b8d5c0fa160161728eefbbb585710414d471" datatype="html">\n        <source>New name</source>\n        <target>New name</target>\n      </trans-unit>\n      <trans-unit id="6f126277f3dc22a3ab3609c4c198386c8744e11a" datatype="html">\n        <source>Clone Role</source>\n        <target>Clone Role</target>\n      </trans-unit>\n      <trans-unit id="d19d8320479854bc52877cdf0dc5ecfe34a36ec7" datatype="html">\n        <source>Cloned role \'\n          <x id="INTERPOLATION" equiv-text="{{dst_name}}"/>\' from \'\n          <x id="INTERPOLATION_1" equiv-text="{{src_name}}"/>\'\n        </source>\n        <target>Cloned role \'\n          <x id="INTERPOLATION" equiv-text="{{dst_name}}"/>\' from \'\n          <x id="INTERPOLATION_1" equiv-text="{{src_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="2e35d60a14ce0b470e8b54602864a867f7fcef40" datatype="html">\n        <source>There are no roles.</source>\n        <target>There are no roles.</target>\n      </trans-unit>\n      <trans-unit id="d2362a49d2434ce137bf19dab004251b7fd9c7b3" datatype="html">\n        <source>Created user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Created user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="9910122dfedd2eaa544a990f1430e5b82a76d99f" datatype="html">\n        <source>Update user</source>\n        <target>Zaktualizuj użytkownika</target>\n      </trans-unit>\n      <trans-unit id="ac10a3d9b59575640797c1a8e6aea642cf5d5e77" datatype="html">\n        <source>Continue</source>\n        <target>Kontynuuj </target>\n      </trans-unit>\n      <trans-unit id="cf4bcf4ce3d551e6099ccdc3546ae418fe5f8038" datatype="html">\n        <source>You were automatically logged out because your roles have been changed.</source>\n        <target>Zostałeś automatycznie wylogowany, ponieważ zostały zmienione twoje role.</target>\n      </trans-unit>\n      <trans-unit id="0f6003fb0c1cc73b89d225801cc1b870945cd259" datatype="html">\n        <source>Updated user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Updated user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="fe516c6d820018fdc971113935e22ec1e852965f" datatype="html">\n        <source>Deleted user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Deleted user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="01a7e11502ff80421ef3615e533ea14ef57e1d5c" datatype="html">\n        <source>Failed to delete user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Failed to delete user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="63316a3861dbcb035147efc1b9fb6bc708242e94" datatype="html">\n        <source>You are currently logged in as "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>".\n        </source>\n        <target>You are currently logged in as "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="d8b81951d25439864e92f750f7c99d7426d6517c" datatype="html">\n        <source>password</source>\n        <target>password</target>\n      </trans-unit>\n      <trans-unit id="d361a9b5e1f7985a12c0433388f31626525a02b8" datatype="html">\n        <source>Updated user password"</source>\n        <target>Updated user password"</target>\n      </trans-unit>\n      <trans-unit id="c4e596a44ffc4718c1602600d6e4f029190eb031" datatype="html">\n        <source>The name of the node under which data should be placed.</source>\n        <target>The name of the node under which data should be placed.</target>\n      </trans-unit>\n      <trans-unit id="f24772ba1091155f8d7025332ca8456a204d1e28" datatype="html">\n        <source>The type of CRUSH nodes across which we should separate replicas.</source>\n        <target>The type of CRUSH nodes across which we should separate replicas.</target>\n      </trans-unit>\n      <trans-unit id="a3896042af461a80091c3f7a5fe3fff5ac40a3a0" datatype="html">\n        <source>The device class data should be placed on.</source>\n        <target>The device class data should be placed on.</target>\n      </trans-unit>\n      <trans-unit id="1d7fbcc3d5efc946ffbcf86fed04c4e20dda20fb" datatype="html">\n        <source>Each object is split in data-chunks parts, each stored on a different OSD.</source>\n        <target>Każdy obiekt jest podzielony na części fragmentów danych, każdy jest przechowywany na innym OSD.</target>\n      </trans-unit>\n      <trans-unit id="b1f8ed4e216585f1f9134740002ef3c8501debd8" datatype="html">\n        <source>Compute coding chunks for each object and store them on different OSDs.\n      The number of coding chunks is also the number of OSDs that can be down without losing data.</source>\n        <target>Oblicz porcje kodu dla każdego obiektu i przechowuj je na różnych OSD.\n Liczba fragmentów kodujących to również liczba OSD, które mogą zostać wyłączone bez utraty danych.</target>\n      </trans-unit>\n      <trans-unit id="c437ee74a9a8e781e1380153f742a685e3b8cc5e" datatype="html">\n        <source>The jerasure plugin is the most generic and flexible plugin,\n          it is also the default for Ceph erasure coded pools.</source>\n        <target>Wtyczka jerasure jest najbardziej uniwersalną i elastyczną wtyczką,\n jest to również domyślne ustawienie dla pui kodowanych przez Ceph.</target>\n      </trans-unit>\n      <trans-unit id="8c7e19322851402afa67e41f4f1d4e531caf1bf5" datatype="html">\n        <source>The more flexible technique is reed_sol_van : it is enough to set k\n          and m. The cauchy_good technique can be faster but you need to chose the packetsize\n          carefully. All of reed_sol_r6_op, liberation, blaum_roth, liber8tion are RAID6 equivalents\n          in the sense that they can only be configured with m=2.</source>\n        <target>Bardziej elastyczną techniką jest reed_sol_van: wystarczy ustawić k\n oraz m. Technika cauchy_good może być szybsza, ale musisz wybrać rozmiar pakietu\n ostrożnie. Wszystkie reed_sol_r6_op, liberation, blaum_roth, liber8tion są odpowiednikami RAID6\n w tym sensie, że mogą być skonfigurowane tylko z m = 2.</target>\n      </trans-unit>\n      <trans-unit id="b1b11f49281b4e79219b4eecfbcb033cb15bd880" datatype="html">\n        <source>The encoding will be done on packets of bytes size at a time.\n          Chosing the right packet size is difficult.\n          The jerasure documentation contains extensive information on this topic.</source>\n        <target>Kodowanie będzie wykonywane na pakietach o rozmiarze bajtów naraz.\n Wybór odpowiedniego rozmiaru pakietu jest trudny.\n Dokumentacja jerasure zawiera obszerne informacje na ten temat.</target>\n      </trans-unit>\n      <trans-unit id="d9cb3bc07a25b26fbea457e0a7b543340bc13c49" datatype="html">\n        <source>With the jerasure plugin, when an erasure coded object is stored on\n          multiple OSDs, recovering from the loss of one OSD requires reading from all the others.\n          For instance if jerasure is configured with k=8 and m=4, losing one OSD requires reading\n          from the eleven others to repair.\n\n          The lrc erasure code plugin creates local parity chunks to be able to recover using\n          less OSDs. For instance if lrc is configured with k=8, m=4 and l=4, it will create\n          an additional parity chunk for every four OSDs. When a single OSD is lost, it can be\n          recovered with only four OSDs instead of eleven.</source>\n        <target>Z wtyczką jerasure, gdy obiekt zakodowany przy użyciu skasowania jest przechowywany na \n wielu OSD-kach, odzyskiwanie po utracie jednego OSD wymaga odczytu ze wszystkich pozostałych.\n Na przykład, jeśli konfiguracja skryptu ma wartość k = 8 ,m = 4 i l=4, utrata jednego OSD wymaga odczytu\n od jedenastu innych do naprawy.\n\n Wtyczka kodu wymazywania lrc tworzy fragmenty o parzystości lokalnej, aby móc je odzyskać\n mniej OSD. Na przykład, jeśli lrc jest skonfigurowane z k = 8, m = 4 i l = 4, zostanie utworzony\n dodatkowy fragment parzystości na każde cztery OSD. Gdy jeden OSD zostanie utracone, może to być\n odzyskane tylko z czterema OSD zamiast jedenastu.</target>\n      </trans-unit>\n      <trans-unit id="813959d46e63a29bbd266b3af2ff9414c2ef553c" datatype="html">\n        <source>Group the coding and data chunks into sets of size locality. For instance,\n          for k=4 and m=2, when locality=3 two groups of three are created. Each set can\n          be recovered without reading chunks from another set.</source>\n        <target>Grupuj fragmenty kodu i danych w zestawy lokalizacji wielkości. Na przykład,\n dla k = 4 i m = 2, gdy lokalność = 3 tworzone są dwie grupy po trzy. Każdy zestaw może\n odzyskać bez czytania kawałków z innego zestawu.</target>\n      </trans-unit>\n      <trans-unit id="f0ff63d92e0a1b4d4b51e31b9133802d160a5f4c" datatype="html">\n        <source>The type of the crush bucket in which each set of chunks defined\n          by l will be stored. For instance, if it is set to rack, each group of l chunks will be\n          placed in a different rack. It is used to create a CRUSH rule step such as step choose\n          rack. If it is not set, no such grouping is done.</source>\n        <target>Typ wiadra CRUSH, w którym zdefiniowano każdy zestaw porcji\n przez l zostaną zapisane. Na przykład, jeśli jest ustawiony na rack, każda grupa l porcji będzie\n umieszczona w innym raku. Służy do utworzenia kroku reguły CRUSH, takiego jak krok wyboru\n racka. Jeśli nie jest ustawiony, nie ma takiego grupowania.</target>\n      </trans-unit>\n      <trans-unit id="3ece48df9d1e9a98f98bf3c5cc66e8b637020a4d" datatype="html">\n        <source>The isa plugin encapsulates the ISA library. It only runs on Intel processors.</source>\n        <target>Wtyczka isa zawiera bibliotekę ISA. Działa tylko na procesorach Intel.</target>\n      </trans-unit>\n      <trans-unit id="4472c9e31bfc7d96a83dc4afce0a6e885c99e839" datatype="html">\n        <source>The ISA plugin comes in two Reed Solomon forms.\n          If reed_sol_van is set, it is Vandermonde, if cauchy is set, it is Cauchy.</source>\n        <target>Wtyczka ISA jest dostępna w dwóch formach Reed Solomon.\n Jeśli ustawiono reed_sol_van, jest to Vandermonde, jeśli ustawiono cauchy, to jest to Cauchy.</target>\n      </trans-unit>\n      <trans-unit id="fa385f5ecf63083ec848dca8dc5e52bdc72ac6f6" datatype="html">\n        <source>The shec plugin encapsulates the multiple SHEC library.\n          It allows ceph to recover data more efficiently than Reed Solomon codes.</source>\n        <target>Wtyczka shec zawiera wiele bibliotek SHEC.\n Pozwala ceph odzyskać dane bardziej efektywnie niż kody Reeda Solomona.</target>\n      </trans-unit>\n      <trans-unit id="687b3cd94b3475c24ff4481d64d4739f902a377c" datatype="html">\n        <source>The number of parity chunks each of which includes each data chunk in its\n          calculation range. The number is used as a durability estimator. For instance, if c=2,\n          2 OSDs can be down without losing data.</source>\n        <target>Liczba kawałków parzystości, z których każdy zawiera każdą porcję danych w swoim zakresie obliczeń. Liczba jest używana jako estymator trwałości. Na przykład, jeśli c = 2,\n 2 OSD można wyłączyć bez utraty danych.</target>\n      </trans-unit>\n      <trans-unit id="f3c4af6df91bdaabdb715f8f0b61a24faf73a3bc" datatype="html">\n        <source>The name of the crush bucket used for the first step of the CRUSH rule.\n      For instance step take default.</source>\n        <target>Nazwa wiadra crush jest użyte do pierwszego kroku reguły CRUSH.\nNa przykład krok jest domyślny.</target>\n      </trans-unit>\n      <trans-unit id="e1059955a5ce65cdabf0c0a8207377e1f9bae57e" datatype="html">\n        <source>Ensure that no two chunks are in a bucket with the same failure\n      domain. For instance, if the failure domain is host no two chunks will be stored on the same\n      host. It is used to create a CRUSH rule step such as step chooseleaf host.</source>\n        <target>Upewnij się, że żadne dwie porcje nie znajdują się w wiadrze z tą samą awarią\n domeny. Na przykład, jeśli domena awarii jest hostem, nie zostaną na niej zapisane dwie porcje\n hosta. Służy do utworzenia kroku reguły CRUSH, takiego jak krok wyboru hosta.</target>\n      </trans-unit>\n      <trans-unit id="ac392ac9c6da5fde6da80fc57b9c09402fb6e73d" datatype="html">\n        <source>Restrict placement to devices of a specific class\n      (e.g., ssd or hdd), using the crush device class names in the CRUSH map.</source>\n        <target>Ogranicz umieszczanie do urządzeń określonej klasy\n (np. ssd lub hdd), używając nazw klas urządzeń zgniatających na mapie CRUSH.</target>\n      </trans-unit>\n      <trans-unit id="62bcb9ae5583a088649b1adf5787a86ca3334f89" datatype="html">\n        <source>Set the directory name from which the erasure code plugin is loaded.</source>\n        <target>Ustaw nazwę katalogu, z którego ładowana jest wtyczka kodu kasowania.</target>\n      </trans-unit>\n      <trans-unit id="c8f10184a8433d132ede0a2c0c1aa96f291cacfa" datatype="html">\n        <source>Allows all operations</source>\n        <target>Dozwolone są wszystkie operacje</target>\n      </trans-unit>\n      <trans-unit id="82077ee97c11ee76efc3adf253b7b26654544317" datatype="html">\n        <source>Allows only operations that do not modify the server</source>\n        <target>Dozwolone są operacje, które nie modyfikują serweru</target>\n      </trans-unit>\n      <trans-unit id="22b5212ec10449dbf0a0af0ad34122eac51b5f2a" datatype="html">\n        <source>Does not allow read or write operations, but allows any other operation</source>\n        <target>Operacje odczytu i zapisu są zakazane, wszystkie inne dozwolone</target>\n      </trans-unit>\n      <trans-unit id="9799d0f8c4b7727ae239fedfe3c0ce127feb7a50" datatype="html">\n        <source>Does not allow read, write, or any operation that modifies file        attributes or directory content</source>\n        <target>Operacje odczytu i zapisu, oraz wszystkie operacje modyfikujące atrybuty albo katalogi są zakazane </target>\n      </trans-unit>\n      <trans-unit id="aeddefe0af87025d8f00699aa94bed8216a99a58" datatype="html">\n        <source>Allows no access at all</source>\n        <target>Brak dostępu w ogóle</target>\n      </trans-unit>\n      <trans-unit id="a436c6a4025a749198e93cac239de8deede72211" datatype="html">\n        <source>-- Select the priority --</source>\n        <target>-- wybierz priorytet -- </target>\n      </trans-unit>\n      <trans-unit id="9556266f0a2b1762a44b686f2bb21dbfefb01c12" datatype="html">\n        <source>Low</source>\n        <target>Niski</target>\n      </trans-unit>\n      <trans-unit id="72279141a67cc042d9864102b703216cc8a428a3" datatype="html">\n        <source>High</source>\n        <target>Wysoki</target>\n      </trans-unit>\n      <trans-unit id="6080b77234e92ad41bb52653b239c4c4f851317d" datatype="html">\n        <source>Error</source>\n        <target>Error</target>\n      </trans-unit>\n      <trans-unit id="c43dc1967a603fefb886149ac35863a06d5b4ce5" datatype="html">\n        <source>Information</source>\n        <target>Informacja</target>\n      </trans-unit>\n      <trans-unit id="1e035e6ccfab771cad4226b2ad230cb0d4a88cba" datatype="html">\n        <source>Success</source>\n        <target>Success</target>\n      </trans-unit>\n      <trans-unit id="61fd1cffcb763cbfd5829071723cf9b647174bd9" datatype="html">\n        <source>An error occurred.</source>\n        <target>An error occurred.</target>\n      </trans-unit>\n      <trans-unit id="e6ca3c0efaf51e6d45a7f92f58bac37140c3fda4" datatype="html">\n        <source>Last 5 minutes</source>\n        <target>Ostatnie 5 minut</target>\n      </trans-unit>\n      <trans-unit id="b0ecb2bbc548cc9bd95050fd8f0c84586d083fe2" datatype="html">\n        <source>Last 15 minutes</source>\n        <target>Ostatnie 15 minut</target>\n      </trans-unit>\n      <trans-unit id="857ae67deb51353120b203b0f2a06b0c48ef49fa" datatype="html">\n        <source>Last 30 minutes</source>\n        <target>Ostatnie 30 minut</target>\n      </trans-unit>\n      <trans-unit id="7b1738fad314e936dc14b94db8f43da736942308" datatype="html">\n        <source>Last 1 hour (Default)</source>\n        <target>Ostatnia 1 godzina (domyślnie)</target>\n      </trans-unit>\n      <trans-unit id="a428288224389726cef9d9bd8d1d7808cccd7ffd" datatype="html">\n        <source>Last 3 hours</source>\n        <target>Ostatnie 3 godziny</target>\n      </trans-unit>\n      <trans-unit id="7cbabecc8d80cf183ac199cfaeb7619d56e5d43f" datatype="html">\n        <source>Last 6 hours</source>\n        <target>Ostatnie 6 godzin</target>\n      </trans-unit>\n      <trans-unit id="1a389cdf64187d34cf99eec30a290e3fa7d4744f" datatype="html">\n        <source>Last 12 hours</source>\n        <target>Ostatnie 12 godzin</target>\n      </trans-unit>\n      <trans-unit id="9e0ba5f591380a94d594a76288f0c41aa97eb9c2" datatype="html">\n        <source>Last 24 hours</source>\n        <target>Ostatnie 24 godziny</target>\n      </trans-unit>\n      <trans-unit id="e430eda9c785cd43465b7cbb400ee914f1057247" datatype="html">\n        <source>Yesterday</source>\n        <target>Wczoraj</target>\n      </trans-unit>\n      <trans-unit id="7fb1099e29660162f9154d5b2feee7743a423df6" datatype="html">\n        <source>Today</source>\n        <target>Dzisiaj</target>\n      </trans-unit>\n      <trans-unit id="33904058a97a64bd189bed84038b1ffe719769c7" datatype="html">\n        <source>Today so far</source>\n        <target>Do tej pory dzisiaj</target>\n      </trans-unit>\n      <trans-unit id="3b0b849be007510021d3d383df75bec95ef9c97b" datatype="html">\n        <source>Day before yesterday</source>\n        <target>Przedwczoraj</target>\n      </trans-unit>\n      <trans-unit id="6b430c2c394c4d32ebd7d46c8c46ab60e1b29ccb" datatype="html">\n        <source>Last 2 days</source>\n        <target>Ostatnie 2 dni</target>\n      </trans-unit>\n      <trans-unit id="d5e812a87a5d57a94200a2013027cab76a7c4863" datatype="html">\n        <source>This day last week</source>\n        <target>Tego dnia tydzień temu</target>\n      </trans-unit>\n      <trans-unit id="d00edc936eeab6b5577401f115ca86ca2c87dc9a" datatype="html">\n        <source>Previous week</source>\n        <target>Poprzedni tydzień</target>\n      </trans-unit>\n      <trans-unit id="b036e40577baa6b918b2267d319d4b3aeaa88a5a" datatype="html">\n        <source>This week</source>\n        <target>Ten tydzień </target>\n      </trans-unit>\n      <trans-unit id="99ad5a6096b3fcb3f021f3779bae710cdfeb8934" datatype="html">\n        <source>This week so far</source>\n        <target>Do tej pory w tym tygodniu</target>\n      </trans-unit>\n      <trans-unit id="02e0243b60007368f87dc01e083f232dd025096d" datatype="html">\n        <source>Last 7 days</source>\n        <target>Ostatnie 7 dni</target>\n      </trans-unit>\n      <trans-unit id="c3b08b07b5ab98e7cdcf18df39355690ab7d3884" datatype="html">\n        <source>Previous month</source>\n        <target>Poprzedniego miesiąca</target>\n      </trans-unit>\n      <trans-unit id="1b2562c6d5aa90644e7dc91feee82e2005fceb33" datatype="html">\n        <source>This month</source>\n        <target>ten miesiąc</target>\n      </trans-unit>\n      <trans-unit id="26b4b18c5917934abb169ba9aa490e57f7bf10b8" datatype="html">\n        <source>This month so far</source>\n        <target>Do tej pory w tym miesiącu</target>\n      </trans-unit>\n      <trans-unit id="7668986b9f753fcd72ad4a00b1a0c4861d1f7fb8" datatype="html">\n        <source>Last 30 days</source>\n        <target>Ostatnie 30 dni</target>\n      </trans-unit>\n      <trans-unit id="ba1e822408d90c6fbd2989100fa648bfd5e8ee84" datatype="html">\n        <source>Last 90 days</source>\n        <target>Ostatnie 90 dni</target>\n      </trans-unit>\n      <trans-unit id="c3df03f899a914c4181adcdc8a3f077424f7b6e8" datatype="html">\n        <source>Last 6 months</source>\n        <target>Ostatnie 6 miesięcy</target>\n      </trans-unit>\n      <trans-unit id="7f9a92757580c9f31c309c0a3812ea429274eadf" datatype="html">\n        <source>Last 1 year</source>\n        <target>Ostatni 1 rok</target>\n      </trans-unit>\n      <trans-unit id="5a9fede30ff65cb4b4426f6b1ed31afb67ecd7b0" datatype="html">\n        <source>Previous year</source>\n        <target>Poprzedniego roku</target>\n      </trans-unit>\n      <trans-unit id="65cefcc53d1f6445df7568e8a40c49165f1090ee" datatype="html">\n        <source>This year</source>\n        <target>Bieżącego roku</target>\n      </trans-unit>\n      <trans-unit id="1f68b766944dc3865bddab765fe952b0c1c43f92" datatype="html">\n        <source>This year so far</source>\n        <target>Do tej pory bieżącego roku</target>\n      </trans-unit>\n      <trans-unit id="4d4b77e614f8043fdadef5d6d235655bb48eb311" datatype="html">\n        <source>Last 2 years</source>\n        <target>Ostatnie 2 lata</target>\n      </trans-unit>\n      <trans-unit id="138afa339ea6e75d25a474affe1edbcb90e00ec0" datatype="html">\n        <source>Last 5 years</source>\n        <target>Ostatnie 5 lat</target>\n      </trans-unit>\n      <trans-unit id="37391297bb077a6f84484930261b01a3ce38327b" datatype="html">\n        <source>No items selected.</source>\n        <target>Nie wybrano żadnej pozycji</target>\n      </trans-unit>\n      <trans-unit id="2c1e52ee832661b4a0f570877d24661736b16af1" datatype="html">\n        <source>Deselect item to select again</source>\n        <target>Odznacz pozycję, żeby wybrać ponownie</target>\n      </trans-unit>\n      <trans-unit id="c8c9c6e5918659336824bbdda3501c66eaa79a4c" datatype="html">\n        <source>Selection limit reached</source>\n        <target>Osiągnięto limit wyboru. </target>\n      </trans-unit>\n      <trans-unit id="02d184c288f567825a1fcbf83bcd3099a10853d5" datatype="html">\n        <source>Filter tags</source>\n        <target>Filtr tagów.</target>\n      </trans-unit>\n      <trans-unit id="aa00748e49c269956837d6f3acdd8d218796a8d8" datatype="html">\n        <source>Add badge</source>\n        <target>Dodaj odznakę</target>\n      </trans-unit>\n      <trans-unit id="4078a92d8121abdce7d8f346a88914923ec835fc" datatype="html">\n        <source>There are no items available.</source>\n        <target>Brak dostępnych pozycji.</target>\n      </trans-unit>\n      <trans-unit id="55dd9f44e64851bca3b7bfc9283a5ff36f030228" datatype="html">\n        <source>Set</source>\n        <target>Set</target>\n      </trans-unit>\n      <trans-unit id="019d4bd6a5690f0cfa0ecf346a4e6bf7f0d8debb" datatype="html">\n        <source>Remove</source>\n        <target>Remove</target>\n      </trans-unit>\n      <trans-unit id="e168fe6c468b3ad632731395ef89860274242844" datatype="html">\n        <source>Unset</source>\n        <target>Unset</target>\n      </trans-unit>\n      <trans-unit id="54a4a3132b693575728a45a5f3154ad4c9af404b" datatype="html">\n        <source>Clone</source>\n        <target>Sklonuj</target>\n      </trans-unit>\n      <trans-unit id="1979da7460819153e11d2078244645d94291b69c" datatype="html">\n        <source>Copy</source>\n        <target>Kopia</target>\n      </trans-unit>\n      <trans-unit id="2e5e77dbaadd6588d8bbf737139fd9806294ae28" datatype="html">\n        <source>Deep Scrub</source>\n        <target>Szoruj głęboko</target>\n      </trans-unit>\n      <trans-unit id="bf463b189696c19769ea263227e6c22aefafb918" datatype="html">\n        <source>Destroy</source>\n        <target>Zniszcz</target>\n      </trans-unit>\n      <trans-unit id="b4e94d529ff10db4d86f3f48900fa67ede3411fd" datatype="html">\n        <source>Evict</source>\n        <target>Evict</target>\n      </trans-unit>\n      <trans-unit id="3747fff7faf52b436ecff5fb8555091736d92c70" datatype="html">\n        <source>Flatten</source>\n        <target>Spłaszcz</target>\n      </trans-unit>\n      <trans-unit id="66fdbf32e5449cc54a3d1e19c7b8f4ea238facfb" datatype="html">\n        <source>Mark Down</source>\n        <target>zaznacz jako upadły</target>\n      </trans-unit>\n      <trans-unit id="0cda3e824fb2f9c731e5a60b859dedc1fe03127e" datatype="html">\n        <source>Mark In</source>\n        <target>Zaznacz jako w </target>\n      </trans-unit>\n      <trans-unit id="f833354f43cb38c5716faa8759a9bbdd1ab8f199" datatype="html">\n        <source>Mark Lost</source>\n        <target>Zaznacz jako stracony</target>\n      </trans-unit>\n      <trans-unit id="75fb9f970ba365398c45e57bbb1019c009f6b832" datatype="html">\n        <source>Mark Out</source>\n        <target>Zaznacz jako poza</target>\n      </trans-unit>\n      <trans-unit id="45480c03b0a3a37ff8f6a5600a6a034b40fbaea4" datatype="html">\n        <source>Protect</source>\n        <target>Zabezpiecz</target>\n      </trans-unit>\n      <trans-unit id="e26f9cf3666aace4e524b1505c9795d76d87738d" datatype="html">\n        <source>Rename</source>\n        <target>Zmień nazwę</target>\n      </trans-unit>\n      <trans-unit id="d5cec7468241d72cafd86ad1af6d55b09a6e3ae5" datatype="html">\n        <source>Restore</source>\n        <target>Przywróć</target>\n      </trans-unit>\n      <trans-unit id="ba073985cfd2528c77a746ed596b2f2052b973c5" datatype="html">\n        <source>Move to Trash</source>\n        <target>Przenieś do kosza</target>\n      </trans-unit>\n      <trans-unit id="3ea9b96a21a499d296a7f25407da0f3df6c2d5ed" datatype="html">\n        <source>Unprotect</source>\n        <target>Odbezpiecz </target>\n      </trans-unit>\n      <trans-unit id="024cdb2814b0cb3f4ced148f1a0b9854447cb214" datatype="html">\n        <source>Change</source>\n        <target>Change</target>\n      </trans-unit>\n      <trans-unit id="011f3e2bfc1fd8407eb5f599352665bfeb145664" datatype="html">\n        <source>Recreate</source>\n        <target>Recreate</target>\n      </trans-unit>\n      <trans-unit id="6df2dfa48bef5510c82fb43f4e71a7f9557f3d71" datatype="html">\n        <source>Expire</source>\n        <target>Expire</target>\n      </trans-unit>\n      <trans-unit id="28df1b02fd88d2deb0212bc5d7ff34cf9492fa54" datatype="html">\n        <source>Deleted</source>\n        <target>Usunięty</target>\n      </trans-unit>\n      <trans-unit id="80e3b490720757978c99a7b5af3885faf202b955" datatype="html">\n        <source>Added</source>\n        <target>Added</target>\n      </trans-unit>\n      <trans-unit id="1aa4883bc4f1352f7a0bdd94810a9bf6dc22bd02" datatype="html">\n        <source>Removed</source>\n        <target>Removed</target>\n      </trans-unit>\n      <trans-unit id="402f3ee47f98fbbc68530239b1ddcbb9e96a460c" datatype="html">\n        <source>Edited</source>\n        <target>Edited</target>\n      </trans-unit>\n      <trans-unit id="96d56ec71c6e78cb4d6204c4a9359a3d38fcdb59" datatype="html">\n        <source>Canceled</source>\n        <target>Canceled</target>\n      </trans-unit>\n      <trans-unit id="a3318a2ee2bd0064b6b9ff72a4018b679ec63125" datatype="html">\n        <source>Cloned</source>\n        <target>Sklonowano</target>\n      </trans-unit>\n      <trans-unit id="ef90545bc832876c0d7f9a10363c75137472bbb5" datatype="html">\n        <source>Copied</source>\n        <target>Skopiowano </target>\n      </trans-unit>\n      <trans-unit id="5a13d3834133e09544ec93885662f181372dcf46" datatype="html">\n        <source>Deep Scrubbed</source>\n        <target>Deep Scrubbed</target>\n      </trans-unit>\n      <trans-unit id="7c9efb91434a5c15e9579c0b31c8e184b8c8240d" datatype="html">\n        <source>Destroyed</source>\n        <target>Destroyed</target>\n      </trans-unit>\n      <trans-unit id="647059bf3ea098fffedf92ddfad792bb3daa3c95" datatype="html">\n        <source>Flattened</source>\n        <target>Spłaszczony</target>\n      </trans-unit>\n      <trans-unit id="8df71e952319eafa71c8e6ef6144b780af8813ff" datatype="html">\n        <source>Marked Down</source>\n        <target>Marked Down</target>\n      </trans-unit>\n      <trans-unit id="25658f5a080a1cab3b91e17b756b1d1dc46bb9b3" datatype="html">\n        <source>Marked In</source>\n        <target>Marked In</target>\n      </trans-unit>\n      <trans-unit id="ebcf306036a6c5579df9448f77eca98d491db245" datatype="html">\n        <source>Marked Lost</source>\n        <target>Marked Lost</target>\n      </trans-unit>\n      <trans-unit id="3a8803369ac18be3ad762384b9fda095fe2a6dcc" datatype="html">\n        <source>Marked Out</source>\n        <target>Marked Out</target>\n      </trans-unit>\n      <trans-unit id="0fe2a62ea7c609fa8326ee6d38060bc5ba8bf34f" datatype="html">\n        <source>Protected</source>\n        <target>Protected</target>\n      </trans-unit>\n      <trans-unit id="69b0446c6c2411c4fe01e411b8ceec72d4044fb4" datatype="html">\n        <source>Purged</source>\n        <target>Oczyszczony</target>\n      </trans-unit>\n      <trans-unit id="d53de1a61bd51c815dc374c7f97e4ee69230e412" datatype="html">\n        <source>Renamed</source>\n        <target>Renamed</target>\n      </trans-unit>\n      <trans-unit id="86fc6cae82c095f14105eb8a61d7b3fa948304b7" datatype="html">\n        <source>Restored</source>\n        <target>Przywrócony</target>\n      </trans-unit>\n      <trans-unit id="e87dd0fd35460cb743046db918dfce2137b5977a" datatype="html">\n        <source>Reweighted</source>\n        <target>Reweighted</target>\n      </trans-unit>\n      <trans-unit id="dc21fd6547f2325c67f6deff925f29eb07a2db3e" datatype="html">\n        <source>Rolled back</source>\n        <target>Wycofaj</target>\n      </trans-unit>\n      <trans-unit id="15dec4c2d73a516c10aef90aeeea3364fa794615" datatype="html">\n        <source>Scrubbed</source>\n        <target>Scrubbed</target>\n      </trans-unit>\n      <trans-unit id="8dc560ded67482f109a98e0638851ad1d37188b3" datatype="html">\n        <source>Showed</source>\n        <target>Showed</target>\n      </trans-unit>\n      <trans-unit id="197259b7ea76f15c6d0a64b075a673fd4112ada7" datatype="html">\n        <source>Moved to Trash</source>\n        <target>Moved to Trash</target>\n      </trans-unit>\n      <trans-unit id="8fb15cb102cd75b562680290b7e04c44d80018f2" datatype="html">\n        <source>Unprotected</source>\n        <target>Unprotected</target>\n      </trans-unit>\n      <trans-unit id="8588eafa498262a1cbb5043ad68cf0ff669c4f10" datatype="html">\n        <source>Recreated</source>\n        <target>Recreated</target>\n      </trans-unit>\n      <trans-unit id="ffde7468d7b5cad6990095ed68ddee3d67cd02f8" datatype="html">\n        <source>Expired</source>\n        <target>Expired</target>\n      </trans-unit>\n      <trans-unit id="4f20f2d5a6882190892e58b85f6ccbedfa737952" datatype="html">\n        <source>Yes</source>\n        <target>Tak</target>\n      </trans-unit>\n      <trans-unit id="3d3ae7deebc5949b0c1c78b9847886a94321d9fd" datatype="html">\n        <source>No</source>\n        <target>Nie</target>\n      </trans-unit>\n      <trans-unit id="baf918eed9d4050cdad2acebc0f27b6eaf8e3fcd" datatype="html">\n        <source>Required rules for passwords:</source>\n        <target>Required rules for passwords:</target>\n      </trans-unit>\n      <trans-unit id="40f61909e1f017c4652e64b055089beef19cf871" datatype="html">\n        <source>Must contain at least \n          <x id="INTERPOLATION" equiv-text="{{length}}"/> characters\n        </source>\n        <target>Must contain at least \n          <x id="INTERPOLATION" equiv-text="{{length}}"/> characters\n        </target>\n      </trans-unit>\n      <trans-unit id="f4f5dbb3a05b5f38dab47ef38dad88a4574a765a" datatype="html">\n        <source>Must not be the same as the previous one</source>\n        <target>Must not be the same as the previous one</target>\n      </trans-unit>\n      <trans-unit id="607370e07b50087c196a5fcea9184e3d693226b2" datatype="html">\n        <source>Cannot contain the username</source>\n        <target>Cannot contain the username</target>\n      </trans-unit>\n      <trans-unit id="e6e355eab2596251aaa42623b41e6026d5c03e3b" datatype="html">\n        <source>Cannot contain any configured keyword</source>\n        <target>Cannot contain any configured keyword</target>\n      </trans-unit>\n      <trans-unit id="394bcd6d5e4da75b720c4d28f94f2aef7bb38355" datatype="html">\n        <source>Cannot contain any repetitive characters e.g. "aaa"</source>\n        <target>Cannot contain any repetitive characters e.g. "aaa"</target>\n      </trans-unit>\n      <trans-unit id="030e61e0bcf2536fb047645db6182d43e9fca9e9" datatype="html">\n        <source>Cannot contain any sequential characters e.g. "abc"</source>\n        <target>Cannot contain any sequential characters e.g. "abc"</target>\n      </trans-unit>\n      <trans-unit id="99fa0b67376d40142bd4d3ace3344abf4f98b6a5" datatype="html">\n        <source>Your matcher seems to match no currently defined rule or active alert.</source>\n        <target>Your matcher seems to match no currently defined rule or active alert.</target>\n      </trans-unit>\n      <trans-unit id="7e284852732c303eb1f47de9aca2569e41aeffed" datatype="html">\n        <source>no active alerts</source>\n        <target>no active alerts</target>\n      </trans-unit>\n      <trans-unit id="b8042829e4fbe7b09fd9bac9fa0ecf5cc1802fee" datatype="html">\n        <source>1 active alert</source>\n        <target>1 active alert</target>\n      </trans-unit>\n      <trans-unit id="e24adce97669cb0fc74cc13fdc14179b6f78ea5e" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{n}}"/> active alerts\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{n}}"/> active alerts\n        </target>\n      </trans-unit>\n      <trans-unit id="d8fb058ff5883731d38a132da4ca45cfe8d719a3" datatype="html">\n        <source>Matches 1 rule</source>\n        <target>Matches 1 rule</target>\n      </trans-unit>\n      <trans-unit id="90aaef24d192e67c3fbc2ec6f8bfaff211cea128" datatype="html">\n        <source>Matches \n          <x id="INTERPOLATION" equiv-text="{{n}}"/> rules\n        </source>\n        <target>Matches \n          <x id="INTERPOLATION" equiv-text="{{n}}"/> rules\n        </target>\n      </trans-unit>\n      <trans-unit id="f4685dc581e18244cd410f1057a8c56a9dbfe8df" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rules}}"/> with \n          <x id="INTERPOLATION_1" equiv-text="{{alerts}}"/>.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rules}}"/> with \n          <x id="INTERPOLATION_1" equiv-text="{{alerts}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8fd98fb2a0f24ba72cde0787dd3f02cfc17de469" datatype="html">\n        <source>Quality of Service</source>\n        <target>Jakość serwisu</target>\n      </trans-unit>\n      <trans-unit id="2c53f3ce2c6fff9025a7b41cc334521725da6e7b" datatype="html">\n        <source>BPS Limit</source>\n        <target>Limit BPS</target>\n      </trans-unit>\n      <trans-unit id="e897624a392419386b035bcd8529337e262fc41d" datatype="html">\n        <source>The desired limit of IO bytes per second.</source>\n        <target>Pożądany limit IO bajtów na sekundę.</target>\n      </trans-unit>\n      <trans-unit id="dc56f77e4507da7e86a3accd0a2a7099a838d539" datatype="html">\n        <source>IOPS Limit</source>\n        <target>Limit IOPS</target>\n      </trans-unit>\n      <trans-unit id="141c3f6eadbb35b0e17b2f847e4cac23240a6ea9" datatype="html">\n        <source>The desired limit of IO operations per second.</source>\n        <target>Pożądany limit operacji IO na sekundę.</target>\n      </trans-unit>\n      <trans-unit id="3b3b101f16c38806e984b157e0cf22cd21451122" datatype="html">\n        <source>Read BPS Limit</source>\n        <target>limit odczytu BPS</target>\n      </trans-unit>\n      <trans-unit id="87835fabb6a645873f3829a450ca1d58f97754f2" datatype="html">\n        <source>The desired limit of read bytes per second.</source>\n        <target>Pożądany limit odczytu bajtów na sekundę.</target>\n      </trans-unit>\n      <trans-unit id="28b485e700df46d70b96666099f714e3ae9e5c2e" datatype="html">\n        <source>Read IOPS Limit</source>\n        <target>limit  odczytu IOPS</target>\n      </trans-unit>\n      <trans-unit id="5907bd1a5cf3e20e740bca676cb1538372e1f9ff" datatype="html">\n        <source>The desired limit of read operations per second.</source>\n        <target>Pożądany limit operacji odczytu na sekundę.</target>\n      </trans-unit>\n      <trans-unit id="07317121f0b194987d4dee8b322f521ac17bf124" datatype="html">\n        <source>Write BPS Limit</source>\n        <target>Limit zapisu BPS</target>\n      </trans-unit>\n      <trans-unit id="4022c78bd9132ca2ec67927f8484c437d1d9b6fd" datatype="html">\n        <source>The desired limit of write bytes per second.</source>\n        <target>Pożądany limit zapisu bajtów na sekundę.</target>\n      </trans-unit>\n      <trans-unit id="52c22c19f98ff3a09bd811292954a889b93d28b7" datatype="html">\n        <source>Write IOPS Limit</source>\n        <target>Limit zapisu IOPS</target>\n      </trans-unit>\n      <trans-unit id="0ed62e3fd8654b3191fc7fa959ad3f10f1ea773a" datatype="html">\n        <source>The desired limit of write operations per second.</source>\n        <target>Pożądany limit operacji zapisu na sekundę.</target>\n      </trans-unit>\n      <trans-unit id="d90c99d77864f21f932ee1369019f400c4ad0e2d" datatype="html">\n        <source>BPS Burst</source>\n        <target>Wiązka BPS</target>\n      </trans-unit>\n      <trans-unit id="29c32192f4d185139aaaf6d3a766a3411dfeabbe" datatype="html">\n        <source>The desired burst limit of IO bytes.</source>\n        <target>Żądana granica serii IO bajtów.</target>\n      </trans-unit>\n      <trans-unit id="b988b90489e899941e196c3dd0ecc22e37540224" datatype="html">\n        <source>IOPS Burst</source>\n        <target>Wiązka IOPS</target>\n      </trans-unit>\n      <trans-unit id="02c5de8ff11870f1b3896f2b45637ce0dba1ed4b" datatype="html">\n        <source>The desired burst limit of IO operations.</source>\n        <target>Żądana granica serii operacji IO.</target>\n      </trans-unit>\n      <trans-unit id="7a160538129b37cf595f1651f28b5fac62fbc0f8" datatype="html">\n        <source>Read BPS Burst</source>\n        <target>Odczyt wiązki BPS</target>\n      </trans-unit>\n      <trans-unit id="b573a5df16a53b9947288461bc24e6a0eb4341d6" datatype="html">\n        <source>The desired burst limit of read bytes.</source>\n        <target>Żądana granica serii odczytanych bajtów.</target>\n      </trans-unit>\n      <trans-unit id="1d5b8c2a0c653651cc4ca4b8fed9456f449220d1" datatype="html">\n        <source>Read IOPS Burst</source>\n        <target>Odczyt wiązki IOPS</target>\n      </trans-unit>\n      <trans-unit id="20b199f9d4a8d08ffefec66040e27639ec221512" datatype="html">\n        <source>The desired burst limit of read operations.</source>\n        <target> Żądana granica serii operacji odczytu.</target>\n      </trans-unit>\n      <trans-unit id="824525ae57992aee629ddffcd500a8b77087ddec" datatype="html">\n        <source>Write BPS Burst</source>\n        <target>Zapis wiązki BPS</target>\n      </trans-unit>\n      <trans-unit id="a90aac4050a5d79765da5e1186909f6d4d7f981d" datatype="html">\n        <source>The desired burst limit of write bytes.</source>\n        <target>Żądana granica serii bajtów zapisu.</target>\n      </trans-unit>\n      <trans-unit id="35a8c6e6c249c7d16e26aa7c4ef97c06db405070" datatype="html">\n        <source>Write IOPS Burst</source>\n        <target>Zapis wiązki IOPS</target>\n      </trans-unit>\n      <trans-unit id="b356abd41d7e9eea4d20c03d2e6892b6d435ecbd" datatype="html">\n        <source>The desired burst limit of write operations.</source>\n        <target>Żądana granica serii operacji zapisu.</target>\n      </trans-unit>\n      <trans-unit id="24c4d50fe8567de381a20a1745f1b6d37eacaa90" datatype="html">\n        <source>Failed to \n          <x id="INTERPOLATION" equiv-text="{{failure}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{metadata}}"/>\n        </source>\n        <target>Failed to \n          <x id="INTERPOLATION" equiv-text="{{failure}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{metadata}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="f54b6f09b390d5ade0e354f6c7d4743c10a315cc" datatype="html">\n        <source>Executing</source>\n        <target>Wykonywanie </target>\n      </trans-unit>\n      <trans-unit id="5cdfe3e3330ea42bfd29c540dbd268bee97d364d" datatype="html">\n        <source>execute</source>\n        <target>Wykonaj</target>\n      </trans-unit>\n      <trans-unit id="6e98e243518daa88be30330fcdbd2d10f8eae4d7" datatype="html">\n        <source>Executed</source>\n        <target>Wykonany</target>\n      </trans-unit>\n      <trans-unit id="24b09aa5bd909273a023d2d788a2673325c77e31" datatype="html">\n        <source>unknown task</source>\n        <target>Nieznane zadanie</target>\n      </trans-unit>\n      <trans-unit id="114b5f92b9192b229ffc9a450319a97ccca2aa5c" datatype="html">\n        <source>Creating</source>\n        <target>Tworzenie</target>\n      </trans-unit>\n      <trans-unit id="56695b69d27437ada580a187958407e7c856d46e" datatype="html">\n        <source>create</source>\n        <target>Utwórz</target>\n      </trans-unit>\n      <trans-unit id="9db60170ef3b3b41a863e7d5ee7cec10919b9141" datatype="html">\n        <source>Updating</source>\n        <target>Aktualizowanie </target>\n      </trans-unit>\n      <trans-unit id="64412640835b7d25247cb254d4f911366c0e6862" datatype="html">\n        <source>update</source>\n        <target>Zaktualizuj</target>\n      </trans-unit>\n      <trans-unit id="416193bb373d59477458b00e5922d755e2e2cacd" datatype="html">\n        <source>Deleting</source>\n        <target>Usuwanie</target>\n      </trans-unit>\n      <trans-unit id="d07a282afc7fbdb39cea6e1c9b544882a7260a86" datatype="html">\n        <source>Adding</source>\n        <target>Adding</target>\n      </trans-unit>\n      <trans-unit id="a11ec4e640f241329943237d2a3cceaa4823658e" datatype="html">\n        <source>add</source>\n        <target>add</target>\n      </trans-unit>\n      <trans-unit id="ea1c70b874904216cc5af24bd7cb3dab2d074d42" datatype="html">\n        <source>Removing</source>\n        <target>Removing</target>\n      </trans-unit>\n      <trans-unit id="4da487aec5a29ce4372e7b512227cd665b01fe6f" datatype="html">\n        <source>remove</source>\n        <target>remove</target>\n      </trans-unit>\n      <trans-unit id="0e21237afdc84ec360c374fa678d9b1cfaa334f9" datatype="html">\n        <source>Importing</source>\n        <target>Importing</target>\n      </trans-unit>\n      <trans-unit id="c6b4128c006f4cc0564137e1a1482b5c432aa347" datatype="html">\n        <source>import</source>\n        <target>import</target>\n      </trans-unit>\n      <trans-unit id="3b9f4138abbca0fd66db1f7332f4b54e2a6d916d" datatype="html">\n        <source>Imported</source>\n        <target>Imported</target>\n      </trans-unit>\n      <trans-unit id="3f757cfc3749ebb5d4462017cb60138ca082f15f" datatype="html">\n        <source>RBD \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>RBD \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="a6c681e6130fe440ae40de99a405fcf5c7eefee1" datatype="html">\n        <source>RBD snapshot \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>RBD snapshot \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="2bf18ddf3785f7afb4f01dcf63d3d8c40f4bfba5" datatype="html">\n        <source>mirroring site name</source>\n        <target>mirroring site name</target>\n      </trans-unit>\n      <trans-unit id="167b73bb24b4695614ce0fc567b7a45080457a44" datatype="html">\n        <source>bootstrap token</source>\n        <target>bootstrap token</target>\n      </trans-unit>\n      <trans-unit id="4fb54a0291f49583c317d4a3690239141b5a8f68" datatype="html">\n        <source>mirror mode for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>mirror mode for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="6621ab6e122a149326a1e48e9051a41e7f203cf6" datatype="html">\n        <source>mirror peer for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>mirror peer for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="db15adc778317d551232fe712eb03a2c1eac4a43" datatype="html">\n        <source>all dashboards</source>\n        <target>all dashboards</target>\n      </trans-unit>\n      <trans-unit id="6c19652df9249c60827044ed6274933cab180c63" datatype="html">\n        <source>OSDs (DriveGroups: \n          <x id="INTERPOLATION" equiv-text="{{tracking_id}}"/>)\n        </source>\n        <target>OSDs (DriveGroups: \n          <x id="INTERPOLATION" equiv-text="{{tracking_id}}"/>)\n        </target>\n      </trans-unit>\n      <trans-unit id="1b559dbd9cc9664fd788c2da9a10d3abafe066cb" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8fc28e1103d9f2ef47b9fff9a4f74e8365c7cf19" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="1cdc7ea44fcb85d0cfcf6e7379d625d8674a8fbe" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="460f07780389d24c6a540c007c7367a56afad585" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> is busy.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> is busy.\n        </target>\n      </trans-unit>\n      <trans-unit id="1ff7676ad1e991102224540a32dd44ad1ab88aa8" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.\n        </target>\n      </trans-unit>\n      <trans-unit id="c3a1dcca2b2ba20fbe39e2441e7bb1cf9c20cdf3" datatype="html">\n        <source>Cloning</source>\n        <target>Klonowanie</target>\n      </trans-unit>\n      <trans-unit id="b5fa4e0a3a279dee5b6bf7b823e54387f7c79994" datatype="html">\n        <source>clone</source>\n        <target>Sklonuj </target>\n      </trans-unit>\n      <trans-unit id="29b7452e8367af9aa8fa828f16ff94c3530e7a1a" datatype="html">\n        <source>Snapshot of \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> must be protected.\n        </source>\n        <target>Snapshot of \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> must be protected.\n        </target>\n      </trans-unit>\n      <trans-unit id="369f93b9a07a9465f7a261e9f0021b6cfa7180c5" datatype="html">\n        <source>Copying</source>\n        <target>Kopiowanie </target>\n      </trans-unit>\n      <trans-unit id="37584f889855d153a106f5dffe23d21f9453c8ff" datatype="html">\n        <source>copy</source>\n        <target>Kopiuj</target>\n      </trans-unit>\n      <trans-unit id="6ea9e313a04ef59222feaadfe84e97b4c69d7e9e" datatype="html">\n        <source>Flattening</source>\n        <target>Spłaszczanie</target>\n      </trans-unit>\n      <trans-unit id="1f57593581b64d2d4c70eab1736bd9bccc66a7dc" datatype="html">\n        <source>flatten</source>\n        <target>Spłaszcz</target>\n      </trans-unit>\n      <trans-unit id="d990ef9680cd23bbe652c37eb46bf038cfee80ad" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="a101745d080ef65c09bd5fafc796f94ddb9f9d60" datatype="html">\n        <source>Cannot unprotect \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it contains child images.\n        </source>\n        <target>Cannot unprotect \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it contains child images.\n        </target>\n      </trans-unit>\n      <trans-unit id="647968f4cde7786cd53ec8e6aa9802ac6824a262" datatype="html">\n        <source>Cannot delete \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it\'s protected.\n        </source>\n        <target>Cannot delete \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it\'s protected.\n        </target>\n      </trans-unit>\n      <trans-unit id="57ddd3e15cf0ce974356b757451f50116a27272b" datatype="html">\n        <source>Rolling back</source>\n        <target>Wycofywanie </target>\n      </trans-unit>\n      <trans-unit id="a8913a3a5ee61f2598b5f0432cb9b20cdd60548e" datatype="html">\n        <source>rollback</source>\n        <target>Wycofanie</target>\n      </trans-unit>\n      <trans-unit id="de8676f0017c9db6c49388cd7d63cd0a83a0c1dc" datatype="html">\n        <source>Moving</source>\n        <target>Przenoszenie</target>\n      </trans-unit>\n      <trans-unit id="2d810712308ae63cb795d809687a3254ef7a2f05" datatype="html">\n        <source>move</source>\n        <target>Przenieś</target>\n      </trans-unit>\n      <trans-unit id="f3ba995236e5c1cc77686108980c099a90aec754" datatype="html">\n        <source>Moved</source>\n        <target>Przeniesiono</target>\n      </trans-unit>\n      <trans-unit id="d0422169252d132624a20f267b5c29f28cb53ebe" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' to trash\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' to trash\n        </target>\n      </trans-unit>\n      <trans-unit id="b603e2dfed9808222fbcb5a7c5f4da2cc6ae2aae" datatype="html">\n        <source>Could not find image.</source>\n        <target>Nie znaleziono obrazu.</target>\n      </trans-unit>\n      <trans-unit id="398debe73006b1fe5177ed81d2e7b0cc852f61ec" datatype="html">\n        <source>Restoring</source>\n        <target>Przywracanie</target>\n      </trans-unit>\n      <trans-unit id="c252806fb400e79bac194696632c9362742b1538" datatype="html">\n        <source>restore</source>\n        <target>Przywróć </target>\n      </trans-unit>\n      <trans-unit id="30b8bcf69b3f1754b7abba173fd806cfcea4cb04" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' into \'\n          <x id="INTERPOLATION_1" equiv-text="{{new_id}}"/>\'\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' into \'\n          <x id="INTERPOLATION_1" equiv-text="{{new_id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="13b7b241cef989fe0932ddd180e757658e1817e7" datatype="html">\n        <source>Image name \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' is already in use.\n        </source>\n        <target>Image name \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' is already in use.\n        </target>\n      </trans-unit>\n      <trans-unit id="cc1cee12c833e8fbbef28a2a7c449dc530da912d" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="38e5f47f8bef505652f3e87f46efb00ead1350a3" datatype="html">\n        <source>Purging</source>\n        <target>oczyszczać</target>\n      </trans-unit>\n      <trans-unit id="e4e57747f123f0fe6fe3a0ecf608f8bc287dec0c" datatype="html">\n        <source>purge</source>\n        <target>oczyść</target>\n      </trans-unit>\n      <trans-unit id="1560d58fdf39663929653250d45f5b1dfe078fea" datatype="html">\n        <source>all pools</source>\n        <target>Wszystkie pule</target>\n      </trans-unit>\n      <trans-unit id="1ac3dc50c2c3d86e98bc0967ee1e696810a2d3aa" datatype="html">\n        <source>images from \n          <x id="INTERPOLATION" equiv-text="{{message}}"/>\n        </source>\n        <target>images from \n          <x id="INTERPOLATION" equiv-text="{{message}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="02278abbb044ece04ab6bd80bd2060198d31d83b" datatype="html">\n        <source>Cannot disable mirroring because it contains a peer.</source>\n        <target>Nie można wyłączyć lustrzenia ponieważ zawiera parowanie.</target>\n      </trans-unit>\n      <trans-unit id="5c4525a1b76ca54d1aadeaecfdb83aedc2eec6e0" datatype="html">\n        <source>Identifying</source>\n        <target>Identifying</target>\n      </trans-unit>\n      <trans-unit id="ffd067e54a061d1f27cb35f0cf67ef7f29e19111" datatype="html">\n        <source>identify</source>\n        <target>identify</target>\n      </trans-unit>\n      <trans-unit id="7c921f339274688c22ba1acac7af6b097ad3599d" datatype="html">\n        <source>Identified</source>\n        <target>Identified</target>\n      </trans-unit>\n      <trans-unit id="3307492c27c2150cd26c514030444e11fd61089f" datatype="html">\n        <source>device \'\n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\' on host \'\n          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>\'\n        </source>\n        <target>device \'\n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\' on host \'\n          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="f123ae1fc3b000e5d08e766dd78bff162afe709d" datatype="html">\n        <source>host \'\n          <x id="INTERPOLATION" equiv-text="{{hostname}}"/>\'\n        </source>\n        <target>host \'\n          <x id="INTERPOLATION" equiv-text="{{hostname}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="c1af76189dcefd094da2bc1a4a63968f3bab5789" datatype="html">\n        <source>OSD \'\n          <x id="INTERPOLATION" equiv-text="{{svc_id}}"/>\'\n        </source>\n        <target>OSD \'\n          <x id="INTERPOLATION" equiv-text="{{svc_id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="dfe70001dc590a9e12512cbb206aa29fb36fd00b" datatype="html">\n        <source>pool \'\n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>\'\n        </source>\n        <target>pool \'\n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="59630daf2f4786690fae0cdad55da8887236eabe" datatype="html">\n        <source>erasure code profile \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </source>\n        <target>erasure code profile \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="79052d6c47258dc19ada12dbb2563761102b6f1d" datatype="html">\n        <source>crush rule \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </source>\n        <target>crush rule \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="369462e5e018360e0600bb570866201ad5c3c8a8" datatype="html">\n        <source>target \'\n          <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>\'\n        </source>\n        <target>target \'\n          <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="cf41310917cb19b335e5a950972bbff2346f7a47" datatype="html">\n        <source>NFS \n          <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>\n        </source>\n        <target>NFS \n          <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>\n        </target>\n      </trans-unit>\n    </body>\n  </file>\n</xliff>'},STAE:function(t,e,n){var a=n("0Dky");t.exports=!!Object.getOwnPropertySymbols&&!a((function(){return!String(Symbol())}))},SVse:function(t,e,n){"use strict";n.r(e),n.d(e,"ɵangular_packages_common_common_c",(function(){return ae})),n.d(e,"ɵangular_packages_common_common_h",(function(){return It})),n.d(e,"ɵangular_packages_common_common_g",(function(){return St})),n.d(e,"ɵangular_packages_common_common_f",(function(){return Tt})),n.d(e,"ɵangular_packages_common_common_k",(function(){return Xt})),n.d(e,"ɵangular_packages_common_common_j",(function(){return Zt})),n.d(e,"ɵangular_packages_common_common_i",(function(){return $t})),n.d(e,"ɵangular_packages_common_common_a",(function(){return gt})),n.d(e,"ɵangular_packages_common_common_b",(function(){return ht})),n.d(e,"ɵangular_packages_common_common_e",(function(){return xe})),n.d(e,"ɵangular_packages_common_common_d",(function(){return Ke})),n.d(e,"ɵregisterLocaleData",(function(){return bt})),n.d(e,"registerLocaleData",(function(){return bt})),n.d(e,"formatDate",(function(){return K})),n.d(e,"formatCurrency",(function(){return st})),n.d(e,"formatNumber",(function(){return lt})),n.d(e,"formatPercent",(function(){return ct})),n.d(e,"NgLocaleLocalization",(function(){return mt})),n.d(e,"NgLocalization",(function(){return ft})),n.d(e,"Plural",(function(){return p})),n.d(e,"NumberFormatStyle",(function(){return f})),n.d(e,"FormStyle",(function(){return m})),n.d(e,"TranslationWidth",(function(){return h})),n.d(e,"FormatWidth",(function(){return b})),n.d(e,"NumberSymbol",(function(){return y})),n.d(e,"WeekDay",(function(){return _})),n.d(e,"getNumberOfCurrencyDigits",(function(){return G})),n.d(e,"getCurrencySymbol",(function(){return z})),n.d(e,"getLocaleDayPeriods",(function(){return v})),n.d(e,"getLocaleDayNames",(function(){return C})),n.d(e,"getLocaleMonthNames",(function(){return P})),n.d(e,"getLocaleId",(function(){return O})),n.d(e,"getLocaleEraNames",(function(){return M})),n.d(e,"getLocaleWeekEndRange",(function(){return w})),n.d(e,"getLocaleFirstDayOfWeek",(function(){return x})),n.d(e,"getLocaleDateFormat",(function(){return T})),n.d(e,"getLocaleDateTimeFormat",(function(){return k})),n.d(e,"getLocaleExtraDayPeriodRules",(function(){return L})),n.d(e,"getLocaleExtraDayPeriods",(function(){return q})),n.d(e,"getLocalePluralCase",(function(){return E})),n.d(e,"getLocaleTimeFormat",(function(){return S})),n.d(e,"getLocaleNumberSymbol",(function(){return I})),n.d(e,"getLocaleNumberFormat",(function(){return N})),n.d(e,"getLocaleCurrencyName",(function(){return A})),n.d(e,"getLocaleCurrencySymbol",(function(){return R})),n.d(e,"ɵparseCookieValue",(function(){return yt})),n.d(e,"CommonModule",(function(){return $e})),n.d(e,"DeprecatedI18NPipesModule",(function(){return Ze})),n.d(e,"NgClass",(function(){return At})),n.d(e,"NgClassBase",(function(){return Rt})),n.d(e,"NgForOf",(function(){return Lt})),n.d(e,"NgForOfContext",(function(){return Dt})),n.d(e,"NgIf",(function(){return jt})),n.d(e,"NgIfContext",(function(){return Ft})),n.d(e,"NgPlural",(function(){return Ht})),n.d(e,"NgPluralCase",(function(){return Ut})),n.d(e,"NgStyle",(function(){return ee})),n.d(e,"NgStyleBase",(function(){return te})),n.d(e,"NgSwitch",(function(){return Bt})),n.d(e,"NgSwitchCase",(function(){return Vt})),n.d(e,"NgSwitchDefault",(function(){return Yt})),n.d(e,"NgTemplateOutlet",(function(){return ne})),n.d(e,"NgComponentOutlet",(function(){return Et})),n.d(e,"DOCUMENT",(function(){return Je})),n.d(e,"AsyncPipe",(function(){return Ie})),n.d(e,"DatePipe",(function(){return De})),n.d(e,"I18nPluralPipe",(function(){return qe})),n.d(e,"I18nSelectPipe",(function(){return je})),n.d(e,"JsonPipe",(function(){return Fe})),n.d(e,"LowerCasePipe",(function(){return Ne})),n.d(e,"CurrencyPipe",(function(){return Ye})),n.d(e,"DecimalPipe",(function(){return Be})),n.d(e,"PercentPipe",(function(){return Ve})),n.d(e,"SlicePipe",(function(){return We})),n.d(e,"UpperCasePipe",(function(){return Ee})),n.d(e,"TitleCasePipe",(function(){return Ae})),n.d(e,"KeyValuePipe",(function(){return ze})),n.d(e,"DeprecatedDatePipe",(function(){return _e})),n.d(e,"DeprecatedCurrencyPipe",(function(){return Me})),n.d(e,"DeprecatedDecimalPipe",(function(){return Ce})),n.d(e,"DeprecatedPercentPipe",(function(){return Pe})),n.d(e,"ɵPLATFORM_BROWSER_ID",(function(){return Xe})),n.d(e,"ɵPLATFORM_SERVER_ID",(function(){return Qe})),n.d(e,"ɵPLATFORM_WORKER_APP_ID",(function(){return tn})),n.d(e,"ɵPLATFORM_WORKER_UI_ID",(function(){return en})),n.d(e,"isPlatformBrowser",(function(){return nn})),n.d(e,"isPlatformServer",(function(){return an})),n.d(e,"isPlatformWorkerApp",(function(){return rn})),n.d(e,"isPlatformWorkerUi",(function(){return on})),n.d(e,"VERSION",(function(){return sn})),n.d(e,"ViewportScroller",(function(){return cn})),n.d(e,"ɵNullViewportScroller",(function(){return dn})),n.d(e,"ɵNgClassImplProvider__POST_R3__",(function(){return kt})),n.d(e,"ɵNgClassR2Impl",(function(){return wt})),n.d(e,"ɵNgClassImpl",(function(){return xt})),n.d(e,"ɵNgStyleImplProvider__POST_R3__",(function(){return Jt})),n.d(e,"ɵNgStyleR2Impl",(function(){return Kt})),n.d(e,"ɵNgStyleImpl",(function(){return Wt})),n.d(e,"ɵngStyleDirectiveDef__POST_R3__",(function(){return Qt})),n.d(e,"ɵngClassDirectiveDef__POST_R3__",(function(){return Nt})),n.d(e,"PlatformLocation",(function(){return r})),n.d(e,"LOCATION_INITIALIZED",(function(){return o})),n.d(e,"LocationStrategy",(function(){return i})),n.d(e,"APP_BASE_HREF",(function(){return s})),n.d(e,"HashLocationStrategy",(function(){return d})),n.d(e,"PathLocationStrategy",(function(){return u})),n.d(e,"Location",(function(){return c}));var a=n("8Y7J");class r{}const o=new a.InjectionToken("Location Initialized");class i{}const s=new a.InjectionToken("appBaseHref");class c{constructor(t,e){this._subject=new a.EventEmitter,this._urlChangeListeners=[],this._platformStrategy=t;const n=this._platformStrategy.getBaseHref();this._platformLocation=e,this._baseHref=c.stripTrailingSlash(l(n)),this._platformStrategy.onPopState(t=>{this._subject.emit({url:this.path(!0),pop:!0,state:t.state,type:t.type})})}path(t=!1){return this.normalize(this._platformStrategy.path(t))}getState(){return this._platformLocation.getState()}isCurrentPathEqualTo(t,e=""){return this.path()==this.normalize(t+c.normalizeQueryParams(e))}normalize(t){return c.stripTrailingSlash(function(t,e){return t&&e.startsWith(t)?e.substring(t.length):e}(this._baseHref,l(t)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._platformStrategy.prepareExternalUrl(t)}go(t,e="",n=null){this._platformStrategy.pushState(n,"",t,e),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+c.normalizeQueryParams(e)),n)}replaceState(t,e="",n=null){this._platformStrategy.replaceState(n,"",t,e),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+c.normalizeQueryParams(e)),n)}forward(){this._platformStrategy.forward()}back(){this._platformStrategy.back()}onUrlChange(t){this._urlChangeListeners.push(t),this.subscribe(t=>{this._notifyUrlChangeListeners(t.url,t.state)})}_notifyUrlChangeListeners(t="",e){this._urlChangeListeners.forEach(n=>n(t,e))}subscribe(t,e,n){return this._subject.subscribe({next:t,error:e,complete:n})}static normalizeQueryParams(t){return t&&"?"!==t[0]?"?"+t:t}static joinWithSlash(t,e){if(0==t.length)return e;if(0==e.length)return t;let n=0;return t.endsWith("/")&&n++,e.startsWith("/")&&n++,2==n?t+e.substring(1):1==n?t+e:t+"/"+e}static stripTrailingSlash(t){const e=t.match(/#|\?|$/),n=e&&e.index||t.length;return t.slice(0,n-("/"===t[n-1]?1:0))+t.slice(n)}}function l(t){return t.replace(/\/index.html$/,"")}class d extends i{constructor(t,e){super(),this._platformLocation=t,this._baseHref="",null!=e&&(this._baseHref=e)}onPopState(t){this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t)}getBaseHref(){return this._baseHref}path(t=!1){let e=this._platformLocation.hash;return null==e&&(e="#"),e.length>0?e.substring(1):e}prepareExternalUrl(t){const e=c.joinWithSlash(this._baseHref,t);return e.length>0?"#"+e:e}pushState(t,e,n,a){let r=this.prepareExternalUrl(n+c.normalizeQueryParams(a));0==r.length&&(r=this._platformLocation.pathname),this._platformLocation.pushState(t,e,r)}replaceState(t,e,n,a){let r=this.prepareExternalUrl(n+c.normalizeQueryParams(a));0==r.length&&(r=this._platformLocation.pathname),this._platformLocation.replaceState(t,e,r)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}}class u extends i{constructor(t,e){if(super(),this._platformLocation=t,null==e&&(e=this._platformLocation.getBaseHrefFromDOM()),null==e)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");this._baseHref=e}onPopState(t){this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t)}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return c.joinWithSlash(this._baseHref,t)}path(t=!1){const e=this._platformLocation.pathname+c.normalizeQueryParams(this._platformLocation.search),n=this._platformLocation.hash;return n&&t?`${e}${n}`:e}pushState(t,e,n,a){const r=this.prepareExternalUrl(n+c.normalizeQueryParams(a));this._platformLocation.pushState(t,e,r)}replaceState(t,e,n,a){const r=this.prepareExternalUrl(n+c.normalizeQueryParams(a));this._platformLocation.replaceState(t,e,r)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}}const g={ADP:[void 0,void 0,0],AFN:[void 0,void 0,0],ALL:[void 0,void 0,0],AMD:[void 0,void 0,0],AOA:[void 0,"Kz"],ARS:[void 0,"$"],AUD:["A$","$"],BAM:[void 0,"KM"],BBD:[void 0,"$"],BDT:[void 0,"৳"],BHD:[void 0,void 0,3],BIF:[void 0,void 0,0],BMD:[void 0,"$"],BND:[void 0,"$"],BOB:[void 0,"Bs"],BRL:["R$"],BSD:[void 0,"$"],BWP:[void 0,"P"],BYN:[void 0,"р.",2],BYR:[void 0,void 0,0],BZD:[void 0,"$"],CAD:["CA$","$",2],CHF:[void 0,void 0,2],CLF:[void 0,void 0,4],CLP:[void 0,"$",0],CNY:["CN¥","¥"],COP:[void 0,"$",0],CRC:[void 0,"₡",2],CUC:[void 0,"$"],CUP:[void 0,"$"],CZK:[void 0,"Kč",2],DJF:[void 0,void 0,0],DKK:[void 0,"kr",2],DOP:[void 0,"$"],EGP:[void 0,"E£"],ESP:[void 0,"₧",0],EUR:["€"],FJD:[void 0,"$"],FKP:[void 0,"£"],GBP:["£"],GEL:[void 0,"₾"],GIP:[void 0,"£"],GNF:[void 0,"FG",0],GTQ:[void 0,"Q"],GYD:[void 0,"$",0],HKD:["HK$","$"],HNL:[void 0,"L"],HRK:[void 0,"kn"],HUF:[void 0,"Ft",2],IDR:[void 0,"Rp",0],ILS:["₪"],INR:["₹"],IQD:[void 0,void 0,0],IRR:[void 0,void 0,0],ISK:[void 0,"kr",0],ITL:[void 0,void 0,0],JMD:[void 0,"$"],JOD:[void 0,void 0,3],JPY:["¥",void 0,0],KHR:[void 0,"៛"],KMF:[void 0,"CF",0],KPW:[void 0,"₩",0],KRW:["₩",void 0,0],KWD:[void 0,void 0,3],KYD:[void 0,"$"],KZT:[void 0,"₸"],LAK:[void 0,"₭",0],LBP:[void 0,"L£",0],LKR:[void 0,"Rs"],LRD:[void 0,"$"],LTL:[void 0,"Lt"],LUF:[void 0,void 0,0],LVL:[void 0,"Ls"],LYD:[void 0,void 0,3],MGA:[void 0,"Ar",0],MGF:[void 0,void 0,0],MMK:[void 0,"K",0],MNT:[void 0,"₮",0],MRO:[void 0,void 0,0],MUR:[void 0,"Rs",0],MXN:["MX$","$"],MYR:[void 0,"RM"],NAD:[void 0,"$"],NGN:[void 0,"₦"],NIO:[void 0,"C$"],NOK:[void 0,"kr",2],NPR:[void 0,"Rs"],NZD:["NZ$","$"],OMR:[void 0,void 0,3],PHP:[void 0,"₱"],PKR:[void 0,"Rs",0],PLN:[void 0,"zł"],PYG:[void 0,"₲",0],RON:[void 0,"lei"],RSD:[void 0,void 0,0],RUB:[void 0,"₽"],RUR:[void 0,"р."],RWF:[void 0,"RF",0],SBD:[void 0,"$"],SEK:[void 0,"kr",2],SGD:[void 0,"$"],SHP:[void 0,"£"],SLL:[void 0,void 0,0],SOS:[void 0,void 0,0],SRD:[void 0,"$"],SSP:[void 0,"£"],STD:[void 0,void 0,0],STN:[void 0,"Db"],SYP:[void 0,"£",0],THB:[void 0,"฿"],TMM:[void 0,void 0,0],TND:[void 0,void 0,3],TOP:[void 0,"T$"],TRL:[void 0,void 0,0],TRY:[void 0,"₺"],TTD:[void 0,"$"],TWD:["NT$","$",2],TZS:[void 0,void 0,0],UAH:[void 0,"₴"],UGX:[void 0,void 0,0],USD:["$"],UYI:[void 0,void 0,0],UYU:[void 0,"$"],UZS:[void 0,void 0,0],VEF:[void 0,"Bs"],VND:["₫",void 0,0],VUV:[void 0,void 0,0],XAF:["FCFA",void 0,0],XCD:["EC$","$"],XOF:["CFA",void 0,0],XPF:["CFPF",void 0,0],YER:[void 0,void 0,0],ZAR:[void 0,"R"],ZMK:[void 0,void 0,0],ZMW:[void 0,"ZK"],ZWD:[void 0,void 0,0]},f=function(){var t={Decimal:0,Percent:1,Currency:2,Scientific:3};return t[t.Decimal]="Decimal",t[t.Percent]="Percent",t[t.Currency]="Currency",t[t.Scientific]="Scientific",t}(),p=function(){var t={Zero:0,One:1,Two:2,Few:3,Many:4,Other:5};return t[t.Zero]="Zero",t[t.One]="One",t[t.Two]="Two",t[t.Few]="Few",t[t.Many]="Many",t[t.Other]="Other",t}(),m=function(){var t={Format:0,Standalone:1};return t[t.Format]="Format",t[t.Standalone]="Standalone",t}(),h=function(){var t={Narrow:0,Abbreviated:1,Wide:2,Short:3};return t[t.Narrow]="Narrow",t[t.Abbreviated]="Abbreviated",t[t.Wide]="Wide",t[t.Short]="Short",t}(),b=function(){var t={Short:0,Medium:1,Long:2,Full:3};return t[t.Short]="Short",t[t.Medium]="Medium",t[t.Long]="Long",t[t.Full]="Full",t}(),y=function(){var t={Decimal:0,Group:1,List:2,PercentSign:3,PlusSign:4,MinusSign:5,Exponential:6,SuperscriptingExponent:7,PerMille:8,Infinity:9,NaN:10,TimeSeparator:11,CurrencyDecimal:12,CurrencyGroup:13};return t[t.Decimal]="Decimal",t[t.Group]="Group",t[t.List]="List",t[t.PercentSign]="PercentSign",t[t.PlusSign]="PlusSign",t[t.MinusSign]="MinusSign",t[t.Exponential]="Exponential",t[t.SuperscriptingExponent]="SuperscriptingExponent",t[t.PerMille]="PerMille",t[t.Infinity]="Infinity",t[t.NaN]="NaN",t[t.TimeSeparator]="TimeSeparator",t[t.CurrencyDecimal]="CurrencyDecimal",t[t.CurrencyGroup]="CurrencyGroup",t}(),_=function(){var t={Sunday:0,Monday:1,Tuesday:2,Wednesday:3,Thursday:4,Friday:5,Saturday:6};return t[t.Sunday]="Sunday",t[t.Monday]="Monday",t[t.Tuesday]="Tuesday",t[t.Wednesday]="Wednesday",t[t.Thursday]="Thursday",t[t.Friday]="Friday",t[t.Saturday]="Saturday",t}();function O(t){return Object(a["ɵfindLocaleData"])(t)[a["ɵLocaleDataIndex"].LocaleId]}function v(t,e,n){const r=Object(a["ɵfindLocaleData"])(t),o=j([r[a["ɵLocaleDataIndex"].DayPeriodsFormat],r[a["ɵLocaleDataIndex"].DayPeriodsStandalone]],e);return j(o,n)}function C(t,e,n){const r=Object(a["ɵfindLocaleData"])(t),o=j([r[a["ɵLocaleDataIndex"].DaysFormat],r[a["ɵLocaleDataIndex"].DaysStandalone]],e);return j(o,n)}function P(t,e,n){const r=Object(a["ɵfindLocaleData"])(t),o=j([r[a["ɵLocaleDataIndex"].MonthsFormat],r[a["ɵLocaleDataIndex"].MonthsStandalone]],e);return j(o,n)}function M(t,e){return j(Object(a["ɵfindLocaleData"])(t)[a["ɵLocaleDataIndex"].Eras],e)}function x(t){return Object(a["ɵfindLocaleData"])(t)[a["ɵLocaleDataIndex"].FirstDayOfWeek]}function w(t){return Object(a["ɵfindLocaleData"])(t)[a["ɵLocaleDataIndex"].WeekendRange]}function T(t,e){return j(Object(a["ɵfindLocaleData"])(t)[a["ɵLocaleDataIndex"].DateFormat],e)}function S(t,e){return j(Object(a["ɵfindLocaleData"])(t)[a["ɵLocaleDataIndex"].TimeFormat],e)}function k(t,e){return j(Object(a["ɵfindLocaleData"])(t)[a["ɵLocaleDataIndex"].DateTimeFormat],e)}function I(t,e){const n=Object(a["ɵfindLocaleData"])(t),r=n[a["ɵLocaleDataIndex"].NumberSymbols][e];if(void 0===r){if(e===y.CurrencyDecimal)return n[a["ɵLocaleDataIndex"].NumberSymbols][y.Decimal];if(e===y.CurrencyGroup)return n[a["ɵLocaleDataIndex"].NumberSymbols][y.Group]}return r}function N(t,e){return Object(a["ɵfindLocaleData"])(t)[a["ɵLocaleDataIndex"].NumberFormats][e]}function R(t){return Object(a["ɵfindLocaleData"])(t)[a["ɵLocaleDataIndex"].CurrencySymbol]||null}function A(t){return Object(a["ɵfindLocaleData"])(t)[a["ɵLocaleDataIndex"].CurrencyName]||null}const E=a["ɵgetLocalePluralCase"];function D(t){if(!t[a["ɵLocaleDataIndex"].ExtraData])throw new Error(`Missing extra locale data for the locale "${t[a["ɵLocaleDataIndex"].LocaleId]}". Use "registerLocaleData" to load new data. See the "I18n guide" on angular.io to know more.`)}function L(t){const e=Object(a["ɵfindLocaleData"])(t);return D(e),(e[a["ɵLocaleDataIndex"].ExtraData][2]||[]).map(t=>"string"==typeof t?F(t):[F(t[0]),F(t[1])])}function q(t,e,n){const r=Object(a["ɵfindLocaleData"])(t);D(r);const o=j([r[a["ɵLocaleDataIndex"].ExtraData][0],r[a["ɵLocaleDataIndex"].ExtraData][1]],e)||[];return j(o,n)||[]}function j(t,e){for(let n=e;n>-1;n--)if(void 0!==t[n])return t[n];throw new Error("Locale data API: locale data undefined")}function F(t){const[e,n]=t.split(":");return{hours:+e,minutes:+n}}function z(t,e,n="en"){const r=function(t){return Object(a["ɵfindLocaleData"])(t)[a["ɵLocaleDataIndex"].Currencies]}(n)[t]||g[t]||[],o=r[1];return"narrow"===e&&"string"==typeof o?o:r[0]||t}function G(t){let e;const n=g[t];return n&&(e=n[2]),"number"==typeof e?e:2}const B=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/,V={},Y=/((?:[^GyMLwWdEabBhHmsSzZO']+)|(?:'(?:[^']|'')*')|(?:G{1,5}|y{1,4}|M{1,5}|L{1,5}|w{1,2}|W{1}|d{1,2}|E{1,6}|a{1,5}|b{1,5}|B{1,5}|h{1,2}|H{1,2}|m{1,2}|s{1,2}|S{1,3}|z{1,4}|Z{1,5}|O{1,4}))([\s\S]*)/,H=function(){var t={Short:0,ShortGMT:1,Long:2,Extended:3};return t[t.Short]="Short",t[t.ShortGMT]="ShortGMT",t[t.Long]="Long",t[t.Extended]="Extended",t}(),U=function(){var t={FullYear:0,Month:1,Date:2,Hours:3,Minutes:4,Seconds:5,FractionalSeconds:6,Day:7};return t[t.FullYear]="FullYear",t[t.Month]="Month",t[t.Date]="Date",t[t.Hours]="Hours",t[t.Minutes]="Minutes",t[t.Seconds]="Seconds",t[t.FractionalSeconds]="FractionalSeconds",t[t.Day]="Day",t}(),W=function(){var t={DayPeriods:0,Days:1,Months:2,Eras:3};return t[t.DayPeriods]="DayPeriods",t[t.Days]="Days",t[t.Months]="Months",t[t.Eras]="Eras",t}();function K(t,e,n,a){let r=function(t){if(rt(t))return t;if("number"==typeof t&&!isNaN(t))return new Date(t);if("string"==typeof t){t=t.trim();const e=parseFloat(t);if(!isNaN(t-e))return new Date(e);if(/^(\d{4}-\d{1,2}-\d{1,2})$/.test(t)){const[e,n,a]=t.split("-").map(t=>+t);return new Date(e,n-1,a)}let n;if(n=t.match(B))return at(n)}const e=new Date(t);if(!rt(e))throw new Error(`Unable to convert "${t}" into a date`);return e}(t);e=function t(e,n){const a=O(e);if(V[a]=V[a]||{},V[a][n])return V[a][n];let r="";switch(n){case"shortDate":r=T(e,b.Short);break;case"mediumDate":r=T(e,b.Medium);break;case"longDate":r=T(e,b.Long);break;case"fullDate":r=T(e,b.Full);break;case"shortTime":r=S(e,b.Short);break;case"mediumTime":r=S(e,b.Medium);break;case"longTime":r=S(e,b.Long);break;case"fullTime":r=S(e,b.Full);break;case"short":const n=t(e,"shortTime"),a=t(e,"shortDate");r=$(k(e,b.Short),[n,a]);break;case"medium":const o=t(e,"mediumTime"),i=t(e,"mediumDate");r=$(k(e,b.Medium),[o,i]);break;case"long":const s=t(e,"longTime"),c=t(e,"longDate");r=$(k(e,b.Long),[s,c]);break;case"full":const l=t(e,"fullTime"),d=t(e,"fullDate");r=$(k(e,b.Full),[l,d])}return r&&(V[a][n]=r),r}(n,e)||e;let o,i=[];for(;e;){if(o=Y.exec(e),!o){i.push(e);break}{i=i.concat(o.slice(1));const t=i.pop();if(!t)break;e=t}}let s=r.getTimezoneOffset();a&&(s=nt(a,s),r=function(t,e,n){const a=t.getTimezoneOffset();return function(t,e){return(t=new Date(t.getTime())).setMinutes(t.getMinutes()+e),t}(t,-1*(nt(e,a)-a))}(r,a));let c="";return i.forEach(t=>{const e=function(t){if(et[t])return et[t];let e;switch(t){case"G":case"GG":case"GGG":e=X(W.Eras,h.Abbreviated);break;case"GGGG":e=X(W.Eras,h.Wide);break;case"GGGGG":e=X(W.Eras,h.Narrow);break;case"y":e=J(U.FullYear,1,0,!1,!0);break;case"yy":e=J(U.FullYear,2,0,!0,!0);break;case"yyy":e=J(U.FullYear,3,0,!1,!0);break;case"yyyy":e=J(U.FullYear,4,0,!1,!0);break;case"M":case"L":e=J(U.Month,1,1);break;case"MM":case"LL":e=J(U.Month,2,1);break;case"MMM":e=X(W.Months,h.Abbreviated);break;case"MMMM":e=X(W.Months,h.Wide);break;case"MMMMM":e=X(W.Months,h.Narrow);break;case"LLL":e=X(W.Months,h.Abbreviated,m.Standalone);break;case"LLLL":e=X(W.Months,h.Wide,m.Standalone);break;case"LLLLL":e=X(W.Months,h.Narrow,m.Standalone);break;case"w":e=tt(1);break;case"ww":e=tt(2);break;case"W":e=tt(1,!0);break;case"d":e=J(U.Date,1);break;case"dd":e=J(U.Date,2);break;case"E":case"EE":case"EEE":e=X(W.Days,h.Abbreviated);break;case"EEEE":e=X(W.Days,h.Wide);break;case"EEEEE":e=X(W.Days,h.Narrow);break;case"EEEEEE":e=X(W.Days,h.Short);break;case"a":case"aa":case"aaa":e=X(W.DayPeriods,h.Abbreviated);break;case"aaaa":e=X(W.DayPeriods,h.Wide);break;case"aaaaa":e=X(W.DayPeriods,h.Narrow);break;case"b":case"bb":case"bbb":e=X(W.DayPeriods,h.Abbreviated,m.Standalone,!0);break;case"bbbb":e=X(W.DayPeriods,h.Wide,m.Standalone,!0);break;case"bbbbb":e=X(W.DayPeriods,h.Narrow,m.Standalone,!0);break;case"B":case"BB":case"BBB":e=X(W.DayPeriods,h.Abbreviated,m.Format,!0);break;case"BBBB":e=X(W.DayPeriods,h.Wide,m.Format,!0);break;case"BBBBB":e=X(W.DayPeriods,h.Narrow,m.Format,!0);break;case"h":e=J(U.Hours,1,-12);break;case"hh":e=J(U.Hours,2,-12);break;case"H":e=J(U.Hours,1);break;case"HH":e=J(U.Hours,2);break;case"m":e=J(U.Minutes,1);break;case"mm":e=J(U.Minutes,2);break;case"s":e=J(U.Seconds,1);break;case"ss":e=J(U.Seconds,2);break;case"S":e=J(U.FractionalSeconds,1);break;case"SS":e=J(U.FractionalSeconds,2);break;case"SSS":e=J(U.FractionalSeconds,3);break;case"Z":case"ZZ":case"ZZZ":e=Q(H.Short);break;case"ZZZZZ":e=Q(H.Extended);break;case"O":case"OO":case"OOO":case"z":case"zz":case"zzz":e=Q(H.ShortGMT);break;case"OOOO":case"ZZZZ":case"zzzz":e=Q(H.Long);break;default:return null}return et[t]=e,e}(t);c+=e?e(r,n,s):"''"===t?"'":t.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),c}function $(t,e){return e&&(t=t.replace(/\{([^}]+)}/g,(function(t,n){return null!=e&&n in e?e[n]:t}))),t}function Z(t,e,n="-",a,r){let o="";(t<0||r&&t<=0)&&(r?t=1-t:(t=-t,o=n));let i=String(t);for(;i.length<e;)i="0"+i;return a&&(i=i.substr(i.length-e)),o+i}function J(t,e,n=0,a=!1,r=!1){return function(o,i){let s=function(t,e){switch(t){case U.FullYear:return e.getFullYear();case U.Month:return e.getMonth();case U.Date:return e.getDate();case U.Hours:return e.getHours();case U.Minutes:return e.getMinutes();case U.Seconds:return e.getSeconds();case U.FractionalSeconds:return e.getMilliseconds();case U.Day:return e.getDay();default:throw new Error(`Unknown DateType value "${t}".`)}}(t,o);if((n>0||s>-n)&&(s+=n),t===U.Hours)0===s&&-12===n&&(s=12);else if(t===U.FractionalSeconds)return c=e,Z(s,3).substr(0,c);var c;const l=I(i,y.MinusSign);return Z(s,e,l,a,r)}}function X(t,e,n=m.Format,a=!1){return function(r,o){return function(t,e,n,a,r,o){switch(n){case W.Months:return P(e,r,a)[t.getMonth()];case W.Days:return C(e,r,a)[t.getDay()];case W.DayPeriods:const i=t.getHours(),s=t.getMinutes();if(o){const t=L(e),n=q(e,r,a);let o;if(t.forEach((t,e)=>{if(Array.isArray(t)){const{hours:a,minutes:r}=t[0],{hours:c,minutes:l}=t[1];i>=a&&s>=r&&(i<c||i===c&&s<l)&&(o=n[e])}else{const{hours:a,minutes:r}=t;a===i&&r===s&&(o=n[e])}}),o)return o}return v(e,r,a)[i<12?0:1];case W.Eras:return M(e,a)[t.getFullYear()<=0?0:1];default:throw new Error(`unexpected translation type ${n}`)}}(r,o,t,e,n,a)}}function Q(t){return function(e,n,a){const r=-1*a,o=I(n,y.MinusSign),i=r>0?Math.floor(r/60):Math.ceil(r/60);switch(t){case H.Short:return(r>=0?"+":"")+Z(i,2,o)+Z(Math.abs(r%60),2,o);case H.ShortGMT:return"GMT"+(r>=0?"+":"")+Z(i,1,o);case H.Long:return"GMT"+(r>=0?"+":"")+Z(i,2,o)+":"+Z(Math.abs(r%60),2,o);case H.Extended:return 0===a?"Z":(r>=0?"+":"")+Z(i,2,o)+":"+Z(Math.abs(r%60),2,o);default:throw new Error(`Unknown zone width "${t}"`)}}}function tt(t,e=!1){return function(n,a){let r;if(e){const t=new Date(n.getFullYear(),n.getMonth(),1).getDay()-1,e=n.getDate();r=1+Math.floor((e+t)/7)}else{const t=function(t){const e=new Date(t,0,1).getDay();return new Date(t,0,1+(e<=4?4:11)-e)}(n.getFullYear()),e=(o=n,new Date(o.getFullYear(),o.getMonth(),o.getDate()+(4-o.getDay()))).getTime()-t.getTime();r=1+Math.round(e/6048e5)}var o;return Z(r,t,I(a,y.MinusSign))}}const et={};function nt(t,e){t=t.replace(/:/g,"");const n=Date.parse("Jan 01, 1970 00:00:00 "+t)/6e4;return isNaN(n)?e:n}function at(t){const e=new Date(0);let n=0,a=0;const r=t[8]?e.setUTCFullYear:e.setFullYear,o=t[8]?e.setUTCHours:e.setHours;t[9]&&(n=Number(t[9]+t[10]),a=Number(t[9]+t[11])),r.call(e,Number(t[1]),Number(t[2])-1,Number(t[3]));const i=Number(t[4]||0)-n,s=Number(t[5]||0)-a,c=Number(t[6]||0),l=Math.round(1e3*parseFloat("0."+(t[7]||0)));return o.call(e,i,s,c,l),e}function rt(t){return t instanceof Date&&!isNaN(t.valueOf())}const ot=/^(\d+)?\.((\d+)(-(\d+))?)?$/;function it(t,e,n,a,r,o,i=!1){let s="",c=!1;if(isFinite(t)){let l=function(t){let e,n,a,r,o,i=Math.abs(t)+"",s=0;for((n=i.indexOf("."))>-1&&(i=i.replace(".","")),(a=i.search(/e/i))>0?(n<0&&(n=a),n+=+i.slice(a+1),i=i.substring(0,a)):n<0&&(n=i.length),a=0;"0"===i.charAt(a);a++);if(a===(o=i.length))e=[0],n=1;else{for(o--;"0"===i.charAt(o);)o--;for(n-=a,e=[],r=0;a<=o;a++,r++)e[r]=Number(i.charAt(a))}return n>22&&(e=e.splice(0,21),s=n-1,n=1),{digits:e,exponent:s,integerLen:n}}(t);i&&(l=function(t){if(0===t.digits[0])return t;const e=t.digits.length-t.integerLen;return t.exponent?t.exponent+=2:(0===e?t.digits.push(0,0):1===e&&t.digits.push(0),t.integerLen+=2),t}(l));let d=e.minInt,u=e.minFrac,g=e.maxFrac;if(o){const t=o.match(ot);if(null===t)throw new Error(`${o} is not a valid digit info`);const e=t[1],n=t[3],a=t[5];null!=e&&(d=ut(e)),null!=n&&(u=ut(n)),null!=a?g=ut(a):null!=n&&u>g&&(g=u)}!function(t,e,n){if(e>n)throw new Error(`The minimum number of digits after fraction (${e}) is higher than the maximum (${n}).`);let a=t.digits,r=a.length-t.integerLen;const o=Math.min(Math.max(e,r),n);let i=o+t.integerLen,s=a[i];if(i>0){a.splice(Math.max(t.integerLen,i));for(let t=i;t<a.length;t++)a[t]=0}else{r=Math.max(0,r),t.integerLen=1,a.length=Math.max(1,i=o+1),a[0]=0;for(let t=1;t<i;t++)a[t]=0}if(s>=5)if(i-1<0){for(let e=0;e>i;e--)a.unshift(0),t.integerLen++;a.unshift(1),t.integerLen++}else a[i-1]++;for(;r<Math.max(0,o);r++)a.push(0);let c=0!==o;const l=e+t.integerLen,d=a.reduceRight((function(t,e,n,a){return a[n]=(e+=t)<10?e:e-10,c&&(0===a[n]&&n>=l?a.pop():c=!1),e>=10?1:0}),0);d&&(a.unshift(d),t.integerLen++)}(l,u,g);let f=l.digits,p=l.integerLen;const m=l.exponent;let h=[];for(c=f.every(t=>!t);p<d;p++)f.unshift(0);for(;p<0;p++)f.unshift(0);p>0?h=f.splice(p,f.length):(h=f,f=[0]);const b=[];for(f.length>=e.lgSize&&b.unshift(f.splice(-e.lgSize,f.length).join(""));f.length>e.gSize;)b.unshift(f.splice(-e.gSize,f.length).join(""));f.length&&b.unshift(f.join("")),s=b.join(I(n,a)),h.length&&(s+=I(n,r)+h.join("")),m&&(s+=I(n,y.Exponential)+"+"+m)}else s=I(n,y.Infinity);return s=t<0&&!c?e.negPre+s+e.negSuf:e.posPre+s+e.posSuf,s}function st(t,e,n,a,r){const o=dt(N(e,f.Currency),I(e,y.MinusSign));return o.minFrac=G(a),o.maxFrac=o.minFrac,it(t,o,e,y.CurrencyGroup,y.CurrencyDecimal,r).replace("¤",n).replace("¤","")}function ct(t,e,n){return it(t,dt(N(e,f.Percent),I(e,y.MinusSign)),e,y.Group,y.Decimal,n,!0).replace(new RegExp("%","g"),I(e,y.PercentSign))}function lt(t,e,n){return it(t,dt(N(e,f.Decimal),I(e,y.MinusSign)),e,y.Group,y.Decimal,n)}function dt(t,e="-"){const n={minInt:1,minFrac:0,maxFrac:0,posPre:"",posSuf:"",negPre:"",negSuf:"",gSize:0,lgSize:0},a=t.split(";"),r=a[0],o=a[1],i=-1!==r.indexOf(".")?r.split("."):[r.substring(0,r.lastIndexOf("0")+1),r.substring(r.lastIndexOf("0")+1)],s=i[0],c=i[1]||"";n.posPre=s.substr(0,s.indexOf("#"));for(let d=0;d<c.length;d++){const t=c.charAt(d);"0"===t?n.minFrac=n.maxFrac=d+1:"#"===t?n.maxFrac=d+1:n.posSuf+=t}const l=s.split(",");if(n.gSize=l[1]?l[1].length:0,n.lgSize=l[2]||l[1]?(l[2]||l[1]).length:0,o){const t=r.length-n.posPre.length-n.posSuf.length,e=o.indexOf("#");n.negPre=o.substr(0,e).replace(/'/g,""),n.negSuf=o.substr(e+t).replace(/'/g,"")}else n.negPre=e+n.posPre,n.negSuf=n.posSuf;return n}function ut(t){const e=parseInt(t);if(isNaN(e))throw new Error("Invalid integer literal when parsing "+t);return e}const gt=new a.InjectionToken("UseV4Plurals");class ft{}function pt(t,e,n,a){let r=`=${t}`;if(e.indexOf(r)>-1)return r;if(r=n.getPluralCategory(t,a),e.indexOf(r)>-1)return r;if(e.indexOf("other")>-1)return"other";throw new Error(`No plural message found for value "${t}"`)}class mt extends ft{constructor(t,e){super(),this.locale=t,this.deprecatedPluralFn=e}getPluralCategory(t,e){switch(this.deprecatedPluralFn?this.deprecatedPluralFn(e||this.locale,t):E(e||this.locale)(t)){case p.Zero:return"zero";case p.One:return"one";case p.Two:return"two";case p.Few:return"few";case p.Many:return"many";default:return"other"}}}function ht(t,e){"string"==typeof e&&(e=parseInt(e,10));const n=e,a=n.toString().replace(/^[^.]*\.?/,""),r=Math.floor(Math.abs(n)),o=a.length,i=parseInt(a,10),s=parseInt(n.toString().replace(/^[^.]*\.?|0+$/g,""),10)||0;switch(t.split("-")[0].toLowerCase()){case"af":case"asa":case"az":case"bem":case"bez":case"bg":case"brx":case"ce":case"cgg":case"chr":case"ckb":case"ee":case"el":case"eo":case"es":case"eu":case"fo":case"fur":case"gsw":case"ha":case"haw":case"hu":case"jgo":case"jmc":case"ka":case"kk":case"kkj":case"kl":case"ks":case"ksb":case"ky":case"lb":case"lg":case"mas":case"mgo":case"ml":case"mn":case"nb":case"nd":case"ne":case"nn":case"nnh":case"nyn":case"om":case"or":case"os":case"ps":case"rm":case"rof":case"rwk":case"saq":case"seh":case"sn":case"so":case"sq":case"ta":case"te":case"teo":case"tk":case"tr":case"ug":case"uz":case"vo":case"vun":case"wae":case"xog":return 1===n?p.One:p.Other;case"ak":case"ln":case"mg":case"pa":case"ti":return n===Math.floor(n)&&n>=0&&n<=1?p.One:p.Other;case"am":case"as":case"bn":case"fa":case"gu":case"hi":case"kn":case"mr":case"zu":return 0===r||1===n?p.One:p.Other;case"ar":return 0===n?p.Zero:1===n?p.One:2===n?p.Two:n%100===Math.floor(n%100)&&n%100>=3&&n%100<=10?p.Few:n%100===Math.floor(n%100)&&n%100>=11&&n%100<=99?p.Many:p.Other;case"ast":case"ca":case"de":case"en":case"et":case"fi":case"fy":case"gl":case"it":case"nl":case"sv":case"sw":case"ur":case"yi":return 1===r&&0===o?p.One:p.Other;case"be":return n%10==1&&n%100!=11?p.One:n%10===Math.floor(n%10)&&n%10>=2&&n%10<=4&&!(n%100>=12&&n%100<=14)?p.Few:n%10==0||n%10===Math.floor(n%10)&&n%10>=5&&n%10<=9||n%100===Math.floor(n%100)&&n%100>=11&&n%100<=14?p.Many:p.Other;case"br":return n%10==1&&n%100!=11&&n%100!=71&&n%100!=91?p.One:n%10==2&&n%100!=12&&n%100!=72&&n%100!=92?p.Two:n%10===Math.floor(n%10)&&(n%10>=3&&n%10<=4||n%10==9)&&!(n%100>=10&&n%100<=19||n%100>=70&&n%100<=79||n%100>=90&&n%100<=99)?p.Few:0!==n&&n%1e6==0?p.Many:p.Other;case"bs":case"hr":case"sr":return 0===o&&r%10==1&&r%100!=11||i%10==1&&i%100!=11?p.One:0===o&&r%10===Math.floor(r%10)&&r%10>=2&&r%10<=4&&!(r%100>=12&&r%100<=14)||i%10===Math.floor(i%10)&&i%10>=2&&i%10<=4&&!(i%100>=12&&i%100<=14)?p.Few:p.Other;case"cs":case"sk":return 1===r&&0===o?p.One:r===Math.floor(r)&&r>=2&&r<=4&&0===o?p.Few:0!==o?p.Many:p.Other;case"cy":return 0===n?p.Zero:1===n?p.One:2===n?p.Two:3===n?p.Few:6===n?p.Many:p.Other;case"da":return 1===n||0!==s&&(0===r||1===r)?p.One:p.Other;case"dsb":case"hsb":return 0===o&&r%100==1||i%100==1?p.One:0===o&&r%100==2||i%100==2?p.Two:0===o&&r%100===Math.floor(r%100)&&r%100>=3&&r%100<=4||i%100===Math.floor(i%100)&&i%100>=3&&i%100<=4?p.Few:p.Other;case"ff":case"fr":case"hy":case"kab":return 0===r||1===r?p.One:p.Other;case"fil":return 0===o&&(1===r||2===r||3===r)||0===o&&r%10!=4&&r%10!=6&&r%10!=9||0!==o&&i%10!=4&&i%10!=6&&i%10!=9?p.One:p.Other;case"ga":return 1===n?p.One:2===n?p.Two:n===Math.floor(n)&&n>=3&&n<=6?p.Few:n===Math.floor(n)&&n>=7&&n<=10?p.Many:p.Other;case"gd":return 1===n||11===n?p.One:2===n||12===n?p.Two:n===Math.floor(n)&&(n>=3&&n<=10||n>=13&&n<=19)?p.Few:p.Other;case"gv":return 0===o&&r%10==1?p.One:0===o&&r%10==2?p.Two:0!==o||r%100!=0&&r%100!=20&&r%100!=40&&r%100!=60&&r%100!=80?0!==o?p.Many:p.Other:p.Few;case"he":return 1===r&&0===o?p.One:2===r&&0===o?p.Two:0!==o||n>=0&&n<=10||n%10!=0?p.Other:p.Many;case"is":return 0===s&&r%10==1&&r%100!=11||0!==s?p.One:p.Other;case"ksh":return 0===n?p.Zero:1===n?p.One:p.Other;case"kw":case"naq":case"se":case"smn":return 1===n?p.One:2===n?p.Two:p.Other;case"lag":return 0===n?p.Zero:0!==r&&1!==r||0===n?p.Other:p.One;case"lt":return n%10!=1||n%100>=11&&n%100<=19?n%10===Math.floor(n%10)&&n%10>=2&&n%10<=9&&!(n%100>=11&&n%100<=19)?p.Few:0!==i?p.Many:p.Other:p.One;case"lv":case"prg":return n%10==0||n%100===Math.floor(n%100)&&n%100>=11&&n%100<=19||2===o&&i%100===Math.floor(i%100)&&i%100>=11&&i%100<=19?p.Zero:n%10==1&&n%100!=11||2===o&&i%10==1&&i%100!=11||2!==o&&i%10==1?p.One:p.Other;case"mk":return 0===o&&r%10==1||i%10==1?p.One:p.Other;case"mt":return 1===n?p.One:0===n||n%100===Math.floor(n%100)&&n%100>=2&&n%100<=10?p.Few:n%100===Math.floor(n%100)&&n%100>=11&&n%100<=19?p.Many:p.Other;case"pl":return 1===r&&0===o?p.One:0===o&&r%10===Math.floor(r%10)&&r%10>=2&&r%10<=4&&!(r%100>=12&&r%100<=14)?p.Few:0===o&&1!==r&&r%10===Math.floor(r%10)&&r%10>=0&&r%10<=1||0===o&&r%10===Math.floor(r%10)&&r%10>=5&&r%10<=9||0===o&&r%100===Math.floor(r%100)&&r%100>=12&&r%100<=14?p.Many:p.Other;case"pt":return n===Math.floor(n)&&n>=0&&n<=2&&2!==n?p.One:p.Other;case"ro":return 1===r&&0===o?p.One:0!==o||0===n||1!==n&&n%100===Math.floor(n%100)&&n%100>=1&&n%100<=19?p.Few:p.Other;case"ru":case"uk":return 0===o&&r%10==1&&r%100!=11?p.One:0===o&&r%10===Math.floor(r%10)&&r%10>=2&&r%10<=4&&!(r%100>=12&&r%100<=14)?p.Few:0===o&&r%10==0||0===o&&r%10===Math.floor(r%10)&&r%10>=5&&r%10<=9||0===o&&r%100===Math.floor(r%100)&&r%100>=11&&r%100<=14?p.Many:p.Other;case"shi":return 0===r||1===n?p.One:n===Math.floor(n)&&n>=2&&n<=10?p.Few:p.Other;case"si":return 0===n||1===n||0===r&&1===i?p.One:p.Other;case"sl":return 0===o&&r%100==1?p.One:0===o&&r%100==2?p.Two:0===o&&r%100===Math.floor(r%100)&&r%100>=3&&r%100<=4||0!==o?p.Few:p.Other;case"tzm":return n===Math.floor(n)&&n>=0&&n<=1||n===Math.floor(n)&&n>=11&&n<=99?p.One:p.Other;default:return p.Other}}function bt(t,e,n){"string"!=typeof e&&(n=e,e=t[a["ɵLocaleDataIndex"].LocaleId]),e=e.toLowerCase().replace(/_/g,"-"),a["ɵLOCALE_DATA"][e]=t,n&&(a["ɵLOCALE_DATA"][e][a["ɵLocaleDataIndex"].ExtraData]=n)}function yt(t,e){e=encodeURIComponent(e);for(const n of t.split(";")){const t=n.indexOf("="),[a,r]=-1==t?[n,""]:[n.slice(0,t),n.slice(t+1)];if(a.trim()===e)return decodeURIComponent(r)}return null}class _t{constructor(t,e){this._name=t,this._options=e,this.value=null,this._lastSetValue=null,this._lastSetValueType=0,this._lastSetValueIdentityChange=!1}setValue(t){if(Array.isArray(t))this._lastSetValueType=4;else if(t instanceof Set)this._lastSetValueType=8;else if(t&&"string"==typeof t){if(!(4&this._options))throw new Error(this._name+" string values are not allowed");this._lastSetValueType=1}else this._lastSetValueType=t?2:0;this._lastSetValueIdentityChange=!0,this._lastSetValue=t||null}hasValueChanged(){let t=this._lastSetValueIdentityChange;if(!(t||14&this._lastSetValueType))return!1;let e=null;const n=!!(1&this._options),a=!!(8&this._options),r=!!(2&this._options);switch(this._lastSetValueType){case 1:const o=this._lastSetValue.split(/\s+/g);16&this._options?(e={},o.forEach((t,n)=>e[t]=!0)):e=o.reduce((t,e,n)=>t+(n?" ":"")+e);break;case 2:const i=this._lastSetValue,s=Object.keys(i);t||(t=!this.value||function(t,e,n){const a=t;if(!Mt(Object.keys(e),a))return!0;for(let r=0;r<a.length;r++){const t=a[r];if(e[t]!==n[t])return!0}return!1}(s,this.value,i)),t&&(e=Ot(this._name,n,a,r,i,s));break;case 4:case 8:const c=Array.from(this._lastSetValue);t||(t=!Mt(Object.keys(this.value),c)),t&&(e=Ot(this._name,n,a,r,c));break;default:e=null}return t&&(this.value=e),t}}function Ot(t,e,n,a,r,o){const i={};if(o)for(let s=0;s<o.length;s++){let t=o[s];t=e?t.trim():t,Ct(i,t,r[t],n,a)}else for(let s=0;s<r.length;s++){let n=r[s];vt(t,n),n=e?n.trim():n,Ct(i,n,!0,!1,a)}return i}function vt(t,e){if("string"!=typeof e)throw new Error(`${t} can only toggle CSS classes expressed as strings, got ${e}`)}function Ct(t,e,n,a,r){if(r&&e.indexOf(" ")>0){const r=e.split(/\s+/g);for(let e=0;e<r.length;e++)Pt(t,r[e],n,a)}else Pt(t,e,n,a)}function Pt(t,e,n,a){if(a){const t=function(t,e){const n=t.indexOf(".");if(n>0){const a=t.substr(n+1);t=t.substring(0,n),null!=e&&(e+=a)}return{key:t,value:e}}(e,n);n=t.value,e=t.key}t[e]=n}function Mt(t,e){if(t&&e){if(t.length!==e.length)return!1;for(let n=0;n<t.length;n++)if(-1===e.indexOf(t[n]))return!1;return!0}return!1}class xt{}class wt{constructor(t,e,n,a){this._iterableDiffers=t,this._keyValueDiffers=e,this._ngEl=n,this._renderer=a,this._initialClasses=[]}getValue(){return null}setClass(t){this._removeClasses(this._initialClasses),this._initialClasses="string"==typeof t?t.split(/\s+/):[],this._applyClasses(this._initialClasses),this._applyClasses(this._rawClass)}setNgClass(t){this._removeClasses(this._rawClass),this._applyClasses(this._initialClasses),this._iterableDiffer=null,this._keyValueDiffer=null,this._rawClass="string"==typeof t?t.split(/\s+/):t,this._rawClass&&(Object(a["ɵisListLikeIterable"])(this._rawClass)?this._iterableDiffer=this._iterableDiffers.find(this._rawClass).create():this._keyValueDiffer=this._keyValueDiffers.find(this._rawClass).create())}applyChanges(){if(this._iterableDiffer){const t=this._iterableDiffer.diff(this._rawClass);t&&this._applyIterableChanges(t)}else if(this._keyValueDiffer){const t=this._keyValueDiffer.diff(this._rawClass);t&&this._applyKeyValueChanges(t)}}_applyKeyValueChanges(t){t.forEachAddedItem(t=>this._toggleClass(t.key,t.currentValue)),t.forEachChangedItem(t=>this._toggleClass(t.key,t.currentValue)),t.forEachRemovedItem(t=>{t.previousValue&&this._toggleClass(t.key,!1)})}_applyIterableChanges(t){t.forEachAddedItem(t=>{if("string"!=typeof t.item)throw new Error(`NgClass can only toggle CSS classes expressed as strings, got ${Object(a["ɵstringify"])(t.item)}`);this._toggleClass(t.item,!0)}),t.forEachRemovedItem(t=>this._toggleClass(t.item,!1))}_applyClasses(t){t&&(Array.isArray(t)||t instanceof Set?t.forEach(t=>this._toggleClass(t,!0)):Object.keys(t).forEach(e=>this._toggleClass(e,!!t[e])))}_removeClasses(t){t&&(Array.isArray(t)||t instanceof Set?t.forEach(t=>this._toggleClass(t,!1)):Object.keys(t).forEach(t=>this._toggleClass(t,!1)))}_toggleClass(t,e){(t=t.trim())&&t.split(/\s+/g).forEach(t=>{e?this._renderer.addClass(this._ngEl.nativeElement,t):this._renderer.removeClass(this._ngEl.nativeElement,t)})}}class Tt{constructor(){this._value=null,this._ngClassDiffer=new _t("NgClass",23),this._classStringDiffer=null}getValue(){return this._value}setClass(t){(t||this._classStringDiffer)&&(this._classStringDiffer=this._classStringDiffer||new _t("class",20),this._classStringDiffer.setValue(t))}setNgClass(t){this._ngClassDiffer.setValue(t)}applyChanges(){const t=!!this._classStringDiffer&&this._classStringDiffer.hasValueChanged(),e=this._ngClassDiffer.hasValueChanged();if(t||e){let t=this._ngClassDiffer.value;if(this._classStringDiffer){let e=this._classStringDiffer.value;e&&(t=t?Object.assign({},e,t):e)}this._value=t}}}const St={provide:xt,useClass:wt},kt={provide:xt,useClass:Tt},It=St,Nt=Object(a["ɵɵdefineDirective"])({type:function(){},selectors:null,factory:()=>{},hostBindings:function(t,e,n){1&t&&(Object(a["ɵɵallocHostVars"])(1),Object(a["ɵɵstyling"])()),2&t&&(Object(a["ɵɵclassMap"])(e.getValue()),Object(a["ɵɵstylingApply"])())}});let Rt=(()=>{class t{constructor(t){this._delegate=t}getValue(){return this._delegate.getValue()}}return t.ngDirectiveDef=void 0,t})();class At extends Rt{constructor(t){super(t)}set klass(t){this._delegate.setClass(t)}set ngClass(t){this._delegate.setNgClass(t)}ngDoCheck(){this._delegate.applyChanges()}}class Et{constructor(t){this._viewContainerRef=t,this._componentRef=null,this._moduleRef=null}ngOnChanges(t){if(this._viewContainerRef.clear(),this._componentRef=null,this.ngComponentOutlet){const e=this.ngComponentOutletInjector||this._viewContainerRef.parentInjector;if(t.ngComponentOutletNgModuleFactory)if(this._moduleRef&&this._moduleRef.destroy(),this.ngComponentOutletNgModuleFactory){const t=e.get(a.NgModuleRef);this._moduleRef=this.ngComponentOutletNgModuleFactory.create(t.injector)}else this._moduleRef=null;const n=(this._moduleRef?this._moduleRef.componentFactoryResolver:e.get(a.ComponentFactoryResolver)).resolveComponentFactory(this.ngComponentOutlet);this._componentRef=this._viewContainerRef.createComponent(n,this._viewContainerRef.length,e,this.ngComponentOutletContent)}}ngOnDestroy(){this._moduleRef&&this._moduleRef.destroy()}}class Dt{constructor(t,e,n,a){this.$implicit=t,this.ngForOf=e,this.index=n,this.count=a}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}class Lt{constructor(t,e,n){this._viewContainer=t,this._template=e,this._differs=n,this._ngForOfDirty=!0,this._differ=null}set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){Object(a.isDevMode)()&&null!=t&&"function"!=typeof t&&console&&console.warn&&console.warn(`trackBy must be a function, but received ${JSON.stringify(t)}. `+"See https://angular.io/docs/ts/latest/api/common/index/NgFor-directive.html#!#change-propagation for more information."),this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const n=this._ngForOf;if(!this._differ&&n)try{this._differ=this._differs.find(n).create(this.ngForTrackBy)}catch(e){throw new Error(`Cannot find a differ supporting object '${n}' of type '${t=n,t.name||typeof t}'. NgFor only supports binding to Iterables such as Arrays.`)}}var t;if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const e=[];t.forEachOperation((t,n,a)=>{if(null==t.previousIndex){const n=this._viewContainer.createEmbeddedView(this._template,new Dt(null,this._ngForOf,-1,-1),null===a?void 0:a),r=new qt(t,n);e.push(r)}else if(null==a)this._viewContainer.remove(null===n?void 0:n);else if(null!==n){const r=this._viewContainer.get(n);this._viewContainer.move(r,a);const o=new qt(t,r);e.push(o)}});for(let n=0;n<e.length;n++)this._perViewChange(e[n].view,e[n].record);for(let n=0,a=this._viewContainer.length;n<a;n++){const t=this._viewContainer.get(n);t.context.index=n,t.context.count=a,t.context.ngForOf=this._ngForOf}t.forEachIdentityChange(t=>{this._viewContainer.get(t.currentIndex).context.$implicit=t.item})}_perViewChange(t,e){t.context.$implicit=e.item}static ngTemplateContextGuard(t,e){return!0}}class qt{constructor(t,e){this.record=t,this.view=e}}class jt{constructor(t,e){this._viewContainer=t,this._context=new Ft,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=e}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){zt("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){zt("ngIfElse",t),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}}class Ft{constructor(){this.$implicit=null,this.ngIf=null}}function zt(t,e){if(e&&!e.createEmbeddedView)throw new Error(`${t} must be a TemplateRef, but received '${Object(a["ɵstringify"])(e)}'.`)}class Gt{constructor(t,e){this._viewContainerRef=t,this._templateRef=e,this._created=!1}create(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)}destroy(){this._created=!1,this._viewContainerRef.clear()}enforceState(t){t&&!this._created?this.create():!t&&this._created&&this.destroy()}}class Bt{constructor(){this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckIndex=0,this._lastCasesMatched=!1}set ngSwitch(t){this._ngSwitch=t,0===this._caseCount&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(t){this._defaultViews||(this._defaultViews=[]),this._defaultViews.push(t)}_matchCase(t){const e=t==this._ngSwitch;return this._lastCasesMatched=this._lastCasesMatched||e,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),e}_updateDefaultCases(t){if(this._defaultViews&&t!==this._defaultUsed){this._defaultUsed=t;for(let e=0;e<this._defaultViews.length;e++)this._defaultViews[e].enforceState(t)}}}class Vt{constructor(t,e,n){this.ngSwitch=n,n._addCase(),this._view=new Gt(t,e)}ngDoCheck(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))}}class Yt{constructor(t,e,n){n._addDefault(new Gt(t,e))}}class Ht{constructor(t){this._localization=t,this._caseViews={}}set ngPlural(t){this._switchValue=t,this._updateView()}addCase(t,e){this._caseViews[t]=e}_updateView(){this._clearViews();const t=Object.keys(this._caseViews),e=pt(this._switchValue,t,this._localization);this._activateView(this._caseViews[e])}_clearViews(){this._activeView&&this._activeView.destroy()}_activateView(t){t&&(this._activeView=t,this._activeView.create())}}class Ut{constructor(t,e,n,a){this.value=t;const r=!isNaN(Number(t));a.addCase(r?`=${t}`:t,new Gt(n,e))}}class Wt{}class Kt{constructor(t,e,n){this._ngEl=t,this._differs=e,this._renderer=n}getValue(){return null}setNgStyle(t){this._ngStyle=t,!this._differ&&t&&(this._differ=this._differs.find(t).create())}applyChanges(){if(this._differ){const t=this._differ.diff(this._ngStyle);t&&this._applyChanges(t)}}_applyChanges(t){t.forEachRemovedItem(t=>this._setStyle(t.key,null)),t.forEachAddedItem(t=>this._setStyle(t.key,t.currentValue)),t.forEachChangedItem(t=>this._setStyle(t.key,t.currentValue))}_setStyle(t,e){const[n,a]=t.split(".");null!=(e=null!=e&&a?`${e}${a}`:e)?this._renderer.setStyle(this._ngEl.nativeElement,n,e):this._renderer.removeStyle(this._ngEl.nativeElement,n)}}class $t{constructor(){this._differ=new _t("NgStyle",8),this._value=null}getValue(){return this._value}setNgStyle(t){this._differ.setValue(t)}applyChanges(){this._differ.hasValueChanged()&&(this._value=this._differ.value)}}const Zt={provide:Wt,useClass:Kt},Jt={provide:Wt,useClass:$t},Xt=Zt,Qt=Object(a["ɵɵdefineDirective"])({type:function(){},selectors:null,factory:()=>{},hostBindings:function(t,e,n){1&t&&Object(a["ɵɵstyling"])(),2&t&&(Object(a["ɵɵstyleMap"])(e.getValue()),Object(a["ɵɵstylingApply"])())}});let te=(()=>{class t{constructor(t){this._delegate=t}getValue(){return this._delegate.getValue()}}return t.ngDirectiveDef=void 0,t})();class ee extends te{constructor(t){super(t)}set ngStyle(t){this._delegate.setNgStyle(t)}ngDoCheck(){this._delegate.applyChanges()}}class ne{constructor(t){this._viewContainerRef=t,this._viewRef=null,this.ngTemplateOutletContext=null,this.ngTemplateOutlet=null}ngOnChanges(t){this._shouldRecreateView(t)?(this._viewRef&&this._viewContainerRef.remove(this._viewContainerRef.indexOf(this._viewRef)),this.ngTemplateOutlet&&(this._viewRef=this._viewContainerRef.createEmbeddedView(this.ngTemplateOutlet,this.ngTemplateOutletContext))):this._viewRef&&this.ngTemplateOutletContext&&this._updateExistingContext(this.ngTemplateOutletContext)}_shouldRecreateView(t){const e=t.ngTemplateOutletContext;return!!t.ngTemplateOutlet||e&&this._hasContextShapeChanged(e)}_hasContextShapeChanged(t){const e=Object.keys(t.previousValue||{}),n=Object.keys(t.currentValue||{});if(e.length===n.length){for(let t of n)if(-1===e.indexOf(t))return!0;return!1}return!0}_updateExistingContext(t){for(let e of Object.keys(t))this._viewRef.context[e]=this.ngTemplateOutletContext[e]}}const ae=[At,Et,Lt,jt,ne,ee,Bt,Vt,Yt,Ht,Ut];function re(t,e){return Error(`InvalidPipeArgument: '${e}' for pipe '${Object(a["ɵstringify"])(t)}'`)}const oe=/((?:[^yMLdHhmsazZEwGjJ']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|L+|d+|H+|h+|J+|j+|m+|s+|a|z|Z|G+|w+))(.*)/,ie={yMMMdjms:be(he([pe("year",1),me("month",3),pe("day",1),pe("hour",1),pe("minute",1),pe("second",1)])),yMdjm:be(he([pe("year",1),pe("month",1),pe("day",1),pe("hour",1),pe("minute",1)])),yMMMMEEEEd:be(he([pe("year",1),me("month",4),me("weekday",4),pe("day",1)])),yMMMMd:be(he([pe("year",1),me("month",4),pe("day",1)])),yMMMd:be(he([pe("year",1),me("month",3),pe("day",1)])),yMd:be(he([pe("year",1),pe("month",1),pe("day",1)])),jms:be(he([pe("hour",1),pe("second",1),pe("minute",1)])),jm:be(he([pe("hour",1),pe("minute",1)]))},se={yyyy:be(pe("year",4)),yy:be(pe("year",2)),y:be(pe("year",1)),MMMM:be(me("month",4)),MMM:be(me("month",3)),MM:be(pe("month",2)),M:be(pe("month",1)),LLLL:be(me("month",4)),L:be(me("month",1)),dd:be(pe("day",2)),d:be(pe("day",1)),HH:ce(de(be(fe(pe("hour",2),!1)))),H:de(be(fe(pe("hour",1),!1))),hh:ce(de(be(fe(pe("hour",2),!0)))),h:de(be(fe(pe("hour",1),!0))),jj:be(pe("hour",2)),j:be(pe("hour",1)),mm:ce(be(pe("minute",2))),m:be(pe("minute",1)),ss:ce(be(pe("second",2))),s:be(pe("second",1)),sss:be(pe("second",3)),EEEE:be(me("weekday",4)),EEE:be(me("weekday",3)),EE:be(me("weekday",2)),E:be(me("weekday",1)),a:le(be(fe(pe("hour",1),!0))),Z:ge("short"),z:ge("long"),ww:be({}),w:be({}),G:be(me("era",1)),GG:be(me("era",2)),GGG:be(me("era",3)),GGGG:be(me("era",4))};function ce(t){return function(e,n){const a=t(e,n);return 1==a.length?"0"+a:a}}function le(t){return function(e,n){return t(e,n).split(" ")[1]}}function de(t){return function(e,n){return t(e,n).split(" ")[0]}}function ue(t,e,n){return new Intl.DateTimeFormat(e,n).format(t).replace(/[\u200e\u200f]/g,"")}function ge(t){const e={hour:"2-digit",hour12:!1,timeZoneName:t};return function(t,n){const a=ue(t,n,e);return a?a.substring(3):""}}function fe(t,e){return t.hour12=e,t}function pe(t,e){const n={};return n[t]=2===e?"2-digit":"numeric",n}function me(t,e){const n={};return n[t]=e<4?e>1?"short":"narrow":"long",n}function he(t){return t.reduce((t,e)=>Object.assign({},t,e),{})}function be(t){return(e,n)=>ue(e,n,t)}const ye=new Map;let _e=(()=>{class t{constructor(t){this._locale=t}transform(e,n="mediumDate"){if(null==e||""===e||e!=e)return null;let a;if("string"==typeof e&&(e=e.trim()),Oe(e))a=e;else if(isNaN(e-parseFloat(e)))if("string"==typeof e&&/^(\d{4}-\d{1,2}-\d{1,2})$/.test(e)){const[t,n,r]=e.split("-").map(t=>parseInt(t,10));a=new Date(t,n-1,r)}else a=new Date(e);else a=new Date(parseFloat(e));if(!Oe(a)){let n;if("string"!=typeof e||!(n=e.match(B)))throw re(t,e);a=at(n)}return class{static format(t,e,n){return function(t,e,n){const a=ie[t];if(a)return a(e,n);const r=t;let o=ye.get(r);if(!o){let e;o=[],oe.exec(t);let n=t;for(;n;)e=oe.exec(n),e?(o=o.concat(e.slice(1)),n=o.pop()):(o.push(n),n=null);ye.set(r,o)}return o.reduce((t,a)=>{const r=se[a];return t+(r?r(e,n):function(t){return"''"===t?"'":t.replace(/(^'|'$)/g,"").replace(/''/g,"'")}(a))},"")}(n,t,e)}}.format(a,this._locale,t._ALIASES[n]||n)}}return t._ALIASES={medium:"yMMMdjms",short:"yMdjm",fullDate:"yMMMMEEEEd",longDate:"yMMMMd",mediumDate:"yMMMd",shortDate:"yMd",mediumTime:"jms",shortTime:"jm"},t})();function Oe(t){return t instanceof Date&&!isNaN(t.valueOf())}function ve(t,e,n,a,r,o=null,i=!1){if(null==n)return null;if("number"!=typeof(n="string"!=typeof n||isNaN(+n-parseFloat(n))?n:+n))throw re(t,n);let s,c,l;if(a!==f.Currency&&(s=1,c=0,l=3),r){const t=r.match(ot);if(null===t)throw new Error(`${r} is not a valid digit info for number pipes`);null!=t[1]&&(s=ut(t[1])),null!=t[3]&&(c=ut(t[3])),null!=t[5]&&(l=ut(t[5]))}return class{static format(t,e,n,a={}){const{minimumIntegerDigits:r,minimumFractionDigits:o,maximumFractionDigits:i,currency:s,currencyAsSymbol:c=!1}=a,l={minimumIntegerDigits:r,minimumFractionDigits:o,maximumFractionDigits:i,style:f[n].toLowerCase()};return n==f.Currency&&(l.currency="string"==typeof s?s:void 0,l.currencyDisplay=c?"symbol":"code"),new Intl.NumberFormat(e,l).format(t)}}.format(n,e,a,{minimumIntegerDigits:s,minimumFractionDigits:c,maximumFractionDigits:l,currency:o,currencyAsSymbol:i})}class Ce{constructor(t){this._locale=t}transform(t,e){return ve(Ce,this._locale,t,f.Decimal,e)}}class Pe{constructor(t){this._locale=t}transform(t,e){return ve(Pe,this._locale,t,f.Percent,e)}}class Me{constructor(t){this._locale=t}transform(t,e="USD",n=!1,a){return ve(Me,this._locale,t,f.Currency,a,e,n)}}const xe=[Ce,Pe,Me,_e];class we{createSubscription(t,e){return t.subscribe({next:e,error:t=>{throw t}})}dispose(t){t.unsubscribe()}onDestroy(t){t.unsubscribe()}}class Te{createSubscription(t,e){return t.then(e,t=>{throw t})}dispose(t){}onDestroy(t){}}const Se=new Te,ke=new we;class Ie{constructor(t){this._ref=t,this._latestValue=null,this._latestReturnedValue=null,this._subscription=null,this._obj=null,this._strategy=null}ngOnDestroy(){this._subscription&&this._dispose()}transform(t){return this._obj?t!==this._obj?(this._dispose(),this.transform(t)):Object(a["ɵlooseIdentical"])(this._latestValue,this._latestReturnedValue)?this._latestReturnedValue:(this._latestReturnedValue=this._latestValue,a.WrappedValue.wrap(this._latestValue)):(t&&this._subscribe(t),this._latestReturnedValue=this._latestValue,this._latestValue)}_subscribe(t){this._obj=t,this._strategy=this._selectStrategy(t),this._subscription=this._strategy.createSubscription(t,e=>this._updateLatestValue(t,e))}_selectStrategy(t){if(Object(a["ɵisPromise"])(t))return Se;if(Object(a["ɵisObservable"])(t))return ke;throw re(Ie,t)}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._latestReturnedValue=null,this._subscription=null,this._obj=null}_updateLatestValue(t,e){t===this._obj&&(this._latestValue=e,this._ref.markForCheck())}}class Ne{transform(t){if(!t)return t;if("string"!=typeof t)throw re(Ne,t);return t.toLowerCase()}}const Re=/(?:[A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D])\S*/g;class Ae{transform(t){if(!t)return t;if("string"!=typeof t)throw re(Ae,t);return t.replace(Re,t=>t[0].toUpperCase()+t.substr(1).toLowerCase())}}class Ee{transform(t){if(!t)return t;if("string"!=typeof t)throw re(Ee,t);return t.toUpperCase()}}class De{constructor(t){this.locale=t}transform(t,e="mediumDate",n,a){if(null==t||""===t||t!=t)return null;try{return K(t,e,a||this.locale,n)}catch(r){throw re(De,r.message)}}}const Le=/#/g;class qe{constructor(t){this._localization=t}transform(t,e,n){if(null==t)return"";if("object"!=typeof e||null===e)throw re(qe,e);return e[pt(t,Object.keys(e),this._localization,n)].replace(Le,t.toString())}}class je{transform(t,e){if(null==t)return"";if("object"!=typeof e||"string"!=typeof t)throw re(je,e);return e.hasOwnProperty(t)?e[t]:e.hasOwnProperty("other")?e.other:""}}class Fe{transform(t){return JSON.stringify(t,null,2)}}class ze{constructor(t){this.differs=t,this.keyValues=[]}transform(t,e=Ge){if(!t||!(t instanceof Map)&&"object"!=typeof t)return null;this.differ||(this.differ=this.differs.find(t).create());const n=this.differ.diff(t);return n&&(this.keyValues=[],n.forEachItem(t=>{this.keyValues.push({key:t.key,value:t.currentValue})}),this.keyValues.sort(e)),this.keyValues}}function Ge(t,e){const n=t.key,a=e.key;if(n===a)return 0;if(void 0===n)return 1;if(void 0===a)return-1;if(null===n)return 1;if(null===a)return-1;if("string"==typeof n&&"string"==typeof a)return n<a?-1:1;if("number"==typeof n&&"number"==typeof a)return n-a;if("boolean"==typeof n&&"boolean"==typeof a)return n<a?-1:1;const r=String(n),o=String(a);return r==o?0:r<o?-1:1}class Be{constructor(t){this._locale=t}transform(t,e,n){if(He(t))return null;n=n||this._locale;try{return lt(Ue(t),n,e)}catch(a){throw re(Be,a.message)}}}class Ve{constructor(t){this._locale=t}transform(t,e,n){if(He(t))return null;n=n||this._locale;try{return ct(Ue(t),n,e)}catch(a){throw re(Ve,a.message)}}}class Ye{constructor(t){this._locale=t}transform(t,e,n="symbol",a,r){if(He(t))return null;r=r||this._locale,"boolean"==typeof n&&(console&&console.warn&&console.warn('Warning: the currency pipe has been changed in Angular v5. The symbolDisplay option (third parameter) is now a string instead of a boolean. The accepted values are "code", "symbol" or "symbol-narrow".'),n=n?"symbol":"code");let o=e||"USD";"code"!==n&&(o="symbol"===n||"symbol-narrow"===n?z(o,"symbol"===n?"wide":"narrow",r):n);try{return st(Ue(t),r,o,e,a)}catch(i){throw re(Ye,i.message)}}}function He(t){return null==t||""===t||t!=t}function Ue(t){if("string"==typeof t&&!isNaN(Number(t)-parseFloat(t)))return Number(t);if("number"!=typeof t)throw new Error(`${t} is not a number`);return t}class We{transform(t,e,n){if(null==t)return t;if(!this.supports(t))throw re(We,t);return t.slice(e,n)}supports(t){return"string"==typeof t||Array.isArray(t)}}const Ke=[Ie,Ee,Ne,Fe,We,Be,Ve,Ae,Ye,De,qe,je,ze];class $e{}class Ze{}const Je=new a.InjectionToken("DocumentToken"),Xe="browser",Qe="server",tn="browserWorkerApp",en="browserWorkerUi";function nn(t){return t===Xe}function an(t){return t===Qe}function rn(t){return t===tn}function on(t){return t===en}const sn=new a.Version("8.2.14");let cn=(()=>{class t{}return t.ngInjectableDef=Object(a["ɵɵdefineInjectable"])({token:t,providedIn:"root",factory:()=>new ln(Object(a["ɵɵinject"])(Je),window,Object(a["ɵɵinject"])(a.ErrorHandler))}),t})();class ln{constructor(t,e,n){this.document=t,this.window=e,this.errorHandler=n,this.offset=()=>[0,0]}setOffset(t){this.offset=Array.isArray(t)?()=>t:t}getScrollPosition(){return this.supportScrollRestoration()?[this.window.scrollX,this.window.scrollY]:[0,0]}scrollToPosition(t){this.supportScrollRestoration()&&this.window.scrollTo(t[0],t[1])}scrollToAnchor(t){if(this.supportScrollRestoration()){t=this.window.CSS&&this.window.CSS.escape?this.window.CSS.escape(t):t.replace(/(\"|\'\ |:|\.|\[|\]|,|=)/g,"\\$1");try{const e=this.document.querySelector(`#${t}`);if(e)return void this.scrollToElement(e);const n=this.document.querySelector(`[name='${t}']`);if(n)return void this.scrollToElement(n)}catch(e){this.errorHandler.handleError(e)}}}setHistoryScrollRestoration(t){if(this.supportScrollRestoration()){const e=this.window.history;e&&e.scrollRestoration&&(e.scrollRestoration=t)}}scrollToElement(t){const e=t.getBoundingClientRect(),n=e.left+this.window.pageXOffset,a=e.top+this.window.pageYOffset,r=this.offset();this.window.scrollTo(n-r[0],a-r[1])}supportScrollRestoration(){try{return!!this.window&&!!this.window.scrollTo}catch(t){return!1}}}class dn{setOffset(t){}getScrollPosition(){return[0,0]}scrollToPosition(t){}scrollToAnchor(t){}setHistoryScrollRestoration(t){}}},SatO:function(t,e,n){!function(t){"use strict";t.defineLocale("zh-hk",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日dddd HH:mm",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(t,e){return 12===t&&(t=0),"凌晨"===e||"早上"===e||"上午"===e?t:"中午"===e?t>=11?t:t+12:"下午"===e||"晚上"===e?t+12:void 0},meridiem:function(t,e,n){var a=100*t+e;return a<600?"凌晨":a<900?"早上":a<1130?"上午":a<1230?"中午":a<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|週)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"日";case"M":return t+"月";case"w":case"W":return t+"週";default:return t}},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",ss:"%d 秒",m:"1 分鐘",mm:"%d 分鐘",h:"1 小時",hh:"%d 小時",d:"1 天",dd:"%d 天",M:"1 個月",MM:"%d 個月",y:"1 年",yy:"%d 年"}})}(n("wd/R"))},SeVD:function(t,e,n){"use strict";var a=n("ngJS"),r=n("NJ4a"),o=n("Lhse"),i=n("kJWO"),s=n("I55L"),c=n("c2HN"),l=n("XoHu");n.d(e,"a",(function(){return d}));const d=t=>{if(t&&"function"==typeof t[i.a])return d=t,t=>{const e=d[i.a]();if("function"!=typeof e.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return e.subscribe(t)};if(Object(s.a)(t))return Object(a.a)(t);if(Object(c.a)(t))return n=t,t=>(n.then(e=>{t.closed||(t.next(e),t.complete())},e=>t.error(e)).then(null,r.a),t);if(t&&"function"==typeof t[o.a])return e=t,t=>{const n=e[o.a]();for(;;){const e=n.next();if(e.done){t.complete();break}if(t.next(e.value),t.closed)break}return"function"==typeof n.return&&t.add(()=>{n.return&&n.return()}),t};{const e=Object(l.a)(t)?"an invalid object":`'${t}'`;throw new TypeError(`You provided ${e} where a stream was expected.`+" You can provide an Observable, Promise, Array, or Iterable.")}var e,n,d}},SfHT:function(t,e,n){var a=n("mrSG").__decorate,r=n("mrSG").__metadata;Object.defineProperty(e,"__esModule",{value:!0});var o=n("8Y7J");e.ScrollerComponent=function(){function t(t,e,n){this.ngZone=t,this.renderer=n,this.scrollbarV=!1,this.scrollbarH=!1,this.scroll=new o.EventEmitter,this.scrollYPos=0,this.scrollXPos=0,this.prevScrollYPos=0,this.prevScrollXPos=0,this.element=e.nativeElement}return t.prototype.ngOnInit=function(){if(this.scrollbarV||this.scrollbarH){var t=this.renderer;this.parentElement=t.parentNode(t.parentNode(this.element)),this.parentElement.addEventListener("scroll",this.onScrolled.bind(this))}},t.prototype.ngOnDestroy=function(){(this.scrollbarV||this.scrollbarH)&&this.parentElement.removeEventListener("scroll",this.onScrolled.bind(this))},t.prototype.setOffset=function(t){this.parentElement&&(this.parentElement.scrollTop=t)},t.prototype.onScrolled=function(t){var e=this,n=t.currentTarget;requestAnimationFrame((function(){e.scrollYPos=n.scrollTop,e.scrollXPos=n.scrollLeft,e.updateOffset()}))},t.prototype.updateOffset=function(){var t;this.scrollYPos<this.prevScrollYPos?t="down":this.scrollYPos>this.prevScrollYPos&&(t="up"),this.scroll.emit({direction:t,scrollYPos:this.scrollYPos,scrollXPos:this.scrollXPos}),this.prevScrollYPos=this.scrollYPos,this.prevScrollXPos=this.scrollXPos},a([o.Input(),r("design:type",Boolean)],t.prototype,"scrollbarV",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"scrollbarH",void 0),a([o.HostBinding("style.height.px"),o.Input(),r("design:type",Number)],t.prototype,"scrollHeight",void 0),a([o.HostBinding("style.width.px"),o.Input(),r("design:type",Number)],t.prototype,"scrollWidth",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"scroll",void 0),a([o.Component({selector:"datatable-scroller",template:"\n    <ng-content></ng-content>\n  ",host:{class:"datatable-scroll"},changeDetection:o.ChangeDetectionStrategy.OnPush})],t)}()},SfRM:function(t,e,n){var a=n("YESw");t.exports=function(){this.__data__=a?a(null):{},this.size=0}},SgmB:function(t,e,n){"use strict";n.d(e,"a",(function(){return c}));var a=n("IheW"),r=n("LRne"),o=n("5+tZ"),i=n("8Y7J"),s=n("pL04");let c=(()=>{class t{constructor(t){this.http=t}list(){return this.http.get("api/role")}delete(t){return this.http.delete(`api/role/${t}`)}get(t){return this.http.get(`api/role/${t}`)}create(t){return this.http.post("api/role",t)}clone(t,e){let n=new a.h;return n=n.append("new_name",e),this.http.post(`api/role/${t}/clone`,null,{params:n})}update(t){return this.http.put(`api/role/${t.name}`,t)}exists(t){return this.list().pipe(Object(o.a)(e=>{const n=e.some(e=>e.name===t);return Object(r.a)(n)}))}}return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t(i["ɵɵinject"](a.c))},token:t,providedIn:s.a}),t})()},SjWX:function(t,e,n){"use strict";var a=this&&this.__spreadArrays||function(){for(var t=0,e=0,n=arguments.length;e<n;e++)t+=arguments[e].length;var a=Array(t),r=0;for(e=0;e<n;e++)for(var o=arguments[e],i=0,s=o.length;i<s;i++,r++)a[r]=o[i];return a};Object.defineProperty(e,"__esModule",{value:!0});var r=function(t,e,n){this.name=t,this.version=e,this.os=n};e.BrowserInfo=r;var o=function(t){this.version=t,this.name="node",this.os=process.platform};e.NodeInfo=o;var i=function(){this.bot=!0,this.name="bot",this.version=null,this.os=null};e.BotInfo=i;var s=[["aol",/AOLShield\/([0-9\._]+)/],["edge",/Edge\/([0-9\._]+)/],["yandexbrowser",/YaBrowser\/([0-9\._]+)/],["vivaldi",/Vivaldi\/([0-9\.]+)/],["kakaotalk",/KAKAOTALK\s([0-9\.]+)/],["samsung",/SamsungBrowser\/([0-9\.]+)/],["silk",/\bSilk\/([0-9._-]+)\b/],["miui",/MiuiBrowser\/([0-9\.]+)$/],["beaker",/BeakerBrowser\/([0-9\.]+)/],["edge-chromium",/Edg\/([0-9\.]+)/],["chromium-webview",/(?!Chrom.*OPR)wv\).*Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["chrome",/(?!Chrom.*OPR)Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["phantomjs",/PhantomJS\/([0-9\.]+)(:?\s|$)/],["crios",/CriOS\/([0-9\.]+)(:?\s|$)/],["firefox",/Firefox\/([0-9\.]+)(?:\s|$)/],["fxios",/FxiOS\/([0-9\.]+)/],["opera-mini",/Opera Mini.*Version\/([0-9\.]+)/],["opera",/Opera\/([0-9\.]+)(?:\s|$)/],["opera",/OPR\/([0-9\.]+)(:?\s|$)/],["ie",/Trident\/7\.0.*rv\:([0-9\.]+).*\).*Gecko$/],["ie",/MSIE\s([0-9\.]+);.*Trident\/[4-7].0/],["ie",/MSIE\s(7\.0)/],["bb10",/BB10;\sTouch.*Version\/([0-9\.]+)/],["android",/Android\s([0-9\.]+)/],["ios",/Version\/([0-9\._]+).*Mobile.*Safari.*/],["safari",/Version\/([0-9\._]+).*Safari/],["facebook",/FBAV\/([0-9\.]+)/],["instagram",/Instagram\s([0-9\.]+)/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Mobile/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Gecko\)$/],["searchbot",/alexa|bot|crawl(er|ing)|facebookexternalhit|feedburner|google web preview|nagios|postrank|pingdom|slurp|spider|yahoo!|yandex/]],c=[["iOS",/iP(hone|od|ad)/],["Android OS",/Android/],["BlackBerry OS",/BlackBerry|BB10/],["Windows Mobile",/IEMobile/],["Amazon OS",/Kindle/],["Windows 3.11",/Win16/],["Windows 95",/(Windows 95)|(Win95)|(Windows_95)/],["Windows 98",/(Windows 98)|(Win98)/],["Windows 2000",/(Windows NT 5.0)|(Windows 2000)/],["Windows XP",/(Windows NT 5.1)|(Windows XP)/],["Windows Server 2003",/(Windows NT 5.2)/],["Windows Vista",/(Windows NT 6.0)/],["Windows 7",/(Windows NT 6.1)/],["Windows 8",/(Windows NT 6.2)/],["Windows 8.1",/(Windows NT 6.3)/],["Windows 10",/(Windows NT 10.0)/],["Windows ME",/Windows ME/],["Open BSD",/OpenBSD/],["Sun OS",/SunOS/],["Chrome OS",/CrOS/],["Linux",/(Linux)|(X11)/],["Mac OS",/(Mac_PowerPC)|(Macintosh)/],["QNX",/QNX/],["BeOS",/BeOS/],["OS/2",/OS\/2/],["Search Bot",/(nuhk)|(Googlebot)|(Yammybot)|(Openbot)|(Slurp)|(MSNBot)|(Ask Jeeves\/Teoma)|(ia_archiver)/]];function l(t){var e=""!==t&&s.reduce((function(e,n){var a=n[0];if(e)return e;var r=n[1].exec(t);return!!r&&[a,r]}),!1);if(!e)return null;var n=e[0],o=e[1];if("searchbot"===n)return new i;var c=o[1]&&o[1].split(/[._]/).slice(0,3);return c?c.length<3&&(c=a(c,function(t){for(var e=[],n=0;n<t;n++)e.push("0");return e}(3-c.length))):c=[],new r(n,c.join("."),d(t))}function d(t){for(var e=0,n=c.length;e<n;e++){var a=c[e],r=a[0];if(a[1].test(t))return r}return null}function u(){return"undefined"!=typeof process&&process.version?new o(process.version.slice(1)):null}e.detect=function(t){return t?l(t):"undefined"!=typeof navigator?l(navigator.userAgent):u()},e.parseUserAgent=l,e.detectOS=d,e.getNodeVersion=u},SpAZ:function(t,e,n){"use strict";function a(t){return t}n.d(e,"a",(function(){return a}))},SxV6:function(t,e,n){"use strict";n.d(e,"a",(function(){return l}));var a=n("sVev"),r=n("pLZG"),o=n("IzEk"),i=n("xbPD"),s=n("XDbj"),c=n("SpAZ");function l(t,e){const n=arguments.length>=2;return l=>l.pipe(t?Object(r.a)((e,n)=>t(e,n,l)):c.a,Object(o.a)(1),n?Object(i.a)(e):Object(s.a)(()=>new a.a))}},Sxd8:function(t,e,n){var a=n("ZCgT");t.exports=function(t){var e=a(t),n=e%1;return e==e?n?e-n:e:0}},T1AV:function(t,e,n){var a=n("t2Dn"),r=n("5Tg0"),o=n("yP5f"),i=n("Q1l4"),s=n("+iFO"),c=n("03A+"),l=n("Z0cm"),d=n("3L66"),u=n("DSRE"),g=n("lSCD"),f=n("GoyQ"),p=n("YO3V"),m=n("c6wG"),h=n("itsj"),b=n("jeLo");t.exports=function(t,e,n,y,_,O,v){var C=h(t,n),P=h(e,n),M=v.get(P);if(M)a(t,n,M);else{var x=O?O(C,P,n+"",t,e,v):void 0,w=void 0===x;if(w){var T=l(P),S=!T&&u(P),k=!T&&!S&&m(P);x=P,T||S||k?l(C)?x=C:d(C)?x=i(C):S?(w=!1,x=r(P,!0)):k?(w=!1,x=o(P,!0)):x=[]:p(P)||c(P)?(x=C,c(C)?x=b(C):f(C)&&!g(C)||(x=s(P))):w=!1}w&&(v.set(P,x),_(x,P,y,O,v),v.delete(P)),a(t,n,x)}}},TJUb:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("LvDl");class r{transform(t,e){return a.isPlainObject(e)?a.get(e,t,t):t}}},TNUL:function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var a=n("8Y7J"),r=n("f95s"),o=function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},i=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},s=function(){function t(){}return o([Object(a.Input)(),i("design:type",r.a)],t.prototype,"node",void 0),o([Object(a.Input)(),i("design:type",Number)],t.prototype,"index",void 0),o([Object(a.Input)(),i("design:type",Object)],t.prototype,"templates",void 0),o([Object(a.Component)({selector:"TreeNode, tree-node",encapsulation:a.ViewEncapsulation.None,styles:[],template:'\n    <ng-container *treeMobxAutorun="{ dontDetach: true }">\n      <div\n        *ngIf="!templates.treeNodeFullTemplate"\n        [class]="node.getClass()"\n        [class.tree-node]="true"\n        [class.tree-node-expanded]="node.isExpanded && node.hasChildren"\n        [class.tree-node-collapsed]="node.isCollapsed && node.hasChildren"\n        [class.tree-node-leaf]="node.isLeaf"\n        [class.tree-node-active]="node.isActive"\n        [class.tree-node-focused]="node.isFocused"\n      >\n        <tree-node-drop-slot\n          *ngIf="index === 0"\n          [dropIndex]="node.index"\n          [node]="node.parent"\n        ></tree-node-drop-slot>\n\n        <tree-node-wrapper\n          [node]="node"\n          [index]="index"\n          [templates]="templates"\n        ></tree-node-wrapper>\n\n        <tree-node-children\n          [node]="node"\n          [templates]="templates"\n        ></tree-node-children>\n        <tree-node-drop-slot\n          [dropIndex]="node.index + 1"\n          [node]="node.parent"\n        ></tree-node-drop-slot>\n      </div>\n      <ng-container\n        [ngTemplateOutlet]="templates.treeNodeFullTemplate"\n        [ngTemplateOutletContext]="{\n          $implicit: node,\n          node: node,\n          index: index,\n          templates: templates\n        }"\n      >\n      </ng-container>\n    </ng-container>\n  '})],t)}()},TWQb:function(t,e,n){var a=n("/GqU"),r=n("UMSQ"),o=n("I8vh"),i=function(t){return function(e,n,i){var s,c=a(e),l=r(c.length),d=o(i,l);if(t&&n!=n){for(;l>d;)if((s=c[d++])!=s)return!0}else for(;l>d;d++)if((t||d in c)&&c[d]===n)return t||d||0;return!t&&-1}};t.exports={includes:i(!0),indexOf:i(!1)}},TYy9:function(t,e,n){var a=n("XGnz");t.exports=function(t){return null!=t&&t.length?a(t,1):[]}},TYzs:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{transform(t){const e=parseInt(t,10);return isNaN(e)?t:t+(1===Math.floor(e/10)?"th":e%10==1?"st":e%10==2?"nd":e%10==3?"rd":"th")}}},TeQF:function(t,e,n){"use strict";var a=n("I+eb"),r=n("tycR").filter,o=n("Hd5f"),i=n("rkAj"),s=o("filter"),c=i("filter");a({target:"Array",proto:!0,forced:!s||!c},{filter:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}})},UB5X:function(t,e,n){var a=n("NykK"),r=n("ExA7");t.exports=function(t){return"number"==typeof t||r(t)&&"[object Number]"==a(t)}},UDhR:function(t,e,n){!function(t){"use strict";t.defineLocale("id",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des".split("_"),weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|siang|sore|malam/,meridiemHour:function(t,e){return 12===t&&(t=0),"pagi"===e?t:"siang"===e?t>=11?t:t+12:"sore"===e||"malam"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"pagi":t<15?"siang":t<19?"sore":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",ss:"%d detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}(n("wd/R"))},UMSQ:function(t,e,n){var a=n("ppGB"),r=Math.min;t.exports=function(t){return t>0?r(a(t),9007199254740991):0}},"UNi/":function(t,e){t.exports=function(t,e){for(var n=-1,a=Array(t);++n<t;)a[n]=e(n);return a}},UReH:function(t,e,n){var a=n("mrSG").__decorate;Object.defineProperty(e,"__esModule",{value:!0});var r=n("8Y7J");e.DatatableRowDetailTemplateDirective=function(){return a([r.Directive({selector:"[ngx-datatable-row-detail-template]"})],(function(t){this.template=t}))}()},USCx:function(t,e,n){!function(t){"use strict";t.defineLocale("ga",{months:["Eanáir","Feabhra","Márta","Aibreán","Bealtaine","Méitheamh","Iúil","Lúnasa","Meán Fómhair","Deaireadh Fómhair","Samhain","Nollaig"],monthsShort:["Eaná","Feab","Márt","Aibr","Beal","Méit","Iúil","Lúna","Meán","Deai","Samh","Noll"],monthsParseExact:!0,weekdays:["Dé Domhnaigh","Dé Luain","Dé Máirt","Dé Céadaoin","Déardaoin","Dé hAoine","Dé Satharn"],weekdaysShort:["Dom","Lua","Mái","Céa","Déa","hAo","Sat"],weekdaysMin:["Do","Lu","Má","Ce","Dé","hA","Sa"],longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Inniu ag] LT",nextDay:"[Amárach ag] LT",nextWeek:"dddd [ag] LT",lastDay:"[Inné aig] LT",lastWeek:"dddd [seo caite] [ag] LT",sameElse:"L"},relativeTime:{future:"i %s",past:"%s ó shin",s:"cúpla soicind",ss:"%d soicind",m:"nóiméad",mm:"%d nóiméad",h:"uair an chloig",hh:"%d uair an chloig",d:"lá",dd:"%d lá",M:"mí",MM:"%d mí",y:"bliain",yy:"%d bliain"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(t){return t+(1===t?"d":t%10==2?"na":"mh")},week:{dow:1,doy:4}})}(n("wd/R"))},UTVS:function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},UXun:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("jtHE");function r(t,e,n){let r;return r=t&&"object"==typeof t?t:{bufferSize:t,windowTime:e,refCount:!1,scheduler:n},t=>t.lift(function({bufferSize:t=Number.POSITIVE_INFINITY,windowTime:e=Number.POSITIVE_INFINITY,refCount:n,scheduler:r}){let o,i,s=0,c=!1,l=!1;return function(d){s++,o&&!c||(c=!1,o=new a.a(t,e,r),i=d.subscribe({next(t){o.next(t)},error(t){c=!0,o.error(t)},complete(){l=!0,i=void 0,o.complete()}}));const u=o.subscribe(this);this.add(()=>{s--,u.unsubscribe(),i&&!l&&n&&0===s&&(i.unsubscribe(),i=void 0,o=void 0)})}}(r))}},UfWW:function(t,e,n){var a=n("KwMD"),r=n("ut/Y"),o=n("Sxd8"),i=Math.max;t.exports=function(t,e,n){var s=null==t?0:t.length;if(!s)return-1;var c=null==n?0:o(n);return c<0&&(c=i(s+c,0)),a(t,r(e,3),c)}},UpQW:function(t,e,n){!function(t){"use strict";var e=["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر"],n=["اتوار","پیر","منگل","بدھ","جمعرات","جمعہ","ہفتہ"];t.defineLocale("ur",{months:e,monthsShort:e,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(t){return"شام"===t},meridiem:function(t,e,n){return t<12?"صبح":"شام"},calendar:{sameDay:"[آج بوقت] LT",nextDay:"[کل بوقت] LT",nextWeek:"dddd [بوقت] LT",lastDay:"[گذشتہ روز بوقت] LT",lastWeek:"[گذشتہ] dddd [بوقت] LT",sameElse:"L"},relativeTime:{future:"%s بعد",past:"%s قبل",s:"چند سیکنڈ",ss:"%d سیکنڈ",m:"ایک منٹ",mm:"%d منٹ",h:"ایک گھنٹہ",hh:"%d گھنٹے",d:"ایک دن",dd:"%d دن",M:"ایک ماہ",MM:"%d ماہ",y:"ایک سال",yy:"%d سال"},preparse:function(t){return t.replace(/،/g,",")},postformat:function(t){return t.replace(/,/g,"،")},week:{dow:1,doy:4}})}(n("wd/R"))},Ur1D:function(t,e,n){!function(t){"use strict";t.defineLocale("ss",{months:"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split("_"),monthsShort:"Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo".split("_"),weekdays:"Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo".split("_"),weekdaysShort:"Lis_Umb_Lsb_Les_Lsi_Lsh_Umg".split("_"),weekdaysMin:"Li_Us_Lb_Lt_Ls_Lh_Ug".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Namuhla nga] LT",nextDay:"[Kusasa nga] LT",nextWeek:"dddd [nga] LT",lastDay:"[Itolo nga] LT",lastWeek:"dddd [leliphelile] [nga] LT",sameElse:"L"},relativeTime:{future:"nga %s",past:"wenteka nga %s",s:"emizuzwana lomcane",ss:"%d mzuzwana",m:"umzuzu",mm:"%d emizuzu",h:"lihora",hh:"%d emahora",d:"lilanga",dd:"%d emalanga",M:"inyanga",MM:"%d tinyanga",y:"umnyaka",yy:"%d iminyaka"},meridiemParse:/ekuseni|emini|entsambama|ebusuku/,meridiem:function(t,e,n){return t<11?"ekuseni":t<15?"emini":t<19?"entsambama":"ebusuku"},meridiemHour:function(t,e){return 12===t&&(t=0),"ekuseni"===e?t:"emini"===e?t>=11?t:t+12:"entsambama"===e||"ebusuku"===e?0===t?0:t+12:void 0},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:"%d",week:{dow:1,doy:4}})}(n("wd/R"))},UxlC:function(t,e,n){"use strict";var a=n("14Sl"),r=n("glrk"),o=n("ewvW"),i=n("UMSQ"),s=n("ppGB"),c=n("HYAF"),l=n("iqWW"),d=n("FMNM"),u=Math.max,g=Math.min,f=Math.floor,p=/\$([$&'`]|\d\d?|<[^>]*>)/g,m=/\$([$&'`]|\d\d?)/g;a("replace",2,(function(t,e,n,a){var h=a.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,b=a.REPLACE_KEEPS_$0,y=h?"$":"$0";return[function(n,a){var r=c(this),o=null==n?void 0:n[t];return void 0!==o?o.call(n,r,a):e.call(String(r),n,a)},function(t,a){if(!h&&b||"string"==typeof a&&-1===a.indexOf(y)){var o=n(e,t,this,a);if(o.done)return o.value}var c=r(t),f=String(this),p="function"==typeof a;p||(a=String(a));var m=c.global;if(m){var O=c.unicode;c.lastIndex=0}for(var v=[];;){var C=d(c,f);if(null===C)break;if(v.push(C),!m)break;""===String(C[0])&&(c.lastIndex=l(f,i(c.lastIndex),O))}for(var P,M="",x=0,w=0;w<v.length;w++){C=v[w];for(var T=String(C[0]),S=u(g(s(C.index),f.length),0),k=[],I=1;I<C.length;I++)k.push(void 0===(P=C[I])?P:String(P));var N=C.groups;if(p){var R=[T].concat(k,S,f);void 0!==N&&R.push(N);var A=String(a.apply(void 0,R))}else A=_(T,f,S,k,N,a);S>=x&&(M+=f.slice(x,S)+A,x=S+T.length)}return M+f.slice(x)}];function _(t,n,a,r,i,s){var c=a+t.length,l=r.length,d=m;return void 0!==i&&(i=o(i),d=p),e.call(s,d,(function(e,o){var s;switch(o.charAt(0)){case"$":return"$";case"&":return t;case"`":return n.slice(0,a);case"'":return n.slice(c);case"<":s=i[o.slice(1,-1)];break;default:var d=+o;if(0===d)return e;if(d>l){var u=f(d/10);return 0===u?e:u<=l?void 0===r[u-1]?o.charAt(1):r[u-1]+o.charAt(1):e}s=r[d-1]}return void 0===s?"":s}))}}))},"V/fk":function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{}},V2x9:function(t,e,n){!function(t){"use strict";t.defineLocale("tet",{months:"Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu".split("_"),weekdaysShort:"Dom_Seg_Ters_Kua_Kint_Sest_Sab".split("_"),weekdaysMin:"Do_Seg_Te_Ku_Ki_Ses_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Ohin iha] LT",nextDay:"[Aban iha] LT",nextWeek:"dddd [iha] LT",lastDay:"[Horiseik iha] LT",lastWeek:"dddd [semana kotuk] [iha] LT",sameElse:"L"},relativeTime:{future:"iha %s",past:"%s liuba",s:"minutu balun",ss:"minutu %d",m:"minutu ida",mm:"minutu %d",h:"oras ida",hh:"oras %d",d:"loron ida",dd:"loron %d",M:"fulan ida",MM:"fulan %d",y:"tinan ida",yy:"tinan %d"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})}(n("wd/R"))},V3my:function(t,e,n){"use strict";var a=n("s7LF"),r=n("LvDl"),o=n("cp0P"),i=(n("DSvg"),n("SgmB"),n("20UP"),n("Mxhz"),n("OLbh")),s=n("DNAf"),c=(n("sne2"),n("oxzT")),l=n("mtw6"),d=(n("2EZI"),n("1Ni5")),u=n("oMSZ"),g=(n("aexS"),n("9nlD"),n("1nQr"),function(t){return t.editing="editing",t}({}));class f{}n.d(e,"a",(function(){return p}));class p{constructor(t,e,n,a,r,o,i,l,d,u,f,p,m){this.authService=t,this.authStorageService=e,this.route=n,this.router=a,this.modalService=r,this.roleService=o,this.userService=i,this.notificationService=l,this.i18n=d,this.actionLabels=u,this.passwordPolicyService=f,this.formBuilder=p,this.settingsService=m,this.userFormMode=g,this.messages=new s.a({empty:this.i18n("There are no roles.")},this.i18n),this.passwordPolicyHelpText="",this.icons=c.a,this.bsConfig={dateInputFormat:"YYYY-MM-DD",containerClass:"theme-default"},this.resource=this.i18n("user"),this.createForm(),this.messages=new s.a({empty:this.i18n("There are no roles.")},this.i18n)}createForm(){this.passwordPolicyService.getHelpText().subscribe(t=>{this.passwordPolicyHelpText=t}),this.userForm=this.formBuilder.group({username:["",[a.B.required]],name:[""],password:["",[],[d.a.passwordPolicy(this.userService,()=>this.userForm.getValue("username"),(t,e,n)=>{this.passwordStrengthLevelClass=this.passwordPolicyService.mapCreditsToCssClass(e),this.passwordValuation=r.defaultTo(n,"")})]],confirmpassword:[""],pwdExpirationDate:[""],email:["",[d.a.email]],roles:[[]],enabled:[!0,[a.B.required]],pwdUpdateRequired:[!0]},{validators:[d.a.match("password","confirmpassword")]})}ngOnInit(){this.router.url.startsWith("/user-management/users/edit")?(this.mode=this.userFormMode.editing,this.action=this.actionLabels.EDIT):this.action=this.actionLabels.CREATE,this.minDate=new Date;const t=[this.roleService.list(),this.settingsService.getStandardSettings()];Object(o.a)(t).subscribe(t=>{if(this.allRoles=r.map(t[0],t=>(t.enabled=!0,t)),this.pwdExpirationSettings=new u.a(t[1]),this.mode===this.userFormMode.editing)this.initEdit();else if(this.pwdExpirationSettings.pwdExpirationSpan>0){const t=this.userForm.get("pwdExpirationDate"),e=new Date;e.setDate(this.minDate.getDate()+this.pwdExpirationSettings.pwdExpirationSpan),t.setValue(e),t.setValidators([a.B.required])}})}initEdit(){this.disableForEdit(),this.route.params.subscribe(t=>{this.userService.get(t.username).subscribe(t=>{this.response=r.cloneDeep(t),this.setResponse(t)})})}disableForEdit(){this.userForm.get("username").disable()}setResponse(t){["username","name","email","roles","enabled","pwdUpdateRequired"].forEach(e=>this.userForm.get(e).setValue(t[e]));const e=t.pwdExpirationDate;e&&this.userForm.get("pwdExpirationDate").setValue(new Date(1e3*e))}getRequest(){const t=new f;["username","password","name","email","roles","enabled","pwdUpdateRequired"].forEach(e=>t[e]=this.userForm.get(e).value);const e=this.userForm.get("pwdExpirationDate").value;return e&&(this.mode===this.userFormMode.editing&&this.response.pwdExpirationDate===Number(e)/1e3||e.setHours(23,59,59),t.pwdExpirationDate=Number(e)/1e3),t}createAction(){const t=this.getRequest();this.userService.create(t).subscribe(()=>{this.notificationService.show(l.a.success,this.i18n('Created user "{{username}}"',{username:t.username})),this.router.navigate(["/user-management/users"])},()=>{this.userForm.setErrors({cdSubmitButton:!0})})}editAction(){if(this.isUserRemovingNeededRolePermissions()){const t={titleText:this.i18n("Update user"),buttonText:this.i18n("Continue"),bodyTpl:this.removeSelfUserReadUpdatePermissionTpl,onSubmit:()=>{this.modalRef.hide(),this.doEditAction()},onCancel:()=>{this.userForm.setErrors({cdSubmitButton:!0}),this.userForm.get("roles").reset(this.userForm.get("roles").value)}};this.modalRef=this.modalService.show(i.a,{initialState:t})}else this.doEditAction()}isCurrentUser(){return this.authStorageService.getUsername()===this.userForm.getValue("username")}isUserChangingRoles(){return this.isCurrentUser()&&this.response&&!r.isEqual(this.response.roles,this.userForm.getValue("roles"))}isUserRemovingNeededRolePermissions(){return this.isCurrentUser()&&!this.hasUserReadUpdatePermissions(this.userForm.getValue("roles"))}hasUserReadUpdatePermissions(t=[]){for(const e of this.allRoles)if(-1!==t.indexOf(e.name)&&e.scopes_permissions.user){const t=e.scopes_permissions.user;return["read","update"].every(e=>-1!==t.indexOf(e))}return!1}doEditAction(){const t=this.getRequest();this.userService.update(t).subscribe(()=>{this.isUserChangingRoles()?this.authService.logout(()=>{this.notificationService.show(l.a.info,this.i18n("You were automatically logged out because your roles have been changed."))}):(this.notificationService.show(l.a.success,this.i18n('Updated user "{{username}}"',{username:t.username})),this.router.navigate(["/user-management/users"]))},()=>{this.userForm.setErrors({cdSubmitButton:!0})})}clearExpirationDate(){this.userForm.get("pwdExpirationDate").setValue(void 0)}submit(){this.mode===this.userFormMode.editing?this.editAction():this.createAction()}}},V5SL:function(t,e,n){"use strict";n.r(e),e.default='<xliff xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 http://docs.oasis-open.org/xliff/v1.2/os/xliff-core-1.2-strict.xsd" xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">\n  <file original="ng2.template" datatype="plaintext" source-language="en-US" target-language="fr-FR">\n    <body>\n      <trans-unit id="319e0745bcbc132451569294fa2fa21bf10f555a" datatype="html">\n        <source>Toggle navigation</source>\n        <target>Activer/Désactiver la navigation</target>\n      </trans-unit>\n      <trans-unit id="f65253954b66e929a8b4d5ecaf61f9129f8cec64" datatype="html">\n        <source>Dashboard</source>\n        <target>Tableau de bord</target>\n      </trans-unit>\n      <trans-unit id="f4d1dd59b039ad818d9da7e29a773e10e41d9821" datatype="html">\n        <source>Cluster</source>\n        <target>Grappe</target>\n      </trans-unit>\n      <trans-unit id="099b441d49333b3c6d30b36dc0a4763e64c78920" datatype="html">\n        <source>Hosts</source>\n        <target>Serveurs</target>\n      </trans-unit>\n      <trans-unit id="2cc3ecb16e348fcf2f2fbfd2f997d4d22f37475b" datatype="html">\n        <source>Inventory</source>\n        <target>Inventory</target>\n      </trans-unit>\n      <trans-unit id="624f596cc3320f5e0a0d7c7346c364e5af9bdd8c" datatype="html">\n        <source>Monitors</source>\n        <target>Moniteurs</target>\n      </trans-unit>\n      <trans-unit id="419d940613972cc3fae9c8ea0a4306dbf80616e5" datatype="html">\n        <source>Services</source>\n        <target>Services</target>\n      </trans-unit>\n      <trans-unit id="1a9183778f2c6473d7ccb080f651caa01faaf70c" datatype="html">\n        <source>OSDs</source>\n        <target>OSD</target>\n      </trans-unit>\n      <trans-unit id="4a41f824a35ba01d5bd7be61aa06b3e8145209d0" datatype="html">\n        <source>Configuration</source>\n        <target>Configuration</target>\n      </trans-unit>\n      <trans-unit id="8c95898abff46bfac3ed6eb2afef74597e60b15c" datatype="html">\n        <source>CRUSH map</source>\n        <target>Carte CRUSH</target>\n      </trans-unit>\n      <trans-unit id="33da4dbeb076159510801ea764a218fd341269d2" datatype="html">\n        <source>Manager modules</source>\n        <target>Modules Manager</target>\n      </trans-unit>\n      <trans-unit id="eb3d5aefff38a814b76da74371cbf02c0789a1ef" datatype="html">\n        <source>Logs</source>\n        <target>Journaux</target>\n      </trans-unit>\n      <trans-unit id="17fc3efe5f9fa4e0289c900cb6202265215a1a27" datatype="html">\n        <source>Monitoring</source>\n        <target>Monitoring</target>\n      </trans-unit>\n      <trans-unit id="92899fa68e8ca108912163ff58edc8540e453787" datatype="html">\n        <source>Pools</source>\n        <target>Réserves</target>\n      </trans-unit>\n      <trans-unit id="7f5d0c10614e8a34f0e2dad33a0568277c50cf69" datatype="html">\n        <source>Block</source>\n        <target>Bloc</target>\n      </trans-unit>\n      <trans-unit id="b73f7f5060fb22a1e9ec462b1bb02493fa3ab866" datatype="html">\n        <source>Images</source>\n        <target>Images</target>\n      </trans-unit>\n      <trans-unit id="3c2562ba992127203dcfd014010b03cb7b8113c6" datatype="html">\n        <source>Mirroring</source>\n        <target>Mise en miroir</target>\n      </trans-unit>\n      <trans-unit id="811c241d56601b91ef26735b770e64428089b950" datatype="html">\n        <source>iSCSI</source>\n        <target>iSCSI</target>\n      </trans-unit>\n      <trans-unit id="a24eabd99ea5af20f5f94c4484649cd30370042b" datatype="html">\n        <source>NFS</source>\n        <target>NFS</target>\n      </trans-unit>\n      <trans-unit id="a4eff72d97b7ced051398d581f10968218057ddc" datatype="html">\n        <source>Filesystems</source>\n        <target>Systèmes de fichiers</target>\n      </trans-unit>\n      <trans-unit id="2190548d236ca5f7bc7ab2bca334b860c5ff2ad4" datatype="html">\n        <source>Object Gateway</source>\n        <target>Object Gateway</target>\n      </trans-unit>\n      <trans-unit id="9e24f9e2d42104ffc01599db4d566d1cc518f9e6" datatype="html">\n        <source>Daemons</source>\n        <target>Daemons</target>\n      </trans-unit>\n      <trans-unit id="4d13a9cd5ed3dcee0eab22cb25198d43886942be" datatype="html">\n        <source>Users</source>\n        <target>Utilisateurs</target>\n      </trans-unit>\n      <trans-unit id="9515520496da83179d8b08132f00f575512a1f40" datatype="html">\n        <source>Buckets</source>\n        <target>Compartiments</target>\n      </trans-unit>\n      <trans-unit id="797f8214e8148f4bf0d244baaa7341706b419549" datatype="html">\n        <source>Retrieving data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>. Please wait...\n        </source>\n        <target>Retrieving data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>. Please wait...\n        </target>\n      </trans-unit>\n      <trans-unit id="5a870dc77b9f6f33ee671ea2d856021276933339" datatype="html">\n        <source>Displaying previously cached data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>\n  for \n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n        </source>\n        <target>Displaying previously cached data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>\n  for \n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="ae580202919844531361ba2308287226ff74a584" datatype="html">\n        <source>Could not load data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n  Please check the cluster health.\n        </source>\n        <target>Could not load data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n  Please check the cluster health.\n        </target>\n      </trans-unit>\n      <trans-unit id="7e52e9143145e1db5146258de81eae018a407b31" datatype="html">\n        <source>Clear notifications</source>\n        <target>Clear notifications</target>\n      </trans-unit>\n      <trans-unit id="b0b07bb6b7ff21ede439dd04eaf8872d1ecb84d8" datatype="html">\n        <source>Remove notification</source>\n        <target>Remove notification</target>\n      </trans-unit>\n      <trans-unit id="e17a1d75189da843f541f7764f188f2b19a97df2" datatype="html">\n        <source>Duration:</source>\n        <target>Duration:</target>\n      </trans-unit>\n      <trans-unit id="0d4b37c6675c5b436a54c43d6716eec835e1aa7f" datatype="html">\n        <source>There are no notifications.</source>\n        <target>There are no notifications.</target>\n      </trans-unit>\n      <trans-unit id="0a23e992f6c6e169a38b2b7338b4e5e803b52e0d" datatype="html">\n        <source>Tasks and Notifications</source>\n        <target>Tasks and Notifications</target>\n      </trans-unit>\n      <trans-unit id="3fb5709e10166cbc85970cbff103db227dbeb813" datatype="html">\n        <source>Select a Language</source>\n        <target>Sélectionner une langue</target>\n      </trans-unit>\n      <trans-unit id="c5109325fb160b543f71a51e7511c00575057431" datatype="html">\n        <source>Loading panel data...</source>\n        <target>Chargement des données du panneau...</target>\n      </trans-unit>\n      <trans-unit id="8ca12411f890ab8b0a9216418e2b8f5ea7d2441a" datatype="html">\n        <source>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the monitoring functionality.\n        </source>\n        <target>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the monitoring functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="160a9e80dc089792df42e2400b1e81b9e7025aa7" datatype="html">\n        <source>Grafana Dashboard doesn\'t exist. Please refer to\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  add dashboards to Grafana.\n        </source>\n        <target>Grafana Dashboard doesn\'t exist. Please refer to\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  add dashboards to Grafana.\n        </target>\n      </trans-unit>\n      <trans-unit id="4e11830040bd64804a0555de76f291d5832772d4" datatype="html">\n        <source>Grafana Time Picker</source>\n        <target>Sélecteur d\'heure Grafana</target>\n      </trans-unit>\n      <trans-unit id="238c1ba845dd7330e8088165275919a1debf1ca3" datatype="html">\n        <source>Reset Settings</source>\n        <target>Réinitialiser les paramètres</target>\n      </trans-unit>\n      <trans-unit id="c8d1785038d461ec66b5799db21864182b35900a" datatype="html">\n        <source>Refresh</source>\n        <target>Refresh</target>\n      </trans-unit>\n      <trans-unit id="6c947210e2d162b6225083d18820ab602f58cd2d" datatype="html">\n        <source>Remove the custom configuration value. The default configuration will be inherited and used instead.</source>\n        <target>Remove the custom configuration value. The default configuration will be inherited and used instead.</target>\n      </trans-unit>\n      <trans-unit id="454ee9cb60b00446a8fb147fd2cc5eb836320586" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ option.maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ option.maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="7fc8a22825131e028336f60ef909ccbd96059703" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ option.minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ option.minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="cda31dbd724cf5f4fa7a4274d9120651490c8a8c" datatype="html">\n        <source>Back</source>\n        <target>Retour</target>\n      </trans-unit>\n      <trans-unit id="9ce641535be1ffa106c87724ba0637facaef5f61" datatype="html">\n        <source>Your password will expire in \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>less than 1\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day. Click\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.\n        </source>\n        <target>Your password will expire in \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>less than 1\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day. Click\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.\n        </target>\n      </trans-unit>\n      <trans-unit id="c2f34088c155e40ffb23770a465a65868ce772b2" datatype="html">\n        <source>Your password will expire in \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ expirationDays }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day(s). Click\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.\n        </source>\n        <target>Your password will expire in \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ expirationDays }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day(s). Click\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.\n        </target>\n      </trans-unit>\n      <trans-unit id="9b516f972c744779257310b73f6e97438b726707" datatype="html">\n        <source>Orchestrator is not available. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the functionality.\n        </source>\n        <target>Orchestrator is not available. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="012741ee52b3c050e4a977c37cc2334f7974f141" datatype="html">\n        <source>Failed to load data.</source>\n        <target>Échec du chargement des données.</target>\n      </trans-unit>\n      <trans-unit id="1e5e23363e949f7dcbaf034bdb141a561132a10e" datatype="html">\n        <source>Clear filters</source>\n        <target>Clear filters</target>\n      </trans-unit>\n      <trans-unit id="80cc9a12d4bf6fe454ed94b379eeaf915f920bb7" datatype="html">\n        <source>selected</source>\n        <target>sélectionné(e)(s)</target>\n        <note>X selected</note>\n      </trans-unit>\n      <trans-unit id="0cb77511a9a148e05b9adf36cc07269956fbb29d" datatype="html">\n        <source>found</source>\n        <target>trouvé(e)(s)</target>\n        <note>X found</note>\n      </trans-unit>\n      <trans-unit id="79347388740c50b7ac97e144c2494bb62912f312" datatype="html">\n        <source>total</source>\n        <target>total</target>\n        <note>X total</note>\n      </trans-unit>\n      <trans-unit id="cff1428d10d59d14e45edec3c735a27b5482db59" datatype="html">\n        <source>Name</source>\n        <target>Nom</target>\n      </trans-unit>\n      <trans-unit id="eec715de352a6b114713b30b640d319fa78207a0" datatype="html">\n        <source>Description</source>\n        <target>Description</target>\n      </trans-unit>\n      <trans-unit id="4ad112ce9bcd55dfd137792a86afe1b5a5b13cf8" datatype="html">\n        <source>Long description</source>\n        <target>Description longue</target>\n      </trans-unit>\n      <trans-unit id="ff7cee38a2259526c519f878e71b964f41db4348" datatype="html">\n        <source>Default</source>\n        <target>Valeur par défaut</target>\n      </trans-unit>\n      <trans-unit id="33e1c1d9fc05ca3f62fcc8a1170fc31ebae4229c" datatype="html">\n        <source>Daemon default</source>\n        <target>Valeur par défaut du daemon</target>\n      </trans-unit>\n      <trans-unit id="809b0c848932a41318f77a2aace904ef429c13f4" datatype="html">\n        <source>Values</source>\n        <target>Valeurs</target>\n      </trans-unit>\n      <trans-unit id="5894f7158499fdb89527af50c9f1cf7d4c95cad6" datatype="html">\n        <source>-- Default --</source>\n        <target>-- Default --</target>\n      </trans-unit>\n      <trans-unit id="514f6e12d035a6d9b00de6b3e55c18b73488da07" datatype="html">\n        <source>true</source>\n        <target>true</target>\n      </trans-unit>\n      <trans-unit id="774f5e6a183dea08393789b6f72e86afad729419" datatype="html">\n        <source>false</source>\n        <target>false</target>\n      </trans-unit>\n      <trans-unit id="82029b6db704c56a2aa3e82ac555b8655356b077" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8ed8b3967a7326b81b191c9f490006e6a6777a9a" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="52c9a103b812f258bcddc3d90a6e3f46871d25fe" datatype="html">\n        <source>Save</source>\n        <target>Sauvegarder</target>\n      </trans-unit>\n      <trans-unit id="738de688b22fba5d0dc7a5e549996838dddad0ee" datatype="html">\n        <source>CRUSH map viewer</source>\n        <target>Visionneuse de carte CRUSH</target>\n      </trans-unit>\n      <trans-unit id="94516fa213706c67ce5a5b5765681d7fb032033a" datatype="html">\n        <source>Loading...</source>\n        <target>Chargement...</target>\n      </trans-unit>\n      <trans-unit id="formTitle" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </target>\n        <note>form title</note>\n      </trans-unit>\n      <trans-unit id="9a541ec1a4319fffc16ad3b3ab2c2b6d251a829d" datatype="html">\n        <source>Hostname</source>\n        <target>Nom d\'hôte</target>\n      </trans-unit>\n      <trans-unit id="7cbdabcece469fab89cfa687ab152bca18b97498" datatype="html">\n        <source>This field is required.</source>\n        <target>Ce champs est requis.</target>\n      </trans-unit>\n      <trans-unit id="1b3f5e5291541678f7afa49d28fad5ca848a8061" datatype="html">\n        <source>The chosen hostname is already in use.</source>\n        <target>The chosen hostname is already in use.</target>\n      </trans-unit>\n      <trans-unit id="formActionButton" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </target>\n        <note>form action button</note>\n      </trans-unit>\n      <trans-unit id="6110699a3562eeb15371063c0cf7f6bfd88a0209" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemNames[0] }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemNames[0] }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>?\n        </target>\n      </trans-unit>\n      <trans-unit id="549859e511ba5af0ea03fcaa620c472f08038969" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected items?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected items?\n        </target>\n      </trans-unit>\n      <trans-unit id="54839ebc827b73c9dc4e1df731c6d36a85036af7" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected \n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected \n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>?\n        </target>\n      </trans-unit>\n      <trans-unit id="2be8b7f04f0104d3fad90d079d8202b74f758b9a" datatype="html">\n        <source>Yes, I am sure.</source>\n        <target>Oui.</target>\n      </trans-unit>\n      <trans-unit id="d7b35c384aecd25a516200d6921836374613dfe7" datatype="html">\n        <source>Cancel</source>\n        <target>Annuler</target>\n      </trans-unit>\n      <trans-unit id="55a2f26b2e87886d9b8015a887e38e51ab2a866a" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8" datatype="html">\n        <source>Close</source>\n        <target>Fermer</target>\n      </trans-unit>\n      <trans-unit id="40661476cb24c89d8b06614998e31d5fbe84eeb6" datatype="html">\n        <source>Hosts List</source>\n        <target>Liste d\'hôtes</target>\n      </trans-unit>\n      <trans-unit id="5e7f4b1ca49e8d217bd0e12c6f7d6b6a2ade2c18" datatype="html">\n        <source>Overall Performance</source>\n        <target>Performance globale</target>\n      </trans-unit>\n      <trans-unit id="3e24569eca61d598c8b01defbbbb1fa8bd5222bc" datatype="html">\n        <source>Devices</source>\n        <target>Devices</target>\n      </trans-unit>\n      <trans-unit id="e6d57f36aa2bad303c8a8ee944b9bd7fae3c8c26" datatype="html">\n        <source>No entries found</source>\n        <target>Aucune entrée trouvée</target>\n      </trans-unit>\n      <trans-unit id="d556ab48a65722b400e497f61737f553ee0f89e2" datatype="html">\n        <source>Cluster Logs</source>\n        <target>Journaux de grappes</target>\n      </trans-unit>\n      <trans-unit id="5f966baffd188be0e8adc2d7067b86e55fc9b9de" datatype="html">\n        <source>Audit Logs</source>\n        <target>Journaux d\'audit</target>\n      </trans-unit>\n      <trans-unit id="4193c9eb868aeec119b78a14795241e0aa5e8b60" datatype="html">\n        <source>Priority:</source>\n        <target>Priority:</target>\n      </trans-unit>\n      <trans-unit id="1d78ca51eab260ce3fd917d39190d64df5229b6e" datatype="html">\n        <source>Keyword:</source>\n        <target>Keyword:</target>\n      </trans-unit>\n      <trans-unit id="05fa0bded36de6e73a1fa44838b627349dace044" datatype="html">\n        <source>Date:</source>\n        <target>Date:</target>\n      </trans-unit>\n      <trans-unit id="31dadb362bf7f7c2afa10e5f96474ccd3977f91f" datatype="html">\n        <source>Datepicker</source>\n        <target>Datepicker</target>\n      </trans-unit>\n      <trans-unit id="85a400388de1899b1917138cf7e5286376f72847" datatype="html">\n        <source>Time range:</source>\n        <target>Time range:</target>\n      </trans-unit>\n      <trans-unit id="2447796ddbda942f4e2c46619cb84d69f066e568" datatype="html">\n        <source>Loading configuration...</source>\n        <target>Chargement de la configuration...</target>\n      </trans-unit>\n      <trans-unit id="b42c0b347a841bed8859ee83de05080ee28c803b" datatype="html">\n        <source>The configuration could not be loaded.</source>\n        <target>La configuration n\'a pas pu être chargée.</target>\n      </trans-unit>\n      <trans-unit id="31a9c2870a934b594d1390146c489f76440859ea" datatype="html">\n        <source>Edit Manager module</source>\n        <target>Modifier le module Manager</target>\n      </trans-unit>\n      <trans-unit id="46e09b8290d3d0afdb6baa2021395b0570606a31" datatype="html">\n        <source>The entered value is not a valid UUID, e.g.: 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8</source>\n        <target>La valeur entrée n\'est pas un UUID valide, par exemple : 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8</target>\n      </trans-unit>\n      <trans-unit id="7aacd038b39cfd347107d01d1dc27f5cb3e0951c" datatype="html">\n        <source>The entered value needs to be a valid IP address.</source>\n        <target>La valeur entrée doit être une adresse IP valide.</target>\n      </trans-unit>\n      <trans-unit id="f19106149f4b07a0d721f9d317afed393cb7bd93" datatype="html">\n        <source>The entered value is too high! It must be lower or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.max }}"/>.\n        </source>\n        <target>The entered value is too high! It must be lower or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.max }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="6d33c40ef9a6c3bf0888df831b25e41e65f9d15b" datatype="html">\n        <source>The entered value is too low! It must be greater or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.min }}"/>.\n        </source>\n        <target>The entered value is too low! It must be greater or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.min }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="eae7086660cf1e38c7194a2c49ff52cc656f90f5" datatype="html">\n        <source>The entered value needs to be a number.</source>\n        <target>La valeur entrée doit être un nombre.</target>\n      </trans-unit>\n      <trans-unit id="a73376e04b4fb3a20734c8c39743fba32e6676ce" datatype="html">\n        <source>The entered value needs to be a number or decimal.</source>\n        <target>La valeur entrée doit être un nombre ou une valeur décimale.</target>\n      </trans-unit>\n      <trans-unit id="047f50bc5b5d17b5bec0196355953e1a5c590ddb" datatype="html">\n        <source>Update</source>\n        <target>Mise à jour</target>\n      </trans-unit>\n      <trans-unit id="81b97b8ea996ad1e4f9fca8415021850214884b1" datatype="html">\n        <source>Status</source>\n        <target>Statut</target>\n      </trans-unit>\n      <trans-unit id="57ec6032f5618d4a9f16eb950ad23d2ce7c24b54" datatype="html">\n        <source>Cluster ID</source>\n        <target>ID de grappe</target>\n      </trans-unit>\n      <trans-unit id="67d7facc3fec5f8a49ab9ba0a245872184264ce5" datatype="html">\n        <source>monmap modified</source>\n        <target>monmap modifié</target>\n      </trans-unit>\n      <trans-unit id="d4906731aaf2b94b4f547646c9bfe58bb77951b6" datatype="html">\n        <source>monmap epoch</source>\n        <target>monmap epoch</target>\n      </trans-unit>\n      <trans-unit id="bd4ee06ffdc46d9dfbd0c0c4f81399021c680056" datatype="html">\n        <source>quorum con</source>\n        <target>quorum con</target>\n      </trans-unit>\n      <trans-unit id="1176c7db8a8276ccb44cc3d42e2c28d9fa6c6596" datatype="html">\n        <source>quorum mon</source>\n        <target>quorum mon</target>\n      </trans-unit>\n      <trans-unit id="530ef677a09d681b3ab68cb0760494b3ae72a77c" datatype="html">\n        <source>required con</source>\n        <target>required con</target>\n      </trans-unit>\n      <trans-unit id="a91558e0d506c32021c31843f8f168899fc65cbf" datatype="html">\n        <source>required mon</source>\n        <target>required mon</target>\n      </trans-unit>\n      <trans-unit id="b3abe9eac5bcd94a54c8da93b312e085ec512e74" datatype="html">\n        <source>In Quorum</source>\n        <target>Dans le quorum</target>\n      </trans-unit>\n      <trans-unit id="ba4b748a676e1f217ce1e736fb7ec1215e677bae" datatype="html">\n        <source>Not In Quorum</source>\n        <target>Hors quorum</target>\n      </trans-unit>\n      <trans-unit id="4383e9662ea19839c7499b2128d43a195e564317" datatype="html">\n        <source>OSD creation preview</source>\n        <target>OSD creation preview</target>\n      </trans-unit>\n      <trans-unit id="366225c51e0b00bcb1c55795a0dc5e81c455f84e" datatype="html">\n        <source>DriveGroups</source>\n        <target>DriveGroups</target>\n      </trans-unit>\n      <trans-unit id="8edc89137d0d8c5667a2f03230beafae45e58429" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ deviceType }}"/> devices\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ deviceType }}"/> devices\n        </target>\n      </trans-unit>\n      <trans-unit id="eba28e1805b18f7c8ae2e4bc15dcf063b10b3822" datatype="html">\n        <source>At least one of these filters must be applied in order to proceed:</source>\n        <target>At least one of these filters must be applied in order to proceed:</target>\n      </trans-unit>\n      <trans-unit id="93389aa2fe2bea50bf89554ee51b28f87ee2fb50" datatype="html">\n        <source>Number of devices: \n          <x id="INTERPOLATION" equiv-text="{{ filteredDevices.length }}"/>. Raw capacity:\n          <x id="INTERPOLATION_1" equiv-text="{{ capacity | dimlessBinary }}"/>.\n        </source>\n        <target>Number of devices: \n          <x id="INTERPOLATION" equiv-text="{{ filteredDevices.length }}"/>. Raw capacity:\n          <x id="INTERPOLATION_1" equiv-text="{{ capacity | dimlessBinary }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="ccb4f84edc0b4e76415bb3f9b73d725b06683af3" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ name }}"/> devices\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ name }}"/> devices\n        </target>\n      </trans-unit>\n      <trans-unit id="60cb3d01e5ddf266ecb4271007a1c3d0f3efdc22" datatype="html">\n        <source>The primary storage devices. These devices contain all OSD data.</source>\n        <target>The primary storage devices. These devices contain all OSD data.</target>\n      </trans-unit>\n      <trans-unit id="b432e04886d0d1fd84f740477383051f85addcf2" datatype="html">\n        <source>Write-Ahead-Log devices. These devices are used for BlueStore’s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device.</source>\n        <target>Write-Ahead-Log devices. These devices are used for BlueStore’s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device.</target>\n      </trans-unit>\n      <trans-unit id="b87e181ab9e8393aa5ed759dd3d53836e32c8ffe" datatype="html">\n        <source>DB devices can be used for storing BlueStore’s internal metadata.  It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD).</source>\n        <target>DB devices can be used for storing BlueStore’s internal metadata.  It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD).</target>\n      </trans-unit>\n      <trans-unit id="f6755cff4957d5c3c89bafce5651f1b6fa2b1fd9" datatype="html">\n        <source>Add</source>\n        <target>Ajouter</target>\n      </trans-unit>\n      <trans-unit id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46" datatype="html">\n        <source>Clear</source>\n        <target>Clear</target>\n      </trans-unit>\n      <trans-unit id="7e0fd3c7af0630f93befa6234a693a32a61084e0" datatype="html">\n        <source>Raw capacity: \n          <x id="INTERPOLATION" equiv-text="{{ capacity | dimlessBinary }}"/>\n        </source>\n        <target>Raw capacity: \n          <x id="INTERPOLATION" equiv-text="{{ capacity | dimlessBinary }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="43ecf6bee2aebc07b0aad6dc1fe13e38d14687fa" datatype="html">\n        <source>Shared devices</source>\n        <target>Shared devices</target>\n      </trans-unit>\n      <trans-unit id="7a1c376f6f1b37de4c318ff2106255ba6c0f5b0b" datatype="html">\n        <source>WAL slots</source>\n        <target>WAL slots</target>\n      </trans-unit>\n      <trans-unit id="73811a6f37b63e6b0e491e221bfa21e9dea8a87a" datatype="html">\n        <source>How many OSDs per WAL device.</source>\n        <target>How many OSDs per WAL device.</target>\n      </trans-unit>\n      <trans-unit id="0c67a7ac4762ef1cc855056c6b4daab93e53a0a5" datatype="html">\n        <source>Specify 0 to let Orchestrator backend decide it.</source>\n        <target>Specify 0 to let Orchestrator backend decide it.</target>\n      </trans-unit>\n      <trans-unit id="7bda9362e06e6c67341b4a8425b0d29d6b84464b" datatype="html">\n        <source>Value should be greater than or equal to 0</source>\n        <target>Value should be greater than or equal to 0</target>\n      </trans-unit>\n      <trans-unit id="324c2b10152b9dd908222bb0b71f61beb60a30c5" datatype="html">\n        <source>DB slots</source>\n        <target>DB slots</target>\n      </trans-unit>\n      <trans-unit id="c23cf12ef9c76f37fc7a4b7ae3e00fb0f68b6e26" datatype="html">\n        <source>How many OSDs per DB device.</source>\n        <target>How many OSDs per DB device.</target>\n      </trans-unit>\n      <trans-unit id="6cdb1fea93d77c07950c0c76c6e0ad79ebbef084" datatype="html">\n        <source>Features</source>\n        <target>Fonctionnalités</target>\n      </trans-unit>\n      <trans-unit id="3e2a583f531f7dd9f089f68a6968e444c372c3e8" datatype="html">\n        <source>Preview</source>\n        <target>Preview</target>\n      </trans-unit>\n      <trans-unit id="5ef50ba2514414f799d4c8fc36067a251904ba81" datatype="html">\n        <source>Cluster-wide OSD Flags</source>\n        <target>Drapeaux OSD à l\'échelle de la grappe</target>\n      </trans-unit>\n      <trans-unit id="71c77bb8cecdf11ec3eead24dd1ba506573fa9cd" datatype="html">\n        <source>Submit</source>\n        <target>Soumettre</target>\n      </trans-unit>\n      <trans-unit id="1cfe07dac5b4ee1c464eb24225ddeb4f1d24076a" datatype="html">\n        <source>Advanced...</source>\n        <target>Avancé...</target>\n      </trans-unit>\n      <trans-unit id="b1ef1c12ddcee305353623919ef02778569f5454" datatype="html">\n        <source>Advanced configuration options</source>\n        <target>Advanced configuration options</target>\n      </trans-unit>\n      <trans-unit id="c35f9c5f268a514b970cc55e9a5dc4bed0988e7f" datatype="html">\n        <source>OSD Recovery Priority</source>\n        <target>Priorité de récupération des OSD</target>\n      </trans-unit>\n      <trans-unit id="b74af38005e8a8914e45af2ec412e11ceafef8b6" datatype="html">\n        <source>Priority</source>\n        <target>Priorité</target>\n      </trans-unit>\n      <trans-unit id="c2f48f04b379bfba133825747adfd238d511412e" datatype="html">\n        <source>Customize priority values</source>\n        <target>Personnaliser les valeurs de priorité</target>\n      </trans-unit>\n      <trans-unit id="4aa19de2a2b54cbda39e9c62917b23044c087776" datatype="html">\n        <source>This field is required!</source>\n        <target>Ce champ est obligatoire !</target>\n      </trans-unit>\n      <trans-unit id="b699e94bf376491bd50b70a98531071c737eaf40" datatype="html">\n        <source>[object Object]</source>\n        <target>[object Object]</target>\n      </trans-unit>\n      <trans-unit id="98fe13e7ad6c2b80375d204b47858ded83f80e15" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="5423a3c111be47fc5a1bfe46ceb58c81c84db691" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="5251a4355cece3075db43f15d69a24a0f8485707" datatype="html">\n        <source>Reweight OSD: \n          <x id="INTERPOLATION" equiv-text="{{ osdId }}"/>\n        </source>\n        <target>Reweight OSD: \n          <x id="INTERPOLATION" equiv-text="{{ osdId }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="67650b2998db48201b2c6176cbfef51e7211ccaa" datatype="html">\n        <source>The value needs to be between 0 and 1.</source>\n        <target>La valeur doit être comprise entre 0 et 1.</target>\n      </trans-unit>\n      <trans-unit id="bc11f92113d678a90e334fdf3d7b3fddbe34c579" datatype="html">\n        <source>Reweight</source>\n        <target>Réévaluer</target>\n      </trans-unit>\n      <trans-unit id="d5ca5daf742023fc4f0919fb3c1c6a51991cda4f" datatype="html">\n        <source>OSDs \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>Scrub\n        </source>\n        <target>OSDs \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>Scrub\n        </target>\n      </trans-unit>\n      <trans-unit id="4c17d67c7c5799eb920030e9a399961e90f55dd8" datatype="html">\n        <source>{VAR_SELECT, select, 1 {Deep } }</source>\n        <target>{VAR_SELECT, select, 1 {Profondeur } }</target>\n      </trans-unit>\n      <trans-unit id="fd0a4b6eed32e3488eccdc9c13f9841f08cc275e" datatype="html">\n        <source>You are about to apply a \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to\n          the OSD(s): \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ selected | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.\n        </source>\n        <target>You are about to apply a \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to\n          the OSD(s): \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ selected | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="dc6705f342a036b332c3fd3443201c3613e5524d" datatype="html">\n        <source>{VAR_SELECT, select, 1 {deep } }</source>\n        <target>{VAR_SELECT, select, 1 {profondeur } }</target>\n      </trans-unit>\n      <trans-unit id="b49d7877d24112d4bdfce9256edf61a007fae888" datatype="html">\n        <source>OSDs List</source>\n        <target>Liste des OSD</target>\n      </trans-unit>\n      <trans-unit id="d5707a32ba9c1138e6423498fb0b24e970ebd19f" datatype="html">\n        <source>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) \n          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </source>\n        <target>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) \n          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </target>\n      </trans-unit>\n      <trans-unit id="d08c1e4f17dffc0ed1ac2e2e2875cb8b569eeb35" datatype="html">\n        <source>The \n          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to be \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>! \n          <x id="INTERPOLATION_1" equiv-text="{{ message }}"/>\n        </source>\n        <target>The \n          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to be \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>! \n          <x id="INTERPOLATION_1" equiv-text="{{ message }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="e776996dac651ef3819bfa767ccf2a0613759f47" datatype="html">\n        <source>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</source>\n        <target>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</target>\n      </trans-unit>\n      <trans-unit id="5cd6a031937412c42e5efa1e6959cb72ac08c720" datatype="html">\n        <source>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD \n          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </source>\n        <target>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD \n          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </target>\n      </trans-unit>\n      <trans-unit id="3eda19b44809820fffd5d3753bafb7243116f4b0" datatype="html">\n        <source>To see all active Prometheus alerts, please\n      provide the URL to the API of Prometheus\' Alertmanager as described in the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </source>\n        <target>To see all active Prometheus alerts, please\n      provide the URL to the API of Prometheus\' Alertmanager as described in the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="880ad4df5a2051a437321443d69c9a866699e5ad" datatype="html">\n        <source>Active Alerts</source>\n        <target>Active Alerts</target>\n      </trans-unit>\n      <trans-unit id="8e5e0e09a11990d343926ed693574213d703c38d" datatype="html">\n        <source>All Alerts</source>\n        <target>All Alerts</target>\n      </trans-unit>\n      <trans-unit id="526938c2b7945cb0d68328c24bd77730230cd455" datatype="html">\n        <source>To enable Silences, please provide the URL to the API of the Prometheus\' Alertmanager as\n      described in the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </source>\n        <target>To enable Silences, please provide the URL to the API of the Prometheus\' Alertmanager as\n      described in the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="aa0c44aa1e5727061baa91e954f77e2f5f9a37c9" datatype="html">\n        <source>Silences</source>\n        <target>Silences</target>\n      </trans-unit>\n      <trans-unit id="8501055865d7031b5521a0c5467532648009a61d" datatype="html">\n        <source>Matcher</source>\n        <target>Matcher</target>\n      </trans-unit>\n      <trans-unit id="9c25e04f554875dc2625a78ba0fc56c6010cd0d3" datatype="html">\n        <source>-- Select an attribute to match against --</source>\n        <target>-- Select an attribute to match against --</target>\n      </trans-unit>\n      <trans-unit id="5049e204c14c648691ac775a64fb504467aeb549" datatype="html">\n        <source>Value</source>\n        <target>Valeur</target>\n      </trans-unit>\n      <trans-unit id="77fc5c63497fc031ddc97645484e3d94ad27766c" datatype="html">\n        <source>Use regular expression</source>\n        <target>Use regular expression</target>\n      </trans-unit>\n      <trans-unit id="7bbec1a797283712c0adf9e71d77fb5a8cd720db" datatype="html">\n        <source>{VAR_SELECT, select, 1 {Update} other {Add} }</source>\n        <target>{VAR_SELECT, select, 1 {Update} other {Add} }</target>\n      </trans-unit>\n      <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c" datatype="html">\n        <source>Edit</source>\n        <target>Modifier</target>\n      </trans-unit>\n      <trans-unit id="826b25211922a1b46436589233cb6f1a163d89b7" datatype="html">\n        <source>Delete</source>\n        <target>Supprimer</target>\n      </trans-unit>\n      <trans-unit id="a3ba06aba047605af8ea1718ec1ba153b7db12a2" datatype="html">\n        <source>Editing a silence will expire the old silence and recreate it as a new silence</source>\n        <target>Editing a silence will expire the old silence and recreate it as a new silence</target>\n      </trans-unit>\n      <trans-unit id="a20424156b8816671f61879f0574a4f27d7b16b9" datatype="html">\n        <source>Creator</source>\n        <target>Creator</target>\n      </trans-unit>\n      <trans-unit id="5a5d7ee2acbfa9c91ab7f41d26bda9ff0cafe42f" datatype="html">\n        <source>Comment</source>\n        <target>Comment</target>\n      </trans-unit>\n      <trans-unit id="4c11aad490b2d53fdae30b3807beabf79306752c" datatype="html">\n        <source>Start time</source>\n        <target>Start time</target>\n      </trans-unit>\n      <trans-unit id="32856b1e8e339b747b21e313e2fe65a51fd450bb" datatype="html">\n        <source>If the start time lies in the past the creation time will be used</source>\n        <target>If the start time lies in the past the creation time will be used</target>\n      </trans-unit>\n      <trans-unit id="a02ea1d4e7424ca989929da5e598f379940fdbf2" datatype="html">\n        <source>Duration</source>\n        <target>Duration</target>\n      </trans-unit>\n      <trans-unit id="2f4e35e36f4d3c62e2c17df41730b6dee4afc4b9" datatype="html">\n        <source>End time</source>\n        <target>End time</target>\n      </trans-unit>\n      <trans-unit id="992123459137d45c15df5548bc9682aad835c04b" datatype="html">\n        <source>Matchers</source>\n        <target>Matchers</target>\n      </trans-unit>\n      <trans-unit id="3e023166c55833d5a13f4143e3dbe372befe1b4e" datatype="html">\n        <source>A silence requires at least one matcher</source>\n        <target>A silence requires at least one matcher</target>\n      </trans-unit>\n      <trans-unit id="ef765bd80c4806c51c891908c07a24bc76f019eb" datatype="html">\n        <source>Add matcher</source>\n        <target>Add matcher</target>\n      </trans-unit>\n      <trans-unit id="d2bcd3296d2850de762fb943060b7e086a893181" datatype="html">\n        <source>Health</source>\n        <target>Santé</target>\n      </trans-unit>\n      <trans-unit id="61e0f26d843eec0b33ff475e111b0c2f7a80b835" datatype="html">\n        <source>Statistics</source>\n        <target>Statistiques</target>\n      </trans-unit>\n      <trans-unit id="f8f74e5f683012b9c0702b1446011c6b9158bc67" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the NFS Ganesha management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the NFS Ganesha management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="7ffe39df9d88c972792bd8688b215392deb8313d" datatype="html">\n        <source>Clients</source>\n        <target>Clients</target>\n      </trans-unit>\n      <trans-unit id="f2dae0bda66f6a349444951c0379c28cda47d6d1" datatype="html">\n        <source>Any client can access</source>\n        <target>Accès possible par tous les clients</target>\n      </trans-unit>\n      <trans-unit id="7882f2edb1d4139800b276b6b0bbf5ae0b2234ef" datatype="html">\n        <source>Addresses</source>\n        <target>Adresses</target>\n      </trans-unit>\n      <trans-unit id="9bd96fcf50863e685c74d0490392f46689ffbdb6" datatype="html">\n        <source>Required field</source>\n        <target>Champ obligatoire</target>\n      </trans-unit>\n      <trans-unit id="a5f3f74c0f6925826cb2188576391c0da01a23f0" datatype="html">\n        <source>Must contain one or more comma-separated values</source>\n        <target>Doit contenir une ou plusieurs valeurs séparées par une virgule</target>\n      </trans-unit>\n      <trans-unit id="8bb5b2073697f3f4378c44a49b7524934c9268f4" datatype="html">\n        <source>For example:</source>\n        <target>Par exemple :</target>\n      </trans-unit>\n      <trans-unit id="8f969c655b3fbe4fba7e277caf4cd2c459f9fca5" datatype="html">\n        <source>Access Type</source>\n        <target>Type d\'accès</target>\n      </trans-unit>\n      <trans-unit id="28952831a284cfe2b4fc39ca610e80b52598905a" datatype="html">\n        <source>Squash</source>\n        <target>Squash</target>\n      </trans-unit>\n      <trans-unit id="0660ae339068979854ade34a96546980723dede3" datatype="html">\n        <source>Add clients</source>\n        <target>Ajouter des clients</target>\n      </trans-unit>\n      <trans-unit id="135b91a2d908d5814b782695470a6a786c99d9d2" datatype="html">\n        <source>-- No cluster available --</source>\n        <target>-- Aucune grappe disponible --</target>\n      </trans-unit>\n      <trans-unit id="c501dba379f566885919240ea277b5bc10c14d18" datatype="html">\n        <source>-- Select the cluster --</source>\n        <target>-- Sélectionner la grappe --</target>\n      </trans-unit>\n      <trans-unit id="cf85b1ee58326aa9da63da41b2629c9db7c9a5b9" datatype="html">\n        <source>Add daemon</source>\n        <target>Ajouter un daemon</target>\n      </trans-unit>\n      <trans-unit id="b3f6ba7fe84d6508705cdfe234f0fcc8ff85c9cf" datatype="html">\n        <source>Storage Backend</source>\n        <target>Backend de stockage</target>\n      </trans-unit>\n      <trans-unit id="151c80ea931037cd92e854442927f8a0f6ae7795" datatype="html">\n        <source>-- No data pools available --</source>\n        <target>-- Aucune réserve de données disponible --</target>\n      </trans-unit>\n      <trans-unit id="b6fee356d1db954255a56d8169405a89595246b9" datatype="html">\n        <source>-- Select the storage backend --</source>\n        <target>-- Sélectionner le backend de stockage --</target>\n      </trans-unit>\n      <trans-unit id="76d67035c3ab3d8e56f725859f820f03fda41cfc" datatype="html">\n        <source>Object Gateway User</source>\n        <target>Utilisateur Object Gateway</target>\n      </trans-unit>\n      <trans-unit id="fade7788bace74337f306ae209f10fc187ef4671" datatype="html">\n        <source>-- No users available --</source>\n        <target>-- Aucun utilisateur disponible --</target>\n      </trans-unit>\n      <trans-unit id="6d30b7b36cf8f6364167321bdb4ba35d4cefce7b" datatype="html">\n        <source>-- Select the object gateway user --</source>\n        <target>-- Sélectionner l\'utilisateur Object Gateway --</target>\n      </trans-unit>\n      <trans-unit id="589ce20d3ba3e3ac44f75decfaadc4ea8f0aec2d" datatype="html">\n        <source>CephFS User ID</source>\n        <target>ID utilisateur CephFS</target>\n      </trans-unit>\n      <trans-unit id="c4b88a53ac3b0ece46ba9b3ad72355a3c190cce7" datatype="html">\n        <source>-- No clients available --</source>\n        <target>-- Aucun client disponible --</target>\n      </trans-unit>\n      <trans-unit id="da52835b80497a0002d24414b057dc46ae44ce38" datatype="html">\n        <source>-- Select the cephx client --</source>\n        <target>-- Sélectionner le client cephx --</target>\n      </trans-unit>\n      <trans-unit id="fd3419e8957d928d7f7ba19c93356a0dbff02871" datatype="html">\n        <source>CephFS Name</source>\n        <target>Nom CephFS</target>\n      </trans-unit>\n      <trans-unit id="ee3ba0ab5f0ccd597b3e44021c71e9aaad14df0a" datatype="html">\n        <source>-- No CephFS filesystem available --</source>\n        <target>-- No CephFS filesystem available --</target>\n      </trans-unit>\n      <trans-unit id="764c57812558b1ae66c5eec95d7efd2b1bf761e3" datatype="html">\n        <source>-- Select the CephFS filesystem --</source>\n        <target>-- Select the CephFS filesystem --</target>\n      </trans-unit>\n      <trans-unit id="957512d0321f73e9f115bce1bd823fa635170c41" datatype="html">\n        <source>Security Label</source>\n        <target>Libellé de sécurité</target>\n      </trans-unit>\n      <trans-unit id="65ce0fa4da1ed55e658aeb31d1644a29f06bb342" datatype="html">\n        <source>Enable security label</source>\n        <target>Activer le libellé de sécurité</target>\n      </trans-unit>\n      <trans-unit id="7e808f804130c7b6ff719509cbc06ebb27393a48" datatype="html">\n        <source>CephFS Path</source>\n        <target>Chemin CephFS</target>\n      </trans-unit>\n      <trans-unit id="5ecc0107badb6625466aaa3f975b5c05276f432f" datatype="html">\n        <source>Path need to start with a \'/\' and can be followed by a word</source>\n        <target>Le chemin doit commencer par \'/\' et peut être suivi d\'un mot</target>\n      </trans-unit>\n      <trans-unit id="2d02916f44fc63e13ab16d1cbe72aa6cb51feab3" datatype="html">\n        <source>New directory will be created</source>\n        <target>Un nouveau répertoire sera créé</target>\n      </trans-unit>\n      <trans-unit id="766c66ad5cc981c531aaf3fe3a2a7a346ddc8d83" datatype="html">\n        <source>Path</source>\n        <target>Chemin</target>\n      </trans-unit>\n      <trans-unit id="7ec35c722a50b976620f22612f7be619c12ceb90" datatype="html">\n        <source>Path can only be a single \'/\' or a word</source>\n        <target>Le chemin peut être constitué d\'un seul \'/\' ou d\'un seul mot</target>\n      </trans-unit>\n      <trans-unit id="aebb6a5090c24511de4530195694bb3f3dcf0342" datatype="html">\n        <source>New bucket will be created</source>\n        <target>Un compartiment sera créé</target>\n      </trans-unit>\n      <trans-unit id="bee6900143996c0e908a10564532eba3da0b30fb" datatype="html">\n        <source>NFS Protocol</source>\n        <target>Protocole NFS</target>\n      </trans-unit>\n      <trans-unit id="2f534178c01ebf1307da2eaeef04bc6801ebc729" datatype="html">\n        <source>NFSv3</source>\n        <target>NFSv3</target>\n      </trans-unit>\n      <trans-unit id="f5043c0921e709935ab026bb3253ffe1f159fca1" datatype="html">\n        <source>NFSv4</source>\n        <target>NFSv4</target>\n      </trans-unit>\n      <trans-unit id="92488963d23095985a47c0d6e62304e11d333f19" datatype="html">\n        <source>NFS Tag</source>\n        <target>Balise NFS</target>\n      </trans-unit>\n      <trans-unit id="aae93362720aea94623682996dd3fcd0f906f056" datatype="html">\n        <source>Alternative access for \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v3\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> mounts (it must not have a leading /).\n        </source>\n        <target>Alternative access for \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v3\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> mounts (it must not have a leading /).\n        </target>\n      </trans-unit>\n      <trans-unit id="45d6db77dcf1a3eeb921033abc7882e517a541cc" datatype="html">\n        <source>Clients may not mount subdirectories (i.e. if Tag = foo, the client may not mount foo/baz).</source>\n        <target>Les clients ne peuvent pas monter de sous-répertoires (si la balise = foo, le client ne peut pas monter foo/baz).</target>\n      </trans-unit>\n      <trans-unit id="a1c7a8676b55e882a97c6a6fb205204f9c761afa" datatype="html">\n        <source>By using different Tag options, the same Path may be exported multiple times.</source>\n        <target>En utilisant différentes options de balise, il est possible d\'exporter plusieurs fois le même chemin.</target>\n      </trans-unit>\n      <trans-unit id="6d2c39708a32910f89701dd7e1cfb9ec1c195768" datatype="html">\n        <source>Pseudo</source>\n        <target>Pseudo</target>\n      </trans-unit>\n      <trans-unit id="1f8be2ae25947bec0b84c2338201580ea053f34e" datatype="html">\n        <source>The position that this \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v4\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> export occupies\n                in the \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>Pseudo FS\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> (it must be unique).\n        </source>\n        <target>The position that this \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v4\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> export occupies\n                in the \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>Pseudo FS\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> (it must be unique).\n        </target>\n      </trans-unit>\n      <trans-unit id="f3af55f7fd5b1d9e5a53e030c80116dc635bfb9f" datatype="html">\n        <source>By using different Pseudo options, the same Path may be exported multiple times.</source>\n        <target>En utilisant différentes options de pseudo, il est possible d\'exporter exporter plusieurs fois le même chemin.</target>\n      </trans-unit>\n      <trans-unit id="ddf98fcdeeb17643db020d54f42b5e56b5f9a52a" datatype="html">\n        <source>Pseudo needs to start with a \'/\' and can\'t contain any of the following: &gt;, &lt;, |, &amp;, ( or ).</source>\n        <target>Pseudo needs to start with a \'/\' and can\'t contain any of the following: &gt;, &lt;, |, &amp;, ( or ).</target>\n      </trans-unit>\n      <trans-unit id="27eb35c4b4ac08781a7253a2ab40f8f7d957ba51" datatype="html">\n        <source>-- No access type available --</source>\n        <target>-- Aucun type d\'accès disponible --</target>\n      </trans-unit>\n      <trans-unit id="509ce016c9110a54028dafd741f15ceacbe74b5a" datatype="html">\n        <source>-- Select the access type --</source>\n        <target>-- Sélectionner le type d\'accès --</target>\n      </trans-unit>\n      <trans-unit id="49850390a653cd05dc5843d74ef073a9122b54c9" datatype="html">\n        <source>The Object Gateway NFS backend has a number of\n              limitations which will seriously affect applications writing to\n              the share. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for details before enabling write access.\n        </source>\n        <target>The Object Gateway NFS backend has a number of\n              limitations which will seriously affect applications writing to\n              the share. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for details before enabling write access.\n        </target>\n      </trans-unit>\n      <trans-unit id="4deda03573eaaff77e63f6a238a1f0ca7816950a" datatype="html">\n        <source>-- No squash available --</source>\n        <target>-- Aucun squash disponible --</target>\n      </trans-unit>\n      <trans-unit id="a0e82a4da88e7fdf270444f838d45849676e9d4b" datatype="html">\n        <source>--Select what kind of user id squashing is performed --</source>\n        <target>-- Sélectionnez le type de squash d\'ID utilisateur qui est effectué --</target>\n      </trans-unit>\n      <trans-unit id="d01b7c3f7f06712c53d054cfbe4f53d446b038e8" datatype="html">\n        <source>Transport Protocol</source>\n        <target>Protocole de transport</target>\n      </trans-unit>\n      <trans-unit id="d2a6ad6e8bc315f07911722c05767ac79c136d99" datatype="html">\n        <source>UDP</source>\n        <target>UDP</target>\n      </trans-unit>\n      <trans-unit id="9c030f11e0aae9b24d2c048c57f29f590be621df" datatype="html">\n        <source>TCP</source>\n        <target>TCP</target>\n      </trans-unit>\n      <trans-unit id="734c9905951a774870497c5aaae8e3ee833b6196" datatype="html">\n        <source>CephFS</source>\n        <target>CephFS</target>\n      </trans-unit>\n      <trans-unit id="0eb15f32b2b92d7f3103ef3ff032621888a8dc32" datatype="html">\n        <source>Old password</source>\n        <target>Old password</target>\n      </trans-unit>\n      <trans-unit id="1cf42e491adc166a337a960eb84d03c0c3f677c8" datatype="html">\n        <source>The old and new passwords must be different.</source>\n        <target>The old and new passwords must be different.</target>\n      </trans-unit>\n      <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229" datatype="html">\n        <source>New password</source>\n        <target>New password</target>\n      </trans-unit>\n      <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b" datatype="html">\n        <source>Confirm new password</source>\n        <target>Confirm new password</target>\n      </trans-unit>\n      <trans-unit id="90163a3d3746819aef42e829f4446331232f3b66" datatype="html">\n        <source>Password confirmation doesn\'t match the new password.</source>\n        <target>Password confirmation doesn\'t match the new password.</target>\n      </trans-unit>\n      <trans-unit id="d06ae77f9ec46a4cdd49e7e76c73a411aaf2ee38" datatype="html">\n        <source>Please set a new password.</source>\n        <target>Please set a new password.</target>\n      </trans-unit>\n      <trans-unit id="8b5b3566e88438f51bd5f6caf6c090ed565ba5ed" datatype="html">\n        <source>You will be redirected to the login page afterwards.</source>\n        <target>You will be redirected to the login page afterwards.</target>\n      </trans-unit>\n      <trans-unit id="449dca3d3a93ead418b0541ea81b0dda7e6483c2" datatype="html">\n        <source>Welcome to Ceph!</source>\n        <target>Bienvenue dans Ceph !</target>\n        <note>The welcome message on the login page</note>\n      </trans-unit>\n      <trans-unit id="0070e83d11da39d6f4bb95065c2675db1610b419" datatype="html">\n        <source>Username is required</source>\n        <target>Nom d\'utilisateur requis</target>\n      </trans-unit>\n      <trans-unit id="1e20f8b8a4706526c9024cc2f39d568345d100dc" datatype="html">\n        <source>Password is required</source>\n        <target>Mot de passe requis</target>\n      </trans-unit>\n      <trans-unit id="6765b4c916060f6bc42d9bb69e80377dbcb5e4e9" datatype="html">\n        <source>Login</source>\n        <target>Connexion</target>\n      </trans-unit>\n      <trans-unit id="58fc1b5c79a75370eb52644fd83fb2e7096b6649" datatype="html">\n        <source>Sorry, the user does not exist in Ceph.</source>\n        <target>Désolé, l\'utilisateur n\'existe pas dans Ceph.</target>\n      </trans-unit>\n      <trans-unit id="d9deb94f78e7c41b35c6622b874f06657d7604c1" datatype="html">\n        <source>Return to \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Login Page\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You\'ll be logged out from the Identity Provider when you retry logging in.\n        </source>\n        <target>Return to \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Login Page\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You\'ll be logged out from the Identity Provider when you retry logging in.\n        </target>\n      </trans-unit>\n      <trans-unit id="471e78026c258073ba687478dc54c35d9041ea42" datatype="html">\n        <source>Forbidden</source>\n        <target>Interdit</target>\n      </trans-unit>\n      <trans-unit id="02ea8ad57677e3c63f3d7814ca5e6c7b74e360b4" datatype="html">\n        <source>Sorry, you are not allowed to see what you were looking for.</source>\n        <target>Désolé, vous n\'êtes pas autorisé à voir ce que vous cherchez.</target>\n      </trans-unit>\n      <trans-unit id="2240b985f17293d84cc8532fe86994aa5f63667c" datatype="html">\n        <source>Sorry, we could not find what you were looking for.</source>\n        <target>Sorry, we could not find what you were looking for.</target>\n      </trans-unit>\n      <trans-unit id="ac54c18c1b520e948095c83a3a1025f02ce6dcc6" datatype="html">\n        <source>Neither hostname nor OSD ID given</source>\n        <target>Neither hostname nor OSD ID given</target>\n      </trans-unit>\n      <trans-unit id="4f635b3cb0600409a2ad44a5bd1863c699e6a01c" datatype="html">\n        <source>Failed to retrieve SMART data.</source>\n        <target>Failed to retrieve SMART data.</target>\n      </trans-unit>\n      <trans-unit id="d82a9af5b05e7cd17640f196f163771685ff8df6" datatype="html">\n        <source>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</source>\n        <target>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</target>\n      </trans-unit>\n      <trans-unit id="04f8a3c7e8ac610e6581960162cc15f55a16696a" datatype="html">\n        <source>No SMART data available.</source>\n        <target>No SMART data available.</target>\n      </trans-unit>\n      <trans-unit id="3a03d3c2e459f8f8fa7202c0fce465d6165f9e2b" datatype="html">\n        <source>passed</source>\n        <target>passed</target>\n      </trans-unit>\n      <trans-unit id="a185c9b97513b3882604ea9bab60edbfac945c15" datatype="html">\n        <source>SMART overall-health self-assessment test result</source>\n        <target>SMART overall-health self-assessment test result</target>\n      </trans-unit>\n      <trans-unit id="41435d5a5692c8e412c74deaee95d99dbd3617e1" datatype="html">\n        <source>failed</source>\n        <target>failed</target>\n      </trans-unit>\n      <trans-unit id="ddd5dd6d930030096ea617f62c82b648a0dd9484" datatype="html">\n        <source>Device Information</source>\n        <target>Device Information</target>\n      </trans-unit>\n      <trans-unit id="380295f37caea93701d071485a38ef0bdba57133" datatype="html">\n        <source>No SMART data available for this device.</source>\n        <target>No SMART data available for this device.</target>\n      </trans-unit>\n      <trans-unit id="20cb12827cbe559a7b1da6fdae96041b3b5c3c55" datatype="html">\n        <source>SMART</source>\n        <target>SMART</target>\n      </trans-unit>\n      <trans-unit id="5758c3f16f8749f0f4e2a787f02e8b4da246102f" datatype="html">\n        <source>SMART data is loading.</source>\n        <target>SMART data is loading.</target>\n      </trans-unit>\n      <trans-unit id="a949d7e577902d0e5dc5d0971bb0170a21be7728" datatype="html">\n        <source>[object Object]</source>\n        <target>[object Object]</target>\n      </trans-unit>\n      <trans-unit id="ff92fbdec9fdd5054493eeda0d7ee8b450f83e72" datatype="html">\n        <source>RBD Configuration</source>\n        <target>Configuration RBD</target>\n      </trans-unit>\n      <trans-unit id="b62d9efc8eb3b589904f6cb96a0406bbda55673a" datatype="html">\n        <source>Remove the local configuration value. The parent configuration value will be inherited and used instead.</source>\n        <target>Supprimez la valeur de configuration locale. La valeur de configuration parent sera héritée et utilisée à la place.</target>\n      </trans-unit>\n      <trans-unit id="963488a1010d46067b238c4ae917fab3907c0a3a" datatype="html">\n        <source>The mininum value is 0</source>\n        <target>La valeur minimale est 0.</target>\n      </trans-unit>\n      <trans-unit id="1d8a7c8aea58294a3c57c23af0468ddf0ba0c9c7" datatype="html">\n        <source>Pools List</source>\n        <target>Liste des réserves</target>\n      </trans-unit>\n      <trans-unit id="490e15ecc922965b6d8194754c87c5583aa071f3" datatype="html">\n        <source>The name can only consist of alphanumeric characters, dashes and underscores.</source>\n        <target>Le nom doit être exclusivement composé de caractères alphanumériques, de tirets et de traits de soulignement.</target>\n      </trans-unit>\n      <trans-unit id="9edc2b494e660618af3e5225f68d40b7ca67629c" datatype="html">\n        <source>The chosen erasure code profile name is already in use.</source>\n        <target>Le nom de profil du code d\'effacement sélectionné est déjà utilisé.</target>\n      </trans-unit>\n      <trans-unit id="35a4206db3105ed03e0dd799e1642b75b78123e8" datatype="html">\n        <source>Root</source>\n        <target>Root</target>\n      </trans-unit>\n      <trans-unit id="cf425784c7073c7e7f7c1bb90c2c19db7e751db2" datatype="html">\n        <source>Failure domain type</source>\n        <target>Failure domain type</target>\n      </trans-unit>\n      <trans-unit id="72396a9565cf644d1fe1b21b790c4243ee270986" datatype="html">\n        <source>Device class</source>\n        <target>Device class</target>\n      </trans-unit>\n      <trans-unit id="72d80e0c07bfea1b693a33ef2245007de92a6780" datatype="html">\n        <source>Let Ceph decide</source>\n        <target>Let Ceph decide</target>\n      </trans-unit>\n      <trans-unit id="ef9ff0e6227947b48dfab4ac39ade04af758913b" datatype="html">\n        <source>Plugin</source>\n        <target>Plug-in</target>\n      </trans-unit>\n      <trans-unit id="dd69b31bce8f630eac1d4762b0bbcf72ce19d193" datatype="html">\n        <source>Data chunks (k)</source>\n        <target>Blocs de données (k)</target>\n      </trans-unit>\n      <trans-unit id="b0d26a6172d32cb81218fe2103c54a818cbc1189" datatype="html">\n        <source>Must be equal to or greater than 2.</source>\n        <target>Doit être égal ou supérieur à 2.</target>\n      </trans-unit>\n      <trans-unit id="dab3a299ead121169b8e08ed618c3b6a2f66691b" datatype="html">\n        <source>Coding chunks (m)</source>\n        <target>Blocs de codage (m)</target>\n      </trans-unit>\n      <trans-unit id="1e2773e5bd4948193f18f2361d663ecc3988c656" datatype="html">\n        <source>Must be equal to or greater than 1.</source>\n        <target>Doit être égal ou supérieur à 1.</target>\n      </trans-unit>\n      <trans-unit id="6cde4c945a49a260c0a47bcc7cd956846930a5f7" datatype="html">\n        <source>Durability estimator (c)</source>\n        <target>Estimateur de durabilité (c)</target>\n      </trans-unit>\n      <trans-unit id="af668c2a095a979ea2b4e43cd82c2120ab56c21c" datatype="html">\n        <source>Locality (l)</source>\n        <target>Localité (l)</target>\n      </trans-unit>\n      <trans-unit id="d455a110bf6d2235e314e295ce1dfeee93d3dff2" datatype="html">\n        <source>Crush failure domain</source>\n        <target>Domaine de défaillance Crush</target>\n      </trans-unit>\n      <trans-unit id="b74a495f041f7dd102eee5c0bbc9e03083b538ae" datatype="html">\n        <source>Crush Locality</source>\n        <target>Localité Crush</target>\n      </trans-unit>\n      <trans-unit id="a2f14a73f7a6e94479f67423cc51102da8d6f524" datatype="html">\n        <source>None</source>\n        <target>Aucun</target>\n      </trans-unit>\n      <trans-unit id="2981733b912b693a9dd9d915d6d34f4692cc874a" datatype="html">\n        <source>Technique</source>\n        <target>Technique</target>\n      </trans-unit>\n      <trans-unit id="e0098b6e47b04ec817361f384ce81d454ba5c0bb" datatype="html">\n        <source>Packetsize</source>\n        <target>Taille de paquet</target>\n      </trans-unit>\n      <trans-unit id="c0252cd81ca54d0a2f69ec9ccf4248e73df5aa4a" datatype="html">\n        <source>Crush root</source>\n        <target>Racine Crush</target>\n      </trans-unit>\n      <trans-unit id="1548d5c76f0406ddd1ba3c557e1e6db22e95b340" datatype="html">\n        <source>Crush device class</source>\n        <target>Classe de périphérique Crush</target>\n      </trans-unit>\n      <trans-unit id="5e85feb6f9f0334366e46ee09ca6b8df52397432" datatype="html">\n        <source>any</source>\n        <target>tout</target>\n      </trans-unit>\n      <trans-unit id="03d84645f6e019c5a43909bbf2ea1696ee88332c" datatype="html">\n        <source>Directory</source>\n        <target>Répertoire</target>\n      </trans-unit>\n      <trans-unit id="2fecea01ce1d44114ee45144eff6d47a5016a74f" datatype="html">\n        <source>Name...</source>\n        <target>Nom...</target>\n      </trans-unit>\n      <trans-unit id="16e113230b6b0d3165e076300880542bac7c8138" datatype="html">\n        <source>The chosen Ceph pool name is already in use.</source>\n        <target>Le nom de réserve Ceph sélectionné est déjà utilisé.</target>\n      </trans-unit>\n      <trans-unit id="c75b132bef7b29fa5171768303c4b96e34ccaf68" datatype="html">\n        <source>It\'s not possible to create an RBD pool with \'/\' in the name.\n              Please change the name or remove \'rbd\' from the applications list.</source>\n        <target>It\'s not possible to create an RBD pool with \'/\' in the name.\n              Please change the name or remove \'rbd\' from the applications list.</target>\n      </trans-unit>\n      <trans-unit id="171dc6d5c6bc4615d99778b0088cae80fd00bd10" datatype="html">\n        <source>Pool name can only contain letters, numbers, \'.\', \'-\', \'_\' or \'/\'.</source>\n        <target>Pool name can only contain letters, numbers, \'.\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="b85c657469e5ec8231c3de99b22f437bc01ffde5" datatype="html">\n        <source>Pool type</source>\n        <target>Type de réserve</target>\n      </trans-unit>\n      <trans-unit id="526c5443254c3b126eedb264840ffe827727bfd3" datatype="html">\n        <source>-- Select a pool type --</source>\n        <target>-- Sélectionner un type de réserve --</target>\n      </trans-unit>\n      <trans-unit id="6abfbe47b630929d93c7343dc154599c2e59330a" datatype="html">\n        <source>PG Autoscale</source>\n        <target>PG Autoscale</target>\n      </trans-unit>\n      <trans-unit id="0aa21053410a94aa61d16985a4e95fd65523430d" datatype="html">\n        <source>Placement groups</source>\n        <target>Groupes de placements</target>\n      </trans-unit>\n      <trans-unit id="6301f1391d726f8f450bb358058534db19541ca9" datatype="html">\n        <source>At least one placement group is needed!</source>\n        <target>Au moins un groupe de placements est nécessaire.</target>\n      </trans-unit>\n      <trans-unit id="ba9469a1ce6ed36e039c1f67247c8c81a5c71449" datatype="html">\n        <source>Your cluster can\'t handle this many PGs. Please recalculate the PG amount needed.</source>\n        <target>Votre grappe ne peut pas gérer autant de groupes de placements. Veuillez recalculer le nombre de groupes de placements nécessaires.</target>\n      </trans-unit>\n      <trans-unit id="80ac68cd883369dac20688bc32b4cb33291b5e50" datatype="html">\n        <source>Calculation help</source>\n        <target>Aide au calcul</target>\n      </trans-unit>\n      <trans-unit id="fccbd60493df26705d957ed6c02a3c447894678f" datatype="html">\n        <source>The current PGs settings were calculated for you, you\n                should make sure the values suit your needs before submit.</source>\n        <target>The current PGs settings were calculated for you, you\n                should make sure the values suit your needs before submit.</target>\n      </trans-unit>\n      <trans-unit id="a43b2695131b48b76cebba676aba98a2bee17515" datatype="html">\n        <source>Replicated size</source>\n        <target>Taille de réplication</target>\n      </trans-unit>\n      <trans-unit id="7bff144a4c4dc63b0e18fff2617d61a7ebdf2b6c" datatype="html">\n        <source>Minimum: \n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/>\n        </source>\n        <target>Minimum: \n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="1a9c54b41f6d58a74e5d0aa3429ed0c87a482551" datatype="html">\n        <source>Maximum: \n          <x id="INTERPOLATION" equiv-text="{{ getMaxSize() }}"/>\n        </source>\n        <target>Maximum: \n          <x id="INTERPOLATION" equiv-text="{{ getMaxSize() }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6ab647b95bd2347ae6f4605576de5e0269fb893a" datatype="html">\n        <source>The size specified is out of range. A value from\n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/> to \n          <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.\n        </source>\n        <target>The size specified is out of range. A value from\n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/> to \n          <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.\n        </target>\n      </trans-unit>\n      <trans-unit id="920617c6a1a4805e53bcb5af6a9c76f8387e89c6" datatype="html">\n        <source>Flags</source>\n        <target>Drapeaux</target>\n      </trans-unit>\n      <trans-unit id="1c870fb00256b8a5b9cb9cd1a124e6390b9bc639" datatype="html">\n        <source>EC Overwrites</source>\n        <target>Écrasements EC</target>\n      </trans-unit>\n      <trans-unit id="f1abafaeb40ce52355ddcc24686e3cd17b64e08a" datatype="html">\n        <source>Applications</source>\n        <target>Applications</target>\n      </trans-unit>\n      <trans-unit id="fb9308b82fc183f710df60909f49cfc73aa5e076" datatype="html">\n        <source>CRUSH</source>\n        <target>CRUSH</target>\n      </trans-unit>\n      <trans-unit id="9de7dde00e2139cc4bd03b1837afbe72ad15a1ff" datatype="html">\n        <source>Erasure code profile</source>\n        <target>Profil de code d\'effacement</target>\n      </trans-unit>\n      <trans-unit id="39b4620e6bd444e0a57a0a5c03fa8c96d7fe5235" datatype="html">\n        <source>-- No erasure code profile available --</source>\n        <target>-- Aucun profil de code d\'effacement n\'est disponible --</target>\n      </trans-unit>\n      <trans-unit id="498561757390d5528b263ce450d5f38efb00266d" datatype="html">\n        <source>-- Select an erasure code profile --</source>\n        <target>-- Sélectionner un profil de code d\'effacement --</target>\n      </trans-unit>\n      <trans-unit id="33150f22ce5348aa6c499bd092c3f4f3695d62cc" datatype="html">\n        <source>Crush ruleset</source>\n        <target>Jeu de règles Crush</target>\n      </trans-unit>\n      <trans-unit id="c69b0bcd4698aa845d32c4c4ad488492552cb469" datatype="html">\n        <source>A new crush ruleset will be implicitly created.</source>\n        <target>A new crush ruleset will be implicitly created.</target>\n      </trans-unit>\n      <trans-unit id="896e9987db5e9bb279e6deed5d2dff28c242ef66" datatype="html">\n        <source>There are no rules.</source>\n        <target>There are no rules.</target>\n      </trans-unit>\n      <trans-unit id="73a6b31116b3cc322af951daa0bafdc169e6c42e" datatype="html">\n        <source>-- Select a crush rule --</source>\n        <target>-- Sélectionner une règle crush --</target>\n      </trans-unit>\n      <trans-unit id="ea91d648f92002bc9f96d9b26b735c83ca0b53c6" datatype="html">\n        <source>This rule can\'t be deleted as it is in use.</source>\n        <target>This rule can\'t be deleted as it is in use.</target>\n      </trans-unit>\n      <trans-unit id="92da80699921e89fb19372e25b8d0f3b9fa427fc" datatype="html">\n        <source>Crush rule</source>\n        <target>Règle Crush</target>\n      </trans-unit>\n      <trans-unit id="5489e9f96835f469f6f728a00d8efa88ea5bc940" datatype="html">\n        <source>Crush steps</source>\n        <target>Étapes Crush</target>\n      </trans-unit>\n      <trans-unit id="fc5f5496a9e50fe69e1a09784f28d94944108294" datatype="html">\n        <source>Rule is not in use.</source>\n        <target>Rule is not in use.</target>\n      </trans-unit>\n      <trans-unit id="023d6f718770d2ea4ab8cabe26b0ec27ef967ec2" datatype="html">\n        <source>Used by pools</source>\n        <target>Used by pools</target>\n      </trans-unit>\n      <trans-unit id="104a0e6900d1d1b0c8cf9e5947e36edb352583fc" datatype="html">\n        <source>The rule can\'t be used in the current cluster as it has\n                  too few OSDs to meet the minimum required OSD by this rule.</source>\n        <target>The rule can\'t be used in the current cluster as it has\n                  too few OSDs to meet the minimum required OSD by this rule.</target>\n      </trans-unit>\n      <trans-unit id="2208d63d5940ce656006a220102b1eb2b5e553da" datatype="html">\n        <source>Compression</source>\n        <target>Compression</target>\n      </trans-unit>\n      <trans-unit id="37e10df2d9c0c25ef04ac112c9c9a7723e8efae0" datatype="html">\n        <source>Mode</source>\n        <target>Mode</target>\n      </trans-unit>\n      <trans-unit id="6c6f25c47da62ec597c6057a36ddfc3209811ec5" datatype="html">\n        <source>Algorithm</source>\n        <target>Algorithme</target>\n      </trans-unit>\n      <trans-unit id="4903231d42089325a28892c0fde1aed46b733ae6" datatype="html">\n        <source>-- No erasure compression algorithm available --</source>\n        <target>-- Aucun algorithme de compression d\'effacement n\'est disponible --</target>\n      </trans-unit>\n      <trans-unit id="5d68ddb254275f8f44221e9ad6d8ceeb59ca46a6" datatype="html">\n        <source>Minimum blob size</source>\n        <target>Taille de blob minimale</target>\n      </trans-unit>\n      <trans-unit id="fb2f176df80647137cbb02bbeb29e5dec707a400" datatype="html">\n        <source>e.g., 128KiB</source>\n        <target>par ex. 128 Kio</target>\n      </trans-unit>\n      <trans-unit id="1b7f6e53a4521c6eb3ced4c007fdd4cf80bb7707" datatype="html">\n        <source>Value should be greater than 0</source>\n        <target>La valeur doit être supérieure à 0</target>\n      </trans-unit>\n      <trans-unit id="8db98ab14b4e207ec763dfdefbc2dae367aab1cc" datatype="html">\n        <source>Value should be less than the maximum blob size</source>\n        <target>Value should be less than the maximum blob size</target>\n      </trans-unit>\n      <trans-unit id="151efb127a9a4dd25259a0b2055442318a141f5b" datatype="html">\n        <source>Maximum blob size</source>\n        <target>Taille de blob maximale</target>\n      </trans-unit>\n      <trans-unit id="0c656f0e346bbadf46eb1a5d20d0307a3bd20ba8" datatype="html">\n        <source>e.g., 512KiB</source>\n        <target>par ex., 512 Kio</target>\n      </trans-unit>\n      <trans-unit id="0a65a24eee8a026f3b1113fe9e157e9a0dd69486" datatype="html">\n        <source>Value should be greater than the minimum blob size</source>\n        <target>La valeur doit être supérieure à la taille de blob minimale.</target>\n      </trans-unit>\n      <trans-unit id="261ba09c4a59de83f48f52a23fd328da37e61ff4" datatype="html">\n        <source>Ratio</source>\n        <target>Rapport</target>\n      </trans-unit>\n      <trans-unit id="c1430457a9c3c66366e51d76bf10396014c576be" datatype="html">\n        <source>Compression ratio</source>\n        <target>Rapport de compression</target>\n      </trans-unit>\n      <trans-unit id="ae5ce6de352cde949998fb10754459c3a4eb183b" datatype="html">\n        <source>Value should be between 0.0 and 1.0</source>\n        <target>La valeur doit se situer entre 0.0 et 1.0</target>\n      </trans-unit>\n      <trans-unit id="8bb8293aa8161433778762ae025ffd5e7c85795e" datatype="html">\n        <source>Quotas</source>\n        <target>Quotas</target>\n      </trans-unit>\n      <trans-unit id="d99b34162c9c34f10d0ccd8dbae83d8569c2db77" datatype="html">\n        <source>Max bytes</source>\n        <target>Max bytes</target>\n      </trans-unit>\n      <trans-unit id="a1d14a18879c62f3f4ed705318b7164a1160e249" datatype="html">\n        <source>Leave it blank or specify 0 to disable this quota.</source>\n        <target>Leave it blank or specify 0 to disable this quota.</target>\n      </trans-unit>\n      <trans-unit id="7565b131562ff6c5f769fdbd239a772154abdd97" datatype="html">\n        <source>A valid quota should be greater than 0.</source>\n        <target>A valid quota should be greater than 0.</target>\n      </trans-unit>\n      <trans-unit id="f0016bd458baa88284a658ce9eeda42d8ad88d2c" datatype="html">\n        <source>e.g., 10GiB</source>\n        <target>par exemple, 10 Gio</target>\n      </trans-unit>\n      <trans-unit id="b8bf35b66f09a301eef92ffc3cb2fd259df67ce9" datatype="html">\n        <source>Max objects</source>\n        <target>Max objects</target>\n      </trans-unit>\n      <trans-unit id="95f348167622d832c5ae532b6944635c8e2ae5cb" datatype="html">\n        <source>The value should be greater or equal to 0</source>\n        <target>The value should be greater or equal to 0</target>\n      </trans-unit>\n      <trans-unit id="4f8b2bb476981727ab34ed40fde1218361f92c45" datatype="html">\n        <source>Details</source>\n        <target>Détails</target>\n      </trans-unit>\n      <trans-unit id="fbbaf5cb02ed419e79a27072478f716a4666a99d" datatype="html">\n        <source>Performance Details</source>\n        <target>Détails des performances</target>\n      </trans-unit>\n      <trans-unit id="3938a411d76796f8ae73b72ea4c77661207453bd" datatype="html">\n        <source>Cache Tiers Details</source>\n        <target>Détails des niveaux de mise en cache</target>\n      </trans-unit>\n      <trans-unit id="ecbc084370a732fc3cde1966a60af78d71424ab4" datatype="html">\n        <source>Create Bootstrap Token</source>\n        <target>Create Bootstrap Token</target>\n      </trans-unit>\n      <trans-unit id="603e9cc3ef2aab57f2b0a00e465b23b9cabefd9c" datatype="html">\n        <source>To create a bootstrap token which can be imported\n          by a peer site cluster, provide the local site\'s name, select\n          which pools will have mirroring enabled, and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Generate\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>To create a bootstrap token which can be imported\n          by a peer site cluster, provide the local site\'s name, select\n          which pools will have mirroring enabled, and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Generate\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="660f97cd3188f8a04bd03b79e703fec72c6df04c" datatype="html">\n        <source>Site Name</source>\n        <target>Site Name</target>\n      </trans-unit>\n      <trans-unit id="8c2a1dc72cffaf7ab3dc5599bf77b0a7fcad2b20" datatype="html">\n        <source>At least one pool is required.</source>\n        <target>At least one pool is required.</target>\n      </trans-unit>\n      <trans-unit id="1b258b258b4cc475ceb2871305b61756b0134f4a" datatype="html">\n        <source>Generate</source>\n        <target>Generate</target>\n      </trans-unit>\n      <trans-unit id="1edc1fc6cfbbb22353050ad6788508b3ed584f53" datatype="html">\n        <source>Token</source>\n        <target>Token</target>\n      </trans-unit>\n      <trans-unit id="ff785f5596aef34a93b9b4d1023e95c62eef5740" datatype="html">\n        <source>Generated token...</source>\n        <target>Generated token...</target>\n      </trans-unit>\n      <trans-unit id="5467a6bb0e7fade6def7499400d5e2a7d8d3da20" datatype="html">\n        <source>Import Bootstrap Token</source>\n        <target>Import Bootstrap Token</target>\n      </trans-unit>\n      <trans-unit id="9bb7aee0dec5164f45c0aa2f35f2fb2149d2c1d2" datatype="html">\n        <source>To import a bootstrap token which was created\n          by a peer site cluster, provide the local site\'s name, select\n          which pools will have mirroring enabled, provide the generated\n          token, and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Import\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>To import a bootstrap token which was created\n          by a peer site cluster, provide the local site\'s name, select\n          which pools will have mirroring enabled, provide the generated\n          token, and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Import\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="9200e09686136a1d42adfb89c12fbfef2deea125" datatype="html">\n        <source>Direction</source>\n        <target>Direction</target>\n      </trans-unit>\n      <trans-unit id="9761484679958da8d12841a4efa5964d33fae575" datatype="html">\n        <source>The token is invalid.</source>\n        <target>The token is invalid.</target>\n      </trans-unit>\n      <trans-unit id="a059709f71aa4c0ac219e160e78a738682ca6a36" datatype="html">\n        <source>Import</source>\n        <target>Import</target>\n      </trans-unit>\n      <trans-unit id="b87bd96249f8afc23f5301cddb57b1464a98e71a" datatype="html">\n        <source>Edit site name</source>\n        <target>Edit site name</target>\n      </trans-unit>\n      <trans-unit id="cfff72c667274c12eb1ff71eadc25871c10c42dc" datatype="html">\n        <source>Edit the site name and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>Edit the site name and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="40b7acea5b43f45e0bbd1efeba5200af4687981d" datatype="html">\n        <source>Site Name:</source>\n        <target>Site Name:</target>\n      </trans-unit>\n      <trans-unit id="f0b5d789d42c0e69348e5fe0037fcbf5b5fbbdcc" datatype="html">\n        <source>Move an image to trash</source>\n        <target>Déplacer une image vers la corbeille.</target>\n      </trans-unit>\n      <trans-unit id="7ad22c1d4aab3b8946603cea62de266d5129ca10" datatype="html">\n        <source>This image contains snapshot(s), which will prevent it\n            from being removed after moved to trash.</source>\n        <target>This image contains snapshot(s), which will prevent it\n            from being removed after moved to trash.</target>\n      </trans-unit>\n      <trans-unit id="b4b3ced4f8aad4c446f348b14c3d94be2e2c350c" datatype="html">\n        <source>To move \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ imageSpecStr }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,\n          click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optionally, you can pick an expiration date.\n        </source>\n        <target>To move \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ imageSpecStr }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,\n          click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optionally, you can pick an expiration date.\n        </target>\n      </trans-unit>\n      <trans-unit id="88f27d390844aad53b4240360e928156c5f0d326" datatype="html">\n        <source>Protection expires at</source>\n        <target>La protection expire le </target>\n      </trans-unit>\n      <trans-unit id="da166e9a0d27322f6ba8916d71ecc0f9905bb4b1" datatype="html">\n        <source>NOT PROTECTED</source>\n        <target>NON PROTÉGÉ</target>\n      </trans-unit>\n      <trans-unit id="a1506e5f2ca22cad14502ec7a20fb6113ace145d" datatype="html">\n        <source>Wrong date format. Please use "YYYY-MM-DD HH:mm:ss".</source>\n        <target>Format de date incorrect. Veuillez utiliser "AAAA-MM-JJ HH:mm:ss"</target>\n      </trans-unit>\n      <trans-unit id="aa7ea0bb7495281e0b3258467ac7d90a1e44a1a1" datatype="html">\n        <source>Protection has already expired. Please pick a future date or leave it empty.</source>\n        <target>La protection a déjà expiré. Veuillez sélectionner une date ultérieure ou laisser le champ vide.</target>\n      </trans-unit>\n      <trans-unit id="536b3205c0c0d4d21685ec06feccfcf2fe14deb1" datatype="html">\n        <source>Move Image</source>\n        <target>Déplacer une image</target>\n      </trans-unit>\n      <trans-unit id="c9f1026c1235f4d76ace47449e806efd181ab332" datatype="html">\n        <source>Deleting this image will also delete all its snapshots.</source>\n        <target>Deleting this image will also delete all its snapshots.</target>\n      </trans-unit>\n      <trans-unit id="55f864597e84d9bf88769e1fbfda1d64452430c9" datatype="html">\n        <source>The following snapshots are currently protected and will be removed:</source>\n        <target>The following snapshots are currently protected and will be removed:</target>\n      </trans-unit>\n      <trans-unit id="8a9910cd114c1deb9af74f6f99b4173403965bf2" datatype="html">\n        <source>Gateways</source>\n        <target>Gateways</target>\n      </trans-unit>\n      <trans-unit id="8835b9e49a3348b0a2f2162c21118af1f4bee45a" datatype="html">\n        <source>Must be greater than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'min\'] }}"/>.\n        </source>\n        <target>Must be greater than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'min\'] }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="bbddac59563c8c126e3fe28691e4e247614fcbd1" datatype="html">\n        <source>Must be less than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'max\'] }}"/>.\n        </source>\n        <target>Must be less than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'max\'] }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="e95ae009d0bdb45fcc656e8b65248cf7396080d5" datatype="html">\n        <source>Overview</source>\n        <target>Présentation</target>\n      </trans-unit>\n      <trans-unit id="bbd2045d5c37e4bb39a3c0fb62ea1ddf70a12838" datatype="html">\n        <source>Targets</source>\n        <target>Cibles</target>\n      </trans-unit>\n      <trans-unit id="6803e31b7395d94934e091a49a9524026b59b018" datatype="html">\n        <source>Discovery Authentication</source>\n        <target>Authentification de la découverte</target>\n      </trans-unit>\n      <trans-unit id="e08a77594f3d89311cdf6da5090044270909c194" datatype="html">\n        <source>User</source>\n        <target>Utilisateur</target>\n      </trans-unit>\n      <trans-unit id="0214f773f8e394f50f953f39962e352d7863e959" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n              can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Les noms d\'utilisateur doivent comporter entre 8 et 64 caractères et\n                        ne peuvent contenir que des lettres et les caractères \'.\', \'@\', \'-\', \'_\' ou \':\'.</target>\n      </trans-unit>\n      <trans-unit id="c32ef07f8803a223a83ed17024b38e8d82292407" datatype="html">\n        <source>Password</source>\n        <target>Mot de passe</target>\n      </trans-unit>\n      <trans-unit id="6682d1c00263bee204583a5d589b308b6be88b0f" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n              and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n              and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="ff40391de7a1944ea95091e4045cc34c4979b736" datatype="html">\n        <source>Mutual User</source>\n        <target>Utilisateur commun</target>\n      </trans-unit>\n      <trans-unit id="0cf73dbebe99b737c4d288788182fc356e3c93d3" datatype="html">\n        <source>Mutual Password</source>\n        <target>Mot de passe commun</target>\n      </trans-unit>\n      <trans-unit id="8800276925157c666b103c36ff7fe8ffe11980b4" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters and\n              can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters and\n              can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="53a583cd5f15059cc958b7d547f72cc78f68e123" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n    on how to configure and enable the iSCSI Targets management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n    on how to configure and enable the iSCSI Targets management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="3b301d0044f62c92af0da53d7aaca52a436a547d" datatype="html">\n        <source>Available information:</source>\n        <target>Informations disponibles :</target>\n      </trans-unit>\n      <trans-unit id="332227f088a4877b3c11f5fb3ae8bc812c470fae" datatype="html">\n        <source>iSCSI Targets not available</source>\n        <target>Cibles iSCSI non disponibles</target>\n      </trans-unit>\n      <trans-unit id="8414a5cb9d71cc1b21b10e4a9d1f2dad558f3361" datatype="html">\n        <source>Discovery authentication</source>\n        <target>Discovery authentication</target>\n      </trans-unit>\n      <trans-unit id="0f6e8f6094b180eaf1f11bc0ffe383f1cdcd059e" datatype="html">\n        <source>Only available for RBD images with \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>fast-diff\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> enabled\n        </source>\n        <target>Only available for RBD images with \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>fast-diff\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> enabled\n        </target>\n      </trans-unit>\n      <trans-unit id="e70fcca5a99575cffef3ff8cbd5e69f06ffd0f1c" datatype="html">\n        <source>Pool</source>\n        <target>Réserve</target>\n      </trans-unit>\n      <trans-unit id="03cc5b14b0a20d075e9009ff021f4f1660ba348a" datatype="html">\n        <source>Data Pool</source>\n        <target>Réserve de données</target>\n      </trans-unit>\n      <trans-unit id="1b051734b0ee9021991c91b3ed4e81c244322462" datatype="html">\n        <source>Created</source>\n        <target>Créé</target>\n      </trans-unit>\n      <trans-unit id="7faaaa08f56427999f3be41df1093ce4089bbd75" datatype="html">\n        <source>Size</source>\n        <target>Taille</target>\n      </trans-unit>\n      <trans-unit id="afdb601c16162f2c798b16a2920955f1cc6a20aa" datatype="html">\n        <source>Objects</source>\n        <target>Objets</target>\n      </trans-unit>\n      <trans-unit id="ceac8e132384322ec778ba760875a6c6897d3e42" datatype="html">\n        <source>Object size</source>\n        <target>Taille de l\'objet</target>\n      </trans-unit>\n      <trans-unit id="0a65771c9a73b9aa609d592fc96a64801a8f40bd" datatype="html">\n        <source>Provisioned</source>\n        <target>Provisionné</target>\n      </trans-unit>\n      <trans-unit id="84a36cb75660b736773fe36ffa3d54f0f0fe363e" datatype="html">\n        <source>N/A</source>\n        <target>N/A</target>\n      </trans-unit>\n      <trans-unit id="e5c009342a4e8381f64341d0bb61c2e4685f5a4b" datatype="html">\n        <source>Total provisioned</source>\n        <target>Provisionnement total</target>\n      </trans-unit>\n      <trans-unit id="7f6bf8a43ae415f527ac961ea62471b983aaa97b" datatype="html">\n        <source>Striping unit</source>\n        <target>Unité de segmentation</target>\n      </trans-unit>\n      <trans-unit id="db710e8a8f011923f2d15d713fbae49c38b02b26" datatype="html">\n        <source>Striping count</source>\n        <target>Nombre de segmentations</target>\n      </trans-unit>\n      <trans-unit id="3a4c2a9e76634ff14a60d52a718296f722d47c67" datatype="html">\n        <source>Parent</source>\n        <target>Parent</target>\n      </trans-unit>\n      <trans-unit id="6a209e68d78ffc2cc9c53d2e76158624efab71ad" datatype="html">\n        <source>Block name prefix</source>\n        <target>Préfixe du nom de bloc</target>\n      </trans-unit>\n      <trans-unit id="5704ec2049d007c5f5fb495a5d8b607e68d58081" datatype="html">\n        <source>Order</source>\n        <target>Tri</target>\n      </trans-unit>\n      <trans-unit id="f21b1d17b6c5042bb5805516eee37fde33739dd8" datatype="html">\n        <source>Snapshots</source>\n        <target>Instantanés</target>\n      </trans-unit>\n      <trans-unit id="a5f9ba9bb9faa8284bcadb1cdbc6aaf969e9c4bb" datatype="html">\n        <source>Image</source>\n        <target>Image</target>\n      </trans-unit>\n      <trans-unit id="58e58f1a8786da9031a05e6770c5dafce82badf5" datatype="html">\n        <source>This setting overrides the global value</source>\n        <target>Ce paramètre remplace la valeur globale</target>\n      </trans-unit>\n      <trans-unit id="5decb3917d46a9ac6e5813699801becb7c3c1455" datatype="html">\n        <source>Global</source>\n        <target>Global</target>\n      </trans-unit>\n      <trans-unit id="36b46714164964c6258b08ed0a25f57d8a950f92" datatype="html">\n        <source>This is the global value. No value for this option has been set for this image.</source>\n        <target>Il s\'agit de la valeur globale. Aucune valeur de cette option n\'a été définie pour cette image.</target>\n      </trans-unit>\n      <trans-unit id="6547c9c4d5f62942ac4b1fe459cf9a03d4dbf5a0" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/> from\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/> from\n        </target>\n      </trans-unit>\n      <trans-unit id="0e9ecf29a4fa5b057bd8052e0d801b3fde6a30bf" datatype="html">\n        <source>\'/\' and \'@\' are not allowed.</source>\n        <target>Les caractères \'/\' et \'@\' ne sont pas autorisés.</target>\n      </trans-unit>\n      <trans-unit id="b99417c4dd46286ffd37c8d2e987c8b512ec7052" datatype="html">\n        <source>-- No rbd pools available --</source>\n        <target>-- Aucune réserve RBD disponible --</target>\n      </trans-unit>\n      <trans-unit id="ef83ec9c304a89d45650e580dcdc2978c37b3a83" datatype="html">\n        <source>-- Select a pool --</source>\n        <target>-- Sélectionner une réserve --</target>\n      </trans-unit>\n      <trans-unit id="d649904466254d13df1fbf2d255f0bbc6553d213" datatype="html">\n        <source>-- No namespaces available --</source>\n        <target>-- No namespaces available --</target>\n      </trans-unit>\n      <trans-unit id="e22d7bb4d2d561e0832ee0b9a3da2468a080c4f0" datatype="html">\n        <source>-- Select a namespace --</source>\n        <target>-- Select a namespace --</target>\n      </trans-unit>\n      <trans-unit id="49449943d8cbf59d8c401c8bd2e76f92e207cc5f" datatype="html">\n        <source>Use a dedicated data pool</source>\n        <target>Utiliser une réserve de données dédiée</target>\n      </trans-unit>\n      <trans-unit id="870aee0dd31a9643bf62007beb8f1ae1deb34d42" datatype="html">\n        <source>Data pool</source>\n        <target>Réserve de données</target>\n      </trans-unit>\n      <trans-unit id="3792ca829d9b9f687e1f5d7733d30e9bb0bfec47" datatype="html">\n        <source>Dedicated pool that stores the object-data of the RBD.</source>\n        <target>Réserve dédiée qui stocke les données objet du RBD.</target>\n      </trans-unit>\n      <trans-unit id="0a88bbee20570aaf9615332fb27020627044874d" datatype="html">\n        <source>You have to increase the size.</source>\n        <target>Vous devez augmenter la taille.</target>\n      </trans-unit>\n      <trans-unit id="bc2e854e111ecf2bd7db170da5e3c2ed08181d88" datatype="html">\n        <source>Advanced</source>\n        <target>Avancé</target>\n      </trans-unit>\n      <trans-unit id="3562a3778695a5f9c0445660e35301f0a39aaf73" datatype="html">\n        <source>Striping</source>\n        <target>Segmentation</target>\n      </trans-unit>\n      <trans-unit id="ef3c3f3b5f562a5cdbe0ee2874287db1534b5958" datatype="html">\n        <source>Stripe unit</source>\n        <target>Unité de segmentation</target>\n      </trans-unit>\n      <trans-unit id="84471be1049006edecbcaef1a32ae0893c229c50" datatype="html">\n        <source>-- Select stripe unit --</source>\n        <target>-- Sélectionner une unité de segmentation --</target>\n      </trans-unit>\n      <trans-unit id="8d32c5c54c8581c774a7f467fbd4e329b15a74fa" datatype="html">\n        <source>This field is required because stripe count is defined!</source>\n        <target>Ce champ est obligatoire, car le nombre de segments est défini.</target>\n      </trans-unit>\n      <trans-unit id="6bbf9040be7c5491d4a03f2185708f43a6582a3b" datatype="html">\n        <source>Stripe unit is greater than object size.</source>\n        <target>L\'unité de segmentation est supérieure à la taille de l\'objet.</target>\n      </trans-unit>\n      <trans-unit id="a682f49f9b761591661276d7c6f550e641a130a4" datatype="html">\n        <source>Stripe count</source>\n        <target>Nombre de segments</target>\n      </trans-unit>\n      <trans-unit id="baa74031990c5370008ba622d0a250f0929097f4" datatype="html">\n        <source>This field is required because stripe unit is defined!</source>\n        <target>Ce champ est obligatoire, car l\'unité de segmentation est définie.</target>\n      </trans-unit>\n      <trans-unit id="cd2ada6d5ecbd5cbf89eae0a1f5326efedac0dbc" datatype="html">\n        <source>Stripe count must be greater than 0.</source>\n        <target>Le nombre de segments doit être supérieur à 0.</target>\n      </trans-unit>\n      <trans-unit id="2c07d24bb422aa8e5e568df1c5709083f0a9c8f1" datatype="html">\n        <source>Create Namespace</source>\n        <target>Create Namespace</target>\n      </trans-unit>\n      <trans-unit id="0cca6c0485f96d3a9610d0339cb1275a5f2c3f46" datatype="html">\n        <source>Namespace already exists.</source>\n        <target>Namespace already exists.</target>\n      </trans-unit>\n      <trans-unit id="5c5331983af566d4ac6a1024d15a3511786a4aa6" datatype="html">\n        <source>You are about to rollback</source>\n        <target>Vous êtes sur le point de revenir à l\'état initial</target>\n      </trans-unit>\n      <trans-unit id="49c0408946a6d67185947f455f15cc201d0d78e6" datatype="html">\n        <source>Purge Trash</source>\n        <target>Vider la corbeille</target>\n      </trans-unit>\n      <trans-unit id="681501eecd7f44d4b7a2f619605b36676e04c5b6" datatype="html">\n        <source>To purge, select one or</source>\n        <target>To purge, select one or</target>\n      </trans-unit>\n      <trans-unit id="dfc3c34e182ea73c5d784ff7c8135f087992dac1" datatype="html">\n        <source>All</source>\n        <target>Tout</target>\n      </trans-unit>\n      <trans-unit id="ea5d338dcef50ff5c24439fd784f6a67b594c33f" datatype="html">\n        <source>pools and click</source>\n        <target>pools and click</target>\n      </trans-unit>\n      <trans-unit id="55a4f598a4894b7fd5cb88f0ffd3c37ad009dd70" datatype="html">\n        <source>Pool:</source>\n        <target>Réserve :</target>\n      </trans-unit>\n      <trans-unit id="d43dd2b9f7797e4cf3a604695bb33e4479108516" datatype="html">\n        <source>Pool name...</source>\n        <target>Nom de la réserve...</target>\n      </trans-unit>\n      <trans-unit id="b0e7c7ed1d51a0c205c815048bc9f79e24ee6db2" datatype="html">\n        <source>Restore Image</source>\n        <target>Restaurer l\'image</target>\n      </trans-unit>\n      <trans-unit id="7369384817e0ad61ce871c9afdfbb538df2f97c1" datatype="html">\n        <source>To restore</source>\n        <target>Pour restaurer</target>\n      </trans-unit>\n      <trans-unit id="e7f0abefc608f7fb452c2dc9b1cdc3dec432160e" datatype="html">\n        <source>type the image\'s new name and click</source>\n        <target>saisissez le nouveau nom de l\'image, puis cliquez sur</target>\n      </trans-unit>\n      <trans-unit id="41307dd56fea669eed72e12a6c23af275f6bfd82" datatype="html">\n        <source>New Name</source>\n        <target>Nouveau nom</target>\n      </trans-unit>\n      <trans-unit id="5c96a761dc55a21882c132c929583a424c9b8cf4" datatype="html">\n        <source>Expired at</source>\n        <target>Expiration le </target>\n      </trans-unit>\n      <trans-unit id="661041e3fcff4d3e75c561e038ca2504cf2cc643" datatype="html">\n        <source>Protected until</source>\n        <target>Protection jusqu\'au</target>\n      </trans-unit>\n      <trans-unit id="0ee3b2322a1d3277f7e3fdb8a5141ac42bcf350b" datatype="html">\n        <source>This image is protected until \n          <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.\n        </source>\n        <target>This image is protected until \n          <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="a674ab267d1934bf395f87ca1503fd474296893f" datatype="html">\n        <source>iSCSI Topology</source>\n        <target>Topologie iSCSI</target>\n      </trans-unit>\n      <trans-unit id="051dcc342cfa5c1eaf187a2001aaa162379a160c" datatype="html">\n        <source>Configure</source>\n        <target>Configure</target>\n      </trans-unit>\n      <trans-unit id="9e515f954730279c31d5301f02479666d6264e8b" datatype="html">\n        <source>Changing these parameters from their default values is usually not necessary.</source>\n        <target>Il n\'est généralement pas nécessaire de modifier ces paramètres par défaut.</target>\n      </trans-unit>\n      <trans-unit id="4e2591df099ddac796cda401c5f282da779d45f2" datatype="html">\n        <source>Identifier</source>\n        <target>Identifier</target>\n      </trans-unit>\n      <trans-unit id="62480a4859976427cf18fc8ef41d3a438eda0412" datatype="html">\n        <source>lun</source>\n        <target>lun</target>\n      </trans-unit>\n      <trans-unit id="8afc9eb4405e0aa554b2ba14140ef790cdecc040" datatype="html">\n        <source>wwn</source>\n        <target>wwn</target>\n      </trans-unit>\n      <trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html">\n        <source>Settings</source>\n        <target>Paramètres</target>\n      </trans-unit>\n      <trans-unit id="69a47cbabcc51ca942606e1d8da0ec11f98a2690" datatype="html">\n        <source>Backstore</source>\n        <target>Backstore</target>\n      </trans-unit>\n      <trans-unit id="68e710782ccb5398b3acb8844caf0b199da2c3da" datatype="html">\n        <source>Confirm</source>\n        <target>Confirmer</target>\n      </trans-unit>\n      <trans-unit id="339878da255ab55447c43afef8d9b2f9753bf5f6" datatype="html">\n        <source>Advanced Settings</source>\n        <target>Paramètres avancés</target>\n      </trans-unit>\n      <trans-unit id="1406c2fb12a20c1528b19bcc5e24a6a2386167f3" datatype="html">\n        <source>Target IQN</source>\n        <target>IQN cible</target>\n      </trans-unit>\n      <trans-unit id="5fe42339be910372fa689f559155631862d218e8" datatype="html">\n        <source>IQN has wrong pattern.</source>\n        <target>Modèle IQN incorrect.</target>\n      </trans-unit>\n      <trans-unit id="050a7ff057d1e895357540406b6be5652b4d1c71" datatype="html">\n        <source>An IQN has the following notation\n                \'iqn.$year-$month.$reversedAddress:$definedName\'</source>\n        <target>An IQN has the following notation\n                \'iqn.$year-$month.$reversedAddress:$definedName\'</target>\n      </trans-unit>\n      <trans-unit id="c8ada4b53396d8366db00a435acc61d53d857047" datatype="html">\n        <source>For example: iqn.2016-06.org.dashboard:storage:disk.sn-a8675309</source>\n        <target>Par exemple : iqn.2016-06.org.dashboard:storage:disk.sn-a8675309</target>\n      </trans-unit>\n      <trans-unit id="e60c11e1b1dfbbeda577364b8de39ded2d796c5e" datatype="html">\n        <source>More information</source>\n        <target>Plus d\'informations</target>\n      </trans-unit>\n      <trans-unit id="9b1aa85dfc6849196e64060db02c5410de69b7a1" datatype="html">\n        <source>This target has modified advanced settings.</source>\n        <target>Des paramètres avancés de cette cible ont été modifiés.</target>\n      </trans-unit>\n      <trans-unit id="6990ad8d6182662e864495ac31c3758cda1c7a28" datatype="html">\n        <source>Portals</source>\n        <target>Portails</target>\n      </trans-unit>\n      <trans-unit id="6a3ac2b4137d723fd9878cd357c2012ff6c07973" datatype="html">\n        <source>Add portal</source>\n        <target>Ajouter un portail</target>\n      </trans-unit>\n      <trans-unit id="c3638c01b6c34066438909713ec96087c813fc7e" datatype="html">\n        <source>At least \n          <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.\n        </source>\n        <target>At least \n          <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.\n        </target>\n      </trans-unit>\n      <trans-unit id="9aff25be088f0efe3eaaf62edf2bff41cc41a617" datatype="html">\n        <source>Backstore: \n          <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. \n        </source>\n        <target>Backstore: \n          <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. \n        </target>\n      </trans-unit>\n      <trans-unit id="e3484cae8b118c576ca2815bf9c9406c2eb2cae3" datatype="html">\n        <source>This image has modified settings.</source>\n        <target>Des paramètres avancés de cette image ont été modifiés.</target>\n      </trans-unit>\n      <trans-unit id="1dff11e0820b6722ab240169f1232d70a54beaaa" datatype="html">\n        <source>Duplicated LUN numbers.</source>\n        <target>Duplicated LUN numbers.</target>\n      </trans-unit>\n      <trans-unit id="bf2dccf92ccff6e3b091792bf4205595406e1bfb" datatype="html">\n        <source>Duplicated WWN.</source>\n        <target>Duplicated WWN.</target>\n      </trans-unit>\n      <trans-unit id="808038f912fdc7f0e03f82d4afd3bf9178527fc8" datatype="html">\n        <source>Add image</source>\n        <target>Ajouter une image</target>\n      </trans-unit>\n      <trans-unit id="66c5fb27f52e75b70ca4b670b9b15a2a51cf9543" datatype="html">\n        <source>ACL authentication</source>\n        <target>Authentification ACL</target>\n      </trans-unit>\n      <trans-unit id="419c8b402609dcf49ae4932a5a4647dc8d79bbaf" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n                can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Usernames must have a length of 8 to 64 characters and\n                can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</target>\n      </trans-unit>\n      <trans-unit id="938050960d6653fddfcfd42425e18fb35a308262" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n                and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n                and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="f494bd31f095f6dcc656ce87ec2dcf07a2e9b30c" datatype="html">\n        <source>Initiators</source>\n        <target>Initiateurs</target>\n      </trans-unit>\n      <trans-unit id="e98239d8a6be1100119ff4b5630c822b82786740" datatype="html">\n        <source>Initiator</source>\n        <target>Initiateur</target>\n      </trans-unit>\n      <trans-unit id="f2c5059d8cda15d8d03e2cce30f2d139623d9a91" datatype="html">\n        <source>Client IQN</source>\n        <target>IQN client</target>\n      </trans-unit>\n      <trans-unit id="107d5aabce23d900f0a80e6ddc1c10e29aa0bed8" datatype="html">\n        <source>Initiator IQN needs to be unique.</source>\n        <target>L\'IQN de l\'initiateur doit être unique.</target>\n      </trans-unit>\n      <trans-unit id="bbf0b34a3fcc80800fcb44b9e1e86931a530dfe3" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n                        can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Les noms d\'utilisateur doivent comporter entre 8 et 64 caractères et\n                        ne peuvent contenir que des lettres et les caractères \'.\', \'@\', \'-\', \'_\' ou \':\'.</target>\n      </trans-unit>\n      <trans-unit id="fdfee5d7a27e1bdd97a176097277bee078de6aaf" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n                        and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n                        and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="8406eb7415ee40e54d9ecb209abb056f06e3d666" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters and\n                        can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters and\n                        can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="5d1878d5fc761cbe9614bfd87047a740c82a6951" datatype="html">\n        <source>Initiator belongs to a group. Images will be configure in the group.</source>\n        <target>L\'initiateur appartient à un groupe dans lequel les images seront configurées.</target>\n      </trans-unit>\n      <trans-unit id="c0de67b9d97fafbf200f9451e8388ee8128a56ac" datatype="html">\n        <source>No items added.</source>\n        <target>Aucun élément ajouté.</target>\n      </trans-unit>\n      <trans-unit id="d565e47726158e428ecdc952fc9233b9b7d7f049" datatype="html">\n        <source>Add initiator</source>\n        <target>Ajouter un initiateur</target>\n      </trans-unit>\n      <trans-unit id="c22ba03540aa3217da059f45e7eab138b51a96e2" datatype="html">\n        <source>Groups</source>\n        <target>Groupes</target>\n      </trans-unit>\n      <trans-unit id="4c90059afafb7e160384d9f512797c95bb95c6dc" datatype="html">\n        <source>Group</source>\n        <target>Groupe</target>\n      </trans-unit>\n      <trans-unit id="3084948274cff4f56d0f431af47240e9cf02fcc7" datatype="html">\n        <source>Add group</source>\n        <target>Ajouter un groupe</target>\n      </trans-unit>\n      <trans-unit id="c3a7e364a88ea4673199dfa98bc73e6dbe09dfac" datatype="html">\n        <source>Namespaces</source>\n        <target>Namespaces</target>\n      </trans-unit>\n      <trans-unit id="aba82bfd8e177d35b76cad7cd43941f8e5e5acac" datatype="html">\n        <source>Trash</source>\n        <target>Corbeille</target>\n      </trans-unit>\n      <trans-unit id="66db799d67958d4b0765181d072df62e2d1c16f5" datatype="html">\n        <source>Issues</source>\n        <target>Problèmes</target>\n      </trans-unit>\n      <trans-unit id="ef06d69259e587e28d52372455f44c7153cda7e7" datatype="html">\n        <source>Syncing</source>\n        <target>Synchronisation en cours</target>\n      </trans-unit>\n      <trans-unit id="0b0901877d837d3fda16ba161eb74368d1c75b7a" datatype="html">\n        <source>Ready</source>\n        <target>Prêt</target>\n      </trans-unit>\n      <trans-unit id="4057c56d63a7e9b140b1d01871a9229a5f30eb27" datatype="html">\n        <source>Edit pool mirror mode</source>\n        <target>Modifier le mode de mise en miroir de la réserve</target>\n      </trans-unit>\n      <trans-unit id="e1f367f5feaab38f6637dd1f967c848b447dea2d" datatype="html">\n        <source>To edit the mirror mode for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>, select a new mode from the list and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>To edit the mirror mode for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>, select a new mode from the list and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="32ca348ef926b0a6a7a780b8b64c3a8239895cec" datatype="html">\n        <source>Peer clusters must be removed prior to disabling mirror.</source>\n        <target>Les grappes d\'homologues doivent être supprimées avant de désactiver la mise en miroir.</target>\n      </trans-unit>\n      <trans-unit id="fa61522d482349707fd7dd03b90dc5781611b17f" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/>\n  pool mirror peer\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/>\n  pool mirror peer\n        </target>\n      </trans-unit>\n      <trans-unit id="4ddcb416c1c0aa1f54acf5beef1de81813e76fa6" datatype="html">\n        <source>{VAR_SELECT, select, edit {Edit} other {Add} }</source>\n        <target>{VAR_SELECT, select, edit {Modifier} other {Ajouter} }</target>\n      </trans-unit>\n      <trans-unit id="59ca65ece457429d90104ede4674965f62edbabe" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/> the pool\n          mirror peer attributes for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> and click\n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Submit\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/> the pool\n          mirror peer attributes for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> and click\n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Submit\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="d3cc964811f852a168f4a2d5daa59068abc5cf53" datatype="html">\n        <source>Cluster Name</source>\n        <target>Nom de grappe</target>\n      </trans-unit>\n      <trans-unit id="b631721fc56cb7fb1cbd07b802a487c5753f6a2d" datatype="html">\n        <source>The cluster name is not valid.</source>\n        <target>Le nom de grappe n\'est pas valide.</target>\n      </trans-unit>\n      <trans-unit id="ca6deafa31bf421f85094807982aee4bcb20a3ae" datatype="html">\n        <source>CephX ID</source>\n        <target>ID CephX</target>\n      </trans-unit>\n      <trans-unit id="7539188a568c3d553cbde1bacaf32310c4264e24" datatype="html">\n        <source>CephX ID...</source>\n        <target>ID CephX</target>\n      </trans-unit>\n      <trans-unit id="a1c45b594b0fba22fc64e80c793a7ffe005fdb0e" datatype="html">\n        <source>The CephX ID is not valid.</source>\n        <target>L\'ID CephX n\'est pas valide.</target>\n      </trans-unit>\n      <trans-unit id="20861576fcfce773c918c782cd4f5adf32382921" datatype="html">\n        <source>Monitor Addresses</source>\n        <target>Adresses du moniteur</target>\n      </trans-unit>\n      <trans-unit id="fa28eeed2b4bd4ccbe6e9349a1c2b3cb1c5de70a" datatype="html">\n        <source>Comma-delimited addresses...</source>\n        <target>Adresses séparées par une virgule...</target>\n      </trans-unit>\n      <trans-unit id="dc016c82fd85848d5c1b2fd0e8469ee2027d9c16" datatype="html">\n        <source>The monitory address is not valid.</source>\n        <target>L\'adresse du moniteur n\'est pas valide.</target>\n      </trans-unit>\n      <trans-unit id="e0ac55b83dc6739e62bc655cfe375b67c93e7f4a" datatype="html">\n        <source>CephX Key</source>\n        <target>Clef CephX</target>\n      </trans-unit>\n      <trans-unit id="f53434bcb95bd86f1df9c8e22966f757614fc4ad" datatype="html">\n        <source>Base64-encoded key...</source>\n        <target>Clef Base64...</target>\n      </trans-unit>\n      <trans-unit id="4cd83164cd4f66b4abc2863f9ce6f599d789e4ca" datatype="html">\n        <source>CephX key must be base64 encoded.</source>\n        <target>La clef CephX doit être codée en base64.</target>\n      </trans-unit>\n      <trans-unit id="ca53d681a9892d6fdbb57ee9676582186515e961" datatype="html">\n        <source>Performance counters not available</source>\n        <target>Compteurs de performance non disponibles</target>\n      </trans-unit>\n      <trans-unit id="9424badb7e0c6ac792d020d7830645b529a80aad" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the Object Gateway management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the Object Gateway management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="479488ab6e91ecb375484edc78bee3d13467f33f" datatype="html">\n        <source>Daemons List</source>\n        <target>Liste de daemons</target>\n      </trans-unit>\n      <trans-unit id="eeba399c4dae8d4890c27b7a2cd2dc28fcf8b5f9" datatype="html">\n        <source>Performance Counters</source>\n        <target>Compteurs de performance</target>\n      </trans-unit>\n      <trans-unit id="5f67f2247b9c6bbaf24a0f2d37f4ac0537c6fa53" datatype="html">\n        <source>Loading bucket data...</source>\n        <target>Chargement des données de compartiment...</target>\n      </trans-unit>\n      <trans-unit id="2798cc1e152b1ec07fd8daf94a2a073d1ba1ebcc" datatype="html">\n        <source>Id</source>\n        <target>ID</target>\n      </trans-unit>\n      <trans-unit id="db4e1a734518691b128ef40b939cc673f01d03a6" datatype="html">\n        <source>The value is not valid.</source>\n        <target>La valeur n\'est pas valide.</target>\n      </trans-unit>\n      <trans-unit id="eabb4db920d9f9b2480cf438468b86e1bea02a9b" datatype="html">\n        <source>The chosen name is already in use.</source>\n        <target>Le nom sélectionné est déjà en cours d\'utilisation.</target>\n      </trans-unit>\n      <trans-unit id="0ee5132a8da30e0b7f9f5c70dbc91928d17dd909" datatype="html">\n        <source>Owner</source>\n        <target>Propriétaire</target>\n      </trans-unit>\n      <trans-unit id="8e4c918357c7445fbf19a203e5f0f0ece1960b3b" datatype="html">\n        <source>-- Select a user --</source>\n        <target>-- Sélectionner un utilisateur --</target>\n      </trans-unit>\n      <trans-unit id="a4aab1f837bc8ec222e4f25922465d1c5929a1fc" datatype="html">\n        <source>Placement target</source>\n        <target>Placement target</target>\n      </trans-unit>\n      <trans-unit id="6bae0a7fc2c9c1fde7d937a8a1a3c7e6825cf7d1" datatype="html">\n        <source>-- Select a placement target --</source>\n        <target>-- Select a placement target --</target>\n      </trans-unit>\n      <trans-unit id="efeade5060b3add63863c24871f0830fb16b7e6d" datatype="html">\n        <source>Versioning</source>\n        <target>Versioning</target>\n      </trans-unit>\n      <trans-unit id="f50a33d3c339f8f4a465141f8caa5d2d8c005251" datatype="html">\n        <source>Enabled</source>\n        <target>Activé</target>\n      </trans-unit>\n      <trans-unit id="016d24e069e7d505a090fb8243e5cd43b35dc39b" datatype="html">\n        <source>Enables versioning for the objects in the bucket.</source>\n        <target>Enables versioning for the objects in the bucket.</target>\n      </trans-unit>\n      <trans-unit id="9e6775ffd06878aa145c07359f28557f01ede04f" datatype="html">\n        <source>Multi-Factor Authentication</source>\n        <target>Multi-Factor Authentication</target>\n      </trans-unit>\n      <trans-unit id="29e8a5d4fb767d4ad0c762c81c6264cec4c0ba97" datatype="html">\n        <source>Delete enabled</source>\n        <target>Delete enabled</target>\n      </trans-unit>\n      <trans-unit id="40fbc3ac8c1ea4ecfe62247e91f1f999ad5baf76" datatype="html">\n        <source>Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state.</source>\n        <target>Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state.</target>\n      </trans-unit>\n      <trans-unit id="d24c93a8c13db46defa06ed7b5e026a3edb52b91" datatype="html">\n        <source>Token Serial Number</source>\n        <target>Token Serial Number</target>\n      </trans-unit>\n      <trans-unit id="e6d9536c2af2e5e9a228c3e3e1809dc1fefe0149" datatype="html">\n        <source>Token PIN</source>\n        <target>Token PIN</target>\n      </trans-unit>\n      <trans-unit id="7b84370895ab9eb44672f57146fa05c5947f1c0c" datatype="html">\n        <source>Locking</source>\n        <target>Locking</target>\n      </trans-unit>\n      <trans-unit id="f038d51ab1645f15b0cd58f195c72a7eeebd4729" datatype="html">\n        <source>Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket.</source>\n        <target>Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket.</target>\n      </trans-unit>\n      <trans-unit id="9af1b4baa2dd8ed2bfc3cc756b12a2271c2dd793" datatype="html">\n        <source>Compliance</source>\n        <target>Compliance</target>\n      </trans-unit>\n      <trans-unit id="edd600fa489d1b4a4448dce694ed932e52ce8fda" datatype="html">\n        <source>Governance</source>\n        <target>Governance</target>\n      </trans-unit>\n      <trans-unit id="a5c3d9d2296f7886e8289b9f623323803deacfc6" datatype="html">\n        <source>Days</source>\n        <target>Days</target>\n      </trans-unit>\n      <trans-unit id="218c7d6d318c51e7105309aaeb0baec9d19e4efb" datatype="html">\n        <source>The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</source>\n        <target>The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</target>\n      </trans-unit>\n      <trans-unit id="289b101ec12427b3ca819df9e43cc3b14fae2cc4" datatype="html">\n        <source>The entered value must be a positive integer.</source>\n        <target>The entered value must be a positive integer.</target>\n      </trans-unit>\n      <trans-unit id="def9fc628134d3a044b7c0ad2a83c846bdad56f1" datatype="html">\n        <source>Retention period requires either Days or Years.</source>\n        <target>Retention period requires either Days or Years.</target>\n      </trans-unit>\n      <trans-unit id="003c94fc143882ac8af6251a1595fe62978fe3e6" datatype="html">\n        <source>Years</source>\n        <target>Years</target>\n      </trans-unit>\n      <trans-unit id="14c6189ead0951f13049c7bf9af7642d0c41957a" datatype="html">\n        <source>The number of years that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</source>\n        <target>The number of years that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</target>\n      </trans-unit>\n      <trans-unit id="45cc8ca94b5a50842a9a8ef804a5ab089a38ae5c" datatype="html">\n        <source>ID</source>\n        <target>ID</target>\n      </trans-unit>\n      <trans-unit id="e5c51963a9c553b29427ef783bbb69fa6634fa8c" datatype="html">\n        <source>Index type</source>\n        <target>Type d\'index</target>\n      </trans-unit>\n      <trans-unit id="8e6f950a32eaea32ec7e192f9ca3d3dfe469d4ba" datatype="html">\n        <source>Placement rule</source>\n        <target>Règle de placement</target>\n      </trans-unit>\n      <trans-unit id="6972d213e31c4ea4f887e60db99d9881bc8fcd3e" datatype="html">\n        <source>Marker</source>\n        <target>Marqueur</target>\n      </trans-unit>\n      <trans-unit id="47b02acd2d3254d1ace1926f840523f154ebef71" datatype="html">\n        <source>Maximum marker</source>\n        <target>Marqueur maximum</target>\n      </trans-unit>\n      <trans-unit id="8fe73a4787b8068b2ba61f54ab7e0f9af2ea1fc9" datatype="html">\n        <source>Version</source>\n        <target>Version</target>\n      </trans-unit>\n      <trans-unit id="092fa3a7df9168b14d3f83a77a4035e92b92ce15" datatype="html">\n        <source>Master version</source>\n        <target>Version principale</target>\n      </trans-unit>\n      <trans-unit id="97434cc5001d407f90c7447a12d9e8e6848a2aa3" datatype="html">\n        <source>Modification time</source>\n        <target>Date de modification</target>\n      </trans-unit>\n      <trans-unit id="90fe2e41e7fde38453ce4e619efeea9bc6adea9c" datatype="html">\n        <source>Zonegroup</source>\n        <target>Groupe de zones</target>\n      </trans-unit>\n      <trans-unit id="62a923f047ca49e7a4782629e91fea1ba32db68f" datatype="html">\n        <source>MFA Delete</source>\n        <target>MFA Delete</target>\n      </trans-unit>\n      <trans-unit id="649a410bd0ace333d067d8fa22f12bdbdb43533b" datatype="html">\n        <source>Bucket quota</source>\n        <target>Quota de compartiments</target>\n      </trans-unit>\n      <trans-unit id="cef1595d040e77cbb4466e60382028d4c2040cac" datatype="html">\n        <source>Maximum size</source>\n        <target>Taille maximale</target>\n      </trans-unit>\n      <trans-unit id="aa6fb95c355f172bda303de1ce2f38c251a149cf" datatype="html">\n        <source>Unlimited</source>\n        <target>Illimité</target>\n      </trans-unit>\n      <trans-unit id="ee862a800364b4d11f9b8cb9955a28a60f840a45" datatype="html">\n        <source>Maximum objects</source>\n        <target>Nombre maximal d\'objets</target>\n      </trans-unit>\n      <trans-unit id="08c74dc9762957593b91f6eb5d65efdfc975bf48" datatype="html">\n        <source>Username</source>\n        <target>Nom d\'utilisateur</target>\n      </trans-unit>\n      <trans-unit id="49c614babd1950adb2be75df4e2c9747286d6adc" datatype="html">\n        <source>-- Select a username --</source>\n        <target>-- Sélectionner un nom d\'utilisateur --</target>\n      </trans-unit>\n      <trans-unit id="c217ee914725a37e9dd2336c721c8e63e9666bdc" datatype="html">\n        <source>Auto-generate key</source>\n        <target>Générer automatiquement la clef</target>\n      </trans-unit>\n      <trans-unit id="2f1c1c0f2bce4c9f92d1a2061e8161cb0006c31a" datatype="html">\n        <source>Access key</source>\n        <target>Clef d\'accès</target>\n      </trans-unit>\n      <trans-unit id="b864acb67296a9819c1db0069c4c47d8b5ce8f44" datatype="html">\n        <source>Secret key</source>\n        <target>Clef secrète</target>\n      </trans-unit>\n      <trans-unit id="b760f123248930122fc7e7b6b6bf94e376e959c8" datatype="html">\n        <source>Full name</source>\n        <target>Nom complet</target>\n      </trans-unit>\n      <trans-unit id="69b6ac577a19acc39fc0c22342092f327fff2529" datatype="html">\n        <source>Email address</source>\n        <target>Adresse électronique</target>\n      </trans-unit>\n      <trans-unit id="92f3f203270a29b3001871153f02c063484a1574" datatype="html">\n        <source>Suspended</source>\n        <target>Suspendu</target>\n      </trans-unit>\n      <trans-unit id="8011e20c5bbe51602d459a860fbf29b599b55edd" datatype="html">\n        <source>System</source>\n        <target>Système</target>\n      </trans-unit>\n      <trans-unit id="db18a2772988415466a7f75dc42663ce78c9c1d3" datatype="html">\n        <source>Maximum buckets</source>\n        <target>Nombre maximal de compartiments</target>\n      </trans-unit>\n      <trans-unit id="2c4c62e8ba24601be5cfe7dc5d32c24bbbd4b53c" datatype="html">\n        <source>Subusers</source>\n        <target>Utilisateurs secondaires</target>\n      </trans-unit>\n      <trans-unit id="17bb3082e6fe5003203ef992a3714172334631a1" datatype="html">\n        <source>Capabilities</source>\n        <target>Fonctionnalités</target>\n      </trans-unit>\n      <trans-unit id="36ad38f9c1a1485e09b67778a28af84553290ffb" datatype="html">\n        <source>User quota</source>\n        <target>Quota utilisateur</target>\n      </trans-unit>\n      <trans-unit id="2aba1e87039819aca3b70faa9aa848c12bf139ca" datatype="html">\n        <source>Show</source>\n        <target>Afficher</target>\n      </trans-unit>\n      <trans-unit id="0bcd5ef19af0f1b814141ca8c57df623d8270088" datatype="html">\n        <source>Keys</source>\n        <target>Clefs</target>\n      </trans-unit>\n      <trans-unit id="f61c6867295f3b53d23557021f2f4e0aa1d0b8fc" datatype="html">\n        <source>Type</source>\n        <target>Type</target>\n      </trans-unit>\n      <trans-unit id="1221ca97d19eaa9a7bc0c5243d5fc5befe1d2314" datatype="html">\n        <source>-- Select a type --</source>\n        <target>-- Sélectionner un type --</target>\n      </trans-unit>\n      <trans-unit id="d1b8990332af18f1c5159a6061ca889bcbb28432" datatype="html">\n        <source>Permission</source>\n        <target>Autorisation</target>\n      </trans-unit>\n      <trans-unit id="a08c589f82f69d892307288da14190ae1dd583d5" datatype="html">\n        <source>-- Select a permission --</source>\n        <target>-- Sélectionner une autorisation --</target>\n      </trans-unit>\n      <trans-unit id="b2841767821d6b66238c34d07e413b0af67aee92" datatype="html">\n        <source>Subuser</source>\n        <target>Utilisateur secondaire</target>\n      </trans-unit>\n      <trans-unit id="bd59fc25a7bd98cff3e75117c09697c8a007a514" datatype="html">\n        <source>The chosen subuser ID is already in use.</source>\n        <target>L\'ID d\'utilisateur secondaire sélectionné est déjà utilisé.</target>\n      </trans-unit>\n      <trans-unit id="3d386c357ebcbc04ed05c4babd5a03626f9b1674" datatype="html">\n        <source>read, write</source>\n        <target>lire, écrire</target>\n      </trans-unit>\n      <trans-unit id="84e3e3f9a4f31a039b648c97debf95fcb20f4c4a" datatype="html">\n        <source>full</source>\n        <target>complet</target>\n      </trans-unit>\n      <trans-unit id="b6bf81d032a2316464f9df2f0d2f3d753f89f0d3" datatype="html">\n        <source>Swift key</source>\n        <target>Clé Swift</target>\n      </trans-unit>\n      <trans-unit id="1e0c12685d50d47448ceed9423977ef39775c037" datatype="html">\n        <source>Auto-generate secret</source>\n        <target>Générer automatiquement le secret</target>\n      </trans-unit>\n      <trans-unit id="3d1c7a6004bd5d86a7fa096ae24209e8aa7a53e3" datatype="html">\n        <source>Loading user data...</source>\n        <target>Chargement des donnés utilisateur…</target>\n      </trans-unit>\n      <trans-unit id="faa5d834ab28571423d794d32b57998920efb65f" datatype="html">\n        <source>The user data could not be loaded.</source>\n        <target>Les donnés utilisateur n\'ont pas pu être chargées.</target>\n      </trans-unit>\n      <trans-unit id="6aaf5d2a304167272ac73e3b1d1c162e16c77858" datatype="html">\n        <source>The chosen user ID is already in use.</source>\n        <target>L\'ID utilisateur spécifié est déjà utilisé.</target>\n      </trans-unit>\n      <trans-unit id="df441e80db2157f9d272b75de724ba4a82b96b57" datatype="html">\n        <source>This is not a valid email address.</source>\n        <target>Ceci n\'est pas une adresse électronique valide.</target>\n      </trans-unit>\n      <trans-unit id="ca271adf154956b8fcb28f4f50a37acb3057ff7c" datatype="html">\n        <source>The chosen email address is already in use.</source>\n        <target>L\'adresse électronique spécifiée est déjà utilisée.</target>\n      </trans-unit>\n      <trans-unit id="030197cebe938edf35422e92fe14183d06eb670b" datatype="html">\n        <source>Max. buckets</source>\n        <target>Nombre max. de compartiments</target>\n      </trans-unit>\n      <trans-unit id="f39256070bfc0714020dfee08895421fc1527014" datatype="html">\n        <source>Disabled</source>\n        <target>Désactivé</target>\n      </trans-unit>\n      <trans-unit id="a5c05002b0ac2040f1aede5e727e0ffd06eda819" datatype="html">\n        <source>Custom</source>\n        <target>Personnalisé</target>\n      </trans-unit>\n      <trans-unit id="28872515cb81d197a3a1733fa546d3e0f0dd6c67" datatype="html">\n        <source>The entered value must be &gt;= 1.</source>\n        <target>The entered value must be &gt;= 1.</target>\n      </trans-unit>\n      <trans-unit id="583a219c524155c2314eb06ee29162bb315272a3" datatype="html">\n        <source>S3 key</source>\n        <target>Clef S3</target>\n      </trans-unit>\n      <trans-unit id="128d6efb51d9ddc7c0cc695a2deeca5b9523f6e4" datatype="html">\n        <source>There are no subusers.</source>\n        <target>Il n\'y a aucun utilisateur secondaire.</target>\n      </trans-unit>\n      <trans-unit id="7fd6dfb8ecb982dbc3affb2c2d5414c4f5b6abd2" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ subuserLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ subuserLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="67c746c1ba9dab4351fedc4c7cba4e6d6b0dbc47" datatype="html">\n        <source>S3</source>\n        <target>S3</target>\n      </trans-unit>\n      <trans-unit id="d6819038d608623503918fb2553f53d68231ec3a" datatype="html">\n        <source>There are no keys.</source>\n        <target>Il n\'y a pas de clefs.</target>\n      </trans-unit>\n      <trans-unit id="fc1c1a7140ff6b815a95b65ee2780fdbe1b2b7a1" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ s3keyLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ s3keyLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6ddb5e991a3ecd2659fb520bc5acc81b67e08ddd" datatype="html">\n        <source>Swift</source>\n        <target>Swift</target>\n      </trans-unit>\n      <trans-unit id="1d01eccdda47fc907c5be35bcb16d2dcd02b0270" datatype="html">\n        <source>There are no capabilities.</source>\n        <target>Il n\'y a aucune fonctionnalité.</target>\n      </trans-unit>\n      <trans-unit id="043e2ec0036ceadd926fd5e3f93cd6f3565f3648" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.ADD | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.ADD | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="f5a451c4ea65a4046f0b49d489a7013abf0b5861" datatype="html">\n        <source>All capabilities are already added.</source>\n        <target>All capabilities are already added.</target>\n      </trans-unit>\n      <trans-unit id="6146e13ceca5fa5cc17b771b282fe5955f3d19fa" datatype="html">\n        <source>Unlimited size</source>\n        <target>Taille illimitée</target>\n      </trans-unit>\n      <trans-unit id="f6db8aa7c99fdce18edb33dde57729acede2b308" datatype="html">\n        <source>Max. size</source>\n        <target>Taille max.</target>\n      </trans-unit>\n      <trans-unit id="fc630b2093e880fffa19df99d5cd8b87605037f8" datatype="html">\n        <source>Unlimited objects</source>\n        <target>Objets illimités</target>\n      </trans-unit>\n      <trans-unit id="6cda5a993d06f0bb10048be9d3aba6555aa9f356" datatype="html">\n        <source>Max. objects</source>\n        <target>Nombre max. d\'objets</target>\n      </trans-unit>\n      <trans-unit id="623ac50f37a26caec6fd7cd519b653e3315cba25" datatype="html">\n        <source>The entered value must be &gt;= 0.</source>\n        <target>La valeur saisie doit être &gt;= 0.</target>\n      </trans-unit>\n      <trans-unit id="1ea5c4d8942c00752dcc72e72949c5d9832f6399" datatype="html">\n        <source>Description...</source>\n        <target>Description...</target>\n      </trans-unit>\n      <trans-unit id="70f45880fce6ac5d8e468e25e82aefbba8098cfe" datatype="html">\n        <source>Permissions</source>\n        <target>Autorisations</target>\n      </trans-unit>\n      <trans-unit id="9610487cbeb5796d34d8601b5ac0c0a65f9e1d19" datatype="html">\n        <source>Roles</source>\n        <target>Rôles</target>\n      </trans-unit>\n      <trans-unit id="7f3bdcce4b2e8c37cd7f0f6c92ef8cff34b039b8" datatype="html">\n        <source>Confirm password</source>\n        <target>Confirmer le mot de passe</target>\n      </trans-unit>\n      <trans-unit id="cbb979e63ba50e0ca3adfa09cbdcaefd0853fca1" datatype="html">\n        <source>Password confirmation doesn\'t match the password.</source>\n        <target>Le mot de passe de confirmation ne correspond pas au mot de passe.</target>\n      </trans-unit>\n      <trans-unit id="96621f9ed2e4ae5204564e583d2c816bedead571" datatype="html">\n        <source>Password expiration date</source>\n        <target>Password expiration date</target>\n      </trans-unit>\n      <trans-unit id="48932db3801fe9d5d72a60a3e656bffd17c1c5d9" datatype="html">\n        <source>Password expiration date...</source>\n        <target>Password expiration date...</target>\n      </trans-unit>\n      <trans-unit id="244aae9346da82b0922506c2d2581373a15641cc" datatype="html">\n        <source>Email</source>\n        <target>Adresse électronique</target>\n      </trans-unit>\n      <trans-unit id="d0ec081dd61eb4f43aea269077bbe38eae87b7f9" datatype="html">\n        <source>Invalid email.</source>\n        <target>L\'adresse électronique n\'est pas valide.</target>\n      </trans-unit>\n      <trans-unit id="8913c216dd506e20e412e144381d8d2a65a84359" datatype="html">\n        <source>User must change password at next logon</source>\n        <target>User must change password at next logon</target>\n      </trans-unit>\n      <trans-unit id="0051a3479d3ba79135c16dc8cc017950a2cce821" datatype="html">\n        <source>You are about to remove "user read / update" permissions from your own user.</source>\n        <target>Vous êtes sur le point de supprimer les autorisations "lecture/mise à jour utilisateur" de votre propre utilisateur.</target>\n      </trans-unit>\n      <trans-unit id="af4bf9fcb256853f14cf947eb1deb8d7f176d3f9" datatype="html">\n        <source>If you continue, you will no longer be able to add or remove roles from any user.</source>\n        <target>Si vous continuez, vous ne serez plus en mesure d\'ajouter ni de supprimer des rôles pour n\'importe quel utilisateur.</target>\n      </trans-unit>\n      <trans-unit id="7d1dcf2a9146caac0581329acf94806ec69a89a5" datatype="html">\n        <source>Are you sure you want to continue?</source>\n        <target>Voulez-vous vraiment continuer ?</target>\n      </trans-unit>\n      <trans-unit id="85b79c9064aed1ead31ace985f31aa1363f6bdaf" datatype="html">\n        <source>Help</source>\n        <target>Aide</target>\n      </trans-unit>\n      <trans-unit id="fcfd4675b4c90f08d18d3abede9a9a4dff4cfdc7" datatype="html">\n        <source>Documentation</source>\n        <target>Documentation</target>\n      </trans-unit>\n      <trans-unit id="e351b40b3869a5c7d19c3d4918cb1ac7aaab95c4" datatype="html">\n        <source>API</source>\n        <target>API</target>\n      </trans-unit>\n      <trans-unit id="004b222ff9ef9dd4771b777950ca1d0e4cd4348a" datatype="html">\n        <source>About</source>\n        <target>À propos de</target>\n      </trans-unit>\n      <trans-unit id="1481ecd21e760ac919a24e26cf790acd82e40199" datatype="html">\n        <source>Dashboard Settings</source>\n        <target>Paramètres du tableau de bord</target>\n      </trans-unit>\n      <trans-unit id="a79aab4ef674bf3f6532292107c0054302236e0f" datatype="html">\n        <source>User management</source>\n        <target>Gestion des utilisateurs</target>\n      </trans-unit>\n      <trans-unit id="049dfd9fe6c78914ad58cf89ac6a631fca28ec74" datatype="html">\n        <source>Logged in user</source>\n        <target>Utilisateur connecté</target>\n      </trans-unit>\n      <trans-unit id="cd38a58e73f306d838e621959d47d5e7a2f06d1f" datatype="html">\n        <source>Signed in as\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ username }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>\n        </source>\n        <target>Signed in as\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ username }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="739516c2ca75843d5aec9cf0e6b3e4335c4227b9" datatype="html">\n        <source>Change password</source>\n        <target>Change password</target>\n      </trans-unit>\n      <trans-unit id="5d22c795daf43877a5f708dca2bccd549eb0471d" datatype="html">\n        <source>Sign out</source>\n        <target>Se déconnecter</target>\n      </trans-unit>\n      <trans-unit id="91853167141c37b58868f3b0421383dd72fa8a01" datatype="html">\n        <source>Attributes (OSD map)</source>\n        <target>Attributs (carte OSD)</target>\n      </trans-unit>\n      <trans-unit id="97842f379e1d4157ac3ab0661b90c352e7cb72d5" datatype="html">\n        <source>Metadata not available</source>\n        <target>Métadonnées non disponibles</target>\n      </trans-unit>\n      <trans-unit id="f721a500a68c357e8f2a01e60510f6a01e4ba529" datatype="html">\n        <source>Metadata</source>\n        <target>Métadonnées</target>\n      </trans-unit>\n      <trans-unit id="deba10b7279a589d01e919ea11f43c79ca1773e3" datatype="html">\n        <source>Device health</source>\n        <target>Device health</target>\n      </trans-unit>\n      <trans-unit id="d24e28e19c5703d7c6be44f4eb595a6a43b618ed" datatype="html">\n        <source>Performance counter</source>\n        <target>Compteur de performance</target>\n      </trans-unit>\n      <trans-unit id="d1f7c81ed9c5034af4abcdf119b1c1e86cd019dd" datatype="html">\n        <source>Histogram not available: \n          <x id="INTERPOLATION" equiv-text="{{ osd.histogram_failed }}"/>\n        </source>\n        <target>Histogram not available: \n          <x id="INTERPOLATION" equiv-text="{{ osd.histogram_failed }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="868abfff914873d1c65df798d8432ed04b8ae2a9" datatype="html">\n        <source>Writes</source>\n        <target>Écritures</target>\n      </trans-unit>\n      <trans-unit id="996ebb9a653b5067f97bf3891ea9d2108e969492" datatype="html">\n        <source>Reads</source>\n        <target>Lectures</target>\n      </trans-unit>\n      <trans-unit id="65ac79790aa477a97b1cc579e18a115a8df8918f" datatype="html">\n        <source>Histogram</source>\n        <target>Histogramme</target>\n      </trans-unit>\n      <trans-unit id="3d87fc20ea8e5f0f0500ba5d5061b345be78ec5e" datatype="html">\n        <source>No hostname found.</source>\n        <target>No hostname found.</target>\n      </trans-unit>\n      <trans-unit id="26fb5f81b3581f06b9210defb0e71dc69a67e819" datatype="html">\n        <source>Current values</source>\n        <target>Valeurs actuelles</target>\n      </trans-unit>\n      <trans-unit id="9abcd7c82643d60c22733470463f74e4a54bc069" datatype="html">\n        <source>Min</source>\n        <target>Minimum</target>\n      </trans-unit>\n      <trans-unit id="c3ced4d162a0a55ee233a187ce7208ba5e922418" datatype="html">\n        <source>Max</source>\n        <target>Maximum</target>\n      </trans-unit>\n      <trans-unit id="6834fa6b43d1ecbdf147c48dd9c4d72f1484571d" datatype="html">\n        <source>Source</source>\n        <target>Source</target>\n      </trans-unit>\n      <trans-unit id="a446fb0eb11fbffcac805ece5a2d306d24e733d8" datatype="html">\n        <source>Level</source>\n        <target>Niveau</target>\n      </trans-unit>\n      <trans-unit id="39f2fb094e9b2eda13163fa3f3a31594cf9c1307" datatype="html">\n        <source>Can be updated at runtime (editable)</source>\n        <target>Mise à jour possible lors de l\'exécution (modifiable)</target>\n      </trans-unit>\n      <trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b" datatype="html">\n        <source>Tags</source>\n        <target>Balises</target>\n      </trans-unit>\n      <trans-unit id="ab0089ef47af61ca1d137bc908b96c290dfd9287" datatype="html">\n        <source>Enum values</source>\n        <target>Valeurs d\'énuménation</target>\n      </trans-unit>\n      <trans-unit id="819476f1264f1659f38e86f6abb542141b184832" datatype="html">\n        <source>See also</source>\n        <target>Voir aussi</target>\n      </trans-unit>\n      <trans-unit id="73caac4265ea7314ff061e5a1d78a6361a6dd3b8" datatype="html">\n        <source>Cluster Status</source>\n        <target>Statut de la grappe</target>\n      </trans-unit>\n      <trans-unit id="1d4bc612bbf19aa9553853266b9e92c9d75f4464" datatype="html">\n        <source>Manager Daemons</source>\n        <target>Daemons du gestionnaire</target>\n      </trans-unit>\n      <trans-unit id="946ac5dea9921dc09d7b0a63b89535371f283b19" datatype="html">\n        <source>Object Gateways</source>\n        <target>Passerelles d\'objet</target>\n      </trans-unit>\n      <trans-unit id="ff03fa5bcf37c4da46ad736c1f7d03f959e8ba9a" datatype="html">\n        <source>Metadata Servers</source>\n        <target>Serveurs de métadonnées</target>\n      </trans-unit>\n      <trans-unit id="d817609ba4993eba859409ab71e566168f4d5f5a" datatype="html">\n        <source>iSCSI Gateways</source>\n        <target>Passerelles iSCSI</target>\n      </trans-unit>\n      <trans-unit id="42c13e50391250ea9379bdf55d5d6c0228c0c8bc" datatype="html">\n        <source>Client IOPS</source>\n        <target>IOPS client</target>\n      </trans-unit>\n      <trans-unit id="52213660b2454d139ada3079a42ec6caf3c3c01e" datatype="html">\n        <source>Client Throughput</source>\n        <target>Débit client</target>\n      </trans-unit>\n      <trans-unit id="32efd1c3f70e3c5244239de97a2cc95d98534a14" datatype="html">\n        <source>Client Read/Write</source>\n        <target>Lectures/Écritures client</target>\n      </trans-unit>\n      <trans-unit id="275485415092cbae3a9f3cbb786ebe283cacfdd5" datatype="html">\n        <source>Recovery Throughput</source>\n        <target>Débit de récupération</target>\n      </trans-unit>\n      <trans-unit id="6d9a9f55046891733ef71170e7652063765eb542" datatype="html">\n        <source>Scrub</source>\n        <target>Nettoyer</target>\n      </trans-unit>\n      <trans-unit id="3cc9c2ae277393b3946b38c088dabff671b1ee1b" datatype="html">\n        <source>Performance</source>\n        <target>Performance</target>\n      </trans-unit>\n      <trans-unit id="88f383269db2d32cccee9e936fe549dccb9fdbf4" datatype="html">\n        <source>Raw Capacity</source>\n        <target>Capacité brute</target>\n      </trans-unit>\n      <trans-unit id="c5f8a813f91a11af99132e4beafc136cfc13d73b" datatype="html">\n        <source>PGs per OSD</source>\n        <target>Groupes de placements par OSD</target>\n      </trans-unit>\n      <trans-unit id="498a109c6e9e94f1966de01aa0326f7f0ac6fb52" datatype="html">\n        <source>PG Status</source>\n        <target>Statut du groupe de placements</target>\n      </trans-unit>\n      <trans-unit id="ce9dfdc6dccb28dc75a78c704e09dc18fb02dcfa" datatype="html">\n        <source>Capacity</source>\n        <target>Capacité</target>\n      </trans-unit>\n      <trans-unit id="44ecac93d67c6a671198091c2270354f80322327" datatype="html">\n        <source>\n          <x id="START_ITALIC_TEXT" ctype="x-i" equiv-text="<i>"/>\n          <x id="CLOSE_ITALIC_TEXT" ctype="x-i" equiv-text="</i>"/> See \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Logs\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more details.\n        </source>\n        <target>\n          <x id="START_ITALIC_TEXT" ctype="x-i" equiv-text="<i>"/>\n          <x id="CLOSE_ITALIC_TEXT" ctype="x-i" equiv-text="</i>"/> See \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Logs\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more details.\n        </target>\n      </trans-unit>\n      <trans-unit id="0c1e17956453ad772dbe82d6946f62748c692f3e" datatype="html">\n        <source>Ranks</source>\n        <target>Rangs</target>\n      </trans-unit>\n      <trans-unit id="2b24e0b0b1629d2e8a51b9da7c75d6e6379f4bc4" datatype="html">\n        <source>Standbys</source>\n        <target>Standbys</target>\n      </trans-unit>\n      <trans-unit id="50df62325726db950523a5be1c78b8905fcc25d4" datatype="html">\n        <source>MDS performance counters</source>\n        <target>MDS performance counters</target>\n      </trans-unit>\n      <trans-unit id="6e213942c6354b9cbe7a650f0f1499bfc1000fb6" datatype="html">\n        <source>Directories</source>\n        <target>Directories</target>\n      </trans-unit>\n      <trans-unit id="47116253e36f4e38a97ba41b2d3122c6c15ab904" datatype="html">\n        <source>Clients (\n          <x id="INTERPOLATION" equiv-text="{{ clients.length }}"/>)\n        </source>\n        <target>Clients (\n          <x id="INTERPOLATION" equiv-text="{{ clients.length }}"/>)\n        </target>\n      </trans-unit>\n      <trans-unit id="bd5a3b1c5a3c185c7bbb0e09a061d4cdc88ce5ad" datatype="html">\n        <source>Current</source>\n        <target>Actuel</target>\n      </trans-unit>\n      <trans-unit id="e5e7d62e942083a59b0b31f54e17cd7958186052" datatype="html">\n        <source>Updated discovery authentication</source>\n        <target>Authentification de la découverte mise à jour</target>\n      </trans-unit>\n      <trans-unit id="dd4ab758afd5fd5a6c6a25b2b30ff99d0c00e9ad" datatype="html">\n        <source>There are no portals available.</source>\n        <target>Il n\'y a aucun portail disponible.</target>\n      </trans-unit>\n      <trans-unit id="83021e45778a4a230a14ca0c6d6ccdf05500ad93" datatype="html">\n        <source>There are no images available.</source>\n        <target>Il n\'y a aucune image disponible.</target>\n      </trans-unit>\n      <trans-unit id="86684eb21f8a768e1dbc659e3d5da6861db544a0" datatype="html">\n        <source>There are no images available. Please make sure you add an image to the target.</source>\n        <target>Il n\'y a aucune image disponible. Veillez à ajouter une image à la cible.</target>\n      </trans-unit>\n      <trans-unit id="fffda6e440078f57eba93944ce051c593cc6ed7f" datatype="html">\n        <source>There are no initiators available. Please make sure you add an initiator to the target.</source>\n        <target>Il n\'y a aucun initiateur disponible. Veillez à ajouter un initiateur à la cible.</target>\n      </trans-unit>\n      <trans-unit id="cea3c6fe490385eef1584cbc4983fda7ece24bb6" datatype="html">\n        <source>target</source>\n        <target>target</target>\n      </trans-unit>\n      <trans-unit id="38baeb215c17af9d9e295e371a57f4a48ab4c191" datatype="html">\n        <source>Target</source>\n        <target>Cible</target>\n      </trans-unit>\n      <trans-unit id="99e094878070eebc1b972bac02aaa33b2bf83b35" datatype="html">\n        <source># Sessions</source>\n        <target># Sessions</target>\n      </trans-unit>\n      <trans-unit id="2ea10b3668e04e057ba96ddcaf4c9b77089008ae" datatype="html">\n        <source>Unavailable gateway(s)</source>\n        <target>Unavailable gateway(s)</target>\n      </trans-unit>\n      <trans-unit id="c49e0dd71d551bd4928d967d78f0721dbf9f95e3" datatype="html">\n        <source>Target has active sessions</source>\n        <target>Target has active sessions</target>\n      </trans-unit>\n      <trans-unit id="a87acd72dfb68b45175270695209550a85adf50c" datatype="html">\n        <source>iSCSI target</source>\n        <target>iSCSI target</target>\n      </trans-unit>\n      <trans-unit id="873b72903b1858a9cd6c8967521030b4d7d1435b" datatype="html">\n        <source>State</source>\n        <target>État</target>\n      </trans-unit>\n      <trans-unit id="02b75464c0dc0cf49ea0208211b6fbcad3bf728a" datatype="html">\n        <source># Targets</source>\n        <target># Targets</target>\n      </trans-unit>\n      <trans-unit id="13415637c325ceefee29111b31cb48701490adf7" datatype="html">\n        <source>Read Bytes</source>\n        <target>Octets de lecture</target>\n      </trans-unit>\n      <trans-unit id="e2ed82b7bbf4a006e60e6208c597b05d5b5556e9" datatype="html">\n        <source>Write Bytes</source>\n        <target>Octets d\'écriture</target>\n      </trans-unit>\n      <trans-unit id="6a32a5f58845ca840185ea9564682094e77a1d80" datatype="html">\n        <source>Read Ops</source>\n        <target>Opérations de lecture</target>\n      </trans-unit>\n      <trans-unit id="7c36cb8032af123d3550ffab2e1fa1e957c87fae" datatype="html">\n        <source>Write Ops</source>\n        <target>Opérations d\'écriture</target>\n      </trans-unit>\n      <trans-unit id="458c33846a8c7e2feb9404bcf06723784e756cdc" datatype="html">\n        <source>A/O Since</source>\n        <target>A/O depuis</target>\n      </trans-unit>\n      <trans-unit id="ff78f059449d44322f627d0f66df07abe476962b" datatype="html">\n        <source>Instance</source>\n        <target>Instance</target>\n      </trans-unit>\n      <trans-unit id="36fad7995cadfb3a6f0d43ef2db280146b3ca022" datatype="html">\n        <source>Issue</source>\n        <target>Problème</target>\n      </trans-unit>\n      <trans-unit id="15793f4cbc261bedbc60f7105533dde536a3f42b" datatype="html">\n        <source>Progress</source>\n        <target>Avancement</target>\n      </trans-unit>\n      <trans-unit id="25b725dba712a7a020fd34a72297befae975a492" datatype="html">\n        <source>Edit Site Name</source>\n        <target>Edit Site Name</target>\n      </trans-unit>\n      <trans-unit id="8c375764db42f5d736fb56d01b8052c006ccc8e2" datatype="html">\n        <source>Edit Mode</source>\n        <target>Mode d\'édition</target>\n      </trans-unit>\n      <trans-unit id="45932f2a0ea524b3425f4320ee46a6d1c68977bc" datatype="html">\n        <source>Add Peer</source>\n        <target>Ajouter un homologue</target>\n      </trans-unit>\n      <trans-unit id="d3dc34662e3cda0dad646221651cebd26f731485" datatype="html">\n        <source>Edit Peer</source>\n        <target>Modifier un homologue</target>\n      </trans-unit>\n      <trans-unit id="e8a0ec0b6ee72db0f27c186e09640d1ed41964bd" datatype="html">\n        <source>Delete Peer</source>\n        <target>Supprimer un homologue</target>\n      </trans-unit>\n      <trans-unit id="314de06d6f64d39149e78e6d796585c0246fec0b" datatype="html">\n        <source>Leader</source>\n        <target>Leader</target>\n      </trans-unit>\n      <trans-unit id="7acaab450312114059ced9e3737798ee9aa738b1" datatype="html">\n        <source># Local</source>\n        <target>nb en local</target>\n      </trans-unit>\n      <trans-unit id="7a3ffd88868135c44be3994263bb8e49d8358884" datatype="html">\n        <source># Remote</source>\n        <target>nb à distance</target>\n      </trans-unit>\n      <trans-unit id="85ca0fd6a6ddd211023c70a25753122c5b978787" datatype="html">\n        <source>mirror peer</source>\n        <target>mettre en miroir l\'homologue</target>\n      </trans-unit>\n      <trans-unit id="a6493c6ca346cd052da40423eda9c132de2b2002" datatype="html">\n        <source>Key</source>\n        <target>Clef</target>\n      </trans-unit>\n      <trans-unit id="e9cac80fb5d9de66f0006d0bec530fd1fc69a674" datatype="html">\n        <source>RBD</source>\n        <target>RBD</target>\n      </trans-unit>\n      <trans-unit id="4130b1a836f2000cfe9a11fb62493dc42d444de7" datatype="html">\n        <source>Deep flatten</source>\n        <target>Aplatissement en profondeur</target>\n      </trans-unit>\n      <trans-unit id="7b17694d7cb8ecb7c8440bc999dac21b44455b33" datatype="html">\n        <source>Layering</source>\n        <target>Superposition</target>\n      </trans-unit>\n      <trans-unit id="6a072ce577c2079d0e0c31071a16824f6d22b84d" datatype="html">\n        <source>Exclusive lock</source>\n        <target>Verrou exclusif</target>\n      </trans-unit>\n      <trans-unit id="7354f01320bf936a7f85577c9f71402635c3a362" datatype="html">\n        <source>Object map (requires exclusive-lock)</source>\n        <target>Assignation d\'objet (nécessite exclusive-lock)</target>\n      </trans-unit>\n      <trans-unit id="fb7e625c1152f1c102cd16460955d124edff1770" datatype="html">\n        <source>Journaling (requires exclusive-lock)</source>\n        <target>Journalisation (nécessite exclusive-lock)</target>\n      </trans-unit>\n      <trans-unit id="df4044632bfc211dd96544fc8f007dabbeeb506c" datatype="html">\n        <source>Fast diff (interlocked with object-map)</source>\n        <target>Fast diff (interlocked with object-map)</target>\n      </trans-unit>\n      <trans-unit id="130fd872c78271a8f86b1ab16a76e823969c47d9" datatype="html">\n        <source>Namespace</source>\n        <target>Namespace</target>\n      </trans-unit>\n      <trans-unit id="14abc99daed542774633046c53b6ce8251331141" datatype="html">\n        <source>This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.</source>\n        <target>This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.</target>\n      </trans-unit>\n      <trans-unit id="51699f716cf34e6622ff7bfd84641480c045271a" datatype="html">\n        <source>Created namespace \'\n          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>\'\n        </source>\n        <target>Created namespace \'\n          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="bf44b7d6379ce0198ed3d95a27642a224181bf1d" datatype="html">\n        <source>Total images</source>\n        <target>Total images</target>\n      </trans-unit>\n      <trans-unit id="371ce3ffe62548d15e391a248bc554d903bb03fc" datatype="html">\n        <source>Deleted namespace \'\n          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>\'\n        </source>\n        <target>Deleted namespace \'\n          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="9d704fd00ca929f90c3119cefc581821ae58a73e" datatype="html">\n        <source>Namespace contains images</source>\n        <target>Namespace contains images</target>\n      </trans-unit>\n      <trans-unit id="c2017dc94b4f57a347ccb126e546e88942f4d7a6" datatype="html">\n        <source>RBD Snapshot</source>\n        <target>RBD Snapshot</target>\n      </trans-unit>\n      <trans-unit id="631fc50ec7c9bd81dc797a3c7e09eda1178ad999" datatype="html">\n        <source>Parent image must support Layering</source>\n        <target>Parent image must support Layering</target>\n      </trans-unit>\n      <trans-unit id="cb60c1cd3655234756b5b92d4d597d92d520ee30" datatype="html">\n        <source>PROTECTED</source>\n        <target>PROTECTED</target>\n      </trans-unit>\n      <trans-unit id="deffb86b8fb0541254ad5a43862d82bff6b6a6c4" datatype="html">\n        <source>UNPROTECTED</source>\n        <target>NON PROTÉGÉ</target>\n      </trans-unit>\n      <trans-unit id="7eb984588f4835f6d0187b33769b4b0f62821640" datatype="html">\n        <source>RBD snapshot rollback</source>\n        <target>Retour à l\'état initial de l\'instantané RBD</target>\n      </trans-unit>\n      <trans-unit id="4be22bf20ef82614ed53bcd3b912a85590aa71c9" datatype="html">\n        <source>Rollback</source>\n        <target>Revenir à l\'état initial</target>\n      </trans-unit>\n      <trans-unit id="2a04c483708d261751d62082d6f03a50d4577b1e" datatype="html">\n        <source>RBD snapshot</source>\n        <target>Intantané RBD</target>\n      </trans-unit>\n      <trans-unit id="fa96769d1ea86741297cb9b9769b0dcfde58c8b4" datatype="html">\n        <source>Deleted At</source>\n        <target>Supprimé le</target>\n      </trans-unit>\n      <trans-unit id="e928864038ca70ee7d67bbf1fd71a01c3938a127" datatype="html">\n        <source>id</source>\n        <target>ID</target>\n      </trans-unit>\n      <trans-unit id="240c9c1e96dc38814922a83ad041dc815b084f32" datatype="html">\n        <source>type</source>\n        <target>type</target>\n      </trans-unit>\n      <trans-unit id="c9d7ec7ee5b4e282f2228fa996651ec4ef5195a9" datatype="html">\n        <source>state</source>\n        <target>état</target>\n      </trans-unit>\n      <trans-unit id="5780e5c3b4fc2ae07836bb5221cec4f8d597630d" datatype="html">\n        <source>version</source>\n        <target>version</target>\n      </trans-unit>\n      <trans-unit id="fe22ca53e651df951dac25b67c17894b0980f767" datatype="html">\n        <source>Host</source>\n        <target>Hôte</target>\n      </trans-unit>\n      <trans-unit id="fb69299354312c8954ecf324997ccafcd9f6b14b" datatype="html">\n        <source>root</source>\n        <target>racine</target>\n      </trans-unit>\n      <trans-unit id="d34feb369d308075b423d5c5fc431f9766bf7a11" datatype="html">\n        <source>Evicted client "\n          <x id="INTERPOLATION" equiv-text="{{clientId}}"/>"\n        </source>\n        <target>Evicted client "\n          <x id="INTERPOLATION" equiv-text="{{clientId}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="7db875ff4cc626d394f37fba95c075b2e4bfeb00" datatype="html">\n        <source>Standby daemons</source>\n        <target>Daemons en veille</target>\n      </trans-unit>\n      <trans-unit id="3c3a423d91e36ac6624e909fcd2669a25685f847" datatype="html">\n        <source>Rank</source>\n        <target>Rang</target>\n      </trans-unit>\n      <trans-unit id="9596ecae8956e96921acef47aec787f6bdc37454" datatype="html">\n        <source>Daemon</source>\n        <target>Daemon</target>\n      </trans-unit>\n      <trans-unit id="f2005fa461c06dc2e04d8918bbabedf23604b5b7" datatype="html">\n        <source>Activity</source>\n        <target>Activité</target>\n      </trans-unit>\n      <trans-unit id="e3a986984ae0c3b43af648c3fa638649d1c00348" datatype="html">\n        <source>Dentries</source>\n        <target>Dentries</target>\n      </trans-unit>\n      <trans-unit id="7c692ab865066967d73c6d64ec0691cc6ce91b93" datatype="html">\n        <source>Inodes</source>\n        <target>Inodes</target>\n      </trans-unit>\n      <trans-unit id="45f210b96a2a6e91f52f153a4f8dc30662629f8e" datatype="html">\n        <source>Usage</source>\n        <target>Utilisation</target>\n      </trans-unit>\n      <trans-unit id="950b5f04a2efd3f11c0f76418d5a4212381e792e" datatype="html">\n        <source>Origin</source>\n        <target>Origin</target>\n      </trans-unit>\n      <trans-unit id="2ea2ec95d93fd55d0db6e9d2b95b25e153d4cec2" datatype="html">\n        <source>Max size</source>\n        <target>Max size</target>\n      </trans-unit>\n      <trans-unit id="665dced3a61bca44924a0bde4be47390225a4898" datatype="html">\n        <source>Max files</source>\n        <target>Max files</target>\n      </trans-unit>\n      <trans-unit id="0ccf776baac60794b142526986f3af85848c7059" datatype="html">\n        <source>The inherited \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/> is the maximum value to be used.\n        </source>\n        <target>The inherited \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/> is the maximum value to be used.\n        </target>\n      </trans-unit>\n      <trans-unit id="b0e2ef28384f2de6674cac300c779f900929a89b" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{action}}"/> CephFS \n          <x id="INTERPOLATION_1" equiv-text="{{quotaName}}"/> quota for \'\n          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>\'\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{action}}"/> CephFS \n          <x id="INTERPOLATION_1" equiv-text="{{quotaName}}"/> quota for \'\n          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="542ef638499635dec7641bdc2e499258094187cc" datatype="html">\n        <source>size</source>\n        <target>size</target>\n      </trans-unit>\n      <trans-unit id="ce90ff00c341d8eef96b0e7956bb85b8faba3839" datatype="html">\n        <source>files</source>\n        <target>files</target>\n      </trans-unit>\n      <trans-unit id="fbe8b9340c08c24aef62ffe81c83e2b46a4f1495" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{quotaName}}"/> quota \n          <x id="INTERPOLATION_1" equiv-text="{{value}}"/> from \'\n          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>\'\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{quotaName}}"/> quota \n          <x id="INTERPOLATION_1" equiv-text="{{value}}"/> from \'\n          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="37c2c0a4a356465eef2edfb09ffffc6db5259975" datatype="html">\n        <source>Value has to be at least \n          <x id="INTERPOLATION" equiv-text="{{value}}"/> or more\n        </source>\n        <target>Value has to be at least \n          <x id="INTERPOLATION" equiv-text="{{value}}"/> or more\n        </target>\n      </trans-unit>\n      <trans-unit id="73f8e64703a707e2cf98b9a10653cd3bbdd8cab1" datatype="html">\n        <source>Value has to be at most \n          <x id="INTERPOLATION" equiv-text="{{value}}"/> or less\n        </source>\n        <target>Value has to be at most \n          <x id="INTERPOLATION" equiv-text="{{value}}"/> or less\n        </target>\n      </trans-unit>\n      <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc" datatype="html">\n        <source>Updated</source>\n        <target>Mis à jour</target>\n      </trans-unit>\n      <trans-unit id="b6a4cf4f302c7fcbec199ce0df42b8282d682b04" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{action}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{quotaValue}}"/>\n          <x id="INTERPOLATION_2" equiv-text="{{conclusion}}"/>.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{action}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{quotaValue}}"/>\n          <x id="INTERPOLATION_2" equiv-text="{{conclusion}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="a40024afb071f68fec949094a71f832d5611bca5" datatype="html">\n        <source>in order to inherit \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>\n        </source>\n        <target>in order to inherit \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="c108ff588291e9c040adea2adf35e7236cf29925" datatype="html">\n        <source>which isn\'t used because of the inheritance of \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>\n        </source>\n        <target>which isn\'t used because of the inheritance of \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="d3785a64d1c72b03b2212855ce695b45ed0342d2" datatype="html">\n        <source>in order to have no quota on the directory</source>\n        <target>in order to have no quota on the directory</target>\n      </trans-unit>\n      <trans-unit id="c4d3a3446a7f36825291c5e76c4a6b7919f9bd2f" datatype="html">\n        <source>Create Snapshot</source>\n        <target>Create Snapshot</target>\n      </trans-unit>\n      <trans-unit id="e9af734e231b837d64df21008e2eb1fdff566a61" datatype="html">\n        <source>Please enter the name of the snapshot.</source>\n        <target>Please enter the name of the snapshot.</target>\n      </trans-unit>\n      <trans-unit id="8c4d3039e6a953b0d6f1b1313ffa60c5d2b35dc7" datatype="html">\n        <source>Created snapshot "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "\n          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"\n        </source>\n        <target>Created snapshot "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "\n          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="126ad894f74ee9a999825f3f4ac5a31fdfc093bf" datatype="html">\n        <source>CephFs Snapshot</source>\n        <target>CephFs Snapshot</target>\n      </trans-unit>\n      <trans-unit id="1e4d1c0865adc485260740c42ac5af68ce8feb13" datatype="html">\n        <source>Deleted snapshot "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "\n          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"\n        </source>\n        <target>Deleted snapshot "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "\n          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="22e4e574b7f8abf58254f328792445b42e2a924a" datatype="html">\n        <source>The value can be updated at runtime.</source>\n        <target>La valeur peut être mise à jour au moment de l\'exécution.</target>\n      </trans-unit>\n      <trans-unit id="d7770de7b2343c9deeaa7ebf37ba3e35ca5c5988" datatype="html">\n        <source>Daemons/clients do not pull this value from the\n      monitor config database. We disallow setting this option via \'ceph config\n      set ...\'. This option should be configured via ceph.conf or via the\n      command line.</source>\n        <target>Les daemons/clients ne tirent pas cette valeur de\n  la base de données de configuration de Monitor. Nous n\'autorisons pas le réglage de cette option via \'ceph config\n  set ...\'. Cette option doit être configurée via ceph.conf ou via\n  la ligne de commande.</target>\n      </trans-unit>\n      <trans-unit id="83f11fd1dc503c37931ea6c1c5c1e8c2b4b597b6" datatype="html">\n        <source>Option takes effect only during daemon startup.</source>\n        <target>L\'option ne prend effet qu\'au démarrage du daemon.</target>\n      </trans-unit>\n      <trans-unit id="837a07cd6a971038b8b1aa190c43440c9fdb5d8b" datatype="html">\n        <source>Option only affects cluster creation.</source>\n        <target>L\'option n\'affecte que la création des grappes.</target>\n      </trans-unit>\n      <trans-unit id="2566a88eb247c918b71cfe5b354c31de0d4b01e5" datatype="html">\n        <source>Option only affects daemon creation.</source>\n        <target>L\'option n\'affecte que la création des daemons.</target>\n      </trans-unit>\n      <trans-unit id="1cdc60cfc09c257625768f3d2082816cdef27279" datatype="html">\n        <source>Updated config option \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\n        </source>\n        <target>Updated config option \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="d473e0f684a60db45d6f31e993f693f74290e056" datatype="html">\n        <source>Service</source>\n        <target>Service</target>\n      </trans-unit>\n      <trans-unit id="6986e0df8092d822ac2c076520d83994c78834fc" datatype="html">\n        <source>Modified</source>\n        <target>Modified</target>\n      </trans-unit>\n      <trans-unit id="9951bb3983c7dba6fde013e05c922e4fe1a44367" datatype="html">\n        <source>Current value</source>\n        <target>Valeur actuelle</target>\n      </trans-unit>\n      <trans-unit id="4a01c175f90dd92b432f4a4a199d2c7bb9d997ff" datatype="html">\n        <source>Editable</source>\n        <target>Modifiable</target>\n      </trans-unit>\n      <trans-unit id="261c0af854e8684abc15f89dce6efb3e72344b18" datatype="html">\n        <source>host</source>\n        <target>host</target>\n      </trans-unit>\n      <trans-unit id="b1b381321d4cef04605d3e6e8847ea2b72a03799" datatype="html">\n        <source>Identify</source>\n        <target>Identify</target>\n      </trans-unit>\n      <trans-unit id="a5d5e407f8c4e1b152509c966c90f37edf68472e" datatype="html">\n        <source>Device path</source>\n        <target>Device path</target>\n      </trans-unit>\n      <trans-unit id="b7da3e3505cc80f9bf3cffc8444c53e8a9ec70a5" datatype="html">\n        <source>Available</source>\n        <target>Available</target>\n      </trans-unit>\n      <trans-unit id="396974120fc614fc930a27c8d15a094d82a3a9e4" datatype="html">\n        <source>Vendor</source>\n        <target>Vendor</target>\n      </trans-unit>\n      <trans-unit id="6ec98fa3d6504ba1fd03465194b53706c8263c99" datatype="html">\n        <source>Model</source>\n        <target>Model</target>\n      </trans-unit>\n      <trans-unit id="f2d785f5658c96c6a2f505cdd625108bcece84c3" datatype="html">\n        <source>Identify device \n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\n        </source>\n        <target>Identify device \n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="c97ab45ca09248f8f1ba60328175741657fe39ce" datatype="html">\n        <source>Please enter the duration how long to blink the LED.</source>\n        <target>Please enter the duration how long to blink the LED.</target>\n      </trans-unit>\n      <trans-unit id="87e56ee5057023d7e8b59420b838bad112b043bc" datatype="html">\n        <source>1 minute</source>\n        <target>1 minute</target>\n      </trans-unit>\n      <trans-unit id="affa3b3bf1f36531e5ae65291f8a7cd1b06860ee" datatype="html">\n        <source>2 minutes</source>\n        <target>2 minutes</target>\n      </trans-unit>\n      <trans-unit id="878c6645b7fc26d85c7aee17a9d8c282a938dcf3" datatype="html">\n        <source>5 minutes</source>\n        <target>5 minutes</target>\n      </trans-unit>\n      <trans-unit id="aa0a76140961594b7176ade241e5025a7dbb5dce" datatype="html">\n        <source>10 minutes</source>\n        <target>10 minutes</target>\n      </trans-unit>\n      <trans-unit id="0a7f83a1f27750ef634a1f1f97263fac36113b1f" datatype="html">\n        <source>15 minutes</source>\n        <target>15 minutes</target>\n      </trans-unit>\n      <trans-unit id="699b690d686dbb8e00a1e95b89ba2fffb548da6e" datatype="html">\n        <source>Execute</source>\n        <target>Execute</target>\n      </trans-unit>\n      <trans-unit id="aa975a86dd49979a3ae90b9f3fc5b2c97311d422" datatype="html">\n        <source>Identifying \'\n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\' started on host \'\n          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>\'\n        </source>\n        <target>Identifying \'\n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\' started on host \'\n          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="1a6e6ad05508130b7a99ce5b15daf3227c2a930c" datatype="html">\n        <source>Updated options for module "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>".\n        </source>\n        <target>Updated options for module "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="6bd47ff8707aa2e6a94a4a6e2566b86dc7956d5f" datatype="html">\n        <source>Always-On</source>\n        <target>Always-On</target>\n      </trans-unit>\n      <trans-unit id="ac6c9212896d39b23811ed2dadab7d07336ec559" datatype="html">\n        <source>Enable</source>\n        <target>Activer</target>\n      </trans-unit>\n      <trans-unit id="6766a926d80bb7763785621098dae459d6226429" datatype="html">\n        <source>Disable</source>\n        <target>Désactiver</target>\n      </trans-unit>\n      <trans-unit id="340f2f312c2eb353e5cd69aee6bee7f5a73c34ac" datatype="html">\n        <source>This Manager module is always on.</source>\n        <target>This Manager module is always on.</target>\n      </trans-unit>\n      <trans-unit id="6a0b3657745dd7a2f2162f1cc790bf9004d0845d" datatype="html">\n        <source>Reconnecting, please wait ...</source>\n        <target>Reconnexion en cours… Veuillez patienter.</target>\n      </trans-unit>\n      <trans-unit id="7099a8878af7a0a26fe5663c4f46cfe87142b75d" datatype="html">\n        <source>Public Address</source>\n        <target>Adresse publique</target>\n      </trans-unit>\n      <trans-unit id="cbdd1cdc0c7a87f55dd177bc44212f0fc4b80852" datatype="html">\n        <source>Open Sessions</source>\n        <target>Sessions ouvertes</target>\n      </trans-unit>\n      <trans-unit id="34c6f45591d420b1101dcee53999d1de91c0e400" datatype="html">\n        <source>No available devices</source>\n        <target>No available devices</target>\n      </trans-unit>\n      <trans-unit id="dcfe8807a2a1d0d7074a02afe9b80645bd03b9ab" datatype="html">\n        <source>Please add primary devices first</source>\n        <target>Please add primary devices first</target>\n      </trans-unit>\n      <trans-unit id="05d024719e53f85f7f294b7e21dfd805709a0b06" datatype="html">\n        <source>Add devices by using filters</source>\n        <target>Add devices by using filters</target>\n      </trans-unit>\n      <trans-unit id="37e58d1cbdf8212b380efa51422e42821d4f08e6" datatype="html">\n        <source>No In</source>\n        <target>Pas rentrés</target>\n      </trans-unit>\n      <trans-unit id="12706eb5af17ff5ad77b3de21af368d24678e00b" datatype="html">\n        <source>OSDs that were previously marked out will not be marked back in when they start</source>\n        <target>Les OSD qui ont été marqués comme sortis ne seront pas marqués comme rentrés à leur démarrage.</target>\n      </trans-unit>\n      <trans-unit id="96114d7624d11dc90ca46cfa96145fe22118df76" datatype="html">\n        <source>No Out</source>\n        <target>Pas sortis</target>\n      </trans-unit>\n      <trans-unit id="a2ef636fe1ddd56b63e4aaf3d292f33dbf735ef3" datatype="html">\n        <source>OSDs will not automatically be marked out after the configured interval</source>\n        <target>Les OSD ne seront pas marqués automatiquement comme sortis après l\'intervalle configuré.</target>\n      </trans-unit>\n      <trans-unit id="ee50aefa9b8bde1e5429b48709a23abfe08358e0" datatype="html">\n        <source>No Up</source>\n        <target>Pas démarrés</target>\n      </trans-unit>\n      <trans-unit id="608929b939307e397586a98cea52ae38997c7273" datatype="html">\n        <source>OSDs are not allowed to start</source>\n        <target>Les OSD ne sont pas autorisés à démarrer.</target>\n      </trans-unit>\n      <trans-unit id="1751ab69c1e7f62927afedbf7116e0116316c551" datatype="html">\n        <source>No Down</source>\n        <target>Pas arrêtés</target>\n      </trans-unit>\n      <trans-unit id="41fac86dfb65c1db690f3e87f6497cb73b281084" datatype="html">\n        <source>OSD failure reports are being ignored, such that the monitors will not mark OSDs down</source>\n        <target>Les rapports de défaillance des OSD sont ignorés, de sorte que les moniteurs ne marquent pas les OSD comme étant arrêtés.</target>\n      </trans-unit>\n      <trans-unit id="b2838c6165a9672a17db188f4dd9676574353dd8" datatype="html">\n        <source>Pause</source>\n        <target>Pause</target>\n      </trans-unit>\n      <trans-unit id="191d71dadcc8790573d46706a0b48211de4b8334" datatype="html">\n        <source>Pauses reads and writes</source>\n        <target>Met en pause les lectures et écritures</target>\n      </trans-unit>\n      <trans-unit id="471d5ba75836f38c19992cf83d8822632d99e473" datatype="html">\n        <source>No Scrub</source>\n        <target>Pas de nettoyage</target>\n      </trans-unit>\n      <trans-unit id="5b8caa61814121bc36dac0c34a9e9de3cae74990" datatype="html">\n        <source>Scrubbing is disabled</source>\n        <target>Nettoyage désactivé</target>\n      </trans-unit>\n      <trans-unit id="7f29a0ac1c797bdc0347dd5d0734ba83e96e7ce6" datatype="html">\n        <source>No Deep Scrub</source>\n        <target>Pas de nettoyage en profondeur</target>\n      </trans-unit>\n      <trans-unit id="01da61ab216541a8d31259cebd16b10c7e5fc124" datatype="html">\n        <source>Deep Scrubbing is disabled</source>\n        <target>Le nettoyage en profondeur est désactivé</target>\n      </trans-unit>\n      <trans-unit id="0b86c7f18ac725de62c7e192dcfccd02c0dc40ab" datatype="html">\n        <source>No Backfill</source>\n        <target>Pas de renvoi</target>\n      </trans-unit>\n      <trans-unit id="bd33a2bdc8fbed3b7469f3717c16d9aaa2851fdd" datatype="html">\n        <source>Backfilling of PGs is suspended</source>\n        <target>Le renvoi des groupes de placements est suspendu</target>\n      </trans-unit>\n      <trans-unit id="df526de2b93c4099a30c200ef551608e39ee5256" datatype="html">\n        <source>No Rebalance</source>\n        <target>No Rebalance</target>\n      </trans-unit>\n      <trans-unit id="c5b70346245f8d52b58e5e7fe222ce82f12429ce" datatype="html">\n        <source>OSD will choose not to backfill unless PG is also degraded</source>\n        <target>OSD will choose not to backfill unless PG is also degraded</target>\n      </trans-unit>\n      <trans-unit id="7fbbd036394cfa623add40299757bc87df8eaa7e" datatype="html">\n        <source>No Recover</source>\n        <target>Pas de récupération</target>\n      </trans-unit>\n      <trans-unit id="f3ee9b451a64dca47299c9b4ae1091c2008068ad" datatype="html">\n        <source>Recovery of PGs is suspended</source>\n        <target>La récupération des groupes de placements est suspendue</target>\n      </trans-unit>\n      <trans-unit id="de904148fe7e8d812218f50333ffe247900617c5" datatype="html">\n        <source>Bitwise Sort</source>\n        <target>Tri au niveau du bit</target>\n      </trans-unit>\n      <trans-unit id="2613c9fde29785bcd75f0abeccb653d14d7527b3" datatype="html">\n        <source>Use bitwise sort</source>\n        <target>Utiliser le tri au niveau du bit</target>\n      </trans-unit>\n      <trans-unit id="2fe10d84250aeee365db244251d40934c70ff1e9" datatype="html">\n        <source>Purged Snapdirs</source>\n        <target>Variables snapdir purgées</target>\n      </trans-unit>\n      <trans-unit id="6b22a5b780eda3c5d500cdac9c6d4f96978c38f1" datatype="html">\n        <source>OSDs have converted snapsets</source>\n        <target>Les OSD ont converti les variables snapset</target>\n      </trans-unit>\n      <trans-unit id="c42f0ba60564dc5b977a8c7f3fdcde9efbb39c60" datatype="html">\n        <source>Recovery Deletes</source>\n        <target>Suppressions des récupérations</target>\n      </trans-unit>\n      <trans-unit id="72fe39979198ea2ed6db6274b5029025cb316d90" datatype="html">\n        <source>Deletes performed during recovery instead of peering</source>\n        <target>Suppressions effectuées pendant la restauration et non l\'homologation</target>\n      </trans-unit>\n      <trans-unit id="1bb4a1f9127cefe624c173557a716d0ebb6d647c" datatype="html">\n        <source>PG Log Hard Limit</source>\n        <target>Limite stricte de journalisation des groupes de placements</target>\n      </trans-unit>\n      <trans-unit id="e03c0321397fdf7a9c22e8d6b5015424943c0a57" datatype="html">\n        <source>Puts a hard limit on pg log length</source>\n        <target>Impose une limite stricte à la longueur du journal des groupes de placements</target>\n      </trans-unit>\n      <trans-unit id="3c384e2e80c6b5eb24861fbf4225b69486cff4a3" datatype="html">\n        <source>Updated OSD Flags</source>\n        <target>Drapeaux OSD mis à jour</target>\n      </trans-unit>\n      <trans-unit id="948758e1412bb2ecdb98e3a4f1cbb6d7458456f2" datatype="html">\n        <source>Encryption</source>\n        <target>Encryption</target>\n      </trans-unit>\n      <trans-unit id="c8b1475105463088593de1022ff6dceb523eae0e" datatype="html">\n        <source>OSD</source>\n        <target>OSD</target>\n      </trans-unit>\n      <trans-unit id="688578fcc739d6f0c5fb6c366dbb19d21c6d9e36" datatype="html">\n        <source>out</source>\n        <target>sorti</target>\n      </trans-unit>\n      <trans-unit id="cb0f69bdd4dea41d7d45c74b6e07f98de8a2ab26" datatype="html">\n        <source>in</source>\n        <target>rentré</target>\n      </trans-unit>\n      <trans-unit id="b5fbc7c7f007dd53b2318525bb7ff8b0376c9e37" datatype="html">\n        <source>down</source>\n        <target>arrêté</target>\n      </trans-unit>\n      <trans-unit id="b58719bcb9184e1a7884d00d22d10899d59bf295" datatype="html">\n        <source>Mark</source>\n        <target>Marquer</target>\n      </trans-unit>\n      <trans-unit id="31a1c1aa03f1e5084750bedb4e3fdc04ce2cb6ca" datatype="html">\n        <source>OSD lost</source>\n        <target>OSD perdu</target>\n      </trans-unit>\n      <trans-unit id="f3fc4c85c5b8f1dedea0496b72d0af9da7b9e0d9" datatype="html">\n        <source>marked lost</source>\n        <target>marqué comme perdu</target>\n      </trans-unit>\n      <trans-unit id="40fedc157ad899a18ec40573f770d18b040959d2" datatype="html">\n        <source>Purge</source>\n        <target>Purger</target>\n      </trans-unit>\n      <trans-unit id="4f3cff08c7033b63bbccfe66006b1bcaea48ddd8" datatype="html">\n        <source>purged</source>\n        <target>purgé</target>\n      </trans-unit>\n      <trans-unit id="8e5d1b01eca6dce26a4751f0b19bda7a6ab8db5b" datatype="html">\n        <source>destroy</source>\n        <target>détruire</target>\n      </trans-unit>\n      <trans-unit id="495a06b78bf165a7b545fa002137f0846b094a3d" datatype="html">\n        <source>destroyed</source>\n        <target>détruit</target>\n      </trans-unit>\n      <trans-unit id="70ef158c584bafe788e319a0bffa11b02ee9abf1" datatype="html">\n        <source>delete</source>\n        <target>supprimer</target>\n      </trans-unit>\n      <trans-unit id="a5b387f5a15b95e339df10fc23526c659a2b6c6f" datatype="html">\n        <source>deleted</source>\n        <target>deleted</target>\n      </trans-unit>\n      <trans-unit id="107614b994f2b01abdc1ca179bf780b0cd933ec4" datatype="html">\n        <source>Recovery Priority</source>\n        <target>Recovery Priority</target>\n      </trans-unit>\n      <trans-unit id="359dad5a3a912ef9dece3194035020856805aa96" datatype="html">\n        <source>PG scrub</source>\n        <target>PG scrub</target>\n      </trans-unit>\n      <trans-unit id="953144c420c2e5abd02e6a687433eac60fa852bd" datatype="html">\n        <source>PGs</source>\n        <target>Groupes de placements</target>\n      </trans-unit>\n      <trans-unit id="7d3523ea9d35c274cef84043de8a2fdde540a9a1" datatype="html">\n        <source>Read bytes</source>\n        <target>Octets de lecture</target>\n      </trans-unit>\n      <trans-unit id="f15bf7f588f09ca79795b17bc244e8d336f28171" datatype="html">\n        <source>Write bytes</source>\n        <target>Octets d\'écriture</target>\n      </trans-unit>\n      <trans-unit id="f3c33322823c846b13f59ba2c8f234405bba99e1" datatype="html">\n        <source>Read ops</source>\n        <target>Opérations de lecture</target>\n      </trans-unit>\n      <trans-unit id="7e0b24a17546cbfab48b03dc874461d1ca68bc9a" datatype="html">\n        <source>Write ops</source>\n        <target>Opérations d\'écriture</target>\n      </trans-unit>\n      <trans-unit id="b27d1dd31789610130b7cdbf88c4da552cffe936" datatype="html">\n        <source>Edit OSD: \n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\n        </source>\n        <target>Edit OSD: \n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="986f1379580078e77666d10f8ddf4f839c6ca71d" datatype="html">\n        <source>Edit OSD</source>\n        <target>Edit OSD</target>\n      </trans-unit>\n      <trans-unit id="a4b09e2fa39c3e4f1a387f191fbae4eea3ce7bf5" datatype="html">\n        <source>Updated OSD "\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>"\n        </source>\n        <target>Updated OSD "\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="d45455406092f58e6b089cb440b5b7934b801a01" datatype="html">\n        <source>Mark OSD \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </source>\n        <target>Mark OSD \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="de0b7806e451b3b3dbd564decba59981fe781c18" datatype="html">\n        <source>Mark \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </source>\n        <target>Mark \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="bba1d3bb4f8a47aa2b3068e242562196eadb1e83" datatype="html">\n        <source>PG scrub options</source>\n        <target>PG scrub options</target>\n      </trans-unit>\n      <trans-unit id="b0b7748ebc9b7a6942a8cac4a89d4b215b365878" datatype="html">\n        <source>Updated PG scrub options</source>\n        <target>Updated PG scrub options</target>\n      </trans-unit>\n      <trans-unit id="4edc2162af0bd6cd941eaf730d20a7e3b5a83ba7" datatype="html">\n        <source>Max Backfills</source>\n        <target>Nbre max. de renvois</target>\n      </trans-unit>\n      <trans-unit id="eb5e6c24a48a1dfe23e0a772b762be5e949c0c8a" datatype="html">\n        <source>Recovery Max Active</source>\n        <target>Nombre maximum de récupérations actives</target>\n      </trans-unit>\n      <trans-unit id="4a23c6d3859e03184118620d2baeb736ac765fbf" datatype="html">\n        <source>Recovery Max Single Start</source>\n        <target>Nombre maximum de démarrages uniques de récupérations</target>\n      </trans-unit>\n      <trans-unit id="97049169ef5228fd1724de2fcdad1fec2858eaf8" datatype="html">\n        <source>Recovery Sleep</source>\n        <target>Mise en veille de la récupération</target>\n      </trans-unit>\n      <trans-unit id="89553524f4e7db5c437b07dcfdc7b831d56ded1a" datatype="html">\n        <source>Updated OSD recovery speed priority "\n          <x id="INTERPOLATION" equiv-text="{{value}}"/>"\n        </source>\n        <target>Updated OSD recovery speed priority "\n          <x id="INTERPOLATION" equiv-text="{{value}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="ccf5f30798c03d2d8efd0e6eb508320c018b722d" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{operation}}"/> was initialized in the following OSD(s): \n          <x id="INTERPOLATION_1" equiv-text="{{id}}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{operation}}"/> was initialized in the following OSD(s): \n          <x id="INTERPOLATION_1" equiv-text="{{id}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="3bc2d18913479965cb046ec75e2ac3f7b7a77ce5" datatype="html">\n        <source>Create Silence</source>\n        <target>Create Silence</target>\n      </trans-unit>\n      <trans-unit id="78917e8031aaf913ac3fa63295325ce8879703ce" datatype="html">\n        <source>Job</source>\n        <target>Travail</target>\n      </trans-unit>\n      <trans-unit id="94287619205068b591c18493c64781424864c259" datatype="html">\n        <source>Severity</source>\n        <target>Gravité</target>\n      </trans-unit>\n      <trans-unit id="e6cfbe0c5e0302ba2cec22315f6a28f8ac46b651" datatype="html">\n        <source>Started</source>\n        <target>Démarré</target>\n      </trans-unit>\n      <trans-unit id="801b98c6f02fe3b32f6afa3ee854c99ed83474e6" datatype="html">\n        <source>URL</source>\n        <target>URL</target>\n      </trans-unit>\n      <trans-unit id="d9f726c70aeba7fa6d3d68bff718abe78b1e50ac" datatype="html">\n        <source>Query</source>\n        <target>Query</target>\n      </trans-unit>\n      <trans-unit id="a5cd682a8a33bdc72e093d059429e3cc3a50ec1d" datatype="html">\n        <source>silence</source>\n        <target>silence</target>\n      </trans-unit>\n      <trans-unit id="f557e117e059e7036c6eecacd325a6ae35d866e0" datatype="html">\n        <source>Attribute name</source>\n        <target>Attribute name</target>\n      </trans-unit>\n      <trans-unit id="50f7f517ad8158667f7d4e2bd6f3256e05156e75" datatype="html">\n        <source>Regular expression</source>\n        <target>Regular expression</target>\n      </trans-unit>\n      <trans-unit id="81b1eab399c47110d50f45e3ccb4c009de7cb581" datatype="html">\n        <source>Please add your Prometheus host to the dashboard configuration and refresh the page</source>\n        <target>Please add your Prometheus host to the dashboard configuration and refresh the page</target>\n      </trans-unit>\n      <trans-unit id="29b4ae3296e239446fa0dea88a5112de15cffa54" datatype="html">\n        <source>Created by</source>\n        <target>Created by</target>\n      </trans-unit>\n      <trans-unit id="8d833cceee0ba4c5161b130365e02bc1e129b57e" datatype="html">\n        <source>Ends</source>\n        <target>Ends</target>\n      </trans-unit>\n      <trans-unit id="46a11ff4289e8c88b1b7a935f8d8ee704055f11a" datatype="html">\n        <source>Silence</source>\n        <target>Silence</target>\n      </trans-unit>\n      <trans-unit id="f2ea47d702c7f5e3e5fa751bf9959e21030b72e6" datatype="html">\n        <source>Daemon type</source>\n        <target>Daemon type</target>\n      </trans-unit>\n      <trans-unit id="6c131968e6ab730d86443e6fc11c5cc2a76d7bac" datatype="html">\n        <source>Daemon ID</source>\n        <target>Daemon ID</target>\n      </trans-unit>\n      <trans-unit id="5738f0ca7ddd9594058ce051b1d5d576e2782825" datatype="html">\n        <source>Container ID</source>\n        <target>Container ID</target>\n      </trans-unit>\n      <trans-unit id="78ebcf850cd440c5efc15e6a3a522ae75aeff669" datatype="html">\n        <source>Container Image name</source>\n        <target>Container Image name</target>\n      </trans-unit>\n      <trans-unit id="ea0c7ab9a7bdf646d494abf8c85fbf67d934d079" datatype="html">\n        <source>Container Image ID</source>\n        <target>Container Image ID</target>\n      </trans-unit>\n      <trans-unit id="bf2468fd965b8a59c135ad549b3a612aa9873abc" datatype="html">\n        <source>Status Description</source>\n        <target>Status Description</target>\n      </trans-unit>\n      <trans-unit id="19867330bdc84096f5a93ab087a1766476c8a074" datatype="html">\n        <source>Last Refreshed</source>\n        <target>Last Refreshed</target>\n      </trans-unit>\n      <trans-unit id="2349ee2027ab6ceb3e4b8834928562075b7e1ac7" datatype="html">\n        <source>Container image name</source>\n        <target>Container image name</target>\n      </trans-unit>\n      <trans-unit id="3c475503fb93338811af6b3d9ccacca1d7334609" datatype="html">\n        <source>Container image ID</source>\n        <target>Container image ID</target>\n      </trans-unit>\n      <trans-unit id="8dd15f6c73c05a8b0bd7b6d416487ab6570b88c8" datatype="html">\n        <source>Running</source>\n        <target>Running</target>\n      </trans-unit>\n      <trans-unit id="fb2e1bed329dc5b84197808c778abb9edcbdb335" datatype="html">\n        <source>Used</source>\n        <target>Utilisé</target>\n      </trans-unit>\n      <trans-unit id="4f1ab04d9100fb0df0e62b921ec46ae052ae29fc" datatype="html">\n        <source>Avail.</source>\n        <target>Dispo.</target>\n      </trans-unit>\n      <trans-unit id="a1c9b3d4fa67450fe9afd1d726f8a1bd91d990ea" datatype="html">\n        <source>Clean</source>\n        <target>Nettoyé</target>\n      </trans-unit>\n      <trans-unit id="0054f5460090d6dde385e8f099d598df5d28cf54" datatype="html">\n        <source>Working</source>\n        <target>En cours</target>\n      </trans-unit>\n      <trans-unit id="a8059e31694578c1b0344a76a345357dd60e8f01" datatype="html">\n        <source>Warning</source>\n        <target>Avertissement</target>\n      </trans-unit>\n      <trans-unit id="e5d8bb389c702588877f039d72178f219453a72d" datatype="html">\n        <source>Unknown</source>\n        <target>Inconnu</target>\n      </trans-unit>\n      <trans-unit id="88155be1b9b9c6140d6e8f93bac4a775cfdc6671" datatype="html">\n        <source>Healthy</source>\n        <target>Healthy</target>\n      </trans-unit>\n      <trans-unit id="8a3aec4dc1a6e2d4c612ae85e0537acbb20a0f85" datatype="html">\n        <source>Misplaced</source>\n        <target>Misplaced</target>\n      </trans-unit>\n      <trans-unit id="ee81f9bf7ceac69712e0b83e8adc268739f9673e" datatype="html">\n        <source>Degraded</source>\n        <target>Degraded</target>\n      </trans-unit>\n      <trans-unit id="14625bc4025daef1969777a67a3cca27e0cd9167" datatype="html">\n        <source>Unfound</source>\n        <target>Unfound</target>\n      </trans-unit>\n      <trans-unit id="8f23ea509d081c2f747d083d44608dbf125b2ea2" datatype="html">\n        <source>replicas</source>\n        <target>replicas</target>\n      </trans-unit>\n      <trans-unit id="129a2224e1f9d19eb5e11e2a07fe10a785556484" datatype="html">\n        <source>up</source>\n        <target>opérationnel</target>\n      </trans-unit>\n      <trans-unit id="d5f29cf0af691726483262d647eb6622be002512" datatype="html">\n        <source>no filesystems</source>\n        <target>aucun système de fichiers</target>\n      </trans-unit>\n      <trans-unit id="b1c4387ffab06f3fa9fdb4411aea955595538d44" datatype="html">\n        <source>active</source>\n        <target>actif</target>\n      </trans-unit>\n      <trans-unit id="1aaf7054d826f2cb05ec3e88a5a4b8116861e1f5" datatype="html">\n        <source>standby</source>\n        <target>veille</target>\n      </trans-unit>\n      <trans-unit id="c9a1080024dca344a48acdb77fa2d54e059f7254" datatype="html">\n        <source>n/a</source>\n        <target>n/a</target>\n      </trans-unit>\n      <trans-unit id="84a1787b6df375847c70f782861d7e7f8f43bff4" datatype="html">\n        <source>active daemon</source>\n        <target>daemon actif</target>\n      </trans-unit>\n      <trans-unit id="24407dc2ebfafaf6b131ee978683b893c3f1d763" datatype="html">\n        <source>quorum</source>\n        <target>quorum</target>\n      </trans-unit>\n      <trans-unit id="2fa50bc07995c6ea660412294298ded39fcb08d9" datatype="html">\n        <source>The NFS Ganesha service is not configured.</source>\n        <target>Le service NFS Ganesha n\'est pas configuré.</target>\n      </trans-unit>\n      <trans-unit id="af1396bdc49f45ea6c4a1e414769f5e2a382c834" datatype="html">\n        <source>Transport</source>\n        <target>Transport</target>\n      </trans-unit>\n      <trans-unit id="b6a0e176d96c4feed2e975a039c044fcf822e152" datatype="html">\n        <source>CephFS User</source>\n        <target>Utilisateur CephFS</target>\n      </trans-unit>\n      <trans-unit id="44dc610cf201a163e8c38da810acec9596930bb3" datatype="html">\n        <source>CephFS Filesystem</source>\n        <target>Système de fichiers CephFS</target>\n      </trans-unit>\n      <trans-unit id="db6dc7124be83c7055cb0f2719e31f2f9d46fd3d" datatype="html">\n        <source>(inherited from global config)</source>\n        <target>(hérité de la configuration globale)</target>\n      </trans-unit>\n      <trans-unit id="e1f97bb86f991553ec7b535cb39e7eaa99dfcfe2" datatype="html">\n        <source>inherited from global config</source>\n        <target>hérité de la configuration globale</target>\n      </trans-unit>\n      <trans-unit id="e751800766277e7c2edd652cec7a7a1a68a37852" datatype="html">\n        <source>-- Select what kind of user id squashing is performed --</source>\n        <target>-- Sélectionner le type de squashing d\'ID utilisateur effectué --</target>\n      </trans-unit>\n      <trans-unit id="4b58387f911e8a7b135a0c4d76c70335c65bbb32" datatype="html">\n        <source>There are no daemons available.</source>\n        <target>Aucun daemon n\'est disponible.</target>\n      </trans-unit>\n      <trans-unit id="18ae8dc1264f06df7ea251175ada2ac1b8401018" datatype="html">\n        <source>NFS export</source>\n        <target>NFS export</target>\n      </trans-unit>\n      <trans-unit id="c56d51748965db5f3966cd1d06a1c9f4b5244931" datatype="html">\n        <source>Crush Rule</source>\n        <target>Crush Rule</target>\n      </trans-unit>\n      <trans-unit id="ae128527ec18892f812a62a1fd15dc50a38060c0" datatype="html">\n        <source>EC Profile</source>\n        <target>EC Profile</target>\n      </trans-unit>\n      <trans-unit id="60fb10c145f9c7ede2b9ddf9b2b0b0f6191d0ebd" datatype="html">\n        <source>Cache Mode</source>\n        <target>Mode cache</target>\n      </trans-unit>\n      <trans-unit id="fa5bfad31d4139f6871443bb74324ffda5cad3e6" datatype="html">\n        <source>Min Evict Age</source>\n        <target>Âge évict min.</target>\n      </trans-unit>\n      <trans-unit id="fd0eb851666df45c34c76fabcda79b0d77bc910b" datatype="html">\n        <source>Min Flush Age</source>\n        <target>Âge vidage min.</target>\n      </trans-unit>\n      <trans-unit id="cb54d2c420a534cee0c308ea5589f8c394ef8d67" datatype="html">\n        <source>Target Max Bytes</source>\n        <target>Nombre max d\'octets cibles</target>\n      </trans-unit>\n      <trans-unit id="07f4ebe6615dca466818ffdae2a69ee217d265fb" datatype="html">\n        <source>Target Max Objects</source>\n        <target>Nombre max. d\'objets cibles</target>\n      </trans-unit>\n      <trans-unit id="eaa8f4df53cf7fa78d078e20a701d10f3dccd77d" datatype="html">\n        <source>No applications added</source>\n        <target>Aucune application ajoutée</target>\n      </trans-unit>\n      <trans-unit id="321c2a7640f11177ea49b0857b94c4b70830c0e6" datatype="html">\n        <source>Applications limit reached</source>\n        <target>Limite d\'applications atteinte</target>\n      </trans-unit>\n      <trans-unit id="519d27742b74fadc8336777452f78891e98aa1dc" datatype="html">\n        <source>A pool can only have up to four applications definitions.</source>\n        <target>Une réserve peut avoir quatre définitions d\'application maximum.</target>\n      </trans-unit>\n      <trans-unit id="b5bec3813f0d45daa7eb9471272969e1bc3e734e" datatype="html">\n        <source>Allowed characters \'_a-zA-Z0-9\'</source>\n        <target>Caractère autorisés \'_a-zA-Z0-9\'</target>\n      </trans-unit>\n      <trans-unit id="807472d29602a0085bce62e534bd66208982c2e2" datatype="html">\n        <source>Maximum length is 128 characters</source>\n        <target>La longueur maximale est de 128 caractères.</target>\n      </trans-unit>\n      <trans-unit id="37785748b9ac9ad1d3e4b111ac502c3284afe84b" datatype="html">\n        <source>Filter or add applications</source>\n        <target>Filtrer ou ajouter des applications</target>\n      </trans-unit>\n      <trans-unit id="38c7b8610ca87835e13eeee6a09ba1c414cd5cb9" datatype="html">\n        <source>Add application</source>\n        <target>Ajouter une application</target>\n      </trans-unit>\n      <trans-unit id="db8c42f077700d8a94619fad9f4c94b7361d5f1d" datatype="html">\n        <source>pool</source>\n        <target>pool</target>\n      </trans-unit>\n      <trans-unit id="65bb2be83261bc4798853bbccdedc110c43feea7" datatype="html">\n        <source>erasure code profile</source>\n        <target>profil de code d\'effacement</target>\n      </trans-unit>\n      <trans-unit id="ae48e19a9a2acaca4b5ea594451bc9b0b01ec8d2" datatype="html">\n        <source>crush rule</source>\n        <target>crush rule</target>\n      </trans-unit>\n      <trans-unit id="112d356ad6846959ca4aa5ec9a1f0d9d473b24ec" datatype="html">\n        <source>Replica Size</source>\n        <target>Taille de la réplique</target>\n      </trans-unit>\n      <trans-unit id="ec50492db341fa752b023d8c924601286b6c9c0c" datatype="html">\n        <source>Last Change</source>\n        <target>Dernier changement</target>\n      </trans-unit>\n      <trans-unit id="563a8c136a9d423bc7ae1269a404d6da5fd83dad" datatype="html">\n        <source>Erasure Coded Profile</source>\n        <target>Profil de code d\'effacement</target>\n      </trans-unit>\n      <trans-unit id="0ad7f0662956cff61ac1208f92b1a0305b1b2e58" datatype="html">\n        <source>Crush Ruleset</source>\n        <target>Jeu de règles Crush</target>\n      </trans-unit>\n      <trans-unit id="bcc365a084b6145b941b371bd4c2b6c3d2c79234" datatype="html">\n        <source>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</source>\n        <target>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</target>\n      </trans-unit>\n      <trans-unit id="44939fd05cedfd077db886528b755e77d5fa3885" datatype="html">\n        <source>bucket</source>\n        <target>compartiment</target>\n      </trans-unit>\n      <trans-unit id="84fee774286ec4191311f1277075455c3ea5e2e2" datatype="html">\n        <source>Updated Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>".\n        </source>\n        <target>Updated Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="2d7a43674f0bbc131c9e555ec16ac37fa0445d76" datatype="html">\n        <source>Created Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>"\n        </source>\n        <target>Created Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="ec40d74ecfb1d6d60455af6805c9a714a3f5750a" datatype="html">\n        <source>buckets</source>\n        <target>compartiments</target>\n      </trans-unit>\n      <trans-unit id="764585d5595bac113582ee14a6fd07006770ceb1" datatype="html">\n        <source>capability</source>\n        <target>capability</target>\n      </trans-unit>\n      <trans-unit id="0914cbe18bae204217e1851be6d2d24d86e74605" datatype="html">\n        <source>user</source>\n        <target>utilisateur</target>\n      </trans-unit>\n      <trans-unit id="d8c86dc5e48a63590d9c94e19f90b5f8325cbd49" datatype="html">\n        <source>subuser</source>\n        <target>subuser</target>\n      </trans-unit>\n      <trans-unit id="f45a3de8a8b40d161cc36a55d77548a27107ca04" datatype="html">\n        <source>S3 Key</source>\n        <target>S3 Key</target>\n      </trans-unit>\n      <trans-unit id="854a763265e92f91ba3ccee1a0e8d823be584f7c" datatype="html">\n        <source>Updated Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </source>\n        <target>Updated Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="84ab3fd641e65e39cffee0ec722a059ed284229e" datatype="html">\n        <source>Created Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </source>\n        <target>Created Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="7c7f4be7b726e61c577e63842a58d9e435f7c597" datatype="html">\n        <source>users</source>\n        <target>utilisateurs</target>\n      </trans-unit>\n      <trans-unit id="9f7760223efd77806f1bbaf963e6993bb4bc6a0a" datatype="html">\n        <source>Swift Key</source>\n        <target>Swift Key</target>\n      </trans-unit>\n      <trans-unit id="6462d8f12b427c29363f00b12f20f566be24937c" datatype="html">\n        <source>Device ID</source>\n        <target>Device ID</target>\n      </trans-unit>\n      <trans-unit id="82f12bf23db4bb82db89877bebe93954bc1c8fb0" datatype="html">\n        <source>State of Health</source>\n        <target>State of Health</target>\n      </trans-unit>\n      <trans-unit id="7bd34bd120146afef0e0d8fa168d9bdabd594b6a" datatype="html">\n        <source>Good</source>\n        <target>Good</target>\n      </trans-unit>\n      <trans-unit id="31c59dce114ec0a9d02552ef7b81920b3de36793" datatype="html">\n        <source>Bad</source>\n        <target>Bad</target>\n      </trans-unit>\n      <trans-unit id="2862af5284f66d4b06bdcf77a5519141723b6989" datatype="html">\n        <source>Stale</source>\n        <target>Stale</target>\n      </trans-unit>\n      <trans-unit id="8d8e819b52984a4fbdec75a99eb28d1ae4323bbc" datatype="html">\n        <source>Life Expectancy</source>\n        <target>Life Expectancy</target>\n      </trans-unit>\n      <trans-unit id="72d9b15be18ea063e78c4e855b9e8c0af95593ef" datatype="html">\n        <source>Prediction Creation Date</source>\n        <target>Prediction Creation Date</target>\n      </trans-unit>\n      <trans-unit id="a6b4ef85e5ff8bd192751c7bbebc54c46118d6d4" datatype="html">\n        <source>Device Name</source>\n        <target>Device Name</target>\n      </trans-unit>\n      <trans-unit id="d5fd840374ca1a6f394bcd81f390a6dca27f8224" datatype="html">\n        <source>An error with error code \n          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.\n        </source>\n        <target>An error with error code \n          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.\n        </target>\n      </trans-unit>\n      <trans-unit id="a0b59d7139692bb8d8ed786b6eb6e9e70ce743f3" datatype="html">\n        <source>Raw</source>\n        <target>Raw</target>\n      </trans-unit>\n      <trans-unit id="2f3beddc8234b30fb26a7f63ba2f1ea74f2ed6f7" datatype="html">\n        <source>Threshold</source>\n        <target>Threshold</target>\n      </trans-unit>\n      <trans-unit id="4654b5a68af3c8bad29aa14ca85ccea1f3143c6b" datatype="html">\n        <source>When Failed</source>\n        <target>When Failed</target>\n      </trans-unit>\n      <trans-unit id="5b7f56d5be49fb8e8d8f40209d6746f8f72e9177" datatype="html">\n        <source>Worst</source>\n        <target>Worst</target>\n      </trans-unit>\n      <trans-unit id="1481b8488e10dbc437accce89d2ae35a0106e8ba" datatype="html">\n        <source>Scope</source>\n        <target>Périmètre</target>\n      </trans-unit>\n      <trans-unit id="9b1d5e95f6bdcfb4b737413f5fa157e0dcb103d5" datatype="html">\n        <source>Read</source>\n        <target>Lecture</target>\n      </trans-unit>\n      <trans-unit id="70a67e04629f6d412db0a12d51820b480788d795" datatype="html">\n        <source>Create</source>\n        <target>Créer</target>\n      </trans-unit>\n      <trans-unit id="dc4fba275819619ee78e8eae14d357ea69ba7477" datatype="html">\n        <source>role</source>\n        <target>role</target>\n      </trans-unit>\n      <trans-unit id="fe6ee93173884201ec62d62ba173c3de85ae177e" datatype="html">\n        <source>Created role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Created role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="41c032df0732f4318f8213fabd0719ac347d4b6c" datatype="html">\n        <source>Updated role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Updated role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="50e22b5289f79f1417369403345c9fa9911a4557" datatype="html">\n        <source>System Role</source>\n        <target>Rôle système</target>\n      </trans-unit>\n      <trans-unit id="7f132668e2dbfcf616381d2daf59d1a6f2698102" datatype="html">\n        <source>Deleted role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Deleted role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="bd15b8d5c0fa160161728eefbbb585710414d471" datatype="html">\n        <source>New name</source>\n        <target>New name</target>\n      </trans-unit>\n      <trans-unit id="6f126277f3dc22a3ab3609c4c198386c8744e11a" datatype="html">\n        <source>Clone Role</source>\n        <target>Clone Role</target>\n      </trans-unit>\n      <trans-unit id="d19d8320479854bc52877cdf0dc5ecfe34a36ec7" datatype="html">\n        <source>Cloned role \'\n          <x id="INTERPOLATION" equiv-text="{{dst_name}}"/>\' from \'\n          <x id="INTERPOLATION_1" equiv-text="{{src_name}}"/>\'\n        </source>\n        <target>Cloned role \'\n          <x id="INTERPOLATION" equiv-text="{{dst_name}}"/>\' from \'\n          <x id="INTERPOLATION_1" equiv-text="{{src_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="2e35d60a14ce0b470e8b54602864a867f7fcef40" datatype="html">\n        <source>There are no roles.</source>\n        <target>There are no roles.</target>\n      </trans-unit>\n      <trans-unit id="d2362a49d2434ce137bf19dab004251b7fd9c7b3" datatype="html">\n        <source>Created user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Created user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="9910122dfedd2eaa544a990f1430e5b82a76d99f" datatype="html">\n        <source>Update user</source>\n        <target>Mettre à jour l\'utilisateur</target>\n      </trans-unit>\n      <trans-unit id="ac10a3d9b59575640797c1a8e6aea642cf5d5e77" datatype="html">\n        <source>Continue</source>\n        <target>Continuer</target>\n      </trans-unit>\n      <trans-unit id="cf4bcf4ce3d551e6099ccdc3546ae418fe5f8038" datatype="html">\n        <source>You were automatically logged out because your roles have been changed.</source>\n        <target>Vous avez été automatiquement déconnecté, car vos rôles ont changé.</target>\n      </trans-unit>\n      <trans-unit id="0f6003fb0c1cc73b89d225801cc1b870945cd259" datatype="html">\n        <source>Updated user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Updated user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="fe516c6d820018fdc971113935e22ec1e852965f" datatype="html">\n        <source>Deleted user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Deleted user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="01a7e11502ff80421ef3615e533ea14ef57e1d5c" datatype="html">\n        <source>Failed to delete user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Failed to delete user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="63316a3861dbcb035147efc1b9fb6bc708242e94" datatype="html">\n        <source>You are currently logged in as "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>".\n        </source>\n        <target>You are currently logged in as "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="d8b81951d25439864e92f750f7c99d7426d6517c" datatype="html">\n        <source>password</source>\n        <target>password</target>\n      </trans-unit>\n      <trans-unit id="d361a9b5e1f7985a12c0433388f31626525a02b8" datatype="html">\n        <source>Updated user password"</source>\n        <target>Updated user password"</target>\n      </trans-unit>\n      <trans-unit id="c4e596a44ffc4718c1602600d6e4f029190eb031" datatype="html">\n        <source>The name of the node under which data should be placed.</source>\n        <target>The name of the node under which data should be placed.</target>\n      </trans-unit>\n      <trans-unit id="f24772ba1091155f8d7025332ca8456a204d1e28" datatype="html">\n        <source>The type of CRUSH nodes across which we should separate replicas.</source>\n        <target>The type of CRUSH nodes across which we should separate replicas.</target>\n      </trans-unit>\n      <trans-unit id="a3896042af461a80091c3f7a5fe3fff5ac40a3a0" datatype="html">\n        <source>The device class data should be placed on.</source>\n        <target>The device class data should be placed on.</target>\n      </trans-unit>\n      <trans-unit id="1d7fbcc3d5efc946ffbcf86fed04c4e20dda20fb" datatype="html">\n        <source>Each object is split in data-chunks parts, each stored on a different OSD.</source>\n        <target>Chaque objet est divisé en parties de blocs de données, chacune étant stockée sur un OSD différent.</target>\n      </trans-unit>\n      <trans-unit id="b1f8ed4e216585f1f9134740002ef3c8501debd8" datatype="html">\n        <source>Compute coding chunks for each object and store them on different OSDs.\n      The number of coding chunks is also the number of OSDs that can be down without losing data.</source>\n        <target>Calculez des blocs de codage pour chaque objet et stockez-les sur différents OSD.\n Le nombre de blocs de codage correspond également au nombre d\'OSD qui peuvent être arrêtés sans perdre de données.</target>\n      </trans-unit>\n      <trans-unit id="c437ee74a9a8e781e1380153f742a685e3b8cc5e" datatype="html">\n        <source>The jerasure plugin is the most generic and flexible plugin,\n          it is also the default for Ceph erasure coded pools.</source>\n        <target>Le plugin jerasure est le plugin le plus générique et le plus flexible,\n  c\'est aussi la valeur par défaut des réserves codées à effacement Ceph.</target>\n      </trans-unit>\n      <trans-unit id="8c7e19322851402afa67e41f4f1d4e531caf1bf5" datatype="html">\n        <source>The more flexible technique is reed_sol_van : it is enough to set k\n          and m. The cauchy_good technique can be faster but you need to chose the packetsize\n          carefully. All of reed_sol_r6_op, liberation, blaum_roth, liber8tion are RAID6 equivalents\n          in the sense that they can only be configured with m=2.</source>\n        <target>La technique la plus flexible est reed_sol_van_van : il suffit de définir k\n et m. La technique cauchy_good peut être plus rapide, mais vous devez choisir la taille du paquet\n avec précaution. reed_sol_r6_op, liberation, blaum_roth et liber8tion sont des équivalents RAID6\n en ce sens qu\'ils ne peuvent être configurés qu\'avec m=2.</target>\n      </trans-unit>\n      <trans-unit id="b1b11f49281b4e79219b4eecfbcb033cb15bd880" datatype="html">\n        <source>The encoding will be done on packets of bytes size at a time.\n          Chosing the right packet size is difficult.\n          The jerasure documentation contains extensive information on this topic.</source>\n        <target>L\'encodage se fera sur des paquets de taille d\'octets.\n  Choisir la bonne taille de paquet est difficile.\n  La documentation de jerasure contient de nombreuses informations à ce sujet.</target>\n      </trans-unit>\n      <trans-unit id="d9cb3bc07a25b26fbea457e0a7b543340bc13c49" datatype="html">\n        <source>With the jerasure plugin, when an erasure coded object is stored on\n          multiple OSDs, recovering from the loss of one OSD requires reading from all the others.\n          For instance if jerasure is configured with k=8 and m=4, losing one OSD requires reading\n          from the eleven others to repair.\n\n          The lrc erasure code plugin creates local parity chunks to be able to recover using\n          less OSDs. For instance if lrc is configured with k=8, m=4 and l=4, it will create\n          an additional parity chunk for every four OSDs. When a single OSD is lost, it can be\n          recovered with only four OSDs instead of eleven.</source>\n        <target>Avec le plugin jerasure, lorsqu\'un objet codé à effacement est stocké sur\n plusieurs OSD, la récupération à la suite de la perte d\'un OSD nécessite la lecture de tous les autres.\n Par exemple, si jerasure est configuré avec k=8 et m=4, la perte d\'un OSD nécessite de lire\n les onze autres pour pouvoir effectuer une réparation.\n\n Le plugin de code d\'effacement lrc crée des blocs de parité locale pour permettre la récupération avec\n moins d\'OSD. Par exemple, si lrc est configuré avec k=8, m=4 et l=4,\n un bloc de parité supplémentaire est créé pour chaque groupe de quatre OSD. Lorsqu\'un seul OSD est perdu, il peut être\n récupéré avec seulement quatre OSD au lieu de onze.</target>\n      </trans-unit>\n      <trans-unit id="813959d46e63a29bbd266b3af2ff9414c2ef553c" datatype="html">\n        <source>Group the coding and data chunks into sets of size locality. For instance,\n          for k=4 and m=2, when locality=3 two groups of three are created. Each set can\n          be recovered without reading chunks from another set.</source>\n        <target>Regroupez les blocs de données et de codage en ensembles de localité de taille. Par exemple,\n pour k=4 et m=2, lorsque locality=3, deux groupes de trois sont créés. Chaque ensemble peut\n être récupéré sans lire les blocs d\'un autre jeu.</target>\n      </trans-unit>\n      <trans-unit id="f0ff63d92e0a1b4d4b51e31b9133802d160a5f4c" datatype="html">\n        <source>The type of the crush bucket in which each set of chunks defined\n          by l will be stored. For instance, if it is set to rack, each group of l chunks will be\n          placed in a different rack. It is used to create a CRUSH rule step such as step choose\n          rack. If it is not set, no such grouping is done.</source>\n        <target>Type de compartiment Crush dans lequel chaque ensemble de blocs défini\n par I sera stocké. Par exemple, s\'il est réglé sur rack, chaque groupe de blocs I sera\n placé dans un rack différent. Il est utilisé pour créer une étape de la règle CRUSH telle que l\'étape de choix\n d\'un rack. S\'il n\'est pas défini, aucun regroupement de ce type n\'est effectué.</target>\n      </trans-unit>\n      <trans-unit id="3ece48df9d1e9a98f98bf3c5cc66e8b637020a4d" datatype="html">\n        <source>The isa plugin encapsulates the ISA library. It only runs on Intel processors.</source>\n        <target>Le plug-in isa encapsule la bibliothèque ISA. Il ne fonctionne qu\'avec des processeurs Intel.</target>\n      </trans-unit>\n      <trans-unit id="4472c9e31bfc7d96a83dc4afce0a6e885c99e839" datatype="html">\n        <source>The ISA plugin comes in two Reed Solomon forms.\n          If reed_sol_van is set, it is Vandermonde, if cauchy is set, it is Cauchy.</source>\n        <target>Le plugin ISA se présente sous deux formes Reed Solomon.\n Si reed_sol_van est défini, il équivaut à Vandermonde. Si cauchy est configuré, il équivaut à Cauchy.</target>\n      </trans-unit>\n      <trans-unit id="fa385f5ecf63083ec848dca8dc5e52bdc72ac6f6" datatype="html">\n        <source>The shec plugin encapsulates the multiple SHEC library.\n          It allows ceph to recover data more efficiently than Reed Solomon codes.</source>\n        <target>Le plug-in shec encapsule la bibliothèque SHEC multiple.\n Il permet à Ceph de récupérer les données plus efficacement qu\'avec les codes Reed Solomon.</target>\n      </trans-unit>\n      <trans-unit id="687b3cd94b3475c24ff4481d64d4739f902a377c" datatype="html">\n        <source>The number of parity chunks each of which includes each data chunk in its\n          calculation range. The number is used as a durability estimator. For instance, if c=2,\n          2 OSDs can be down without losing data.</source>\n        <target>Nombre de blocs de parité, chacun incluant chaque bloc de données dans sa\n plage de calcul. Ce nombre est utilisé comme estimateur de durabilité. Par exemple, si c=2,\n 2 OSD peuvent être arrêtés sans perte de données.</target>\n      </trans-unit>\n      <trans-unit id="f3c4af6df91bdaabdb715f8f0b61a24faf73a3bc" datatype="html">\n        <source>The name of the crush bucket used for the first step of the CRUSH rule.\n      For instance step take default.</source>\n        <target>Nom du compartiment crush utilisé pour la première étape de la règle CRUSH.\n Par exemple, l\'étape de définition des valeurs par défaut.</target>\n      </trans-unit>\n      <trans-unit id="e1059955a5ce65cdabf0c0a8207377e1f9bae57e" datatype="html">\n        <source>Ensure that no two chunks are in a bucket with the same failure\n      domain. For instance, if the failure domain is host no two chunks will be stored on the same\n      host. It is used to create a CRUSH rule step such as step chooseleaf host.</source>\n        <target>Vérifiez qu\'il n\'existe pas deux blocs dans un compartiment avec le même domaine de\n défaillance. Par exemple, si le domaine de défaillance est un hôte, deux blocs ne seront pas stockés sur le même\n hôte. Cette option est utilisée pour créer une étape de la règle CRUSH telle que chooseleaf host.</target>\n      </trans-unit>\n      <trans-unit id="ac392ac9c6da5fde6da80fc57b9c09402fb6e73d" datatype="html">\n        <source>Restrict placement to devices of a specific class\n      (e.g., ssd or hdd), using the crush device class names in the CRUSH map.</source>\n        <target>Restreindre le placement aux périphériques d\'une classe spécifique\n (par exemple, ssd ou hdd), en utilisant les noms des classes de périphériques crush dans la carte CRUSH.</target>\n      </trans-unit>\n      <trans-unit id="62bcb9ae5583a088649b1adf5787a86ca3334f89" datatype="html">\n        <source>Set the directory name from which the erasure code plugin is loaded.</source>\n        <target>Définissez le nom du répertoire à partir duquel le plug-in de code d\'effacement est chargé.</target>\n      </trans-unit>\n      <trans-unit id="c8f10184a8433d132ede0a2c0c1aa96f291cacfa" datatype="html">\n        <source>Allows all operations</source>\n        <target>Autoriser toutes les opérations</target>\n      </trans-unit>\n      <trans-unit id="82077ee97c11ee76efc3adf253b7b26654544317" datatype="html">\n        <source>Allows only operations that do not modify the server</source>\n        <target>Autorise uniquement les opérations qui ne modifient pas le serveur</target>\n      </trans-unit>\n      <trans-unit id="22b5212ec10449dbf0a0af0ad34122eac51b5f2a" datatype="html">\n        <source>Does not allow read or write operations, but allows any other operation</source>\n        <target>N\'autorise pas les opérations de lecture ou d\'écriture, mais toutes les autres.</target>\n      </trans-unit>\n      <trans-unit id="9799d0f8c4b7727ae239fedfe3c0ce127feb7a50" datatype="html">\n        <source>Does not allow read, write, or any operation that modifies file        attributes or directory content</source>\n        <target>N\'autorise pas la lecture, l\'écriture ni aucune autre opération modifiant les attributs d\'un fichier ou le contenu d\'un répertoire.</target>\n      </trans-unit>\n      <trans-unit id="aeddefe0af87025d8f00699aa94bed8216a99a58" datatype="html">\n        <source>Allows no access at all</source>\n        <target>N\'autorise aucun accès</target>\n      </trans-unit>\n      <trans-unit id="a436c6a4025a749198e93cac239de8deede72211" datatype="html">\n        <source>-- Select the priority --</source>\n        <target>-- Sélectionner la priorité --</target>\n      </trans-unit>\n      <trans-unit id="9556266f0a2b1762a44b686f2bb21dbfefb01c12" datatype="html">\n        <source>Low</source>\n        <target>Faible</target>\n      </trans-unit>\n      <trans-unit id="72279141a67cc042d9864102b703216cc8a428a3" datatype="html">\n        <source>High</source>\n        <target>Élevée</target>\n      </trans-unit>\n      <trans-unit id="6080b77234e92ad41bb52653b239c4c4f851317d" datatype="html">\n        <source>Error</source>\n        <target>Error</target>\n      </trans-unit>\n      <trans-unit id="c43dc1967a603fefb886149ac35863a06d5b4ce5" datatype="html">\n        <source>Information</source>\n        <target>Informations</target>\n      </trans-unit>\n      <trans-unit id="1e035e6ccfab771cad4226b2ad230cb0d4a88cba" datatype="html">\n        <source>Success</source>\n        <target>Success</target>\n      </trans-unit>\n      <trans-unit id="61fd1cffcb763cbfd5829071723cf9b647174bd9" datatype="html">\n        <source>An error occurred.</source>\n        <target>An error occurred.</target>\n      </trans-unit>\n      <trans-unit id="e6ca3c0efaf51e6d45a7f92f58bac37140c3fda4" datatype="html">\n        <source>Last 5 minutes</source>\n        <target>Les 5 dernières minutes</target>\n      </trans-unit>\n      <trans-unit id="b0ecb2bbc548cc9bd95050fd8f0c84586d083fe2" datatype="html">\n        <source>Last 15 minutes</source>\n        <target>Les 15 dernières minutes</target>\n      </trans-unit>\n      <trans-unit id="857ae67deb51353120b203b0f2a06b0c48ef49fa" datatype="html">\n        <source>Last 30 minutes</source>\n        <target>Les 30 dernières minutes</target>\n      </trans-unit>\n      <trans-unit id="7b1738fad314e936dc14b94db8f43da736942308" datatype="html">\n        <source>Last 1 hour (Default)</source>\n        <target>La dernière heure (par défaut)</target>\n      </trans-unit>\n      <trans-unit id="a428288224389726cef9d9bd8d1d7808cccd7ffd" datatype="html">\n        <source>Last 3 hours</source>\n        <target>Les 3 dernières heures</target>\n      </trans-unit>\n      <trans-unit id="7cbabecc8d80cf183ac199cfaeb7619d56e5d43f" datatype="html">\n        <source>Last 6 hours</source>\n        <target>Les 6 dernières heures</target>\n      </trans-unit>\n      <trans-unit id="1a389cdf64187d34cf99eec30a290e3fa7d4744f" datatype="html">\n        <source>Last 12 hours</source>\n        <target>Les 12 dernières heures</target>\n      </trans-unit>\n      <trans-unit id="9e0ba5f591380a94d594a76288f0c41aa97eb9c2" datatype="html">\n        <source>Last 24 hours</source>\n        <target>Les 24 dernières heures</target>\n      </trans-unit>\n      <trans-unit id="e430eda9c785cd43465b7cbb400ee914f1057247" datatype="html">\n        <source>Yesterday</source>\n        <target>Hier</target>\n      </trans-unit>\n      <trans-unit id="7fb1099e29660162f9154d5b2feee7743a423df6" datatype="html">\n        <source>Today</source>\n        <target>Aujourd\'hui</target>\n      </trans-unit>\n      <trans-unit id="33904058a97a64bd189bed84038b1ffe719769c7" datatype="html">\n        <source>Today so far</source>\n        <target>Depuis le début de la journée</target>\n      </trans-unit>\n      <trans-unit id="3b0b849be007510021d3d383df75bec95ef9c97b" datatype="html">\n        <source>Day before yesterday</source>\n        <target>Avant-hier</target>\n      </trans-unit>\n      <trans-unit id="6b430c2c394c4d32ebd7d46c8c46ab60e1b29ccb" datatype="html">\n        <source>Last 2 days</source>\n        <target>Les 2 derniers jours</target>\n      </trans-unit>\n      <trans-unit id="d5e812a87a5d57a94200a2013027cab76a7c4863" datatype="html">\n        <source>This day last week</source>\n        <target>Il y a huit jours</target>\n      </trans-unit>\n      <trans-unit id="d00edc936eeab6b5577401f115ca86ca2c87dc9a" datatype="html">\n        <source>Previous week</source>\n        <target>La semaine dernière</target>\n      </trans-unit>\n      <trans-unit id="b036e40577baa6b918b2267d319d4b3aeaa88a5a" datatype="html">\n        <source>This week</source>\n        <target>Cette semaine</target>\n      </trans-unit>\n      <trans-unit id="99ad5a6096b3fcb3f021f3779bae710cdfeb8934" datatype="html">\n        <source>This week so far</source>\n        <target>Depuis le début de la semaine</target>\n      </trans-unit>\n      <trans-unit id="02e0243b60007368f87dc01e083f232dd025096d" datatype="html">\n        <source>Last 7 days</source>\n        <target>Les 7 derniers jours</target>\n      </trans-unit>\n      <trans-unit id="c3b08b07b5ab98e7cdcf18df39355690ab7d3884" datatype="html">\n        <source>Previous month</source>\n        <target>Le mois dernier</target>\n      </trans-unit>\n      <trans-unit id="1b2562c6d5aa90644e7dc91feee82e2005fceb33" datatype="html">\n        <source>This month</source>\n        <target>Ce mois</target>\n      </trans-unit>\n      <trans-unit id="26b4b18c5917934abb169ba9aa490e57f7bf10b8" datatype="html">\n        <source>This month so far</source>\n        <target>Depuis le début du mois</target>\n      </trans-unit>\n      <trans-unit id="7668986b9f753fcd72ad4a00b1a0c4861d1f7fb8" datatype="html">\n        <source>Last 30 days</source>\n        <target>Les 30 derniers jours</target>\n      </trans-unit>\n      <trans-unit id="ba1e822408d90c6fbd2989100fa648bfd5e8ee84" datatype="html">\n        <source>Last 90 days</source>\n        <target>Les 90 derniers jours</target>\n      </trans-unit>\n      <trans-unit id="c3df03f899a914c4181adcdc8a3f077424f7b6e8" datatype="html">\n        <source>Last 6 months</source>\n        <target>Les 6 derniers mois</target>\n      </trans-unit>\n      <trans-unit id="7f9a92757580c9f31c309c0a3812ea429274eadf" datatype="html">\n        <source>Last 1 year</source>\n        <target>L\'année écoulée</target>\n      </trans-unit>\n      <trans-unit id="5a9fede30ff65cb4b4426f6b1ed31afb67ecd7b0" datatype="html">\n        <source>Previous year</source>\n        <target>L\'année dernière</target>\n      </trans-unit>\n      <trans-unit id="65cefcc53d1f6445df7568e8a40c49165f1090ee" datatype="html">\n        <source>This year</source>\n        <target>Cette année</target>\n      </trans-unit>\n      <trans-unit id="1f68b766944dc3865bddab765fe952b0c1c43f92" datatype="html">\n        <source>This year so far</source>\n        <target>Depuis le début de l\'année</target>\n      </trans-unit>\n      <trans-unit id="4d4b77e614f8043fdadef5d6d235655bb48eb311" datatype="html">\n        <source>Last 2 years</source>\n        <target>Les 2 dernières années</target>\n      </trans-unit>\n      <trans-unit id="138afa339ea6e75d25a474affe1edbcb90e00ec0" datatype="html">\n        <source>Last 5 years</source>\n        <target>Les 5 dernières années</target>\n      </trans-unit>\n      <trans-unit id="37391297bb077a6f84484930261b01a3ce38327b" datatype="html">\n        <source>No items selected.</source>\n        <target>Aucun élément sélectionné.</target>\n      </trans-unit>\n      <trans-unit id="2c1e52ee832661b4a0f570877d24661736b16af1" datatype="html">\n        <source>Deselect item to select again</source>\n        <target>Désélectionnez l\'élément pour le sélectionner à nouveau.</target>\n      </trans-unit>\n      <trans-unit id="c8c9c6e5918659336824bbdda3501c66eaa79a4c" datatype="html">\n        <source>Selection limit reached</source>\n        <target>Limite de sélection atteinte</target>\n      </trans-unit>\n      <trans-unit id="02d184c288f567825a1fcbf83bcd3099a10853d5" datatype="html">\n        <source>Filter tags</source>\n        <target>Balises de filtre</target>\n      </trans-unit>\n      <trans-unit id="aa00748e49c269956837d6f3acdd8d218796a8d8" datatype="html">\n        <source>Add badge</source>\n        <target>Ajouter un badge</target>\n      </trans-unit>\n      <trans-unit id="4078a92d8121abdce7d8f346a88914923ec835fc" datatype="html">\n        <source>There are no items available.</source>\n        <target>Aucun élément disponible.</target>\n      </trans-unit>\n      <trans-unit id="55dd9f44e64851bca3b7bfc9283a5ff36f030228" datatype="html">\n        <source>Set</source>\n        <target>Set</target>\n      </trans-unit>\n      <trans-unit id="019d4bd6a5690f0cfa0ecf346a4e6bf7f0d8debb" datatype="html">\n        <source>Remove</source>\n        <target>Remove</target>\n      </trans-unit>\n      <trans-unit id="e168fe6c468b3ad632731395ef89860274242844" datatype="html">\n        <source>Unset</source>\n        <target>Unset</target>\n      </trans-unit>\n      <trans-unit id="54a4a3132b693575728a45a5f3154ad4c9af404b" datatype="html">\n        <source>Clone</source>\n        <target>Cloner</target>\n      </trans-unit>\n      <trans-unit id="1979da7460819153e11d2078244645d94291b69c" datatype="html">\n        <source>Copy</source>\n        <target>Copier</target>\n      </trans-unit>\n      <trans-unit id="2e5e77dbaadd6588d8bbf737139fd9806294ae28" datatype="html">\n        <source>Deep Scrub</source>\n        <target>Nettoyage en profondeur</target>\n      </trans-unit>\n      <trans-unit id="bf463b189696c19769ea263227e6c22aefafb918" datatype="html">\n        <source>Destroy</source>\n        <target>Détruire</target>\n      </trans-unit>\n      <trans-unit id="b4e94d529ff10db4d86f3f48900fa67ede3411fd" datatype="html">\n        <source>Evict</source>\n        <target>Evict</target>\n      </trans-unit>\n      <trans-unit id="3747fff7faf52b436ecff5fb8555091736d92c70" datatype="html">\n        <source>Flatten</source>\n        <target>Aplatir</target>\n      </trans-unit>\n      <trans-unit id="66fdbf32e5449cc54a3d1e19c7b8f4ea238facfb" datatype="html">\n        <source>Mark Down</source>\n        <target>Marquer comme arrêté</target>\n      </trans-unit>\n      <trans-unit id="0cda3e824fb2f9c731e5a60b859dedc1fe03127e" datatype="html">\n        <source>Mark In</source>\n        <target>Marquer comme rentré</target>\n      </trans-unit>\n      <trans-unit id="f833354f43cb38c5716faa8759a9bbdd1ab8f199" datatype="html">\n        <source>Mark Lost</source>\n        <target>Marquer comme perdu</target>\n      </trans-unit>\n      <trans-unit id="75fb9f970ba365398c45e57bbb1019c009f6b832" datatype="html">\n        <source>Mark Out</source>\n        <target>Marquer comme sorti</target>\n      </trans-unit>\n      <trans-unit id="45480c03b0a3a37ff8f6a5600a6a034b40fbaea4" datatype="html">\n        <source>Protect</source>\n        <target>Protéger</target>\n      </trans-unit>\n      <trans-unit id="e26f9cf3666aace4e524b1505c9795d76d87738d" datatype="html">\n        <source>Rename</source>\n        <target>Renommer</target>\n      </trans-unit>\n      <trans-unit id="d5cec7468241d72cafd86ad1af6d55b09a6e3ae5" datatype="html">\n        <source>Restore</source>\n        <target>Restaurer</target>\n      </trans-unit>\n      <trans-unit id="ba073985cfd2528c77a746ed596b2f2052b973c5" datatype="html">\n        <source>Move to Trash</source>\n        <target>Déplacer vers la corbeille</target>\n      </trans-unit>\n      <trans-unit id="3ea9b96a21a499d296a7f25407da0f3df6c2d5ed" datatype="html">\n        <source>Unprotect</source>\n        <target>Annuler la protection</target>\n      </trans-unit>\n      <trans-unit id="024cdb2814b0cb3f4ced148f1a0b9854447cb214" datatype="html">\n        <source>Change</source>\n        <target>Change</target>\n      </trans-unit>\n      <trans-unit id="011f3e2bfc1fd8407eb5f599352665bfeb145664" datatype="html">\n        <source>Recreate</source>\n        <target>Recreate</target>\n      </trans-unit>\n      <trans-unit id="6df2dfa48bef5510c82fb43f4e71a7f9557f3d71" datatype="html">\n        <source>Expire</source>\n        <target>Expire</target>\n      </trans-unit>\n      <trans-unit id="28df1b02fd88d2deb0212bc5d7ff34cf9492fa54" datatype="html">\n        <source>Deleted</source>\n        <target>Supprimé</target>\n      </trans-unit>\n      <trans-unit id="80e3b490720757978c99a7b5af3885faf202b955" datatype="html">\n        <source>Added</source>\n        <target>Added</target>\n      </trans-unit>\n      <trans-unit id="1aa4883bc4f1352f7a0bdd94810a9bf6dc22bd02" datatype="html">\n        <source>Removed</source>\n        <target>Removed</target>\n      </trans-unit>\n      <trans-unit id="402f3ee47f98fbbc68530239b1ddcbb9e96a460c" datatype="html">\n        <source>Edited</source>\n        <target>Edited</target>\n      </trans-unit>\n      <trans-unit id="96d56ec71c6e78cb4d6204c4a9359a3d38fcdb59" datatype="html">\n        <source>Canceled</source>\n        <target>Canceled</target>\n      </trans-unit>\n      <trans-unit id="a3318a2ee2bd0064b6b9ff72a4018b679ec63125" datatype="html">\n        <source>Cloned</source>\n        <target>Cloné</target>\n      </trans-unit>\n      <trans-unit id="ef90545bc832876c0d7f9a10363c75137472bbb5" datatype="html">\n        <source>Copied</source>\n        <target>Copié</target>\n      </trans-unit>\n      <trans-unit id="5a13d3834133e09544ec93885662f181372dcf46" datatype="html">\n        <source>Deep Scrubbed</source>\n        <target>Deep Scrubbed</target>\n      </trans-unit>\n      <trans-unit id="7c9efb91434a5c15e9579c0b31c8e184b8c8240d" datatype="html">\n        <source>Destroyed</source>\n        <target>Destroyed</target>\n      </trans-unit>\n      <trans-unit id="647059bf3ea098fffedf92ddfad792bb3daa3c95" datatype="html">\n        <source>Flattened</source>\n        <target>Applati</target>\n      </trans-unit>\n      <trans-unit id="8df71e952319eafa71c8e6ef6144b780af8813ff" datatype="html">\n        <source>Marked Down</source>\n        <target>Marked Down</target>\n      </trans-unit>\n      <trans-unit id="25658f5a080a1cab3b91e17b756b1d1dc46bb9b3" datatype="html">\n        <source>Marked In</source>\n        <target>Marked In</target>\n      </trans-unit>\n      <trans-unit id="ebcf306036a6c5579df9448f77eca98d491db245" datatype="html">\n        <source>Marked Lost</source>\n        <target>Marked Lost</target>\n      </trans-unit>\n      <trans-unit id="3a8803369ac18be3ad762384b9fda095fe2a6dcc" datatype="html">\n        <source>Marked Out</source>\n        <target>Marked Out</target>\n      </trans-unit>\n      <trans-unit id="0fe2a62ea7c609fa8326ee6d38060bc5ba8bf34f" datatype="html">\n        <source>Protected</source>\n        <target>Protected</target>\n      </trans-unit>\n      <trans-unit id="69b0446c6c2411c4fe01e411b8ceec72d4044fb4" datatype="html">\n        <source>Purged</source>\n        <target>Purgé</target>\n      </trans-unit>\n      <trans-unit id="d53de1a61bd51c815dc374c7f97e4ee69230e412" datatype="html">\n        <source>Renamed</source>\n        <target>Renamed</target>\n      </trans-unit>\n      <trans-unit id="86fc6cae82c095f14105eb8a61d7b3fa948304b7" datatype="html">\n        <source>Restored</source>\n        <target>Restauré</target>\n      </trans-unit>\n      <trans-unit id="e87dd0fd35460cb743046db918dfce2137b5977a" datatype="html">\n        <source>Reweighted</source>\n        <target>Reweighted</target>\n      </trans-unit>\n      <trans-unit id="dc21fd6547f2325c67f6deff925f29eb07a2db3e" datatype="html">\n        <source>Rolled back</source>\n        <target>Rétabli à l\'état initial</target>\n      </trans-unit>\n      <trans-unit id="15dec4c2d73a516c10aef90aeeea3364fa794615" datatype="html">\n        <source>Scrubbed</source>\n        <target>Scrubbed</target>\n      </trans-unit>\n      <trans-unit id="8dc560ded67482f109a98e0638851ad1d37188b3" datatype="html">\n        <source>Showed</source>\n        <target>Showed</target>\n      </trans-unit>\n      <trans-unit id="197259b7ea76f15c6d0a64b075a673fd4112ada7" datatype="html">\n        <source>Moved to Trash</source>\n        <target>Moved to Trash</target>\n      </trans-unit>\n      <trans-unit id="8fb15cb102cd75b562680290b7e04c44d80018f2" datatype="html">\n        <source>Unprotected</source>\n        <target>Unprotected</target>\n      </trans-unit>\n      <trans-unit id="8588eafa498262a1cbb5043ad68cf0ff669c4f10" datatype="html">\n        <source>Recreated</source>\n        <target>Recreated</target>\n      </trans-unit>\n      <trans-unit id="ffde7468d7b5cad6990095ed68ddee3d67cd02f8" datatype="html">\n        <source>Expired</source>\n        <target>Expired</target>\n      </trans-unit>\n      <trans-unit id="4f20f2d5a6882190892e58b85f6ccbedfa737952" datatype="html">\n        <source>Yes</source>\n        <target>Oui</target>\n      </trans-unit>\n      <trans-unit id="3d3ae7deebc5949b0c1c78b9847886a94321d9fd" datatype="html">\n        <source>No</source>\n        <target>Non</target>\n      </trans-unit>\n      <trans-unit id="baf918eed9d4050cdad2acebc0f27b6eaf8e3fcd" datatype="html">\n        <source>Required rules for passwords:</source>\n        <target>Required rules for passwords:</target>\n      </trans-unit>\n      <trans-unit id="40f61909e1f017c4652e64b055089beef19cf871" datatype="html">\n        <source>Must contain at least \n          <x id="INTERPOLATION" equiv-text="{{length}}"/> characters\n        </source>\n        <target>Must contain at least \n          <x id="INTERPOLATION" equiv-text="{{length}}"/> characters\n        </target>\n      </trans-unit>\n      <trans-unit id="f4f5dbb3a05b5f38dab47ef38dad88a4574a765a" datatype="html">\n        <source>Must not be the same as the previous one</source>\n        <target>Must not be the same as the previous one</target>\n      </trans-unit>\n      <trans-unit id="607370e07b50087c196a5fcea9184e3d693226b2" datatype="html">\n        <source>Cannot contain the username</source>\n        <target>Cannot contain the username</target>\n      </trans-unit>\n      <trans-unit id="e6e355eab2596251aaa42623b41e6026d5c03e3b" datatype="html">\n        <source>Cannot contain any configured keyword</source>\n        <target>Cannot contain any configured keyword</target>\n      </trans-unit>\n      <trans-unit id="394bcd6d5e4da75b720c4d28f94f2aef7bb38355" datatype="html">\n        <source>Cannot contain any repetitive characters e.g. "aaa"</source>\n        <target>Cannot contain any repetitive characters e.g. "aaa"</target>\n      </trans-unit>\n      <trans-unit id="030e61e0bcf2536fb047645db6182d43e9fca9e9" datatype="html">\n        <source>Cannot contain any sequential characters e.g. "abc"</source>\n        <target>Cannot contain any sequential characters e.g. "abc"</target>\n      </trans-unit>\n      <trans-unit id="99fa0b67376d40142bd4d3ace3344abf4f98b6a5" datatype="html">\n        <source>Your matcher seems to match no currently defined rule or active alert.</source>\n        <target>Your matcher seems to match no currently defined rule or active alert.</target>\n      </trans-unit>\n      <trans-unit id="7e284852732c303eb1f47de9aca2569e41aeffed" datatype="html">\n        <source>no active alerts</source>\n        <target>no active alerts</target>\n      </trans-unit>\n      <trans-unit id="b8042829e4fbe7b09fd9bac9fa0ecf5cc1802fee" datatype="html">\n        <source>1 active alert</source>\n        <target>1 active alert</target>\n      </trans-unit>\n      <trans-unit id="e24adce97669cb0fc74cc13fdc14179b6f78ea5e" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{n}}"/> active alerts\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{n}}"/> active alerts\n        </target>\n      </trans-unit>\n      <trans-unit id="d8fb058ff5883731d38a132da4ca45cfe8d719a3" datatype="html">\n        <source>Matches 1 rule</source>\n        <target>Matches 1 rule</target>\n      </trans-unit>\n      <trans-unit id="90aaef24d192e67c3fbc2ec6f8bfaff211cea128" datatype="html">\n        <source>Matches \n          <x id="INTERPOLATION" equiv-text="{{n}}"/> rules\n        </source>\n        <target>Matches \n          <x id="INTERPOLATION" equiv-text="{{n}}"/> rules\n        </target>\n      </trans-unit>\n      <trans-unit id="f4685dc581e18244cd410f1057a8c56a9dbfe8df" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rules}}"/> with \n          <x id="INTERPOLATION_1" equiv-text="{{alerts}}"/>.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rules}}"/> with \n          <x id="INTERPOLATION_1" equiv-text="{{alerts}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8fd98fb2a0f24ba72cde0787dd3f02cfc17de469" datatype="html">\n        <source>Quality of Service</source>\n        <target>Qualité de service</target>\n      </trans-unit>\n      <trans-unit id="2c53f3ce2c6fff9025a7b41cc334521725da6e7b" datatype="html">\n        <source>BPS Limit</source>\n        <target>Limite de bits/s</target>\n      </trans-unit>\n      <trans-unit id="e897624a392419386b035bcd8529337e262fc41d" datatype="html">\n        <source>The desired limit of IO bytes per second.</source>\n        <target>Limite souhaitée d\'octets E/S par seconde.</target>\n      </trans-unit>\n      <trans-unit id="dc56f77e4507da7e86a3accd0a2a7099a838d539" datatype="html">\n        <source>IOPS Limit</source>\n        <target>Limite E/S par seconde</target>\n      </trans-unit>\n      <trans-unit id="141c3f6eadbb35b0e17b2f847e4cac23240a6ea9" datatype="html">\n        <source>The desired limit of IO operations per second.</source>\n        <target>Limite souhaitée d\'opérations E/S par seconde.</target>\n      </trans-unit>\n      <trans-unit id="3b3b101f16c38806e984b157e0cf22cd21451122" datatype="html">\n        <source>Read BPS Limit</source>\n        <target>Limite de bits/s en lecture</target>\n      </trans-unit>\n      <trans-unit id="87835fabb6a645873f3829a450ca1d58f97754f2" datatype="html">\n        <source>The desired limit of read bytes per second.</source>\n        <target>Limite souhaitée de lecture d\'octets par seconde.</target>\n      </trans-unit>\n      <trans-unit id="28b485e700df46d70b96666099f714e3ae9e5c2e" datatype="html">\n        <source>Read IOPS Limit</source>\n        <target>Limite E/S par seconde en lecture</target>\n      </trans-unit>\n      <trans-unit id="5907bd1a5cf3e20e740bca676cb1538372e1f9ff" datatype="html">\n        <source>The desired limit of read operations per second.</source>\n        <target>Limite souhaitée d\'opérations de lecture par seconde.</target>\n      </trans-unit>\n      <trans-unit id="07317121f0b194987d4dee8b322f521ac17bf124" datatype="html">\n        <source>Write BPS Limit</source>\n        <target>Limite de bits/s en écriture</target>\n      </trans-unit>\n      <trans-unit id="4022c78bd9132ca2ec67927f8484c437d1d9b6fd" datatype="html">\n        <source>The desired limit of write bytes per second.</source>\n        <target>Limite souhaitée d\'écriture d\'octets par seconde.</target>\n      </trans-unit>\n      <trans-unit id="52c22c19f98ff3a09bd811292954a889b93d28b7" datatype="html">\n        <source>Write IOPS Limit</source>\n        <target>Limite E/S par seconde en écriture</target>\n      </trans-unit>\n      <trans-unit id="0ed62e3fd8654b3191fc7fa959ad3f10f1ea773a" datatype="html">\n        <source>The desired limit of write operations per second.</source>\n        <target>Limite souhaitée d\'opérations d\'écriture par seconde.</target>\n      </trans-unit>\n      <trans-unit id="d90c99d77864f21f932ee1369019f400c4ad0e2d" datatype="html">\n        <source>BPS Burst</source>\n        <target>Rafale de bits/s</target>\n      </trans-unit>\n      <trans-unit id="29c32192f4d185139aaaf6d3a766a3411dfeabbe" datatype="html">\n        <source>The desired burst limit of IO bytes.</source>\n        <target>Limite de rafale d\'octets en E/S souhaitée.</target>\n      </trans-unit>\n      <trans-unit id="b988b90489e899941e196c3dd0ecc22e37540224" datatype="html">\n        <source>IOPS Burst</source>\n        <target>Rafale E/S par seconde</target>\n      </trans-unit>\n      <trans-unit id="02c5de8ff11870f1b3896f2b45637ce0dba1ed4b" datatype="html">\n        <source>The desired burst limit of IO operations.</source>\n        <target>Limite de rafale d\'opérations E/S souhaitée.</target>\n      </trans-unit>\n      <trans-unit id="7a160538129b37cf595f1651f28b5fac62fbc0f8" datatype="html">\n        <source>Read BPS Burst</source>\n        <target>Rafale E/S par seconde en lecture</target>\n      </trans-unit>\n      <trans-unit id="b573a5df16a53b9947288461bc24e6a0eb4341d6" datatype="html">\n        <source>The desired burst limit of read bytes.</source>\n        <target>Limite de rafale d\'octets lus par seconde.</target>\n      </trans-unit>\n      <trans-unit id="1d5b8c2a0c653651cc4ca4b8fed9456f449220d1" datatype="html">\n        <source>Read IOPS Burst</source>\n        <target>Rafale E/S par seconde en lecture</target>\n      </trans-unit>\n      <trans-unit id="20b199f9d4a8d08ffefec66040e27639ec221512" datatype="html">\n        <source>The desired burst limit of read operations.</source>\n        <target>Limite de rafale d\'opérations de lecture</target>\n      </trans-unit>\n      <trans-unit id="824525ae57992aee629ddffcd500a8b77087ddec" datatype="html">\n        <source>Write BPS Burst</source>\n        <target>Rafale E/S par seconde en écriture</target>\n      </trans-unit>\n      <trans-unit id="a90aac4050a5d79765da5e1186909f6d4d7f981d" datatype="html">\n        <source>The desired burst limit of write bytes.</source>\n        <target>Limite de rafale de lectures d\'octets souhaitée.</target>\n      </trans-unit>\n      <trans-unit id="35a8c6e6c249c7d16e26aa7c4ef97c06db405070" datatype="html">\n        <source>Write IOPS Burst</source>\n        <target>Rafale d\'E/S par seconde en écriture</target>\n      </trans-unit>\n      <trans-unit id="b356abd41d7e9eea4d20c03d2e6892b6d435ecbd" datatype="html">\n        <source>The desired burst limit of write operations.</source>\n        <target>Limite de rafale d\'opérations d\'écriture souhaitée.</target>\n      </trans-unit>\n      <trans-unit id="24c4d50fe8567de381a20a1745f1b6d37eacaa90" datatype="html">\n        <source>Failed to \n          <x id="INTERPOLATION" equiv-text="{{failure}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{metadata}}"/>\n        </source>\n        <target>Failed to \n          <x id="INTERPOLATION" equiv-text="{{failure}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{metadata}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="f54b6f09b390d5ade0e354f6c7d4743c10a315cc" datatype="html">\n        <source>Executing</source>\n        <target>En cours d\'exécution</target>\n      </trans-unit>\n      <trans-unit id="5cdfe3e3330ea42bfd29c540dbd268bee97d364d" datatype="html">\n        <source>execute</source>\n        <target>exécuter</target>\n      </trans-unit>\n      <trans-unit id="6e98e243518daa88be30330fcdbd2d10f8eae4d7" datatype="html">\n        <source>Executed</source>\n        <target>Exécuté</target>\n      </trans-unit>\n      <trans-unit id="24b09aa5bd909273a023d2d788a2673325c77e31" datatype="html">\n        <source>unknown task</source>\n        <target>tâche inconnue</target>\n      </trans-unit>\n      <trans-unit id="114b5f92b9192b229ffc9a450319a97ccca2aa5c" datatype="html">\n        <source>Creating</source>\n        <target>En cours de création</target>\n      </trans-unit>\n      <trans-unit id="56695b69d27437ada580a187958407e7c856d46e" datatype="html">\n        <source>create</source>\n        <target>créer</target>\n      </trans-unit>\n      <trans-unit id="9db60170ef3b3b41a863e7d5ee7cec10919b9141" datatype="html">\n        <source>Updating</source>\n        <target>En cours de mise à jour</target>\n      </trans-unit>\n      <trans-unit id="64412640835b7d25247cb254d4f911366c0e6862" datatype="html">\n        <source>update</source>\n        <target>mettre à jour</target>\n      </trans-unit>\n      <trans-unit id="416193bb373d59477458b00e5922d755e2e2cacd" datatype="html">\n        <source>Deleting</source>\n        <target>En cours de suppression</target>\n      </trans-unit>\n      <trans-unit id="d07a282afc7fbdb39cea6e1c9b544882a7260a86" datatype="html">\n        <source>Adding</source>\n        <target>Adding</target>\n      </trans-unit>\n      <trans-unit id="a11ec4e640f241329943237d2a3cceaa4823658e" datatype="html">\n        <source>add</source>\n        <target>add</target>\n      </trans-unit>\n      <trans-unit id="ea1c70b874904216cc5af24bd7cb3dab2d074d42" datatype="html">\n        <source>Removing</source>\n        <target>Removing</target>\n      </trans-unit>\n      <trans-unit id="4da487aec5a29ce4372e7b512227cd665b01fe6f" datatype="html">\n        <source>remove</source>\n        <target>remove</target>\n      </trans-unit>\n      <trans-unit id="0e21237afdc84ec360c374fa678d9b1cfaa334f9" datatype="html">\n        <source>Importing</source>\n        <target>Importing</target>\n      </trans-unit>\n      <trans-unit id="c6b4128c006f4cc0564137e1a1482b5c432aa347" datatype="html">\n        <source>import</source>\n        <target>import</target>\n      </trans-unit>\n      <trans-unit id="3b9f4138abbca0fd66db1f7332f4b54e2a6d916d" datatype="html">\n        <source>Imported</source>\n        <target>Imported</target>\n      </trans-unit>\n      <trans-unit id="3f757cfc3749ebb5d4462017cb60138ca082f15f" datatype="html">\n        <source>RBD \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>RBD \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="a6c681e6130fe440ae40de99a405fcf5c7eefee1" datatype="html">\n        <source>RBD snapshot \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>RBD snapshot \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="2bf18ddf3785f7afb4f01dcf63d3d8c40f4bfba5" datatype="html">\n        <source>mirroring site name</source>\n        <target>mirroring site name</target>\n      </trans-unit>\n      <trans-unit id="167b73bb24b4695614ce0fc567b7a45080457a44" datatype="html">\n        <source>bootstrap token</source>\n        <target>bootstrap token</target>\n      </trans-unit>\n      <trans-unit id="4fb54a0291f49583c317d4a3690239141b5a8f68" datatype="html">\n        <source>mirror mode for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>mirror mode for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="6621ab6e122a149326a1e48e9051a41e7f203cf6" datatype="html">\n        <source>mirror peer for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>mirror peer for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="db15adc778317d551232fe712eb03a2c1eac4a43" datatype="html">\n        <source>all dashboards</source>\n        <target>all dashboards</target>\n      </trans-unit>\n      <trans-unit id="6c19652df9249c60827044ed6274933cab180c63" datatype="html">\n        <source>OSDs (DriveGroups: \n          <x id="INTERPOLATION" equiv-text="{{tracking_id}}"/>)\n        </source>\n        <target>OSDs (DriveGroups: \n          <x id="INTERPOLATION" equiv-text="{{tracking_id}}"/>)\n        </target>\n      </trans-unit>\n      <trans-unit id="1b559dbd9cc9664fd788c2da9a10d3abafe066cb" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8fc28e1103d9f2ef47b9fff9a4f74e8365c7cf19" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="1cdc7ea44fcb85d0cfcf6e7379d625d8674a8fbe" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="460f07780389d24c6a540c007c7367a56afad585" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> is busy.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> is busy.\n        </target>\n      </trans-unit>\n      <trans-unit id="1ff7676ad1e991102224540a32dd44ad1ab88aa8" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.\n        </target>\n      </trans-unit>\n      <trans-unit id="c3a1dcca2b2ba20fbe39e2441e7bb1cf9c20cdf3" datatype="html">\n        <source>Cloning</source>\n        <target>Clonage en cours</target>\n      </trans-unit>\n      <trans-unit id="b5fa4e0a3a279dee5b6bf7b823e54387f7c79994" datatype="html">\n        <source>clone</source>\n        <target>cloner</target>\n      </trans-unit>\n      <trans-unit id="29b7452e8367af9aa8fa828f16ff94c3530e7a1a" datatype="html">\n        <source>Snapshot of \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> must be protected.\n        </source>\n        <target>Snapshot of \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> must be protected.\n        </target>\n      </trans-unit>\n      <trans-unit id="369f93b9a07a9465f7a261e9f0021b6cfa7180c5" datatype="html">\n        <source>Copying</source>\n        <target>En cours de copie</target>\n      </trans-unit>\n      <trans-unit id="37584f889855d153a106f5dffe23d21f9453c8ff" datatype="html">\n        <source>copy</source>\n        <target>copie</target>\n      </trans-unit>\n      <trans-unit id="6ea9e313a04ef59222feaadfe84e97b4c69d7e9e" datatype="html">\n        <source>Flattening</source>\n        <target>Aplatissement</target>\n      </trans-unit>\n      <trans-unit id="1f57593581b64d2d4c70eab1736bd9bccc66a7dc" datatype="html">\n        <source>flatten</source>\n        <target>aplatir</target>\n      </trans-unit>\n      <trans-unit id="d990ef9680cd23bbe652c37eb46bf038cfee80ad" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="a101745d080ef65c09bd5fafc796f94ddb9f9d60" datatype="html">\n        <source>Cannot unprotect \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it contains child images.\n        </source>\n        <target>Cannot unprotect \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it contains child images.\n        </target>\n      </trans-unit>\n      <trans-unit id="647968f4cde7786cd53ec8e6aa9802ac6824a262" datatype="html">\n        <source>Cannot delete \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it\'s protected.\n        </source>\n        <target>Cannot delete \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it\'s protected.\n        </target>\n      </trans-unit>\n      <trans-unit id="57ddd3e15cf0ce974356b757451f50116a27272b" datatype="html">\n        <source>Rolling back</source>\n        <target>Retour à l\'état initial</target>\n      </trans-unit>\n      <trans-unit id="a8913a3a5ee61f2598b5f0432cb9b20cdd60548e" datatype="html">\n        <source>rollback</source>\n        <target>rétablir l\'état initial</target>\n      </trans-unit>\n      <trans-unit id="de8676f0017c9db6c49388cd7d63cd0a83a0c1dc" datatype="html">\n        <source>Moving</source>\n        <target>En cours de déplacement</target>\n      </trans-unit>\n      <trans-unit id="2d810712308ae63cb795d809687a3254ef7a2f05" datatype="html">\n        <source>move</source>\n        <target>déplacer</target>\n      </trans-unit>\n      <trans-unit id="f3ba995236e5c1cc77686108980c099a90aec754" datatype="html">\n        <source>Moved</source>\n        <target>Déplacé</target>\n      </trans-unit>\n      <trans-unit id="d0422169252d132624a20f267b5c29f28cb53ebe" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' to trash\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' to trash\n        </target>\n      </trans-unit>\n      <trans-unit id="b603e2dfed9808222fbcb5a7c5f4da2cc6ae2aae" datatype="html">\n        <source>Could not find image.</source>\n        <target>Impossible de trouver l\'image.</target>\n      </trans-unit>\n      <trans-unit id="398debe73006b1fe5177ed81d2e7b0cc852f61ec" datatype="html">\n        <source>Restoring</source>\n        <target>En cours de restauration.</target>\n      </trans-unit>\n      <trans-unit id="c252806fb400e79bac194696632c9362742b1538" datatype="html">\n        <source>restore</source>\n        <target>restaurer</target>\n      </trans-unit>\n      <trans-unit id="30b8bcf69b3f1754b7abba173fd806cfcea4cb04" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' into \'\n          <x id="INTERPOLATION_1" equiv-text="{{new_id}}"/>\'\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' into \'\n          <x id="INTERPOLATION_1" equiv-text="{{new_id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="13b7b241cef989fe0932ddd180e757658e1817e7" datatype="html">\n        <source>Image name \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' is already in use.\n        </source>\n        <target>Image name \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' is already in use.\n        </target>\n      </trans-unit>\n      <trans-unit id="cc1cee12c833e8fbbef28a2a7c449dc530da912d" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="38e5f47f8bef505652f3e87f46efb00ead1350a3" datatype="html">\n        <source>Purging</source>\n        <target>En cours de purge</target>\n      </trans-unit>\n      <trans-unit id="e4e57747f123f0fe6fe3a0ecf608f8bc287dec0c" datatype="html">\n        <source>purge</source>\n        <target>purger</target>\n      </trans-unit>\n      <trans-unit id="1560d58fdf39663929653250d45f5b1dfe078fea" datatype="html">\n        <source>all pools</source>\n        <target>toutes les réserves</target>\n      </trans-unit>\n      <trans-unit id="1ac3dc50c2c3d86e98bc0967ee1e696810a2d3aa" datatype="html">\n        <source>images from \n          <x id="INTERPOLATION" equiv-text="{{message}}"/>\n        </source>\n        <target>images from \n          <x id="INTERPOLATION" equiv-text="{{message}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="02278abbb044ece04ab6bd80bd2060198d31d83b" datatype="html">\n        <source>Cannot disable mirroring because it contains a peer.</source>\n        <target>Impossible de désactiver la mise en miroir, car l\'élément contient un homologue.</target>\n      </trans-unit>\n      <trans-unit id="5c4525a1b76ca54d1aadeaecfdb83aedc2eec6e0" datatype="html">\n        <source>Identifying</source>\n        <target>Identifying</target>\n      </trans-unit>\n      <trans-unit id="ffd067e54a061d1f27cb35f0cf67ef7f29e19111" datatype="html">\n        <source>identify</source>\n        <target>identify</target>\n      </trans-unit>\n      <trans-unit id="7c921f339274688c22ba1acac7af6b097ad3599d" datatype="html">\n        <source>Identified</source>\n        <target>Identified</target>\n      </trans-unit>\n      <trans-unit id="3307492c27c2150cd26c514030444e11fd61089f" datatype="html">\n        <source>device \'\n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\' on host \'\n          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>\'\n        </source>\n        <target>device \'\n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\' on host \'\n          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="f123ae1fc3b000e5d08e766dd78bff162afe709d" datatype="html">\n        <source>host \'\n          <x id="INTERPOLATION" equiv-text="{{hostname}}"/>\'\n        </source>\n        <target>host \'\n          <x id="INTERPOLATION" equiv-text="{{hostname}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="c1af76189dcefd094da2bc1a4a63968f3bab5789" datatype="html">\n        <source>OSD \'\n          <x id="INTERPOLATION" equiv-text="{{svc_id}}"/>\'\n        </source>\n        <target>OSD \'\n          <x id="INTERPOLATION" equiv-text="{{svc_id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="dfe70001dc590a9e12512cbb206aa29fb36fd00b" datatype="html">\n        <source>pool \'\n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>\'\n        </source>\n        <target>pool \'\n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="59630daf2f4786690fae0cdad55da8887236eabe" datatype="html">\n        <source>erasure code profile \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </source>\n        <target>erasure code profile \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="79052d6c47258dc19ada12dbb2563761102b6f1d" datatype="html">\n        <source>crush rule \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </source>\n        <target>crush rule \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="369462e5e018360e0600bb570866201ad5c3c8a8" datatype="html">\n        <source>target \'\n          <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>\'\n        </source>\n        <target>target \'\n          <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="cf41310917cb19b335e5a950972bbff2346f7a47" datatype="html">\n        <source>NFS \n          <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>\n        </source>\n        <target>NFS \n          <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>\n        </target>\n      </trans-unit>\n    </body>\n  </file>\n</xliff>'},V6Ve:function(t,e,n){var a=n("kekF")(Object.keys,Object);t.exports=a},VHo1:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}(n("rLYq"))},VOtZ:function(t,e,n){var a=n("juv8"),r=n("MvSz");t.exports=function(t,e){return a(t,r(t),e)}},VRyK:function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var a=n("HDdC"),r=n("z+Ro"),o=n("bHdf"),i=n("yCtX");function s(...t){let e=Number.POSITIVE_INFINITY,n=null,s=t[t.length-1];return Object(r.a)(s)?(n=t.pop(),t.length>1&&"number"==typeof t[t.length-1]&&(e=t.pop())):"number"==typeof s&&(e=t.pop()),null===n&&1===t.length&&t[0]instanceof a.a?t[0]:Object(o.a)(e)(Object(i.a)(t,n))}},VTlA:function(t,e,n){"use strict";n.d(e,"a",(function(){return a})),n("mSOc"),n("ufoC");class a{constructor(t,e){this.taskMessageService=t,this.summaryService=e}init(t,e,n,a,r,o,i){this.getUpdate=t,this.preProcessing=e,this.setList=n,this.onFetchError=a,this.taskFilter=r,this.itemFilter=o,this.builders=i||{},this.summaryDataSubscription=this.summaryService.subscribe(t=>{t&&this.getUpdate().subscribe(e=>{this.updateData(e,t.executing_tasks.filter(this.taskFilter))},this.onFetchError)},this.onFetchError)}updateData(t,e){const n=this.preProcessing?this.preProcessing(t):t;this.addMissing(n,e),n.forEach(t=>{const n=e.filter(e=>this.itemFilter(t,e));t.cdExecuting=this.getTaskAction(n)}),this.setList(n)}addMissing(t,e){const n=this.builders.default;e.forEach(e=>{const a=t.find(t=>this.itemFilter(t,e)),r=this.builders[e.name];a||!r&&!n||t.push(r?r(e.metadata):n(e.metadata))})}getTaskAction(t){if(0!==t.length)return t.map(t=>{const e=t.progress?` ${t.progress}%`:"";return this.taskMessageService.getRunningText(t)+"..."+e}).join(", ")}ngOnDestroy(){this.summaryDataSubscription&&this.summaryDataSubscription.unsubscribe()}}},VXsX:function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var a=n("LvDl"),r=n("8Y7J");class o{constructor(t,e,n){this.name=t,this.metadata=e,this.onTaskFinished=n}}let i=(()=>{class t{constructor(){this.subscriptions=[]}init(t){return t.subscribe(t=>{if(!t)return;const e=t.executing_tasks,n=t.finished_tasks,a=[];for(const r of this.subscriptions){const t=this._getTask(r,n),o=this._getTask(r,e);null!==t&&null===o&&r.onTaskFinished(t),null!==o&&a.push(r),this.subscriptions=a}})}subscribe(t,e,n){this.subscriptions.push(new o(t,e,n))}_getTask(t,e){for(const n of e)if(n.name===t.name&&a.isEqual(n.metadata,t.metadata))return n;return null}}return t.ngInjectableDef=r["ɵɵdefineInjectable"]({factory:function(){return new t},token:t,providedIn:"root"}),t})()},"VYA+":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=n("CVuo"),r=n("HV4d"),o=n("h+PQ");function i(t){return null==t}e.setColumnDefaults=function(t){if(t)for(var e=!1,n=0,s=t;n<s.length;n++){var c=s[n];c.$$id||(c.$$id=r.id()),i(c.prop)&&c.name&&(c.prop=a.camelCase(c.name)),c.$$valueGetter||(c.$$valueGetter=o.getterForProp(c.prop)),!i(c.prop)&&i(c.name)&&(c.name=a.deCamelCase(String(c.prop))),i(c.prop)&&i(c.name)&&(c.name=""),c.hasOwnProperty("resizeable")||(c.resizeable=!0),c.hasOwnProperty("sortable")||(c.sortable=!0),c.hasOwnProperty("draggable")||(c.draggable=!0),c.hasOwnProperty("canAutoResize")||(c.canAutoResize=!0),c.hasOwnProperty("width")||(c.width=150),c.hasOwnProperty("isTreeColumn")&&c.isTreeColumn&&!e?e=!0:c.isTreeColumn=!1}},e.isNullOrUndefined=i,e.translateTemplates=function(t){for(var e=[],n=0,a=t;n<a.length;n++){for(var r=a[n],o={},i=0,s=Object.getOwnPropertyNames(r);i<s.length;i++){var c=s[i];o[c]=r[c]}r.headerTemplate&&(o.headerTemplate=r.headerTemplate),r.cellTemplate&&(o.cellTemplate=r.cellTemplate),r.summaryFunc&&(o.summaryFunc=r.summaryFunc),r.summaryTemplate&&(o.summaryTemplate=r.summaryTemplate),e.push(o)}return e}},VaNO:function(t,e){t.exports=function(t){return this.__data__.has(t)}},Vclq:function(t,e,n){!function(t){"use strict";var e="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),a=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],r=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;t.defineLocale("es-us",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(t,a){return t?/-MMM-/.test(a)?n[t.month()]:e[t.month()]:e},monthsRegex:r,monthsShortRegex:r,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"MM/DD/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:0,doy:6}})}(n("wd/R"))},Vhfg:function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var a=n("lJxs"),r=n("ej+x"),o=n("8Y7J"),i=n("iInd");let s=(()=>{class t{constructor(t,e){this.router=t,this.featureToggles=e}canActivate(t){return this.featureToggles.get().pipe(Object(a.a)(e=>!1!==e[t.routeConfig.path]||(this.router.navigate(["404"]),!1)))}canActivateChild(t){return this.canActivate(t.parent)}}return t.ngInjectableDef=o["ɵɵdefineInjectable"]({factory:function(){return new t(o["ɵɵinject"](i.m),o["ɵɵinject"](r.a))},token:t,providedIn:"root"}),t})()},ViD7:function(t,e,n){"use strict";n.r(e),e.default='<xliff xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 http://docs.oasis-open.org/xliff/v1.2/os/xliff-core-1.2-strict.xsd" xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">\n  <file original="ng2.template" datatype="plaintext" source-language="en-US" target-language="cs">\n    <body>\n      <trans-unit id="319e0745bcbc132451569294fa2fa21bf10f555a" datatype="html">\n        <source>Toggle navigation</source>\n        <target>Zobraz./skrýt navigaci</target>\n      </trans-unit>\n      <trans-unit id="f65253954b66e929a8b4d5ecaf61f9129f8cec64" datatype="html">\n        <source>Dashboard</source>\n        <target>Přehled</target>\n      </trans-unit>\n      <trans-unit id="f4d1dd59b039ad818d9da7e29a773e10e41d9821" datatype="html">\n        <source>Cluster</source>\n        <target>Klastr</target>\n      </trans-unit>\n      <trans-unit id="099b441d49333b3c6d30b36dc0a4763e64c78920" datatype="html">\n        <source>Hosts</source>\n        <target>Stroje</target>\n      </trans-unit>\n      <trans-unit id="2cc3ecb16e348fcf2f2fbfd2f997d4d22f37475b" datatype="html">\n        <source>Inventory</source>\n        <target>Inventory</target>\n      </trans-unit>\n      <trans-unit id="624f596cc3320f5e0a0d7c7346c364e5af9bdd8c" datatype="html">\n        <source>Monitors</source>\n        <target>Monitory</target>\n      </trans-unit>\n      <trans-unit id="419d940613972cc3fae9c8ea0a4306dbf80616e5" datatype="html">\n        <source>Services</source>\n        <target>Služby</target>\n      </trans-unit>\n      <trans-unit id="1a9183778f2c6473d7ccb080f651caa01faaf70c" datatype="html">\n        <source>OSDs</source>\n        <target>OSD</target>\n      </trans-unit>\n      <trans-unit id="4a41f824a35ba01d5bd7be61aa06b3e8145209d0" datatype="html">\n        <source>Configuration</source>\n        <target>Nastavení</target>\n      </trans-unit>\n      <trans-unit id="8c95898abff46bfac3ed6eb2afef74597e60b15c" datatype="html">\n        <source>CRUSH map</source>\n        <target>CRUSH mapa</target>\n      </trans-unit>\n      <trans-unit id="33da4dbeb076159510801ea764a218fd341269d2" datatype="html">\n        <source>Manager modules</source>\n        <target>Moduly správy</target>\n      </trans-unit>\n      <trans-unit id="eb3d5aefff38a814b76da74371cbf02c0789a1ef" datatype="html">\n        <source>Logs</source>\n        <target>Záznamy událostí</target>\n      </trans-unit>\n      <trans-unit id="17fc3efe5f9fa4e0289c900cb6202265215a1a27" datatype="html">\n        <source>Monitoring</source>\n        <target>Monitoring</target>\n      </trans-unit>\n      <trans-unit id="92899fa68e8ca108912163ff58edc8540e453787" datatype="html">\n        <source>Pools</source>\n        <target>Fondy</target>\n      </trans-unit>\n      <trans-unit id="7f5d0c10614e8a34f0e2dad33a0568277c50cf69" datatype="html">\n        <source>Block</source>\n        <target>Blok</target>\n      </trans-unit>\n      <trans-unit id="b73f7f5060fb22a1e9ec462b1bb02493fa3ab866" datatype="html">\n        <source>Images</source>\n        <target>Obrazy</target>\n      </trans-unit>\n      <trans-unit id="3c2562ba992127203dcfd014010b03cb7b8113c6" datatype="html">\n        <source>Mirroring</source>\n        <target>Zrcadlení</target>\n      </trans-unit>\n      <trans-unit id="811c241d56601b91ef26735b770e64428089b950" datatype="html">\n        <source>iSCSI</source>\n        <target>iSCSI</target>\n      </trans-unit>\n      <trans-unit id="a24eabd99ea5af20f5f94c4484649cd30370042b" datatype="html">\n        <source>NFS</source>\n        <target>NFS</target>\n      </trans-unit>\n      <trans-unit id="a4eff72d97b7ced051398d581f10968218057ddc" datatype="html">\n        <source>Filesystems</source>\n        <target>Souborové systémy</target>\n      </trans-unit>\n      <trans-unit id="2190548d236ca5f7bc7ab2bca334b860c5ff2ad4" datatype="html">\n        <source>Object Gateway</source>\n        <target>Objektová brána</target>\n      </trans-unit>\n      <trans-unit id="9e24f9e2d42104ffc01599db4d566d1cc518f9e6" datatype="html">\n        <source>Daemons</source>\n        <target>Procesy služeb</target>\n      </trans-unit>\n      <trans-unit id="4d13a9cd5ed3dcee0eab22cb25198d43886942be" datatype="html">\n        <source>Users</source>\n        <target>Uživatelé</target>\n      </trans-unit>\n      <trans-unit id="9515520496da83179d8b08132f00f575512a1f40" datatype="html">\n        <source>Buckets</source>\n        <target>Nádoby</target>\n      </trans-unit>\n      <trans-unit id="797f8214e8148f4bf0d244baaa7341706b419549" datatype="html">\n        <source>Retrieving data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>. Please wait...\n        </source>\n        <target>Získávají se data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> pro\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>. Čekejte…\n        </target>\n      </trans-unit>\n      <trans-unit id="5a870dc77b9f6f33ee671ea2d856021276933339" datatype="html">\n        <source>Displaying previously cached data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>\n  for \n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n        </source>\n        <target>Zobrazují se data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>z mezipaměti\n  pro \n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="ae580202919844531361ba2308287226ff74a584" datatype="html">\n        <source>Could not load data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n  Please check the cluster health.\n        </source>\n        <target>Nedaří se načíst dat \n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> pro\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n  Zkontrolujte zdraví klastru.\n        </target>\n      </trans-unit>\n      <trans-unit id="7e52e9143145e1db5146258de81eae018a407b31" datatype="html">\n        <source>Clear notifications</source>\n        <target>Vyčistit oznámení</target>\n      </trans-unit>\n      <trans-unit id="b0b07bb6b7ff21ede439dd04eaf8872d1ecb84d8" datatype="html">\n        <source>Remove notification</source>\n        <target>Odebrat oznámení</target>\n      </trans-unit>\n      <trans-unit id="e17a1d75189da843f541f7764f188f2b19a97df2" datatype="html">\n        <source>Duration:</source>\n        <target>Trvání:</target>\n      </trans-unit>\n      <trans-unit id="0d4b37c6675c5b436a54c43d6716eec835e1aa7f" datatype="html">\n        <source>There are no notifications.</source>\n        <target>Nejsou zde žádná oznámení.</target>\n      </trans-unit>\n      <trans-unit id="0a23e992f6c6e169a38b2b7338b4e5e803b52e0d" datatype="html">\n        <source>Tasks and Notifications</source>\n        <target>Úlohy a oznámení</target>\n      </trans-unit>\n      <trans-unit id="3fb5709e10166cbc85970cbff103db227dbeb813" datatype="html">\n        <source>Select a Language</source>\n        <target>Vyberte jazyk</target>\n      </trans-unit>\n      <trans-unit id="c5109325fb160b543f71a51e7511c00575057431" datatype="html">\n        <source>Loading panel data...</source>\n        <target>Načítání údajů panelu…</target>\n      </trans-unit>\n      <trans-unit id="8ca12411f890ab8b0a9216418e2b8f5ea7d2441a" datatype="html">\n        <source>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the monitoring functionality.\n        </source>\n        <target>Nahlédněte do\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>dokumentace\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>, kde naleznete jak\n  nastavit a zapnout funkci monitorování.\n        </target>\n      </trans-unit>\n      <trans-unit id="160a9e80dc089792df42e2400b1e81b9e7025aa7" datatype="html">\n        <source>Grafana Dashboard doesn\'t exist. Please refer to\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  add dashboards to Grafana.\n        </source>\n        <target>Grafana přehled neexistuje. Podívejte se do\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>dokumentace\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> jak\n  přidat přehledy do Grafany.\n        </target>\n      </trans-unit>\n      <trans-unit id="4e11830040bd64804a0555de76f291d5832772d4" datatype="html">\n        <source>Grafana Time Picker</source>\n        <target>Volič čas Grafana</target>\n      </trans-unit>\n      <trans-unit id="238c1ba845dd7330e8088165275919a1debf1ca3" datatype="html">\n        <source>Reset Settings</source>\n        <target>Resetovat nastavení</target>\n      </trans-unit>\n      <trans-unit id="c8d1785038d461ec66b5799db21864182b35900a" datatype="html">\n        <source>Refresh</source>\n        <target>Načíst znovu</target>\n      </trans-unit>\n      <trans-unit id="6c947210e2d162b6225083d18820ab602f58cd2d" datatype="html">\n        <source>Remove the custom configuration value. The default configuration will be inherited and used instead.</source>\n        <target>Odebrat uživatelsky určenou hodnotu nastavení. Namísto toho bude převzato a použito výchozí nastavení.</target>\n      </trans-unit>\n      <trans-unit id="454ee9cb60b00446a8fb147fd2cc5eb836320586" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ option.maxValue }}"/>.\n        </source>\n        <target>Zadaná hodnota je příliš vysoká! Nemůže být vyšší než \n          <x id="INTERPOLATION" equiv-text="{{ option.maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="7fc8a22825131e028336f60ef909ccbd96059703" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ option.minValue }}"/>.\n        </source>\n        <target>Zadaná hodnota je příliš nízká! Nemůže být nižší než 1.</target>\n      </trans-unit>\n      <trans-unit id="cda31dbd724cf5f4fa7a4274d9120651490c8a8c" datatype="html">\n        <source>Back</source>\n        <target>Zpět</target>\n      </trans-unit>\n      <trans-unit id="9ce641535be1ffa106c87724ba0637facaef5f61" datatype="html">\n        <source>Your password will expire in \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>less than 1\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day. Click\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.\n        </source>\n        <target>Your password will expire in \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>less than 1\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day. Click\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.\n        </target>\n      </trans-unit>\n      <trans-unit id="c2f34088c155e40ffb23770a465a65868ce772b2" datatype="html">\n        <source>Your password will expire in \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ expirationDays }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day(s). Click\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.\n        </source>\n        <target>Your password will expire in \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ expirationDays }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day(s). Click\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.\n        </target>\n      </trans-unit>\n      <trans-unit id="9b516f972c744779257310b73f6e97438b726707" datatype="html">\n        <source>Orchestrator is not available. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the functionality.\n        </source>\n        <target>Orchestrator is not available. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="012741ee52b3c050e4a977c37cc2334f7974f141" datatype="html">\n        <source>Failed to load data.</source>\n        <target>Data se nepodařilo načíst</target>\n      </trans-unit>\n      <trans-unit id="1e5e23363e949f7dcbaf034bdb141a561132a10e" datatype="html">\n        <source>Clear filters</source>\n        <target>Clear filters</target>\n      </trans-unit>\n      <trans-unit id="80cc9a12d4bf6fe454ed94b379eeaf915f920bb7" datatype="html">\n        <source>selected</source>\n        <target>vybráno</target>\n        <note>X selected</note>\n      </trans-unit>\n      <trans-unit id="0cb77511a9a148e05b9adf36cc07269956fbb29d" datatype="html">\n        <source>found</source>\n        <target>nalezeno</target>\n        <note>X found</note>\n      </trans-unit>\n      <trans-unit id="79347388740c50b7ac97e144c2494bb62912f312" datatype="html">\n        <source>total</source>\n        <target>celkem</target>\n        <note>X total</note>\n      </trans-unit>\n      <trans-unit id="cff1428d10d59d14e45edec3c735a27b5482db59" datatype="html">\n        <source>Name</source>\n        <target>Název</target>\n      </trans-unit>\n      <trans-unit id="eec715de352a6b114713b30b640d319fa78207a0" datatype="html">\n        <source>Description</source>\n        <target>Popis</target>\n      </trans-unit>\n      <trans-unit id="4ad112ce9bcd55dfd137792a86afe1b5a5b13cf8" datatype="html">\n        <source>Long description</source>\n        <target>Podrobnější popis</target>\n      </trans-unit>\n      <trans-unit id="ff7cee38a2259526c519f878e71b964f41db4348" datatype="html">\n        <source>Default</source>\n        <target>Výchozí</target>\n      </trans-unit>\n      <trans-unit id="33e1c1d9fc05ca3f62fcc8a1170fc31ebae4229c" datatype="html">\n        <source>Daemon default</source>\n        <target>Výchozí pro proces služby</target>\n      </trans-unit>\n      <trans-unit id="809b0c848932a41318f77a2aace904ef429c13f4" datatype="html">\n        <source>Values</source>\n        <target>Hodnoty</target>\n      </trans-unit>\n      <trans-unit id="5894f7158499fdb89527af50c9f1cf7d4c95cad6" datatype="html">\n        <source>-- Default --</source>\n        <target>-- Default --</target>\n      </trans-unit>\n      <trans-unit id="514f6e12d035a6d9b00de6b3e55c18b73488da07" datatype="html">\n        <source>true</source>\n        <target>true</target>\n      </trans-unit>\n      <trans-unit id="774f5e6a183dea08393789b6f72e86afad729419" datatype="html">\n        <source>false</source>\n        <target>false</target>\n      </trans-unit>\n      <trans-unit id="82029b6db704c56a2aa3e82ac555b8655356b077" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.\n        </source>\n        <target>Zadaná hodnota je příliš vysoká! Nemůže být vyšší než \n          <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8ed8b3967a7326b81b191c9f490006e6a6777a9a" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ minValue }}"/>.\n        </source>\n        <target>Zadaná hodnota je příliš nízká! Nemůže být nižší než \n          <x id="INTERPOLATION" equiv-text="{{ minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="52c9a103b812f258bcddc3d90a6e3f46871d25fe" datatype="html">\n        <source>Save</source>\n        <target>Uložit</target>\n      </trans-unit>\n      <trans-unit id="738de688b22fba5d0dc7a5e549996838dddad0ee" datatype="html">\n        <source>CRUSH map viewer</source>\n        <target>prohlížeč CRUSH mapy</target>\n      </trans-unit>\n      <trans-unit id="94516fa213706c67ce5a5b5765681d7fb032033a" datatype="html">\n        <source>Loading...</source>\n        <target>Načítání…</target>\n      </trans-unit>\n      <trans-unit id="formTitle" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </target>\n        <note>form title</note>\n      </trans-unit>\n      <trans-unit id="9a541ec1a4319fffc16ad3b3ab2c2b6d251a829d" datatype="html">\n        <source>Hostname</source>\n        <target>Název stroje</target>\n      </trans-unit>\n      <trans-unit id="7cbdabcece469fab89cfa687ab152bca18b97498" datatype="html">\n        <source>This field is required.</source>\n        <target>Tuto kolonku je třeba vyplnit.</target>\n      </trans-unit>\n      <trans-unit id="1b3f5e5291541678f7afa49d28fad5ca848a8061" datatype="html">\n        <source>The chosen hostname is already in use.</source>\n        <target>Zvolený název stroje už je používán.</target>\n      </trans-unit>\n      <trans-unit id="formActionButton" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </target>\n        <note>form action button</note>\n      </trans-unit>\n      <trans-unit id="6110699a3562eeb15371063c0cf7f6bfd88a0209" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemNames[0] }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>?\n        </source>\n        <target>Opravdu chcete \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemNames[0] }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>?\n        </target>\n      </trans-unit>\n      <trans-unit id="549859e511ba5af0ea03fcaa620c472f08038969" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected items?\n        </source>\n        <target>Opravdu chcete označené položky \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> ?\n        </target>\n      </trans-unit>\n      <trans-unit id="54839ebc827b73c9dc4e1df731c6d36a85036af7" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected \n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>?\n        </source>\n        <target>Opravdu chcete \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> označené \n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>?\n        </target>\n      </trans-unit>\n      <trans-unit id="2be8b7f04f0104d3fad90d079d8202b74f758b9a" datatype="html">\n        <source>Yes, I am sure.</source>\n        <target>Ano, opravdu to chci.</target>\n      </trans-unit>\n      <trans-unit id="d7b35c384aecd25a516200d6921836374613dfe7" datatype="html">\n        <source>Cancel</source>\n        <target>Storno</target>\n      </trans-unit>\n      <trans-unit id="55a2f26b2e87886d9b8015a887e38e51ab2a866a" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8" datatype="html">\n        <source>Close</source>\n        <target>Zavřít</target>\n      </trans-unit>\n      <trans-unit id="40661476cb24c89d8b06614998e31d5fbe84eeb6" datatype="html">\n        <source>Hosts List</source>\n        <target>Seznam strojů</target>\n      </trans-unit>\n      <trans-unit id="5e7f4b1ca49e8d217bd0e12c6f7d6b6a2ade2c18" datatype="html">\n        <source>Overall Performance</source>\n        <target>Celková výkonnost</target>\n      </trans-unit>\n      <trans-unit id="3e24569eca61d598c8b01defbbbb1fa8bd5222bc" datatype="html">\n        <source>Devices</source>\n        <target>Zařízení</target>\n      </trans-unit>\n      <trans-unit id="e6d57f36aa2bad303c8a8ee944b9bd7fae3c8c26" datatype="html">\n        <source>No entries found</source>\n        <target>Nenalezeny žádné položky</target>\n      </trans-unit>\n      <trans-unit id="d556ab48a65722b400e497f61737f553ee0f89e2" datatype="html">\n        <source>Cluster Logs</source>\n        <target>Záznamy událostí v klastra</target>\n      </trans-unit>\n      <trans-unit id="5f966baffd188be0e8adc2d7067b86e55fc9b9de" datatype="html">\n        <source>Audit Logs</source>\n        <target>Auditní záznamy událostí</target>\n      </trans-unit>\n      <trans-unit id="4193c9eb868aeec119b78a14795241e0aa5e8b60" datatype="html">\n        <source>Priority:</source>\n        <target>Priorita:</target>\n      </trans-unit>\n      <trans-unit id="1d78ca51eab260ce3fd917d39190d64df5229b6e" datatype="html">\n        <source>Keyword:</source>\n        <target>Klíčové slovo:</target>\n      </trans-unit>\n      <trans-unit id="05fa0bded36de6e73a1fa44838b627349dace044" datatype="html">\n        <source>Date:</source>\n        <target>Datum:</target>\n      </trans-unit>\n      <trans-unit id="31dadb362bf7f7c2afa10e5f96474ccd3977f91f" datatype="html">\n        <source>Datepicker</source>\n        <target>Volba data</target>\n      </trans-unit>\n      <trans-unit id="85a400388de1899b1917138cf7e5286376f72847" datatype="html">\n        <source>Time range:</source>\n        <target>Časový rozsah:</target>\n      </trans-unit>\n      <trans-unit id="2447796ddbda942f4e2c46619cb84d69f066e568" datatype="html">\n        <source>Loading configuration...</source>\n        <target>Načítání nastavení…</target>\n      </trans-unit>\n      <trans-unit id="b42c0b347a841bed8859ee83de05080ee28c803b" datatype="html">\n        <source>The configuration could not be loaded.</source>\n        <target>Toto nastavení se nepodařilo načíst.</target>\n      </trans-unit>\n      <trans-unit id="31a9c2870a934b594d1390146c489f76440859ea" datatype="html">\n        <source>Edit Manager module</source>\n        <target>Upravit modul správy</target>\n      </trans-unit>\n      <trans-unit id="46e09b8290d3d0afdb6baa2021395b0570606a31" datatype="html">\n        <source>The entered value is not a valid UUID, e.g.: 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8</source>\n        <target>Zadaná hodnota není platné UUID, např.: 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8</target>\n      </trans-unit>\n      <trans-unit id="7aacd038b39cfd347107d01d1dc27f5cb3e0951c" datatype="html">\n        <source>The entered value needs to be a valid IP address.</source>\n        <target>Je třeba, aby zadaná hodnota byla platnou IP adresou.</target>\n      </trans-unit>\n      <trans-unit id="f19106149f4b07a0d721f9d317afed393cb7bd93" datatype="html">\n        <source>The entered value is too high! It must be lower or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.max }}"/>.\n        </source>\n        <target>Zadaná hodnota je příliš vysoká! Je třeba, aby byla nižší nebo rovná \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.max }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="6d33c40ef9a6c3bf0888df831b25e41e65f9d15b" datatype="html">\n        <source>The entered value is too low! It must be greater or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.min }}"/>.\n        </source>\n        <target>Zadaná hodnota je příliš nízká! Je třeba, aby byla vyšší než nebo rovná \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.min }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="eae7086660cf1e38c7194a2c49ff52cc656f90f5" datatype="html">\n        <source>The entered value needs to be a number.</source>\n        <target>Je třeba, aby zadaná hodnota byla číslo.</target>\n      </trans-unit>\n      <trans-unit id="a73376e04b4fb3a20734c8c39743fba32e6676ce" datatype="html">\n        <source>The entered value needs to be a number or decimal.</source>\n        <target>Je třeba, aby zadaná hodnota byla číslo nebo desítkové.</target>\n      </trans-unit>\n      <trans-unit id="047f50bc5b5d17b5bec0196355953e1a5c590ddb" datatype="html">\n        <source>Update</source>\n        <target>Aktualizovat</target>\n      </trans-unit>\n      <trans-unit id="81b97b8ea996ad1e4f9fca8415021850214884b1" datatype="html">\n        <source>Status</source>\n        <target>Stav</target>\n      </trans-unit>\n      <trans-unit id="57ec6032f5618d4a9f16eb950ad23d2ce7c24b54" datatype="html">\n        <source>Cluster ID</source>\n        <target>Identif. kastru</target>\n      </trans-unit>\n      <trans-unit id="67d7facc3fec5f8a49ab9ba0a245872184264ce5" datatype="html">\n        <source>monmap modified</source>\n        <target>mapa monitorů změněna</target>\n      </trans-unit>\n      <trans-unit id="d4906731aaf2b94b4f547646c9bfe58bb77951b6" datatype="html">\n        <source>monmap epoch</source>\n        <target>monmap epocha</target>\n      </trans-unit>\n      <trans-unit id="bd4ee06ffdc46d9dfbd0c0c4f81399021c680056" datatype="html">\n        <source>quorum con</source>\n        <target>kvórum spojení</target>\n      </trans-unit>\n      <trans-unit id="1176c7db8a8276ccb44cc3d42e2c28d9fa6c6596" datatype="html">\n        <source>quorum mon</source>\n        <target>kvórum monitor</target>\n      </trans-unit>\n      <trans-unit id="530ef677a09d681b3ab68cb0760494b3ae72a77c" datatype="html">\n        <source>required con</source>\n        <target>vyžadováno spojení</target>\n      </trans-unit>\n      <trans-unit id="a91558e0d506c32021c31843f8f168899fc65cbf" datatype="html">\n        <source>required mon</source>\n        <target>vyžadováno monitorů</target>\n      </trans-unit>\n      <trans-unit id="b3abe9eac5bcd94a54c8da93b312e085ec512e74" datatype="html">\n        <source>In Quorum</source>\n        <target>V kvóru</target>\n      </trans-unit>\n      <trans-unit id="ba4b748a676e1f217ce1e736fb7ec1215e677bae" datatype="html">\n        <source>Not In Quorum</source>\n        <target>Není v kvóru</target>\n      </trans-unit>\n      <trans-unit id="4383e9662ea19839c7499b2128d43a195e564317" datatype="html">\n        <source>OSD creation preview</source>\n        <target>OSD creation preview</target>\n      </trans-unit>\n      <trans-unit id="366225c51e0b00bcb1c55795a0dc5e81c455f84e" datatype="html">\n        <source>DriveGroups</source>\n        <target>DriveGroups</target>\n      </trans-unit>\n      <trans-unit id="8edc89137d0d8c5667a2f03230beafae45e58429" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ deviceType }}"/> devices\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ deviceType }}"/> devices\n        </target>\n      </trans-unit>\n      <trans-unit id="eba28e1805b18f7c8ae2e4bc15dcf063b10b3822" datatype="html">\n        <source>At least one of these filters must be applied in order to proceed:</source>\n        <target>At least one of these filters must be applied in order to proceed:</target>\n      </trans-unit>\n      <trans-unit id="93389aa2fe2bea50bf89554ee51b28f87ee2fb50" datatype="html">\n        <source>Number of devices: \n          <x id="INTERPOLATION" equiv-text="{{ filteredDevices.length }}"/>. Raw capacity:\n          <x id="INTERPOLATION_1" equiv-text="{{ capacity | dimlessBinary }}"/>.\n        </source>\n        <target>Number of devices: \n          <x id="INTERPOLATION" equiv-text="{{ filteredDevices.length }}"/>. Raw capacity:\n          <x id="INTERPOLATION_1" equiv-text="{{ capacity | dimlessBinary }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="ccb4f84edc0b4e76415bb3f9b73d725b06683af3" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ name }}"/> devices\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ name }}"/> devices\n        </target>\n      </trans-unit>\n      <trans-unit id="60cb3d01e5ddf266ecb4271007a1c3d0f3efdc22" datatype="html">\n        <source>The primary storage devices. These devices contain all OSD data.</source>\n        <target>The primary storage devices. These devices contain all OSD data.</target>\n      </trans-unit>\n      <trans-unit id="b432e04886d0d1fd84f740477383051f85addcf2" datatype="html">\n        <source>Write-Ahead-Log devices. These devices are used for BlueStore’s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device.</source>\n        <target>Write-Ahead-Log devices. These devices are used for BlueStore’s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device.</target>\n      </trans-unit>\n      <trans-unit id="b87e181ab9e8393aa5ed759dd3d53836e32c8ffe" datatype="html">\n        <source>DB devices can be used for storing BlueStore’s internal metadata.  It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD).</source>\n        <target>DB devices can be used for storing BlueStore’s internal metadata.  It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD).</target>\n      </trans-unit>\n      <trans-unit id="f6755cff4957d5c3c89bafce5651f1b6fa2b1fd9" datatype="html">\n        <source>Add</source>\n        <target>Přidat</target>\n      </trans-unit>\n      <trans-unit id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46" datatype="html">\n        <source>Clear</source>\n        <target>Clear</target>\n      </trans-unit>\n      <trans-unit id="7e0fd3c7af0630f93befa6234a693a32a61084e0" datatype="html">\n        <source>Raw capacity: \n          <x id="INTERPOLATION" equiv-text="{{ capacity | dimlessBinary }}"/>\n        </source>\n        <target>Raw capacity: \n          <x id="INTERPOLATION" equiv-text="{{ capacity | dimlessBinary }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="43ecf6bee2aebc07b0aad6dc1fe13e38d14687fa" datatype="html">\n        <source>Shared devices</source>\n        <target>Shared devices</target>\n      </trans-unit>\n      <trans-unit id="7a1c376f6f1b37de4c318ff2106255ba6c0f5b0b" datatype="html">\n        <source>WAL slots</source>\n        <target>WAL slots</target>\n      </trans-unit>\n      <trans-unit id="73811a6f37b63e6b0e491e221bfa21e9dea8a87a" datatype="html">\n        <source>How many OSDs per WAL device.</source>\n        <target>How many OSDs per WAL device.</target>\n      </trans-unit>\n      <trans-unit id="0c67a7ac4762ef1cc855056c6b4daab93e53a0a5" datatype="html">\n        <source>Specify 0 to let Orchestrator backend decide it.</source>\n        <target>Specify 0 to let Orchestrator backend decide it.</target>\n      </trans-unit>\n      <trans-unit id="7bda9362e06e6c67341b4a8425b0d29d6b84464b" datatype="html">\n        <source>Value should be greater than or equal to 0</source>\n        <target>Value should be greater than or equal to 0</target>\n      </trans-unit>\n      <trans-unit id="324c2b10152b9dd908222bb0b71f61beb60a30c5" datatype="html">\n        <source>DB slots</source>\n        <target>DB slots</target>\n      </trans-unit>\n      <trans-unit id="c23cf12ef9c76f37fc7a4b7ae3e00fb0f68b6e26" datatype="html">\n        <source>How many OSDs per DB device.</source>\n        <target>How many OSDs per DB device.</target>\n      </trans-unit>\n      <trans-unit id="6cdb1fea93d77c07950c0c76c6e0ad79ebbef084" datatype="html">\n        <source>Features</source>\n        <target>Funkce</target>\n      </trans-unit>\n      <trans-unit id="3e2a583f531f7dd9f089f68a6968e444c372c3e8" datatype="html">\n        <source>Preview</source>\n        <target>Preview</target>\n      </trans-unit>\n      <trans-unit id="5ef50ba2514414f799d4c8fc36067a251904ba81" datatype="html">\n        <source>Cluster-wide OSD Flags</source>\n        <target>Příznaky OSD pro celý klastr</target>\n      </trans-unit>\n      <trans-unit id="71c77bb8cecdf11ec3eead24dd1ba506573fa9cd" datatype="html">\n        <source>Submit</source>\n        <target>Odeslat</target>\n      </trans-unit>\n      <trans-unit id="1cfe07dac5b4ee1c464eb24225ddeb4f1d24076a" datatype="html">\n        <source>Advanced...</source>\n        <target>Pokročilé…</target>\n      </trans-unit>\n      <trans-unit id="b1ef1c12ddcee305353623919ef02778569f5454" datatype="html">\n        <source>Advanced configuration options</source>\n        <target>Pokročilé volby nastavení</target>\n      </trans-unit>\n      <trans-unit id="c35f9c5f268a514b970cc55e9a5dc4bed0988e7f" datatype="html">\n        <source>OSD Recovery Priority</source>\n        <target>Priorita obnovení OSD</target>\n      </trans-unit>\n      <trans-unit id="b74af38005e8a8914e45af2ec412e11ceafef8b6" datatype="html">\n        <source>Priority</source>\n        <target>Priorita</target>\n      </trans-unit>\n      <trans-unit id="c2f48f04b379bfba133825747adfd238d511412e" datatype="html">\n        <source>Customize priority values</source>\n        <target>Přizpůsobit hodnoty priority</target>\n      </trans-unit>\n      <trans-unit id="4aa19de2a2b54cbda39e9c62917b23044c087776" datatype="html">\n        <source>This field is required!</source>\n        <target>Tuto kolonku je třeba vyplnit!</target>\n      </trans-unit>\n      <trans-unit id="b699e94bf376491bd50b70a98531071c737eaf40" datatype="html">\n        <source>[object Object]</source>\n        <target>[object Object]</target>\n      </trans-unit>\n      <trans-unit id="98fe13e7ad6c2b80375d204b47858ded83f80e15" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.maxValue }}"/>.\n        </source>\n        <target>Zadaná hodnota je příliš vysoká, je třeba, aby nebyla vyšší než \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="5423a3c111be47fc5a1bfe46ceb58c81c84db691" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.minValue }}"/>.\n        </source>\n        <target>Zadaná hodnota je příliš nízká! Je třeba, aby byla nižší než \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="5251a4355cece3075db43f15d69a24a0f8485707" datatype="html">\n        <source>Reweight OSD: \n          <x id="INTERPOLATION" equiv-text="{{ osdId }}"/>\n        </source>\n        <target>Reweight OSD: \n          <x id="INTERPOLATION" equiv-text="{{ osdId }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="67650b2998db48201b2c6176cbfef51e7211ccaa" datatype="html">\n        <source>The value needs to be between 0 and 1.</source>\n        <target>Je třeba, aby hodnota byla mezi 0 a 1.</target>\n      </trans-unit>\n      <trans-unit id="bc11f92113d678a90e334fdf3d7b3fddbe34c579" datatype="html">\n        <source>Reweight</source>\n        <target>Znovu vyvážit</target>\n      </trans-unit>\n      <trans-unit id="d5ca5daf742023fc4f0919fb3c1c6a51991cda4f" datatype="html">\n        <source>OSDs \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>Scrub\n        </source>\n        <target>OSD \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>kontrola\n        </target>\n      </trans-unit>\n      <trans-unit id="4c17d67c7c5799eb920030e9a399961e90f55dd8" datatype="html">\n        <source>{VAR_SELECT, select, 1 {Deep } }</source>\n        <target>{VAR_SELECT, vybrat, 1 {Deep } }</target>\n      </trans-unit>\n      <trans-unit id="fd0a4b6eed32e3488eccdc9c13f9841f08cc275e" datatype="html">\n        <source>You are about to apply a \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to\n          the OSD(s): \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ selected | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.\n        </source>\n        <target>You are about to apply a \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to\n          the OSD(s): \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ selected | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="dc6705f342a036b332c3fd3443201c3613e5524d" datatype="html">\n        <source>{VAR_SELECT, select, 1 {deep } }</source>\n        <target>{VAR_SELECT, vybrat, 1 {deep } }</target>\n      </trans-unit>\n      <trans-unit id="b49d7877d24112d4bdfce9256edf61a007fae888" datatype="html">\n        <source>OSDs List</source>\n        <target>Seznam OSD</target>\n      </trans-unit>\n      <trans-unit id="d5707a32ba9c1138e6423498fb0b24e970ebd19f" datatype="html">\n        <source>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) \n          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </source>\n        <target>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) \n          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </target>\n      </trans-unit>\n      <trans-unit id="d08c1e4f17dffc0ed1ac2e2e2875cb8b569eeb35" datatype="html">\n        <source>The \n          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to be \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>! \n          <x id="INTERPOLATION_1" equiv-text="{{ message }}"/>\n        </source>\n        <target>The \n          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to be \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>! \n          <x id="INTERPOLATION_1" equiv-text="{{ message }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="e776996dac651ef3819bfa767ccf2a0613759f47" datatype="html">\n        <source>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</source>\n        <target>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</target>\n      </trans-unit>\n      <trans-unit id="5cd6a031937412c42e5efa1e6959cb72ac08c720" datatype="html">\n        <source>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD \n          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </source>\n        <target>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD \n          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </target>\n      </trans-unit>\n      <trans-unit id="3eda19b44809820fffd5d3753bafb7243116f4b0" datatype="html">\n        <source>To see all active Prometheus alerts, please\n      provide the URL to the API of Prometheus\' Alertmanager as described in the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </source>\n        <target>To see all active Prometheus alerts, please\n      provide the URL to the API of Prometheus\' Alertmanager as described in the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="880ad4df5a2051a437321443d69c9a866699e5ad" datatype="html">\n        <source>Active Alerts</source>\n        <target>Active Alerts</target>\n      </trans-unit>\n      <trans-unit id="8e5e0e09a11990d343926ed693574213d703c38d" datatype="html">\n        <source>All Alerts</source>\n        <target>All Alerts</target>\n      </trans-unit>\n      <trans-unit id="526938c2b7945cb0d68328c24bd77730230cd455" datatype="html">\n        <source>To enable Silences, please provide the URL to the API of the Prometheus\' Alertmanager as\n      described in the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </source>\n        <target>To enable Silences, please provide the URL to the API of the Prometheus\' Alertmanager as\n      described in the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="aa0c44aa1e5727061baa91e954f77e2f5f9a37c9" datatype="html">\n        <source>Silences</source>\n        <target>Ticha</target>\n      </trans-unit>\n      <trans-unit id="8501055865d7031b5521a0c5467532648009a61d" datatype="html">\n        <source>Matcher</source>\n        <target>Matcher</target>\n      </trans-unit>\n      <trans-unit id="9c25e04f554875dc2625a78ba0fc56c6010cd0d3" datatype="html">\n        <source>-- Select an attribute to match against --</source>\n        <target>-- Vyberte atribut vůči kterému hledat shodu --</target>\n      </trans-unit>\n      <trans-unit id="5049e204c14c648691ac775a64fb504467aeb549" datatype="html">\n        <source>Value</source>\n        <target>Hodnota</target>\n      </trans-unit>\n      <trans-unit id="77fc5c63497fc031ddc97645484e3d94ad27766c" datatype="html">\n        <source>Use regular expression</source>\n        <target>Použít regulární výraz</target>\n      </trans-unit>\n      <trans-unit id="7bbec1a797283712c0adf9e71d77fb5a8cd720db" datatype="html">\n        <source>{VAR_SELECT, select, 1 {Update} other {Add} }</source>\n        <target>{VAR_SELECT, select, 1 {Update} other {Add} }</target>\n      </trans-unit>\n      <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c" datatype="html">\n        <source>Edit</source>\n        <target>Upravit</target>\n      </trans-unit>\n      <trans-unit id="826b25211922a1b46436589233cb6f1a163d89b7" datatype="html">\n        <source>Delete</source>\n        <target>Smazat</target>\n      </trans-unit>\n      <trans-unit id="a3ba06aba047605af8ea1718ec1ba153b7db12a2" datatype="html">\n        <source>Editing a silence will expire the old silence and recreate it as a new silence</source>\n        <target>Úprava ticha skončí platnost původního ticha a znovu ho vytvoří jako nové ticho</target>\n      </trans-unit>\n      <trans-unit id="a20424156b8816671f61879f0574a4f27d7b16b9" datatype="html">\n        <source>Creator</source>\n        <target>Tvůrce</target>\n      </trans-unit>\n      <trans-unit id="5a5d7ee2acbfa9c91ab7f41d26bda9ff0cafe42f" datatype="html">\n        <source>Comment</source>\n        <target>Komentář</target>\n      </trans-unit>\n      <trans-unit id="4c11aad490b2d53fdae30b3807beabf79306752c" datatype="html">\n        <source>Start time</source>\n        <target>Čas začátku</target>\n      </trans-unit>\n      <trans-unit id="32856b1e8e339b747b21e313e2fe65a51fd450bb" datatype="html">\n        <source>If the start time lies in the past the creation time will be used</source>\n        <target>Pokud čas začátku leží v minulosti, bude namísto něj použit okamžik vytvoření</target>\n      </trans-unit>\n      <trans-unit id="a02ea1d4e7424ca989929da5e598f379940fdbf2" datatype="html">\n        <source>Duration</source>\n        <target>Trvání</target>\n      </trans-unit>\n      <trans-unit id="2f4e35e36f4d3c62e2c17df41730b6dee4afc4b9" datatype="html">\n        <source>End time</source>\n        <target>Čas konce</target>\n      </trans-unit>\n      <trans-unit id="992123459137d45c15df5548bc9682aad835c04b" datatype="html">\n        <source>Matchers</source>\n        <target>Matchers</target>\n      </trans-unit>\n      <trans-unit id="3e023166c55833d5a13f4143e3dbe372befe1b4e" datatype="html">\n        <source>A silence requires at least one matcher</source>\n        <target>A silence requires at least one matcher</target>\n      </trans-unit>\n      <trans-unit id="ef765bd80c4806c51c891908c07a24bc76f019eb" datatype="html">\n        <source>Add matcher</source>\n        <target>Add matcher</target>\n      </trans-unit>\n      <trans-unit id="d2bcd3296d2850de762fb943060b7e086a893181" datatype="html">\n        <source>Health</source>\n        <target>Zdraví</target>\n      </trans-unit>\n      <trans-unit id="61e0f26d843eec0b33ff475e111b0c2f7a80b835" datatype="html">\n        <source>Statistics</source>\n        <target>Statistiky</target>\n      </trans-unit>\n      <trans-unit id="f8f74e5f683012b9c0702b1446011c6b9158bc67" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the NFS Ganesha management functionality.\n        </source>\n        <target>Ohledně nastavení a zapnutí funkce správy NFS Ganesha nahlédněte do \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>dokumentace\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="7ffe39df9d88c972792bd8688b215392deb8313d" datatype="html">\n        <source>Clients</source>\n        <target>Klienti</target>\n      </trans-unit>\n      <trans-unit id="f2dae0bda66f6a349444951c0379c28cda47d6d1" datatype="html">\n        <source>Any client can access</source>\n        <target>Přistupovat může libovolný klient</target>\n      </trans-unit>\n      <trans-unit id="7882f2edb1d4139800b276b6b0bbf5ae0b2234ef" datatype="html">\n        <source>Addresses</source>\n        <target>Adresy</target>\n      </trans-unit>\n      <trans-unit id="9bd96fcf50863e685c74d0490392f46689ffbdb6" datatype="html">\n        <source>Required field</source>\n        <target>Vyžadovaná kolonka</target>\n      </trans-unit>\n      <trans-unit id="a5f3f74c0f6925826cb2188576391c0da01a23f0" datatype="html">\n        <source>Must contain one or more comma-separated values</source>\n        <target>Je třeba, aby obsahovalo jednu nebo více čárkou oddělovaných hodnot</target>\n      </trans-unit>\n      <trans-unit id="8bb5b2073697f3f4378c44a49b7524934c9268f4" datatype="html">\n        <source>For example:</source>\n        <target>Například:</target>\n      </trans-unit>\n      <trans-unit id="8f969c655b3fbe4fba7e277caf4cd2c459f9fca5" datatype="html">\n        <source>Access Type</source>\n        <target>Typ přístupu</target>\n      </trans-unit>\n      <trans-unit id="28952831a284cfe2b4fc39ca610e80b52598905a" datatype="html">\n        <source>Squash</source>\n        <target>Squash</target>\n      </trans-unit>\n      <trans-unit id="0660ae339068979854ade34a96546980723dede3" datatype="html">\n        <source>Add clients</source>\n        <target>Přidat klienty</target>\n      </trans-unit>\n      <trans-unit id="135b91a2d908d5814b782695470a6a786c99d9d2" datatype="html">\n        <source>-- No cluster available --</source>\n        <target>-- Žádný klastr k dispozici --</target>\n      </trans-unit>\n      <trans-unit id="c501dba379f566885919240ea277b5bc10c14d18" datatype="html">\n        <source>-- Select the cluster --</source>\n        <target>-- Vyberte klastr --</target>\n      </trans-unit>\n      <trans-unit id="cf85b1ee58326aa9da63da41b2629c9db7c9a5b9" datatype="html">\n        <source>Add daemon</source>\n        <target>Přidat proces služby</target>\n      </trans-unit>\n      <trans-unit id="b3f6ba7fe84d6508705cdfe234f0fcc8ff85c9cf" datatype="html">\n        <source>Storage Backend</source>\n        <target>Podpůrná vrstva úložiště</target>\n      </trans-unit>\n      <trans-unit id="151c80ea931037cd92e854442927f8a0f6ae7795" datatype="html">\n        <source>-- No data pools available --</source>\n        <target>-- Žádné fondy k dispozici --</target>\n      </trans-unit>\n      <trans-unit id="b6fee356d1db954255a56d8169405a89595246b9" datatype="html">\n        <source>-- Select the storage backend --</source>\n        <target>-- Vyberte podpůrnou vrstvu úložiště --</target>\n      </trans-unit>\n      <trans-unit id="76d67035c3ab3d8e56f725859f820f03fda41cfc" datatype="html">\n        <source>Object Gateway User</source>\n        <target>Uživatel objektové brány</target>\n      </trans-unit>\n      <trans-unit id="fade7788bace74337f306ae209f10fc187ef4671" datatype="html">\n        <source>-- No users available --</source>\n        <target>-- Žádní uživatelé k dispozici --</target>\n      </trans-unit>\n      <trans-unit id="6d30b7b36cf8f6364167321bdb4ba35d4cefce7b" datatype="html">\n        <source>-- Select the object gateway user --</source>\n        <target>-- Vyberte uživatele brány objektů --</target>\n      </trans-unit>\n      <trans-unit id="589ce20d3ba3e3ac44f75decfaadc4ea8f0aec2d" datatype="html">\n        <source>CephFS User ID</source>\n        <target>Identif. uživatele CephFS</target>\n      </trans-unit>\n      <trans-unit id="c4b88a53ac3b0ece46ba9b3ad72355a3c190cce7" datatype="html">\n        <source>-- No clients available --</source>\n        <target>-- Žádní klienti k dispozici --</target>\n      </trans-unit>\n      <trans-unit id="da52835b80497a0002d24414b057dc46ae44ce38" datatype="html">\n        <source>-- Select the cephx client --</source>\n        <target>-- Vyberte cephx klienta --</target>\n      </trans-unit>\n      <trans-unit id="fd3419e8957d928d7f7ba19c93356a0dbff02871" datatype="html">\n        <source>CephFS Name</source>\n        <target>Název CephFS</target>\n      </trans-unit>\n      <trans-unit id="ee3ba0ab5f0ccd597b3e44021c71e9aaad14df0a" datatype="html">\n        <source>-- No CephFS filesystem available --</source>\n        <target>-- Žádný souborový systém CephFS k dispozici --</target>\n      </trans-unit>\n      <trans-unit id="764c57812558b1ae66c5eec95d7efd2b1bf761e3" datatype="html">\n        <source>-- Select the CephFS filesystem --</source>\n        <target>-- Vyberte CephFS souborový systém --</target>\n      </trans-unit>\n      <trans-unit id="957512d0321f73e9f115bce1bd823fa635170c41" datatype="html">\n        <source>Security Label</source>\n        <target>Štítek zabezpečení</target>\n      </trans-unit>\n      <trans-unit id="65ce0fa4da1ed55e658aeb31d1644a29f06bb342" datatype="html">\n        <source>Enable security label</source>\n        <target>Zapnout štítek zabezpečení</target>\n      </trans-unit>\n      <trans-unit id="7e808f804130c7b6ff719509cbc06ebb27393a48" datatype="html">\n        <source>CephFS Path</source>\n        <target>Popis umístění CephFS</target>\n      </trans-unit>\n      <trans-unit id="5ecc0107badb6625466aaa3f975b5c05276f432f" datatype="html">\n        <source>Path need to start with a \'/\' and can be followed by a word</source>\n        <target>Je třeba, aby popis umístění začínal na „/“, za kterým následuje slovo</target>\n      </trans-unit>\n      <trans-unit id="2d02916f44fc63e13ab16d1cbe72aa6cb51feab3" datatype="html">\n        <source>New directory will be created</source>\n        <target>Bude vytvořena nová složka</target>\n      </trans-unit>\n      <trans-unit id="766c66ad5cc981c531aaf3fe3a2a7a346ddc8d83" datatype="html">\n        <source>Path</source>\n        <target>Popis umístění</target>\n      </trans-unit>\n      <trans-unit id="7ec35c722a50b976620f22612f7be619c12ceb90" datatype="html">\n        <source>Path can only be a single \'/\' or a word</source>\n        <target>Popis umístění může být pouze jediné „/“ nebo slovo</target>\n      </trans-unit>\n      <trans-unit id="aebb6a5090c24511de4530195694bb3f3dcf0342" datatype="html">\n        <source>New bucket will be created</source>\n        <target>Bude vytvořena nová nádoba</target>\n      </trans-unit>\n      <trans-unit id="bee6900143996c0e908a10564532eba3da0b30fb" datatype="html">\n        <source>NFS Protocol</source>\n        <target>NFS protokol</target>\n      </trans-unit>\n      <trans-unit id="2f534178c01ebf1307da2eaeef04bc6801ebc729" datatype="html">\n        <source>NFSv3</source>\n        <target>NFSv3</target>\n      </trans-unit>\n      <trans-unit id="f5043c0921e709935ab026bb3253ffe1f159fca1" datatype="html">\n        <source>NFSv4</source>\n        <target>NFSv4</target>\n      </trans-unit>\n      <trans-unit id="92488963d23095985a47c0d6e62304e11d333f19" datatype="html">\n        <source>NFS Tag</source>\n        <target>NFS štítek</target>\n      </trans-unit>\n      <trans-unit id="aae93362720aea94623682996dd3fcd0f906f056" datatype="html">\n        <source>Alternative access for \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v3\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> mounts (it must not have a leading /).\n        </source>\n        <target>Alternativní přístup pro \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v3\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> připojení (nemůže začínat na /).\n        </target>\n      </trans-unit>\n      <trans-unit id="45d6db77dcf1a3eeb921033abc7882e517a541cc" datatype="html">\n        <source>Clients may not mount subdirectories (i.e. if Tag = foo, the client may not mount foo/baz).</source>\n        <target>Klienti nemohou připojovat podsložky (tj. pokud Tag = neco, klient nemůže připojit neco/podslozka).</target>\n      </trans-unit>\n      <trans-unit id="a1c7a8676b55e882a97c6a6fb205204f9c761afa" datatype="html">\n        <source>By using different Tag options, the same Path may be exported multiple times.</source>\n        <target>Použitím různých voleb Štítku, může to stejné umístění být exportováno vícekrát.</target>\n      </trans-unit>\n      <trans-unit id="6d2c39708a32910f89701dd7e1cfb9ec1c195768" datatype="html">\n        <source>Pseudo</source>\n        <target>Pseudo</target>\n      </trans-unit>\n      <trans-unit id="1f8be2ae25947bec0b84c2338201580ea053f34e" datatype="html">\n        <source>The position that this \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v4\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> export occupies\n                in the \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>Pseudo FS\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> (it must be unique).\n        </source>\n        <target>Pozice kterou tento \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v4\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> export zabírá\n                v \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>Pseudo FS\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> (je třeba, aby se neopakovalo).\n        </target>\n      </trans-unit>\n      <trans-unit id="f3af55f7fd5b1d9e5a53e030c80116dc635bfb9f" datatype="html">\n        <source>By using different Pseudo options, the same Path may be exported multiple times.</source>\n        <target>By using different Pseudo options, the same Path may be exported multiple times.</target>\n      </trans-unit>\n      <trans-unit id="ddf98fcdeeb17643db020d54f42b5e56b5f9a52a" datatype="html">\n        <source>Pseudo needs to start with a \'/\' and can\'t contain any of the following: &gt;, &lt;, |, &amp;, ( or ).</source>\n        <target>Je třeba, aby Pseudo začínalo na „/“ a a nemůže obsahovat nic z následujícího: &gt;, &lt;, |, &amp;, ( nebo ).</target>\n      </trans-unit>\n      <trans-unit id="27eb35c4b4ac08781a7253a2ab40f8f7d957ba51" datatype="html">\n        <source>-- No access type available --</source>\n        <target>-- Žádný typ přístupu k dispozici --</target>\n      </trans-unit>\n      <trans-unit id="509ce016c9110a54028dafd741f15ceacbe74b5a" datatype="html">\n        <source>-- Select the access type --</source>\n        <target>-- Vyberte typ přístupu --</target>\n      </trans-unit>\n      <trans-unit id="49850390a653cd05dc5843d74ef073a9122b54c9" datatype="html">\n        <source>The Object Gateway NFS backend has a number of\n              limitations which will seriously affect applications writing to\n              the share. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for details before enabling write access.\n        </source>\n        <target>The Object Gateway NFS backend has a number of\n              limitations which will seriously affect applications writing to\n              the share. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for details before enabling write access.\n        </target>\n      </trans-unit>\n      <trans-unit id="4deda03573eaaff77e63f6a238a1f0ca7816950a" datatype="html">\n        <source>-- No squash available --</source>\n        <target>-- Žádné squash k dispozici --</target>\n      </trans-unit>\n      <trans-unit id="a0e82a4da88e7fdf270444f838d45849676e9d4b" datatype="html">\n        <source>--Select what kind of user id squashing is performed --</source>\n        <target>-- Vyberte jaký druh squashování identifikátor uživatele je prováděn --</target>\n      </trans-unit>\n      <trans-unit id="d01b7c3f7f06712c53d054cfbe4f53d446b038e8" datatype="html">\n        <source>Transport Protocol</source>\n        <target>Transportní protokol</target>\n      </trans-unit>\n      <trans-unit id="d2a6ad6e8bc315f07911722c05767ac79c136d99" datatype="html">\n        <source>UDP</source>\n        <target>UDP</target>\n      </trans-unit>\n      <trans-unit id="9c030f11e0aae9b24d2c048c57f29f590be621df" datatype="html">\n        <source>TCP</source>\n        <target>TCP</target>\n      </trans-unit>\n      <trans-unit id="734c9905951a774870497c5aaae8e3ee833b6196" datatype="html">\n        <source>CephFS</source>\n        <target>CephFS</target>\n      </trans-unit>\n      <trans-unit id="0eb15f32b2b92d7f3103ef3ff032621888a8dc32" datatype="html">\n        <source>Old password</source>\n        <target>Původní heslo</target>\n      </trans-unit>\n      <trans-unit id="1cf42e491adc166a337a960eb84d03c0c3f677c8" datatype="html">\n        <source>The old and new passwords must be different.</source>\n        <target>Je třeba, aby původní a nové heslo nebyly stejné</target>\n      </trans-unit>\n      <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229" datatype="html">\n        <source>New password</source>\n        <target>Nové heslo</target>\n      </trans-unit>\n      <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b" datatype="html">\n        <source>Confirm new password</source>\n        <target>Zopakování zadání nového hesla</target>\n      </trans-unit>\n      <trans-unit id="90163a3d3746819aef42e829f4446331232f3b66" datatype="html">\n        <source>Password confirmation doesn\'t match the new password.</source>\n        <target>Kontrolní zadání nového hesla se neshoduje.</target>\n      </trans-unit>\n      <trans-unit id="d06ae77f9ec46a4cdd49e7e76c73a411aaf2ee38" datatype="html">\n        <source>Please set a new password.</source>\n        <target>Please set a new password.</target>\n      </trans-unit>\n      <trans-unit id="8b5b3566e88438f51bd5f6caf6c090ed565ba5ed" datatype="html">\n        <source>You will be redirected to the login page afterwards.</source>\n        <target>You will be redirected to the login page afterwards.</target>\n      </trans-unit>\n      <trans-unit id="449dca3d3a93ead418b0541ea81b0dda7e6483c2" datatype="html">\n        <source>Welcome to Ceph!</source>\n        <target>Vítejte v Ceph!</target>\n        <note>The welcome message on the login page</note>\n      </trans-unit>\n      <trans-unit id="0070e83d11da39d6f4bb95065c2675db1610b419" datatype="html">\n        <source>Username is required</source>\n        <target>Je třeba vyplnit uživatelské jméno</target>\n      </trans-unit>\n      <trans-unit id="1e20f8b8a4706526c9024cc2f39d568345d100dc" datatype="html">\n        <source>Password is required</source>\n        <target>Je třeba vyplnit heslo</target>\n      </trans-unit>\n      <trans-unit id="6765b4c916060f6bc42d9bb69e80377dbcb5e4e9" datatype="html">\n        <source>Login</source>\n        <target>Přihlásit</target>\n      </trans-unit>\n      <trans-unit id="58fc1b5c79a75370eb52644fd83fb2e7096b6649" datatype="html">\n        <source>Sorry, the user does not exist in Ceph.</source>\n        <target>Je nám líto, uživatel v Ceph neexistuje.</target>\n      </trans-unit>\n      <trans-unit id="d9deb94f78e7c41b35c6622b874f06657d7604c1" datatype="html">\n        <source>Return to \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Login Page\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You\'ll be logged out from the Identity Provider when you retry logging in.\n        </source>\n        <target>Vrátit se na \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Přihlašovací stránku\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. Budete odhlášeni od poskytovatele identity když se pokusíte znovu přihlásit.\n        </target>\n      </trans-unit>\n      <trans-unit id="471e78026c258073ba687478dc54c35d9041ea42" datatype="html">\n        <source>Forbidden</source>\n        <target>Odepřeno</target>\n      </trans-unit>\n      <trans-unit id="02ea8ad57677e3c63f3d7814ca5e6c7b74e360b4" datatype="html">\n        <source>Sorry, you are not allowed to see what you were looking for.</source>\n        <target>Omlouváme se, ale nemáte oprávnění zobrazit to, po čem se  poohlížíte.</target>\n      </trans-unit>\n      <trans-unit id="2240b985f17293d84cc8532fe86994aa5f63667c" datatype="html">\n        <source>Sorry, we could not find what you were looking for.</source>\n        <target>Sorry, we could not find what you were looking for.</target>\n      </trans-unit>\n      <trans-unit id="ac54c18c1b520e948095c83a3a1025f02ce6dcc6" datatype="html">\n        <source>Neither hostname nor OSD ID given</source>\n        <target>Neither hostname nor OSD ID given</target>\n      </trans-unit>\n      <trans-unit id="4f635b3cb0600409a2ad44a5bd1863c699e6a01c" datatype="html">\n        <source>Failed to retrieve SMART data.</source>\n        <target>Failed to retrieve SMART data.</target>\n      </trans-unit>\n      <trans-unit id="d82a9af5b05e7cd17640f196f163771685ff8df6" datatype="html">\n        <source>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</source>\n        <target>Data obdržena v JSON formátu verze 2.x, což je v tuto chvíli nekompatibilní s přehledem.</target>\n      </trans-unit>\n      <trans-unit id="04f8a3c7e8ac610e6581960162cc15f55a16696a" datatype="html">\n        <source>No SMART data available.</source>\n        <target>No SMART data available.</target>\n      </trans-unit>\n      <trans-unit id="3a03d3c2e459f8f8fa7202c0fce465d6165f9e2b" datatype="html">\n        <source>passed</source>\n        <target>passed</target>\n      </trans-unit>\n      <trans-unit id="a185c9b97513b3882604ea9bab60edbfac945c15" datatype="html">\n        <source>SMART overall-health self-assessment test result</source>\n        <target>výsledek SMART testu samoposouzení celkového stavu</target>\n      </trans-unit>\n      <trans-unit id="41435d5a5692c8e412c74deaee95d99dbd3617e1" datatype="html">\n        <source>failed</source>\n        <target>failed</target>\n      </trans-unit>\n      <trans-unit id="ddd5dd6d930030096ea617f62c82b648a0dd9484" datatype="html">\n        <source>Device Information</source>\n        <target>Informace o zařízení</target>\n      </trans-unit>\n      <trans-unit id="380295f37caea93701d071485a38ef0bdba57133" datatype="html">\n        <source>No SMART data available for this device.</source>\n        <target>No SMART data available for this device.</target>\n      </trans-unit>\n      <trans-unit id="20cb12827cbe559a7b1da6fdae96041b3b5c3c55" datatype="html">\n        <source>SMART</source>\n        <target>SMART</target>\n      </trans-unit>\n      <trans-unit id="5758c3f16f8749f0f4e2a787f02e8b4da246102f" datatype="html">\n        <source>SMART data is loading.</source>\n        <target>SMART data is loading.</target>\n      </trans-unit>\n      <trans-unit id="a949d7e577902d0e5dc5d0971bb0170a21be7728" datatype="html">\n        <source>[object Object]</source>\n        <target>[object Object]</target>\n      </trans-unit>\n      <trans-unit id="ff92fbdec9fdd5054493eeda0d7ee8b450f83e72" datatype="html">\n        <source>RBD Configuration</source>\n        <target>Nastavení RBD</target>\n      </trans-unit>\n      <trans-unit id="b62d9efc8eb3b589904f6cb96a0406bbda55673a" datatype="html">\n        <source>Remove the local configuration value. The parent configuration value will be inherited and used instead.</source>\n        <target>Odebrat hodnotu místnímu nastavení. Namísto ní bude použita hodnota nadřazeného nastavení.</target>\n      </trans-unit>\n      <trans-unit id="963488a1010d46067b238c4ae917fab3907c0a3a" datatype="html">\n        <source>The mininum value is 0</source>\n        <target>Minimální hodnota je 0</target>\n      </trans-unit>\n      <trans-unit id="1d8a7c8aea58294a3c57c23af0468ddf0ba0c9c7" datatype="html">\n        <source>Pools List</source>\n        <target>Seznam fondů</target>\n      </trans-unit>\n      <trans-unit id="490e15ecc922965b6d8194754c87c5583aa071f3" datatype="html">\n        <source>The name can only consist of alphanumeric characters, dashes and underscores.</source>\n        <target>Název může být tvořen pouze písmeny a číslicemi, dále ještě spojovníky a podtržítky.</target>\n      </trans-unit>\n      <trans-unit id="9edc2b494e660618af3e5225f68d40b7ca67629c" datatype="html">\n        <source>The chosen erasure code profile name is already in use.</source>\n        <target>Zvolený název pro profil mazacího kódu je už používán.</target>\n      </trans-unit>\n      <trans-unit id="35a4206db3105ed03e0dd799e1642b75b78123e8" datatype="html">\n        <source>Root</source>\n        <target>Root</target>\n      </trans-unit>\n      <trans-unit id="cf425784c7073c7e7f7c1bb90c2c19db7e751db2" datatype="html">\n        <source>Failure domain type</source>\n        <target>Failure domain type</target>\n      </trans-unit>\n      <trans-unit id="72396a9565cf644d1fe1b21b790c4243ee270986" datatype="html">\n        <source>Device class</source>\n        <target>Device class</target>\n      </trans-unit>\n      <trans-unit id="72d80e0c07bfea1b693a33ef2245007de92a6780" datatype="html">\n        <source>Let Ceph decide</source>\n        <target>Let Ceph decide</target>\n      </trans-unit>\n      <trans-unit id="ef9ff0e6227947b48dfab4ac39ade04af758913b" datatype="html">\n        <source>Plugin</source>\n        <target>Zásuvný modul</target>\n      </trans-unit>\n      <trans-unit id="dd69b31bce8f630eac1d4762b0bbcf72ce19d193" datatype="html">\n        <source>Data chunks (k)</source>\n        <target>Shluky dat (k)</target>\n      </trans-unit>\n      <trans-unit id="b0d26a6172d32cb81218fe2103c54a818cbc1189" datatype="html">\n        <source>Must be equal to or greater than 2.</source>\n        <target>Je třeba, aby bylo 2 a více.</target>\n      </trans-unit>\n      <trans-unit id="dab3a299ead121169b8e08ed618c3b6a2f66691b" datatype="html">\n        <source>Coding chunks (m)</source>\n        <target>Shluky kódování (m)</target>\n      </trans-unit>\n      <trans-unit id="1e2773e5bd4948193f18f2361d663ecc3988c656" datatype="html">\n        <source>Must be equal to or greater than 1.</source>\n        <target>Je třeba, aby bylo 1 a více.</target>\n      </trans-unit>\n      <trans-unit id="6cde4c945a49a260c0a47bcc7cd956846930a5f7" datatype="html">\n        <source>Durability estimator (c)</source>\n        <target>Odhadování odolnosti (c)</target>\n      </trans-unit>\n      <trans-unit id="af668c2a095a979ea2b4e43cd82c2120ab56c21c" datatype="html">\n        <source>Locality (l)</source>\n        <target>Umístění (l)</target>\n      </trans-unit>\n      <trans-unit id="d455a110bf6d2235e314e295ce1dfeee93d3dff2" datatype="html">\n        <source>Crush failure domain</source>\n        <target>Doména selhání crush</target>\n      </trans-unit>\n      <trans-unit id="b74a495f041f7dd102eee5c0bbc9e03083b538ae" datatype="html">\n        <source>Crush Locality</source>\n        <target>Lokalita crush</target>\n      </trans-unit>\n      <trans-unit id="a2f14a73f7a6e94479f67423cc51102da8d6f524" datatype="html">\n        <source>None</source>\n        <target>Žádné</target>\n      </trans-unit>\n      <trans-unit id="2981733b912b693a9dd9d915d6d34f4692cc874a" datatype="html">\n        <source>Technique</source>\n        <target>Technika</target>\n      </trans-unit>\n      <trans-unit id="e0098b6e47b04ec817361f384ce81d454ba5c0bb" datatype="html">\n        <source>Packetsize</source>\n        <target>Velikostpaketu</target>\n      </trans-unit>\n      <trans-unit id="c0252cd81ca54d0a2f69ec9ccf4248e73df5aa4a" datatype="html">\n        <source>Crush root</source>\n        <target>Kořen crush</target>\n      </trans-unit>\n      <trans-unit id="1548d5c76f0406ddd1ba3c557e1e6db22e95b340" datatype="html">\n        <source>Crush device class</source>\n        <target>Třída crush zařízení</target>\n      </trans-unit>\n      <trans-unit id="5e85feb6f9f0334366e46ee09ca6b8df52397432" datatype="html">\n        <source>any</source>\n        <target>libovolné</target>\n      </trans-unit>\n      <trans-unit id="03d84645f6e019c5a43909bbf2ea1696ee88332c" datatype="html">\n        <source>Directory</source>\n        <target>Složka</target>\n      </trans-unit>\n      <trans-unit id="2fecea01ce1d44114ee45144eff6d47a5016a74f" datatype="html">\n        <source>Name...</source>\n        <target>Název…</target>\n      </trans-unit>\n      <trans-unit id="16e113230b6b0d3165e076300880542bac7c8138" datatype="html">\n        <source>The chosen Ceph pool name is already in use.</source>\n        <target>Zvolený název pro Ceph fond je už používán.</target>\n      </trans-unit>\n      <trans-unit id="c75b132bef7b29fa5171768303c4b96e34ccaf68" datatype="html">\n        <source>It\'s not possible to create an RBD pool with \'/\' in the name.\n              Please change the name or remove \'rbd\' from the applications list.</source>\n        <target>Není možné vytvořit RBD fond s názvem „/“ v názvu.\n              Změňte název nebo \'rbd\' odeberte ze seznamu aplikací.</target>\n      </trans-unit>\n      <trans-unit id="171dc6d5c6bc4615d99778b0088cae80fd00bd10" datatype="html">\n        <source>Pool name can only contain letters, numbers, \'.\', \'-\', \'_\' or \'/\'.</source>\n        <target>Pool name can only contain letters, numbers, \'.\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="b85c657469e5ec8231c3de99b22f437bc01ffde5" datatype="html">\n        <source>Pool type</source>\n        <target>Typ fondul</target>\n      </trans-unit>\n      <trans-unit id="526c5443254c3b126eedb264840ffe827727bfd3" datatype="html">\n        <source>-- Select a pool type --</source>\n        <target>-- Vybrat typ fondu --</target>\n      </trans-unit>\n      <trans-unit id="6abfbe47b630929d93c7343dc154599c2e59330a" datatype="html">\n        <source>PG Autoscale</source>\n        <target>PG Autoscale</target>\n      </trans-unit>\n      <trans-unit id="0aa21053410a94aa61d16985a4e95fd65523430d" datatype="html">\n        <source>Placement groups</source>\n        <target>Skupiny umístění</target>\n      </trans-unit>\n      <trans-unit id="6301f1391d726f8f450bb358058534db19541ca9" datatype="html">\n        <source>At least one placement group is needed!</source>\n        <target>Je třeba alespoň jedné skupiny umístění!</target>\n      </trans-unit>\n      <trans-unit id="ba9469a1ce6ed36e039c1f67247c8c81a5c71449" datatype="html">\n        <source>Your cluster can\'t handle this many PGs. Please recalculate the PG amount needed.</source>\n        <target>Váš klastr nemůže obsloužit tolik skupin umístění. Přepočítejte potřebné množství skupin umístění.</target>\n      </trans-unit>\n      <trans-unit id="80ac68cd883369dac20688bc32b4cb33291b5e50" datatype="html">\n        <source>Calculation help</source>\n        <target>Nápověda k výpočtu</target>\n      </trans-unit>\n      <trans-unit id="fccbd60493df26705d957ed6c02a3c447894678f" datatype="html">\n        <source>The current PGs settings were calculated for you, you\n                should make sure the values suit your needs before submit.</source>\n        <target>The current PGs settings were calculated for you, you\n                should make sure the values suit your needs before submit.</target>\n      </trans-unit>\n      <trans-unit id="a43b2695131b48b76cebba676aba98a2bee17515" datatype="html">\n        <source>Replicated size</source>\n        <target>Replikovaná velikost</target>\n      </trans-unit>\n      <trans-unit id="7bff144a4c4dc63b0e18fff2617d61a7ebdf2b6c" datatype="html">\n        <source>Minimum: \n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/>\n        </source>\n        <target>Nejméně: \n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="1a9c54b41f6d58a74e5d0aa3429ed0c87a482551" datatype="html">\n        <source>Maximum: \n          <x id="INTERPOLATION" equiv-text="{{ getMaxSize() }}"/>\n        </source>\n        <target>Nejvíce: \n          <x id="INTERPOLATION" equiv-text="{{ getMaxSize() }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6ab647b95bd2347ae6f4605576de5e0269fb893a" datatype="html">\n        <source>The size specified is out of range. A value from\n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/> to \n          <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.\n        </source>\n        <target>Zadaná velikost je mimo rozsah. Platná hodnota je\n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/> až \n          <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> .\n        </target>\n      </trans-unit>\n      <trans-unit id="920617c6a1a4805e53bcb5af6a9c76f8387e89c6" datatype="html">\n        <source>Flags</source>\n        <target>Příznaky</target>\n      </trans-unit>\n      <trans-unit id="1c870fb00256b8a5b9cb9cd1a124e6390b9bc639" datatype="html">\n        <source>EC Overwrites</source>\n        <target>EC přebití</target>\n      </trans-unit>\n      <trans-unit id="f1abafaeb40ce52355ddcc24686e3cd17b64e08a" datatype="html">\n        <source>Applications</source>\n        <target>Aplikace</target>\n      </trans-unit>\n      <trans-unit id="fb9308b82fc183f710df60909f49cfc73aa5e076" datatype="html">\n        <source>CRUSH</source>\n        <target>CRUSH</target>\n      </trans-unit>\n      <trans-unit id="9de7dde00e2139cc4bd03b1837afbe72ad15a1ff" datatype="html">\n        <source>Erasure code profile</source>\n        <target>Profil mazacího kódu</target>\n      </trans-unit>\n      <trans-unit id="39b4620e6bd444e0a57a0a5c03fa8c96d7fe5235" datatype="html">\n        <source>-- No erasure code profile available --</source>\n        <target>-- Žádný profil mazacího kódu --</target>\n      </trans-unit>\n      <trans-unit id="498561757390d5528b263ce450d5f38efb00266d" datatype="html">\n        <source>-- Select an erasure code profile --</source>\n        <target>-- Vyberte profil mazacího kódu --</target>\n      </trans-unit>\n      <trans-unit id="33150f22ce5348aa6c499bd092c3f4f3695d62cc" datatype="html">\n        <source>Crush ruleset</source>\n        <target>Sada pravidel crush</target>\n      </trans-unit>\n      <trans-unit id="c69b0bcd4698aa845d32c4c4ad488492552cb469" datatype="html">\n        <source>A new crush ruleset will be implicitly created.</source>\n        <target>A new crush ruleset will be implicitly created.</target>\n      </trans-unit>\n      <trans-unit id="896e9987db5e9bb279e6deed5d2dff28c242ef66" datatype="html">\n        <source>There are no rules.</source>\n        <target>There are no rules.</target>\n      </trans-unit>\n      <trans-unit id="73a6b31116b3cc322af951daa0bafdc169e6c42e" datatype="html">\n        <source>-- Select a crush rule --</source>\n        <target>-- Vybrat crush pravidlo --</target>\n      </trans-unit>\n      <trans-unit id="ea91d648f92002bc9f96d9b26b735c83ca0b53c6" datatype="html">\n        <source>This rule can\'t be deleted as it is in use.</source>\n        <target>This rule can\'t be deleted as it is in use.</target>\n      </trans-unit>\n      <trans-unit id="92da80699921e89fb19372e25b8d0f3b9fa427fc" datatype="html">\n        <source>Crush rule</source>\n        <target>Crush pravidlo</target>\n      </trans-unit>\n      <trans-unit id="5489e9f96835f469f6f728a00d8efa88ea5bc940" datatype="html">\n        <source>Crush steps</source>\n        <target>Crush kroky</target>\n      </trans-unit>\n      <trans-unit id="fc5f5496a9e50fe69e1a09784f28d94944108294" datatype="html">\n        <source>Rule is not in use.</source>\n        <target>Rule is not in use.</target>\n      </trans-unit>\n      <trans-unit id="023d6f718770d2ea4ab8cabe26b0ec27ef967ec2" datatype="html">\n        <source>Used by pools</source>\n        <target>Used by pools</target>\n      </trans-unit>\n      <trans-unit id="104a0e6900d1d1b0c8cf9e5947e36edb352583fc" datatype="html">\n        <source>The rule can\'t be used in the current cluster as it has\n                  too few OSDs to meet the minimum required OSD by this rule.</source>\n        <target>The rule can\'t be used in the current cluster as it has\n                  too few OSDs to meet the minimum required OSD by this rule.</target>\n      </trans-unit>\n      <trans-unit id="2208d63d5940ce656006a220102b1eb2b5e553da" datatype="html">\n        <source>Compression</source>\n        <target>Komprese</target>\n      </trans-unit>\n      <trans-unit id="37e10df2d9c0c25ef04ac112c9c9a7723e8efae0" datatype="html">\n        <source>Mode</source>\n        <target>Režim</target>\n      </trans-unit>\n      <trans-unit id="6c6f25c47da62ec597c6057a36ddfc3209811ec5" datatype="html">\n        <source>Algorithm</source>\n        <target>Algoritmus</target>\n      </trans-unit>\n      <trans-unit id="4903231d42089325a28892c0fde1aed46b733ae6" datatype="html">\n        <source>-- No erasure compression algorithm available --</source>\n        <target>-- Žádný algoritmus komprese mazání --</target>\n      </trans-unit>\n      <trans-unit id="5d68ddb254275f8f44221e9ad6d8ceeb59ca46a6" datatype="html">\n        <source>Minimum blob size</source>\n        <target>Minimální velikost blobu</target>\n      </trans-unit>\n      <trans-unit id="fb2f176df80647137cbb02bbeb29e5dec707a400" datatype="html">\n        <source>e.g., 128KiB</source>\n        <target>např. 128 KiB</target>\n      </trans-unit>\n      <trans-unit id="1b7f6e53a4521c6eb3ced4c007fdd4cf80bb7707" datatype="html">\n        <source>Value should be greater than 0</source>\n        <target>Hodnota by měla být vyšší než nula</target>\n      </trans-unit>\n      <trans-unit id="8db98ab14b4e207ec763dfdefbc2dae367aab1cc" datatype="html">\n        <source>Value should be less than the maximum blob size</source>\n        <target>Hodnota by měla být nižší než maximální velikost blobu</target>\n      </trans-unit>\n      <trans-unit id="151efb127a9a4dd25259a0b2055442318a141f5b" datatype="html">\n        <source>Maximum blob size</source>\n        <target>Nejvyšší velikost blobu</target>\n      </trans-unit>\n      <trans-unit id="0c656f0e346bbadf46eb1a5d20d0307a3bd20ba8" datatype="html">\n        <source>e.g., 512KiB</source>\n        <target>např. 512 KiB</target>\n      </trans-unit>\n      <trans-unit id="0a65a24eee8a026f3b1113fe9e157e9a0dd69486" datatype="html">\n        <source>Value should be greater than the minimum blob size</source>\n        <target>Hodnota by měla být vyšší než nejnižší velikost blobu</target>\n      </trans-unit>\n      <trans-unit id="261ba09c4a59de83f48f52a23fd328da37e61ff4" datatype="html">\n        <source>Ratio</source>\n        <target>Poměr</target>\n      </trans-unit>\n      <trans-unit id="c1430457a9c3c66366e51d76bf10396014c576be" datatype="html">\n        <source>Compression ratio</source>\n        <target>Kompresní poměr</target>\n      </trans-unit>\n      <trans-unit id="ae5ce6de352cde949998fb10754459c3a4eb183b" datatype="html">\n        <source>Value should be between 0.0 and 1.0</source>\n        <target>Hodnota by měla být z rozmezí 0.0 až 1.0</target>\n      </trans-unit>\n      <trans-unit id="8bb8293aa8161433778762ae025ffd5e7c85795e" datatype="html">\n        <source>Quotas</source>\n        <target>Kvóty</target>\n      </trans-unit>\n      <trans-unit id="d99b34162c9c34f10d0ccd8dbae83d8569c2db77" datatype="html">\n        <source>Max bytes</source>\n        <target>Nejvýše bajtů</target>\n      </trans-unit>\n      <trans-unit id="a1d14a18879c62f3f4ed705318b7164a1160e249" datatype="html">\n        <source>Leave it blank or specify 0 to disable this quota.</source>\n        <target>Pro vypnutí této kvóty nevyplňujte nebo zadejte 0 (nulu).</target>\n      </trans-unit>\n      <trans-unit id="7565b131562ff6c5f769fdbd239a772154abdd97" datatype="html">\n        <source>A valid quota should be greater than 0.</source>\n        <target>Platná kvóta by měla být vyšší než 0 (nula).</target>\n      </trans-unit>\n      <trans-unit id="f0016bd458baa88284a658ce9eeda42d8ad88d2c" datatype="html">\n        <source>e.g., 10GiB</source>\n        <target>např. 10 GiB</target>\n      </trans-unit>\n      <trans-unit id="b8bf35b66f09a301eef92ffc3cb2fd259df67ce9" datatype="html">\n        <source>Max objects</source>\n        <target>Nejvýše objektů</target>\n      </trans-unit>\n      <trans-unit id="95f348167622d832c5ae532b6944635c8e2ae5cb" datatype="html">\n        <source>The value should be greater or equal to 0</source>\n        <target>Hodnota by měla být vyšší nebo rovna 0</target>\n      </trans-unit>\n      <trans-unit id="4f8b2bb476981727ab34ed40fde1218361f92c45" datatype="html">\n        <source>Details</source>\n        <target>Podrobnosti</target>\n      </trans-unit>\n      <trans-unit id="fbbaf5cb02ed419e79a27072478f716a4666a99d" datatype="html">\n        <source>Performance Details</source>\n        <target>Podrobnosti o výkonnosti</target>\n      </trans-unit>\n      <trans-unit id="3938a411d76796f8ae73b72ea4c77661207453bd" datatype="html">\n        <source>Cache Tiers Details</source>\n        <target>Podrobnosti o stupních mezipaměti</target>\n      </trans-unit>\n      <trans-unit id="ecbc084370a732fc3cde1966a60af78d71424ab4" datatype="html">\n        <source>Create Bootstrap Token</source>\n        <target>Create Bootstrap Token</target>\n      </trans-unit>\n      <trans-unit id="603e9cc3ef2aab57f2b0a00e465b23b9cabefd9c" datatype="html">\n        <source>To create a bootstrap token which can be imported\n          by a peer site cluster, provide the local site\'s name, select\n          which pools will have mirroring enabled, and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Generate\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>To create a bootstrap token which can be imported\n          by a peer site cluster, provide the local site\'s name, select\n          which pools will have mirroring enabled, and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Generate\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="660f97cd3188f8a04bd03b79e703fec72c6df04c" datatype="html">\n        <source>Site Name</source>\n        <target>Site Name</target>\n      </trans-unit>\n      <trans-unit id="8c2a1dc72cffaf7ab3dc5599bf77b0a7fcad2b20" datatype="html">\n        <source>At least one pool is required.</source>\n        <target>At least one pool is required.</target>\n      </trans-unit>\n      <trans-unit id="1b258b258b4cc475ceb2871305b61756b0134f4a" datatype="html">\n        <source>Generate</source>\n        <target>Generate</target>\n      </trans-unit>\n      <trans-unit id="1edc1fc6cfbbb22353050ad6788508b3ed584f53" datatype="html">\n        <source>Token</source>\n        <target>Token</target>\n      </trans-unit>\n      <trans-unit id="ff785f5596aef34a93b9b4d1023e95c62eef5740" datatype="html">\n        <source>Generated token...</source>\n        <target>Generated token...</target>\n      </trans-unit>\n      <trans-unit id="5467a6bb0e7fade6def7499400d5e2a7d8d3da20" datatype="html">\n        <source>Import Bootstrap Token</source>\n        <target>Import Bootstrap Token</target>\n      </trans-unit>\n      <trans-unit id="9bb7aee0dec5164f45c0aa2f35f2fb2149d2c1d2" datatype="html">\n        <source>To import a bootstrap token which was created\n          by a peer site cluster, provide the local site\'s name, select\n          which pools will have mirroring enabled, provide the generated\n          token, and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Import\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>To import a bootstrap token which was created\n          by a peer site cluster, provide the local site\'s name, select\n          which pools will have mirroring enabled, provide the generated\n          token, and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Import\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="9200e09686136a1d42adfb89c12fbfef2deea125" datatype="html">\n        <source>Direction</source>\n        <target>Direction</target>\n      </trans-unit>\n      <trans-unit id="9761484679958da8d12841a4efa5964d33fae575" datatype="html">\n        <source>The token is invalid.</source>\n        <target>The token is invalid.</target>\n      </trans-unit>\n      <trans-unit id="a059709f71aa4c0ac219e160e78a738682ca6a36" datatype="html">\n        <source>Import</source>\n        <target>Import</target>\n      </trans-unit>\n      <trans-unit id="b87bd96249f8afc23f5301cddb57b1464a98e71a" datatype="html">\n        <source>Edit site name</source>\n        <target>Edit site name</target>\n      </trans-unit>\n      <trans-unit id="cfff72c667274c12eb1ff71eadc25871c10c42dc" datatype="html">\n        <source>Edit the site name and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>Edit the site name and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="40b7acea5b43f45e0bbd1efeba5200af4687981d" datatype="html">\n        <source>Site Name:</source>\n        <target>Site Name:</target>\n      </trans-unit>\n      <trans-unit id="f0b5d789d42c0e69348e5fe0037fcbf5b5fbbdcc" datatype="html">\n        <source>Move an image to trash</source>\n        <target>Přesunout obraz do koše</target>\n      </trans-unit>\n      <trans-unit id="7ad22c1d4aab3b8946603cea62de266d5129ca10" datatype="html">\n        <source>This image contains snapshot(s), which will prevent it\n            from being removed after moved to trash.</source>\n        <target>This image contains snapshot(s), which will prevent it\n            from being removed after moved to trash.</target>\n      </trans-unit>\n      <trans-unit id="b4b3ced4f8aad4c446f348b14c3d94be2e2c350c" datatype="html">\n        <source>To move \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ imageSpecStr }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,\n          click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optionally, you can pick an expiration date.\n        </source>\n        <target>To move \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ imageSpecStr }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,\n          click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optionally, you can pick an expiration date.\n        </target>\n      </trans-unit>\n      <trans-unit id="88f27d390844aad53b4240360e928156c5f0d326" datatype="html">\n        <source>Protection expires at</source>\n        <target>Platnost ochrany skončí v</target>\n      </trans-unit>\n      <trans-unit id="da166e9a0d27322f6ba8916d71ecc0f9905bb4b1" datatype="html">\n        <source>NOT PROTECTED</source>\n        <target>NECHRÁNĚNO</target>\n      </trans-unit>\n      <trans-unit id="a1506e5f2ca22cad14502ec7a20fb6113ace145d" datatype="html">\n        <source>Wrong date format. Please use "YYYY-MM-DD HH:mm:ss".</source>\n        <target>Chybný formát data. Použijte „RRRR-MM-DD HH:mm:ss“.</target>\n      </trans-unit>\n      <trans-unit id="aa7ea0bb7495281e0b3258467ac7d90a1e44a1a1" datatype="html">\n        <source>Protection has already expired. Please pick a future date or leave it empty.</source>\n        <target>Platnost ochrany už skončila. Zvolte budoucí datum nebo nevyplňujte.</target>\n      </trans-unit>\n      <trans-unit id="536b3205c0c0d4d21685ec06feccfcf2fe14deb1" datatype="html">\n        <source>Move Image</source>\n        <target>Přesunout obraz</target>\n      </trans-unit>\n      <trans-unit id="c9f1026c1235f4d76ace47449e806efd181ab332" datatype="html">\n        <source>Deleting this image will also delete all its snapshots.</source>\n        <target>Deleting this image will also delete all its snapshots.</target>\n      </trans-unit>\n      <trans-unit id="55f864597e84d9bf88769e1fbfda1d64452430c9" datatype="html">\n        <source>The following snapshots are currently protected and will be removed:</source>\n        <target>The following snapshots are currently protected and will be removed:</target>\n      </trans-unit>\n      <trans-unit id="8a9910cd114c1deb9af74f6f99b4173403965bf2" datatype="html">\n        <source>Gateways</source>\n        <target>Brány</target>\n      </trans-unit>\n      <trans-unit id="8835b9e49a3348b0a2f2162c21118af1f4bee45a" datatype="html">\n        <source>Must be greater than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'min\'] }}"/>.\n        </source>\n        <target>Je třeba, aby bylo vyšší nebo rovno \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'min\'] }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="bbddac59563c8c126e3fe28691e4e247614fcbd1" datatype="html">\n        <source>Must be less than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'max\'] }}"/>.\n        </source>\n        <target>Je třeba, aby bylo nižší nebo rovno \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'max\'] }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="e95ae009d0bdb45fcc656e8b65248cf7396080d5" datatype="html">\n        <source>Overview</source>\n        <target>Přehled</target>\n      </trans-unit>\n      <trans-unit id="bbd2045d5c37e4bb39a3c0fb62ea1ddf70a12838" datatype="html">\n        <source>Targets</source>\n        <target>Cíle</target>\n      </trans-unit>\n      <trans-unit id="6803e31b7395d94934e091a49a9524026b59b018" datatype="html">\n        <source>Discovery Authentication</source>\n        <target>Ověřování pro objevování</target>\n      </trans-unit>\n      <trans-unit id="e08a77594f3d89311cdf6da5090044270909c194" datatype="html">\n        <source>User</source>\n        <target>Uživatele</target>\n      </trans-unit>\n      <trans-unit id="0214f773f8e394f50f953f39962e352d7863e959" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n              can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Je třeba, aby uživatelská jména byla 8 až 64 znaků dlouhá a\n              mohu obsahovat pouze písmena a znaky „.“, „@“, „-“, „_“ a „:“.</target>\n      </trans-unit>\n      <trans-unit id="c32ef07f8803a223a83ed17024b38e8d82292407" datatype="html">\n        <source>Password</source>\n        <target>Heslo</target>\n      </trans-unit>\n      <trans-unit id="6682d1c00263bee204583a5d589b308b6be88b0f" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n              and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Je třeba, aby hesla byla 12 až 16 znaků dlouhá\n              a mohou obsahovat pouze písmena, „@“, „-“, „_“ nebo „/“.</target>\n      </trans-unit>\n      <trans-unit id="ff40391de7a1944ea95091e4045cc34c4979b736" datatype="html">\n        <source>Mutual User</source>\n        <target>Uživatel pro vzájemné ověření</target>\n      </trans-unit>\n      <trans-unit id="0cf73dbebe99b737c4d288788182fc356e3c93d3" datatype="html">\n        <source>Mutual Password</source>\n        <target>Heslo pro vzájemné ověření</target>\n      </trans-unit>\n      <trans-unit id="8800276925157c666b103c36ff7fe8ffe11980b4" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters and\n              can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Je třeba, aby heslo byla 12 až 16 znaků dlouhá a\n              mohou obsahovat pouze písmena, „@“, „-“, „_“ nebo „/“.</target>\n      </trans-unit>\n      <trans-unit id="53a583cd5f15059cc958b7d547f72cc78f68e123" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n    on how to configure and enable the iSCSI Targets management functionality.\n        </source>\n        <target>Podívejte se do \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>dokumentace\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  jak nastavit a zapnout funkci správy iSCSI cílů.\n        </target>\n      </trans-unit>\n      <trans-unit id="3b301d0044f62c92af0da53d7aaca52a436a547d" datatype="html">\n        <source>Available information:</source>\n        <target>Informace k dispozici:</target>\n      </trans-unit>\n      <trans-unit id="332227f088a4877b3c11f5fb3ae8bc812c470fae" datatype="html">\n        <source>iSCSI Targets not available</source>\n        <target>iSCSI cíl není k dispozici</target>\n      </trans-unit>\n      <trans-unit id="8414a5cb9d71cc1b21b10e4a9d1f2dad558f3361" datatype="html">\n        <source>Discovery authentication</source>\n        <target>Ověřování pro objevování</target>\n      </trans-unit>\n      <trans-unit id="0f6e8f6094b180eaf1f11bc0ffe383f1cdcd059e" datatype="html">\n        <source>Only available for RBD images with \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>fast-diff\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> enabled\n        </source>\n        <target>K dispozici pouze pro RBD obrazy se zapnutým \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>fast-diff\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="e70fcca5a99575cffef3ff8cbd5e69f06ffd0f1c" datatype="html">\n        <source>Pool</source>\n        <target>Fond</target>\n      </trans-unit>\n      <trans-unit id="03cc5b14b0a20d075e9009ff021f4f1660ba348a" datatype="html">\n        <source>Data Pool</source>\n        <target>Datový fond</target>\n      </trans-unit>\n      <trans-unit id="1b051734b0ee9021991c91b3ed4e81c244322462" datatype="html">\n        <source>Created</source>\n        <target>Vytvořeno</target>\n      </trans-unit>\n      <trans-unit id="7faaaa08f56427999f3be41df1093ce4089bbd75" datatype="html">\n        <source>Size</source>\n        <target>Velikost</target>\n      </trans-unit>\n      <trans-unit id="afdb601c16162f2c798b16a2920955f1cc6a20aa" datatype="html">\n        <source>Objects</source>\n        <target>Objekty</target>\n      </trans-unit>\n      <trans-unit id="ceac8e132384322ec778ba760875a6c6897d3e42" datatype="html">\n        <source>Object size</source>\n        <target>Velikost objektu</target>\n      </trans-unit>\n      <trans-unit id="0a65771c9a73b9aa609d592fc96a64801a8f40bd" datatype="html">\n        <source>Provisioned</source>\n        <target>Poskytováno</target>\n      </trans-unit>\n      <trans-unit id="84a36cb75660b736773fe36ffa3d54f0f0fe363e" datatype="html">\n        <source>N/A</source>\n        <target>neaplikovatelné</target>\n      </trans-unit>\n      <trans-unit id="e5c009342a4e8381f64341d0bb61c2e4685f5a4b" datatype="html">\n        <source>Total provisioned</source>\n        <target>Celkem poskytováno</target>\n      </trans-unit>\n      <trans-unit id="7f6bf8a43ae415f527ac961ea62471b983aaa97b" datatype="html">\n        <source>Striping unit</source>\n        <target>Proužkovací jednotka</target>\n      </trans-unit>\n      <trans-unit id="db710e8a8f011923f2d15d713fbae49c38b02b26" datatype="html">\n        <source>Striping count</source>\n        <target>Počet proužkování</target>\n      </trans-unit>\n      <trans-unit id="3a4c2a9e76634ff14a60d52a718296f722d47c67" datatype="html">\n        <source>Parent</source>\n        <target>Nadřazené</target>\n      </trans-unit>\n      <trans-unit id="6a209e68d78ffc2cc9c53d2e76158624efab71ad" datatype="html">\n        <source>Block name prefix</source>\n        <target>Předpona názvu bloku</target>\n      </trans-unit>\n      <trans-unit id="5704ec2049d007c5f5fb495a5d8b607e68d58081" datatype="html">\n        <source>Order</source>\n        <target>Pořadí</target>\n      </trans-unit>\n      <trans-unit id="f21b1d17b6c5042bb5805516eee37fde33739dd8" datatype="html">\n        <source>Snapshots</source>\n        <target>Zachycené stavy</target>\n      </trans-unit>\n      <trans-unit id="a5f9ba9bb9faa8284bcadb1cdbc6aaf969e9c4bb" datatype="html">\n        <source>Image</source>\n        <target>Obraz</target>\n      </trans-unit>\n      <trans-unit id="58e58f1a8786da9031a05e6770c5dafce82badf5" datatype="html">\n        <source>This setting overrides the global value</source>\n        <target>Toto nastavení přebije globální hodnotu</target>\n      </trans-unit>\n      <trans-unit id="5decb3917d46a9ac6e5813699801becb7c3c1455" datatype="html">\n        <source>Global</source>\n        <target>Globální</target>\n      </trans-unit>\n      <trans-unit id="36b46714164964c6258b08ed0a25f57d8a950f92" datatype="html">\n        <source>This is the global value. No value for this option has been set for this image.</source>\n        <target>Toto je globální hodnota. Pro tento obraz nebyla u této volby nastavena žádná hodnota.</target>\n      </trans-unit>\n      <trans-unit id="6547c9c4d5f62942ac4b1fe459cf9a03d4dbf5a0" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/> from\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/> od\n        </target>\n      </trans-unit>\n      <trans-unit id="0e9ecf29a4fa5b057bd8052e0d801b3fde6a30bf" datatype="html">\n        <source>\'/\' and \'@\' are not allowed.</source>\n        <target>„/“ a „@“ nejsou dovoleny.</target>\n      </trans-unit>\n      <trans-unit id="b99417c4dd46286ffd37c8d2e987c8b512ec7052" datatype="html">\n        <source>-- No rbd pools available --</source>\n        <target>-- Žádné rbd fondy k dispozici --</target>\n      </trans-unit>\n      <trans-unit id="ef83ec9c304a89d45650e580dcdc2978c37b3a83" datatype="html">\n        <source>-- Select a pool --</source>\n        <target>-- Vybrat fond --</target>\n      </trans-unit>\n      <trans-unit id="d649904466254d13df1fbf2d255f0bbc6553d213" datatype="html">\n        <source>-- No namespaces available --</source>\n        <target>-- No namespaces available --</target>\n      </trans-unit>\n      <trans-unit id="e22d7bb4d2d561e0832ee0b9a3da2468a080c4f0" datatype="html">\n        <source>-- Select a namespace --</source>\n        <target>-- Select a namespace --</target>\n      </trans-unit>\n      <trans-unit id="49449943d8cbf59d8c401c8bd2e76f92e207cc5f" datatype="html">\n        <source>Use a dedicated data pool</source>\n        <target>Použít vyhrazený datový fond</target>\n      </trans-unit>\n      <trans-unit id="870aee0dd31a9643bf62007beb8f1ae1deb34d42" datatype="html">\n        <source>Data pool</source>\n        <target>Datový fond</target>\n      </trans-unit>\n      <trans-unit id="3792ca829d9b9f687e1f5d7733d30e9bb0bfec47" datatype="html">\n        <source>Dedicated pool that stores the object-data of the RBD.</source>\n        <target>Vyhrazený fond který uchovává objektová data RBD.</target>\n      </trans-unit>\n      <trans-unit id="0a88bbee20570aaf9615332fb27020627044874d" datatype="html">\n        <source>You have to increase the size.</source>\n        <target>Je třeba zvětšit.</target>\n      </trans-unit>\n      <trans-unit id="bc2e854e111ecf2bd7db170da5e3c2ed08181d88" datatype="html">\n        <source>Advanced</source>\n        <target>Pokročilé</target>\n      </trans-unit>\n      <trans-unit id="3562a3778695a5f9c0445660e35301f0a39aaf73" datatype="html">\n        <source>Striping</source>\n        <target>Proužkování</target>\n      </trans-unit>\n      <trans-unit id="ef3c3f3b5f562a5cdbe0ee2874287db1534b5958" datatype="html">\n        <source>Stripe unit</source>\n        <target>Jednotka proužku</target>\n      </trans-unit>\n      <trans-unit id="84471be1049006edecbcaef1a32ae0893c229c50" datatype="html">\n        <source>-- Select stripe unit --</source>\n        <target>-- Vybrat jednotku proužku --</target>\n      </trans-unit>\n      <trans-unit id="8d32c5c54c8581c774a7f467fbd4e329b15a74fa" datatype="html">\n        <source>This field is required because stripe count is defined!</source>\n        <target>Tuto kolonku je třeba vyplnit, protože je definován počet proužků!</target>\n      </trans-unit>\n      <trans-unit id="6bbf9040be7c5491d4a03f2185708f43a6582a3b" datatype="html">\n        <source>Stripe unit is greater than object size.</source>\n        <target>Jednotka proužku je vyšší než velikost objektu.</target>\n      </trans-unit>\n      <trans-unit id="a682f49f9b761591661276d7c6f550e641a130a4" datatype="html">\n        <source>Stripe count</source>\n        <target>Počet proužků</target>\n      </trans-unit>\n      <trans-unit id="baa74031990c5370008ba622d0a250f0929097f4" datatype="html">\n        <source>This field is required because stripe unit is defined!</source>\n        <target>Tuto kolonku je třeba vyplnit, protože je definována jednotka proužku!</target>\n      </trans-unit>\n      <trans-unit id="cd2ada6d5ecbd5cbf89eae0a1f5326efedac0dbc" datatype="html">\n        <source>Stripe count must be greater than 0.</source>\n        <target>Je třeba, aby počet proužků byl větší než nula.</target>\n      </trans-unit>\n      <trans-unit id="2c07d24bb422aa8e5e568df1c5709083f0a9c8f1" datatype="html">\n        <source>Create Namespace</source>\n        <target>Create Namespace</target>\n      </trans-unit>\n      <trans-unit id="0cca6c0485f96d3a9610d0339cb1275a5f2c3f46" datatype="html">\n        <source>Namespace already exists.</source>\n        <target>Namespace already exists.</target>\n      </trans-unit>\n      <trans-unit id="5c5331983af566d4ac6a1024d15a3511786a4aa6" datatype="html">\n        <source>You are about to rollback</source>\n        <target>Chystáte se vrátit zpět</target>\n      </trans-unit>\n      <trans-unit id="49c0408946a6d67185947f455f15cc201d0d78e6" datatype="html">\n        <source>Purge Trash</source>\n        <target>Vysypat koš</target>\n      </trans-unit>\n      <trans-unit id="681501eecd7f44d4b7a2f619605b36676e04c5b6" datatype="html">\n        <source>To purge, select one or</source>\n        <target>To purge, select one or</target>\n      </trans-unit>\n      <trans-unit id="dfc3c34e182ea73c5d784ff7c8135f087992dac1" datatype="html">\n        <source>All</source>\n        <target>Vše</target>\n      </trans-unit>\n      <trans-unit id="ea5d338dcef50ff5c24439fd784f6a67b594c33f" datatype="html">\n        <source>pools and click</source>\n        <target>pools and click</target>\n      </trans-unit>\n      <trans-unit id="55a4f598a4894b7fd5cb88f0ffd3c37ad009dd70" datatype="html">\n        <source>Pool:</source>\n        <target>Fond:</target>\n      </trans-unit>\n      <trans-unit id="d43dd2b9f7797e4cf3a604695bb33e4479108516" datatype="html">\n        <source>Pool name...</source>\n        <target>Název fondu…</target>\n      </trans-unit>\n      <trans-unit id="b0e7c7ed1d51a0c205c815048bc9f79e24ee6db2" datatype="html">\n        <source>Restore Image</source>\n        <target>Obnovit obraz</target>\n      </trans-unit>\n      <trans-unit id="7369384817e0ad61ce871c9afdfbb538df2f97c1" datatype="html">\n        <source>To restore</source>\n        <target>Pro obnovení</target>\n      </trans-unit>\n      <trans-unit id="e7f0abefc608f7fb452c2dc9b1cdc3dec432160e" datatype="html">\n        <source>type the image\'s new name and click</source>\n        <target>zadejte nový název pro obraz a klikněte na</target>\n      </trans-unit>\n      <trans-unit id="41307dd56fea669eed72e12a6c23af275f6bfd82" datatype="html">\n        <source>New Name</source>\n        <target>Nový název</target>\n      </trans-unit>\n      <trans-unit id="5c96a761dc55a21882c132c929583a424c9b8cf4" datatype="html">\n        <source>Expired at</source>\n        <target>Platnost skončila v</target>\n      </trans-unit>\n      <trans-unit id="661041e3fcff4d3e75c561e038ca2504cf2cc643" datatype="html">\n        <source>Protected until</source>\n        <target>Chráněno do</target>\n      </trans-unit>\n      <trans-unit id="0ee3b2322a1d3277f7e3fdb8a5141ac42bcf350b" datatype="html">\n        <source>This image is protected until \n          <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.\n        </source>\n        <target>Tento obraz je chráněn do\n          <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="a674ab267d1934bf395f87ca1503fd474296893f" datatype="html">\n        <source>iSCSI Topology</source>\n        <target>Topologie iSCSI</target>\n      </trans-unit>\n      <trans-unit id="051dcc342cfa5c1eaf187a2001aaa162379a160c" datatype="html">\n        <source>Configure</source>\n        <target>Configure</target>\n      </trans-unit>\n      <trans-unit id="9e515f954730279c31d5301f02479666d6264e8b" datatype="html">\n        <source>Changing these parameters from their default values is usually not necessary.</source>\n        <target>Měnit tyto parametry z jejich výchozích hodnot obvykle není potřeba.</target>\n      </trans-unit>\n      <trans-unit id="4e2591df099ddac796cda401c5f282da779d45f2" datatype="html">\n        <source>Identifier</source>\n        <target>Identifier</target>\n      </trans-unit>\n      <trans-unit id="62480a4859976427cf18fc8ef41d3a438eda0412" datatype="html">\n        <source>lun</source>\n        <target>lun</target>\n      </trans-unit>\n      <trans-unit id="8afc9eb4405e0aa554b2ba14140ef790cdecc040" datatype="html">\n        <source>wwn</source>\n        <target>wwn</target>\n      </trans-unit>\n      <trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html">\n        <source>Settings</source>\n        <target>Nastavení</target>\n      </trans-unit>\n      <trans-unit id="69a47cbabcc51ca942606e1d8da0ec11f98a2690" datatype="html">\n        <source>Backstore</source>\n        <target>Backstore</target>\n      </trans-unit>\n      <trans-unit id="68e710782ccb5398b3acb8844caf0b199da2c3da" datatype="html">\n        <source>Confirm</source>\n        <target>Potvrdit</target>\n      </trans-unit>\n      <trans-unit id="339878da255ab55447c43afef8d9b2f9753bf5f6" datatype="html">\n        <source>Advanced Settings</source>\n        <target>Pokročilá nastavení</target>\n      </trans-unit>\n      <trans-unit id="1406c2fb12a20c1528b19bcc5e24a6a2386167f3" datatype="html">\n        <source>Target IQN</source>\n        <target>IQN cíle</target>\n      </trans-unit>\n      <trans-unit id="5fe42339be910372fa689f559155631862d218e8" datatype="html">\n        <source>IQN has wrong pattern.</source>\n        <target>IQN nemá správný formát.</target>\n      </trans-unit>\n      <trans-unit id="050a7ff057d1e895357540406b6be5652b4d1c71" datatype="html">\n        <source>An IQN has the following notation\n                \'iqn.$year-$month.$reversedAddress:$definedName\'</source>\n        <target>IQN má následující formu zápisu\n                \'iqn.$rok-$mesic.$adresaObracene:$definovanyNazev\'</target>\n      </trans-unit>\n      <trans-unit id="c8ada4b53396d8366db00a435acc61d53d857047" datatype="html">\n        <source>For example: iqn.2016-06.org.dashboard:storage:disk.sn-a8675309</source>\n        <target>Například: iqn.2016-06.org.dashboard:storage:disk.sn-a8675309</target>\n      </trans-unit>\n      <trans-unit id="e60c11e1b1dfbbeda577364b8de39ded2d796c5e" datatype="html">\n        <source>More information</source>\n        <target>Další informace</target>\n      </trans-unit>\n      <trans-unit id="9b1aa85dfc6849196e64060db02c5410de69b7a1" datatype="html">\n        <source>This target has modified advanced settings.</source>\n        <target>Tento cíl má změněná pokročilá nastavení.</target>\n      </trans-unit>\n      <trans-unit id="6990ad8d6182662e864495ac31c3758cda1c7a28" datatype="html">\n        <source>Portals</source>\n        <target>Portály</target>\n      </trans-unit>\n      <trans-unit id="6a3ac2b4137d723fd9878cd357c2012ff6c07973" datatype="html">\n        <source>Add portal</source>\n        <target>Přidat portál</target>\n      </trans-unit>\n      <trans-unit id="c3638c01b6c34066438909713ec96087c813fc7e" datatype="html">\n        <source>At least \n          <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.\n        </source>\n        <target>Je třeba alespoň \n          <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> bran.\n        </target>\n      </trans-unit>\n      <trans-unit id="9aff25be088f0efe3eaaf62edf2bff41cc41a617" datatype="html">\n        <source>Backstore: \n          <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. \n        </source>\n        <target>Backstore: \n          <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. \n        </target>\n      </trans-unit>\n      <trans-unit id="e3484cae8b118c576ca2815bf9c9406c2eb2cae3" datatype="html">\n        <source>This image has modified settings.</source>\n        <target>Tento obraz má změněná nastavení.</target>\n      </trans-unit>\n      <trans-unit id="1dff11e0820b6722ab240169f1232d70a54beaaa" datatype="html">\n        <source>Duplicated LUN numbers.</source>\n        <target>Duplicated LUN numbers.</target>\n      </trans-unit>\n      <trans-unit id="bf2dccf92ccff6e3b091792bf4205595406e1bfb" datatype="html">\n        <source>Duplicated WWN.</source>\n        <target>Duplicated WWN.</target>\n      </trans-unit>\n      <trans-unit id="808038f912fdc7f0e03f82d4afd3bf9178527fc8" datatype="html">\n        <source>Add image</source>\n        <target>Přidat obraz</target>\n      </trans-unit>\n      <trans-unit id="66c5fb27f52e75b70ca4b670b9b15a2a51cf9543" datatype="html">\n        <source>ACL authentication</source>\n        <target>ACL ověřování</target>\n      </trans-unit>\n      <trans-unit id="419c8b402609dcf49ae4932a5a4647dc8d79bbaf" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n                can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Je třeba, aby uživatelská jména měla délku 8 až 64 znaků a\n                obsahovala pouze písmena a případně ještě znaky „.“, „@“, „-“, „_“ nebo „:“.</target>\n      </trans-unit>\n      <trans-unit id="938050960d6653fddfcfd42425e18fb35a308262" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n                and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Je třeba, aby hesla měla délku 12 až 16 znaků\n                a obsahovala písmena a znaky „@“, „-“, „_“ nebo „/“.</target>\n      </trans-unit>\n      <trans-unit id="f494bd31f095f6dcc656ce87ec2dcf07a2e9b30c" datatype="html">\n        <source>Initiators</source>\n        <target>Iniciátory</target>\n      </trans-unit>\n      <trans-unit id="e98239d8a6be1100119ff4b5630c822b82786740" datatype="html">\n        <source>Initiator</source>\n        <target>Iniciátor</target>\n      </trans-unit>\n      <trans-unit id="f2c5059d8cda15d8d03e2cce30f2d139623d9a91" datatype="html">\n        <source>Client IQN</source>\n        <target>IQN klienta</target>\n      </trans-unit>\n      <trans-unit id="107d5aabce23d900f0a80e6ddc1c10e29aa0bed8" datatype="html">\n        <source>Initiator IQN needs to be unique.</source>\n        <target>Je třeba, aby se IQN iniciátoru neopakovalo.</target>\n      </trans-unit>\n      <trans-unit id="bbf0b34a3fcc80800fcb44b9e1e86931a530dfe3" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n                        can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Je třeba, aby uživatelská jména měla délku 8 až 64 znaků a\n                        mohou obsahovat pouze písmena a znaky „.“, „@“, „-“, „_“ nebo „:“.</target>\n      </trans-unit>\n      <trans-unit id="fdfee5d7a27e1bdd97a176097277bee078de6aaf" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n                        and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Je třeba, aby hesla měla délku 12 až 16 znaků\n                        a mohou obsahovat pouze písmena, „@“, „-“, „_“ nebo „/“.</target>\n      </trans-unit>\n      <trans-unit id="8406eb7415ee40e54d9ecb209abb056f06e3d666" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters and\n                        can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Je třeba, aby hesla měla délku 12 znaků 16 a\n                        mohou obsahovat pouze písmena, „@“, „-“, „_“ nebo „/“.</target>\n      </trans-unit>\n      <trans-unit id="5d1878d5fc761cbe9614bfd87047a740c82a6951" datatype="html">\n        <source>Initiator belongs to a group. Images will be configure in the group.</source>\n        <target>Iniciátor spadá do skupiny. Obrazy budou nastaveny ve skupině.</target>\n      </trans-unit>\n      <trans-unit id="c0de67b9d97fafbf200f9451e8388ee8128a56ac" datatype="html">\n        <source>No items added.</source>\n        <target>Nepřidány žádné položky.</target>\n      </trans-unit>\n      <trans-unit id="d565e47726158e428ecdc952fc9233b9b7d7f049" datatype="html">\n        <source>Add initiator</source>\n        <target>Přidat iniciátor</target>\n      </trans-unit>\n      <trans-unit id="c22ba03540aa3217da059f45e7eab138b51a96e2" datatype="html">\n        <source>Groups</source>\n        <target>Skupiny</target>\n      </trans-unit>\n      <trans-unit id="4c90059afafb7e160384d9f512797c95bb95c6dc" datatype="html">\n        <source>Group</source>\n        <target>Skupina</target>\n      </trans-unit>\n      <trans-unit id="3084948274cff4f56d0f431af47240e9cf02fcc7" datatype="html">\n        <source>Add group</source>\n        <target>Přidat skupinu</target>\n      </trans-unit>\n      <trans-unit id="c3a7e364a88ea4673199dfa98bc73e6dbe09dfac" datatype="html">\n        <source>Namespaces</source>\n        <target>Namespaces</target>\n      </trans-unit>\n      <trans-unit id="aba82bfd8e177d35b76cad7cd43941f8e5e5acac" datatype="html">\n        <source>Trash</source>\n        <target>Koš</target>\n      </trans-unit>\n      <trans-unit id="66db799d67958d4b0765181d072df62e2d1c16f5" datatype="html">\n        <source>Issues</source>\n        <target>problémy</target>\n      </trans-unit>\n      <trans-unit id="ef06d69259e587e28d52372455f44c7153cda7e7" datatype="html">\n        <source>Syncing</source>\n        <target>Synchronizuje se</target>\n      </trans-unit>\n      <trans-unit id="0b0901877d837d3fda16ba161eb74368d1c75b7a" datatype="html">\n        <source>Ready</source>\n        <target>Připraveno</target>\n      </trans-unit>\n      <trans-unit id="4057c56d63a7e9b140b1d01871a9229a5f30eb27" datatype="html">\n        <source>Edit pool mirror mode</source>\n        <target>Upravit režim zrcadlení fondu</target>\n      </trans-unit>\n      <trans-unit id="e1f367f5feaab38f6637dd1f967c848b447dea2d" datatype="html">\n        <source>To edit the mirror mode for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>, select a new mode from the list and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>Pro úpravu režimu zrcadlení pro fond \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>, vyberte ze seznamu nový režim a klikněte na \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Aktualizovat\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="32ca348ef926b0a6a7a780b8b64c3a8239895cec" datatype="html">\n        <source>Peer clusters must be removed prior to disabling mirror.</source>\n        <target>Před vypnutím zrcadlení je třeba odebrat klastry-protějšky.</target>\n      </trans-unit>\n      <trans-unit id="fa61522d482349707fd7dd03b90dc5781611b17f" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/>\n  pool mirror peer\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/>\n  protějšek zrcadlení fondu\n        </target>\n      </trans-unit>\n      <trans-unit id="4ddcb416c1c0aa1f54acf5beef1de81813e76fa6" datatype="html">\n        <source>{VAR_SELECT, select, edit {Edit} other {Add} }</source>\n        <target>{VAR_SELECT, select, edit {Edit} other {Add} }</target>\n      </trans-unit>\n      <trans-unit id="59ca65ece457429d90104ede4674965f62edbabe" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/> the pool\n          mirror peer attributes for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> and click\n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Submit\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/> the pool\n          mirror peer attributes for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> and click\n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Submit\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="d3cc964811f852a168f4a2d5daa59068abc5cf53" datatype="html">\n        <source>Cluster Name</source>\n        <target>Název klastru</target>\n      </trans-unit>\n      <trans-unit id="b631721fc56cb7fb1cbd07b802a487c5753f6a2d" datatype="html">\n        <source>The cluster name is not valid.</source>\n        <target>Název klastru není platný</target>\n      </trans-unit>\n      <trans-unit id="ca6deafa31bf421f85094807982aee4bcb20a3ae" datatype="html">\n        <source>CephX ID</source>\n        <target>CephX identif.</target>\n      </trans-unit>\n      <trans-unit id="7539188a568c3d553cbde1bacaf32310c4264e24" datatype="html">\n        <source>CephX ID...</source>\n        <target>CephX identif. …</target>\n      </trans-unit>\n      <trans-unit id="a1c45b594b0fba22fc64e80c793a7ffe005fdb0e" datatype="html">\n        <source>The CephX ID is not valid.</source>\n        <target>CephX identif. není platný.</target>\n      </trans-unit>\n      <trans-unit id="20861576fcfce773c918c782cd4f5adf32382921" datatype="html">\n        <source>Monitor Addresses</source>\n        <target>Adresy monitorů</target>\n      </trans-unit>\n      <trans-unit id="fa28eeed2b4bd4ccbe6e9349a1c2b3cb1c5de70a" datatype="html">\n        <source>Comma-delimited addresses...</source>\n        <target>Čárkou oddělované adresy…</target>\n      </trans-unit>\n      <trans-unit id="dc016c82fd85848d5c1b2fd0e8469ee2027d9c16" datatype="html">\n        <source>The monitory address is not valid.</source>\n        <target>Adresa monitoru není platná.</target>\n      </trans-unit>\n      <trans-unit id="e0ac55b83dc6739e62bc655cfe375b67c93e7f4a" datatype="html">\n        <source>CephX Key</source>\n        <target>CephX klíč</target>\n      </trans-unit>\n      <trans-unit id="f53434bcb95bd86f1df9c8e22966f757614fc4ad" datatype="html">\n        <source>Base64-encoded key...</source>\n        <target>Klíč v base64 kódování…</target>\n      </trans-unit>\n      <trans-unit id="4cd83164cd4f66b4abc2863f9ce6f599d789e4ca" datatype="html">\n        <source>CephX key must be base64 encoded.</source>\n        <target>Je třeba, aby CephX klíč byl v kódování base64.</target>\n      </trans-unit>\n      <trans-unit id="ca53d681a9892d6fdbb57ee9676582186515e961" datatype="html">\n        <source>Performance counters not available</source>\n        <target>Výkonnostní čítače nejsou k dispozici</target>\n      </trans-unit>\n      <trans-unit id="9424badb7e0c6ac792d020d7830645b529a80aad" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the Object Gateway management functionality.\n        </source>\n        <target>Podívejte se do \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>dokumentace\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  jak nastavit a zapnout funkci správy brány objektů.\n        </target>\n      </trans-unit>\n      <trans-unit id="479488ab6e91ecb375484edc78bee3d13467f33f" datatype="html">\n        <source>Daemons List</source>\n        <target>Seznam procesů služeb</target>\n      </trans-unit>\n      <trans-unit id="eeba399c4dae8d4890c27b7a2cd2dc28fcf8b5f9" datatype="html">\n        <source>Performance Counters</source>\n        <target>Výkonnostní čítače</target>\n      </trans-unit>\n      <trans-unit id="5f67f2247b9c6bbaf24a0f2d37f4ac0537c6fa53" datatype="html">\n        <source>Loading bucket data...</source>\n        <target>Načítání dat nádoby…</target>\n      </trans-unit>\n      <trans-unit id="2798cc1e152b1ec07fd8daf94a2a073d1ba1ebcc" datatype="html">\n        <source>Id</source>\n        <target>Identif.</target>\n      </trans-unit>\n      <trans-unit id="db4e1a734518691b128ef40b939cc673f01d03a6" datatype="html">\n        <source>The value is not valid.</source>\n        <target>Hodnota není platná.</target>\n      </trans-unit>\n      <trans-unit id="eabb4db920d9f9b2480cf438468b86e1bea02a9b" datatype="html">\n        <source>The chosen name is already in use.</source>\n        <target>Zvolený název už je používán.</target>\n      </trans-unit>\n      <trans-unit id="0ee5132a8da30e0b7f9f5c70dbc91928d17dd909" datatype="html">\n        <source>Owner</source>\n        <target>Vlastník</target>\n      </trans-unit>\n      <trans-unit id="8e4c918357c7445fbf19a203e5f0f0ece1960b3b" datatype="html">\n        <source>-- Select a user --</source>\n        <target>-- Vybrat uživatele --</target>\n      </trans-unit>\n      <trans-unit id="a4aab1f837bc8ec222e4f25922465d1c5929a1fc" datatype="html">\n        <source>Placement target</source>\n        <target>Cíl umístění</target>\n      </trans-unit>\n      <trans-unit id="6bae0a7fc2c9c1fde7d937a8a1a3c7e6825cf7d1" datatype="html">\n        <source>-- Select a placement target --</source>\n        <target>-- Vybrat cíl umístění --</target>\n      </trans-unit>\n      <trans-unit id="efeade5060b3add63863c24871f0830fb16b7e6d" datatype="html">\n        <source>Versioning</source>\n        <target>Verzování</target>\n      </trans-unit>\n      <trans-unit id="f50a33d3c339f8f4a465141f8caa5d2d8c005251" datatype="html">\n        <source>Enabled</source>\n        <target>Zapnuto</target>\n      </trans-unit>\n      <trans-unit id="016d24e069e7d505a090fb8243e5cd43b35dc39b" datatype="html">\n        <source>Enables versioning for the objects in the bucket.</source>\n        <target>Enables versioning for the objects in the bucket.</target>\n      </trans-unit>\n      <trans-unit id="9e6775ffd06878aa145c07359f28557f01ede04f" datatype="html">\n        <source>Multi-Factor Authentication</source>\n        <target>Multi-Factor Authentication</target>\n      </trans-unit>\n      <trans-unit id="29e8a5d4fb767d4ad0c762c81c6264cec4c0ba97" datatype="html">\n        <source>Delete enabled</source>\n        <target>Delete enabled</target>\n      </trans-unit>\n      <trans-unit id="40fbc3ac8c1ea4ecfe62247e91f1f999ad5baf76" datatype="html">\n        <source>Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state.</source>\n        <target>Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state.</target>\n      </trans-unit>\n      <trans-unit id="d24c93a8c13db46defa06ed7b5e026a3edb52b91" datatype="html">\n        <source>Token Serial Number</source>\n        <target>Token Serial Number</target>\n      </trans-unit>\n      <trans-unit id="e6d9536c2af2e5e9a228c3e3e1809dc1fefe0149" datatype="html">\n        <source>Token PIN</source>\n        <target>Token PIN</target>\n      </trans-unit>\n      <trans-unit id="7b84370895ab9eb44672f57146fa05c5947f1c0c" datatype="html">\n        <source>Locking</source>\n        <target>Locking</target>\n      </trans-unit>\n      <trans-unit id="f038d51ab1645f15b0cd58f195c72a7eeebd4729" datatype="html">\n        <source>Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket.</source>\n        <target>Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket.</target>\n      </trans-unit>\n      <trans-unit id="9af1b4baa2dd8ed2bfc3cc756b12a2271c2dd793" datatype="html">\n        <source>Compliance</source>\n        <target>Compliance</target>\n      </trans-unit>\n      <trans-unit id="edd600fa489d1b4a4448dce694ed932e52ce8fda" datatype="html">\n        <source>Governance</source>\n        <target>Governance</target>\n      </trans-unit>\n      <trans-unit id="a5c3d9d2296f7886e8289b9f623323803deacfc6" datatype="html">\n        <source>Days</source>\n        <target>Days</target>\n      </trans-unit>\n      <trans-unit id="218c7d6d318c51e7105309aaeb0baec9d19e4efb" datatype="html">\n        <source>The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</source>\n        <target>The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</target>\n      </trans-unit>\n      <trans-unit id="289b101ec12427b3ca819df9e43cc3b14fae2cc4" datatype="html">\n        <source>The entered value must be a positive integer.</source>\n        <target>The entered value must be a positive integer.</target>\n      </trans-unit>\n      <trans-unit id="def9fc628134d3a044b7c0ad2a83c846bdad56f1" datatype="html">\n        <source>Retention period requires either Days or Years.</source>\n        <target>Retention period requires either Days or Years.</target>\n      </trans-unit>\n      <trans-unit id="003c94fc143882ac8af6251a1595fe62978fe3e6" datatype="html">\n        <source>Years</source>\n        <target>Years</target>\n      </trans-unit>\n      <trans-unit id="14c6189ead0951f13049c7bf9af7642d0c41957a" datatype="html">\n        <source>The number of years that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</source>\n        <target>The number of years that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</target>\n      </trans-unit>\n      <trans-unit id="45cc8ca94b5a50842a9a8ef804a5ab089a38ae5c" datatype="html">\n        <source>ID</source>\n        <target>Identif.</target>\n      </trans-unit>\n      <trans-unit id="e5c51963a9c553b29427ef783bbb69fa6634fa8c" datatype="html">\n        <source>Index type</source>\n        <target>Typ rejstříku</target>\n      </trans-unit>\n      <trans-unit id="8e6f950a32eaea32ec7e192f9ca3d3dfe469d4ba" datatype="html">\n        <source>Placement rule</source>\n        <target>Pravidlo umístění</target>\n      </trans-unit>\n      <trans-unit id="6972d213e31c4ea4f887e60db99d9881bc8fcd3e" datatype="html">\n        <source>Marker</source>\n        <target>Označovač</target>\n      </trans-unit>\n      <trans-unit id="47b02acd2d3254d1ace1926f840523f154ebef71" datatype="html">\n        <source>Maximum marker</source>\n        <target>Nejvyšší označovač</target>\n      </trans-unit>\n      <trans-unit id="8fe73a4787b8068b2ba61f54ab7e0f9af2ea1fc9" datatype="html">\n        <source>Version</source>\n        <target>Verze</target>\n      </trans-unit>\n      <trans-unit id="092fa3a7df9168b14d3f83a77a4035e92b92ce15" datatype="html">\n        <source>Master version</source>\n        <target>Hlavní verze</target>\n      </trans-unit>\n      <trans-unit id="97434cc5001d407f90c7447a12d9e8e6848a2aa3" datatype="html">\n        <source>Modification time</source>\n        <target>Okamžik úpravy</target>\n      </trans-unit>\n      <trans-unit id="90fe2e41e7fde38453ce4e619efeea9bc6adea9c" datatype="html">\n        <source>Zonegroup</source>\n        <target>Skupinazóny</target>\n      </trans-unit>\n      <trans-unit id="62a923f047ca49e7a4782629e91fea1ba32db68f" datatype="html">\n        <source>MFA Delete</source>\n        <target>MFA Delete</target>\n      </trans-unit>\n      <trans-unit id="649a410bd0ace333d067d8fa22f12bdbdb43533b" datatype="html">\n        <source>Bucket quota</source>\n        <target>Kvóta nádoby</target>\n      </trans-unit>\n      <trans-unit id="cef1595d040e77cbb4466e60382028d4c2040cac" datatype="html">\n        <source>Maximum size</source>\n        <target>Nejvyšší velikost</target>\n      </trans-unit>\n      <trans-unit id="aa6fb95c355f172bda303de1ce2f38c251a149cf" datatype="html">\n        <source>Unlimited</source>\n        <target>Neomezeno</target>\n      </trans-unit>\n      <trans-unit id="ee862a800364b4d11f9b8cb9955a28a60f840a45" datatype="html">\n        <source>Maximum objects</source>\n        <target>Nejvýše objektů</target>\n      </trans-unit>\n      <trans-unit id="08c74dc9762957593b91f6eb5d65efdfc975bf48" datatype="html">\n        <source>Username</source>\n        <target>Uživatelské jméno</target>\n      </trans-unit>\n      <trans-unit id="49c614babd1950adb2be75df4e2c9747286d6adc" datatype="html">\n        <source>-- Select a username --</source>\n        <target>-- Vybrat uživatelské jméno --</target>\n      </trans-unit>\n      <trans-unit id="c217ee914725a37e9dd2336c721c8e63e9666bdc" datatype="html">\n        <source>Auto-generate key</source>\n        <target>Automaticky vytvořit klíč</target>\n      </trans-unit>\n      <trans-unit id="2f1c1c0f2bce4c9f92d1a2061e8161cb0006c31a" datatype="html">\n        <source>Access key</source>\n        <target>Přístupový klíč</target>\n      </trans-unit>\n      <trans-unit id="b864acb67296a9819c1db0069c4c47d8b5ce8f44" datatype="html">\n        <source>Secret key</source>\n        <target>Tajný klíč</target>\n      </trans-unit>\n      <trans-unit id="b760f123248930122fc7e7b6b6bf94e376e959c8" datatype="html">\n        <source>Full name</source>\n        <target>Celé jméno</target>\n      </trans-unit>\n      <trans-unit id="69b6ac577a19acc39fc0c22342092f327fff2529" datatype="html">\n        <source>Email address</source>\n        <target>E-mailová adresa</target>\n      </trans-unit>\n      <trans-unit id="92f3f203270a29b3001871153f02c063484a1574" datatype="html">\n        <source>Suspended</source>\n        <target>Pozastaveno</target>\n      </trans-unit>\n      <trans-unit id="8011e20c5bbe51602d459a860fbf29b599b55edd" datatype="html">\n        <source>System</source>\n        <target>Systém</target>\n      </trans-unit>\n      <trans-unit id="db18a2772988415466a7f75dc42663ce78c9c1d3" datatype="html">\n        <source>Maximum buckets</source>\n        <target>Nejvýše nádob</target>\n      </trans-unit>\n      <trans-unit id="2c4c62e8ba24601be5cfe7dc5d32c24bbbd4b53c" datatype="html">\n        <source>Subusers</source>\n        <target>Dílčí uživatelé</target>\n      </trans-unit>\n      <trans-unit id="17bb3082e6fe5003203ef992a3714172334631a1" datatype="html">\n        <source>Capabilities</source>\n        <target>Schopnosti</target>\n      </trans-unit>\n      <trans-unit id="36ad38f9c1a1485e09b67778a28af84553290ffb" datatype="html">\n        <source>User quota</source>\n        <target>Kvóta uživatele</target>\n      </trans-unit>\n      <trans-unit id="2aba1e87039819aca3b70faa9aa848c12bf139ca" datatype="html">\n        <source>Show</source>\n        <target>Zobrazit</target>\n      </trans-unit>\n      <trans-unit id="0bcd5ef19af0f1b814141ca8c57df623d8270088" datatype="html">\n        <source>Keys</source>\n        <target>Klíče</target>\n      </trans-unit>\n      <trans-unit id="f61c6867295f3b53d23557021f2f4e0aa1d0b8fc" datatype="html">\n        <source>Type</source>\n        <target>Typ</target>\n      </trans-unit>\n      <trans-unit id="1221ca97d19eaa9a7bc0c5243d5fc5befe1d2314" datatype="html">\n        <source>-- Select a type --</source>\n        <target>-- Vybrat typ --</target>\n      </trans-unit>\n      <trans-unit id="d1b8990332af18f1c5159a6061ca889bcbb28432" datatype="html">\n        <source>Permission</source>\n        <target>Oprávnění</target>\n      </trans-unit>\n      <trans-unit id="a08c589f82f69d892307288da14190ae1dd583d5" datatype="html">\n        <source>-- Select a permission --</source>\n        <target>-- Vybrat oprávnění --</target>\n      </trans-unit>\n      <trans-unit id="b2841767821d6b66238c34d07e413b0af67aee92" datatype="html">\n        <source>Subuser</source>\n        <target>Dílčí uživatel</target>\n      </trans-unit>\n      <trans-unit id="bd59fc25a7bd98cff3e75117c09697c8a007a514" datatype="html">\n        <source>The chosen subuser ID is already in use.</source>\n        <target>Zvolený identifikátor dílčího uživatele už je používán.</target>\n      </trans-unit>\n      <trans-unit id="3d386c357ebcbc04ed05c4babd5a03626f9b1674" datatype="html">\n        <source>read, write</source>\n        <target>číst, zapisovat</target>\n      </trans-unit>\n      <trans-unit id="84e3e3f9a4f31a039b648c97debf95fcb20f4c4a" datatype="html">\n        <source>full</source>\n        <target>plné</target>\n      </trans-unit>\n      <trans-unit id="b6bf81d032a2316464f9df2f0d2f3d753f89f0d3" datatype="html">\n        <source>Swift key</source>\n        <target>Swift klíč</target>\n      </trans-unit>\n      <trans-unit id="1e0c12685d50d47448ceed9423977ef39775c037" datatype="html">\n        <source>Auto-generate secret</source>\n        <target>Automaticky vytvořit tajemství</target>\n      </trans-unit>\n      <trans-unit id="3d1c7a6004bd5d86a7fa096ae24209e8aa7a53e3" datatype="html">\n        <source>Loading user data...</source>\n        <target>Načítání údajů uživatele…</target>\n      </trans-unit>\n      <trans-unit id="faa5d834ab28571423d794d32b57998920efb65f" datatype="html">\n        <source>The user data could not be loaded.</source>\n        <target>Údaje uživatele se nepodařilo načíst.</target>\n      </trans-unit>\n      <trans-unit id="6aaf5d2a304167272ac73e3b1d1c162e16c77858" datatype="html">\n        <source>The chosen user ID is already in use.</source>\n        <target>Zvolený identif. uživatele už je používán.</target>\n      </trans-unit>\n      <trans-unit id="df441e80db2157f9d272b75de724ba4a82b96b57" datatype="html">\n        <source>This is not a valid email address.</source>\n        <target>Toto není platná e-mailová adresa.</target>\n      </trans-unit>\n      <trans-unit id="ca271adf154956b8fcb28f4f50a37acb3057ff7c" datatype="html">\n        <source>The chosen email address is already in use.</source>\n        <target>Zvolená e-mailová adresa už je používána.</target>\n      </trans-unit>\n      <trans-unit id="030197cebe938edf35422e92fe14183d06eb670b" datatype="html">\n        <source>Max. buckets</source>\n        <target>Nejvýše nádob</target>\n      </trans-unit>\n      <trans-unit id="f39256070bfc0714020dfee08895421fc1527014" datatype="html">\n        <source>Disabled</source>\n        <target>Vypnuto</target>\n      </trans-unit>\n      <trans-unit id="a5c05002b0ac2040f1aede5e727e0ffd06eda819" datatype="html">\n        <source>Custom</source>\n        <target>Uživatelsky určené</target>\n      </trans-unit>\n      <trans-unit id="28872515cb81d197a3a1733fa546d3e0f0dd6c67" datatype="html">\n        <source>The entered value must be &gt;= 1.</source>\n        <target>The entered value must be &gt;= 1.</target>\n      </trans-unit>\n      <trans-unit id="583a219c524155c2314eb06ee29162bb315272a3" datatype="html">\n        <source>S3 key</source>\n        <target>S3 klíč</target>\n      </trans-unit>\n      <trans-unit id="128d6efb51d9ddc7c0cc695a2deeca5b9523f6e4" datatype="html">\n        <source>There are no subusers.</source>\n        <target>Nejsou zde žádní dílčí uživatelé.</target>\n      </trans-unit>\n      <trans-unit id="7fd6dfb8ecb982dbc3affb2c2d5414c4f5b6abd2" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ subuserLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ subuserLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="67c746c1ba9dab4351fedc4c7cba4e6d6b0dbc47" datatype="html">\n        <source>S3</source>\n        <target>S3</target>\n      </trans-unit>\n      <trans-unit id="d6819038d608623503918fb2553f53d68231ec3a" datatype="html">\n        <source>There are no keys.</source>\n        <target>Nejsou zde žádné klíče.</target>\n      </trans-unit>\n      <trans-unit id="fc1c1a7140ff6b815a95b65ee2780fdbe1b2b7a1" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ s3keyLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ s3keyLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6ddb5e991a3ecd2659fb520bc5acc81b67e08ddd" datatype="html">\n        <source>Swift</source>\n        <target>Swift</target>\n      </trans-unit>\n      <trans-unit id="1d01eccdda47fc907c5be35bcb16d2dcd02b0270" datatype="html">\n        <source>There are no capabilities.</source>\n        <target>Nejsou zde žádné schopnosti.</target>\n      </trans-unit>\n      <trans-unit id="043e2ec0036ceadd926fd5e3f93cd6f3565f3648" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.ADD | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.ADD | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="f5a451c4ea65a4046f0b49d489a7013abf0b5861" datatype="html">\n        <source>All capabilities are already added.</source>\n        <target>All capabilities are already added.</target>\n      </trans-unit>\n      <trans-unit id="6146e13ceca5fa5cc17b771b282fe5955f3d19fa" datatype="html">\n        <source>Unlimited size</source>\n        <target>Neomezená velikost</target>\n      </trans-unit>\n      <trans-unit id="f6db8aa7c99fdce18edb33dde57729acede2b308" datatype="html">\n        <source>Max. size</source>\n        <target>Nejvyšší velikost</target>\n      </trans-unit>\n      <trans-unit id="fc630b2093e880fffa19df99d5cd8b87605037f8" datatype="html">\n        <source>Unlimited objects</source>\n        <target>Neomezené objekty</target>\n      </trans-unit>\n      <trans-unit id="6cda5a993d06f0bb10048be9d3aba6555aa9f356" datatype="html">\n        <source>Max. objects</source>\n        <target>Nejvýše objektů</target>\n      </trans-unit>\n      <trans-unit id="623ac50f37a26caec6fd7cd519b653e3315cba25" datatype="html">\n        <source>The entered value must be &gt;= 0.</source>\n        <target>Je třeba, aby zadaná hodnota byla 0 a vyšší.</target>\n      </trans-unit>\n      <trans-unit id="1ea5c4d8942c00752dcc72e72949c5d9832f6399" datatype="html">\n        <source>Description...</source>\n        <target>Popis…</target>\n      </trans-unit>\n      <trans-unit id="70f45880fce6ac5d8e468e25e82aefbba8098cfe" datatype="html">\n        <source>Permissions</source>\n        <target>Oprávnění</target>\n      </trans-unit>\n      <trans-unit id="9610487cbeb5796d34d8601b5ac0c0a65f9e1d19" datatype="html">\n        <source>Roles</source>\n        <target>Role</target>\n      </trans-unit>\n      <trans-unit id="7f3bdcce4b2e8c37cd7f0f6c92ef8cff34b039b8" datatype="html">\n        <source>Confirm password</source>\n        <target>Potvrzení zadání hesla</target>\n      </trans-unit>\n      <trans-unit id="cbb979e63ba50e0ca3adfa09cbdcaefd0853fca1" datatype="html">\n        <source>Password confirmation doesn\'t match the password.</source>\n        <target>Zadání hesla se neshodují.</target>\n      </trans-unit>\n      <trans-unit id="96621f9ed2e4ae5204564e583d2c816bedead571" datatype="html">\n        <source>Password expiration date</source>\n        <target>Password expiration date</target>\n      </trans-unit>\n      <trans-unit id="48932db3801fe9d5d72a60a3e656bffd17c1c5d9" datatype="html">\n        <source>Password expiration date...</source>\n        <target>Password expiration date...</target>\n      </trans-unit>\n      <trans-unit id="244aae9346da82b0922506c2d2581373a15641cc" datatype="html">\n        <source>Email</source>\n        <target>E-mail</target>\n      </trans-unit>\n      <trans-unit id="d0ec081dd61eb4f43aea269077bbe38eae87b7f9" datatype="html">\n        <source>Invalid email.</source>\n        <target>Neplatný e-mail.</target>\n      </trans-unit>\n      <trans-unit id="8913c216dd506e20e412e144381d8d2a65a84359" datatype="html">\n        <source>User must change password at next logon</source>\n        <target>User must change password at next logon</target>\n      </trans-unit>\n      <trans-unit id="0051a3479d3ba79135c16dc8cc017950a2cce821" datatype="html">\n        <source>You are about to remove "user read / update" permissions from your own user.</source>\n        <target>Chystáte se odebrat oprávnění „uživatel číst/aktualizovat“ svému vlastnímu účtu.</target>\n      </trans-unit>\n      <trans-unit id="af4bf9fcb256853f14cf947eb1deb8d7f176d3f9" datatype="html">\n        <source>If you continue, you will no longer be able to add or remove roles from any user.</source>\n        <target>Pokud budete pokračovat, nebudete nadále schopní přidávat nebo nebo odebírat role žádnému z uživatelů.</target>\n      </trans-unit>\n      <trans-unit id="7d1dcf2a9146caac0581329acf94806ec69a89a5" datatype="html">\n        <source>Are you sure you want to continue?</source>\n        <target>Opravdu chcete pokračovat?</target>\n      </trans-unit>\n      <trans-unit id="85b79c9064aed1ead31ace985f31aa1363f6bdaf" datatype="html">\n        <source>Help</source>\n        <target>Nápověda</target>\n      </trans-unit>\n      <trans-unit id="fcfd4675b4c90f08d18d3abede9a9a4dff4cfdc7" datatype="html">\n        <source>Documentation</source>\n        <target>Dokumentace</target>\n      </trans-unit>\n      <trans-unit id="e351b40b3869a5c7d19c3d4918cb1ac7aaab95c4" datatype="html">\n        <source>API</source>\n        <target>Aplikační program. rozhraní</target>\n      </trans-unit>\n      <trans-unit id="004b222ff9ef9dd4771b777950ca1d0e4cd4348a" datatype="html">\n        <source>About</source>\n        <target>O aplikaci</target>\n      </trans-unit>\n      <trans-unit id="1481ecd21e760ac919a24e26cf790acd82e40199" datatype="html">\n        <source>Dashboard Settings</source>\n        <target>Nastavení přehledu</target>\n      </trans-unit>\n      <trans-unit id="a79aab4ef674bf3f6532292107c0054302236e0f" datatype="html">\n        <source>User management</source>\n        <target>Správa uživatelů</target>\n      </trans-unit>\n      <trans-unit id="049dfd9fe6c78914ad58cf89ac6a631fca28ec74" datatype="html">\n        <source>Logged in user</source>\n        <target>Přihlášený uživatel</target>\n      </trans-unit>\n      <trans-unit id="cd38a58e73f306d838e621959d47d5e7a2f06d1f" datatype="html">\n        <source>Signed in as\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ username }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>\n        </source>\n        <target>Přihlášeni jako\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ username }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="739516c2ca75843d5aec9cf0e6b3e4335c4227b9" datatype="html">\n        <source>Change password</source>\n        <target>Změnit heslo</target>\n      </trans-unit>\n      <trans-unit id="5d22c795daf43877a5f708dca2bccd549eb0471d" datatype="html">\n        <source>Sign out</source>\n        <target>Odhlásit</target>\n      </trans-unit>\n      <trans-unit id="91853167141c37b58868f3b0421383dd72fa8a01" datatype="html">\n        <source>Attributes (OSD map)</source>\n        <target>Atributy (OSD mapa)</target>\n      </trans-unit>\n      <trans-unit id="97842f379e1d4157ac3ab0661b90c352e7cb72d5" datatype="html">\n        <source>Metadata not available</source>\n        <target>Metadata nejsou k dispozici</target>\n      </trans-unit>\n      <trans-unit id="f721a500a68c357e8f2a01e60510f6a01e4ba529" datatype="html">\n        <source>Metadata</source>\n        <target>Metadata</target>\n      </trans-unit>\n      <trans-unit id="deba10b7279a589d01e919ea11f43c79ca1773e3" datatype="html">\n        <source>Device health</source>\n        <target>Stav zařízení</target>\n      </trans-unit>\n      <trans-unit id="d24e28e19c5703d7c6be44f4eb595a6a43b618ed" datatype="html">\n        <source>Performance counter</source>\n        <target>Výkonnostní čítač</target>\n      </trans-unit>\n      <trans-unit id="d1f7c81ed9c5034af4abcdf119b1c1e86cd019dd" datatype="html">\n        <source>Histogram not available: \n          <x id="INTERPOLATION" equiv-text="{{ osd.histogram_failed }}"/>\n        </source>\n        <target>Histogram není k dispozici: \n          <x id="INTERPOLATION" equiv-text="{{ osd.histogram_failed }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="868abfff914873d1c65df798d8432ed04b8ae2a9" datatype="html">\n        <source>Writes</source>\n        <target>Zápisy</target>\n      </trans-unit>\n      <trans-unit id="996ebb9a653b5067f97bf3891ea9d2108e969492" datatype="html">\n        <source>Reads</source>\n        <target>Čtení</target>\n      </trans-unit>\n      <trans-unit id="65ac79790aa477a97b1cc579e18a115a8df8918f" datatype="html">\n        <source>Histogram</source>\n        <target>Histogram</target>\n      </trans-unit>\n      <trans-unit id="3d87fc20ea8e5f0f0500ba5d5061b345be78ec5e" datatype="html">\n        <source>No hostname found.</source>\n        <target>No hostname found.</target>\n      </trans-unit>\n      <trans-unit id="26fb5f81b3581f06b9210defb0e71dc69a67e819" datatype="html">\n        <source>Current values</source>\n        <target>Stávající hodnoty</target>\n      </trans-unit>\n      <trans-unit id="9abcd7c82643d60c22733470463f74e4a54bc069" datatype="html">\n        <source>Min</source>\n        <target>Min</target>\n      </trans-unit>\n      <trans-unit id="c3ced4d162a0a55ee233a187ce7208ba5e922418" datatype="html">\n        <source>Max</source>\n        <target>Max</target>\n      </trans-unit>\n      <trans-unit id="6834fa6b43d1ecbdf147c48dd9c4d72f1484571d" datatype="html">\n        <source>Source</source>\n        <target>Zdroj</target>\n      </trans-unit>\n      <trans-unit id="a446fb0eb11fbffcac805ece5a2d306d24e733d8" datatype="html">\n        <source>Level</source>\n        <target>Úroveň</target>\n      </trans-unit>\n      <trans-unit id="39f2fb094e9b2eda13163fa3f3a31594cf9c1307" datatype="html">\n        <source>Can be updated at runtime (editable)</source>\n        <target>Je možné aktualizovat za provozu (upravitelné)</target>\n      </trans-unit>\n      <trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b" datatype="html">\n        <source>Tags</source>\n        <target>Štítky</target>\n      </trans-unit>\n      <trans-unit id="ab0089ef47af61ca1d137bc908b96c290dfd9287" datatype="html">\n        <source>Enum values</source>\n        <target>Vyčíslit hodnoty</target>\n      </trans-unit>\n      <trans-unit id="819476f1264f1659f38e86f6abb542141b184832" datatype="html">\n        <source>See also</source>\n        <target>Viz také</target>\n      </trans-unit>\n      <trans-unit id="73caac4265ea7314ff061e5a1d78a6361a6dd3b8" datatype="html">\n        <source>Cluster Status</source>\n        <target>Stav klastru</target>\n      </trans-unit>\n      <trans-unit id="1d4bc612bbf19aa9553853266b9e92c9d75f4464" datatype="html">\n        <source>Manager Daemons</source>\n        <target>Procesy služby správy</target>\n      </trans-unit>\n      <trans-unit id="946ac5dea9921dc09d7b0a63b89535371f283b19" datatype="html">\n        <source>Object Gateways</source>\n        <target>Objektové brány</target>\n      </trans-unit>\n      <trans-unit id="ff03fa5bcf37c4da46ad736c1f7d03f959e8ba9a" datatype="html">\n        <source>Metadata Servers</source>\n        <target>Metadata servery</target>\n      </trans-unit>\n      <trans-unit id="d817609ba4993eba859409ab71e566168f4d5f5a" datatype="html">\n        <source>iSCSI Gateways</source>\n        <target>iSCSI brány</target>\n      </trans-unit>\n      <trans-unit id="42c13e50391250ea9379bdf55d5d6c0228c0c8bc" datatype="html">\n        <source>Client IOPS</source>\n        <target>vst/výst. klienta</target>\n      </trans-unit>\n      <trans-unit id="52213660b2454d139ada3079a42ec6caf3c3c01e" datatype="html">\n        <source>Client Throughput</source>\n        <target>Propustnost klienta</target>\n      </trans-unit>\n      <trans-unit id="32efd1c3f70e3c5244239de97a2cc95d98534a14" datatype="html">\n        <source>Client Read/Write</source>\n        <target>Čtení/zápis klienta</target>\n      </trans-unit>\n      <trans-unit id="275485415092cbae3a9f3cbb786ebe283cacfdd5" datatype="html">\n        <source>Recovery Throughput</source>\n        <target>Propustnost zotavení</target>\n      </trans-unit>\n      <trans-unit id="6d9a9f55046891733ef71170e7652063765eb542" datatype="html">\n        <source>Scrub</source>\n        <target>Kontrola</target>\n      </trans-unit>\n      <trans-unit id="3cc9c2ae277393b3946b38c088dabff671b1ee1b" datatype="html">\n        <source>Performance</source>\n        <target>Výkonnost</target>\n      </trans-unit>\n      <trans-unit id="88f383269db2d32cccee9e936fe549dccb9fdbf4" datatype="html">\n        <source>Raw Capacity</source>\n        <target>Holá kapacita</target>\n      </trans-unit>\n      <trans-unit id="c5f8a813f91a11af99132e4beafc136cfc13d73b" datatype="html">\n        <source>PGs per OSD</source>\n        <target>Skupin umístění na OSD</target>\n      </trans-unit>\n      <trans-unit id="498a109c6e9e94f1966de01aa0326f7f0ac6fb52" datatype="html">\n        <source>PG Status</source>\n        <target>Stav skupiny umístění</target>\n      </trans-unit>\n      <trans-unit id="ce9dfdc6dccb28dc75a78c704e09dc18fb02dcfa" datatype="html">\n        <source>Capacity</source>\n        <target>Kapacita</target>\n      </trans-unit>\n      <trans-unit id="44ecac93d67c6a671198091c2270354f80322327" datatype="html">\n        <source>\n          <x id="START_ITALIC_TEXT" ctype="x-i" equiv-text="<i>"/>\n          <x id="CLOSE_ITALIC_TEXT" ctype="x-i" equiv-text="</i>"/> See \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Logs\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more details.\n        </source>\n        <target>Další podrobnosti \n          <x id="START_ITALIC_TEXT" ctype="x-i" equiv-text="<i>"/>\n          <x id="CLOSE_ITALIC_TEXT" ctype="x-i" equiv-text="</i>"/> naleznete v \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>záznamech událostí\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="0c1e17956453ad772dbe82d6946f62748c692f3e" datatype="html">\n        <source>Ranks</source>\n        <target>Hodnocení</target>\n      </trans-unit>\n      <trans-unit id="2b24e0b0b1629d2e8a51b9da7c75d6e6379f4bc4" datatype="html">\n        <source>Standbys</source>\n        <target>Pohotovosti</target>\n      </trans-unit>\n      <trans-unit id="50df62325726db950523a5be1c78b8905fcc25d4" datatype="html">\n        <source>MDS performance counters</source>\n        <target>čítače výkonnosti MDS</target>\n      </trans-unit>\n      <trans-unit id="6e213942c6354b9cbe7a650f0f1499bfc1000fb6" datatype="html">\n        <source>Directories</source>\n        <target>Složky</target>\n      </trans-unit>\n      <trans-unit id="47116253e36f4e38a97ba41b2d3122c6c15ab904" datatype="html">\n        <source>Clients (\n          <x id="INTERPOLATION" equiv-text="{{ clients.length }}"/>)\n        </source>\n        <target>Klienti (\n          <x id="INTERPOLATION" equiv-text="{{ clients.length }}"/>)\n        </target>\n      </trans-unit>\n      <trans-unit id="bd5a3b1c5a3c185c7bbb0e09a061d4cdc88ce5ad" datatype="html">\n        <source>Current</source>\n        <target>Stávající</target>\n      </trans-unit>\n      <trans-unit id="e5e7d62e942083a59b0b31f54e17cd7958186052" datatype="html">\n        <source>Updated discovery authentication</source>\n        <target>Aktualizováno ověřování pro objevování</target>\n      </trans-unit>\n      <trans-unit id="dd4ab758afd5fd5a6c6a25b2b30ff99d0c00e9ad" datatype="html">\n        <source>There are no portals available.</source>\n        <target>Nejsou k dispozici žádné portály.</target>\n      </trans-unit>\n      <trans-unit id="83021e45778a4a230a14ca0c6d6ccdf05500ad93" datatype="html">\n        <source>There are no images available.</source>\n        <target>Nejsou k dispozici žádné obrazy.</target>\n      </trans-unit>\n      <trans-unit id="86684eb21f8a768e1dbc659e3d5da6861db544a0" datatype="html">\n        <source>There are no images available. Please make sure you add an image to the target.</source>\n        <target>Nejsou k dispozici žádné obrazy. Ověřte, že jste cíli přidali obraz.</target>\n      </trans-unit>\n      <trans-unit id="fffda6e440078f57eba93944ce051c593cc6ed7f" datatype="html">\n        <source>There are no initiators available. Please make sure you add an initiator to the target.</source>\n        <target>Nejsou k dispozici žádné iniciátory. Ověřte, že jste cíli přidali iniciátor.</target>\n      </trans-unit>\n      <trans-unit id="cea3c6fe490385eef1584cbc4983fda7ece24bb6" datatype="html">\n        <source>target</source>\n        <target>cíl</target>\n      </trans-unit>\n      <trans-unit id="38baeb215c17af9d9e295e371a57f4a48ab4c191" datatype="html">\n        <source>Target</source>\n        <target>Cíl</target>\n      </trans-unit>\n      <trans-unit id="99e094878070eebc1b972bac02aaa33b2bf83b35" datatype="html">\n        <source># Sessions</source>\n        <target>Počet relací</target>\n      </trans-unit>\n      <trans-unit id="2ea10b3668e04e057ba96ddcaf4c9b77089008ae" datatype="html">\n        <source>Unavailable gateway(s)</source>\n        <target>Unavailable gateway(s)</target>\n      </trans-unit>\n      <trans-unit id="c49e0dd71d551bd4928d967d78f0721dbf9f95e3" datatype="html">\n        <source>Target has active sessions</source>\n        <target>Cíl má aktivní relace</target>\n      </trans-unit>\n      <trans-unit id="a87acd72dfb68b45175270695209550a85adf50c" datatype="html">\n        <source>iSCSI target</source>\n        <target>iSCSI cíl</target>\n      </trans-unit>\n      <trans-unit id="873b72903b1858a9cd6c8967521030b4d7d1435b" datatype="html">\n        <source>State</source>\n        <target>Stav</target>\n      </trans-unit>\n      <trans-unit id="02b75464c0dc0cf49ea0208211b6fbcad3bf728a" datatype="html">\n        <source># Targets</source>\n        <target>Počet cílů</target>\n      </trans-unit>\n      <trans-unit id="13415637c325ceefee29111b31cb48701490adf7" datatype="html">\n        <source>Read Bytes</source>\n        <target>Bajtů čtení</target>\n      </trans-unit>\n      <trans-unit id="e2ed82b7bbf4a006e60e6208c597b05d5b5556e9" datatype="html">\n        <source>Write Bytes</source>\n        <target>Bajtů zápis</target>\n      </trans-unit>\n      <trans-unit id="6a32a5f58845ca840185ea9564682094e77a1d80" datatype="html">\n        <source>Read Ops</source>\n        <target>Operací/s čtení</target>\n      </trans-unit>\n      <trans-unit id="7c36cb8032af123d3550ffab2e1fa1e957c87fae" datatype="html">\n        <source>Write Ops</source>\n        <target>Operací/s zápis</target>\n      </trans-unit>\n      <trans-unit id="458c33846a8c7e2feb9404bcf06723784e756cdc" datatype="html">\n        <source>A/O Since</source>\n        <target>A/O od</target>\n      </trans-unit>\n      <trans-unit id="ff78f059449d44322f627d0f66df07abe476962b" datatype="html">\n        <source>Instance</source>\n        <target>Instance</target>\n      </trans-unit>\n      <trans-unit id="36fad7995cadfb3a6f0d43ef2db280146b3ca022" datatype="html">\n        <source>Issue</source>\n        <target>Problém</target>\n      </trans-unit>\n      <trans-unit id="15793f4cbc261bedbc60f7105533dde536a3f42b" datatype="html">\n        <source>Progress</source>\n        <target>Ukazatel postupu</target>\n      </trans-unit>\n      <trans-unit id="25b725dba712a7a020fd34a72297befae975a492" datatype="html">\n        <source>Edit Site Name</source>\n        <target>Edit Site Name</target>\n      </trans-unit>\n      <trans-unit id="8c375764db42f5d736fb56d01b8052c006ccc8e2" datatype="html">\n        <source>Edit Mode</source>\n        <target>Upravit režim</target>\n      </trans-unit>\n      <trans-unit id="45932f2a0ea524b3425f4320ee46a6d1c68977bc" datatype="html">\n        <source>Add Peer</source>\n        <target>Přidat protějšek</target>\n      </trans-unit>\n      <trans-unit id="d3dc34662e3cda0dad646221651cebd26f731485" datatype="html">\n        <source>Edit Peer</source>\n        <target>Upravit protějšek</target>\n      </trans-unit>\n      <trans-unit id="e8a0ec0b6ee72db0f27c186e09640d1ed41964bd" datatype="html">\n        <source>Delete Peer</source>\n        <target>Smazat protějšek</target>\n      </trans-unit>\n      <trans-unit id="314de06d6f64d39149e78e6d796585c0246fec0b" datatype="html">\n        <source>Leader</source>\n        <target>Vedoucí</target>\n      </trans-unit>\n      <trans-unit id="7acaab450312114059ced9e3737798ee9aa738b1" datatype="html">\n        <source># Local</source>\n        <target>Počet místních</target>\n      </trans-unit>\n      <trans-unit id="7a3ffd88868135c44be3994263bb8e49d8358884" datatype="html">\n        <source># Remote</source>\n        <target>Počet vzdálených</target>\n      </trans-unit>\n      <trans-unit id="85ca0fd6a6ddd211023c70a25753122c5b978787" datatype="html">\n        <source>mirror peer</source>\n        <target>zrcadlit protějšek</target>\n      </trans-unit>\n      <trans-unit id="a6493c6ca346cd052da40423eda9c132de2b2002" datatype="html">\n        <source>Key</source>\n        <target>Klíč</target>\n      </trans-unit>\n      <trans-unit id="e9cac80fb5d9de66f0006d0bec530fd1fc69a674" datatype="html">\n        <source>RBD</source>\n        <target>RBD</target>\n      </trans-unit>\n      <trans-unit id="4130b1a836f2000cfe9a11fb62493dc42d444de7" datatype="html">\n        <source>Deep flatten</source>\n        <target>Hluboké zploštění</target>\n      </trans-unit>\n      <trans-unit id="7b17694d7cb8ecb7c8440bc999dac21b44455b33" datatype="html">\n        <source>Layering</source>\n        <target>Vrstvení</target>\n      </trans-unit>\n      <trans-unit id="6a072ce577c2079d0e0c31071a16824f6d22b84d" datatype="html">\n        <source>Exclusive lock</source>\n        <target>Výhradní zámek</target>\n      </trans-unit>\n      <trans-unit id="7354f01320bf936a7f85577c9f71402635c3a362" datatype="html">\n        <source>Object map (requires exclusive-lock)</source>\n        <target>Mapa objektů (vyžaduje výhradní zámek)</target>\n      </trans-unit>\n      <trans-unit id="fb7e625c1152f1c102cd16460955d124edff1770" datatype="html">\n        <source>Journaling (requires exclusive-lock)</source>\n        <target>Žurnálování (vyžaduje výhradní zámek)</target>\n      </trans-unit>\n      <trans-unit id="df4044632bfc211dd96544fc8f007dabbeeb506c" datatype="html">\n        <source>Fast diff (interlocked with object-map)</source>\n        <target>Fast diff (interlocked with object-map)</target>\n      </trans-unit>\n      <trans-unit id="130fd872c78271a8f86b1ab16a76e823969c47d9" datatype="html">\n        <source>Namespace</source>\n        <target>Namespace</target>\n      </trans-unit>\n      <trans-unit id="14abc99daed542774633046c53b6ce8251331141" datatype="html">\n        <source>This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.</source>\n        <target>This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.</target>\n      </trans-unit>\n      <trans-unit id="51699f716cf34e6622ff7bfd84641480c045271a" datatype="html">\n        <source>Created namespace \'\n          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>\'\n        </source>\n        <target>Created namespace \'\n          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="bf44b7d6379ce0198ed3d95a27642a224181bf1d" datatype="html">\n        <source>Total images</source>\n        <target>Total images</target>\n      </trans-unit>\n      <trans-unit id="371ce3ffe62548d15e391a248bc554d903bb03fc" datatype="html">\n        <source>Deleted namespace \'\n          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>\'\n        </source>\n        <target>Deleted namespace \'\n          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="9d704fd00ca929f90c3119cefc581821ae58a73e" datatype="html">\n        <source>Namespace contains images</source>\n        <target>Namespace contains images</target>\n      </trans-unit>\n      <trans-unit id="c2017dc94b4f57a347ccb126e546e88942f4d7a6" datatype="html">\n        <source>RBD Snapshot</source>\n        <target>RBD Snapshot</target>\n      </trans-unit>\n      <trans-unit id="631fc50ec7c9bd81dc797a3c7e09eda1178ad999" datatype="html">\n        <source>Parent image must support Layering</source>\n        <target>Je třeba, aby nadřazený obraz podporoval vrstvy</target>\n      </trans-unit>\n      <trans-unit id="cb60c1cd3655234756b5b92d4d597d92d520ee30" datatype="html">\n        <source>PROTECTED</source>\n        <target>CHRÁNĚNO</target>\n      </trans-unit>\n      <trans-unit id="deffb86b8fb0541254ad5a43862d82bff6b6a6c4" datatype="html">\n        <source>UNPROTECTED</source>\n        <target>NECHRÁNĚNO</target>\n      </trans-unit>\n      <trans-unit id="7eb984588f4835f6d0187b33769b4b0f62821640" datatype="html">\n        <source>RBD snapshot rollback</source>\n        <target>Vrácení zachyceného stavu RBD zpět</target>\n      </trans-unit>\n      <trans-unit id="4be22bf20ef82614ed53bcd3b912a85590aa71c9" datatype="html">\n        <source>Rollback</source>\n        <target>Vrácení zpět</target>\n      </trans-unit>\n      <trans-unit id="2a04c483708d261751d62082d6f03a50d4577b1e" datatype="html">\n        <source>RBD snapshot</source>\n        <target>Zachycený stav RBD</target>\n      </trans-unit>\n      <trans-unit id="fa96769d1ea86741297cb9b9769b0dcfde58c8b4" datatype="html">\n        <source>Deleted At</source>\n        <target>Smazáno v</target>\n      </trans-unit>\n      <trans-unit id="e928864038ca70ee7d67bbf1fd71a01c3938a127" datatype="html">\n        <source>id</source>\n        <target>identif.</target>\n      </trans-unit>\n      <trans-unit id="240c9c1e96dc38814922a83ad041dc815b084f32" datatype="html">\n        <source>type</source>\n        <target>typ</target>\n      </trans-unit>\n      <trans-unit id="c9d7ec7ee5b4e282f2228fa996651ec4ef5195a9" datatype="html">\n        <source>state</source>\n        <target>stav</target>\n      </trans-unit>\n      <trans-unit id="5780e5c3b4fc2ae07836bb5221cec4f8d597630d" datatype="html">\n        <source>version</source>\n        <target>verze</target>\n      </trans-unit>\n      <trans-unit id="fe22ca53e651df951dac25b67c17894b0980f767" datatype="html">\n        <source>Host</source>\n        <target>Stroj</target>\n      </trans-unit>\n      <trans-unit id="fb69299354312c8954ecf324997ccafcd9f6b14b" datatype="html">\n        <source>root</source>\n        <target>kořen</target>\n      </trans-unit>\n      <trans-unit id="d34feb369d308075b423d5c5fc431f9766bf7a11" datatype="html">\n        <source>Evicted client "\n          <x id="INTERPOLATION" equiv-text="{{clientId}}"/>"\n        </source>\n        <target>Evicted client "\n          <x id="INTERPOLATION" equiv-text="{{clientId}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="7db875ff4cc626d394f37fba95c075b2e4bfeb00" datatype="html">\n        <source>Standby daemons</source>\n        <target>Procesy služeb v pohotovosti</target>\n      </trans-unit>\n      <trans-unit id="3c3a423d91e36ac6624e909fcd2669a25685f847" datatype="html">\n        <source>Rank</source>\n        <target>Hodnocení</target>\n      </trans-unit>\n      <trans-unit id="9596ecae8956e96921acef47aec787f6bdc37454" datatype="html">\n        <source>Daemon</source>\n        <target>Proces služby</target>\n      </trans-unit>\n      <trans-unit id="f2005fa461c06dc2e04d8918bbabedf23604b5b7" datatype="html">\n        <source>Activity</source>\n        <target>Aktivita</target>\n      </trans-unit>\n      <trans-unit id="e3a986984ae0c3b43af648c3fa638649d1c00348" datatype="html">\n        <source>Dentries</source>\n        <target>Struktury složek</target>\n      </trans-unit>\n      <trans-unit id="7c692ab865066967d73c6d64ec0691cc6ce91b93" datatype="html">\n        <source>Inodes</source>\n        <target>I-uzlů</target>\n      </trans-unit>\n      <trans-unit id="45f210b96a2a6e91f52f153a4f8dc30662629f8e" datatype="html">\n        <source>Usage</source>\n        <target>Využití</target>\n      </trans-unit>\n      <trans-unit id="950b5f04a2efd3f11c0f76418d5a4212381e792e" datatype="html">\n        <source>Origin</source>\n        <target>Původ</target>\n      </trans-unit>\n      <trans-unit id="2ea2ec95d93fd55d0db6e9d2b95b25e153d4cec2" datatype="html">\n        <source>Max size</source>\n        <target>Max size</target>\n      </trans-unit>\n      <trans-unit id="665dced3a61bca44924a0bde4be47390225a4898" datatype="html">\n        <source>Max files</source>\n        <target>Max files</target>\n      </trans-unit>\n      <trans-unit id="0ccf776baac60794b142526986f3af85848c7059" datatype="html">\n        <source>The inherited \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/> is the maximum value to be used.\n        </source>\n        <target>The inherited \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/> is the maximum value to be used.\n        </target>\n      </trans-unit>\n      <trans-unit id="b0e2ef28384f2de6674cac300c779f900929a89b" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{action}}"/> CephFS \n          <x id="INTERPOLATION_1" equiv-text="{{quotaName}}"/> quota for \'\n          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>\'\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{action}}"/> CephFS \n          <x id="INTERPOLATION_1" equiv-text="{{quotaName}}"/> quota for \'\n          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="542ef638499635dec7641bdc2e499258094187cc" datatype="html">\n        <source>size</source>\n        <target>size</target>\n      </trans-unit>\n      <trans-unit id="ce90ff00c341d8eef96b0e7956bb85b8faba3839" datatype="html">\n        <source>files</source>\n        <target>files</target>\n      </trans-unit>\n      <trans-unit id="fbe8b9340c08c24aef62ffe81c83e2b46a4f1495" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{quotaName}}"/> quota \n          <x id="INTERPOLATION_1" equiv-text="{{value}}"/> from \'\n          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>\'\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{quotaName}}"/> quota \n          <x id="INTERPOLATION_1" equiv-text="{{value}}"/> from \'\n          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="37c2c0a4a356465eef2edfb09ffffc6db5259975" datatype="html">\n        <source>Value has to be at least \n          <x id="INTERPOLATION" equiv-text="{{value}}"/> or more\n        </source>\n        <target>Value has to be at least \n          <x id="INTERPOLATION" equiv-text="{{value}}"/> or more\n        </target>\n      </trans-unit>\n      <trans-unit id="73f8e64703a707e2cf98b9a10653cd3bbdd8cab1" datatype="html">\n        <source>Value has to be at most \n          <x id="INTERPOLATION" equiv-text="{{value}}"/> or less\n        </source>\n        <target>Value has to be at most \n          <x id="INTERPOLATION" equiv-text="{{value}}"/> or less\n        </target>\n      </trans-unit>\n      <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc" datatype="html">\n        <source>Updated</source>\n        <target>Aktualizováno</target>\n      </trans-unit>\n      <trans-unit id="b6a4cf4f302c7fcbec199ce0df42b8282d682b04" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{action}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{quotaValue}}"/>\n          <x id="INTERPOLATION_2" equiv-text="{{conclusion}}"/>.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{action}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{quotaValue}}"/>\n          <x id="INTERPOLATION_2" equiv-text="{{conclusion}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="a40024afb071f68fec949094a71f832d5611bca5" datatype="html">\n        <source>in order to inherit \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>\n        </source>\n        <target>in order to inherit \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="c108ff588291e9c040adea2adf35e7236cf29925" datatype="html">\n        <source>which isn\'t used because of the inheritance of \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>\n        </source>\n        <target>which isn\'t used because of the inheritance of \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="d3785a64d1c72b03b2212855ce695b45ed0342d2" datatype="html">\n        <source>in order to have no quota on the directory</source>\n        <target>in order to have no quota on the directory</target>\n      </trans-unit>\n      <trans-unit id="c4d3a3446a7f36825291c5e76c4a6b7919f9bd2f" datatype="html">\n        <source>Create Snapshot</source>\n        <target>Create Snapshot</target>\n      </trans-unit>\n      <trans-unit id="e9af734e231b837d64df21008e2eb1fdff566a61" datatype="html">\n        <source>Please enter the name of the snapshot.</source>\n        <target>Please enter the name of the snapshot.</target>\n      </trans-unit>\n      <trans-unit id="8c4d3039e6a953b0d6f1b1313ffa60c5d2b35dc7" datatype="html">\n        <source>Created snapshot "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "\n          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"\n        </source>\n        <target>Created snapshot "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "\n          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="126ad894f74ee9a999825f3f4ac5a31fdfc093bf" datatype="html">\n        <source>CephFs Snapshot</source>\n        <target>CephFs Snapshot</target>\n      </trans-unit>\n      <trans-unit id="1e4d1c0865adc485260740c42ac5af68ce8feb13" datatype="html">\n        <source>Deleted snapshot "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "\n          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"\n        </source>\n        <target>Deleted snapshot "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "\n          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="22e4e574b7f8abf58254f328792445b42e2a924a" datatype="html">\n        <source>The value can be updated at runtime.</source>\n        <target>Hodnotu je možné aktualizovat za chodu.</target>\n      </trans-unit>\n      <trans-unit id="d7770de7b2343c9deeaa7ebf37ba3e35ca5c5988" datatype="html">\n        <source>Daemons/clients do not pull this value from the\n      monitor config database. We disallow setting this option via \'ceph config\n      set ...\'. This option should be configured via ceph.conf or via the\n      command line.</source>\n        <target>Procesy služeb / klienti nezískávají tuto hodnotu\n      z databáze nastavení monitoru. Není umožněno nastavit tuto volbu\n      prostřednictvím „ceph config set …\'. Tato volba by měla být nastavena\n      z příkazového řádku.</target>\n      </trans-unit>\n      <trans-unit id="83f11fd1dc503c37931ea6c1c5c1e8c2b4b597b6" datatype="html">\n        <source>Option takes effect only during daemon startup.</source>\n        <target>Volba se uplatní pouze při spouštění procesu služby.</target>\n      </trans-unit>\n      <trans-unit id="837a07cd6a971038b8b1aa190c43440c9fdb5d8b" datatype="html">\n        <source>Option only affects cluster creation.</source>\n        <target>Volba ovlivní pouze vytváření klastru.</target>\n      </trans-unit>\n      <trans-unit id="2566a88eb247c918b71cfe5b354c31de0d4b01e5" datatype="html">\n        <source>Option only affects daemon creation.</source>\n        <target>Volba ovlivní pouze vytvoření procesu služby.</target>\n      </trans-unit>\n      <trans-unit id="1cdc60cfc09c257625768f3d2082816cdef27279" datatype="html">\n        <source>Updated config option \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\n        </source>\n        <target>Aktualizována volba nastavení \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="d473e0f684a60db45d6f31e993f693f74290e056" datatype="html">\n        <source>Service</source>\n        <target>Služba</target>\n      </trans-unit>\n      <trans-unit id="6986e0df8092d822ac2c076520d83994c78834fc" datatype="html">\n        <source>Modified</source>\n        <target>Modified</target>\n      </trans-unit>\n      <trans-unit id="9951bb3983c7dba6fde013e05c922e4fe1a44367" datatype="html">\n        <source>Current value</source>\n        <target>Stávající hodnota</target>\n      </trans-unit>\n      <trans-unit id="4a01c175f90dd92b432f4a4a199d2c7bb9d997ff" datatype="html">\n        <source>Editable</source>\n        <target>Upravitelné</target>\n      </trans-unit>\n      <trans-unit id="261c0af854e8684abc15f89dce6efb3e72344b18" datatype="html">\n        <source>host</source>\n        <target>stroj</target>\n      </trans-unit>\n      <trans-unit id="b1b381321d4cef04605d3e6e8847ea2b72a03799" datatype="html">\n        <source>Identify</source>\n        <target>Identify</target>\n      </trans-unit>\n      <trans-unit id="a5d5e407f8c4e1b152509c966c90f37edf68472e" datatype="html">\n        <source>Device path</source>\n        <target>Popis umístění zařízení</target>\n      </trans-unit>\n      <trans-unit id="b7da3e3505cc80f9bf3cffc8444c53e8a9ec70a5" datatype="html">\n        <source>Available</source>\n        <target>K dispozici</target>\n      </trans-unit>\n      <trans-unit id="396974120fc614fc930a27c8d15a094d82a3a9e4" datatype="html">\n        <source>Vendor</source>\n        <target>Vendor</target>\n      </trans-unit>\n      <trans-unit id="6ec98fa3d6504ba1fd03465194b53706c8263c99" datatype="html">\n        <source>Model</source>\n        <target>Model</target>\n      </trans-unit>\n      <trans-unit id="f2d785f5658c96c6a2f505cdd625108bcece84c3" datatype="html">\n        <source>Identify device \n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\n        </source>\n        <target>Identify device \n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="c97ab45ca09248f8f1ba60328175741657fe39ce" datatype="html">\n        <source>Please enter the duration how long to blink the LED.</source>\n        <target>Please enter the duration how long to blink the LED.</target>\n      </trans-unit>\n      <trans-unit id="87e56ee5057023d7e8b59420b838bad112b043bc" datatype="html">\n        <source>1 minute</source>\n        <target>1 minute</target>\n      </trans-unit>\n      <trans-unit id="affa3b3bf1f36531e5ae65291f8a7cd1b06860ee" datatype="html">\n        <source>2 minutes</source>\n        <target>2 minutes</target>\n      </trans-unit>\n      <trans-unit id="878c6645b7fc26d85c7aee17a9d8c282a938dcf3" datatype="html">\n        <source>5 minutes</source>\n        <target>5 minutes</target>\n      </trans-unit>\n      <trans-unit id="aa0a76140961594b7176ade241e5025a7dbb5dce" datatype="html">\n        <source>10 minutes</source>\n        <target>10 minutes</target>\n      </trans-unit>\n      <trans-unit id="0a7f83a1f27750ef634a1f1f97263fac36113b1f" datatype="html">\n        <source>15 minutes</source>\n        <target>15 minutes</target>\n      </trans-unit>\n      <trans-unit id="699b690d686dbb8e00a1e95b89ba2fffb548da6e" datatype="html">\n        <source>Execute</source>\n        <target>Execute</target>\n      </trans-unit>\n      <trans-unit id="aa975a86dd49979a3ae90b9f3fc5b2c97311d422" datatype="html">\n        <source>Identifying \'\n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\' started on host \'\n          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>\'\n        </source>\n        <target>Identifying \'\n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\' started on host \'\n          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="1a6e6ad05508130b7a99ce5b15daf3227c2a930c" datatype="html">\n        <source>Updated options for module "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>".\n        </source>\n        <target>Aktualizována volba pro modul „\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>“\n        </target>\n      </trans-unit>\n      <trans-unit id="6bd47ff8707aa2e6a94a4a6e2566b86dc7956d5f" datatype="html">\n        <source>Always-On</source>\n        <target>Always-On</target>\n      </trans-unit>\n      <trans-unit id="ac6c9212896d39b23811ed2dadab7d07336ec559" datatype="html">\n        <source>Enable</source>\n        <target>Zapnout</target>\n      </trans-unit>\n      <trans-unit id="6766a926d80bb7763785621098dae459d6226429" datatype="html">\n        <source>Disable</source>\n        <target>Vypnout</target>\n      </trans-unit>\n      <trans-unit id="340f2f312c2eb353e5cd69aee6bee7f5a73c34ac" datatype="html">\n        <source>This Manager module is always on.</source>\n        <target>Modul Zpráva je vždy zapnutý.</target>\n      </trans-unit>\n      <trans-unit id="6a0b3657745dd7a2f2162f1cc790bf9004d0845d" datatype="html">\n        <source>Reconnecting, please wait ...</source>\n        <target>Opětovné připojování, čekejte…</target>\n      </trans-unit>\n      <trans-unit id="7099a8878af7a0a26fe5663c4f46cfe87142b75d" datatype="html">\n        <source>Public Address</source>\n        <target>Veřejná adresa</target>\n      </trans-unit>\n      <trans-unit id="cbdd1cdc0c7a87f55dd177bc44212f0fc4b80852" datatype="html">\n        <source>Open Sessions</source>\n        <target>Otevřené relace</target>\n      </trans-unit>\n      <trans-unit id="34c6f45591d420b1101dcee53999d1de91c0e400" datatype="html">\n        <source>No available devices</source>\n        <target>No available devices</target>\n      </trans-unit>\n      <trans-unit id="dcfe8807a2a1d0d7074a02afe9b80645bd03b9ab" datatype="html">\n        <source>Please add primary devices first</source>\n        <target>Please add primary devices first</target>\n      </trans-unit>\n      <trans-unit id="05d024719e53f85f7f294b7e21dfd805709a0b06" datatype="html">\n        <source>Add devices by using filters</source>\n        <target>Add devices by using filters</target>\n      </trans-unit>\n      <trans-unit id="37e58d1cbdf8212b380efa51422e42821d4f08e6" datatype="html">\n        <source>No In</source>\n        <target>Počet do</target>\n      </trans-unit>\n      <trans-unit id="12706eb5af17ff5ad77b3de21af368d24678e00b" datatype="html">\n        <source>OSDs that were previously marked out will not be marked back in when they start</source>\n        <target>OSD které byly dříve odznačeny nebudou označeny nazpět když spustí</target>\n      </trans-unit>\n      <trans-unit id="96114d7624d11dc90ca46cfa96145fe22118df76" datatype="html">\n        <source>No Out</source>\n        <target>Počet ven</target>\n      </trans-unit>\n      <trans-unit id="a2ef636fe1ddd56b63e4aaf3d292f33dbf735ef3" datatype="html">\n        <source>OSDs will not automatically be marked out after the configured interval</source>\n        <target>OSD nebudou automaticky odznačeny po nastaveném intervalu</target>\n      </trans-unit>\n      <trans-unit id="ee50aefa9b8bde1e5429b48709a23abfe08358e0" datatype="html">\n        <source>No Up</source>\n        <target>Počet aktivních</target>\n      </trans-unit>\n      <trans-unit id="608929b939307e397586a98cea52ae38997c7273" datatype="html">\n        <source>OSDs are not allowed to start</source>\n        <target>OSD není dovoleno spuštění</target>\n      </trans-unit>\n      <trans-unit id="1751ab69c1e7f62927afedbf7116e0116316c551" datatype="html">\n        <source>No Down</source>\n        <target>Počet neaktivních</target>\n      </trans-unit>\n      <trans-unit id="41fac86dfb65c1db690f3e87f6497cb73b281084" datatype="html">\n        <source>OSD failure reports are being ignored, such that the monitors will not mark OSDs down</source>\n        <target>Hlášení o selhání OSD jsou ignorovány, jako například že monitory OSD neoznačí jako nedostupné</target>\n      </trans-unit>\n      <trans-unit id="b2838c6165a9672a17db188f4dd9676574353dd8" datatype="html">\n        <source>Pause</source>\n        <target>Pozastavit</target>\n      </trans-unit>\n      <trans-unit id="191d71dadcc8790573d46706a0b48211de4b8334" datatype="html">\n        <source>Pauses reads and writes</source>\n        <target>Pozastavit čtení a zápisy</target>\n      </trans-unit>\n      <trans-unit id="471d5ba75836f38c19992cf83d8822632d99e473" datatype="html">\n        <source>No Scrub</source>\n        <target>Žádná kontrola</target>\n      </trans-unit>\n      <trans-unit id="5b8caa61814121bc36dac0c34a9e9de3cae74990" datatype="html">\n        <source>Scrubbing is disabled</source>\n        <target>Kontrola je vypnutá</target>\n      </trans-unit>\n      <trans-unit id="7f29a0ac1c797bdc0347dd5d0734ba83e96e7ce6" datatype="html">\n        <source>No Deep Scrub</source>\n        <target>Žádná hloubková kontrola</target>\n      </trans-unit>\n      <trans-unit id="01da61ab216541a8d31259cebd16b10c7e5fc124" datatype="html">\n        <source>Deep Scrubbing is disabled</source>\n        <target>Hloubková kontrola je vypnutá</target>\n      </trans-unit>\n      <trans-unit id="0b86c7f18ac725de62c7e192dcfccd02c0dc40ab" datatype="html">\n        <source>No Backfill</source>\n        <target>Žádné zasypávání</target>\n      </trans-unit>\n      <trans-unit id="bd33a2bdc8fbed3b7469f3717c16d9aaa2851fdd" datatype="html">\n        <source>Backfilling of PGs is suspended</source>\n        <target>Zasypávání skupin umístění je pozastaveno</target>\n      </trans-unit>\n      <trans-unit id="df526de2b93c4099a30c200ef551608e39ee5256" datatype="html">\n        <source>No Rebalance</source>\n        <target>No Rebalance</target>\n      </trans-unit>\n      <trans-unit id="c5b70346245f8d52b58e5e7fe222ce82f12429ce" datatype="html">\n        <source>OSD will choose not to backfill unless PG is also degraded</source>\n        <target>OSD will choose not to backfill unless PG is also degraded</target>\n      </trans-unit>\n      <trans-unit id="7fbbd036394cfa623add40299757bc87df8eaa7e" datatype="html">\n        <source>No Recover</source>\n        <target>Žádné obnovení</target>\n      </trans-unit>\n      <trans-unit id="f3ee9b451a64dca47299c9b4ae1091c2008068ad" datatype="html">\n        <source>Recovery of PGs is suspended</source>\n        <target>Obnovování skupin umístění je pozastaveno</target>\n      </trans-unit>\n      <trans-unit id="de904148fe7e8d812218f50333ffe247900617c5" datatype="html">\n        <source>Bitwise Sort</source>\n        <target>Bitové třídění</target>\n      </trans-unit>\n      <trans-unit id="2613c9fde29785bcd75f0abeccb653d14d7527b3" datatype="html">\n        <source>Use bitwise sort</source>\n        <target>Třídit podle bitů</target>\n      </trans-unit>\n      <trans-unit id="2fe10d84250aeee365db244251d40934c70ff1e9" datatype="html">\n        <source>Purged Snapdirs</source>\n        <target>Vyčištěné složky zachycených stavů</target>\n      </trans-unit>\n      <trans-unit id="6b22a5b780eda3c5d500cdac9c6d4f96978c38f1" datatype="html">\n        <source>OSDs have converted snapsets</source>\n        <target>OSD mají převedené sady zachycených stavů</target>\n      </trans-unit>\n      <trans-unit id="c42f0ba60564dc5b977a8c7f3fdcde9efbb39c60" datatype="html">\n        <source>Recovery Deletes</source>\n        <target>Smazáno při zotavování</target>\n      </trans-unit>\n      <trans-unit id="72fe39979198ea2ed6db6274b5029025cb316d90" datatype="html">\n        <source>Deletes performed during recovery instead of peering</source>\n        <target>Mazání provedená při obnovování namísto peeringu</target>\n      </trans-unit>\n      <trans-unit id="1bb4a1f9127cefe624c173557a716d0ebb6d647c" datatype="html">\n        <source>PG Log Hard Limit</source>\n        <target>Nepřekročitelný limit záznamu událostí PG</target>\n      </trans-unit>\n      <trans-unit id="e03c0321397fdf7a9c22e8d6b5015424943c0a57" datatype="html">\n        <source>Puts a hard limit on pg log length</source>\n        <target>Zapne nepřekročitelný limit na délku záznamu událostí v pg</target>\n      </trans-unit>\n      <trans-unit id="3c384e2e80c6b5eb24861fbf4225b69486cff4a3" datatype="html">\n        <source>Updated OSD Flags</source>\n        <target>Aktualizovány OSD příznaky</target>\n      </trans-unit>\n      <trans-unit id="948758e1412bb2ecdb98e3a4f1cbb6d7458456f2" datatype="html">\n        <source>Encryption</source>\n        <target>Encryption</target>\n      </trans-unit>\n      <trans-unit id="c8b1475105463088593de1022ff6dceb523eae0e" datatype="html">\n        <source>OSD</source>\n        <target>OSD</target>\n      </trans-unit>\n      <trans-unit id="688578fcc739d6f0c5fb6c366dbb19d21c6d9e36" datatype="html">\n        <source>out</source>\n        <target>ven</target>\n      </trans-unit>\n      <trans-unit id="cb0f69bdd4dea41d7d45c74b6e07f98de8a2ab26" datatype="html">\n        <source>in</source>\n        <target>dovnitř</target>\n      </trans-unit>\n      <trans-unit id="b5fbc7c7f007dd53b2318525bb7ff8b0376c9e37" datatype="html">\n        <source>down</source>\n        <target>nedostupné</target>\n      </trans-unit>\n      <trans-unit id="b58719bcb9184e1a7884d00d22d10899d59bf295" datatype="html">\n        <source>Mark</source>\n        <target>Značka</target>\n      </trans-unit>\n      <trans-unit id="31a1c1aa03f1e5084750bedb4e3fdc04ce2cb6ca" datatype="html">\n        <source>OSD lost</source>\n        <target>OSD ztraceno</target>\n      </trans-unit>\n      <trans-unit id="f3fc4c85c5b8f1dedea0496b72d0af9da7b9e0d9" datatype="html">\n        <source>marked lost</source>\n        <target>označeno jako ztracené</target>\n      </trans-unit>\n      <trans-unit id="40fedc157ad899a18ec40573f770d18b040959d2" datatype="html">\n        <source>Purge</source>\n        <target>Vyčistit</target>\n      </trans-unit>\n      <trans-unit id="4f3cff08c7033b63bbccfe66006b1bcaea48ddd8" datatype="html">\n        <source>purged</source>\n        <target>vyčištěno</target>\n      </trans-unit>\n      <trans-unit id="8e5d1b01eca6dce26a4751f0b19bda7a6ab8db5b" datatype="html">\n        <source>destroy</source>\n        <target>zlikvidovat</target>\n      </trans-unit>\n      <trans-unit id="495a06b78bf165a7b545fa002137f0846b094a3d" datatype="html">\n        <source>destroyed</source>\n        <target>zlikvidováno</target>\n      </trans-unit>\n      <trans-unit id="70ef158c584bafe788e319a0bffa11b02ee9abf1" datatype="html">\n        <source>delete</source>\n        <target>smazat</target>\n      </trans-unit>\n      <trans-unit id="a5b387f5a15b95e339df10fc23526c659a2b6c6f" datatype="html">\n        <source>deleted</source>\n        <target>deleted</target>\n      </trans-unit>\n      <trans-unit id="107614b994f2b01abdc1ca179bf780b0cd933ec4" datatype="html">\n        <source>Recovery Priority</source>\n        <target>Priorita zotavování</target>\n      </trans-unit>\n      <trans-unit id="359dad5a3a912ef9dece3194035020856805aa96" datatype="html">\n        <source>PG scrub</source>\n        <target>PG scrub</target>\n      </trans-unit>\n      <trans-unit id="953144c420c2e5abd02e6a687433eac60fa852bd" datatype="html">\n        <source>PGs</source>\n        <target>skupiny umístění</target>\n      </trans-unit>\n      <trans-unit id="7d3523ea9d35c274cef84043de8a2fdde540a9a1" datatype="html">\n        <source>Read bytes</source>\n        <target>Přečteno bajtů</target>\n      </trans-unit>\n      <trans-unit id="f15bf7f588f09ca79795b17bc244e8d336f28171" datatype="html">\n        <source>Write bytes</source>\n        <target>Zapsáno bajtů</target>\n      </trans-unit>\n      <trans-unit id="f3c33322823c846b13f59ba2c8f234405bba99e1" datatype="html">\n        <source>Read ops</source>\n        <target>Operací/s čtení</target>\n      </trans-unit>\n      <trans-unit id="7e0b24a17546cbfab48b03dc874461d1ca68bc9a" datatype="html">\n        <source>Write ops</source>\n        <target>Operací/s zápis</target>\n      </trans-unit>\n      <trans-unit id="b27d1dd31789610130b7cdbf88c4da552cffe936" datatype="html">\n        <source>Edit OSD: \n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\n        </source>\n        <target>Edit OSD: \n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="986f1379580078e77666d10f8ddf4f839c6ca71d" datatype="html">\n        <source>Edit OSD</source>\n        <target>Edit OSD</target>\n      </trans-unit>\n      <trans-unit id="a4b09e2fa39c3e4f1a387f191fbae4eea3ce7bf5" datatype="html">\n        <source>Updated OSD "\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>"\n        </source>\n        <target>Updated OSD "\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="d45455406092f58e6b089cb440b5b7934b801a01" datatype="html">\n        <source>Mark OSD \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </source>\n        <target>Označit OSD \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="de0b7806e451b3b3dbd564decba59981fe781c18" datatype="html">\n        <source>Mark \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </source>\n        <target>Označit \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="bba1d3bb4f8a47aa2b3068e242562196eadb1e83" datatype="html">\n        <source>PG scrub options</source>\n        <target>PG scrub options</target>\n      </trans-unit>\n      <trans-unit id="b0b7748ebc9b7a6942a8cac4a89d4b215b365878" datatype="html">\n        <source>Updated PG scrub options</source>\n        <target>Updated PG scrub options</target>\n      </trans-unit>\n      <trans-unit id="4edc2162af0bd6cd941eaf730d20a7e3b5a83ba7" datatype="html">\n        <source>Max Backfills</source>\n        <target>Max Backfills</target>\n      </trans-unit>\n      <trans-unit id="eb5e6c24a48a1dfe23e0a772b762be5e949c0c8a" datatype="html">\n        <source>Recovery Max Active</source>\n        <target>Recovery Max Active</target>\n      </trans-unit>\n      <trans-unit id="4a23c6d3859e03184118620d2baeb736ac765fbf" datatype="html">\n        <source>Recovery Max Single Start</source>\n        <target>Recovery Max Single Start</target>\n      </trans-unit>\n      <trans-unit id="97049169ef5228fd1724de2fcdad1fec2858eaf8" datatype="html">\n        <source>Recovery Sleep</source>\n        <target>Uspání zotavení</target>\n      </trans-unit>\n      <trans-unit id="89553524f4e7db5c437b07dcfdc7b831d56ded1a" datatype="html">\n        <source>Updated OSD recovery speed priority "\n          <x id="INTERPOLATION" equiv-text="{{value}}"/>"\n        </source>\n        <target>Aktualizována rychlost zotavení OSD „\n          <x id="INTERPOLATION" equiv-text="{{value}}"/>“\n        </target>\n      </trans-unit>\n      <trans-unit id="ccf5f30798c03d2d8efd0e6eb508320c018b722d" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{operation}}"/> was initialized in the following OSD(s): \n          <x id="INTERPOLATION_1" equiv-text="{{id}}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{operation}}"/> was initialized in the following OSD(s): \n          <x id="INTERPOLATION_1" equiv-text="{{id}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="3bc2d18913479965cb046ec75e2ac3f7b7a77ce5" datatype="html">\n        <source>Create Silence</source>\n        <target>Create Silence</target>\n      </trans-unit>\n      <trans-unit id="78917e8031aaf913ac3fa63295325ce8879703ce" datatype="html">\n        <source>Job</source>\n        <target>Úloha</target>\n      </trans-unit>\n      <trans-unit id="94287619205068b591c18493c64781424864c259" datatype="html">\n        <source>Severity</source>\n        <target>Závažnost</target>\n      </trans-unit>\n      <trans-unit id="e6cfbe0c5e0302ba2cec22315f6a28f8ac46b651" datatype="html">\n        <source>Started</source>\n        <target>Zahájeno</target>\n      </trans-unit>\n      <trans-unit id="801b98c6f02fe3b32f6afa3ee854c99ed83474e6" datatype="html">\n        <source>URL</source>\n        <target>URL adresa</target>\n      </trans-unit>\n      <trans-unit id="d9f726c70aeba7fa6d3d68bff718abe78b1e50ac" datatype="html">\n        <source>Query</source>\n        <target>Query</target>\n      </trans-unit>\n      <trans-unit id="a5cd682a8a33bdc72e093d059429e3cc3a50ec1d" datatype="html">\n        <source>silence</source>\n        <target>ticho</target>\n      </trans-unit>\n      <trans-unit id="f557e117e059e7036c6eecacd325a6ae35d866e0" datatype="html">\n        <source>Attribute name</source>\n        <target>Název atributu</target>\n      </trans-unit>\n      <trans-unit id="50f7f517ad8158667f7d4e2bd6f3256e05156e75" datatype="html">\n        <source>Regular expression</source>\n        <target>Regulární výraz</target>\n      </trans-unit>\n      <trans-unit id="81b1eab399c47110d50f45e3ccb4c009de7cb581" datatype="html">\n        <source>Please add your Prometheus host to the dashboard configuration and refresh the page</source>\n        <target>Přidejte hostitele s Prometheus do nastavení přehledu a znovu načtete stránku</target>\n      </trans-unit>\n      <trans-unit id="29b4ae3296e239446fa0dea88a5112de15cffa54" datatype="html">\n        <source>Created by</source>\n        <target>Vytvořil(a)</target>\n      </trans-unit>\n      <trans-unit id="8d833cceee0ba4c5161b130365e02bc1e129b57e" datatype="html">\n        <source>Ends</source>\n        <target>Končí</target>\n      </trans-unit>\n      <trans-unit id="46a11ff4289e8c88b1b7a935f8d8ee704055f11a" datatype="html">\n        <source>Silence</source>\n        <target>Ticho</target>\n      </trans-unit>\n      <trans-unit id="f2ea47d702c7f5e3e5fa751bf9959e21030b72e6" datatype="html">\n        <source>Daemon type</source>\n        <target>Daemon type</target>\n      </trans-unit>\n      <trans-unit id="6c131968e6ab730d86443e6fc11c5cc2a76d7bac" datatype="html">\n        <source>Daemon ID</source>\n        <target>Daemon ID</target>\n      </trans-unit>\n      <trans-unit id="5738f0ca7ddd9594058ce051b1d5d576e2782825" datatype="html">\n        <source>Container ID</source>\n        <target>Container ID</target>\n      </trans-unit>\n      <trans-unit id="78ebcf850cd440c5efc15e6a3a522ae75aeff669" datatype="html">\n        <source>Container Image name</source>\n        <target>Container Image name</target>\n      </trans-unit>\n      <trans-unit id="ea0c7ab9a7bdf646d494abf8c85fbf67d934d079" datatype="html">\n        <source>Container Image ID</source>\n        <target>Container Image ID</target>\n      </trans-unit>\n      <trans-unit id="bf2468fd965b8a59c135ad549b3a612aa9873abc" datatype="html">\n        <source>Status Description</source>\n        <target>Popis stavu</target>\n      </trans-unit>\n      <trans-unit id="19867330bdc84096f5a93ab087a1766476c8a074" datatype="html">\n        <source>Last Refreshed</source>\n        <target>Last Refreshed</target>\n      </trans-unit>\n      <trans-unit id="2349ee2027ab6ceb3e4b8834928562075b7e1ac7" datatype="html">\n        <source>Container image name</source>\n        <target>Container image name</target>\n      </trans-unit>\n      <trans-unit id="3c475503fb93338811af6b3d9ccacca1d7334609" datatype="html">\n        <source>Container image ID</source>\n        <target>Container image ID</target>\n      </trans-unit>\n      <trans-unit id="8dd15f6c73c05a8b0bd7b6d416487ab6570b88c8" datatype="html">\n        <source>Running</source>\n        <target>Running</target>\n      </trans-unit>\n      <trans-unit id="fb2e1bed329dc5b84197808c778abb9edcbdb335" datatype="html">\n        <source>Used</source>\n        <target>Použito</target>\n      </trans-unit>\n      <trans-unit id="4f1ab04d9100fb0df0e62b921ec46ae052ae29fc" datatype="html">\n        <source>Avail.</source>\n        <target>K dispozici</target>\n      </trans-unit>\n      <trans-unit id="a1c9b3d4fa67450fe9afd1d726f8a1bd91d990ea" datatype="html">\n        <source>Clean</source>\n        <target>Čisté</target>\n      </trans-unit>\n      <trans-unit id="0054f5460090d6dde385e8f099d598df5d28cf54" datatype="html">\n        <source>Working</source>\n        <target>Pracující</target>\n      </trans-unit>\n      <trans-unit id="a8059e31694578c1b0344a76a345357dd60e8f01" datatype="html">\n        <source>Warning</source>\n        <target>Varování</target>\n      </trans-unit>\n      <trans-unit id="e5d8bb389c702588877f039d72178f219453a72d" datatype="html">\n        <source>Unknown</source>\n        <target>Neznámé</target>\n      </trans-unit>\n      <trans-unit id="88155be1b9b9c6140d6e8f93bac4a775cfdc6671" datatype="html">\n        <source>Healthy</source>\n        <target>Zdravé</target>\n      </trans-unit>\n      <trans-unit id="8a3aec4dc1a6e2d4c612ae85e0537acbb20a0f85" datatype="html">\n        <source>Misplaced</source>\n        <target>Chybně umístěno</target>\n      </trans-unit>\n      <trans-unit id="ee81f9bf7ceac69712e0b83e8adc268739f9673e" datatype="html">\n        <source>Degraded</source>\n        <target>Degradováno</target>\n      </trans-unit>\n      <trans-unit id="14625bc4025daef1969777a67a3cca27e0cd9167" datatype="html">\n        <source>Unfound</source>\n        <target>Odnalezeno</target>\n      </trans-unit>\n      <trans-unit id="8f23ea509d081c2f747d083d44608dbf125b2ea2" datatype="html">\n        <source>replicas</source>\n        <target>repliky</target>\n      </trans-unit>\n      <trans-unit id="129a2224e1f9d19eb5e11e2a07fe10a785556484" datatype="html">\n        <source>up</source>\n        <target>aktivní</target>\n      </trans-unit>\n      <trans-unit id="d5f29cf0af691726483262d647eb6622be002512" datatype="html">\n        <source>no filesystems</source>\n        <target>žádné souborové systémy</target>\n      </trans-unit>\n      <trans-unit id="b1c4387ffab06f3fa9fdb4411aea955595538d44" datatype="html">\n        <source>active</source>\n        <target>aktivní</target>\n      </trans-unit>\n      <trans-unit id="1aaf7054d826f2cb05ec3e88a5a4b8116861e1f5" datatype="html">\n        <source>standby</source>\n        <target>v pohotovosti</target>\n      </trans-unit>\n      <trans-unit id="c9a1080024dca344a48acdb77fa2d54e059f7254" datatype="html">\n        <source>n/a</source>\n        <target>neaplikovatelné</target>\n      </trans-unit>\n      <trans-unit id="84a1787b6df375847c70f782861d7e7f8f43bff4" datatype="html">\n        <source>active daemon</source>\n        <target>aktivní proces služby</target>\n      </trans-unit>\n      <trans-unit id="24407dc2ebfafaf6b131ee978683b893c3f1d763" datatype="html">\n        <source>quorum</source>\n        <target>kvórum</target>\n      </trans-unit>\n      <trans-unit id="2fa50bc07995c6ea660412294298ded39fcb08d9" datatype="html">\n        <source>The NFS Ganesha service is not configured.</source>\n        <target>Služba NFS Ganesha není nastavena.</target>\n      </trans-unit>\n      <trans-unit id="af1396bdc49f45ea6c4a1e414769f5e2a382c834" datatype="html">\n        <source>Transport</source>\n        <target>Transport</target>\n      </trans-unit>\n      <trans-unit id="b6a0e176d96c4feed2e975a039c044fcf822e152" datatype="html">\n        <source>CephFS User</source>\n        <target>CephFS uživatel</target>\n      </trans-unit>\n      <trans-unit id="44dc610cf201a163e8c38da810acec9596930bb3" datatype="html">\n        <source>CephFS Filesystem</source>\n        <target>Souborový systém CephFS</target>\n      </trans-unit>\n      <trans-unit id="db6dc7124be83c7055cb0f2719e31f2f9d46fd3d" datatype="html">\n        <source>(inherited from global config)</source>\n        <target>(převzato z globálního nastavení)</target>\n      </trans-unit>\n      <trans-unit id="e1f97bb86f991553ec7b535cb39e7eaa99dfcfe2" datatype="html">\n        <source>inherited from global config</source>\n        <target>převzato z globálního nastavení</target>\n      </trans-unit>\n      <trans-unit id="e751800766277e7c2edd652cec7a7a1a68a37852" datatype="html">\n        <source>-- Select what kind of user id squashing is performed --</source>\n        <target>-- Vyberte jaký druh squashování identifikátor uživatele je prováděn --</target>\n      </trans-unit>\n      <trans-unit id="4b58387f911e8a7b135a0c4d76c70335c65bbb32" datatype="html">\n        <source>There are no daemons available.</source>\n        <target>Nejsou k dispozici žádné procesy služeb.</target>\n      </trans-unit>\n      <trans-unit id="18ae8dc1264f06df7ea251175ada2ac1b8401018" datatype="html">\n        <source>NFS export</source>\n        <target>NFS export</target>\n      </trans-unit>\n      <trans-unit id="c56d51748965db5f3966cd1d06a1c9f4b5244931" datatype="html">\n        <source>Crush Rule</source>\n        <target>Crush Rule</target>\n      </trans-unit>\n      <trans-unit id="ae128527ec18892f812a62a1fd15dc50a38060c0" datatype="html">\n        <source>EC Profile</source>\n        <target>EC profil</target>\n      </trans-unit>\n      <trans-unit id="60fb10c145f9c7ede2b9ddf9b2b0b0f6191d0ebd" datatype="html">\n        <source>Cache Mode</source>\n        <target>Režim mezipaměti</target>\n      </trans-unit>\n      <trans-unit id="fa5bfad31d4139f6871443bb74324ffda5cad3e6" datatype="html">\n        <source>Min Evict Age</source>\n        <target>Min Evict Age</target>\n      </trans-unit>\n      <trans-unit id="fd0eb851666df45c34c76fabcda79b0d77bc910b" datatype="html">\n        <source>Min Flush Age</source>\n        <target>Min Flush Age</target>\n      </trans-unit>\n      <trans-unit id="cb54d2c420a534cee0c308ea5589f8c394ef8d67" datatype="html">\n        <source>Target Max Bytes</source>\n        <target>Nejvýše bajtů cíle</target>\n      </trans-unit>\n      <trans-unit id="07f4ebe6615dca466818ffdae2a69ee217d265fb" datatype="html">\n        <source>Target Max Objects</source>\n        <target>Nejvýše objektů cíle</target>\n      </trans-unit>\n      <trans-unit id="eaa8f4df53cf7fa78d078e20a701d10f3dccd77d" datatype="html">\n        <source>No applications added</source>\n        <target>Nebyla přidána žádná aplikace</target>\n      </trans-unit>\n      <trans-unit id="321c2a7640f11177ea49b0857b94c4b70830c0e6" datatype="html">\n        <source>Applications limit reached</source>\n        <target>Dosažen limit aplikací</target>\n      </trans-unit>\n      <trans-unit id="519d27742b74fadc8336777452f78891e98aa1dc" datatype="html">\n        <source>A pool can only have up to four applications definitions.</source>\n        <target>Fond může mít nejvýše čtyři definice aplikací.</target>\n      </trans-unit>\n      <trans-unit id="b5bec3813f0d45daa7eb9471272969e1bc3e734e" datatype="html">\n        <source>Allowed characters \'_a-zA-Z0-9\'</source>\n        <target>Použitelné znaky „_a-zA-Z0-9“</target>\n      </trans-unit>\n      <trans-unit id="807472d29602a0085bce62e534bd66208982c2e2" datatype="html">\n        <source>Maximum length is 128 characters</source>\n        <target>Nejvyšší délka je 128 znaků</target>\n      </trans-unit>\n      <trans-unit id="37785748b9ac9ad1d3e4b111ac502c3284afe84b" datatype="html">\n        <source>Filter or add applications</source>\n        <target>Filtrovat nebo přidat aplikace</target>\n      </trans-unit>\n      <trans-unit id="38c7b8610ca87835e13eeee6a09ba1c414cd5cb9" datatype="html">\n        <source>Add application</source>\n        <target>Přidat aplikaci</target>\n      </trans-unit>\n      <trans-unit id="db8c42f077700d8a94619fad9f4c94b7361d5f1d" datatype="html">\n        <source>pool</source>\n        <target>fond</target>\n      </trans-unit>\n      <trans-unit id="65bb2be83261bc4798853bbccdedc110c43feea7" datatype="html">\n        <source>erasure code profile</source>\n        <target>profil mazacího kódu</target>\n      </trans-unit>\n      <trans-unit id="ae48e19a9a2acaca4b5ea594451bc9b0b01ec8d2" datatype="html">\n        <source>crush rule</source>\n        <target>crush rule</target>\n      </trans-unit>\n      <trans-unit id="112d356ad6846959ca4aa5ec9a1f0d9d473b24ec" datatype="html">\n        <source>Replica Size</source>\n        <target>Velikost repliky</target>\n      </trans-unit>\n      <trans-unit id="ec50492db341fa752b023d8c924601286b6c9c0c" datatype="html">\n        <source>Last Change</source>\n        <target>Nejnovější změna</target>\n      </trans-unit>\n      <trans-unit id="563a8c136a9d423bc7ae1269a404d6da5fd83dad" datatype="html">\n        <source>Erasure Coded Profile</source>\n        <target>Mazáním kódovaný profil</target>\n      </trans-unit>\n      <trans-unit id="0ad7f0662956cff61ac1208f92b1a0305b1b2e58" datatype="html">\n        <source>Crush Ruleset</source>\n        <target>Sada crush pravidel</target>\n      </trans-unit>\n      <trans-unit id="bcc365a084b6145b941b371bd4c2b6c3d2c79234" datatype="html">\n        <source>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</source>\n        <target>Smazání fondu je vypnuto nastavením mon_allow_pool_delete configuration.</target>\n      </trans-unit>\n      <trans-unit id="44939fd05cedfd077db886528b755e77d5fa3885" datatype="html">\n        <source>bucket</source>\n        <target>nádoba</target>\n      </trans-unit>\n      <trans-unit id="84fee774286ec4191311f1277075455c3ea5e2e2" datatype="html">\n        <source>Updated Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>".\n        </source>\n        <target>Updated Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="2d7a43674f0bbc131c9e555ec16ac37fa0445d76" datatype="html">\n        <source>Created Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>"\n        </source>\n        <target>Vytvořena nádoba objektové brány „\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>“\n        </target>\n      </trans-unit>\n      <trans-unit id="ec40d74ecfb1d6d60455af6805c9a714a3f5750a" datatype="html">\n        <source>buckets</source>\n        <target>nádoby</target>\n      </trans-unit>\n      <trans-unit id="764585d5595bac113582ee14a6fd07006770ceb1" datatype="html">\n        <source>capability</source>\n        <target>schopnost</target>\n      </trans-unit>\n      <trans-unit id="0914cbe18bae204217e1851be6d2d24d86e74605" datatype="html">\n        <source>user</source>\n        <target>uživatel</target>\n      </trans-unit>\n      <trans-unit id="d8c86dc5e48a63590d9c94e19f90b5f8325cbd49" datatype="html">\n        <source>subuser</source>\n        <target>dílčí uživatel</target>\n      </trans-unit>\n      <trans-unit id="f45a3de8a8b40d161cc36a55d77548a27107ca04" datatype="html">\n        <source>S3 Key</source>\n        <target>S3 klíč</target>\n      </trans-unit>\n      <trans-unit id="854a763265e92f91ba3ccee1a0e8d823be584f7c" datatype="html">\n        <source>Updated Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </source>\n        <target>Aktualizován uživatel objektové brány „\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>“\n        </target>\n      </trans-unit>\n      <trans-unit id="84ab3fd641e65e39cffee0ec722a059ed284229e" datatype="html">\n        <source>Created Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </source>\n        <target>Vytvořen uživatel objektové brány „\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>“\n        </target>\n      </trans-unit>\n      <trans-unit id="7c7f4be7b726e61c577e63842a58d9e435f7c597" datatype="html">\n        <source>users</source>\n        <target>uživatelé</target>\n      </trans-unit>\n      <trans-unit id="9f7760223efd77806f1bbaf963e6993bb4bc6a0a" datatype="html">\n        <source>Swift Key</source>\n        <target>Swift klíč</target>\n      </trans-unit>\n      <trans-unit id="6462d8f12b427c29363f00b12f20f566be24937c" datatype="html">\n        <source>Device ID</source>\n        <target>Device ID</target>\n      </trans-unit>\n      <trans-unit id="82f12bf23db4bb82db89877bebe93954bc1c8fb0" datatype="html">\n        <source>State of Health</source>\n        <target>State of Health</target>\n      </trans-unit>\n      <trans-unit id="7bd34bd120146afef0e0d8fa168d9bdabd594b6a" datatype="html">\n        <source>Good</source>\n        <target>Good</target>\n      </trans-unit>\n      <trans-unit id="31c59dce114ec0a9d02552ef7b81920b3de36793" datatype="html">\n        <source>Bad</source>\n        <target>Bad</target>\n      </trans-unit>\n      <trans-unit id="2862af5284f66d4b06bdcf77a5519141723b6989" datatype="html">\n        <source>Stale</source>\n        <target>Stale</target>\n      </trans-unit>\n      <trans-unit id="8d8e819b52984a4fbdec75a99eb28d1ae4323bbc" datatype="html">\n        <source>Life Expectancy</source>\n        <target>Life Expectancy</target>\n      </trans-unit>\n      <trans-unit id="72d9b15be18ea063e78c4e855b9e8c0af95593ef" datatype="html">\n        <source>Prediction Creation Date</source>\n        <target>Prediction Creation Date</target>\n      </trans-unit>\n      <trans-unit id="a6b4ef85e5ff8bd192751c7bbebc54c46118d6d4" datatype="html">\n        <source>Device Name</source>\n        <target>Device Name</target>\n      </trans-unit>\n      <trans-unit id="d5fd840374ca1a6f394bcd81f390a6dca27f8224" datatype="html">\n        <source>An error with error code \n          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.\n        </source>\n        <target>Vyskytla se chyba s kódem \n          <x id="INTERPOLATION" equiv-text="{{code}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="a0b59d7139692bb8d8ed786b6eb6e9e70ce743f3" datatype="html">\n        <source>Raw</source>\n        <target>Nezpracované</target>\n      </trans-unit>\n      <trans-unit id="2f3beddc8234b30fb26a7f63ba2f1ea74f2ed6f7" datatype="html">\n        <source>Threshold</source>\n        <target>Práh</target>\n      </trans-unit>\n      <trans-unit id="4654b5a68af3c8bad29aa14ca85ccea1f3143c6b" datatype="html">\n        <source>When Failed</source>\n        <target>Když se nezdařilo</target>\n      </trans-unit>\n      <trans-unit id="5b7f56d5be49fb8e8d8f40209d6746f8f72e9177" datatype="html">\n        <source>Worst</source>\n        <target>Nejhorší</target>\n      </trans-unit>\n      <trans-unit id="1481b8488e10dbc437accce89d2ae35a0106e8ba" datatype="html">\n        <source>Scope</source>\n        <target>Rozsah</target>\n      </trans-unit>\n      <trans-unit id="9b1d5e95f6bdcfb4b737413f5fa157e0dcb103d5" datatype="html">\n        <source>Read</source>\n        <target>Čtení</target>\n      </trans-unit>\n      <trans-unit id="70a67e04629f6d412db0a12d51820b480788d795" datatype="html">\n        <source>Create</source>\n        <target>Vytvořit</target>\n      </trans-unit>\n      <trans-unit id="dc4fba275819619ee78e8eae14d357ea69ba7477" datatype="html">\n        <source>role</source>\n        <target>role</target>\n      </trans-unit>\n      <trans-unit id="fe6ee93173884201ec62d62ba173c3de85ae177e" datatype="html">\n        <source>Created role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Vytvořena role „\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>“\n        </target>\n      </trans-unit>\n      <trans-unit id="41c032df0732f4318f8213fabd0719ac347d4b6c" datatype="html">\n        <source>Updated role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Aktualizována role „\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>“\n        </target>\n      </trans-unit>\n      <trans-unit id="50e22b5289f79f1417369403345c9fa9911a4557" datatype="html">\n        <source>System Role</source>\n        <target>Systémová role</target>\n      </trans-unit>\n      <trans-unit id="7f132668e2dbfcf616381d2daf59d1a6f2698102" datatype="html">\n        <source>Deleted role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Smazána role „\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>“\n        </target>\n      </trans-unit>\n      <trans-unit id="bd15b8d5c0fa160161728eefbbb585710414d471" datatype="html">\n        <source>New name</source>\n        <target>New name</target>\n      </trans-unit>\n      <trans-unit id="6f126277f3dc22a3ab3609c4c198386c8744e11a" datatype="html">\n        <source>Clone Role</source>\n        <target>Clone Role</target>\n      </trans-unit>\n      <trans-unit id="d19d8320479854bc52877cdf0dc5ecfe34a36ec7" datatype="html">\n        <source>Cloned role \'\n          <x id="INTERPOLATION" equiv-text="{{dst_name}}"/>\' from \'\n          <x id="INTERPOLATION_1" equiv-text="{{src_name}}"/>\'\n        </source>\n        <target>Cloned role \'\n          <x id="INTERPOLATION" equiv-text="{{dst_name}}"/>\' from \'\n          <x id="INTERPOLATION_1" equiv-text="{{src_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="2e35d60a14ce0b470e8b54602864a867f7fcef40" datatype="html">\n        <source>There are no roles.</source>\n        <target>Nejsou zde žádné role.</target>\n      </trans-unit>\n      <trans-unit id="d2362a49d2434ce137bf19dab004251b7fd9c7b3" datatype="html">\n        <source>Created user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Vytvořen uživatel „\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>“\n        </target>\n      </trans-unit>\n      <trans-unit id="9910122dfedd2eaa544a990f1430e5b82a76d99f" datatype="html">\n        <source>Update user</source>\n        <target>Aktualizovat uživatele</target>\n      </trans-unit>\n      <trans-unit id="ac10a3d9b59575640797c1a8e6aea642cf5d5e77" datatype="html">\n        <source>Continue</source>\n        <target>Pokračovat</target>\n      </trans-unit>\n      <trans-unit id="cf4bcf4ce3d551e6099ccdc3546ae418fe5f8038" datatype="html">\n        <source>You were automatically logged out because your roles have been changed.</source>\n        <target>Byli jste automaticky odhlášeni protože vaše role byly změněny.</target>\n      </trans-unit>\n      <trans-unit id="0f6003fb0c1cc73b89d225801cc1b870945cd259" datatype="html">\n        <source>Updated user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Aktualizován uživatel „\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>“\n        </target>\n      </trans-unit>\n      <trans-unit id="fe516c6d820018fdc971113935e22ec1e852965f" datatype="html">\n        <source>Deleted user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Smazán uživatel „\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>“\n        </target>\n      </trans-unit>\n      <trans-unit id="01a7e11502ff80421ef3615e533ea14ef57e1d5c" datatype="html">\n        <source>Failed to delete user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Nepodařilo se smazat uživatele „\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>“\n        </target>\n      </trans-unit>\n      <trans-unit id="63316a3861dbcb035147efc1b9fb6bc708242e94" datatype="html">\n        <source>You are currently logged in as "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>".\n        </source>\n        <target>Nyní jste přihlášení jako „\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>“.\n        </target>\n      </trans-unit>\n      <trans-unit id="d8b81951d25439864e92f750f7c99d7426d6517c" datatype="html">\n        <source>password</source>\n        <target>heslo</target>\n      </trans-unit>\n      <trans-unit id="d361a9b5e1f7985a12c0433388f31626525a02b8" datatype="html">\n        <source>Updated user password"</source>\n        <target>Aktualizované heslo uživatele"</target>\n      </trans-unit>\n      <trans-unit id="c4e596a44ffc4718c1602600d6e4f029190eb031" datatype="html">\n        <source>The name of the node under which data should be placed.</source>\n        <target>The name of the node under which data should be placed.</target>\n      </trans-unit>\n      <trans-unit id="f24772ba1091155f8d7025332ca8456a204d1e28" datatype="html">\n        <source>The type of CRUSH nodes across which we should separate replicas.</source>\n        <target>The type of CRUSH nodes across which we should separate replicas.</target>\n      </trans-unit>\n      <trans-unit id="a3896042af461a80091c3f7a5fe3fff5ac40a3a0" datatype="html">\n        <source>The device class data should be placed on.</source>\n        <target>The device class data should be placed on.</target>\n      </trans-unit>\n      <trans-unit id="1d7fbcc3d5efc946ffbcf86fed04c4e20dda20fb" datatype="html">\n        <source>Each object is split in data-chunks parts, each stored on a different OSD.</source>\n        <target>Každý objekt je rozdělen v částech shluků dat, každé uložené na jiném OSD.</target>\n      </trans-unit>\n      <trans-unit id="b1f8ed4e216585f1f9134740002ef3c8501debd8" datatype="html">\n        <source>Compute coding chunks for each object and store them on different OSDs.\n      The number of coding chunks is also the number of OSDs that can be down without losing data.</source>\n        <target>Počítat kódovací shluky pro každý objekt a ukládat je na různých OSD.\n      Počet kódovacích shluků je také počet OSD, které mohou vypadnou, aniž dojde ke ztrátě dat.</target>\n      </trans-unit>\n      <trans-unit id="c437ee74a9a8e781e1380153f742a685e3b8cc5e" datatype="html">\n        <source>The jerasure plugin is the most generic and flexible plugin,\n          it is also the default for Ceph erasure coded pools.</source>\n        <target>Zásuvný modul jerasure je nejobecnější a nejpřizpůsobivější,\n je také výchozí pro Ceph fondy kódované mazáním.</target>\n      </trans-unit>\n      <trans-unit id="8c7e19322851402afa67e41f4f1d4e531caf1bf5" datatype="html">\n        <source>The more flexible technique is reed_sol_van : it is enough to set k\n          and m. The cauchy_good technique can be faster but you need to chose the packetsize\n          carefully. All of reed_sol_r6_op, liberation, blaum_roth, liber8tion are RAID6 equivalents\n          in the sense that they can only be configured with m=2.</source>\n        <target>Přizpůsobivější technikou je reed_sol_van: postačí nastvit k\n          a m. Technika cauchy_good technique může být rychlejší, ale je třeba pečlivě nastavit velikost\n          paketu. Všechny z reed_sol_r6_op, liberation, blaum_roth, liber8tion jsou ekvivalenty RAID6\n          v tom smyslu, že je možné je nastavit pouze s m=2.</target>\n      </trans-unit>\n      <trans-unit id="b1b11f49281b4e79219b4eecfbcb033cb15bd880" datatype="html">\n        <source>The encoding will be done on packets of bytes size at a time.\n          Chosing the right packet size is difficult.\n          The jerasure documentation contains extensive information on this topic.</source>\n        <target>The encoding will be done on packets of bytes size at a time.\n          Chosing the right packet size is difficult.\n          The jerasure documentation contains extensive information on this topic.</target>\n      </trans-unit>\n      <trans-unit id="d9cb3bc07a25b26fbea457e0a7b543340bc13c49" datatype="html">\n        <source>With the jerasure plugin, when an erasure coded object is stored on\n          multiple OSDs, recovering from the loss of one OSD requires reading from all the others.\n          For instance if jerasure is configured with k=8 and m=4, losing one OSD requires reading\n          from the eleven others to repair.\n\n          The lrc erasure code plugin creates local parity chunks to be able to recover using\n          less OSDs. For instance if lrc is configured with k=8, m=4 and l=4, it will create\n          an additional parity chunk for every four OSDs. When a single OSD is lost, it can be\n          recovered with only four OSDs instead of eleven.</source>\n        <target>With the jerasure plugin, when an erasure coded object is stored on\n          multiple OSDs, recovering from the loss of one OSD requires reading from all the others.\n          For instance if jerasure is configured with k=8 and m=4, losing one OSD requires reading\n          from the eleven others to repair.\n\n          The lrc erasure code plugin creates local parity chunks to be able to recover using\n          less OSDs. For instance if lrc is configured with k=8, m=4 and l=4, it will create\n          an additional parity chunk for every four OSDs. When a single OSD is lost, it can be\n          recovered with only four OSDs instead of eleven.</target>\n      </trans-unit>\n      <trans-unit id="813959d46e63a29bbd266b3af2ff9414c2ef553c" datatype="html">\n        <source>Group the coding and data chunks into sets of size locality. For instance,\n          for k=4 and m=2, when locality=3 two groups of three are created. Each set can\n          be recovered without reading chunks from another set.</source>\n        <target>Group the coding and data chunks into sets of size locality. For instance,\n          for k=4 and m=2, when locality=3 two groups of three are created. Each set can\n          be recovered without reading chunks from another set.</target>\n      </trans-unit>\n      <trans-unit id="f0ff63d92e0a1b4d4b51e31b9133802d160a5f4c" datatype="html">\n        <source>The type of the crush bucket in which each set of chunks defined\n          by l will be stored. For instance, if it is set to rack, each group of l chunks will be\n          placed in a different rack. It is used to create a CRUSH rule step such as step choose\n          rack. If it is not set, no such grouping is done.</source>\n        <target>The type of the crush bucket in which each set of chunks defined\n          by l will be stored. For instance, if it is set to rack, each group of l chunks will be\n          placed in a different rack. It is used to create a CRUSH rule step such as step choose\n          rack. If it is not set, no such grouping is done.</target>\n      </trans-unit>\n      <trans-unit id="3ece48df9d1e9a98f98bf3c5cc66e8b637020a4d" datatype="html">\n        <source>The isa plugin encapsulates the ISA library. It only runs on Intel processors.</source>\n        <target>Zásuvný modul isa obaluje knihovnu ISA. Funguje pouze na procesorech Intel.</target>\n      </trans-unit>\n      <trans-unit id="4472c9e31bfc7d96a83dc4afce0a6e885c99e839" datatype="html">\n        <source>The ISA plugin comes in two Reed Solomon forms.\n          If reed_sol_van is set, it is Vandermonde, if cauchy is set, it is Cauchy.</source>\n        <target>Zásuvný modul ISA přichází ve dvou Reed Solomon podobách.\n          Pokud je nastaveno reed_sol_van, je to Vandermonde, pokud je nastaveno Cauchy, je Cauchy.</target>\n      </trans-unit>\n      <trans-unit id="fa385f5ecf63083ec848dca8dc5e52bdc72ac6f6" datatype="html">\n        <source>The shec plugin encapsulates the multiple SHEC library.\n          It allows ceph to recover data more efficiently than Reed Solomon codes.</source>\n        <target>The shec plugin encapsulates the multiple SHEC library.\n          It allows ceph to recover data more efficiently than Reed Solomon codes.</target>\n      </trans-unit>\n      <trans-unit id="687b3cd94b3475c24ff4481d64d4739f902a377c" datatype="html">\n        <source>The number of parity chunks each of which includes each data chunk in its\n          calculation range. The number is used as a durability estimator. For instance, if c=2,\n          2 OSDs can be down without losing data.</source>\n        <target>Počet paritních shluků, ze kterých každý obsahuje každý shluk dat ve svém\n          výpočetním rozsahu. Číslo je použito pro odhad odolnosti. Například, pokud c=2,\n          2 OSD mohou vypadnou aniž by byla ztracena data.</target>\n      </trans-unit>\n      <trans-unit id="f3c4af6df91bdaabdb715f8f0b61a24faf73a3bc" datatype="html">\n        <source>The name of the crush bucket used for the first step of the CRUSH rule.\n      For instance step take default.</source>\n        <target>Název crush nádoby sloužící jako první krok CRUSH pravidla.\n Například krok vzít výchozí.</target>\n      </trans-unit>\n      <trans-unit id="e1059955a5ce65cdabf0c0a8207377e1f9bae57e" datatype="html">\n        <source>Ensure that no two chunks are in a bucket with the same failure\n      domain. For instance, if the failure domain is host no two chunks will be stored on the same\n      host. It is used to create a CRUSH rule step such as step chooseleaf host.</source>\n        <target>Zajistit, aby žádné dva shluky nebyly v nádobě nacházejícící se ve stejné\n      doméně selhání. Například, pokud doména selhání je hostitel, žádné dva shluky nebudou uloženy na stejném hostiteli\n      Je použito pro vytvoření kroku CRUSH pravidla jako krok chooseleaf hostitele.</target>\n      </trans-unit>\n      <trans-unit id="ac392ac9c6da5fde6da80fc57b9c09402fb6e73d" datatype="html">\n        <source>Restrict placement to devices of a specific class\n      (e.g., ssd or hdd), using the crush device class names in the CRUSH map.</source>\n        <target>Omezit umístění na zařízení určité třídy\n      (např., ssd nebo hdd), pomocí názvu crush třídy zařízení v  CRUSH mapě.</target>\n      </trans-unit>\n      <trans-unit id="62bcb9ae5583a088649b1adf5787a86ca3334f89" datatype="html">\n        <source>Set the directory name from which the erasure code plugin is loaded.</source>\n        <target>Nastavit složku ze které načítat zásuvný modul mazacího kódu.</target>\n      </trans-unit>\n      <trans-unit id="c8f10184a8433d132ede0a2c0c1aa96f291cacfa" datatype="html">\n        <source>Allows all operations</source>\n        <target>Umožnit všechny operace</target>\n      </trans-unit>\n      <trans-unit id="82077ee97c11ee76efc3adf253b7b26654544317" datatype="html">\n        <source>Allows only operations that do not modify the server</source>\n        <target>Umožnit pouze operace které neupraví server</target>\n      </trans-unit>\n      <trans-unit id="22b5212ec10449dbf0a0af0ad34122eac51b5f2a" datatype="html">\n        <source>Does not allow read or write operations, but allows any other operation</source>\n        <target>Neumožňuje operace čtení či zápisu, ale umožňuje ostatní</target>\n      </trans-unit>\n      <trans-unit id="9799d0f8c4b7727ae239fedfe3c0ce127feb7a50" datatype="html">\n        <source>Does not allow read, write, or any operation that modifies file        attributes or directory content</source>\n        <target>Neumožňuje čtení, zápis nebo jinou operaci která upravuje atributy        souboru nebo obsah složky</target>\n      </trans-unit>\n      <trans-unit id="aeddefe0af87025d8f00699aa94bed8216a99a58" datatype="html">\n        <source>Allows no access at all</source>\n        <target>Neumožnit vůbec žádný přístup</target>\n      </trans-unit>\n      <trans-unit id="a436c6a4025a749198e93cac239de8deede72211" datatype="html">\n        <source>-- Select the priority --</source>\n        <target>-- Vyberte prioritu --</target>\n      </trans-unit>\n      <trans-unit id="9556266f0a2b1762a44b686f2bb21dbfefb01c12" datatype="html">\n        <source>Low</source>\n        <target>Nízká</target>\n      </trans-unit>\n      <trans-unit id="72279141a67cc042d9864102b703216cc8a428a3" datatype="html">\n        <source>High</source>\n        <target>Vysoká</target>\n      </trans-unit>\n      <trans-unit id="6080b77234e92ad41bb52653b239c4c4f851317d" datatype="html">\n        <source>Error</source>\n        <target>Chyba</target>\n      </trans-unit>\n      <trans-unit id="c43dc1967a603fefb886149ac35863a06d5b4ce5" datatype="html">\n        <source>Information</source>\n        <target>Informace</target>\n      </trans-unit>\n      <trans-unit id="1e035e6ccfab771cad4226b2ad230cb0d4a88cba" datatype="html">\n        <source>Success</source>\n        <target>Úspěch</target>\n      </trans-unit>\n      <trans-unit id="61fd1cffcb763cbfd5829071723cf9b647174bd9" datatype="html">\n        <source>An error occurred.</source>\n        <target>An error occurred.</target>\n      </trans-unit>\n      <trans-unit id="e6ca3c0efaf51e6d45a7f92f58bac37140c3fda4" datatype="html">\n        <source>Last 5 minutes</source>\n        <target>Uplynulých 5 minut</target>\n      </trans-unit>\n      <trans-unit id="b0ecb2bbc548cc9bd95050fd8f0c84586d083fe2" datatype="html">\n        <source>Last 15 minutes</source>\n        <target>Uplynulých 15 minut</target>\n      </trans-unit>\n      <trans-unit id="857ae67deb51353120b203b0f2a06b0c48ef49fa" datatype="html">\n        <source>Last 30 minutes</source>\n        <target>Uplynulých 30 minut</target>\n      </trans-unit>\n      <trans-unit id="7b1738fad314e936dc14b94db8f43da736942308" datatype="html">\n        <source>Last 1 hour (Default)</source>\n        <target>Uplynulá 1 hodina (výchozí)</target>\n      </trans-unit>\n      <trans-unit id="a428288224389726cef9d9bd8d1d7808cccd7ffd" datatype="html">\n        <source>Last 3 hours</source>\n        <target>Uplynulé 3 hodiny</target>\n      </trans-unit>\n      <trans-unit id="7cbabecc8d80cf183ac199cfaeb7619d56e5d43f" datatype="html">\n        <source>Last 6 hours</source>\n        <target>Uplynulých 6 hodin</target>\n      </trans-unit>\n      <trans-unit id="1a389cdf64187d34cf99eec30a290e3fa7d4744f" datatype="html">\n        <source>Last 12 hours</source>\n        <target>Uplynulých 12 hodin</target>\n      </trans-unit>\n      <trans-unit id="9e0ba5f591380a94d594a76288f0c41aa97eb9c2" datatype="html">\n        <source>Last 24 hours</source>\n        <target>Uplynulých 24 hodin</target>\n      </trans-unit>\n      <trans-unit id="e430eda9c785cd43465b7cbb400ee914f1057247" datatype="html">\n        <source>Yesterday</source>\n        <target>Včera</target>\n      </trans-unit>\n      <trans-unit id="7fb1099e29660162f9154d5b2feee7743a423df6" datatype="html">\n        <source>Today</source>\n        <target>Dnes</target>\n      </trans-unit>\n      <trans-unit id="33904058a97a64bd189bed84038b1ffe719769c7" datatype="html">\n        <source>Today so far</source>\n        <target>Dnes doposud</target>\n      </trans-unit>\n      <trans-unit id="3b0b849be007510021d3d383df75bec95ef9c97b" datatype="html">\n        <source>Day before yesterday</source>\n        <target>Včerejšek</target>\n      </trans-unit>\n      <trans-unit id="6b430c2c394c4d32ebd7d46c8c46ab60e1b29ccb" datatype="html">\n        <source>Last 2 days</source>\n        <target>Uplynulé 2 dny</target>\n      </trans-unit>\n      <trans-unit id="d5e812a87a5d57a94200a2013027cab76a7c4863" datatype="html">\n        <source>This day last week</source>\n        <target>Tento den minulý týden</target>\n      </trans-unit>\n      <trans-unit id="d00edc936eeab6b5577401f115ca86ca2c87dc9a" datatype="html">\n        <source>Previous week</source>\n        <target>Předchozí týden</target>\n      </trans-unit>\n      <trans-unit id="b036e40577baa6b918b2267d319d4b3aeaa88a5a" datatype="html">\n        <source>This week</source>\n        <target>Tento týden</target>\n      </trans-unit>\n      <trans-unit id="99ad5a6096b3fcb3f021f3779bae710cdfeb8934" datatype="html">\n        <source>This week so far</source>\n        <target>Tento týden doposud</target>\n      </trans-unit>\n      <trans-unit id="02e0243b60007368f87dc01e083f232dd025096d" datatype="html">\n        <source>Last 7 days</source>\n        <target>Uplynulých 7 dnů</target>\n      </trans-unit>\n      <trans-unit id="c3b08b07b5ab98e7cdcf18df39355690ab7d3884" datatype="html">\n        <source>Previous month</source>\n        <target>Předchozí měsíc</target>\n      </trans-unit>\n      <trans-unit id="1b2562c6d5aa90644e7dc91feee82e2005fceb33" datatype="html">\n        <source>This month</source>\n        <target>Tento měsíc</target>\n      </trans-unit>\n      <trans-unit id="26b4b18c5917934abb169ba9aa490e57f7bf10b8" datatype="html">\n        <source>This month so far</source>\n        <target>Tento měsíc doposud</target>\n      </trans-unit>\n      <trans-unit id="7668986b9f753fcd72ad4a00b1a0c4861d1f7fb8" datatype="html">\n        <source>Last 30 days</source>\n        <target>Uplynulých 30 dnů</target>\n      </trans-unit>\n      <trans-unit id="ba1e822408d90c6fbd2989100fa648bfd5e8ee84" datatype="html">\n        <source>Last 90 days</source>\n        <target>Uplynulých 90 dnů</target>\n      </trans-unit>\n      <trans-unit id="c3df03f899a914c4181adcdc8a3f077424f7b6e8" datatype="html">\n        <source>Last 6 months</source>\n        <target>Uplynulých 6 měsíců</target>\n      </trans-unit>\n      <trans-unit id="7f9a92757580c9f31c309c0a3812ea429274eadf" datatype="html">\n        <source>Last 1 year</source>\n        <target>Uplynulý 1 rok</target>\n      </trans-unit>\n      <trans-unit id="5a9fede30ff65cb4b4426f6b1ed31afb67ecd7b0" datatype="html">\n        <source>Previous year</source>\n        <target>Předchozí rok</target>\n      </trans-unit>\n      <trans-unit id="65cefcc53d1f6445df7568e8a40c49165f1090ee" datatype="html">\n        <source>This year</source>\n        <target>Tento rok</target>\n      </trans-unit>\n      <trans-unit id="1f68b766944dc3865bddab765fe952b0c1c43f92" datatype="html">\n        <source>This year so far</source>\n        <target>Tento rok doposud</target>\n      </trans-unit>\n      <trans-unit id="4d4b77e614f8043fdadef5d6d235655bb48eb311" datatype="html">\n        <source>Last 2 years</source>\n        <target>Uplynulé 2 roky</target>\n      </trans-unit>\n      <trans-unit id="138afa339ea6e75d25a474affe1edbcb90e00ec0" datatype="html">\n        <source>Last 5 years</source>\n        <target>Uplynulých 5 let</target>\n      </trans-unit>\n      <trans-unit id="37391297bb077a6f84484930261b01a3ce38327b" datatype="html">\n        <source>No items selected.</source>\n        <target>Nevybrány žádné položky.</target>\n      </trans-unit>\n      <trans-unit id="2c1e52ee832661b4a0f570877d24661736b16af1" datatype="html">\n        <source>Deselect item to select again</source>\n        <target>Aby položku bylo možné znovu vybrat, je třeba nejprve zrušit její výběr</target>\n      </trans-unit>\n      <trans-unit id="c8c9c6e5918659336824bbdda3501c66eaa79a4c" datatype="html">\n        <source>Selection limit reached</source>\n        <target>Dosažen limit výběru</target>\n      </trans-unit>\n      <trans-unit id="02d184c288f567825a1fcbf83bcd3099a10853d5" datatype="html">\n        <source>Filter tags</source>\n        <target>Filtrovat štítky</target>\n      </trans-unit>\n      <trans-unit id="aa00748e49c269956837d6f3acdd8d218796a8d8" datatype="html">\n        <source>Add badge</source>\n        <target>Přidat odznak</target>\n      </trans-unit>\n      <trans-unit id="4078a92d8121abdce7d8f346a88914923ec835fc" datatype="html">\n        <source>There are no items available.</source>\n        <target>Nejsou k dispozici žádné položky.</target>\n      </trans-unit>\n      <trans-unit id="55dd9f44e64851bca3b7bfc9283a5ff36f030228" datatype="html">\n        <source>Set</source>\n        <target>Set</target>\n      </trans-unit>\n      <trans-unit id="019d4bd6a5690f0cfa0ecf346a4e6bf7f0d8debb" datatype="html">\n        <source>Remove</source>\n        <target>Odebrat</target>\n      </trans-unit>\n      <trans-unit id="e168fe6c468b3ad632731395ef89860274242844" datatype="html">\n        <source>Unset</source>\n        <target>Unset</target>\n      </trans-unit>\n      <trans-unit id="54a4a3132b693575728a45a5f3154ad4c9af404b" datatype="html">\n        <source>Clone</source>\n        <target>Klonovat</target>\n      </trans-unit>\n      <trans-unit id="1979da7460819153e11d2078244645d94291b69c" datatype="html">\n        <source>Copy</source>\n        <target>Kopírovat</target>\n      </trans-unit>\n      <trans-unit id="2e5e77dbaadd6588d8bbf737139fd9806294ae28" datatype="html">\n        <source>Deep Scrub</source>\n        <target>Hloubková kontrola</target>\n      </trans-unit>\n      <trans-unit id="bf463b189696c19769ea263227e6c22aefafb918" datatype="html">\n        <source>Destroy</source>\n        <target>Zlikvidovat</target>\n      </trans-unit>\n      <trans-unit id="b4e94d529ff10db4d86f3f48900fa67ede3411fd" datatype="html">\n        <source>Evict</source>\n        <target>Evict</target>\n      </trans-unit>\n      <trans-unit id="3747fff7faf52b436ecff5fb8555091736d92c70" datatype="html">\n        <source>Flatten</source>\n        <target>Zploštit</target>\n      </trans-unit>\n      <trans-unit id="66fdbf32e5449cc54a3d1e19c7b8f4ea238facfb" datatype="html">\n        <source>Mark Down</source>\n        <target>Označit</target>\n      </trans-unit>\n      <trans-unit id="0cda3e824fb2f9c731e5a60b859dedc1fe03127e" datatype="html">\n        <source>Mark In</source>\n        <target>Označit</target>\n      </trans-unit>\n      <trans-unit id="f833354f43cb38c5716faa8759a9bbdd1ab8f199" datatype="html">\n        <source>Mark Lost</source>\n        <target>Označit ztracené</target>\n      </trans-unit>\n      <trans-unit id="75fb9f970ba365398c45e57bbb1019c009f6b832" datatype="html">\n        <source>Mark Out</source>\n        <target>Odznačit</target>\n      </trans-unit>\n      <trans-unit id="45480c03b0a3a37ff8f6a5600a6a034b40fbaea4" datatype="html">\n        <source>Protect</source>\n        <target>Ochránit</target>\n      </trans-unit>\n      <trans-unit id="e26f9cf3666aace4e524b1505c9795d76d87738d" datatype="html">\n        <source>Rename</source>\n        <target>Přejmenovat</target>\n      </trans-unit>\n      <trans-unit id="d5cec7468241d72cafd86ad1af6d55b09a6e3ae5" datatype="html">\n        <source>Restore</source>\n        <target>Obnovit</target>\n      </trans-unit>\n      <trans-unit id="ba073985cfd2528c77a746ed596b2f2052b973c5" datatype="html">\n        <source>Move to Trash</source>\n        <target>Přesunout do koše</target>\n      </trans-unit>\n      <trans-unit id="3ea9b96a21a499d296a7f25407da0f3df6c2d5ed" datatype="html">\n        <source>Unprotect</source>\n        <target>Zrušit ochranu</target>\n      </trans-unit>\n      <trans-unit id="024cdb2814b0cb3f4ced148f1a0b9854447cb214" datatype="html">\n        <source>Change</source>\n        <target>Změnit</target>\n      </trans-unit>\n      <trans-unit id="011f3e2bfc1fd8407eb5f599352665bfeb145664" datatype="html">\n        <source>Recreate</source>\n        <target>Znovuvytvořit</target>\n      </trans-unit>\n      <trans-unit id="6df2dfa48bef5510c82fb43f4e71a7f9557f3d71" datatype="html">\n        <source>Expire</source>\n        <target>Ukončit platnost</target>\n      </trans-unit>\n      <trans-unit id="28df1b02fd88d2deb0212bc5d7ff34cf9492fa54" datatype="html">\n        <source>Deleted</source>\n        <target>Smazáno</target>\n      </trans-unit>\n      <trans-unit id="80e3b490720757978c99a7b5af3885faf202b955" datatype="html">\n        <source>Added</source>\n        <target>Přidáno</target>\n      </trans-unit>\n      <trans-unit id="1aa4883bc4f1352f7a0bdd94810a9bf6dc22bd02" datatype="html">\n        <source>Removed</source>\n        <target>Odebráno</target>\n      </trans-unit>\n      <trans-unit id="402f3ee47f98fbbc68530239b1ddcbb9e96a460c" datatype="html">\n        <source>Edited</source>\n        <target>Upraveno</target>\n      </trans-unit>\n      <trans-unit id="96d56ec71c6e78cb4d6204c4a9359a3d38fcdb59" datatype="html">\n        <source>Canceled</source>\n        <target>Zrušeno</target>\n      </trans-unit>\n      <trans-unit id="a3318a2ee2bd0064b6b9ff72a4018b679ec63125" datatype="html">\n        <source>Cloned</source>\n        <target>Naklonováno</target>\n      </trans-unit>\n      <trans-unit id="ef90545bc832876c0d7f9a10363c75137472bbb5" datatype="html">\n        <source>Copied</source>\n        <target>Zkopírováno</target>\n      </trans-unit>\n      <trans-unit id="5a13d3834133e09544ec93885662f181372dcf46" datatype="html">\n        <source>Deep Scrubbed</source>\n        <target>Deep Scrubbed</target>\n      </trans-unit>\n      <trans-unit id="7c9efb91434a5c15e9579c0b31c8e184b8c8240d" datatype="html">\n        <source>Destroyed</source>\n        <target>Zlikvidováno</target>\n      </trans-unit>\n      <trans-unit id="647059bf3ea098fffedf92ddfad792bb3daa3c95" datatype="html">\n        <source>Flattened</source>\n        <target>Zploštěno</target>\n      </trans-unit>\n      <trans-unit id="8df71e952319eafa71c8e6ef6144b780af8813ff" datatype="html">\n        <source>Marked Down</source>\n        <target>Marked Down</target>\n      </trans-unit>\n      <trans-unit id="25658f5a080a1cab3b91e17b756b1d1dc46bb9b3" datatype="html">\n        <source>Marked In</source>\n        <target>Marked In</target>\n      </trans-unit>\n      <trans-unit id="ebcf306036a6c5579df9448f77eca98d491db245" datatype="html">\n        <source>Marked Lost</source>\n        <target>Označeno jako ztracené</target>\n      </trans-unit>\n      <trans-unit id="3a8803369ac18be3ad762384b9fda095fe2a6dcc" datatype="html">\n        <source>Marked Out</source>\n        <target>Marked Out</target>\n      </trans-unit>\n      <trans-unit id="0fe2a62ea7c609fa8326ee6d38060bc5ba8bf34f" datatype="html">\n        <source>Protected</source>\n        <target>Chráněno</target>\n      </trans-unit>\n      <trans-unit id="69b0446c6c2411c4fe01e411b8ceec72d4044fb4" datatype="html">\n        <source>Purged</source>\n        <target>Vyčištěno</target>\n      </trans-unit>\n      <trans-unit id="d53de1a61bd51c815dc374c7f97e4ee69230e412" datatype="html">\n        <source>Renamed</source>\n        <target>Přejmenováno</target>\n      </trans-unit>\n      <trans-unit id="86fc6cae82c095f14105eb8a61d7b3fa948304b7" datatype="html">\n        <source>Restored</source>\n        <target>Obnoveno</target>\n      </trans-unit>\n      <trans-unit id="e87dd0fd35460cb743046db918dfce2137b5977a" datatype="html">\n        <source>Reweighted</source>\n        <target>Reweighted</target>\n      </trans-unit>\n      <trans-unit id="dc21fd6547f2325c67f6deff925f29eb07a2db3e" datatype="html">\n        <source>Rolled back</source>\n        <target>Vzato zpět</target>\n      </trans-unit>\n      <trans-unit id="15dec4c2d73a516c10aef90aeeea3364fa794615" datatype="html">\n        <source>Scrubbed</source>\n        <target>Scrubbed</target>\n      </trans-unit>\n      <trans-unit id="8dc560ded67482f109a98e0638851ad1d37188b3" datatype="html">\n        <source>Showed</source>\n        <target>Zobrazeno</target>\n      </trans-unit>\n      <trans-unit id="197259b7ea76f15c6d0a64b075a673fd4112ada7" datatype="html">\n        <source>Moved to Trash</source>\n        <target>Přesunout do koše</target>\n      </trans-unit>\n      <trans-unit id="8fb15cb102cd75b562680290b7e04c44d80018f2" datatype="html">\n        <source>Unprotected</source>\n        <target>Ochrana zrušena</target>\n      </trans-unit>\n      <trans-unit id="8588eafa498262a1cbb5043ad68cf0ff669c4f10" datatype="html">\n        <source>Recreated</source>\n        <target>Znovu vytvořeno</target>\n      </trans-unit>\n      <trans-unit id="ffde7468d7b5cad6990095ed68ddee3d67cd02f8" datatype="html">\n        <source>Expired</source>\n        <target>Platnost skončila</target>\n      </trans-unit>\n      <trans-unit id="4f20f2d5a6882190892e58b85f6ccbedfa737952" datatype="html">\n        <source>Yes</source>\n        <target>Ano</target>\n      </trans-unit>\n      <trans-unit id="3d3ae7deebc5949b0c1c78b9847886a94321d9fd" datatype="html">\n        <source>No</source>\n        <target>Ne</target>\n      </trans-unit>\n      <trans-unit id="baf918eed9d4050cdad2acebc0f27b6eaf8e3fcd" datatype="html">\n        <source>Required rules for passwords:</source>\n        <target>Required rules for passwords:</target>\n      </trans-unit>\n      <trans-unit id="40f61909e1f017c4652e64b055089beef19cf871" datatype="html">\n        <source>Must contain at least \n          <x id="INTERPOLATION" equiv-text="{{length}}"/> characters\n        </source>\n        <target>Must contain at least \n          <x id="INTERPOLATION" equiv-text="{{length}}"/> characters\n        </target>\n      </trans-unit>\n      <trans-unit id="f4f5dbb3a05b5f38dab47ef38dad88a4574a765a" datatype="html">\n        <source>Must not be the same as the previous one</source>\n        <target>Must not be the same as the previous one</target>\n      </trans-unit>\n      <trans-unit id="607370e07b50087c196a5fcea9184e3d693226b2" datatype="html">\n        <source>Cannot contain the username</source>\n        <target>Cannot contain the username</target>\n      </trans-unit>\n      <trans-unit id="e6e355eab2596251aaa42623b41e6026d5c03e3b" datatype="html">\n        <source>Cannot contain any configured keyword</source>\n        <target>Cannot contain any configured keyword</target>\n      </trans-unit>\n      <trans-unit id="394bcd6d5e4da75b720c4d28f94f2aef7bb38355" datatype="html">\n        <source>Cannot contain any repetitive characters e.g. "aaa"</source>\n        <target>Cannot contain any repetitive characters e.g. "aaa"</target>\n      </trans-unit>\n      <trans-unit id="030e61e0bcf2536fb047645db6182d43e9fca9e9" datatype="html">\n        <source>Cannot contain any sequential characters e.g. "abc"</source>\n        <target>Cannot contain any sequential characters e.g. "abc"</target>\n      </trans-unit>\n      <trans-unit id="99fa0b67376d40142bd4d3ace3344abf4f98b6a5" datatype="html">\n        <source>Your matcher seems to match no currently defined rule or active alert.</source>\n        <target>Your matcher seems to match no currently defined rule or active alert.</target>\n      </trans-unit>\n      <trans-unit id="7e284852732c303eb1f47de9aca2569e41aeffed" datatype="html">\n        <source>no active alerts</source>\n        <target>žádné aktivní výstrahy</target>\n      </trans-unit>\n      <trans-unit id="b8042829e4fbe7b09fd9bac9fa0ecf5cc1802fee" datatype="html">\n        <source>1 active alert</source>\n        <target>Jedna aktivní výstraha</target>\n      </trans-unit>\n      <trans-unit id="e24adce97669cb0fc74cc13fdc14179b6f78ea5e" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{n}}"/> active alerts\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{n}}"/> aktivních výstrah\n        </target>\n      </trans-unit>\n      <trans-unit id="d8fb058ff5883731d38a132da4ca45cfe8d719a3" datatype="html">\n        <source>Matches 1 rule</source>\n        <target>Odpovídá jednomu pravidlu</target>\n      </trans-unit>\n      <trans-unit id="90aaef24d192e67c3fbc2ec6f8bfaff211cea128" datatype="html">\n        <source>Matches \n          <x id="INTERPOLATION" equiv-text="{{n}}"/> rules\n        </source>\n        <target>Odpovídá \n          <x id="INTERPOLATION" equiv-text="{{n}}"/> pravidlům\n        </target>\n      </trans-unit>\n      <trans-unit id="f4685dc581e18244cd410f1057a8c56a9dbfe8df" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rules}}"/> with \n          <x id="INTERPOLATION_1" equiv-text="{{alerts}}"/>.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rules}}"/> s \n          <x id="INTERPOLATION_1" equiv-text="{{alerts}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8fd98fb2a0f24ba72cde0787dd3f02cfc17de469" datatype="html">\n        <source>Quality of Service</source>\n        <target>Kvalita služby</target>\n      </trans-unit>\n      <trans-unit id="2c53f3ce2c6fff9025a7b41cc334521725da6e7b" datatype="html">\n        <source>BPS Limit</source>\n        <target>Limit BPS</target>\n      </trans-unit>\n      <trans-unit id="e897624a392419386b035bcd8529337e262fc41d" datatype="html">\n        <source>The desired limit of IO bytes per second.</source>\n        <target>Požadovaný limit vst./výstup. bajtů za sekundu.</target>\n      </trans-unit>\n      <trans-unit id="dc56f77e4507da7e86a3accd0a2a7099a838d539" datatype="html">\n        <source>IOPS Limit</source>\n        <target>Limit vst/výstup. operací / s</target>\n      </trans-unit>\n      <trans-unit id="141c3f6eadbb35b0e17b2f847e4cac23240a6ea9" datatype="html">\n        <source>The desired limit of IO operations per second.</source>\n        <target>Požadovaný limit vst./výstup. operací za sekundu.</target>\n      </trans-unit>\n      <trans-unit id="3b3b101f16c38806e984b157e0cf22cd21451122" datatype="html">\n        <source>Read BPS Limit</source>\n        <target>Limit BPS čtení</target>\n      </trans-unit>\n      <trans-unit id="87835fabb6a645873f3829a450ca1d58f97754f2" datatype="html">\n        <source>The desired limit of read bytes per second.</source>\n        <target>Požadovaný limit čtení bajtů za sekundu.</target>\n      </trans-unit>\n      <trans-unit id="28b485e700df46d70b96666099f714e3ae9e5c2e" datatype="html">\n        <source>Read IOPS Limit</source>\n        <target>Limit IOPS čtení</target>\n      </trans-unit>\n      <trans-unit id="5907bd1a5cf3e20e740bca676cb1538372e1f9ff" datatype="html">\n        <source>The desired limit of read operations per second.</source>\n        <target>Požadovaný limit operací čtení za sekundu.</target>\n      </trans-unit>\n      <trans-unit id="07317121f0b194987d4dee8b322f521ac17bf124" datatype="html">\n        <source>Write BPS Limit</source>\n        <target>Limit BPS zápisu</target>\n      </trans-unit>\n      <trans-unit id="4022c78bd9132ca2ec67927f8484c437d1d9b6fd" datatype="html">\n        <source>The desired limit of write bytes per second.</source>\n        <target>Požadovaný limit zápisu bajtů za sekundu.</target>\n      </trans-unit>\n      <trans-unit id="52c22c19f98ff3a09bd811292954a889b93d28b7" datatype="html">\n        <source>Write IOPS Limit</source>\n        <target>Limit IOPS zápisu</target>\n      </trans-unit>\n      <trans-unit id="0ed62e3fd8654b3191fc7fa959ad3f10f1ea773a" datatype="html">\n        <source>The desired limit of write operations per second.</source>\n        <target>Požadovaný limit operací čtení za sekundu.</target>\n      </trans-unit>\n      <trans-unit id="d90c99d77864f21f932ee1369019f400c4ad0e2d" datatype="html">\n        <source>BPS Burst</source>\n        <target>BPS dávka</target>\n      </trans-unit>\n      <trans-unit id="29c32192f4d185139aaaf6d3a766a3411dfeabbe" datatype="html">\n        <source>The desired burst limit of IO bytes.</source>\n        <target>Požadovaný limit dávky bajtů vstup/výstupu.</target>\n      </trans-unit>\n      <trans-unit id="b988b90489e899941e196c3dd0ecc22e37540224" datatype="html">\n        <source>IOPS Burst</source>\n        <target>IOPS dávka</target>\n      </trans-unit>\n      <trans-unit id="02c5de8ff11870f1b3896f2b45637ce0dba1ed4b" datatype="html">\n        <source>The desired burst limit of IO operations.</source>\n        <target>Požadovaný limit dávky vst./výstup. operací.</target>\n      </trans-unit>\n      <trans-unit id="7a160538129b37cf595f1651f28b5fac62fbc0f8" datatype="html">\n        <source>Read BPS Burst</source>\n        <target>Dávka BPS čtení</target>\n      </trans-unit>\n      <trans-unit id="b573a5df16a53b9947288461bc24e6a0eb4341d6" datatype="html">\n        <source>The desired burst limit of read bytes.</source>\n        <target>Požadovaný limit dávky bajtů čtení.</target>\n      </trans-unit>\n      <trans-unit id="1d5b8c2a0c653651cc4ca4b8fed9456f449220d1" datatype="html">\n        <source>Read IOPS Burst</source>\n        <target>Dávka IOPS čtení</target>\n      </trans-unit>\n      <trans-unit id="20b199f9d4a8d08ffefec66040e27639ec221512" datatype="html">\n        <source>The desired burst limit of read operations.</source>\n        <target>Požadovaný limit dávky čtení bajtů.</target>\n      </trans-unit>\n      <trans-unit id="824525ae57992aee629ddffcd500a8b77087ddec" datatype="html">\n        <source>Write BPS Burst</source>\n        <target>Dávka BPS zápisu</target>\n      </trans-unit>\n      <trans-unit id="a90aac4050a5d79765da5e1186909f6d4d7f981d" datatype="html">\n        <source>The desired burst limit of write bytes.</source>\n        <target>Požadovaný limit bajtů dávky zápisu.</target>\n      </trans-unit>\n      <trans-unit id="35a8c6e6c249c7d16e26aa7c4ef97c06db405070" datatype="html">\n        <source>Write IOPS Burst</source>\n        <target>Dávka IOPS zápisu</target>\n      </trans-unit>\n      <trans-unit id="b356abd41d7e9eea4d20c03d2e6892b6d435ecbd" datatype="html">\n        <source>The desired burst limit of write operations.</source>\n        <target>Požadovaný limit dávky operace zápisu.</target>\n      </trans-unit>\n      <trans-unit id="24c4d50fe8567de381a20a1745f1b6d37eacaa90" datatype="html">\n        <source>Failed to \n          <x id="INTERPOLATION" equiv-text="{{failure}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{metadata}}"/>\n        </source>\n        <target>Nepodařilo se \n          <x id="INTERPOLATION" equiv-text="{{failure}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{metadata}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="f54b6f09b390d5ade0e354f6c7d4743c10a315cc" datatype="html">\n        <source>Executing</source>\n        <target>Vykonává se</target>\n      </trans-unit>\n      <trans-unit id="5cdfe3e3330ea42bfd29c540dbd268bee97d364d" datatype="html">\n        <source>execute</source>\n        <target>vykonat</target>\n      </trans-unit>\n      <trans-unit id="6e98e243518daa88be30330fcdbd2d10f8eae4d7" datatype="html">\n        <source>Executed</source>\n        <target>Vykonáno</target>\n      </trans-unit>\n      <trans-unit id="24b09aa5bd909273a023d2d788a2673325c77e31" datatype="html">\n        <source>unknown task</source>\n        <target>neznámý úkol</target>\n      </trans-unit>\n      <trans-unit id="114b5f92b9192b229ffc9a450319a97ccca2aa5c" datatype="html">\n        <source>Creating</source>\n        <target>Vytváří se</target>\n      </trans-unit>\n      <trans-unit id="56695b69d27437ada580a187958407e7c856d46e" datatype="html">\n        <source>create</source>\n        <target>vytvořit</target>\n      </trans-unit>\n      <trans-unit id="9db60170ef3b3b41a863e7d5ee7cec10919b9141" datatype="html">\n        <source>Updating</source>\n        <target>Aktualizuje se</target>\n      </trans-unit>\n      <trans-unit id="64412640835b7d25247cb254d4f911366c0e6862" datatype="html">\n        <source>update</source>\n        <target>aktualizovat</target>\n      </trans-unit>\n      <trans-unit id="416193bb373d59477458b00e5922d755e2e2cacd" datatype="html">\n        <source>Deleting</source>\n        <target>Maže se</target>\n      </trans-unit>\n      <trans-unit id="d07a282afc7fbdb39cea6e1c9b544882a7260a86" datatype="html">\n        <source>Adding</source>\n        <target>Přidávání</target>\n      </trans-unit>\n      <trans-unit id="a11ec4e640f241329943237d2a3cceaa4823658e" datatype="html">\n        <source>add</source>\n        <target>přidat</target>\n      </trans-unit>\n      <trans-unit id="ea1c70b874904216cc5af24bd7cb3dab2d074d42" datatype="html">\n        <source>Removing</source>\n        <target>Odebírání</target>\n      </trans-unit>\n      <trans-unit id="4da487aec5a29ce4372e7b512227cd665b01fe6f" datatype="html">\n        <source>remove</source>\n        <target>odebrat</target>\n      </trans-unit>\n      <trans-unit id="0e21237afdc84ec360c374fa678d9b1cfaa334f9" datatype="html">\n        <source>Importing</source>\n        <target>Importing</target>\n      </trans-unit>\n      <trans-unit id="c6b4128c006f4cc0564137e1a1482b5c432aa347" datatype="html">\n        <source>import</source>\n        <target>import</target>\n      </trans-unit>\n      <trans-unit id="3b9f4138abbca0fd66db1f7332f4b54e2a6d916d" datatype="html">\n        <source>Imported</source>\n        <target>Imported</target>\n      </trans-unit>\n      <trans-unit id="3f757cfc3749ebb5d4462017cb60138ca082f15f" datatype="html">\n        <source>RBD \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>RBD „\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>“\n        </target>\n      </trans-unit>\n      <trans-unit id="a6c681e6130fe440ae40de99a405fcf5c7eefee1" datatype="html">\n        <source>RBD snapshot \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>RBD zachycený stav „\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>“\n        </target>\n      </trans-unit>\n      <trans-unit id="2bf18ddf3785f7afb4f01dcf63d3d8c40f4bfba5" datatype="html">\n        <source>mirroring site name</source>\n        <target>mirroring site name</target>\n      </trans-unit>\n      <trans-unit id="167b73bb24b4695614ce0fc567b7a45080457a44" datatype="html">\n        <source>bootstrap token</source>\n        <target>bootstrap token</target>\n      </trans-unit>\n      <trans-unit id="4fb54a0291f49583c317d4a3690239141b5a8f68" datatype="html">\n        <source>mirror mode for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>režim zrcadlení pro fond „\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>“\n        </target>\n      </trans-unit>\n      <trans-unit id="6621ab6e122a149326a1e48e9051a41e7f203cf6" datatype="html">\n        <source>mirror peer for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>protějšek zrcadlení pro fond „\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>“\n        </target>\n      </trans-unit>\n      <trans-unit id="db15adc778317d551232fe712eb03a2c1eac4a43" datatype="html">\n        <source>all dashboards</source>\n        <target>všechny přehledy</target>\n      </trans-unit>\n      <trans-unit id="6c19652df9249c60827044ed6274933cab180c63" datatype="html">\n        <source>OSDs (DriveGroups: \n          <x id="INTERPOLATION" equiv-text="{{tracking_id}}"/>)\n        </source>\n        <target>OSDs (DriveGroups: \n          <x id="INTERPOLATION" equiv-text="{{tracking_id}}"/>)\n        </target>\n      </trans-unit>\n      <trans-unit id="1b559dbd9cc9664fd788c2da9a10d3abafe066cb" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.\n        </source>\n        <target>Název už je používán \n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8fc28e1103d9f2ef47b9fff9a4f74e8365c7cf19" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>.\n        </source>\n        <target>Název už je používán \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="1cdc7ea44fcb85d0cfcf6e7379d625d8674a8fbe" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.\n        </source>\n        <target>Název už je používán \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="460f07780389d24c6a540c007c7367a56afad585" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> is busy.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> is busy.\n        </target>\n      </trans-unit>\n      <trans-unit id="1ff7676ad1e991102224540a32dd44ad1ab88aa8" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> obsahuje zachycené stavy.\n        </target>\n      </trans-unit>\n      <trans-unit id="c3a1dcca2b2ba20fbe39e2441e7bb1cf9c20cdf3" datatype="html">\n        <source>Cloning</source>\n        <target>Klonuje se</target>\n      </trans-unit>\n      <trans-unit id="b5fa4e0a3a279dee5b6bf7b823e54387f7c79994" datatype="html">\n        <source>clone</source>\n        <target>klonovat</target>\n      </trans-unit>\n      <trans-unit id="29b7452e8367af9aa8fa828f16ff94c3530e7a1a" datatype="html">\n        <source>Snapshot of \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> must be protected.\n        </source>\n        <target>Je třeba, aby zachycený stav \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> byl chráněný.\n        </target>\n      </trans-unit>\n      <trans-unit id="369f93b9a07a9465f7a261e9f0021b6cfa7180c5" datatype="html">\n        <source>Copying</source>\n        <target>Kopíruje se</target>\n      </trans-unit>\n      <trans-unit id="37584f889855d153a106f5dffe23d21f9453c8ff" datatype="html">\n        <source>copy</source>\n        <target>zkopírovat</target>\n      </trans-unit>\n      <trans-unit id="6ea9e313a04ef59222feaadfe84e97b4c69d7e9e" datatype="html">\n        <source>Flattening</source>\n        <target>Zploštění</target>\n      </trans-unit>\n      <trans-unit id="1f57593581b64d2d4c70eab1736bd9bccc66a7dc" datatype="html">\n        <source>flatten</source>\n        <target>zploštit</target>\n      </trans-unit>\n      <trans-unit id="d990ef9680cd23bbe652c37eb46bf038cfee80ad" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/>.\n        </source>\n        <target>Název už je používán pro \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="a101745d080ef65c09bd5fafc796f94ddb9f9d60" datatype="html">\n        <source>Cannot unprotect \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it contains child images.\n        </source>\n        <target>Není možné zrušit ochranu \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/>, protože obsahuje podřízené obrazy.\n        </target>\n      </trans-unit>\n      <trans-unit id="647968f4cde7786cd53ec8e6aa9802ac6824a262" datatype="html">\n        <source>Cannot delete \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it\'s protected.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> není možné smazat, protože je chráněné.\n        </target>\n      </trans-unit>\n      <trans-unit id="57ddd3e15cf0ce974356b757451f50116a27272b" datatype="html">\n        <source>Rolling back</source>\n        <target>Bere se zpět</target>\n      </trans-unit>\n      <trans-unit id="a8913a3a5ee61f2598b5f0432cb9b20cdd60548e" datatype="html">\n        <source>rollback</source>\n        <target>vzít zpět</target>\n      </trans-unit>\n      <trans-unit id="de8676f0017c9db6c49388cd7d63cd0a83a0c1dc" datatype="html">\n        <source>Moving</source>\n        <target>Přesouvá se</target>\n      </trans-unit>\n      <trans-unit id="2d810712308ae63cb795d809687a3254ef7a2f05" datatype="html">\n        <source>move</source>\n        <target>přesunout</target>\n      </trans-unit>\n      <trans-unit id="f3ba995236e5c1cc77686108980c099a90aec754" datatype="html">\n        <source>Moved</source>\n        <target>Přesunuto</target>\n      </trans-unit>\n      <trans-unit id="d0422169252d132624a20f267b5c29f28cb53ebe" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' to trash\n        </source>\n        <target>obraz „\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>“ do koše\n        </target>\n      </trans-unit>\n      <trans-unit id="b603e2dfed9808222fbcb5a7c5f4da2cc6ae2aae" datatype="html">\n        <source>Could not find image.</source>\n        <target>Obraz se nedaří najít.</target>\n      </trans-unit>\n      <trans-unit id="398debe73006b1fe5177ed81d2e7b0cc852f61ec" datatype="html">\n        <source>Restoring</source>\n        <target>Obnovuje se</target>\n      </trans-unit>\n      <trans-unit id="c252806fb400e79bac194696632c9362742b1538" datatype="html">\n        <source>restore</source>\n        <target>obnovit</target>\n      </trans-unit>\n      <trans-unit id="30b8bcf69b3f1754b7abba173fd806cfcea4cb04" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' into \'\n          <x id="INTERPOLATION_1" equiv-text="{{new_id}}"/>\'\n        </source>\n        <target>obraz „\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>“ do „\n          <x id="INTERPOLATION_1" equiv-text="{{new_id}}"/>“\n        </target>\n      </trans-unit>\n      <trans-unit id="13b7b241cef989fe0932ddd180e757658e1817e7" datatype="html">\n        <source>Image name \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' is already in use.\n        </source>\n        <target>Název „\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>“ už je používán pro jiný obraz.\n        </target>\n      </trans-unit>\n      <trans-unit id="cc1cee12c833e8fbbef28a2a7c449dc530da912d" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>obraz „\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>“\n        </target>\n      </trans-unit>\n      <trans-unit id="38e5f47f8bef505652f3e87f46efb00ead1350a3" datatype="html">\n        <source>Purging</source>\n        <target>Čistí se</target>\n      </trans-unit>\n      <trans-unit id="e4e57747f123f0fe6fe3a0ecf608f8bc287dec0c" datatype="html">\n        <source>purge</source>\n        <target>vyčistit</target>\n      </trans-unit>\n      <trans-unit id="1560d58fdf39663929653250d45f5b1dfe078fea" datatype="html">\n        <source>all pools</source>\n        <target>všechny fondy</target>\n      </trans-unit>\n      <trans-unit id="1ac3dc50c2c3d86e98bc0967ee1e696810a2d3aa" datatype="html">\n        <source>images from \n          <x id="INTERPOLATION" equiv-text="{{message}}"/>\n        </source>\n        <target>obrazy z \n          <x id="INTERPOLATION" equiv-text="{{message}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="02278abbb044ece04ab6bd80bd2060198d31d83b" datatype="html">\n        <source>Cannot disable mirroring because it contains a peer.</source>\n        <target>Zrcadlení nelze vypnout protože obsahuje protějšek.</target>\n      </trans-unit>\n      <trans-unit id="5c4525a1b76ca54d1aadeaecfdb83aedc2eec6e0" datatype="html">\n        <source>Identifying</source>\n        <target>Identifying</target>\n      </trans-unit>\n      <trans-unit id="ffd067e54a061d1f27cb35f0cf67ef7f29e19111" datatype="html">\n        <source>identify</source>\n        <target>identify</target>\n      </trans-unit>\n      <trans-unit id="7c921f339274688c22ba1acac7af6b097ad3599d" datatype="html">\n        <source>Identified</source>\n        <target>Identified</target>\n      </trans-unit>\n      <trans-unit id="3307492c27c2150cd26c514030444e11fd61089f" datatype="html">\n        <source>device \'\n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\' on host \'\n          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>\'\n        </source>\n        <target>device \'\n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\' on host \'\n          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="f123ae1fc3b000e5d08e766dd78bff162afe709d" datatype="html">\n        <source>host \'\n          <x id="INTERPOLATION" equiv-text="{{hostname}}"/>\'\n        </source>\n        <target>stroj „\n          <x id="INTERPOLATION" equiv-text="{{hostname}}"/>“\n        </target>\n      </trans-unit>\n      <trans-unit id="c1af76189dcefd094da2bc1a4a63968f3bab5789" datatype="html">\n        <source>OSD \'\n          <x id="INTERPOLATION" equiv-text="{{svc_id}}"/>\'\n        </source>\n        <target>OSD \'\n          <x id="INTERPOLATION" equiv-text="{{svc_id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="dfe70001dc590a9e12512cbb206aa29fb36fd00b" datatype="html">\n        <source>pool \'\n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>\'\n        </source>\n        <target>fond „\n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>“\n        </target>\n      </trans-unit>\n      <trans-unit id="59630daf2f4786690fae0cdad55da8887236eabe" datatype="html">\n        <source>erasure code profile \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </source>\n        <target>profil mazacího kódu „\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>“\n        </target>\n      </trans-unit>\n      <trans-unit id="79052d6c47258dc19ada12dbb2563761102b6f1d" datatype="html">\n        <source>crush rule \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </source>\n        <target>crush rule \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="369462e5e018360e0600bb570866201ad5c3c8a8" datatype="html">\n        <source>target \'\n          <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>\'\n        </source>\n        <target>cíl „\n          <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>“\n        </target>\n      </trans-unit>\n      <trans-unit id="cf41310917cb19b335e5a950972bbff2346f7a47" datatype="html">\n        <source>NFS \n          <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>\n        </source>\n        <target>NFS \n          <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>\n        </target>\n      </trans-unit>\n    </body>\n  </file>\n</xliff>'},VpIT:function(t,e,n){var a=n("xDBR"),r=n("xs3f");(t.exports=function(t,e){return r[t]||(r[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.6.4",mode:a?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},Vu81:function(t,e,n){var a=n("0GbY"),r=n("JBy8"),o=n("dBg+"),i=n("glrk");t.exports=a("Reflect","ownKeys")||function(t){var e=r.f(i(t)),n=o.f;return n?e.concat(n(t)):e}},WF9J:function(t,e,n){"use strict";n("TeQF"),n("QWBl"),n("4mDm"),n("zKZe"),n("07d7"),n("4l63"),n("PKPk"),n("ENF9"),n("3bBZ");var a=n("hKI/"),r=n.n(a),o=n("9/5/"),i=n.n(o),s=n("uyHG"),c=n.n(s),l=function(){if("undefined"!=typeof Map)return Map;function t(t,e){var n=-1;return t.some((function(t,a){return t[0]===e&&(n=a,!0)})),n}return function(){function e(){this.__entries__=[]}return Object.defineProperty(e.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),e.prototype.get=function(e){var n=t(this.__entries__,e),a=this.__entries__[n];return a&&a[1]},e.prototype.set=function(e,n){var a=t(this.__entries__,e);~a?this.__entries__[a][1]=n:this.__entries__.push([e,n])},e.prototype.delete=function(e){var n=this.__entries__,a=t(n,e);~a&&n.splice(a,1)},e.prototype.has=function(e){return!!~t(this.__entries__,e)},e.prototype.clear=function(){this.__entries__.splice(0)},e.prototype.forEach=function(t,e){void 0===e&&(e=null);for(var n=0,a=this.__entries__;n<a.length;n++){var r=a[n];t.call(e,r[1],r[0])}},e}()}(),d="undefined"!=typeof window&&"undefined"!=typeof document&&window.document===document,u="undefined"!=typeof global&&global.Math===Math?global:"undefined"!=typeof self&&self.Math===Math?self:"undefined"!=typeof window&&window.Math===Math?window:Function("return this")(),g="function"==typeof requestAnimationFrame?requestAnimationFrame.bind(u):function(t){return setTimeout((function(){return t(Date.now())}),1e3/60)},f=["top","right","bottom","left","width","height","size","weight"],p="undefined"!=typeof MutationObserver,m=function(){function t(){this.connected_=!1,this.mutationEventsAdded_=!1,this.mutationsObserver_=null,this.observers_=[],this.onTransitionEnd_=this.onTransitionEnd_.bind(this),this.refresh=function(t,e){var n=!1,a=!1,r=0;function o(){n&&(n=!1,t()),a&&s()}function i(){g(o)}function s(){var t=Date.now();if(n){if(t-r<2)return;a=!0}else n=!0,a=!1,setTimeout(i,20);r=t}return s}(this.refresh.bind(this))}return t.prototype.addObserver=function(t){~this.observers_.indexOf(t)||this.observers_.push(t),this.connected_||this.connect_()},t.prototype.removeObserver=function(t){var e=this.observers_,n=e.indexOf(t);~n&&e.splice(n,1),!e.length&&this.connected_&&this.disconnect_()},t.prototype.refresh=function(){this.updateObservers_()&&this.refresh()},t.prototype.updateObservers_=function(){var t=this.observers_.filter((function(t){return t.gatherActive(),t.hasActive()}));return t.forEach((function(t){return t.broadcastActive()})),t.length>0},t.prototype.connect_=function(){d&&!this.connected_&&(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),p?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},t.prototype.disconnect_=function(){d&&this.connected_&&(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},t.prototype.onTransitionEnd_=function(t){var e=t.propertyName,n=void 0===e?"":e;f.some((function(t){return!!~n.indexOf(t)}))&&this.refresh()},t.getInstance=function(){return this.instance_||(this.instance_=new t),this.instance_},t.instance_=null,t}(),h=function(t,e){for(var n=0,a=Object.keys(e);n<a.length;n++){var r=a[n];Object.defineProperty(t,r,{value:e[r],enumerable:!1,writable:!1,configurable:!0})}return t},b=function(t){return t&&t.ownerDocument&&t.ownerDocument.defaultView||u},y=C(0,0,0,0);function _(t){return parseFloat(t)||0}function O(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];return e.reduce((function(e,n){return e+_(t["border-"+n+"-width"])}),0)}var v="undefined"!=typeof SVGGraphicsElement?function(t){return t instanceof b(t).SVGGraphicsElement}:function(t){return t instanceof b(t).SVGElement&&"function"==typeof t.getBBox};function C(t,e,n,a){return{x:t,y:e,width:n,height:a}}var P=function(){function t(t){this.broadcastWidth=0,this.broadcastHeight=0,this.contentRect_=C(0,0,0,0),this.target=t}return t.prototype.isActive=function(){var t,e=(t=this.target,d?v(t)?function(t){var e=t.getBBox();return C(0,0,e.width,e.height)}(t):function(t){var e=t.clientWidth,n=t.clientHeight;if(!e&&!n)return y;var a=b(t).getComputedStyle(t),r=function(t){for(var e={},n=0,a=["top","right","bottom","left"];n<a.length;n++){var r=a[n];e[r]=_(t["padding-"+r])}return e}(a),o=r.left+r.right,i=r.top+r.bottom,s=_(a.width),c=_(a.height);if("border-box"===a.boxSizing&&(Math.round(s+o)!==e&&(s-=O(a,"left","right")+o),Math.round(c+i)!==n&&(c-=O(a,"top","bottom")+i)),!function(t){return t===b(t).document.documentElement}(t)){var l=Math.round(s+o)-e,d=Math.round(c+i)-n;1!==Math.abs(l)&&(s-=l),1!==Math.abs(d)&&(c-=d)}return C(r.left,r.top,s,c)}(t):y);return this.contentRect_=e,e.width!==this.broadcastWidth||e.height!==this.broadcastHeight},t.prototype.broadcastRect=function(){var t=this.contentRect_;return this.broadcastWidth=t.width,this.broadcastHeight=t.height,t},t}(),M=function(t,e){var n,a,r,o,i,s,c,l=(a=(n=e).x,r=n.y,o=n.width,i=n.height,s="undefined"!=typeof DOMRectReadOnly?DOMRectReadOnly:Object,c=Object.create(s.prototype),h(c,{x:a,y:r,width:o,height:i,top:r,right:a+o,bottom:i+r,left:a}),c);h(this,{target:t,contentRect:l})},x=function(){function t(t,e,n){if(this.activeObservations_=[],this.observations_=new l,"function"!=typeof t)throw new TypeError("The callback provided as parameter 1 is not a function.");this.callback_=t,this.controller_=e,this.callbackCtx_=n}return t.prototype.observe=function(t){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if("undefined"!=typeof Element&&Element instanceof Object){if(!(t instanceof b(t).Element))throw new TypeError('parameter 1 is not of type "Element".');var e=this.observations_;e.has(t)||(e.set(t,new P(t)),this.controller_.addObserver(this),this.controller_.refresh())}},t.prototype.unobserve=function(t){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if("undefined"!=typeof Element&&Element instanceof Object){if(!(t instanceof b(t).Element))throw new TypeError('parameter 1 is not of type "Element".');var e=this.observations_;e.has(t)&&(e.delete(t),e.size||this.controller_.removeObserver(this))}},t.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},t.prototype.gatherActive=function(){var t=this;this.clearActive(),this.observations_.forEach((function(e){e.isActive()&&t.activeObservations_.push(e)}))},t.prototype.broadcastActive=function(){if(this.hasActive()){var t=this.callbackCtx_,e=this.activeObservations_.map((function(t){return new M(t.target,t.broadcastRect())}));this.callback_.call(t,e,t),this.clearActive()}},t.prototype.clearActive=function(){this.activeObservations_.splice(0)},t.prototype.hasActive=function(){return this.activeObservations_.length>0},t}(),w="undefined"!=typeof WeakMap?new WeakMap:new l,T=function t(e){if(!(this instanceof t))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var n=m.getInstance(),a=new x(e,n,this);w.set(this,a)};["observe","unobserve","disconnect"].forEach((function(t){T.prototype[t]=function(){var e;return(e=w.get(this))[t].apply(e,arguments)}}));var S=void 0!==u.ResizeObserver?u.ResizeObserver:T,k=n("AxL3"),I=n.n(k),N=(n("E9XD"),n("sMBO"),n("rB9j"),n("Rm1S"),n("UxlC"),null),R=null;function A(){if(null===N){if("undefined"==typeof document)return N=0;var t=document.body,e=document.createElement("div");e.classList.add("simplebar-hide-scrollbar"),t.appendChild(e);var n=e.getBoundingClientRect().right;t.removeChild(e),N=n}return N}function E(t){return t&&t.ownerDocument&&t.ownerDocument.defaultView?t.ownerDocument.defaultView:window}function D(t){return t&&t.ownerDocument?t.ownerDocument:document}I.a&&window.addEventListener("resize",(function(){R!==window.devicePixelRatio&&(R=window.devicePixelRatio,N=null)}));var L=function(){function t(e,n){var a=this;this.onScroll=function(){var t=E(a.el);a.scrollXTicking||(t.requestAnimationFrame(a.scrollX),a.scrollXTicking=!0),a.scrollYTicking||(t.requestAnimationFrame(a.scrollY),a.scrollYTicking=!0)},this.scrollX=function(){a.axis.x.isOverflowing&&(a.showScrollbar("x"),a.positionScrollbar("x")),a.scrollXTicking=!1},this.scrollY=function(){a.axis.y.isOverflowing&&(a.showScrollbar("y"),a.positionScrollbar("y")),a.scrollYTicking=!1},this.onMouseEnter=function(){a.showScrollbar("x"),a.showScrollbar("y")},this.onMouseMove=function(t){a.mouseX=t.clientX,a.mouseY=t.clientY,(a.axis.x.isOverflowing||a.axis.x.forceVisible)&&a.onMouseMoveForAxis("x"),(a.axis.y.isOverflowing||a.axis.y.forceVisible)&&a.onMouseMoveForAxis("y")},this.onMouseLeave=function(){a.onMouseMove.cancel(),(a.axis.x.isOverflowing||a.axis.x.forceVisible)&&a.onMouseLeaveForAxis("x"),(a.axis.y.isOverflowing||a.axis.y.forceVisible)&&a.onMouseLeaveForAxis("y"),a.mouseX=-1,a.mouseY=-1},this.onWindowResize=function(){a.scrollbarWidth=a.getScrollbarWidth(),a.hideNativeScrollbar()},this.hideScrollbars=function(){a.axis.x.track.rect=a.axis.x.track.el.getBoundingClientRect(),a.axis.y.track.rect=a.axis.y.track.el.getBoundingClientRect(),a.isWithinBounds(a.axis.y.track.rect)||(a.axis.y.scrollbar.el.classList.remove(a.classNames.visible),a.axis.y.isVisible=!1),a.isWithinBounds(a.axis.x.track.rect)||(a.axis.x.scrollbar.el.classList.remove(a.classNames.visible),a.axis.x.isVisible=!1)},this.onPointerEvent=function(t){var e,n;a.axis.x.track.rect=a.axis.x.track.el.getBoundingClientRect(),a.axis.y.track.rect=a.axis.y.track.el.getBoundingClientRect(),(a.axis.x.isOverflowing||a.axis.x.forceVisible)&&(e=a.isWithinBounds(a.axis.x.track.rect)),(a.axis.y.isOverflowing||a.axis.y.forceVisible)&&(n=a.isWithinBounds(a.axis.y.track.rect)),(e||n)&&(t.preventDefault(),t.stopPropagation(),"mousedown"===t.type&&(e&&(a.axis.x.scrollbar.rect=a.axis.x.scrollbar.el.getBoundingClientRect(),a.isWithinBounds(a.axis.x.scrollbar.rect)?a.onDragStart(t,"x"):a.onTrackClick(t,"x")),n&&(a.axis.y.scrollbar.rect=a.axis.y.scrollbar.el.getBoundingClientRect(),a.isWithinBounds(a.axis.y.scrollbar.rect)?a.onDragStart(t,"y"):a.onTrackClick(t,"y"))))},this.drag=function(e){var n=a.axis[a.draggedAxis].track,r=n.rect[a.axis[a.draggedAxis].sizeAttr],o=a.axis[a.draggedAxis].scrollbar,i=a.contentWrapperEl[a.axis[a.draggedAxis].scrollSizeAttr],s=parseInt(a.elStyles[a.axis[a.draggedAxis].sizeAttr],10);e.preventDefault(),e.stopPropagation();var c=(("y"===a.draggedAxis?e.pageY:e.pageX)-n.rect[a.axis[a.draggedAxis].offsetAttr]-a.axis[a.draggedAxis].dragOffset)/(r-o.size)*(i-s);"x"===a.draggedAxis&&(c=a.isRtl&&t.getRtlHelpers().isRtlScrollbarInverted?c-(r+o.size):c,c=a.isRtl&&t.getRtlHelpers().isRtlScrollingInverted?-c:c),a.contentWrapperEl[a.axis[a.draggedAxis].scrollOffsetAttr]=c},this.onEndDrag=function(t){var e=D(a.el),n=E(a.el);t.preventDefault(),t.stopPropagation(),a.el.classList.remove(a.classNames.dragging),e.removeEventListener("mousemove",a.drag,!0),e.removeEventListener("mouseup",a.onEndDrag,!0),a.removePreventClickId=n.setTimeout((function(){e.removeEventListener("click",a.preventClick,!0),e.removeEventListener("dblclick",a.preventClick,!0),a.removePreventClickId=null}))},this.preventClick=function(t){t.preventDefault(),t.stopPropagation()},this.el=e,this.minScrollbarWidth=20,this.options=Object.assign({},t.defaultOptions,{},n),this.classNames=Object.assign({},t.defaultOptions.classNames,{},this.options.classNames),this.axis={x:{scrollOffsetAttr:"scrollLeft",sizeAttr:"width",scrollSizeAttr:"scrollWidth",offsetSizeAttr:"offsetWidth",offsetAttr:"left",overflowAttr:"overflowX",dragOffset:0,isOverflowing:!0,isVisible:!1,forceVisible:!1,track:{},scrollbar:{}},y:{scrollOffsetAttr:"scrollTop",sizeAttr:"height",scrollSizeAttr:"scrollHeight",offsetSizeAttr:"offsetHeight",offsetAttr:"top",overflowAttr:"overflowY",dragOffset:0,isOverflowing:!0,isVisible:!1,forceVisible:!1,track:{},scrollbar:{}}},this.removePreventClickId=null,t.instances.has(this.el)||(this.recalculate=r()(this.recalculate.bind(this),64),this.onMouseMove=r()(this.onMouseMove.bind(this),64),this.hideScrollbars=i()(this.hideScrollbars.bind(this),this.options.timeout),this.onWindowResize=i()(this.onWindowResize.bind(this),64,{leading:!0}),t.getRtlHelpers=c()(t.getRtlHelpers),this.init())}t.getRtlHelpers=function(){var e=document.createElement("div");e.innerHTML='<div class="hs-dummy-scrollbar-size"><div style="height: 200%; width: 200%; margin: 10px 0;"></div></div>';var n=e.firstElementChild;document.body.appendChild(n);var a=n.firstElementChild;n.scrollLeft=0;var r=t.getOffset(n),o=t.getOffset(a);n.scrollLeft=999;var i=t.getOffset(a);return{isRtlScrollingInverted:r.left!==o.left&&o.left-i.left!=0,isRtlScrollbarInverted:r.left!==o.left}},t.getOffset=function(t){var e=t.getBoundingClientRect(),n=D(t),a=E(t);return{top:e.top+(a.pageYOffset||n.documentElement.scrollTop),left:e.left+(a.pageXOffset||n.documentElement.scrollLeft)}};var e=t.prototype;return e.init=function(){t.instances.set(this.el,this),I.a&&(this.initDOM(),this.scrollbarWidth=this.getScrollbarWidth(),this.recalculate(),this.initListeners())},e.initDOM=function(){var t=this;if(D(this.el),Array.prototype.filter.call(this.el.children,(function(e){return e.classList.contains(t.classNames.wrapper)})).length)this.wrapperEl=this.el.querySelector("."+this.classNames.wrapper),this.contentWrapperEl=this.options.scrollableNode||this.el.querySelector("."+this.classNames.contentWrapper),this.contentEl=this.options.contentNode||this.el.querySelector("."+this.classNames.contentEl),this.offsetEl=this.el.querySelector("."+this.classNames.offset),this.maskEl=this.el.querySelector("."+this.classNames.mask),this.placeholderEl=this.findChild(this.wrapperEl,"."+this.classNames.placeholder),this.heightAutoObserverWrapperEl=this.el.querySelector("."+this.classNames.heightAutoObserverWrapperEl),this.heightAutoObserverEl=this.el.querySelector("."+this.classNames.heightAutoObserverEl),this.axis.x.track.el=this.findChild(this.el,"."+this.classNames.track+"."+this.classNames.horizontal),this.axis.y.track.el=this.findChild(this.el,"."+this.classNames.track+"."+this.classNames.vertical);else{for(this.wrapperEl=document.createElement("div"),this.contentWrapperEl=document.createElement("div"),this.offsetEl=document.createElement("div"),this.maskEl=document.createElement("div"),this.contentEl=document.createElement("div"),this.placeholderEl=document.createElement("div"),this.heightAutoObserverWrapperEl=document.createElement("div"),this.heightAutoObserverEl=document.createElement("div"),this.wrapperEl.classList.add(this.classNames.wrapper),this.contentWrapperEl.classList.add(this.classNames.contentWrapper),this.offsetEl.classList.add(this.classNames.offset),this.maskEl.classList.add(this.classNames.mask),this.contentEl.classList.add(this.classNames.contentEl),this.placeholderEl.classList.add(this.classNames.placeholder),this.heightAutoObserverWrapperEl.classList.add(this.classNames.heightAutoObserverWrapperEl),this.heightAutoObserverEl.classList.add(this.classNames.heightAutoObserverEl);this.el.firstChild;)this.contentEl.appendChild(this.el.firstChild);this.contentWrapperEl.appendChild(this.contentEl),this.offsetEl.appendChild(this.contentWrapperEl),this.maskEl.appendChild(this.offsetEl),this.heightAutoObserverWrapperEl.appendChild(this.heightAutoObserverEl),this.wrapperEl.appendChild(this.heightAutoObserverWrapperEl),this.wrapperEl.appendChild(this.maskEl),this.wrapperEl.appendChild(this.placeholderEl),this.el.appendChild(this.wrapperEl)}if(!this.axis.x.track.el||!this.axis.y.track.el){var e=document.createElement("div"),n=document.createElement("div");e.classList.add(this.classNames.track),n.classList.add(this.classNames.scrollbar),e.appendChild(n),this.axis.x.track.el=e.cloneNode(!0),this.axis.x.track.el.classList.add(this.classNames.horizontal),this.axis.y.track.el=e.cloneNode(!0),this.axis.y.track.el.classList.add(this.classNames.vertical),this.el.appendChild(this.axis.x.track.el),this.el.appendChild(this.axis.y.track.el)}this.axis.x.scrollbar.el=this.axis.x.track.el.querySelector("."+this.classNames.scrollbar),this.axis.y.scrollbar.el=this.axis.y.track.el.querySelector("."+this.classNames.scrollbar),this.options.autoHide||(this.axis.x.scrollbar.el.classList.add(this.classNames.visible),this.axis.y.scrollbar.el.classList.add(this.classNames.visible)),this.el.setAttribute("data-simplebar","init")},e.initListeners=function(){var t=this,e=E(this.el);this.options.autoHide&&this.el.addEventListener("mouseenter",this.onMouseEnter),["mousedown","click","dblclick"].forEach((function(e){t.el.addEventListener(e,t.onPointerEvent,!0)})),["touchstart","touchend","touchmove"].forEach((function(e){t.el.addEventListener(e,t.onPointerEvent,{capture:!0,passive:!0})})),this.el.addEventListener("mousemove",this.onMouseMove),this.el.addEventListener("mouseleave",this.onMouseLeave),this.contentWrapperEl.addEventListener("scroll",this.onScroll),e.addEventListener("resize",this.onWindowResize);var n=!1;this.resizeObserver=new(e.ResizeObserver||S)((function(){n&&t.recalculate()})),this.resizeObserver.observe(this.el),this.resizeObserver.observe(this.contentEl),e.requestAnimationFrame((function(){n=!0})),this.mutationObserver=new e.MutationObserver(this.recalculate),this.mutationObserver.observe(this.contentEl,{childList:!0,subtree:!0,characterData:!0})},e.recalculate=function(){var t=E(this.el);this.elStyles=t.getComputedStyle(this.el),this.isRtl="rtl"===this.elStyles.direction;var e=this.heightAutoObserverEl.offsetHeight<=1,n=this.heightAutoObserverEl.offsetWidth<=1,a=this.contentEl.offsetWidth,r=this.contentWrapperEl.offsetWidth,o=this.elStyles.overflowX,i=this.elStyles.overflowY;this.contentEl.style.padding=this.elStyles.paddingTop+" "+this.elStyles.paddingRight+" "+this.elStyles.paddingBottom+" "+this.elStyles.paddingLeft,this.wrapperEl.style.margin="-"+this.elStyles.paddingTop+" -"+this.elStyles.paddingRight+" -"+this.elStyles.paddingBottom+" -"+this.elStyles.paddingLeft;var s=this.contentEl.scrollHeight,c=this.contentEl.scrollWidth;this.contentWrapperEl.style.height=e?"auto":"100%",this.placeholderEl.style.width=n?a+"px":"auto",this.placeholderEl.style.height=s+"px";var l=this.contentWrapperEl.offsetHeight;this.axis.x.isOverflowing=c>a,this.axis.y.isOverflowing=s>l,this.axis.x.isOverflowing="hidden"!==o&&this.axis.x.isOverflowing,this.axis.y.isOverflowing="hidden"!==i&&this.axis.y.isOverflowing,this.axis.x.forceVisible="x"===this.options.forceVisible||!0===this.options.forceVisible,this.axis.y.forceVisible="y"===this.options.forceVisible||!0===this.options.forceVisible,this.hideNativeScrollbar();var d=this.axis.x.isOverflowing?this.scrollbarWidth:0;this.axis.x.isOverflowing=this.axis.x.isOverflowing&&c>r-(this.axis.y.isOverflowing?this.scrollbarWidth:0),this.axis.y.isOverflowing=this.axis.y.isOverflowing&&s>l-d,this.axis.x.scrollbar.size=this.getScrollbarSize("x"),this.axis.y.scrollbar.size=this.getScrollbarSize("y"),this.axis.x.scrollbar.el.style.width=this.axis.x.scrollbar.size+"px",this.axis.y.scrollbar.el.style.height=this.axis.y.scrollbar.size+"px",this.positionScrollbar("x"),this.positionScrollbar("y"),this.toggleTrackVisibility("x"),this.toggleTrackVisibility("y")},e.getScrollbarSize=function(t){if(void 0===t&&(t="y"),!this.axis[t].isOverflowing)return 0;var e,n=this.axis[t].track.el[this.axis[t].offsetSizeAttr];return e=Math.max(~~(n/this.contentEl[this.axis[t].scrollSizeAttr]*n),this.options.scrollbarMinSize),this.options.scrollbarMaxSize&&(e=Math.min(e,this.options.scrollbarMaxSize)),e},e.positionScrollbar=function(e){if(void 0===e&&(e="y"),this.axis[e].isOverflowing){var n=this.contentWrapperEl[this.axis[e].scrollSizeAttr],a=this.axis[e].track.el[this.axis[e].offsetSizeAttr],r=parseInt(this.elStyles[this.axis[e].sizeAttr],10),o=this.axis[e].scrollbar,i=this.contentWrapperEl[this.axis[e].scrollOffsetAttr],s=~~((i="x"===e&&this.isRtl&&t.getRtlHelpers().isRtlScrollingInverted?-i:i)/(n-r)*(a-o.size));s="x"===e&&this.isRtl&&t.getRtlHelpers().isRtlScrollbarInverted?s+(a-o.size):s,o.el.style.transform="x"===e?"translate3d("+s+"px, 0, 0)":"translate3d(0, "+s+"px, 0)"}},e.toggleTrackVisibility=function(t){void 0===t&&(t="y");var e=this.axis[t].track.el,n=this.axis[t].scrollbar.el;this.axis[t].isOverflowing||this.axis[t].forceVisible?(e.style.visibility="visible",this.contentWrapperEl.style[this.axis[t].overflowAttr]="scroll"):(e.style.visibility="hidden",this.contentWrapperEl.style[this.axis[t].overflowAttr]="hidden"),n.style.display=this.axis[t].isOverflowing?"block":"none"},e.hideNativeScrollbar=function(){this.offsetEl.style[this.isRtl?"left":"right"]=this.axis.y.isOverflowing||this.axis.y.forceVisible?"-"+this.scrollbarWidth+"px":0,this.offsetEl.style.bottom=this.axis.x.isOverflowing||this.axis.x.forceVisible?"-"+this.scrollbarWidth+"px":0},e.onMouseMoveForAxis=function(t){void 0===t&&(t="y"),this.axis[t].track.rect=this.axis[t].track.el.getBoundingClientRect(),this.axis[t].scrollbar.rect=this.axis[t].scrollbar.el.getBoundingClientRect(),this.isWithinBounds(this.axis[t].scrollbar.rect)?this.axis[t].scrollbar.el.classList.add(this.classNames.hover):this.axis[t].scrollbar.el.classList.remove(this.classNames.hover),this.isWithinBounds(this.axis[t].track.rect)?(this.showScrollbar(t),this.axis[t].track.el.classList.add(this.classNames.hover)):this.axis[t].track.el.classList.remove(this.classNames.hover)},e.onMouseLeaveForAxis=function(t){void 0===t&&(t="y"),this.axis[t].track.el.classList.remove(this.classNames.hover),this.axis[t].scrollbar.el.classList.remove(this.classNames.hover)},e.showScrollbar=function(t){void 0===t&&(t="y"),this.axis[t].isVisible||(this.axis[t].scrollbar.el.classList.add(this.classNames.visible),this.axis[t].isVisible=!0),this.options.autoHide&&this.hideScrollbars()},e.onDragStart=function(t,e){void 0===e&&(e="y");var n=D(this.el),a=E(this.el);this.axis[e].dragOffset=("y"===e?t.pageY:t.pageX)-this.axis[e].scrollbar.rect[this.axis[e].offsetAttr],this.draggedAxis=e,this.el.classList.add(this.classNames.dragging),n.addEventListener("mousemove",this.drag,!0),n.addEventListener("mouseup",this.onEndDrag,!0),null===this.removePreventClickId?(n.addEventListener("click",this.preventClick,!0),n.addEventListener("dblclick",this.preventClick,!0)):(a.clearTimeout(this.removePreventClickId),this.removePreventClickId=null)},e.onTrackClick=function(t,e){var n=this;if(void 0===e&&(e="y"),this.options.clickOnTrack){var a=E(this.el);this.axis[e].scrollbar.rect=this.axis[e].scrollbar.el.getBoundingClientRect();var r=this.axis[e].scrollbar.rect[this.axis[e].offsetAttr],o=parseInt(this.elStyles[this.axis[e].sizeAttr],10),i=this.contentWrapperEl[this.axis[e].scrollOffsetAttr],s=("y"===e?this.mouseY-r:this.mouseX-r)<0?-1:1,c=-1===s?i-o:i+o;!function t(){var r,o;-1===s?i>c&&(n.contentWrapperEl.scrollTo(((r={})[n.axis[e].offsetAttr]=i-=40,r)),a.requestAnimationFrame(t)):i<c&&(n.contentWrapperEl.scrollTo(((o={})[n.axis[e].offsetAttr]=i+=40,o)),a.requestAnimationFrame(t))}()}},e.getContentElement=function(){return this.contentEl},e.getScrollElement=function(){return this.contentWrapperEl},e.getScrollbarWidth=function(){try{return"none"===getComputedStyle(this.contentWrapperEl,"::-webkit-scrollbar").display||"scrollbarWidth"in document.documentElement.style||"-ms-overflow-style"in document.documentElement.style?0:A()}catch(t){return A()}},e.removeListeners=function(){var t=this,e=E(this.el);this.options.autoHide&&this.el.removeEventListener("mouseenter",this.onMouseEnter),["mousedown","click","dblclick"].forEach((function(e){t.el.removeEventListener(e,t.onPointerEvent,!0)})),["touchstart","touchend","touchmove"].forEach((function(e){t.el.removeEventListener(e,t.onPointerEvent,{capture:!0,passive:!0})})),this.el.removeEventListener("mousemove",this.onMouseMove),this.el.removeEventListener("mouseleave",this.onMouseLeave),this.contentWrapperEl.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onWindowResize),this.mutationObserver.disconnect(),this.resizeObserver.disconnect(),this.recalculate.cancel(),this.onMouseMove.cancel(),this.hideScrollbars.cancel(),this.onWindowResize.cancel()},e.unMount=function(){this.removeListeners(),t.instances.delete(this.el)},e.isWithinBounds=function(t){return this.mouseX>=t.left&&this.mouseX<=t.left+t.width&&this.mouseY>=t.top&&this.mouseY<=t.top+t.height},e.findChild=function(t,e){var n=t.matches||t.webkitMatchesSelector||t.mozMatchesSelector||t.msMatchesSelector;return Array.prototype.filter.call(t.children,(function(t){return n.call(t,e)}))[0]},t}();L.defaultOptions={autoHide:!0,forceVisible:!1,clickOnTrack:!0,classNames:{contentEl:"simplebar-content",contentWrapper:"simplebar-content-wrapper",offset:"simplebar-offset",mask:"simplebar-mask",wrapper:"simplebar-wrapper",placeholder:"simplebar-placeholder",scrollbar:"simplebar-scrollbar",track:"simplebar-track",heightAutoObserverWrapperEl:"simplebar-height-auto-observer-wrapper",heightAutoObserverEl:"simplebar-height-auto-observer",visible:"simplebar-visible",horizontal:"simplebar-horizontal",vertical:"simplebar-vertical",hover:"simplebar-hover",dragging:"simplebar-dragging"},scrollbarMinSize:25,scrollbarMaxSize:0,timeout:1e3},L.instances=new WeakMap;var q=L;n.d(e,"a",(function(){return j})),n.d(e,"b",(function(){return F}));class j{constructor(t){this.elRef=t}ngOnInit(){}ngAfterViewInit(){this.SimpleBar=new q(this.elRef.nativeElement,this.options||{})}ngOnDestroy(){this.SimpleBar.unMount(),this.SimpleBar=null}}class F{}},WFqU:function(t,e){var n="object"==typeof global&&global&&global.Object===Object&&global;t.exports=n},WJkJ:function(t,e){t.exports="\t\n\v\f\r                 \u2028\u2029\ufeff"},WKiH:function(t,e,n){var a=n("HYAF"),r="["+n("WJkJ")+"]",o=RegExp("^"+r+r+"*"),i=RegExp(r+r+"*$"),s=function(t){return function(e){var n=String(a(e));return 1&t&&(n=n.replace(o,"")),2&t&&(n=n.replace(i,"")),n}};t.exports={start:s(1),end:s(2),trim:s(3)}},WMd4:function(t,e,n){"use strict";n.d(e,"b",(function(){return i})),n.d(e,"a",(function(){return s}));var a=n("EY2u"),r=n("LRne"),o=n("z6cu"),i=function(t){return t.NEXT="N",t.ERROR="E",t.COMPLETE="C",t}({});let s=(()=>{class t{constructor(t,e,n){this.kind=t,this.value=e,this.error=n,this.hasValue="N"===t}observe(t){switch(this.kind){case"N":return t.next&&t.next(this.value);case"E":return t.error&&t.error(this.error);case"C":return t.complete&&t.complete()}}do(t,e,n){switch(this.kind){case"N":return t&&t(this.value);case"E":return e&&e(this.error);case"C":return n&&n()}}accept(t,e,n){return t&&"function"==typeof t.next?this.observe(t):this.do(t,e,n)}toObservable(){switch(this.kind){case"N":return Object(r.a)(this.value);case"E":return Object(o.a)(this.error);case"C":return Object(a.b)()}throw new Error("unexpected notification kind value")}static createNext(e){return void 0!==e?new t("N",e):t.undefinedValueNotification}static createError(e){return new t("E",void 0,e)}static createComplete(){return t.completeNotification}}return t.completeNotification=new t("C"),t.undefinedValueNotification=new t("N",void 0),t})()},WOoz:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SortDirection=function(t){return t.asc="asc",t.desc="desc",t}(e.SortDirection||{})},WYrj:function(t,e,n){!function(t){"use strict";var e=["ޖެނުއަރީ","ފެބްރުއަރީ","މާރިޗު","އޭޕްރީލު","މޭ","ޖޫން","ޖުލައި","އޯގަސްޓު","ސެޕްޓެމްބަރު","އޮކްޓޯބަރު","ނޮވެމްބަރު","ޑިސެމްބަރު"],n=["އާދިއްތަ","ހޯމަ","އަންގާރަ","ބުދަ","ބުރާސްފަތި","ހުކުރު","ހޮނިހިރު"];t.defineLocale("dv",{months:e,monthsShort:e,weekdays:n,weekdaysShort:n,weekdaysMin:"އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/M/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/މކ|މފ/,isPM:function(t){return"މފ"===t},meridiem:function(t,e,n){return t<12?"މކ":"މފ"},calendar:{sameDay:"[މިއަދު] LT",nextDay:"[މާދަމާ] LT",nextWeek:"dddd LT",lastDay:"[އިއްޔެ] LT",lastWeek:"[ފާއިތުވި] dddd LT",sameElse:"L"},relativeTime:{future:"ތެރޭގައި %s",past:"ކުރިން %s",s:"ސިކުންތުކޮޅެއް",ss:"d% ސިކުންތު",m:"މިނިޓެއް",mm:"މިނިޓު %d",h:"ގަޑިއިރެއް",hh:"ގަޑިއިރު %d",d:"ދުވަހެއް",dd:"ދުވަސް %d",M:"މަހެއް",MM:"މަސް %d",y:"އަހަރެއް",yy:"އަހަރު %d"},preparse:function(t){return t.replace(/،/g,",")},postformat:function(t){return t.replace(/,/g,"،")},week:{dow:7,doy:12}})}(n("wd/R"))},WaXT:function(t,e,n){"use strict";var a=n("8Y7J"),r=n("2vnA"),o=Object.assign((function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return r.a.apply(void 0,t)}),r.a),i=Object.assign((function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return r.c.apply(void 0,t)}),r.c),s=Object.assign((function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return r.d.apply(void 0,t)}),r.d),c=n("MP8s");n.d(e,"a",(function(){return u}));var l=function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},d=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},u=function(){function t(){this._dispose=[]}return Object.defineProperty(t.prototype,"nodes",{get:function(){return this._nodes},set:function(t){this.setNodes(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"marginTop",{get:function(){var t=this.viewportNodes&&this.viewportNodes.length&&this.viewportNodes[0];return(t&&t.parent?t.position-t.parent.position-t.parent.getSelfHeight():0)+"px"},enumerable:!0,configurable:!0}),t.prototype.setNodes=function(t){this._nodes=t},t.prototype.ngOnInit=function(){var t=this;this.virtualScroll=this.treeModel.virtualScroll,this._dispose=[Object(r.e)((function(){return t.virtualScroll.getViewportNodes(t.nodes).map((function(t){return t.index}))}),(function(e){t.viewportNodes=e.map((function(e){return t.nodes[e]}))}),{compareStructural:!0,fireImmediately:!0}),Object(r.e)((function(){return t.nodes}),(function(e){t.viewportNodes=t.virtualScroll.getViewportNodes(e)}))]},t.prototype.ngOnDestroy=function(){this._dispose.forEach((function(t){return t()}))},t.prototype.trackNode=function(t,e){return e.id},l([Object(a.Input)(),d("design:type",Object),d("design:paramtypes",[Object])],t.prototype,"nodes",null),l([Object(a.Input)(),d("design:type",c.a)],t.prototype,"treeModel",void 0),l([s,d("design:type",Object)],t.prototype,"_nodes",void 0),l([Object(a.Input)(),d("design:type",Object)],t.prototype,"templates",void 0),l([s,d("design:type",Array)],t.prototype,"viewportNodes",void 0),l([i,d("design:type",String),d("design:paramtypes",[])],t.prototype,"marginTop",null),l([o,d("design:type",Function),d("design:paramtypes",[Object]),d("design:returntype",void 0)],t.prototype,"setNodes",null),l([Object(a.Component)({selector:"tree-node-collection",encapsulation:a.ViewEncapsulation.None,template:'\n    <ng-container *treeMobxAutorun="{ dontDetach: true }">\n      <div [style.margin-top]="marginTop">\n        <tree-node\n          *ngFor="let node of viewportNodes; let i = index; trackBy: trackNode"\n          [node]="node"\n          [index]="i"\n          [templates]="templates"\n        >\n        </tree-node>\n      </div>\n    </ng-container>\n  '})],t)}()},WiuZ:function(t,e,n){"use strict";var a=n("8Y7J"),r=n("SVse"),o=n("978R"),i=n("z/SZ"),s=n("2uy1"),c=n("s7LF"),l=n("+gVj"),d=n("KOzp");n("wnGv"),n("GiVz"),n.d(e,"a",(function(){return u})),n.d(e,"b",(function(){return M}));var u=a["ɵcrt"]({encapsulation:0,styles:[[".select-menu-item[_ngcontent-%COMP%]{display:block;cursor:pointer;border-bottom:1px solid rgba(0,0,0,.09);font-size:12px}.select-menu-item[_ngcontent-%COMP%]:hover{background-color:#f5f5f5}.select-menu-item-icon[_ngcontent-%COMP%]{float:left;padding:.5em;width:3em}.select-menu-item-content[_ngcontent-%COMP%]{padding:.5em}"]],data:{}});function g(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback text-center"]],null,null,null,null,null)),(t()(),a["ɵted"](1,null,[" "," "]))],null,(function(t,e){t(e,1,0,e.component.messages.customValidations[e.parent.context.$implicit])}))}function f(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,null,null,null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,g)),a["ɵdid"](2,16384,null,0,r.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](0,null,null,0))],(function(t,e){var n=e.component;t(e,2,0,n.form.showError("filter",a["ɵnov"](e.parent,2))&&n.filter.hasError(e.context.$implicit))}),null)}function p(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"i",[["aria-hidden","true"]],null,null,null,null,null)),a["ɵprd"](512,null,r["ɵNgClassImpl"],r["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](2,278528,null,0,r.NgClass,[r["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),a["ɵpad"](3,1)],(function(t,e){var n=t(e,3,0,e.component.icons.check);t(e,2,0,n)}),null)}function m(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,null,null,null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,0,"br",[],null,null,null,null,null)),(t()(),a["ɵeld"](2,0,null,null,1,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(t()(),a["ɵted"](3,null,[" ","  "]))],null,(function(t,e){t(e,3,0,e.parent.context.$implicit.description)}))}function h(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,11,"div",[["class","select-menu-item"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.triggerSelection(t.context.$implicit)&&a),a}),null,null)),a["ɵprd"](512,null,r["ɵNgClassImpl"],r["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](2,278528,null,0,r.NgClass,[r["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),a["ɵpod"](3,{"help-block disabled":0}),(t()(),a["ɵeld"](4,0,null,null,3,"div",[["class","select-menu-item-icon"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,p)),a["ɵdid"](6,16384,null,0,r.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵted"](-1,null,["   "])),(t()(),a["ɵeld"](8,0,null,null,3,"div",[["class","select-menu-item-content"]],null,null,null,null,null)),(t()(),a["ɵted"](9,null,[" "," "])),(t()(),a["ɵand"](16777216,null,null,1,null,m)),a["ɵdid"](11,16384,null,0,r.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component,a=t(e,3,0,!(n.data.length!==n.selectionLimit&&e.context.$implicit.enabled||e.context.$implicit.selected));t(e,2,0,"select-menu-item",a),t(e,6,0,e.context.$implicit.selected),t(e,11,0,e.context.$implicit.description)}),(function(t,e){t(e,9,0,e.context.$implicit.name)}))}function b(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,8,"div",[["class","select-menu-item"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.addCustomOption()&&a),a}),null,null)),(t()(),a["ɵeld"](1,0,null,null,5,"div",[["class","select-menu-item-icon"]],null,null,null,null,null)),(t()(),a["ɵeld"](2,0,null,null,3,"i",[["aria-hidden","true"]],null,null,null,null,null)),a["ɵprd"](512,null,r["ɵNgClassImpl"],r["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](4,278528,null,0,r.NgClass,[r["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),a["ɵpad"](5,1),(t()(),a["ɵted"](-1,null,["   "])),(t()(),a["ɵeld"](7,0,null,null,1,"div",[["class","select-menu-item-content"]],null,null,null,null,null)),(t()(),a["ɵted"](8,null,[" "," '","' "]))],(function(t,e){var n=t(e,5,0,e.component.icons.tag);t(e,4,0,n)}),(function(t,e){var n=e.component;t(e,8,0,n.messages.add,n.filter.value)}))}function y(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,16777216,null,null,2,"span",[["class","form-text text-muted text-center text-warning"]],[[1,"aria-describedby",0]],null,null,null,null)),a["ɵdid"](1,212992,null,0,o.c,[a.ViewContainerRef,i.a,o.a,a.ElementRef,a.Renderer2,s.a],{tooltip:[0,"tooltip"]},null),(t()(),a["ɵted"](2,null,[" "," "])),(t()(),a["ɵand"](0,null,null,0))],(function(t,e){t(e,1,0,e.component.messages.selectionLimit.tooltip)}),(function(t,e){var n=e.component;t(e,0,0,a["ɵnov"](e,1).ariaDescribedby),t(e,2,0,n.messages.selectionLimit.text)}))}function _(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"div",[["class","is-invalid"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,y)),a["ɵdid"](2,16384,null,0,r.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,2,0,n.data.length===n.selectionLimit)}),null)}function O(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,15,"form",[["name","form"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(t,e,n){var r=!0;return"submit"===e&&(r=!1!==a["ɵnov"](t,2).onSubmit(n)&&r),"reset"===e&&(r=!1!==a["ɵnov"](t,2).onReset()&&r),"submit"===e&&(r=!1!==a["ɵnov"](t,5).onSubmit()&&r),r}),null,null)),a["ɵdid"](1,16384,null,0,c.G,[],null,null),a["ɵdid"](2,540672,[["formDir",4]],0,c.l,[[8,null],[8,null]],{form:[0,"form"]},null),a["ɵprd"](2048,null,c.d,null,[c.l]),a["ɵdid"](4,16384,null,0,c.s,[[4,c.d]],null,null),a["ɵdid"](5,16384,null,0,l.d,[],{formGroup:[0,"formGroup"]},null),(t()(),a["ɵeld"](6,0,null,null,9,"div",[],null,null,null,null,null)),(t()(),a["ɵeld"](7,0,null,null,6,"input",[["class","form-control text-center"],["formControlName","filter"],["type","text"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"keyup"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var r=!0,o=t.component;return"input"===e&&(r=!1!==a["ɵnov"](t,8)._handleInput(n.target.value)&&r),"blur"===e&&(r=!1!==a["ɵnov"](t,8).onTouched()&&r),"compositionstart"===e&&(r=!1!==a["ɵnov"](t,8)._compositionStart()&&r),"compositionend"===e&&(r=!1!==a["ɵnov"](t,8)._compositionEnd(n.target.value)&&r),"keyup"===e&&(r=!1!==(13==n.keyCode?o.selectOption():o.updateFilter())&&r),r}),null,null)),a["ɵdid"](8,16384,null,0,c.e,[a.Renderer2,a.ElementRef,[2,c.b]],null,null),a["ɵprd"](1024,null,c.p,(function(t){return[t]}),[c.e]),a["ɵdid"](10,671744,null,0,c.j,[[3,c.d],[8,null],[8,null],[6,c.p],[2,c.E]],{name:[0,"name"]},null),a["ɵprd"](2048,null,c.q,null,[c.j]),a["ɵdid"](12,16384,null,0,c.r,[[4,c.q]],null,null),a["ɵdid"](13,16384,null,0,l.h,[[3,c.d],l.a],{formControlName:[0,"formControlName"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,f)),a["ɵdid"](15,278528,null,0,r.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,h)),a["ɵdid"](17,278528,null,0,r.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,b)),a["ɵdid"](19,16384,null,0,r.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,_)),a["ɵdid"](21,16384,null,0,r.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](0,null,null,0))],(function(t,e){var n=e.component;t(e,2,0,n.form),t(e,5,0,n.form),t(e,10,0,"filter"),t(e,13,0,"filter"),t(e,15,0,n.Object.keys(n.messages.customValidations)),t(e,17,0,n.filteredOptions),t(e,19,0,n.isCreatable()),t(e,21,0,n.data.length===n.selectionLimit)}),(function(t,e){var n=e.component;t(e,0,0,a["ɵnov"](e,4).ngClassUntouched,a["ɵnov"](e,4).ngClassTouched,a["ɵnov"](e,4).ngClassPristine,a["ɵnov"](e,4).ngClassDirty,a["ɵnov"](e,4).ngClassValid,a["ɵnov"](e,4).ngClassInvalid,a["ɵnov"](e,4).ngClassPending),t(e,7,0,n.messages.filter,a["ɵnov"](e,12).ngClassUntouched,a["ɵnov"](e,12).ngClassTouched,a["ɵnov"](e,12).ngClassPristine,a["ɵnov"](e,12).ngClassDirty,a["ɵnov"](e,12).ngClassValid,a["ɵnov"](e,12).ngClassInvalid,a["ɵnov"](e,12).ngClassPending,a["ɵnov"](e,13).validClass,a["ɵnov"](e,13).invalidClass)}))}function v(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,16777216,null,null,4,"a",[["class","select-menu-edit float-left"],["container","body"],["outsideClick","true"],["placement","bottom"]],null,null,null,null,null)),a["ɵprd"](512,null,r["ɵNgClassImpl"],r["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](2,278528,null,0,r.NgClass,[r["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),a["ɵdid"](3,212992,null,0,d.c,[d.a,a.ElementRef,a.Renderer2,a.ViewContainerRef,i.a,s.a],{popover:[0,"popover"],placement:[1,"placement"],outsideClick:[2,"outsideClick"],container:[3,"container"]},null),a["ɵncd"](null,0),(t()(),a["ɵand"](0,null,null,0))],(function(t,e){t(e,2,0,"select-menu-edit float-left",e.component.elemClass),t(e,3,0,a["ɵnov"](e.parent,0),"bottom","true","body")}),null)}function C(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"span",[["class","form-text text-muted float-left"]],null,null,null,null,null)),(t()(),a["ɵted"](1,null,[" ","\n"]))],null,(function(t,e){t(e,1,0,e.component.messages.empty)}))}function P(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"span",[["class","form-text text-muted  float-left"]],null,null,null,null,null)),(t()(),a["ɵted"](1,null,[" ","\n"]))],null,(function(t,e){t(e,1,0,e.component.messages.noOptions)}))}function M(t){return a["ɵvid"](0,[(t()(),a["ɵand"](0,[["popTemplate",2]],null,0,null,O)),(t()(),a["ɵand"](16777216,null,null,1,null,v)),a["ɵdid"](2,16384,null,0,r.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,C)),a["ɵdid"](4,16384,null,0,r.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,P)),a["ɵdid"](6,16384,null,0,r.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,2,0,n.options.length>0),t(e,4,0,0===n.data.length&&n.options.length>0),t(e,6,0,0===n.options.length)}),null)}},WwFo:function(t,e,n){var a=n("juv8"),r=n("7GkX");t.exports=function(t,e){return t&&a(e,r(e),t)}},WxRl:function(t,e,n){!function(t){"use strict";var e="vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton".split(" ");function n(t,e,n,a){var r=t;switch(n){case"s":return a||e?"néhány másodperc":"néhány másodperce";case"ss":return r+(a||e)?" másodperc":" másodperce";case"m":return"egy"+(a||e?" perc":" perce");case"mm":return r+(a||e?" perc":" perce");case"h":return"egy"+(a||e?" óra":" órája");case"hh":return r+(a||e?" óra":" órája");case"d":return"egy"+(a||e?" nap":" napja");case"dd":return r+(a||e?" nap":" napja");case"M":return"egy"+(a||e?" hónap":" hónapja");case"MM":return r+(a||e?" hónap":" hónapja");case"y":return"egy"+(a||e?" év":" éve");case"yy":return r+(a||e?" év":" éve")}return""}function a(t){return(t?"":"[múlt] ")+"["+e[this.day()]+"] LT[-kor]"}t.defineLocale("hu",{months:"január_február_március_április_május_június_július_augusztus_szeptember_október_november_december".split("_"),monthsShort:"jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec".split("_"),weekdays:"vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat".split("_"),weekdaysShort:"vas_hét_kedd_sze_csüt_pén_szo".split("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D. H:mm",LLLL:"YYYY. MMMM D., dddd H:mm"},meridiemParse:/de|du/i,isPM:function(t){return"u"===t.charAt(1).toLowerCase()},meridiem:function(t,e,n){return t<12?!0===n?"de":"DE":!0===n?"du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek:function(){return a.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return a.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s múlva",past:"%s",s:n,ss:n,m:n,mm:n,h:n,hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("wd/R"))},"X+05":function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));var a={toggleExpanded:"toggleExpanded",activate:"activate",deactivate:"deactivate",nodeActivate:"nodeActivate",nodeDeactivate:"nodeDeactivate",select:"select",deselect:"deselect",focus:"focus",blur:"blur",initialized:"initialized",updateData:"updateData",moveNode:"moveNode",copyNode:"copyNode",event:"event",loadNodeChildren:"loadNodeChildren",changeFilter:"changeFilter",stateChange:"stateChange"}},X709:function(t,e,n){!function(t){"use strict";t.defineLocale("sv",{months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag".split("_"),weekdaysShort:"sön_mån_tis_ons_tor_fre_lör".split("_"),weekdaysMin:"sö_må_ti_on_to_fr_lö".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [kl.] HH:mm",LLLL:"dddd D MMMM YYYY [kl.] HH:mm",lll:"D MMM YYYY HH:mm",llll:"ddd D MMM YYYY HH:mm"},calendar:{sameDay:"[Idag] LT",nextDay:"[Imorgon] LT",lastDay:"[Igår] LT",nextWeek:"[På] dddd LT",lastWeek:"[I] dddd[s] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"för %s sedan",s:"några sekunder",ss:"%d sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en månad",MM:"%d månader",y:"ett år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}(e|a)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"e":1===e?"a":2===e?"a":"e")},week:{dow:1,doy:4}})}(n("wd/R"))},XDbj:function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var a=n("sVev"),r=n("7o/Q");function o(t=c){return e=>e.lift(new i(t))}class i{constructor(t){this.errorFactory=t}call(t,e){return e.subscribe(new s(t,this.errorFactory))}}class s extends r.a{constructor(t,e){super(t),this.errorFactory=e,this.hasValue=!1}_next(t){this.hasValue=!0,this.destination.next(t)}_complete(){if(this.hasValue)return this.destination.complete();{let e;try{e=this.errorFactory()}catch(t){e=t}this.destination.error(e)}}}function c(){return new a.a}},XDpg:function(t,e,n){!function(t){"use strict";t.defineLocale("zh-cn",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日Ah点mm分",LLLL:"YYYY年M月D日ddddAh点mm分",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(t,e){return 12===t&&(t=0),"凌晨"===e||"早上"===e||"上午"===e?t:"下午"===e||"晚上"===e?t+12:t>=11?t:t+12},meridiem:function(t,e,n){var a=100*t+e;return a<600?"凌晨":a<900?"早上":a<1130?"上午":a<1230?"中午":a<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|周)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"日";case"M":return t+"月";case"w":case"W":return t+"周";default:return t}},relativeTime:{future:"%s内",past:"%s前",s:"几秒",ss:"%d 秒",m:"1 分钟",mm:"%d 分钟",h:"1 小时",hh:"%d 小时",d:"1 天",dd:"%d 天",M:"1 个月",MM:"%d 个月",y:"1 年",yy:"%d 年"},week:{dow:1,doy:4}})}(n("wd/R"))},XFyV:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("oxzT");class r{constructor(){this.icons=a.a}}},XGnz:function(t,e,n){var a=n("CH3K"),r=n("BiGR");t.exports=function t(e,n,o,i,s){var c=-1,l=e.length;for(o||(o=r),s||(s=[]);++c<l;){var d=e[c];n>0&&o(d)?n>1?t(d,n-1,o,i,s):a(s,d):i||(s[s.length]=d)}return s}},XGwC:function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},XKAG:function(t,e,n){var a=n("ut/Y"),r=n("MMmD"),o=n("7GkX");t.exports=function(t){return function(e,n,i){var s=Object(e);if(!r(e)){var c=a(n,3);e=o(e),n=function(t){return c(s[t],t,s)}}var l=t(e,n,i);return l>-1?s[c?e[l]:l]:void 0}}},XLvN:function(t,e,n){!function(t){"use strict";t.defineLocale("te",{months:"జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్".split("_"),monthsShort:"జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.".split("_"),monthsParseExact:!0,weekdays:"ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం".split("_"),weekdaysShort:"ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని".split("_"),weekdaysMin:"ఆ_సో_మం_బు_గు_శు_శ".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[నేడు] LT",nextDay:"[రేపు] LT",nextWeek:"dddd, LT",lastDay:"[నిన్న] LT",lastWeek:"[గత] dddd, LT",sameElse:"L"},relativeTime:{future:"%s లో",past:"%s క్రితం",s:"కొన్ని క్షణాలు",ss:"%d సెకన్లు",m:"ఒక నిమిషం",mm:"%d నిమిషాలు",h:"ఒక గంట",hh:"%d గంటలు",d:"ఒక రోజు",dd:"%d రోజులు",M:"ఒక నెల",MM:"%d నెలలు",y:"ఒక సంవత్సరం",yy:"%d సంవత్సరాలు"},dayOfMonthOrdinalParse:/\d{1,2}వ/,ordinal:"%dవ",meridiemParse:/రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,meridiemHour:function(t,e){return 12===t&&(t=0),"రాత్రి"===e?t<4?t:t+12:"ఉదయం"===e?t:"మధ్యాహ్నం"===e?t>=10?t:t+12:"సాయంత్రం"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"రాత్రి":t<10?"ఉదయం":t<17?"మధ్యాహ్నం":t<20?"సాయంత్రం":"రాత్రి"},week:{dow:0,doy:6}})}(n("wd/R"))},XNiG:function(t,e,n){"use strict";n.d(e,"b",(function(){return l})),n.d(e,"a",(function(){return d}));var a=n("HDdC"),r=n("7o/Q"),o=n("quSY"),i=n("9ppp"),s=n("Ylt2"),c=n("2QA8");class l extends r.a{constructor(t){super(t),this.destination=t}}let d=(()=>{class t extends a.a{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[c.a](){return new l(this)}lift(t){const e=new u(this,this);return e.operator=t,e}next(t){if(this.closed)throw new i.a;if(!this.isStopped){const{observers:e}=this,n=e.length,a=e.slice();for(let r=0;r<n;r++)a[r].next(t)}}error(t){if(this.closed)throw new i.a;this.hasError=!0,this.thrownError=t,this.isStopped=!0;const{observers:e}=this,n=e.length,a=e.slice();for(let r=0;r<n;r++)a[r].error(t);this.observers.length=0}complete(){if(this.closed)throw new i.a;this.isStopped=!0;const{observers:t}=this,e=t.length,n=t.slice();for(let a=0;a<e;a++)n[a].complete();this.observers.length=0}unsubscribe(){this.isStopped=!0,this.closed=!0,this.observers=null}_trySubscribe(t){if(this.closed)throw new i.a;return super._trySubscribe(t)}_subscribe(t){if(this.closed)throw new i.a;return this.hasError?(t.error(this.thrownError),o.a.EMPTY):this.isStopped?(t.complete(),o.a.EMPTY):(this.observers.push(t),new s.a(this,t))}asObservable(){const t=new a.a;return t.source=this,t}}return t.create=(t,e)=>new u(t,e),t})();class u extends d{constructor(t,e){super(),this.destination=t,this.source=e}next(t){const{destination:e}=this;e&&e.next&&e.next(t)}error(t){const{destination:e}=this;e&&e.error&&this.destination.error(t)}complete(){const{destination:t}=this;t&&t.complete&&this.destination.complete()}_subscribe(t){const{source:e}=this;return e?this.source.subscribe(t):o.a.EMPTY}}},XYm9:function(t,e,n){var a=n("+K+b");t.exports=function(t,e){var n=e?a(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}},Xg1U:function(t,e,n){"use strict";n.d(e,"a",(function(){return c}));var a=n("8Y7J"),r=n("978R"),o=(n("SVse"),a["ɵcrt"]({encapsulation:0,styles:[".tooltip[_nghost-%COMP%] {\n      display: block;\n      pointer-events: none;\n    }\n    .bs3.tooltip.top[_nghost-%COMP%] > .arrow[_ngcontent-%COMP%] {\n      margin-left: -2px;\n    }\n    .bs3.tooltip.bottom[_nghost-%COMP%] {\n      margin-top: 0px;\n    }\n    .bs3.bs-tooltip-left[_nghost-%COMP%], .bs3.bs-tooltip-right[_nghost-%COMP%]{\n      margin: 0px;\n    }\n    .bs3.bs-tooltip-right[_nghost-%COMP%]   .arrow[_ngcontent-%COMP%], .bs3.bs-tooltip-left[_nghost-%COMP%]   .arrow[_ngcontent-%COMP%] {\n      margin: .3rem 0;\n    }"],data:{}}));function i(t){return a["ɵvid"](2,[(t()(),a["ɵeld"](0,0,null,null,0,"div",[["class","tooltip-arrow arrow"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,1,"div",[["class","tooltip-inner"]],null,null,null,null,null)),a["ɵncd"](null,0)],null,null)}function s(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"bs-tooltip-container",[["role","tooltip"]],[[8,"className",0],[2,"show",null],[2,"bs3",null],[1,"id",0]],null,null,i,o)),a["ɵdid"](1,4243456,null,0,r.b,[r.a],null,null)],null,(function(t,e){t(e,0,0,"tooltip in tooltip-"+a["ɵnov"](e,1).placement+" bs-tooltip-"+a["ɵnov"](e,1).placement+" "+a["ɵnov"](e,1).placement+" "+a["ɵnov"](e,1).containerClass,!a["ɵnov"](e,1).isBs3,a["ɵnov"](e,1).isBs3,a["ɵnov"](e,1).id)}))}var c=a["ɵccf"]("bs-tooltip-container",r.b,s,{},{},["*"])},Xi7e:function(t,e,n){var a=n("KMkd"),r=n("adU4"),o=n("tMB7"),i=n("+6XX"),s=n("Z8oC");function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var a=t[e];this.set(a[0],a[1])}}c.prototype.clear=a,c.prototype.delete=r,c.prototype.get=o,c.prototype.has=i,c.prototype.set=s,t.exports=c},XoHu:function(t,e,n){"use strict";function a(t){return null!==t&&"object"==typeof t}n.d(e,"a",(function(){return a}))},"Y/cZ":function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));let a=(()=>{class t{constructor(e,n=t.now){this.SchedulerAction=e,this.now=n}schedule(t,e=0,n){return new this.SchedulerAction(this,t).schedule(n,e)}}return t.now=()=>Date.now(),t})()},Y0Co:function(t,e,n){var a=n("mrSG").__decorate,r=n("mrSG").__metadata;Object.defineProperty(e,"__esModule",{value:!0});var o=n("8Y7J"),i=n("Lwhh"),s=n("8iEZ"),c=n("L5sC");n("BARL"),e.DataTableColumnDirective=function(){function t(t){this.columnChangesService=t,this.isFirstChange=!0}return t.prototype.ngOnChanges=function(){this.isFirstChange?this.isFirstChange=!1:this.columnChangesService.onInputChange()},a([o.Input(),r("design:type",String)],t.prototype,"name",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"prop",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"frozenLeft",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"frozenRight",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"flexGrow",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"resizeable",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"comparator",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"pipe",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"sortable",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"draggable",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"canAutoResize",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"minWidth",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"width",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"maxWidth",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"checkboxable",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"headerCheckboxable",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"headerClass",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"cellClass",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"isTreeColumn",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"treeLevelIndent",void 0),a([o.Input(),r("design:type",Function)],t.prototype,"summaryFunc",void 0),a([o.Input(),r("design:type",o.TemplateRef)],t.prototype,"summaryTemplate",void 0),a([o.Input(),o.ContentChild(s.DataTableColumnCellDirective,{read:o.TemplateRef,static:!0}),r("design:type",o.TemplateRef)],t.prototype,"cellTemplate",void 0),a([o.Input(),o.ContentChild(i.DataTableColumnHeaderDirective,{read:o.TemplateRef,static:!0}),r("design:type",o.TemplateRef)],t.prototype,"headerTemplate",void 0),a([o.Input(),o.ContentChild(c.DataTableColumnCellTreeToggle,{read:o.TemplateRef,static:!0}),r("design:type",o.TemplateRef)],t.prototype,"treeToggleTemplate",void 0),a([o.Directive({selector:"ngx-datatable-column"})],t)}()},Y6u4:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));const a=(()=>{function t(){return Error.call(this),this.message="Timeout has occurred",this.name="TimeoutError",this}return t.prototype=Object.create(Error.prototype),t})()},Y7HM:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("DH7j");function r(t){return!Object(a.a)(t)&&t-parseFloat(t)+1>=0}},YESw:function(t,e,n){var a=n("Cwc5")(Object,"create");t.exports=a},YNrV:function(t,e,n){"use strict";var a=n("g6v/"),r=n("0Dky"),o=n("33Wh"),i=n("dBg+"),s=n("0eef"),c=n("ewvW"),l=n("RK3t"),d=Object.assign,u=Object.defineProperty;t.exports=!d||r((function(){if(a&&1!==d({b:1},d(u({},"a",{enumerable:!0,get:function(){u(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},e={},n=Symbol();return t[n]=7,"abcdefghijklmnopqrst".split("").forEach((function(t){e[t]=t})),7!=d({},t)[n]||"abcdefghijklmnopqrst"!=o(d({},e)).join("")}))?function(t,e){for(var n=c(t),r=arguments.length,d=1,u=i.f,g=s.f;r>d;)for(var f,p=l(arguments[d++]),m=u?o(p).concat(u(p)):o(p),h=m.length,b=0;h>b;)f=m[b++],a&&!g.call(p,f)||(n[f]=p[f]);return n}:d},YO3V:function(t,e,n){var a=n("NykK"),r=n("LcsW"),o=n("ExA7"),i=Function.prototype.toString,s=Object.prototype.hasOwnProperty,c=i.call(Object);t.exports=function(t){if(!o(t)||"[object Object]"!=a(t))return!1;var e=r(t);if(null===e)return!0;var n=s.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&i.call(n)==c}},YRex:function(t,e,n){!function(t){"use strict";t.defineLocale("ug-cn",{months:"يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر".split("_"),monthsShort:"يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر".split("_"),weekdays:"يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە".split("_"),weekdaysShort:"يە_دۈ_سە_چا_پە_جۈ_شە".split("_"),weekdaysMin:"يە_دۈ_سە_چا_پە_جۈ_شە".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY-يىلىM-ئاينىڭD-كۈنى",LLL:"YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm",LLLL:"dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm"},meridiemParse:/يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,meridiemHour:function(t,e){return 12===t&&(t=0),"يېرىم كېچە"===e||"سەھەر"===e||"چۈشتىن بۇرۇن"===e?t:"چۈشتىن كېيىن"===e||"كەچ"===e?t+12:t>=11?t:t+12},meridiem:function(t,e,n){var a=100*t+e;return a<600?"يېرىم كېچە":a<900?"سەھەر":a<1130?"چۈشتىن بۇرۇن":a<1230?"چۈش":a<1800?"چۈشتىن كېيىن":"كەچ"},calendar:{sameDay:"[بۈگۈن سائەت] LT",nextDay:"[ئەتە سائەت] LT",nextWeek:"[كېلەركى] dddd [سائەت] LT",lastDay:"[تۆنۈگۈن] LT",lastWeek:"[ئالدىنقى] dddd [سائەت] LT",sameElse:"L"},relativeTime:{future:"%s كېيىن",past:"%s بۇرۇن",s:"نەچچە سېكونت",ss:"%d سېكونت",m:"بىر مىنۇت",mm:"%d مىنۇت",h:"بىر سائەت",hh:"%d سائەت",d:"بىر كۈن",dd:"%d كۈن",M:"بىر ئاي",MM:"%d ئاي",y:"بىر يىل",yy:"%d يىل"},dayOfMonthOrdinalParse:/\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"-كۈنى";case"w":case"W":return t+"-ھەپتە";default:return t}},preparse:function(t){return t.replace(/،/g,",")},postformat:function(t){return t.replace(/,/g,"،")},week:{dow:1,doy:7}})}(n("wd/R"))},YVFZ:function(t,e,n){var a=n("mrSG").__decorate,r=n("mrSG").__metadata;Object.defineProperty(e,"__esModule",{value:!0});var o=n("8Y7J"),i=n("5tze"),s=n("qwkt");n("czA5"),e.DataTableBodyCellComponent=function(){function t(t,e){this.cd=e,this.activate=new o.EventEmitter,this.treeAction=new o.EventEmitter,this.isFocused=!1,this.onCheckboxChangeFn=this.onCheckboxChange.bind(this),this.activateFn=this.activate.emit.bind(this.activate),this.cellContext={onCheckboxChangeFn:this.onCheckboxChangeFn,activateFn:this.activateFn,row:this.row,group:this.group,value:this.value,column:this.column,rowHeight:this.rowHeight,isSelected:this.isSelected,rowIndex:this.rowIndex,treeStatus:this.treeStatus,onTreeAction:this.onTreeAction.bind(this)},this._element=t.nativeElement}return Object.defineProperty(t.prototype,"group",{get:function(){return this._group},set:function(t){this._group=t,this.cellContext.group=t,this.checkValueUpdates(),this.cd.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"rowHeight",{get:function(){return this._rowHeight},set:function(t){this._rowHeight=t,this.cellContext.rowHeight=t,this.checkValueUpdates(),this.cd.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isSelected",{get:function(){return this._isSelected},set:function(t){this._isSelected=t,this.cellContext.isSelected=t,this.cd.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"expanded",{get:function(){return this._expanded},set:function(t){this._expanded=t,this.cellContext.expanded=t,this.cd.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"rowIndex",{get:function(){return this._rowIndex},set:function(t){this._rowIndex=t,this.cellContext.rowIndex=t,this.checkValueUpdates(),this.cd.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"column",{get:function(){return this._column},set:function(t){this._column=t,this.cellContext.column=t,this.checkValueUpdates(),this.cd.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"row",{get:function(){return this._row},set:function(t){this._row=t,this.cellContext.row=t,this.checkValueUpdates(),this.cd.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"sorts",{get:function(){return this._sorts},set:function(t){this._sorts=t,this.calcSortDir=this.calcSortDir(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"treeStatus",{get:function(){return this._treeStatus},set:function(t){this._treeStatus="collapsed"!==t&&"expanded"!==t&&"loading"!==t&&"disabled"!==t?"collapsed":t,this.cellContext.treeStatus=this._treeStatus,this.checkValueUpdates(),this.cd.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"columnCssClasses",{get:function(){var t="datatable-body-cell";if(this.column.cellClass)if("string"==typeof this.column.cellClass)t+=" "+this.column.cellClass;else if("function"==typeof this.column.cellClass){var e=this.column.cellClass({row:this.row,group:this.group,column:this.column,value:this.value,rowHeight:this.rowHeight});if("string"==typeof e)t+=e;else if("object"==typeof e)for(var n=0,a=Object.keys(e);n<a.length;n++){var r=a[n];!0===e[r]&&(t+=" "+r)}}return this.sortDir||(t+=" sort-active"),this.isFocused&&(t+=" active"),this.sortDir===s.SortDirection.asc&&(t+=" sort-asc"),this.sortDir===s.SortDirection.desc&&(t+=" sort-desc"),t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"width",{get:function(){return this.column.width},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"minWidth",{get:function(){return this.column.minWidth},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"maxWidth",{get:function(){return this.column.maxWidth},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"height",{get:function(){var t=this.rowHeight;return isNaN(t)?t:t+"px"},enumerable:!0,configurable:!0}),t.prototype.ngDoCheck=function(){this.checkValueUpdates()},t.prototype.ngOnDestroy=function(){this.cellTemplate&&this.cellTemplate.clear()},t.prototype.checkValueUpdates=function(){var t="";if(this.row&&this.column){var e=this.column.$$valueGetter(this.row,this.column.prop),n=this.column.pipe;n?t=n.transform(e):void 0!==t&&(t=e)}else t="";this.value!==t&&(this.value=t,this.cellContext.value=t,this.sanitizedValue=null!=t?this.stripHtml(t):t,this.cd.markForCheck())},t.prototype.onFocus=function(){this.isFocused=!0},t.prototype.onBlur=function(){this.isFocused=!1},t.prototype.onClick=function(t){this.activate.emit({type:"click",event:t,row:this.row,group:this.group,rowHeight:this.rowHeight,column:this.column,value:this.value,cellElement:this._element})},t.prototype.onDblClick=function(t){this.activate.emit({type:"dblclick",event:t,row:this.row,group:this.group,rowHeight:this.rowHeight,column:this.column,value:this.value,cellElement:this._element})},t.prototype.onKeyDown=function(t){var e=t.keyCode;(e===i.Keys.return||e===i.Keys.down||e===i.Keys.up||e===i.Keys.left||e===i.Keys.right)&&t.target===this._element&&(t.preventDefault(),t.stopPropagation(),this.activate.emit({type:"keydown",event:t,row:this.row,group:this.group,rowHeight:this.rowHeight,column:this.column,value:this.value,cellElement:this._element}))},t.prototype.onCheckboxChange=function(t){this.activate.emit({type:"checkbox",event:t,row:this.row,group:this.group,rowHeight:this.rowHeight,column:this.column,value:this.value,cellElement:this._element,treeStatus:"collapsed"})},t.prototype.calcSortDir=function(t){var e=this;if(t){var n=t.find((function(t){return t.prop===e.column.prop}));return n?n.dir:void 0}},t.prototype.stripHtml=function(t){return t.replace?t.replace(/<\/?[^>]+(>|$)/g,""):t},t.prototype.onTreeAction=function(){this.treeAction.emit(this.row)},t.prototype.calcLeftMargin=function(t,e){return t.isTreeColumn?e.level*(null!=t.treeLevelIndent?t.treeLevelIndent:50):0},a([o.Input(),r("design:type",Function)],t.prototype,"displayCheck",void 0),a([o.Input(),r("design:type",Object),r("design:paramtypes",[Object])],t.prototype,"group",null),a([o.Input(),r("design:type",Number),r("design:paramtypes",[Number])],t.prototype,"rowHeight",null),a([o.Input(),r("design:type",Boolean),r("design:paramtypes",[Boolean])],t.prototype,"isSelected",null),a([o.Input(),r("design:type",Boolean),r("design:paramtypes",[Boolean])],t.prototype,"expanded",null),a([o.Input(),r("design:type",Number),r("design:paramtypes",[Number])],t.prototype,"rowIndex",null),a([o.Input(),r("design:type",Object),r("design:paramtypes",[Object])],t.prototype,"column",null),a([o.Input(),r("design:type",Object),r("design:paramtypes",[Object])],t.prototype,"row",null),a([o.Input(),r("design:type",Array),r("design:paramtypes",[Array])],t.prototype,"sorts",null),a([o.Input(),r("design:type",String),r("design:paramtypes",[String])],t.prototype,"treeStatus",null),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"activate",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"treeAction",void 0),a([o.ViewChild("cellTemplate",{read:o.ViewContainerRef,static:!0}),r("design:type",o.ViewContainerRef)],t.prototype,"cellTemplate",void 0),a([o.HostBinding("class"),r("design:type",Object),r("design:paramtypes",[])],t.prototype,"columnCssClasses",null),a([o.HostBinding("style.width.px"),r("design:type",Number),r("design:paramtypes",[])],t.prototype,"width",null),a([o.HostBinding("style.minWidth.px"),r("design:type",Number),r("design:paramtypes",[])],t.prototype,"minWidth",null),a([o.HostBinding("style.maxWidth.px"),r("design:type",Number),r("design:paramtypes",[])],t.prototype,"maxWidth",null),a([o.HostBinding("style.height"),r("design:type",Object),r("design:paramtypes",[])],t.prototype,"height",null),a([o.HostListener("focus"),r("design:type",Function),r("design:paramtypes",[]),r("design:returntype",void 0)],t.prototype,"onFocus",null),a([o.HostListener("blur"),r("design:type",Function),r("design:paramtypes",[]),r("design:returntype",void 0)],t.prototype,"onBlur",null),a([o.HostListener("click",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],t.prototype,"onClick",null),a([o.HostListener("dblclick",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],t.prototype,"onDblClick",null),a([o.HostListener("keydown",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],t.prototype,"onKeyDown",null),a([o.Component({selector:"datatable-body-cell",changeDetection:o.ChangeDetectionStrategy.OnPush,template:'\n    <div\n      class="datatable-body-cell-label"\n      [style.margin-left.px]="calcLeftMargin(column, row)"\n    >\n      <label\n        *ngIf="\n          column.checkboxable &&\n          (!displayCheck || displayCheck(row, column, value))\n        "\n        class="datatable-checkbox"\n      >\n        <input\n          type="checkbox"\n          [checked]="isSelected"\n          (click)="onCheckboxChange($event)"\n        />\n      </label>\n      <ng-container *ngIf="column.isTreeColumn">\n        <button\n          *ngIf="!column.treeToggleTemplate"\n          class="datatable-tree-button"\n          [disabled]="treeStatus === \'disabled\'"\n          (click)="onTreeAction()"\n        >\n          <span>\n            <i\n              *ngIf="treeStatus === \'loading\'"\n              class="icon datatable-icon-collapse"\n            ></i>\n            <i\n              *ngIf="treeStatus === \'collapsed\'"\n              class="icon datatable-icon-up"\n            ></i>\n            <i\n              *ngIf="treeStatus === \'expanded\' || treeStatus === \'disabled\'"\n              class="icon datatable-icon-down"\n            ></i>\n          </span>\n        </button>\n        <ng-template\n          *ngIf="column.treeToggleTemplate"\n          [ngTemplateOutlet]="column.treeToggleTemplate"\n          [ngTemplateOutletContext]="{ cellContext: cellContext }"\n        >\n        </ng-template>\n      </ng-container>\n\n      <span\n        *ngIf="!column.cellTemplate"\n        [title]="sanitizedValue"\n        [innerHTML]="value"\n      >\n      </span>\n      <ng-template\n        #cellTemplate\n        *ngIf="column.cellTemplate"\n        [ngTemplateOutlet]="column.cellTemplate"\n        [ngTemplateOutletContext]="cellContext"\n      >\n      </ng-template>\n    </div>\n  '})],t)}()},YcCt:function(t,e,n){"use strict";function a(t,e){return Object.prototype.hasOwnProperty.call(t,e)}t.exports=function(t,e,n,r){n=n||"=";var o={};if("string"!=typeof t||0===t.length)return o;var i=/\+/g;t=t.split(e=e||"&");var s=1e3;r&&"number"==typeof r.maxKeys&&(s=r.maxKeys);var c=t.length;s>0&&c>s&&(c=s);for(var l=0;l<c;++l){var d,u,g,f,p=t[l].replace(i,"%20"),m=p.indexOf(n);m>=0?(d=p.substr(0,m),u=p.substr(m+1)):(d=p,u=""),g=decodeURIComponent(d),f=decodeURIComponent(u),a(o,g)?Array.isArray(o[g])?o[g].push(f):o[g]=[o[g],f]:o[g]=f}return o}},Ylt2:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("quSY");class r extends a.a{constructor(t,e){super(),this.subject=t,this.subscriber=e,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;const t=this.subject,e=t.observers;if(this.subject=null,!e||0===e.length||t.isStopped||t.closed)return;const n=e.indexOf(this.subscriber);-1!==n&&e.splice(n,1)}}},YuTi:function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},YzqF:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(){this._queue=[],this._pending=!1}return t.prototype.isLocked=function(){return this._pending},t.prototype.acquire=function(){var t=this,e=new Promise((function(e){return t._queue.push(e)}));return this._pending||this._dispatchNext(),e},t.prototype.runExclusive=function(t){return this.acquire().then((function(e){var n;try{n=t()}catch(a){throw e(),a}return Promise.resolve(n).then((function(t){return e(),t}),(function(t){throw e(),t}))}))},t.prototype._dispatchNext=function(){this._queue.length>0?(this._pending=!0,this._queue.shift()(this._dispatchNext.bind(this))):this._pending=!1},t}();e.default=a},Z0cm:function(t,e){t.exports=Array.isArray},Z21x:function(t,e,n){"use strict";n.d(e,"a",(function(){return a})),n("sne2");class a{constructor(t,e){this.location=t,this.actionLabels=e,this.name=this.actionLabels.CANCEL,this.back=()=>this.location.back()}}},Z4QM:function(t,e,n){!function(t){"use strict";var e=["جنوري","فيبروري","مارچ","اپريل","مئي","جون","جولاءِ","آگسٽ","سيپٽمبر","آڪٽوبر","نومبر","ڊسمبر"],n=["آچر","سومر","اڱارو","اربع","خميس","جمع","ڇنڇر"];t.defineLocale("sd",{months:e,monthsShort:e,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(t){return"شام"===t},meridiem:function(t,e,n){return t<12?"صبح":"شام"},calendar:{sameDay:"[اڄ] LT",nextDay:"[سڀاڻي] LT",nextWeek:"dddd [اڳين هفتي تي] LT",lastDay:"[ڪالهه] LT",lastWeek:"[گزريل هفتي] dddd [تي] LT",sameElse:"L"},relativeTime:{future:"%s پوء",past:"%s اڳ",s:"چند سيڪنڊ",ss:"%d سيڪنڊ",m:"هڪ منٽ",mm:"%d منٽ",h:"هڪ ڪلاڪ",hh:"%d ڪلاڪ",d:"هڪ ڏينهن",dd:"%d ڏينهن",M:"هڪ مهينو",MM:"%d مهينا",y:"هڪ سال",yy:"%d سال"},preparse:function(t){return t.replace(/،/g,",")},postformat:function(t){return t.replace(/,/g,"،")},week:{dow:1,doy:4}})}(n("wd/R"))},Z8oC:function(t,e,n){var a=n("y1pI");t.exports=function(t,e){var n=this.__data__,r=a(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this}},ZAMP:function(t,e,n){!function(t){"use strict";t.defineLocale("ms-my",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(t,e){return 12===t&&(t=0),"pagi"===e?t:"tengahari"===e?t>=11?t:t+12:"petang"===e||"malam"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"pagi":t<15?"tengahari":t<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}(n("wd/R"))},ZCgT:function(t,e,n){var a=n("tLB3");t.exports=function(t){return t?(t=a(t))===1/0||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}},ZCpW:function(t,e,n){var a=n("lm/5"),r=n("O7RO"),o=n("IOzZ");t.exports=function(t){var e=r(t);return 1==e.length&&e[0][2]?o(e[0][0],e[0][1]):function(n){return n===t||a(n,t,e)}}},ZDA6:function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var a=n("8Y7J"),r=n("IheW"),o=n("pL04");let i=(()=>{class t{constructor(t){this.http=t}list(){return this.http.get("ui-api/scope")}}return t.ngInjectableDef=a["ɵɵdefineInjectable"]({factory:function(){return new t(a["ɵɵinject"](r.c))},token:t,providedIn:o.a}),t})()},ZEkX:function(t,e,n){"use strict";n.d(e,"a",(function(){return l})),n.d(e,"b",(function(){return c})),n("Mxhz");var a=n("0+/T"),r=(n("sne2"),n("x38r")),o=n("oxzT"),i=n("mtw6"),s=n("vCyI");n("a0VL"),n("nSDx"),n("aexS"),n("9nlD");const c=new(n("EgGo").a)("user-management/users");class l{constructor(t,e,n,a,r,i,c,l,d){this.userService=t,this.emptyPipe=e,this.modalService=n,this.notificationService=a,this.authStorageService=r,this.i18n=i,this.urlBuilder=c,this.cdDatePipe=l,this.actionLabels=d,this.selection=new s.a,this.permission=this.authStorageService.getPermissions().user,this.tableActions=[{permission:"create",icon:o.a.add,routerLink:()=>this.urlBuilder.getCreate(),name:this.actionLabels.CREATE},{permission:"update",icon:o.a.edit,routerLink:()=>this.selection.first()&&this.urlBuilder.getEdit(this.selection.first().username),name:this.actionLabels.EDIT},{permission:"delete",icon:o.a.destroy,click:()=>this.deleteUserModal(),name:this.actionLabels.DELETE}]}ngOnInit(){this.columns=[{name:this.i18n("Username"),prop:"username",flexGrow:1},{name:this.i18n("Name"),prop:"name",flexGrow:1,pipe:this.emptyPipe},{name:this.i18n("Email"),prop:"email",flexGrow:1,pipe:this.emptyPipe},{name:this.i18n("Roles"),prop:"roles",flexGrow:1,cellTemplate:this.userRolesTpl},{name:this.i18n("Enabled"),prop:"enabled",flexGrow:1,cellTransformation:r.a.checkIcon},{name:this.i18n("Password expiration date"),prop:"pwdExpirationDate",flexGrow:1,pipe:this.cdDatePipe}]}getUsers(){this.userService.list().subscribe(t=>{t.forEach(t=>{t.pwdExpirationDate&&t.pwdExpirationDate>0&&(t.pwdExpirationDate=1e3*t.pwdExpirationDate)}),this.users=t})}updateSelection(t){this.selection=t}deleteUser(t){this.userService.delete(t).subscribe(()=>{this.getUsers(),this.modalRef.hide(),this.notificationService.show(i.a.success,this.i18n('Deleted user "{{username}}"',{username:t}))},()=>{this.modalRef.content.stopLoadingSpinner()})}deleteUserModal(){const t=this.authStorageService.getUsername(),e=this.selection.first().username;t!==e?this.modalRef=this.modalService.show(a.a,{initialState:{itemDescription:"User",itemNames:[e],submitAction:()=>this.deleteUser(e)}}):this.notificationService.show(i.a.error,this.i18n('Failed to delete user "{{username}}"',{username:e}),this.i18n('You are currently logged in as "{{username}}".',{username:e}))}}},ZUHj:function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var a=n("51Dv"),r=n("SeVD"),o=n("HDdC");function i(t,e,n,i,s=new a.a(t,n,i)){if(!s.closed)return e instanceof o.a?e.subscribe(s):Object(r.a)(e)(s)}},ZUd8:function(t,e,n){var a=n("ppGB"),r=n("HYAF"),o=function(t){return function(e,n){var o,i,s=String(r(e)),c=a(n),l=s.length;return c<0||c>=l?t?"":void 0:(o=s.charCodeAt(c))<55296||o>56319||c+1===l||(i=s.charCodeAt(c+1))<56320||i>57343?t?s.charAt(c):o:t?s.slice(c,c+2):i-56320+(o-55296<<10)+65536}};t.exports={codeAt:o(!1),charAt:o(!0)}},ZWtO:function(t,e,n){var a=n("4uTw"),r=n("9Nap");t.exports=function(t,e){for(var n=0,o=(e=a(e,t)).length;null!=t&&n<o;)t=t[r(e[n++])];return n&&n==o?t:void 0}},Zduo:function(t,e,n){!function(t){"use strict";t.defineLocale("eo",{months:"januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec".split("_"),weekdays:"dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato".split("_"),weekdaysShort:"dim_lun_mard_merk_ĵaŭ_ven_sab".split("_"),weekdaysMin:"di_lu_ma_me_ĵa_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D[-a de] MMMM, YYYY",LLL:"D[-a de] MMMM, YYYY HH:mm",LLLL:"dddd, [la] D[-a de] MMMM, YYYY HH:mm"},meridiemParse:/[ap]\.t\.m/i,isPM:function(t){return"p"===t.charAt(0).toLowerCase()},meridiem:function(t,e,n){return t>11?n?"p.t.m.":"P.T.M.":n?"a.t.m.":"A.T.M."},calendar:{sameDay:"[Hodiaŭ je] LT",nextDay:"[Morgaŭ je] LT",nextWeek:"dddd [je] LT",lastDay:"[Hieraŭ je] LT",lastWeek:"[pasinta] dddd [je] LT",sameElse:"L"},relativeTime:{future:"post %s",past:"antaŭ %s",s:"sekundoj",ss:"%d sekundoj",m:"minuto",mm:"%d minutoj",h:"horo",hh:"%d horoj",d:"tago",dd:"%d tagoj",M:"monato",MM:"%d monatoj",y:"jaro",yy:"%d jaroj"},dayOfMonthOrdinalParse:/\d{1,2}a/,ordinal:"%da",week:{dow:1,doy:7}})}(n("wd/R"))},ZfDv:function(t,e,n){var a=n("hh1v"),r=n("6LWA"),o=n("tiKp")("species");t.exports=function(t,e){var n;return r(t)&&("function"!=typeof(n=t.constructor)||n!==Array&&!r(n.prototype)?a(n)&&null===(n=n[o])&&(n=void 0):n=void 0),new(void 0===n?Array:n)(0===e?0:e)}},ZhuC:function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var a=n("8Y7J"),r=n("f95s"),o=function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},i=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},s=function(){function t(){}return o([Object(a.Input)(),i("design:type",a.TemplateRef)],t.prototype,"template",void 0),o([Object(a.Input)(),i("design:type",r.a)],t.prototype,"node",void 0),o([Object(a.Component)({encapsulation:a.ViewEncapsulation.None,selector:"tree-loading-component",template:'\n    <span *ngIf="!template">loading...</span>\n    <ng-container\n      [ngTemplateOutlet]="template"\n      [ngTemplateOutletContext]="{ $implicit: node }">\n    </ng-container>\n  '})],t)}()},ZirO:function(t,e){t.exports=function(t,e){for(var n=-1,a=null==t?0:t.length;++n<a;)if(!e(t[n],n,t))return!1;return!0}},a0VL:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{constructor(t){this.datePipe=t}transform(t){return null===t||""===t?"":this.datePipe.transform(t,"shortDate")+" "+this.datePipe.transform(t,"mediumTime")}}},a278:function(t,e,n){"use strict";var a=n("8Y7J"),r=n("QC43"),o=n("XFyV"),i=n("DqMs"),s=n("/NlG"),c=n("GiVz"),l=n("s7LF"),d=n("SVse");n("insk"),n("mSOc"),n("cUpR"),n("20UP"),n("+0ag"),n.d(e,"a",(function(){return u})),n.d(e,"b",(function(){return b}));var u=a["ɵcrt"]({encapsulation:0,styles:[[".grafana[_ngcontent-%COMP%]{width:100%;height:600px;z-index:0}.grafana_one[_ngcontent-%COMP%]{height:400px}.grafana_two[_ngcontent-%COMP%]{height:750px}.grafana_three[_ngcontent-%COMP%]{height:900px}.timepicker[_ngcontent-%COMP%]   label[_ngcontent-%COMP%]{font-weight:700}.dropdown-menu[_ngcontent-%COMP%]{top:20px;right:20px;left:auto}"]],data:{}});function g(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"cd-loading-panel",[],null,null,null,r.b,r.a)),a["ɵdid"](1,49152,null,0,o.a,[],null,null),(t()(),a["ɵted"](-1,0,["Loading panel data..."]))],null,null)}function f(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,5,"cd-alert-panel",[["type","info"]],null,null,null,i.b,i.a)),a["ɵdid"](1,114688,null,0,s.a,[c.a],{type:[0,"type"]},null),(t()(),a["ɵted"](-1,0,["Please consult the "])),(t()(),a["ɵeld"](3,0,null,0,1,"a",[["target","_blank"]],[[8,"href",4]],null,null,null,null)),(t()(),a["ɵted"](-1,null,["documentation"])),(t()(),a["ɵted"](-1,0,[" on how to configure and enable the monitoring functionality."]))],(function(t,e){t(e,1,0,"info")}),(function(t,e){t(e,3,0,a["ɵinlineInterpolate"](1,"",e.component.docsUrl,""))}))}function p(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,5,"cd-alert-panel",[["type","info"]],null,null,null,i.b,i.a)),a["ɵdid"](1,114688,null,0,s.a,[c.a],{type:[0,"type"]},null),(t()(),a["ɵted"](-1,0,["Grafana Dashboard doesn't exist. Please refer to "])),(t()(),a["ɵeld"](3,0,null,0,1,"a",[["target","_blank"]],[[8,"href",4]],null,null,null,null)),(t()(),a["ɵted"](-1,null,["documentation"])),(t()(),a["ɵted"](-1,0,[" on how to add dashboards to Grafana."]))],(function(t,e){t(e,1,0,"info")}),(function(t,e){t(e,3,0,a["ɵinlineInterpolate"](1,"",e.component.docsUrl,""))}))}function m(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),a["ɵdid"](1,147456,null,0,l.v,[a.ElementRef,a.Renderer2,[2,l.A]],{ngValue:[0,"ngValue"]},null),a["ɵdid"](2,147456,null,0,l.F,[a.ElementRef,a.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(t()(),a["ɵted"](3,null,[""," "]))],(function(t,e){t(e,1,0,e.context.$implicit.value),t(e,2,0,e.context.$implicit.value)}),(function(t,e){t(e,3,0,e.context.$implicit.name)}))}function h(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,24,null,null,null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,17,"div",[["class","row"]],null,null,null,null,null)),(t()(),a["ɵeld"](2,0,null,null,16,"div",[["class","col-12"]],null,null,null,null,null)),(t()(),a["ɵeld"](3,0,null,null,15,"div",[["class","form-inline timepicker"]],null,null,null,null,null)),(t()(),a["ɵeld"](4,0,null,null,1,"label",[["class","ml-1 my-1 col-form-label"],["for","timepicker"]],null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["Grafana Time Picker"])),(t()(),a["ɵeld"](6,0,null,null,7,"select",[["class","custom-select my-1 mx-3"],["id","timepicker"],["name","timepicker"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],(function(t,e,n){var r=!0,o=t.component;return"change"===e&&(r=!1!==a["ɵnov"](t,7).onChange(n.target.value)&&r),"blur"===e&&(r=!1!==a["ɵnov"](t,7).onTouched()&&r),"ngModelChange"===e&&(r=!1!==(o.time=n)&&r),"ngModelChange"===e&&(r=!1!==o.onTimepickerChange(n)&&r),r}),null,null)),a["ɵdid"](7,16384,null,0,l.A,[a.Renderer2,a.ElementRef],null,null),a["ɵprd"](1024,null,l.p,(function(t){return[t]}),[l.A]),a["ɵdid"](9,671744,null,0,l.u,[[8,null],[8,null],[8,null],[6,l.p]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),a["ɵprd"](2048,null,l.q,null,[l.u]),a["ɵdid"](11,16384,null,0,l.r,[[4,l.q]],null,null),(t()(),a["ɵand"](16777216,null,null,1,null,m)),a["ɵdid"](13,278528,null,0,d.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),a["ɵeld"](14,0,null,null,4,"button",[["class","btn btn-light my-1"],["title","Reset Settings"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.reset()&&a),a}),null,null)),(t()(),a["ɵeld"](15,0,null,null,3,"i",[],null,null,null,null,null)),a["ɵprd"](512,null,d["ɵNgClassImpl"],d["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](17,278528,null,0,d.NgClass,[d["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),a["ɵpad"](18,1),(t()(),a["ɵeld"](19,0,null,null,5,"div",[["class","row"]],null,null,null,null,null)),(t()(),a["ɵeld"](20,0,null,null,4,"div",[["class","col-12"]],null,null,null,null,null)),(t()(),a["ɵeld"](21,0,null,null,3,"div",[["class","grafana-container"]],null,null,null,null,null)),(t()(),a["ɵeld"](22,0,[["iframe",1]],null,2,"iframe",[["class","grafana"],["frameborder","0"],["id","iframe"],["scrolling","no"]],[[8,"src",5]],null,null,null,null)),a["ɵprd"](512,null,d["ɵNgClassImpl"],d["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](24,278528,null,0,d.NgClass,[d["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null)],(function(t,e){var n=e.component;t(e,9,0,"timepicker",n.time),t(e,13,0,n.grafanaTimes);var a=t(e,18,0,n.icons.undo);t(e,17,0,a),t(e,24,0,"grafana",n.panelStyle)}),(function(t,e){var n=e.component;t(e,6,0,a["ɵnov"](e,11).ngClassUntouched,a["ɵnov"](e,11).ngClassTouched,a["ɵnov"](e,11).ngClassPristine,a["ɵnov"](e,11).ngClassDirty,a["ɵnov"](e,11).ngClassValid,a["ɵnov"](e,11).ngClassInvalid,a["ɵnov"](e,11).ngClassPending),t(e,22,0,n.grafanaSrc)}))}function b(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,1,null,g)),a["ɵdid"](1,16384,null,0,d.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,f)),a["ɵdid"](3,16384,null,0,d.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,p)),a["ɵdid"](5,16384,null,0,d.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,h)),a["ɵdid"](7,16384,null,0,d.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0,n.loading&&n.grafanaExist),t(e,3,0,!n.grafanaExist),t(e,5,0,!n.dashboardExist),t(e,7,0,n.grafanaExist&&n.dashboardExist)}),null)}},a40w:function(t,e,n){"use strict";var a=n("8Y7J"),r=n("EEJc"),o=n("ajRT"),i=n("s7LF"),s=n("+gVj"),c=n("SVse"),l=n("gp3X"),d=n("sb0X"),u=n("KVJa"),g=n("Z21x"),f=n("sne2"),p=n("OLbh"),m=n("LqlI");n.d(e,"a",(function(){return v}));var h=a["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function b(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,0,null,null,null,null,null,null,null))],null,null)}function y(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"p",[],null,null,null,null,null)),(t()(),a["ɵted"](1,null,[" "," "]))],null,(function(t,e){t(e,1,0,e.component.description)}))}function _(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,22,"cd-modal",[],null,[[null,"hide"]],(function(t,e,n){var a=!0;return"hide"===e&&(a=!1!==t.component.cancel()&&a),a}),r.c,r.b)),a["ɵdid"](1,49152,null,0,o.a,[],null,{hide:"hide"}),(t()(),a["ɵeld"](2,0,null,0,1,null,null,null,null,null,null,null)),(t()(),a["ɵted"](3,null,["",""])),(t()(),a["ɵeld"](4,0,null,1,18,null,null,null,null,null,null,null)),(t()(),a["ɵeld"](5,0,null,null,17,"form",[["name","confirmationForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(t,e,n){var r=!0;return"submit"===e&&(r=!1!==a["ɵnov"](t,7).onSubmit(n)&&r),"reset"===e&&(r=!1!==a["ɵnov"](t,7).onReset()&&r),"submit"===e&&(r=!1!==a["ɵnov"](t,10).onSubmit()&&r),r}),null,null)),a["ɵdid"](6,16384,null,0,i.G,[],null,null),a["ɵdid"](7,540672,[["formDir",4]],0,i.l,[[8,null],[8,null]],{form:[0,"form"]},null),a["ɵprd"](2048,null,i.d,null,[i.l]),a["ɵdid"](9,16384,null,0,i.s,[[4,i.d]],null,null),a["ɵdid"](10,16384,null,0,s.d,[],{formGroup:[0,"formGroup"]},null),(t()(),a["ɵeld"](11,0,null,null,4,"div",[["class","modal-body"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,b)),a["ɵdid"](13,540672,null,0,c.NgTemplateOutlet,[a.ViewContainerRef],{ngTemplateOutletContext:[0,"ngTemplateOutletContext"],ngTemplateOutlet:[1,"ngTemplateOutlet"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,y)),a["ɵdid"](15,16384,null,0,c.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵeld"](16,0,null,null,6,"div",[["class","modal-footer"]],null,null,null,null,null)),(t()(),a["ɵeld"](17,0,null,null,5,"div",[["class","button-group text-right"]],null,null,null,null,null)),(t()(),a["ɵeld"](18,0,null,null,2,"cd-submit-button",[],null,[[null,"submitAction"]],(function(t,e,n){var a=!0,r=t.component;return"submitAction"===e&&(a=!1!==r.onSubmit(r.confirmationForm.value)&&a),a}),l.b,l.a)),a["ɵdid"](19,114688,null,0,d.a,[a.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(t()(),a["ɵted"](20,0,[" "," "])),(t()(),a["ɵeld"](21,0,null,null,1,"cd-back-button",[["name","Cancel"]],null,null,null,u.b,u.a)),a["ɵdid"](22,49152,null,0,g.a,[c.Location,f.b],{name:[0,"name"],back:[1,"back"]},null)],(function(t,e){var n=e.component;t(e,7,0,n.confirmationForm),t(e,10,0,n.confirmationForm),t(e,13,0,n.bodyContext,n.bodyTpl),t(e,15,0,n.description),t(e,19,0,n.confirmationForm),t(e,22,0,"Cancel",n.boundCancel)}),(function(t,e){var n=e.component;t(e,3,0,n.titleText),t(e,5,0,a["ɵnov"](e,9).ngClassUntouched,a["ɵnov"](e,9).ngClassTouched,a["ɵnov"](e,9).ngClassPristine,a["ɵnov"](e,9).ngClassDirty,a["ɵnov"](e,9).ngClassValid,a["ɵnov"](e,9).ngClassInvalid,a["ɵnov"](e,9).ngClassPending),t(e,20,0,n.buttonText)}))}function O(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"cd-confirmation-modal",[],null,null,null,_,h)),a["ɵdid"](1,245760,null,0,p.a,[m.a,m.b],null,null)],(function(t,e){t(e,1,0)}),null)}var v=a["ɵccf"]("cd-confirmation-modal",p.a,O,{},{},[])},a96k:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{constructor(t,e,n,a=!0){this.selected=t,this.name=e,this.description=n,this.enabled=a}}},aGrj:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("eIep");function r(t,e){return e?Object(a.a)(()=>t,e):Object(a.a)(()=>t)}},aHM3:function(t,e,n){"use strict";n.d(e,"a",(function(){return a})),n("8Y7J"),n("s7LF");class a{static forRoot(){return{ngModule:a,providers:[]}}}},aIdf:function(t,e,n){!function(t){"use strict";function e(t,e,n){return t+" "+function(t,e){return 2===e?function(t){var e={m:"v",b:"v",d:"z"};return void 0===e[t.charAt(0)]?t:e[t.charAt(0)]+t.substring(1)}(t):t}({mm:"munutenn",MM:"miz",dd:"devezh"}[n],t)}t.defineLocale("br",{months:"Genver_C'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),monthsShort:"Gen_C'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),weekdays:"Sul_Lun_Meurzh_Merc'her_Yaou_Gwener_Sadorn".split("_"),weekdaysShort:"Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),weekdaysMin:"Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h[e]mm A",LTS:"h[e]mm:ss A",L:"DD/MM/YYYY",LL:"D [a viz] MMMM YYYY",LLL:"D [a viz] MMMM YYYY h[e]mm A",LLLL:"dddd, D [a viz] MMMM YYYY h[e]mm A"},calendar:{sameDay:"[Hiziv da] LT",nextDay:"[Warc'hoazh da] LT",nextWeek:"dddd [da] LT",lastDay:"[Dec'h da] LT",lastWeek:"dddd [paset da] LT",sameElse:"L"},relativeTime:{future:"a-benn %s",past:"%s 'zo",s:"un nebeud segondennoù",ss:"%d eilenn",m:"ur vunutenn",mm:e,h:"un eur",hh:"%d eur",d:"un devezh",dd:e,M:"ur miz",MM:e,y:"ur bloaz",yy:function(t){switch(function t(e){return e>9?t(e%10):e}(t)){case 1:case 3:case 4:case 5:case 9:return t+" bloaz";default:return t+" vloaz"}}},dayOfMonthOrdinalParse:/\d{1,2}(añ|vet)/,ordinal:function(t){return t+(1===t?"añ":"vet")},week:{dow:1,doy:4}})}(n("wd/R"))},aIsn:function(t,e,n){!function(t){"use strict";t.defineLocale("mi",{months:"Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea".split("_"),monthsShort:"Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki".split("_"),monthsRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,weekdays:"Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei".split("_"),weekdaysShort:"Ta_Ma_Tū_We_Tāi_Pa_Hā".split("_"),weekdaysMin:"Ta_Ma_Tū_We_Tāi_Pa_Hā".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [i] HH:mm",LLLL:"dddd, D MMMM YYYY [i] HH:mm"},calendar:{sameDay:"[i teie mahana, i] LT",nextDay:"[apopo i] LT",nextWeek:"dddd [i] LT",lastDay:"[inanahi i] LT",lastWeek:"dddd [whakamutunga i] LT",sameElse:"L"},relativeTime:{future:"i roto i %s",past:"%s i mua",s:"te hēkona ruarua",ss:"%d hēkona",m:"he meneti",mm:"%d meneti",h:"te haora",hh:"%d haora",d:"he ra",dd:"%d ra",M:"he marama",MM:"%d marama",y:"he tau",yy:"%d tau"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n("wd/R"))},aQkU:function(t,e,n){!function(t){"use strict";t.defineLocale("mk",{months:"јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември".split("_"),monthsShort:"јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек".split("_"),weekdays:"недела_понеделник_вторник_среда_четврток_петок_сабота".split("_"),weekdaysShort:"нед_пон_вто_сре_чет_пет_саб".split("_"),weekdaysMin:"нe_пo_вт_ср_че_пе_сa".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[Денес во] LT",nextDay:"[Утре во] LT",nextWeek:"[Во] dddd [во] LT",lastDay:"[Вчера во] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[Изминатата] dddd [во] LT";case 1:case 2:case 4:case 5:return"[Изминатиот] dddd [во] LT"}},sameElse:"L"},relativeTime:{future:"после %s",past:"пред %s",s:"неколку секунди",ss:"%d секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дена",M:"месец",MM:"%d месеци",y:"година",yy:"%d години"},dayOfMonthOrdinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(t){var e=t%10,n=t%100;return 0===t?t+"-ев":0===n?t+"-ен":n>10&&n<20?t+"-ти":1===e?t+"-ви":2===e?t+"-ри":7===e||8===e?t+"-ми":t+"-ти"},week:{dow:1,doy:7}})}(n("wd/R"))},aTeT:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SortType=function(t){return t.single="single",t.multi="multi",t}(e.SortType||{})},aXbf:function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var a=n("LvDl"),r=n("8Y7J");let o=(()=>{class t{constructor(){}format_number(t,e,n,r=1){if(a.isString(t)&&(t=Number(t)),!a.isNumber(t))return"-";let o=t<1?0:Math.floor(Math.log(t)/Math.log(e));o=o>=n.length?n.length-1:o;let i=a.round(t/Math.pow(e,o),r).toString();return""===i?"-":(""!==n[o]&&(i=`${i} ${n[o]}`),i)}toBytes(t,e=null){const n=["b","k","m","g","t","p","e","z","y"],r=RegExp("^(\\d+(.\\d+)?) ?(["+n.join("")+"]?(b|ib|B/s)?)?$","i").exec(t);if(null===r)return e;let o=parseFloat(r[1]);return a.isString(r[3])&&(o*=Math.pow(1024,n.indexOf(r[3].toLowerCase()[0]))),Math.round(o)}toMilliseconds(t){const e=/^\s*(\d+)\s*(ms)?\s*$/i.exec(t);return null!==e?+e[1]:0}toIops(t){const e=/^\s*(\d+)\s*(IOPS)?\s*$/i.exec(t);return null!==e?+e[1]:0}}return t.ngInjectableDef=r["ɵɵdefineInjectable"]({factory:function(){return new t},token:t,providedIn:"root"}),t})()},adU4:function(t,e,n){var a=n("y1pI"),r=Array.prototype.splice;t.exports=function(t){var e=this.__data__,n=a(e,t);return!(n<0||(n==e.length-1?e.pop():r.call(e,n,1),--this.size,0))}},ae7Z:function(t,e,n){"use strict";function a(t){var e={left:[],center:[],right:[]};if(t)for(var n=0,a=t;n<a.length;n++){var r=a[n];r.frozenLeft?e.left.push(r):r.frozenRight?e.right.push(r):e.center.push(r)}return e}function r(t,e){var n=0;if(t)for(var a=0,r=t;a<r.length;a++){var o=r[a];n+=parseFloat(e&&o[e]?o[e]:o.width)}return n}Object.defineProperty(e,"__esModule",{value:!0}),e.columnsByPin=a,e.columnGroupWidths=function(t,e){return{left:r(t.left),center:r(t.center),right:r(t.right),total:Math.floor(r(e))}},e.columnTotalWidth=r,e.columnsTotalWidth=function(t,e){for(var n=0,a=0,r=t;a<r.length;a++){var o=r[a];n+=e&&o[e]?o[e]:o.width}return n},e.columnsByPinArr=function(t){var e=[],n=a(t);return e.push({type:"left",columns:n.left}),e.push({type:"center",columns:n.center}),e.push({type:"right",columns:n.right}),e}},aexS:function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var a=n("2Vo4"),r=n("jKX/"),o=n("8Y7J");let i=(()=>{class t{constructor(){this.isPwdDisplayedSource=new a.a(!1),this.isPwdDisplayed$=this.isPwdDisplayedSource.asObservable()}set(t,e,n={},a=!1,o=null,i=!1){localStorage.setItem("dashboard_username",t),localStorage.setItem("access_token",e),localStorage.setItem("dashboard_permissions",JSON.stringify(new r.a(n))),localStorage.setItem("user_pwd_expiration_date",String(o)),localStorage.setItem("user_pwd_update_required",String(i)),localStorage.setItem("sso",String(a))}remove(){localStorage.removeItem("access_token"),localStorage.removeItem("dashboard_username"),localStorage.removeItem("user_pwd_expiration_data"),localStorage.removeItem("user_pwd_update_required")}getToken(){return localStorage.getItem("access_token")}isLoggedIn(){return null!==localStorage.getItem("dashboard_username")}getUsername(){return localStorage.getItem("dashboard_username")}getPermissions(){return JSON.parse(localStorage.getItem("dashboard_permissions")||JSON.stringify(new r.a({})))}getPwdExpirationDate(){return Number(localStorage.getItem("user_pwd_expiration_date"))}getPwdUpdateRequired(){return"true"===localStorage.getItem("user_pwd_update_required")}isSSO(){return"true"===localStorage.getItem("sso")}}return t.ngInjectableDef=o["ɵɵdefineInjectable"]({factory:function(){return new t},token:t,providedIn:"root"}),t})()},afO8:function(t,e,n){var a,r,o,i=n("f5p1"),s=n("2oRo"),c=n("hh1v"),l=n("kRJp"),d=n("UTVS"),u=n("93I0"),g=n("0BK2");if(i){var f=new(0,s.WeakMap),p=f.get,m=f.has,h=f.set;a=function(t,e){return h.call(f,t,e),e},r=function(t){return p.call(f,t)||{}},o=function(t){return m.call(f,t)}}else{var b=u("state");g[b]=!0,a=function(t,e){return l(t,b,e),e},r=function(t){return d(t,b)?t[b]:{}},o=function(t){return d(t,b)}}t.exports={set:a,get:r,has:o,enforce:function(t){return o(t)?r(t):a(t,{})},getterFor:function(t){return function(e){var n;if(!c(e)||(n=r(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return n}}}},afOK:function(t,e,n){t.exports=n("pZt1")},ajRT:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("8Y7J");class r{constructor(){this.hide=new a.EventEmitter}close(){this.modalRef&&this.modalRef.hide(),this.hide.emit()}}},atuK:function(t,e,n){"use strict";n.d(e,"a",(function(){return _})),n.d(e,"b",(function(){return R})),n.d(e,"c",(function(){return H}));var a=n("8Y7J"),r=n("ienR"),o=n("SVse"),i=(n("s7LF"),n("2uy1")),s=a["ɵcrt"]({encapsulation:2,styles:[],data:{animation:[{type:7,name:"datepickerAnimation",definitions:[{type:0,name:"animated-down",styles:{type:6,styles:{height:"*",overflow:"hidden"},offset:null},options:void 0},{type:1,expr:"* => animated-down",animation:[{type:6,styles:{height:0,overflow:"hidden"},offset:null},{type:4,styles:null,timings:"220ms cubic-bezier(0, 0, 0.2, 1)"}],options:null},{type:0,name:"animated-up",styles:{type:6,styles:{height:"*",overflow:"hidden"},offset:null},options:void 0},{type:1,expr:"* => animated-up",animation:[{type:6,styles:{height:"*",overflow:"hidden"},offset:null},{type:4,styles:null,timings:"220ms cubic-bezier(0, 0, 0.2, 1)"}],options:null},{type:1,expr:"* => unanimated",animation:{type:4,styles:null,timings:"0s"},options:null}],options:{}}]}});function c(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"bs-days-calendar-view",[],[[2,"bs-datepicker-multiple",null]],[[null,"onNavigate"],[null,"onViewMode"],[null,"onHover"],[null,"onHoverWeek"],[null,"onSelect"]],(function(t,e,n){var a=!0,r=t.component;return"onNavigate"===e&&(a=!1!==r.navigateTo(n)&&a),"onViewMode"===e&&(a=!1!==r.setViewMode(n)&&a),"onHover"===e&&(a=!1!==r.dayHoverHandler(n)&&a),"onHoverWeek"===e&&(a=!1!==r.weekHoverHandler(n)&&a),"onSelect"===e&&(a=!1!==r.daySelectHandler(n)&&a),a}),ut,ot)),a["ɵdid"](1,49152,null,0,r.z,[r.a],{calendar:[0,"calendar"],options:[1,"options"]},{onNavigate:"onNavigate",onViewMode:"onViewMode",onSelect:"onSelect",onHover:"onHover",onHoverWeek:"onHoverWeek"}),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef]),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef])],(function(t,e){var n=e.component;t(e,1,0,e.context.$implicit,a["ɵunv"](e,1,1,a["ɵnov"](e,2).transform(n.options)))}),(function(t,e){var n,r=e.component;t(e,0,0,(null==(n=a["ɵunv"](e,0,0,a["ɵnov"](e,3).transform(r.daysCalendar)))?null:n.length)>1)}))}function l(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"div",[["class","bs-media-container"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,2,null,c)),a["ɵdid"](2,278528,null,0,o.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef])],(function(t,e){var n=e.component;t(e,2,0,a["ɵunv"](e,2,0,a["ɵnov"](e,3).transform(n.daysCalendar)))}),null)}function d(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"bs-month-calendar-view",[],[[2,"bs-datepicker-multiple",null]],[[null,"onNavigate"],[null,"onViewMode"],[null,"onHover"],[null,"onSelect"]],(function(t,e,n){var a=!0,r=t.component;return"onNavigate"===e&&(a=!1!==r.navigateTo(n)&&a),"onViewMode"===e&&(a=!1!==r.setViewMode(n)&&a),"onHover"===e&&(a=!1!==r.monthHoverHandler(n)&&a),"onSelect"===e&&(a=!1!==r.monthSelectHandler(n)&&a),a}),mt,gt)),a["ɵdid"](1,49152,null,0,r.A,[],{calendar:[0,"calendar"]},{onNavigate:"onNavigate",onViewMode:"onViewMode",onSelect:"onSelect",onHover:"onHover"}),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef])],(function(t,e){t(e,1,0,e.context.$implicit)}),(function(t,e){var n,r=e.component;t(e,0,0,(null==(n=a["ɵunv"](e,0,0,a["ɵnov"](e,2).transform(r.daysCalendar)))?null:n.length)>1)}))}function u(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"div",[["class","bs-media-container"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,2,null,d)),a["ɵdid"](2,278528,null,0,o.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef])],(function(t,e){var n=e.component;t(e,2,0,a["ɵunv"](e,2,0,a["ɵnov"](e,3).transform(n.monthsCalendar)))}),null)}function g(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"bs-years-calendar-view",[],[[2,"bs-datepicker-multiple",null]],[[null,"onNavigate"],[null,"onViewMode"],[null,"onHover"],[null,"onSelect"]],(function(t,e,n){var a=!0,r=t.component;return"onNavigate"===e&&(a=!1!==r.navigateTo(n)&&a),"onViewMode"===e&&(a=!1!==r.setViewMode(n)&&a),"onHover"===e&&(a=!1!==r.yearHoverHandler(n)&&a),"onSelect"===e&&(a=!1!==r.yearSelectHandler(n)&&a),a}),_t,ht)),a["ɵdid"](1,49152,null,0,r.B,[],{calendar:[0,"calendar"]},{onNavigate:"onNavigate",onViewMode:"onViewMode",onSelect:"onSelect",onHover:"onHover"}),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef])],(function(t,e){t(e,1,0,e.context.$implicit)}),(function(t,e){var n,r=e.component;t(e,0,0,(null==(n=a["ɵunv"](e,0,0,a["ɵnov"](e,2).transform(r.daysCalendar)))?null:n.length)>1)}))}function f(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"div",[["class","bs-media-container"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,2,null,g)),a["ɵdid"](2,278528,null,0,o.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef])],(function(t,e){var n=e.component;t(e,2,0,a["ɵunv"](e,2,0,a["ɵnov"](e,3).transform(n.yearsCalendar)))}),null)}function p(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,4,"div",[["class","bs-datepicker-buttons"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,1,"button",[["class","btn btn-success"]],null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["Apply"])),(t()(),a["ɵeld"](3,0,null,null,1,"button",[["class","btn btn-default"]],null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["Cancel"]))],null,null)}function m(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"div",[["class","bs-datepicker-custom-range"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,1,"bs-custom-date-view",[],null,null,null,Pt,Ot)),a["ɵdid"](2,49152,null,0,r.C,[],{ranges:[0,"ranges"]},null)],(function(t,e){t(e,2,0,e.component._customRangesFish)}),null)}function h(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,16,"div",[["class","bs-datepicker"]],null,null,null,null,null)),a["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](2,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),(t()(),a["ɵeld"](3,0,null,null,11,"div",[["class","bs-datepicker-container"]],[[24,"@datepickerAnimation",0]],[[null,"@datepickerAnimation.done"]],(function(t,e,n){var a=!0;return"@datepickerAnimation.done"===e&&(a=!1!==t.component.positionServiceEnable()&&a),a}),null,null)),(t()(),a["ɵeld"](4,0,null,null,8,"div",[["class","bs-calendar-container"],["role","application"]],null,null,null,null,null)),a["ɵdid"](5,16384,null,0,o.NgSwitch,[],{ngSwitch:[0,"ngSwitch"]},null),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef]),(t()(),a["ɵand"](16777216,null,null,1,null,l)),a["ɵdid"](8,278528,null,0,o.NgSwitchCase,[a.ViewContainerRef,a.TemplateRef,o.NgSwitch],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,u)),a["ɵdid"](10,278528,null,0,o.NgSwitchCase,[a.ViewContainerRef,a.TemplateRef,o.NgSwitch],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,f)),a["ɵdid"](12,278528,null,0,o.NgSwitchCase,[a.ViewContainerRef,a.TemplateRef,o.NgSwitch],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,p)),a["ɵdid"](14,16384,null,0,o.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,m)),a["ɵdid"](16,16384,null,0,o.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,2,0,"bs-datepicker",n.containerClass),t(e,5,0,a["ɵunv"](e,5,0,a["ɵnov"](e,6).transform(n.viewMode))),t(e,8,0,"day"),t(e,10,0,"month"),t(e,12,0,"year"),t(e,14,0,!1),t(e,16,0,!1)}),(function(t,e){t(e,3,0,e.component.animationState)}))}function b(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,2,null,h)),a["ɵdid"](1,16384,null,0,o.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef])],(function(t,e){var n=e.component;t(e,1,0,a["ɵunv"](e,1,0,a["ɵnov"](e,2).transform(n.viewMode)))}),null)}function y(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"bs-datepicker-container",[["aria-label","calendar"],["class","bottom"],["role","dialog"]],null,[[null,"click"]],(function(t,e,n){var r=!0;return"click"===e&&(r=!1!==a["ɵnov"](t,3)._stopPropagation(n)&&r),r}),b,s)),a["ɵprd"](512,null,r.r,r.r,[]),a["ɵprd"](512,null,r.s,r.s,[r.t,r.j]),a["ɵdid"](3,245760,null,0,r.b,[a.Renderer2,r.a,r.r,a.ElementRef,r.t,r.s,i.a],null,null)],(function(t,e){t(e,3,0)}),null)}var _=a["ɵccf"]("bs-datepicker-container",r.b,y,{},{},[]),O=a["ɵcrt"]({encapsulation:2,styles:[],data:{animation:[{type:7,name:"datepickerAnimation",definitions:[{type:0,name:"animated-down",styles:{type:6,styles:{height:"*",overflow:"hidden"},offset:null},options:void 0},{type:1,expr:"* => animated-down",animation:[{type:6,styles:{height:0,overflow:"hidden"},offset:null},{type:4,styles:null,timings:"220ms cubic-bezier(0, 0, 0.2, 1)"}],options:null},{type:0,name:"animated-up",styles:{type:6,styles:{height:"*",overflow:"hidden"},offset:null},options:void 0},{type:1,expr:"* => animated-up",animation:[{type:6,styles:{height:"*",overflow:"hidden"},offset:null},{type:4,styles:null,timings:"220ms cubic-bezier(0, 0, 0.2, 1)"}],options:null},{type:1,expr:"* => unanimated",animation:{type:4,styles:null,timings:"0s"},options:null}],options:{}}]}});function v(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"bs-days-calendar-view",[],[[2,"bs-datepicker-multiple",null]],[[null,"onNavigate"],[null,"onViewMode"],[null,"onHover"],[null,"onHoverWeek"],[null,"onSelect"]],(function(t,e,n){var a=!0,r=t.component;return"onNavigate"===e&&(a=!1!==r.navigateTo(n)&&a),"onViewMode"===e&&(a=!1!==r.setViewMode(n)&&a),"onHover"===e&&(a=!1!==r.dayHoverHandler(n)&&a),"onHoverWeek"===e&&(a=!1!==r.weekHoverHandler(n)&&a),"onSelect"===e&&(a=!1!==r.daySelectHandler(n)&&a),a}),ut,ot)),a["ɵdid"](1,49152,null,0,r.z,[r.a],{calendar:[0,"calendar"],options:[1,"options"]},{onNavigate:"onNavigate",onViewMode:"onViewMode",onSelect:"onSelect",onHover:"onHover",onHoverWeek:"onHoverWeek"}),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef]),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef])],(function(t,e){var n=e.component;t(e,1,0,e.context.$implicit,a["ɵunv"](e,1,1,a["ɵnov"](e,2).transform(n.options)))}),(function(t,e){var n,r=e.component;t(e,0,0,(null==(n=a["ɵunv"](e,0,0,a["ɵnov"](e,3).transform(r.daysCalendar)))?null:n.length)>1)}))}function C(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"div",[["class","bs-media-container"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,2,null,v)),a["ɵdid"](2,278528,null,0,o.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef])],(function(t,e){var n=e.component;t(e,2,0,a["ɵunv"](e,2,0,a["ɵnov"](e,3).transform(n.daysCalendar)))}),null)}function P(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"bs-month-calendar-view",[],[[2,"bs-datepicker-multiple",null]],[[null,"onNavigate"],[null,"onViewMode"],[null,"onHover"],[null,"onSelect"]],(function(t,e,n){var a=!0,r=t.component;return"onNavigate"===e&&(a=!1!==r.navigateTo(n)&&a),"onViewMode"===e&&(a=!1!==r.setViewMode(n)&&a),"onHover"===e&&(a=!1!==r.monthHoverHandler(n)&&a),"onSelect"===e&&(a=!1!==r.monthSelectHandler(n)&&a),a}),mt,gt)),a["ɵdid"](1,49152,null,0,r.A,[],{calendar:[0,"calendar"]},{onNavigate:"onNavigate",onViewMode:"onViewMode",onSelect:"onSelect",onHover:"onHover"}),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef])],(function(t,e){t(e,1,0,e.context.$implicit)}),(function(t,e){var n,r=e.component;t(e,0,0,(null==(n=a["ɵunv"](e,0,0,a["ɵnov"](e,2).transform(r.daysCalendar)))?null:n.length)>1)}))}function M(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"div",[["class","bs-media-container"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,2,null,P)),a["ɵdid"](2,278528,null,0,o.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef])],(function(t,e){var n=e.component;t(e,2,0,a["ɵunv"](e,2,0,a["ɵnov"](e,3).transform(n.monthsCalendar)))}),null)}function x(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"bs-years-calendar-view",[],[[2,"bs-datepicker-multiple",null]],[[null,"onNavigate"],[null,"onViewMode"],[null,"onHover"],[null,"onSelect"]],(function(t,e,n){var a=!0,r=t.component;return"onNavigate"===e&&(a=!1!==r.navigateTo(n)&&a),"onViewMode"===e&&(a=!1!==r.setViewMode(n)&&a),"onHover"===e&&(a=!1!==r.yearHoverHandler(n)&&a),"onSelect"===e&&(a=!1!==r.yearSelectHandler(n)&&a),a}),_t,ht)),a["ɵdid"](1,49152,null,0,r.B,[],{calendar:[0,"calendar"]},{onNavigate:"onNavigate",onViewMode:"onViewMode",onSelect:"onSelect",onHover:"onHover"}),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef])],(function(t,e){t(e,1,0,e.context.$implicit)}),(function(t,e){var n,r=e.component;t(e,0,0,(null==(n=a["ɵunv"](e,0,0,a["ɵnov"](e,2).transform(r.daysCalendar)))?null:n.length)>1)}))}function w(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"div",[["class","bs-media-container"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,2,null,x)),a["ɵdid"](2,278528,null,0,o.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef])],(function(t,e){var n=e.component;t(e,2,0,a["ɵunv"](e,2,0,a["ɵnov"](e,3).transform(n.yearsCalendar)))}),null)}function T(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,4,"div",[["class","bs-datepicker-buttons"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,1,"button",[["class","btn btn-success"]],null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["Apply"])),(t()(),a["ɵeld"](3,0,null,null,1,"button",[["class","btn btn-default"]],null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["Cancel"]))],null,null)}function S(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"div",[["class","bs-datepicker-custom-range"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,1,"bs-custom-date-view",[],null,null,null,Pt,Ot)),a["ɵdid"](2,49152,null,0,r.C,[],{ranges:[0,"ranges"]},null)],(function(t,e){t(e,2,0,e.component._customRangesFish)}),null)}function k(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,16,"div",[["class","bs-datepicker"]],null,null,null,null,null)),a["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](2,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),(t()(),a["ɵeld"](3,0,null,null,11,"div",[["class","bs-datepicker-container"]],[[24,"@datepickerAnimation",0]],[[null,"@datepickerAnimation.done"]],(function(t,e,n){var a=!0;return"@datepickerAnimation.done"===e&&(a=!1!==t.component.positionServiceEnable()&&a),a}),null,null)),(t()(),a["ɵeld"](4,0,null,null,8,"div",[["class","bs-calendar-container"],["role","application"]],null,null,null,null,null)),a["ɵdid"](5,16384,null,0,o.NgSwitch,[],{ngSwitch:[0,"ngSwitch"]},null),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef]),(t()(),a["ɵand"](16777216,null,null,1,null,C)),a["ɵdid"](8,278528,null,0,o.NgSwitchCase,[a.ViewContainerRef,a.TemplateRef,o.NgSwitch],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,M)),a["ɵdid"](10,278528,null,0,o.NgSwitchCase,[a.ViewContainerRef,a.TemplateRef,o.NgSwitch],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,w)),a["ɵdid"](12,278528,null,0,o.NgSwitchCase,[a.ViewContainerRef,a.TemplateRef,o.NgSwitch],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,T)),a["ɵdid"](14,16384,null,0,o.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,S)),a["ɵdid"](16,16384,null,0,o.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,2,0,"bs-datepicker",n.containerClass),t(e,5,0,a["ɵunv"](e,5,0,a["ɵnov"](e,6).transform(n.viewMode))),t(e,8,0,"day"),t(e,10,0,"month"),t(e,12,0,"year"),t(e,14,0,!1),t(e,16,0,!1)}),(function(t,e){t(e,3,0,e.component.animationState)}))}function I(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,2,null,k)),a["ɵdid"](1,16384,null,0,o.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef])],(function(t,e){var n=e.component;t(e,1,0,a["ɵunv"](e,1,0,a["ɵnov"](e,2).transform(n.viewMode)))}),null)}function N(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"bs-datepicker-inline-container",[],null,[[null,"click"]],(function(t,e,n){var r=!0;return"click"===e&&(r=!1!==a["ɵnov"](t,3)._stopPropagation(n)&&r),r}),I,O)),a["ɵprd"](512,null,r.r,r.r,[]),a["ɵprd"](512,null,r.s,r.s,[r.t,r.j]),a["ɵdid"](3,245760,null,0,r.e,[a.Renderer2,r.a,r.r,a.ElementRef,r.t,r.s,i.a],null,null)],(function(t,e){t(e,3,0)}),null)}var R=a["ɵccf"]("bs-datepicker-inline-container",r.e,N,{},{},[]),A=a["ɵcrt"]({encapsulation:2,styles:[],data:{animation:[{type:7,name:"datepickerAnimation",definitions:[{type:0,name:"animated-down",styles:{type:6,styles:{height:"*",overflow:"hidden"},offset:null},options:void 0},{type:1,expr:"* => animated-down",animation:[{type:6,styles:{height:0,overflow:"hidden"},offset:null},{type:4,styles:null,timings:"220ms cubic-bezier(0, 0, 0.2, 1)"}],options:null},{type:0,name:"animated-up",styles:{type:6,styles:{height:"*",overflow:"hidden"},offset:null},options:void 0},{type:1,expr:"* => animated-up",animation:[{type:6,styles:{height:"*",overflow:"hidden"},offset:null},{type:4,styles:null,timings:"220ms cubic-bezier(0, 0, 0.2, 1)"}],options:null},{type:1,expr:"* => unanimated",animation:{type:4,styles:null,timings:"0s"},options:null}],options:{}}]}});function E(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"bs-days-calendar-view",[],[[2,"bs-datepicker-multiple",null]],[[null,"onNavigate"],[null,"onViewMode"],[null,"onHover"],[null,"onHoverWeek"],[null,"onSelect"]],(function(t,e,n){var a=!0,r=t.component;return"onNavigate"===e&&(a=!1!==r.navigateTo(n)&&a),"onViewMode"===e&&(a=!1!==r.setViewMode(n)&&a),"onHover"===e&&(a=!1!==r.dayHoverHandler(n)&&a),"onHoverWeek"===e&&(a=!1!==r.weekHoverHandler(n)&&a),"onSelect"===e&&(a=!1!==r.daySelectHandler(n)&&a),a}),ut,ot)),a["ɵdid"](1,49152,null,0,r.z,[r.a],{calendar:[0,"calendar"],options:[1,"options"]},{onNavigate:"onNavigate",onViewMode:"onViewMode",onSelect:"onSelect",onHover:"onHover",onHoverWeek:"onHoverWeek"}),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef]),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef])],(function(t,e){var n=e.component;t(e,1,0,e.context.$implicit,a["ɵunv"](e,1,1,a["ɵnov"](e,2).transform(n.options)))}),(function(t,e){var n,r=e.component;t(e,0,0,(null==(n=a["ɵunv"](e,0,0,a["ɵnov"](e,3).transform(r.daysCalendar)))?null:n.length)>1)}))}function D(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"div",[["class","bs-media-container"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,2,null,E)),a["ɵdid"](2,278528,null,0,o.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef])],(function(t,e){var n=e.component;t(e,2,0,a["ɵunv"](e,2,0,a["ɵnov"](e,3).transform(n.daysCalendar)))}),null)}function L(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"bs-month-calendar-view",[],[[2,"bs-datepicker-multiple",null]],[[null,"onNavigate"],[null,"onViewMode"],[null,"onHover"],[null,"onSelect"]],(function(t,e,n){var a=!0,r=t.component;return"onNavigate"===e&&(a=!1!==r.navigateTo(n)&&a),"onViewMode"===e&&(a=!1!==r.setViewMode(n)&&a),"onHover"===e&&(a=!1!==r.monthHoverHandler(n)&&a),"onSelect"===e&&(a=!1!==r.monthSelectHandler(n)&&a),a}),mt,gt)),a["ɵdid"](1,49152,null,0,r.A,[],{calendar:[0,"calendar"]},{onNavigate:"onNavigate",onViewMode:"onViewMode",onSelect:"onSelect",onHover:"onHover"}),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef])],(function(t,e){t(e,1,0,e.context.$implicit)}),(function(t,e){var n,r=e.component;t(e,0,0,(null==(n=a["ɵunv"](e,0,0,a["ɵnov"](e,2).transform(r.daysCalendar)))?null:n.length)>1)}))}function q(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"div",[["class","bs-media-container"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,2,null,L)),a["ɵdid"](2,278528,null,0,o.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef])],(function(t,e){var n=e.component;t(e,2,0,a["ɵunv"](e,2,0,a["ɵnov"](e,3).transform(n.monthsCalendar)))}),null)}function j(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"bs-years-calendar-view",[],[[2,"bs-datepicker-multiple",null]],[[null,"onNavigate"],[null,"onViewMode"],[null,"onHover"],[null,"onSelect"]],(function(t,e,n){var a=!0,r=t.component;return"onNavigate"===e&&(a=!1!==r.navigateTo(n)&&a),"onViewMode"===e&&(a=!1!==r.setViewMode(n)&&a),"onHover"===e&&(a=!1!==r.yearHoverHandler(n)&&a),"onSelect"===e&&(a=!1!==r.yearSelectHandler(n)&&a),a}),_t,ht)),a["ɵdid"](1,49152,null,0,r.B,[],{calendar:[0,"calendar"]},{onNavigate:"onNavigate",onViewMode:"onViewMode",onSelect:"onSelect",onHover:"onHover"}),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef])],(function(t,e){t(e,1,0,e.context.$implicit)}),(function(t,e){var n,r=e.component;t(e,0,0,(null==(n=a["ɵunv"](e,0,0,a["ɵnov"](e,2).transform(r.daysCalendar)))?null:n.length)>1)}))}function F(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"div",[["class","bs-media-container"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,2,null,j)),a["ɵdid"](2,278528,null,0,o.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef])],(function(t,e){var n=e.component;t(e,2,0,a["ɵunv"](e,2,0,a["ɵnov"](e,3).transform(n.yearsCalendar)))}),null)}function z(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,4,"div",[["class","bs-datepicker-buttons"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,1,"button",[["class","btn btn-success"]],null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["Apply"])),(t()(),a["ɵeld"](3,0,null,null,1,"button",[["class","btn btn-default"]],null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["Cancel"]))],null,null)}function G(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"div",[["class","bs-datepicker-custom-range"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,1,"bs-custom-date-view",[],null,null,null,Pt,Ot)),a["ɵdid"](2,49152,null,0,r.C,[],{ranges:[0,"ranges"]},null)],(function(t,e){t(e,2,0,e.component._customRangesFish)}),null)}function B(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,16,"div",[["class","bs-datepicker"]],null,null,null,null,null)),a["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](2,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),(t()(),a["ɵeld"](3,0,null,null,11,"div",[["class","bs-datepicker-container"]],[[24,"@datepickerAnimation",0]],[[null,"@datepickerAnimation.done"]],(function(t,e,n){var a=!0;return"@datepickerAnimation.done"===e&&(a=!1!==t.component.positionServiceEnable()&&a),a}),null,null)),(t()(),a["ɵeld"](4,0,null,null,8,"div",[["class","bs-calendar-container"],["role","application"]],null,null,null,null,null)),a["ɵdid"](5,16384,null,0,o.NgSwitch,[],{ngSwitch:[0,"ngSwitch"]},null),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef]),(t()(),a["ɵand"](16777216,null,null,1,null,D)),a["ɵdid"](8,278528,null,0,o.NgSwitchCase,[a.ViewContainerRef,a.TemplateRef,o.NgSwitch],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,q)),a["ɵdid"](10,278528,null,0,o.NgSwitchCase,[a.ViewContainerRef,a.TemplateRef,o.NgSwitch],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,F)),a["ɵdid"](12,278528,null,0,o.NgSwitchCase,[a.ViewContainerRef,a.TemplateRef,o.NgSwitch],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,z)),a["ɵdid"](14,16384,null,0,o.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,G)),a["ɵdid"](16,16384,null,0,o.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,2,0,"bs-datepicker",n.containerClass),t(e,5,0,a["ɵunv"](e,5,0,a["ɵnov"](e,6).transform(n.viewMode))),t(e,8,0,"day"),t(e,10,0,"month"),t(e,12,0,"year"),t(e,14,0,!1),t(e,16,0,!1)}),(function(t,e){t(e,3,0,e.component.animationState)}))}function V(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,2,null,B)),a["ɵdid"](1,16384,null,0,o.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),a["ɵpid"](131072,o.AsyncPipe,[a.ChangeDetectorRef])],(function(t,e){var n=e.component;t(e,1,0,a["ɵunv"](e,1,0,a["ɵnov"](e,2).transform(n.viewMode)))}),null)}function Y(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"bs-daterangepicker-container",[["aria-label","calendar"],["class","bottom"],["role","dialog"],["style","position: absolute; display: block;"]],null,[[null,"click"]],(function(t,e,n){var r=!0;return"click"===e&&(r=!1!==a["ɵnov"](t,3)._stopPropagation(n)&&r),r}),V,A)),a["ɵprd"](512,null,r.s,r.s,[r.t,r.j]),a["ɵprd"](512,null,r.r,r.r,[]),a["ɵdid"](3,245760,null,0,r.i,[r.s,r.t,r.a,r.r,a.ElementRef,i.a],null,null)],(function(t,e){t(e,3,0)}),null)}var H=a["ɵccf"]("bs-daterangepicker-container",r.i,Y,{},{},[]),U=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function W(t){return a["ɵvid"](2,[(t()(),a["ɵted"](0,null,["",""]))],null,(function(t,e){t(e,0,0,e.component.day.label)}))}var K=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function $(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"div",[["class","current-timedate"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),a["ɵted"](2,null,["",""]))],null,(function(t,e){t(e,2,0,e.component.title)}))}var Z=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function J(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"button",[["class","current"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.view("month")&&a),a}),null,null)),(t()(),a["ɵeld"](1,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),a["ɵted"](2,null,["",""]))],null,(function(t,e){t(e,2,0,e.component.calendar.monthTitle)}))}function X(t){return a["ɵvid"](2,[(t()(),a["ɵeld"](0,0,null,null,2,"button",[["class","previous"]],[[8,"disabled",0],[4,"visibility",null]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.navTo(!0)&&a),a}),null,null)),(t()(),a["ɵeld"](1,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["‹"])),(t()(),a["ɵted"](-1,null,[" ​ "])),(t()(),a["ɵand"](16777216,null,null,1,null,J)),a["ɵdid"](5,16384,null,0,o.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵted"](-1,null,[" ​ "])),(t()(),a["ɵeld"](7,0,null,null,2,"button",[["class","current"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.view("year")&&a),a}),null,null)),(t()(),a["ɵeld"](8,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),a["ɵted"](9,null,["",""])),(t()(),a["ɵted"](-1,null,[" ​ "])),(t()(),a["ɵeld"](11,0,null,null,2,"button",[["class","next"]],[[8,"disabled",0],[4,"visibility",null]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.navTo(!1)&&a),a}),null,null)),(t()(),a["ɵeld"](12,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["›"]))],(function(t,e){t(e,5,0,e.component.calendar.monthTitle)}),(function(t,e){var n=e.component;t(e,0,0,n.calendar.disableLeftArrow,n.calendar.hideLeftArrow?"hidden":"visible"),t(e,9,0,n.calendar.yearTitle),t(e,11,0,n.calendar.disableRightArrow,n.calendar.hideRightArrow?"hidden":"visible")}))}var Q=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function tt(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,15,"div",[["class","bs-timepicker-container"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,5,"div",[["class","bs-timepicker-controls"]],null,null,null,null,null)),(t()(),a["ɵeld"](2,0,null,null,1,"button",[["class","bs-decrease"]],null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["-"])),(t()(),a["ɵeld"](4,0,null,null,0,"input",[["placeholder","00"],["type","text"]],[[8,"value",0]],null,null,null,null)),(t()(),a["ɵeld"](5,0,null,null,1,"button",[["class","bs-increase"]],null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["+"])),(t()(),a["ɵeld"](7,0,null,null,5,"div",[["class","bs-timepicker-controls"]],null,null,null,null,null)),(t()(),a["ɵeld"](8,0,null,null,1,"button",[["class","bs-decrease"]],null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["-"])),(t()(),a["ɵeld"](10,0,null,null,0,"input",[["placeholder","00"],["type","text"]],[[8,"value",0]],null,null,null,null)),(t()(),a["ɵeld"](11,0,null,null,1,"button",[["class","bs-increase"]],null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["+"])),(t()(),a["ɵeld"](13,0,null,null,2,"button",[["class","switch-time-format"]],null,null,null,null,null)),(t()(),a["ɵted"](14,null,[""," "])),(t()(),a["ɵeld"](15,0,null,null,0,"img",[["alt",""],["src","data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAKCAYAAABi8KSDAAABSElEQVQYV3XQPUvDUBQG4HNuagtVqc6KgouCv6GIuIntYBLB9hcIQpLStCAIV7DYmpTcRWcXqZio3Vwc/UCc/QEqfgyKGbr0I7nS1EiHeqYzPO/h5SD0jaxUZjmSLCB+OFb+UFINFwASAEAdpu9gaGXVyAHHFQBkHpKHc6a9dzECvADyY9sqlAMsK9W0jzxDXqeytr3mhQckxSji27TJJ5/rPmIpwJJq3HrtduriYOurv1a4i1p5HnhkG9OFymi0ReoO05cGwb+ayv4dysVygjeFmsP05f8wpZQ8fsdvfmuY9zjWSNqUtgYFVnOVReILYoBFzdQI5/GGFzNHhGbeZnopDGU29sZbscgldmC99w35VOATTycIMMcBXIfpSVGzZhA6C8hh00conln6VQ9TGgV32OEAKQC4DrBq7CJwd0ggR7Vq/rPrfgB+C3sGypY5DAAAAABJRU5ErkJggg=="]],null,null,null,null,null))],null,(function(t,e){var n=e.component;t(e,4,0,n.hours),t(e,10,0,n.minutes),t(e,14,0,n.ampm)}))}var et=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function nt(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"bs-current-date",[["title","hey there"]],null,null,null,$,K)),a["ɵdid"](1,49152,null,0,r.v,[],{title:[0,"title"]},null)],(function(t,e){t(e,1,0,"hey there")}),null)}function at(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"bs-timepicker",[],null,null,null,tt,Q)),a["ɵdid"](1,49152,null,0,r.x,[],null,null)],null,null)}function rt(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,1,null,nt)),a["ɵdid"](1,16384,null,0,o.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵeld"](2,0,null,null,1,"div",[["class","bs-datepicker-head"]],null,null,null,null,null)),a["ɵncd"](null,0),(t()(),a["ɵeld"](4,0,null,null,1,"div",[["class","bs-datepicker-body"]],null,null,null,null,null)),a["ɵncd"](null,1),(t()(),a["ɵand"](16777216,null,null,1,null,at)),a["ɵdid"](7,16384,null,0,o.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){t(e,1,0,!1),t(e,7,0,!1)}),null)}var ot=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function it(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,0,"th",[],null,null,null,null,null))],null,null)}function st(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"th",[["aria-label","weekday"]],null,null,null,null,null)),(t()(),a["ɵted"](1,null,[""," "]))],null,(function(t,e){t(e,1,0,e.component.calendar.weekdays[e.context.index])}))}function ct(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"td",[["class","week"]],[[2,"active-week",null]],null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,1,"span",[],null,[[null,"click"],[null,"mouseenter"],[null,"mouseleave"]],(function(t,e,n){var a=!0,r=t.component;return"click"===e&&(a=!1!==r.selectWeek(t.parent.context.$implicit)&&a),"mouseenter"===e&&(a=!1!==r.weekHoverHandler(t.parent.context.$implicit,!0)&&a),"mouseleave"===e&&(a=!1!==r.weekHoverHandler(t.parent.context.$implicit,!1)&&a),a}),null,null)),(t()(),a["ɵted"](2,null,["",""]))],null,(function(t,e){var n=e.component;t(e,0,0,n.isWeekHovered),t(e,2,0,n.calendar.weekNumbers[e.parent.context.index])}))}function lt(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"td",[["role","gridcell"]],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,2,"span",[["bsDatepickerDayDecorator",""]],[[2,"disabled",null],[2,"is-highlighted",null],[2,"is-other-month",null],[2,"is-active-other-month",null],[2,"in-range",null],[2,"select-start",null],[2,"select-end",null],[2,"selected",null]],[[null,"click"],[null,"mouseenter"],[null,"mouseleave"]],(function(t,e,n){var a=!0,r=t.component;return"click"===e&&(a=!1!==r.selectDay(t.context.$implicit)&&a),"mouseenter"===e&&(a=!1!==r.hoverDay(t.context.$implicit,!0)&&a),"mouseleave"===e&&(a=!1!==r.hoverDay(t.context.$implicit,!1)&&a),a}),W,U)),a["ɵdid"](2,114688,null,0,r.u,[r.a,a.ElementRef,a.Renderer2],{day:[0,"day"]},null),(t()(),a["ɵted"](3,null,["",""]))],(function(t,e){t(e,2,0,e.context.$implicit)}),(function(t,e){t(e,1,0,a["ɵnov"](e,2).day.isDisabled,a["ɵnov"](e,2).day.isHovered,a["ɵnov"](e,2).day.isOtherMonth,a["ɵnov"](e,2).day.isOtherMonthHovered,a["ɵnov"](e,2).day.isInRange,a["ɵnov"](e,2).day.isSelectionStart,a["ɵnov"](e,2).day.isSelectionEnd,a["ɵnov"](e,2).day.isSelected),t(e,3,0,e.context.$implicit.label)}))}function dt(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,4,"tr",[],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,ct)),a["ɵdid"](2,16384,null,0,o.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,lt)),a["ɵdid"](4,278528,null,0,o.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){t(e,2,0,e.component.options.showWeekNumbers),t(e,4,0,e.context.$implicit.days)}),null)}function ut(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,13,"bs-calendar-layout",[],null,null,null,rt,et)),a["ɵdid"](1,49152,null,0,r.y,[],null,null),(t()(),a["ɵeld"](2,0,null,0,1,"bs-datepicker-navigation-view",[],null,[[null,"onNavigate"],[null,"onViewMode"]],(function(t,e,n){var a=!0,r=t.component;return"onNavigate"===e&&(a=!1!==r.navigateTo(n)&&a),"onViewMode"===e&&(a=!1!==r.changeViewMode(n)&&a),a}),X,Z)),a["ɵdid"](3,49152,null,0,r.w,[],{calendar:[0,"calendar"]},{onNavigate:"onNavigate",onViewMode:"onViewMode"}),(t()(),a["ɵeld"](4,0,null,1,9,"table",[["class","days weeks"],["role","grid"]],null,null,null,null,null)),(t()(),a["ɵeld"](5,0,null,null,5,"thead",[],null,null,null,null,null)),(t()(),a["ɵeld"](6,0,null,null,4,"tr",[],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,it)),a["ɵdid"](8,16384,null,0,o.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,st)),a["ɵdid"](10,278528,null,0,o.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),a["ɵeld"](11,0,null,null,2,"tbody",[],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,dt)),a["ɵdid"](13,278528,null,0,o.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){var n=e.component;t(e,3,0,n.calendar),t(e,8,0,n.options.showWeekNumbers),t(e,10,0,n.calendar.weekdays),t(e,13,0,n.calendar.weeks)}),null)}var gt=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function ft(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"td",[["role","gridcell"]],[[2,"disabled",null],[2,"is-highlighted",null]],[[null,"click"],[null,"mouseenter"],[null,"mouseleave"]],(function(t,e,n){var a=!0,r=t.component;return"click"===e&&(a=!1!==r.viewMonth(t.context.$implicit)&&a),"mouseenter"===e&&(a=!1!==r.hoverMonth(t.context.$implicit,!0)&&a),"mouseleave"===e&&(a=!1!==r.hoverMonth(t.context.$implicit,!1)&&a),a}),null,null)),(t()(),a["ɵeld"](1,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),a["ɵted"](2,null,["",""]))],null,(function(t,e){t(e,0,0,e.context.$implicit.isDisabled,e.context.$implicit.isHovered),t(e,2,0,e.context.$implicit.label)}))}function pt(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"tr",[],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,ft)),a["ɵdid"](2,278528,null,0,o.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){t(e,2,0,e.context.$implicit)}),null)}function mt(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,7,"bs-calendar-layout",[],null,null,null,rt,et)),a["ɵdid"](1,49152,null,0,r.y,[],null,null),(t()(),a["ɵeld"](2,0,null,0,1,"bs-datepicker-navigation-view",[],null,[[null,"onNavigate"],[null,"onViewMode"]],(function(t,e,n){var a=!0,r=t.component;return"onNavigate"===e&&(a=!1!==r.navigateTo(n)&&a),"onViewMode"===e&&(a=!1!==r.changeViewMode(n)&&a),a}),X,Z)),a["ɵdid"](3,49152,null,0,r.w,[],{calendar:[0,"calendar"]},{onNavigate:"onNavigate",onViewMode:"onViewMode"}),(t()(),a["ɵeld"](4,0,null,1,3,"table",[["class","months"],["role","grid"]],null,null,null,null,null)),(t()(),a["ɵeld"](5,0,null,null,2,"tbody",[],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,pt)),a["ɵdid"](7,278528,null,0,o.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){var n=e.component;t(e,3,0,n.calendar),t(e,7,0,n.calendar.months)}),null)}var ht=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function bt(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"td",[["role","gridcell"]],[[2,"disabled",null],[2,"is-highlighted",null]],[[null,"click"],[null,"mouseenter"],[null,"mouseleave"]],(function(t,e,n){var a=!0,r=t.component;return"click"===e&&(a=!1!==r.viewYear(t.context.$implicit)&&a),"mouseenter"===e&&(a=!1!==r.hoverYear(t.context.$implicit,!0)&&a),"mouseleave"===e&&(a=!1!==r.hoverYear(t.context.$implicit,!1)&&a),a}),null,null)),(t()(),a["ɵeld"](1,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),a["ɵted"](2,null,["",""]))],null,(function(t,e){t(e,0,0,e.context.$implicit.isDisabled,e.context.$implicit.isHovered),t(e,2,0,e.context.$implicit.label)}))}function yt(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"tr",[],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,bt)),a["ɵdid"](2,278528,null,0,o.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){t(e,2,0,e.context.$implicit)}),null)}function _t(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,7,"bs-calendar-layout",[],null,null,null,rt,et)),a["ɵdid"](1,49152,null,0,r.y,[],null,null),(t()(),a["ɵeld"](2,0,null,0,1,"bs-datepicker-navigation-view",[],null,[[null,"onNavigate"],[null,"onViewMode"]],(function(t,e,n){var a=!0,r=t.component;return"onNavigate"===e&&(a=!1!==r.navigateTo(n)&&a),"onViewMode"===e&&(a=!1!==r.changeViewMode(n)&&a),a}),X,Z)),a["ɵdid"](3,49152,null,0,r.w,[],{calendar:[0,"calendar"]},{onNavigate:"onNavigate",onViewMode:"onViewMode"}),(t()(),a["ɵeld"](4,0,null,1,3,"table",[["class","years"],["role","grid"]],null,null,null,null,null)),(t()(),a["ɵeld"](5,0,null,null,2,"tbody",[],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,yt)),a["ɵdid"](7,278528,null,0,o.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){var n=e.component;t(e,3,0,n.calendar),t(e,7,0,n.calendar.years)}),null)}var Ot=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function vt(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"button",[],null,null,null,null,null)),(t()(),a["ɵted"](1,null,["",""]))],null,(function(t,e){t(e,1,0,e.context.$implicit.label)}))}function Ct(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"button",[],null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["Custom Range"]))],null,null)}function Pt(t){return a["ɵvid"](2,[(t()(),a["ɵeld"](0,0,null,null,4,"div",[["class","bs-datepicker-predefined-btns"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,vt)),a["ɵdid"](2,278528,null,0,o.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,Ct)),a["ɵdid"](4,16384,null,0,o.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,2,0,n.ranges),t(e,4,0,n.isCustomRangeShown)}),null)}},b1Dy:function(t,e,n){!function(t){"use strict";t.defineLocale("en-nz",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})}(n("wd/R"))},b2z7:function(t,e){var n=/\w*$/;t.exports=function(t){var e=new t.constructor(t.source,n.exec(t));return e.lastIndex=t.lastIndex,e}},b5OY:function(t,e,n){"use strict";n.d(e,"a",(function(){return a})),n("pxLl");class a{constructor(t,e){this.performanceCounterService=t,this.i18n=e,this.columns=[],this.counters=[]}ngOnInit(){this.columns=[{name:this.i18n("Name"),prop:"name",flexGrow:1},{name:this.i18n("Description"),prop:"description",flexGrow:1},{name:this.i18n("Value"),prop:"value",cellTemplate:this.valueTpl,flexGrow:1}]}getCounters(t){this.performanceCounterService.get(this.serviceType,this.serviceId).subscribe(t=>{this.counters=t},e=>{404===e.status?(e.preventDefault(),this.counters=null):t.error()})}}},b80T:function(t,e,n){var a=n("UNi/"),r=n("03A+"),o=n("Z0cm"),i=n("DSRE"),s=n("wJg7"),c=n("c6wG"),l=Object.prototype.hasOwnProperty;t.exports=function(t,e){var n=o(t),d=!n&&r(t),u=!n&&!d&&i(t),g=!n&&!d&&!u&&c(t),f=n||d||u||g,p=f?a(t.length,String):[],m=p.length;for(var h in t)!e&&!l.call(t,h)||f&&("length"==h||u&&("offset"==h||"parent"==h)||g&&("buffer"==h||"byteLength"==h||"byteOffset"==h)||s(h,m))||p.push(h);return p}},bHdf:function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var a=n("5+tZ"),r=n("SpAZ");function o(t=Number.POSITIVE_INFINITY){return Object(a.a)(r.a,t)}},bN42:function(t,e,n){"use strict";n.r(e),e.default='<xliff xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 http://docs.oasis-open.org/xliff/v1.2/os/xliff-core-1.2-strict.xsd" xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">\n  <file original="ng2.template" datatype="plaintext" source-language="en-US" target-language="ja-JP">\n    <body>\n      <trans-unit id="319e0745bcbc132451569294fa2fa21bf10f555a" datatype="html">\n        <source>Toggle navigation</source>\n        <target>ナビゲーションの切り替え</target>\n      </trans-unit>\n      <trans-unit id="f65253954b66e929a8b4d5ecaf61f9129f8cec64" datatype="html">\n        <source>Dashboard</source>\n        <target>ダッシュボード</target>\n      </trans-unit>\n      <trans-unit id="f4d1dd59b039ad818d9da7e29a773e10e41d9821" datatype="html">\n        <source>Cluster</source>\n        <target>クラスタ</target>\n      </trans-unit>\n      <trans-unit id="099b441d49333b3c6d30b36dc0a4763e64c78920" datatype="html">\n        <source>Hosts</source>\n        <target>ホスト</target>\n      </trans-unit>\n      <trans-unit id="2cc3ecb16e348fcf2f2fbfd2f997d4d22f37475b" datatype="html">\n        <source>Inventory</source>\n        <target>Inventory</target>\n      </trans-unit>\n      <trans-unit id="624f596cc3320f5e0a0d7c7346c364e5af9bdd8c" datatype="html">\n        <source>Monitors</source>\n        <target>モニター</target>\n      </trans-unit>\n      <trans-unit id="419d940613972cc3fae9c8ea0a4306dbf80616e5" datatype="html">\n        <source>Services</source>\n        <target>サービス</target>\n      </trans-unit>\n      <trans-unit id="1a9183778f2c6473d7ccb080f651caa01faaf70c" datatype="html">\n        <source>OSDs</source>\n        <target>OSD</target>\n      </trans-unit>\n      <trans-unit id="4a41f824a35ba01d5bd7be61aa06b3e8145209d0" datatype="html">\n        <source>Configuration</source>\n        <target>設定</target>\n      </trans-unit>\n      <trans-unit id="8c95898abff46bfac3ed6eb2afef74597e60b15c" datatype="html">\n        <source>CRUSH map</source>\n        <target>CRUSHマップ</target>\n      </trans-unit>\n      <trans-unit id="33da4dbeb076159510801ea764a218fd341269d2" datatype="html">\n        <source>Manager modules</source>\n        <target>マネージャモジュール</target>\n      </trans-unit>\n      <trans-unit id="eb3d5aefff38a814b76da74371cbf02c0789a1ef" datatype="html">\n        <source>Logs</source>\n        <target>ログ</target>\n      </trans-unit>\n      <trans-unit id="17fc3efe5f9fa4e0289c900cb6202265215a1a27" datatype="html">\n        <source>Monitoring</source>\n        <target>Monitoring</target>\n      </trans-unit>\n      <trans-unit id="92899fa68e8ca108912163ff58edc8540e453787" datatype="html">\n        <source>Pools</source>\n        <target>プール</target>\n      </trans-unit>\n      <trans-unit id="7f5d0c10614e8a34f0e2dad33a0568277c50cf69" datatype="html">\n        <source>Block</source>\n        <target>ブロック</target>\n      </trans-unit>\n      <trans-unit id="b73f7f5060fb22a1e9ec462b1bb02493fa3ab866" datatype="html">\n        <source>Images</source>\n        <target>イメージ</target>\n      </trans-unit>\n      <trans-unit id="3c2562ba992127203dcfd014010b03cb7b8113c6" datatype="html">\n        <source>Mirroring</source>\n        <target>ミラーリング</target>\n      </trans-unit>\n      <trans-unit id="811c241d56601b91ef26735b770e64428089b950" datatype="html">\n        <source>iSCSI</source>\n        <target>iSCSI</target>\n      </trans-unit>\n      <trans-unit id="a24eabd99ea5af20f5f94c4484649cd30370042b" datatype="html">\n        <source>NFS</source>\n        <target>NFS</target>\n      </trans-unit>\n      <trans-unit id="a4eff72d97b7ced051398d581f10968218057ddc" datatype="html">\n        <source>Filesystems</source>\n        <target>ファイルシステム</target>\n      </trans-unit>\n      <trans-unit id="2190548d236ca5f7bc7ab2bca334b860c5ff2ad4" datatype="html">\n        <source>Object Gateway</source>\n        <target>オブジェクトゲートウェイ</target>\n      </trans-unit>\n      <trans-unit id="9e24f9e2d42104ffc01599db4d566d1cc518f9e6" datatype="html">\n        <source>Daemons</source>\n        <target>デーモン</target>\n      </trans-unit>\n      <trans-unit id="4d13a9cd5ed3dcee0eab22cb25198d43886942be" datatype="html">\n        <source>Users</source>\n        <target>ユーザ</target>\n      </trans-unit>\n      <trans-unit id="9515520496da83179d8b08132f00f575512a1f40" datatype="html">\n        <source>Buckets</source>\n        <target>バケット</target>\n      </trans-unit>\n      <trans-unit id="797f8214e8148f4bf0d244baaa7341706b419549" datatype="html">\n        <source>Retrieving data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>. Please wait...\n        </source>\n        <target>Retrieving data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>. Please wait...\n        </target>\n      </trans-unit>\n      <trans-unit id="5a870dc77b9f6f33ee671ea2d856021276933339" datatype="html">\n        <source>Displaying previously cached data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>\n  for \n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n        </source>\n        <target>Displaying previously cached data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>\n  for \n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="ae580202919844531361ba2308287226ff74a584" datatype="html">\n        <source>Could not load data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n  Please check the cluster health.\n        </source>\n        <target>Could not load data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n  Please check the cluster health.\n        </target>\n      </trans-unit>\n      <trans-unit id="7e52e9143145e1db5146258de81eae018a407b31" datatype="html">\n        <source>Clear notifications</source>\n        <target>Clear notifications</target>\n      </trans-unit>\n      <trans-unit id="b0b07bb6b7ff21ede439dd04eaf8872d1ecb84d8" datatype="html">\n        <source>Remove notification</source>\n        <target>Remove notification</target>\n      </trans-unit>\n      <trans-unit id="e17a1d75189da843f541f7764f188f2b19a97df2" datatype="html">\n        <source>Duration:</source>\n        <target>Duration:</target>\n      </trans-unit>\n      <trans-unit id="0d4b37c6675c5b436a54c43d6716eec835e1aa7f" datatype="html">\n        <source>There are no notifications.</source>\n        <target>There are no notifications.</target>\n      </trans-unit>\n      <trans-unit id="0a23e992f6c6e169a38b2b7338b4e5e803b52e0d" datatype="html">\n        <source>Tasks and Notifications</source>\n        <target>Tasks and Notifications</target>\n      </trans-unit>\n      <trans-unit id="3fb5709e10166cbc85970cbff103db227dbeb813" datatype="html">\n        <source>Select a Language</source>\n        <target>言語の選択</target>\n      </trans-unit>\n      <trans-unit id="c5109325fb160b543f71a51e7511c00575057431" datatype="html">\n        <source>Loading panel data...</source>\n        <target>パネルデータを読み込んでいます...</target>\n      </trans-unit>\n      <trans-unit id="8ca12411f890ab8b0a9216418e2b8f5ea7d2441a" datatype="html">\n        <source>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the monitoring functionality.\n        </source>\n        <target>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the monitoring functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="160a9e80dc089792df42e2400b1e81b9e7025aa7" datatype="html">\n        <source>Grafana Dashboard doesn\'t exist. Please refer to\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  add dashboards to Grafana.\n        </source>\n        <target>Grafana Dashboard doesn\'t exist. Please refer to\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  add dashboards to Grafana.\n        </target>\n      </trans-unit>\n      <trans-unit id="4e11830040bd64804a0555de76f291d5832772d4" datatype="html">\n        <source>Grafana Time Picker</source>\n        <target>Grafana Time Picker</target>\n      </trans-unit>\n      <trans-unit id="238c1ba845dd7330e8088165275919a1debf1ca3" datatype="html">\n        <source>Reset Settings</source>\n        <target>設定のリセット</target>\n      </trans-unit>\n      <trans-unit id="c8d1785038d461ec66b5799db21864182b35900a" datatype="html">\n        <source>Refresh</source>\n        <target>Refresh</target>\n      </trans-unit>\n      <trans-unit id="6c947210e2d162b6225083d18820ab602f58cd2d" datatype="html">\n        <source>Remove the custom configuration value. The default configuration will be inherited and used instead.</source>\n        <target>Remove the custom configuration value. The default configuration will be inherited and used instead.</target>\n      </trans-unit>\n      <trans-unit id="454ee9cb60b00446a8fb147fd2cc5eb836320586" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ option.maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ option.maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="7fc8a22825131e028336f60ef909ccbd96059703" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ option.minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ option.minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="cda31dbd724cf5f4fa7a4274d9120651490c8a8c" datatype="html">\n        <source>Back</source>\n        <target>戻る</target>\n      </trans-unit>\n      <trans-unit id="9ce641535be1ffa106c87724ba0637facaef5f61" datatype="html">\n        <source>Your password will expire in \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>less than 1\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day. Click\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.\n        </source>\n        <target>Your password will expire in \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>less than 1\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day. Click\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.\n        </target>\n      </trans-unit>\n      <trans-unit id="c2f34088c155e40ffb23770a465a65868ce772b2" datatype="html">\n        <source>Your password will expire in \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ expirationDays }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day(s). Click\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.\n        </source>\n        <target>Your password will expire in \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ expirationDays }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day(s). Click\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.\n        </target>\n      </trans-unit>\n      <trans-unit id="9b516f972c744779257310b73f6e97438b726707" datatype="html">\n        <source>Orchestrator is not available. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the functionality.\n        </source>\n        <target>Orchestrator is not available. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="012741ee52b3c050e4a977c37cc2334f7974f141" datatype="html">\n        <source>Failed to load data.</source>\n        <target>データを読み込めませんでした。</target>\n      </trans-unit>\n      <trans-unit id="1e5e23363e949f7dcbaf034bdb141a561132a10e" datatype="html">\n        <source>Clear filters</source>\n        <target>Clear filters</target>\n      </trans-unit>\n      <trans-unit id="80cc9a12d4bf6fe454ed94b379eeaf915f920bb7" datatype="html">\n        <source>selected</source>\n        <target>選択済み</target>\n        <note>X selected</note>\n      </trans-unit>\n      <trans-unit id="0cb77511a9a148e05b9adf36cc07269956fbb29d" datatype="html">\n        <source>found</source>\n        <target>検出済み</target>\n        <note>X found</note>\n      </trans-unit>\n      <trans-unit id="79347388740c50b7ac97e144c2494bb62912f312" datatype="html">\n        <source>total</source>\n        <target>合計</target>\n        <note>X total</note>\n      </trans-unit>\n      <trans-unit id="cff1428d10d59d14e45edec3c735a27b5482db59" datatype="html">\n        <source>Name</source>\n        <target>名前</target>\n      </trans-unit>\n      <trans-unit id="eec715de352a6b114713b30b640d319fa78207a0" datatype="html">\n        <source>Description</source>\n        <target>説明</target>\n      </trans-unit>\n      <trans-unit id="4ad112ce9bcd55dfd137792a86afe1b5a5b13cf8" datatype="html">\n        <source>Long description</source>\n        <target>長い説明</target>\n      </trans-unit>\n      <trans-unit id="ff7cee38a2259526c519f878e71b964f41db4348" datatype="html">\n        <source>Default</source>\n        <target>デフォルト</target>\n      </trans-unit>\n      <trans-unit id="33e1c1d9fc05ca3f62fcc8a1170fc31ebae4229c" datatype="html">\n        <source>Daemon default</source>\n        <target>デーモンのデフォルト</target>\n      </trans-unit>\n      <trans-unit id="809b0c848932a41318f77a2aace904ef429c13f4" datatype="html">\n        <source>Values</source>\n        <target>値</target>\n      </trans-unit>\n      <trans-unit id="5894f7158499fdb89527af50c9f1cf7d4c95cad6" datatype="html">\n        <source>-- Default --</source>\n        <target>-- Default --</target>\n      </trans-unit>\n      <trans-unit id="514f6e12d035a6d9b00de6b3e55c18b73488da07" datatype="html">\n        <source>true</source>\n        <target>true</target>\n      </trans-unit>\n      <trans-unit id="774f5e6a183dea08393789b6f72e86afad729419" datatype="html">\n        <source>false</source>\n        <target>false</target>\n      </trans-unit>\n      <trans-unit id="82029b6db704c56a2aa3e82ac555b8655356b077" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8ed8b3967a7326b81b191c9f490006e6a6777a9a" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="52c9a103b812f258bcddc3d90a6e3f46871d25fe" datatype="html">\n        <source>Save</source>\n        <target>保存</target>\n      </trans-unit>\n      <trans-unit id="738de688b22fba5d0dc7a5e549996838dddad0ee" datatype="html">\n        <source>CRUSH map viewer</source>\n        <target>CRUSHマップビューア</target>\n      </trans-unit>\n      <trans-unit id="94516fa213706c67ce5a5b5765681d7fb032033a" datatype="html">\n        <source>Loading...</source>\n        <target>読み込んでいます...</target>\n      </trans-unit>\n      <trans-unit id="formTitle" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </target>\n        <note>form title</note>\n      </trans-unit>\n      <trans-unit id="9a541ec1a4319fffc16ad3b3ab2c2b6d251a829d" datatype="html">\n        <source>Hostname</source>\n        <target>ホスト名</target>\n      </trans-unit>\n      <trans-unit id="7cbdabcece469fab89cfa687ab152bca18b97498" datatype="html">\n        <source>This field is required.</source>\n        <target>このフィールドは必須です。</target>\n      </trans-unit>\n      <trans-unit id="1b3f5e5291541678f7afa49d28fad5ca848a8061" datatype="html">\n        <source>The chosen hostname is already in use.</source>\n        <target>The chosen hostname is already in use.</target>\n      </trans-unit>\n      <trans-unit id="formActionButton" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </target>\n        <note>form action button</note>\n      </trans-unit>\n      <trans-unit id="6110699a3562eeb15371063c0cf7f6bfd88a0209" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemNames[0] }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemNames[0] }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>?\n        </target>\n      </trans-unit>\n      <trans-unit id="549859e511ba5af0ea03fcaa620c472f08038969" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected items?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected items?\n        </target>\n      </trans-unit>\n      <trans-unit id="54839ebc827b73c9dc4e1df731c6d36a85036af7" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected \n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected \n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>?\n        </target>\n      </trans-unit>\n      <trans-unit id="2be8b7f04f0104d3fad90d079d8202b74f758b9a" datatype="html">\n        <source>Yes, I am sure.</source>\n        <target>はい。</target>\n      </trans-unit>\n      <trans-unit id="d7b35c384aecd25a516200d6921836374613dfe7" datatype="html">\n        <source>Cancel</source>\n        <target>キャンセル</target>\n      </trans-unit>\n      <trans-unit id="55a2f26b2e87886d9b8015a887e38e51ab2a866a" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8" datatype="html">\n        <source>Close</source>\n        <target>閉じる</target>\n      </trans-unit>\n      <trans-unit id="40661476cb24c89d8b06614998e31d5fbe84eeb6" datatype="html">\n        <source>Hosts List</source>\n        <target>ホストリスト</target>\n      </trans-unit>\n      <trans-unit id="5e7f4b1ca49e8d217bd0e12c6f7d6b6a2ade2c18" datatype="html">\n        <source>Overall Performance</source>\n        <target>全体的なパフォーマンス</target>\n      </trans-unit>\n      <trans-unit id="3e24569eca61d598c8b01defbbbb1fa8bd5222bc" datatype="html">\n        <source>Devices</source>\n        <target>Devices</target>\n      </trans-unit>\n      <trans-unit id="e6d57f36aa2bad303c8a8ee944b9bd7fae3c8c26" datatype="html">\n        <source>No entries found</source>\n        <target>エントリが見つかりません</target>\n      </trans-unit>\n      <trans-unit id="d556ab48a65722b400e497f61737f553ee0f89e2" datatype="html">\n        <source>Cluster Logs</source>\n        <target>クラスタログ</target>\n      </trans-unit>\n      <trans-unit id="5f966baffd188be0e8adc2d7067b86e55fc9b9de" datatype="html">\n        <source>Audit Logs</source>\n        <target>監査ログ</target>\n      </trans-unit>\n      <trans-unit id="4193c9eb868aeec119b78a14795241e0aa5e8b60" datatype="html">\n        <source>Priority:</source>\n        <target>Priority:</target>\n      </trans-unit>\n      <trans-unit id="1d78ca51eab260ce3fd917d39190d64df5229b6e" datatype="html">\n        <source>Keyword:</source>\n        <target>Keyword:</target>\n      </trans-unit>\n      <trans-unit id="05fa0bded36de6e73a1fa44838b627349dace044" datatype="html">\n        <source>Date:</source>\n        <target>Date:</target>\n      </trans-unit>\n      <trans-unit id="31dadb362bf7f7c2afa10e5f96474ccd3977f91f" datatype="html">\n        <source>Datepicker</source>\n        <target>Datepicker</target>\n      </trans-unit>\n      <trans-unit id="85a400388de1899b1917138cf7e5286376f72847" datatype="html">\n        <source>Time range:</source>\n        <target>Time range:</target>\n      </trans-unit>\n      <trans-unit id="2447796ddbda942f4e2c46619cb84d69f066e568" datatype="html">\n        <source>Loading configuration...</source>\n        <target>設定を読み込んでいます...</target>\n      </trans-unit>\n      <trans-unit id="b42c0b347a841bed8859ee83de05080ee28c803b" datatype="html">\n        <source>The configuration could not be loaded.</source>\n        <target>設定を読み込めませんでした。</target>\n      </trans-unit>\n      <trans-unit id="31a9c2870a934b594d1390146c489f76440859ea" datatype="html">\n        <source>Edit Manager module</source>\n        <target>マネージャモジュールの編集</target>\n      </trans-unit>\n      <trans-unit id="46e09b8290d3d0afdb6baa2021395b0570606a31" datatype="html">\n        <source>The entered value is not a valid UUID, e.g.: 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8</source>\n        <target>入力された値は有効なUUIDではありません(有効なUUIDの例: 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8)。</target>\n      </trans-unit>\n      <trans-unit id="7aacd038b39cfd347107d01d1dc27f5cb3e0951c" datatype="html">\n        <source>The entered value needs to be a valid IP address.</source>\n        <target>有効なIPアドレスを入力する必要があります。</target>\n      </trans-unit>\n      <trans-unit id="f19106149f4b07a0d721f9d317afed393cb7bd93" datatype="html">\n        <source>The entered value is too high! It must be lower or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.max }}"/>.\n        </source>\n        <target>The entered value is too high! It must be lower or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.max }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="6d33c40ef9a6c3bf0888df831b25e41e65f9d15b" datatype="html">\n        <source>The entered value is too low! It must be greater or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.min }}"/>.\n        </source>\n        <target>The entered value is too low! It must be greater or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.min }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="eae7086660cf1e38c7194a2c49ff52cc656f90f5" datatype="html">\n        <source>The entered value needs to be a number.</source>\n        <target>数字を入力する必要があります。</target>\n      </trans-unit>\n      <trans-unit id="a73376e04b4fb3a20734c8c39743fba32e6676ce" datatype="html">\n        <source>The entered value needs to be a number or decimal.</source>\n        <target>数字または小数を入力する必要があります。</target>\n      </trans-unit>\n      <trans-unit id="047f50bc5b5d17b5bec0196355953e1a5c590ddb" datatype="html">\n        <source>Update</source>\n        <target>更新</target>\n      </trans-unit>\n      <trans-unit id="81b97b8ea996ad1e4f9fca8415021850214884b1" datatype="html">\n        <source>Status</source>\n        <target>ステータス</target>\n      </trans-unit>\n      <trans-unit id="57ec6032f5618d4a9f16eb950ad23d2ce7c24b54" datatype="html">\n        <source>Cluster ID</source>\n        <target>クラスタID</target>\n      </trans-unit>\n      <trans-unit id="67d7facc3fec5f8a49ab9ba0a245872184264ce5" datatype="html">\n        <source>monmap modified</source>\n        <target>monmapが変更されました</target>\n      </trans-unit>\n      <trans-unit id="d4906731aaf2b94b4f547646c9bfe58bb77951b6" datatype="html">\n        <source>monmap epoch</source>\n        <target>monmapエポック</target>\n      </trans-unit>\n      <trans-unit id="bd4ee06ffdc46d9dfbd0c0c4f81399021c680056" datatype="html">\n        <source>quorum con</source>\n        <target>定数con</target>\n      </trans-unit>\n      <trans-unit id="1176c7db8a8276ccb44cc3d42e2c28d9fa6c6596" datatype="html">\n        <source>quorum mon</source>\n        <target>定数mon</target>\n      </trans-unit>\n      <trans-unit id="530ef677a09d681b3ab68cb0760494b3ae72a77c" datatype="html">\n        <source>required con</source>\n        <target>必須のcon</target>\n      </trans-unit>\n      <trans-unit id="a91558e0d506c32021c31843f8f168899fc65cbf" datatype="html">\n        <source>required mon</source>\n        <target>必須のmon</target>\n      </trans-unit>\n      <trans-unit id="b3abe9eac5bcd94a54c8da93b312e085ec512e74" datatype="html">\n        <source>In Quorum</source>\n        <target>定数内</target>\n      </trans-unit>\n      <trans-unit id="ba4b748a676e1f217ce1e736fb7ec1215e677bae" datatype="html">\n        <source>Not In Quorum</source>\n        <target>非定数内</target>\n      </trans-unit>\n      <trans-unit id="4383e9662ea19839c7499b2128d43a195e564317" datatype="html">\n        <source>OSD creation preview</source>\n        <target>OSD creation preview</target>\n      </trans-unit>\n      <trans-unit id="366225c51e0b00bcb1c55795a0dc5e81c455f84e" datatype="html">\n        <source>DriveGroups</source>\n        <target>DriveGroups</target>\n      </trans-unit>\n      <trans-unit id="8edc89137d0d8c5667a2f03230beafae45e58429" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ deviceType }}"/> devices\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ deviceType }}"/> devices\n        </target>\n      </trans-unit>\n      <trans-unit id="eba28e1805b18f7c8ae2e4bc15dcf063b10b3822" datatype="html">\n        <source>At least one of these filters must be applied in order to proceed:</source>\n        <target>At least one of these filters must be applied in order to proceed:</target>\n      </trans-unit>\n      <trans-unit id="93389aa2fe2bea50bf89554ee51b28f87ee2fb50" datatype="html">\n        <source>Number of devices: \n          <x id="INTERPOLATION" equiv-text="{{ filteredDevices.length }}"/>. Raw capacity:\n          <x id="INTERPOLATION_1" equiv-text="{{ capacity | dimlessBinary }}"/>.\n        </source>\n        <target>Number of devices: \n          <x id="INTERPOLATION" equiv-text="{{ filteredDevices.length }}"/>. Raw capacity:\n          <x id="INTERPOLATION_1" equiv-text="{{ capacity | dimlessBinary }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="ccb4f84edc0b4e76415bb3f9b73d725b06683af3" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ name }}"/> devices\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ name }}"/> devices\n        </target>\n      </trans-unit>\n      <trans-unit id="60cb3d01e5ddf266ecb4271007a1c3d0f3efdc22" datatype="html">\n        <source>The primary storage devices. These devices contain all OSD data.</source>\n        <target>The primary storage devices. These devices contain all OSD data.</target>\n      </trans-unit>\n      <trans-unit id="b432e04886d0d1fd84f740477383051f85addcf2" datatype="html">\n        <source>Write-Ahead-Log devices. These devices are used for BlueStore’s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device.</source>\n        <target>Write-Ahead-Log devices. These devices are used for BlueStore’s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device.</target>\n      </trans-unit>\n      <trans-unit id="b87e181ab9e8393aa5ed759dd3d53836e32c8ffe" datatype="html">\n        <source>DB devices can be used for storing BlueStore’s internal metadata.  It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD).</source>\n        <target>DB devices can be used for storing BlueStore’s internal metadata.  It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD).</target>\n      </trans-unit>\n      <trans-unit id="f6755cff4957d5c3c89bafce5651f1b6fa2b1fd9" datatype="html">\n        <source>Add</source>\n        <target>追加</target>\n      </trans-unit>\n      <trans-unit id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46" datatype="html">\n        <source>Clear</source>\n        <target>Clear</target>\n      </trans-unit>\n      <trans-unit id="7e0fd3c7af0630f93befa6234a693a32a61084e0" datatype="html">\n        <source>Raw capacity: \n          <x id="INTERPOLATION" equiv-text="{{ capacity | dimlessBinary }}"/>\n        </source>\n        <target>Raw capacity: \n          <x id="INTERPOLATION" equiv-text="{{ capacity | dimlessBinary }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="43ecf6bee2aebc07b0aad6dc1fe13e38d14687fa" datatype="html">\n        <source>Shared devices</source>\n        <target>Shared devices</target>\n      </trans-unit>\n      <trans-unit id="7a1c376f6f1b37de4c318ff2106255ba6c0f5b0b" datatype="html">\n        <source>WAL slots</source>\n        <target>WAL slots</target>\n      </trans-unit>\n      <trans-unit id="73811a6f37b63e6b0e491e221bfa21e9dea8a87a" datatype="html">\n        <source>How many OSDs per WAL device.</source>\n        <target>How many OSDs per WAL device.</target>\n      </trans-unit>\n      <trans-unit id="0c67a7ac4762ef1cc855056c6b4daab93e53a0a5" datatype="html">\n        <source>Specify 0 to let Orchestrator backend decide it.</source>\n        <target>Specify 0 to let Orchestrator backend decide it.</target>\n      </trans-unit>\n      <trans-unit id="7bda9362e06e6c67341b4a8425b0d29d6b84464b" datatype="html">\n        <source>Value should be greater than or equal to 0</source>\n        <target>Value should be greater than or equal to 0</target>\n      </trans-unit>\n      <trans-unit id="324c2b10152b9dd908222bb0b71f61beb60a30c5" datatype="html">\n        <source>DB slots</source>\n        <target>DB slots</target>\n      </trans-unit>\n      <trans-unit id="c23cf12ef9c76f37fc7a4b7ae3e00fb0f68b6e26" datatype="html">\n        <source>How many OSDs per DB device.</source>\n        <target>How many OSDs per DB device.</target>\n      </trans-unit>\n      <trans-unit id="6cdb1fea93d77c07950c0c76c6e0ad79ebbef084" datatype="html">\n        <source>Features</source>\n        <target>機能</target>\n      </trans-unit>\n      <trans-unit id="3e2a583f531f7dd9f089f68a6968e444c372c3e8" datatype="html">\n        <source>Preview</source>\n        <target>Preview</target>\n      </trans-unit>\n      <trans-unit id="5ef50ba2514414f799d4c8fc36067a251904ba81" datatype="html">\n        <source>Cluster-wide OSD Flags</source>\n        <target>クラスタ全体のOSDフラグ</target>\n      </trans-unit>\n      <trans-unit id="71c77bb8cecdf11ec3eead24dd1ba506573fa9cd" datatype="html">\n        <source>Submit</source>\n        <target>送信</target>\n      </trans-unit>\n      <trans-unit id="1cfe07dac5b4ee1c464eb24225ddeb4f1d24076a" datatype="html">\n        <source>Advanced...</source>\n        <target>詳細...</target>\n      </trans-unit>\n      <trans-unit id="b1ef1c12ddcee305353623919ef02778569f5454" datatype="html">\n        <source>Advanced configuration options</source>\n        <target>Advanced configuration options</target>\n      </trans-unit>\n      <trans-unit id="c35f9c5f268a514b970cc55e9a5dc4bed0988e7f" datatype="html">\n        <source>OSD Recovery Priority</source>\n        <target>OSD回復優先度</target>\n      </trans-unit>\n      <trans-unit id="b74af38005e8a8914e45af2ec412e11ceafef8b6" datatype="html">\n        <source>Priority</source>\n        <target>優先度</target>\n      </trans-unit>\n      <trans-unit id="c2f48f04b379bfba133825747adfd238d511412e" datatype="html">\n        <source>Customize priority values</source>\n        <target>優先度値のカスタマイズ</target>\n      </trans-unit>\n      <trans-unit id="4aa19de2a2b54cbda39e9c62917b23044c087776" datatype="html">\n        <source>This field is required!</source>\n        <target>このフィールドは必須です。</target>\n      </trans-unit>\n      <trans-unit id="b699e94bf376491bd50b70a98531071c737eaf40" datatype="html">\n        <source>[object Object]</source>\n        <target>[object Object]</target>\n      </trans-unit>\n      <trans-unit id="98fe13e7ad6c2b80375d204b47858ded83f80e15" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="5423a3c111be47fc5a1bfe46ceb58c81c84db691" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="5251a4355cece3075db43f15d69a24a0f8485707" datatype="html">\n        <source>Reweight OSD: \n          <x id="INTERPOLATION" equiv-text="{{ osdId }}"/>\n        </source>\n        <target>Reweight OSD: \n          <x id="INTERPOLATION" equiv-text="{{ osdId }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="67650b2998db48201b2c6176cbfef51e7211ccaa" datatype="html">\n        <source>The value needs to be between 0 and 1.</source>\n        <target>値は0と1の間である必要があります。</target>\n      </trans-unit>\n      <trans-unit id="bc11f92113d678a90e334fdf3d7b3fddbe34c579" datatype="html">\n        <source>Reweight</source>\n        <target>再重みづけ</target>\n      </trans-unit>\n      <trans-unit id="d5ca5daf742023fc4f0919fb3c1c6a51991cda4f" datatype="html">\n        <source>OSDs \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>Scrub\n        </source>\n        <target>OSDs \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>Scrub\n        </target>\n      </trans-unit>\n      <trans-unit id="4c17d67c7c5799eb920030e9a399961e90f55dd8" datatype="html">\n        <source>{VAR_SELECT, select, 1 {Deep } }</source>\n        <target>{VAR_SELECT, select, 1 {Deep } }</target>\n      </trans-unit>\n      <trans-unit id="fd0a4b6eed32e3488eccdc9c13f9841f08cc275e" datatype="html">\n        <source>You are about to apply a \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to\n          the OSD(s): \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ selected | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.\n        </source>\n        <target>You are about to apply a \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to\n          the OSD(s): \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ selected | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="dc6705f342a036b332c3fd3443201c3613e5524d" datatype="html">\n        <source>{VAR_SELECT, select, 1 {deep } }</source>\n        <target>{VAR_SELECT, select, 1 {deep } }</target>\n      </trans-unit>\n      <trans-unit id="b49d7877d24112d4bdfce9256edf61a007fae888" datatype="html">\n        <source>OSDs List</source>\n        <target>OSDリスト</target>\n      </trans-unit>\n      <trans-unit id="d5707a32ba9c1138e6423498fb0b24e970ebd19f" datatype="html">\n        <source>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) \n          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </source>\n        <target>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) \n          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </target>\n      </trans-unit>\n      <trans-unit id="d08c1e4f17dffc0ed1ac2e2e2875cb8b569eeb35" datatype="html">\n        <source>The \n          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to be \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>! \n          <x id="INTERPOLATION_1" equiv-text="{{ message }}"/>\n        </source>\n        <target>The \n          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to be \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>! \n          <x id="INTERPOLATION_1" equiv-text="{{ message }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="e776996dac651ef3819bfa767ccf2a0613759f47" datatype="html">\n        <source>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</source>\n        <target>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</target>\n      </trans-unit>\n      <trans-unit id="5cd6a031937412c42e5efa1e6959cb72ac08c720" datatype="html">\n        <source>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD \n          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </source>\n        <target>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD \n          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </target>\n      </trans-unit>\n      <trans-unit id="3eda19b44809820fffd5d3753bafb7243116f4b0" datatype="html">\n        <source>To see all active Prometheus alerts, please\n      provide the URL to the API of Prometheus\' Alertmanager as described in the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </source>\n        <target>To see all active Prometheus alerts, please\n      provide the URL to the API of Prometheus\' Alertmanager as described in the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="880ad4df5a2051a437321443d69c9a866699e5ad" datatype="html">\n        <source>Active Alerts</source>\n        <target>Active Alerts</target>\n      </trans-unit>\n      <trans-unit id="8e5e0e09a11990d343926ed693574213d703c38d" datatype="html">\n        <source>All Alerts</source>\n        <target>All Alerts</target>\n      </trans-unit>\n      <trans-unit id="526938c2b7945cb0d68328c24bd77730230cd455" datatype="html">\n        <source>To enable Silences, please provide the URL to the API of the Prometheus\' Alertmanager as\n      described in the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </source>\n        <target>To enable Silences, please provide the URL to the API of the Prometheus\' Alertmanager as\n      described in the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="aa0c44aa1e5727061baa91e954f77e2f5f9a37c9" datatype="html">\n        <source>Silences</source>\n        <target>Silences</target>\n      </trans-unit>\n      <trans-unit id="8501055865d7031b5521a0c5467532648009a61d" datatype="html">\n        <source>Matcher</source>\n        <target>Matcher</target>\n      </trans-unit>\n      <trans-unit id="9c25e04f554875dc2625a78ba0fc56c6010cd0d3" datatype="html">\n        <source>-- Select an attribute to match against --</source>\n        <target>-- Select an attribute to match against --</target>\n      </trans-unit>\n      <trans-unit id="5049e204c14c648691ac775a64fb504467aeb549" datatype="html">\n        <source>Value</source>\n        <target>値</target>\n      </trans-unit>\n      <trans-unit id="77fc5c63497fc031ddc97645484e3d94ad27766c" datatype="html">\n        <source>Use regular expression</source>\n        <target>Use regular expression</target>\n      </trans-unit>\n      <trans-unit id="7bbec1a797283712c0adf9e71d77fb5a8cd720db" datatype="html">\n        <source>{VAR_SELECT, select, 1 {Update} other {Add} }</source>\n        <target>{VAR_SELECT, select, 1 {Update} other {Add} }</target>\n      </trans-unit>\n      <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c" datatype="html">\n        <source>Edit</source>\n        <target>編集</target>\n      </trans-unit>\n      <trans-unit id="826b25211922a1b46436589233cb6f1a163d89b7" datatype="html">\n        <source>Delete</source>\n        <target>削除</target>\n      </trans-unit>\n      <trans-unit id="a3ba06aba047605af8ea1718ec1ba153b7db12a2" datatype="html">\n        <source>Editing a silence will expire the old silence and recreate it as a new silence</source>\n        <target>Editing a silence will expire the old silence and recreate it as a new silence</target>\n      </trans-unit>\n      <trans-unit id="a20424156b8816671f61879f0574a4f27d7b16b9" datatype="html">\n        <source>Creator</source>\n        <target>Creator</target>\n      </trans-unit>\n      <trans-unit id="5a5d7ee2acbfa9c91ab7f41d26bda9ff0cafe42f" datatype="html">\n        <source>Comment</source>\n        <target>Comment</target>\n      </trans-unit>\n      <trans-unit id="4c11aad490b2d53fdae30b3807beabf79306752c" datatype="html">\n        <source>Start time</source>\n        <target>Start time</target>\n      </trans-unit>\n      <trans-unit id="32856b1e8e339b747b21e313e2fe65a51fd450bb" datatype="html">\n        <source>If the start time lies in the past the creation time will be used</source>\n        <target>If the start time lies in the past the creation time will be used</target>\n      </trans-unit>\n      <trans-unit id="a02ea1d4e7424ca989929da5e598f379940fdbf2" datatype="html">\n        <source>Duration</source>\n        <target>Duration</target>\n      </trans-unit>\n      <trans-unit id="2f4e35e36f4d3c62e2c17df41730b6dee4afc4b9" datatype="html">\n        <source>End time</source>\n        <target>End time</target>\n      </trans-unit>\n      <trans-unit id="992123459137d45c15df5548bc9682aad835c04b" datatype="html">\n        <source>Matchers</source>\n        <target>Matchers</target>\n      </trans-unit>\n      <trans-unit id="3e023166c55833d5a13f4143e3dbe372befe1b4e" datatype="html">\n        <source>A silence requires at least one matcher</source>\n        <target>A silence requires at least one matcher</target>\n      </trans-unit>\n      <trans-unit id="ef765bd80c4806c51c891908c07a24bc76f019eb" datatype="html">\n        <source>Add matcher</source>\n        <target>Add matcher</target>\n      </trans-unit>\n      <trans-unit id="d2bcd3296d2850de762fb943060b7e086a893181" datatype="html">\n        <source>Health</source>\n        <target>ヘルス</target>\n      </trans-unit>\n      <trans-unit id="61e0f26d843eec0b33ff475e111b0c2f7a80b835" datatype="html">\n        <source>Statistics</source>\n        <target>統計情報</target>\n      </trans-unit>\n      <trans-unit id="f8f74e5f683012b9c0702b1446011c6b9158bc67" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the NFS Ganesha management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the NFS Ganesha management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="7ffe39df9d88c972792bd8688b215392deb8313d" datatype="html">\n        <source>Clients</source>\n        <target>クライアント</target>\n      </trans-unit>\n      <trans-unit id="f2dae0bda66f6a349444951c0379c28cda47d6d1" datatype="html">\n        <source>Any client can access</source>\n        <target>任意のクライアントからアクセスできます</target>\n      </trans-unit>\n      <trans-unit id="7882f2edb1d4139800b276b6b0bbf5ae0b2234ef" datatype="html">\n        <source>Addresses</source>\n        <target>アドレス</target>\n      </trans-unit>\n      <trans-unit id="9bd96fcf50863e685c74d0490392f46689ffbdb6" datatype="html">\n        <source>Required field</source>\n        <target>必須フィールド</target>\n      </trans-unit>\n      <trans-unit id="a5f3f74c0f6925826cb2188576391c0da01a23f0" datatype="html">\n        <source>Must contain one or more comma-separated values</source>\n        <target>1つ以上のカンマ区切り値を含んでいる必要があります</target>\n      </trans-unit>\n      <trans-unit id="8bb5b2073697f3f4378c44a49b7524934c9268f4" datatype="html">\n        <source>For example:</source>\n        <target>例:</target>\n      </trans-unit>\n      <trans-unit id="8f969c655b3fbe4fba7e277caf4cd2c459f9fca5" datatype="html">\n        <source>Access Type</source>\n        <target>アクセスタイプ</target>\n      </trans-unit>\n      <trans-unit id="28952831a284cfe2b4fc39ca610e80b52598905a" datatype="html">\n        <source>Squash</source>\n        <target>スカッシュ</target>\n      </trans-unit>\n      <trans-unit id="0660ae339068979854ade34a96546980723dede3" datatype="html">\n        <source>Add clients</source>\n        <target>クライアントの追加</target>\n      </trans-unit>\n      <trans-unit id="135b91a2d908d5814b782695470a6a786c99d9d2" datatype="html">\n        <source>-- No cluster available --</source>\n        <target>-- 使用可能なクラスタがありません --</target>\n      </trans-unit>\n      <trans-unit id="c501dba379f566885919240ea277b5bc10c14d18" datatype="html">\n        <source>-- Select the cluster --</source>\n        <target>-- クラスタを選択してください --</target>\n      </trans-unit>\n      <trans-unit id="cf85b1ee58326aa9da63da41b2629c9db7c9a5b9" datatype="html">\n        <source>Add daemon</source>\n        <target>デーモンの追加</target>\n      </trans-unit>\n      <trans-unit id="b3f6ba7fe84d6508705cdfe234f0fcc8ff85c9cf" datatype="html">\n        <source>Storage Backend</source>\n        <target>ストレージバックエンド</target>\n      </trans-unit>\n      <trans-unit id="151c80ea931037cd92e854442927f8a0f6ae7795" datatype="html">\n        <source>-- No data pools available --</source>\n        <target>-- 使用可能なデータプールがありません --</target>\n      </trans-unit>\n      <trans-unit id="b6fee356d1db954255a56d8169405a89595246b9" datatype="html">\n        <source>-- Select the storage backend --</source>\n        <target>-- ストレージバックエンドを選択してください --</target>\n      </trans-unit>\n      <trans-unit id="76d67035c3ab3d8e56f725859f820f03fda41cfc" datatype="html">\n        <source>Object Gateway User</source>\n        <target>オブジェクトゲートウェイユーザ</target>\n      </trans-unit>\n      <trans-unit id="fade7788bace74337f306ae209f10fc187ef4671" datatype="html">\n        <source>-- No users available --</source>\n        <target>-- 使用可能なユーザがありません --</target>\n      </trans-unit>\n      <trans-unit id="6d30b7b36cf8f6364167321bdb4ba35d4cefce7b" datatype="html">\n        <source>-- Select the object gateway user --</source>\n        <target>-- オブジェクトゲートウェイユーザを選択してください --</target>\n      </trans-unit>\n      <trans-unit id="589ce20d3ba3e3ac44f75decfaadc4ea8f0aec2d" datatype="html">\n        <source>CephFS User ID</source>\n        <target>CephFSユーザID</target>\n      </trans-unit>\n      <trans-unit id="c4b88a53ac3b0ece46ba9b3ad72355a3c190cce7" datatype="html">\n        <source>-- No clients available --</source>\n        <target>-- 使用可能なクライアントがありません --</target>\n      </trans-unit>\n      <trans-unit id="da52835b80497a0002d24414b057dc46ae44ce38" datatype="html">\n        <source>-- Select the cephx client --</source>\n        <target>-- cephxクライアントを選択してください --</target>\n      </trans-unit>\n      <trans-unit id="fd3419e8957d928d7f7ba19c93356a0dbff02871" datatype="html">\n        <source>CephFS Name</source>\n        <target>CephFS名</target>\n      </trans-unit>\n      <trans-unit id="ee3ba0ab5f0ccd597b3e44021c71e9aaad14df0a" datatype="html">\n        <source>-- No CephFS filesystem available --</source>\n        <target>-- No CephFS filesystem available --</target>\n      </trans-unit>\n      <trans-unit id="764c57812558b1ae66c5eec95d7efd2b1bf761e3" datatype="html">\n        <source>-- Select the CephFS filesystem --</source>\n        <target>-- Select the CephFS filesystem --</target>\n      </trans-unit>\n      <trans-unit id="957512d0321f73e9f115bce1bd823fa635170c41" datatype="html">\n        <source>Security Label</source>\n        <target>セキュリティラベル</target>\n      </trans-unit>\n      <trans-unit id="65ce0fa4da1ed55e658aeb31d1644a29f06bb342" datatype="html">\n        <source>Enable security label</source>\n        <target>セキュリティラベルの有効化</target>\n      </trans-unit>\n      <trans-unit id="7e808f804130c7b6ff719509cbc06ebb27393a48" datatype="html">\n        <source>CephFS Path</source>\n        <target>CephFSパス</target>\n      </trans-unit>\n      <trans-unit id="5ecc0107badb6625466aaa3f975b5c05276f432f" datatype="html">\n        <source>Path need to start with a \'/\' and can be followed by a word</source>\n        <target>パスは「/」で始まる必要があり、その後ろに1つの単語を配置できます</target>\n      </trans-unit>\n      <trans-unit id="2d02916f44fc63e13ab16d1cbe72aa6cb51feab3" datatype="html">\n        <source>New directory will be created</source>\n        <target>新しいディレクトリが作成されます</target>\n      </trans-unit>\n      <trans-unit id="766c66ad5cc981c531aaf3fe3a2a7a346ddc8d83" datatype="html">\n        <source>Path</source>\n        <target>パス</target>\n      </trans-unit>\n      <trans-unit id="7ec35c722a50b976620f22612f7be619c12ceb90" datatype="html">\n        <source>Path can only be a single \'/\' or a word</source>\n        <target>パスは単一の「/」または1つの単語である必要があります</target>\n      </trans-unit>\n      <trans-unit id="aebb6a5090c24511de4530195694bb3f3dcf0342" datatype="html">\n        <source>New bucket will be created</source>\n        <target>新しいバケットが作成されます</target>\n      </trans-unit>\n      <trans-unit id="bee6900143996c0e908a10564532eba3da0b30fb" datatype="html">\n        <source>NFS Protocol</source>\n        <target>NFSプロトコル</target>\n      </trans-unit>\n      <trans-unit id="2f534178c01ebf1307da2eaeef04bc6801ebc729" datatype="html">\n        <source>NFSv3</source>\n        <target>NFSv3</target>\n      </trans-unit>\n      <trans-unit id="f5043c0921e709935ab026bb3253ffe1f159fca1" datatype="html">\n        <source>NFSv4</source>\n        <target>NFSv4</target>\n      </trans-unit>\n      <trans-unit id="92488963d23095985a47c0d6e62304e11d333f19" datatype="html">\n        <source>NFS Tag</source>\n        <target>NFSタグ</target>\n      </trans-unit>\n      <trans-unit id="aae93362720aea94623682996dd3fcd0f906f056" datatype="html">\n        <source>Alternative access for \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v3\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> mounts (it must not have a leading /).\n        </source>\n        <target>Alternative access for \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v3\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> mounts (it must not have a leading /).\n        </target>\n      </trans-unit>\n      <trans-unit id="45d6db77dcf1a3eeb921033abc7882e517a541cc" datatype="html">\n        <source>Clients may not mount subdirectories (i.e. if Tag = foo, the client may not mount foo/baz).</source>\n        <target>クライアントはサブディレクトリをマウントできません(たとえば、[タグ] = fooの場合は、クライアントはfoo/bazをマウントできません)。</target>\n      </trans-unit>\n      <trans-unit id="a1c7a8676b55e882a97c6a6fb205204f9c761afa" datatype="html">\n        <source>By using different Tag options, the same Path may be exported multiple times.</source>\n        <target>異なる[タグ]オプションを使用することで、同じパスを複数回エクスポートできます。</target>\n      </trans-unit>\n      <trans-unit id="6d2c39708a32910f89701dd7e1cfb9ec1c195768" datatype="html">\n        <source>Pseudo</source>\n        <target>疑似</target>\n      </trans-unit>\n      <trans-unit id="1f8be2ae25947bec0b84c2338201580ea053f34e" datatype="html">\n        <source>The position that this \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v4\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> export occupies\n                in the \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>Pseudo FS\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> (it must be unique).\n        </source>\n        <target>The position that this \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v4\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> export occupies\n                in the \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>Pseudo FS\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> (it must be unique).\n        </target>\n      </trans-unit>\n      <trans-unit id="f3af55f7fd5b1d9e5a53e030c80116dc635bfb9f" datatype="html">\n        <source>By using different Pseudo options, the same Path may be exported multiple times.</source>\n        <target>異なる[疑似]オプションを使用することで、同じパスを複数回エクスポートできます。</target>\n      </trans-unit>\n      <trans-unit id="ddf98fcdeeb17643db020d54f42b5e56b5f9a52a" datatype="html">\n        <source>Pseudo needs to start with a \'/\' and can\'t contain any of the following: &gt;, &lt;, |, &amp;, ( or ).</source>\n        <target>Pseudo needs to start with a \'/\' and can\'t contain any of the following: &gt;, &lt;, |, &amp;, ( or ).</target>\n      </trans-unit>\n      <trans-unit id="27eb35c4b4ac08781a7253a2ab40f8f7d957ba51" datatype="html">\n        <source>-- No access type available --</source>\n        <target>-- 使用可能なアクセスタイプがありません --</target>\n      </trans-unit>\n      <trans-unit id="509ce016c9110a54028dafd741f15ceacbe74b5a" datatype="html">\n        <source>-- Select the access type --</source>\n        <target>-- アクセスタイプを選択してください --</target>\n      </trans-unit>\n      <trans-unit id="49850390a653cd05dc5843d74ef073a9122b54c9" datatype="html">\n        <source>The Object Gateway NFS backend has a number of\n              limitations which will seriously affect applications writing to\n              the share. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for details before enabling write access.\n        </source>\n        <target>The Object Gateway NFS backend has a number of\n              limitations which will seriously affect applications writing to\n              the share. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for details before enabling write access.\n        </target>\n      </trans-unit>\n      <trans-unit id="4deda03573eaaff77e63f6a238a1f0ca7816950a" datatype="html">\n        <source>-- No squash available --</source>\n        <target>-- 使用可能なスカッシュがありません --</target>\n      </trans-unit>\n      <trans-unit id="a0e82a4da88e7fdf270444f838d45849676e9d4b" datatype="html">\n        <source>--Select what kind of user id squashing is performed --</source>\n        <target>-- 実行されるユーザIDスカッシュ操作の種類を選択してください --</target>\n      </trans-unit>\n      <trans-unit id="d01b7c3f7f06712c53d054cfbe4f53d446b038e8" datatype="html">\n        <source>Transport Protocol</source>\n        <target>トランスポートプロトコル</target>\n      </trans-unit>\n      <trans-unit id="d2a6ad6e8bc315f07911722c05767ac79c136d99" datatype="html">\n        <source>UDP</source>\n        <target>UDP</target>\n      </trans-unit>\n      <trans-unit id="9c030f11e0aae9b24d2c048c57f29f590be621df" datatype="html">\n        <source>TCP</source>\n        <target>TCP</target>\n      </trans-unit>\n      <trans-unit id="734c9905951a774870497c5aaae8e3ee833b6196" datatype="html">\n        <source>CephFS</source>\n        <target>CephFS</target>\n      </trans-unit>\n      <trans-unit id="0eb15f32b2b92d7f3103ef3ff032621888a8dc32" datatype="html">\n        <source>Old password</source>\n        <target>Old password</target>\n      </trans-unit>\n      <trans-unit id="1cf42e491adc166a337a960eb84d03c0c3f677c8" datatype="html">\n        <source>The old and new passwords must be different.</source>\n        <target>The old and new passwords must be different.</target>\n      </trans-unit>\n      <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229" datatype="html">\n        <source>New password</source>\n        <target>New password</target>\n      </trans-unit>\n      <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b" datatype="html">\n        <source>Confirm new password</source>\n        <target>Confirm new password</target>\n      </trans-unit>\n      <trans-unit id="90163a3d3746819aef42e829f4446331232f3b66" datatype="html">\n        <source>Password confirmation doesn\'t match the new password.</source>\n        <target>Password confirmation doesn\'t match the new password.</target>\n      </trans-unit>\n      <trans-unit id="d06ae77f9ec46a4cdd49e7e76c73a411aaf2ee38" datatype="html">\n        <source>Please set a new password.</source>\n        <target>Please set a new password.</target>\n      </trans-unit>\n      <trans-unit id="8b5b3566e88438f51bd5f6caf6c090ed565ba5ed" datatype="html">\n        <source>You will be redirected to the login page afterwards.</source>\n        <target>You will be redirected to the login page afterwards.</target>\n      </trans-unit>\n      <trans-unit id="449dca3d3a93ead418b0541ea81b0dda7e6483c2" datatype="html">\n        <source>Welcome to Ceph!</source>\n        <target>Cephにようこそ!</target>\n        <note>The welcome message on the login page</note>\n      </trans-unit>\n      <trans-unit id="0070e83d11da39d6f4bb95065c2675db1610b419" datatype="html">\n        <source>Username is required</source>\n        <target>ユーザ名は必須です</target>\n      </trans-unit>\n      <trans-unit id="1e20f8b8a4706526c9024cc2f39d568345d100dc" datatype="html">\n        <source>Password is required</source>\n        <target>パスワードは必須です</target>\n      </trans-unit>\n      <trans-unit id="6765b4c916060f6bc42d9bb69e80377dbcb5e4e9" datatype="html">\n        <source>Login</source>\n        <target>ログイン</target>\n      </trans-unit>\n      <trans-unit id="58fc1b5c79a75370eb52644fd83fb2e7096b6649" datatype="html">\n        <source>Sorry, the user does not exist in Ceph.</source>\n        <target>このユーザはCephに存在しません。</target>\n      </trans-unit>\n      <trans-unit id="d9deb94f78e7c41b35c6622b874f06657d7604c1" datatype="html">\n        <source>Return to \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Login Page\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You\'ll be logged out from the Identity Provider when you retry logging in.\n        </source>\n        <target>Return to \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Login Page\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You\'ll be logged out from the Identity Provider when you retry logging in.\n        </target>\n      </trans-unit>\n      <trans-unit id="471e78026c258073ba687478dc54c35d9041ea42" datatype="html">\n        <source>Forbidden</source>\n        <target>禁止</target>\n      </trans-unit>\n      <trans-unit id="02ea8ad57677e3c63f3d7814ca5e6c7b74e360b4" datatype="html">\n        <source>Sorry, you are not allowed to see what you were looking for.</source>\n        <target>検索していた内容を表示することは許可されていません。</target>\n      </trans-unit>\n      <trans-unit id="2240b985f17293d84cc8532fe86994aa5f63667c" datatype="html">\n        <source>Sorry, we could not find what you were looking for.</source>\n        <target>Sorry, we could not find what you were looking for.</target>\n      </trans-unit>\n      <trans-unit id="ac54c18c1b520e948095c83a3a1025f02ce6dcc6" datatype="html">\n        <source>Neither hostname nor OSD ID given</source>\n        <target>Neither hostname nor OSD ID given</target>\n      </trans-unit>\n      <trans-unit id="4f635b3cb0600409a2ad44a5bd1863c699e6a01c" datatype="html">\n        <source>Failed to retrieve SMART data.</source>\n        <target>Failed to retrieve SMART data.</target>\n      </trans-unit>\n      <trans-unit id="d82a9af5b05e7cd17640f196f163771685ff8df6" datatype="html">\n        <source>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</source>\n        <target>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</target>\n      </trans-unit>\n      <trans-unit id="04f8a3c7e8ac610e6581960162cc15f55a16696a" datatype="html">\n        <source>No SMART data available.</source>\n        <target>No SMART data available.</target>\n      </trans-unit>\n      <trans-unit id="3a03d3c2e459f8f8fa7202c0fce465d6165f9e2b" datatype="html">\n        <source>passed</source>\n        <target>passed</target>\n      </trans-unit>\n      <trans-unit id="a185c9b97513b3882604ea9bab60edbfac945c15" datatype="html">\n        <source>SMART overall-health self-assessment test result</source>\n        <target>SMART overall-health self-assessment test result</target>\n      </trans-unit>\n      <trans-unit id="41435d5a5692c8e412c74deaee95d99dbd3617e1" datatype="html">\n        <source>failed</source>\n        <target>failed</target>\n      </trans-unit>\n      <trans-unit id="ddd5dd6d930030096ea617f62c82b648a0dd9484" datatype="html">\n        <source>Device Information</source>\n        <target>Device Information</target>\n      </trans-unit>\n      <trans-unit id="380295f37caea93701d071485a38ef0bdba57133" datatype="html">\n        <source>No SMART data available for this device.</source>\n        <target>No SMART data available for this device.</target>\n      </trans-unit>\n      <trans-unit id="20cb12827cbe559a7b1da6fdae96041b3b5c3c55" datatype="html">\n        <source>SMART</source>\n        <target>SMART</target>\n      </trans-unit>\n      <trans-unit id="5758c3f16f8749f0f4e2a787f02e8b4da246102f" datatype="html">\n        <source>SMART data is loading.</source>\n        <target>SMART data is loading.</target>\n      </trans-unit>\n      <trans-unit id="a949d7e577902d0e5dc5d0971bb0170a21be7728" datatype="html">\n        <source>[object Object]</source>\n        <target>[object Object]</target>\n      </trans-unit>\n      <trans-unit id="ff92fbdec9fdd5054493eeda0d7ee8b450f83e72" datatype="html">\n        <source>RBD Configuration</source>\n        <target>RBD設定</target>\n      </trans-unit>\n      <trans-unit id="b62d9efc8eb3b589904f6cb96a0406bbda55673a" datatype="html">\n        <source>Remove the local configuration value. The parent configuration value will be inherited and used instead.</source>\n        <target>ローカル設定値を削除します。親設定値が継承されて代わりに使用されます。</target>\n      </trans-unit>\n      <trans-unit id="963488a1010d46067b238c4ae917fab3907c0a3a" datatype="html">\n        <source>The mininum value is 0</source>\n        <target>最小値は0です</target>\n      </trans-unit>\n      <trans-unit id="1d8a7c8aea58294a3c57c23af0468ddf0ba0c9c7" datatype="html">\n        <source>Pools List</source>\n        <target>プールリスト</target>\n      </trans-unit>\n      <trans-unit id="490e15ecc922965b6d8194754c87c5583aa071f3" datatype="html">\n        <source>The name can only consist of alphanumeric characters, dashes and underscores.</source>\n        <target>名前は英数字、ダッシュ、および下線のみで構成される必要があります。</target>\n      </trans-unit>\n      <trans-unit id="9edc2b494e660618af3e5225f68d40b7ca67629c" datatype="html">\n        <source>The chosen erasure code profile name is already in use.</source>\n        <target>選択されたイレイジャコードプロファイル名はすでに使用されています。</target>\n      </trans-unit>\n      <trans-unit id="35a4206db3105ed03e0dd799e1642b75b78123e8" datatype="html">\n        <source>Root</source>\n        <target>Root</target>\n      </trans-unit>\n      <trans-unit id="cf425784c7073c7e7f7c1bb90c2c19db7e751db2" datatype="html">\n        <source>Failure domain type</source>\n        <target>Failure domain type</target>\n      </trans-unit>\n      <trans-unit id="72396a9565cf644d1fe1b21b790c4243ee270986" datatype="html">\n        <source>Device class</source>\n        <target>Device class</target>\n      </trans-unit>\n      <trans-unit id="72d80e0c07bfea1b693a33ef2245007de92a6780" datatype="html">\n        <source>Let Ceph decide</source>\n        <target>Let Ceph decide</target>\n      </trans-unit>\n      <trans-unit id="ef9ff0e6227947b48dfab4ac39ade04af758913b" datatype="html">\n        <source>Plugin</source>\n        <target>プラグイン</target>\n      </trans-unit>\n      <trans-unit id="dd69b31bce8f630eac1d4762b0bbcf72ce19d193" datatype="html">\n        <source>Data chunks (k)</source>\n        <target>データチャンク(k)</target>\n      </trans-unit>\n      <trans-unit id="b0d26a6172d32cb81218fe2103c54a818cbc1189" datatype="html">\n        <source>Must be equal to or greater than 2.</source>\n        <target>2以上である必要があります。</target>\n      </trans-unit>\n      <trans-unit id="dab3a299ead121169b8e08ed618c3b6a2f66691b" datatype="html">\n        <source>Coding chunks (m)</source>\n        <target>コーディングチャンク(m)</target>\n      </trans-unit>\n      <trans-unit id="1e2773e5bd4948193f18f2361d663ecc3988c656" datatype="html">\n        <source>Must be equal to or greater than 1.</source>\n        <target>1以上である必要があります。</target>\n      </trans-unit>\n      <trans-unit id="6cde4c945a49a260c0a47bcc7cd956846930a5f7" datatype="html">\n        <source>Durability estimator (c)</source>\n        <target>耐久性推定子(c)</target>\n      </trans-unit>\n      <trans-unit id="af668c2a095a979ea2b4e43cd82c2120ab56c21c" datatype="html">\n        <source>Locality (l)</source>\n        <target>地域(l)</target>\n      </trans-unit>\n      <trans-unit id="d455a110bf6d2235e314e295ce1dfeee93d3dff2" datatype="html">\n        <source>Crush failure domain</source>\n        <target>Crush障害ドメイン</target>\n      </trans-unit>\n      <trans-unit id="b74a495f041f7dd102eee5c0bbc9e03083b538ae" datatype="html">\n        <source>Crush Locality</source>\n        <target>Crush地域</target>\n      </trans-unit>\n      <trans-unit id="a2f14a73f7a6e94479f67423cc51102da8d6f524" datatype="html">\n        <source>None</source>\n        <target>なし</target>\n      </trans-unit>\n      <trans-unit id="2981733b912b693a9dd9d915d6d34f4692cc874a" datatype="html">\n        <source>Technique</source>\n        <target>技法</target>\n      </trans-unit>\n      <trans-unit id="e0098b6e47b04ec817361f384ce81d454ba5c0bb" datatype="html">\n        <source>Packetsize</source>\n        <target>パケットサイズ</target>\n      </trans-unit>\n      <trans-unit id="c0252cd81ca54d0a2f69ec9ccf4248e73df5aa4a" datatype="html">\n        <source>Crush root</source>\n        <target>Crushルート</target>\n      </trans-unit>\n      <trans-unit id="1548d5c76f0406ddd1ba3c557e1e6db22e95b340" datatype="html">\n        <source>Crush device class</source>\n        <target>Crushデバイスクラス</target>\n      </trans-unit>\n      <trans-unit id="5e85feb6f9f0334366e46ee09ca6b8df52397432" datatype="html">\n        <source>any</source>\n        <target>任意</target>\n      </trans-unit>\n      <trans-unit id="03d84645f6e019c5a43909bbf2ea1696ee88332c" datatype="html">\n        <source>Directory</source>\n        <target>ディレクトリ</target>\n      </trans-unit>\n      <trans-unit id="2fecea01ce1d44114ee45144eff6d47a5016a74f" datatype="html">\n        <source>Name...</source>\n        <target>名前...</target>\n      </trans-unit>\n      <trans-unit id="16e113230b6b0d3165e076300880542bac7c8138" datatype="html">\n        <source>The chosen Ceph pool name is already in use.</source>\n        <target>選択されたCephプール名はすでに使用されています。</target>\n      </trans-unit>\n      <trans-unit id="c75b132bef7b29fa5171768303c4b96e34ccaf68" datatype="html">\n        <source>It\'s not possible to create an RBD pool with \'/\' in the name.\n              Please change the name or remove \'rbd\' from the applications list.</source>\n        <target>It\'s not possible to create an RBD pool with \'/\' in the name.\n              Please change the name or remove \'rbd\' from the applications list.</target>\n      </trans-unit>\n      <trans-unit id="171dc6d5c6bc4615d99778b0088cae80fd00bd10" datatype="html">\n        <source>Pool name can only contain letters, numbers, \'.\', \'-\', \'_\' or \'/\'.</source>\n        <target>Pool name can only contain letters, numbers, \'.\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="b85c657469e5ec8231c3de99b22f437bc01ffde5" datatype="html">\n        <source>Pool type</source>\n        <target>プールタイプ</target>\n      </trans-unit>\n      <trans-unit id="526c5443254c3b126eedb264840ffe827727bfd3" datatype="html">\n        <source>-- Select a pool type --</source>\n        <target>-- プールタイプを選択してください --</target>\n      </trans-unit>\n      <trans-unit id="6abfbe47b630929d93c7343dc154599c2e59330a" datatype="html">\n        <source>PG Autoscale</source>\n        <target>PG Autoscale</target>\n      </trans-unit>\n      <trans-unit id="0aa21053410a94aa61d16985a4e95fd65523430d" datatype="html">\n        <source>Placement groups</source>\n        <target>配置グループ</target>\n      </trans-unit>\n      <trans-unit id="6301f1391d726f8f450bb358058534db19541ca9" datatype="html">\n        <source>At least one placement group is needed!</source>\n        <target>少なくとも1つの配置グループが必要です。</target>\n      </trans-unit>\n      <trans-unit id="ba9469a1ce6ed36e039c1f67247c8c81a5c71449" datatype="html">\n        <source>Your cluster can\'t handle this many PGs. Please recalculate the PG amount needed.</source>\n        <target>ご使用のクラスタはこれだけ多数の配置グループを処理できません。必要な配置グループの数を再計算してください。</target>\n      </trans-unit>\n      <trans-unit id="80ac68cd883369dac20688bc32b4cb33291b5e50" datatype="html">\n        <source>Calculation help</source>\n        <target>計算のヘルプ</target>\n      </trans-unit>\n      <trans-unit id="fccbd60493df26705d957ed6c02a3c447894678f" datatype="html">\n        <source>The current PGs settings were calculated for you, you\n                should make sure the values suit your needs before submit.</source>\n        <target>The current PGs settings were calculated for you, you\n                should make sure the values suit your needs before submit.</target>\n      </trans-unit>\n      <trans-unit id="a43b2695131b48b76cebba676aba98a2bee17515" datatype="html">\n        <source>Replicated size</source>\n        <target>複製されたサイズ</target>\n      </trans-unit>\n      <trans-unit id="7bff144a4c4dc63b0e18fff2617d61a7ebdf2b6c" datatype="html">\n        <source>Minimum: \n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/>\n        </source>\n        <target>Minimum: \n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="1a9c54b41f6d58a74e5d0aa3429ed0c87a482551" datatype="html">\n        <source>Maximum: \n          <x id="INTERPOLATION" equiv-text="{{ getMaxSize() }}"/>\n        </source>\n        <target>Maximum: \n          <x id="INTERPOLATION" equiv-text="{{ getMaxSize() }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6ab647b95bd2347ae6f4605576de5e0269fb893a" datatype="html">\n        <source>The size specified is out of range. A value from\n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/> to \n          <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.\n        </source>\n        <target>The size specified is out of range. A value from\n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/> to \n          <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.\n        </target>\n      </trans-unit>\n      <trans-unit id="920617c6a1a4805e53bcb5af6a9c76f8387e89c6" datatype="html">\n        <source>Flags</source>\n        <target>フラグ</target>\n      </trans-unit>\n      <trans-unit id="1c870fb00256b8a5b9cb9cd1a124e6390b9bc639" datatype="html">\n        <source>EC Overwrites</source>\n        <target>ECの上書き</target>\n      </trans-unit>\n      <trans-unit id="f1abafaeb40ce52355ddcc24686e3cd17b64e08a" datatype="html">\n        <source>Applications</source>\n        <target>アプリケーション</target>\n      </trans-unit>\n      <trans-unit id="fb9308b82fc183f710df60909f49cfc73aa5e076" datatype="html">\n        <source>CRUSH</source>\n        <target>CRUSH</target>\n      </trans-unit>\n      <trans-unit id="9de7dde00e2139cc4bd03b1837afbe72ad15a1ff" datatype="html">\n        <source>Erasure code profile</source>\n        <target>イレイジャコードプロファイル</target>\n      </trans-unit>\n      <trans-unit id="39b4620e6bd444e0a57a0a5c03fa8c96d7fe5235" datatype="html">\n        <source>-- No erasure code profile available --</source>\n        <target>-- 使用可能なイレイジャコードプロファイルがありません --</target>\n      </trans-unit>\n      <trans-unit id="498561757390d5528b263ce450d5f38efb00266d" datatype="html">\n        <source>-- Select an erasure code profile --</source>\n        <target>-- イレイジャコードプロファイルを選択してください --</target>\n      </trans-unit>\n      <trans-unit id="33150f22ce5348aa6c499bd092c3f4f3695d62cc" datatype="html">\n        <source>Crush ruleset</source>\n        <target>Crushルールセット</target>\n      </trans-unit>\n      <trans-unit id="c69b0bcd4698aa845d32c4c4ad488492552cb469" datatype="html">\n        <source>A new crush ruleset will be implicitly created.</source>\n        <target>A new crush ruleset will be implicitly created.</target>\n      </trans-unit>\n      <trans-unit id="896e9987db5e9bb279e6deed5d2dff28c242ef66" datatype="html">\n        <source>There are no rules.</source>\n        <target>There are no rules.</target>\n      </trans-unit>\n      <trans-unit id="73a6b31116b3cc322af951daa0bafdc169e6c42e" datatype="html">\n        <source>-- Select a crush rule --</source>\n        <target>-- Crushルールを選択してください --</target>\n      </trans-unit>\n      <trans-unit id="ea91d648f92002bc9f96d9b26b735c83ca0b53c6" datatype="html">\n        <source>This rule can\'t be deleted as it is in use.</source>\n        <target>This rule can\'t be deleted as it is in use.</target>\n      </trans-unit>\n      <trans-unit id="92da80699921e89fb19372e25b8d0f3b9fa427fc" datatype="html">\n        <source>Crush rule</source>\n        <target>Crushルール</target>\n      </trans-unit>\n      <trans-unit id="5489e9f96835f469f6f728a00d8efa88ea5bc940" datatype="html">\n        <source>Crush steps</source>\n        <target>Crushステップ</target>\n      </trans-unit>\n      <trans-unit id="fc5f5496a9e50fe69e1a09784f28d94944108294" datatype="html">\n        <source>Rule is not in use.</source>\n        <target>Rule is not in use.</target>\n      </trans-unit>\n      <trans-unit id="023d6f718770d2ea4ab8cabe26b0ec27ef967ec2" datatype="html">\n        <source>Used by pools</source>\n        <target>Used by pools</target>\n      </trans-unit>\n      <trans-unit id="104a0e6900d1d1b0c8cf9e5947e36edb352583fc" datatype="html">\n        <source>The rule can\'t be used in the current cluster as it has\n                  too few OSDs to meet the minimum required OSD by this rule.</source>\n        <target>The rule can\'t be used in the current cluster as it has\n                  too few OSDs to meet the minimum required OSD by this rule.</target>\n      </trans-unit>\n      <trans-unit id="2208d63d5940ce656006a220102b1eb2b5e553da" datatype="html">\n        <source>Compression</source>\n        <target>圧縮</target>\n      </trans-unit>\n      <trans-unit id="37e10df2d9c0c25ef04ac112c9c9a7723e8efae0" datatype="html">\n        <source>Mode</source>\n        <target>モード</target>\n      </trans-unit>\n      <trans-unit id="6c6f25c47da62ec597c6057a36ddfc3209811ec5" datatype="html">\n        <source>Algorithm</source>\n        <target>アルゴリズム</target>\n      </trans-unit>\n      <trans-unit id="4903231d42089325a28892c0fde1aed46b733ae6" datatype="html">\n        <source>-- No erasure compression algorithm available --</source>\n        <target>-- 使用可能なイレイジャ圧縮アルゴリズムがありません --</target>\n      </trans-unit>\n      <trans-unit id="5d68ddb254275f8f44221e9ad6d8ceeb59ca46a6" datatype="html">\n        <source>Minimum blob size</source>\n        <target>最小blobサイズ</target>\n      </trans-unit>\n      <trans-unit id="fb2f176df80647137cbb02bbeb29e5dec707a400" datatype="html">\n        <source>e.g., 128KiB</source>\n        <target>例: 128KiB</target>\n      </trans-unit>\n      <trans-unit id="1b7f6e53a4521c6eb3ced4c007fdd4cf80bb7707" datatype="html">\n        <source>Value should be greater than 0</source>\n        <target>値は0より大きい必要があります</target>\n      </trans-unit>\n      <trans-unit id="8db98ab14b4e207ec763dfdefbc2dae367aab1cc" datatype="html">\n        <source>Value should be less than the maximum blob size</source>\n        <target>Value should be less than the maximum blob size</target>\n      </trans-unit>\n      <trans-unit id="151efb127a9a4dd25259a0b2055442318a141f5b" datatype="html">\n        <source>Maximum blob size</source>\n        <target>最大blobサイズ</target>\n      </trans-unit>\n      <trans-unit id="0c656f0e346bbadf46eb1a5d20d0307a3bd20ba8" datatype="html">\n        <source>e.g., 512KiB</source>\n        <target>例: 512KiB</target>\n      </trans-unit>\n      <trans-unit id="0a65a24eee8a026f3b1113fe9e157e9a0dd69486" datatype="html">\n        <source>Value should be greater than the minimum blob size</source>\n        <target>値は最小blobサイズより大きい必要があります</target>\n      </trans-unit>\n      <trans-unit id="261ba09c4a59de83f48f52a23fd328da37e61ff4" datatype="html">\n        <source>Ratio</source>\n        <target>率</target>\n      </trans-unit>\n      <trans-unit id="c1430457a9c3c66366e51d76bf10396014c576be" datatype="html">\n        <source>Compression ratio</source>\n        <target>圧縮率</target>\n      </trans-unit>\n      <trans-unit id="ae5ce6de352cde949998fb10754459c3a4eb183b" datatype="html">\n        <source>Value should be between 0.0 and 1.0</source>\n        <target>値は0.0~1.0の間である必要があります</target>\n      </trans-unit>\n      <trans-unit id="8bb8293aa8161433778762ae025ffd5e7c85795e" datatype="html">\n        <source>Quotas</source>\n        <target>Quotas</target>\n      </trans-unit>\n      <trans-unit id="d99b34162c9c34f10d0ccd8dbae83d8569c2db77" datatype="html">\n        <source>Max bytes</source>\n        <target>Max bytes</target>\n      </trans-unit>\n      <trans-unit id="a1d14a18879c62f3f4ed705318b7164a1160e249" datatype="html">\n        <source>Leave it blank or specify 0 to disable this quota.</source>\n        <target>Leave it blank or specify 0 to disable this quota.</target>\n      </trans-unit>\n      <trans-unit id="7565b131562ff6c5f769fdbd239a772154abdd97" datatype="html">\n        <source>A valid quota should be greater than 0.</source>\n        <target>A valid quota should be greater than 0.</target>\n      </trans-unit>\n      <trans-unit id="f0016bd458baa88284a658ce9eeda42d8ad88d2c" datatype="html">\n        <source>e.g., 10GiB</source>\n        <target>例: 10GiB</target>\n      </trans-unit>\n      <trans-unit id="b8bf35b66f09a301eef92ffc3cb2fd259df67ce9" datatype="html">\n        <source>Max objects</source>\n        <target>Max objects</target>\n      </trans-unit>\n      <trans-unit id="95f348167622d832c5ae532b6944635c8e2ae5cb" datatype="html">\n        <source>The value should be greater or equal to 0</source>\n        <target>The value should be greater or equal to 0</target>\n      </trans-unit>\n      <trans-unit id="4f8b2bb476981727ab34ed40fde1218361f92c45" datatype="html">\n        <source>Details</source>\n        <target>詳細</target>\n      </trans-unit>\n      <trans-unit id="fbbaf5cb02ed419e79a27072478f716a4666a99d" datatype="html">\n        <source>Performance Details</source>\n        <target>パフォーマンスの詳細</target>\n      </trans-unit>\n      <trans-unit id="3938a411d76796f8ae73b72ea4c77661207453bd" datatype="html">\n        <source>Cache Tiers Details</source>\n        <target>キャッシュ層の詳細</target>\n      </trans-unit>\n      <trans-unit id="ecbc084370a732fc3cde1966a60af78d71424ab4" datatype="html">\n        <source>Create Bootstrap Token</source>\n        <target>Create Bootstrap Token</target>\n      </trans-unit>\n      <trans-unit id="603e9cc3ef2aab57f2b0a00e465b23b9cabefd9c" datatype="html">\n        <source>To create a bootstrap token which can be imported\n          by a peer site cluster, provide the local site\'s name, select\n          which pools will have mirroring enabled, and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Generate\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>To create a bootstrap token which can be imported\n          by a peer site cluster, provide the local site\'s name, select\n          which pools will have mirroring enabled, and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Generate\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="660f97cd3188f8a04bd03b79e703fec72c6df04c" datatype="html">\n        <source>Site Name</source>\n        <target>Site Name</target>\n      </trans-unit>\n      <trans-unit id="8c2a1dc72cffaf7ab3dc5599bf77b0a7fcad2b20" datatype="html">\n        <source>At least one pool is required.</source>\n        <target>At least one pool is required.</target>\n      </trans-unit>\n      <trans-unit id="1b258b258b4cc475ceb2871305b61756b0134f4a" datatype="html">\n        <source>Generate</source>\n        <target>Generate</target>\n      </trans-unit>\n      <trans-unit id="1edc1fc6cfbbb22353050ad6788508b3ed584f53" datatype="html">\n        <source>Token</source>\n        <target>Token</target>\n      </trans-unit>\n      <trans-unit id="ff785f5596aef34a93b9b4d1023e95c62eef5740" datatype="html">\n        <source>Generated token...</source>\n        <target>Generated token...</target>\n      </trans-unit>\n      <trans-unit id="5467a6bb0e7fade6def7499400d5e2a7d8d3da20" datatype="html">\n        <source>Import Bootstrap Token</source>\n        <target>Import Bootstrap Token</target>\n      </trans-unit>\n      <trans-unit id="9bb7aee0dec5164f45c0aa2f35f2fb2149d2c1d2" datatype="html">\n        <source>To import a bootstrap token which was created\n          by a peer site cluster, provide the local site\'s name, select\n          which pools will have mirroring enabled, provide the generated\n          token, and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Import\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>To import a bootstrap token which was created\n          by a peer site cluster, provide the local site\'s name, select\n          which pools will have mirroring enabled, provide the generated\n          token, and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Import\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="9200e09686136a1d42adfb89c12fbfef2deea125" datatype="html">\n        <source>Direction</source>\n        <target>Direction</target>\n      </trans-unit>\n      <trans-unit id="9761484679958da8d12841a4efa5964d33fae575" datatype="html">\n        <source>The token is invalid.</source>\n        <target>The token is invalid.</target>\n      </trans-unit>\n      <trans-unit id="a059709f71aa4c0ac219e160e78a738682ca6a36" datatype="html">\n        <source>Import</source>\n        <target>Import</target>\n      </trans-unit>\n      <trans-unit id="b87bd96249f8afc23f5301cddb57b1464a98e71a" datatype="html">\n        <source>Edit site name</source>\n        <target>Edit site name</target>\n      </trans-unit>\n      <trans-unit id="cfff72c667274c12eb1ff71eadc25871c10c42dc" datatype="html">\n        <source>Edit the site name and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>Edit the site name and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="40b7acea5b43f45e0bbd1efeba5200af4687981d" datatype="html">\n        <source>Site Name:</source>\n        <target>Site Name:</target>\n      </trans-unit>\n      <trans-unit id="f0b5d789d42c0e69348e5fe0037fcbf5b5fbbdcc" datatype="html">\n        <source>Move an image to trash</source>\n        <target>イメージをごみ箱に移動する</target>\n      </trans-unit>\n      <trans-unit id="7ad22c1d4aab3b8946603cea62de266d5129ca10" datatype="html">\n        <source>This image contains snapshot(s), which will prevent it\n            from being removed after moved to trash.</source>\n        <target>This image contains snapshot(s), which will prevent it\n            from being removed after moved to trash.</target>\n      </trans-unit>\n      <trans-unit id="b4b3ced4f8aad4c446f348b14c3d94be2e2c350c" datatype="html">\n        <source>To move \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ imageSpecStr }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,\n          click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optionally, you can pick an expiration date.\n        </source>\n        <target>To move \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ imageSpecStr }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,\n          click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optionally, you can pick an expiration date.\n        </target>\n      </trans-unit>\n      <trans-unit id="88f27d390844aad53b4240360e928156c5f0d326" datatype="html">\n        <source>Protection expires at</source>\n        <target>保護の失効日</target>\n      </trans-unit>\n      <trans-unit id="da166e9a0d27322f6ba8916d71ecc0f9905bb4b1" datatype="html">\n        <source>NOT PROTECTED</source>\n        <target>保護されていません</target>\n      </trans-unit>\n      <trans-unit id="a1506e5f2ca22cad14502ec7a20fb6113ace145d" datatype="html">\n        <source>Wrong date format. Please use "YYYY-MM-DD HH:mm:ss".</source>\n        <target>日付の形式が正しくありません。「YYYY-MM-DD HH:mm:ss」という形式を使用してください。</target>\n      </trans-unit>\n      <trans-unit id="aa7ea0bb7495281e0b3258467ac7d90a1e44a1a1" datatype="html">\n        <source>Protection has already expired. Please pick a future date or leave it empty.</source>\n        <target>保護はすでに失効しています。将来の日付を選択するか、日付を空白のままにしてください。</target>\n      </trans-unit>\n      <trans-unit id="536b3205c0c0d4d21685ec06feccfcf2fe14deb1" datatype="html">\n        <source>Move Image</source>\n        <target>イメージの移動</target>\n      </trans-unit>\n      <trans-unit id="c9f1026c1235f4d76ace47449e806efd181ab332" datatype="html">\n        <source>Deleting this image will also delete all its snapshots.</source>\n        <target>Deleting this image will also delete all its snapshots.</target>\n      </trans-unit>\n      <trans-unit id="55f864597e84d9bf88769e1fbfda1d64452430c9" datatype="html">\n        <source>The following snapshots are currently protected and will be removed:</source>\n        <target>The following snapshots are currently protected and will be removed:</target>\n      </trans-unit>\n      <trans-unit id="8a9910cd114c1deb9af74f6f99b4173403965bf2" datatype="html">\n        <source>Gateways</source>\n        <target>Gateways</target>\n      </trans-unit>\n      <trans-unit id="8835b9e49a3348b0a2f2162c21118af1f4bee45a" datatype="html">\n        <source>Must be greater than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'min\'] }}"/>.\n        </source>\n        <target>Must be greater than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'min\'] }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="bbddac59563c8c126e3fe28691e4e247614fcbd1" datatype="html">\n        <source>Must be less than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'max\'] }}"/>.\n        </source>\n        <target>Must be less than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'max\'] }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="e95ae009d0bdb45fcc656e8b65248cf7396080d5" datatype="html">\n        <source>Overview</source>\n        <target>概要</target>\n      </trans-unit>\n      <trans-unit id="bbd2045d5c37e4bb39a3c0fb62ea1ddf70a12838" datatype="html">\n        <source>Targets</source>\n        <target>ターゲット</target>\n      </trans-unit>\n      <trans-unit id="6803e31b7395d94934e091a49a9524026b59b018" datatype="html">\n        <source>Discovery Authentication</source>\n        <target>検出認証</target>\n      </trans-unit>\n      <trans-unit id="e08a77594f3d89311cdf6da5090044270909c194" datatype="html">\n        <source>User</source>\n        <target>ユーザ</target>\n      </trans-unit>\n      <trans-unit id="0214f773f8e394f50f953f39962e352d7863e959" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n              can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>ユーザ名は8~64文字の長さである必要があり、\n英字、「.」、「@」、「-」、「_」、または「:」のみで構成される必要があります。</target>\n      </trans-unit>\n      <trans-unit id="c32ef07f8803a223a83ed17024b38e8d82292407" datatype="html">\n        <source>Password</source>\n        <target>パスワード</target>\n      </trans-unit>\n      <trans-unit id="6682d1c00263bee204583a5d589b308b6be88b0f" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n              and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n              and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="ff40391de7a1944ea95091e4045cc34c4979b736" datatype="html">\n        <source>Mutual User</source>\n        <target>相互ユーザ</target>\n      </trans-unit>\n      <trans-unit id="0cf73dbebe99b737c4d288788182fc356e3c93d3" datatype="html">\n        <source>Mutual Password</source>\n        <target>相互パスワード</target>\n      </trans-unit>\n      <trans-unit id="8800276925157c666b103c36ff7fe8ffe11980b4" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters and\n              can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters and\n              can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="53a583cd5f15059cc958b7d547f72cc78f68e123" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n    on how to configure and enable the iSCSI Targets management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n    on how to configure and enable the iSCSI Targets management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="3b301d0044f62c92af0da53d7aaca52a436a547d" datatype="html">\n        <source>Available information:</source>\n        <target>取得可能な情報:</target>\n      </trans-unit>\n      <trans-unit id="332227f088a4877b3c11f5fb3ae8bc812c470fae" datatype="html">\n        <source>iSCSI Targets not available</source>\n        <target>使用可能なiSCSIターゲットがありません</target>\n      </trans-unit>\n      <trans-unit id="8414a5cb9d71cc1b21b10e4a9d1f2dad558f3361" datatype="html">\n        <source>Discovery authentication</source>\n        <target>Discovery authentication</target>\n      </trans-unit>\n      <trans-unit id="0f6e8f6094b180eaf1f11bc0ffe383f1cdcd059e" datatype="html">\n        <source>Only available for RBD images with \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>fast-diff\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> enabled\n        </source>\n        <target>Only available for RBD images with \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>fast-diff\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> enabled\n        </target>\n      </trans-unit>\n      <trans-unit id="e70fcca5a99575cffef3ff8cbd5e69f06ffd0f1c" datatype="html">\n        <source>Pool</source>\n        <target>プール</target>\n      </trans-unit>\n      <trans-unit id="03cc5b14b0a20d075e9009ff021f4f1660ba348a" datatype="html">\n        <source>Data Pool</source>\n        <target>データプール</target>\n      </trans-unit>\n      <trans-unit id="1b051734b0ee9021991c91b3ed4e81c244322462" datatype="html">\n        <source>Created</source>\n        <target>作成済み</target>\n      </trans-unit>\n      <trans-unit id="7faaaa08f56427999f3be41df1093ce4089bbd75" datatype="html">\n        <source>Size</source>\n        <target>サイズ</target>\n      </trans-unit>\n      <trans-unit id="afdb601c16162f2c798b16a2920955f1cc6a20aa" datatype="html">\n        <source>Objects</source>\n        <target>オブジェクト数</target>\n      </trans-unit>\n      <trans-unit id="ceac8e132384322ec778ba760875a6c6897d3e42" datatype="html">\n        <source>Object size</source>\n        <target>オブジェクトサイズ</target>\n      </trans-unit>\n      <trans-unit id="0a65771c9a73b9aa609d592fc96a64801a8f40bd" datatype="html">\n        <source>Provisioned</source>\n        <target>プロビジョニング済み</target>\n      </trans-unit>\n      <trans-unit id="84a36cb75660b736773fe36ffa3d54f0f0fe363e" datatype="html">\n        <source>N/A</source>\n        <target>なし</target>\n      </trans-unit>\n      <trans-unit id="e5c009342a4e8381f64341d0bb61c2e4685f5a4b" datatype="html">\n        <source>Total provisioned</source>\n        <target>プロビジョニング済み合計</target>\n      </trans-unit>\n      <trans-unit id="7f6bf8a43ae415f527ac961ea62471b983aaa97b" datatype="html">\n        <source>Striping unit</source>\n        <target>ストライピング単位</target>\n      </trans-unit>\n      <trans-unit id="db710e8a8f011923f2d15d713fbae49c38b02b26" datatype="html">\n        <source>Striping count</source>\n        <target>ストライピング数</target>\n      </trans-unit>\n      <trans-unit id="3a4c2a9e76634ff14a60d52a718296f722d47c67" datatype="html">\n        <source>Parent</source>\n        <target>親</target>\n      </trans-unit>\n      <trans-unit id="6a209e68d78ffc2cc9c53d2e76158624efab71ad" datatype="html">\n        <source>Block name prefix</source>\n        <target>ブロック名のプレフィックス</target>\n      </trans-unit>\n      <trans-unit id="5704ec2049d007c5f5fb495a5d8b607e68d58081" datatype="html">\n        <source>Order</source>\n        <target>順番</target>\n      </trans-unit>\n      <trans-unit id="f21b1d17b6c5042bb5805516eee37fde33739dd8" datatype="html">\n        <source>Snapshots</source>\n        <target>スナップショット</target>\n      </trans-unit>\n      <trans-unit id="a5f9ba9bb9faa8284bcadb1cdbc6aaf969e9c4bb" datatype="html">\n        <source>Image</source>\n        <target>イメージ</target>\n      </trans-unit>\n      <trans-unit id="58e58f1a8786da9031a05e6770c5dafce82badf5" datatype="html">\n        <source>This setting overrides the global value</source>\n        <target>この設定はグローバル値よりも優先されます</target>\n      </trans-unit>\n      <trans-unit id="5decb3917d46a9ac6e5813699801becb7c3c1455" datatype="html">\n        <source>Global</source>\n        <target>グローバル</target>\n      </trans-unit>\n      <trans-unit id="36b46714164964c6258b08ed0a25f57d8a950f92" datatype="html">\n        <source>This is the global value. No value for this option has been set for this image.</source>\n        <target>これはグローバル値です。このイメージについて、このオプションの値は設定されていません。</target>\n      </trans-unit>\n      <trans-unit id="6547c9c4d5f62942ac4b1fe459cf9a03d4dbf5a0" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/> from\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/> from\n        </target>\n      </trans-unit>\n      <trans-unit id="0e9ecf29a4fa5b057bd8052e0d801b3fde6a30bf" datatype="html">\n        <source>\'/\' and \'@\' are not allowed.</source>\n        <target>「/」と「@」は使用できません。</target>\n      </trans-unit>\n      <trans-unit id="b99417c4dd46286ffd37c8d2e987c8b512ec7052" datatype="html">\n        <source>-- No rbd pools available --</source>\n        <target>-- 使用可能なrbdプールがありません --</target>\n      </trans-unit>\n      <trans-unit id="ef83ec9c304a89d45650e580dcdc2978c37b3a83" datatype="html">\n        <source>-- Select a pool --</source>\n        <target>-- プールを選択してください --</target>\n      </trans-unit>\n      <trans-unit id="d649904466254d13df1fbf2d255f0bbc6553d213" datatype="html">\n        <source>-- No namespaces available --</source>\n        <target>-- No namespaces available --</target>\n      </trans-unit>\n      <trans-unit id="e22d7bb4d2d561e0832ee0b9a3da2468a080c4f0" datatype="html">\n        <source>-- Select a namespace --</source>\n        <target>-- Select a namespace --</target>\n      </trans-unit>\n      <trans-unit id="49449943d8cbf59d8c401c8bd2e76f92e207cc5f" datatype="html">\n        <source>Use a dedicated data pool</source>\n        <target>専用のデータプールを使用してください</target>\n      </trans-unit>\n      <trans-unit id="870aee0dd31a9643bf62007beb8f1ae1deb34d42" datatype="html">\n        <source>Data pool</source>\n        <target>データプール</target>\n      </trans-unit>\n      <trans-unit id="3792ca829d9b9f687e1f5d7733d30e9bb0bfec47" datatype="html">\n        <source>Dedicated pool that stores the object-data of the RBD.</source>\n        <target>RBDのオブジェクトデータを保管するための専用プール</target>\n      </trans-unit>\n      <trans-unit id="0a88bbee20570aaf9615332fb27020627044874d" datatype="html">\n        <source>You have to increase the size.</source>\n        <target>サイズを大きくする必要があります。</target>\n      </trans-unit>\n      <trans-unit id="bc2e854e111ecf2bd7db170da5e3c2ed08181d88" datatype="html">\n        <source>Advanced</source>\n        <target>詳細</target>\n      </trans-unit>\n      <trans-unit id="3562a3778695a5f9c0445660e35301f0a39aaf73" datatype="html">\n        <source>Striping</source>\n        <target>ストライピング</target>\n      </trans-unit>\n      <trans-unit id="ef3c3f3b5f562a5cdbe0ee2874287db1534b5958" datatype="html">\n        <source>Stripe unit</source>\n        <target>ストライプ単位</target>\n      </trans-unit>\n      <trans-unit id="84471be1049006edecbcaef1a32ae0893c229c50" datatype="html">\n        <source>-- Select stripe unit --</source>\n        <target>-- ストライプ単位を選択してください --</target>\n      </trans-unit>\n      <trans-unit id="8d32c5c54c8581c774a7f467fbd4e329b15a74fa" datatype="html">\n        <source>This field is required because stripe count is defined!</source>\n        <target>ストライプ数が定義されているため、このフィールドは必須です。</target>\n      </trans-unit>\n      <trans-unit id="6bbf9040be7c5491d4a03f2185708f43a6582a3b" datatype="html">\n        <source>Stripe unit is greater than object size.</source>\n        <target>ストライプ単位がオブジェクトサイズより大きいです。</target>\n      </trans-unit>\n      <trans-unit id="a682f49f9b761591661276d7c6f550e641a130a4" datatype="html">\n        <source>Stripe count</source>\n        <target>ストライプ数</target>\n      </trans-unit>\n      <trans-unit id="baa74031990c5370008ba622d0a250f0929097f4" datatype="html">\n        <source>This field is required because stripe unit is defined!</source>\n        <target>ストライプ単位が定義されているため、このフィールドは必須です。</target>\n      </trans-unit>\n      <trans-unit id="cd2ada6d5ecbd5cbf89eae0a1f5326efedac0dbc" datatype="html">\n        <source>Stripe count must be greater than 0.</source>\n        <target>ストライプ数は0より大きい必要があります。</target>\n      </trans-unit>\n      <trans-unit id="2c07d24bb422aa8e5e568df1c5709083f0a9c8f1" datatype="html">\n        <source>Create Namespace</source>\n        <target>Create Namespace</target>\n      </trans-unit>\n      <trans-unit id="0cca6c0485f96d3a9610d0339cb1275a5f2c3f46" datatype="html">\n        <source>Namespace already exists.</source>\n        <target>Namespace already exists.</target>\n      </trans-unit>\n      <trans-unit id="5c5331983af566d4ac6a1024d15a3511786a4aa6" datatype="html">\n        <source>You are about to rollback</source>\n        <target>ロールバックしようとしています</target>\n      </trans-unit>\n      <trans-unit id="49c0408946a6d67185947f455f15cc201d0d78e6" datatype="html">\n        <source>Purge Trash</source>\n        <target>ごみ箱を空にする</target>\n      </trans-unit>\n      <trans-unit id="681501eecd7f44d4b7a2f619605b36676e04c5b6" datatype="html">\n        <source>To purge, select one or</source>\n        <target>To purge, select one or</target>\n      </trans-unit>\n      <trans-unit id="dfc3c34e182ea73c5d784ff7c8135f087992dac1" datatype="html">\n        <source>All</source>\n        <target>すべて</target>\n      </trans-unit>\n      <trans-unit id="ea5d338dcef50ff5c24439fd784f6a67b594c33f" datatype="html">\n        <source>pools and click</source>\n        <target>pools and click</target>\n      </trans-unit>\n      <trans-unit id="55a4f598a4894b7fd5cb88f0ffd3c37ad009dd70" datatype="html">\n        <source>Pool:</source>\n        <target>プール:</target>\n      </trans-unit>\n      <trans-unit id="d43dd2b9f7797e4cf3a604695bb33e4479108516" datatype="html">\n        <source>Pool name...</source>\n        <target>プール名...</target>\n      </trans-unit>\n      <trans-unit id="b0e7c7ed1d51a0c205c815048bc9f79e24ee6db2" datatype="html">\n        <source>Restore Image</source>\n        <target>イメージの復元</target>\n      </trans-unit>\n      <trans-unit id="7369384817e0ad61ce871c9afdfbb538df2f97c1" datatype="html">\n        <source>To restore</source>\n        <target>復元するには</target>\n      </trans-unit>\n      <trans-unit id="e7f0abefc608f7fb452c2dc9b1cdc3dec432160e" datatype="html">\n        <source>type the image\'s new name and click</source>\n        <target>イメージの新しい名前を入力してクリックします</target>\n      </trans-unit>\n      <trans-unit id="41307dd56fea669eed72e12a6c23af275f6bfd82" datatype="html">\n        <source>New Name</source>\n        <target>新しい名前</target>\n      </trans-unit>\n      <trans-unit id="5c96a761dc55a21882c132c929583a424c9b8cf4" datatype="html">\n        <source>Expired at</source>\n        <target>失効日</target>\n      </trans-unit>\n      <trans-unit id="661041e3fcff4d3e75c561e038ca2504cf2cc643" datatype="html">\n        <source>Protected until</source>\n        <target>保護の終了日</target>\n      </trans-unit>\n      <trans-unit id="0ee3b2322a1d3277f7e3fdb8a5141ac42bcf350b" datatype="html">\n        <source>This image is protected until \n          <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.\n        </source>\n        <target>This image is protected until \n          <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="a674ab267d1934bf395f87ca1503fd474296893f" datatype="html">\n        <source>iSCSI Topology</source>\n        <target>iSCSIトポロジ</target>\n      </trans-unit>\n      <trans-unit id="051dcc342cfa5c1eaf187a2001aaa162379a160c" datatype="html">\n        <source>Configure</source>\n        <target>Configure</target>\n      </trans-unit>\n      <trans-unit id="9e515f954730279c31d5301f02479666d6264e8b" datatype="html">\n        <source>Changing these parameters from their default values is usually not necessary.</source>\n        <target>通常はこれらのパラメータをデフォルト値から変更する必要はありません。</target>\n      </trans-unit>\n      <trans-unit id="4e2591df099ddac796cda401c5f282da779d45f2" datatype="html">\n        <source>Identifier</source>\n        <target>Identifier</target>\n      </trans-unit>\n      <trans-unit id="62480a4859976427cf18fc8ef41d3a438eda0412" datatype="html">\n        <source>lun</source>\n        <target>lun</target>\n      </trans-unit>\n      <trans-unit id="8afc9eb4405e0aa554b2ba14140ef790cdecc040" datatype="html">\n        <source>wwn</source>\n        <target>wwn</target>\n      </trans-unit>\n      <trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html">\n        <source>Settings</source>\n        <target>設定</target>\n      </trans-unit>\n      <trans-unit id="69a47cbabcc51ca942606e1d8da0ec11f98a2690" datatype="html">\n        <source>Backstore</source>\n        <target>バックストア</target>\n      </trans-unit>\n      <trans-unit id="68e710782ccb5398b3acb8844caf0b199da2c3da" datatype="html">\n        <source>Confirm</source>\n        <target>確認</target>\n      </trans-unit>\n      <trans-unit id="339878da255ab55447c43afef8d9b2f9753bf5f6" datatype="html">\n        <source>Advanced Settings</source>\n        <target>詳細設定</target>\n      </trans-unit>\n      <trans-unit id="1406c2fb12a20c1528b19bcc5e24a6a2386167f3" datatype="html">\n        <source>Target IQN</source>\n        <target>ターゲットIQN</target>\n      </trans-unit>\n      <trans-unit id="5fe42339be910372fa689f559155631862d218e8" datatype="html">\n        <source>IQN has wrong pattern.</source>\n        <target>IQNのパターンが正しくありません。</target>\n      </trans-unit>\n      <trans-unit id="050a7ff057d1e895357540406b6be5652b4d1c71" datatype="html">\n        <source>An IQN has the following notation\n                \'iqn.$year-$month.$reversedAddress:$definedName\'</source>\n        <target>An IQN has the following notation\n                \'iqn.$year-$month.$reversedAddress:$definedName\'</target>\n      </trans-unit>\n      <trans-unit id="c8ada4b53396d8366db00a435acc61d53d857047" datatype="html">\n        <source>For example: iqn.2016-06.org.dashboard:storage:disk.sn-a8675309</source>\n        <target>例: iqn.2016-06.org.dashboard:storage:disk.sn-a8675309</target>\n      </trans-unit>\n      <trans-unit id="e60c11e1b1dfbbeda577364b8de39ded2d796c5e" datatype="html">\n        <source>More information</source>\n        <target>詳細情報</target>\n      </trans-unit>\n      <trans-unit id="9b1aa85dfc6849196e64060db02c5410de69b7a1" datatype="html">\n        <source>This target has modified advanced settings.</source>\n        <target>このターゲットの詳細設定は変更されています。</target>\n      </trans-unit>\n      <trans-unit id="6990ad8d6182662e864495ac31c3758cda1c7a28" datatype="html">\n        <source>Portals</source>\n        <target>ポータル</target>\n      </trans-unit>\n      <trans-unit id="6a3ac2b4137d723fd9878cd357c2012ff6c07973" datatype="html">\n        <source>Add portal</source>\n        <target>ポータルの追加</target>\n      </trans-unit>\n      <trans-unit id="c3638c01b6c34066438909713ec96087c813fc7e" datatype="html">\n        <source>At least \n          <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.\n        </source>\n        <target>At least \n          <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.\n        </target>\n      </trans-unit>\n      <trans-unit id="9aff25be088f0efe3eaaf62edf2bff41cc41a617" datatype="html">\n        <source>Backstore: \n          <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. \n        </source>\n        <target>Backstore: \n          <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. \n        </target>\n      </trans-unit>\n      <trans-unit id="e3484cae8b118c576ca2815bf9c9406c2eb2cae3" datatype="html">\n        <source>This image has modified settings.</source>\n        <target>このイメージの設定は変更されています。</target>\n      </trans-unit>\n      <trans-unit id="1dff11e0820b6722ab240169f1232d70a54beaaa" datatype="html">\n        <source>Duplicated LUN numbers.</source>\n        <target>Duplicated LUN numbers.</target>\n      </trans-unit>\n      <trans-unit id="bf2dccf92ccff6e3b091792bf4205595406e1bfb" datatype="html">\n        <source>Duplicated WWN.</source>\n        <target>Duplicated WWN.</target>\n      </trans-unit>\n      <trans-unit id="808038f912fdc7f0e03f82d4afd3bf9178527fc8" datatype="html">\n        <source>Add image</source>\n        <target>イメージの追加</target>\n      </trans-unit>\n      <trans-unit id="66c5fb27f52e75b70ca4b670b9b15a2a51cf9543" datatype="html">\n        <source>ACL authentication</source>\n        <target>ACL認証</target>\n      </trans-unit>\n      <trans-unit id="419c8b402609dcf49ae4932a5a4647dc8d79bbaf" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n                can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Usernames must have a length of 8 to 64 characters and\n                can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</target>\n      </trans-unit>\n      <trans-unit id="938050960d6653fddfcfd42425e18fb35a308262" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n                and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n                and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="f494bd31f095f6dcc656ce87ec2dcf07a2e9b30c" datatype="html">\n        <source>Initiators</source>\n        <target>イニシエータ</target>\n      </trans-unit>\n      <trans-unit id="e98239d8a6be1100119ff4b5630c822b82786740" datatype="html">\n        <source>Initiator</source>\n        <target>イニシエータ</target>\n      </trans-unit>\n      <trans-unit id="f2c5059d8cda15d8d03e2cce30f2d139623d9a91" datatype="html">\n        <source>Client IQN</source>\n        <target>クライアントIQN</target>\n      </trans-unit>\n      <trans-unit id="107d5aabce23d900f0a80e6ddc1c10e29aa0bed8" datatype="html">\n        <source>Initiator IQN needs to be unique.</source>\n        <target>イニシエータIQNは一意である必要があります。</target>\n      </trans-unit>\n      <trans-unit id="bbf0b34a3fcc80800fcb44b9e1e86931a530dfe3" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n                        can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>ユーザ名は8~64文字の長さである必要があり、\n英字、「.」、「@」、「-」、「_」、または「:」のみで構成される必要があります。</target>\n      </trans-unit>\n      <trans-unit id="fdfee5d7a27e1bdd97a176097277bee078de6aaf" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n                        and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n                        and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="8406eb7415ee40e54d9ecb209abb056f06e3d666" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters and\n                        can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters and\n                        can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="5d1878d5fc761cbe9614bfd87047a740c82a6951" datatype="html">\n        <source>Initiator belongs to a group. Images will be configure in the group.</source>\n        <target>イニシエータはいずれかのグループに属します。イメージはそのグループ内で設定されます。</target>\n      </trans-unit>\n      <trans-unit id="c0de67b9d97fafbf200f9451e8388ee8128a56ac" datatype="html">\n        <source>No items added.</source>\n        <target>アイテムが追加されていません。</target>\n      </trans-unit>\n      <trans-unit id="d565e47726158e428ecdc952fc9233b9b7d7f049" datatype="html">\n        <source>Add initiator</source>\n        <target>イニシエータの追加</target>\n      </trans-unit>\n      <trans-unit id="c22ba03540aa3217da059f45e7eab138b51a96e2" datatype="html">\n        <source>Groups</source>\n        <target>グループ</target>\n      </trans-unit>\n      <trans-unit id="4c90059afafb7e160384d9f512797c95bb95c6dc" datatype="html">\n        <source>Group</source>\n        <target>グループ</target>\n      </trans-unit>\n      <trans-unit id="3084948274cff4f56d0f431af47240e9cf02fcc7" datatype="html">\n        <source>Add group</source>\n        <target>グループの追加</target>\n      </trans-unit>\n      <trans-unit id="c3a7e364a88ea4673199dfa98bc73e6dbe09dfac" datatype="html">\n        <source>Namespaces</source>\n        <target>Namespaces</target>\n      </trans-unit>\n      <trans-unit id="aba82bfd8e177d35b76cad7cd43941f8e5e5acac" datatype="html">\n        <source>Trash</source>\n        <target>ごみ箱</target>\n      </trans-unit>\n      <trans-unit id="66db799d67958d4b0765181d072df62e2d1c16f5" datatype="html">\n        <source>Issues</source>\n        <target>問題</target>\n      </trans-unit>\n      <trans-unit id="ef06d69259e587e28d52372455f44c7153cda7e7" datatype="html">\n        <source>Syncing</source>\n        <target>同期中</target>\n      </trans-unit>\n      <trans-unit id="0b0901877d837d3fda16ba161eb74368d1c75b7a" datatype="html">\n        <source>Ready</source>\n        <target>準備完了</target>\n      </trans-unit>\n      <trans-unit id="4057c56d63a7e9b140b1d01871a9229a5f30eb27" datatype="html">\n        <source>Edit pool mirror mode</source>\n        <target>プールのミラーモードの編集</target>\n      </trans-unit>\n      <trans-unit id="e1f367f5feaab38f6637dd1f967c848b447dea2d" datatype="html">\n        <source>To edit the mirror mode for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>, select a new mode from the list and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>To edit the mirror mode for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>, select a new mode from the list and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="32ca348ef926b0a6a7a780b8b64c3a8239895cec" datatype="html">\n        <source>Peer clusters must be removed prior to disabling mirror.</source>\n        <target>ミラーを無効にする前に、ピアクラスタを削除する必要があります。</target>\n      </trans-unit>\n      <trans-unit id="fa61522d482349707fd7dd03b90dc5781611b17f" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/>\n  pool mirror peer\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/>\n  pool mirror peer\n        </target>\n      </trans-unit>\n      <trans-unit id="4ddcb416c1c0aa1f54acf5beef1de81813e76fa6" datatype="html">\n        <source>{VAR_SELECT, select, edit {Edit} other {Add} }</source>\n        <target>{VAR_SELECT, select, edit {Edit} other {Add} }</target>\n      </trans-unit>\n      <trans-unit id="59ca65ece457429d90104ede4674965f62edbabe" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/> the pool\n          mirror peer attributes for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> and click\n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Submit\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/> the pool\n          mirror peer attributes for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> and click\n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Submit\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="d3cc964811f852a168f4a2d5daa59068abc5cf53" datatype="html">\n        <source>Cluster Name</source>\n        <target>クラスタ名</target>\n      </trans-unit>\n      <trans-unit id="b631721fc56cb7fb1cbd07b802a487c5753f6a2d" datatype="html">\n        <source>The cluster name is not valid.</source>\n        <target>このクラスタ名は無効です。</target>\n      </trans-unit>\n      <trans-unit id="ca6deafa31bf421f85094807982aee4bcb20a3ae" datatype="html">\n        <source>CephX ID</source>\n        <target>CephX ID</target>\n      </trans-unit>\n      <trans-unit id="7539188a568c3d553cbde1bacaf32310c4264e24" datatype="html">\n        <source>CephX ID...</source>\n        <target>CephX ID...</target>\n      </trans-unit>\n      <trans-unit id="a1c45b594b0fba22fc64e80c793a7ffe005fdb0e" datatype="html">\n        <source>The CephX ID is not valid.</source>\n        <target>このCephX IDは無効です。</target>\n      </trans-unit>\n      <trans-unit id="20861576fcfce773c918c782cd4f5adf32382921" datatype="html">\n        <source>Monitor Addresses</source>\n        <target>モニターアドレス</target>\n      </trans-unit>\n      <trans-unit id="fa28eeed2b4bd4ccbe6e9349a1c2b3cb1c5de70a" datatype="html">\n        <source>Comma-delimited addresses...</source>\n        <target>カンマ区切りアドレス...</target>\n      </trans-unit>\n      <trans-unit id="dc016c82fd85848d5c1b2fd0e8469ee2027d9c16" datatype="html">\n        <source>The monitory address is not valid.</source>\n        <target>この警告アドレスは無効です。</target>\n      </trans-unit>\n      <trans-unit id="e0ac55b83dc6739e62bc655cfe375b67c93e7f4a" datatype="html">\n        <source>CephX Key</source>\n        <target>CephXキー</target>\n      </trans-unit>\n      <trans-unit id="f53434bcb95bd86f1df9c8e22966f757614fc4ad" datatype="html">\n        <source>Base64-encoded key...</source>\n        <target>Base64エンコード化済みキー...</target>\n      </trans-unit>\n      <trans-unit id="4cd83164cd4f66b4abc2863f9ce6f599d789e4ca" datatype="html">\n        <source>CephX key must be base64 encoded.</source>\n        <target>CephXキーはbase64でエンコードされている必要があります。</target>\n      </trans-unit>\n      <trans-unit id="ca53d681a9892d6fdbb57ee9676582186515e961" datatype="html">\n        <source>Performance counters not available</source>\n        <target>パフォーマンスカウンタを使用できません</target>\n      </trans-unit>\n      <trans-unit id="9424badb7e0c6ac792d020d7830645b529a80aad" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the Object Gateway management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the Object Gateway management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="479488ab6e91ecb375484edc78bee3d13467f33f" datatype="html">\n        <source>Daemons List</source>\n        <target>デーモンリスト</target>\n      </trans-unit>\n      <trans-unit id="eeba399c4dae8d4890c27b7a2cd2dc28fcf8b5f9" datatype="html">\n        <source>Performance Counters</source>\n        <target>パフォーマンスカウンタ</target>\n      </trans-unit>\n      <trans-unit id="5f67f2247b9c6bbaf24a0f2d37f4ac0537c6fa53" datatype="html">\n        <source>Loading bucket data...</source>\n        <target>バケットデータを読み込んでいます...</target>\n      </trans-unit>\n      <trans-unit id="2798cc1e152b1ec07fd8daf94a2a073d1ba1ebcc" datatype="html">\n        <source>Id</source>\n        <target>Id</target>\n      </trans-unit>\n      <trans-unit id="db4e1a734518691b128ef40b939cc673f01d03a6" datatype="html">\n        <source>The value is not valid.</source>\n        <target>この値は無効です。</target>\n      </trans-unit>\n      <trans-unit id="eabb4db920d9f9b2480cf438468b86e1bea02a9b" datatype="html">\n        <source>The chosen name is already in use.</source>\n        <target>選択された名前はすでに使用されています。</target>\n      </trans-unit>\n      <trans-unit id="0ee5132a8da30e0b7f9f5c70dbc91928d17dd909" datatype="html">\n        <source>Owner</source>\n        <target>所有者</target>\n      </trans-unit>\n      <trans-unit id="8e4c918357c7445fbf19a203e5f0f0ece1960b3b" datatype="html">\n        <source>-- Select a user --</source>\n        <target>-- ユーザを選択してください --</target>\n      </trans-unit>\n      <trans-unit id="a4aab1f837bc8ec222e4f25922465d1c5929a1fc" datatype="html">\n        <source>Placement target</source>\n        <target>Placement target</target>\n      </trans-unit>\n      <trans-unit id="6bae0a7fc2c9c1fde7d937a8a1a3c7e6825cf7d1" datatype="html">\n        <source>-- Select a placement target --</source>\n        <target>-- Select a placement target --</target>\n      </trans-unit>\n      <trans-unit id="efeade5060b3add63863c24871f0830fb16b7e6d" datatype="html">\n        <source>Versioning</source>\n        <target>Versioning</target>\n      </trans-unit>\n      <trans-unit id="f50a33d3c339f8f4a465141f8caa5d2d8c005251" datatype="html">\n        <source>Enabled</source>\n        <target>有効化済み</target>\n      </trans-unit>\n      <trans-unit id="016d24e069e7d505a090fb8243e5cd43b35dc39b" datatype="html">\n        <source>Enables versioning for the objects in the bucket.</source>\n        <target>Enables versioning for the objects in the bucket.</target>\n      </trans-unit>\n      <trans-unit id="9e6775ffd06878aa145c07359f28557f01ede04f" datatype="html">\n        <source>Multi-Factor Authentication</source>\n        <target>Multi-Factor Authentication</target>\n      </trans-unit>\n      <trans-unit id="29e8a5d4fb767d4ad0c762c81c6264cec4c0ba97" datatype="html">\n        <source>Delete enabled</source>\n        <target>Delete enabled</target>\n      </trans-unit>\n      <trans-unit id="40fbc3ac8c1ea4ecfe62247e91f1f999ad5baf76" datatype="html">\n        <source>Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state.</source>\n        <target>Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state.</target>\n      </trans-unit>\n      <trans-unit id="d24c93a8c13db46defa06ed7b5e026a3edb52b91" datatype="html">\n        <source>Token Serial Number</source>\n        <target>Token Serial Number</target>\n      </trans-unit>\n      <trans-unit id="e6d9536c2af2e5e9a228c3e3e1809dc1fefe0149" datatype="html">\n        <source>Token PIN</source>\n        <target>Token PIN</target>\n      </trans-unit>\n      <trans-unit id="7b84370895ab9eb44672f57146fa05c5947f1c0c" datatype="html">\n        <source>Locking</source>\n        <target>Locking</target>\n      </trans-unit>\n      <trans-unit id="f038d51ab1645f15b0cd58f195c72a7eeebd4729" datatype="html">\n        <source>Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket.</source>\n        <target>Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket.</target>\n      </trans-unit>\n      <trans-unit id="9af1b4baa2dd8ed2bfc3cc756b12a2271c2dd793" datatype="html">\n        <source>Compliance</source>\n        <target>Compliance</target>\n      </trans-unit>\n      <trans-unit id="edd600fa489d1b4a4448dce694ed932e52ce8fda" datatype="html">\n        <source>Governance</source>\n        <target>Governance</target>\n      </trans-unit>\n      <trans-unit id="a5c3d9d2296f7886e8289b9f623323803deacfc6" datatype="html">\n        <source>Days</source>\n        <target>Days</target>\n      </trans-unit>\n      <trans-unit id="218c7d6d318c51e7105309aaeb0baec9d19e4efb" datatype="html">\n        <source>The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</source>\n        <target>The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</target>\n      </trans-unit>\n      <trans-unit id="289b101ec12427b3ca819df9e43cc3b14fae2cc4" datatype="html">\n        <source>The entered value must be a positive integer.</source>\n        <target>The entered value must be a positive integer.</target>\n      </trans-unit>\n      <trans-unit id="def9fc628134d3a044b7c0ad2a83c846bdad56f1" datatype="html">\n        <source>Retention period requires either Days or Years.</source>\n        <target>Retention period requires either Days or Years.</target>\n      </trans-unit>\n      <trans-unit id="003c94fc143882ac8af6251a1595fe62978fe3e6" datatype="html">\n        <source>Years</source>\n        <target>Years</target>\n      </trans-unit>\n      <trans-unit id="14c6189ead0951f13049c7bf9af7642d0c41957a" datatype="html">\n        <source>The number of years that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</source>\n        <target>The number of years that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</target>\n      </trans-unit>\n      <trans-unit id="45cc8ca94b5a50842a9a8ef804a5ab089a38ae5c" datatype="html">\n        <source>ID</source>\n        <target>ID</target>\n      </trans-unit>\n      <trans-unit id="e5c51963a9c553b29427ef783bbb69fa6634fa8c" datatype="html">\n        <source>Index type</source>\n        <target>インデックスタイプ</target>\n      </trans-unit>\n      <trans-unit id="8e6f950a32eaea32ec7e192f9ca3d3dfe469d4ba" datatype="html">\n        <source>Placement rule</source>\n        <target>配置ルール</target>\n      </trans-unit>\n      <trans-unit id="6972d213e31c4ea4f887e60db99d9881bc8fcd3e" datatype="html">\n        <source>Marker</source>\n        <target>マーカー</target>\n      </trans-unit>\n      <trans-unit id="47b02acd2d3254d1ace1926f840523f154ebef71" datatype="html">\n        <source>Maximum marker</source>\n        <target>最大マーカー</target>\n      </trans-unit>\n      <trans-unit id="8fe73a4787b8068b2ba61f54ab7e0f9af2ea1fc9" datatype="html">\n        <source>Version</source>\n        <target>バージョン</target>\n      </trans-unit>\n      <trans-unit id="092fa3a7df9168b14d3f83a77a4035e92b92ce15" datatype="html">\n        <source>Master version</source>\n        <target>マスタバージョン</target>\n      </trans-unit>\n      <trans-unit id="97434cc5001d407f90c7447a12d9e8e6848a2aa3" datatype="html">\n        <source>Modification time</source>\n        <target>変更時間</target>\n      </trans-unit>\n      <trans-unit id="90fe2e41e7fde38453ce4e619efeea9bc6adea9c" datatype="html">\n        <source>Zonegroup</source>\n        <target>ゾーングループ</target>\n      </trans-unit>\n      <trans-unit id="62a923f047ca49e7a4782629e91fea1ba32db68f" datatype="html">\n        <source>MFA Delete</source>\n        <target>MFA Delete</target>\n      </trans-unit>\n      <trans-unit id="649a410bd0ace333d067d8fa22f12bdbdb43533b" datatype="html">\n        <source>Bucket quota</source>\n        <target>バケットクォータ</target>\n      </trans-unit>\n      <trans-unit id="cef1595d040e77cbb4466e60382028d4c2040cac" datatype="html">\n        <source>Maximum size</source>\n        <target>最大サイズ</target>\n      </trans-unit>\n      <trans-unit id="aa6fb95c355f172bda303de1ce2f38c251a149cf" datatype="html">\n        <source>Unlimited</source>\n        <target>無制限</target>\n      </trans-unit>\n      <trans-unit id="ee862a800364b4d11f9b8cb9955a28a60f840a45" datatype="html">\n        <source>Maximum objects</source>\n        <target>最大オブジェクト数</target>\n      </trans-unit>\n      <trans-unit id="08c74dc9762957593b91f6eb5d65efdfc975bf48" datatype="html">\n        <source>Username</source>\n        <target>ユーザ名</target>\n      </trans-unit>\n      <trans-unit id="49c614babd1950adb2be75df4e2c9747286d6adc" datatype="html">\n        <source>-- Select a username --</source>\n        <target>-- ユーザ名を選択してください --</target>\n      </trans-unit>\n      <trans-unit id="c217ee914725a37e9dd2336c721c8e63e9666bdc" datatype="html">\n        <source>Auto-generate key</source>\n        <target>キーの自動生成</target>\n      </trans-unit>\n      <trans-unit id="2f1c1c0f2bce4c9f92d1a2061e8161cb0006c31a" datatype="html">\n        <source>Access key</source>\n        <target>アクセスキー</target>\n      </trans-unit>\n      <trans-unit id="b864acb67296a9819c1db0069c4c47d8b5ce8f44" datatype="html">\n        <source>Secret key</source>\n        <target>秘密キー</target>\n      </trans-unit>\n      <trans-unit id="b760f123248930122fc7e7b6b6bf94e376e959c8" datatype="html">\n        <source>Full name</source>\n        <target>氏名</target>\n      </trans-unit>\n      <trans-unit id="69b6ac577a19acc39fc0c22342092f327fff2529" datatype="html">\n        <source>Email address</source>\n        <target>電子メールアドレス</target>\n      </trans-unit>\n      <trans-unit id="92f3f203270a29b3001871153f02c063484a1574" datatype="html">\n        <source>Suspended</source>\n        <target>中断済み</target>\n      </trans-unit>\n      <trans-unit id="8011e20c5bbe51602d459a860fbf29b599b55edd" datatype="html">\n        <source>System</source>\n        <target>システム</target>\n      </trans-unit>\n      <trans-unit id="db18a2772988415466a7f75dc42663ce78c9c1d3" datatype="html">\n        <source>Maximum buckets</source>\n        <target>最大バケット数</target>\n      </trans-unit>\n      <trans-unit id="2c4c62e8ba24601be5cfe7dc5d32c24bbbd4b53c" datatype="html">\n        <source>Subusers</source>\n        <target>サブユーザ</target>\n      </trans-unit>\n      <trans-unit id="17bb3082e6fe5003203ef992a3714172334631a1" datatype="html">\n        <source>Capabilities</source>\n        <target>機能</target>\n      </trans-unit>\n      <trans-unit id="36ad38f9c1a1485e09b67778a28af84553290ffb" datatype="html">\n        <source>User quota</source>\n        <target>ユーザクォータ</target>\n      </trans-unit>\n      <trans-unit id="2aba1e87039819aca3b70faa9aa848c12bf139ca" datatype="html">\n        <source>Show</source>\n        <target>表示</target>\n      </trans-unit>\n      <trans-unit id="0bcd5ef19af0f1b814141ca8c57df623d8270088" datatype="html">\n        <source>Keys</source>\n        <target>キー</target>\n      </trans-unit>\n      <trans-unit id="f61c6867295f3b53d23557021f2f4e0aa1d0b8fc" datatype="html">\n        <source>Type</source>\n        <target>タイプ</target>\n      </trans-unit>\n      <trans-unit id="1221ca97d19eaa9a7bc0c5243d5fc5befe1d2314" datatype="html">\n        <source>-- Select a type --</source>\n        <target>-- タイプを選択してください --</target>\n      </trans-unit>\n      <trans-unit id="d1b8990332af18f1c5159a6061ca889bcbb28432" datatype="html">\n        <source>Permission</source>\n        <target>許可</target>\n      </trans-unit>\n      <trans-unit id="a08c589f82f69d892307288da14190ae1dd583d5" datatype="html">\n        <source>-- Select a permission --</source>\n        <target>-- 許可を選択してください --</target>\n      </trans-unit>\n      <trans-unit id="b2841767821d6b66238c34d07e413b0af67aee92" datatype="html">\n        <source>Subuser</source>\n        <target>サブユーザ</target>\n      </trans-unit>\n      <trans-unit id="bd59fc25a7bd98cff3e75117c09697c8a007a514" datatype="html">\n        <source>The chosen subuser ID is already in use.</source>\n        <target>選択されたサブユーザIDはすでに使用されています。</target>\n      </trans-unit>\n      <trans-unit id="3d386c357ebcbc04ed05c4babd5a03626f9b1674" datatype="html">\n        <source>read, write</source>\n        <target>読み取り、書き込み</target>\n      </trans-unit>\n      <trans-unit id="84e3e3f9a4f31a039b648c97debf95fcb20f4c4a" datatype="html">\n        <source>full</source>\n        <target>フル</target>\n      </trans-unit>\n      <trans-unit id="b6bf81d032a2316464f9df2f0d2f3d753f89f0d3" datatype="html">\n        <source>Swift key</source>\n        <target>スウィフトキー</target>\n      </trans-unit>\n      <trans-unit id="1e0c12685d50d47448ceed9423977ef39775c037" datatype="html">\n        <source>Auto-generate secret</source>\n        <target>秘密の自動生成</target>\n      </trans-unit>\n      <trans-unit id="3d1c7a6004bd5d86a7fa096ae24209e8aa7a53e3" datatype="html">\n        <source>Loading user data...</source>\n        <target>ユーザデータを読み込んでいます...</target>\n      </trans-unit>\n      <trans-unit id="faa5d834ab28571423d794d32b57998920efb65f" datatype="html">\n        <source>The user data could not be loaded.</source>\n        <target>ユーザデータを読み込めませんでした。</target>\n      </trans-unit>\n      <trans-unit id="6aaf5d2a304167272ac73e3b1d1c162e16c77858" datatype="html">\n        <source>The chosen user ID is already in use.</source>\n        <target>選択されたユーザIDはすでに使用されています。</target>\n      </trans-unit>\n      <trans-unit id="df441e80db2157f9d272b75de724ba4a82b96b57" datatype="html">\n        <source>This is not a valid email address.</source>\n        <target>これは有効な電子メールアドレスではありません。</target>\n      </trans-unit>\n      <trans-unit id="ca271adf154956b8fcb28f4f50a37acb3057ff7c" datatype="html">\n        <source>The chosen email address is already in use.</source>\n        <target>選択された電子メールアドレスはすでに使用されています。</target>\n      </trans-unit>\n      <trans-unit id="030197cebe938edf35422e92fe14183d06eb670b" datatype="html">\n        <source>Max. buckets</source>\n        <target>最大バケット数</target>\n      </trans-unit>\n      <trans-unit id="f39256070bfc0714020dfee08895421fc1527014" datatype="html">\n        <source>Disabled</source>\n        <target>無効化済み</target>\n      </trans-unit>\n      <trans-unit id="a5c05002b0ac2040f1aede5e727e0ffd06eda819" datatype="html">\n        <source>Custom</source>\n        <target>カスタム</target>\n      </trans-unit>\n      <trans-unit id="28872515cb81d197a3a1733fa546d3e0f0dd6c67" datatype="html">\n        <source>The entered value must be &gt;= 1.</source>\n        <target>The entered value must be &gt;= 1.</target>\n      </trans-unit>\n      <trans-unit id="583a219c524155c2314eb06ee29162bb315272a3" datatype="html">\n        <source>S3 key</source>\n        <target>S3キー</target>\n      </trans-unit>\n      <trans-unit id="128d6efb51d9ddc7c0cc695a2deeca5b9523f6e4" datatype="html">\n        <source>There are no subusers.</source>\n        <target>サブユーザがいません。</target>\n      </trans-unit>\n      <trans-unit id="7fd6dfb8ecb982dbc3affb2c2d5414c4f5b6abd2" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ subuserLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ subuserLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="67c746c1ba9dab4351fedc4c7cba4e6d6b0dbc47" datatype="html">\n        <source>S3</source>\n        <target>S3</target>\n      </trans-unit>\n      <trans-unit id="d6819038d608623503918fb2553f53d68231ec3a" datatype="html">\n        <source>There are no keys.</source>\n        <target>キーがありません。</target>\n      </trans-unit>\n      <trans-unit id="fc1c1a7140ff6b815a95b65ee2780fdbe1b2b7a1" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ s3keyLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ s3keyLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6ddb5e991a3ecd2659fb520bc5acc81b67e08ddd" datatype="html">\n        <source>Swift</source>\n        <target>スウィフト</target>\n      </trans-unit>\n      <trans-unit id="1d01eccdda47fc907c5be35bcb16d2dcd02b0270" datatype="html">\n        <source>There are no capabilities.</source>\n        <target>機能がありません。</target>\n      </trans-unit>\n      <trans-unit id="043e2ec0036ceadd926fd5e3f93cd6f3565f3648" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.ADD | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.ADD | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="f5a451c4ea65a4046f0b49d489a7013abf0b5861" datatype="html">\n        <source>All capabilities are already added.</source>\n        <target>All capabilities are already added.</target>\n      </trans-unit>\n      <trans-unit id="6146e13ceca5fa5cc17b771b282fe5955f3d19fa" datatype="html">\n        <source>Unlimited size</source>\n        <target>無制限のサイズ</target>\n      </trans-unit>\n      <trans-unit id="f6db8aa7c99fdce18edb33dde57729acede2b308" datatype="html">\n        <source>Max. size</source>\n        <target>最大サイズ</target>\n      </trans-unit>\n      <trans-unit id="fc630b2093e880fffa19df99d5cd8b87605037f8" datatype="html">\n        <source>Unlimited objects</source>\n        <target>無制限のオブジェクト数</target>\n      </trans-unit>\n      <trans-unit id="6cda5a993d06f0bb10048be9d3aba6555aa9f356" datatype="html">\n        <source>Max. objects</source>\n        <target>最大オブジェクト数</target>\n      </trans-unit>\n      <trans-unit id="623ac50f37a26caec6fd7cd519b653e3315cba25" datatype="html">\n        <source>The entered value must be &gt;= 0.</source>\n        <target>0以上の値を入力する必要があります。</target>\n      </trans-unit>\n      <trans-unit id="1ea5c4d8942c00752dcc72e72949c5d9832f6399" datatype="html">\n        <source>Description...</source>\n        <target>説明...</target>\n      </trans-unit>\n      <trans-unit id="70f45880fce6ac5d8e468e25e82aefbba8098cfe" datatype="html">\n        <source>Permissions</source>\n        <target>許可</target>\n      </trans-unit>\n      <trans-unit id="9610487cbeb5796d34d8601b5ac0c0a65f9e1d19" datatype="html">\n        <source>Roles</source>\n        <target>役割</target>\n      </trans-unit>\n      <trans-unit id="7f3bdcce4b2e8c37cd7f0f6c92ef8cff34b039b8" datatype="html">\n        <source>Confirm password</source>\n        <target>パスワードの確認入力</target>\n      </trans-unit>\n      <trans-unit id="cbb979e63ba50e0ca3adfa09cbdcaefd0853fca1" datatype="html">\n        <source>Password confirmation doesn\'t match the password.</source>\n        <target>確認入力されたパスワードがパスワードと一致しません。</target>\n      </trans-unit>\n      <trans-unit id="96621f9ed2e4ae5204564e583d2c816bedead571" datatype="html">\n        <source>Password expiration date</source>\n        <target>Password expiration date</target>\n      </trans-unit>\n      <trans-unit id="48932db3801fe9d5d72a60a3e656bffd17c1c5d9" datatype="html">\n        <source>Password expiration date...</source>\n        <target>Password expiration date...</target>\n      </trans-unit>\n      <trans-unit id="244aae9346da82b0922506c2d2581373a15641cc" datatype="html">\n        <source>Email</source>\n        <target>電子メール</target>\n      </trans-unit>\n      <trans-unit id="d0ec081dd61eb4f43aea269077bbe38eae87b7f9" datatype="html">\n        <source>Invalid email.</source>\n        <target>無効な電子メールです。</target>\n      </trans-unit>\n      <trans-unit id="8913c216dd506e20e412e144381d8d2a65a84359" datatype="html">\n        <source>User must change password at next logon</source>\n        <target>User must change password at next logon</target>\n      </trans-unit>\n      <trans-unit id="0051a3479d3ba79135c16dc8cc017950a2cce821" datatype="html">\n        <source>You are about to remove "user read / update" permissions from your own user.</source>\n        <target>自身のユーザから「user read / update」という許可を削除しようとしています。</target>\n      </trans-unit>\n      <trans-unit id="af4bf9fcb256853f14cf947eb1deb8d7f176d3f9" datatype="html">\n        <source>If you continue, you will no longer be able to add or remove roles from any user.</source>\n        <target>続行した場合は、どのユーザの役割も追加および削除できなくなります。</target>\n      </trans-unit>\n      <trans-unit id="7d1dcf2a9146caac0581329acf94806ec69a89a5" datatype="html">\n        <source>Are you sure you want to continue?</source>\n        <target>続行してもよろしいですか?</target>\n      </trans-unit>\n      <trans-unit id="85b79c9064aed1ead31ace985f31aa1363f6bdaf" datatype="html">\n        <source>Help</source>\n        <target>ヘルプ</target>\n      </trans-unit>\n      <trans-unit id="fcfd4675b4c90f08d18d3abede9a9a4dff4cfdc7" datatype="html">\n        <source>Documentation</source>\n        <target>ドキュメント</target>\n      </trans-unit>\n      <trans-unit id="e351b40b3869a5c7d19c3d4918cb1ac7aaab95c4" datatype="html">\n        <source>API</source>\n        <target>API</target>\n      </trans-unit>\n      <trans-unit id="004b222ff9ef9dd4771b777950ca1d0e4cd4348a" datatype="html">\n        <source>About</source>\n        <target>バージョン情報</target>\n      </trans-unit>\n      <trans-unit id="1481ecd21e760ac919a24e26cf790acd82e40199" datatype="html">\n        <source>Dashboard Settings</source>\n        <target>ダッシュボード設定</target>\n      </trans-unit>\n      <trans-unit id="a79aab4ef674bf3f6532292107c0054302236e0f" datatype="html">\n        <source>User management</source>\n        <target>ユーザ管理</target>\n      </trans-unit>\n      <trans-unit id="049dfd9fe6c78914ad58cf89ac6a631fca28ec74" datatype="html">\n        <source>Logged in user</source>\n        <target>ログイン済みユーザ</target>\n      </trans-unit>\n      <trans-unit id="cd38a58e73f306d838e621959d47d5e7a2f06d1f" datatype="html">\n        <source>Signed in as\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ username }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>\n        </source>\n        <target>Signed in as\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ username }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="739516c2ca75843d5aec9cf0e6b3e4335c4227b9" datatype="html">\n        <source>Change password</source>\n        <target>Change password</target>\n      </trans-unit>\n      <trans-unit id="5d22c795daf43877a5f708dca2bccd549eb0471d" datatype="html">\n        <source>Sign out</source>\n        <target>サインアウト</target>\n      </trans-unit>\n      <trans-unit id="91853167141c37b58868f3b0421383dd72fa8a01" datatype="html">\n        <source>Attributes (OSD map)</source>\n        <target>属性(OSDマップ)</target>\n      </trans-unit>\n      <trans-unit id="97842f379e1d4157ac3ab0661b90c352e7cb72d5" datatype="html">\n        <source>Metadata not available</source>\n        <target>メタデータを使用できません</target>\n      </trans-unit>\n      <trans-unit id="f721a500a68c357e8f2a01e60510f6a01e4ba529" datatype="html">\n        <source>Metadata</source>\n        <target>メタデータ</target>\n      </trans-unit>\n      <trans-unit id="deba10b7279a589d01e919ea11f43c79ca1773e3" datatype="html">\n        <source>Device health</source>\n        <target>Device health</target>\n      </trans-unit>\n      <trans-unit id="d24e28e19c5703d7c6be44f4eb595a6a43b618ed" datatype="html">\n        <source>Performance counter</source>\n        <target>パフォーマンスカウンタ</target>\n      </trans-unit>\n      <trans-unit id="d1f7c81ed9c5034af4abcdf119b1c1e86cd019dd" datatype="html">\n        <source>Histogram not available: \n          <x id="INTERPOLATION" equiv-text="{{ osd.histogram_failed }}"/>\n        </source>\n        <target>Histogram not available: \n          <x id="INTERPOLATION" equiv-text="{{ osd.histogram_failed }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="868abfff914873d1c65df798d8432ed04b8ae2a9" datatype="html">\n        <source>Writes</source>\n        <target>書き込み回数</target>\n      </trans-unit>\n      <trans-unit id="996ebb9a653b5067f97bf3891ea9d2108e969492" datatype="html">\n        <source>Reads</source>\n        <target>読み取り回数</target>\n      </trans-unit>\n      <trans-unit id="65ac79790aa477a97b1cc579e18a115a8df8918f" datatype="html">\n        <source>Histogram</source>\n        <target>ヒストグラム</target>\n      </trans-unit>\n      <trans-unit id="3d87fc20ea8e5f0f0500ba5d5061b345be78ec5e" datatype="html">\n        <source>No hostname found.</source>\n        <target>No hostname found.</target>\n      </trans-unit>\n      <trans-unit id="26fb5f81b3581f06b9210defb0e71dc69a67e819" datatype="html">\n        <source>Current values</source>\n        <target>現行値</target>\n      </trans-unit>\n      <trans-unit id="9abcd7c82643d60c22733470463f74e4a54bc069" datatype="html">\n        <source>Min</source>\n        <target>最小</target>\n      </trans-unit>\n      <trans-unit id="c3ced4d162a0a55ee233a187ce7208ba5e922418" datatype="html">\n        <source>Max</source>\n        <target>最大</target>\n      </trans-unit>\n      <trans-unit id="6834fa6b43d1ecbdf147c48dd9c4d72f1484571d" datatype="html">\n        <source>Source</source>\n        <target>ソース</target>\n      </trans-unit>\n      <trans-unit id="a446fb0eb11fbffcac805ece5a2d306d24e733d8" datatype="html">\n        <source>Level</source>\n        <target>レベル</target>\n      </trans-unit>\n      <trans-unit id="39f2fb094e9b2eda13163fa3f3a31594cf9c1307" datatype="html">\n        <source>Can be updated at runtime (editable)</source>\n        <target>実行時に更新できます(編集可能)</target>\n      </trans-unit>\n      <trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b" datatype="html">\n        <source>Tags</source>\n        <target>タグ</target>\n      </trans-unit>\n      <trans-unit id="ab0089ef47af61ca1d137bc908b96c290dfd9287" datatype="html">\n        <source>Enum values</source>\n        <target>列挙値</target>\n      </trans-unit>\n      <trans-unit id="819476f1264f1659f38e86f6abb542141b184832" datatype="html">\n        <source>See also</source>\n        <target>関連項目</target>\n      </trans-unit>\n      <trans-unit id="73caac4265ea7314ff061e5a1d78a6361a6dd3b8" datatype="html">\n        <source>Cluster Status</source>\n        <target>クラスタのステータス</target>\n      </trans-unit>\n      <trans-unit id="1d4bc612bbf19aa9553853266b9e92c9d75f4464" datatype="html">\n        <source>Manager Daemons</source>\n        <target>マネージャデーモン</target>\n      </trans-unit>\n      <trans-unit id="946ac5dea9921dc09d7b0a63b89535371f283b19" datatype="html">\n        <source>Object Gateways</source>\n        <target>オブジェクトゲートウェイ</target>\n      </trans-unit>\n      <trans-unit id="ff03fa5bcf37c4da46ad736c1f7d03f959e8ba9a" datatype="html">\n        <source>Metadata Servers</source>\n        <target>メタデータサーバ</target>\n      </trans-unit>\n      <trans-unit id="d817609ba4993eba859409ab71e566168f4d5f5a" datatype="html">\n        <source>iSCSI Gateways</source>\n        <target>iSCSIゲートウェイ</target>\n      </trans-unit>\n      <trans-unit id="42c13e50391250ea9379bdf55d5d6c0228c0c8bc" datatype="html">\n        <source>Client IOPS</source>\n        <target>クライアントのIOPS</target>\n      </trans-unit>\n      <trans-unit id="52213660b2454d139ada3079a42ec6caf3c3c01e" datatype="html">\n        <source>Client Throughput</source>\n        <target>クライアントのスループット</target>\n      </trans-unit>\n      <trans-unit id="32efd1c3f70e3c5244239de97a2cc95d98534a14" datatype="html">\n        <source>Client Read/Write</source>\n        <target>クライアントの読み取り/書き込み</target>\n      </trans-unit>\n      <trans-unit id="275485415092cbae3a9f3cbb786ebe283cacfdd5" datatype="html">\n        <source>Recovery Throughput</source>\n        <target>回復スループット</target>\n      </trans-unit>\n      <trans-unit id="6d9a9f55046891733ef71170e7652063765eb542" datatype="html">\n        <source>Scrub</source>\n        <target>スクラブ</target>\n      </trans-unit>\n      <trans-unit id="3cc9c2ae277393b3946b38c088dabff671b1ee1b" datatype="html">\n        <source>Performance</source>\n        <target>パフォーマンス</target>\n      </trans-unit>\n      <trans-unit id="88f383269db2d32cccee9e936fe549dccb9fdbf4" datatype="html">\n        <source>Raw Capacity</source>\n        <target>未フォーマット時の容量</target>\n      </trans-unit>\n      <trans-unit id="c5f8a813f91a11af99132e4beafc136cfc13d73b" datatype="html">\n        <source>PGs per OSD</source>\n        <target>OSDあたりの配置グループ数</target>\n      </trans-unit>\n      <trans-unit id="498a109c6e9e94f1966de01aa0326f7f0ac6fb52" datatype="html">\n        <source>PG Status</source>\n        <target>配置グループのステータス</target>\n      </trans-unit>\n      <trans-unit id="ce9dfdc6dccb28dc75a78c704e09dc18fb02dcfa" datatype="html">\n        <source>Capacity</source>\n        <target>容量</target>\n      </trans-unit>\n      <trans-unit id="44ecac93d67c6a671198091c2270354f80322327" datatype="html">\n        <source>\n          <x id="START_ITALIC_TEXT" ctype="x-i" equiv-text="<i>"/>\n          <x id="CLOSE_ITALIC_TEXT" ctype="x-i" equiv-text="</i>"/> See \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Logs\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more details.\n        </source>\n        <target>\n          <x id="START_ITALIC_TEXT" ctype="x-i" equiv-text="<i>"/>\n          <x id="CLOSE_ITALIC_TEXT" ctype="x-i" equiv-text="</i>"/> See \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Logs\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more details.\n        </target>\n      </trans-unit>\n      <trans-unit id="0c1e17956453ad772dbe82d6946f62748c692f3e" datatype="html">\n        <source>Ranks</source>\n        <target>ランク</target>\n      </trans-unit>\n      <trans-unit id="2b24e0b0b1629d2e8a51b9da7c75d6e6379f4bc4" datatype="html">\n        <source>Standbys</source>\n        <target>Standbys</target>\n      </trans-unit>\n      <trans-unit id="50df62325726db950523a5be1c78b8905fcc25d4" datatype="html">\n        <source>MDS performance counters</source>\n        <target>MDS performance counters</target>\n      </trans-unit>\n      <trans-unit id="6e213942c6354b9cbe7a650f0f1499bfc1000fb6" datatype="html">\n        <source>Directories</source>\n        <target>Directories</target>\n      </trans-unit>\n      <trans-unit id="47116253e36f4e38a97ba41b2d3122c6c15ab904" datatype="html">\n        <source>Clients (\n          <x id="INTERPOLATION" equiv-text="{{ clients.length }}"/>)\n        </source>\n        <target>Clients (\n          <x id="INTERPOLATION" equiv-text="{{ clients.length }}"/>)\n        </target>\n      </trans-unit>\n      <trans-unit id="bd5a3b1c5a3c185c7bbb0e09a061d4cdc88ce5ad" datatype="html">\n        <source>Current</source>\n        <target>現在</target>\n      </trans-unit>\n      <trans-unit id="e5e7d62e942083a59b0b31f54e17cd7958186052" datatype="html">\n        <source>Updated discovery authentication</source>\n        <target>検出認証を更新しました</target>\n      </trans-unit>\n      <trans-unit id="dd4ab758afd5fd5a6c6a25b2b30ff99d0c00e9ad" datatype="html">\n        <source>There are no portals available.</source>\n        <target>使用可能なポータルはありません。</target>\n      </trans-unit>\n      <trans-unit id="83021e45778a4a230a14ca0c6d6ccdf05500ad93" datatype="html">\n        <source>There are no images available.</source>\n        <target>使用可能なイメージはありません。</target>\n      </trans-unit>\n      <trans-unit id="86684eb21f8a768e1dbc659e3d5da6861db544a0" datatype="html">\n        <source>There are no images available. Please make sure you add an image to the target.</source>\n        <target>使用可能なイメージはありません。ターゲットにイメージを追加したことを確認してください。</target>\n      </trans-unit>\n      <trans-unit id="fffda6e440078f57eba93944ce051c593cc6ed7f" datatype="html">\n        <source>There are no initiators available. Please make sure you add an initiator to the target.</source>\n        <target>使用可能なイニシエータはありません。ターゲットにイニシエータを追加したことを確認してください。</target>\n      </trans-unit>\n      <trans-unit id="cea3c6fe490385eef1584cbc4983fda7ece24bb6" datatype="html">\n        <source>target</source>\n        <target>target</target>\n      </trans-unit>\n      <trans-unit id="38baeb215c17af9d9e295e371a57f4a48ab4c191" datatype="html">\n        <source>Target</source>\n        <target>ターゲット</target>\n      </trans-unit>\n      <trans-unit id="99e094878070eebc1b972bac02aaa33b2bf83b35" datatype="html">\n        <source># Sessions</source>\n        <target># Sessions</target>\n      </trans-unit>\n      <trans-unit id="2ea10b3668e04e057ba96ddcaf4c9b77089008ae" datatype="html">\n        <source>Unavailable gateway(s)</source>\n        <target>Unavailable gateway(s)</target>\n      </trans-unit>\n      <trans-unit id="c49e0dd71d551bd4928d967d78f0721dbf9f95e3" datatype="html">\n        <source>Target has active sessions</source>\n        <target>Target has active sessions</target>\n      </trans-unit>\n      <trans-unit id="a87acd72dfb68b45175270695209550a85adf50c" datatype="html">\n        <source>iSCSI target</source>\n        <target>iSCSI target</target>\n      </trans-unit>\n      <trans-unit id="873b72903b1858a9cd6c8967521030b4d7d1435b" datatype="html">\n        <source>State</source>\n        <target>状態</target>\n      </trans-unit>\n      <trans-unit id="02b75464c0dc0cf49ea0208211b6fbcad3bf728a" datatype="html">\n        <source># Targets</source>\n        <target># Targets</target>\n      </trans-unit>\n      <trans-unit id="13415637c325ceefee29111b31cb48701490adf7" datatype="html">\n        <source>Read Bytes</source>\n        <target>読み取りバイト数</target>\n      </trans-unit>\n      <trans-unit id="e2ed82b7bbf4a006e60e6208c597b05d5b5556e9" datatype="html">\n        <source>Write Bytes</source>\n        <target>書き込みバイト数</target>\n      </trans-unit>\n      <trans-unit id="6a32a5f58845ca840185ea9564682094e77a1d80" datatype="html">\n        <source>Read Ops</source>\n        <target>読み取り操作数</target>\n      </trans-unit>\n      <trans-unit id="7c36cb8032af123d3550ffab2e1fa1e957c87fae" datatype="html">\n        <source>Write Ops</source>\n        <target>書き込み操作数</target>\n      </trans-unit>\n      <trans-unit id="458c33846a8c7e2feb9404bcf06723784e756cdc" datatype="html">\n        <source>A/O Since</source>\n        <target>次の日付以降のA/O</target>\n      </trans-unit>\n      <trans-unit id="ff78f059449d44322f627d0f66df07abe476962b" datatype="html">\n        <source>Instance</source>\n        <target>インスタンス</target>\n      </trans-unit>\n      <trans-unit id="36fad7995cadfb3a6f0d43ef2db280146b3ca022" datatype="html">\n        <source>Issue</source>\n        <target>問題</target>\n      </trans-unit>\n      <trans-unit id="15793f4cbc261bedbc60f7105533dde536a3f42b" datatype="html">\n        <source>Progress</source>\n        <target>進捗</target>\n      </trans-unit>\n      <trans-unit id="25b725dba712a7a020fd34a72297befae975a492" datatype="html">\n        <source>Edit Site Name</source>\n        <target>Edit Site Name</target>\n      </trans-unit>\n      <trans-unit id="8c375764db42f5d736fb56d01b8052c006ccc8e2" datatype="html">\n        <source>Edit Mode</source>\n        <target>モードの編集</target>\n      </trans-unit>\n      <trans-unit id="45932f2a0ea524b3425f4320ee46a6d1c68977bc" datatype="html">\n        <source>Add Peer</source>\n        <target>ピアの追加</target>\n      </trans-unit>\n      <trans-unit id="d3dc34662e3cda0dad646221651cebd26f731485" datatype="html">\n        <source>Edit Peer</source>\n        <target>ピアの編集</target>\n      </trans-unit>\n      <trans-unit id="e8a0ec0b6ee72db0f27c186e09640d1ed41964bd" datatype="html">\n        <source>Delete Peer</source>\n        <target>ピアの削除</target>\n      </trans-unit>\n      <trans-unit id="314de06d6f64d39149e78e6d796585c0246fec0b" datatype="html">\n        <source>Leader</source>\n        <target>リーダー</target>\n      </trans-unit>\n      <trans-unit id="7acaab450312114059ced9e3737798ee9aa738b1" datatype="html">\n        <source># Local</source>\n        <target>#ローカル</target>\n      </trans-unit>\n      <trans-unit id="7a3ffd88868135c44be3994263bb8e49d8358884" datatype="html">\n        <source># Remote</source>\n        <target>#リモート</target>\n      </trans-unit>\n      <trans-unit id="85ca0fd6a6ddd211023c70a25753122c5b978787" datatype="html">\n        <source>mirror peer</source>\n        <target>ミラーピア</target>\n      </trans-unit>\n      <trans-unit id="a6493c6ca346cd052da40423eda9c132de2b2002" datatype="html">\n        <source>Key</source>\n        <target>キー</target>\n      </trans-unit>\n      <trans-unit id="e9cac80fb5d9de66f0006d0bec530fd1fc69a674" datatype="html">\n        <source>RBD</source>\n        <target>RBD</target>\n      </trans-unit>\n      <trans-unit id="4130b1a836f2000cfe9a11fb62493dc42d444de7" datatype="html">\n        <source>Deep flatten</source>\n        <target>ディープフラット化</target>\n      </trans-unit>\n      <trans-unit id="7b17694d7cb8ecb7c8440bc999dac21b44455b33" datatype="html">\n        <source>Layering</source>\n        <target>階層化</target>\n      </trans-unit>\n      <trans-unit id="6a072ce577c2079d0e0c31071a16824f6d22b84d" datatype="html">\n        <source>Exclusive lock</source>\n        <target>排他ロック</target>\n      </trans-unit>\n      <trans-unit id="7354f01320bf936a7f85577c9f71402635c3a362" datatype="html">\n        <source>Object map (requires exclusive-lock)</source>\n        <target>オブジェクトマップ(排他ロックが必要)</target>\n      </trans-unit>\n      <trans-unit id="fb7e625c1152f1c102cd16460955d124edff1770" datatype="html">\n        <source>Journaling (requires exclusive-lock)</source>\n        <target>ジャーナリング(排他ロックが必要)</target>\n      </trans-unit>\n      <trans-unit id="df4044632bfc211dd96544fc8f007dabbeeb506c" datatype="html">\n        <source>Fast diff (interlocked with object-map)</source>\n        <target>Fast diff (interlocked with object-map)</target>\n      </trans-unit>\n      <trans-unit id="130fd872c78271a8f86b1ab16a76e823969c47d9" datatype="html">\n        <source>Namespace</source>\n        <target>Namespace</target>\n      </trans-unit>\n      <trans-unit id="14abc99daed542774633046c53b6ce8251331141" datatype="html">\n        <source>This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.</source>\n        <target>This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.</target>\n      </trans-unit>\n      <trans-unit id="51699f716cf34e6622ff7bfd84641480c045271a" datatype="html">\n        <source>Created namespace \'\n          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>\'\n        </source>\n        <target>Created namespace \'\n          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="bf44b7d6379ce0198ed3d95a27642a224181bf1d" datatype="html">\n        <source>Total images</source>\n        <target>Total images</target>\n      </trans-unit>\n      <trans-unit id="371ce3ffe62548d15e391a248bc554d903bb03fc" datatype="html">\n        <source>Deleted namespace \'\n          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>\'\n        </source>\n        <target>Deleted namespace \'\n          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="9d704fd00ca929f90c3119cefc581821ae58a73e" datatype="html">\n        <source>Namespace contains images</source>\n        <target>Namespace contains images</target>\n      </trans-unit>\n      <trans-unit id="c2017dc94b4f57a347ccb126e546e88942f4d7a6" datatype="html">\n        <source>RBD Snapshot</source>\n        <target>RBD Snapshot</target>\n      </trans-unit>\n      <trans-unit id="631fc50ec7c9bd81dc797a3c7e09eda1178ad999" datatype="html">\n        <source>Parent image must support Layering</source>\n        <target>Parent image must support Layering</target>\n      </trans-unit>\n      <trans-unit id="cb60c1cd3655234756b5b92d4d597d92d520ee30" datatype="html">\n        <source>PROTECTED</source>\n        <target>PROTECTED</target>\n      </trans-unit>\n      <trans-unit id="deffb86b8fb0541254ad5a43862d82bff6b6a6c4" datatype="html">\n        <source>UNPROTECTED</source>\n        <target>未保護</target>\n      </trans-unit>\n      <trans-unit id="7eb984588f4835f6d0187b33769b4b0f62821640" datatype="html">\n        <source>RBD snapshot rollback</source>\n        <target>RBDスナップショットのロールバック</target>\n      </trans-unit>\n      <trans-unit id="4be22bf20ef82614ed53bcd3b912a85590aa71c9" datatype="html">\n        <source>Rollback</source>\n        <target>ロールバック</target>\n      </trans-unit>\n      <trans-unit id="2a04c483708d261751d62082d6f03a50d4577b1e" datatype="html">\n        <source>RBD snapshot</source>\n        <target>RBDスナップショット</target>\n      </trans-unit>\n      <trans-unit id="fa96769d1ea86741297cb9b9769b0dcfde58c8b4" datatype="html">\n        <source>Deleted At</source>\n        <target>削除日時</target>\n      </trans-unit>\n      <trans-unit id="e928864038ca70ee7d67bbf1fd71a01c3938a127" datatype="html">\n        <source>id</source>\n        <target>id</target>\n      </trans-unit>\n      <trans-unit id="240c9c1e96dc38814922a83ad041dc815b084f32" datatype="html">\n        <source>type</source>\n        <target>タイプ</target>\n      </trans-unit>\n      <trans-unit id="c9d7ec7ee5b4e282f2228fa996651ec4ef5195a9" datatype="html">\n        <source>state</source>\n        <target>状態</target>\n      </trans-unit>\n      <trans-unit id="5780e5c3b4fc2ae07836bb5221cec4f8d597630d" datatype="html">\n        <source>version</source>\n        <target>バージョン</target>\n      </trans-unit>\n      <trans-unit id="fe22ca53e651df951dac25b67c17894b0980f767" datatype="html">\n        <source>Host</source>\n        <target>ホスト</target>\n      </trans-unit>\n      <trans-unit id="fb69299354312c8954ecf324997ccafcd9f6b14b" datatype="html">\n        <source>root</source>\n        <target>ルート</target>\n      </trans-unit>\n      <trans-unit id="d34feb369d308075b423d5c5fc431f9766bf7a11" datatype="html">\n        <source>Evicted client "\n          <x id="INTERPOLATION" equiv-text="{{clientId}}"/>"\n        </source>\n        <target>Evicted client "\n          <x id="INTERPOLATION" equiv-text="{{clientId}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="7db875ff4cc626d394f37fba95c075b2e4bfeb00" datatype="html">\n        <source>Standby daemons</source>\n        <target>スタンバイデーモン</target>\n      </trans-unit>\n      <trans-unit id="3c3a423d91e36ac6624e909fcd2669a25685f847" datatype="html">\n        <source>Rank</source>\n        <target>ランク</target>\n      </trans-unit>\n      <trans-unit id="9596ecae8956e96921acef47aec787f6bdc37454" datatype="html">\n        <source>Daemon</source>\n        <target>デーモン</target>\n      </trans-unit>\n      <trans-unit id="f2005fa461c06dc2e04d8918bbabedf23604b5b7" datatype="html">\n        <source>Activity</source>\n        <target>アクティビティ</target>\n      </trans-unit>\n      <trans-unit id="e3a986984ae0c3b43af648c3fa638649d1c00348" datatype="html">\n        <source>Dentries</source>\n        <target>dエントリ</target>\n      </trans-unit>\n      <trans-unit id="7c692ab865066967d73c6d64ec0691cc6ce91b93" datatype="html">\n        <source>Inodes</source>\n        <target>iノード</target>\n      </trans-unit>\n      <trans-unit id="45f210b96a2a6e91f52f153a4f8dc30662629f8e" datatype="html">\n        <source>Usage</source>\n        <target>使用量</target>\n      </trans-unit>\n      <trans-unit id="950b5f04a2efd3f11c0f76418d5a4212381e792e" datatype="html">\n        <source>Origin</source>\n        <target>Origin</target>\n      </trans-unit>\n      <trans-unit id="2ea2ec95d93fd55d0db6e9d2b95b25e153d4cec2" datatype="html">\n        <source>Max size</source>\n        <target>Max size</target>\n      </trans-unit>\n      <trans-unit id="665dced3a61bca44924a0bde4be47390225a4898" datatype="html">\n        <source>Max files</source>\n        <target>Max files</target>\n      </trans-unit>\n      <trans-unit id="0ccf776baac60794b142526986f3af85848c7059" datatype="html">\n        <source>The inherited \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/> is the maximum value to be used.\n        </source>\n        <target>The inherited \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/> is the maximum value to be used.\n        </target>\n      </trans-unit>\n      <trans-unit id="b0e2ef28384f2de6674cac300c779f900929a89b" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{action}}"/> CephFS \n          <x id="INTERPOLATION_1" equiv-text="{{quotaName}}"/> quota for \'\n          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>\'\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{action}}"/> CephFS \n          <x id="INTERPOLATION_1" equiv-text="{{quotaName}}"/> quota for \'\n          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="542ef638499635dec7641bdc2e499258094187cc" datatype="html">\n        <source>size</source>\n        <target>size</target>\n      </trans-unit>\n      <trans-unit id="ce90ff00c341d8eef96b0e7956bb85b8faba3839" datatype="html">\n        <source>files</source>\n        <target>files</target>\n      </trans-unit>\n      <trans-unit id="fbe8b9340c08c24aef62ffe81c83e2b46a4f1495" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{quotaName}}"/> quota \n          <x id="INTERPOLATION_1" equiv-text="{{value}}"/> from \'\n          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>\'\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{quotaName}}"/> quota \n          <x id="INTERPOLATION_1" equiv-text="{{value}}"/> from \'\n          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="37c2c0a4a356465eef2edfb09ffffc6db5259975" datatype="html">\n        <source>Value has to be at least \n          <x id="INTERPOLATION" equiv-text="{{value}}"/> or more\n        </source>\n        <target>Value has to be at least \n          <x id="INTERPOLATION" equiv-text="{{value}}"/> or more\n        </target>\n      </trans-unit>\n      <trans-unit id="73f8e64703a707e2cf98b9a10653cd3bbdd8cab1" datatype="html">\n        <source>Value has to be at most \n          <x id="INTERPOLATION" equiv-text="{{value}}"/> or less\n        </source>\n        <target>Value has to be at most \n          <x id="INTERPOLATION" equiv-text="{{value}}"/> or less\n        </target>\n      </trans-unit>\n      <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc" datatype="html">\n        <source>Updated</source>\n        <target>更新済み</target>\n      </trans-unit>\n      <trans-unit id="b6a4cf4f302c7fcbec199ce0df42b8282d682b04" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{action}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{quotaValue}}"/>\n          <x id="INTERPOLATION_2" equiv-text="{{conclusion}}"/>.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{action}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{quotaValue}}"/>\n          <x id="INTERPOLATION_2" equiv-text="{{conclusion}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="a40024afb071f68fec949094a71f832d5611bca5" datatype="html">\n        <source>in order to inherit \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>\n        </source>\n        <target>in order to inherit \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="c108ff588291e9c040adea2adf35e7236cf29925" datatype="html">\n        <source>which isn\'t used because of the inheritance of \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>\n        </source>\n        <target>which isn\'t used because of the inheritance of \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="d3785a64d1c72b03b2212855ce695b45ed0342d2" datatype="html">\n        <source>in order to have no quota on the directory</source>\n        <target>in order to have no quota on the directory</target>\n      </trans-unit>\n      <trans-unit id="c4d3a3446a7f36825291c5e76c4a6b7919f9bd2f" datatype="html">\n        <source>Create Snapshot</source>\n        <target>Create Snapshot</target>\n      </trans-unit>\n      <trans-unit id="e9af734e231b837d64df21008e2eb1fdff566a61" datatype="html">\n        <source>Please enter the name of the snapshot.</source>\n        <target>Please enter the name of the snapshot.</target>\n      </trans-unit>\n      <trans-unit id="8c4d3039e6a953b0d6f1b1313ffa60c5d2b35dc7" datatype="html">\n        <source>Created snapshot "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "\n          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"\n        </source>\n        <target>Created snapshot "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "\n          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="126ad894f74ee9a999825f3f4ac5a31fdfc093bf" datatype="html">\n        <source>CephFs Snapshot</source>\n        <target>CephFs Snapshot</target>\n      </trans-unit>\n      <trans-unit id="1e4d1c0865adc485260740c42ac5af68ce8feb13" datatype="html">\n        <source>Deleted snapshot "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "\n          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"\n        </source>\n        <target>Deleted snapshot "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "\n          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="22e4e574b7f8abf58254f328792445b42e2a924a" datatype="html">\n        <source>The value can be updated at runtime.</source>\n        <target>この値は実行時に更新できます。</target>\n      </trans-unit>\n      <trans-unit id="d7770de7b2343c9deeaa7ebf37ba3e35ca5c5988" datatype="html">\n        <source>Daemons/clients do not pull this value from the\n      monitor config database. We disallow setting this option via \'ceph config\n      set ...\'. This option should be configured via ceph.conf or via the\n      command line.</source>\n        <target>デーモン/クライアントはこの値をモニター設定データベースから取得しません。\nこのオプションを「ceph config set ...」を通じて設定することは禁止されています。\nこのオプションは、ceph.confまたはコマンドラインを通じて\n設定する必要があります。</target>\n      </trans-unit>\n      <trans-unit id="83f11fd1dc503c37931ea6c1c5c1e8c2b4b597b6" datatype="html">\n        <source>Option takes effect only during daemon startup.</source>\n        <target>オプションはデーモン始動時のみに有効になります。</target>\n      </trans-unit>\n      <trans-unit id="837a07cd6a971038b8b1aa190c43440c9fdb5d8b" datatype="html">\n        <source>Option only affects cluster creation.</source>\n        <target>オプションはクラスタの作成のみに適用されます。</target>\n      </trans-unit>\n      <trans-unit id="2566a88eb247c918b71cfe5b354c31de0d4b01e5" datatype="html">\n        <source>Option only affects daemon creation.</source>\n        <target>オプションはデーモンの作成のみに適用されます。</target>\n      </trans-unit>\n      <trans-unit id="1cdc60cfc09c257625768f3d2082816cdef27279" datatype="html">\n        <source>Updated config option \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\n        </source>\n        <target>Updated config option \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="d473e0f684a60db45d6f31e993f693f74290e056" datatype="html">\n        <source>Service</source>\n        <target>サービス</target>\n      </trans-unit>\n      <trans-unit id="6986e0df8092d822ac2c076520d83994c78834fc" datatype="html">\n        <source>Modified</source>\n        <target>Modified</target>\n      </trans-unit>\n      <trans-unit id="9951bb3983c7dba6fde013e05c922e4fe1a44367" datatype="html">\n        <source>Current value</source>\n        <target>現行値</target>\n      </trans-unit>\n      <trans-unit id="4a01c175f90dd92b432f4a4a199d2c7bb9d997ff" datatype="html">\n        <source>Editable</source>\n        <target>編集可能</target>\n      </trans-unit>\n      <trans-unit id="261c0af854e8684abc15f89dce6efb3e72344b18" datatype="html">\n        <source>host</source>\n        <target>host</target>\n      </trans-unit>\n      <trans-unit id="b1b381321d4cef04605d3e6e8847ea2b72a03799" datatype="html">\n        <source>Identify</source>\n        <target>Identify</target>\n      </trans-unit>\n      <trans-unit id="a5d5e407f8c4e1b152509c966c90f37edf68472e" datatype="html">\n        <source>Device path</source>\n        <target>Device path</target>\n      </trans-unit>\n      <trans-unit id="b7da3e3505cc80f9bf3cffc8444c53e8a9ec70a5" datatype="html">\n        <source>Available</source>\n        <target>Available</target>\n      </trans-unit>\n      <trans-unit id="396974120fc614fc930a27c8d15a094d82a3a9e4" datatype="html">\n        <source>Vendor</source>\n        <target>Vendor</target>\n      </trans-unit>\n      <trans-unit id="6ec98fa3d6504ba1fd03465194b53706c8263c99" datatype="html">\n        <source>Model</source>\n        <target>Model</target>\n      </trans-unit>\n      <trans-unit id="f2d785f5658c96c6a2f505cdd625108bcece84c3" datatype="html">\n        <source>Identify device \n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\n        </source>\n        <target>Identify device \n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="c97ab45ca09248f8f1ba60328175741657fe39ce" datatype="html">\n        <source>Please enter the duration how long to blink the LED.</source>\n        <target>Please enter the duration how long to blink the LED.</target>\n      </trans-unit>\n      <trans-unit id="87e56ee5057023d7e8b59420b838bad112b043bc" datatype="html">\n        <source>1 minute</source>\n        <target>1 minute</target>\n      </trans-unit>\n      <trans-unit id="affa3b3bf1f36531e5ae65291f8a7cd1b06860ee" datatype="html">\n        <source>2 minutes</source>\n        <target>2 minutes</target>\n      </trans-unit>\n      <trans-unit id="878c6645b7fc26d85c7aee17a9d8c282a938dcf3" datatype="html">\n        <source>5 minutes</source>\n        <target>5 minutes</target>\n      </trans-unit>\n      <trans-unit id="aa0a76140961594b7176ade241e5025a7dbb5dce" datatype="html">\n        <source>10 minutes</source>\n        <target>10 minutes</target>\n      </trans-unit>\n      <trans-unit id="0a7f83a1f27750ef634a1f1f97263fac36113b1f" datatype="html">\n        <source>15 minutes</source>\n        <target>15 minutes</target>\n      </trans-unit>\n      <trans-unit id="699b690d686dbb8e00a1e95b89ba2fffb548da6e" datatype="html">\n        <source>Execute</source>\n        <target>Execute</target>\n      </trans-unit>\n      <trans-unit id="aa975a86dd49979a3ae90b9f3fc5b2c97311d422" datatype="html">\n        <source>Identifying \'\n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\' started on host \'\n          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>\'\n        </source>\n        <target>Identifying \'\n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\' started on host \'\n          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="1a6e6ad05508130b7a99ce5b15daf3227c2a930c" datatype="html">\n        <source>Updated options for module "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>".\n        </source>\n        <target>Updated options for module "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="6bd47ff8707aa2e6a94a4a6e2566b86dc7956d5f" datatype="html">\n        <source>Always-On</source>\n        <target>Always-On</target>\n      </trans-unit>\n      <trans-unit id="ac6c9212896d39b23811ed2dadab7d07336ec559" datatype="html">\n        <source>Enable</source>\n        <target>有効化</target>\n      </trans-unit>\n      <trans-unit id="6766a926d80bb7763785621098dae459d6226429" datatype="html">\n        <source>Disable</source>\n        <target>無効化</target>\n      </trans-unit>\n      <trans-unit id="340f2f312c2eb353e5cd69aee6bee7f5a73c34ac" datatype="html">\n        <source>This Manager module is always on.</source>\n        <target>This Manager module is always on.</target>\n      </trans-unit>\n      <trans-unit id="6a0b3657745dd7a2f2162f1cc790bf9004d0845d" datatype="html">\n        <source>Reconnecting, please wait ...</source>\n        <target>再接続していますので、しばらくお待ちください...</target>\n      </trans-unit>\n      <trans-unit id="7099a8878af7a0a26fe5663c4f46cfe87142b75d" datatype="html">\n        <source>Public Address</source>\n        <target>パブリックアドレス</target>\n      </trans-unit>\n      <trans-unit id="cbdd1cdc0c7a87f55dd177bc44212f0fc4b80852" datatype="html">\n        <source>Open Sessions</source>\n        <target>セッションの開始</target>\n      </trans-unit>\n      <trans-unit id="34c6f45591d420b1101dcee53999d1de91c0e400" datatype="html">\n        <source>No available devices</source>\n        <target>No available devices</target>\n      </trans-unit>\n      <trans-unit id="dcfe8807a2a1d0d7074a02afe9b80645bd03b9ab" datatype="html">\n        <source>Please add primary devices first</source>\n        <target>Please add primary devices first</target>\n      </trans-unit>\n      <trans-unit id="05d024719e53f85f7f294b7e21dfd805709a0b06" datatype="html">\n        <source>Add devices by using filters</source>\n        <target>Add devices by using filters</target>\n      </trans-unit>\n      <trans-unit id="37e58d1cbdf8212b380efa51422e42821d4f08e6" datatype="html">\n        <source>No In</source>\n        <target>インなし</target>\n      </trans-unit>\n      <trans-unit id="12706eb5af17ff5ad77b3de21af368d24678e00b" datatype="html">\n        <source>OSDs that were previously marked out will not be marked back in when they start</source>\n        <target>以前にアウトとしてマークされたOSDは、それらの始動時にインとしてマークされることはありません</target>\n      </trans-unit>\n      <trans-unit id="96114d7624d11dc90ca46cfa96145fe22118df76" datatype="html">\n        <source>No Out</source>\n        <target>アウトなし</target>\n      </trans-unit>\n      <trans-unit id="a2ef636fe1ddd56b63e4aaf3d292f33dbf735ef3" datatype="html">\n        <source>OSDs will not automatically be marked out after the configured interval</source>\n        <target>OSDは、設定済みの間隔が経過した後に自動的にアウトとしてマークされます</target>\n      </trans-unit>\n      <trans-unit id="ee50aefa9b8bde1e5429b48709a23abfe08358e0" datatype="html">\n        <source>No Up</source>\n        <target>アップなし</target>\n      </trans-unit>\n      <trans-unit id="608929b939307e397586a98cea52ae38997c7273" datatype="html">\n        <source>OSDs are not allowed to start</source>\n        <target>OSDを始動することは許可されていません</target>\n      </trans-unit>\n      <trans-unit id="1751ab69c1e7f62927afedbf7116e0116316c551" datatype="html">\n        <source>No Down</source>\n        <target>ダウンなし</target>\n      </trans-unit>\n      <trans-unit id="41fac86dfb65c1db690f3e87f6497cb73b281084" datatype="html">\n        <source>OSD failure reports are being ignored, such that the monitors will not mark OSDs down</source>\n        <target>OSDの障害レポートは無視されているため、OSDはモニターによってダウンとしてマークされません</target>\n      </trans-unit>\n      <trans-unit id="b2838c6165a9672a17db188f4dd9676574353dd8" datatype="html">\n        <source>Pause</source>\n        <target>一時停止</target>\n      </trans-unit>\n      <trans-unit id="191d71dadcc8790573d46706a0b48211de4b8334" datatype="html">\n        <source>Pauses reads and writes</source>\n        <target>読み取りと書き込みを一時停止します</target>\n      </trans-unit>\n      <trans-unit id="471d5ba75836f38c19992cf83d8822632d99e473" datatype="html">\n        <source>No Scrub</source>\n        <target>スクラブなし</target>\n      </trans-unit>\n      <trans-unit id="5b8caa61814121bc36dac0c34a9e9de3cae74990" datatype="html">\n        <source>Scrubbing is disabled</source>\n        <target>スクラブ処理は無効化されています</target>\n      </trans-unit>\n      <trans-unit id="7f29a0ac1c797bdc0347dd5d0734ba83e96e7ce6" datatype="html">\n        <source>No Deep Scrub</source>\n        <target>ディープスクラブなし</target>\n      </trans-unit>\n      <trans-unit id="01da61ab216541a8d31259cebd16b10c7e5fc124" datatype="html">\n        <source>Deep Scrubbing is disabled</source>\n        <target>ディープスクラブ処理は無効化されています</target>\n      </trans-unit>\n      <trans-unit id="0b86c7f18ac725de62c7e192dcfccd02c0dc40ab" datatype="html">\n        <source>No Backfill</source>\n        <target>バックフィルなし</target>\n      </trans-unit>\n      <trans-unit id="bd33a2bdc8fbed3b7469f3717c16d9aaa2851fdd" datatype="html">\n        <source>Backfilling of PGs is suspended</source>\n        <target>配置グループのバックフィルは中断されています</target>\n      </trans-unit>\n      <trans-unit id="df526de2b93c4099a30c200ef551608e39ee5256" datatype="html">\n        <source>No Rebalance</source>\n        <target>No Rebalance</target>\n      </trans-unit>\n      <trans-unit id="c5b70346245f8d52b58e5e7fe222ce82f12429ce" datatype="html">\n        <source>OSD will choose not to backfill unless PG is also degraded</source>\n        <target>OSD will choose not to backfill unless PG is also degraded</target>\n      </trans-unit>\n      <trans-unit id="7fbbd036394cfa623add40299757bc87df8eaa7e" datatype="html">\n        <source>No Recover</source>\n        <target>回復なし</target>\n      </trans-unit>\n      <trans-unit id="f3ee9b451a64dca47299c9b4ae1091c2008068ad" datatype="html">\n        <source>Recovery of PGs is suspended</source>\n        <target>配置グループの回復は中断されています</target>\n      </trans-unit>\n      <trans-unit id="de904148fe7e8d812218f50333ffe247900617c5" datatype="html">\n        <source>Bitwise Sort</source>\n        <target>ビット単位のソート</target>\n      </trans-unit>\n      <trans-unit id="2613c9fde29785bcd75f0abeccb653d14d7527b3" datatype="html">\n        <source>Use bitwise sort</source>\n        <target>ビット単位のソートを使用する</target>\n      </trans-unit>\n      <trans-unit id="2fe10d84250aeee365db244251d40934c70ff1e9" datatype="html">\n        <source>Purged Snapdirs</source>\n        <target>消去されたスナップディレクトリ</target>\n      </trans-unit>\n      <trans-unit id="6b22a5b780eda3c5d500cdac9c6d4f96978c38f1" datatype="html">\n        <source>OSDs have converted snapsets</source>\n        <target>OSDによってスナップセットが変換されました</target>\n      </trans-unit>\n      <trans-unit id="c42f0ba60564dc5b977a8c7f3fdcde9efbb39c60" datatype="html">\n        <source>Recovery Deletes</source>\n        <target>回復の削除</target>\n      </trans-unit>\n      <trans-unit id="72fe39979198ea2ed6db6274b5029025cb316d90" datatype="html">\n        <source>Deletes performed during recovery instead of peering</source>\n        <target>ピアリングの代わりに回復時に削除が実行されました</target>\n      </trans-unit>\n      <trans-unit id="1bb4a1f9127cefe624c173557a716d0ebb6d647c" datatype="html">\n        <source>PG Log Hard Limit</source>\n        <target>配置グループログのハード制限</target>\n      </trans-unit>\n      <trans-unit id="e03c0321397fdf7a9c22e8d6b5015424943c0a57" datatype="html">\n        <source>Puts a hard limit on pg log length</source>\n        <target>配置グループログ長のハード制限を適用します</target>\n      </trans-unit>\n      <trans-unit id="3c384e2e80c6b5eb24861fbf4225b69486cff4a3" datatype="html">\n        <source>Updated OSD Flags</source>\n        <target>OSDフラグを更新しました</target>\n      </trans-unit>\n      <trans-unit id="948758e1412bb2ecdb98e3a4f1cbb6d7458456f2" datatype="html">\n        <source>Encryption</source>\n        <target>Encryption</target>\n      </trans-unit>\n      <trans-unit id="c8b1475105463088593de1022ff6dceb523eae0e" datatype="html">\n        <source>OSD</source>\n        <target>OSD</target>\n      </trans-unit>\n      <trans-unit id="688578fcc739d6f0c5fb6c366dbb19d21c6d9e36" datatype="html">\n        <source>out</source>\n        <target>アウト</target>\n      </trans-unit>\n      <trans-unit id="cb0f69bdd4dea41d7d45c74b6e07f98de8a2ab26" datatype="html">\n        <source>in</source>\n        <target>イン</target>\n      </trans-unit>\n      <trans-unit id="b5fbc7c7f007dd53b2318525bb7ff8b0376c9e37" datatype="html">\n        <source>down</source>\n        <target>ダウン</target>\n      </trans-unit>\n      <trans-unit id="b58719bcb9184e1a7884d00d22d10899d59bf295" datatype="html">\n        <source>Mark</source>\n        <target>マーク</target>\n      </trans-unit>\n      <trans-unit id="31a1c1aa03f1e5084750bedb4e3fdc04ce2cb6ca" datatype="html">\n        <source>OSD lost</source>\n        <target>喪失したOSD</target>\n      </trans-unit>\n      <trans-unit id="f3fc4c85c5b8f1dedea0496b72d0af9da7b9e0d9" datatype="html">\n        <source>marked lost</source>\n        <target>喪失としてマーク済み</target>\n      </trans-unit>\n      <trans-unit id="40fedc157ad899a18ec40573f770d18b040959d2" datatype="html">\n        <source>Purge</source>\n        <target>消去</target>\n      </trans-unit>\n      <trans-unit id="4f3cff08c7033b63bbccfe66006b1bcaea48ddd8" datatype="html">\n        <source>purged</source>\n        <target>消去済み</target>\n      </trans-unit>\n      <trans-unit id="8e5d1b01eca6dce26a4751f0b19bda7a6ab8db5b" datatype="html">\n        <source>destroy</source>\n        <target>破棄</target>\n      </trans-unit>\n      <trans-unit id="495a06b78bf165a7b545fa002137f0846b094a3d" datatype="html">\n        <source>destroyed</source>\n        <target>破棄済み</target>\n      </trans-unit>\n      <trans-unit id="70ef158c584bafe788e319a0bffa11b02ee9abf1" datatype="html">\n        <source>delete</source>\n        <target>削除</target>\n      </trans-unit>\n      <trans-unit id="a5b387f5a15b95e339df10fc23526c659a2b6c6f" datatype="html">\n        <source>deleted</source>\n        <target>deleted</target>\n      </trans-unit>\n      <trans-unit id="107614b994f2b01abdc1ca179bf780b0cd933ec4" datatype="html">\n        <source>Recovery Priority</source>\n        <target>Recovery Priority</target>\n      </trans-unit>\n      <trans-unit id="359dad5a3a912ef9dece3194035020856805aa96" datatype="html">\n        <source>PG scrub</source>\n        <target>PG scrub</target>\n      </trans-unit>\n      <trans-unit id="953144c420c2e5abd02e6a687433eac60fa852bd" datatype="html">\n        <source>PGs</source>\n        <target>配置グループ数</target>\n      </trans-unit>\n      <trans-unit id="7d3523ea9d35c274cef84043de8a2fdde540a9a1" datatype="html">\n        <source>Read bytes</source>\n        <target>読み取りバイト数</target>\n      </trans-unit>\n      <trans-unit id="f15bf7f588f09ca79795b17bc244e8d336f28171" datatype="html">\n        <source>Write bytes</source>\n        <target>書き込みバイト数</target>\n      </trans-unit>\n      <trans-unit id="f3c33322823c846b13f59ba2c8f234405bba99e1" datatype="html">\n        <source>Read ops</source>\n        <target>読み取り操作数</target>\n      </trans-unit>\n      <trans-unit id="7e0b24a17546cbfab48b03dc874461d1ca68bc9a" datatype="html">\n        <source>Write ops</source>\n        <target>書き込み操作数</target>\n      </trans-unit>\n      <trans-unit id="b27d1dd31789610130b7cdbf88c4da552cffe936" datatype="html">\n        <source>Edit OSD: \n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\n        </source>\n        <target>Edit OSD: \n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="986f1379580078e77666d10f8ddf4f839c6ca71d" datatype="html">\n        <source>Edit OSD</source>\n        <target>Edit OSD</target>\n      </trans-unit>\n      <trans-unit id="a4b09e2fa39c3e4f1a387f191fbae4eea3ce7bf5" datatype="html">\n        <source>Updated OSD "\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>"\n        </source>\n        <target>Updated OSD "\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="d45455406092f58e6b089cb440b5b7934b801a01" datatype="html">\n        <source>Mark OSD \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </source>\n        <target>Mark OSD \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="de0b7806e451b3b3dbd564decba59981fe781c18" datatype="html">\n        <source>Mark \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </source>\n        <target>Mark \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="bba1d3bb4f8a47aa2b3068e242562196eadb1e83" datatype="html">\n        <source>PG scrub options</source>\n        <target>PG scrub options</target>\n      </trans-unit>\n      <trans-unit id="b0b7748ebc9b7a6942a8cac4a89d4b215b365878" datatype="html">\n        <source>Updated PG scrub options</source>\n        <target>Updated PG scrub options</target>\n      </trans-unit>\n      <trans-unit id="4edc2162af0bd6cd941eaf730d20a7e3b5a83ba7" datatype="html">\n        <source>Max Backfills</source>\n        <target>最大バックフィル数</target>\n      </trans-unit>\n      <trans-unit id="eb5e6c24a48a1dfe23e0a772b762be5e949c0c8a" datatype="html">\n        <source>Recovery Max Active</source>\n        <target>回復最大アクティブ</target>\n      </trans-unit>\n      <trans-unit id="4a23c6d3859e03184118620d2baeb736ac765fbf" datatype="html">\n        <source>Recovery Max Single Start</source>\n        <target>回復最大単一始動</target>\n      </trans-unit>\n      <trans-unit id="97049169ef5228fd1724de2fcdad1fec2858eaf8" datatype="html">\n        <source>Recovery Sleep</source>\n        <target>回復スリープ</target>\n      </trans-unit>\n      <trans-unit id="89553524f4e7db5c437b07dcfdc7b831d56ded1a" datatype="html">\n        <source>Updated OSD recovery speed priority "\n          <x id="INTERPOLATION" equiv-text="{{value}}"/>"\n        </source>\n        <target>Updated OSD recovery speed priority "\n          <x id="INTERPOLATION" equiv-text="{{value}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="ccf5f30798c03d2d8efd0e6eb508320c018b722d" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{operation}}"/> was initialized in the following OSD(s): \n          <x id="INTERPOLATION_1" equiv-text="{{id}}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{operation}}"/> was initialized in the following OSD(s): \n          <x id="INTERPOLATION_1" equiv-text="{{id}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="3bc2d18913479965cb046ec75e2ac3f7b7a77ce5" datatype="html">\n        <source>Create Silence</source>\n        <target>Create Silence</target>\n      </trans-unit>\n      <trans-unit id="78917e8031aaf913ac3fa63295325ce8879703ce" datatype="html">\n        <source>Job</source>\n        <target>ジョブ</target>\n      </trans-unit>\n      <trans-unit id="94287619205068b591c18493c64781424864c259" datatype="html">\n        <source>Severity</source>\n        <target>重大度</target>\n      </trans-unit>\n      <trans-unit id="e6cfbe0c5e0302ba2cec22315f6a28f8ac46b651" datatype="html">\n        <source>Started</source>\n        <target>始動済み</target>\n      </trans-unit>\n      <trans-unit id="801b98c6f02fe3b32f6afa3ee854c99ed83474e6" datatype="html">\n        <source>URL</source>\n        <target>URL</target>\n      </trans-unit>\n      <trans-unit id="d9f726c70aeba7fa6d3d68bff718abe78b1e50ac" datatype="html">\n        <source>Query</source>\n        <target>Query</target>\n      </trans-unit>\n      <trans-unit id="a5cd682a8a33bdc72e093d059429e3cc3a50ec1d" datatype="html">\n        <source>silence</source>\n        <target>silence</target>\n      </trans-unit>\n      <trans-unit id="f557e117e059e7036c6eecacd325a6ae35d866e0" datatype="html">\n        <source>Attribute name</source>\n        <target>Attribute name</target>\n      </trans-unit>\n      <trans-unit id="50f7f517ad8158667f7d4e2bd6f3256e05156e75" datatype="html">\n        <source>Regular expression</source>\n        <target>Regular expression</target>\n      </trans-unit>\n      <trans-unit id="81b1eab399c47110d50f45e3ccb4c009de7cb581" datatype="html">\n        <source>Please add your Prometheus host to the dashboard configuration and refresh the page</source>\n        <target>Please add your Prometheus host to the dashboard configuration and refresh the page</target>\n      </trans-unit>\n      <trans-unit id="29b4ae3296e239446fa0dea88a5112de15cffa54" datatype="html">\n        <source>Created by</source>\n        <target>Created by</target>\n      </trans-unit>\n      <trans-unit id="8d833cceee0ba4c5161b130365e02bc1e129b57e" datatype="html">\n        <source>Ends</source>\n        <target>Ends</target>\n      </trans-unit>\n      <trans-unit id="46a11ff4289e8c88b1b7a935f8d8ee704055f11a" datatype="html">\n        <source>Silence</source>\n        <target>Silence</target>\n      </trans-unit>\n      <trans-unit id="f2ea47d702c7f5e3e5fa751bf9959e21030b72e6" datatype="html">\n        <source>Daemon type</source>\n        <target>Daemon type</target>\n      </trans-unit>\n      <trans-unit id="6c131968e6ab730d86443e6fc11c5cc2a76d7bac" datatype="html">\n        <source>Daemon ID</source>\n        <target>Daemon ID</target>\n      </trans-unit>\n      <trans-unit id="5738f0ca7ddd9594058ce051b1d5d576e2782825" datatype="html">\n        <source>Container ID</source>\n        <target>Container ID</target>\n      </trans-unit>\n      <trans-unit id="78ebcf850cd440c5efc15e6a3a522ae75aeff669" datatype="html">\n        <source>Container Image name</source>\n        <target>Container Image name</target>\n      </trans-unit>\n      <trans-unit id="ea0c7ab9a7bdf646d494abf8c85fbf67d934d079" datatype="html">\n        <source>Container Image ID</source>\n        <target>Container Image ID</target>\n      </trans-unit>\n      <trans-unit id="bf2468fd965b8a59c135ad549b3a612aa9873abc" datatype="html">\n        <source>Status Description</source>\n        <target>Status Description</target>\n      </trans-unit>\n      <trans-unit id="19867330bdc84096f5a93ab087a1766476c8a074" datatype="html">\n        <source>Last Refreshed</source>\n        <target>Last Refreshed</target>\n      </trans-unit>\n      <trans-unit id="2349ee2027ab6ceb3e4b8834928562075b7e1ac7" datatype="html">\n        <source>Container image name</source>\n        <target>Container image name</target>\n      </trans-unit>\n      <trans-unit id="3c475503fb93338811af6b3d9ccacca1d7334609" datatype="html">\n        <source>Container image ID</source>\n        <target>Container image ID</target>\n      </trans-unit>\n      <trans-unit id="8dd15f6c73c05a8b0bd7b6d416487ab6570b88c8" datatype="html">\n        <source>Running</source>\n        <target>Running</target>\n      </trans-unit>\n      <trans-unit id="fb2e1bed329dc5b84197808c778abb9edcbdb335" datatype="html">\n        <source>Used</source>\n        <target>使用済み</target>\n      </trans-unit>\n      <trans-unit id="4f1ab04d9100fb0df0e62b921ec46ae052ae29fc" datatype="html">\n        <source>Avail.</source>\n        <target>使用可能</target>\n      </trans-unit>\n      <trans-unit id="a1c9b3d4fa67450fe9afd1d726f8a1bd91d990ea" datatype="html">\n        <source>Clean</source>\n        <target>クリーン</target>\n      </trans-unit>\n      <trans-unit id="0054f5460090d6dde385e8f099d598df5d28cf54" datatype="html">\n        <source>Working</source>\n        <target>動作中</target>\n      </trans-unit>\n      <trans-unit id="a8059e31694578c1b0344a76a345357dd60e8f01" datatype="html">\n        <source>Warning</source>\n        <target>警告</target>\n      </trans-unit>\n      <trans-unit id="e5d8bb389c702588877f039d72178f219453a72d" datatype="html">\n        <source>Unknown</source>\n        <target>不明</target>\n      </trans-unit>\n      <trans-unit id="88155be1b9b9c6140d6e8f93bac4a775cfdc6671" datatype="html">\n        <source>Healthy</source>\n        <target>Healthy</target>\n      </trans-unit>\n      <trans-unit id="8a3aec4dc1a6e2d4c612ae85e0537acbb20a0f85" datatype="html">\n        <source>Misplaced</source>\n        <target>Misplaced</target>\n      </trans-unit>\n      <trans-unit id="ee81f9bf7ceac69712e0b83e8adc268739f9673e" datatype="html">\n        <source>Degraded</source>\n        <target>Degraded</target>\n      </trans-unit>\n      <trans-unit id="14625bc4025daef1969777a67a3cca27e0cd9167" datatype="html">\n        <source>Unfound</source>\n        <target>Unfound</target>\n      </trans-unit>\n      <trans-unit id="8f23ea509d081c2f747d083d44608dbf125b2ea2" datatype="html">\n        <source>replicas</source>\n        <target>replicas</target>\n      </trans-unit>\n      <trans-unit id="129a2224e1f9d19eb5e11e2a07fe10a785556484" datatype="html">\n        <source>up</source>\n        <target>アップ</target>\n      </trans-unit>\n      <trans-unit id="d5f29cf0af691726483262d647eb6622be002512" datatype="html">\n        <source>no filesystems</source>\n        <target>ファイルシステムがありません</target>\n      </trans-unit>\n      <trans-unit id="b1c4387ffab06f3fa9fdb4411aea955595538d44" datatype="html">\n        <source>active</source>\n        <target>アクティブ</target>\n      </trans-unit>\n      <trans-unit id="1aaf7054d826f2cb05ec3e88a5a4b8116861e1f5" datatype="html">\n        <source>standby</source>\n        <target>スタンバイ</target>\n      </trans-unit>\n      <trans-unit id="c9a1080024dca344a48acdb77fa2d54e059f7254" datatype="html">\n        <source>n/a</source>\n        <target>なし</target>\n      </trans-unit>\n      <trans-unit id="84a1787b6df375847c70f782861d7e7f8f43bff4" datatype="html">\n        <source>active daemon</source>\n        <target>アクティブデーモン</target>\n      </trans-unit>\n      <trans-unit id="24407dc2ebfafaf6b131ee978683b893c3f1d763" datatype="html">\n        <source>quorum</source>\n        <target>定数</target>\n      </trans-unit>\n      <trans-unit id="2fa50bc07995c6ea660412294298ded39fcb08d9" datatype="html">\n        <source>The NFS Ganesha service is not configured.</source>\n        <target>NFS Ganeshaサービスが設定されていません。</target>\n      </trans-unit>\n      <trans-unit id="af1396bdc49f45ea6c4a1e414769f5e2a382c834" datatype="html">\n        <source>Transport</source>\n        <target>トランスポート</target>\n      </trans-unit>\n      <trans-unit id="b6a0e176d96c4feed2e975a039c044fcf822e152" datatype="html">\n        <source>CephFS User</source>\n        <target>CephFSユーザ</target>\n      </trans-unit>\n      <trans-unit id="44dc610cf201a163e8c38da810acec9596930bb3" datatype="html">\n        <source>CephFS Filesystem</source>\n        <target>CephFSファイルシステム</target>\n      </trans-unit>\n      <trans-unit id="db6dc7124be83c7055cb0f2719e31f2f9d46fd3d" datatype="html">\n        <source>(inherited from global config)</source>\n        <target>(グローバル設定から継承)</target>\n      </trans-unit>\n      <trans-unit id="e1f97bb86f991553ec7b535cb39e7eaa99dfcfe2" datatype="html">\n        <source>inherited from global config</source>\n        <target>グローバル設定から継承されました</target>\n      </trans-unit>\n      <trans-unit id="e751800766277e7c2edd652cec7a7a1a68a37852" datatype="html">\n        <source>-- Select what kind of user id squashing is performed --</source>\n        <target>-- 実行されるユーザIDスカッシュ操作を選択してください --</target>\n      </trans-unit>\n      <trans-unit id="4b58387f911e8a7b135a0c4d76c70335c65bbb32" datatype="html">\n        <source>There are no daemons available.</source>\n        <target>使用可能なデーモンがありません。</target>\n      </trans-unit>\n      <trans-unit id="18ae8dc1264f06df7ea251175ada2ac1b8401018" datatype="html">\n        <source>NFS export</source>\n        <target>NFS export</target>\n      </trans-unit>\n      <trans-unit id="c56d51748965db5f3966cd1d06a1c9f4b5244931" datatype="html">\n        <source>Crush Rule</source>\n        <target>Crush Rule</target>\n      </trans-unit>\n      <trans-unit id="ae128527ec18892f812a62a1fd15dc50a38060c0" datatype="html">\n        <source>EC Profile</source>\n        <target>EC Profile</target>\n      </trans-unit>\n      <trans-unit id="60fb10c145f9c7ede2b9ddf9b2b0b0f6191d0ebd" datatype="html">\n        <source>Cache Mode</source>\n        <target>キャッシュモード</target>\n      </trans-unit>\n      <trans-unit id="fa5bfad31d4139f6871443bb74324ffda5cad3e6" datatype="html">\n        <source>Min Evict Age</source>\n        <target>退去までの最小経過時間</target>\n      </trans-unit>\n      <trans-unit id="fd0eb851666df45c34c76fabcda79b0d77bc910b" datatype="html">\n        <source>Min Flush Age</source>\n        <target>消去までの最小経過時間</target>\n      </trans-unit>\n      <trans-unit id="cb54d2c420a534cee0c308ea5589f8c394ef8d67" datatype="html">\n        <source>Target Max Bytes</source>\n        <target>ターゲットの最大バイト数</target>\n      </trans-unit>\n      <trans-unit id="07f4ebe6615dca466818ffdae2a69ee217d265fb" datatype="html">\n        <source>Target Max Objects</source>\n        <target>ターゲットの最大オブジェクト数</target>\n      </trans-unit>\n      <trans-unit id="eaa8f4df53cf7fa78d078e20a701d10f3dccd77d" datatype="html">\n        <source>No applications added</source>\n        <target>アプリケーションは追加されていません</target>\n      </trans-unit>\n      <trans-unit id="321c2a7640f11177ea49b0857b94c4b70830c0e6" datatype="html">\n        <source>Applications limit reached</source>\n        <target>アプリケーション数の上限に達しました</target>\n      </trans-unit>\n      <trans-unit id="519d27742b74fadc8336777452f78891e98aa1dc" datatype="html">\n        <source>A pool can only have up to four applications definitions.</source>\n        <target>1つのプールは最大で4つのアプリケーション定義しか保有できません。</target>\n      </trans-unit>\n      <trans-unit id="b5bec3813f0d45daa7eb9471272969e1bc3e734e" datatype="html">\n        <source>Allowed characters \'_a-zA-Z0-9\'</source>\n        <target>使用可能な文字「_a-zA-Z0-9」</target>\n      </trans-unit>\n      <trans-unit id="807472d29602a0085bce62e534bd66208982c2e2" datatype="html">\n        <source>Maximum length is 128 characters</source>\n        <target>最大長は128文字です</target>\n      </trans-unit>\n      <trans-unit id="37785748b9ac9ad1d3e4b111ac502c3284afe84b" datatype="html">\n        <source>Filter or add applications</source>\n        <target>アプリケーションのフィルタリングまたは追加</target>\n      </trans-unit>\n      <trans-unit id="38c7b8610ca87835e13eeee6a09ba1c414cd5cb9" datatype="html">\n        <source>Add application</source>\n        <target>アプリケーションの追加</target>\n      </trans-unit>\n      <trans-unit id="db8c42f077700d8a94619fad9f4c94b7361d5f1d" datatype="html">\n        <source>pool</source>\n        <target>pool</target>\n      </trans-unit>\n      <trans-unit id="65bb2be83261bc4798853bbccdedc110c43feea7" datatype="html">\n        <source>erasure code profile</source>\n        <target>イレイジャコードプロファイル</target>\n      </trans-unit>\n      <trans-unit id="ae48e19a9a2acaca4b5ea594451bc9b0b01ec8d2" datatype="html">\n        <source>crush rule</source>\n        <target>crush rule</target>\n      </trans-unit>\n      <trans-unit id="112d356ad6846959ca4aa5ec9a1f0d9d473b24ec" datatype="html">\n        <source>Replica Size</source>\n        <target>レプリカサイズ</target>\n      </trans-unit>\n      <trans-unit id="ec50492db341fa752b023d8c924601286b6c9c0c" datatype="html">\n        <source>Last Change</source>\n        <target>最後の変更</target>\n      </trans-unit>\n      <trans-unit id="563a8c136a9d423bc7ae1269a404d6da5fd83dad" datatype="html">\n        <source>Erasure Coded Profile</source>\n        <target>イレイジャコード化済みプロファイル</target>\n      </trans-unit>\n      <trans-unit id="0ad7f0662956cff61ac1208f92b1a0305b1b2e58" datatype="html">\n        <source>Crush Ruleset</source>\n        <target>Crushルールセット</target>\n      </trans-unit>\n      <trans-unit id="bcc365a084b6145b941b371bd4c2b6c3d2c79234" datatype="html">\n        <source>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</source>\n        <target>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</target>\n      </trans-unit>\n      <trans-unit id="44939fd05cedfd077db886528b755e77d5fa3885" datatype="html">\n        <source>bucket</source>\n        <target>バケット</target>\n      </trans-unit>\n      <trans-unit id="84fee774286ec4191311f1277075455c3ea5e2e2" datatype="html">\n        <source>Updated Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>".\n        </source>\n        <target>Updated Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="2d7a43674f0bbc131c9e555ec16ac37fa0445d76" datatype="html">\n        <source>Created Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>"\n        </source>\n        <target>Created Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="ec40d74ecfb1d6d60455af6805c9a714a3f5750a" datatype="html">\n        <source>buckets</source>\n        <target>バケット数</target>\n      </trans-unit>\n      <trans-unit id="764585d5595bac113582ee14a6fd07006770ceb1" datatype="html">\n        <source>capability</source>\n        <target>capability</target>\n      </trans-unit>\n      <trans-unit id="0914cbe18bae204217e1851be6d2d24d86e74605" datatype="html">\n        <source>user</source>\n        <target>ユーザ</target>\n      </trans-unit>\n      <trans-unit id="d8c86dc5e48a63590d9c94e19f90b5f8325cbd49" datatype="html">\n        <source>subuser</source>\n        <target>subuser</target>\n      </trans-unit>\n      <trans-unit id="f45a3de8a8b40d161cc36a55d77548a27107ca04" datatype="html">\n        <source>S3 Key</source>\n        <target>S3 Key</target>\n      </trans-unit>\n      <trans-unit id="854a763265e92f91ba3ccee1a0e8d823be584f7c" datatype="html">\n        <source>Updated Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </source>\n        <target>Updated Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="84ab3fd641e65e39cffee0ec722a059ed284229e" datatype="html">\n        <source>Created Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </source>\n        <target>Created Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="7c7f4be7b726e61c577e63842a58d9e435f7c597" datatype="html">\n        <source>users</source>\n        <target>ユーザ数</target>\n      </trans-unit>\n      <trans-unit id="9f7760223efd77806f1bbaf963e6993bb4bc6a0a" datatype="html">\n        <source>Swift Key</source>\n        <target>Swift Key</target>\n      </trans-unit>\n      <trans-unit id="6462d8f12b427c29363f00b12f20f566be24937c" datatype="html">\n        <source>Device ID</source>\n        <target>Device ID</target>\n      </trans-unit>\n      <trans-unit id="82f12bf23db4bb82db89877bebe93954bc1c8fb0" datatype="html">\n        <source>State of Health</source>\n        <target>State of Health</target>\n      </trans-unit>\n      <trans-unit id="7bd34bd120146afef0e0d8fa168d9bdabd594b6a" datatype="html">\n        <source>Good</source>\n        <target>Good</target>\n      </trans-unit>\n      <trans-unit id="31c59dce114ec0a9d02552ef7b81920b3de36793" datatype="html">\n        <source>Bad</source>\n        <target>Bad</target>\n      </trans-unit>\n      <trans-unit id="2862af5284f66d4b06bdcf77a5519141723b6989" datatype="html">\n        <source>Stale</source>\n        <target>Stale</target>\n      </trans-unit>\n      <trans-unit id="8d8e819b52984a4fbdec75a99eb28d1ae4323bbc" datatype="html">\n        <source>Life Expectancy</source>\n        <target>Life Expectancy</target>\n      </trans-unit>\n      <trans-unit id="72d9b15be18ea063e78c4e855b9e8c0af95593ef" datatype="html">\n        <source>Prediction Creation Date</source>\n        <target>Prediction Creation Date</target>\n      </trans-unit>\n      <trans-unit id="a6b4ef85e5ff8bd192751c7bbebc54c46118d6d4" datatype="html">\n        <source>Device Name</source>\n        <target>Device Name</target>\n      </trans-unit>\n      <trans-unit id="d5fd840374ca1a6f394bcd81f390a6dca27f8224" datatype="html">\n        <source>An error with error code \n          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.\n        </source>\n        <target>An error with error code \n          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.\n        </target>\n      </trans-unit>\n      <trans-unit id="a0b59d7139692bb8d8ed786b6eb6e9e70ce743f3" datatype="html">\n        <source>Raw</source>\n        <target>Raw</target>\n      </trans-unit>\n      <trans-unit id="2f3beddc8234b30fb26a7f63ba2f1ea74f2ed6f7" datatype="html">\n        <source>Threshold</source>\n        <target>Threshold</target>\n      </trans-unit>\n      <trans-unit id="4654b5a68af3c8bad29aa14ca85ccea1f3143c6b" datatype="html">\n        <source>When Failed</source>\n        <target>When Failed</target>\n      </trans-unit>\n      <trans-unit id="5b7f56d5be49fb8e8d8f40209d6746f8f72e9177" datatype="html">\n        <source>Worst</source>\n        <target>Worst</target>\n      </trans-unit>\n      <trans-unit id="1481b8488e10dbc437accce89d2ae35a0106e8ba" datatype="html">\n        <source>Scope</source>\n        <target>範囲</target>\n      </trans-unit>\n      <trans-unit id="9b1d5e95f6bdcfb4b737413f5fa157e0dcb103d5" datatype="html">\n        <source>Read</source>\n        <target>読み取り</target>\n      </trans-unit>\n      <trans-unit id="70a67e04629f6d412db0a12d51820b480788d795" datatype="html">\n        <source>Create</source>\n        <target>作成</target>\n      </trans-unit>\n      <trans-unit id="dc4fba275819619ee78e8eae14d357ea69ba7477" datatype="html">\n        <source>role</source>\n        <target>role</target>\n      </trans-unit>\n      <trans-unit id="fe6ee93173884201ec62d62ba173c3de85ae177e" datatype="html">\n        <source>Created role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Created role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="41c032df0732f4318f8213fabd0719ac347d4b6c" datatype="html">\n        <source>Updated role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Updated role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="50e22b5289f79f1417369403345c9fa9911a4557" datatype="html">\n        <source>System Role</source>\n        <target>システム役割</target>\n      </trans-unit>\n      <trans-unit id="7f132668e2dbfcf616381d2daf59d1a6f2698102" datatype="html">\n        <source>Deleted role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Deleted role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="bd15b8d5c0fa160161728eefbbb585710414d471" datatype="html">\n        <source>New name</source>\n        <target>New name</target>\n      </trans-unit>\n      <trans-unit id="6f126277f3dc22a3ab3609c4c198386c8744e11a" datatype="html">\n        <source>Clone Role</source>\n        <target>Clone Role</target>\n      </trans-unit>\n      <trans-unit id="d19d8320479854bc52877cdf0dc5ecfe34a36ec7" datatype="html">\n        <source>Cloned role \'\n          <x id="INTERPOLATION" equiv-text="{{dst_name}}"/>\' from \'\n          <x id="INTERPOLATION_1" equiv-text="{{src_name}}"/>\'\n        </source>\n        <target>Cloned role \'\n          <x id="INTERPOLATION" equiv-text="{{dst_name}}"/>\' from \'\n          <x id="INTERPOLATION_1" equiv-text="{{src_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="2e35d60a14ce0b470e8b54602864a867f7fcef40" datatype="html">\n        <source>There are no roles.</source>\n        <target>There are no roles.</target>\n      </trans-unit>\n      <trans-unit id="d2362a49d2434ce137bf19dab004251b7fd9c7b3" datatype="html">\n        <source>Created user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Created user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="9910122dfedd2eaa544a990f1430e5b82a76d99f" datatype="html">\n        <source>Update user</source>\n        <target>ユーザの更新</target>\n      </trans-unit>\n      <trans-unit id="ac10a3d9b59575640797c1a8e6aea642cf5d5e77" datatype="html">\n        <source>Continue</source>\n        <target>続行</target>\n      </trans-unit>\n      <trans-unit id="cf4bcf4ce3d551e6099ccdc3546ae418fe5f8038" datatype="html">\n        <source>You were automatically logged out because your roles have been changed.</source>\n        <target>このユーザの役割が変更されたため、このユーザは自動的にログアウトされました。</target>\n      </trans-unit>\n      <trans-unit id="0f6003fb0c1cc73b89d225801cc1b870945cd259" datatype="html">\n        <source>Updated user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Updated user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="fe516c6d820018fdc971113935e22ec1e852965f" datatype="html">\n        <source>Deleted user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Deleted user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="01a7e11502ff80421ef3615e533ea14ef57e1d5c" datatype="html">\n        <source>Failed to delete user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Failed to delete user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="63316a3861dbcb035147efc1b9fb6bc708242e94" datatype="html">\n        <source>You are currently logged in as "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>".\n        </source>\n        <target>You are currently logged in as "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="d8b81951d25439864e92f750f7c99d7426d6517c" datatype="html">\n        <source>password</source>\n        <target>password</target>\n      </trans-unit>\n      <trans-unit id="d361a9b5e1f7985a12c0433388f31626525a02b8" datatype="html">\n        <source>Updated user password"</source>\n        <target>Updated user password"</target>\n      </trans-unit>\n      <trans-unit id="c4e596a44ffc4718c1602600d6e4f029190eb031" datatype="html">\n        <source>The name of the node under which data should be placed.</source>\n        <target>The name of the node under which data should be placed.</target>\n      </trans-unit>\n      <trans-unit id="f24772ba1091155f8d7025332ca8456a204d1e28" datatype="html">\n        <source>The type of CRUSH nodes across which we should separate replicas.</source>\n        <target>The type of CRUSH nodes across which we should separate replicas.</target>\n      </trans-unit>\n      <trans-unit id="a3896042af461a80091c3f7a5fe3fff5ac40a3a0" datatype="html">\n        <source>The device class data should be placed on.</source>\n        <target>The device class data should be placed on.</target>\n      </trans-unit>\n      <trans-unit id="1d7fbcc3d5efc946ffbcf86fed04c4e20dda20fb" datatype="html">\n        <source>Each object is split in data-chunks parts, each stored on a different OSD.</source>\n        <target>各オブジェクトは複数のデータチャンクパートに分割されており、それぞれのパートは異なるOSDに保管されています。</target>\n      </trans-unit>\n      <trans-unit id="b1f8ed4e216585f1f9134740002ef3c8501debd8" datatype="html">\n        <source>Compute coding chunks for each object and store them on different OSDs.\n      The number of coding chunks is also the number of OSDs that can be down without losing data.</source>\n        <target>各オブジェクトのコーディングチャンクを計算して、これらのチャンクを別々のOSDに保管します。\nコーディングチャンクの数は、データを失うことなくダウン状態になることができるOSDの数でもあります。</target>\n      </trans-unit>\n      <trans-unit id="c437ee74a9a8e781e1380153f742a685e3b8cc5e" datatype="html">\n        <source>The jerasure plugin is the most generic and flexible plugin,\n          it is also the default for Ceph erasure coded pools.</source>\n        <target>jerasureプラグインは最も汎用的で柔軟性の高いプラグインです。\nこのプラグインは、Cephイレイジャコード化済みプール用のデフォルトでもあります。</target>\n      </trans-unit>\n      <trans-unit id="8c7e19322851402afa67e41f4f1d4e531caf1bf5" datatype="html">\n        <source>The more flexible technique is reed_sol_van : it is enough to set k\n          and m. The cauchy_good technique can be faster but you need to chose the packetsize\n          carefully. All of reed_sol_r6_op, liberation, blaum_roth, liber8tion are RAID6 equivalents\n          in the sense that they can only be configured with m=2.</source>\n        <target>さらに柔軟性の高い技法はreed_sol_vanです。kとmを\n設定するだけで十分です。\ncauchy_good技法はより高速となり得ますが、パケットサイズを慎重に選択する必要があります。\nreed_sol_r6_op、liberation、blaum_roth、liber8tionはすべて、\nm=2を使用した設定のみが可能という意味でRAID6と同等です。</target>\n      </trans-unit>\n      <trans-unit id="b1b11f49281b4e79219b4eecfbcb033cb15bd880" datatype="html">\n        <source>The encoding will be done on packets of bytes size at a time.\n          Chosing the right packet size is difficult.\n          The jerasure documentation contains extensive information on this topic.</source>\n        <target>エンコードはバイトサイズのパケット群に対して同時に実行されます。\n適切なパケットサイズを選択することは困難です。\njerasureのドキュメントにはこのトピックに関する詳細な情報が記載されています。</target>\n      </trans-unit>\n      <trans-unit id="d9cb3bc07a25b26fbea457e0a7b543340bc13c49" datatype="html">\n        <source>With the jerasure plugin, when an erasure coded object is stored on\n          multiple OSDs, recovering from the loss of one OSD requires reading from all the others.\n          For instance if jerasure is configured with k=8 and m=4, losing one OSD requires reading\n          from the eleven others to repair.\n\n          The lrc erasure code plugin creates local parity chunks to be able to recover using\n          less OSDs. For instance if lrc is configured with k=8, m=4 and l=4, it will create\n          an additional parity chunk for every four OSDs. When a single OSD is lost, it can be\n          recovered with only four OSDs instead of eleven.</source>\n        <target>jerasureプラグインを使用すると、イレイジャコード化済みオブジェクトが複数のOSDに保管されている場合は、\n1つのOSDの喪失から回復するには、他のすべてのOSDからの読み取りが必要になります。\nたとえば、k=8およびm=4を使用してjerasureが設定されている場合は、1つのOSDが失われた場合、\n修復のためには他の11個のOSDからの読み取りが必要になります。\n\nlrcイレイジャコードプラグインは、これより少ないOSDを使用した回復を可能にするために、\nローカルパリティチャンクを作成します。たとえば、lrcがk=8、m=4、およびl=4を使用して設定されている場合は、\nlrcは、4つのOSDごとに1つの追加パリティチャンクを作成します。1つのOSDが失われた場合は、\n11個の代わりに4つのOSDのみを使用してそのOSDを回復できます。</target>\n      </trans-unit>\n      <trans-unit id="813959d46e63a29bbd266b3af2ff9414c2ef553c" datatype="html">\n        <source>Group the coding and data chunks into sets of size locality. For instance,\n          for k=4 and m=2, when locality=3 two groups of three are created. Each set can\n          be recovered without reading chunks from another set.</source>\n        <target>コーディングチャンクとデータチャンクをサイズ地域の複数セットにグループ分けします。\nたとえば、k=4およびm=2の場合に、[地域]=3の場合は、3つのチャンクからなるグループが2つ作成されます。\n各セットは、別のセットからチャンクを読み取ることなく回復できます。</target>\n      </trans-unit>\n      <trans-unit id="f0ff63d92e0a1b4d4b51e31b9133802d160a5f4c" datatype="html">\n        <source>The type of the crush bucket in which each set of chunks defined\n          by l will be stored. For instance, if it is set to rack, each group of l chunks will be\n          placed in a different rack. It is used to create a CRUSH rule step such as step choose\n          rack. If it is not set, no such grouping is done.</source>\n        <target>1によって定義されたチャンクの各セットが保管されるCrushバケットのタイプ。\nたとえば、このバケットタイプがラックに設定されている場合は、1のチャンクの各グループは異なるラックに配置されます。\nこのバケットタイプを使用して、「ラックの選択」ステップなどのCRUSHルールステップが作成されます。\nこのバケットタイプが設定されていない場合は、このようなグループ分けは行われません。</target>\n      </trans-unit>\n      <trans-unit id="3ece48df9d1e9a98f98bf3c5cc66e8b637020a4d" datatype="html">\n        <source>The isa plugin encapsulates the ISA library. It only runs on Intel processors.</source>\n        <target>isaプラグインはISAライブラリをカプセル化します。このプラグインはIntelプロセッサ上のみで動作します。</target>\n      </trans-unit>\n      <trans-unit id="4472c9e31bfc7d96a83dc4afce0a6e885c99e839" datatype="html">\n        <source>The ISA plugin comes in two Reed Solomon forms.\n          If reed_sol_van is set, it is Vandermonde, if cauchy is set, it is Cauchy.</source>\n        <target>ISAプラグインは2つのリードソロモン形式で提供されています。reed_sol_vanが設定されている場合は、Vandermondeであり、cauchyが設定されている場合は、Cauchyです。</target>\n      </trans-unit>\n      <trans-unit id="fa385f5ecf63083ec848dca8dc5e52bdc72ac6f6" datatype="html">\n        <source>The shec plugin encapsulates the multiple SHEC library.\n          It allows ceph to recover data more efficiently than Reed Solomon codes.</source>\n        <target>shecプラグインは複数のSHECライブラリをカプセル化します。\nこのプラグインを使用すると、cephはリードソロモンコードより効率的にデータを回復できます。</target>\n      </trans-unit>\n      <trans-unit id="687b3cd94b3475c24ff4481d64d4739f902a377c" datatype="html">\n        <source>The number of parity chunks each of which includes each data chunk in its\n          calculation range. The number is used as a durability estimator. For instance, if c=2,\n          2 OSDs can be down without losing data.</source>\n        <target>それぞれが各データチャンクを各自の計算範囲内に含んでいるパリティチャンクの数。\nこの数は、耐久性推定子として使用されます。\nたとえば、c=2の場合は、データを失うことなく2つのOSDがダウン状態になることができます。</target>\n      </trans-unit>\n      <trans-unit id="f3c4af6df91bdaabdb715f8f0b61a24faf73a3bc" datatype="html">\n        <source>The name of the crush bucket used for the first step of the CRUSH rule.\n      For instance step take default.</source>\n        <target>CRUSHルールの最初のステップ(「デフォルトの使用」ステップなど)用に\n使用されるCrushバケットの名前。</target>\n      </trans-unit>\n      <trans-unit id="e1059955a5ce65cdabf0c0a8207377e1f9bae57e" datatype="html">\n        <source>Ensure that no two chunks are in a bucket with the same failure\n      domain. For instance, if the failure domain is host no two chunks will be stored on the same\n      host. It is used to create a CRUSH rule step such as step chooseleaf host.</source>\n        <target>同じ障害ドメインの単一バケット内に2つのチャンクが配置されることを防止します。\nたとえば、障害ドメインがホストである場合は、2つのチャンクが同じホストに保管されることはありません。\nこれを使用して、「リーフホストの選択」ステップなどのCRUSHルールステップが作成されます。</target>\n      </trans-unit>\n      <trans-unit id="ac392ac9c6da5fde6da80fc57b9c09402fb6e73d" datatype="html">\n        <source>Restrict placement to devices of a specific class\n      (e.g., ssd or hdd), using the crush device class names in the CRUSH map.</source>\n        <target>CRUSHマップ内でCrushデバイスクラス名を使用して、配置先を特定クラス(ssdやhddなど)のデバイスのみに制限します。</target>\n      </trans-unit>\n      <trans-unit id="62bcb9ae5583a088649b1adf5787a86ca3334f89" datatype="html">\n        <source>Set the directory name from which the erasure code plugin is loaded.</source>\n        <target>イレイジャコードプラグインの読み込み元となるディレクトリ名を設定します。</target>\n      </trans-unit>\n      <trans-unit id="c8f10184a8433d132ede0a2c0c1aa96f291cacfa" datatype="html">\n        <source>Allows all operations</source>\n        <target>すべての操作を許可します</target>\n      </trans-unit>\n      <trans-unit id="82077ee97c11ee76efc3adf253b7b26654544317" datatype="html">\n        <source>Allows only operations that do not modify the server</source>\n        <target>サーバに変更を加えない操作のみを許可します</target>\n      </trans-unit>\n      <trans-unit id="22b5212ec10449dbf0a0af0ad34122eac51b5f2a" datatype="html">\n        <source>Does not allow read or write operations, but allows any other operation</source>\n        <target>読み取り/書き込み操作を許可しませんが、他のすべての操作を許可します</target>\n      </trans-unit>\n      <trans-unit id="9799d0f8c4b7727ae239fedfe3c0ce127feb7a50" datatype="html">\n        <source>Does not allow read, write, or any operation that modifies file        attributes or directory content</source>\n        <target>読み取り/書き込み操作、およびファイル属性やディレクトリ内容を変更するどの操作も許可しません</target>\n      </trans-unit>\n      <trans-unit id="aeddefe0af87025d8f00699aa94bed8216a99a58" datatype="html">\n        <source>Allows no access at all</source>\n        <target>アクセスを一切許可しません</target>\n      </trans-unit>\n      <trans-unit id="a436c6a4025a749198e93cac239de8deede72211" datatype="html">\n        <source>-- Select the priority --</source>\n        <target>-- 優先度を選択してください --</target>\n      </trans-unit>\n      <trans-unit id="9556266f0a2b1762a44b686f2bb21dbfefb01c12" datatype="html">\n        <source>Low</source>\n        <target>低</target>\n      </trans-unit>\n      <trans-unit id="72279141a67cc042d9864102b703216cc8a428a3" datatype="html">\n        <source>High</source>\n        <target>高</target>\n      </trans-unit>\n      <trans-unit id="6080b77234e92ad41bb52653b239c4c4f851317d" datatype="html">\n        <source>Error</source>\n        <target>Error</target>\n      </trans-unit>\n      <trans-unit id="c43dc1967a603fefb886149ac35863a06d5b4ce5" datatype="html">\n        <source>Information</source>\n        <target>情報</target>\n      </trans-unit>\n      <trans-unit id="1e035e6ccfab771cad4226b2ad230cb0d4a88cba" datatype="html">\n        <source>Success</source>\n        <target>Success</target>\n      </trans-unit>\n      <trans-unit id="61fd1cffcb763cbfd5829071723cf9b647174bd9" datatype="html">\n        <source>An error occurred.</source>\n        <target>An error occurred.</target>\n      </trans-unit>\n      <trans-unit id="e6ca3c0efaf51e6d45a7f92f58bac37140c3fda4" datatype="html">\n        <source>Last 5 minutes</source>\n        <target>直前の5分間</target>\n      </trans-unit>\n      <trans-unit id="b0ecb2bbc548cc9bd95050fd8f0c84586d083fe2" datatype="html">\n        <source>Last 15 minutes</source>\n        <target>直前の15分間</target>\n      </trans-unit>\n      <trans-unit id="857ae67deb51353120b203b0f2a06b0c48ef49fa" datatype="html">\n        <source>Last 30 minutes</source>\n        <target>直前の30分間</target>\n      </trans-unit>\n      <trans-unit id="7b1738fad314e936dc14b94db8f43da736942308" datatype="html">\n        <source>Last 1 hour (Default)</source>\n        <target>直前の1時間(デフォルト)</target>\n      </trans-unit>\n      <trans-unit id="a428288224389726cef9d9bd8d1d7808cccd7ffd" datatype="html">\n        <source>Last 3 hours</source>\n        <target>直前の3時間</target>\n      </trans-unit>\n      <trans-unit id="7cbabecc8d80cf183ac199cfaeb7619d56e5d43f" datatype="html">\n        <source>Last 6 hours</source>\n        <target>直前の6時間</target>\n      </trans-unit>\n      <trans-unit id="1a389cdf64187d34cf99eec30a290e3fa7d4744f" datatype="html">\n        <source>Last 12 hours</source>\n        <target>直前の12時間</target>\n      </trans-unit>\n      <trans-unit id="9e0ba5f591380a94d594a76288f0c41aa97eb9c2" datatype="html">\n        <source>Last 24 hours</source>\n        <target>直前の24時間</target>\n      </trans-unit>\n      <trans-unit id="e430eda9c785cd43465b7cbb400ee914f1057247" datatype="html">\n        <source>Yesterday</source>\n        <target>昨日</target>\n      </trans-unit>\n      <trans-unit id="7fb1099e29660162f9154d5b2feee7743a423df6" datatype="html">\n        <source>Today</source>\n        <target>本日</target>\n      </trans-unit>\n      <trans-unit id="33904058a97a64bd189bed84038b1ffe719769c7" datatype="html">\n        <source>Today so far</source>\n        <target>本日の現時点まで</target>\n      </trans-unit>\n      <trans-unit id="3b0b849be007510021d3d383df75bec95ef9c97b" datatype="html">\n        <source>Day before yesterday</source>\n        <target>一昨日</target>\n      </trans-unit>\n      <trans-unit id="6b430c2c394c4d32ebd7d46c8c46ab60e1b29ccb" datatype="html">\n        <source>Last 2 days</source>\n        <target>過去2日間</target>\n      </trans-unit>\n      <trans-unit id="d5e812a87a5d57a94200a2013027cab76a7c4863" datatype="html">\n        <source>This day last week</source>\n        <target>先週の同じ曜日</target>\n      </trans-unit>\n      <trans-unit id="d00edc936eeab6b5577401f115ca86ca2c87dc9a" datatype="html">\n        <source>Previous week</source>\n        <target>前週</target>\n      </trans-unit>\n      <trans-unit id="b036e40577baa6b918b2267d319d4b3aeaa88a5a" datatype="html">\n        <source>This week</source>\n        <target>今週</target>\n      </trans-unit>\n      <trans-unit id="99ad5a6096b3fcb3f021f3779bae710cdfeb8934" datatype="html">\n        <source>This week so far</source>\n        <target>今週の現時点まで</target>\n      </trans-unit>\n      <trans-unit id="02e0243b60007368f87dc01e083f232dd025096d" datatype="html">\n        <source>Last 7 days</source>\n        <target>過去7日間</target>\n      </trans-unit>\n      <trans-unit id="c3b08b07b5ab98e7cdcf18df39355690ab7d3884" datatype="html">\n        <source>Previous month</source>\n        <target>前月</target>\n      </trans-unit>\n      <trans-unit id="1b2562c6d5aa90644e7dc91feee82e2005fceb33" datatype="html">\n        <source>This month</source>\n        <target>今月</target>\n      </trans-unit>\n      <trans-unit id="26b4b18c5917934abb169ba9aa490e57f7bf10b8" datatype="html">\n        <source>This month so far</source>\n        <target>今月の現時点まで</target>\n      </trans-unit>\n      <trans-unit id="7668986b9f753fcd72ad4a00b1a0c4861d1f7fb8" datatype="html">\n        <source>Last 30 days</source>\n        <target>過去30日間</target>\n      </trans-unit>\n      <trans-unit id="ba1e822408d90c6fbd2989100fa648bfd5e8ee84" datatype="html">\n        <source>Last 90 days</source>\n        <target>過去90日間</target>\n      </trans-unit>\n      <trans-unit id="c3df03f899a914c4181adcdc8a3f077424f7b6e8" datatype="html">\n        <source>Last 6 months</source>\n        <target>過去6カ月</target>\n      </trans-unit>\n      <trans-unit id="7f9a92757580c9f31c309c0a3812ea429274eadf" datatype="html">\n        <source>Last 1 year</source>\n        <target>過去1年間</target>\n      </trans-unit>\n      <trans-unit id="5a9fede30ff65cb4b4426f6b1ed31afb67ecd7b0" datatype="html">\n        <source>Previous year</source>\n        <target>前年</target>\n      </trans-unit>\n      <trans-unit id="65cefcc53d1f6445df7568e8a40c49165f1090ee" datatype="html">\n        <source>This year</source>\n        <target>今年</target>\n      </trans-unit>\n      <trans-unit id="1f68b766944dc3865bddab765fe952b0c1c43f92" datatype="html">\n        <source>This year so far</source>\n        <target>今年の現時点まで</target>\n      </trans-unit>\n      <trans-unit id="4d4b77e614f8043fdadef5d6d235655bb48eb311" datatype="html">\n        <source>Last 2 years</source>\n        <target>過去2年間</target>\n      </trans-unit>\n      <trans-unit id="138afa339ea6e75d25a474affe1edbcb90e00ec0" datatype="html">\n        <source>Last 5 years</source>\n        <target>過去5年間</target>\n      </trans-unit>\n      <trans-unit id="37391297bb077a6f84484930261b01a3ce38327b" datatype="html">\n        <source>No items selected.</source>\n        <target>アイテムが選択されていません。</target>\n      </trans-unit>\n      <trans-unit id="2c1e52ee832661b4a0f570877d24661736b16af1" datatype="html">\n        <source>Deselect item to select again</source>\n        <target>アイテムを選択解除して再選択してください</target>\n      </trans-unit>\n      <trans-unit id="c8c9c6e5918659336824bbdda3501c66eaa79a4c" datatype="html">\n        <source>Selection limit reached</source>\n        <target>選択の上限に達しました</target>\n      </trans-unit>\n      <trans-unit id="02d184c288f567825a1fcbf83bcd3099a10853d5" datatype="html">\n        <source>Filter tags</source>\n        <target>タグのフィルタリング</target>\n      </trans-unit>\n      <trans-unit id="aa00748e49c269956837d6f3acdd8d218796a8d8" datatype="html">\n        <source>Add badge</source>\n        <target>バッジの追加</target>\n      </trans-unit>\n      <trans-unit id="4078a92d8121abdce7d8f346a88914923ec835fc" datatype="html">\n        <source>There are no items available.</source>\n        <target>使用可能なアイテムはありません。</target>\n      </trans-unit>\n      <trans-unit id="55dd9f44e64851bca3b7bfc9283a5ff36f030228" datatype="html">\n        <source>Set</source>\n        <target>Set</target>\n      </trans-unit>\n      <trans-unit id="019d4bd6a5690f0cfa0ecf346a4e6bf7f0d8debb" datatype="html">\n        <source>Remove</source>\n        <target>Remove</target>\n      </trans-unit>\n      <trans-unit id="e168fe6c468b3ad632731395ef89860274242844" datatype="html">\n        <source>Unset</source>\n        <target>Unset</target>\n      </trans-unit>\n      <trans-unit id="54a4a3132b693575728a45a5f3154ad4c9af404b" datatype="html">\n        <source>Clone</source>\n        <target>複製</target>\n      </trans-unit>\n      <trans-unit id="1979da7460819153e11d2078244645d94291b69c" datatype="html">\n        <source>Copy</source>\n        <target>コピー</target>\n      </trans-unit>\n      <trans-unit id="2e5e77dbaadd6588d8bbf737139fd9806294ae28" datatype="html">\n        <source>Deep Scrub</source>\n        <target>ディープスクラブ</target>\n      </trans-unit>\n      <trans-unit id="bf463b189696c19769ea263227e6c22aefafb918" datatype="html">\n        <source>Destroy</source>\n        <target>破棄</target>\n      </trans-unit>\n      <trans-unit id="b4e94d529ff10db4d86f3f48900fa67ede3411fd" datatype="html">\n        <source>Evict</source>\n        <target>Evict</target>\n      </trans-unit>\n      <trans-unit id="3747fff7faf52b436ecff5fb8555091736d92c70" datatype="html">\n        <source>Flatten</source>\n        <target>フラット化</target>\n      </trans-unit>\n      <trans-unit id="66fdbf32e5449cc54a3d1e19c7b8f4ea238facfb" datatype="html">\n        <source>Mark Down</source>\n        <target>ダウンとしてマーク</target>\n      </trans-unit>\n      <trans-unit id="0cda3e824fb2f9c731e5a60b859dedc1fe03127e" datatype="html">\n        <source>Mark In</source>\n        <target>インとしてマーク</target>\n      </trans-unit>\n      <trans-unit id="f833354f43cb38c5716faa8759a9bbdd1ab8f199" datatype="html">\n        <source>Mark Lost</source>\n        <target>喪失としてマーク</target>\n      </trans-unit>\n      <trans-unit id="75fb9f970ba365398c45e57bbb1019c009f6b832" datatype="html">\n        <source>Mark Out</source>\n        <target>アウトとしてマーク</target>\n      </trans-unit>\n      <trans-unit id="45480c03b0a3a37ff8f6a5600a6a034b40fbaea4" datatype="html">\n        <source>Protect</source>\n        <target>保護</target>\n      </trans-unit>\n      <trans-unit id="e26f9cf3666aace4e524b1505c9795d76d87738d" datatype="html">\n        <source>Rename</source>\n        <target>名前の変更</target>\n      </trans-unit>\n      <trans-unit id="d5cec7468241d72cafd86ad1af6d55b09a6e3ae5" datatype="html">\n        <source>Restore</source>\n        <target>復元</target>\n      </trans-unit>\n      <trans-unit id="ba073985cfd2528c77a746ed596b2f2052b973c5" datatype="html">\n        <source>Move to Trash</source>\n        <target>ごみ箱に移動する</target>\n      </trans-unit>\n      <trans-unit id="3ea9b96a21a499d296a7f25407da0f3df6c2d5ed" datatype="html">\n        <source>Unprotect</source>\n        <target>保護解除</target>\n      </trans-unit>\n      <trans-unit id="024cdb2814b0cb3f4ced148f1a0b9854447cb214" datatype="html">\n        <source>Change</source>\n        <target>Change</target>\n      </trans-unit>\n      <trans-unit id="011f3e2bfc1fd8407eb5f599352665bfeb145664" datatype="html">\n        <source>Recreate</source>\n        <target>Recreate</target>\n      </trans-unit>\n      <trans-unit id="6df2dfa48bef5510c82fb43f4e71a7f9557f3d71" datatype="html">\n        <source>Expire</source>\n        <target>Expire</target>\n      </trans-unit>\n      <trans-unit id="28df1b02fd88d2deb0212bc5d7ff34cf9492fa54" datatype="html">\n        <source>Deleted</source>\n        <target>削除済み</target>\n      </trans-unit>\n      <trans-unit id="80e3b490720757978c99a7b5af3885faf202b955" datatype="html">\n        <source>Added</source>\n        <target>Added</target>\n      </trans-unit>\n      <trans-unit id="1aa4883bc4f1352f7a0bdd94810a9bf6dc22bd02" datatype="html">\n        <source>Removed</source>\n        <target>Removed</target>\n      </trans-unit>\n      <trans-unit id="402f3ee47f98fbbc68530239b1ddcbb9e96a460c" datatype="html">\n        <source>Edited</source>\n        <target>Edited</target>\n      </trans-unit>\n      <trans-unit id="96d56ec71c6e78cb4d6204c4a9359a3d38fcdb59" datatype="html">\n        <source>Canceled</source>\n        <target>Canceled</target>\n      </trans-unit>\n      <trans-unit id="a3318a2ee2bd0064b6b9ff72a4018b679ec63125" datatype="html">\n        <source>Cloned</source>\n        <target>複製済み</target>\n      </trans-unit>\n      <trans-unit id="ef90545bc832876c0d7f9a10363c75137472bbb5" datatype="html">\n        <source>Copied</source>\n        <target>コピー済み</target>\n      </trans-unit>\n      <trans-unit id="5a13d3834133e09544ec93885662f181372dcf46" datatype="html">\n        <source>Deep Scrubbed</source>\n        <target>Deep Scrubbed</target>\n      </trans-unit>\n      <trans-unit id="7c9efb91434a5c15e9579c0b31c8e184b8c8240d" datatype="html">\n        <source>Destroyed</source>\n        <target>Destroyed</target>\n      </trans-unit>\n      <trans-unit id="647059bf3ea098fffedf92ddfad792bb3daa3c95" datatype="html">\n        <source>Flattened</source>\n        <target>フラット化済み</target>\n      </trans-unit>\n      <trans-unit id="8df71e952319eafa71c8e6ef6144b780af8813ff" datatype="html">\n        <source>Marked Down</source>\n        <target>Marked Down</target>\n      </trans-unit>\n      <trans-unit id="25658f5a080a1cab3b91e17b756b1d1dc46bb9b3" datatype="html">\n        <source>Marked In</source>\n        <target>Marked In</target>\n      </trans-unit>\n      <trans-unit id="ebcf306036a6c5579df9448f77eca98d491db245" datatype="html">\n        <source>Marked Lost</source>\n        <target>Marked Lost</target>\n      </trans-unit>\n      <trans-unit id="3a8803369ac18be3ad762384b9fda095fe2a6dcc" datatype="html">\n        <source>Marked Out</source>\n        <target>Marked Out</target>\n      </trans-unit>\n      <trans-unit id="0fe2a62ea7c609fa8326ee6d38060bc5ba8bf34f" datatype="html">\n        <source>Protected</source>\n        <target>Protected</target>\n      </trans-unit>\n      <trans-unit id="69b0446c6c2411c4fe01e411b8ceec72d4044fb4" datatype="html">\n        <source>Purged</source>\n        <target>消去済み</target>\n      </trans-unit>\n      <trans-unit id="d53de1a61bd51c815dc374c7f97e4ee69230e412" datatype="html">\n        <source>Renamed</source>\n        <target>Renamed</target>\n      </trans-unit>\n      <trans-unit id="86fc6cae82c095f14105eb8a61d7b3fa948304b7" datatype="html">\n        <source>Restored</source>\n        <target>復元済み</target>\n      </trans-unit>\n      <trans-unit id="e87dd0fd35460cb743046db918dfce2137b5977a" datatype="html">\n        <source>Reweighted</source>\n        <target>Reweighted</target>\n      </trans-unit>\n      <trans-unit id="dc21fd6547f2325c67f6deff925f29eb07a2db3e" datatype="html">\n        <source>Rolled back</source>\n        <target>ロールバック済み</target>\n      </trans-unit>\n      <trans-unit id="15dec4c2d73a516c10aef90aeeea3364fa794615" datatype="html">\n        <source>Scrubbed</source>\n        <target>Scrubbed</target>\n      </trans-unit>\n      <trans-unit id="8dc560ded67482f109a98e0638851ad1d37188b3" datatype="html">\n        <source>Showed</source>\n        <target>Showed</target>\n      </trans-unit>\n      <trans-unit id="197259b7ea76f15c6d0a64b075a673fd4112ada7" datatype="html">\n        <source>Moved to Trash</source>\n        <target>Moved to Trash</target>\n      </trans-unit>\n      <trans-unit id="8fb15cb102cd75b562680290b7e04c44d80018f2" datatype="html">\n        <source>Unprotected</source>\n        <target>Unprotected</target>\n      </trans-unit>\n      <trans-unit id="8588eafa498262a1cbb5043ad68cf0ff669c4f10" datatype="html">\n        <source>Recreated</source>\n        <target>Recreated</target>\n      </trans-unit>\n      <trans-unit id="ffde7468d7b5cad6990095ed68ddee3d67cd02f8" datatype="html">\n        <source>Expired</source>\n        <target>Expired</target>\n      </trans-unit>\n      <trans-unit id="4f20f2d5a6882190892e58b85f6ccbedfa737952" datatype="html">\n        <source>Yes</source>\n        <target>はい</target>\n      </trans-unit>\n      <trans-unit id="3d3ae7deebc5949b0c1c78b9847886a94321d9fd" datatype="html">\n        <source>No</source>\n        <target>いいえ</target>\n      </trans-unit>\n      <trans-unit id="baf918eed9d4050cdad2acebc0f27b6eaf8e3fcd" datatype="html">\n        <source>Required rules for passwords:</source>\n        <target>Required rules for passwords:</target>\n      </trans-unit>\n      <trans-unit id="40f61909e1f017c4652e64b055089beef19cf871" datatype="html">\n        <source>Must contain at least \n          <x id="INTERPOLATION" equiv-text="{{length}}"/> characters\n        </source>\n        <target>Must contain at least \n          <x id="INTERPOLATION" equiv-text="{{length}}"/> characters\n        </target>\n      </trans-unit>\n      <trans-unit id="f4f5dbb3a05b5f38dab47ef38dad88a4574a765a" datatype="html">\n        <source>Must not be the same as the previous one</source>\n        <target>Must not be the same as the previous one</target>\n      </trans-unit>\n      <trans-unit id="607370e07b50087c196a5fcea9184e3d693226b2" datatype="html">\n        <source>Cannot contain the username</source>\n        <target>Cannot contain the username</target>\n      </trans-unit>\n      <trans-unit id="e6e355eab2596251aaa42623b41e6026d5c03e3b" datatype="html">\n        <source>Cannot contain any configured keyword</source>\n        <target>Cannot contain any configured keyword</target>\n      </trans-unit>\n      <trans-unit id="394bcd6d5e4da75b720c4d28f94f2aef7bb38355" datatype="html">\n        <source>Cannot contain any repetitive characters e.g. "aaa"</source>\n        <target>Cannot contain any repetitive characters e.g. "aaa"</target>\n      </trans-unit>\n      <trans-unit id="030e61e0bcf2536fb047645db6182d43e9fca9e9" datatype="html">\n        <source>Cannot contain any sequential characters e.g. "abc"</source>\n        <target>Cannot contain any sequential characters e.g. "abc"</target>\n      </trans-unit>\n      <trans-unit id="99fa0b67376d40142bd4d3ace3344abf4f98b6a5" datatype="html">\n        <source>Your matcher seems to match no currently defined rule or active alert.</source>\n        <target>Your matcher seems to match no currently defined rule or active alert.</target>\n      </trans-unit>\n      <trans-unit id="7e284852732c303eb1f47de9aca2569e41aeffed" datatype="html">\n        <source>no active alerts</source>\n        <target>no active alerts</target>\n      </trans-unit>\n      <trans-unit id="b8042829e4fbe7b09fd9bac9fa0ecf5cc1802fee" datatype="html">\n        <source>1 active alert</source>\n        <target>1 active alert</target>\n      </trans-unit>\n      <trans-unit id="e24adce97669cb0fc74cc13fdc14179b6f78ea5e" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{n}}"/> active alerts\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{n}}"/> active alerts\n        </target>\n      </trans-unit>\n      <trans-unit id="d8fb058ff5883731d38a132da4ca45cfe8d719a3" datatype="html">\n        <source>Matches 1 rule</source>\n        <target>Matches 1 rule</target>\n      </trans-unit>\n      <trans-unit id="90aaef24d192e67c3fbc2ec6f8bfaff211cea128" datatype="html">\n        <source>Matches \n          <x id="INTERPOLATION" equiv-text="{{n}}"/> rules\n        </source>\n        <target>Matches \n          <x id="INTERPOLATION" equiv-text="{{n}}"/> rules\n        </target>\n      </trans-unit>\n      <trans-unit id="f4685dc581e18244cd410f1057a8c56a9dbfe8df" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rules}}"/> with \n          <x id="INTERPOLATION_1" equiv-text="{{alerts}}"/>.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rules}}"/> with \n          <x id="INTERPOLATION_1" equiv-text="{{alerts}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8fd98fb2a0f24ba72cde0787dd3f02cfc17de469" datatype="html">\n        <source>Quality of Service</source>\n        <target>サービス品質</target>\n      </trans-unit>\n      <trans-unit id="2c53f3ce2c6fff9025a7b41cc334521725da6e7b" datatype="html">\n        <source>BPS Limit</source>\n        <target>BPS制限</target>\n      </trans-unit>\n      <trans-unit id="e897624a392419386b035bcd8529337e262fc41d" datatype="html">\n        <source>The desired limit of IO bytes per second.</source>\n        <target>希望する秒あたり入出力バイト数の上限。</target>\n      </trans-unit>\n      <trans-unit id="dc56f77e4507da7e86a3accd0a2a7099a838d539" datatype="html">\n        <source>IOPS Limit</source>\n        <target>IOPS制限</target>\n      </trans-unit>\n      <trans-unit id="141c3f6eadbb35b0e17b2f847e4cac23240a6ea9" datatype="html">\n        <source>The desired limit of IO operations per second.</source>\n        <target>希望する秒あたり入出力操作数の上限。</target>\n      </trans-unit>\n      <trans-unit id="3b3b101f16c38806e984b157e0cf22cd21451122" datatype="html">\n        <source>Read BPS Limit</source>\n        <target>読み取りBPS制限</target>\n      </trans-unit>\n      <trans-unit id="87835fabb6a645873f3829a450ca1d58f97754f2" datatype="html">\n        <source>The desired limit of read bytes per second.</source>\n        <target>希望する秒あたり読み取りバイト数の上限。</target>\n      </trans-unit>\n      <trans-unit id="28b485e700df46d70b96666099f714e3ae9e5c2e" datatype="html">\n        <source>Read IOPS Limit</source>\n        <target>読み取りIOPS制限</target>\n      </trans-unit>\n      <trans-unit id="5907bd1a5cf3e20e740bca676cb1538372e1f9ff" datatype="html">\n        <source>The desired limit of read operations per second.</source>\n        <target>希望する秒あたり読み取り操作数の上限。</target>\n      </trans-unit>\n      <trans-unit id="07317121f0b194987d4dee8b322f521ac17bf124" datatype="html">\n        <source>Write BPS Limit</source>\n        <target>書き込みBPS制限</target>\n      </trans-unit>\n      <trans-unit id="4022c78bd9132ca2ec67927f8484c437d1d9b6fd" datatype="html">\n        <source>The desired limit of write bytes per second.</source>\n        <target>希望する秒あたり書き込みバイト数の上限。</target>\n      </trans-unit>\n      <trans-unit id="52c22c19f98ff3a09bd811292954a889b93d28b7" datatype="html">\n        <source>Write IOPS Limit</source>\n        <target>書き込みIOPS制限</target>\n      </trans-unit>\n      <trans-unit id="0ed62e3fd8654b3191fc7fa959ad3f10f1ea773a" datatype="html">\n        <source>The desired limit of write operations per second.</source>\n        <target>希望する秒あたり書き込み操作数の上限。</target>\n      </trans-unit>\n      <trans-unit id="d90c99d77864f21f932ee1369019f400c4ad0e2d" datatype="html">\n        <source>BPS Burst</source>\n        <target>BPSバースト</target>\n      </trans-unit>\n      <trans-unit id="29c32192f4d185139aaaf6d3a766a3411dfeabbe" datatype="html">\n        <source>The desired burst limit of IO bytes.</source>\n        <target>希望する入出力バイト数のバースト上限。</target>\n      </trans-unit>\n      <trans-unit id="b988b90489e899941e196c3dd0ecc22e37540224" datatype="html">\n        <source>IOPS Burst</source>\n        <target>IOPSバースト</target>\n      </trans-unit>\n      <trans-unit id="02c5de8ff11870f1b3896f2b45637ce0dba1ed4b" datatype="html">\n        <source>The desired burst limit of IO operations.</source>\n        <target>希望する入出力操作数のバースト上限。</target>\n      </trans-unit>\n      <trans-unit id="7a160538129b37cf595f1651f28b5fac62fbc0f8" datatype="html">\n        <source>Read BPS Burst</source>\n        <target>読み取りBPSバースト</target>\n      </trans-unit>\n      <trans-unit id="b573a5df16a53b9947288461bc24e6a0eb4341d6" datatype="html">\n        <source>The desired burst limit of read bytes.</source>\n        <target>希望する読み取りバイト数のバースト上限。</target>\n      </trans-unit>\n      <trans-unit id="1d5b8c2a0c653651cc4ca4b8fed9456f449220d1" datatype="html">\n        <source>Read IOPS Burst</source>\n        <target>読み取りIOPSバースト</target>\n      </trans-unit>\n      <trans-unit id="20b199f9d4a8d08ffefec66040e27639ec221512" datatype="html">\n        <source>The desired burst limit of read operations.</source>\n        <target>希望する読み取り操作数のバースト上限。</target>\n      </trans-unit>\n      <trans-unit id="824525ae57992aee629ddffcd500a8b77087ddec" datatype="html">\n        <source>Write BPS Burst</source>\n        <target>書き込みBPSバースト</target>\n      </trans-unit>\n      <trans-unit id="a90aac4050a5d79765da5e1186909f6d4d7f981d" datatype="html">\n        <source>The desired burst limit of write bytes.</source>\n        <target>希望する書き込みバイト数のバースト上限。</target>\n      </trans-unit>\n      <trans-unit id="35a8c6e6c249c7d16e26aa7c4ef97c06db405070" datatype="html">\n        <source>Write IOPS Burst</source>\n        <target>書き込みIOPSバースト</target>\n      </trans-unit>\n      <trans-unit id="b356abd41d7e9eea4d20c03d2e6892b6d435ecbd" datatype="html">\n        <source>The desired burst limit of write operations.</source>\n        <target>希望する書き込み操作数のバースト上限。</target>\n      </trans-unit>\n      <trans-unit id="24c4d50fe8567de381a20a1745f1b6d37eacaa90" datatype="html">\n        <source>Failed to \n          <x id="INTERPOLATION" equiv-text="{{failure}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{metadata}}"/>\n        </source>\n        <target>Failed to \n          <x id="INTERPOLATION" equiv-text="{{failure}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{metadata}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="f54b6f09b390d5ade0e354f6c7d4743c10a315cc" datatype="html">\n        <source>Executing</source>\n        <target>実行中</target>\n      </trans-unit>\n      <trans-unit id="5cdfe3e3330ea42bfd29c540dbd268bee97d364d" datatype="html">\n        <source>execute</source>\n        <target>実行</target>\n      </trans-unit>\n      <trans-unit id="6e98e243518daa88be30330fcdbd2d10f8eae4d7" datatype="html">\n        <source>Executed</source>\n        <target>実行済み</target>\n      </trans-unit>\n      <trans-unit id="24b09aa5bd909273a023d2d788a2673325c77e31" datatype="html">\n        <source>unknown task</source>\n        <target>不明なタスク</target>\n      </trans-unit>\n      <trans-unit id="114b5f92b9192b229ffc9a450319a97ccca2aa5c" datatype="html">\n        <source>Creating</source>\n        <target>作成中</target>\n      </trans-unit>\n      <trans-unit id="56695b69d27437ada580a187958407e7c856d46e" datatype="html">\n        <source>create</source>\n        <target>作成</target>\n      </trans-unit>\n      <trans-unit id="9db60170ef3b3b41a863e7d5ee7cec10919b9141" datatype="html">\n        <source>Updating</source>\n        <target>更新中</target>\n      </trans-unit>\n      <trans-unit id="64412640835b7d25247cb254d4f911366c0e6862" datatype="html">\n        <source>update</source>\n        <target>更新</target>\n      </trans-unit>\n      <trans-unit id="416193bb373d59477458b00e5922d755e2e2cacd" datatype="html">\n        <source>Deleting</source>\n        <target>削除中</target>\n      </trans-unit>\n      <trans-unit id="d07a282afc7fbdb39cea6e1c9b544882a7260a86" datatype="html">\n        <source>Adding</source>\n        <target>Adding</target>\n      </trans-unit>\n      <trans-unit id="a11ec4e640f241329943237d2a3cceaa4823658e" datatype="html">\n        <source>add</source>\n        <target>add</target>\n      </trans-unit>\n      <trans-unit id="ea1c70b874904216cc5af24bd7cb3dab2d074d42" datatype="html">\n        <source>Removing</source>\n        <target>Removing</target>\n      </trans-unit>\n      <trans-unit id="4da487aec5a29ce4372e7b512227cd665b01fe6f" datatype="html">\n        <source>remove</source>\n        <target>remove</target>\n      </trans-unit>\n      <trans-unit id="0e21237afdc84ec360c374fa678d9b1cfaa334f9" datatype="html">\n        <source>Importing</source>\n        <target>Importing</target>\n      </trans-unit>\n      <trans-unit id="c6b4128c006f4cc0564137e1a1482b5c432aa347" datatype="html">\n        <source>import</source>\n        <target>import</target>\n      </trans-unit>\n      <trans-unit id="3b9f4138abbca0fd66db1f7332f4b54e2a6d916d" datatype="html">\n        <source>Imported</source>\n        <target>Imported</target>\n      </trans-unit>\n      <trans-unit id="3f757cfc3749ebb5d4462017cb60138ca082f15f" datatype="html">\n        <source>RBD \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>RBD \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="a6c681e6130fe440ae40de99a405fcf5c7eefee1" datatype="html">\n        <source>RBD snapshot \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>RBD snapshot \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="2bf18ddf3785f7afb4f01dcf63d3d8c40f4bfba5" datatype="html">\n        <source>mirroring site name</source>\n        <target>mirroring site name</target>\n      </trans-unit>\n      <trans-unit id="167b73bb24b4695614ce0fc567b7a45080457a44" datatype="html">\n        <source>bootstrap token</source>\n        <target>bootstrap token</target>\n      </trans-unit>\n      <trans-unit id="4fb54a0291f49583c317d4a3690239141b5a8f68" datatype="html">\n        <source>mirror mode for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>mirror mode for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="6621ab6e122a149326a1e48e9051a41e7f203cf6" datatype="html">\n        <source>mirror peer for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>mirror peer for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="db15adc778317d551232fe712eb03a2c1eac4a43" datatype="html">\n        <source>all dashboards</source>\n        <target>all dashboards</target>\n      </trans-unit>\n      <trans-unit id="6c19652df9249c60827044ed6274933cab180c63" datatype="html">\n        <source>OSDs (DriveGroups: \n          <x id="INTERPOLATION" equiv-text="{{tracking_id}}"/>)\n        </source>\n        <target>OSDs (DriveGroups: \n          <x id="INTERPOLATION" equiv-text="{{tracking_id}}"/>)\n        </target>\n      </trans-unit>\n      <trans-unit id="1b559dbd9cc9664fd788c2da9a10d3abafe066cb" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8fc28e1103d9f2ef47b9fff9a4f74e8365c7cf19" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="1cdc7ea44fcb85d0cfcf6e7379d625d8674a8fbe" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="460f07780389d24c6a540c007c7367a56afad585" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> is busy.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> is busy.\n        </target>\n      </trans-unit>\n      <trans-unit id="1ff7676ad1e991102224540a32dd44ad1ab88aa8" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.\n        </target>\n      </trans-unit>\n      <trans-unit id="c3a1dcca2b2ba20fbe39e2441e7bb1cf9c20cdf3" datatype="html">\n        <source>Cloning</source>\n        <target>複製中</target>\n      </trans-unit>\n      <trans-unit id="b5fa4e0a3a279dee5b6bf7b823e54387f7c79994" datatype="html">\n        <source>clone</source>\n        <target>複製</target>\n      </trans-unit>\n      <trans-unit id="29b7452e8367af9aa8fa828f16ff94c3530e7a1a" datatype="html">\n        <source>Snapshot of \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> must be protected.\n        </source>\n        <target>Snapshot of \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> must be protected.\n        </target>\n      </trans-unit>\n      <trans-unit id="369f93b9a07a9465f7a261e9f0021b6cfa7180c5" datatype="html">\n        <source>Copying</source>\n        <target>コピー中</target>\n      </trans-unit>\n      <trans-unit id="37584f889855d153a106f5dffe23d21f9453c8ff" datatype="html">\n        <source>copy</source>\n        <target>コピー</target>\n      </trans-unit>\n      <trans-unit id="6ea9e313a04ef59222feaadfe84e97b4c69d7e9e" datatype="html">\n        <source>Flattening</source>\n        <target>フラット化中</target>\n      </trans-unit>\n      <trans-unit id="1f57593581b64d2d4c70eab1736bd9bccc66a7dc" datatype="html">\n        <source>flatten</source>\n        <target>フラット化</target>\n      </trans-unit>\n      <trans-unit id="d990ef9680cd23bbe652c37eb46bf038cfee80ad" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="a101745d080ef65c09bd5fafc796f94ddb9f9d60" datatype="html">\n        <source>Cannot unprotect \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it contains child images.\n        </source>\n        <target>Cannot unprotect \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it contains child images.\n        </target>\n      </trans-unit>\n      <trans-unit id="647968f4cde7786cd53ec8e6aa9802ac6824a262" datatype="html">\n        <source>Cannot delete \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it\'s protected.\n        </source>\n        <target>Cannot delete \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it\'s protected.\n        </target>\n      </trans-unit>\n      <trans-unit id="57ddd3e15cf0ce974356b757451f50116a27272b" datatype="html">\n        <source>Rolling back</source>\n        <target>ロールバック中</target>\n      </trans-unit>\n      <trans-unit id="a8913a3a5ee61f2598b5f0432cb9b20cdd60548e" datatype="html">\n        <source>rollback</source>\n        <target>ロールバック</target>\n      </trans-unit>\n      <trans-unit id="de8676f0017c9db6c49388cd7d63cd0a83a0c1dc" datatype="html">\n        <source>Moving</source>\n        <target>移動中</target>\n      </trans-unit>\n      <trans-unit id="2d810712308ae63cb795d809687a3254ef7a2f05" datatype="html">\n        <source>move</source>\n        <target>移動</target>\n      </trans-unit>\n      <trans-unit id="f3ba995236e5c1cc77686108980c099a90aec754" datatype="html">\n        <source>Moved</source>\n        <target>移動済み</target>\n      </trans-unit>\n      <trans-unit id="d0422169252d132624a20f267b5c29f28cb53ebe" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' to trash\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' to trash\n        </target>\n      </trans-unit>\n      <trans-unit id="b603e2dfed9808222fbcb5a7c5f4da2cc6ae2aae" datatype="html">\n        <source>Could not find image.</source>\n        <target>イメージが見つかりませんでした。</target>\n      </trans-unit>\n      <trans-unit id="398debe73006b1fe5177ed81d2e7b0cc852f61ec" datatype="html">\n        <source>Restoring</source>\n        <target>復元中</target>\n      </trans-unit>\n      <trans-unit id="c252806fb400e79bac194696632c9362742b1538" datatype="html">\n        <source>restore</source>\n        <target>復元</target>\n      </trans-unit>\n      <trans-unit id="30b8bcf69b3f1754b7abba173fd806cfcea4cb04" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' into \'\n          <x id="INTERPOLATION_1" equiv-text="{{new_id}}"/>\'\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' into \'\n          <x id="INTERPOLATION_1" equiv-text="{{new_id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="13b7b241cef989fe0932ddd180e757658e1817e7" datatype="html">\n        <source>Image name \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' is already in use.\n        </source>\n        <target>Image name \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' is already in use.\n        </target>\n      </trans-unit>\n      <trans-unit id="cc1cee12c833e8fbbef28a2a7c449dc530da912d" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="38e5f47f8bef505652f3e87f46efb00ead1350a3" datatype="html">\n        <source>Purging</source>\n        <target>消去中</target>\n      </trans-unit>\n      <trans-unit id="e4e57747f123f0fe6fe3a0ecf608f8bc287dec0c" datatype="html">\n        <source>purge</source>\n        <target>消去</target>\n      </trans-unit>\n      <trans-unit id="1560d58fdf39663929653250d45f5b1dfe078fea" datatype="html">\n        <source>all pools</source>\n        <target>すべてのプール</target>\n      </trans-unit>\n      <trans-unit id="1ac3dc50c2c3d86e98bc0967ee1e696810a2d3aa" datatype="html">\n        <source>images from \n          <x id="INTERPOLATION" equiv-text="{{message}}"/>\n        </source>\n        <target>images from \n          <x id="INTERPOLATION" equiv-text="{{message}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="02278abbb044ece04ab6bd80bd2060198d31d83b" datatype="html">\n        <source>Cannot disable mirroring because it contains a peer.</source>\n        <target>ピアを含んでいるためミラーリングを無効化できません。</target>\n      </trans-unit>\n      <trans-unit id="5c4525a1b76ca54d1aadeaecfdb83aedc2eec6e0" datatype="html">\n        <source>Identifying</source>\n        <target>Identifying</target>\n      </trans-unit>\n      <trans-unit id="ffd067e54a061d1f27cb35f0cf67ef7f29e19111" datatype="html">\n        <source>identify</source>\n        <target>identify</target>\n      </trans-unit>\n      <trans-unit id="7c921f339274688c22ba1acac7af6b097ad3599d" datatype="html">\n        <source>Identified</source>\n        <target>Identified</target>\n      </trans-unit>\n      <trans-unit id="3307492c27c2150cd26c514030444e11fd61089f" datatype="html">\n        <source>device \'\n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\' on host \'\n          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>\'\n        </source>\n        <target>device \'\n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\' on host \'\n          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="f123ae1fc3b000e5d08e766dd78bff162afe709d" datatype="html">\n        <source>host \'\n          <x id="INTERPOLATION" equiv-text="{{hostname}}"/>\'\n        </source>\n        <target>host \'\n          <x id="INTERPOLATION" equiv-text="{{hostname}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="c1af76189dcefd094da2bc1a4a63968f3bab5789" datatype="html">\n        <source>OSD \'\n          <x id="INTERPOLATION" equiv-text="{{svc_id}}"/>\'\n        </source>\n        <target>OSD \'\n          <x id="INTERPOLATION" equiv-text="{{svc_id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="dfe70001dc590a9e12512cbb206aa29fb36fd00b" datatype="html">\n        <source>pool \'\n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>\'\n        </source>\n        <target>pool \'\n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="59630daf2f4786690fae0cdad55da8887236eabe" datatype="html">\n        <source>erasure code profile \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </source>\n        <target>erasure code profile \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="79052d6c47258dc19ada12dbb2563761102b6f1d" datatype="html">\n        <source>crush rule \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </source>\n        <target>crush rule \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="369462e5e018360e0600bb570866201ad5c3c8a8" datatype="html">\n        <source>target \'\n          <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>\'\n        </source>\n        <target>target \'\n          <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="cf41310917cb19b335e5a950972bbff2346f7a47" datatype="html">\n        <source>NFS \n          <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>\n        </source>\n        <target>NFS \n          <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>\n        </target>\n      </trans-unit>\n    </body>\n  </file>\n</xliff>'},bOMt:function(t,e,n){!function(t){"use strict";t.defineLocale("nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"sø._ma._ti._on._to._fr._lø.".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] HH:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[i går kl.] LT",lastWeek:"[forrige] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"noen sekunder",ss:"%d sekunder",m:"ett minutt",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dager",M:"en måned",MM:"%d måneder",y:"ett år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("wd/R"))},bOdf:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("5+tZ");function r(t,e){return Object(a.a)(t,e,1)}},bWFh:function(t,e,n){"use strict";var a=n("I+eb"),r=n("2oRo"),o=n("lMq5"),i=n("busE"),s=n("8YOa"),c=n("ImZN"),l=n("GarU"),d=n("hh1v"),u=n("0Dky"),g=n("HH4o"),f=n("1E5z"),p=n("cVYH");t.exports=function(t,e,n){var m=-1!==t.indexOf("Map"),h=-1!==t.indexOf("Weak"),b=m?"set":"add",y=r[t],_=y&&y.prototype,O=y,v={},C=function(t){var e=_[t];i(_,t,"add"==t?function(t){return e.call(this,0===t?0:t),this}:"delete"==t?function(t){return!(h&&!d(t))&&e.call(this,0===t?0:t)}:"get"==t?function(t){return h&&!d(t)?void 0:e.call(this,0===t?0:t)}:"has"==t?function(t){return!(h&&!d(t))&&e.call(this,0===t?0:t)}:function(t,n){return e.call(this,0===t?0:t,n),this})};if(o(t,"function"!=typeof y||!(h||_.forEach&&!u((function(){(new y).entries().next()})))))O=n.getConstructor(e,t,m,b),s.REQUIRED=!0;else if(o(t,!0)){var P=new O,M=P[b](h?{}:-0,1)!=P,x=u((function(){P.has(1)})),w=g((function(t){new y(t)})),T=!h&&u((function(){for(var t=new y,e=5;e--;)t[b](e,e);return!t.has(-0)}));w||((O=e((function(e,n){l(e,O,t);var a=p(new y,e,O);return null!=n&&c(n,a[b],a,m),a}))).prototype=_,_.constructor=O),(x||T)&&(C("delete"),C("has"),m&&C("get")),(T||M)&&C(b),h&&_.clear&&delete _.clear}return v[t]=O,a({global:!0,forced:O!=y},v),f(O,t),h||n.setStrong(O,t,m),O}},bXm7:function(t,e,n){!function(t){"use strict";var e={0:"-ші",1:"-ші",2:"-ші",3:"-ші",4:"-ші",5:"-ші",6:"-шы",7:"-ші",8:"-ші",9:"-шы",10:"-шы",20:"-шы",30:"-шы",40:"-шы",50:"-ші",60:"-шы",70:"-ші",80:"-ші",90:"-шы",100:"-ші"};t.defineLocale("kk",{months:"қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан".split("_"),monthsShort:"қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел".split("_"),weekdays:"жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі".split("_"),weekdaysShort:"жек_дүй_сей_сәр_бей_жұм_сен".split("_"),weekdaysMin:"жк_дй_сй_ср_бй_жм_сн".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Бүгін сағат] LT",nextDay:"[Ертең сағат] LT",nextWeek:"dddd [сағат] LT",lastDay:"[Кеше сағат] LT",lastWeek:"[Өткен аптаның] dddd [сағат] LT",sameElse:"L"},relativeTime:{future:"%s ішінде",past:"%s бұрын",s:"бірнеше секунд",ss:"%d секунд",m:"бір минут",mm:"%d минут",h:"бір сағат",hh:"%d сағат",d:"бір күн",dd:"%d күн",M:"бір ай",MM:"%d ай",y:"бір жыл",yy:"%d жыл"},dayOfMonthOrdinalParse:/\d{1,2}-(ші|шы)/,ordinal:function(t){return t+(e[t]||e[t%10]||e[t>=100?100:null])},week:{dow:1,doy:7}})}(n("wd/R"))},bYM6:function(t,e,n){!function(t){"use strict";t.defineLocale("ar-tn",{months:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:1,doy:4}})}(n("wd/R"))},bpWZ:function(t,e,n){"use strict";function a(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),a(n("FO+L")),a(n("nhM1")),a(n("BARL"))},bpih:function(t,e,n){!function(t){"use strict";t.defineLocale("it",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(t){return(/^[0-9].+$/.test(t)?"tra":"in")+" "+t},past:"%s fa",s:"alcuni secondi",ss:"%d secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n("wd/R"))},busE:function(t,e,n){var a=n("2oRo"),r=n("kRJp"),o=n("UTVS"),i=n("zk60"),s=n("iSVu"),c=n("afO8"),l=c.get,d=c.enforce,u=String(String).split("String");(t.exports=function(t,e,n,s){var c=!!s&&!!s.unsafe,l=!!s&&!!s.enumerable,g=!!s&&!!s.noTargetGet;"function"==typeof n&&("string"!=typeof e||o(n,"name")||r(n,"name",e),d(n).source=u.join("string"==typeof e?e:"")),t!==a?(c?!g&&t[e]&&(l=!0):delete t[e],l?t[e]=n:r(t,e,n)):l?t[e]=n:i(e,n)})(Function.prototype,"toString",(function(){return"function"==typeof this&&l(this).source||s(this)}))},bxKX:function(t,e,n){!function(t){"use strict";t.defineLocale("it-ch",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(t){return(/^[0-9].+$/.test(t)?"tra":"in")+" "+t},past:"%s fa",s:"alcuni secondi",ss:"%d secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n("wd/R"))},bxSN:function(t,e,n){var a=n("mrSG").__decorate;Object.defineProperty(e,"__esModule",{value:!0});var r=n("8Y7J"),o=n("moLw");e.ClickOutsideModule=function(){return a([r.NgModule({declarations:[o.ClickOutsideDirective],exports:[o.ClickOutsideDirective]})],(function(){}))}()},c2HN:function(t,e,n){"use strict";function a(t){return!!t&&"function"!=typeof t.subscribe&&"function"==typeof t.then}n.d(e,"a",(function(){return a}))},c6wG:function(t,e,n){var a=n("dD9F"),r=n("sEf8"),o=n("mdPL"),i=o&&o.isTypedArray,s=i?r(i):a;t.exports=s},cRix:function(t,e,n){!function(t){"use strict";var e="jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.".split("_"),n="jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_");t.defineLocale("fy",{months:"jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber".split("_"),monthsShort:function(t,a){return t?/-MMM-/.test(a)?n[t.month()]:e[t.month()]:e},monthsParseExact:!0,weekdays:"snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon".split("_"),weekdaysShort:"si._mo._ti._wo._to._fr._so.".split("_"),weekdaysMin:"Si_Mo_Ti_Wo_To_Fr_So".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[hjoed om] LT",nextDay:"[moarn om] LT",nextWeek:"dddd [om] LT",lastDay:"[juster om] LT",lastWeek:"[ôfrûne] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oer %s",past:"%s lyn",s:"in pear sekonden",ss:"%d sekonden",m:"ien minút",mm:"%d minuten",h:"ien oere",hh:"%d oeren",d:"ien dei",dd:"%d dagen",M:"ien moanne",MM:"%d moannen",y:"ien jier",yy:"%d jierren"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(t){return t+(1===t||8===t||t>=20?"ste":"de")},week:{dow:1,doy:4}})}(n("wd/R"))},cUpR:function(t,e,n){"use strict";n.d(e,"p",(function(){return v})),n.d(e,"a",(function(){return dt})),n.d(e,"h",(function(){return lt})),n.d(e,"c",(function(){return C})),n.d(e,"d",(function(){return P})),n.d(e,"e",(function(){return W})),n.d(e,"f",(function(){return K})),n.d(e,"g",(function(){return $})),n.d(e,"b",(function(){return tt})),n.d(e,"q",(function(){return i})),n.d(e,"j",(function(){return N})),n.d(e,"i",(function(){return H})),n.d(e,"m",(function(){return Z})),n.d(e,"n",(function(){return Q})),n.d(e,"l",(function(){return w})),n.d(e,"o",(function(){return x})),n.d(e,"k",(function(){return et}));var a=n("SVse"),r=n("8Y7J");let o=null;function i(){return o}const s={class:"className",innerHtml:"innerHTML",readonly:"readOnly",tabindex:"tabIndex"},c={"\b":"Backspace","\t":"Tab","\7f":"Delete","\e":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},l={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\90":"NumLock"},d=(()=>{if(r["ɵglobal"].Node)return r["ɵglobal"].Node.prototype.contains||function(t){return!!(16&this.compareDocumentPosition(t))}})();class u extends class extends class{constructor(){this.resourceLoaderType=null}get attrToPropMap(){return this._attrToPropMap}set attrToPropMap(t){this._attrToPropMap=t}}{constructor(){super(),this._animationPrefix=null,this._transitionEnd=null;try{const t=this.createElement("div",document);if(null!=this.getStyle(t,"animationName"))this._animationPrefix="";else{const e=["Webkit","Moz","O","ms"];for(let n=0;n<e.length;n++)if(null!=this.getStyle(t,e[n]+"AnimationName")){this._animationPrefix="-"+e[n].toLowerCase()+"-";break}}const e={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};Object.keys(e).forEach(n=>{null!=this.getStyle(t,n)&&(this._transitionEnd=e[n])})}catch(t){this._animationPrefix=null,this._transitionEnd=null}}getDistributedNodes(t){return t.getDistributedNodes()}resolveAndSetHref(t,e,n){t.href=null==n?e:e+"/../"+n}supportsDOMEvents(){return!0}supportsNativeShadowDOM(){return"function"==typeof document.body.createShadowRoot}getAnimationPrefix(){return this._animationPrefix?this._animationPrefix:""}getTransitionEnd(){return this._transitionEnd?this._transitionEnd:""}supportsAnimation(){return null!=this._animationPrefix&&null!=this._transitionEnd}}{parse(t){throw new Error("parse not implemented")}static makeCurrent(){var t;t=new u,o||(o=t)}hasProperty(t,e){return e in t}setProperty(t,e,n){t[e]=n}getProperty(t,e){return t[e]}invoke(t,e,n){t[e](...n)}logError(t){window.console&&(console.error?console.error(t):console.log(t))}log(t){window.console&&window.console.log&&window.console.log(t)}logGroup(t){window.console&&window.console.group&&window.console.group(t)}logGroupEnd(){window.console&&window.console.groupEnd&&window.console.groupEnd()}get attrToPropMap(){return s}contains(t,e){return d.call(t,e)}querySelector(t,e){return t.querySelector(e)}querySelectorAll(t,e){return t.querySelectorAll(e)}on(t,e,n){t.addEventListener(e,n,!1)}onAndCancel(t,e,n){return t.addEventListener(e,n,!1),()=>{t.removeEventListener(e,n,!1)}}dispatchEvent(t,e){t.dispatchEvent(e)}createMouseEvent(t){const e=this.getDefaultDocument().createEvent("MouseEvent");return e.initEvent(t,!0,!0),e}createEvent(t){const e=this.getDefaultDocument().createEvent("Event");return e.initEvent(t,!0,!0),e}preventDefault(t){t.preventDefault(),t.returnValue=!1}isPrevented(t){return t.defaultPrevented||null!=t.returnValue&&!t.returnValue}getInnerHTML(t){return t.innerHTML}getTemplateContent(t){return"content"in t&&this.isTemplateElement(t)?t.content:null}getOuterHTML(t){return t.outerHTML}nodeName(t){return t.nodeName}nodeValue(t){return t.nodeValue}type(t){return t.type}content(t){return this.hasProperty(t,"content")?t.content:t}firstChild(t){return t.firstChild}nextSibling(t){return t.nextSibling}parentElement(t){return t.parentNode}childNodes(t){return t.childNodes}childNodesAsList(t){const e=t.childNodes,n=new Array(e.length);for(let a=0;a<e.length;a++)n[a]=e[a];return n}clearNodes(t){for(;t.firstChild;)t.removeChild(t.firstChild)}appendChild(t,e){t.appendChild(e)}removeChild(t,e){t.removeChild(e)}replaceChild(t,e,n){t.replaceChild(e,n)}remove(t){return t.parentNode&&t.parentNode.removeChild(t),t}insertBefore(t,e,n){t.insertBefore(n,e)}insertAllBefore(t,e,n){n.forEach(n=>t.insertBefore(n,e))}insertAfter(t,e,n){t.insertBefore(n,e.nextSibling)}setInnerHTML(t,e){t.innerHTML=e}getText(t){return t.textContent}setText(t,e){t.textContent=e}getValue(t){return t.value}setValue(t,e){t.value=e}getChecked(t){return t.checked}setChecked(t,e){t.checked=e}createComment(t){return this.getDefaultDocument().createComment(t)}createTemplate(t){const e=this.getDefaultDocument().createElement("template");return e.innerHTML=t,e}createElement(t,e){return(e=e||this.getDefaultDocument()).createElement(t)}createElementNS(t,e,n){return(n=n||this.getDefaultDocument()).createElementNS(t,e)}createTextNode(t,e){return(e=e||this.getDefaultDocument()).createTextNode(t)}createScriptTag(t,e,n){const a=(n=n||this.getDefaultDocument()).createElement("SCRIPT");return a.setAttribute(t,e),a}createStyleElement(t,e){const n=(e=e||this.getDefaultDocument()).createElement("style");return this.appendChild(n,this.createTextNode(t,e)),n}createShadowRoot(t){return t.createShadowRoot()}getShadowRoot(t){return t.shadowRoot}getHost(t){return t.host}clone(t){return t.cloneNode(!0)}getElementsByClassName(t,e){return t.getElementsByClassName(e)}getElementsByTagName(t,e){return t.getElementsByTagName(e)}classList(t){return Array.prototype.slice.call(t.classList,0)}addClass(t,e){t.classList.add(e)}removeClass(t,e){t.classList.remove(e)}hasClass(t,e){return t.classList.contains(e)}setStyle(t,e,n){t.style[e]=n}removeStyle(t,e){t.style[e]=""}getStyle(t,e){return t.style[e]}hasStyle(t,e,n){const a=this.getStyle(t,e)||"";return n?a==n:a.length>0}tagName(t){return t.tagName}attributeMap(t){const e=new Map,n=t.attributes;for(let a=0;a<n.length;a++){const t=n.item(a);e.set(t.name,t.value)}return e}hasAttribute(t,e){return t.hasAttribute(e)}hasAttributeNS(t,e,n){return t.hasAttributeNS(e,n)}getAttribute(t,e){return t.getAttribute(e)}getAttributeNS(t,e,n){return t.getAttributeNS(e,n)}setAttribute(t,e,n){t.setAttribute(e,n)}setAttributeNS(t,e,n,a){t.setAttributeNS(e,n,a)}removeAttribute(t,e){t.removeAttribute(e)}removeAttributeNS(t,e,n){t.removeAttributeNS(e,n)}templateAwareRoot(t){return this.isTemplateElement(t)?this.content(t):t}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}getBoundingClientRect(t){try{return t.getBoundingClientRect()}catch(e){return{top:0,bottom:0,left:0,right:0,width:0,height:0}}}getTitle(t){return t.title}setTitle(t,e){t.title=e||""}elementMatches(t,e){return!!this.isElementNode(t)&&(t.matches&&t.matches(e)||t.msMatchesSelector&&t.msMatchesSelector(e)||t.webkitMatchesSelector&&t.webkitMatchesSelector(e))}isTemplateElement(t){return this.isElementNode(t)&&"TEMPLATE"===t.nodeName}isTextNode(t){return t.nodeType===Node.TEXT_NODE}isCommentNode(t){return t.nodeType===Node.COMMENT_NODE}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}hasShadowRoot(t){return null!=t.shadowRoot&&t instanceof HTMLElement}isShadowRoot(t){return t instanceof DocumentFragment}importIntoDoc(t){return document.importNode(this.templateAwareRoot(t),!0)}adoptNode(t){return document.adoptNode(t)}getHref(t){return t.getAttribute("href")}getEventKey(t){let e=t.key;if(null==e){if(e=t.keyIdentifier,null==e)return"Unidentified";e.startsWith("U+")&&(e=String.fromCharCode(parseInt(e.substring(2),16)),3===t.location&&l.hasOwnProperty(e)&&(e=l[e]))}return c[e]||e}getGlobalEventTarget(t,e){return"window"===e?window:"document"===e?t:"body"===e?t.body:null}getHistory(){return window.history}getLocation(){return window.location}getBaseHref(t){const e=f||(f=document.querySelector("base"),f)?f.getAttribute("href"):null;return null==e?null:(n=e,g||(g=document.createElement("a")),g.setAttribute("href",n),"/"===g.pathname.charAt(0)?g.pathname:"/"+g.pathname);var n}resetBaseElement(){f=null}getUserAgent(){return window.navigator.userAgent}setData(t,e,n){this.setAttribute(t,"data-"+e,n)}getData(t,e){return this.getAttribute(t,"data-"+e)}getComputedStyle(t){return getComputedStyle(t)}supportsWebAnimation(){return"function"==typeof Element.prototype.animate}performanceNow(){return window.performance&&window.performance.now?window.performance.now():(new Date).getTime()}supportsCookies(){return!0}getCookie(t){return Object(a["ɵparseCookieValue"])(document.cookie,t)}setCookie(t,e){document.cookie=encodeURIComponent(t)+"="+encodeURIComponent(e)}}let g,f=null;function p(){return!!window.history.pushState}const m=new r.InjectionToken("TRANSITION_ID"),h=[{provide:r.APP_INITIALIZER,useFactory:function(t,e,n){return()=>{n.get(r.ApplicationInitStatus).donePromise.then(()=>{const n=i();Array.prototype.slice.apply(n.querySelectorAll(e,"style[ng-transition]")).filter(e=>n.getAttribute(e,"ng-transition")===t).forEach(t=>n.remove(t))})}},deps:[m,a.DOCUMENT,r.Injector],multi:!0}];class b{static init(){Object(r.setTestabilityGetter)(new b)}addToWindow(t){r["ɵglobal"].getAngularTestability=(e,n=!0)=>{const a=t.findTestabilityInTree(e,n);if(null==a)throw new Error("Could not find testability for element.");return a},r["ɵglobal"].getAllAngularTestabilities=()=>t.getAllTestabilities(),r["ɵglobal"].getAllAngularRootElements=()=>t.getAllRootElements(),r["ɵglobal"].frameworkStabilizers||(r["ɵglobal"].frameworkStabilizers=[]),r["ɵglobal"].frameworkStabilizers.push(t=>{const e=r["ɵglobal"].getAllAngularTestabilities();let n=e.length,a=!1;const o=function(e){a=a||e,n--,0==n&&t(a)};e.forEach((function(t){t.whenStable(o)}))})}findTestabilityInTree(t,e,n){if(null==e)return null;const a=t.getTestability(e);return null!=a?a:n?i().isShadowRoot(e)?this.findTestabilityInTree(t,i().getHost(e),!0):this.findTestabilityInTree(t,i().parentElement(e),!0):null}}function y(t,e){"undefined"!=typeof COMPILED&&COMPILED||((r["ɵglobal"].ng=r["ɵglobal"].ng||{})[t]=e)}const _=(()=>({ApplicationRef:r.ApplicationRef,NgZone:r.NgZone}))();function O(t){return Object(r.getDebugNode)(t)}function v(t){return y("probe",O),y("coreTokens",Object.assign({},_,(t||[]).reduce((t,e)=>(t[e.name]=e.token,t),{}))),()=>O}const C=new r.InjectionToken("EventManagerPlugins");class P{constructor(t,e){this._zone=e,this._eventNameToPlugin=new Map,t.forEach(t=>t.manager=this),this._plugins=t.slice().reverse()}addEventListener(t,e,n){return this._findPluginFor(e).addEventListener(t,e,n)}addGlobalEventListener(t,e,n){return this._findPluginFor(e).addGlobalEventListener(t,e,n)}getZone(){return this._zone}_findPluginFor(t){const e=this._eventNameToPlugin.get(t);if(e)return e;const n=this._plugins;for(let a=0;a<n.length;a++){const e=n[a];if(e.supports(t))return this._eventNameToPlugin.set(t,e),e}throw new Error(`No event manager plugin found for event ${t}`)}}class M{constructor(t){this._doc=t}addGlobalEventListener(t,e,n){const a=i().getGlobalEventTarget(this._doc,t);if(!a)throw new Error(`Unsupported event target ${a} for event ${e}`);return this.addEventListener(a,e,n)}}class x{constructor(){this._stylesSet=new Set}addStyles(t){const e=new Set;t.forEach(t=>{this._stylesSet.has(t)||(this._stylesSet.add(t),e.add(t))}),this.onStylesAdded(e)}onStylesAdded(t){}getAllStyles(){return Array.from(this._stylesSet)}}class w extends x{constructor(t){super(),this._doc=t,this._hostNodes=new Set,this._styleNodes=new Set,this._hostNodes.add(t.head)}_addStylesToHost(t,e){t.forEach(t=>{const n=this._doc.createElement("style");n.textContent=t,this._styleNodes.add(e.appendChild(n))})}addHost(t){this._addStylesToHost(this._stylesSet,t),this._hostNodes.add(t)}removeHost(t){this._hostNodes.delete(t)}onStylesAdded(t){this._hostNodes.forEach(e=>this._addStylesToHost(t,e))}ngOnDestroy(){this._styleNodes.forEach(t=>i().remove(t))}}const T={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},S=/%COMP%/g;function k(t,e,n){for(let a=0;a<e.length;a++){let r=e[a];Array.isArray(r)?k(t,r,n):(r=r.replace(S,t),n.push(r))}return n}function I(t){return e=>{!1===t(e)&&(e.preventDefault(),e.returnValue=!1)}}class N{constructor(t,e,n){this.eventManager=t,this.sharedStylesHost=e,this.appId=n,this.rendererByCompId=new Map,this.defaultRenderer=new R(t)}createRenderer(t,e){if(!t||!e)return this.defaultRenderer;switch(e.encapsulation){case r.ViewEncapsulation.Emulated:{let n=this.rendererByCompId.get(e.id);return n||(n=new D(this.eventManager,this.sharedStylesHost,e,this.appId),this.rendererByCompId.set(e.id,n)),n.applyToHost(t),n}case r.ViewEncapsulation.Native:case r.ViewEncapsulation.ShadowDom:return new L(this.eventManager,this.sharedStylesHost,t,e);default:if(!this.rendererByCompId.has(e.id)){const t=k(e.id,e.styles,[]);this.sharedStylesHost.addStyles(t),this.rendererByCompId.set(e.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}class R{constructor(t){this.eventManager=t,this.data=Object.create(null)}destroy(){}createElement(t,e){return e?document.createElementNS(T[e]||e,t):document.createElement(t)}createComment(t){return document.createComment(t)}createText(t){return document.createTextNode(t)}appendChild(t,e){t.appendChild(e)}insertBefore(t,e,n){t&&t.insertBefore(e,n)}removeChild(t,e){t&&t.removeChild(e)}selectRootElement(t,e){let n="string"==typeof t?document.querySelector(t):t;if(!n)throw new Error(`The selector "${t}" did not match any elements`);return e||(n.textContent=""),n}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,e,n,a){if(a){e=a+":"+e;const r=T[a];r?t.setAttributeNS(r,e,n):t.setAttribute(e,n)}else t.setAttribute(e,n)}removeAttribute(t,e,n){if(n){const a=T[n];a?t.removeAttributeNS(a,e):t.removeAttribute(`${n}:${e}`)}else t.removeAttribute(e)}addClass(t,e){t.classList.add(e)}removeClass(t,e){t.classList.remove(e)}setStyle(t,e,n,a){a&r.RendererStyleFlags2.DashCase?t.style.setProperty(e,n,a&r.RendererStyleFlags2.Important?"important":""):t.style[e]=n}removeStyle(t,e,n){n&r.RendererStyleFlags2.DashCase?t.style.removeProperty(e):t.style[e]=""}setProperty(t,e,n){E(e,"property"),t[e]=n}setValue(t,e){t.nodeValue=e}listen(t,e,n){return E(e,"listener"),"string"==typeof t?this.eventManager.addGlobalEventListener(t,e,I(n)):this.eventManager.addEventListener(t,e,I(n))}}const A=(()=>"@".charCodeAt(0))();function E(t,e){if(t.charCodeAt(0)===A)throw new Error(`Found the synthetic ${e} ${t}. Please include either "BrowserAnimationsModule" or "NoopAnimationsModule" in your application.`)}class D extends R{constructor(t,e,n,a){super(t),this.component=n;const r=k(a+"-"+n.id,n.styles,[]);e.addStyles(r),this.contentAttr="_ngcontent-%COMP%".replace(S,a+"-"+n.id),this.hostAttr=function(t){return"_nghost-%COMP%".replace(S,t)}(a+"-"+n.id)}applyToHost(t){super.setAttribute(t,this.hostAttr,"")}createElement(t,e){const n=super.createElement(t,e);return super.setAttribute(n,this.contentAttr,""),n}}class L extends R{constructor(t,e,n,a){super(t),this.sharedStylesHost=e,this.hostEl=n,this.component=a,this.shadowRoot=a.encapsulation===r.ViewEncapsulation.ShadowDom?n.attachShadow({mode:"open"}):n.createShadowRoot(),this.sharedStylesHost.addHost(this.shadowRoot);const o=k(a.id,a.styles,[]);for(let r=0;r<o.length;r++){const t=document.createElement("style");t.textContent=o[r],this.shadowRoot.appendChild(t)}}nodeOrShadowRoot(t){return t===this.hostEl?this.shadowRoot:t}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}appendChild(t,e){return super.appendChild(this.nodeOrShadowRoot(t),e)}insertBefore(t,e,n){return super.insertBefore(this.nodeOrShadowRoot(t),e,n)}removeChild(t,e){return super.removeChild(this.nodeOrShadowRoot(t),e)}parentNode(t){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(t)))}}const q=(()=>"undefined"!=typeof Zone&&Zone.__symbol__||function(t){return"__zone_symbol__"+t})(),j=q("addEventListener"),F=q("removeEventListener"),z={},G="__zone_symbol__propagationStopped",B=(()=>{const t="undefined"!=typeof Zone&&Zone[q("BLACK_LISTED_EVENTS")];if(t){const e={};return t.forEach(t=>{e[t]=t}),e}})(),V=function(t){return!!B&&B.hasOwnProperty(t)},Y=function(t){const e=z[t.type];if(!e)return;const n=this[e];if(!n)return;const a=[t];if(1===n.length){const t=n[0];return t.zone!==Zone.current?t.zone.run(t.handler,this,a):t.handler.apply(this,a)}{const e=n.slice();for(let n=0;n<e.length&&!0!==t[G];n++){const t=e[n];t.zone!==Zone.current?t.zone.run(t.handler,this,a):t.handler.apply(this,a)}}};class H extends M{constructor(t,e,n){super(t),this.ngZone=e,n&&Object(a.isPlatformServer)(n)||this.patchEvent()}patchEvent(){if("undefined"==typeof Event||!Event||!Event.prototype)return;if(Event.prototype.__zone_symbol__stopImmediatePropagation)return;const t=Event.prototype.__zone_symbol__stopImmediatePropagation=Event.prototype.stopImmediatePropagation;Event.prototype.stopImmediatePropagation=function(){this&&(this[G]=!0),t&&t.apply(this,arguments)}}supports(t){return!0}addEventListener(t,e,n){let a=n;if(!t[j]||r.NgZone.isInAngularZone()&&!V(e))t.addEventListener(e,a,!1);else{let n=z[e];n||(n=z[e]=q("ANGULAR"+e+"FALSE"));let r=t[n];const o=r&&r.length>0;r||(r=t[n]=[]);const i=V(e)?Zone.root:Zone.current;if(0===r.length)r.push({zone:i,handler:a});else{let t=!1;for(let e=0;e<r.length;e++)if(r[e].handler===a){t=!0;break}t||r.push({zone:i,handler:a})}o||t[j](e,Y,!1)}return()=>this.removeEventListener(t,e,a)}removeEventListener(t,e,n){let a=t[F];if(!a)return t.removeEventListener.apply(t,[e,n,!1]);let r=z[e],o=r&&t[r];if(!o)return t.removeEventListener.apply(t,[e,n,!1]);let i=!1;for(let s=0;s<o.length;s++)if(o[s].handler===n){i=!0,o.splice(s,1);break}i?0===o.length&&a.apply(t,[e,Y,!1]):t.removeEventListener.apply(t,[e,n,!1])}}const U={pan:!0,panstart:!0,panmove:!0,panend:!0,pancancel:!0,panleft:!0,panright:!0,panup:!0,pandown:!0,pinch:!0,pinchstart:!0,pinchmove:!0,pinchend:!0,pinchcancel:!0,pinchin:!0,pinchout:!0,press:!0,pressup:!0,rotate:!0,rotatestart:!0,rotatemove:!0,rotateend:!0,rotatecancel:!0,swipe:!0,swipeleft:!0,swiperight:!0,swipeup:!0,swipedown:!0,tap:!0},W=new r.InjectionToken("HammerGestureConfig"),K=new r.InjectionToken("HammerLoader");class ${constructor(){this.events=[],this.overrides={}}buildHammer(t){const e=new Hammer(t,this.options);e.get("pinch").set({enable:!0}),e.get("rotate").set({enable:!0});for(const n in this.overrides)e.get(n).set(this.overrides[n]);return e}}class Z extends M{constructor(t,e,n,a){super(t),this._config=e,this.console=n,this.loader=a}supports(t){return!(!U.hasOwnProperty(t.toLowerCase())&&!this.isCustomEvent(t)||!window.Hammer&&!this.loader&&(this.console.warn(`The "${t}" event cannot be bound because Hammer.JS is not `+"loaded and no custom loader has been specified."),1))}addEventListener(t,e,n){const a=this.manager.getZone();if(e=e.toLowerCase(),!window.Hammer&&this.loader){let a=!1,r=()=>{a=!0};return this.loader().then(()=>{if(!window.Hammer)return this.console.warn("The custom HAMMER_LOADER completed, but Hammer.JS is not present."),void(r=()=>{});a||(r=this.addEventListener(t,e,n))}).catch(()=>{this.console.warn(`The "${e}" event cannot be bound because the custom `+"Hammer.JS loader failed."),r=()=>{}}),()=>{r()}}return a.runOutsideAngular(()=>{const r=this._config.buildHammer(t),o=function(t){a.runGuarded((function(){n(t)}))};return r.on(e,o),()=>{r.off(e,o),"function"==typeof r.destroy&&r.destroy()}})}isCustomEvent(t){return this._config.events.indexOf(t)>-1}}const J=["alt","control","meta","shift"],X={alt:t=>t.altKey,control:t=>t.ctrlKey,meta:t=>t.metaKey,shift:t=>t.shiftKey};class Q extends M{constructor(t){super(t)}supports(t){return null!=Q.parseEventName(t)}addEventListener(t,e,n){const a=Q.parseEventName(e),r=Q.eventCallback(a.fullKey,n,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>i().onAndCancel(t,a.domEventName,r))}static parseEventName(t){const e=t.toLowerCase().split("."),n=e.shift();if(0===e.length||"keydown"!==n&&"keyup"!==n)return null;const a=Q._normalizeKey(e.pop());let r="";if(J.forEach(t=>{const n=e.indexOf(t);n>-1&&(e.splice(n,1),r+=t+".")}),r+=a,0!=e.length||0===a.length)return null;const o={};return o.domEventName=n,o.fullKey=r,o}static getEventFullKey(t){let e="",n=i().getEventKey(t);return n=n.toLowerCase()," "===n?n="space":"."===n&&(n="dot"),J.forEach(a=>{a!=n&&(0,X[a])(t)&&(e+=a+".")}),e+=n,e}static eventCallback(t,e,n){return a=>{Q.getEventFullKey(a)===t&&n.runGuarded(()=>e(a))}}static _normalizeKey(t){switch(t){case"esc":return"escape";default:return t}}}class tt{}class et extends tt{constructor(t){super(),this._doc=t}sanitize(t,e){if(null==e)return null;switch(t){case r.SecurityContext.NONE:return e;case r.SecurityContext.HTML:return e instanceof at?e.changingThisBreaksApplicationSecurity:(this.checkNotSafeValue(e,"HTML"),Object(r["ɵ_sanitizeHtml"])(this._doc,String(e)));case r.SecurityContext.STYLE:return e instanceof rt?e.changingThisBreaksApplicationSecurity:(this.checkNotSafeValue(e,"Style"),Object(r["ɵ_sanitizeStyle"])(e));case r.SecurityContext.SCRIPT:if(e instanceof ot)return e.changingThisBreaksApplicationSecurity;throw this.checkNotSafeValue(e,"Script"),new Error("unsafe value used in a script context");case r.SecurityContext.URL:return e instanceof st||e instanceof it?e.changingThisBreaksApplicationSecurity:(this.checkNotSafeValue(e,"URL"),Object(r["ɵ_sanitizeUrl"])(String(e)));case r.SecurityContext.RESOURCE_URL:if(e instanceof st)return e.changingThisBreaksApplicationSecurity;throw this.checkNotSafeValue(e,"ResourceURL"),new Error("unsafe value used in a resource URL context (see http://g.co/ng/security#xss)");default:throw new Error(`Unexpected SecurityContext ${t} (see http://g.co/ng/security#xss)`)}}checkNotSafeValue(t,e){if(t instanceof nt)throw new Error(`Required a safe ${e}, got a ${t.getTypeName()} `+"(see http://g.co/ng/security#xss)")}bypassSecurityTrustHtml(t){return new at(t)}bypassSecurityTrustStyle(t){return new rt(t)}bypassSecurityTrustScript(t){return new ot(t)}bypassSecurityTrustUrl(t){return new it(t)}bypassSecurityTrustResourceUrl(t){return new st(t)}}class nt{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity}`+" (see http://g.co/ng/security#xss)"}}class at extends nt{getTypeName(){return"HTML"}}class rt extends nt{getTypeName(){return"Style"}}class ot extends nt{getTypeName(){return"Script"}}class it extends nt{getTypeName(){return"URL"}}class st extends nt{getTypeName(){return"ResourceURL"}}const ct=[{provide:r.PLATFORM_ID,useValue:a["ɵPLATFORM_BROWSER_ID"]},{provide:r.PLATFORM_INITIALIZER,useValue:function(){u.makeCurrent(),b.init()},multi:!0},{provide:a.PlatformLocation,useClass:class extends a.PlatformLocation{constructor(t){super(),this._doc=t,this._init()}_init(){this.location=i().getLocation(),this._history=i().getHistory()}getBaseHrefFromDOM(){return i().getBaseHref(this._doc)}onPopState(t){i().getGlobalEventTarget(this._doc,"window").addEventListener("popstate",t,!1)}onHashChange(t){i().getGlobalEventTarget(this._doc,"window").addEventListener("hashchange",t,!1)}get href(){return this.location.href}get protocol(){return this.location.protocol}get hostname(){return this.location.hostname}get port(){return this.location.port}get pathname(){return this.location.pathname}get search(){return this.location.search}get hash(){return this.location.hash}set pathname(t){this.location.pathname=t}pushState(t,e,n){p()?this._history.pushState(t,e,n):this.location.hash=n}replaceState(t,e,n){p()?this._history.replaceState(t,e,n):this.location.hash=n}forward(){this._history.forward()}back(){this._history.back()}getState(){return this._history.state}},deps:[a.DOCUMENT]},{provide:a.DOCUMENT,useFactory:function(){return document},deps:[]}],lt=Object(r.createPlatformFactory)(r.platformCore,"browser",ct);class dt{constructor(t){if(t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}static withServerTransition(t){return{ngModule:dt,providers:[{provide:r.APP_ID,useValue:t.appId},{provide:m,useExisting:r.APP_ID},h]}}}"undefined"!=typeof window&&window},cVYH:function(t,e,n){var a=n("hh1v"),r=n("0rvr");t.exports=function(t,e,n){var o,i;return r&&"function"==typeof(o=e.constructor)&&o!==n&&a(i=o.prototype)&&i!==n.prototype&&r(t,i),t}},cp0P:function(t,e,n){"use strict";n.d(e,"a",(function(){return c}));var a=n("HDdC"),r=n("DH7j"),o=n("lJxs"),i=n("XoHu"),s=n("Cfvw");function c(...t){if(1===t.length){const e=t[0];if(Object(r.a)(e))return l(e,null);if(Object(i.a)(e)&&Object.getPrototypeOf(e)===Object.prototype){const t=Object.keys(e);return l(t.map(t=>e[t]),t)}}if("function"==typeof t[t.length-1]){const e=t.pop();return l(t=1===t.length&&Object(r.a)(t[0])?t[0]:t,null).pipe(Object(o.a)(t=>e(...t)))}return l(t,null)}function l(t,e){return new a.a(n=>{const a=t.length;if(0===a)return void n.complete();const r=new Array(a);let o=0,i=0;for(let c=0;c<a;c++){const l=Object(s.a)(t[c]);let d=!1;n.add(l.subscribe({next:t=>{d||(d=!0,i++),r[c]=t},error:t=>n.error(t),complete:()=>{o++,o!==a&&d||(i===a&&n.next(e?e.reduce((t,e,n)=>(t[e]=r[n],t),{}):r),n.complete())}}))}})}},"cq/+":function(t,e,n){var a=n("mc0g")();t.exports=a},crnd:function(t,e){function n(t){return Promise.resolve().then((function(){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e}))}n.keys=function(){return[]},n.resolve=n,t.exports=n,n.id="crnd"},cvCv:function(t,e){t.exports=function(t){return function(){return t}}},czA5:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MouseEvent=("undefined"!=typeof window&&window||global).MouseEvent,e.KeyboardEvent=("undefined"!=typeof window&&window||global).KeyboardEvent,e.Event=("undefined"!=typeof window&&window||global).Event},czMo:function(t,e,n){!function(t){"use strict";t.defineLocale("en-il",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")}})}(n("wd/R"))},"d+Og":function(t,e,n){"use strict";var a=n("LvDl");let r=(()=>{class t{constructor(t){if(this.type=t,!this.isValidType())throw new Error("Wrong placement group category type");this.setTypeStates()}isValidType(){return t.VALID_CATEGORIES.includes(this.type)}setTypeStates(){switch(this.type){case t.CATEGORY_CLEAN:this.states=["active","clean"];break;case t.CATEGORY_WORKING:this.states=["activating","backfill_wait","backfilling","creating","deep","degraded","forced_backfill","forced_recovery","peering","peered","recovering","recovery_wait","repair","scrubbing","snaptrim","snaptrim_wait"];break;case t.CATEGORY_WARNING:this.states=["backfill_toofull","backfill_unfound","down","incomplete","inconsistent","recovery_toofull","recovery_unfound","remapped","snaptrim_error","stale","undersized"];break;default:this.states=[]}}}return t.CATEGORY_CLEAN="clean",t.CATEGORY_WORKING="working",t.CATEGORY_WARNING="warning",t.CATEGORY_UNKNOWN="unknown",t.VALID_CATEGORIES=[t.CATEGORY_CLEAN,t.CATEGORY_WORKING,t.CATEGORY_WARNING,t.CATEGORY_UNKNOWN],t})();var o=n("8Y7J"),i=n("kJI8");n.d(e,"a",(function(){return s}));let s=(()=>{class t{constructor(){this.categories=this.createCategories()}getAllTypes(){return r.VALID_CATEGORIES}getTypeByStates(t){const e=this.getPgStatesFromText(t);if(0===e.length)return r.CATEGORY_UNKNOWN;const n=a.zipObject(r.VALID_CATEGORIES,r.VALID_CATEGORIES.map(t=>a.intersection(this.categories[t].states,e).length));if(n[r.CATEGORY_WARNING]>0)return r.CATEGORY_WARNING;const o=n[r.CATEGORY_WORKING];return e.length>n[r.CATEGORY_CLEAN]+o?r.CATEGORY_UNKNOWN:o?r.CATEGORY_WORKING:r.CATEGORY_CLEAN}createCategories(){return a.zipObject(r.VALID_CATEGORIES,r.VALID_CATEGORIES.map(t=>new r(t)))}getPgStatesFromText(t){const e=t.replace(/[^a-z]+/g," ").trim().split(" ");return a.uniq(e)}}return t.ngInjectableDef=o["ɵɵdefineInjectable"]({factory:function(){return new t},token:t,providedIn:i.a}),t})()},dApe:function(t,e,n){"use strict";n.d(e,"a",(function(){return l}));var a=n("8Y7J"),r=n("2vnA"),o=n("MP8s"),i=n("X+05"),s=function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},c=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},l=function(){function t(t){var e=this;this.treeModel=t,this.yBlocks=0,this.x=0,this.viewportHeight=null,this.viewport=null,t.virtualScroll=this,this._dispose=[Object(r.b)((function(){return e.fixScroll()}))]}return Object.defineProperty(t.prototype,"y",{get:function(){return 150*this.yBlocks},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"totalHeight",{get:function(){return this.treeModel.virtualRoot?this.treeModel.virtualRoot.height:0},enumerable:!0,configurable:!0}),t.prototype.fireEvent=function(t){this.treeModel.fireEvent(t)},t.prototype.init=function(){var t=this,e=this.recalcPositions.bind(this);e(),this._dispose=this._dispose.concat([Object(r.e)((function(){return t.treeModel.roots}),e),Object(r.e)((function(){return t.treeModel.expandedNodeIds}),e),Object(r.e)((function(){return t.treeModel.hiddenNodeIds}),e)]),this.treeModel.subscribe(i.a.loadNodeChildren,e)},t.prototype.isEnabled=function(){return this.treeModel.options.useVirtualScroll},t.prototype._setYBlocks=function(t){this.yBlocks=t},t.prototype.recalcPositions=function(){this.treeModel.virtualRoot.height=this._getPositionAfter(this.treeModel.getVisibleRoots(),0)},t.prototype._getPositionAfter=function(t,e){var n=this,a=e;return t.forEach((function(t){t.position=a,a=n._getPositionAfterNode(t,a)})),a},t.prototype._getPositionAfterNode=function(t,e){var n=t.getSelfHeight()+e;return t.children&&t.isExpanded&&(n=this._getPositionAfter(t.visibleChildren,n)),t.height=n-e,n},t.prototype.clear=function(){this._dispose.forEach((function(t){return t()}))},t.prototype.setViewport=function(t){Object.assign(this,{viewport:t,x:t.scrollLeft,yBlocks:Math.round(t.scrollTop/150),viewportHeight:t.getBoundingClientRect?t.getBoundingClientRect().height:0})},t.prototype.scrollIntoView=function(t,e,n){if(void 0===n&&(n=!0),t.options.scrollContainer){var a=t.options.scrollContainer,r=a.getBoundingClientRect().height,o=a.getBoundingClientRect().top,i=this.viewport.getBoundingClientRect().top+t.position-o;(e||i<a.scrollTop||i+t.getSelfHeight()>a.scrollTop+r)&&(a.scrollTop=n?i-r/2:i)}else(e||t.position<this.y||t.position+t.getSelfHeight()>this.y+this.viewportHeight)&&this.viewport&&(this.viewport.scrollTop=n?t.position-this.viewportHeight/2:t.position,this._setYBlocks(Math.floor(this.viewport.scrollTop/150)))},t.prototype.getViewportNodes=function(t){var e=this;if(!t)return[];var n=t.filter((function(t){return!t.isHidden}));if(!this.isEnabled())return n;if(!this.viewportHeight||!n.length)return[];var a=d(n,(function(t){return t.position+500>e.y||t.position+t.height>e.y})),r=d(n,(function(t){return t.position-500>e.y+e.viewportHeight}),a),o=[];if(r-a>(1e3+this.viewportHeight)/n[0].treeModel.options.options.nodeHeight)return[];for(var i=a;i<=r;i++)o.push(n[i]);return o},t.prototype.fixScroll=function(){var t=Math.max(0,this.totalHeight-this.viewportHeight);this.y<0&&this._setYBlocks(0),this.y>t&&this._setYBlocks(t/150)},s([r.d,c("design:type",Object)],t.prototype,"yBlocks",void 0),s([r.d,c("design:type",Object)],t.prototype,"x",void 0),s([r.d,c("design:type",Object)],t.prototype,"viewportHeight",void 0),s([r.c,c("design:type",Object),c("design:paramtypes",[])],t.prototype,"y",null),s([r.c,c("design:type",Object),c("design:paramtypes",[])],t.prototype,"totalHeight",null),s([r.a,c("design:type",Function),c("design:paramtypes",[Object]),c("design:returntype",void 0)],t.prototype,"_setYBlocks",null),s([r.a,c("design:type",Function),c("design:paramtypes",[]),c("design:returntype",void 0)],t.prototype,"recalcPositions",null),s([r.a,c("design:type",Function),c("design:paramtypes",[Object]),c("design:returntype",void 0)],t.prototype,"setViewport",null),s([r.a,c("design:type",Function),c("design:paramtypes",[Object,Object,Object]),c("design:returntype",void 0)],t.prototype,"scrollIntoView",null),s([Object(a.Injectable)(),c("design:paramtypes",[o.a])],t)}();function d(t,e,n){void 0===n&&(n=0);for(var a=n,r=t.length-1;a!==r;){var o=Math.floor((a+r)/2);e(t[o])?r=o:a=a===o?r:o}return a}},"dBg+":function(t,e){e.f=Object.getOwnPropertySymbols},dD9F:function(t,e,n){var a=n("NykK"),r=n("shjB"),o=n("ExA7"),i={};i["[object Float32Array]"]=i["[object Float64Array]"]=i["[object Int8Array]"]=i["[object Int16Array]"]=i["[object Int32Array]"]=i["[object Uint8Array]"]=i["[object Uint8ClampedArray]"]=i["[object Uint16Array]"]=i["[object Uint32Array]"]=!0,i["[object Arguments]"]=i["[object Array]"]=i["[object ArrayBuffer]"]=i["[object Boolean]"]=i["[object DataView]"]=i["[object Date]"]=i["[object Error]"]=i["[object Function]"]=i["[object Map]"]=i["[object Number]"]=i["[object Object]"]=i["[object RegExp]"]=i["[object Set]"]=i["[object String]"]=i["[object WeakMap]"]=!1,t.exports=function(t){return o(t)&&r(t.length)&&!!i[a(t)]}},dEH0:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{transform(t){return`${t} ms`}}},dNwA:function(t,e,n){!function(t){"use strict";t.defineLocale("sw",{months:"Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des".split("_"),weekdays:"Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi".split("_"),weekdaysShort:"Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos".split("_"),weekdaysMin:"J2_J3_J4_J5_Al_Ij_J1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[leo saa] LT",nextDay:"[kesho saa] LT",nextWeek:"[wiki ijayo] dddd [saat] LT",lastDay:"[jana] LT",lastWeek:"[wiki iliyopita] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s baadaye",past:"tokea %s",s:"hivi punde",ss:"sekunde %d",m:"dakika moja",mm:"dakika %d",h:"saa limoja",hh:"masaa %d",d:"siku moja",dd:"masiku %d",M:"mwezi mmoja",MM:"miezi %d",y:"mwaka mmoja",yy:"miaka %d"},week:{dow:1,doy:7}})}(n("wd/R"))},dTAl:function(t,e,n){var a=n("GoyQ"),r=Object.create,o=function(){function t(){}return function(e){if(!a(e))return{};if(r)return r(e);t.prototype=e;var n=new t;return t.prototype=void 0,n}}();t.exports=o},dgut:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("NEZu");n("Fgil");class r{constructor(t){this.dimlessBinaryPipe=t,this.style={height:"30px",width:"100px"},this.colors=[{backgroundColor:"rgba(40,140,234,0.2)",borderColor:"rgba(40,140,234,1)",pointBackgroundColor:"rgba(40,140,234,1)",pointBorderColor:"#fff",pointHoverBackgroundColor:"#fff",pointHoverBorderColor:"rgba(40,140,234,0.8)"}],this.options={animation:{duration:0},responsive:!0,maintainAspectRatio:!1,legend:{display:!1},elements:{line:{borderWidth:1}},tooltips:{enabled:!1,mode:"index",intersect:!1,custom:void 0,callbacks:{label:t=>this.isBinary?this.dimlessBinaryPipe.transform(t.yLabel):t.yLabel,title:()=>""}},scales:{yAxes:[{display:!1}],xAxes:[{display:!1}]}},this.datasets=[{data:[]}],this.labels=[]}ngOnInit(){const t=new a.a(this.chartCanvasRef,this.chartTooltipRef,(t,e)=>e+t.caretX+"px",t=>t.caretY-t.height-t.yPadding-5+"px");t.customColors={backgroundColor:this.colors[0].pointBackgroundColor,borderColor:this.colors[0].pointBorderColor},this.options.tooltips.custom=e=>{t.customTooltips(e)}}ngOnChanges(t){this.datasets[0].data=t.data.currentValue,this.labels=[...Array(t.data.currentValue.length)]}}},dt0z:function(t,e,n){var a=n("zoYe");t.exports=function(t){return null==t?"":a(t)}},"e+ae":function(t,e,n){!function(t){"use strict";var e="január_február_marec_apríl_máj_jún_júl_august_september_október_november_december".split("_"),n="jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec".split("_");function a(t){return t>1&&t<5}function r(t,e,n,r){var o=t+" ";switch(n){case"s":return e||r?"pár sekúnd":"pár sekundami";case"ss":return e||r?o+(a(t)?"sekundy":"sekúnd"):o+"sekundami";case"m":return e?"minúta":r?"minútu":"minútou";case"mm":return e||r?o+(a(t)?"minúty":"minút"):o+"minútami";case"h":return e?"hodina":r?"hodinu":"hodinou";case"hh":return e||r?o+(a(t)?"hodiny":"hodín"):o+"hodinami";case"d":return e||r?"deň":"dňom";case"dd":return e||r?o+(a(t)?"dni":"dní"):o+"dňami";case"M":return e||r?"mesiac":"mesiacom";case"MM":return e||r?o+(a(t)?"mesiace":"mesiacov"):o+"mesiacmi";case"y":return e||r?"rok":"rokom";case"yy":return e||r?o+(a(t)?"roky":"rokov"):o+"rokmi"}}t.defineLocale("sk",{months:e,monthsShort:n,weekdays:"nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota".split("_"),weekdaysShort:"ne_po_ut_st_št_pi_so".split("_"),weekdaysMin:"ne_po_ut_st_št_pi_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm"},calendar:{sameDay:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nedeľu o] LT";case 1:case 2:return"[v] dddd [o] LT";case 3:return"[v stredu o] LT";case 4:return"[vo štvrtok o] LT";case 5:return"[v piatok o] LT";case 6:return"[v sobotu o] LT"}},lastDay:"[včera o] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulú nedeľu o] LT";case 1:case 2:return"[minulý] dddd [o] LT";case 3:return"[minulú stredu o] LT";case 4:case 5:return"[minulý] dddd [o] LT";case 6:return"[minulú sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %s",s:r,ss:r,m:r,mm:r,h:r,hh:r,d:r,dd:r,M:r,MM:r,y:r,yy:r},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("wd/R"))},e4Nc:function(t,e,n){var a=n("fGT3"),r=n("k+1r"),o=n("JHgL"),i=n("pSRY"),s=n("H8j4");function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var a=t[e];this.set(a[0],a[1])}}c.prototype.clear=a,c.prototype.delete=r,c.prototype.get=o,c.prototype.has=i,c.prototype.set=s,t.exports=c},e5cp:function(t,e,n){var a=n("fmRc"),r=n("or5M"),o=n("HDyB"),i=n("seXi"),s=n("QqLw"),c=n("Z0cm"),l=n("DSRE"),d=n("c6wG"),u="[object Object]",g=Object.prototype.hasOwnProperty;t.exports=function(t,e,n,f,p,m){var h=c(t),b=c(e),y=h?"[object Array]":s(t),_=b?"[object Array]":s(e),O=(y="[object Arguments]"==y?u:y)==u,v=(_="[object Arguments]"==_?u:_)==u,C=y==_;if(C&&l(t)){if(!l(e))return!1;h=!0,O=!1}if(C&&!O)return m||(m=new a),h||d(t)?r(t,e,n,f,p,m):o(t,e,y,n,f,p,m);if(!(1&n)){var P=O&&g.call(t,"__wrapped__"),M=v&&g.call(e,"__wrapped__");if(P||M){var x=P?t.value():t,w=M?e.value():e;return m||(m=new a),p(x,w,n,f,m)}}return!!C&&(m||(m=new a),i(t,e,n,f,p,m))}},"eDl+":function(t,e){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},eIep:function(t,e,n){"use strict";n.d(e,"a",(function(){return c}));var a=n("l7GE"),r=n("51Dv"),o=n("ZUHj"),i=n("lJxs"),s=n("Cfvw");function c(t,e){return"function"==typeof e?n=>n.pipe(c((n,a)=>Object(s.a)(t(n,a)).pipe(Object(i.a)((t,r)=>e(n,t,a,r))))):e=>e.lift(new l(t))}class l{constructor(t){this.project=t}call(t,e){return e.subscribe(new d(t,this.project))}}class d extends a.a{constructor(t,e){super(t),this.project=e,this.index=0}_next(t){let e;const n=this.index++;try{e=this.project(t,n)}catch(a){return void this.destination.error(a)}this._innerSub(e,t,n)}_innerSub(t,e,n){const a=this.innerSubscription;a&&a.unsubscribe();const i=new r.a(this,e,n),s=this.destination;s.add(i),this.innerSubscription=Object(o.a)(this,t,void 0,void 0,i),this.innerSubscription!==i&&s.add(this.innerSubscription)}_complete(){const{innerSubscription:t}=this;t&&!t.closed||super._complete(),this.unsubscribe()}_unsubscribe(){this.innerSubscription=null}notifyComplete(t){this.destination.remove(t),this.innerSubscription=null,this.isStopped&&super._complete()}notifyNext(t,e,n,a,r){this.destination.next(e)}}},eNwd:function(t,e,n){"use strict";var a=n("3N8a");class r extends a.a{constructor(t,e){super(t,e),this.scheduler=t,this.work=e}requestAsyncId(t,e,n=0){return null!==n&&n>0?super.requestAsyncId(t,e,n):(t.actions.push(this),t.scheduled||(t.scheduled=requestAnimationFrame(()=>t.flush(null))))}recycleAsyncId(t,e,n=0){if(null!==n&&n>0||null===n&&this.delay>0)return super.recycleAsyncId(t,e,n);0===t.actions.length&&(cancelAnimationFrame(e),t.scheduled=void 0)}}var o=n("IjjT");class i extends o.a{flush(t){this.active=!0,this.scheduled=void 0;const{actions:e}=this;let n,a=-1,r=e.length;t=t||e.shift();do{if(n=t.execute(t.state,t.delay))break}while(++a<r&&(t=e.shift()));if(this.active=!1,n){for(;++a<r&&(t=e.shift());)t.unsubscribe();throw n}}}n.d(e,"a",(function(){return s}));const s=new i(r)},eTJe:function(t,e,n){"use strict";var a=n("s7LF"),r=n("LvDl"),o=n("cp0P"),i=(n("SgmB"),n("ZDA6"),n("sne2"),n("mtw6")),s=n("QFaf"),c=n("1Ni5"),l=(n("9nlD"),function(t){return t.editing="editing",t}({}));class d{}n.d(e,"a",(function(){return u}));class u{constructor(t,e,n,a,r,o,i){this.route=t,this.router=e,this.roleService=n,this.scopeService=a,this.notificationService=r,this.i18n=o,this.actionLabels=i,this.scopes=[],this.scopes_permissions=[],this.roleFormMode=l,this.resource=this.i18n("role"),this.createForm(),this.listenToChanges()}createForm(){this.roleForm=new s.a({name:new a.i("",{validators:[a.B.required],asyncValidators:[c.a.unique(this.roleService.exists,this.roleService)]}),description:new a.i(""),scopes_permissions:new a.i({})})}ngOnInit(){this.columns=[{prop:"scope",name:this.i18n("All"),flexGrow:2,cellTemplate:this.cellScopeCheckboxTpl,headerTemplate:this.headerPermissionCheckboxTpl},{prop:"read",name:this.i18n("Read"),flexGrow:1,cellClass:"text-center",cellTemplate:this.cellPermissionCheckboxTpl,headerTemplate:this.headerPermissionCheckboxTpl},{prop:"create",name:this.i18n("Create"),flexGrow:1,cellClass:"text-center",cellTemplate:this.cellPermissionCheckboxTpl,headerTemplate:this.headerPermissionCheckboxTpl},{prop:"update",name:this.i18n("Update"),flexGrow:1,cellClass:"text-center",cellTemplate:this.cellPermissionCheckboxTpl,headerTemplate:this.headerPermissionCheckboxTpl},{prop:"delete",name:this.i18n("Delete"),flexGrow:1,cellClass:"text-center",cellTemplate:this.cellPermissionCheckboxTpl,headerTemplate:this.headerPermissionCheckboxTpl}],this.router.url.startsWith("/user-management/roles/edit")?(this.mode=this.roleFormMode.editing,this.action=this.actionLabels.EDIT):this.action=this.actionLabels.CREATE,this.mode===this.roleFormMode.editing?this.initEdit():this.initCreate()}initCreate(){this.scopeService.list().subscribe(t=>{this.scopes=t,this.roleForm.get("scopes_permissions").setValue({})})}initEdit(){this.roleForm.get("name").disable(),this.route.params.subscribe(t=>{const e=[];e.push(this.scopeService.list()),e.push(this.roleService.get(t.name)),Object(o.a)(e).subscribe(t=>{this.scopes=t[0],["name","description","scopes_permissions"].forEach(e=>this.roleForm.get(e).setValue(t[1][e]))})})}listenToChanges(){this.roleForm.get("scopes_permissions").valueChanges.subscribe(t=>{const e=[];r.each(this.scopes,n=>{const a={read:!1,create:!1,update:!1,delete:!1};a.scope=n,n in t&&r.each(t[n],t=>{a[t]=!0}),e.push(a)}),this.scopes_permissions=e})}isRowChecked(t){const e=r.find(this.scopes_permissions,e=>e.scope===t);return!r.isUndefined(e)&&e.read&&e.create&&e.update&&e.delete}isHeaderChecked(t){let e=[t];return"scope"===t&&(e=["read","create","update","delete"]),e.every(t=>this.scopes_permissions.every(e=>e[t]))}onClickCellCheckbox(t,e,n=null){const a=r.cloneDeep(this.roleForm.getValue("scopes_permissions"));let o=[e];"scope"===e&&(o=["read","create","update","delete"]),t in a||(a[t]=[]),n&&n.target.checked||!r.isEqual(o.sort(),r.intersection(a[t],o).sort())?a[t]=r.union(a[t],o):(a[t]=r.difference(a[t],o),r.isEmpty(a[t])&&r.unset(a,t)),this.roleForm.get("scopes_permissions").setValue(a)}onClickHeaderCheckbox(t,e){const n=r.cloneDeep(this.roleForm.getValue("scopes_permissions"));let a=[t];"scope"===t&&(a=["read","create","update","delete"]),r.each(a,t=>{r.each(this.scopes,a=>{e.target.checked?n[a]=r.union(n[a],[t]):(n[a]=r.difference(n[a],[t]),r.isEmpty(n[a])&&r.unset(n,a))})}),this.roleForm.get("scopes_permissions").setValue(n)}getRequest(){const t=new d;return["name","description","scopes_permissions"].forEach(e=>t[e]=this.roleForm.get(e).value),t}createAction(){const t=this.getRequest();this.roleService.create(t).subscribe(()=>{this.notificationService.show(i.a.success,this.i18n("Created role '{{role_name}}'",{role_name:t.name})),this.router.navigate(["/user-management/roles"])},()=>{this.roleForm.setErrors({cdSubmitButton:!0})})}editAction(){const t=this.getRequest();this.roleService.update(t).subscribe(()=>{this.notificationService.show(i.a.success,this.i18n("Updated role '{{role_name}}'",{role_name:t.name})),this.router.navigate(["/user-management/roles"])},()=>{this.roleForm.setErrors({cdSubmitButton:!0})})}submit(){this.mode===this.roleFormMode.editing?this.editAction():this.createAction()}}},eUgh:function(t,e){t.exports=function(t,e){for(var n=-1,a=null==t?0:t.length,r=Array(a);++n<a;)r[n]=e(t[n],n,t);return r}},ebwN:function(t,e,n){var a=n("Cwc5")(n("Kz5y"),"Map");t.exports=a},efK2:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("LvDl");class r{transform(t,e,n){return a.isString(t)?(n=a.defaultTo(n,""),a.truncate(t,{length:e,omission:n})):t}}},"ej+x":function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var a=n("lOp/"),r=n("8Y7J"),o=n("IheW");let i=(()=>{class t{constructor(t,e){this.http=t,this.timerService=e,this.API_URL="api/feature_toggles",this.REFRESH_INTERVAL=3e4,this.featureToggleMap$=this.timerService.get(()=>this.http.get(this.API_URL),this.REFRESH_INTERVAL)}get(){return this.featureToggleMap$}}return t.ngInjectableDef=r["ɵɵdefineInjectable"]({factory:function(){return new t(r["ɵɵinject"](o.c),r["ɵɵinject"](a.a))},token:t,providedIn:"root"}),t})()},ejVf:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ColumnMode=function(t){return t.standard="standard",t.flex="flex",t.force="force",t}(e.ColumnMode||{})},ekgI:function(t,e,n){var a=n("YESw"),r=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;return a?void 0!==e[t]:r.call(e,t)}},ewvW:function(t,e,n){var a=n("HYAF");t.exports=function(t){return Object(a(t))}},f29J:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("GyhO");function r(...t){return e=>e.lift.call(Object(a.a)(e,...t))}},f5p1:function(t,e,n){var a=n("2oRo"),r=n("iSVu"),o=a.WeakMap;t.exports="function"==typeof o&&/native code/.test(r(o))},f95s:function(t,e,n){"use strict";n.d(e,"a",(function(){return m}));var a=n("2vnA"),r=n("X+05"),o=n("afOK"),i=n.n(o),s=n("RBan"),c=n.n(s),l=n("MJIl"),d=n.n(l),u=n("Jlc5"),g=n.n(u),f=function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},p=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},m=function(){function t(t,e,n,a){var r=this;this.data=t,this.parent=e,this.treeModel=n,this.position=0,this.allowDrop=function(t,e){return r.options.allowDrop(t,{parent:r,index:0},e)},this.allowDragoverStyling=function(){return r.options.allowDragoverStyling},null==this.id&&(this.id=Math.floor(1e13*Math.random())),this.index=a,this.getField("children")&&this._initChildren(),this.autoLoadChildren()}return Object.defineProperty(t.prototype,"isHidden",{get:function(){return this.treeModel.isHidden(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isExpanded",{get:function(){return this.treeModel.isExpanded(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isActive",{get:function(){return this.treeModel.isActive(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isFocused",{get:function(){return this.treeModel.isNodeFocused(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isSelected",{get:function(){return this.isSelectable()?this.treeModel.isSelected(this):d()(this.children,(function(t){return t.isSelected}))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isAllSelected",{get:function(){return this.isSelectable()?this.treeModel.isSelected(this):g()(this.children,(function(t){return t.isAllSelected}))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isPartiallySelected",{get:function(){return this.isSelected&&!this.isAllSelected},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"level",{get:function(){return this.parent?this.parent.level+1:0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"path",{get:function(){return this.parent?this.parent.path.concat([this.id]):[]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"elementRef",{get:function(){throw"Element Ref is no longer supported since introducing virtual scroll\n\n      You may use a template to obtain a reference to the element"},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"originalNode",{get:function(){return this._originalNode},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hasChildren",{get:function(){return!!(this.getField("hasChildren")||this.children&&this.children.length>0)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isCollapsed",{get:function(){return!this.isExpanded},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isLeaf",{get:function(){return!this.hasChildren},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isRoot",{get:function(){return this.parent.data.virtual},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"realParent",{get:function(){return this.isRoot?null:this.parent},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"options",{get:function(){return this.treeModel.options},enumerable:!0,configurable:!0}),t.prototype.fireEvent=function(t){this.treeModel.fireEvent(t)},Object.defineProperty(t.prototype,"displayField",{get:function(){return this.getField("display")},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"id",{get:function(){return this.getField("id")},set:function(t){this.setField("id",t)},enumerable:!0,configurable:!0}),t.prototype.getField=function(t){return this.data[this.options[t+"Field"]]},t.prototype.setField=function(t,e){this.data[this.options[t+"Field"]]=e},t.prototype._findAdjacentSibling=function(t,e){void 0===e&&(e=!1);var n=this._getParentsChildren(e),a=n.indexOf(this);return n.length>a+t?n[a+t]:null},t.prototype.findNextSibling=function(t){return void 0===t&&(t=!1),this._findAdjacentSibling(1,t)},t.prototype.findPreviousSibling=function(t){return void 0===t&&(t=!1),this._findAdjacentSibling(-1,t)},t.prototype.getVisibleChildren=function(){return this.visibleChildren},Object.defineProperty(t.prototype,"visibleChildren",{get:function(){return(this.children||[]).filter((function(t){return!t.isHidden}))},enumerable:!0,configurable:!0}),t.prototype.getFirstChild=function(t){void 0===t&&(t=!1);var e=t?this.visibleChildren:this.children;return i()(e||[])},t.prototype.getLastChild=function(t){void 0===t&&(t=!1);var e=t?this.visibleChildren:this.children;return c()(e||[])},t.prototype.findNextNode=function(t,e){return void 0===t&&(t=!0),void 0===e&&(e=!1),t&&this.isExpanded&&this.getFirstChild(e)||this.findNextSibling(e)||this.parent&&this.parent.findNextNode(!1,e)},t.prototype.findPreviousNode=function(t){void 0===t&&(t=!1);var e=this.findPreviousSibling(t);return e?e._getLastOpenDescendant(t):this.realParent},t.prototype._getLastOpenDescendant=function(t){void 0===t&&(t=!1);var e=this.getLastChild(t);return this.isCollapsed||!e?this:e._getLastOpenDescendant(t)},t.prototype._getParentsChildren=function(t){return void 0===t&&(t=!1),this.parent&&(t?this.parent.getVisibleChildren():this.parent.children)||[]},t.prototype.getIndexInParent=function(t){return void 0===t&&(t=!1),this._getParentsChildren(t).indexOf(this)},t.prototype.isDescendantOf=function(t){return this===t||this.parent&&this.parent.isDescendantOf(t)},t.prototype.getNodePadding=function(){return this.options.levelPadding*(this.level-1)+"px"},t.prototype.getClass=function(){return[this.options.nodeClass(this),"tree-node-level-"+this.level].join(" ")},t.prototype.onDrop=function(t){this.mouseAction("drop",t.event,{from:t.element,to:{parent:this,index:0,dropOnNode:!0}})},t.prototype.allowDrag=function(){return this.options.allowDrag(this)},t.prototype.loadNodeChildren=function(){var t=this;return this.options.getChildren?Promise.resolve(this.options.getChildren(this)).then((function(e){e&&(t.setField("children",e),t._initChildren(),t.options.useTriState&&t.treeModel.isSelected(t)&&t.setIsSelected(!0),t.children.forEach((function(t){t.getField("isExpanded")&&t.hasChildren&&t.expand()})))})).then((function(){t.fireEvent({eventName:r.a.loadNodeChildren,node:t})})):Promise.resolve()},t.prototype.expand=function(){return this.isExpanded||this.toggleExpanded(),this},t.prototype.collapse=function(){return this.isExpanded&&this.toggleExpanded(),this},t.prototype.doForAll=function(t){var e=this;Promise.resolve(t(this)).then((function(){e.children&&e.children.forEach((function(e){return e.doForAll(t)}))}))},t.prototype.expandAll=function(){this.doForAll((function(t){return t.expand()}))},t.prototype.collapseAll=function(){this.doForAll((function(t){return t.collapse()}))},t.prototype.ensureVisible=function(){return this.realParent&&(this.realParent.expand(),this.realParent.ensureVisible()),this},t.prototype.toggleExpanded=function(){return this.setIsExpanded(!this.isExpanded),this},t.prototype.setIsExpanded=function(t){return this.hasChildren&&this.treeModel.setExpandedNode(this,t),this},t.prototype.autoLoadChildren=function(){var t=this;this.handler=Object(a.e)((function(){return t.isExpanded}),(function(e){!t.children&&t.hasChildren&&e&&t.loadNodeChildren()}),{fireImmediately:!0})},t.prototype.dispose=function(){this.children&&this.children.forEach((function(t){return t.dispose()})),this.handler&&this.handler(),this.parent=null,this.children=null},t.prototype.setIsActive=function(t,e){return void 0===e&&(e=!1),this.treeModel.setActiveNode(this,t,e),t&&this.focus(this.options.scrollOnActivate),this},t.prototype.isSelectable=function(){return this.isLeaf||!this.children||!this.options.useTriState},t.prototype.setIsSelected=function(t){return this.isSelectable()?this.treeModel.setSelectedNode(this,t):this.visibleChildren.forEach((function(e){return e.setIsSelected(t)})),this},t.prototype.toggleSelected=function(){return this.setIsSelected(!this.isSelected),this},t.prototype.toggleActivated=function(t){return void 0===t&&(t=!1),this.setIsActive(!this.isActive,t),this},t.prototype.setActiveAndVisible=function(t){return void 0===t&&(t=!1),this.setIsActive(!0,t).ensureVisible(),setTimeout(this.scrollIntoView.bind(this)),this},t.prototype.scrollIntoView=function(t){void 0===t&&(t=!1),this.treeModel.virtualScroll.scrollIntoView(this,t)},t.prototype.focus=function(t){void 0===t&&(t=!0);var e=this.treeModel.getFocusedNode();return this.treeModel.setFocusedNode(this),t&&this.scrollIntoView(),e&&this.fireEvent({eventName:r.a.blur,node:e}),this.fireEvent({eventName:r.a.focus,node:this}),this},t.prototype.blur=function(){var t=this.treeModel.getFocusedNode();return this.treeModel.setFocusedNode(null),t&&this.fireEvent({eventName:r.a.blur,node:this}),this},t.prototype.setIsHidden=function(t){this.treeModel.setIsHidden(this,t)},t.prototype.hide=function(){this.setIsHidden(!0)},t.prototype.show=function(){this.setIsHidden(!1)},t.prototype.mouseAction=function(t,e,n){void 0===n&&(n=null),this.treeModel.setFocus(!0);var a=this.options.actionMapping.mouse[t];a&&a(this.treeModel,this,e,n)},t.prototype.getSelfHeight=function(){return this.options.nodeHeight(this)},t.prototype._initChildren=function(){var e=this;this.children=this.getField("children").map((function(n,a){return new t(n,e,e.treeModel,a)}))},f([a.c,p("design:type",Object),p("design:paramtypes",[])],t.prototype,"isHidden",null),f([a.c,p("design:type",Object),p("design:paramtypes",[])],t.prototype,"isExpanded",null),f([a.c,p("design:type",Object),p("design:paramtypes",[])],t.prototype,"isActive",null),f([a.c,p("design:type",Object),p("design:paramtypes",[])],t.prototype,"isFocused",null),f([a.c,p("design:type",Object),p("design:paramtypes",[])],t.prototype,"isSelected",null),f([a.c,p("design:type",Object),p("design:paramtypes",[])],t.prototype,"isAllSelected",null),f([a.c,p("design:type",Object),p("design:paramtypes",[])],t.prototype,"isPartiallySelected",null),f([a.d,p("design:type",Array)],t.prototype,"children",void 0),f([a.d,p("design:type",Number)],t.prototype,"index",void 0),f([a.d,p("design:type",Object)],t.prototype,"position",void 0),f([a.d,p("design:type",Number)],t.prototype,"height",void 0),f([a.c,p("design:type",Number),p("design:paramtypes",[])],t.prototype,"level",null),f([a.c,p("design:type",Array),p("design:paramtypes",[])],t.prototype,"path",null),f([a.c,p("design:type",Object),p("design:paramtypes",[])],t.prototype,"visibleChildren",null),f([a.a,p("design:type",Function),p("design:paramtypes",[Object]),p("design:returntype",void 0)],t.prototype,"setIsSelected",null),f([a.a,p("design:type",Function),p("design:paramtypes",[]),p("design:returntype",void 0)],t.prototype,"_initChildren",null),t}()},fGT3:function(t,e,n){var a=n("4kuk"),r=n("Xi7e"),o=n("ebwN");t.exports=function(){this.size=0,this.__data__={hash:new a,map:new(o||r),string:new a}}},fHMY:function(t,e,n){var a,r=n("glrk"),o=n("N+g0"),i=n("eDl+"),s=n("0BK2"),c=n("G+Rx"),l=n("zBJ4"),d=n("93I0")("IE_PROTO"),u=function(){},g=function(t){return"<script>"+t+"<\/script>"},f=function(){try{a=document.domain&&new ActiveXObject("htmlfile")}catch(r){}var t,e;f=a?function(t){t.write(g("")),t.close();var e=t.parentWindow.Object;return t=null,e}(a):((e=l("iframe")).style.display="none",c.appendChild(e),e.src=String("javascript:"),(t=e.contentWindow.document).open(),t.write(g("document.F=Object")),t.close(),t.F);for(var n=i.length;n--;)delete f.prototype[i[n]];return f()};s[d]=!0,t.exports=Object.create||function(t,e){var n;return null!==t?(u.prototype=r(t),n=new u,u.prototype=null,n[d]=t):n=f(),void 0===e?n:o(n,e)}},"fR/l":function(t,e,n){var a=n("CH3K"),r=n("Z0cm");t.exports=function(t,e,n){var o=e(t);return r(t)?o:a(o,n(t))}},fdAy:function(t,e,n){"use strict";var a=n("I+eb"),r=n("ntOU"),o=n("4WOD"),i=n("0rvr"),s=n("1E5z"),c=n("kRJp"),l=n("busE"),d=n("tiKp"),u=n("xDBR"),g=n("P4y1"),f=n("rpNk"),p=f.IteratorPrototype,m=f.BUGGY_SAFARI_ITERATORS,h=d("iterator"),b=function(){return this};t.exports=function(t,e,n,d,f,y,_){r(n,e,d);var O,v,C,P=function(t){if(t===f&&S)return S;if(!m&&t in w)return w[t];switch(t){case"keys":case"values":case"entries":return function(){return new n(this,t)}}return function(){return new n(this)}},M=e+" Iterator",x=!1,w=t.prototype,T=w[h]||w["@@iterator"]||f&&w[f],S=!m&&T||P(f),k="Array"==e&&w.entries||T;if(k&&(O=o(k.call(new t)),p!==Object.prototype&&O.next&&(u||o(O)===p||(i?i(O,p):"function"!=typeof O[h]&&c(O,h,b)),s(O,M,!0,!0),u&&(g[M]=b))),"values"==f&&T&&"values"!==T.name&&(x=!0,S=function(){return T.call(this)}),u&&!_||w[h]===S||c(w,h,S),g[e]=S,f)if(v={values:P("values"),keys:y?S:P("keys"),entries:P("entries")},_)for(C in v)!m&&!x&&C in w||l(w,C,v[C]);else a({target:e,proto:!0,forced:m||x},v);return v}},fhFe:function(t,e,n){var a=n("mrSG").__decorate,r=n("mrSG").__metadata;Object.defineProperty(e,"__esModule",{value:!0});var o=n("8Y7J");e.DataTablePagerComponent=function(){function t(){this.change=new o.EventEmitter,this._count=0,this._page=1,this._size=0}return Object.defineProperty(t.prototype,"size",{get:function(){return this._size},set:function(t){this._size=t,this.pages=this.calcPages()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"count",{get:function(){return this._count},set:function(t){this._count=t,this.pages=this.calcPages()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"page",{get:function(){return this._page},set:function(t){this._page=t,this.pages=this.calcPages()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"totalPages",{get:function(){var t=this.size<1?1:Math.ceil(this.count/this.size);return Math.max(t||0,1)},enumerable:!0,configurable:!0}),t.prototype.canPrevious=function(){return this.page>1},t.prototype.canNext=function(){return this.page<this.totalPages},t.prototype.prevPage=function(){this.selectPage(this.page-1)},t.prototype.nextPage=function(){this.selectPage(this.page+1)},t.prototype.selectPage=function(t){t>0&&t<=this.totalPages&&t!==this.page&&(this.page=t,this.change.emit({page:t}))},t.prototype.calcPages=function(t){var e=[],n=1,a=this.totalPages;t=t||this.page,5<this.totalPages&&(n=t-Math.floor(2.5),a=t+Math.floor(2.5),n<1?(n=1,a=Math.min(n+5-1,this.totalPages)):a>this.totalPages&&(n=Math.max(this.totalPages-5+1,1),a=this.totalPages));for(var r=n;r<=a;r++)e.push({number:r,text:r});return e},a([o.Input(),r("design:type",String)],t.prototype,"pagerLeftArrowIcon",void 0),a([o.Input(),r("design:type",String)],t.prototype,"pagerRightArrowIcon",void 0),a([o.Input(),r("design:type",String)],t.prototype,"pagerPreviousIcon",void 0),a([o.Input(),r("design:type",String)],t.prototype,"pagerNextIcon",void 0),a([o.Input(),r("design:type",Number),r("design:paramtypes",[Number])],t.prototype,"size",null),a([o.Input(),r("design:type",Number),r("design:paramtypes",[Number])],t.prototype,"count",null),a([o.Input(),r("design:type",Number),r("design:paramtypes",[Number])],t.prototype,"page",null),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"change",void 0),a([o.Component({selector:"datatable-pager",template:'\n    <ul class="pager">\n      <li [class.disabled]="!canPrevious()">\n        <a\n          role="button"\n          aria-label="go to first page"\n          href="javascript:void(0)"\n          (click)="selectPage(1)">\n          <i class="{{pagerPreviousIcon}}"></i>\n        </a>\n      </li>\n      <li [class.disabled]="!canPrevious()">\n        <a\n          role="button"\n          aria-label="go to previous page"\n          href="javascript:void(0)"\n          (click)="prevPage()">\n          <i class="{{pagerLeftArrowIcon}}"></i>\n        </a>\n      </li>\n      <li\n        role="button"\n        [attr.aria-label]="\'page \' + pg.number"\n        class="pages"\n        *ngFor="let pg of pages"\n        [class.active]="pg.number === page">\n        <a\n          href="javascript:void(0)"\n          (click)="selectPage(pg.number)">\n          {{pg.text}}\n        </a>\n      </li>\n      <li [class.disabled]="!canNext()">\n        <a\n          role="button"\n          aria-label="go to next page"\n          href="javascript:void(0)"\n          (click)="nextPage()">\n          <i class="{{pagerRightArrowIcon}}"></i>\n        </a>\n      </li>\n      <li [class.disabled]="!canNext()">\n        <a\n          role="button"\n          aria-label="go to last page"\n          href="javascript:void(0)"\n          (click)="selectPage(totalPages)">\n          <i class="{{pagerNextIcon}}"></i>\n        </a>\n      </li>\n    </ul>\n  ',host:{class:"datatable-pager"},changeDetection:o.ChangeDetectionStrategy.OnPush})],t)}()},fktO:function(t,e,n){"use strict";function a(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),a(n("Ahxa")),a(n("fhFe")),a(n("lUjN")),a(n("vxfy"))},fmRc:function(t,e,n){var a=n("Xi7e"),r=n("77Zs"),o=n("L8xA"),i=n("gCq4"),s=n("VaNO"),c=n("0Cz8");function l(t){var e=this.__data__=new a(t);this.size=e.size}l.prototype.clear=r,l.prototype.delete=o,l.prototype.get=i,l.prototype.has=s,l.prototype.set=c,t.exports=l},ftKO:function(t,e){t.exports=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this}},fxL3:function(t,e,n){"use strict";n.d(e,"a",(function(){return p}));var a=n("8Y7J"),r=n("MP8s"),o=n("gk6K"),i=n("mfoh"),s=n("HIU9"),c=n("ijCd"),l=n.n(c),d=n("JZM8"),u=n.n(d),g=function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},f=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},p=function(){function t(t,e){var n=this;this.treeModel=t,this.treeDraggedElement=e,t.eventNames.forEach((function(t){return n[t]=new a.EventEmitter})),t.subscribeToState((function(t){return n.stateChange.emit(t)}))}return Object.defineProperty(t.prototype,"nodes",{set:function(t){},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"options",{set:function(t){},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"focused",{set:function(t){this.treeModel.setFocus(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"state",{set:function(t){this.treeModel.setState(t)},enumerable:!0,configurable:!0}),t.prototype.onKeydown=function(t){if(this.treeModel.isFocused&&!l()(["input","textarea"],document.activeElement.tagName.toLowerCase())){var e=this.treeModel.getFocusedNode();this.treeModel.performKeyAction(e,t)}},t.prototype.onMousedown=function(t){(function t(e,n){return!e||e.localName!==n&&t(e.parentElement,n)})(t.target,"tree-root")&&this.treeModel.setFocus(!1)},t.prototype.ngOnChanges=function(t){(t.options||t.nodes)&&this.treeModel.setData({options:t.options&&t.options.currentValue,nodes:t.nodes&&t.nodes.currentValue,events:u()(this,this.treeModel.eventNames)})},t.prototype.sizeChanged=function(){this.viewportComponent.setViewport()},g([Object(a.ContentChild)("loadingTemplate",{static:!1}),f("design:type",a.TemplateRef)],t.prototype,"loadingTemplate",void 0),g([Object(a.ContentChild)("treeNodeTemplate",{static:!1}),f("design:type",a.TemplateRef)],t.prototype,"treeNodeTemplate",void 0),g([Object(a.ContentChild)("treeNodeWrapperTemplate",{static:!1}),f("design:type",a.TemplateRef)],t.prototype,"treeNodeWrapperTemplate",void 0),g([Object(a.ContentChild)("treeNodeFullTemplate",{static:!1}),f("design:type",a.TemplateRef)],t.prototype,"treeNodeFullTemplate",void 0),g([Object(a.ViewChild)("viewport",{static:!1}),f("design:type",s.a)],t.prototype,"viewportComponent",void 0),g([Object(a.Input)(),f("design:type",Array),f("design:paramtypes",[Array])],t.prototype,"nodes",null),g([Object(a.Input)(),f("design:type",i.b),f("design:paramtypes",[i.b])],t.prototype,"options",null),g([Object(a.Input)(),f("design:type",Boolean),f("design:paramtypes",[Boolean])],t.prototype,"focused",null),g([Object(a.Input)(),f("design:type",Object),f("design:paramtypes",[Object])],t.prototype,"state",null),g([Object(a.Output)(),f("design:type",Object)],t.prototype,"toggleExpanded",void 0),g([Object(a.Output)(),f("design:type",Object)],t.prototype,"activate",void 0),g([Object(a.Output)(),f("design:type",Object)],t.prototype,"deactivate",void 0),g([Object(a.Output)(),f("design:type",Object)],t.prototype,"nodeActivate",void 0),g([Object(a.Output)(),f("design:type",Object)],t.prototype,"nodeDeactivate",void 0),g([Object(a.Output)(),f("design:type",Object)],t.prototype,"select",void 0),g([Object(a.Output)(),f("design:type",Object)],t.prototype,"deselect",void 0),g([Object(a.Output)(),f("design:type",Object)],t.prototype,"focus",void 0),g([Object(a.Output)(),f("design:type",Object)],t.prototype,"blur",void 0),g([Object(a.Output)(),f("design:type",Object)],t.prototype,"updateData",void 0),g([Object(a.Output)(),f("design:type",Object)],t.prototype,"initialized",void 0),g([Object(a.Output)(),f("design:type",Object)],t.prototype,"moveNode",void 0),g([Object(a.Output)(),f("design:type",Object)],t.prototype,"copyNode",void 0),g([Object(a.Output)(),f("design:type",Object)],t.prototype,"loadNodeChildren",void 0),g([Object(a.Output)(),f("design:type",Object)],t.prototype,"changeFilter",void 0),g([Object(a.Output)(),f("design:type",Object)],t.prototype,"event",void 0),g([Object(a.Output)(),f("design:type",Object)],t.prototype,"stateChange",void 0),g([Object(a.HostListener)("body: keydown",["$event"]),f("design:type",Function),f("design:paramtypes",[Object]),f("design:returntype",void 0)],t.prototype,"onKeydown",null),g([Object(a.HostListener)("body: mousedown",["$event"]),f("design:type",Function),f("design:paramtypes",[Object]),f("design:returntype",void 0)],t.prototype,"onMousedown",null),g([Object(a.Component)({selector:"Tree, tree-root",providers:[r.a],styles:[],template:'\n      <tree-viewport #viewport>\n          <div\n                  class="angular-tree-component"\n                  [class.node-dragging]="treeDraggedElement.isDragging()"\n                  [class.angular-tree-component-rtl]="treeModel.options.rtl">\n              <tree-node-collection\n                      *ngIf="treeModel.roots"\n                      [nodes]="treeModel.roots"\n                      [treeModel]="treeModel"\n                      [templates]="{\n            loadingTemplate: loadingTemplate,\n            treeNodeTemplate: treeNodeTemplate,\n            treeNodeWrapperTemplate: treeNodeWrapperTemplate,\n            treeNodeFullTemplate: treeNodeFullTemplate\n          }">\n              </tree-node-collection>\n              <tree-node-drop-slot\n                      class="empty-tree-drop-slot"\n                      *ngIf="treeModel.isEmptyTree()"\n                      [dropIndex]="0"\n                      [node]="treeModel.virtualRoot">\n              </tree-node-drop-slot>\n          </div>\n      </tree-viewport>\n  '}),f("design:paramtypes",[r.a,o.a])],t)}()},fzPg:function(t,e,n){!function(t){"use strict";t.defineLocale("yo",{months:"Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀".split("_"),monthsShort:"Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀".split("_"),weekdays:"Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta".split("_"),weekdaysShort:"Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá".split("_"),weekdaysMin:"Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Ònì ni] LT",nextDay:"[Ọ̀la ni] LT",nextWeek:"dddd [Ọsẹ̀ tón'bọ] [ni] LT",lastDay:"[Àna ni] LT",lastWeek:"dddd [Ọsẹ̀ tólọ́] [ni] LT",sameElse:"L"},relativeTime:{future:"ní %s",past:"%s kọjá",s:"ìsẹjú aayá die",ss:"aayá %d",m:"ìsẹjú kan",mm:"ìsẹjú %d",h:"wákati kan",hh:"wákati %d",d:"ọjọ́ kan",dd:"ọjọ́ %d",M:"osù kan",MM:"osù %d",y:"ọdún kan",yy:"ọdún %d"},dayOfMonthOrdinalParse:/ọjọ́\s\d{1,2}/,ordinal:"ọjọ́ %d",week:{dow:1,doy:4}})}(n("wd/R"))},"g6v/":function(t,e,n){var a=n("0Dky");t.exports=!a((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},gCq4:function(t,e){t.exports=function(t){return this.__data__.get(t)}},gFfm:function(t,e){t.exports=function(t,e){for(var n=-1,a=null==t?0:t.length;++n<a&&!1!==e(t[n],n,t););return t}},gRHU:function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var a=n("2fFW"),r=n("NJ4a");const o={closed:!0,next(t){},error(t){if(a.a.useDeprecatedSynchronousErrorHandling)throw t;Object(r.a)(t)},complete(){}}},gVVK:function(t,e,n){!function(t){"use strict";function e(t,e,n,a){var r=t+" ";switch(n){case"s":return e||a?"nekaj sekund":"nekaj sekundami";case"ss":return r+(1===t?e?"sekundo":"sekundi":2===t?e||a?"sekundi":"sekundah":t<5?e||a?"sekunde":"sekundah":"sekund");case"m":return e?"ena minuta":"eno minuto";case"mm":return r+(1===t?e?"minuta":"minuto":2===t?e||a?"minuti":"minutama":t<5?e||a?"minute":"minutami":e||a?"minut":"minutami");case"h":return e?"ena ura":"eno uro";case"hh":return r+(1===t?e?"ura":"uro":2===t?e||a?"uri":"urama":t<5?e||a?"ure":"urami":e||a?"ur":"urami");case"d":return e||a?"en dan":"enim dnem";case"dd":return r+(1===t?e||a?"dan":"dnem":2===t?e||a?"dni":"dnevoma":e||a?"dni":"dnevi");case"M":return e||a?"en mesec":"enim mesecem";case"MM":return r+(1===t?e||a?"mesec":"mesecem":2===t?e||a?"meseca":"mesecema":t<5?e||a?"mesece":"meseci":e||a?"mesecev":"meseci");case"y":return e||a?"eno leto":"enim letom";case"yy":return r+(1===t?e||a?"leto":"letom":2===t?e||a?"leti":"letoma":t<5?e||a?"leta":"leti":e||a?"let":"leti")}}t.defineLocale("sl",{months:"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._čet._pet._sob.".split("_"),weekdaysMin:"ne_po_to_sr_če_pe_so".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danes ob] LT",nextDay:"[jutri ob] LT",nextWeek:function(){switch(this.day()){case 0:return"[v] [nedeljo] [ob] LT";case 3:return"[v] [sredo] [ob] LT";case 6:return"[v] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[v] dddd [ob] LT"}},lastDay:"[včeraj ob] LT",lastWeek:function(){switch(this.day()){case 0:return"[prejšnjo] [nedeljo] [ob] LT";case 3:return"[prejšnjo] [sredo] [ob] LT";case 6:return"[prejšnjo] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[prejšnji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"čez %s",past:"pred %s",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n("wd/R"))},gekB:function(t,e,n){!function(t){"use strict";var e="nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän".split(" "),n=["nolla","yhden","kahden","kolmen","neljän","viiden","kuuden",e[7],e[8],e[9]];function a(t,a,r,o){var i="";switch(r){case"s":return o?"muutaman sekunnin":"muutama sekunti";case"ss":return o?"sekunnin":"sekuntia";case"m":return o?"minuutin":"minuutti";case"mm":i=o?"minuutin":"minuuttia";break;case"h":return o?"tunnin":"tunti";case"hh":i=o?"tunnin":"tuntia";break;case"d":return o?"päivän":"päivä";case"dd":i=o?"päivän":"päivää";break;case"M":return o?"kuukauden":"kuukausi";case"MM":i=o?"kuukauden":"kuukautta";break;case"y":return o?"vuoden":"vuosi";case"yy":i=o?"vuoden":"vuotta"}return function(t,a){return t<10?a?n[t]:e[t]:t}(t,o)+" "+i}t.defineLocale("fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] HH.mm",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] HH.mm",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] HH.mm",llll:"ddd, Do MMM YYYY, [klo] HH.mm"},calendar:{sameDay:"[tänään] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s päästä",past:"%s sitten",s:a,ss:a,m:a,mm:a,h:a,hh:a,d:a,dd:a,M:a,MM:a,y:a,yy:a},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("wd/R"))},gjCT:function(t,e,n){!function(t){"use strict";var e={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},n={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"};t.defineLocale("ar-sa",{months:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(t){return"م"===t},meridiem:function(t,e,n){return t<12?"ص":"م"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},preparse:function(t){return t.replace(/[١٢٣٤٥٦٧٨٩٠]/g,(function(t){return n[t]})).replace(/،/g,",")},postformat:function(t){return t.replace(/\d/g,(function(t){return e[t]})).replace(/,/g,"،")},week:{dow:0,doy:6}})}(n("wd/R"))},gk6K:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("8Y7J"),r=function(){function t(){this._draggedElement=null}return t.prototype.set=function(t){this._draggedElement=t},t.prototype.get=function(){return this._draggedElement},t.prototype.isDragging=function(){return!!this.get()},function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i}([Object(a.Injectable)()],t)}()},glrk:function(t,e,n){var a=n("hh1v");t.exports=function(t){if(!a(t))throw TypeError(String(t)+" is not an object");return t}},gp3X:function(t,e,n){"use strict";var a=n("8Y7J"),r=n("SVse");n("sb0X"),n.d(e,"a",(function(){return o})),n.d(e,"b",(function(){return s}));var o=a["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function i(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,4,"span",[],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,3,"i",[],null,null,null,null,null)),a["ɵprd"](512,null,r["ɵNgClassImpl"],r["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](3,278528,null,0,r.NgClass,[r["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),a["ɵpad"](4,2)],(function(t,e){var n=e.component,a=t(e,4,0,n.icons.spinner,n.icons.spin);t(e,3,0,a)}),null)}function s(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,5,"button",[["class","btn btn-secondary tc_submitButton"]],[[8,"type",0],[8,"disabled",0]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.submit(n)&&a),a}),null,null)),a["ɵprd"](512,null,r["ɵNgClassImpl"],r["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](2,278528,null,0,r.NgClass,[r["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),a["ɵncd"](null,0),(t()(),a["ɵand"](16777216,null,null,1,null,i)),a["ɵdid"](5,16384,null,0,r.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,2,0,"btn btn-secondary tc_submitButton",n.btnClass),t(e,5,0,n.loading)}),(function(t,e){var n=e.component;t(e,0,0,n.type,n.loading||n.disabled)}))}},gpbi:function(t,e,n){var a=n("ZWtO"),r=n("KxBF");t.exports=function(t,e){return e.length<2?t:a(t,r(e,0,-1))}},"h+PQ":function(t,e,n){"use strict";function a(){return""}function r(t,e){if(null==t)return"";if(!t||null==e)return t;var n=t[e];return null==n?"":n}function o(t,e){if(null==t)return"";if(!t||!e)return t;var n=t[e];return null==n?"":n}function i(t,e){if(null==t)return"";if(!t||!e)return t;var n=t[e];if(void 0!==n)return n;n=t;var a=e.split(".");if(a.length)for(var r=0;r<a.length;r++)if(null==(n=n[a[r]]))return"";return n}Object.defineProperty(e,"__esModule",{value:!0}),e.emptyStringGetter=a,e.getterForProp=function(t){return null==t?a:"number"==typeof t?r:-1!==t.indexOf(".")?i:o},e.numericIndexGetter=r,e.shallowValueGetter=o,e.deepValueGetter=i},h6KF:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=n("qwkt"),r=n("h+PQ");function o(t,e){if(null==t&&(t=0),null==e&&(e=0),t instanceof Date&&e instanceof Date){if(t<e)return-1;if(t>e)return 1}else if(isNaN(parseFloat(t))||!isFinite(t)||isNaN(parseFloat(e))||!isFinite(e)){if(t=String(t),e=String(e),t.toLowerCase()<e.toLowerCase())return-1;if(t.toLowerCase()>e.toLowerCase())return 1}else{if(parseFloat(t)<parseFloat(e))return-1;if(parseFloat(t)>parseFloat(e))return 1}return 0}e.nextSortDir=function(t,e){return t===a.SortType.single?e===a.SortDirection.asc?a.SortDirection.desc:a.SortDirection.asc:e?e===a.SortDirection.asc?a.SortDirection.desc:void 0:a.SortDirection.asc},e.orderByComparator=o,e.sortRows=function(t,e,n){if(!t)return[];if(!n||!n.length||!e)return t.slice();var i=new Map;t.forEach((function(t,e){return i.set(t,e)}));var s=t.slice(),c=e.reduce((function(t,e){return e.comparator&&"function"==typeof e.comparator&&(t[e.prop]=e.comparator),t}),{}),l=n.map((function(t){var e=t.prop;return{prop:e,dir:t.dir,valueGetter:r.getterForProp(e),compareFn:c[e]||o}}));return s.sort((function(t,e){for(var n=0,r=l;n<r.length;n++){var o=r[n],s=o.prop,c=o.valueGetter,d=c(t,s),u=c(e,s),g=o.dir!==a.SortDirection.desc?o.compareFn(d,u,t,e,o.dir):-o.compareFn(d,u,t,e,o.dir);if(0!==g)return g}return i.has(t)&&i.has(e)?i.get(t)<i.get(e)?-1:1:0}))}},"hKI/":function(t,e){var n=/^\s+|\s+$/g,a=/^[-+]0x[0-9a-f]+$/i,r=/^0b[01]+$/i,o=/^0o[0-7]+$/i,i=parseInt,s="object"==typeof global&&global&&global.Object===Object&&global,c="object"==typeof self&&self&&self.Object===Object&&self,l=s||c||Function("return this")(),d=Object.prototype.toString,u=Math.max,g=Math.min,f=function(){return l.Date.now()};function p(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function m(t){if("number"==typeof t)return t;if(function(t){return"symbol"==typeof t||function(t){return!!t&&"object"==typeof t}(t)&&"[object Symbol]"==d.call(t)}(t))return NaN;if(p(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=p(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(n,"");var s=r.test(t);return s||o.test(t)?i(t.slice(2),s?2:8):a.test(t)?NaN:+t}t.exports=function(t,e,n){var a=!0,r=!0;if("function"!=typeof t)throw new TypeError("Expected a function");return p(n)&&(a="leading"in n?!!n.leading:a,r="trailing"in n?!!n.trailing:r),function(t,e,n){var a,r,o,i,s,c,l=0,d=!1,h=!1,b=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function y(e){var n=a,o=r;return a=r=void 0,l=e,i=t.apply(o,n)}function _(t){return l=t,s=setTimeout(v,e),d?y(t):i}function O(t){var n=t-c;return void 0===c||n>=e||n<0||h&&t-l>=o}function v(){var t=f();if(O(t))return C(t);s=setTimeout(v,function(t){var n=e-(t-c);return h?g(n,o-(t-l)):n}(t))}function C(t){return s=void 0,b&&a?y(t):(a=r=void 0,i)}function P(){var t=f(),n=O(t);if(a=arguments,r=this,c=t,n){if(void 0===s)return _(c);if(h)return s=setTimeout(v,e),y(c)}return void 0===s&&(s=setTimeout(v,e)),i}return e=m(e)||0,p(n)&&(d=!!n.leading,o=(h="maxWait"in n)?u(m(n.maxWait)||0,e):o,b="trailing"in n?!!n.trailing:b),P.cancel=function(){void 0!==s&&clearTimeout(s),l=0,a=c=r=s=void 0},P.flush=function(){return void 0===s?i:C(f())},P}(t,e,{leading:a,maxWait:e,trailing:r})}},hKrs:function(t,e,n){!function(t){"use strict";t.defineLocale("bg",{months:"януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември".split("_"),monthsShort:"янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек".split("_"),weekdays:"неделя_понеделник_вторник_сряда_четвъртък_петък_събота".split("_"),weekdaysShort:"нед_пон_вто_сря_чет_пет_съб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[Днес в] LT",nextDay:"[Утре в] LT",nextWeek:"dddd [в] LT",lastDay:"[Вчера в] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[В изминалата] dddd [в] LT";case 1:case 2:case 4:case 5:return"[В изминалия] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"след %s",past:"преди %s",s:"няколко секунди",ss:"%d секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дни",M:"месец",MM:"%d месеца",y:"година",yy:"%d години"},dayOfMonthOrdinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(t){var e=t%10,n=t%100;return 0===t?t+"-ев":0===n?t+"-ен":n>10&&n<20?t+"-ти":1===e?t+"-ви":2===e?t+"-ри":7===e||8===e?t+"-ми":t+"-ти"},week:{dow:1,doy:7}})}(n("wd/R"))},heNW:function(t,e){t.exports=function(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}},hfeG:function(t,e,n){"use strict";var a=n("8Y7J"),r=n("s7LF"),o=n("+gVj"),i=n("EmSq"),s=n("Fgil"),c=n("aXbf"),l=n("SVse"),d=n("mXUL"),u=n("EEJc"),g=n("ajRT"),f=n("gp3X"),p=n("sb0X"),m=n("KVJa"),h=n("Z21x"),b=n("sne2"),y=n("Rf2I"),_=n("LqlI"),O=n("2EZI"),v=n("GiVz");n.d(e,"a",(function(){return D}));var C=a["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function P(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,null,null,null,null,null,null,null)),(t()(),a["ɵted"](1,null,[" "," "]))],null,(function(t,e){t(e,1,0,e.component.titleText)}))}function M(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"p",[],null,null,null,null,null)),(t()(),a["ɵted"](1,null,["",""]))],null,(function(t,e){t(e,1,0,e.component.message)}))}function x(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"label",[["class","cd-col-form-label"]],[[8,"htmlFor",0]],null,null,null,null)),(t()(),a["ɵted"](1,null,[" "," "]))],null,(function(t,e){t(e,0,0,e.parent.context.$implicit.name),t(e,1,0,e.parent.context.$implicit.label)}))}function w(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,6,"input",[["class","form-control"]],[[8,"type",0],[8,"id",0],[8,"name",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var r=!0;return"input"===e&&(r=!1!==a["ɵnov"](t,1)._handleInput(n.target.value)&&r),"blur"===e&&(r=!1!==a["ɵnov"](t,1).onTouched()&&r),"compositionstart"===e&&(r=!1!==a["ɵnov"](t,1)._compositionStart()&&r),"compositionend"===e&&(r=!1!==a["ɵnov"](t,1)._compositionEnd(n.target.value)&&r),r}),null,null)),a["ɵdid"](1,16384,null,0,r.e,[a.Renderer2,a.ElementRef,[2,r.b]],null,null),a["ɵprd"](1024,null,r.p,(function(t){return[t]}),[r.e]),a["ɵdid"](3,671744,null,0,r.j,[[3,r.d],[8,null],[8,null],[6,r.p],[2,r.E]],{name:[0,"name"]},null),a["ɵprd"](2048,null,r.q,null,[r.j]),a["ɵdid"](5,16384,null,0,r.r,[[4,r.q]],null,null),a["ɵdid"](6,16384,null,0,o.h,[[3,r.d],o.a],{formControlName:[0,"formControlName"]},null)],(function(t,e){t(e,3,0,e.parent.context.$implicit.name),t(e,6,0,e.parent.context.$implicit.name)}),(function(t,e){t(e,0,1,[e.parent.context.$implicit.type,e.parent.context.$implicit.name,e.parent.context.$implicit.name,a["ɵnov"](e,5).ngClassUntouched,a["ɵnov"](e,5).ngClassTouched,a["ɵnov"](e,5).ngClassPristine,a["ɵnov"](e,5).ngClassDirty,a["ɵnov"](e,5).ngClassValid,a["ɵnov"](e,5).ngClassInvalid,a["ɵnov"](e,5).ngClassPending,a["ɵnov"](e,6).validClass,a["ɵnov"](e,6).invalidClass])}))}function T(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,7,"input",[["cdDimlessBinary",""],["class","form-control"],["type","text"]],[[8,"id",0],[8,"name",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var r=!0;return"input"===e&&(r=!1!==a["ɵnov"](t,1)._handleInput(n.target.value)&&r),"blur"===e&&(r=!1!==a["ɵnov"](t,1).onTouched()&&r),"compositionstart"===e&&(r=!1!==a["ɵnov"](t,1)._compositionStart()&&r),"compositionend"===e&&(r=!1!==a["ɵnov"](t,1)._compositionEnd(n.target.value)&&r),"blur"===e&&(r=!1!==a["ɵnov"](t,6).onBlur(n.target.value)&&r),r}),null,null)),a["ɵdid"](1,16384,null,0,r.e,[a.Renderer2,a.ElementRef,[2,r.b]],null,null),a["ɵprd"](1024,null,r.p,(function(t){return[t]}),[r.e]),a["ɵdid"](3,671744,null,0,r.j,[[3,r.d],[8,null],[8,null],[6,r.p],[2,r.E]],{name:[0,"name"]},null),a["ɵprd"](2048,null,r.q,null,[r.j]),a["ɵdid"](5,16384,null,0,r.r,[[4,r.q]],null,null),a["ɵdid"](6,81920,null,0,i.a,[a.ElementRef,r.q,s.a,c.a],null,null),a["ɵdid"](7,16384,null,0,o.h,[[3,r.d],o.a],{formControlName:[0,"formControlName"]},null)],(function(t,e){t(e,3,0,e.parent.context.$implicit.name),t(e,6,0),t(e,7,0,e.parent.context.$implicit.name)}),(function(t,e){t(e,0,1,[e.parent.context.$implicit.name,e.parent.context.$implicit.name,a["ɵnov"](e,5).ngClassUntouched,a["ɵnov"](e,5).ngClassTouched,a["ɵnov"](e,5).ngClassPristine,a["ɵnov"](e,5).ngClassDirty,a["ɵnov"](e,5).ngClassValid,a["ɵnov"](e,5).ngClassInvalid,a["ɵnov"](e,5).ngClassPending,a["ɵnov"](e,7).validClass,a["ɵnov"](e,7).invalidClass])}))}function S(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),a["ɵdid"](1,147456,null,0,r.v,[a.ElementRef,a.Renderer2,[2,r.A]],{ngValue:[0,"ngValue"]},null),a["ɵdid"](2,147456,null,0,r.F,[a.ElementRef,a.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(t()(),a["ɵted"](3,null,[" "," "]))],(function(t,e){t(e,1,0,null),t(e,2,0,null)}),(function(t,e){t(e,3,0,e.parent.parent.context.$implicit.placeholder)}))}function k(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),a["ɵdid"](1,147456,null,0,r.v,[a.ElementRef,a.Renderer2,[2,r.A]],{value:[0,"value"]},null),a["ɵdid"](2,147456,null,0,r.F,[a.ElementRef,a.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),a["ɵted"](3,null,[" "," "]))],(function(t,e){t(e,1,0,e.context.$implicit.value),t(e,2,0,e.context.$implicit.value)}),(function(t,e){t(e,3,0,e.context.$implicit.text)}))}function I(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,10,"select",[["class","form-control custom-select"]],[[8,"id",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(t,e,n){var r=!0;return"change"===e&&(r=!1!==a["ɵnov"](t,1).onChange(n.target.value)&&r),"blur"===e&&(r=!1!==a["ɵnov"](t,1).onTouched()&&r),r}),null,null)),a["ɵdid"](1,16384,null,0,r.A,[a.Renderer2,a.ElementRef],null,null),a["ɵprd"](1024,null,r.p,(function(t){return[t]}),[r.A]),a["ɵdid"](3,671744,null,0,r.j,[[3,r.d],[8,null],[8,null],[6,r.p],[2,r.E]],{name:[0,"name"]},null),a["ɵprd"](2048,null,r.q,null,[r.j]),a["ɵdid"](5,16384,null,0,r.r,[[4,r.q]],null,null),a["ɵdid"](6,16384,null,0,o.h,[[3,r.d],o.a],{formControlName:[0,"formControlName"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,S)),a["ɵdid"](8,16384,null,0,l.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,k)),a["ɵdid"](10,278528,null,0,l.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){t(e,3,0,e.parent.context.$implicit.name),t(e,6,0,e.parent.context.$implicit.name),t(e,8,0,e.parent.context.$implicit.placeholder),t(e,10,0,e.parent.context.$implicit.options)}),(function(t,e){t(e,0,0,e.parent.context.$implicit.name,a["ɵnov"](e,5).ngClassUntouched,a["ɵnov"](e,5).ngClassTouched,a["ɵnov"](e,5).ngClassPristine,a["ɵnov"](e,5).ngClassDirty,a["ɵnov"](e,5).ngClassValid,a["ɵnov"](e,5).ngClassInvalid,a["ɵnov"](e,5).ngClassPending,a["ɵnov"](e,6).validClass,a["ɵnov"](e,6).invalidClass)}))}function N(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),a["ɵted"](1,null,[" "," "]))],null,(function(t,e){t(e,1,0,e.component.getError(e.parent.context.$implicit))}))}function R(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,19,null,null,null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,18,"div",[],[[8,"className",0],[2,"has-error",null],[2,"has-success",null]],null,null,d.b,d.a)),a["ɵdid"](2,1163264,null,2,o.c,[a.ElementRef,o.g],null,null),a["ɵqud"](603979776,1,{FormControlNames:1}),a["ɵqud"](603979776,2,{messagesBlock:0}),(t()(),a["ɵand"](16777216,null,0,1,null,x)),a["ɵdid"](6,16384,null,0,l.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵeld"](7,0,null,0,12,"div",[],null,null,null,null,null)),a["ɵprd"](512,null,l["ɵNgClassImpl"],l["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](9,278528,null,0,l.NgClass,[l["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),a["ɵpod"](10,{"cd-col-form-input":0,"col-sm-12":1}),(t()(),a["ɵand"](16777216,null,null,2,null,w)),a["ɵdid"](12,16384,null,0,l.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),a["ɵpad"](13,2),(t()(),a["ɵand"](16777216,null,null,1,null,T)),a["ɵdid"](15,16384,null,0,l.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,I)),a["ɵdid"](17,16384,null,0,l.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,N)),a["ɵdid"](19,16384,null,0,l.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,2,0),t(e,6,0,e.context.$implicit.label);var r=t(e,10,0,e.context.$implicit.label,!e.context.$implicit.label);t(e,9,0,r);var o=t(e,13,0,"text","number").includes(e.context.$implicit.type);t(e,12,0,o),t(e,15,0,"binary"===e.context.$implicit.type),t(e,17,0,"select"===e.context.$implicit.type),t(e,19,0,n.formGroup.showError(e.context.$implicit.name,a["ɵnov"](e.parent,7)))}),(function(t,e){t(e,1,0,a["ɵinlineInterpolate"](1,"form-group row cd-",e.context.$implicit.name,"-form-group"),a["ɵnov"](e,2).hasErrors,a["ɵnov"](e,2).hasSuccess)}))}function A(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,22,"cd-modal",[],null,null,null,u.c,u.b)),a["ɵdid"](1,49152,null,0,g.a,[],{modalRef:[0,"modalRef"]},null),(t()(),a["ɵand"](16777216,null,0,1,null,P)),a["ɵdid"](3,16384,null,0,l.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵeld"](4,0,null,1,18,null,null,null,null,null,null,null)),(t()(),a["ɵeld"](5,0,null,null,17,"form",[["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(t,e,n){var r=!0;return"submit"===e&&(r=!1!==a["ɵnov"](t,7).onSubmit(n)&&r),"reset"===e&&(r=!1!==a["ɵnov"](t,7).onReset()&&r),"submit"===e&&(r=!1!==a["ɵnov"](t,10).onSubmit()&&r),r}),null,null)),a["ɵdid"](6,16384,null,0,r.G,[],null,null),a["ɵdid"](7,540672,[["formDir",4]],0,r.l,[[8,null],[8,null]],{form:[0,"form"]},null),a["ɵprd"](2048,null,r.d,null,[r.l]),a["ɵdid"](9,16384,null,0,r.s,[[4,r.d]],null,null),a["ɵdid"](10,16384,null,0,o.d,[],{formGroup:[0,"formGroup"]},null),(t()(),a["ɵeld"](11,0,null,null,4,"div",[["class","modal-body"]],null,null,null,null,null)),(t()(),a["ɵand"](16777216,null,null,1,null,M)),a["ɵdid"](13,16384,null,0,l.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,R)),a["ɵdid"](15,278528,null,0,l.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),a["ɵeld"](16,0,null,null,6,"div",[["class","modal-footer"]],null,null,null,null,null)),(t()(),a["ɵeld"](17,0,null,null,5,"div",[["class","button-group text-right"]],null,null,null,null,null)),(t()(),a["ɵeld"](18,0,null,null,2,"cd-submit-button",[],null,[[null,"submitAction"]],(function(t,e,n){var a=!0,r=t.component;return"submitAction"===e&&(a=!1!==r.onSubmitForm(r.formGroup.value)&&a),a}),f.b,f.a)),a["ɵdid"](19,114688,null,0,p.a,[a.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(t()(),a["ɵted"](20,0,[" "," "])),(t()(),a["ɵeld"](21,0,null,null,1,"cd-back-button",[],null,null,null,m.b,m.a)),a["ɵdid"](22,49152,null,0,h.a,[l.Location,b.b],{back:[0,"back"]},null)],(function(t,e){var n=e.component;t(e,1,0,n.bsModalRef),t(e,3,0,n.titleText),t(e,7,0,n.formGroup),t(e,10,0,n.formGroup),t(e,13,0,n.message),t(e,15,0,n.fields),t(e,19,0,n.formGroup),t(e,22,0,n.bsModalRef.hide)}),(function(t,e){var n=e.component;t(e,5,0,a["ɵnov"](e,9).ngClassUntouched,a["ɵnov"](e,9).ngClassTouched,a["ɵnov"](e,9).ngClassPristine,a["ɵnov"](e,9).ngClassDirty,a["ɵnov"](e,9).ngClassValid,a["ɵnov"](e,9).ngClassInvalid,a["ɵnov"](e,9).ngClassPending),t(e,20,0,n.submitButtonText)}))}function E(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"cd-form-modal",[],null,null,null,A,C)),a["ɵdid"](1,114688,null,0,y.a,[_.a,O.a,c.a,s.a,v.a],null,null)],(function(t,e){t(e,1,0)}),null)}var D=a["ɵccf"]("cd-form-modal",y.a,E,{},{},[])},hgQt:function(t,e,n){var a=n("Juji"),r=n("4sDh");t.exports=function(t,e){return null!=t&&r(t,e,a)}},hh1v:function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},honF:function(t,e,n){!function(t){"use strict";var e={1:"၁",2:"၂",3:"၃",4:"၄",5:"၅",6:"၆",7:"၇",8:"၈",9:"၉",0:"၀"},n={"၁":"1","၂":"2","၃":"3","၄":"4","၅":"5","၆":"6","၇":"7","၈":"8","၉":"9","၀":"0"};t.defineLocale("my",{months:"ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ".split("_"),monthsShort:"ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ".split("_"),weekdays:"တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ".split("_"),weekdaysShort:"နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),weekdaysMin:"နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[ယနေ.] LT [မှာ]",nextDay:"[မနက်ဖြန်] LT [မှာ]",nextWeek:"dddd LT [မှာ]",lastDay:"[မနေ.က] LT [မှာ]",lastWeek:"[ပြီးခဲ့သော] dddd LT [မှာ]",sameElse:"L"},relativeTime:{future:"လာမည့် %s မှာ",past:"လွန်ခဲ့သော %s က",s:"စက္ကန်.အနည်းငယ်",ss:"%d စက္ကန့်",m:"တစ်မိနစ်",mm:"%d မိနစ်",h:"တစ်နာရီ",hh:"%d နာရီ",d:"တစ်ရက်",dd:"%d ရက်",M:"တစ်လ",MM:"%d လ",y:"တစ်နှစ်",yy:"%d နှစ်"},preparse:function(t){return t.replace(/[၁၂၃၄၅၆၇၈၉၀]/g,(function(t){return n[t]}))},postformat:function(t){return t.replace(/\d/g,(function(t){return e[t]}))},week:{dow:1,doy:4}})}(n("wd/R"))},hpHm:function(t,e,n){"use strict";n.d(e,"a",(function(){return p})),n.d(e,"b",(function(){return m})),n.d(e,"c",(function(){return u})),n.d(e,"d",(function(){return f})),n.d(e,"e",(function(){return s})),n.d(e,"f",(function(){return i})),n.d(e,"g",(function(){return l})),n.d(e,"h",(function(){return c})),n.d(e,"i",(function(){return y})),n.d(e,"j",(function(){return d}));var a=n("8Y7J");class r{constructor(t,e){this.open=t,this.close=e||t}isManual(){return"manual"===this.open||"manual"===this.close}}const o={hover:["mouseover","mouseout"],focus:["focusin","focusout"]};function i(t,e=o){const n=(t||"").trim();if(0===n.length)return[];const a=n.split(/\s+/).map(t=>t.split(":")).map(t=>{const n=e[t[0]]||t;return new r(n[0],n[1])}),i=a.filter(t=>t.isManual());if(i.length>1)throw new Error("Triggers parse error: only one manual trigger is allowed");if(1===i.length&&a.length>1)throw new Error("Triggers parse error: manual trigger can't be mixed with other triggers");return a}function s(t,e){const n=i(e.triggers),a=e.target;if(1===n.length&&n[0].isManual())return Function.prototype;const r=[],o=[],s=()=>{o.forEach(t=>r.push(t())),o.length=0};return n.forEach(n=>{const i=n.open===n.close,c=i?e.toggle:e.show;i||o.push(()=>t.listen(a,n.close,e.hide)),r.push(t.listen(a,n.open,()=>c(s)))}),()=>{r.forEach(t=>t())}}function c(t,e){return e.outsideClick?t.listen("document","click",t=>{e.target&&e.target.contains(t.target)||e.targets&&e.targets.some(e=>e.contains(t.target))||e.hide()}):Function.prototype}function l(t,e){return e.outsideEsc?t.listen("document","keyup.esc",t=>{e.target&&e.target.contains(t.target)||e.targets&&e.targets.some(e=>e.contains(t.target))||e.hide()}):Function.prototype}const d="undefined"!=typeof window&&window||{},u=d.document;let g;function f(){return void 0===d||(void 0===d.__theme?g?"bs3"===g:(g=function(){if("undefined"==typeof document)return null;const t=document.createElement("span");t.innerText="test bs version",document.body.appendChild(t),t.classList.add("d-none");const e=t.getBoundingClientRect();return document.body.removeChild(t),e&&0===e.top?"bs4":"bs3"}(),"bs3"===g):"bs4"!==d.__theme)}function p(t){return function(t,e){const n=` __${e}Value`;Object.defineProperty(t,e,{get(){return this[n]},set(t){const a=this[n];this[n]=t,a!==t&&this[e+"Change"]&&this[e+"Change"].emit(t)}})}}class m{static reflow(t){}static getStyles(t){let e=t.ownerDocument.defaultView;return e&&e.opener||(e=d),e.getComputedStyle(t)}}const h={},b="undefined"==typeof console||!("warn"in console);function y(t){!Object(a.isDevMode)()||b||t in h||(h[t]=!0,console.warn(t))}},hrfs:function(t,e,n){"use strict";n.d(e,"a",(function(){return h})),n.d(e,"b",(function(){return b})),n.d(e,"c",(function(){return p}));var a=n("8Y7J"),r=n("MO+k"),o=n("2Vo4"),i=n("LvDl");const s=[[255,99,132],[54,162,235],[255,206,86],[231,233,237],[75,192,192],[151,187,205],[220,220,220],[247,70,74],[70,191,189],[253,180,92],[148,159,177],[77,83,96]];function c(t,e){return"rgba("+t.concat(e).join(",")+")"}function l(t,e){return Math.floor(Math.random()*(e-t+1))+t}function d(t){return{backgroundColor:t.map(t=>c(t,.6)),borderColor:t.map(()=>"#fff"),pointBackgroundColor:t.map(t=>c(t,1)),pointBorderColor:t.map(()=>"#fff"),pointHoverBackgroundColor:t.map(t=>c(t,1)),pointHoverBorderColor:t.map(t=>c(t,1))}}function u(){return[l(0,255),l(0,255),l(0,255)]}function g(t){return s[t]||u()}function f(t){const e=new Array(t);for(let n=0;n<t;n++)e[n]=s[n]||u();return e}let p=(()=>{class t{constructor(){this.pColorschemesOptions={},this.colorschemesOptions=new o.a({})}setColorschemesOptions(t){this.pColorschemesOptions=t,this.colorschemesOptions.next(t)}getColorschemesOptions(){return this.pColorschemesOptions}}return t.ngInjectableDef=Object(a["ɵɵdefineInjectable"])({factory:function(){return new t},token:t,providedIn:"root"}),t})();const m=function(){var t={Default:0,Update:1,Refresh:2};return t[t.Default]="Default",t[t.Update]="Update",t[t.Refresh]="Refresh",t}();class h{constructor(t,e){this.element=t,this.themeService=e,this.options={},this.chartClick=new a.EventEmitter,this.chartHover=new a.EventEmitter,this.old={dataExists:!1,dataLength:0,datasetsExists:!1,datasetsLength:0,datasetsDataObjects:[],datasetsDataLengths:[],colorsExists:!1,colors:[],labelsExist:!1,labels:[],legendExists:!1,legend:{}},this.subs=[]}static registerPlugin(t){r.Chart.plugins.register(t)}static unregisterPlugin(t){r.Chart.plugins.unregister(t)}ngOnInit(){this.ctx=this.element.nativeElement.getContext("2d"),this.refresh(),this.subs.push(this.themeService.colorschemesOptions.subscribe(t=>this.themeChanged(t)))}themeChanged(t){this.refresh()}ngDoCheck(){if(!this.chart)return;let t=m.Default;const e=e=>{t=e>t?e:t};switch(!!this.data!==this.old.dataExists&&(this.propagateDataToDatasets(this.data),this.old.dataExists=!!this.data,e(m.Update)),this.data&&this.data.length!==this.old.dataLength&&(this.old.dataLength=this.data&&this.data.length||0,e(m.Update)),!!this.datasets!==this.old.datasetsExists&&(this.old.datasetsExists=!!this.datasets,e(m.Update)),this.datasets&&this.datasets.length!==this.old.datasetsLength&&(this.old.datasetsLength=this.datasets&&this.datasets.length||0,e(m.Update)),this.datasets&&this.datasets.filter((t,e)=>t.data!==this.old.datasetsDataObjects[e]).length&&(this.old.datasetsDataObjects=this.datasets.map(t=>t.data),e(m.Update)),this.datasets&&this.datasets.filter((t,e)=>t.data.length!==this.old.datasetsDataLengths[e]).length&&(this.old.datasetsDataLengths=this.datasets.map(t=>t.data.length),e(m.Update)),!!this.colors!==this.old.colorsExists&&(this.old.colorsExists=!!this.colors,this.updateColors(),e(m.Update)),this.colors&&this.colors.filter((t,e)=>!this.colorsEqual(t,this.old.colors[e])).length&&(this.old.colors=this.colors.map(t=>this.copyColor(t)),this.updateColors(),e(m.Update)),!!this.labels!==this.old.labelsExist&&(this.old.labelsExist=!!this.labels,e(m.Update)),this.labels&&this.labels.filter((t,e)=>!this.labelsEqual(t,this.old.labels[e])).length&&(this.old.labels=this.labels.map(t=>this.copyLabel(t)),e(m.Update)),!!this.options.legend!==this.old.legendExists&&(this.old.legendExists=!!this.options.legend,e(m.Refresh)),this.options.legend&&this.options.legend.position!==this.old.legend.position&&(this.old.legend.position=this.options.legend.position,e(m.Refresh)),t){case m.Default:break;case m.Update:this.update();break;case m.Refresh:this.refresh()}}copyLabel(t){return Array.isArray(t)?[...t]:t}labelsEqual(t,e){return Array.isArray(t)===Array.isArray(e)&&(Array.isArray(t)||t===e)&&(!Array.isArray(t)||t.length===e.length)&&(!Array.isArray(t)||0===t.filter((t,n)=>t!==e[n]).length)}copyColor(t){return{backgroundColor:t.backgroundColor,borderWidth:t.borderWidth,borderColor:t.borderColor,borderCapStyle:t.borderCapStyle,borderDash:t.borderDash,borderDashOffset:t.borderDashOffset,borderJoinStyle:t.borderJoinStyle,pointBorderColor:t.pointBorderColor,pointBackgroundColor:t.pointBackgroundColor,pointBorderWidth:t.pointBorderWidth,pointRadius:t.pointRadius,pointHoverRadius:t.pointHoverRadius,pointHitRadius:t.pointHitRadius,pointHoverBackgroundColor:t.pointHoverBackgroundColor,pointHoverBorderColor:t.pointHoverBorderColor,pointHoverBorderWidth:t.pointHoverBorderWidth,pointStyle:t.pointStyle,hoverBackgroundColor:t.hoverBackgroundColor,hoverBorderColor:t.hoverBorderColor,hoverBorderWidth:t.hoverBorderWidth}}colorsEqual(t,e){return!t==!e&&(!t||t.backgroundColor===e.backgroundColor&&t.borderWidth===e.borderWidth&&t.borderColor===e.borderColor&&t.borderCapStyle===e.borderCapStyle&&t.borderDash===e.borderDash&&t.borderDashOffset===e.borderDashOffset&&t.borderJoinStyle===e.borderJoinStyle&&t.pointBorderColor===e.pointBorderColor&&t.pointBackgroundColor===e.pointBackgroundColor&&t.pointBorderWidth===e.pointBorderWidth&&t.pointRadius===e.pointRadius&&t.pointHoverRadius===e.pointHoverRadius&&t.pointHitRadius===e.pointHitRadius&&t.pointHoverBackgroundColor===e.pointHoverBackgroundColor&&t.pointHoverBorderColor===e.pointHoverBorderColor&&t.pointHoverBorderWidth===e.pointHoverBorderWidth&&t.pointStyle===e.pointStyle&&t.hoverBackgroundColor===e.hoverBackgroundColor&&t.hoverBorderColor===e.hoverBorderColor&&t.hoverBorderWidth===e.hoverBorderWidth)}updateColors(){this.datasets.forEach((t,e)=>{this.colors&&this.colors[e]?Object.assign(t,this.colors[e]):Object.assign(t,function(t,e,n){if("pie"===t||"doughnut"===t)return d(f(n));if("polarArea"===t)return{backgroundColor:(a=f(n)).map(t=>c(t,.6)),borderColor:a.map(t=>c(t,1)),hoverBackgroundColor:a.map(t=>c(t,.8)),hoverBorderColor:a.map(t=>c(t,1))};var a;if("line"===t||"radar"===t)return function(t){return{backgroundColor:c(t,.4),borderColor:c(t,1),pointBackgroundColor:c(t,1),pointBorderColor:"#fff",pointHoverBackgroundColor:"#fff",pointHoverBorderColor:c(t,.8)}}(g(e));if("bar"===t||"horizontalBar"===t)return function(t){return{backgroundColor:c(t,.6),borderColor:c(t,1),hoverBackgroundColor:c(t,.8),hoverBorderColor:c(t,1)}}(g(e));if("bubble"===t)return d(f(n));if("scatter"===t)return d(f(n));throw new Error(`getColors - Unsupported chart type ${t}`)}(this.chartType,e,t.data.length),Object.assign({},t))})}ngOnChanges(t){let e=m.Default;const n=t=>{e=t>e?t:e};switch(t.hasOwnProperty("data")&&t.data.currentValue&&(this.propagateDataToDatasets(t.data.currentValue),n(m.Update)),t.hasOwnProperty("datasets")&&t.datasets.currentValue&&(this.propagateDatasetsToData(t.datasets.currentValue),n(m.Update)),t.hasOwnProperty("labels")&&(this.chart&&(this.chart.data.labels=t.labels.currentValue),n(m.Update)),t.hasOwnProperty("legend")&&(this.chart&&(this.chart.config.options.legend.display=t.legend.currentValue,this.chart.generateLegend()),n(m.Update)),t.hasOwnProperty("options")&&n(m.Refresh),e){case m.Update:this.update();break;case m.Refresh:case m.Default:this.refresh()}}ngOnDestroy(){this.chart&&(this.chart.destroy(),this.chart=void 0),this.subs.forEach(t=>t.unsubscribe())}update(t,e){if(this.chart)return this.chart.update(t,e)}hideDataset(t,e){this.chart.getDatasetMeta(t).hidden=e,this.chart.update()}isDatasetHidden(t){return this.chart.getDatasetMeta(t).hidden}toBase64Image(){return this.chart.toBase64Image()}getChartConfiguration(){const t=this.getDatasets(),e=Object.assign({},this.options);!1===this.legend&&(e.legend={display:!1}),e.hover=e.hover||{},e.hover.onHover||(e.hover.onHover=(t,e)=>{e&&!e.length||this.chartHover.emit({event:t,active:e})}),e.onClick||(e.onClick=(t,e)=>{this.chartClick.emit({event:t,active:e})});const n=this.smartMerge(e,this.themeService.getColorschemesOptions());return{type:this.chartType,data:{labels:this.labels||[],datasets:t},plugins:this.plugins,options:n}}getChartBuilder(t){const e=this.getChartConfiguration();return new r.Chart(t,e)}smartMerge(t,e,n=0){if(0===n&&(t=Object(i.cloneDeep)(t)),Object.keys(e).forEach(a=>{if(Array.isArray(e[a])){const r=t[a];r&&r.forEach(t=>{this.smartMerge(t,e[a][0],n+1)})}else"object"==typeof e[a]?(a in t||(t[a]={}),this.smartMerge(t[a],e[a],n+1)):t[a]=e[a]}),0===n)return t}isMultiLineLabel(t){return Array.isArray(t)}joinLabel(t){return t?this.isMultiLineLabel(t)?t.join(" "):t:null}propagateDatasetsToData(t){this.data=this.datasets.map(t=>t.data),this.chart&&(this.chart.data.datasets=t),this.updateColors()}propagateDataToDatasets(t){this.isMultiDataSet(t)?this.datasets&&t.length===this.datasets.length?this.datasets.forEach((e,n)=>{e.data=t[n]}):(this.datasets=t.map((t,e)=>({data:t,label:this.joinLabel(this.labels[e])||`Label ${e}`})),this.chart&&(this.chart.data.datasets=this.datasets)):this.datasets?(this.datasets[0].data=t,this.datasets.splice(1)):(this.datasets=[{data:t}],this.chart&&(this.chart.data.datasets=this.datasets)),this.updateColors()}isMultiDataSet(t){return Array.isArray(t[0])}getDatasets(){if(!this.datasets&&!this.data)throw new Error(`ng-charts configuration error, data or datasets field are required to render chart ${this.chartType}`);return this.datasets?(this.propagateDatasetsToData(this.datasets),this.datasets):this.data?(this.propagateDataToDatasets(this.data),this.datasets):void 0}refresh(){this.chart&&(this.chart.destroy(),this.chart=void 0),this.ctx&&(this.chart=this.getChartBuilder(this.ctx))}}class b{}},hypo:function(t,e,n){var a=n("O0oS");t.exports=function(t,e,n){"__proto__"==e&&a?a(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}},i3PA:function(t,e,n){"use strict";function a(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),a(n("jvuA")),a(n("UReH"))},iEDd:function(t,e,n){!function(t){"use strict";t.defineLocale("gl",{months:"xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro".split("_"),monthsShort:"xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"domingo_luns_martes_mércores_xoves_venres_sábado".split("_"),weekdaysShort:"dom._lun._mar._mér._xov._ven._sáb.".split("_"),weekdaysMin:"do_lu_ma_mé_xo_ve_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoxe "+(1!==this.hours()?"ás":"á")+"] LT"},nextDay:function(){return"[mañá "+(1!==this.hours()?"ás":"á")+"] LT"},nextWeek:function(){return"dddd ["+(1!==this.hours()?"ás":"a")+"] LT"},lastDay:function(){return"[onte "+(1!==this.hours()?"á":"a")+"] LT"},lastWeek:function(){return"[o] dddd [pasado "+(1!==this.hours()?"ás":"a")+"] LT"},sameElse:"L"},relativeTime:{future:function(t){return 0===t.indexOf("un")?"n"+t:"en "+t},past:"hai %s",s:"uns segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"unha hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n("wd/R"))},iExv:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{constructor(t){this.i18n=t}transform(t,e=this.i18n("Yes"),n=this.i18n("No")){return Boolean(t)?e:n}}},iInd:function(t,e,n){"use strict";n.d(e,"F",(function(){return $})),n.d(e,"v",(function(){return dn})),n.d(e,"C",(function(){return On})),n.d(e,"x",(function(){return pn})),n.d(e,"D",(function(){return vn})),n.d(e,"E",(function(){return Cn})),n.d(e,"z",(function(){return hn})),n.d(e,"y",(function(){return mn})),n.d(e,"B",(function(){return _n})),n.d(e,"w",(function(){return gn})),n.d(e,"A",(function(){return yn})),n.d(e,"G",(function(){return cn})),n.d(e,"n",(function(){return $e})),n.d(e,"p",(function(){return Ze})),n.d(e,"o",(function(){return Xe})),n.d(e,"r",(function(){return en})),n.d(e,"d",(function(){return E})),n.d(e,"e",(function(){return A})),n.d(e,"l",(function(){return Fe})),n.d(e,"m",(function(){return Ke})),n.d(e,"k",(function(){return Ge})),n.d(e,"i",(function(){return ln})),n.d(e,"j",(function(){return Pn})),n.d(e,"q",(function(){return fn})),n.d(e,"b",(function(){return tn})),n.d(e,"f",(function(){return on})),n.d(e,"g",(function(){return rn})),n.d(e,"h",(function(){return an})),n.d(e,"s",(function(){return sn})),n.d(e,"a",(function(){return jt})),n.d(e,"t",(function(){return Ve})),n.d(e,"c",(function(){return bt})),n.d(e,"u",(function(){return ht}));var a=n("SVse"),r=n("8Y7J"),o=n("LRne"),i=n("Cfvw"),s=n("2Vo4"),c=n("HDdC"),l=n("sVev"),d=n("itXk"),u=n("NXyV"),g=n("XNiG"),f=n("EY2u"),p=n("lJxs"),m=n("0EUg"),h=n("NJ9Y"),b=n("JIr8"),y=n("SxV6"),_=n("5+tZ"),O=n("Gi4w"),v=n("eIep"),C=n("IzEk"),P=n("JX91"),M=n("Kqap"),x=n("pLZG"),w=n("bOdf"),T=n("128B"),S=n("vkgz"),k=n("nYR2"),I=n("bHdf"),N=n("cUpR");class R{constructor(t,e){this.id=t,this.url=e}}class A extends R{constructor(t,e,n="imperative",a=null){super(t,e),this.navigationTrigger=n,this.restoredState=a}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class E extends R{constructor(t,e,n){super(t,e),this.urlAfterRedirects=n}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}class D extends R{constructor(t,e,n){super(t,e),this.reason=n}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class L extends R{constructor(t,e,n){super(t,e),this.error=n}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class q extends R{constructor(t,e,n,a){super(t,e),this.urlAfterRedirects=n,this.state=a}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class j extends R{constructor(t,e,n,a){super(t,e),this.urlAfterRedirects=n,this.state=a}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class F extends R{constructor(t,e,n,a,r){super(t,e),this.urlAfterRedirects=n,this.state=a,this.shouldActivate=r}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class z extends R{constructor(t,e,n,a){super(t,e),this.urlAfterRedirects=n,this.state=a}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class G extends R{constructor(t,e,n,a){super(t,e),this.urlAfterRedirects=n,this.state=a}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class B{constructor(t){this.route=t}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class V{constructor(t){this.route=t}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class Y{constructor(t){this.snapshot=t}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class H{constructor(t){this.snapshot=t}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class U{constructor(t){this.snapshot=t}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class W{constructor(t){this.snapshot=t}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class K{constructor(t,e,n){this.routerEvent=t,this.position=e,this.anchor=n}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}class ${}class Z{constructor(t){this.params=t||{}}has(t){return this.params.hasOwnProperty(t)}get(t){if(this.has(t)){const e=this.params[t];return Array.isArray(e)?e[0]:e}return null}getAll(t){if(this.has(t)){const e=this.params[t];return Array.isArray(e)?e:[e]}return[]}get keys(){return Object.keys(this.params)}}function J(t){return new Z(t)}function X(t){const e=Error("NavigationCancelingError: "+t);return e.ngNavigationCancelingError=!0,e}function Q(t,e,n){const a=n.path.split("/");if(a.length>t.length)return null;if("full"===n.pathMatch&&(e.hasChildren()||a.length<t.length))return null;const r={};for(let o=0;o<a.length;o++){const e=a[o],n=t[o];if(e.startsWith(":"))r[e.substring(1)]=n;else if(e!==n.path)return null}return{consumed:t.slice(0,a.length),posParams:r}}class tt{constructor(t,e){this.routes=t,this.module=e}}function et(t,e=""){for(let n=0;n<t.length;n++){const a=t[n];nt(a,at(e,a))}}function nt(t,e){if(!t)throw new Error(`\n      Invalid configuration of route '${e}': Encountered undefined route.\n      The reason might be an extra comma.\n\n      Example:\n      const routes: Routes = [\n        { path: '', redirectTo: '/dashboard', pathMatch: 'full' },\n        { path: 'dashboard',  component: DashboardComponent },, << two commas\n        { path: 'detail/:id', component: HeroDetailComponent }\n      ];\n    `);if(Array.isArray(t))throw new Error(`Invalid configuration of route '${e}': Array cannot be specified`);if(!t.component&&!t.children&&!t.loadChildren&&t.outlet&&"primary"!==t.outlet)throw new Error(`Invalid configuration of route '${e}': a componentless route without children or loadChildren cannot have a named outlet set`);if(t.redirectTo&&t.children)throw new Error(`Invalid configuration of route '${e}': redirectTo and children cannot be used together`);if(t.redirectTo&&t.loadChildren)throw new Error(`Invalid configuration of route '${e}': redirectTo and loadChildren cannot be used together`);if(t.children&&t.loadChildren)throw new Error(`Invalid configuration of route '${e}': children and loadChildren cannot be used together`);if(t.redirectTo&&t.component)throw new Error(`Invalid configuration of route '${e}': redirectTo and component cannot be used together`);if(t.path&&t.matcher)throw new Error(`Invalid configuration of route '${e}': path and matcher cannot be used together`);if(void 0===t.redirectTo&&!t.component&&!t.children&&!t.loadChildren)throw new Error(`Invalid configuration of route '${e}'. One of the following must be provided: component, redirectTo, children or loadChildren`);if(void 0===t.path&&void 0===t.matcher)throw new Error(`Invalid configuration of route '${e}': routes must have either a path or a matcher specified`);if("string"==typeof t.path&&"/"===t.path.charAt(0))throw new Error(`Invalid configuration of route '${e}': path cannot start with a slash`);if(""===t.path&&void 0!==t.redirectTo&&void 0===t.pathMatch)throw new Error(`Invalid configuration of route '{path: "${e}", redirectTo: "${t.redirectTo}"}': please provide 'pathMatch'. The default value of 'pathMatch' is 'prefix', but often the intent is to use 'full'.`);if(void 0!==t.pathMatch&&"full"!==t.pathMatch&&"prefix"!==t.pathMatch)throw new Error(`Invalid configuration of route '${e}': pathMatch can only be set to 'prefix' or 'full'`);t.children&&et(t.children,e)}function at(t,e){return e?t||e.path?t&&!e.path?`${t}/`:!t&&e.path?e.path:`${t}/${e.path}`:"":t}function rt(t){const e=t.children&&t.children.map(rt),n=e?Object.assign({},t,{children:e}):Object.assign({},t);return!n.component&&(e||n.loadChildren)&&n.outlet&&"primary"!==n.outlet&&(n.component=$),n}function ot(t,e){const n=Object.keys(t),a=Object.keys(e);if(!n||!a||n.length!=a.length)return!1;let r;for(let o=0;o<n.length;o++)if(r=n[o],t[r]!==e[r])return!1;return!0}function it(t){return Array.prototype.concat.apply([],t)}function st(t){return t.length>0?t[t.length-1]:null}function ct(t,e){for(const n in t)t.hasOwnProperty(n)&&e(t[n],n)}function lt(t){return Object(r["ɵisObservable"])(t)?t:Object(r["ɵisPromise"])(t)?Object(i.a)(Promise.resolve(t)):Object(o.a)(t)}function dt(t,e,n){return n?function(t,e){return ot(t,e)}(t.queryParams,e.queryParams)&&function t(e,n){if(!pt(e.segments,n.segments))return!1;if(e.numberOfChildren!==n.numberOfChildren)return!1;for(const a in n.children){if(!e.children[a])return!1;if(!t(e.children[a],n.children[a]))return!1}return!0}(t.root,e.root):function(t,e){return Object.keys(e).length<=Object.keys(t).length&&Object.keys(e).every(n=>e[n]===t[n])}(t.queryParams,e.queryParams)&&function t(e,n){return function e(n,a,r){if(n.segments.length>r.length)return!!pt(n.segments.slice(0,r.length),r)&&!a.hasChildren();if(n.segments.length===r.length){if(!pt(n.segments,r))return!1;for(const e in a.children){if(!n.children[e])return!1;if(!t(n.children[e],a.children[e]))return!1}return!0}{const t=r.slice(0,n.segments.length),o=r.slice(n.segments.length);return!!pt(n.segments,t)&&!!n.children.primary&&e(n.children.primary,a,o)}}(e,n,n.segments)}(t.root,e.root)}class ut{constructor(t,e,n){this.root=t,this.queryParams=e,this.fragment=n}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=J(this.queryParams)),this._queryParamMap}toString(){return yt.serialize(this)}}class gt{constructor(t,e){this.segments=t,this.children=e,this.parent=null,ct(e,(t,e)=>t.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return _t(this)}}class ft{constructor(t,e){this.path=t,this.parameters=e}get parameterMap(){return this._parameterMap||(this._parameterMap=J(this.parameters)),this._parameterMap}toString(){return xt(this)}}function pt(t,e){return t.length===e.length&&t.every((t,n)=>t.path===e[n].path)}function mt(t,e){let n=[];return ct(t.children,(t,a)=>{"primary"===a&&(n=n.concat(e(t,a)))}),ct(t.children,(t,a)=>{"primary"!==a&&(n=n.concat(e(t,a)))}),n}class ht{}class bt{parse(t){const e=new It(t);return new ut(e.parseRootSegment(),e.parseQueryParams(),e.parseFragment())}serialize(t){var e;return`${`/${function t(e,n){if(!e.hasChildren())return _t(e);if(n){const n=e.children.primary?t(e.children.primary,!1):"",a=[];return ct(e.children,(e,n)=>{"primary"!==n&&a.push(`${n}:${t(e,!1)}`)}),a.length>0?`${n}(${a.join("//")})`:n}{const n=mt(e,(n,a)=>"primary"===a?[t(e.children.primary,!1)]:[`${a}:${t(n,!1)}`]);return`${_t(e)}/(${n.join("//")})`}}(t.root,!0)}`}${function(t){const e=Object.keys(t).map(e=>{const n=t[e];return Array.isArray(n)?n.map(t=>`${vt(e)}=${vt(t)}`).join("&"):`${vt(e)}=${vt(n)}`});return e.length?`?${e.join("&")}`:""}(t.queryParams)}${"string"==typeof t.fragment?`#${e=t.fragment,encodeURI(e)}`:""}`}}const yt=new bt;function _t(t){return t.segments.map(t=>xt(t)).join("/")}function Ot(t){return encodeURIComponent(t).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function vt(t){return Ot(t).replace(/%3B/gi,";")}function Ct(t){return Ot(t).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function Pt(t){return decodeURIComponent(t)}function Mt(t){return Pt(t.replace(/\+/g,"%20"))}function xt(t){return`${Ct(t.path)}${e=t.parameters,Object.keys(e).map(t=>`;${Ct(t)}=${Ct(e[t])}`).join("")}`;var e}const wt=/^[^\/()?;=#]+/;function Tt(t){const e=t.match(wt);return e?e[0]:""}const St=/^[^=?&#]+/,kt=/^[^?&#]+/;class It{constructor(t){this.url=t,this.remaining=t}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new gt([],{}):new gt([],this.parseChildren())}parseQueryParams(){const t={};if(this.consumeOptional("?"))do{this.parseQueryParam(t)}while(this.consumeOptional("&"));return t}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const t=[];for(this.peekStartsWith("(")||t.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),t.push(this.parseSegment());let e={};this.peekStartsWith("/(")&&(this.capture("/"),e=this.parseParens(!0));let n={};return this.peekStartsWith("(")&&(n=this.parseParens(!1)),(t.length>0||Object.keys(e).length>0)&&(n.primary=new gt(t,e)),n}parseSegment(){const t=Tt(this.remaining);if(""===t&&this.peekStartsWith(";"))throw new Error(`Empty path url segment cannot have parameters: '${this.remaining}'.`);return this.capture(t),new ft(Pt(t),this.parseMatrixParams())}parseMatrixParams(){const t={};for(;this.consumeOptional(";");)this.parseParam(t);return t}parseParam(t){const e=Tt(this.remaining);if(!e)return;this.capture(e);let n="";if(this.consumeOptional("=")){const t=Tt(this.remaining);t&&(n=t,this.capture(n))}t[Pt(e)]=Pt(n)}parseQueryParam(t){const e=function(t){const e=t.match(St);return e?e[0]:""}(this.remaining);if(!e)return;this.capture(e);let n="";if(this.consumeOptional("=")){const t=function(t){const e=t.match(kt);return e?e[0]:""}(this.remaining);t&&(n=t,this.capture(n))}const a=Mt(e),r=Mt(n);if(t.hasOwnProperty(a)){let e=t[a];Array.isArray(e)||(e=[e],t[a]=e),e.push(r)}else t[a]=r}parseParens(t){const e={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const n=Tt(this.remaining),a=this.remaining[n.length];if("/"!==a&&")"!==a&&";"!==a)throw new Error(`Cannot parse url '${this.url}'`);let r=void 0;n.indexOf(":")>-1?(r=n.substr(0,n.indexOf(":")),this.capture(r),this.capture(":")):t&&(r="primary");const o=this.parseChildren();e[r]=1===Object.keys(o).length?o.primary:new gt([],o),this.consumeOptional("//")}return e}peekStartsWith(t){return this.remaining.startsWith(t)}consumeOptional(t){return!!this.peekStartsWith(t)&&(this.remaining=this.remaining.substring(t.length),!0)}capture(t){if(!this.consumeOptional(t))throw new Error(`Expected "${t}".`)}}class Nt{constructor(t){this._root=t}get root(){return this._root.value}parent(t){const e=this.pathFromRoot(t);return e.length>1?e[e.length-2]:null}children(t){const e=Rt(t,this._root);return e?e.children.map(t=>t.value):[]}firstChild(t){const e=Rt(t,this._root);return e&&e.children.length>0?e.children[0].value:null}siblings(t){const e=At(t,this._root);return e.length<2?[]:e[e.length-2].children.map(t=>t.value).filter(e=>e!==t)}pathFromRoot(t){return At(t,this._root).map(t=>t.value)}}function Rt(t,e){if(t===e.value)return e;for(const n of e.children){const e=Rt(t,n);if(e)return e}return null}function At(t,e){if(t===e.value)return[e];for(const n of e.children){const a=At(t,n);if(a.length)return a.unshift(e),a}return[]}class Et{constructor(t,e){this.value=t,this.children=e}toString(){return`TreeNode(${this.value})`}}function Dt(t){const e={};return t&&t.children.forEach(t=>e[t.value.outlet]=t),e}class Lt extends Nt{constructor(t,e){super(t),this.snapshot=e,Bt(this,t)}toString(){return this.snapshot.toString()}}function qt(t,e){const n=function(t,e){const n=new zt([],{},{},"",{},"primary",e,null,t.root,-1,{});return new Gt("",new Et(n,[]))}(t,e),a=new s.a([new ft("",{})]),r=new s.a({}),o=new s.a({}),i=new s.a({}),c=new s.a(""),l=new jt(a,r,i,c,o,"primary",e,n.root);return l.snapshot=n.root,new Lt(new Et(l,[]),n)}class jt{constructor(t,e,n,a,r,o,i,s){this.url=t,this.params=e,this.queryParams=n,this.fragment=a,this.data=r,this.outlet=o,this.component=i,this._futureSnapshot=s}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=this.params.pipe(Object(p.a)(t=>J(t)))),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe(Object(p.a)(t=>J(t)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function Ft(t,e="emptyOnly"){const n=t.pathFromRoot;let a=0;if("always"!==e)for(a=n.length-1;a>=1;){const t=n[a],e=n[a-1];if(t.routeConfig&&""===t.routeConfig.path)a--;else{if(e.component)break;a--}}return function(t){return t.reduce((t,e)=>({params:Object.assign({},t.params,e.params),data:Object.assign({},t.data,e.data),resolve:Object.assign({},t.resolve,e._resolvedData)}),{params:{},data:{},resolve:{}})}(n.slice(a))}class zt{constructor(t,e,n,a,r,o,i,s,c,l,d){this.url=t,this.params=e,this.queryParams=n,this.fragment=a,this.data=r,this.outlet=o,this.component=i,this.routeConfig=s,this._urlSegment=c,this._lastPathIndex=l,this._resolve=d}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=J(this.params)),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=J(this.queryParams)),this._queryParamMap}toString(){return`Route(url:'${this.url.map(t=>t.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class Gt extends Nt{constructor(t,e){super(e),this.url=t,Bt(this,e)}toString(){return Vt(this._root)}}function Bt(t,e){e.value._routerState=t,e.children.forEach(e=>Bt(t,e))}function Vt(t){const e=t.children.length>0?` { ${t.children.map(Vt).join(", ")} } `:"";return`${t.value}${e}`}function Yt(t){if(t.snapshot){const e=t.snapshot,n=t._futureSnapshot;t.snapshot=n,ot(e.queryParams,n.queryParams)||t.queryParams.next(n.queryParams),e.fragment!==n.fragment&&t.fragment.next(n.fragment),ot(e.params,n.params)||t.params.next(n.params),function(t,e){if(t.length!==e.length)return!1;for(let n=0;n<t.length;++n)if(!ot(t[n],e[n]))return!1;return!0}(e.url,n.url)||t.url.next(n.url),ot(e.data,n.data)||t.data.next(n.data)}else t.snapshot=t._futureSnapshot,t.data.next(t._futureSnapshot.data)}function Ht(t,e){var n,a;return ot(t.params,e.params)&&pt(n=t.url,a=e.url)&&n.every((t,e)=>ot(t.parameters,a[e].parameters))&&!(!t.parent!=!e.parent)&&(!t.parent||Ht(t.parent,e.parent))}function Ut(t){return"object"==typeof t&&null!=t&&!t.outlets&&!t.segmentPath}function Wt(t,e,n,a,r){let o={};return a&&ct(a,(t,e)=>{o[e]=Array.isArray(t)?t.map(t=>`${t}`):`${t}`}),new ut(n.root===t?e:function t(e,n,a){const r={};return ct(e.children,(e,o)=>{r[o]=e===n?a:t(e,n,a)}),new gt(e.segments,r)}(n.root,t,e),o,r)}class Kt{constructor(t,e,n){if(this.isAbsolute=t,this.numberOfDoubleDots=e,this.commands=n,t&&n.length>0&&Ut(n[0]))throw new Error("Root segment cannot have matrix parameters");const a=n.find(t=>"object"==typeof t&&null!=t&&t.outlets);if(a&&a!==st(n))throw new Error("{outlets:{}} has to be the last command")}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class $t{constructor(t,e,n){this.segmentGroup=t,this.processChildren=e,this.index=n}}function Zt(t){return"object"==typeof t&&null!=t&&t.outlets?t.outlets.primary:`${t}`}function Jt(t,e,n){if(t||(t=new gt([],{})),0===t.segments.length&&t.hasChildren())return Xt(t,e,n);const a=function(t,e,n){let a=0,r=e;const o={match:!1,pathIndex:0,commandIndex:0};for(;r<t.segments.length;){if(a>=n.length)return o;const e=t.segments[r],i=Zt(n[a]),s=a<n.length-1?n[a+1]:null;if(r>0&&void 0===i)break;if(i&&s&&"object"==typeof s&&void 0===s.outlets){if(!ne(i,s,e))return o;a+=2}else{if(!ne(i,{},e))return o;a++}r++}return{match:!0,pathIndex:r,commandIndex:a}}(t,e,n),r=n.slice(a.commandIndex);if(a.match&&a.pathIndex<t.segments.length){const e=new gt(t.segments.slice(0,a.pathIndex),{});return e.children.primary=new gt(t.segments.slice(a.pathIndex),t.children),Xt(e,0,r)}return a.match&&0===r.length?new gt(t.segments,{}):a.match&&!t.hasChildren()?Qt(t,e,n):a.match?Xt(t,0,r):Qt(t,e,n)}function Xt(t,e,n){if(0===n.length)return new gt(t.segments,{});{const a=function(t){return"object"!=typeof t[0]?{primary:t}:void 0===t[0].outlets?{primary:t}:t[0].outlets}(n),r={};return ct(a,(n,a)=>{null!==n&&(r[a]=Jt(t.children[a],e,n))}),ct(t.children,(t,e)=>{void 0===a[e]&&(r[e]=t)}),new gt(t.segments,r)}}function Qt(t,e,n){const a=t.segments.slice(0,e);let r=0;for(;r<n.length;){if("object"==typeof n[r]&&void 0!==n[r].outlets){const t=te(n[r].outlets);return new gt(a,t)}if(0===r&&Ut(n[0])){a.push(new ft(t.segments[e].path,n[0])),r++;continue}const o=Zt(n[r]),i=r<n.length-1?n[r+1]:null;o&&i&&Ut(i)?(a.push(new ft(o,ee(i))),r+=2):(a.push(new ft(o,{})),r++)}return new gt(a,{})}function te(t){const e={};return ct(t,(t,n)=>{null!==t&&(e[n]=Qt(new gt([],{}),0,t))}),e}function ee(t){const e={};return ct(t,(t,n)=>e[n]=`${t}`),e}function ne(t,e,n){return t==n.path&&ot(e,n.parameters)}class ae{constructor(t,e,n,a){this.routeReuseStrategy=t,this.futureState=e,this.currState=n,this.forwardEvent=a}activate(t){const e=this.futureState._root,n=this.currState?this.currState._root:null;this.deactivateChildRoutes(e,n,t),Yt(this.futureState.root),this.activateChildRoutes(e,n,t)}deactivateChildRoutes(t,e,n){const a=Dt(e);t.children.forEach(t=>{const e=t.value.outlet;this.deactivateRoutes(t,a[e],n),delete a[e]}),ct(a,(t,e)=>{this.deactivateRouteAndItsChildren(t,n)})}deactivateRoutes(t,e,n){const a=t.value,r=e?e.value:null;if(a===r)if(a.component){const r=n.getContext(a.outlet);r&&this.deactivateChildRoutes(t,e,r.children)}else this.deactivateChildRoutes(t,e,n);else r&&this.deactivateRouteAndItsChildren(e,n)}deactivateRouteAndItsChildren(t,e){this.routeReuseStrategy.shouldDetach(t.value.snapshot)?this.detachAndStoreRouteSubtree(t,e):this.deactivateRouteAndOutlet(t,e)}detachAndStoreRouteSubtree(t,e){const n=e.getContext(t.value.outlet);if(n&&n.outlet){const e=n.outlet.detach(),a=n.children.onOutletDeactivated();this.routeReuseStrategy.store(t.value.snapshot,{componentRef:e,route:t,contexts:a})}}deactivateRouteAndOutlet(t,e){const n=e.getContext(t.value.outlet);if(n){const a=Dt(t),r=t.value.component?n.children:e;ct(a,(t,e)=>this.deactivateRouteAndItsChildren(t,r)),n.outlet&&(n.outlet.deactivate(),n.children.onOutletDeactivated())}}activateChildRoutes(t,e,n){const a=Dt(e);t.children.forEach(t=>{this.activateRoutes(t,a[t.value.outlet],n),this.forwardEvent(new W(t.value.snapshot))}),t.children.length&&this.forwardEvent(new H(t.value.snapshot))}activateRoutes(t,e,n){const a=t.value,r=e?e.value:null;if(Yt(a),a===r)if(a.component){const r=n.getOrCreateContext(a.outlet);this.activateChildRoutes(t,e,r.children)}else this.activateChildRoutes(t,e,n);else if(a.component){const e=n.getOrCreateContext(a.outlet);if(this.routeReuseStrategy.shouldAttach(a.snapshot)){const t=this.routeReuseStrategy.retrieve(a.snapshot);this.routeReuseStrategy.store(a.snapshot,null),e.children.onOutletReAttached(t.contexts),e.attachRef=t.componentRef,e.route=t.route.value,e.outlet&&e.outlet.attach(t.componentRef,t.route.value),re(t.route)}else{const n=function(t){for(let e=t.parent;e;e=e.parent){const t=e.routeConfig;if(t&&t._loadedConfig)return t._loadedConfig;if(t&&t.component)return null}return null}(a.snapshot),r=n?n.module.componentFactoryResolver:null;e.attachRef=null,e.route=a,e.resolver=r,e.outlet&&e.outlet.activateWith(a,r),this.activateChildRoutes(t,null,e.children)}}else this.activateChildRoutes(t,null,n)}}function re(t){Yt(t.value),t.children.forEach(re)}function oe(t){return"function"==typeof t}function ie(t){return t instanceof ut}class se{constructor(t){this.segmentGroup=t||null}}class ce{constructor(t){this.urlTree=t}}function le(t){return new c.a(e=>e.error(new se(t)))}function de(t){return new c.a(e=>e.error(new ce(t)))}function ue(t){return new c.a(e=>e.error(new Error(`Only absolute redirects can have named outlets. redirectTo: '${t}'`)))}class ge{constructor(t,e,n,a,o){this.configLoader=e,this.urlSerializer=n,this.urlTree=a,this.config=o,this.allowRedirects=!0,this.ngModule=t.get(r.NgModuleRef)}apply(){return this.expandSegmentGroup(this.ngModule,this.config,this.urlTree.root,"primary").pipe(Object(p.a)(t=>this.createUrlTree(t,this.urlTree.queryParams,this.urlTree.fragment))).pipe(Object(b.a)(t=>{if(t instanceof ce)return this.allowRedirects=!1,this.match(t.urlTree);if(t instanceof se)throw this.noMatchError(t);throw t}))}match(t){return this.expandSegmentGroup(this.ngModule,this.config,t.root,"primary").pipe(Object(p.a)(e=>this.createUrlTree(e,t.queryParams,t.fragment))).pipe(Object(b.a)(t=>{if(t instanceof se)throw this.noMatchError(t);throw t}))}noMatchError(t){return new Error(`Cannot match any routes. URL Segment: '${t.segmentGroup}'`)}createUrlTree(t,e,n){const a=t.segments.length>0?new gt([],{primary:t}):t;return new ut(a,e,n)}expandSegmentGroup(t,e,n,a){return 0===n.segments.length&&n.hasChildren()?this.expandChildren(t,e,n).pipe(Object(p.a)(t=>new gt([],t))):this.expandSegment(t,n,e,n.segments,a,!0)}expandChildren(t,e,n){return function(t,e){if(0===Object.keys(t).length)return Object(o.a)({});const n=[],a=[],r={};return ct(t,(t,o)=>{const i=e(o,t).pipe(Object(p.a)(t=>r[o]=t));"primary"===o?n.push(i):a.push(i)}),o.a.apply(null,n.concat(a)).pipe(Object(m.a)(),Object(h.a)(),Object(p.a)(()=>r))}(n.children,(n,a)=>this.expandSegmentGroup(t,e,a,n))}expandSegment(t,e,n,a,r,i){return Object(o.a)(...n).pipe(Object(p.a)(s=>this.expandSegmentAgainstRoute(t,e,n,s,a,r,i).pipe(Object(b.a)(t=>{if(t instanceof se)return Object(o.a)(null);throw t}))),Object(m.a)(),Object(y.a)(t=>!!t),Object(b.a)((t,n)=>{if(t instanceof l.a||"EmptyError"===t.name){if(this.noLeftoversInUrl(e,a,r))return Object(o.a)(new gt([],{}));throw new se(e)}throw t}))}noLeftoversInUrl(t,e,n){return 0===e.length&&!t.children[n]}expandSegmentAgainstRoute(t,e,n,a,r,o,i){return he(a)!==o?le(e):void 0===a.redirectTo?this.matchSegmentAgainstRoute(t,e,a,r):i&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(t,e,n,a,r,o):le(e)}expandSegmentAgainstRouteUsingRedirect(t,e,n,a,r,o){return"**"===a.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(t,n,a,o):this.expandRegularSegmentAgainstRouteUsingRedirect(t,e,n,a,r,o)}expandWildCardWithParamsAgainstRouteUsingRedirect(t,e,n,a){const r=this.applyRedirectCommands([],n.redirectTo,{});return n.redirectTo.startsWith("/")?de(r):this.lineralizeSegments(n,r).pipe(Object(_.a)(n=>{const r=new gt(n,{});return this.expandSegment(t,r,e,n,a,!1)}))}expandRegularSegmentAgainstRouteUsingRedirect(t,e,n,a,r,o){const{matched:i,consumedSegments:s,lastChild:c,positionalParamSegments:l}=fe(e,a,r);if(!i)return le(e);const d=this.applyRedirectCommands(s,a.redirectTo,l);return a.redirectTo.startsWith("/")?de(d):this.lineralizeSegments(a,d).pipe(Object(_.a)(a=>this.expandSegment(t,e,n,a.concat(r.slice(c)),o,!1)))}matchSegmentAgainstRoute(t,e,n,a){if("**"===n.path)return n.loadChildren?this.configLoader.load(t.injector,n).pipe(Object(p.a)(t=>(n._loadedConfig=t,new gt(a,{})))):Object(o.a)(new gt(a,{}));const{matched:r,consumedSegments:i,lastChild:s}=fe(e,n,a);if(!r)return le(e);const c=a.slice(s);return this.getChildConfig(t,n,a).pipe(Object(_.a)(t=>{const n=t.module,a=t.routes,{segmentGroup:r,slicedSegments:s}=function(t,e,n,a){return n.length>0&&function(t,e,n){return n.some(n=>me(t,e,n)&&"primary"!==he(n))}(t,n,a)?{segmentGroup:pe(new gt(e,function(t,e){const n={};n.primary=e;for(const a of t)""===a.path&&"primary"!==he(a)&&(n[he(a)]=new gt([],{}));return n}(a,new gt(n,t.children)))),slicedSegments:[]}:0===n.length&&function(t,e,n){return n.some(n=>me(t,e,n))}(t,n,a)?{segmentGroup:pe(new gt(t.segments,function(t,e,n,a){const r={};for(const o of n)me(t,e,o)&&!a[he(o)]&&(r[he(o)]=new gt([],{}));return Object.assign({},a,r)}(t,n,a,t.children))),slicedSegments:n}:{segmentGroup:t,slicedSegments:n}}(e,i,c,a);return 0===s.length&&r.hasChildren()?this.expandChildren(n,a,r).pipe(Object(p.a)(t=>new gt(i,t))):0===a.length&&0===s.length?Object(o.a)(new gt(i,{})):this.expandSegment(n,r,a,s,"primary",!0).pipe(Object(p.a)(t=>new gt(i.concat(t.segments),t.children)))}))}getChildConfig(t,e,n){return e.children?Object(o.a)(new tt(e.children,t)):e.loadChildren?void 0!==e._loadedConfig?Object(o.a)(e._loadedConfig):function(t,e,n){const a=e.canLoad;return a&&0!==a.length?Object(i.a)(a).pipe(Object(p.a)(a=>{const r=t.get(a);let o;if(function(t){return t&&oe(t.canLoad)}(r))o=r.canLoad(e,n);else{if(!oe(r))throw new Error("Invalid CanLoad guard");o=r(e,n)}return lt(o)})).pipe(Object(m.a)(),Object(O.a)(t=>!0===t)):Object(o.a)(!0)}(t.injector,e,n).pipe(Object(_.a)(n=>n?this.configLoader.load(t.injector,e).pipe(Object(p.a)(t=>(e._loadedConfig=t,t))):function(t){return new c.a(e=>e.error(X(`Cannot load children because the guard of the route "path: '${t.path}'" returned false`)))}(e))):Object(o.a)(new tt([],t))}lineralizeSegments(t,e){let n=[],a=e.root;for(;;){if(n=n.concat(a.segments),0===a.numberOfChildren)return Object(o.a)(n);if(a.numberOfChildren>1||!a.children.primary)return ue(t.redirectTo);a=a.children.primary}}applyRedirectCommands(t,e,n){return this.applyRedirectCreatreUrlTree(e,this.urlSerializer.parse(e),t,n)}applyRedirectCreatreUrlTree(t,e,n,a){const r=this.createSegmentGroup(t,e.root,n,a);return new ut(r,this.createQueryParams(e.queryParams,this.urlTree.queryParams),e.fragment)}createQueryParams(t,e){const n={};return ct(t,(t,a)=>{if("string"==typeof t&&t.startsWith(":")){const r=t.substring(1);n[a]=e[r]}else n[a]=t}),n}createSegmentGroup(t,e,n,a){const r=this.createSegments(t,e.segments,n,a);let o={};return ct(e.children,(e,r)=>{o[r]=this.createSegmentGroup(t,e,n,a)}),new gt(r,o)}createSegments(t,e,n,a){return e.map(e=>e.path.startsWith(":")?this.findPosParam(t,e,a):this.findOrReturn(e,n))}findPosParam(t,e,n){const a=n[e.path.substring(1)];if(!a)throw new Error(`Cannot redirect to '${t}'. Cannot find '${e.path}'.`);return a}findOrReturn(t,e){let n=0;for(const a of e){if(a.path===t.path)return e.splice(n),a;n++}return t}}function fe(t,e,n){if(""===e.path)return"full"===e.pathMatch&&(t.hasChildren()||n.length>0)?{matched:!1,consumedSegments:[],lastChild:0,positionalParamSegments:{}}:{matched:!0,consumedSegments:[],lastChild:0,positionalParamSegments:{}};const a=(e.matcher||Q)(n,t,e);return a?{matched:!0,consumedSegments:a.consumed,lastChild:a.consumed.length,positionalParamSegments:a.posParams}:{matched:!1,consumedSegments:[],lastChild:0,positionalParamSegments:{}}}function pe(t){if(1===t.numberOfChildren&&t.children.primary){const e=t.children.primary;return new gt(t.segments.concat(e.segments),e.children)}return t}function me(t,e,n){return(!(t.hasChildren()||e.length>0)||"full"!==n.pathMatch)&&""===n.path&&void 0!==n.redirectTo}function he(t){return t.outlet||"primary"}class be{constructor(t){this.path=t,this.route=this.path[this.path.length-1]}}class ye{constructor(t,e){this.component=t,this.route=e}}function _e(t,e,n){const a=t._root;return function t(e,n,a,r,o={canDeactivateChecks:[],canActivateChecks:[]}){const i=Dt(n);return e.children.forEach(e=>{!function(e,n,a,r,o={canDeactivateChecks:[],canActivateChecks:[]}){const i=e.value,s=n?n.value:null,c=a?a.getContext(e.value.outlet):null;if(s&&i.routeConfig===s.routeConfig){const l=function(t,e,n){if("function"==typeof n)return n(t,e);switch(n){case"pathParamsChange":return!pt(t.url,e.url);case"pathParamsOrQueryParamsChange":return!pt(t.url,e.url)||!ot(t.queryParams,e.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!Ht(t,e)||!ot(t.queryParams,e.queryParams);case"paramsChange":default:return!Ht(t,e)}}(s,i,i.routeConfig.runGuardsAndResolvers);l?o.canActivateChecks.push(new be(r)):(i.data=s.data,i._resolvedData=s._resolvedData),t(e,n,i.component?c?c.children:null:a,r,o),l&&o.canDeactivateChecks.push(new ye(c&&c.outlet&&c.outlet.component||null,s))}else s&&ve(n,c,o),o.canActivateChecks.push(new be(r)),t(e,null,i.component?c?c.children:null:a,r,o)}(e,i[e.value.outlet],a,r.concat([e.value]),o),delete i[e.value.outlet]}),ct(i,(t,e)=>ve(t,a.getContext(e),o)),o}(a,e?e._root:null,n,[a.value])}function Oe(t,e,n){const a=function(t){if(!t)return null;for(let e=t.parent;e;e=e.parent){const t=e.routeConfig;if(t&&t._loadedConfig)return t._loadedConfig}return null}(e);return(a?a.module.injector:n).get(t)}function ve(t,e,n){const a=Dt(t),r=t.value;ct(a,(t,a)=>{ve(t,r.component?e?e.children.getContext(a):null:e,n)}),n.canDeactivateChecks.push(new ye(r.component&&e&&e.outlet&&e.outlet.isActivated?e.outlet.component:null,r))}const Ce=Symbol("INITIAL_VALUE");function Pe(){return Object(v.a)(t=>Object(d.b)(...t.map(t=>t.pipe(Object(C.a)(1),Object(P.a)(Ce)))).pipe(Object(M.a)((t,e)=>{let n=!1;return e.reduce((t,a,r)=>{if(t!==Ce)return t;if(a===Ce&&(n=!0),!n){if(!1===a)return a;if(r===e.length-1||ie(a))return a}return t},t)},Ce),Object(x.a)(t=>t!==Ce),Object(p.a)(t=>ie(t)?t:!0===t),Object(C.a)(1)))}function Me(t,e){return null!==t&&e&&e(new U(t)),Object(o.a)(!0)}function xe(t,e){return null!==t&&e&&e(new Y(t)),Object(o.a)(!0)}function we(t,e,n){const a=e.routeConfig?e.routeConfig.canActivate:null;if(!a||0===a.length)return Object(o.a)(!0);const r=a.map(a=>Object(u.a)(()=>{const r=Oe(a,e,n);let o;if(function(t){return t&&oe(t.canActivate)}(r))o=lt(r.canActivate(e,t));else{if(!oe(r))throw new Error("Invalid CanActivate guard");o=lt(r(e,t))}return o.pipe(Object(y.a)())}));return Object(o.a)(r).pipe(Pe())}function Te(t,e,n){const a=e[e.length-1],r=e.slice(0,e.length-1).reverse().map(t=>function(t){const e=t.routeConfig?t.routeConfig.canActivateChild:null;return e&&0!==e.length?{node:t,guards:e}:null}(t)).filter(t=>null!==t).map(e=>Object(u.a)(()=>{const r=e.guards.map(r=>{const o=Oe(r,e.node,n);let i;if(function(t){return t&&oe(t.canActivateChild)}(o))i=lt(o.canActivateChild(a,t));else{if(!oe(o))throw new Error("Invalid CanActivateChild guard");i=lt(o(a,t))}return i.pipe(Object(y.a)())});return Object(o.a)(r).pipe(Pe())}));return Object(o.a)(r).pipe(Pe())}class Se{}class ke{constructor(t,e,n,a,r,o){this.rootComponentType=t,this.config=e,this.urlTree=n,this.url=a,this.paramsInheritanceStrategy=r,this.relativeLinkResolution=o}recognize(){try{const t=Re(this.urlTree.root,[],[],this.config,this.relativeLinkResolution).segmentGroup,e=this.processSegmentGroup(this.config,t,"primary"),n=new zt([],Object.freeze({}),Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,{},"primary",this.rootComponentType,null,this.urlTree.root,-1,{}),a=new Et(n,e),r=new Gt(this.url,a);return this.inheritParamsAndData(r._root),Object(o.a)(r)}catch(t){return new c.a(e=>e.error(t))}}inheritParamsAndData(t){const e=t.value,n=Ft(e,this.paramsInheritanceStrategy);e.params=Object.freeze(n.params),e.data=Object.freeze(n.data),t.children.forEach(t=>this.inheritParamsAndData(t))}processSegmentGroup(t,e,n){return 0===e.segments.length&&e.hasChildren()?this.processChildren(t,e):this.processSegment(t,e,e.segments,n)}processChildren(t,e){const n=mt(e,(e,n)=>this.processSegmentGroup(t,e,n));return function(t){const e={};t.forEach(t=>{const n=e[t.value.outlet];if(n){const e=n.url.map(t=>t.toString()).join("/"),a=t.value.url.map(t=>t.toString()).join("/");throw new Error(`Two segments cannot have the same outlet name: '${e}' and '${a}'.`)}e[t.value.outlet]=t.value})}(n),n.sort((t,e)=>"primary"===t.value.outlet?-1:"primary"===e.value.outlet?1:t.value.outlet.localeCompare(e.value.outlet)),n}processSegment(t,e,n,a){for(const o of t)try{return this.processSegmentAgainstRoute(o,e,n,a)}catch(r){if(!(r instanceof Se))throw r}if(this.noLeftoversInUrl(e,n,a))return[];throw new Se}noLeftoversInUrl(t,e,n){return 0===e.length&&!t.children[n]}processSegmentAgainstRoute(t,e,n,a){if(t.redirectTo)throw new Se;if((t.outlet||"primary")!==a)throw new Se;let r,o=[],i=[];if("**"===t.path){const o=n.length>0?st(n).parameters:{};r=new zt(n,o,Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,De(t),a,t.component,t,Ie(e),Ne(e)+n.length,Le(t))}else{const s=function(t,e,n){if(""===e.path){if("full"===e.pathMatch&&(t.hasChildren()||n.length>0))throw new Se;return{consumedSegments:[],lastChild:0,parameters:{}}}const a=(e.matcher||Q)(n,t,e);if(!a)throw new Se;const r={};ct(a.posParams,(t,e)=>{r[e]=t.path});const o=a.consumed.length>0?Object.assign({},r,a.consumed[a.consumed.length-1].parameters):r;return{consumedSegments:a.consumed,lastChild:a.consumed.length,parameters:o}}(e,t,n);o=s.consumedSegments,i=n.slice(s.lastChild),r=new zt(o,s.parameters,Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,De(t),a,t.component,t,Ie(e),Ne(e)+o.length,Le(t))}const s=function(t){return t.children?t.children:t.loadChildren?t._loadedConfig.routes:[]}(t),{segmentGroup:c,slicedSegments:l}=Re(e,o,i,s,this.relativeLinkResolution);if(0===l.length&&c.hasChildren()){const t=this.processChildren(s,c);return[new Et(r,t)]}if(0===s.length&&0===l.length)return[new Et(r,[])];const d=this.processSegment(s,c,l,"primary");return[new Et(r,d)]}}function Ie(t){let e=t;for(;e._sourceSegment;)e=e._sourceSegment;return e}function Ne(t){let e=t,n=e._segmentIndexShift?e._segmentIndexShift:0;for(;e._sourceSegment;)e=e._sourceSegment,n+=e._segmentIndexShift?e._segmentIndexShift:0;return n-1}function Re(t,e,n,a,r){if(n.length>0&&function(t,e,n){return n.some(n=>Ae(t,e,n)&&"primary"!==Ee(n))}(t,n,a)){const r=new gt(e,function(t,e,n,a){const r={};r.primary=a,a._sourceSegment=t,a._segmentIndexShift=e.length;for(const o of n)if(""===o.path&&"primary"!==Ee(o)){const n=new gt([],{});n._sourceSegment=t,n._segmentIndexShift=e.length,r[Ee(o)]=n}return r}(t,e,a,new gt(n,t.children)));return r._sourceSegment=t,r._segmentIndexShift=e.length,{segmentGroup:r,slicedSegments:[]}}if(0===n.length&&function(t,e,n){return n.some(n=>Ae(t,e,n))}(t,n,a)){const o=new gt(t.segments,function(t,e,n,a,r,o){const i={};for(const s of a)if(Ae(t,n,s)&&!r[Ee(s)]){const n=new gt([],{});n._sourceSegment=t,n._segmentIndexShift="legacy"===o?t.segments.length:e.length,i[Ee(s)]=n}return Object.assign({},r,i)}(t,e,n,a,t.children,r));return o._sourceSegment=t,o._segmentIndexShift=e.length,{segmentGroup:o,slicedSegments:n}}const o=new gt(t.segments,t.children);return o._sourceSegment=t,o._segmentIndexShift=e.length,{segmentGroup:o,slicedSegments:n}}function Ae(t,e,n){return(!(t.hasChildren()||e.length>0)||"full"!==n.pathMatch)&&""===n.path&&void 0===n.redirectTo}function Ee(t){return t.outlet||"primary"}function De(t){return t.data||{}}function Le(t){return t.resolve||{}}function qe(t,e,n,a){const r=Oe(t,e,a);return lt(r.resolve?r.resolve(e,n):r(e,n))}function je(t){return function(e){return e.pipe(Object(v.a)(e=>{const n=t(e);return n?Object(i.a)(n).pipe(Object(p.a)(()=>e)):Object(i.a)([e])}))}}class Fe{}class ze{shouldDetach(t){return!1}store(t,e){}shouldAttach(t){return!1}retrieve(t){return null}shouldReuseRoute(t,e){return t.routeConfig===e.routeConfig}}const Ge=new r.InjectionToken("ROUTES");class Be{constructor(t,e,n,a){this.loader=t,this.compiler=e,this.onLoadStartListener=n,this.onLoadEndListener=a}load(t,e){return this.onLoadStartListener&&this.onLoadStartListener(e),this.loadModuleFactory(e.loadChildren).pipe(Object(p.a)(n=>{this.onLoadEndListener&&this.onLoadEndListener(e);const a=n.create(t);return new tt(it(a.injector.get(Ge)).map(rt),a)}))}loadModuleFactory(t){return"string"==typeof t?Object(i.a)(this.loader.load(t)):lt(t()).pipe(Object(_.a)(t=>t instanceof r.NgModuleFactory?Object(o.a)(t):Object(i.a)(this.compiler.compileModuleAsync(t))))}}class Ve{}class Ye{shouldProcessUrl(t){return!0}extract(t){return t}merge(t,e){return t}}function He(t){throw t}function Ue(t,e,n){return e.parse("/")}function We(t,e){return Object(o.a)(null)}class Ke{constructor(t,e,n,a,o,i,c,l){this.rootComponentType=t,this.urlSerializer=e,this.rootContexts=n,this.location=a,this.config=l,this.lastSuccessfulNavigation=null,this.currentNavigation=null,this.navigationId=0,this.isNgZoneEnabled=!1,this.events=new g.a,this.errorHandler=He,this.malformedUriErrorHandler=Ue,this.navigated=!1,this.lastSuccessfulId=-1,this.hooks={beforePreactivation:We,afterPreactivation:We},this.urlHandlingStrategy=new Ye,this.routeReuseStrategy=new ze,this.onSameUrlNavigation="ignore",this.paramsInheritanceStrategy="emptyOnly",this.urlUpdateStrategy="deferred",this.relativeLinkResolution="legacy",this.ngModule=o.get(r.NgModuleRef),this.console=o.get(r["ɵConsole"]);const d=o.get(r.NgZone);this.isNgZoneEnabled=d instanceof r.NgZone,this.resetConfig(l),this.currentUrlTree=new ut(new gt([],{}),{},null),this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.configLoader=new Be(i,c,t=>this.triggerEvent(new B(t)),t=>this.triggerEvent(new V(t))),this.routerState=qt(this.currentUrlTree,this.rootComponentType),this.transitions=new s.a({id:0,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,extractedUrl:this.urlHandlingStrategy.extract(this.currentUrlTree),urlAfterRedirects:this.urlHandlingStrategy.extract(this.currentUrlTree),rawUrl:this.currentUrlTree,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:"imperative",restoredState:null,currentSnapshot:this.routerState.snapshot,targetSnapshot:null,currentRouterState:this.routerState,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.navigations=this.setupNavigations(this.transitions),this.processNavigations()}setupNavigations(t){const e=this.events;return t.pipe(Object(x.a)(t=>0!==t.id),Object(p.a)(t=>Object.assign({},t,{extractedUrl:this.urlHandlingStrategy.extract(t.rawUrl)})),Object(v.a)(t=>{let n=!1,a=!1;return Object(o.a)(t).pipe(Object(S.a)(t=>{this.currentNavigation={id:t.id,initialUrl:t.currentRawUrl,extractedUrl:t.extractedUrl,trigger:t.source,extras:t.extras,previousNavigation:this.lastSuccessfulNavigation?Object.assign({},this.lastSuccessfulNavigation,{previousNavigation:null}):null}}),Object(v.a)(t=>{const n=!this.navigated||t.extractedUrl.toString()!==this.browserUrlTree.toString();if(("reload"===this.onSameUrlNavigation||n)&&this.urlHandlingStrategy.shouldProcessUrl(t.rawUrl))return Object(o.a)(t).pipe(Object(v.a)(t=>{const n=this.transitions.getValue();return e.next(new A(t.id,this.serializeUrl(t.extractedUrl),t.source,t.restoredState)),n!==this.transitions.getValue()?f.a:[t]}),Object(v.a)(t=>Promise.resolve(t)),(a=this.ngModule.injector,r=this.configLoader,i=this.urlSerializer,s=this.config,function(t){return t.pipe(Object(v.a)(t=>function(t,e,n,a,r){return new ge(t,e,n,a,r).apply()}(a,r,i,t.extractedUrl,s).pipe(Object(p.a)(e=>Object.assign({},t,{urlAfterRedirects:e})))))}),Object(S.a)(t=>{this.currentNavigation=Object.assign({},this.currentNavigation,{finalUrl:t.urlAfterRedirects})}),function(t,e,n,a,r){return function(o){return o.pipe(Object(_.a)(o=>function(t,e,n,a,r="emptyOnly",o="legacy"){return new ke(t,e,n,a,r,o).recognize()}(t,e,o.urlAfterRedirects,n(o.urlAfterRedirects),a,r).pipe(Object(p.a)(t=>Object.assign({},o,{targetSnapshot:t})))))}}(this.rootComponentType,this.config,t=>this.serializeUrl(t),this.paramsInheritanceStrategy,this.relativeLinkResolution),Object(S.a)(t=>{"eager"===this.urlUpdateStrategy&&(t.extras.skipLocationChange||this.setBrowserUrl(t.urlAfterRedirects,!!t.extras.replaceUrl,t.id,t.extras.state),this.browserUrlTree=t.urlAfterRedirects)}),Object(S.a)(t=>{const n=new q(t.id,this.serializeUrl(t.extractedUrl),this.serializeUrl(t.urlAfterRedirects),t.targetSnapshot);e.next(n)}));var a,r,i,s;if(n&&this.rawUrlTree&&this.urlHandlingStrategy.shouldProcessUrl(this.rawUrlTree)){const{id:n,extractedUrl:a,source:r,restoredState:i,extras:s}=t,c=new A(n,this.serializeUrl(a),r,i);e.next(c);const l=qt(a,this.rootComponentType).snapshot;return Object(o.a)(Object.assign({},t,{targetSnapshot:l,urlAfterRedirects:a,extras:Object.assign({},s,{skipLocationChange:!1,replaceUrl:!1})}))}return this.rawUrlTree=t.rawUrl,this.browserUrlTree=t.urlAfterRedirects,t.resolve(null),f.a}),je(t=>{const{targetSnapshot:e,id:n,extractedUrl:a,rawUrl:r,extras:{skipLocationChange:o,replaceUrl:i}}=t;return this.hooks.beforePreactivation(e,{navigationId:n,appliedUrlTree:a,rawUrlTree:r,skipLocationChange:!!o,replaceUrl:!!i})}),Object(S.a)(t=>{const e=new j(t.id,this.serializeUrl(t.extractedUrl),this.serializeUrl(t.urlAfterRedirects),t.targetSnapshot);this.triggerEvent(e)}),Object(p.a)(t=>Object.assign({},t,{guards:_e(t.targetSnapshot,t.currentSnapshot,this.rootContexts)})),function(t,e){return function(n){return n.pipe(Object(_.a)(n=>{const{targetSnapshot:a,currentSnapshot:r,guards:{canActivateChecks:s,canDeactivateChecks:c}}=n;return 0===c.length&&0===s.length?Object(o.a)(Object.assign({},n,{guardsResult:!0})):function(t,e,n,a){return Object(i.a)(t).pipe(Object(_.a)(t=>function(t,e,n,a,r){const i=e&&e.routeConfig?e.routeConfig.canDeactivate:null;if(!i||0===i.length)return Object(o.a)(!0);const s=i.map(o=>{const i=Oe(o,e,r);let s;if(function(t){return t&&oe(t.canDeactivate)}(i))s=lt(i.canDeactivate(t,e,n,a));else{if(!oe(i))throw new Error("Invalid CanDeactivate guard");s=lt(i(t,e,n,a))}return s.pipe(Object(y.a)())});return Object(o.a)(s).pipe(Pe())}(t.component,t.route,n,e,a)),Object(y.a)(t=>!0!==t,!0))}(c,a,r,t).pipe(Object(_.a)(n=>n&&"boolean"==typeof n?function(t,e,n,a){return Object(i.a)(e).pipe(Object(w.a)(e=>Object(i.a)([xe(e.route.parent,a),Me(e.route,a),Te(t,e.path,n),we(t,e.route,n)]).pipe(Object(m.a)(),Object(y.a)(t=>!0!==t,!0))),Object(y.a)(t=>!0!==t,!0))}(a,s,t,e):Object(o.a)(n)),Object(p.a)(t=>Object.assign({},n,{guardsResult:t})))}))}}(this.ngModule.injector,t=>this.triggerEvent(t)),Object(S.a)(t=>{if(ie(t.guardsResult)){const e=X(`Redirecting to "${this.serializeUrl(t.guardsResult)}"`);throw e.url=t.guardsResult,e}}),Object(S.a)(t=>{const e=new F(t.id,this.serializeUrl(t.extractedUrl),this.serializeUrl(t.urlAfterRedirects),t.targetSnapshot,!!t.guardsResult);this.triggerEvent(e)}),Object(x.a)(t=>{if(!t.guardsResult){this.resetUrlToCurrentUrlTree();const n=new D(t.id,this.serializeUrl(t.extractedUrl),"");return e.next(n),t.resolve(!1),!1}return!0}),je(t=>{if(t.guards.canActivateChecks.length)return Object(o.a)(t).pipe(Object(S.a)(t=>{const e=new z(t.id,this.serializeUrl(t.extractedUrl),this.serializeUrl(t.urlAfterRedirects),t.targetSnapshot);this.triggerEvent(e)}),(e=this.paramsInheritanceStrategy,n=this.ngModule.injector,function(t){return t.pipe(Object(_.a)(t=>{const{targetSnapshot:a,guards:{canActivateChecks:r}}=t;return r.length?Object(i.a)(r).pipe(Object(w.a)(t=>function(t,e,n,a){return function(t,e,n,a){const r=Object.keys(t);if(0===r.length)return Object(o.a)({});if(1===r.length){const o=r[0];return qe(t[o],e,n,a).pipe(Object(p.a)(t=>({[o]:t})))}const s={};return Object(i.a)(r).pipe(Object(_.a)(r=>qe(t[r],e,n,a).pipe(Object(p.a)(t=>(s[r]=t,t))))).pipe(Object(h.a)(),Object(p.a)(()=>s))}(t._resolve,t,e,a).pipe(Object(p.a)(e=>(t._resolvedData=e,t.data=Object.assign({},t.data,Ft(t,n).resolve),null)))}(t.route,a,e,n)),Object(T.a)((t,e)=>t),Object(p.a)(e=>t)):Object(o.a)(t)}))}),Object(S.a)(t=>{const e=new G(t.id,this.serializeUrl(t.extractedUrl),this.serializeUrl(t.urlAfterRedirects),t.targetSnapshot);this.triggerEvent(e)}));var e,n}),je(t=>{const{targetSnapshot:e,id:n,extractedUrl:a,rawUrl:r,extras:{skipLocationChange:o,replaceUrl:i}}=t;return this.hooks.afterPreactivation(e,{navigationId:n,appliedUrlTree:a,rawUrlTree:r,skipLocationChange:!!o,replaceUrl:!!i})}),Object(p.a)(t=>{const e=function(t,e,n){const a=function t(e,n,a){if(a&&e.shouldReuseRoute(n.value,a.value.snapshot)){const r=a.value;r._futureSnapshot=n.value;const o=function(e,n,a){return n.children.map(n=>{for(const r of a.children)if(e.shouldReuseRoute(r.value.snapshot,n.value))return t(e,n,r);return t(e,n)})}(e,n,a);return new Et(r,o)}{const a=e.retrieve(n.value);if(a){const t=a.route;return function t(e,n){if(e.value.routeConfig!==n.value.routeConfig)throw new Error("Cannot reattach ActivatedRouteSnapshot created from a different route");if(e.children.length!==n.children.length)throw new Error("Cannot reattach ActivatedRouteSnapshot with a different number of children");n.value._futureSnapshot=e.value;for(let a=0;a<e.children.length;++a)t(e.children[a],n.children[a])}(n,t),t}{const a=new jt(new s.a((r=n.value).url),new s.a(r.params),new s.a(r.queryParams),new s.a(r.fragment),new s.a(r.data),r.outlet,r.component,r),o=n.children.map(n=>t(e,n));return new Et(a,o)}}var r}(t,e._root,n?n._root:void 0);return new Lt(a,e)}(this.routeReuseStrategy,t.targetSnapshot,t.currentRouterState);return Object.assign({},t,{targetRouterState:e})}),Object(S.a)(t=>{this.currentUrlTree=t.urlAfterRedirects,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,t.rawUrl),this.routerState=t.targetRouterState,"deferred"===this.urlUpdateStrategy&&(t.extras.skipLocationChange||this.setBrowserUrl(this.rawUrlTree,!!t.extras.replaceUrl,t.id,t.extras.state),this.browserUrlTree=t.urlAfterRedirects)}),(r=this.rootContexts,c=this.routeReuseStrategy,l=t=>this.triggerEvent(t),Object(p.a)(t=>(new ae(c,t.targetRouterState,t.currentRouterState,l).activate(r),t))),Object(S.a)({next(){n=!0},complete(){n=!0}}),Object(k.a)(()=>{if(!n&&!a){this.resetUrlToCurrentUrlTree();const n=new D(t.id,this.serializeUrl(t.extractedUrl),`Navigation ID ${t.id} is not equal to the current navigation id ${this.navigationId}`);e.next(n),t.resolve(!1)}this.currentNavigation=null}),Object(b.a)(n=>{if(a=!0,(r=n)&&r.ngNavigationCancelingError){const a=ie(n.url);a||(this.navigated=!0,this.resetStateAndUrl(t.currentRouterState,t.currentUrlTree,t.rawUrl));const r=new D(t.id,this.serializeUrl(t.extractedUrl),n.message);e.next(r),t.resolve(!1),a&&this.navigateByUrl(n.url)}else{this.resetStateAndUrl(t.currentRouterState,t.currentUrlTree,t.rawUrl);const a=new L(t.id,this.serializeUrl(t.extractedUrl),n);e.next(a);try{t.resolve(this.errorHandler(n))}catch(o){t.reject(o)}}var r;return f.a}));var r,c,l}))}resetRootComponentType(t){this.rootComponentType=t,this.routerState.root.component=this.rootComponentType}getTransition(){const t=this.transitions.value;return t.urlAfterRedirects=this.browserUrlTree,t}setTransition(t){this.transitions.next(Object.assign({},this.getTransition(),t))}initialNavigation(){this.setUpLocationChangeListener(),0===this.navigationId&&this.navigateByUrl(this.location.path(!0),{replaceUrl:!0})}setUpLocationChangeListener(){this.locationSubscription||(this.locationSubscription=this.location.subscribe(t=>{let e=this.parseUrl(t.url);const n="popstate"===t.type?"popstate":"hashchange",a=t.state&&t.state.navigationId?t.state:null;setTimeout(()=>{this.scheduleNavigation(e,n,a,{replaceUrl:!0})},0)}))}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.currentNavigation}triggerEvent(t){this.events.next(t)}resetConfig(t){et(t),this.config=t.map(rt),this.navigated=!1,this.lastSuccessfulId=-1}ngOnDestroy(){this.dispose()}dispose(){this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=null)}createUrlTree(t,e={}){const{relativeTo:n,queryParams:a,fragment:o,preserveQueryParams:i,queryParamsHandling:s,preserveFragment:c}=e;Object(r.isDevMode)()&&i&&console&&console.warn&&console.warn("preserveQueryParams is deprecated, use queryParamsHandling instead.");const l=n||this.routerState.root,d=c?this.currentUrlTree.fragment:o;let u=null;if(s)switch(s){case"merge":u=Object.assign({},this.currentUrlTree.queryParams,a);break;case"preserve":u=this.currentUrlTree.queryParams;break;default:u=a||null}else u=i?this.currentUrlTree.queryParams:a||null;return null!==u&&(u=this.removeEmptyProps(u)),function(t,e,n,a,r){if(0===n.length)return Wt(e.root,e.root,e,a,r);const o=function(t){if("string"==typeof t[0]&&1===t.length&&"/"===t[0])return new Kt(!0,0,t);let e=0,n=!1;const a=t.reduce((t,a,r)=>{if("object"==typeof a&&null!=a){if(a.outlets){const e={};return ct(a.outlets,(t,n)=>{e[n]="string"==typeof t?t.split("/"):t}),[...t,{outlets:e}]}if(a.segmentPath)return[...t,a.segmentPath]}return"string"!=typeof a?[...t,a]:0===r?(a.split("/").forEach((a,r)=>{0==r&&"."===a||(0==r&&""===a?n=!0:".."===a?e++:""!=a&&t.push(a))}),t):[...t,a]},[]);return new Kt(n,e,a)}(n);if(o.toRoot())return Wt(e.root,new gt([],{}),e,a,r);const i=function(t,e,n){if(t.isAbsolute)return new $t(e.root,!0,0);if(-1===n.snapshot._lastPathIndex)return new $t(n.snapshot._urlSegment,!0,0);const a=Ut(t.commands[0])?0:1;return function(t,e,n){let a=t,r=e,o=n;for(;o>r;){if(o-=r,a=a.parent,!a)throw new Error("Invalid number of '../'");r=a.segments.length}return new $t(a,!1,r-o)}(n.snapshot._urlSegment,n.snapshot._lastPathIndex+a,t.numberOfDoubleDots)}(o,e,t),s=i.processChildren?Xt(i.segmentGroup,i.index,o.commands):Jt(i.segmentGroup,i.index,o.commands);return Wt(i.segmentGroup,s,e,a,r)}(l,this.currentUrlTree,t,u,d)}navigateByUrl(t,e={skipLocationChange:!1}){Object(r.isDevMode)()&&this.isNgZoneEnabled&&!r.NgZone.isInAngularZone()&&this.console.warn("Navigation triggered outside Angular zone, did you forget to call 'ngZone.run()'?");const n=ie(t)?t:this.parseUrl(t),a=this.urlHandlingStrategy.merge(n,this.rawUrlTree);return this.scheduleNavigation(a,"imperative",null,e)}navigate(t,e={skipLocationChange:!1}){return function(t){for(let e=0;e<t.length;e++){const n=t[e];if(null==n)throw new Error(`The requested path contains ${n} segment at index ${e}`)}}(t),this.navigateByUrl(this.createUrlTree(t,e),e)}serializeUrl(t){return this.urlSerializer.serialize(t)}parseUrl(t){let e;try{e=this.urlSerializer.parse(t)}catch(n){e=this.malformedUriErrorHandler(n,this.urlSerializer,t)}return e}isActive(t,e){if(ie(t))return dt(this.currentUrlTree,t,e);const n=this.parseUrl(t);return dt(this.currentUrlTree,n,e)}removeEmptyProps(t){return Object.keys(t).reduce((e,n)=>{const a=t[n];return null!=a&&(e[n]=a),e},{})}processNavigations(){this.navigations.subscribe(t=>{this.navigated=!0,this.lastSuccessfulId=t.id,this.events.next(new E(t.id,this.serializeUrl(t.extractedUrl),this.serializeUrl(this.currentUrlTree))),this.lastSuccessfulNavigation=this.currentNavigation,this.currentNavigation=null,t.resolve(!0)},t=>{this.console.warn("Unhandled Navigation Error: ")})}scheduleNavigation(t,e,n,a){const r=this.getTransition();if(r&&"imperative"!==e&&"imperative"===r.source&&r.rawUrl.toString()===t.toString())return Promise.resolve(!0);if(r&&"hashchange"==e&&"popstate"===r.source&&r.rawUrl.toString()===t.toString())return Promise.resolve(!0);if(r&&"popstate"==e&&"hashchange"===r.source&&r.rawUrl.toString()===t.toString())return Promise.resolve(!0);let o=null,i=null;const s=new Promise((t,e)=>{o=t,i=e}),c=++this.navigationId;return this.setTransition({id:c,source:e,restoredState:n,currentUrlTree:this.currentUrlTree,currentRawUrl:this.rawUrlTree,rawUrl:t,extras:a,resolve:o,reject:i,promise:s,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),s.catch(t=>Promise.reject(t))}setBrowserUrl(t,e,n,a){const r=this.urlSerializer.serialize(t);a=a||{},this.location.isCurrentPathEqualTo(r)||e?this.location.replaceState(r,"",Object.assign({},a,{navigationId:n})):this.location.go(r,"",Object.assign({},a,{navigationId:n}))}resetStateAndUrl(t,e,n){this.routerState=t,this.currentUrlTree=e,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,n),this.resetUrlToCurrentUrlTree()}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",{navigationId:this.lastSuccessfulId})}}class $e{constructor(t,e,n,a,r){this.router=t,this.route=e,this.commands=[],null==n&&a.setAttribute(r.nativeElement,"tabindex","0")}set routerLink(t){this.commands=null!=t?Array.isArray(t)?t:[t]:[]}set preserveQueryParams(t){Object(r.isDevMode)()&&console&&console.warn&&console.warn("preserveQueryParams is deprecated!, use queryParamsHandling instead."),this.preserve=t}onClick(){const t={skipLocationChange:Je(this.skipLocationChange),replaceUrl:Je(this.replaceUrl)};return this.router.navigateByUrl(this.urlTree,t),!0}get urlTree(){return this.router.createUrlTree(this.commands,{relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,preserveQueryParams:Je(this.preserve),queryParamsHandling:this.queryParamsHandling,preserveFragment:Je(this.preserveFragment)})}}class Ze{constructor(t,e,n){this.router=t,this.route=e,this.locationStrategy=n,this.commands=[],this.subscription=t.events.subscribe(t=>{t instanceof E&&this.updateTargetUrlAndHref()})}set routerLink(t){this.commands=null!=t?Array.isArray(t)?t:[t]:[]}set preserveQueryParams(t){Object(r.isDevMode)()&&console&&console.warn&&console.warn("preserveQueryParams is deprecated, use queryParamsHandling instead."),this.preserve=t}ngOnChanges(t){this.updateTargetUrlAndHref()}ngOnDestroy(){this.subscription.unsubscribe()}onClick(t,e,n,a){if(0!==t||e||n||a)return!0;if("string"==typeof this.target&&"_self"!=this.target)return!0;const r={skipLocationChange:Je(this.skipLocationChange),replaceUrl:Je(this.replaceUrl),state:this.state};return this.router.navigateByUrl(this.urlTree,r),!1}updateTargetUrlAndHref(){this.href=this.locationStrategy.prepareExternalUrl(this.router.serializeUrl(this.urlTree))}get urlTree(){return this.router.createUrlTree(this.commands,{relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,preserveQueryParams:Je(this.preserve),queryParamsHandling:this.queryParamsHandling,preserveFragment:Je(this.preserveFragment)})}}function Je(t){return""===t||!!t}class Xe{constructor(t,e,n,a,r){this.router=t,this.element=e,this.renderer=n,this.link=a,this.linkWithHref=r,this.classes=[],this.isActive=!1,this.routerLinkActiveOptions={exact:!1},this.subscription=t.events.subscribe(t=>{t instanceof E&&this.update()})}ngAfterContentInit(){this.links.changes.subscribe(t=>this.update()),this.linksWithHrefs.changes.subscribe(t=>this.update()),this.update()}set routerLinkActive(t){const e=Array.isArray(t)?t:t.split(" ");this.classes=e.filter(t=>!!t)}ngOnChanges(t){this.update()}ngOnDestroy(){this.subscription.unsubscribe()}update(){this.links&&this.linksWithHrefs&&this.router.navigated&&Promise.resolve().then(()=>{const t=this.hasActiveLinks();this.isActive!==t&&(this.isActive=t,this.classes.forEach(e=>{t?this.renderer.addClass(this.element.nativeElement,e):this.renderer.removeClass(this.element.nativeElement,e)}))})}isLinkActive(t){return e=>t.isActive(e.urlTree,this.routerLinkActiveOptions.exact)}hasActiveLinks(){const t=this.isLinkActive(this.router);return this.link&&t(this.link)||this.linkWithHref&&t(this.linkWithHref)||this.links.some(t)||this.linksWithHrefs.some(t)}}class Qe{constructor(){this.outlet=null,this.route=null,this.resolver=null,this.children=new tn,this.attachRef=null}}class tn{constructor(){this.contexts=new Map}onChildOutletCreated(t,e){const n=this.getOrCreateContext(t);n.outlet=e,this.contexts.set(t,n)}onChildOutletDestroyed(t){const e=this.getContext(t);e&&(e.outlet=null)}onOutletDeactivated(){const t=this.contexts;return this.contexts=new Map,t}onOutletReAttached(t){this.contexts=t}getOrCreateContext(t){let e=this.getContext(t);return e||(e=new Qe,this.contexts.set(t,e)),e}getContext(t){return this.contexts.get(t)||null}}class en{constructor(t,e,n,a,o){this.parentContexts=t,this.location=e,this.resolver=n,this.changeDetector=o,this.activated=null,this._activatedRoute=null,this.activateEvents=new r.EventEmitter,this.deactivateEvents=new r.EventEmitter,this.name=a||"primary",t.onChildOutletCreated(this.name,this)}ngOnDestroy(){this.parentContexts.onChildOutletDestroyed(this.name)}ngOnInit(){if(!this.activated){const t=this.parentContexts.getContext(this.name);t&&t.route&&(t.attachRef?this.attach(t.attachRef,t.route):this.activateWith(t.route,t.resolver||null))}}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new Error("Outlet is not activated");return this.activated.instance}get activatedRoute(){if(!this.activated)throw new Error("Outlet is not activated");return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new Error("Outlet is not activated");this.location.detach();const t=this.activated;return this.activated=null,this._activatedRoute=null,t}attach(t,e){this.activated=t,this._activatedRoute=e,this.location.insert(t.hostView)}deactivate(){if(this.activated){const t=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(t)}}activateWith(t,e){if(this.isActivated)throw new Error("Cannot activate an already activated outlet");this._activatedRoute=t;const n=(e=e||this.resolver).resolveComponentFactory(t._futureSnapshot.routeConfig.component),a=this.parentContexts.getOrCreateContext(this.name).children,r=new nn(t,a,this.location.injector);this.activated=this.location.createComponent(n,this.location.length,r),this.changeDetector.markForCheck(),this.activateEvents.emit(this.activated.instance)}}class nn{constructor(t,e,n){this.route=t,this.childContexts=e,this.parent=n}get(t,e){return t===jt?this.route:t===tn?this.childContexts:this.parent.get(t,e)}}class an{}class rn{preload(t,e){return e().pipe(Object(b.a)(()=>Object(o.a)(null)))}}class on{preload(t,e){return Object(o.a)(null)}}class sn{constructor(t,e,n,a,r){this.router=t,this.injector=a,this.preloadingStrategy=r,this.loader=new Be(e,n,e=>t.triggerEvent(new B(e)),e=>t.triggerEvent(new V(e)))}setUpPreloading(){this.subscription=this.router.events.pipe(Object(x.a)(t=>t instanceof E),Object(w.a)(()=>this.preload())).subscribe(()=>{})}preload(){const t=this.injector.get(r.NgModuleRef);return this.processRoutes(t,this.router.config)}ngOnDestroy(){this.subscription.unsubscribe()}processRoutes(t,e){const n=[];for(const a of e)if(a.loadChildren&&!a.canLoad&&a._loadedConfig){const t=a._loadedConfig;n.push(this.processRoutes(t.module,t.routes))}else a.loadChildren&&!a.canLoad?n.push(this.preloadConfig(t,a)):a.children&&n.push(this.processRoutes(t,a.children));return Object(i.a)(n).pipe(Object(I.a)(),Object(p.a)(t=>{}))}preloadConfig(t,e){return this.preloadingStrategy.preload(e,()=>this.loader.load(t.injector,e).pipe(Object(_.a)(t=>(e._loadedConfig=t,this.processRoutes(t.module,t.routes)))))}}class cn{constructor(t,e,n={}){this.router=t,this.viewportScroller=e,this.options=n,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},n.scrollPositionRestoration=n.scrollPositionRestoration||"disabled",n.anchorScrolling=n.anchorScrolling||"disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.router.events.subscribe(t=>{t instanceof A?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=t.navigationTrigger,this.restoredId=t.restoredState?t.restoredState.navigationId:0):t instanceof E&&(this.lastId=t.id,this.scheduleScrollEvent(t,this.router.parseUrl(t.urlAfterRedirects).fragment))})}consumeScrollEvents(){return this.router.events.subscribe(t=>{t instanceof K&&(t.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(t.position):t.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(t.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(t,e){this.router.triggerEvent(new K(t,"popstate"===this.lastSource?this.store[this.restoredId]:null,e))}ngOnDestroy(){this.routerEventsSubscription&&this.routerEventsSubscription.unsubscribe(),this.scrollEventsSubscription&&this.scrollEventsSubscription.unsubscribe()}}const ln=new r.InjectionToken("ROUTER_CONFIGURATION"),dn=new r.InjectionToken("ROUTER_FORROOT_GUARD"),un=[a.Location,{provide:ht,useClass:bt},{provide:Ke,useFactory:yn,deps:[r.ApplicationRef,ht,tn,a.Location,r.Injector,r.NgModuleFactoryLoader,r.Compiler,Ge,ln,[Ve,new r.Optional],[Fe,new r.Optional]]},tn,{provide:jt,useFactory:_n,deps:[Ke]},{provide:r.NgModuleFactoryLoader,useClass:r.SystemJsNgModuleLoader},sn,on,rn,{provide:ln,useValue:{enableTracing:!1}}];function gn(){return new r.NgProbeToken("Router",Ke)}class fn{constructor(t,e){}static forRoot(t,e){return{ngModule:fn,providers:[un,bn(t),{provide:dn,useFactory:hn,deps:[[Ke,new r.Optional,new r.SkipSelf]]},{provide:ln,useValue:e||{}},{provide:a.LocationStrategy,useFactory:mn,deps:[a.PlatformLocation,[new r.Inject(a.APP_BASE_HREF),new r.Optional],ln]},{provide:cn,useFactory:pn,deps:[Ke,a.ViewportScroller,ln]},{provide:an,useExisting:e&&e.preloadingStrategy?e.preloadingStrategy:on},{provide:r.NgProbeToken,multi:!0,useFactory:gn},[On,{provide:r.APP_INITIALIZER,multi:!0,useFactory:vn,deps:[On]},{provide:Pn,useFactory:Cn,deps:[On]},{provide:r.APP_BOOTSTRAP_LISTENER,multi:!0,useExisting:Pn}]]}}static forChild(t){return{ngModule:fn,providers:[bn(t)]}}}function pn(t,e,n){return n.scrollOffset&&e.setOffset(n.scrollOffset),new cn(t,e,n)}function mn(t,e,n={}){return n.useHash?new a.HashLocationStrategy(t,e):new a.PathLocationStrategy(t,e)}function hn(t){if(t)throw new Error("RouterModule.forRoot() called twice. Lazy loaded modules should use RouterModule.forChild() instead.");return"guarded"}function bn(t){return[{provide:r.ANALYZE_FOR_ENTRY_COMPONENTS,multi:!0,useValue:t},{provide:Ge,multi:!0,useValue:t}]}function yn(t,e,n,a,r,o,i,s,c={},l,d){const u=new Ke(null,e,n,a,r,o,i,it(s));if(l&&(u.urlHandlingStrategy=l),d&&(u.routeReuseStrategy=d),c.errorHandler&&(u.errorHandler=c.errorHandler),c.malformedUriErrorHandler&&(u.malformedUriErrorHandler=c.malformedUriErrorHandler),c.enableTracing){const t=Object(N.q)();u.events.subscribe(e=>{t.logGroup(`Router Event: ${e.constructor.name}`),t.log(e.toString()),t.log(e),t.logGroupEnd()})}return c.onSameUrlNavigation&&(u.onSameUrlNavigation=c.onSameUrlNavigation),c.paramsInheritanceStrategy&&(u.paramsInheritanceStrategy=c.paramsInheritanceStrategy),c.urlUpdateStrategy&&(u.urlUpdateStrategy=c.urlUpdateStrategy),c.relativeLinkResolution&&(u.relativeLinkResolution=c.relativeLinkResolution),u}function _n(t){return t.routerState.root}class On{constructor(t){this.injector=t,this.initNavigation=!1,this.resultOfPreactivationDone=new g.a}appInitializer(){return this.injector.get(a.LOCATION_INITIALIZED,Promise.resolve(null)).then(()=>{let t=null;const e=new Promise(e=>t=e),n=this.injector.get(Ke),a=this.injector.get(ln);if(this.isLegacyDisabled(a)||this.isLegacyEnabled(a))t(!0);else if("disabled"===a.initialNavigation)n.setUpLocationChangeListener(),t(!0);else{if("enabled"!==a.initialNavigation)throw new Error(`Invalid initialNavigation options: '${a.initialNavigation}'`);n.hooks.afterPreactivation=()=>this.initNavigation?Object(o.a)(null):(this.initNavigation=!0,t(!0),this.resultOfPreactivationDone),n.initialNavigation()}return e})}bootstrapListener(t){const e=this.injector.get(ln),n=this.injector.get(sn),a=this.injector.get(cn),o=this.injector.get(Ke),i=this.injector.get(r.ApplicationRef);t===i.components[0]&&(this.isLegacyEnabled(e)?o.initialNavigation():this.isLegacyDisabled(e)&&o.setUpLocationChangeListener(),n.setUpPreloading(),a.init(),o.resetRootComponentType(i.componentTypes[0]),this.resultOfPreactivationDone.next(null),this.resultOfPreactivationDone.complete())}isLegacyEnabled(t){return"legacy_enabled"===t.initialNavigation||!0===t.initialNavigation||void 0===t.initialNavigation}isLegacyDisabled(t){return"legacy_disabled"===t.initialNavigation||!1===t.initialNavigation}}function vn(t){return t.appInitializer.bind(t)}function Cn(t){return t.bootstrapListener.bind(t)}const Pn=new r.InjectionToken("Router Initializer")},iSVu:function(t,e,n){var a=n("xs3f"),r=Function.toString;"function"!=typeof a.inspectSource&&(a.inspectSource=function(t){return r.call(t)}),t.exports=a.inspectSource},iYuL:function(t,e,n){!function(t){"use strict";var e="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),a=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],r=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;t.defineLocale("es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(t,a){return t?/-MMM-/.test(a)?n[t.month()]:e[t.month()]:e},monthsRegex:r,monthsShortRegex:r,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n("wd/R"))},idmN:function(t,e,n){var a=n("ZWtO"),r=n("FZoo"),o=n("4uTw");t.exports=function(t,e,n){for(var i=-1,s=e.length,c={};++i<s;){var l=e[i],d=a(t,l);n(d,l)&&r(c,o(l,t),d)}return c}},ienR:function(t,e,n){"use strict";n.d(e,"a",(function(){return f})),n.d(e,"b",(function(){return D})),n.d(e,"c",(function(){return L})),n.d(e,"d",(function(){return q})),n.d(e,"e",(function(){return j})),n.d(e,"f",(function(){return F})),n.d(e,"g",(function(){return X})),n.d(e,"h",(function(){return z})),n.d(e,"i",(function(){return G})),n.d(e,"j",(function(){return h})),n.d(e,"k",(function(){return nt})),n.d(e,"l",(function(){return tt})),n.d(e,"m",(function(){return et})),n.d(e,"n",(function(){return it})),n.d(e,"o",(function(){return at})),n.d(e,"p",(function(){return rt})),n.d(e,"q",(function(){return ot})),n.d(e,"r",(function(){return E})),n.d(e,"s",(function(){return b})),n.d(e,"t",(function(){return m})),n.d(e,"u",(function(){return H})),n.d(e,"v",(function(){return V})),n.d(e,"w",(function(){return W})),n.d(e,"x",(function(){return Z})),n.d(e,"y",(function(){return B})),n.d(e,"z",(function(){return K})),n.d(e,"A",(function(){return $})),n.d(e,"B",(function(){return J})),n.d(e,"C",(function(){return Y}));var a=n("8Y7J"),r=n("pLZG"),o=n("lJxs"),i=n("IzEk"),s=n("xj/R"),c=n("2Vo4"),l=n("AfCQ"),d=n("2uy1"),u=(n("GS7A"),n("z/SZ")),g=(n("s7LF"),n("hpHm"));class f{constructor(){this.adaptivePosition=!1,this.isAnimated=!1,this.containerClass="theme-green",this.displayMonths=1,this.showWeekNumbers=!0,this.dateInputFormat="L",this.rangeSeparator=" - ",this.rangeInputFormat="L",this.monthTitle="MMMM",this.yearTitle="YYYY",this.dayLabel="D",this.monthLabel="MMMM",this.yearLabel="YYYY",this.weekNumbers="w"}}class p{constructor(){this._customRangesFish=[]}set minDate(t){this._effects.setMinDate(t)}set maxDate(t){this._effects.setMaxDate(t)}set daysDisabled(t){this._effects.setDaysDisabled(t)}set datesDisabled(t){this._effects.setDatesDisabled(t)}set isDisabled(t){this._effects.setDisabled(t)}set dateCustomClasses(t){this._effects.setDateCustomClasses(t)}setViewMode(t){}navigateTo(t){}dayHoverHandler(t){}weekHoverHandler(t){}monthHoverHandler(t){}yearHoverHandler(t){}daySelectHandler(t){}monthSelectHandler(t){}yearSelectHandler(t){}_stopPropagation(t){t.stopPropagation()}}let m=(()=>{class t{calculate(){return{type:t.CALCULATE}}format(){return{type:t.FORMAT}}flag(){return{type:t.FLAG}}select(e){return{type:t.SELECT,payload:e}}changeViewMode(e){return{type:t.CHANGE_VIEWMODE,payload:e}}navigateTo(e){return{type:t.NAVIGATE_TO,payload:e}}navigateStep(e){return{type:t.NAVIGATE_OFFSET,payload:e}}setOptions(e){return{type:t.SET_OPTIONS,payload:e}}selectRange(e){return{type:t.SELECT_RANGE,payload:e}}hoverDay(e){return{type:t.HOVER,payload:e.isHovered?e.cell.date:null}}minDate(e){return{type:t.SET_MIN_DATE,payload:e}}maxDate(e){return{type:t.SET_MAX_DATE,payload:e}}daysDisabled(e){return{type:t.SET_DAYSDISABLED,payload:e}}datesDisabled(e){return{type:t.SET_DATESDISABLED,payload:e}}isDisabled(e){return{type:t.SET_IS_DISABLED,payload:e}}setDateCustomClasses(e){return{type:t.SET_DATE_CUSTOM_CLASSES,payload:e}}setLocale(e){return{type:t.SET_LOCALE,payload:e}}}return t.CALCULATE="[datepicker] calculate dates matrix",t.FORMAT="[datepicker] format datepicker values",t.FLAG="[datepicker] set flags",t.SELECT="[datepicker] select date",t.NAVIGATE_OFFSET="[datepicker] shift view date",t.NAVIGATE_TO="[datepicker] change view date",t.SET_OPTIONS="[datepicker] update render options",t.HOVER="[datepicker] hover date",t.CHANGE_VIEWMODE="[datepicker] switch view mode",t.SET_MIN_DATE="[datepicker] set min date",t.SET_MAX_DATE="[datepicker] set max date",t.SET_DAYSDISABLED="[datepicker] set days disabled",t.SET_DATESDISABLED="[datepicker] set dates disabled",t.SET_IS_DISABLED="[datepicker] set is disabled",t.SET_DATE_CUSTOM_CLASSES="[datepicker] set date custom classes",t.SET_LOCALE="[datepicker] set datepicker locale",t.SELECT_RANGE="[daterangepicker] select dates range",t})();class h{constructor(){this._defaultLocale="en",this._locale=new c.a(this._defaultLocale),this._localeChange=this._locale.asObservable()}get locale(){return this._locale}get localeChange(){return this._localeChange}get currentLocale(){return this._locale.getValue()}use(t){t!==this.currentLocale&&this._locale.next(t)}}class b{constructor(t,e){this._actions=t,this._localeService=e,this._subs=[]}init(t){return this._store=t,this}setValue(t){this._store.dispatch(this._actions.select(t))}setRangeValue(t){this._store.dispatch(this._actions.selectRange(t))}setMinDate(t){return this._store.dispatch(this._actions.minDate(t)),this}setMaxDate(t){return this._store.dispatch(this._actions.maxDate(t)),this}setDaysDisabled(t){return this._store.dispatch(this._actions.daysDisabled(t)),this}setDatesDisabled(t){return this._store.dispatch(this._actions.datesDisabled(t)),this}setDisabled(t){return this._store.dispatch(this._actions.isDisabled(t)),this}setDateCustomClasses(t){return this._store.dispatch(this._actions.setDateCustomClasses(t)),this}setOptions(t){const e=Object.assign({locale:this._localeService.currentLocale},t);return this._store.dispatch(this._actions.setOptions(e)),this}setBindings(t){return t.daysCalendar=this._store.select(t=>t.flaggedMonths).pipe(Object(r.a)(t=>!!t)),t.monthsCalendar=this._store.select(t=>t.flaggedMonthsCalendar).pipe(Object(r.a)(t=>!!t)),t.yearsCalendar=this._store.select(t=>t.yearsCalendarFlagged).pipe(Object(r.a)(t=>!!t)),t.viewMode=this._store.select(t=>t.view.mode),t.options=this._store.select(t=>t.showWeekNumbers).pipe(Object(o.a)(t=>({showWeekNumbers:t}))),this}setEventHandlers(t){return t.setViewMode=t=>{this._store.dispatch(this._actions.changeViewMode(t))},t.navigateTo=t=>{this._store.dispatch(this._actions.navigateStep(t.step))},t.dayHoverHandler=t=>{const e=t.cell;e.isOtherMonth||e.isDisabled||(this._store.dispatch(this._actions.hoverDay(t)),e.isHovered=t.isHovered)},t.monthHoverHandler=t=>{t.cell.isHovered=t.isHovered},t.yearHoverHandler=t=>{t.cell.isHovered=t.isHovered},t.monthSelectHandler=t=>{t.isDisabled||this._store.dispatch(this._actions.navigateTo({unit:{month:Object(s.l)(t.date),year:Object(s.j)(t.date)},viewMode:"day"}))},t.yearSelectHandler=t=>{t.isDisabled||this._store.dispatch(this._actions.navigateTo({unit:{year:Object(s.j)(t.date)},viewMode:"month"}))},this}registerDatepickerSideEffects(){return this._subs.push(this._store.select(t=>t.view).subscribe(t=>{this._store.dispatch(this._actions.calculate())})),this._subs.push(this._store.select(t=>t.monthsModel).pipe(Object(r.a)(t=>!!t)).subscribe(t=>this._store.dispatch(this._actions.format()))),this._subs.push(this._store.select(t=>t.formattedMonths).pipe(Object(r.a)(t=>!!t)).subscribe(t=>this._store.dispatch(this._actions.flag()))),this._subs.push(this._store.select(t=>t.selectedDate).pipe(Object(r.a)(t=>!!t)).subscribe(t=>this._store.dispatch(this._actions.flag()))),this._subs.push(this._store.select(t=>t.selectedRange).pipe(Object(r.a)(t=>!!t)).subscribe(t=>this._store.dispatch(this._actions.flag()))),this._subs.push(this._store.select(t=>t.monthsCalendar).subscribe(()=>this._store.dispatch(this._actions.flag()))),this._subs.push(this._store.select(t=>t.yearsCalendarModel).pipe(Object(r.a)(t=>!!t)).subscribe(()=>this._store.dispatch(this._actions.flag()))),this._subs.push(this._store.select(t=>t.hoveredDate).pipe(Object(r.a)(t=>!!t)).subscribe(t=>this._store.dispatch(this._actions.flag()))),this._subs.push(this._store.select(t=>t.dateCustomClasses).pipe(Object(r.a)(t=>!!t)).subscribe(t=>this._store.dispatch(this._actions.flag()))),this._subs.push(this._localeService.localeChange.subscribe(t=>this._store.dispatch(this._actions.setLocale(t)))),this}destroy(){for(const t of this._subs)t.unsubscribe()}}const y={date:new Date,mode:"day"},_=Object.assign(new f,{locale:"en",view:y,selectedRange:[],monthViewOptions:{width:7,height:6}});function O(t,e,n){const a=e&&Object(s.p)(Object(s.d)(t,"month"),e,"day"),r=n&&Object(s.n)(Object(s.G)(t,"month"),n,"day");return a||r}function v(t,e,n){const a=e&&Object(s.p)(Object(s.d)(t,"year"),e,"day"),r=n&&Object(s.n)(Object(s.G)(t,"year"),n,"day");return a||r}function C(t,e){let n=t.initialDate;const a=new Array(t.height);for(let r=0;r<t.height;r++){a[r]=new Array(t.width);for(let o=0;o<t.width;o++)a[r][o]=e(n),n=Object(s.F)(n,t.shift)}return a}function P(t,e){const n=Object(s.i)(t),a=function(t,e){if(Object(s.t)(t,e.firstDayOfWeek))return t;const n=function(t,e){if(0===e)return t;const n=t-e%7;return n<0?n+7:n}(Object(s.h)(t),e.firstDayOfWeek);return Object(s.F)(t,{day:-n})}(n,e);return{daysMatrix:C({width:e.width,height:e.height,initialDate:a,shift:{day:1}},t=>t),month:n}}function M(t){const e=Object(s.k)(t),n=e.weekdaysShort(),a=e.firstDayOfWeek();return[...n.slice(a),...n.slice(0,a)]}function x(t,e){return!e||t>=e}const w={month:1};function T(t,e){return{months:C({width:3,height:4,initialDate:Object(s.G)(t,"year"),shift:w},t=>({date:t,label:Object(s.f)(t,e.monthLabel,e.locale)})),monthTitle:"",yearTitle:Object(s.f)(t,e.yearTitle,e.locale)}}const S=-1*(Math.floor(8)-1),k={year:1};function I(t,e){const n=C({width:4,height:4,initialDate:Object(s.F)(t,{year:S}),shift:k},t=>({date:t,label:Object(s.f)(t,e.yearLabel,e.locale)}));return{years:n,monthTitle:"",yearTitle:function(t,e){return`${Object(s.f)(t[0][0].date,e.yearTitle,e.locale)} - ${Object(s.f)(t[3][3].date,e.yearTitle,e.locale)}`}(n,e)}}function N(t=_,e){switch(e.type){case m.CALCULATE:return function(t){const e=t.displayMonths;let n=t.view.date;if("day"===t.view.mode){t.monthViewOptions.firstDayOfWeek=Object(s.k)(t.locale).firstDayOfWeek();const a=new Array(e);for(let r=0;r<e;r++)a[r]=P(n,t.monthViewOptions),n=Object(s.F)(n,{month:1});return Object.assign({},t,{monthsModel:a})}if("month"===t.view.mode){const a=new Array(e);for(let r=0;r<e;r++)a[r]=T(n,R(t)),n=Object(s.F)(n,{year:1});return Object.assign({},t,{monthsCalendar:a})}if("year"===t.view.mode){const a=new Array(e);for(let r=0;r<e;r++)a[r]=I(n,R(t)),n=Object(s.F)(n,{year:16});return Object.assign({},t,{yearsCalendarModel:a})}return t}(t);case m.FORMAT:return function(t,e){if("day"===t.view.mode){const e=t.monthsModel.map((e,n)=>function(t,e,n){return{month:t.month,monthTitle:Object(s.f)(t.month,e.monthTitle,e.locale),yearTitle:Object(s.f)(t.month,e.yearTitle,e.locale),weekNumbers:(a=t.daysMatrix,r=e.weekNumbers,o=e.locale,a.map(t=>t[0]?Object(s.f)(t[0],r,o):"")),weekdays:M(e.locale),weeks:t.daysMatrix.map((t,a)=>({days:t.map((t,r)=>({date:t,label:Object(s.f)(t,e.dayLabel,e.locale),monthIndex:n,weekIndex:a,dayIndex:r}))}))};var a,r,o}(e,R(t),n));return Object.assign({},t,{formattedMonths:e})}const n=t.displayMonths;let a=t.view.date;if("month"===t.view.mode){const e=new Array(n);for(let r=0;r<n;r++)e[r]=T(a,R(t)),a=Object(s.F)(a,{year:1});return Object.assign({},t,{monthsCalendar:e})}if("year"===t.view.mode){const e=new Array(n);for(let r=0;r<n;r++)e[r]=I(a,R(t)),a=Object(s.F)(a,{year:16});return Object.assign({},t,{yearsCalendarModel:e})}return t}(t);case m.FLAG:return function(t,e){if("day"===t.view.mode){const e=t.formattedMonths.map((e,n)=>function(t,e){return t.weeks.forEach(n=>{n.days.forEach((a,r)=>{const o=!Object(s.w)(a.date,t.month),i=!o&&Object(s.v)(a.date,e.hoveredDate),c=!o&&e.selectedRange&&Object(s.v)(a.date,e.selectedRange[0]),l=!o&&e.selectedRange&&Object(s.v)(a.date,e.selectedRange[1]),d=!o&&Object(s.v)(a.date,e.selectedDate)||c||l,u=!o&&e.selectedRange&&function(t,e,n){return!(!t||!e[0])&&(e[1]?t>e[0]&&t<=e[1]:!!n&&t>e[0]&&t<=n)}(a.date,e.selectedRange,e.hoveredDate),g=e.isDisabled||Object(s.p)(a.date,e.minDate,"day")||Object(s.n)(a.date,e.maxDate,"day")||Object(s.s)(a.date,e.daysDisabled)||(f=a.date,!(void 0===(p=e.datesDisabled)||!p||!p.length)&&p.some(t=>Object(s.u)(f,t,"date")));var f,p;const m=new Date,h=!o&&Object(s.v)(a.date,m),b=e.dateCustomClasses&&e.dateCustomClasses.map(t=>Object(s.v)(a.date,t.date)?t.classes:[]).reduce((t,e)=>t.concat(e),[]).join(" ")||"",y=Object.assign({},a,{isOtherMonth:o,isHovered:i,isSelected:d,isSelectionStart:c,isSelectionEnd:l,isInRange:u,isDisabled:g,isToday:h,customClasses:b});a.isOtherMonth===y.isOtherMonth&&a.isHovered===y.isHovered&&a.isSelected===y.isSelected&&a.isSelectionStart===y.isSelectionStart&&a.isSelectionEnd===y.isSelectionEnd&&a.isDisabled===y.isDisabled&&a.isInRange===y.isInRange&&a.customClasses===y.customClasses||(n.days[r]=y)})}),t.hideLeftArrow=e.isDisabled||e.monthIndex>0&&e.monthIndex!==e.displayMonths,t.hideRightArrow=e.isDisabled||e.monthIndex<e.displayMonths&&e.monthIndex+1!==e.displayMonths,t.disableLeftArrow=O(Object(s.F)(t.month,{month:-1}),e.minDate,e.maxDate),t.disableRightArrow=O(Object(s.F)(t.month,{month:1}),e.minDate,e.maxDate),t}(e,{isDisabled:t.isDisabled,minDate:t.minDate,maxDate:t.maxDate,daysDisabled:t.daysDisabled,datesDisabled:t.datesDisabled,hoveredDate:t.hoveredDate,selectedDate:t.selectedDate,selectedRange:t.selectedRange,displayMonths:t.displayMonths,dateCustomClasses:t.dateCustomClasses,monthIndex:n}));return Object.assign({},t,{flaggedMonths:e})}if("month"===t.view.mode){const e=t.monthsCalendar.map((e,n)=>{return r={isDisabled:t.isDisabled,minDate:t.minDate,maxDate:t.maxDate,hoveredMonth:t.hoveredMonth,displayMonths:t.displayMonths,monthIndex:n},(a=e).months.forEach((t,e)=>{t.forEach((t,n)=>{const o=Object(s.w)(t.date,r.hoveredMonth),i=r.isDisabled||O(t.date,r.minDate,r.maxDate),c=Object.assign(t,{isHovered:o,isDisabled:i});t.isHovered===c.isHovered&&t.isDisabled===c.isDisabled||(a.months[e][n]=c)})}),a.hideLeftArrow=r.monthIndex>0&&r.monthIndex!==r.displayMonths,a.hideRightArrow=r.monthIndex<r.displayMonths&&r.monthIndex+1!==r.displayMonths,a.disableLeftArrow=v(Object(s.F)(a.months[0][0].date,{year:-1}),r.minDate,r.maxDate),a.disableRightArrow=v(Object(s.F)(a.months[0][0].date,{year:1}),r.minDate,r.maxDate),a;var a,r});return Object.assign({},t,{flaggedMonthsCalendar:e})}if("year"===t.view.mode){const e=t.yearsCalendarModel.map((e,n)=>function(t,e){t.years.forEach((n,a)=>{n.forEach((n,r)=>{const o=Object(s.x)(n.date,e.hoveredYear),i=e.isDisabled||v(n.date,e.minDate,e.maxDate),c=Object.assign(n,{isHovered:o,isDisabled:i});n.isHovered===c.isHovered&&n.isDisabled===c.isDisabled||(t.years[a][r]=c)})}),t.hideLeftArrow=e.yearIndex>0&&e.yearIndex!==e.displayMonths,t.hideRightArrow=e.yearIndex<e.displayMonths&&e.yearIndex+1!==e.displayMonths,t.disableLeftArrow=v(Object(s.F)(t.years[0][0].date,{year:-1}),e.minDate,e.maxDate);const n=t.years.length-1,a=t.years[n].length-1;return t.disableRightArrow=v(Object(s.F)(t.years[n][a].date,{year:1}),e.minDate,e.maxDate),t}(e,{isDisabled:t.isDisabled,minDate:t.minDate,maxDate:t.maxDate,hoveredYear:t.hoveredYear,displayMonths:t.displayMonths,yearIndex:n}));return Object.assign({},t,{yearsCalendarFlagged:e})}return t}(t);case m.NAVIGATE_OFFSET:{const n=Object(s.F)(Object(s.G)(t.view.date,"month"),e.payload);return Object.assign({},t,{view:{mode:t.view.mode,date:n}})}case m.NAVIGATE_TO:{const n=e.payload,a=Object(s.E)(t.view.date,n.unit);let r,o;return x(n.viewMode,t.minMode)?(o=n.viewMode,r={view:{date:a,mode:o}}):(o=t.view.mode,r={selectedDate:a,view:{date:a,mode:o}}),Object.assign({},t,r)}case m.CHANGE_VIEWMODE:return x(e.payload,t.minMode)?Object.assign({},t,{view:{date:t.view.date,mode:e.payload}}):t;case m.HOVER:return Object.assign({},t,{hoveredDate:e.payload});case m.SELECT:{const n={selectedDate:e.payload,view:t.view},a=t.view.mode,r=A(e.payload||t.view.date,t.minDate,t.maxDate);return n.view={mode:a,date:r},Object.assign({},t,n)}case m.SET_OPTIONS:{const n=e.payload,a=n.minMode?n.minMode:t.view.mode,r=A(Object(s.r)(n.value)&&n.value||Object(s.o)(n.value)&&Object(s.r)(n.value[0])&&n.value[0]||t.view.date,n.minDate,n.maxDate);return n.view={mode:a,date:r},n.value&&(Object(s.o)(n.value)&&(n.selectedRange=n.value),n.value instanceof Date&&(n.selectedDate=n.value)),Object.assign({},t,n)}case m.SELECT_RANGE:{const n={selectedRange:e.payload,view:t.view},a=t.view.mode,r=A(e.payload&&e.payload[0]||t.view.date,t.minDate,t.maxDate);return n.view={mode:a,date:r},Object.assign({},t,n)}case m.SET_MIN_DATE:return Object.assign({},t,{minDate:e.payload});case m.SET_MAX_DATE:return Object.assign({},t,{maxDate:e.payload});case m.SET_IS_DISABLED:return Object.assign({},t,{isDisabled:e.payload});case m.SET_DATE_CUSTOM_CLASSES:return Object.assign({},t,{dateCustomClasses:e.payload});default:return t}}function R(t){return{locale:t.locale,monthTitle:t.monthTitle,yearTitle:t.yearTitle,dayLabel:t.dayLabel,monthLabel:t.monthLabel,yearLabel:t.yearLabel,weekNumbers:t.weekNumbers}}function A(t,e,n){const a=Array.isArray(t)?t[0]:t;return e&&Object(s.n)(e,a,"day")?e:n&&Object(s.p)(n,a,"day")?n:a}class E extends l.b{constructor(){const t=new c.a({type:"[datepicker] dispatcher init"});super(t,N,new l.a(_,t,N))}}class D extends p{constructor(t,e,n,r,o,i,s){super(),this._config=e,this._store=n,this._element=r,this._actions=o,this._positionService=s,this.valueChange=new a.EventEmitter,this.animationState="void",this._subs=[],this._effects=i,t.setStyle(r.nativeElement,"display","block"),t.setStyle(r.nativeElement,"position","absolute")}set value(t){this._effects.setValue(t)}ngOnInit(){this._positionService.setOptions({modifiers:{flip:{enabled:this._config.adaptivePosition}},allowedPositions:["top","bottom"]}),this._positionService.event$.pipe(Object(i.a)(1)).subscribe(()=>{this._positionService.disable(),this.animationState=this._config.isAnimated?this.isTopPosition?"animated-up":"animated-down":"unanimated"}),this.isOtherMonthsActive=this._config.selectFromOtherMonth,this.containerClass=this._config.containerClass,this._effects.init(this._store).setOptions(this._config).setBindings(this).setEventHandlers(this).registerDatepickerSideEffects(),this._subs.push(this._store.select(t=>t.selectedDate).subscribe(t=>this.valueChange.emit(t)))}get isTopPosition(){return this._element.nativeElement.classList.contains("top")}positionServiceEnable(){this._positionService.enable()}daySelectHandler(t){(this.isOtherMonthsActive?t.isDisabled:t.isOtherMonth||t.isDisabled)||this._store.dispatch(this._actions.select(t.date))}ngOnDestroy(){for(const t of this._subs)t.unsubscribe();this._effects.destroy()}}class L{constructor(t,e,n,r,o){this._config=t,this.placement="bottom",this.triggers="click",this.outsideClick=!0,this.container="body",this.outsideEsc=!0,this.bsValueChange=new a.EventEmitter,this._subs=[],Object.assign(this,this._config),this._datepicker=o.createLoader(e,r,n),this.onShown=this._datepicker.onShown,this.onHidden=this._datepicker.onHidden}get isOpen(){return this._datepicker.isShown}set isOpen(t){t?this.show():this.hide()}set bsValue(t){this._bsValue!==t&&(this._bsValue=t,this.bsValueChange.emit(t))}ngOnInit(){this._datepicker.listen({outsideClick:this.outsideClick,outsideEsc:this.outsideEsc,triggers:this.triggers,show:()=>this.show()}),this.setConfig()}ngOnChanges(t){this._datepickerRef&&this._datepickerRef.instance&&(t.minDate&&(this._datepickerRef.instance.minDate=this.minDate),t.maxDate&&(this._datepickerRef.instance.maxDate=this.maxDate),t.daysDisabled&&(this._datepickerRef.instance.daysDisabled=this.daysDisabled),t.datesDisabled&&(this._datepickerRef.instance.datesDisabled=this.datesDisabled),t.isDisabled&&(this._datepickerRef.instance.isDisabled=this.isDisabled),t.dateCustomClasses&&(this._datepickerRef.instance.dateCustomClasses=this.dateCustomClasses))}show(){this._datepicker.isShown||(this.setConfig(),this._datepickerRef=this._datepicker.provide({provide:f,useValue:this._config}).attach(D).to(this.container).position({attachment:this.placement}).show({placement:this.placement}),this._subs.push(this.bsValueChange.subscribe(t=>{this._datepickerRef.instance.value=t})),this._subs.push(this._datepickerRef.instance.valueChange.subscribe(t=>{this.bsValue=t,this.hide()})))}hide(){this.isOpen&&this._datepicker.hide();for(const t of this._subs)t.unsubscribe()}toggle(){if(this.isOpen)return this.hide();this.show()}setConfig(){this._config=Object.assign({},this._config,this.bsConfig,{value:this._bsValue,isDisabled:this.isDisabled,minDate:this.minDate||this.bsConfig&&this.bsConfig.minDate,maxDate:this.maxDate||this.bsConfig&&this.bsConfig.maxDate,daysDisabled:this.daysDisabled||this.bsConfig&&this.bsConfig.daysDisabled,dateCustomClasses:this.dateCustomClasses||this.bsConfig&&this.bsConfig.dateCustomClasses,datesDisabled:this.datesDisabled||this.bsConfig&&this.bsConfig.datesDisabled,minMode:this.minMode||this.bsConfig&&this.bsConfig.minMode})}ngOnDestroy(){this._datepicker.dispose()}}class q extends f{}class j extends D{constructor(t,e,n,a,r,o,i){super(t,e,n,a,r,o,i),t.setStyle(a.nativeElement,"display","inline-block"),t.setStyle(a.nativeElement,"position","static")}}class F{constructor(t,e,n,a,r){this._picker=t,this._localeService=e,this._renderer=n,this._elRef=a,this.changeDetection=r,this._onChange=Function.prototype,this._onTouched=Function.prototype,this._validatorChange=Function.prototype,this._picker.bsValueChange.subscribe(t=>{this._setInputValue(t),this._value!==t&&(this._value=t,this._onChange(t),this._onTouched()),this.changeDetection.markForCheck()}),this._localeService.localeChange.subscribe(()=>{this._setInputValue(this._value)})}_setInputValue(t){const e=t?Object(s.f)(t,this._picker._config.dateInputFormat,this._localeService.currentLocale):"";this._renderer.setProperty(this._elRef.nativeElement,"value",e)}onChange(t){this.writeValue(t.target.value),this._onChange(this._value),this._onTouched()}validate(t){const e=t.value;if(null==e||""===e)return null;if(Object(s.q)(e)){if(!Object(s.r)(e))return{bsDate:{invalid:e}};if(this._picker&&this._picker.minDate&&Object(s.p)(e,this._picker.minDate,"date"))return{bsDate:{minDate:this._picker.minDate}};if(this._picker&&this._picker.maxDate&&Object(s.n)(e,this._picker.maxDate,"date"))return{bsDate:{maxDate:this._picker.maxDate}}}}registerOnValidatorChange(t){this._validatorChange=t}writeValue(t){if(t){const e=this._localeService.currentLocale;if(!Object(s.k)(e))throw new Error(`Locale "${e}" is not defined, please add it with "defineLocale(...)"`);this._value=Object(s.B)(t,this._picker._config.dateInputFormat,this._localeService.currentLocale)}else this._value=null;this._picker.bsValue=this._value}setDisabledState(t){this._picker.isDisabled=t,t?this._renderer.setAttribute(this._elRef.nativeElement,"disabled","disabled"):this._renderer.removeAttribute(this._elRef.nativeElement,"disabled")}registerOnChange(t){this._onChange=t}registerOnTouched(t){this._onTouched=t}onBlur(){this._onTouched()}hide(){this._picker.hide(),this._renderer.selectRootElement(this._elRef.nativeElement).blur()}}class z extends f{constructor(){super(...arguments),this.displayMonths=2,this.isAnimated=!1}}class G extends p{constructor(t,e,n,r,o,i){super(),this._actions=e,this._config=n,this._store=r,this._element=o,this._positionService=i,this.valueChange=new a.EventEmitter,this.animationState="void",this._rangeStack=[],this._subs=[],this._effects=t}set value(t){this._effects.setRangeValue(t)}ngOnInit(){this._positionService.setOptions({modifiers:{flip:{enabled:this._config.adaptivePosition}},allowedPositions:["top","bottom"]}),this._positionService.event$.pipe(Object(i.a)(1)).subscribe(()=>{this._positionService.disable(),this.animationState=this._config.isAnimated?this.isTopPosition?"animated-up":"animated-down":"unanimated"}),this.containerClass=this._config.containerClass,this.isOtherMonthsActive=this._config.selectFromOtherMonth,this._effects.init(this._store).setOptions(this._config).setBindings(this).setEventHandlers(this).registerDatepickerSideEffects(),this._subs.push(this._store.select(t=>t.selectedRange).subscribe(t=>this.valueChange.emit(t)))}get isTopPosition(){return this._element.nativeElement.classList.contains("top")}positionServiceEnable(){this._positionService.enable()}daySelectHandler(t){(this.isOtherMonthsActive?t.isDisabled:t.isOtherMonth||t.isDisabled)||(1===this._rangeStack.length&&(this._rangeStack=t.date>=this._rangeStack[0]?[this._rangeStack[0],t.date]:[t.date]),0===this._rangeStack.length&&(this._rangeStack=[t.date]),this._store.dispatch(this._actions.selectRange(this._rangeStack)),2===this._rangeStack.length&&(this._rangeStack=[]))}ngOnDestroy(){for(const t of this._subs)t.unsubscribe();this._effects.destroy()}}class B{}class V{}class Y{}class H{constructor(t,e,n){this._config=t,this._elRef=e,this._renderer=n}ngOnInit(){this.day.isToday&&this._config&&this._config.customTodayClass&&this._renderer.addClass(this._elRef.nativeElement,this._config.customTodayClass),"string"==typeof this.day.customClasses&&this.day.customClasses.split(" ").filter(t=>t).forEach(t=>{this._renderer.addClass(this._elRef.nativeElement,t)})}}const U=function(){var t={UP:0,DOWN:1};return t[t.UP]="UP",t[t.DOWN]="DOWN",t}();class W{constructor(){this.onNavigate=new a.EventEmitter,this.onViewMode=new a.EventEmitter}navTo(t){this.onNavigate.emit(t?U.DOWN:U.UP)}view(t){this.onViewMode.emit(t)}}class K{constructor(t){this._config=t,this.onNavigate=new a.EventEmitter,this.onViewMode=new a.EventEmitter,this.onSelect=new a.EventEmitter,this.onHover=new a.EventEmitter,this.onHoverWeek=new a.EventEmitter}navigateTo(t){this.onNavigate.emit({step:{month:U.DOWN===t?-1:1}})}changeViewMode(t){this.onViewMode.emit(t)}selectDay(t){this.onSelect.emit(t)}selectWeek(t){if(!this._config.selectWeek)return;if(t.days&&t.days[0]&&!t.days[0].isDisabled&&this._config.selectFromOtherMonth)return void this.onSelect.emit(t.days[0]);if(0===t.days.length)return;const e=t.days.find(t=>this._config.selectFromOtherMonth?!t.isDisabled:!t.isOtherMonth&&!t.isDisabled);this.onSelect.emit(e)}weekHoverHandler(t,e){this._config.selectWeek&&t.days.find(t=>this._config.selectFromOtherMonth?!t.isDisabled:!t.isOtherMonth&&!t.isDisabled)&&(t.isHovered=e,this.isWeekHovered=e,this.onHoverWeek.emit(t))}hoverDay(t,e){this._config.selectFromOtherMonth&&t.isOtherMonth&&(t.isOtherMonthHovered=e),this.onHover.emit({cell:t,isHovered:e})}}class ${constructor(){this.onNavigate=new a.EventEmitter,this.onViewMode=new a.EventEmitter,this.onSelect=new a.EventEmitter,this.onHover=new a.EventEmitter}navigateTo(t){this.onNavigate.emit({step:{year:U.DOWN===t?-1:1}})}viewMonth(t){this.onSelect.emit(t)}hoverMonth(t,e){this.onHover.emit({cell:t,isHovered:e})}changeViewMode(t){this.onViewMode.emit(t)}}class Z{constructor(){this.ampm="ok",this.hours=0,this.minutes=0}}class J{constructor(){this.onNavigate=new a.EventEmitter,this.onViewMode=new a.EventEmitter,this.onSelect=new a.EventEmitter,this.onHover=new a.EventEmitter}navigateTo(t){this.onNavigate.emit({step:{year:16*(U.DOWN===t?-1:1)}})}viewYear(t){this.onSelect.emit(t)}hoverYear(t,e){this.onHover.emit({cell:t,isHovered:e})}changeViewMode(t){this.onViewMode.emit(t)}}class X{static forRoot(){return{ngModule:X,providers:[u.a,d.a,E,m,f,z,q,b,h]}}}class Q{format(t,e,n){return Object(s.f)(t,e,n)}}class tt{constructor(){this.selectionDone=new a.EventEmitter(void 0),this.update=new a.EventEmitter(!1),this.activeDateChange=new a.EventEmitter(void 0),this.stepDay={},this.stepMonth={},this.stepYear={},this.modes=["day","month","year"],this.dateFormatter=new Q}get activeDate(){return this._activeDate}set activeDate(t){this._activeDate=t}ngOnInit(){this.uniqueId=`datepicker--${Math.floor(1e4*Math.random())}`,this.initDate?(this.activeDate=this.initDate,this.selectedDate=new Date(this.activeDate.valueOf()),this.update.emit(this.activeDate)):void 0===this.activeDate&&(this.activeDate=new Date)}ngOnChanges(t){this.refreshView(),this.checkIfActiveDateGotUpdated(t.activeDate)}checkIfActiveDateGotUpdated(t){if(t&&!t.firstChange){const e=t.previousValue;e&&e instanceof Date&&e.getTime()!==t.currentValue.getTime()&&this.activeDateChange.emit(this.activeDate)}}setCompareHandler(t,e){"day"===e&&(this.compareHandlerDay=t),"month"===e&&(this.compareHandlerMonth=t),"year"===e&&(this.compareHandlerYear=t)}compare(t,e){if(void 0!==t&&void 0!==e)return"day"===this.datepickerMode&&this.compareHandlerDay?this.compareHandlerDay(t,e):"month"===this.datepickerMode&&this.compareHandlerMonth?this.compareHandlerMonth(t,e):"year"===this.datepickerMode&&this.compareHandlerYear?this.compareHandlerYear(t,e):void 0}setRefreshViewHandler(t,e){"day"===e&&(this.refreshViewHandlerDay=t),"month"===e&&(this.refreshViewHandlerMonth=t),"year"===e&&(this.refreshViewHandlerYear=t)}refreshView(){"day"===this.datepickerMode&&this.refreshViewHandlerDay&&this.refreshViewHandlerDay(),"month"===this.datepickerMode&&this.refreshViewHandlerMonth&&this.refreshViewHandlerMonth(),"year"===this.datepickerMode&&this.refreshViewHandlerYear&&this.refreshViewHandlerYear()}dateFilter(t,e){return this.dateFormatter.format(t,e,this.locale)}isActive(t){return 0===this.compare(t.date,this.activeDate)&&(this.activeDateId=t.uid,!0)}createDateObject(t,e){const n={};return n.date=new Date(t.getFullYear(),t.getMonth(),t.getDate()),n.date=this.fixTimeZone(n.date),n.label=this.dateFilter(t,e),n.selected=0===this.compare(t,this.selectedDate),n.disabled=this.isDisabled(t),n.current=0===this.compare(t,new Date),n.customClass=this.getCustomClassForDate(n.date),n}split(t,e){const n=[];for(;t.length>0;)n.push(t.splice(0,e));return n}fixTimeZone(t){const e=t.getHours();return new Date(t.getFullYear(),t.getMonth(),t.getDate(),23===e?e+2:0)}select(t,e=!0){this.datepickerMode===this.minMode?(this.activeDate||(this.activeDate=new Date(0,0,0,0,0,0,0)),this.activeDate=new Date(t.getFullYear(),t.getMonth(),t.getDate()),this.activeDate=this.fixTimeZone(this.activeDate),e&&this.selectionDone.emit(this.activeDate)):(this.activeDate=new Date(t.getFullYear(),t.getMonth(),t.getDate()),this.activeDate=this.fixTimeZone(this.activeDate),e&&(this.datepickerMode=this.modes[this.modes.indexOf(this.datepickerMode)-1])),this.selectedDate=new Date(this.activeDate.valueOf()),this.update.emit(this.activeDate),this.refreshView()}move(t){let e;if("day"===this.datepickerMode&&(e=this.stepDay),"month"===this.datepickerMode&&(e=this.stepMonth),"year"===this.datepickerMode&&(e=this.stepYear),e){const n=this.activeDate.getFullYear()+t*(e.years||0),a=this.activeDate.getMonth()+t*(e.months||0);this.activeDate=new Date(n,a,1),this.refreshView(),this.activeDateChange.emit(this.activeDate)}}toggleMode(t){const e=t||1;this.datepickerMode===this.maxMode&&1===e||this.datepickerMode===this.minMode&&-1===e||(this.datepickerMode=this.modes[this.modes.indexOf(this.datepickerMode)+e],this.refreshView())}getCustomClassForDate(t){if(!this.customClass)return"";const e=this.customClass.find(e=>e.date.valueOf()===t.valueOf()&&e.mode===this.datepickerMode,this);return void 0===e?"":e.clazz}compareDateDisabled(t,e){if(void 0!==t&&void 0!==e)return"day"===t.mode&&this.compareHandlerDay?this.compareHandlerDay(t.date,e):"month"===t.mode&&this.compareHandlerMonth?this.compareHandlerMonth(t.date,e):"year"===t.mode&&this.compareHandlerYear?this.compareHandlerYear(t.date,e):void 0}isDisabled(t){let e=!1;return this.dateDisabled&&this.dateDisabled.forEach(n=>{0===this.compareDateDisabled(n,t)&&(e=!0)}),this.dayDisabled&&(e=e||this.dayDisabled.indexOf(t.getDay())>-1),e||this.minDate&&this.compare(t,this.minDate)<0||this.maxDate&&this.compare(t,this.maxDate)>0}}class et{constructor(){this.locale="en",this.datepickerMode="day",this.startingDay=0,this.yearRange=20,this.minMode="day",this.maxMode="year",this.showWeeks=!0,this.formatDay="DD",this.formatMonth="MMMM",this.formatYear="YYYY",this.formatDayHeader="dd",this.formatDayTitle="MMMM YYYY",this.formatMonthTitle="YYYY",this.onlyCurrentMonth=!1,this.monthColLimit=3,this.yearColLimit=5,this.shortcutPropagation=!1}}class nt{constructor(t){this.datepickerMode="day",this.showWeeks=!0,this.selectionDone=new a.EventEmitter(void 0),this.activeDateChange=new a.EventEmitter(void 0),this.onChange=Function.prototype,this.onTouched=Function.prototype,this._now=new Date,this.config=t,this.configureOptions()}get activeDate(){return this._activeDate||this._now}set activeDate(t){this._activeDate=t}configureOptions(){Object.assign(this,this.config)}onUpdate(t){this.activeDate=t,this.onChange(t)}onSelectionDone(t){this.selectionDone.emit(t)}onActiveDateChange(t){this.activeDateChange.emit(t)}writeValue(t){if(0!==this._datePicker.compare(t,this._activeDate))return t&&t instanceof Date?(this.activeDate=t,void this._datePicker.select(t,!1)):void(this.activeDate=t?new Date(t):void 0)}registerOnChange(t){this.onChange=t}registerOnTouched(t){this.onTouched=t}}class at{constructor(t){this.labels=[],this.rows=[],this.weekNumbers=[],this.datePicker=t}get isBs4(){return!Object(g.d)()}ngOnInit(){const t=this;this.datePicker.stepDay={months:1},this.datePicker.setRefreshViewHandler((function(){const e=this.activeDate.getFullYear(),n=this.activeDate.getMonth(),a=new Date(e,n,1),r=this.startingDay-a.getDay(),o=r>0?7-r:-r,i=new Date(a.getTime());o>0&&i.setDate(1-o);const s=t.getDates(i,42),c=[];for(let t=0;t<42;t++){const e=this.createDateObject(s[t],this.formatDay);e.secondary=s[t].getMonth()!==n,e.uid=this.uniqueId+"-"+t,c[t]=e}t.labels=[];for(let l=0;l<7;l++)t.labels[l]={},t.labels[l].abbr=this.dateFilter(c[l].date,this.formatDayHeader),t.labels[l].full=this.dateFilter(c[l].date,"EEEE");if(t.title=this.dateFilter(this.activeDate,this.formatDayTitle),t.rows=this.split(c,7),this.showWeeks){t.weekNumbers=[];const e=(11-this.startingDay)%7,n=t.rows.length;for(let a=0;a<n;a++)t.weekNumbers.push(t.getISO8601WeekNumber(t.rows[a][e].date))}}),"day"),this.datePicker.setCompareHandler((function(t,e){const n=new Date(t.getFullYear(),t.getMonth(),t.getDate()),a=new Date(e.getFullYear(),e.getMonth(),e.getDate());return n.getTime()-a.getTime()}),"day"),this.datePicker.refreshView()}getDates(t,e){const n=new Array(e);let a,r=new Date(t.getTime()),o=0;for(;o<e;)a=new Date(r.getTime()),a=this.datePicker.fixTimeZone(a),n[o++]=a,r=new Date(a.getFullYear(),a.getMonth(),a.getDate()+1);return n}getISO8601WeekNumber(t){const e=new Date(t.getTime());e.setDate(e.getDate()+4-(e.getDay()||7));const n=e.getTime();return e.setMonth(0),e.setDate(1),Math.floor(Math.round((n-e.getTime())/864e5)/7)+1}}class rt{constructor(t){this.rows=[],this.datePicker=t}get isBs4(){return!Object(g.d)()}ngOnInit(){const t=this;this.datePicker.stepMonth={years:1},this.datePicker.setRefreshViewHandler((function(){const e=new Array(12),n=this.activeDate.getFullYear();let a;for(let t=0;t<12;t++)a=new Date(n,t,1),a=this.fixTimeZone(a),e[t]=this.createDateObject(a,this.formatMonth),e[t].uid=this.uniqueId+"-"+t;t.title=this.dateFilter(this.activeDate,this.formatMonthTitle),t.rows=this.split(e,t.datePicker.monthColLimit)}),"month"),this.datePicker.setCompareHandler((function(t,e){const n=new Date(t.getFullYear(),t.getMonth()),a=new Date(e.getFullYear(),e.getMonth());return n.getTime()-a.getTime()}),"month"),this.datePicker.refreshView()}}class ot{constructor(t){this.rows=[],this.datePicker=t}get isBs4(){return!Object(g.d)()}ngOnInit(){const t=this;this.datePicker.stepYear={years:this.datePicker.yearRange},this.datePicker.setRefreshViewHandler((function(){const e=new Array(this.yearRange);let n;const a=t.getStartingYear(this.activeDate.getFullYear());for(let t=0;t<this.yearRange;t++)n=new Date(a+t,0,1),n=this.fixTimeZone(n),e[t]=this.createDateObject(n,this.formatYear),e[t].uid=this.uniqueId+"-"+t;t.title=[e[0].label,e[this.yearRange-1].label].join(" - "),t.rows=this.split(e,t.datePicker.yearColLimit)}),"year"),this.datePicker.setCompareHandler((function(t,e){return t.getFullYear()-e.getFullYear()}),"year"),this.datePicker.refreshView()}getStartingYear(t){return(t-1)/this.datePicker.yearRange*this.datePicker.yearRange+1}}class it{static forRoot(){return{ngModule:it,providers:[et]}}}},ijCd:function(t,e,n){var a=n("R/W3"),r=n("MMmD"),o=n("4qC0"),i=n("Sxd8"),s=n("P/G1"),c=Math.max;t.exports=function(t,e,n,l){t=r(t)?t:s(t),n=n&&!l?i(n):0;var d=t.length;return n<0&&(n=c(d+n,0)),o(t)?n<=d&&t.indexOf(e,n)>-1:!!d&&a(t,e,n)>-1}},insk:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("oxzT");n("+0ag"),n("mSOc"),n("20UP");class r{constructor(t,e,n,r,o){this.summaryService=t,this.sanitizer=e,this.settingsService=n,this.cephReleaseNamePipe=r,this.i18n=o,this.grafanaExist=!1,this.mode="&kiosk",this.loading=!0,this.styles={},this.dashboardExist=!0,this.icons=a.a,this.DEFAULT_TIME="from=now-1h&to=now",this.grafanaTimes=[{name:this.i18n("Last 5 minutes"),value:"from=now-5m&to=now"},{name:this.i18n("Last 15 minutes"),value:"from=now-15m&to=now"},{name:this.i18n("Last 30 minutes"),value:"from=now-30m&to=now"},{name:this.i18n("Last 1 hour (Default)"),value:"from=now-1h&to=now"},{name:this.i18n("Last 3 hours"),value:"from=now-3h&to=now"},{name:this.i18n("Last 6 hours"),value:"from=now-6h&to=now"},{name:this.i18n("Last 12 hours"),value:"from=now-12h&to=now"},{name:this.i18n("Last 24 hours"),value:"from=now-24h&to=now"},{name:this.i18n("Yesterday"),value:"from=now-1d%2Fd&to=now-1d%2Fd"},{name:this.i18n("Today"),value:"from=now%2Fd&to=now%2Fd"},{name:this.i18n("Today so far"),value:"from=now%2Fd&to=now"},{name:this.i18n("Day before yesterday"),value:"from=now-2d%2Fd&to=now-2d%2Fd"},{name:this.i18n("Last 2 days"),value:"from=now-2d&to=now"},{name:this.i18n("This day last week"),value:"from=now-7d%2Fd&to=now-7d%2Fd"},{name:this.i18n("Previous week"),value:"from=now-1w%2Fw&to=now-1w%2Fw"},{name:this.i18n("This week"),value:"from=now%2Fw&to=now%2Fw"},{name:this.i18n("This week so far"),value:"from=now%2Fw&to=now"},{name:this.i18n("Last 7 days"),value:"from=now-7d&to=now"},{name:this.i18n("Previous month"),value:"from=now-1M%2FM&to=now-1M%2FM"},{name:this.i18n("This month"),value:"from=now%2FM&to=now%2FM"},{name:this.i18n("This month so far"),value:"from=now%2FM&to=now"},{name:this.i18n("Last 30 days"),value:"from=now-30d&to=now"},{name:this.i18n("Last 90 days"),value:"from=now-90d&to=now"},{name:this.i18n("Last 6 months"),value:"from=now-6M&to=now"},{name:this.i18n("Last 1 year"),value:"from=now-1y&to=now"},{name:this.i18n("Previous year"),value:"from=now-1y%2Fy&to=now-1y%2Fy"},{name:this.i18n("This year"),value:"from=now%2Fy&to=now%2Fy"},{name:this.i18n("This year so far"),value:"from=now%2Fy&to=now"},{name:this.i18n("Last 2 years"),value:"from=now-2y&to=now"},{name:this.i18n("Last 5 years"),value:"from=now-5y&to=now"}]}ngOnInit(){this.time=this.DEFAULT_TIME,this.styles={one:"grafana_one",two:"grafana_two",three:"grafana_three"};const t=this.summaryService.subscribe(e=>{if(!e)return;const n=this.cephReleaseNamePipe.transform(e.version);this.docsUrl=`http://docs.ceph.com/docs/${n}/mgr/dashboard/`+"#enabling-the-embedding-of-grafana-dashboards",setTimeout(()=>{t.unsubscribe()},0)});this.settingsService.ifSettingConfigured("api/grafana/url",t=>{this.grafanaExist=!0,this.loading=!1,this.baseUrl=t+"/d/",this.getFrame()}),this.panelStyle=this.styles[this.grafanaStyle]}getFrame(){this.settingsService.validateGrafanaDashboardUrl(this.uid).subscribe(t=>this.dashboardExist=200===t),this.url=this.baseUrl+this.uid+"/"+this.grafanaPath+"&refresh=2s"+this.mode+"&"+this.time,this.grafanaSrc=this.sanitizer.bypassSecurityTrustResourceUrl(this.url)}onTimepickerChange(){this.grafanaExist&&this.getFrame()}reset(){this.time=this.DEFAULT_TIME,this.grafanaExist&&this.getFrame()}ngOnChanges(){this.grafanaExist&&this.getFrame()}}},iqWW:function(t,e,n){"use strict";var a=n("ZUd8").charAt;t.exports=function(t,e,n){return e+(n?a(t,e).length:1)}},itXk:function(t,e,n){"use strict";n.d(e,"b",(function(){return l})),n.d(e,"a",(function(){return d}));var a=n("z+Ro"),r=n("DH7j"),o=n("l7GE"),i=n("ZUHj"),s=n("yCtX");const c={};function l(...t){let e=null,n=null;return Object(a.a)(t[t.length-1])&&(n=t.pop()),"function"==typeof t[t.length-1]&&(e=t.pop()),1===t.length&&Object(r.a)(t[0])&&(t=t[0]),Object(s.a)(t,n).lift(new d(e))}class d{constructor(t){this.resultSelector=t}call(t,e){return e.subscribe(new u(t,this.resultSelector))}}class u extends o.a{constructor(t,e){super(t),this.resultSelector=e,this.active=0,this.values=[],this.observables=[]}_next(t){this.values.push(c),this.observables.push(t)}_complete(){const t=this.observables,e=t.length;if(0===e)this.destination.complete();else{this.active=e,this.toRespond=e;for(let n=0;n<e;n++){const e=t[n];this.add(Object(i.a)(this,e,e,n))}}}notifyComplete(t){0==(this.active-=1)&&this.destination.complete()}notifyNext(t,e,n,a,r){const o=this.values,i=this.toRespond?o[n]===c?--this.toRespond:this.toRespond:0;o[n]=e,0===i&&(this.resultSelector?this._tryResultSelector(o):this.destination.next(o.slice()))}_tryResultSelector(t){let e;try{e=this.resultSelector.apply(this,t)}catch(n){return void this.destination.error(n)}this.destination.next(e)}}},itsj:function(t,e){t.exports=function(t,e){if(("constructor"!==e||"function"!=typeof t[e])&&"__proto__"!=e)return t[e]}},iutN:function(t,e,n){"use strict";n.d(e,"a",(function(){return c}));var a=n("8Y7J"),r=n("FE24"),o=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function i(t){return a["ɵvid"](2,[(t()(),a["ɵeld"](0,0,null,null,1,"div",[],[[2,"dropup",null],[2,"dropdown",null],[2,"show",null],[2,"open",null]],null,null,null,null)),a["ɵncd"](null,0)],null,(function(t,e){var n=e.component;t(e,0,0,"up"===n.direction,"down"===n.direction,n.isOpen,n.isOpen)}))}function s(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"bs-dropdown-container",[["style","display:block;position: absolute;"]],null,null,null,i,o)),a["ɵdid"](1,180224,null,0,r.b,[r.f,a.ChangeDetectorRef,a.Renderer2,a.ElementRef],null,null)],null,null)}var c=a["ɵccf"]("bs-dropdown-container",r.b,s,{},{},["*"])},j8L6:function(t,e,n){"use strict";var a=n("8Y7J"),r=n("25BL"),o=n("uIqm"),i=n("DqMs"),s=n("/NlG"),c=n("GiVz"),l=n("o4+5"),d=n("aXbf"),u=n("SVse");n("b5OY"),n("pxLl"),n.d(e,"a",(function(){return g})),n.d(e,"b",(function(){return h}));var g=a["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function f(t){return a["ɵvid"](0,[(t()(),a["ɵted"](0,null,[" "," "," "])),a["ɵppd"](1,1)],null,(function(t,e){var n=a["ɵunv"](e,0,0,t(e,1,0,a["ɵnov"](e.parent.parent,0),e.context.row.value));t(e,0,0,n,e.context.row.unit)}))}function p(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"cd-table",[["columnMode","flex"]],null,[[null,"fetchData"]],(function(t,e,n){var a=!0;return"fetchData"===e&&(a=!1!==t.component.getCounters(n)&&a),a}),r.b,r.a)),a["ɵdid"](1,2867200,null,0,o.a,[a.NgZone,a.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],autoSave:[3,"autoSave"]},{fetchData:"fetchData"}),(t()(),a["ɵand"](0,[[1,2],["valueTpl",2]],null,0,null,f))],(function(t,e){var n=e.component;t(e,1,0,n.counters,n.columns,"flex",!1)}),null)}function m(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"cd-alert-panel",[["type","warning"]],null,null,null,i.b,i.a)),a["ɵdid"](1,114688,null,0,s.a,[c.a],{type:[0,"type"]},null),(t()(),a["ɵted"](-1,0,["Performance counters not available"]))],(function(t,e){t(e,1,0,"warning")}),null)}function h(t){return a["ɵvid"](0,[a["ɵpid"](0,l.a,[d.a]),a["ɵqud"](671088640,1,{valueTpl:0}),(t()(),a["ɵand"](16777216,null,null,1,null,p)),a["ɵdid"](3,16384,null,0,u.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"],ngIfElse:[1,"ngIfElse"]},null),(t()(),a["ɵand"](0,[["warning",2]],null,0,null,m))],(function(t,e){t(e,3,0,e.component.counters,a["ɵnov"](e,4))}),null)}},"jKX/":function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));class a{constructor(t=[]){["read","create","update","delete"].forEach(e=>this[e]=t.includes(e))}}class r{constructor(t){this.hosts=new a(t.hosts),this.configOpt=new a(t["config-opt"]),this.pool=new a(t.pool),this.osd=new a(t.osd),this.monitor=new a(t.monitor),this.rbdImage=new a(t["rbd-image"]),this.iscsi=new a(t.iscsi),this.rbdMirroring=new a(t["rbd-mirroring"]),this.rgw=new a(t.rgw),this.cephfs=new a(t.cephfs),this.manager=new a(t.manager),this.log=new a(t.log),this.user=new a(t.user),this.grafana=new a(t.grafana),this.prometheus=new a(t.prometheus),this.nfs=new a(t["nfs-ganesha"])}}},jUeY:function(t,e,n){!function(t){"use strict";t.defineLocale("el",{monthsNominativeEl:"Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος".split("_"),monthsGenitiveEl:"Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου".split("_"),months:function(t,e){return t?"string"==typeof e&&/D/.test(e.substring(0,e.indexOf("MMMM")))?this._monthsGenitiveEl[t.month()]:this._monthsNominativeEl[t.month()]:this._monthsNominativeEl},monthsShort:"Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ".split("_"),weekdays:"Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο".split("_"),weekdaysShort:"Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ".split("_"),weekdaysMin:"Κυ_Δε_Τρ_Τε_Πε_Πα_Σα".split("_"),meridiem:function(t,e,n){return t>11?n?"μμ":"ΜΜ":n?"πμ":"ΠΜ"},isPM:function(t){return"μ"===(t+"").toLowerCase()[0]},meridiemParse:/[ΠΜ]\.?Μ?\.?/i,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendarEl:{sameDay:"[Σήμερα {}] LT",nextDay:"[Αύριο {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[Χθες {}] LT",lastWeek:function(){switch(this.day()){case 6:return"[το προηγούμενο] dddd [{}] LT";default:return"[την προηγούμενη] dddd [{}] LT"}},sameElse:"L"},calendar:function(t,e){var n,a=this._calendarEl[t],r=e&&e.hours();return((n=a)instanceof Function||"[object Function]"===Object.prototype.toString.call(n))&&(a=a.apply(e)),a.replace("{}",r%12==1?"στη":"στις")},relativeTime:{future:"σε %s",past:"%s πριν",s:"λίγα δευτερόλεπτα",ss:"%d δευτερόλεπτα",m:"ένα λεπτό",mm:"%d λεπτά",h:"μία ώρα",hh:"%d ώρες",d:"μία μέρα",dd:"%d μέρες",M:"ένας μήνας",MM:"%d μήνες",y:"ένας χρόνος",yy:"%d χρόνια"},dayOfMonthOrdinalParse:/\d{1,2}η/,ordinal:"%dη",week:{dow:1,doy:4}})}(n("wd/R"))},jV1L:function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var a=n("8Y7J"),r=n("f95s"),o=function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},i=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},s=function(){function t(){}return o([Object(a.Input)(),i("design:type",r.a)],t.prototype,"node",void 0),o([Object(a.Component)({selector:"tree-node-expander",encapsulation:a.ViewEncapsulation.None,styles:[],template:'\n    <ng-container *treeMobxAutorun="{ dontDetach: true }">\n      <span\n        *ngIf="node.hasChildren"\n        [class.toggle-children-wrapper-expanded]="node.isExpanded"\n        [class.toggle-children-wrapper-collapsed]="node.isCollapsed"\n        class="toggle-children-wrapper"\n        (click)="node.mouseAction(\'expanderClick\', $event)"\n      >\n        <span class="toggle-children"></span>\n      </span>\n      <span *ngIf="!node.hasChildren" class="toggle-children-placeholder">\n      </span>\n    </ng-container>\n  '})],t)}()},jVDg:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{constructor(t,e,n){this.poolName=t,this.namespace=e,this.imageName=n}static fromString(t){const e=t.split("/");return new this(e[0],e.length>=3?e[1]:null,e.length>=3?e[2]:e[1])}getNameSpace(){return this.namespace?`${this.namespace}/`:""}toString(){return`${this.poolName}/${this.getNameSpace()}${this.imageName}`}toStringEncoded(){return encodeURIComponent(`${this.poolName}/${this.getNameSpace()}${this.imageName}`)}}},jVdC:function(t,e,n){!function(t){"use strict";var e="styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień".split("_"),n="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia".split("_");function a(t){return t%10<5&&t%10>1&&~~(t/10)%10!=1}function r(t,e,n){var r=t+" ";switch(n){case"ss":return r+(a(t)?"sekundy":"sekund");case"m":return e?"minuta":"minutę";case"mm":return r+(a(t)?"minuty":"minut");case"h":return e?"godzina":"godzinę";case"hh":return r+(a(t)?"godziny":"godzin");case"MM":return r+(a(t)?"miesiące":"miesięcy");case"yy":return r+(a(t)?"lata":"lat")}}t.defineLocale("pl",{months:function(t,a){return t?""===a?"("+n[t.month()]+"|"+e[t.month()]+")":/D MMMM/.test(a)?n[t.month()]:e[t.month()]:e},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru".split("_"),weekdays:"niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota".split("_"),weekdaysShort:"ndz_pon_wt_śr_czw_pt_sob".split("_"),weekdaysMin:"Nd_Pn_Wt_Śr_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Dziś o] LT",nextDay:"[Jutro o] LT",nextWeek:function(){switch(this.day()){case 0:return"[W niedzielę o] LT";case 2:return"[We wtorek o] LT";case 3:return"[W środę o] LT";case 6:return"[W sobotę o] LT";default:return"[W] dddd [o] LT"}},lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zeszłą niedzielę o] LT";case 3:return"[W zeszłą środę o] LT";case 6:return"[W zeszłą sobotę o] LT";default:return"[W zeszły] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",ss:r,m:r,mm:r,h:r,hh:r,d:"1 dzień",dd:"%d dni",M:"miesiąc",MM:r,y:"rok",yy:r},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("wd/R"))},jZKg:function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var a=n("HDdC"),r=n("quSY");function o(t,e){return new a.a(n=>{const a=new r.a;let o=0;return a.add(e.schedule((function(){o!==t.length?(n.next(t[o++]),n.closed||a.add(this.schedule())):n.complete()}))),a})}},jeLo:function(t,e,n){var a=n("juv8"),r=n("mTTR");t.exports=function(t){return a(t,r(t))}},jfSC:function(t,e,n){!function(t){"use strict";var e={1:"۱",2:"۲",3:"۳",4:"۴",5:"۵",6:"۶",7:"۷",8:"۸",9:"۹",0:"۰"},n={"۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","۰":"0"};t.defineLocale("fa",{months:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),monthsShort:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),weekdays:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysShort:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysMin:"ی_د_س_چ_پ_ج_ش".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/قبل از ظهر|بعد از ظهر/,isPM:function(t){return/بعد از ظهر/.test(t)},meridiem:function(t,e,n){return t<12?"قبل از ظهر":"بعد از ظهر"},calendar:{sameDay:"[امروز ساعت] LT",nextDay:"[فردا ساعت] LT",nextWeek:"dddd [ساعت] LT",lastDay:"[دیروز ساعت] LT",lastWeek:"dddd [پیش] [ساعت] LT",sameElse:"L"},relativeTime:{future:"در %s",past:"%s پیش",s:"چند ثانیه",ss:"ثانیه d%",m:"یک دقیقه",mm:"%d دقیقه",h:"یک ساعت",hh:"%d ساعت",d:"یک روز",dd:"%d روز",M:"یک ماه",MM:"%d ماه",y:"یک سال",yy:"%d سال"},preparse:function(t){return t.replace(/[۰-۹]/g,(function(t){return n[t]})).replace(/،/g,",")},postformat:function(t){return t.replace(/\d/g,(function(t){return e[t]})).replace(/,/g,"،")},dayOfMonthOrdinalParse:/\d{1,2}م/,ordinal:"%dم",week:{dow:6,doy:12}})}(n("wd/R"))},jnO4:function(t,e,n){!function(t){"use strict";var e={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},n={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},a=function(t){return 0===t?0:1===t?1:2===t?2:t%100>=3&&t%100<=10?3:t%100>=11?4:5},r={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},o=function(t){return function(e,n,o,i){var s=a(e),c=r[t][a(e)];return 2===s&&(c=c[n?0:1]),c.replace(/%d/i,e)}},i=["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"];t.defineLocale("ar",{months:i,monthsShort:i,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/‏M/‏YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(t){return"م"===t},meridiem:function(t,e,n){return t<12?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:o("s"),ss:o("s"),m:o("m"),mm:o("m"),h:o("h"),hh:o("h"),d:o("d"),dd:o("d"),M:o("M"),MM:o("M"),y:o("y"),yy:o("y")},preparse:function(t){return t.replace(/[١٢٣٤٥٦٧٨٩٠]/g,(function(t){return n[t]})).replace(/،/g,",")},postformat:function(t){return t.replace(/\d/g,(function(t){return e[t]})).replace(/,/g,"،")},week:{dow:6,doy:12}})}(n("wd/R"))},jqst:function(t,e,n){"use strict";n.r(e),e.default='<xliff xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 http://docs.oasis-open.org/xliff/v1.2/os/xliff-core-1.2-strict.xsd" xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">\n  <file original="ng2.template" datatype="plaintext" source-language="en-US" target-language="id-ID">\n    <body>\n      <trans-unit id="319e0745bcbc132451569294fa2fa21bf10f555a" datatype="html">\n        <source>Toggle navigation</source>\n        <target>Pengalih navigasi</target>\n      </trans-unit>\n      <trans-unit id="f65253954b66e929a8b4d5ecaf61f9129f8cec64" datatype="html">\n        <source>Dashboard</source>\n        <target>Dasbor</target>\n      </trans-unit>\n      <trans-unit id="f4d1dd59b039ad818d9da7e29a773e10e41d9821" datatype="html">\n        <source>Cluster</source>\n        <target>Klaster</target>\n      </trans-unit>\n      <trans-unit id="099b441d49333b3c6d30b36dc0a4763e64c78920" datatype="html">\n        <source>Hosts</source>\n        <target>Hos</target>\n      </trans-unit>\n      <trans-unit id="2cc3ecb16e348fcf2f2fbfd2f997d4d22f37475b" datatype="html">\n        <source>Inventory</source>\n        <target>Inventory</target>\n      </trans-unit>\n      <trans-unit id="624f596cc3320f5e0a0d7c7346c364e5af9bdd8c" datatype="html">\n        <source>Monitors</source>\n        <target>Monitor</target>\n      </trans-unit>\n      <trans-unit id="419d940613972cc3fae9c8ea0a4306dbf80616e5" datatype="html">\n        <source>Services</source>\n        <target>Layanan</target>\n      </trans-unit>\n      <trans-unit id="1a9183778f2c6473d7ccb080f651caa01faaf70c" datatype="html">\n        <source>OSDs</source>\n        <target>OSD</target>\n      </trans-unit>\n      <trans-unit id="4a41f824a35ba01d5bd7be61aa06b3e8145209d0" datatype="html">\n        <source>Configuration</source>\n        <target>Konfigurasi</target>\n      </trans-unit>\n      <trans-unit id="8c95898abff46bfac3ed6eb2afef74597e60b15c" datatype="html">\n        <source>CRUSH map</source>\n        <target>peta CRUSH</target>\n      </trans-unit>\n      <trans-unit id="33da4dbeb076159510801ea764a218fd341269d2" datatype="html">\n        <source>Manager modules</source>\n        <target>Modul Ceph Manajer</target>\n      </trans-unit>\n      <trans-unit id="eb3d5aefff38a814b76da74371cbf02c0789a1ef" datatype="html">\n        <source>Logs</source>\n        <target>Log</target>\n      </trans-unit>\n      <trans-unit id="17fc3efe5f9fa4e0289c900cb6202265215a1a27" datatype="html">\n        <source>Monitoring</source>\n        <target>Monitoring</target>\n      </trans-unit>\n      <trans-unit id="92899fa68e8ca108912163ff58edc8540e453787" datatype="html">\n        <source>Pools</source>\n        <target>Pool</target>\n      </trans-unit>\n      <trans-unit id="7f5d0c10614e8a34f0e2dad33a0568277c50cf69" datatype="html">\n        <source>Block</source>\n        <target>Blok</target>\n      </trans-unit>\n      <trans-unit id="b73f7f5060fb22a1e9ec462b1bb02493fa3ab866" datatype="html">\n        <source>Images</source>\n        <target>Image</target>\n      </trans-unit>\n      <trans-unit id="3c2562ba992127203dcfd014010b03cb7b8113c6" datatype="html">\n        <source>Mirroring</source>\n        <target>Pencerminan</target>\n      </trans-unit>\n      <trans-unit id="811c241d56601b91ef26735b770e64428089b950" datatype="html">\n        <source>iSCSI</source>\n        <target>iSCSI</target>\n      </trans-unit>\n      <trans-unit id="a24eabd99ea5af20f5f94c4484649cd30370042b" datatype="html">\n        <source>NFS</source>\n        <target>NFS</target>\n      </trans-unit>\n      <trans-unit id="a4eff72d97b7ced051398d581f10968218057ddc" datatype="html">\n        <source>Filesystems</source>\n        <target>Sistemfile</target>\n      </trans-unit>\n      <trans-unit id="2190548d236ca5f7bc7ab2bca334b860c5ff2ad4" datatype="html">\n        <source>Object Gateway</source>\n        <target>Gerbang Objek</target>\n      </trans-unit>\n      <trans-unit id="9e24f9e2d42104ffc01599db4d566d1cc518f9e6" datatype="html">\n        <source>Daemons</source>\n        <target>Daemon</target>\n      </trans-unit>\n      <trans-unit id="4d13a9cd5ed3dcee0eab22cb25198d43886942be" datatype="html">\n        <source>Users</source>\n        <target>Pengguna</target>\n      </trans-unit>\n      <trans-unit id="9515520496da83179d8b08132f00f575512a1f40" datatype="html">\n        <source>Buckets</source>\n        <target>Buket</target>\n      </trans-unit>\n      <trans-unit id="797f8214e8148f4bf0d244baaa7341706b419549" datatype="html">\n        <source>Retrieving data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>. Please wait...\n        </source>\n        <target>Retrieving data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>. Please wait...\n        </target>\n      </trans-unit>\n      <trans-unit id="5a870dc77b9f6f33ee671ea2d856021276933339" datatype="html">\n        <source>Displaying previously cached data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>\n  for \n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n        </source>\n        <target>Displaying previously cached data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>\n  for \n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="ae580202919844531361ba2308287226ff74a584" datatype="html">\n        <source>Could not load data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n  Please check the cluster health.\n        </source>\n        <target>Could not load data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n  Please check the cluster health.\n        </target>\n      </trans-unit>\n      <trans-unit id="7e52e9143145e1db5146258de81eae018a407b31" datatype="html">\n        <source>Clear notifications</source>\n        <target>Clear notifications</target>\n      </trans-unit>\n      <trans-unit id="b0b07bb6b7ff21ede439dd04eaf8872d1ecb84d8" datatype="html">\n        <source>Remove notification</source>\n        <target>Remove notification</target>\n      </trans-unit>\n      <trans-unit id="e17a1d75189da843f541f7764f188f2b19a97df2" datatype="html">\n        <source>Duration:</source>\n        <target>Duration:</target>\n      </trans-unit>\n      <trans-unit id="0d4b37c6675c5b436a54c43d6716eec835e1aa7f" datatype="html">\n        <source>There are no notifications.</source>\n        <target>There are no notifications.</target>\n      </trans-unit>\n      <trans-unit id="0a23e992f6c6e169a38b2b7338b4e5e803b52e0d" datatype="html">\n        <source>Tasks and Notifications</source>\n        <target>Tasks and Notifications</target>\n      </trans-unit>\n      <trans-unit id="3fb5709e10166cbc85970cbff103db227dbeb813" datatype="html">\n        <source>Select a Language</source>\n        <target>Pilih bahasa</target>\n      </trans-unit>\n      <trans-unit id="c5109325fb160b543f71a51e7511c00575057431" datatype="html">\n        <source>Loading panel data...</source>\n        <target>Memuat data panel...</target>\n      </trans-unit>\n      <trans-unit id="8ca12411f890ab8b0a9216418e2b8f5ea7d2441a" datatype="html">\n        <source>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the monitoring functionality.\n        </source>\n        <target>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the monitoring functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="160a9e80dc089792df42e2400b1e81b9e7025aa7" datatype="html">\n        <source>Grafana Dashboard doesn\'t exist. Please refer to\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  add dashboards to Grafana.\n        </source>\n        <target>Grafana Dashboard doesn\'t exist. Please refer to\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  add dashboards to Grafana.\n        </target>\n      </trans-unit>\n      <trans-unit id="4e11830040bd64804a0555de76f291d5832772d4" datatype="html">\n        <source>Grafana Time Picker</source>\n        <target>Pemilih Waktu Grafana</target>\n      </trans-unit>\n      <trans-unit id="238c1ba845dd7330e8088165275919a1debf1ca3" datatype="html">\n        <source>Reset Settings</source>\n        <target>Reset Pengaturan</target>\n      </trans-unit>\n      <trans-unit id="c8d1785038d461ec66b5799db21864182b35900a" datatype="html">\n        <source>Refresh</source>\n        <target>Refresh</target>\n      </trans-unit>\n      <trans-unit id="6c947210e2d162b6225083d18820ab602f58cd2d" datatype="html">\n        <source>Remove the custom configuration value. The default configuration will be inherited and used instead.</source>\n        <target>Remove the custom configuration value. The default configuration will be inherited and used instead.</target>\n      </trans-unit>\n      <trans-unit id="454ee9cb60b00446a8fb147fd2cc5eb836320586" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ option.maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ option.maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="7fc8a22825131e028336f60ef909ccbd96059703" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ option.minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ option.minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="cda31dbd724cf5f4fa7a4274d9120651490c8a8c" datatype="html">\n        <source>Back</source>\n        <target>Kembali</target>\n      </trans-unit>\n      <trans-unit id="9ce641535be1ffa106c87724ba0637facaef5f61" datatype="html">\n        <source>Your password will expire in \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>less than 1\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day. Click\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.\n        </source>\n        <target>Your password will expire in \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>less than 1\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day. Click\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.\n        </target>\n      </trans-unit>\n      <trans-unit id="c2f34088c155e40ffb23770a465a65868ce772b2" datatype="html">\n        <source>Your password will expire in \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ expirationDays }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day(s). Click\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.\n        </source>\n        <target>Your password will expire in \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ expirationDays }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day(s). Click\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.\n        </target>\n      </trans-unit>\n      <trans-unit id="9b516f972c744779257310b73f6e97438b726707" datatype="html">\n        <source>Orchestrator is not available. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the functionality.\n        </source>\n        <target>Orchestrator is not available. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="012741ee52b3c050e4a977c37cc2334f7974f141" datatype="html">\n        <source>Failed to load data.</source>\n        <target>Gagal memuat data.</target>\n      </trans-unit>\n      <trans-unit id="1e5e23363e949f7dcbaf034bdb141a561132a10e" datatype="html">\n        <source>Clear filters</source>\n        <target>Clear filters</target>\n      </trans-unit>\n      <trans-unit id="80cc9a12d4bf6fe454ed94b379eeaf915f920bb7" datatype="html">\n        <source>selected</source>\n        <target>dipilih</target>\n        <note>X selected</note>\n      </trans-unit>\n      <trans-unit id="0cb77511a9a148e05b9adf36cc07269956fbb29d" datatype="html">\n        <source>found</source>\n        <target>ditemukan</target>\n        <note>X found</note>\n      </trans-unit>\n      <trans-unit id="79347388740c50b7ac97e144c2494bb62912f312" datatype="html">\n        <source>total</source>\n        <target>total</target>\n        <note>X total</note>\n      </trans-unit>\n      <trans-unit id="cff1428d10d59d14e45edec3c735a27b5482db59" datatype="html">\n        <source>Name</source>\n        <target>Nama</target>\n      </trans-unit>\n      <trans-unit id="eec715de352a6b114713b30b640d319fa78207a0" datatype="html">\n        <source>Description</source>\n        <target>Deskripsi</target>\n      </trans-unit>\n      <trans-unit id="4ad112ce9bcd55dfd137792a86afe1b5a5b13cf8" datatype="html">\n        <source>Long description</source>\n        <target>Deskripsi lengkap</target>\n      </trans-unit>\n      <trans-unit id="ff7cee38a2259526c519f878e71b964f41db4348" datatype="html">\n        <source>Default</source>\n        <target>Bawaan</target>\n      </trans-unit>\n      <trans-unit id="33e1c1d9fc05ca3f62fcc8a1170fc31ebae4229c" datatype="html">\n        <source>Daemon default</source>\n        <target>Daemon bawaan</target>\n      </trans-unit>\n      <trans-unit id="809b0c848932a41318f77a2aace904ef429c13f4" datatype="html">\n        <source>Values</source>\n        <target>Nilai</target>\n      </trans-unit>\n      <trans-unit id="5894f7158499fdb89527af50c9f1cf7d4c95cad6" datatype="html">\n        <source>-- Default --</source>\n        <target>-- Default --</target>\n      </trans-unit>\n      <trans-unit id="514f6e12d035a6d9b00de6b3e55c18b73488da07" datatype="html">\n        <source>true</source>\n        <target>true</target>\n      </trans-unit>\n      <trans-unit id="774f5e6a183dea08393789b6f72e86afad729419" datatype="html">\n        <source>false</source>\n        <target>false</target>\n      </trans-unit>\n      <trans-unit id="82029b6db704c56a2aa3e82ac555b8655356b077" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8ed8b3967a7326b81b191c9f490006e6a6777a9a" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="52c9a103b812f258bcddc3d90a6e3f46871d25fe" datatype="html">\n        <source>Save</source>\n        <target>Simpan</target>\n      </trans-unit>\n      <trans-unit id="738de688b22fba5d0dc7a5e549996838dddad0ee" datatype="html">\n        <source>CRUSH map viewer</source>\n        <target>Penampil peta CRUSH</target>\n      </trans-unit>\n      <trans-unit id="94516fa213706c67ce5a5b5765681d7fb032033a" datatype="html">\n        <source>Loading...</source>\n        <target>Memuat...</target>\n      </trans-unit>\n      <trans-unit id="formTitle" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </target>\n        <note>form title</note>\n      </trans-unit>\n      <trans-unit id="9a541ec1a4319fffc16ad3b3ab2c2b6d251a829d" datatype="html">\n        <source>Hostname</source>\n        <target>Nama hos</target>\n      </trans-unit>\n      <trans-unit id="7cbdabcece469fab89cfa687ab152bca18b97498" datatype="html">\n        <source>This field is required.</source>\n        <target>Isian ini tidak boleh kosong.</target>\n      </trans-unit>\n      <trans-unit id="1b3f5e5291541678f7afa49d28fad5ca848a8061" datatype="html">\n        <source>The chosen hostname is already in use.</source>\n        <target>The chosen hostname is already in use.</target>\n      </trans-unit>\n      <trans-unit id="formActionButton" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </target>\n        <note>form action button</note>\n      </trans-unit>\n      <trans-unit id="6110699a3562eeb15371063c0cf7f6bfd88a0209" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemNames[0] }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemNames[0] }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>?\n        </target>\n      </trans-unit>\n      <trans-unit id="549859e511ba5af0ea03fcaa620c472f08038969" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected items?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected items?\n        </target>\n      </trans-unit>\n      <trans-unit id="54839ebc827b73c9dc4e1df731c6d36a85036af7" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected \n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected \n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>?\n        </target>\n      </trans-unit>\n      <trans-unit id="2be8b7f04f0104d3fad90d079d8202b74f758b9a" datatype="html">\n        <source>Yes, I am sure.</source>\n        <target>Ya, saya yakin.</target>\n      </trans-unit>\n      <trans-unit id="d7b35c384aecd25a516200d6921836374613dfe7" datatype="html">\n        <source>Cancel</source>\n        <target>Batal</target>\n      </trans-unit>\n      <trans-unit id="55a2f26b2e87886d9b8015a887e38e51ab2a866a" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8" datatype="html">\n        <source>Close</source>\n        <target>Tutup</target>\n      </trans-unit>\n      <trans-unit id="40661476cb24c89d8b06614998e31d5fbe84eeb6" datatype="html">\n        <source>Hosts List</source>\n        <target>Daftar Hos</target>\n      </trans-unit>\n      <trans-unit id="5e7f4b1ca49e8d217bd0e12c6f7d6b6a2ade2c18" datatype="html">\n        <source>Overall Performance</source>\n        <target>Performa Keseluruhan</target>\n      </trans-unit>\n      <trans-unit id="3e24569eca61d598c8b01defbbbb1fa8bd5222bc" datatype="html">\n        <source>Devices</source>\n        <target>Devices</target>\n      </trans-unit>\n      <trans-unit id="e6d57f36aa2bad303c8a8ee944b9bd7fae3c8c26" datatype="html">\n        <source>No entries found</source>\n        <target>Entri tidak ditemukan</target>\n      </trans-unit>\n      <trans-unit id="d556ab48a65722b400e497f61737f553ee0f89e2" datatype="html">\n        <source>Cluster Logs</source>\n        <target>Log Klaster</target>\n      </trans-unit>\n      <trans-unit id="5f966baffd188be0e8adc2d7067b86e55fc9b9de" datatype="html">\n        <source>Audit Logs</source>\n        <target>Log Audit</target>\n      </trans-unit>\n      <trans-unit id="4193c9eb868aeec119b78a14795241e0aa5e8b60" datatype="html">\n        <source>Priority:</source>\n        <target>Priority:</target>\n      </trans-unit>\n      <trans-unit id="1d78ca51eab260ce3fd917d39190d64df5229b6e" datatype="html">\n        <source>Keyword:</source>\n        <target>Keyword:</target>\n      </trans-unit>\n      <trans-unit id="05fa0bded36de6e73a1fa44838b627349dace044" datatype="html">\n        <source>Date:</source>\n        <target>Date:</target>\n      </trans-unit>\n      <trans-unit id="31dadb362bf7f7c2afa10e5f96474ccd3977f91f" datatype="html">\n        <source>Datepicker</source>\n        <target>Datepicker</target>\n      </trans-unit>\n      <trans-unit id="85a400388de1899b1917138cf7e5286376f72847" datatype="html">\n        <source>Time range:</source>\n        <target>Time range:</target>\n      </trans-unit>\n      <trans-unit id="2447796ddbda942f4e2c46619cb84d69f066e568" datatype="html">\n        <source>Loading configuration...</source>\n        <target>Memuat konfigurasi...</target>\n      </trans-unit>\n      <trans-unit id="b42c0b347a841bed8859ee83de05080ee28c803b" datatype="html">\n        <source>The configuration could not be loaded.</source>\n        <target>Konfigurasi tidak dapat dimuat.</target>\n      </trans-unit>\n      <trans-unit id="31a9c2870a934b594d1390146c489f76440859ea" datatype="html">\n        <source>Edit Manager module</source>\n        <target>Edit modul Ceph Manajer</target>\n      </trans-unit>\n      <trans-unit id="46e09b8290d3d0afdb6baa2021395b0570606a31" datatype="html">\n        <source>The entered value is not a valid UUID, e.g.: 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8</source>\n        <target>Nilai yang dimasukkan bukan UUID yang valid, cth: 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8</target>\n      </trans-unit>\n      <trans-unit id="7aacd038b39cfd347107d01d1dc27f5cb3e0951c" datatype="html">\n        <source>The entered value needs to be a valid IP address.</source>\n        <target>Nilai yang dimasukkan harus alamat IP yang valid.</target>\n      </trans-unit>\n      <trans-unit id="f19106149f4b07a0d721f9d317afed393cb7bd93" datatype="html">\n        <source>The entered value is too high! It must be lower or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.max }}"/>.\n        </source>\n        <target>The entered value is too high! It must be lower or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.max }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="6d33c40ef9a6c3bf0888df831b25e41e65f9d15b" datatype="html">\n        <source>The entered value is too low! It must be greater or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.min }}"/>.\n        </source>\n        <target>The entered value is too low! It must be greater or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.min }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="eae7086660cf1e38c7194a2c49ff52cc656f90f5" datatype="html">\n        <source>The entered value needs to be a number.</source>\n        <target>Nilai yang dimasukkan harus berupa angka.</target>\n      </trans-unit>\n      <trans-unit id="a73376e04b4fb3a20734c8c39743fba32e6676ce" datatype="html">\n        <source>The entered value needs to be a number or decimal.</source>\n        <target>Nilai yang dimasukkan harus berupa angka atau desimal.</target>\n      </trans-unit>\n      <trans-unit id="047f50bc5b5d17b5bec0196355953e1a5c590ddb" datatype="html">\n        <source>Update</source>\n        <target>Perbarui</target>\n      </trans-unit>\n      <trans-unit id="81b97b8ea996ad1e4f9fca8415021850214884b1" datatype="html">\n        <source>Status</source>\n        <target>Status</target>\n      </trans-unit>\n      <trans-unit id="57ec6032f5618d4a9f16eb950ad23d2ce7c24b54" datatype="html">\n        <source>Cluster ID</source>\n        <target>ID Klaster</target>\n      </trans-unit>\n      <trans-unit id="67d7facc3fec5f8a49ab9ba0a245872184264ce5" datatype="html">\n        <source>monmap modified</source>\n        <target>monmap diubah</target>\n      </trans-unit>\n      <trans-unit id="d4906731aaf2b94b4f547646c9bfe58bb77951b6" datatype="html">\n        <source>monmap epoch</source>\n        <target>monmap epoch</target>\n      </trans-unit>\n      <trans-unit id="bd4ee06ffdc46d9dfbd0c0c4f81399021c680056" datatype="html">\n        <source>quorum con</source>\n        <target>kuorum con</target>\n      </trans-unit>\n      <trans-unit id="1176c7db8a8276ccb44cc3d42e2c28d9fa6c6596" datatype="html">\n        <source>quorum mon</source>\n        <target>kuorum mon</target>\n      </trans-unit>\n      <trans-unit id="530ef677a09d681b3ab68cb0760494b3ae72a77c" datatype="html">\n        <source>required con</source>\n        <target>con yang dibutuhkan</target>\n      </trans-unit>\n      <trans-unit id="a91558e0d506c32021c31843f8f168899fc65cbf" datatype="html">\n        <source>required mon</source>\n        <target>mon yang dibutuhkan</target>\n      </trans-unit>\n      <trans-unit id="b3abe9eac5bcd94a54c8da93b312e085ec512e74" datatype="html">\n        <source>In Quorum</source>\n        <target>Memenuhi Kuorum</target>\n      </trans-unit>\n      <trans-unit id="ba4b748a676e1f217ce1e736fb7ec1215e677bae" datatype="html">\n        <source>Not In Quorum</source>\n        <target>Tidak dalam Kuorum</target>\n      </trans-unit>\n      <trans-unit id="4383e9662ea19839c7499b2128d43a195e564317" datatype="html">\n        <source>OSD creation preview</source>\n        <target>OSD creation preview</target>\n      </trans-unit>\n      <trans-unit id="366225c51e0b00bcb1c55795a0dc5e81c455f84e" datatype="html">\n        <source>DriveGroups</source>\n        <target>DriveGroups</target>\n      </trans-unit>\n      <trans-unit id="8edc89137d0d8c5667a2f03230beafae45e58429" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ deviceType }}"/> devices\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ deviceType }}"/> devices\n        </target>\n      </trans-unit>\n      <trans-unit id="eba28e1805b18f7c8ae2e4bc15dcf063b10b3822" datatype="html">\n        <source>At least one of these filters must be applied in order to proceed:</source>\n        <target>At least one of these filters must be applied in order to proceed:</target>\n      </trans-unit>\n      <trans-unit id="93389aa2fe2bea50bf89554ee51b28f87ee2fb50" datatype="html">\n        <source>Number of devices: \n          <x id="INTERPOLATION" equiv-text="{{ filteredDevices.length }}"/>. Raw capacity:\n          <x id="INTERPOLATION_1" equiv-text="{{ capacity | dimlessBinary }}"/>.\n        </source>\n        <target>Number of devices: \n          <x id="INTERPOLATION" equiv-text="{{ filteredDevices.length }}"/>. Raw capacity:\n          <x id="INTERPOLATION_1" equiv-text="{{ capacity | dimlessBinary }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="ccb4f84edc0b4e76415bb3f9b73d725b06683af3" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ name }}"/> devices\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ name }}"/> devices\n        </target>\n      </trans-unit>\n      <trans-unit id="60cb3d01e5ddf266ecb4271007a1c3d0f3efdc22" datatype="html">\n        <source>The primary storage devices. These devices contain all OSD data.</source>\n        <target>The primary storage devices. These devices contain all OSD data.</target>\n      </trans-unit>\n      <trans-unit id="b432e04886d0d1fd84f740477383051f85addcf2" datatype="html">\n        <source>Write-Ahead-Log devices. These devices are used for BlueStore’s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device.</source>\n        <target>Write-Ahead-Log devices. These devices are used for BlueStore’s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device.</target>\n      </trans-unit>\n      <trans-unit id="b87e181ab9e8393aa5ed759dd3d53836e32c8ffe" datatype="html">\n        <source>DB devices can be used for storing BlueStore’s internal metadata.  It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD).</source>\n        <target>DB devices can be used for storing BlueStore’s internal metadata.  It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD).</target>\n      </trans-unit>\n      <trans-unit id="f6755cff4957d5c3c89bafce5651f1b6fa2b1fd9" datatype="html">\n        <source>Add</source>\n        <target>Tambah</target>\n      </trans-unit>\n      <trans-unit id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46" datatype="html">\n        <source>Clear</source>\n        <target>Clear</target>\n      </trans-unit>\n      <trans-unit id="7e0fd3c7af0630f93befa6234a693a32a61084e0" datatype="html">\n        <source>Raw capacity: \n          <x id="INTERPOLATION" equiv-text="{{ capacity | dimlessBinary }}"/>\n        </source>\n        <target>Raw capacity: \n          <x id="INTERPOLATION" equiv-text="{{ capacity | dimlessBinary }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="43ecf6bee2aebc07b0aad6dc1fe13e38d14687fa" datatype="html">\n        <source>Shared devices</source>\n        <target>Shared devices</target>\n      </trans-unit>\n      <trans-unit id="7a1c376f6f1b37de4c318ff2106255ba6c0f5b0b" datatype="html">\n        <source>WAL slots</source>\n        <target>WAL slots</target>\n      </trans-unit>\n      <trans-unit id="73811a6f37b63e6b0e491e221bfa21e9dea8a87a" datatype="html">\n        <source>How many OSDs per WAL device.</source>\n        <target>How many OSDs per WAL device.</target>\n      </trans-unit>\n      <trans-unit id="0c67a7ac4762ef1cc855056c6b4daab93e53a0a5" datatype="html">\n        <source>Specify 0 to let Orchestrator backend decide it.</source>\n        <target>Specify 0 to let Orchestrator backend decide it.</target>\n      </trans-unit>\n      <trans-unit id="7bda9362e06e6c67341b4a8425b0d29d6b84464b" datatype="html">\n        <source>Value should be greater than or equal to 0</source>\n        <target>Value should be greater than or equal to 0</target>\n      </trans-unit>\n      <trans-unit id="324c2b10152b9dd908222bb0b71f61beb60a30c5" datatype="html">\n        <source>DB slots</source>\n        <target>DB slots</target>\n      </trans-unit>\n      <trans-unit id="c23cf12ef9c76f37fc7a4b7ae3e00fb0f68b6e26" datatype="html">\n        <source>How many OSDs per DB device.</source>\n        <target>How many OSDs per DB device.</target>\n      </trans-unit>\n      <trans-unit id="6cdb1fea93d77c07950c0c76c6e0ad79ebbef084" datatype="html">\n        <source>Features</source>\n        <target>Fitur</target>\n      </trans-unit>\n      <trans-unit id="3e2a583f531f7dd9f089f68a6968e444c372c3e8" datatype="html">\n        <source>Preview</source>\n        <target>Preview</target>\n      </trans-unit>\n      <trans-unit id="5ef50ba2514414f799d4c8fc36067a251904ba81" datatype="html">\n        <source>Cluster-wide OSD Flags</source>\n        <target>Flag OSD Klaster</target>\n      </trans-unit>\n      <trans-unit id="71c77bb8cecdf11ec3eead24dd1ba506573fa9cd" datatype="html">\n        <source>Submit</source>\n        <target>Kirim</target>\n      </trans-unit>\n      <trans-unit id="1cfe07dac5b4ee1c464eb24225ddeb4f1d24076a" datatype="html">\n        <source>Advanced...</source>\n        <target>Tingkat lanjut...</target>\n      </trans-unit>\n      <trans-unit id="b1ef1c12ddcee305353623919ef02778569f5454" datatype="html">\n        <source>Advanced configuration options</source>\n        <target>Advanced configuration options</target>\n      </trans-unit>\n      <trans-unit id="c35f9c5f268a514b970cc55e9a5dc4bed0988e7f" datatype="html">\n        <source>OSD Recovery Priority</source>\n        <target>Prioritas pemulihan OSD</target>\n      </trans-unit>\n      <trans-unit id="b74af38005e8a8914e45af2ec412e11ceafef8b6" datatype="html">\n        <source>Priority</source>\n        <target>Prioritas</target>\n      </trans-unit>\n      <trans-unit id="c2f48f04b379bfba133825747adfd238d511412e" datatype="html">\n        <source>Customize priority values</source>\n        <target>Ubah nilai prioritas</target>\n      </trans-unit>\n      <trans-unit id="4aa19de2a2b54cbda39e9c62917b23044c087776" datatype="html">\n        <source>This field is required!</source>\n        <target>Isian ini harus diisi!</target>\n      </trans-unit>\n      <trans-unit id="b699e94bf376491bd50b70a98531071c737eaf40" datatype="html">\n        <source>[object Object]</source>\n        <target>[object Object]</target>\n      </trans-unit>\n      <trans-unit id="98fe13e7ad6c2b80375d204b47858ded83f80e15" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="5423a3c111be47fc5a1bfe46ceb58c81c84db691" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="5251a4355cece3075db43f15d69a24a0f8485707" datatype="html">\n        <source>Reweight OSD: \n          <x id="INTERPOLATION" equiv-text="{{ osdId }}"/>\n        </source>\n        <target>Reweight OSD: \n          <x id="INTERPOLATION" equiv-text="{{ osdId }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="67650b2998db48201b2c6176cbfef51e7211ccaa" datatype="html">\n        <source>The value needs to be between 0 and 1.</source>\n        <target>Nilai harus antara 0 dan 1.</target>\n      </trans-unit>\n      <trans-unit id="bc11f92113d678a90e334fdf3d7b3fddbe34c579" datatype="html">\n        <source>Reweight</source>\n        <target>Ubah bobot</target>\n      </trans-unit>\n      <trans-unit id="d5ca5daf742023fc4f0919fb3c1c6a51991cda4f" datatype="html">\n        <source>OSDs \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>Scrub\n        </source>\n        <target>OSDs \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>Scrub\n        </target>\n      </trans-unit>\n      <trans-unit id="4c17d67c7c5799eb920030e9a399961e90f55dd8" datatype="html">\n        <source>{VAR_SELECT, select, 1 {Deep } }</source>\n        <target>{VAR_SELECT, select, 1 {Dalam } }</target>\n      </trans-unit>\n      <trans-unit id="fd0a4b6eed32e3488eccdc9c13f9841f08cc275e" datatype="html">\n        <source>You are about to apply a \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to\n          the OSD(s): \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ selected | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.\n        </source>\n        <target>You are about to apply a \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to\n          the OSD(s): \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ selected | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="dc6705f342a036b332c3fd3443201c3613e5524d" datatype="html">\n        <source>{VAR_SELECT, select, 1 {deep } }</source>\n        <target>{VAR_SELECT, select, 1 {dalam } }</target>\n      </trans-unit>\n      <trans-unit id="b49d7877d24112d4bdfce9256edf61a007fae888" datatype="html">\n        <source>OSDs List</source>\n        <target>Daftar OSD</target>\n      </trans-unit>\n      <trans-unit id="d5707a32ba9c1138e6423498fb0b24e970ebd19f" datatype="html">\n        <source>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) \n          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </source>\n        <target>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) \n          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </target>\n      </trans-unit>\n      <trans-unit id="d08c1e4f17dffc0ed1ac2e2e2875cb8b569eeb35" datatype="html">\n        <source>The \n          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to be \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>! \n          <x id="INTERPOLATION_1" equiv-text="{{ message }}"/>\n        </source>\n        <target>The \n          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to be \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>! \n          <x id="INTERPOLATION_1" equiv-text="{{ message }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="e776996dac651ef3819bfa767ccf2a0613759f47" datatype="html">\n        <source>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</source>\n        <target>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</target>\n      </trans-unit>\n      <trans-unit id="5cd6a031937412c42e5efa1e6959cb72ac08c720" datatype="html">\n        <source>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD \n          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </source>\n        <target>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD \n          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </target>\n      </trans-unit>\n      <trans-unit id="3eda19b44809820fffd5d3753bafb7243116f4b0" datatype="html">\n        <source>To see all active Prometheus alerts, please\n      provide the URL to the API of Prometheus\' Alertmanager as described in the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </source>\n        <target>To see all active Prometheus alerts, please\n      provide the URL to the API of Prometheus\' Alertmanager as described in the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="880ad4df5a2051a437321443d69c9a866699e5ad" datatype="html">\n        <source>Active Alerts</source>\n        <target>Active Alerts</target>\n      </trans-unit>\n      <trans-unit id="8e5e0e09a11990d343926ed693574213d703c38d" datatype="html">\n        <source>All Alerts</source>\n        <target>All Alerts</target>\n      </trans-unit>\n      <trans-unit id="526938c2b7945cb0d68328c24bd77730230cd455" datatype="html">\n        <source>To enable Silences, please provide the URL to the API of the Prometheus\' Alertmanager as\n      described in the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </source>\n        <target>To enable Silences, please provide the URL to the API of the Prometheus\' Alertmanager as\n      described in the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="aa0c44aa1e5727061baa91e954f77e2f5f9a37c9" datatype="html">\n        <source>Silences</source>\n        <target>Silences</target>\n      </trans-unit>\n      <trans-unit id="8501055865d7031b5521a0c5467532648009a61d" datatype="html">\n        <source>Matcher</source>\n        <target>Matcher</target>\n      </trans-unit>\n      <trans-unit id="9c25e04f554875dc2625a78ba0fc56c6010cd0d3" datatype="html">\n        <source>-- Select an attribute to match against --</source>\n        <target>-- Select an attribute to match against --</target>\n      </trans-unit>\n      <trans-unit id="5049e204c14c648691ac775a64fb504467aeb549" datatype="html">\n        <source>Value</source>\n        <target>Nilai</target>\n      </trans-unit>\n      <trans-unit id="77fc5c63497fc031ddc97645484e3d94ad27766c" datatype="html">\n        <source>Use regular expression</source>\n        <target>Use regular expression</target>\n      </trans-unit>\n      <trans-unit id="7bbec1a797283712c0adf9e71d77fb5a8cd720db" datatype="html">\n        <source>{VAR_SELECT, select, 1 {Update} other {Add} }</source>\n        <target>{VAR_SELECT, select, 1 {Update} other {Add} }</target>\n      </trans-unit>\n      <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c" datatype="html">\n        <source>Edit</source>\n        <target>Edit</target>\n      </trans-unit>\n      <trans-unit id="826b25211922a1b46436589233cb6f1a163d89b7" datatype="html">\n        <source>Delete</source>\n        <target>Hapus</target>\n      </trans-unit>\n      <trans-unit id="a3ba06aba047605af8ea1718ec1ba153b7db12a2" datatype="html">\n        <source>Editing a silence will expire the old silence and recreate it as a new silence</source>\n        <target>Editing a silence will expire the old silence and recreate it as a new silence</target>\n      </trans-unit>\n      <trans-unit id="a20424156b8816671f61879f0574a4f27d7b16b9" datatype="html">\n        <source>Creator</source>\n        <target>Creator</target>\n      </trans-unit>\n      <trans-unit id="5a5d7ee2acbfa9c91ab7f41d26bda9ff0cafe42f" datatype="html">\n        <source>Comment</source>\n        <target>Comment</target>\n      </trans-unit>\n      <trans-unit id="4c11aad490b2d53fdae30b3807beabf79306752c" datatype="html">\n        <source>Start time</source>\n        <target>Start time</target>\n      </trans-unit>\n      <trans-unit id="32856b1e8e339b747b21e313e2fe65a51fd450bb" datatype="html">\n        <source>If the start time lies in the past the creation time will be used</source>\n        <target>If the start time lies in the past the creation time will be used</target>\n      </trans-unit>\n      <trans-unit id="a02ea1d4e7424ca989929da5e598f379940fdbf2" datatype="html">\n        <source>Duration</source>\n        <target>Duration</target>\n      </trans-unit>\n      <trans-unit id="2f4e35e36f4d3c62e2c17df41730b6dee4afc4b9" datatype="html">\n        <source>End time</source>\n        <target>End time</target>\n      </trans-unit>\n      <trans-unit id="992123459137d45c15df5548bc9682aad835c04b" datatype="html">\n        <source>Matchers</source>\n        <target>Matchers</target>\n      </trans-unit>\n      <trans-unit id="3e023166c55833d5a13f4143e3dbe372befe1b4e" datatype="html">\n        <source>A silence requires at least one matcher</source>\n        <target>A silence requires at least one matcher</target>\n      </trans-unit>\n      <trans-unit id="ef765bd80c4806c51c891908c07a24bc76f019eb" datatype="html">\n        <source>Add matcher</source>\n        <target>Add matcher</target>\n      </trans-unit>\n      <trans-unit id="d2bcd3296d2850de762fb943060b7e086a893181" datatype="html">\n        <source>Health</source>\n        <target>Kesehatan</target>\n      </trans-unit>\n      <trans-unit id="61e0f26d843eec0b33ff475e111b0c2f7a80b835" datatype="html">\n        <source>Statistics</source>\n        <target>Statistik </target>\n      </trans-unit>\n      <trans-unit id="f8f74e5f683012b9c0702b1446011c6b9158bc67" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the NFS Ganesha management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the NFS Ganesha management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="7ffe39df9d88c972792bd8688b215392deb8313d" datatype="html">\n        <source>Clients</source>\n        <target>Klien</target>\n      </trans-unit>\n      <trans-unit id="f2dae0bda66f6a349444951c0379c28cda47d6d1" datatype="html">\n        <source>Any client can access</source>\n        <target>Semua klien dapat mengakses</target>\n      </trans-unit>\n      <trans-unit id="7882f2edb1d4139800b276b6b0bbf5ae0b2234ef" datatype="html">\n        <source>Addresses</source>\n        <target>Alamat</target>\n      </trans-unit>\n      <trans-unit id="9bd96fcf50863e685c74d0490392f46689ffbdb6" datatype="html">\n        <source>Required field</source>\n        <target>Wajib diisi</target>\n      </trans-unit>\n      <trans-unit id="a5f3f74c0f6925826cb2188576391c0da01a23f0" datatype="html">\n        <source>Must contain one or more comma-separated values</source>\n        <target>Harus mengandung satu atau lebih nilai yang dipisahkan koma</target>\n      </trans-unit>\n      <trans-unit id="8bb5b2073697f3f4378c44a49b7524934c9268f4" datatype="html">\n        <source>For example:</source>\n        <target>Contoh:</target>\n      </trans-unit>\n      <trans-unit id="8f969c655b3fbe4fba7e277caf4cd2c459f9fca5" datatype="html">\n        <source>Access Type</source>\n        <target>Tipe Akses</target>\n      </trans-unit>\n      <trans-unit id="28952831a284cfe2b4fc39ca610e80b52598905a" datatype="html">\n        <source>Squash</source>\n        <target>Squash</target>\n      </trans-unit>\n      <trans-unit id="0660ae339068979854ade34a96546980723dede3" datatype="html">\n        <source>Add clients</source>\n        <target>Tambah klien</target>\n      </trans-unit>\n      <trans-unit id="135b91a2d908d5814b782695470a6a786c99d9d2" datatype="html">\n        <source>-- No cluster available --</source>\n        <target>-- Klaster tidak tersedia --</target>\n      </trans-unit>\n      <trans-unit id="c501dba379f566885919240ea277b5bc10c14d18" datatype="html">\n        <source>-- Select the cluster --</source>\n        <target>-- Pilih klaster --</target>\n      </trans-unit>\n      <trans-unit id="cf85b1ee58326aa9da63da41b2629c9db7c9a5b9" datatype="html">\n        <source>Add daemon</source>\n        <target>Tambah daemon</target>\n      </trans-unit>\n      <trans-unit id="b3f6ba7fe84d6508705cdfe234f0fcc8ff85c9cf" datatype="html">\n        <source>Storage Backend</source>\n        <target>Backend Penyimpanan</target>\n      </trans-unit>\n      <trans-unit id="151c80ea931037cd92e854442927f8a0f6ae7795" datatype="html">\n        <source>-- No data pools available --</source>\n        <target>-- Tidak ada pool data tersedia --</target>\n      </trans-unit>\n      <trans-unit id="b6fee356d1db954255a56d8169405a89595246b9" datatype="html">\n        <source>-- Select the storage backend --</source>\n        <target>-- Pilih backend penyimpanan --</target>\n      </trans-unit>\n      <trans-unit id="76d67035c3ab3d8e56f725859f820f03fda41cfc" datatype="html">\n        <source>Object Gateway User</source>\n        <target>Pengguna Gerbang Objek</target>\n      </trans-unit>\n      <trans-unit id="fade7788bace74337f306ae209f10fc187ef4671" datatype="html">\n        <source>-- No users available --</source>\n        <target>-- Pengguna tidak tersedia --</target>\n      </trans-unit>\n      <trans-unit id="6d30b7b36cf8f6364167321bdb4ba35d4cefce7b" datatype="html">\n        <source>-- Select the object gateway user --</source>\n        <target>-- Pilih pengguna gerbang objek --</target>\n      </trans-unit>\n      <trans-unit id="589ce20d3ba3e3ac44f75decfaadc4ea8f0aec2d" datatype="html">\n        <source>CephFS User ID</source>\n        <target>ID Pengguna CephFS</target>\n      </trans-unit>\n      <trans-unit id="c4b88a53ac3b0ece46ba9b3ad72355a3c190cce7" datatype="html">\n        <source>-- No clients available --</source>\n        <target>-- Klien tidak tersedia --</target>\n      </trans-unit>\n      <trans-unit id="da52835b80497a0002d24414b057dc46ae44ce38" datatype="html">\n        <source>-- Select the cephx client --</source>\n        <target>-- Pilih klien cephx --</target>\n      </trans-unit>\n      <trans-unit id="fd3419e8957d928d7f7ba19c93356a0dbff02871" datatype="html">\n        <source>CephFS Name</source>\n        <target>Nama CephFS</target>\n      </trans-unit>\n      <trans-unit id="ee3ba0ab5f0ccd597b3e44021c71e9aaad14df0a" datatype="html">\n        <source>-- No CephFS filesystem available --</source>\n        <target>-- No CephFS filesystem available --</target>\n      </trans-unit>\n      <trans-unit id="764c57812558b1ae66c5eec95d7efd2b1bf761e3" datatype="html">\n        <source>-- Select the CephFS filesystem --</source>\n        <target>-- Select the CephFS filesystem --</target>\n      </trans-unit>\n      <trans-unit id="957512d0321f73e9f115bce1bd823fa635170c41" datatype="html">\n        <source>Security Label</source>\n        <target>Label Keamanan</target>\n      </trans-unit>\n      <trans-unit id="65ce0fa4da1ed55e658aeb31d1644a29f06bb342" datatype="html">\n        <source>Enable security label</source>\n        <target>Aktifkan label keamanan</target>\n      </trans-unit>\n      <trans-unit id="7e808f804130c7b6ff719509cbc06ebb27393a48" datatype="html">\n        <source>CephFS Path</source>\n        <target>CephFS Path</target>\n      </trans-unit>\n      <trans-unit id="5ecc0107badb6625466aaa3f975b5c05276f432f" datatype="html">\n        <source>Path need to start with a \'/\' and can be followed by a word</source>\n        <target>Lintasan atau path harus dimulai dengan \'/\' dan diikuti dengan kata</target>\n      </trans-unit>\n      <trans-unit id="2d02916f44fc63e13ab16d1cbe72aa6cb51feab3" datatype="html">\n        <source>New directory will be created</source>\n        <target>Direktori baru akan dibuat</target>\n      </trans-unit>\n      <trans-unit id="766c66ad5cc981c531aaf3fe3a2a7a346ddc8d83" datatype="html">\n        <source>Path</source>\n        <target>Path</target>\n      </trans-unit>\n      <trans-unit id="7ec35c722a50b976620f22612f7be619c12ceb90" datatype="html">\n        <source>Path can only be a single \'/\' or a word</source>\n        <target>Path hanya boleh berupa \'/\' atau kata</target>\n      </trans-unit>\n      <trans-unit id="aebb6a5090c24511de4530195694bb3f3dcf0342" datatype="html">\n        <source>New bucket will be created</source>\n        <target>Buket baru akan dibuat</target>\n      </trans-unit>\n      <trans-unit id="bee6900143996c0e908a10564532eba3da0b30fb" datatype="html">\n        <source>NFS Protocol</source>\n        <target>Protokol NFS</target>\n      </trans-unit>\n      <trans-unit id="2f534178c01ebf1307da2eaeef04bc6801ebc729" datatype="html">\n        <source>NFSv3</source>\n        <target>NFSv3</target>\n      </trans-unit>\n      <trans-unit id="f5043c0921e709935ab026bb3253ffe1f159fca1" datatype="html">\n        <source>NFSv4</source>\n        <target>NFSv4</target>\n      </trans-unit>\n      <trans-unit id="92488963d23095985a47c0d6e62304e11d333f19" datatype="html">\n        <source>NFS Tag</source>\n        <target>Tag NFS</target>\n      </trans-unit>\n      <trans-unit id="aae93362720aea94623682996dd3fcd0f906f056" datatype="html">\n        <source>Alternative access for \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v3\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> mounts (it must not have a leading /).\n        </source>\n        <target>Alternative access for \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v3\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> mounts (it must not have a leading /).\n        </target>\n      </trans-unit>\n      <trans-unit id="45d6db77dcf1a3eeb921033abc7882e517a541cc" datatype="html">\n        <source>Clients may not mount subdirectories (i.e. if Tag = foo, the client may not mount foo/baz).</source>\n        <target>Klien mungkin tidak dapat mount subdirektori (cth. jika Tag = foo, klien mungkin tidak bisa mount foo/baz).</target>\n      </trans-unit>\n      <trans-unit id="a1c7a8676b55e882a97c6a6fb205204f9c761afa" datatype="html">\n        <source>By using different Tag options, the same Path may be exported multiple times.</source>\n        <target>Dengan menggunakan opsi Tag yang berbeda, Path yang sama akan diekspor beberapa kali.</target>\n      </trans-unit>\n      <trans-unit id="6d2c39708a32910f89701dd7e1cfb9ec1c195768" datatype="html">\n        <source>Pseudo</source>\n        <target>Pseudo</target>\n      </trans-unit>\n      <trans-unit id="1f8be2ae25947bec0b84c2338201580ea053f34e" datatype="html">\n        <source>The position that this \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v4\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> export occupies\n                in the \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>Pseudo FS\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> (it must be unique).\n        </source>\n        <target>The position that this \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v4\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> export occupies\n                in the \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>Pseudo FS\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> (it must be unique).\n        </target>\n      </trans-unit>\n      <trans-unit id="f3af55f7fd5b1d9e5a53e030c80116dc635bfb9f" datatype="html">\n        <source>By using different Pseudo options, the same Path may be exported multiple times.</source>\n        <target>Dengan menggunakan opsi Pseudo yang berbeda, Path yang sama akan diekspor beberapa kali.</target>\n      </trans-unit>\n      <trans-unit id="ddf98fcdeeb17643db020d54f42b5e56b5f9a52a" datatype="html">\n        <source>Pseudo needs to start with a \'/\' and can\'t contain any of the following: &gt;, &lt;, |, &amp;, ( or ).</source>\n        <target>Pseudo needs to start with a \'/\' and can\'t contain any of the following: &gt;, &lt;, |, &amp;, ( or ).</target>\n      </trans-unit>\n      <trans-unit id="27eb35c4b4ac08781a7253a2ab40f8f7d957ba51" datatype="html">\n        <source>-- No access type available --</source>\n        <target>-- Tipe akses tidak tersedia --</target>\n      </trans-unit>\n      <trans-unit id="509ce016c9110a54028dafd741f15ceacbe74b5a" datatype="html">\n        <source>-- Select the access type --</source>\n        <target>-- Pilih tipe akses --</target>\n      </trans-unit>\n      <trans-unit id="49850390a653cd05dc5843d74ef073a9122b54c9" datatype="html">\n        <source>The Object Gateway NFS backend has a number of\n              limitations which will seriously affect applications writing to\n              the share. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for details before enabling write access.\n        </source>\n        <target>The Object Gateway NFS backend has a number of\n              limitations which will seriously affect applications writing to\n              the share. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for details before enabling write access.\n        </target>\n      </trans-unit>\n      <trans-unit id="4deda03573eaaff77e63f6a238a1f0ca7816950a" datatype="html">\n        <source>-- No squash available --</source>\n        <target>-- Squash tidak tersedia --</target>\n      </trans-unit>\n      <trans-unit id="a0e82a4da88e7fdf270444f838d45849676e9d4b" datatype="html">\n        <source>--Select what kind of user id squashing is performed --</source>\n        <target>-- Pilih jenis squashing id pengguna yang akan dilakukan --</target>\n      </trans-unit>\n      <trans-unit id="d01b7c3f7f06712c53d054cfbe4f53d446b038e8" datatype="html">\n        <source>Transport Protocol</source>\n        <target>Protokol Transport</target>\n      </trans-unit>\n      <trans-unit id="d2a6ad6e8bc315f07911722c05767ac79c136d99" datatype="html">\n        <source>UDP</source>\n        <target>UDP</target>\n      </trans-unit>\n      <trans-unit id="9c030f11e0aae9b24d2c048c57f29f590be621df" datatype="html">\n        <source>TCP</source>\n        <target>TCP</target>\n      </trans-unit>\n      <trans-unit id="734c9905951a774870497c5aaae8e3ee833b6196" datatype="html">\n        <source>CephFS</source>\n        <target>CephFS</target>\n      </trans-unit>\n      <trans-unit id="0eb15f32b2b92d7f3103ef3ff032621888a8dc32" datatype="html">\n        <source>Old password</source>\n        <target>Old password</target>\n      </trans-unit>\n      <trans-unit id="1cf42e491adc166a337a960eb84d03c0c3f677c8" datatype="html">\n        <source>The old and new passwords must be different.</source>\n        <target>The old and new passwords must be different.</target>\n      </trans-unit>\n      <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229" datatype="html">\n        <source>New password</source>\n        <target>New password</target>\n      </trans-unit>\n      <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b" datatype="html">\n        <source>Confirm new password</source>\n        <target>Confirm new password</target>\n      </trans-unit>\n      <trans-unit id="90163a3d3746819aef42e829f4446331232f3b66" datatype="html">\n        <source>Password confirmation doesn\'t match the new password.</source>\n        <target>Password confirmation doesn\'t match the new password.</target>\n      </trans-unit>\n      <trans-unit id="d06ae77f9ec46a4cdd49e7e76c73a411aaf2ee38" datatype="html">\n        <source>Please set a new password.</source>\n        <target>Please set a new password.</target>\n      </trans-unit>\n      <trans-unit id="8b5b3566e88438f51bd5f6caf6c090ed565ba5ed" datatype="html">\n        <source>You will be redirected to the login page afterwards.</source>\n        <target>You will be redirected to the login page afterwards.</target>\n      </trans-unit>\n      <trans-unit id="449dca3d3a93ead418b0541ea81b0dda7e6483c2" datatype="html">\n        <source>Welcome to Ceph!</source>\n        <target>Selamat datang di Ceph!</target>\n        <note>The welcome message on the login page</note>\n      </trans-unit>\n      <trans-unit id="0070e83d11da39d6f4bb95065c2675db1610b419" datatype="html">\n        <source>Username is required</source>\n        <target>Nama pengguna harus diisi</target>\n      </trans-unit>\n      <trans-unit id="1e20f8b8a4706526c9024cc2f39d568345d100dc" datatype="html">\n        <source>Password is required</source>\n        <target>Kata sandi harus diisi</target>\n      </trans-unit>\n      <trans-unit id="6765b4c916060f6bc42d9bb69e80377dbcb5e4e9" datatype="html">\n        <source>Login</source>\n        <target>Masuk</target>\n      </trans-unit>\n      <trans-unit id="58fc1b5c79a75370eb52644fd83fb2e7096b6649" datatype="html">\n        <source>Sorry, the user does not exist in Ceph.</source>\n        <target>Maaf, pengguna tidak terdaftar di Ceph.</target>\n      </trans-unit>\n      <trans-unit id="d9deb94f78e7c41b35c6622b874f06657d7604c1" datatype="html">\n        <source>Return to \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Login Page\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You\'ll be logged out from the Identity Provider when you retry logging in.\n        </source>\n        <target>Return to \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Login Page\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You\'ll be logged out from the Identity Provider when you retry logging in.\n        </target>\n      </trans-unit>\n      <trans-unit id="471e78026c258073ba687478dc54c35d9041ea42" datatype="html">\n        <source>Forbidden</source>\n        <target>Terlarang</target>\n      </trans-unit>\n      <trans-unit id="02ea8ad57677e3c63f3d7814ca5e6c7b74e360b4" datatype="html">\n        <source>Sorry, you are not allowed to see what you were looking for.</source>\n        <target>Maaf, Anda tidak dizinkan melihat hal yang Anda inginkan.</target>\n      </trans-unit>\n      <trans-unit id="2240b985f17293d84cc8532fe86994aa5f63667c" datatype="html">\n        <source>Sorry, we could not find what you were looking for.</source>\n        <target>Sorry, we could not find what you were looking for.</target>\n      </trans-unit>\n      <trans-unit id="ac54c18c1b520e948095c83a3a1025f02ce6dcc6" datatype="html">\n        <source>Neither hostname nor OSD ID given</source>\n        <target>Neither hostname nor OSD ID given</target>\n      </trans-unit>\n      <trans-unit id="4f635b3cb0600409a2ad44a5bd1863c699e6a01c" datatype="html">\n        <source>Failed to retrieve SMART data.</source>\n        <target>Failed to retrieve SMART data.</target>\n      </trans-unit>\n      <trans-unit id="d82a9af5b05e7cd17640f196f163771685ff8df6" datatype="html">\n        <source>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</source>\n        <target>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</target>\n      </trans-unit>\n      <trans-unit id="04f8a3c7e8ac610e6581960162cc15f55a16696a" datatype="html">\n        <source>No SMART data available.</source>\n        <target>No SMART data available.</target>\n      </trans-unit>\n      <trans-unit id="3a03d3c2e459f8f8fa7202c0fce465d6165f9e2b" datatype="html">\n        <source>passed</source>\n        <target>passed</target>\n      </trans-unit>\n      <trans-unit id="a185c9b97513b3882604ea9bab60edbfac945c15" datatype="html">\n        <source>SMART overall-health self-assessment test result</source>\n        <target>SMART overall-health self-assessment test result</target>\n      </trans-unit>\n      <trans-unit id="41435d5a5692c8e412c74deaee95d99dbd3617e1" datatype="html">\n        <source>failed</source>\n        <target>failed</target>\n      </trans-unit>\n      <trans-unit id="ddd5dd6d930030096ea617f62c82b648a0dd9484" datatype="html">\n        <source>Device Information</source>\n        <target>Device Information</target>\n      </trans-unit>\n      <trans-unit id="380295f37caea93701d071485a38ef0bdba57133" datatype="html">\n        <source>No SMART data available for this device.</source>\n        <target>No SMART data available for this device.</target>\n      </trans-unit>\n      <trans-unit id="20cb12827cbe559a7b1da6fdae96041b3b5c3c55" datatype="html">\n        <source>SMART</source>\n        <target>SMART</target>\n      </trans-unit>\n      <trans-unit id="5758c3f16f8749f0f4e2a787f02e8b4da246102f" datatype="html">\n        <source>SMART data is loading.</source>\n        <target>SMART data is loading.</target>\n      </trans-unit>\n      <trans-unit id="a949d7e577902d0e5dc5d0971bb0170a21be7728" datatype="html">\n        <source>[object Object]</source>\n        <target>[object Object]</target>\n      </trans-unit>\n      <trans-unit id="ff92fbdec9fdd5054493eeda0d7ee8b450f83e72" datatype="html">\n        <source>RBD Configuration</source>\n        <target>Konfigurasi RBD</target>\n      </trans-unit>\n      <trans-unit id="b62d9efc8eb3b589904f6cb96a0406bbda55673a" datatype="html">\n        <source>Remove the local configuration value. The parent configuration value will be inherited and used instead.</source>\n        <target>Menghapus nilai konfigurasi lokal. Nilai konfigurasi induk akan diturun dan digunakan.</target>\n      </trans-unit>\n      <trans-unit id="963488a1010d46067b238c4ae917fab3907c0a3a" datatype="html">\n        <source>The mininum value is 0</source>\n        <target>Nilai minimum adalah 0</target>\n      </trans-unit>\n      <trans-unit id="1d8a7c8aea58294a3c57c23af0468ddf0ba0c9c7" datatype="html">\n        <source>Pools List</source>\n        <target>Daftar pool</target>\n      </trans-unit>\n      <trans-unit id="490e15ecc922965b6d8194754c87c5583aa071f3" datatype="html">\n        <source>The name can only consist of alphanumeric characters, dashes and underscores.</source>\n        <target>Nama hanya boleh terdiri dari alfanumerik, tanda hubung, dan garis bawah.</target>\n      </trans-unit>\n      <trans-unit id="9edc2b494e660618af3e5225f68d40b7ca67629c" datatype="html">\n        <source>The chosen erasure code profile name is already in use.</source>\n        <target>Nama profil erasure code sudah digunakan.</target>\n      </trans-unit>\n      <trans-unit id="35a4206db3105ed03e0dd799e1642b75b78123e8" datatype="html">\n        <source>Root</source>\n        <target>Root</target>\n      </trans-unit>\n      <trans-unit id="cf425784c7073c7e7f7c1bb90c2c19db7e751db2" datatype="html">\n        <source>Failure domain type</source>\n        <target>Failure domain type</target>\n      </trans-unit>\n      <trans-unit id="72396a9565cf644d1fe1b21b790c4243ee270986" datatype="html">\n        <source>Device class</source>\n        <target>Device class</target>\n      </trans-unit>\n      <trans-unit id="72d80e0c07bfea1b693a33ef2245007de92a6780" datatype="html">\n        <source>Let Ceph decide</source>\n        <target>Let Ceph decide</target>\n      </trans-unit>\n      <trans-unit id="ef9ff0e6227947b48dfab4ac39ade04af758913b" datatype="html">\n        <source>Plugin</source>\n        <target>Plugin</target>\n      </trans-unit>\n      <trans-unit id="dd69b31bce8f630eac1d4762b0bbcf72ce19d193" datatype="html">\n        <source>Data chunks (k)</source>\n        <target>Pecahan data (k)</target>\n      </trans-unit>\n      <trans-unit id="b0d26a6172d32cb81218fe2103c54a818cbc1189" datatype="html">\n        <source>Must be equal to or greater than 2.</source>\n        <target>Harus sama dengan atau lebih dari 2.</target>\n      </trans-unit>\n      <trans-unit id="dab3a299ead121169b8e08ed618c3b6a2f66691b" datatype="html">\n        <source>Coding chunks (m)</source>\n        <target>Pecahan Coding (m)</target>\n      </trans-unit>\n      <trans-unit id="1e2773e5bd4948193f18f2361d663ecc3988c656" datatype="html">\n        <source>Must be equal to or greater than 1.</source>\n        <target>Harus sama dengan atau lebih dari 1.</target>\n      </trans-unit>\n      <trans-unit id="6cde4c945a49a260c0a47bcc7cd956846930a5f7" datatype="html">\n        <source>Durability estimator (c)</source>\n        <target>Penduga daya tahan (c)</target>\n      </trans-unit>\n      <trans-unit id="af668c2a095a979ea2b4e43cd82c2120ab56c21c" datatype="html">\n        <source>Locality (l)</source>\n        <target>Lokalitas (l)</target>\n      </trans-unit>\n      <trans-unit id="d455a110bf6d2235e314e295ce1dfeee93d3dff2" datatype="html">\n        <source>Crush failure domain</source>\n        <target>Domain kegagalan Crush</target>\n      </trans-unit>\n      <trans-unit id="b74a495f041f7dd102eee5c0bbc9e03083b538ae" datatype="html">\n        <source>Crush Locality</source>\n        <target>Lokalitas Crush</target>\n      </trans-unit>\n      <trans-unit id="a2f14a73f7a6e94479f67423cc51102da8d6f524" datatype="html">\n        <source>None</source>\n        <target>Tidak ada</target>\n      </trans-unit>\n      <trans-unit id="2981733b912b693a9dd9d915d6d34f4692cc874a" datatype="html">\n        <source>Technique</source>\n        <target>Teknik</target>\n      </trans-unit>\n      <trans-unit id="e0098b6e47b04ec817361f384ce81d454ba5c0bb" datatype="html">\n        <source>Packetsize</source>\n        <target>Ukuran paket</target>\n      </trans-unit>\n      <trans-unit id="c0252cd81ca54d0a2f69ec9ccf4248e73df5aa4a" datatype="html">\n        <source>Crush root</source>\n        <target>Crush root</target>\n      </trans-unit>\n      <trans-unit id="1548d5c76f0406ddd1ba3c557e1e6db22e95b340" datatype="html">\n        <source>Crush device class</source>\n        <target>Kelas perangkat Crush</target>\n      </trans-unit>\n      <trans-unit id="5e85feb6f9f0334366e46ee09ca6b8df52397432" datatype="html">\n        <source>any</source>\n        <target>apa saja</target>\n      </trans-unit>\n      <trans-unit id="03d84645f6e019c5a43909bbf2ea1696ee88332c" datatype="html">\n        <source>Directory</source>\n        <target>Direktori</target>\n      </trans-unit>\n      <trans-unit id="2fecea01ce1d44114ee45144eff6d47a5016a74f" datatype="html">\n        <source>Name...</source>\n        <target>Nama...</target>\n      </trans-unit>\n      <trans-unit id="16e113230b6b0d3165e076300880542bac7c8138" datatype="html">\n        <source>The chosen Ceph pool name is already in use.</source>\n        <target>Nama pool Ceph yang dipilih sudah digunakan.</target>\n      </trans-unit>\n      <trans-unit id="c75b132bef7b29fa5171768303c4b96e34ccaf68" datatype="html">\n        <source>It\'s not possible to create an RBD pool with \'/\' in the name.\n              Please change the name or remove \'rbd\' from the applications list.</source>\n        <target>It\'s not possible to create an RBD pool with \'/\' in the name.\n              Please change the name or remove \'rbd\' from the applications list.</target>\n      </trans-unit>\n      <trans-unit id="171dc6d5c6bc4615d99778b0088cae80fd00bd10" datatype="html">\n        <source>Pool name can only contain letters, numbers, \'.\', \'-\', \'_\' or \'/\'.</source>\n        <target>Pool name can only contain letters, numbers, \'.\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="b85c657469e5ec8231c3de99b22f437bc01ffde5" datatype="html">\n        <source>Pool type</source>\n        <target>Jenis pool</target>\n      </trans-unit>\n      <trans-unit id="526c5443254c3b126eedb264840ffe827727bfd3" datatype="html">\n        <source>-- Select a pool type --</source>\n        <target>-- Pilih jenis pool --</target>\n      </trans-unit>\n      <trans-unit id="6abfbe47b630929d93c7343dc154599c2e59330a" datatype="html">\n        <source>PG Autoscale</source>\n        <target>PG Autoscale</target>\n      </trans-unit>\n      <trans-unit id="0aa21053410a94aa61d16985a4e95fd65523430d" datatype="html">\n        <source>Placement groups</source>\n        <target>Grup penempatan</target>\n      </trans-unit>\n      <trans-unit id="6301f1391d726f8f450bb358058534db19541ca9" datatype="html">\n        <source>At least one placement group is needed!</source>\n        <target>Dibutuhkan setidaknya satu grup penempatan!</target>\n      </trans-unit>\n      <trans-unit id="ba9469a1ce6ed36e039c1f67247c8c81a5c71449" datatype="html">\n        <source>Your cluster can\'t handle this many PGs. Please recalculate the PG amount needed.</source>\n        <target>Klaster Anda tidak dapat menangani PG sebanyak ini. Mohon hitung ulang jumlah PG yang dibutuhkan.</target>\n      </trans-unit>\n      <trans-unit id="80ac68cd883369dac20688bc32b4cb33291b5e50" datatype="html">\n        <source>Calculation help</source>\n        <target>Bantuan penghitungan</target>\n      </trans-unit>\n      <trans-unit id="fccbd60493df26705d957ed6c02a3c447894678f" datatype="html">\n        <source>The current PGs settings were calculated for you, you\n                should make sure the values suit your needs before submit.</source>\n        <target>The current PGs settings were calculated for you, you\n                should make sure the values suit your needs before submit.</target>\n      </trans-unit>\n      <trans-unit id="a43b2695131b48b76cebba676aba98a2bee17515" datatype="html">\n        <source>Replicated size</source>\n        <target>Jumlah replikasi</target>\n      </trans-unit>\n      <trans-unit id="7bff144a4c4dc63b0e18fff2617d61a7ebdf2b6c" datatype="html">\n        <source>Minimum: \n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/>\n        </source>\n        <target>Minimum: \n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="1a9c54b41f6d58a74e5d0aa3429ed0c87a482551" datatype="html">\n        <source>Maximum: \n          <x id="INTERPOLATION" equiv-text="{{ getMaxSize() }}"/>\n        </source>\n        <target>Maximum: \n          <x id="INTERPOLATION" equiv-text="{{ getMaxSize() }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6ab647b95bd2347ae6f4605576de5e0269fb893a" datatype="html">\n        <source>The size specified is out of range. A value from\n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/> to \n          <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.\n        </source>\n        <target>The size specified is out of range. A value from\n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/> to \n          <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.\n        </target>\n      </trans-unit>\n      <trans-unit id="920617c6a1a4805e53bcb5af6a9c76f8387e89c6" datatype="html">\n        <source>Flags</source>\n        <target>Flag</target>\n      </trans-unit>\n      <trans-unit id="1c870fb00256b8a5b9cb9cd1a124e6390b9bc639" datatype="html">\n        <source>EC Overwrites</source>\n        <target>EC Overwrites</target>\n      </trans-unit>\n      <trans-unit id="f1abafaeb40ce52355ddcc24686e3cd17b64e08a" datatype="html">\n        <source>Applications</source>\n        <target>Aplikasi</target>\n      </trans-unit>\n      <trans-unit id="fb9308b82fc183f710df60909f49cfc73aa5e076" datatype="html">\n        <source>CRUSH</source>\n        <target>CRUSH</target>\n      </trans-unit>\n      <trans-unit id="9de7dde00e2139cc4bd03b1837afbe72ad15a1ff" datatype="html">\n        <source>Erasure code profile</source>\n        <target>Profil erasure code</target>\n      </trans-unit>\n      <trans-unit id="39b4620e6bd444e0a57a0a5c03fa8c96d7fe5235" datatype="html">\n        <source>-- No erasure code profile available --</source>\n        <target>-- Tidak ada profil erasure code --</target>\n      </trans-unit>\n      <trans-unit id="498561757390d5528b263ce450d5f38efb00266d" datatype="html">\n        <source>-- Select an erasure code profile --</source>\n        <target>-- Pilih profil erasure code --</target>\n      </trans-unit>\n      <trans-unit id="33150f22ce5348aa6c499bd092c3f4f3695d62cc" datatype="html">\n        <source>Crush ruleset</source>\n        <target>Aturan CRUSH</target>\n      </trans-unit>\n      <trans-unit id="c69b0bcd4698aa845d32c4c4ad488492552cb469" datatype="html">\n        <source>A new crush ruleset will be implicitly created.</source>\n        <target>A new crush ruleset will be implicitly created.</target>\n      </trans-unit>\n      <trans-unit id="896e9987db5e9bb279e6deed5d2dff28c242ef66" datatype="html">\n        <source>There are no rules.</source>\n        <target>There are no rules.</target>\n      </trans-unit>\n      <trans-unit id="73a6b31116b3cc322af951daa0bafdc169e6c42e" datatype="html">\n        <source>-- Select a crush rule --</source>\n        <target>-- Pilih aturan crush --</target>\n      </trans-unit>\n      <trans-unit id="ea91d648f92002bc9f96d9b26b735c83ca0b53c6" datatype="html">\n        <source>This rule can\'t be deleted as it is in use.</source>\n        <target>This rule can\'t be deleted as it is in use.</target>\n      </trans-unit>\n      <trans-unit id="92da80699921e89fb19372e25b8d0f3b9fa427fc" datatype="html">\n        <source>Crush rule</source>\n        <target>Aturan crush</target>\n      </trans-unit>\n      <trans-unit id="5489e9f96835f469f6f728a00d8efa88ea5bc940" datatype="html">\n        <source>Crush steps</source>\n        <target>Crush steps</target>\n      </trans-unit>\n      <trans-unit id="fc5f5496a9e50fe69e1a09784f28d94944108294" datatype="html">\n        <source>Rule is not in use.</source>\n        <target>Rule is not in use.</target>\n      </trans-unit>\n      <trans-unit id="023d6f718770d2ea4ab8cabe26b0ec27ef967ec2" datatype="html">\n        <source>Used by pools</source>\n        <target>Used by pools</target>\n      </trans-unit>\n      <trans-unit id="104a0e6900d1d1b0c8cf9e5947e36edb352583fc" datatype="html">\n        <source>The rule can\'t be used in the current cluster as it has\n                  too few OSDs to meet the minimum required OSD by this rule.</source>\n        <target>The rule can\'t be used in the current cluster as it has\n                  too few OSDs to meet the minimum required OSD by this rule.</target>\n      </trans-unit>\n      <trans-unit id="2208d63d5940ce656006a220102b1eb2b5e553da" datatype="html">\n        <source>Compression</source>\n        <target>Kompresi</target>\n      </trans-unit>\n      <trans-unit id="37e10df2d9c0c25ef04ac112c9c9a7723e8efae0" datatype="html">\n        <source>Mode</source>\n        <target>Mode</target>\n      </trans-unit>\n      <trans-unit id="6c6f25c47da62ec597c6057a36ddfc3209811ec5" datatype="html">\n        <source>Algorithm</source>\n        <target>Algoritma</target>\n      </trans-unit>\n      <trans-unit id="4903231d42089325a28892c0fde1aed46b733ae6" datatype="html">\n        <source>-- No erasure compression algorithm available --</source>\n        <target>-- Tidak ada algoritma pengompresian erasure --</target>\n      </trans-unit>\n      <trans-unit id="5d68ddb254275f8f44221e9ad6d8ceeb59ca46a6" datatype="html">\n        <source>Minimum blob size</source>\n        <target>Ukuran blob minimum</target>\n      </trans-unit>\n      <trans-unit id="fb2f176df80647137cbb02bbeb29e5dec707a400" datatype="html">\n        <source>e.g., 128KiB</source>\n        <target>cth. 128KiB</target>\n      </trans-unit>\n      <trans-unit id="1b7f6e53a4521c6eb3ced4c007fdd4cf80bb7707" datatype="html">\n        <source>Value should be greater than 0</source>\n        <target>Nilai harus lebih besar dari 0</target>\n      </trans-unit>\n      <trans-unit id="8db98ab14b4e207ec763dfdefbc2dae367aab1cc" datatype="html">\n        <source>Value should be less than the maximum blob size</source>\n        <target>Value should be less than the maximum blob size</target>\n      </trans-unit>\n      <trans-unit id="151efb127a9a4dd25259a0b2055442318a141f5b" datatype="html">\n        <source>Maximum blob size</source>\n        <target>Ukuran maksimum blob</target>\n      </trans-unit>\n      <trans-unit id="0c656f0e346bbadf46eb1a5d20d0307a3bd20ba8" datatype="html">\n        <source>e.g., 512KiB</source>\n        <target>cth. 512KiB</target>\n      </trans-unit>\n      <trans-unit id="0a65a24eee8a026f3b1113fe9e157e9a0dd69486" datatype="html">\n        <source>Value should be greater than the minimum blob size</source>\n        <target>Nilai harus lebih besar dari ukuran minimum blob</target>\n      </trans-unit>\n      <trans-unit id="261ba09c4a59de83f48f52a23fd328da37e61ff4" datatype="html">\n        <source>Ratio</source>\n        <target>Rasio</target>\n      </trans-unit>\n      <trans-unit id="c1430457a9c3c66366e51d76bf10396014c576be" datatype="html">\n        <source>Compression ratio</source>\n        <target>Rasio kompresi</target>\n      </trans-unit>\n      <trans-unit id="ae5ce6de352cde949998fb10754459c3a4eb183b" datatype="html">\n        <source>Value should be between 0.0 and 1.0</source>\n        <target>Nilai harus antara 0.0 dan 1.0</target>\n      </trans-unit>\n      <trans-unit id="8bb8293aa8161433778762ae025ffd5e7c85795e" datatype="html">\n        <source>Quotas</source>\n        <target>Quotas</target>\n      </trans-unit>\n      <trans-unit id="d99b34162c9c34f10d0ccd8dbae83d8569c2db77" datatype="html">\n        <source>Max bytes</source>\n        <target>Max bytes</target>\n      </trans-unit>\n      <trans-unit id="a1d14a18879c62f3f4ed705318b7164a1160e249" datatype="html">\n        <source>Leave it blank or specify 0 to disable this quota.</source>\n        <target>Leave it blank or specify 0 to disable this quota.</target>\n      </trans-unit>\n      <trans-unit id="7565b131562ff6c5f769fdbd239a772154abdd97" datatype="html">\n        <source>A valid quota should be greater than 0.</source>\n        <target>A valid quota should be greater than 0.</target>\n      </trans-unit>\n      <trans-unit id="f0016bd458baa88284a658ce9eeda42d8ad88d2c" datatype="html">\n        <source>e.g., 10GiB</source>\n        <target>cth. 10GiB</target>\n      </trans-unit>\n      <trans-unit id="b8bf35b66f09a301eef92ffc3cb2fd259df67ce9" datatype="html">\n        <source>Max objects</source>\n        <target>Max objects</target>\n      </trans-unit>\n      <trans-unit id="95f348167622d832c5ae532b6944635c8e2ae5cb" datatype="html">\n        <source>The value should be greater or equal to 0</source>\n        <target>The value should be greater or equal to 0</target>\n      </trans-unit>\n      <trans-unit id="4f8b2bb476981727ab34ed40fde1218361f92c45" datatype="html">\n        <source>Details</source>\n        <target>Detail</target>\n      </trans-unit>\n      <trans-unit id="fbbaf5cb02ed419e79a27072478f716a4666a99d" datatype="html">\n        <source>Performance Details</source>\n        <target>Detail Performa</target>\n      </trans-unit>\n      <trans-unit id="3938a411d76796f8ae73b72ea4c77661207453bd" datatype="html">\n        <source>Cache Tiers Details</source>\n        <target>Detil Cache Bertingkat</target>\n      </trans-unit>\n      <trans-unit id="ecbc084370a732fc3cde1966a60af78d71424ab4" datatype="html">\n        <source>Create Bootstrap Token</source>\n        <target>Create Bootstrap Token</target>\n      </trans-unit>\n      <trans-unit id="603e9cc3ef2aab57f2b0a00e465b23b9cabefd9c" datatype="html">\n        <source>To create a bootstrap token which can be imported\n          by a peer site cluster, provide the local site\'s name, select\n          which pools will have mirroring enabled, and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Generate\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>To create a bootstrap token which can be imported\n          by a peer site cluster, provide the local site\'s name, select\n          which pools will have mirroring enabled, and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Generate\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="660f97cd3188f8a04bd03b79e703fec72c6df04c" datatype="html">\n        <source>Site Name</source>\n        <target>Site Name</target>\n      </trans-unit>\n      <trans-unit id="8c2a1dc72cffaf7ab3dc5599bf77b0a7fcad2b20" datatype="html">\n        <source>At least one pool is required.</source>\n        <target>At least one pool is required.</target>\n      </trans-unit>\n      <trans-unit id="1b258b258b4cc475ceb2871305b61756b0134f4a" datatype="html">\n        <source>Generate</source>\n        <target>Generate</target>\n      </trans-unit>\n      <trans-unit id="1edc1fc6cfbbb22353050ad6788508b3ed584f53" datatype="html">\n        <source>Token</source>\n        <target>Token</target>\n      </trans-unit>\n      <trans-unit id="ff785f5596aef34a93b9b4d1023e95c62eef5740" datatype="html">\n        <source>Generated token...</source>\n        <target>Generated token...</target>\n      </trans-unit>\n      <trans-unit id="5467a6bb0e7fade6def7499400d5e2a7d8d3da20" datatype="html">\n        <source>Import Bootstrap Token</source>\n        <target>Import Bootstrap Token</target>\n      </trans-unit>\n      <trans-unit id="9bb7aee0dec5164f45c0aa2f35f2fb2149d2c1d2" datatype="html">\n        <source>To import a bootstrap token which was created\n          by a peer site cluster, provide the local site\'s name, select\n          which pools will have mirroring enabled, provide the generated\n          token, and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Import\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>To import a bootstrap token which was created\n          by a peer site cluster, provide the local site\'s name, select\n          which pools will have mirroring enabled, provide the generated\n          token, and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Import\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="9200e09686136a1d42adfb89c12fbfef2deea125" datatype="html">\n        <source>Direction</source>\n        <target>Direction</target>\n      </trans-unit>\n      <trans-unit id="9761484679958da8d12841a4efa5964d33fae575" datatype="html">\n        <source>The token is invalid.</source>\n        <target>The token is invalid.</target>\n      </trans-unit>\n      <trans-unit id="a059709f71aa4c0ac219e160e78a738682ca6a36" datatype="html">\n        <source>Import</source>\n        <target>Import</target>\n      </trans-unit>\n      <trans-unit id="b87bd96249f8afc23f5301cddb57b1464a98e71a" datatype="html">\n        <source>Edit site name</source>\n        <target>Edit site name</target>\n      </trans-unit>\n      <trans-unit id="cfff72c667274c12eb1ff71eadc25871c10c42dc" datatype="html">\n        <source>Edit the site name and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>Edit the site name and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="40b7acea5b43f45e0bbd1efeba5200af4687981d" datatype="html">\n        <source>Site Name:</source>\n        <target>Site Name:</target>\n      </trans-unit>\n      <trans-unit id="f0b5d789d42c0e69348e5fe0037fcbf5b5fbbdcc" datatype="html">\n        <source>Move an image to trash</source>\n        <target>Pindahkan image ke tempat sampah</target>\n      </trans-unit>\n      <trans-unit id="7ad22c1d4aab3b8946603cea62de266d5129ca10" datatype="html">\n        <source>This image contains snapshot(s), which will prevent it\n            from being removed after moved to trash.</source>\n        <target>This image contains snapshot(s), which will prevent it\n            from being removed after moved to trash.</target>\n      </trans-unit>\n      <trans-unit id="b4b3ced4f8aad4c446f348b14c3d94be2e2c350c" datatype="html">\n        <source>To move \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ imageSpecStr }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,\n          click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optionally, you can pick an expiration date.\n        </source>\n        <target>To move \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ imageSpecStr }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,\n          click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optionally, you can pick an expiration date.\n        </target>\n      </trans-unit>\n      <trans-unit id="88f27d390844aad53b4240360e928156c5f0d326" datatype="html">\n        <source>Protection expires at</source>\n        <target>Proteksi berakhir pada</target>\n      </trans-unit>\n      <trans-unit id="da166e9a0d27322f6ba8916d71ecc0f9905bb4b1" datatype="html">\n        <source>NOT PROTECTED</source>\n        <target>TIDAK DIPROTEKSI</target>\n      </trans-unit>\n      <trans-unit id="a1506e5f2ca22cad14502ec7a20fb6113ace145d" datatype="html">\n        <source>Wrong date format. Please use "YYYY-MM-DD HH:mm:ss".</source>\n        <target>Format tanggal salah. Mohon gunakan "TTTT-BB-HH JJ:mm:dd".</target>\n      </trans-unit>\n      <trans-unit id="aa7ea0bb7495281e0b3258467ac7d90a1e44a1a1" datatype="html">\n        <source>Protection has already expired. Please pick a future date or leave it empty.</source>\n        <target>Proteksi telah kedaluarsa. Mohon pilih tanggal masa mendatang atau kosongkan.</target>\n      </trans-unit>\n      <trans-unit id="536b3205c0c0d4d21685ec06feccfcf2fe14deb1" datatype="html">\n        <source>Move Image</source>\n        <target>Pindahkan Image</target>\n      </trans-unit>\n      <trans-unit id="c9f1026c1235f4d76ace47449e806efd181ab332" datatype="html">\n        <source>Deleting this image will also delete all its snapshots.</source>\n        <target>Deleting this image will also delete all its snapshots.</target>\n      </trans-unit>\n      <trans-unit id="55f864597e84d9bf88769e1fbfda1d64452430c9" datatype="html">\n        <source>The following snapshots are currently protected and will be removed:</source>\n        <target>The following snapshots are currently protected and will be removed:</target>\n      </trans-unit>\n      <trans-unit id="8a9910cd114c1deb9af74f6f99b4173403965bf2" datatype="html">\n        <source>Gateways</source>\n        <target>Gateways</target>\n      </trans-unit>\n      <trans-unit id="8835b9e49a3348b0a2f2162c21118af1f4bee45a" datatype="html">\n        <source>Must be greater than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'min\'] }}"/>.\n        </source>\n        <target>Must be greater than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'min\'] }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="bbddac59563c8c126e3fe28691e4e247614fcbd1" datatype="html">\n        <source>Must be less than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'max\'] }}"/>.\n        </source>\n        <target>Must be less than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'max\'] }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="e95ae009d0bdb45fcc656e8b65248cf7396080d5" datatype="html">\n        <source>Overview</source>\n        <target>Ikhtisar</target>\n      </trans-unit>\n      <trans-unit id="bbd2045d5c37e4bb39a3c0fb62ea1ddf70a12838" datatype="html">\n        <source>Targets</source>\n        <target>Target</target>\n      </trans-unit>\n      <trans-unit id="6803e31b7395d94934e091a49a9524026b59b018" datatype="html">\n        <source>Discovery Authentication</source>\n        <target>Otentikasi Discovery</target>\n      </trans-unit>\n      <trans-unit id="e08a77594f3d89311cdf6da5090044270909c194" datatype="html">\n        <source>User</source>\n        <target>Pengguna</target>\n      </trans-unit>\n      <trans-unit id="0214f773f8e394f50f953f39962e352d7863e959" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n              can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Nama pengguna harus terdiri dari 8 hingga 64 karakter dan\nhanya boleh mengandung huruf, \'.\', \'@\', \'-\', \'_\' atau \':\'.</target>\n      </trans-unit>\n      <trans-unit id="c32ef07f8803a223a83ed17024b38e8d82292407" datatype="html">\n        <source>Password</source>\n        <target>Kata sandi</target>\n      </trans-unit>\n      <trans-unit id="6682d1c00263bee204583a5d589b308b6be88b0f" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n              and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n              and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="ff40391de7a1944ea95091e4045cc34c4979b736" datatype="html">\n        <source>Mutual User</source>\n        <target>Pengguna Bersama</target>\n      </trans-unit>\n      <trans-unit id="0cf73dbebe99b737c4d288788182fc356e3c93d3" datatype="html">\n        <source>Mutual Password</source>\n        <target>Kata sandi bersama</target>\n      </trans-unit>\n      <trans-unit id="8800276925157c666b103c36ff7fe8ffe11980b4" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters and\n              can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters and\n              can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="53a583cd5f15059cc958b7d547f72cc78f68e123" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n    on how to configure and enable the iSCSI Targets management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n    on how to configure and enable the iSCSI Targets management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="3b301d0044f62c92af0da53d7aaca52a436a547d" datatype="html">\n        <source>Available information:</source>\n        <target>Informasi tersedia:</target>\n      </trans-unit>\n      <trans-unit id="332227f088a4877b3c11f5fb3ae8bc812c470fae" datatype="html">\n        <source>iSCSI Targets not available</source>\n        <target>iSCSI Target tidak tersedia</target>\n      </trans-unit>\n      <trans-unit id="8414a5cb9d71cc1b21b10e4a9d1f2dad558f3361" datatype="html">\n        <source>Discovery authentication</source>\n        <target>Discovery authentication</target>\n      </trans-unit>\n      <trans-unit id="0f6e8f6094b180eaf1f11bc0ffe383f1cdcd059e" datatype="html">\n        <source>Only available for RBD images with \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>fast-diff\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> enabled\n        </source>\n        <target>Only available for RBD images with \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>fast-diff\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> enabled\n        </target>\n      </trans-unit>\n      <trans-unit id="e70fcca5a99575cffef3ff8cbd5e69f06ffd0f1c" datatype="html">\n        <source>Pool</source>\n        <target>Pool</target>\n      </trans-unit>\n      <trans-unit id="03cc5b14b0a20d075e9009ff021f4f1660ba348a" datatype="html">\n        <source>Data Pool</source>\n        <target>Pool Data</target>\n      </trans-unit>\n      <trans-unit id="1b051734b0ee9021991c91b3ed4e81c244322462" datatype="html">\n        <source>Created</source>\n        <target>Dibuat</target>\n      </trans-unit>\n      <trans-unit id="7faaaa08f56427999f3be41df1093ce4089bbd75" datatype="html">\n        <source>Size</source>\n        <target>Ukuran</target>\n      </trans-unit>\n      <trans-unit id="afdb601c16162f2c798b16a2920955f1cc6a20aa" datatype="html">\n        <source>Objects</source>\n        <target>Objek</target>\n      </trans-unit>\n      <trans-unit id="ceac8e132384322ec778ba760875a6c6897d3e42" datatype="html">\n        <source>Object size</source>\n        <target>Ukuran objek</target>\n      </trans-unit>\n      <trans-unit id="0a65771c9a73b9aa609d592fc96a64801a8f40bd" datatype="html">\n        <source>Provisioned</source>\n        <target>Disiapkan</target>\n      </trans-unit>\n      <trans-unit id="84a36cb75660b736773fe36ffa3d54f0f0fe363e" datatype="html">\n        <source>N/A</source>\n        <target>N/A</target>\n      </trans-unit>\n      <trans-unit id="e5c009342a4e8381f64341d0bb61c2e4685f5a4b" datatype="html">\n        <source>Total provisioned</source>\n        <target>Total disiapkan</target>\n      </trans-unit>\n      <trans-unit id="7f6bf8a43ae415f527ac961ea62471b983aaa97b" datatype="html">\n        <source>Striping unit</source>\n        <target>Unit setrip</target>\n      </trans-unit>\n      <trans-unit id="db710e8a8f011923f2d15d713fbae49c38b02b26" datatype="html">\n        <source>Striping count</source>\n        <target>Jumlah setrip</target>\n      </trans-unit>\n      <trans-unit id="3a4c2a9e76634ff14a60d52a718296f722d47c67" datatype="html">\n        <source>Parent</source>\n        <target>Induk</target>\n      </trans-unit>\n      <trans-unit id="6a209e68d78ffc2cc9c53d2e76158624efab71ad" datatype="html">\n        <source>Block name prefix</source>\n        <target>Awalan nama blok</target>\n      </trans-unit>\n      <trans-unit id="5704ec2049d007c5f5fb495a5d8b607e68d58081" datatype="html">\n        <source>Order</source>\n        <target>Urutan</target>\n      </trans-unit>\n      <trans-unit id="f21b1d17b6c5042bb5805516eee37fde33739dd8" datatype="html">\n        <source>Snapshots</source>\n        <target>Snapshot</target>\n      </trans-unit>\n      <trans-unit id="a5f9ba9bb9faa8284bcadb1cdbc6aaf969e9c4bb" datatype="html">\n        <source>Image</source>\n        <target>Image</target>\n      </trans-unit>\n      <trans-unit id="58e58f1a8786da9031a05e6770c5dafce82badf5" datatype="html">\n        <source>This setting overrides the global value</source>\n        <target>Pengaturan ini akan membatalkan nilai global</target>\n      </trans-unit>\n      <trans-unit id="5decb3917d46a9ac6e5813699801becb7c3c1455" datatype="html">\n        <source>Global</source>\n        <target>Global</target>\n      </trans-unit>\n      <trans-unit id="36b46714164964c6258b08ed0a25f57d8a950f92" datatype="html">\n        <source>This is the global value. No value for this option has been set for this image.</source>\n        <target>Ini adalah nilai global. Tidak ada nilai yang diset untuk image ini.</target>\n      </trans-unit>\n      <trans-unit id="6547c9c4d5f62942ac4b1fe459cf9a03d4dbf5a0" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/> from\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/> from\n        </target>\n      </trans-unit>\n      <trans-unit id="0e9ecf29a4fa5b057bd8052e0d801b3fde6a30bf" datatype="html">\n        <source>\'/\' and \'@\' are not allowed.</source>\n        <target>\'/\' dan \'@\' tidak diperbolehkan.</target>\n      </trans-unit>\n      <trans-unit id="b99417c4dd46286ffd37c8d2e987c8b512ec7052" datatype="html">\n        <source>-- No rbd pools available --</source>\n        <target>-- Tidak ada pool rbd tersedia --</target>\n      </trans-unit>\n      <trans-unit id="ef83ec9c304a89d45650e580dcdc2978c37b3a83" datatype="html">\n        <source>-- Select a pool --</source>\n        <target>-- Pilih pool --</target>\n      </trans-unit>\n      <trans-unit id="d649904466254d13df1fbf2d255f0bbc6553d213" datatype="html">\n        <source>-- No namespaces available --</source>\n        <target>-- No namespaces available --</target>\n      </trans-unit>\n      <trans-unit id="e22d7bb4d2d561e0832ee0b9a3da2468a080c4f0" datatype="html">\n        <source>-- Select a namespace --</source>\n        <target>-- Select a namespace --</target>\n      </trans-unit>\n      <trans-unit id="49449943d8cbf59d8c401c8bd2e76f92e207cc5f" datatype="html">\n        <source>Use a dedicated data pool</source>\n        <target>Gunakan pool data terdedikasi</target>\n      </trans-unit>\n      <trans-unit id="870aee0dd31a9643bf62007beb8f1ae1deb34d42" datatype="html">\n        <source>Data pool</source>\n        <target>Pool data</target>\n      </trans-unit>\n      <trans-unit id="3792ca829d9b9f687e1f5d7733d30e9bb0bfec47" datatype="html">\n        <source>Dedicated pool that stores the object-data of the RBD.</source>\n        <target>Pool terdedikasi yang menyimpan data-objek dari RBD.</target>\n      </trans-unit>\n      <trans-unit id="0a88bbee20570aaf9615332fb27020627044874d" datatype="html">\n        <source>You have to increase the size.</source>\n        <target>Anda harus menaikkan ukuran.</target>\n      </trans-unit>\n      <trans-unit id="bc2e854e111ecf2bd7db170da5e3c2ed08181d88" datatype="html">\n        <source>Advanced</source>\n        <target>Tingkat lanjut</target>\n      </trans-unit>\n      <trans-unit id="3562a3778695a5f9c0445660e35301f0a39aaf73" datatype="html">\n        <source>Striping</source>\n        <target>Setrip</target>\n      </trans-unit>\n      <trans-unit id="ef3c3f3b5f562a5cdbe0ee2874287db1534b5958" datatype="html">\n        <source>Stripe unit</source>\n        <target>Unit setrip</target>\n      </trans-unit>\n      <trans-unit id="84471be1049006edecbcaef1a32ae0893c229c50" datatype="html">\n        <source>-- Select stripe unit --</source>\n        <target>-- Pilih ukuran setrip --</target>\n      </trans-unit>\n      <trans-unit id="8d32c5c54c8581c774a7f467fbd4e329b15a74fa" datatype="html">\n        <source>This field is required because stripe count is defined!</source>\n        <target>Isian ini harus diisi karena jumlah setrip telah ditentukan!</target>\n      </trans-unit>\n      <trans-unit id="6bbf9040be7c5491d4a03f2185708f43a6582a3b" datatype="html">\n        <source>Stripe unit is greater than object size.</source>\n        <target>Unit setrip lebih besar dari ukuran objek.</target>\n      </trans-unit>\n      <trans-unit id="a682f49f9b761591661276d7c6f550e641a130a4" datatype="html">\n        <source>Stripe count</source>\n        <target>Jumlah setrip</target>\n      </trans-unit>\n      <trans-unit id="baa74031990c5370008ba622d0a250f0929097f4" datatype="html">\n        <source>This field is required because stripe unit is defined!</source>\n        <target>Isian wajib diisi karena unit setrip didefinisikan!</target>\n      </trans-unit>\n      <trans-unit id="cd2ada6d5ecbd5cbf89eae0a1f5326efedac0dbc" datatype="html">\n        <source>Stripe count must be greater than 0.</source>\n        <target>Jumlah setrip harus lebih besar dari 0.</target>\n      </trans-unit>\n      <trans-unit id="2c07d24bb422aa8e5e568df1c5709083f0a9c8f1" datatype="html">\n        <source>Create Namespace</source>\n        <target>Create Namespace</target>\n      </trans-unit>\n      <trans-unit id="0cca6c0485f96d3a9610d0339cb1275a5f2c3f46" datatype="html">\n        <source>Namespace already exists.</source>\n        <target>Namespace already exists.</target>\n      </trans-unit>\n      <trans-unit id="5c5331983af566d4ac6a1024d15a3511786a4aa6" datatype="html">\n        <source>You are about to rollback</source>\n        <target>Anda akan mengembalikan semula</target>\n      </trans-unit>\n      <trans-unit id="49c0408946a6d67185947f455f15cc201d0d78e6" datatype="html">\n        <source>Purge Trash</source>\n        <target>Kosongkan Tempah Sampah</target>\n      </trans-unit>\n      <trans-unit id="681501eecd7f44d4b7a2f619605b36676e04c5b6" datatype="html">\n        <source>To purge, select one or</source>\n        <target>To purge, select one or</target>\n      </trans-unit>\n      <trans-unit id="dfc3c34e182ea73c5d784ff7c8135f087992dac1" datatype="html">\n        <source>All</source>\n        <target>Semua</target>\n      </trans-unit>\n      <trans-unit id="ea5d338dcef50ff5c24439fd784f6a67b594c33f" datatype="html">\n        <source>pools and click</source>\n        <target>pools and click</target>\n      </trans-unit>\n      <trans-unit id="55a4f598a4894b7fd5cb88f0ffd3c37ad009dd70" datatype="html">\n        <source>Pool:</source>\n        <target>Pool:</target>\n      </trans-unit>\n      <trans-unit id="d43dd2b9f7797e4cf3a604695bb33e4479108516" datatype="html">\n        <source>Pool name...</source>\n        <target>Nama Pool...</target>\n      </trans-unit>\n      <trans-unit id="b0e7c7ed1d51a0c205c815048bc9f79e24ee6db2" datatype="html">\n        <source>Restore Image</source>\n        <target>Pulihkan Image</target>\n      </trans-unit>\n      <trans-unit id="7369384817e0ad61ce871c9afdfbb538df2f97c1" datatype="html">\n        <source>To restore</source>\n        <target>Untuk memulihkan</target>\n      </trans-unit>\n      <trans-unit id="e7f0abefc608f7fb452c2dc9b1cdc3dec432160e" datatype="html">\n        <source>type the image\'s new name and click</source>\n        <target>ketik nama baru image dan pilih</target>\n      </trans-unit>\n      <trans-unit id="41307dd56fea669eed72e12a6c23af275f6bfd82" datatype="html">\n        <source>New Name</source>\n        <target>Nama Baru</target>\n      </trans-unit>\n      <trans-unit id="5c96a761dc55a21882c132c929583a424c9b8cf4" datatype="html">\n        <source>Expired at</source>\n        <target>Kedaluwarsa pada</target>\n      </trans-unit>\n      <trans-unit id="661041e3fcff4d3e75c561e038ca2504cf2cc643" datatype="html">\n        <source>Protected until</source>\n        <target>Diproteksi hingga</target>\n      </trans-unit>\n      <trans-unit id="0ee3b2322a1d3277f7e3fdb8a5141ac42bcf350b" datatype="html">\n        <source>This image is protected until \n          <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.\n        </source>\n        <target>This image is protected until \n          <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="a674ab267d1934bf395f87ca1503fd474296893f" datatype="html">\n        <source>iSCSI Topology</source>\n        <target>Topologi iSCSI</target>\n      </trans-unit>\n      <trans-unit id="051dcc342cfa5c1eaf187a2001aaa162379a160c" datatype="html">\n        <source>Configure</source>\n        <target>Configure</target>\n      </trans-unit>\n      <trans-unit id="9e515f954730279c31d5301f02479666d6264e8b" datatype="html">\n        <source>Changing these parameters from their default values is usually not necessary.</source>\n        <target>Mengganti parameter ini dari nilai bawaan biasanya tidak diperlukan.</target>\n      </trans-unit>\n      <trans-unit id="4e2591df099ddac796cda401c5f282da779d45f2" datatype="html">\n        <source>Identifier</source>\n        <target>Identifier</target>\n      </trans-unit>\n      <trans-unit id="62480a4859976427cf18fc8ef41d3a438eda0412" datatype="html">\n        <source>lun</source>\n        <target>lun</target>\n      </trans-unit>\n      <trans-unit id="8afc9eb4405e0aa554b2ba14140ef790cdecc040" datatype="html">\n        <source>wwn</source>\n        <target>wwn</target>\n      </trans-unit>\n      <trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html">\n        <source>Settings</source>\n        <target>Pengaturan</target>\n      </trans-unit>\n      <trans-unit id="69a47cbabcc51ca942606e1d8da0ec11f98a2690" datatype="html">\n        <source>Backstore</source>\n        <target>Backstore</target>\n      </trans-unit>\n      <trans-unit id="68e710782ccb5398b3acb8844caf0b199da2c3da" datatype="html">\n        <source>Confirm</source>\n        <target>Konfirmasi</target>\n      </trans-unit>\n      <trans-unit id="339878da255ab55447c43afef8d9b2f9753bf5f6" datatype="html">\n        <source>Advanced Settings</source>\n        <target>Pengaturan Lanjut</target>\n      </trans-unit>\n      <trans-unit id="1406c2fb12a20c1528b19bcc5e24a6a2386167f3" datatype="html">\n        <source>Target IQN</source>\n        <target>Target IQN</target>\n      </trans-unit>\n      <trans-unit id="5fe42339be910372fa689f559155631862d218e8" datatype="html">\n        <source>IQN has wrong pattern.</source>\n        <target>Pola IQN salah.</target>\n      </trans-unit>\n      <trans-unit id="050a7ff057d1e895357540406b6be5652b4d1c71" datatype="html">\n        <source>An IQN has the following notation\n                \'iqn.$year-$month.$reversedAddress:$definedName\'</source>\n        <target>An IQN has the following notation\n                \'iqn.$year-$month.$reversedAddress:$definedName\'</target>\n      </trans-unit>\n      <trans-unit id="c8ada4b53396d8366db00a435acc61d53d857047" datatype="html">\n        <source>For example: iqn.2016-06.org.dashboard:storage:disk.sn-a8675309</source>\n        <target>Contoh: iqn.2016-06.org.dashboard:storage:disk.sn-a8675309</target>\n      </trans-unit>\n      <trans-unit id="e60c11e1b1dfbbeda577364b8de39ded2d796c5e" datatype="html">\n        <source>More information</source>\n        <target>Informasi lainnya</target>\n      </trans-unit>\n      <trans-unit id="9b1aa85dfc6849196e64060db02c5410de69b7a1" datatype="html">\n        <source>This target has modified advanced settings.</source>\n        <target>Pengaturan lanjutan target ini telah dimodifikasi.</target>\n      </trans-unit>\n      <trans-unit id="6990ad8d6182662e864495ac31c3758cda1c7a28" datatype="html">\n        <source>Portals</source>\n        <target>Portal</target>\n      </trans-unit>\n      <trans-unit id="6a3ac2b4137d723fd9878cd357c2012ff6c07973" datatype="html">\n        <source>Add portal</source>\n        <target>Tambahkan portal</target>\n      </trans-unit>\n      <trans-unit id="c3638c01b6c34066438909713ec96087c813fc7e" datatype="html">\n        <source>At least \n          <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.\n        </source>\n        <target>At least \n          <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.\n        </target>\n      </trans-unit>\n      <trans-unit id="9aff25be088f0efe3eaaf62edf2bff41cc41a617" datatype="html">\n        <source>Backstore: \n          <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. \n        </source>\n        <target>Backstore: \n          <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. \n        </target>\n      </trans-unit>\n      <trans-unit id="e3484cae8b118c576ca2815bf9c9406c2eb2cae3" datatype="html">\n        <source>This image has modified settings.</source>\n        <target>Pengaturan Image ini telah dimodifikasi.</target>\n      </trans-unit>\n      <trans-unit id="1dff11e0820b6722ab240169f1232d70a54beaaa" datatype="html">\n        <source>Duplicated LUN numbers.</source>\n        <target>Duplicated LUN numbers.</target>\n      </trans-unit>\n      <trans-unit id="bf2dccf92ccff6e3b091792bf4205595406e1bfb" datatype="html">\n        <source>Duplicated WWN.</source>\n        <target>Duplicated WWN.</target>\n      </trans-unit>\n      <trans-unit id="808038f912fdc7f0e03f82d4afd3bf9178527fc8" datatype="html">\n        <source>Add image</source>\n        <target>Tambahkan image</target>\n      </trans-unit>\n      <trans-unit id="66c5fb27f52e75b70ca4b670b9b15a2a51cf9543" datatype="html">\n        <source>ACL authentication</source>\n        <target>Otentikasi ACL</target>\n      </trans-unit>\n      <trans-unit id="419c8b402609dcf49ae4932a5a4647dc8d79bbaf" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n                can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Usernames must have a length of 8 to 64 characters and\n                can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</target>\n      </trans-unit>\n      <trans-unit id="938050960d6653fddfcfd42425e18fb35a308262" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n                and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n                and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="f494bd31f095f6dcc656ce87ec2dcf07a2e9b30c" datatype="html">\n        <source>Initiators</source>\n        <target>Inisiator</target>\n      </trans-unit>\n      <trans-unit id="e98239d8a6be1100119ff4b5630c822b82786740" datatype="html">\n        <source>Initiator</source>\n        <target>Inisiator</target>\n      </trans-unit>\n      <trans-unit id="f2c5059d8cda15d8d03e2cce30f2d139623d9a91" datatype="html">\n        <source>Client IQN</source>\n        <target>Klien IQN</target>\n      </trans-unit>\n      <trans-unit id="107d5aabce23d900f0a80e6ddc1c10e29aa0bed8" datatype="html">\n        <source>Initiator IQN needs to be unique.</source>\n        <target>Inisiator IQN harus unik.</target>\n      </trans-unit>\n      <trans-unit id="bbf0b34a3fcc80800fcb44b9e1e86931a530dfe3" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n                        can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Nama pengguna harus terdiri atas 8 hingga 64 karakter dan\nhanya boleh mengandung huruf, \'.\', \'@\', \'-\', \'_\' atau \':\'.</target>\n      </trans-unit>\n      <trans-unit id="fdfee5d7a27e1bdd97a176097277bee078de6aaf" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n                        and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n                        and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="8406eb7415ee40e54d9ecb209abb056f06e3d666" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters and\n                        can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters and\n                        can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="5d1878d5fc761cbe9614bfd87047a740c82a6951" datatype="html">\n        <source>Initiator belongs to a group. Images will be configure in the group.</source>\n        <target>Inisiator termasuk ke dalam grup. Image akan dikonfigurasi di dalam grup.</target>\n      </trans-unit>\n      <trans-unit id="c0de67b9d97fafbf200f9451e8388ee8128a56ac" datatype="html">\n        <source>No items added.</source>\n        <target>Tidak ada yang ditambahkan.</target>\n      </trans-unit>\n      <trans-unit id="d565e47726158e428ecdc952fc9233b9b7d7f049" datatype="html">\n        <source>Add initiator</source>\n        <target>Tambahkan inisiator</target>\n      </trans-unit>\n      <trans-unit id="c22ba03540aa3217da059f45e7eab138b51a96e2" datatype="html">\n        <source>Groups</source>\n        <target>Grup</target>\n      </trans-unit>\n      <trans-unit id="4c90059afafb7e160384d9f512797c95bb95c6dc" datatype="html">\n        <source>Group</source>\n        <target>Grup</target>\n      </trans-unit>\n      <trans-unit id="3084948274cff4f56d0f431af47240e9cf02fcc7" datatype="html">\n        <source>Add group</source>\n        <target>Tambahkan grup</target>\n      </trans-unit>\n      <trans-unit id="c3a7e364a88ea4673199dfa98bc73e6dbe09dfac" datatype="html">\n        <source>Namespaces</source>\n        <target>Namespaces</target>\n      </trans-unit>\n      <trans-unit id="aba82bfd8e177d35b76cad7cd43941f8e5e5acac" datatype="html">\n        <source>Trash</source>\n        <target>Tempat sampah</target>\n      </trans-unit>\n      <trans-unit id="66db799d67958d4b0765181d072df62e2d1c16f5" datatype="html">\n        <source>Issues</source>\n        <target>Masalah</target>\n      </trans-unit>\n      <trans-unit id="ef06d69259e587e28d52372455f44c7153cda7e7" datatype="html">\n        <source>Syncing</source>\n        <target>Menyinkronkan</target>\n      </trans-unit>\n      <trans-unit id="0b0901877d837d3fda16ba161eb74368d1c75b7a" datatype="html">\n        <source>Ready</source>\n        <target>Siap</target>\n      </trans-unit>\n      <trans-unit id="4057c56d63a7e9b140b1d01871a9229a5f30eb27" datatype="html">\n        <source>Edit pool mirror mode</source>\n        <target>Edit mode pencerminan pool</target>\n      </trans-unit>\n      <trans-unit id="e1f367f5feaab38f6637dd1f967c848b447dea2d" datatype="html">\n        <source>To edit the mirror mode for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>, select a new mode from the list and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>To edit the mirror mode for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>, select a new mode from the list and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="32ca348ef926b0a6a7a780b8b64c3a8239895cec" datatype="html">\n        <source>Peer clusters must be removed prior to disabling mirror.</source>\n        <target>Klaster mitra harus dihapus sebelum menonaktfikan pencerminan.</target>\n      </trans-unit>\n      <trans-unit id="fa61522d482349707fd7dd03b90dc5781611b17f" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/>\n  pool mirror peer\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/>\n  pool mirror peer\n        </target>\n      </trans-unit>\n      <trans-unit id="4ddcb416c1c0aa1f54acf5beef1de81813e76fa6" datatype="html">\n        <source>{VAR_SELECT, select, edit {Edit} other {Add} }</source>\n        <target>{VAR_SELECT, select, edit {Edit} other {Tambah} }</target>\n      </trans-unit>\n      <trans-unit id="59ca65ece457429d90104ede4674965f62edbabe" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/> the pool\n          mirror peer attributes for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> and click\n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Submit\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/> the pool\n          mirror peer attributes for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> and click\n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Submit\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="d3cc964811f852a168f4a2d5daa59068abc5cf53" datatype="html">\n        <source>Cluster Name</source>\n        <target>Nama Klaster</target>\n      </trans-unit>\n      <trans-unit id="b631721fc56cb7fb1cbd07b802a487c5753f6a2d" datatype="html">\n        <source>The cluster name is not valid.</source>\n        <target>Nama klaster tidak valid.</target>\n      </trans-unit>\n      <trans-unit id="ca6deafa31bf421f85094807982aee4bcb20a3ae" datatype="html">\n        <source>CephX ID</source>\n        <target>CephX ID</target>\n      </trans-unit>\n      <trans-unit id="7539188a568c3d553cbde1bacaf32310c4264e24" datatype="html">\n        <source>CephX ID...</source>\n        <target>CephX ID...</target>\n      </trans-unit>\n      <trans-unit id="a1c45b594b0fba22fc64e80c793a7ffe005fdb0e" datatype="html">\n        <source>The CephX ID is not valid.</source>\n        <target>CephX ID tidak valid.</target>\n      </trans-unit>\n      <trans-unit id="20861576fcfce773c918c782cd4f5adf32382921" datatype="html">\n        <source>Monitor Addresses</source>\n        <target>Alamat Monitor</target>\n      </trans-unit>\n      <trans-unit id="fa28eeed2b4bd4ccbe6e9349a1c2b3cb1c5de70a" datatype="html">\n        <source>Comma-delimited addresses...</source>\n        <target>Alamat dengan pemisah-koma...</target>\n      </trans-unit>\n      <trans-unit id="dc016c82fd85848d5c1b2fd0e8469ee2027d9c16" datatype="html">\n        <source>The monitory address is not valid.</source>\n        <target>Alamat monitor tidak valid.</target>\n      </trans-unit>\n      <trans-unit id="e0ac55b83dc6739e62bc655cfe375b67c93e7f4a" datatype="html">\n        <source>CephX Key</source>\n        <target>CephX Key</target>\n      </trans-unit>\n      <trans-unit id="f53434bcb95bd86f1df9c8e22966f757614fc4ad" datatype="html">\n        <source>Base64-encoded key...</source>\n        <target>Base64-encoded key...</target>\n      </trans-unit>\n      <trans-unit id="4cd83164cd4f66b4abc2863f9ce6f599d789e4ca" datatype="html">\n        <source>CephX key must be base64 encoded.</source>\n        <target>Kunci CephX harus base64 encoded.</target>\n      </trans-unit>\n      <trans-unit id="ca53d681a9892d6fdbb57ee9676582186515e961" datatype="html">\n        <source>Performance counters not available</source>\n        <target>Penghitung kinerja tidak tersedia</target>\n      </trans-unit>\n      <trans-unit id="9424badb7e0c6ac792d020d7830645b529a80aad" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the Object Gateway management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the Object Gateway management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="479488ab6e91ecb375484edc78bee3d13467f33f" datatype="html">\n        <source>Daemons List</source>\n        <target>Daftar Daemon</target>\n      </trans-unit>\n      <trans-unit id="eeba399c4dae8d4890c27b7a2cd2dc28fcf8b5f9" datatype="html">\n        <source>Performance Counters</source>\n        <target>Penghitung Performa</target>\n      </trans-unit>\n      <trans-unit id="5f67f2247b9c6bbaf24a0f2d37f4ac0537c6fa53" datatype="html">\n        <source>Loading bucket data...</source>\n        <target>Memuat data buket...</target>\n      </trans-unit>\n      <trans-unit id="2798cc1e152b1ec07fd8daf94a2a073d1ba1ebcc" datatype="html">\n        <source>Id</source>\n        <target>Id</target>\n      </trans-unit>\n      <trans-unit id="db4e1a734518691b128ef40b939cc673f01d03a6" datatype="html">\n        <source>The value is not valid.</source>\n        <target>Nilai tidak valid.</target>\n      </trans-unit>\n      <trans-unit id="eabb4db920d9f9b2480cf438468b86e1bea02a9b" datatype="html">\n        <source>The chosen name is already in use.</source>\n        <target>Nama yang dipilih sudah digunakan.</target>\n      </trans-unit>\n      <trans-unit id="0ee5132a8da30e0b7f9f5c70dbc91928d17dd909" datatype="html">\n        <source>Owner</source>\n        <target>Pemilik</target>\n      </trans-unit>\n      <trans-unit id="8e4c918357c7445fbf19a203e5f0f0ece1960b3b" datatype="html">\n        <source>-- Select a user --</source>\n        <target>-- Pilih pengguna --</target>\n      </trans-unit>\n      <trans-unit id="a4aab1f837bc8ec222e4f25922465d1c5929a1fc" datatype="html">\n        <source>Placement target</source>\n        <target>Placement target</target>\n      </trans-unit>\n      <trans-unit id="6bae0a7fc2c9c1fde7d937a8a1a3c7e6825cf7d1" datatype="html">\n        <source>-- Select a placement target --</source>\n        <target>-- Select a placement target --</target>\n      </trans-unit>\n      <trans-unit id="efeade5060b3add63863c24871f0830fb16b7e6d" datatype="html">\n        <source>Versioning</source>\n        <target>Versioning</target>\n      </trans-unit>\n      <trans-unit id="f50a33d3c339f8f4a465141f8caa5d2d8c005251" datatype="html">\n        <source>Enabled</source>\n        <target>Diaktifkan</target>\n      </trans-unit>\n      <trans-unit id="016d24e069e7d505a090fb8243e5cd43b35dc39b" datatype="html">\n        <source>Enables versioning for the objects in the bucket.</source>\n        <target>Enables versioning for the objects in the bucket.</target>\n      </trans-unit>\n      <trans-unit id="9e6775ffd06878aa145c07359f28557f01ede04f" datatype="html">\n        <source>Multi-Factor Authentication</source>\n        <target>Multi-Factor Authentication</target>\n      </trans-unit>\n      <trans-unit id="29e8a5d4fb767d4ad0c762c81c6264cec4c0ba97" datatype="html">\n        <source>Delete enabled</source>\n        <target>Delete enabled</target>\n      </trans-unit>\n      <trans-unit id="40fbc3ac8c1ea4ecfe62247e91f1f999ad5baf76" datatype="html">\n        <source>Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state.</source>\n        <target>Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state.</target>\n      </trans-unit>\n      <trans-unit id="d24c93a8c13db46defa06ed7b5e026a3edb52b91" datatype="html">\n        <source>Token Serial Number</source>\n        <target>Token Serial Number</target>\n      </trans-unit>\n      <trans-unit id="e6d9536c2af2e5e9a228c3e3e1809dc1fefe0149" datatype="html">\n        <source>Token PIN</source>\n        <target>Token PIN</target>\n      </trans-unit>\n      <trans-unit id="7b84370895ab9eb44672f57146fa05c5947f1c0c" datatype="html">\n        <source>Locking</source>\n        <target>Locking</target>\n      </trans-unit>\n      <trans-unit id="f038d51ab1645f15b0cd58f195c72a7eeebd4729" datatype="html">\n        <source>Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket.</source>\n        <target>Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket.</target>\n      </trans-unit>\n      <trans-unit id="9af1b4baa2dd8ed2bfc3cc756b12a2271c2dd793" datatype="html">\n        <source>Compliance</source>\n        <target>Compliance</target>\n      </trans-unit>\n      <trans-unit id="edd600fa489d1b4a4448dce694ed932e52ce8fda" datatype="html">\n        <source>Governance</source>\n        <target>Governance</target>\n      </trans-unit>\n      <trans-unit id="a5c3d9d2296f7886e8289b9f623323803deacfc6" datatype="html">\n        <source>Days</source>\n        <target>Days</target>\n      </trans-unit>\n      <trans-unit id="218c7d6d318c51e7105309aaeb0baec9d19e4efb" datatype="html">\n        <source>The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</source>\n        <target>The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</target>\n      </trans-unit>\n      <trans-unit id="289b101ec12427b3ca819df9e43cc3b14fae2cc4" datatype="html">\n        <source>The entered value must be a positive integer.</source>\n        <target>The entered value must be a positive integer.</target>\n      </trans-unit>\n      <trans-unit id="def9fc628134d3a044b7c0ad2a83c846bdad56f1" datatype="html">\n        <source>Retention period requires either Days or Years.</source>\n        <target>Retention period requires either Days or Years.</target>\n      </trans-unit>\n      <trans-unit id="003c94fc143882ac8af6251a1595fe62978fe3e6" datatype="html">\n        <source>Years</source>\n        <target>Years</target>\n      </trans-unit>\n      <trans-unit id="14c6189ead0951f13049c7bf9af7642d0c41957a" datatype="html">\n        <source>The number of years that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</source>\n        <target>The number of years that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</target>\n      </trans-unit>\n      <trans-unit id="45cc8ca94b5a50842a9a8ef804a5ab089a38ae5c" datatype="html">\n        <source>ID</source>\n        <target>ID</target>\n      </trans-unit>\n      <trans-unit id="e5c51963a9c553b29427ef783bbb69fa6634fa8c" datatype="html">\n        <source>Index type</source>\n        <target>Jenis indeks</target>\n      </trans-unit>\n      <trans-unit id="8e6f950a32eaea32ec7e192f9ca3d3dfe469d4ba" datatype="html">\n        <source>Placement rule</source>\n        <target>Aturan penempatan</target>\n      </trans-unit>\n      <trans-unit id="6972d213e31c4ea4f887e60db99d9881bc8fcd3e" datatype="html">\n        <source>Marker</source>\n        <target>Penanda</target>\n      </trans-unit>\n      <trans-unit id="47b02acd2d3254d1ace1926f840523f154ebef71" datatype="html">\n        <source>Maximum marker</source>\n        <target>Penanda maksimum</target>\n      </trans-unit>\n      <trans-unit id="8fe73a4787b8068b2ba61f54ab7e0f9af2ea1fc9" datatype="html">\n        <source>Version</source>\n        <target>Versi</target>\n      </trans-unit>\n      <trans-unit id="092fa3a7df9168b14d3f83a77a4035e92b92ce15" datatype="html">\n        <source>Master version</source>\n        <target>Versi Master</target>\n      </trans-unit>\n      <trans-unit id="97434cc5001d407f90c7447a12d9e8e6848a2aa3" datatype="html">\n        <source>Modification time</source>\n        <target>Modifikasi waktu</target>\n      </trans-unit>\n      <trans-unit id="90fe2e41e7fde38453ce4e619efeea9bc6adea9c" datatype="html">\n        <source>Zonegroup</source>\n        <target>Zona grup</target>\n      </trans-unit>\n      <trans-unit id="62a923f047ca49e7a4782629e91fea1ba32db68f" datatype="html">\n        <source>MFA Delete</source>\n        <target>MFA Delete</target>\n      </trans-unit>\n      <trans-unit id="649a410bd0ace333d067d8fa22f12bdbdb43533b" datatype="html">\n        <source>Bucket quota</source>\n        <target>Kuota Buket</target>\n      </trans-unit>\n      <trans-unit id="cef1595d040e77cbb4466e60382028d4c2040cac" datatype="html">\n        <source>Maximum size</source>\n        <target>Ukuran maksimum</target>\n      </trans-unit>\n      <trans-unit id="aa6fb95c355f172bda303de1ce2f38c251a149cf" datatype="html">\n        <source>Unlimited</source>\n        <target>Tak terbatas</target>\n      </trans-unit>\n      <trans-unit id="ee862a800364b4d11f9b8cb9955a28a60f840a45" datatype="html">\n        <source>Maximum objects</source>\n        <target>Objek maksimum</target>\n      </trans-unit>\n      <trans-unit id="08c74dc9762957593b91f6eb5d65efdfc975bf48" datatype="html">\n        <source>Username</source>\n        <target>Nama pengguna</target>\n      </trans-unit>\n      <trans-unit id="49c614babd1950adb2be75df4e2c9747286d6adc" datatype="html">\n        <source>-- Select a username --</source>\n        <target>-- Pilih nama pengguna --</target>\n      </trans-unit>\n      <trans-unit id="c217ee914725a37e9dd2336c721c8e63e9666bdc" datatype="html">\n        <source>Auto-generate key</source>\n        <target>Kunci otomatis-dibuat</target>\n      </trans-unit>\n      <trans-unit id="2f1c1c0f2bce4c9f92d1a2061e8161cb0006c31a" datatype="html">\n        <source>Access key</source>\n        <target>Kunci akses</target>\n      </trans-unit>\n      <trans-unit id="b864acb67296a9819c1db0069c4c47d8b5ce8f44" datatype="html">\n        <source>Secret key</source>\n        <target>Kunci rahasia</target>\n      </trans-unit>\n      <trans-unit id="b760f123248930122fc7e7b6b6bf94e376e959c8" datatype="html">\n        <source>Full name</source>\n        <target>Nama lengkap</target>\n      </trans-unit>\n      <trans-unit id="69b6ac577a19acc39fc0c22342092f327fff2529" datatype="html">\n        <source>Email address</source>\n        <target>Alamat email</target>\n      </trans-unit>\n      <trans-unit id="92f3f203270a29b3001871153f02c063484a1574" datatype="html">\n        <source>Suspended</source>\n        <target>Dihentikan</target>\n      </trans-unit>\n      <trans-unit id="8011e20c5bbe51602d459a860fbf29b599b55edd" datatype="html">\n        <source>System</source>\n        <target>Sistem</target>\n      </trans-unit>\n      <trans-unit id="db18a2772988415466a7f75dc42663ce78c9c1d3" datatype="html">\n        <source>Maximum buckets</source>\n        <target>Buket maksimum</target>\n      </trans-unit>\n      <trans-unit id="2c4c62e8ba24601be5cfe7dc5d32c24bbbd4b53c" datatype="html">\n        <source>Subusers</source>\n        <target>Subpengguna</target>\n      </trans-unit>\n      <trans-unit id="17bb3082e6fe5003203ef992a3714172334631a1" datatype="html">\n        <source>Capabilities</source>\n        <target>Kemampuan</target>\n      </trans-unit>\n      <trans-unit id="36ad38f9c1a1485e09b67778a28af84553290ffb" datatype="html">\n        <source>User quota</source>\n        <target>Kuota pengguna</target>\n      </trans-unit>\n      <trans-unit id="2aba1e87039819aca3b70faa9aa848c12bf139ca" datatype="html">\n        <source>Show</source>\n        <target>Tampilkan</target>\n      </trans-unit>\n      <trans-unit id="0bcd5ef19af0f1b814141ca8c57df623d8270088" datatype="html">\n        <source>Keys</source>\n        <target>Kunci</target>\n      </trans-unit>\n      <trans-unit id="f61c6867295f3b53d23557021f2f4e0aa1d0b8fc" datatype="html">\n        <source>Type</source>\n        <target>Tipe</target>\n      </trans-unit>\n      <trans-unit id="1221ca97d19eaa9a7bc0c5243d5fc5befe1d2314" datatype="html">\n        <source>-- Select a type --</source>\n        <target>-- Pilih tipe --</target>\n      </trans-unit>\n      <trans-unit id="d1b8990332af18f1c5159a6061ca889bcbb28432" datatype="html">\n        <source>Permission</source>\n        <target>Izin</target>\n      </trans-unit>\n      <trans-unit id="a08c589f82f69d892307288da14190ae1dd583d5" datatype="html">\n        <source>-- Select a permission --</source>\n        <target>-- Pilih izin --</target>\n      </trans-unit>\n      <trans-unit id="b2841767821d6b66238c34d07e413b0af67aee92" datatype="html">\n        <source>Subuser</source>\n        <target>Subpengguna</target>\n      </trans-unit>\n      <trans-unit id="bd59fc25a7bd98cff3e75117c09697c8a007a514" datatype="html">\n        <source>The chosen subuser ID is already in use.</source>\n        <target>ID subpengguna sudah digunakan.</target>\n      </trans-unit>\n      <trans-unit id="3d386c357ebcbc04ed05c4babd5a03626f9b1674" datatype="html">\n        <source>read, write</source>\n        <target>baca, tulis</target>\n      </trans-unit>\n      <trans-unit id="84e3e3f9a4f31a039b648c97debf95fcb20f4c4a" datatype="html">\n        <source>full</source>\n        <target>penuh</target>\n      </trans-unit>\n      <trans-unit id="b6bf81d032a2316464f9df2f0d2f3d753f89f0d3" datatype="html">\n        <source>Swift key</source>\n        <target>Kunci Swift</target>\n      </trans-unit>\n      <trans-unit id="1e0c12685d50d47448ceed9423977ef39775c037" datatype="html">\n        <source>Auto-generate secret</source>\n        <target>Sandi otomatis-dibuat</target>\n      </trans-unit>\n      <trans-unit id="3d1c7a6004bd5d86a7fa096ae24209e8aa7a53e3" datatype="html">\n        <source>Loading user data...</source>\n        <target>Memuat data pengguna...</target>\n      </trans-unit>\n      <trans-unit id="faa5d834ab28571423d794d32b57998920efb65f" datatype="html">\n        <source>The user data could not be loaded.</source>\n        <target>Data pengguna tidak dapat dimuat.</target>\n      </trans-unit>\n      <trans-unit id="6aaf5d2a304167272ac73e3b1d1c162e16c77858" datatype="html">\n        <source>The chosen user ID is already in use.</source>\n        <target>ID pengguna yang dipilih sudah digunakan.</target>\n      </trans-unit>\n      <trans-unit id="df441e80db2157f9d272b75de724ba4a82b96b57" datatype="html">\n        <source>This is not a valid email address.</source>\n        <target>Ini bukan alamat email yang valid.</target>\n      </trans-unit>\n      <trans-unit id="ca271adf154956b8fcb28f4f50a37acb3057ff7c" datatype="html">\n        <source>The chosen email address is already in use.</source>\n        <target>Alamat email yang dipilih sudah digunakan.</target>\n      </trans-unit>\n      <trans-unit id="030197cebe938edf35422e92fe14183d06eb670b" datatype="html">\n        <source>Max. buckets</source>\n        <target>Maks. buket</target>\n      </trans-unit>\n      <trans-unit id="f39256070bfc0714020dfee08895421fc1527014" datatype="html">\n        <source>Disabled</source>\n        <target>Dimatikan</target>\n      </trans-unit>\n      <trans-unit id="a5c05002b0ac2040f1aede5e727e0ffd06eda819" datatype="html">\n        <source>Custom</source>\n        <target>Ubahsuai</target>\n      </trans-unit>\n      <trans-unit id="28872515cb81d197a3a1733fa546d3e0f0dd6c67" datatype="html">\n        <source>The entered value must be &gt;= 1.</source>\n        <target>The entered value must be &gt;= 1.</target>\n      </trans-unit>\n      <trans-unit id="583a219c524155c2314eb06ee29162bb315272a3" datatype="html">\n        <source>S3 key</source>\n        <target>Kunci S3</target>\n      </trans-unit>\n      <trans-unit id="128d6efb51d9ddc7c0cc695a2deeca5b9523f6e4" datatype="html">\n        <source>There are no subusers.</source>\n        <target>Tidak ada sub-pengguna.</target>\n      </trans-unit>\n      <trans-unit id="7fd6dfb8ecb982dbc3affb2c2d5414c4f5b6abd2" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ subuserLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ subuserLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="67c746c1ba9dab4351fedc4c7cba4e6d6b0dbc47" datatype="html">\n        <source>S3</source>\n        <target>S3</target>\n      </trans-unit>\n      <trans-unit id="d6819038d608623503918fb2553f53d68231ec3a" datatype="html">\n        <source>There are no keys.</source>\n        <target>Kunci tidak ditemukan.</target>\n      </trans-unit>\n      <trans-unit id="fc1c1a7140ff6b815a95b65ee2780fdbe1b2b7a1" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ s3keyLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ s3keyLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6ddb5e991a3ecd2659fb520bc5acc81b67e08ddd" datatype="html">\n        <source>Swift</source>\n        <target>Swift</target>\n      </trans-unit>\n      <trans-unit id="1d01eccdda47fc907c5be35bcb16d2dcd02b0270" datatype="html">\n        <source>There are no capabilities.</source>\n        <target>Kemampuan tidak ada.</target>\n      </trans-unit>\n      <trans-unit id="043e2ec0036ceadd926fd5e3f93cd6f3565f3648" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.ADD | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.ADD | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="f5a451c4ea65a4046f0b49d489a7013abf0b5861" datatype="html">\n        <source>All capabilities are already added.</source>\n        <target>All capabilities are already added.</target>\n      </trans-unit>\n      <trans-unit id="6146e13ceca5fa5cc17b771b282fe5955f3d19fa" datatype="html">\n        <source>Unlimited size</source>\n        <target>Ukuran tak terbatas</target>\n      </trans-unit>\n      <trans-unit id="f6db8aa7c99fdce18edb33dde57729acede2b308" datatype="html">\n        <source>Max. size</source>\n        <target>Ukuran maks.</target>\n      </trans-unit>\n      <trans-unit id="fc630b2093e880fffa19df99d5cd8b87605037f8" datatype="html">\n        <source>Unlimited objects</source>\n        <target>Objek tak terbatas</target>\n      </trans-unit>\n      <trans-unit id="6cda5a993d06f0bb10048be9d3aba6555aa9f356" datatype="html">\n        <source>Max. objects</source>\n        <target>Objek maks.</target>\n      </trans-unit>\n      <trans-unit id="623ac50f37a26caec6fd7cd519b653e3315cba25" datatype="html">\n        <source>The entered value must be &gt;= 0.</source>\n        <target>Nilai yang dimasukkan harus &gt;= 0.</target>\n      </trans-unit>\n      <trans-unit id="1ea5c4d8942c00752dcc72e72949c5d9832f6399" datatype="html">\n        <source>Description...</source>\n        <target>Deskripsi...</target>\n      </trans-unit>\n      <trans-unit id="70f45880fce6ac5d8e468e25e82aefbba8098cfe" datatype="html">\n        <source>Permissions</source>\n        <target>Izin</target>\n      </trans-unit>\n      <trans-unit id="9610487cbeb5796d34d8601b5ac0c0a65f9e1d19" datatype="html">\n        <source>Roles</source>\n        <target>Peran</target>\n      </trans-unit>\n      <trans-unit id="7f3bdcce4b2e8c37cd7f0f6c92ef8cff34b039b8" datatype="html">\n        <source>Confirm password</source>\n        <target>Konfirmasi kata sandi</target>\n      </trans-unit>\n      <trans-unit id="cbb979e63ba50e0ca3adfa09cbdcaefd0853fca1" datatype="html">\n        <source>Password confirmation doesn\'t match the password.</source>\n        <target>Konfirmasi kata sandi tidak sesuai dengan kata sandi.</target>\n      </trans-unit>\n      <trans-unit id="96621f9ed2e4ae5204564e583d2c816bedead571" datatype="html">\n        <source>Password expiration date</source>\n        <target>Password expiration date</target>\n      </trans-unit>\n      <trans-unit id="48932db3801fe9d5d72a60a3e656bffd17c1c5d9" datatype="html">\n        <source>Password expiration date...</source>\n        <target>Password expiration date...</target>\n      </trans-unit>\n      <trans-unit id="244aae9346da82b0922506c2d2581373a15641cc" datatype="html">\n        <source>Email</source>\n        <target>Email</target>\n      </trans-unit>\n      <trans-unit id="d0ec081dd61eb4f43aea269077bbe38eae87b7f9" datatype="html">\n        <source>Invalid email.</source>\n        <target>Email tidak valid.</target>\n      </trans-unit>\n      <trans-unit id="8913c216dd506e20e412e144381d8d2a65a84359" datatype="html">\n        <source>User must change password at next logon</source>\n        <target>User must change password at next logon</target>\n      </trans-unit>\n      <trans-unit id="0051a3479d3ba79135c16dc8cc017950a2cce821" datatype="html">\n        <source>You are about to remove "user read / update" permissions from your own user.</source>\n        <target>Anda akan menghapus izin "pengguna baca / perbarui" dari diri Anda sendiri.</target>\n      </trans-unit>\n      <trans-unit id="af4bf9fcb256853f14cf947eb1deb8d7f176d3f9" datatype="html">\n        <source>If you continue, you will no longer be able to add or remove roles from any user.</source>\n        <target>Jika melanjutkan, Anda tidak akan lagi dapat menambahkan atau menghapus peran dari pengguna manapun.</target>\n      </trans-unit>\n      <trans-unit id="7d1dcf2a9146caac0581329acf94806ec69a89a5" datatype="html">\n        <source>Are you sure you want to continue?</source>\n        <target>Anda yakin ingin melanjutkan?</target>\n      </trans-unit>\n      <trans-unit id="85b79c9064aed1ead31ace985f31aa1363f6bdaf" datatype="html">\n        <source>Help</source>\n        <target>Bantuan</target>\n      </trans-unit>\n      <trans-unit id="fcfd4675b4c90f08d18d3abede9a9a4dff4cfdc7" datatype="html">\n        <source>Documentation</source>\n        <target>Dokumentasi </target>\n      </trans-unit>\n      <trans-unit id="e351b40b3869a5c7d19c3d4918cb1ac7aaab95c4" datatype="html">\n        <source>API</source>\n        <target>API</target>\n      </trans-unit>\n      <trans-unit id="004b222ff9ef9dd4771b777950ca1d0e4cd4348a" datatype="html">\n        <source>About</source>\n        <target>Tentang</target>\n      </trans-unit>\n      <trans-unit id="1481ecd21e760ac919a24e26cf790acd82e40199" datatype="html">\n        <source>Dashboard Settings</source>\n        <target>Pengaturan Dasbor</target>\n      </trans-unit>\n      <trans-unit id="a79aab4ef674bf3f6532292107c0054302236e0f" datatype="html">\n        <source>User management</source>\n        <target>Manajemen Pengguna</target>\n      </trans-unit>\n      <trans-unit id="049dfd9fe6c78914ad58cf89ac6a631fca28ec74" datatype="html">\n        <source>Logged in user</source>\n        <target>Pengguna masuk</target>\n      </trans-unit>\n      <trans-unit id="cd38a58e73f306d838e621959d47d5e7a2f06d1f" datatype="html">\n        <source>Signed in as\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ username }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>\n        </source>\n        <target>Signed in as\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ username }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="739516c2ca75843d5aec9cf0e6b3e4335c4227b9" datatype="html">\n        <source>Change password</source>\n        <target>Change password</target>\n      </trans-unit>\n      <trans-unit id="5d22c795daf43877a5f708dca2bccd549eb0471d" datatype="html">\n        <source>Sign out</source>\n        <target>Keluar</target>\n      </trans-unit>\n      <trans-unit id="91853167141c37b58868f3b0421383dd72fa8a01" datatype="html">\n        <source>Attributes (OSD map)</source>\n        <target>Atribut (peta OSD)</target>\n      </trans-unit>\n      <trans-unit id="97842f379e1d4157ac3ab0661b90c352e7cb72d5" datatype="html">\n        <source>Metadata not available</source>\n        <target>Metadata tidak tersedia</target>\n      </trans-unit>\n      <trans-unit id="f721a500a68c357e8f2a01e60510f6a01e4ba529" datatype="html">\n        <source>Metadata</source>\n        <target>Metadata</target>\n      </trans-unit>\n      <trans-unit id="deba10b7279a589d01e919ea11f43c79ca1773e3" datatype="html">\n        <source>Device health</source>\n        <target>Device health</target>\n      </trans-unit>\n      <trans-unit id="d24e28e19c5703d7c6be44f4eb595a6a43b618ed" datatype="html">\n        <source>Performance counter</source>\n        <target>Penghitung kinerja</target>\n      </trans-unit>\n      <trans-unit id="d1f7c81ed9c5034af4abcdf119b1c1e86cd019dd" datatype="html">\n        <source>Histogram not available: \n          <x id="INTERPOLATION" equiv-text="{{ osd.histogram_failed }}"/>\n        </source>\n        <target>Histogram not available: \n          <x id="INTERPOLATION" equiv-text="{{ osd.histogram_failed }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="868abfff914873d1c65df798d8432ed04b8ae2a9" datatype="html">\n        <source>Writes</source>\n        <target>Tulis</target>\n      </trans-unit>\n      <trans-unit id="996ebb9a653b5067f97bf3891ea9d2108e969492" datatype="html">\n        <source>Reads</source>\n        <target>Baca</target>\n      </trans-unit>\n      <trans-unit id="65ac79790aa477a97b1cc579e18a115a8df8918f" datatype="html">\n        <source>Histogram</source>\n        <target>Histogram</target>\n      </trans-unit>\n      <trans-unit id="3d87fc20ea8e5f0f0500ba5d5061b345be78ec5e" datatype="html">\n        <source>No hostname found.</source>\n        <target>No hostname found.</target>\n      </trans-unit>\n      <trans-unit id="26fb5f81b3581f06b9210defb0e71dc69a67e819" datatype="html">\n        <source>Current values</source>\n        <target>Nilai saat ini</target>\n      </trans-unit>\n      <trans-unit id="9abcd7c82643d60c22733470463f74e4a54bc069" datatype="html">\n        <source>Min</source>\n        <target>Min</target>\n      </trans-unit>\n      <trans-unit id="c3ced4d162a0a55ee233a187ce7208ba5e922418" datatype="html">\n        <source>Max</source>\n        <target>Maks</target>\n      </trans-unit>\n      <trans-unit id="6834fa6b43d1ecbdf147c48dd9c4d72f1484571d" datatype="html">\n        <source>Source</source>\n        <target>Sumber</target>\n      </trans-unit>\n      <trans-unit id="a446fb0eb11fbffcac805ece5a2d306d24e733d8" datatype="html">\n        <source>Level</source>\n        <target>Level</target>\n      </trans-unit>\n      <trans-unit id="39f2fb094e9b2eda13163fa3f3a31594cf9c1307" datatype="html">\n        <source>Can be updated at runtime (editable)</source>\n        <target>Boleh diperbarui saat dijalankan (bisa diedit)</target>\n      </trans-unit>\n      <trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b" datatype="html">\n        <source>Tags</source>\n        <target>Tag</target>\n      </trans-unit>\n      <trans-unit id="ab0089ef47af61ca1d137bc908b96c290dfd9287" datatype="html">\n        <source>Enum values</source>\n        <target>Nilai Enum</target>\n      </trans-unit>\n      <trans-unit id="819476f1264f1659f38e86f6abb542141b184832" datatype="html">\n        <source>See also</source>\n        <target>Lihat juga</target>\n      </trans-unit>\n      <trans-unit id="73caac4265ea7314ff061e5a1d78a6361a6dd3b8" datatype="html">\n        <source>Cluster Status</source>\n        <target>Status Klaster</target>\n      </trans-unit>\n      <trans-unit id="1d4bc612bbf19aa9553853266b9e92c9d75f4464" datatype="html">\n        <source>Manager Daemons</source>\n        <target>Manajer Daemon</target>\n      </trans-unit>\n      <trans-unit id="946ac5dea9921dc09d7b0a63b89535371f283b19" datatype="html">\n        <source>Object Gateways</source>\n        <target>Gerbang Objek</target>\n      </trans-unit>\n      <trans-unit id="ff03fa5bcf37c4da46ad736c1f7d03f959e8ba9a" datatype="html">\n        <source>Metadata Servers</source>\n        <target>Server Metadata</target>\n      </trans-unit>\n      <trans-unit id="d817609ba4993eba859409ab71e566168f4d5f5a" datatype="html">\n        <source>iSCSI Gateways</source>\n        <target>Gateway iSCSI</target>\n      </trans-unit>\n      <trans-unit id="42c13e50391250ea9379bdf55d5d6c0228c0c8bc" datatype="html">\n        <source>Client IOPS</source>\n        <target>IOPS klien</target>\n      </trans-unit>\n      <trans-unit id="52213660b2454d139ada3079a42ec6caf3c3c01e" datatype="html">\n        <source>Client Throughput</source>\n        <target>Throughput Pengguna</target>\n      </trans-unit>\n      <trans-unit id="32efd1c3f70e3c5244239de97a2cc95d98534a14" datatype="html">\n        <source>Client Read/Write</source>\n        <target>Baca/Tulis Klien</target>\n      </trans-unit>\n      <trans-unit id="275485415092cbae3a9f3cbb786ebe283cacfdd5" datatype="html">\n        <source>Recovery Throughput</source>\n        <target>Throughput Pemulihan</target>\n      </trans-unit>\n      <trans-unit id="6d9a9f55046891733ef71170e7652063765eb542" datatype="html">\n        <source>Scrub</source>\n        <target>Scrub</target>\n      </trans-unit>\n      <trans-unit id="3cc9c2ae277393b3946b38c088dabff671b1ee1b" datatype="html">\n        <source>Performance</source>\n        <target>Kinerja</target>\n      </trans-unit>\n      <trans-unit id="88f383269db2d32cccee9e936fe549dccb9fdbf4" datatype="html">\n        <source>Raw Capacity</source>\n        <target>Kapasitas mentah</target>\n      </trans-unit>\n      <trans-unit id="c5f8a813f91a11af99132e4beafc136cfc13d73b" datatype="html">\n        <source>PGs per OSD</source>\n        <target>PG per OSD</target>\n      </trans-unit>\n      <trans-unit id="498a109c6e9e94f1966de01aa0326f7f0ac6fb52" datatype="html">\n        <source>PG Status</source>\n        <target>Status PG</target>\n      </trans-unit>\n      <trans-unit id="ce9dfdc6dccb28dc75a78c704e09dc18fb02dcfa" datatype="html">\n        <source>Capacity</source>\n        <target>Kapasitas</target>\n      </trans-unit>\n      <trans-unit id="44ecac93d67c6a671198091c2270354f80322327" datatype="html">\n        <source>\n          <x id="START_ITALIC_TEXT" ctype="x-i" equiv-text="<i>"/>\n          <x id="CLOSE_ITALIC_TEXT" ctype="x-i" equiv-text="</i>"/> See \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Logs\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more details.\n        </source>\n        <target>\n          <x id="START_ITALIC_TEXT" ctype="x-i" equiv-text="<i>"/>\n          <x id="CLOSE_ITALIC_TEXT" ctype="x-i" equiv-text="</i>"/> See \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Logs\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more details.\n        </target>\n      </trans-unit>\n      <trans-unit id="0c1e17956453ad772dbe82d6946f62748c692f3e" datatype="html">\n        <source>Ranks</source>\n        <target>Peringkat</target>\n      </trans-unit>\n      <trans-unit id="2b24e0b0b1629d2e8a51b9da7c75d6e6379f4bc4" datatype="html">\n        <source>Standbys</source>\n        <target>Standbys</target>\n      </trans-unit>\n      <trans-unit id="50df62325726db950523a5be1c78b8905fcc25d4" datatype="html">\n        <source>MDS performance counters</source>\n        <target>MDS performance counters</target>\n      </trans-unit>\n      <trans-unit id="6e213942c6354b9cbe7a650f0f1499bfc1000fb6" datatype="html">\n        <source>Directories</source>\n        <target>Directories</target>\n      </trans-unit>\n      <trans-unit id="47116253e36f4e38a97ba41b2d3122c6c15ab904" datatype="html">\n        <source>Clients (\n          <x id="INTERPOLATION" equiv-text="{{ clients.length }}"/>)\n        </source>\n        <target>Clients (\n          <x id="INTERPOLATION" equiv-text="{{ clients.length }}"/>)\n        </target>\n      </trans-unit>\n      <trans-unit id="bd5a3b1c5a3c185c7bbb0e09a061d4cdc88ce5ad" datatype="html">\n        <source>Current</source>\n        <target>Terkini</target>\n      </trans-unit>\n      <trans-unit id="e5e7d62e942083a59b0b31f54e17cd7958186052" datatype="html">\n        <source>Updated discovery authentication</source>\n        <target>Otentikasi penemuan telah diperbarui</target>\n      </trans-unit>\n      <trans-unit id="dd4ab758afd5fd5a6c6a25b2b30ff99d0c00e9ad" datatype="html">\n        <source>There are no portals available.</source>\n        <target>Tidak ada portal yang tersedia.</target>\n      </trans-unit>\n      <trans-unit id="83021e45778a4a230a14ca0c6d6ccdf05500ad93" datatype="html">\n        <source>There are no images available.</source>\n        <target>Tidak ada image yang tersedia.</target>\n      </trans-unit>\n      <trans-unit id="86684eb21f8a768e1dbc659e3d5da6861db544a0" datatype="html">\n        <source>There are no images available. Please make sure you add an image to the target.</source>\n        <target>Tidak ada image yang tersedia. Mohon pastikan Anda telah menambahkan image ke target.</target>\n      </trans-unit>\n      <trans-unit id="fffda6e440078f57eba93944ce051c593cc6ed7f" datatype="html">\n        <source>There are no initiators available. Please make sure you add an initiator to the target.</source>\n        <target>Tidak ada inisiator tersedia. Mohon pastikan Anda telah menambahkan inisiator ke target.</target>\n      </trans-unit>\n      <trans-unit id="cea3c6fe490385eef1584cbc4983fda7ece24bb6" datatype="html">\n        <source>target</source>\n        <target>target</target>\n      </trans-unit>\n      <trans-unit id="38baeb215c17af9d9e295e371a57f4a48ab4c191" datatype="html">\n        <source>Target</source>\n        <target>Target</target>\n      </trans-unit>\n      <trans-unit id="99e094878070eebc1b972bac02aaa33b2bf83b35" datatype="html">\n        <source># Sessions</source>\n        <target># Sessions</target>\n      </trans-unit>\n      <trans-unit id="2ea10b3668e04e057ba96ddcaf4c9b77089008ae" datatype="html">\n        <source>Unavailable gateway(s)</source>\n        <target>Unavailable gateway(s)</target>\n      </trans-unit>\n      <trans-unit id="c49e0dd71d551bd4928d967d78f0721dbf9f95e3" datatype="html">\n        <source>Target has active sessions</source>\n        <target>Target has active sessions</target>\n      </trans-unit>\n      <trans-unit id="a87acd72dfb68b45175270695209550a85adf50c" datatype="html">\n        <source>iSCSI target</source>\n        <target>iSCSI target</target>\n      </trans-unit>\n      <trans-unit id="873b72903b1858a9cd6c8967521030b4d7d1435b" datatype="html">\n        <source>State</source>\n        <target>Keadaan</target>\n      </trans-unit>\n      <trans-unit id="02b75464c0dc0cf49ea0208211b6fbcad3bf728a" datatype="html">\n        <source># Targets</source>\n        <target># Targets</target>\n      </trans-unit>\n      <trans-unit id="13415637c325ceefee29111b31cb48701490adf7" datatype="html">\n        <source>Read Bytes</source>\n        <target>Baca Bytes</target>\n      </trans-unit>\n      <trans-unit id="e2ed82b7bbf4a006e60e6208c597b05d5b5556e9" datatype="html">\n        <source>Write Bytes</source>\n        <target>Tulis Bytes</target>\n      </trans-unit>\n      <trans-unit id="6a32a5f58845ca840185ea9564682094e77a1d80" datatype="html">\n        <source>Read Ops</source>\n        <target>Ops Baca</target>\n      </trans-unit>\n      <trans-unit id="7c36cb8032af123d3550ffab2e1fa1e957c87fae" datatype="html">\n        <source>Write Ops</source>\n        <target>Ops Tulis</target>\n      </trans-unit>\n      <trans-unit id="458c33846a8c7e2feb9404bcf06723784e756cdc" datatype="html">\n        <source>A/O Since</source>\n        <target>A/O Sejak</target>\n      </trans-unit>\n      <trans-unit id="ff78f059449d44322f627d0f66df07abe476962b" datatype="html">\n        <source>Instance</source>\n        <target>Instance</target>\n      </trans-unit>\n      <trans-unit id="36fad7995cadfb3a6f0d43ef2db280146b3ca022" datatype="html">\n        <source>Issue</source>\n        <target>Isu</target>\n      </trans-unit>\n      <trans-unit id="15793f4cbc261bedbc60f7105533dde536a3f42b" datatype="html">\n        <source>Progress</source>\n        <target>Kemajuan</target>\n      </trans-unit>\n      <trans-unit id="25b725dba712a7a020fd34a72297befae975a492" datatype="html">\n        <source>Edit Site Name</source>\n        <target>Edit Site Name</target>\n      </trans-unit>\n      <trans-unit id="8c375764db42f5d736fb56d01b8052c006ccc8e2" datatype="html">\n        <source>Edit Mode</source>\n        <target>Mode Edit</target>\n      </trans-unit>\n      <trans-unit id="45932f2a0ea524b3425f4320ee46a6d1c68977bc" datatype="html">\n        <source>Add Peer</source>\n        <target>Tambahkan Mitra</target>\n      </trans-unit>\n      <trans-unit id="d3dc34662e3cda0dad646221651cebd26f731485" datatype="html">\n        <source>Edit Peer</source>\n        <target>Edit Mitra</target>\n      </trans-unit>\n      <trans-unit id="e8a0ec0b6ee72db0f27c186e09640d1ed41964bd" datatype="html">\n        <source>Delete Peer</source>\n        <target>Hapus Mitra</target>\n      </trans-unit>\n      <trans-unit id="314de06d6f64d39149e78e6d796585c0246fec0b" datatype="html">\n        <source>Leader</source>\n        <target>Pemimpin</target>\n      </trans-unit>\n      <trans-unit id="7acaab450312114059ced9e3737798ee9aa738b1" datatype="html">\n        <source># Local</source>\n        <target># Lokal</target>\n      </trans-unit>\n      <trans-unit id="7a3ffd88868135c44be3994263bb8e49d8358884" datatype="html">\n        <source># Remote</source>\n        <target># Jauh</target>\n      </trans-unit>\n      <trans-unit id="85ca0fd6a6ddd211023c70a25753122c5b978787" datatype="html">\n        <source>mirror peer</source>\n        <target>mitra pencerminan</target>\n      </trans-unit>\n      <trans-unit id="a6493c6ca346cd052da40423eda9c132de2b2002" datatype="html">\n        <source>Key</source>\n        <target>Kunci</target>\n      </trans-unit>\n      <trans-unit id="e9cac80fb5d9de66f0006d0bec530fd1fc69a674" datatype="html">\n        <source>RBD</source>\n        <target>RBD</target>\n      </trans-unit>\n      <trans-unit id="4130b1a836f2000cfe9a11fb62493dc42d444de7" datatype="html">\n        <source>Deep flatten</source>\n        <target>Perataan mendalam</target>\n      </trans-unit>\n      <trans-unit id="7b17694d7cb8ecb7c8440bc999dac21b44455b33" datatype="html">\n        <source>Layering</source>\n        <target>Lapisan</target>\n      </trans-unit>\n      <trans-unit id="6a072ce577c2079d0e0c31071a16824f6d22b84d" datatype="html">\n        <source>Exclusive lock</source>\n        <target>Kunci eksklusif</target>\n      </trans-unit>\n      <trans-unit id="7354f01320bf936a7f85577c9f71402635c3a362" datatype="html">\n        <source>Object map (requires exclusive-lock)</source>\n        <target>Peta objek (butuh kunci-eksklusif)</target>\n      </trans-unit>\n      <trans-unit id="fb7e625c1152f1c102cd16460955d124edff1770" datatype="html">\n        <source>Journaling (requires exclusive-lock)</source>\n        <target>Penjurnalan (membutuhkan kunci-eksklusif)</target>\n      </trans-unit>\n      <trans-unit id="df4044632bfc211dd96544fc8f007dabbeeb506c" datatype="html">\n        <source>Fast diff (interlocked with object-map)</source>\n        <target>Fast diff (interlocked with object-map)</target>\n      </trans-unit>\n      <trans-unit id="130fd872c78271a8f86b1ab16a76e823969c47d9" datatype="html">\n        <source>Namespace</source>\n        <target>Namespace</target>\n      </trans-unit>\n      <trans-unit id="14abc99daed542774633046c53b6ce8251331141" datatype="html">\n        <source>This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.</source>\n        <target>This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.</target>\n      </trans-unit>\n      <trans-unit id="51699f716cf34e6622ff7bfd84641480c045271a" datatype="html">\n        <source>Created namespace \'\n          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>\'\n        </source>\n        <target>Created namespace \'\n          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="bf44b7d6379ce0198ed3d95a27642a224181bf1d" datatype="html">\n        <source>Total images</source>\n        <target>Total images</target>\n      </trans-unit>\n      <trans-unit id="371ce3ffe62548d15e391a248bc554d903bb03fc" datatype="html">\n        <source>Deleted namespace \'\n          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>\'\n        </source>\n        <target>Deleted namespace \'\n          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="9d704fd00ca929f90c3119cefc581821ae58a73e" datatype="html">\n        <source>Namespace contains images</source>\n        <target>Namespace contains images</target>\n      </trans-unit>\n      <trans-unit id="c2017dc94b4f57a347ccb126e546e88942f4d7a6" datatype="html">\n        <source>RBD Snapshot</source>\n        <target>RBD Snapshot</target>\n      </trans-unit>\n      <trans-unit id="631fc50ec7c9bd81dc797a3c7e09eda1178ad999" datatype="html">\n        <source>Parent image must support Layering</source>\n        <target>Parent image must support Layering</target>\n      </trans-unit>\n      <trans-unit id="cb60c1cd3655234756b5b92d4d597d92d520ee30" datatype="html">\n        <source>PROTECTED</source>\n        <target>PROTECTED</target>\n      </trans-unit>\n      <trans-unit id="deffb86b8fb0541254ad5a43862d82bff6b6a6c4" datatype="html">\n        <source>UNPROTECTED</source>\n        <target>TIDAK DIPROTEKSI</target>\n      </trans-unit>\n      <trans-unit id="7eb984588f4835f6d0187b33769b4b0f62821640" datatype="html">\n        <source>RBD snapshot rollback</source>\n        <target>Kembalikan snapshot RBD</target>\n      </trans-unit>\n      <trans-unit id="4be22bf20ef82614ed53bcd3b912a85590aa71c9" datatype="html">\n        <source>Rollback</source>\n        <target>Kembalikan</target>\n      </trans-unit>\n      <trans-unit id="2a04c483708d261751d62082d6f03a50d4577b1e" datatype="html">\n        <source>RBD snapshot</source>\n        <target>Snapshot RBD</target>\n      </trans-unit>\n      <trans-unit id="fa96769d1ea86741297cb9b9769b0dcfde58c8b4" datatype="html">\n        <source>Deleted At</source>\n        <target>Dihapus pada</target>\n      </trans-unit>\n      <trans-unit id="e928864038ca70ee7d67bbf1fd71a01c3938a127" datatype="html">\n        <source>id</source>\n        <target>id</target>\n      </trans-unit>\n      <trans-unit id="240c9c1e96dc38814922a83ad041dc815b084f32" datatype="html">\n        <source>type</source>\n        <target>tipe</target>\n      </trans-unit>\n      <trans-unit id="c9d7ec7ee5b4e282f2228fa996651ec4ef5195a9" datatype="html">\n        <source>state</source>\n        <target>keadaan</target>\n      </trans-unit>\n      <trans-unit id="5780e5c3b4fc2ae07836bb5221cec4f8d597630d" datatype="html">\n        <source>version</source>\n        <target>versi</target>\n      </trans-unit>\n      <trans-unit id="fe22ca53e651df951dac25b67c17894b0980f767" datatype="html">\n        <source>Host</source>\n        <target>Hos</target>\n      </trans-unit>\n      <trans-unit id="fb69299354312c8954ecf324997ccafcd9f6b14b" datatype="html">\n        <source>root</source>\n        <target>induk</target>\n      </trans-unit>\n      <trans-unit id="d34feb369d308075b423d5c5fc431f9766bf7a11" datatype="html">\n        <source>Evicted client "\n          <x id="INTERPOLATION" equiv-text="{{clientId}}"/>"\n        </source>\n        <target>Evicted client "\n          <x id="INTERPOLATION" equiv-text="{{clientId}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="7db875ff4cc626d394f37fba95c075b2e4bfeb00" datatype="html">\n        <source>Standby daemons</source>\n        <target>Daemon siaga</target>\n      </trans-unit>\n      <trans-unit id="3c3a423d91e36ac6624e909fcd2669a25685f847" datatype="html">\n        <source>Rank</source>\n        <target>Peringkat</target>\n      </trans-unit>\n      <trans-unit id="9596ecae8956e96921acef47aec787f6bdc37454" datatype="html">\n        <source>Daemon</source>\n        <target>Daemon</target>\n      </trans-unit>\n      <trans-unit id="f2005fa461c06dc2e04d8918bbabedf23604b5b7" datatype="html">\n        <source>Activity</source>\n        <target>Aktivitas</target>\n      </trans-unit>\n      <trans-unit id="e3a986984ae0c3b43af648c3fa638649d1c00348" datatype="html">\n        <source>Dentries</source>\n        <target>Dentries</target>\n      </trans-unit>\n      <trans-unit id="7c692ab865066967d73c6d64ec0691cc6ce91b93" datatype="html">\n        <source>Inodes</source>\n        <target>Inode</target>\n      </trans-unit>\n      <trans-unit id="45f210b96a2a6e91f52f153a4f8dc30662629f8e" datatype="html">\n        <source>Usage</source>\n        <target>Penggunaan</target>\n      </trans-unit>\n      <trans-unit id="950b5f04a2efd3f11c0f76418d5a4212381e792e" datatype="html">\n        <source>Origin</source>\n        <target>Origin</target>\n      </trans-unit>\n      <trans-unit id="2ea2ec95d93fd55d0db6e9d2b95b25e153d4cec2" datatype="html">\n        <source>Max size</source>\n        <target>Max size</target>\n      </trans-unit>\n      <trans-unit id="665dced3a61bca44924a0bde4be47390225a4898" datatype="html">\n        <source>Max files</source>\n        <target>Max files</target>\n      </trans-unit>\n      <trans-unit id="0ccf776baac60794b142526986f3af85848c7059" datatype="html">\n        <source>The inherited \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/> is the maximum value to be used.\n        </source>\n        <target>The inherited \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/> is the maximum value to be used.\n        </target>\n      </trans-unit>\n      <trans-unit id="b0e2ef28384f2de6674cac300c779f900929a89b" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{action}}"/> CephFS \n          <x id="INTERPOLATION_1" equiv-text="{{quotaName}}"/> quota for \'\n          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>\'\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{action}}"/> CephFS \n          <x id="INTERPOLATION_1" equiv-text="{{quotaName}}"/> quota for \'\n          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="542ef638499635dec7641bdc2e499258094187cc" datatype="html">\n        <source>size</source>\n        <target>size</target>\n      </trans-unit>\n      <trans-unit id="ce90ff00c341d8eef96b0e7956bb85b8faba3839" datatype="html">\n        <source>files</source>\n        <target>files</target>\n      </trans-unit>\n      <trans-unit id="fbe8b9340c08c24aef62ffe81c83e2b46a4f1495" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{quotaName}}"/> quota \n          <x id="INTERPOLATION_1" equiv-text="{{value}}"/> from \'\n          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>\'\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{quotaName}}"/> quota \n          <x id="INTERPOLATION_1" equiv-text="{{value}}"/> from \'\n          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="37c2c0a4a356465eef2edfb09ffffc6db5259975" datatype="html">\n        <source>Value has to be at least \n          <x id="INTERPOLATION" equiv-text="{{value}}"/> or more\n        </source>\n        <target>Value has to be at least \n          <x id="INTERPOLATION" equiv-text="{{value}}"/> or more\n        </target>\n      </trans-unit>\n      <trans-unit id="73f8e64703a707e2cf98b9a10653cd3bbdd8cab1" datatype="html">\n        <source>Value has to be at most \n          <x id="INTERPOLATION" equiv-text="{{value}}"/> or less\n        </source>\n        <target>Value has to be at most \n          <x id="INTERPOLATION" equiv-text="{{value}}"/> or less\n        </target>\n      </trans-unit>\n      <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc" datatype="html">\n        <source>Updated</source>\n        <target>Diperbarui</target>\n      </trans-unit>\n      <trans-unit id="b6a4cf4f302c7fcbec199ce0df42b8282d682b04" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{action}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{quotaValue}}"/>\n          <x id="INTERPOLATION_2" equiv-text="{{conclusion}}"/>.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{action}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{quotaValue}}"/>\n          <x id="INTERPOLATION_2" equiv-text="{{conclusion}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="a40024afb071f68fec949094a71f832d5611bca5" datatype="html">\n        <source>in order to inherit \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>\n        </source>\n        <target>in order to inherit \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="c108ff588291e9c040adea2adf35e7236cf29925" datatype="html">\n        <source>which isn\'t used because of the inheritance of \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>\n        </source>\n        <target>which isn\'t used because of the inheritance of \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="d3785a64d1c72b03b2212855ce695b45ed0342d2" datatype="html">\n        <source>in order to have no quota on the directory</source>\n        <target>in order to have no quota on the directory</target>\n      </trans-unit>\n      <trans-unit id="c4d3a3446a7f36825291c5e76c4a6b7919f9bd2f" datatype="html">\n        <source>Create Snapshot</source>\n        <target>Create Snapshot</target>\n      </trans-unit>\n      <trans-unit id="e9af734e231b837d64df21008e2eb1fdff566a61" datatype="html">\n        <source>Please enter the name of the snapshot.</source>\n        <target>Please enter the name of the snapshot.</target>\n      </trans-unit>\n      <trans-unit id="8c4d3039e6a953b0d6f1b1313ffa60c5d2b35dc7" datatype="html">\n        <source>Created snapshot "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "\n          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"\n        </source>\n        <target>Created snapshot "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "\n          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="126ad894f74ee9a999825f3f4ac5a31fdfc093bf" datatype="html">\n        <source>CephFs Snapshot</source>\n        <target>CephFs Snapshot</target>\n      </trans-unit>\n      <trans-unit id="1e4d1c0865adc485260740c42ac5af68ce8feb13" datatype="html">\n        <source>Deleted snapshot "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "\n          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"\n        </source>\n        <target>Deleted snapshot "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "\n          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="22e4e574b7f8abf58254f328792445b42e2a924a" datatype="html">\n        <source>The value can be updated at runtime.</source>\n        <target>Nilai dapat diperbarui saat runtime.</target>\n      </trans-unit>\n      <trans-unit id="d7770de7b2343c9deeaa7ebf37ba3e35ca5c5988" datatype="html">\n        <source>Daemons/clients do not pull this value from the\n      monitor config database. We disallow setting this option via \'ceph config\n      set ...\'. This option should be configured via ceph.conf or via the\n      command line.</source>\n        <target>Daemon/klien tidak dapat mengambil nilai dari\nbasis data konfigurasi monitor. Kami tidak mengizinkan mengubah ini dari \'ceph config\nset ...\'. Pilihan ini harus dikonfigurasi melalui ceph.conf atau CLI.</target>\n      </trans-unit>\n      <trans-unit id="83f11fd1dc503c37931ea6c1c5c1e8c2b4b597b6" datatype="html">\n        <source>Option takes effect only during daemon startup.</source>\n        <target>Pilihan hanya dapat bekerja selama daemon dimulai.</target>\n      </trans-unit>\n      <trans-unit id="837a07cd6a971038b8b1aa190c43440c9fdb5d8b" datatype="html">\n        <source>Option only affects cluster creation.</source>\n        <target>Pilihan hanya berpengaruh pada pembuatan klaster.</target>\n      </trans-unit>\n      <trans-unit id="2566a88eb247c918b71cfe5b354c31de0d4b01e5" datatype="html">\n        <source>Option only affects daemon creation.</source>\n        <target>Pilihan hanya berpengaruh pada pembuatan daemon.</target>\n      </trans-unit>\n      <trans-unit id="1cdc60cfc09c257625768f3d2082816cdef27279" datatype="html">\n        <source>Updated config option \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\n        </source>\n        <target>Updated config option \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="d473e0f684a60db45d6f31e993f693f74290e056" datatype="html">\n        <source>Service</source>\n        <target>Layanan</target>\n      </trans-unit>\n      <trans-unit id="6986e0df8092d822ac2c076520d83994c78834fc" datatype="html">\n        <source>Modified</source>\n        <target>Modified</target>\n      </trans-unit>\n      <trans-unit id="9951bb3983c7dba6fde013e05c922e4fe1a44367" datatype="html">\n        <source>Current value</source>\n        <target>Nilai saat ini</target>\n      </trans-unit>\n      <trans-unit id="4a01c175f90dd92b432f4a4a199d2c7bb9d997ff" datatype="html">\n        <source>Editable</source>\n        <target>Dapat diedit</target>\n      </trans-unit>\n      <trans-unit id="261c0af854e8684abc15f89dce6efb3e72344b18" datatype="html">\n        <source>host</source>\n        <target>host</target>\n      </trans-unit>\n      <trans-unit id="b1b381321d4cef04605d3e6e8847ea2b72a03799" datatype="html">\n        <source>Identify</source>\n        <target>Identify</target>\n      </trans-unit>\n      <trans-unit id="a5d5e407f8c4e1b152509c966c90f37edf68472e" datatype="html">\n        <source>Device path</source>\n        <target>Device path</target>\n      </trans-unit>\n      <trans-unit id="b7da3e3505cc80f9bf3cffc8444c53e8a9ec70a5" datatype="html">\n        <source>Available</source>\n        <target>Available</target>\n      </trans-unit>\n      <trans-unit id="396974120fc614fc930a27c8d15a094d82a3a9e4" datatype="html">\n        <source>Vendor</source>\n        <target>Vendor</target>\n      </trans-unit>\n      <trans-unit id="6ec98fa3d6504ba1fd03465194b53706c8263c99" datatype="html">\n        <source>Model</source>\n        <target>Model</target>\n      </trans-unit>\n      <trans-unit id="f2d785f5658c96c6a2f505cdd625108bcece84c3" datatype="html">\n        <source>Identify device \n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\n        </source>\n        <target>Identify device \n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="c97ab45ca09248f8f1ba60328175741657fe39ce" datatype="html">\n        <source>Please enter the duration how long to blink the LED.</source>\n        <target>Please enter the duration how long to blink the LED.</target>\n      </trans-unit>\n      <trans-unit id="87e56ee5057023d7e8b59420b838bad112b043bc" datatype="html">\n        <source>1 minute</source>\n        <target>1 minute</target>\n      </trans-unit>\n      <trans-unit id="affa3b3bf1f36531e5ae65291f8a7cd1b06860ee" datatype="html">\n        <source>2 minutes</source>\n        <target>2 minutes</target>\n      </trans-unit>\n      <trans-unit id="878c6645b7fc26d85c7aee17a9d8c282a938dcf3" datatype="html">\n        <source>5 minutes</source>\n        <target>5 minutes</target>\n      </trans-unit>\n      <trans-unit id="aa0a76140961594b7176ade241e5025a7dbb5dce" datatype="html">\n        <source>10 minutes</source>\n        <target>10 minutes</target>\n      </trans-unit>\n      <trans-unit id="0a7f83a1f27750ef634a1f1f97263fac36113b1f" datatype="html">\n        <source>15 minutes</source>\n        <target>15 minutes</target>\n      </trans-unit>\n      <trans-unit id="699b690d686dbb8e00a1e95b89ba2fffb548da6e" datatype="html">\n        <source>Execute</source>\n        <target>Execute</target>\n      </trans-unit>\n      <trans-unit id="aa975a86dd49979a3ae90b9f3fc5b2c97311d422" datatype="html">\n        <source>Identifying \'\n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\' started on host \'\n          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>\'\n        </source>\n        <target>Identifying \'\n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\' started on host \'\n          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="1a6e6ad05508130b7a99ce5b15daf3227c2a930c" datatype="html">\n        <source>Updated options for module "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>".\n        </source>\n        <target>Updated options for module "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="6bd47ff8707aa2e6a94a4a6e2566b86dc7956d5f" datatype="html">\n        <source>Always-On</source>\n        <target>Always-On</target>\n      </trans-unit>\n      <trans-unit id="ac6c9212896d39b23811ed2dadab7d07336ec559" datatype="html">\n        <source>Enable</source>\n        <target>Aktifkan</target>\n      </trans-unit>\n      <trans-unit id="6766a926d80bb7763785621098dae459d6226429" datatype="html">\n        <source>Disable</source>\n        <target>Nonaktifkan</target>\n      </trans-unit>\n      <trans-unit id="340f2f312c2eb353e5cd69aee6bee7f5a73c34ac" datatype="html">\n        <source>This Manager module is always on.</source>\n        <target>This Manager module is always on.</target>\n      </trans-unit>\n      <trans-unit id="6a0b3657745dd7a2f2162f1cc790bf9004d0845d" datatype="html">\n        <source>Reconnecting, please wait ...</source>\n        <target>Menghubungkan kembali, mohon tunggu...</target>\n      </trans-unit>\n      <trans-unit id="7099a8878af7a0a26fe5663c4f46cfe87142b75d" datatype="html">\n        <source>Public Address</source>\n        <target>Alamat Publik</target>\n      </trans-unit>\n      <trans-unit id="cbdd1cdc0c7a87f55dd177bc44212f0fc4b80852" datatype="html">\n        <source>Open Sessions</source>\n        <target>Buka Sesi</target>\n      </trans-unit>\n      <trans-unit id="34c6f45591d420b1101dcee53999d1de91c0e400" datatype="html">\n        <source>No available devices</source>\n        <target>No available devices</target>\n      </trans-unit>\n      <trans-unit id="dcfe8807a2a1d0d7074a02afe9b80645bd03b9ab" datatype="html">\n        <source>Please add primary devices first</source>\n        <target>Please add primary devices first</target>\n      </trans-unit>\n      <trans-unit id="05d024719e53f85f7f294b7e21dfd805709a0b06" datatype="html">\n        <source>Add devices by using filters</source>\n        <target>Add devices by using filters</target>\n      </trans-unit>\n      <trans-unit id="37e58d1cbdf8212b380efa51422e42821d4f08e6" datatype="html">\n        <source>No In</source>\n        <target>Tidak boleh Masuk</target>\n      </trans-unit>\n      <trans-unit id="12706eb5af17ff5ad77b3de21af368d24678e00b" datatype="html">\n        <source>OSDs that were previously marked out will not be marked back in when they start</source>\n        <target>OSD yang telah ditandai keluar tidak akan ditandai masuk saat mereka menyala</target>\n      </trans-unit>\n      <trans-unit id="96114d7624d11dc90ca46cfa96145fe22118df76" datatype="html">\n        <source>No Out</source>\n        <target>Tidak boleh Keluar</target>\n      </trans-unit>\n      <trans-unit id="a2ef636fe1ddd56b63e4aaf3d292f33dbf735ef3" datatype="html">\n        <source>OSDs will not automatically be marked out after the configured interval</source>\n        <target>OSD tidak akan otomatis ditandai keluar setelah interval dikonfigurasi</target>\n      </trans-unit>\n      <trans-unit id="ee50aefa9b8bde1e5429b48709a23abfe08358e0" datatype="html">\n        <source>No Up</source>\n        <target>Tidak Nyala</target>\n      </trans-unit>\n      <trans-unit id="608929b939307e397586a98cea52ae38997c7273" datatype="html">\n        <source>OSDs are not allowed to start</source>\n        <target>OSD tidak diizinkan menyala</target>\n      </trans-unit>\n      <trans-unit id="1751ab69c1e7f62927afedbf7116e0116316c551" datatype="html">\n        <source>No Down</source>\n        <target>Tidak Mati</target>\n      </trans-unit>\n      <trans-unit id="41fac86dfb65c1db690f3e87f6497cb73b281084" datatype="html">\n        <source>OSD failure reports are being ignored, such that the monitors will not mark OSDs down</source>\n        <target>Laporan kegagalan OSD sedang diabaikan sehingga monitor tidak akan menandai OSD mati</target>\n      </trans-unit>\n      <trans-unit id="b2838c6165a9672a17db188f4dd9676574353dd8" datatype="html">\n        <source>Pause</source>\n        <target>Jeda</target>\n      </trans-unit>\n      <trans-unit id="191d71dadcc8790573d46706a0b48211de4b8334" datatype="html">\n        <source>Pauses reads and writes</source>\n        <target>Jeda baca dan tulis</target>\n      </trans-unit>\n      <trans-unit id="471d5ba75836f38c19992cf83d8822632d99e473" datatype="html">\n        <source>No Scrub</source>\n        <target>Nonaktifkan Scrub</target>\n      </trans-unit>\n      <trans-unit id="5b8caa61814121bc36dac0c34a9e9de3cae74990" datatype="html">\n        <source>Scrubbing is disabled</source>\n        <target>Scrubbing dinonaktifkan</target>\n      </trans-unit>\n      <trans-unit id="7f29a0ac1c797bdc0347dd5d0734ba83e96e7ce6" datatype="html">\n        <source>No Deep Scrub</source>\n        <target>Nonaktifkan Deep Scrub</target>\n      </trans-unit>\n      <trans-unit id="01da61ab216541a8d31259cebd16b10c7e5fc124" datatype="html">\n        <source>Deep Scrubbing is disabled</source>\n        <target>Deep Scrubing dinonaktifkan</target>\n      </trans-unit>\n      <trans-unit id="0b86c7f18ac725de62c7e192dcfccd02c0dc40ab" datatype="html">\n        <source>No Backfill</source>\n        <target>Tidak ada Penambalan</target>\n      </trans-unit>\n      <trans-unit id="bd33a2bdc8fbed3b7469f3717c16d9aaa2851fdd" datatype="html">\n        <source>Backfilling of PGs is suspended</source>\n        <target>Penambalan PG dihentikan</target>\n      </trans-unit>\n      <trans-unit id="df526de2b93c4099a30c200ef551608e39ee5256" datatype="html">\n        <source>No Rebalance</source>\n        <target>No Rebalance</target>\n      </trans-unit>\n      <trans-unit id="c5b70346245f8d52b58e5e7fe222ce82f12429ce" datatype="html">\n        <source>OSD will choose not to backfill unless PG is also degraded</source>\n        <target>OSD will choose not to backfill unless PG is also degraded</target>\n      </trans-unit>\n      <trans-unit id="7fbbd036394cfa623add40299757bc87df8eaa7e" datatype="html">\n        <source>No Recover</source>\n        <target>Tidak ada Pemulihan</target>\n      </trans-unit>\n      <trans-unit id="f3ee9b451a64dca47299c9b4ae1091c2008068ad" datatype="html">\n        <source>Recovery of PGs is suspended</source>\n        <target>Pemulihan PG dihentikan</target>\n      </trans-unit>\n      <trans-unit id="de904148fe7e8d812218f50333ffe247900617c5" datatype="html">\n        <source>Bitwise Sort</source>\n        <target>Urutan Bitwise</target>\n      </trans-unit>\n      <trans-unit id="2613c9fde29785bcd75f0abeccb653d14d7527b3" datatype="html">\n        <source>Use bitwise sort</source>\n        <target>Gunakan urutan bitwise</target>\n      </trans-unit>\n      <trans-unit id="2fe10d84250aeee365db244251d40934c70ff1e9" datatype="html">\n        <source>Purged Snapdirs</source>\n        <target>Buang Snapdirs</target>\n      </trans-unit>\n      <trans-unit id="6b22a5b780eda3c5d500cdac9c6d4f96978c38f1" datatype="html">\n        <source>OSDs have converted snapsets</source>\n        <target>OSD memiliki snapset yang dikonversi</target>\n      </trans-unit>\n      <trans-unit id="c42f0ba60564dc5b977a8c7f3fdcde9efbb39c60" datatype="html">\n        <source>Recovery Deletes</source>\n        <target>Pulihkan yang telah dihapus</target>\n      </trans-unit>\n      <trans-unit id="72fe39979198ea2ed6db6274b5029025cb316d90" datatype="html">\n        <source>Deletes performed during recovery instead of peering</source>\n        <target>Penghapusan dilakukan saat pemulihan bukan saat bermitra</target>\n      </trans-unit>\n      <trans-unit id="1bb4a1f9127cefe624c173557a716d0ebb6d647c" datatype="html">\n        <source>PG Log Hard Limit</source>\n        <target>Batas Maks Log PG</target>\n      </trans-unit>\n      <trans-unit id="e03c0321397fdf7a9c22e8d6b5015424943c0a57" datatype="html">\n        <source>Puts a hard limit on pg log length</source>\n        <target>Taruh batas maks pada panjang log pg</target>\n      </trans-unit>\n      <trans-unit id="3c384e2e80c6b5eb24861fbf4225b69486cff4a3" datatype="html">\n        <source>Updated OSD Flags</source>\n        <target>Flag OSD diperbarui</target>\n      </trans-unit>\n      <trans-unit id="948758e1412bb2ecdb98e3a4f1cbb6d7458456f2" datatype="html">\n        <source>Encryption</source>\n        <target>Encryption</target>\n      </trans-unit>\n      <trans-unit id="c8b1475105463088593de1022ff6dceb523eae0e" datatype="html">\n        <source>OSD</source>\n        <target>OSD</target>\n      </trans-unit>\n      <trans-unit id="688578fcc739d6f0c5fb6c366dbb19d21c6d9e36" datatype="html">\n        <source>out</source>\n        <target>keluar</target>\n      </trans-unit>\n      <trans-unit id="cb0f69bdd4dea41d7d45c74b6e07f98de8a2ab26" datatype="html">\n        <source>in</source>\n        <target>masuk</target>\n      </trans-unit>\n      <trans-unit id="b5fbc7c7f007dd53b2318525bb7ff8b0376c9e37" datatype="html">\n        <source>down</source>\n        <target>gugur</target>\n      </trans-unit>\n      <trans-unit id="b58719bcb9184e1a7884d00d22d10899d59bf295" datatype="html">\n        <source>Mark</source>\n        <target>Tandai</target>\n      </trans-unit>\n      <trans-unit id="31a1c1aa03f1e5084750bedb4e3fdc04ce2cb6ca" datatype="html">\n        <source>OSD lost</source>\n        <target>OSD hilang</target>\n      </trans-unit>\n      <trans-unit id="f3fc4c85c5b8f1dedea0496b72d0af9da7b9e0d9" datatype="html">\n        <source>marked lost</source>\n        <target>ditandai hilang</target>\n      </trans-unit>\n      <trans-unit id="40fedc157ad899a18ec40573f770d18b040959d2" datatype="html">\n        <source>Purge</source>\n        <target>Buang</target>\n      </trans-unit>\n      <trans-unit id="4f3cff08c7033b63bbccfe66006b1bcaea48ddd8" datatype="html">\n        <source>purged</source>\n        <target>dibuang</target>\n      </trans-unit>\n      <trans-unit id="8e5d1b01eca6dce26a4751f0b19bda7a6ab8db5b" datatype="html">\n        <source>destroy</source>\n        <target>hancurkan</target>\n      </trans-unit>\n      <trans-unit id="495a06b78bf165a7b545fa002137f0846b094a3d" datatype="html">\n        <source>destroyed</source>\n        <target>dihancurkan</target>\n      </trans-unit>\n      <trans-unit id="70ef158c584bafe788e319a0bffa11b02ee9abf1" datatype="html">\n        <source>delete</source>\n        <target>hapus</target>\n      </trans-unit>\n      <trans-unit id="a5b387f5a15b95e339df10fc23526c659a2b6c6f" datatype="html">\n        <source>deleted</source>\n        <target>deleted</target>\n      </trans-unit>\n      <trans-unit id="107614b994f2b01abdc1ca179bf780b0cd933ec4" datatype="html">\n        <source>Recovery Priority</source>\n        <target>Recovery Priority</target>\n      </trans-unit>\n      <trans-unit id="359dad5a3a912ef9dece3194035020856805aa96" datatype="html">\n        <source>PG scrub</source>\n        <target>PG scrub</target>\n      </trans-unit>\n      <trans-unit id="953144c420c2e5abd02e6a687433eac60fa852bd" datatype="html">\n        <source>PGs</source>\n        <target>PG</target>\n      </trans-unit>\n      <trans-unit id="7d3523ea9d35c274cef84043de8a2fdde540a9a1" datatype="html">\n        <source>Read bytes</source>\n        <target>Bita baca</target>\n      </trans-unit>\n      <trans-unit id="f15bf7f588f09ca79795b17bc244e8d336f28171" datatype="html">\n        <source>Write bytes</source>\n        <target>Bita tulis</target>\n      </trans-unit>\n      <trans-unit id="f3c33322823c846b13f59ba2c8f234405bba99e1" datatype="html">\n        <source>Read ops</source>\n        <target>Ops baca</target>\n      </trans-unit>\n      <trans-unit id="7e0b24a17546cbfab48b03dc874461d1ca68bc9a" datatype="html">\n        <source>Write ops</source>\n        <target>Ops tulis</target>\n      </trans-unit>\n      <trans-unit id="b27d1dd31789610130b7cdbf88c4da552cffe936" datatype="html">\n        <source>Edit OSD: \n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\n        </source>\n        <target>Edit OSD: \n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="986f1379580078e77666d10f8ddf4f839c6ca71d" datatype="html">\n        <source>Edit OSD</source>\n        <target>Edit OSD</target>\n      </trans-unit>\n      <trans-unit id="a4b09e2fa39c3e4f1a387f191fbae4eea3ce7bf5" datatype="html">\n        <source>Updated OSD "\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>"\n        </source>\n        <target>Updated OSD "\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="d45455406092f58e6b089cb440b5b7934b801a01" datatype="html">\n        <source>Mark OSD \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </source>\n        <target>Mark OSD \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="de0b7806e451b3b3dbd564decba59981fe781c18" datatype="html">\n        <source>Mark \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </source>\n        <target>Mark \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="bba1d3bb4f8a47aa2b3068e242562196eadb1e83" datatype="html">\n        <source>PG scrub options</source>\n        <target>PG scrub options</target>\n      </trans-unit>\n      <trans-unit id="b0b7748ebc9b7a6942a8cac4a89d4b215b365878" datatype="html">\n        <source>Updated PG scrub options</source>\n        <target>Updated PG scrub options</target>\n      </trans-unit>\n      <trans-unit id="4edc2162af0bd6cd941eaf730d20a7e3b5a83ba7" datatype="html">\n        <source>Max Backfills</source>\n        <target>Maks Penambalan</target>\n      </trans-unit>\n      <trans-unit id="eb5e6c24a48a1dfe23e0a772b762be5e949c0c8a" datatype="html">\n        <source>Recovery Max Active</source>\n        <target>Maks Pemulihan Aktif</target>\n      </trans-unit>\n      <trans-unit id="4a23c6d3859e03184118620d2baeb736ac765fbf" datatype="html">\n        <source>Recovery Max Single Start</source>\n        <target>Maks Menjalankan Pemulihan Tunggal</target>\n      </trans-unit>\n      <trans-unit id="97049169ef5228fd1724de2fcdad1fec2858eaf8" datatype="html">\n        <source>Recovery Sleep</source>\n        <target>Jeda Pemulihan</target>\n      </trans-unit>\n      <trans-unit id="89553524f4e7db5c437b07dcfdc7b831d56ded1a" datatype="html">\n        <source>Updated OSD recovery speed priority "\n          <x id="INTERPOLATION" equiv-text="{{value}}"/>"\n        </source>\n        <target>Updated OSD recovery speed priority "\n          <x id="INTERPOLATION" equiv-text="{{value}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="ccf5f30798c03d2d8efd0e6eb508320c018b722d" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{operation}}"/> was initialized in the following OSD(s): \n          <x id="INTERPOLATION_1" equiv-text="{{id}}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{operation}}"/> was initialized in the following OSD(s): \n          <x id="INTERPOLATION_1" equiv-text="{{id}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="3bc2d18913479965cb046ec75e2ac3f7b7a77ce5" datatype="html">\n        <source>Create Silence</source>\n        <target>Create Silence</target>\n      </trans-unit>\n      <trans-unit id="78917e8031aaf913ac3fa63295325ce8879703ce" datatype="html">\n        <source>Job</source>\n        <target>Tugas</target>\n      </trans-unit>\n      <trans-unit id="94287619205068b591c18493c64781424864c259" datatype="html">\n        <source>Severity</source>\n        <target>Keparahan</target>\n      </trans-unit>\n      <trans-unit id="e6cfbe0c5e0302ba2cec22315f6a28f8ac46b651" datatype="html">\n        <source>Started</source>\n        <target>Dimulai</target>\n      </trans-unit>\n      <trans-unit id="801b98c6f02fe3b32f6afa3ee854c99ed83474e6" datatype="html">\n        <source>URL</source>\n        <target>URL</target>\n      </trans-unit>\n      <trans-unit id="d9f726c70aeba7fa6d3d68bff718abe78b1e50ac" datatype="html">\n        <source>Query</source>\n        <target>Query</target>\n      </trans-unit>\n      <trans-unit id="a5cd682a8a33bdc72e093d059429e3cc3a50ec1d" datatype="html">\n        <source>silence</source>\n        <target>silence</target>\n      </trans-unit>\n      <trans-unit id="f557e117e059e7036c6eecacd325a6ae35d866e0" datatype="html">\n        <source>Attribute name</source>\n        <target>Attribute name</target>\n      </trans-unit>\n      <trans-unit id="50f7f517ad8158667f7d4e2bd6f3256e05156e75" datatype="html">\n        <source>Regular expression</source>\n        <target>Regular expression</target>\n      </trans-unit>\n      <trans-unit id="81b1eab399c47110d50f45e3ccb4c009de7cb581" datatype="html">\n        <source>Please add your Prometheus host to the dashboard configuration and refresh the page</source>\n        <target>Please add your Prometheus host to the dashboard configuration and refresh the page</target>\n      </trans-unit>\n      <trans-unit id="29b4ae3296e239446fa0dea88a5112de15cffa54" datatype="html">\n        <source>Created by</source>\n        <target>Created by</target>\n      </trans-unit>\n      <trans-unit id="8d833cceee0ba4c5161b130365e02bc1e129b57e" datatype="html">\n        <source>Ends</source>\n        <target>Ends</target>\n      </trans-unit>\n      <trans-unit id="46a11ff4289e8c88b1b7a935f8d8ee704055f11a" datatype="html">\n        <source>Silence</source>\n        <target>Silence</target>\n      </trans-unit>\n      <trans-unit id="f2ea47d702c7f5e3e5fa751bf9959e21030b72e6" datatype="html">\n        <source>Daemon type</source>\n        <target>Daemon type</target>\n      </trans-unit>\n      <trans-unit id="6c131968e6ab730d86443e6fc11c5cc2a76d7bac" datatype="html">\n        <source>Daemon ID</source>\n        <target>Daemon ID</target>\n      </trans-unit>\n      <trans-unit id="5738f0ca7ddd9594058ce051b1d5d576e2782825" datatype="html">\n        <source>Container ID</source>\n        <target>Container ID</target>\n      </trans-unit>\n      <trans-unit id="78ebcf850cd440c5efc15e6a3a522ae75aeff669" datatype="html">\n        <source>Container Image name</source>\n        <target>Container Image name</target>\n      </trans-unit>\n      <trans-unit id="ea0c7ab9a7bdf646d494abf8c85fbf67d934d079" datatype="html">\n        <source>Container Image ID</source>\n        <target>Container Image ID</target>\n      </trans-unit>\n      <trans-unit id="bf2468fd965b8a59c135ad549b3a612aa9873abc" datatype="html">\n        <source>Status Description</source>\n        <target>Status Description</target>\n      </trans-unit>\n      <trans-unit id="19867330bdc84096f5a93ab087a1766476c8a074" datatype="html">\n        <source>Last Refreshed</source>\n        <target>Last Refreshed</target>\n      </trans-unit>\n      <trans-unit id="2349ee2027ab6ceb3e4b8834928562075b7e1ac7" datatype="html">\n        <source>Container image name</source>\n        <target>Container image name</target>\n      </trans-unit>\n      <trans-unit id="3c475503fb93338811af6b3d9ccacca1d7334609" datatype="html">\n        <source>Container image ID</source>\n        <target>Container image ID</target>\n      </trans-unit>\n      <trans-unit id="8dd15f6c73c05a8b0bd7b6d416487ab6570b88c8" datatype="html">\n        <source>Running</source>\n        <target>Running</target>\n      </trans-unit>\n      <trans-unit id="fb2e1bed329dc5b84197808c778abb9edcbdb335" datatype="html">\n        <source>Used</source>\n        <target>Terpakai</target>\n      </trans-unit>\n      <trans-unit id="4f1ab04d9100fb0df0e62b921ec46ae052ae29fc" datatype="html">\n        <source>Avail.</source>\n        <target>Tersedia</target>\n      </trans-unit>\n      <trans-unit id="a1c9b3d4fa67450fe9afd1d726f8a1bd91d990ea" datatype="html">\n        <source>Clean</source>\n        <target>Bersih</target>\n      </trans-unit>\n      <trans-unit id="0054f5460090d6dde385e8f099d598df5d28cf54" datatype="html">\n        <source>Working</source>\n        <target>Bekerja</target>\n      </trans-unit>\n      <trans-unit id="a8059e31694578c1b0344a76a345357dd60e8f01" datatype="html">\n        <source>Warning</source>\n        <target>Peringatan</target>\n      </trans-unit>\n      <trans-unit id="e5d8bb389c702588877f039d72178f219453a72d" datatype="html">\n        <source>Unknown</source>\n        <target>Tidak diketahui</target>\n      </trans-unit>\n      <trans-unit id="88155be1b9b9c6140d6e8f93bac4a775cfdc6671" datatype="html">\n        <source>Healthy</source>\n        <target>Healthy</target>\n      </trans-unit>\n      <trans-unit id="8a3aec4dc1a6e2d4c612ae85e0537acbb20a0f85" datatype="html">\n        <source>Misplaced</source>\n        <target>Misplaced</target>\n      </trans-unit>\n      <trans-unit id="ee81f9bf7ceac69712e0b83e8adc268739f9673e" datatype="html">\n        <source>Degraded</source>\n        <target>Degraded</target>\n      </trans-unit>\n      <trans-unit id="14625bc4025daef1969777a67a3cca27e0cd9167" datatype="html">\n        <source>Unfound</source>\n        <target>Unfound</target>\n      </trans-unit>\n      <trans-unit id="8f23ea509d081c2f747d083d44608dbf125b2ea2" datatype="html">\n        <source>replicas</source>\n        <target>replicas</target>\n      </trans-unit>\n      <trans-unit id="129a2224e1f9d19eb5e11e2a07fe10a785556484" datatype="html">\n        <source>up</source>\n        <target>nyala</target>\n      </trans-unit>\n      <trans-unit id="d5f29cf0af691726483262d647eb6622be002512" datatype="html">\n        <source>no filesystems</source>\n        <target>tidak ada filesistem</target>\n      </trans-unit>\n      <trans-unit id="b1c4387ffab06f3fa9fdb4411aea955595538d44" datatype="html">\n        <source>active</source>\n        <target>aktif</target>\n      </trans-unit>\n      <trans-unit id="1aaf7054d826f2cb05ec3e88a5a4b8116861e1f5" datatype="html">\n        <source>standby</source>\n        <target>siaga</target>\n      </trans-unit>\n      <trans-unit id="c9a1080024dca344a48acdb77fa2d54e059f7254" datatype="html">\n        <source>n/a</source>\n        <target>n/a</target>\n      </trans-unit>\n      <trans-unit id="84a1787b6df375847c70f782861d7e7f8f43bff4" datatype="html">\n        <source>active daemon</source>\n        <target>daemon aktif</target>\n      </trans-unit>\n      <trans-unit id="24407dc2ebfafaf6b131ee978683b893c3f1d763" datatype="html">\n        <source>quorum</source>\n        <target>kuorum</target>\n      </trans-unit>\n      <trans-unit id="2fa50bc07995c6ea660412294298ded39fcb08d9" datatype="html">\n        <source>The NFS Ganesha service is not configured.</source>\n        <target>Layanan NFS Ganesha belum dikonfigurasi.</target>\n      </trans-unit>\n      <trans-unit id="af1396bdc49f45ea6c4a1e414769f5e2a382c834" datatype="html">\n        <source>Transport</source>\n        <target>Transport</target>\n      </trans-unit>\n      <trans-unit id="b6a0e176d96c4feed2e975a039c044fcf822e152" datatype="html">\n        <source>CephFS User</source>\n        <target>Pengguna CephFS</target>\n      </trans-unit>\n      <trans-unit id="44dc610cf201a163e8c38da810acec9596930bb3" datatype="html">\n        <source>CephFS Filesystem</source>\n        <target>Filesistem CephFS</target>\n      </trans-unit>\n      <trans-unit id="db6dc7124be83c7055cb0f2719e31f2f9d46fd3d" datatype="html">\n        <source>(inherited from global config)</source>\n        <target>(diturunkan dari konfig global)</target>\n      </trans-unit>\n      <trans-unit id="e1f97bb86f991553ec7b535cb39e7eaa99dfcfe2" datatype="html">\n        <source>inherited from global config</source>\n        <target>diturunkan dari konfig global</target>\n      </trans-unit>\n      <trans-unit id="e751800766277e7c2edd652cec7a7a1a68a37852" datatype="html">\n        <source>-- Select what kind of user id squashing is performed --</source>\n        <target>-- Pilih jenis squashing id pengguna yang akan dilakukan --</target>\n      </trans-unit>\n      <trans-unit id="4b58387f911e8a7b135a0c4d76c70335c65bbb32" datatype="html">\n        <source>There are no daemons available.</source>\n        <target>Tidak ada daemon tersedia.</target>\n      </trans-unit>\n      <trans-unit id="18ae8dc1264f06df7ea251175ada2ac1b8401018" datatype="html">\n        <source>NFS export</source>\n        <target>NFS export</target>\n      </trans-unit>\n      <trans-unit id="c56d51748965db5f3966cd1d06a1c9f4b5244931" datatype="html">\n        <source>Crush Rule</source>\n        <target>Crush Rule</target>\n      </trans-unit>\n      <trans-unit id="ae128527ec18892f812a62a1fd15dc50a38060c0" datatype="html">\n        <source>EC Profile</source>\n        <target>EC Profile</target>\n      </trans-unit>\n      <trans-unit id="60fb10c145f9c7ede2b9ddf9b2b0b0f6191d0ebd" datatype="html">\n        <source>Cache Mode</source>\n        <target>Mode Cache</target>\n      </trans-unit>\n      <trans-unit id="fa5bfad31d4139f6871443bb74324ffda5cad3e6" datatype="html">\n        <source>Min Evict Age</source>\n        <target>Min Waktu Usir</target>\n      </trans-unit>\n      <trans-unit id="fd0eb851666df45c34c76fabcda79b0d77bc910b" datatype="html">\n        <source>Min Flush Age</source>\n        <target>Min Waktu Buang</target>\n      </trans-unit>\n      <trans-unit id="cb54d2c420a534cee0c308ea5589f8c394ef8d67" datatype="html">\n        <source>Target Max Bytes</source>\n        <target>Target Maks Bita</target>\n      </trans-unit>\n      <trans-unit id="07f4ebe6615dca466818ffdae2a69ee217d265fb" datatype="html">\n        <source>Target Max Objects</source>\n        <target>Target Maks Objek</target>\n      </trans-unit>\n      <trans-unit id="eaa8f4df53cf7fa78d078e20a701d10f3dccd77d" datatype="html">\n        <source>No applications added</source>\n        <target>Tidak ada aplikasi ditambahkan</target>\n      </trans-unit>\n      <trans-unit id="321c2a7640f11177ea49b0857b94c4b70830c0e6" datatype="html">\n        <source>Applications limit reached</source>\n        <target>Batas aplikasi tercapai</target>\n      </trans-unit>\n      <trans-unit id="519d27742b74fadc8336777452f78891e98aa1dc" datatype="html">\n        <source>A pool can only have up to four applications definitions.</source>\n        <target>Sebuah pool hanya dapat memiliki empat definisi aplikasi.</target>\n      </trans-unit>\n      <trans-unit id="b5bec3813f0d45daa7eb9471272969e1bc3e734e" datatype="html">\n        <source>Allowed characters \'_a-zA-Z0-9\'</source>\n        <target>Karakter diperbolehkan \'_a-zA-Z0-9\'</target>\n      </trans-unit>\n      <trans-unit id="807472d29602a0085bce62e534bd66208982c2e2" datatype="html">\n        <source>Maximum length is 128 characters</source>\n        <target>Panjang maksimum 128 karakter</target>\n      </trans-unit>\n      <trans-unit id="37785748b9ac9ad1d3e4b111ac502c3284afe84b" datatype="html">\n        <source>Filter or add applications</source>\n        <target>Saring atau tambah aplikasi</target>\n      </trans-unit>\n      <trans-unit id="38c7b8610ca87835e13eeee6a09ba1c414cd5cb9" datatype="html">\n        <source>Add application</source>\n        <target>Tambah aplikasi</target>\n      </trans-unit>\n      <trans-unit id="db8c42f077700d8a94619fad9f4c94b7361d5f1d" datatype="html">\n        <source>pool</source>\n        <target>pool</target>\n      </trans-unit>\n      <trans-unit id="65bb2be83261bc4798853bbccdedc110c43feea7" datatype="html">\n        <source>erasure code profile</source>\n        <target>profil erasure code</target>\n      </trans-unit>\n      <trans-unit id="ae48e19a9a2acaca4b5ea594451bc9b0b01ec8d2" datatype="html">\n        <source>crush rule</source>\n        <target>crush rule</target>\n      </trans-unit>\n      <trans-unit id="112d356ad6846959ca4aa5ec9a1f0d9d473b24ec" datatype="html">\n        <source>Replica Size</source>\n        <target>Ukuran Replikasi</target>\n      </trans-unit>\n      <trans-unit id="ec50492db341fa752b023d8c924601286b6c9c0c" datatype="html">\n        <source>Last Change</source>\n        <target>Perubahan Terakhir</target>\n      </trans-unit>\n      <trans-unit id="563a8c136a9d423bc7ae1269a404d6da5fd83dad" datatype="html">\n        <source>Erasure Coded Profile</source>\n        <target>Profil Erasure Code</target>\n      </trans-unit>\n      <trans-unit id="0ad7f0662956cff61ac1208f92b1a0305b1b2e58" datatype="html">\n        <source>Crush Ruleset</source>\n        <target>Aturan Crush</target>\n      </trans-unit>\n      <trans-unit id="bcc365a084b6145b941b371bd4c2b6c3d2c79234" datatype="html">\n        <source>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</source>\n        <target>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</target>\n      </trans-unit>\n      <trans-unit id="44939fd05cedfd077db886528b755e77d5fa3885" datatype="html">\n        <source>bucket</source>\n        <target>buket</target>\n      </trans-unit>\n      <trans-unit id="84fee774286ec4191311f1277075455c3ea5e2e2" datatype="html">\n        <source>Updated Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>".\n        </source>\n        <target>Updated Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="2d7a43674f0bbc131c9e555ec16ac37fa0445d76" datatype="html">\n        <source>Created Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>"\n        </source>\n        <target>Created Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="ec40d74ecfb1d6d60455af6805c9a714a3f5750a" datatype="html">\n        <source>buckets</source>\n        <target>buket</target>\n      </trans-unit>\n      <trans-unit id="764585d5595bac113582ee14a6fd07006770ceb1" datatype="html">\n        <source>capability</source>\n        <target>capability</target>\n      </trans-unit>\n      <trans-unit id="0914cbe18bae204217e1851be6d2d24d86e74605" datatype="html">\n        <source>user</source>\n        <target>pengguna</target>\n      </trans-unit>\n      <trans-unit id="d8c86dc5e48a63590d9c94e19f90b5f8325cbd49" datatype="html">\n        <source>subuser</source>\n        <target>subuser</target>\n      </trans-unit>\n      <trans-unit id="f45a3de8a8b40d161cc36a55d77548a27107ca04" datatype="html">\n        <source>S3 Key</source>\n        <target>S3 Key</target>\n      </trans-unit>\n      <trans-unit id="854a763265e92f91ba3ccee1a0e8d823be584f7c" datatype="html">\n        <source>Updated Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </source>\n        <target>Updated Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="84ab3fd641e65e39cffee0ec722a059ed284229e" datatype="html">\n        <source>Created Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </source>\n        <target>Created Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="7c7f4be7b726e61c577e63842a58d9e435f7c597" datatype="html">\n        <source>users</source>\n        <target>pengguna</target>\n      </trans-unit>\n      <trans-unit id="9f7760223efd77806f1bbaf963e6993bb4bc6a0a" datatype="html">\n        <source>Swift Key</source>\n        <target>Swift Key</target>\n      </trans-unit>\n      <trans-unit id="6462d8f12b427c29363f00b12f20f566be24937c" datatype="html">\n        <source>Device ID</source>\n        <target>Device ID</target>\n      </trans-unit>\n      <trans-unit id="82f12bf23db4bb82db89877bebe93954bc1c8fb0" datatype="html">\n        <source>State of Health</source>\n        <target>State of Health</target>\n      </trans-unit>\n      <trans-unit id="7bd34bd120146afef0e0d8fa168d9bdabd594b6a" datatype="html">\n        <source>Good</source>\n        <target>Good</target>\n      </trans-unit>\n      <trans-unit id="31c59dce114ec0a9d02552ef7b81920b3de36793" datatype="html">\n        <source>Bad</source>\n        <target>Bad</target>\n      </trans-unit>\n      <trans-unit id="2862af5284f66d4b06bdcf77a5519141723b6989" datatype="html">\n        <source>Stale</source>\n        <target>Stale</target>\n      </trans-unit>\n      <trans-unit id="8d8e819b52984a4fbdec75a99eb28d1ae4323bbc" datatype="html">\n        <source>Life Expectancy</source>\n        <target>Life Expectancy</target>\n      </trans-unit>\n      <trans-unit id="72d9b15be18ea063e78c4e855b9e8c0af95593ef" datatype="html">\n        <source>Prediction Creation Date</source>\n        <target>Prediction Creation Date</target>\n      </trans-unit>\n      <trans-unit id="a6b4ef85e5ff8bd192751c7bbebc54c46118d6d4" datatype="html">\n        <source>Device Name</source>\n        <target>Device Name</target>\n      </trans-unit>\n      <trans-unit id="d5fd840374ca1a6f394bcd81f390a6dca27f8224" datatype="html">\n        <source>An error with error code \n          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.\n        </source>\n        <target>An error with error code \n          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.\n        </target>\n      </trans-unit>\n      <trans-unit id="a0b59d7139692bb8d8ed786b6eb6e9e70ce743f3" datatype="html">\n        <source>Raw</source>\n        <target>Raw</target>\n      </trans-unit>\n      <trans-unit id="2f3beddc8234b30fb26a7f63ba2f1ea74f2ed6f7" datatype="html">\n        <source>Threshold</source>\n        <target>Threshold</target>\n      </trans-unit>\n      <trans-unit id="4654b5a68af3c8bad29aa14ca85ccea1f3143c6b" datatype="html">\n        <source>When Failed</source>\n        <target>When Failed</target>\n      </trans-unit>\n      <trans-unit id="5b7f56d5be49fb8e8d8f40209d6746f8f72e9177" datatype="html">\n        <source>Worst</source>\n        <target>Worst</target>\n      </trans-unit>\n      <trans-unit id="1481b8488e10dbc437accce89d2ae35a0106e8ba" datatype="html">\n        <source>Scope</source>\n        <target>Cakupan</target>\n      </trans-unit>\n      <trans-unit id="9b1d5e95f6bdcfb4b737413f5fa157e0dcb103d5" datatype="html">\n        <source>Read</source>\n        <target>Baca</target>\n      </trans-unit>\n      <trans-unit id="70a67e04629f6d412db0a12d51820b480788d795" datatype="html">\n        <source>Create</source>\n        <target>Buat</target>\n      </trans-unit>\n      <trans-unit id="dc4fba275819619ee78e8eae14d357ea69ba7477" datatype="html">\n        <source>role</source>\n        <target>role</target>\n      </trans-unit>\n      <trans-unit id="fe6ee93173884201ec62d62ba173c3de85ae177e" datatype="html">\n        <source>Created role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Created role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="41c032df0732f4318f8213fabd0719ac347d4b6c" datatype="html">\n        <source>Updated role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Updated role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="50e22b5289f79f1417369403345c9fa9911a4557" datatype="html">\n        <source>System Role</source>\n        <target>Peran Sistem</target>\n      </trans-unit>\n      <trans-unit id="7f132668e2dbfcf616381d2daf59d1a6f2698102" datatype="html">\n        <source>Deleted role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Deleted role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="bd15b8d5c0fa160161728eefbbb585710414d471" datatype="html">\n        <source>New name</source>\n        <target>New name</target>\n      </trans-unit>\n      <trans-unit id="6f126277f3dc22a3ab3609c4c198386c8744e11a" datatype="html">\n        <source>Clone Role</source>\n        <target>Clone Role</target>\n      </trans-unit>\n      <trans-unit id="d19d8320479854bc52877cdf0dc5ecfe34a36ec7" datatype="html">\n        <source>Cloned role \'\n          <x id="INTERPOLATION" equiv-text="{{dst_name}}"/>\' from \'\n          <x id="INTERPOLATION_1" equiv-text="{{src_name}}"/>\'\n        </source>\n        <target>Cloned role \'\n          <x id="INTERPOLATION" equiv-text="{{dst_name}}"/>\' from \'\n          <x id="INTERPOLATION_1" equiv-text="{{src_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="2e35d60a14ce0b470e8b54602864a867f7fcef40" datatype="html">\n        <source>There are no roles.</source>\n        <target>There are no roles.</target>\n      </trans-unit>\n      <trans-unit id="d2362a49d2434ce137bf19dab004251b7fd9c7b3" datatype="html">\n        <source>Created user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Created user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="9910122dfedd2eaa544a990f1430e5b82a76d99f" datatype="html">\n        <source>Update user</source>\n        <target>Perbarui pengguna</target>\n      </trans-unit>\n      <trans-unit id="ac10a3d9b59575640797c1a8e6aea642cf5d5e77" datatype="html">\n        <source>Continue</source>\n        <target>Lanjutkan</target>\n      </trans-unit>\n      <trans-unit id="cf4bcf4ce3d551e6099ccdc3546ae418fe5f8038" datatype="html">\n        <source>You were automatically logged out because your roles have been changed.</source>\n        <target>Anda dikeluarkan otomatis karena peran Anda telah berubah.</target>\n      </trans-unit>\n      <trans-unit id="0f6003fb0c1cc73b89d225801cc1b870945cd259" datatype="html">\n        <source>Updated user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Updated user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="fe516c6d820018fdc971113935e22ec1e852965f" datatype="html">\n        <source>Deleted user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Deleted user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="01a7e11502ff80421ef3615e533ea14ef57e1d5c" datatype="html">\n        <source>Failed to delete user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Failed to delete user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="63316a3861dbcb035147efc1b9fb6bc708242e94" datatype="html">\n        <source>You are currently logged in as "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>".\n        </source>\n        <target>You are currently logged in as "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="d8b81951d25439864e92f750f7c99d7426d6517c" datatype="html">\n        <source>password</source>\n        <target>password</target>\n      </trans-unit>\n      <trans-unit id="d361a9b5e1f7985a12c0433388f31626525a02b8" datatype="html">\n        <source>Updated user password"</source>\n        <target>Updated user password"</target>\n      </trans-unit>\n      <trans-unit id="c4e596a44ffc4718c1602600d6e4f029190eb031" datatype="html">\n        <source>The name of the node under which data should be placed.</source>\n        <target>The name of the node under which data should be placed.</target>\n      </trans-unit>\n      <trans-unit id="f24772ba1091155f8d7025332ca8456a204d1e28" datatype="html">\n        <source>The type of CRUSH nodes across which we should separate replicas.</source>\n        <target>The type of CRUSH nodes across which we should separate replicas.</target>\n      </trans-unit>\n      <trans-unit id="a3896042af461a80091c3f7a5fe3fff5ac40a3a0" datatype="html">\n        <source>The device class data should be placed on.</source>\n        <target>The device class data should be placed on.</target>\n      </trans-unit>\n      <trans-unit id="1d7fbcc3d5efc946ffbcf86fed04c4e20dda20fb" datatype="html">\n        <source>Each object is split in data-chunks parts, each stored on a different OSD.</source>\n        <target>Tiap objek dipecah dalam pecahan-data, masing-masing disimpan pada OSD yang berbeda.</target>\n      </trans-unit>\n      <trans-unit id="b1f8ed4e216585f1f9134740002ef3c8501debd8" datatype="html">\n        <source>Compute coding chunks for each object and store them on different OSDs.\n      The number of coding chunks is also the number of OSDs that can be down without losing data.</source>\n        <target>Hitung pecahan coding untuk tiap objek dan simpan pada OSD yang berbeda.\nJumlah pecahan data juga menjadi jumlah OSD yang diperbolehkan mati tanpa kehilangan data.</target>\n      </trans-unit>\n      <trans-unit id="c437ee74a9a8e781e1380153f742a685e3b8cc5e" datatype="html">\n        <source>The jerasure plugin is the most generic and flexible plugin,\n          it is also the default for Ceph erasure coded pools.</source>\n        <target>Plugin jerasure merupakan plugin paling umum dan fleksibel,\nserta merupakan plugin bawaan Ceph untuk pool erasure code.</target>\n      </trans-unit>\n      <trans-unit id="8c7e19322851402afa67e41f4f1d4e531caf1bf5" datatype="html">\n        <source>The more flexible technique is reed_sol_van : it is enough to set k\n          and m. The cauchy_good technique can be faster but you need to chose the packetsize\n          carefully. All of reed_sol_r6_op, liberation, blaum_roth, liber8tion are RAID6 equivalents\n          in the sense that they can only be configured with m=2.</source>\n        <target>Teknik yang lebih fleksibel yaitu reed_sol_van : cukup mengeset k\ndan m. Teknik cauchy_good bisa lebih cepat, namun Anda harus memilih ukuran paket\ndengan seksama. Semua reed_sol_r6_op, liberation, blaum_roth, liber8tion setara dengan RAID6\ndalam hal mereka hanya bisa diatur dengan m=2.</target>\n      </trans-unit>\n      <trans-unit id="b1b11f49281b4e79219b4eecfbcb033cb15bd880" datatype="html">\n        <source>The encoding will be done on packets of bytes size at a time.\n          Chosing the right packet size is difficult.\n          The jerasure documentation contains extensive information on this topic.</source>\n        <target>Penyandian dilakukan setiap saat pada ukuran bita paket.\nSulit untuk menentukan ukuran paket yang tepat.\nSilakan cek dokumentasi jerasure untuk informasi lebih mendalam.</target>\n      </trans-unit>\n      <trans-unit id="d9cb3bc07a25b26fbea457e0a7b543340bc13c49" datatype="html">\n        <source>With the jerasure plugin, when an erasure coded object is stored on\n          multiple OSDs, recovering from the loss of one OSD requires reading from all the others.\n          For instance if jerasure is configured with k=8 and m=4, losing one OSD requires reading\n          from the eleven others to repair.\n\n          The lrc erasure code plugin creates local parity chunks to be able to recover using\n          less OSDs. For instance if lrc is configured with k=8, m=4 and l=4, it will create\n          an additional parity chunk for every four OSDs. When a single OSD is lost, it can be\n          recovered with only four OSDs instead of eleven.</source>\n        <target>Pada plugin jerasure, saat objek dengan erasure code disimpan pada\nbanyak OSD, pemulihan dari OSD yang hilang membutuhkan akses dari OSD lainnya.\nContoh, saat jerasure dikonfigurasi dengan k=8 dan m=4, saat satu OSD mati, maka pemulihan akan membutuhkan pembacaan dari tujuh OSD lainnya.\n\nPlugin lrc erasure code membuat pecahan paritas lokal agar dapat memulihkan \ndengan OSD yang lebih sedikit. Contoh, jika lrc dikonfigurasi dengan k=8, m=4, dan l=4, maka lrc akan\nmembuat pecahan paritas tambahan tiap empat OSD. Saat satu OSD mati, maka pemulihan dapat dilakukan hanya dengan 4 OSD, alih-alih 7 OSD.</target>\n      </trans-unit>\n      <trans-unit id="813959d46e63a29bbd266b3af2ff9414c2ef553c" datatype="html">\n        <source>Group the coding and data chunks into sets of size locality. For instance,\n          for k=4 and m=2, when locality=3 two groups of three are created. Each set can\n          be recovered without reading chunks from another set.</source>\n        <target>Kelompokkan pecahan data dan coding ke dalam ukuran lokalitas. Controh\nuntuk k=4 dan m=2, saat lokalitas=3 dua grup dari tiga akan dibuat. Setiap set akan\ndipulihkan tanpa membaca pecahan dari set lainnya.</target>\n      </trans-unit>\n      <trans-unit id="f0ff63d92e0a1b4d4b51e31b9133802d160a5f4c" datatype="html">\n        <source>The type of the crush bucket in which each set of chunks defined\n          by l will be stored. For instance, if it is set to rack, each group of l chunks will be\n          placed in a different rack. It is used to create a CRUSH rule step such as step choose\n          rack. If it is not set, no such grouping is done.</source>\n        <target>Tipe buket crush setiap set pecahan yang didefinisikan oleh l  \nakan disimpan. Contoh, jika diset pada rak, tiap grup pecahan l akan \nditempatkan pada rak berbeda. Ini akan digunakan pada aturan step CRUSH yaitu \nmemilih tiap rak. Jika tidak diset, tidak akan ada pengelompokkan.</target>\n      </trans-unit>\n      <trans-unit id="3ece48df9d1e9a98f98bf3c5cc66e8b637020a4d" datatype="html">\n        <source>The isa plugin encapsulates the ISA library. It only runs on Intel processors.</source>\n        <target>Plugin isa menghimpun perpustakaan ISA. Hanya dapat berjalan pada prosesor Intel.</target>\n      </trans-unit>\n      <trans-unit id="4472c9e31bfc7d96a83dc4afce0a6e885c99e839" datatype="html">\n        <source>The ISA plugin comes in two Reed Solomon forms.\n          If reed_sol_van is set, it is Vandermonde, if cauchy is set, it is Cauchy.</source>\n        <target>Plugin ISA memiliki dua jenis Reed Solomon.\nJika reed_sol_van diset, maka menjadi Vandermonde, jika cauchy diset, maka menjadi Cauchy.</target>\n      </trans-unit>\n      <trans-unit id="fa385f5ecf63083ec848dca8dc5e52bdc72ac6f6" datatype="html">\n        <source>The shec plugin encapsulates the multiple SHEC library.\n          It allows ceph to recover data more efficiently than Reed Solomon codes.</source>\n        <target>Plugin shec mengenkapsulasi banyak pustaka SHEC.\nHal ini agar ceph dapat dipulihkan dengan lebih efisien dari kode Reed Solomon.</target>\n      </trans-unit>\n      <trans-unit id="687b3cd94b3475c24ff4481d64d4739f902a377c" datatype="html">\n        <source>The number of parity chunks each of which includes each data chunk in its\n          calculation range. The number is used as a durability estimator. For instance, if c=2,\n          2 OSDs can be down without losing data.</source>\n        <target>Jumlah potongan paritas yang masing-masing mencakup setiap potongan data \ndalam rentang perhitungannya. Nilai ini digunakan untuk perkiraan daya tahan. Contoh, jika c=2, \n2 OSD dapat mati tanpa kehilangan data.</target>\n      </trans-unit>\n      <trans-unit id="f3c4af6df91bdaabdb715f8f0b61a24faf73a3bc" datatype="html">\n        <source>The name of the crush bucket used for the first step of the CRUSH rule.\n      For instance step take default.</source>\n        <target>Nama buket crush digunakan sebagai langkah pertama dari aturan CRUSH.\nContoh diambil langkah bawaan.</target>\n      </trans-unit>\n      <trans-unit id="e1059955a5ce65cdabf0c0a8207377e1f9bae57e" datatype="html">\n        <source>Ensure that no two chunks are in a bucket with the same failure\n      domain. For instance, if the failure domain is host no two chunks will be stored on the same\n      host. It is used to create a CRUSH rule step such as step chooseleaf host.</source>\n        <target>Memastikan tidak ada pecahan data berada pada buket dengan domain kegagalan\nyang sama. Contoh, saat domain gagal adalah hos, maka tidak ada pecahan data yang akan disimpan \npada hos yang sama. Aturan CRUSH seperti step chooseleaf hos akan digunakan untuk hal tersebut.</target>\n      </trans-unit>\n      <trans-unit id="ac392ac9c6da5fde6da80fc57b9c09402fb6e73d" datatype="html">\n        <source>Restrict placement to devices of a specific class\n      (e.g., ssd or hdd), using the crush device class names in the CRUSH map.</source>\n        <target>Batasi penempatan ke perangkat dengan kelas tertentu\n(cth. ssd atau hdd), menggunakan nama kelas perangkat crush pada peta CRUSH.</target>\n      </trans-unit>\n      <trans-unit id="62bcb9ae5583a088649b1adf5787a86ca3334f89" datatype="html">\n        <source>Set the directory name from which the erasure code plugin is loaded.</source>\n        <target>Set nama direktori empat plugin erasure code akan dimuat.</target>\n      </trans-unit>\n      <trans-unit id="c8f10184a8433d132ede0a2c0c1aa96f291cacfa" datatype="html">\n        <source>Allows all operations</source>\n        <target>Izinkan semua operasi</target>\n      </trans-unit>\n      <trans-unit id="82077ee97c11ee76efc3adf253b7b26654544317" datatype="html">\n        <source>Allows only operations that do not modify the server</source>\n        <target>Izinkan hanya untuk operasi yang tidak mengubah server</target>\n      </trans-unit>\n      <trans-unit id="22b5212ec10449dbf0a0af0ad34122eac51b5f2a" datatype="html">\n        <source>Does not allow read or write operations, but allows any other operation</source>\n        <target>Tidak diizinkan untuk operasi baca dan tulis, namun izinkan operasi lainnya</target>\n      </trans-unit>\n      <trans-unit id="9799d0f8c4b7727ae239fedfe3c0ce127feb7a50" datatype="html">\n        <source>Does not allow read, write, or any operation that modifies file        attributes or directory content</source>\n        <target>Tidak diizinkan untuk baca, tulis, atau operasi lainnya yang mengubah atribut berkas atau konten direktori</target>\n      </trans-unit>\n      <trans-unit id="aeddefe0af87025d8f00699aa94bed8216a99a58" datatype="html">\n        <source>Allows no access at all</source>\n        <target>Tidak diizinkan untuk semua hal</target>\n      </trans-unit>\n      <trans-unit id="a436c6a4025a749198e93cac239de8deede72211" datatype="html">\n        <source>-- Select the priority --</source>\n        <target>-- Pilih prioritas --</target>\n      </trans-unit>\n      <trans-unit id="9556266f0a2b1762a44b686f2bb21dbfefb01c12" datatype="html">\n        <source>Low</source>\n        <target>Rendah</target>\n      </trans-unit>\n      <trans-unit id="72279141a67cc042d9864102b703216cc8a428a3" datatype="html">\n        <source>High</source>\n        <target>Tinggi</target>\n      </trans-unit>\n      <trans-unit id="6080b77234e92ad41bb52653b239c4c4f851317d" datatype="html">\n        <source>Error</source>\n        <target>Error</target>\n      </trans-unit>\n      <trans-unit id="c43dc1967a603fefb886149ac35863a06d5b4ce5" datatype="html">\n        <source>Information</source>\n        <target>Informasi</target>\n      </trans-unit>\n      <trans-unit id="1e035e6ccfab771cad4226b2ad230cb0d4a88cba" datatype="html">\n        <source>Success</source>\n        <target>Success</target>\n      </trans-unit>\n      <trans-unit id="61fd1cffcb763cbfd5829071723cf9b647174bd9" datatype="html">\n        <source>An error occurred.</source>\n        <target>An error occurred.</target>\n      </trans-unit>\n      <trans-unit id="e6ca3c0efaf51e6d45a7f92f58bac37140c3fda4" datatype="html">\n        <source>Last 5 minutes</source>\n        <target>5 menit terakhir</target>\n      </trans-unit>\n      <trans-unit id="b0ecb2bbc548cc9bd95050fd8f0c84586d083fe2" datatype="html">\n        <source>Last 15 minutes</source>\n        <target>15 menit terakhir</target>\n      </trans-unit>\n      <trans-unit id="857ae67deb51353120b203b0f2a06b0c48ef49fa" datatype="html">\n        <source>Last 30 minutes</source>\n        <target>30 menit terakhir</target>\n      </trans-unit>\n      <trans-unit id="7b1738fad314e936dc14b94db8f43da736942308" datatype="html">\n        <source>Last 1 hour (Default)</source>\n        <target>1 Jam Terakhir (Bawaan)</target>\n      </trans-unit>\n      <trans-unit id="a428288224389726cef9d9bd8d1d7808cccd7ffd" datatype="html">\n        <source>Last 3 hours</source>\n        <target>3 jam terakhir</target>\n      </trans-unit>\n      <trans-unit id="7cbabecc8d80cf183ac199cfaeb7619d56e5d43f" datatype="html">\n        <source>Last 6 hours</source>\n        <target>6 jam terakhir</target>\n      </trans-unit>\n      <trans-unit id="1a389cdf64187d34cf99eec30a290e3fa7d4744f" datatype="html">\n        <source>Last 12 hours</source>\n        <target>12 jam terakhir</target>\n      </trans-unit>\n      <trans-unit id="9e0ba5f591380a94d594a76288f0c41aa97eb9c2" datatype="html">\n        <source>Last 24 hours</source>\n        <target>24 jam terakhir</target>\n      </trans-unit>\n      <trans-unit id="e430eda9c785cd43465b7cbb400ee914f1057247" datatype="html">\n        <source>Yesterday</source>\n        <target>Kemarin</target>\n      </trans-unit>\n      <trans-unit id="7fb1099e29660162f9154d5b2feee7743a423df6" datatype="html">\n        <source>Today</source>\n        <target>Hari ini</target>\n      </trans-unit>\n      <trans-unit id="33904058a97a64bd189bed84038b1ffe719769c7" datatype="html">\n        <source>Today so far</source>\n        <target>Sejauh hari ini</target>\n      </trans-unit>\n      <trans-unit id="3b0b849be007510021d3d383df75bec95ef9c97b" datatype="html">\n        <source>Day before yesterday</source>\n        <target>Kemarin dulu</target>\n      </trans-unit>\n      <trans-unit id="6b430c2c394c4d32ebd7d46c8c46ab60e1b29ccb" datatype="html">\n        <source>Last 2 days</source>\n        <target>2 hari terakhir</target>\n      </trans-unit>\n      <trans-unit id="d5e812a87a5d57a94200a2013027cab76a7c4863" datatype="html">\n        <source>This day last week</source>\n        <target>Hari ini minggu lalu</target>\n      </trans-unit>\n      <trans-unit id="d00edc936eeab6b5577401f115ca86ca2c87dc9a" datatype="html">\n        <source>Previous week</source>\n        <target>Minggu lalu</target>\n      </trans-unit>\n      <trans-unit id="b036e40577baa6b918b2267d319d4b3aeaa88a5a" datatype="html">\n        <source>This week</source>\n        <target>Minggu ini</target>\n      </trans-unit>\n      <trans-unit id="99ad5a6096b3fcb3f021f3779bae710cdfeb8934" datatype="html">\n        <source>This week so far</source>\n        <target>Sejauh minggu ini</target>\n      </trans-unit>\n      <trans-unit id="02e0243b60007368f87dc01e083f232dd025096d" datatype="html">\n        <source>Last 7 days</source>\n        <target>7 hari terakhir</target>\n      </trans-unit>\n      <trans-unit id="c3b08b07b5ab98e7cdcf18df39355690ab7d3884" datatype="html">\n        <source>Previous month</source>\n        <target>Bulan lalu</target>\n      </trans-unit>\n      <trans-unit id="1b2562c6d5aa90644e7dc91feee82e2005fceb33" datatype="html">\n        <source>This month</source>\n        <target>Bulan ini</target>\n      </trans-unit>\n      <trans-unit id="26b4b18c5917934abb169ba9aa490e57f7bf10b8" datatype="html">\n        <source>This month so far</source>\n        <target>Sejauh bulan ini</target>\n      </trans-unit>\n      <trans-unit id="7668986b9f753fcd72ad4a00b1a0c4861d1f7fb8" datatype="html">\n        <source>Last 30 days</source>\n        <target>30 hari terakhir</target>\n      </trans-unit>\n      <trans-unit id="ba1e822408d90c6fbd2989100fa648bfd5e8ee84" datatype="html">\n        <source>Last 90 days</source>\n        <target>90 hari terakhir</target>\n      </trans-unit>\n      <trans-unit id="c3df03f899a914c4181adcdc8a3f077424f7b6e8" datatype="html">\n        <source>Last 6 months</source>\n        <target>6 bulan terakhir</target>\n      </trans-unit>\n      <trans-unit id="7f9a92757580c9f31c309c0a3812ea429274eadf" datatype="html">\n        <source>Last 1 year</source>\n        <target>1 tahun terakhir</target>\n      </trans-unit>\n      <trans-unit id="5a9fede30ff65cb4b4426f6b1ed31afb67ecd7b0" datatype="html">\n        <source>Previous year</source>\n        <target>Tahun lalu</target>\n      </trans-unit>\n      <trans-unit id="65cefcc53d1f6445df7568e8a40c49165f1090ee" datatype="html">\n        <source>This year</source>\n        <target>Tahun ini</target>\n      </trans-unit>\n      <trans-unit id="1f68b766944dc3865bddab765fe952b0c1c43f92" datatype="html">\n        <source>This year so far</source>\n        <target>Sejauh tahun ini</target>\n      </trans-unit>\n      <trans-unit id="4d4b77e614f8043fdadef5d6d235655bb48eb311" datatype="html">\n        <source>Last 2 years</source>\n        <target>2 tahun terakhir</target>\n      </trans-unit>\n      <trans-unit id="138afa339ea6e75d25a474affe1edbcb90e00ec0" datatype="html">\n        <source>Last 5 years</source>\n        <target>5 tahun terakhir</target>\n      </trans-unit>\n      <trans-unit id="37391297bb077a6f84484930261b01a3ce38327b" datatype="html">\n        <source>No items selected.</source>\n        <target>Tidak ada yang dipilih.</target>\n      </trans-unit>\n      <trans-unit id="2c1e52ee832661b4a0f570877d24661736b16af1" datatype="html">\n        <source>Deselect item to select again</source>\n        <target>Batalkan memilih untuk memilih ulang</target>\n      </trans-unit>\n      <trans-unit id="c8c9c6e5918659336824bbdda3501c66eaa79a4c" datatype="html">\n        <source>Selection limit reached</source>\n        <target>Batas pemilihan tercapai</target>\n      </trans-unit>\n      <trans-unit id="02d184c288f567825a1fcbf83bcd3099a10853d5" datatype="html">\n        <source>Filter tags</source>\n        <target>Tanda penyaringan</target>\n      </trans-unit>\n      <trans-unit id="aa00748e49c269956837d6f3acdd8d218796a8d8" datatype="html">\n        <source>Add badge</source>\n        <target>Tambahkan lencana</target>\n      </trans-unit>\n      <trans-unit id="4078a92d8121abdce7d8f346a88914923ec835fc" datatype="html">\n        <source>There are no items available.</source>\n        <target>Tidak ada yang tersedia.</target>\n      </trans-unit>\n      <trans-unit id="55dd9f44e64851bca3b7bfc9283a5ff36f030228" datatype="html">\n        <source>Set</source>\n        <target>Set</target>\n      </trans-unit>\n      <trans-unit id="019d4bd6a5690f0cfa0ecf346a4e6bf7f0d8debb" datatype="html">\n        <source>Remove</source>\n        <target>Remove</target>\n      </trans-unit>\n      <trans-unit id="e168fe6c468b3ad632731395ef89860274242844" datatype="html">\n        <source>Unset</source>\n        <target>Unset</target>\n      </trans-unit>\n      <trans-unit id="54a4a3132b693575728a45a5f3154ad4c9af404b" datatype="html">\n        <source>Clone</source>\n        <target>Klon</target>\n      </trans-unit>\n      <trans-unit id="1979da7460819153e11d2078244645d94291b69c" datatype="html">\n        <source>Copy</source>\n        <target>Salin</target>\n      </trans-unit>\n      <trans-unit id="2e5e77dbaadd6588d8bbf737139fd9806294ae28" datatype="html">\n        <source>Deep Scrub</source>\n        <target>Deep Scrub</target>\n      </trans-unit>\n      <trans-unit id="bf463b189696c19769ea263227e6c22aefafb918" datatype="html">\n        <source>Destroy</source>\n        <target>Hancurkan</target>\n      </trans-unit>\n      <trans-unit id="b4e94d529ff10db4d86f3f48900fa67ede3411fd" datatype="html">\n        <source>Evict</source>\n        <target>Evict</target>\n      </trans-unit>\n      <trans-unit id="3747fff7faf52b436ecff5fb8555091736d92c70" datatype="html">\n        <source>Flatten</source>\n        <target>Ratakan</target>\n      </trans-unit>\n      <trans-unit id="66fdbf32e5449cc54a3d1e19c7b8f4ea238facfb" datatype="html">\n        <source>Mark Down</source>\n        <target>Tandai Gugur</target>\n      </trans-unit>\n      <trans-unit id="0cda3e824fb2f9c731e5a60b859dedc1fe03127e" datatype="html">\n        <source>Mark In</source>\n        <target>Tandai Masuk</target>\n      </trans-unit>\n      <trans-unit id="f833354f43cb38c5716faa8759a9bbdd1ab8f199" datatype="html">\n        <source>Mark Lost</source>\n        <target>Tandai Hilang</target>\n      </trans-unit>\n      <trans-unit id="75fb9f970ba365398c45e57bbb1019c009f6b832" datatype="html">\n        <source>Mark Out</source>\n        <target>Tandai Keluar</target>\n      </trans-unit>\n      <trans-unit id="45480c03b0a3a37ff8f6a5600a6a034b40fbaea4" datatype="html">\n        <source>Protect</source>\n        <target>Proteksi</target>\n      </trans-unit>\n      <trans-unit id="e26f9cf3666aace4e524b1505c9795d76d87738d" datatype="html">\n        <source>Rename</source>\n        <target>Ubah nama</target>\n      </trans-unit>\n      <trans-unit id="d5cec7468241d72cafd86ad1af6d55b09a6e3ae5" datatype="html">\n        <source>Restore</source>\n        <target>Pulihkan</target>\n      </trans-unit>\n      <trans-unit id="ba073985cfd2528c77a746ed596b2f2052b973c5" datatype="html">\n        <source>Move to Trash</source>\n        <target>Pindahkan ke Tempat Sampah</target>\n      </trans-unit>\n      <trans-unit id="3ea9b96a21a499d296a7f25407da0f3df6c2d5ed" datatype="html">\n        <source>Unprotect</source>\n        <target>Tidak diproteksi</target>\n      </trans-unit>\n      <trans-unit id="024cdb2814b0cb3f4ced148f1a0b9854447cb214" datatype="html">\n        <source>Change</source>\n        <target>Change</target>\n      </trans-unit>\n      <trans-unit id="011f3e2bfc1fd8407eb5f599352665bfeb145664" datatype="html">\n        <source>Recreate</source>\n        <target>Recreate</target>\n      </trans-unit>\n      <trans-unit id="6df2dfa48bef5510c82fb43f4e71a7f9557f3d71" datatype="html">\n        <source>Expire</source>\n        <target>Expire</target>\n      </trans-unit>\n      <trans-unit id="28df1b02fd88d2deb0212bc5d7ff34cf9492fa54" datatype="html">\n        <source>Deleted</source>\n        <target>Dihapus</target>\n      </trans-unit>\n      <trans-unit id="80e3b490720757978c99a7b5af3885faf202b955" datatype="html">\n        <source>Added</source>\n        <target>Added</target>\n      </trans-unit>\n      <trans-unit id="1aa4883bc4f1352f7a0bdd94810a9bf6dc22bd02" datatype="html">\n        <source>Removed</source>\n        <target>Removed</target>\n      </trans-unit>\n      <trans-unit id="402f3ee47f98fbbc68530239b1ddcbb9e96a460c" datatype="html">\n        <source>Edited</source>\n        <target>Edited</target>\n      </trans-unit>\n      <trans-unit id="96d56ec71c6e78cb4d6204c4a9359a3d38fcdb59" datatype="html">\n        <source>Canceled</source>\n        <target>Canceled</target>\n      </trans-unit>\n      <trans-unit id="a3318a2ee2bd0064b6b9ff72a4018b679ec63125" datatype="html">\n        <source>Cloned</source>\n        <target>Diklon</target>\n      </trans-unit>\n      <trans-unit id="ef90545bc832876c0d7f9a10363c75137472bbb5" datatype="html">\n        <source>Copied</source>\n        <target>Disalin</target>\n      </trans-unit>\n      <trans-unit id="5a13d3834133e09544ec93885662f181372dcf46" datatype="html">\n        <source>Deep Scrubbed</source>\n        <target>Deep Scrubbed</target>\n      </trans-unit>\n      <trans-unit id="7c9efb91434a5c15e9579c0b31c8e184b8c8240d" datatype="html">\n        <source>Destroyed</source>\n        <target>Destroyed</target>\n      </trans-unit>\n      <trans-unit id="647059bf3ea098fffedf92ddfad792bb3daa3c95" datatype="html">\n        <source>Flattened</source>\n        <target>Diratakan</target>\n      </trans-unit>\n      <trans-unit id="8df71e952319eafa71c8e6ef6144b780af8813ff" datatype="html">\n        <source>Marked Down</source>\n        <target>Marked Down</target>\n      </trans-unit>\n      <trans-unit id="25658f5a080a1cab3b91e17b756b1d1dc46bb9b3" datatype="html">\n        <source>Marked In</source>\n        <target>Marked In</target>\n      </trans-unit>\n      <trans-unit id="ebcf306036a6c5579df9448f77eca98d491db245" datatype="html">\n        <source>Marked Lost</source>\n        <target>Marked Lost</target>\n      </trans-unit>\n      <trans-unit id="3a8803369ac18be3ad762384b9fda095fe2a6dcc" datatype="html">\n        <source>Marked Out</source>\n        <target>Marked Out</target>\n      </trans-unit>\n      <trans-unit id="0fe2a62ea7c609fa8326ee6d38060bc5ba8bf34f" datatype="html">\n        <source>Protected</source>\n        <target>Protected</target>\n      </trans-unit>\n      <trans-unit id="69b0446c6c2411c4fe01e411b8ceec72d4044fb4" datatype="html">\n        <source>Purged</source>\n        <target>Dibuang</target>\n      </trans-unit>\n      <trans-unit id="d53de1a61bd51c815dc374c7f97e4ee69230e412" datatype="html">\n        <source>Renamed</source>\n        <target>Renamed</target>\n      </trans-unit>\n      <trans-unit id="86fc6cae82c095f14105eb8a61d7b3fa948304b7" datatype="html">\n        <source>Restored</source>\n        <target>Dipulihkan</target>\n      </trans-unit>\n      <trans-unit id="e87dd0fd35460cb743046db918dfce2137b5977a" datatype="html">\n        <source>Reweighted</source>\n        <target>Reweighted</target>\n      </trans-unit>\n      <trans-unit id="dc21fd6547f2325c67f6deff925f29eb07a2db3e" datatype="html">\n        <source>Rolled back</source>\n        <target>Dikembalikan</target>\n      </trans-unit>\n      <trans-unit id="15dec4c2d73a516c10aef90aeeea3364fa794615" datatype="html">\n        <source>Scrubbed</source>\n        <target>Scrubbed</target>\n      </trans-unit>\n      <trans-unit id="8dc560ded67482f109a98e0638851ad1d37188b3" datatype="html">\n        <source>Showed</source>\n        <target>Showed</target>\n      </trans-unit>\n      <trans-unit id="197259b7ea76f15c6d0a64b075a673fd4112ada7" datatype="html">\n        <source>Moved to Trash</source>\n        <target>Moved to Trash</target>\n      </trans-unit>\n      <trans-unit id="8fb15cb102cd75b562680290b7e04c44d80018f2" datatype="html">\n        <source>Unprotected</source>\n        <target>Unprotected</target>\n      </trans-unit>\n      <trans-unit id="8588eafa498262a1cbb5043ad68cf0ff669c4f10" datatype="html">\n        <source>Recreated</source>\n        <target>Recreated</target>\n      </trans-unit>\n      <trans-unit id="ffde7468d7b5cad6990095ed68ddee3d67cd02f8" datatype="html">\n        <source>Expired</source>\n        <target>Expired</target>\n      </trans-unit>\n      <trans-unit id="4f20f2d5a6882190892e58b85f6ccbedfa737952" datatype="html">\n        <source>Yes</source>\n        <target>Ya</target>\n      </trans-unit>\n      <trans-unit id="3d3ae7deebc5949b0c1c78b9847886a94321d9fd" datatype="html">\n        <source>No</source>\n        <target>Tidak</target>\n      </trans-unit>\n      <trans-unit id="baf918eed9d4050cdad2acebc0f27b6eaf8e3fcd" datatype="html">\n        <source>Required rules for passwords:</source>\n        <target>Required rules for passwords:</target>\n      </trans-unit>\n      <trans-unit id="40f61909e1f017c4652e64b055089beef19cf871" datatype="html">\n        <source>Must contain at least \n          <x id="INTERPOLATION" equiv-text="{{length}}"/> characters\n        </source>\n        <target>Must contain at least \n          <x id="INTERPOLATION" equiv-text="{{length}}"/> characters\n        </target>\n      </trans-unit>\n      <trans-unit id="f4f5dbb3a05b5f38dab47ef38dad88a4574a765a" datatype="html">\n        <source>Must not be the same as the previous one</source>\n        <target>Must not be the same as the previous one</target>\n      </trans-unit>\n      <trans-unit id="607370e07b50087c196a5fcea9184e3d693226b2" datatype="html">\n        <source>Cannot contain the username</source>\n        <target>Cannot contain the username</target>\n      </trans-unit>\n      <trans-unit id="e6e355eab2596251aaa42623b41e6026d5c03e3b" datatype="html">\n        <source>Cannot contain any configured keyword</source>\n        <target>Cannot contain any configured keyword</target>\n      </trans-unit>\n      <trans-unit id="394bcd6d5e4da75b720c4d28f94f2aef7bb38355" datatype="html">\n        <source>Cannot contain any repetitive characters e.g. "aaa"</source>\n        <target>Cannot contain any repetitive characters e.g. "aaa"</target>\n      </trans-unit>\n      <trans-unit id="030e61e0bcf2536fb047645db6182d43e9fca9e9" datatype="html">\n        <source>Cannot contain any sequential characters e.g. "abc"</source>\n        <target>Cannot contain any sequential characters e.g. "abc"</target>\n      </trans-unit>\n      <trans-unit id="99fa0b67376d40142bd4d3ace3344abf4f98b6a5" datatype="html">\n        <source>Your matcher seems to match no currently defined rule or active alert.</source>\n        <target>Your matcher seems to match no currently defined rule or active alert.</target>\n      </trans-unit>\n      <trans-unit id="7e284852732c303eb1f47de9aca2569e41aeffed" datatype="html">\n        <source>no active alerts</source>\n        <target>no active alerts</target>\n      </trans-unit>\n      <trans-unit id="b8042829e4fbe7b09fd9bac9fa0ecf5cc1802fee" datatype="html">\n        <source>1 active alert</source>\n        <target>1 active alert</target>\n      </trans-unit>\n      <trans-unit id="e24adce97669cb0fc74cc13fdc14179b6f78ea5e" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{n}}"/> active alerts\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{n}}"/> active alerts\n        </target>\n      </trans-unit>\n      <trans-unit id="d8fb058ff5883731d38a132da4ca45cfe8d719a3" datatype="html">\n        <source>Matches 1 rule</source>\n        <target>Matches 1 rule</target>\n      </trans-unit>\n      <trans-unit id="90aaef24d192e67c3fbc2ec6f8bfaff211cea128" datatype="html">\n        <source>Matches \n          <x id="INTERPOLATION" equiv-text="{{n}}"/> rules\n        </source>\n        <target>Matches \n          <x id="INTERPOLATION" equiv-text="{{n}}"/> rules\n        </target>\n      </trans-unit>\n      <trans-unit id="f4685dc581e18244cd410f1057a8c56a9dbfe8df" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rules}}"/> with \n          <x id="INTERPOLATION_1" equiv-text="{{alerts}}"/>.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rules}}"/> with \n          <x id="INTERPOLATION_1" equiv-text="{{alerts}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8fd98fb2a0f24ba72cde0787dd3f02cfc17de469" datatype="html">\n        <source>Quality of Service</source>\n        <target>Kualitas Layanan atau QoS</target>\n      </trans-unit>\n      <trans-unit id="2c53f3ce2c6fff9025a7b41cc334521725da6e7b" datatype="html">\n        <source>BPS Limit</source>\n        <target>Limit BPS</target>\n      </trans-unit>\n      <trans-unit id="e897624a392419386b035bcd8529337e262fc41d" datatype="html">\n        <source>The desired limit of IO bytes per second.</source>\n        <target>Limit IO bytes per detik yang diinginkan.</target>\n      </trans-unit>\n      <trans-unit id="dc56f77e4507da7e86a3accd0a2a7099a838d539" datatype="html">\n        <source>IOPS Limit</source>\n        <target>Limit IOPS</target>\n      </trans-unit>\n      <trans-unit id="141c3f6eadbb35b0e17b2f847e4cac23240a6ea9" datatype="html">\n        <source>The desired limit of IO operations per second.</source>\n        <target>Limit operasi IO per detik yang diinginkan.</target>\n      </trans-unit>\n      <trans-unit id="3b3b101f16c38806e984b157e0cf22cd21451122" datatype="html">\n        <source>Read BPS Limit</source>\n        <target>Limit Baca BPS </target>\n      </trans-unit>\n      <trans-unit id="87835fabb6a645873f3829a450ca1d58f97754f2" datatype="html">\n        <source>The desired limit of read bytes per second.</source>\n        <target>Limit byte baca per detik yang diinginkan.</target>\n      </trans-unit>\n      <trans-unit id="28b485e700df46d70b96666099f714e3ae9e5c2e" datatype="html">\n        <source>Read IOPS Limit</source>\n        <target>Limit IOPS Baca</target>\n      </trans-unit>\n      <trans-unit id="5907bd1a5cf3e20e740bca676cb1538372e1f9ff" datatype="html">\n        <source>The desired limit of read operations per second.</source>\n        <target>Limit operasi baca per detik yang diinginkan.</target>\n      </trans-unit>\n      <trans-unit id="07317121f0b194987d4dee8b322f521ac17bf124" datatype="html">\n        <source>Write BPS Limit</source>\n        <target>Limit Tulis BPS</target>\n      </trans-unit>\n      <trans-unit id="4022c78bd9132ca2ec67927f8484c437d1d9b6fd" datatype="html">\n        <source>The desired limit of write bytes per second.</source>\n        <target>Limit tulis byte per detik yang diinginkan.</target>\n      </trans-unit>\n      <trans-unit id="52c22c19f98ff3a09bd811292954a889b93d28b7" datatype="html">\n        <source>Write IOPS Limit</source>\n        <target>Limit IOPS Tulis</target>\n      </trans-unit>\n      <trans-unit id="0ed62e3fd8654b3191fc7fa959ad3f10f1ea773a" datatype="html">\n        <source>The desired limit of write operations per second.</source>\n        <target>Limit operasi tulis per detik yang diinginkan.</target>\n      </trans-unit>\n      <trans-unit id="d90c99d77864f21f932ee1369019f400c4ad0e2d" datatype="html">\n        <source>BPS Burst</source>\n        <target>Letupan BPS</target>\n      </trans-unit>\n      <trans-unit id="29c32192f4d185139aaaf6d3a766a3411dfeabbe" datatype="html">\n        <source>The desired burst limit of IO bytes.</source>\n        <target>Limit yang diinginkan untuk letupan atau burst dari IO byte.</target>\n      </trans-unit>\n      <trans-unit id="b988b90489e899941e196c3dd0ecc22e37540224" datatype="html">\n        <source>IOPS Burst</source>\n        <target>Letupan IOPS</target>\n      </trans-unit>\n      <trans-unit id="02c5de8ff11870f1b3896f2b45637ce0dba1ed4b" datatype="html">\n        <source>The desired burst limit of IO operations.</source>\n        <target>Limit yang diinginkan untuk letupan atau burst operasi IO.</target>\n      </trans-unit>\n      <trans-unit id="7a160538129b37cf595f1651f28b5fac62fbc0f8" datatype="html">\n        <source>Read BPS Burst</source>\n        <target>Letupan Baca BPS</target>\n      </trans-unit>\n      <trans-unit id="b573a5df16a53b9947288461bc24e6a0eb4341d6" datatype="html">\n        <source>The desired burst limit of read bytes.</source>\n        <target>Limit yang diinginkan untuk letupan atau burst dari baca byte.</target>\n      </trans-unit>\n      <trans-unit id="1d5b8c2a0c653651cc4ca4b8fed9456f449220d1" datatype="html">\n        <source>Read IOPS Burst</source>\n        <target>Letupan IOPS Baca</target>\n      </trans-unit>\n      <trans-unit id="20b199f9d4a8d08ffefec66040e27639ec221512" datatype="html">\n        <source>The desired burst limit of read operations.</source>\n        <target>Limit yang diinginkan untuk letupan atau burst operasi baca.</target>\n      </trans-unit>\n      <trans-unit id="824525ae57992aee629ddffcd500a8b77087ddec" datatype="html">\n        <source>Write BPS Burst</source>\n        <target>Letupan BPS Tulis</target>\n      </trans-unit>\n      <trans-unit id="a90aac4050a5d79765da5e1186909f6d4d7f981d" datatype="html">\n        <source>The desired burst limit of write bytes.</source>\n        <target>Limit yang diinginkan untuk letupan atau burst dari tulis byte.</target>\n      </trans-unit>\n      <trans-unit id="35a8c6e6c249c7d16e26aa7c4ef97c06db405070" datatype="html">\n        <source>Write IOPS Burst</source>\n        <target>Letupan IOPS Tulis</target>\n      </trans-unit>\n      <trans-unit id="b356abd41d7e9eea4d20c03d2e6892b6d435ecbd" datatype="html">\n        <source>The desired burst limit of write operations.</source>\n        <target>Limit yang diinginkan untuk letupan atau burst dari operasi baca.</target>\n      </trans-unit>\n      <trans-unit id="24c4d50fe8567de381a20a1745f1b6d37eacaa90" datatype="html">\n        <source>Failed to \n          <x id="INTERPOLATION" equiv-text="{{failure}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{metadata}}"/>\n        </source>\n        <target>Failed to \n          <x id="INTERPOLATION" equiv-text="{{failure}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{metadata}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="f54b6f09b390d5ade0e354f6c7d4743c10a315cc" datatype="html">\n        <source>Executing</source>\n        <target>Mengeksekusi</target>\n      </trans-unit>\n      <trans-unit id="5cdfe3e3330ea42bfd29c540dbd268bee97d364d" datatype="html">\n        <source>execute</source>\n        <target>eksekusi</target>\n      </trans-unit>\n      <trans-unit id="6e98e243518daa88be30330fcdbd2d10f8eae4d7" datatype="html">\n        <source>Executed</source>\n        <target>Dieksekusi</target>\n      </trans-unit>\n      <trans-unit id="24b09aa5bd909273a023d2d788a2673325c77e31" datatype="html">\n        <source>unknown task</source>\n        <target>tugas tak diketahui</target>\n      </trans-unit>\n      <trans-unit id="114b5f92b9192b229ffc9a450319a97ccca2aa5c" datatype="html">\n        <source>Creating</source>\n        <target>Membuat</target>\n      </trans-unit>\n      <trans-unit id="56695b69d27437ada580a187958407e7c856d46e" datatype="html">\n        <source>create</source>\n        <target>buat</target>\n      </trans-unit>\n      <trans-unit id="9db60170ef3b3b41a863e7d5ee7cec10919b9141" datatype="html">\n        <source>Updating</source>\n        <target>Memperbarui</target>\n      </trans-unit>\n      <trans-unit id="64412640835b7d25247cb254d4f911366c0e6862" datatype="html">\n        <source>update</source>\n        <target>perbarui</target>\n      </trans-unit>\n      <trans-unit id="416193bb373d59477458b00e5922d755e2e2cacd" datatype="html">\n        <source>Deleting</source>\n        <target>Menghapus</target>\n      </trans-unit>\n      <trans-unit id="d07a282afc7fbdb39cea6e1c9b544882a7260a86" datatype="html">\n        <source>Adding</source>\n        <target>Adding</target>\n      </trans-unit>\n      <trans-unit id="a11ec4e640f241329943237d2a3cceaa4823658e" datatype="html">\n        <source>add</source>\n        <target>add</target>\n      </trans-unit>\n      <trans-unit id="ea1c70b874904216cc5af24bd7cb3dab2d074d42" datatype="html">\n        <source>Removing</source>\n        <target>Removing</target>\n      </trans-unit>\n      <trans-unit id="4da487aec5a29ce4372e7b512227cd665b01fe6f" datatype="html">\n        <source>remove</source>\n        <target>remove</target>\n      </trans-unit>\n      <trans-unit id="0e21237afdc84ec360c374fa678d9b1cfaa334f9" datatype="html">\n        <source>Importing</source>\n        <target>Importing</target>\n      </trans-unit>\n      <trans-unit id="c6b4128c006f4cc0564137e1a1482b5c432aa347" datatype="html">\n        <source>import</source>\n        <target>import</target>\n      </trans-unit>\n      <trans-unit id="3b9f4138abbca0fd66db1f7332f4b54e2a6d916d" datatype="html">\n        <source>Imported</source>\n        <target>Imported</target>\n      </trans-unit>\n      <trans-unit id="3f757cfc3749ebb5d4462017cb60138ca082f15f" datatype="html">\n        <source>RBD \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>RBD \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="a6c681e6130fe440ae40de99a405fcf5c7eefee1" datatype="html">\n        <source>RBD snapshot \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>RBD snapshot \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="2bf18ddf3785f7afb4f01dcf63d3d8c40f4bfba5" datatype="html">\n        <source>mirroring site name</source>\n        <target>mirroring site name</target>\n      </trans-unit>\n      <trans-unit id="167b73bb24b4695614ce0fc567b7a45080457a44" datatype="html">\n        <source>bootstrap token</source>\n        <target>bootstrap token</target>\n      </trans-unit>\n      <trans-unit id="4fb54a0291f49583c317d4a3690239141b5a8f68" datatype="html">\n        <source>mirror mode for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>mirror mode for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="6621ab6e122a149326a1e48e9051a41e7f203cf6" datatype="html">\n        <source>mirror peer for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>mirror peer for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="db15adc778317d551232fe712eb03a2c1eac4a43" datatype="html">\n        <source>all dashboards</source>\n        <target>all dashboards</target>\n      </trans-unit>\n      <trans-unit id="6c19652df9249c60827044ed6274933cab180c63" datatype="html">\n        <source>OSDs (DriveGroups: \n          <x id="INTERPOLATION" equiv-text="{{tracking_id}}"/>)\n        </source>\n        <target>OSDs (DriveGroups: \n          <x id="INTERPOLATION" equiv-text="{{tracking_id}}"/>)\n        </target>\n      </trans-unit>\n      <trans-unit id="1b559dbd9cc9664fd788c2da9a10d3abafe066cb" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8fc28e1103d9f2ef47b9fff9a4f74e8365c7cf19" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="1cdc7ea44fcb85d0cfcf6e7379d625d8674a8fbe" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="460f07780389d24c6a540c007c7367a56afad585" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> is busy.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> is busy.\n        </target>\n      </trans-unit>\n      <trans-unit id="1ff7676ad1e991102224540a32dd44ad1ab88aa8" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.\n        </target>\n      </trans-unit>\n      <trans-unit id="c3a1dcca2b2ba20fbe39e2441e7bb1cf9c20cdf3" datatype="html">\n        <source>Cloning</source>\n        <target>Pengklonan</target>\n      </trans-unit>\n      <trans-unit id="b5fa4e0a3a279dee5b6bf7b823e54387f7c79994" datatype="html">\n        <source>clone</source>\n        <target>klon</target>\n      </trans-unit>\n      <trans-unit id="29b7452e8367af9aa8fa828f16ff94c3530e7a1a" datatype="html">\n        <source>Snapshot of \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> must be protected.\n        </source>\n        <target>Snapshot of \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> must be protected.\n        </target>\n      </trans-unit>\n      <trans-unit id="369f93b9a07a9465f7a261e9f0021b6cfa7180c5" datatype="html">\n        <source>Copying</source>\n        <target>Menyalin</target>\n      </trans-unit>\n      <trans-unit id="37584f889855d153a106f5dffe23d21f9453c8ff" datatype="html">\n        <source>copy</source>\n        <target>salin</target>\n      </trans-unit>\n      <trans-unit id="6ea9e313a04ef59222feaadfe84e97b4c69d7e9e" datatype="html">\n        <source>Flattening</source>\n        <target>Meratakan</target>\n      </trans-unit>\n      <trans-unit id="1f57593581b64d2d4c70eab1736bd9bccc66a7dc" datatype="html">\n        <source>flatten</source>\n        <target>ratakan</target>\n      </trans-unit>\n      <trans-unit id="d990ef9680cd23bbe652c37eb46bf038cfee80ad" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="a101745d080ef65c09bd5fafc796f94ddb9f9d60" datatype="html">\n        <source>Cannot unprotect \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it contains child images.\n        </source>\n        <target>Cannot unprotect \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it contains child images.\n        </target>\n      </trans-unit>\n      <trans-unit id="647968f4cde7786cd53ec8e6aa9802ac6824a262" datatype="html">\n        <source>Cannot delete \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it\'s protected.\n        </source>\n        <target>Cannot delete \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it\'s protected.\n        </target>\n      </trans-unit>\n      <trans-unit id="57ddd3e15cf0ce974356b757451f50116a27272b" datatype="html">\n        <source>Rolling back</source>\n        <target>Mengembalikan</target>\n      </trans-unit>\n      <trans-unit id="a8913a3a5ee61f2598b5f0432cb9b20cdd60548e" datatype="html">\n        <source>rollback</source>\n        <target>kembalikan</target>\n      </trans-unit>\n      <trans-unit id="de8676f0017c9db6c49388cd7d63cd0a83a0c1dc" datatype="html">\n        <source>Moving</source>\n        <target>Memindahkan</target>\n      </trans-unit>\n      <trans-unit id="2d810712308ae63cb795d809687a3254ef7a2f05" datatype="html">\n        <source>move</source>\n        <target>pindah</target>\n      </trans-unit>\n      <trans-unit id="f3ba995236e5c1cc77686108980c099a90aec754" datatype="html">\n        <source>Moved</source>\n        <target>dipindahkan</target>\n      </trans-unit>\n      <trans-unit id="d0422169252d132624a20f267b5c29f28cb53ebe" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' to trash\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' to trash\n        </target>\n      </trans-unit>\n      <trans-unit id="b603e2dfed9808222fbcb5a7c5f4da2cc6ae2aae" datatype="html">\n        <source>Could not find image.</source>\n        <target>Tidak dapat menemukan image.</target>\n      </trans-unit>\n      <trans-unit id="398debe73006b1fe5177ed81d2e7b0cc852f61ec" datatype="html">\n        <source>Restoring</source>\n        <target>Memulihkan</target>\n      </trans-unit>\n      <trans-unit id="c252806fb400e79bac194696632c9362742b1538" datatype="html">\n        <source>restore</source>\n        <target>pulihkan</target>\n      </trans-unit>\n      <trans-unit id="30b8bcf69b3f1754b7abba173fd806cfcea4cb04" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' into \'\n          <x id="INTERPOLATION_1" equiv-text="{{new_id}}"/>\'\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' into \'\n          <x id="INTERPOLATION_1" equiv-text="{{new_id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="13b7b241cef989fe0932ddd180e757658e1817e7" datatype="html">\n        <source>Image name \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' is already in use.\n        </source>\n        <target>Image name \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' is already in use.\n        </target>\n      </trans-unit>\n      <trans-unit id="cc1cee12c833e8fbbef28a2a7c449dc530da912d" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="38e5f47f8bef505652f3e87f46efb00ead1350a3" datatype="html">\n        <source>Purging</source>\n        <target>Membuang</target>\n      </trans-unit>\n      <trans-unit id="e4e57747f123f0fe6fe3a0ecf608f8bc287dec0c" datatype="html">\n        <source>purge</source>\n        <target>buang</target>\n      </trans-unit>\n      <trans-unit id="1560d58fdf39663929653250d45f5b1dfe078fea" datatype="html">\n        <source>all pools</source>\n        <target>semua pool</target>\n      </trans-unit>\n      <trans-unit id="1ac3dc50c2c3d86e98bc0967ee1e696810a2d3aa" datatype="html">\n        <source>images from \n          <x id="INTERPOLATION" equiv-text="{{message}}"/>\n        </source>\n        <target>images from \n          <x id="INTERPOLATION" equiv-text="{{message}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="02278abbb044ece04ab6bd80bd2060198d31d83b" datatype="html">\n        <source>Cannot disable mirroring because it contains a peer.</source>\n        <target>Gagal menonaktifkan pencerminan karena sedang bermitra.</target>\n      </trans-unit>\n      <trans-unit id="5c4525a1b76ca54d1aadeaecfdb83aedc2eec6e0" datatype="html">\n        <source>Identifying</source>\n        <target>Identifying</target>\n      </trans-unit>\n      <trans-unit id="ffd067e54a061d1f27cb35f0cf67ef7f29e19111" datatype="html">\n        <source>identify</source>\n        <target>identify</target>\n      </trans-unit>\n      <trans-unit id="7c921f339274688c22ba1acac7af6b097ad3599d" datatype="html">\n        <source>Identified</source>\n        <target>Identified</target>\n      </trans-unit>\n      <trans-unit id="3307492c27c2150cd26c514030444e11fd61089f" datatype="html">\n        <source>device \'\n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\' on host \'\n          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>\'\n        </source>\n        <target>device \'\n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\' on host \'\n          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="f123ae1fc3b000e5d08e766dd78bff162afe709d" datatype="html">\n        <source>host \'\n          <x id="INTERPOLATION" equiv-text="{{hostname}}"/>\'\n        </source>\n        <target>host \'\n          <x id="INTERPOLATION" equiv-text="{{hostname}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="c1af76189dcefd094da2bc1a4a63968f3bab5789" datatype="html">\n        <source>OSD \'\n          <x id="INTERPOLATION" equiv-text="{{svc_id}}"/>\'\n        </source>\n        <target>OSD \'\n          <x id="INTERPOLATION" equiv-text="{{svc_id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="dfe70001dc590a9e12512cbb206aa29fb36fd00b" datatype="html">\n        <source>pool \'\n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>\'\n        </source>\n        <target>pool \'\n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="59630daf2f4786690fae0cdad55da8887236eabe" datatype="html">\n        <source>erasure code profile \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </source>\n        <target>erasure code profile \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="79052d6c47258dc19ada12dbb2563761102b6f1d" datatype="html">\n        <source>crush rule \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </source>\n        <target>crush rule \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="369462e5e018360e0600bb570866201ad5c3c8a8" datatype="html">\n        <source>target \'\n          <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>\'\n        </source>\n        <target>target \'\n          <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="cf41310917cb19b335e5a950972bbff2346f7a47" datatype="html">\n        <source>NFS \n          <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>\n        </source>\n        <target>NFS \n          <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>\n        </target>\n      </trans-unit>\n    </body>\n  </file>\n</xliff>'},jtHE:function(t,e,n){"use strict";n.d(e,"a",(function(){return l}));var a=n("XNiG"),r=n("qgXg"),o=n("quSY"),i=n("pxpQ"),s=n("9ppp"),c=n("Ylt2");class l extends a.a{constructor(t=Number.POSITIVE_INFINITY,e=Number.POSITIVE_INFINITY,n){super(),this.scheduler=n,this._events=[],this._infiniteTimeWindow=!1,this._bufferSize=t<1?1:t,this._windowTime=e<1?1:e,e===Number.POSITIVE_INFINITY?(this._infiniteTimeWindow=!0,this.next=this.nextInfiniteTimeWindow):this.next=this.nextTimeWindow}nextInfiniteTimeWindow(t){const e=this._events;e.push(t),e.length>this._bufferSize&&e.shift(),super.next(t)}nextTimeWindow(t){this._events.push(new d(this._getNow(),t)),this._trimBufferThenGetEvents(),super.next(t)}_subscribe(t){const e=this._infiniteTimeWindow,n=e?this._events:this._trimBufferThenGetEvents(),a=this.scheduler,r=n.length;let l;if(this.closed)throw new s.a;if(this.isStopped||this.hasError?l=o.a.EMPTY:(this.observers.push(t),l=new c.a(this,t)),a&&t.add(t=new i.a(t,a)),e)for(let o=0;o<r&&!t.closed;o++)t.next(n[o]);else for(let o=0;o<r&&!t.closed;o++)t.next(n[o].value);return this.hasError?t.error(this.thrownError):this.isStopped&&t.complete(),l}_getNow(){return(this.scheduler||r.a).now()}_trimBufferThenGetEvents(){const t=this._getNow(),e=this._bufferSize,n=this._windowTime,a=this._events,r=a.length;let o=0;for(;o<r&&!(t-a[o].time<n);)o++;return r>e&&(o=Math.max(o,r-e)),o>0&&a.splice(0,o),a}}class d{constructor(t,e){this.time=t,this.value=e}}},juv8:function(t,e,n){var a=n("MrPd"),r=n("hypo");t.exports=function(t,e,n,o){var i=!n;n||(n={});for(var s=-1,c=e.length;++s<c;){var l=e[s],d=o?o(n[l],t[l],l,n,t):void 0;void 0===d&&(d=t[l]),i?r(n,l,d):a(n,l,d)}return n}},jvuA:function(t,e,n){var a=n("mrSG").__decorate,r=n("mrSG").__metadata;Object.defineProperty(e,"__esModule",{value:!0});var o=n("8Y7J"),i=n("UReH");e.DatatableRowDetailDirective=function(){function t(){this.rowHeight=0,this.toggle=new o.EventEmitter}return t.prototype.toggleExpandRow=function(t){this.toggle.emit({type:"row",value:t})},t.prototype.expandAllRows=function(){this.toggle.emit({type:"all",value:!0})},t.prototype.collapseAllRows=function(){this.toggle.emit({type:"all",value:!1})},a([o.Input(),r("design:type",Object)],t.prototype,"rowHeight",void 0),a([o.Input(),o.ContentChild(i.DatatableRowDetailTemplateDirective,{read:o.TemplateRef,static:!0}),r("design:type",o.TemplateRef)],t.prototype,"template",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"toggle",void 0),a([o.Directive({selector:"ngx-datatable-row-detail"})],t)}()},"k+1r":function(t,e,n){var a=n("QkVE");t.exports=function(t){var e=a(this,t).delete(t);return this.size-=e?1:0,e}},kEOa:function(t,e,n){!function(t){"use strict";var e={1:"১",2:"২",3:"৩",4:"৪",5:"৫",6:"৬",7:"৭",8:"৮",9:"৯",0:"০"},n={"১":"1","২":"2","৩":"3","৪":"4","৫":"5","৬":"6","৭":"7","৮":"8","৯":"9","০":"0"};t.defineLocale("bn",{months:"জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর".split("_"),monthsShort:"জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে".split("_"),weekdays:"রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার".split("_"),weekdaysShort:"রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি".split("_"),weekdaysMin:"রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি".split("_"),longDateFormat:{LT:"A h:mm সময়",LTS:"A h:mm:ss সময়",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm সময়",LLLL:"dddd, D MMMM YYYY, A h:mm সময়"},calendar:{sameDay:"[আজ] LT",nextDay:"[আগামীকাল] LT",nextWeek:"dddd, LT",lastDay:"[গতকাল] LT",lastWeek:"[গত] dddd, LT",sameElse:"L"},relativeTime:{future:"%s পরে",past:"%s আগে",s:"কয়েক সেকেন্ড",ss:"%d সেকেন্ড",m:"এক মিনিট",mm:"%d মিনিট",h:"এক ঘন্টা",hh:"%d ঘন্টা",d:"এক দিন",dd:"%d দিন",M:"এক মাস",MM:"%d মাস",y:"এক বছর",yy:"%d বছর"},preparse:function(t){return t.replace(/[১২৩৪৫৬৭৮৯০]/g,(function(t){return n[t]}))},postformat:function(t){return t.replace(/\d/g,(function(t){return e[t]}))},meridiemParse:/রাত|সকাল|দুপুর|বিকাল|রাত/,meridiemHour:function(t,e){return 12===t&&(t=0),"রাত"===e&&t>=4||"দুপুর"===e&&t<5||"বিকাল"===e?t+12:t},meridiem:function(t,e,n){return t<4?"রাত":t<10?"সকাল":t<17?"দুপুর":t<20?"বিকাল":"রাত"},week:{dow:0,doy:6}})}(n("wd/R"))},kJI8:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{}},kJWO:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));const a=(()=>"function"==typeof Symbol&&Symbol.observable||"@@observable")()},kOOl:function(t,e){var n=0,a=Math.random();t.exports=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++n+a).toString(36)}},kOpN:function(t,e,n){!function(t){"use strict";t.defineLocale("zh-tw",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日dddd HH:mm",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(t,e){return 12===t&&(t=0),"凌晨"===e||"早上"===e||"上午"===e?t:"中午"===e?t>=11?t:t+12:"下午"===e||"晚上"===e?t+12:void 0},meridiem:function(t,e,n){var a=100*t+e;return a<600?"凌晨":a<900?"早上":a<1130?"上午":a<1230?"中午":a<1800?"下午":"晚上"},calendar:{sameDay:"[今天] LT",nextDay:"[明天] LT",nextWeek:"[下]dddd LT",lastDay:"[昨天] LT",lastWeek:"[上]dddd LT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|週)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"日";case"M":return t+"月";case"w":case"W":return t+"週";default:return t}},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",ss:"%d 秒",m:"1 分鐘",mm:"%d 分鐘",h:"1 小時",hh:"%d 小時",d:"1 天",dd:"%d 天",M:"1 個月",MM:"%d 個月",y:"1 年",yy:"%d 年"}})}(n("wd/R"))},kRJp:function(t,e,n){var a=n("g6v/"),r=n("m/L8"),o=n("XGwC");t.exports=a?function(t,e,n){return r.f(t,e,o(1,n))}:function(t,e,n){return t[e]=n,t}},kU1M:function(t,e,n){"use strict";n.r(e);var a=n("l7GE"),r=n("ZUHj");function o(t){return function(e){return e.lift(new i(t))}}class i{constructor(t){this.durationSelector=t}call(t,e){return e.subscribe(new s(t,this.durationSelector))}}class s extends a.a{constructor(t,e){super(t),this.durationSelector=e,this.hasValue=!1}_next(t){if(this.value=t,this.hasValue=!0,!this.throttled){let n;try{const{durationSelector:e}=this;n=e(t)}catch(e){return this.destination.error(e)}const a=Object(r.a)(this,n);!a||a.closed?this.clearThrottle():this.add(this.throttled=a)}}clearThrottle(){const{value:t,hasValue:e,throttled:n}=this;n&&(this.remove(n),this.throttled=null,n.unsubscribe()),e&&(this.value=null,this.hasValue=!1,this.destination.next(t))}notifyNext(t,e,n,a){this.clearThrottle()}notifyComplete(){this.clearThrottle()}}var c=n("D0XW"),l=n("PqYM");function d(t,e=c.a){return o(()=>Object(l.a)(t,e))}function u(t){return function(e){return e.lift(new g(t))}}class g{constructor(t){this.closingNotifier=t}call(t,e){return e.subscribe(new f(t,this.closingNotifier))}}class f extends a.a{constructor(t,e){super(t),this.buffer=[],this.add(Object(r.a)(this,e))}_next(t){this.buffer.push(t)}notifyNext(t,e,n,a,r){const o=this.buffer;this.buffer=[],this.destination.next(o)}}var p=n("7o/Q");function m(t,e=null){return function(n){return n.lift(new h(t,e))}}class h{constructor(t,e){this.bufferSize=t,this.startBufferEvery=e,this.subscriberClass=e&&t!==e?y:b}call(t,e){return e.subscribe(new this.subscriberClass(t,this.bufferSize,this.startBufferEvery))}}class b extends p.a{constructor(t,e){super(t),this.bufferSize=e,this.buffer=[]}_next(t){const e=this.buffer;e.push(t),e.length==this.bufferSize&&(this.destination.next(e),this.buffer=[])}_complete(){const t=this.buffer;t.length>0&&this.destination.next(t),super._complete()}}class y extends p.a{constructor(t,e,n){super(t),this.bufferSize=e,this.startBufferEvery=n,this.buffers=[],this.count=0}_next(t){const{bufferSize:e,startBufferEvery:n,buffers:a,count:r}=this;this.count++,r%n==0&&a.push([]);for(let o=a.length;o--;){const n=a[o];n.push(t),n.length===e&&(a.splice(o,1),this.destination.next(n))}}_complete(){const{buffers:t,destination:e}=this;for(;t.length>0;){let n=t.shift();n.length>0&&e.next(n)}super._complete()}}var _=n("z+Ro");function O(t){let e=arguments.length,n=c.a;Object(_.a)(arguments[arguments.length-1])&&(n=arguments[arguments.length-1],e--);let a=null;e>=2&&(a=arguments[1]);let r=Number.POSITIVE_INFINITY;return e>=3&&(r=arguments[2]),function(e){return e.lift(new v(t,a,r,n))}}class v{constructor(t,e,n,a){this.bufferTimeSpan=t,this.bufferCreationInterval=e,this.maxBufferSize=n,this.scheduler=a}call(t,e){return e.subscribe(new P(t,this.bufferTimeSpan,this.bufferCreationInterval,this.maxBufferSize,this.scheduler))}}class C{constructor(){this.buffer=[]}}class P extends p.a{constructor(t,e,n,a,r){super(t),this.bufferTimeSpan=e,this.bufferCreationInterval=n,this.maxBufferSize=a,this.scheduler=r,this.contexts=[];const o=this.openContext();if(this.timespanOnly=null==n||n<0,this.timespanOnly)this.add(o.closeAction=r.schedule(M,e,{subscriber:this,context:o,bufferTimeSpan:e}));else{const t={bufferTimeSpan:e,bufferCreationInterval:n,subscriber:this,scheduler:r};this.add(o.closeAction=r.schedule(w,e,{subscriber:this,context:o})),this.add(r.schedule(x,n,t))}}_next(t){const e=this.contexts,n=e.length;let a;for(let r=0;r<n;r++){const n=e[r],o=n.buffer;o.push(t),o.length==this.maxBufferSize&&(a=n)}a&&this.onBufferFull(a)}_error(t){this.contexts.length=0,super._error(t)}_complete(){const{contexts:t,destination:e}=this;for(;t.length>0;){const n=t.shift();e.next(n.buffer)}super._complete()}_unsubscribe(){this.contexts=null}onBufferFull(t){this.closeContext(t);const e=t.closeAction;if(e.unsubscribe(),this.remove(e),!this.closed&&this.timespanOnly){t=this.openContext();const e=this.bufferTimeSpan;this.add(t.closeAction=this.scheduler.schedule(M,e,{subscriber:this,context:t,bufferTimeSpan:e}))}}openContext(){const t=new C;return this.contexts.push(t),t}closeContext(t){this.destination.next(t.buffer);const e=this.contexts;(e?e.indexOf(t):-1)>=0&&e.splice(e.indexOf(t),1)}}function M(t){const e=t.subscriber,n=t.context;n&&e.closeContext(n),e.closed||(t.context=e.openContext(),t.context.closeAction=this.schedule(t,t.bufferTimeSpan))}function x(t){const{bufferCreationInterval:e,bufferTimeSpan:n,subscriber:a,scheduler:r}=t,o=a.openContext();a.closed||(a.add(o.closeAction=r.schedule(w,n,{subscriber:a,context:o})),this.schedule(t,e))}function w(t){const{subscriber:e,context:n}=t;e.closeContext(n)}var T=n("quSY");function S(t,e){return function(n){return n.lift(new k(t,e))}}class k{constructor(t,e){this.openings=t,this.closingSelector=e}call(t,e){return e.subscribe(new I(t,this.openings,this.closingSelector))}}class I extends a.a{constructor(t,e,n){super(t),this.openings=e,this.closingSelector=n,this.contexts=[],this.add(Object(r.a)(this,e))}_next(t){const e=this.contexts,n=e.length;for(let a=0;a<n;a++)e[a].buffer.push(t)}_error(t){const e=this.contexts;for(;e.length>0;){const t=e.shift();t.subscription.unsubscribe(),t.buffer=null,t.subscription=null}this.contexts=null,super._error(t)}_complete(){const t=this.contexts;for(;t.length>0;){const e=t.shift();this.destination.next(e.buffer),e.subscription.unsubscribe(),e.buffer=null,e.subscription=null}this.contexts=null,super._complete()}notifyNext(t,e,n,a,r){t?this.closeBuffer(t):this.openBuffer(e)}notifyComplete(t){this.closeBuffer(t.context)}openBuffer(t){try{const e=this.closingSelector.call(this,t);e&&this.trySubscribe(e)}catch(e){this._error(e)}}closeBuffer(t){const e=this.contexts;if(e&&t){const{buffer:n,subscription:a}=t;this.destination.next(n),e.splice(e.indexOf(t),1),this.remove(a),a.unsubscribe()}}trySubscribe(t){const e=this.contexts,n=new T.a,a={buffer:[],subscription:n};e.push(a);const o=Object(r.a)(this,t,a);!o||o.closed?this.closeBuffer(a):(o.context=a,this.add(o),n.add(o))}}function N(t){return function(e){return e.lift(new R(t))}}class R{constructor(t){this.closingSelector=t}call(t,e){return e.subscribe(new A(t,this.closingSelector))}}class A extends a.a{constructor(t,e){super(t),this.closingSelector=e,this.subscribing=!1,this.openBuffer()}_next(t){this.buffer.push(t)}_complete(){const t=this.buffer;t&&this.destination.next(t),super._complete()}_unsubscribe(){this.buffer=null,this.subscribing=!1}notifyNext(t,e,n,a,r){this.openBuffer()}notifyComplete(){this.subscribing?this.complete():this.openBuffer()}openBuffer(){let t,{closingSubscription:e}=this;e&&(this.remove(e),e.unsubscribe()),this.buffer&&this.destination.next(this.buffer),this.buffer=[];try{const{closingSelector:e}=this;t=e()}catch(n){return this.error(n)}e=new T.a,this.closingSubscription=e,this.add(e),this.subscribing=!0,e.add(Object(r.a)(this,t)),this.subscribing=!1}}var E=n("JIr8"),D=n("itXk");function L(t){return e=>e.lift(new D.a(t))}var q=n("DH7j"),j=n("Cfvw");function F(...t){let e=null;return"function"==typeof t[t.length-1]&&(e=t.pop()),1===t.length&&Object(q.a)(t[0])&&(t=t[0].slice()),n=>n.lift.call(Object(j.a)([n,...t]),new D.a(e))}var z=n("f29J"),G=n("0EUg"),B=n("bOdf");function V(t,e){return Object(B.a)(()=>t,e)}function Y(t){return e=>e.lift(new H(t,e))}class H{constructor(t,e){this.predicate=t,this.source=e}call(t,e){return e.subscribe(new U(t,this.predicate,this.source))}}class U extends p.a{constructor(t,e,n){super(t),this.predicate=e,this.source=n,this.count=0,this.index=0}_next(t){this.predicate?this._tryPredicate(t):this.count++}_tryPredicate(t){let e;try{e=this.predicate(t,this.index++,this.source)}catch(n){return void this.destination.error(n)}e&&this.count++}_complete(){this.destination.next(this.count),this.destination.complete()}}function W(t){return e=>e.lift(new K(t))}class K{constructor(t){this.durationSelector=t}call(t,e){return e.subscribe(new $(t,this.durationSelector))}}class $ extends a.a{constructor(t,e){super(t),this.durationSelector=e,this.hasValue=!1,this.durationSubscription=null}_next(t){try{const e=this.durationSelector.call(this,t);e&&this._tryNext(t,e)}catch(e){this.destination.error(e)}}_complete(){this.emitValue(),this.destination.complete()}_tryNext(t,e){let n=this.durationSubscription;this.value=t,this.hasValue=!0,n&&(n.unsubscribe(),this.remove(n)),n=Object(r.a)(this,e),n&&!n.closed&&this.add(this.durationSubscription=n)}notifyNext(t,e,n,a,r){this.emitValue()}notifyComplete(){this.emitValue()}emitValue(){if(this.hasValue){const t=this.value,e=this.durationSubscription;e&&(this.durationSubscription=null,e.unsubscribe(),this.remove(e)),this.value=null,this.hasValue=!1,super._next(t)}}}var Z=n("Kj3r"),J=n("xbPD");function X(t){return t instanceof Date&&!isNaN(+t)}var Q=n("WMd4");function tt(t,e=c.a){const n=X(t)?+t-e.now():Math.abs(t);return t=>t.lift(new et(n,e))}class et{constructor(t,e){this.delay=t,this.scheduler=e}call(t,e){return e.subscribe(new nt(t,this.delay,this.scheduler))}}class nt extends p.a{constructor(t,e,n){super(t),this.delay=e,this.scheduler=n,this.queue=[],this.active=!1,this.errored=!1}static dispatch(t){const e=t.source,n=e.queue,a=t.scheduler,r=t.destination;for(;n.length>0&&n[0].time-a.now()<=0;)n.shift().notification.observe(r);if(n.length>0){const e=Math.max(0,n[0].time-a.now());this.schedule(t,e)}else this.unsubscribe(),e.active=!1}_schedule(t){this.active=!0,this.destination.add(t.schedule(nt.dispatch,this.delay,{source:this,destination:this.destination,scheduler:t}))}scheduleNotification(t){if(!0===this.errored)return;const e=this.scheduler,n=new at(e.now()+this.delay,t);this.queue.push(n),!1===this.active&&this._schedule(e)}_next(t){this.scheduleNotification(Q.a.createNext(t))}_error(t){this.errored=!0,this.queue=[],this.destination.error(t),this.unsubscribe()}_complete(){this.scheduleNotification(Q.a.createComplete()),this.unsubscribe()}}class at{constructor(t,e){this.time=t,this.notification=e}}var rt=n("HDdC");function ot(t,e){return e?n=>new ct(n,e).lift(new it(t)):e=>e.lift(new it(t))}class it{constructor(t){this.delayDurationSelector=t}call(t,e){return e.subscribe(new st(t,this.delayDurationSelector))}}class st extends a.a{constructor(t,e){super(t),this.delayDurationSelector=e,this.completed=!1,this.delayNotifierSubscriptions=[],this.index=0}notifyNext(t,e,n,a,r){this.destination.next(t),this.removeSubscription(r),this.tryComplete()}notifyError(t,e){this._error(t)}notifyComplete(t){const e=this.removeSubscription(t);e&&this.destination.next(e),this.tryComplete()}_next(t){const e=this.index++;try{const n=this.delayDurationSelector(t,e);n&&this.tryDelay(n,t)}catch(n){this.destination.error(n)}}_complete(){this.completed=!0,this.tryComplete(),this.unsubscribe()}removeSubscription(t){t.unsubscribe();const e=this.delayNotifierSubscriptions.indexOf(t);return-1!==e&&this.delayNotifierSubscriptions.splice(e,1),t.outerValue}tryDelay(t,e){const n=Object(r.a)(this,t,e);n&&!n.closed&&(this.destination.add(n),this.delayNotifierSubscriptions.push(n))}tryComplete(){this.completed&&0===this.delayNotifierSubscriptions.length&&this.destination.complete()}}class ct extends rt.a{constructor(t,e){super(),this.source=t,this.subscriptionDelay=e}_subscribe(t){this.subscriptionDelay.subscribe(new lt(t,this.source))}}class lt extends p.a{constructor(t,e){super(),this.parent=t,this.source=e,this.sourceSubscribed=!1}_next(t){this.subscribeToSource()}_error(t){this.unsubscribe(),this.parent.error(t)}_complete(){this.unsubscribe(),this.subscribeToSource()}subscribeToSource(){this.sourceSubscribed||(this.sourceSubscribed=!0,this.unsubscribe(),this.source.subscribe(this.parent))}}function dt(){return function(t){return t.lift(new ut)}}class ut{call(t,e){return e.subscribe(new gt(t))}}class gt extends p.a{constructor(t){super(t)}_next(t){t.observe(this.destination)}}var ft=n("02Lk"),pt=n("/uUt");function mt(t,e){return Object(pt.a)((n,a)=>e?e(n[t],a[t]):n[t]===a[t])}var ht=n("4I5i"),bt=n("pLZG"),yt=n("XDbj"),_t=n("IzEk");function Ot(t,e){if(t<0)throw new ht.a;const n=arguments.length>=2;return a=>a.pipe(Object(bt.a)((e,n)=>n===t),Object(_t.a)(1),n?Object(J.a)(e):Object(yt.a)(()=>new ht.a))}var vt=n("GyhO"),Ct=n("LRne");function Pt(...t){return e=>Object(vt.a)(e,Object(Ct.a)(...t))}var Mt=n("Gi4w");function xt(){return t=>t.lift(new wt)}class wt{call(t,e){return e.subscribe(new Tt(t))}}class Tt extends a.a{constructor(t){super(t),this.hasCompleted=!1,this.hasSubscription=!1}_next(t){this.hasSubscription||(this.hasSubscription=!0,this.add(Object(r.a)(this,t)))}_complete(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete()}notifyComplete(t){this.remove(t),this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()}}var St=n("51Dv"),kt=n("lJxs");function It(t,e){return e?n=>n.pipe(It((n,a)=>Object(j.a)(t(n,a)).pipe(Object(kt.a)((t,r)=>e(n,t,a,r))))):e=>e.lift(new Nt(t))}class Nt{constructor(t){this.project=t}call(t,e){return e.subscribe(new Rt(t,this.project))}}class Rt extends a.a{constructor(t,e){super(t),this.project=e,this.hasSubscription=!1,this.hasCompleted=!1,this.index=0}_next(t){this.hasSubscription||this.tryNext(t)}tryNext(t){let e;const n=this.index++;try{e=this.project(t,n)}catch(a){return void this.destination.error(a)}this.hasSubscription=!0,this._innerSub(e,t,n)}_innerSub(t,e,n){const a=new St.a(this,e,n),o=this.destination;o.add(a);const i=Object(r.a)(this,t,void 0,void 0,a);i!==a&&o.add(i)}_complete(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete(),this.unsubscribe()}notifyNext(t,e,n,a,r){this.destination.next(e)}notifyError(t){this.destination.error(t)}notifyComplete(t){this.destination.remove(t),this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()}}function At(t,e=Number.POSITIVE_INFINITY,n){return e=(e||0)<1?Number.POSITIVE_INFINITY:e,a=>a.lift(new Et(t,e,n))}class Et{constructor(t,e,n){this.project=t,this.concurrent=e,this.scheduler=n}call(t,e){return e.subscribe(new Dt(t,this.project,this.concurrent,this.scheduler))}}class Dt extends a.a{constructor(t,e,n,a){super(t),this.project=e,this.concurrent=n,this.scheduler=a,this.index=0,this.active=0,this.hasCompleted=!1,n<Number.POSITIVE_INFINITY&&(this.buffer=[])}static dispatch(t){const{subscriber:e,result:n,value:a,index:r}=t;e.subscribeToProjection(n,a,r)}_next(t){const e=this.destination;if(e.closed)return void this._complete();const n=this.index++;if(this.active<this.concurrent){e.next(t);try{const{project:e}=this,a=e(t,n);this.scheduler?this.destination.add(this.scheduler.schedule(Dt.dispatch,0,{subscriber:this,result:a,value:t,index:n})):this.subscribeToProjection(a,t,n)}catch(a){e.error(a)}}else this.buffer.push(t)}subscribeToProjection(t,e,n){this.active++,this.destination.add(Object(r.a)(this,t,e,n))}_complete(){this.hasCompleted=!0,this.hasCompleted&&0===this.active&&this.destination.complete(),this.unsubscribe()}notifyNext(t,e,n,a,r){this._next(e)}notifyComplete(t){const e=this.buffer;this.destination.remove(t),this.active--,e&&e.length>0&&this._next(e.shift()),this.hasCompleted&&0===this.active&&this.destination.complete()}}var Lt=n("nYR2");function qt(t,e){if("function"!=typeof t)throw new TypeError("predicate is not a function");return n=>n.lift(new jt(t,n,!1,e))}class jt{constructor(t,e,n,a){this.predicate=t,this.source=e,this.yieldIndex=n,this.thisArg=a}call(t,e){return e.subscribe(new Ft(t,this.predicate,this.source,this.yieldIndex,this.thisArg))}}class Ft extends p.a{constructor(t,e,n,a,r){super(t),this.predicate=e,this.source=n,this.yieldIndex=a,this.thisArg=r,this.index=0}notifyComplete(t){const e=this.destination;e.next(t),e.complete(),this.unsubscribe()}_next(t){const{predicate:e,thisArg:n}=this,a=this.index++;try{e.call(n||this,t,a,this.source)&&this.notifyComplete(this.yieldIndex?a:t)}catch(r){this.destination.error(r)}}_complete(){this.notifyComplete(this.yieldIndex?-1:void 0)}}function zt(t,e){return n=>n.lift(new jt(t,n,!0,e))}var Gt=n("SxV6"),Bt=n("OQgR");function Vt(){return function(t){return t.lift(new Yt)}}class Yt{call(t,e){return e.subscribe(new Ht(t))}}class Ht extends p.a{_next(t){}}function Ut(){return t=>t.lift(new Wt)}class Wt{call(t,e){return e.subscribe(new Kt(t))}}class Kt extends p.a{constructor(t){super(t)}notifyComplete(t){const e=this.destination;e.next(t),e.complete()}_next(t){this.notifyComplete(!1)}_complete(){this.notifyComplete(!0)}}var $t=n("NJ9Y");function Zt(t){return e=>e.lift(new Jt(t))}class Jt{constructor(t){this.value=t}call(t,e){return e.subscribe(new Xt(t,this.value))}}class Xt extends p.a{constructor(t,e){super(t),this.value=e}_next(t){this.destination.next(this.value)}}function Qt(){return function(t){return t.lift(new te)}}class te{call(t,e){return e.subscribe(new ee(t))}}class ee extends p.a{constructor(t){super(t)}_next(t){this.destination.next(Q.a.createNext(t))}_error(t){const e=this.destination;e.next(Q.a.createError(t)),e.complete()}_complete(){const t=this.destination;t.next(Q.a.createComplete()),t.complete()}}var ne=n("128B");function ae(t){const e="function"==typeof t?(e,n)=>t(e,n)>0?e:n:(t,e)=>t>e?t:e;return Object(ne.a)(e)}var re=n("VRyK");function oe(...t){return e=>e.lift.call(Object(re.a)(e,...t))}var ie=n("bHdf"),se=n("5+tZ");function ce(t,e,n=Number.POSITIVE_INFINITY){return"function"==typeof e?Object(se.a)(()=>t,e,n):("number"==typeof e&&(n=e),Object(se.a)(()=>t,n))}function le(t,e,n=Number.POSITIVE_INFINITY){return a=>a.lift(new de(t,e,n))}class de{constructor(t,e,n){this.accumulator=t,this.seed=e,this.concurrent=n}call(t,e){return e.subscribe(new ue(t,this.accumulator,this.seed,this.concurrent))}}class ue extends a.a{constructor(t,e,n,a){super(t),this.accumulator=e,this.acc=n,this.concurrent=a,this.hasValue=!1,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(t){if(this.active<this.concurrent){const n=this.index++,a=this.destination;let r;try{const{accumulator:e}=this;r=e(this.acc,t,n)}catch(e){return a.error(e)}this.active++,this._innerSub(r,t,n)}else this.buffer.push(t)}_innerSub(t,e,n){const a=new St.a(this,e,n),o=this.destination;o.add(a);const i=Object(r.a)(this,t,void 0,void 0,a);i!==a&&o.add(i)}_complete(){this.hasCompleted=!0,0===this.active&&0===this.buffer.length&&(!1===this.hasValue&&this.destination.next(this.acc),this.destination.complete()),this.unsubscribe()}notifyNext(t,e,n,a,r){const{destination:o}=this;this.acc=e,this.hasValue=!0,o.next(e)}notifyComplete(t){const e=this.buffer;this.destination.remove(t),this.active--,e.length>0?this._next(e.shift()):0===this.active&&this.hasCompleted&&(!1===this.hasValue&&this.destination.next(this.acc),this.destination.complete())}}function ge(t){const e="function"==typeof t?(e,n)=>t(e,n)<0?e:n:(t,e)=>t<e?t:e;return Object(ne.a)(e)}var fe=n("oB13"),pe=n("pxpQ");function me(...t){return 1===t.length&&Object(q.a)(t[0])&&(t=t[0]),e=>e.lift(new he(t))}class he{constructor(t){this.nextSources=t}call(t,e){return e.subscribe(new be(t,this.nextSources))}}class be extends a.a{constructor(t,e){super(t),this.destination=t,this.nextSources=e}notifyError(t,e){this.subscribeToNextSource()}notifyComplete(t){this.subscribeToNextSource()}_error(t){this.subscribeToNextSource(),this.unsubscribe()}_complete(){this.subscribeToNextSource(),this.unsubscribe()}subscribeToNextSource(){const t=this.nextSources.shift();if(t){const e=new St.a(this,void 0,void 0),n=this.destination;n.add(e);const a=Object(r.a)(this,t,void 0,void 0,e);a!==e&&n.add(a)}else this.destination.complete()}}function ye(){return t=>t.lift(new _e)}class _e{call(t,e){return e.subscribe(new Oe(t))}}class Oe extends p.a{constructor(t){super(t),this.hasPrev=!1}_next(t){let e;this.hasPrev?e=[this.prev,t]:this.hasPrev=!0,this.prev=t,e&&this.destination.next(e)}}var ve=n("F97/");function Ce(t,e){return n=>[Object(bt.a)(t,e)(n),Object(bt.a)(Object(ve.a)(t,e))(n)]}function Pe(...t){const e=t.length;if(0===e)throw new Error("list of properties cannot be empty.");return n=>Object(kt.a)(function(t,e){return n=>{let a=n;for(let r=0;r<e;r++){const e=a[t[r]];if(void 0===e)return;a=e}return a}}(t,e))(n)}var Me=n("XNiG");function xe(t){return t?Object(fe.a)(()=>new Me.a,t):Object(fe.a)(new Me.a)}var we=n("2Vo4");function Te(t){return e=>Object(fe.a)(new we.a(t))(e)}var Se=n("NHP+");function ke(){return t=>Object(fe.a)(new Se.a)(t)}var Ie=n("jtHE");function Ne(t,e,n,a){n&&"function"!=typeof n&&(a=n);const r="function"==typeof n?n:void 0,o=new Ie.a(t,e,a);return t=>Object(fe.a)(()=>o,r)(t)}var Re=n("Nv8m");function Ae(...t){return function(e){return 1===t.length&&Object(q.a)(t[0])&&(t=t[0]),e.lift.call(Object(Re.a)(e,...t))}}var Ee=n("EY2u");function De(t=-1){return e=>0===t?Object(Ee.b)():e.lift(new Le(t<0?-1:t-1,e))}class Le{constructor(t,e){this.count=t,this.source=e}call(t,e){return e.subscribe(new qe(t,this.count,this.source))}}class qe extends p.a{constructor(t,e,n){super(t),this.count=e,this.source=n}complete(){if(!this.isStopped){const{source:t,count:e}=this;if(0===e)return super.complete();e>-1&&(this.count=e-1),t.subscribe(this._unsubscribeAndRecycle())}}}function je(t){return e=>e.lift(new Fe(t))}class Fe{constructor(t){this.notifier=t}call(t,e){return e.subscribe(new ze(t,this.notifier,e))}}class ze extends a.a{constructor(t,e,n){super(t),this.notifier=e,this.source=n,this.sourceIsBeingSubscribedTo=!0}notifyNext(t,e,n,a,r){this.sourceIsBeingSubscribedTo=!0,this.source.subscribe(this)}notifyComplete(t){if(!1===this.sourceIsBeingSubscribedTo)return super.complete()}complete(){if(this.sourceIsBeingSubscribedTo=!1,!this.isStopped){if(this.retries||this.subscribeToRetries(),!this.retriesSubscription||this.retriesSubscription.closed)return super.complete();this._unsubscribeAndRecycle(),this.notifications.next()}}_unsubscribe(){const{notifications:t,retriesSubscription:e}=this;t&&(t.unsubscribe(),this.notifications=null),e&&(e.unsubscribe(),this.retriesSubscription=null),this.retries=null}_unsubscribeAndRecycle(){const{_unsubscribe:t}=this;return this._unsubscribe=null,super._unsubscribeAndRecycle(),this._unsubscribe=t,this}subscribeToRetries(){let t;this.notifications=new Me.a;try{const{notifier:e}=this;t=e(this.notifications)}catch(e){return super.complete()}this.retries=t,this.retriesSubscription=Object(r.a)(this,t)}}function Ge(t=-1){return e=>e.lift(new Be(t,e))}class Be{constructor(t,e){this.count=t,this.source=e}call(t,e){return e.subscribe(new Ve(t,this.count,this.source))}}class Ve extends p.a{constructor(t,e,n){super(t),this.count=e,this.source=n}error(t){if(!this.isStopped){const{source:e,count:n}=this;if(0===n)return super.error(t);n>-1&&(this.count=n-1),e.subscribe(this._unsubscribeAndRecycle())}}}function Ye(t){return e=>e.lift(new He(t,e))}class He{constructor(t,e){this.notifier=t,this.source=e}call(t,e){return e.subscribe(new Ue(t,this.notifier,this.source))}}class Ue extends a.a{constructor(t,e,n){super(t),this.notifier=e,this.source=n}error(t){if(!this.isStopped){let n=this.errors,a=this.retries,o=this.retriesSubscription;if(a)this.errors=null,this.retriesSubscription=null;else{n=new Me.a;try{const{notifier:t}=this;a=t(n)}catch(e){return super.error(e)}o=Object(r.a)(this,a)}this._unsubscribeAndRecycle(),this.errors=n,this.retries=a,this.retriesSubscription=o,n.next(t)}}_unsubscribe(){const{errors:t,retriesSubscription:e}=this;t&&(t.unsubscribe(),this.errors=null),e&&(e.unsubscribe(),this.retriesSubscription=null),this.retries=null}notifyNext(t,e,n,a,r){const{_unsubscribe:o}=this;this._unsubscribe=null,this._unsubscribeAndRecycle(),this._unsubscribe=o,this.source.subscribe(this)}}var We=n("x+ZX");function Ke(t){return e=>e.lift(new $e(t))}class $e{constructor(t){this.notifier=t}call(t,e){const n=new Ze(t),a=e.subscribe(n);return a.add(Object(r.a)(n,this.notifier)),a}}class Ze extends a.a{constructor(){super(...arguments),this.hasValue=!1}_next(t){this.value=t,this.hasValue=!0}notifyNext(t,e,n,a,r){this.emitValue()}notifyComplete(){this.emitValue()}emitValue(){this.hasValue&&(this.hasValue=!1,this.destination.next(this.value))}}function Je(t,e=c.a){return n=>n.lift(new Xe(t,e))}class Xe{constructor(t,e){this.period=t,this.scheduler=e}call(t,e){return e.subscribe(new Qe(t,this.period,this.scheduler))}}class Qe extends p.a{constructor(t,e,n){super(t),this.period=e,this.scheduler=n,this.hasValue=!1,this.add(n.schedule(tn,e,{subscriber:this,period:e}))}_next(t){this.lastValue=t,this.hasValue=!0}notifyNext(){this.hasValue&&(this.hasValue=!1,this.destination.next(this.lastValue))}}function tn(t){let{subscriber:e,period:n}=t;e.notifyNext(),this.schedule(t,n)}var en=n("Kqap");function nn(t,e){return n=>n.lift(new an(t,e))}class an{constructor(t,e){this.compareTo=t,this.comparator=e}call(t,e){return e.subscribe(new rn(t,this.compareTo,this.comparator))}}class rn extends p.a{constructor(t,e,n){super(t),this.compareTo=e,this.comparator=n,this._a=[],this._b=[],this._oneComplete=!1,this.destination.add(e.subscribe(new on(t,this)))}_next(t){this._oneComplete&&0===this._b.length?this.emit(!1):(this._a.push(t),this.checkValues())}_complete(){this._oneComplete?this.emit(0===this._a.length&&0===this._b.length):this._oneComplete=!0,this.unsubscribe()}checkValues(){const{_a:t,_b:e,comparator:n}=this;for(;t.length>0&&e.length>0;){let r=t.shift(),o=e.shift(),i=!1;try{i=n?n(r,o):r===o}catch(a){this.destination.error(a)}i||this.emit(!1)}}emit(t){const{destination:e}=this;e.next(t),e.complete()}nextB(t){this._oneComplete&&0===this._a.length?this.emit(!1):(this._b.push(t),this.checkValues())}completeB(){this._oneComplete?this.emit(0===this._a.length&&0===this._b.length):this._oneComplete=!0}}class on extends p.a{constructor(t,e){super(t),this.parent=e}_next(t){this.parent.nextB(t)}_error(t){this.parent.error(t),this.unsubscribe()}_complete(){this.parent.completeB(),this.unsubscribe()}}var sn=n("w1tV"),cn=n("UXun"),ln=n("sVev");function dn(t){return e=>e.lift(new un(t,e))}class un{constructor(t,e){this.predicate=t,this.source=e}call(t,e){return e.subscribe(new gn(t,this.predicate,this.source))}}class gn extends p.a{constructor(t,e,n){super(t),this.predicate=e,this.source=n,this.seenValue=!1,this.index=0}applySingleValue(t){this.seenValue?this.destination.error("Sequence contains more than one element"):(this.seenValue=!0,this.singleValue=t)}_next(t){const e=this.index++;this.predicate?this.tryNext(t,e):this.applySingleValue(t)}tryNext(t,e){try{this.predicate(t,e,this.source)&&this.applySingleValue(t)}catch(n){this.destination.error(n)}}_complete(){const t=this.destination;this.index>0?(t.next(this.seenValue?this.singleValue:void 0),t.complete()):t.error(new ln.a)}}function fn(t){return e=>e.lift(new pn(t))}class pn{constructor(t){this.total=t}call(t,e){return e.subscribe(new mn(t,this.total))}}class mn extends p.a{constructor(t,e){super(t),this.total=e,this.count=0}_next(t){++this.count>this.total&&this.destination.next(t)}}function hn(t){return e=>e.lift(new bn(t))}class bn{constructor(t){if(this._skipCount=t,this._skipCount<0)throw new ht.a}call(t,e){return e.subscribe(0===this._skipCount?new p.a(t):new yn(t,this._skipCount))}}class yn extends p.a{constructor(t,e){super(t),this._skipCount=e,this._count=0,this._ring=new Array(e)}_next(t){const e=this._skipCount,n=this._count++;if(n<e)this._ring[n]=t;else{const a=n%e,r=this._ring,o=r[a];r[a]=t,this.destination.next(o)}}}function _n(t){return e=>e.lift(new On(t))}class On{constructor(t){this.notifier=t}call(t,e){return e.subscribe(new vn(t,this.notifier))}}class vn extends a.a{constructor(t,e){super(t),this.hasValue=!1;const n=new St.a(this,void 0,void 0);this.add(n),this.innerSubscription=n;const a=Object(r.a)(this,e,void 0,void 0,n);a!==n&&(this.add(a),this.innerSubscription=a)}_next(t){this.hasValue&&super._next(t)}notifyNext(t,e,n,a,r){this.hasValue=!0,this.innerSubscription&&this.innerSubscription.unsubscribe()}notifyComplete(){}}function Cn(t){return e=>e.lift(new Pn(t))}class Pn{constructor(t){this.predicate=t}call(t,e){return e.subscribe(new Mn(t,this.predicate))}}class Mn extends p.a{constructor(t,e){super(t),this.predicate=e,this.skipping=!0,this.index=0}_next(t){const e=this.destination;this.skipping&&this.tryCallPredicate(t),this.skipping||e.next(t)}tryCallPredicate(t){try{const e=this.predicate(t,this.index++);this.skipping=Boolean(e)}catch(e){this.destination.error(e)}}}var xn=n("JX91"),wn=n("7Hc7"),Tn=n("Y7HM");class Sn extends rt.a{constructor(t,e=0,n=wn.a){super(),this.source=t,this.delayTime=e,this.scheduler=n,(!Object(Tn.a)(e)||e<0)&&(this.delayTime=0),n&&"function"==typeof n.schedule||(this.scheduler=wn.a)}static create(t,e=0,n=wn.a){return new Sn(t,e,n)}static dispatch(t){const{source:e,subscriber:n}=t;return this.add(e.subscribe(n))}_subscribe(t){return this.scheduler.schedule(Sn.dispatch,this.delayTime,{source:this.source,subscriber:t})}}function kn(t,e=0){return function(n){return n.lift(new In(t,e))}}class In{constructor(t,e){this.scheduler=t,this.delay=e}call(t,e){return new Sn(e,this.delay,this.scheduler).subscribe(t)}}var Nn=n("eIep"),Rn=n("SpAZ");function An(){return Object(Nn.a)(Rn.a)}var En=n("aGrj"),Dn=n("BFxc");function Ln(t){return e=>e.lift(new qn(t))}class qn{constructor(t){this.notifier=t}call(t,e){const n=new jn(t),a=Object(r.a)(n,this.notifier);return a&&!n.seenValue?(n.add(a),e.subscribe(n)):n}}class jn extends a.a{constructor(t){super(t),this.seenValue=!1}notifyNext(t,e,n,a,r){this.seenValue=!0,this.complete()}notifyComplete(){}}function Fn(t,e=!1){return n=>n.lift(new zn(t,e))}class zn{constructor(t,e){this.predicate=t,this.inclusive=e}call(t,e){return e.subscribe(new Gn(t,this.predicate,this.inclusive))}}class Gn extends p.a{constructor(t,e,n){super(t),this.predicate=e,this.inclusive=n,this.index=0}_next(t){const e=this.destination;let n;try{n=this.predicate(t,this.index++)}catch(a){return void e.error(a)}this.nextOrComplete(t,n)}nextOrComplete(t,e){const n=this.destination;Boolean(e)?n.next(t):(this.inclusive&&n.next(t),n.complete())}}var Bn=n("vkgz");const Vn={leading:!0,trailing:!1};function Yn(t,e=Vn){return n=>n.lift(new Hn(t,e.leading,e.trailing))}class Hn{constructor(t,e,n){this.durationSelector=t,this.leading=e,this.trailing=n}call(t,e){return e.subscribe(new Un(t,this.durationSelector,this.leading,this.trailing))}}class Un extends a.a{constructor(t,e,n,a){super(t),this.destination=t,this.durationSelector=e,this._leading=n,this._trailing=a,this._hasValue=!1}_next(t){this._hasValue=!0,this._sendValue=t,this._throttled||(this._leading?this.send():this.throttle(t))}send(){const{_hasValue:t,_sendValue:e}=this;t&&(this.destination.next(e),this.throttle(e)),this._hasValue=!1,this._sendValue=null}throttle(t){const e=this.tryDurationSelector(t);e&&this.add(this._throttled=Object(r.a)(this,e))}tryDurationSelector(t){try{return this.durationSelector(t)}catch(e){return this.destination.error(e),null}}throttlingDone(){const{_throttled:t,_trailing:e}=this;t&&t.unsubscribe(),this._throttled=null,e&&this.send()}notifyNext(t,e,n,a,r){this.throttlingDone()}notifyComplete(){this.throttlingDone()}}function Wn(t,e=c.a,n=Vn){return a=>a.lift(new Kn(t,e,n.leading,n.trailing))}class Kn{constructor(t,e,n,a){this.duration=t,this.scheduler=e,this.leading=n,this.trailing=a}call(t,e){return e.subscribe(new $n(t,this.duration,this.scheduler,this.leading,this.trailing))}}class $n extends p.a{constructor(t,e,n,a,r){super(t),this.duration=e,this.scheduler=n,this.leading=a,this.trailing=r,this._hasTrailingValue=!1,this._trailingValue=null}_next(t){this.throttled?this.trailing&&(this._trailingValue=t,this._hasTrailingValue=!0):(this.add(this.throttled=this.scheduler.schedule(Zn,this.duration,{subscriber:this})),this.leading?this.destination.next(t):this.trailing&&(this._trailingValue=t,this._hasTrailingValue=!0))}_complete(){this._hasTrailingValue?(this.destination.next(this._trailingValue),this.destination.complete()):this.destination.complete()}clearThrottle(){const t=this.throttled;t&&(this.trailing&&this._hasTrailingValue&&(this.destination.next(this._trailingValue),this._trailingValue=null,this._hasTrailingValue=!1),t.unsubscribe(),this.remove(t),this.throttled=null)}}function Zn(t){const{subscriber:e}=t;e.clearThrottle()}var Jn=n("NXyV");function Xn(t=c.a){return e=>Object(Jn.a)(()=>e.pipe(Object(en.a)(({current:e},n)=>({value:n,current:t.now(),last:e}),{current:t.now(),value:void 0,last:void 0}),Object(kt.a)(({current:t,last:e,value:n})=>new Qn(n,t-e))))}class Qn{constructor(t,e){this.value=t,this.interval=e}}var ta=n("Y6u4");function ea(t,e,n=c.a){return a=>{let r=X(t),o=r?+t-n.now():Math.abs(t);return a.lift(new na(o,r,e,n))}}class na{constructor(t,e,n,a){this.waitFor=t,this.absoluteTimeout=e,this.withObservable=n,this.scheduler=a}call(t,e){return e.subscribe(new aa(t,this.absoluteTimeout,this.waitFor,this.withObservable,this.scheduler))}}class aa extends a.a{constructor(t,e,n,a,r){super(t),this.absoluteTimeout=e,this.waitFor=n,this.withObservable=a,this.scheduler=r,this.action=null,this.scheduleTimeout()}static dispatchTimeout(t){const{withObservable:e}=t;t._unsubscribeAndRecycle(),t.add(Object(r.a)(t,e))}scheduleTimeout(){const{action:t}=this;t?this.action=t.schedule(this,this.waitFor):this.add(this.action=this.scheduler.schedule(aa.dispatchTimeout,this.waitFor,this))}_next(t){this.absoluteTimeout||this.scheduleTimeout(),super._next(t)}_unsubscribe(){this.action=null,this.scheduler=null,this.withObservable=null}}var ra=n("z6cu");function oa(t,e=c.a){return ea(t,Object(ra.a)(new ta.a),e)}function ia(t=c.a){return Object(kt.a)(e=>new sa(e,t.now()))}class sa{constructor(t,e){this.value=t,this.timestamp=e}}var ca=n("IAdc");function la(t){return function(e){return e.lift(new da(t))}}class da{constructor(t){this.windowBoundaries=t}call(t,e){const n=new ua(t),a=e.subscribe(n);return a.closed||n.add(Object(r.a)(n,this.windowBoundaries)),a}}class ua extends a.a{constructor(t){super(t),this.window=new Me.a,t.next(this.window)}notifyNext(t,e,n,a,r){this.openWindow()}notifyError(t,e){this._error(t)}notifyComplete(t){this._complete()}_next(t){this.window.next(t)}_error(t){this.window.error(t),this.destination.error(t)}_complete(){this.window.complete(),this.destination.complete()}_unsubscribe(){this.window=null}openWindow(){const t=this.window;t&&t.complete();const e=this.destination,n=this.window=new Me.a;e.next(n)}}function ga(t,e=0){return function(n){return n.lift(new fa(t,e))}}class fa{constructor(t,e){this.windowSize=t,this.startWindowEvery=e}call(t,e){return e.subscribe(new pa(t,this.windowSize,this.startWindowEvery))}}class pa extends p.a{constructor(t,e,n){super(t),this.destination=t,this.windowSize=e,this.startWindowEvery=n,this.windows=[new Me.a],this.count=0,t.next(this.windows[0])}_next(t){const e=this.startWindowEvery>0?this.startWindowEvery:this.windowSize,n=this.destination,a=this.windowSize,r=this.windows,o=r.length;for(let s=0;s<o&&!this.closed;s++)r[s].next(t);const i=this.count-a+1;if(i>=0&&i%e==0&&!this.closed&&r.shift().complete(),++this.count%e==0&&!this.closed){const t=new Me.a;r.push(t),n.next(t)}}_error(t){const e=this.windows;if(e)for(;e.length>0&&!this.closed;)e.shift().error(t);this.destination.error(t)}_complete(){const t=this.windows;if(t)for(;t.length>0&&!this.closed;)t.shift().complete();this.destination.complete()}_unsubscribe(){this.count=0,this.windows=null}}function ma(t){let e=c.a,n=null,a=Number.POSITIVE_INFINITY;return Object(_.a)(arguments[3])&&(e=arguments[3]),Object(_.a)(arguments[2])?e=arguments[2]:Object(Tn.a)(arguments[2])&&(a=arguments[2]),Object(_.a)(arguments[1])?e=arguments[1]:Object(Tn.a)(arguments[1])&&(n=arguments[1]),function(r){return r.lift(new ha(t,n,a,e))}}class ha{constructor(t,e,n,a){this.windowTimeSpan=t,this.windowCreationInterval=e,this.maxWindowSize=n,this.scheduler=a}call(t,e){return e.subscribe(new ya(t,this.windowTimeSpan,this.windowCreationInterval,this.maxWindowSize,this.scheduler))}}class ba extends Me.a{constructor(){super(...arguments),this._numberOfNextedValues=0}next(t){this._numberOfNextedValues++,super.next(t)}get numberOfNextedValues(){return this._numberOfNextedValues}}class ya extends p.a{constructor(t,e,n,a,r){super(t),this.destination=t,this.windowTimeSpan=e,this.windowCreationInterval=n,this.maxWindowSize=a,this.scheduler=r,this.windows=[];const o=this.openWindow();if(null!==n&&n>=0){const t={windowTimeSpan:e,windowCreationInterval:n,subscriber:this,scheduler:r};this.add(r.schedule(va,e,{subscriber:this,window:o,context:null})),this.add(r.schedule(Oa,n,t))}else this.add(r.schedule(_a,e,{subscriber:this,window:o,windowTimeSpan:e}))}_next(t){const e=this.windows,n=e.length;for(let a=0;a<n;a++){const n=e[a];n.closed||(n.next(t),n.numberOfNextedValues>=this.maxWindowSize&&this.closeWindow(n))}}_error(t){const e=this.windows;for(;e.length>0;)e.shift().error(t);this.destination.error(t)}_complete(){const t=this.windows;for(;t.length>0;){const e=t.shift();e.closed||e.complete()}this.destination.complete()}openWindow(){const t=new ba;return this.windows.push(t),this.destination.next(t),t}closeWindow(t){t.complete();const e=this.windows;e.splice(e.indexOf(t),1)}}function _a(t){const{subscriber:e,windowTimeSpan:n,window:a}=t;a&&e.closeWindow(a),t.window=e.openWindow(),this.schedule(t,n)}function Oa(t){const{windowTimeSpan:e,subscriber:n,scheduler:a,windowCreationInterval:r}=t,o=n.openWindow();let i={action:this,subscription:null};i.subscription=a.schedule(va,e,{subscriber:n,window:o,context:i}),this.add(i.subscription),this.schedule(t,r)}function va(t){const{subscriber:e,window:n,context:a}=t;a&&a.action&&a.subscription&&a.action.remove(a.subscription),e.closeWindow(n)}function Ca(t,e){return n=>n.lift(new Pa(t,e))}class Pa{constructor(t,e){this.openings=t,this.closingSelector=e}call(t,e){return e.subscribe(new Ma(t,this.openings,this.closingSelector))}}class Ma extends a.a{constructor(t,e,n){super(t),this.openings=e,this.closingSelector=n,this.contexts=[],this.add(this.openSubscription=Object(r.a)(this,e,e))}_next(t){const{contexts:e}=this;if(e){const n=e.length;for(let a=0;a<n;a++)e[a].window.next(t)}}_error(t){const{contexts:e}=this;if(this.contexts=null,e){const n=e.length;let a=-1;for(;++a<n;){const n=e[a];n.window.error(t),n.subscription.unsubscribe()}}super._error(t)}_complete(){const{contexts:t}=this;if(this.contexts=null,t){const e=t.length;let n=-1;for(;++n<e;){const e=t[n];e.window.complete(),e.subscription.unsubscribe()}}super._complete()}_unsubscribe(){const{contexts:t}=this;if(this.contexts=null,t){const e=t.length;let n=-1;for(;++n<e;){const e=t[n];e.window.unsubscribe(),e.subscription.unsubscribe()}}}notifyNext(t,e,n,a,o){if(t===this.openings){let t;try{const{closingSelector:n}=this;t=n(e)}catch(i){return this.error(i)}const n=new Me.a,a=new T.a,o={window:n,subscription:a};this.contexts.push(o);const s=Object(r.a)(this,t,o);s.closed?this.closeWindow(this.contexts.length-1):(s.context=o,a.add(s)),this.destination.next(n)}else this.closeWindow(this.contexts.indexOf(t))}notifyError(t){this.error(t)}notifyComplete(t){t!==this.openSubscription&&this.closeWindow(this.contexts.indexOf(t.context))}closeWindow(t){if(-1===t)return;const{contexts:e}=this,n=e[t],{window:a,subscription:r}=n;e.splice(t,1),a.complete(),r.unsubscribe()}}function xa(t){return function(e){return e.lift(new wa(t))}}class wa{constructor(t){this.closingSelector=t}call(t,e){return e.subscribe(new Ta(t,this.closingSelector))}}class Ta extends a.a{constructor(t,e){super(t),this.destination=t,this.closingSelector=e,this.openWindow()}notifyNext(t,e,n,a,r){this.openWindow(r)}notifyError(t,e){this._error(t)}notifyComplete(t){this.openWindow(t)}_next(t){this.window.next(t)}_error(t){this.window.error(t),this.destination.error(t),this.unsubscribeClosingNotification()}_complete(){this.window.complete(),this.destination.complete(),this.unsubscribeClosingNotification()}unsubscribeClosingNotification(){this.closingNotification&&this.closingNotification.unsubscribe()}openWindow(t=null){t&&(this.remove(t),t.unsubscribe());const e=this.window;e&&e.complete();const n=this.window=new Me.a;let a;this.destination.next(n);try{const{closingSelector:t}=this;a=t()}catch(o){return this.destination.error(o),void this.window.error(o)}this.add(this.closingNotification=Object(r.a)(this,a))}}function Sa(...t){return e=>{let n;return"function"==typeof t[t.length-1]&&(n=t.pop()),e.lift(new ka(t,n))}}class ka{constructor(t,e){this.observables=t,this.project=e}call(t,e){return e.subscribe(new Ia(t,this.observables,this.project))}}class Ia extends a.a{constructor(t,e,n){super(t),this.observables=e,this.project=n,this.toRespond=[];const a=e.length;this.values=new Array(a);for(let r=0;r<a;r++)this.toRespond.push(r);for(let o=0;o<a;o++){let t=e[o];this.add(Object(r.a)(this,t,t,o))}}notifyNext(t,e,n,a,r){this.values[n]=e;const o=this.toRespond;if(o.length>0){const t=o.indexOf(n);-1!==t&&o.splice(t,1)}}notifyComplete(){}_next(t){if(0===this.toRespond.length){const e=[t,...this.values];this.project?this._tryProject(e):this.destination.next(e)}}_tryProject(t){let e;try{e=this.project.apply(this,t)}catch(n){return void this.destination.error(n)}this.destination.next(e)}}var Na=n("1uah");function Ra(...t){return function(e){return e.lift.call(Object(Na.b)(e,...t))}}function Aa(t){return e=>e.lift(new Na.a(t))}n.d(e,"audit",(function(){return o})),n.d(e,"auditTime",(function(){return d})),n.d(e,"buffer",(function(){return u})),n.d(e,"bufferCount",(function(){return m})),n.d(e,"bufferTime",(function(){return O})),n.d(e,"bufferToggle",(function(){return S})),n.d(e,"bufferWhen",(function(){return N})),n.d(e,"catchError",(function(){return E.a})),n.d(e,"combineAll",(function(){return L})),n.d(e,"combineLatest",(function(){return F})),n.d(e,"concat",(function(){return z.a})),n.d(e,"concatAll",(function(){return G.a})),n.d(e,"concatMap",(function(){return B.a})),n.d(e,"concatMapTo",(function(){return V})),n.d(e,"count",(function(){return Y})),n.d(e,"debounce",(function(){return W})),n.d(e,"debounceTime",(function(){return Z.a})),n.d(e,"defaultIfEmpty",(function(){return J.a})),n.d(e,"delay",(function(){return tt})),n.d(e,"delayWhen",(function(){return ot})),n.d(e,"dematerialize",(function(){return dt})),n.d(e,"distinct",(function(){return ft.a})),n.d(e,"distinctUntilChanged",(function(){return pt.a})),n.d(e,"distinctUntilKeyChanged",(function(){return mt})),n.d(e,"elementAt",(function(){return Ot})),n.d(e,"endWith",(function(){return Pt})),n.d(e,"every",(function(){return Mt.a})),n.d(e,"exhaust",(function(){return xt})),n.d(e,"exhaustMap",(function(){return It})),n.d(e,"expand",(function(){return At})),n.d(e,"filter",(function(){return bt.a})),n.d(e,"finalize",(function(){return Lt.a})),n.d(e,"find",(function(){return qt})),n.d(e,"findIndex",(function(){return zt})),n.d(e,"first",(function(){return Gt.a})),n.d(e,"groupBy",(function(){return Bt.b})),n.d(e,"ignoreElements",(function(){return Vt})),n.d(e,"isEmpty",(function(){return Ut})),n.d(e,"last",(function(){return $t.a})),n.d(e,"map",(function(){return kt.a})),n.d(e,"mapTo",(function(){return Zt})),n.d(e,"materialize",(function(){return Qt})),n.d(e,"max",(function(){return ae})),n.d(e,"merge",(function(){return oe})),n.d(e,"mergeAll",(function(){return ie.a})),n.d(e,"mergeMap",(function(){return se.a})),n.d(e,"flatMap",(function(){return se.a})),n.d(e,"mergeMapTo",(function(){return ce})),n.d(e,"mergeScan",(function(){return le})),n.d(e,"min",(function(){return ge})),n.d(e,"multicast",(function(){return fe.a})),n.d(e,"observeOn",(function(){return pe.b})),n.d(e,"onErrorResumeNext",(function(){return me})),n.d(e,"pairwise",(function(){return ye})),n.d(e,"partition",(function(){return Ce})),n.d(e,"pluck",(function(){return Pe})),n.d(e,"publish",(function(){return xe})),n.d(e,"publishBehavior",(function(){return Te})),n.d(e,"publishLast",(function(){return ke})),n.d(e,"publishReplay",(function(){return Ne})),n.d(e,"race",(function(){return Ae})),n.d(e,"reduce",(function(){return ne.a})),n.d(e,"repeat",(function(){return De})),n.d(e,"repeatWhen",(function(){return je})),n.d(e,"retry",(function(){return Ge})),n.d(e,"retryWhen",(function(){return Ye})),n.d(e,"refCount",(function(){return We.a})),n.d(e,"sample",(function(){return Ke})),n.d(e,"sampleTime",(function(){return Je})),n.d(e,"scan",(function(){return en.a})),n.d(e,"sequenceEqual",(function(){return nn})),n.d(e,"share",(function(){return sn.a})),n.d(e,"shareReplay",(function(){return cn.a})),n.d(e,"single",(function(){return dn})),n.d(e,"skip",(function(){return fn})),n.d(e,"skipLast",(function(){return hn})),n.d(e,"skipUntil",(function(){return _n})),n.d(e,"skipWhile",(function(){return Cn})),n.d(e,"startWith",(function(){return xn.a})),n.d(e,"subscribeOn",(function(){return kn})),n.d(e,"switchAll",(function(){return An})),n.d(e,"switchMap",(function(){return Nn.a})),n.d(e,"switchMapTo",(function(){return En.a})),n.d(e,"take",(function(){return _t.a})),n.d(e,"takeLast",(function(){return Dn.a})),n.d(e,"takeUntil",(function(){return Ln})),n.d(e,"takeWhile",(function(){return Fn})),n.d(e,"tap",(function(){return Bn.a})),n.d(e,"throttle",(function(){return Yn})),n.d(e,"throttleTime",(function(){return Wn})),n.d(e,"throwIfEmpty",(function(){return yt.a})),n.d(e,"timeInterval",(function(){return Xn})),n.d(e,"timeout",(function(){return oa})),n.d(e,"timeoutWith",(function(){return ea})),n.d(e,"timestamp",(function(){return ia})),n.d(e,"toArray",(function(){return ca.a})),n.d(e,"window",(function(){return la})),n.d(e,"windowCount",(function(){return ga})),n.d(e,"windowTime",(function(){return ma})),n.d(e,"windowToggle",(function(){return Ca})),n.d(e,"windowWhen",(function(){return xa})),n.d(e,"withLatestFrom",(function(){return Sa})),n.d(e,"zip",(function(){return Ra})),n.d(e,"zipAll",(function(){return Aa}))},kekF:function(t,e){t.exports=function(t,e){return function(n){return t(e(n))}}},kmMV:function(t,e,n){"use strict";var a,r,o=n("rW0t"),i=n("n3/R"),s=RegExp.prototype.exec,c=String.prototype.replace,l=s,d=(r=/b*/g,s.call(a=/a/,"a"),s.call(r,"a"),0!==a.lastIndex||0!==r.lastIndex),u=i.UNSUPPORTED_Y||i.BROKEN_CARET,g=void 0!==/()??/.exec("")[1];(d||g||u)&&(l=function(t){var e,n,a,r,i=this,l=u&&i.sticky,f=o.call(i),p=i.source,m=0,h=t;return l&&(-1===(f=f.replace("y","")).indexOf("g")&&(f+="g"),h=String(t).slice(i.lastIndex),i.lastIndex>0&&(!i.multiline||i.multiline&&"\n"!==t[i.lastIndex-1])&&(p="(?: "+p+")",h=" "+h,m++),n=new RegExp("^(?:"+p+")",f)),g&&(n=new RegExp("^"+p+"$(?!\\s)",f)),d&&(e=i.lastIndex),a=s.call(l?n:i,h),l?a?(a.input=a.input.slice(m),a[0]=a[0].slice(m),a.index=i.lastIndex,i.lastIndex+=a[0].length):i.lastIndex=0:d&&a&&(i.lastIndex=i.global?a.index+a[0].length:e),g&&a&&a.length>1&&c.call(a[0],n,(function(){for(r=1;r<arguments.length-2;r++)void 0===arguments[r]&&(a[r]=void 0)})),a}),t.exports=l},"kn/O":function(t,e,n){"use strict";n.d(e,"a",(function(){return g}));var a=n("HDdC"),r=n("mtw6"),o=n("G1I9"),i=n("QTAa"),s=n("9nlD"),c=n("mSOc"),l=n("VXsX"),d=n("ufoC"),u=n("8Y7J");let g=(()=>{class t{constructor(t,e,n,a){this.notificationService=t,this.summaryService=e,this.taskMessageService=n,this.taskManagerService=a}wrapTaskAroundCall({task:t,call:e}){return new a.a(n=>{e.subscribe(e=>{202===e.status?this._handleExecutingTasks(t):(this.summaryService.refresh(),t.success=!0,this.notificationService.notifyTask(t))},e=>{t.success=!1,t.exception=e.error,n.error(e)},()=>{n.complete()})})}_handleExecutingTasks(t){const e=new o.b(r.a.info,this.taskMessageService.getRunningTitle(t));e.isFinishedTask=!0,this.notificationService.show(e);const n=new i.a(t.name,t.metadata);this.summaryService.addRunningTask(n),this.taskManagerService.subscribe(n.name,n.metadata,t=>{this.notificationService.notifyTask(t)})}}return t.ngInjectableDef=u["ɵɵdefineInjectable"]({factory:function(){return new t(u["ɵɵinject"](s.a),u["ɵɵinject"](c.a),u["ɵɵinject"](d.a),u["ɵɵinject"](l.a))},token:t,providedIn:"root"}),t})()},kvvV:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("t/zF");class r extends a.a{}},l5ep:function(t,e,n){!function(t){"use strict";t.defineLocale("cy",{months:"Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr".split("_"),monthsShort:"Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag".split("_"),weekdays:"Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn".split("_"),weekdaysShort:"Sul_Llun_Maw_Mer_Iau_Gwe_Sad".split("_"),weekdaysMin:"Su_Ll_Ma_Me_Ia_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Heddiw am] LT",nextDay:"[Yfory am] LT",nextWeek:"dddd [am] LT",lastDay:"[Ddoe am] LT",lastWeek:"dddd [diwethaf am] LT",sameElse:"L"},relativeTime:{future:"mewn %s",past:"%s yn ôl",s:"ychydig eiliadau",ss:"%d eiliad",m:"munud",mm:"%d munud",h:"awr",hh:"%d awr",d:"diwrnod",dd:"%d diwrnod",M:"mis",MM:"%d mis",y:"blwyddyn",yy:"%d flynedd"},dayOfMonthOrdinalParse:/\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,ordinal:function(t){var e="";return t>20?e=40===t||50===t||60===t||80===t||100===t?"fed":"ain":t>0&&(e=["","af","il","ydd","ydd","ed","ed","ed","fed","fed","fed","eg","fed","eg","eg","fed","eg","eg","fed","eg","fed"][t]),t+e},week:{dow:1,doy:4}})}(n("wd/R"))},l5mm:function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var a=n("HDdC"),r=n("D0XW"),o=n("Y7HM");function i(t=0,e=r.a){return(!Object(o.a)(t)||t<0)&&(t=0),e&&"function"==typeof e.schedule||(e=r.a),new a.a(n=>(n.add(e.schedule(s,t,{subscriber:n,counter:0,period:t})),n))}function s(t){const{subscriber:e,counter:n,period:a}=t;e.next(n),this.schedule({subscriber:e,counter:n+1,period:a},a)}},l7GE:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("7o/Q");class r extends a.a{notifyNext(t,e,n,a,r){this.destination.next(e)}notifyError(t,e){this.destination.error(t)}notifyComplete(t){this.destination.complete()}}},lJxs:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("7o/Q");function r(t,e){return function(n){if("function"!=typeof t)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return n.lift(new o(t,e))}}class o{constructor(t,e){this.project=t,this.thisArg=e}call(t,e){return e.subscribe(new i(t,this.project,this.thisArg))}}class i extends a.a{constructor(t,e,n){super(t),this.project=e,this.count=0,this.thisArg=n||this}_next(t){let e;try{e=this.project.call(this.thisArg,t,this.count++)}catch(n){return void this.destination.error(n)}this.destination.next(e)}}},lMq5:function(t,e,n){var a=n("0Dky"),r=/#|\.prototype\./,o=function(t,e){var n=s[i(t)];return n==l||n!=c&&("function"==typeof e?a(e):!!e)},i=o.normalize=function(t){return String(t).replace(r,".").toLowerCase()},s=o.data={},c=o.NATIVE="N",l=o.POLYFILL="P";t.exports=o},"lOp/":function(t,e,n){"use strict";var a=n("PqYM"),r=n("pxpQ"),o=n("eIep"),i=n("UXun"),s=n("D0XW"),c=n("8Y7J");class l{constructor(t){this.zone=t,this.scheduler=s.a}now(){return this.scheduler.now()}}let d=(()=>{class t extends l{constructor(t){super(t)}schedule(...t){return this.zone.runOutsideAngular(()=>this.scheduler.schedule.apply(this.scheduler,t))}}return t.ngInjectableDef=c["ɵɵdefineInjectable"]({factory:function(){return new t(c["ɵɵinject"](c.NgZone))},token:t,providedIn:"root"}),t})(),u=(()=>{class t extends l{constructor(t){super(t)}schedule(...t){return this.zone.run(()=>this.scheduler.schedule.apply(this.scheduler,t))}}return t.ngInjectableDef=c["ɵɵdefineInjectable"]({factory:function(){return new t(c["ɵɵinject"](c.NgZone))},token:t,providedIn:"root"}),t})(),g=(()=>{class t{constructor(t,e){this.leave=t,this.enter=e}}return t.ngInjectableDef=c["ɵɵdefineInjectable"]({factory:function(){return new t(c["ɵɵinject"](d),c["ɵɵinject"](u))},token:t,providedIn:"root"}),t})();n.d(e,"a",(function(){return f}));let f=(()=>{class t{constructor(t){this.ngZone=t,this.DEFAULT_REFRESH_INTERVAL=5e3,this.DEFAULT_DUE_TIME=0}get(t,e=this.DEFAULT_REFRESH_INTERVAL,n=this.DEFAULT_DUE_TIME){return Object(a.a)(n,e,this.ngZone.leave).pipe(Object(r.b)(this.ngZone.enter),Object(o.a)(t),Object(i.a)({refCount:!0,bufferSize:1}))}}return t.ngInjectableDef=c["ɵɵdefineInjectable"]({factory:function(){return new t(c["ɵɵinject"](g))},token:t,providedIn:"root"}),t})()},lQqw:function(t,e,n){var a=n("MMmD");t.exports=function(t,e){return function(n,r){if(null==n)return n;if(!a(n))return t(n,r);for(var o=n.length,i=e?o:-1,s=Object(n);(e?i--:++i<o)&&!1!==r(s[i],i,s););return n}}},lSCD:function(t,e,n){var a=n("NykK"),r=n("GoyQ");t.exports=function(t){if(!r(t))return!1;var e=a(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}},lUjN:function(t,e,n){var a=n("mrSG").__decorate,r=n("mrSG").__metadata;Object.defineProperty(e,"__esModule",{value:!0});var o=n("8Y7J"),i=n("vxfy");e.DatatableFooterDirective=function(){function t(){}return a([o.Input(),r("design:type",Number)],t.prototype,"footerHeight",void 0),a([o.Input(),r("design:type",String)],t.prototype,"totalMessage",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"selectedMessage",void 0),a([o.Input(),r("design:type",String)],t.prototype,"pagerLeftArrowIcon",void 0),a([o.Input(),r("design:type",String)],t.prototype,"pagerRightArrowIcon",void 0),a([o.Input(),r("design:type",String)],t.prototype,"pagerPreviousIcon",void 0),a([o.Input(),r("design:type",String)],t.prototype,"pagerNextIcon",void 0),a([o.Input(),o.ContentChild(i.DataTableFooterTemplateDirective,{read:o.TemplateRef,static:!1}),r("design:type",o.TemplateRef)],t.prototype,"template",void 0),a([o.Directive({selector:"ngx-datatable-footer"})],t)}()},lXzo:function(t,e,n){!function(t){"use strict";function e(t,e,n){var a,r;return"m"===n?e?"минута":"минуту":t+" "+(a=+t,r={ss:e?"секунда_секунды_секунд":"секунду_секунды_секунд",mm:e?"минута_минуты_минут":"минуту_минуты_минут",hh:"час_часа_часов",dd:"день_дня_дней",MM:"месяц_месяца_месяцев",yy:"год_года_лет"}[n].split("_"),a%10==1&&a%100!=11?r[0]:a%10>=2&&a%10<=4&&(a%100<10||a%100>=20)?r[1]:r[2])}var n=[/^янв/i,/^фев/i,/^мар/i,/^апр/i,/^ма[йя]/i,/^июн/i,/^июл/i,/^авг/i,/^сен/i,/^окт/i,/^ноя/i,/^дек/i];t.defineLocale("ru",{months:{format:"января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря".split("_"),standalone:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_")},monthsShort:{format:"янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.".split("_"),standalone:"янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.".split("_")},weekdays:{standalone:"воскресенье_понедельник_вторник_среда_четверг_пятница_суббота".split("_"),format:"воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу".split("_"),isFormat:/\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?dddd/},weekdaysShort:"вс_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"вс_пн_вт_ср_чт_пт_сб".split("_"),monthsParse:n,longMonthsParse:n,shortMonthsParse:n,monthsRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsShortRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsStrictRegex:/^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,monthsShortStrictRegex:/^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., H:mm",LLLL:"dddd, D MMMM YYYY г., H:mm"},calendar:{sameDay:"[Сегодня, в] LT",nextDay:"[Завтра, в] LT",lastDay:"[Вчера, в] LT",nextWeek:function(t){if(t.week()===this.week())return 2===this.day()?"[Во] dddd, [в] LT":"[В] dddd, [в] LT";switch(this.day()){case 0:return"[В следующее] dddd, [в] LT";case 1:case 2:case 4:return"[В следующий] dddd, [в] LT";case 3:case 5:case 6:return"[В следующую] dddd, [в] LT"}},lastWeek:function(t){if(t.week()===this.week())return 2===this.day()?"[Во] dddd, [в] LT":"[В] dddd, [в] LT";switch(this.day()){case 0:return"[В прошлое] dddd, [в] LT";case 1:case 2:case 4:return"[В прошлый] dddd, [в] LT";case 3:case 5:case 6:return"[В прошлую] dddd, [в] LT"}},sameElse:"L"},relativeTime:{future:"через %s",past:"%s назад",s:"несколько секунд",ss:e,m:e,mm:e,h:"час",hh:e,d:"день",dd:e,M:"месяц",MM:e,y:"год",yy:e},meridiemParse:/ночи|утра|дня|вечера/i,isPM:function(t){return/^(дня|вечера)$/.test(t)},meridiem:function(t,e,n){return t<4?"ночи":t<12?"утра":t<17?"дня":"вечера"},dayOfMonthOrdinalParse:/\d{1,2}-(й|го|я)/,ordinal:function(t,e){switch(e){case"M":case"d":case"DDD":return t+"-й";case"D":return t+"-го";case"w":case"W":return t+"-я";default:return t}},week:{dow:1,doy:4}})}(n("wd/R"))},lYtQ:function(t,e,n){!function(t){"use strict";function e(t,e,n,a){switch(n){case"s":return e?"хэдхэн секунд":"хэдхэн секундын";case"ss":return t+(e?" секунд":" секундын");case"m":case"mm":return t+(e?" минут":" минутын");case"h":case"hh":return t+(e?" цаг":" цагийн");case"d":case"dd":return t+(e?" өдөр":" өдрийн");case"M":case"MM":return t+(e?" сар":" сарын");case"y":case"yy":return t+(e?" жил":" жилийн");default:return t}}t.defineLocale("mn",{months:"Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар".split("_"),monthsShort:"1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар".split("_"),monthsParseExact:!0,weekdays:"Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба".split("_"),weekdaysShort:"Ням_Дав_Мяг_Лха_Пүр_Баа_Бям".split("_"),weekdaysMin:"Ня_Да_Мя_Лх_Пү_Ба_Бя".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY оны MMMMын D",LLL:"YYYY оны MMMMын D HH:mm",LLLL:"dddd, YYYY оны MMMMын D HH:mm"},meridiemParse:/ҮӨ|ҮХ/i,isPM:function(t){return"ҮХ"===t},meridiem:function(t,e,n){return t<12?"ҮӨ":"ҮХ"},calendar:{sameDay:"[Өнөөдөр] LT",nextDay:"[Маргааш] LT",nextWeek:"[Ирэх] dddd LT",lastDay:"[Өчигдөр] LT",lastWeek:"[Өнгөрсөн] dddd LT",sameElse:"L"},relativeTime:{future:"%s дараа",past:"%s өмнө",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2} өдөр/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+" өдөр";default:return t}}})}(n("wd/R"))},lgnt:function(t,e,n){!function(t){"use strict";var e={0:"-чү",1:"-чи",2:"-чи",3:"-чү",4:"-чү",5:"-чи",6:"-чы",7:"-чи",8:"-чи",9:"-чу",10:"-чу",20:"-чы",30:"-чу",40:"-чы",50:"-чү",60:"-чы",70:"-чи",80:"-чи",90:"-чу",100:"-чү"};t.defineLocale("ky",{months:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_"),monthsShort:"янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек".split("_"),weekdays:"Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби".split("_"),weekdaysShort:"Жек_Дүй_Шей_Шар_Бей_Жум_Ише".split("_"),weekdaysMin:"Жк_Дй_Шй_Шр_Бй_Жм_Иш".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Бүгүн саат] LT",nextDay:"[Эртең саат] LT",nextWeek:"dddd [саат] LT",lastDay:"[Кечээ саат] LT",lastWeek:"[Өткөн аптанын] dddd [күнү] [саат] LT",sameElse:"L"},relativeTime:{future:"%s ичинде",past:"%s мурун",s:"бирнече секунд",ss:"%d секунд",m:"бир мүнөт",mm:"%d мүнөт",h:"бир саат",hh:"%d саат",d:"бир күн",dd:"%d күн",M:"бир ай",MM:"%d ай",y:"бир жыл",yy:"%d жыл"},dayOfMonthOrdinalParse:/\d{1,2}-(чи|чы|чү|чу)/,ordinal:function(t){return t+(e[t]||e[t%10]||e[t>=100?100:null])},week:{dow:1,doy:7}})}(n("wd/R"))},ljhN:function(t,e){t.exports=function(t,e){return t===e||t!=t&&e!=e}},"lm/5":function(t,e,n){var a=n("fmRc"),r=n("wF/u");t.exports=function(t,e,n,o){var i=n.length,s=i,c=!o;if(null==t)return!s;for(t=Object(t);i--;){var l=n[i];if(c&&l[2]?l[1]!==t[l[0]]:!(l[0]in t))return!1}for(;++i<s;){var d=(l=n[i])[0],u=t[d],g=l[1];if(c&&l[2]){if(void 0===u&&!(d in t))return!1}else{var f=new a;if(o)var p=o(u,g,d,t,e,f);if(!(void 0===p?r(g,u,3,o,f):p))return!1}}return!0}},lmqd:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SelectionType=function(t){return t.single="single",t.multi="multi",t.multiClick="multiClick",t.cell="cell",t.checkbox="checkbox",t}(e.SelectionType||{})},lyxo:function(t,e,n){!function(t){"use strict";function e(t,e,n){var a=" ";return(t%100>=20||t>=100&&t%100==0)&&(a=" de "),t+a+{ss:"secunde",mm:"minute",hh:"ore",dd:"zile",MM:"luni",yy:"ani"}[n]}t.defineLocale("ro",{months:"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),monthsShort:"ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"duminică_luni_marți_miercuri_joi_vineri_sâmbătă".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_Sâm".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_Sâ".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[azi la] LT",nextDay:"[mâine la] LT",nextWeek:"dddd [la] LT",lastDay:"[ieri la] LT",lastWeek:"[fosta] dddd [la] LT",sameElse:"L"},relativeTime:{future:"peste %s",past:"%s în urmă",s:"câteva secunde",ss:e,m:"un minut",mm:e,h:"o oră",hh:e,d:"o zi",dd:e,M:"o lună",MM:e,y:"un an",yy:e},week:{dow:1,doy:7}})}(n("wd/R"))},"m/L8":function(t,e,n){var a=n("g6v/"),r=n("DPsx"),o=n("glrk"),i=n("wE6v"),s=Object.defineProperty;e.f=a?s:function(t,e,n){if(o(t),e=i(e,!0),o(n),r)try{return s(t,e,n)}catch(a){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(t[e]=n.value),t}},m92n:function(t,e,n){var a=n("glrk");t.exports=function(t,e,n,r){try{return r?e(a(n)[0],n[1]):e(n)}catch(i){var o=t.return;throw void 0!==o&&a(o.call(t)),i}}},mCNh:function(t,e,n){"use strict";n.d(e,"a",(function(){return r})),n.d(e,"b",(function(){return o}));var a=n("KqfI");function r(...t){return o(t)}function o(t){return t?1===t.length?t[0]:function(e){return t.reduce((t,e)=>e(t),e)}:a.a}},mSOc:function(t,e,n){"use strict";n.d(e,"a",(function(){return c}));var a=n("LvDl"),r=n("2Vo4"),o=n("lOp/"),i=n("8Y7J"),s=n("IheW");let c=(()=>{class t{constructor(t,e){this.http=t,this.timerService=e,this.REFRESH_INTERVAL=5e3,this.summaryDataSource=new r.a(null),this.summaryData$=this.summaryDataSource.asObservable()}startPolling(){return this.timerService.get(()=>this.retrieveSummaryObservable(),this.REFRESH_INTERVAL).subscribe(this.retrieveSummaryObserver())}refresh(){return this.retrieveSummaryObservable().subscribe(this.retrieveSummaryObserver())}retrieveSummaryObservable(){return this.http.get("api/summary")}retrieveSummaryObserver(){return t=>{this.summaryDataSource.next(t)}}getCurrentSummary(){return this.summaryDataSource.getValue()}subscribe(t,e){return this.summaryData$.subscribe(t,e)}addRunningTask(t){const e=this.summaryDataSource.getValue();e&&(a.isArray(e.executing_tasks)?e.executing_tasks.find(e=>e.name===t.name&&a.isEqual(e.metadata,t.metadata))||e.executing_tasks.push(t):e.executing_tasks=[t],this.summaryDataSource.next(e))}}return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t(i["ɵɵinject"](s.c),i["ɵɵinject"](o.a))},token:t,providedIn:"root"}),t})()},mTTR:function(t,e,n){var a=n("b80T"),r=n("QcOe"),o=n("MMmD");t.exports=function(t){return o(t)?a(t,!0):r(t)}},mXUL:function(t,e,n){"use strict";n.d(e,"a",(function(){return l})),n.d(e,"b",(function(){return u}));var a=n("8Y7J"),r=n("+gVj"),o=n("SVse"),i=a["ɵcrt"]({encapsulation:0,styles:[".invalid-feedback[_ngcontent-%COMP%], .valid-feedback[_ngcontent-%COMP%] {\n        display: block;\n      }"],data:{}});function s(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,3,"span",[],null,null,null,null,null)),a["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](2,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),(t()(),a["ɵted"](3,null,["",""]))],(function(t,e){t(e,2,0,e.component.className)}),(function(t,e){t(e,3,0,e.context.$implicit)}))}function c(t){return a["ɵvid"](0,[(t()(),a["ɵand"](16777216,null,null,1,null,s)),a["ɵdid"](1,278528,null,0,o.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){t(e,1,0,e.component.messages())}),null)}var l=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function d(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"bfv-messages",[],null,null,null,c,i)),a["ɵdid"](1,49152,null,0,r.e,[r.a],{messages:[0,"messages"]},null)],(function(t,e){t(e,1,0,e.component.messages)}),null)}function u(t){return a["ɵvid"](0,[a["ɵncd"](null,0),(t()(),a["ɵand"](16777216,null,null,1,null,d)),a["ɵdid"](2,16384,null,0,o.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){t(e,2,0,!e.component.messagesBlock)}),null)}},mc0g:function(t,e){t.exports=function(t){return function(e,n,a){for(var r=-1,o=Object(e),i=a(e),s=i.length;s--;){var c=i[t?s:++r];if(!1===n(o[c],c,o))break}return e}}},mdPL:function(t,e,n){(function(t){var a=n("WFqU"),r=e&&!e.nodeType&&e,o=r&&"object"==typeof t&&t&&!t.nodeType&&t,i=o&&o.exports===r&&a.process,s=function(){try{return o&&o.require&&o.require("util").types||i&&i.binding&&i.binding("util")}catch(t){}}();t.exports=s}).call(this,n("YuTi")(t))},mfoh:function(t,e,n){"use strict";n.d(e,"a",(function(){return f})),n.d(e,"b",(function(){return m}));var a,r=n("CFvb"),o=n("P4Tr"),i=n.n(o),s=n("mwIZ"),c=n.n(s),l=n("Puqe"),d=n.n(l),u=n("UB5X"),g=n.n(u),f={TOGGLE_ACTIVE:function(t,e,n){return e&&e.toggleActivated()},TOGGLE_ACTIVE_MULTI:function(t,e,n){return e&&e.toggleActivated(!0)},TOGGLE_SELECTED:function(t,e,n){return e&&e.toggleSelected()},ACTIVATE:function(t,e,n){return e.setIsActive(!0)},DEACTIVATE:function(t,e,n){return e.setIsActive(!1)},SELECT:function(t,e,n){return e.setIsSelected(!0)},DESELECT:function(t,e,n){return e.setIsSelected(!1)},FOCUS:function(t,e,n){return e.focus()},TOGGLE_EXPANDED:function(t,e,n){return e.hasChildren&&e.toggleExpanded()},EXPAND:function(t,e,n){return e.expand()},COLLAPSE:function(t,e,n){return e.collapse()},DRILL_DOWN:function(t,e,n){return t.focusDrillDown()},DRILL_UP:function(t,e,n){return t.focusDrillUp()},NEXT_NODE:function(t,e,n){return t.focusNextNode()},PREVIOUS_NODE:function(t,e,n){return t.focusPreviousNode()},MOVE_NODE:function(t,e,n,a){var r=a.from,o=a.to;n.ctrlKey?t.copyNode(r,o):t.moveNode(r,o)}},p={mouse:{click:f.TOGGLE_ACTIVE,dblClick:null,contextMenu:null,expanderClick:f.TOGGLE_EXPANDED,checkboxClick:f.TOGGLE_SELECTED,drop:f.MOVE_NODE},keys:(a={},a[r.a.RIGHT]=f.DRILL_DOWN,a[r.a.LEFT]=f.DRILL_UP,a[r.a.DOWN]=f.NEXT_NODE,a[r.a.UP]=f.PREVIOUS_NODE,a[r.a.SPACE]=f.TOGGLE_ACTIVE,a[r.a.ENTER]=f.TOGGLE_ACTIVE,a)},m=function(){function t(t){void 0===t&&(t={}),this.options=t,this.actionMapping=i()({},this.options.actionMapping,p),t.rtl&&(this.actionMapping.keys[r.a.RIGHT]=c()(t,["actionMapping","keys",r.a.RIGHT])||f.DRILL_UP,this.actionMapping.keys[r.a.LEFT]=c()(t,["actionMapping","keys",r.a.LEFT])||f.DRILL_DOWN)}return Object.defineProperty(t.prototype,"hasChildrenField",{get:function(){return this.options.hasChildrenField||"hasChildren"},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"childrenField",{get:function(){return this.options.childrenField||"children"},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"displayField",{get:function(){return this.options.displayField||"name"},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"idField",{get:function(){return this.options.idField||"id"},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isExpandedField",{get:function(){return this.options.isExpandedField||"isExpanded"},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"getChildren",{get:function(){return this.options.getChildren},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"levelPadding",{get:function(){return this.options.levelPadding||0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"useVirtualScroll",{get:function(){return this.options.useVirtualScroll},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"animateExpand",{get:function(){return this.options.animateExpand},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"animateSpeed",{get:function(){return this.options.animateSpeed||1},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"animateAcceleration",{get:function(){return this.options.animateAcceleration||1.2},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"scrollOnActivate",{get:function(){return void 0===this.options.scrollOnActivate||this.options.scrollOnActivate},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"rtl",{get:function(){return!!this.options.rtl},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"rootId",{get:function(){return this.options.rootId},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"useCheckbox",{get:function(){return this.options.useCheckbox},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"useTriState",{get:function(){return void 0===this.options.useTriState||this.options.useTriState},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"scrollContainer",{get:function(){return this.options.scrollContainer},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"allowDragoverStyling",{get:function(){return void 0===this.options.allowDragoverStyling||this.options.allowDragoverStyling},enumerable:!0,configurable:!0}),t.prototype.getNodeClone=function(t){return this.options.getNodeClone?this.options.getNodeClone(t):d()(Object.assign({},t.data),["id"])},t.prototype.allowDrop=function(t,e,n){return this.options.allowDrop instanceof Function?this.options.allowDrop(t,e,n):void 0===this.options.allowDrop||this.options.allowDrop},t.prototype.allowDrag=function(t){return this.options.allowDrag instanceof Function?this.options.allowDrag(t):this.options.allowDrag},t.prototype.nodeClass=function(t){return this.options.nodeClass?this.options.nodeClass(t):""},t.prototype.nodeHeight=function(t){if(t.data.virtual)return 0;var e=this.options.nodeHeight||22;return"function"==typeof e&&(e=e(t)),e+(0===t.index?2:1)*this.dropSlotHeight},Object.defineProperty(t.prototype,"dropSlotHeight",{get:function(){return g()(this.options.dropSlotHeight)?this.options.dropSlotHeight:2},enumerable:!0,configurable:!0}),t}()},mn2k:function(t,e,n){"use strict";function a(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),a(n("3MdB")),a(n("Cc8h")),a(n("ylLw")),a(n("M9eX")),a(n("uKs4"))},moLw:function(t,e,n){var a=n("mrSG").__decorate,r=n("mrSG").__metadata;Object.defineProperty(e,"__esModule",{value:!0});var o=n("8Y7J"),i=n("SVse");e.ClickOutsideDirective=function(){function t(t,e,n){this._el=t,this._ngZone=e,this.platformId=n,this.clickOutsideEnabled=!0,this.attachOutsideOnClick=!1,this.delayClickOutsideInit=!1,this.emitOnBlur=!1,this.exclude="",this.excludeBeforeClick=!1,this.clickOutsideEvents="",this.clickOutside=new o.EventEmitter,this._nodesExcluded=[],this._events=["click"],this._initOnClickBody=this._initOnClickBody.bind(this),this._onClickBody=this._onClickBody.bind(this),this._onWindowBlur=this._onWindowBlur.bind(this)}return t.prototype.ngOnInit=function(){i.isPlatformBrowser(this.platformId)&&this._init()},t.prototype.ngOnDestroy=function(){i.isPlatformBrowser(this.platformId)&&(this._removeClickOutsideListener(),this._removeAttachOutsideOnClickListener(),this._removeWindowBlurListener())},t.prototype.ngOnChanges=function(t){i.isPlatformBrowser(this.platformId)&&(t.attachOutsideOnClick||t.exclude||t.emitOnBlur)&&this._init()},t.prototype._init=function(){""!==this.clickOutsideEvents&&(this._events=this.clickOutsideEvents.split(",").map((function(t){return t.trim()}))),this._excludeCheck(),this.attachOutsideOnClick?this._initAttachOutsideOnClickListener():this._initOnClickBody(),this.emitOnBlur&&this._initWindowBlurListener()},t.prototype._initOnClickBody=function(){this.delayClickOutsideInit?setTimeout(this._initClickOutsideListener.bind(this)):this._initClickOutsideListener()},t.prototype._excludeCheck=function(){if(this.exclude)try{var t=Array.from(document.querySelectorAll(this.exclude));t&&(this._nodesExcluded=t)}catch(e){console.error("[ng-click-outside] Check your exclude selector syntax.",e)}},t.prototype._onClickBody=function(t){this.clickOutsideEnabled&&(this.excludeBeforeClick&&this._excludeCheck(),this._el.nativeElement.contains(t.target)||this._shouldExclude(t.target)||(this._emit(t),this.attachOutsideOnClick&&this._removeClickOutsideListener()))},t.prototype._onWindowBlur=function(t){var e=this;setTimeout((function(){document.hidden||e._emit(t)}))},t.prototype._emit=function(t){var e=this;this.clickOutsideEnabled&&this._ngZone.run((function(){return e.clickOutside.emit(t)}))},t.prototype._shouldExclude=function(t){for(var e=0,n=this._nodesExcluded;e<n.length;e++)if(n[e].contains(t))return!0;return!1},t.prototype._initClickOutsideListener=function(){var t=this;this._ngZone.runOutsideAngular((function(){t._events.forEach((function(e){return document.addEventListener(e,t._onClickBody)}))}))},t.prototype._removeClickOutsideListener=function(){var t=this;this._ngZone.runOutsideAngular((function(){t._events.forEach((function(e){return document.removeEventListener(e,t._onClickBody)}))}))},t.prototype._initAttachOutsideOnClickListener=function(){var t=this;this._ngZone.runOutsideAngular((function(){t._events.forEach((function(e){return t._el.nativeElement.addEventListener(e,t._initOnClickBody)}))}))},t.prototype._removeAttachOutsideOnClickListener=function(){var t=this;this._ngZone.runOutsideAngular((function(){t._events.forEach((function(e){return t._el.nativeElement.removeEventListener(e,t._initOnClickBody)}))}))},t.prototype._initWindowBlurListener=function(){var t=this;this._ngZone.runOutsideAngular((function(){window.addEventListener("blur",t._onWindowBlur)}))},t.prototype._removeWindowBlurListener=function(){var t=this;this._ngZone.runOutsideAngular((function(){window.removeEventListener("blur",t._onWindowBlur)}))},a([o.Input(),r("design:type",Boolean)],t.prototype,"clickOutsideEnabled",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"attachOutsideOnClick",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"delayClickOutsideInit",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"emitOnBlur",void 0),a([o.Input(),r("design:type",String)],t.prototype,"exclude",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"excludeBeforeClick",void 0),a([o.Input(),r("design:type",String)],t.prototype,"clickOutsideEvents",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"clickOutside",void 0),a([o.Injectable(),o.Directive({selector:"[clickOutside]"})],t)}()},mrSG:function(t,e,n){"use strict";n.r(e),n.d(e,"__extends",(function(){return r})),n.d(e,"__assign",(function(){return o})),n.d(e,"__rest",(function(){return i})),n.d(e,"__decorate",(function(){return s})),n.d(e,"__param",(function(){return c})),n.d(e,"__metadata",(function(){return l})),n.d(e,"__awaiter",(function(){return d})),n.d(e,"__generator",(function(){return u})),n.d(e,"__exportStar",(function(){return g})),n.d(e,"__values",(function(){return f})),n.d(e,"__read",(function(){return p})),n.d(e,"__spread",(function(){return m})),n.d(e,"__spreadArrays",(function(){return h})),n.d(e,"__await",(function(){return b})),n.d(e,"__asyncGenerator",(function(){return y})),n.d(e,"__asyncDelegator",(function(){return _})),n.d(e,"__asyncValues",(function(){return O})),n.d(e,"__makeTemplateObject",(function(){return v})),n.d(e,"__importStar",(function(){return C})),n.d(e,"__importDefault",(function(){return P}));var a=function(t,e){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)};function r(t,e){function n(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}var o=function(){return(o=Object.assign||function(t){for(var e,n=1,a=arguments.length;n<a;n++)for(var r in e=arguments[n])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t}).apply(this,arguments)};function i(t,e){var n={};for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&e.indexOf(a)<0&&(n[a]=t[a]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(t);r<a.length;r++)e.indexOf(a[r])<0&&Object.prototype.propertyIsEnumerable.call(t,a[r])&&(n[a[r]]=t[a[r]])}return n}function s(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i}function c(t,e){return function(n,a){e(n,a,t)}}function l(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}function d(t,e,n,a){return new(n||(n=Promise))((function(r,o){function i(t){try{c(a.next(t))}catch(e){o(e)}}function s(t){try{c(a.throw(t))}catch(e){o(e)}}function c(t){t.done?r(t.value):new n((function(e){e(t.value)})).then(i,s)}c((a=a.apply(t,e||[])).next())}))}function u(t,e){var n,a,r,o,i={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;i;)try{if(n=1,a&&(r=2&o[0]?a.return:o[0]?a.throw||((r=a.return)&&r.call(a),0):a.next)&&!(r=r.call(a,o[1])).done)return r;switch(a=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,a=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(r=(r=i.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){i.label=o[1];break}if(6===o[0]&&i.label<r[1]){i.label=r[1],r=o;break}if(r&&i.label<r[2]){i.label=r[2],i.ops.push(o);break}r[2]&&i.ops.pop(),i.trys.pop();continue}o=e.call(t,i)}catch(s){o=[6,s],a=0}finally{n=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,s])}}}function g(t,e){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}function f(t){var e="function"==typeof Symbol&&t[Symbol.iterator],n=0;return e?e.call(t):{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}}}function p(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var a,r,o=n.call(t),i=[];try{for(;(void 0===e||e-- >0)&&!(a=o.next()).done;)i.push(a.value)}catch(s){r={error:s}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}return i}function m(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(p(arguments[e]));return t}function h(){for(var t=0,e=0,n=arguments.length;e<n;e++)t+=arguments[e].length;var a=Array(t),r=0;for(e=0;e<n;e++)for(var o=arguments[e],i=0,s=o.length;i<s;i++,r++)a[r]=o[i];return a}function b(t){return this instanceof b?(this.v=t,this):new b(t)}function y(t,e,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var a,r=n.apply(t,e||[]),o=[];return a={},i("next"),i("throw"),i("return"),a[Symbol.asyncIterator]=function(){return this},a;function i(t){r[t]&&(a[t]=function(e){return new Promise((function(n,a){o.push([t,e,n,a])>1||s(t,e)}))})}function s(t,e){try{!function(t){t.value instanceof b?Promise.resolve(t.value.v).then(c,l):d(o[0][2],t)}(r[t](e))}catch(n){d(o[0][3],n)}}function c(t){s("next",t)}function l(t){s("throw",t)}function d(t,e){t(e),o.shift(),o.length&&s(o[0][0],o[0][1])}}function _(t){var e,n;return e={},a("next"),a("throw",(function(t){throw t})),a("return"),e[Symbol.iterator]=function(){return this},e;function a(a,r){e[a]=t[a]?function(e){return(n=!n)?{value:b(t[a](e)),done:"return"===a}:r?r(e):e}:r}}function O(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,n=t[Symbol.asyncIterator];return n?n.call(t):(t=f(t),e={},a("next"),a("throw"),a("return"),e[Symbol.asyncIterator]=function(){return this},e);function a(n){e[n]=t[n]&&function(e){return new Promise((function(a,r){!function(t,e,n,a){Promise.resolve(a).then((function(e){t({value:e,done:n})}),e)}(a,r,(e=t[n](e)).done,e.value)}))}}}function v(t,e){return Object.defineProperty?Object.defineProperty(t,"raw",{value:e}):t.raw=e,t}function C(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}function P(t){return t&&t.__esModule?t:{default:t}}},mtw6:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));var a=function(t){return t[t.error=0]="error",t[t.info=1]="info",t[t.success=2]="success",t}({})},"mv/X":function(t,e,n){var a=n("ljhN"),r=n("MMmD"),o=n("wJg7"),i=n("GoyQ");t.exports=function(t,e,n){if(!i(n))return!1;var s=typeof e;return!!("number"==s?r(n)&&o(e,n.length):"string"==s&&e in n)&&a(n[e],t)}},mwIZ:function(t,e,n){var a=n("ZWtO");t.exports=function(t,e,n){var r=null==t?void 0:a(t,e);return void 0===r?n:r}},"n/D3":function(t,e,n){"use strict";n.d(e,"a",(function(){return u})),n.d(e,"b",(function(){return d}));var a=n("cp0P"),r=(n("SgmB"),n("ZDA6"),n("0+/T")),o=n("Rf2I"),i=(n("sne2"),n("x38r")),s=n("oxzT"),c=n("mtw6"),l=n("vCyI");n("nSDx"),n("aexS"),n("9nlD");const d=new(n("EgGo").a)("user-management/roles");class u{constructor(t,e,n,a,r,o,i,c,d){this.roleService=t,this.scopeService=e,this.emptyPipe=n,this.authStorageService=a,this.modalService=r,this.notificationService=o,this.i18n=i,this.urlBuilder=c,this.actionLabels=d,this.selection=new l.a,this.permission=this.authStorageService.getPermissions().user,this.tableActions=[{permission:"create",icon:s.a.add,routerLink:()=>this.urlBuilder.getCreate(),name:this.actionLabels.CREATE},{permission:"create",icon:s.a.clone,name:this.actionLabels.CLONE,disable:()=>!this.selection.hasSingleSelection,click:()=>this.cloneRole()},{permission:"update",icon:s.a.edit,disable:()=>!this.selection.hasSingleSelection||this.selection.first().system,routerLink:()=>this.selection.first()&&this.urlBuilder.getEdit(this.selection.first().name),name:this.actionLabels.EDIT},{permission:"delete",icon:s.a.destroy,disable:()=>!this.selection.hasSingleSelection||this.selection.first().system,click:()=>this.deleteRoleModal(),name:this.actionLabels.DELETE}]}ngOnInit(){this.columns=[{name:this.i18n("Name"),prop:"name",flexGrow:3},{name:this.i18n("Description"),prop:"description",flexGrow:5,pipe:this.emptyPipe},{name:this.i18n("System Role"),prop:"system",cellClass:"text-center",flexGrow:1,cellTransformation:i.a.checkIcon}]}getRoles(){Object(a.a)([this.roleService.list(),this.scopeService.list()]).subscribe(t=>{this.roles=t[0],this.scopes=t[1]})}updateSelection(t){this.selection=t}deleteRole(t){this.roleService.delete(t).subscribe(()=>{this.getRoles(),this.modalRef.hide(),this.notificationService.show(c.a.success,this.i18n("Deleted role '{{role_name}}'",{role_name:t}))},()=>{this.modalRef.content.stopLoadingSpinner()})}deleteRoleModal(){const t=this.selection.first().name;this.modalRef=this.modalService.show(r.a,{initialState:{itemDescription:"Role",itemNames:[t],submitAction:()=>this.deleteRole(t)}})}cloneRole(){const t=this.selection.first().name;this.modalRef=this.modalService.show(o.a,{initialState:{fields:[{type:"text",name:"newName",value:`${t}_clone`,label:this.i18n("New name"),required:!0}],titleText:this.i18n("Clone Role"),submitButtonText:this.i18n("Clone Role"),onSubmit:e=>{this.roleService.clone(t,e.newName).subscribe(()=>{this.getRoles(),this.notificationService.show(c.a.success,this.i18n("Cloned role '{{dst_name}}' from '{{src_name}}'",{src_name:t,dst_name:e.newName}))})}}})}}},n1nk:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ContextmenuType=function(t){return t.header="header",t.body="body",t}(e.ContextmenuType||{})},"n3/R":function(t,e,n){"use strict";var a=n("0Dky");function r(t,e){return RegExp(t,e)}e.UNSUPPORTED_Y=a((function(){var t=r("a","y");return t.lastIndex=2,null!=t.exec("abcd")})),e.BROKEN_CARET=a((function(){var t=r("^r","gy");return t.lastIndex=2,null!=t.exec("str")}))},n6bG:function(t,e,n){"use strict";function a(t){return"function"==typeof t}n.d(e,"a",(function(){return a}))},nSDx:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("LvDl");class r{transform(t){return a.isUndefined(t)||a.isNull(t)?"-":t}}},nYR2:function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var a=n("7o/Q"),r=n("quSY");function o(t){return e=>e.lift(new i(t))}class i{constructor(t){this.callback=t}call(t,e){return e.subscribe(new s(t,this.callback))}}class s extends a.a{constructor(t,e){super(t),this.add(new r.a(e))}}},nYho:function(t,e,n){(function(t){var a;!function(r){"object"==typeof global&&global;var o,i=2147483647,s=/^xn--/,c=/[^\x20-\x7E]/,l=/[\x2E\u3002\uFF0E\uFF61]/g,d={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},u=Math.floor,g=String.fromCharCode;function f(t){throw RangeError(d[t])}function p(t,e){for(var n=t.length,a=[];n--;)a[n]=e(t[n]);return a}function m(t,e){var n=t.split("@"),a="";return n.length>1&&(a=n[0]+"@",t=n[1]),a+p((t=t.replace(l,".")).split("."),e).join(".")}function h(t){for(var e,n,a=[],r=0,o=t.length;r<o;)(e=t.charCodeAt(r++))>=55296&&e<=56319&&r<o?56320==(64512&(n=t.charCodeAt(r++)))?a.push(((1023&e)<<10)+(1023&n)+65536):(a.push(e),r--):a.push(e);return a}function b(t){return p(t,(function(t){var e="";return t>65535&&(e+=g((t-=65536)>>>10&1023|55296),t=56320|1023&t),e+g(t)})).join("")}function y(t,e){return t+22+75*(t<26)-((0!=e)<<5)}function _(t,e,n){var a=0;for(t=n?u(t/700):t>>1,t+=u(t/e);t>455;a+=36)t=u(t/35);return u(a+36*t/(t+38))}function O(t){var e,n,a,r,o,s,c,l,d,g,p,m=[],h=t.length,y=0,O=128,v=72;for((n=t.lastIndexOf("-"))<0&&(n=0),a=0;a<n;++a)t.charCodeAt(a)>=128&&f("not-basic"),m.push(t.charCodeAt(a));for(r=n>0?n+1:0;r<h;){for(o=y,s=1,c=36;r>=h&&f("invalid-input"),((l=(p=t.charCodeAt(r++))-48<10?p-22:p-65<26?p-65:p-97<26?p-97:36)>=36||l>u((i-y)/s))&&f("overflow"),y+=l*s,!(l<(d=c<=v?1:c>=v+26?26:c-v));c+=36)s>u(i/(g=36-d))&&f("overflow"),s*=g;v=_(y-o,e=m.length+1,0==o),u(y/e)>i-O&&f("overflow"),O+=u(y/e),y%=e,m.splice(y++,0,O)}return b(m)}function v(t){var e,n,a,r,o,s,c,l,d,p,m,b,O,v,C,P=[];for(b=(t=h(t)).length,e=128,n=0,o=72,s=0;s<b;++s)(m=t[s])<128&&P.push(g(m));for(a=r=P.length,r&&P.push("-");a<b;){for(c=i,s=0;s<b;++s)(m=t[s])>=e&&m<c&&(c=m);for(c-e>u((i-n)/(O=a+1))&&f("overflow"),n+=(c-e)*O,e=c,s=0;s<b;++s)if((m=t[s])<e&&++n>i&&f("overflow"),m==e){for(l=n,d=36;!(l<(p=d<=o?1:d>=o+26?26:d-o));d+=36)P.push(g(y(p+(C=l-p)%(v=36-p),0))),l=u(C/v);P.push(g(y(l,0))),o=_(n,O,a==r),n=0,++a}++n,++e}return P.join("")}o={version:"1.3.2",ucs2:{decode:h,encode:b},decode:O,encode:v,toASCII:function(t){return m(t,(function(t){return c.test(t)?"xn--"+v(t):t}))},toUnicode:function(t){return m(t,(function(t){return s.test(t)?O(t.slice(4).toLowerCase()):t}))}},void 0===(a=(function(){return o}).call(e,n,e,t))||(t.exports=a)}()}).call(this,n("YuTi")(t))},ngJS:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));const a=t=>e=>{for(let n=0,a=t.length;n<a&&!e.closed;n++)e.next(t[n]);e.complete()}},nhM1:function(t,e,n){var a=n("mrSG").__decorate;Object.defineProperty(e,"__esModule",{value:!0});var r=n("8Y7J");e.DimensionsHelper=function(){function t(){}return t.prototype.getDimensions=function(t){return t.getBoundingClientRect()},a([r.Injectable()],t)}()},nmnc:function(t,e,n){var a=n("Kz5y");t.exports=a.Symbol},ntOU:function(t,e,n){"use strict";var a=n("rpNk").IteratorPrototype,r=n("fHMY"),o=n("XGwC"),i=n("1E5z"),s=n("P4y1"),c=function(){return this};t.exports=function(t,e,n){var l=e+" Iterator";return t.prototype=r(a,{next:o(1,n)}),i(t,l,!1,!0),s[l]=c,t}},nyYc:function(t,e,n){!function(t){"use strict";t.defineLocale("fr",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|)/,ordinal:function(t,e){switch(e){case"D":return t+(1===t?"er":"");default:case"M":case"Q":case"DDD":case"d":return t+(1===t?"er":"e");case"w":case"W":return t+(1===t?"re":"e")}},week:{dow:1,doy:4}})}(n("wd/R"))},o1bE:function(t,e,n){!function(t){"use strict";t.defineLocale("ar-dz",{months:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"أح_إث_ثلا_أر_خم_جم_سب".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:0,doy:4}})}(n("wd/R"))},"o4+5":function(t,e,n){"use strict";n.d(e,"a",(function(){return a})),n("aXbf");class a{constructor(t){this.formatter=t}transform(t){return this.formatter.format_number(t,1e3,["","k","M","G","T","P","E","Z","Y"])}}},oB13:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("EQ5u");function r(t,e){return function(n){let r;if(r="function"==typeof t?t:function(){return t},"function"==typeof e)return n.lift(new o(r,e));const i=Object.create(n,a.b);return i.source=n,i.subjectFactory=r,i}}class o{constructor(t,e){this.subjectFactory=t,this.selector=e}call(t,e){const{selector:n}=this,a=this.subjectFactory(),r=n(a).subscribe(t);return r.add(e.subscribe(a)),r}}},"oCl/":function(t,e,n){var a=n("CH3K"),r=n("LcsW"),o=n("MvSz"),i=n("0ycA");t.exports=Object.getOwnPropertySymbols?function(t){for(var e=[];t;)a(e,o(t)),t=r(t);return e}:i},oMSZ:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{constructor(t){this.pwdExpirationSpan=0,this.pwdExpirationSpan=t.user_pwd_expiration_span,this.pwdExpirationWarning1=t.user_pwd_expiration_warning_1,this.pwdExpirationWarning2=t.user_pwd_expiration_warning_2}}},ohIB:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=n("ae7Z");function r(t){for(var e=0,n=0,a=t;n<a.length;n++)e+=a[n].flexGrow||0;return e}function o(t,e){for(var n=0,a=e;n<a.length;n++){var r=t.indexOf(a[n]);t.splice(r,1)}}function i(t,e){void 0===e&&(e=300);for(var n=0,a=0,r=t;a<r.length;a++)n+=r[a].width||e;return n}e.getTotalFlexGrow=r,e.adjustColumnWidths=function(t,e){var n=a.columnsTotalWidth(t),o=r(t),i=a.columnsByPin(t);n!==e&&function(t,e,n){for(var a in t)for(var r=0,o=t[a];r<o.length;r++)(u=o[r]).canAutoResize?u.width=0:(e-=u.width,n-=u.flexGrow?u.flexGrow:0);var i={},s=e;do{var c=s/n;for(var a in s=0,t)for(var l=0,d=t[a];l<d.length;l++){var u;if((u=d[l]).canAutoResize&&!i[u.prop]){var g=u.width+u.flexGrow*c;void 0!==u.minWidth&&g<u.minWidth?(s+=g-u.minWidth,u.width=u.minWidth,i[u.prop]=!0):u.width=g}}}while(0!==s)}(i,e,o)},e.forceFillColumnWidths=function(t,e,n,a,r){void 0===r&&(r=300);for(var s=t.slice(n+1,t.length).filter((function(t){return!1!==t.canAutoResize})),c=0,l=s;c<l.length;c++)(b=l[c]).$$oldWidth||(b.$$oldWidth=b.width);var d=0,u=!1,g=i(t,r),f=e-g,p=[];do{d=f/s.length,u=g>=e;for(var m=0,h=s;m<h.length;m++){var b=h[m];if(u&&a)b.width=b.$$oldWidth||b.width||r;else{var y=(b.width||r)+d;b.minWidth&&y<b.minWidth?(b.width=b.minWidth,p.push(b)):b.maxWidth&&y>b.maxWidth?(b.width=b.maxWidth,p.push(b)):b.width=y}b.width=Math.max(0,b.width)}f=e-(g=i(t)),o(s,p)}while(f>0&&0!==s.length)}},or5M:function(t,e,n){var a=n("1hJj"),r=n("QoRX"),o=n("xYSL");t.exports=function(t,e,n,i,s,c){var l=1&n,d=t.length,u=e.length;if(d!=u&&!(l&&u>d))return!1;var g=c.get(t);if(g&&c.get(e))return g==e;var f=-1,p=!0,m=2&n?new a:void 0;for(c.set(t,e),c.set(e,t);++f<d;){var h=t[f],b=e[f];if(i)var y=l?i(b,h,f,e,t,c):i(h,b,f,t,e,c);if(void 0!==y){if(y)continue;p=!1;break}if(m){if(!r(e,(function(t,e){if(!o(m,e)&&(h===t||s(h,t,n,i,c)))return m.push(e)}))){p=!1;break}}else if(h!==b&&!s(h,b,n,i,c)){p=!1;break}}return c.delete(t),c.delete(e),p}},"otv/":function(t,e,n){var a=n("nmnc"),r=a?a.prototype:void 0,o=r?r.valueOf:void 0;t.exports=function(t){return o?Object(o.call(t)):{}}},oxzT:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));var a=function(t){return t.add="fa fa-plus",t.addCircle="fa fa-plus-circle",t.minusCircle="fa fa-minus-circle",t.edit="fa fa-pencil",t.destroy="fa fa-times",t.destroyCircle="fa fa-times-circle",t.exchange="fa fa-exchange",t.copy="fa fa-copy",t.clipboard="fa fa-clipboard",t.flatten="fa fa-chain-broken",t.trash="fa fa-trash-o",t.lock="fa fa-lock",t.unlock="fa fa-unlock",t.clone="fa fa-clone",t.undo="fa fa-undo",t.search="fa fa-search",t.start="fa fa-play",t.stop="fa fa-stop",t.analyse="fa fa-stethoscope",t.deepCheck="fa fa-cog",t.reweight="fa fa-balance-scale",t.left="fa fa-arrow-left",t.right="fa fa-arrow-right",t.down="fa fa-arrow-down",t.erase="fa fa-eraser",t.user="fa fa-user",t.users="fa fa-users",t.share="fa fa-share-alt",t.key="fa fa-key-modern",t.warning="fa fa-exclamation-triangle",t.info="fa fa-info",t.infoCircle="fa fa-info-circle",t.questionCircle="fa fa-question-circle-o",t.check="fa fa-check",t.show="fa fa-eye",t.paragraph="fa fa-paragraph",t.terminal="fa fa-terminal",t.magic="fa fa-magic",t.hourglass="fa fa-hourglass-o",t.filledHourglass="fa fa-hourglass",t.table="fa fa-table",t.spinner="fa fa-spinner",t.refresh="fa fa-refresh",t.bullseye="fa fa-bullseye",t.disk="fa fa-hdd-o",t.server="fa fa-server",t.filter="fa fa-filter",t.lineChart="fa fa-line-chart",t.signOut="fa fa-sign-out",t.health="fa fa-heartbeat",t.circle="fa fa-circle",t.bell="fa fa-bell",t.tag="fa fa-tag",t.leftArrow="fa fa-angle-left",t.rightArrow="fa fa-angle-right",t.leftArrowDouble="fa fa-angle-double-left",t.rightArrowDouble="fa fa-angle-double-right",t.flag="fa fa-flag",t.clearFilters="fa fa-window-close",t.download="fa fa-download",t.upload="fa fa-upload",t.large="fa fa-lg",t.large2x="fa fa-2x",t.large3x="fa fa-3x",t.stack="fa fa-stack",t.stack1x="fa fa-stack-1x",t.stack2x="fa fa-stack-2x",t.pulse="fa fa-pulse",t.spin="fa fa-spin",t.inverse="fa fa-inverse",t}({})},"p/rL":function(t,e,n){!function(t){"use strict";t.defineLocale("bm",{months:"Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo".split("_"),monthsShort:"Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des".split("_"),weekdays:"Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri".split("_"),weekdaysShort:"Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib".split("_"),weekdaysMin:"Ka_Nt_Ta_Ar_Al_Ju_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"MMMM [tile] D [san] YYYY",LLL:"MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm",LLLL:"dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm"},calendar:{sameDay:"[Bi lɛrɛ] LT",nextDay:"[Sini lɛrɛ] LT",nextWeek:"dddd [don lɛrɛ] LT",lastDay:"[Kunu lɛrɛ] LT",lastWeek:"dddd [tɛmɛnen lɛrɛ] LT",sameElse:"L"},relativeTime:{future:"%s kɔnɔ",past:"a bɛ %s bɔ",s:"sanga dama dama",ss:"sekondi %d",m:"miniti kelen",mm:"miniti %d",h:"lɛrɛ kelen",hh:"lɛrɛ %d",d:"tile kelen",dd:"tile %d",M:"kalo kelen",MM:"kalo %d",y:"san kelen",yy:"san %d"},week:{dow:1,doy:4}})}(n("wd/R"))},p4Cf:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("oxzT");class r{constructor(){this.icons=a.a}}},pFRH:function(t,e,n){var a=n("cvCv"),r=n("O0oS"),o=n("zZ0H");t.exports=r?function(t,e){return r(t,"toString",{configurable:!0,enumerable:!1,value:a(e),writable:!0})}:o},pKUh:function(t,e,n){"use strict";n.d(e,"a",(function(){return i})),n.d(e,"b",(function(){return l}));var a=n("8Y7J"),r=n("2ZVE"),o=n("SVse"),i=a["ɵcrt"]({encapsulation:0,styles:["[_nghost-%COMP%]   .nav-tabs[_ngcontent-%COMP%]   .nav-item.disabled[_ngcontent-%COMP%]   a.disabled[_ngcontent-%COMP%]{cursor:default}"],data:{}});function s(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"span",[["class","bs-remove-tab"]],null,[[null,"click"]],(function(t,e,n){var a=!0,r=t.component;return"click"===e&&(n.preventDefault(),a=!1!==r.removeTab(t.parent.context.$implicit)&&a),a}),null,null)),(t()(),a["ɵted"](-1,null,[" ❌"]))],null,null)}function c(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,9,"li",[],[[2,"active",null],[2,"disabled",null]],[[null,"keydown"]],(function(t,e,n){var a=!0;return"keydown"===e&&(a=!1!==t.component.keyNavActions(n,t.context.index)&&a),a}),null,null)),a["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](2,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),a["ɵpad"](3,2),(t()(),a["ɵeld"](4,0,null,null,5,"a",[["class","nav-link"],["href","javascript:void(0);"]],[[1,"id",0],[2,"active",null],[2,"disabled",null]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=0!=(t.context.$implicit.active=!0)&&a),a}),null,null)),(t()(),a["ɵeld"](5,16777216,null,null,2,"span",[],null,null,null,null,null)),a["ɵdid"](6,16384,null,0,r.a,[a.ViewContainerRef],{ngTransclude:[0,"ngTransclude"]},null),(t()(),a["ɵted"](7,null,["",""])),(t()(),a["ɵand"](16777216,null,null,1,null,s)),a["ɵdid"](9,16384,null,0,o.NgIf,[a.ViewContainerRef,a.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=t(e,3,0,"nav-item",e.context.$implicit.customClass||"");t(e,2,0,n),t(e,6,0,e.context.$implicit.headingRef),t(e,9,0,e.context.$implicit.removable)}),(function(t,e){t(e,0,0,e.context.$implicit.active,e.context.$implicit.disabled),t(e,4,0,e.context.$implicit.id?e.context.$implicit.id+"-link":"",e.context.$implicit.active,e.context.$implicit.disabled),t(e,7,0,e.context.$implicit.heading)}))}function l(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,4,"ul",[["class","nav"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==n.preventDefault()&&a),a}),null,null)),a["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[a.IterableDiffers,a.KeyValueDiffers,a.ElementRef,a.Renderer2]),a["ɵdid"](2,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),(t()(),a["ɵand"](16777216,null,null,1,null,c)),a["ɵdid"](4,278528,null,0,o.NgForOf,[a.ViewContainerRef,a.TemplateRef,a.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),a["ɵeld"](5,0,null,null,1,"div",[["class","tab-content"]],null,null,null,null,null)),a["ɵncd"](null,0)],(function(t,e){var n=e.component;t(e,2,0,"nav",n.classMap),t(e,4,0,n.tabs)}),null)}},pL04:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{}},pLZG:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("7o/Q");function r(t,e){return function(n){return n.lift(new o(t,e))}}class o{constructor(t,e){this.predicate=t,this.thisArg=e}call(t,e){return e.subscribe(new i(t,this.predicate,this.thisArg))}}class i extends a.a{constructor(t,e,n){super(t),this.predicate=e,this.thisArg=n,this.count=0}_next(t){let e;try{e=this.predicate.call(this.thisArg,t,this.count++)}catch(n){return void this.destination.error(n)}e&&this.destination.next(t)}}},pMnS:function(t,e,n){"use strict";n.d(e,"a",(function(){return c}));var a=n("8Y7J"),r=n("iInd"),o=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function i(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),a["ɵdid"](1,212992,null,0,r.r,[r.b,a.ViewContainerRef,a.ComponentFactoryResolver,[8,null],a.ChangeDetectorRef],null,null)],(function(t,e){t(e,1,0)}),null)}function s(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"ng-component",[],null,null,null,i,o)),a["ɵdid"](1,49152,null,0,r.F,[],null,null)],null,null)}var c=a["ɵccf"]("ng-component",r.F,s,{},{},[])},pSRY:function(t,e,n){var a=n("QkVE");t.exports=function(t){return a(this,t).has(t)}},pZt1:function(t,e){t.exports=function(t){return t&&t.length?t[0]:void 0}},pcHL:function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var a=n("8Y7J"),r=n("f95s"),o=function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},i=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},s=function(){function t(){}return o([Object(a.Input)(),i("design:type",r.a)],t.prototype,"node",void 0),o([Object(a.Input)(),i("design:type",Object)],t.prototype,"templates",void 0),o([Object(a.Component)({selector:"tree-node-children",encapsulation:a.ViewEncapsulation.None,styles:[],template:'\n    <ng-container *treeMobxAutorun="{ dontDetach: true }">\n      <div\n        [class.tree-children]="true"\n        [class.tree-children-no-padding]="node.options.levelPadding"\n        *treeAnimateOpen="\n          node.isExpanded;\n          speed: node.options.animateSpeed;\n          acceleration: node.options.animateAcceleration;\n          enabled: node.options.animateExpand\n        "\n      >\n        <tree-node-collection\n          *ngIf="node.children"\n          [nodes]="node.children"\n          [templates]="templates"\n          [treeModel]="node.treeModel"\n        >\n        </tree-node-collection>\n        <tree-loading-component\n          [style.padding-left]="node.getNodePadding()"\n          class="tree-node-loading"\n          *ngIf="!node.children"\n          [template]="templates.loadingTemplate"\n          [node]="node"\n        ></tree-loading-component>\n      </div>\n    </ng-container>\n  '})],t)}()},pjAE:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));const a=(()=>{function t(t){return Error.call(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((t,e)=>`${e+1}) ${t.toString()}`).join("\n  ")}`:"",this.name="UnsubscriptionError",this.errors=t,this}return t.prototype=Object.create(Error.prototype),t})()},pkCn:function(t,e,n){"use strict";var a=n("0Dky");t.exports=function(t,e){var n=[][t];return!!n&&a((function(){n.call(null,e||function(){throw 1},1)}))}},ppGB:function(t,e){var n=Math.ceil,a=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?a:n)(t)}},pxLl:function(t,e,n){"use strict";n.d(e,"a",(function(){return d}));var a=n("mrSG"),r=n("IheW"),o=n("LRne"),i=n("5+tZ"),s=n("xTzq"),c=n("8Y7J"),l=n("pL04");let d=(()=>{let t=class{constructor(t){this.http=t,this.url="api/perf_counters"}list(){return this.http.get(this.url)}get(t,e){return this.http.get(`${this.url}/${t}/${e}`).pipe(Object(i.a)(t=>Object(o.a)(t.counters)))}};return t.ngInjectableDef=c["ɵɵdefineInjectable"]({factory:function(){return new t(c["ɵɵinject"](r.c))},token:t,providedIn:l.a}),t=a.__decorate([s.a,a.__metadata("design:paramtypes",[r.c])],t),t})()},pxpQ:function(t,e,n){"use strict";n.d(e,"b",(function(){return o})),n.d(e,"a",(function(){return s}));var a=n("7o/Q"),r=n("WMd4");function o(t,e=0){return function(n){return n.lift(new i(t,e))}}class i{constructor(t,e=0){this.scheduler=t,this.delay=e}call(t,e){return e.subscribe(new s(t,this.scheduler,this.delay))}}class s extends a.a{constructor(t,e,n=0){super(t),this.scheduler=e,this.delay=n}static dispatch(t){const{notification:e,destination:n}=t;e.observe(n),this.unsubscribe()}scheduleMessage(t){this.destination.add(this.scheduler.schedule(s.dispatch,this.delay,new c(t,this.destination)))}_next(t){this.scheduleMessage(r.a.createNext(t))}_error(t){this.scheduleMessage(r.a.createError(t)),this.unsubscribe()}_complete(){this.scheduleMessage(r.a.createComplete()),this.unsubscribe()}}class c{constructor(t,e){this.notification=t,this.destination=e}}},qCKp:function(t,e,n){"use strict";n.r(e);var a=n("HDdC"),r=n("EQ5u"),o=n("OQgR"),i=n("kJWO"),s=n("XNiG"),c=n("2Vo4"),l=n("jtHE"),d=n("NHP+"),u=n("7Hc7"),g=n("D0XW"),f=n("qgXg"),p=n("eNwd"),m=n("3N8a"),h=n("IjjT");let b=(()=>{class t extends h.a{constructor(t=y,e=Number.POSITIVE_INFINITY){super(t,()=>this.frame),this.maxFrames=e,this.frame=0,this.index=-1}flush(){const{actions:t,maxFrames:e}=this;let n,a;for(;(a=t[0])&&a.delay<=e&&(t.shift(),this.frame=a.delay,!(n=a.execute(a.state,a.delay))););if(n){for(;a=t.shift();)a.unsubscribe();throw n}}}return t.frameTimeFactor=10,t})();class y extends m.a{constructor(t,e,n=(t.index+=1)){super(t,e),this.scheduler=t,this.work=e,this.index=n,this.active=!0,this.index=t.index=n}schedule(t,e=0){if(!this.id)return super.schedule(t,e);this.active=!1;const n=new y(this.scheduler,this.work);return this.add(n),n.schedule(t,e)}requestAsyncId(t,e,n=0){this.delay=t.frame+n;const{actions:a}=t;return a.push(this),a.sort(y.sortActions),!0}recycleAsyncId(t,e,n=0){}_execute(t,e){if(!0===this.active)return super._execute(t,e)}static sortActions(t,e){return t.delay===e.delay?t.index===e.index?0:t.index>e.index?1:-1:t.delay>e.delay?1:-1}}var _=n("Y/cZ"),O=n("quSY"),v=n("7o/Q"),C=n("WMd4"),P=n("mCNh"),M=n("KqfI"),x=n("SpAZ"),w=n("7+OI"),T=n("4I5i"),S=n("sVev"),k=n("9ppp"),I=n("pjAE"),N=n("Y6u4"),R=n("lJxs"),A=n("8Qeq"),E=n("DH7j"),D=n("z+Ro");function L(t,e,n){if(e){if(!Object(D.a)(e))return(...a)=>L(t,n)(...a).pipe(Object(R.a)(t=>Object(E.a)(t)?e(...t):e(t)));n=e}return function(...e){const r=this;let o;const i={context:r,subject:o,callbackFunc:t,scheduler:n};return new a.a(a=>{if(n)return n.schedule(q,0,{args:e,subscriber:a,params:i});if(!o){o=new d.a;const n=(...t)=>{o.next(t.length<=1?t[0]:t),o.complete()};try{t.apply(r,[...e,n])}catch(s){Object(A.a)(o)?o.error(s):console.warn(s)}}return o.subscribe(a)})}}function q(t){const{args:e,subscriber:n,params:a}=t,{callbackFunc:r,context:o,scheduler:i}=a;let{subject:s}=a;if(!s){s=a.subject=new d.a;const t=(...t)=>{this.add(i.schedule(j,0,{value:t.length<=1?t[0]:t,subject:s}))};try{r.apply(o,[...e,t])}catch(c){s.error(c)}}this.add(s.subscribe(n))}function j(t){const{value:e,subject:n}=t;n.next(e),n.complete()}function F(t,e,n){if(e){if(!Object(D.a)(e))return(...a)=>F(t,n)(...a).pipe(Object(R.a)(t=>Object(E.a)(t)?e(...t):e(t)));n=e}return function(...e){const r={subject:void 0,args:e,callbackFunc:t,scheduler:n,context:this};return new a.a(a=>{const{context:o}=r;let{subject:i}=r;if(n)return n.schedule(z,0,{params:r,subscriber:a,context:o});if(!i){i=r.subject=new d.a;const n=(...t)=>{const e=t.shift();e?i.error(e):(i.next(t.length<=1?t[0]:t),i.complete())};try{t.apply(o,[...e,n])}catch(s){Object(A.a)(i)?i.error(s):console.warn(s)}}return i.subscribe(a)})}}function z(t){const{params:e,subscriber:n,context:a}=t,{callbackFunc:r,args:o,scheduler:i}=e;let s=e.subject;if(!s){s=e.subject=new d.a;const t=(...t)=>{const e=t.shift();this.add(e?i.schedule(B,0,{err:e,subject:s}):i.schedule(G,0,{value:t.length<=1?t[0]:t,subject:s}))};try{r.apply(a,[...o,t])}catch(c){this.add(i.schedule(B,0,{err:c,subject:s}))}}this.add(s.subscribe(n))}function G(t){const{value:e,subject:n}=t;n.next(e),n.complete()}function B(t){const{err:e,subject:n}=t;n.error(e)}var V=n("itXk"),Y=n("GyhO"),H=n("NXyV"),U=n("EY2u"),W=n("cp0P"),K=n("Cfvw"),$=n("xgIS"),Z=n("n6bG");function J(t,e,n){return n?J(t,e).pipe(Object(R.a)(t=>Object(E.a)(t)?n(...t):n(t))):new a.a(n=>{const a=(...t)=>n.next(1===t.length?t[0]:t);let r;try{r=t(a)}catch(o){return void n.error(o)}if(Object(Z.a)(e))return()=>e(a,r)})}function X(t,e,n,r,o){let i,s;return 1==arguments.length?(s=t.initialState,e=t.condition,n=t.iterate,i=t.resultSelector||x.a,o=t.scheduler):void 0===r||Object(D.a)(r)?(s=t,i=x.a,o=r):(s=t,i=r),new a.a(t=>{let a=s;if(o)return o.schedule(Q,0,{subscriber:t,iterate:n,condition:e,resultSelector:i,state:a});for(;;){if(e){let n;try{n=e(a)}catch(r){return void t.error(r)}if(!n){t.complete();break}}let o;try{o=i(a)}catch(r){return void t.error(r)}if(t.next(o),t.closed)break;try{a=n(a)}catch(r){return void t.error(r)}}})}function Q(t){const{subscriber:e,condition:n}=t;if(e.closed)return;if(t.needIterate)try{t.state=t.iterate(t.state)}catch(r){return void e.error(r)}else t.needIterate=!0;if(n){let a;try{a=n(t.state)}catch(r){return void e.error(r)}if(!a)return void e.complete();if(e.closed)return}let a;try{a=t.resultSelector(t.state)}catch(r){return void e.error(r)}return e.closed||(e.next(a),e.closed)?void 0:this.schedule(t)}function tt(t,e=U.a,n=U.a){return Object(H.a)(()=>t()?e:n)}var et=n("l5mm"),nt=n("VRyK");const at=new a.a(M.a);function rt(){return at}var ot=n("LRne");function it(...t){if(0===t.length)return U.a;const[e,...n]=t;return 1===t.length&&Object(E.a)(e)?it(...e):new a.a(t=>{const a=()=>t.add(it(...n).subscribe(t));return Object(K.a)(e).subscribe({next(e){t.next(e)},error:a,complete:a})})}function st(t,e){return new a.a(e?n=>{const a=Object.keys(t),r=new O.a;return r.add(e.schedule(ct,0,{keys:a,index:0,subscriber:n,subscription:r,obj:t})),r}:e=>{const n=Object.keys(t);for(let a=0;a<n.length&&!e.closed;a++){const r=n[a];t.hasOwnProperty(r)&&e.next([r,t[r]])}e.complete()})}function ct(t){const{keys:e,index:n,subscriber:a,subscription:r,obj:o}=t;if(!a.closed)if(n<e.length){const t=e[n];a.next([t,o[t]]),r.add(this.schedule({keys:e,index:n+1,subscriber:a,subscription:r,obj:o}))}else a.complete()}var lt=n("F97/"),dt=n("SeVD"),ut=n("pLZG");function gt(t,e,n){return[Object(ut.a)(e,n)(new a.a(Object(dt.a)(t))),Object(ut.a)(Object(lt.a)(e,n))(new a.a(Object(dt.a)(t)))]}var ft=n("Nv8m");function pt(t=0,e,n){return new a.a(a=>{void 0===e&&(e=t,t=0);let r=0,o=t;if(n)return n.schedule(mt,0,{index:r,count:e,start:t,subscriber:a});for(;;){if(r++>=e){a.complete();break}if(a.next(o++),a.closed)break}})}function mt(t){const{start:e,index:n,count:a,subscriber:r}=t;n>=a?r.complete():(r.next(e),r.closed||(t.index=n+1,t.start=e+1,this.schedule(t)))}var ht=n("z6cu"),bt=n("PqYM");function yt(t,e){return new a.a(n=>{let a,r;try{a=t()}catch(i){return void n.error(i)}try{r=e(a)}catch(i){return void n.error(i)}const o=(r?Object(K.a)(r):U.a).subscribe(n);return()=>{o.unsubscribe(),a&&a.unsubscribe()}})}var _t=n("1uah"),Ot=n("7HRe"),vt=n("2fFW");n.d(e,"Observable",(function(){return a.a})),n.d(e,"ConnectableObservable",(function(){return r.a})),n.d(e,"GroupedObservable",(function(){return o.a})),n.d(e,"observable",(function(){return i.a})),n.d(e,"Subject",(function(){return s.a})),n.d(e,"BehaviorSubject",(function(){return c.a})),n.d(e,"ReplaySubject",(function(){return l.a})),n.d(e,"AsyncSubject",(function(){return d.a})),n.d(e,"asapScheduler",(function(){return u.a})),n.d(e,"asyncScheduler",(function(){return g.a})),n.d(e,"queueScheduler",(function(){return f.a})),n.d(e,"animationFrameScheduler",(function(){return p.a})),n.d(e,"VirtualTimeScheduler",(function(){return b})),n.d(e,"VirtualAction",(function(){return y})),n.d(e,"Scheduler",(function(){return _.a})),n.d(e,"Subscription",(function(){return O.a})),n.d(e,"Subscriber",(function(){return v.a})),n.d(e,"Notification",(function(){return C.a})),n.d(e,"NotificationKind",(function(){return C.b})),n.d(e,"pipe",(function(){return P.a})),n.d(e,"noop",(function(){return M.a})),n.d(e,"identity",(function(){return x.a})),n.d(e,"isObservable",(function(){return w.a})),n.d(e,"ArgumentOutOfRangeError",(function(){return T.a})),n.d(e,"EmptyError",(function(){return S.a})),n.d(e,"ObjectUnsubscribedError",(function(){return k.a})),n.d(e,"UnsubscriptionError",(function(){return I.a})),n.d(e,"TimeoutError",(function(){return N.a})),n.d(e,"bindCallback",(function(){return L})),n.d(e,"bindNodeCallback",(function(){return F})),n.d(e,"combineLatest",(function(){return V.b})),n.d(e,"concat",(function(){return Y.a})),n.d(e,"defer",(function(){return H.a})),n.d(e,"empty",(function(){return U.b})),n.d(e,"forkJoin",(function(){return W.a})),n.d(e,"from",(function(){return K.a})),n.d(e,"fromEvent",(function(){return $.a})),n.d(e,"fromEventPattern",(function(){return J})),n.d(e,"generate",(function(){return X})),n.d(e,"iif",(function(){return tt})),n.d(e,"interval",(function(){return et.a})),n.d(e,"merge",(function(){return nt.a})),n.d(e,"never",(function(){return rt})),n.d(e,"of",(function(){return ot.a})),n.d(e,"onErrorResumeNext",(function(){return it})),n.d(e,"pairs",(function(){return st})),n.d(e,"partition",(function(){return gt})),n.d(e,"race",(function(){return ft.a})),n.d(e,"range",(function(){return pt})),n.d(e,"throwError",(function(){return ht.a})),n.d(e,"timer",(function(){return bt.a})),n.d(e,"using",(function(){return yt})),n.d(e,"zip",(function(){return _t.b})),n.d(e,"scheduled",(function(){return Ot.a})),n.d(e,"EMPTY",(function(){return U.a})),n.d(e,"NEVER",(function(){return at})),n.d(e,"config",(function(){return vt.a}))},qZTm:function(t,e,n){var a=n("fR/l"),r=n("MvSz"),o=n("7GkX");t.exports=function(t){return a(t,o,r)}},qgXg:function(t,e,n){"use strict";var a=n("3N8a");class r extends a.a{constructor(t,e){super(t,e),this.scheduler=t,this.work=e}schedule(t,e=0){return e>0?super.schedule(t,e):(this.delay=e,this.state=t,this.scheduler.flush(this),this)}execute(t,e){return e>0||this.closed?super.execute(t,e):this._execute(t,e)}requestAsyncId(t,e,n=0){return null!==n&&n>0||null===n&&this.delay>0?super.requestAsyncId(t,e,n):t.flush(this)}}var o=n("IjjT");class i extends o.a{}n.d(e,"a",(function(){return s}));const s=new i(r)},quSY:function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var a=n("DH7j"),r=n("XoHu"),o=n("n6bG"),i=n("pjAE");let s=(()=>{class t{constructor(t){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,t&&(this._unsubscribe=t)}unsubscribe(){let e;if(this.closed)return;let{_parentOrParents:n,_unsubscribe:s,_subscriptions:l}=this;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,n instanceof t)n.remove(this);else if(null!==n)for(let t=0;t<n.length;++t)n[t].remove(this);if(Object(o.a)(s))try{s.call(this)}catch(d){e=d instanceof i.a?c(d.errors):[d]}if(Object(a.a)(l)){let t=-1,n=l.length;for(;++t<n;){const n=l[t];if(Object(r.a)(n))try{n.unsubscribe()}catch(d){e=e||[],d instanceof i.a?e=e.concat(c(d.errors)):e.push(d)}}}if(e)throw new i.a(e)}add(e){let n=e;if(!e)return t.EMPTY;switch(typeof e){case"function":n=new t(e);case"object":if(n===this||n.closed||"function"!=typeof n.unsubscribe)return n;if(this.closed)return n.unsubscribe(),n;if(!(n instanceof t)){const e=n;n=new t,n._subscriptions=[e]}break;default:throw new Error("unrecognized teardown "+e+" added to Subscription.")}let{_parentOrParents:a}=n;if(null===a)n._parentOrParents=this;else if(a instanceof t){if(a===this)return n;n._parentOrParents=[a,this]}else{if(-1!==a.indexOf(this))return n;a.push(this)}const r=this._subscriptions;return null===r?this._subscriptions=[n]:r.push(n),n}remove(t){const e=this._subscriptions;if(e){const n=e.indexOf(t);-1!==n&&e.splice(n,1)}}}var e;return t.EMPTY=((e=new t).closed=!0,e),t})();function c(t){return t.reduce((t,e)=>t.concat(e instanceof i.a?e.errors:e),[])}},qwkt:function(t,e,n){"use strict";function a(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),a(n("ejVf")),a(n("aTeT")),a(n("WOoz")),a(n("lmqd")),a(n("ILDN")),a(n("n1nk"))},r8II:function(t,e,n){"use strict";e.decode=e.parse=n("YcCt"),e.encode=e.stringify=n("6MUB")},rB9j:function(t,e,n){"use strict";var a=n("I+eb"),r=n("kmMV");a({target:"RegExp",proto:!0,forced:/./.exec!==r},{exec:r})},rEGp:function(t,e){t.exports=function(t){var e=-1,n=Array(t.size);return t.forEach((function(t){n[++e]=t})),n}},rKzb:function(t,e,n){"use strict";var a=n("4syw"),r=n("8YOa").getWeakData,o=n("glrk"),i=n("hh1v"),s=n("GarU"),c=n("ImZN"),l=n("tycR"),d=n("UTVS"),u=n("afO8"),g=u.set,f=u.getterFor,p=l.find,m=l.findIndex,h=0,b=function(t){return t.frozen||(t.frozen=new y)},y=function(){this.entries=[]},_=function(t,e){return p(t.entries,(function(t){return t[0]===e}))};y.prototype={get:function(t){var e=_(this,t);if(e)return e[1]},has:function(t){return!!_(this,t)},set:function(t,e){var n=_(this,t);n?n[1]=e:this.entries.push([t,e])},delete:function(t){var e=m(this.entries,(function(e){return e[0]===t}));return~e&&this.entries.splice(e,1),!!~e}},t.exports={getConstructor:function(t,e,n,l){var u=t((function(t,a){s(t,u,e),g(t,{type:e,id:h++,frozen:void 0}),null!=a&&c(a,t[l],t,n)})),p=f(e),m=function(t,e,n){var a=p(t),i=r(o(e),!0);return!0===i?b(a).set(e,n):i[a.id]=n,t};return a(u.prototype,{delete:function(t){var e=p(this);if(!i(t))return!1;var n=r(t);return!0===n?b(e).delete(t):n&&d(n,e.id)&&delete n[e.id]},has:function(t){var e=p(this);if(!i(t))return!1;var n=r(t);return!0===n?b(e).has(t):n&&d(n,e.id)}}),a(u.prototype,n?{get:function(t){var e=p(this);if(i(t)){var n=r(t);return!0===n?b(e).get(t):n?n[e.id]:void 0}},set:function(t,e){return m(this,t,e)}}:{add:function(t){return m(this,t,!0)}}),u}}},rLYq:function(t,e,n){var a=n("mrSG").__assign,r=n("mrSG").__decorate,o=n("mrSG").__metadata;Object.defineProperty(e,"__esModule",{value:!0});var i=n("8Y7J");function s(t){var e=t.filter((function(t){return!!t}));return e.length?e.some((function(t){return"number"!=typeof t}))?null:e.reduce((function(t,e){return t+e})):null}function c(t){return null}e.DataTableSummaryRowComponent=function(){function t(){this.summaryRow={}}return t.prototype.ngOnChanges=function(){this.columns&&this.rows&&(this.updateInternalColumns(),this.updateValues())},t.prototype.updateInternalColumns=function(){this._internalColumns=this.columns.map((function(t){return a({},t,{cellTemplate:t.summaryTemplate})}))},t.prototype.updateValues=function(){var t=this;this.summaryRow={},this.columns.filter((function(t){return!t.summaryTemplate})).forEach((function(e){var n=t.rows.map((function(t){return t[e.prop]})),a=t.getSummaryFunction(e);t.summaryRow[e.prop]=e.pipe?e.pipe.transform(a(n)):a(n)}))},t.prototype.getSummaryFunction=function(t){return void 0===t.summaryFunc?s:null===t.summaryFunc?c:t.summaryFunc},r([i.Input(),o("design:type",Array)],t.prototype,"rows",void 0),r([i.Input(),o("design:type",Array)],t.prototype,"columns",void 0),r([i.Input(),o("design:type",Number)],t.prototype,"rowHeight",void 0),r([i.Input(),o("design:type",Number)],t.prototype,"offsetX",void 0),r([i.Input(),o("design:type",Number)],t.prototype,"innerWidth",void 0),r([i.Component({selector:"datatable-summary-row",template:'\n  <datatable-body-row\n    *ngIf="summaryRow && _internalColumns"\n    tabindex="-1"\n    [innerWidth]="innerWidth"\n    [offsetX]="offsetX"\n    [columns]="_internalColumns"\n    [rowHeight]="rowHeight"\n    [row]="summaryRow"\n    [rowIndex]="-1">\n  </datatable-body-row>\n  ',host:{class:"datatable-summary-row"}})],t)}()},rW0t:function(t,e,n){"use strict";var a=n("glrk");t.exports=function(){var t=a(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.dotAll&&(e+="s"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},rZud:function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var a=n("8Y7J"),r=n("f95s"),o=function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},i=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},s=function(){function t(){}return o([Object(a.Input)(),i("design:type",r.a)],t.prototype,"node",void 0),o([Object(a.Input)(),i("design:type",Number)],t.prototype,"index",void 0),o([Object(a.Input)(),i("design:type",a.TemplateRef)],t.prototype,"template",void 0),o([Object(a.Component)({selector:"tree-node-content",encapsulation:a.ViewEncapsulation.None,template:'\n  <span *ngIf="!template">{{ node.displayField }}</span>\n  <ng-container\n    [ngTemplateOutlet]="template"\n    [ngTemplateOutletContext]="{ $implicit: node, node: node, index: index }">\n  </ng-container>'})],t)}()},raLr:function(t,e,n){!function(t){"use strict";function e(t,e,n){var a,r;return"m"===n?e?"хвилина":"хвилину":"h"===n?e?"година":"годину":t+" "+(a=+t,r={ss:e?"секунда_секунди_секунд":"секунду_секунди_секунд",mm:e?"хвилина_хвилини_хвилин":"хвилину_хвилини_хвилин",hh:e?"година_години_годин":"годину_години_годин",dd:"день_дні_днів",MM:"місяць_місяці_місяців",yy:"рік_роки_років"}[n].split("_"),a%10==1&&a%100!=11?r[0]:a%10>=2&&a%10<=4&&(a%100<10||a%100>=20)?r[1]:r[2])}function n(t){return function(){return t+"о"+(11===this.hours()?"б":"")+"] LT"}}t.defineLocale("uk",{months:{format:"січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня".split("_"),standalone:"січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень".split("_")},monthsShort:"січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд".split("_"),weekdays:function(t,e){var n={nominative:"неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота".split("_"),accusative:"неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу".split("_"),genitive:"неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи".split("_")};return!0===t?n.nominative.slice(1,7).concat(n.nominative.slice(0,1)):t?n[/(\[[ВвУу]\]) ?dddd/.test(e)?"accusative":/\[?(?:минулої|наступної)? ?\] ?dddd/.test(e)?"genitive":"nominative"][t.day()]:n.nominative},weekdaysShort:"нд_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY р.",LLL:"D MMMM YYYY р., HH:mm",LLLL:"dddd, D MMMM YYYY р., HH:mm"},calendar:{sameDay:n("[Сьогодні "),nextDay:n("[Завтра "),lastDay:n("[Вчора "),nextWeek:n("[У] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return n("[Минулої] dddd [").call(this);case 1:case 2:case 4:return n("[Минулого] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"за %s",past:"%s тому",s:"декілька секунд",ss:e,m:e,mm:e,h:"годину",hh:e,d:"день",dd:e,M:"місяць",MM:e,y:"рік",yy:e},meridiemParse:/ночі|ранку|дня|вечора/,isPM:function(t){return/^(дня|вечора)$/.test(t)},meridiem:function(t,e,n){return t<4?"ночі":t<12?"ранку":t<17?"дня":"вечора"},dayOfMonthOrdinalParse:/\d{1,2}-(й|го)/,ordinal:function(t,e){switch(e){case"M":case"d":case"DDD":case"w":case"W":return t+"-й";case"D":return t+"-го";default:return t}},week:{dow:1,doy:7}})}(n("wd/R"))},rdkg:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=n("CVuo"),r={},o="undefined"!=typeof document?document.createElement("div").style:void 0,i=function(){var t="undefined"!=typeof window?window.getComputedStyle(document.documentElement,""):void 0,e=void 0!==t?Array.prototype.slice.call(t).join("").match(/-(moz|webkit|ms)-/):null,n=null!==e?e[1]:void 0,a=void 0!==n?"WebKit|Moz|MS|O".match(new RegExp("("+n+")","i"))[1]:void 0;return a?{dom:a,lowercase:n,css:"-"+n+"-",js:n[0].toUpperCase()+n.substr(1)}:void 0};e.ɵ0=i;var s=i();e.getVendorPrefixedName=function(t){var e=a.camelCase(t);return r[e]||(void 0!==s&&void 0!==o[s.css+t]?r[e]=s.css+t:void 0!==o[t]&&(r[e]=t)),r[e]}},rkAj:function(t,e,n){var a=n("g6v/"),r=n("0Dky"),o=n("UTVS"),i=Object.defineProperty,s={},c=function(t){throw t};t.exports=function(t,e){if(o(s,t))return s[t];e||(e={});var n=[][t],l=!!o(e,"ACCESSORS")&&e.ACCESSORS,d=o(e,0)?e[0]:c,u=o(e,1)?e[1]:void 0;return s[t]=!!n&&!r((function(){if(l&&!a)return!0;var t={length:-1};l?i(t,1,{enumerable:!0,get:c}):t[1]=1,n.call(t,d,u)}))}},rpNk:function(t,e,n){"use strict";var a,r,o,i=n("4WOD"),s=n("kRJp"),c=n("UTVS"),l=n("tiKp"),d=n("xDBR"),u=l("iterator"),g=!1;[].keys&&("next"in(o=[].keys())?(r=i(i(o)))!==Object.prototype&&(a=r):g=!0),null==a&&(a={}),d||c(a,u)||s(a,u,(function(){return this})),t.exports={IteratorPrototype:a,BUGGY_SAFARI_ITERATORS:g}},"s+uk":function(t,e,n){!function(t){"use strict";function e(t,e,n,a){var r={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[t+" Tage",t+" Tagen"],M:["ein Monat","einem Monat"],MM:[t+" Monate",t+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[t+" Jahre",t+" Jahren"]};return e?r[n][0]:r[n][1]}t.defineLocale("de-at",{months:"Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:e,mm:"%d Minuten",h:e,hh:"%d Stunden",d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("wd/R"))},s7LF:function(t,e,n){"use strict";n.d(e,"C",(function(){return Ct})),n.d(e,"G",(function(){return pt})),n.d(e,"D",(function(){return k})),n.d(e,"E",(function(){return mt})),n.d(e,"F",(function(){return F})),n.d(e,"c",(function(){return l})),n.d(e,"d",(function(){return f})),n.d(e,"p",(function(){return c})),n.d(e,"b",(function(){return d})),n.d(e,"e",(function(){return u})),n.d(e,"q",(function(){return m})),n.d(e,"r",(function(){return b})),n.d(e,"s",(function(){return y})),n.d(e,"t",(function(){return st})),n.d(e,"u",(function(){return ft})),n.d(e,"w",(function(){return S})),n.d(e,"x",(function(){return I})),n.d(e,"j",(function(){return Ot})),n.d(e,"l",(function(){return ht})),n.d(e,"g",(function(){return yt})),n.d(e,"m",(function(){return bt})),n.d(e,"v",(function(){return q})),n.d(e,"A",(function(){return L})),n.d(e,"z",(function(){return vt})),n.d(e,"h",(function(){return Pt})),n.d(e,"a",(function(){return nt})),n.d(e,"f",(function(){return ot})),n.d(e,"i",(function(){return at})),n.d(e,"k",(function(){return rt})),n.d(e,"o",(function(){return O})),n.d(e,"B",(function(){return C})),n.d(e,"n",(function(){return Mt})),n.d(e,"y",(function(){return xt}));var a=n("8Y7J"),r=n("cUpR"),o=n("cp0P"),i=n("Cfvw"),s=n("lJxs");const c=new a.InjectionToken("NgValueAccessor");class l{constructor(t,e){this._renderer=t,this._elementRef=e,this.onChange=t=>{},this.onTouched=()=>{}}writeValue(t){this._renderer.setProperty(this._elementRef.nativeElement,"checked",t)}registerOnChange(t){this.onChange=t}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)}}const d=new a.InjectionToken("CompositionEventMode");class u{constructor(t,e,n){this._renderer=t,this._elementRef=e,this._compositionMode=n,this.onChange=t=>{},this.onTouched=()=>{},this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function(){const t=Object(r.q)()?Object(r.q)().getUserAgent():"";return/android (\d+)/.test(t.toLowerCase())}())}writeValue(t){this._renderer.setProperty(this._elementRef.nativeElement,"value",null==t?"":t)}registerOnChange(t){this.onChange=t}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}}class g{get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}reset(t){this.control&&this.control.reset(t)}hasError(t,e){return!!this.control&&this.control.hasError(t,e)}getError(t,e){return this.control?this.control.getError(t,e):null}}class f extends g{get formDirective(){return null}get path(){return null}}function p(){throw new Error("unimplemented")}class m extends g{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null,this._rawValidators=[],this._rawAsyncValidators=[]}get validator(){return p()}get asyncValidator(){return p()}}class h{constructor(t){this._cd=t}get ngClassUntouched(){return!!this._cd.control&&this._cd.control.untouched}get ngClassTouched(){return!!this._cd.control&&this._cd.control.touched}get ngClassPristine(){return!!this._cd.control&&this._cd.control.pristine}get ngClassDirty(){return!!this._cd.control&&this._cd.control.dirty}get ngClassValid(){return!!this._cd.control&&this._cd.control.valid}get ngClassInvalid(){return!!this._cd.control&&this._cd.control.invalid}get ngClassPending(){return!!this._cd.control&&this._cd.control.pending}}class b extends h{constructor(t){super(t)}}class y extends h{constructor(t){super(t)}}function _(t){return null==t||0===t.length}const O=new a.InjectionToken("NgValidators"),v=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;class C{static min(t){return e=>{if(_(e.value)||_(t))return null;const n=parseFloat(e.value);return!isNaN(n)&&n<t?{min:{min:t,actual:e.value}}:null}}static max(t){return e=>{if(_(e.value)||_(t))return null;const n=parseFloat(e.value);return!isNaN(n)&&n>t?{max:{max:t,actual:e.value}}:null}}static required(t){return _(t.value)?{required:!0}:null}static requiredTrue(t){return!0===t.value?null:{required:!0}}static email(t){return _(t.value)?null:v.test(t.value)?null:{email:!0}}static minLength(t){return e=>{if(_(e.value))return null;const n=e.value?e.value.length:0;return n<t?{minlength:{requiredLength:t,actualLength:n}}:null}}static maxLength(t){return e=>{const n=e.value?e.value.length:0;return n>t?{maxlength:{requiredLength:t,actualLength:n}}:null}}static pattern(t){if(!t)return C.nullValidator;let e,n;return"string"==typeof t?(n="","^"!==t.charAt(0)&&(n+="^"),n+=t,"$"!==t.charAt(t.length-1)&&(n+="$"),e=new RegExp(n)):(n=t.toString(),e=t),t=>{if(_(t.value))return null;const a=t.value;return e.test(a)?null:{pattern:{requiredPattern:n,actualValue:a}}}}static nullValidator(t){return null}static compose(t){if(!t)return null;const e=t.filter(P);return 0==e.length?null:function(t){return x(function(t,e){return e.map(e=>e(t))}(t,e))}}static composeAsync(t){if(!t)return null;const e=t.filter(P);return 0==e.length?null:function(t){const n=function(t,e){return e.map(e=>e(t))}(t,e).map(M);return Object(o.a)(n).pipe(Object(s.a)(x))}}}function P(t){return null!=t}function M(t){const e=Object(a["ɵisPromise"])(t)?Object(i.a)(t):t;if(!Object(a["ɵisObservable"])(e))throw new Error("Expected validator to return Promise or Observable.");return e}function x(t){const e=t.reduce((t,e)=>null!=e?Object.assign({},t,e):t,{});return 0===Object.keys(e).length?null:e}function w(t){return t.validate?e=>t.validate(e):t}function T(t){return t.validate?e=>t.validate(e):t}class S{constructor(t,e){this._renderer=t,this._elementRef=e,this.onChange=t=>{},this.onTouched=()=>{}}writeValue(t){this._renderer.setProperty(this._elementRef.nativeElement,"value",null==t?"":t)}registerOnChange(t){this.onChange=e=>{t(""==e?null:parseFloat(e))}}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)}}class k{constructor(){this._accessors=[]}add(t,e){this._accessors.push([t,e])}remove(t){for(let e=this._accessors.length-1;e>=0;--e)if(this._accessors[e][1]===t)return void this._accessors.splice(e,1)}select(t){this._accessors.forEach(e=>{this._isSameGroup(e,t)&&e[1]!==t&&e[1].fireUncheck(t.value)})}_isSameGroup(t,e){return!!t[0].control&&t[0]._parent===e._control._parent&&t[1].name===e.name}}class I{constructor(t,e,n,a){this._renderer=t,this._elementRef=e,this._registry=n,this._injector=a,this.onChange=()=>{},this.onTouched=()=>{}}ngOnInit(){this._control=this._injector.get(m),this._checkName(),this._registry.add(this._control,this)}ngOnDestroy(){this._registry.remove(this)}writeValue(t){this._state=t===this.value,this._renderer.setProperty(this._elementRef.nativeElement,"checked",this._state)}registerOnChange(t){this._fn=t,this.onChange=()=>{t(this.value),this._registry.select(this)}}fireUncheck(t){this.writeValue(t)}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)}_checkName(){this.name&&this.formControlName&&this.name!==this.formControlName&&this._throwNameError(),!this.name&&this.formControlName&&(this.name=this.formControlName)}_throwNameError(){throw new Error('\n      If you define both a name and a formControlName attribute on your radio button, their values\n      must match. Ex: <input type="radio" formControlName="food" name="food">\n    ')}}const N='\n    <div [formGroup]="myGroup">\n      <input formControlName="firstName">\n    </div>\n\n    In your class:\n\n    this.myGroup = new FormGroup({\n       firstName: new FormControl()\n    });',R='\n    <div [formGroup]="myGroup">\n       <div formGroupName="person">\n          <input formControlName="firstName">\n       </div>\n    </div>\n\n    In your class:\n\n    this.myGroup = new FormGroup({\n       person: new FormGroup({ firstName: new FormControl() })\n    });',A='\n    <form>\n       <div ngModelGroup="person">\n          <input [(ngModel)]="person.name" name="firstName">\n       </div>\n    </form>';class E{static controlParentException(){throw new Error(`formControlName must be used with a parent formGroup directive.  You'll want to add a formGroup\n       directive and pass it an existing FormGroup instance (you can create one in your class).\n\n      Example:\n\n      ${N}`)}static ngModelGroupException(){throw new Error(`formControlName cannot be used with an ngModelGroup parent. It is only compatible with parents\n       that also have a "form" prefix: formGroupName, formArrayName, or formGroup.\n\n       Option 1:  Update the parent to be formGroupName (reactive form strategy)\n\n        ${R}\n\n        Option 2: Use ngModel instead of formControlName (template-driven strategy)\n\n        ${A}`)}static missingFormException(){throw new Error(`formGroup expects a FormGroup instance. Please pass one in.\n\n       Example:\n\n       ${N}`)}static groupParentException(){throw new Error(`formGroupName must be used with a parent formGroup directive.  You'll want to add a formGroup\n      directive and pass it an existing FormGroup instance (you can create one in your class).\n\n      Example:\n\n      ${R}`)}static arrayParentException(){throw new Error('formArrayName must be used with a parent formGroup directive.  You\'ll want to add a formGroup\n       directive and pass it an existing FormGroup instance (you can create one in your class).\n\n        Example:\n\n        \n    <div [formGroup]="myGroup">\n      <div formArrayName="cities">\n        <div *ngFor="let city of cityArray.controls; index as i">\n          <input [formControlName]="i">\n        </div>\n      </div>\n    </div>\n\n    In your class:\n\n    this.cityArray = new FormArray([new FormControl(\'SF\')]);\n    this.myGroup = new FormGroup({\n      cities: this.cityArray\n    });')}static disabledAttrWarning(){console.warn("\n      It looks like you're using the disabled attribute with a reactive form directive. If you set disabled to true\n      when you set up this control in your component class, the disabled attribute will actually be set in the DOM for\n      you. We recommend using this approach to avoid 'changed after checked' errors.\n       \n      Example: \n      form = new FormGroup({\n        first: new FormControl({value: 'Nancy', disabled: true}, Validators.required),\n        last: new FormControl('Drew', Validators.required)\n      });\n    ")}static ngModelWarning(t){console.warn(`\n    It looks like you're using ngModel on the same form field as ${t}. \n    Support for using the ngModel input property and ngModelChange event with \n    reactive form directives has been deprecated in Angular v6 and will be removed \n    in Angular v7.\n    \n    For more information on this, see our API docs here:\n    https://angular.io/api/forms/${"formControl"===t?"FormControlDirective":"FormControlName"}#use-with-ngmodel\n    `)}}function D(t,e){return null==t?`${e}`:(e&&"object"==typeof e&&(e="Object"),`${t}: ${e}`.slice(0,50))}class L{constructor(t,e){this._renderer=t,this._elementRef=e,this._optionMap=new Map,this._idCounter=0,this.onChange=t=>{},this.onTouched=()=>{},this._compareWith=a["ɵlooseIdentical"]}set compareWith(t){if("function"!=typeof t)throw new Error(`compareWith must be a function, but received ${JSON.stringify(t)}`);this._compareWith=t}writeValue(t){this.value=t;const e=this._getOptionId(t);null==e&&this._renderer.setProperty(this._elementRef.nativeElement,"selectedIndex",-1);const n=D(e,t);this._renderer.setProperty(this._elementRef.nativeElement,"value",n)}registerOnChange(t){this.onChange=e=>{this.value=this._getOptionValue(e),t(this.value)}}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)}_registerOption(){return(this._idCounter++).toString()}_getOptionId(t){for(const e of Array.from(this._optionMap.keys()))if(this._compareWith(this._optionMap.get(e),t))return e;return null}_getOptionValue(t){const e=function(t){return t.split(":")[0]}(t);return this._optionMap.has(e)?this._optionMap.get(e):t}}class q{constructor(t,e,n){this._element=t,this._renderer=e,this._select=n,this._select&&(this.id=this._select._registerOption())}set ngValue(t){null!=this._select&&(this._select._optionMap.set(this.id,t),this._setElementValue(D(this.id,t)),this._select.writeValue(this._select.value))}set value(t){this._setElementValue(t),this._select&&this._select.writeValue(this._select.value)}_setElementValue(t){this._renderer.setProperty(this._element.nativeElement,"value",t)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}function j(t,e){return null==t?`${e}`:("string"==typeof e&&(e=`'${e}'`),e&&"object"==typeof e&&(e="Object"),`${t}: ${e}`.slice(0,50))}class F{constructor(t,e,n){this._element=t,this._renderer=e,this._select=n,this._select&&(this.id=this._select._registerOption(this))}set ngValue(t){null!=this._select&&(this._value=t,this._setElementValue(j(this.id,t)),this._select.writeValue(this._select.value))}set value(t){this._select?(this._value=t,this._setElementValue(j(this.id,t)),this._select.writeValue(this._select.value)):this._setElementValue(t)}_setElementValue(t){this._renderer.setProperty(this._element.nativeElement,"value",t)}_setSelected(t){this._renderer.setProperty(this._element.nativeElement,"selected",t)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}function z(t,e){return[...e.path,t]}function G(t,e){t||H(e,"Cannot find control with"),e.valueAccessor||H(e,"No value accessor for form control with"),t.validator=C.compose([t.validator,e.validator]),t.asyncValidator=C.composeAsync([t.asyncValidator,e.asyncValidator]),e.valueAccessor.writeValue(t.value),function(t,e){e.valueAccessor.registerOnChange(n=>{t._pendingValue=n,t._pendingChange=!0,t._pendingDirty=!0,"change"===t.updateOn&&B(t,e)})}(t,e),function(t,e){t.registerOnChange((t,n)=>{e.valueAccessor.writeValue(t),n&&e.viewToModelUpdate(t)})}(t,e),function(t,e){e.valueAccessor.registerOnTouched(()=>{t._pendingTouched=!0,"blur"===t.updateOn&&t._pendingChange&&B(t,e),"submit"!==t.updateOn&&t.markAsTouched()})}(t,e),e.valueAccessor.setDisabledState&&t.registerOnDisabledChange(t=>{e.valueAccessor.setDisabledState(t)}),e._rawValidators.forEach(e=>{e.registerOnValidatorChange&&e.registerOnValidatorChange(()=>t.updateValueAndValidity())}),e._rawAsyncValidators.forEach(e=>{e.registerOnValidatorChange&&e.registerOnValidatorChange(()=>t.updateValueAndValidity())})}function B(t,e){t._pendingDirty&&t.markAsDirty(),t.setValue(t._pendingValue,{emitModelToViewChange:!1}),e.viewToModelUpdate(t._pendingValue),t._pendingChange=!1}function V(t,e){null==t&&H(e,"Cannot find control with"),t.validator=C.compose([t.validator,e.validator]),t.asyncValidator=C.composeAsync([t.asyncValidator,e.asyncValidator])}function Y(t){return H(t,"There is no FormControl instance attached to form control element with")}function H(t,e){let n;throw n=t.path.length>1?`path: '${t.path.join(" -> ")}'`:t.path[0]?`name: '${t.path}'`:"unspecified name attribute",new Error(`${e} ${n}`)}function U(t){return null!=t?C.compose(t.map(w)):null}function W(t){return null!=t?C.composeAsync(t.map(T)):null}function K(t,e){if(!t.hasOwnProperty("model"))return!1;const n=t.model;return!!n.isFirstChange()||!Object(a["ɵlooseIdentical"])(e,n.currentValue)}const $=[l,class{constructor(t,e){this._renderer=t,this._elementRef=e,this.onChange=t=>{},this.onTouched=()=>{}}writeValue(t){this._renderer.setProperty(this._elementRef.nativeElement,"value",parseFloat(t))}registerOnChange(t){this.onChange=e=>{t(""==e?null:parseFloat(e))}}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)}},S,L,class{constructor(t,e){this._renderer=t,this._elementRef=e,this._optionMap=new Map,this._idCounter=0,this.onChange=t=>{},this.onTouched=()=>{},this._compareWith=a["ɵlooseIdentical"]}set compareWith(t){if("function"!=typeof t)throw new Error(`compareWith must be a function, but received ${JSON.stringify(t)}`);this._compareWith=t}writeValue(t){let e;if(this.value=t,Array.isArray(t)){const n=t.map(t=>this._getOptionId(t));e=(t,e)=>{t._setSelected(n.indexOf(e.toString())>-1)}}else e=(t,e)=>{t._setSelected(!1)};this._optionMap.forEach(e)}registerOnChange(t){this.onChange=e=>{const n=[];if(e.hasOwnProperty("selectedOptions")){const t=e.selectedOptions;for(let e=0;e<t.length;e++){const a=t.item(e),r=this._getOptionValue(a.value);n.push(r)}}else{const t=e.options;for(let e=0;e<t.length;e++){const a=t.item(e);if(a.selected){const t=this._getOptionValue(a.value);n.push(t)}}}this.value=n,t(n)}}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)}_registerOption(t){const e=(this._idCounter++).toString();return this._optionMap.set(e,t),e}_getOptionId(t){for(const e of Array.from(this._optionMap.keys()))if(this._compareWith(this._optionMap.get(e)._value,t))return e;return null}_getOptionValue(t){const e=function(t){return t.split(":")[0]}(t);return this._optionMap.has(e)?this._optionMap.get(e)._value:t}},I];function Z(t,e){t._syncPendingControls(),e.forEach(t=>{const e=t.control;"submit"===e.updateOn&&e._pendingChange&&(t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1)})}function J(t,e){if(!e)return null;Array.isArray(e)||H(t,"Value accessor was not provided as an array for form control with");let n=void 0,a=void 0,r=void 0;return e.forEach(e=>{var o;e.constructor===u?n=e:(o=e,$.some(t=>o.constructor===t)?(a&&H(t,"More than one built-in value accessor matches form control with"),a=e):(r&&H(t,"More than one custom value accessor matches form control with"),r=e))}),r||a||n||(H(t,"No valid value accessor for form control with"),null)}function X(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}function Q(t){const e=et(t)?t.validators:t;return Array.isArray(e)?U(e):e||null}function tt(t,e){const n=et(e)?e.asyncValidators:t;return Array.isArray(n)?W(n):n||null}function et(t){return null!=t&&!Array.isArray(t)&&"object"==typeof t}class nt{constructor(t,e){this.validator=t,this.asyncValidator=e,this._onCollectionChange=()=>{},this.pristine=!0,this.touched=!1,this._onDisabledChange=[]}get parent(){return this._parent}get valid(){return"VALID"===this.status}get invalid(){return"INVALID"===this.status}get pending(){return"PENDING"==this.status}get disabled(){return"DISABLED"===this.status}get enabled(){return"DISABLED"!==this.status}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this.validator=Q(t)}setAsyncValidators(t){this.asyncValidator=tt(t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(t=>t.markAllAsTouched())}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(t=>{t.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(t=>{t.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status="PENDING",!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){const e=this._parentMarkedDirty(t.onlySelf);this.status="DISABLED",this.errors=null,this._forEachChild(e=>{e.disable(Object.assign({},t,{onlySelf:!0}))}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(Object.assign({},t,{skipPristineCheck:e})),this._onDisabledChange.forEach(t=>t(!0))}enable(t={}){const e=this._parentMarkedDirty(t.onlySelf);this.status="VALID",this._forEachChild(e=>{e.enable(Object.assign({},t,{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors(Object.assign({},t,{skipPristineCheck:e})),this._onDisabledChange.forEach(t=>t(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),"VALID"!==this.status&&"PENDING"!==this.status||this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(e=>e._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?"DISABLED":"VALID"}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status="PENDING";const e=M(this.asyncValidator(this));this._asyncValidationSubscription=e.subscribe(e=>this.setErrors(e,{emitEvent:t}))}}_cancelExistingSubscription(){this._asyncValidationSubscription&&this._asyncValidationSubscription.unsubscribe()}setErrors(t,e={}){this.errors=t,this._updateControlsErrors(!1!==e.emitEvent)}get(t){return function(t,e,n){return null==e?null:(e instanceof Array||(e=e.split(".")),e instanceof Array&&0===e.length?null:e.reduce((t,e)=>t instanceof rt?t.controls.hasOwnProperty(e)?t.controls[e]:null:t instanceof ot&&t.at(e)||null,t))}(this,t)}getError(t,e){const n=e?this.get(e):this;return n&&n.errors?n.errors[t]:null}hasError(t,e){return!!this.getError(t,e)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new a.EventEmitter,this.statusChanges=new a.EventEmitter}_calculateStatus(){return this._allControlsDisabled()?"DISABLED":this.errors?"INVALID":this._anyControlsHaveStatus("PENDING")?"PENDING":this._anyControlsHaveStatus("INVALID")?"INVALID":"VALID"}_anyControlsHaveStatus(t){return this._anyControls(e=>e.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_isBoxedValue(t){return"object"==typeof t&&null!==t&&2===Object.keys(t).length&&"value"in t&&"disabled"in t}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){et(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){return!t&&this._parent&&this._parent.dirty&&!this._parent._anyControlsDirty()}}class at extends nt{constructor(t=null,e,n){super(Q(e),tt(n,e)),this._onChange=[],this._applyFormState(t),this._setUpdateStrategy(e),this.updateValueAndValidity({onlySelf:!0,emitEvent:!1}),this._initObservables()}setValue(t,e={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==e.emitModelToViewChange&&this._onChange.forEach(t=>t(this.value,!1!==e.emitViewToModelChange)),this.updateValueAndValidity(e)}patchValue(t,e={}){this.setValue(t,e)}reset(t=null,e={}){this._applyFormState(t),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_clearChangeFns(){this._onChange=[],this._onDisabledChange=[],this._onCollectionChange=()=>{}}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_forEachChild(t){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(t){this._isBoxedValue(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}}class rt extends nt{constructor(t,e,n){super(Q(e),tt(n,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!1})}registerControl(t,e){return this.controls[t]?this.controls[t]:(this.controls[t]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)}addControl(t,e){this.registerControl(t,e),this.updateValueAndValidity(),this._onCollectionChange()}removeControl(t){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity(),this._onCollectionChange()}setControl(t,e){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],e&&this.registerControl(t,e),this.updateValueAndValidity(),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,e={}){this._checkAllValuesPresent(t),Object.keys(t).forEach(n=>{this._throwIfControlMissing(n),this.controls[n].setValue(t[n],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){Object.keys(t).forEach(n=>{this.controls[n]&&this.controls[n].patchValue(t[n],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}reset(t={},e={}){this._forEachChild((n,a)=>{n.reset(t[a],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this._reduceChildren({},(t,e,n)=>(t[n]=e instanceof at?e.value:e.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(t,e)=>!!e._syncPendingControls()||t);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_throwIfControlMissing(t){if(!Object.keys(this.controls).length)throw new Error("\n        There are no form controls registered with this group yet.  If you're using ngModel,\n        you may want to check next tick (e.g. use setTimeout).\n      ");if(!this.controls[t])throw new Error(`Cannot find form control with name: ${t}.`)}_forEachChild(t){Object.keys(this.controls).forEach(e=>t(this.controls[e],e))}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){let e=!1;return this._forEachChild((n,a)=>{e=e||this.contains(a)&&t(n)}),e}_reduceValue(){return this._reduceChildren({},(t,e,n)=>((e.enabled||this.disabled)&&(t[n]=e.value),t))}_reduceChildren(t,e){let n=t;return this._forEachChild((t,a)=>{n=e(n,t,a)}),n}_allControlsDisabled(){for(const t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_checkAllValuesPresent(t){this._forEachChild((e,n)=>{if(void 0===t[n])throw new Error(`Must supply a value for form control with name: '${n}'.`)})}}class ot extends nt{constructor(t,e,n){super(Q(e),tt(n,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!1})}at(t){return this.controls[t]}push(t){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity(),this._onCollectionChange()}insert(t,e){this.controls.splice(t,0,e),this._registerControl(e),this.updateValueAndValidity()}removeAt(t){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),this.controls.splice(t,1),this.updateValueAndValidity()}setControl(t,e){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),this.controls.splice(t,1),e&&(this.controls.splice(t,0,e),this._registerControl(e)),this.updateValueAndValidity(),this._onCollectionChange()}get length(){return this.controls.length}setValue(t,e={}){this._checkAllValuesPresent(t),t.forEach((t,n)=>{this._throwIfControlMissing(n),this.at(n).setValue(t,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){t.forEach((t,n)=>{this.at(n)&&this.at(n).patchValue(t,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}reset(t=[],e={}){this._forEachChild((n,a)=>{n.reset(t[a],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this.controls.map(t=>t instanceof at?t.value:t.getRawValue())}clear(){this.controls.length<1||(this._forEachChild(t=>t._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity())}_syncPendingControls(){let t=this.controls.reduce((t,e)=>!!e._syncPendingControls()||t,!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_throwIfControlMissing(t){if(!this.controls.length)throw new Error("\n        There are no form controls registered with this array yet.  If you're using ngModel,\n        you may want to check next tick (e.g. use setTimeout).\n      ");if(!this.at(t))throw new Error(`Cannot find form control at index ${t}`)}_forEachChild(t){this.controls.forEach((e,n)=>{t(e,n)})}_updateValue(){this.value=this.controls.filter(t=>t.enabled||this.disabled).map(t=>t.value)}_anyControls(t){return this.controls.some(e=>e.enabled&&t(e))}_setUpControls(){this._forEachChild(t=>this._registerControl(t))}_checkAllValuesPresent(t){this._forEachChild((e,n)=>{if(void 0===t[n])throw new Error(`Must supply a value for form control at index: ${n}.`)})}_allControlsDisabled(){for(const t of this.controls)if(t.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)}}const it=(()=>Promise.resolve(null))();class st extends f{constructor(t,e){super(),this.submitted=!1,this._directives=[],this.ngSubmit=new a.EventEmitter,this.form=new rt({},U(t),W(e))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(t){it.then(()=>{const e=this._findContainer(t.path);t.control=e.registerControl(t.name,t.control),G(t.control,t),t.control.updateValueAndValidity({emitEvent:!1}),this._directives.push(t)})}getControl(t){return this.form.get(t.path)}removeControl(t){it.then(()=>{const e=this._findContainer(t.path);e&&e.removeControl(t.name),X(this._directives,t)})}addFormGroup(t){it.then(()=>{const e=this._findContainer(t.path),n=new rt({});V(n,t),e.registerControl(t.name,n),n.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(t){it.then(()=>{const e=this._findContainer(t.path);e&&e.removeControl(t.name)})}getFormGroup(t){return this.form.get(t.path)}updateModel(t,e){it.then(()=>{this.form.get(t.path).setValue(e)})}setValue(t){this.control.setValue(t)}onSubmit(t){return this.submitted=!0,Z(this.form,this._directives),this.ngSubmit.emit(t),!1}onReset(){this.resetForm()}resetForm(t){this.form.reset(t),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(t){return t.pop(),t.length?this.form.get(t):this.form}}class ct{static modelParentException(){throw new Error(`\n      ngModel cannot be used to register form controls with a parent formGroup directive.  Try using\n      formGroup's partner directive "formControlName" instead.  Example:\n\n      ${N}\n\n      Or, if you'd like to avoid registering this form control, indicate that it's standalone in ngModelOptions:\n\n      Example:\n\n      \n    <div [formGroup]="myGroup">\n       <input formControlName="firstName">\n       <input [(ngModel)]="showMoreControls" [ngModelOptions]="{standalone: true}">\n    </div>\n  `)}static formGroupNameException(){throw new Error(`\n      ngModel cannot be used to register form controls with a parent formGroupName or formArrayName directive.\n\n      Option 1: Use formControlName instead of ngModel (reactive strategy):\n\n      ${R}\n\n      Option 2:  Update ngModel's parent be ngModelGroup (template-driven strategy):\n\n      ${A}`)}static missingNameException(){throw new Error('If ngModel is used within a form tag, either the name attribute must be set or the form\n      control must be defined as \'standalone\' in ngModelOptions.\n\n      Example 1: <input [(ngModel)]="person.firstName" name="first">\n      Example 2: <input [(ngModel)]="person.firstName" [ngModelOptions]="{standalone: true}">')}static modelGroupParentException(){throw new Error(`\n      ngModelGroup cannot be used with a parent formGroup directive.\n\n      Option 1: Use formGroupName instead of ngModelGroup (reactive strategy):\n\n      ${R}\n\n      Option 2:  Use a regular form tag instead of the formGroup directive (template-driven strategy):\n\n      ${A}`)}static ngFormWarning(){console.warn("\n    It looks like you're using 'ngForm'.\n\n    Support for using the 'ngForm' element selector has been deprecated in Angular v6 and will be removed\n    in Angular v9.\n\n    Use 'ng-form' instead.\n\n    Before:\n    <ngForm #myForm=\"ngForm\">\n\n    After:\n    <ng-form #myForm=\"ngForm\">\n    ")}}const lt=new a.InjectionToken("NgFormSelectorWarning");class dt extends f{ngOnInit(){this._checkParentType(),this.formDirective.addFormGroup(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormGroup(this)}get control(){return this.formDirective.getFormGroup(this)}get path(){return z(this.name,this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}get validator(){return U(this._validators)}get asyncValidator(){return W(this._asyncValidators)}_checkParentType(){}}class ut extends dt{constructor(t,e,n){super(),this._parent=t,this._validators=e,this._asyncValidators=n}_checkParentType(){this._parent instanceof ut||this._parent instanceof st||ct.modelGroupParentException()}}const gt=(()=>Promise.resolve(null))();class ft extends m{constructor(t,e,n,r){super(),this.control=new at,this._registered=!1,this.update=new a.EventEmitter,this._parent=t,this._rawValidators=e||[],this._rawAsyncValidators=n||[],this.valueAccessor=J(this,r)}ngOnChanges(t){this._checkForErrors(),this._registered||this._setUpControl(),"isDisabled"in t&&this._updateDisabled(t),K(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._parent?z(this.name,this._parent):[this.name]}get formDirective(){return this._parent?this._parent.formDirective:null}get validator(){return U(this._rawValidators)}get asyncValidator(){return W(this._rawAsyncValidators)}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){G(this.control,this),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){!(this._parent instanceof ut)&&this._parent instanceof dt?ct.formGroupNameException():this._parent instanceof ut||this._parent instanceof st||ct.modelParentException()}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()||this.name||ct.missingNameException()}_updateValue(t){gt.then(()=>{this.control.setValue(t,{emitViewToModelChange:!1})})}_updateDisabled(t){const e=t.isDisabled.currentValue,n=""===e||e&&"false"!==e;gt.then(()=>{n&&!this.control.disabled?this.control.disable():!n&&this.control.disabled&&this.control.enable()})}}class pt{}const mt=new a.InjectionToken("NgModelWithFormControlWarning");class ht extends f{constructor(t,e){super(),this._validators=t,this._asyncValidators=e,this.submitted=!1,this.directives=[],this.form=null,this.ngSubmit=new a.EventEmitter}ngOnChanges(t){this._checkFormPresent(),t.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations())}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(t){const e=this.form.get(t.path);return G(e,t),e.updateValueAndValidity({emitEvent:!1}),this.directives.push(t),e}getControl(t){return this.form.get(t.path)}removeControl(t){X(this.directives,t)}addFormGroup(t){const e=this.form.get(t.path);V(e,t),e.updateValueAndValidity({emitEvent:!1})}removeFormGroup(t){}getFormGroup(t){return this.form.get(t.path)}addFormArray(t){const e=this.form.get(t.path);V(e,t),e.updateValueAndValidity({emitEvent:!1})}removeFormArray(t){}getFormArray(t){return this.form.get(t.path)}updateModel(t,e){this.form.get(t.path).setValue(e)}onSubmit(t){return this.submitted=!0,Z(this.form,this.directives),this.ngSubmit.emit(t),!1}onReset(){this.resetForm()}resetForm(t){this.form.reset(t),this.submitted=!1}_updateDomValue(){this.directives.forEach(t=>{const e=this.form.get(t.path);t.control!==e&&(function(t,e){e.valueAccessor.registerOnChange(()=>Y(e)),e.valueAccessor.registerOnTouched(()=>Y(e)),e._rawValidators.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(null)}),e._rawAsyncValidators.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(null)}),t&&t._clearChangeFns()}(t.control,t),e&&G(e,t),t.control=e)}),this.form._updateTreeValidity({emitEvent:!1})}_updateRegistrations(){this.form._registerOnCollectionChange(()=>this._updateDomValue()),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{}),this._oldForm=this.form}_updateValidators(){const t=U(this._validators);this.form.validator=C.compose([this.form.validator,t]);const e=W(this._asyncValidators);this.form.asyncValidator=C.composeAsync([this.form.asyncValidator,e])}_checkFormPresent(){this.form||E.missingFormException()}}class bt extends dt{constructor(t,e,n){super(),this._parent=t,this._validators=e,this._asyncValidators=n}_checkParentType(){_t(this._parent)&&E.groupParentException()}}class yt extends f{constructor(t,e,n){super(),this._parent=t,this._validators=e,this._asyncValidators=n}ngOnInit(){this._checkParentType(),this.formDirective.addFormArray(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormArray(this)}get control(){return this.formDirective.getFormArray(this)}get formDirective(){return this._parent?this._parent.formDirective:null}get path(){return z(this.name,this._parent)}get validator(){return U(this._validators)}get asyncValidator(){return W(this._asyncValidators)}_checkParentType(){_t(this._parent)&&E.arrayParentException()}}function _t(t){return!(t instanceof bt||t instanceof ht||t instanceof yt)}let Ot=(()=>{class t extends m{constructor(t,e,n,r,o){super(),this._ngModelWarningConfig=o,this._added=!1,this.update=new a.EventEmitter,this._ngModelWarningSent=!1,this._parent=t,this._rawValidators=e||[],this._rawAsyncValidators=n||[],this.valueAccessor=J(this,r)}set isDisabled(t){E.disabledAttrWarning()}ngOnChanges(e){var n,r;this._added||this._setUpControl(),K(e,this.viewModel)&&("formControlName",n=t,this,r=this._ngModelWarningConfig,Object(a.isDevMode)()&&"never"!==r&&((null!==r&&"once"!==r||n._ngModelWarningSentOnce)&&("always"!==r||this._ngModelWarningSent)||(E.ngModelWarning("formControlName"),n._ngModelWarningSentOnce=!0,this._ngModelWarningSent=!0)),this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}get path(){return z(this.name,this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}get validator(){return U(this._rawValidators)}get asyncValidator(){return W(this._rawAsyncValidators)}_checkParentType(){!(this._parent instanceof bt)&&this._parent instanceof dt?E.ngModelGroupException():this._parent instanceof bt||this._parent instanceof ht||this._parent instanceof yt||E.controlParentException()}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this._added=!0}}return t._ngModelWarningSentOnce=!1,t})();class vt{get required(){return this._required}set required(t){this._required=null!=t&&!1!==t&&"false"!==`${t}`,this._onChange&&this._onChange()}validate(t){return this.required?C.required(t):null}registerOnValidatorChange(t){this._onChange=t}}class Ct{}class Pt{group(t,e=null){const n=this._reduceControls(t);let a=null,r=null,o=void 0;return null!=e&&(function(t){return void 0!==t.asyncValidators||void 0!==t.validators||void 0!==t.updateOn}(e)?(a=null!=e.validators?e.validators:null,r=null!=e.asyncValidators?e.asyncValidators:null,o=null!=e.updateOn?e.updateOn:void 0):(a=null!=e.validator?e.validator:null,r=null!=e.asyncValidator?e.asyncValidator:null)),new rt(n,{asyncValidators:r,updateOn:o,validators:a})}control(t,e,n){return new at(t,e,n)}array(t,e,n){const a=t.map(t=>this._createControl(t));return new ot(a,e,n)}_reduceControls(t){const e={};return Object.keys(t).forEach(n=>{e[n]=this._createControl(t[n])}),e}_createControl(t){return t instanceof at||t instanceof rt||t instanceof ot?t:Array.isArray(t)?this.control(t[0],t.length>1?t[1]:null,t.length>2?t[2]:null):this.control(t)}}class Mt{static withConfig(t){return{ngModule:Mt,providers:[{provide:lt,useValue:t.warnOnDeprecatedNgFormSelector}]}}}class xt{static withConfig(t){return{ngModule:xt,providers:[{provide:mt,useValue:t.warnOnNgModelWithFormControl}]}}}},sEFX:function(t,e,n){"use strict";var a=n("AO7/"),r=n("9d/t");t.exports=a?{}.toString:function(){return"[object "+r(this)+"]"}},sEf8:function(t,e){t.exports=function(t){return function(e){return t(e)}}},sEfC:function(t,e,n){var a=n("GoyQ"),r=n("QIyF"),o=n("tLB3"),i=Math.max,s=Math.min;t.exports=function(t,e,n){var c,l,d,u,g,f,p=0,m=!1,h=!1,b=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function y(e){var n=c,a=l;return c=l=void 0,p=e,u=t.apply(a,n)}function _(t){return p=t,g=setTimeout(v,e),m?y(t):u}function O(t){var n=t-f;return void 0===f||n>=e||n<0||h&&t-p>=d}function v(){var t=r();if(O(t))return C(t);g=setTimeout(v,function(t){var n=e-(t-f);return h?s(n,d-(t-p)):n}(t))}function C(t){return g=void 0,b&&c?y(t):(c=l=void 0,u)}function P(){var t=r(),n=O(t);if(c=arguments,l=this,f=t,n){if(void 0===g)return _(f);if(h)return clearTimeout(g),g=setTimeout(v,e),y(f)}return void 0===g&&(g=setTimeout(v,e)),u}return e=o(e)||0,a(n)&&(m=!!n.leading,d=(h="maxWait"in n)?i(o(n.maxWait)||0,e):d,b="trailing"in n?!!n.trailing:b),P.cancel=function(){void 0!==g&&clearTimeout(g),p=0,c=f=l=g=void 0},P.flush=function(){return void 0===g?u:C(r())},P}},sLuX:function(t,e,n){"use strict";var a=n("8Y7J"),r=n("25BL"),o=n("uIqm");n("FSuO"),n("a0VL"),n.d(e,"a",(function(){return i})),n.d(e,"b",(function(){return s}));var i=a["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function s(t){return a["ɵvid"](0,[a["ɵqud"](402653184,1,{table:0}),(t()(),a["ɵeld"](1,0,null,null,1,"cd-table",[["columnMode","flex"]],null,null,null,r.b,r.a)),a["ɵdid"](2,2867200,[[1,4],["table",4]],0,o.a,[a.NgZone,a.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],toolHeader:[3,"toolHeader"],header:[4,"header"],footer:[5,"footer"],limit:[6,"limit"],autoReload:[7,"autoReload"],autoSave:[8,"autoSave"],customCss:[9,"customCss"]},null)],(function(t,e){var n=e.component;t(e,2,0,n.tableData,n.columns,"flex",!1,!1,!1,0,n.autoReload,!1,n.customCss)}),null)}},sMBO:function(t,e,n){var a=n("g6v/"),r=n("m/L8").f,o=Function.prototype,i=o.toString,s=/^\s*function ([^ (]*)/;!a||"name"in o||r(o,"name",{configurable:!0,get:function(){try{return i.call(this).match(s)[1]}catch(t){return""}}})},sVev:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));const a=(()=>{function t(){return Error.call(this),this.message="no elements in sequence",this.name="EmptyError",this}return t.prototype=Object.create(Error.prototype),t})()},sb0X:function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var a=n("8Y7J"),r=n("s7LF"),o=n("oxzT"),i=n("LvDl");class s{constructor(t){this.elRef=t,this.type="submit",this.disabled=!1,this.submitAction=new a.EventEmitter,this.loading=!1,this.icons=o.a}ngOnInit(){this.form.statusChanges.subscribe(()=>{i.has(this.form.errors,"cdSubmitButton")&&(this.loading=!1,i.unset(this.form.errors,"cdSubmitButton"),this.form instanceof r.a&&this.form.updateValueAndValidity())})}submit(t){this.focusButton(),this.form instanceof r.l&&this.form.onSubmit(t),this.form.invalid?this.focusInvalid():(this.loading=!0,this.submitAction.emit())}focusButton(){this.elRef.nativeElement.offsetParent.querySelector(`button[type="${this.type}"]`).focus()}focusInvalid(){const t=this.elRef.nativeElement.offsetParent.querySelector("input.ng-invalid, select.ng-invalid");t&&t.focus()}}},seXi:function(t,e,n){var a=n("qZTm"),r=Object.prototype.hasOwnProperty;t.exports=function(t,e,n,o,i,s){var c=1&n,l=a(t),d=l.length;if(d!=a(e).length&&!c)return!1;for(var u=d;u--;){var g=l[u];if(!(c?g in e:r.call(e,g)))return!1}var f=s.get(t);if(f&&s.get(e))return f==e;var p=!0;s.set(t,e),s.set(e,t);for(var m=c;++u<d;){var h=t[g=l[u]],b=e[g];if(o)var y=c?o(b,h,g,e,t,s):o(h,b,g,t,e,s);if(!(void 0===y?h===b||i(h,b,n,o,s):y)){p=!1;break}m||(m="constructor"==g)}if(p&&!m){var _=t.constructor,O=e.constructor;_!=O&&"constructor"in t&&"constructor"in e&&!("function"==typeof _&&_ instanceof _&&"function"==typeof O&&O instanceof O)&&(p=!1)}return s.delete(t),s.delete(e),p}},shjB:function(t,e){t.exports=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}},sne2:function(t,e,n){"use strict";n.d(e,"c",(function(){return o})),n.d(e,"e",(function(){return i})),n.d(e,"a",(function(){return s})),n.d(e,"b",(function(){return c})),n.d(e,"d",(function(){return l}));var a=n("8Y7J"),r=n("GiVz");let o=(()=>{class t{}return t.organization="ceph",t.projectName="Ceph Dashboard",t.license="Free software (LGPL 2.1).",t})();var i=function(t){return t.CREATE="create",t.EDIT="edit",t.UPDATE="update",t.REMOVE="remove",t.DELETE="delete",t.ADD="add",t.COPY="copy",t.CLONE="clone",t.RECREATE="recreate",t.EXPIRE="expire",t}({}),s=function(t){return t.CREATE="Create",t.DELETE="Delete",t.ADD="Add",t.REMOVE="Remove",t.EDIT="Edit",t.CANCEL="Cancel",t.COPY="Copy",t.CLONE="Clone",t.UPDATE="Update",t.EVICT="Evict",t.SHOW="Show",t.RECREATE="Recreate",t.EXPIRE="Expire",t}({});let c=(()=>{class t{constructor(t){this.i18n=t,this.CREATE=this.i18n("Create"),this.DELETE=this.i18n("Delete"),this.ADD=this.i18n("Add"),this.SET=this.i18n("Set"),this.REMOVE=this.i18n("Remove"),this.UNSET=this.i18n("Unset"),this.EDIT=this.i18n("Edit"),this.UPDATE=this.i18n("Update"),this.CANCEL=this.i18n("Cancel"),this.CLONE=this.i18n("Clone"),this.COPY=this.i18n("Copy"),this.DEEP_SCRUB=this.i18n("Deep Scrub"),this.DESTROY=this.i18n("Destroy"),this.EVICT=this.i18n("Evict"),this.FLATTEN=this.i18n("Flatten"),this.MARK_DOWN=this.i18n("Mark Down"),this.MARK_IN=this.i18n("Mark In"),this.MARK_LOST=this.i18n("Mark Lost"),this.MARK_OUT=this.i18n("Mark Out"),this.PROTECT=this.i18n("Protect"),this.PURGE=this.i18n("Purge"),this.RENAME=this.i18n("Rename"),this.RESTORE=this.i18n("Restore"),this.REWEIGHT=this.i18n("Reweight"),this.ROLLBACK=this.i18n("Rollback"),this.SCRUB=this.i18n("Scrub"),this.SHOW=this.i18n("Show"),this.TRASH=this.i18n("Move to Trash"),this.UNPROTECT=this.i18n("Unprotect"),this.CHANGE=this.i18n("Change"),this.RECREATE=this.i18n("Recreate"),this.EXPIRE=this.i18n("Expire")}}return t.ngInjectableDef=a["ɵɵdefineInjectable"]({factory:function(){return new t(a["ɵɵinject"](r.a))},token:t,providedIn:"root"}),t})(),l=(()=>{class t{constructor(t){this.i18n=t,this.CREATED=this.i18n("Created"),this.DELETED=this.i18n("Deleted"),this.ADDED=this.i18n("Added"),this.REMOVED=this.i18n("Removed"),this.EDITED=this.i18n("Edited"),this.CANCELED=this.i18n("Canceled"),this.CLONED=this.i18n("Cloned"),this.COPIED=this.i18n("Copied"),this.DEEP_SCRUBBED=this.i18n("Deep Scrubbed"),this.DESTROYED=this.i18n("Destroyed"),this.FLATTENED=this.i18n("Flattened"),this.MARKED_DOWN=this.i18n("Marked Down"),this.MARKED_IN=this.i18n("Marked In"),this.MARKED_LOST=this.i18n("Marked Lost"),this.MARKED_OUT=this.i18n("Marked Out"),this.PROTECTED=this.i18n("Protected"),this.PURGED=this.i18n("Purged"),this.RENAMED=this.i18n("Renamed"),this.RESTORED=this.i18n("Restored"),this.REWEIGHTED=this.i18n("Reweighted"),this.ROLLED_BACK=this.i18n("Rolled back"),this.SCRUBBED=this.i18n("Scrubbed"),this.SHOWED=this.i18n("Showed"),this.TRASHED=this.i18n("Moved to Trash"),this.UNPROTECTED=this.i18n("Unprotected"),this.CHANGE=this.i18n("Change"),this.RECREATED=this.i18n("Recreated"),this.EXPIRED=this.i18n("Expired")}}return t.ngInjectableDef=a["ɵɵdefineInjectable"]({factory:function(){return new t(a["ɵɵinject"](r.a))},token:t,providedIn:"root"}),t})()},sp3z:function(t,e,n){!function(t){"use strict";t.defineLocale("lo",{months:"ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),monthsShort:"ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),weekdays:"ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),weekdaysShort:"ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),weekdaysMin:"ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"ວັນdddd D MMMM YYYY HH:mm"},meridiemParse:/ຕອນເຊົ້າ|ຕອນແລງ/,isPM:function(t){return"ຕອນແລງ"===t},meridiem:function(t,e,n){return t<12?"ຕອນເຊົ້າ":"ຕອນແລງ"},calendar:{sameDay:"[ມື້ນີ້ເວລາ] LT",nextDay:"[ມື້ອື່ນເວລາ] LT",nextWeek:"[ວັນ]dddd[ໜ້າເວລາ] LT",lastDay:"[ມື້ວານນີ້ເວລາ] LT",lastWeek:"[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT",sameElse:"L"},relativeTime:{future:"ອີກ %s",past:"%sຜ່ານມາ",s:"ບໍ່ເທົ່າໃດວິນາທີ",ss:"%d ວິນາທີ",m:"1 ນາທີ",mm:"%d ນາທີ",h:"1 ຊົ່ວໂມງ",hh:"%d ຊົ່ວໂມງ",d:"1 ມື້",dd:"%d ມື້",M:"1 ເດືອນ",MM:"%d ເດືອນ",y:"1 ປີ",yy:"%d ປີ"},dayOfMonthOrdinalParse:/(ທີ່)\d{1,2}/,ordinal:function(t){return"ທີ່"+t}})}(n("wd/R"))},syrc:function(t,e,n){var a=n("mrSG").__decorate,r=n("mrSG").__metadata;Object.defineProperty(e,"__esModule",{value:!0});var o=n("8Y7J"),i=n("5tze");n("bpWZ"),n("czA5"),e.DataTableBodyRowComponent=function(){function t(t,e,n,a){this.differs=t,this.scrollbarHelper=e,this.cd=n,this.treeStatus="collapsed",this.activate=new o.EventEmitter,this.treeAction=new o.EventEmitter,this._groupStyles={left:{},center:{},right:{}},this._element=a.nativeElement,this._rowDiffer=t.find({}).create()}return Object.defineProperty(t.prototype,"columns",{get:function(){return this._columns},set:function(t){this._columns=t,this.recalculateColumns(t),this.buildStylesByGroup()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"innerWidth",{get:function(){return this._innerWidth},set:function(t){if(this._columns){var e=i.columnsByPin(this._columns);this._columnGroupWidths=i.columnGroupWidths(e,e)}this._innerWidth=t,this.recalculateColumns(),this.buildStylesByGroup()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"offsetX",{get:function(){return this._offsetX},set:function(t){this._offsetX=t,this.buildStylesByGroup()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"cssClass",{get:function(){var t="datatable-body-row";if(this.isSelected&&(t+=" active"),this.rowIndex%2!=0&&(t+=" datatable-row-odd"),this.rowIndex%2==0&&(t+=" datatable-row-even"),this.rowClass){var e=this.rowClass(this.row);if("string"==typeof e)t+=" "+e;else if("object"==typeof e)for(var n=0,a=Object.keys(e);n<a.length;n++){var r=a[n];!0===e[r]&&(t+=" "+r)}}return t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"columnsTotalWidths",{get:function(){return this._columnGroupWidths.total},enumerable:!0,configurable:!0}),t.prototype.ngDoCheck=function(){this._rowDiffer.diff(this.row)&&this.cd.markForCheck()},t.prototype.trackByGroups=function(t,e){return e.type},t.prototype.columnTrackingFn=function(t,e){return e.$$id},t.prototype.buildStylesByGroup=function(){this._groupStyles.left=this.calcStylesByGroup("left"),this._groupStyles.center=this.calcStylesByGroup("center"),this._groupStyles.right=this.calcStylesByGroup("right"),this.cd.markForCheck()},t.prototype.calcStylesByGroup=function(t){var e=this._columnGroupWidths,n=this.offsetX,a={width:e[t]+"px"};if("left"===t)i.translateXY(a,n,0);else if("right"===t){var r=parseInt(this.innerWidth+"",0);i.translateXY(a,-1*(e.total-r-n+this.scrollbarHelper.width),0)}return a},t.prototype.onActivate=function(t,e){t.cellIndex=e,t.rowElement=this._element,this.activate.emit(t)},t.prototype.onKeyDown=function(t){var e=t.keyCode;(e===i.Keys.return||e===i.Keys.down||e===i.Keys.up||e===i.Keys.left||e===i.Keys.right)&&t.target===this._element&&(t.preventDefault(),t.stopPropagation(),this.activate.emit({type:"keydown",event:t,row:this.row,rowElement:this._element}))},t.prototype.onMouseenter=function(t){this.activate.emit({type:"mouseenter",event:t,row:this.row,rowElement:this._element})},t.prototype.recalculateColumns=function(t){void 0===t&&(t=this.columns),this._columns=t;var e=i.columnsByPin(this._columns);this._columnsByPin=i.columnsByPinArr(this._columns),this._columnGroupWidths=i.columnGroupWidths(e,this._columns)},t.prototype.onTreeAction=function(){this.treeAction.emit()},a([o.Input(),r("design:type",Array),r("design:paramtypes",[Array])],t.prototype,"columns",null),a([o.Input(),r("design:type",Number),r("design:paramtypes",[Number])],t.prototype,"innerWidth",null),a([o.Input(),r("design:type",Boolean)],t.prototype,"expanded",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"rowClass",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"row",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"group",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"isSelected",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"rowIndex",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"displayCheck",void 0),a([o.Input(),r("design:type",String)],t.prototype,"treeStatus",void 0),a([o.Input(),r("design:type",Number),r("design:paramtypes",[Number])],t.prototype,"offsetX",null),a([o.HostBinding("class"),r("design:type",Object),r("design:paramtypes",[])],t.prototype,"cssClass",null),a([o.HostBinding("style.height.px"),o.Input(),r("design:type",Number)],t.prototype,"rowHeight",void 0),a([o.HostBinding("style.width.px"),r("design:type",String),r("design:paramtypes",[])],t.prototype,"columnsTotalWidths",null),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"activate",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"treeAction",void 0),a([o.HostListener("keydown",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],t.prototype,"onKeyDown",null),a([o.HostListener("mouseenter",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],t.prototype,"onMouseenter",null),a([o.Component({selector:"datatable-body-row",changeDetection:o.ChangeDetectionStrategy.OnPush,template:'\n    <div\n      *ngFor="let colGroup of _columnsByPin; let i = index; trackBy: trackByGroups"\n      class="datatable-row-{{colGroup.type}} datatable-row-group"\n      [ngStyle]="_groupStyles[colGroup.type]">\n      <datatable-body-cell\n        *ngFor="let column of colGroup.columns; let ii = index; trackBy: columnTrackingFn"\n        tabindex="-1"\n        [row]="row"\n        [group]="group"\n        [expanded]="expanded"\n        [isSelected]="isSelected"\n        [rowIndex]="rowIndex"\n        [column]="column"\n        [rowHeight]="rowHeight"\n        [displayCheck]="displayCheck"\n        [treeStatus]="treeStatus"\n        (activate)="onActivate($event, ii)"\n        (treeAction)="onTreeAction()">\n      </datatable-body-cell>\n    </div>\n  '})],t)}()},"t/zF":function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{constructor(t,e){this.name=t,this.metadata=e}}},t2Dn:function(t,e,n){var a=n("hypo"),r=n("ljhN");t.exports=function(t,e,n){(void 0===n||r(t[e],n))&&(void 0!==n||e in t)||a(t,e,n)}},tAZD:function(t,e,n){var a,r,o;!function(i){if("object"==typeof t.exports){var s=i(0,e);void 0!==s&&(t.exports=s)}else r=[n,e],void 0===(o="function"==typeof(a=i)?a.apply(e,r):a)||(t.exports=o)}((function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=void 0;e.default=["en",[["a","p"],["AM","PM"],n],[["AM","PM"],n,n],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],n,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],n,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",n,"{1} 'at' {0}",n],[".",",",";","%","+","-","E","×","‰","∞","NaN",":"],["#,##0.###","#,##0%","¤#,##0.00","#E0"],"$","US Dollar",{},function(t){var e=Math.floor(Math.abs(t)),n=t.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===n?1:5}]}))},tFKq:function(t,e,n){var a=n("mrSG").__assign,r=n("mrSG").__decorate,o=n("mrSG").__metadata;Object.defineProperty(e,"__esModule",{value:!0});var i=n("8Y7J"),s=n("qwkt"),c=n("5tze");e.DataTableHeaderComponent=function(){function t(t){this.cd=t,this.sort=new i.EventEmitter,this.reorder=new i.EventEmitter,this.resize=new i.EventEmitter,this.select=new i.EventEmitter,this.columnContextmenu=new i.EventEmitter(!1),this._styleByGroup={left:{},center:{},right:{}}}return Object.defineProperty(t.prototype,"innerWidth",{get:function(){return this._innerWidth},set:function(t){if(this._innerWidth=t,this._columns){var e=c.columnsByPin(this._columns);this._columnGroupWidths=c.columnGroupWidths(e,this._columns),this.setStylesByGroup()}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"headerHeight",{get:function(){return this._headerHeight},set:function(t){this._headerHeight="auto"!==t?t+"px":t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"columns",{get:function(){return this._columns},set:function(t){this._columns=t;var e=c.columnsByPin(t);this._columnsByPin=c.columnsByPinArr(t),this._columnGroupWidths=c.columnGroupWidths(e,t),this.setStylesByGroup()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"offsetX",{get:function(){return this._offsetX},set:function(t){this._offsetX=t,this.setStylesByGroup()},enumerable:!0,configurable:!0}),t.prototype.onLongPressStart=function(t){var e=t.event;t.model.dragging=!0,this.dragEventTarget=e},t.prototype.onLongPressEnd=function(t){var e=this,n=t.model;this.dragEventTarget=t.event,setTimeout((function(){var t=e._columns.find((function(t){return t.$$id===n.$$id}));t&&(t.dragging=!1)}),5)},Object.defineProperty(t.prototype,"headerWidth",{get:function(){return this.scrollbarH?this.innerWidth+"px":"100%"},enumerable:!0,configurable:!0}),t.prototype.trackByGroups=function(t,e){return e.type},t.prototype.columnTrackingFn=function(t,e){return e.$$id},t.prototype.onColumnResized=function(t,e){t<=e.minWidth?t=e.minWidth:t>=e.maxWidth&&(t=e.maxWidth),this.resize.emit({column:e,prevValue:e.width,newValue:t})},t.prototype.onColumnReordered=function(t){var e=t.prevIndex,n=t.newIndex,a=t.model,r=this.getColumn(n);r.isTarget=!1,r.targetMarkerContext=void 0,this.reorder.emit({column:a,prevValue:e,newValue:n})},t.prototype.onTargetChanged=function(t){var e=t.prevIndex,n=t.newIndex,a=t.initialIndex;if(e||0===e){var r=this.getColumn(e);r.isTarget=!1,r.targetMarkerContext=void 0}if(n||0===n){var o=this.getColumn(n);o.isTarget=!0,a!==n&&(o.targetMarkerContext={class:"targetMarker ".concat(a>n?"dragFromRight":"dragFromLeft")})}},t.prototype.getColumn=function(t){var e=this._columnsByPin[0].columns.length;if(t<e)return this._columnsByPin[0].columns[t];var n=this._columnsByPin[1].columns.length;return t<e+n?this._columnsByPin[1].columns[t-e]:this._columnsByPin[2].columns[t-e-n]},t.prototype.onSort=function(t){var e=t.column,n=t.prevValue,a=t.newValue;if(!e.dragging){var r=this.calcNewSorts(e,n,a);this.sort.emit({sorts:r,column:e,prevValue:n,newValue:a})}},t.prototype.calcNewSorts=function(t,e,n){var r=0;this.sorts||(this.sorts=[]);var o=this.sorts.map((function(e,n){return(e=a({},e)).prop===t.prop&&(r=n),e}));return void 0===n?o.splice(r,1):e?o[r].dir=n:(this.sortType===s.SortType.single&&o.splice(0,this.sorts.length),o.push({dir:n,prop:t.prop})),o},t.prototype.setStylesByGroup=function(){this._styleByGroup.left=this.calcStylesByGroup("left"),this._styleByGroup.center=this.calcStylesByGroup("center"),this._styleByGroup.right=this.calcStylesByGroup("right"),this.cd.detectChanges()},t.prototype.calcStylesByGroup=function(t){var e=this._columnGroupWidths,n={width:e[t]+"px"};return"center"===t?c.translateXY(n,-1*this.offsetX,0):"right"===t&&c.translateXY(n,-1*(e.total-this.innerWidth),0),n},r([i.Input(),o("design:type",Object)],t.prototype,"sortAscendingIcon",void 0),r([i.Input(),o("design:type",Object)],t.prototype,"sortDescendingIcon",void 0),r([i.Input(),o("design:type",Boolean)],t.prototype,"scrollbarH",void 0),r([i.Input(),o("design:type",Boolean)],t.prototype,"dealsWithGroup",void 0),r([i.Input(),o("design:type",Object)],t.prototype,"targetMarkerTemplate",void 0),r([i.Input(),o("design:type",Number),o("design:paramtypes",[Number])],t.prototype,"innerWidth",null),r([i.Input(),o("design:type",Array)],t.prototype,"sorts",void 0),r([i.Input(),o("design:type",String)],t.prototype,"sortType",void 0),r([i.Input(),o("design:type",Boolean)],t.prototype,"allRowsSelected",void 0),r([i.Input(),o("design:type",String)],t.prototype,"selectionType",void 0),r([i.Input(),o("design:type",Boolean)],t.prototype,"reorderable",void 0),r([i.HostBinding("style.height"),i.Input(),o("design:type",Object),o("design:paramtypes",[Object])],t.prototype,"headerHeight",null),r([i.Input(),o("design:type",Array),o("design:paramtypes",[Array])],t.prototype,"columns",null),r([i.Input(),o("design:type",Number),o("design:paramtypes",[Number])],t.prototype,"offsetX",null),r([i.Output(),o("design:type",i.EventEmitter)],t.prototype,"sort",void 0),r([i.Output(),o("design:type",i.EventEmitter)],t.prototype,"reorder",void 0),r([i.Output(),o("design:type",i.EventEmitter)],t.prototype,"resize",void 0),r([i.Output(),o("design:type",i.EventEmitter)],t.prototype,"select",void 0),r([i.Output(),o("design:type",Object)],t.prototype,"columnContextmenu",void 0),r([i.HostBinding("style.width"),o("design:type",String),o("design:paramtypes",[])],t.prototype,"headerWidth",null),r([i.Component({selector:"datatable-header",template:'\n    <div\n      orderable\n      (reorder)="onColumnReordered($event)"\n      (targetChanged)="onTargetChanged($event)"\n      [style.width.px]="_columnGroupWidths.total"\n      class="datatable-header-inner">\n      <div\n        *ngFor="let colGroup of _columnsByPin; trackBy: trackByGroups"\n        [class]="\'datatable-row-\' + colGroup.type"\n        [ngStyle]="_styleByGroup[colGroup.type]">\n        <datatable-header-cell\n          *ngFor="let column of colGroup.columns; trackBy: columnTrackingFn"\n          resizeable\n          [resizeEnabled]="column.resizeable"\n          (resize)="onColumnResized($event, column)"\n          long-press\n          [pressModel]="column"\n          [pressEnabled]="reorderable && column.draggable"\n          (longPressStart)="onLongPressStart($event)"\n          (longPressEnd)="onLongPressEnd($event)"\n          draggable\n          [dragX]="reorderable && column.draggable && column.dragging"\n          [dragY]="false"\n          [dragModel]="column"\n          [dragEventTarget]="dragEventTarget"\n          [headerHeight]="headerHeight"\n          [isTarget]="column.isTarget"\n          [targetMarkerTemplate]="targetMarkerTemplate"\n          [targetMarkerContext]="column.targetMarkerContext"\n          [column]="column"\n          [sortType]="sortType"\n          [sorts]="sorts"\n          [selectionType]="selectionType"\n          [sortAscendingIcon]="sortAscendingIcon"\n          [sortDescendingIcon]="sortDescendingIcon"\n          [allRowsSelected]="allRowsSelected"\n          (sort)="onSort($event)"\n          (select)="select.emit($event)"\n          (columnContextmenu)="columnContextmenu.emit($event)">\n        </datatable-header-cell>\n      </div>\n    </div>\n  ',host:{class:"datatable-header"},changeDetection:i.ChangeDetectionStrategy.OnPush})],t)}()},tGlX:function(t,e,n){!function(t){"use strict";function e(t,e,n,a){var r={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[t+" Tage",t+" Tagen"],M:["ein Monat","einem Monat"],MM:[t+" Monate",t+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[t+" Jahre",t+" Jahren"]};return e?r[n][0]:r[n][1]}t.defineLocale("de",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:e,mm:"%d Minuten",h:e,hh:"%d Stunden",d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("wd/R"))},tLB3:function(t,e,n){var a=n("GoyQ"),r=n("/9aa"),o=/^\s+|\s+$/g,i=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,c=/^0o[0-7]+$/i,l=parseInt;t.exports=function(t){if("number"==typeof t)return t;if(r(t))return NaN;if(a(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=a(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(o,"");var n=s.test(t);return n||c.test(t)?l(t.slice(2),n?2:8):i.test(t)?NaN:+t}},tMB7:function(t,e,n){var a=n("y1pI");t.exports=function(t){var e=this.__data__,n=a(e,t);return n<0?void 0:e[n][1]}},tT3J:function(t,e,n){!function(t){"use strict";t.defineLocale("tzm-latn",{months:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),monthsShort:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),weekdays:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),weekdaysShort:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),weekdaysMin:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[asdkh g] LT",nextDay:"[aska g] LT",nextWeek:"dddd [g] LT",lastDay:"[assant g] LT",lastWeek:"dddd [g] LT",sameElse:"L"},relativeTime:{future:"dadkh s yan %s",past:"yan %s",s:"imik",ss:"%d imik",m:"minuḍ",mm:"%d minuḍ",h:"saɛa",hh:"%d tassaɛin",d:"ass",dd:"%d ossan",M:"ayowr",MM:"%d iyyirn",y:"asgas",yy:"%d isgasn"},week:{dow:6,doy:12}})}(n("wd/R"))},tUCv:function(t,e,n){!function(t){"use strict";t.defineLocale("jv",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des".split("_"),weekdays:"Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu".split("_"),weekdaysShort:"Min_Sen_Sel_Reb_Kem_Jem_Sep".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sp".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/enjing|siyang|sonten|ndalu/,meridiemHour:function(t,e){return 12===t&&(t=0),"enjing"===e?t:"siyang"===e?t>=11?t:t+12:"sonten"===e||"ndalu"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"enjing":t<15?"siyang":t<19?"sonten":"ndalu"},calendar:{sameDay:"[Dinten puniko pukul] LT",nextDay:"[Mbenjang pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kala wingi pukul] LT",lastWeek:"dddd [kepengker pukul] LT",sameElse:"L"},relativeTime:{future:"wonten ing %s",past:"%s ingkang kepengker",s:"sawetawis detik",ss:"%d detik",m:"setunggal menit",mm:"%d menit",h:"setunggal jam",hh:"%d jam",d:"sedinten",dd:"%d dinten",M:"sewulan",MM:"%d wulan",y:"setaun",yy:"%d taun"},week:{dow:1,doy:7}})}(n("wd/R"))},tadb:function(t,e,n){var a=n("Cwc5")(n("Kz5y"),"DataView");t.exports=a},tiKp:function(t,e,n){var a=n("2oRo"),r=n("VpIT"),o=n("UTVS"),i=n("kOOl"),s=n("STAE"),c=n("/b8u"),l=r("wks"),d=a.Symbol,u=c?d:d&&d.withoutSetter||i;t.exports=function(t){return o(l,t)||(l[t]=s&&o(d,t)?d[t]:u("Symbol."+t)),l[t]}},tycR:function(t,e,n){var a=n("A2ZE"),r=n("RK3t"),o=n("ewvW"),i=n("UMSQ"),s=n("ZfDv"),c=[].push,l=function(t){var e=1==t,n=2==t,l=3==t,d=4==t,u=6==t,g=5==t||u;return function(f,p,m,h){for(var b,y,_=o(f),O=r(_),v=a(p,m,3),C=i(O.length),P=0,M=h||s,x=e?M(f,C):n?M(f,0):void 0;C>P;P++)if((g||P in O)&&(y=v(b=O[P],P,_),t))if(e)x[P]=y;else if(y)switch(t){case 3:return!0;case 5:return b;case 6:return P;case 2:c.call(x,b)}else if(d)return!1;return u?-1:l||d?d:x}};t.exports={forEach:l(0),map:l(1),filter:l(2),some:l(3),every:l(4),find:l(5),findIndex:l(6)}},u3GI:function(t,e,n){!function(t){"use strict";function e(t,e,n,a){var r={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[t+" Tage",t+" Tagen"],M:["ein Monat","einem Monat"],MM:[t+" Monate",t+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[t+" Jahre",t+" Jahren"]};return e?r[n][0]:r[n][1]}t.defineLocale("de-ch",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:e,mm:"%d Minuten",h:e,hh:"%d Stunden",d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("wd/R"))},u8Dt:function(t,e,n){var a=n("YESw"),r=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;if(a){var n=e[t];return"__lodash_hash_undefined__"===n?void 0:n}return r.call(e,t)?e[t]:void 0}},uEye:function(t,e,n){!function(t){"use strict";t.defineLocale("nn",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),weekdaysShort:"sun_mån_tys_ons_tor_fre_lau".split("_"),weekdaysMin:"su_må_ty_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[I dag klokka] LT",nextDay:"[I morgon klokka] LT",nextWeek:"dddd [klokka] LT",lastDay:"[I går klokka] LT",lastWeek:"[Føregåande] dddd [klokka] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s sidan",s:"nokre sekund",ss:"%d sekund",m:"eit minutt",mm:"%d minutt",h:"ein time",hh:"%d timar",d:"ein dag",dd:"%d dagar",M:"ein månad",MM:"%d månader",y:"eit år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("wd/R"))},uIqm:function(t,e,n){"use strict";var a=n("8Y7J"),r=n("y9jh"),o=n("5tze"),i=n("LvDl"),s=n("PqYM"),c=n("HDdC"),l=n("oxzT"),d=n("x38r");class u{constructor(t){this.errorConfig={resetData:!0,displayError:!0},this.error=t}}var g=n("vCyI");n.d(e,"a",(function(){return f}));class f{constructor(t,e){this.ngZone=t,this.cdRef=e,this.columnMode="flex",this.onlyActionHeader=!1,this.toolHeader=!0,this.searchField=!0,this.header=!0,this.footer=!0,this.limit=10,this.autoReload=5e3,this.identifier="id",this.forceIdentifier=!1,this.selectionType=void 0,this.updateSelectionOnRefresh="onChange",this.autoSave=!0,this.searchableObjects=!1,this.extraFilterableColumns=[],this.fetchData=new a.EventEmitter,this.updateSelection=new a.EventEmitter,this.columnFiltersChanged=new a.EventEmitter,this.selection=new g.a,this.icons=l.a,this.cellTemplates={},this.search="",this.rows=[],this.loadingIndicator=!0,this.loadingError=!1,this.paginationClasses={pagerLeftArrow:l.a.leftArrowDouble,pagerRightArrow:l.a.rightArrowDouble,pagerPrevious:l.a.leftArrow,pagerNext:l.a.rightArrow},this.userConfig={},this.localStorage=window.localStorage,this.updating=!1,this.columnFilters=[]}get columnFiltered(){return i.some(this.columnFilters,t=>void 0!==t.value)}static prepareSearch(t){return(t=t.toLowerCase().replace(/,/g,"")).match(/['"][^'"]+['"]/)&&(t=t.replace(/['"][^'"]+['"]/g,t=>t.replace(/(['"])([^'"]+)(['"])/g,"$2").replace(/ /g,"+"))),t.split(" ").filter(t=>t)}ngOnInit(){if(this.table.element.addEventListener("mouseenter",t=>t.stopPropagation(),!0),this._addTemplates(),!this.sorts){const t=-1!==i.findIndex(this.columns,["prop",this.identifier]);this.sorts=this.createSortingDefinition(t?this.identifier:this.columns[0].prop+""),t||this.forceIdentifier||(this.identifier=this.columns[0].prop+"")}this.initUserConfig(),this.columns.forEach(t=>{t.cellTransformation&&(t.cellTemplate=this.cellTemplates[t.cellTransformation]),t.flexGrow||(t.flexGrow=t.prop+""===this.identifier?1:2),t.resizeable||(t.resizeable=!1)}),this.initCheckboxColumn(),this.filterHiddenColumns(),this.initColumnFilters(),this.updateColumnFilterOptions(),this.fetchData.observers.length>0&&(this.loadingIndicator=!0),i.isInteger(this.autoReload)&&this.autoReload>0?this.ngZone.runOutsideAngular(()=>{this.reloadSubscriber=Object(s.a)(0,this.autoReload).subscribe(()=>{this.ngZone.run(()=>this.reloadData())})}):this.reloadData()}initUserConfig(){this.autoSave&&(this.tableName=this._calculateUniqueTableName(this.columns),this._loadUserConfig(),this._initUserConfigAutoSave()),this.userConfig.limit||(this.userConfig.limit=this.limit),this.userConfig.sorts||(this.userConfig.sorts=this.sorts),this.userConfig.columns?this.columns.forEach((t,e)=>{t.isHidden=this.userConfig.columns[e].isHidden}):this.updateUserColumns()}_calculateUniqueTableName(t){const e=t=>{if(!i.isString(t))return 0;let e=0;for(let n=0;n<t.length;n++)e+=t.charCodeAt(n)*n;return e};return t.reduce((t,n,a)=>(e(n.prop)+e(n.name))*(a+1)+t,0).toString()}_loadUserConfig(){const t=this.localStorage.getItem(this.tableName);t&&(this.userConfig=JSON.parse(t))}_initUserConfigAutoSave(){const t=c.a.create(this._initUserConfigProxy.bind(this));this.saveSubscriber=t.subscribe(this._saveUserConfig.bind(this))}_initUserConfigProxy(t){this.userConfig=new Proxy(this.userConfig,{set:(e,n,a)=>(e[n]=a,t.next(e),!0)})}_saveUserConfig(t){this.localStorage.setItem(this.tableName,JSON.stringify(t))}updateUserColumns(){this.userConfig.columns=this.columns.map(t=>({prop:t.prop,name:t.name,isHidden:!!t.isHidden}))}initCheckboxColumn(){"multiClick"===this.selectionType&&this.columns.unshift({prop:void 0,resizeable:!1,sortable:!1,draggable:!1,checkboxable:!0,canAutoResize:!1,cellClass:"cd-datatable-checkbox",width:30})}filterHiddenColumns(){this.tableColumns=this.columns.filter(t=>!t.isHidden)}initColumnFilters(){let t=i.filter(this.columns,{filterable:!0});t=[...t,...this.extraFilterableColumns],this.columnFilters=t.map(t=>({column:t,options:[],value:t.filterInitValue?this.createColumnFilterOption(t.filterInitValue,t.pipe):void 0})),this.selectedFilter=i.first(this.columnFilters)}createColumnFilterOption(t,e){return{raw:i.toString(t),formatted:e?e.transform(t):i.toString(t)}}updateColumnFilterOptions(){this.columnFilters.forEach(t=>{let e=[];if(i.isUndefined(t.column.filterOptions)){const n=i.filter(i.map(this.data,t.column.prop),t=>i.isString(t)&&""!==t||i.isBoolean(t)||i.isFinite(t)||i.isDate(t));e=i.sortedUniq(n.sort())}else e=t.column.filterOptions;const n=e.map(e=>this.createColumnFilterOption(e,t.column.pipe));t.value&&i.isUndefined(i.find(n,{raw:t.value.raw}))&&(t.value=void 0),t.options=n})}onSelectFilter(t){this.selectedFilter=t}onChangeFilter(t,e){t.value=i.isEqual(t.value,e)?void 0:e,this.updateFilter()}doColumnFiltering(){const t=[];let e=[...this.data],n=[];return this.columnFilters.forEach(a=>{if(void 0===a.value)return;t.push({name:a.column.name,prop:a.column.prop,value:a.value});const r=i.partition(e,t=>{const e=Object(o.getterForProp)(a.column.prop)(t,a.column.prop);return i.isUndefined(a.column.filterPredicate)?`${e}`===a.value.raw:a.column.filterPredicate(t,a.value.raw)});e=r[0],n=[...n,...r[1]]}),this.columnFiltersChanged.emit({filters:t,data:e,dataOut:n}),i.forEach(this.selection.selected,t=>{void 0===i.find(e,{[this.identifier]:t[this.identifier]})&&(this.selection=new g.a,this.onSelect(this.selection))}),e}ngOnDestroy(){this.reloadSubscriber&&this.reloadSubscriber.unsubscribe(),this.saveSubscriber&&this.saveSubscriber.unsubscribe()}ngAfterContentChecked(){this.table&&this.table.element.clientWidth!==this.currentWidth&&(this.currentWidth=this.table.element.clientWidth,this.table.recalculate(),i.get(this.table,"cd").markForCheck())}_addTemplates(){this.cellTemplates.bold=this.tableCellBoldTpl,this.cellTemplates.checkIcon=this.checkIconTpl,this.cellTemplates.sparkline=this.sparklineTpl,this.cellTemplates.routerLink=this.routerLinkTpl,this.cellTemplates.perSecond=this.perSecondTpl,this.cellTemplates.executing=this.executingTpl,this.cellTemplates.classAdding=this.classAddingTpl,this.cellTemplates.badge=this.badgeTpl,this.cellTemplates.map=this.mapTpl,this.cellTemplates.truncate=this.truncateTpl}useCustomClass(t){if(!this.customCss)throw new Error("Custom classes are not set!");const e=Object.keys(this.customCss),n=Object.values(this.customCss).map((n,a)=>(i.isFunction(n)&&n(t)||n===t)&&e[a]).filter(t=>t).join(" ");return i.isEmpty(n)?void 0:n}ngOnChanges(){this.useData()}setLimit(t){const e=parseInt(t.target.value,10);e>0&&(this.userConfig.limit=e)}reloadData(){if(!this.updating){this.loadingError=!1;const t=new u(()=>{this.loadingError=t.errorConfig.displayError,t.errorConfig.resetData&&(this.data=[]),this.useData()});this.fetchData.emit(t),this.updating=!0}}refreshBtn(){this.loadingIndicator=!0,this.reloadData()}rowIdentity(){return t=>{const e=t[this.identifier];if(i.isUndefined(e))throw new Error(`Wrong identifier "${this.identifier}" -> "${e}"`);return e}}useData(){this.data&&(this.updateColumnFilterOptions(),this.updateFilter(),this.reset(),this.updateSelected())}reset(){this.loadingIndicator=!1,this.updating=!1}updateSelected(){if("never"===this.updateSelectionOnRefresh)return;const t=[];this.selection.selected.forEach(e=>{for(const n of this.data)e[this.identifier]===n[this.identifier]&&t.push(n)}),"onChange"===this.updateSelectionOnRefresh&&i.isEqual(this.selection.selected,t)||(this.selection.selected=t,this.onSelect(this.selection))}onSelect(t){this.selection.selected=t.selected,this.updateSelection.emit(i.clone(this.selection))}toggleColumn(t){const e=t.target.name,n=!t.target.checked;n&&1===this.tableColumns.length?t.target.checked=!0:(i.find(this.columns,t=>t.prop===e).isHidden=n,this.updateColumns())}updateColumns(){this.updateUserColumns(),this.filterHiddenColumns();const t=this.userConfig.sorts[0].prop;i.find(this.tableColumns,e=>e.prop===t)||(this.userConfig.sorts=this.createSortingDefinition(this.tableColumns[0].prop)),this.table.recalculate(),this.cdRef.detectChanges()}createSortingDefinition(t){return[{prop:t,dir:r.SortDirection.asc}]}changeSorting({sorts:t}){this.userConfig.sorts=t}onClearSearch(){this.search="",this.updateFilter()}onClearFilters(){this.columnFilters.forEach(t=>{t.value=void 0}),this.selectedFilter=i.first(this.columnFilters),this.updateFilter()}updateFilter(){let t=0!==this.columnFilters.length?this.doColumnFiltering():this.data;if(this.search.length>0){const e=this.columns.filter(t=>t.cellTransformation!==d.a.sparkline);t=this.subSearch(t,f.prepareSearch(this.search),e),this.table.offset=0}this.rows=t}subSearch(t,e,n){if(0===e.length||0===t.length)return t;const a=e.pop().replace(/\+/g," ").split(":"),r=[...n];return 2===a.length&&(n=r.filter(t=>-1!==t.name.toLowerCase().indexOf(a[0]))),t=this.basicDataSearch(i.last(a),t,n),this.subSearch(t,e,r)}basicDataSearch(t,e,n){return 0===t.length?e:e.filter(e=>n.filter(n=>{let a=i.get(e,n.prop);if(i.isUndefined(n.pipe)||(a=n.pipe.transform(a)),i.isUndefined(a)||i.isNull(a))return!1;if(i.isArray(a)?a=a.join(" "):(i.isNumber(a)||i.isBoolean(a))&&(a=a.toString()),i.isObjectLike(a)){if(!this.searchableObjects)return!1;a=JSON.stringify(a)}return-1!==a.toLowerCase().indexOf(t)}).length>0)}getRowClass(){return()=>({clickable:!i.isUndefined(this.selectionType)})}}},uKs4:function(t,e,n){var a=n("mrSG").__decorate,r=n("mrSG").__metadata;Object.defineProperty(e,"__esModule",{value:!0});var o=n("8Y7J");e.VisibilityDirective=function(){function t(t,e){this.element=t,this.zone=e,this.isVisible=!1,this.visible=new o.EventEmitter}return t.prototype.ngOnInit=function(){this.runCheck()},t.prototype.ngOnDestroy=function(){clearTimeout(this.timeout)},t.prototype.onVisibilityChange=function(){var t=this;this.zone.run((function(){t.isVisible=!0,t.visible.emit(!0)}))},t.prototype.runCheck=function(){var t=this,e=function(){var n=t.element.nativeElement;n.offsetHeight&&n.offsetWidth?(clearTimeout(t.timeout),t.onVisibilityChange()):(clearTimeout(t.timeout),t.zone.runOutsideAngular((function(){t.timeout=setTimeout((function(){return e()}),50)})))};this.timeout=setTimeout((function(){return e()}))},a([o.HostBinding("class.visible"),r("design:type",Boolean)],t.prototype,"isVisible",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"visible",void 0),a([o.Directive({selector:"[visibilityObserver]"})],t)}()},uNpg:function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var a=n("8Y7J"),r=n("f95s"),o=function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},i=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},s=function(){function t(){}return o([Object(a.Input)(),i("design:type",r.a)],t.prototype,"node",void 0),o([Object(a.Component)({selector:"tree-node-checkbox",encapsulation:a.ViewEncapsulation.None,styles:[],template:'\n    <ng-container *treeMobxAutorun="{ dontDetach: true }">\n      <input\n        class="tree-node-checkbox"\n        type="checkbox"\n        (click)="node.mouseAction(\'checkboxClick\', $event)"\n        [checked]="node.isSelected"\n        [indeterminate]="node.isPartiallySelected"\n      />\n    </ng-container>\n  '})],t)}()},uXwI:function(t,e,n){!function(t){"use strict";var e={ss:"sekundes_sekundēm_sekunde_sekundes".split("_"),m:"minūtes_minūtēm_minūte_minūtes".split("_"),mm:"minūtes_minūtēm_minūte_minūtes".split("_"),h:"stundas_stundām_stunda_stundas".split("_"),hh:"stundas_stundām_stunda_stundas".split("_"),d:"dienas_dienām_diena_dienas".split("_"),dd:"dienas_dienām_diena_dienas".split("_"),M:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),MM:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),y:"gada_gadiem_gads_gadi".split("_"),yy:"gada_gadiem_gads_gadi".split("_")};function n(t,e,n){return n?e%10==1&&e%100!=11?t[2]:t[3]:e%10==1&&e%100!=11?t[0]:t[1]}function a(t,a,r){return t+" "+n(e[r],t,a)}function r(t,a,r){return n(e[r],t,a)}t.defineLocale("lv",{months:"janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris".split("_"),monthsShort:"jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec".split("_"),weekdays:"svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena".split("_"),weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY.",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, HH:mm",LLLL:"YYYY. [gada] D. MMMM, dddd, HH:mm"},calendar:{sameDay:"[Šodien pulksten] LT",nextDay:"[Rīt pulksten] LT",nextWeek:"dddd [pulksten] LT",lastDay:"[Vakar pulksten] LT",lastWeek:"[Pagājušā] dddd [pulksten] LT",sameElse:"L"},relativeTime:{future:"pēc %s",past:"pirms %s",s:function(t,e){return e?"dažas sekundes":"dažām sekundēm"},ss:a,m:r,mm:a,h:r,hh:a,d:r,dd:a,M:r,MM:a,y:r,yy:a},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("wd/R"))},uYzU:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{constructor(){}transform(t){switch(t){case"user:rbd":return"user:rbd (tcmu-runner)";default:return t}}}},ufoC:function(t,e,n){"use strict";var a=function(t){return t.auth="Login",t.cephfs="CephFS",t.rbd="RBD",t.pool="Pool",t.osd="OSD",t.role="Role",t.user="User",t}({}),r=n("jVDg"),o=n("8Y7J"),i=n("GiVz");n.d(e,"a",(function(){return l}));class s{constructor(t,e,n){this.running=t,this.failure=e,this.success=n}}class c{failure(t){return this.i18n("Failed to {{failure}} {{metadata}}",{failure:this.operation.failure,metadata:this.involves(t)})}running(t){return`${this.operation.running} ${this.involves(t)}`}success(t){return`${this.operation.success} ${this.involves(t)}`}constructor(t,e,n,a){this.i18n=t,this.operation=e,this.involves=n,this.errors=a||(()=>({}))}}let l=(()=>{class t{constructor(t){this.i18n=t,this.defaultMessage=this.newTaskMessage(new s(this.i18n("Executing"),this.i18n("execute"),this.i18n("Executed")),t=>t&&(a[t.component]||t.component)||this.i18n("unknown task"),()=>({})),this.commonOperations={create:new s(this.i18n("Creating"),this.i18n("create"),this.i18n("Created")),update:new s(this.i18n("Updating"),this.i18n("update"),this.i18n("Updated")),delete:new s(this.i18n("Deleting"),this.i18n("delete"),this.i18n("Deleted")),add:new s(this.i18n("Adding"),this.i18n("add"),this.i18n("Added")),remove:new s(this.i18n("Removing"),this.i18n("remove"),this.i18n("Removed")),import:new s(this.i18n("Importing"),this.i18n("import"),this.i18n("Imported"))},this.rbd={default:t=>this.i18n("RBD '{{id}}'",{id:`${t.image_spec}`}),create:t=>{const e=new r.a(t.pool_name,t.namespace,t.image_name).toString();return this.i18n("RBD '{{id}}'",{id:e})},child:t=>{const e=new r.a(t.child_pool_name,t.child_namespace,t.child_image_name).toString();return this.i18n("RBD '{{id}}'",{id:e})},destination:t=>{const e=new r.a(t.dest_pool_name,t.dest_namespace,t.dest_image_name).toString();return this.i18n("RBD '{{id}}'",{id:e})},snapshot:t=>this.i18n("RBD snapshot '{{id}}'",{id:`${t.image_spec}@${t.snapshot_name}`})},this.rbd_mirroring={site_name:()=>this.i18n("mirroring site name"),bootstrap:()=>this.i18n("bootstrap token"),pool:t=>this.i18n("mirror mode for pool '{{id}}'",{id:`${t.pool_name}`}),pool_peer:t=>this.i18n("mirror peer for pool '{{id}}'",{id:`${t.pool_name}`})},this.grafana={update_dashboards:()=>this.i18n("all dashboards")},this.messages={"host/create":this.newTaskMessage(this.commonOperations.create,t=>this.host(t)),"host/delete":this.newTaskMessage(this.commonOperations.delete,t=>this.host(t)),"osd/create":this.newTaskMessage(this.commonOperations.create,t=>this.i18n("OSDs (DriveGroups: {{tracking_id}})",{tracking_id:t.tracking_id})),"osd/delete":this.newTaskMessage(this.commonOperations.delete,t=>this.osd(t)),"pool/create":this.newTaskMessage(this.commonOperations.create,t=>this.pool(t),t=>({17:this.i18n("Name is already used by {{pool_name}}.",{pool_name:this.pool(t)})})),"pool/edit":this.newTaskMessage(this.commonOperations.update,t=>this.pool(t),t=>({17:this.i18n("Name is already used by {{pool_name}}.",{pool_name:this.pool(t)})})),"pool/delete":this.newTaskMessage(this.commonOperations.delete,t=>this.pool(t)),"ecp/create":this.newTaskMessage(this.commonOperations.create,t=>this.ecp(t),t=>({17:this.i18n("Name is already used by {{name}}.",{name:this.ecp(t)})})),"ecp/delete":this.newTaskMessage(this.commonOperations.delete,t=>this.ecp(t)),"crushRule/create":this.newTaskMessage(this.commonOperations.create,t=>this.crushRule(t),t=>({17:this.i18n("Name is already used by {{name}}.",{name:this.crushRule(t)})})),"crushRule/delete":this.newTaskMessage(this.commonOperations.delete,t=>this.crushRule(t)),"rbd/create":this.newTaskMessage(this.commonOperations.create,this.rbd.create,t=>({17:this.i18n("Name is already used by {{rbd_name}}.",{rbd_name:this.rbd.create(t)})})),"rbd/edit":this.newTaskMessage(this.commonOperations.update,this.rbd.default,t=>({17:this.i18n("Name is already used by {{rbd_name}}.",{rbd_name:this.rbd.default(t)})})),"rbd/delete":this.newTaskMessage(this.commonOperations.delete,this.rbd.default,t=>({16:this.i18n("{{rbd_name}} is busy.",{rbd_name:this.rbd.default(t)}),39:this.i18n("{{rbd_name}} contains snapshots.",{rbd_name:this.rbd.default(t)})})),"rbd/clone":this.newTaskMessage(new s(this.i18n("Cloning"),this.i18n("clone"),this.i18n("Cloned")),this.rbd.child,t=>({17:this.i18n("Name is already used by {{rbd_name}}.",{rbd_name:this.rbd.child(t)}),22:this.i18n("Snapshot of {{rbd_name}} must be protected.",{rbd_name:this.rbd.child(t)})})),"rbd/copy":this.newTaskMessage(new s(this.i18n("Copying"),this.i18n("copy"),this.i18n("Copied")),this.rbd.destination,t=>({17:this.i18n("Name is already used by {{rbd_name}}.",{rbd_name:this.rbd.destination(t)})})),"rbd/flatten":this.newTaskMessage(new s(this.i18n("Flattening"),this.i18n("flatten"),this.i18n("Flattened")),this.rbd.default),"rbd/snap/create":this.newTaskMessage(this.commonOperations.create,this.rbd.snapshot,t=>({17:this.i18n("Name is already used by {{snap_name}}.",{snap_name:this.rbd.snapshot(t)})})),"rbd/snap/edit":this.newTaskMessage(this.commonOperations.update,this.rbd.snapshot,t=>({16:this.i18n("Cannot unprotect {{snap_name}} because it contains child images.",{snap_name:this.rbd.snapshot(t)})})),"rbd/snap/delete":this.newTaskMessage(this.commonOperations.delete,this.rbd.snapshot,t=>({16:this.i18n("Cannot delete {{snap_name}} because it's protected.",{snap_name:this.rbd.snapshot(t)})})),"rbd/snap/rollback":this.newTaskMessage(new s(this.i18n("Rolling back"),this.i18n("rollback"),this.i18n("Rolled back")),this.rbd.snapshot),"rbd/trash/move":this.newTaskMessage(new s(this.i18n("Moving"),this.i18n("move"),this.i18n("Moved")),t=>this.i18n("image '{{id}}' to trash",{id:t.image_spec}),()=>({2:this.i18n("Could not find image.")})),"rbd/trash/restore":this.newTaskMessage(new s(this.i18n("Restoring"),this.i18n("restore"),this.i18n("Restored")),t=>this.i18n("image '{{id}}' into '{{new_id}}'",{id:t.image_id_spec,new_id:t.new_image_name}),t=>({17:this.i18n("Image name '{{id}}' is already in use.",{id:t.new_image_name})})),"rbd/trash/remove":this.newTaskMessage(new s(this.i18n("Deleting"),this.i18n("delete"),this.i18n("Deleted")),t=>this.i18n("image '{{id}}'",{id:`${t.image_id_spec}`})),"rbd/trash/purge":this.newTaskMessage(new s(this.i18n("Purging"),this.i18n("purge"),this.i18n("Purged")),t=>{let e=this.i18n("all pools");return t.pool_name&&(e=`'${t.pool_name}'`),this.i18n("images from {{message}}",{message:e})}),"rbd/mirroring/site_name/edit":this.newTaskMessage(this.commonOperations.update,this.rbd_mirroring.site_name,()=>({})),"rbd/mirroring/bootstrap/create":this.newTaskMessage(this.commonOperations.create,this.rbd_mirroring.bootstrap,()=>({})),"rbd/mirroring/bootstrap/import":this.newTaskMessage(this.commonOperations.import,this.rbd_mirroring.bootstrap,()=>({})),"rbd/mirroring/pool/edit":this.newTaskMessage(this.commonOperations.update,this.rbd_mirroring.pool,()=>({16:this.i18n("Cannot disable mirroring because it contains a peer.")})),"rbd/mirroring/peer/add":this.newTaskMessage(this.commonOperations.create,this.rbd_mirroring.pool_peer,()=>({})),"rbd/mirroring/peer/edit":this.newTaskMessage(this.commonOperations.update,this.rbd_mirroring.pool_peer,()=>({})),"rbd/mirroring/peer/delete":this.newTaskMessage(this.commonOperations.delete,this.rbd_mirroring.pool_peer,()=>({})),"iscsi/target/create":this.newTaskMessage(this.commonOperations.create,t=>this.iscsiTarget(t)),"iscsi/target/edit":this.newTaskMessage(this.commonOperations.update,t=>this.iscsiTarget(t)),"iscsi/target/delete":this.newTaskMessage(this.commonOperations.delete,t=>this.iscsiTarget(t)),"nfs/create":this.newTaskMessage(this.commonOperations.create,t=>this.nfs(t)),"nfs/edit":this.newTaskMessage(this.commonOperations.update,t=>this.nfs(t)),"nfs/delete":this.newTaskMessage(this.commonOperations.delete,t=>this.nfs(t)),"grafana/dashboards/update":this.newTaskMessage(this.commonOperations.update,this.grafana.update_dashboards,()=>({})),"orchestrator/identify_device":this.newTaskMessage(new s(this.i18n("Identifying"),this.i18n("identify"),this.i18n("Identified")),t=>this.i18n("device '{{device}}' on host '{{hostname}}'",t))}}newTaskMessage(t,e,n){return new c(this.i18n,t,e,n)}host(t){return this.i18n("host '{{hostname}}'",{hostname:t.hostname})}osd(t){return this.i18n("OSD '{{svc_id}}'",{svc_id:t.svc_id})}pool(t){return this.i18n("pool '{{pool_name}}'",{pool_name:t.pool_name})}ecp(t){return this.i18n("erasure code profile '{{name}}'",{name:t.name})}crushRule(t){return this.i18n("crush rule '{{name}}'",{name:t.name})}iscsiTarget(t){return this.i18n("target '{{target_iqn}}'",{target_iqn:t.target_iqn})}nfs(t){return this.i18n("NFS {{nfs_id}}",{nfs_id:`'${t.cluster_id}:${t.export_id?t.export_id:t.path}'`})}_getTaskTitle(t){return t.name&&t.name.startsWith("progress/")?this.newTaskMessage(new s(t.name.replace("progress/",""),"",t.name.replace("progress/","")),t=>""):this.messages[t.name]||this.defaultMessage}getSuccessTitle(t){return this._getTaskTitle(t).success(t.metadata)}getErrorMessage(t){return this._getTaskTitle(t).errors(t.metadata)[t.exception.code]||t.exception.detail}getErrorTitle(t){return this._getTaskTitle(t).failure(t.metadata)}getRunningTitle(t){return this._getTaskTitle(t).running(t.metadata)}getRunningText(t){return this._getTaskTitle(t).operation.running}}return t.ngInjectableDef=o["ɵɵdefineInjectable"]({factory:function(){return new t(o["ɵɵinject"](i.a))},token:t,providedIn:"root"}),t})()},"ut/Y":function(t,e,n){var a=n("ZCpW"),r=n("GDhZ"),o=n("zZ0H"),i=n("Z0cm"),s=n("+c4W");t.exports=function(t){return"function"==typeof t?t:null==t?o:"object"==typeof t?i(t)?r(t[0],t[1]):a(t):s(t)}},uy83:function(t,e,n){var a=n("0Dky");t.exports=!a((function(){return Object.isExtensible(Object.preventExtensions({}))}))},uyHG:function(t,e){var n,a=/^\[object .+?Constructor\]$/,r="object"==typeof global&&global&&global.Object===Object&&global,o="object"==typeof self&&self&&self.Object===Object&&self,i=r||o||Function("return this")(),s=Array.prototype,c=Function.prototype,l=Object.prototype,d=i["__core-js_shared__"],u=(n=/[^.]+$/.exec(d&&d.keys&&d.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",g=c.toString,f=l.hasOwnProperty,p=l.toString,m=RegExp("^"+g.call(f).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),h=s.splice,b=M(i,"Map"),y=M(Object,"create");function _(t){var e=-1,n=t?t.length:0;for(this.clear();++e<n;){var a=t[e];this.set(a[0],a[1])}}function O(t){var e=-1,n=t?t.length:0;for(this.clear();++e<n;){var a=t[e];this.set(a[0],a[1])}}function v(t){var e=-1,n=t?t.length:0;for(this.clear();++e<n;){var a=t[e];this.set(a[0],a[1])}}function C(t,e){for(var n,a,r=t.length;r--;)if((n=t[r][0])===(a=e)||n!=n&&a!=a)return r;return-1}function P(t,e){var n,a,r=t.__data__;return("string"==(a=typeof(n=e))||"number"==a||"symbol"==a||"boolean"==a?"__proto__"!==n:null===n)?r["string"==typeof e?"string":"hash"]:r.map}function M(t,e){var n=function(t,e){return null==t?void 0:t[e]}(t,e);return function(t){return!(!w(t)||(e=t,u&&u in e))&&(function(t){var e=w(t)?p.call(t):"";return"[object Function]"==e||"[object GeneratorFunction]"==e}(t)||function(t){var e=!1;if(null!=t&&"function"!=typeof t.toString)try{e=!!(t+"")}catch(n){}return e}(t)?m:a).test(function(t){if(null!=t){try{return g.call(t)}catch(e){}try{return t+""}catch(e){}}return""}(t));var e}(n)?n:void 0}function x(t,e){if("function"!=typeof t||e&&"function"!=typeof e)throw new TypeError("Expected a function");var n=function(){var a=arguments,r=e?e.apply(this,a):a[0],o=n.cache;if(o.has(r))return o.get(r);var i=t.apply(this,a);return n.cache=o.set(r,i),i};return n.cache=new(x.Cache||v),n}function w(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}_.prototype.clear=function(){this.__data__=y?y(null):{}},_.prototype.delete=function(t){return this.has(t)&&delete this.__data__[t]},_.prototype.get=function(t){var e=this.__data__;if(y){var n=e[t];return"__lodash_hash_undefined__"===n?void 0:n}return f.call(e,t)?e[t]:void 0},_.prototype.has=function(t){var e=this.__data__;return y?void 0!==e[t]:f.call(e,t)},_.prototype.set=function(t,e){return this.__data__[t]=y&&void 0===e?"__lodash_hash_undefined__":e,this},O.prototype.clear=function(){this.__data__=[]},O.prototype.delete=function(t){var e=this.__data__,n=C(e,t);return!(n<0||(n==e.length-1?e.pop():h.call(e,n,1),0))},O.prototype.get=function(t){var e=this.__data__,n=C(e,t);return n<0?void 0:e[n][1]},O.prototype.has=function(t){return C(this.__data__,t)>-1},O.prototype.set=function(t,e){var n=this.__data__,a=C(n,t);return a<0?n.push([t,e]):n[a][1]=e,this},v.prototype.clear=function(){this.__data__={hash:new _,map:new(b||O),string:new _}},v.prototype.delete=function(t){return P(this,t).delete(t)},v.prototype.get=function(t){return P(this,t).get(t)},v.prototype.has=function(t){return P(this,t).has(t)},v.prototype.set=function(t,e){return P(this,t).set(t,e),this},x.Cache=v,t.exports=x},vCyI:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{constructor(t){this._selected=[],t&&(this._selected=t),this.update()}update(){this.hasSelection=this._selected.length>0,this.hasSingleSelection=1===this._selected.length,this.hasMultiSelection=this._selected.length>1}set selected(t){this._selected=t,this.update()}get selected(){return this._selected}add(t){this._selected.push(t),this.update()}first(){return this.hasSelection?this._selected[0]:null}}},vkgz:function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var a=n("7o/Q"),r=n("KqfI"),o=n("n6bG");function i(t,e,n){return function(a){return a.lift(new s(t,e,n))}}class s{constructor(t,e,n){this.nextOrObserver=t,this.error=e,this.complete=n}call(t,e){return e.subscribe(new c(t,this.nextOrObserver,this.error,this.complete))}}class c extends a.a{constructor(t,e,n,a){super(t),this._tapNext=r.a,this._tapError=r.a,this._tapComplete=r.a,this._tapError=n||r.a,this._tapComplete=a||r.a,Object(o.a)(e)?(this._context=this,this._tapNext=e):e&&(this._context=e,this._tapNext=e.next||r.a,this._tapError=e.error||r.a,this._tapComplete=e.complete||r.a)}_next(t){try{this._tapNext.call(this._context,t)}catch(e){return void this.destination.error(e)}this.destination.next(t)}_error(t){try{this._tapError.call(this._context,t)}catch(t){return void this.destination.error(t)}this.destination.error(t)}_complete(){try{this._tapComplete.call(this._context)}catch(t){return void this.destination.error(t)}return this.destination.complete()}}},vxfy:function(t,e,n){var a=n("mrSG").__decorate;Object.defineProperty(e,"__esModule",{value:!0});var r=n("8Y7J");e.DataTableFooterTemplateDirective=function(){return a([r.Directive({selector:"[ngx-datatable-footer-template]"})],(function(t){this.template=t}))}()},"w/wX":function(t,e,n){var a=n("QqLw"),r=n("ExA7");t.exports=function(t){return r(t)&&"[object Set]"==a(t)}},w1tV:function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var a=n("oB13"),r=n("x+ZX"),o=n("XNiG");function i(){return new o.a}function s(){return t=>Object(r.a)()(Object(a.a)(i)(t))}},wE6v:function(t,e,n){var a=n("hh1v");t.exports=function(t,e){if(!a(t))return t;var n,r;if(e&&"function"==typeof(n=t.toString)&&!a(r=n.call(t)))return r;if("function"==typeof(n=t.valueOf)&&!a(r=n.call(t)))return r;if(!e&&"function"==typeof(n=t.toString)&&!a(r=n.call(t)))return r;throw TypeError("Can't convert object to primitive value")}},"wF/u":function(t,e,n){var a=n("e5cp"),r=n("ExA7");t.exports=function t(e,n,o,i,s){return e===n||(null==e||null==n||!r(e)&&!r(n)?e!=e&&n!=n:a(e,n,o,i,t,s))}},wJg7:function(t,e){var n=/^(?:0|[1-9]\d*)$/;t.exports=function(t,e){var a=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==a||"symbol"!=a&&n.test(t))&&t>-1&&t%1==0&&t<e}},wQk9:function(t,e,n){!function(t){"use strict";t.defineLocale("tzm",{months:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),monthsShort:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),weekdays:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),weekdaysShort:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),weekdaysMin:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[ⴰⵙⴷⵅ ⴴ] LT",nextDay:"[ⴰⵙⴽⴰ ⴴ] LT",nextWeek:"dddd [ⴴ] LT",lastDay:"[ⴰⵚⴰⵏⵜ ⴴ] LT",lastWeek:"dddd [ⴴ] LT",sameElse:"L"},relativeTime:{future:"ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s",past:"ⵢⴰⵏ %s",s:"ⵉⵎⵉⴽ",ss:"%d ⵉⵎⵉⴽ",m:"ⵎⵉⵏⵓⴺ",mm:"%d ⵎⵉⵏⵓⴺ",h:"ⵙⴰⵄⴰ",hh:"%d ⵜⴰⵙⵙⴰⵄⵉⵏ",d:"ⴰⵙⵙ",dd:"%d oⵙⵙⴰⵏ",M:"ⴰⵢoⵓⵔ",MM:"%d ⵉⵢⵢⵉⵔⵏ",y:"ⴰⵙⴳⴰⵙ",yy:"%d ⵉⵙⴳⴰⵙⵏ"},week:{dow:6,doy:12}})}(n("wd/R"))},wclG:function(t,e,n){var a=n("pFRH"),r=n("88Gu")(a);t.exports=r},"wd/R":function(t,e,n){(function(t){t.exports=function(){"use strict";var e,a;function r(){return e.apply(null,arguments)}function o(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function i(t){return null!=t&&"[object Object]"===Object.prototype.toString.call(t)}function s(t){return void 0===t}function c(t){return"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t)}function l(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function d(t,e){var n,a=[];for(n=0;n<t.length;++n)a.push(e(t[n],n));return a}function u(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function g(t,e){for(var n in e)u(e,n)&&(t[n]=e[n]);return u(e,"toString")&&(t.toString=e.toString),u(e,"valueOf")&&(t.valueOf=e.valueOf),t}function f(t,e,n,a){return Pe(t,e,n,a,!0).utc()}function p(t){return null==t._pf&&(t._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null,rfc2822:!1,weekdayMismatch:!1}),t._pf}function m(t){if(null==t._isValid){var e=p(t),n=a.call(e.parsedDateParts,(function(t){return null!=t})),r=!isNaN(t._d.getTime())&&e.overflow<0&&!e.empty&&!e.invalidMonth&&!e.invalidWeekday&&!e.weekdayMismatch&&!e.nullInput&&!e.invalidFormat&&!e.userInvalidated&&(!e.meridiem||e.meridiem&&n);if(t._strict&&(r=r&&0===e.charsLeftOver&&0===e.unusedTokens.length&&void 0===e.bigHour),null!=Object.isFrozen&&Object.isFrozen(t))return r;t._isValid=r}return t._isValid}function h(t){var e=f(NaN);return null!=t?g(p(e),t):p(e).userInvalidated=!0,e}a=Array.prototype.some?Array.prototype.some:function(t){for(var e=Object(this),n=e.length>>>0,a=0;a<n;a++)if(a in e&&t.call(this,e[a],a,e))return!0;return!1};var b=r.momentProperties=[];function y(t,e){var n,a,r;if(s(e._isAMomentObject)||(t._isAMomentObject=e._isAMomentObject),s(e._i)||(t._i=e._i),s(e._f)||(t._f=e._f),s(e._l)||(t._l=e._l),s(e._strict)||(t._strict=e._strict),s(e._tzm)||(t._tzm=e._tzm),s(e._isUTC)||(t._isUTC=e._isUTC),s(e._offset)||(t._offset=e._offset),s(e._pf)||(t._pf=p(e)),s(e._locale)||(t._locale=e._locale),b.length>0)for(n=0;n<b.length;n++)s(r=e[a=b[n]])||(t[a]=r);return t}var _=!1;function O(t){y(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===_&&(_=!0,r.updateOffset(this),_=!1)}function v(t){return t instanceof O||null!=t&&null!=t._isAMomentObject}function C(t){return t<0?Math.ceil(t)||0:Math.floor(t)}function P(t){var e=+t,n=0;return 0!==e&&isFinite(e)&&(n=C(e)),n}function M(t,e,n){var a,r=Math.min(t.length,e.length),o=Math.abs(t.length-e.length),i=0;for(a=0;a<r;a++)(n&&t[a]!==e[a]||!n&&P(t[a])!==P(e[a]))&&i++;return i+o}function x(t){!1===r.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function w(t,e){var n=!0;return g((function(){if(null!=r.deprecationHandler&&r.deprecationHandler(null,t),n){for(var a,o=[],i=0;i<arguments.length;i++){if(a="","object"==typeof arguments[i]){for(var s in a+="\n["+i+"] ",arguments[0])a+=s+": "+arguments[0][s]+", ";a=a.slice(0,-2)}else a=arguments[i];o.push(a)}x(t+"\nArguments: "+Array.prototype.slice.call(o).join("")+"\n"+(new Error).stack),n=!1}return e.apply(this,arguments)}),e)}var T,S={};function k(t,e){null!=r.deprecationHandler&&r.deprecationHandler(t,e),S[t]||(x(e),S[t]=!0)}function I(t){return t instanceof Function||"[object Function]"===Object.prototype.toString.call(t)}function N(t,e){var n,a=g({},t);for(n in e)u(e,n)&&(i(t[n])&&i(e[n])?(a[n]={},g(a[n],t[n]),g(a[n],e[n])):null!=e[n]?a[n]=e[n]:delete a[n]);for(n in t)u(t,n)&&!u(e,n)&&i(t[n])&&(a[n]=g({},a[n]));return a}function R(t){null!=t&&this.set(t)}r.suppressDeprecationWarnings=!1,r.deprecationHandler=null,T=Object.keys?Object.keys:function(t){var e,n=[];for(e in t)u(t,e)&&n.push(e);return n};var A={};function E(t,e){var n=t.toLowerCase();A[n]=A[n+"s"]=A[e]=t}function D(t){return"string"==typeof t?A[t]||A[t.toLowerCase()]:void 0}function L(t){var e,n,a={};for(n in t)u(t,n)&&(e=D(n))&&(a[e]=t[n]);return a}var q={};function j(t,e){q[t]=e}function F(t,e,n){var a=""+Math.abs(t);return(t>=0?n?"+":"":"-")+Math.pow(10,Math.max(0,e-a.length)).toString().substr(1)+a}var z=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,G=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,B={},V={};function Y(t,e,n,a){var r=a;"string"==typeof a&&(r=function(){return this[a]()}),t&&(V[t]=r),e&&(V[e[0]]=function(){return F(r.apply(this,arguments),e[1],e[2])}),n&&(V[n]=function(){return this.localeData().ordinal(r.apply(this,arguments),t)})}function H(t,e){return t.isValid()?(e=U(e,t.localeData()),B[e]=B[e]||function(t){var e,n,a,r=t.match(z);for(e=0,n=r.length;e<n;e++)r[e]=V[r[e]]?V[r[e]]:(a=r[e]).match(/\[[\s\S]/)?a.replace(/^\[|\]$/g,""):a.replace(/\\/g,"");return function(e){var a,o="";for(a=0;a<n;a++)o+=I(r[a])?r[a].call(e,t):r[a];return o}}(e),B[e](t)):t.localeData().invalidDate()}function U(t,e){var n=5;function a(t){return e.longDateFormat(t)||t}for(G.lastIndex=0;n>=0&&G.test(t);)t=t.replace(G,a),G.lastIndex=0,n-=1;return t}var W=/\d/,K=/\d\d/,$=/\d{3}/,Z=/\d{4}/,J=/[+-]?\d{6}/,X=/\d\d?/,Q=/\d\d\d\d?/,tt=/\d\d\d\d\d\d?/,et=/\d{1,3}/,nt=/\d{1,4}/,at=/[+-]?\d{1,6}/,rt=/\d+/,ot=/[+-]?\d+/,it=/Z|[+-]\d\d:?\d\d/gi,st=/Z|[+-]\d\d(?::?\d\d)?/gi,ct=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,lt={};function dt(t,e,n){lt[t]=I(e)?e:function(t,a){return t&&n?n:e}}function ut(t,e){return u(lt,t)?lt[t](e._strict,e._locale):new RegExp(gt(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,(function(t,e,n,a,r){return e||n||a||r}))))}function gt(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var ft={};function pt(t,e){var n,a=e;for("string"==typeof t&&(t=[t]),c(e)&&(a=function(t,n){n[e]=P(t)}),n=0;n<t.length;n++)ft[t[n]]=a}function mt(t,e){pt(t,(function(t,n,a,r){a._w=a._w||{},e(t,a._w,a,r)}))}function ht(t,e,n){null!=e&&u(ft,t)&&ft[t](e,n._a,n,t)}function bt(t){return yt(t)?366:365}function yt(t){return t%4==0&&t%100!=0||t%400==0}Y("Y",0,0,(function(){var t=this.year();return t<=9999?""+t:"+"+t})),Y(0,["YY",2],0,(function(){return this.year()%100})),Y(0,["YYYY",4],0,"year"),Y(0,["YYYYY",5],0,"year"),Y(0,["YYYYYY",6,!0],0,"year"),E("year","y"),j("year",1),dt("Y",ot),dt("YY",X,K),dt("YYYY",nt,Z),dt("YYYYY",at,J),dt("YYYYYY",at,J),pt(["YYYYY","YYYYYY"],0),pt("YYYY",(function(t,e){e[0]=2===t.length?r.parseTwoDigitYear(t):P(t)})),pt("YY",(function(t,e){e[0]=r.parseTwoDigitYear(t)})),pt("Y",(function(t,e){e[0]=parseInt(t,10)})),r.parseTwoDigitYear=function(t){return P(t)+(P(t)>68?1900:2e3)};var _t,Ot=vt("FullYear",!0);function vt(t,e){return function(n){return null!=n?(Pt(this,t,n),r.updateOffset(this,e),this):Ct(this,t)}}function Ct(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function Pt(t,e,n){t.isValid()&&!isNaN(n)&&("FullYear"===e&&yt(t.year())&&1===t.month()&&29===t.date()?t._d["set"+(t._isUTC?"UTC":"")+e](n,t.month(),Mt(n,t.month())):t._d["set"+(t._isUTC?"UTC":"")+e](n))}function Mt(t,e){if(isNaN(t)||isNaN(e))return NaN;var n=(e%12+12)%12;return t+=(e-n)/12,1===n?yt(t)?29:28:31-n%7%2}_t=Array.prototype.indexOf?Array.prototype.indexOf:function(t){var e;for(e=0;e<this.length;++e)if(this[e]===t)return e;return-1},Y("M",["MM",2],"Mo",(function(){return this.month()+1})),Y("MMM",0,0,(function(t){return this.localeData().monthsShort(this,t)})),Y("MMMM",0,0,(function(t){return this.localeData().months(this,t)})),E("month","M"),j("month",8),dt("M",X),dt("MM",X,K),dt("MMM",(function(t,e){return e.monthsShortRegex(t)})),dt("MMMM",(function(t,e){return e.monthsRegex(t)})),pt(["M","MM"],(function(t,e){e[1]=P(t)-1})),pt(["MMM","MMMM"],(function(t,e,n,a){var r=n._locale.monthsParse(t,a,n._strict);null!=r?e[1]=r:p(n).invalidMonth=t}));var xt=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,wt="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),Tt="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_");function St(t,e,n){var a,r,o,i=t.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],a=0;a<12;++a)o=f([2e3,a]),this._shortMonthsParse[a]=this.monthsShort(o,"").toLocaleLowerCase(),this._longMonthsParse[a]=this.months(o,"").toLocaleLowerCase();return n?"MMM"===e?-1!==(r=_t.call(this._shortMonthsParse,i))?r:null:-1!==(r=_t.call(this._longMonthsParse,i))?r:null:"MMM"===e?-1!==(r=_t.call(this._shortMonthsParse,i))?r:-1!==(r=_t.call(this._longMonthsParse,i))?r:null:-1!==(r=_t.call(this._longMonthsParse,i))?r:-1!==(r=_t.call(this._shortMonthsParse,i))?r:null}function kt(t,e){var n;if(!t.isValid())return t;if("string"==typeof e)if(/^\d+$/.test(e))e=P(e);else if(!c(e=t.localeData().monthsParse(e)))return t;return n=Math.min(t.date(),Mt(t.year(),e)),t._d["set"+(t._isUTC?"UTC":"")+"Month"](e,n),t}function It(t){return null!=t?(kt(this,t),r.updateOffset(this,!0),this):Ct(this,"Month")}var Nt=ct,Rt=ct;function At(){function t(t,e){return e.length-t.length}var e,n,a=[],r=[],o=[];for(e=0;e<12;e++)n=f([2e3,e]),a.push(this.monthsShort(n,"")),r.push(this.months(n,"")),o.push(this.months(n,"")),o.push(this.monthsShort(n,""));for(a.sort(t),r.sort(t),o.sort(t),e=0;e<12;e++)a[e]=gt(a[e]),r[e]=gt(r[e]);for(e=0;e<24;e++)o[e]=gt(o[e]);this._monthsRegex=new RegExp("^("+o.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+r.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+a.join("|")+")","i")}function Et(t,e,n,a,r,o,i){var s;return t<100&&t>=0?(s=new Date(t+400,e,n,a,r,o,i),isFinite(s.getFullYear())&&s.setFullYear(t)):s=new Date(t,e,n,a,r,o,i),s}function Dt(t){var e;if(t<100&&t>=0){var n=Array.prototype.slice.call(arguments);n[0]=t+400,e=new Date(Date.UTC.apply(null,n)),isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t)}else e=new Date(Date.UTC.apply(null,arguments));return e}function Lt(t,e,n){var a=7+e-n;return-(7+Dt(t,0,a).getUTCDay()-e)%7+a-1}function qt(t,e,n,a,r){var o,i,s=1+7*(e-1)+(7+n-a)%7+Lt(t,a,r);return s<=0?i=bt(o=t-1)+s:s>bt(t)?(o=t+1,i=s-bt(t)):(o=t,i=s),{year:o,dayOfYear:i}}function jt(t,e,n){var a,r,o=Lt(t.year(),e,n),i=Math.floor((t.dayOfYear()-o-1)/7)+1;return i<1?a=i+Ft(r=t.year()-1,e,n):i>Ft(t.year(),e,n)?(a=i-Ft(t.year(),e,n),r=t.year()+1):(r=t.year(),a=i),{week:a,year:r}}function Ft(t,e,n){var a=Lt(t,e,n),r=Lt(t+1,e,n);return(bt(t)-a+r)/7}function zt(t,e){return t.slice(e,7).concat(t.slice(0,e))}Y("w",["ww",2],"wo","week"),Y("W",["WW",2],"Wo","isoWeek"),E("week","w"),E("isoWeek","W"),j("week",5),j("isoWeek",5),dt("w",X),dt("ww",X,K),dt("W",X),dt("WW",X,K),mt(["w","ww","W","WW"],(function(t,e,n,a){e[a.substr(0,1)]=P(t)})),Y("d",0,"do","day"),Y("dd",0,0,(function(t){return this.localeData().weekdaysMin(this,t)})),Y("ddd",0,0,(function(t){return this.localeData().weekdaysShort(this,t)})),Y("dddd",0,0,(function(t){return this.localeData().weekdays(this,t)})),Y("e",0,0,"weekday"),Y("E",0,0,"isoWeekday"),E("day","d"),E("weekday","e"),E("isoWeekday","E"),j("day",11),j("weekday",11),j("isoWeekday",11),dt("d",X),dt("e",X),dt("E",X),dt("dd",(function(t,e){return e.weekdaysMinRegex(t)})),dt("ddd",(function(t,e){return e.weekdaysShortRegex(t)})),dt("dddd",(function(t,e){return e.weekdaysRegex(t)})),mt(["dd","ddd","dddd"],(function(t,e,n,a){var r=n._locale.weekdaysParse(t,a,n._strict);null!=r?e.d=r:p(n).invalidWeekday=t})),mt(["d","e","E"],(function(t,e,n,a){e[a]=P(t)}));var Gt="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Bt="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Vt="Su_Mo_Tu_We_Th_Fr_Sa".split("_");function Yt(t,e,n){var a,r,o,i=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],a=0;a<7;++a)o=f([2e3,1]).day(a),this._minWeekdaysParse[a]=this.weekdaysMin(o,"").toLocaleLowerCase(),this._shortWeekdaysParse[a]=this.weekdaysShort(o,"").toLocaleLowerCase(),this._weekdaysParse[a]=this.weekdays(o,"").toLocaleLowerCase();return n?"dddd"===e?-1!==(r=_t.call(this._weekdaysParse,i))?r:null:"ddd"===e?-1!==(r=_t.call(this._shortWeekdaysParse,i))?r:null:-1!==(r=_t.call(this._minWeekdaysParse,i))?r:null:"dddd"===e?-1!==(r=_t.call(this._weekdaysParse,i))?r:-1!==(r=_t.call(this._shortWeekdaysParse,i))?r:-1!==(r=_t.call(this._minWeekdaysParse,i))?r:null:"ddd"===e?-1!==(r=_t.call(this._shortWeekdaysParse,i))?r:-1!==(r=_t.call(this._weekdaysParse,i))?r:-1!==(r=_t.call(this._minWeekdaysParse,i))?r:null:-1!==(r=_t.call(this._minWeekdaysParse,i))?r:-1!==(r=_t.call(this._weekdaysParse,i))?r:-1!==(r=_t.call(this._shortWeekdaysParse,i))?r:null}var Ht=ct,Ut=ct,Wt=ct;function Kt(){function t(t,e){return e.length-t.length}var e,n,a,r,o,i=[],s=[],c=[],l=[];for(e=0;e<7;e++)n=f([2e3,1]).day(e),a=this.weekdaysMin(n,""),r=this.weekdaysShort(n,""),o=this.weekdays(n,""),i.push(a),s.push(r),c.push(o),l.push(a),l.push(r),l.push(o);for(i.sort(t),s.sort(t),c.sort(t),l.sort(t),e=0;e<7;e++)s[e]=gt(s[e]),c[e]=gt(c[e]),l[e]=gt(l[e]);this._weekdaysRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+c.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+s.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+i.join("|")+")","i")}function $t(){return this.hours()%12||12}function Zt(t,e){Y(t,0,0,(function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)}))}function Jt(t,e){return e._meridiemParse}Y("H",["HH",2],0,"hour"),Y("h",["hh",2],0,$t),Y("k",["kk",2],0,(function(){return this.hours()||24})),Y("hmm",0,0,(function(){return""+$t.apply(this)+F(this.minutes(),2)})),Y("hmmss",0,0,(function(){return""+$t.apply(this)+F(this.minutes(),2)+F(this.seconds(),2)})),Y("Hmm",0,0,(function(){return""+this.hours()+F(this.minutes(),2)})),Y("Hmmss",0,0,(function(){return""+this.hours()+F(this.minutes(),2)+F(this.seconds(),2)})),Zt("a",!0),Zt("A",!1),E("hour","h"),j("hour",13),dt("a",Jt),dt("A",Jt),dt("H",X),dt("h",X),dt("k",X),dt("HH",X,K),dt("hh",X,K),dt("kk",X,K),dt("hmm",Q),dt("hmmss",tt),dt("Hmm",Q),dt("Hmmss",tt),pt(["H","HH"],3),pt(["k","kk"],(function(t,e,n){var a=P(t);e[3]=24===a?0:a})),pt(["a","A"],(function(t,e,n){n._isPm=n._locale.isPM(t),n._meridiem=t})),pt(["h","hh"],(function(t,e,n){e[3]=P(t),p(n).bigHour=!0})),pt("hmm",(function(t,e,n){var a=t.length-2;e[3]=P(t.substr(0,a)),e[4]=P(t.substr(a)),p(n).bigHour=!0})),pt("hmmss",(function(t,e,n){var a=t.length-4,r=t.length-2;e[3]=P(t.substr(0,a)),e[4]=P(t.substr(a,2)),e[5]=P(t.substr(r)),p(n).bigHour=!0})),pt("Hmm",(function(t,e,n){var a=t.length-2;e[3]=P(t.substr(0,a)),e[4]=P(t.substr(a))})),pt("Hmmss",(function(t,e,n){var a=t.length-4,r=t.length-2;e[3]=P(t.substr(0,a)),e[4]=P(t.substr(a,2)),e[5]=P(t.substr(r))}));var Xt,Qt=vt("Hours",!0),te={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:wt,monthsShort:Tt,week:{dow:0,doy:6},weekdays:Gt,weekdaysMin:Vt,weekdaysShort:Bt,meridiemParse:/[ap]\.?m?\.?/i},ee={},ne={};function ae(t){return t?t.toLowerCase().replace("_","-"):t}function re(e){var a=null;if(!ee[e]&&void 0!==t&&t&&t.exports)try{a=Xt._abbr,n("RnhZ")("./"+e),oe(a)}catch(r){}return ee[e]}function oe(t,e){var n;return t&&((n=s(e)?se(t):ie(t,e))?Xt=n:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+t+" not found. Did you forget to load it?")),Xt._abbr}function ie(t,e){if(null!==e){var n,a=te;if(e.abbr=t,null!=ee[t])k("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),a=ee[t]._config;else if(null!=e.parentLocale)if(null!=ee[e.parentLocale])a=ee[e.parentLocale]._config;else{if(null==(n=re(e.parentLocale)))return ne[e.parentLocale]||(ne[e.parentLocale]=[]),ne[e.parentLocale].push({name:t,config:e}),null;a=n._config}return ee[t]=new R(N(a,e)),ne[t]&&ne[t].forEach((function(t){ie(t.name,t.config)})),oe(t),ee[t]}return delete ee[t],null}function se(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Xt;if(!o(t)){if(e=re(t))return e;t=[t]}return function(t){for(var e,n,a,r,o=0;o<t.length;){for(e=(r=ae(t[o]).split("-")).length,n=(n=ae(t[o+1]))?n.split("-"):null;e>0;){if(a=re(r.slice(0,e).join("-")))return a;if(n&&n.length>=e&&M(r,n,!0)>=e-1)break;e--}o++}return Xt}(t)}function ce(t){var e,n=t._a;return n&&-2===p(t).overflow&&(e=n[1]<0||n[1]>11?1:n[2]<1||n[2]>Mt(n[0],n[1])?2:n[3]<0||n[3]>24||24===n[3]&&(0!==n[4]||0!==n[5]||0!==n[6])?3:n[4]<0||n[4]>59?4:n[5]<0||n[5]>59?5:n[6]<0||n[6]>999?6:-1,p(t)._overflowDayOfYear&&(e<0||e>2)&&(e=2),p(t)._overflowWeeks&&-1===e&&(e=7),p(t)._overflowWeekday&&-1===e&&(e=8),p(t).overflow=e),t}function le(t,e,n){return null!=t?t:null!=e?e:n}function de(t){var e,n,a,o,i,s=[];if(!t._d){for(a=function(t){var e=new Date(r.now());return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}(t),t._w&&null==t._a[2]&&null==t._a[1]&&function(t){var e,n,a,r,o,i,s,c;if(null!=(e=t._w).GG||null!=e.W||null!=e.E)o=1,i=4,n=le(e.GG,t._a[0],jt(Me(),1,4).year),a=le(e.W,1),((r=le(e.E,1))<1||r>7)&&(c=!0);else{o=t._locale._week.dow,i=t._locale._week.doy;var l=jt(Me(),o,i);n=le(e.gg,t._a[0],l.year),a=le(e.w,l.week),null!=e.d?((r=e.d)<0||r>6)&&(c=!0):null!=e.e?(r=e.e+o,(e.e<0||e.e>6)&&(c=!0)):r=o}a<1||a>Ft(n,o,i)?p(t)._overflowWeeks=!0:null!=c?p(t)._overflowWeekday=!0:(s=qt(n,a,r,o,i),t._a[0]=s.year,t._dayOfYear=s.dayOfYear)}(t),null!=t._dayOfYear&&(i=le(t._a[0],a[0]),(t._dayOfYear>bt(i)||0===t._dayOfYear)&&(p(t)._overflowDayOfYear=!0),n=Dt(i,0,t._dayOfYear),t._a[1]=n.getUTCMonth(),t._a[2]=n.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=s[e]=a[e];for(;e<7;e++)t._a[e]=s[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[3]&&0===t._a[4]&&0===t._a[5]&&0===t._a[6]&&(t._nextDay=!0,t._a[3]=0),t._d=(t._useUTC?Dt:Et).apply(null,s),o=t._useUTC?t._d.getUTCDay():t._d.getDay(),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[3]=24),t._w&&void 0!==t._w.d&&t._w.d!==o&&(p(t).weekdayMismatch=!0)}}var ue=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,ge=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,fe=/Z|[+-]\d\d(?::?\d\d)?/,pe=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],me=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],he=/^\/?Date\((\-?\d+)/i;function be(t){var e,n,a,r,o,i,s=t._i,c=ue.exec(s)||ge.exec(s);if(c){for(p(t).iso=!0,e=0,n=pe.length;e<n;e++)if(pe[e][1].exec(c[1])){r=pe[e][0],a=!1!==pe[e][2];break}if(null==r)return void(t._isValid=!1);if(c[3]){for(e=0,n=me.length;e<n;e++)if(me[e][1].exec(c[3])){o=(c[2]||" ")+me[e][0];break}if(null==o)return void(t._isValid=!1)}if(!a&&null!=o)return void(t._isValid=!1);if(c[4]){if(!fe.exec(c[4]))return void(t._isValid=!1);i="Z"}t._f=r+(o||"")+(i||""),ve(t)}else t._isValid=!1}var ye=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,_e={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function Oe(t){var e,n,a,r,o,i,s,c,l=ye.exec(t._i.replace(/\([^)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,""));if(l){var d=(e=l[3],n=l[2],a=l[5],r=l[6],o=l[7],i=[(s=l[4],c=parseInt(s,10),c<=49?2e3+c:c<=999?1900+c:c),Tt.indexOf(e),parseInt(n,10),parseInt(a,10),parseInt(r,10)],o&&i.push(parseInt(o,10)),i);if(!function(t,e,n){return!t||Bt.indexOf(t)===new Date(e[0],e[1],e[2]).getDay()||(p(n).weekdayMismatch=!0,n._isValid=!1,!1)}(l[1],d,t))return;t._a=d,t._tzm=function(t,e,n){if(t)return _e[t];if(e)return 0;var a=parseInt(n,10),r=a%100;return(a-r)/100*60+r}(l[8],l[9],l[10]),t._d=Dt.apply(null,t._a),t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),p(t).rfc2822=!0}else t._isValid=!1}function ve(t){if(t._f!==r.ISO_8601)if(t._f!==r.RFC_2822){t._a=[],p(t).empty=!0;var e,n,a,o,i,s=""+t._i,c=s.length,l=0;for(a=U(t._f,t._locale).match(z)||[],e=0;e<a.length;e++)(n=(s.match(ut(o=a[e],t))||[])[0])&&((i=s.substr(0,s.indexOf(n))).length>0&&p(t).unusedInput.push(i),s=s.slice(s.indexOf(n)+n.length),l+=n.length),V[o]?(n?p(t).empty=!1:p(t).unusedTokens.push(o),ht(o,n,t)):t._strict&&!n&&p(t).unusedTokens.push(o);p(t).charsLeftOver=c-l,s.length>0&&p(t).unusedInput.push(s),t._a[3]<=12&&!0===p(t).bigHour&&t._a[3]>0&&(p(t).bigHour=void 0),p(t).parsedDateParts=t._a.slice(0),p(t).meridiem=t._meridiem,t._a[3]=function(t,e,n){var a;return null==n?e:null!=t.meridiemHour?t.meridiemHour(e,n):null!=t.isPM?((a=t.isPM(n))&&e<12&&(e+=12),a||12!==e||(e=0),e):e}(t._locale,t._a[3],t._meridiem),de(t),ce(t)}else Oe(t);else be(t)}function Ce(t){var e=t._i,n=t._f;return t._locale=t._locale||se(t._l),null===e||void 0===n&&""===e?h({nullInput:!0}):("string"==typeof e&&(t._i=e=t._locale.preparse(e)),v(e)?new O(ce(e)):(l(e)?t._d=e:o(n)?function(t){var e,n,a,r,o;if(0===t._f.length)return p(t).invalidFormat=!0,void(t._d=new Date(NaN));for(r=0;r<t._f.length;r++)o=0,e=y({},t),null!=t._useUTC&&(e._useUTC=t._useUTC),e._f=t._f[r],ve(e),m(e)&&(o+=p(e).charsLeftOver,o+=10*p(e).unusedTokens.length,p(e).score=o,(null==a||o<a)&&(a=o,n=e));g(t,n||e)}(t):n?ve(t):function(t){var e=t._i;s(e)?t._d=new Date(r.now()):l(e)?t._d=new Date(e.valueOf()):"string"==typeof e?function(t){var e=he.exec(t._i);null===e?(be(t),!1===t._isValid&&(delete t._isValid,Oe(t),!1===t._isValid&&(delete t._isValid,r.createFromInputFallback(t)))):t._d=new Date(+e[1])}(t):o(e)?(t._a=d(e.slice(0),(function(t){return parseInt(t,10)})),de(t)):i(e)?function(t){if(!t._d){var e=L(t._i);t._a=d([e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],(function(t){return t&&parseInt(t,10)})),de(t)}}(t):c(e)?t._d=new Date(e):r.createFromInputFallback(t)}(t),m(t)||(t._d=null),t))}function Pe(t,e,n,a,r){var s,c={};return!0!==n&&!1!==n||(a=n,n=void 0),(i(t)&&function(t){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(t).length;var e;for(e in t)if(t.hasOwnProperty(e))return!1;return!0}(t)||o(t)&&0===t.length)&&(t=void 0),c._isAMomentObject=!0,c._useUTC=c._isUTC=r,c._l=n,c._i=t,c._f=e,c._strict=a,(s=new O(ce(Ce(c))))._nextDay&&(s.add(1,"d"),s._nextDay=void 0),s}function Me(t,e,n,a){return Pe(t,e,n,a,!1)}r.createFromInputFallback=w("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",(function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))})),r.ISO_8601=function(){},r.RFC_2822=function(){};var xe=w("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",(function(){var t=Me.apply(null,arguments);return this.isValid()&&t.isValid()?t<this?this:t:h()})),we=w("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",(function(){var t=Me.apply(null,arguments);return this.isValid()&&t.isValid()?t>this?this:t:h()}));function Te(t,e){var n,a;if(1===e.length&&o(e[0])&&(e=e[0]),!e.length)return Me();for(n=e[0],a=1;a<e.length;++a)e[a].isValid()&&!e[a][t](n)||(n=e[a]);return n}var Se=["year","quarter","month","week","day","hour","minute","second","millisecond"];function ke(t){var e=L(t),n=e.year||0,a=e.quarter||0,r=e.month||0,o=e.week||e.isoWeek||0,i=e.day||0,s=e.hour||0,c=e.minute||0,l=e.second||0,d=e.millisecond||0;this._isValid=function(t){for(var e in t)if(-1===_t.call(Se,e)||null!=t[e]&&isNaN(t[e]))return!1;for(var n=!1,a=0;a<Se.length;++a)if(t[Se[a]]){if(n)return!1;parseFloat(t[Se[a]])!==P(t[Se[a]])&&(n=!0)}return!0}(e),this._milliseconds=+d+1e3*l+6e4*c+1e3*s*60*60,this._days=+i+7*o,this._months=+r+3*a+12*n,this._data={},this._locale=se(),this._bubble()}function Ie(t){return t instanceof ke}function Ne(t){return t<0?-1*Math.round(-1*t):Math.round(t)}function Re(t,e){Y(t,0,0,(function(){var t=this.utcOffset(),n="+";return t<0&&(t=-t,n="-"),n+F(~~(t/60),2)+e+F(~~t%60,2)}))}Re("Z",":"),Re("ZZ",""),dt("Z",st),dt("ZZ",st),pt(["Z","ZZ"],(function(t,e,n){n._useUTC=!0,n._tzm=Ee(st,t)}));var Ae=/([\+\-]|\d\d)/gi;function Ee(t,e){var n=(e||"").match(t);if(null===n)return null;var a=((n[n.length-1]||[])+"").match(Ae)||["-",0,0],r=60*a[1]+P(a[2]);return 0===r?0:"+"===a[0]?r:-r}function De(t,e){var n,a;return e._isUTC?(n=e.clone(),a=(v(t)||l(t)?t.valueOf():Me(t).valueOf())-n.valueOf(),n._d.setTime(n._d.valueOf()+a),r.updateOffset(n,!1),n):Me(t).local()}function Le(t){return 15*-Math.round(t._d.getTimezoneOffset()/15)}function qe(){return!!this.isValid()&&this._isUTC&&0===this._offset}r.updateOffset=function(){};var je=/^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Fe=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function ze(t,e){var n,a,r,o,i,s,l=t,d=null;return Ie(t)?l={ms:t._milliseconds,d:t._days,M:t._months}:c(t)?(l={},e?l[e]=t:l.milliseconds=t):(d=je.exec(t))?(n="-"===d[1]?-1:1,l={y:0,d:P(d[2])*n,h:P(d[3])*n,m:P(d[4])*n,s:P(d[5])*n,ms:P(Ne(1e3*d[6]))*n}):(d=Fe.exec(t))?l={y:Ge(d[2],n="-"===d[1]?-1:1),M:Ge(d[3],n),w:Ge(d[4],n),d:Ge(d[5],n),h:Ge(d[6],n),m:Ge(d[7],n),s:Ge(d[8],n)}:null==l?l={}:"object"==typeof l&&("from"in l||"to"in l)&&(o=Me(l.from),i=Me(l.to),r=o.isValid()&&i.isValid()?(i=De(i,o),o.isBefore(i)?s=Be(o,i):((s=Be(i,o)).milliseconds=-s.milliseconds,s.months=-s.months),s):{milliseconds:0,months:0},(l={}).ms=r.milliseconds,l.M=r.months),a=new ke(l),Ie(t)&&u(t,"_locale")&&(a._locale=t._locale),a}function Ge(t,e){var n=t&&parseFloat(t.replace(",","."));return(isNaN(n)?0:n)*e}function Be(t,e){var n={};return n.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(n.months,"M").isAfter(e)&&--n.months,n.milliseconds=+e-+t.clone().add(n.months,"M"),n}function Ve(t,e){return function(n,a){var r;return null===a||isNaN(+a)||(k(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),r=n,n=a,a=r),Ye(this,ze(n="string"==typeof n?+n:n,a),t),this}}function Ye(t,e,n,a){var o=e._milliseconds,i=Ne(e._days),s=Ne(e._months);t.isValid()&&(a=null==a||a,s&&kt(t,Ct(t,"Month")+s*n),i&&Pt(t,"Date",Ct(t,"Date")+i*n),o&&t._d.setTime(t._d.valueOf()+o*n),a&&r.updateOffset(t,i||s))}ze.fn=ke.prototype,ze.invalid=function(){return ze(NaN)};var He=Ve(1,"add"),Ue=Ve(-1,"subtract");function We(t,e){var n=12*(e.year()-t.year())+(e.month()-t.month()),a=t.clone().add(n,"months");return-(n+(e-a<0?(e-a)/(a-t.clone().add(n-1,"months")):(e-a)/(t.clone().add(n+1,"months")-a)))||0}function Ke(t){var e;return void 0===t?this._locale._abbr:(null!=(e=se(t))&&(this._locale=e),this)}r.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",r.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var $e=w("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",(function(t){return void 0===t?this.localeData():this.locale(t)}));function Ze(){return this._locale}function Je(t,e){return(t%e+e)%e}function Xe(t,e,n){return t<100&&t>=0?new Date(t+400,e,n)-126227808e5:new Date(t,e,n).valueOf()}function Qe(t,e,n){return t<100&&t>=0?Date.UTC(t+400,e,n)-126227808e5:Date.UTC(t,e,n)}function tn(t,e){Y(0,[t,t.length],0,e)}function en(t,e,n,a,r){var o;return null==t?jt(this,a,r).year:(e>(o=Ft(t,a,r))&&(e=o),nn.call(this,t,e,n,a,r))}function nn(t,e,n,a,r){var o=qt(t,e,n,a,r),i=Dt(o.year,0,o.dayOfYear);return this.year(i.getUTCFullYear()),this.month(i.getUTCMonth()),this.date(i.getUTCDate()),this}Y(0,["gg",2],0,(function(){return this.weekYear()%100})),Y(0,["GG",2],0,(function(){return this.isoWeekYear()%100})),tn("gggg","weekYear"),tn("ggggg","weekYear"),tn("GGGG","isoWeekYear"),tn("GGGGG","isoWeekYear"),E("weekYear","gg"),E("isoWeekYear","GG"),j("weekYear",1),j("isoWeekYear",1),dt("G",ot),dt("g",ot),dt("GG",X,K),dt("gg",X,K),dt("GGGG",nt,Z),dt("gggg",nt,Z),dt("GGGGG",at,J),dt("ggggg",at,J),mt(["gggg","ggggg","GGGG","GGGGG"],(function(t,e,n,a){e[a.substr(0,2)]=P(t)})),mt(["gg","GG"],(function(t,e,n,a){e[a]=r.parseTwoDigitYear(t)})),Y("Q",0,"Qo","quarter"),E("quarter","Q"),j("quarter",7),dt("Q",W),pt("Q",(function(t,e){e[1]=3*(P(t)-1)})),Y("D",["DD",2],"Do","date"),E("date","D"),j("date",9),dt("D",X),dt("DD",X,K),dt("Do",(function(t,e){return t?e._dayOfMonthOrdinalParse||e._ordinalParse:e._dayOfMonthOrdinalParseLenient})),pt(["D","DD"],2),pt("Do",(function(t,e){e[2]=P(t.match(X)[0])}));var an=vt("Date",!0);Y("DDD",["DDDD",3],"DDDo","dayOfYear"),E("dayOfYear","DDD"),j("dayOfYear",4),dt("DDD",et),dt("DDDD",$),pt(["DDD","DDDD"],(function(t,e,n){n._dayOfYear=P(t)})),Y("m",["mm",2],0,"minute"),E("minute","m"),j("minute",14),dt("m",X),dt("mm",X,K),pt(["m","mm"],4);var rn=vt("Minutes",!1);Y("s",["ss",2],0,"second"),E("second","s"),j("second",15),dt("s",X),dt("ss",X,K),pt(["s","ss"],5);var on,sn=vt("Seconds",!1);for(Y("S",0,0,(function(){return~~(this.millisecond()/100)})),Y(0,["SS",2],0,(function(){return~~(this.millisecond()/10)})),Y(0,["SSS",3],0,"millisecond"),Y(0,["SSSS",4],0,(function(){return 10*this.millisecond()})),Y(0,["SSSSS",5],0,(function(){return 100*this.millisecond()})),Y(0,["SSSSSS",6],0,(function(){return 1e3*this.millisecond()})),Y(0,["SSSSSSS",7],0,(function(){return 1e4*this.millisecond()})),Y(0,["SSSSSSSS",8],0,(function(){return 1e5*this.millisecond()})),Y(0,["SSSSSSSSS",9],0,(function(){return 1e6*this.millisecond()})),E("millisecond","ms"),j("millisecond",16),dt("S",et,W),dt("SS",et,K),dt("SSS",et,$),on="SSSS";on.length<=9;on+="S")dt(on,rt);function cn(t,e){e[6]=P(1e3*("0."+t))}for(on="S";on.length<=9;on+="S")pt(on,cn);var ln=vt("Milliseconds",!1);Y("z",0,0,"zoneAbbr"),Y("zz",0,0,"zoneName");var dn=O.prototype;function un(t){return t}dn.add=He,dn.calendar=function(t,e){var n=t||Me(),a=De(n,this).startOf("day"),o=r.calendarFormat(this,a)||"sameElse",i=e&&(I(e[o])?e[o].call(this,n):e[o]);return this.format(i||this.localeData().calendar(o,this,Me(n)))},dn.clone=function(){return new O(this)},dn.diff=function(t,e,n){var a,r,o;if(!this.isValid())return NaN;if(!(a=De(t,this)).isValid())return NaN;switch(r=6e4*(a.utcOffset()-this.utcOffset()),e=D(e)){case"year":o=We(this,a)/12;break;case"month":o=We(this,a);break;case"quarter":o=We(this,a)/3;break;case"second":o=(this-a)/1e3;break;case"minute":o=(this-a)/6e4;break;case"hour":o=(this-a)/36e5;break;case"day":o=(this-a-r)/864e5;break;case"week":o=(this-a-r)/6048e5;break;default:o=this-a}return n?o:C(o)},dn.endOf=function(t){var e;if(void 0===(t=D(t))||"millisecond"===t||!this.isValid())return this;var n=this._isUTC?Qe:Xe;switch(t){case"year":e=n(this.year()+1,0,1)-1;break;case"quarter":e=n(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":e=n(this.year(),this.month()+1,1)-1;break;case"week":e=n(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":e=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":e=n(this.year(),this.month(),this.date()+1)-1;break;case"hour":e=this._d.valueOf(),e+=36e5-Je(e+(this._isUTC?0:6e4*this.utcOffset()),36e5)-1;break;case"minute":e=this._d.valueOf(),e+=6e4-Je(e,6e4)-1;break;case"second":e=this._d.valueOf(),e+=1e3-Je(e,1e3)-1}return this._d.setTime(e),r.updateOffset(this,!0),this},dn.format=function(t){t||(t=this.isUtc()?r.defaultFormatUtc:r.defaultFormat);var e=H(this,t);return this.localeData().postformat(e)},dn.from=function(t,e){return this.isValid()&&(v(t)&&t.isValid()||Me(t).isValid())?ze({to:this,from:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()},dn.fromNow=function(t){return this.from(Me(),t)},dn.to=function(t,e){return this.isValid()&&(v(t)&&t.isValid()||Me(t).isValid())?ze({from:this,to:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()},dn.toNow=function(t){return this.to(Me(),t)},dn.get=function(t){return I(this[t=D(t)])?this[t]():this},dn.invalidAt=function(){return p(this).overflow},dn.isAfter=function(t,e){var n=v(t)?t:Me(t);return!(!this.isValid()||!n.isValid())&&("millisecond"===(e=D(e)||"millisecond")?this.valueOf()>n.valueOf():n.valueOf()<this.clone().startOf(e).valueOf())},dn.isBefore=function(t,e){var n=v(t)?t:Me(t);return!(!this.isValid()||!n.isValid())&&("millisecond"===(e=D(e)||"millisecond")?this.valueOf()<n.valueOf():this.clone().endOf(e).valueOf()<n.valueOf())},dn.isBetween=function(t,e,n,a){var r=v(t)?t:Me(t),o=v(e)?e:Me(e);return!!(this.isValid()&&r.isValid()&&o.isValid())&&("("===(a=a||"()")[0]?this.isAfter(r,n):!this.isBefore(r,n))&&(")"===a[1]?this.isBefore(o,n):!this.isAfter(o,n))},dn.isSame=function(t,e){var n,a=v(t)?t:Me(t);return!(!this.isValid()||!a.isValid())&&("millisecond"===(e=D(e)||"millisecond")?this.valueOf()===a.valueOf():(n=a.valueOf(),this.clone().startOf(e).valueOf()<=n&&n<=this.clone().endOf(e).valueOf()))},dn.isSameOrAfter=function(t,e){return this.isSame(t,e)||this.isAfter(t,e)},dn.isSameOrBefore=function(t,e){return this.isSame(t,e)||this.isBefore(t,e)},dn.isValid=function(){return m(this)},dn.lang=$e,dn.locale=Ke,dn.localeData=Ze,dn.max=we,dn.min=xe,dn.parsingFlags=function(){return g({},p(this))},dn.set=function(t,e){if("object"==typeof t)for(var n=function(t){var e=[];for(var n in t)e.push({unit:n,priority:q[n]});return e.sort((function(t,e){return t.priority-e.priority})),e}(t=L(t)),a=0;a<n.length;a++)this[n[a].unit](t[n[a].unit]);else if(I(this[t=D(t)]))return this[t](e);return this},dn.startOf=function(t){var e;if(void 0===(t=D(t))||"millisecond"===t||!this.isValid())return this;var n=this._isUTC?Qe:Xe;switch(t){case"year":e=n(this.year(),0,1);break;case"quarter":e=n(this.year(),this.month()-this.month()%3,1);break;case"month":e=n(this.year(),this.month(),1);break;case"week":e=n(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":e=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":e=n(this.year(),this.month(),this.date());break;case"hour":e=this._d.valueOf(),e-=Je(e+(this._isUTC?0:6e4*this.utcOffset()),36e5);break;case"minute":e=this._d.valueOf(),e-=Je(e,6e4);break;case"second":e=this._d.valueOf(),e-=Je(e,1e3)}return this._d.setTime(e),r.updateOffset(this,!0),this},dn.subtract=Ue,dn.toArray=function(){var t=this;return[t.year(),t.month(),t.date(),t.hour(),t.minute(),t.second(),t.millisecond()]},dn.toObject=function(){var t=this;return{years:t.year(),months:t.month(),date:t.date(),hours:t.hours(),minutes:t.minutes(),seconds:t.seconds(),milliseconds:t.milliseconds()}},dn.toDate=function(){return new Date(this.valueOf())},dn.toISOString=function(t){if(!this.isValid())return null;var e=!0!==t,n=e?this.clone().utc():this;return n.year()<0||n.year()>9999?H(n,e?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):I(Date.prototype.toISOString)?e?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",H(n,"Z")):H(n,e?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},dn.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var t="moment",e="";this.isLocal()||(t=0===this.utcOffset()?"moment.utc":"moment.parseZone",e="Z");var n="["+t+'("]',a=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY";return this.format(n+a+"-MM-DD[T]HH:mm:ss.SSS"+e+'[")]')},dn.toJSON=function(){return this.isValid()?this.toISOString():null},dn.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},dn.unix=function(){return Math.floor(this.valueOf()/1e3)},dn.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},dn.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},dn.year=Ot,dn.isLeapYear=function(){return yt(this.year())},dn.weekYear=function(t){return en.call(this,t,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},dn.isoWeekYear=function(t){return en.call(this,t,this.isoWeek(),this.isoWeekday(),1,4)},dn.quarter=dn.quarters=function(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)},dn.month=It,dn.daysInMonth=function(){return Mt(this.year(),this.month())},dn.week=dn.weeks=function(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")},dn.isoWeek=dn.isoWeeks=function(t){var e=jt(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")},dn.weeksInYear=function(){var t=this.localeData()._week;return Ft(this.year(),t.dow,t.doy)},dn.isoWeeksInYear=function(){return Ft(this.year(),1,4)},dn.date=an,dn.day=dn.days=function(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=function(t,e){return"string"!=typeof t?t:isNaN(t)?"number"==typeof(t=e.weekdaysParse(t))?t:null:parseInt(t,10)}(t,this.localeData()),this.add(t-e,"d")):e},dn.weekday=function(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")},dn.isoWeekday=function(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var e=function(t,e){return"string"==typeof t?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}(t,this.localeData());return this.day(this.day()%7?e:e-7)}return this.day()||7},dn.dayOfYear=function(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")},dn.hour=dn.hours=Qt,dn.minute=dn.minutes=rn,dn.second=dn.seconds=sn,dn.millisecond=dn.milliseconds=ln,dn.utcOffset=function(t,e,n){var a,o=this._offset||0;if(!this.isValid())return null!=t?this:NaN;if(null!=t){if("string"==typeof t){if(null===(t=Ee(st,t)))return this}else Math.abs(t)<16&&!n&&(t*=60);return!this._isUTC&&e&&(a=Le(this)),this._offset=t,this._isUTC=!0,null!=a&&this.add(a,"m"),o!==t&&(!e||this._changeInProgress?Ye(this,ze(t-o,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,r.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?o:Le(this)},dn.utc=function(t){return this.utcOffset(0,t)},dn.local=function(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(Le(this),"m")),this},dn.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var t=Ee(it,this._i);null!=t?this.utcOffset(t):this.utcOffset(0,!0)}return this},dn.hasAlignedHourOffset=function(t){return!!this.isValid()&&(t=t?Me(t).utcOffset():0,(this.utcOffset()-t)%60==0)},dn.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},dn.isLocal=function(){return!!this.isValid()&&!this._isUTC},dn.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},dn.isUtc=qe,dn.isUTC=qe,dn.zoneAbbr=function(){return this._isUTC?"UTC":""},dn.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},dn.dates=w("dates accessor is deprecated. Use date instead.",an),dn.months=w("months accessor is deprecated. Use month instead",It),dn.years=w("years accessor is deprecated. Use year instead",Ot),dn.zone=w("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",(function(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()})),dn.isDSTShifted=w("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",(function(){if(!s(this._isDSTShifted))return this._isDSTShifted;var t={};if(y(t,this),(t=Ce(t))._a){var e=t._isUTC?f(t._a):Me(t._a);this._isDSTShifted=this.isValid()&&M(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}));var gn=R.prototype;function fn(t,e,n,a){var r=se(),o=f().set(a,e);return r[n](o,t)}function pn(t,e,n){if(c(t)&&(e=t,t=void 0),t=t||"",null!=e)return fn(t,e,n,"month");var a,r=[];for(a=0;a<12;a++)r[a]=fn(t,a,n,"month");return r}function mn(t,e,n,a){"boolean"==typeof t?(c(e)&&(n=e,e=void 0),e=e||""):(n=e=t,t=!1,c(e)&&(n=e,e=void 0),e=e||"");var r,o=se(),i=t?o._week.dow:0;if(null!=n)return fn(e,(n+i)%7,a,"day");var s=[];for(r=0;r<7;r++)s[r]=fn(e,(r+i)%7,a,"day");return s}gn.calendar=function(t,e,n){var a=this._calendar[t]||this._calendar.sameElse;return I(a)?a.call(e,n):a},gn.longDateFormat=function(t){var e=this._longDateFormat[t],n=this._longDateFormat[t.toUpperCase()];return e||!n?e:(this._longDateFormat[t]=n.replace(/MMMM|MM|DD|dddd/g,(function(t){return t.slice(1)})),this._longDateFormat[t])},gn.invalidDate=function(){return this._invalidDate},gn.ordinal=function(t){return this._ordinal.replace("%d",t)},gn.preparse=un,gn.postformat=un,gn.relativeTime=function(t,e,n,a){var r=this._relativeTime[n];return I(r)?r(t,e,n,a):r.replace(/%d/i,t)},gn.pastFuture=function(t,e){var n=this._relativeTime[t>0?"future":"past"];return I(n)?n(e):n.replace(/%s/i,e)},gn.set=function(t){var e,n;for(n in t)I(e=t[n])?this[n]=e:this["_"+n]=e;this._config=t,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},gn.months=function(t,e){return t?o(this._months)?this._months[t.month()]:this._months[(this._months.isFormat||xt).test(e)?"format":"standalone"][t.month()]:o(this._months)?this._months:this._months.standalone},gn.monthsShort=function(t,e){return t?o(this._monthsShort)?this._monthsShort[t.month()]:this._monthsShort[xt.test(e)?"format":"standalone"][t.month()]:o(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},gn.monthsParse=function(t,e,n){var a,r,o;if(this._monthsParseExact)return St.call(this,t,e,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),a=0;a<12;a++){if(r=f([2e3,a]),n&&!this._longMonthsParse[a]&&(this._longMonthsParse[a]=new RegExp("^"+this.months(r,"").replace(".","")+"$","i"),this._shortMonthsParse[a]=new RegExp("^"+this.monthsShort(r,"").replace(".","")+"$","i")),n||this._monthsParse[a]||(o="^"+this.months(r,"")+"|^"+this.monthsShort(r,""),this._monthsParse[a]=new RegExp(o.replace(".",""),"i")),n&&"MMMM"===e&&this._longMonthsParse[a].test(t))return a;if(n&&"MMM"===e&&this._shortMonthsParse[a].test(t))return a;if(!n&&this._monthsParse[a].test(t))return a}},gn.monthsRegex=function(t){return this._monthsParseExact?(u(this,"_monthsRegex")||At.call(this),t?this._monthsStrictRegex:this._monthsRegex):(u(this,"_monthsRegex")||(this._monthsRegex=Rt),this._monthsStrictRegex&&t?this._monthsStrictRegex:this._monthsRegex)},gn.monthsShortRegex=function(t){return this._monthsParseExact?(u(this,"_monthsRegex")||At.call(this),t?this._monthsShortStrictRegex:this._monthsShortRegex):(u(this,"_monthsShortRegex")||(this._monthsShortRegex=Nt),this._monthsShortStrictRegex&&t?this._monthsShortStrictRegex:this._monthsShortRegex)},gn.week=function(t){return jt(t,this._week.dow,this._week.doy).week},gn.firstDayOfYear=function(){return this._week.doy},gn.firstDayOfWeek=function(){return this._week.dow},gn.weekdays=function(t,e){var n=o(this._weekdays)?this._weekdays:this._weekdays[t&&!0!==t&&this._weekdays.isFormat.test(e)?"format":"standalone"];return!0===t?zt(n,this._week.dow):t?n[t.day()]:n},gn.weekdaysMin=function(t){return!0===t?zt(this._weekdaysMin,this._week.dow):t?this._weekdaysMin[t.day()]:this._weekdaysMin},gn.weekdaysShort=function(t){return!0===t?zt(this._weekdaysShort,this._week.dow):t?this._weekdaysShort[t.day()]:this._weekdaysShort},gn.weekdaysParse=function(t,e,n){var a,r,o;if(this._weekdaysParseExact)return Yt.call(this,t,e,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),a=0;a<7;a++){if(r=f([2e3,1]).day(a),n&&!this._fullWeekdaysParse[a]&&(this._fullWeekdaysParse[a]=new RegExp("^"+this.weekdays(r,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[a]=new RegExp("^"+this.weekdaysShort(r,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[a]=new RegExp("^"+this.weekdaysMin(r,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[a]||(o="^"+this.weekdays(r,"")+"|^"+this.weekdaysShort(r,"")+"|^"+this.weekdaysMin(r,""),this._weekdaysParse[a]=new RegExp(o.replace(".",""),"i")),n&&"dddd"===e&&this._fullWeekdaysParse[a].test(t))return a;if(n&&"ddd"===e&&this._shortWeekdaysParse[a].test(t))return a;if(n&&"dd"===e&&this._minWeekdaysParse[a].test(t))return a;if(!n&&this._weekdaysParse[a].test(t))return a}},gn.weekdaysRegex=function(t){return this._weekdaysParseExact?(u(this,"_weekdaysRegex")||Kt.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(u(this,"_weekdaysRegex")||(this._weekdaysRegex=Ht),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)},gn.weekdaysShortRegex=function(t){return this._weekdaysParseExact?(u(this,"_weekdaysRegex")||Kt.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(u(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Ut),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},gn.weekdaysMinRegex=function(t){return this._weekdaysParseExact?(u(this,"_weekdaysRegex")||Kt.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(u(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Wt),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},gn.isPM=function(t){return"p"===(t+"").toLowerCase().charAt(0)},gn.meridiem=function(t,e,n){return t>11?n?"pm":"PM":n?"am":"AM"},oe("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10;return t+(1===P(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")}}),r.lang=w("moment.lang is deprecated. Use moment.locale instead.",oe),r.langData=w("moment.langData is deprecated. Use moment.localeData instead.",se);var hn=Math.abs;function bn(t,e,n,a){var r=ze(e,n);return t._milliseconds+=a*r._milliseconds,t._days+=a*r._days,t._months+=a*r._months,t._bubble()}function yn(t){return t<0?Math.floor(t):Math.ceil(t)}function _n(t){return 4800*t/146097}function On(t){return 146097*t/4800}function vn(t){return function(){return this.as(t)}}var Cn=vn("ms"),Pn=vn("s"),Mn=vn("m"),xn=vn("h"),wn=vn("d"),Tn=vn("w"),Sn=vn("M"),kn=vn("Q"),In=vn("y");function Nn(t){return function(){return this.isValid()?this._data[t]:NaN}}var Rn=Nn("milliseconds"),An=Nn("seconds"),En=Nn("minutes"),Dn=Nn("hours"),Ln=Nn("days"),qn=Nn("months"),jn=Nn("years"),Fn=Math.round,zn={ss:44,s:45,m:45,h:22,d:26,M:11};function Gn(t,e,n,a,r){return r.relativeTime(e||1,!!n,t,a)}var Bn=Math.abs;function Vn(t){return(t>0)-(t<0)||+t}function Yn(){if(!this.isValid())return this.localeData().invalidDate();var t,e,n=Bn(this._milliseconds)/1e3,a=Bn(this._days),r=Bn(this._months);t=C(n/60),e=C(t/60),n%=60,t%=60;var o=C(r/12),i=r%=12,s=a,c=e,l=t,d=n?n.toFixed(3).replace(/\.?0+$/,""):"",u=this.asSeconds();if(!u)return"P0D";var g=u<0?"-":"",f=Vn(this._months)!==Vn(u)?"-":"",p=Vn(this._days)!==Vn(u)?"-":"",m=Vn(this._milliseconds)!==Vn(u)?"-":"";return g+"P"+(o?f+o+"Y":"")+(i?f+i+"M":"")+(s?p+s+"D":"")+(c||l||d?"T":"")+(c?m+c+"H":"")+(l?m+l+"M":"")+(d?m+d+"S":"")}var Hn=ke.prototype;return Hn.isValid=function(){return this._isValid},Hn.abs=function(){var t=this._data;return this._milliseconds=hn(this._milliseconds),this._days=hn(this._days),this._months=hn(this._months),t.milliseconds=hn(t.milliseconds),t.seconds=hn(t.seconds),t.minutes=hn(t.minutes),t.hours=hn(t.hours),t.months=hn(t.months),t.years=hn(t.years),this},Hn.add=function(t,e){return bn(this,t,e,1)},Hn.subtract=function(t,e){return bn(this,t,e,-1)},Hn.as=function(t){if(!this.isValid())return NaN;var e,n,a=this._milliseconds;if("month"===(t=D(t))||"quarter"===t||"year"===t)switch(n=this._months+_n(e=this._days+a/864e5),t){case"month":return n;case"quarter":return n/3;case"year":return n/12}else switch(e=this._days+Math.round(On(this._months)),t){case"week":return e/7+a/6048e5;case"day":return e+a/864e5;case"hour":return 24*e+a/36e5;case"minute":return 1440*e+a/6e4;case"second":return 86400*e+a/1e3;case"millisecond":return Math.floor(864e5*e)+a;default:throw new Error("Unknown unit "+t)}},Hn.asMilliseconds=Cn,Hn.asSeconds=Pn,Hn.asMinutes=Mn,Hn.asHours=xn,Hn.asDays=wn,Hn.asWeeks=Tn,Hn.asMonths=Sn,Hn.asQuarters=kn,Hn.asYears=In,Hn.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*P(this._months/12):NaN},Hn._bubble=function(){var t,e,n,a,r,o=this._milliseconds,i=this._days,s=this._months,c=this._data;return o>=0&&i>=0&&s>=0||o<=0&&i<=0&&s<=0||(o+=864e5*yn(On(s)+i),i=0,s=0),c.milliseconds=o%1e3,t=C(o/1e3),c.seconds=t%60,e=C(t/60),c.minutes=e%60,n=C(e/60),c.hours=n%24,i+=C(n/24),s+=r=C(_n(i)),i-=yn(On(r)),a=C(s/12),s%=12,c.days=i,c.months=s,c.years=a,this},Hn.clone=function(){return ze(this)},Hn.get=function(t){return t=D(t),this.isValid()?this[t+"s"]():NaN},Hn.milliseconds=Rn,Hn.seconds=An,Hn.minutes=En,Hn.hours=Dn,Hn.days=Ln,Hn.weeks=function(){return C(this.days()/7)},Hn.months=qn,Hn.years=jn,Hn.humanize=function(t){if(!this.isValid())return this.localeData().invalidDate();var e=this.localeData(),n=function(t,e,n){var a=ze(t).abs(),r=Fn(a.as("s")),o=Fn(a.as("m")),i=Fn(a.as("h")),s=Fn(a.as("d")),c=Fn(a.as("M")),l=Fn(a.as("y")),d=r<=zn.ss&&["s",r]||r<zn.s&&["ss",r]||o<=1&&["m"]||o<zn.m&&["mm",o]||i<=1&&["h"]||i<zn.h&&["hh",i]||s<=1&&["d"]||s<zn.d&&["dd",s]||c<=1&&["M"]||c<zn.M&&["MM",c]||l<=1&&["y"]||["yy",l];return d[2]=e,d[3]=+t>0,d[4]=n,Gn.apply(null,d)}(this,!t,e);return t&&(n=e.pastFuture(+this,n)),e.postformat(n)},Hn.toISOString=Yn,Hn.toString=Yn,Hn.toJSON=Yn,Hn.locale=Ke,Hn.localeData=Ze,Hn.toIsoString=w("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Yn),Hn.lang=$e,Y("X",0,0,"unix"),Y("x",0,0,"valueOf"),dt("x",ot),dt("X",/[+-]?\d+(\.\d{1,3})?/),pt("X",(function(t,e,n){n._d=new Date(1e3*parseFloat(t,10))})),pt("x",(function(t,e,n){n._d=new Date(P(t))})),r.version="2.24.0",e=Me,r.fn=dn,r.min=function(){var t=[].slice.call(arguments,0);return Te("isBefore",t)},r.max=function(){var t=[].slice.call(arguments,0);return Te("isAfter",t)},r.now=function(){return Date.now?Date.now():+new Date},r.utc=f,r.unix=function(t){return Me(1e3*t)},r.months=function(t,e){return pn(t,e,"months")},r.isDate=l,r.locale=oe,r.invalid=h,r.duration=ze,r.isMoment=v,r.weekdays=function(t,e,n){return mn(t,e,n,"weekdays")},r.parseZone=function(){return Me.apply(null,arguments).parseZone()},r.localeData=se,r.isDuration=Ie,r.monthsShort=function(t,e){return pn(t,e,"monthsShort")},r.weekdaysMin=function(t,e,n){return mn(t,e,n,"weekdaysMin")},r.defineLocale=ie,r.updateLocale=function(t,e){if(null!=e){var n,a,r=te;null!=(a=re(t))&&(r=a._config),(n=new R(e=N(r,e))).parentLocale=ee[t],ee[t]=n,oe(t)}else null!=ee[t]&&(null!=ee[t].parentLocale?ee[t]=ee[t].parentLocale:null!=ee[t]&&delete ee[t]);return ee[t]},r.locales=function(){return T(ee)},r.weekdaysShort=function(t,e,n){return mn(t,e,n,"weekdaysShort")},r.normalizeUnits=D,r.relativeTimeRounding=function(t){return void 0===t?Fn:"function"==typeof t&&(Fn=t,!0)},r.relativeTimeThreshold=function(t,e){return void 0!==zn[t]&&(void 0===e?zn[t]:(zn[t]=e,"s"===t&&(zn.ss=e-1),!0))},r.calendarFormat=function(t,e){var n=t.diff(e,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"},r.prototype=dn,r.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},r}()}).call(this,n("YuTi")(t))},wg0c:function(t,e,n){var a=n("2oRo"),r=n("WKiH").trim,o=n("WJkJ"),i=a.parseInt,s=/^[+-]?0[Xx]/,c=8!==i(o+"08")||22!==i(o+"0x16");t.exports=c?function(t,e){var n=r(String(t));return i(n,e>>>0||(s.test(n)?16:10))}:i},wig9:function(t,e){t.exports=function(t){for(var e=-1,n=null==t?0:t.length,a=0,r=[];++e<n;){var o=t[e];o&&(r[a++]=o)}return r}},wnGv:function(t,e,n){"use strict";n.d(e,"a",(function(){return d}));var a=n("8Y7J"),r=n("s7LF"),o=n("LvDl"),i=n("oxzT"),s=n("QFaf"),c=n("DNAf"),l=n("a96k");class d{constructor(t){this.i18n=t,this.data=[],this.options=[],this.messages=new c.a({},this.i18n),this.customBadges=!1,this.customBadgeValidators=[],this.selection=new a.EventEmitter,this.Object=Object,this.filteredOptions=[],this.icons=i.a}ngOnInit(){this.initFilter(),this.data.length>0&&this.initMissingOptions(),this.options=o.sortBy(this.options,["name"]),this.updateOptions()}initFilter(){this.filter=new r.i("",{validators:this.customBadgeValidators}),this.form=new s.a({filter:this.filter}),this.filteredOptions=[...this.options||[]]}initMissingOptions(){const t=this.options.map(t=>t.name);this.data.filter(e=>-1===t.indexOf(e)).forEach(t=>this.addOption(t)),this.forceOptionsToReflectData()}addOption(t){this.options.push(new l.a(!1,t,"")),this.options=o.sortBy(this.options,["name"]),this.triggerSelection(this.options.find(e=>e.name===t))}triggerSelection(t){!t||this.selectionLimit&&!t.selected&&this.data.length>=this.selectionLimit||(t.selected=!t.selected,this.updateOptions(),this.selection.emit({option:t}))}updateOptions(){this.data.splice(0,this.data.length),this.options.forEach(t=>{t.selected&&this.data.push(t.name)}),this.updateFilter()}updateFilter(){this.filteredOptions=this.options.filter(t=>t.name.includes(this.filter.value))}forceOptionsToReflectData(){this.options.forEach(t=>{-1!==this.data.indexOf(t.name)&&(t.selected=!0)})}ngOnChanges(){this.filter&&this.updateFilter(),this.options&&this.data&&0!==this.data.length&&this.forceOptionsToReflectData()}selectOption(){0===this.filteredOptions.length?this.addCustomOption():(this.triggerSelection(this.filteredOptions[0]),this.resetFilter())}addCustomOption(){this.isCreatable()&&(this.addOption(this.filter.value),this.resetFilter())}isCreatable(){return this.customBadges&&this.filter.valid&&this.filter.value.length>0&&this.filteredOptions.every(t=>t.name!==this.filter.value)}resetFilter(){this.filter.setValue(""),this.updateFilter()}removeItem(t){this.triggerSelection(this.options.find(e=>e.name===t&&e.selected))}}},woSy:function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var a=n("8Y7J"),r=n("f95s"),o=function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},i=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},s=function(){function t(){}return t.prototype.onDrop=function(t){this.node.mouseAction("drop",t.event,{from:t.element,to:{parent:this.node,index:this.dropIndex}})},t.prototype.allowDrop=function(t,e){return this.node.options.allowDrop(t,{parent:this.node,index:this.dropIndex},e)},o([Object(a.Input)(),i("design:type",r.a)],t.prototype,"node",void 0),o([Object(a.Input)(),i("design:type",Number)],t.prototype,"dropIndex",void 0),o([Object(a.Component)({selector:"TreeNodeDropSlot, tree-node-drop-slot",encapsulation:a.ViewEncapsulation.None,styles:[],template:'\n    <div\n      class="node-drop-slot"\n      (treeDrop)="onDrop($event)"\n      [treeAllowDrop]="allowDrop.bind(this)"\n      [allowDragoverStyling]="true">\n    </div>\n  '})],t)}()},wrZu:function(t,e,n){var a=n("+K+b"),r=n("XYm9"),o=n("b2z7"),i=n("otv/"),s=n("yP5f");t.exports=function(t,e,n){var c=t.constructor;switch(e){case"[object ArrayBuffer]":return a(t);case"[object Boolean]":case"[object Date]":return new c(+t);case"[object DataView]":return r(t,n);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return s(t,n);case"[object Map]":return new c;case"[object Number]":case"[object String]":return new c(t);case"[object RegExp]":return o(t);case"[object Set]":return new c;case"[object Symbol]":return i(t)}}},"x+ZX":function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("7o/Q");function r(){return function(t){return t.lift(new o(t))}}class o{constructor(t){this.connectable=t}call(t,e){const{connectable:n}=this;n._refCount++;const a=new i(t,n),r=e.subscribe(a);return a.closed||(a.connection=n.connect()),r}}class i extends a.a{constructor(t,e){super(t),this.connectable=e}_unsubscribe(){const{connectable:t}=this;if(!t)return void(this.connection=null);this.connectable=null;const e=t._refCount;if(e<=0)return void(this.connection=null);if(t._refCount=e-1,e>1)return void(this.connection=null);const{connection:n}=this,a=t._connection;this.connection=null,!a||n&&a!==n||a.unsubscribe()}}},x38r:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));var a=function(t){return t.bold="bold",t.sparkline="sparkline",t.perSecond="perSecond",t.checkIcon="checkIcon",t.routerLink="routerLink",t.executing="executing",t.classAdding="classAdding",t.badge="badge",t.map="map",t.truncate="truncate",t}({})},x6pH:function(t,e,n){!function(t){"use strict";t.defineLocale("he",{months:"ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר".split("_"),monthsShort:"ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳".split("_"),weekdays:"ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת".split("_"),weekdaysShort:"א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳".split("_"),weekdaysMin:"א_ב_ג_ד_ה_ו_ש".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [ב]MMMM YYYY",LLL:"D [ב]MMMM YYYY HH:mm",LLLL:"dddd, D [ב]MMMM YYYY HH:mm",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[היום ב־]LT",nextDay:"[מחר ב־]LT",nextWeek:"dddd [בשעה] LT",lastDay:"[אתמול ב־]LT",lastWeek:"[ביום] dddd [האחרון בשעה] LT",sameElse:"L"},relativeTime:{future:"בעוד %s",past:"לפני %s",s:"מספר שניות",ss:"%d שניות",m:"דקה",mm:"%d דקות",h:"שעה",hh:function(t){return 2===t?"שעתיים":t+" שעות"},d:"יום",dd:function(t){return 2===t?"יומיים":t+" ימים"},M:"חודש",MM:function(t){return 2===t?"חודשיים":t+" חודשים"},y:"שנה",yy:function(t){return 2===t?"שנתיים":t%10==0&&10!==t?t+" שנה":t+" שנים"}},meridiemParse:/אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,isPM:function(t){return/^(אחה"צ|אחרי הצהריים|בערב)$/.test(t)},meridiem:function(t,e,n){return t<5?"לפנות בוקר":t<10?"בבוקר":t<12?n?'לפנה"צ':"לפני הצהריים":t<18?n?'אחה"צ':"אחרי הצהריים":"בערב"}})}(n("wd/R"))},xDBR:function(t,e){t.exports=!1},xSw7:function(t,e,n){"use strict";var a=n("8Y7J"),r=n("Fgil"),o=n("aXbf"),i=n("978R"),s=n("z/SZ"),c=n("2uy1");n("GgAd"),n.d(e,"a",(function(){return l})),n.d(e,"b",(function(){return u}));var l=a["ɵcrt"]({encapsulation:0,styles:[[".bg-info[_ngcontent-%COMP%]{background-color:#2b99a8!important}.bg-freespace[_ngcontent-%COMP%]{background-color:#d1d1d1!important}.progress[_ngcontent-%COMP%]{height:20px;position:relative;margin-bottom:0}.progress[_ngcontent-%COMP%]   div.progress-bar[_ngcontent-%COMP%]{position:static}.progress[_ngcontent-%COMP%]   span[_ngcontent-%COMP%]{position:absolute;display:block;width:100%;color:#000;font-weight:400}"]],data:{}});function d(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,14,"table",[],null,null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,6,"tr",[],null,null,null,null,null)),(t()(),a["ɵeld"](2,0,null,null,1,"td",[["class","text-left"]],null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["Used: "])),(t()(),a["ɵeld"](4,0,null,null,3,"td",[["class","text-right"]],null,null,null,null,null)),(t()(),a["ɵeld"](5,0,null,null,2,"strong",[],null,null,null,null,null)),(t()(),a["ɵted"](6,null,[" ",""])),a["ɵppd"](7,1),(t()(),a["ɵeld"](8,0,null,null,6,"tr",[],null,null,null,null,null)),(t()(),a["ɵeld"](9,0,null,null,1,"td",[["class","text-left"]],null,null,null,null,null)),(t()(),a["ɵted"](-1,null,["Free: "])),(t()(),a["ɵeld"](11,0,null,null,3,"td",[["class","'text-right"]],null,null,null,null,null)),(t()(),a["ɵeld"](12,0,null,null,2,"strong",[],null,null,null,null,null)),(t()(),a["ɵted"](13,null,["",""])),a["ɵppd"](14,1)],null,(function(t,e){var n=e.component,r=a["ɵunv"](e,6,0,t(e,7,0,a["ɵnov"](e.parent,0),n.usedBytes));t(e,6,0,r);var o=a["ɵunv"](e,13,0,t(e,14,0,a["ɵnov"](e.parent,0),n.freeBytes));t(e,13,0,o)}))}function u(t){return a["ɵvid"](0,[a["ɵpid"](0,r.a,[o.a]),(t()(),a["ɵand"](0,[["usageTooltipTpl",2]],null,0,null,d)),(t()(),a["ɵeld"](2,16777216,null,null,5,"div",[["class","progress"],["data-placement","left"]],[[1,"aria-describedby",0]],null,null,null,null)),a["ɵdid"](3,212992,null,0,i.c,[a.ViewContainerRef,s.a,i.a,a.ElementRef,a.Renderer2,c.a],{tooltip:[0,"tooltip"],placement:[1,"placement"]},null),(t()(),a["ɵeld"](4,0,null,null,2,"div",[["class","progress-bar bg-info"],["role","progressbar"]],[[4,"width",null]],null,null,null,null)),(t()(),a["ɵeld"](5,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),a["ɵted"](6,null,["","%"])),(t()(),a["ɵeld"](7,0,null,null,0,"div",[["class","progress-bar bg-freespace"],["role","progressbar"]],[[4,"width",null]],null,null,null,null))],(function(t,e){t(e,3,0,a["ɵnov"](e,1),"left")}),(function(t,e){var n=e.component;t(e,2,0,a["ɵnov"](e,3).ariaDescribedby),t(e,4,0,n.usedPercentage+"%"),t(e,6,0,n.usedPercentage),t(e,7,0,n.freePercentage+"%")}))}},xTzq:function(t,e,n){"use strict";n.d(e,"a",(function(){return r})),n.d(e,"b",(function(){return o}));var a=n("LvDl");function r(...t){switch(t.length){case 1:return i.apply(void 0,t);case 3:return s.apply(void 0,t);default:throw new Error}}function o(t,e,n){const a=`__ignore_${e}`;Array.isArray(t[a])?t[a].push(n):t[a]=[n]}function i(t){for(const e of Object.getOwnPropertyNames(t.prototype)){const n=Object.getOwnPropertyDescriptor(t.prototype,e),a="constructor"===e;n.value instanceof Function&&!a&&(s(t.prototype,e,n),Object.defineProperty(t.prototype,e,n))}}function s(t,e,n){void 0===n&&(n=Object.getOwnPropertyDescriptor(t,e));const r=n.value;n.value=function(){const n=`__ignore_${e}`,o=t[n]||[],i=[];for(let t=0;t<arguments.length;t++)i[t]=a.isString(arguments[t])&&-1===o.indexOf(t)?encodeURIComponent(arguments[t]):arguments[t];const s=r.apply(this,i);return s}}},xYSL:function(t,e){t.exports=function(t,e){return t.has(e)}},xbPD:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("7o/Q");function r(t=null){return e=>e.lift(new o(t))}class o{constructor(t){this.defaultValue=t}call(t,e){return e.subscribe(new i(t,this.defaultValue))}}class i extends a.a{constructor(t,e){super(t),this.defaultValue=e,this.isEmpty=!0}_next(t){this.isEmpty=!1,this.destination.next(t)}_complete(){this.isEmpty&&this.destination.next(this.defaultValue),this.destination.complete()}}},xgIS:function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var a=n("HDdC"),r=n("DH7j"),o=n("n6bG"),i=n("lJxs");function s(t,e,n,c){return Object(o.a)(n)&&(c=n,n=void 0),c?s(t,e,n).pipe(Object(i.a)(t=>Object(r.a)(t)?c(...t):c(t))):new a.a(a=>{!function t(e,n,a,r,o){let i;if(function(t){return t&&"function"==typeof t.addEventListener&&"function"==typeof t.removeEventListener}(e)){const t=e;e.addEventListener(n,a,o),i=()=>t.removeEventListener(n,a,o)}else if(function(t){return t&&"function"==typeof t.on&&"function"==typeof t.off}(e)){const t=e;e.on(n,a),i=()=>t.off(n,a)}else if(function(t){return t&&"function"==typeof t.addListener&&"function"==typeof t.removeListener}(e)){const t=e;e.addListener(n,a),i=()=>t.removeListener(n,a)}else{if(!e||!e.length)throw new TypeError("Invalid event target");for(let i=0,s=e.length;i<s;i++)t(e[i],n,a,r,o)}r.add(i)}(t,e,(function(t){a.next(arguments.length>1?Array.prototype.slice.call(arguments):t)}),a,n)})}},"xj/R":function(t,e,n){"use strict";function a(t){return t<0?Math.ceil(t)||0:Math.floor(t)}function r(t){return"string"==typeof t}function o(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function i(t){return t&&t.getTime&&!isNaN(t.getTime())}function s(t){return t instanceof Function||"[object Function]"===Object.prototype.toString.call(t)}function c(t){return"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t)}function l(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function d(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function u(t){return null!=t&&"[object Object]"===Object.prototype.toString.call(t)}function g(t){return void 0===t}function f(t){const e=+t;let n=0;return 0!==e&&isFinite(e)&&(n=a(e)),n}n.d(e,"a",(function(){return Ke})),n.d(e,"b",(function(){return Ze})),n.d(e,"c",(function(){return Jt})),n.d(e,"d",(function(){return Ct})),n.d(e,"e",(function(){return en})),n.d(e,"f",(function(){return Oe})),n.d(e,"g",(function(){return nn})),n.d(e,"h",(function(){return k})),n.d(e,"i",(function(){return A})),n.d(e,"j",(function(){return R})),n.d(e,"k",(function(){return Xt})),n.d(e,"l",(function(){return N})),n.d(e,"m",(function(){return an})),n.d(e,"n",(function(){return Se})),n.d(e,"o",(function(){return l})),n.d(e,"p",(function(){return ke})),n.d(e,"q",(function(){return o})),n.d(e,"r",(function(){return i})),n.d(e,"s",(function(){return Ie})),n.d(e,"t",(function(){return E})),n.d(e,"u",(function(){return Ne})),n.d(e,"v",(function(){return q})),n.d(e,"w",(function(){return D})),n.d(e,"x",(function(){return L})),n.d(e,"y",(function(){return rn})),n.d(e,"z",(function(){return on})),n.d(e,"A",(function(){return sn})),n.d(e,"B",(function(){return we})),n.d(e,"C",(function(){return gn})),n.d(e,"D",(function(){return fn})),n.d(e,"E",(function(){return ht})),n.d(e,"F",(function(){return mt})),n.d(e,"G",(function(){return vt})),n.d(e,"H",(function(){return pn}));const p={},m={date:"day",hour:"hours",minute:"minutes",second:"seconds",millisecond:"milliseconds"};function h(t,e){const n=t.toLowerCase();let a=t;n in m&&(a=m[n]),p[n]=p[`${n}s`]=p[e]=a}function b(t){return r(t)?p[t]||p[t.toLowerCase()]:void 0}function y(t,e,n){const a=`${Math.abs(t)}`;return(t>=0?n?"+":"":"-")+Math.pow(10,Math.max(0,e-a.length)).toString().substr(1)+a}let _={},O={};const v=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g;function C(t,e,n,a){t&&(O[t]=a),e&&(O[e[0]]=function(){return y(a.apply(null,arguments),e[1],e[2])}),n&&(O[n]=function(e,n){return n.locale.ordinal(a.apply(null,arguments),t)})}function P(t,e,n){const a=new Date(Date.UTC.apply(null,arguments));return t<100&&t>=0&&isFinite(a.getUTCFullYear())&&a.setUTCFullYear(t),a}function M(t,e=0,n=1,a=0,r=0,o=0,i=0){const s=new Date(t,e,n,a,r,o,i);return t<100&&t>=0&&isFinite(s.getFullYear())&&s.setFullYear(t),s}function x(t,e=!1){return e?t.getUTCHours():t.getHours()}function w(t,e=!1){return e?t.getUTCMinutes():t.getMinutes()}function T(t,e=!1){return e?t.getUTCSeconds():t.getSeconds()}function S(t,e=!1){return e?t.getUTCMilliseconds():t.getMilliseconds()}function k(t,e=!1){return e?t.getUTCDay():t.getDay()}function I(t,e=!1){return e?t.getUTCDate():t.getDate()}function N(t,e=!1){return e?t.getUTCMonth():t.getMonth()}function R(t,e=!1){return e?t.getUTCFullYear():t.getFullYear()}function A(t){return M(t.getFullYear(),t.getMonth(),1,t.getHours(),t.getMinutes(),t.getSeconds())}function E(t,e){return t.getDay()===e}function D(t,e){return!(!t||!e)&&L(t,e)&&N(t)===N(e)}function L(t,e){return!(!t||!e)&&R(t)===R(e)}function q(t,e){return!(!t||!e)&&L(t,e)&&D(t,e)&&I(t)===I(e)}const j=/\d/,F=/\d\d/,z=/\d{3}/,G=/\d{4}/,B=/[+-]?\d{6}/,V=/\d\d?/,Y=/\d\d\d\d?/,H=/\d\d\d\d\d\d?/,U=/\d{1,3}/,W=/\d{1,4}/,K=/[+-]?\d{1,6}/,$=/\d+/,Z=/[+-]?\d+/,J=/Z|[+-]\d\d(?::?\d\d)?/gi,X=/[+-]?\d+(\.\d{1,3})?/,Q=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,tt={};function et(t,e,n){tt[t]=s(e)?e:function(t,a){return t&&n?n:e}}function nt(t,e){return d(tt,t)?tt[t](!1,e):new RegExp(at(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,(t,e,n,a,r)=>e||n||a||r)))}function at(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}const rt={};function ot(t,e){const n=r(t)?[t]:t;let a=e;if(c(e)&&(a=function(t,n,a){return n[e]=f(t),a}),l(n)&&s(a)){let t;for(t=0;t<n.length;t++)rt[n[t]]=a}}function it(t,e){ot(t,(function(t,n,a,r){return a._w=a._w||{},e(t,a._w,a,r)}))}function st(t,e,n){return null!=e&&d(rt,t)&&rt[t](e,n._a,n,t),n}function ct(t){return null==t._pf&&(t._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null,rfc2822:!1,weekdayMismatch:!1}),t._pf}function lt(t,e){return R(t,e.isUTC).toString()}function dt(t){return f(t)+(f(t)>68?1900:2e3)}function ut(t){return gt(t)?366:365}function gt(t){return t%4==0&&t%100!=0||t%400==0}function ft(t,e){if(isNaN(t)||isNaN(e))return NaN;const n=(e%12+12)%12;return 1===n?gt(t+(e-n)/12)?29:28:31-n%7%2}const pt={year:0,month:0,day:0,hour:0,minute:0,seconds:0};function mt(t,e){const n=Object.assign({},pt,e),a=t.getFullYear()+(n.year||0),r=t.getMonth()+(n.month||0);let o=t.getDate()+(n.day||0);return n.month&&!n.day&&(o=Math.min(o,ft(a,r))),M(a,r,o,t.getHours()+(n.hour||0),t.getMinutes()+(n.minute||0),t.getSeconds()+(n.seconds||0))}function ht(t,e){return M(bt(t.getFullYear(),e.year),bt(t.getMonth(),e.month),bt(t.getDate(),e.day),bt(t.getHours(),e.hour),bt(t.getMinutes(),e.minute),bt(t.getSeconds(),e.seconds),bt(t.getMilliseconds(),e.milliseconds))}function bt(t,e){return c(e)?e:t}function yt(t,e,n){const a=Math.min(I(t),ft(R(t),e));return n?t.setUTCMonth(e,a):t.setMonth(e,a),t}function _t(t,e,n){return n?t.setUTCDate(e):t.setDate(e),t}function Ot(t){return new Date(t.getTime())}function vt(t,e,n){const a=Ot(t);switch(e){case"year":yt(a,0,n);case"quarter":case"month":_t(a,1,n);case"week":case"isoWeek":case"day":case"date":!function(t,e,n){n?t.setUTCHours(0):t.setHours(0)}(a,0,n);case"hours":!function(t,e,n){n?t.setUTCMinutes(0):t.setMinutes(0)}(a,0,n);case"minutes":!function(t,e,n){n?t.setUTCSeconds(0):t.setSeconds(0)}(a,0,n);case"seconds":!function(t,e,n){n?t.setUTCMilliseconds(0):t.setMilliseconds(0)}(a,0,n)}return"week"===e&&function(t,e,n={}){qe(t,0-Ge(t,n.locale,n.isUTC),"day")}(a,0,{isUTC:n}),"isoWeek"===e&&function(t,e,n={}){const a=function(t,e=Xt()){return r(t)?e.weekdaysParse(t)%7||7:c(t)&&isNaN(t)?null:t}(1,n.locale);Fe(t,ze(t)%7?a:a-7)}(a),"quarter"===e&&yt(a,3*Math.floor(N(a,n)/3),n),a}function Ct(t,e,n){let a=e;return"date"===a&&(a="day"),function(t,e,n,a){return je(t,Ee(1,"milliseconds"),-1,a)}(qe(vt(t,a,n),1,"isoWeek"===a?"week":a,n),0,0,n)}function Pt(t,e){const n=+vt(t,"day",e),a=+vt(t,"year",e);return Math.round((n-a)/864e5)+1}function Mt(t,e,n){const a=e-n+7;return-(P(t,0,a).getUTCDay()-e+7)%7+a-1}function xt(t,e,n,a){const r=Mt(R(t,a),e,n),o=Math.floor((Pt(t,a)-r-1)/7)+1;let i,s;return o<1?(s=R(t,a)-1,i=o+wt(s,e,n)):o>wt(R(t,a),e,n)?(i=o-wt(R(t,a),e,n),s=R(t,a)+1):(s=R(t,a),i=o),{week:i,year:s}}function wt(t,e,n){const a=Mt(t,e,n),r=Mt(t+1,e,n);return(ut(t)-a+r)/7}const Tt=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,St="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),kt="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),It="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Nt="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Rt={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},At=Q,Et=Q;class Dt{constructor(t){t&&this.set(t)}set(t){let e;for(e in t){if(!t.hasOwnProperty(e))continue;const n=t[e];this[s(n)?e:`_${e}`]=n}this._config=t}calendar(t,e,n){const a=this._calendar[t]||this._calendar.sameElse;return s(a)?a.call(null,e,n):a}longDateFormat(t){const e=this._longDateFormat[t],n=this._longDateFormat[t.toUpperCase()];return e||!n?e:(this._longDateFormat[t]=n.replace(/MMMM|MM|DD|dddd/g,(function(t){return t.slice(1)})),this._longDateFormat[t])}get invalidDate(){return this._invalidDate}set invalidDate(t){this._invalidDate=t}ordinal(t,e){return this._ordinal.replace("%d",t.toString(10))}preparse(t){return t}postformat(t){return t}relativeTime(t,e,n,a){const r=this._relativeTime[n];return s(r)?r(t,e,n,a):r.replace(/%d/i,t.toString(10))}pastFuture(t,e){const n=this._relativeTime[t>0?"future":"past"];return s(n)?n(e):n.replace(/%s/i,e)}months(t,e,n=!1){if(!t)return l(this._months)?this._months:this._months.standalone;if(l(this._months))return this._months[N(t,n)];const a=(this._months.isFormat||Tt).test(e)?"format":"standalone";return this._months[a][N(t,n)]}monthsShort(t,e,n=!1){if(!t)return l(this._monthsShort)?this._monthsShort:this._monthsShort.standalone;if(l(this._monthsShort))return this._monthsShort[N(t,n)];const a=Tt.test(e)?"format":"standalone";return this._monthsShort[a][N(t,n)]}monthsParse(t,e,n){let a,r,o;if(this._monthsParseExact)return this.handleMonthStrictParse(t,e,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),o=0;o<12;o++){if(a=new Date(Date.UTC(2e3,o)),n&&!this._longMonthsParse[o]){const t=this.months(a,"",!0).replace(".",""),e=this.monthsShort(a,"",!0).replace(".","");this._longMonthsParse[o]=new RegExp(`^${t}$`,"i"),this._shortMonthsParse[o]=new RegExp(`^${e}$`,"i")}if(n||this._monthsParse[o]||(r=`^${this.months(a,"",!0)}|^${this.monthsShort(a,"",!0)}`,this._monthsParse[o]=new RegExp(r.replace(".",""),"i")),n&&"MMMM"===e&&this._longMonthsParse[o].test(t))return o;if(n&&"MMM"===e&&this._shortMonthsParse[o].test(t))return o;if(!n&&this._monthsParse[o].test(t))return o}}monthsRegex(t){return this._monthsParseExact?(d(this,"_monthsRegex")||this.computeMonthsParse(),t?this._monthsStrictRegex:this._monthsRegex):(d(this,"_monthsRegex")||(this._monthsRegex=Et),this._monthsStrictRegex&&t?this._monthsStrictRegex:this._monthsRegex)}monthsShortRegex(t){return this._monthsParseExact?(d(this,"_monthsRegex")||this.computeMonthsParse(),t?this._monthsShortStrictRegex:this._monthsShortRegex):(d(this,"_monthsShortRegex")||(this._monthsShortRegex=At),this._monthsShortStrictRegex&&t?this._monthsShortStrictRegex:this._monthsShortRegex)}week(t,e){return xt(t,this._week.dow,this._week.doy,e).week}firstDayOfWeek(){return this._week.dow}firstDayOfYear(){return this._week.doy}weekdays(t,e,n){if(!t)return l(this._weekdays)?this._weekdays:this._weekdays.standalone;if(l(this._weekdays))return this._weekdays[k(t,n)];const a=this._weekdays.isFormat.test(e)?"format":"standalone";return this._weekdays[a][k(t,n)]}weekdaysMin(t,e,n){return t?this._weekdaysMin[k(t,n)]:this._weekdaysMin}weekdaysShort(t,e,n){return t?this._weekdaysShort[k(t,n)]:this._weekdaysShort}weekdaysParse(t,e,n){let a,r;if(this._weekdaysParseExact)return this.handleWeekStrictParse(t,e,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),a=0;a<7;a++){const o=Fe(new Date(Date.UTC(2e3,1)),a,null,!0);if(n&&!this._fullWeekdaysParse[a]&&(this._fullWeekdaysParse[a]=new RegExp(`^${this.weekdays(o,"",!0).replace(".",".?")}$`,"i"),this._shortWeekdaysParse[a]=new RegExp(`^${this.weekdaysShort(o,"",!0).replace(".",".?")}$`,"i"),this._minWeekdaysParse[a]=new RegExp(`^${this.weekdaysMin(o,"",!0).replace(".",".?")}$`,"i")),this._weekdaysParse[a]||(r=`^${this.weekdays(o,"",!0)}|^${this.weekdaysShort(o,"",!0)}|^${this.weekdaysMin(o,"",!0)}`,this._weekdaysParse[a]=new RegExp(r.replace(".",""),"i")),!(l(this._fullWeekdaysParse)&&l(this._shortWeekdaysParse)&&l(this._minWeekdaysParse)&&l(this._weekdaysParse)))return;if(n&&"dddd"===e&&this._fullWeekdaysParse[a].test(t))return a;if(n&&"ddd"===e&&this._shortWeekdaysParse[a].test(t))return a;if(n&&"dd"===e&&this._minWeekdaysParse[a].test(t))return a;if(!n&&this._weekdaysParse[a].test(t))return a}}weekdaysRegex(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||this.computeWeekdaysParse(),t?this._weekdaysStrictRegex:this._weekdaysRegex):(d(this,"_weekdaysRegex")||(this._weekdaysRegex=Q),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)}weekdaysShortRegex(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||this.computeWeekdaysParse(),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(d(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Q),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}weekdaysMinRegex(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||this.computeWeekdaysParse(),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(d(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Q),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}isPM(t){return"p"===t.toLowerCase().charAt(0)}meridiem(t,e,n){return t>11?n?"pm":"PM":n?"am":"AM"}formatLongDate(t){this._longDateFormat=this._longDateFormat?this._longDateFormat:Rt;const e=this._longDateFormat[t],n=this._longDateFormat[t.toUpperCase()];return e||!n?e:(this._longDateFormat[t]=n.replace(/MMMM|MM|DD|dddd/g,t=>t.slice(1)),this._longDateFormat[t])}handleMonthStrictParse(t,e,n){const a=t.toLocaleLowerCase();let r,o,i;if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],r=0;r<12;++r)i=new Date(2e3,r),this._shortMonthsParse[r]=this.monthsShort(i,"").toLocaleLowerCase(),this._longMonthsParse[r]=this.months(i,"").toLocaleLowerCase();return n?"MMM"===e?(o=this._shortMonthsParse.indexOf(a),-1!==o?o:null):(o=this._longMonthsParse.indexOf(a),-1!==o?o:null):"MMM"===e?(o=this._shortMonthsParse.indexOf(a),-1!==o?o:(o=this._longMonthsParse.indexOf(a),-1!==o?o:null)):(o=this._longMonthsParse.indexOf(a),-1!==o?o:(o=this._shortMonthsParse.indexOf(a),-1!==o?o:null))}handleWeekStrictParse(t,e,n){let a;const r=t.toLocaleLowerCase();if(!this._weekdaysParse){let t;for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],t=0;t<7;++t){const e=Fe(new Date(Date.UTC(2e3,1)),t,null,!0);this._minWeekdaysParse[t]=this.weekdaysMin(e).toLocaleLowerCase(),this._shortWeekdaysParse[t]=this.weekdaysShort(e).toLocaleLowerCase(),this._weekdaysParse[t]=this.weekdays(e,"").toLocaleLowerCase()}}if(l(this._weekdaysParse)&&l(this._shortWeekdaysParse)&&l(this._minWeekdaysParse))return n?"dddd"===e?(a=this._weekdaysParse.indexOf(r),-1!==a?a:null):"ddd"===e?(a=this._shortWeekdaysParse.indexOf(r),-1!==a?a:null):(a=this._minWeekdaysParse.indexOf(r),-1!==a?a:null):"dddd"===e?(a=this._weekdaysParse.indexOf(r),-1!==a?a:(a=this._shortWeekdaysParse.indexOf(r),-1!==a?a:(a=this._minWeekdaysParse.indexOf(r),-1!==a?a:null))):"ddd"===e?(a=this._shortWeekdaysParse.indexOf(r),-1!==a?a:(a=this._weekdaysParse.indexOf(r),-1!==a?a:(a=this._minWeekdaysParse.indexOf(r),-1!==a?a:null))):(a=this._minWeekdaysParse.indexOf(r),-1!==a?a:(a=this._weekdaysParse.indexOf(r),-1!==a?a:(a=this._shortWeekdaysParse.indexOf(r),-1!==a?a:null)))}computeMonthsParse(){const t=[],e=[],n=[];let a,r;for(r=0;r<12;r++)a=new Date(2e3,r),t.push(this.monthsShort(a,"")),e.push(this.months(a,"")),n.push(this.months(a,"")),n.push(this.monthsShort(a,""));for(t.sort(Lt),e.sort(Lt),n.sort(Lt),r=0;r<12;r++)t[r]=at(t[r]),e[r]=at(e[r]);for(r=0;r<24;r++)n[r]=at(n[r]);this._monthsRegex=new RegExp(`^(${n.join("|")})`,"i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp(`^(${e.join("|")})`,"i"),this._monthsShortStrictRegex=new RegExp(`^(${t.join("|")})`,"i")}computeWeekdaysParse(){const t=[],e=[],n=[],a=[];let r;for(r=0;r<7;r++){const o=Fe(new Date(Date.UTC(2e3,1)),r,null,!0),i=this.weekdaysMin(o),s=this.weekdaysShort(o),c=this.weekdays(o);t.push(i),e.push(s),n.push(c),a.push(i),a.push(s),a.push(c)}for(t.sort(Lt),e.sort(Lt),n.sort(Lt),a.sort(Lt),r=0;r<7;r++)e[r]=at(e[r]),n[r]=at(n[r]),a[r]=at(a[r]);this._weekdaysRegex=new RegExp(`^(${a.join("|")})`,"i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp(`^(${n.join("|")})`,"i"),this._weekdaysShortStrictRegex=new RegExp(`^(${e.join("|")})`,"i"),this._weekdaysMinStrictRegex=new RegExp(`^(${t.join("|")})`,"i")}}function Lt(t,e){return e.length-t.length}const qt={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:Rt,invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:St,monthsShort:kt,week:{dow:0,doy:6},weekdays:It,weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),weekdaysShort:Nt,meridiemParse:/[ap]\.?m?\.?/i};function jt(t,e,n){const a=Math.min(t.length,e.length),r=Math.abs(t.length-e.length);let o,i=0;for(o=0;o<a;o++)(n&&t[o]!==e[o]||!n&&f(t[o])!==f(e[o]))&&i++;return i+r}function Ft(t,e){C(null,[t,t.length,!1],null,e)}function zt(t,e){return Bt(t,e.locale).toString()}function Gt(t){return Vt(t).toString()}function Bt(t,e=Xt(),n){return xt(t,e.firstDayOfWeek(),e.firstDayOfYear(),n).year}function Vt(t,e){return xt(t,1,4,e).year}function Yt(t,e){C(t,null,null,(function(t,n){let a=function(t,e={}){return e._isUTC?e._offset||0:function(t){return 15*-Math.round(t.getTimezoneOffset()/15)}(t)}(t,{_isUTC:n.isUTC,_offset:n.offset}),r="+";return a<0&&(a=-a,r="-"),r+y(~~(a/60),2)+e+y(~~a%60,2)}))}const Ht=/([\+\-]|\d\d)/gi,Ut={},Wt={};let Kt;function $t(t){return t?t.toLowerCase().replace("_","-"):t}function Zt(t,e){let n;return t&&(g(e)?n=Xt(t):r(t)&&(n=Jt(t,e)),n&&(Kt=n)),Kt&&Kt._abbr}function Jt(t,e){if(null===e)return delete Ut[t],Kt=Xt("en"),null;if(!e)return;let n=qt;if(e.abbr=t,null!=e.parentLocale){if(null==Ut[e.parentLocale])return Wt[e.parentLocale]||(Wt[e.parentLocale]=[]),Wt[e.parentLocale].push({name:t,config:e}),null;n=Ut[e.parentLocale]._config}return Ut[t]=new Dt(function(t,e){const n=Object.assign({},t);for(const a in e)d(e,a)&&(u(t[a])&&u(e[a])?(n[a]={},Object.assign(n[a],t[a]),Object.assign(n[a],e[a])):null!=e[a]?n[a]=e[a]:delete n[a]);for(const a in t)d(t,a)&&!d(e,a)&&u(t[a])&&(n[a]=Object.assign({},n[a]));return n}(n,e)),Wt[t]&&Wt[t].forEach((function(t){Jt(t.name,t.config)})),Zt(t),Ut[t]}function Xt(t){return Ut.en||(Zt("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal(t){const e=t%10;return t+(1===f(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")}}),C("w",["ww",2,!1],"wo",(function(t,e){return function(t,e=Xt(),n){return e.week(t,void 0)}(t,e.locale).toString(10)})),C("W",["WW",2,!1],"Wo",(function(t){return function(t,e){return xt(t,1,4,void 0).week}(t).toString(10)})),h("week","w"),h("isoWeek","W"),et("w",V),et("ww",V,F),et("W",V),et("WW",V,F),it(["w","ww","W","WW"],(function(t,e,n,a){return e[a.substr(0,1)]=f(t),n})),C(null,["gg",2,!1],null,(function(t,e){return(Bt(t,e.locale)%100).toString()})),C(null,["GG",2,!1],null,(function(t){return(Vt(t)%100).toString()})),Ft("gggg",zt),Ft("ggggg",zt),Ft("GGGG",Gt),Ft("GGGGG",Gt),h("weekYear","gg"),h("isoWeekYear","GG"),et("G",Z),et("g",Z),et("GG",V,F),et("gg",V,F),et("GGGG",W,G),et("gggg",W,G),et("GGGGG",K,B),et("ggggg",K,B),it(["gggg","ggggg","GGGG","GGGGG"],(function(t,e,n,a){return e[a.substr(0,2)]=f(t),n})),it(["gg","GG"],(function(t,e,n,a){return e[a]=dt(t),n})),C("Y",null,null,(function(t,e){const n=R(t,e.isUTC);return n<=9999?n.toString(10):`+${n}`})),C(null,["YY",2,!1],null,(function(t,e){return(R(t,e.isUTC)%100).toString(10)})),C(null,["YYYY",4,!1],null,lt),C(null,["YYYYY",5,!1],null,lt),C(null,["YYYYYY",6,!0],null,lt),h("year","y"),et("Y",Z),et("YY",V,F),et("YYYY",W,G),et("YYYYY",K,B),et("YYYYYY",K,B),ot(["YYYYY","YYYYYY"],0),ot("YYYY",(function(t,e,n){return e[0]=2===t.length?dt(t):f(t),n})),ot("YY",(function(t,e,n){return e[0]=dt(t),n})),ot("Y",(function(t,e,n){return e[0]=parseInt(t,10),n})),C("z",null,null,(function(t,e){return e.isUTC?"UTC":""})),C("zz",null,null,(function(t,e){return e.isUTC?"Coordinated Universal Time":""})),C("X",null,null,(function(t){return function(t){return Math.floor(t.valueOf()/1e3)}(t).toString(10)})),C("x",null,null,(function(t){return t.valueOf().toString(10)})),et("x",Z),et("X",X),ot("X",(function(t,e,n){return n._d=new Date(1e3*parseFloat(t)),n})),ot("x",(function(t,e,n){return n._d=new Date(f(t)),n})),C("s",["ss",2,!1],null,(function(t,e){return T(t,e.isUTC).toString(10)})),h("second","s"),et("s",V),et("ss",V,F),ot(["s","ss"],5),C("Q",null,"Qo",(function(t,e){return function(t,e=!1){return Math.ceil((N(t,e)+1)/3)}(t,e.isUTC).toString(10)})),h("quarter","Q"),et("Q",j),ot("Q",(function(t,e,n){return e[1]=3*(f(t)-1),n})),Yt("Z",":"),Yt("ZZ",""),et("Z",J),et("ZZ",J),ot(["Z","ZZ"],(function(t,e,n){return n._useUTC=!0,n._tzm=function(t,e){const n=(e||"").match(t);if(null===n)return null;const a=n[n.length-1].match(Ht)||["-","0","0"],r=60*parseInt(a[1],10)+f(a[2]);return 0===r?0:"+"===a[0]?r:-r}(J,t),n})),C("M",["MM",2,!1],"Mo",(function(t,e){return(N(t,e.isUTC)+1).toString(10)})),C("MMM",null,null,(function(t,e){return e.locale.monthsShort(t,e.format,e.isUTC)})),C("MMMM",null,null,(function(t,e){return e.locale.months(t,e.format,e.isUTC)})),h("month","M"),et("M",V),et("MM",V,F),et("MMM",(function(t,e){return e.monthsShortRegex(t)})),et("MMMM",(function(t,e){return e.monthsRegex(t)})),ot(["M","MM"],(function(t,e,n){return e[1]=f(t)-1,n})),ot(["MMM","MMMM"],(function(t,e,n,a){const r=n._locale.monthsParse(t,a,n._strict);return null!=r?e[1]=r:ct(n).invalidMonth=!!t,n})),C("m",["mm",2,!1],null,(function(t,e){return w(t,e.isUTC).toString(10)})),h("minute","m"),et("m",V),et("mm",V,F),ot(["m","mm"],4),function(){let t;for(C("S",null,null,(function(t,e){return(~~(S(t,e.isUTC)/100)).toString(10)})),C(null,["SS",2,!1],null,(function(t,e){return(~~(S(t,e.isUTC)/10)).toString(10)})),C(null,["SSS",3,!1],null,(function(t,e){return S(t,e.isUTC).toString(10)})),C(null,["SSSS",4,!1],null,(function(t,e){return(10*S(t,e.isUTC)).toString(10)})),C(null,["SSSSS",5,!1],null,(function(t,e){return(100*S(t,e.isUTC)).toString(10)})),C(null,["SSSSSS",6,!1],null,(function(t,e){return(1e3*S(t,e.isUTC)).toString(10)})),C(null,["SSSSSSS",7,!1],null,(function(t,e){return(1e4*S(t,e.isUTC)).toString(10)})),C(null,["SSSSSSSS",8,!1],null,(function(t,e){return(1e5*S(t,e.isUTC)).toString(10)})),C(null,["SSSSSSSSS",9,!1],null,(function(t,e){return(1e6*S(t,e.isUTC)).toString(10)})),h("millisecond","ms"),et("S",U,j),et("SS",U,F),et("SSS",U,z),t="SSSS";t.length<=9;t+="S")et(t,$);function e(t,e,n){return e[6]=f(1e3*parseFloat(`0.${t}`)),n}for(t="S";t.length<=9;t+="S")ot(t,e)}(),function(){function t(t,e){return x(t,e)%12||12}function e(t,e){C(t,null,null,(function(t,n){return n.locale.meridiem(x(t,n.isUTC),w(t,n.isUTC),e)}))}function n(t,e){return e._meridiemParse}C("H",["HH",2,!1],null,(function(t,e){return x(t,e.isUTC).toString(10)})),C("h",["hh",2,!1],null,(function(e,n){return t(e,n.isUTC).toString(10)})),C("k",["kk",2,!1],null,(function(t,e){return function(t,e){return x(t,e)||24}(t,e.isUTC).toString(10)})),C("hmm",null,null,(function(e,n){return`${t(e,n.isUTC)}${y(w(e,n.isUTC),2)}`})),C("hmmss",null,null,(function(e,n){return`${t(e,n.isUTC)}${y(w(e,n.isUTC),2)}${y(T(e,n.isUTC),2)}`})),C("Hmm",null,null,(function(t,e){return`${x(t,e.isUTC)}${y(w(t,e.isUTC),2)}`})),C("Hmmss",null,null,(function(t,e){return`${x(t,e.isUTC)}${y(w(t,e.isUTC),2)}${y(T(t,e.isUTC),2)}`})),e("a",!0),e("A",!1),h("hour","h"),et("a",n),et("A",n),et("H",V),et("h",V),et("k",V),et("HH",V,F),et("hh",V,F),et("kk",V,F),et("hmm",Y),et("hmmss",H),et("Hmm",Y),et("Hmmss",H),ot(["H","HH"],3),ot(["k","kk"],(function(t,e,n){const a=f(t);return e[3]=24===a?0:a,n})),ot(["a","A"],(function(t,e,n){return n._isPm=n._locale.isPM(t),n._meridiem=t,n})),ot(["h","hh"],(function(t,e,n){return e[3]=f(t),ct(n).bigHour=!0,n})),ot("hmm",(function(t,e,n){const a=t.length-2;return e[3]=f(t.substr(0,a)),e[4]=f(t.substr(a)),ct(n).bigHour=!0,n})),ot("hmmss",(function(t,e,n){const a=t.length-4,r=t.length-2;return e[3]=f(t.substr(0,a)),e[4]=f(t.substr(a,2)),e[5]=f(t.substr(r)),ct(n).bigHour=!0,n})),ot("Hmm",(function(t,e,n){const a=t.length-2;return e[3]=f(t.substr(0,a)),e[4]=f(t.substr(a)),n})),ot("Hmmss",(function(t,e,n){const a=t.length-4,r=t.length-2;return e[3]=f(t.substr(0,a)),e[4]=f(t.substr(a,2)),e[5]=f(t.substr(r)),n}))}(),C("DDD",["DDDD",3,!1],"DDDo",(function(t){return Pt(t).toString(10)})),h("dayOfYear","DDD"),et("DDD",U),et("DDDD",z),ot(["DDD","DDDD"],(function(t,e,n){return n._dayOfYear=f(t),n})),C("d",null,"do",(function(t,e){return k(t,e.isUTC).toString(10)})),C("dd",null,null,(function(t,e){return e.locale.weekdaysMin(t,e.format,e.isUTC)})),C("ddd",null,null,(function(t,e){return e.locale.weekdaysShort(t,e.format,e.isUTC)})),C("dddd",null,null,(function(t,e){return e.locale.weekdays(t,e.format,e.isUTC)})),C("e",null,null,(function(t,e){return Ge(t,e.locale,e.isUTC).toString(10)})),C("E",null,null,(function(t,e){return function(t,e){return k(t,e)||7}(t,e.isUTC).toString(10)})),h("day","d"),h("weekday","e"),h("isoWeekday","E"),et("d",V),et("e",V),et("E",V),et("dd",(function(t,e){return e.weekdaysMinRegex(t)})),et("ddd",(function(t,e){return e.weekdaysShortRegex(t)})),et("dddd",(function(t,e){return e.weekdaysRegex(t)})),it(["dd","ddd","dddd"],(function(t,e,n,a){const r=n._locale.weekdaysParse(t,a,n._strict);return null!=r?e.d=r:ct(n).invalidWeekday=!!t,n})),it(["d","e","E"],(function(t,e,n,a){return e[a]=f(t),n})),C("D",["DD",2,!1],"Do",(function(t,e){return I(t,e.isUTC).toString(10)})),h("date","D"),et("D",V),et("DD",V,F),et("Do",(function(t,e){return e._dayOfMonthOrdinalParse||e._ordinalParse})),ot(["D","DD"],2),ot("Do",(function(t,e,n){return e[2]=f(t.match(V)[0]),n}))),t?function(t){let e,n,a=0;for(;a<t.length;){const o=$t(t[a]).split("-");let i=o.length;for(e=$t(t[a+1]),e=e?e.split("-"):null;i>0;){if(r=o.slice(0,i).join("-"),Ut[r]||console.error(`Khronos locale error: please load locale "${r}" before using it`),n=Ut[r],n)return n;if(e&&e.length>=i&&jt(o,e,!0)>=i-1)break;i--}a++}var r;return null}(l(t)?t:[t]):Kt}const Qt=["year","quarter","month","week","day","hours","minutes","seconds","milliseconds"],te=Qt.reduce((t,e)=>(t[e]=!0,t),{});function ee(t){return t<0?Math.floor(t):Math.ceil(t)}function ne(t){return 4800*t/146097}function ae(t){return 146097*t/4800}let re=Math.round;function oe(t,e,n,a,r){return r.relativeTime(e||1,!!n,t,a)}class ie{constructor(t,e={}){this._data={},this._locale=Xt(),this._locale=e&&e._locale||Xt();const n=t.year||0,r=t.quarter||0,o=t.month||0,i=t.week||0,s=t.day||0,c=t.hours||0,l=t.minutes||0,d=t.seconds||0,u=t.milliseconds||0;return this._isValid=function(t){if(Object.keys(t).some(e=>e in te&&null===t[e]||isNaN(t[e])))return!1;let e=!1;for(let n=0;n<Qt.length;++n)if(t[Qt[n]]){if(e)return!1;t[Qt[n]]!==f(t[Qt[n]])&&(e=!0)}return!0}(t),this._milliseconds=+u+1e3*d+60*l*1e3+1e3*c*60*60,this._days=+s+7*i,this._months=+o+3*r+12*n,function(t){let e=t._milliseconds,n=t._days,r=t._months;const o=t._data;e>=0&&n>=0&&r>=0||e<=0&&n<=0&&r<=0||(e+=864e5*ee(ae(r)+n),n=0,r=0),o.milliseconds=e%1e3;const i=a(e/1e3);o.seconds=i%60;const s=a(i/60);o.minutes=s%60;const c=a(s/60);o.hours=c%24,n+=a(c/24);const l=a(ne(n));r+=l,n-=ee(ae(l));const d=a(r/12);return r%=12,o.day=n,o.month=r,o.year=d,t}(this)}isValid(){return this._isValid}humanize(t){if(!this.isValid())return this.localeData().invalidDate;const e=this.localeData();let n=function(t,e,n){const a=Ee(t).abs(),r=re(a.as("s")),o=re(a.as("m")),i=re(a.as("h")),s=re(a.as("d")),c=re(a.as("M")),l=re(a.as("y")),d=r<=44&&["s",r]||r<45&&["ss",r]||o<=1&&["m"]||o<45&&["mm",o]||i<=1&&["h"]||i<22&&["hh",i]||s<=1&&["d"]||s<26&&["dd",s]||c<=1&&["M"]||c<11&&["MM",c]||l<=1&&["y"]||["yy",l];return oe.apply(null,[d[0],d[1],e,+t>0,n])}(this,!t,e);return t&&(n=e.pastFuture(+this,n)),e.postformat(n)}localeData(){return this._locale}locale(t){return t?(this._locale=Xt(t)||this._locale,this):this._locale._abbr}abs(){const t=Math.abs,e=this._data;return this._milliseconds=t(this._milliseconds),this._days=t(this._days),this._months=t(this._months),e.milliseconds=t(e.milliseconds),e.seconds=t(e.seconds),e.minutes=t(e.minutes),e.hours=t(e.hours),e.month=t(e.month),e.year=t(e.year),this}as(t){if(!this.isValid())return NaN;let e,n;const a=this._milliseconds,r=b(t);if("month"===r||"year"===r)return e=this._days+a/864e5,n=this._months+ne(e),"month"===r?n:n/12;switch(e=this._days+Math.round(ae(this._months)),r){case"week":return e/7+a/6048e5;case"day":return e+a/864e5;case"hours":return 24*e+a/36e5;case"minutes":return 1440*e+a/6e4;case"seconds":return 86400*e+a/1e3;case"milliseconds":return Math.floor(864e5*e)+a;default:throw new Error(`Unknown unit ${r}`)}}valueOf(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*f(this._months/12):NaN}}function se(t){if(null==t._isValid){const e=ct(t),n=Array.prototype.some.call(e.parsedDateParts,(function(t){return null!=t}));let a=!isNaN(t._d&&t._d.getTime())&&e.overflow<0&&!e.empty&&!e.invalidMonth&&!e.invalidWeekday&&!e.weekdayMismatch&&!e.nullInput&&!e.invalidFormat&&!e.userInvalidated&&(!e.meridiem||e.meridiem&&n);if(t._strict&&(a=a&&0===e.charsLeftOver&&0===e.unusedTokens.length&&void 0===e.bigHour),null!=Object.isFrozen&&Object.isFrozen(t))return a;t._isValid=a}return t._isValid}function ce(t,e){return t._d=new Date(NaN),Object.assign(ct(t),e||{userInvalidated:!0}),t}const le=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,de=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,ue=/Z|[+-]\d\d(?::?\d\d)?/,ge=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/,!0],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/,!0],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/,!0],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/,!0],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/,!0],["YYYYMMDD",/\d{8}/,!0],["GGGG[W]WWE",/\d{4}W\d{3}/,!0],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/,!0]],fe=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],pe=/^\/?Date\((\-?\d+)/i,me={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480},he=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/;function be(t){if(!r(t._i))return t;const e=t._i,n=le.exec(e)||de.exec(e);let a,o,i,s,c,l;if(!n)return t._isValid=!1,t;for(c=0,l=ge.length;c<l;c++)if(ge[c][1].exec(n[1])){o=ge[c][0],a=!1!==ge[c][2];break}if(null==o)return t._isValid=!1,t;if(n[3]){for(c=0,l=fe.length;c<l;c++)if(fe[c][1].exec(n[3])){i=(n[2]||" ")+fe[c][0];break}if(null==i)return t._isValid=!1,t}if(!a&&null!=i)return t._isValid=!1,t;if(n[4]){if(!ue.exec(n[4]))return t._isValid=!1,t;s="Z"}return t._f=o+(i||"")+(s||""),xe(t)}function ye(t){const e=parseInt(t,10);return e<=49?e+2e3:e}function _e(t){if(!r(t._i))return t;const e=he.exec(t._i.replace(/\([^)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim());if(!e)return function(t){return t._isValid=!1,t}(t);const n=function(t,e,n,a,r,o){const i=[ye(t),kt.indexOf(e),parseInt(n,10),parseInt(a,10),parseInt(r,10)];return o&&i.push(parseInt(o,10)),i}(e[4],e[3],e[2],e[5],e[6],e[7]);return function(t,e,n){return!t||Nt.indexOf(t)===new Date(e[0],e[1],e[2]).getDay()||(ct(n).weekdayMismatch=!0,n._isValid=!1,!1)}(e[1],n,t)?(t._a=n,t._tzm=function(t,e,n){if(t)return me[t];if(e)return 0;{const t=parseInt(n,10),e=t%100;return(t-e)/100*60+e}}(e[8],e[9],e[10]),t._d=P.apply(null,t._a),t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),ct(t).rfc2822=!0,t):t}function Oe(t,e,n,a,r=0){const o=Xt(n||"en");if(!o)throw new Error(`Locale "${n}" is not defined, please add it with "defineLocale(...)"`);const c=function(t,e,n,a,r=0){if(!i(t))return n.invalidDate;const o=ve(e,n);return _[o]=_[o]||function(t){const e=t.match(v),n=e.length,a=new Array(n);for(let o=0;o<n;o++)a[o]=O[e[o]]?O[e[o]]:(r=e[o]).match(/\[[\s\S]/)?r.replace(/^\[|\]$/g,""):r.replace(/\\/g,"");var r;return function(e,r,o,i=0){let c="";for(let l=0;l<n;l++)c+=s(a[l])?a[l].call(null,e,{format:t,locale:r,isUTC:o,offset:i}):a[l];return c}}(o),_[o](t,n,a,r)}(t,e||(a?"YYYY-MM-DDTHH:mm:ss[Z]":"YYYY-MM-DDTHH:mm:ssZ"),o,a,r);return c?o.postformat(c):c}function ve(t,e){let n=t,a=5;const r=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,o=t=>e.formatLongDate(t)||t;for(r.lastIndex=0;a>=0&&r.test(n);)n=n.replace(r,o),r.lastIndex=0,a-=1;return n}function Ce(t,e,n){return null!=t?t:null!=e?e:n}function Pe(t){const e=[];let n,a,r,o,i;if(t._d)return t;for(r=function(t){const e=new Date;return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}(t),t._w&&null==t._a[2]&&null==t._a[1]&&function(t){let e,n,a,r,o,i,s,c;if(e=t._w,null!=e.GG||null!=e.W||null!=e.E)o=1,i=4,n=Ce(e.GG,t._a[0],xt(new Date,1,4).year),a=Ce(e.W,1),r=Ce(e.E,1),(r<1||r>7)&&(c=!0);else{o=t._locale._week.dow,i=t._locale._week.doy;const s=xt(new Date,o,i);n=Ce(e.gg,t._a[0],s.year),a=Ce(e.w,s.week),null!=e.d?(r=e.d,(r<0||r>6)&&(c=!0)):null!=e.e?(r=e.e+o,(e.e<0||e.e>6)&&(c=!0)):r=o}a<1||a>wt(n,o,i)?ct(t)._overflowWeeks=!0:null!=c?ct(t)._overflowWeekday=!0:(s=function(t,e,n,a,r){const o=1+7*(e-1)+(7+n-a)%7+Mt(t,a,r);let i,s;return o<=0?(i=t-1,s=ut(i)+o):o>ut(t)?(i=t+1,s=o-ut(t)):(i=t,s=o),{year:i,dayOfYear:s}}(n,a,r,o,i),t._a[0]=s.year,t._dayOfYear=s.dayOfYear)}(t),null!=t._dayOfYear&&(i=Ce(t._a[0],r[0]),(t._dayOfYear>ut(i)||0===t._dayOfYear)&&(ct(t)._overflowDayOfYear=!0),a=new Date(Date.UTC(i,0,t._dayOfYear)),t._a[1]=a.getUTCMonth(),t._a[2]=a.getUTCDate()),n=0;n<3&&null==t._a[n];++n)t._a[n]=e[n]=r[n];for(;n<7;n++)t._a[n]=e[n]=null==t._a[n]?2===n?1:0:t._a[n];return 24===t._a[3]&&0===t._a[4]&&0===t._a[5]&&0===t._a[6]&&(t._nextDay=!0,t._a[3]=0),t._d=(t._useUTC?P:M).apply(null,e),o=t._useUTC?t._d.getUTCDay():t._d.getDay(),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[3]=24),t._w&&void 0!==t._w.d&&t._w.d!==o&&(ct(t).weekdayMismatch=!0),t}function Me(t){let e;const n=t._a;return n&&-2===ct(t).overflow&&(e=n[1]<0||n[1]>11?1:n[2]<1||n[2]>ft(n[0],n[1])?2:n[3]<0||n[3]>24||24===n[3]&&(0!==n[4]||0!==n[5]||0!==n[6])?3:n[4]<0||n[4]>59?4:n[5]<0||n[5]>59?5:n[6]<0||n[6]>999?6:-1,ct(t)._overflowDayOfYear&&(e<0||e>2)&&(e=2),ct(t)._overflowWeeks&&-1===e&&(e=7),ct(t)._overflowWeekday&&-1===e&&(e=8),ct(t).overflow=e),t}function xe(t){if("ISO_8601"===t._f)return be(t);if("RFC_2822"===t._f)return _e(t);if(t._a=[],ct(t).empty=!0,l(t._f)||!t._i&&0!==t._i)return t;let e=t._i.toString(),n=0;const a=e.length,r=ve(t._f,t._locale).match(v)||[];let o,i,s,c;for(o=0;o<r.length;o++)i=r[o],s=(e.match(nt(i,t._locale))||[])[0],s&&(c=e.substr(0,e.indexOf(s)),c.length>0&&ct(t).unusedInput.push(c),e=e.slice(e.indexOf(s)+s.length),n+=s.length),O[i]?(s?ct(t).empty=!1:ct(t).unusedTokens.push(i),st(i,s,t)):t._strict&&!s&&ct(t).unusedTokens.push(i);return ct(t).charsLeftOver=a-n,e.length>0&&ct(t).unusedInput.push(e),t._a[3]<=12&&!0===ct(t).bigHour&&t._a[3]>0&&(ct(t).bigHour=void 0),ct(t).parsedDateParts=t._a.slice(0),ct(t).meridiem=t._meridiem,t._a[3]=function(t,e,n){let a=e;if(null==n)return a;if(null!=t.meridiemHour)return t.meridiemHour(a,n);if(null==t.isPM)return a;const r=t.isPM(n);return r&&a<12&&(a+=12),r||12!==a||(a=0),a}(t._locale,t._a[3],t._meridiem),Pe(t),Me(t)}function we(t,e,n,a,i){return o(t)?t:function(t,e,n,a,i){const s={};let f=t;return(u(f)&&function(t){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(t).length;let e;for(e in t)if(t.hasOwnProperty(e))return!1;return!0}(f)||l(f)&&0===f.length)&&(f=void 0),s._useUTC=s._isUTC=i,s._l=n,s._i=f,s._f=e,s._strict=a,function(t){const e=Me(function(t){let e=t._i;const n=t._f;return t._locale=t._locale||Xt(t._l),null===e||void 0===n&&""===e?ce(t,{nullInput:!0}):(r(e)&&(t._i=e=t._locale.preparse(e)),o(e)?(t._d=Ot(e),t):(l(n)?function(t){let e,n,a,r,o;if(!t._f||0===t._f.length)return ct(t).invalidFormat=!0,ce(t);for(o=0;o<t._f.length;o++)r=0,e=Object.assign({},t),null!=t._useUTC&&(e._useUTC=t._useUTC),e._f=t._f[o],xe(e),se(e)&&(r+=ct(e).charsLeftOver,r+=10*ct(e).unusedTokens.length,ct(e).score=r,(null==a||r<a)&&(a=r,n=e));Object.assign(t,n||e)}(t):n?xe(t):function(t){const e=t._i;if(g(e))t._d=new Date;else if(o(e))t._d=Ot(e);else if(r(e))!function(t){if(!r(t._i))return t;const e=pe.exec(t._i);null!==e?t._d=new Date(+e[1]):(be(t),!1!==t._isValid||(delete t._isValid,_e(t),!1!==t._isValid||(delete t._isValid,ce(t))))}(t);else if(l(e)&&e.length){const n=e.slice(0);t._a=n.map(t=>r(t)?parseInt(t,10):t),Pe(t)}else if(u(e))!function(t){if(t._d)return t;const e=t._i;if(u(e)){const n=function(t){const e={};let n,a;for(a in t)d(t,a)&&(n=b(a),n&&(e[n]=t[a]));return e}(e);t._a=[n.year,n.month,n.day,n.hours,n.minutes,n.seconds,n.milliseconds].map(t=>r(t)?parseInt(t,10):t)}Pe(t)}(t);else{if(!c(e))return ce(t);t._d=new Date(e)}}(t),se(t)||(t._d=null),t))}(t));return e._d=new Date(null!=e._d?e._d.getTime():NaN),se(Object.assign({},e,{_isValid:null}))||(e._d=new Date(NaN)),e}(s)}(t,e,n,a,i)._d}function Te(t){return t<0?-1*Math.round(-1*t):Math.round(t)}function Se(t,e,n="milliseconds"){return!(!t||!e)&&("milliseconds"===n?t.valueOf()>e.valueOf():e.valueOf()<vt(t,n).valueOf())}function ke(t,e,n="milliseconds"){return!(!t||!e)&&("milliseconds"===n?t.valueOf()<e.valueOf():Ct(t,n).valueOf()<e.valueOf())}function Ie(t,e){return!(void 0===e||!e||!e.length)&&e.some(e=>e===t.getDay())}function Ne(t,e,n="milliseconds"){if(!t||!e)return!1;if("milliseconds"===n)return t.valueOf()===e.valueOf();const a=e.valueOf();return vt(t,n).valueOf()<=a&&a<=Ct(t,n).valueOf()}const Re=/^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Ae=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function Ee(t,e,n={}){const a=function(t,e){if(null==t)return{};if(t instanceof ie)return{milliseconds:t._milliseconds,day:t._days,month:t._months};if(c(t))return e?{[e]:t}:{milliseconds:t};if(r(t)){let e=Re.exec(t);if(e){const t="-"===e[1]?-1:1;return{year:0,day:f(e[2])*t,hours:f(e[3])*t,minutes:f(e[4])*t,seconds:f(e[5])*t,milliseconds:f(Te(1e3*f(e[6])))*t}}if(e=Ae.exec(t),e){const t="-"===e[1]?-1:1;return{year:De(e[2],t),month:De(e[3],t),week:De(e[4],t),day:De(e[5],t),hours:De(e[6],t),minutes:De(e[7],t),seconds:De(e[8],t)}}}if(u(t)&&("from"in t||"to"in t)){const e=function(t,e){if(!i(t)||!i(e))return{milliseconds:0,months:0};let n;const a=function(t,e,n={}){if(!n._isUTC)return t;const a=Ot(e),r=6e4*(n._offset||0),o=t.valueOf()-a.valueOf()+r;return a.setTime(a.valueOf()+o),a}(e,t,{_offset:t.getTimezoneOffset()});return ke(t,a)?n=Le(t,a):(n=Le(a,t),n.milliseconds=-n.milliseconds,n.months=-n.months),n}(we(t.from),we(t.to));return{milliseconds:e.milliseconds,month:e.months}}return t}(t,e);return new ie(a,n)}function De(t,e){const n=t&&parseFloat(t.replace(",","."));return(isNaN(n)?0:n)*e}function Le(t,e){const n={milliseconds:0,months:0};return n.months=N(e)-N(t)+12*(R(e)-R(t)),Se(qe(Ot(t),n.months,"month"),e)&&--n.months,n.milliseconds=+e-+qe(Ot(t),n.months,"month"),n}function qe(t,e,n,a){return je(t,Ee(e,n),1,a)}function je(t,e,n,a){const r=e._milliseconds,o=Te(e._days),i=Te(e._months);return i&&yt(t,N(t,a)+i*n,a),o&&_t(t,I(t,a)+o*n,a),r&&function(t,e){t.setTime(e)}(t,function(t){return t.getTime()}(t)+r*n),Ot(t)}function Fe(t,e,n=Xt(),a){const o=k(t,a);return qe(t,function(t,e){if(!r(t))return t;const n=parseInt(t,10);if(!isNaN(n))return n;const a=e.weekdaysParse(t);return c(a)?a:null}(e,n)-o,"day")}function ze(t,e){return k(t,e)}function Ge(t,e=Xt(),n){return(k(t,n)+7-e.firstDayOfWeek())%7}const Be="leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec".split("_"),Ve="led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro".split("_");function Ye(t){return t>1&&t<5&&1!=~~(t/10)}function He(t,e,n,a){const r=t+" ";switch(n){case"s":return e||a?"pár sekund":"pár sekundami";case"ss":return e||a?r+(Ye(t)?"sekundy":"sekund"):r+"sekundami";case"m":return e?"minuta":a?"minutu":"minutou";case"mm":return e||a?r+(Ye(t)?"minuty":"minut"):r+"minutami";case"h":return e?"hodina":a?"hodinu":"hodinou";case"hh":return e||a?r+(Ye(t)?"hodiny":"hodin"):r+"hodinami";case"d":return e||a?"den":"dnem";case"dd":return e||a?r+(Ye(t)?"dny":"dní"):r+"dny";case"M":return e||a?"měsíc":"měsícem";case"MM":return e||a?r+(Ye(t)?"měsíce":"měsíců"):r+"měsíci";case"y":return e||a?"rok":"rokem";case"yy":return e||a?r+(Ye(t)?"roky":"let"):r+"lety"}}const Ue=function(t){let e,n=[];for(e=0;e<12;e++)n[e]=new RegExp("^"+t[e]+"$","i");return n},We=function(t){let e,n=[];for(e=0;e<12;e++)n[e]=new RegExp("^"+t[e]+"$","i");return n},Ke={abbr:"cs",months:Be,monthsShort:Ve,monthsParse:function(t,e){let n,a=[];for(n=0;n<12;n++)a[n]=new RegExp("^"+t[n]+"$|^"+e[n]+"$","i");return a}(Be,Ve),shortMonthsParse:Ue(Ve),longMonthsParse:We(Be),weekdays:"neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota".split("_"),weekdaysShort:"ne_po_út_st_čt_pá_so".split("_"),weekdaysMin:"ne_po_út_st_čt_pá_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm",l:"D. M. YYYY"},calendar:{sameDay:"[dnes v] LT",nextDay:"[zítra v] LT",nextWeek(t){switch(ze(t)){case 0:return"[v neděli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve středu v] LT";case 4:return"[ve čtvrtek v] LT";case 5:return"[v pátek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[včera v] LT",lastWeek(t){switch(ze(t)){case 0:return"[minulou neděli v] LT";case 1:case 2:return"[minulé] dddd [v] LT";case 3:return"[minulou středu v] LT";case 4:case 5:return"[minulý] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"před %s",s:He,ss:He,m:He,mm:He,h:He,hh:He,d:He,dd:He,M:He,MM:He,y:He,yy:He},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}};function $e(t,e,n,a){const r={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[t+" Tage",t+" Tagen"],M:["ein Monat","einem Monat"],MM:[t+" Monate",t+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[t+" Jahre",t+" Jahren"]};return e?r[n][0]:r[n][1]}const Ze={abbr:"de",months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:$e,mm:"%d Minuten",h:$e,hh:"%d Stunden",d:$e,dd:$e,M:$e,MM:$e,y:$e,yy:$e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}};let Je="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),Xe="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),Qe=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],tn=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;const en={abbr:"es",months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:(t,e,n)=>t?/-MMM-/.test(e)?Xe[N(t,n)]:Je[N(t,n)]:Je,monthsRegex:tn,monthsShortRegex:tn,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:Qe,longMonthsParse:Qe,shortMonthsParse:Qe,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:t=>"[hoy a la"+(1!==x(t)?"s":"")+"] LT",nextDay:t=>"[mañana a la"+(1!==x(t)?"s":"")+"] LT",nextWeek:t=>"dddd [a la"+(1!==x(t)?"s":"")+"] LT",lastDay:t=>"[ayer a la"+(1!==x(t)?"s":"")+"] LT",lastWeek:t=>"[el] dddd [pasado a la"+(1!==x(t)?"s":"")+"] LT",sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}},nn={abbr:"fr",months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|)/,ordinal(t,e){const n=Number(t);switch(e){case"D":return n+(1===n?"er":"");default:case"M":case"Q":case"DDD":case"d":return n+(1===n?"er":"e");case"w":case"W":return n+(1===n?"re":"e")}},week:{dow:1,doy:4}},an={abbr:"id",months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nov_Des".split("_"),weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|siang|sore|malam/,meridiemHour:(t,e)=>(12===t&&(t=0),"pagi"===e?t:"siang"===e?t>=11?t:t+12:"sore"===e||"malam"===e?t+12:void 0),meridiem:(t,e,n)=>t<11?"pagi":t<15?"siang":t<19?"sore":"malam",calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",ss:"%d detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}},rn={abbr:"it",months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek(t){switch(ze(t)){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:t=>(/^[0-9].+$/.test(t.toString(10))?"tra":"in")+" "+t,past:"%s fa",s:"alcuni secondi",ss:"%d secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}},on={abbr:"ja",months:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日".split("_"),weekdaysShort:"日_月_火_水_木_金_土".split("_"),weekdaysMin:"日_月_火_水_木_金_土".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日 HH:mm dddd",l:"YYYY/MM/DD",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日 HH:mm dddd"},meridiemParse:/午前|午後/i,isPM:t=>"午後"===t,meridiem:(t,e,n)=>t<12?"午前":"午後",calendar:{sameDay:"[今日] LT",nextDay:"[明日] LT",nextWeek:"[来週]dddd LT",lastDay:"[昨日] LT",lastWeek:"[前週]dddd LT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}日/,ordinal(t,e){switch(e){case"d":case"D":case"DDD":return t+"日";default:return t.toString(10)}},relativeTime:{future:"%s後",past:"%s前",s:"数秒",ss:"%d秒",m:"1分",mm:"%d分",h:"1時間",hh:"%d時間",d:"1日",dd:"%d日",M:"1ヶ月",MM:"%dヶ月",y:"1年",yy:"%d年"}},sn={abbr:"ko",months:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),monthsShort:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),weekdays:"일요일_월요일_화요일_수요일_목요일_금요일_토요일".split("_"),weekdaysShort:"일_월_화_수_목_금_토".split("_"),weekdaysMin:"일_월_화_수_목_금_토".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"YYYY.MM.DD",LL:"YYYY년 MMMM D일",LLL:"YYYY년 MMMM D일 A h:mm",LLLL:"YYYY년 MMMM D일 dddd A h:mm",l:"YYYY.MM.DD",ll:"YYYY년 MMMM D일",lll:"YYYY년 MMMM D일 A h:mm",llll:"YYYY년 MMMM D일 dddd A h:mm"},calendar:{sameDay:"오늘 LT",nextDay:"내일 LT",nextWeek:"dddd LT",lastDay:"어제 LT",lastWeek:"지난주 dddd LT",sameElse:"L"},relativeTime:{future:"%s 후",past:"%s 전",s:"몇 초",ss:"%d초",m:"1분",mm:"%d분",h:"한 시간",hh:"%d시간",d:"하루",dd:"%d일",M:"한 달",MM:"%d달",y:"일 년",yy:"%d년"},dayOfMonthOrdinalParse:/\d{1,2}(일|월|주)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"일";case"M":return t+"월";case"w":case"W":return t+"주";default:return t.toString(10)}},meridiemParse:/오전|오후/,isPM:function(t){return"오후"===t},meridiem:function(t,e,n){return t<12?"오전":"오후"}};let cn="styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień".split("_"),ln="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia".split("_");function dn(t){return t%10<5&&t%10>1&&~~(t/10)%10!=1}function un(t,e,n){let a=t+" ";switch(n){case"ss":return a+(dn(t)?"sekundy":"sekund");case"m":return e?"minuta":"minutę";case"mm":return a+(dn(t)?"minuty":"minut");case"h":return e?"godzina":"godzinę";case"hh":return a+(dn(t)?"godziny":"godzin");case"MM":return a+(dn(t)?"miesiące":"miesięcy");case"yy":return a+(dn(t)?"lata":"lat")}}const gn={abbr:"pl",months:(t,e,n)=>t?""===e?"("+ln[N(t,n)]+"|"+cn[N(t,n)]+")":/D MMMM/.test(e)?ln[N(t,n)]:cn[N(t,n)]:cn,monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru".split("_"),weekdays:"niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota".split("_"),weekdaysShort:"ndz_pon_wt_śr_czw_pt_sob".split("_"),weekdaysMin:"Nd_Pn_Wt_Śr_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Dziś o] LT",nextDay:"[Jutro o] LT",nextWeek(t){switch(ze(t)){case 0:return"[W niedzielę o] LT";case 2:return"[We wtorek o] LT";case 3:return"[W środę o] LT";case 5:return"[W piątek o] LT";case 6:return"[W sobotę o] LT";default:return"[W] dddd [o] LT"}},lastDay:"[Wczoraj o] LT",lastWeek(t){switch(ze(t)){case 0:return"[W zeszłą niedzielę o] LT";case 3:return"[W zeszłą środę o] LT";case 4:return"[W zeszłą czwartek o] LT";case 5:return"[W zeszłą piątek o] LT";case 6:return"[W zeszłą sobotę o] LT";default:return"[W zeszły] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",ss:un,m:un,mm:un,h:un,hh:un,d:"1 dzień",dd:"%d dni",M:"miesiąc",MM:un,y:"rok",yy:un},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}},fn={abbr:"pt-br",months:"Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Do_2ª_3ª_4ª_5ª_6ª_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [às] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [às] HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:t=>0===ze(t)||6===ze(t)?"[Último] dddd [às] LT":"[Última] dddd [às] LT",sameElse:"L"},relativeTime:{future:"em %s",past:"%s atrás",s:"poucos segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº"},pn={abbr:"zh-cn",months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日Ah点mm分",LLLL:"YYYY年M月D日ddddAh点mm分",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:(t,e)=>(12===t&&(t=0),"凌晨"===e||"早上"===e||"上午"===e?t:"下午"===e||"晚上"===e?t+12:t>=11?t:t+12),meridiem(t,e,n){let a=100*t+e;return a<600?"凌晨":a<900?"早上":a<1130?"上午":a<1230?"中午":a<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|周)/,ordinal(t,e){const n=Number(t);switch(e){case"d":case"D":case"DDD":return n+"日";case"M":return n+"月";case"w":case"W":return n+"周";default:return n.toString()}},relativeTime:{future:"%s内",past:"%s前",s:"几秒",ss:"%d 秒",m:"1 分钟",mm:"%d 分钟",h:"1 小时",hh:"%d 小时",d:"1 天",dd:"%d 天",M:"1 个月",MM:"%d 个月",y:"1 年",yy:"%d 年"},week:{dow:1,doy:4}}},xrYK:function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},"xs/l":function(t,e,n){var a=n("TYy9"),r=n("Ioao"),o=n("wclG");t.exports=function(t){return o(r(t,void 0,a),t+"")}},xs3f:function(t,e,n){var a=n("2oRo"),r=n("zk60"),o=a["__core-js_shared__"]||r("__core-js_shared__",{});t.exports=o},y1pI:function(t,e,n){var a=n("ljhN");t.exports=function(t,e){for(var n=t.length;n--;)if(a(t[n][0],e))return n;return-1}},y9Z7:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.selectRows=function(t,e,n){var a=n(e,t);return a>-1?t.splice(a,1):t.push(e),t},e.selectRowsBetween=function(t,e,n,a,r){for(var o=n<a,i=0;i<e.length;i++){var s;s=o?{start:n,end:a}:{start:a,end:n+1},(o&&i<=a&&i>=n||!o&&i>=a&&i<=n)&&i>=s.start&&i<=s.end&&t.push(e[i])}return t}},y9jh:function(t,e,n){var a;"undefined"!=typeof self&&self,a=function(t,e,n,a){return function(t){var e={};function n(a){if(e[a])return e[a].exports;var r=e[a]={i:a,l:!1,exports:{}};return t[a].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=t,n.c=e,n.d=function(t,e,a){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:a})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s="./src/index.ts")}({"./node_modules/css-loader/index.js!./node_modules/postcss-loader/index.js!./node_modules/sass-loader/lib/loader.js??ref--3-4!./src/components/datatable.component.scss":function(t,e,n){(t.exports=n("./node_modules/css-loader/lib/css-base.js")(!1)).push([t.i,".ngx-datatable {\n  display: block;\n  overflow: hidden;\n  -webkit-box-pack: center;\n      -ms-flex-pack: center;\n          justify-content: center;\n  position: relative;\n  -webkit-transform: translate3d(0, 0, 0);\n  /**\n   * Vertical Scrolling Adjustments\n   */\n  /**\n   * Horizontal Scrolling Adjustments\n   */\n  /**\n   * Fixed Header Height Adjustments\n   */\n  /**\n   * Fixed row height adjustments\n   */\n  /**\n   * Shared Styles\n   */\n  /**\n   * Header Styles\n   */\n  /**\n   * Body Styles\n   */\n  /**\n   * Footer Styles\n   */ }\n  .ngx-datatable [hidden] {\n    display: none !important; }\n  .ngx-datatable *, .ngx-datatable *:before, .ngx-datatable *:after {\n    -webkit-box-sizing: border-box;\n    box-sizing: border-box; }\n  .ngx-datatable.scroll-vertical .datatable-body {\n    overflow-y: auto; }\n  .ngx-datatable.scroll-vertical.virtualized .datatable-body .datatable-row-wrapper {\n    position: absolute; }\n  .ngx-datatable.scroll-horz .datatable-body {\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch; }\n  .ngx-datatable.fixed-header .datatable-header .datatable-header-inner {\n    white-space: nowrap; }\n    .ngx-datatable.fixed-header .datatable-header .datatable-header-inner .datatable-header-cell {\n      white-space: nowrap;\n      overflow: hidden;\n      text-overflow: ellipsis; }\n  .ngx-datatable.fixed-row .datatable-scroll {\n    white-space: nowrap; }\n    .ngx-datatable.fixed-row .datatable-scroll .datatable-body-row {\n      white-space: nowrap; }\n      .ngx-datatable.fixed-row .datatable-scroll .datatable-body-row .datatable-body-cell {\n        overflow: hidden;\n        white-space: nowrap;\n        text-overflow: ellipsis; }\n      .ngx-datatable.fixed-row .datatable-scroll .datatable-body-row .datatable-body-group-cell {\n        overflow: hidden;\n        white-space: nowrap;\n        text-overflow: ellipsis; }\n  .ngx-datatable .datatable-body-row,\n  .ngx-datatable .datatable-row-center,\n  .ngx-datatable .datatable-header-inner {\n    display: -webkit-box;\n    display: -ms-flexbox;\n    display: flex;\n    -webkit-box-orient: horizontal;\n    -webkit-box-direction: normal;\n        -ms-flex-direction: row;\n            flex-direction: row;\n    -ms-flex-flow: row;\n    -o-flex-flow: row;\n    flex-flow: row; }\n  .ngx-datatable .datatable-body-cell,\n  .ngx-datatable .datatable-header-cell {\n    overflow-x: hidden;\n    vertical-align: top;\n    display: inline-block;\n    line-height: 1.625; }\n    .ngx-datatable .datatable-body-cell:focus,\n    .ngx-datatable .datatable-header-cell:focus {\n      outline: none; }\n  .ngx-datatable .datatable-row-left,\n  .ngx-datatable .datatable-row-right {\n    z-index: 9; }\n  .ngx-datatable .datatable-row-left,\n  .ngx-datatable .datatable-row-center,\n  .ngx-datatable .datatable-row-group,\n  .ngx-datatable .datatable-row-right {\n    position: relative; }\n  .ngx-datatable .datatable-header {\n    display: block;\n    overflow: hidden; }\n    .ngx-datatable .datatable-header .datatable-header-inner {\n      -webkit-box-align: stretch;\n          -ms-flex-align: stretch;\n              align-items: stretch;\n      -webkit-align-items: stretch; }\n    .ngx-datatable .datatable-header .datatable-header-cell {\n      position: relative;\n      display: inline-block; }\n      .ngx-datatable .datatable-header .datatable-header-cell.sortable .datatable-header-cell-wrapper {\n        cursor: pointer; }\n      .ngx-datatable .datatable-header .datatable-header-cell.longpress .datatable-header-cell-wrapper {\n        cursor: move; }\n      .ngx-datatable .datatable-header .datatable-header-cell .sort-btn {\n        line-height: 100%;\n        vertical-align: middle;\n        display: inline-block;\n        cursor: pointer; }\n      .ngx-datatable .datatable-header .datatable-header-cell .resize-handle, .ngx-datatable .datatable-header .datatable-header-cell .resize-handle--not-resizable {\n        display: inline-block;\n        position: absolute;\n        right: 0;\n        top: 0;\n        bottom: 0;\n        width: 5px;\n        padding: 0 4px;\n        visibility: hidden; }\n      .ngx-datatable .datatable-header .datatable-header-cell .resize-handle {\n        cursor: ew-resize; }\n      .ngx-datatable .datatable-header .datatable-header-cell.resizeable:hover .resize-handle {\n        visibility: visible; }\n      .ngx-datatable .datatable-header .datatable-header-cell:hover .resize-handle--not-resizable {\n        visibility: visible; }\n      .ngx-datatable .datatable-header .datatable-header-cell .targetMarker {\n        position: absolute;\n        top: 0;\n        bottom: 0; }\n        .ngx-datatable .datatable-header .datatable-header-cell .targetMarker.dragFromLeft {\n          right: 0; }\n        .ngx-datatable .datatable-header .datatable-header-cell .targetMarker.dragFromRight {\n          left: 0; }\n      .ngx-datatable .datatable-header .datatable-header-cell .datatable-header-cell-template-wrap {\n        height: inherit; }\n  .ngx-datatable .datatable-body {\n    position: relative;\n    z-index: 10;\n    display: block; }\n    .ngx-datatable .datatable-body .datatable-scroll {\n      display: inline-block; }\n    .ngx-datatable .datatable-body .datatable-row-detail {\n      overflow-y: hidden; }\n    .ngx-datatable .datatable-body .datatable-row-wrapper {\n      display: -webkit-box;\n      display: -ms-flexbox;\n      display: flex;\n      -webkit-box-orient: vertical;\n      -webkit-box-direction: normal;\n      -ms-flex-direction: column;\n      flex-direction: column; }\n    .ngx-datatable .datatable-body .datatable-body-row {\n      outline: none; }\n      .ngx-datatable .datatable-body .datatable-body-row > div {\n        display: -webkit-box;\n        display: -ms-flexbox;\n        display: flex; }\n  .ngx-datatable .datatable-footer {\n    display: block;\n    width: 100%; }\n    .ngx-datatable .datatable-footer .datatable-footer-inner {\n      display: -webkit-box;\n      display: -ms-flexbox;\n      display: flex;\n      -webkit-box-align: center;\n          -ms-flex-align: center;\n              align-items: center;\n      width: 100%; }\n    .ngx-datatable .datatable-footer .selected-count .page-count {\n      -webkit-box-flex: 1;\n          -ms-flex: 1 1 40%;\n              flex: 1 1 40%; }\n    .ngx-datatable .datatable-footer .selected-count .datatable-pager {\n      -webkit-box-flex: 1;\n          -ms-flex: 1 1 60%;\n              flex: 1 1 60%; }\n    .ngx-datatable .datatable-footer .page-count {\n      -webkit-box-flex: 1;\n          -ms-flex: 1 1 20%;\n              flex: 1 1 20%; }\n    .ngx-datatable .datatable-footer .datatable-pager {\n      -webkit-box-flex: 1;\n          -ms-flex: 1 1 80%;\n              flex: 1 1 80%;\n      text-align: right; }\n      .ngx-datatable .datatable-footer .datatable-pager .pager,\n      .ngx-datatable .datatable-footer .datatable-pager .pager li {\n        padding: 0;\n        margin: 0;\n        display: inline-block;\n        list-style: none; }\n      .ngx-datatable .datatable-footer .datatable-pager .pager li, .ngx-datatable .datatable-footer .datatable-pager .pager li a {\n        outline: none; }\n      .ngx-datatable .datatable-footer .datatable-pager .pager li a {\n        cursor: pointer;\n        display: inline-block; }\n      .ngx-datatable .datatable-footer .datatable-pager .pager li.disabled a {\n        cursor: not-allowed; }\n",""])},"./node_modules/css-loader/lib/css-base.js":function(t,e){t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n=function(t,e){var n=t[1]||"",a=t[3];if(!a)return n;if(e&&"function"==typeof btoa){var r="/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(a))))+" */",o=a.sources.map((function(t){return"/*# sourceURL="+a.sourceRoot+t+" */"}));return[n].concat(o).concat([r]).join("\n")}return[n].join("\n")}(e,t);return e[2]?"@media "+e[2]+"{"+n+"}":n})).join("")},e.i=function(t,n){"string"==typeof t&&(t=[[null,t,""]]);for(var a={},r=0;r<this.length;r++){var o=this[r][0];"number"==typeof o&&(a[o]=!0)}for(r=0;r<t.length;r++){var i=t[r];"number"==typeof i[0]&&a[i[0]]||(n&&!i[2]?i[2]=n:n&&(i[2]="("+i[2]+") and ("+n+")"),e.push(i))}},e}},"./node_modules/webpack/buildin/global.js":function(t,e){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(a){"object"==typeof window&&(n=window)}t.exports=n},"./src/components/body/body-cell.component.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var o=n("@angular/core"),i=n("./src/utils/index.ts"),s=n("./src/types/index.ts");n("./src/events.ts"),e.DataTableBodyCellComponent=function(){function t(t,e){this.cd=e,this.activate=new o.EventEmitter,this.treeAction=new o.EventEmitter,this.isFocused=!1,this.onCheckboxChangeFn=this.onCheckboxChange.bind(this),this.activateFn=this.activate.emit.bind(this.activate),this.cellContext={onCheckboxChangeFn:this.onCheckboxChangeFn,activateFn:this.activateFn,row:this.row,group:this.group,value:this.value,column:this.column,rowHeight:this.rowHeight,isSelected:this.isSelected,rowIndex:this.rowIndex,treeStatus:this.treeStatus,onTreeAction:this.onTreeAction.bind(this)},this._element=t.nativeElement}return Object.defineProperty(t.prototype,"group",{get:function(){return this._group},set:function(t){this._group=t,this.cellContext.group=t,this.checkValueUpdates(),this.cd.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"rowHeight",{get:function(){return this._rowHeight},set:function(t){this._rowHeight=t,this.cellContext.rowHeight=t,this.checkValueUpdates(),this.cd.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isSelected",{get:function(){return this._isSelected},set:function(t){this._isSelected=t,this.cellContext.isSelected=t,this.cd.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"expanded",{get:function(){return this._expanded},set:function(t){this._expanded=t,this.cellContext.expanded=t,this.cd.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"rowIndex",{get:function(){return this._rowIndex},set:function(t){this._rowIndex=t,this.cellContext.rowIndex=t,this.checkValueUpdates(),this.cd.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"column",{get:function(){return this._column},set:function(t){this._column=t,this.cellContext.column=t,this.checkValueUpdates(),this.cd.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"row",{get:function(){return this._row},set:function(t){this._row=t,this.cellContext.row=t,this.checkValueUpdates(),this.cd.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"sorts",{get:function(){return this._sorts},set:function(t){this._sorts=t,this.calcSortDir=this.calcSortDir(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"treeStatus",{get:function(){return this._treeStatus},set:function(t){this._treeStatus="collapsed"!==t&&"expanded"!==t&&"loading"!==t&&"disabled"!==t?"collapsed":t,this.cellContext.treeStatus=this._treeStatus,this.checkValueUpdates(),this.cd.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"columnCssClasses",{get:function(){var t="datatable-body-cell";if(this.column.cellClass)if("string"==typeof this.column.cellClass)t+=" "+this.column.cellClass;else if("function"==typeof this.column.cellClass){var e=this.column.cellClass({row:this.row,group:this.group,column:this.column,value:this.value,rowHeight:this.rowHeight});if("string"==typeof e)t+=e;else if("object"==typeof e)for(var n=0,a=Object.keys(e);n<a.length;n++){var r=a[n];!0===e[r]&&(t+=" "+r)}}return this.sortDir||(t+=" sort-active"),this.isFocused&&(t+=" active"),this.sortDir===s.SortDirection.asc&&(t+=" sort-asc"),this.sortDir===s.SortDirection.desc&&(t+=" sort-desc"),t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"width",{get:function(){return this.column.width},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"minWidth",{get:function(){return this.column.minWidth},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"maxWidth",{get:function(){return this.column.maxWidth},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"height",{get:function(){var t=this.rowHeight;return isNaN(t)?t:t+"px"},enumerable:!0,configurable:!0}),t.prototype.ngDoCheck=function(){this.checkValueUpdates()},t.prototype.ngOnDestroy=function(){this.cellTemplate&&this.cellTemplate.clear()},t.prototype.checkValueUpdates=function(){var t="";if(this.row&&this.column){var e=this.column.$$valueGetter(this.row,this.column.prop),n=this.column.pipe;n?t=n.transform(e):void 0!==t&&(t=e)}else t="";this.value!==t&&(this.value=t,this.cellContext.value=t,this.sanitizedValue=null!=t?this.stripHtml(t):t,this.cd.markForCheck())},t.prototype.onFocus=function(){this.isFocused=!0},t.prototype.onBlur=function(){this.isFocused=!1},t.prototype.onClick=function(t){this.activate.emit({type:"click",event:t,row:this.row,group:this.group,rowHeight:this.rowHeight,column:this.column,value:this.value,cellElement:this._element})},t.prototype.onDblClick=function(t){this.activate.emit({type:"dblclick",event:t,row:this.row,group:this.group,rowHeight:this.rowHeight,column:this.column,value:this.value,cellElement:this._element})},t.prototype.onKeyDown=function(t){var e=t.keyCode;(e===i.Keys.return||e===i.Keys.down||e===i.Keys.up||e===i.Keys.left||e===i.Keys.right)&&t.target===this._element&&(t.preventDefault(),t.stopPropagation(),this.activate.emit({type:"keydown",event:t,row:this.row,group:this.group,rowHeight:this.rowHeight,column:this.column,value:this.value,cellElement:this._element}))},t.prototype.onCheckboxChange=function(t){this.activate.emit({type:"checkbox",event:t,row:this.row,group:this.group,rowHeight:this.rowHeight,column:this.column,value:this.value,cellElement:this._element,treeStatus:"collapsed"})},t.prototype.calcSortDir=function(t){var e=this;if(t){var n=t.find((function(t){return t.prop===e.column.prop}));return n?n.dir:void 0}},t.prototype.stripHtml=function(t){return t.replace?t.replace(/<\/?[^>]+(>|$)/g,""):t},t.prototype.onTreeAction=function(){this.treeAction.emit(this.row)},t.prototype.calcLeftMargin=function(t,e){return t.isTreeColumn?e.level*(null!=t.treeLevelIndent?t.treeLevelIndent:50):0},a([o.Input(),r("design:type",Function)],t.prototype,"displayCheck",void 0),a([o.Input(),r("design:type",Object),r("design:paramtypes",[Object])],t.prototype,"group",null),a([o.Input(),r("design:type",Number),r("design:paramtypes",[Number])],t.prototype,"rowHeight",null),a([o.Input(),r("design:type",Boolean),r("design:paramtypes",[Boolean])],t.prototype,"isSelected",null),a([o.Input(),r("design:type",Boolean),r("design:paramtypes",[Boolean])],t.prototype,"expanded",null),a([o.Input(),r("design:type",Number),r("design:paramtypes",[Number])],t.prototype,"rowIndex",null),a([o.Input(),r("design:type",Object),r("design:paramtypes",[Object])],t.prototype,"column",null),a([o.Input(),r("design:type",Object),r("design:paramtypes",[Object])],t.prototype,"row",null),a([o.Input(),r("design:type",Array),r("design:paramtypes",[Array])],t.prototype,"sorts",null),a([o.Input(),r("design:type",String),r("design:paramtypes",[String])],t.prototype,"treeStatus",null),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"activate",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"treeAction",void 0),a([o.ViewChild("cellTemplate",{read:o.ViewContainerRef,static:!0}),r("design:type",o.ViewContainerRef)],t.prototype,"cellTemplate",void 0),a([o.HostBinding("class"),r("design:type",Object),r("design:paramtypes",[])],t.prototype,"columnCssClasses",null),a([o.HostBinding("style.width.px"),r("design:type",Number),r("design:paramtypes",[])],t.prototype,"width",null),a([o.HostBinding("style.minWidth.px"),r("design:type",Number),r("design:paramtypes",[])],t.prototype,"minWidth",null),a([o.HostBinding("style.maxWidth.px"),r("design:type",Number),r("design:paramtypes",[])],t.prototype,"maxWidth",null),a([o.HostBinding("style.height"),r("design:type",Object),r("design:paramtypes",[])],t.prototype,"height",null),a([o.HostListener("focus"),r("design:type",Function),r("design:paramtypes",[]),r("design:returntype",void 0)],t.prototype,"onFocus",null),a([o.HostListener("blur"),r("design:type",Function),r("design:paramtypes",[]),r("design:returntype",void 0)],t.prototype,"onBlur",null),a([o.HostListener("click",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],t.prototype,"onClick",null),a([o.HostListener("dblclick",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],t.prototype,"onDblClick",null),a([o.HostListener("keydown",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],t.prototype,"onKeyDown",null),a([o.Component({selector:"datatable-body-cell",changeDetection:o.ChangeDetectionStrategy.OnPush,template:'\n    <div\n      class="datatable-body-cell-label"\n      [style.margin-left.px]="calcLeftMargin(column, row)"\n    >\n      <label\n        *ngIf="\n          column.checkboxable &&\n          (!displayCheck || displayCheck(row, column, value))\n        "\n        class="datatable-checkbox"\n      >\n        <input\n          type="checkbox"\n          [checked]="isSelected"\n          (click)="onCheckboxChange($event)"\n        />\n      </label>\n      <ng-container *ngIf="column.isTreeColumn">\n        <button\n          *ngIf="!column.treeToggleTemplate"\n          class="datatable-tree-button"\n          [disabled]="treeStatus === \'disabled\'"\n          (click)="onTreeAction()"\n        >\n          <span>\n            <i\n              *ngIf="treeStatus === \'loading\'"\n              class="icon datatable-icon-collapse"\n            ></i>\n            <i\n              *ngIf="treeStatus === \'collapsed\'"\n              class="icon datatable-icon-up"\n            ></i>\n            <i\n              *ngIf="treeStatus === \'expanded\' || treeStatus === \'disabled\'"\n              class="icon datatable-icon-down"\n            ></i>\n          </span>\n        </button>\n        <ng-template\n          *ngIf="column.treeToggleTemplate"\n          [ngTemplateOutlet]="column.treeToggleTemplate"\n          [ngTemplateOutletContext]="{ cellContext: cellContext }"\n        >\n        </ng-template>\n      </ng-container>\n\n      <span\n        *ngIf="!column.cellTemplate"\n        [title]="sanitizedValue"\n        [innerHTML]="value"\n      >\n      </span>\n      <ng-template\n        #cellTemplate\n        *ngIf="column.cellTemplate"\n        [ngTemplateOutlet]="column.cellTemplate"\n        [ngTemplateOutletContext]="cellContext"\n      >\n      </ng-template>\n    </div>\n  '}),r("design:paramtypes",[o.ElementRef,o.ChangeDetectorRef])],t)}()},"./src/components/body/body-group-header-template.directive.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var o=n("@angular/core");e.DatatableGroupHeaderTemplateDirective=function(){return a([o.Directive({selector:"[ngx-datatable-group-header-template]"}),r("design:paramtypes",[o.TemplateRef])],(function(t){this.template=t}))}()},"./src/components/body/body-group-header.directive.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var o=n("@angular/core"),i=n("./src/components/body/body-group-header-template.directive.ts");e.DatatableGroupHeaderDirective=function(){function t(){this.rowHeight=0,this.toggle=new o.EventEmitter}return t.prototype.toggleExpandGroup=function(t){this.toggle.emit({type:"group",value:t})},t.prototype.expandAllGroups=function(){this.toggle.emit({type:"all",value:!0})},t.prototype.collapseAllGroups=function(){this.toggle.emit({type:"all",value:!1})},a([o.Input(),r("design:type",Object)],t.prototype,"rowHeight",void 0),a([o.Input(),o.ContentChild(i.DatatableGroupHeaderTemplateDirective,{read:o.TemplateRef,static:!0}),r("design:type",o.TemplateRef)],t.prototype,"template",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"toggle",void 0),a([o.Directive({selector:"ngx-datatable-group-header"})],t)}()},"./src/components/body/body-row-wrapper.component.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var o=n("@angular/core");n("./src/events.ts"),e.DataTableRowWrapperComponent=function(){function t(t,e){this.cd=t,this.differs=e,this.rowContextmenu=new o.EventEmitter(!1),this.groupContext={group:this.row,expanded:this.expanded,rowIndex:this.rowIndex},this.rowContext={row:this.row,expanded:this.expanded,rowIndex:this.rowIndex},this._expanded=!1,this.rowDiffer=e.find({}).create()}return Object.defineProperty(t.prototype,"rowIndex",{get:function(){return this._rowIndex},set:function(t){this._rowIndex=t,this.rowContext.rowIndex=t,this.groupContext.rowIndex=t,this.cd.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"expanded",{get:function(){return this._expanded},set:function(t){this._expanded=t,this.groupContext.expanded=t,this.rowContext.expanded=t,this.cd.markForCheck()},enumerable:!0,configurable:!0}),t.prototype.ngDoCheck=function(){this.rowDiffer.diff(this.row)&&(this.rowContext.row=this.row,this.groupContext.group=this.row,this.cd.markForCheck())},t.prototype.onContextmenu=function(t){this.rowContextmenu.emit({event:t,row:this.row})},t.prototype.getGroupHeaderStyle=function(){var t={};return t.transform="translate3d("+this.offsetX+"px, 0px, 0px)",t["backface-visibility"]="hidden",t.width=this.innerWidth,t},a([o.Input(),r("design:type",Number)],t.prototype,"innerWidth",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"rowDetail",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"groupHeader",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"offsetX",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"detailRowHeight",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"row",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"groupedRows",void 0),a([o.Output(),r("design:type",Object)],t.prototype,"rowContextmenu",void 0),a([o.Input(),r("design:type",Number),r("design:paramtypes",[Number])],t.prototype,"rowIndex",null),a([o.Input(),r("design:type",Boolean),r("design:paramtypes",[Boolean])],t.prototype,"expanded",null),a([o.HostListener("contextmenu",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],t.prototype,"onContextmenu",null),a([o.Component({selector:"datatable-row-wrapper",changeDetection:o.ChangeDetectionStrategy.OnPush,template:'\n    <div \n      *ngIf="groupHeader && groupHeader.template"\n      class="datatable-group-header"\n      [ngStyle]="getGroupHeaderStyle()">\n      <ng-template\n        *ngIf="groupHeader && groupHeader.template"\n        [ngTemplateOutlet]="groupHeader.template"\n        [ngTemplateOutletContext]="groupContext">\n      </ng-template>\n    </div>\n    <ng-content \n      *ngIf="(groupHeader && groupHeader.template && expanded) || \n             (!groupHeader || !groupHeader.template)">\n    </ng-content>\n    <div\n      *ngIf="rowDetail && rowDetail.template && expanded"\n      [style.height.px]="detailRowHeight"\n      class="datatable-row-detail">\n      <ng-template\n        *ngIf="rowDetail && rowDetail.template"\n        [ngTemplateOutlet]="rowDetail.template"\n        [ngTemplateOutletContext]="rowContext">\n      </ng-template>\n    </div>\n  ',host:{class:"datatable-row-wrapper"}}),r("design:paramtypes",[o.ChangeDetectorRef,o.KeyValueDiffers])],t)}()},"./src/components/body/body-row.component.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},o=this&&this.__param||function(t,e){return function(n,a){e(n,a,t)}};Object.defineProperty(e,"__esModule",{value:!0});var i=n("@angular/core"),s=n("./src/utils/index.ts"),c=n("./src/services/index.ts");n("./src/events.ts"),e.DataTableBodyRowComponent=function(){function t(t,e,n,a){this.differs=t,this.scrollbarHelper=e,this.cd=n,this.treeStatus="collapsed",this.activate=new i.EventEmitter,this.treeAction=new i.EventEmitter,this._groupStyles={left:{},center:{},right:{}},this._element=a.nativeElement,this._rowDiffer=t.find({}).create()}return Object.defineProperty(t.prototype,"columns",{get:function(){return this._columns},set:function(t){this._columns=t,this.recalculateColumns(t),this.buildStylesByGroup()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"innerWidth",{get:function(){return this._innerWidth},set:function(t){if(this._columns){var e=s.columnsByPin(this._columns);this._columnGroupWidths=s.columnGroupWidths(e,e)}this._innerWidth=t,this.recalculateColumns(),this.buildStylesByGroup()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"offsetX",{get:function(){return this._offsetX},set:function(t){this._offsetX=t,this.buildStylesByGroup()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"cssClass",{get:function(){var t="datatable-body-row";if(this.isSelected&&(t+=" active"),this.rowIndex%2!=0&&(t+=" datatable-row-odd"),this.rowIndex%2==0&&(t+=" datatable-row-even"),this.rowClass){var e=this.rowClass(this.row);if("string"==typeof e)t+=" "+e;else if("object"==typeof e)for(var n=0,a=Object.keys(e);n<a.length;n++){var r=a[n];!0===e[r]&&(t+=" "+r)}}return t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"columnsTotalWidths",{get:function(){return this._columnGroupWidths.total},enumerable:!0,configurable:!0}),t.prototype.ngDoCheck=function(){this._rowDiffer.diff(this.row)&&this.cd.markForCheck()},t.prototype.trackByGroups=function(t,e){return e.type},t.prototype.columnTrackingFn=function(t,e){return e.$$id},t.prototype.buildStylesByGroup=function(){this._groupStyles.left=this.calcStylesByGroup("left"),this._groupStyles.center=this.calcStylesByGroup("center"),this._groupStyles.right=this.calcStylesByGroup("right"),this.cd.markForCheck()},t.prototype.calcStylesByGroup=function(t){var e=this._columnGroupWidths,n=this.offsetX,a={width:e[t]+"px"};if("left"===t)s.translateXY(a,n,0);else if("right"===t){var r=parseInt(this.innerWidth+"",0);s.translateXY(a,-1*(e.total-r-n+this.scrollbarHelper.width),0)}return a},t.prototype.onActivate=function(t,e){t.cellIndex=e,t.rowElement=this._element,this.activate.emit(t)},t.prototype.onKeyDown=function(t){var e=t.keyCode;(e===s.Keys.return||e===s.Keys.down||e===s.Keys.up||e===s.Keys.left||e===s.Keys.right)&&t.target===this._element&&(t.preventDefault(),t.stopPropagation(),this.activate.emit({type:"keydown",event:t,row:this.row,rowElement:this._element}))},t.prototype.onMouseenter=function(t){this.activate.emit({type:"mouseenter",event:t,row:this.row,rowElement:this._element})},t.prototype.recalculateColumns=function(t){void 0===t&&(t=this.columns),this._columns=t;var e=s.columnsByPin(this._columns);this._columnsByPin=s.columnsByPinArr(this._columns),this._columnGroupWidths=s.columnGroupWidths(e,this._columns)},t.prototype.onTreeAction=function(){this.treeAction.emit()},a([i.Input(),r("design:type",Array),r("design:paramtypes",[Array])],t.prototype,"columns",null),a([i.Input(),r("design:type",Number),r("design:paramtypes",[Number])],t.prototype,"innerWidth",null),a([i.Input(),r("design:type",Boolean)],t.prototype,"expanded",void 0),a([i.Input(),r("design:type",Object)],t.prototype,"rowClass",void 0),a([i.Input(),r("design:type",Object)],t.prototype,"row",void 0),a([i.Input(),r("design:type",Object)],t.prototype,"group",void 0),a([i.Input(),r("design:type",Boolean)],t.prototype,"isSelected",void 0),a([i.Input(),r("design:type",Number)],t.prototype,"rowIndex",void 0),a([i.Input(),r("design:type",Object)],t.prototype,"displayCheck",void 0),a([i.Input(),r("design:type",String)],t.prototype,"treeStatus",void 0),a([i.Input(),r("design:type",Number),r("design:paramtypes",[Number])],t.prototype,"offsetX",null),a([i.HostBinding("class"),r("design:type",Object),r("design:paramtypes",[])],t.prototype,"cssClass",null),a([i.HostBinding("style.height.px"),i.Input(),r("design:type",Number)],t.prototype,"rowHeight",void 0),a([i.HostBinding("style.width.px"),r("design:type",String),r("design:paramtypes",[])],t.prototype,"columnsTotalWidths",null),a([i.Output(),r("design:type",i.EventEmitter)],t.prototype,"activate",void 0),a([i.Output(),r("design:type",i.EventEmitter)],t.prototype,"treeAction",void 0),a([i.HostListener("keydown",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],t.prototype,"onKeyDown",null),a([i.HostListener("mouseenter",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],t.prototype,"onMouseenter",null),a([i.Component({selector:"datatable-body-row",changeDetection:i.ChangeDetectionStrategy.OnPush,template:'\n    <div\n      *ngFor="let colGroup of _columnsByPin; let i = index; trackBy: trackByGroups"\n      class="datatable-row-{{colGroup.type}} datatable-row-group"\n      [ngStyle]="_groupStyles[colGroup.type]">\n      <datatable-body-cell\n        *ngFor="let column of colGroup.columns; let ii = index; trackBy: columnTrackingFn"\n        tabindex="-1"\n        [row]="row"\n        [group]="group"\n        [expanded]="expanded"\n        [isSelected]="isSelected"\n        [rowIndex]="rowIndex"\n        [column]="column"\n        [rowHeight]="rowHeight"\n        [displayCheck]="displayCheck"\n        [treeStatus]="treeStatus"\n        (activate)="onActivate($event, ii)"\n        (treeAction)="onTreeAction()">\n      </datatable-body-cell>\n    </div>\n  '}),o(1,i.SkipSelf()),r("design:paramtypes",[i.KeyValueDiffers,c.ScrollbarHelper,i.ChangeDetectorRef,i.ElementRef])],t)}()},"./src/components/body/body.component.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var o=n("@angular/core"),i=n("./src/utils/index.ts"),s=(n("./src/types/index.ts"),n("./src/components/body/scroller.component.ts"));e.DataTableBodyComponent=function(){function t(t){var e=this;this.cd=t,this.selected=[],this.scroll=new o.EventEmitter,this.page=new o.EventEmitter,this.activate=new o.EventEmitter,this.select=new o.EventEmitter,this.detailToggle=new o.EventEmitter,this.rowContextmenu=new o.EventEmitter(!1),this.treeAction=new o.EventEmitter,this.rowHeightsCache=new i.RowHeightCache,this.temp=[],this.offsetY=0,this.indexes={},this.rowIndexes=new Map,this.rowExpansions=new Map,this.getDetailRowHeight=function(t,n){if(!e.rowDetail)return 0;var a=e.rowDetail.rowHeight;return"function"==typeof a?a(t,n):a},this.rowTrackingFn=function(t,n){var a=e.getRowIndex(n);return e.trackByProp?n[e.trackByProp]:a}}return Object.defineProperty(t.prototype,"pageSize",{get:function(){return this._pageSize},set:function(t){this._pageSize=t,this.recalcLayout()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"rows",{get:function(){return this._rows},set:function(t){this._rows=t,this.rowExpansions.clear(),this.recalcLayout()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"columns",{get:function(){return this._columns},set:function(t){this._columns=t;var e=i.columnsByPin(t);this.columnGroupWidths=i.columnGroupWidths(e,t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"offset",{get:function(){return this._offset},set:function(t){this._offset=t,this.recalcLayout()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"rowCount",{get:function(){return this._rowCount},set:function(t){this._rowCount=t,this.recalcLayout()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"bodyWidth",{get:function(){return this.scrollbarH?this.innerWidth+"px":"100%"},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"bodyHeight",{get:function(){return this._bodyHeight},set:function(t){this._bodyHeight=this.scrollbarV?t+"px":"auto",this.recalcLayout()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"selectEnabled",{get:function(){return!!this.selectionType},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"scrollHeight",{get:function(){if(this.scrollbarV&&this.virtualization&&this.rowCount)return this.rowHeightsCache.query(this.rowCount-1)},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){var t=this;this.rowDetail&&(this.listener=this.rowDetail.toggle.subscribe((function(e){var n=e.type,a=e.value;"row"===n&&t.toggleRowExpansion(a),"all"===n&&t.toggleAllRows(a),t.updateIndexes(),t.updateRows(),t.cd.markForCheck()}))),this.groupHeader&&(this.listener=this.groupHeader.toggle.subscribe((function(e){var n=e.type,a=e.value;"group"===n&&t.toggleRowExpansion(a),"all"===n&&t.toggleAllRows(a),t.updateIndexes(),t.updateRows(),t.cd.markForCheck()})))},t.prototype.ngOnDestroy=function(){this.rowDetail&&this.listener.unsubscribe(),this.groupHeader&&this.listener.unsubscribe()},t.prototype.updateOffsetY=function(t){this.scroller&&(this.scrollbarV&&this.virtualization&&t?t=this.rowHeightsCache.query(this.pageSize*t-1):this.scrollbarV&&!this.virtualization&&(t=0),this.scroller.setOffset(t||0))},t.prototype.onBodyScroll=function(t){var e=t.scrollYPos,n=t.scrollXPos;this.offsetY===e&&this.offsetX===n||this.scroll.emit({offsetY:e,offsetX:n}),this.offsetY=e,this.offsetX=n,this.updateIndexes(),this.updatePage(t.direction),this.updateRows()},t.prototype.updatePage=function(t){var e=this.indexes.first/this.pageSize;"up"===t?e=Math.ceil(e):"down"===t&&(e=Math.floor(e)),void 0===t||isNaN(e)||this.page.emit({offset:e})},t.prototype.updateRows=function(){var t=this.indexes,e=t.last,n=t.first,a=0,r=[];if(this.rowIndexes.clear(),this.groupedRows)for(;n<e&&n<this.groupedRows.length;)r[a]=this.groupedRows[n],a++,n++;else for(;n<e&&n<this.rowCount;){var o=this.rows[n];o&&(this.rowIndexes.set(o,n),r[a]=o),a++,n++}this.temp=r},t.prototype.getRowHeight=function(t){return"function"==typeof this.rowHeight?this.rowHeight(t):this.rowHeight},t.prototype.getGroupHeight=function(t){var e=0;if(t.value)for(var n=0;n<t.value.length;n++)e+=this.getRowAndDetailHeight(t.value[n]);return e},t.prototype.getRowAndDetailHeight=function(t){var e=this.getRowHeight(t);return 1===this.rowExpansions.get(t)&&(e+=this.getDetailRowHeight(t)),e},t.prototype.getRowsStyles=function(t){var e={};if(this.groupedRows&&(e.width=this.columnGroupWidths.total),this.scrollbarV&&this.virtualization){var n=0;if(this.groupedRows){var a=t[t.length-1];n=a?this.getRowIndex(a):0}else n=this.getRowIndex(t);var r=this.rowHeightsCache.query(n-1);i.translateXY(e,0,r)}return e},t.prototype.getBottomSummaryRowStyles=function(){if(!this.scrollbarV||!this.rows||!this.rows.length)return null;var t={position:"absolute"},e=this.rowHeightsCache.query(this.rows.length-1);return i.translateXY(t,0,e),t},t.prototype.hideIndicator=function(){var t=this;setTimeout((function(){return t.loadingIndicator=!1}),500)},t.prototype.updateIndexes=function(){var t=0,e=0;if(this.scrollbarV)if(this.virtualization){var n=parseInt(this.bodyHeight,0);t=this.rowHeightsCache.getRowIndex(this.offsetY),e=this.rowHeightsCache.getRowIndex(n+this.offsetY)+1}else t=0,e=this.rowCount;else this.externalPaging||(t=Math.max(this.offset*this.pageSize,0)),e=Math.min(t+this.pageSize,this.rowCount);this.indexes={first:t,last:e}},t.prototype.refreshRowHeightCache=function(){!this.scrollbarV||this.scrollbarV&&!this.virtualization||(this.rowHeightsCache.clearCache(),this.rows&&this.rows.length&&this.rowHeightsCache.initCache({rows:this.rows,rowHeight:this.rowHeight,detailRowHeight:this.getDetailRowHeight,externalVirtual:this.scrollbarV&&this.externalPaging,rowCount:this.rowCount,rowIndexes:this.rowIndexes,rowExpansions:this.rowExpansions}))},t.prototype.getAdjustedViewPortIndex=function(){var t=this.indexes.first;return this.scrollbarV&&this.virtualization&&this.rowHeightsCache.query(t-1)<=this.offsetY?t-1:t},t.prototype.toggleRowExpansion=function(t){var e=this.getAdjustedViewPortIndex(),n=this.rowExpansions.get(t);if(this.scrollbarV&&this.virtualization){var a=this.getDetailRowHeight(t)*(n?-1:1),r=this.getRowIndex(t);this.rowHeightsCache.update(r,a)}n=n^=1,this.rowExpansions.set(t,n),this.detailToggle.emit({rows:[t],currentIndex:e})},t.prototype.toggleAllRows=function(t){this.rowExpansions.clear();for(var e=t?1:0,n=this.getAdjustedViewPortIndex(),a=0,r=this.rows;a<r.length;a++)this.rowExpansions.set(r[a],e);this.scrollbarV&&this.recalcLayout(),this.detailToggle.emit({rows:this.rows,currentIndex:n})},t.prototype.recalcLayout=function(){this.refreshRowHeightCache(),this.updateIndexes(),this.updateRows()},t.prototype.columnTrackingFn=function(t,e){return e.$$id},t.prototype.stylesByGroup=function(t){var e=this.columnGroupWidths,n=this.offsetX,a={width:e[t]+"px"};if("left"===t)i.translateXY(a,n,0);else if("right"===t){var r=parseInt(this.innerWidth+"",0);i.translateXY(a,-1*(e.total-r-n),0)}return a},t.prototype.getRowExpanded=function(t){if(0===this.rowExpansions.size&&this.groupExpansionDefault)for(var e=0,n=this.groupedRows;e<n.length;e++)this.rowExpansions.set(n[e],1);return 1===this.rowExpansions.get(t)},t.prototype.getRowIndex=function(t){return this.rowIndexes.get(t)||0},t.prototype.onTreeAction=function(t){this.treeAction.emit({row:t})},a([o.Input(),r("design:type",Boolean)],t.prototype,"scrollbarV",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"scrollbarH",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"loadingIndicator",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"externalPaging",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"rowHeight",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"offsetX",void 0),a([o.Input(),r("design:type",String)],t.prototype,"emptyMessage",void 0),a([o.Input(),r("design:type",String)],t.prototype,"selectionType",void 0),a([o.Input(),r("design:type",Array)],t.prototype,"selected",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"rowIdentity",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"rowDetail",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"groupHeader",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"selectCheck",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"displayCheck",void 0),a([o.Input(),r("design:type",String)],t.prototype,"trackByProp",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"rowClass",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"groupedRows",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"groupExpansionDefault",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"innerWidth",void 0),a([o.Input(),r("design:type",String)],t.prototype,"groupRowsBy",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"virtualization",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"summaryRow",void 0),a([o.Input(),r("design:type",String)],t.prototype,"summaryPosition",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"summaryHeight",void 0),a([o.Input(),r("design:type",Number),r("design:paramtypes",[Number])],t.prototype,"pageSize",null),a([o.Input(),r("design:type",Array),r("design:paramtypes",[Array])],t.prototype,"rows",null),a([o.Input(),r("design:type",Array),r("design:paramtypes",[Array])],t.prototype,"columns",null),a([o.Input(),r("design:type",Number),r("design:paramtypes",[Number])],t.prototype,"offset",null),a([o.Input(),r("design:type",Number),r("design:paramtypes",[Number])],t.prototype,"rowCount",null),a([o.HostBinding("style.width"),r("design:type",String),r("design:paramtypes",[])],t.prototype,"bodyWidth",null),a([o.Input(),o.HostBinding("style.height"),r("design:type",Object),r("design:paramtypes",[Object])],t.prototype,"bodyHeight",null),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"scroll",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"page",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"activate",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"select",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"detailToggle",void 0),a([o.Output(),r("design:type",Object)],t.prototype,"rowContextmenu",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"treeAction",void 0),a([o.ViewChild(s.ScrollerComponent,{static:!1}),r("design:type",s.ScrollerComponent)],t.prototype,"scroller",void 0),a([o.Component({selector:"datatable-body",template:'\n    <datatable-selection\n      #selector\n      [selected]="selected"\n      [rows]="rows"\n      [selectCheck]="selectCheck"\n      [selectEnabled]="selectEnabled"\n      [selectionType]="selectionType"\n      [rowIdentity]="rowIdentity"\n      (select)="select.emit($event)"\n      (activate)="activate.emit($event)"\n    >\n      <datatable-progress *ngIf="loadingIndicator"> </datatable-progress>\n      <datatable-scroller\n        *ngIf="rows?.length"\n        [scrollbarV]="scrollbarV"\n        [scrollbarH]="scrollbarH"\n        [scrollHeight]="scrollHeight"\n        [scrollWidth]="columnGroupWidths?.total"\n        (scroll)="onBodyScroll($event)"\n      >\n        <datatable-summary-row\n          *ngIf="summaryRow && summaryPosition === \'top\'"\n          [rowHeight]="summaryHeight"\n          [offsetX]="offsetX"\n          [innerWidth]="innerWidth"\n          [rows]="rows"\n          [columns]="columns"\n        >\n        </datatable-summary-row>\n        <datatable-row-wrapper\n          [groupedRows]="groupedRows"\n          *ngFor="let group of temp; let i = index; trackBy: rowTrackingFn"\n          [innerWidth]="innerWidth"\n          [ngStyle]="getRowsStyles(group)"\n          [rowDetail]="rowDetail"\n          [groupHeader]="groupHeader"\n          [offsetX]="offsetX"\n          [detailRowHeight]="getDetailRowHeight(group[i], i)"\n          [row]="group"\n          [expanded]="getRowExpanded(group)"\n          [rowIndex]="getRowIndex(group[i])"\n          (rowContextmenu)="rowContextmenu.emit($event)"\n        >\n          <datatable-body-row\n            *ngIf="!groupedRows; else groupedRowsTemplate"\n            tabindex="-1"\n            [isSelected]="selector.getRowSelected(group)"\n            [innerWidth]="innerWidth"\n            [offsetX]="offsetX"\n            [columns]="columns"\n            [rowHeight]="getRowHeight(group)"\n            [row]="group"\n            [rowIndex]="getRowIndex(group)"\n            [expanded]="getRowExpanded(group)"\n            [rowClass]="rowClass"\n            [displayCheck]="displayCheck"\n            [treeStatus]="group.treeStatus"\n            (treeAction)="onTreeAction(group)"\n            (activate)="selector.onActivate($event, indexes.first + i)"\n          >\n          </datatable-body-row>\n          <ng-template #groupedRowsTemplate>\n            <datatable-body-row\n              *ngFor="\n                let row of group.value;\n                let i = index;\n                trackBy: rowTrackingFn\n              "\n              tabindex="-1"\n              [isSelected]="selector.getRowSelected(row)"\n              [innerWidth]="innerWidth"\n              [offsetX]="offsetX"\n              [columns]="columns"\n              [rowHeight]="getRowHeight(row)"\n              [row]="row"\n              [group]="group.value"\n              [rowIndex]="getRowIndex(row)"\n              [expanded]="getRowExpanded(row)"\n              [rowClass]="rowClass"\n              (activate)="selector.onActivate($event, i)"\n            >\n            </datatable-body-row>\n          </ng-template>\n        </datatable-row-wrapper>\n        <datatable-summary-row\n          *ngIf="summaryRow && summaryPosition === \'bottom\'"\n          [ngStyle]="getBottomSummaryRowStyles()"\n          [rowHeight]="summaryHeight"\n          [offsetX]="offsetX"\n          [innerWidth]="innerWidth"\n          [rows]="rows"\n          [columns]="columns"\n        >\n        </datatable-summary-row>\n      </datatable-scroller>\n      <div\n        class="empty-row"\n        *ngIf="!rows?.length && !loadingIndicator"\n        [innerHTML]="emptyMessage"\n      ></div>\n    </datatable-selection>\n  ',changeDetection:o.ChangeDetectionStrategy.OnPush,host:{class:"datatable-body"}}),r("design:paramtypes",[o.ChangeDetectorRef])],t)}()},"./src/components/body/index.ts":function(t,e,n){"use strict";function a(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),a(n("./src/components/body/body.component.ts")),a(n("./src/components/body/body-cell.component.ts")),a(n("./src/components/body/body-row.component.ts")),a(n("./src/components/body/progress-bar.component.ts")),a(n("./src/components/body/scroller.component.ts")),a(n("./src/components/body/body-row-wrapper.component.ts")),a(n("./src/components/body/selection.component.ts")),a(n("./src/components/body/body-group-header.directive.ts")),a(n("./src/components/body/body-group-header-template.directive.ts")),a(n("./src/components/body/summary/index.ts"))},"./src/components/body/progress-bar.component.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i};Object.defineProperty(e,"__esModule",{value:!0});var r=n("@angular/core");e.ProgressBarComponent=function(){return a([r.Component({selector:"datatable-progress",template:'\n    <div class="progress-linear" role="progressbar">\n      <div class="container">\n        <div class="bar"></div>\n      </div>\n    </div>\n  ',changeDetection:r.ChangeDetectionStrategy.OnPush})],(function(){}))}()},"./src/components/body/scroller.component.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var o=n("@angular/core");e.ScrollerComponent=function(){function t(t,e,n){this.ngZone=t,this.renderer=n,this.scrollbarV=!1,this.scrollbarH=!1,this.scroll=new o.EventEmitter,this.scrollYPos=0,this.scrollXPos=0,this.prevScrollYPos=0,this.prevScrollXPos=0,this.element=e.nativeElement}return t.prototype.ngOnInit=function(){if(this.scrollbarV||this.scrollbarH){var t=this.renderer;this.parentElement=t.parentNode(t.parentNode(this.element)),this.parentElement.addEventListener("scroll",this.onScrolled.bind(this))}},t.prototype.ngOnDestroy=function(){(this.scrollbarV||this.scrollbarH)&&this.parentElement.removeEventListener("scroll",this.onScrolled.bind(this))},t.prototype.setOffset=function(t){this.parentElement&&(this.parentElement.scrollTop=t)},t.prototype.onScrolled=function(t){var e=this,n=t.currentTarget;requestAnimationFrame((function(){e.scrollYPos=n.scrollTop,e.scrollXPos=n.scrollLeft,e.updateOffset()}))},t.prototype.updateOffset=function(){var t;this.scrollYPos<this.prevScrollYPos?t="down":this.scrollYPos>this.prevScrollYPos&&(t="up"),this.scroll.emit({direction:t,scrollYPos:this.scrollYPos,scrollXPos:this.scrollXPos}),this.prevScrollYPos=this.scrollYPos,this.prevScrollXPos=this.scrollXPos},a([o.Input(),r("design:type",Boolean)],t.prototype,"scrollbarV",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"scrollbarH",void 0),a([o.HostBinding("style.height.px"),o.Input(),r("design:type",Number)],t.prototype,"scrollHeight",void 0),a([o.HostBinding("style.width.px"),o.Input(),r("design:type",Number)],t.prototype,"scrollWidth",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"scroll",void 0),a([o.Component({selector:"datatable-scroller",template:"\n    <ng-content></ng-content>\n  ",host:{class:"datatable-scroll"},changeDetection:o.ChangeDetectionStrategy.OnPush}),r("design:paramtypes",[o.NgZone,o.ElementRef,o.Renderer2])],t)}()},"./src/components/body/selection.component.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var o=n("@angular/core"),i=n("./src/utils/index.ts"),s=n("./src/types/index.ts");e.DataTableSelectionComponent=function(){function t(){this.activate=new o.EventEmitter,this.select=new o.EventEmitter}return t.prototype.selectRow=function(t,e,n){var a;if(this.selectEnabled){var r=this.selectionType===s.SelectionType.checkbox,o=this.selectionType===s.SelectionType.multiClick,c=[];c=this.selectionType===s.SelectionType.multi||r||o?t.shiftKey?i.selectRowsBetween([],this.rows,e,this.prevIndex,this.getRowSelectedIdx.bind(this)):i.selectRows(t.ctrlKey||t.metaKey||o||r?this.selected.slice():[],n,this.getRowSelectedIdx.bind(this)):i.selectRows([],n,this.getRowSelectedIdx.bind(this)),"function"==typeof this.selectCheck&&(c=c.filter(this.selectCheck.bind(this))),this.selected.splice(0,this.selected.length),(a=this.selected).push.apply(a,c),this.prevIndex=e,this.select.emit({selected:c})}},t.prototype.onActivate=function(t,e){var n=t.type,a=t.event,r=t.row,o=this.selectionType===s.SelectionType.checkbox;!o&&("click"===n||"dblclick"===n)||o&&"checkbox"===n?this.selectRow(a,e,r):"keydown"===n&&(a.keyCode===i.Keys.return?this.selectRow(a,e,r):this.onKeyboardFocus(t)),this.activate.emit(t)},t.prototype.onKeyboardFocus=function(t){var e=t.event.keyCode;if(e===i.Keys.up||e===i.Keys.down||e===i.Keys.right||e===i.Keys.left){var n=this.selectionType===s.SelectionType.cell;t.cellElement&&n?n&&this.focusCell(t.cellElement,t.rowElement,e,t.cellIndex):this.focusRow(t.rowElement,e)}},t.prototype.focusRow=function(t,e){var n=this.getPrevNextRow(t,e);n&&n.focus()},t.prototype.getPrevNextRow=function(t,e){var n=t.parentElement;if(n){var a=void 0;if(e===i.Keys.up?a=n.previousElementSibling:e===i.Keys.down&&(a=n.nextElementSibling),a&&a.children.length)return a.children[0]}},t.prototype.focusCell=function(t,e,n,a){var r;if(n===i.Keys.left)r=t.previousElementSibling;else if(n===i.Keys.right)r=t.nextElementSibling;else if(n===i.Keys.up||n===i.Keys.down){var o=this.getPrevNextRow(e,n);if(o){var s=o.getElementsByClassName("datatable-body-cell");s.length&&(r=s[a])}}r&&r.focus()},t.prototype.getRowSelected=function(t){return this.getRowSelectedIdx(t,this.selected)>-1},t.prototype.getRowSelectedIdx=function(t,e){var n=this;if(!e||!e.length)return-1;var a=this.rowIdentity(t);return e.findIndex((function(t){return n.rowIdentity(t)===a}))},a([o.Input(),r("design:type",Array)],t.prototype,"rows",void 0),a([o.Input(),r("design:type",Array)],t.prototype,"selected",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"selectEnabled",void 0),a([o.Input(),r("design:type",String)],t.prototype,"selectionType",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"rowIdentity",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"selectCheck",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"activate",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"select",void 0),a([o.Component({selector:"datatable-selection",template:"\n    <ng-content></ng-content>\n  ",changeDetection:o.ChangeDetectionStrategy.OnPush})],t)}()},"./src/components/body/summary/index.ts":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}(n("./src/components/body/summary/summary-row.component.ts"))},"./src/components/body/summary/summary-row.component.ts":function(t,e,n){"use strict";var a=this&&this.__assign||function(){return(a=Object.assign||function(t){for(var e,n=1,a=arguments.length;n<a;n++)for(var r in e=arguments[n])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t}).apply(this,arguments)},r=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},o=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var i=n("@angular/core");function s(t){var e=t.filter((function(t){return!!t}));return e.length?e.some((function(t){return"number"!=typeof t}))?null:e.reduce((function(t,e){return t+e})):null}function c(t){return null}e.DataTableSummaryRowComponent=function(){function t(){this.summaryRow={}}return t.prototype.ngOnChanges=function(){this.columns&&this.rows&&(this.updateInternalColumns(),this.updateValues())},t.prototype.updateInternalColumns=function(){this._internalColumns=this.columns.map((function(t){return a({},t,{cellTemplate:t.summaryTemplate})}))},t.prototype.updateValues=function(){var t=this;this.summaryRow={},this.columns.filter((function(t){return!t.summaryTemplate})).forEach((function(e){var n=t.rows.map((function(t){return t[e.prop]})),a=t.getSummaryFunction(e);t.summaryRow[e.prop]=e.pipe?e.pipe.transform(a(n)):a(n)}))},t.prototype.getSummaryFunction=function(t){return void 0===t.summaryFunc?s:null===t.summaryFunc?c:t.summaryFunc},r([i.Input(),o("design:type",Array)],t.prototype,"rows",void 0),r([i.Input(),o("design:type",Array)],t.prototype,"columns",void 0),r([i.Input(),o("design:type",Number)],t.prototype,"rowHeight",void 0),r([i.Input(),o("design:type",Number)],t.prototype,"offsetX",void 0),r([i.Input(),o("design:type",Number)],t.prototype,"innerWidth",void 0),r([i.Component({selector:"datatable-summary-row",template:'\n  <datatable-body-row\n    *ngIf="summaryRow && _internalColumns"\n    tabindex="-1"\n    [innerWidth]="innerWidth"\n    [offsetX]="offsetX"\n    [columns]="_internalColumns"\n    [rowHeight]="rowHeight"\n    [row]="summaryRow"\n    [rowIndex]="-1">\n  </datatable-body-row>\n  ',host:{class:"datatable-summary-row"}})],t)}()},"./src/components/columns/column-cell.directive.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var o=n("@angular/core");e.DataTableColumnCellDirective=function(){return a([o.Directive({selector:"[ngx-datatable-cell-template]"}),r("design:paramtypes",[o.TemplateRef])],(function(t){this.template=t}))}()},"./src/components/columns/column-header.directive.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var o=n("@angular/core");e.DataTableColumnHeaderDirective=function(){return a([o.Directive({selector:"[ngx-datatable-header-template]"}),r("design:paramtypes",[o.TemplateRef])],(function(t){this.template=t}))}()},"./src/components/columns/column.directive.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var o=n("@angular/core"),i=n("./src/components/columns/column-header.directive.ts"),s=n("./src/components/columns/column-cell.directive.ts"),c=n("./src/components/columns/tree.directive.ts"),l=n("./src/services/column-changes.service.ts");e.DataTableColumnDirective=function(){function t(t){this.columnChangesService=t,this.isFirstChange=!0}return t.prototype.ngOnChanges=function(){this.isFirstChange?this.isFirstChange=!1:this.columnChangesService.onInputChange()},a([o.Input(),r("design:type",String)],t.prototype,"name",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"prop",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"frozenLeft",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"frozenRight",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"flexGrow",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"resizeable",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"comparator",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"pipe",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"sortable",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"draggable",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"canAutoResize",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"minWidth",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"width",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"maxWidth",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"checkboxable",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"headerCheckboxable",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"headerClass",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"cellClass",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"isTreeColumn",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"treeLevelIndent",void 0),a([o.Input(),r("design:type",Function)],t.prototype,"summaryFunc",void 0),a([o.Input(),r("design:type",o.TemplateRef)],t.prototype,"summaryTemplate",void 0),a([o.Input(),o.ContentChild(s.DataTableColumnCellDirective,{read:o.TemplateRef,static:!0}),r("design:type",o.TemplateRef)],t.prototype,"cellTemplate",void 0),a([o.Input(),o.ContentChild(i.DataTableColumnHeaderDirective,{read:o.TemplateRef,static:!0}),r("design:type",o.TemplateRef)],t.prototype,"headerTemplate",void 0),a([o.Input(),o.ContentChild(c.DataTableColumnCellTreeToggle,{read:o.TemplateRef,static:!0}),r("design:type",o.TemplateRef)],t.prototype,"treeToggleTemplate",void 0),a([o.Directive({selector:"ngx-datatable-column"}),r("design:paramtypes",[l.ColumnChangesService])],t)}()},"./src/components/columns/index.ts":function(t,e,n){"use strict";function a(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),a(n("./src/components/columns/column.directive.ts")),a(n("./src/components/columns/column-header.directive.ts")),a(n("./src/components/columns/column-cell.directive.ts")),a(n("./src/components/columns/tree.directive.ts"))},"./src/components/columns/tree.directive.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var o=n("@angular/core");e.DataTableColumnCellTreeToggle=function(){return a([o.Directive({selector:"[ngx-datatable-tree-toggle]"}),r("design:paramtypes",[o.TemplateRef])],(function(t){this.template=t}))}()},"./src/components/datatable.component.scss":function(t,e,n){var a=n("./node_modules/css-loader/index.js!./node_modules/postcss-loader/index.js!./node_modules/sass-loader/lib/loader.js??ref--3-4!./src/components/datatable.component.scss");t.exports="string"==typeof a?a:a.toString()},"./src/components/datatable.component.ts":function(t,e,n){"use strict";var a=this&&this.__assign||function(){return(a=Object.assign||function(t){for(var e,n=1,a=arguments.length;n<a;n++)for(var r in e=arguments[n])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t}).apply(this,arguments)},r=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},o=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},i=this&&this.__param||function(t,e){return function(n,a){e(n,a,t)}};Object.defineProperty(e,"__esModule",{value:!0});var s=n("@angular/core"),c=n("./src/utils/index.ts"),l=n("./src/services/index.ts"),d=n("./src/types/index.ts"),u=n("./src/components/body/index.ts"),g=n("./src/components/body/body-group-header.directive.ts"),f=n("./src/components/columns/index.ts"),p=n("./src/components/row-detail/index.ts"),m=n("./src/components/footer/index.ts"),h=n("./src/components/header/index.ts"),b=n("rxjs");e.DatatableComponent=function(){function t(t,e,n,a,r,o){this.scrollbarHelper=t,this.dimensionsHelper=e,this.cd=n,this.columnChangesService=o,this.selected=[],this.scrollbarV=!1,this.scrollbarH=!1,this.rowHeight=30,this.columnMode=d.ColumnMode.standard,this.headerHeight=30,this.footerHeight=0,this.externalPaging=!1,this.externalSorting=!1,this.loadingIndicator=!1,this.reorderable=!0,this.swapColumns=!0,this.sortType=d.SortType.single,this.sorts=[],this.cssClasses={sortAscending:"datatable-icon-up",sortDescending:"datatable-icon-down",pagerLeftArrow:"datatable-icon-left",pagerRightArrow:"datatable-icon-right",pagerPrevious:"datatable-icon-prev",pagerNext:"datatable-icon-skip"},this.messages={emptyMessage:"No data to display",totalMessage:"total",selectedMessage:"selected"},this.rowIdentity=function(t){return t},this.groupExpansionDefault=!1,this.selectAllRowsOnPage=!1,this.virtualization=!0,this.summaryRow=!1,this.summaryHeight=30,this.summaryPosition="top",this.scroll=new s.EventEmitter,this.activate=new s.EventEmitter,this.select=new s.EventEmitter,this.sort=new s.EventEmitter,this.page=new s.EventEmitter,this.reorder=new s.EventEmitter,this.resize=new s.EventEmitter,this.tableContextmenu=new s.EventEmitter(!1),this.treeAction=new s.EventEmitter,this.rowCount=0,this._offsetX=new b.BehaviorSubject(0),this._count=0,this._offset=0,this._subscriptions=[],this.element=a.nativeElement,this.rowDiffer=r.find({}).create()}return Object.defineProperty(t.prototype,"rows",{get:function(){return this._rows},set:function(t){this._rows=t,t&&(this._internalRows=t.slice()),this.externalSorting||this.sortInternalRows(),this._internalRows=c.groupRowsByParents(this._internalRows,c.optionalGetterForProp(this.treeFromRelation),c.optionalGetterForProp(this.treeToRelation)),this.recalculate(),this._rows&&this._groupRowsBy&&(this.groupedRows=this.groupArrayBy(this._rows,this._groupRowsBy)),this.cd.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"groupRowsBy",{get:function(){return this._groupRowsBy},set:function(t){t&&(this._groupRowsBy=t,this._rows&&this._groupRowsBy&&(this.groupedRows=this.groupArrayBy(this._rows,this._groupRowsBy)))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"columns",{get:function(){return this._columns},set:function(t){t&&(this._internalColumns=t.slice(),c.setColumnDefaults(this._internalColumns),this.recalculateColumns()),this._columns=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"limit",{get:function(){return this._limit},set:function(t){this._limit=t,this.recalculate()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"count",{get:function(){return this._count},set:function(t){this._count=t,this.recalculate()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"offset",{get:function(){return Math.max(Math.min(this._offset,Math.ceil(this.rowCount/this.pageSize)-1),0)},set:function(t){this._offset=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isFixedHeader",{get:function(){var t=this.headerHeight;return"string"!=typeof t||"auto"!==t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isFixedRow",{get:function(){var t=this.rowHeight;return"string"!=typeof t||"auto"!==t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isVertScroll",{get:function(){return this.scrollbarV},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isVirtualized",{get:function(){return this.virtualization},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isHorScroll",{get:function(){return this.scrollbarH},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isSelectable",{get:function(){return void 0!==this.selectionType},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isCheckboxSelection",{get:function(){return this.selectionType===d.SelectionType.checkbox},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isCellSelection",{get:function(){return this.selectionType===d.SelectionType.cell},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isSingleSelection",{get:function(){return this.selectionType===d.SelectionType.single},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isMultiSelection",{get:function(){return this.selectionType===d.SelectionType.multi},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isMultiClickSelection",{get:function(){return this.selectionType===d.SelectionType.multiClick},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"columnTemplates",{get:function(){return this._columnTemplates},set:function(t){this._columnTemplates=t,this.translateColumns(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"allRowsSelected",{get:function(){var t=this.rows&&this.selected&&this.selected.length===this.rows.length;if(this.selectAllRowsOnPage){var e=this.bodyComponent.indexes;t=this.selected.length===e.last-e.first}return this.selected&&this.rows&&0!==this.rows.length&&t},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){this.recalculate()},t.prototype.ngAfterViewInit=function(){var t=this;this.externalSorting||this.sortInternalRows(),"undefined"!=typeof requestAnimationFrame&&requestAnimationFrame((function(){t.recalculate(),t.externalPaging&&t.scrollbarV&&t.page.emit({count:t.count,pageSize:t.pageSize,limit:t.limit,offset:0})}))},t.prototype.ngAfterContentInit=function(){var t=this;this.columnTemplates.changes.subscribe((function(e){return t.translateColumns(e)})),this.listenForColumnInputChanges()},t.prototype.translateColumns=function(t){if(t){var e=t.toArray();e.length&&(this._internalColumns=c.translateTemplates(e),c.setColumnDefaults(this._internalColumns),this.recalculateColumns(),this.sortInternalRows(),this.cd.markForCheck())}},t.prototype.groupArrayBy=function(t,e){var n=new Map;return t.forEach((function(t){var a=t[e];n.has(a)?n.get(a).push(t):n.set(a,[t])})),Array.from(n,(function(t){return{key:t[0],value:t[1]}}))},t.prototype.ngDoCheck=function(){this.rowDiffer.diff(this.rows)&&(this.externalSorting?this._internalRows=this.rows.slice():this.sortInternalRows(),this._internalRows=c.groupRowsByParents(this._internalRows,c.optionalGetterForProp(this.treeFromRelation),c.optionalGetterForProp(this.treeToRelation)),this.recalculatePages(),this.cd.markForCheck())},t.prototype.recalculate=function(){this.recalculateDims(),this.recalculateColumns()},t.prototype.onWindowResize=function(){this.recalculate()},t.prototype.recalculateColumns=function(t,e,n){if(void 0===t&&(t=this._internalColumns),void 0===e&&(e=-1),void 0===n&&(n=this.scrollbarH),t){var a=this._innerWidth;return this.scrollbarV&&(a-=this.scrollbarHelper.width),this.columnMode===d.ColumnMode.force?c.forceFillColumnWidths(t,a,e,n):this.columnMode===d.ColumnMode.flex&&c.adjustColumnWidths(t,a),t}},t.prototype.recalculateDims=function(){var t=this.dimensionsHelper.getDimensions(this.element);if(this._innerWidth=Math.floor(t.width),this.scrollbarV){var e=t.height;this.headerHeight&&(e-=this.headerHeight),this.footerHeight&&(e-=this.footerHeight),this.bodyHeight=e}this.recalculatePages()},t.prototype.recalculatePages=function(){this.pageSize=this.calcPageSize(),this.rowCount=this.calcRowCount()},t.prototype.onBodyPage=function(t){this.externalPaging&&!this.virtualization||(this.offset=t.offset,this.page.emit({count:this.count,pageSize:this.pageSize,limit:this.limit,offset:this.offset}))},t.prototype.onBodyScroll=function(t){this._offsetX.next(t.offsetX),this.scroll.emit(t),this.cd.detectChanges()},t.prototype.onFooterPage=function(t){this.offset=t.page-1,this.bodyComponent.updateOffsetY(this.offset),this.page.emit({count:this.count,pageSize:this.pageSize,limit:this.limit,offset:this.offset}),this.selectAllRowsOnPage&&(this.selected=[],this.select.emit({selected:this.selected}))},t.prototype.calcPageSize=function(t){if(void 0===t&&(t=this.rows),this.scrollbarV&&this.virtualization){var e=Math.ceil(this.bodyHeight/this.rowHeight);return Math.max(e,0)}return void 0!==this.limit?this.limit:t?t.length:0},t.prototype.calcRowCount=function(t){return void 0===t&&(t=this.rows),this.externalPaging?this.count:t?this.groupedRows?this.groupedRows.length:null!=this.treeFromRelation&&null!=this.treeToRelation?this._internalRows.length:t.length:0},t.prototype.onColumnContextmenu=function(t){this.tableContextmenu.emit({event:t.event,type:d.ContextmenuType.header,content:t.column})},t.prototype.onRowContextmenu=function(t){this.tableContextmenu.emit({event:t.event,type:d.ContextmenuType.body,content:t.row})},t.prototype.onColumnResize=function(t){var e=t.column,n=t.newValue;if(void 0!==e){var r,o=this._internalColumns.map((function(t,o){return(t=a({},t)).$$id===e.$$id&&(r=o,t.width=n,t.$$oldWidth=n),t}));this.recalculateColumns(o,r),this._internalColumns=o,this.resize.emit({column:e,newValue:n})}},t.prototype.onColumnReorder=function(t){var e=t.column,n=t.newValue,r=t.prevValue,o=this._internalColumns.map((function(t){return a({},t)}));if(this.swapColumns){var i=o[n];o[n]=e,o[r]=i}else if(n>r){for(var s=o[r],c=r;c<n;c++)o[c]=o[c+1];o[n]=s}else{for(s=o[r],c=r;c>n;c--)o[c]=o[c-1];o[n]=s}this._internalColumns=o,this.reorder.emit({column:e,newValue:n,prevValue:r})},t.prototype.onColumnSort=function(t){this.selectAllRowsOnPage&&(this.selected=[],this.select.emit({selected:this.selected})),this.sorts=t.sorts,!1===this.externalSorting&&this.sortInternalRows(),this._internalRows=c.groupRowsByParents(this._internalRows,c.optionalGetterForProp(this.treeFromRelation),c.optionalGetterForProp(this.treeToRelation)),this.offset=0,this.bodyComponent.updateOffsetY(this.offset),this.sort.emit(t)},t.prototype.onHeaderSelect=function(t){var e,n;if(this.selectAllRowsOnPage){var a=this.bodyComponent.indexes.first,r=this.bodyComponent.indexes.last,o=this.selected.length===r-a;this.selected=[],o||(e=this.selected).push.apply(e,this._internalRows.slice(a,r))}else o=this.selected.length===this.rows.length,this.selected=[],o||(n=this.selected).push.apply(n,this.rows);this.select.emit({selected:this.selected})},t.prototype.onBodySelect=function(t){this.select.emit(t)},t.prototype.onTreeAction=function(t){var e=this,n=t.row,a=this._rows.findIndex((function(n){return n[e.treeToRelation]===t.row[e.treeToRelation]}));this.treeAction.emit({row:n,rowIndex:a})},t.prototype.ngOnDestroy=function(){this._subscriptions.forEach((function(t){return t.unsubscribe()}))},t.prototype.listenForColumnInputChanges=function(){var t=this;this._subscriptions.push(this.columnChangesService.columnInputChanges$.subscribe((function(){t.columnTemplates&&t.columnTemplates.notifyOnChanges()})))},t.prototype.sortInternalRows=function(){this._internalRows=c.sortRows(this._internalRows,this._internalColumns,this.sorts)},r([s.Input(),o("design:type",Object)],t.prototype,"targetMarkerTemplate",void 0),r([s.Input(),o("design:type",Object),o("design:paramtypes",[Object])],t.prototype,"rows",null),r([s.Input(),o("design:type",String),o("design:paramtypes",[String])],t.prototype,"groupRowsBy",null),r([s.Input(),o("design:type",Array)],t.prototype,"groupedRows",void 0),r([s.Input(),o("design:type",Array),o("design:paramtypes",[Array])],t.prototype,"columns",null),r([s.Input(),o("design:type",Array)],t.prototype,"selected",void 0),r([s.Input(),o("design:type",Boolean)],t.prototype,"scrollbarV",void 0),r([s.Input(),o("design:type",Boolean)],t.prototype,"scrollbarH",void 0),r([s.Input(),o("design:type",Number)],t.prototype,"rowHeight",void 0),r([s.Input(),o("design:type",String)],t.prototype,"columnMode",void 0),r([s.Input(),o("design:type",Object)],t.prototype,"headerHeight",void 0),r([s.Input(),o("design:type",Number)],t.prototype,"footerHeight",void 0),r([s.Input(),o("design:type",Boolean)],t.prototype,"externalPaging",void 0),r([s.Input(),o("design:type",Boolean)],t.prototype,"externalSorting",void 0),r([s.Input(),o("design:type",Number),o("design:paramtypes",[Number])],t.prototype,"limit",null),r([s.Input(),o("design:type",Number),o("design:paramtypes",[Number])],t.prototype,"count",null),r([s.Input(),o("design:type",Number),o("design:paramtypes",[Number])],t.prototype,"offset",null),r([s.Input(),o("design:type",Boolean)],t.prototype,"loadingIndicator",void 0),r([s.Input(),o("design:type",String)],t.prototype,"selectionType",void 0),r([s.Input(),o("design:type",Boolean)],t.prototype,"reorderable",void 0),r([s.Input(),o("design:type",Boolean)],t.prototype,"swapColumns",void 0),r([s.Input(),o("design:type",String)],t.prototype,"sortType",void 0),r([s.Input(),o("design:type",Array)],t.prototype,"sorts",void 0),r([s.Input(),o("design:type",Object)],t.prototype,"cssClasses",void 0),r([s.Input(),o("design:type",Object)],t.prototype,"messages",void 0),r([s.Input(),o("design:type",Function)],t.prototype,"rowIdentity",void 0),r([s.Input(),o("design:type",Object)],t.prototype,"rowClass",void 0),r([s.Input(),o("design:type",Object)],t.prototype,"selectCheck",void 0),r([s.Input(),o("design:type",Function)],t.prototype,"displayCheck",void 0),r([s.Input(),o("design:type",Boolean)],t.prototype,"groupExpansionDefault",void 0),r([s.Input(),o("design:type",String)],t.prototype,"trackByProp",void 0),r([s.Input(),o("design:type",Object)],t.prototype,"selectAllRowsOnPage",void 0),r([s.Input(),o("design:type",Boolean)],t.prototype,"virtualization",void 0),r([s.Input(),o("design:type",String)],t.prototype,"treeFromRelation",void 0),r([s.Input(),o("design:type",String)],t.prototype,"treeToRelation",void 0),r([s.Input(),o("design:type",Boolean)],t.prototype,"summaryRow",void 0),r([s.Input(),o("design:type",Number)],t.prototype,"summaryHeight",void 0),r([s.Input(),o("design:type",String)],t.prototype,"summaryPosition",void 0),r([s.Output(),o("design:type",s.EventEmitter)],t.prototype,"scroll",void 0),r([s.Output(),o("design:type",s.EventEmitter)],t.prototype,"activate",void 0),r([s.Output(),o("design:type",s.EventEmitter)],t.prototype,"select",void 0),r([s.Output(),o("design:type",s.EventEmitter)],t.prototype,"sort",void 0),r([s.Output(),o("design:type",s.EventEmitter)],t.prototype,"page",void 0),r([s.Output(),o("design:type",s.EventEmitter)],t.prototype,"reorder",void 0),r([s.Output(),o("design:type",s.EventEmitter)],t.prototype,"resize",void 0),r([s.Output(),o("design:type",Object)],t.prototype,"tableContextmenu",void 0),r([s.Output(),o("design:type",s.EventEmitter)],t.prototype,"treeAction",void 0),r([s.HostBinding("class.fixed-header"),o("design:type",Boolean),o("design:paramtypes",[])],t.prototype,"isFixedHeader",null),r([s.HostBinding("class.fixed-row"),o("design:type",Boolean),o("design:paramtypes",[])],t.prototype,"isFixedRow",null),r([s.HostBinding("class.scroll-vertical"),o("design:type",Boolean),o("design:paramtypes",[])],t.prototype,"isVertScroll",null),r([s.HostBinding("class.virtualized"),o("design:type",Boolean),o("design:paramtypes",[])],t.prototype,"isVirtualized",null),r([s.HostBinding("class.scroll-horz"),o("design:type",Boolean),o("design:paramtypes",[])],t.prototype,"isHorScroll",null),r([s.HostBinding("class.selectable"),o("design:type",Boolean),o("design:paramtypes",[])],t.prototype,"isSelectable",null),r([s.HostBinding("class.checkbox-selection"),o("design:type",Boolean),o("design:paramtypes",[])],t.prototype,"isCheckboxSelection",null),r([s.HostBinding("class.cell-selection"),o("design:type",Boolean),o("design:paramtypes",[])],t.prototype,"isCellSelection",null),r([s.HostBinding("class.single-selection"),o("design:type",Boolean),o("design:paramtypes",[])],t.prototype,"isSingleSelection",null),r([s.HostBinding("class.multi-selection"),o("design:type",Boolean),o("design:paramtypes",[])],t.prototype,"isMultiSelection",null),r([s.HostBinding("class.multi-click-selection"),o("design:type",Boolean),o("design:paramtypes",[])],t.prototype,"isMultiClickSelection",null),r([s.ContentChildren(f.DataTableColumnDirective),o("design:type",s.QueryList),o("design:paramtypes",[s.QueryList])],t.prototype,"columnTemplates",null),r([s.ContentChild(p.DatatableRowDetailDirective,{static:!1}),o("design:type",p.DatatableRowDetailDirective)],t.prototype,"rowDetail",void 0),r([s.ContentChild(g.DatatableGroupHeaderDirective,{static:!1}),o("design:type",g.DatatableGroupHeaderDirective)],t.prototype,"groupHeader",void 0),r([s.ContentChild(m.DatatableFooterDirective,{static:!1}),o("design:type",m.DatatableFooterDirective)],t.prototype,"footer",void 0),r([s.ViewChild(u.DataTableBodyComponent,{static:!1}),o("design:type",u.DataTableBodyComponent)],t.prototype,"bodyComponent",void 0),r([s.ViewChild(h.DataTableHeaderComponent,{static:!1}),o("design:type",h.DataTableHeaderComponent)],t.prototype,"headerComponent",void 0),r([s.HostListener("window:resize"),c.throttleable(5),o("design:type",Function),o("design:paramtypes",[]),o("design:returntype",void 0)],t.prototype,"onWindowResize",null),r([s.Component({selector:"ngx-datatable",template:'\n    <div\n      visibilityObserver\n      (visible)="recalculate()">\n      <datatable-header\n        *ngIf="headerHeight"\n        [sorts]="sorts"\n        [sortType]="sortType"\n        [scrollbarH]="scrollbarH"\n        [innerWidth]="_innerWidth"\n        [offsetX]="_offsetX | async"\n        [dealsWithGroup]="groupedRows"\n        [columns]="_internalColumns"\n        [headerHeight]="headerHeight"\n        [reorderable]="reorderable"\n        [targetMarkerTemplate]="targetMarkerTemplate"\n        [sortAscendingIcon]="cssClasses.sortAscending"\n        [sortDescendingIcon]="cssClasses.sortDescending"\n        [allRowsSelected]="allRowsSelected"\n        [selectionType]="selectionType"\n        (sort)="onColumnSort($event)"\n        (resize)="onColumnResize($event)"\n        (reorder)="onColumnReorder($event)"\n        (select)="onHeaderSelect($event)"\n        (columnContextmenu)="onColumnContextmenu($event)">\n      </datatable-header>\n      <datatable-body\n        [groupRowsBy]="groupRowsBy"\n        [groupedRows]="groupedRows"\n        [rows]="_internalRows"\n        [groupExpansionDefault]="groupExpansionDefault"\n        [scrollbarV]="scrollbarV"\n        [scrollbarH]="scrollbarH"\n        [virtualization]="virtualization"\n        [loadingIndicator]="loadingIndicator"\n        [externalPaging]="externalPaging"\n        [rowHeight]="rowHeight"\n        [rowCount]="rowCount"\n        [offset]="offset"\n        [trackByProp]="trackByProp"\n        [columns]="_internalColumns"\n        [pageSize]="pageSize"\n        [offsetX]="_offsetX | async"\n        [rowDetail]="rowDetail"\n        [groupHeader]="groupHeader"\n        [selected]="selected"\n        [innerWidth]="_innerWidth"\n        [bodyHeight]="bodyHeight"\n        [selectionType]="selectionType"\n        [emptyMessage]="messages.emptyMessage"\n        [rowIdentity]="rowIdentity"\n        [rowClass]="rowClass"\n        [selectCheck]="selectCheck"\n        [displayCheck]="displayCheck"\n        [summaryRow]="summaryRow"\n        [summaryHeight]="summaryHeight"\n        [summaryPosition]="summaryPosition"\n        (page)="onBodyPage($event)"\n        (activate)="activate.emit($event)"\n        (rowContextmenu)="onRowContextmenu($event)"\n        (select)="onBodySelect($event)"\n        (scroll)="onBodyScroll($event)"\n        (treeAction)="onTreeAction($event)">\n      </datatable-body>\n      <datatable-footer\n        *ngIf="footerHeight"\n        [rowCount]="rowCount"\n        [pageSize]="pageSize"\n        [offset]="offset"\n        [footerHeight]="footerHeight"\n        [footerTemplate]="footer"\n        [totalMessage]="messages.totalMessage"\n        [pagerLeftArrowIcon]="cssClasses.pagerLeftArrow"\n        [pagerRightArrowIcon]="cssClasses.pagerRightArrow"\n        [pagerPreviousIcon]="cssClasses.pagerPrevious"\n        [selectedCount]="selected.length"\n        [selectedMessage]="!!selectionType && messages.selectedMessage"\n        [pagerNextIcon]="cssClasses.pagerNext"\n        (page)="onFooterPage($event)">\n      </datatable-footer>\n    </div>\n  ',changeDetection:s.ChangeDetectionStrategy.OnPush,encapsulation:s.ViewEncapsulation.None,styles:[n("./src/components/datatable.component.scss")],host:{class:"ngx-datatable"}}),i(0,s.SkipSelf()),i(1,s.SkipSelf()),o("design:paramtypes",[l.ScrollbarHelper,l.DimensionsHelper,s.ChangeDetectorRef,s.ElementRef,s.KeyValueDiffers,l.ColumnChangesService])],t)}()},"./src/components/footer/footer-template.directive.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var o=n("@angular/core");e.DataTableFooterTemplateDirective=function(){return a([o.Directive({selector:"[ngx-datatable-footer-template]"}),r("design:paramtypes",[o.TemplateRef])],(function(t){this.template=t}))}()},"./src/components/footer/footer.component.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var o=n("@angular/core"),i=n("./src/components/footer/footer.directive.ts");e.DataTableFooterComponent=function(){function t(){this.selectedCount=0,this.page=new o.EventEmitter}return Object.defineProperty(t.prototype,"isVisible",{get:function(){return this.rowCount/this.pageSize>1},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"curPage",{get:function(){return this.offset+1},enumerable:!0,configurable:!0}),a([o.Input(),r("design:type",Number)],t.prototype,"footerHeight",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"rowCount",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"pageSize",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"offset",void 0),a([o.Input(),r("design:type",String)],t.prototype,"pagerLeftArrowIcon",void 0),a([o.Input(),r("design:type",String)],t.prototype,"pagerRightArrowIcon",void 0),a([o.Input(),r("design:type",String)],t.prototype,"pagerPreviousIcon",void 0),a([o.Input(),r("design:type",String)],t.prototype,"pagerNextIcon",void 0),a([o.Input(),r("design:type",String)],t.prototype,"totalMessage",void 0),a([o.Input(),r("design:type",i.DatatableFooterDirective)],t.prototype,"footerTemplate",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"selectedCount",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"selectedMessage",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"page",void 0),a([o.Component({selector:"datatable-footer",template:'\n    <div\n      class="datatable-footer-inner"\n      [ngClass]="{\'selected-count\': selectedMessage}"\n      [style.height.px]="footerHeight">\n      <ng-template\n        *ngIf="footerTemplate"\n        [ngTemplateOutlet]="footerTemplate.template"\n        [ngTemplateOutletContext]="{ \n          rowCount: rowCount, \n          pageSize: pageSize, \n          selectedCount: selectedCount,\n          curPage: curPage,\n          offset: offset\n        }">\n      </ng-template>\n      <div class="page-count" *ngIf="!footerTemplate">\n        <span *ngIf="selectedMessage">\n          {{selectedCount?.toLocaleString()}} {{selectedMessage}} / \n        </span>\n        {{rowCount?.toLocaleString()}} {{totalMessage}}\n      </div>\n      <datatable-pager *ngIf="!footerTemplate"\n        [pagerLeftArrowIcon]="pagerLeftArrowIcon"\n        [pagerRightArrowIcon]="pagerRightArrowIcon"\n        [pagerPreviousIcon]="pagerPreviousIcon"\n        [pagerNextIcon]="pagerNextIcon"\n        [page]="curPage"\n        [size]="pageSize"\n        [count]="rowCount"\n        [hidden]="!isVisible"\n        (change)="page.emit($event)">\n      </datatable-pager>\n    </div>\n  ',host:{class:"datatable-footer"},changeDetection:o.ChangeDetectionStrategy.OnPush})],t)}()},"./src/components/footer/footer.directive.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var o=n("@angular/core"),i=n("./src/components/footer/footer-template.directive.ts");e.DatatableFooterDirective=function(){function t(){}return a([o.Input(),r("design:type",Number)],t.prototype,"footerHeight",void 0),a([o.Input(),r("design:type",String)],t.prototype,"totalMessage",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"selectedMessage",void 0),a([o.Input(),r("design:type",String)],t.prototype,"pagerLeftArrowIcon",void 0),a([o.Input(),r("design:type",String)],t.prototype,"pagerRightArrowIcon",void 0),a([o.Input(),r("design:type",String)],t.prototype,"pagerPreviousIcon",void 0),a([o.Input(),r("design:type",String)],t.prototype,"pagerNextIcon",void 0),a([o.Input(),o.ContentChild(i.DataTableFooterTemplateDirective,{read:o.TemplateRef,static:!1}),r("design:type",o.TemplateRef)],t.prototype,"template",void 0),a([o.Directive({selector:"ngx-datatable-footer"})],t)}()},"./src/components/footer/index.ts":function(t,e,n){"use strict";function a(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),a(n("./src/components/footer/footer.component.ts")),a(n("./src/components/footer/pager.component.ts")),a(n("./src/components/footer/footer.directive.ts")),a(n("./src/components/footer/footer-template.directive.ts"))},"./src/components/footer/pager.component.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var o=n("@angular/core");e.DataTablePagerComponent=function(){function t(){this.change=new o.EventEmitter,this._count=0,this._page=1,this._size=0}return Object.defineProperty(t.prototype,"size",{get:function(){return this._size},set:function(t){this._size=t,this.pages=this.calcPages()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"count",{get:function(){return this._count},set:function(t){this._count=t,this.pages=this.calcPages()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"page",{get:function(){return this._page},set:function(t){this._page=t,this.pages=this.calcPages()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"totalPages",{get:function(){var t=this.size<1?1:Math.ceil(this.count/this.size);return Math.max(t||0,1)},enumerable:!0,configurable:!0}),t.prototype.canPrevious=function(){return this.page>1},t.prototype.canNext=function(){return this.page<this.totalPages},t.prototype.prevPage=function(){this.selectPage(this.page-1)},t.prototype.nextPage=function(){this.selectPage(this.page+1)},t.prototype.selectPage=function(t){t>0&&t<=this.totalPages&&t!==this.page&&(this.page=t,this.change.emit({page:t}))},t.prototype.calcPages=function(t){var e=[],n=1,a=this.totalPages;t=t||this.page,5<this.totalPages&&(n=t-Math.floor(2.5),a=t+Math.floor(2.5),n<1?(n=1,a=Math.min(n+5-1,this.totalPages)):a>this.totalPages&&(n=Math.max(this.totalPages-5+1,1),a=this.totalPages));for(var r=n;r<=a;r++)e.push({number:r,text:r});return e},a([o.Input(),r("design:type",String)],t.prototype,"pagerLeftArrowIcon",void 0),a([o.Input(),r("design:type",String)],t.prototype,"pagerRightArrowIcon",void 0),a([o.Input(),r("design:type",String)],t.prototype,"pagerPreviousIcon",void 0),a([o.Input(),r("design:type",String)],t.prototype,"pagerNextIcon",void 0),a([o.Input(),r("design:type",Number),r("design:paramtypes",[Number])],t.prototype,"size",null),a([o.Input(),r("design:type",Number),r("design:paramtypes",[Number])],t.prototype,"count",null),a([o.Input(),r("design:type",Number),r("design:paramtypes",[Number])],t.prototype,"page",null),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"change",void 0),a([o.Component({selector:"datatable-pager",template:'\n    <ul class="pager">\n      <li [class.disabled]="!canPrevious()">\n        <a\n          role="button"\n          aria-label="go to first page"\n          href="javascript:void(0)"\n          (click)="selectPage(1)">\n          <i class="{{pagerPreviousIcon}}"></i>\n        </a>\n      </li>\n      <li [class.disabled]="!canPrevious()">\n        <a\n          role="button"\n          aria-label="go to previous page"\n          href="javascript:void(0)"\n          (click)="prevPage()">\n          <i class="{{pagerLeftArrowIcon}}"></i>\n        </a>\n      </li>\n      <li\n        role="button"\n        [attr.aria-label]="\'page \' + pg.number"\n        class="pages"\n        *ngFor="let pg of pages"\n        [class.active]="pg.number === page">\n        <a\n          href="javascript:void(0)"\n          (click)="selectPage(pg.number)">\n          {{pg.text}}\n        </a>\n      </li>\n      <li [class.disabled]="!canNext()">\n        <a\n          role="button"\n          aria-label="go to next page"\n          href="javascript:void(0)"\n          (click)="nextPage()">\n          <i class="{{pagerRightArrowIcon}}"></i>\n        </a>\n      </li>\n      <li [class.disabled]="!canNext()">\n        <a\n          role="button"\n          aria-label="go to last page"\n          href="javascript:void(0)"\n          (click)="selectPage(totalPages)">\n          <i class="{{pagerNextIcon}}"></i>\n        </a>\n      </li>\n    </ul>\n  ',host:{class:"datatable-pager"},changeDetection:o.ChangeDetectionStrategy.OnPush})],t)}()},"./src/components/header/header-cell.component.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var o=n("@angular/core"),i=n("./src/types/index.ts"),s=n("./src/utils/index.ts");n("./src/events.ts"),e.DataTableHeaderCellComponent=function(){function t(t){this.cd=t,this.sort=new o.EventEmitter,this.select=new o.EventEmitter,this.columnContextmenu=new o.EventEmitter(!1),this.sortFn=this.onSort.bind(this),this.selectFn=this.select.emit.bind(this.select),this.cellContext={column:this.column,sortDir:this.sortDir,sortFn:this.sortFn,allRowsSelected:this.allRowsSelected,selectFn:this.selectFn}}return Object.defineProperty(t.prototype,"allRowsSelected",{get:function(){return this._allRowsSelected},set:function(t){this._allRowsSelected=t,this.cellContext.allRowsSelected=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"column",{get:function(){return this._column},set:function(t){this._column=t,this.cellContext.column=t,this.cd.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"sorts",{get:function(){return this._sorts},set:function(t){this._sorts=t,this.sortDir=this.calcSortDir(t),this.cellContext.sortDir=this.sortDir,this.sortClass=this.calcSortClass(this.sortDir),this.cd.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"columnCssClasses",{get:function(){var t="datatable-header-cell";if(this.column.sortable&&(t+=" sortable"),this.column.resizeable&&(t+=" resizeable"),this.column.headerClass)if("string"==typeof this.column.headerClass)t+=" "+this.column.headerClass;else if("function"==typeof this.column.headerClass){var e=this.column.headerClass({column:this.column});if("string"==typeof e)t+=e;else if("object"==typeof e)for(var n=0,a=Object.keys(e);n<a.length;n++){var r=a[n];!0===e[r]&&(t+=" "+r)}}var o=this.sortDir;return o&&(t+=" sort-active sort-"+o),t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"name",{get:function(){return void 0===this.column.headerTemplate?this.column.name:void 0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"minWidth",{get:function(){return this.column.minWidth},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"maxWidth",{get:function(){return this.column.maxWidth},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"width",{get:function(){return this.column.width},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isCheckboxable",{get:function(){return this.column.checkboxable&&this.column.headerCheckboxable&&this.selectionType===i.SelectionType.checkbox},enumerable:!0,configurable:!0}),t.prototype.onContextmenu=function(t){this.columnContextmenu.emit({event:t,column:this.column})},t.prototype.calcSortDir=function(t){var e=this;if(t&&this.column){var n=t.find((function(t){return t.prop===e.column.prop}));if(n)return n.dir}},t.prototype.onSort=function(){if(this.column.sortable){var t=s.nextSortDir(this.sortType,this.sortDir);this.sort.emit({column:this.column,prevValue:this.sortDir,newValue:t})}},t.prototype.calcSortClass=function(t){return t===i.SortDirection.asc?"sort-btn sort-asc "+this.sortAscendingIcon:t===i.SortDirection.desc?"sort-btn sort-desc "+this.sortDescendingIcon:"sort-btn"},a([o.Input(),r("design:type",String)],t.prototype,"sortType",void 0),a([o.Input(),r("design:type",String)],t.prototype,"sortAscendingIcon",void 0),a([o.Input(),r("design:type",String)],t.prototype,"sortDescendingIcon",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"isTarget",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"targetMarkerTemplate",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"targetMarkerContext",void 0),a([o.Input(),r("design:type",Object),r("design:paramtypes",[Object])],t.prototype,"allRowsSelected",null),a([o.Input(),r("design:type",String)],t.prototype,"selectionType",void 0),a([o.Input(),r("design:type",Object),r("design:paramtypes",[Object])],t.prototype,"column",null),a([o.HostBinding("style.height.px"),o.Input(),r("design:type",Number)],t.prototype,"headerHeight",void 0),a([o.Input(),r("design:type",Array),r("design:paramtypes",[Array])],t.prototype,"sorts",null),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"sort",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"select",void 0),a([o.Output(),r("design:type",Object)],t.prototype,"columnContextmenu",void 0),a([o.HostBinding("class"),r("design:type",Object),r("design:paramtypes",[])],t.prototype,"columnCssClasses",null),a([o.HostBinding("attr.title"),r("design:type",String),r("design:paramtypes",[])],t.prototype,"name",null),a([o.HostBinding("style.minWidth.px"),r("design:type",Number),r("design:paramtypes",[])],t.prototype,"minWidth",null),a([o.HostBinding("style.maxWidth.px"),r("design:type",Number),r("design:paramtypes",[])],t.prototype,"maxWidth",null),a([o.HostBinding("style.width.px"),r("design:type",Number),r("design:paramtypes",[])],t.prototype,"width",null),a([o.HostListener("contextmenu",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],t.prototype,"onContextmenu",null),a([o.Component({selector:"datatable-header-cell",template:'\n    <div class="datatable-header-cell-template-wrap">\n      <ng-template\n        *ngIf="isTarget"\n        [ngTemplateOutlet]="targetMarkerTemplate"\n        [ngTemplateOutletContext]="targetMarkerContext">\n      </ng-template>\n      <label\n        *ngIf="isCheckboxable"\n        class="datatable-checkbox">\n        <input\n          type="checkbox"\n          [checked]="allRowsSelected"\n          (change)="select.emit(!allRowsSelected)"\n        />\n      </label>\n      <span\n        *ngIf="!column.headerTemplate"\n        class="datatable-header-cell-wrapper">\n        <span\n          class="datatable-header-cell-label draggable"\n          (click)="onSort()"\n          [innerHTML]="name">\n        </span>\n      </span>\n      <ng-template\n        *ngIf="column.headerTemplate"\n        [ngTemplateOutlet]="column.headerTemplate"\n        [ngTemplateOutletContext]="cellContext">\n      </ng-template>\n      <span\n        (click)="onSort()"\n        [class]="sortClass">\n      </span>\n    </div>\n  ',host:{class:"datatable-header-cell"},changeDetection:o.ChangeDetectionStrategy.OnPush}),r("design:paramtypes",[o.ChangeDetectorRef])],t)}()},"./src/components/header/header.component.ts":function(t,e,n){"use strict";var a=this&&this.__assign||function(){return(a=Object.assign||function(t){for(var e,n=1,a=arguments.length;n<a;n++)for(var r in e=arguments[n])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t}).apply(this,arguments)},r=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},o=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var i=n("@angular/core"),s=n("./src/types/index.ts"),c=n("./src/utils/index.ts");e.DataTableHeaderComponent=function(){function t(t){this.cd=t,this.sort=new i.EventEmitter,this.reorder=new i.EventEmitter,this.resize=new i.EventEmitter,this.select=new i.EventEmitter,this.columnContextmenu=new i.EventEmitter(!1),this._styleByGroup={left:{},center:{},right:{}}}return Object.defineProperty(t.prototype,"innerWidth",{get:function(){return this._innerWidth},set:function(t){if(this._innerWidth=t,this._columns){var e=c.columnsByPin(this._columns);this._columnGroupWidths=c.columnGroupWidths(e,this._columns),this.setStylesByGroup()}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"headerHeight",{get:function(){return this._headerHeight},set:function(t){this._headerHeight="auto"!==t?t+"px":t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"columns",{get:function(){return this._columns},set:function(t){this._columns=t;var e=c.columnsByPin(t);this._columnsByPin=c.columnsByPinArr(t),this._columnGroupWidths=c.columnGroupWidths(e,t),this.setStylesByGroup()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"offsetX",{get:function(){return this._offsetX},set:function(t){this._offsetX=t,this.setStylesByGroup()},enumerable:!0,configurable:!0}),t.prototype.onLongPressStart=function(t){var e=t.event;t.model.dragging=!0,this.dragEventTarget=e},t.prototype.onLongPressEnd=function(t){var e=this,n=t.model;this.dragEventTarget=t.event,setTimeout((function(){var t=e._columns.find((function(t){return t.$$id===n.$$id}));t&&(t.dragging=!1)}),5)},Object.defineProperty(t.prototype,"headerWidth",{get:function(){return this.scrollbarH?this.innerWidth+"px":"100%"},enumerable:!0,configurable:!0}),t.prototype.trackByGroups=function(t,e){return e.type},t.prototype.columnTrackingFn=function(t,e){return e.$$id},t.prototype.onColumnResized=function(t,e){t<=e.minWidth?t=e.minWidth:t>=e.maxWidth&&(t=e.maxWidth),this.resize.emit({column:e,prevValue:e.width,newValue:t})},t.prototype.onColumnReordered=function(t){var e=t.prevIndex,n=t.newIndex,a=t.model,r=this.getColumn(n);r.isTarget=!1,r.targetMarkerContext=void 0,this.reorder.emit({column:a,prevValue:e,newValue:n})},t.prototype.onTargetChanged=function(t){var e=t.prevIndex,n=t.newIndex,a=t.initialIndex;if(e||0===e){var r=this.getColumn(e);r.isTarget=!1,r.targetMarkerContext=void 0}if(n||0===n){var o=this.getColumn(n);o.isTarget=!0,a!==n&&(o.targetMarkerContext={class:"targetMarker ".concat(a>n?"dragFromRight":"dragFromLeft")})}},t.prototype.getColumn=function(t){var e=this._columnsByPin[0].columns.length;if(t<e)return this._columnsByPin[0].columns[t];var n=this._columnsByPin[1].columns.length;return t<e+n?this._columnsByPin[1].columns[t-e]:this._columnsByPin[2].columns[t-e-n]},t.prototype.onSort=function(t){var e=t.column,n=t.prevValue,a=t.newValue;if(!e.dragging){var r=this.calcNewSorts(e,n,a);this.sort.emit({sorts:r,column:e,prevValue:n,newValue:a})}},t.prototype.calcNewSorts=function(t,e,n){var r=0;this.sorts||(this.sorts=[]);var o=this.sorts.map((function(e,n){return(e=a({},e)).prop===t.prop&&(r=n),e}));return void 0===n?o.splice(r,1):e?o[r].dir=n:(this.sortType===s.SortType.single&&o.splice(0,this.sorts.length),o.push({dir:n,prop:t.prop})),o},t.prototype.setStylesByGroup=function(){this._styleByGroup.left=this.calcStylesByGroup("left"),this._styleByGroup.center=this.calcStylesByGroup("center"),this._styleByGroup.right=this.calcStylesByGroup("right"),this.cd.detectChanges()},t.prototype.calcStylesByGroup=function(t){var e=this._columnGroupWidths,n={width:e[t]+"px"};return"center"===t?c.translateXY(n,-1*this.offsetX,0):"right"===t&&c.translateXY(n,-1*(e.total-this.innerWidth),0),n},r([i.Input(),o("design:type",Object)],t.prototype,"sortAscendingIcon",void 0),r([i.Input(),o("design:type",Object)],t.prototype,"sortDescendingIcon",void 0),r([i.Input(),o("design:type",Boolean)],t.prototype,"scrollbarH",void 0),r([i.Input(),o("design:type",Boolean)],t.prototype,"dealsWithGroup",void 0),r([i.Input(),o("design:type",Object)],t.prototype,"targetMarkerTemplate",void 0),r([i.Input(),o("design:type",Number),o("design:paramtypes",[Number])],t.prototype,"innerWidth",null),r([i.Input(),o("design:type",Array)],t.prototype,"sorts",void 0),r([i.Input(),o("design:type",String)],t.prototype,"sortType",void 0),r([i.Input(),o("design:type",Boolean)],t.prototype,"allRowsSelected",void 0),r([i.Input(),o("design:type",String)],t.prototype,"selectionType",void 0),r([i.Input(),o("design:type",Boolean)],t.prototype,"reorderable",void 0),r([i.HostBinding("style.height"),i.Input(),o("design:type",Object),o("design:paramtypes",[Object])],t.prototype,"headerHeight",null),r([i.Input(),o("design:type",Array),o("design:paramtypes",[Array])],t.prototype,"columns",null),r([i.Input(),o("design:type",Number),o("design:paramtypes",[Number])],t.prototype,"offsetX",null),r([i.Output(),o("design:type",i.EventEmitter)],t.prototype,"sort",void 0),r([i.Output(),o("design:type",i.EventEmitter)],t.prototype,"reorder",void 0),r([i.Output(),o("design:type",i.EventEmitter)],t.prototype,"resize",void 0),r([i.Output(),o("design:type",i.EventEmitter)],t.prototype,"select",void 0),r([i.Output(),o("design:type",Object)],t.prototype,"columnContextmenu",void 0),r([i.HostBinding("style.width"),o("design:type",String),o("design:paramtypes",[])],t.prototype,"headerWidth",null),r([i.Component({selector:"datatable-header",template:'\n    <div\n      orderable\n      (reorder)="onColumnReordered($event)"\n      (targetChanged)="onTargetChanged($event)"\n      [style.width.px]="_columnGroupWidths.total"\n      class="datatable-header-inner">\n      <div\n        *ngFor="let colGroup of _columnsByPin; trackBy: trackByGroups"\n        [class]="\'datatable-row-\' + colGroup.type"\n        [ngStyle]="_styleByGroup[colGroup.type]">\n        <datatable-header-cell\n          *ngFor="let column of colGroup.columns; trackBy: columnTrackingFn"\n          resizeable\n          [resizeEnabled]="column.resizeable"\n          (resize)="onColumnResized($event, column)"\n          long-press\n          [pressModel]="column"\n          [pressEnabled]="reorderable && column.draggable"\n          (longPressStart)="onLongPressStart($event)"\n          (longPressEnd)="onLongPressEnd($event)"\n          draggable\n          [dragX]="reorderable && column.draggable && column.dragging"\n          [dragY]="false"\n          [dragModel]="column"\n          [dragEventTarget]="dragEventTarget"\n          [headerHeight]="headerHeight"\n          [isTarget]="column.isTarget"\n          [targetMarkerTemplate]="targetMarkerTemplate"\n          [targetMarkerContext]="column.targetMarkerContext"\n          [column]="column"\n          [sortType]="sortType"\n          [sorts]="sorts"\n          [selectionType]="selectionType"\n          [sortAscendingIcon]="sortAscendingIcon"\n          [sortDescendingIcon]="sortDescendingIcon"\n          [allRowsSelected]="allRowsSelected"\n          (sort)="onSort($event)"\n          (select)="select.emit($event)"\n          (columnContextmenu)="columnContextmenu.emit($event)">\n        </datatable-header-cell>\n      </div>\n    </div>\n  ',host:{class:"datatable-header"},changeDetection:i.ChangeDetectionStrategy.OnPush}),o("design:paramtypes",[i.ChangeDetectorRef])],t)}()},"./src/components/header/index.ts":function(t,e,n){"use strict";function a(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),a(n("./src/components/header/header.component.ts")),a(n("./src/components/header/header-cell.component.ts"))},"./src/components/index.ts":function(t,e,n){"use strict";function a(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),a(n("./src/components/datatable.component.ts")),a(n("./src/components/header/index.ts")),a(n("./src/components/body/index.ts")),a(n("./src/components/footer/index.ts")),a(n("./src/components/columns/index.ts")),a(n("./src/components/row-detail/index.ts"))},"./src/components/row-detail/index.ts":function(t,e,n){"use strict";function a(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),a(n("./src/components/row-detail/row-detail.directive.ts")),a(n("./src/components/row-detail/row-detail-template.directive.ts"))},"./src/components/row-detail/row-detail-template.directive.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var o=n("@angular/core");e.DatatableRowDetailTemplateDirective=function(){return a([o.Directive({selector:"[ngx-datatable-row-detail-template]"}),r("design:paramtypes",[o.TemplateRef])],(function(t){this.template=t}))}()},"./src/components/row-detail/row-detail.directive.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var o=n("@angular/core"),i=n("./src/components/row-detail/row-detail-template.directive.ts");e.DatatableRowDetailDirective=function(){function t(){this.rowHeight=0,this.toggle=new o.EventEmitter}return t.prototype.toggleExpandRow=function(t){this.toggle.emit({type:"row",value:t})},t.prototype.expandAllRows=function(){this.toggle.emit({type:"all",value:!0})},t.prototype.collapseAllRows=function(){this.toggle.emit({type:"all",value:!1})},a([o.Input(),r("design:type",Object)],t.prototype,"rowHeight",void 0),a([o.Input(),o.ContentChild(i.DatatableRowDetailTemplateDirective,{read:o.TemplateRef,static:!0}),r("design:type",o.TemplateRef)],t.prototype,"template",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"toggle",void 0),a([o.Directive({selector:"ngx-datatable-row-detail"})],t)}()},"./src/datatable.module.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i};Object.defineProperty(e,"__esModule",{value:!0});var r=n("@angular/core"),o=n("@angular/common"),i=n("./src/components/index.ts"),s=n("./src/directives/index.ts"),c=n("./src/services/index.ts");e.NgxDatatableModule=function(){return a([r.NgModule({imports:[o.CommonModule],providers:[c.ScrollbarHelper,c.DimensionsHelper,c.ColumnChangesService],declarations:[i.DataTableFooterTemplateDirective,s.VisibilityDirective,s.DraggableDirective,s.ResizeableDirective,s.OrderableDirective,s.LongPressDirective,i.ScrollerComponent,i.DatatableComponent,i.DataTableColumnDirective,i.DataTableHeaderComponent,i.DataTableHeaderCellComponent,i.DataTableBodyComponent,i.DataTableFooterComponent,i.DataTablePagerComponent,i.ProgressBarComponent,i.DataTableBodyRowComponent,i.DataTableRowWrapperComponent,i.DatatableRowDetailDirective,i.DatatableGroupHeaderDirective,i.DatatableRowDetailTemplateDirective,i.DataTableBodyCellComponent,i.DataTableSelectionComponent,i.DataTableColumnHeaderDirective,i.DataTableColumnCellDirective,i.DataTableColumnCellTreeToggle,i.DatatableFooterDirective,i.DatatableGroupHeaderTemplateDirective,i.DataTableSummaryRowComponent],exports:[i.DatatableComponent,i.DatatableRowDetailDirective,i.DatatableGroupHeaderDirective,i.DatatableRowDetailTemplateDirective,i.DataTableColumnDirective,i.DataTableColumnHeaderDirective,i.DataTableColumnCellDirective,i.DataTableColumnCellTreeToggle,i.DataTableFooterTemplateDirective,i.DatatableFooterDirective,i.DataTablePagerComponent,i.DatatableGroupHeaderTemplateDirective]})],(function(){}))}()},"./src/directives/draggable.directive.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var o=n("@angular/core"),i=n("rxjs"),s=n("rxjs/operators");e.DraggableDirective=function(){function t(t){this.dragX=!0,this.dragY=!0,this.dragStart=new o.EventEmitter,this.dragging=new o.EventEmitter,this.dragEnd=new o.EventEmitter,this.isDragging=!1,this.element=t.nativeElement}return t.prototype.ngOnChanges=function(t){t.dragEventTarget&&t.dragEventTarget.currentValue&&this.dragModel.dragging&&this.onMousedown(t.dragEventTarget.currentValue)},t.prototype.ngOnDestroy=function(){this._destroySubscription()},t.prototype.onMouseup=function(t){this.isDragging&&(this.isDragging=!1,this.element.classList.remove("dragging"),this.subscription&&(this._destroySubscription(),this.dragEnd.emit({event:t,element:this.element,model:this.dragModel})))},t.prototype.onMousedown=function(t){var e=this;if(t.target.classList.contains("draggable")&&(this.dragX||this.dragY)){t.preventDefault(),this.isDragging=!0;var n={x:t.clientX,y:t.clientY},a=i.fromEvent(document,"mouseup");this.subscription=a.subscribe((function(t){return e.onMouseup(t)}));var r=i.fromEvent(document,"mousemove").pipe(s.takeUntil(a)).subscribe((function(t){return e.move(t,n)}));this.subscription.add(r),this.dragStart.emit({event:t,element:this.element,model:this.dragModel})}},t.prototype.move=function(t,e){if(this.isDragging){var n=t.clientY-e.y;this.dragX&&(this.element.style.left=t.clientX-e.x+"px"),this.dragY&&(this.element.style.top=n+"px"),this.element.classList.add("dragging"),this.dragging.emit({event:t,element:this.element,model:this.dragModel})}},t.prototype._destroySubscription=function(){this.subscription&&(this.subscription.unsubscribe(),this.subscription=void 0)},a([o.Input(),r("design:type",Object)],t.prototype,"dragEventTarget",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"dragModel",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"dragX",void 0),a([o.Input(),r("design:type",Boolean)],t.prototype,"dragY",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"dragStart",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"dragging",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"dragEnd",void 0),a([o.Directive({selector:"[draggable]"}),r("design:paramtypes",[o.ElementRef])],t)}()},"./src/directives/index.ts":function(t,e,n){"use strict";function a(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),a(n("./src/directives/draggable.directive.ts")),a(n("./src/directives/long-press.directive.ts")),a(n("./src/directives/orderable.directive.ts")),a(n("./src/directives/resizeable.directive.ts")),a(n("./src/directives/visibility.directive.ts"))},"./src/directives/long-press.directive.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var o=n("@angular/core"),i=n("rxjs"),s=n("rxjs/operators");n("./src/events.ts"),e.LongPressDirective=function(){function t(){this.pressEnabled=!0,this.duration=500,this.longPressStart=new o.EventEmitter,this.longPressing=new o.EventEmitter,this.longPressEnd=new o.EventEmitter,this.mouseX=0,this.mouseY=0}return Object.defineProperty(t.prototype,"press",{get:function(){return this.pressing},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isLongPress",{get:function(){return this.isLongPressing},enumerable:!0,configurable:!0}),t.prototype.onMouseDown=function(t){var e=this;if(1===t.which&&this.pressEnabled&&!t.target.classList.contains("resize-handle")){this.mouseX=t.clientX,this.mouseY=t.clientY,this.pressing=!0,this.isLongPressing=!1;var n=i.fromEvent(document,"mouseup");this.subscription=n.subscribe((function(t){return e.onMouseup()})),this.timeout=setTimeout((function(){e.isLongPressing=!0,e.longPressStart.emit({event:t,model:e.pressModel}),e.subscription.add(i.fromEvent(document,"mousemove").pipe(s.takeUntil(n)).subscribe((function(t){return e.onMouseMove(t)}))),e.loop(t)}),this.duration),this.loop(t)}},t.prototype.onMouseMove=function(t){if(this.pressing&&!this.isLongPressing){var e=Math.abs(t.clientX-this.mouseX)>10,n=Math.abs(t.clientY-this.mouseY)>10;(e||n)&&this.endPress()}},t.prototype.loop=function(t){var e=this;this.isLongPressing&&(this.timeout=setTimeout((function(){e.longPressing.emit({event:t,model:e.pressModel}),e.loop(t)}),50))},t.prototype.endPress=function(){clearTimeout(this.timeout),this.isLongPressing=!1,this.pressing=!1,this._destroySubscription(),this.longPressEnd.emit({model:this.pressModel})},t.prototype.onMouseup=function(){this.endPress()},t.prototype.ngOnDestroy=function(){this._destroySubscription()},t.prototype._destroySubscription=function(){this.subscription&&(this.subscription.unsubscribe(),this.subscription=void 0)},a([o.Input(),r("design:type",Boolean)],t.prototype,"pressEnabled",void 0),a([o.Input(),r("design:type",Object)],t.prototype,"pressModel",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"duration",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"longPressStart",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"longPressing",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"longPressEnd",void 0),a([o.HostBinding("class.press"),r("design:type",Boolean),r("design:paramtypes",[])],t.prototype,"press",null),a([o.HostBinding("class.longpress"),r("design:type",Boolean),r("design:paramtypes",[])],t.prototype,"isLongPress",null),a([o.HostListener("mousedown",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],t.prototype,"onMouseDown",null),a([o.Directive({selector:"[long-press]"})],t)}()},"./src/directives/orderable.directive.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},o=this&&this.__param||function(t,e){return function(n,a){e(n,a,t)}};Object.defineProperty(e,"__esModule",{value:!0});var i=n("@angular/core"),s=n("./src/directives/draggable.directive.ts"),c=n("@angular/common");e.OrderableDirective=function(){function t(t,e){this.document=e,this.reorder=new i.EventEmitter,this.targetChanged=new i.EventEmitter,this.differ=t.find({}).create()}return t.prototype.ngAfterContentInit=function(){this.updateSubscriptions(),this.draggables.changes.subscribe(this.updateSubscriptions.bind(this))},t.prototype.ngOnDestroy=function(){this.draggables.forEach((function(t){t.dragStart.unsubscribe(),t.dragging.unsubscribe(),t.dragEnd.unsubscribe()}))},t.prototype.updateSubscriptions=function(){var t=this,e=this.differ.diff(this.createMapDiffs());if(e){var n=function(t){var e=t.previousValue;e&&(e.dragStart.unsubscribe(),e.dragging.unsubscribe(),e.dragEnd.unsubscribe())};e.forEachAddedItem((function(e){var a=e.currentValue;n({previousValue:e.previousValue}),a&&(a.dragStart.subscribe(t.onDragStart.bind(t)),a.dragging.subscribe(t.onDragging.bind(t)),a.dragEnd.subscribe(t.onDragEnd.bind(t)))}).bind(this)),e.forEachRemovedItem(n.bind(this))}},t.prototype.onDragStart=function(){this.positions={};for(var t=0,e=0,n=this.draggables.toArray();e<n.length;e++){var a=n[e],r=a.element,o=parseInt(r.offsetLeft.toString(),0);this.positions[a.dragModel.prop]={left:o,right:o+parseInt(r.offsetWidth.toString(),0),index:t++,element:r}}},t.prototype.onDragging=function(t){var e=t.model,n=this.positions[e.prop],a=this.isTarget(e,t.event);a?this.lastDraggingIndex!==a.i&&(this.targetChanged.emit({prevIndex:this.lastDraggingIndex,newIndex:a.i,initialIndex:n.index}),this.lastDraggingIndex=a.i):this.lastDraggingIndex!==n.index&&(this.targetChanged.emit({prevIndex:this.lastDraggingIndex,initialIndex:n.index}),this.lastDraggingIndex=n.index)},t.prototype.onDragEnd=function(t){var e=t.element,n=t.model,a=this.positions[n.prop],r=this.isTarget(n,t.event);r&&this.reorder.emit({prevIndex:a.index,newIndex:r.i,model:n}),this.lastDraggingIndex=void 0,e.style.left="auto"},t.prototype.isTarget=function(t,e){var n=0,a=this.document.elementsFromPoint(e.x||e.clientX,e.y||e.clientY),r=function(e){var r=o.positions[e];if(t.prop!==e&&a.find((function(t){return t===r.element})))return{value:{pos:r,i:n}};n++},o=this;for(var i in this.positions){var s=r(i);if("object"==typeof s)return s.value}},t.prototype.createMapDiffs=function(){return this.draggables.toArray().reduce((function(t,e){return t[e.dragModel.$$id]=e,t}),{})},a([i.Output(),r("design:type",i.EventEmitter)],t.prototype,"reorder",void 0),a([i.Output(),r("design:type",i.EventEmitter)],t.prototype,"targetChanged",void 0),a([i.ContentChildren(s.DraggableDirective,{descendants:!0}),r("design:type",i.QueryList)],t.prototype,"draggables",void 0),a([i.Directive({selector:"[orderable]"}),o(1,i.Inject(c.DOCUMENT)),r("design:paramtypes",[i.KeyValueDiffers,Object])],t)}()},"./src/directives/resizeable.directive.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var o=n("@angular/core"),i=n("rxjs"),s=(n("./src/events.ts"),n("rxjs/operators"));e.ResizeableDirective=function(){function t(t,e){this.renderer=e,this.resizeEnabled=!0,this.resize=new o.EventEmitter,this.resizing=!1,this.element=t.nativeElement}return t.prototype.ngAfterViewInit=function(){var t=this.renderer,e=t.createElement("span");t.addClass(e,this.resizeEnabled?"resize-handle":"resize-handle--not-resizable"),t.appendChild(this.element,e)},t.prototype.ngOnDestroy=function(){this._destroySubscription()},t.prototype.onMouseup=function(){this.resizing=!1,this.subscription&&!this.subscription.closed&&(this._destroySubscription(),this.resize.emit(this.element.clientWidth))},t.prototype.onMousedown=function(t){var e=this,n=t.target.classList.contains("resize-handle"),a=this.element.clientWidth,r=t.screenX;if(n){t.stopPropagation(),this.resizing=!0;var o=i.fromEvent(document,"mouseup");this.subscription=o.subscribe((function(t){return e.onMouseup()}));var c=i.fromEvent(document,"mousemove").pipe(s.takeUntil(o)).subscribe((function(t){return e.move(t,a,r)}));this.subscription.add(c)}},t.prototype.move=function(t,e,n){var a=e+(t.screenX-n);(!this.minWidth||a>=this.minWidth)&&(!this.maxWidth||a<=this.maxWidth)&&(this.element.style.width=a+"px")},t.prototype._destroySubscription=function(){this.subscription&&(this.subscription.unsubscribe(),this.subscription=void 0)},a([o.Input(),r("design:type",Boolean)],t.prototype,"resizeEnabled",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"minWidth",void 0),a([o.Input(),r("design:type",Number)],t.prototype,"maxWidth",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"resize",void 0),a([o.HostListener("mousedown",["$event"]),r("design:type",Function),r("design:paramtypes",[Object]),r("design:returntype",void 0)],t.prototype,"onMousedown",null),a([o.Directive({selector:"[resizeable]",host:{"[class.resizeable]":"resizeEnabled"}}),r("design:paramtypes",[o.ElementRef,o.Renderer2])],t)}()},"./src/directives/visibility.directive.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var o=n("@angular/core");e.VisibilityDirective=function(){function t(t,e){this.element=t,this.zone=e,this.isVisible=!1,this.visible=new o.EventEmitter}return t.prototype.ngOnInit=function(){this.runCheck()},t.prototype.ngOnDestroy=function(){clearTimeout(this.timeout)},t.prototype.onVisibilityChange=function(){var t=this;this.zone.run((function(){t.isVisible=!0,t.visible.emit(!0)}))},t.prototype.runCheck=function(){var t=this,e=function(){var n=t.element.nativeElement;n.offsetHeight&&n.offsetWidth?(clearTimeout(t.timeout),t.onVisibilityChange()):(clearTimeout(t.timeout),t.zone.runOutsideAngular((function(){t.timeout=setTimeout((function(){return e()}),50)})))};this.timeout=setTimeout((function(){return e()}))},a([o.HostBinding("class.visible"),r("design:type",Boolean)],t.prototype,"isVisible",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"visible",void 0),a([o.Directive({selector:"[visibilityObserver]"}),r("design:paramtypes",[o.ElementRef,o.NgZone])],t)}()},"./src/events.ts":function(t,e,n){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0}),e.MouseEvent=("undefined"!=typeof window&&window||t).MouseEvent,e.KeyboardEvent=("undefined"!=typeof window&&window||t).KeyboardEvent,e.Event=("undefined"!=typeof window&&window||t).Event}).call(e,n("./node_modules/webpack/buildin/global.js"))},"./src/index.ts":function(t,e,n){"use strict";function a(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),a(n("./src/datatable.module.ts")),a(n("./src/types/index.ts")),a(n("./src/components/index.ts")),a(n("./src/services/index.ts"))},"./src/services/column-changes.service.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i};Object.defineProperty(e,"__esModule",{value:!0});var r=n("@angular/core"),o=n("rxjs");e.ColumnChangesService=function(){function t(){this.columnInputChanges=new o.Subject}return Object.defineProperty(t.prototype,"columnInputChanges$",{get:function(){return this.columnInputChanges.asObservable()},enumerable:!0,configurable:!0}),t.prototype.onInputChange=function(){this.columnInputChanges.next()},a([r.Injectable()],t)}()},"./src/services/dimensions-helper.service.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i};Object.defineProperty(e,"__esModule",{value:!0});var r=n("@angular/core");e.DimensionsHelper=function(){function t(){}return t.prototype.getDimensions=function(t){return t.getBoundingClientRect()},a([r.Injectable()],t)}()},"./src/services/index.ts":function(t,e,n){"use strict";function a(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),a(n("./src/services/scrollbar-helper.service.ts")),a(n("./src/services/dimensions-helper.service.ts")),a(n("./src/services/column-changes.service.ts"))},"./src/services/scrollbar-helper.service.ts":function(t,e,n){"use strict";var a=this&&this.__decorate||function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},o=this&&this.__param||function(t,e){return function(n,a){e(n,a,t)}};Object.defineProperty(e,"__esModule",{value:!0});var i=n("@angular/core"),s=n("@angular/common");e.ScrollbarHelper=function(){function t(t){this.document=t,this.width=this.getWidth()}return t.prototype.getWidth=function(){var t=this.document.createElement("div");t.style.visibility="hidden",t.style.width="100px",t.style.msOverflowStyle="scrollbar",this.document.body.appendChild(t);var e=t.offsetWidth;t.style.overflow="scroll";var n=this.document.createElement("div");n.style.width="100%",t.appendChild(n);var a=n.offsetWidth;return t.parentNode.removeChild(t),e-a},a([i.Injectable(),o(0,i.Inject(s.DOCUMENT)),r("design:paramtypes",[Object])],t)}()},"./src/types/click.type.ts":function(t,e,n){"use strict";var a;Object.defineProperty(e,"__esModule",{value:!0}),(a=e.ClickType||(e.ClickType={})).single="single",a.double="double"},"./src/types/column-mode.type.ts":function(t,e,n){"use strict";var a;Object.defineProperty(e,"__esModule",{value:!0}),(a=e.ColumnMode||(e.ColumnMode={})).standard="standard",a.flex="flex",a.force="force"},"./src/types/contextmenu.type.ts":function(t,e,n){"use strict";var a;Object.defineProperty(e,"__esModule",{value:!0}),(a=e.ContextmenuType||(e.ContextmenuType={})).header="header",a.body="body"},"./src/types/index.ts":function(t,e,n){"use strict";function a(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),a(n("./src/types/column-mode.type.ts")),a(n("./src/types/sort.type.ts")),a(n("./src/types/sort-direction.type.ts")),a(n("./src/types/selection.type.ts")),a(n("./src/types/click.type.ts")),a(n("./src/types/contextmenu.type.ts"))},"./src/types/selection.type.ts":function(t,e,n){"use strict";var a;Object.defineProperty(e,"__esModule",{value:!0}),(a=e.SelectionType||(e.SelectionType={})).single="single",a.multi="multi",a.multiClick="multiClick",a.cell="cell",a.checkbox="checkbox"},"./src/types/sort-direction.type.ts":function(t,e,n){"use strict";var a;Object.defineProperty(e,"__esModule",{value:!0}),(a=e.SortDirection||(e.SortDirection={})).asc="asc",a.desc="desc"},"./src/types/sort.type.ts":function(t,e,n){"use strict";var a;Object.defineProperty(e,"__esModule",{value:!0}),(a=e.SortType||(e.SortType={})).single="single",a.multi="multi"},"./src/utils/camel-case.ts":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.camelCase=function(t){return(t=(t=(t=t.replace(/[^a-zA-Z0-9 ]/g," ")).replace(/([a-z](?=[A-Z]))/g,"$1 ")).replace(/([^a-zA-Z0-9 ])|^[0-9]+/g,"").trim().toLowerCase()).replace(/([ 0-9]+)([a-zA-Z])/g,(function(t,e,n){return e.trim()+n.toUpperCase()}))},e.deCamelCase=function(t){return t.replace(/([A-Z])/g,(function(t){return" "+t})).replace(/^./,(function(t){return t.toUpperCase()}))}},"./src/utils/column-helper.ts":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=n("./src/utils/camel-case.ts"),r=n("./src/utils/id.ts"),o=n("./src/utils/column-prop-getters.ts");function i(t){return null==t}e.setColumnDefaults=function(t){if(t)for(var e=!1,n=0,s=t;n<s.length;n++){var c=s[n];c.$$id||(c.$$id=r.id()),i(c.prop)&&c.name&&(c.prop=a.camelCase(c.name)),c.$$valueGetter||(c.$$valueGetter=o.getterForProp(c.prop)),!i(c.prop)&&i(c.name)&&(c.name=a.deCamelCase(String(c.prop))),i(c.prop)&&i(c.name)&&(c.name=""),c.hasOwnProperty("resizeable")||(c.resizeable=!0),c.hasOwnProperty("sortable")||(c.sortable=!0),c.hasOwnProperty("draggable")||(c.draggable=!0),c.hasOwnProperty("canAutoResize")||(c.canAutoResize=!0),c.hasOwnProperty("width")||(c.width=150),c.hasOwnProperty("isTreeColumn")&&c.isTreeColumn&&!e?e=!0:c.isTreeColumn=!1}},e.isNullOrUndefined=i,e.translateTemplates=function(t){for(var e=[],n=0,a=t;n<a.length;n++){for(var r=a[n],o={},i=0,s=Object.getOwnPropertyNames(r);i<s.length;i++){var c=s[i];o[c]=r[c]}r.headerTemplate&&(o.headerTemplate=r.headerTemplate),r.cellTemplate&&(o.cellTemplate=r.cellTemplate),r.summaryFunc&&(o.summaryFunc=r.summaryFunc),r.summaryTemplate&&(o.summaryTemplate=r.summaryTemplate),e.push(o)}return e}},"./src/utils/column-prop-getters.ts":function(t,e,n){"use strict";function a(){return""}function r(t,e){if(null==t)return"";if(!t||null==e)return t;var n=t[e];return null==n?"":n}function o(t,e){if(null==t)return"";if(!t||!e)return t;var n=t[e];return null==n?"":n}function i(t,e){if(null==t)return"";if(!t||!e)return t;var n=t[e];if(void 0!==n)return n;n=t;var a=e.split(".");if(a.length)for(var r=0;r<a.length;r++)if(null==(n=n[a[r]]))return"";return n}Object.defineProperty(e,"__esModule",{value:!0}),e.emptyStringGetter=a,e.getterForProp=function(t){return null==t?a:"number"==typeof t?r:-1!==t.indexOf(".")?i:o},e.numericIndexGetter=r,e.shallowValueGetter=o,e.deepValueGetter=i},"./src/utils/column.ts":function(t,e,n){"use strict";function a(t){var e={left:[],center:[],right:[]};if(t)for(var n=0,a=t;n<a.length;n++){var r=a[n];r.frozenLeft?e.left.push(r):r.frozenRight?e.right.push(r):e.center.push(r)}return e}function r(t,e){var n=0;if(t)for(var a=0,r=t;a<r.length;a++){var o=r[a];n+=parseFloat(e&&o[e]?o[e]:o.width)}return n}Object.defineProperty(e,"__esModule",{value:!0}),e.columnsByPin=a,e.columnGroupWidths=function(t,e){return{left:r(t.left),center:r(t.center),right:r(t.right),total:Math.floor(r(e))}},e.columnTotalWidth=r,e.columnsTotalWidth=function(t,e){for(var n=0,a=0,r=t;a<r.length;a++){var o=r[a];n+=e&&o[e]?o[e]:o.width}return n},e.columnsByPinArr=function(t){var e=[],n=a(t);return e.push({type:"left",columns:n.left}),e.push({type:"center",columns:n.center}),e.push({type:"right",columns:n.right}),e}},"./src/utils/elm-from-point.ts":function(t,e,n){"use strict";function a(t,e){for(var n,a,r,o=[],i=[];(n=document.elementFromPoint(t,e))&&-1===o.indexOf(n)&&null!=n;)o.push(n),i.push({value:n.style.getPropertyValue("pointer-events"),priority:n.style.getPropertyPriority("pointer-events")}),n.style.setProperty("pointer-events","none","important");for(a=i.length;r=i[--a];)o[a].style.setProperty("pointer-events",r.value?r.value:"",r.priority);return o}Object.defineProperty(e,"__esModule",{value:!0}),"undefined"==typeof document||document.elementsFromPoint||(document.elementsFromPoint=a),e.elementsFromPoint=a},"./src/utils/id.ts":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.id=function(){return("0000"+(Math.random()*Math.pow(36,4)<<0).toString(36)).slice(-4)}},"./src/utils/index.ts":function(t,e,n){"use strict";function a(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),a(n("./src/utils/id.ts")),a(n("./src/utils/column.ts")),a(n("./src/utils/column-prop-getters.ts")),a(n("./src/utils/camel-case.ts")),a(n("./src/utils/keys.ts")),a(n("./src/utils/math.ts")),a(n("./src/utils/prefixes.ts")),a(n("./src/utils/selection.ts")),a(n("./src/utils/translate.ts")),a(n("./src/utils/throttle.ts")),a(n("./src/utils/sort.ts")),a(n("./src/utils/row-height-cache.ts")),a(n("./src/utils/column-helper.ts")),a(n("./src/utils/elm-from-point.ts")),a(n("./src/utils/tree.ts"))},"./src/utils/keys.ts":function(t,e,n){"use strict";var a;Object.defineProperty(e,"__esModule",{value:!0}),(a=e.Keys||(e.Keys={}))[a.up=38]="up",a[a.down=40]="down",a[a.return=13]="return",a[a.escape=27]="escape",a[a.left=37]="left",a[a.right=39]="right"},"./src/utils/math.ts":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=n("./src/utils/column.ts");function r(t){for(var e=0,n=0,a=t;n<a.length;n++)e+=a[n].flexGrow||0;return e}function o(t,e){for(var n=0,a=e;n<a.length;n++){var r=t.indexOf(a[n]);t.splice(r,1)}}function i(t,e){void 0===e&&(e=300);for(var n=0,a=0,r=t;a<r.length;a++)n+=r[a].width||e;return n}e.getTotalFlexGrow=r,e.adjustColumnWidths=function(t,e){var n=a.columnsTotalWidth(t),o=r(t),i=a.columnsByPin(t);n!==e&&function(t,e,n){for(var a in t)for(var r=0,o=t[a];r<o.length;r++)(u=o[r]).canAutoResize?u.width=0:(e-=u.width,n-=u.flexGrow?u.flexGrow:0);var i={},s=e;do{var c=s/n;for(var a in s=0,t)for(var l=0,d=t[a];l<d.length;l++){var u;if((u=d[l]).canAutoResize&&!i[u.prop]){var g=u.width+u.flexGrow*c;void 0!==u.minWidth&&g<u.minWidth?(s+=g-u.minWidth,u.width=u.minWidth,i[u.prop]=!0):u.width=g}}}while(0!==s)}(i,e,o)},e.forceFillColumnWidths=function(t,e,n,a,r){void 0===r&&(r=300);for(var s=t.slice(n+1,t.length).filter((function(t){return!1!==t.canAutoResize})),c=0,l=s;c<l.length;c++)(b=l[c]).$$oldWidth||(b.$$oldWidth=b.width);var d=0,u=!1,g=i(t,r),f=e-g,p=[];do{d=f/s.length,u=g>=e;for(var m=0,h=s;m<h.length;m++){var b=h[m];if(u&&a)b.width=b.$$oldWidth||b.width||r;else{var y=(b.width||r)+d;b.minWidth&&y<b.minWidth?(b.width=b.minWidth,p.push(b)):b.maxWidth&&y>b.maxWidth?(b.width=b.maxWidth,p.push(b)):b.width=y}b.width=Math.max(0,b.width)}f=e-(g=i(t)),o(s,p)}while(f>0&&0!==s.length)}},"./src/utils/prefixes.ts":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a,r,o,i,s=n("./src/utils/camel-case.ts"),c={},l="undefined"!=typeof document?document.createElement("div").style:void 0,d=(i=void 0!==(o=null!==(r=void 0!==(a="undefined"!=typeof window?window.getComputedStyle(document.documentElement,""):void 0)?Array.prototype.slice.call(a).join("").match(/-(moz|webkit|ms)-/):null)?r[1]:void 0)?"WebKit|Moz|MS|O".match(new RegExp("("+o+")","i"))[1]:void 0)?{dom:i,lowercase:o,css:"-"+o+"-",js:o[0].toUpperCase()+o.substr(1)}:void 0;e.getVendorPrefixedName=function(t){var e=s.camelCase(t);return c[e]||(void 0!==d&&void 0!==l[d.css+t]?c[e]=d.css+t:void 0!==l[t]&&(c[e]=t)),c[e]}},"./src/utils/row-height-cache.ts":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RowHeightCache=function(){function t(){this.treeArray=[]}return t.prototype.clearCache=function(){this.treeArray=[]},t.prototype.initCache=function(t){var e=t.rows,n=t.rowHeight,a=t.detailRowHeight,r=t.externalVirtual,o=t.rowCount,i=t.rowIndexes,s=t.rowExpansions,c="function"==typeof n,l="function"==typeof a;if(!c&&isNaN(n))throw new Error("Row Height cache initialization failed. Please ensure that 'rowHeight' is a\n        valid number or function value: ("+n+") when 'scrollbarV' is enabled.");if(!l&&isNaN(a))throw new Error("Row Height cache initialization failed. Please ensure that 'detailRowHeight' is a\n        valid number or function value: ("+a+") when 'scrollbarV' is enabled.");var d=r?o:e.length;this.treeArray=new Array(d);for(var u=0;u<d;++u)this.treeArray[u]=0;for(u=0;u<d;++u){var g=e[u],f=n;c&&(f=n(g));var p=s.get(g);g&&1===p&&(f+=l?a(g,i.get(g)):a),this.update(u,f)}},t.prototype.getRowIndex=function(t){return 0===t?0:this.calcRowIndex(t)},t.prototype.update=function(t,e){if(!this.treeArray.length)throw new Error("Update at index "+t+" with value "+e+" failed:\n        Row Height cache not initialized.");var n=this.treeArray.length;for(t|=0;t<n;)this.treeArray[t]+=e,t|=t+1},t.prototype.query=function(t){if(!this.treeArray.length)throw new Error("query at index "+t+" failed: Fenwick tree array not initialized.");var e=0;for(t|=0;t>=0;)e+=this.treeArray[t],t=(t&t+1)-1;return e},t.prototype.queryBetween=function(t,e){return this.query(e)-this.query(t-1)},t.prototype.calcRowIndex=function(t){if(!this.treeArray.length)return 0;for(var e=-1,n=this.treeArray.length,a=Math.pow(2,n.toString(2).length-1);0!==a;a>>=1){var r=e+a;r<n&&t>=this.treeArray[r]&&(t-=this.treeArray[r],e=r)}return e+1},t}()},"./src/utils/selection.ts":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.selectRows=function(t,e,n){var a=n(e,t);return a>-1?t.splice(a,1):t.push(e),t},e.selectRowsBetween=function(t,e,n,a,r){for(var o=n<a,i=0;i<e.length;i++){var s;s=o?{start:n,end:a}:{start:a,end:n+1},(o&&i<=a&&i>=n||!o&&i>=a&&i<=n)&&i>=s.start&&i<=s.end&&t.push(e[i])}return t}},"./src/utils/sort.ts":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=n("./src/types/index.ts"),r=n("./src/utils/column-prop-getters.ts");function o(t,e){if(null==t&&(t=0),null==e&&(e=0),t instanceof Date&&e instanceof Date){if(t<e)return-1;if(t>e)return 1}else if(isNaN(parseFloat(t))||!isFinite(t)||isNaN(parseFloat(e))||!isFinite(e)){if(t=String(t),e=String(e),t.toLowerCase()<e.toLowerCase())return-1;if(t.toLowerCase()>e.toLowerCase())return 1}else{if(parseFloat(t)<parseFloat(e))return-1;if(parseFloat(t)>parseFloat(e))return 1}return 0}e.nextSortDir=function(t,e){return t===a.SortType.single?e===a.SortDirection.asc?a.SortDirection.desc:a.SortDirection.asc:e?e===a.SortDirection.asc?a.SortDirection.desc:void 0:a.SortDirection.asc},e.orderByComparator=o,e.sortRows=function(t,e,n){if(!t)return[];if(!n||!n.length||!e)return t.slice();var i=new Map;t.forEach((function(t,e){return i.set(t,e)}));var s=t.slice(),c=e.reduce((function(t,e){return e.comparator&&"function"==typeof e.comparator&&(t[e.prop]=e.comparator),t}),{}),l=n.map((function(t){var e=t.prop;return{prop:e,dir:t.dir,valueGetter:r.getterForProp(e),compareFn:c[e]||o}}));return s.sort((function(t,e){for(var n=0,r=l;n<r.length;n++){var o=r[n],s=o.prop,c=o.valueGetter,d=c(t,s),u=c(e,s),g=o.dir!==a.SortDirection.desc?o.compareFn(d,u,t,e,o.dir):-o.compareFn(d,u,t,e,o.dir);if(0!==g)return g}return i.has(t)&&i.has(e)?i.get(t)<i.get(e)?-1:1:0}))}},"./src/utils/throttle.ts":function(t,e,n){"use strict";function a(t,e,n){var a,r,o;n=n||{};var i=null,s=0;function c(){s=!1===n.leading?0:+new Date,i=null,o=t.apply(a,r)}return function(){var l=+new Date;s||!1!==n.leading||(s=l);var d=e-(l-s);return a=this,r=arguments,d<=0?(clearTimeout(i),i=null,s=l,o=t.apply(a,r)):i||!1===n.trailing||(i=setTimeout(c,d)),o}}Object.defineProperty(e,"__esModule",{value:!0}),e.throttle=a,e.throttleable=function(t,e){return function(n,r,o){return{configurable:!0,enumerable:o.enumerable,get:function(){return Object.defineProperty(this,r,{configurable:!0,enumerable:o.enumerable,value:a(o.value,t,e)}),this[r]}}}}},"./src/utils/translate.ts":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=n("./src/utils/prefixes.ts"),r=n("./src/utils/camel-case.ts"),o="undefined"!=typeof window?a.getVendorPrefixedName("transform"):void 0,i="undefined"!=typeof window?a.getVendorPrefixedName("backfaceVisibility"):void 0,s="undefined"!=typeof window?!!a.getVendorPrefixedName("transform"):void 0,c="undefined"!=typeof window?!!a.getVendorPrefixedName("perspective"):void 0,l="undefined"!=typeof window?window.navigator.userAgent:"Chrome",d=/Safari\//.test(l)&&!/Chrome\//.test(l);e.translateXY=function(t,e,n){void 0!==o&&s?!d&&c?(t[o]="translate3d("+e+"px, "+n+"px, 0)",t[i]="hidden"):t[r.camelCase(o)]="translate("+e+"px, "+n+"px)":(t.top=n+"px",t.left=e+"px")}},"./src/utils/tree.ts":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=n("./src/utils/column-prop-getters.ts");e.optionalGetterForProp=function(t){return t&&function(e){return a.getterForProp(t)(e,t)}},e.groupRowsByParents=function(t,e,n){if(e&&n){var a={},o=t.length,i=null;a[0]=new r;for(var s=t.reduce((function(t,e){var a=n(e);return-1===t.indexOf(a)&&t.push(a),t}),[]),c=0;c<o;c++)a[n(t[c])]=new r(t[c]);for(c=0;c<o;c++){var l=0,d=e((i=a[n(t[c])]).row);d&&s.indexOf(d)>-1&&(l=d),i.parent=a[l],i.row.level=i.parent.row.level+1,i.parent.children.push(i)}var u=[];return a[0].flatten((function(){u=u.concat([this.row])}),!0),u}return t};var r=function(){function t(t){void 0===t&&(t=null),t||(t={level:-1,treeStatus:"expanded"}),this.row=t,this.parent=null,this.children=[]}return t.prototype.flatten=function(t,e){if("expanded"===this.row.treeStatus)for(var n=0,a=this.children.length;n<a;n++){var r=this.children[n];t.apply(r,Array.prototype.slice.call(arguments,2)),e&&r.flatten.apply(r,arguments)}},t}()},"@angular/common":function(e,n){e.exports=t},"@angular/core":function(t,n){t.exports=e},rxjs:function(t,e){t.exports=n},"rxjs/operators":function(t,e){t.exports=a}})},t.exports=a(n("SVse"),n("8Y7J"),n("qCKp"),n("kU1M"))},yCtX:function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var a=n("HDdC"),r=n("ngJS"),o=n("jZKg");function i(t,e){return e?Object(o.a)(t,e):new a.a(Object(r.a)(t))}},yGOH:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));class a{}},yGk4:function(t,e,n){var a=n("Cwc5")(n("Kz5y"),"Set");t.exports=a},yHx3:function(t,e){var n=Object.prototype.hasOwnProperty;t.exports=function(t){var e=t.length,a=new t.constructor(e);return e&&"string"==typeof t[0]&&n.call(t,"index")&&(a.index=t.index,a.input=t.input),a}},yJti:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));var a=function(t){return t[t.ValueOk=0]="ValueOk",t[t.ValueStale=1]="ValueStale",t[t.ValueNone=2]="ValueNone",t[t.ValueException=3]="ValueException",t}({})},yP5f:function(t,e,n){var a=n("+K+b");t.exports=function(t,e){var n=e?a(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}},yPMs:function(t,e,n){!function(t){"use strict";t.defineLocale("sq",{months:"Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor".split("_"),monthsShort:"Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj".split("_"),weekdays:"E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë".split("_"),weekdaysShort:"Die_Hën_Mar_Mër_Enj_Pre_Sht".split("_"),weekdaysMin:"D_H_Ma_Më_E_P_Sh".split("_"),weekdaysParseExact:!0,meridiemParse:/PD|MD/,isPM:function(t){return"M"===t.charAt(0)},meridiem:function(t,e,n){return t<12?"PD":"MD"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Sot në] LT",nextDay:"[Nesër në] LT",nextWeek:"dddd [në] LT",lastDay:"[Dje në] LT",lastWeek:"dddd [e kaluar në] LT",sameElse:"L"},relativeTime:{future:"në %s",past:"%s më parë",s:"disa sekonda",ss:"%d sekonda",m:"një minutë",mm:"%d minuta",h:"një orë",hh:"%d orë",d:"një ditë",dd:"%d ditë",M:"një muaj",MM:"%d muaj",y:"një vit",yy:"%d vite"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("wd/R"))},yT6U:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("LvDl");class r{transform(t,e=!1){let n=t;return(!a.isArray(t)||a.isArray(t)&&e)&&(n=[t]),n}}},yYhs:function(t,e,n){"use strict";var a=n("8Y7J"),r=n("SVse"),o=n("CoVI"),i=n("mfoh"),s=(n("CFvb"),n("MP8s"),n("f95s"),n("gk6K")),c=(n("dApe"),n("ZhuC")),l=n("fxL3"),d=n("TNUL"),u=n("rZud"),g=n("woSy"),f=n("jV1L"),p=n("pcHL"),m=n("WaXT"),h=n("OIDT"),b=n("HIU9"),y=n("uNpg"),_=n("Fwy9"),O=n("C523"),v=n("4Dmd");n("14R3"),n.d(e,"b",(function(){return C})),n.d(e,"a",(function(){return i.a}));var C=function(){function t(){}var e;return e=t,t.forRoot=function(){return{ngModule:e,providers:[s.a]}},e=function(t,e,n,a){var r,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(i=(o<3?r(i):o>3?r(e,n,i):r(e,n))||i);return o>3&&i&&Object.defineProperty(e,n,i),i}([Object(a.NgModule)({declarations:[l.a,d.a,u.a,c.a,_.a,O.a,f.a,p.a,g.a,m.a,b.a,h.a,y.a,v.a,o.a],exports:[l.a,d.a,u.a,c.a,_.a,O.a,f.a,p.a,g.a,m.a,b.a,h.a,y.a,v.a,o.a],imports:[r.CommonModule],providers:[]})],t)}()},ylLw:function(t,e,n){var a=n("mrSG").__decorate,r=n("mrSG").__metadata;Object.defineProperty(e,"__esModule",{value:!0});var o=n("8Y7J"),i=n("3MdB");n("SVse"),e.OrderableDirective=function(){function t(t,e){this.document=e,this.reorder=new o.EventEmitter,this.targetChanged=new o.EventEmitter,this.differ=t.find({}).create()}return t.prototype.ngAfterContentInit=function(){this.updateSubscriptions(),this.draggables.changes.subscribe(this.updateSubscriptions.bind(this))},t.prototype.ngOnDestroy=function(){this.draggables.forEach((function(t){t.dragStart.unsubscribe(),t.dragging.unsubscribe(),t.dragEnd.unsubscribe()}))},t.prototype.updateSubscriptions=function(){var t=this,e=this.differ.diff(this.createMapDiffs());if(e){var n=function(t){var e=t.previousValue;e&&(e.dragStart.unsubscribe(),e.dragging.unsubscribe(),e.dragEnd.unsubscribe())};e.forEachAddedItem((function(e){var a=e.currentValue;n({previousValue:e.previousValue}),a&&(a.dragStart.subscribe(t.onDragStart.bind(t)),a.dragging.subscribe(t.onDragging.bind(t)),a.dragEnd.subscribe(t.onDragEnd.bind(t)))}).bind(this)),e.forEachRemovedItem(n.bind(this))}},t.prototype.onDragStart=function(){this.positions={};for(var t=0,e=0,n=this.draggables.toArray();e<n.length;e++){var a=n[e],r=a.element,o=parseInt(r.offsetLeft.toString(),0);this.positions[a.dragModel.prop]={left:o,right:o+parseInt(r.offsetWidth.toString(),0),index:t++,element:r}}},t.prototype.onDragging=function(t){var e=t.model,n=this.positions[e.prop],a=this.isTarget(e,t.event);a?this.lastDraggingIndex!==a.i&&(this.targetChanged.emit({prevIndex:this.lastDraggingIndex,newIndex:a.i,initialIndex:n.index}),this.lastDraggingIndex=a.i):this.lastDraggingIndex!==n.index&&(this.targetChanged.emit({prevIndex:this.lastDraggingIndex,initialIndex:n.index}),this.lastDraggingIndex=n.index)},t.prototype.onDragEnd=function(t){var e=t.element,n=t.model,a=this.positions[n.prop],r=this.isTarget(n,t.event);r&&this.reorder.emit({prevIndex:a.index,newIndex:r.i,model:n}),this.lastDraggingIndex=void 0,e.style.left="auto"},t.prototype.isTarget=function(t,e){var n=0,a=this.document.elementsFromPoint(e.x||e.clientX,e.y||e.clientY),r=function(e){var r=o.positions[e];if(t.prop!==e&&a.find((function(t){return t===r.element})))return{value:{pos:r,i:n}};n++},o=this;for(var i in this.positions){var s=r(i);if("object"==typeof s)return s.value}},t.prototype.createMapDiffs=function(){return this.draggables.toArray().reduce((function(t,e){return t[e.dragModel.$$id]=e,t}),{})},a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"reorder",void 0),a([o.Output(),r("design:type",o.EventEmitter)],t.prototype,"targetChanged",void 0),a([o.ContentChildren(i.DraggableDirective,{descendants:!0}),r("design:type",o.QueryList)],t.prototype,"draggables",void 0),a([o.Directive({selector:"[orderable]"})],t)}()},yoRg:function(t,e,n){var a=n("UTVS"),r=n("/GqU"),o=n("TWQb").indexOf,i=n("0BK2");t.exports=function(t,e){var n,s=r(t),c=0,l=[];for(n in s)!a(i,n)&&a(s,n)&&l.push(n);for(;e.length>c;)a(s,n=e[c++])&&(~o(l,n)||l.push(n));return l}},"yt+r":function(t,e,n){"use strict";n.r(e),e.default='<xliff xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 http://docs.oasis-open.org/xliff/v1.2/os/xliff-core-1.2-strict.xsd" xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">\n  <file original="ng2.template" datatype="plaintext" source-language="en-US" target-language="es-ES">\n    <body>\n      <trans-unit id="319e0745bcbc132451569294fa2fa21bf10f555a" datatype="html">\n        <source>Toggle navigation</source>\n        <target>Alternar navegación</target>\n      </trans-unit>\n      <trans-unit id="f65253954b66e929a8b4d5ecaf61f9129f8cec64" datatype="html">\n        <source>Dashboard</source>\n        <target>Consola</target>\n      </trans-unit>\n      <trans-unit id="f4d1dd59b039ad818d9da7e29a773e10e41d9821" datatype="html">\n        <source>Cluster</source>\n        <target>Clúster</target>\n      </trans-unit>\n      <trans-unit id="099b441d49333b3c6d30b36dc0a4763e64c78920" datatype="html">\n        <source>Hosts</source>\n        <target>Hosts</target>\n      </trans-unit>\n      <trans-unit id="2cc3ecb16e348fcf2f2fbfd2f997d4d22f37475b" datatype="html">\n        <source>Inventory</source>\n        <target>Inventory</target>\n      </trans-unit>\n      <trans-unit id="624f596cc3320f5e0a0d7c7346c364e5af9bdd8c" datatype="html">\n        <source>Monitors</source>\n        <target>Monitores</target>\n      </trans-unit>\n      <trans-unit id="419d940613972cc3fae9c8ea0a4306dbf80616e5" datatype="html">\n        <source>Services</source>\n        <target>Servicios</target>\n      </trans-unit>\n      <trans-unit id="1a9183778f2c6473d7ccb080f651caa01faaf70c" datatype="html">\n        <source>OSDs</source>\n        <target>OSDs</target>\n      </trans-unit>\n      <trans-unit id="4a41f824a35ba01d5bd7be61aa06b3e8145209d0" datatype="html">\n        <source>Configuration</source>\n        <target>Configuración</target>\n      </trans-unit>\n      <trans-unit id="8c95898abff46bfac3ed6eb2afef74597e60b15c" datatype="html">\n        <source>CRUSH map</source>\n        <target>Mapa de CRUSH</target>\n      </trans-unit>\n      <trans-unit id="33da4dbeb076159510801ea764a218fd341269d2" datatype="html">\n        <source>Manager modules</source>\n        <target>Módulos de gestor</target>\n      </trans-unit>\n      <trans-unit id="eb3d5aefff38a814b76da74371cbf02c0789a1ef" datatype="html">\n        <source>Logs</source>\n        <target>Registros</target>\n      </trans-unit>\n      <trans-unit id="17fc3efe5f9fa4e0289c900cb6202265215a1a27" datatype="html">\n        <source>Monitoring</source>\n        <target>Monitoring</target>\n      </trans-unit>\n      <trans-unit id="92899fa68e8ca108912163ff58edc8540e453787" datatype="html">\n        <source>Pools</source>\n        <target>Repositorios</target>\n      </trans-unit>\n      <trans-unit id="7f5d0c10614e8a34f0e2dad33a0568277c50cf69" datatype="html">\n        <source>Block</source>\n        <target>Bloque</target>\n      </trans-unit>\n      <trans-unit id="b73f7f5060fb22a1e9ec462b1bb02493fa3ab866" datatype="html">\n        <source>Images</source>\n        <target>Imágenes</target>\n      </trans-unit>\n      <trans-unit id="3c2562ba992127203dcfd014010b03cb7b8113c6" datatype="html">\n        <source>Mirroring</source>\n        <target>Duplicación</target>\n      </trans-unit>\n      <trans-unit id="811c241d56601b91ef26735b770e64428089b950" datatype="html">\n        <source>iSCSI</source>\n        <target>iSCSI</target>\n      </trans-unit>\n      <trans-unit id="a24eabd99ea5af20f5f94c4484649cd30370042b" datatype="html">\n        <source>NFS</source>\n        <target>NFS</target>\n      </trans-unit>\n      <trans-unit id="a4eff72d97b7ced051398d581f10968218057ddc" datatype="html">\n        <source>Filesystems</source>\n        <target>Sistemas de archivos</target>\n      </trans-unit>\n      <trans-unit id="2190548d236ca5f7bc7ab2bca334b860c5ff2ad4" datatype="html">\n        <source>Object Gateway</source>\n        <target>Object Gateway</target>\n      </trans-unit>\n      <trans-unit id="9e24f9e2d42104ffc01599db4d566d1cc518f9e6" datatype="html">\n        <source>Daemons</source>\n        <target>Daemons</target>\n      </trans-unit>\n      <trans-unit id="4d13a9cd5ed3dcee0eab22cb25198d43886942be" datatype="html">\n        <source>Users</source>\n        <target>Usuarios</target>\n      </trans-unit>\n      <trans-unit id="9515520496da83179d8b08132f00f575512a1f40" datatype="html">\n        <source>Buckets</source>\n        <target>Papeleras</target>\n      </trans-unit>\n      <trans-unit id="797f8214e8148f4bf0d244baaa7341706b419549" datatype="html">\n        <source>Retrieving data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>. Please wait...\n        </source>\n        <target>Retrieving data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>. Please wait...\n        </target>\n      </trans-unit>\n      <trans-unit id="5a870dc77b9f6f33ee671ea2d856021276933339" datatype="html">\n        <source>Displaying previously cached data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>\n  for \n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n        </source>\n        <target>Displaying previously cached data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>\n  for \n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="ae580202919844531361ba2308287226ff74a584" datatype="html">\n        <source>Could not load data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n  Please check the cluster health.\n        </source>\n        <target>Could not load data\n          <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> for\n          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>\n          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.\n  Please check the cluster health.\n        </target>\n      </trans-unit>\n      <trans-unit id="7e52e9143145e1db5146258de81eae018a407b31" datatype="html">\n        <source>Clear notifications</source>\n        <target>Clear notifications</target>\n      </trans-unit>\n      <trans-unit id="b0b07bb6b7ff21ede439dd04eaf8872d1ecb84d8" datatype="html">\n        <source>Remove notification</source>\n        <target>Remove notification</target>\n      </trans-unit>\n      <trans-unit id="e17a1d75189da843f541f7764f188f2b19a97df2" datatype="html">\n        <source>Duration:</source>\n        <target>Duration:</target>\n      </trans-unit>\n      <trans-unit id="0d4b37c6675c5b436a54c43d6716eec835e1aa7f" datatype="html">\n        <source>There are no notifications.</source>\n        <target>There are no notifications.</target>\n      </trans-unit>\n      <trans-unit id="0a23e992f6c6e169a38b2b7338b4e5e803b52e0d" datatype="html">\n        <source>Tasks and Notifications</source>\n        <target>Tasks and Notifications</target>\n      </trans-unit>\n      <trans-unit id="3fb5709e10166cbc85970cbff103db227dbeb813" datatype="html">\n        <source>Select a Language</source>\n        <target>Seleccione un idioma</target>\n      </trans-unit>\n      <trans-unit id="c5109325fb160b543f71a51e7511c00575057431" datatype="html">\n        <source>Loading panel data...</source>\n        <target>Cargando datos del panel...</target>\n      </trans-unit>\n      <trans-unit id="8ca12411f890ab8b0a9216418e2b8f5ea7d2441a" datatype="html">\n        <source>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the monitoring functionality.\n        </source>\n        <target>Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the monitoring functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="160a9e80dc089792df42e2400b1e81b9e7025aa7" datatype="html">\n        <source>Grafana Dashboard doesn\'t exist. Please refer to\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  add dashboards to Grafana.\n        </source>\n        <target>Grafana Dashboard doesn\'t exist. Please refer to\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  add dashboards to Grafana.\n        </target>\n      </trans-unit>\n      <trans-unit id="4e11830040bd64804a0555de76f291d5832772d4" datatype="html">\n        <source>Grafana Time Picker</source>\n        <target>Selector de hora de Grafana</target>\n      </trans-unit>\n      <trans-unit id="238c1ba845dd7330e8088165275919a1debf1ca3" datatype="html">\n        <source>Reset Settings</source>\n        <target>Restablecer ajustes</target>\n      </trans-unit>\n      <trans-unit id="c8d1785038d461ec66b5799db21864182b35900a" datatype="html">\n        <source>Refresh</source>\n        <target>Refresh</target>\n      </trans-unit>\n      <trans-unit id="6c947210e2d162b6225083d18820ab602f58cd2d" datatype="html">\n        <source>Remove the custom configuration value. The default configuration will be inherited and used instead.</source>\n        <target>Remove the custom configuration value. The default configuration will be inherited and used instead.</target>\n      </trans-unit>\n      <trans-unit id="454ee9cb60b00446a8fb147fd2cc5eb836320586" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ option.maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ option.maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="7fc8a22825131e028336f60ef909ccbd96059703" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ option.minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ option.minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="cda31dbd724cf5f4fa7a4274d9120651490c8a8c" datatype="html">\n        <source>Back</source>\n        <target>Atrás</target>\n      </trans-unit>\n      <trans-unit id="9ce641535be1ffa106c87724ba0637facaef5f61" datatype="html">\n        <source>Your password will expire in \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>less than 1\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day. Click\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.\n        </source>\n        <target>Your password will expire in \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>less than 1\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day. Click\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.\n        </target>\n      </trans-unit>\n      <trans-unit id="c2f34088c155e40ffb23770a465a65868ce772b2" datatype="html">\n        <source>Your password will expire in \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ expirationDays }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day(s). Click\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.\n        </source>\n        <target>Your password will expire in \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ expirationDays }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day(s). Click\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.\n        </target>\n      </trans-unit>\n      <trans-unit id="9b516f972c744779257310b73f6e97438b726707" datatype="html">\n        <source>Orchestrator is not available. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the functionality.\n        </source>\n        <target>Orchestrator is not available. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to\n  configure and enable the functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="012741ee52b3c050e4a977c37cc2334f7974f141" datatype="html">\n        <source>Failed to load data.</source>\n        <target>Error al cargar los datos.</target>\n      </trans-unit>\n      <trans-unit id="1e5e23363e949f7dcbaf034bdb141a561132a10e" datatype="html">\n        <source>Clear filters</source>\n        <target>Clear filters</target>\n      </trans-unit>\n      <trans-unit id="80cc9a12d4bf6fe454ed94b379eeaf915f920bb7" datatype="html">\n        <source>selected</source>\n        <target>seleccionados</target>\n        <note>X selected</note>\n      </trans-unit>\n      <trans-unit id="0cb77511a9a148e05b9adf36cc07269956fbb29d" datatype="html">\n        <source>found</source>\n        <target>encontrados</target>\n        <note>X found</note>\n      </trans-unit>\n      <trans-unit id="79347388740c50b7ac97e144c2494bb62912f312" datatype="html">\n        <source>total</source>\n        <target>total</target>\n        <note>X total</note>\n      </trans-unit>\n      <trans-unit id="cff1428d10d59d14e45edec3c735a27b5482db59" datatype="html">\n        <source>Name</source>\n        <target>Nombre</target>\n      </trans-unit>\n      <trans-unit id="eec715de352a6b114713b30b640d319fa78207a0" datatype="html">\n        <source>Description</source>\n        <target>Descripción</target>\n      </trans-unit>\n      <trans-unit id="4ad112ce9bcd55dfd137792a86afe1b5a5b13cf8" datatype="html">\n        <source>Long description</source>\n        <target>Descripción larga</target>\n      </trans-unit>\n      <trans-unit id="ff7cee38a2259526c519f878e71b964f41db4348" datatype="html">\n        <source>Default</source>\n        <target>Opción por defecto</target>\n      </trans-unit>\n      <trans-unit id="33e1c1d9fc05ca3f62fcc8a1170fc31ebae4229c" datatype="html">\n        <source>Daemon default</source>\n        <target>Daemon por defecto</target>\n      </trans-unit>\n      <trans-unit id="809b0c848932a41318f77a2aace904ef429c13f4" datatype="html">\n        <source>Values</source>\n        <target>Valores</target>\n      </trans-unit>\n      <trans-unit id="5894f7158499fdb89527af50c9f1cf7d4c95cad6" datatype="html">\n        <source>-- Default --</source>\n        <target>-- Default --</target>\n      </trans-unit>\n      <trans-unit id="514f6e12d035a6d9b00de6b3e55c18b73488da07" datatype="html">\n        <source>true</source>\n        <target>true</target>\n      </trans-unit>\n      <trans-unit id="774f5e6a183dea08393789b6f72e86afad729419" datatype="html">\n        <source>false</source>\n        <target>false</target>\n      </trans-unit>\n      <trans-unit id="82029b6db704c56a2aa3e82ac555b8655356b077" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8ed8b3967a7326b81b191c9f490006e6a6777a9a" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="52c9a103b812f258bcddc3d90a6e3f46871d25fe" datatype="html">\n        <source>Save</source>\n        <target>Guardar</target>\n      </trans-unit>\n      <trans-unit id="738de688b22fba5d0dc7a5e549996838dddad0ee" datatype="html">\n        <source>CRUSH map viewer</source>\n        <target>Visor del mapa de CRUSH</target>\n      </trans-unit>\n      <trans-unit id="94516fa213706c67ce5a5b5765681d7fb032033a" datatype="html">\n        <source>Loading...</source>\n        <target>Cargando...</target>\n      </trans-unit>\n      <trans-unit id="formTitle" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </target>\n        <note>form title</note>\n      </trans-unit>\n      <trans-unit id="9a541ec1a4319fffc16ad3b3ab2c2b6d251a829d" datatype="html">\n        <source>Hostname</source>\n        <target>Nombre de host</target>\n      </trans-unit>\n      <trans-unit id="7cbdabcece469fab89cfa687ab152bca18b97498" datatype="html">\n        <source>This field is required.</source>\n        <target>Este campo es obligatorio.</target>\n      </trans-unit>\n      <trans-unit id="1b3f5e5291541678f7afa49d28fad5ca848a8061" datatype="html">\n        <source>The chosen hostname is already in use.</source>\n        <target>The chosen hostname is already in use.</target>\n      </trans-unit>\n      <trans-unit id="formActionButton" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ resource | upperFirst }}"/>\n        </target>\n        <note>form action button</note>\n      </trans-unit>\n      <trans-unit id="6110699a3562eeb15371063c0cf7f6bfd88a0209" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemNames[0] }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemNames[0] }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>?\n        </target>\n      </trans-unit>\n      <trans-unit id="549859e511ba5af0ea03fcaa620c472f08038969" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected items?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected items?\n        </target>\n      </trans-unit>\n      <trans-unit id="54839ebc827b73c9dc4e1df731c6d36a85036af7" datatype="html">\n        <source>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected \n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>?\n        </source>\n        <target>Are you sure that you want to \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected \n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>?\n        </target>\n      </trans-unit>\n      <trans-unit id="2be8b7f04f0104d3fad90d079d8202b74f758b9a" datatype="html">\n        <source>Yes, I am sure.</source>\n        <target>Sí, seguro.</target>\n      </trans-unit>\n      <trans-unit id="d7b35c384aecd25a516200d6921836374613dfe7" datatype="html">\n        <source>Cancel</source>\n        <target>Cancelar</target>\n      </trans-unit>\n      <trans-unit id="55a2f26b2e87886d9b8015a887e38e51ab2a866a" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8" datatype="html">\n        <source>Close</source>\n        <target>Cerrar</target>\n      </trans-unit>\n      <trans-unit id="40661476cb24c89d8b06614998e31d5fbe84eeb6" datatype="html">\n        <source>Hosts List</source>\n        <target>Lista de hosts</target>\n      </trans-unit>\n      <trans-unit id="5e7f4b1ca49e8d217bd0e12c6f7d6b6a2ade2c18" datatype="html">\n        <source>Overall Performance</source>\n        <target>Rendimiento general</target>\n      </trans-unit>\n      <trans-unit id="3e24569eca61d598c8b01defbbbb1fa8bd5222bc" datatype="html">\n        <source>Devices</source>\n        <target>Devices</target>\n      </trans-unit>\n      <trans-unit id="e6d57f36aa2bad303c8a8ee944b9bd7fae3c8c26" datatype="html">\n        <source>No entries found</source>\n        <target>No se encuentra ninguna entrada</target>\n      </trans-unit>\n      <trans-unit id="d556ab48a65722b400e497f61737f553ee0f89e2" datatype="html">\n        <source>Cluster Logs</source>\n        <target>Registros del clúster</target>\n      </trans-unit>\n      <trans-unit id="5f966baffd188be0e8adc2d7067b86e55fc9b9de" datatype="html">\n        <source>Audit Logs</source>\n        <target>Registros de auditoría</target>\n      </trans-unit>\n      <trans-unit id="4193c9eb868aeec119b78a14795241e0aa5e8b60" datatype="html">\n        <source>Priority:</source>\n        <target>Priority:</target>\n      </trans-unit>\n      <trans-unit id="1d78ca51eab260ce3fd917d39190d64df5229b6e" datatype="html">\n        <source>Keyword:</source>\n        <target>Keyword:</target>\n      </trans-unit>\n      <trans-unit id="05fa0bded36de6e73a1fa44838b627349dace044" datatype="html">\n        <source>Date:</source>\n        <target>Date:</target>\n      </trans-unit>\n      <trans-unit id="31dadb362bf7f7c2afa10e5f96474ccd3977f91f" datatype="html">\n        <source>Datepicker</source>\n        <target>Datepicker</target>\n      </trans-unit>\n      <trans-unit id="85a400388de1899b1917138cf7e5286376f72847" datatype="html">\n        <source>Time range:</source>\n        <target>Time range:</target>\n      </trans-unit>\n      <trans-unit id="2447796ddbda942f4e2c46619cb84d69f066e568" datatype="html">\n        <source>Loading configuration...</source>\n        <target>Cargando configuración...</target>\n      </trans-unit>\n      <trans-unit id="b42c0b347a841bed8859ee83de05080ee28c803b" datatype="html">\n        <source>The configuration could not be loaded.</source>\n        <target>No es posible cargar la configuración.</target>\n      </trans-unit>\n      <trans-unit id="31a9c2870a934b594d1390146c489f76440859ea" datatype="html">\n        <source>Edit Manager module</source>\n        <target>Módulo del gestor de edición</target>\n      </trans-unit>\n      <trans-unit id="46e09b8290d3d0afdb6baa2021395b0570606a31" datatype="html">\n        <source>The entered value is not a valid UUID, e.g.: 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8</source>\n        <target>El valor introducido no es un UUID válido, por ejemplo: 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8</target>\n      </trans-unit>\n      <trans-unit id="7aacd038b39cfd347107d01d1dc27f5cb3e0951c" datatype="html">\n        <source>The entered value needs to be a valid IP address.</source>\n        <target>El valor introducido debe ser una dirección IP válida.</target>\n      </trans-unit>\n      <trans-unit id="f19106149f4b07a0d721f9d317afed393cb7bd93" datatype="html">\n        <source>The entered value is too high! It must be lower or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.max }}"/>.\n        </source>\n        <target>The entered value is too high! It must be lower or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.max }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="6d33c40ef9a6c3bf0888df831b25e41e65f9d15b" datatype="html">\n        <source>The entered value is too low! It must be greater or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.min }}"/>.\n        </source>\n        <target>The entered value is too low! It must be greater or equal to \n          <x id="INTERPOLATION" equiv-text="{{ moduleOption.value.min }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="eae7086660cf1e38c7194a2c49ff52cc656f90f5" datatype="html">\n        <source>The entered value needs to be a number.</source>\n        <target>El valor introducido debe ser un número.</target>\n      </trans-unit>\n      <trans-unit id="a73376e04b4fb3a20734c8c39743fba32e6676ce" datatype="html">\n        <source>The entered value needs to be a number or decimal.</source>\n        <target>El valor introducido debe ser un número o un decimal.</target>\n      </trans-unit>\n      <trans-unit id="047f50bc5b5d17b5bec0196355953e1a5c590ddb" datatype="html">\n        <source>Update</source>\n        <target>Actualizar</target>\n      </trans-unit>\n      <trans-unit id="81b97b8ea996ad1e4f9fca8415021850214884b1" datatype="html">\n        <source>Status</source>\n        <target>Estado</target>\n      </trans-unit>\n      <trans-unit id="57ec6032f5618d4a9f16eb950ad23d2ce7c24b54" datatype="html">\n        <source>Cluster ID</source>\n        <target>ID de clúster</target>\n      </trans-unit>\n      <trans-unit id="67d7facc3fec5f8a49ab9ba0a245872184264ce5" datatype="html">\n        <source>monmap modified</source>\n        <target>Mapa de supervisión modificado</target>\n      </trans-unit>\n      <trans-unit id="d4906731aaf2b94b4f547646c9bfe58bb77951b6" datatype="html">\n        <source>monmap epoch</source>\n        <target>Época de mapa de supervisión</target>\n      </trans-unit>\n      <trans-unit id="bd4ee06ffdc46d9dfbd0c0c4f81399021c680056" datatype="html">\n        <source>quorum con</source>\n        <target>quórum de con</target>\n      </trans-unit>\n      <trans-unit id="1176c7db8a8276ccb44cc3d42e2c28d9fa6c6596" datatype="html">\n        <source>quorum mon</source>\n        <target>quórum de mon</target>\n      </trans-unit>\n      <trans-unit id="530ef677a09d681b3ab68cb0760494b3ae72a77c" datatype="html">\n        <source>required con</source>\n        <target>con requerido</target>\n      </trans-unit>\n      <trans-unit id="a91558e0d506c32021c31843f8f168899fc65cbf" datatype="html">\n        <source>required mon</source>\n        <target>mon requerido</target>\n      </trans-unit>\n      <trans-unit id="b3abe9eac5bcd94a54c8da93b312e085ec512e74" datatype="html">\n        <source>In Quorum</source>\n        <target>Con quórum</target>\n      </trans-unit>\n      <trans-unit id="ba4b748a676e1f217ce1e736fb7ec1215e677bae" datatype="html">\n        <source>Not In Quorum</source>\n        <target>Sin quórum</target>\n      </trans-unit>\n      <trans-unit id="4383e9662ea19839c7499b2128d43a195e564317" datatype="html">\n        <source>OSD creation preview</source>\n        <target>OSD creation preview</target>\n      </trans-unit>\n      <trans-unit id="366225c51e0b00bcb1c55795a0dc5e81c455f84e" datatype="html">\n        <source>DriveGroups</source>\n        <target>DriveGroups</target>\n      </trans-unit>\n      <trans-unit id="8edc89137d0d8c5667a2f03230beafae45e58429" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ deviceType }}"/> devices\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ deviceType }}"/> devices\n        </target>\n      </trans-unit>\n      <trans-unit id="eba28e1805b18f7c8ae2e4bc15dcf063b10b3822" datatype="html">\n        <source>At least one of these filters must be applied in order to proceed:</source>\n        <target>At least one of these filters must be applied in order to proceed:</target>\n      </trans-unit>\n      <trans-unit id="93389aa2fe2bea50bf89554ee51b28f87ee2fb50" datatype="html">\n        <source>Number of devices: \n          <x id="INTERPOLATION" equiv-text="{{ filteredDevices.length }}"/>. Raw capacity:\n          <x id="INTERPOLATION_1" equiv-text="{{ capacity | dimlessBinary }}"/>.\n        </source>\n        <target>Number of devices: \n          <x id="INTERPOLATION" equiv-text="{{ filteredDevices.length }}"/>. Raw capacity:\n          <x id="INTERPOLATION_1" equiv-text="{{ capacity | dimlessBinary }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="ccb4f84edc0b4e76415bb3f9b73d725b06683af3" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ name }}"/> devices\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ name }}"/> devices\n        </target>\n      </trans-unit>\n      <trans-unit id="60cb3d01e5ddf266ecb4271007a1c3d0f3efdc22" datatype="html">\n        <source>The primary storage devices. These devices contain all OSD data.</source>\n        <target>The primary storage devices. These devices contain all OSD data.</target>\n      </trans-unit>\n      <trans-unit id="b432e04886d0d1fd84f740477383051f85addcf2" datatype="html">\n        <source>Write-Ahead-Log devices. These devices are used for BlueStore’s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device.</source>\n        <target>Write-Ahead-Log devices. These devices are used for BlueStore’s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device.</target>\n      </trans-unit>\n      <trans-unit id="b87e181ab9e8393aa5ed759dd3d53836e32c8ffe" datatype="html">\n        <source>DB devices can be used for storing BlueStore’s internal metadata.  It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD).</source>\n        <target>DB devices can be used for storing BlueStore’s internal metadata.  It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD).</target>\n      </trans-unit>\n      <trans-unit id="f6755cff4957d5c3c89bafce5651f1b6fa2b1fd9" datatype="html">\n        <source>Add</source>\n        <target>Añadir</target>\n      </trans-unit>\n      <trans-unit id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46" datatype="html">\n        <source>Clear</source>\n        <target>Clear</target>\n      </trans-unit>\n      <trans-unit id="7e0fd3c7af0630f93befa6234a693a32a61084e0" datatype="html">\n        <source>Raw capacity: \n          <x id="INTERPOLATION" equiv-text="{{ capacity | dimlessBinary }}"/>\n        </source>\n        <target>Raw capacity: \n          <x id="INTERPOLATION" equiv-text="{{ capacity | dimlessBinary }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="43ecf6bee2aebc07b0aad6dc1fe13e38d14687fa" datatype="html">\n        <source>Shared devices</source>\n        <target>Shared devices</target>\n      </trans-unit>\n      <trans-unit id="7a1c376f6f1b37de4c318ff2106255ba6c0f5b0b" datatype="html">\n        <source>WAL slots</source>\n        <target>WAL slots</target>\n      </trans-unit>\n      <trans-unit id="73811a6f37b63e6b0e491e221bfa21e9dea8a87a" datatype="html">\n        <source>How many OSDs per WAL device.</source>\n        <target>How many OSDs per WAL device.</target>\n      </trans-unit>\n      <trans-unit id="0c67a7ac4762ef1cc855056c6b4daab93e53a0a5" datatype="html">\n        <source>Specify 0 to let Orchestrator backend decide it.</source>\n        <target>Specify 0 to let Orchestrator backend decide it.</target>\n      </trans-unit>\n      <trans-unit id="7bda9362e06e6c67341b4a8425b0d29d6b84464b" datatype="html">\n        <source>Value should be greater than or equal to 0</source>\n        <target>Value should be greater than or equal to 0</target>\n      </trans-unit>\n      <trans-unit id="324c2b10152b9dd908222bb0b71f61beb60a30c5" datatype="html">\n        <source>DB slots</source>\n        <target>DB slots</target>\n      </trans-unit>\n      <trans-unit id="c23cf12ef9c76f37fc7a4b7ae3e00fb0f68b6e26" datatype="html">\n        <source>How many OSDs per DB device.</source>\n        <target>How many OSDs per DB device.</target>\n      </trans-unit>\n      <trans-unit id="6cdb1fea93d77c07950c0c76c6e0ad79ebbef084" datatype="html">\n        <source>Features</source>\n        <target>Características</target>\n      </trans-unit>\n      <trans-unit id="3e2a583f531f7dd9f089f68a6968e444c372c3e8" datatype="html">\n        <source>Preview</source>\n        <target>Preview</target>\n      </trans-unit>\n      <trans-unit id="5ef50ba2514414f799d4c8fc36067a251904ba81" datatype="html">\n        <source>Cluster-wide OSD Flags</source>\n        <target>Indicadores OSD de todo el clúster</target>\n      </trans-unit>\n      <trans-unit id="71c77bb8cecdf11ec3eead24dd1ba506573fa9cd" datatype="html">\n        <source>Submit</source>\n        <target>Enviar</target>\n      </trans-unit>\n      <trans-unit id="1cfe07dac5b4ee1c464eb24225ddeb4f1d24076a" datatype="html">\n        <source>Advanced...</source>\n        <target>Avanzado...</target>\n      </trans-unit>\n      <trans-unit id="b1ef1c12ddcee305353623919ef02778569f5454" datatype="html">\n        <source>Advanced configuration options</source>\n        <target>Advanced configuration options</target>\n      </trans-unit>\n      <trans-unit id="c35f9c5f268a514b970cc55e9a5dc4bed0988e7f" datatype="html">\n        <source>OSD Recovery Priority</source>\n        <target>Prioridad de recuperación de OSD</target>\n      </trans-unit>\n      <trans-unit id="b74af38005e8a8914e45af2ec412e11ceafef8b6" datatype="html">\n        <source>Priority</source>\n        <target>Prioridad</target>\n      </trans-unit>\n      <trans-unit id="c2f48f04b379bfba133825747adfd238d511412e" datatype="html">\n        <source>Customize priority values</source>\n        <target>Personalizar valores de prioridad</target>\n      </trans-unit>\n      <trans-unit id="4aa19de2a2b54cbda39e9c62917b23044c087776" datatype="html">\n        <source>This field is required!</source>\n        <target>Este campo es obligatorio.</target>\n      </trans-unit>\n      <trans-unit id="b699e94bf376491bd50b70a98531071c737eaf40" datatype="html">\n        <source>[object Object]</source>\n        <target>[object Object]</target>\n      </trans-unit>\n      <trans-unit id="98fe13e7ad6c2b80375d204b47858ded83f80e15" datatype="html">\n        <source>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.maxValue }}"/>.\n        </source>\n        <target>The entered value is too high! It must not be greater than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.maxValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="5423a3c111be47fc5a1bfe46ceb58c81c84db691" datatype="html">\n        <source>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.minValue }}"/>.\n        </source>\n        <target>The entered value is too low! It must not be lower than \n          <x id="INTERPOLATION" equiv-text="{{ attr.value.minValue }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="5251a4355cece3075db43f15d69a24a0f8485707" datatype="html">\n        <source>Reweight OSD: \n          <x id="INTERPOLATION" equiv-text="{{ osdId }}"/>\n        </source>\n        <target>Reweight OSD: \n          <x id="INTERPOLATION" equiv-text="{{ osdId }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="67650b2998db48201b2c6176cbfef51e7211ccaa" datatype="html">\n        <source>The value needs to be between 0 and 1.</source>\n        <target>El valor debe estar entre 0 y 1.</target>\n      </trans-unit>\n      <trans-unit id="bc11f92113d678a90e334fdf3d7b3fddbe34c579" datatype="html">\n        <source>Reweight</source>\n        <target>Reequilibrar peso</target>\n      </trans-unit>\n      <trans-unit id="d5ca5daf742023fc4f0919fb3c1c6a51991cda4f" datatype="html">\n        <source>OSDs \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>Scrub\n        </source>\n        <target>OSDs \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>Scrub\n        </target>\n      </trans-unit>\n      <trans-unit id="4c17d67c7c5799eb920030e9a399961e90f55dd8" datatype="html">\n        <source>{VAR_SELECT, select, 1 {Deep } }</source>\n        <target>{VAR_SELECT, select, 1 {Profundo} }</target>\n      </trans-unit>\n      <trans-unit id="fd0a4b6eed32e3488eccdc9c13f9841f08cc275e" datatype="html">\n        <source>You are about to apply a \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to\n          the OSD(s): \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ selected | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.\n        </source>\n        <target>You are about to apply a \n          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to\n          the OSD(s): \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ selected | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="dc6705f342a036b332c3fd3443201c3613e5524d" datatype="html">\n        <source>{VAR_SELECT, select, 1 {deep } }</source>\n        <target>{VAR_SELECT, select, 1 {profundo} }</target>\n      </trans-unit>\n      <trans-unit id="b49d7877d24112d4bdfce9256edf61a007fae888" datatype="html">\n        <source>OSDs List</source>\n        <target>Lista de OSD</target>\n      </trans-unit>\n      <trans-unit id="d5707a32ba9c1138e6423498fb0b24e970ebd19f" datatype="html">\n        <source>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) \n          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </source>\n        <target>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) \n          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </target>\n      </trans-unit>\n      <trans-unit id="d08c1e4f17dffc0ed1ac2e2e2875cb8b569eeb35" datatype="html">\n        <source>The \n          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to be \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>! \n          <x id="INTERPOLATION_1" equiv-text="{{ message }}"/>\n        </source>\n        <target>The \n          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to be \n          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>! \n          <x id="INTERPOLATION_1" equiv-text="{{ message }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="e776996dac651ef3819bfa767ccf2a0613759f47" datatype="html">\n        <source>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</source>\n        <target>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</target>\n      </trans-unit>\n      <trans-unit id="5cd6a031937412c42e5efa1e6959cb72ac08c720" datatype="html">\n        <source>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD \n          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </source>\n        <target>\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD \n          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | join }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.\n        </target>\n      </trans-unit>\n      <trans-unit id="3eda19b44809820fffd5d3753bafb7243116f4b0" datatype="html">\n        <source>To see all active Prometheus alerts, please\n      provide the URL to the API of Prometheus\' Alertmanager as described in the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </source>\n        <target>To see all active Prometheus alerts, please\n      provide the URL to the API of Prometheus\' Alertmanager as described in the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="880ad4df5a2051a437321443d69c9a866699e5ad" datatype="html">\n        <source>Active Alerts</source>\n        <target>Active Alerts</target>\n      </trans-unit>\n      <trans-unit id="8e5e0e09a11990d343926ed693574213d703c38d" datatype="html">\n        <source>All Alerts</source>\n        <target>All Alerts</target>\n      </trans-unit>\n      <trans-unit id="526938c2b7945cb0d68328c24bd77730230cd455" datatype="html">\n        <source>To enable Silences, please provide the URL to the API of the Prometheus\' Alertmanager as\n      described in the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </source>\n        <target>To enable Silences, please provide the URL to the API of the Prometheus\' Alertmanager as\n      described in the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="aa0c44aa1e5727061baa91e954f77e2f5f9a37c9" datatype="html">\n        <source>Silences</source>\n        <target>Silences</target>\n      </trans-unit>\n      <trans-unit id="8501055865d7031b5521a0c5467532648009a61d" datatype="html">\n        <source>Matcher</source>\n        <target>Matcher</target>\n      </trans-unit>\n      <trans-unit id="9c25e04f554875dc2625a78ba0fc56c6010cd0d3" datatype="html">\n        <source>-- Select an attribute to match against --</source>\n        <target>-- Select an attribute to match against --</target>\n      </trans-unit>\n      <trans-unit id="5049e204c14c648691ac775a64fb504467aeb549" datatype="html">\n        <source>Value</source>\n        <target>Valor</target>\n      </trans-unit>\n      <trans-unit id="77fc5c63497fc031ddc97645484e3d94ad27766c" datatype="html">\n        <source>Use regular expression</source>\n        <target>Use regular expression</target>\n      </trans-unit>\n      <trans-unit id="7bbec1a797283712c0adf9e71d77fb5a8cd720db" datatype="html">\n        <source>{VAR_SELECT, select, 1 {Update} other {Add} }</source>\n        <target>{VAR_SELECT, select, 1 {Update} other {Add} }</target>\n      </trans-unit>\n      <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c" datatype="html">\n        <source>Edit</source>\n        <target>Editar</target>\n      </trans-unit>\n      <trans-unit id="826b25211922a1b46436589233cb6f1a163d89b7" datatype="html">\n        <source>Delete</source>\n        <target>Suprimir</target>\n      </trans-unit>\n      <trans-unit id="a3ba06aba047605af8ea1718ec1ba153b7db12a2" datatype="html">\n        <source>Editing a silence will expire the old silence and recreate it as a new silence</source>\n        <target>Editing a silence will expire the old silence and recreate it as a new silence</target>\n      </trans-unit>\n      <trans-unit id="a20424156b8816671f61879f0574a4f27d7b16b9" datatype="html">\n        <source>Creator</source>\n        <target>Creator</target>\n      </trans-unit>\n      <trans-unit id="5a5d7ee2acbfa9c91ab7f41d26bda9ff0cafe42f" datatype="html">\n        <source>Comment</source>\n        <target>Comment</target>\n      </trans-unit>\n      <trans-unit id="4c11aad490b2d53fdae30b3807beabf79306752c" datatype="html">\n        <source>Start time</source>\n        <target>Start time</target>\n      </trans-unit>\n      <trans-unit id="32856b1e8e339b747b21e313e2fe65a51fd450bb" datatype="html">\n        <source>If the start time lies in the past the creation time will be used</source>\n        <target>If the start time lies in the past the creation time will be used</target>\n      </trans-unit>\n      <trans-unit id="a02ea1d4e7424ca989929da5e598f379940fdbf2" datatype="html">\n        <source>Duration</source>\n        <target>Duration</target>\n      </trans-unit>\n      <trans-unit id="2f4e35e36f4d3c62e2c17df41730b6dee4afc4b9" datatype="html">\n        <source>End time</source>\n        <target>End time</target>\n      </trans-unit>\n      <trans-unit id="992123459137d45c15df5548bc9682aad835c04b" datatype="html">\n        <source>Matchers</source>\n        <target>Matchers</target>\n      </trans-unit>\n      <trans-unit id="3e023166c55833d5a13f4143e3dbe372befe1b4e" datatype="html">\n        <source>A silence requires at least one matcher</source>\n        <target>A silence requires at least one matcher</target>\n      </trans-unit>\n      <trans-unit id="ef765bd80c4806c51c891908c07a24bc76f019eb" datatype="html">\n        <source>Add matcher</source>\n        <target>Add matcher</target>\n      </trans-unit>\n      <trans-unit id="d2bcd3296d2850de762fb943060b7e086a893181" datatype="html">\n        <source>Health</source>\n        <target>Estado</target>\n      </trans-unit>\n      <trans-unit id="61e0f26d843eec0b33ff475e111b0c2f7a80b835" datatype="html">\n        <source>Statistics</source>\n        <target>Estadísticas</target>\n      </trans-unit>\n      <trans-unit id="f8f74e5f683012b9c0702b1446011c6b9158bc67" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the NFS Ganesha management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the NFS Ganesha management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="7ffe39df9d88c972792bd8688b215392deb8313d" datatype="html">\n        <source>Clients</source>\n        <target>Clientes</target>\n      </trans-unit>\n      <trans-unit id="f2dae0bda66f6a349444951c0379c28cda47d6d1" datatype="html">\n        <source>Any client can access</source>\n        <target>Cualquier cliente puede acceder</target>\n      </trans-unit>\n      <trans-unit id="7882f2edb1d4139800b276b6b0bbf5ae0b2234ef" datatype="html">\n        <source>Addresses</source>\n        <target>Destinatarios</target>\n      </trans-unit>\n      <trans-unit id="9bd96fcf50863e685c74d0490392f46689ffbdb6" datatype="html">\n        <source>Required field</source>\n        <target>Campo requerido</target>\n      </trans-unit>\n      <trans-unit id="a5f3f74c0f6925826cb2188576391c0da01a23f0" datatype="html">\n        <source>Must contain one or more comma-separated values</source>\n        <target>Debe contener uno o varios valores separados por comas</target>\n      </trans-unit>\n      <trans-unit id="8bb5b2073697f3f4378c44a49b7524934c9268f4" datatype="html">\n        <source>For example:</source>\n        <target>Por ejemplo:</target>\n      </trans-unit>\n      <trans-unit id="8f969c655b3fbe4fba7e277caf4cd2c459f9fca5" datatype="html">\n        <source>Access Type</source>\n        <target>Tipo de acceso</target>\n      </trans-unit>\n      <trans-unit id="28952831a284cfe2b4fc39ca610e80b52598905a" datatype="html">\n        <source>Squash</source>\n        <target>Reducir privilegios</target>\n      </trans-unit>\n      <trans-unit id="0660ae339068979854ade34a96546980723dede3" datatype="html">\n        <source>Add clients</source>\n        <target>Añadir clientes</target>\n      </trans-unit>\n      <trans-unit id="135b91a2d908d5814b782695470a6a786c99d9d2" datatype="html">\n        <source>-- No cluster available --</source>\n        <target>-- No hay ningún clúster disponible --</target>\n      </trans-unit>\n      <trans-unit id="c501dba379f566885919240ea277b5bc10c14d18" datatype="html">\n        <source>-- Select the cluster --</source>\n        <target>-- Seleccione el clúster --</target>\n      </trans-unit>\n      <trans-unit id="cf85b1ee58326aa9da63da41b2629c9db7c9a5b9" datatype="html">\n        <source>Add daemon</source>\n        <target>Añadir daemon</target>\n      </trans-unit>\n      <trans-unit id="b3f6ba7fe84d6508705cdfe234f0fcc8ff85c9cf" datatype="html">\n        <source>Storage Backend</source>\n        <target>Motor de almacenamiento</target>\n      </trans-unit>\n      <trans-unit id="151c80ea931037cd92e854442927f8a0f6ae7795" datatype="html">\n        <source>-- No data pools available --</source>\n        <target>-- No hay ningún repositorio de datos disponible --</target>\n      </trans-unit>\n      <trans-unit id="b6fee356d1db954255a56d8169405a89595246b9" datatype="html">\n        <source>-- Select the storage backend --</source>\n        <target>-- Seleccione el motor de almacenamiento --</target>\n      </trans-unit>\n      <trans-unit id="76d67035c3ab3d8e56f725859f820f03fda41cfc" datatype="html">\n        <source>Object Gateway User</source>\n        <target>Usuario de Object Gateway</target>\n      </trans-unit>\n      <trans-unit id="fade7788bace74337f306ae209f10fc187ef4671" datatype="html">\n        <source>-- No users available --</source>\n        <target>-- No hay ningún usuario disponible --</target>\n      </trans-unit>\n      <trans-unit id="6d30b7b36cf8f6364167321bdb4ba35d4cefce7b" datatype="html">\n        <source>-- Select the object gateway user --</source>\n        <target>-- Seleccione el usuario de Object Gateway --</target>\n      </trans-unit>\n      <trans-unit id="589ce20d3ba3e3ac44f75decfaadc4ea8f0aec2d" datatype="html">\n        <source>CephFS User ID</source>\n        <target>ID de usuario de CephFS</target>\n      </trans-unit>\n      <trans-unit id="c4b88a53ac3b0ece46ba9b3ad72355a3c190cce7" datatype="html">\n        <source>-- No clients available --</source>\n        <target>-- No hay ningún cliente disponible --</target>\n      </trans-unit>\n      <trans-unit id="da52835b80497a0002d24414b057dc46ae44ce38" datatype="html">\n        <source>-- Select the cephx client --</source>\n        <target>-- Seleccione el cliente de CephX --</target>\n      </trans-unit>\n      <trans-unit id="fd3419e8957d928d7f7ba19c93356a0dbff02871" datatype="html">\n        <source>CephFS Name</source>\n        <target>Nombre de CephFS</target>\n      </trans-unit>\n      <trans-unit id="ee3ba0ab5f0ccd597b3e44021c71e9aaad14df0a" datatype="html">\n        <source>-- No CephFS filesystem available --</source>\n        <target>-- No CephFS filesystem available --</target>\n      </trans-unit>\n      <trans-unit id="764c57812558b1ae66c5eec95d7efd2b1bf761e3" datatype="html">\n        <source>-- Select the CephFS filesystem --</source>\n        <target>-- Select the CephFS filesystem --</target>\n      </trans-unit>\n      <trans-unit id="957512d0321f73e9f115bce1bd823fa635170c41" datatype="html">\n        <source>Security Label</source>\n        <target>Etiqueta de seguridad</target>\n      </trans-unit>\n      <trans-unit id="65ce0fa4da1ed55e658aeb31d1644a29f06bb342" datatype="html">\n        <source>Enable security label</source>\n        <target>Habilitar etiqueta de seguridad</target>\n      </trans-unit>\n      <trans-unit id="7e808f804130c7b6ff719509cbc06ebb27393a48" datatype="html">\n        <source>CephFS Path</source>\n        <target>Ruta de CephFS</target>\n      </trans-unit>\n      <trans-unit id="5ecc0107badb6625466aaa3f975b5c05276f432f" datatype="html">\n        <source>Path need to start with a \'/\' and can be followed by a word</source>\n        <target>La ruta debe empezar por "/" y puede ir seguida de una palabra</target>\n      </trans-unit>\n      <trans-unit id="2d02916f44fc63e13ab16d1cbe72aa6cb51feab3" datatype="html">\n        <source>New directory will be created</source>\n        <target>Se creará un directorio nuevo</target>\n      </trans-unit>\n      <trans-unit id="766c66ad5cc981c531aaf3fe3a2a7a346ddc8d83" datatype="html">\n        <source>Path</source>\n        <target>Ruta</target>\n      </trans-unit>\n      <trans-unit id="7ec35c722a50b976620f22612f7be619c12ceb90" datatype="html">\n        <source>Path can only be a single \'/\' or a word</source>\n        <target>La ruta solo puede ser una "/" o una palabra</target>\n      </trans-unit>\n      <trans-unit id="aebb6a5090c24511de4530195694bb3f3dcf0342" datatype="html">\n        <source>New bucket will be created</source>\n        <target>Se creará una papelera nueva</target>\n      </trans-unit>\n      <trans-unit id="bee6900143996c0e908a10564532eba3da0b30fb" datatype="html">\n        <source>NFS Protocol</source>\n        <target>Protocolo NFS</target>\n      </trans-unit>\n      <trans-unit id="2f534178c01ebf1307da2eaeef04bc6801ebc729" datatype="html">\n        <source>NFSv3</source>\n        <target>NFSv3</target>\n      </trans-unit>\n      <trans-unit id="f5043c0921e709935ab026bb3253ffe1f159fca1" datatype="html">\n        <source>NFSv4</source>\n        <target>NFSv4</target>\n      </trans-unit>\n      <trans-unit id="92488963d23095985a47c0d6e62304e11d333f19" datatype="html">\n        <source>NFS Tag</source>\n        <target>Etiqueta NFS</target>\n      </trans-unit>\n      <trans-unit id="aae93362720aea94623682996dd3fcd0f906f056" datatype="html">\n        <source>Alternative access for \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v3\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> mounts (it must not have a leading /).\n        </source>\n        <target>Alternative access for \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v3\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> mounts (it must not have a leading /).\n        </target>\n      </trans-unit>\n      <trans-unit id="45d6db77dcf1a3eeb921033abc7882e517a541cc" datatype="html">\n        <source>Clients may not mount subdirectories (i.e. if Tag = foo, the client may not mount foo/baz).</source>\n        <target>Puede que los clientes no monten subdirectorios (es decir, si Etiqueta = foo, el cliente puede que no monte foo/baz).</target>\n      </trans-unit>\n      <trans-unit id="a1c7a8676b55e882a97c6a6fb205204f9c761afa" datatype="html">\n        <source>By using different Tag options, the same Path may be exported multiple times.</source>\n        <target>Al usar distintas opciones de Etiqueta, la misma Ruta se puede exportar varias veces.</target>\n      </trans-unit>\n      <trans-unit id="6d2c39708a32910f89701dd7e1cfb9ec1c195768" datatype="html">\n        <source>Pseudo</source>\n        <target>Pseudo</target>\n      </trans-unit>\n      <trans-unit id="1f8be2ae25947bec0b84c2338201580ea053f34e" datatype="html">\n        <source>The position that this \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v4\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> export occupies\n                in the \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>Pseudo FS\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> (it must be unique).\n        </source>\n        <target>The position that this \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>NFS v4\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> export occupies\n                in the \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>Pseudo FS\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> (it must be unique).\n        </target>\n      </trans-unit>\n      <trans-unit id="f3af55f7fd5b1d9e5a53e030c80116dc635bfb9f" datatype="html">\n        <source>By using different Pseudo options, the same Path may be exported multiple times.</source>\n        <target>Al usar distintas opciones de Pseudo, la misma Ruta se puede exportar varias veces.</target>\n      </trans-unit>\n      <trans-unit id="ddf98fcdeeb17643db020d54f42b5e56b5f9a52a" datatype="html">\n        <source>Pseudo needs to start with a \'/\' and can\'t contain any of the following: &gt;, &lt;, |, &amp;, ( or ).</source>\n        <target>Pseudo needs to start with a \'/\' and can\'t contain any of the following: &gt;, &lt;, |, &amp;, ( or ).</target>\n      </trans-unit>\n      <trans-unit id="27eb35c4b4ac08781a7253a2ab40f8f7d957ba51" datatype="html">\n        <source>-- No access type available --</source>\n        <target>-- No hay ningún tipo de acceso disponible --</target>\n      </trans-unit>\n      <trans-unit id="509ce016c9110a54028dafd741f15ceacbe74b5a" datatype="html">\n        <source>-- Select the access type --</source>\n        <target>-- Seleccione el tipo de acceso --</target>\n      </trans-unit>\n      <trans-unit id="49850390a653cd05dc5843d74ef073a9122b54c9" datatype="html">\n        <source>The Object Gateway NFS backend has a number of\n              limitations which will seriously affect applications writing to\n              the share. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for details before enabling write access.\n        </source>\n        <target>The Object Gateway NFS backend has a number of\n              limitations which will seriously affect applications writing to\n              the share. Please consult the\n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for details before enabling write access.\n        </target>\n      </trans-unit>\n      <trans-unit id="4deda03573eaaff77e63f6a238a1f0ca7816950a" datatype="html">\n        <source>-- No squash available --</source>\n        <target>-- No hay ninguna reducción de privilegios disponible --</target>\n      </trans-unit>\n      <trans-unit id="a0e82a4da88e7fdf270444f838d45849676e9d4b" datatype="html">\n        <source>--Select what kind of user id squashing is performed --</source>\n        <target>-- Seleccione el tipo de reducción de privilegios de ID de usuario que se va a realizar --</target>\n      </trans-unit>\n      <trans-unit id="d01b7c3f7f06712c53d054cfbe4f53d446b038e8" datatype="html">\n        <source>Transport Protocol</source>\n        <target>Protocolo de transporte</target>\n      </trans-unit>\n      <trans-unit id="d2a6ad6e8bc315f07911722c05767ac79c136d99" datatype="html">\n        <source>UDP</source>\n        <target>UDP</target>\n      </trans-unit>\n      <trans-unit id="9c030f11e0aae9b24d2c048c57f29f590be621df" datatype="html">\n        <source>TCP</source>\n        <target>TCP</target>\n      </trans-unit>\n      <trans-unit id="734c9905951a774870497c5aaae8e3ee833b6196" datatype="html">\n        <source>CephFS</source>\n        <target>CephFS</target>\n      </trans-unit>\n      <trans-unit id="0eb15f32b2b92d7f3103ef3ff032621888a8dc32" datatype="html">\n        <source>Old password</source>\n        <target>Old password</target>\n      </trans-unit>\n      <trans-unit id="1cf42e491adc166a337a960eb84d03c0c3f677c8" datatype="html">\n        <source>The old and new passwords must be different.</source>\n        <target>The old and new passwords must be different.</target>\n      </trans-unit>\n      <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229" datatype="html">\n        <source>New password</source>\n        <target>New password</target>\n      </trans-unit>\n      <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b" datatype="html">\n        <source>Confirm new password</source>\n        <target>Confirm new password</target>\n      </trans-unit>\n      <trans-unit id="90163a3d3746819aef42e829f4446331232f3b66" datatype="html">\n        <source>Password confirmation doesn\'t match the new password.</source>\n        <target>Password confirmation doesn\'t match the new password.</target>\n      </trans-unit>\n      <trans-unit id="d06ae77f9ec46a4cdd49e7e76c73a411aaf2ee38" datatype="html">\n        <source>Please set a new password.</source>\n        <target>Please set a new password.</target>\n      </trans-unit>\n      <trans-unit id="8b5b3566e88438f51bd5f6caf6c090ed565ba5ed" datatype="html">\n        <source>You will be redirected to the login page afterwards.</source>\n        <target>You will be redirected to the login page afterwards.</target>\n      </trans-unit>\n      <trans-unit id="449dca3d3a93ead418b0541ea81b0dda7e6483c2" datatype="html">\n        <source>Welcome to Ceph!</source>\n        <target>¡Bienvenidos a Ceph!</target>\n        <note>The welcome message on the login page</note>\n      </trans-unit>\n      <trans-unit id="0070e83d11da39d6f4bb95065c2675db1610b419" datatype="html">\n        <source>Username is required</source>\n        <target>El nombre de usuario es obligatorio</target>\n      </trans-unit>\n      <trans-unit id="1e20f8b8a4706526c9024cc2f39d568345d100dc" datatype="html">\n        <source>Password is required</source>\n        <target>La contraseña es obligatoria</target>\n      </trans-unit>\n      <trans-unit id="6765b4c916060f6bc42d9bb69e80377dbcb5e4e9" datatype="html">\n        <source>Login</source>\n        <target>Entrada</target>\n      </trans-unit>\n      <trans-unit id="58fc1b5c79a75370eb52644fd83fb2e7096b6649" datatype="html">\n        <source>Sorry, the user does not exist in Ceph.</source>\n        <target>Lo sentimos. El usuario no existe en Ceph.</target>\n      </trans-unit>\n      <trans-unit id="d9deb94f78e7c41b35c6622b874f06657d7604c1" datatype="html">\n        <source>Return to \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Login Page\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You\'ll be logged out from the Identity Provider when you retry logging in.\n        </source>\n        <target>Return to \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Login Page\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You\'ll be logged out from the Identity Provider when you retry logging in.\n        </target>\n      </trans-unit>\n      <trans-unit id="471e78026c258073ba687478dc54c35d9041ea42" datatype="html">\n        <source>Forbidden</source>\n        <target>Prohibido</target>\n      </trans-unit>\n      <trans-unit id="02ea8ad57677e3c63f3d7814ca5e6c7b74e360b4" datatype="html">\n        <source>Sorry, you are not allowed to see what you were looking for.</source>\n        <target>Lo sentimos. No tiene permiso para ver lo que busca.</target>\n      </trans-unit>\n      <trans-unit id="2240b985f17293d84cc8532fe86994aa5f63667c" datatype="html">\n        <source>Sorry, we could not find what you were looking for.</source>\n        <target>Sorry, we could not find what you were looking for.</target>\n      </trans-unit>\n      <trans-unit id="ac54c18c1b520e948095c83a3a1025f02ce6dcc6" datatype="html">\n        <source>Neither hostname nor OSD ID given</source>\n        <target>Neither hostname nor OSD ID given</target>\n      </trans-unit>\n      <trans-unit id="4f635b3cb0600409a2ad44a5bd1863c699e6a01c" datatype="html">\n        <source>Failed to retrieve SMART data.</source>\n        <target>Failed to retrieve SMART data.</target>\n      </trans-unit>\n      <trans-unit id="d82a9af5b05e7cd17640f196f163771685ff8df6" datatype="html">\n        <source>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</source>\n        <target>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</target>\n      </trans-unit>\n      <trans-unit id="04f8a3c7e8ac610e6581960162cc15f55a16696a" datatype="html">\n        <source>No SMART data available.</source>\n        <target>No SMART data available.</target>\n      </trans-unit>\n      <trans-unit id="3a03d3c2e459f8f8fa7202c0fce465d6165f9e2b" datatype="html">\n        <source>passed</source>\n        <target>passed</target>\n      </trans-unit>\n      <trans-unit id="a185c9b97513b3882604ea9bab60edbfac945c15" datatype="html">\n        <source>SMART overall-health self-assessment test result</source>\n        <target>SMART overall-health self-assessment test result</target>\n      </trans-unit>\n      <trans-unit id="41435d5a5692c8e412c74deaee95d99dbd3617e1" datatype="html">\n        <source>failed</source>\n        <target>failed</target>\n      </trans-unit>\n      <trans-unit id="ddd5dd6d930030096ea617f62c82b648a0dd9484" datatype="html">\n        <source>Device Information</source>\n        <target>Device Information</target>\n      </trans-unit>\n      <trans-unit id="380295f37caea93701d071485a38ef0bdba57133" datatype="html">\n        <source>No SMART data available for this device.</source>\n        <target>No SMART data available for this device.</target>\n      </trans-unit>\n      <trans-unit id="20cb12827cbe559a7b1da6fdae96041b3b5c3c55" datatype="html">\n        <source>SMART</source>\n        <target>SMART</target>\n      </trans-unit>\n      <trans-unit id="5758c3f16f8749f0f4e2a787f02e8b4da246102f" datatype="html">\n        <source>SMART data is loading.</source>\n        <target>SMART data is loading.</target>\n      </trans-unit>\n      <trans-unit id="a949d7e577902d0e5dc5d0971bb0170a21be7728" datatype="html">\n        <source>[object Object]</source>\n        <target>[object Object]</target>\n      </trans-unit>\n      <trans-unit id="ff92fbdec9fdd5054493eeda0d7ee8b450f83e72" datatype="html">\n        <source>RBD Configuration</source>\n        <target>Configuración de RBD</target>\n      </trans-unit>\n      <trans-unit id="b62d9efc8eb3b589904f6cb96a0406bbda55673a" datatype="html">\n        <source>Remove the local configuration value. The parent configuration value will be inherited and used instead.</source>\n        <target>Elimina el valor de configuración local. Se heredará y usará en su lugar el valor de configuración padre.</target>\n      </trans-unit>\n      <trans-unit id="963488a1010d46067b238c4ae917fab3907c0a3a" datatype="html">\n        <source>The mininum value is 0</source>\n        <target>El valor mínimo es 0</target>\n      </trans-unit>\n      <trans-unit id="1d8a7c8aea58294a3c57c23af0468ddf0ba0c9c7" datatype="html">\n        <source>Pools List</source>\n        <target>Lista de repositorios</target>\n      </trans-unit>\n      <trans-unit id="490e15ecc922965b6d8194754c87c5583aa071f3" datatype="html">\n        <source>The name can only consist of alphanumeric characters, dashes and underscores.</source>\n        <target>El nombre solo puede tener caracteres alfanuméricos, guiones y guiones bajos.</target>\n      </trans-unit>\n      <trans-unit id="9edc2b494e660618af3e5225f68d40b7ca67629c" datatype="html">\n        <source>The chosen erasure code profile name is already in use.</source>\n        <target>El nombre del perfil de código de borrado que ha elegido ya está en uso.</target>\n      </trans-unit>\n      <trans-unit id="35a4206db3105ed03e0dd799e1642b75b78123e8" datatype="html">\n        <source>Root</source>\n        <target>Root</target>\n      </trans-unit>\n      <trans-unit id="cf425784c7073c7e7f7c1bb90c2c19db7e751db2" datatype="html">\n        <source>Failure domain type</source>\n        <target>Failure domain type</target>\n      </trans-unit>\n      <trans-unit id="72396a9565cf644d1fe1b21b790c4243ee270986" datatype="html">\n        <source>Device class</source>\n        <target>Device class</target>\n      </trans-unit>\n      <trans-unit id="72d80e0c07bfea1b693a33ef2245007de92a6780" datatype="html">\n        <source>Let Ceph decide</source>\n        <target>Let Ceph decide</target>\n      </trans-unit>\n      <trans-unit id="ef9ff0e6227947b48dfab4ac39ade04af758913b" datatype="html">\n        <source>Plugin</source>\n        <target>Complemento</target>\n      </trans-unit>\n      <trans-unit id="dd69b31bce8f630eac1d4762b0bbcf72ce19d193" datatype="html">\n        <source>Data chunks (k)</source>\n        <target>Porciones de datos (k)</target>\n      </trans-unit>\n      <trans-unit id="b0d26a6172d32cb81218fe2103c54a818cbc1189" datatype="html">\n        <source>Must be equal to or greater than 2.</source>\n        <target>Debe ser igual o mayor que 2.</target>\n      </trans-unit>\n      <trans-unit id="dab3a299ead121169b8e08ed618c3b6a2f66691b" datatype="html">\n        <source>Coding chunks (m)</source>\n        <target>Porciones de código (m)</target>\n      </trans-unit>\n      <trans-unit id="1e2773e5bd4948193f18f2361d663ecc3988c656" datatype="html">\n        <source>Must be equal to or greater than 1.</source>\n        <target>Debe ser igual o mayor que 1.</target>\n      </trans-unit>\n      <trans-unit id="6cde4c945a49a260c0a47bcc7cd956846930a5f7" datatype="html">\n        <source>Durability estimator (c)</source>\n        <target>Estimador de durabilidad (c)</target>\n      </trans-unit>\n      <trans-unit id="af668c2a095a979ea2b4e43cd82c2120ab56c21c" datatype="html">\n        <source>Locality (l)</source>\n        <target>Localización (l)</target>\n      </trans-unit>\n      <trans-unit id="d455a110bf6d2235e314e295ce1dfeee93d3dff2" datatype="html">\n        <source>Crush failure domain</source>\n        <target>Dominio de error de CRUSH</target>\n      </trans-unit>\n      <trans-unit id="b74a495f041f7dd102eee5c0bbc9e03083b538ae" datatype="html">\n        <source>Crush Locality</source>\n        <target>Localización de CRUSH</target>\n      </trans-unit>\n      <trans-unit id="a2f14a73f7a6e94479f67423cc51102da8d6f524" datatype="html">\n        <source>None</source>\n        <target>Ninguna</target>\n      </trans-unit>\n      <trans-unit id="2981733b912b693a9dd9d915d6d34f4692cc874a" datatype="html">\n        <source>Technique</source>\n        <target>Técnica</target>\n      </trans-unit>\n      <trans-unit id="e0098b6e47b04ec817361f384ce81d454ba5c0bb" datatype="html">\n        <source>Packetsize</source>\n        <target>Tamaño del paquete</target>\n      </trans-unit>\n      <trans-unit id="c0252cd81ca54d0a2f69ec9ccf4248e73df5aa4a" datatype="html">\n        <source>Crush root</source>\n        <target>Raíz de CRUSH</target>\n      </trans-unit>\n      <trans-unit id="1548d5c76f0406ddd1ba3c557e1e6db22e95b340" datatype="html">\n        <source>Crush device class</source>\n        <target>Clase de dispositivo de CRUSH</target>\n      </trans-unit>\n      <trans-unit id="5e85feb6f9f0334366e46ee09ca6b8df52397432" datatype="html">\n        <source>any</source>\n        <target>cualquiera</target>\n      </trans-unit>\n      <trans-unit id="03d84645f6e019c5a43909bbf2ea1696ee88332c" datatype="html">\n        <source>Directory</source>\n        <target>Directorio</target>\n      </trans-unit>\n      <trans-unit id="2fecea01ce1d44114ee45144eff6d47a5016a74f" datatype="html">\n        <source>Name...</source>\n        <target>Nombre...</target>\n      </trans-unit>\n      <trans-unit id="16e113230b6b0d3165e076300880542bac7c8138" datatype="html">\n        <source>The chosen Ceph pool name is already in use.</source>\n        <target>El nombre del repositorio de Ceph que ha elegido ya está en uso.</target>\n      </trans-unit>\n      <trans-unit id="c75b132bef7b29fa5171768303c4b96e34ccaf68" datatype="html">\n        <source>It\'s not possible to create an RBD pool with \'/\' in the name.\n              Please change the name or remove \'rbd\' from the applications list.</source>\n        <target>It\'s not possible to create an RBD pool with \'/\' in the name.\n              Please change the name or remove \'rbd\' from the applications list.</target>\n      </trans-unit>\n      <trans-unit id="171dc6d5c6bc4615d99778b0088cae80fd00bd10" datatype="html">\n        <source>Pool name can only contain letters, numbers, \'.\', \'-\', \'_\' or \'/\'.</source>\n        <target>Pool name can only contain letters, numbers, \'.\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="b85c657469e5ec8231c3de99b22f437bc01ffde5" datatype="html">\n        <source>Pool type</source>\n        <target>Tipo de repositorio</target>\n      </trans-unit>\n      <trans-unit id="526c5443254c3b126eedb264840ffe827727bfd3" datatype="html">\n        <source>-- Select a pool type --</source>\n        <target>-- Seleccione un tipo de repositorio --</target>\n      </trans-unit>\n      <trans-unit id="6abfbe47b630929d93c7343dc154599c2e59330a" datatype="html">\n        <source>PG Autoscale</source>\n        <target>PG Autoscale</target>\n      </trans-unit>\n      <trans-unit id="0aa21053410a94aa61d16985a4e95fd65523430d" datatype="html">\n        <source>Placement groups</source>\n        <target>Grupos de colocación</target>\n      </trans-unit>\n      <trans-unit id="6301f1391d726f8f450bb358058534db19541ca9" datatype="html">\n        <source>At least one placement group is needed!</source>\n        <target>Se necesita al menos un grupo de colocación.</target>\n      </trans-unit>\n      <trans-unit id="ba9469a1ce6ed36e039c1f67247c8c81a5c71449" datatype="html">\n        <source>Your cluster can\'t handle this many PGs. Please recalculate the PG amount needed.</source>\n        <target>El clúster no puede gestionar tantos grupos de colocación. Vuelva a calcular la cantidad que necesita.</target>\n      </trans-unit>\n      <trans-unit id="80ac68cd883369dac20688bc32b4cb33291b5e50" datatype="html">\n        <source>Calculation help</source>\n        <target>Ayuda para el cálculo</target>\n      </trans-unit>\n      <trans-unit id="fccbd60493df26705d957ed6c02a3c447894678f" datatype="html">\n        <source>The current PGs settings were calculated for you, you\n                should make sure the values suit your needs before submit.</source>\n        <target>The current PGs settings were calculated for you, you\n                should make sure the values suit your needs before submit.</target>\n      </trans-unit>\n      <trans-unit id="a43b2695131b48b76cebba676aba98a2bee17515" datatype="html">\n        <source>Replicated size</source>\n        <target>Tamaño replicado</target>\n      </trans-unit>\n      <trans-unit id="7bff144a4c4dc63b0e18fff2617d61a7ebdf2b6c" datatype="html">\n        <source>Minimum: \n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/>\n        </source>\n        <target>Minimum: \n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="1a9c54b41f6d58a74e5d0aa3429ed0c87a482551" datatype="html">\n        <source>Maximum: \n          <x id="INTERPOLATION" equiv-text="{{ getMaxSize() }}"/>\n        </source>\n        <target>Maximum: \n          <x id="INTERPOLATION" equiv-text="{{ getMaxSize() }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6ab647b95bd2347ae6f4605576de5e0269fb893a" datatype="html">\n        <source>The size specified is out of range. A value from\n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/> to \n          <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.\n        </source>\n        <target>The size specified is out of range. A value from\n          <x id="INTERPOLATION" equiv-text="{{ getMinSize() }}"/> to \n          <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.\n        </target>\n      </trans-unit>\n      <trans-unit id="920617c6a1a4805e53bcb5af6a9c76f8387e89c6" datatype="html">\n        <source>Flags</source>\n        <target>Indicadores</target>\n      </trans-unit>\n      <trans-unit id="1c870fb00256b8a5b9cb9cd1a124e6390b9bc639" datatype="html">\n        <source>EC Overwrites</source>\n        <target>Sustituciones de códigos de borrado</target>\n      </trans-unit>\n      <trans-unit id="f1abafaeb40ce52355ddcc24686e3cd17b64e08a" datatype="html">\n        <source>Applications</source>\n        <target>Aplicaciones</target>\n      </trans-unit>\n      <trans-unit id="fb9308b82fc183f710df60909f49cfc73aa5e076" datatype="html">\n        <source>CRUSH</source>\n        <target>CRUSH</target>\n      </trans-unit>\n      <trans-unit id="9de7dde00e2139cc4bd03b1837afbe72ad15a1ff" datatype="html">\n        <source>Erasure code profile</source>\n        <target>Perfil de código de borrado</target>\n      </trans-unit>\n      <trans-unit id="39b4620e6bd444e0a57a0a5c03fa8c96d7fe5235" datatype="html">\n        <source>-- No erasure code profile available --</source>\n        <target>-- No hay ningún perfil de código de borrado disponible --</target>\n      </trans-unit>\n      <trans-unit id="498561757390d5528b263ce450d5f38efb00266d" datatype="html">\n        <source>-- Select an erasure code profile --</source>\n        <target>-- Seleccione un perfil de código de borrado --</target>\n      </trans-unit>\n      <trans-unit id="33150f22ce5348aa6c499bd092c3f4f3695d62cc" datatype="html">\n        <source>Crush ruleset</source>\n        <target>Conjunto de reglas de CRUSH</target>\n      </trans-unit>\n      <trans-unit id="c69b0bcd4698aa845d32c4c4ad488492552cb469" datatype="html">\n        <source>A new crush ruleset will be implicitly created.</source>\n        <target>A new crush ruleset will be implicitly created.</target>\n      </trans-unit>\n      <trans-unit id="896e9987db5e9bb279e6deed5d2dff28c242ef66" datatype="html">\n        <source>There are no rules.</source>\n        <target>There are no rules.</target>\n      </trans-unit>\n      <trans-unit id="73a6b31116b3cc322af951daa0bafdc169e6c42e" datatype="html">\n        <source>-- Select a crush rule --</source>\n        <target>-- Seleccione una regla de CRUSH --</target>\n      </trans-unit>\n      <trans-unit id="ea91d648f92002bc9f96d9b26b735c83ca0b53c6" datatype="html">\n        <source>This rule can\'t be deleted as it is in use.</source>\n        <target>This rule can\'t be deleted as it is in use.</target>\n      </trans-unit>\n      <trans-unit id="92da80699921e89fb19372e25b8d0f3b9fa427fc" datatype="html">\n        <source>Crush rule</source>\n        <target>Regla de CRUSH</target>\n      </trans-unit>\n      <trans-unit id="5489e9f96835f469f6f728a00d8efa88ea5bc940" datatype="html">\n        <source>Crush steps</source>\n        <target>Pasos de CRUSH</target>\n      </trans-unit>\n      <trans-unit id="fc5f5496a9e50fe69e1a09784f28d94944108294" datatype="html">\n        <source>Rule is not in use.</source>\n        <target>Rule is not in use.</target>\n      </trans-unit>\n      <trans-unit id="023d6f718770d2ea4ab8cabe26b0ec27ef967ec2" datatype="html">\n        <source>Used by pools</source>\n        <target>Used by pools</target>\n      </trans-unit>\n      <trans-unit id="104a0e6900d1d1b0c8cf9e5947e36edb352583fc" datatype="html">\n        <source>The rule can\'t be used in the current cluster as it has\n                  too few OSDs to meet the minimum required OSD by this rule.</source>\n        <target>The rule can\'t be used in the current cluster as it has\n                  too few OSDs to meet the minimum required OSD by this rule.</target>\n      </trans-unit>\n      <trans-unit id="2208d63d5940ce656006a220102b1eb2b5e553da" datatype="html">\n        <source>Compression</source>\n        <target>Compresión</target>\n      </trans-unit>\n      <trans-unit id="37e10df2d9c0c25ef04ac112c9c9a7723e8efae0" datatype="html">\n        <source>Mode</source>\n        <target>Modo</target>\n      </trans-unit>\n      <trans-unit id="6c6f25c47da62ec597c6057a36ddfc3209811ec5" datatype="html">\n        <source>Algorithm</source>\n        <target>Algoritmo</target>\n      </trans-unit>\n      <trans-unit id="4903231d42089325a28892c0fde1aed46b733ae6" datatype="html">\n        <source>-- No erasure compression algorithm available --</source>\n        <target>-- No hay ningún algoritmo de compresión de borrado disponible --</target>\n      </trans-unit>\n      <trans-unit id="5d68ddb254275f8f44221e9ad6d8ceeb59ca46a6" datatype="html">\n        <source>Minimum blob size</source>\n        <target>Tamaño de Blob mínimo</target>\n      </trans-unit>\n      <trans-unit id="fb2f176df80647137cbb02bbeb29e5dec707a400" datatype="html">\n        <source>e.g., 128KiB</source>\n        <target>p. ej. 128 KiB</target>\n      </trans-unit>\n      <trans-unit id="1b7f6e53a4521c6eb3ced4c007fdd4cf80bb7707" datatype="html">\n        <source>Value should be greater than 0</source>\n        <target>El valor debe ser mayor que 0</target>\n      </trans-unit>\n      <trans-unit id="8db98ab14b4e207ec763dfdefbc2dae367aab1cc" datatype="html">\n        <source>Value should be less than the maximum blob size</source>\n        <target>Value should be less than the maximum blob size</target>\n      </trans-unit>\n      <trans-unit id="151efb127a9a4dd25259a0b2055442318a141f5b" datatype="html">\n        <source>Maximum blob size</source>\n        <target>Tamaño de Blob máximo</target>\n      </trans-unit>\n      <trans-unit id="0c656f0e346bbadf46eb1a5d20d0307a3bd20ba8" datatype="html">\n        <source>e.g., 512KiB</source>\n        <target>p. ej. 512 KiB</target>\n      </trans-unit>\n      <trans-unit id="0a65a24eee8a026f3b1113fe9e157e9a0dd69486" datatype="html">\n        <source>Value should be greater than the minimum blob size</source>\n        <target>El valor debe ser mayor que el tamaño de Blob mínimo</target>\n      </trans-unit>\n      <trans-unit id="261ba09c4a59de83f48f52a23fd328da37e61ff4" datatype="html">\n        <source>Ratio</source>\n        <target>Relación</target>\n      </trans-unit>\n      <trans-unit id="c1430457a9c3c66366e51d76bf10396014c576be" datatype="html">\n        <source>Compression ratio</source>\n        <target>Relación de compresión</target>\n      </trans-unit>\n      <trans-unit id="ae5ce6de352cde949998fb10754459c3a4eb183b" datatype="html">\n        <source>Value should be between 0.0 and 1.0</source>\n        <target>El valor debe estar entre 0,0 y 1,0</target>\n      </trans-unit>\n      <trans-unit id="8bb8293aa8161433778762ae025ffd5e7c85795e" datatype="html">\n        <source>Quotas</source>\n        <target>Quotas</target>\n      </trans-unit>\n      <trans-unit id="d99b34162c9c34f10d0ccd8dbae83d8569c2db77" datatype="html">\n        <source>Max bytes</source>\n        <target>Max bytes</target>\n      </trans-unit>\n      <trans-unit id="a1d14a18879c62f3f4ed705318b7164a1160e249" datatype="html">\n        <source>Leave it blank or specify 0 to disable this quota.</source>\n        <target>Leave it blank or specify 0 to disable this quota.</target>\n      </trans-unit>\n      <trans-unit id="7565b131562ff6c5f769fdbd239a772154abdd97" datatype="html">\n        <source>A valid quota should be greater than 0.</source>\n        <target>A valid quota should be greater than 0.</target>\n      </trans-unit>\n      <trans-unit id="f0016bd458baa88284a658ce9eeda42d8ad88d2c" datatype="html">\n        <source>e.g., 10GiB</source>\n        <target>ej.: 10 GiB</target>\n      </trans-unit>\n      <trans-unit id="b8bf35b66f09a301eef92ffc3cb2fd259df67ce9" datatype="html">\n        <source>Max objects</source>\n        <target>Max objects</target>\n      </trans-unit>\n      <trans-unit id="95f348167622d832c5ae532b6944635c8e2ae5cb" datatype="html">\n        <source>The value should be greater or equal to 0</source>\n        <target>The value should be greater or equal to 0</target>\n      </trans-unit>\n      <trans-unit id="4f8b2bb476981727ab34ed40fde1218361f92c45" datatype="html">\n        <source>Details</source>\n        <target>Detalles</target>\n      </trans-unit>\n      <trans-unit id="fbbaf5cb02ed419e79a27072478f716a4666a99d" datatype="html">\n        <source>Performance Details</source>\n        <target>Detalles de rendimiento</target>\n      </trans-unit>\n      <trans-unit id="3938a411d76796f8ae73b72ea4c77661207453bd" datatype="html">\n        <source>Cache Tiers Details</source>\n        <target>Detalles de niveles de caché</target>\n      </trans-unit>\n      <trans-unit id="ecbc084370a732fc3cde1966a60af78d71424ab4" datatype="html">\n        <source>Create Bootstrap Token</source>\n        <target>Create Bootstrap Token</target>\n      </trans-unit>\n      <trans-unit id="603e9cc3ef2aab57f2b0a00e465b23b9cabefd9c" datatype="html">\n        <source>To create a bootstrap token which can be imported\n          by a peer site cluster, provide the local site\'s name, select\n          which pools will have mirroring enabled, and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Generate\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>To create a bootstrap token which can be imported\n          by a peer site cluster, provide the local site\'s name, select\n          which pools will have mirroring enabled, and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Generate\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="660f97cd3188f8a04bd03b79e703fec72c6df04c" datatype="html">\n        <source>Site Name</source>\n        <target>Site Name</target>\n      </trans-unit>\n      <trans-unit id="8c2a1dc72cffaf7ab3dc5599bf77b0a7fcad2b20" datatype="html">\n        <source>At least one pool is required.</source>\n        <target>At least one pool is required.</target>\n      </trans-unit>\n      <trans-unit id="1b258b258b4cc475ceb2871305b61756b0134f4a" datatype="html">\n        <source>Generate</source>\n        <target>Generate</target>\n      </trans-unit>\n      <trans-unit id="1edc1fc6cfbbb22353050ad6788508b3ed584f53" datatype="html">\n        <source>Token</source>\n        <target>Token</target>\n      </trans-unit>\n      <trans-unit id="ff785f5596aef34a93b9b4d1023e95c62eef5740" datatype="html">\n        <source>Generated token...</source>\n        <target>Generated token...</target>\n      </trans-unit>\n      <trans-unit id="5467a6bb0e7fade6def7499400d5e2a7d8d3da20" datatype="html">\n        <source>Import Bootstrap Token</source>\n        <target>Import Bootstrap Token</target>\n      </trans-unit>\n      <trans-unit id="9bb7aee0dec5164f45c0aa2f35f2fb2149d2c1d2" datatype="html">\n        <source>To import a bootstrap token which was created\n          by a peer site cluster, provide the local site\'s name, select\n          which pools will have mirroring enabled, provide the generated\n          token, and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Import\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>To import a bootstrap token which was created\n          by a peer site cluster, provide the local site\'s name, select\n          which pools will have mirroring enabled, provide the generated\n          token, and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Import\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="9200e09686136a1d42adfb89c12fbfef2deea125" datatype="html">\n        <source>Direction</source>\n        <target>Direction</target>\n      </trans-unit>\n      <trans-unit id="9761484679958da8d12841a4efa5964d33fae575" datatype="html">\n        <source>The token is invalid.</source>\n        <target>The token is invalid.</target>\n      </trans-unit>\n      <trans-unit id="a059709f71aa4c0ac219e160e78a738682ca6a36" datatype="html">\n        <source>Import</source>\n        <target>Import</target>\n      </trans-unit>\n      <trans-unit id="b87bd96249f8afc23f5301cddb57b1464a98e71a" datatype="html">\n        <source>Edit site name</source>\n        <target>Edit site name</target>\n      </trans-unit>\n      <trans-unit id="cfff72c667274c12eb1ff71eadc25871c10c42dc" datatype="html">\n        <source>Edit the site name and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>Edit the site name and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="40b7acea5b43f45e0bbd1efeba5200af4687981d" datatype="html">\n        <source>Site Name:</source>\n        <target>Site Name:</target>\n      </trans-unit>\n      <trans-unit id="f0b5d789d42c0e69348e5fe0037fcbf5b5fbbdcc" datatype="html">\n        <source>Move an image to trash</source>\n        <target>Mover una imagen a la papelera</target>\n      </trans-unit>\n      <trans-unit id="7ad22c1d4aab3b8946603cea62de266d5129ca10" datatype="html">\n        <source>This image contains snapshot(s), which will prevent it\n            from being removed after moved to trash.</source>\n        <target>This image contains snapshot(s), which will prevent it\n            from being removed after moved to trash.</target>\n      </trans-unit>\n      <trans-unit id="b4b3ced4f8aad4c446f348b14c3d94be2e2c350c" datatype="html">\n        <source>To move \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ imageSpecStr }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,\n          click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optionally, you can pick an expiration date.\n        </source>\n        <target>To move \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ imageSpecStr }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,\n          click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optionally, you can pick an expiration date.\n        </target>\n      </trans-unit>\n      <trans-unit id="88f27d390844aad53b4240360e928156c5f0d326" datatype="html">\n        <source>Protection expires at</source>\n        <target>La protección caduca a las</target>\n      </trans-unit>\n      <trans-unit id="da166e9a0d27322f6ba8916d71ecc0f9905bb4b1" datatype="html">\n        <source>NOT PROTECTED</source>\n        <target>SIN PROTECCIÓN</target>\n      </trans-unit>\n      <trans-unit id="a1506e5f2ca22cad14502ec7a20fb6113ace145d" datatype="html">\n        <source>Wrong date format. Please use "YYYY-MM-DD HH:mm:ss".</source>\n        <target>Formato de fecha erróneo. Use el formato "AAAA-MM-DD HH:mm:ss".</target>\n      </trans-unit>\n      <trans-unit id="aa7ea0bb7495281e0b3258467ac7d90a1e44a1a1" datatype="html">\n        <source>Protection has already expired. Please pick a future date or leave it empty.</source>\n        <target>La protección ya ha caducado. Seleccione una fecha del futuro o deje el campo vacío.</target>\n      </trans-unit>\n      <trans-unit id="536b3205c0c0d4d21685ec06feccfcf2fe14deb1" datatype="html">\n        <source>Move Image</source>\n        <target>Mover imagen</target>\n      </trans-unit>\n      <trans-unit id="c9f1026c1235f4d76ace47449e806efd181ab332" datatype="html">\n        <source>Deleting this image will also delete all its snapshots.</source>\n        <target>Deleting this image will also delete all its snapshots.</target>\n      </trans-unit>\n      <trans-unit id="55f864597e84d9bf88769e1fbfda1d64452430c9" datatype="html">\n        <source>The following snapshots are currently protected and will be removed:</source>\n        <target>The following snapshots are currently protected and will be removed:</target>\n      </trans-unit>\n      <trans-unit id="8a9910cd114c1deb9af74f6f99b4173403965bf2" datatype="html">\n        <source>Gateways</source>\n        <target>Gateways</target>\n      </trans-unit>\n      <trans-unit id="8835b9e49a3348b0a2f2162c21118af1f4bee45a" datatype="html">\n        <source>Must be greater than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'min\'] }}"/>.\n        </source>\n        <target>Must be greater than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'min\'] }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="bbddac59563c8c126e3fe28691e4e247614fcbd1" datatype="html">\n        <source>Must be less than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'max\'] }}"/>.\n        </source>\n        <target>Must be less than or equal to \n          <x id="INTERPOLATION" equiv-text="{{ limits[\'max\'] }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="e95ae009d0bdb45fcc656e8b65248cf7396080d5" datatype="html">\n        <source>Overview</source>\n        <target>Resumen</target>\n      </trans-unit>\n      <trans-unit id="bbd2045d5c37e4bb39a3c0fb62ea1ddf70a12838" datatype="html">\n        <source>Targets</source>\n        <target>Destinos</target>\n      </trans-unit>\n      <trans-unit id="6803e31b7395d94934e091a49a9524026b59b018" datatype="html">\n        <source>Discovery Authentication</source>\n        <target>Autenticación de descubrimiento</target>\n      </trans-unit>\n      <trans-unit id="e08a77594f3d89311cdf6da5090044270909c194" datatype="html">\n        <source>User</source>\n        <target>Usuario</target>\n      </trans-unit>\n      <trans-unit id="0214f773f8e394f50f953f39962e352d7863e959" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n              can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Los nombres de usuario deben tener entre 8 y 64 caracteres y\n                        solo pueden incluir letras y estos caracteres: ".", "@", "-", "_" o ":".</target>\n      </trans-unit>\n      <trans-unit id="c32ef07f8803a223a83ed17024b38e8d82292407" datatype="html">\n        <source>Password</source>\n        <target>Contraseña</target>\n      </trans-unit>\n      <trans-unit id="6682d1c00263bee204583a5d589b308b6be88b0f" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n              and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n              and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="ff40391de7a1944ea95091e4045cc34c4979b736" datatype="html">\n        <source>Mutual User</source>\n        <target>Usuario mutuo</target>\n      </trans-unit>\n      <trans-unit id="0cf73dbebe99b737c4d288788182fc356e3c93d3" datatype="html">\n        <source>Mutual Password</source>\n        <target>Contraseña mutua</target>\n      </trans-unit>\n      <trans-unit id="8800276925157c666b103c36ff7fe8ffe11980b4" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters and\n              can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters and\n              can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="53a583cd5f15059cc958b7d547f72cc78f68e123" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n    on how to configure and enable the iSCSI Targets management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n    on how to configure and enable the iSCSI Targets management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="3b301d0044f62c92af0da53d7aaca52a436a547d" datatype="html">\n        <source>Available information:</source>\n        <target>Información disponible:</target>\n      </trans-unit>\n      <trans-unit id="332227f088a4877b3c11f5fb3ae8bc812c470fae" datatype="html">\n        <source>iSCSI Targets not available</source>\n        <target>Destinos iSCSI no disponibles</target>\n      </trans-unit>\n      <trans-unit id="8414a5cb9d71cc1b21b10e4a9d1f2dad558f3361" datatype="html">\n        <source>Discovery authentication</source>\n        <target>Discovery authentication</target>\n      </trans-unit>\n      <trans-unit id="0f6e8f6094b180eaf1f11bc0ffe383f1cdcd059e" datatype="html">\n        <source>Only available for RBD images with \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>fast-diff\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> enabled\n        </source>\n        <target>Only available for RBD images with \n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>fast-diff\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> enabled\n        </target>\n      </trans-unit>\n      <trans-unit id="e70fcca5a99575cffef3ff8cbd5e69f06ffd0f1c" datatype="html">\n        <source>Pool</source>\n        <target>Repositorio</target>\n      </trans-unit>\n      <trans-unit id="03cc5b14b0a20d075e9009ff021f4f1660ba348a" datatype="html">\n        <source>Data Pool</source>\n        <target>Repositorio de datos</target>\n      </trans-unit>\n      <trans-unit id="1b051734b0ee9021991c91b3ed4e81c244322462" datatype="html">\n        <source>Created</source>\n        <target>Creados</target>\n      </trans-unit>\n      <trans-unit id="7faaaa08f56427999f3be41df1093ce4089bbd75" datatype="html">\n        <source>Size</source>\n        <target>Tamaño</target>\n      </trans-unit>\n      <trans-unit id="afdb601c16162f2c798b16a2920955f1cc6a20aa" datatype="html">\n        <source>Objects</source>\n        <target>Objetos</target>\n      </trans-unit>\n      <trans-unit id="ceac8e132384322ec778ba760875a6c6897d3e42" datatype="html">\n        <source>Object size</source>\n        <target>Tamaño del objeto</target>\n      </trans-unit>\n      <trans-unit id="0a65771c9a73b9aa609d592fc96a64801a8f40bd" datatype="html">\n        <source>Provisioned</source>\n        <target>Aprovisionados</target>\n      </trans-unit>\n      <trans-unit id="84a36cb75660b736773fe36ffa3d54f0f0fe363e" datatype="html">\n        <source>N/A</source>\n        <target>N/D</target>\n      </trans-unit>\n      <trans-unit id="e5c009342a4e8381f64341d0bb61c2e4685f5a4b" datatype="html">\n        <source>Total provisioned</source>\n        <target>Total aprovisionado</target>\n      </trans-unit>\n      <trans-unit id="7f6bf8a43ae415f527ac961ea62471b983aaa97b" datatype="html">\n        <source>Striping unit</source>\n        <target>Unidad de repartición</target>\n      </trans-unit>\n      <trans-unit id="db710e8a8f011923f2d15d713fbae49c38b02b26" datatype="html">\n        <source>Striping count</source>\n        <target>Recuento de repartición</target>\n      </trans-unit>\n      <trans-unit id="3a4c2a9e76634ff14a60d52a718296f722d47c67" datatype="html">\n        <source>Parent</source>\n        <target>Padre</target>\n      </trans-unit>\n      <trans-unit id="6a209e68d78ffc2cc9c53d2e76158624efab71ad" datatype="html">\n        <source>Block name prefix</source>\n        <target>Prefijo de nombre de bloque</target>\n      </trans-unit>\n      <trans-unit id="5704ec2049d007c5f5fb495a5d8b607e68d58081" datatype="html">\n        <source>Order</source>\n        <target>Orden</target>\n      </trans-unit>\n      <trans-unit id="f21b1d17b6c5042bb5805516eee37fde33739dd8" datatype="html">\n        <source>Snapshots</source>\n        <target>Instantáneas</target>\n      </trans-unit>\n      <trans-unit id="a5f9ba9bb9faa8284bcadb1cdbc6aaf969e9c4bb" datatype="html">\n        <source>Image</source>\n        <target>Imagen</target>\n      </trans-unit>\n      <trans-unit id="58e58f1a8786da9031a05e6770c5dafce82badf5" datatype="html">\n        <source>This setting overrides the global value</source>\n        <target>Este ajuste sustituye al valor global</target>\n      </trans-unit>\n      <trans-unit id="5decb3917d46a9ac6e5813699801becb7c3c1455" datatype="html">\n        <source>Global</source>\n        <target>Global</target>\n      </trans-unit>\n      <trans-unit id="36b46714164964c6258b08ed0a25f57d8a950f92" datatype="html">\n        <source>This is the global value. No value for this option has been set for this image.</source>\n        <target>Este es el valor global. No se ha definido ningún valor para esta opción para esta imagen.</target>\n      </trans-unit>\n      <trans-unit id="6547c9c4d5f62942ac4b1fe459cf9a03d4dbf5a0" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/> from\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ action | titlecase }}"/> from\n        </target>\n      </trans-unit>\n      <trans-unit id="0e9ecf29a4fa5b057bd8052e0d801b3fde6a30bf" datatype="html">\n        <source>\'/\' and \'@\' are not allowed.</source>\n        <target>No se permiten los caracteres "/" ni "@".</target>\n      </trans-unit>\n      <trans-unit id="b99417c4dd46286ffd37c8d2e987c8b512ec7052" datatype="html">\n        <source>-- No rbd pools available --</source>\n        <target>-- No hay ningún repositorio RBD disponible --</target>\n      </trans-unit>\n      <trans-unit id="ef83ec9c304a89d45650e580dcdc2978c37b3a83" datatype="html">\n        <source>-- Select a pool --</source>\n        <target>-- Seleccione un repositorio --</target>\n      </trans-unit>\n      <trans-unit id="d649904466254d13df1fbf2d255f0bbc6553d213" datatype="html">\n        <source>-- No namespaces available --</source>\n        <target>-- No namespaces available --</target>\n      </trans-unit>\n      <trans-unit id="e22d7bb4d2d561e0832ee0b9a3da2468a080c4f0" datatype="html">\n        <source>-- Select a namespace --</source>\n        <target>-- Select a namespace --</target>\n      </trans-unit>\n      <trans-unit id="49449943d8cbf59d8c401c8bd2e76f92e207cc5f" datatype="html">\n        <source>Use a dedicated data pool</source>\n        <target>Usar un repositorio dedicado para datos</target>\n      </trans-unit>\n      <trans-unit id="870aee0dd31a9643bf62007beb8f1ae1deb34d42" datatype="html">\n        <source>Data pool</source>\n        <target>Repositorio de datos</target>\n      </trans-unit>\n      <trans-unit id="3792ca829d9b9f687e1f5d7733d30e9bb0bfec47" datatype="html">\n        <source>Dedicated pool that stores the object-data of the RBD.</source>\n        <target>Repositorio dedicado para almacenar los datos de objeto de RBD.</target>\n      </trans-unit>\n      <trans-unit id="0a88bbee20570aaf9615332fb27020627044874d" datatype="html">\n        <source>You have to increase the size.</source>\n        <target>Debe aumentar el tamaño.</target>\n      </trans-unit>\n      <trans-unit id="bc2e854e111ecf2bd7db170da5e3c2ed08181d88" datatype="html">\n        <source>Advanced</source>\n        <target>Avanzado</target>\n      </trans-unit>\n      <trans-unit id="3562a3778695a5f9c0445660e35301f0a39aaf73" datatype="html">\n        <source>Striping</source>\n        <target>Repartición</target>\n      </trans-unit>\n      <trans-unit id="ef3c3f3b5f562a5cdbe0ee2874287db1534b5958" datatype="html">\n        <source>Stripe unit</source>\n        <target>Unidad de repartición</target>\n      </trans-unit>\n      <trans-unit id="84471be1049006edecbcaef1a32ae0893c229c50" datatype="html">\n        <source>-- Select stripe unit --</source>\n        <target>-- Seleccione la unidad de repartición --</target>\n      </trans-unit>\n      <trans-unit id="8d32c5c54c8581c774a7f467fbd4e329b15a74fa" datatype="html">\n        <source>This field is required because stripe count is defined!</source>\n        <target>Este campo es obligatorio porque se ha definido el recuento de repartición.</target>\n      </trans-unit>\n      <trans-unit id="6bbf9040be7c5491d4a03f2185708f43a6582a3b" datatype="html">\n        <source>Stripe unit is greater than object size.</source>\n        <target>La unidad de repartición es mayor que el tamaño del objeto.</target>\n      </trans-unit>\n      <trans-unit id="a682f49f9b761591661276d7c6f550e641a130a4" datatype="html">\n        <source>Stripe count</source>\n        <target>Recuento de repartición</target>\n      </trans-unit>\n      <trans-unit id="baa74031990c5370008ba622d0a250f0929097f4" datatype="html">\n        <source>This field is required because stripe unit is defined!</source>\n        <target>Este campo es obligatorio porque se ha definido la unidad de repartición.</target>\n      </trans-unit>\n      <trans-unit id="cd2ada6d5ecbd5cbf89eae0a1f5326efedac0dbc" datatype="html">\n        <source>Stripe count must be greater than 0.</source>\n        <target>El recuento de repartición debe ser mayor que 0.</target>\n      </trans-unit>\n      <trans-unit id="2c07d24bb422aa8e5e568df1c5709083f0a9c8f1" datatype="html">\n        <source>Create Namespace</source>\n        <target>Create Namespace</target>\n      </trans-unit>\n      <trans-unit id="0cca6c0485f96d3a9610d0339cb1275a5f2c3f46" datatype="html">\n        <source>Namespace already exists.</source>\n        <target>Namespace already exists.</target>\n      </trans-unit>\n      <trans-unit id="5c5331983af566d4ac6a1024d15a3511786a4aa6" datatype="html">\n        <source>You are about to rollback</source>\n        <target>Se dispone a revertir</target>\n      </trans-unit>\n      <trans-unit id="49c0408946a6d67185947f455f15cc201d0d78e6" datatype="html">\n        <source>Purge Trash</source>\n        <target>Vaciar papelera</target>\n      </trans-unit>\n      <trans-unit id="681501eecd7f44d4b7a2f619605b36676e04c5b6" datatype="html">\n        <source>To purge, select one or</source>\n        <target>To purge, select one or</target>\n      </trans-unit>\n      <trans-unit id="dfc3c34e182ea73c5d784ff7c8135f087992dac1" datatype="html">\n        <source>All</source>\n        <target>Todas</target>\n      </trans-unit>\n      <trans-unit id="ea5d338dcef50ff5c24439fd784f6a67b594c33f" datatype="html">\n        <source>pools and click</source>\n        <target>pools and click</target>\n      </trans-unit>\n      <trans-unit id="55a4f598a4894b7fd5cb88f0ffd3c37ad009dd70" datatype="html">\n        <source>Pool:</source>\n        <target>Repositorio:</target>\n      </trans-unit>\n      <trans-unit id="d43dd2b9f7797e4cf3a604695bb33e4479108516" datatype="html">\n        <source>Pool name...</source>\n        <target>Nombre del repositorio...</target>\n      </trans-unit>\n      <trans-unit id="b0e7c7ed1d51a0c205c815048bc9f79e24ee6db2" datatype="html">\n        <source>Restore Image</source>\n        <target>Restaurar imágenes</target>\n      </trans-unit>\n      <trans-unit id="7369384817e0ad61ce871c9afdfbb538df2f97c1" datatype="html">\n        <source>To restore</source>\n        <target>Para restaurar</target>\n      </trans-unit>\n      <trans-unit id="e7f0abefc608f7fb452c2dc9b1cdc3dec432160e" datatype="html">\n        <source>type the image\'s new name and click</source>\n        <target>escriba el nombre nuevo de la imagen y haga clic en</target>\n      </trans-unit>\n      <trans-unit id="41307dd56fea669eed72e12a6c23af275f6bfd82" datatype="html">\n        <source>New Name</source>\n        <target>Nombre nuevo</target>\n      </trans-unit>\n      <trans-unit id="5c96a761dc55a21882c132c929583a424c9b8cf4" datatype="html">\n        <source>Expired at</source>\n        <target>Caducó a las</target>\n      </trans-unit>\n      <trans-unit id="661041e3fcff4d3e75c561e038ca2504cf2cc643" datatype="html">\n        <source>Protected until</source>\n        <target>Protección hasta</target>\n      </trans-unit>\n      <trans-unit id="0ee3b2322a1d3277f7e3fdb8a5141ac42bcf350b" datatype="html">\n        <source>This image is protected until \n          <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.\n        </source>\n        <target>This image is protected until \n          <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="a674ab267d1934bf395f87ca1503fd474296893f" datatype="html">\n        <source>iSCSI Topology</source>\n        <target>Topología iSCSI</target>\n      </trans-unit>\n      <trans-unit id="051dcc342cfa5c1eaf187a2001aaa162379a160c" datatype="html">\n        <source>Configure</source>\n        <target>Configure</target>\n      </trans-unit>\n      <trans-unit id="9e515f954730279c31d5301f02479666d6264e8b" datatype="html">\n        <source>Changing these parameters from their default values is usually not necessary.</source>\n        <target>Normalmente no es necesario cambiar los valores por defecto de estos parámetros.</target>\n      </trans-unit>\n      <trans-unit id="4e2591df099ddac796cda401c5f282da779d45f2" datatype="html">\n        <source>Identifier</source>\n        <target>Identifier</target>\n      </trans-unit>\n      <trans-unit id="62480a4859976427cf18fc8ef41d3a438eda0412" datatype="html">\n        <source>lun</source>\n        <target>lun</target>\n      </trans-unit>\n      <trans-unit id="8afc9eb4405e0aa554b2ba14140ef790cdecc040" datatype="html">\n        <source>wwn</source>\n        <target>wwn</target>\n      </trans-unit>\n      <trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html">\n        <source>Settings</source>\n        <target>Ajustes</target>\n      </trans-unit>\n      <trans-unit id="69a47cbabcc51ca942606e1d8da0ec11f98a2690" datatype="html">\n        <source>Backstore</source>\n        <target>Almacén</target>\n      </trans-unit>\n      <trans-unit id="68e710782ccb5398b3acb8844caf0b199da2c3da" datatype="html">\n        <source>Confirm</source>\n        <target>Confirmar</target>\n      </trans-unit>\n      <trans-unit id="339878da255ab55447c43afef8d9b2f9753bf5f6" datatype="html">\n        <source>Advanced Settings</source>\n        <target>Ajustes avanzados</target>\n      </trans-unit>\n      <trans-unit id="1406c2fb12a20c1528b19bcc5e24a6a2386167f3" datatype="html">\n        <source>Target IQN</source>\n        <target>IQN de destino</target>\n      </trans-unit>\n      <trans-unit id="5fe42339be910372fa689f559155631862d218e8" datatype="html">\n        <source>IQN has wrong pattern.</source>\n        <target>El IQN tiene un patrón erróneo.</target>\n      </trans-unit>\n      <trans-unit id="050a7ff057d1e895357540406b6be5652b4d1c71" datatype="html">\n        <source>An IQN has the following notation\n                \'iqn.$year-$month.$reversedAddress:$definedName\'</source>\n        <target>An IQN has the following notation\n                \'iqn.$year-$month.$reversedAddress:$definedName\'</target>\n      </trans-unit>\n      <trans-unit id="c8ada4b53396d8366db00a435acc61d53d857047" datatype="html">\n        <source>For example: iqn.2016-06.org.dashboard:storage:disk.sn-a8675309</source>\n        <target>Por ejemplo: iqn.2016-06.org.dashboard:storage:disk.sn-a8675309</target>\n      </trans-unit>\n      <trans-unit id="e60c11e1b1dfbbeda577364b8de39ded2d796c5e" datatype="html">\n        <source>More information</source>\n        <target>Más información</target>\n      </trans-unit>\n      <trans-unit id="9b1aa85dfc6849196e64060db02c5410de69b7a1" datatype="html">\n        <source>This target has modified advanced settings.</source>\n        <target>Este destino tiene ajustes avanzados modificados.</target>\n      </trans-unit>\n      <trans-unit id="6990ad8d6182662e864495ac31c3758cda1c7a28" datatype="html">\n        <source>Portals</source>\n        <target>Portales</target>\n      </trans-unit>\n      <trans-unit id="6a3ac2b4137d723fd9878cd357c2012ff6c07973" datatype="html">\n        <source>Add portal</source>\n        <target>Añadir portal</target>\n      </trans-unit>\n      <trans-unit id="c3638c01b6c34066438909713ec96087c813fc7e" datatype="html">\n        <source>At least \n          <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.\n        </source>\n        <target>At least \n          <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.\n        </target>\n      </trans-unit>\n      <trans-unit id="9aff25be088f0efe3eaaf62edf2bff41cc41a617" datatype="html">\n        <source>Backstore: \n          <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. \n        </source>\n        <target>Backstore: \n          <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. \n        </target>\n      </trans-unit>\n      <trans-unit id="e3484cae8b118c576ca2815bf9c9406c2eb2cae3" datatype="html">\n        <source>This image has modified settings.</source>\n        <target>Esta imagen tiene ajustes modificados.</target>\n      </trans-unit>\n      <trans-unit id="1dff11e0820b6722ab240169f1232d70a54beaaa" datatype="html">\n        <source>Duplicated LUN numbers.</source>\n        <target>Duplicated LUN numbers.</target>\n      </trans-unit>\n      <trans-unit id="bf2dccf92ccff6e3b091792bf4205595406e1bfb" datatype="html">\n        <source>Duplicated WWN.</source>\n        <target>Duplicated WWN.</target>\n      </trans-unit>\n      <trans-unit id="808038f912fdc7f0e03f82d4afd3bf9178527fc8" datatype="html">\n        <source>Add image</source>\n        <target>Añadir imagen</target>\n      </trans-unit>\n      <trans-unit id="66c5fb27f52e75b70ca4b670b9b15a2a51cf9543" datatype="html">\n        <source>ACL authentication</source>\n        <target>Autenticación de ACL</target>\n      </trans-unit>\n      <trans-unit id="419c8b402609dcf49ae4932a5a4647dc8d79bbaf" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n                can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Usernames must have a length of 8 to 64 characters and\n                can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</target>\n      </trans-unit>\n      <trans-unit id="938050960d6653fddfcfd42425e18fb35a308262" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n                and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n                and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="f494bd31f095f6dcc656ce87ec2dcf07a2e9b30c" datatype="html">\n        <source>Initiators</source>\n        <target>Iniciadores</target>\n      </trans-unit>\n      <trans-unit id="e98239d8a6be1100119ff4b5630c822b82786740" datatype="html">\n        <source>Initiator</source>\n        <target>Iniciador</target>\n      </trans-unit>\n      <trans-unit id="f2c5059d8cda15d8d03e2cce30f2d139623d9a91" datatype="html">\n        <source>Client IQN</source>\n        <target>IQN del cliente</target>\n      </trans-unit>\n      <trans-unit id="107d5aabce23d900f0a80e6ddc1c10e29aa0bed8" datatype="html">\n        <source>Initiator IQN needs to be unique.</source>\n        <target>El IQN del iniciador debe ser exclusivo.</target>\n      </trans-unit>\n      <trans-unit id="bbf0b34a3fcc80800fcb44b9e1e86931a530dfe3" datatype="html">\n        <source>Usernames must have a length of 8 to 64 characters and\n                        can only contain letters, \'.\', \'@\', \'-\', \'_\' or \':\'.</source>\n        <target>Los nombres de usuario deben tener entre 8 y 64 caracteres y\n                        solo pueden incluir letras y estos caracteres: ".", "@", "-", "_" o ":".</target>\n      </trans-unit>\n      <trans-unit id="fdfee5d7a27e1bdd97a176097277bee078de6aaf" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters\n                        and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters\n                        and can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="8406eb7415ee40e54d9ecb209abb056f06e3d666" datatype="html">\n        <source>Passwords must have a length of 12 to 16 characters and\n                        can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</source>\n        <target>Passwords must have a length of 12 to 16 characters and\n                        can only contain letters, \'@\', \'-\', \'_\' or \'/\'.</target>\n      </trans-unit>\n      <trans-unit id="5d1878d5fc761cbe9614bfd87047a740c82a6951" datatype="html">\n        <source>Initiator belongs to a group. Images will be configure in the group.</source>\n        <target>El iniciador pertenece a un grupo. Las imágenes se configurarán en el grupo.</target>\n      </trans-unit>\n      <trans-unit id="c0de67b9d97fafbf200f9451e8388ee8128a56ac" datatype="html">\n        <source>No items added.</source>\n        <target>No se ha añadido ningún elemento.</target>\n      </trans-unit>\n      <trans-unit id="d565e47726158e428ecdc952fc9233b9b7d7f049" datatype="html">\n        <source>Add initiator</source>\n        <target>Añadir iniciador</target>\n      </trans-unit>\n      <trans-unit id="c22ba03540aa3217da059f45e7eab138b51a96e2" datatype="html">\n        <source>Groups</source>\n        <target>Grupos</target>\n      </trans-unit>\n      <trans-unit id="4c90059afafb7e160384d9f512797c95bb95c6dc" datatype="html">\n        <source>Group</source>\n        <target>Grupo</target>\n      </trans-unit>\n      <trans-unit id="3084948274cff4f56d0f431af47240e9cf02fcc7" datatype="html">\n        <source>Add group</source>\n        <target>Añadir grupo</target>\n      </trans-unit>\n      <trans-unit id="c3a7e364a88ea4673199dfa98bc73e6dbe09dfac" datatype="html">\n        <source>Namespaces</source>\n        <target>Namespaces</target>\n      </trans-unit>\n      <trans-unit id="aba82bfd8e177d35b76cad7cd43941f8e5e5acac" datatype="html">\n        <source>Trash</source>\n        <target>Papelera</target>\n      </trans-unit>\n      <trans-unit id="66db799d67958d4b0765181d072df62e2d1c16f5" datatype="html">\n        <source>Issues</source>\n        <target>Problemas</target>\n      </trans-unit>\n      <trans-unit id="ef06d69259e587e28d52372455f44c7153cda7e7" datatype="html">\n        <source>Syncing</source>\n        <target>Sincronizando</target>\n      </trans-unit>\n      <trans-unit id="0b0901877d837d3fda16ba161eb74368d1c75b7a" datatype="html">\n        <source>Ready</source>\n        <target>Listo</target>\n      </trans-unit>\n      <trans-unit id="4057c56d63a7e9b140b1d01871a9229a5f30eb27" datatype="html">\n        <source>Edit pool mirror mode</source>\n        <target>Editar modo de duplicación de repositorio</target>\n      </trans-unit>\n      <trans-unit id="e1f367f5feaab38f6637dd1f967c848b447dea2d" datatype="html">\n        <source>To edit the mirror mode for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>, select a new mode from the list and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>To edit the mirror mode for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>, select a new mode from the list and click \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="32ca348ef926b0a6a7a780b8b64c3a8239895cec" datatype="html">\n        <source>Peer clusters must be removed prior to disabling mirror.</source>\n        <target>Los clústeres de par deben eliminarse antes de inhabilitar la duplicación.</target>\n      </trans-unit>\n      <trans-unit id="fa61522d482349707fd7dd03b90dc5781611b17f" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/>\n  pool mirror peer\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/>\n  pool mirror peer\n        </target>\n      </trans-unit>\n      <trans-unit id="4ddcb416c1c0aa1f54acf5beef1de81813e76fa6" datatype="html">\n        <source>{VAR_SELECT, select, edit {Edit} other {Add} }</source>\n        <target>{VAR_SELECT, select, edit {Editar} other {Añadir} }</target>\n      </trans-unit>\n      <trans-unit id="59ca65ece457429d90104ede4674965f62edbabe" datatype="html">\n        <source>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/> the pool\n          mirror peer attributes for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> and click\n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Submit\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </source>\n        <target>\n          <x id="ICU" equiv-text="{mode, select, edit {...} other {...}}"/> the pool\n          mirror peer attributes for pool \n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>\n          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> and click\n          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Submit\n          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="d3cc964811f852a168f4a2d5daa59068abc5cf53" datatype="html">\n        <source>Cluster Name</source>\n        <target>Nombre del clúster</target>\n      </trans-unit>\n      <trans-unit id="b631721fc56cb7fb1cbd07b802a487c5753f6a2d" datatype="html">\n        <source>The cluster name is not valid.</source>\n        <target>El nombre del clúster no es válido.</target>\n      </trans-unit>\n      <trans-unit id="ca6deafa31bf421f85094807982aee4bcb20a3ae" datatype="html">\n        <source>CephX ID</source>\n        <target>ID de CephX</target>\n      </trans-unit>\n      <trans-unit id="7539188a568c3d553cbde1bacaf32310c4264e24" datatype="html">\n        <source>CephX ID...</source>\n        <target>ID de CephX...</target>\n      </trans-unit>\n      <trans-unit id="a1c45b594b0fba22fc64e80c793a7ffe005fdb0e" datatype="html">\n        <source>The CephX ID is not valid.</source>\n        <target>El ID de CephX no es válido.</target>\n      </trans-unit>\n      <trans-unit id="20861576fcfce773c918c782cd4f5adf32382921" datatype="html">\n        <source>Monitor Addresses</source>\n        <target>Direcciones de monitores</target>\n      </trans-unit>\n      <trans-unit id="fa28eeed2b4bd4ccbe6e9349a1c2b3cb1c5de70a" datatype="html">\n        <source>Comma-delimited addresses...</source>\n        <target>Direcciones delimitadas por comas...</target>\n      </trans-unit>\n      <trans-unit id="dc016c82fd85848d5c1b2fd0e8469ee2027d9c16" datatype="html">\n        <source>The monitory address is not valid.</source>\n        <target>La dirección del monitor no es válida.</target>\n      </trans-unit>\n      <trans-unit id="e0ac55b83dc6739e62bc655cfe375b67c93e7f4a" datatype="html">\n        <source>CephX Key</source>\n        <target>Clave de CephX</target>\n      </trans-unit>\n      <trans-unit id="f53434bcb95bd86f1df9c8e22966f757614fc4ad" datatype="html">\n        <source>Base64-encoded key...</source>\n        <target>Clave con cifrado base64...</target>\n      </trans-unit>\n      <trans-unit id="4cd83164cd4f66b4abc2863f9ce6f599d789e4ca" datatype="html">\n        <source>CephX key must be base64 encoded.</source>\n        <target>La clave de CephX debe tener cifrado base64</target>\n      </trans-unit>\n      <trans-unit id="ca53d681a9892d6fdbb57ee9676582186515e961" datatype="html">\n        <source>Performance counters not available</source>\n        <target>Los contadores de rendimiento no están disponibles</target>\n      </trans-unit>\n      <trans-unit id="9424badb7e0c6ac792d020d7830645b529a80aad" datatype="html">\n        <source>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the Object Gateway management functionality.\n        </source>\n        <target>Please consult the \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>\n  on how to configure and enable the Object Gateway management functionality.\n        </target>\n      </trans-unit>\n      <trans-unit id="479488ab6e91ecb375484edc78bee3d13467f33f" datatype="html">\n        <source>Daemons List</source>\n        <target>Lista de daemons</target>\n      </trans-unit>\n      <trans-unit id="eeba399c4dae8d4890c27b7a2cd2dc28fcf8b5f9" datatype="html">\n        <source>Performance Counters</source>\n        <target>Contadores de rendimiento</target>\n      </trans-unit>\n      <trans-unit id="5f67f2247b9c6bbaf24a0f2d37f4ac0537c6fa53" datatype="html">\n        <source>Loading bucket data...</source>\n        <target>Cargando datos de la papelera...</target>\n      </trans-unit>\n      <trans-unit id="2798cc1e152b1ec07fd8daf94a2a073d1ba1ebcc" datatype="html">\n        <source>Id</source>\n        <target>ID</target>\n      </trans-unit>\n      <trans-unit id="db4e1a734518691b128ef40b939cc673f01d03a6" datatype="html">\n        <source>The value is not valid.</source>\n        <target>El valor no es válido.</target>\n      </trans-unit>\n      <trans-unit id="eabb4db920d9f9b2480cf438468b86e1bea02a9b" datatype="html">\n        <source>The chosen name is already in use.</source>\n        <target>El nombre que ha elegido ya está en uso.</target>\n      </trans-unit>\n      <trans-unit id="0ee5132a8da30e0b7f9f5c70dbc91928d17dd909" datatype="html">\n        <source>Owner</source>\n        <target>Propietario</target>\n      </trans-unit>\n      <trans-unit id="8e4c918357c7445fbf19a203e5f0f0ece1960b3b" datatype="html">\n        <source>-- Select a user --</source>\n        <target>-- Seleccione un usuario --</target>\n      </trans-unit>\n      <trans-unit id="a4aab1f837bc8ec222e4f25922465d1c5929a1fc" datatype="html">\n        <source>Placement target</source>\n        <target>Placement target</target>\n      </trans-unit>\n      <trans-unit id="6bae0a7fc2c9c1fde7d937a8a1a3c7e6825cf7d1" datatype="html">\n        <source>-- Select a placement target --</source>\n        <target>-- Select a placement target --</target>\n      </trans-unit>\n      <trans-unit id="efeade5060b3add63863c24871f0830fb16b7e6d" datatype="html">\n        <source>Versioning</source>\n        <target>Versioning</target>\n      </trans-unit>\n      <trans-unit id="f50a33d3c339f8f4a465141f8caa5d2d8c005251" datatype="html">\n        <source>Enabled</source>\n        <target>Habilitado</target>\n      </trans-unit>\n      <trans-unit id="016d24e069e7d505a090fb8243e5cd43b35dc39b" datatype="html">\n        <source>Enables versioning for the objects in the bucket.</source>\n        <target>Enables versioning for the objects in the bucket.</target>\n      </trans-unit>\n      <trans-unit id="9e6775ffd06878aa145c07359f28557f01ede04f" datatype="html">\n        <source>Multi-Factor Authentication</source>\n        <target>Multi-Factor Authentication</target>\n      </trans-unit>\n      <trans-unit id="29e8a5d4fb767d4ad0c762c81c6264cec4c0ba97" datatype="html">\n        <source>Delete enabled</source>\n        <target>Delete enabled</target>\n      </trans-unit>\n      <trans-unit id="40fbc3ac8c1ea4ecfe62247e91f1f999ad5baf76" datatype="html">\n        <source>Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state.</source>\n        <target>Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state.</target>\n      </trans-unit>\n      <trans-unit id="d24c93a8c13db46defa06ed7b5e026a3edb52b91" datatype="html">\n        <source>Token Serial Number</source>\n        <target>Token Serial Number</target>\n      </trans-unit>\n      <trans-unit id="e6d9536c2af2e5e9a228c3e3e1809dc1fefe0149" datatype="html">\n        <source>Token PIN</source>\n        <target>Token PIN</target>\n      </trans-unit>\n      <trans-unit id="7b84370895ab9eb44672f57146fa05c5947f1c0c" datatype="html">\n        <source>Locking</source>\n        <target>Locking</target>\n      </trans-unit>\n      <trans-unit id="f038d51ab1645f15b0cd58f195c72a7eeebd4729" datatype="html">\n        <source>Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket.</source>\n        <target>Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket.</target>\n      </trans-unit>\n      <trans-unit id="9af1b4baa2dd8ed2bfc3cc756b12a2271c2dd793" datatype="html">\n        <source>Compliance</source>\n        <target>Compliance</target>\n      </trans-unit>\n      <trans-unit id="edd600fa489d1b4a4448dce694ed932e52ce8fda" datatype="html">\n        <source>Governance</source>\n        <target>Governance</target>\n      </trans-unit>\n      <trans-unit id="a5c3d9d2296f7886e8289b9f623323803deacfc6" datatype="html">\n        <source>Days</source>\n        <target>Days</target>\n      </trans-unit>\n      <trans-unit id="218c7d6d318c51e7105309aaeb0baec9d19e4efb" datatype="html">\n        <source>The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</source>\n        <target>The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</target>\n      </trans-unit>\n      <trans-unit id="289b101ec12427b3ca819df9e43cc3b14fae2cc4" datatype="html">\n        <source>The entered value must be a positive integer.</source>\n        <target>The entered value must be a positive integer.</target>\n      </trans-unit>\n      <trans-unit id="def9fc628134d3a044b7c0ad2a83c846bdad56f1" datatype="html">\n        <source>Retention period requires either Days or Years.</source>\n        <target>Retention period requires either Days or Years.</target>\n      </trans-unit>\n      <trans-unit id="003c94fc143882ac8af6251a1595fe62978fe3e6" datatype="html">\n        <source>Years</source>\n        <target>Years</target>\n      </trans-unit>\n      <trans-unit id="14c6189ead0951f13049c7bf9af7642d0c41957a" datatype="html">\n        <source>The number of years that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</source>\n        <target>The number of years that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</target>\n      </trans-unit>\n      <trans-unit id="45cc8ca94b5a50842a9a8ef804a5ab089a38ae5c" datatype="html">\n        <source>ID</source>\n        <target>ID</target>\n      </trans-unit>\n      <trans-unit id="e5c51963a9c553b29427ef783bbb69fa6634fa8c" datatype="html">\n        <source>Index type</source>\n        <target>Tipo de índice</target>\n      </trans-unit>\n      <trans-unit id="8e6f950a32eaea32ec7e192f9ca3d3dfe469d4ba" datatype="html">\n        <source>Placement rule</source>\n        <target>Regla de colocación</target>\n      </trans-unit>\n      <trans-unit id="6972d213e31c4ea4f887e60db99d9881bc8fcd3e" datatype="html">\n        <source>Marker</source>\n        <target>Marcador</target>\n      </trans-unit>\n      <trans-unit id="47b02acd2d3254d1ace1926f840523f154ebef71" datatype="html">\n        <source>Maximum marker</source>\n        <target>Marcador máximo</target>\n      </trans-unit>\n      <trans-unit id="8fe73a4787b8068b2ba61f54ab7e0f9af2ea1fc9" datatype="html">\n        <source>Version</source>\n        <target>Versión</target>\n      </trans-unit>\n      <trans-unit id="092fa3a7df9168b14d3f83a77a4035e92b92ce15" datatype="html">\n        <source>Master version</source>\n        <target>Versión maestra</target>\n      </trans-unit>\n      <trans-unit id="97434cc5001d407f90c7447a12d9e8e6848a2aa3" datatype="html">\n        <source>Modification time</source>\n        <target>Hora de modificación</target>\n      </trans-unit>\n      <trans-unit id="90fe2e41e7fde38453ce4e619efeea9bc6adea9c" datatype="html">\n        <source>Zonegroup</source>\n        <target>Grupo de zona</target>\n      </trans-unit>\n      <trans-unit id="62a923f047ca49e7a4782629e91fea1ba32db68f" datatype="html">\n        <source>MFA Delete</source>\n        <target>MFA Delete</target>\n      </trans-unit>\n      <trans-unit id="649a410bd0ace333d067d8fa22f12bdbdb43533b" datatype="html">\n        <source>Bucket quota</source>\n        <target>Cuota de papelera</target>\n      </trans-unit>\n      <trans-unit id="cef1595d040e77cbb4466e60382028d4c2040cac" datatype="html">\n        <source>Maximum size</source>\n        <target>Tamaño máximo</target>\n      </trans-unit>\n      <trans-unit id="aa6fb95c355f172bda303de1ce2f38c251a149cf" datatype="html">\n        <source>Unlimited</source>\n        <target>Sin límite</target>\n      </trans-unit>\n      <trans-unit id="ee862a800364b4d11f9b8cb9955a28a60f840a45" datatype="html">\n        <source>Maximum objects</source>\n        <target>Número máximo de objetos</target>\n      </trans-unit>\n      <trans-unit id="08c74dc9762957593b91f6eb5d65efdfc975bf48" datatype="html">\n        <source>Username</source>\n        <target>Nombre de usuario</target>\n      </trans-unit>\n      <trans-unit id="49c614babd1950adb2be75df4e2c9747286d6adc" datatype="html">\n        <source>-- Select a username --</source>\n        <target>-- Seleccione un nombre de usuario --</target>\n      </trans-unit>\n      <trans-unit id="c217ee914725a37e9dd2336c721c8e63e9666bdc" datatype="html">\n        <source>Auto-generate key</source>\n        <target>Autogenerar clave</target>\n      </trans-unit>\n      <trans-unit id="2f1c1c0f2bce4c9f92d1a2061e8161cb0006c31a" datatype="html">\n        <source>Access key</source>\n        <target>Clave de acceso</target>\n      </trans-unit>\n      <trans-unit id="b864acb67296a9819c1db0069c4c47d8b5ce8f44" datatype="html">\n        <source>Secret key</source>\n        <target>Clave secreta</target>\n      </trans-unit>\n      <trans-unit id="b760f123248930122fc7e7b6b6bf94e376e959c8" datatype="html">\n        <source>Full name</source>\n        <target>Nombre completo</target>\n      </trans-unit>\n      <trans-unit id="69b6ac577a19acc39fc0c22342092f327fff2529" datatype="html">\n        <source>Email address</source>\n        <target>Dirección de correo electrónico</target>\n      </trans-unit>\n      <trans-unit id="92f3f203270a29b3001871153f02c063484a1574" datatype="html">\n        <source>Suspended</source>\n        <target>Suspendido</target>\n      </trans-unit>\n      <trans-unit id="8011e20c5bbe51602d459a860fbf29b599b55edd" datatype="html">\n        <source>System</source>\n        <target>Sistema</target>\n      </trans-unit>\n      <trans-unit id="db18a2772988415466a7f75dc42663ce78c9c1d3" datatype="html">\n        <source>Maximum buckets</source>\n        <target>Número máximo de papeleras</target>\n      </trans-unit>\n      <trans-unit id="2c4c62e8ba24601be5cfe7dc5d32c24bbbd4b53c" datatype="html">\n        <source>Subusers</source>\n        <target>Subusuarios</target>\n      </trans-unit>\n      <trans-unit id="17bb3082e6fe5003203ef992a3714172334631a1" datatype="html">\n        <source>Capabilities</source>\n        <target>Capacidades</target>\n      </trans-unit>\n      <trans-unit id="36ad38f9c1a1485e09b67778a28af84553290ffb" datatype="html">\n        <source>User quota</source>\n        <target>Cuota de usuario</target>\n      </trans-unit>\n      <trans-unit id="2aba1e87039819aca3b70faa9aa848c12bf139ca" datatype="html">\n        <source>Show</source>\n        <target>Mostrar</target>\n      </trans-unit>\n      <trans-unit id="0bcd5ef19af0f1b814141ca8c57df623d8270088" datatype="html">\n        <source>Keys</source>\n        <target>Claves</target>\n      </trans-unit>\n      <trans-unit id="f61c6867295f3b53d23557021f2f4e0aa1d0b8fc" datatype="html">\n        <source>Type</source>\n        <target>Tipo</target>\n      </trans-unit>\n      <trans-unit id="1221ca97d19eaa9a7bc0c5243d5fc5befe1d2314" datatype="html">\n        <source>-- Select a type --</source>\n        <target>-- Seleccione un tipo --</target>\n      </trans-unit>\n      <trans-unit id="d1b8990332af18f1c5159a6061ca889bcbb28432" datatype="html">\n        <source>Permission</source>\n        <target>Permiso</target>\n      </trans-unit>\n      <trans-unit id="a08c589f82f69d892307288da14190ae1dd583d5" datatype="html">\n        <source>-- Select a permission --</source>\n        <target>-- Seleccione un permiso --</target>\n      </trans-unit>\n      <trans-unit id="b2841767821d6b66238c34d07e413b0af67aee92" datatype="html">\n        <source>Subuser</source>\n        <target>Subusuario</target>\n      </trans-unit>\n      <trans-unit id="bd59fc25a7bd98cff3e75117c09697c8a007a514" datatype="html">\n        <source>The chosen subuser ID is already in use.</source>\n        <target>El ID de subusuario que ha elegido ya está en uso.</target>\n      </trans-unit>\n      <trans-unit id="3d386c357ebcbc04ed05c4babd5a03626f9b1674" datatype="html">\n        <source>read, write</source>\n        <target>lectura, escritura</target>\n      </trans-unit>\n      <trans-unit id="84e3e3f9a4f31a039b648c97debf95fcb20f4c4a" datatype="html">\n        <source>full</source>\n        <target>todos</target>\n      </trans-unit>\n      <trans-unit id="b6bf81d032a2316464f9df2f0d2f3d753f89f0d3" datatype="html">\n        <source>Swift key</source>\n        <target>Clave Swift</target>\n      </trans-unit>\n      <trans-unit id="1e0c12685d50d47448ceed9423977ef39775c037" datatype="html">\n        <source>Auto-generate secret</source>\n        <target>Autogenerar secreto</target>\n      </trans-unit>\n      <trans-unit id="3d1c7a6004bd5d86a7fa096ae24209e8aa7a53e3" datatype="html">\n        <source>Loading user data...</source>\n        <target>Cargando datos del usuario...</target>\n      </trans-unit>\n      <trans-unit id="faa5d834ab28571423d794d32b57998920efb65f" datatype="html">\n        <source>The user data could not be loaded.</source>\n        <target>No es posible cargar los datos del usuario.</target>\n      </trans-unit>\n      <trans-unit id="6aaf5d2a304167272ac73e3b1d1c162e16c77858" datatype="html">\n        <source>The chosen user ID is already in use.</source>\n        <target>El ID de usuario que ha elegido ya está en uso.</target>\n      </trans-unit>\n      <trans-unit id="df441e80db2157f9d272b75de724ba4a82b96b57" datatype="html">\n        <source>This is not a valid email address.</source>\n        <target>Esta dirección no es válida.</target>\n      </trans-unit>\n      <trans-unit id="ca271adf154956b8fcb28f4f50a37acb3057ff7c" datatype="html">\n        <source>The chosen email address is already in use.</source>\n        <target>La dirección de correo electrónico que ha elegido ya está en uso.</target>\n      </trans-unit>\n      <trans-unit id="030197cebe938edf35422e92fe14183d06eb670b" datatype="html">\n        <source>Max. buckets</source>\n        <target>Máx. papeleras</target>\n      </trans-unit>\n      <trans-unit id="f39256070bfc0714020dfee08895421fc1527014" datatype="html">\n        <source>Disabled</source>\n        <target>Inhabilitado</target>\n      </trans-unit>\n      <trans-unit id="a5c05002b0ac2040f1aede5e727e0ffd06eda819" datatype="html">\n        <source>Custom</source>\n        <target>Personalizar</target>\n      </trans-unit>\n      <trans-unit id="28872515cb81d197a3a1733fa546d3e0f0dd6c67" datatype="html">\n        <source>The entered value must be &gt;= 1.</source>\n        <target>The entered value must be &gt;= 1.</target>\n      </trans-unit>\n      <trans-unit id="583a219c524155c2314eb06ee29162bb315272a3" datatype="html">\n        <source>S3 key</source>\n        <target>Clave S3</target>\n      </trans-unit>\n      <trans-unit id="128d6efb51d9ddc7c0cc695a2deeca5b9523f6e4" datatype="html">\n        <source>There are no subusers.</source>\n        <target>No hay ningún subusuario.</target>\n      </trans-unit>\n      <trans-unit id="7fd6dfb8ecb982dbc3affb2c2d5414c4f5b6abd2" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ subuserLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ subuserLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="67c746c1ba9dab4351fedc4c7cba4e6d6b0dbc47" datatype="html">\n        <source>S3</source>\n        <target>S3</target>\n      </trans-unit>\n      <trans-unit id="d6819038d608623503918fb2553f53d68231ec3a" datatype="html">\n        <source>There are no keys.</source>\n        <target>No hay ninguna clave.</target>\n      </trans-unit>\n      <trans-unit id="fc1c1a7140ff6b815a95b65ee2780fdbe1b2b7a1" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ s3keyLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.CREATE | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ s3keyLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="6ddb5e991a3ecd2659fb520bc5acc81b67e08ddd" datatype="html">\n        <source>Swift</source>\n        <target>Swift</target>\n      </trans-unit>\n      <trans-unit id="1d01eccdda47fc907c5be35bcb16d2dcd02b0270" datatype="html">\n        <source>There are no capabilities.</source>\n        <target>No hay ninguna capacidad</target>\n      </trans-unit>\n      <trans-unit id="043e2ec0036ceadd926fd5e3f93cd6f3565f3648" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.ADD | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{ actionLabels.ADD | titlecase }}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="f5a451c4ea65a4046f0b49d489a7013abf0b5861" datatype="html">\n        <source>All capabilities are already added.</source>\n        <target>All capabilities are already added.</target>\n      </trans-unit>\n      <trans-unit id="6146e13ceca5fa5cc17b771b282fe5955f3d19fa" datatype="html">\n        <source>Unlimited size</source>\n        <target>Tamaño ilimitado</target>\n      </trans-unit>\n      <trans-unit id="f6db8aa7c99fdce18edb33dde57729acede2b308" datatype="html">\n        <source>Max. size</source>\n        <target>Tamaño máx.</target>\n      </trans-unit>\n      <trans-unit id="fc630b2093e880fffa19df99d5cd8b87605037f8" datatype="html">\n        <source>Unlimited objects</source>\n        <target>Objetos ilimitados</target>\n      </trans-unit>\n      <trans-unit id="6cda5a993d06f0bb10048be9d3aba6555aa9f356" datatype="html">\n        <source>Max. objects</source>\n        <target>Objetos máx.</target>\n      </trans-unit>\n      <trans-unit id="623ac50f37a26caec6fd7cd519b653e3315cba25" datatype="html">\n        <source>The entered value must be &gt;= 0.</source>\n        <target>El valor introducido debe ser mayor o igual que 0.</target>\n      </trans-unit>\n      <trans-unit id="1ea5c4d8942c00752dcc72e72949c5d9832f6399" datatype="html">\n        <source>Description...</source>\n        <target>Descripción...</target>\n      </trans-unit>\n      <trans-unit id="70f45880fce6ac5d8e468e25e82aefbba8098cfe" datatype="html">\n        <source>Permissions</source>\n        <target>Permisos</target>\n      </trans-unit>\n      <trans-unit id="9610487cbeb5796d34d8601b5ac0c0a65f9e1d19" datatype="html">\n        <source>Roles</source>\n        <target>Funciones</target>\n      </trans-unit>\n      <trans-unit id="7f3bdcce4b2e8c37cd7f0f6c92ef8cff34b039b8" datatype="html">\n        <source>Confirm password</source>\n        <target>Confirmar contraseña</target>\n      </trans-unit>\n      <trans-unit id="cbb979e63ba50e0ca3adfa09cbdcaefd0853fca1" datatype="html">\n        <source>Password confirmation doesn\'t match the password.</source>\n        <target>Las contraseñas no coinciden.</target>\n      </trans-unit>\n      <trans-unit id="96621f9ed2e4ae5204564e583d2c816bedead571" datatype="html">\n        <source>Password expiration date</source>\n        <target>Password expiration date</target>\n      </trans-unit>\n      <trans-unit id="48932db3801fe9d5d72a60a3e656bffd17c1c5d9" datatype="html">\n        <source>Password expiration date...</source>\n        <target>Password expiration date...</target>\n      </trans-unit>\n      <trans-unit id="244aae9346da82b0922506c2d2581373a15641cc" datatype="html">\n        <source>Email</source>\n        <target>Correo electrónico</target>\n      </trans-unit>\n      <trans-unit id="d0ec081dd61eb4f43aea269077bbe38eae87b7f9" datatype="html">\n        <source>Invalid email.</source>\n        <target>Correo electrónico no válido.</target>\n      </trans-unit>\n      <trans-unit id="8913c216dd506e20e412e144381d8d2a65a84359" datatype="html">\n        <source>User must change password at next logon</source>\n        <target>User must change password at next logon</target>\n      </trans-unit>\n      <trans-unit id="0051a3479d3ba79135c16dc8cc017950a2cce821" datatype="html">\n        <source>You are about to remove "user read / update" permissions from your own user.</source>\n        <target>Se dispone a eliminar los permisos "lectura/actualización de usuario" de su propio usuario.</target>\n      </trans-unit>\n      <trans-unit id="af4bf9fcb256853f14cf947eb1deb8d7f176d3f9" datatype="html">\n        <source>If you continue, you will no longer be able to add or remove roles from any user.</source>\n        <target>Si continúa, no podrá añadir ni eliminar funciones en ningún usuario.</target>\n      </trans-unit>\n      <trans-unit id="7d1dcf2a9146caac0581329acf94806ec69a89a5" datatype="html">\n        <source>Are you sure you want to continue?</source>\n        <target>¿Seguro que desea continuar?</target>\n      </trans-unit>\n      <trans-unit id="85b79c9064aed1ead31ace985f31aa1363f6bdaf" datatype="html">\n        <source>Help</source>\n        <target>Ayuda</target>\n      </trans-unit>\n      <trans-unit id="fcfd4675b4c90f08d18d3abede9a9a4dff4cfdc7" datatype="html">\n        <source>Documentation</source>\n        <target>Documentación</target>\n      </trans-unit>\n      <trans-unit id="e351b40b3869a5c7d19c3d4918cb1ac7aaab95c4" datatype="html">\n        <source>API</source>\n        <target>API</target>\n      </trans-unit>\n      <trans-unit id="004b222ff9ef9dd4771b777950ca1d0e4cd4348a" datatype="html">\n        <source>About</source>\n        <target>Acerca de</target>\n      </trans-unit>\n      <trans-unit id="1481ecd21e760ac919a24e26cf790acd82e40199" datatype="html">\n        <source>Dashboard Settings</source>\n        <target>Ajustes de la consola</target>\n      </trans-unit>\n      <trans-unit id="a79aab4ef674bf3f6532292107c0054302236e0f" datatype="html">\n        <source>User management</source>\n        <target>Gestión del usuario</target>\n      </trans-unit>\n      <trans-unit id="049dfd9fe6c78914ad58cf89ac6a631fca28ec74" datatype="html">\n        <source>Logged in user</source>\n        <target>Usuario que ha entrado</target>\n      </trans-unit>\n      <trans-unit id="cd38a58e73f306d838e621959d47d5e7a2f06d1f" datatype="html">\n        <source>Signed in as\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ username }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>\n        </source>\n        <target>Signed in as\n          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>\n          <x id="INTERPOLATION" equiv-text="{{ username }}"/>\n          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="739516c2ca75843d5aec9cf0e6b3e4335c4227b9" datatype="html">\n        <source>Change password</source>\n        <target>Change password</target>\n      </trans-unit>\n      <trans-unit id="5d22c795daf43877a5f708dca2bccd549eb0471d" datatype="html">\n        <source>Sign out</source>\n        <target>Salir</target>\n      </trans-unit>\n      <trans-unit id="91853167141c37b58868f3b0421383dd72fa8a01" datatype="html">\n        <source>Attributes (OSD map)</source>\n        <target>Atributos (mapa de OSD)</target>\n      </trans-unit>\n      <trans-unit id="97842f379e1d4157ac3ab0661b90c352e7cb72d5" datatype="html">\n        <source>Metadata not available</source>\n        <target>Los metadatos no están disponibles</target>\n      </trans-unit>\n      <trans-unit id="f721a500a68c357e8f2a01e60510f6a01e4ba529" datatype="html">\n        <source>Metadata</source>\n        <target>Metadatos</target>\n      </trans-unit>\n      <trans-unit id="deba10b7279a589d01e919ea11f43c79ca1773e3" datatype="html">\n        <source>Device health</source>\n        <target>Device health</target>\n      </trans-unit>\n      <trans-unit id="d24e28e19c5703d7c6be44f4eb595a6a43b618ed" datatype="html">\n        <source>Performance counter</source>\n        <target>Contandor de rendimiento</target>\n      </trans-unit>\n      <trans-unit id="d1f7c81ed9c5034af4abcdf119b1c1e86cd019dd" datatype="html">\n        <source>Histogram not available: \n          <x id="INTERPOLATION" equiv-text="{{ osd.histogram_failed }}"/>\n        </source>\n        <target>Histogram not available: \n          <x id="INTERPOLATION" equiv-text="{{ osd.histogram_failed }}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="868abfff914873d1c65df798d8432ed04b8ae2a9" datatype="html">\n        <source>Writes</source>\n        <target>Escrituras</target>\n      </trans-unit>\n      <trans-unit id="996ebb9a653b5067f97bf3891ea9d2108e969492" datatype="html">\n        <source>Reads</source>\n        <target>Lecturas</target>\n      </trans-unit>\n      <trans-unit id="65ac79790aa477a97b1cc579e18a115a8df8918f" datatype="html">\n        <source>Histogram</source>\n        <target>Histograma</target>\n      </trans-unit>\n      <trans-unit id="3d87fc20ea8e5f0f0500ba5d5061b345be78ec5e" datatype="html">\n        <source>No hostname found.</source>\n        <target>No hostname found.</target>\n      </trans-unit>\n      <trans-unit id="26fb5f81b3581f06b9210defb0e71dc69a67e819" datatype="html">\n        <source>Current values</source>\n        <target>Valores actuales</target>\n      </trans-unit>\n      <trans-unit id="9abcd7c82643d60c22733470463f74e4a54bc069" datatype="html">\n        <source>Min</source>\n        <target>Mín.</target>\n      </trans-unit>\n      <trans-unit id="c3ced4d162a0a55ee233a187ce7208ba5e922418" datatype="html">\n        <source>Max</source>\n        <target>Máx.</target>\n      </trans-unit>\n      <trans-unit id="6834fa6b43d1ecbdf147c48dd9c4d72f1484571d" datatype="html">\n        <source>Source</source>\n        <target>Origen</target>\n      </trans-unit>\n      <trans-unit id="a446fb0eb11fbffcac805ece5a2d306d24e733d8" datatype="html">\n        <source>Level</source>\n        <target>Nivel</target>\n      </trans-unit>\n      <trans-unit id="39f2fb094e9b2eda13163fa3f3a31594cf9c1307" datatype="html">\n        <source>Can be updated at runtime (editable)</source>\n        <target>Se puede actualizar en el tiempo de ejecución (editable)</target>\n      </trans-unit>\n      <trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b" datatype="html">\n        <source>Tags</source>\n        <target>Etiquetas</target>\n      </trans-unit>\n      <trans-unit id="ab0089ef47af61ca1d137bc908b96c290dfd9287" datatype="html">\n        <source>Enum values</source>\n        <target>Valores Enum</target>\n      </trans-unit>\n      <trans-unit id="819476f1264f1659f38e86f6abb542141b184832" datatype="html">\n        <source>See also</source>\n        <target>Véase también</target>\n      </trans-unit>\n      <trans-unit id="73caac4265ea7314ff061e5a1d78a6361a6dd3b8" datatype="html">\n        <source>Cluster Status</source>\n        <target>Estado del clúster</target>\n      </trans-unit>\n      <trans-unit id="1d4bc612bbf19aa9553853266b9e92c9d75f4464" datatype="html">\n        <source>Manager Daemons</source>\n        <target>Daemons de gestor</target>\n      </trans-unit>\n      <trans-unit id="946ac5dea9921dc09d7b0a63b89535371f283b19" datatype="html">\n        <source>Object Gateways</source>\n        <target>Instancias de Object Gateway</target>\n      </trans-unit>\n      <trans-unit id="ff03fa5bcf37c4da46ad736c1f7d03f959e8ba9a" datatype="html">\n        <source>Metadata Servers</source>\n        <target>Servidores de metadatos</target>\n      </trans-unit>\n      <trans-unit id="d817609ba4993eba859409ab71e566168f4d5f5a" datatype="html">\n        <source>iSCSI Gateways</source>\n        <target>Puertas de enlace iSCSI</target>\n      </trans-unit>\n      <trans-unit id="42c13e50391250ea9379bdf55d5d6c0228c0c8bc" datatype="html">\n        <source>Client IOPS</source>\n        <target>IOPS de cliente</target>\n      </trans-unit>\n      <trans-unit id="52213660b2454d139ada3079a42ec6caf3c3c01e" datatype="html">\n        <source>Client Throughput</source>\n        <target>Rendimiento del cliente</target>\n      </trans-unit>\n      <trans-unit id="32efd1c3f70e3c5244239de97a2cc95d98534a14" datatype="html">\n        <source>Client Read/Write</source>\n        <target>Lectura/escritura de cliente</target>\n      </trans-unit>\n      <trans-unit id="275485415092cbae3a9f3cbb786ebe283cacfdd5" datatype="html">\n        <source>Recovery Throughput</source>\n        <target>Rendimiento de recuperación</target>\n      </trans-unit>\n      <trans-unit id="6d9a9f55046891733ef71170e7652063765eb542" datatype="html">\n        <source>Scrub</source>\n        <target>Depuración</target>\n      </trans-unit>\n      <trans-unit id="3cc9c2ae277393b3946b38c088dabff671b1ee1b" datatype="html">\n        <source>Performance</source>\n        <target>Rendimiento</target>\n      </trans-unit>\n      <trans-unit id="88f383269db2d32cccee9e936fe549dccb9fdbf4" datatype="html">\n        <source>Raw Capacity</source>\n        <target>Capacidad en bruto</target>\n      </trans-unit>\n      <trans-unit id="c5f8a813f91a11af99132e4beafc136cfc13d73b" datatype="html">\n        <source>PGs per OSD</source>\n        <target>Grupos de colocación por OSD</target>\n      </trans-unit>\n      <trans-unit id="498a109c6e9e94f1966de01aa0326f7f0ac6fb52" datatype="html">\n        <source>PG Status</source>\n        <target>Estado del grupo de colocación</target>\n      </trans-unit>\n      <trans-unit id="ce9dfdc6dccb28dc75a78c704e09dc18fb02dcfa" datatype="html">\n        <source>Capacity</source>\n        <target>Capacidad</target>\n      </trans-unit>\n      <trans-unit id="44ecac93d67c6a671198091c2270354f80322327" datatype="html">\n        <source>\n          <x id="START_ITALIC_TEXT" ctype="x-i" equiv-text="<i>"/>\n          <x id="CLOSE_ITALIC_TEXT" ctype="x-i" equiv-text="</i>"/> See \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Logs\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more details.\n        </source>\n        <target>\n          <x id="START_ITALIC_TEXT" ctype="x-i" equiv-text="<i>"/>\n          <x id="CLOSE_ITALIC_TEXT" ctype="x-i" equiv-text="</i>"/> See \n          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Logs\n          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more details.\n        </target>\n      </trans-unit>\n      <trans-unit id="0c1e17956453ad772dbe82d6946f62748c692f3e" datatype="html">\n        <source>Ranks</source>\n        <target>Clasificaciones</target>\n      </trans-unit>\n      <trans-unit id="2b24e0b0b1629d2e8a51b9da7c75d6e6379f4bc4" datatype="html">\n        <source>Standbys</source>\n        <target>Standbys</target>\n      </trans-unit>\n      <trans-unit id="50df62325726db950523a5be1c78b8905fcc25d4" datatype="html">\n        <source>MDS performance counters</source>\n        <target>MDS performance counters</target>\n      </trans-unit>\n      <trans-unit id="6e213942c6354b9cbe7a650f0f1499bfc1000fb6" datatype="html">\n        <source>Directories</source>\n        <target>Directories</target>\n      </trans-unit>\n      <trans-unit id="47116253e36f4e38a97ba41b2d3122c6c15ab904" datatype="html">\n        <source>Clients (\n          <x id="INTERPOLATION" equiv-text="{{ clients.length }}"/>)\n        </source>\n        <target>Clients (\n          <x id="INTERPOLATION" equiv-text="{{ clients.length }}"/>)\n        </target>\n      </trans-unit>\n      <trans-unit id="bd5a3b1c5a3c185c7bbb0e09a061d4cdc88ce5ad" datatype="html">\n        <source>Current</source>\n        <target>Actual</target>\n      </trans-unit>\n      <trans-unit id="e5e7d62e942083a59b0b31f54e17cd7958186052" datatype="html">\n        <source>Updated discovery authentication</source>\n        <target>Autenticación de descubrimiento actualizada</target>\n      </trans-unit>\n      <trans-unit id="dd4ab758afd5fd5a6c6a25b2b30ff99d0c00e9ad" datatype="html">\n        <source>There are no portals available.</source>\n        <target>No hay ningún portal disponible.</target>\n      </trans-unit>\n      <trans-unit id="83021e45778a4a230a14ca0c6d6ccdf05500ad93" datatype="html">\n        <source>There are no images available.</source>\n        <target>No hay ninguna imagen disponible.</target>\n      </trans-unit>\n      <trans-unit id="86684eb21f8a768e1dbc659e3d5da6861db544a0" datatype="html">\n        <source>There are no images available. Please make sure you add an image to the target.</source>\n        <target>No hay ninguna imagen disponible. Asegúrese de añadir una imagen al destino.</target>\n      </trans-unit>\n      <trans-unit id="fffda6e440078f57eba93944ce051c593cc6ed7f" datatype="html">\n        <source>There are no initiators available. Please make sure you add an initiator to the target.</source>\n        <target>No hay ningún iniciador disponible. Asegúrese de añadir un iniciador al destino.</target>\n      </trans-unit>\n      <trans-unit id="cea3c6fe490385eef1584cbc4983fda7ece24bb6" datatype="html">\n        <source>target</source>\n        <target>target</target>\n      </trans-unit>\n      <trans-unit id="38baeb215c17af9d9e295e371a57f4a48ab4c191" datatype="html">\n        <source>Target</source>\n        <target>Destino</target>\n      </trans-unit>\n      <trans-unit id="99e094878070eebc1b972bac02aaa33b2bf83b35" datatype="html">\n        <source># Sessions</source>\n        <target># Sessions</target>\n      </trans-unit>\n      <trans-unit id="2ea10b3668e04e057ba96ddcaf4c9b77089008ae" datatype="html">\n        <source>Unavailable gateway(s)</source>\n        <target>Unavailable gateway(s)</target>\n      </trans-unit>\n      <trans-unit id="c49e0dd71d551bd4928d967d78f0721dbf9f95e3" datatype="html">\n        <source>Target has active sessions</source>\n        <target>Target has active sessions</target>\n      </trans-unit>\n      <trans-unit id="a87acd72dfb68b45175270695209550a85adf50c" datatype="html">\n        <source>iSCSI target</source>\n        <target>iSCSI target</target>\n      </trans-unit>\n      <trans-unit id="873b72903b1858a9cd6c8967521030b4d7d1435b" datatype="html">\n        <source>State</source>\n        <target>Estado</target>\n      </trans-unit>\n      <trans-unit id="02b75464c0dc0cf49ea0208211b6fbcad3bf728a" datatype="html">\n        <source># Targets</source>\n        <target># Targets</target>\n      </trans-unit>\n      <trans-unit id="13415637c325ceefee29111b31cb48701490adf7" datatype="html">\n        <source>Read Bytes</source>\n        <target>Bytes de lectura</target>\n      </trans-unit>\n      <trans-unit id="e2ed82b7bbf4a006e60e6208c597b05d5b5556e9" datatype="html">\n        <source>Write Bytes</source>\n        <target>Bytes de escritura</target>\n      </trans-unit>\n      <trans-unit id="6a32a5f58845ca840185ea9564682094e77a1d80" datatype="html">\n        <source>Read Ops</source>\n        <target>Operaciones de lectura</target>\n      </trans-unit>\n      <trans-unit id="7c36cb8032af123d3550ffab2e1fa1e957c87fae" datatype="html">\n        <source>Write Ops</source>\n        <target>Operaciones de escritura</target>\n      </trans-unit>\n      <trans-unit id="458c33846a8c7e2feb9404bcf06723784e756cdc" datatype="html">\n        <source>A/O Since</source>\n        <target>A/O desde</target>\n      </trans-unit>\n      <trans-unit id="ff78f059449d44322f627d0f66df07abe476962b" datatype="html">\n        <source>Instance</source>\n        <target>Instancia</target>\n      </trans-unit>\n      <trans-unit id="36fad7995cadfb3a6f0d43ef2db280146b3ca022" datatype="html">\n        <source>Issue</source>\n        <target>Problema</target>\n      </trans-unit>\n      <trans-unit id="15793f4cbc261bedbc60f7105533dde536a3f42b" datatype="html">\n        <source>Progress</source>\n        <target>Progreso</target>\n      </trans-unit>\n      <trans-unit id="25b725dba712a7a020fd34a72297befae975a492" datatype="html">\n        <source>Edit Site Name</source>\n        <target>Edit Site Name</target>\n      </trans-unit>\n      <trans-unit id="8c375764db42f5d736fb56d01b8052c006ccc8e2" datatype="html">\n        <source>Edit Mode</source>\n        <target>Editar modo</target>\n      </trans-unit>\n      <trans-unit id="45932f2a0ea524b3425f4320ee46a6d1c68977bc" datatype="html">\n        <source>Add Peer</source>\n        <target>Añadir par</target>\n      </trans-unit>\n      <trans-unit id="d3dc34662e3cda0dad646221651cebd26f731485" datatype="html">\n        <source>Edit Peer</source>\n        <target>Editar par</target>\n      </trans-unit>\n      <trans-unit id="e8a0ec0b6ee72db0f27c186e09640d1ed41964bd" datatype="html">\n        <source>Delete Peer</source>\n        <target>Suprimir par</target>\n      </trans-unit>\n      <trans-unit id="314de06d6f64d39149e78e6d796585c0246fec0b" datatype="html">\n        <source>Leader</source>\n        <target>Líder</target>\n      </trans-unit>\n      <trans-unit id="7acaab450312114059ced9e3737798ee9aa738b1" datatype="html">\n        <source># Local</source>\n        <target>N.º locales</target>\n      </trans-unit>\n      <trans-unit id="7a3ffd88868135c44be3994263bb8e49d8358884" datatype="html">\n        <source># Remote</source>\n        <target>N.º remotos</target>\n      </trans-unit>\n      <trans-unit id="85ca0fd6a6ddd211023c70a25753122c5b978787" datatype="html">\n        <source>mirror peer</source>\n        <target>duplicar par</target>\n      </trans-unit>\n      <trans-unit id="a6493c6ca346cd052da40423eda9c132de2b2002" datatype="html">\n        <source>Key</source>\n        <target>Clave</target>\n      </trans-unit>\n      <trans-unit id="e9cac80fb5d9de66f0006d0bec530fd1fc69a674" datatype="html">\n        <source>RBD</source>\n        <target>RBD</target>\n      </trans-unit>\n      <trans-unit id="4130b1a836f2000cfe9a11fb62493dc42d444de7" datatype="html">\n        <source>Deep flatten</source>\n        <target>Aplanamiento profundo</target>\n      </trans-unit>\n      <trans-unit id="7b17694d7cb8ecb7c8440bc999dac21b44455b33" datatype="html">\n        <source>Layering</source>\n        <target>En capas</target>\n      </trans-unit>\n      <trans-unit id="6a072ce577c2079d0e0c31071a16824f6d22b84d" datatype="html">\n        <source>Exclusive lock</source>\n        <target>Bloqueo exclusivo</target>\n      </trans-unit>\n      <trans-unit id="7354f01320bf936a7f85577c9f71402635c3a362" datatype="html">\n        <source>Object map (requires exclusive-lock)</source>\n        <target>Mapa de objetos (requiere bloqueo exclusivo)</target>\n      </trans-unit>\n      <trans-unit id="fb7e625c1152f1c102cd16460955d124edff1770" datatype="html">\n        <source>Journaling (requires exclusive-lock)</source>\n        <target>En diario (requiere bloqueo exclusivo)</target>\n      </trans-unit>\n      <trans-unit id="df4044632bfc211dd96544fc8f007dabbeeb506c" datatype="html">\n        <source>Fast diff (interlocked with object-map)</source>\n        <target>Fast diff (interlocked with object-map)</target>\n      </trans-unit>\n      <trans-unit id="130fd872c78271a8f86b1ab16a76e823969c47d9" datatype="html">\n        <source>Namespace</source>\n        <target>Namespace</target>\n      </trans-unit>\n      <trans-unit id="14abc99daed542774633046c53b6ce8251331141" datatype="html">\n        <source>This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.</source>\n        <target>This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.</target>\n      </trans-unit>\n      <trans-unit id="51699f716cf34e6622ff7bfd84641480c045271a" datatype="html">\n        <source>Created namespace \'\n          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>\'\n        </source>\n        <target>Created namespace \'\n          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="bf44b7d6379ce0198ed3d95a27642a224181bf1d" datatype="html">\n        <source>Total images</source>\n        <target>Total images</target>\n      </trans-unit>\n      <trans-unit id="371ce3ffe62548d15e391a248bc554d903bb03fc" datatype="html">\n        <source>Deleted namespace \'\n          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>\'\n        </source>\n        <target>Deleted namespace \'\n          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/\n          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="9d704fd00ca929f90c3119cefc581821ae58a73e" datatype="html">\n        <source>Namespace contains images</source>\n        <target>Namespace contains images</target>\n      </trans-unit>\n      <trans-unit id="c2017dc94b4f57a347ccb126e546e88942f4d7a6" datatype="html">\n        <source>RBD Snapshot</source>\n        <target>RBD Snapshot</target>\n      </trans-unit>\n      <trans-unit id="631fc50ec7c9bd81dc797a3c7e09eda1178ad999" datatype="html">\n        <source>Parent image must support Layering</source>\n        <target>Parent image must support Layering</target>\n      </trans-unit>\n      <trans-unit id="cb60c1cd3655234756b5b92d4d597d92d520ee30" datatype="html">\n        <source>PROTECTED</source>\n        <target>PROTECTED</target>\n      </trans-unit>\n      <trans-unit id="deffb86b8fb0541254ad5a43862d82bff6b6a6c4" datatype="html">\n        <source>UNPROTECTED</source>\n        <target>SIN PROTECCIÓN</target>\n      </trans-unit>\n      <trans-unit id="7eb984588f4835f6d0187b33769b4b0f62821640" datatype="html">\n        <source>RBD snapshot rollback</source>\n        <target>Reversión de instantánea RBD</target>\n      </trans-unit>\n      <trans-unit id="4be22bf20ef82614ed53bcd3b912a85590aa71c9" datatype="html">\n        <source>Rollback</source>\n        <target>Revertir</target>\n      </trans-unit>\n      <trans-unit id="2a04c483708d261751d62082d6f03a50d4577b1e" datatype="html">\n        <source>RBD snapshot</source>\n        <target>Instantánea RBD</target>\n      </trans-unit>\n      <trans-unit id="fa96769d1ea86741297cb9b9769b0dcfde58c8b4" datatype="html">\n        <source>Deleted At</source>\n        <target>Suprimido a las</target>\n      </trans-unit>\n      <trans-unit id="e928864038ca70ee7d67bbf1fd71a01c3938a127" datatype="html">\n        <source>id</source>\n        <target>ID</target>\n      </trans-unit>\n      <trans-unit id="240c9c1e96dc38814922a83ad041dc815b084f32" datatype="html">\n        <source>type</source>\n        <target>tipo</target>\n      </trans-unit>\n      <trans-unit id="c9d7ec7ee5b4e282f2228fa996651ec4ef5195a9" datatype="html">\n        <source>state</source>\n        <target>estado</target>\n      </trans-unit>\n      <trans-unit id="5780e5c3b4fc2ae07836bb5221cec4f8d597630d" datatype="html">\n        <source>version</source>\n        <target>versión</target>\n      </trans-unit>\n      <trans-unit id="fe22ca53e651df951dac25b67c17894b0980f767" datatype="html">\n        <source>Host</source>\n        <target>Host</target>\n      </trans-unit>\n      <trans-unit id="fb69299354312c8954ecf324997ccafcd9f6b14b" datatype="html">\n        <source>root</source>\n        <target>raíz</target>\n      </trans-unit>\n      <trans-unit id="d34feb369d308075b423d5c5fc431f9766bf7a11" datatype="html">\n        <source>Evicted client "\n          <x id="INTERPOLATION" equiv-text="{{clientId}}"/>"\n        </source>\n        <target>Evicted client "\n          <x id="INTERPOLATION" equiv-text="{{clientId}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="7db875ff4cc626d394f37fba95c075b2e4bfeb00" datatype="html">\n        <source>Standby daemons</source>\n        <target>Daemons de reserva</target>\n      </trans-unit>\n      <trans-unit id="3c3a423d91e36ac6624e909fcd2669a25685f847" datatype="html">\n        <source>Rank</source>\n        <target>Clasificación</target>\n      </trans-unit>\n      <trans-unit id="9596ecae8956e96921acef47aec787f6bdc37454" datatype="html">\n        <source>Daemon</source>\n        <target>Daemon</target>\n      </trans-unit>\n      <trans-unit id="f2005fa461c06dc2e04d8918bbabedf23604b5b7" datatype="html">\n        <source>Activity</source>\n        <target>Actividad</target>\n      </trans-unit>\n      <trans-unit id="e3a986984ae0c3b43af648c3fa638649d1c00348" datatype="html">\n        <source>Dentries</source>\n        <target>Dentries</target>\n      </trans-unit>\n      <trans-unit id="7c692ab865066967d73c6d64ec0691cc6ce91b93" datatype="html">\n        <source>Inodes</source>\n        <target>Inodos</target>\n      </trans-unit>\n      <trans-unit id="45f210b96a2a6e91f52f153a4f8dc30662629f8e" datatype="html">\n        <source>Usage</source>\n        <target>Uso</target>\n      </trans-unit>\n      <trans-unit id="950b5f04a2efd3f11c0f76418d5a4212381e792e" datatype="html">\n        <source>Origin</source>\n        <target>Origin</target>\n      </trans-unit>\n      <trans-unit id="2ea2ec95d93fd55d0db6e9d2b95b25e153d4cec2" datatype="html">\n        <source>Max size</source>\n        <target>Max size</target>\n      </trans-unit>\n      <trans-unit id="665dced3a61bca44924a0bde4be47390225a4898" datatype="html">\n        <source>Max files</source>\n        <target>Max files</target>\n      </trans-unit>\n      <trans-unit id="0ccf776baac60794b142526986f3af85848c7059" datatype="html">\n        <source>The inherited \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/> is the maximum value to be used.\n        </source>\n        <target>The inherited \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/> is the maximum value to be used.\n        </target>\n      </trans-unit>\n      <trans-unit id="b0e2ef28384f2de6674cac300c779f900929a89b" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{action}}"/> CephFS \n          <x id="INTERPOLATION_1" equiv-text="{{quotaName}}"/> quota for \'\n          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>\'\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{action}}"/> CephFS \n          <x id="INTERPOLATION_1" equiv-text="{{quotaName}}"/> quota for \'\n          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="542ef638499635dec7641bdc2e499258094187cc" datatype="html">\n        <source>size</source>\n        <target>size</target>\n      </trans-unit>\n      <trans-unit id="ce90ff00c341d8eef96b0e7956bb85b8faba3839" datatype="html">\n        <source>files</source>\n        <target>files</target>\n      </trans-unit>\n      <trans-unit id="fbe8b9340c08c24aef62ffe81c83e2b46a4f1495" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{quotaName}}"/> quota \n          <x id="INTERPOLATION_1" equiv-text="{{value}}"/> from \'\n          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>\'\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{quotaName}}"/> quota \n          <x id="INTERPOLATION_1" equiv-text="{{value}}"/> from \'\n          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="37c2c0a4a356465eef2edfb09ffffc6db5259975" datatype="html">\n        <source>Value has to be at least \n          <x id="INTERPOLATION" equiv-text="{{value}}"/> or more\n        </source>\n        <target>Value has to be at least \n          <x id="INTERPOLATION" equiv-text="{{value}}"/> or more\n        </target>\n      </trans-unit>\n      <trans-unit id="73f8e64703a707e2cf98b9a10653cd3bbdd8cab1" datatype="html">\n        <source>Value has to be at most \n          <x id="INTERPOLATION" equiv-text="{{value}}"/> or less\n        </source>\n        <target>Value has to be at most \n          <x id="INTERPOLATION" equiv-text="{{value}}"/> or less\n        </target>\n      </trans-unit>\n      <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc" datatype="html">\n        <source>Updated</source>\n        <target>Actualizado</target>\n      </trans-unit>\n      <trans-unit id="b6a4cf4f302c7fcbec199ce0df42b8282d682b04" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{action}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{quotaValue}}"/>\n          <x id="INTERPOLATION_2" equiv-text="{{conclusion}}"/>.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{action}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{quotaValue}}"/>\n          <x id="INTERPOLATION_2" equiv-text="{{conclusion}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="a40024afb071f68fec949094a71f832d5611bca5" datatype="html">\n        <source>in order to inherit \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>\n        </source>\n        <target>in order to inherit \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="c108ff588291e9c040adea2adf35e7236cf29925" datatype="html">\n        <source>which isn\'t used because of the inheritance of \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>\n        </source>\n        <target>which isn\'t used because of the inheritance of \n          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="d3785a64d1c72b03b2212855ce695b45ed0342d2" datatype="html">\n        <source>in order to have no quota on the directory</source>\n        <target>in order to have no quota on the directory</target>\n      </trans-unit>\n      <trans-unit id="c4d3a3446a7f36825291c5e76c4a6b7919f9bd2f" datatype="html">\n        <source>Create Snapshot</source>\n        <target>Create Snapshot</target>\n      </trans-unit>\n      <trans-unit id="e9af734e231b837d64df21008e2eb1fdff566a61" datatype="html">\n        <source>Please enter the name of the snapshot.</source>\n        <target>Please enter the name of the snapshot.</target>\n      </trans-unit>\n      <trans-unit id="8c4d3039e6a953b0d6f1b1313ffa60c5d2b35dc7" datatype="html">\n        <source>Created snapshot "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "\n          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"\n        </source>\n        <target>Created snapshot "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "\n          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="126ad894f74ee9a999825f3f4ac5a31fdfc093bf" datatype="html">\n        <source>CephFs Snapshot</source>\n        <target>CephFs Snapshot</target>\n      </trans-unit>\n      <trans-unit id="1e4d1c0865adc485260740c42ac5af68ce8feb13" datatype="html">\n        <source>Deleted snapshot "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "\n          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"\n        </source>\n        <target>Deleted snapshot "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "\n          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="22e4e574b7f8abf58254f328792445b42e2a924a" datatype="html">\n        <source>The value can be updated at runtime.</source>\n        <target>El valor se puede actualizar en el tiempo de ejecución.</target>\n      </trans-unit>\n      <trans-unit id="d7770de7b2343c9deeaa7ebf37ba3e35ca5c5988" datatype="html">\n        <source>Daemons/clients do not pull this value from the\n      monitor config database. We disallow setting this option via \'ceph config\n      set ...\'. This option should be configured via ceph.conf or via the\n      command line.</source>\n        <target>Los daemons/clientes no extraen este valor de la\n      base de datos de configuración del monitor. No se recomienda definir esta opción con "ceph config\n      set ...". Esta opción se debe configurar mediante ceph.conf o a través\n      de la línea de comandos.</target>\n      </trans-unit>\n      <trans-unit id="83f11fd1dc503c37931ea6c1c5c1e8c2b4b597b6" datatype="html">\n        <source>Option takes effect only during daemon startup.</source>\n        <target>La opción solo surte efecto durante el inicio del daemon.</target>\n      </trans-unit>\n      <trans-unit id="837a07cd6a971038b8b1aa190c43440c9fdb5d8b" datatype="html">\n        <source>Option only affects cluster creation.</source>\n        <target>La opción solo afecta a la creación del clúster.</target>\n      </trans-unit>\n      <trans-unit id="2566a88eb247c918b71cfe5b354c31de0d4b01e5" datatype="html">\n        <source>Option only affects daemon creation.</source>\n        <target>La opción solo afecta a la creación del daemon.</target>\n      </trans-unit>\n      <trans-unit id="1cdc60cfc09c257625768f3d2082816cdef27279" datatype="html">\n        <source>Updated config option \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\n        </source>\n        <target>Updated config option \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="d473e0f684a60db45d6f31e993f693f74290e056" datatype="html">\n        <source>Service</source>\n        <target>Servicio</target>\n      </trans-unit>\n      <trans-unit id="6986e0df8092d822ac2c076520d83994c78834fc" datatype="html">\n        <source>Modified</source>\n        <target>Modified</target>\n      </trans-unit>\n      <trans-unit id="9951bb3983c7dba6fde013e05c922e4fe1a44367" datatype="html">\n        <source>Current value</source>\n        <target>Valor actual</target>\n      </trans-unit>\n      <trans-unit id="4a01c175f90dd92b432f4a4a199d2c7bb9d997ff" datatype="html">\n        <source>Editable</source>\n        <target>Editable</target>\n      </trans-unit>\n      <trans-unit id="261c0af854e8684abc15f89dce6efb3e72344b18" datatype="html">\n        <source>host</source>\n        <target>host</target>\n      </trans-unit>\n      <trans-unit id="b1b381321d4cef04605d3e6e8847ea2b72a03799" datatype="html">\n        <source>Identify</source>\n        <target>Identify</target>\n      </trans-unit>\n      <trans-unit id="a5d5e407f8c4e1b152509c966c90f37edf68472e" datatype="html">\n        <source>Device path</source>\n        <target>Device path</target>\n      </trans-unit>\n      <trans-unit id="b7da3e3505cc80f9bf3cffc8444c53e8a9ec70a5" datatype="html">\n        <source>Available</source>\n        <target>Available</target>\n      </trans-unit>\n      <trans-unit id="396974120fc614fc930a27c8d15a094d82a3a9e4" datatype="html">\n        <source>Vendor</source>\n        <target>Vendor</target>\n      </trans-unit>\n      <trans-unit id="6ec98fa3d6504ba1fd03465194b53706c8263c99" datatype="html">\n        <source>Model</source>\n        <target>Model</target>\n      </trans-unit>\n      <trans-unit id="f2d785f5658c96c6a2f505cdd625108bcece84c3" datatype="html">\n        <source>Identify device \n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\n        </source>\n        <target>Identify device \n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="c97ab45ca09248f8f1ba60328175741657fe39ce" datatype="html">\n        <source>Please enter the duration how long to blink the LED.</source>\n        <target>Please enter the duration how long to blink the LED.</target>\n      </trans-unit>\n      <trans-unit id="87e56ee5057023d7e8b59420b838bad112b043bc" datatype="html">\n        <source>1 minute</source>\n        <target>1 minute</target>\n      </trans-unit>\n      <trans-unit id="affa3b3bf1f36531e5ae65291f8a7cd1b06860ee" datatype="html">\n        <source>2 minutes</source>\n        <target>2 minutes</target>\n      </trans-unit>\n      <trans-unit id="878c6645b7fc26d85c7aee17a9d8c282a938dcf3" datatype="html">\n        <source>5 minutes</source>\n        <target>5 minutes</target>\n      </trans-unit>\n      <trans-unit id="aa0a76140961594b7176ade241e5025a7dbb5dce" datatype="html">\n        <source>10 minutes</source>\n        <target>10 minutes</target>\n      </trans-unit>\n      <trans-unit id="0a7f83a1f27750ef634a1f1f97263fac36113b1f" datatype="html">\n        <source>15 minutes</source>\n        <target>15 minutes</target>\n      </trans-unit>\n      <trans-unit id="699b690d686dbb8e00a1e95b89ba2fffb548da6e" datatype="html">\n        <source>Execute</source>\n        <target>Execute</target>\n      </trans-unit>\n      <trans-unit id="aa975a86dd49979a3ae90b9f3fc5b2c97311d422" datatype="html">\n        <source>Identifying \'\n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\' started on host \'\n          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>\'\n        </source>\n        <target>Identifying \'\n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\' started on host \'\n          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="1a6e6ad05508130b7a99ce5b15daf3227c2a930c" datatype="html">\n        <source>Updated options for module "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>".\n        </source>\n        <target>Updated options for module "\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="6bd47ff8707aa2e6a94a4a6e2566b86dc7956d5f" datatype="html">\n        <source>Always-On</source>\n        <target>Always-On</target>\n      </trans-unit>\n      <trans-unit id="ac6c9212896d39b23811ed2dadab7d07336ec559" datatype="html">\n        <source>Enable</source>\n        <target>Habilitar</target>\n      </trans-unit>\n      <trans-unit id="6766a926d80bb7763785621098dae459d6226429" datatype="html">\n        <source>Disable</source>\n        <target>Inhabilitar</target>\n      </trans-unit>\n      <trans-unit id="340f2f312c2eb353e5cd69aee6bee7f5a73c34ac" datatype="html">\n        <source>This Manager module is always on.</source>\n        <target>This Manager module is always on.</target>\n      </trans-unit>\n      <trans-unit id="6a0b3657745dd7a2f2162f1cc790bf9004d0845d" datatype="html">\n        <source>Reconnecting, please wait ...</source>\n        <target>Conectando de nuevo. Espere...</target>\n      </trans-unit>\n      <trans-unit id="7099a8878af7a0a26fe5663c4f46cfe87142b75d" datatype="html">\n        <source>Public Address</source>\n        <target>Dirección pública</target>\n      </trans-unit>\n      <trans-unit id="cbdd1cdc0c7a87f55dd177bc44212f0fc4b80852" datatype="html">\n        <source>Open Sessions</source>\n        <target>Sesiones abiertas</target>\n      </trans-unit>\n      <trans-unit id="34c6f45591d420b1101dcee53999d1de91c0e400" datatype="html">\n        <source>No available devices</source>\n        <target>No available devices</target>\n      </trans-unit>\n      <trans-unit id="dcfe8807a2a1d0d7074a02afe9b80645bd03b9ab" datatype="html">\n        <source>Please add primary devices first</source>\n        <target>Please add primary devices first</target>\n      </trans-unit>\n      <trans-unit id="05d024719e53f85f7f294b7e21dfd805709a0b06" datatype="html">\n        <source>Add devices by using filters</source>\n        <target>Add devices by using filters</target>\n      </trans-unit>\n      <trans-unit id="37e58d1cbdf8212b380efa51422e42821d4f08e6" datatype="html">\n        <source>No In</source>\n        <target>No incluir</target>\n      </trans-unit>\n      <trans-unit id="12706eb5af17ff5ad77b3de21af368d24678e00b" datatype="html">\n        <source>OSDs that were previously marked out will not be marked back in when they start</source>\n        <target>Los OSD que se excluyeron anteriormente no se volverán a incluir cuando se inicien</target>\n      </trans-unit>\n      <trans-unit id="96114d7624d11dc90ca46cfa96145fe22118df76" datatype="html">\n        <source>No Out</source>\n        <target>No excluir</target>\n      </trans-unit>\n      <trans-unit id="a2ef636fe1ddd56b63e4aaf3d292f33dbf735ef3" datatype="html">\n        <source>OSDs will not automatically be marked out after the configured interval</source>\n        <target>Los OSD no se excluirán automáticamente después del intervalo configurado</target>\n      </trans-unit>\n      <trans-unit id="ee50aefa9b8bde1e5429b48709a23abfe08358e0" datatype="html">\n        <source>No Up</source>\n        <target>No activar</target>\n      </trans-unit>\n      <trans-unit id="608929b939307e397586a98cea52ae38997c7273" datatype="html">\n        <source>OSDs are not allowed to start</source>\n        <target>No se permite que los OSD se inicien</target>\n      </trans-unit>\n      <trans-unit id="1751ab69c1e7f62927afedbf7116e0116316c551" datatype="html">\n        <source>No Down</source>\n        <target>No desactivar</target>\n      </trans-unit>\n      <trans-unit id="41fac86dfb65c1db690f3e87f6497cb73b281084" datatype="html">\n        <source>OSD failure reports are being ignored, such that the monitors will not mark OSDs down</source>\n        <target>Se ignoran los informes de error de OSD, de forma que los monitores no desactivarán los OSD</target>\n      </trans-unit>\n      <trans-unit id="b2838c6165a9672a17db188f4dd9676574353dd8" datatype="html">\n        <source>Pause</source>\n        <target>Pausa</target>\n      </trans-unit>\n      <trans-unit id="191d71dadcc8790573d46706a0b48211de4b8334" datatype="html">\n        <source>Pauses reads and writes</source>\n        <target>Pone en pausa las lecturas y escrituras</target>\n      </trans-unit>\n      <trans-unit id="471d5ba75836f38c19992cf83d8822632d99e473" datatype="html">\n        <source>No Scrub</source>\n        <target>No depurar</target>\n      </trans-unit>\n      <trans-unit id="5b8caa61814121bc36dac0c34a9e9de3cae74990" datatype="html">\n        <source>Scrubbing is disabled</source>\n        <target>La depuración está inhabilitada</target>\n      </trans-unit>\n      <trans-unit id="7f29a0ac1c797bdc0347dd5d0734ba83e96e7ce6" datatype="html">\n        <source>No Deep Scrub</source>\n        <target>No depuración profunda</target>\n      </trans-unit>\n      <trans-unit id="01da61ab216541a8d31259cebd16b10c7e5fc124" datatype="html">\n        <source>Deep Scrubbing is disabled</source>\n        <target>La depuración profunda está inhabilitada</target>\n      </trans-unit>\n      <trans-unit id="0b86c7f18ac725de62c7e192dcfccd02c0dc40ab" datatype="html">\n        <source>No Backfill</source>\n        <target>No reponer</target>\n      </trans-unit>\n      <trans-unit id="bd33a2bdc8fbed3b7469f3717c16d9aaa2851fdd" datatype="html">\n        <source>Backfilling of PGs is suspended</source>\n        <target>La reposición de grupos de colocación se suspende</target>\n      </trans-unit>\n      <trans-unit id="df526de2b93c4099a30c200ef551608e39ee5256" datatype="html">\n        <source>No Rebalance</source>\n        <target>No Rebalance</target>\n      </trans-unit>\n      <trans-unit id="c5b70346245f8d52b58e5e7fe222ce82f12429ce" datatype="html">\n        <source>OSD will choose not to backfill unless PG is also degraded</source>\n        <target>OSD will choose not to backfill unless PG is also degraded</target>\n      </trans-unit>\n      <trans-unit id="7fbbd036394cfa623add40299757bc87df8eaa7e" datatype="html">\n        <source>No Recover</source>\n        <target>No recuperar</target>\n      </trans-unit>\n      <trans-unit id="f3ee9b451a64dca47299c9b4ae1091c2008068ad" datatype="html">\n        <source>Recovery of PGs is suspended</source>\n        <target>La recuperación de los grupos de colocación se suspende</target>\n      </trans-unit>\n      <trans-unit id="de904148fe7e8d812218f50333ffe247900617c5" datatype="html">\n        <source>Bitwise Sort</source>\n        <target>Orden bit a bit</target>\n      </trans-unit>\n      <trans-unit id="2613c9fde29785bcd75f0abeccb653d14d7527b3" datatype="html">\n        <source>Use bitwise sort</source>\n        <target>Usar orden bit a bit</target>\n      </trans-unit>\n      <trans-unit id="2fe10d84250aeee365db244251d40934c70ff1e9" datatype="html">\n        <source>Purged Snapdirs</source>\n        <target>Snapdir limpiados</target>\n      </trans-unit>\n      <trans-unit id="6b22a5b780eda3c5d500cdac9c6d4f96978c38f1" datatype="html">\n        <source>OSDs have converted snapsets</source>\n        <target>Los OSD tienen snapset convertidos</target>\n      </trans-unit>\n      <trans-unit id="c42f0ba60564dc5b977a8c7f3fdcde9efbb39c60" datatype="html">\n        <source>Recovery Deletes</source>\n        <target>Supresiones de recuperación</target>\n      </trans-unit>\n      <trans-unit id="72fe39979198ea2ed6db6274b5029025cb316d90" datatype="html">\n        <source>Deletes performed during recovery instead of peering</source>\n        <target>Supresiones realizadas durante la recuperación, en lugar de emparejamientos</target>\n      </trans-unit>\n      <trans-unit id="1bb4a1f9127cefe624c173557a716d0ebb6d647c" datatype="html">\n        <source>PG Log Hard Limit</source>\n        <target>Límite estricto de registro del grupo de colocación</target>\n      </trans-unit>\n      <trans-unit id="e03c0321397fdf7a9c22e8d6b5015424943c0a57" datatype="html">\n        <source>Puts a hard limit on pg log length</source>\n        <target>Establece un límite estricto para la longitud del registro del grupo de colocación</target>\n      </trans-unit>\n      <trans-unit id="3c384e2e80c6b5eb24861fbf4225b69486cff4a3" datatype="html">\n        <source>Updated OSD Flags</source>\n        <target>Indicadores de OSD actualizados</target>\n      </trans-unit>\n      <trans-unit id="948758e1412bb2ecdb98e3a4f1cbb6d7458456f2" datatype="html">\n        <source>Encryption</source>\n        <target>Encryption</target>\n      </trans-unit>\n      <trans-unit id="c8b1475105463088593de1022ff6dceb523eae0e" datatype="html">\n        <source>OSD</source>\n        <target>OSD</target>\n      </trans-unit>\n      <trans-unit id="688578fcc739d6f0c5fb6c366dbb19d21c6d9e36" datatype="html">\n        <source>out</source>\n        <target>excluir</target>\n      </trans-unit>\n      <trans-unit id="cb0f69bdd4dea41d7d45c74b6e07f98de8a2ab26" datatype="html">\n        <source>in</source>\n        <target>Incluir</target>\n      </trans-unit>\n      <trans-unit id="b5fbc7c7f007dd53b2318525bb7ff8b0376c9e37" datatype="html">\n        <source>down</source>\n        <target>desactivar</target>\n      </trans-unit>\n      <trans-unit id="b58719bcb9184e1a7884d00d22d10899d59bf295" datatype="html">\n        <source>Mark</source>\n        <target>Marcar</target>\n      </trans-unit>\n      <trans-unit id="31a1c1aa03f1e5084750bedb4e3fdc04ce2cb6ca" datatype="html">\n        <source>OSD lost</source>\n        <target>OSD perdido</target>\n      </trans-unit>\n      <trans-unit id="f3fc4c85c5b8f1dedea0496b72d0af9da7b9e0d9" datatype="html">\n        <source>marked lost</source>\n        <target>marcado como perdido</target>\n      </trans-unit>\n      <trans-unit id="40fedc157ad899a18ec40573f770d18b040959d2" datatype="html">\n        <source>Purge</source>\n        <target>Limpiar</target>\n      </trans-unit>\n      <trans-unit id="4f3cff08c7033b63bbccfe66006b1bcaea48ddd8" datatype="html">\n        <source>purged</source>\n        <target>limpiado</target>\n      </trans-unit>\n      <trans-unit id="8e5d1b01eca6dce26a4751f0b19bda7a6ab8db5b" datatype="html">\n        <source>destroy</source>\n        <target>destruir</target>\n      </trans-unit>\n      <trans-unit id="495a06b78bf165a7b545fa002137f0846b094a3d" datatype="html">\n        <source>destroyed</source>\n        <target>destruido</target>\n      </trans-unit>\n      <trans-unit id="70ef158c584bafe788e319a0bffa11b02ee9abf1" datatype="html">\n        <source>delete</source>\n        <target>suprimir</target>\n      </trans-unit>\n      <trans-unit id="a5b387f5a15b95e339df10fc23526c659a2b6c6f" datatype="html">\n        <source>deleted</source>\n        <target>deleted</target>\n      </trans-unit>\n      <trans-unit id="107614b994f2b01abdc1ca179bf780b0cd933ec4" datatype="html">\n        <source>Recovery Priority</source>\n        <target>Recovery Priority</target>\n      </trans-unit>\n      <trans-unit id="359dad5a3a912ef9dece3194035020856805aa96" datatype="html">\n        <source>PG scrub</source>\n        <target>PG scrub</target>\n      </trans-unit>\n      <trans-unit id="953144c420c2e5abd02e6a687433eac60fa852bd" datatype="html">\n        <source>PGs</source>\n        <target>Grupos de colocación</target>\n      </trans-unit>\n      <trans-unit id="7d3523ea9d35c274cef84043de8a2fdde540a9a1" datatype="html">\n        <source>Read bytes</source>\n        <target>Bytes de lectura</target>\n      </trans-unit>\n      <trans-unit id="f15bf7f588f09ca79795b17bc244e8d336f28171" datatype="html">\n        <source>Write bytes</source>\n        <target>Bytes de escritura</target>\n      </trans-unit>\n      <trans-unit id="f3c33322823c846b13f59ba2c8f234405bba99e1" datatype="html">\n        <source>Read ops</source>\n        <target>Operaciones de lectura</target>\n      </trans-unit>\n      <trans-unit id="7e0b24a17546cbfab48b03dc874461d1ca68bc9a" datatype="html">\n        <source>Write ops</source>\n        <target>Operaciones de escritura</target>\n      </trans-unit>\n      <trans-unit id="b27d1dd31789610130b7cdbf88c4da552cffe936" datatype="html">\n        <source>Edit OSD: \n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\n        </source>\n        <target>Edit OSD: \n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="986f1379580078e77666d10f8ddf4f839c6ca71d" datatype="html">\n        <source>Edit OSD</source>\n        <target>Edit OSD</target>\n      </trans-unit>\n      <trans-unit id="a4b09e2fa39c3e4f1a387f191fbae4eea3ce7bf5" datatype="html">\n        <source>Updated OSD "\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>"\n        </source>\n        <target>Updated OSD "\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="d45455406092f58e6b089cb440b5b7934b801a01" datatype="html">\n        <source>Mark OSD \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </source>\n        <target>Mark OSD \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="de0b7806e451b3b3dbd564decba59981fe781c18" datatype="html">\n        <source>Mark \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </source>\n        <target>Mark \n          <x id="INTERPOLATION" equiv-text="{{markAction}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="bba1d3bb4f8a47aa2b3068e242562196eadb1e83" datatype="html">\n        <source>PG scrub options</source>\n        <target>PG scrub options</target>\n      </trans-unit>\n      <trans-unit id="b0b7748ebc9b7a6942a8cac4a89d4b215b365878" datatype="html">\n        <source>Updated PG scrub options</source>\n        <target>Updated PG scrub options</target>\n      </trans-unit>\n      <trans-unit id="4edc2162af0bd6cd941eaf730d20a7e3b5a83ba7" datatype="html">\n        <source>Max Backfills</source>\n        <target>Número máximo de reposiciones</target>\n      </trans-unit>\n      <trans-unit id="eb5e6c24a48a1dfe23e0a772b762be5e949c0c8a" datatype="html">\n        <source>Recovery Max Active</source>\n        <target>Máximo de recuperaciones activas</target>\n      </trans-unit>\n      <trans-unit id="4a23c6d3859e03184118620d2baeb736ac765fbf" datatype="html">\n        <source>Recovery Max Single Start</source>\n        <target>Máximo de recuperaciones de inicio único</target>\n      </trans-unit>\n      <trans-unit id="97049169ef5228fd1724de2fcdad1fec2858eaf8" datatype="html">\n        <source>Recovery Sleep</source>\n        <target>Reposo de recuperación</target>\n      </trans-unit>\n      <trans-unit id="89553524f4e7db5c437b07dcfdc7b831d56ded1a" datatype="html">\n        <source>Updated OSD recovery speed priority "\n          <x id="INTERPOLATION" equiv-text="{{value}}"/>"\n        </source>\n        <target>Updated OSD recovery speed priority "\n          <x id="INTERPOLATION" equiv-text="{{value}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="ccf5f30798c03d2d8efd0e6eb508320c018b722d" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{operation}}"/> was initialized in the following OSD(s): \n          <x id="INTERPOLATION_1" equiv-text="{{id}}"/>\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{operation}}"/> was initialized in the following OSD(s): \n          <x id="INTERPOLATION_1" equiv-text="{{id}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="3bc2d18913479965cb046ec75e2ac3f7b7a77ce5" datatype="html">\n        <source>Create Silence</source>\n        <target>Create Silence</target>\n      </trans-unit>\n      <trans-unit id="78917e8031aaf913ac3fa63295325ce8879703ce" datatype="html">\n        <source>Job</source>\n        <target>Trabajo</target>\n      </trans-unit>\n      <trans-unit id="94287619205068b591c18493c64781424864c259" datatype="html">\n        <source>Severity</source>\n        <target>Gravedad</target>\n      </trans-unit>\n      <trans-unit id="e6cfbe0c5e0302ba2cec22315f6a28f8ac46b651" datatype="html">\n        <source>Started</source>\n        <target>Iniciado</target>\n      </trans-unit>\n      <trans-unit id="801b98c6f02fe3b32f6afa3ee854c99ed83474e6" datatype="html">\n        <source>URL</source>\n        <target>URL</target>\n      </trans-unit>\n      <trans-unit id="d9f726c70aeba7fa6d3d68bff718abe78b1e50ac" datatype="html">\n        <source>Query</source>\n        <target>Query</target>\n      </trans-unit>\n      <trans-unit id="a5cd682a8a33bdc72e093d059429e3cc3a50ec1d" datatype="html">\n        <source>silence</source>\n        <target>silence</target>\n      </trans-unit>\n      <trans-unit id="f557e117e059e7036c6eecacd325a6ae35d866e0" datatype="html">\n        <source>Attribute name</source>\n        <target>Attribute name</target>\n      </trans-unit>\n      <trans-unit id="50f7f517ad8158667f7d4e2bd6f3256e05156e75" datatype="html">\n        <source>Regular expression</source>\n        <target>Regular expression</target>\n      </trans-unit>\n      <trans-unit id="81b1eab399c47110d50f45e3ccb4c009de7cb581" datatype="html">\n        <source>Please add your Prometheus host to the dashboard configuration and refresh the page</source>\n        <target>Please add your Prometheus host to the dashboard configuration and refresh the page</target>\n      </trans-unit>\n      <trans-unit id="29b4ae3296e239446fa0dea88a5112de15cffa54" datatype="html">\n        <source>Created by</source>\n        <target>Created by</target>\n      </trans-unit>\n      <trans-unit id="8d833cceee0ba4c5161b130365e02bc1e129b57e" datatype="html">\n        <source>Ends</source>\n        <target>Ends</target>\n      </trans-unit>\n      <trans-unit id="46a11ff4289e8c88b1b7a935f8d8ee704055f11a" datatype="html">\n        <source>Silence</source>\n        <target>Silence</target>\n      </trans-unit>\n      <trans-unit id="f2ea47d702c7f5e3e5fa751bf9959e21030b72e6" datatype="html">\n        <source>Daemon type</source>\n        <target>Daemon type</target>\n      </trans-unit>\n      <trans-unit id="6c131968e6ab730d86443e6fc11c5cc2a76d7bac" datatype="html">\n        <source>Daemon ID</source>\n        <target>Daemon ID</target>\n      </trans-unit>\n      <trans-unit id="5738f0ca7ddd9594058ce051b1d5d576e2782825" datatype="html">\n        <source>Container ID</source>\n        <target>Container ID</target>\n      </trans-unit>\n      <trans-unit id="78ebcf850cd440c5efc15e6a3a522ae75aeff669" datatype="html">\n        <source>Container Image name</source>\n        <target>Container Image name</target>\n      </trans-unit>\n      <trans-unit id="ea0c7ab9a7bdf646d494abf8c85fbf67d934d079" datatype="html">\n        <source>Container Image ID</source>\n        <target>Container Image ID</target>\n      </trans-unit>\n      <trans-unit id="bf2468fd965b8a59c135ad549b3a612aa9873abc" datatype="html">\n        <source>Status Description</source>\n        <target>Status Description</target>\n      </trans-unit>\n      <trans-unit id="19867330bdc84096f5a93ab087a1766476c8a074" datatype="html">\n        <source>Last Refreshed</source>\n        <target>Last Refreshed</target>\n      </trans-unit>\n      <trans-unit id="2349ee2027ab6ceb3e4b8834928562075b7e1ac7" datatype="html">\n        <source>Container image name</source>\n        <target>Container image name</target>\n      </trans-unit>\n      <trans-unit id="3c475503fb93338811af6b3d9ccacca1d7334609" datatype="html">\n        <source>Container image ID</source>\n        <target>Container image ID</target>\n      </trans-unit>\n      <trans-unit id="8dd15f6c73c05a8b0bd7b6d416487ab6570b88c8" datatype="html">\n        <source>Running</source>\n        <target>Running</target>\n      </trans-unit>\n      <trans-unit id="fb2e1bed329dc5b84197808c778abb9edcbdb335" datatype="html">\n        <source>Used</source>\n        <target>Usado</target>\n      </trans-unit>\n      <trans-unit id="4f1ab04d9100fb0df0e62b921ec46ae052ae29fc" datatype="html">\n        <source>Avail.</source>\n        <target>Dispon.</target>\n      </trans-unit>\n      <trans-unit id="a1c9b3d4fa67450fe9afd1d726f8a1bd91d990ea" datatype="html">\n        <source>Clean</source>\n        <target>Limpio</target>\n      </trans-unit>\n      <trans-unit id="0054f5460090d6dde385e8f099d598df5d28cf54" datatype="html">\n        <source>Working</source>\n        <target>En curso</target>\n      </trans-unit>\n      <trans-unit id="a8059e31694578c1b0344a76a345357dd60e8f01" datatype="html">\n        <source>Warning</source>\n        <target>Advertencia</target>\n      </trans-unit>\n      <trans-unit id="e5d8bb389c702588877f039d72178f219453a72d" datatype="html">\n        <source>Unknown</source>\n        <target>Desconocido</target>\n      </trans-unit>\n      <trans-unit id="88155be1b9b9c6140d6e8f93bac4a775cfdc6671" datatype="html">\n        <source>Healthy</source>\n        <target>Healthy</target>\n      </trans-unit>\n      <trans-unit id="8a3aec4dc1a6e2d4c612ae85e0537acbb20a0f85" datatype="html">\n        <source>Misplaced</source>\n        <target>Misplaced</target>\n      </trans-unit>\n      <trans-unit id="ee81f9bf7ceac69712e0b83e8adc268739f9673e" datatype="html">\n        <source>Degraded</source>\n        <target>Degraded</target>\n      </trans-unit>\n      <trans-unit id="14625bc4025daef1969777a67a3cca27e0cd9167" datatype="html">\n        <source>Unfound</source>\n        <target>Unfound</target>\n      </trans-unit>\n      <trans-unit id="8f23ea509d081c2f747d083d44608dbf125b2ea2" datatype="html">\n        <source>replicas</source>\n        <target>replicas</target>\n      </trans-unit>\n      <trans-unit id="129a2224e1f9d19eb5e11e2a07fe10a785556484" datatype="html">\n        <source>up</source>\n        <target>activo</target>\n      </trans-unit>\n      <trans-unit id="d5f29cf0af691726483262d647eb6622be002512" datatype="html">\n        <source>no filesystems</source>\n        <target>sin sistemas de archivos</target>\n      </trans-unit>\n      <trans-unit id="b1c4387ffab06f3fa9fdb4411aea955595538d44" datatype="html">\n        <source>active</source>\n        <target>activo</target>\n      </trans-unit>\n      <trans-unit id="1aaf7054d826f2cb05ec3e88a5a4b8116861e1f5" datatype="html">\n        <source>standby</source>\n        <target>reserva</target>\n      </trans-unit>\n      <trans-unit id="c9a1080024dca344a48acdb77fa2d54e059f7254" datatype="html">\n        <source>n/a</source>\n        <target>n/d</target>\n      </trans-unit>\n      <trans-unit id="84a1787b6df375847c70f782861d7e7f8f43bff4" datatype="html">\n        <source>active daemon</source>\n        <target>daemon activo</target>\n      </trans-unit>\n      <trans-unit id="24407dc2ebfafaf6b131ee978683b893c3f1d763" datatype="html">\n        <source>quorum</source>\n        <target>quórum</target>\n      </trans-unit>\n      <trans-unit id="2fa50bc07995c6ea660412294298ded39fcb08d9" datatype="html">\n        <source>The NFS Ganesha service is not configured.</source>\n        <target>El servicio NFS Ganesha no está configurado.</target>\n      </trans-unit>\n      <trans-unit id="af1396bdc49f45ea6c4a1e414769f5e2a382c834" datatype="html">\n        <source>Transport</source>\n        <target>Transportar</target>\n      </trans-unit>\n      <trans-unit id="b6a0e176d96c4feed2e975a039c044fcf822e152" datatype="html">\n        <source>CephFS User</source>\n        <target>Usuario de CephFS</target>\n      </trans-unit>\n      <trans-unit id="44dc610cf201a163e8c38da810acec9596930bb3" datatype="html">\n        <source>CephFS Filesystem</source>\n        <target>Sistemas de archivos CephFS</target>\n      </trans-unit>\n      <trans-unit id="db6dc7124be83c7055cb0f2719e31f2f9d46fd3d" datatype="html">\n        <source>(inherited from global config)</source>\n        <target>(se hereda de la configuración global)</target>\n      </trans-unit>\n      <trans-unit id="e1f97bb86f991553ec7b535cb39e7eaa99dfcfe2" datatype="html">\n        <source>inherited from global config</source>\n        <target>se hereda de la configuración global</target>\n      </trans-unit>\n      <trans-unit id="e751800766277e7c2edd652cec7a7a1a68a37852" datatype="html">\n        <source>-- Select what kind of user id squashing is performed --</source>\n        <target>-- Seleccione el tipo de reducción de privilegios de ID de usuario que se va a realizar --</target>\n      </trans-unit>\n      <trans-unit id="4b58387f911e8a7b135a0c4d76c70335c65bbb32" datatype="html">\n        <source>There are no daemons available.</source>\n        <target>No hay ningún daemon disponible.</target>\n      </trans-unit>\n      <trans-unit id="18ae8dc1264f06df7ea251175ada2ac1b8401018" datatype="html">\n        <source>NFS export</source>\n        <target>NFS export</target>\n      </trans-unit>\n      <trans-unit id="c56d51748965db5f3966cd1d06a1c9f4b5244931" datatype="html">\n        <source>Crush Rule</source>\n        <target>Crush Rule</target>\n      </trans-unit>\n      <trans-unit id="ae128527ec18892f812a62a1fd15dc50a38060c0" datatype="html">\n        <source>EC Profile</source>\n        <target>EC Profile</target>\n      </trans-unit>\n      <trans-unit id="60fb10c145f9c7ede2b9ddf9b2b0b0f6191d0ebd" datatype="html">\n        <source>Cache Mode</source>\n        <target>Modo de caché</target>\n      </trans-unit>\n      <trans-unit id="fa5bfad31d4139f6871443bb74324ffda5cad3e6" datatype="html">\n        <source>Min Evict Age</source>\n        <target>Antigüedad mínima de expulsión</target>\n      </trans-unit>\n      <trans-unit id="fd0eb851666df45c34c76fabcda79b0d77bc910b" datatype="html">\n        <source>Min Flush Age</source>\n        <target>Antigüedad mínima de vaciado</target>\n      </trans-unit>\n      <trans-unit id="cb54d2c420a534cee0c308ea5589f8c394ef8d67" datatype="html">\n        <source>Target Max Bytes</source>\n        <target>Número máximo de bytes de destino</target>\n      </trans-unit>\n      <trans-unit id="07f4ebe6615dca466818ffdae2a69ee217d265fb" datatype="html">\n        <source>Target Max Objects</source>\n        <target>Número máximo de objetos de destino</target>\n      </trans-unit>\n      <trans-unit id="eaa8f4df53cf7fa78d078e20a701d10f3dccd77d" datatype="html">\n        <source>No applications added</source>\n        <target>No se ha añadido ninguna aplicación</target>\n      </trans-unit>\n      <trans-unit id="321c2a7640f11177ea49b0857b94c4b70830c0e6" datatype="html">\n        <source>Applications limit reached</source>\n        <target>Se ha alcanzado el límite de aplicaciones</target>\n      </trans-unit>\n      <trans-unit id="519d27742b74fadc8336777452f78891e98aa1dc" datatype="html">\n        <source>A pool can only have up to four applications definitions.</source>\n        <target>Un repositorio solo puede tener hasta cuatro definiciones de aplicaciones.</target>\n      </trans-unit>\n      <trans-unit id="b5bec3813f0d45daa7eb9471272969e1bc3e734e" datatype="html">\n        <source>Allowed characters \'_a-zA-Z0-9\'</source>\n        <target>Caracteres permitidos: _, a-z, A-Z y 0-9</target>\n      </trans-unit>\n      <trans-unit id="807472d29602a0085bce62e534bd66208982c2e2" datatype="html">\n        <source>Maximum length is 128 characters</source>\n        <target>La longitud máxima es 128 caracteres</target>\n      </trans-unit>\n      <trans-unit id="37785748b9ac9ad1d3e4b111ac502c3284afe84b" datatype="html">\n        <source>Filter or add applications</source>\n        <target>Filtrar o añadir aplicaciones</target>\n      </trans-unit>\n      <trans-unit id="38c7b8610ca87835e13eeee6a09ba1c414cd5cb9" datatype="html">\n        <source>Add application</source>\n        <target>Añadir aplicación</target>\n      </trans-unit>\n      <trans-unit id="db8c42f077700d8a94619fad9f4c94b7361d5f1d" datatype="html">\n        <source>pool</source>\n        <target>pool</target>\n      </trans-unit>\n      <trans-unit id="65bb2be83261bc4798853bbccdedc110c43feea7" datatype="html">\n        <source>erasure code profile</source>\n        <target>perfil de código de borrado</target>\n      </trans-unit>\n      <trans-unit id="ae48e19a9a2acaca4b5ea594451bc9b0b01ec8d2" datatype="html">\n        <source>crush rule</source>\n        <target>crush rule</target>\n      </trans-unit>\n      <trans-unit id="112d356ad6846959ca4aa5ec9a1f0d9d473b24ec" datatype="html">\n        <source>Replica Size</source>\n        <target>Tamaño de réplica</target>\n      </trans-unit>\n      <trans-unit id="ec50492db341fa752b023d8c924601286b6c9c0c" datatype="html">\n        <source>Last Change</source>\n        <target>Último cambio</target>\n      </trans-unit>\n      <trans-unit id="563a8c136a9d423bc7ae1269a404d6da5fd83dad" datatype="html">\n        <source>Erasure Coded Profile</source>\n        <target>Perfil de código de borrado</target>\n      </trans-unit>\n      <trans-unit id="0ad7f0662956cff61ac1208f92b1a0305b1b2e58" datatype="html">\n        <source>Crush Ruleset</source>\n        <target>Conjunto de reglas de CRUSH</target>\n      </trans-unit>\n      <trans-unit id="bcc365a084b6145b941b371bd4c2b6c3d2c79234" datatype="html">\n        <source>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</source>\n        <target>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</target>\n      </trans-unit>\n      <trans-unit id="44939fd05cedfd077db886528b755e77d5fa3885" datatype="html">\n        <source>bucket</source>\n        <target>papelera</target>\n      </trans-unit>\n      <trans-unit id="84fee774286ec4191311f1277075455c3ea5e2e2" datatype="html">\n        <source>Updated Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>".\n        </source>\n        <target>Updated Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="2d7a43674f0bbc131c9e555ec16ac37fa0445d76" datatype="html">\n        <source>Created Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>"\n        </source>\n        <target>Created Object Gateway bucket "\n          <x id="INTERPOLATION" equiv-text="{{bid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="ec40d74ecfb1d6d60455af6805c9a714a3f5750a" datatype="html">\n        <source>buckets</source>\n        <target>papeleras</target>\n      </trans-unit>\n      <trans-unit id="764585d5595bac113582ee14a6fd07006770ceb1" datatype="html">\n        <source>capability</source>\n        <target>capability</target>\n      </trans-unit>\n      <trans-unit id="0914cbe18bae204217e1851be6d2d24d86e74605" datatype="html">\n        <source>user</source>\n        <target>usuario</target>\n      </trans-unit>\n      <trans-unit id="d8c86dc5e48a63590d9c94e19f90b5f8325cbd49" datatype="html">\n        <source>subuser</source>\n        <target>subuser</target>\n      </trans-unit>\n      <trans-unit id="f45a3de8a8b40d161cc36a55d77548a27107ca04" datatype="html">\n        <source>S3 Key</source>\n        <target>S3 Key</target>\n      </trans-unit>\n      <trans-unit id="854a763265e92f91ba3ccee1a0e8d823be584f7c" datatype="html">\n        <source>Updated Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </source>\n        <target>Updated Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="84ab3fd641e65e39cffee0ec722a059ed284229e" datatype="html">\n        <source>Created Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </source>\n        <target>Created Object Gateway user "\n          <x id="INTERPOLATION" equiv-text="{{uid}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="7c7f4be7b726e61c577e63842a58d9e435f7c597" datatype="html">\n        <source>users</source>\n        <target>usuarios</target>\n      </trans-unit>\n      <trans-unit id="9f7760223efd77806f1bbaf963e6993bb4bc6a0a" datatype="html">\n        <source>Swift Key</source>\n        <target>Swift Key</target>\n      </trans-unit>\n      <trans-unit id="6462d8f12b427c29363f00b12f20f566be24937c" datatype="html">\n        <source>Device ID</source>\n        <target>Device ID</target>\n      </trans-unit>\n      <trans-unit id="82f12bf23db4bb82db89877bebe93954bc1c8fb0" datatype="html">\n        <source>State of Health</source>\n        <target>State of Health</target>\n      </trans-unit>\n      <trans-unit id="7bd34bd120146afef0e0d8fa168d9bdabd594b6a" datatype="html">\n        <source>Good</source>\n        <target>Good</target>\n      </trans-unit>\n      <trans-unit id="31c59dce114ec0a9d02552ef7b81920b3de36793" datatype="html">\n        <source>Bad</source>\n        <target>Bad</target>\n      </trans-unit>\n      <trans-unit id="2862af5284f66d4b06bdcf77a5519141723b6989" datatype="html">\n        <source>Stale</source>\n        <target>Stale</target>\n      </trans-unit>\n      <trans-unit id="8d8e819b52984a4fbdec75a99eb28d1ae4323bbc" datatype="html">\n        <source>Life Expectancy</source>\n        <target>Life Expectancy</target>\n      </trans-unit>\n      <trans-unit id="72d9b15be18ea063e78c4e855b9e8c0af95593ef" datatype="html">\n        <source>Prediction Creation Date</source>\n        <target>Prediction Creation Date</target>\n      </trans-unit>\n      <trans-unit id="a6b4ef85e5ff8bd192751c7bbebc54c46118d6d4" datatype="html">\n        <source>Device Name</source>\n        <target>Device Name</target>\n      </trans-unit>\n      <trans-unit id="d5fd840374ca1a6f394bcd81f390a6dca27f8224" datatype="html">\n        <source>An error with error code \n          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.\n        </source>\n        <target>An error with error code \n          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.\n        </target>\n      </trans-unit>\n      <trans-unit id="a0b59d7139692bb8d8ed786b6eb6e9e70ce743f3" datatype="html">\n        <source>Raw</source>\n        <target>Raw</target>\n      </trans-unit>\n      <trans-unit id="2f3beddc8234b30fb26a7f63ba2f1ea74f2ed6f7" datatype="html">\n        <source>Threshold</source>\n        <target>Threshold</target>\n      </trans-unit>\n      <trans-unit id="4654b5a68af3c8bad29aa14ca85ccea1f3143c6b" datatype="html">\n        <source>When Failed</source>\n        <target>When Failed</target>\n      </trans-unit>\n      <trans-unit id="5b7f56d5be49fb8e8d8f40209d6746f8f72e9177" datatype="html">\n        <source>Worst</source>\n        <target>Worst</target>\n      </trans-unit>\n      <trans-unit id="1481b8488e10dbc437accce89d2ae35a0106e8ba" datatype="html">\n        <source>Scope</source>\n        <target>Ámbito</target>\n      </trans-unit>\n      <trans-unit id="9b1d5e95f6bdcfb4b737413f5fa157e0dcb103d5" datatype="html">\n        <source>Read</source>\n        <target>Lectura</target>\n      </trans-unit>\n      <trans-unit id="70a67e04629f6d412db0a12d51820b480788d795" datatype="html">\n        <source>Create</source>\n        <target>Crear</target>\n      </trans-unit>\n      <trans-unit id="dc4fba275819619ee78e8eae14d357ea69ba7477" datatype="html">\n        <source>role</source>\n        <target>role</target>\n      </trans-unit>\n      <trans-unit id="fe6ee93173884201ec62d62ba173c3de85ae177e" datatype="html">\n        <source>Created role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Created role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="41c032df0732f4318f8213fabd0719ac347d4b6c" datatype="html">\n        <source>Updated role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Updated role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="50e22b5289f79f1417369403345c9fa9911a4557" datatype="html">\n        <source>System Role</source>\n        <target>Función del sistema</target>\n      </trans-unit>\n      <trans-unit id="7f132668e2dbfcf616381d2daf59d1a6f2698102" datatype="html">\n        <source>Deleted role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </source>\n        <target>Deleted role \'\n          <x id="INTERPOLATION" equiv-text="{{role_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="bd15b8d5c0fa160161728eefbbb585710414d471" datatype="html">\n        <source>New name</source>\n        <target>New name</target>\n      </trans-unit>\n      <trans-unit id="6f126277f3dc22a3ab3609c4c198386c8744e11a" datatype="html">\n        <source>Clone Role</source>\n        <target>Clone Role</target>\n      </trans-unit>\n      <trans-unit id="d19d8320479854bc52877cdf0dc5ecfe34a36ec7" datatype="html">\n        <source>Cloned role \'\n          <x id="INTERPOLATION" equiv-text="{{dst_name}}"/>\' from \'\n          <x id="INTERPOLATION_1" equiv-text="{{src_name}}"/>\'\n        </source>\n        <target>Cloned role \'\n          <x id="INTERPOLATION" equiv-text="{{dst_name}}"/>\' from \'\n          <x id="INTERPOLATION_1" equiv-text="{{src_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="2e35d60a14ce0b470e8b54602864a867f7fcef40" datatype="html">\n        <source>There are no roles.</source>\n        <target>There are no roles.</target>\n      </trans-unit>\n      <trans-unit id="d2362a49d2434ce137bf19dab004251b7fd9c7b3" datatype="html">\n        <source>Created user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Created user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="9910122dfedd2eaa544a990f1430e5b82a76d99f" datatype="html">\n        <source>Update user</source>\n        <target>Actualizar usuario</target>\n      </trans-unit>\n      <trans-unit id="ac10a3d9b59575640797c1a8e6aea642cf5d5e77" datatype="html">\n        <source>Continue</source>\n        <target>Continuar</target>\n      </trans-unit>\n      <trans-unit id="cf4bcf4ce3d551e6099ccdc3546ae418fe5f8038" datatype="html">\n        <source>You were automatically logged out because your roles have been changed.</source>\n        <target>La sesión se ha cerrado automáticamente porque sus funciones han cambiado.</target>\n      </trans-unit>\n      <trans-unit id="0f6003fb0c1cc73b89d225801cc1b870945cd259" datatype="html">\n        <source>Updated user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Updated user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="fe516c6d820018fdc971113935e22ec1e852965f" datatype="html">\n        <source>Deleted user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Deleted user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="01a7e11502ff80421ef3615e533ea14ef57e1d5c" datatype="html">\n        <source>Failed to delete user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </source>\n        <target>Failed to delete user "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>"\n        </target>\n      </trans-unit>\n      <trans-unit id="63316a3861dbcb035147efc1b9fb6bc708242e94" datatype="html">\n        <source>You are currently logged in as "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>".\n        </source>\n        <target>You are currently logged in as "\n          <x id="INTERPOLATION" equiv-text="{{username}}"/>".\n        </target>\n      </trans-unit>\n      <trans-unit id="d8b81951d25439864e92f750f7c99d7426d6517c" datatype="html">\n        <source>password</source>\n        <target>password</target>\n      </trans-unit>\n      <trans-unit id="d361a9b5e1f7985a12c0433388f31626525a02b8" datatype="html">\n        <source>Updated user password"</source>\n        <target>Updated user password"</target>\n      </trans-unit>\n      <trans-unit id="c4e596a44ffc4718c1602600d6e4f029190eb031" datatype="html">\n        <source>The name of the node under which data should be placed.</source>\n        <target>The name of the node under which data should be placed.</target>\n      </trans-unit>\n      <trans-unit id="f24772ba1091155f8d7025332ca8456a204d1e28" datatype="html">\n        <source>The type of CRUSH nodes across which we should separate replicas.</source>\n        <target>The type of CRUSH nodes across which we should separate replicas.</target>\n      </trans-unit>\n      <trans-unit id="a3896042af461a80091c3f7a5fe3fff5ac40a3a0" datatype="html">\n        <source>The device class data should be placed on.</source>\n        <target>The device class data should be placed on.</target>\n      </trans-unit>\n      <trans-unit id="1d7fbcc3d5efc946ffbcf86fed04c4e20dda20fb" datatype="html">\n        <source>Each object is split in data-chunks parts, each stored on a different OSD.</source>\n        <target>Cada objeto se divide en porciones de datos, cada una almacenada en un OSD distinto.</target>\n      </trans-unit>\n      <trans-unit id="b1f8ed4e216585f1f9134740002ef3c8501debd8" datatype="html">\n        <source>Compute coding chunks for each object and store them on different OSDs.\n      The number of coding chunks is also the number of OSDs that can be down without losing data.</source>\n        <target>Calcula las porciones de código para cada objeto y las almacena en distintos OSD.\n      El número de porciones de código es también el número de OSD que pueden estar inactivos sin que se pierdan datos.</target>\n      </trans-unit>\n      <trans-unit id="c437ee74a9a8e781e1380153f742a685e3b8cc5e" datatype="html">\n        <source>The jerasure plugin is the most generic and flexible plugin,\n          it is also the default for Ceph erasure coded pools.</source>\n        <target>El complemento jerasure es el más genérico y flexible,\n          y también el complemento por defecto para los repositorios de código de borrado de Ceph.</target>\n      </trans-unit>\n      <trans-unit id="8c7e19322851402afa67e41f4f1d4e531caf1bf5" datatype="html">\n        <source>The more flexible technique is reed_sol_van : it is enough to set k\n          and m. The cauchy_good technique can be faster but you need to chose the packetsize\n          carefully. All of reed_sol_r6_op, liberation, blaum_roth, liber8tion are RAID6 equivalents\n          in the sense that they can only be configured with m=2.</source>\n        <target>La técnica más flexible es reed_sol_van: basta con definir k y m.\n          La técnica cauchy_good puede ser más rápida, pero hay que elegir con cuidado el tamaño\n          del paquete. reed_sol_r6_op, liberation, blaum_roth y liber8tion son todas equivalentes a RAID6\n          en el sentido de que solo se pueden configurar con m=2.</target>\n      </trans-unit>\n      <trans-unit id="b1b11f49281b4e79219b4eecfbcb033cb15bd880" datatype="html">\n        <source>The encoding will be done on packets of bytes size at a time.\n          Chosing the right packet size is difficult.\n          The jerasure documentation contains extensive information on this topic.</source>\n        <target>La codificación se realizará según el tamaño de los paquetes de bytes de uno en uno.\n          Elegir el tamaño correcto es difícil.\n          La documentación de jerasure incluye información completa sobre el tema.</target>\n      </trans-unit>\n      <trans-unit id="d9cb3bc07a25b26fbea457e0a7b543340bc13c49" datatype="html">\n        <source>With the jerasure plugin, when an erasure coded object is stored on\n          multiple OSDs, recovering from the loss of one OSD requires reading from all the others.\n          For instance if jerasure is configured with k=8 and m=4, losing one OSD requires reading\n          from the eleven others to repair.\n\n          The lrc erasure code plugin creates local parity chunks to be able to recover using\n          less OSDs. For instance if lrc is configured with k=8, m=4 and l=4, it will create\n          an additional parity chunk for every four OSDs. When a single OSD is lost, it can be\n          recovered with only four OSDs instead of eleven.</source>\n        <target>Con el complemento jerasure, cuando un objeto de código de borrado se almacena\n          en varios OSD, para recuperarse de la pérdida de un OSD es necesario leer de todos los demás.\n          Por ejemplo, si jerasure está configurado con k=8 y m=4, cuando se pierde un OSD es necesario leer\n          de los otros once para repararlo.\n\n          El complemento de código de borrado lrc crea porciones de paridad local para poder realizar la recuperación con\n          menos OSDs. Por ejemplo, is lrc está configurado con k=8, m=4 y l=4, creará\n          una porción de paridad adicional para cada cuatro OSDs. Si se pierde un solo OSD, se puede recuperar\n          solo con cuatro OSD, en lugar de con once.</target>\n      </trans-unit>\n      <trans-unit id="813959d46e63a29bbd266b3af2ff9414c2ef553c" datatype="html">\n        <source>Group the coding and data chunks into sets of size locality. For instance,\n          for k=4 and m=2, when locality=3 two groups of three are created. Each set can\n          be recovered without reading chunks from another set.</source>\n        <target>Agrupa las porciones de código y de datos en localizaciones de conjuntos de tamaño. Por ejemplo,\n          para k=4 y m=2, si locality=3, se crean dos grupos de tres. Cada conjunto\n          se puede recuperar sin leer porciones de otro conjunto.</target>\n      </trans-unit>\n      <trans-unit id="f0ff63d92e0a1b4d4b51e31b9133802d160a5f4c" datatype="html">\n        <source>The type of the crush bucket in which each set of chunks defined\n          by l will be stored. For instance, if it is set to rack, each group of l chunks will be\n          placed in a different rack. It is used to create a CRUSH rule step such as step choose\n          rack. If it is not set, no such grouping is done.</source>\n        <target>El tipo de papelera de CRUSH en el que se almacenará cada\n          conjunto de porciones definido por l. Por ejemplo, si se define como bastidor, cada grupo de l porciones\n          se colocará en un bastidor distinto. Se usa para crear un paso de regla de CRUSH, por ejemplo, "step choose\n          rack". Si no se define, no se realiza este tipo de agrupamiento.</target>\n      </trans-unit>\n      <trans-unit id="3ece48df9d1e9a98f98bf3c5cc66e8b637020a4d" datatype="html">\n        <source>The isa plugin encapsulates the ISA library. It only runs on Intel processors.</source>\n        <target>El complemento isa encapsula la biblioteca ISA. Solo funciona en procesadores Intel.</target>\n      </trans-unit>\n      <trans-unit id="4472c9e31bfc7d96a83dc4afce0a6e885c99e839" datatype="html">\n        <source>The ISA plugin comes in two Reed Solomon forms.\n          If reed_sol_van is set, it is Vandermonde, if cauchy is set, it is Cauchy.</source>\n        <target>El complemento ISA viene en dos formatos de Reed Solomon.\n          Si se define reed_sol_van, se trata de Vandermonde; si se define cauchy, se trata de Cauchy.</target>\n      </trans-unit>\n      <trans-unit id="fa385f5ecf63083ec848dca8dc5e52bdc72ac6f6" datatype="html">\n        <source>The shec plugin encapsulates the multiple SHEC library.\n          It allows ceph to recover data more efficiently than Reed Solomon codes.</source>\n        <target>El complemento shec encapsula las distintas bibliotecas SHEC.\n          Permite a Ceph recuperar datos de forma más eficiente que los códigos de Reed Solomon.</target>\n      </trans-unit>\n      <trans-unit id="687b3cd94b3475c24ff4481d64d4739f902a377c" datatype="html">\n        <source>The number of parity chunks each of which includes each data chunk in its\n          calculation range. The number is used as a durability estimator. For instance, if c=2,\n          2 OSDs can be down without losing data.</source>\n        <target>El número de porciones de paridad. Cada uno de ellas incluye cada porción de datos\n           en su intervalo de cálculo. El número se usa como estimador de durabilidad. Por ejemplo, si c=2,\n          2 OSD pueden estar inactivos sin que se pierdan datos.</target>\n      </trans-unit>\n      <trans-unit id="f3c4af6df91bdaabdb715f8f0b61a24faf73a3bc" datatype="html">\n        <source>The name of the crush bucket used for the first step of the CRUSH rule.\n      For instance step take default.</source>\n        <target>El nombre de la papelera de CRUSH usado para el primer paso de la regla de CRUSH.\n      Por ejemplo, "step take default".</target>\n      </trans-unit>\n      <trans-unit id="e1059955a5ce65cdabf0c0a8207377e1f9bae57e" datatype="html">\n        <source>Ensure that no two chunks are in a bucket with the same failure\n      domain. For instance, if the failure domain is host no two chunks will be stored on the same\n      host. It is used to create a CRUSH rule step such as step chooseleaf host.</source>\n        <target>Asegúrese de que no hay dos porciones en una papelera con el mismo\n      dominio de error. Por ejemplo, si el dominio de error es host, no debe haber dos porciones almacenadas en el mismo\n      host. Se usa para crear un paso de regla de CRUSH, por ejemplo, "step chooseleaf host".</target>\n      </trans-unit>\n      <trans-unit id="ac392ac9c6da5fde6da80fc57b9c09402fb6e73d" datatype="html">\n        <source>Restrict placement to devices of a specific class\n      (e.g., ssd or hdd), using the crush device class names in the CRUSH map.</source>\n        <target>Restringe la colocación a dispositivos de una clase concreta\n      (p.ej., ssd o hdd) usando los nombre de clase de dispositivo CRUSH en el mapa de CRUSH.</target>\n      </trans-unit>\n      <trans-unit id="62bcb9ae5583a088649b1adf5787a86ca3334f89" datatype="html">\n        <source>Set the directory name from which the erasure code plugin is loaded.</source>\n        <target>Define el nombre de directorio del que se cargará el complemento de código de borrado.</target>\n      </trans-unit>\n      <trans-unit id="c8f10184a8433d132ede0a2c0c1aa96f291cacfa" datatype="html">\n        <source>Allows all operations</source>\n        <target>Permite todas las operaciones</target>\n      </trans-unit>\n      <trans-unit id="82077ee97c11ee76efc3adf253b7b26654544317" datatype="html">\n        <source>Allows only operations that do not modify the server</source>\n        <target>Permite solo las operaciones que no modifican el servidor</target>\n      </trans-unit>\n      <trans-unit id="22b5212ec10449dbf0a0af0ad34122eac51b5f2a" datatype="html">\n        <source>Does not allow read or write operations, but allows any other operation</source>\n        <target>No permite operaciones de lectura o escritura, pero sí cualquier otra</target>\n      </trans-unit>\n      <trans-unit id="9799d0f8c4b7727ae239fedfe3c0ce127feb7a50" datatype="html">\n        <source>Does not allow read, write, or any operation that modifies file        attributes or directory content</source>\n        <target>No permite operaciones de lectura o escritura, ni ninguna otra que modifique los atributos del archivo o el contenido del directorio</target>\n      </trans-unit>\n      <trans-unit id="aeddefe0af87025d8f00699aa94bed8216a99a58" datatype="html">\n        <source>Allows no access at all</source>\n        <target>No permite ningún tipo de acceso</target>\n      </trans-unit>\n      <trans-unit id="a436c6a4025a749198e93cac239de8deede72211" datatype="html">\n        <source>-- Select the priority --</source>\n        <target>-- Seleccione la prioridad --</target>\n      </trans-unit>\n      <trans-unit id="9556266f0a2b1762a44b686f2bb21dbfefb01c12" datatype="html">\n        <source>Low</source>\n        <target>Baja</target>\n      </trans-unit>\n      <trans-unit id="72279141a67cc042d9864102b703216cc8a428a3" datatype="html">\n        <source>High</source>\n        <target>Alta</target>\n      </trans-unit>\n      <trans-unit id="6080b77234e92ad41bb52653b239c4c4f851317d" datatype="html">\n        <source>Error</source>\n        <target>Error</target>\n      </trans-unit>\n      <trans-unit id="c43dc1967a603fefb886149ac35863a06d5b4ce5" datatype="html">\n        <source>Information</source>\n        <target>Información</target>\n      </trans-unit>\n      <trans-unit id="1e035e6ccfab771cad4226b2ad230cb0d4a88cba" datatype="html">\n        <source>Success</source>\n        <target>Success</target>\n      </trans-unit>\n      <trans-unit id="61fd1cffcb763cbfd5829071723cf9b647174bd9" datatype="html">\n        <source>An error occurred.</source>\n        <target>An error occurred.</target>\n      </trans-unit>\n      <trans-unit id="e6ca3c0efaf51e6d45a7f92f58bac37140c3fda4" datatype="html">\n        <source>Last 5 minutes</source>\n        <target>Últimos 5 minutos</target>\n      </trans-unit>\n      <trans-unit id="b0ecb2bbc548cc9bd95050fd8f0c84586d083fe2" datatype="html">\n        <source>Last 15 minutes</source>\n        <target>Últimos 15 minutos</target>\n      </trans-unit>\n      <trans-unit id="857ae67deb51353120b203b0f2a06b0c48ef49fa" datatype="html">\n        <source>Last 30 minutes</source>\n        <target>Últimos 30 minutos</target>\n      </trans-unit>\n      <trans-unit id="7b1738fad314e936dc14b94db8f43da736942308" datatype="html">\n        <source>Last 1 hour (Default)</source>\n        <target>Última hora (opción por defecto)</target>\n      </trans-unit>\n      <trans-unit id="a428288224389726cef9d9bd8d1d7808cccd7ffd" datatype="html">\n        <source>Last 3 hours</source>\n        <target>Últimas 3 horas</target>\n      </trans-unit>\n      <trans-unit id="7cbabecc8d80cf183ac199cfaeb7619d56e5d43f" datatype="html">\n        <source>Last 6 hours</source>\n        <target>Últimas 6 horas</target>\n      </trans-unit>\n      <trans-unit id="1a389cdf64187d34cf99eec30a290e3fa7d4744f" datatype="html">\n        <source>Last 12 hours</source>\n        <target>Últimas 12 horas</target>\n      </trans-unit>\n      <trans-unit id="9e0ba5f591380a94d594a76288f0c41aa97eb9c2" datatype="html">\n        <source>Last 24 hours</source>\n        <target>Últimas 24 horas</target>\n      </trans-unit>\n      <trans-unit id="e430eda9c785cd43465b7cbb400ee914f1057247" datatype="html">\n        <source>Yesterday</source>\n        <target>Ayer</target>\n      </trans-unit>\n      <trans-unit id="7fb1099e29660162f9154d5b2feee7743a423df6" datatype="html">\n        <source>Today</source>\n        <target>Hoy</target>\n      </trans-unit>\n      <trans-unit id="33904058a97a64bd189bed84038b1ffe719769c7" datatype="html">\n        <source>Today so far</source>\n        <target>Hoy hasta ahora</target>\n      </trans-unit>\n      <trans-unit id="3b0b849be007510021d3d383df75bec95ef9c97b" datatype="html">\n        <source>Day before yesterday</source>\n        <target>Anteayer</target>\n      </trans-unit>\n      <trans-unit id="6b430c2c394c4d32ebd7d46c8c46ab60e1b29ccb" datatype="html">\n        <source>Last 2 days</source>\n        <target>Los últimos 2 días</target>\n      </trans-unit>\n      <trans-unit id="d5e812a87a5d57a94200a2013027cab76a7c4863" datatype="html">\n        <source>This day last week</source>\n        <target>Este día la semana pasada</target>\n      </trans-unit>\n      <trans-unit id="d00edc936eeab6b5577401f115ca86ca2c87dc9a" datatype="html">\n        <source>Previous week</source>\n        <target>La semana pasada</target>\n      </trans-unit>\n      <trans-unit id="b036e40577baa6b918b2267d319d4b3aeaa88a5a" datatype="html">\n        <source>This week</source>\n        <target>Esta semana</target>\n      </trans-unit>\n      <trans-unit id="99ad5a6096b3fcb3f021f3779bae710cdfeb8934" datatype="html">\n        <source>This week so far</source>\n        <target>Esta semana hasta ahora</target>\n      </trans-unit>\n      <trans-unit id="02e0243b60007368f87dc01e083f232dd025096d" datatype="html">\n        <source>Last 7 days</source>\n        <target>Los últimos 7 días</target>\n      </trans-unit>\n      <trans-unit id="c3b08b07b5ab98e7cdcf18df39355690ab7d3884" datatype="html">\n        <source>Previous month</source>\n        <target>El mes pasado</target>\n      </trans-unit>\n      <trans-unit id="1b2562c6d5aa90644e7dc91feee82e2005fceb33" datatype="html">\n        <source>This month</source>\n        <target>Este mes</target>\n      </trans-unit>\n      <trans-unit id="26b4b18c5917934abb169ba9aa490e57f7bf10b8" datatype="html">\n        <source>This month so far</source>\n        <target>Este mes hasta ahora</target>\n      </trans-unit>\n      <trans-unit id="7668986b9f753fcd72ad4a00b1a0c4861d1f7fb8" datatype="html">\n        <source>Last 30 days</source>\n        <target>Los últimos 30 días</target>\n      </trans-unit>\n      <trans-unit id="ba1e822408d90c6fbd2989100fa648bfd5e8ee84" datatype="html">\n        <source>Last 90 days</source>\n        <target>Los últimos 90 días</target>\n      </trans-unit>\n      <trans-unit id="c3df03f899a914c4181adcdc8a3f077424f7b6e8" datatype="html">\n        <source>Last 6 months</source>\n        <target>Los últimos 6 meses</target>\n      </trans-unit>\n      <trans-unit id="7f9a92757580c9f31c309c0a3812ea429274eadf" datatype="html">\n        <source>Last 1 year</source>\n        <target>El último año</target>\n      </trans-unit>\n      <trans-unit id="5a9fede30ff65cb4b4426f6b1ed31afb67ecd7b0" datatype="html">\n        <source>Previous year</source>\n        <target>El año pasado</target>\n      </trans-unit>\n      <trans-unit id="65cefcc53d1f6445df7568e8a40c49165f1090ee" datatype="html">\n        <source>This year</source>\n        <target>Este año</target>\n      </trans-unit>\n      <trans-unit id="1f68b766944dc3865bddab765fe952b0c1c43f92" datatype="html">\n        <source>This year so far</source>\n        <target>Este año hasta ahora</target>\n      </trans-unit>\n      <trans-unit id="4d4b77e614f8043fdadef5d6d235655bb48eb311" datatype="html">\n        <source>Last 2 years</source>\n        <target>Los últimos 2 años</target>\n      </trans-unit>\n      <trans-unit id="138afa339ea6e75d25a474affe1edbcb90e00ec0" datatype="html">\n        <source>Last 5 years</source>\n        <target>Los últimos 5 años</target>\n      </trans-unit>\n      <trans-unit id="37391297bb077a6f84484930261b01a3ce38327b" datatype="html">\n        <source>No items selected.</source>\n        <target>No se ha seleccionado ningún elemento.</target>\n      </trans-unit>\n      <trans-unit id="2c1e52ee832661b4a0f570877d24661736b16af1" datatype="html">\n        <source>Deselect item to select again</source>\n        <target>Deseleccione el elemento para volver a seleccionarlo</target>\n      </trans-unit>\n      <trans-unit id="c8c9c6e5918659336824bbdda3501c66eaa79a4c" datatype="html">\n        <source>Selection limit reached</source>\n        <target>Se ha alcanzado el límite de selección</target>\n      </trans-unit>\n      <trans-unit id="02d184c288f567825a1fcbf83bcd3099a10853d5" datatype="html">\n        <source>Filter tags</source>\n        <target>Filtrar etiquetas</target>\n      </trans-unit>\n      <trans-unit id="aa00748e49c269956837d6f3acdd8d218796a8d8" datatype="html">\n        <source>Add badge</source>\n        <target>Añadir insignia</target>\n      </trans-unit>\n      <trans-unit id="4078a92d8121abdce7d8f346a88914923ec835fc" datatype="html">\n        <source>There are no items available.</source>\n        <target>No hay ningún elemento disponible.</target>\n      </trans-unit>\n      <trans-unit id="55dd9f44e64851bca3b7bfc9283a5ff36f030228" datatype="html">\n        <source>Set</source>\n        <target>Set</target>\n      </trans-unit>\n      <trans-unit id="019d4bd6a5690f0cfa0ecf346a4e6bf7f0d8debb" datatype="html">\n        <source>Remove</source>\n        <target>Remove</target>\n      </trans-unit>\n      <trans-unit id="e168fe6c468b3ad632731395ef89860274242844" datatype="html">\n        <source>Unset</source>\n        <target>Unset</target>\n      </trans-unit>\n      <trans-unit id="54a4a3132b693575728a45a5f3154ad4c9af404b" datatype="html">\n        <source>Clone</source>\n        <target>Clonar</target>\n      </trans-unit>\n      <trans-unit id="1979da7460819153e11d2078244645d94291b69c" datatype="html">\n        <source>Copy</source>\n        <target>Copiar</target>\n      </trans-unit>\n      <trans-unit id="2e5e77dbaadd6588d8bbf737139fd9806294ae28" datatype="html">\n        <source>Deep Scrub</source>\n        <target>Depuración profunda</target>\n      </trans-unit>\n      <trans-unit id="bf463b189696c19769ea263227e6c22aefafb918" datatype="html">\n        <source>Destroy</source>\n        <target>Destruir</target>\n      </trans-unit>\n      <trans-unit id="b4e94d529ff10db4d86f3f48900fa67ede3411fd" datatype="html">\n        <source>Evict</source>\n        <target>Evict</target>\n      </trans-unit>\n      <trans-unit id="3747fff7faf52b436ecff5fb8555091736d92c70" datatype="html">\n        <source>Flatten</source>\n        <target>Aplanar</target>\n      </trans-unit>\n      <trans-unit id="66fdbf32e5449cc54a3d1e19c7b8f4ea238facfb" datatype="html">\n        <source>Mark Down</source>\n        <target>Marcar para desactivar</target>\n      </trans-unit>\n      <trans-unit id="0cda3e824fb2f9c731e5a60b859dedc1fe03127e" datatype="html">\n        <source>Mark In</source>\n        <target>Marcar para incluir</target>\n      </trans-unit>\n      <trans-unit id="f833354f43cb38c5716faa8759a9bbdd1ab8f199" datatype="html">\n        <source>Mark Lost</source>\n        <target>Marcar como perdido</target>\n      </trans-unit>\n      <trans-unit id="75fb9f970ba365398c45e57bbb1019c009f6b832" datatype="html">\n        <source>Mark Out</source>\n        <target>Marcar para excluir</target>\n      </trans-unit>\n      <trans-unit id="45480c03b0a3a37ff8f6a5600a6a034b40fbaea4" datatype="html">\n        <source>Protect</source>\n        <target>Proteger</target>\n      </trans-unit>\n      <trans-unit id="e26f9cf3666aace4e524b1505c9795d76d87738d" datatype="html">\n        <source>Rename</source>\n        <target>Renombrar</target>\n      </trans-unit>\n      <trans-unit id="d5cec7468241d72cafd86ad1af6d55b09a6e3ae5" datatype="html">\n        <source>Restore</source>\n        <target>Restaurar</target>\n      </trans-unit>\n      <trans-unit id="ba073985cfd2528c77a746ed596b2f2052b973c5" datatype="html">\n        <source>Move to Trash</source>\n        <target>Mover a la papelera</target>\n      </trans-unit>\n      <trans-unit id="3ea9b96a21a499d296a7f25407da0f3df6c2d5ed" datatype="html">\n        <source>Unprotect</source>\n        <target>Desproteger</target>\n      </trans-unit>\n      <trans-unit id="024cdb2814b0cb3f4ced148f1a0b9854447cb214" datatype="html">\n        <source>Change</source>\n        <target>Change</target>\n      </trans-unit>\n      <trans-unit id="011f3e2bfc1fd8407eb5f599352665bfeb145664" datatype="html">\n        <source>Recreate</source>\n        <target>Recreate</target>\n      </trans-unit>\n      <trans-unit id="6df2dfa48bef5510c82fb43f4e71a7f9557f3d71" datatype="html">\n        <source>Expire</source>\n        <target>Expire</target>\n      </trans-unit>\n      <trans-unit id="28df1b02fd88d2deb0212bc5d7ff34cf9492fa54" datatype="html">\n        <source>Deleted</source>\n        <target>Suprimido</target>\n      </trans-unit>\n      <trans-unit id="80e3b490720757978c99a7b5af3885faf202b955" datatype="html">\n        <source>Added</source>\n        <target>Added</target>\n      </trans-unit>\n      <trans-unit id="1aa4883bc4f1352f7a0bdd94810a9bf6dc22bd02" datatype="html">\n        <source>Removed</source>\n        <target>Removed</target>\n      </trans-unit>\n      <trans-unit id="402f3ee47f98fbbc68530239b1ddcbb9e96a460c" datatype="html">\n        <source>Edited</source>\n        <target>Edited</target>\n      </trans-unit>\n      <trans-unit id="96d56ec71c6e78cb4d6204c4a9359a3d38fcdb59" datatype="html">\n        <source>Canceled</source>\n        <target>Canceled</target>\n      </trans-unit>\n      <trans-unit id="a3318a2ee2bd0064b6b9ff72a4018b679ec63125" datatype="html">\n        <source>Cloned</source>\n        <target>Clonado</target>\n      </trans-unit>\n      <trans-unit id="ef90545bc832876c0d7f9a10363c75137472bbb5" datatype="html">\n        <source>Copied</source>\n        <target>Copiado</target>\n      </trans-unit>\n      <trans-unit id="5a13d3834133e09544ec93885662f181372dcf46" datatype="html">\n        <source>Deep Scrubbed</source>\n        <target>Deep Scrubbed</target>\n      </trans-unit>\n      <trans-unit id="7c9efb91434a5c15e9579c0b31c8e184b8c8240d" datatype="html">\n        <source>Destroyed</source>\n        <target>Destroyed</target>\n      </trans-unit>\n      <trans-unit id="647059bf3ea098fffedf92ddfad792bb3daa3c95" datatype="html">\n        <source>Flattened</source>\n        <target>Aplanado</target>\n      </trans-unit>\n      <trans-unit id="8df71e952319eafa71c8e6ef6144b780af8813ff" datatype="html">\n        <source>Marked Down</source>\n        <target>Marked Down</target>\n      </trans-unit>\n      <trans-unit id="25658f5a080a1cab3b91e17b756b1d1dc46bb9b3" datatype="html">\n        <source>Marked In</source>\n        <target>Marked In</target>\n      </trans-unit>\n      <trans-unit id="ebcf306036a6c5579df9448f77eca98d491db245" datatype="html">\n        <source>Marked Lost</source>\n        <target>Marked Lost</target>\n      </trans-unit>\n      <trans-unit id="3a8803369ac18be3ad762384b9fda095fe2a6dcc" datatype="html">\n        <source>Marked Out</source>\n        <target>Marked Out</target>\n      </trans-unit>\n      <trans-unit id="0fe2a62ea7c609fa8326ee6d38060bc5ba8bf34f" datatype="html">\n        <source>Protected</source>\n        <target>Protected</target>\n      </trans-unit>\n      <trans-unit id="69b0446c6c2411c4fe01e411b8ceec72d4044fb4" datatype="html">\n        <source>Purged</source>\n        <target>Limpiado</target>\n      </trans-unit>\n      <trans-unit id="d53de1a61bd51c815dc374c7f97e4ee69230e412" datatype="html">\n        <source>Renamed</source>\n        <target>Renamed</target>\n      </trans-unit>\n      <trans-unit id="86fc6cae82c095f14105eb8a61d7b3fa948304b7" datatype="html">\n        <source>Restored</source>\n        <target>Restaurado</target>\n      </trans-unit>\n      <trans-unit id="e87dd0fd35460cb743046db918dfce2137b5977a" datatype="html">\n        <source>Reweighted</source>\n        <target>Reweighted</target>\n      </trans-unit>\n      <trans-unit id="dc21fd6547f2325c67f6deff925f29eb07a2db3e" datatype="html">\n        <source>Rolled back</source>\n        <target>Revertido</target>\n      </trans-unit>\n      <trans-unit id="15dec4c2d73a516c10aef90aeeea3364fa794615" datatype="html">\n        <source>Scrubbed</source>\n        <target>Scrubbed</target>\n      </trans-unit>\n      <trans-unit id="8dc560ded67482f109a98e0638851ad1d37188b3" datatype="html">\n        <source>Showed</source>\n        <target>Showed</target>\n      </trans-unit>\n      <trans-unit id="197259b7ea76f15c6d0a64b075a673fd4112ada7" datatype="html">\n        <source>Moved to Trash</source>\n        <target>Moved to Trash</target>\n      </trans-unit>\n      <trans-unit id="8fb15cb102cd75b562680290b7e04c44d80018f2" datatype="html">\n        <source>Unprotected</source>\n        <target>Unprotected</target>\n      </trans-unit>\n      <trans-unit id="8588eafa498262a1cbb5043ad68cf0ff669c4f10" datatype="html">\n        <source>Recreated</source>\n        <target>Recreated</target>\n      </trans-unit>\n      <trans-unit id="ffde7468d7b5cad6990095ed68ddee3d67cd02f8" datatype="html">\n        <source>Expired</source>\n        <target>Expired</target>\n      </trans-unit>\n      <trans-unit id="4f20f2d5a6882190892e58b85f6ccbedfa737952" datatype="html">\n        <source>Yes</source>\n        <target>Sí</target>\n      </trans-unit>\n      <trans-unit id="3d3ae7deebc5949b0c1c78b9847886a94321d9fd" datatype="html">\n        <source>No</source>\n        <target>No</target>\n      </trans-unit>\n      <trans-unit id="baf918eed9d4050cdad2acebc0f27b6eaf8e3fcd" datatype="html">\n        <source>Required rules for passwords:</source>\n        <target>Required rules for passwords:</target>\n      </trans-unit>\n      <trans-unit id="40f61909e1f017c4652e64b055089beef19cf871" datatype="html">\n        <source>Must contain at least \n          <x id="INTERPOLATION" equiv-text="{{length}}"/> characters\n        </source>\n        <target>Must contain at least \n          <x id="INTERPOLATION" equiv-text="{{length}}"/> characters\n        </target>\n      </trans-unit>\n      <trans-unit id="f4f5dbb3a05b5f38dab47ef38dad88a4574a765a" datatype="html">\n        <source>Must not be the same as the previous one</source>\n        <target>Must not be the same as the previous one</target>\n      </trans-unit>\n      <trans-unit id="607370e07b50087c196a5fcea9184e3d693226b2" datatype="html">\n        <source>Cannot contain the username</source>\n        <target>Cannot contain the username</target>\n      </trans-unit>\n      <trans-unit id="e6e355eab2596251aaa42623b41e6026d5c03e3b" datatype="html">\n        <source>Cannot contain any configured keyword</source>\n        <target>Cannot contain any configured keyword</target>\n      </trans-unit>\n      <trans-unit id="394bcd6d5e4da75b720c4d28f94f2aef7bb38355" datatype="html">\n        <source>Cannot contain any repetitive characters e.g. "aaa"</source>\n        <target>Cannot contain any repetitive characters e.g. "aaa"</target>\n      </trans-unit>\n      <trans-unit id="030e61e0bcf2536fb047645db6182d43e9fca9e9" datatype="html">\n        <source>Cannot contain any sequential characters e.g. "abc"</source>\n        <target>Cannot contain any sequential characters e.g. "abc"</target>\n      </trans-unit>\n      <trans-unit id="99fa0b67376d40142bd4d3ace3344abf4f98b6a5" datatype="html">\n        <source>Your matcher seems to match no currently defined rule or active alert.</source>\n        <target>Your matcher seems to match no currently defined rule or active alert.</target>\n      </trans-unit>\n      <trans-unit id="7e284852732c303eb1f47de9aca2569e41aeffed" datatype="html">\n        <source>no active alerts</source>\n        <target>no active alerts</target>\n      </trans-unit>\n      <trans-unit id="b8042829e4fbe7b09fd9bac9fa0ecf5cc1802fee" datatype="html">\n        <source>1 active alert</source>\n        <target>1 active alert</target>\n      </trans-unit>\n      <trans-unit id="e24adce97669cb0fc74cc13fdc14179b6f78ea5e" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{n}}"/> active alerts\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{n}}"/> active alerts\n        </target>\n      </trans-unit>\n      <trans-unit id="d8fb058ff5883731d38a132da4ca45cfe8d719a3" datatype="html">\n        <source>Matches 1 rule</source>\n        <target>Matches 1 rule</target>\n      </trans-unit>\n      <trans-unit id="90aaef24d192e67c3fbc2ec6f8bfaff211cea128" datatype="html">\n        <source>Matches \n          <x id="INTERPOLATION" equiv-text="{{n}}"/> rules\n        </source>\n        <target>Matches \n          <x id="INTERPOLATION" equiv-text="{{n}}"/> rules\n        </target>\n      </trans-unit>\n      <trans-unit id="f4685dc581e18244cd410f1057a8c56a9dbfe8df" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rules}}"/> with \n          <x id="INTERPOLATION_1" equiv-text="{{alerts}}"/>.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rules}}"/> with \n          <x id="INTERPOLATION_1" equiv-text="{{alerts}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8fd98fb2a0f24ba72cde0787dd3f02cfc17de469" datatype="html">\n        <source>Quality of Service</source>\n        <target>Calidad del servicio</target>\n      </trans-unit>\n      <trans-unit id="2c53f3ce2c6fff9025a7b41cc334521725da6e7b" datatype="html">\n        <source>BPS Limit</source>\n        <target>Límite de BPS</target>\n      </trans-unit>\n      <trans-unit id="e897624a392419386b035bcd8529337e262fc41d" datatype="html">\n        <source>The desired limit of IO bytes per second.</source>\n        <target>El límite deseado de bytes de E/S por segundo.</target>\n      </trans-unit>\n      <trans-unit id="dc56f77e4507da7e86a3accd0a2a7099a838d539" datatype="html">\n        <source>IOPS Limit</source>\n        <target>Límite de IOPS</target>\n      </trans-unit>\n      <trans-unit id="141c3f6eadbb35b0e17b2f847e4cac23240a6ea9" datatype="html">\n        <source>The desired limit of IO operations per second.</source>\n        <target>El límite deseado de operaciones de E/S por segundo.</target>\n      </trans-unit>\n      <trans-unit id="3b3b101f16c38806e984b157e0cf22cd21451122" datatype="html">\n        <source>Read BPS Limit</source>\n        <target>Límite de BPS de lectura</target>\n      </trans-unit>\n      <trans-unit id="87835fabb6a645873f3829a450ca1d58f97754f2" datatype="html">\n        <source>The desired limit of read bytes per second.</source>\n        <target>El límite deseado de bytes de lectura por segundo.</target>\n      </trans-unit>\n      <trans-unit id="28b485e700df46d70b96666099f714e3ae9e5c2e" datatype="html">\n        <source>Read IOPS Limit</source>\n        <target>Límite de IOPS de lectura</target>\n      </trans-unit>\n      <trans-unit id="5907bd1a5cf3e20e740bca676cb1538372e1f9ff" datatype="html">\n        <source>The desired limit of read operations per second.</source>\n        <target>El límite deseado de operaciones de lectura por segundo.</target>\n      </trans-unit>\n      <trans-unit id="07317121f0b194987d4dee8b322f521ac17bf124" datatype="html">\n        <source>Write BPS Limit</source>\n        <target>Límite de BPS de escritura</target>\n      </trans-unit>\n      <trans-unit id="4022c78bd9132ca2ec67927f8484c437d1d9b6fd" datatype="html">\n        <source>The desired limit of write bytes per second.</source>\n        <target>El límite deseado de bytes de escritura por segundo.</target>\n      </trans-unit>\n      <trans-unit id="52c22c19f98ff3a09bd811292954a889b93d28b7" datatype="html">\n        <source>Write IOPS Limit</source>\n        <target>Límite de IOPS de escritura</target>\n      </trans-unit>\n      <trans-unit id="0ed62e3fd8654b3191fc7fa959ad3f10f1ea773a" datatype="html">\n        <source>The desired limit of write operations per second.</source>\n        <target>El límite deseado de operaciones de escritura por segundo.</target>\n      </trans-unit>\n      <trans-unit id="d90c99d77864f21f932ee1369019f400c4ad0e2d" datatype="html">\n        <source>BPS Burst</source>\n        <target>Ráfaga de BPS</target>\n      </trans-unit>\n      <trans-unit id="29c32192f4d185139aaaf6d3a766a3411dfeabbe" datatype="html">\n        <source>The desired burst limit of IO bytes.</source>\n        <target>El límite deseado de ráfaga de bytes de E/S.</target>\n      </trans-unit>\n      <trans-unit id="b988b90489e899941e196c3dd0ecc22e37540224" datatype="html">\n        <source>IOPS Burst</source>\n        <target>Ráfaga de IOPS</target>\n      </trans-unit>\n      <trans-unit id="02c5de8ff11870f1b3896f2b45637ce0dba1ed4b" datatype="html">\n        <source>The desired burst limit of IO operations.</source>\n        <target>El límite deseado de ráfaga de operaciones de E/S.</target>\n      </trans-unit>\n      <trans-unit id="7a160538129b37cf595f1651f28b5fac62fbc0f8" datatype="html">\n        <source>Read BPS Burst</source>\n        <target>Ráfaga de BPS de lectura</target>\n      </trans-unit>\n      <trans-unit id="b573a5df16a53b9947288461bc24e6a0eb4341d6" datatype="html">\n        <source>The desired burst limit of read bytes.</source>\n        <target>El límite deseado de ráfaga de bytes de lectura.</target>\n      </trans-unit>\n      <trans-unit id="1d5b8c2a0c653651cc4ca4b8fed9456f449220d1" datatype="html">\n        <source>Read IOPS Burst</source>\n        <target>Ráfaga de IOPS de lectura</target>\n      </trans-unit>\n      <trans-unit id="20b199f9d4a8d08ffefec66040e27639ec221512" datatype="html">\n        <source>The desired burst limit of read operations.</source>\n        <target>El límite deseado de ráfaga de operaciones de lectura.</target>\n      </trans-unit>\n      <trans-unit id="824525ae57992aee629ddffcd500a8b77087ddec" datatype="html">\n        <source>Write BPS Burst</source>\n        <target>Ráfaga de BPS de escritura</target>\n      </trans-unit>\n      <trans-unit id="a90aac4050a5d79765da5e1186909f6d4d7f981d" datatype="html">\n        <source>The desired burst limit of write bytes.</source>\n        <target>El límite deseado de ráfaga de bytes de escritura.</target>\n      </trans-unit>\n      <trans-unit id="35a8c6e6c249c7d16e26aa7c4ef97c06db405070" datatype="html">\n        <source>Write IOPS Burst</source>\n        <target>Ráfaga de IOPS de escritura</target>\n      </trans-unit>\n      <trans-unit id="b356abd41d7e9eea4d20c03d2e6892b6d435ecbd" datatype="html">\n        <source>The desired burst limit of write operations.</source>\n        <target>El límite deseado de ráfaga de operaciones de escritura.</target>\n      </trans-unit>\n      <trans-unit id="24c4d50fe8567de381a20a1745f1b6d37eacaa90" datatype="html">\n        <source>Failed to \n          <x id="INTERPOLATION" equiv-text="{{failure}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{metadata}}"/>\n        </source>\n        <target>Failed to \n          <x id="INTERPOLATION" equiv-text="{{failure}}"/>\n          <x id="INTERPOLATION_1" equiv-text="{{metadata}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="f54b6f09b390d5ade0e354f6c7d4743c10a315cc" datatype="html">\n        <source>Executing</source>\n        <target>Ejecutando</target>\n      </trans-unit>\n      <trans-unit id="5cdfe3e3330ea42bfd29c540dbd268bee97d364d" datatype="html">\n        <source>execute</source>\n        <target>ejecutar</target>\n      </trans-unit>\n      <trans-unit id="6e98e243518daa88be30330fcdbd2d10f8eae4d7" datatype="html">\n        <source>Executed</source>\n        <target>Ejecutado</target>\n      </trans-unit>\n      <trans-unit id="24b09aa5bd909273a023d2d788a2673325c77e31" datatype="html">\n        <source>unknown task</source>\n        <target>tarea desconocida</target>\n      </trans-unit>\n      <trans-unit id="114b5f92b9192b229ffc9a450319a97ccca2aa5c" datatype="html">\n        <source>Creating</source>\n        <target>Creando</target>\n      </trans-unit>\n      <trans-unit id="56695b69d27437ada580a187958407e7c856d46e" datatype="html">\n        <source>create</source>\n        <target>crear</target>\n      </trans-unit>\n      <trans-unit id="9db60170ef3b3b41a863e7d5ee7cec10919b9141" datatype="html">\n        <source>Updating</source>\n        <target>Actualizando</target>\n      </trans-unit>\n      <trans-unit id="64412640835b7d25247cb254d4f911366c0e6862" datatype="html">\n        <source>update</source>\n        <target>actualizar</target>\n      </trans-unit>\n      <trans-unit id="416193bb373d59477458b00e5922d755e2e2cacd" datatype="html">\n        <source>Deleting</source>\n        <target>Suprimiendo</target>\n      </trans-unit>\n      <trans-unit id="d07a282afc7fbdb39cea6e1c9b544882a7260a86" datatype="html">\n        <source>Adding</source>\n        <target>Adding</target>\n      </trans-unit>\n      <trans-unit id="a11ec4e640f241329943237d2a3cceaa4823658e" datatype="html">\n        <source>add</source>\n        <target>add</target>\n      </trans-unit>\n      <trans-unit id="ea1c70b874904216cc5af24bd7cb3dab2d074d42" datatype="html">\n        <source>Removing</source>\n        <target>Removing</target>\n      </trans-unit>\n      <trans-unit id="4da487aec5a29ce4372e7b512227cd665b01fe6f" datatype="html">\n        <source>remove</source>\n        <target>remove</target>\n      </trans-unit>\n      <trans-unit id="0e21237afdc84ec360c374fa678d9b1cfaa334f9" datatype="html">\n        <source>Importing</source>\n        <target>Importing</target>\n      </trans-unit>\n      <trans-unit id="c6b4128c006f4cc0564137e1a1482b5c432aa347" datatype="html">\n        <source>import</source>\n        <target>import</target>\n      </trans-unit>\n      <trans-unit id="3b9f4138abbca0fd66db1f7332f4b54e2a6d916d" datatype="html">\n        <source>Imported</source>\n        <target>Imported</target>\n      </trans-unit>\n      <trans-unit id="3f757cfc3749ebb5d4462017cb60138ca082f15f" datatype="html">\n        <source>RBD \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>RBD \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="a6c681e6130fe440ae40de99a405fcf5c7eefee1" datatype="html">\n        <source>RBD snapshot \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>RBD snapshot \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="2bf18ddf3785f7afb4f01dcf63d3d8c40f4bfba5" datatype="html">\n        <source>mirroring site name</source>\n        <target>mirroring site name</target>\n      </trans-unit>\n      <trans-unit id="167b73bb24b4695614ce0fc567b7a45080457a44" datatype="html">\n        <source>bootstrap token</source>\n        <target>bootstrap token</target>\n      </trans-unit>\n      <trans-unit id="4fb54a0291f49583c317d4a3690239141b5a8f68" datatype="html">\n        <source>mirror mode for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>mirror mode for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="6621ab6e122a149326a1e48e9051a41e7f203cf6" datatype="html">\n        <source>mirror peer for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>mirror peer for pool \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="db15adc778317d551232fe712eb03a2c1eac4a43" datatype="html">\n        <source>all dashboards</source>\n        <target>all dashboards</target>\n      </trans-unit>\n      <trans-unit id="6c19652df9249c60827044ed6274933cab180c63" datatype="html">\n        <source>OSDs (DriveGroups: \n          <x id="INTERPOLATION" equiv-text="{{tracking_id}}"/>)\n        </source>\n        <target>OSDs (DriveGroups: \n          <x id="INTERPOLATION" equiv-text="{{tracking_id}}"/>)\n        </target>\n      </trans-unit>\n      <trans-unit id="1b559dbd9cc9664fd788c2da9a10d3abafe066cb" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="8fc28e1103d9f2ef47b9fff9a4f74e8365c7cf19" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="1cdc7ea44fcb85d0cfcf6e7379d625d8674a8fbe" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="460f07780389d24c6a540c007c7367a56afad585" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> is busy.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> is busy.\n        </target>\n      </trans-unit>\n      <trans-unit id="1ff7676ad1e991102224540a32dd44ad1ab88aa8" datatype="html">\n        <source>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.\n        </source>\n        <target>\n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.\n        </target>\n      </trans-unit>\n      <trans-unit id="c3a1dcca2b2ba20fbe39e2441e7bb1cf9c20cdf3" datatype="html">\n        <source>Cloning</source>\n        <target>Clonando</target>\n      </trans-unit>\n      <trans-unit id="b5fa4e0a3a279dee5b6bf7b823e54387f7c79994" datatype="html">\n        <source>clone</source>\n        <target>clonar</target>\n      </trans-unit>\n      <trans-unit id="29b7452e8367af9aa8fa828f16ff94c3530e7a1a" datatype="html">\n        <source>Snapshot of \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> must be protected.\n        </source>\n        <target>Snapshot of \n          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> must be protected.\n        </target>\n      </trans-unit>\n      <trans-unit id="369f93b9a07a9465f7a261e9f0021b6cfa7180c5" datatype="html">\n        <source>Copying</source>\n        <target>Copiando</target>\n      </trans-unit>\n      <trans-unit id="37584f889855d153a106f5dffe23d21f9453c8ff" datatype="html">\n        <source>copy</source>\n        <target>copiar</target>\n      </trans-unit>\n      <trans-unit id="6ea9e313a04ef59222feaadfe84e97b4c69d7e9e" datatype="html">\n        <source>Flattening</source>\n        <target>Aplanando</target>\n      </trans-unit>\n      <trans-unit id="1f57593581b64d2d4c70eab1736bd9bccc66a7dc" datatype="html">\n        <source>flatten</source>\n        <target>aplanar</target>\n      </trans-unit>\n      <trans-unit id="d990ef9680cd23bbe652c37eb46bf038cfee80ad" datatype="html">\n        <source>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/>.\n        </source>\n        <target>Name is already used by \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/>.\n        </target>\n      </trans-unit>\n      <trans-unit id="a101745d080ef65c09bd5fafc796f94ddb9f9d60" datatype="html">\n        <source>Cannot unprotect \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it contains child images.\n        </source>\n        <target>Cannot unprotect \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it contains child images.\n        </target>\n      </trans-unit>\n      <trans-unit id="647968f4cde7786cd53ec8e6aa9802ac6824a262" datatype="html">\n        <source>Cannot delete \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it\'s protected.\n        </source>\n        <target>Cannot delete \n          <x id="INTERPOLATION" equiv-text="{{snap_name}}"/> because it\'s protected.\n        </target>\n      </trans-unit>\n      <trans-unit id="57ddd3e15cf0ce974356b757451f50116a27272b" datatype="html">\n        <source>Rolling back</source>\n        <target>Revirtiendo</target>\n      </trans-unit>\n      <trans-unit id="a8913a3a5ee61f2598b5f0432cb9b20cdd60548e" datatype="html">\n        <source>rollback</source>\n        <target>revertir</target>\n      </trans-unit>\n      <trans-unit id="de8676f0017c9db6c49388cd7d63cd0a83a0c1dc" datatype="html">\n        <source>Moving</source>\n        <target>Moviendo</target>\n      </trans-unit>\n      <trans-unit id="2d810712308ae63cb795d809687a3254ef7a2f05" datatype="html">\n        <source>move</source>\n        <target>mover</target>\n      </trans-unit>\n      <trans-unit id="f3ba995236e5c1cc77686108980c099a90aec754" datatype="html">\n        <source>Moved</source>\n        <target>Movido</target>\n      </trans-unit>\n      <trans-unit id="d0422169252d132624a20f267b5c29f28cb53ebe" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' to trash\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' to trash\n        </target>\n      </trans-unit>\n      <trans-unit id="b603e2dfed9808222fbcb5a7c5f4da2cc6ae2aae" datatype="html">\n        <source>Could not find image.</source>\n        <target>No se encuentra la imagen.</target>\n      </trans-unit>\n      <trans-unit id="398debe73006b1fe5177ed81d2e7b0cc852f61ec" datatype="html">\n        <source>Restoring</source>\n        <target>Restaurando</target>\n      </trans-unit>\n      <trans-unit id="c252806fb400e79bac194696632c9362742b1538" datatype="html">\n        <source>restore</source>\n        <target>restaurar</target>\n      </trans-unit>\n      <trans-unit id="30b8bcf69b3f1754b7abba173fd806cfcea4cb04" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' into \'\n          <x id="INTERPOLATION_1" equiv-text="{{new_id}}"/>\'\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' into \'\n          <x id="INTERPOLATION_1" equiv-text="{{new_id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="13b7b241cef989fe0932ddd180e757658e1817e7" datatype="html">\n        <source>Image name \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' is already in use.\n        </source>\n        <target>Image name \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\' is already in use.\n        </target>\n      </trans-unit>\n      <trans-unit id="cc1cee12c833e8fbbef28a2a7c449dc530da912d" datatype="html">\n        <source>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </source>\n        <target>image \'\n          <x id="INTERPOLATION" equiv-text="{{id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="38e5f47f8bef505652f3e87f46efb00ead1350a3" datatype="html">\n        <source>Purging</source>\n        <target>Limpiando</target>\n      </trans-unit>\n      <trans-unit id="e4e57747f123f0fe6fe3a0ecf608f8bc287dec0c" datatype="html">\n        <source>purge</source>\n        <target>limpiar</target>\n      </trans-unit>\n      <trans-unit id="1560d58fdf39663929653250d45f5b1dfe078fea" datatype="html">\n        <source>all pools</source>\n        <target>todos los repositorios</target>\n      </trans-unit>\n      <trans-unit id="1ac3dc50c2c3d86e98bc0967ee1e696810a2d3aa" datatype="html">\n        <source>images from \n          <x id="INTERPOLATION" equiv-text="{{message}}"/>\n        </source>\n        <target>images from \n          <x id="INTERPOLATION" equiv-text="{{message}}"/>\n        </target>\n      </trans-unit>\n      <trans-unit id="02278abbb044ece04ab6bd80bd2060198d31d83b" datatype="html">\n        <source>Cannot disable mirroring because it contains a peer.</source>\n        <target>No es posible inhabilitar la duplicación porque contiene un par</target>\n      </trans-unit>\n      <trans-unit id="5c4525a1b76ca54d1aadeaecfdb83aedc2eec6e0" datatype="html">\n        <source>Identifying</source>\n        <target>Identifying</target>\n      </trans-unit>\n      <trans-unit id="ffd067e54a061d1f27cb35f0cf67ef7f29e19111" datatype="html">\n        <source>identify</source>\n        <target>identify</target>\n      </trans-unit>\n      <trans-unit id="7c921f339274688c22ba1acac7af6b097ad3599d" datatype="html">\n        <source>Identified</source>\n        <target>Identified</target>\n      </trans-unit>\n      <trans-unit id="3307492c27c2150cd26c514030444e11fd61089f" datatype="html">\n        <source>device \'\n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\' on host \'\n          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>\'\n        </source>\n        <target>device \'\n          <x id="INTERPOLATION" equiv-text="{{device}}"/>\' on host \'\n          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="f123ae1fc3b000e5d08e766dd78bff162afe709d" datatype="html">\n        <source>host \'\n          <x id="INTERPOLATION" equiv-text="{{hostname}}"/>\'\n        </source>\n        <target>host \'\n          <x id="INTERPOLATION" equiv-text="{{hostname}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="c1af76189dcefd094da2bc1a4a63968f3bab5789" datatype="html">\n        <source>OSD \'\n          <x id="INTERPOLATION" equiv-text="{{svc_id}}"/>\'\n        </source>\n        <target>OSD \'\n          <x id="INTERPOLATION" equiv-text="{{svc_id}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="dfe70001dc590a9e12512cbb206aa29fb36fd00b" datatype="html">\n        <source>pool \'\n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>\'\n        </source>\n        <target>pool \'\n          <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="59630daf2f4786690fae0cdad55da8887236eabe" datatype="html">\n        <source>erasure code profile \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </source>\n        <target>erasure code profile \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="79052d6c47258dc19ada12dbb2563761102b6f1d" datatype="html">\n        <source>crush rule \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </source>\n        <target>crush rule \'\n          <x id="INTERPOLATION" equiv-text="{{name}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="369462e5e018360e0600bb570866201ad5c3c8a8" datatype="html">\n        <source>target \'\n          <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>\'\n        </source>\n        <target>target \'\n          <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>\'\n        </target>\n      </trans-unit>\n      <trans-unit id="cf41310917cb19b335e5a950972bbff2346f7a47" datatype="html">\n        <source>NFS \n          <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>\n        </source>\n        <target>NFS \n          <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>\n        </target>\n      </trans-unit>\n    </body>\n  </file>\n</xliff>'},"z+Ro":function(t,e,n){"use strict";function a(t){return t&&"function"==typeof t.schedule}n.d(e,"a",(function(){return a}))},"z/SZ":function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var a=n("8Y7J"),r=n("hpHm");class o{constructor(t,e,n){this.nodes=t,this.viewRef=e,this.componentRef=n}}class i{constructor(t,e,n,r,o,i,s,c){this._viewContainerRef=t,this._renderer=e,this._elementRef=n,this._injector=r,this._componentFactoryResolver=o,this._ngZone=i,this._applicationRef=s,this._posService=c,this.onBeforeShow=new a.EventEmitter,this.onShown=new a.EventEmitter,this.onBeforeHide=new a.EventEmitter,this.onHidden=new a.EventEmitter,this._providers=[],this._isHiding=!1,this.containerDefaultSelector="body",this._listenOpts={},this._globalListener=Function.prototype}get isShown(){return!this._isHiding&&!!this._componentRef}attach(t){return this._componentFactory=this._componentFactoryResolver.resolveComponentFactory(t),this}to(t){return this.container=t||this.container,this}position(t){return this.attachment=t.attachment||this.attachment,this._elementRef=t.target||this._elementRef,this}provide(t){return this._providers.push(t),this}show(t={}){if(this._subscribePositioning(),this._innerComponent=null,!this._componentRef){this.onBeforeShow.emit(),this._contentRef=this._getContentRef(t.content,t.context,t.initialState);const e=a.Injector.create({providers:this._providers,parent:this._injector});this._componentRef=this._componentFactory.create(e,this._contentRef.nodes),this._applicationRef.attachView(this._componentRef.hostView),this.instance=this._componentRef.instance,Object.assign(this._componentRef.instance,t),this.container instanceof a.ElementRef&&this.container.nativeElement.appendChild(this._componentRef.location.nativeElement),"string"==typeof this.container&&"undefined"!=typeof document&&(document.querySelector(this.container)||document.querySelector(this.containerDefaultSelector)).appendChild(this._componentRef.location.nativeElement),!this.container&&this._elementRef&&this._elementRef.nativeElement.parentElement&&this._elementRef.nativeElement.parentElement.appendChild(this._componentRef.location.nativeElement),this._contentRef.componentRef&&(this._innerComponent=this._contentRef.componentRef.instance,this._contentRef.componentRef.changeDetectorRef.markForCheck(),this._contentRef.componentRef.changeDetectorRef.detectChanges()),this._componentRef.changeDetectorRef.markForCheck(),this._componentRef.changeDetectorRef.detectChanges(),this.onShown.emit(this._componentRef.instance)}return this._registerOutsideClick(),this._componentRef}hide(){if(!this._componentRef)return this;this._posService.deletePositionElement(this._componentRef.location),this.onBeforeHide.emit(this._componentRef.instance);const t=this._componentRef.location.nativeElement;return t.parentNode.removeChild(t),this._contentRef.componentRef&&this._contentRef.componentRef.destroy(),this._componentRef.destroy(),this._viewContainerRef&&this._contentRef.viewRef&&this._viewContainerRef.remove(this._viewContainerRef.indexOf(this._contentRef.viewRef)),this._contentRef.viewRef&&this._contentRef.viewRef.destroy(),this._contentRef=null,this._componentRef=null,this._removeGlobalListener(),this.onHidden.emit(),this}toggle(){this.isShown?this.hide():this.show()}dispose(){this.isShown&&this.hide(),this._unsubscribePositioning(),this._unregisterListenersFn&&this._unregisterListenersFn()}listen(t){this.triggers=t.triggers||this.triggers,this._listenOpts.outsideClick=t.outsideClick,this._listenOpts.outsideEsc=t.outsideEsc,t.target=t.target||this._elementRef.nativeElement;const e=this._listenOpts.hide=()=>t.hide?t.hide():void this.hide(),n=this._listenOpts.show=e=>{t.show?t.show(e):this.show(e),e()};return this._unregisterListenersFn=Object(r.e)(this._renderer,{target:t.target,triggers:t.triggers,show:n,hide:e,toggle:t=>{this.isShown?e():n(t)}}),this}_removeGlobalListener(){this._globalListener&&(this._globalListener(),this._globalListener=null)}attachInline(t,e){return this._inlineViewRef=t.createEmbeddedView(e),this}_registerOutsideClick(){if(this._componentRef&&this._componentRef.location){if(this._listenOpts.outsideClick){const t=this._componentRef.location.nativeElement;setTimeout(()=>{this._globalListener=Object(r.h)(this._renderer,{targets:[t,this._elementRef.nativeElement],outsideClick:this._listenOpts.outsideClick,hide:()=>this._listenOpts.hide()})})}if(this._listenOpts.outsideEsc){const t=this._componentRef.location.nativeElement;this._globalListener=Object(r.g)(this._renderer,{targets:[t,this._elementRef.nativeElement],outsideEsc:this._listenOpts.outsideEsc,hide:()=>this._listenOpts.hide()})}}}getInnerComponent(){return this._innerComponent}_subscribePositioning(){!this._zoneSubscription&&this.attachment&&(this.onShown.subscribe(()=>{this._posService.position({element:this._componentRef.location,target:this._elementRef,attachment:this.attachment,appendToBody:"body"===this.container})}),this._zoneSubscription=this._ngZone.onStable.subscribe(()=>{this._componentRef&&this._posService.calcPosition()}))}_unsubscribePositioning(){this._zoneSubscription&&(this._zoneSubscription.unsubscribe(),this._zoneSubscription=null)}_getContentRef(t,e,n){if(!t)return new o([]);if(t instanceof a.TemplateRef){if(this._viewContainerRef){const n=this._viewContainerRef.createEmbeddedView(t,e);return n.markForCheck(),new o([n.rootNodes],n)}const n=t.createEmbeddedView({});return this._applicationRef.attachView(n),new o([n.rootNodes],n)}if("function"==typeof t){const e=this._componentFactoryResolver.resolveComponentFactory(t),r=a.Injector.create({providers:this._providers,parent:this._injector}),i=e.create(r);return Object.assign(i.instance,n),this._applicationRef.attachView(i.hostView),new o([[i.location.nativeElement]],i.hostView,i)}return new o([[this._renderer.createText(`${t}`)]])}}class s{constructor(t,e,n,a,r){this._componentFactoryResolver=t,this._ngZone=e,this._injector=n,this._posService=a,this._applicationRef=r}createLoader(t,e,n){return new i(e,n,t,this._injector,this._componentFactoryResolver,this._ngZone,this._applicationRef,this._posService)}}},z1FC:function(t,e,n){!function(t){"use strict";function e(t,e,n,a){var r={s:["viensas secunds","'iensas secunds"],ss:[t+" secunds",t+" secunds"],m:["'n míut","'iens míut"],mm:[t+" míuts",t+" míuts"],h:["'n þora","'iensa þora"],hh:[t+" þoras",t+" þoras"],d:["'n ziua","'iensa ziua"],dd:[t+" ziuas",t+" ziuas"],M:["'n mes","'iens mes"],MM:[t+" mesen",t+" mesen"],y:["'n ar","'iens ar"],yy:[t+" ars",t+" ars"]};return a?r[n][0]:e?r[n][0]:r[n][1]}t.defineLocale("tzl",{months:"Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar".split("_"),monthsShort:"Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec".split("_"),weekdays:"Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi".split("_"),weekdaysShort:"Súl_Lún_Mai_Már_Xhú_Vié_Sát".split("_"),weekdaysMin:"Sú_Lú_Ma_Má_Xh_Vi_Sá".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM [dallas] YYYY",LLL:"D. MMMM [dallas] YYYY HH.mm",LLLL:"dddd, [li] D. MMMM [dallas] YYYY HH.mm"},meridiemParse:/d\'o|d\'a/i,isPM:function(t){return"d'o"===t.toLowerCase()},meridiem:function(t,e,n){return t>11?n?"d'o":"D'O":n?"d'a":"D'A"},calendar:{sameDay:"[oxhi à] LT",nextDay:"[demà à] LT",nextWeek:"dddd [à] LT",lastDay:"[ieiri à] LT",lastWeek:"[sür el] dddd [lasteu à] LT",sameElse:"L"},relativeTime:{future:"osprei %s",past:"ja%s",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("wd/R"))},z3Vd:function(t,e,n){!function(t){"use strict";var e="pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut".split("_");function n(t,n,a,r){var o=function(t){var n=Math.floor(t%1e3/100),a=Math.floor(t%100/10),r=t%10,o="";return n>0&&(o+=e[n]+"vatlh"),a>0&&(o+=(""!==o?" ":"")+e[a]+"maH"),r>0&&(o+=(""!==o?" ":"")+e[r]),""===o?"pagh":o}(t);switch(a){case"ss":return o+" lup";case"mm":return o+" tup";case"hh":return o+" rep";case"dd":return o+" jaj";case"MM":return o+" jar";case"yy":return o+" DIS"}}t.defineLocale("tlh",{months:"tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’".split("_"),monthsShort:"jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’".split("_"),monthsParseExact:!0,weekdays:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysShort:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysMin:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[DaHjaj] LT",nextDay:"[wa’leS] LT",nextWeek:"LLL",lastDay:"[wa’Hu’] LT",lastWeek:"LLL",sameElse:"L"},relativeTime:{future:function(t){var e=t;return-1!==t.indexOf("jaj")?e.slice(0,-3)+"leS":-1!==t.indexOf("jar")?e.slice(0,-3)+"waQ":-1!==t.indexOf("DIS")?e.slice(0,-3)+"nem":e+" pIq"},past:function(t){var e=t;return-1!==t.indexOf("jaj")?e.slice(0,-3)+"Hu’":-1!==t.indexOf("jar")?e.slice(0,-3)+"wen":-1!==t.indexOf("DIS")?e.slice(0,-3)+"ben":e+" ret"},s:"puS lup",ss:n,m:"wa’ tup",mm:n,h:"wa’ rep",hh:n,d:"wa’ jaj",dd:n,M:"wa’ jar",MM:n,y:"wa’ DIS",yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("wd/R"))},z5nN:function(t,e,n){"use strict";n.d(e,"b",(function(){return c})),n.d(e,"a",(function(){return g}));var a=n("8Y7J"),r=n("LqlI"),o=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function i(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,2,"div",[["role","document"]],[[8,"className",0]],null,null,null,null)),(t()(),a["ɵeld"](1,0,null,null,1,"div",[["class","modal-content"]],null,null,null,null,null)),a["ɵncd"](null,0)],null,(function(t,e){var n=e.component;t(e,0,0,"modal-dialog"+(n.config.class?" "+n.config.class:""))}))}function s(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"modal-container",[["class","modal"],["role","dialog"],["tabindex","-1"]],[[1,"aria-modal",0]],[[null,"click"],["window","keydown.esc"]],(function(t,e,n){var r=!0;return"click"===e&&(r=!1!==a["ɵnov"](t,1).onClick(n)&&r),"window:keydown.esc"===e&&(r=!1!==a["ɵnov"](t,1).onEsc(n)&&r),r}),i,o)),a["ɵdid"](1,245760,null,0,r.d,[r.f,a.ElementRef,a.Renderer2],null,null)],(function(t,e){t(e,1,0)}),(function(t,e){t(e,0,0,!0)}))}var c=a["ɵccf"]("modal-container",r.d,s,{},{},["*"]),l=a["ɵcrt"]({encapsulation:2,styles:[],data:{}});function d(t){return a["ɵvid"](0,[],null,null)}function u(t){return a["ɵvid"](0,[(t()(),a["ɵeld"](0,0,null,null,1,"bs-modal-backdrop",[["class","modal-backdrop"]],null,null,null,d,l)),a["ɵdid"](1,114688,null,0,r.c,[a.ElementRef,a.Renderer2],null,null)],(function(t,e){t(e,1,0)}),null)}var g=a["ɵccf"]("bs-modal-backdrop",r.c,u,{},{},[])},z6cu:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var a=n("HDdC");function r(t,e){return new a.a(e?n=>e.schedule(o,0,{error:t,subscriber:n}):e=>e.error(t))}function o({error:t,subscriber:e}){e.error(t)}},zBJ4:function(t,e,n){var a=n("2oRo"),r=n("hh1v"),o=a.document,i=r(o)&&r(o.createElement);t.exports=function(t){return i?o.createElement(t):{}}},zEVN:function(t,e,n){var a=n("Gi0A"),r=n("sEf8"),o=n("mdPL"),i=o&&o.isMap,s=i?r(i):a;t.exports=s},zKZe:function(t,e,n){var a=n("I+eb"),r=n("YNrV");a({target:"Object",stat:!0,forced:Object.assign!==r},{assign:r})},zUnb:function(t,e,n){"use strict";n.r(e);var a=n("tAZD"),r=n.n(a),o=n("SVse"),i=n("8Y7J");function s(){return localStorage.getItem("access_token")}const c=t=>{t=t||"en-US";try{return n("F+uO")(`./messages.${t}.xlf`).default}catch(e){return[]}};class l{}class d{constructor(){}}var u=n("EApP"),g=i["ɵcrt"]({encapsulation:2,styles:[],data:{animation:[{type:7,name:"flyInOut",definitions:[{type:0,name:"inactive",styles:{type:6,styles:{opacity:0},offset:null},options:void 0},{type:0,name:"active",styles:{type:6,styles:{opacity:1},offset:null},options:void 0},{type:0,name:"removed",styles:{type:6,styles:{opacity:0},offset:null},options:void 0},{type:1,expr:"inactive => active",animation:{type:4,styles:null,timings:"{{ easeTime }}ms {{ easing }}"},options:null},{type:1,expr:"active => removed",animation:{type:4,styles:null,timings:"{{ easeTime }}ms {{ easing }}"},options:null}],options:{}}]}});function f(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"button",[["aria-label","Close"],["class","toast-close-button"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.remove()&&a),a}),null,null)),(t()(),i["ɵeld"](1,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["×"]))],null,null)}function p(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](1,null,["[","]"]))],null,(function(t,e){t(e,1,0,e.component.duplicatesCount+1)}))}function m(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"div",[],[[8,"className",0],[1,"aria-label",0]],null,null,null,null)),(t()(),i["ɵted"](1,null,[" "," "])),(t()(),i["ɵand"](16777216,null,null,1,null,p)),i["ɵdid"](3,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){t(e,3,0,e.component.duplicatesCount)}),(function(t,e){var n=e.component;t(e,0,0,n.options.titleClass,n.title),t(e,1,0,n.title)}))}function h(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,0,"div",[["aria-live","polite"],["role","alertdialog"]],[[8,"className",0],[8,"innerHTML",1]],null,null,null,null))],null,(function(t,e){var n=e.component;t(e,0,0,n.options.messageClass,n.message)}))}function b(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"div",[["aria-live","polite"],["role","alertdialog"]],[[8,"className",0],[1,"aria-label",0]],null,null,null,null)),(t()(),i["ɵted"](1,null,[" "," "]))],null,(function(t,e){var n=e.component;t(e,0,0,n.options.messageClass,n.message),t(e,1,0,n.message)}))}function y(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"div",[],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,0,"div",[["class","toast-progress"]],[[4,"width",null]],null,null,null,null))],null,(function(t,e){t(e,1,0,e.component.width+"%")}))}function _(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,f)),i["ɵdid"](1,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,m)),i["ɵdid"](3,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,h)),i["ɵdid"](5,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,b)),i["ɵdid"](7,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,y)),i["ɵdid"](9,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0,n.options.closeButton),t(e,3,0,n.title),t(e,5,0,n.message&&n.options.enableHtml),t(e,7,0,n.message&&!n.options.enableHtml),t(e,9,0,n.options.progressBar)}),null)}function O(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"div",[["toast-component",""]],[[8,"className",0],[40,"@flyInOut",0],[4,"display",null]],[[null,"click"],[null,"mouseenter"],[null,"mouseleave"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,1).tapToast()&&a),"mouseenter"===e&&(a=!1!==i["ɵnov"](t,1).stickAround()&&a),"mouseleave"===e&&(a=!1!==i["ɵnov"](t,1).delayedHideToast()&&a),a}),_,g)),i["ɵdid"](1,180224,null,0,u.c,[u.j,u.g,i.NgZone],null,null)],null,(function(t,e){t(e,0,0,i["ɵnov"](e,1).toastClasses,i["ɵnov"](e,1).state,i["ɵnov"](e,1).displayStyle)}))}var v=i["ɵccf"]("[toast-component]",u.c,O,{},{},[]),C=n("pMnS"),P=n("jtHE");let M=(()=>{class t{}return t.START="start",t.STOP="stop",t.UPDATE="update",t.RESET="reset",t.UNSUBSCRIBE="unsubscribe",t})();class x{constructor(){this.blockUISettings={},this.blockUIInstances={},this.blockUISubject=new P.a,this.blockUIObservable=this.blockUISubject.asObservable(),this.blockUIObservable.subscribe(this.blockUIMiddleware.bind(this))}getSettings(){return this.blockUISettings}updateSettings(t={}){this.blockUISettings=Object.assign({},this.blockUISettings,t)}decorate(t="block-ui-main"){const e={name:t,isActive:!1,blockCount:0,start:this.dispatch(this.blockUISubject,M.START,t),update:this.dispatch(this.blockUISubject,M.UPDATE,t),stop:this.dispatch(this.blockUISubject,M.STOP,t),reset:this.dispatch(this.blockUISubject,M.RESET,t),unsubscribe:this.dispatch(this.blockUISubject,M.UNSUBSCRIBE,t)};return this.blockUIInstances[t]=this.blockUIInstances[t]||e,e}observe(){return this.blockUIObservable}blockUIMiddleware({action:t,name:e}){let n=null;switch(t){case M.START:n=!0;break;case M.STOP:case M.RESET:n=!1}null!==n&&(this.blockUIInstances[e].isActive=n)}dispatch(t,e,n="block-ui-main"){return a=>{t.next({name:n,action:e,message:a})}}}class w{constructor(t){this.blockUI=t}ngOnInit(){this.name=this.name||"block-ui-main",this.template=this.template||this.blockUI.blockUISettings.template}}class T{constructor(t,e,n){this.blockUI=t,this.resolver=e,this.changeDetectionRef=n,this.name="block-ui-main",this.delayStart=0,this.delayStop=0,this.state={startTimeout:null,stopTimeout:null,blockCount:0},this.active=!1}ngOnInit(){this.settings=this.blockUI.getSettings(),this.blockUISubscription=this.subscribeToBlockUI(this.blockUI.observe())}ngAfterViewInit(){try{if(!this.templateCmp)return!1;if(this.templateCmp instanceof i.TemplateRef)this.templateOutlet.createEmbeddedView(this.templateCmp);else{const t=this.resolver.resolveComponentFactory(this.templateCmp);this.templateCompRef=this.templateOutlet.createComponent(t),this.updateBlockTemplate(this.message)}}catch(t){console.error("ng-block-ui:",t)}}ngAfterViewChecked(){this.detectChanges()}subscribeToBlockUI(t){return t.subscribe(t=>this.onDispatchedEvent(t))}onDispatchedEvent(t){switch(t.action){case M.START:this.onStart(t);break;case M.STOP:this.onStop(t);break;case M.UPDATE:this.onUpdate(t);break;case M.RESET:this.onReset();break;case M.UNSUBSCRIBE:this.onStop(t),this.onUnsubscribe(t.name)}}onStart({name:t,message:e}){if(t===this.name){const t=this.delayStart||this.settings.delayStart||0;null===this.state.startTimeout&&(this.state.startTimeout=setTimeout(()=>{this.showBlock(e)},t)),this.state.blockCount++,this.updateInstanceBlockCount()}}onStop({name:t}){if(t===this.name){const t=this.delayStop||this.settings.delayStop||0;this.state.blockCount>1?this.state.blockCount--:this.active?null===this.state.stopTimeout&&(this.state.stopTimeout=setTimeout(()=>{this.hideBlock()},t)):this.clearState(),this.updateInstanceBlockCount()}}onReset(){this.hideBlock()}onUpdate({name:t,message:e}){t===this.name&&setTimeout(()=>{this.message=e||this.defaultMessage||this.settings.message,this.updateBlockTemplate(this.message),this.detectChanges()},this.delayStart||this.settings.delayStart||0)}showBlock(t){this.active=!0,this.message=t||this.defaultMessage||this.settings.message,this.updateBlockTemplate(this.message),this.detectChanges()}hideBlock(){this.clearState(),this.active=!1,this.detectChanges()}clearState(){null!=this.state.startTimeout&&clearTimeout(this.state.startTimeout),null!=this.state.stopTimeout&&clearTimeout(this.state.stopTimeout),this.state.blockCount=0,this.state.startTimeout=null,this.state.stopTimeout=null,this.updateInstanceBlockCount()}updateBlockTemplate(t){this.templateCompRef&&this.templateCompRef instanceof i.ComponentRef&&(this.templateCompRef.instance.message=t)}onUnsubscribe(t){this.blockUISubscription&&t===this.name&&this.blockUISubscription.unsubscribe()}updateInstanceBlockCount(){this.blockUI.blockUIInstances[this.name]&&(this.blockUI.blockUIInstances[this.name].blockCount=this.state.blockCount)}detectChanges(){this.changeDetectionRef.destroyed||this.changeDetectionRef.detectChanges()}ngOnDestroy(){this.onUnsubscribe(this.name)}}class S{constructor(t){this.blockUIInstance=t}start(t,e){this.dispatch(t,M.START,e)}stop(t){this.dispatch(t,M.STOP)}reset(t){this.dispatch(t,M.RESET)}unsubscribe(t){this.dispatch(t,M.UNSUBSCRIBE)}isActive(t=null){const e=t?this.toArray(t):null,n=this.blockUIInstance.blockUIInstances;return Object.keys(n).some(t=>e?e.indexOf(n[t].name)>=0&&n[t].isActive:n[t].isActive)}dispatch(t=[],e,n){this.toArray(t).forEach(t=>this.blockUIInstance.decorate(t)[e](n))}toArray(t=[]){return"string"==typeof t?[t]:t}}const k=new x,I=new i.InjectionToken("BlockUIModuleSettings");function N(t){return k.updateSettings(t),k}class R{static forRoot(t={}){return{ngModule:R,providers:[{provide:I,useValue:t},{provide:x,useFactory:N,deps:[I]},S]}}}var A=i["ɵcrt"]({encapsulation:2,styles:[],data:{}});function E(t){return i["ɵvid"](0,[i["ɵncd"](null,0),(t()(),i["ɵeld"](1,0,null,null,1,"block-ui-content",[],null,null,null,B,q)),i["ɵdid"](2,12828672,null,0,T,[x,i.ComponentFactoryResolver,i.ChangeDetectorRef],{name:[0,"name"],delayStart:[1,"delayStart"],delayStop:[2,"delayStop"],defaultMessage:[3,"defaultMessage"],templateCmp:[4,"templateCmp"]},null)],(function(t,e){var n=e.component;t(e,2,0,n.name,n.delayStart,n.delayStop,n.message,n.template)}),null)}function D(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"block-ui",[],null,null,null,E,A)),i["ɵdid"](1,114688,null,0,w,[x],null,null)],(function(t,e){t(e,1,0)}),null)}var L=i["ɵccf"]("block-ui",w,D,{name:"name",message:"message",delayStart:"delayStart",delayStop:"delayStop",template:"template"},{},["*"]),q=i["ɵcrt"]({encapsulation:2,styles:["\n.block-ui-wrapper {\n  display: none;\n  position: fixed;\n  height: 100%;\n  width: 100%;\n  top: 0;\n  left: 0;\n  background: rgba(0, 0, 0, 0.70);\n  z-index: 30000;\n  cursor: wait;\n}\n\n.block-ui-wrapper.block-ui-wrapper--element {\n  position: absolute;\n}\n\n.block-ui-wrapper.active {\n  display: block;\n}\n\n.block-ui-wrapper.block-ui-main {\n  position: fixed;\n}\n\n.block-ui-spinner,\n.block-ui-template {\n  position: absolute;\n  top: 40%;\n  margin: 0 auto;\n  left: 0;\n  right: 0;\n  transform: translateY(-50%);\n}\n\n.block-ui-spinner > .message {\n  font-size: 1.3em;\n  text-align: center;\n  color: #fff;\n}\n\n.block-ui__element {\n  position: relative;\n}\n\n.loader,\n.loader:after {\n  border-radius: 50%;\n  width: 10em;\n  height: 10em;\n}\n.loader {\n  margin: 7px auto;\n  font-size: 5px;\n  position: relative;\n  text-indent: -9999em;\n  border-top: 1.1em solid rgba(255, 255, 255, 0.2);\n  border-right: 1.1em solid rgba(255, 255, 255, 0.2);\n  border-bottom: 1.1em solid rgba(255, 255, 255, 0.2);\n  border-left: 1.1em solid #ffffff;\n  -webkit-transform: translateZ(0);\n  -ms-transform: translateZ(0);\n  transform: translateZ(0);\n  -webkit-animation: load8 1.1s infinite linear;\n  animation: load8 1.1s infinite linear;\n}\n\n@-webkit-keyframes load8 {\n  0% {\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n  100% {\n    -webkit-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n\n@keyframes load8 {\n  0% {\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n  100% {\n    -webkit-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n"],data:{}});function j(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"div",[["class","message"]],null,null,null,null,null)),(t()(),i["ɵted"](1,null,[" "," "]))],null,(function(t,e){var n=e.component;t(e,1,0,n.message||n.defaultMessage)}))}function F(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"div",[["class","block-ui-spinner"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,0,"div",[["class","loader"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,j)),i["ɵdid"](3,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,3,0,n.message||n.defaultMessage)}),null)}function z(t){return i["ɵvid"](0,[(t()(),i["ɵand"](0,null,null,0))],null,null)}function G(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,[[1,3],["templateOutlet",2]],null,0,null,z)),(t()(),i["ɵand"](0,null,null,0))],null,null)}function B(t){return i["ɵvid"](0,[i["ɵqud"](671088640,1,{templateOutlet:0}),(t()(),i["ɵeld"](1,0,null,null,7,"div",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](3,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),i["ɵpod"](4,{active:0}),(t()(),i["ɵand"](16777216,null,null,1,null,F)),i["ɵdid"](6,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,G)),i["ɵdid"](8,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component,a=i["ɵinlineInterpolate"](2,"block-ui-wrapper ",n.name," ",n.className,""),r=t(e,4,0,n.active);t(e,3,0,a,r),t(e,6,0,!n.templateCmp),t(e,8,0,n.templateCmp)}),null)}function V(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"block-ui-content",[],null,null,null,B,q)),i["ɵdid"](1,12828672,null,0,T,[x,i.ComponentFactoryResolver,i.ChangeDetectorRef],null,null)],(function(t,e){t(e,1,0)}),null)}var Y=i["ɵccf"]("block-ui-content",T,V,{name:"name",delayStart:"delayStart",delayStop:"delayStop",defaultMessage:"message",templateCmp:"template"},{},[]),H=n("FE24"),U=n("z/SZ"),W=n("s7LF"),K=n("+gVj"),$=n("LvDl"),Z=n("xj/R"),J=n("IheW");let X=(()=>{class t{constructor(t,e){this.http=t,this.localeId=e}getLocale(){return this.localeId||"en-US"}setLocale(t){document.cookie=`cd-lang=${t}`}getLanguages(){return this.http.get("ui-api/langs")}}return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t(i["ɵɵinject"](J.c),i["ɵɵinject"](i.LOCALE_ID))},token:t,providedIn:"root"}),t})();var Q=function(t){return t.cs="Čeština",t["de-DE"]="Deutsch",t["en-US"]="English",t["es-ES"]="Español",t["fr-FR"]="Français",t["id-ID"]="Bahasa Indonesia",t["it-IT"]="Italiano",t["ja-JP"]="日本語",t["ko-KR"]="한국어",t["pl-PL"]="Polski",t["pt-BR"]="Português (brasileiro)",t["zh-CN"]="中文 (简体)",t["zh-TW"]="中文 (繁體)",t}({});let tt={cs:Z.a,de:Z.b,es:Z.e,fr:Z.g,id:Z.m,it:Z.y,ja:Z.z,ko:Z.A,pl:Z.C,pt:Z.D,zh:Z.H};class et{constructor(t,e){this.localeService=t,this.languageService=e,this.isDropdown=!0,this.supportedLanguages=Q}ngOnInit(){this.selectedLanguage=this.languageService.getLocale(),this.defineUsedLanguage(),this.languageService.getLanguages().subscribe(t=>{this.supportedLanguages=$.pick(this.supportedLanguages,t)})}defineUsedLanguage(){const t=this.selectedLanguage.slice(0,2);t in tt&&(Object(Z.c)(t,tt[t]),this.localeService.use(t))}reloadWindow(){window.location.reload()}changeLanguage(t){this.languageService.setLocale(t),this.reloadWindow()}}var nt=n("ienR"),at=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function rt(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"li",[],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,1,"a",[["class","dropdown-item"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.changeLanguage(t.context.$implicit.key)&&a),a}),null,null)),(t()(),i["ɵted"](2,null,["",""]))],null,(function(t,e){t(e,2,0,e.context.$implicit.value)}))}function ot(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"ul",[["class","dropdown-menu dropdown-menu-right"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,2,null,rt)),i["ɵdid"](2,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),i["ɵpid"](0,o.KeyValuePipe,[i.KeyValueDiffers])],(function(t,e){var n=e.component;t(e,2,0,i["ɵunv"](e,2,0,i["ɵnov"](e,3).transform(n.supportedLanguages)))}),null)}function it(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,16777216,null,null,7,"div",[["class","btn-group"],["dropdown",""]],[[2,"dropup",null],[2,"open",null],[2,"show",null]],null,null,null,null)),i["ɵprd"](512,null,H.f,H.f,[]),i["ɵdid"](2,212992,null,0,H.c,[i.ElementRef,i.Renderer2,i.ViewContainerRef,U.a,H.a,H.f],null,null),(t()(),i["ɵeld"](3,0,null,null,2,"a",[["class","dropdown-toggle"],["data-toggle","dropdown"],["dropdownToggle",""],["title","Select a Language"]],[[1,"aria-haspopup",0],[1,"disabled",0],[1,"aria-expanded",0]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,4).onClick()&&a),a}),null,null)),i["ɵdid"](4,147456,null,0,H.g,[i.ChangeDetectorRef,H.c,i.ElementRef,i.Renderer2,H.f],null,null),(t()(),i["ɵted"](5,null,[" "," "])),(t()(),i["ɵand"](16777216,null,null,1,null,ot)),i["ɵdid"](7,16384,null,0,H.d,[H.f,i.ViewContainerRef,i.TemplateRef],null,null),(t()(),i["ɵand"](0,null,null,0))],(function(t,e){t(e,2,0)}),(function(t,e){var n=e.component;t(e,0,0,i["ɵnov"](e,2).dropup,i["ɵnov"](e,2).isOpen,i["ɵnov"](e,2).isOpen&&i["ɵnov"](e,2).isBs4),t(e,3,0,!0,i["ɵnov"](e,4).isDisabled,i["ɵnov"](e,4).isOpen),t(e,5,0,n.supportedLanguages[n.selectedLanguage])}))}function st(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](3,null,["",""]))],(function(t,e){t(e,1,0,e.context.$implicit.key),t(e,2,0,e.context.$implicit.key)}),(function(t,e){t(e,3,0,e.context.$implicit.value)}))}function ct(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,9,"select",[["class","form-control custom-select"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"ngModelChange"],[null,"blur"]],(function(t,e,n){var a=!0,r=t.component;return"change"===e&&(a=!1!==i["ɵnov"](t,1).onChange(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,1).onTouched()&&a),"change"===e&&(a=!1!==r.changeLanguage(n.target.value)&&a),"ngModelChange"===e&&(a=!1!==(r.selectedLanguage=n)&&a),a}),null,null)),i["ɵdid"](1,16384,null,0,W.A,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.A]),i["ɵdid"](3,671744,null,0,W.u,[[8,null],[8,null],[8,null],[6,W.p]],{model:[0,"model"]},{update:"ngModelChange"}),i["ɵprd"](2048,null,W.q,null,[W.u]),i["ɵdid"](5,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](6,16384,null,0,K.h,[[8,null],K.a],null,null),(t()(),i["ɵand"](16777216,null,null,2,null,st)),i["ɵdid"](8,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),i["ɵpid"](0,o.KeyValuePipe,[i.KeyValueDiffers])],(function(t,e){var n=e.component;t(e,3,0,n.selectedLanguage),t(e,8,0,i["ɵunv"](e,8,0,i["ɵnov"](e,9).transform(n.supportedLanguages)))}),(function(t,e){t(e,0,0,i["ɵnov"](e,5).ngClassUntouched,i["ɵnov"](e,5).ngClassTouched,i["ɵnov"](e,5).ngClassPristine,i["ɵnov"](e,5).ngClassDirty,i["ɵnov"](e,5).ngClassValid,i["ɵnov"](e,5).ngClassInvalid,i["ɵnov"](e,5).ngClassPending,i["ɵnov"](e,6).validClass,i["ɵnov"](e,6).invalidClass)}))}function lt(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,it)),i["ɵdid"](1,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,ct)),i["ɵdid"](3,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0,n.isDropdown),t(e,3,0,!n.isDropdown)}),null)}var dt=n("quSY"),ut=n("oxzT"),gt=n("9nlD"),ft=n("mSOc");class pt{constructor(t,e){this.notificationService=t,this.summaryService=e,this.icons=ut.a,this.hasRunningTasks=!1,this.subs=new dt.a}ngOnInit(){this.subs.add(this.summaryService.subscribe(t=>{t&&(this.hasRunningTasks=t.executing_tasks.length>0)}))}ngOnDestroy(){this.subs.unsubscribe()}toggleSidebar(){this.notificationService.toggleSidebar()}}var mt=i["ɵcrt"]({encapsulation:0,styles:[[".running[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{color:#2b99a8}.running[_ngcontent-%COMP%]:hover   i[_ngcontent-%COMP%]{color:#fff}"]],data:{}});function ht(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,9,"a",[["title","Tasks and Notifications"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.toggleSidebar()&&a),a}),null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](2,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpod"](3,{running:0}),(t()(),i["ɵeld"](4,0,null,null,3,"i",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](6,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](7,1),(t()(),i["ɵeld"](8,0,null,null,1,"span",[["class","d-md-none"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Tasks and Notifications"]))],(function(t,e){var n=e.component,a=t(e,3,0,n.hasRunningTasks);t(e,2,0,a);var r=t(e,7,0,n.icons.bell);t(e,6,0,r)}),null)}var bt=n("+0ag"),yt=n("aexS"),_t=n("SjWX"),Ot=n("Mxhz"),vt=n("sne2");class Ct{constructor(t,e,n,a){this.modalRef=t,this.summaryService=e,this.userService=n,this.authStorageService=a,this.userPermission=this.authStorageService.getPermissions().user}ngOnInit(){this.copyright="Copyright(c) 2020 Ceph contributors.",this.projectConstants=vt.c,this.hostAddr=window.location.hostname,this.modalVariables=this.setVariables(),this.subs=this.summaryService.subscribe(t=>{if(!t)return;const e=t.version.replace("ceph version ","").split(" ");this.hostAddr=t.mgr_host.replace(/(^\w+:|^)\/\//,"").replace(/\/$/,""),this.versionNumber=e[0],this.versionHash=e[1],this.versionName=e.slice(2,e.length).join(" ")})}ngOnDestroy(){this.subs.unsubscribe()}setVariables(){const t={};t.user=localStorage.getItem("dashboard_username"),t.role="user",this.userPermission.read&&this.userService.get(t.user).subscribe(e=>{t.role=e.roles});const e=Object(_t.detect)();return t.browserName=e&&e.name?e.name:"Not detected",t.browserVersion=e&&e.version?e.version:"Not detected",t.browserOS=e&&e.os?e.os:"Not detected",t}}class Pt{constructor(t,e,n,a){this.summaryService=t,this.cephReleaseNamePipe=e,this.modalService=n,this.authStorageService=a,this.icons=ut.a}ngOnInit(){const t=this.summaryService.subscribe(e=>{if(!e)return;const n=this.cephReleaseNamePipe.transform(e.version);this.docsUrl=`http://docs.ceph.com/docs/${n}/mgr/dashboard/`,setTimeout(()=>{t.unsubscribe()},0)})}openAboutModal(){this.modalRef=this.modalService.show(Ct),this.modalRef.setClass("modal-lg")}goToApiDocs(){this.docsFormElement.nativeElement.children[0].value=this.authStorageService.getToken(),this.docsFormElement.nativeElement.submit()}}var Mt=n("LqlI"),xt=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function wt(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,12,"ul",[["class","dropdown-menu dropdown-menu-right"],["role","menu"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,5,"li",[],null,null,null,null,null)),(t()(),i["ɵeld"](2,0,null,null,4,"a",[["class","dropdown-item"],["target","_blank"]],[[8,"href",4]],null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](4,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),i["ɵpod"](5,{disabled:0}),(t()(),i["ɵted"](-1,null,["Documentation"])),(t()(),i["ɵeld"](7,0,null,null,2,"li",[],null,null,null,null,null)),(t()(),i["ɵeld"](8,0,null,null,1,"a",[["class","dropdown-item"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.goToApiDocs()&&a),a}),null,null)),(t()(),i["ɵted"](-1,null,["API"])),(t()(),i["ɵeld"](10,0,null,null,2,"li",[],null,null,null,null,null)),(t()(),i["ɵeld"](11,0,null,null,1,"a",[["class","dropdown-item"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.openAboutModal()&&a),a}),null,null)),(t()(),i["ɵted"](-1,null,["About"]))],(function(t,e){var n=t(e,5,0,!e.component.docsUrl);t(e,4,0,"dropdown-item",n)}),(function(t,e){t(e,2,0,i["ɵinlineInterpolate"](1,"",e.component.docsUrl,""))}))}function Tt(t){return i["ɵvid"](0,[i["ɵqud"](402653184,1,{docsFormElement:0}),(t()(),i["ɵeld"](1,0,[[1,0],["docsForm",1]],null,1,"form",[["action","/docs"],["method","post"],["target","_blank"]],null,null,null,null,null)),(t()(),i["ɵeld"](2,0,null,null,0,"input",[["name","token"],["type","hidden"]],null,null,null,null,null)),(t()(),i["ɵeld"](3,16777216,null,null,12,"div",[["class","btn-group"],["dropdown",""]],[[2,"dropup",null],[2,"open",null],[2,"show",null]],null,null,null,null)),i["ɵprd"](512,null,H.f,H.f,[]),i["ɵdid"](5,212992,null,0,H.c,[i.ElementRef,i.Renderer2,i.ViewContainerRef,U.a,H.a,H.f],null,null),(t()(),i["ɵeld"](6,0,null,null,7,"a",[["class","dropdown-toggle"],["dropdownToggle",""],["title","Help"]],[[1,"aria-haspopup",0],[1,"disabled",0],[1,"aria-expanded",0]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,7).onClick()&&a),a}),null,null)),i["ɵdid"](7,147456,null,0,H.g,[i.ChangeDetectorRef,H.c,i.ElementRef,i.Renderer2,H.f],null,null),(t()(),i["ɵeld"](8,0,null,null,3,"i",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](10,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](11,1),(t()(),i["ɵeld"](12,0,null,null,1,"span",[["class","d-md-none"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Help"])),(t()(),i["ɵand"](16777216,null,null,1,null,wt)),i["ɵdid"](15,16384,null,0,H.d,[H.f,i.ViewContainerRef,i.TemplateRef],null,null)],(function(t,e){var n=e.component;t(e,5,0);var a=t(e,11,0,n.icons.questionCircle);t(e,10,0,a)}),(function(t,e){t(e,3,0,i["ɵnov"](e,5).dropup,i["ɵnov"](e,5).isOpen,i["ɵnov"](e,5).isOpen&&i["ɵnov"](e,5).isBs4),t(e,6,0,!0,i["ɵnov"](e,7).isDisabled,i["ɵnov"](e,7).isOpen)}))}var St=n("iInd");class kt{constructor(t){this.authStorageService=t,this.icons=ut.a,this.userPermission=this.authStorageService.getPermissions().user}ngOnInit(){}}var It=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Nt(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"li",[],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,2,"a",[["class","dropdown-item"],["routerLink","/user-management"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,2).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](2,671744,null,0,St.p,[St.m,St.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵted"](-1,null,["User management"]))],(function(t,e){t(e,2,0,"/user-management")}),(function(t,e){t(e,1,0,i["ɵnov"](e,2).target,i["ɵnov"](e,2).href)}))}function Rt(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"ul",[["class","dropdown-menu dropdown-menu-right"],["role","menu"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Nt)),i["ɵdid"](2,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){t(e,2,0,e.component.userPermission.read)}),null)}function At(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,16777216,null,null,12,"div",[["class","btn-group"],["dropdown",""]],[[2,"dropup",null],[2,"open",null],[2,"show",null]],null,null,null,null)),i["ɵprd"](512,null,H.f,H.f,[]),i["ɵdid"](2,212992,null,0,H.c,[i.ElementRef,i.Renderer2,i.ViewContainerRef,U.a,H.a,H.f],null,null),(t()(),i["ɵeld"](3,0,null,null,7,"a",[["class","dropdown-toggle"],["dropdownToggle",""],["title","Dashboard Settings"]],[[1,"aria-haspopup",0],[1,"disabled",0],[1,"aria-expanded",0]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,4).onClick()&&a),a}),null,null)),i["ɵdid"](4,147456,null,0,H.g,[i.ChangeDetectorRef,H.c,i.ElementRef,i.Renderer2,H.f],null,null),(t()(),i["ɵeld"](5,0,null,null,3,"i",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](7,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](8,1),(t()(),i["ɵeld"](9,0,null,null,1,"span",[["class","d-md-none"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Dashboard Settings"])),(t()(),i["ɵand"](16777216,null,null,1,null,Rt)),i["ɵdid"](12,16384,null,0,H.d,[H.f,i.ViewContainerRef,i.TemplateRef],null,null),(t()(),i["ɵand"](0,null,null,0))],(function(t,e){var n=e.component;t(e,2,0);var a=t(e,8,0,n.icons.deepCheck);t(e,7,0,a)}),(function(t,e){t(e,0,0,i["ɵnov"](e,2).dropup,i["ɵnov"](e,2).isOpen,i["ɵnov"](e,2).isOpen&&i["ɵnov"](e,2).isBs4),t(e,3,0,!0,i["ɵnov"](e,4).isDisabled,i["ɵnov"](e,4).isOpen)}))}function Et(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,At)),i["ɵdid"](1,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){t(e,1,0,e.component.userPermission.read)}),null)}var Dt=n("DSvg");class Lt{constructor(t,e){this.authStorageService=t,this.authService=e,this.icons=ut.a}ngOnInit(){this.username=this.authStorageService.getUsername(),this.sso=this.authStorageService.isSSO()}logout(){this.authService.logout()}}var qt=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function jt(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,8,"li",[["role","menuitem"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,7,"a",[["class","dropdown-item"],["routerLink","/user-profile/edit"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,2).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](2,671744,null,0,St.p,[St.m,St.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵeld"](3,0,null,null,3,"i",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](5,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](6,1),(t()(),i["ɵeld"](7,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Change password"]))],(function(t,e){var n=e.component;t(e,2,0,"/user-profile/edit");var a=t(e,6,0,n.icons.lock);t(e,5,0,a)}),(function(t,e){t(e,1,0,i["ɵnov"](e,2).target,i["ɵnov"](e,2).href)}))}function Ft(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,16,"ul",[["class","dropdown-menu dropdown-menu-right"],["role","menu"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,4,"li",[["class","disabled"],["role","menuitem"]],null,null,null,null,null)),(t()(),i["ɵeld"](2,0,null,null,3,"a",[["class","dropdown-item disabled"],["href","#"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Signed in as "])),(t()(),i["ɵeld"](4,0,null,null,1,"strong",[],null,null,null,null,null)),(t()(),i["ɵted"](5,null,["",""])),(t()(),i["ɵeld"](6,0,null,null,0,"li",[["class","dropdown-divider"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,jt)),i["ɵdid"](8,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](9,0,null,null,7,"li",[["role","menuitem"]],null,null,null,null,null)),(t()(),i["ɵeld"](10,0,null,null,6,"a",[["class","dropdown-item"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.logout()&&a),a}),null,null)),(t()(),i["ɵeld"](11,0,null,null,3,"i",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](13,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](14,1),(t()(),i["ɵeld"](15,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Sign out"]))],(function(t,e){var n=e.component;t(e,8,0,!n.sso);var a=t(e,14,0,n.icons.signOut);t(e,13,0,a)}),(function(t,e){t(e,5,0,e.component.username)}))}function zt(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,16777216,null,null,12,"div",[["class","btn-group"],["dropdown",""]],[[2,"dropup",null],[2,"open",null],[2,"show",null]],null,null,null,null)),i["ɵprd"](512,null,H.f,H.f,[]),i["ɵdid"](2,212992,null,0,H.c,[i.ElementRef,i.Renderer2,i.ViewContainerRef,U.a,H.a,H.f],null,null),(t()(),i["ɵeld"](3,0,null,null,7,"a",[["class","dropdown-toggle"],["dropdownToggle",""],["title","Logged in user"]],[[1,"aria-haspopup",0],[1,"disabled",0],[1,"aria-expanded",0]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,4).onClick()&&a),a}),null,null)),i["ɵdid"](4,147456,null,0,H.g,[i.ChangeDetectorRef,H.c,i.ElementRef,i.Renderer2,H.f],null,null),(t()(),i["ɵeld"](5,0,null,null,3,"i",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](7,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](8,1),(t()(),i["ɵeld"](9,0,null,null,1,"span",[["class","d-md-none"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Logged in user"])),(t()(),i["ɵand"](16777216,null,null,1,null,Ft)),i["ɵdid"](12,16384,null,0,H.d,[H.f,i.ViewContainerRef,i.TemplateRef],null,null)],(function(t,e){var n=e.component;t(e,2,0);var a=t(e,8,0,n.icons.user);t(e,7,0,a)}),(function(t,e){t(e,0,0,i["ɵnov"](e,2).dropup,i["ɵnov"](e,2).isOpen,i["ɵnov"](e,2).isOpen&&i["ɵnov"](e,2).isBs4),t(e,3,0,!0,i["ɵnov"](e,4).isDisabled,i["ɵnov"](e,4).isOpen)}))}var Gt=n("GS7A");const Bt=[Object(Gt.h)({height:0,visibility:"hidden"}),Object(Gt.e)("400ms cubic-bezier(0.4,0.0,0.2,1)",Object(Gt.h)({height:"*",visibility:"visible"}))],Vt=[Object(Gt.h)({height:"*",visibility:"visible"}),Object(Gt.e)("400ms cubic-bezier(0.4,0.0,0.2,1)",Object(Gt.h)({height:0,visibility:"hidden"}))];class Yt{constructor(t,e,n){this._el=t,this._renderer=e,this.collapsed=new i.EventEmitter,this.collapses=new i.EventEmitter,this.expanded=new i.EventEmitter,this.expands=new i.EventEmitter,this.isExpanded=!0,this.isCollapsed=!1,this.isCollapse=!0,this.isCollapsing=!1,this.isAnimated=!1,this._display="block",this._stylesLoaded=!1,this._COLLAPSE_ACTION_NAME="collapse",this._EXPAND_ACTION_NAME="expand",this._factoryCollapseAnimation=n.build(Vt),this._factoryExpandAnimation=n.build(Bt)}set display(t){this.isAnimated?(this._display=t,"none"!==t?this.show():this.hide()):this._renderer.setStyle(this._el.nativeElement,"display",t)}set collapse(t){this._player&&!this._isAnimationDone||(this.isExpanded=t,this.toggle())}get collapse(){return this.isExpanded}ngAfterViewChecked(){this._stylesLoaded=!0,this._player&&this._isAnimationDone&&(this._player.reset(),this._renderer.setStyle(this._el.nativeElement,"height","*"))}toggle(){this.isExpanded?this.hide():this.show()}hide(){this.isCollapsing=!0,this.isExpanded=!1,this.isCollapsed=!0,this.isCollapsing=!1,this.collapses.emit(this),this._isAnimationDone=!1,this.animationRun(this.isAnimated,this._COLLAPSE_ACTION_NAME)(()=>{this._isAnimationDone=!0,this.collapsed.emit(this),this._renderer.setStyle(this._el.nativeElement,"display","none")})}show(){this._renderer.setStyle(this._el.nativeElement,"display",this._display),this.isCollapsing=!0,this.isExpanded=!0,this.isCollapsed=!1,this.isCollapsing=!1,this.expands.emit(this),this._isAnimationDone=!1,this.animationRun(this.isAnimated,this._EXPAND_ACTION_NAME)(()=>{this._isAnimationDone=!0,this.expanded.emit(this)})}animationRun(t,e){if(!t||!this._stylesLoaded)return t=>t();this._renderer.setStyle(this._el.nativeElement,"overflow","hidden"),this._renderer.addClass(this._el.nativeElement,"collapse");const n=e===this._EXPAND_ACTION_NAME?this._factoryExpandAnimation:this._factoryCollapseAnimation;return this._player&&this._player.destroy(),this._player=n.create(this._el.nativeElement),this._player.play(),t=>this._player.onDone(t)}}class Ht{static forRoot(){return{ngModule:Ht,providers:[]}}}class Ut{transform(t){return"HEALTH_OK"===t?{color:"#00bb00"}:"HEALTH_WARN"===t?{color:"#ffa500"}:"HEALTH_ERR"===t?{color:"#ff0000"}:null}}var Wt=n("MdoF"),Kt=n("CNMR"),$t=n("20UP"),Zt=n("oMSZ");class Jt{constructor(t,e){this.settingsService=t,this.authStorageService=e}ngOnInit(){this.settingsService.getStandardSettings().subscribe(t=>{this.pwdExpirationSettings=new Zt.a(t);const e=this.authStorageService.getPwdExpirationDate();e&&(this.expirationDays=this.getExpirationDays(e),this.alertType=this.expirationDays<=this.pwdExpirationSettings.pwdExpirationWarning2?"danger":"warning",this.authStorageService.isPwdDisplayedSource.next(!0))})}getExpirationDays(t){const e=new Date,n=new Date(1e3*t);return Math.floor((n.valueOf()-e.valueOf())/864e5)}close(){this.authStorageService.isPwdDisplayedSource.next(!1)}}var Xt=i["ɵcrt"]({encapsulation:0,styles:[[".no-margin-bottom .alert{margin-bottom:0}"]],data:{}});function Qt(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,8,"div",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Your password will expire in "])),(t()(),i["ɵeld"](2,0,null,null,1,"strong",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["less than 1"])),(t()(),i["ɵted"](-1,null,[" day. Click "])),(t()(),i["ɵeld"](5,0,null,null,2,"a",[["class","alert-link"],["routerLink","/user-profile/edit"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,6).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](6,671744,null,0,St.p,[St.m,St.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵted"](-1,null,["here"])),(t()(),i["ɵted"](-1,null,[" to change it now."]))],(function(t,e){t(e,6,0,"/user-profile/edit")}),(function(t,e){t(e,5,0,i["ɵnov"](e,6).target,i["ɵnov"](e,6).href)}))}function te(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,8,"div",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Your password will expire in "])),(t()(),i["ɵeld"](2,0,null,null,1,"strong",[],null,null,null,null,null)),(t()(),i["ɵted"](3,null,["",""])),(t()(),i["ɵted"](-1,null,[" day(s). Click "])),(t()(),i["ɵeld"](5,0,null,null,2,"a",[["class","alert-link"],["routerLink","/user-profile/edit"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,6).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](6,671744,null,0,St.p,[St.m,St.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵted"](-1,null,["here"])),(t()(),i["ɵted"](-1,null,[" to change it now."]))],(function(t,e){t(e,6,0,"/user-profile/edit")}),(function(t,e){t(e,3,0,e.component.expirationDays),t(e,5,0,i["ɵnov"](e,6).target,i["ɵnov"](e,6).href)}))}function ee(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,5,"alert",[["class","no-margin-bottom"]],null,[[null,"onClose"]],(function(t,e,n){var a=!0;return"onClose"===e&&(a=!1!==t.component.close(n)&&a),a}),Wt.c,Wt.b)),i["ɵdid"](1,114688,null,0,Kt.a,[Kt.b,i.ChangeDetectorRef],{type:[0,"type"],dismissible:[1,"dismissible"]},{onClose:"onClose"}),(t()(),i["ɵand"](16777216,null,0,1,null,Qt)),i["ɵdid"](3,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,te)),i["ɵdid"](5,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0,i["ɵinlineInterpolate"](1,"",n.alertType,""),!0),t(e,3,0,0===n.expirationDays),t(e,5,0,n.expirationDays>0)}),null)}function ne(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,ee)),i["ɵdid"](1,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0,null!=n.expirationDays&&n.expirationDays<=n.pwdExpirationSettings.pwdExpirationWarning1)}),null)}var ae=n("7qid"),re=n("38Bd"),oe=n("wd/R");class ie{transform(t,e=!1){return e?oe(t).fromNow():this._forHumans(t)}_forHumans(t){const e=[[`${Math.floor(t/31536e3)}`,"years"],[`${Math.floor(t%31536e3/86400)}`,"days"],[`${Math.floor(t%86400/3600)}`,"hours"],[`${Math.floor(t%3600/60)}`,"minutes"],[`${Math.floor(t%60)}`,"seconds"]];let n="";for(let a=0,r=e.length;a<r;a++)"0"!==e[a][0]&&(n+=" "+e[a][0]+" "+("1"===e[a][0]?e[a][1].substr(0,e[a][1].length-1):e[a][1]));return n.trim()||"1 second"}}var se=n("a0VL"),ce=n("moLw"),le=n("WF9J"),de=i["ɵcrt"]({encapsulation:2,styles:["[data-simplebar]{position:relative;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;flex-wrap:wrap;-webkit-box-pack:start;justify-content:flex-start;align-content:flex-start;-webkit-box-align:start;align-items:flex-start}.simplebar-wrapper{overflow:hidden;width:inherit;height:inherit;max-width:inherit;max-height:inherit}.simplebar-mask{direction:inherit;position:absolute;overflow:hidden;padding:0;margin:0;left:0;top:0;bottom:0;right:0;width:auto!important;height:auto!important;z-index:0}.simplebar-offset{direction:inherit!important;box-sizing:inherit!important;resize:none!important;position:absolute;top:0;left:0;bottom:0;right:0;padding:0;margin:0;-webkit-overflow-scrolling:touch}.simplebar-content-wrapper{direction:inherit;box-sizing:border-box!important;position:relative;display:block;height:100%;width:auto;visibility:visible;max-width:100%;max-height:100%;scrollbar-width:none}.simplebar-content-wrapper::-webkit-scrollbar,.simplebar-hide-scrollbar::-webkit-scrollbar{display:none}.simplebar-content:after,.simplebar-content:before{content:' ';display:table}.simplebar-placeholder{max-height:100%;max-width:100%;width:100%;pointer-events:none}.simplebar-height-auto-observer-wrapper{box-sizing:inherit!important;height:100%;width:100%;max-width:1px;position:relative;float:left;max-height:1px;overflow:hidden;z-index:-1;padding:0;margin:0;pointer-events:none;-webkit-box-flex:inherit;flex-grow:inherit;flex-shrink:0;flex-basis:0}.simplebar-height-auto-observer{box-sizing:inherit;display:block;opacity:0;position:absolute;top:0;left:0;height:1000%;width:1000%;min-height:1px;min-width:1px;overflow:hidden;pointer-events:none;z-index:-1}.simplebar-track{z-index:1;position:absolute;right:0;bottom:0;pointer-events:none;overflow:hidden}[data-simplebar].simplebar-dragging .simplebar-content{pointer-events:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}[data-simplebar].simplebar-dragging .simplebar-track{pointer-events:all}.simplebar-scrollbar{position:absolute;right:2px;width:7px;min-height:10px}.simplebar-scrollbar:before{position:absolute;content:'';background:#000;border-radius:7px;left:0;right:0;opacity:0;-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.simplebar-scrollbar.simplebar-visible:before{opacity:.5;-webkit-transition:opacity linear;transition:opacity linear}.simplebar-track.simplebar-vertical{top:0;width:11px}.simplebar-track.simplebar-vertical .simplebar-scrollbar:before{top:2px;bottom:2px}.simplebar-track.simplebar-horizontal{left:0;height:11px}.simplebar-track.simplebar-horizontal .simplebar-scrollbar:before{height:100%;left:2px;right:2px}.simplebar-track.simplebar-horizontal .simplebar-scrollbar{right:auto;left:0;top:2px;height:7px;min-height:0;min-width:10px;width:auto}[data-simplebar-direction=rtl] .simplebar-track.simplebar-vertical{right:auto;left:0}.hs-dummy-scrollbar-size{direction:rtl;position:fixed;opacity:0;visibility:hidden;height:500px;width:500px;overflow-y:hidden;overflow-x:scroll}.simplebar-hide-scrollbar{position:fixed;left:0;visibility:hidden;overflow-y:scroll;scrollbar-width:none}","ngx-simplebar{display:block}"],data:{}});function ue(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,8,"div",[["class","simplebar-wrapper"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,1,"div",[["class","simplebar-height-auto-observer-wrapper"]],null,null,null,null,null)),(t()(),i["ɵeld"](2,0,null,null,0,"div",[["class","simplebar-height-auto-observer"]],null,null,null,null,null)),(t()(),i["ɵeld"](3,0,null,null,4,"div",[["class","simplebar-mask"]],null,null,null,null,null)),(t()(),i["ɵeld"](4,0,null,null,3,"div",[["class","simplebar-offset"]],null,null,null,null,null)),(t()(),i["ɵeld"](5,0,null,null,2,"div",[["class","simplebar-content-wrapper"]],null,null,null,null,null)),(t()(),i["ɵeld"](6,0,null,null,1,"div",[["class","simplebar-content"]],null,null,null,null,null)),i["ɵncd"](null,0),(t()(),i["ɵeld"](8,0,null,null,0,"div",[["class","simplebar-placeholder"]],null,null,null,null,null)),(t()(),i["ɵeld"](9,0,null,null,1,"div",[["class","simplebar-track simplebar-horizontal"]],null,null,null,null,null)),(t()(),i["ɵeld"](10,0,null,null,0,"div",[["class","simplebar-scrollbar"]],null,null,null,null,null)),(t()(),i["ɵeld"](11,0,null,null,1,"div",[["class","simplebar-track simplebar-vertical"]],null,null,null,null,null)),(t()(),i["ɵeld"](12,0,null,null,0,"div",[["class","simplebar-scrollbar"]],null,null,null,null,null))],null,null)}var ge=n("O9Tv"),fe=n("G1I9"),pe=n("lJxs"),me=n("pL04");let he=(()=>{class t{constructor(t,e){this.http=t,this.settingsService=e,this.baseURL="api/prometheus",this.settingsKey={alertmanager:"api/settings/alertmanager-api-host",prometheus:"api/settings/prometheus-api-host"}}ifAlertmanagerConfigured(t,e){this.settingsService.ifSettingConfigured(this.settingsKey.alertmanager,t,e)}disableAlertmanagerConfig(){this.settingsService.disableSetting(this.settingsKey.alertmanager)}ifPrometheusConfigured(t,e){this.settingsService.ifSettingConfigured(this.settingsKey.prometheus,t,e)}disablePrometheusConfig(){this.settingsService.disableSetting(this.settingsKey.prometheus)}getAlerts(t={}){return this.http.get(this.baseURL,{params:t})}getSilences(t={}){return this.http.get(`${this.baseURL}/silences`,{params:t})}getRules(t="all"){return this.http.get(`${this.baseURL}/rules`).pipe(Object(pe.a)(e=>(["alerting","rewrites"].includes(t)&&e.groups.map(e=>{e.rules=e.rules.filter(e=>e.type===t)}),e)))}setSilence(t){return this.http.post(`${this.baseURL}/silence`,t,{observe:"response"})}expireSilence(t){return this.http.delete(`${this.baseURL}/silence/${t}`,{observe:"response"})}getNotifications(t){return this.http.get(`${this.baseURL}/notifications?from=${t&&t.id?t.id:"last"}`)}}return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t(i["ɵɵinject"](J.c),i["ɵɵinject"]($t.a))},token:t,providedIn:me.a}),t})();var be=n("mtw6");let ye=(()=>{class t{constructor(t){this.notificationService=t}sendNotifications(t){t.forEach(t=>this.notificationService.show(t))}convertToCustomAlerts(t){return $.uniqWith(t.map(t=>({status:$.isObject(t.status)?t.status.state:this.getPrometheusNotificationStatus(t),name:t.labels.alertname,url:t.generatorURL,summary:t.annotations.summary,fingerprint:$.isObject(t.status)&&t.fingerprint})),$.isEqual)}getPrometheusNotificationStatus(t){const e=t.status;return"firing"===e?"active":e}convertAlertToNotification(t){return new fe.b(this.formatType(t.status),`${t.name} (${t.status})`,this.appendSourceLink(t,t.summary),void 0,"Prometheus")}formatType(t){return be.a[$.findKey({error:["firing","active"],info:["suppressed","unprocessed"],success:["resolved"]},e=>e.includes(t))]}appendSourceLink(t,e){return`${e} <a href="${t.url}" target="_blank"><i class="${ut.a.lineChart}"></i></a>`}}return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t(i["ɵɵinject"](gt.a))},token:t,providedIn:"root"}),t})(),_e=(()=>{class t{constructor(t,e){this.alertFormatter=t,this.prometheusService=e,this.canAlertsBeNotified=!1,this.alerts=[],this.rules=[]}getAlerts(){this.prometheusService.ifAlertmanagerConfigured(()=>{this.prometheusService.getAlerts().subscribe(t=>this.handleAlerts(t),t=>{[404,504].includes(t.status)&&this.prometheusService.disableAlertmanagerConfig()})})}getRules(){this.prometheusService.ifPrometheusConfigured(()=>{this.prometheusService.getRules("alerting").subscribe(t=>{this.rules=t.groups.reduce((t,e)=>t.concat(e.rules.map(t=>(t.group=e.name,t))),[])})})}refresh(){this.getAlerts(),this.getRules()}handleAlerts(t){this.canAlertsBeNotified&&this.notifyOnAlertChanges(t,this.alerts),this.alerts=t,this.canAlertsBeNotified=!0}notifyOnAlertChanges(t,e){const n=this.getChangedAlerts(this.alertFormatter.convertToCustomAlerts(t),this.alertFormatter.convertToCustomAlerts(e)).map(t=>this.alertFormatter.convertAlertToNotification(t));this.alertFormatter.sendNotifications(n)}getChangedAlerts(t,e){return $.differenceWith(t,e,$.isEqual).concat(this.getVanishedAlerts(t,e))}getVanishedAlerts(t,e){return $.differenceWith(e,t,(t,e)=>t.fingerprint===e.fingerprint).map(t=>(t.status="resolved",t))}}return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t(i["ɵɵinject"](ye),i["ɵɵinject"](he))},token:t,providedIn:"root"}),t})(),Oe=(()=>{class t{constructor(t,e){this.alertFormatter=t,this.prometheusService=e,this.backendFailure=!1,this.notifications=[]}refresh(){this.backendFailure||this.prometheusService.getNotifications($.last(this.notifications)).subscribe(t=>this.handleNotifications(t),()=>this.backendFailure=!0)}handleNotifications(t){0!==t.length&&(this.notifications.length>0&&this.alertFormatter.sendNotifications($.flatten(t.map(t=>this.formatNotification(t)))),this.notifications=this.notifications.concat(t))}formatNotification(t){return this.alertFormatter.convertToCustomAlerts(t.alerts).map(t=>this.alertFormatter.convertAlertToNotification(t))}}return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t(i["ɵɵinject"](ye),i["ɵɵinject"](he))},token:t,providedIn:"root"}),t})();var ve=n("ufoC");class Ce{constructor(t,e,n,a,r,o,i,s){this.notificationService=t,this.summaryService=e,this.taskMessageService=n,this.prometheusNotificationService=a,this.authStorageService=r,this.prometheusAlertService=o,this.ngZone=i,this.cdRef=s,this.isSidebarOpened=!1,this.executingTasks=[],this.subs=new dt.a,this.icons=ut.a,this.last_task="",this.mutex=new ge.Mutex,this.simplebar={autoHide:!1},this.notifications=[]}ngOnDestroy(){window.clearInterval(this.interval),window.clearTimeout(this.timeout),this.subs.unsubscribe()}ngOnInit(){this.last_task=window.localStorage.getItem("last_task");const t=this.authStorageService.getPermissions();t.prometheus.read&&t.configOpt.read&&(this.triggerPrometheusAlerts(),this.ngZone.runOutsideAngular(()=>{this.interval=window.setInterval(()=>{this.ngZone.run(()=>{this.triggerPrometheusAlerts()})},5e3)})),this.subs.add(this.notificationService.data$.subscribe(t=>{this.notifications=$.orderBy(t,["timestamp"],["desc"]),this.cdRef.detectChanges()})),this.subs.add(this.notificationService.sidebarSubject.subscribe(t=>{this.isSidebarOpened=!t&&!this.isSidebarOpened,window.clearTimeout(this.timeout),this.timeout=window.setTimeout(()=>{this.cdRef.detectChanges()},0)})),this.subs.add(this.summaryService.subscribe(t=>{t&&(this._handleTasks(t.executing_tasks),this.mutex.acquire().then(e=>{$.filter(t.finished_tasks,t=>!this.last_task||oe(t.end_time).isAfter(this.last_task)).forEach(t=>{const e=this.notificationService.finishedTaskToNotification(t,t.success),n=new fe.a(e);n.timestamp=t.end_time,n.duration=t.duration,this.last_task&&!oe(t.end_time).isAfter(this.last_task)||(this.last_task=t.end_time,window.localStorage.setItem("last_task",this.last_task)),this.notificationService.save(n)}),this.cdRef.detectChanges(),e()}))}))}_handleTasks(t){for(const e of t)e.description=this.taskMessageService.getRunningTitle(e);this.executingTasks=t}triggerPrometheusAlerts(){this.prometheusAlertService.refresh(),this.prometheusNotificationService.refresh()}removeAll(){this.notificationService.removeAll()}remove(t){this.notificationService.remove(t)}closeSidebar(){this.isSidebarOpened=!1}trackByFn(t){return t}}var Pe=i["ɵcrt"]({encapsulation:0,styles:[["[_nghost-%COMP%]{position:fixed;top:53px;bottom:10px;right:-350px;width:350px;max-width:90vw;z-index:9;transition:all .6s}.active[_nghost-%COMP%]{right:20px}.card[_ngcontent-%COMP%]{height:100%}ngx-simplebar[_ngcontent-%COMP%]{height:calc(100% - 42.2px)}.separator[_ngcontent-%COMP%]{padding:5px 12px;color:#90949c;background-color:#eee;font-size:12px}.btn-link[_ngcontent-%COMP%]   .fa-trash-o[_ngcontent-%COMP%]{color:#000}table[_ngcontent-%COMP%]{width:100%}.row[_ngcontent-%COMP%]{margin-left:0;margin-right:0}"]],data:{}});function Me(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,29,"div",[],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,27,"div",[["class","card tc_task border-0 mb-3"]],null,null,null,null,null)),(t()(),i["ɵeld"](2,0,null,null,26,"div",[["class","row no-gutters"]],null,null,null,null,null)),(t()(),i["ɵeld"](3,0,null,null,12,"div",[["class","col-md-3 text-center"]],null,null,null,null,null)),(t()(),i["ɵeld"](4,0,null,null,11,"span",[["class","text-info"]],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](6,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),i["ɵpad"](7,2),(t()(),i["ɵeld"](8,0,null,null,3,"i",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](10,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](11,2),(t()(),i["ɵeld"](12,0,null,null,3,"i",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](14,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](15,4),(t()(),i["ɵeld"](16,0,null,null,12,"div",[["class","col-md-9"]],null,null,null,null,null)),(t()(),i["ɵeld"](17,0,null,null,11,"div",[["class","card-body p-0"]],null,null,null,null,null)),(t()(),i["ɵeld"](18,0,null,null,1,"h6",[["class","card-title bold"]],null,null,null,null,null)),(t()(),i["ɵted"](19,null,["",""])),(t()(),i["ɵeld"](20,0,null,null,2,"div",[["class","progress mb-1"]],null,null,null,null,null)),(t()(),i["ɵeld"](21,0,null,null,1,"progressbar",[["class","progress-striped active"],["max","100"]],[[1,"max",0],[2,"progress",null]],null,null,ae.b,ae.a)),i["ɵdid"](22,49152,null,0,re.b,[re.c],{animate:[0,"animate"],striped:[1,"striped"],value:[2,"value"],max:[3,"max"]},null),(t()(),i["ɵeld"](23,0,null,null,5,"p",[["class","card-text text-muted"]],null,null,null,null,null)),(t()(),i["ɵeld"](24,0,null,null,2,"small",[["class","date float-left"]],null,null,null,null,null)),(t()(),i["ɵted"](25,null,[" "," "])),i["ɵppd"](26,1),(t()(),i["ɵeld"](27,0,null,null,1,"span",[["class","float-right"]],null,null,null,null,null)),(t()(),i["ɵted"](28,null,[" "," % "])),(t()(),i["ɵeld"](29,0,null,null,0,"hr",[],null,null,null,null,null))],(function(t,e){var n=e.component,a=t(e,7,0,n.icons.stack,n.icons.large2x);t(e,6,0,"text-info",a);var r=t(e,11,0,n.icons.stack2x,n.icons.circle);t(e,10,0,r);var o=t(e,15,0,n.icons.stack1x,n.icons.spinner,n.icons.spin,n.icons.inverse);t(e,14,0,o),t(e,22,0,!0,!0,e.context.$implicit.progress,"100")}),(function(t,e){t(e,19,0,e.context.$implicit.description),t(e,21,0,i["ɵnov"](e,22).max,i["ɵnov"](e,22).addClass);var n=i["ɵunv"](e,25,0,t(e,26,0,i["ɵnov"](e.parent.parent,0),e.context.$implicit.begin_time));t(e,25,0,n),t(e,28,0,e.context.$implicit.progress||0)}))}function xe(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,Me)),i["ɵdid"](1,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"],ngForTrackBy:[1,"ngForTrackBy"]},null),(t()(),i["ɵand"](0,null,null,0))],(function(t,e){var n=e.component;t(e,1,0,n.executingTasks,n.trackByFn)}),null)}function we(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,4,"small",[],null,null,null,null,null)),(t()(),i["ɵeld"](2,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Duration:"])),(t()(),i["ɵted"](4,null,[" "," "])),i["ɵpid"](0,ie,[]),(t()(),i["ɵeld"](6,0,null,null,0,"br",[],null,null,null,null,null))],null,(function(t,e){t(e,4,0,i["ɵunv"](e,4,0,i["ɵnov"](e,5).transform(e.parent.context.$implicit.duration)))}))}function Te(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,37,"div",[],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,35,"div",[["class","card tc_notification border-0 mb-3"]],null,null,null,null,null)),(t()(),i["ɵeld"](2,0,null,null,34,"div",[["class","row no-gutters"]],null,null,null,null,null)),(t()(),i["ɵeld"](3,0,null,null,12,"div",[["class","col-md-3 text-center"]],null,null,null,null,null)),(t()(),i["ɵeld"](4,0,null,null,11,"span",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](6,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](7,3),(t()(),i["ɵeld"](8,0,null,null,3,"i",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](10,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](11,2),(t()(),i["ɵeld"](12,0,null,null,3,"i",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](14,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](15,3),(t()(),i["ɵeld"](16,0,null,null,20,"div",[["class","col-md-9"]],null,null,null,null,null)),(t()(),i["ɵeld"](17,0,null,null,19,"div",[["class","card-body p-0"]],null,null,null,null,null)),(t()(),i["ɵeld"](18,0,null,null,4,"button",[["class","btn btn-link float-right mt-0 pt-0"],["title","Remove notification"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(t.component.remove(t.context.index),a=!1!==n.stopPropagation()&&a),a}),null,null)),(t()(),i["ɵeld"](19,0,null,null,3,"i",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](21,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](22,1),(t()(),i["ɵeld"](23,0,null,null,1,"h6",[["class","card-title bold"]],null,null,null,null,null)),(t()(),i["ɵted"](24,null,["",""])),(t()(),i["ɵeld"](25,0,null,null,0,"p",[["class","card-text"]],[[8,"innerHTML",1]],null,null,null,null)),(t()(),i["ɵeld"](26,0,null,null,10,"p",[["class","card-text text-muted"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,we)),i["ɵdid"](28,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](29,0,null,null,3,"small",[["class","date"]],[[8,"title",0]],null,null,null,null)),i["ɵppd"](30,1),(t()(),i["ɵted"](31,null,["",""])),i["ɵpid"](0,ie,[]),(t()(),i["ɵeld"](33,0,null,null,3,"i",[["class","float-right custom-icon"]],[[8,"title",0]],null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](35,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),i["ɵpad"](36,1),(t()(),i["ɵeld"](37,0,null,null,0,"hr",[],null,null,null,null,null))],(function(t,e){var n=e.component,a=t(e,7,0,n.icons.stack,n.icons.large2x,e.context.$implicit.textClass);t(e,6,0,a);var r=t(e,11,0,n.icons.circle,n.icons.stack2x);t(e,10,0,r);var o=t(e,15,0,n.icons.stack1x,n.icons.inverse,e.context.$implicit.iconClass);t(e,14,0,o);var i=t(e,22,0,n.icons.trash);t(e,21,0,i),t(e,28,0,e.context.$implicit.duration);var s=t(e,36,0,e.context.$implicit.applicationClass);t(e,35,0,"float-right custom-icon",s)}),(function(t,e){t(e,24,0,e.context.$implicit.title),t(e,25,0,e.context.$implicit.message);var n=i["ɵunv"](e,29,0,t(e,30,0,i["ɵnov"](e.parent.parent.parent,0),e.context.$implicit.timestamp));t(e,29,0,n),t(e,31,0,i["ɵunv"](e,31,0,i["ɵnov"](e,32).transform(e.context.$implicit.timestamp,!0))),t(e,33,0,e.context.$implicit.application)}))}function Se(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,11,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,7,"button",[["class","btn btn-light btn-block"],["type","button"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(t.component.removeAll(),a=!1!==n.stopPropagation()&&a),a}),null,null)),(t()(),i["ɵeld"](2,0,null,null,3,"i",[["aria-hidden","true"]],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](4,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](5,1),(t()(),i["ɵted"](-1,null,["   "])),(t()(),i["ɵeld"](7,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Clear notifications"])),(t()(),i["ɵeld"](9,0,null,null,0,"hr",[],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Te)),i["ɵdid"](11,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵand"](0,null,null,0))],(function(t,e){var n=e.component,a=t(e,5,0,n.icons.trash);t(e,4,0,a),t(e,11,0,n.notifications)}),null)}function ke(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,Se)),i["ɵdid"](1,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](0,null,null,0))],(function(t,e){t(e,1,0,e.component.notifications.length>0)}),null)}function Ie(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"div",[],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,1,"div",[["class","message text-center"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["There are no notifications."]))],null,null)}function Ne(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,Ie)),i["ɵdid"](1,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](0,null,null,0))],(function(t,e){var n=e.component;t(e,1,0,0===n.notifications.length&&0===n.executingTasks.length)}),null)}function Re(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,0,null,null,null,null,null,null,null))],null,null)}function Ae(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,0,null,null,null,null,null,null,null))],null,null)}function Ee(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,0,null,null,null,null,null,null,null))],null,null)}function De(t){return i["ɵvid"](2,[i["ɵpid"](0,se.a,[o.DatePipe]),(t()(),i["ɵand"](0,[["tasksTpl",2]],null,0,null,xe)),(t()(),i["ɵand"](0,[["notificationsTpl",2]],null,0,null,ke)),(t()(),i["ɵand"](0,[["emptyTpl",2]],null,0,null,Ne)),(t()(),i["ɵeld"](4,0,null,null,16,"div",[["class","card"]],null,[[null,"clickOutside"]],(function(t,e,n){var a=!0;return"clickOutside"===e&&(a=!1!==t.component.closeSidebar()&&a),a}),null,null)),i["ɵdid"](5,737280,null,0,ce.ClickOutsideDirective,[i.ElementRef,i.NgZone,i.PLATFORM_ID],{clickOutsideEnabled:[0,"clickOutsideEnabled"]},{clickOutside:"clickOutside"}),(t()(),i["ɵeld"](6,0,null,null,5,"div",[["class","card-header"]],null,null,null,null,null)),(t()(),i["ɵeld"](7,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Tasks and Notifications"])),(t()(),i["ɵeld"](9,0,null,null,2,"button",[["class","close float-right"],["tabindex","-1"],["type","button"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.closeSidebar()&&a),a}),null,null)),(t()(),i["ɵeld"](10,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["×"])),(t()(),i["ɵeld"](12,0,null,null,8,"ngx-simplebar",[["data-simplebar","init"]],null,null,null,ue,de)),i["ɵdid"](13,4440064,null,0,le.a,[i.ElementRef],{options:[0,"options"]},null),(t()(),i["ɵeld"](14,0,null,0,6,"div",[["class","card-body"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Re)),i["ɵdid"](16,540672,null,0,o.NgTemplateOutlet,[i.ViewContainerRef],{ngTemplateOutlet:[0,"ngTemplateOutlet"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Ae)),i["ɵdid"](18,540672,null,0,o.NgTemplateOutlet,[i.ViewContainerRef],{ngTemplateOutlet:[0,"ngTemplateOutlet"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Ee)),i["ɵdid"](20,540672,null,0,o.NgTemplateOutlet,[i.ViewContainerRef],{ngTemplateOutlet:[0,"ngTemplateOutlet"]},null)],(function(t,e){var n=e.component;t(e,5,0,n.isSidebarOpened),t(e,13,0,n.simplebar),t(e,16,0,i["ɵnov"](e,1)),t(e,18,0,i["ɵnov"](e,2)),t(e,20,0,i["ɵnov"](e,3))}),null)}var Le=n("ej+x");class qe{constructor(t,e,n){this.authStorageService=t,this.summaryService=e,this.featureToggles=n,this.isPwdDisplayed=!1,this.icons=ut.a,this.isCollapsed=!0,this.showMenuSidebar=!0,this.displayedSubMenu="",this.simplebar={autoHide:!1},this.subs=new dt.a,this.permissions=this.authStorageService.getPermissions(),this.enabledFeature$=this.featureToggles.get()}ngOnInit(){this.subs.add(this.summaryService.subscribe(t=>{t&&(this.summaryData=t)})),this.subs.add(this.authStorageService.isPwdDisplayed$.subscribe(t=>{this.isPwdDisplayed=t}))}ngOnDestroy(){this.subs.unsubscribe()}blockHealthColor(){if(this.summaryData&&this.summaryData.rbd_mirroring){if(this.summaryData.rbd_mirroring.errors>0)return{color:"#d9534f"};if(this.summaryData.rbd_mirroring.warnings>0)return{color:"#f0ad4e"}}}toggleSubMenu(t){this.displayedSubMenu=this.displayedSubMenu===t?"":t}}var je=i["ɵcrt"]({encapsulation:0,styles:[['@charset "UTF-8";  .cd-navbar-top .cd-navbar-brand{background:#374249;border-top:4px solid #2b99a8}  .cd-navbar-top .cd-navbar-brand.isPwdDisplayed{top:37.6px}  .cd-navbar-top .cd-navbar-brand .navbar-brand,   .cd-navbar-top .cd-navbar-brand .navbar-brand:hover{color:#eee;height:auto;padding:0}  .cd-navbar-top .cd-navbar-brand .navbar-brand>img{height:25px}  .cd-navbar-top .cd-navbar-brand .navbar-toggler{border:0}  .cd-navbar-top .cd-navbar-brand .navbar-toggler:focus,   .cd-navbar-top .cd-navbar-brand .navbar-toggler:hover{outline:0}  .cd-navbar-top .cd-navbar-brand .navbar-toggler .fa-navicon{color:#eee}  .cd-navbar-top .cd-navbar-brand .navbar-collapse{padding:0}  .cd-navbar-top .cd-navbar-brand .cd-navbar-utility>.active>a{color:#eee;background-color:#2b99a8}  .cd-navbar-top .cd-navbar-brand .cd-navbar-utility>li>.open>a,   .cd-navbar-top .cd-navbar-brand .cd-navbar-utility>li>.open>a:focus,   .cd-navbar-top .cd-navbar-brand .cd-navbar-utility>li>.open>a:hover{color:#eee;border-color:transparent;background-color:transparent}  .cd-navbar-top .navbar-nav>li>.cd-navbar>[dropdown]>a,   .cd-navbar-top .navbar-nav>li>.cd-navbar>a,   .cd-navbar-top .navbar-nav>li>a{color:#eee;line-height:1;padding:13.5px 18px!important;position:relative;display:block;text-decoration:none}  .cd-navbar-top .navbar-nav .nav-link,   .cd-navbar-top .navbar-nav .nav-link:hover{color:#eee}  .cd-navbar-top .navbar-nav>li:hover,   .cd-navbar-top .navbar-nav>li>.cd-navbar>[dropdown].open>a,   .cd-navbar-top .navbar-nav>li>.cd-navbar>[dropdown]>a:hover,   .cd-navbar-top .navbar-nav>li>.cd-navbar>a:hover,   .cd-navbar-top .navbar-nav>li>a:hover{background-color:#2b99a8}  .cd-navbar-top .navbar-nav>.open>.cd-navbar>[dropdown]>a,   .cd-navbar-top .navbar-nav>.open>.cd-navbar>[dropdown]>a:hover,   .cd-navbar-top .navbar-nav>.open>.cd-navbar>a,   .cd-navbar-top .navbar-nav>.open>.cd-navbar>a:focus,   .cd-navbar-top .navbar-nav>.open>.cd-navbar>a:hover,   .cd-navbar-top .navbar-nav>.open>.cd-navbar>li>a:focus,   .cd-navbar-top .navbar-nav>.open>a,   .cd-navbar-top .navbar-nav>.open>a:focus,   .cd-navbar-top .navbar-nav>.open>a:hover{color:#eee;border-color:transparent;background-color:transparent}@media (min-width:768px){  .cd-navbar-top .cd-navbar-utility{border-bottom:0;position:absolute;right:0;top:0;font-size:1.1rem}}@media (max-width:calc(768px - 1px)){  .cd-navbar-top .navbar-nav{margin:0}  .cd-navbar-top .navbar-nav .fa{margin-right:.5em}  .cd-navbar-top .navbar-nav .open .dropdown-menu{border:0;padding-top:0;padding-bottom:0;background-color:#2b99a8}  .cd-navbar-top .navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 35px;color:#eee}  .cd-navbar-top .navbar-nav .open .dropdown-menu>.active>a{background-color:#2b99a8}  .cd-navbar-top .navbar-nav>li>a:hover{background-color:#2b99a8}}.cd-navbar-primary[_ngcontent-%COMP%]   .active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%], .cd-navbar-primary[_ngcontent-%COMP%] > .active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:focus, .cd-navbar-primary[_ngcontent-%COMP%] > .active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{color:#eee!important;background-color:#2b99a8!important;border:0!important}.wrapper[_ngcontent-%COMP%]{display:flex;width:100%}.wrapper[_ngcontent-%COMP%]   #sidebar[_ngcontent-%COMP%]{width:200px;top:43px;background:#374249;overflow-y:auto;position:fixed;bottom:0;left:0;z-index:999;color:#fff;transition:all .3s}.wrapper[_ngcontent-%COMP%]   #sidebar.active[_ngcontent-%COMP%]{margin-left:-200px}.wrapper[_ngcontent-%COMP%]   #sidebar[_ngcontent-%COMP%]   ul.component[_ngcontent-%COMP%]{padding:20px 0;margin:0}.wrapper[_ngcontent-%COMP%]   #sidebar[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]{color:#fff;padding:10px}.wrapper[_ngcontent-%COMP%]   #sidebar[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]{padding:10px;font-size:1.1em;display:block;color:#fff;text-decoration:none}.wrapper[_ngcontent-%COMP%]   #sidebar[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]:hover{color:#fff;background:#2b99a8}.wrapper[_ngcontent-%COMP%]   #sidebar[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]   li.active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%], .wrapper[_ngcontent-%COMP%]   #sidebar[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]   li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]   a[aria-expanded=true][_ngcontent-%COMP%]{color:#fff}.wrapper[_ngcontent-%COMP%]   a.dropdown-toggle[_ngcontent-%COMP%]{position:relative}.wrapper[_ngcontent-%COMP%]   a.dropdown-toggle[_ngcontent-%COMP%]::after{position:absolute;right:20px;content:"";font-family:ForkAwesome;border:0;font-size:1rem;transition:transform .3s ease-in-out}.wrapper[_ngcontent-%COMP%]   a.dropdown-toggle[aria-expanded=true][_ngcontent-%COMP%]::after{transform:rotate(90deg)}.wrapper[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]{font-size:.9em!important;padding-left:30px!important;background:#4d5c66}.wrapper[_ngcontent-%COMP%]   .cd-navbar-primary[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]:focus{outline:0}.wrapper[_ngcontent-%COMP%]   ngx-simplebar[_ngcontent-%COMP%]{height:100%}#content[_ngcontent-%COMP%]{width:calc(100% - 200px);transition:all .3s;position:absolute;top:43px;bottom:0;right:0}#content.active[_ngcontent-%COMP%]{width:100vw}.isPwdDisplayed[_nghost-%COMP%]   .cd-navbar-top[_ngcontent-%COMP%]   .cd-navbar-brand[_ngcontent-%COMP%]{top:37.6px}.isPwdDisplayed[_nghost-%COMP%]   #sidebar[_ngcontent-%COMP%]{top:80.6px}.isPwdDisplayed[_nghost-%COMP%]   #content[_ngcontent-%COMP%]{top:80.6px}.isPwdDisplayed[_nghost-%COMP%]   cd-notifications-sidebar[_ngcontent-%COMP%]{top:90.6px}']],data:{}});function Fe(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,0,null,null,null,null,null,null,null))],null,null)}function ze(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,0,null,null,null,null,null,null,null))],null,null)}function Ge(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"li",[["class","nav-item "]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,1,"cd-language-selector",[["class","cd-navbar"]],null,null,null,lt,at)),i["ɵdid"](2,114688,null,0,et,[nt.j,X],null,null),(t()(),i["ɵeld"](3,0,null,null,2,"li",[["class","nav-item "]],null,null,null,null,null)),(t()(),i["ɵeld"](4,0,null,null,1,"cd-notifications",[["class","cd-navbar"]],null,null,null,ht,mt)),i["ɵdid"](5,245760,null,0,pt,[gt.a,ft.a],null,null),(t()(),i["ɵeld"](6,0,null,null,2,"li",[["class","nav-item "]],null,null,null,null,null)),(t()(),i["ɵeld"](7,0,null,null,1,"cd-dashboard-help",[["class","cd-navbar"]],null,null,null,Tt,xt)),i["ɵdid"](8,114688,null,0,Pt,[ft.a,bt.a,Mt.b,yt.a],null,null),(t()(),i["ɵeld"](9,0,null,null,2,"li",[["class","nav-item "]],null,null,null,null,null)),(t()(),i["ɵeld"](10,0,null,null,1,"cd-administration",[["class","cd-navbar"]],null,null,null,Et,It)),i["ɵdid"](11,114688,null,0,kt,[yt.a],null,null),(t()(),i["ɵeld"](12,0,null,null,2,"li",[["class","nav-item "]],null,null,null,null,null)),(t()(),i["ɵeld"](13,0,null,null,1,"cd-identity",[["class","cd-navbar"]],null,null,null,zt,qt)),i["ɵdid"](14,114688,null,0,Lt,[yt.a,Dt.a],null,null)],(function(t,e){t(e,2,0),t(e,5,0),t(e,8,0),t(e,11,0),t(e,14,0)}),null)}function Be(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,"li",[["class","tc_submenuitem tc_submenuitem_hosts"],["routerLinkActive","active"]],null,null,null,null,null)),i["ɵdid"](1,1720320,null,2,St.o,[St.m,i.ElementRef,i.Renderer2,[2,St.n],[2,St.p]],{routerLinkActive:[0,"routerLinkActive"]},null),i["ɵqud"](603979776,5,{links:1}),i["ɵqud"](603979776,6,{linksWithHrefs:1}),(t()(),i["ɵeld"](4,0,null,null,2,"a",[["routerLink","/hosts"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,5).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](5,671744,[[6,4],[4,4]],0,St.p,[St.m,St.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵted"](-1,null,["Hosts"]))],(function(t,e){t(e,1,0,"active"),t(e,5,0,"/hosts")}),(function(t,e){t(e,4,0,i["ɵnov"](e,5).target,i["ɵnov"](e,5).href)}))}function Ve(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,"li",[["class","tc_submenuitem tc_submenuitem_cluster_inventory"],["routerLinkActive","active"]],null,null,null,null,null)),i["ɵdid"](1,1720320,null,2,St.o,[St.m,i.ElementRef,i.Renderer2,[2,St.n],[2,St.p]],{routerLinkActive:[0,"routerLinkActive"]},null),i["ɵqud"](603979776,7,{links:1}),i["ɵqud"](603979776,8,{linksWithHrefs:1}),(t()(),i["ɵeld"](4,0,null,null,2,"a",[["routerLink","/inventory"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,5).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](5,671744,[[8,4],[4,4]],0,St.p,[St.m,St.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵted"](-1,null,["Inventory"]))],(function(t,e){t(e,1,0,"active"),t(e,5,0,"/inventory")}),(function(t,e){t(e,4,0,i["ɵnov"](e,5).target,i["ɵnov"](e,5).href)}))}function Ye(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,"li",[["class","tc_submenuitem tc_submenuitem_cluster_monitor"],["routerLinkActive","active"]],null,null,null,null,null)),i["ɵdid"](1,1720320,null,2,St.o,[St.m,i.ElementRef,i.Renderer2,[2,St.n],[2,St.p]],{routerLinkActive:[0,"routerLinkActive"]},null),i["ɵqud"](603979776,9,{links:1}),i["ɵqud"](603979776,10,{linksWithHrefs:1}),(t()(),i["ɵeld"](4,0,null,null,2,"a",[["routerLink","/monitor/"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,5).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](5,671744,[[10,4],[4,4]],0,St.p,[St.m,St.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵted"](-1,null,["Monitors"]))],(function(t,e){t(e,1,0,"active"),t(e,5,0,"/monitor/")}),(function(t,e){t(e,4,0,i["ɵnov"](e,5).target,i["ɵnov"](e,5).href)}))}function He(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,"li",[["class","tc_submenuitem tc_submenuitem_cluster_services"],["routerLinkActive","active"]],null,null,null,null,null)),i["ɵdid"](1,1720320,null,2,St.o,[St.m,i.ElementRef,i.Renderer2,[2,St.n],[2,St.p]],{routerLinkActive:[0,"routerLinkActive"]},null),i["ɵqud"](603979776,11,{links:1}),i["ɵqud"](603979776,12,{linksWithHrefs:1}),(t()(),i["ɵeld"](4,0,null,null,2,"a",[["routerLink","/services/"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,5).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](5,671744,[[12,4],[4,4]],0,St.p,[St.m,St.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵted"](-1,null,["Services"]))],(function(t,e){t(e,1,0,"active"),t(e,5,0,"/services/")}),(function(t,e){t(e,4,0,i["ɵnov"](e,5).target,i["ɵnov"](e,5).href)}))}function Ue(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,"li",[["class","tc_submenuitem tc_submenuitem_osds"],["routerLinkActive","active"]],null,null,null,null,null)),i["ɵdid"](1,1720320,null,2,St.o,[St.m,i.ElementRef,i.Renderer2,[2,St.n],[2,St.p]],{routerLinkActive:[0,"routerLinkActive"]},null),i["ɵqud"](603979776,13,{links:1}),i["ɵqud"](603979776,14,{linksWithHrefs:1}),(t()(),i["ɵeld"](4,0,null,null,2,"a",[["routerLink","/osd"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,5).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](5,671744,[[14,4],[4,4]],0,St.p,[St.m,St.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵted"](-1,null,["OSDs"]))],(function(t,e){t(e,1,0,"active"),t(e,5,0,"/osd")}),(function(t,e){t(e,4,0,i["ɵnov"](e,5).target,i["ɵnov"](e,5).href)}))}function We(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,"li",[["class","tc_submenuitem tc_submenuitem_configuration"],["routerLinkActive","active"]],null,null,null,null,null)),i["ɵdid"](1,1720320,null,2,St.o,[St.m,i.ElementRef,i.Renderer2,[2,St.n],[2,St.p]],{routerLinkActive:[0,"routerLinkActive"]},null),i["ɵqud"](603979776,15,{links:1}),i["ɵqud"](603979776,16,{linksWithHrefs:1}),(t()(),i["ɵeld"](4,0,null,null,2,"a",[["routerLink","/configuration"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,5).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](5,671744,[[16,4],[4,4]],0,St.p,[St.m,St.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵted"](-1,null,["Configuration"]))],(function(t,e){t(e,1,0,"active"),t(e,5,0,"/configuration")}),(function(t,e){t(e,4,0,i["ɵnov"](e,5).target,i["ɵnov"](e,5).href)}))}function Ke(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,"li",[["class","tc_submenuitem tc_submenuitem_crush"],["routerLinkActive","active"]],null,null,null,null,null)),i["ɵdid"](1,1720320,null,2,St.o,[St.m,i.ElementRef,i.Renderer2,[2,St.n],[2,St.p]],{routerLinkActive:[0,"routerLinkActive"]},null),i["ɵqud"](603979776,17,{links:1}),i["ɵqud"](603979776,18,{linksWithHrefs:1}),(t()(),i["ɵeld"](4,0,null,null,2,"a",[["routerLink","/crush-map"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,5).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](5,671744,[[18,4],[4,4]],0,St.p,[St.m,St.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵted"](-1,null,["CRUSH map"]))],(function(t,e){t(e,1,0,"active"),t(e,5,0,"/crush-map")}),(function(t,e){t(e,4,0,i["ɵnov"](e,5).target,i["ɵnov"](e,5).href)}))}function $e(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,"li",[["class","tc_submenuitem tc_submenuitem_modules"],["routerLinkActive","active"]],null,null,null,null,null)),i["ɵdid"](1,1720320,null,2,St.o,[St.m,i.ElementRef,i.Renderer2,[2,St.n],[2,St.p]],{routerLinkActive:[0,"routerLinkActive"]},null),i["ɵqud"](603979776,19,{links:1}),i["ɵqud"](603979776,20,{linksWithHrefs:1}),(t()(),i["ɵeld"](4,0,null,null,2,"a",[["routerLink","/mgr-modules"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,5).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](5,671744,[[20,4],[4,4]],0,St.p,[St.m,St.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵted"](-1,null,["Manager modules"]))],(function(t,e){t(e,1,0,"active"),t(e,5,0,"/mgr-modules")}),(function(t,e){t(e,4,0,i["ɵnov"](e,5).target,i["ɵnov"](e,5).href)}))}function Ze(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,"li",[["class","tc_submenuitem tc_submenuitem_log"],["routerLinkActive","active"]],null,null,null,null,null)),i["ɵdid"](1,1720320,null,2,St.o,[St.m,i.ElementRef,i.Renderer2,[2,St.n],[2,St.p]],{routerLinkActive:[0,"routerLinkActive"]},null),i["ɵqud"](603979776,21,{links:1}),i["ɵqud"](603979776,22,{linksWithHrefs:1}),(t()(),i["ɵeld"](4,0,null,null,2,"a",[["routerLink","/logs"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,5).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](5,671744,[[22,4],[4,4]],0,St.p,[St.m,St.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵted"](-1,null,["Logs"]))],(function(t,e){t(e,1,0,"active"),t(e,5,0,"/logs")}),(function(t,e){t(e,4,0,i["ɵnov"](e,5).target,i["ɵnov"](e,5).href)}))}function Je(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,"li",[["class","tc_submenuitem tc_submenuitem_monitoring"],["routerLinkActive","active"]],null,null,null,null,null)),i["ɵdid"](1,1720320,null,2,St.o,[St.m,i.ElementRef,i.Renderer2,[2,St.n],[2,St.p]],{routerLinkActive:[0,"routerLinkActive"]},null),i["ɵqud"](603979776,23,{links:1}),i["ɵqud"](603979776,24,{linksWithHrefs:1}),(t()(),i["ɵeld"](4,0,null,null,2,"a",[["routerLink","/monitoring"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,5).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](5,671744,[[24,4],[4,4]],0,St.p,[St.m,St.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵted"](-1,null,["Monitoring"]))],(function(t,e){t(e,1,0,"active"),t(e,5,0,"/monitoring")}),(function(t,e){t(e,4,0,i["ɵnov"](e,5).target,i["ɵnov"](e,5).href)}))}function Xe(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,28,"li",[["class","nav-item tc_menuitem_cluster"],["routerLinkActive","active"]],null,null,null,null,null)),i["ɵdid"](1,1720320,null,2,St.o,[St.m,i.ElementRef,i.Renderer2,[2,St.n],[2,St.p]],{routerLinkActive:[0,"routerLinkActive"]},null),i["ɵqud"](603979776,3,{links:1}),i["ɵqud"](603979776,4,{linksWithHrefs:1}),(t()(),i["ɵeld"](4,0,null,null,2,"a",[["aria-controls","collapseBasic"],["class","nav-link dropdown-toggle"]],[[1,"aria-expanded",0]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.toggleSubMenu("cluster")&&a),a}),null,null)),(t()(),i["ɵeld"](5,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Cluster"])),(t()(),i["ɵeld"](7,0,null,null,21,"ul",[["class","list-unstyled"]],[[2,"collapse",null],[2,"in",null],[2,"show",null],[1,"aria-expanded",0],[1,"aria-hidden",0],[2,"collapsing",null]],null,null,null,null)),i["ɵdid"](8,8404992,null,0,Yt,[i.ElementRef,i.Renderer2,Gt.b],{isAnimated:[0,"isAnimated"],collapse:[1,"collapse"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Be)),i["ɵdid"](10,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Ve)),i["ɵdid"](12,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Ye)),i["ɵdid"](14,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,He)),i["ɵdid"](16,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Ue)),i["ɵdid"](18,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,We)),i["ɵdid"](20,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Ke)),i["ɵdid"](22,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,$e)),i["ɵdid"](24,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Ze)),i["ɵdid"](26,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Je)),i["ɵdid"](28,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0,"active"),t(e,8,0,!0,"cluster"!==n.displayedSubMenu),t(e,10,0,n.permissions.hosts.read),t(e,12,0,n.permissions.hosts.read),t(e,14,0,n.permissions.monitor.read),t(e,16,0,n.permissions.hosts.read),t(e,18,0,n.permissions.osd.read),t(e,20,0,n.permissions.configOpt.read),t(e,22,0,n.permissions.osd.read),t(e,24,0,n.permissions.configOpt.read),t(e,26,0,n.permissions.log.read),t(e,28,0,n.permissions.prometheus.read)}),(function(t,e){t(e,4,0,"cluster"==e.component.displayedSubMenu),t(e,7,0,i["ɵnov"](e,8).isCollapse,i["ɵnov"](e,8).isExpanded,i["ɵnov"](e,8).isExpanded,i["ɵnov"](e,8).isExpanded,i["ɵnov"](e,8).isCollapsed,i["ɵnov"](e,8).isCollapsing)}))}function Qe(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,"li",[["class","nav-item tc_menuitem_pool"],["routerLinkActive","active"]],null,null,null,null,null)),i["ɵdid"](1,1720320,null,2,St.o,[St.m,i.ElementRef,i.Renderer2,[2,St.n],[2,St.p]],{routerLinkActive:[0,"routerLinkActive"]},null),i["ɵqud"](603979776,25,{links:1}),i["ɵqud"](603979776,26,{linksWithHrefs:1}),(t()(),i["ɵeld"](4,0,null,null,2,"a",[["class","nav-link"],["routerLink","/pool"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,5).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](5,671744,[[26,4]],0,St.p,[St.m,St.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵted"](-1,null,["Pools"]))],(function(t,e){t(e,1,0,"active"),t(e,5,0,"/pool")}),(function(t,e){t(e,4,0,i["ɵnov"](e,5).target,i["ɵnov"](e,5).href)}))}function tn(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,"li",[["class","tc_submenuitem tc_submenuitem_block_images"],["routerLinkActive","active"]],null,null,null,null,null)),i["ɵdid"](1,1720320,null,2,St.o,[St.m,i.ElementRef,i.Renderer2,[2,St.n],[2,St.p]],{routerLinkActive:[0,"routerLinkActive"]},null),i["ɵqud"](603979776,29,{links:1}),i["ɵqud"](603979776,30,{linksWithHrefs:1}),(t()(),i["ɵeld"](4,0,null,null,2,"a",[["routerLink","/block/rbd"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,5).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](5,671744,[[30,4],[28,4]],0,St.p,[St.m,St.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵted"](-1,null,["Images"]))],(function(t,e){t(e,1,0,"active"),t(e,5,0,"/block/rbd")}),(function(t,e){t(e,4,0,i["ɵnov"](e,5).target,i["ɵnov"](e,5).href)}))}function en(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"small",[["class","badge badge-warning"]],null,null,null,null,null)),(t()(),i["ɵted"](1,null,["",""]))],null,(function(t,e){var n=e.component;t(e,1,0,null==n.summaryData?null:null==n.summaryData.rbd_mirroring?null:n.summaryData.rbd_mirroring.warnings)}))}function nn(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"small",[["class","badge badge-danger"]],null,null,null,null,null)),(t()(),i["ɵted"](1,null,["",""]))],null,(function(t,e){var n=e.component;t(e,1,0,null==n.summaryData?null:null==n.summaryData.rbd_mirroring?null:n.summaryData.rbd_mirroring.errors)}))}function an(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,11,"li",[["class","tc_submenuitem tc_submenuitem_block_mirroring"],["routerLinkActive","active"]],null,null,null,null,null)),i["ɵdid"](1,1720320,null,2,St.o,[St.m,i.ElementRef,i.Renderer2,[2,St.n],[2,St.p]],{routerLinkActive:[0,"routerLinkActive"]},null),i["ɵqud"](603979776,31,{links:1}),i["ɵqud"](603979776,32,{linksWithHrefs:1}),(t()(),i["ɵeld"](4,0,null,null,7,"a",[["routerLink","/block/mirroring"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,5).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](5,671744,[[32,4],[28,4]],0,St.p,[St.m,St.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵeld"](6,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Mirroring"])),(t()(),i["ɵand"](16777216,null,null,1,null,en)),i["ɵdid"](9,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,nn)),i["ɵdid"](11,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0,"active"),t(e,5,0,"/block/mirroring"),t(e,9,0,0!==(null==n.summaryData?null:null==n.summaryData.rbd_mirroring?null:n.summaryData.rbd_mirroring.warnings)),t(e,11,0,0!==(null==n.summaryData?null:null==n.summaryData.rbd_mirroring?null:n.summaryData.rbd_mirroring.errors))}),(function(t,e){t(e,4,0,i["ɵnov"](e,5).target,i["ɵnov"](e,5).href)}))}function rn(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,"li",[["class","tc_submenuitem tc_submenuitem_block_iscsi"],["routerLinkActive","active"]],null,null,null,null,null)),i["ɵdid"](1,1720320,null,2,St.o,[St.m,i.ElementRef,i.Renderer2,[2,St.n],[2,St.p]],{routerLinkActive:[0,"routerLinkActive"]},null),i["ɵqud"](603979776,33,{links:1}),i["ɵqud"](603979776,34,{linksWithHrefs:1}),(t()(),i["ɵeld"](4,0,null,null,2,"a",[["routerLink","/block/iscsi"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,5).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](5,671744,[[34,4],[28,4]],0,St.p,[St.m,St.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵted"](-1,null,["iSCSI"]))],(function(t,e){t(e,1,0,"active"),t(e,5,0,"/block/iscsi")}),(function(t,e){t(e,4,0,i["ɵnov"](e,5).target,i["ɵnov"](e,5).href)}))}function on(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,16,"li",[["class","nav-item tc_menuitem_block"],["routerLinkActive","active"]],null,null,null,null,null)),i["ɵdid"](1,1720320,null,2,St.o,[St.m,i.ElementRef,i.Renderer2,[2,St.n],[2,St.p]],{routerLinkActive:[0,"routerLinkActive"]},null),i["ɵqud"](603979776,27,{links:1}),i["ɵqud"](603979776,28,{linksWithHrefs:1}),(t()(),i["ɵeld"](4,0,null,null,4,"a",[["aria-controls","collapseBasic"],["class","nav-link dropdown-toggle"]],[[1,"aria-expanded",0]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.toggleSubMenu("block")&&a),a}),null,null)),i["ɵprd"](512,null,o["ɵNgStyleImpl"],o["ɵNgStyleR2Impl"],[i.ElementRef,i.KeyValueDiffers,i.Renderer2]),i["ɵdid"](6,278528,null,0,o.NgStyle,[o["ɵNgStyleImpl"]],{ngStyle:[0,"ngStyle"]},null),(t()(),i["ɵeld"](7,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Block"])),(t()(),i["ɵeld"](9,0,null,null,7,"ul",[["class","list-unstyled"]],[[2,"collapse",null],[2,"in",null],[2,"show",null],[1,"aria-expanded",0],[1,"aria-hidden",0],[2,"collapsing",null]],null,null,null,null)),i["ɵdid"](10,8404992,null,0,Yt,[i.ElementRef,i.Renderer2,Gt.b],{isAnimated:[0,"isAnimated"],collapse:[1,"collapse"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,tn)),i["ɵdid"](12,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,an)),i["ɵdid"](14,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,rn)),i["ɵdid"](16,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0,"active"),t(e,6,0,n.blockHealthColor()),t(e,10,0,!0,"block"!==n.displayedSubMenu),t(e,12,0,n.permissions.rbdImage.read&&e.parent.context.ngIf.rbd),t(e,14,0,n.permissions.rbdMirroring.read&&e.parent.context.ngIf.mirroring),t(e,16,0,n.permissions.iscsi.read&&e.parent.context.ngIf.iscsi)}),(function(t,e){t(e,4,0,"block"==e.component.displayedSubMenu),t(e,9,0,i["ɵnov"](e,10).isCollapse,i["ɵnov"](e,10).isExpanded,i["ɵnov"](e,10).isExpanded,i["ɵnov"](e,10).isExpanded,i["ɵnov"](e,10).isCollapsed,i["ɵnov"](e,10).isCollapsing)}))}function sn(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,"li",[["class","nav-item tc_menuitem_nfs"],["routerLinkActive","active"]],null,null,null,null,null)),i["ɵdid"](1,1720320,null,2,St.o,[St.m,i.ElementRef,i.Renderer2,[2,St.n],[2,St.p]],{routerLinkActive:[0,"routerLinkActive"]},null),i["ɵqud"](603979776,35,{links:1}),i["ɵqud"](603979776,36,{linksWithHrefs:1}),(t()(),i["ɵeld"](4,0,null,null,2,"a",[["class","nav-link"],["routerLink","/nfs"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,5).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](5,671744,[[36,4]],0,St.p,[St.m,St.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵted"](-1,null,["NFS"]))],(function(t,e){t(e,1,0,"active"),t(e,5,0,"/nfs")}),(function(t,e){t(e,4,0,i["ɵnov"](e,5).target,i["ɵnov"](e,5).href)}))}function cn(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,"li",[["class","nav-item tc_menuitem_cephfs"],["routerLinkActive","active"]],null,null,null,null,null)),i["ɵdid"](1,1720320,null,2,St.o,[St.m,i.ElementRef,i.Renderer2,[2,St.n],[2,St.p]],{routerLinkActive:[0,"routerLinkActive"]},null),i["ɵqud"](603979776,37,{links:1}),i["ɵqud"](603979776,38,{linksWithHrefs:1}),(t()(),i["ɵeld"](4,0,null,null,2,"a",[["class","nav-link"],["routerLink","/cephfs"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,5).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](5,671744,[[38,4]],0,St.p,[St.m,St.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵted"](-1,null,["Filesystems"]))],(function(t,e){t(e,1,0,"active"),t(e,5,0,"/cephfs")}),(function(t,e){t(e,4,0,i["ɵnov"](e,5).target,i["ɵnov"](e,5).href)}))}function ln(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,29,"li",[["class","nav-item tc_menuitem_rgw"],["routerLinkActive","active"]],null,null,null,null,null)),i["ɵdid"](1,1720320,null,2,St.o,[St.m,i.ElementRef,i.Renderer2,[2,St.n],[2,St.p]],{routerLinkActive:[0,"routerLinkActive"]},null),i["ɵqud"](603979776,39,{links:1}),i["ɵqud"](603979776,40,{linksWithHrefs:1}),(t()(),i["ɵeld"](4,0,null,null,2,"a",[["aria-controls","collapseBasic"],["class","nav-link dropdown-toggle"]],[[1,"aria-expanded",0]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.toggleSubMenu("rgw")&&a),a}),null,null)),(t()(),i["ɵeld"](5,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Object Gateway"])),(t()(),i["ɵeld"](7,0,null,null,22,"ul",[["class","list-unstyled"]],[[2,"collapse",null],[2,"in",null],[2,"show",null],[1,"aria-expanded",0],[1,"aria-hidden",0],[2,"collapsing",null]],null,null,null,null)),i["ɵdid"](8,8404992,null,0,Yt,[i.ElementRef,i.Renderer2,Gt.b],{isAnimated:[0,"isAnimated"],collapse:[1,"collapse"]},null),(t()(),i["ɵeld"](9,0,null,null,6,"li",[["class","tc_submenuitem tc_submenuitem_rgw_daemons"],["routerLinkActive","active"]],null,null,null,null,null)),i["ɵdid"](10,1720320,null,2,St.o,[St.m,i.ElementRef,i.Renderer2,[2,St.n],[2,St.p]],{routerLinkActive:[0,"routerLinkActive"]},null),i["ɵqud"](603979776,41,{links:1}),i["ɵqud"](603979776,42,{linksWithHrefs:1}),(t()(),i["ɵeld"](13,0,null,null,2,"a",[["routerLink","/rgw/daemon"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,14).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](14,671744,[[42,4],[40,4]],0,St.p,[St.m,St.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵted"](-1,null,["Daemons"])),(t()(),i["ɵeld"](16,0,null,null,6,"li",[["class","tc_submenuitem tc_submenuitem_rgw_users"],["routerLinkActive","active"]],null,null,null,null,null)),i["ɵdid"](17,1720320,null,2,St.o,[St.m,i.ElementRef,i.Renderer2,[2,St.n],[2,St.p]],{routerLinkActive:[0,"routerLinkActive"]},null),i["ɵqud"](603979776,43,{links:1}),i["ɵqud"](603979776,44,{linksWithHrefs:1}),(t()(),i["ɵeld"](20,0,null,null,2,"a",[["routerLink","/rgw/user"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,21).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](21,671744,[[44,4],[40,4]],0,St.p,[St.m,St.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵted"](-1,null,["Users"])),(t()(),i["ɵeld"](23,0,null,null,6,"li",[["class","tc_submenuitem tc_submenuitem_rgw_buckets"],["routerLinkActive","active"]],null,null,null,null,null)),i["ɵdid"](24,1720320,null,2,St.o,[St.m,i.ElementRef,i.Renderer2,[2,St.n],[2,St.p]],{routerLinkActive:[0,"routerLinkActive"]},null),i["ɵqud"](603979776,45,{links:1}),i["ɵqud"](603979776,46,{linksWithHrefs:1}),(t()(),i["ɵeld"](27,0,null,null,2,"a",[["routerLink","/rgw/bucket"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,28).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](28,671744,[[46,4],[40,4]],0,St.p,[St.m,St.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵted"](-1,null,["Buckets"]))],(function(t,e){var n=e.component;t(e,1,0,"active"),t(e,8,0,!0,"rgw"!==n.displayedSubMenu),t(e,10,0,"active"),t(e,14,0,"/rgw/daemon"),t(e,17,0,"active"),t(e,21,0,"/rgw/user"),t(e,24,0,"active"),t(e,28,0,"/rgw/bucket")}),(function(t,e){t(e,4,0,"rgw"==e.component.displayedSubMenu),t(e,7,0,i["ɵnov"](e,8).isCollapse,i["ɵnov"](e,8).isExpanded,i["ɵnov"](e,8).isExpanded,i["ɵnov"](e,8).isExpanded,i["ɵnov"](e,8).isCollapsed,i["ɵnov"](e,8).isCollapsing),t(e,13,0,i["ɵnov"](e,14).target,i["ɵnov"](e,14).href),t(e,20,0,i["ɵnov"](e,21).target,i["ɵnov"](e,21).href),t(e,27,0,i["ɵnov"](e,28).target,i["ɵnov"](e,28).href)}))}function dn(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,28,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,15,"li",[["class","nav-item tc_menuitem_dashboard"],["routerLinkActive","active"]],null,null,null,null,null)),i["ɵdid"](2,1720320,null,2,St.o,[St.m,i.ElementRef,i.Renderer2,[2,St.n],[2,St.p]],{routerLinkActive:[0,"routerLinkActive"]},null),i["ɵqud"](603979776,1,{links:1}),i["ɵqud"](603979776,2,{linksWithHrefs:1}),(t()(),i["ɵeld"](5,0,null,null,11,"a",[["class","nav-link"],["routerLink","/dashboard"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,6).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](6,671744,[[2,4]],0,St.p,[St.m,St.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵeld"](7,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Dashboard"])),(t()(),i["ɵted"](-1,null,["  "])),(t()(),i["ɵeld"](10,0,null,null,6,"i",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](12,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](13,1),i["ɵprd"](512,null,o["ɵNgStyleImpl"],o["ɵNgStyleR2Impl"],[i.ElementRef,i.KeyValueDiffers,i.Renderer2]),i["ɵdid"](15,278528,null,0,o.NgStyle,[o["ɵNgStyleImpl"]],{ngStyle:[0,"ngStyle"]},null),i["ɵppd"](16,1),(t()(),i["ɵand"](16777216,null,null,1,null,Xe)),i["ɵdid"](18,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Qe)),i["ɵdid"](20,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,on)),i["ɵdid"](22,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,sn)),i["ɵdid"](24,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,cn)),i["ɵdid"](26,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,ln)),i["ɵdid"](28,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](0,null,null,0))],(function(t,e){var n=e.component;t(e,2,0,"active"),t(e,6,0,"/dashboard");var a=t(e,13,0,n.icons.health);t(e,12,0,a);var r=i["ɵunv"](e,15,0,t(e,16,0,i["ɵnov"](e.parent.parent,0),null==n.summaryData?null:n.summaryData.health_status));t(e,15,0,r),t(e,18,0,n.permissions.hosts.read||n.permissions.monitor.read||n.permissions.osd.read||n.permissions.configOpt.read||n.permissions.log.read||n.permissions.prometheus.read),t(e,20,0,n.permissions.pool.read),t(e,22,0,(n.permissions.rbdImage.read||n.permissions.rbdMirroring.read||n.permissions.iscsi.read)&&(e.context.ngIf.rbd||e.context.ngIf.mirroring||e.context.ngIf.iscsi)),t(e,24,0,n.permissions.nfs.read&&e.context.ngIf.nfs),t(e,26,0,n.permissions.cephfs.read&&e.context.ngIf.cephfs),t(e,28,0,n.permissions.rgw.read&&e.context.ngIf.rgw)}),(function(t,e){t(e,5,0,i["ɵnov"](e,6).target,i["ɵnov"](e,6).href)}))}function un(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,2,null,dn)),i["ɵdid"](1,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),i["ɵpid"](131072,o.AsyncPipe,[i.ChangeDetectorRef]),(t()(),i["ɵand"](0,null,null,0))],(function(t,e){var n=e.component;t(e,1,0,i["ɵunv"](e,1,0,i["ɵnov"](e,2).transform(n.enabledFeature$)))}),null)}function gn(t){return i["ɵvid"](0,[i["ɵpid"](0,Ut,[]),(t()(),i["ɵeld"](1,0,null,null,1,"cd-pwd-expiration-notification",[],null,null,null,ne,Xt)),i["ɵdid"](2,114688,null,0,Jt,[$t.a,yt.a],null,null),(t()(),i["ɵeld"](3,0,null,null,1,"cd-notifications-sidebar",[],[[2,"active",null]],null,null,De,Pe)),i["ɵdid"](4,245760,null,0,Ce,[gt.a,ft.a,ve.a,Oe,yt.a,_e,i.NgZone,i.ChangeDetectorRef],null,null),(t()(),i["ɵeld"](5,0,null,null,15,"div",[["class","cd-navbar-top"]],null,null,null,null,null)),(t()(),i["ɵeld"](6,0,null,null,14,"nav",[["class","navbar fixed-top navbar-expand-md navbar-dark cd-navbar-brand"]],null,null,null,null,null)),(t()(),i["ɵeld"](7,0,null,null,1,"button",[["class","btn btn-link py-0"]],null,[[null,"click"]],(function(t,e,n){var a=!0,r=t.component;return"click"===e&&(a=0!=(r.showMenuSidebar=!r.showMenuSidebar)&&a),a}),null,null)),(t()(),i["ɵeld"](8,0,null,null,0,"i",[["aria-hidden","true"],["class","fa fa-bars fa-2x"]],null,null,null,null,null)),(t()(),i["ɵeld"](9,0,null,null,1,"a",[["class","navbar-brand ml-2"],["href","#"]],null,null,null,null,null)),(t()(),i["ɵeld"](10,0,null,null,0,"img",[["alt","Ceph"],["src","assets/Ceph_Logo_Standard_RGB_White_120411_fa.png"]],null,null,null,null,null)),(t()(),i["ɵeld"](11,0,null,null,4,"button",[["class","navbar-toggler"],["type","button"]],null,[[null,"click"]],(function(t,e,n){var a=!0,r=t.component;return"click"===e&&(a=0!=(r.isCollapsed=!r.isCollapsed)&&a),a}),null,null)),(t()(),i["ɵeld"](12,0,null,null,1,"span",[["class","sr-only"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Toggle navigation"])),(t()(),i["ɵeld"](14,0,null,null,1,"span",[["class",""]],null,null,null,null,null)),(t()(),i["ɵeld"](15,0,null,null,0,"i",[["class","fa fa-navicon fa-lg"]],null,null,null,null,null)),(t()(),i["ɵeld"](16,0,null,null,4,"div",[["class","collapse navbar-collapse"]],[[2,"collapse",null],[2,"in",null],[2,"show",null],[1,"aria-expanded",0],[1,"aria-hidden",0],[2,"collapsing",null]],null,null,null,null)),i["ɵdid"](17,8404992,null,0,Yt,[i.ElementRef,i.Renderer2,Gt.b],{collapse:[0,"collapse"]},null),(t()(),i["ɵeld"](18,0,null,null,2,"ul",[["class","nav navbar-nav cd-navbar-utility my-2 my-md-0"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Fe)),i["ɵdid"](20,540672,null,0,o.NgTemplateOutlet,[i.ViewContainerRef],{ngTemplateOutlet:[0,"ngTemplateOutlet"]},null),(t()(),i["ɵeld"](21,0,null,null,14,"div",[["class","wrapper"]],null,null,null,null,null)),(t()(),i["ɵeld"](22,0,null,null,8,"nav",[["id","sidebar"]],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](24,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpod"](25,{active:0}),(t()(),i["ɵeld"](26,0,null,null,4,"ngx-simplebar",[["data-simplebar","init"]],null,null,null,ue,de)),i["ɵdid"](27,4440064,null,0,le.a,[i.ElementRef],{options:[0,"options"]},null),(t()(),i["ɵeld"](28,0,null,0,2,"ul",[["class","list-unstyled components cd-navbar-primary"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,ze)),i["ɵdid"](30,540672,null,0,o.NgTemplateOutlet,[i.ViewContainerRef],{ngTemplateOutlet:[0,"ngTemplateOutlet"]},null),(t()(),i["ɵeld"](31,0,null,null,4,"div",[["id","content"]],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](33,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpod"](34,{active:0}),i["ɵncd"](null,0),(t()(),i["ɵand"](0,[["cd_utilities",2]],null,0,null,Ge)),(t()(),i["ɵand"](0,[["cd_menu",2]],null,0,null,un))],(function(t,e){var n=e.component;t(e,2,0),t(e,4,0),t(e,17,0,n.isCollapsed),t(e,20,0,i["ɵnov"](e,36));var a=t(e,25,0,!n.showMenuSidebar);t(e,24,0,a),t(e,27,0,n.simplebar),t(e,30,0,i["ɵnov"](e,37));var r=t(e,34,0,!n.showMenuSidebar);t(e,33,0,r)}),(function(t,e){t(e,3,0,i["ɵnov"](e,4).isSidebarOpened),t(e,16,0,i["ɵnov"](e,17).isCollapse,i["ɵnov"](e,17).isExpanded,i["ɵnov"](e,17).isExpanded,i["ɵnov"](e,17).isExpanded,i["ɵnov"](e,17).isCollapsed,i["ɵnov"](e,17).isCollapsing)}))}var fn=n("LRne"),pn=n("HDdC"),mn=n("Cfvw"),hn=n("pLZG"),bn=n("5+tZ"),yn=n("02Lk"),_n=n("IAdc"),On=n("SxV6"),vn=n("f29J");class Cn{resolve(t){const e=t.routeConfig.data,n=null===e.path?null:this.getFullPath(t),a=[{text:"string"==typeof e.breadcrumbs?e.breadcrumbs:e.breadcrumbs.text||e.text||n,path:n}];return Object(fn.a)(a)}getFullPath(t){return t.pathFromRoot.reduce((t,e)=>t+e.url.reduce((t,e)=>t+"/"+e.path,""),"")}}class Pn{constructor(t,e){this.router=t,this.injector=e,this.crumbs=[],this.finished=!1,this.defaultResolver=new Cn,this.subscription=this.router.events.pipe(Object(hn.a)(t=>t instanceof St.e)).subscribe(()=>{this.finished=!1}),this.subscription=this.router.events.pipe(Object(hn.a)(t=>t instanceof St.d)).subscribe(()=>{this._resolveCrumbs(t.routerState.snapshot.root).pipe(Object(bn.a)(t=>t),Object(yn.a)(t=>t.text),Object(_n.a)(),Object(bn.a)(t=>{const e=this.postProcess(t);return this.wrapIntoObservable(e).pipe(Object(On.a)())})).subscribe(t=>{this.finished=!0,this.crumbs=t})})}ngOnDestroy(){this.subscription.unsubscribe()}_resolveCrumbs(t){let e;const n=t.routeConfig&&t.routeConfig.data;if(n&&n.breadcrumbs){let a;a=n.breadcrumbs.prototype instanceof Cn?this.injector.get(n.breadcrumbs):this.defaultResolver;const r=a.resolve(t);e=this.wrapIntoObservable(r).pipe(Object(On.a)())}else e=Object(fn.a)([]);return t.firstChild&&(e=e.pipe(Object(vn.a)(this._resolveCrumbs(t.firstChild)))),e}postProcess(t){const e=[];return t.forEach(t=>{const n=t.text.split("/");if(n.length>1){t.text=n[n.length-1];for(let t=0;t<n.length-1;t++)e.push({text:n[t],path:null})}e.push(t)}),e}isPromise(t){return t&&"function"==typeof t.then}wrapIntoObservable(t){return t instanceof pn.a?t:this.isPromise(t)?Object(mn.a)(Promise.resolve(t)):Object(fn.a)(t)}}var Mn=i["ɵcrt"]({encapsulation:0,styles:[['@charset "UTF-8";.breadcrumb[_ngcontent-%COMP%]{padding:8px 0;background-color:transparent;border-radius:0;margin-top:8px}.breadcrumb[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] + li[_ngcontent-%COMP%]:before{padding:0 5px 0 7px;color:#474544;font-family:ForkAwesome;content:""}.breadcrumb[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{color:#474544}']],data:{}});function xn(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"a",[["preserveFragment",""]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,1).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](1,671744,null,0,St.p,[St.m,St.a,o.LocationStrategy],{preserveFragment:[0,"preserveFragment"],routerLink:[1,"routerLink"]},null),(t()(),i["ɵted"](2,null,["",""]))],(function(t,e){t(e,1,0,"",e.parent.context.$implicit.path)}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).target,i["ɵnov"](e,1).href),t(e,2,0,e.parent.context.$implicit.text)}))}function wn(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](1,null,["",""]))],null,(function(t,e){t(e,1,0,e.parent.context.$implicit.text)}))}function Tn(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,7,"li",[["class","breadcrumb-item"]],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](2,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),i["ɵpod"](3,{active:0}),(t()(),i["ɵand"](16777216,null,null,1,null,xn)),i["ɵdid"](5,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,wn)),i["ɵdid"](7,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=t(e,3,0,e.context.last&&e.component.finished);t(e,2,0,"breadcrumb-item",n),t(e,5,0,!e.context.last&&null!==e.context.$implicit.path),t(e,7,0,e.context.last||null===e.context.$implicit.path)}),null)}function Sn(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"ol",[["class","breadcrumb"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Tn)),i["ɵdid"](2,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){t(e,2,0,e.component.crumbs)}),null)}function kn(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,Sn)),i["ɵdid"](1,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){t(e,1,0,e.component.crumbs.length)}),null)}var In=n("978R"),Nn=n("VXsX");const Rn=()=>Object.assign(new In.a,{container:"body"});class An{constructor(t,e,n){this.router=t,this.summaryService=e,this.taskManagerService=n,this.subs=new dt.a}ngOnInit(){this.subs.add(this.summaryService.startPolling()),this.subs.add(this.taskManagerService.init(this.summaryService))}ngOnDestroy(){this.subs.unsubscribe()}isDashboardPage(){return"/dashboard"===this.router.url}}var En=i["ɵcrt"]({encapsulation:0,styles:[[".dashboard[_ngcontent-%COMP%]{background-color:#f5f5f5;margin:0;padding:0}.container-fluid[_ngcontent-%COMP%]{overflow:auto}  #toast-container{margin-top:2vw}@media (max-width:1600px){  #toast-container{margin-top:2.5vw}}@media (max-width:calc(992px - 1px)){  #toast-container{margin-top:9vw}}@media (max-width:900px){  #toast-container{margin-top:10vw}}@media (max-width:319px){  #toast-container{margin-top:11vw}}@media (max-width:260px){  #toast-container{margin-top:14vw}}"]],data:{}});function Dn(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,11,"block-ui",[],null,null,null,E,A)),i["ɵdid"](1,114688,null,0,w,[x],null,null),(t()(),i["ɵeld"](2,0,null,0,9,"cd-navigation",[],[[2,"isPwdDisplayed",null]],null,null,gn,je)),i["ɵdid"](3,245760,null,0,qe,[yt.a,ft.a,Le.a],null,null),(t()(),i["ɵeld"](4,0,null,0,7,"div",[["class","container-fluid h-100"]],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](6,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),i["ɵpod"](7,{dashboard:0}),(t()(),i["ɵeld"](8,0,null,null,1,"cd-breadcrumbs",[],null,null,null,kn,Mn)),i["ɵdid"](9,180224,null,0,Pn,[St.m,i.Injector],null,null),(t()(),i["ɵeld"](10,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),i["ɵdid"](11,212992,null,0,St.r,[St.b,i.ViewContainerRef,i.ComponentFactoryResolver,[8,null],i.ChangeDetectorRef],null,null)],(function(t,e){var n=e.component;t(e,1,0),t(e,3,0);var a=t(e,7,0,n.isDashboardPage());t(e,6,0,"container-fluid h-100",a),t(e,11,0)}),(function(t,e){t(e,2,0,i["ɵnov"](e,3).isPwdDisplayed)}))}function Ln(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-workbench-layout",[],null,null,null,Dn,En)),i["ɵprd"](5120,null,In.a,Rn,[]),i["ɵdid"](2,245760,null,0,An,[St.m,ft.a,Nn.a],null,null)],(function(t,e){t(e,2,0)}),null)}var qn=i["ɵccf"]("cd-workbench-layout",An,Ln,{},{},[]),jn=n("pKUh"),Fn=n("2ZVE"),zn=n("KOzp"),Gn=n("2uy1");class Bn{constructor(){this.cardClass=""}}var Vn=i["ɵcrt"]({encapsulation:0,styles:[['@charset "UTF-8";.tree-children.tree-children-no-padding[_ngcontent-%COMP%]{padding-left:0}.node-drop-slot[_ngcontent-%COMP%]{display:block;height:2px}.node-drop-slot.is-dragging-over[_ngcontent-%COMP%]{background:#dfe;height:20px;border:2px dotted #888}.toggle-children-wrapper-expanded[_ngcontent-%COMP%]   .toggle-children[_ngcontent-%COMP%]{transform:rotate(90deg)}.toggle-children-wrapper-collapsed[_ngcontent-%COMP%]   .toggle-children[_ngcontent-%COMP%]{transform:rotate(0)}.toggle-children-wrapper[_ngcontent-%COMP%]{padding:2px 3px 5px 1px}.toggle-children[_ngcontent-%COMP%]{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAASCAYAAABSO15qAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABAhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ1dWlkOjY1RTYzOTA2ODZDRjExREJBNkUyRDg4N0NFQUNCNDA3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkYzRkRFQjcxODUzNTExRTU4RTQwRkQwODFEOUZEMEE3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkYzRkRFQjcwODUzNTExRTU4RTQwRkQwODFEOUZEMEE3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE1IChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTk5NzA1OGEtZDI3OC00NDZkLWE4ODgtNGM4MGQ4YWI1NzNmIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6YzRkZmQxMGMtY2NlNS0xMTc4LWE5OGQtY2NkZmM5ODk5YWYwIi8+IDxkYzp0aXRsZT4gPHJkZjpBbHQ+IDxyZGY6bGkgeG1sOmxhbmc9IngtZGVmYXVsdCI+Z2x5cGhpY29uczwvcmRmOmxpPiA8L3JkZjpBbHQ+IDwvZGM6dGl0bGU+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+5iogFwAAAGhJREFUeNpiYGBgKABigf///zOQg0EARH4A4gZyDIIZ8B/JoAJKDIDhB0CcQIkBRBtEyABkgxwoMQCGD6AbRKoBGAYxQgXIBRuZGKgAKPIC3QLxArnRSHZCIjspk52ZKMrOFBUoAAEGAKnq593MQAZtAAAAAElFTkSuQmCC);height:8px;width:9px;background-size:contain;display:inline-block;position:relative;top:1px;background-repeat:no-repeat;background-position:center}.toggle-children-placeholder[_ngcontent-%COMP%]{display:inline-block;height:10px;width:10px;position:relative;top:1px;padding-right:3px}.node-content-wrapper[_ngcontent-%COMP%]{display:inline-block;padding:2px 5px;border-radius:2px;transition:background-color .15s,box-shadow .15s}.node-wrapper[_ngcontent-%COMP%]{display:flex;align-items:flex-start}.node-content-wrapper-active[_ngcontent-%COMP%], .node-content-wrapper-active.node-content-wrapper-focused[_ngcontent-%COMP%], .node-content-wrapper.node-content-wrapper-active[_ngcontent-%COMP%]:hover{background:#beebff}.node-content-wrapper-focused[_ngcontent-%COMP%]{background:#e7f4f9}.node-content-wrapper[_ngcontent-%COMP%]:hover{background:#f7fbff}.node-content-wrapper-active[_ngcontent-%COMP%], .node-content-wrapper-focused[_ngcontent-%COMP%], .node-content-wrapper[_ngcontent-%COMP%]:hover{box-shadow:inset 0 0 1px #999}.node-content-wrapper.is-dragging-over[_ngcontent-%COMP%]{background:#dfe;box-shadow:inset 0 0 1px #999}.node-content-wrapper.is-dragging-over-disabled[_ngcontent-%COMP%]{opacity:.5}tree-viewport[_ngcontent-%COMP%]{-webkit-tap-highlight-color:transparent;height:100%;overflow:auto;display:block}.tree-children[_ngcontent-%COMP%]{overflow:hidden;padding-left:20px}.empty-tree-drop-slot[_ngcontent-%COMP%]   .node-drop-slot[_ngcontent-%COMP%]{height:20px;min-width:100px}.angular-tree-component[_ngcontent-%COMP%]{width:100%;position:relative;display:inline-block;cursor:pointer;-webkit-touch-callout:none;-moz-user-select:none;user-select:none}tree-root[_ngcontent-%COMP%]   .angular-tree-component-rtl[_ngcontent-%COMP%]{direction:rtl}tree-root[_ngcontent-%COMP%]   .angular-tree-component-rtl[_ngcontent-%COMP%]   .toggle-children-wrapper-collapsed[_ngcontent-%COMP%]   .toggle-children[_ngcontent-%COMP%]{transform:rotate(180deg)!important}tree-root[_ngcontent-%COMP%]   .angular-tree-component-rtl[_ngcontent-%COMP%]   .tree-children[_ngcontent-%COMP%]{padding-right:20px;padding-left:0}tree-node-checkbox[_ngcontent-%COMP%]{padding:1px}[_ngcontent-%COMP%]:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#2b99a8;--secondary:#ef5c55;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#777777;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:"Helvetica Neue",Helvetica,Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*[_ngcontent-%COMP%], [_ngcontent-%COMP%]::after, [_ngcontent-%COMP%]::before{box-sizing:border-box}html[_ngcontent-%COMP%]{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article[_ngcontent-%COMP%], aside[_ngcontent-%COMP%], figcaption[_ngcontent-%COMP%], figure[_ngcontent-%COMP%], footer[_ngcontent-%COMP%], header[_ngcontent-%COMP%], hgroup[_ngcontent-%COMP%], main[_ngcontent-%COMP%], nav[_ngcontent-%COMP%], section[_ngcontent-%COMP%]{display:block}body[_ngcontent-%COMP%]{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"][_ngcontent-%COMP%]:focus{outline:0!important}h1[_ngcontent-%COMP%], h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%], h4[_ngcontent-%COMP%], h5[_ngcontent-%COMP%], h6[_ngcontent-%COMP%]{margin-top:0}dl[_ngcontent-%COMP%], ol[_ngcontent-%COMP%], p[_ngcontent-%COMP%], ul[_ngcontent-%COMP%]{margin-top:0;margin-bottom:1rem}abbr[data-original-title][_ngcontent-%COMP%], abbr[title][_ngcontent-%COMP%]{text-decoration:underline;text-decoration:underline dotted;cursor:help;border-bottom:0;text-decoration-skip-ink:none}address[_ngcontent-%COMP%]{margin-bottom:1rem;font-style:normal;line-height:inherit}ol[_ngcontent-%COMP%]   ol[_ngcontent-%COMP%], ol[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%], ul[_ngcontent-%COMP%]   ol[_ngcontent-%COMP%], ul[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]{margin-bottom:0}dt[_ngcontent-%COMP%]{font-weight:700}dd[_ngcontent-%COMP%]{margin-bottom:.5rem;margin-left:0}blockquote[_ngcontent-%COMP%], figure[_ngcontent-%COMP%]{margin:0 0 1rem}b[_ngcontent-%COMP%], strong[_ngcontent-%COMP%]{font-weight:bolder}sub[_ngcontent-%COMP%], sup[_ngcontent-%COMP%]{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub[_ngcontent-%COMP%]{bottom:-.25em}sup[_ngcontent-%COMP%]{top:-.5em}a[_ngcontent-%COMP%]{color:#2b99a8;text-decoration:none;background-color:transparent}a[_ngcontent-%COMP%]:hover{color:#1b626b;text-decoration:underline}a[_ngcontent-%COMP%]:not([href]):not([tabindex]), a[_ngcontent-%COMP%]:not([href]):not([tabindex]):focus, a[_ngcontent-%COMP%]:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a[_ngcontent-%COMP%]:not([href]):not([tabindex]):focus{outline:0}code[_ngcontent-%COMP%], kbd[_ngcontent-%COMP%], pre[_ngcontent-%COMP%], samp[_ngcontent-%COMP%]{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre[_ngcontent-%COMP%]{margin-top:0;margin-bottom:1rem;overflow:auto;display:block;color:#212529}img[_ngcontent-%COMP%]{vertical-align:middle;border-style:none}svg[_ngcontent-%COMP%]{overflow:hidden;vertical-align:middle}table[_ngcontent-%COMP%]{border-collapse:collapse}caption[_ngcontent-%COMP%]{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th[_ngcontent-%COMP%]{text-align:inherit}label[_ngcontent-%COMP%]{display:inline-block;margin-bottom:.5rem}button[_ngcontent-%COMP%]{border-radius:0}button[_ngcontent-%COMP%]:focus{outline:dotted 1px;outline:-webkit-focus-ring-color auto 5px}button[_ngcontent-%COMP%], input[_ngcontent-%COMP%], optgroup[_ngcontent-%COMP%], select[_ngcontent-%COMP%], textarea[_ngcontent-%COMP%]{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button[_ngcontent-%COMP%], input[_ngcontent-%COMP%]{overflow:visible}button[_ngcontent-%COMP%], select[_ngcontent-%COMP%]{text-transform:none}select[_ngcontent-%COMP%]{word-wrap:normal}[type=button][_ngcontent-%COMP%], [type=reset][_ngcontent-%COMP%], [type=submit][_ngcontent-%COMP%], button[_ngcontent-%COMP%]{-webkit-appearance:button}[type=button][_ngcontent-%COMP%]:not(:disabled), [type=reset][_ngcontent-%COMP%]:not(:disabled), [type=submit][_ngcontent-%COMP%]:not(:disabled), button[_ngcontent-%COMP%]:not(:disabled){cursor:pointer}[type=button][_ngcontent-%COMP%]::-moz-focus-inner, [type=reset][_ngcontent-%COMP%]::-moz-focus-inner, [type=submit][_ngcontent-%COMP%]::-moz-focus-inner, button[_ngcontent-%COMP%]::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox][_ngcontent-%COMP%], input[type=radio][_ngcontent-%COMP%]{box-sizing:border-box;padding:0}input[type=date][_ngcontent-%COMP%], input[type=datetime-local][_ngcontent-%COMP%], input[type=month][_ngcontent-%COMP%], input[type=time][_ngcontent-%COMP%]{-webkit-appearance:listbox}textarea[_ngcontent-%COMP%]{overflow:auto;resize:vertical}fieldset[_ngcontent-%COMP%]{min-width:0;padding:0;margin:0;border:0}legend[_ngcontent-%COMP%]{display:block;width:100%;max-width:100%;padding:0;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress[_ngcontent-%COMP%]{vertical-align:baseline}[type=number][_ngcontent-%COMP%]::-webkit-inner-spin-button, [type=number][_ngcontent-%COMP%]::-webkit-outer-spin-button{height:auto}[type=search][_ngcontent-%COMP%]{outline-offset:-2px;-webkit-appearance:none}[type=search][_ngcontent-%COMP%]::-webkit-search-decoration{-webkit-appearance:none}[_ngcontent-%COMP%]::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output[_ngcontent-%COMP%]{display:inline-block}summary[_ngcontent-%COMP%]{display:list-item;cursor:pointer}template[_ngcontent-%COMP%]{display:none}[hidden][_ngcontent-%COMP%]{display:none!important}.h1[_ngcontent-%COMP%], .h2[_ngcontent-%COMP%], .h3[_ngcontent-%COMP%], .h4[_ngcontent-%COMP%], .h5[_ngcontent-%COMP%], .h6[_ngcontent-%COMP%], h1[_ngcontent-%COMP%], h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%], h4[_ngcontent-%COMP%], h5[_ngcontent-%COMP%], h6[_ngcontent-%COMP%]{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1[_ngcontent-%COMP%], h1[_ngcontent-%COMP%]{font-size:2.5rem}.h2[_ngcontent-%COMP%], h2[_ngcontent-%COMP%]{font-size:2rem}.h3[_ngcontent-%COMP%], h3[_ngcontent-%COMP%]{font-size:1.75rem}.h4[_ngcontent-%COMP%], h4[_ngcontent-%COMP%]{font-size:1.5rem}.h5[_ngcontent-%COMP%], h5[_ngcontent-%COMP%]{font-size:1.25rem}.h6[_ngcontent-%COMP%], h6[_ngcontent-%COMP%]{font-size:1rem}.lead[_ngcontent-%COMP%]{font-size:1.25rem;font-weight:300}.display-1[_ngcontent-%COMP%]{font-size:6rem;font-weight:300;line-height:1.2}.display-2[_ngcontent-%COMP%]{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3[_ngcontent-%COMP%]{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4[_ngcontent-%COMP%]{font-size:3.5rem;font-weight:300;line-height:1.2}hr[_ngcontent-%COMP%]{box-sizing:content-box;height:0;overflow:visible;margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small[_ngcontent-%COMP%], small[_ngcontent-%COMP%]{font-size:80%;font-weight:400}.mark[_ngcontent-%COMP%], mark[_ngcontent-%COMP%]{padding:.2em;background-color:#fcf8e3}.list-inline[_ngcontent-%COMP%], .list-unstyled[_ngcontent-%COMP%]{padding-left:0;list-style:none}.list-inline-item[_ngcontent-%COMP%]{display:inline-block}.list-inline-item[_ngcontent-%COMP%]:not(:last-child){margin-right:.5rem}.initialism[_ngcontent-%COMP%]{font-size:90%;text-transform:uppercase}.blockquote[_ngcontent-%COMP%]{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer[_ngcontent-%COMP%]{display:block;font-size:80%;color:#6c757d}.blockquote-footer[_ngcontent-%COMP%]::before{content:"— "}.img-fluid[_ngcontent-%COMP%]{max-width:100%;height:auto}.img-thumbnail[_ngcontent-%COMP%]{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure[_ngcontent-%COMP%]{display:inline-block}.figure-img[_ngcontent-%COMP%]{margin-bottom:.5rem;line-height:1}.figure-caption[_ngcontent-%COMP%]{font-size:90%;color:#6c757d}code[_ngcontent-%COMP%]{font-size:87.5%;color:#e83e8c;word-break:break-word}a[_ngcontent-%COMP%] > code[_ngcontent-%COMP%]{color:inherit}kbd[_ngcontent-%COMP%]{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd[_ngcontent-%COMP%]   kbd[_ngcontent-%COMP%]{padding:0;font-size:100%;font-weight:700}pre[_ngcontent-%COMP%]   code[_ngcontent-%COMP%]{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable[_ngcontent-%COMP%]{max-height:340px;overflow-y:scroll}.container[_ngcontent-%COMP%]{width:100%;margin-right:auto;margin-left:auto}@media (min-width:576px){.container[_ngcontent-%COMP%]{max-width:540px}}@media (min-width:768px){.container[_ngcontent-%COMP%]{max-width:720px}}@media (min-width:992px){.container[_ngcontent-%COMP%]{max-width:960px}}@media (min-width:1200px){.container[_ngcontent-%COMP%]{max-width:1140px}}.container-fluid[_ngcontent-%COMP%]{width:100%;margin-right:auto;margin-left:auto}.row[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap}.no-gutters[_ngcontent-%COMP%]{margin-right:0;margin-left:0}.no-gutters[_ngcontent-%COMP%] > .col[_ngcontent-%COMP%], .no-gutters[_ngcontent-%COMP%] > [class*=col-][_ngcontent-%COMP%]{padding-right:0;padding-left:0}.cd-col-form[_ngcontent-%COMP%], .cd-col-form-input[_ngcontent-%COMP%], .cd-col-form-label[_ngcontent-%COMP%], .cd-col-form-offset[_ngcontent-%COMP%], .col[_ngcontent-%COMP%], .col-1[_ngcontent-%COMP%], .col-10[_ngcontent-%COMP%], .col-11[_ngcontent-%COMP%], .col-12[_ngcontent-%COMP%], .col-2[_ngcontent-%COMP%], .col-3[_ngcontent-%COMP%], .col-4[_ngcontent-%COMP%], .col-5[_ngcontent-%COMP%], .col-6[_ngcontent-%COMP%], .col-7[_ngcontent-%COMP%], .col-8[_ngcontent-%COMP%], .col-9[_ngcontent-%COMP%], .col-auto[_ngcontent-%COMP%], .col-lg[_ngcontent-%COMP%], .col-lg-1[_ngcontent-%COMP%], .col-lg-10[_ngcontent-%COMP%], .col-lg-11[_ngcontent-%COMP%], .col-lg-12[_ngcontent-%COMP%], .col-lg-2[_ngcontent-%COMP%], .col-lg-3[_ngcontent-%COMP%], .col-lg-4[_ngcontent-%COMP%], .col-lg-5[_ngcontent-%COMP%], .col-lg-6[_ngcontent-%COMP%], .col-lg-7[_ngcontent-%COMP%], .col-lg-8[_ngcontent-%COMP%], .col-lg-9[_ngcontent-%COMP%], .col-lg-auto[_ngcontent-%COMP%], .col-md[_ngcontent-%COMP%], .col-md-1[_ngcontent-%COMP%], .col-md-10[_ngcontent-%COMP%], .col-md-11[_ngcontent-%COMP%], .col-md-12[_ngcontent-%COMP%], .col-md-2[_ngcontent-%COMP%], .col-md-3[_ngcontent-%COMP%], .col-md-4[_ngcontent-%COMP%], .col-md-5[_ngcontent-%COMP%], .col-md-6[_ngcontent-%COMP%], .col-md-7[_ngcontent-%COMP%], .col-md-8[_ngcontent-%COMP%], .col-md-9[_ngcontent-%COMP%], .col-md-auto[_ngcontent-%COMP%], .col-sm[_ngcontent-%COMP%], .col-sm-1[_ngcontent-%COMP%], .col-sm-10[_ngcontent-%COMP%], .col-sm-11[_ngcontent-%COMP%], .col-sm-12[_ngcontent-%COMP%], .col-sm-2[_ngcontent-%COMP%], .col-sm-3[_ngcontent-%COMP%], .col-sm-4[_ngcontent-%COMP%], .col-sm-5[_ngcontent-%COMP%], .col-sm-6[_ngcontent-%COMP%], .col-sm-7[_ngcontent-%COMP%], .col-sm-8[_ngcontent-%COMP%], .col-sm-9[_ngcontent-%COMP%], .col-sm-auto[_ngcontent-%COMP%], .col-xl[_ngcontent-%COMP%], .col-xl-1[_ngcontent-%COMP%], .col-xl-10[_ngcontent-%COMP%], .col-xl-11[_ngcontent-%COMP%], .col-xl-12[_ngcontent-%COMP%], .col-xl-2[_ngcontent-%COMP%], .col-xl-3[_ngcontent-%COMP%], .col-xl-4[_ngcontent-%COMP%], .col-xl-5[_ngcontent-%COMP%], .col-xl-6[_ngcontent-%COMP%], .col-xl-7[_ngcontent-%COMP%], .col-xl-8[_ngcontent-%COMP%], .col-xl-9[_ngcontent-%COMP%], .col-xl-auto[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-input[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-label[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-offset[_ngcontent-%COMP%]{position:relative;width:100%;padding-right:15px;padding-left:15px}.col[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;max-width:100%}.col-auto[_ngcontent-%COMP%]{flex:0 0 auto;width:auto;max-width:100%}.col-1[_ngcontent-%COMP%]{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-2[_ngcontent-%COMP%]{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-3[_ngcontent-%COMP%]{flex:0 0 25%;max-width:25%}.col-4[_ngcontent-%COMP%]{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-5[_ngcontent-%COMP%]{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-6[_ngcontent-%COMP%]{flex:0 0 50%;max-width:50%}.col-7[_ngcontent-%COMP%]{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-8[_ngcontent-%COMP%]{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-9[_ngcontent-%COMP%]{flex:0 0 75%;max-width:75%}.col-10[_ngcontent-%COMP%]{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-11[_ngcontent-%COMP%]{flex:0 0 91.6666666667%;max-width:91.6666666667%}.cd-col-form[_ngcontent-%COMP%], .col-12[_ngcontent-%COMP%]{flex:0 0 100%;max-width:100%}.order-first[_ngcontent-%COMP%]{order:-1}.order-last[_ngcontent-%COMP%]{order:13}.order-0[_ngcontent-%COMP%]{order:0}.order-1[_ngcontent-%COMP%]{order:1}.order-2[_ngcontent-%COMP%]{order:2}.order-3[_ngcontent-%COMP%]{order:3}.order-4[_ngcontent-%COMP%]{order:4}.order-5[_ngcontent-%COMP%]{order:5}.order-6[_ngcontent-%COMP%]{order:6}.order-7[_ngcontent-%COMP%]{order:7}.order-8[_ngcontent-%COMP%]{order:8}.order-9[_ngcontent-%COMP%]{order:9}.order-10[_ngcontent-%COMP%]{order:10}.order-11[_ngcontent-%COMP%]{order:11}.order-12[_ngcontent-%COMP%]{order:12}.offset-1[_ngcontent-%COMP%]{margin-left:8.3333333333%}.offset-2[_ngcontent-%COMP%]{margin-left:16.6666666667%}.offset-3[_ngcontent-%COMP%]{margin-left:25%}.offset-4[_ngcontent-%COMP%]{margin-left:33.3333333333%}.offset-5[_ngcontent-%COMP%]{margin-left:41.6666666667%}.offset-6[_ngcontent-%COMP%]{margin-left:50%}.offset-7[_ngcontent-%COMP%]{margin-left:58.3333333333%}.offset-8[_ngcontent-%COMP%]{margin-left:66.6666666667%}.offset-9[_ngcontent-%COMP%]{margin-left:75%}.offset-10[_ngcontent-%COMP%]{margin-left:83.3333333333%}.offset-11[_ngcontent-%COMP%]{margin-left:91.6666666667%}@media (min-width:576px){.col-sm[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;max-width:100%}.col-sm-auto[_ngcontent-%COMP%]{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1[_ngcontent-%COMP%]{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-sm-2[_ngcontent-%COMP%]{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-3[_ngcontent-%COMP%]{flex:0 0 25%;max-width:25%}.cd-col-form-label[_ngcontent-%COMP%], .col-sm-4[_ngcontent-%COMP%]{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-sm-5[_ngcontent-%COMP%]{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-sm-6[_ngcontent-%COMP%]{flex:0 0 50%;max-width:50%}.col-sm-7[_ngcontent-%COMP%]{flex:0 0 58.3333333333%;max-width:58.3333333333%}.cd-col-form-input[_ngcontent-%COMP%], .cd-col-form-offset[_ngcontent-%COMP%], .col-sm-8[_ngcontent-%COMP%]{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-sm-9[_ngcontent-%COMP%]{flex:0 0 75%;max-width:75%}.col-sm-10[_ngcontent-%COMP%]{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-sm-11[_ngcontent-%COMP%]{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-sm-12[_ngcontent-%COMP%]{flex:0 0 100%;max-width:100%}.order-sm-first[_ngcontent-%COMP%]{order:-1}.order-sm-last[_ngcontent-%COMP%]{order:13}.order-sm-0[_ngcontent-%COMP%]{order:0}.order-sm-1[_ngcontent-%COMP%]{order:1}.order-sm-2[_ngcontent-%COMP%]{order:2}.order-sm-3[_ngcontent-%COMP%]{order:3}.order-sm-4[_ngcontent-%COMP%]{order:4}.order-sm-5[_ngcontent-%COMP%]{order:5}.order-sm-6[_ngcontent-%COMP%]{order:6}.order-sm-7[_ngcontent-%COMP%]{order:7}.order-sm-8[_ngcontent-%COMP%]{order:8}.order-sm-9[_ngcontent-%COMP%]{order:9}.order-sm-10[_ngcontent-%COMP%]{order:10}.order-sm-11[_ngcontent-%COMP%]{order:11}.order-sm-12[_ngcontent-%COMP%]{order:12}.offset-sm-0[_ngcontent-%COMP%]{margin-left:0}.offset-sm-1[_ngcontent-%COMP%]{margin-left:8.3333333333%}.offset-sm-2[_ngcontent-%COMP%]{margin-left:16.6666666667%}.offset-sm-3[_ngcontent-%COMP%]{margin-left:25%}.cd-col-form-offset[_ngcontent-%COMP%], .offset-sm-4[_ngcontent-%COMP%]{margin-left:33.3333333333%}.offset-sm-5[_ngcontent-%COMP%]{margin-left:41.6666666667%}.offset-sm-6[_ngcontent-%COMP%]{margin-left:50%}.offset-sm-7[_ngcontent-%COMP%]{margin-left:58.3333333333%}.offset-sm-8[_ngcontent-%COMP%]{margin-left:66.6666666667%}.offset-sm-9[_ngcontent-%COMP%]{margin-left:75%}.offset-sm-10[_ngcontent-%COMP%]{margin-left:83.3333333333%}.offset-sm-11[_ngcontent-%COMP%]{margin-left:91.6666666667%}}@media (min-width:768px){.col-md[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;max-width:100%}.col-md-auto[_ngcontent-%COMP%]{flex:0 0 auto;width:auto;max-width:100%}.col-md-1[_ngcontent-%COMP%]{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-md-2[_ngcontent-%COMP%]{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-3[_ngcontent-%COMP%]{flex:0 0 25%;max-width:25%}.cd-col-form-label[_ngcontent-%COMP%], .col-md-4[_ngcontent-%COMP%]{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-md-5[_ngcontent-%COMP%]{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-md-6[_ngcontent-%COMP%]{flex:0 0 50%;max-width:50%}.col-md-7[_ngcontent-%COMP%]{flex:0 0 58.3333333333%;max-width:58.3333333333%}.cd-col-form-input[_ngcontent-%COMP%], .cd-col-form-offset[_ngcontent-%COMP%], .col-md-8[_ngcontent-%COMP%]{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-md-9[_ngcontent-%COMP%]{flex:0 0 75%;max-width:75%}.col-md-10[_ngcontent-%COMP%]{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-md-11[_ngcontent-%COMP%]{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-md-12[_ngcontent-%COMP%]{flex:0 0 100%;max-width:100%}.order-md-first[_ngcontent-%COMP%]{order:-1}.order-md-last[_ngcontent-%COMP%]{order:13}.order-md-0[_ngcontent-%COMP%]{order:0}.order-md-1[_ngcontent-%COMP%]{order:1}.order-md-2[_ngcontent-%COMP%]{order:2}.order-md-3[_ngcontent-%COMP%]{order:3}.order-md-4[_ngcontent-%COMP%]{order:4}.order-md-5[_ngcontent-%COMP%]{order:5}.order-md-6[_ngcontent-%COMP%]{order:6}.order-md-7[_ngcontent-%COMP%]{order:7}.order-md-8[_ngcontent-%COMP%]{order:8}.order-md-9[_ngcontent-%COMP%]{order:9}.order-md-10[_ngcontent-%COMP%]{order:10}.order-md-11[_ngcontent-%COMP%]{order:11}.order-md-12[_ngcontent-%COMP%]{order:12}.offset-md-0[_ngcontent-%COMP%]{margin-left:0}.offset-md-1[_ngcontent-%COMP%]{margin-left:8.3333333333%}.offset-md-2[_ngcontent-%COMP%]{margin-left:16.6666666667%}.offset-md-3[_ngcontent-%COMP%]{margin-left:25%}.offset-md-4[_ngcontent-%COMP%]{margin-left:33.3333333333%}.offset-md-5[_ngcontent-%COMP%]{margin-left:41.6666666667%}.offset-md-6[_ngcontent-%COMP%]{margin-left:50%}.offset-md-7[_ngcontent-%COMP%]{margin-left:58.3333333333%}.offset-md-8[_ngcontent-%COMP%]{margin-left:66.6666666667%}.offset-md-9[_ngcontent-%COMP%]{margin-left:75%}.offset-md-10[_ngcontent-%COMP%]{margin-left:83.3333333333%}.offset-md-11[_ngcontent-%COMP%]{margin-left:91.6666666667%}}@media (min-width:992px){.col-lg[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;max-width:100%}.col-lg-auto[_ngcontent-%COMP%]{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1[_ngcontent-%COMP%]{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-lg-2[_ngcontent-%COMP%]{flex:0 0 16.6666666667%;max-width:16.6666666667%}.cd-col-form-label[_ngcontent-%COMP%], .col-lg-3[_ngcontent-%COMP%]{flex:0 0 25%;max-width:25%}.col-lg-4[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-label[_ngcontent-%COMP%]{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-lg-5[_ngcontent-%COMP%]{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-lg-6[_ngcontent-%COMP%]{flex:0 0 50%;max-width:50%}.col-lg-7[_ngcontent-%COMP%]{flex:0 0 58.3333333333%;max-width:58.3333333333%}.cd-col-form[_ngcontent-%COMP%], .col-lg-8[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-input[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-offset[_ngcontent-%COMP%]{flex:0 0 66.6666666667%;max-width:66.6666666667%}.cd-col-form-input[_ngcontent-%COMP%], .cd-col-form-offset[_ngcontent-%COMP%], .col-lg-9[_ngcontent-%COMP%]{flex:0 0 75%;max-width:75%}.col-lg-10[_ngcontent-%COMP%]{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-lg-11[_ngcontent-%COMP%]{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-lg-12[_ngcontent-%COMP%]{flex:0 0 100%;max-width:100%}.order-lg-first[_ngcontent-%COMP%]{order:-1}.order-lg-last[_ngcontent-%COMP%]{order:13}.order-lg-0[_ngcontent-%COMP%]{order:0}.order-lg-1[_ngcontent-%COMP%]{order:1}.order-lg-2[_ngcontent-%COMP%]{order:2}.order-lg-3[_ngcontent-%COMP%]{order:3}.order-lg-4[_ngcontent-%COMP%]{order:4}.order-lg-5[_ngcontent-%COMP%]{order:5}.order-lg-6[_ngcontent-%COMP%]{order:6}.order-lg-7[_ngcontent-%COMP%]{order:7}.order-lg-8[_ngcontent-%COMP%]{order:8}.order-lg-9[_ngcontent-%COMP%]{order:9}.order-lg-10[_ngcontent-%COMP%]{order:10}.order-lg-11[_ngcontent-%COMP%]{order:11}.order-lg-12[_ngcontent-%COMP%]{order:12}.offset-lg-0[_ngcontent-%COMP%]{margin-left:0}.offset-lg-1[_ngcontent-%COMP%]{margin-left:8.3333333333%}.offset-lg-2[_ngcontent-%COMP%]{margin-left:16.6666666667%}.cd-col-form-offset[_ngcontent-%COMP%], .offset-lg-3[_ngcontent-%COMP%]{margin-left:25%}.offset-lg-4[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-offset[_ngcontent-%COMP%]{margin-left:33.3333333333%}.offset-lg-5[_ngcontent-%COMP%]{margin-left:41.6666666667%}.offset-lg-6[_ngcontent-%COMP%]{margin-left:50%}.offset-lg-7[_ngcontent-%COMP%]{margin-left:58.3333333333%}.offset-lg-8[_ngcontent-%COMP%]{margin-left:66.6666666667%}.offset-lg-9[_ngcontent-%COMP%]{margin-left:75%}.offset-lg-10[_ngcontent-%COMP%]{margin-left:83.3333333333%}.offset-lg-11[_ngcontent-%COMP%]{margin-left:91.6666666667%}}@media (min-width:1200px){.col-xl[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;max-width:100%}.col-xl-auto[_ngcontent-%COMP%]{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1[_ngcontent-%COMP%]{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-xl-2[_ngcontent-%COMP%]{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xl-3[_ngcontent-%COMP%]{flex:0 0 25%;max-width:25%}.col-xl-4[_ngcontent-%COMP%]{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-xl-5[_ngcontent-%COMP%]{flex:0 0 41.6666666667%;max-width:41.6666666667%}.cd-col-form[_ngcontent-%COMP%], .col-xl-6[_ngcontent-%COMP%]{flex:0 0 50%;max-width:50%}.col-xl-7[_ngcontent-%COMP%]{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-xl-8[_ngcontent-%COMP%]{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-xl-9[_ngcontent-%COMP%]{flex:0 0 75%;max-width:75%}.col-xl-10[_ngcontent-%COMP%]{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-xl-11[_ngcontent-%COMP%]{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-xl-12[_ngcontent-%COMP%]{flex:0 0 100%;max-width:100%}.order-xl-first[_ngcontent-%COMP%]{order:-1}.order-xl-last[_ngcontent-%COMP%]{order:13}.order-xl-0[_ngcontent-%COMP%]{order:0}.order-xl-1[_ngcontent-%COMP%]{order:1}.order-xl-2[_ngcontent-%COMP%]{order:2}.order-xl-3[_ngcontent-%COMP%]{order:3}.order-xl-4[_ngcontent-%COMP%]{order:4}.order-xl-5[_ngcontent-%COMP%]{order:5}.order-xl-6[_ngcontent-%COMP%]{order:6}.order-xl-7[_ngcontent-%COMP%]{order:7}.order-xl-8[_ngcontent-%COMP%]{order:8}.order-xl-9[_ngcontent-%COMP%]{order:9}.order-xl-10[_ngcontent-%COMP%]{order:10}.order-xl-11[_ngcontent-%COMP%]{order:11}.order-xl-12[_ngcontent-%COMP%]{order:12}.offset-xl-0[_ngcontent-%COMP%]{margin-left:0}.offset-xl-1[_ngcontent-%COMP%]{margin-left:8.3333333333%}.offset-xl-2[_ngcontent-%COMP%]{margin-left:16.6666666667%}.offset-xl-3[_ngcontent-%COMP%]{margin-left:25%}.offset-xl-4[_ngcontent-%COMP%]{margin-left:33.3333333333%}.offset-xl-5[_ngcontent-%COMP%]{margin-left:41.6666666667%}.offset-xl-6[_ngcontent-%COMP%]{margin-left:50%}.offset-xl-7[_ngcontent-%COMP%]{margin-left:58.3333333333%}.offset-xl-8[_ngcontent-%COMP%]{margin-left:66.6666666667%}.offset-xl-9[_ngcontent-%COMP%]{margin-left:75%}.offset-xl-10[_ngcontent-%COMP%]{margin-left:83.3333333333%}.offset-xl-11[_ngcontent-%COMP%]{margin-left:91.6666666667%}}.table[_ngcontent-%COMP%]{width:100%;margin-bottom:1rem;color:#212529}.table[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%]{border-top:2px solid #dee2e6}.table-sm[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-sm[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{padding:.3rem}.table-bordered[_ngcontent-%COMP%], .table-bordered[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-bordered[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border:1px solid #dee2e6}.table-bordered[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-bordered[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-bottom-width:2px}.table-borderless[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-borderless[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-borderless[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-borderless[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border:0}.table-striped[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary[_ngcontent-%COMP%], .table-primary[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-primary[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#c4e2e7}.table-primary[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-primary[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-primary[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-primary[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#91cad2}.table-hover[_ngcontent-%COMP%]   .table-primary[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-primary[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-primary[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#b2d9e0}.table-secondary[_ngcontent-%COMP%], .table-secondary[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-secondary[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#fbd1cf}.table-secondary[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-secondary[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-secondary[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-secondary[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#f7aaa7}.table-hover[_ngcontent-%COMP%]   .table-secondary[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-secondary[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-secondary[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#f9bab7}.table-success[_ngcontent-%COMP%], .table-success[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-success[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#c3e6cb}.table-success[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-success[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-success[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-success[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#8fd19e}.table-hover[_ngcontent-%COMP%]   .table-success[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-success[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-success[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#b1dfbb}.table-info[_ngcontent-%COMP%], .table-info[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-info[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#bee5eb}.table-info[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-info[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-info[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-info[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#86cfda}.table-hover[_ngcontent-%COMP%]   .table-info[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-info[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-info[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#abdde5}.table-warning[_ngcontent-%COMP%], .table-warning[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-warning[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#ffeeba}.table-warning[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-warning[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-warning[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-warning[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#ffdf7e}.table-hover[_ngcontent-%COMP%]   .table-warning[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-warning[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-warning[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#ffe8a1}.table-danger[_ngcontent-%COMP%], .table-danger[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-danger[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#f5c6cb}.table-danger[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-danger[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-danger[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-danger[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#ed969e}.table-hover[_ngcontent-%COMP%]   .table-danger[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-danger[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-danger[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#f1b0b7}.table-light[_ngcontent-%COMP%], .table-light[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-light[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#fdfdfe}.table-light[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-light[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-light[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-light[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#fbfcfc}.table-hover[_ngcontent-%COMP%]   .table-light[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-light[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-light[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#ececf6}.table-dark[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#d9d9d9}.table-dark[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#b8b8b8}.table-hover[_ngcontent-%COMP%]   .table-dark[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-dark[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-dark[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#ccc}.table-active[_ngcontent-%COMP%], .table-active[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-active[_ngcontent-%COMP%] > th[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-active[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-active[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-active[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:rgba(0,0,0,.075)}.table[_ngcontent-%COMP%]   .thead-dark[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{color:#fff;background-color:#343a40;border-color:#454d55}.table[_ngcontent-%COMP%]   .thead-light[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark[_ngcontent-%COMP%]{color:#fff;background-color:#343a40}.table-dark[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#454d55}.table-dark.table-bordered[_ngcontent-%COMP%]{border:0}.table-dark.table-striped[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm[_ngcontent-%COMP%]{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm[_ngcontent-%COMP%] > .table-bordered[_ngcontent-%COMP%]{border:0}}@media (max-width:767.98px){.table-responsive-md[_ngcontent-%COMP%]{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md[_ngcontent-%COMP%] > .table-bordered[_ngcontent-%COMP%]{border:0}}@media (max-width:991.98px){.table-responsive-lg[_ngcontent-%COMP%]{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg[_ngcontent-%COMP%] > .table-bordered[_ngcontent-%COMP%]{border:0}}@media (max-width:1199.98px){.table-responsive-xl[_ngcontent-%COMP%]{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl[_ngcontent-%COMP%] > .table-bordered[_ngcontent-%COMP%]{border:0}}.table-responsive[_ngcontent-%COMP%]{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive[_ngcontent-%COMP%] > .table-bordered[_ngcontent-%COMP%]{border:0}.cd-form-control[_ngcontent-%COMP%], .form-control[_ngcontent-%COMP%]{width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.cd-form-control[_ngcontent-%COMP%], .form-control[_ngcontent-%COMP%]{transition:none}}.cd-form-control[_ngcontent-%COMP%]::-ms-expand, .form-control[_ngcontent-%COMP%]::-ms-expand{background-color:transparent;border:0}.cd-form-control[_ngcontent-%COMP%]:focus, .form-control[_ngcontent-%COMP%]:focus{color:#495057;background-color:#fff;box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.cd-form-control[_ngcontent-%COMP%]::placeholder, .form-control[_ngcontent-%COMP%]::placeholder{color:#6c757d;opacity:1}.cd-form-control[_ngcontent-%COMP%]:disabled, .form-control[_ngcontent-%COMP%]:disabled, .form-control[readonly][_ngcontent-%COMP%], [readonly].cd-form-control[_ngcontent-%COMP%]{background-color:#e9ecef;opacity:1}select.cd-form-control[_ngcontent-%COMP%]:focus::-ms-value, select.form-control[_ngcontent-%COMP%]:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file[_ngcontent-%COMP%], .form-control-range[_ngcontent-%COMP%]{display:block;width:100%}.cd-col-form-label[_ngcontent-%COMP%], .col-form-label[_ngcontent-%COMP%]{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg[_ngcontent-%COMP%]{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm[_ngcontent-%COMP%]{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext[_ngcontent-%COMP%]{display:block;width:100%;padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg[_ngcontent-%COMP%], .form-control-plaintext.form-control-sm[_ngcontent-%COMP%]{padding-right:0;padding-left:0}.form-control-sm[_ngcontent-%COMP%]{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg[_ngcontent-%COMP%]{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple][_ngcontent-%COMP%], select.form-control[size][_ngcontent-%COMP%], select[multiple].cd-form-control[_ngcontent-%COMP%], select[size].cd-form-control[_ngcontent-%COMP%], textarea.cd-form-control[_ngcontent-%COMP%], textarea.form-control[_ngcontent-%COMP%]{height:auto}.form-group[_ngcontent-%COMP%]{margin-bottom:1rem}.form-text[_ngcontent-%COMP%]{display:block;margin-top:.25rem}.form-row[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row[_ngcontent-%COMP%] > .col[_ngcontent-%COMP%], .form-row[_ngcontent-%COMP%] > [class*=col-][_ngcontent-%COMP%]{padding-right:5px;padding-left:5px}.form-check[_ngcontent-%COMP%]{position:relative;display:block;padding-left:1.25rem}.form-check-input[_ngcontent-%COMP%]{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input[_ngcontent-%COMP%]:disabled ~ .form-check-label[_ngcontent-%COMP%]{color:#6c757d}.form-check-label[_ngcontent-%COMP%]{margin-bottom:0}.form-check-inline[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback[_ngcontent-%COMP%]{display:none;width:100%;margin-top:.25rem;font-size:100%;color:#28a745}.valid-tooltip[_ngcontent-%COMP%]{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.form-control.is-valid[_ngcontent-%COMP%], .is-valid.cd-form-control[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:valid, .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:valid{border-color:#28a745;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=\'%2328a745\' d=\'M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z\'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:center right calc(.375em + .1875rem);background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid[_ngcontent-%COMP%]:focus, .is-valid.cd-form-control[_ngcontent-%COMP%]:focus, .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:valid:focus, .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-control.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .form-control.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .is-valid.cd-form-control[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .is-valid.cd-form-control[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%]{display:block}.was-validated[_ngcontent-%COMP%]   textarea.cd-form-control[_ngcontent-%COMP%]:valid, .was-validated[_ngcontent-%COMP%]   textarea.form-control[_ngcontent-%COMP%]:valid, textarea.form-control.is-valid[_ngcontent-%COMP%], textarea.is-valid.cd-form-control[_ngcontent-%COMP%]{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:valid{border-color:#28a745;padding-right:calc((1em + .75rem) * 3 / 4 + 1.75rem);background:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 4 5\'%3e%3cpath fill=\'%23343a40\' d=\'M2 0L0 2h4zm0 5L0 3h4z\'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat,url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 8 8\'%3e%3cpath fill=\'%2328a745\' d=\'M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z\'/%3e%3c/svg%3e") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat #fff}.custom-select.is-valid[_ngcontent-%COMP%]:focus, .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-select.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .custom-select.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%]{display:block}.form-control-file.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .form-control-file.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control-file[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control-file[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%]{display:block}.form-check-input.is-valid[_ngcontent-%COMP%] ~ .form-check-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]:valid ~ .form-check-label[_ngcontent-%COMP%]{color:#28a745}.form-check-input.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .form-check-input.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%]{display:block}.custom-control-input.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .custom-control-input.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%]{display:block}.custom-control-input.is-valid[_ngcontent-%COMP%]:focus ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid:focus ~ .custom-control-label[_ngcontent-%COMP%]::before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-file-input.is-valid[_ngcontent-%COMP%] ~ .custom-file-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:valid ~ .custom-file-label[_ngcontent-%COMP%]{border-color:#28a745}.custom-file-input.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .custom-file-input.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%]{display:block}.custom-file-input.is-valid[_ngcontent-%COMP%]:focus ~ .custom-file-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:valid:focus ~ .custom-file-label[_ngcontent-%COMP%]{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback[_ngcontent-%COMP%]{display:none;width:100%;margin-top:.25rem;font-size:100%;color:#dc3545}.invalid-tooltip[_ngcontent-%COMP%]{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.form-control.is-invalid[_ngcontent-%COMP%], .is-invalid.cd-form-control[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:invalid, .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]: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\' fill=\'%23dc3545\' viewBox=\'-2 -2 7 7\'%3e%3cpath stroke=\'%23dc3545\' d=\'M0 0l3 3m0-3L0 3\'/%3e%3ccircle r=\'.5\'/%3e%3ccircle cx=\'3\' r=\'.5\'/%3e%3ccircle cy=\'3\' r=\'.5\'/%3e%3ccircle cx=\'3\' cy=\'3\' r=\'.5\'/%3e%3c/svg%3E");background-repeat:no-repeat;background-position:center right calc(.375em + .1875rem);background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid[_ngcontent-%COMP%]:focus, .is-invalid.cd-form-control[_ngcontent-%COMP%]:focus, .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:invalid:focus, .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-control.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .form-control.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .is-invalid.cd-form-control[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .is-invalid.cd-form-control[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%]{display:block}.was-validated[_ngcontent-%COMP%]   textarea.cd-form-control[_ngcontent-%COMP%]:invalid, .was-validated[_ngcontent-%COMP%]   textarea.form-control[_ngcontent-%COMP%]:invalid, textarea.form-control.is-invalid[_ngcontent-%COMP%], textarea.is-invalid.cd-form-control[_ngcontent-%COMP%]{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:invalid{border-color:#dc3545;padding-right:calc((1em + .75rem) * 3 / 4 + 1.75rem);background:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 4 5\'%3e%3cpath fill=\'%23343a40\' d=\'M2 0L0 2h4zm0 5L0 3h4z\'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat,url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' fill=\'%23dc3545\' viewBox=\'-2 -2 7 7\'%3e%3cpath stroke=\'%23dc3545\' d=\'M0 0l3 3m0-3L0 3\'/%3e%3ccircle r=\'.5\'/%3e%3ccircle cx=\'3\' r=\'.5\'/%3e%3ccircle cy=\'3\' r=\'.5\'/%3e%3ccircle cx=\'3\' cy=\'3\' r=\'.5\'/%3e%3c/svg%3E") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat #fff}.custom-select.is-invalid[_ngcontent-%COMP%]:focus, .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-select.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .custom-select.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%]{display:block}.form-control-file.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .form-control-file.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control-file[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control-file[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%]{display:block}.form-check-input.is-invalid[_ngcontent-%COMP%] ~ .form-check-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]:invalid ~ .form-check-label[_ngcontent-%COMP%]{color:#dc3545}.form-check-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .form-check-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%]{display:block}.custom-control-input.is-invalid[_ngcontent-%COMP%] ~ .custom-control-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid ~ .custom-control-label[_ngcontent-%COMP%]{color:#dc3545}.custom-control-input.is-invalid[_ngcontent-%COMP%] ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#dc3545}.custom-control-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .custom-control-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%]{display:block}.custom-control-input.is-invalid[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid:checked ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#e4606d;background-color:#e4606d}.custom-control-input.is-invalid[_ngcontent-%COMP%]:focus ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid:focus ~ .custom-control-label[_ngcontent-%COMP%]::before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid[_ngcontent-%COMP%]:focus:not(:checked) ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid:focus:not(:checked) ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#dc3545}.custom-file-input.is-invalid[_ngcontent-%COMP%] ~ .custom-file-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:invalid ~ .custom-file-label[_ngcontent-%COMP%]{border-color:#dc3545}.custom-file-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .custom-file-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%]{display:block}.custom-file-input.is-invalid[_ngcontent-%COMP%]:focus ~ .custom-file-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:invalid:focus ~ .custom-file-label[_ngcontent-%COMP%]{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline[_ngcontent-%COMP%]{display:flex;flex-flow:row wrap;align-items:center}.form-inline[_ngcontent-%COMP%]   .form-check[_ngcontent-%COMP%]{width:100%}@media (min-width:576px){.form-inline[_ngcontent-%COMP%]   label[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;margin-bottom:0}.form-inline[_ngcontent-%COMP%]   .form-group[_ngcontent-%COMP%]{display:flex;flex:0 0 auto;flex-flow:row wrap;align-items:center;margin-bottom:0}.form-inline[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%], .form-inline[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]{display:inline-block;width:auto;vertical-align:middle}.form-inline[_ngcontent-%COMP%]   .form-control-plaintext[_ngcontent-%COMP%]{display:inline-block}.form-inline[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%], .form-inline[_ngcontent-%COMP%]   .input-group[_ngcontent-%COMP%]{width:auto}.form-inline[_ngcontent-%COMP%]   .form-check[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;width:auto;padding-left:0}.form-inline[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]{position:relative;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline[_ngcontent-%COMP%]   .custom-control[_ngcontent-%COMP%]{align-items:center;justify-content:center}.form-inline[_ngcontent-%COMP%]   .custom-control-label[_ngcontent-%COMP%]{margin-bottom:0}}.btn[_ngcontent-%COMP%]{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;-moz-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;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[_ngcontent-%COMP%]{transition:none}}.btn[_ngcontent-%COMP%]:hover{color:#212529;text-decoration:none}.btn.focus[_ngcontent-%COMP%], .btn[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.btn.disabled[_ngcontent-%COMP%], .btn[_ngcontent-%COMP%]:disabled{opacity:.65}a.btn.disabled[_ngcontent-%COMP%], fieldset[_ngcontent-%COMP%]:disabled   a.btn[_ngcontent-%COMP%]{pointer-events:none}.btn-primary[_ngcontent-%COMP%]{color:#fff;background-color:#2b99a8;border-color:#2b99a8}.btn-primary[_ngcontent-%COMP%]:hover{color:#fff;background-color:#237d8a;border-color:#21747f}.btn-primary.focus[_ngcontent-%COMP%], .btn-primary[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(75,168,181,.5)}.btn-primary.disabled[_ngcontent-%COMP%], .btn-primary[_ngcontent-%COMP%]:disabled{color:#fff;background-color:#2b99a8;border-color:#2b99a8}.btn-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-primary.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#21747f;border-color:#1e6b75}.btn-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-primary.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(75,168,181,.5)}.btn-secondary[_ngcontent-%COMP%]{color:#fff;background-color:#ef5c55;border-color:#ef5c55}.btn-secondary[_ngcontent-%COMP%]:hover{color:#fff;background-color:#ec3a32;border-color:#eb2f26}.btn-secondary.focus[_ngcontent-%COMP%], .btn-secondary[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(241,116,111,.5)}.btn-secondary.disabled[_ngcontent-%COMP%], .btn-secondary[_ngcontent-%COMP%]:disabled{color:#fff;background-color:#ef5c55;border-color:#ef5c55}.btn-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-secondary.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#eb2f26;border-color:#ea241b}.btn-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-secondary.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(241,116,111,.5)}.btn-success[_ngcontent-%COMP%]{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success[_ngcontent-%COMP%]:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus[_ngcontent-%COMP%], .btn-success[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled[_ngcontent-%COMP%], .btn-success[_ngcontent-%COMP%]:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-success.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-success.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-info[_ngcontent-%COMP%]{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info[_ngcontent-%COMP%]:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus[_ngcontent-%COMP%], .btn-info[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled[_ngcontent-%COMP%], .btn-info[_ngcontent-%COMP%]:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-info.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-info.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-warning[_ngcontent-%COMP%]{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning[_ngcontent-%COMP%]:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus[_ngcontent-%COMP%], .btn-warning[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled[_ngcontent-%COMP%], .btn-warning[_ngcontent-%COMP%]:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-warning.dropdown-toggle[_ngcontent-%COMP%]{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-warning.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-danger[_ngcontent-%COMP%]{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger[_ngcontent-%COMP%]:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus[_ngcontent-%COMP%], .btn-danger[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled[_ngcontent-%COMP%], .btn-danger[_ngcontent-%COMP%]:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-danger.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-danger.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-light[_ngcontent-%COMP%]{color:#212529}.btn-light[_ngcontent-%COMP%]:hover{color:#212529}.btn-light.focus[_ngcontent-%COMP%], .btn-light[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled[_ngcontent-%COMP%], .btn-light[_ngcontent-%COMP%]:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-light.dropdown-toggle[_ngcontent-%COMP%]{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-light.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-dark[_ngcontent-%COMP%]{color:#fff;background-color:#777;border-color:#777}.btn-dark[_ngcontent-%COMP%]:hover{color:#fff;background-color:#646464;border-color:#5e5e5e}.btn-dark.focus[_ngcontent-%COMP%], .btn-dark[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(139,139,139,.5)}.btn-dark.disabled[_ngcontent-%COMP%], .btn-dark[_ngcontent-%COMP%]:disabled{color:#fff;background-color:#777;border-color:#777}.btn-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-dark.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#5e5e5e;border-color:#575757}.btn-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-dark.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(139,139,139,.5)}.btn-outline-primary[_ngcontent-%COMP%]{color:#2b99a8;border-color:#2b99a8}.btn-outline-primary[_ngcontent-%COMP%]:hover{color:#fff;background-color:#2b99a8;border-color:#2b99a8}.btn-outline-primary.focus[_ngcontent-%COMP%], .btn-outline-primary[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(43,153,168,.5)}.btn-outline-primary.disabled[_ngcontent-%COMP%], .btn-outline-primary[_ngcontent-%COMP%]:disabled{color:#2b99a8;background-color:transparent}.btn-outline-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-primary.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#2b99a8;border-color:#2b99a8}.btn-outline-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-primary.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(43,153,168,.5)}.btn-outline-secondary[_ngcontent-%COMP%]{color:#ef5c55;border-color:#ef5c55}.btn-outline-secondary[_ngcontent-%COMP%]:hover{color:#fff;background-color:#ef5c55;border-color:#ef5c55}.btn-outline-secondary.focus[_ngcontent-%COMP%], .btn-outline-secondary[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(239,92,85,.5)}.btn-outline-secondary.disabled[_ngcontent-%COMP%], .btn-outline-secondary[_ngcontent-%COMP%]:disabled{color:#ef5c55;background-color:transparent}.btn-outline-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-secondary.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#ef5c55;border-color:#ef5c55}.btn-outline-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-secondary.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(239,92,85,.5)}.btn-outline-success[_ngcontent-%COMP%]{color:#28a745;border-color:#28a745}.btn-outline-success[_ngcontent-%COMP%]:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus[_ngcontent-%COMP%], .btn-outline-success[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled[_ngcontent-%COMP%], .btn-outline-success[_ngcontent-%COMP%]:disabled{color:#28a745;background-color:transparent}.btn-outline-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-success.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-success.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info[_ngcontent-%COMP%]{color:#17a2b8;border-color:#17a2b8}.btn-outline-info[_ngcontent-%COMP%]:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus[_ngcontent-%COMP%], .btn-outline-info[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled[_ngcontent-%COMP%], .btn-outline-info[_ngcontent-%COMP%]:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-info.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-info.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning[_ngcontent-%COMP%]{color:#ffc107;border-color:#ffc107}.btn-outline-warning[_ngcontent-%COMP%]:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus[_ngcontent-%COMP%], .btn-outline-warning[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled[_ngcontent-%COMP%], .btn-outline-warning[_ngcontent-%COMP%]:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-warning.dropdown-toggle[_ngcontent-%COMP%]{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-warning.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger[_ngcontent-%COMP%]{color:#dc3545;border-color:#dc3545}.btn-outline-danger[_ngcontent-%COMP%]:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus[_ngcontent-%COMP%], .btn-outline-danger[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled[_ngcontent-%COMP%], .btn-outline-danger[_ngcontent-%COMP%]:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-danger.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-danger.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light[_ngcontent-%COMP%]{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light[_ngcontent-%COMP%]:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus[_ngcontent-%COMP%], .btn-outline-light[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled[_ngcontent-%COMP%], .btn-outline-light[_ngcontent-%COMP%]:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-light.dropdown-toggle[_ngcontent-%COMP%]{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-light.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark[_ngcontent-%COMP%]{color:#777;border-color:#777}.btn-outline-dark[_ngcontent-%COMP%]:hover{color:#fff;background-color:#777;border-color:#777}.btn-outline-dark.focus[_ngcontent-%COMP%], .btn-outline-dark[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(119,119,119,.5)}.btn-outline-dark.disabled[_ngcontent-%COMP%], .btn-outline-dark[_ngcontent-%COMP%]:disabled{color:#777;background-color:transparent}.btn-outline-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-dark.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#777;border-color:#777}.btn-outline-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-dark.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(119,119,119,.5)}.btn-link[_ngcontent-%COMP%]{font-weight:400;color:#2b99a8;text-decoration:none}.btn-link[_ngcontent-%COMP%]:hover{color:#1b626b;text-decoration:underline}.btn-link.focus[_ngcontent-%COMP%], .btn-link[_ngcontent-%COMP%]:focus{text-decoration:underline;box-shadow:none}.btn-link.disabled[_ngcontent-%COMP%], .btn-link[_ngcontent-%COMP%]:disabled{color:#6c757d;pointer-events:none}.btn-group-lg[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .btn-lg[_ngcontent-%COMP%]{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .btn-sm[_ngcontent-%COMP%]{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block[_ngcontent-%COMP%]{display:block;width:100%}.btn-block[_ngcontent-%COMP%] + .btn-block[_ngcontent-%COMP%]{margin-top:.5rem}input[type=button].btn-block[_ngcontent-%COMP%], input[type=reset].btn-block[_ngcontent-%COMP%], input[type=submit].btn-block[_ngcontent-%COMP%]{width:100%}.fade[_ngcontent-%COMP%]{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade[_ngcontent-%COMP%]{transition:none}}.fade[_ngcontent-%COMP%]:not(.show){opacity:0}.collapse[_ngcontent-%COMP%]:not(.show){display:none}.collapsing[_ngcontent-%COMP%]{position:relative;height:0;overflow:hidden;transition:height .35s ease}.dropdown[_ngcontent-%COMP%], .dropleft[_ngcontent-%COMP%], .dropright[_ngcontent-%COMP%], .dropup[_ngcontent-%COMP%]{position:relative}.dropdown-toggle[_ngcontent-%COMP%]{white-space:nowrap}.dropdown-toggle[_ngcontent-%COMP%]::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[_ngcontent-%COMP%]:empty::after{margin-left:0}.dropdown-menu[_ngcontent-%COMP%]{position:absolute;top:100%;left:0;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left[_ngcontent-%COMP%]{right:auto;left:0}.dropdown-menu-right[_ngcontent-%COMP%]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left[_ngcontent-%COMP%]{right:auto;left:0}.dropdown-menu-sm-right[_ngcontent-%COMP%]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left[_ngcontent-%COMP%]{right:auto;left:0}.dropdown-menu-md-right[_ngcontent-%COMP%]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left[_ngcontent-%COMP%]{right:auto;left:0}.dropdown-menu-lg-right[_ngcontent-%COMP%]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left[_ngcontent-%COMP%]{right:auto;left:0}.dropdown-menu-xl-right[_ngcontent-%COMP%]{right:0;left:auto}}.dropup[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]::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[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]:empty::after{margin-left:0}.dropright[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]::after{display:inline-block;margin-left:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid;vertical-align:0}.dropright[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]:empty::after{margin-left:0}.dropleft[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]::after{margin-left:.255em;vertical-align:.255em;content:"";display:none}.dropleft[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]::before{display:inline-block;margin-right:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent;vertical-align:0}.dropleft[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]:empty::after{margin-left:0}.dropdown-menu[x-placement^=bottom][_ngcontent-%COMP%], .dropdown-menu[x-placement^=left][_ngcontent-%COMP%], .dropdown-menu[x-placement^=right][_ngcontent-%COMP%], .dropdown-menu[x-placement^=top][_ngcontent-%COMP%]{right:auto;bottom:auto}.dropdown-divider[_ngcontent-%COMP%]{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item[_ngcontent-%COMP%]{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item[_ngcontent-%COMP%]:focus, .dropdown-item[_ngcontent-%COMP%]:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active[_ngcontent-%COMP%], .dropdown-item[_ngcontent-%COMP%]:active{color:#fff;text-decoration:none;background-color:#2b99a8}.dropdown-item.disabled[_ngcontent-%COMP%], .dropdown-item[_ngcontent-%COMP%]:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show[_ngcontent-%COMP%]{display:block}.dropdown-header[_ngcontent-%COMP%]{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text[_ngcontent-%COMP%]{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%]{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]{position:relative;flex:1 1 auto}.btn-group-vertical[_ngcontent-%COMP%] > .btn.active[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:active, .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:focus, .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:hover, .btn-group[_ngcontent-%COMP%] > .btn.active[_ngcontent-%COMP%], .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:active, .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:focus, .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:hover{z-index:1}.btn-toolbar[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar[_ngcontent-%COMP%]   .input-group[_ngcontent-%COMP%]{width:auto}.btn-group[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:first-child), .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:first-child){margin-left:-1px}.btn-group[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:last-child) > .btn[_ngcontent-%COMP%], .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:first-child) > .btn[_ngcontent-%COMP%], .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split[_ngcontent-%COMP%]{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split[_ngcontent-%COMP%]::after, .dropright[_ngcontent-%COMP%]   .dropdown-toggle-split[_ngcontent-%COMP%]::after, .dropup[_ngcontent-%COMP%]   .dropdown-toggle-split[_ngcontent-%COMP%]::after{margin-left:0}.dropleft[_ngcontent-%COMP%]   .dropdown-toggle-split[_ngcontent-%COMP%]::before{margin-right:0}.btn-group-sm[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%] + .dropdown-toggle-split[_ngcontent-%COMP%], .btn-sm[_ngcontent-%COMP%] + .dropdown-toggle-split[_ngcontent-%COMP%]{padding-right:.375rem;padding-left:.375rem}.btn-group-lg[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%] + .dropdown-toggle-split[_ngcontent-%COMP%], .btn-lg[_ngcontent-%COMP%] + .dropdown-toggle-split[_ngcontent-%COMP%]{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]{width:100%}.btn-group-vertical[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:first-child), .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:first-child){margin-top:-1px}.btn-group-vertical[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:last-child) > .btn[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:first-child) > .btn[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .btn-group-toggle[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]{margin-bottom:0}.btn-group-toggle[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]   input[type=checkbox][_ngcontent-%COMP%], .btn-group-toggle[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]   input[type=radio][_ngcontent-%COMP%], .btn-group-toggle[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]   input[type=checkbox][_ngcontent-%COMP%], .btn-group-toggle[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]   input[type=radio][_ngcontent-%COMP%]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group[_ngcontent-%COMP%]{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control-plaintext[_ngcontent-%COMP%]{position:relative;flex:1 1 auto;width:1%;margin-bottom:0}.input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%] + .cd-form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%] + .custom-file[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%] + .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%] + .form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%] + .cd-form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%] + .custom-file[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%] + .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%] + .form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%] + .cd-form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%] + .custom-file[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%] + .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%] + .form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%] + .cd-form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%] + .custom-file[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%] + .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%] + .form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control-plaintext[_ngcontent-%COMP%] + .cd-form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control-plaintext[_ngcontent-%COMP%] + .custom-file[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control-plaintext[_ngcontent-%COMP%] + .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control-plaintext[_ngcontent-%COMP%] + .form-control[_ngcontent-%COMP%]{margin-left:-1px}.input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%]:focus, .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:focus ~ .custom-file-label[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%]:focus, .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%]:focus{z-index:3}.input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:focus{z-index:4}.input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%]:not(:last-child), .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%]:not(:last-child), .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%]:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%]:not(:first-child), .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%]:not(:first-child), .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%]:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]{display:flex;align-items:center}.input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]:not(:last-child)   .custom-file-label[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]:not(:last-child)   .custom-file-label[_ngcontent-%COMP%]::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]:not(:first-child)   .custom-file-label[_ngcontent-%COMP%]{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%]{display:flex}.input-group-append[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%]{position:relative;z-index:2}.input-group-append[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%]:focus, .input-group-prepend[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%]:focus{z-index:3}.input-group-append[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%] + .btn[_ngcontent-%COMP%], .input-group-append[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%] + .input-group-text[_ngcontent-%COMP%], .input-group-append[_ngcontent-%COMP%]   .input-group-text[_ngcontent-%COMP%] + .btn[_ngcontent-%COMP%], .input-group-append[_ngcontent-%COMP%]   .input-group-text[_ngcontent-%COMP%] + .input-group-text[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%] + .btn[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%] + .input-group-text[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%]   .input-group-text[_ngcontent-%COMP%] + .btn[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%]   .input-group-text[_ngcontent-%COMP%] + .input-group-text[_ngcontent-%COMP%]{margin-left:-1px}.input-group-prepend[_ngcontent-%COMP%]{margin-right:-1px}.input-group-append[_ngcontent-%COMP%]{margin-left:-1px}.input-group-text[_ngcontent-%COMP%]{display:flex;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text[_ngcontent-%COMP%]   input[type=checkbox][_ngcontent-%COMP%], .input-group-text[_ngcontent-%COMP%]   input[type=radio][_ngcontent-%COMP%]{margin-top:0}.input-group-lg[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%]:not(textarea), .input-group-lg[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%]:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%]{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%]:not(textarea), .input-group-sm[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%]:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%]{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%]{padding-right:1.75rem}.input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%]:last-child > .btn[_ngcontent-%COMP%]:not(:last-child):not(.dropdown-toggle), .input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%]:last-child > .input-group-text[_ngcontent-%COMP%]:not(:last-child), .input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%]:not(:last-child) > .btn[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%]:not(:last-child) > .input-group-text[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%]{border-top-right-radius:0;border-bottom-right-radius:0}.input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%]:first-child > .btn[_ngcontent-%COMP%]:not(:first-child), .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%]:first-child > .input-group-text[_ngcontent-%COMP%]:not(:first-child), .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%]:not(:first-child) > .btn[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%]:not(:first-child) > .input-group-text[_ngcontent-%COMP%]{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control[_ngcontent-%COMP%]{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline[_ngcontent-%COMP%]{display:inline-flex;margin-right:1rem}.custom-control-input[_ngcontent-%COMP%]{position:absolute;z-index:-1;opacity:0}.custom-control-input[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::before{color:#fff;border-color:#2b99a8;background-color:#2b99a8}.custom-control-input[_ngcontent-%COMP%]:focus ~ .custom-control-label[_ngcontent-%COMP%]::before{box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.custom-control-input[_ngcontent-%COMP%]:focus:not(:checked) ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#76d0dc}.custom-control-input[_ngcontent-%COMP%]:not(:disabled):active ~ .custom-control-label[_ngcontent-%COMP%]::before{color:#fff;background-color:#9fdee6;border-color:#9fdee6}.custom-control-input[_ngcontent-%COMP%]:disabled ~ .custom-control-label[_ngcontent-%COMP%]{color:#6c757d}.custom-control-input[_ngcontent-%COMP%]:disabled ~ .custom-control-label[_ngcontent-%COMP%]::before{background-color:#e9ecef}.custom-control-label[_ngcontent-%COMP%]{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label[_ngcontent-%COMP%]::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#fff;border:1px solid #adb5bd}.custom-control-label[_ngcontent-%COMP%]::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:50%/50% 50% no-repeat}.custom-checkbox[_ngcontent-%COMP%]   .custom-control-label[_ngcontent-%COMP%]::before{border-radius:.25rem}.custom-checkbox[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::after{background-image:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 8 8\'%3e%3cpath fill=\'%23fff\' d=\'M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z\'/%3e%3c/svg%3e")}.custom-checkbox[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:indeterminate ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#2b99a8;background-color:#2b99a8}.custom-checkbox[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:indeterminate ~ .custom-control-label[_ngcontent-%COMP%]::after{background-image:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 4 4\'%3e%3cpath stroke=\'%23fff\' d=\'M0 2h4\'/%3e%3c/svg%3e")}.custom-checkbox[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:disabled:checked ~ .custom-control-label[_ngcontent-%COMP%]::before{background-color:rgba(43,153,168,.5)}.custom-checkbox[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:disabled:indeterminate ~ .custom-control-label[_ngcontent-%COMP%]::before{background-color:rgba(43,153,168,.5)}.custom-radio[_ngcontent-%COMP%]   .custom-control-label[_ngcontent-%COMP%]::before{border-radius:50%}.custom-radio[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::after{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")}.custom-radio[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:disabled:checked ~ .custom-control-label[_ngcontent-%COMP%]::before{background-color:rgba(43,153,168,.5)}.custom-switch[_ngcontent-%COMP%]{padding-left:2.25rem}.custom-switch[_ngcontent-%COMP%]   .custom-control-label[_ngcontent-%COMP%]::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch[_ngcontent-%COMP%]   .custom-control-label[_ngcontent-%COMP%]::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.custom-switch[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::after{background-color:#fff;transform:translateX(.75rem)}.custom-switch[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:disabled:checked ~ .custom-control-label[_ngcontent-%COMP%]::before{background-color:rgba(43,153,168,.5)}.custom-select[_ngcontent-%COMP%]{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 4 5\'%3e%3cpath fill=\'%23343a40\' d=\'M2 0L0 2h4zm0 5L0 3h4z\'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat #fff;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select[_ngcontent-%COMP%]:focus{border-color:#76d0dc;outline:0;box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.custom-select[_ngcontent-%COMP%]:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple][_ngcontent-%COMP%], .custom-select[size][_ngcontent-%COMP%]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select[_ngcontent-%COMP%]:disabled{color:#6c757d;background-color:#e9ecef}.custom-select[_ngcontent-%COMP%]::-ms-expand{display:none}.custom-select-sm[_ngcontent-%COMP%]{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg[_ngcontent-%COMP%]{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file[_ngcontent-%COMP%]{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}.custom-file-input[_ngcontent-%COMP%]{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;opacity:0}.custom-file-input[_ngcontent-%COMP%]:focus ~ .custom-file-label[_ngcontent-%COMP%]{border-color:#76d0dc;box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.custom-file-input[_ngcontent-%COMP%]:disabled ~ .custom-file-label[_ngcontent-%COMP%]{background-color:#e9ecef}.custom-file-input[_ngcontent-%COMP%]:lang(en) ~ .custom-file-label[_ngcontent-%COMP%]::after{content:"Browse"}.custom-file-input[_ngcontent-%COMP%] ~ .custom-file-label[data-browse][_ngcontent-%COMP%]::after{content:attr(data-browse)}.custom-file-label[_ngcontent-%COMP%]{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label[_ngcontent-%COMP%]::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range[_ngcontent-%COMP%]{width:100%;height:calc(1rem + .4rem);padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range[_ngcontent-%COMP%]:focus{outline:0}.custom-range[_ngcontent-%COMP%]:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(43,153,168,.25)}.custom-range[_ngcontent-%COMP%]:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(43,153,168,.25)}.custom-range[_ngcontent-%COMP%]:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(43,153,168,.25)}.custom-range[_ngcontent-%COMP%]::-moz-focus-outer{border:0}.custom-range[_ngcontent-%COMP%]::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#2b99a8;border:0;border-radius:1rem;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){.collapsing[_ngcontent-%COMP%], .custom-switch[_ngcontent-%COMP%]   .custom-control-label[_ngcontent-%COMP%]::after{transition:none}.custom-range[_ngcontent-%COMP%]::-webkit-slider-thumb{transition:none}}.custom-range[_ngcontent-%COMP%]::-webkit-slider-thumb:active{background-color:#9fdee6}.custom-range[_ngcontent-%COMP%]::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range[_ngcontent-%COMP%]::-moz-range-thumb{width:1rem;height:1rem;background-color:#2b99a8;border:0;border-radius:1rem;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){.custom-range[_ngcontent-%COMP%]::-moz-range-thumb{transition:none}}.custom-range[_ngcontent-%COMP%]::-moz-range-thumb:active{background-color:#9fdee6}.custom-range[_ngcontent-%COMP%]::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range[_ngcontent-%COMP%]::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#2b99a8;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range[_ngcontent-%COMP%]::-ms-thumb{transition:none}}.custom-range[_ngcontent-%COMP%]::-ms-thumb:active{background-color:#9fdee6}.custom-range[_ngcontent-%COMP%]::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range[_ngcontent-%COMP%]::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range[_ngcontent-%COMP%]::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-range[_ngcontent-%COMP%]:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range[_ngcontent-%COMP%]:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range[_ngcontent-%COMP%]:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range[_ngcontent-%COMP%]:disabled::-moz-range-track{cursor:default}.custom-range[_ngcontent-%COMP%]:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label[_ngcontent-%COMP%]::before, .custom-file-label[_ngcontent-%COMP%], .custom-select[_ngcontent-%COMP%]{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label[_ngcontent-%COMP%]::before, .custom-file-label[_ngcontent-%COMP%], .custom-select[_ngcontent-%COMP%]{transition:none}}.nav[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link[_ngcontent-%COMP%]{display:block;padding:.5rem 1rem}.nav-link[_ngcontent-%COMP%]:focus, .nav-link[_ngcontent-%COMP%]:hover{text-decoration:none}.nav-link.disabled[_ngcontent-%COMP%]{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs[_ngcontent-%COMP%]{border-bottom:1px solid #dee2e6}.nav-tabs[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]{margin-bottom:-1px}.nav-tabs[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]:focus, .nav-tabs[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs[_ngcontent-%COMP%]   .nav-link.disabled[_ngcontent-%COMP%]{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs[_ngcontent-%COMP%]   .nav-item.show[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%], .nav-tabs[_ngcontent-%COMP%]   .nav-link.active[_ngcontent-%COMP%]{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{border-radius:.25rem}.nav-pills[_ngcontent-%COMP%]   .nav-link.active[_ngcontent-%COMP%], .nav-pills[_ngcontent-%COMP%]   .show[_ngcontent-%COMP%] > .nav-link[_ngcontent-%COMP%]{color:#fff;background-color:#2b99a8}.nav-fill[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]{flex:1 1 auto;text-align:center}.nav-justified[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;text-align:center}.tab-content[_ngcontent-%COMP%] > .tab-pane[_ngcontent-%COMP%]{display:none}.tab-content[_ngcontent-%COMP%] > .active[_ngcontent-%COMP%]{display:block}.navbar[_ngcontent-%COMP%]{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:.5rem 1rem}.navbar[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.navbar-brand[_ngcontent-%COMP%]{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand[_ngcontent-%COMP%]:focus, .navbar-brand[_ngcontent-%COMP%]:hover{text-decoration:none}.navbar-nav[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{padding-right:0;padding-left:0}.navbar-nav[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{position:static;float:none}.navbar-text[_ngcontent-%COMP%]{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse[_ngcontent-%COMP%]{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler[_ngcontent-%COMP%]{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler[_ngcontent-%COMP%]:focus, .navbar-toggler[_ngcontent-%COMP%]:hover{text-decoration:none}.navbar-toggler-icon[_ngcontent-%COMP%]{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:center center/100% 100% no-repeat}@media (max-width:575.98px){.navbar-expand-sm[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-sm[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm[_ngcontent-%COMP%]{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-sm[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]{flex-direction:row}.navbar-expand-sm[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{position:absolute}.navbar-expand-sm[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-sm[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{flex-wrap:nowrap}.navbar-expand-sm[_ngcontent-%COMP%]   .navbar-collapse[_ngcontent-%COMP%]{display:flex!important;flex-basis:auto}.navbar-expand-sm[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{display:none}}@media (max-width:767.98px){.navbar-expand-md[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-md[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md[_ngcontent-%COMP%]{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-md[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]{flex-direction:row}.navbar-expand-md[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{position:absolute}.navbar-expand-md[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-md[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{flex-wrap:nowrap}.navbar-expand-md[_ngcontent-%COMP%]   .navbar-collapse[_ngcontent-%COMP%]{display:flex!important;flex-basis:auto}.navbar-expand-md[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{display:none}}@media (max-width:991.98px){.navbar-expand-lg[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-lg[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg[_ngcontent-%COMP%]{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]{flex-direction:row}.navbar-expand-lg[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{position:absolute}.navbar-expand-lg[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-lg[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{flex-wrap:nowrap}.navbar-expand-lg[_ngcontent-%COMP%]   .navbar-collapse[_ngcontent-%COMP%]{display:flex!important;flex-basis:auto}.navbar-expand-lg[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{display:none}}@media (max-width:1199.98px){.navbar-expand-xl[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-xl[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl[_ngcontent-%COMP%]{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-xl[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]{flex-direction:row}.navbar-expand-xl[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{position:absolute}.navbar-expand-xl[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-xl[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{flex-wrap:nowrap}.navbar-expand-xl[_ngcontent-%COMP%]   .navbar-collapse[_ngcontent-%COMP%]{display:flex!important;flex-basis:auto}.navbar-expand-xl[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{display:none}}.navbar-expand[_ngcontent-%COMP%]{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]{flex-direction:row}.navbar-expand[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{position:absolute}.navbar-expand[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{padding-right:.5rem;padding-left:.5rem}.navbar-expand[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{padding-right:0;padding-left:0;flex-wrap:nowrap}.navbar-expand[_ngcontent-%COMP%]   .navbar-collapse[_ngcontent-%COMP%]{display:flex!important;flex-basis:auto}.navbar-expand[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{display:none}.navbar-light[_ngcontent-%COMP%]   .navbar-brand[_ngcontent-%COMP%], .navbar-light[_ngcontent-%COMP%]   .navbar-brand[_ngcontent-%COMP%]:focus, .navbar-light[_ngcontent-%COMP%]   .navbar-brand[_ngcontent-%COMP%]:hover{color:rgba(0,0,0,.9)}.navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{color:rgba(0,0,0,.5)}.navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]:focus, .navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]:hover{color:rgba(0,0,0,.7)}.navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link.disabled[_ngcontent-%COMP%]{color:rgba(0,0,0,.3)}.navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .active[_ngcontent-%COMP%] > .nav-link[_ngcontent-%COMP%], .navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link.active[_ngcontent-%COMP%], .navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link.show[_ngcontent-%COMP%], .navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .show[_ngcontent-%COMP%] > .nav-link[_ngcontent-%COMP%]{color:rgba(0,0,0,.9)}.navbar-light[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light[_ngcontent-%COMP%]   .navbar-toggler-icon[_ngcontent-%COMP%]{background-image:url("data:image/svg+xml,%3csvg viewBox=\'0 0 30 30\' xmlns=\'http://www.w3.org/2000/svg\'%3e%3cpath stroke=\'rgba(0, 0, 0, 0.5)\' stroke-width=\'2\' stroke-linecap=\'round\' stroke-miterlimit=\'10\' d=\'M4 7h22M4 15h22M4 23h22\'/%3e%3c/svg%3e")}.navbar-light[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]{color:rgba(0,0,0,.5)}.navbar-light[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]   a[_ngcontent-%COMP%], .navbar-light[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]:focus, .navbar-light[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]:hover{color:rgba(0,0,0,.9)}.navbar-dark[_ngcontent-%COMP%]   .navbar-brand[_ngcontent-%COMP%], .navbar-dark[_ngcontent-%COMP%]   .navbar-brand[_ngcontent-%COMP%]:focus, .navbar-dark[_ngcontent-%COMP%]   .navbar-brand[_ngcontent-%COMP%]:hover{color:#fff}.navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{color:rgba(255,255,255,.5)}.navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]:focus, .navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]:hover{color:rgba(255,255,255,.75)}.navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link.disabled[_ngcontent-%COMP%]{color:rgba(255,255,255,.25)}.navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .active[_ngcontent-%COMP%] > .nav-link[_ngcontent-%COMP%], .navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link.active[_ngcontent-%COMP%], .navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link.show[_ngcontent-%COMP%], .navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .show[_ngcontent-%COMP%] > .nav-link[_ngcontent-%COMP%]{color:#fff}.navbar-dark[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark[_ngcontent-%COMP%]   .navbar-toggler-icon[_ngcontent-%COMP%]{background-image:url("data:image/svg+xml,%3csvg viewBox=\'0 0 30 30\' xmlns=\'http://www.w3.org/2000/svg\'%3e%3cpath stroke=\'rgba(255, 255, 255, 0.5)\' stroke-width=\'2\' stroke-linecap=\'round\' stroke-miterlimit=\'10\' d=\'M4 7h22M4 15h22M4 23h22\'/%3e%3c/svg%3e")}.navbar-dark[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]{color:rgba(255,255,255,.5)}.navbar-dark[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]   a[_ngcontent-%COMP%], .navbar-dark[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]:focus, .navbar-dark[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]:hover{color:#fff}.card[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box}.card[_ngcontent-%COMP%] > hr[_ngcontent-%COMP%], pre[_ngcontent-%COMP%] > hr[_ngcontent-%COMP%]{margin-right:0;margin-left:0}.card[_ngcontent-%COMP%] > .list-group[_ngcontent-%COMP%]:first-child   .list-group-item[_ngcontent-%COMP%]:first-child, pre[_ngcontent-%COMP%] > .list-group[_ngcontent-%COMP%]:first-child   .list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card[_ngcontent-%COMP%] > .list-group[_ngcontent-%COMP%]:last-child   .list-group-item[_ngcontent-%COMP%]:last-child, pre[_ngcontent-%COMP%] > .list-group[_ngcontent-%COMP%]:last-child   .list-group-item[_ngcontent-%COMP%]:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body[_ngcontent-%COMP%]{flex:1 1 auto;padding:1.25rem}.card-title[_ngcontent-%COMP%]{margin-bottom:.75rem}.card-subtitle[_ngcontent-%COMP%]{margin-top:-.375rem;margin-bottom:0}.card-text[_ngcontent-%COMP%]:last-child{margin-bottom:0}.card-link[_ngcontent-%COMP%]:hover{text-decoration:none}.card-link[_ngcontent-%COMP%] + .card-link[_ngcontent-%COMP%]{margin-left:1.25rem}.card-header[_ngcontent-%COMP%]{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header[_ngcontent-%COMP%]:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header[_ngcontent-%COMP%] + .list-group[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:first-child{border-top:0}.card-footer[_ngcontent-%COMP%]{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer[_ngcontent-%COMP%]:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs[_ngcontent-%COMP%]{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills[_ngcontent-%COMP%]{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay[_ngcontent-%COMP%]{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img[_ngcontent-%COMP%]{width:100%;border-radius:calc(.25rem - 1px)}.card-img-top[_ngcontent-%COMP%]{width:100%;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img-bottom[_ngcontent-%COMP%]{width:100%;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck[_ngcontent-%COMP%]{display:flex;flex-direction:column}.card-deck[_ngcontent-%COMP%]   .card[_ngcontent-%COMP%], .card-deck[_ngcontent-%COMP%]   pre[_ngcontent-%COMP%]{margin-bottom:15px}@media (min-width:576px){.card-deck[_ngcontent-%COMP%]{flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck[_ngcontent-%COMP%]   .card[_ngcontent-%COMP%], .card-deck[_ngcontent-%COMP%]   pre[_ngcontent-%COMP%]{display:flex;flex:1 0 0%;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group[_ngcontent-%COMP%]{display:flex;flex-direction:column}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]{margin-bottom:15px}@media (min-width:576px){.card-group[_ngcontent-%COMP%]{flex-flow:row wrap}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]{flex:1 0 0%;margin-bottom:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%] + .card[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%] + pre[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%] + .card[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%] + pre[_ngcontent-%COMP%]{margin-left:0;border-left:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:last-child), .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:last-child)   .card-header[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:last-child)   .card-img-top[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:last-child)   .card-header[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:last-child)   .card-img-top[_ngcontent-%COMP%]{border-top-right-radius:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:last-child)   .card-footer[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:last-child)   .card-img-bottom[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:last-child)   .card-footer[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:last-child)   .card-img-bottom[_ngcontent-%COMP%]{border-bottom-right-radius:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-child), .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-child)   .card-header[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-child)   .card-img-top[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-child)   .card-header[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-child)   .card-img-top[_ngcontent-%COMP%]{border-top-left-radius:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-child)   .card-footer[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-child)   .card-img-bottom[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-child)   .card-footer[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-child)   .card-img-bottom[_ngcontent-%COMP%]{border-bottom-left-radius:0}.card-columns[_ngcontent-%COMP%]{column-count:3;column-gap:1.25rem;orphans:1;widows:1}.card-columns[_ngcontent-%COMP%]   .card[_ngcontent-%COMP%], .card-columns[_ngcontent-%COMP%]   pre[_ngcontent-%COMP%]{display:inline-block;width:100%}}.card-columns[_ngcontent-%COMP%]   .card[_ngcontent-%COMP%], .card-columns[_ngcontent-%COMP%]   pre[_ngcontent-%COMP%]{margin-bottom:.75rem}.accordion[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%], .accordion[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]{overflow:hidden}.accordion[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-of-type)   .card-header[_ngcontent-%COMP%]:first-child, .accordion[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-of-type)   .card-header[_ngcontent-%COMP%]:first-child{border-radius:0}.accordion[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-of-type):not(:last-of-type), .accordion[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-of-type):not(:last-of-type){border-bottom:0;border-radius:0}.accordion[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:first-of-type, .accordion[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:first-of-type{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:last-of-type, .accordion[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:last-of-type{border-top-left-radius:0;border-top-right-radius:0}.accordion[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]   .card-header[_ngcontent-%COMP%], .accordion[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]   .card-header[_ngcontent-%COMP%]{margin-bottom:-1px}.breadcrumb[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item[_ngcontent-%COMP%] + .breadcrumb-item[_ngcontent-%COMP%]{padding-left:.5rem}.breadcrumb-item[_ngcontent-%COMP%] + .breadcrumb-item[_ngcontent-%COMP%]::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item[_ngcontent-%COMP%] + .breadcrumb-item[_ngcontent-%COMP%]:hover::before{text-decoration:none}.breadcrumb-item.active[_ngcontent-%COMP%]{color:#6c757d}.pagination[_ngcontent-%COMP%]{display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link[_ngcontent-%COMP%]{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#2b99a8;background-color:#fff;border:1px solid #dee2e6}.page-link[_ngcontent-%COMP%]:hover{z-index:2;color:#1b626b;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link[_ngcontent-%COMP%]:focus{z-index:2;outline:0;box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.page-item[_ngcontent-%COMP%]:first-child   .page-link[_ngcontent-%COMP%]{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item[_ngcontent-%COMP%]:last-child   .page-link[_ngcontent-%COMP%]{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active[_ngcontent-%COMP%]   .page-link[_ngcontent-%COMP%]{z-index:1;color:#fff;background-color:#2b99a8;border-color:#2b99a8}.page-item.disabled[_ngcontent-%COMP%]   .page-link[_ngcontent-%COMP%]{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg[_ngcontent-%COMP%]   .page-link[_ngcontent-%COMP%]{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg[_ngcontent-%COMP%]   .page-item[_ngcontent-%COMP%]:first-child   .page-link[_ngcontent-%COMP%]{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg[_ngcontent-%COMP%]   .page-item[_ngcontent-%COMP%]:last-child   .page-link[_ngcontent-%COMP%]{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm[_ngcontent-%COMP%]   .page-link[_ngcontent-%COMP%]{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm[_ngcontent-%COMP%]   .page-item[_ngcontent-%COMP%]:first-child   .page-link[_ngcontent-%COMP%]{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm[_ngcontent-%COMP%]   .page-item[_ngcontent-%COMP%]:last-child   .page-link[_ngcontent-%COMP%]{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge[_ngcontent-%COMP%]{display:inline-block;padding:.25em .4em;font-size:1rem;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;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){.badge[_ngcontent-%COMP%]{transition:none}}a.badge[_ngcontent-%COMP%]:focus, a.badge[_ngcontent-%COMP%]:hover{text-decoration:none}.badge[_ngcontent-%COMP%]:empty{display:none}.btn[_ngcontent-%COMP%]   .badge[_ngcontent-%COMP%]{position:relative;top:-1px}.badge-pill[_ngcontent-%COMP%]{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary[_ngcontent-%COMP%]{color:#fff;background-color:#2b99a8}a.badge-primary[_ngcontent-%COMP%]:focus, a.badge-primary[_ngcontent-%COMP%]:hover{color:#fff;background-color:#21747f}a.badge-primary.focus[_ngcontent-%COMP%], a.badge-primary[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(43,153,168,.5)}.badge-secondary[_ngcontent-%COMP%]{color:#fff;background-color:#ef5c55}a.badge-secondary[_ngcontent-%COMP%]:focus, a.badge-secondary[_ngcontent-%COMP%]:hover{color:#fff;background-color:#eb2f26}a.badge-secondary.focus[_ngcontent-%COMP%], a.badge-secondary[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(239,92,85,.5)}.badge-success[_ngcontent-%COMP%]{color:#fff;background-color:#28a745}a.badge-success[_ngcontent-%COMP%]:focus, a.badge-success[_ngcontent-%COMP%]:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus[_ngcontent-%COMP%], a.badge-success[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info[_ngcontent-%COMP%]{color:#fff;background-color:#17a2b8}a.badge-info[_ngcontent-%COMP%]:focus, a.badge-info[_ngcontent-%COMP%]:hover{color:#fff;background-color:#117a8b}a.badge-info.focus[_ngcontent-%COMP%], a.badge-info[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning[_ngcontent-%COMP%]{color:#212529;background-color:#ffc107}a.badge-warning[_ngcontent-%COMP%]:focus, a.badge-warning[_ngcontent-%COMP%]:hover{color:#212529;background-color:#d39e00}a.badge-warning.focus[_ngcontent-%COMP%], a.badge-warning[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger[_ngcontent-%COMP%]{color:#fff;background-color:#dc3545}a.badge-danger[_ngcontent-%COMP%]:focus, a.badge-danger[_ngcontent-%COMP%]:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus[_ngcontent-%COMP%], a.badge-danger[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light[_ngcontent-%COMP%]{color:#212529;background-color:#f8f9fa}a.badge-light[_ngcontent-%COMP%]:focus, a.badge-light[_ngcontent-%COMP%]:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus[_ngcontent-%COMP%], a.badge-light[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark[_ngcontent-%COMP%]{color:#fff;background-color:#777}a.badge-dark[_ngcontent-%COMP%]:focus, a.badge-dark[_ngcontent-%COMP%]:hover{color:#fff;background-color:#5e5e5e}a.badge-dark.focus[_ngcontent-%COMP%], a.badge-dark[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(119,119,119,.5)}.jumbotron[_ngcontent-%COMP%]{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron[_ngcontent-%COMP%]{padding:4rem 2rem}}.jumbotron-fluid[_ngcontent-%COMP%]{padding-right:0;padding-left:0;border-radius:0}.alert[_ngcontent-%COMP%]{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading[_ngcontent-%COMP%]{color:inherit}.alert-link[_ngcontent-%COMP%]{font-weight:700}.alert-dismissible[_ngcontent-%COMP%]{padding-right:4rem}.alert-dismissible[_ngcontent-%COMP%]   .close[_ngcontent-%COMP%]{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary[_ngcontent-%COMP%]{color:#165057;background-color:#d5ebee;border-color:#c4e2e7}.alert-primary[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#b2d9e0}.alert-primary[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#0c2b2e}.alert-secondary[_ngcontent-%COMP%]{color:#7c302c;background-color:#fcdedd;border-color:#fbd1cf}.alert-secondary[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#f9bab7}.alert-secondary[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#56211f}.alert-success[_ngcontent-%COMP%]{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#b1dfbb}.alert-success[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#0b2e13}.alert-info[_ngcontent-%COMP%]{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#abdde5}.alert-info[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#062c33}.alert-warning[_ngcontent-%COMP%]{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#ffe8a1}.alert-warning[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#533f03}.alert-danger[_ngcontent-%COMP%]{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#f1b0b7}.alert-danger[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#491217}.alert-light[_ngcontent-%COMP%]{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#ececf6}.alert-light[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#686868}.alert-dark[_ngcontent-%COMP%]{color:#3e3e3e;background-color:#e4e4e4;border-color:#d9d9d9}.alert-dark[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#ccc}.alert-dark[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#252525}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress[_ngcontent-%COMP%]{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#2b99a8;transition:width .6s ease}.progress-bar-striped[_ngcontent-%COMP%]{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:1rem 1rem}.progress-bar-animated[_ngcontent-%COMP%]{animation:1s linear infinite progress-bar-stripes}.media[_ngcontent-%COMP%]{display:flex;align-items:flex-start}.media-body[_ngcontent-%COMP%]{flex:1}.list-group[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action[_ngcontent-%COMP%]{width:100%;color:#495057;text-align:inherit}.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-action[_ngcontent-%COMP%]:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action[_ngcontent-%COMP%]:active{color:#212529;background-color:#e9ecef}.list-group-item[_ngcontent-%COMP%]{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item[_ngcontent-%COMP%]:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item.disabled[_ngcontent-%COMP%], .list-group-item[_ngcontent-%COMP%]:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active[_ngcontent-%COMP%]{z-index:2;color:#fff;background-color:#2b99a8;border-color:#2b99a8}.list-group-horizontal[_ngcontent-%COMP%]{flex-direction:row}.list-group-horizontal[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]{margin-right:-1px;margin-bottom:0}.list-group-horizontal[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}@media (min-width:576px){.list-group-horizontal-sm[_ngcontent-%COMP%]{flex-direction:row}.list-group-horizontal-sm[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]{margin-right:-1px;margin-bottom:0}.list-group-horizontal-sm[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:768px){.list-group-horizontal-md[_ngcontent-%COMP%]{flex-direction:row}.list-group-horizontal-md[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]{margin-right:-1px;margin-bottom:0}.list-group-horizontal-md[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:992px){.list-group-horizontal-lg[_ngcontent-%COMP%]{flex-direction:row}.list-group-horizontal-lg[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]{margin-right:-1px;margin-bottom:0}.list-group-horizontal-lg[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:1200px){.list-group-horizontal-xl[_ngcontent-%COMP%]{flex-direction:row}.list-group-horizontal-xl[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]{margin-right:-1px;margin-bottom:0}.list-group-horizontal-xl[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}.list-group-flush[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]{border-right:0;border-left:0;border-radius:0}.list-group-flush[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:last-child{margin-bottom:-1px}.list-group-flush[_ngcontent-%COMP%]:first-child   .list-group-item[_ngcontent-%COMP%]:first-child{border-top:0}.list-group-flush[_ngcontent-%COMP%]:last-child   .list-group-item[_ngcontent-%COMP%]:last-child{margin-bottom:0;border-bottom:0}.list-group-item-primary[_ngcontent-%COMP%]{color:#165057;background-color:#c4e2e7}.list-group-item-primary.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-primary.list-group-item-action[_ngcontent-%COMP%]:hover{color:#165057;background-color:#b2d9e0}.list-group-item-primary.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#165057;border-color:#165057}.list-group-item-secondary[_ngcontent-%COMP%]{color:#7c302c;background-color:#fbd1cf}.list-group-item-secondary.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-secondary.list-group-item-action[_ngcontent-%COMP%]:hover{color:#7c302c;background-color:#f9bab7}.list-group-item-secondary.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#7c302c;border-color:#7c302c}.list-group-item-success[_ngcontent-%COMP%]{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-success.list-group-item-action[_ngcontent-%COMP%]:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info[_ngcontent-%COMP%]{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-info.list-group-item-action[_ngcontent-%COMP%]:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning[_ngcontent-%COMP%]{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-warning.list-group-item-action[_ngcontent-%COMP%]:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger[_ngcontent-%COMP%]{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-danger.list-group-item-action[_ngcontent-%COMP%]:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light[_ngcontent-%COMP%]{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-light.list-group-item-action[_ngcontent-%COMP%]:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark[_ngcontent-%COMP%]{color:#3e3e3e;background-color:#d9d9d9}.list-group-item-dark.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-dark.list-group-item-action[_ngcontent-%COMP%]:hover{color:#3e3e3e;background-color:#ccc}.list-group-item-dark.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#3e3e3e;border-color:#3e3e3e}.close[_ngcontent-%COMP%]{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close[_ngcontent-%COMP%]:hover{color:#000;text-decoration:none}.close[_ngcontent-%COMP%]:not(:disabled):not(.disabled):focus, .close[_ngcontent-%COMP%]:not(:disabled):not(.disabled):hover{opacity:.75}button.close[_ngcontent-%COMP%]{padding:0;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}a.close.disabled[_ngcontent-%COMP%]{pointer-events:none}.toast[_ngcontent-%COMP%]{max-width:350px;overflow:hidden;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);backdrop-filter:blur(10px);opacity:0;border-radius:.25rem}.toast[_ngcontent-%COMP%]:not(:last-child){margin-bottom:.75rem}.toast.showing[_ngcontent-%COMP%]{opacity:1}.toast.show[_ngcontent-%COMP%]{display:block;opacity:1}.toast.hide[_ngcontent-%COMP%]{display:none}.toast-header[_ngcontent-%COMP%]{display:flex;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}.toast-body[_ngcontent-%COMP%]{padding:.75rem}.modal-open[_ngcontent-%COMP%]{overflow:hidden}.modal-open[_ngcontent-%COMP%]   .modal[_ngcontent-%COMP%]{overflow-x:hidden;overflow-y:auto}.modal[_ngcontent-%COMP%]{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog[_ngcontent-%COMP%]{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade[_ngcontent-%COMP%]   .modal-dialog[_ngcontent-%COMP%]{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.progress-bar[_ngcontent-%COMP%]{transition:none}.progress-bar-animated[_ngcontent-%COMP%]{animation:none}.modal.fade[_ngcontent-%COMP%]   .modal-dialog[_ngcontent-%COMP%]{transition:none}}.modal.show[_ngcontent-%COMP%]   .modal-dialog[_ngcontent-%COMP%]{transform:none}.modal-dialog-scrollable[_ngcontent-%COMP%]{display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable[_ngcontent-%COMP%]   .modal-content[_ngcontent-%COMP%]{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable[_ngcontent-%COMP%]   .modal-footer[_ngcontent-%COMP%], .modal-dialog-scrollable[_ngcontent-%COMP%]   .modal-header[_ngcontent-%COMP%]{flex-shrink:0}.modal-dialog-scrollable[_ngcontent-%COMP%]   .modal-body[_ngcontent-%COMP%]{overflow-y:auto}.modal-dialog-centered[_ngcontent-%COMP%]{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered[_ngcontent-%COMP%]::before{display:block;height:calc(100vh - 1rem);content:""}.modal-dialog-centered.modal-dialog-scrollable[_ngcontent-%COMP%]{flex-direction:column;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable[_ngcontent-%COMP%]   .modal-content[_ngcontent-%COMP%]{max-height:none}.modal-dialog-centered.modal-dialog-scrollable[_ngcontent-%COMP%]::before{content:none}.modal-content[_ngcontent-%COMP%]{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop[_ngcontent-%COMP%]{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade[_ngcontent-%COMP%]{opacity:0}.modal-backdrop.show[_ngcontent-%COMP%]{opacity:.5}.modal-header[_ngcontent-%COMP%]{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:.3rem;border-top-right-radius:.3rem}.modal-header[_ngcontent-%COMP%]   .close[_ngcontent-%COMP%]{padding:1rem;margin:-1rem -1rem -1rem auto}.modal-title[_ngcontent-%COMP%]{margin-bottom:0;line-height:1.5}.modal-body[_ngcontent-%COMP%]{position:relative;flex:1 1 auto;padding:1rem}.modal-footer[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:flex-end;padding:1rem;border-top:1px solid #dee2e6;border-bottom-right-radius:.3rem;border-bottom-left-radius:.3rem}.modal-footer[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:not(:first-child){margin-left:.25rem}.modal-footer[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure[_ngcontent-%COMP%]{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog[_ngcontent-%COMP%]{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable[_ngcontent-%COMP%]{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable[_ngcontent-%COMP%]   .modal-content[_ngcontent-%COMP%]{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered[_ngcontent-%COMP%]{min-height:calc(100% - 3.5rem)}.modal-dialog-centered[_ngcontent-%COMP%]::before{height:calc(100vh - 3.5rem)}.modal-sm[_ngcontent-%COMP%]{max-width:300px}}@media (min-width:992px){.modal-lg[_ngcontent-%COMP%], .modal-xl[_ngcontent-%COMP%]{max-width:800px}}@media (min-width:1200px){.modal-xl[_ngcontent-%COMP%]{max-width:1140px}}.tooltip[_ngcontent-%COMP%]{position:absolute;z-index:1070;display:block;margin:0;font-family:"Helvetica Neue",Helvetica,Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show[_ngcontent-%COMP%]{opacity:.9}.tooltip[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top][_ngcontent-%COMP%], .bs-tooltip-top[_ngcontent-%COMP%]{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%], .bs-tooltip-top[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]{bottom:0}.bs-tooltip-auto[x-placement^=top][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before, .bs-tooltip-top[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right][_ngcontent-%COMP%], .bs-tooltip-right[_ngcontent-%COMP%]{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%], .bs-tooltip-right[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before, .bs-tooltip-right[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom][_ngcontent-%COMP%], .bs-tooltip-bottom[_ngcontent-%COMP%]{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%], .bs-tooltip-bottom[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]{top:0}.bs-tooltip-auto[x-placement^=bottom][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before, .bs-tooltip-bottom[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left][_ngcontent-%COMP%], .bs-tooltip-left[_ngcontent-%COMP%]{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%], .bs-tooltip-left[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before, .bs-tooltip-left[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner[_ngcontent-%COMP%]{max-width:200px;padding:.25rem .5rem;text-align:center;border-radius:.25rem}.popover[_ngcontent-%COMP%]{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:350px;font-family:"Helvetica Neue",Helvetica,Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::after, .popover[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top][_ngcontent-%COMP%], .bs-popover-top[_ngcontent-%COMP%]{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%], .bs-popover-top[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]{bottom:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=top][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before, .bs-popover-top[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after, .bs-popover-top[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right][_ngcontent-%COMP%], .bs-popover-right[_ngcontent-%COMP%]{margin-left:.5rem}.bs-popover-auto[x-placement^=right][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%], .bs-popover-right[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]{left:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before, .bs-popover-right[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after, .bs-popover-right[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom][_ngcontent-%COMP%], .bs-popover-bottom[_ngcontent-%COMP%]{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%], .bs-popover-bottom[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]{top:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=bottom][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before, .bs-popover-bottom[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before{top:0;border-width:0 .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after, .bs-popover-bottom[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after{top:1px;border-width:0 .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom][_ngcontent-%COMP%]   .popover-header[_ngcontent-%COMP%]::before, .bs-popover-bottom[_ngcontent-%COMP%]   .popover-header[_ngcontent-%COMP%]::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left][_ngcontent-%COMP%], .bs-popover-left[_ngcontent-%COMP%]{margin-right:.5rem}.bs-popover-auto[x-placement^=left][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%], .bs-popover-left[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]{right:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before, .bs-popover-left[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after, .bs-popover-left[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header[_ngcontent-%COMP%]{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header[_ngcontent-%COMP%]:empty{display:none}.popover-body[_ngcontent-%COMP%]{padding:.5rem .75rem;color:#212529}.carousel[_ngcontent-%COMP%]{position:relative}.carousel.pointer-event[_ngcontent-%COMP%]{touch-action:pan-y}.carousel-inner[_ngcontent-%COMP%]{position:relative;width:100%;overflow:hidden}.carousel-inner[_ngcontent-%COMP%]::after{display:block;clear:both;content:""}.carousel-item[_ngcontent-%COMP%]{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}.carousel-item-next[_ngcontent-%COMP%], .carousel-item-prev[_ngcontent-%COMP%], .carousel-item.active[_ngcontent-%COMP%]{display:block}.active.carousel-item-right[_ngcontent-%COMP%], .carousel-item-next[_ngcontent-%COMP%]:not(.carousel-item-left){transform:translateX(100%)}.active.carousel-item-left[_ngcontent-%COMP%], .carousel-item-prev[_ngcontent-%COMP%]:not(.carousel-item-right){transform:translateX(-100%)}.carousel-fade[_ngcontent-%COMP%]   .carousel-item[_ngcontent-%COMP%]{opacity:0;transition-property:opacity;transform:none}.carousel-fade[_ngcontent-%COMP%]   .carousel-item-next.carousel-item-left[_ngcontent-%COMP%], .carousel-fade[_ngcontent-%COMP%]   .carousel-item-prev.carousel-item-right[_ngcontent-%COMP%], .carousel-fade[_ngcontent-%COMP%]   .carousel-item.active[_ngcontent-%COMP%]{z-index:1;opacity:1}.carousel-fade[_ngcontent-%COMP%]   .active.carousel-item-left[_ngcontent-%COMP%], .carousel-fade[_ngcontent-%COMP%]   .active.carousel-item-right[_ngcontent-%COMP%]{z-index:0;opacity:0;transition:0s .6s opacity}@media (prefers-reduced-motion:reduce){.carousel-fade[_ngcontent-%COMP%]   .active.carousel-item-left[_ngcontent-%COMP%], .carousel-fade[_ngcontent-%COMP%]   .active.carousel-item-right[_ngcontent-%COMP%], .carousel-item[_ngcontent-%COMP%]{transition:none}}.carousel-control-next[_ngcontent-%COMP%], .carousel-control-prev[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}.carousel-control-next[_ngcontent-%COMP%]:focus, .carousel-control-next[_ngcontent-%COMP%]:hover, .carousel-control-prev[_ngcontent-%COMP%]:focus, .carousel-control-prev[_ngcontent-%COMP%]:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev[_ngcontent-%COMP%]{left:0}.carousel-control-next[_ngcontent-%COMP%]{right:0}.carousel-control-next-icon[_ngcontent-%COMP%], .carousel-control-prev-icon[_ngcontent-%COMP%]{display:inline-block;width:20px;height:20px;background:50%/100% 100% no-repeat}.carousel-control-prev-icon[_ngcontent-%COMP%]{background-image:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' fill=\'%23fff\' viewBox=\'0 0 8 8\'%3e%3cpath d=\'M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z\'/%3e%3c/svg%3e")}.carousel-control-next-icon[_ngcontent-%COMP%]{background-image:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' fill=\'%23fff\' viewBox=\'0 0 8 8\'%3e%3cpath d=\'M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z\'/%3e%3c/svg%3e")}.carousel-indicators[_ngcontent-%COMP%]{position:absolute;right:0;bottom:0;left:0;z-index:15;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next[_ngcontent-%COMP%], .carousel-control-prev[_ngcontent-%COMP%], .carousel-indicators[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]{transition:none}}.carousel-indicators[_ngcontent-%COMP%]   .active[_ngcontent-%COMP%]{opacity:1}.carousel-caption[_ngcontent-%COMP%]{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border[_ngcontent-%COMP%]{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;animation:.75s linear infinite spinner-border}.spinner-border-sm[_ngcontent-%COMP%]{width:1rem;height:1rem;border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1}}.spinner-grow[_ngcontent-%COMP%]{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;animation:.75s linear infinite spinner-grow}.spinner-grow-sm[_ngcontent-%COMP%]{width:1rem;height:1rem}.align-baseline[_ngcontent-%COMP%]{vertical-align:baseline!important}.align-top[_ngcontent-%COMP%]{vertical-align:top!important}.align-middle[_ngcontent-%COMP%]{vertical-align:middle!important}.align-bottom[_ngcontent-%COMP%]{vertical-align:bottom!important}.align-text-bottom[_ngcontent-%COMP%]{vertical-align:text-bottom!important}.align-text-top[_ngcontent-%COMP%]{vertical-align:text-top!important}.bg-primary[_ngcontent-%COMP%]{background-color:#2b99a8!important}a.bg-primary[_ngcontent-%COMP%]:focus, a.bg-primary[_ngcontent-%COMP%]:hover, button.bg-primary[_ngcontent-%COMP%]:focus, button.bg-primary[_ngcontent-%COMP%]:hover{background-color:#21747f!important}.bg-secondary[_ngcontent-%COMP%]{background-color:#ef5c55!important}a.bg-secondary[_ngcontent-%COMP%]:focus, a.bg-secondary[_ngcontent-%COMP%]:hover, button.bg-secondary[_ngcontent-%COMP%]:focus, button.bg-secondary[_ngcontent-%COMP%]:hover{background-color:#eb2f26!important}.bg-success[_ngcontent-%COMP%]{background-color:#28a745!important}a.bg-success[_ngcontent-%COMP%]:focus, a.bg-success[_ngcontent-%COMP%]:hover, button.bg-success[_ngcontent-%COMP%]:focus, button.bg-success[_ngcontent-%COMP%]:hover{background-color:#1e7e34!important}.bg-info[_ngcontent-%COMP%]{background-color:#17a2b8!important}a.bg-info[_ngcontent-%COMP%]:focus, a.bg-info[_ngcontent-%COMP%]:hover, button.bg-info[_ngcontent-%COMP%]:focus, button.bg-info[_ngcontent-%COMP%]:hover{background-color:#117a8b!important}.bg-warning[_ngcontent-%COMP%]{background-color:#ffc107!important}a.bg-warning[_ngcontent-%COMP%]:focus, a.bg-warning[_ngcontent-%COMP%]:hover, button.bg-warning[_ngcontent-%COMP%]:focus, button.bg-warning[_ngcontent-%COMP%]:hover{background-color:#d39e00!important}.bg-danger[_ngcontent-%COMP%]{background-color:#dc3545!important}a.bg-danger[_ngcontent-%COMP%]:focus, a.bg-danger[_ngcontent-%COMP%]:hover, button.bg-danger[_ngcontent-%COMP%]:focus, button.bg-danger[_ngcontent-%COMP%]:hover{background-color:#bd2130!important}.bg-light[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]{background-color:#f8f9fa!important}a.bg-light[_ngcontent-%COMP%]:focus, a.bg-light[_ngcontent-%COMP%]:hover, button.bg-light[_ngcontent-%COMP%]:focus, button.bg-light[_ngcontent-%COMP%]:hover{background-color:#dae0e5!important}.bg-dark[_ngcontent-%COMP%]{background-color:#777!important}a.bg-dark[_ngcontent-%COMP%]:focus, a.bg-dark[_ngcontent-%COMP%]:hover, button.bg-dark[_ngcontent-%COMP%]:focus, button.bg-dark[_ngcontent-%COMP%]:hover{background-color:#5e5e5e!important}.bg-white[_ngcontent-%COMP%]{background-color:#fff!important}.bg-transparent[_ngcontent-%COMP%]{background-color:transparent!important}.border[_ngcontent-%COMP%]{border:1px solid #dee2e6!important}.border-top[_ngcontent-%COMP%]{border-top:1px solid #dee2e6!important}.border-right[_ngcontent-%COMP%]{border-right:1px solid #dee2e6!important}.border-bottom[_ngcontent-%COMP%], .cd-header[_ngcontent-%COMP%], legend[_ngcontent-%COMP%]{border-bottom:1px solid #dee2e6!important}.border-left[_ngcontent-%COMP%]{border-left:1px solid #dee2e6!important}.border-0[_ngcontent-%COMP%]{border:0!important}.border-top-0[_ngcontent-%COMP%]{border-top:0!important}.border-right-0[_ngcontent-%COMP%]{border-right:0!important}.border-bottom-0[_ngcontent-%COMP%]{border-bottom:0!important}.border-left-0[_ngcontent-%COMP%]{border-left:0!important}.border-primary[_ngcontent-%COMP%]{border-color:#2b99a8!important}.border-secondary[_ngcontent-%COMP%]{border-color:#ef5c55!important}.border-success[_ngcontent-%COMP%]{border-color:#28a745!important}.border-info[_ngcontent-%COMP%]{border-color:#17a2b8!important}.border-warning[_ngcontent-%COMP%]{border-color:#ffc107!important}.border-danger[_ngcontent-%COMP%]{border-color:#dc3545!important}.border-light[_ngcontent-%COMP%]{border-color:#f8f9fa!important}.border-dark[_ngcontent-%COMP%]{border-color:#777!important}.border-white[_ngcontent-%COMP%]{border-color:#fff!important}.rounded-sm[_ngcontent-%COMP%]{border-radius:.2rem!important}.rounded[_ngcontent-%COMP%]{border-radius:.25rem!important}.rounded-top[_ngcontent-%COMP%]{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right[_ngcontent-%COMP%]{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom[_ngcontent-%COMP%]{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left[_ngcontent-%COMP%]{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-lg[_ngcontent-%COMP%]{border-radius:.3rem!important}.rounded-circle[_ngcontent-%COMP%]{border-radius:50%!important}.rounded-pill[_ngcontent-%COMP%]{border-radius:50rem!important}.rounded-0[_ngcontent-%COMP%]{border-radius:0!important}.clearfix[_ngcontent-%COMP%]::after{display:block;clear:both;content:""}.d-none[_ngcontent-%COMP%]{display:none!important}.d-inline[_ngcontent-%COMP%]{display:inline!important}.d-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-block[_ngcontent-%COMP%]{display:block!important}.d-table[_ngcontent-%COMP%]{display:table!important}.d-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-flex[_ngcontent-%COMP%]{display:flex!important}.d-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}@media (min-width:576px){.d-sm-none[_ngcontent-%COMP%]{display:none!important}.d-sm-inline[_ngcontent-%COMP%]{display:inline!important}.d-sm-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-sm-block[_ngcontent-%COMP%]{display:block!important}.d-sm-table[_ngcontent-%COMP%]{display:table!important}.d-sm-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-sm-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-sm-flex[_ngcontent-%COMP%]{display:flex!important}.d-sm-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}}@media (min-width:768px){.d-md-none[_ngcontent-%COMP%]{display:none!important}.d-md-inline[_ngcontent-%COMP%]{display:inline!important}.d-md-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-md-block[_ngcontent-%COMP%]{display:block!important}.d-md-table[_ngcontent-%COMP%]{display:table!important}.d-md-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-md-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-md-flex[_ngcontent-%COMP%]{display:flex!important}.d-md-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}}@media (min-width:992px){.d-lg-none[_ngcontent-%COMP%]{display:none!important}.d-lg-inline[_ngcontent-%COMP%]{display:inline!important}.d-lg-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-lg-block[_ngcontent-%COMP%]{display:block!important}.d-lg-table[_ngcontent-%COMP%]{display:table!important}.d-lg-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-lg-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-lg-flex[_ngcontent-%COMP%]{display:flex!important}.d-lg-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}}@media (min-width:1200px){.d-xl-none[_ngcontent-%COMP%]{display:none!important}.d-xl-inline[_ngcontent-%COMP%]{display:inline!important}.d-xl-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-xl-block[_ngcontent-%COMP%]{display:block!important}.d-xl-table[_ngcontent-%COMP%]{display:table!important}.d-xl-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-xl-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-xl-flex[_ngcontent-%COMP%]{display:flex!important}.d-xl-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}}@media print{.d-print-none[_ngcontent-%COMP%]{display:none!important}.d-print-inline[_ngcontent-%COMP%]{display:inline!important}.d-print-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-print-block[_ngcontent-%COMP%]{display:block!important}.d-print-table[_ngcontent-%COMP%]{display:table!important}.d-print-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-print-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-print-flex[_ngcontent-%COMP%]{display:flex!important}.d-print-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}}.embed-responsive[_ngcontent-%COMP%]{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive[_ngcontent-%COMP%]::before{display:block;content:""}.embed-responsive[_ngcontent-%COMP%]   .embed-responsive-item[_ngcontent-%COMP%], .embed-responsive[_ngcontent-%COMP%]   embed[_ngcontent-%COMP%], .embed-responsive[_ngcontent-%COMP%]   iframe[_ngcontent-%COMP%], .embed-responsive[_ngcontent-%COMP%]   object[_ngcontent-%COMP%], .embed-responsive[_ngcontent-%COMP%]   video[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9[_ngcontent-%COMP%]::before{padding-top:42.8571428571%}.embed-responsive-16by9[_ngcontent-%COMP%]::before{padding-top:56.25%}.embed-responsive-4by3[_ngcontent-%COMP%]::before{padding-top:75%}.embed-responsive-1by1[_ngcontent-%COMP%]::before{padding-top:100%}.flex-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-column[_ngcontent-%COMP%]{flex-direction:column!important}.flex-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.flex-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.justify-content-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-stretch[_ngcontent-%COMP%]{align-self:stretch!important}@media (min-width:576px){.flex-sm-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-sm-column[_ngcontent-%COMP%]{flex-direction:column!important}.flex-sm-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-sm-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-sm-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-sm-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-sm-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.flex-sm-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-sm-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-sm-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-sm-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-sm-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.justify-content-sm-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-sm-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-sm-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-sm-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-sm-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-sm-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-sm-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-sm-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-sm-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-sm-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-sm-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-sm-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-sm-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-sm-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-sm-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-sm-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-sm-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-sm-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-sm-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-sm-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-sm-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-sm-stretch[_ngcontent-%COMP%]{align-self:stretch!important}}.float-left[_ngcontent-%COMP%]{float:left!important}.float-right[_ngcontent-%COMP%]{float:right!important}.float-none[_ngcontent-%COMP%]{float:none!important}@media (min-width:576px){.float-sm-left[_ngcontent-%COMP%]{float:left!important}.float-sm-right[_ngcontent-%COMP%]{float:right!important}.float-sm-none[_ngcontent-%COMP%]{float:none!important}}.overflow-auto[_ngcontent-%COMP%]{overflow:auto!important}.overflow-hidden[_ngcontent-%COMP%]{overflow:hidden!important}.position-static[_ngcontent-%COMP%]{position:static!important}.position-relative[_ngcontent-%COMP%]{position:relative!important}.position-absolute[_ngcontent-%COMP%]{position:absolute!important}.position-fixed[_ngcontent-%COMP%]{position:fixed!important}.position-sticky[_ngcontent-%COMP%]{position:sticky!important}.fixed-top[_ngcontent-%COMP%]{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom[_ngcontent-%COMP%]{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports (position:sticky){.sticky-top[_ngcontent-%COMP%]{position:sticky;top:0;z-index:1020}}.sr-only[_ngcontent-%COMP%]{clip:rect(0,0,0,0);white-space:nowrap}.shadow-sm[_ngcontent-%COMP%]{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow[_ngcontent-%COMP%]{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg[_ngcontent-%COMP%]{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none[_ngcontent-%COMP%]{box-shadow:none!important}.w-25[_ngcontent-%COMP%]{width:25%!important}.w-50[_ngcontent-%COMP%]{width:50%!important}.w-75[_ngcontent-%COMP%]{width:75%!important}.w-100[_ngcontent-%COMP%]{width:100%!important}.w-auto[_ngcontent-%COMP%]{width:auto!important}.h-25[_ngcontent-%COMP%]{height:25%!important}.h-50[_ngcontent-%COMP%]{height:50%!important}.h-75[_ngcontent-%COMP%]{height:75%!important}.h-100[_ngcontent-%COMP%]{height:100%!important}.h-auto[_ngcontent-%COMP%]{height:auto!important}.mw-100[_ngcontent-%COMP%]{max-width:100%!important}.mh-100[_ngcontent-%COMP%]{max-height:100%!important}.min-vw-100[_ngcontent-%COMP%]{min-width:100vw!important}.min-vh-100[_ngcontent-%COMP%]{min-height:100vh!important}.vw-100[_ngcontent-%COMP%]{width:100vw!important}.vh-100[_ngcontent-%COMP%]{height:100vh!important}.stretched-link[_ngcontent-%COMP%]::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.m-0[_ngcontent-%COMP%]{margin:0!important}.mt-0[_ngcontent-%COMP%], .my-0[_ngcontent-%COMP%]{margin-top:0!important}.mr-0[_ngcontent-%COMP%], .mx-0[_ngcontent-%COMP%]{margin-right:0!important}.mb-0[_ngcontent-%COMP%], .my-0[_ngcontent-%COMP%]{margin-bottom:0!important}.ml-0[_ngcontent-%COMP%], .mx-0[_ngcontent-%COMP%]{margin-left:0!important}.m-1[_ngcontent-%COMP%]{margin:.25rem!important}.mt-1[_ngcontent-%COMP%], .my-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mr-1[_ngcontent-%COMP%], .mx-1[_ngcontent-%COMP%]{margin-right:.25rem!important}.mb-1[_ngcontent-%COMP%], .my-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.ml-1[_ngcontent-%COMP%], .mx-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.m-2[_ngcontent-%COMP%]{margin:.5rem!important}.mt-2[_ngcontent-%COMP%], .my-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mr-2[_ngcontent-%COMP%], .mx-2[_ngcontent-%COMP%]{margin-right:.5rem!important}.mb-2[_ngcontent-%COMP%], .my-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.ml-2[_ngcontent-%COMP%], .mx-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.m-3[_ngcontent-%COMP%]{margin:1rem!important}.mt-3[_ngcontent-%COMP%], .my-3[_ngcontent-%COMP%]{margin-top:1rem!important}.mr-3[_ngcontent-%COMP%], .mx-3[_ngcontent-%COMP%]{margin-right:1rem!important}.mb-3[_ngcontent-%COMP%], .my-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.ml-3[_ngcontent-%COMP%], .mx-3[_ngcontent-%COMP%]{margin-left:1rem!important}.m-4[_ngcontent-%COMP%]{margin:1.5rem!important}.cd-header[_ngcontent-%COMP%], .mt-4[_ngcontent-%COMP%], .my-4[_ngcontent-%COMP%], legend[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mr-4[_ngcontent-%COMP%], .mx-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.cd-header[_ngcontent-%COMP%], .mb-4[_ngcontent-%COMP%], .my-4[_ngcontent-%COMP%], legend[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.ml-4[_ngcontent-%COMP%], .mx-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.m-5[_ngcontent-%COMP%]{margin:3rem!important}.mt-5[_ngcontent-%COMP%], .my-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mr-5[_ngcontent-%COMP%], .mx-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mb-5[_ngcontent-%COMP%], .my-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.ml-5[_ngcontent-%COMP%], .mx-5[_ngcontent-%COMP%]{margin-left:3rem!important}.p-0[_ngcontent-%COMP%]{padding:0!important}.pt-0[_ngcontent-%COMP%], .py-0[_ngcontent-%COMP%]{padding-top:0!important}.pr-0[_ngcontent-%COMP%], .px-0[_ngcontent-%COMP%]{padding-right:0!important}.pb-0[_ngcontent-%COMP%], .py-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pl-0[_ngcontent-%COMP%], .px-0[_ngcontent-%COMP%]{padding-left:0!important}.p-1[_ngcontent-%COMP%]{padding:.25rem!important}.pt-1[_ngcontent-%COMP%], .py-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pr-1[_ngcontent-%COMP%], .px-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.cd-header[_ngcontent-%COMP%], .pb-1[_ngcontent-%COMP%], .py-1[_ngcontent-%COMP%], legend[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pl-1[_ngcontent-%COMP%], .px-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.p-2[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]{padding:.5rem!important}.card[_ngcontent-%COMP%]   .card-body[_ngcontent-%COMP%]   .card-text[_ngcontent-%COMP%], .pt-2[_ngcontent-%COMP%], .py-2[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]   .card-body[_ngcontent-%COMP%]   .card-text[_ngcontent-%COMP%]{padding-top:.5rem!important}.pr-2[_ngcontent-%COMP%], .px-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.card[_ngcontent-%COMP%], .pb-2[_ngcontent-%COMP%], .py-2[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pl-2[_ngcontent-%COMP%], .px-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.p-3[_ngcontent-%COMP%]{padding:1rem!important}.pt-3[_ngcontent-%COMP%], .py-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pr-3[_ngcontent-%COMP%], .px-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pb-3[_ngcontent-%COMP%], .py-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pl-3[_ngcontent-%COMP%], .px-3[_ngcontent-%COMP%]{padding-left:1rem!important}.p-4[_ngcontent-%COMP%]{padding:1.5rem!important}.pt-4[_ngcontent-%COMP%], .py-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pr-4[_ngcontent-%COMP%], .px-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pb-4[_ngcontent-%COMP%], .py-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pl-4[_ngcontent-%COMP%], .px-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.p-5[_ngcontent-%COMP%]{padding:3rem!important}.pt-5[_ngcontent-%COMP%], .py-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-5[_ngcontent-%COMP%], .px-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-5[_ngcontent-%COMP%], .py-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-5[_ngcontent-%COMP%], .px-5[_ngcontent-%COMP%]{padding-left:3rem!important}.m-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.mt-n1[_ngcontent-%COMP%], .my-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mr-n1[_ngcontent-%COMP%], .mx-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mb-n1[_ngcontent-%COMP%], .my-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.ml-n1[_ngcontent-%COMP%], .mx-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.m-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.mt-n2[_ngcontent-%COMP%], .my-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mr-n2[_ngcontent-%COMP%], .mx-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mb-n2[_ngcontent-%COMP%], .my-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.ml-n2[_ngcontent-%COMP%], .mx-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.m-n3[_ngcontent-%COMP%]{margin:-1rem!important}.mt-n3[_ngcontent-%COMP%], .my-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mr-n3[_ngcontent-%COMP%], .mx-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mb-n3[_ngcontent-%COMP%], .my-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.ml-n3[_ngcontent-%COMP%], .mx-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.m-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.mt-n4[_ngcontent-%COMP%], .my-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mr-n4[_ngcontent-%COMP%], .mx-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mb-n4[_ngcontent-%COMP%], .my-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.ml-n4[_ngcontent-%COMP%], .mx-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.m-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mt-n5[_ngcontent-%COMP%], .my-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-n5[_ngcontent-%COMP%], .mx-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-n5[_ngcontent-%COMP%], .my-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-n5[_ngcontent-%COMP%], .mx-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.m-auto[_ngcontent-%COMP%]{margin:auto!important}.mt-auto[_ngcontent-%COMP%], .my-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-auto[_ngcontent-%COMP%], .mx-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-auto[_ngcontent-%COMP%], .my-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-auto[_ngcontent-%COMP%], .mx-auto[_ngcontent-%COMP%]{margin-left:auto!important}@media (min-width:576px){.m-sm-0[_ngcontent-%COMP%]{margin:0!important}.mt-sm-0[_ngcontent-%COMP%], .my-sm-0[_ngcontent-%COMP%]{margin-top:0!important}.mr-sm-0[_ngcontent-%COMP%], .mx-sm-0[_ngcontent-%COMP%]{margin-right:0!important}.mb-sm-0[_ngcontent-%COMP%], .my-sm-0[_ngcontent-%COMP%]{margin-bottom:0!important}.ml-sm-0[_ngcontent-%COMP%], .mx-sm-0[_ngcontent-%COMP%]{margin-left:0!important}.m-sm-1[_ngcontent-%COMP%]{margin:.25rem!important}.mt-sm-1[_ngcontent-%COMP%], .my-sm-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mr-sm-1[_ngcontent-%COMP%], .mx-sm-1[_ngcontent-%COMP%]{margin-right:.25rem!important}.mb-sm-1[_ngcontent-%COMP%], .my-sm-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.ml-sm-1[_ngcontent-%COMP%], .mx-sm-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.m-sm-2[_ngcontent-%COMP%]{margin:.5rem!important}.mt-sm-2[_ngcontent-%COMP%], .my-sm-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mr-sm-2[_ngcontent-%COMP%], .mx-sm-2[_ngcontent-%COMP%]{margin-right:.5rem!important}.mb-sm-2[_ngcontent-%COMP%], .my-sm-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.ml-sm-2[_ngcontent-%COMP%], .mx-sm-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.m-sm-3[_ngcontent-%COMP%]{margin:1rem!important}.mt-sm-3[_ngcontent-%COMP%], .my-sm-3[_ngcontent-%COMP%]{margin-top:1rem!important}.mr-sm-3[_ngcontent-%COMP%], .mx-sm-3[_ngcontent-%COMP%]{margin-right:1rem!important}.mb-sm-3[_ngcontent-%COMP%], .my-sm-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.ml-sm-3[_ngcontent-%COMP%], .mx-sm-3[_ngcontent-%COMP%]{margin-left:1rem!important}.m-sm-4[_ngcontent-%COMP%]{margin:1.5rem!important}.mt-sm-4[_ngcontent-%COMP%], .my-sm-4[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mr-sm-4[_ngcontent-%COMP%], .mx-sm-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.mb-sm-4[_ngcontent-%COMP%], .my-sm-4[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.ml-sm-4[_ngcontent-%COMP%], .mx-sm-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.m-sm-5[_ngcontent-%COMP%]{margin:3rem!important}.mt-sm-5[_ngcontent-%COMP%], .my-sm-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mr-sm-5[_ngcontent-%COMP%], .mx-sm-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mb-sm-5[_ngcontent-%COMP%], .my-sm-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.ml-sm-5[_ngcontent-%COMP%], .mx-sm-5[_ngcontent-%COMP%]{margin-left:3rem!important}.p-sm-0[_ngcontent-%COMP%]{padding:0!important}.pt-sm-0[_ngcontent-%COMP%], .py-sm-0[_ngcontent-%COMP%]{padding-top:0!important}.pr-sm-0[_ngcontent-%COMP%], .px-sm-0[_ngcontent-%COMP%]{padding-right:0!important}.pb-sm-0[_ngcontent-%COMP%], .py-sm-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pl-sm-0[_ngcontent-%COMP%], .px-sm-0[_ngcontent-%COMP%]{padding-left:0!important}.p-sm-1[_ngcontent-%COMP%]{padding:.25rem!important}.pt-sm-1[_ngcontent-%COMP%], .py-sm-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pr-sm-1[_ngcontent-%COMP%], .px-sm-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.pb-sm-1[_ngcontent-%COMP%], .py-sm-1[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pl-sm-1[_ngcontent-%COMP%], .px-sm-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.p-sm-2[_ngcontent-%COMP%]{padding:.5rem!important}.pt-sm-2[_ngcontent-%COMP%], .py-sm-2[_ngcontent-%COMP%]{padding-top:.5rem!important}.pr-sm-2[_ngcontent-%COMP%], .px-sm-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.pb-sm-2[_ngcontent-%COMP%], .py-sm-2[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pl-sm-2[_ngcontent-%COMP%], .px-sm-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.p-sm-3[_ngcontent-%COMP%]{padding:1rem!important}.pt-sm-3[_ngcontent-%COMP%], .py-sm-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pr-sm-3[_ngcontent-%COMP%], .px-sm-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pb-sm-3[_ngcontent-%COMP%], .py-sm-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pl-sm-3[_ngcontent-%COMP%], .px-sm-3[_ngcontent-%COMP%]{padding-left:1rem!important}.p-sm-4[_ngcontent-%COMP%]{padding:1.5rem!important}.pt-sm-4[_ngcontent-%COMP%], .py-sm-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pr-sm-4[_ngcontent-%COMP%], .px-sm-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pb-sm-4[_ngcontent-%COMP%], .py-sm-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pl-sm-4[_ngcontent-%COMP%], .px-sm-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.p-sm-5[_ngcontent-%COMP%]{padding:3rem!important}.pt-sm-5[_ngcontent-%COMP%], .py-sm-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-sm-5[_ngcontent-%COMP%], .px-sm-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-sm-5[_ngcontent-%COMP%], .py-sm-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-sm-5[_ngcontent-%COMP%], .px-sm-5[_ngcontent-%COMP%]{padding-left:3rem!important}.m-sm-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.mt-sm-n1[_ngcontent-%COMP%], .my-sm-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mr-sm-n1[_ngcontent-%COMP%], .mx-sm-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mb-sm-n1[_ngcontent-%COMP%], .my-sm-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.ml-sm-n1[_ngcontent-%COMP%], .mx-sm-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.m-sm-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.mt-sm-n2[_ngcontent-%COMP%], .my-sm-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mr-sm-n2[_ngcontent-%COMP%], .mx-sm-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mb-sm-n2[_ngcontent-%COMP%], .my-sm-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.ml-sm-n2[_ngcontent-%COMP%], .mx-sm-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.m-sm-n3[_ngcontent-%COMP%]{margin:-1rem!important}.mt-sm-n3[_ngcontent-%COMP%], .my-sm-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mr-sm-n3[_ngcontent-%COMP%], .mx-sm-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mb-sm-n3[_ngcontent-%COMP%], .my-sm-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.ml-sm-n3[_ngcontent-%COMP%], .mx-sm-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.m-sm-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.mt-sm-n4[_ngcontent-%COMP%], .my-sm-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mr-sm-n4[_ngcontent-%COMP%], .mx-sm-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mb-sm-n4[_ngcontent-%COMP%], .my-sm-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.ml-sm-n4[_ngcontent-%COMP%], .mx-sm-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.m-sm-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mt-sm-n5[_ngcontent-%COMP%], .my-sm-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-sm-n5[_ngcontent-%COMP%], .mx-sm-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-sm-n5[_ngcontent-%COMP%], .my-sm-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-sm-n5[_ngcontent-%COMP%], .mx-sm-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.m-sm-auto[_ngcontent-%COMP%]{margin:auto!important}.mt-sm-auto[_ngcontent-%COMP%], .my-sm-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-sm-auto[_ngcontent-%COMP%], .mx-sm-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-sm-auto[_ngcontent-%COMP%], .my-sm-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-sm-auto[_ngcontent-%COMP%], .mx-sm-auto[_ngcontent-%COMP%]{margin-left:auto!important}}.text-monospace[_ngcontent-%COMP%]{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.text-justify[_ngcontent-%COMP%]{text-align:justify!important}.text-wrap[_ngcontent-%COMP%]{white-space:normal!important}.text-nowrap[_ngcontent-%COMP%]{white-space:nowrap!important}.text-truncate[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left[_ngcontent-%COMP%]{text-align:left!important}.text-right[_ngcontent-%COMP%]{text-align:right!important}.text-center[_ngcontent-%COMP%]{text-align:center!important}@media (min-width:576px){.text-sm-left[_ngcontent-%COMP%]{text-align:left!important}.text-sm-right[_ngcontent-%COMP%]{text-align:right!important}.text-sm-center[_ngcontent-%COMP%]{text-align:center!important}}@media (min-width:768px){.flex-md-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-md-column[_ngcontent-%COMP%]{flex-direction:column!important}.flex-md-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-md-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-md-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-md-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-md-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.flex-md-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-md-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-md-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-md-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-md-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.justify-content-md-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-md-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-md-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-md-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-md-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-md-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-md-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-md-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-md-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-md-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-md-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-md-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-md-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-md-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-md-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-md-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-md-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-md-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-md-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-md-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-md-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-md-stretch[_ngcontent-%COMP%]{align-self:stretch!important}.float-md-left[_ngcontent-%COMP%]{float:left!important}.float-md-right[_ngcontent-%COMP%]{float:right!important}.float-md-none[_ngcontent-%COMP%]{float:none!important}.m-md-0[_ngcontent-%COMP%]{margin:0!important}.mt-md-0[_ngcontent-%COMP%], .my-md-0[_ngcontent-%COMP%]{margin-top:0!important}.mr-md-0[_ngcontent-%COMP%], .mx-md-0[_ngcontent-%COMP%]{margin-right:0!important}.mb-md-0[_ngcontent-%COMP%], .my-md-0[_ngcontent-%COMP%]{margin-bottom:0!important}.ml-md-0[_ngcontent-%COMP%], .mx-md-0[_ngcontent-%COMP%]{margin-left:0!important}.m-md-1[_ngcontent-%COMP%]{margin:.25rem!important}.mt-md-1[_ngcontent-%COMP%], .my-md-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mr-md-1[_ngcontent-%COMP%], .mx-md-1[_ngcontent-%COMP%]{margin-right:.25rem!important}.mb-md-1[_ngcontent-%COMP%], .my-md-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.ml-md-1[_ngcontent-%COMP%], .mx-md-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.m-md-2[_ngcontent-%COMP%]{margin:.5rem!important}.mt-md-2[_ngcontent-%COMP%], .my-md-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mr-md-2[_ngcontent-%COMP%], .mx-md-2[_ngcontent-%COMP%]{margin-right:.5rem!important}.mb-md-2[_ngcontent-%COMP%], .my-md-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.ml-md-2[_ngcontent-%COMP%], .mx-md-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.m-md-3[_ngcontent-%COMP%]{margin:1rem!important}.mt-md-3[_ngcontent-%COMP%], .my-md-3[_ngcontent-%COMP%]{margin-top:1rem!important}.mr-md-3[_ngcontent-%COMP%], .mx-md-3[_ngcontent-%COMP%]{margin-right:1rem!important}.mb-md-3[_ngcontent-%COMP%], .my-md-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.ml-md-3[_ngcontent-%COMP%], .mx-md-3[_ngcontent-%COMP%]{margin-left:1rem!important}.m-md-4[_ngcontent-%COMP%]{margin:1.5rem!important}.mt-md-4[_ngcontent-%COMP%], .my-md-4[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mr-md-4[_ngcontent-%COMP%], .mx-md-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.mb-md-4[_ngcontent-%COMP%], .my-md-4[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.ml-md-4[_ngcontent-%COMP%], .mx-md-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.m-md-5[_ngcontent-%COMP%]{margin:3rem!important}.mt-md-5[_ngcontent-%COMP%], .my-md-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mr-md-5[_ngcontent-%COMP%], .mx-md-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mb-md-5[_ngcontent-%COMP%], .my-md-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.ml-md-5[_ngcontent-%COMP%], .mx-md-5[_ngcontent-%COMP%]{margin-left:3rem!important}.p-md-0[_ngcontent-%COMP%]{padding:0!important}.pt-md-0[_ngcontent-%COMP%], .py-md-0[_ngcontent-%COMP%]{padding-top:0!important}.pr-md-0[_ngcontent-%COMP%], .px-md-0[_ngcontent-%COMP%]{padding-right:0!important}.pb-md-0[_ngcontent-%COMP%], .py-md-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pl-md-0[_ngcontent-%COMP%], .px-md-0[_ngcontent-%COMP%]{padding-left:0!important}.p-md-1[_ngcontent-%COMP%]{padding:.25rem!important}.pt-md-1[_ngcontent-%COMP%], .py-md-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pr-md-1[_ngcontent-%COMP%], .px-md-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.pb-md-1[_ngcontent-%COMP%], .py-md-1[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pl-md-1[_ngcontent-%COMP%], .px-md-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.p-md-2[_ngcontent-%COMP%]{padding:.5rem!important}.pt-md-2[_ngcontent-%COMP%], .py-md-2[_ngcontent-%COMP%]{padding-top:.5rem!important}.pr-md-2[_ngcontent-%COMP%], .px-md-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.pb-md-2[_ngcontent-%COMP%], .py-md-2[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pl-md-2[_ngcontent-%COMP%], .px-md-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.p-md-3[_ngcontent-%COMP%]{padding:1rem!important}.pt-md-3[_ngcontent-%COMP%], .py-md-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pr-md-3[_ngcontent-%COMP%], .px-md-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pb-md-3[_ngcontent-%COMP%], .py-md-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pl-md-3[_ngcontent-%COMP%], .px-md-3[_ngcontent-%COMP%]{padding-left:1rem!important}.p-md-4[_ngcontent-%COMP%]{padding:1.5rem!important}.pt-md-4[_ngcontent-%COMP%], .py-md-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pr-md-4[_ngcontent-%COMP%], .px-md-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pb-md-4[_ngcontent-%COMP%], .py-md-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pl-md-4[_ngcontent-%COMP%], .px-md-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.p-md-5[_ngcontent-%COMP%]{padding:3rem!important}.pt-md-5[_ngcontent-%COMP%], .py-md-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-md-5[_ngcontent-%COMP%], .px-md-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-md-5[_ngcontent-%COMP%], .py-md-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-md-5[_ngcontent-%COMP%], .px-md-5[_ngcontent-%COMP%]{padding-left:3rem!important}.m-md-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.mt-md-n1[_ngcontent-%COMP%], .my-md-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mr-md-n1[_ngcontent-%COMP%], .mx-md-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mb-md-n1[_ngcontent-%COMP%], .my-md-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.ml-md-n1[_ngcontent-%COMP%], .mx-md-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.m-md-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.mt-md-n2[_ngcontent-%COMP%], .my-md-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mr-md-n2[_ngcontent-%COMP%], .mx-md-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mb-md-n2[_ngcontent-%COMP%], .my-md-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.ml-md-n2[_ngcontent-%COMP%], .mx-md-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.m-md-n3[_ngcontent-%COMP%]{margin:-1rem!important}.mt-md-n3[_ngcontent-%COMP%], .my-md-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mr-md-n3[_ngcontent-%COMP%], .mx-md-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mb-md-n3[_ngcontent-%COMP%], .my-md-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.ml-md-n3[_ngcontent-%COMP%], .mx-md-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.m-md-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.mt-md-n4[_ngcontent-%COMP%], .my-md-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mr-md-n4[_ngcontent-%COMP%], .mx-md-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mb-md-n4[_ngcontent-%COMP%], .my-md-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.ml-md-n4[_ngcontent-%COMP%], .mx-md-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.m-md-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mt-md-n5[_ngcontent-%COMP%], .my-md-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-md-n5[_ngcontent-%COMP%], .mx-md-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-md-n5[_ngcontent-%COMP%], .my-md-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-md-n5[_ngcontent-%COMP%], .mx-md-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.m-md-auto[_ngcontent-%COMP%]{margin:auto!important}.mt-md-auto[_ngcontent-%COMP%], .my-md-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-md-auto[_ngcontent-%COMP%], .mx-md-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-md-auto[_ngcontent-%COMP%], .my-md-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-md-auto[_ngcontent-%COMP%], .mx-md-auto[_ngcontent-%COMP%]{margin-left:auto!important}.text-md-left[_ngcontent-%COMP%]{text-align:left!important}.text-md-right[_ngcontent-%COMP%]{text-align:right!important}.text-md-center[_ngcontent-%COMP%]{text-align:center!important}}@media (min-width:992px){.flex-lg-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-lg-column[_ngcontent-%COMP%]{flex-direction:column!important}.flex-lg-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-lg-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-lg-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-lg-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-lg-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.flex-lg-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-lg-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-lg-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-lg-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-lg-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.justify-content-lg-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-lg-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-lg-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-lg-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-lg-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-lg-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-lg-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-lg-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-lg-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-lg-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-lg-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-lg-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-lg-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-lg-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-lg-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-lg-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-lg-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-lg-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-lg-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-lg-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-lg-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-lg-stretch[_ngcontent-%COMP%]{align-self:stretch!important}.float-lg-left[_ngcontent-%COMP%]{float:left!important}.float-lg-right[_ngcontent-%COMP%]{float:right!important}.float-lg-none[_ngcontent-%COMP%]{float:none!important}.m-lg-0[_ngcontent-%COMP%]{margin:0!important}.mt-lg-0[_ngcontent-%COMP%], .my-lg-0[_ngcontent-%COMP%]{margin-top:0!important}.mr-lg-0[_ngcontent-%COMP%], .mx-lg-0[_ngcontent-%COMP%]{margin-right:0!important}.mb-lg-0[_ngcontent-%COMP%], .my-lg-0[_ngcontent-%COMP%]{margin-bottom:0!important}.ml-lg-0[_ngcontent-%COMP%], .mx-lg-0[_ngcontent-%COMP%]{margin-left:0!important}.m-lg-1[_ngcontent-%COMP%]{margin:.25rem!important}.mt-lg-1[_ngcontent-%COMP%], .my-lg-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mr-lg-1[_ngcontent-%COMP%], .mx-lg-1[_ngcontent-%COMP%]{margin-right:.25rem!important}.mb-lg-1[_ngcontent-%COMP%], .my-lg-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.ml-lg-1[_ngcontent-%COMP%], .mx-lg-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.m-lg-2[_ngcontent-%COMP%]{margin:.5rem!important}.mt-lg-2[_ngcontent-%COMP%], .my-lg-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mr-lg-2[_ngcontent-%COMP%], .mx-lg-2[_ngcontent-%COMP%]{margin-right:.5rem!important}.mb-lg-2[_ngcontent-%COMP%], .my-lg-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.ml-lg-2[_ngcontent-%COMP%], .mx-lg-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.m-lg-3[_ngcontent-%COMP%]{margin:1rem!important}.mt-lg-3[_ngcontent-%COMP%], .my-lg-3[_ngcontent-%COMP%]{margin-top:1rem!important}.mr-lg-3[_ngcontent-%COMP%], .mx-lg-3[_ngcontent-%COMP%]{margin-right:1rem!important}.mb-lg-3[_ngcontent-%COMP%], .my-lg-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.ml-lg-3[_ngcontent-%COMP%], .mx-lg-3[_ngcontent-%COMP%]{margin-left:1rem!important}.m-lg-4[_ngcontent-%COMP%]{margin:1.5rem!important}.mt-lg-4[_ngcontent-%COMP%], .my-lg-4[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mr-lg-4[_ngcontent-%COMP%], .mx-lg-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.mb-lg-4[_ngcontent-%COMP%], .my-lg-4[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.ml-lg-4[_ngcontent-%COMP%], .mx-lg-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.m-lg-5[_ngcontent-%COMP%]{margin:3rem!important}.mt-lg-5[_ngcontent-%COMP%], .my-lg-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mr-lg-5[_ngcontent-%COMP%], .mx-lg-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mb-lg-5[_ngcontent-%COMP%], .my-lg-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.ml-lg-5[_ngcontent-%COMP%], .mx-lg-5[_ngcontent-%COMP%]{margin-left:3rem!important}.p-lg-0[_ngcontent-%COMP%]{padding:0!important}.pt-lg-0[_ngcontent-%COMP%], .py-lg-0[_ngcontent-%COMP%]{padding-top:0!important}.pr-lg-0[_ngcontent-%COMP%], .px-lg-0[_ngcontent-%COMP%]{padding-right:0!important}.pb-lg-0[_ngcontent-%COMP%], .py-lg-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pl-lg-0[_ngcontent-%COMP%], .px-lg-0[_ngcontent-%COMP%]{padding-left:0!important}.p-lg-1[_ngcontent-%COMP%]{padding:.25rem!important}.pt-lg-1[_ngcontent-%COMP%], .py-lg-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pr-lg-1[_ngcontent-%COMP%], .px-lg-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.pb-lg-1[_ngcontent-%COMP%], .py-lg-1[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pl-lg-1[_ngcontent-%COMP%], .px-lg-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.p-lg-2[_ngcontent-%COMP%]{padding:.5rem!important}.pt-lg-2[_ngcontent-%COMP%], .py-lg-2[_ngcontent-%COMP%]{padding-top:.5rem!important}.pr-lg-2[_ngcontent-%COMP%], .px-lg-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.pb-lg-2[_ngcontent-%COMP%], .py-lg-2[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pl-lg-2[_ngcontent-%COMP%], .px-lg-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.p-lg-3[_ngcontent-%COMP%]{padding:1rem!important}.pt-lg-3[_ngcontent-%COMP%], .py-lg-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pr-lg-3[_ngcontent-%COMP%], .px-lg-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pb-lg-3[_ngcontent-%COMP%], .py-lg-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pl-lg-3[_ngcontent-%COMP%], .px-lg-3[_ngcontent-%COMP%]{padding-left:1rem!important}.p-lg-4[_ngcontent-%COMP%]{padding:1.5rem!important}.pt-lg-4[_ngcontent-%COMP%], .py-lg-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pr-lg-4[_ngcontent-%COMP%], .px-lg-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pb-lg-4[_ngcontent-%COMP%], .py-lg-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pl-lg-4[_ngcontent-%COMP%], .px-lg-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.p-lg-5[_ngcontent-%COMP%]{padding:3rem!important}.pt-lg-5[_ngcontent-%COMP%], .py-lg-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-lg-5[_ngcontent-%COMP%], .px-lg-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-lg-5[_ngcontent-%COMP%], .py-lg-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-lg-5[_ngcontent-%COMP%], .px-lg-5[_ngcontent-%COMP%]{padding-left:3rem!important}.m-lg-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.mt-lg-n1[_ngcontent-%COMP%], .my-lg-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mr-lg-n1[_ngcontent-%COMP%], .mx-lg-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mb-lg-n1[_ngcontent-%COMP%], .my-lg-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.ml-lg-n1[_ngcontent-%COMP%], .mx-lg-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.m-lg-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.mt-lg-n2[_ngcontent-%COMP%], .my-lg-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mr-lg-n2[_ngcontent-%COMP%], .mx-lg-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mb-lg-n2[_ngcontent-%COMP%], .my-lg-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.ml-lg-n2[_ngcontent-%COMP%], .mx-lg-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.m-lg-n3[_ngcontent-%COMP%]{margin:-1rem!important}.mt-lg-n3[_ngcontent-%COMP%], .my-lg-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mr-lg-n3[_ngcontent-%COMP%], .mx-lg-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mb-lg-n3[_ngcontent-%COMP%], .my-lg-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.ml-lg-n3[_ngcontent-%COMP%], .mx-lg-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.m-lg-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.mt-lg-n4[_ngcontent-%COMP%], .my-lg-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mr-lg-n4[_ngcontent-%COMP%], .mx-lg-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mb-lg-n4[_ngcontent-%COMP%], .my-lg-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.ml-lg-n4[_ngcontent-%COMP%], .mx-lg-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.m-lg-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mt-lg-n5[_ngcontent-%COMP%], .my-lg-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-lg-n5[_ngcontent-%COMP%], .mx-lg-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-lg-n5[_ngcontent-%COMP%], .my-lg-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-lg-n5[_ngcontent-%COMP%], .mx-lg-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.m-lg-auto[_ngcontent-%COMP%]{margin:auto!important}.mt-lg-auto[_ngcontent-%COMP%], .my-lg-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-lg-auto[_ngcontent-%COMP%], .mx-lg-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-lg-auto[_ngcontent-%COMP%], .my-lg-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-lg-auto[_ngcontent-%COMP%], .mx-lg-auto[_ngcontent-%COMP%]{margin-left:auto!important}.text-lg-left[_ngcontent-%COMP%]{text-align:left!important}.text-lg-right[_ngcontent-%COMP%]{text-align:right!important}.text-lg-center[_ngcontent-%COMP%]{text-align:center!important}}@media (min-width:1200px){.flex-xl-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-xl-column[_ngcontent-%COMP%]{flex-direction:column!important}.flex-xl-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-xl-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-xl-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-xl-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-xl-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.flex-xl-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-xl-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-xl-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-xl-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-xl-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.justify-content-xl-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-xl-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-xl-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-xl-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-xl-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-xl-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-xl-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-xl-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-xl-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-xl-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-xl-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-xl-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-xl-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-xl-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-xl-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-xl-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-xl-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-xl-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-xl-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-xl-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-xl-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-xl-stretch[_ngcontent-%COMP%]{align-self:stretch!important}.float-xl-left[_ngcontent-%COMP%]{float:left!important}.float-xl-right[_ngcontent-%COMP%]{float:right!important}.float-xl-none[_ngcontent-%COMP%]{float:none!important}.m-xl-0[_ngcontent-%COMP%]{margin:0!important}.mt-xl-0[_ngcontent-%COMP%], .my-xl-0[_ngcontent-%COMP%]{margin-top:0!important}.mr-xl-0[_ngcontent-%COMP%], .mx-xl-0[_ngcontent-%COMP%]{margin-right:0!important}.mb-xl-0[_ngcontent-%COMP%], .my-xl-0[_ngcontent-%COMP%]{margin-bottom:0!important}.ml-xl-0[_ngcontent-%COMP%], .mx-xl-0[_ngcontent-%COMP%]{margin-left:0!important}.m-xl-1[_ngcontent-%COMP%]{margin:.25rem!important}.mt-xl-1[_ngcontent-%COMP%], .my-xl-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mr-xl-1[_ngcontent-%COMP%], .mx-xl-1[_ngcontent-%COMP%]{margin-right:.25rem!important}.mb-xl-1[_ngcontent-%COMP%], .my-xl-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.ml-xl-1[_ngcontent-%COMP%], .mx-xl-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.m-xl-2[_ngcontent-%COMP%]{margin:.5rem!important}.mt-xl-2[_ngcontent-%COMP%], .my-xl-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mr-xl-2[_ngcontent-%COMP%], .mx-xl-2[_ngcontent-%COMP%]{margin-right:.5rem!important}.mb-xl-2[_ngcontent-%COMP%], .my-xl-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.ml-xl-2[_ngcontent-%COMP%], .mx-xl-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.m-xl-3[_ngcontent-%COMP%]{margin:1rem!important}.mt-xl-3[_ngcontent-%COMP%], .my-xl-3[_ngcontent-%COMP%]{margin-top:1rem!important}.mr-xl-3[_ngcontent-%COMP%], .mx-xl-3[_ngcontent-%COMP%]{margin-right:1rem!important}.mb-xl-3[_ngcontent-%COMP%], .my-xl-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.ml-xl-3[_ngcontent-%COMP%], .mx-xl-3[_ngcontent-%COMP%]{margin-left:1rem!important}.m-xl-4[_ngcontent-%COMP%]{margin:1.5rem!important}.mt-xl-4[_ngcontent-%COMP%], .my-xl-4[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mr-xl-4[_ngcontent-%COMP%], .mx-xl-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.mb-xl-4[_ngcontent-%COMP%], .my-xl-4[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.ml-xl-4[_ngcontent-%COMP%], .mx-xl-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.m-xl-5[_ngcontent-%COMP%]{margin:3rem!important}.mt-xl-5[_ngcontent-%COMP%], .my-xl-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mr-xl-5[_ngcontent-%COMP%], .mx-xl-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mb-xl-5[_ngcontent-%COMP%], .my-xl-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.ml-xl-5[_ngcontent-%COMP%], .mx-xl-5[_ngcontent-%COMP%]{margin-left:3rem!important}.p-xl-0[_ngcontent-%COMP%]{padding:0!important}.pt-xl-0[_ngcontent-%COMP%], .py-xl-0[_ngcontent-%COMP%]{padding-top:0!important}.pr-xl-0[_ngcontent-%COMP%], .px-xl-0[_ngcontent-%COMP%]{padding-right:0!important}.pb-xl-0[_ngcontent-%COMP%], .py-xl-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pl-xl-0[_ngcontent-%COMP%], .px-xl-0[_ngcontent-%COMP%]{padding-left:0!important}.p-xl-1[_ngcontent-%COMP%]{padding:.25rem!important}.pt-xl-1[_ngcontent-%COMP%], .py-xl-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pr-xl-1[_ngcontent-%COMP%], .px-xl-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.pb-xl-1[_ngcontent-%COMP%], .py-xl-1[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pl-xl-1[_ngcontent-%COMP%], .px-xl-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.p-xl-2[_ngcontent-%COMP%]{padding:.5rem!important}.pt-xl-2[_ngcontent-%COMP%], .py-xl-2[_ngcontent-%COMP%]{padding-top:.5rem!important}.pr-xl-2[_ngcontent-%COMP%], .px-xl-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.pb-xl-2[_ngcontent-%COMP%], .py-xl-2[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pl-xl-2[_ngcontent-%COMP%], .px-xl-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.p-xl-3[_ngcontent-%COMP%]{padding:1rem!important}.pt-xl-3[_ngcontent-%COMP%], .py-xl-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pr-xl-3[_ngcontent-%COMP%], .px-xl-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pb-xl-3[_ngcontent-%COMP%], .py-xl-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pl-xl-3[_ngcontent-%COMP%], .px-xl-3[_ngcontent-%COMP%]{padding-left:1rem!important}.p-xl-4[_ngcontent-%COMP%]{padding:1.5rem!important}.pt-xl-4[_ngcontent-%COMP%], .py-xl-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pr-xl-4[_ngcontent-%COMP%], .px-xl-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pb-xl-4[_ngcontent-%COMP%], .py-xl-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pl-xl-4[_ngcontent-%COMP%], .px-xl-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.p-xl-5[_ngcontent-%COMP%]{padding:3rem!important}.pt-xl-5[_ngcontent-%COMP%], .py-xl-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-xl-5[_ngcontent-%COMP%], .px-xl-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-xl-5[_ngcontent-%COMP%], .py-xl-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-xl-5[_ngcontent-%COMP%], .px-xl-5[_ngcontent-%COMP%]{padding-left:3rem!important}.m-xl-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.mt-xl-n1[_ngcontent-%COMP%], .my-xl-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mr-xl-n1[_ngcontent-%COMP%], .mx-xl-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mb-xl-n1[_ngcontent-%COMP%], .my-xl-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.ml-xl-n1[_ngcontent-%COMP%], .mx-xl-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.m-xl-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.mt-xl-n2[_ngcontent-%COMP%], .my-xl-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mr-xl-n2[_ngcontent-%COMP%], .mx-xl-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mb-xl-n2[_ngcontent-%COMP%], .my-xl-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.ml-xl-n2[_ngcontent-%COMP%], .mx-xl-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.m-xl-n3[_ngcontent-%COMP%]{margin:-1rem!important}.mt-xl-n3[_ngcontent-%COMP%], .my-xl-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mr-xl-n3[_ngcontent-%COMP%], .mx-xl-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mb-xl-n3[_ngcontent-%COMP%], .my-xl-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.ml-xl-n3[_ngcontent-%COMP%], .mx-xl-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.m-xl-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.mt-xl-n4[_ngcontent-%COMP%], .my-xl-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mr-xl-n4[_ngcontent-%COMP%], .mx-xl-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mb-xl-n4[_ngcontent-%COMP%], .my-xl-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.ml-xl-n4[_ngcontent-%COMP%], .mx-xl-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.m-xl-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mt-xl-n5[_ngcontent-%COMP%], .my-xl-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-xl-n5[_ngcontent-%COMP%], .mx-xl-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-xl-n5[_ngcontent-%COMP%], .my-xl-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-xl-n5[_ngcontent-%COMP%], .mx-xl-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.m-xl-auto[_ngcontent-%COMP%]{margin:auto!important}.mt-xl-auto[_ngcontent-%COMP%], .my-xl-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-xl-auto[_ngcontent-%COMP%], .mx-xl-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-xl-auto[_ngcontent-%COMP%], .my-xl-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-xl-auto[_ngcontent-%COMP%], .mx-xl-auto[_ngcontent-%COMP%]{margin-left:auto!important}.text-xl-left[_ngcontent-%COMP%]{text-align:left!important}.text-xl-right[_ngcontent-%COMP%]{text-align:right!important}.text-xl-center[_ngcontent-%COMP%]{text-align:center!important}}.text-lowercase[_ngcontent-%COMP%]{text-transform:lowercase!important}.text-uppercase[_ngcontent-%COMP%]{text-transform:uppercase!important}.text-capitalize[_ngcontent-%COMP%]{text-transform:capitalize!important}.font-weight-light[_ngcontent-%COMP%]{font-weight:300!important}.font-weight-lighter[_ngcontent-%COMP%]{font-weight:lighter!important}.font-weight-normal[_ngcontent-%COMP%]{font-weight:400!important}.font-weight-bold[_ngcontent-%COMP%]{font-weight:700!important}.font-weight-bolder[_ngcontent-%COMP%]{font-weight:bolder!important}.font-italic[_ngcontent-%COMP%]{font-style:italic!important}.text-white[_ngcontent-%COMP%]{color:#fff!important}.text-primary[_ngcontent-%COMP%]{color:#2b99a8!important}a.text-primary[_ngcontent-%COMP%]:focus, a.text-primary[_ngcontent-%COMP%]:hover{color:#1b626b!important}.text-secondary[_ngcontent-%COMP%]{color:#ef5c55!important}a.text-secondary[_ngcontent-%COMP%]:focus, a.text-secondary[_ngcontent-%COMP%]:hover{color:#e21f15!important}.text-success[_ngcontent-%COMP%]{color:#28a745!important}a.text-success[_ngcontent-%COMP%]:focus, a.text-success[_ngcontent-%COMP%]:hover{color:#19692c!important}.text-info[_ngcontent-%COMP%]{color:#17a2b8!important}a.text-info[_ngcontent-%COMP%]:focus, a.text-info[_ngcontent-%COMP%]:hover{color:#0f6674!important}.text-warning[_ngcontent-%COMP%]{color:#ffc107!important}a.text-warning[_ngcontent-%COMP%]:focus, a.text-warning[_ngcontent-%COMP%]:hover{color:#ba8b00!important}.text-danger[_ngcontent-%COMP%]{color:#dc3545!important}a.text-danger[_ngcontent-%COMP%]:focus, a.text-danger[_ngcontent-%COMP%]:hover{color:#a71d2a!important}.text-light[_ngcontent-%COMP%]{color:#f8f9fa!important}a.text-light[_ngcontent-%COMP%]:focus, a.text-light[_ngcontent-%COMP%]:hover{color:#cbd3da!important}.text-dark[_ngcontent-%COMP%]{color:#777!important}a.text-dark[_ngcontent-%COMP%]:focus, a.text-dark[_ngcontent-%COMP%]:hover{color:#515151!important}.text-body[_ngcontent-%COMP%]{color:#212529!important}.text-muted[_ngcontent-%COMP%]{color:#6c757d!important}.text-black-50[_ngcontent-%COMP%]{color:rgba(0,0,0,.5)!important}.text-white-50[_ngcontent-%COMP%]{color:rgba(255,255,255,.5)!important}.text-hide[_ngcontent-%COMP%]{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none[_ngcontent-%COMP%]{text-decoration:none!important}.text-break[_ngcontent-%COMP%]{word-break:break-word!important;overflow-wrap:break-word!important}.text-reset[_ngcontent-%COMP%]{color:inherit!important}.visible[_ngcontent-%COMP%]{visibility:visible!important}.invisible[_ngcontent-%COMP%]{visibility:hidden!important}@media print{*[_ngcontent-%COMP%], [_ngcontent-%COMP%]::after, [_ngcontent-%COMP%]::before{text-shadow:none!important;box-shadow:none!important}a[_ngcontent-%COMP%]:not(.btn){text-decoration:underline}abbr[title][_ngcontent-%COMP%]::after{content:" (" attr(title) ")"}pre[_ngcontent-%COMP%]{white-space:pre-wrap!important}blockquote[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]{border:1px solid #adb5bd;page-break-inside:avoid}thead[_ngcontent-%COMP%]{display:table-header-group}img[_ngcontent-%COMP%], tr[_ngcontent-%COMP%]{page-break-inside:avoid}h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%], p[_ngcontent-%COMP%]{orphans:3;widows:3}h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%]{page-break-after:avoid}@page{size:a3}.container[_ngcontent-%COMP%], body[_ngcontent-%COMP%]{min-width:992px!important}.navbar[_ngcontent-%COMP%]{display:none}.badge[_ngcontent-%COMP%]{border:1px solid #000}.table[_ngcontent-%COMP%]{border-collapse:collapse!important}.table[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{background-color:#fff!important}.table-bordered[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-bordered[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border:1px solid #dee2e6!important}.table-dark[_ngcontent-%COMP%]{color:inherit}.table-dark[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#dee2e6}.table[_ngcontent-%COMP%]   .thead-dark[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{color:inherit;border-color:#dee2e6}}@font-face{font-family:ForkAwesome;src:url(forkawesome-webfont.35e77a38ca9d85c4e897.eot?v=1.1.7);src:url(forkawesome-webfont.35e77a38ca9d85c4e897.eot?#iefix&v=1.1.7) format("embedded-opentype"),url(forkawesome-webfont.3a9e014c2469ffa65a0e.woff2?v=1.1.7) format("woff2"),url(forkawesome-webfont.44bbdbbfb5a10ba2d1ce.woff?v=1.1.7) format("woff"),url(forkawesome-webfont.fc46f3dae03b2b2e1cee.ttf?v=1.1.7) format("truetype"),url(forkawesome-webfont.78dcc9c4999659b8026a.svg?v=1.1.7#forkawesomeregular) format("svg");font-weight:400;font-style:normal}.fa[_ngcontent-%COMP%]{display:inline-block;font:normal normal normal 14px/1 ForkAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg[_ngcontent-%COMP%]{font-size:1.3333333333em;line-height:.75em;vertical-align:-15%}.fa-2x[_ngcontent-%COMP%]{font-size:2em}.fa-3x[_ngcontent-%COMP%]{font-size:3em}.fa-4x[_ngcontent-%COMP%]{font-size:4em}.fa-5x[_ngcontent-%COMP%]{font-size:5em}.fa[_ngcontent-%COMP%], .fa-fw[_ngcontent-%COMP%]{width:1.2857142857em;text-align:center}.fa-ul[_ngcontent-%COMP%]{padding-left:0;margin-left:2.1428571429em;list-style-type:none}.fa-ul[_ngcontent-%COMP%] > li[_ngcontent-%COMP%]{position:relative}.fa-li[_ngcontent-%COMP%]{position:absolute;left:-2.1428571429em;width:2.1428571429em;top:.1428571429em;text-align:center}.fa-li.fa-lg[_ngcontent-%COMP%]{left:-1.8571428571em}.fa-border[_ngcontent-%COMP%]{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left[_ngcontent-%COMP%]{float:left}.fa-pull-right[_ngcontent-%COMP%]{float:right}.fa.fa-pull-left[_ngcontent-%COMP%]{margin-right:.3em}.fa.fa-pull-right[_ngcontent-%COMP%]{margin-left:.3em}.pull-right[_ngcontent-%COMP%]{float:right}.pull-left[_ngcontent-%COMP%]{float:left}.fa.pull-left[_ngcontent-%COMP%]{margin-right:.3em}.fa.pull-right[_ngcontent-%COMP%]{margin-left:.3em}.fa-spin[_ngcontent-%COMP%]{animation:2s linear infinite fa-spin}.fa-pulse[_ngcontent-%COMP%]{animation:1s steps(8) infinite fa-spin}@keyframes fa-spin{0%{transform:rotate(0)}100%{transform:rotate(359deg)}}.fa-rotate-90[_ngcontent-%COMP%]{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180[_ngcontent-%COMP%]{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270[_ngcontent-%COMP%]{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal[_ngcontent-%COMP%]{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";transform:scale(-1,1)}.fa-flip-vertical[_ngcontent-%COMP%]{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";transform:scale(1,-1)}[_ngcontent-%COMP%]:root   .fa-flip-horizontal[_ngcontent-%COMP%], [_ngcontent-%COMP%]:root   .fa-flip-vertical[_ngcontent-%COMP%], [_ngcontent-%COMP%]:root   .fa-rotate-180[_ngcontent-%COMP%], [_ngcontent-%COMP%]:root   .fa-rotate-270[_ngcontent-%COMP%], [_ngcontent-%COMP%]:root   .fa-rotate-90[_ngcontent-%COMP%]{filter:none}.fa-stack[_ngcontent-%COMP%]{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x[_ngcontent-%COMP%], .fa-stack-2x[_ngcontent-%COMP%]{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x[_ngcontent-%COMP%]{line-height:inherit}.fa-stack-2x[_ngcontent-%COMP%]{font-size:2em}.fa-inverse[_ngcontent-%COMP%]{color:#fff}.fa-glass[_ngcontent-%COMP%]:before{content:""}.fa-music[_ngcontent-%COMP%]:before{content:""}.fa-search[_ngcontent-%COMP%]:before{content:""}.fa-envelope-o[_ngcontent-%COMP%]:before{content:""}.fa-heart[_ngcontent-%COMP%]:before{content:""}.fa-star[_ngcontent-%COMP%]:before{content:""}.fa-star-o[_ngcontent-%COMP%]:before{content:""}.fa-user[_ngcontent-%COMP%]:before{content:""}.fa-film[_ngcontent-%COMP%]:before{content:""}.fa-th-large[_ngcontent-%COMP%]:before{content:""}.fa-th[_ngcontent-%COMP%]:before{content:""}.fa-th-list[_ngcontent-%COMP%]:before{content:""}.fa-check[_ngcontent-%COMP%]:before{content:""}.fa-close[_ngcontent-%COMP%]:before, .fa-remove[_ngcontent-%COMP%]:before, .fa-times[_ngcontent-%COMP%]:before{content:""}.fa-search-plus[_ngcontent-%COMP%]:before{content:""}.fa-search-minus[_ngcontent-%COMP%]:before{content:""}.fa-power-off[_ngcontent-%COMP%]:before{content:""}.fa-signal[_ngcontent-%COMP%]:before{content:""}.fa-cog[_ngcontent-%COMP%]:before, .fa-gear[_ngcontent-%COMP%]:before{content:""}.fa-trash-o[_ngcontent-%COMP%]:before{content:""}.fa-home[_ngcontent-%COMP%]:before{content:""}.fa-file-o[_ngcontent-%COMP%]:before{content:""}.fa-clock-o[_ngcontent-%COMP%]:before{content:""}.fa-road[_ngcontent-%COMP%]:before{content:""}.fa-download[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-o-down[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-o-up[_ngcontent-%COMP%]:before{content:""}.fa-inbox[_ngcontent-%COMP%]:before{content:""}.fa-play-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-repeat[_ngcontent-%COMP%]:before, .fa-rotate-right[_ngcontent-%COMP%]:before{content:""}.fa-refresh[_ngcontent-%COMP%]:before, .fa-sync[_ngcontent-%COMP%]:before{content:""}.fa-list-alt[_ngcontent-%COMP%]:before{content:""}.fa-lock[_ngcontent-%COMP%]:before{content:""}.fa-flag[_ngcontent-%COMP%]:before{content:""}.fa-headphones[_ngcontent-%COMP%]:before{content:""}.fa-volume-off[_ngcontent-%COMP%]:before{content:""}.fa-volume-down[_ngcontent-%COMP%]:before{content:""}.fa-volume-up[_ngcontent-%COMP%]:before{content:""}.fa-qrcode[_ngcontent-%COMP%]:before{content:""}.fa-barcode[_ngcontent-%COMP%]:before{content:""}.fa-tag[_ngcontent-%COMP%]:before{content:""}.fa-tags[_ngcontent-%COMP%]:before{content:""}.fa-book[_ngcontent-%COMP%]:before{content:""}.fa-bookmark[_ngcontent-%COMP%]:before{content:""}.fa-print[_ngcontent-%COMP%]:before{content:""}.fa-camera[_ngcontent-%COMP%]:before{content:""}.fa-font[_ngcontent-%COMP%]:before{content:""}.fa-bold[_ngcontent-%COMP%]:before{content:""}.fa-italic[_ngcontent-%COMP%]:before{content:""}.fa-text-height[_ngcontent-%COMP%]:before{content:""}.fa-text-width[_ngcontent-%COMP%]:before{content:""}.fa-align-left[_ngcontent-%COMP%]:before{content:""}.fa-align-center[_ngcontent-%COMP%]:before{content:""}.fa-align-right[_ngcontent-%COMP%]:before{content:""}.fa-align-justify[_ngcontent-%COMP%]:before{content:""}.fa-list[_ngcontent-%COMP%]:before{content:""}.fa-dedent[_ngcontent-%COMP%]:before, .fa-outdent[_ngcontent-%COMP%]:before{content:""}.fa-indent[_ngcontent-%COMP%]:before{content:""}.fa-video-camera[_ngcontent-%COMP%]:before, .fa-video[_ngcontent-%COMP%]:before{content:""}.fa-image[_ngcontent-%COMP%]:before, .fa-photo[_ngcontent-%COMP%]:before, .fa-picture-o[_ngcontent-%COMP%]:before{content:""}.fa-pencil[_ngcontent-%COMP%]:before{content:""}.fa-map-marker[_ngcontent-%COMP%]:before{content:""}.fa-adjust[_ngcontent-%COMP%]:before{content:""}.fa-tint[_ngcontent-%COMP%]:before{content:""}.fa-edit[_ngcontent-%COMP%]:before, .fa-pencil-square-o[_ngcontent-%COMP%]:before{content:""}.fa-share-square-o[_ngcontent-%COMP%]:before{content:""}.fa-check-square-o[_ngcontent-%COMP%]:before{content:""}.fa-arrows[_ngcontent-%COMP%]:before{content:""}.fa-step-backward[_ngcontent-%COMP%]:before{content:""}.fa-fast-backward[_ngcontent-%COMP%]:before{content:""}.fa-backward[_ngcontent-%COMP%]:before{content:""}.fa-play[_ngcontent-%COMP%]:before{content:""}.fa-pause[_ngcontent-%COMP%]:before{content:""}.fa-stop[_ngcontent-%COMP%]:before{content:""}.fa-forward[_ngcontent-%COMP%]:before{content:""}.fa-fast-forward[_ngcontent-%COMP%]:before{content:""}.fa-step-forward[_ngcontent-%COMP%]:before{content:""}.fa-eject[_ngcontent-%COMP%]:before{content:""}.fa-chevron-left[_ngcontent-%COMP%]:before{content:""}.fa-chevron-right[_ngcontent-%COMP%]:before{content:""}.fa-plus-circle[_ngcontent-%COMP%]:before{content:""}.fa-minus-circle[_ngcontent-%COMP%]:before{content:""}.fa-times-circle[_ngcontent-%COMP%]:before{content:""}.fa-check-circle[_ngcontent-%COMP%]:before{content:""}.fa-question-circle[_ngcontent-%COMP%]:before{content:""}.fa-info-circle[_ngcontent-%COMP%]:before{content:""}.fa-crosshairs[_ngcontent-%COMP%]:before{content:""}.fa-times-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-check-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-ban[_ngcontent-%COMP%]:before{content:""}.fa-arrow-left[_ngcontent-%COMP%]:before{content:""}.fa-arrow-right[_ngcontent-%COMP%]:before{content:""}.fa-arrow-up[_ngcontent-%COMP%]:before{content:""}.fa-arrow-down[_ngcontent-%COMP%]:before{content:""}.fa-mail-forward[_ngcontent-%COMP%]:before, .fa-share[_ngcontent-%COMP%]:before{content:""}.fa-expand[_ngcontent-%COMP%]:before{content:""}.fa-compress[_ngcontent-%COMP%]:before{content:""}.fa-plus[_ngcontent-%COMP%]:before{content:""}.fa-minus[_ngcontent-%COMP%]:before{content:""}.fa-asterisk[_ngcontent-%COMP%]:before{content:""}.fa-exclamation-circle[_ngcontent-%COMP%]:before{content:""}.fa-gift[_ngcontent-%COMP%]:before{content:""}.fa-leaf[_ngcontent-%COMP%]:before{content:""}.fa-fire[_ngcontent-%COMP%]:before{content:""}.fa-eye[_ngcontent-%COMP%]:before{content:""}.fa-eye-slash[_ngcontent-%COMP%]:before{content:""}.fa-exclamation-triangle[_ngcontent-%COMP%]:before, .fa-warning[_ngcontent-%COMP%]:before{content:""}.fa-plane[_ngcontent-%COMP%]:before{content:""}.fa-calendar[_ngcontent-%COMP%]:before{content:""}.fa-random[_ngcontent-%COMP%]:before{content:""}.fa-comment[_ngcontent-%COMP%]:before{content:""}.fa-magnet[_ngcontent-%COMP%]:before{content:""}.fa-chevron-up[_ngcontent-%COMP%]:before{content:""}.fa-chevron-down[_ngcontent-%COMP%]:before{content:""}.fa-retweet[_ngcontent-%COMP%]:before{content:""}.fa-shopping-cart[_ngcontent-%COMP%]:before{content:""}.fa-folder[_ngcontent-%COMP%]:before{content:""}.fa-folder-open[_ngcontent-%COMP%]:before{content:""}.fa-arrows-v[_ngcontent-%COMP%]:before{content:""}.fa-arrows-h[_ngcontent-%COMP%]:before{content:""}.fa-bar-chart-o[_ngcontent-%COMP%]:before, .fa-bar-chart[_ngcontent-%COMP%]:before{content:""}.fa-twitter-square[_ngcontent-%COMP%]:before{content:""}.fa-facebook-square[_ngcontent-%COMP%]:before{content:""}.fa-camera-retro[_ngcontent-%COMP%]:before{content:""}.fa-key[_ngcontent-%COMP%]:before{content:""}.fa-cogs[_ngcontent-%COMP%]:before, .fa-gears[_ngcontent-%COMP%]:before{content:""}.fa-comments[_ngcontent-%COMP%]:before{content:""}.fa-thumbs-o-up[_ngcontent-%COMP%]:before{content:""}.fa-thumbs-o-down[_ngcontent-%COMP%]:before{content:""}.fa-star-half[_ngcontent-%COMP%]:before{content:""}.fa-heart-o[_ngcontent-%COMP%]:before{content:""}.fa-sign-out[_ngcontent-%COMP%]:before{content:""}.fa-linkedin-square[_ngcontent-%COMP%]:before{content:""}.fa-thumb-tack[_ngcontent-%COMP%]:before{content:""}.fa-external-link[_ngcontent-%COMP%]:before{content:""}.fa-sign-in[_ngcontent-%COMP%]:before{content:""}.fa-trophy[_ngcontent-%COMP%]:before{content:""}.fa-github-square[_ngcontent-%COMP%]:before{content:""}.fa-upload[_ngcontent-%COMP%]:before{content:""}.fa-lemon-o[_ngcontent-%COMP%]:before{content:""}.fa-phone[_ngcontent-%COMP%]:before{content:""}.fa-square-o[_ngcontent-%COMP%]:before{content:""}.fa-bookmark-o[_ngcontent-%COMP%]:before{content:""}.fa-phone-square[_ngcontent-%COMP%]:before{content:""}.fa-twitter[_ngcontent-%COMP%]:before{content:""}.fa-facebook-f[_ngcontent-%COMP%]:before, .fa-facebook[_ngcontent-%COMP%]:before{content:""}.fa-github[_ngcontent-%COMP%]:before{content:""}.fa-unlock[_ngcontent-%COMP%]:before{content:""}.fa-credit-card[_ngcontent-%COMP%]:before{content:""}.fa-feed[_ngcontent-%COMP%]:before, .fa-rss[_ngcontent-%COMP%]:before{content:""}.fa-hdd-o[_ngcontent-%COMP%]:before{content:""}.fa-bullhorn[_ngcontent-%COMP%]:before{content:""}.fa-bell-o[_ngcontent-%COMP%]:before{content:""}.fa-certificate[_ngcontent-%COMP%]:before{content:""}.fa-hand-o-right[_ngcontent-%COMP%]:before{content:""}.fa-hand-o-left[_ngcontent-%COMP%]:before{content:""}.fa-hand-o-up[_ngcontent-%COMP%]:before{content:""}.fa-hand-o-down[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-left[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-right[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-up[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-down[_ngcontent-%COMP%]:before{content:""}.fa-globe[_ngcontent-%COMP%]:before{content:""}.fa-globe-e[_ngcontent-%COMP%]:before{content:""}.fa-globe-w[_ngcontent-%COMP%]:before{content:""}.fa-wrench[_ngcontent-%COMP%]:before{content:""}.fa-tasks[_ngcontent-%COMP%]:before{content:""}.fa-filter[_ngcontent-%COMP%]:before{content:""}.fa-briefcase[_ngcontent-%COMP%]:before{content:""}.fa-arrows-alt[_ngcontent-%COMP%]:before{content:""}.fa-community[_ngcontent-%COMP%]:before, .fa-group[_ngcontent-%COMP%]:before, .fa-users[_ngcontent-%COMP%]:before{content:""}.fa-chain[_ngcontent-%COMP%]:before, .fa-link[_ngcontent-%COMP%]:before{content:""}.fa-cloud[_ngcontent-%COMP%]:before{content:""}.fa-flask[_ngcontent-%COMP%]:before{content:""}.fa-cut[_ngcontent-%COMP%]:before, .fa-scissors[_ngcontent-%COMP%]:before{content:""}.fa-copy[_ngcontent-%COMP%]:before, .fa-files-o[_ngcontent-%COMP%]:before{content:""}.fa-paperclip[_ngcontent-%COMP%]:before{content:""}.fa-floppy-o[_ngcontent-%COMP%]:before, .fa-save[_ngcontent-%COMP%]:before{content:""}.fa-square[_ngcontent-%COMP%]:before{content:""}.fa-bars[_ngcontent-%COMP%]:before, .fa-navicon[_ngcontent-%COMP%]:before, .fa-reorder[_ngcontent-%COMP%]:before{content:""}.fa-list-ul[_ngcontent-%COMP%]:before{content:""}.fa-list-ol[_ngcontent-%COMP%]:before{content:""}.fa-strikethrough[_ngcontent-%COMP%]:before{content:""}.fa-underline[_ngcontent-%COMP%]:before{content:""}.fa-table[_ngcontent-%COMP%]:before{content:""}.fa-magic[_ngcontent-%COMP%]:before{content:""}.fa-truck[_ngcontent-%COMP%]:before{content:""}.fa-pinterest[_ngcontent-%COMP%]:before{content:""}.fa-pinterest-square[_ngcontent-%COMP%]:before{content:""}.fa-google-plus-square[_ngcontent-%COMP%]:before{content:""}.fa-google-plus-g[_ngcontent-%COMP%]:before, .fa-google-plus[_ngcontent-%COMP%]:before{content:""}.fa-money[_ngcontent-%COMP%]:before{content:""}.fa-caret-down[_ngcontent-%COMP%]:before{content:""}.fa-caret-up[_ngcontent-%COMP%]:before{content:""}.fa-caret-left[_ngcontent-%COMP%]:before{content:""}.fa-caret-right[_ngcontent-%COMP%]:before{content:""}.fa-columns[_ngcontent-%COMP%]:before{content:""}.fa-sort[_ngcontent-%COMP%]:before, .fa-unsorted[_ngcontent-%COMP%]:before{content:""}.fa-sort-desc[_ngcontent-%COMP%]:before, .fa-sort-down[_ngcontent-%COMP%]:before{content:""}.fa-sort-asc[_ngcontent-%COMP%]:before, .fa-sort-up[_ngcontent-%COMP%]:before{content:""}.fa-envelope[_ngcontent-%COMP%]:before{content:""}.fa-linkedin[_ngcontent-%COMP%]:before{content:""}.fa-rotate-left[_ngcontent-%COMP%]:before, .fa-undo[_ngcontent-%COMP%]:before{content:""}.fa-gavel[_ngcontent-%COMP%]:before, .fa-legal[_ngcontent-%COMP%]:before{content:""}.fa-dashboard[_ngcontent-%COMP%]:before, .fa-tachometer[_ngcontent-%COMP%]:before{content:""}.fa-comment-o[_ngcontent-%COMP%]:before{content:""}.fa-comments-o[_ngcontent-%COMP%]:before{content:""}.fa-bolt[_ngcontent-%COMP%]:before, .fa-flash[_ngcontent-%COMP%]:before{content:""}.fa-sitemap[_ngcontent-%COMP%]:before{content:""}.fa-umbrella[_ngcontent-%COMP%]:before{content:""}.fa-clipboard[_ngcontent-%COMP%]:before, .fa-paste[_ngcontent-%COMP%]:before{content:""}.fa-lightbulb-o[_ngcontent-%COMP%]:before{content:""}.fa-exchange[_ngcontent-%COMP%]:before{content:""}.fa-cloud-download[_ngcontent-%COMP%]:before{content:""}.fa-cloud-upload[_ngcontent-%COMP%]:before{content:""}.fa-user-md[_ngcontent-%COMP%]:before{content:""}.fa-stethoscope[_ngcontent-%COMP%]:before{content:""}.fa-suitcase[_ngcontent-%COMP%]:before{content:""}.fa-bell[_ngcontent-%COMP%]:before{content:""}.fa-coffee[_ngcontent-%COMP%]:before{content:""}.fa-cutlery[_ngcontent-%COMP%]:before, .fa-utensils[_ngcontent-%COMP%]:before{content:""}.fa-file-text-o[_ngcontent-%COMP%]:before{content:""}.fa-building-o[_ngcontent-%COMP%]:before{content:""}.fa-hospital-o[_ngcontent-%COMP%]:before{content:""}.fa-ambulance[_ngcontent-%COMP%]:before{content:""}.fa-medkit[_ngcontent-%COMP%]:before{content:""}.fa-fighter-jet[_ngcontent-%COMP%]:before{content:""}.fa-beer[_ngcontent-%COMP%]:before{content:""}.fa-h-square[_ngcontent-%COMP%]:before{content:""}.fa-plus-square[_ngcontent-%COMP%]:before{content:""}.fa-angle-double-left[_ngcontent-%COMP%]:before{content:""}.fa-angle-double-right[_ngcontent-%COMP%]:before{content:""}.fa-angle-double-up[_ngcontent-%COMP%]:before{content:""}.fa-angle-double-down[_ngcontent-%COMP%]:before{content:""}.fa-angle-left[_ngcontent-%COMP%]:before{content:""}.fa-angle-right[_ngcontent-%COMP%]:before{content:""}.fa-angle-up[_ngcontent-%COMP%]:before{content:""}.fa-angle-down[_ngcontent-%COMP%]:before{content:""}.fa-desktop[_ngcontent-%COMP%]:before{content:""}.fa-laptop[_ngcontent-%COMP%]:before{content:""}.fa-tablet[_ngcontent-%COMP%]:before{content:""}.fa-mobile-phone[_ngcontent-%COMP%]:before, .fa-mobile[_ngcontent-%COMP%]:before{content:""}.fa-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-quote-left[_ngcontent-%COMP%]:before{content:""}.fa-quote-right[_ngcontent-%COMP%]:before{content:""}.fa-spinner[_ngcontent-%COMP%]:before{content:""}.fa-circle[_ngcontent-%COMP%]:before{content:""}.fa-mail-reply[_ngcontent-%COMP%]:before, .fa-reply[_ngcontent-%COMP%]:before{content:""}.fa-github-alt[_ngcontent-%COMP%]:before{content:""}.fa-folder-o[_ngcontent-%COMP%]:before{content:""}.fa-folder-open-o[_ngcontent-%COMP%]:before{content:""}.fa-smile-o[_ngcontent-%COMP%]:before{content:""}.fa-frown-o[_ngcontent-%COMP%]:before{content:""}.fa-meh-o[_ngcontent-%COMP%]:before{content:""}.fa-gamepad[_ngcontent-%COMP%]:before{content:""}.fa-keyboard-o[_ngcontent-%COMP%]:before{content:""}.fa-flag-o[_ngcontent-%COMP%]:before{content:""}.fa-flag-checkered[_ngcontent-%COMP%]:before{content:""}.fa-terminal[_ngcontent-%COMP%]:before{content:""}.fa-code[_ngcontent-%COMP%]:before{content:""}.fa-mail-reply-all[_ngcontent-%COMP%]:before, .fa-reply-all[_ngcontent-%COMP%]:before{content:""}.fa-star-half-empty[_ngcontent-%COMP%]:before, .fa-star-half-full[_ngcontent-%COMP%]:before, .fa-star-half-o[_ngcontent-%COMP%]:before{content:""}.fa-location-arrow[_ngcontent-%COMP%]:before{content:""}.fa-crop[_ngcontent-%COMP%]:before{content:""}.fa-code-fork[_ngcontent-%COMP%]:before{content:""}.fa-chain-broken[_ngcontent-%COMP%]:before, .fa-unlink[_ngcontent-%COMP%]:before{content:""}.fa-question[_ngcontent-%COMP%]:before{content:""}.fa-info[_ngcontent-%COMP%]:before{content:""}.fa-exclamation[_ngcontent-%COMP%]:before{content:""}.fa-superscript[_ngcontent-%COMP%]:before{content:""}.fa-subscript[_ngcontent-%COMP%]:before{content:""}.fa-eraser[_ngcontent-%COMP%]:before{content:""}.fa-puzzle-piece[_ngcontent-%COMP%]:before{content:""}.fa-microphone[_ngcontent-%COMP%]:before{content:""}.fa-microphone-slash[_ngcontent-%COMP%]:before{content:""}.fa-shield[_ngcontent-%COMP%]:before{content:""}.fa-calendar-o[_ngcontent-%COMP%]:before{content:""}.fa-fire-extinguisher[_ngcontent-%COMP%]:before{content:""}.fa-rocket[_ngcontent-%COMP%]:before{content:""}.fa-maxcdn[_ngcontent-%COMP%]:before{content:""}.fa-chevron-circle-left[_ngcontent-%COMP%]:before{content:""}.fa-chevron-circle-right[_ngcontent-%COMP%]:before{content:""}.fa-chevron-circle-up[_ngcontent-%COMP%]:before{content:""}.fa-chevron-circle-down[_ngcontent-%COMP%]:before{content:""}.fa-html5[_ngcontent-%COMP%]:before{content:""}.fa-css3[_ngcontent-%COMP%]:before{content:""}.fa-anchor[_ngcontent-%COMP%]:before{content:""}.fa-unlock-alt[_ngcontent-%COMP%]:before{content:""}.fa-bullseye[_ngcontent-%COMP%]:before{content:""}.fa-ellipsis-h[_ngcontent-%COMP%]:before{content:""}.fa-ellipsis-v[_ngcontent-%COMP%]:before{content:""}.fa-rss-square[_ngcontent-%COMP%]:before{content:""}.fa-play-circle[_ngcontent-%COMP%]:before{content:""}.fa-ticket[_ngcontent-%COMP%]:before{content:""}.fa-minus-square[_ngcontent-%COMP%]:before{content:""}.fa-minus-square-o[_ngcontent-%COMP%]:before{content:""}.fa-level-up[_ngcontent-%COMP%]:before{content:""}.fa-level-down[_ngcontent-%COMP%]:before{content:""}.fa-check-square[_ngcontent-%COMP%]:before{content:""}.fa-pencil-square[_ngcontent-%COMP%]:before{content:""}.fa-external-link-square[_ngcontent-%COMP%]:before{content:""}.fa-share-square[_ngcontent-%COMP%]:before{content:""}.fa-compass[_ngcontent-%COMP%]:before{content:""}.fa-caret-square-o-down[_ngcontent-%COMP%]:before, .fa-toggle-down[_ngcontent-%COMP%]:before{content:""}.fa-caret-square-o-up[_ngcontent-%COMP%]:before, .fa-toggle-up[_ngcontent-%COMP%]:before{content:""}.fa-caret-square-o-right[_ngcontent-%COMP%]:before, .fa-toggle-right[_ngcontent-%COMP%]:before{content:""}.fa-eur[_ngcontent-%COMP%]:before, .fa-euro[_ngcontent-%COMP%]:before{content:""}.fa-gbp[_ngcontent-%COMP%]:before, .fa-pound[_ngcontent-%COMP%]:before{content:""}.fa-dollar[_ngcontent-%COMP%]:before, .fa-usd[_ngcontent-%COMP%]:before{content:""}.fa-inr[_ngcontent-%COMP%]:before, .fa-rupee[_ngcontent-%COMP%]:before{content:""}.fa-cny[_ngcontent-%COMP%]:before, .fa-jpy[_ngcontent-%COMP%]:before, .fa-rmb[_ngcontent-%COMP%]:before, .fa-yen[_ngcontent-%COMP%]:before{content:""}.fa-rouble[_ngcontent-%COMP%]:before, .fa-rub[_ngcontent-%COMP%]:before, .fa-ruble[_ngcontent-%COMP%]:before{content:""}.fa-krw[_ngcontent-%COMP%]:before, .fa-won[_ngcontent-%COMP%]:before{content:""}.fa-bitcoin[_ngcontent-%COMP%]:before, .fa-btc[_ngcontent-%COMP%]:before{content:""}.fa-file[_ngcontent-%COMP%]:before{content:""}.fa-file-text[_ngcontent-%COMP%]:before{content:""}.fa-sort-alpha-asc[_ngcontent-%COMP%]:before, .fa-sort-alpha-down[_ngcontent-%COMP%]:before{content:""}.fa-sort-alpha-desc[_ngcontent-%COMP%]:before, .fa-sort-alpha-up[_ngcontent-%COMP%]:before{content:""}.fa-sort-amount-asc[_ngcontent-%COMP%]:before, .fa-sort-amount-down[_ngcontent-%COMP%]:before{content:""}.fa-sort-amount-desc[_ngcontent-%COMP%]:before, .fa-sort-amount-up[_ngcontent-%COMP%]:before{content:""}.fa-sort-numeric-asc[_ngcontent-%COMP%]:before, .fa-sort-numeric-down[_ngcontent-%COMP%]:before{content:""}.fa-sort-numeric-desc[_ngcontent-%COMP%]:before, .fa-sort-numeric-up[_ngcontent-%COMP%]:before{content:""}.fa-thumbs-up[_ngcontent-%COMP%]:before{content:""}.fa-thumbs-down[_ngcontent-%COMP%]:before{content:""}.fa-youtube-square[_ngcontent-%COMP%]:before{content:""}.fa-youtube[_ngcontent-%COMP%]:before{content:""}.fa-xing[_ngcontent-%COMP%]:before{content:""}.fa-xing-square[_ngcontent-%COMP%]:before{content:""}.fa-youtube-play[_ngcontent-%COMP%]:before{content:""}.fa-dropbox[_ngcontent-%COMP%]:before{content:""}.fa-stack-overflow[_ngcontent-%COMP%]:before{content:""}.fa-instagram[_ngcontent-%COMP%]:before{content:""}.fa-flickr[_ngcontent-%COMP%]:before{content:""}.fa-adn[_ngcontent-%COMP%]:before{content:""}.fa-bitbucket[_ngcontent-%COMP%]:before{content:""}.fa-bitbucket-square[_ngcontent-%COMP%]:before{content:""}.fa-tumblr[_ngcontent-%COMP%]:before{content:""}.fa-tumblr-square[_ngcontent-%COMP%]:before{content:""}.fa-long-arrow-down[_ngcontent-%COMP%]:before{content:""}.fa-long-arrow-up[_ngcontent-%COMP%]:before{content:""}.fa-long-arrow-left[_ngcontent-%COMP%]:before{content:""}.fa-long-arrow-right[_ngcontent-%COMP%]:before{content:""}.fa-apple[_ngcontent-%COMP%]:before{content:""}.fa-windows[_ngcontent-%COMP%]:before{content:""}.fa-android[_ngcontent-%COMP%]:before{content:""}.fa-linux[_ngcontent-%COMP%]:before{content:""}.fa-dribbble[_ngcontent-%COMP%]:before{content:""}.fa-skype[_ngcontent-%COMP%]:before{content:""}.fa-foursquare[_ngcontent-%COMP%]:before{content:""}.fa-trello[_ngcontent-%COMP%]:before{content:""}.fa-female[_ngcontent-%COMP%]:before{content:""}.fa-male[_ngcontent-%COMP%]:before{content:""}.fa-gittip[_ngcontent-%COMP%]:before, .fa-gratipay[_ngcontent-%COMP%]:before{content:""}.fa-sun-o[_ngcontent-%COMP%]:before{content:""}.fa-moon-o[_ngcontent-%COMP%]:before{content:""}.fa-archive[_ngcontent-%COMP%]:before{content:""}.fa-bug[_ngcontent-%COMP%]:before{content:""}.fa-vk[_ngcontent-%COMP%]:before{content:""}.fa-weibo[_ngcontent-%COMP%]:before{content:""}.fa-renren[_ngcontent-%COMP%]:before{content:""}.fa-pagelines[_ngcontent-%COMP%]:before{content:""}.fa-stack-exchange[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-o-right[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-o-left[_ngcontent-%COMP%]:before{content:""}.fa-caret-square-o-left[_ngcontent-%COMP%]:before, .fa-toggle-left[_ngcontent-%COMP%]:before{content:""}.fa-dot-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-wheelchair[_ngcontent-%COMP%]:before{content:""}.fa-vimeo-square[_ngcontent-%COMP%]:before{content:""}.fa-try[_ngcontent-%COMP%]:before, .fa-turkish-lira[_ngcontent-%COMP%]:before{content:""}.fa-plus-square-o[_ngcontent-%COMP%]:before{content:""}.fa-space-shuttle[_ngcontent-%COMP%]:before{content:""}.fa-slack[_ngcontent-%COMP%]:before{content:""}.fa-envelope-square[_ngcontent-%COMP%]:before{content:""}.fa-wordpress[_ngcontent-%COMP%]:before{content:""}.fa-openid[_ngcontent-%COMP%]:before{content:""}.fa-bank[_ngcontent-%COMP%]:before, .fa-institution[_ngcontent-%COMP%]:before, .fa-university[_ngcontent-%COMP%]:before{content:""}.fa-graduation-cap[_ngcontent-%COMP%]:before, .fa-mortar-board[_ngcontent-%COMP%]:before{content:""}.fa-yahoo[_ngcontent-%COMP%]:before{content:""}.fa-google[_ngcontent-%COMP%]:before{content:""}.fa-reddit[_ngcontent-%COMP%]:before{content:""}.fa-reddit-square[_ngcontent-%COMP%]:before{content:""}.fa-stumbleupon-circle[_ngcontent-%COMP%]:before{content:""}.fa-stumbleupon[_ngcontent-%COMP%]:before{content:""}.fa-delicious[_ngcontent-%COMP%]:before{content:""}.fa-digg[_ngcontent-%COMP%]:before{content:""}.fa-drupal[_ngcontent-%COMP%]:before{content:""}.fa-joomla[_ngcontent-%COMP%]:before{content:""}.fa-language[_ngcontent-%COMP%]:before{content:""}.fa-fax[_ngcontent-%COMP%]:before{content:""}.fa-building[_ngcontent-%COMP%]:before{content:""}.fa-child[_ngcontent-%COMP%]:before{content:""}.fa-paw[_ngcontent-%COMP%]:before{content:""}.fa-spoon[_ngcontent-%COMP%]:before, .fa-utensil-spoon[_ngcontent-%COMP%]:before{content:""}.fa-cube[_ngcontent-%COMP%]:before{content:""}.fa-cubes[_ngcontent-%COMP%]:before{content:""}.fa-behance[_ngcontent-%COMP%]:before{content:""}.fa-behance-square[_ngcontent-%COMP%]:before{content:""}.fa-steam[_ngcontent-%COMP%]:before{content:""}.fa-steam-square[_ngcontent-%COMP%]:before{content:""}.fa-recycle[_ngcontent-%COMP%]:before{content:""}.fa-automobile[_ngcontent-%COMP%]:before, .fa-car[_ngcontent-%COMP%]:before{content:""}.fa-cab[_ngcontent-%COMP%]:before, .fa-taxi[_ngcontent-%COMP%]:before{content:""}.fa-tree[_ngcontent-%COMP%]:before{content:""}.fa-spotify[_ngcontent-%COMP%]:before{content:""}.fa-deviantart[_ngcontent-%COMP%]:before{content:""}.fa-soundcloud[_ngcontent-%COMP%]:before{content:""}.fa-database[_ngcontent-%COMP%]:before{content:""}.fa-file-pdf-o[_ngcontent-%COMP%]:before{content:""}.fa-file-word-o[_ngcontent-%COMP%]:before{content:""}.fa-file-excel-o[_ngcontent-%COMP%]:before{content:""}.fa-file-powerpoint-o[_ngcontent-%COMP%]:before{content:""}.fa-file-image-o[_ngcontent-%COMP%]:before, .fa-file-photo-o[_ngcontent-%COMP%]:before, .fa-file-picture-o[_ngcontent-%COMP%]:before{content:""}.fa-file-archive-o[_ngcontent-%COMP%]:before, .fa-file-zip-o[_ngcontent-%COMP%]:before{content:""}.fa-file-audio-o[_ngcontent-%COMP%]:before, .fa-file-sound-o[_ngcontent-%COMP%]:before{content:""}.fa-file-movie-o[_ngcontent-%COMP%]:before, .fa-file-video-o[_ngcontent-%COMP%]:before{content:""}.fa-file-code-o[_ngcontent-%COMP%]:before{content:""}.fa-vine[_ngcontent-%COMP%]:before{content:""}.fa-codepen[_ngcontent-%COMP%]:before{content:""}.fa-jsfiddle[_ngcontent-%COMP%]:before{content:""}.fa-life-bouy[_ngcontent-%COMP%]:before, .fa-life-buoy[_ngcontent-%COMP%]:before, .fa-life-ring[_ngcontent-%COMP%]:before, .fa-life-saver[_ngcontent-%COMP%]:before, .fa-support[_ngcontent-%COMP%]:before{content:""}.fa-circle-o-notch[_ngcontent-%COMP%]:before{content:""}.fa-ra[_ngcontent-%COMP%]:before, .fa-rebel[_ngcontent-%COMP%]:before, .fa-resistance[_ngcontent-%COMP%]:before{content:""}.fa-empire[_ngcontent-%COMP%]:before, .fa-ge[_ngcontent-%COMP%]:before{content:""}.fa-git-square[_ngcontent-%COMP%]:before{content:""}.fa-git[_ngcontent-%COMP%]:before{content:""}.fa-hacker-news[_ngcontent-%COMP%]:before, .fa-y-combinator-square[_ngcontent-%COMP%]:before, .fa-yc-square[_ngcontent-%COMP%]:before{content:""}.fa-tencent-weibo[_ngcontent-%COMP%]:before{content:""}.fa-qq[_ngcontent-%COMP%]:before{content:""}.fa-wechat[_ngcontent-%COMP%]:before, .fa-weixin[_ngcontent-%COMP%]:before{content:""}.fa-paper-plane[_ngcontent-%COMP%]:before, .fa-send[_ngcontent-%COMP%]:before{content:""}.fa-paper-plane-o[_ngcontent-%COMP%]:before, .fa-send-o[_ngcontent-%COMP%]:before{content:""}.fa-history[_ngcontent-%COMP%]:before{content:""}.fa-circle-thin[_ngcontent-%COMP%]:before{content:""}.fa-header[_ngcontent-%COMP%]:before, .fa-heading[_ngcontent-%COMP%]:before{content:""}.fa-paragraph[_ngcontent-%COMP%]:before{content:""}.fa-sliders[_ngcontent-%COMP%]:before{content:""}.fa-share-alt[_ngcontent-%COMP%]:before{content:""}.fa-share-alt-square[_ngcontent-%COMP%]:before{content:""}.fa-bomb[_ngcontent-%COMP%]:before{content:""}.fa-futbol-o[_ngcontent-%COMP%]:before, .fa-soccer-ball-o[_ngcontent-%COMP%]:before{content:""}.fa-tty[_ngcontent-%COMP%]:before{content:""}.fa-binoculars[_ngcontent-%COMP%]:before{content:""}.fa-plug[_ngcontent-%COMP%]:before{content:""}.fa-slideshare[_ngcontent-%COMP%]:before{content:""}.fa-twitch[_ngcontent-%COMP%]:before{content:""}.fa-yelp[_ngcontent-%COMP%]:before{content:""}.fa-newspaper-o[_ngcontent-%COMP%]:before{content:""}.fa-wifi[_ngcontent-%COMP%]:before{content:""}.fa-calculator[_ngcontent-%COMP%]:before{content:""}.fa-paypal[_ngcontent-%COMP%]:before{content:""}.fa-google-wallet[_ngcontent-%COMP%]:before{content:""}.fa-cc-visa[_ngcontent-%COMP%]:before{content:""}.fa-cc-mastercard[_ngcontent-%COMP%]:before{content:""}.fa-cc-discover[_ngcontent-%COMP%]:before{content:""}.fa-cc-amex[_ngcontent-%COMP%]:before{content:""}.fa-cc-paypal[_ngcontent-%COMP%]:before{content:""}.fa-cc-stripe[_ngcontent-%COMP%]:before{content:""}.fa-bell-slash[_ngcontent-%COMP%]:before{content:""}.fa-bell-slash-o[_ngcontent-%COMP%]:before{content:""}.fa-trash[_ngcontent-%COMP%]:before{content:""}.fa-copyright[_ngcontent-%COMP%]:before{content:""}.fa-at[_ngcontent-%COMP%]:before{content:""}.fa-eyedropper[_ngcontent-%COMP%]:before{content:""}.fa-paint-brush[_ngcontent-%COMP%]:before{content:""}.fa-birthday-cake[_ngcontent-%COMP%]:before{content:""}.fa-area-chart[_ngcontent-%COMP%]:before{content:""}.fa-pie-chart[_ngcontent-%COMP%]:before{content:""}.fa-line-chart[_ngcontent-%COMP%]:before{content:""}.fa-lastfm[_ngcontent-%COMP%]:before{content:""}.fa-lastfm-square[_ngcontent-%COMP%]:before{content:""}.fa-toggle-off[_ngcontent-%COMP%]:before{content:""}.fa-toggle-on[_ngcontent-%COMP%]:before{content:""}.fa-bicycle[_ngcontent-%COMP%]:before{content:""}.fa-bus[_ngcontent-%COMP%]:before{content:""}.fa-ioxhost[_ngcontent-%COMP%]:before{content:""}.fa-angellist[_ngcontent-%COMP%]:before{content:""}.fa-cc[_ngcontent-%COMP%]:before, .fa-closed-captioning[_ngcontent-%COMP%]:before{content:""}.fa-ils[_ngcontent-%COMP%]:before, .fa-shekel[_ngcontent-%COMP%]:before, .fa-sheqel[_ngcontent-%COMP%]:before{content:""}.fa-meanpath[_ngcontent-%COMP%]:before{content:""}.fa-buysellads[_ngcontent-%COMP%]:before{content:""}.fa-connectdevelop[_ngcontent-%COMP%]:before{content:""}.fa-dashcube[_ngcontent-%COMP%]:before{content:""}.fa-forumbee[_ngcontent-%COMP%]:before{content:""}.fa-leanpub[_ngcontent-%COMP%]:before{content:""}.fa-sellsy[_ngcontent-%COMP%]:before{content:""}.fa-shirtsinbulk[_ngcontent-%COMP%]:before{content:""}.fa-simplybuilt[_ngcontent-%COMP%]:before{content:""}.fa-skyatlas[_ngcontent-%COMP%]:before{content:""}.fa-cart-plus[_ngcontent-%COMP%]:before{content:""}.fa-cart-arrow-down[_ngcontent-%COMP%]:before{content:""}.fa-diamond[_ngcontent-%COMP%]:before, .fa-gem[_ngcontent-%COMP%]:before{content:""}.fa-ship[_ngcontent-%COMP%]:before{content:""}.fa-user-secret[_ngcontent-%COMP%]:before{content:""}.fa-motorcycle[_ngcontent-%COMP%]:before{content:""}.fa-street-view[_ngcontent-%COMP%]:before{content:""}.fa-heartbeat[_ngcontent-%COMP%]:before{content:""}.fa-venus[_ngcontent-%COMP%]:before{content:""}.fa-mars[_ngcontent-%COMP%]:before{content:""}.fa-mercury[_ngcontent-%COMP%]:before{content:""}.fa-intersex[_ngcontent-%COMP%]:before, .fa-transgender[_ngcontent-%COMP%]:before{content:""}.fa-transgender-alt[_ngcontent-%COMP%]:before{content:""}.fa-venus-double[_ngcontent-%COMP%]:before{content:""}.fa-mars-double[_ngcontent-%COMP%]:before{content:""}.fa-venus-mars[_ngcontent-%COMP%]:before{content:""}.fa-mars-stroke[_ngcontent-%COMP%]:before{content:""}.fa-mars-stroke-v[_ngcontent-%COMP%]:before{content:""}.fa-mars-stroke-h[_ngcontent-%COMP%]:before{content:""}.fa-neuter[_ngcontent-%COMP%]:before{content:""}.fa-genderless[_ngcontent-%COMP%]:before{content:""}.fa-facebook-official[_ngcontent-%COMP%]:before{content:""}.fa-pinterest-p[_ngcontent-%COMP%]:before{content:""}.fa-whatsapp[_ngcontent-%COMP%]:before{content:""}.fa-server[_ngcontent-%COMP%]:before{content:""}.fa-user-plus[_ngcontent-%COMP%]:before{content:""}.fa-user-times[_ngcontent-%COMP%]:before{content:""}.fa-bed[_ngcontent-%COMP%]:before, .fa-hotel[_ngcontent-%COMP%]:before{content:""}.fa-viacoin[_ngcontent-%COMP%]:before{content:""}.fa-train[_ngcontent-%COMP%]:before{content:""}.fa-subway[_ngcontent-%COMP%]:before{content:""}.fa-medium[_ngcontent-%COMP%]:before{content:""}.fa-medium-square[_ngcontent-%COMP%]:before{content:""}.fa-y-combinator[_ngcontent-%COMP%]:before, .fa-yc[_ngcontent-%COMP%]:before{content:""}.fa-optin-monster[_ngcontent-%COMP%]:before{content:""}.fa-opencart[_ngcontent-%COMP%]:before{content:""}.fa-expeditedssl[_ngcontent-%COMP%]:before{content:""}.fa-battery-4[_ngcontent-%COMP%]:before, .fa-battery-full[_ngcontent-%COMP%]:before, .fa-battery[_ngcontent-%COMP%]:before{content:""}.fa-battery-3[_ngcontent-%COMP%]:before, .fa-battery-three-quarters[_ngcontent-%COMP%]:before{content:""}.fa-battery-2[_ngcontent-%COMP%]:before, .fa-battery-half[_ngcontent-%COMP%]:before{content:""}.fa-battery-1[_ngcontent-%COMP%]:before, .fa-battery-quarter[_ngcontent-%COMP%]:before{content:""}.fa-battery-0[_ngcontent-%COMP%]:before, .fa-battery-empty[_ngcontent-%COMP%]:before{content:""}.fa-mouse-pointer[_ngcontent-%COMP%]:before{content:""}.fa-i-cursor[_ngcontent-%COMP%]:before{content:""}.fa-object-group[_ngcontent-%COMP%]:before{content:""}.fa-object-ungroup[_ngcontent-%COMP%]:before{content:""}.fa-sticky-note[_ngcontent-%COMP%]:before{content:""}.fa-sticky-note-o[_ngcontent-%COMP%]:before{content:""}.fa-cc-jcb[_ngcontent-%COMP%]:before{content:""}.fa-cc-diners-club[_ngcontent-%COMP%]:before{content:""}.fa-clone[_ngcontent-%COMP%]:before{content:""}.fa-balance-scale[_ngcontent-%COMP%]:before{content:""}.fa-hourglass-o[_ngcontent-%COMP%]:before{content:""}.fa-hourglass-1[_ngcontent-%COMP%]:before, .fa-hourglass-start[_ngcontent-%COMP%]:before{content:""}.fa-hourglass-2[_ngcontent-%COMP%]:before, .fa-hourglass-half[_ngcontent-%COMP%]:before{content:""}.fa-hourglass-3[_ngcontent-%COMP%]:before, .fa-hourglass-end[_ngcontent-%COMP%]:before{content:""}.fa-hourglass[_ngcontent-%COMP%]:before{content:""}.fa-hand-grab-o[_ngcontent-%COMP%]:before, .fa-hand-rock-o[_ngcontent-%COMP%]:before{content:""}.fa-hand-paper-o[_ngcontent-%COMP%]:before, .fa-hand-stop-o[_ngcontent-%COMP%]:before{content:""}.fa-hand-scissors-o[_ngcontent-%COMP%]:before{content:""}.fa-hand-lizard-o[_ngcontent-%COMP%]:before{content:""}.fa-hand-spock-o[_ngcontent-%COMP%]:before{content:""}.fa-hand-pointer-o[_ngcontent-%COMP%]:before{content:""}.fa-hand-peace-o[_ngcontent-%COMP%]:before{content:""}.fa-trademark[_ngcontent-%COMP%]:before{content:""}.fa-registered[_ngcontent-%COMP%]:before{content:""}.fa-creative-commons[_ngcontent-%COMP%]:before{content:""}.fa-gg[_ngcontent-%COMP%]:before{content:""}.fa-gg-circle[_ngcontent-%COMP%]:before{content:""}.fa-tripadvisor[_ngcontent-%COMP%]:before{content:""}.fa-odnoklassniki[_ngcontent-%COMP%]:before{content:""}.fa-odnoklassniki-square[_ngcontent-%COMP%]:before{content:""}.fa-get-pocket[_ngcontent-%COMP%]:before{content:""}.fa-wikipedia-w[_ngcontent-%COMP%]:before{content:""}.fa-safari[_ngcontent-%COMP%]:before{content:""}.fa-chrome[_ngcontent-%COMP%]:before{content:""}.fa-firefox[_ngcontent-%COMP%]:before{content:""}.fa-opera[_ngcontent-%COMP%]:before{content:""}.fa-internet-explorer[_ngcontent-%COMP%]:before{content:""}.fa-television[_ngcontent-%COMP%]:before, .fa-tv[_ngcontent-%COMP%]:before{content:""}.fa-contao[_ngcontent-%COMP%]:before{content:""}.fa-500px[_ngcontent-%COMP%]:before{content:""}.fa-amazon[_ngcontent-%COMP%]:before{content:""}.fa-calendar-plus-o[_ngcontent-%COMP%]:before{content:""}.fa-calendar-minus-o[_ngcontent-%COMP%]:before{content:""}.fa-calendar-times-o[_ngcontent-%COMP%]:before{content:""}.fa-calendar-check-o[_ngcontent-%COMP%]:before{content:""}.fa-industry[_ngcontent-%COMP%]:before{content:""}.fa-map-pin[_ngcontent-%COMP%]:before{content:""}.fa-map-signs[_ngcontent-%COMP%]:before{content:""}.fa-map-o[_ngcontent-%COMP%]:before{content:""}.fa-map[_ngcontent-%COMP%]:before{content:""}.fa-commenting[_ngcontent-%COMP%]:before{content:""}.fa-commenting-o[_ngcontent-%COMP%]:before{content:""}.fa-houzz[_ngcontent-%COMP%]:before{content:""}.fa-vimeo-v[_ngcontent-%COMP%]:before, .fa-vimeo[_ngcontent-%COMP%]:before{content:""}.fa-black-tie[_ngcontent-%COMP%]:before{content:""}.fa-fonticons[_ngcontent-%COMP%]:before{content:""}.fa-reddit-alien[_ngcontent-%COMP%]:before{content:""}.fa-edge[_ngcontent-%COMP%]:before{content:""}.fa-credit-card-alt[_ngcontent-%COMP%]:before{content:""}.fa-codiepie[_ngcontent-%COMP%]:before{content:""}.fa-modx[_ngcontent-%COMP%]:before{content:""}.fa-fort-awesome[_ngcontent-%COMP%]:before{content:""}.fa-usb[_ngcontent-%COMP%]:before{content:""}.fa-product-hunt[_ngcontent-%COMP%]:before{content:""}.fa-mixcloud[_ngcontent-%COMP%]:before{content:""}.fa-scribd[_ngcontent-%COMP%]:before{content:""}.fa-pause-circle[_ngcontent-%COMP%]:before{content:""}.fa-pause-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-stop-circle[_ngcontent-%COMP%]:before{content:""}.fa-stop-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-shopping-bag[_ngcontent-%COMP%]:before{content:""}.fa-shopping-basket[_ngcontent-%COMP%]:before{content:""}.fa-hashtag[_ngcontent-%COMP%]:before{content:""}.fa-bluetooth[_ngcontent-%COMP%]:before{content:""}.fa-bluetooth-b[_ngcontent-%COMP%]:before{content:""}.fa-percent[_ngcontent-%COMP%]:before{content:""}.fa-gitlab[_ngcontent-%COMP%]:before{content:""}.fa-wpbeginner[_ngcontent-%COMP%]:before{content:""}.fa-wpforms[_ngcontent-%COMP%]:before{content:""}.fa-envira[_ngcontent-%COMP%]:before{content:""}.fa-universal-access[_ngcontent-%COMP%]:before{content:""}.fa-wheelchair-alt[_ngcontent-%COMP%]:before{content:""}.fa-question-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-blind[_ngcontent-%COMP%]:before{content:""}.fa-audio-description[_ngcontent-%COMP%]:before{content:""}.fa-phone-volume[_ngcontent-%COMP%]:before, .fa-volume-control-phone[_ngcontent-%COMP%]:before{content:""}.fa-braille[_ngcontent-%COMP%]:before{content:""}.fa-assistive-listening-systems[_ngcontent-%COMP%]:before{content:""}.fa-american-sign-language-interpreting[_ngcontent-%COMP%]:before, .fa-asl-interpreting[_ngcontent-%COMP%]:before{content:""}.fa-deaf[_ngcontent-%COMP%]:before, .fa-deafness[_ngcontent-%COMP%]:before, .fa-hard-of-hearing[_ngcontent-%COMP%]:before{content:""}.fa-glide[_ngcontent-%COMP%]:before{content:""}.fa-glide-g[_ngcontent-%COMP%]:before{content:""}.fa-sign-language[_ngcontent-%COMP%]:before, .fa-signing[_ngcontent-%COMP%]:before{content:""}.fa-low-vision[_ngcontent-%COMP%]:before{content:""}.fa-viadeo[_ngcontent-%COMP%]:before{content:""}.fa-viadeo-square[_ngcontent-%COMP%]:before{content:""}.fa-snapchat[_ngcontent-%COMP%]:before{content:""}.fa-snapchat-ghost[_ngcontent-%COMP%]:before{content:""}.fa-snapchat-square[_ngcontent-%COMP%]:before{content:""}.fa-first-order[_ngcontent-%COMP%]:before{content:""}.fa-yoast[_ngcontent-%COMP%]:before{content:""}.fa-themeisle[_ngcontent-%COMP%]:before{content:""}.fa-google-plus-circle[_ngcontent-%COMP%]:before, .fa-google-plus-official[_ngcontent-%COMP%]:before{content:""}.fa-fa[_ngcontent-%COMP%]:before, .fa-font-awesome[_ngcontent-%COMP%]:before{content:""}.fa-handshake-o[_ngcontent-%COMP%]:before{content:""}.fa-envelope-open[_ngcontent-%COMP%]:before{content:""}.fa-envelope-open-o[_ngcontent-%COMP%]:before{content:""}.fa-linode[_ngcontent-%COMP%]:before{content:""}.fa-address-book[_ngcontent-%COMP%]:before{content:""}.fa-address-book-o[_ngcontent-%COMP%]:before{content:""}.fa-address-card[_ngcontent-%COMP%]:before, .fa-vcard[_ngcontent-%COMP%]:before{content:""}.fa-address-card-o[_ngcontent-%COMP%]:before, .fa-vcard-o[_ngcontent-%COMP%]:before{content:""}.fa-user-circle[_ngcontent-%COMP%]:before{content:""}.fa-user-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-user-o[_ngcontent-%COMP%]:before{content:""}.fa-id-badge[_ngcontent-%COMP%]:before{content:""}.fa-drivers-license[_ngcontent-%COMP%]:before, .fa-id-card[_ngcontent-%COMP%]:before{content:""}.fa-drivers-license-o[_ngcontent-%COMP%]:before, .fa-id-card-o[_ngcontent-%COMP%]:before{content:""}.fa-quora[_ngcontent-%COMP%]:before{content:""}.fa-free-code-camp[_ngcontent-%COMP%]:before{content:""}.fa-telegram[_ngcontent-%COMP%]:before{content:""}.fa-thermometer-4[_ngcontent-%COMP%]:before, .fa-thermometer-full[_ngcontent-%COMP%]:before, .fa-thermometer[_ngcontent-%COMP%]:before{content:""}.fa-thermometer-3[_ngcontent-%COMP%]:before, .fa-thermometer-three-quarters[_ngcontent-%COMP%]:before{content:""}.fa-thermometer-2[_ngcontent-%COMP%]:before, .fa-thermometer-half[_ngcontent-%COMP%]:before{content:""}.fa-thermometer-1[_ngcontent-%COMP%]:before, .fa-thermometer-quarter[_ngcontent-%COMP%]:before{content:""}.fa-thermometer-0[_ngcontent-%COMP%]:before, .fa-thermometer-empty[_ngcontent-%COMP%]:before{content:""}.fa-shower[_ngcontent-%COMP%]:before{content:""}.fa-bath[_ngcontent-%COMP%]:before, .fa-bathtub[_ngcontent-%COMP%]:before, .fa-s15[_ngcontent-%COMP%]:before{content:""}.fa-podcast[_ngcontent-%COMP%]:before{content:""}.fa-window-maximize[_ngcontent-%COMP%]:before{content:""}.fa-window-minimize[_ngcontent-%COMP%]:before{content:""}.fa-window-restore[_ngcontent-%COMP%]:before{content:""}.fa-times-rectangle[_ngcontent-%COMP%]:before, .fa-window-close[_ngcontent-%COMP%]:before{content:""}.fa-times-rectangle-o[_ngcontent-%COMP%]:before, .fa-window-close-o[_ngcontent-%COMP%]:before{content:""}.fa-bandcamp[_ngcontent-%COMP%]:before{content:""}.fa-grav[_ngcontent-%COMP%]:before{content:""}.fa-etsy[_ngcontent-%COMP%]:before{content:""}.fa-imdb[_ngcontent-%COMP%]:before{content:""}.fa-ravelry[_ngcontent-%COMP%]:before{content:""}.fa-eercast[_ngcontent-%COMP%]:before{content:""}.fa-microchip[_ngcontent-%COMP%]:before{content:""}.fa-snowflake-o[_ngcontent-%COMP%]:before{content:""}.fa-superpowers[_ngcontent-%COMP%]:before{content:""}.fa-wpexplorer[_ngcontent-%COMP%]:before{content:""}.fa-meetup[_ngcontent-%COMP%]:before{content:""}.fa-mastodon[_ngcontent-%COMP%]:before{content:""}.fa-mastodon-alt[_ngcontent-%COMP%]:before{content:""}.fa-fork-awesome[_ngcontent-%COMP%]:before, .fa-fork-circle[_ngcontent-%COMP%]:before{content:""}.fa-peertube[_ngcontent-%COMP%]:before{content:""}.fa-diaspora[_ngcontent-%COMP%]:before{content:""}.fa-friendica[_ngcontent-%COMP%]:before{content:""}.fa-gnu-social[_ngcontent-%COMP%]:before{content:""}.fa-liberapay-square[_ngcontent-%COMP%]:before{content:""}.fa-liberapay[_ngcontent-%COMP%]:before{content:""}.fa-scuttlebutt[_ngcontent-%COMP%]:before, .fa-ssb[_ngcontent-%COMP%]:before{content:""}.fa-hubzilla[_ngcontent-%COMP%]:before{content:""}.fa-social-home[_ngcontent-%COMP%]:before{content:""}.fa-artstation[_ngcontent-%COMP%]:before{content:""}.fa-discord[_ngcontent-%COMP%]:before{content:""}.fa-discord-alt[_ngcontent-%COMP%]:before{content:""}.fa-patreon[_ngcontent-%COMP%]:before{content:""}.fa-snowdrift[_ngcontent-%COMP%]:before{content:""}.fa-activitypub[_ngcontent-%COMP%]:before{content:""}.fa-ethereum[_ngcontent-%COMP%]:before{content:""}.fa-keybase[_ngcontent-%COMP%]:before{content:""}.fa-shaarli[_ngcontent-%COMP%]:before{content:""}.fa-shaarli-o[_ngcontent-%COMP%]:before{content:""}.fa-cut-key[_ngcontent-%COMP%]:before, .fa-key-modern[_ngcontent-%COMP%]:before{content:""}.fa-xmpp[_ngcontent-%COMP%]:before{content:""}.fa-archive-org[_ngcontent-%COMP%]:before{content:""}.fa-freedombox[_ngcontent-%COMP%]:before{content:""}.fa-facebook-messenger[_ngcontent-%COMP%]:before{content:""}.fa-debian[_ngcontent-%COMP%]:before{content:""}.fa-mastodon-square[_ngcontent-%COMP%]:before{content:""}.fa-tipeee[_ngcontent-%COMP%]:before{content:""}.fa-react[_ngcontent-%COMP%]:before{content:""}.fa-dogmazic[_ngcontent-%COMP%]:before{content:""}.fa-zotero[_ngcontent-%COMP%]:before{content:""}.fa-nodejs[_ngcontent-%COMP%]:before{content:""}.fa-nextcloud[_ngcontent-%COMP%]:before{content:""}.fa-nextcloud-square[_ngcontent-%COMP%]:before{content:""}.fa-hackaday[_ngcontent-%COMP%]:before{content:""}.fa-laravel[_ngcontent-%COMP%]:before{content:""}.fa-signalapp[_ngcontent-%COMP%]:before{content:""}.fa-gnupg[_ngcontent-%COMP%]:before{content:""}.fa-php[_ngcontent-%COMP%]:before{content:""}.fa-ffmpeg[_ngcontent-%COMP%]:before{content:""}.fa-joplin[_ngcontent-%COMP%]:before{content:""}.fa-syncthing[_ngcontent-%COMP%]:before{content:""}.fa-inkscape[_ngcontent-%COMP%]:before{content:""}.fa-matrix-org[_ngcontent-%COMP%]:before{content:""}.fa-pixelfed[_ngcontent-%COMP%]:before{content:""}.fa-bootstrap[_ngcontent-%COMP%]:before{content:""}.fa-dev-to[_ngcontent-%COMP%]:before{content:""}.fa-hashnode[_ngcontent-%COMP%]:before{content:""}.fa-jirafeau[_ngcontent-%COMP%]:before{content:""}.fa-emby[_ngcontent-%COMP%]:before{content:""}.fa-wikidata[_ngcontent-%COMP%]:before{content:""}.fa-gimp[_ngcontent-%COMP%]:before{content:""}.fa-c[_ngcontent-%COMP%]:before{content:""}.fa-digitalocean[_ngcontent-%COMP%]:before{content:""}.fa-att[_ngcontent-%COMP%]:before{content:""}.fa-gitea[_ngcontent-%COMP%]:before{content:""}.fa-file-epub[_ngcontent-%COMP%]:before{content:""}.fa-python[_ngcontent-%COMP%]:before{content:""}.fa-archlinux[_ngcontent-%COMP%]:before{content:""}.fa-pleroma[_ngcontent-%COMP%]:before{content:""}.fa-unsplash[_ngcontent-%COMP%]:before{content:""}.fa-hackster[_ngcontent-%COMP%]:before{content:""}.fa-spell-check[_ngcontent-%COMP%]:before{content:""}.fa-moon[_ngcontent-%COMP%]:before{content:""}.fa-sun[_ngcontent-%COMP%]:before{content:""}.fa-f-droid[_ngcontent-%COMP%]:before{content:""}.fa-biometric[_ngcontent-%COMP%]:before{content:""}.sr-only[_ngcontent-%COMP%]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable[_ngcontent-%COMP%]:active, .sr-only-focusable[_ngcontent-%COMP%]:focus{clip:auto;white-space:normal;position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.info-card-popover-cluster-status[_ngcontent-%COMP%]{max-width:23vw;max-height:20vh}.info-card-popover-cluster-status[_ngcontent-%COMP%]   .popover-body[_ngcontent-%COMP%]{max-width:100%;max-height:19vh;font-size:12px}@media (max-width:calc(1200px - 1px)){.info-card-popover-cluster-status[_ngcontent-%COMP%]{max-width:31vw}}@media (max-width:calc(992px - 1px)){.info-card-popover-cluster-status[_ngcontent-%COMP%]{max-width:46vw}}@media (max-width:calc(768px - 1px)){.info-card-popover-cluster-status[_ngcontent-%COMP%]{max-width:83vw}}.info-card-content-clickable[_ngcontent-%COMP%]{cursor:pointer;padding:7px;border:1px solid #efefef;border-radius:3px}.info-card-content-clickable[_ngcontent-%COMP%]:hover{border-color:#d1d1d1;background-color:#f3f3f3}.custom-control-input.is-valid[_ngcontent-%COMP%] ~ .custom-control-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid ~ .custom-control-label[_ngcontent-%COMP%]{color:initial}.custom-control-input.is-valid[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid:checked ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#2b99a8;background-color:#2b99a8}.custom-control-input.is-valid[_ngcontent-%COMP%] ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#adb5bd}.custom-control-input.is-valid[_ngcontent-%COMP%]:focus ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid:focus ~ .custom-control-label[_ngcontent-%COMP%]::before{box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.custom-control-input.is-valid[_ngcontent-%COMP%]:focus:not(:checked) ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid:focus:not(:checked) ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#76d0dc}html[_ngcontent-%COMP%]{background-color:#fff}body[_ngcontent-%COMP%], html[_ngcontent-%COMP%]{width:100%;height:100%;font-size:12px}h1[_ngcontent-%COMP%]{letter-spacing:-1px;font-size:2em}h2[_ngcontent-%COMP%]{letter-spacing:-1px;font-size:1.833em}h3[_ngcontent-%COMP%]{display:block;font-size:1.583em;font-weight:400}h4[_ngcontent-%COMP%]{font-size:1.5em;line-height:normal}option[_ngcontent-%COMP%]{font-weight:400;font-style:normal}.full-height[_ngcontent-%COMP%]{height:100vh}.full-width[_ngcontent-%COMP%]{width:100vw}.vertical-align[_ngcontent-%COMP%]{display:flex;align-items:center}.horizontal-align[_ngcontent-%COMP%]{display:flex;justify-content:center}.loading[_ngcontent-%COMP%]{position:absolute;top:50%;left:50%}.margin-right-md[_ngcontent-%COMP%]{margin-right:15px}.no-border[_ngcontent-%COMP%]{border:0;box-shadow:0 0 0!important}.italic[_ngcontent-%COMP%]{font-style:italic}.bold[_ngcontent-%COMP%]{font-weight:700}.text-pre[_ngcontent-%COMP%]{white-space:pre-wrap}.btn-light[_ngcontent-%COMP%]{background-color:#fff!important;border-color:#ced4da!important}.btn-light[_ngcontent-%COMP%]:hover{background-color:#ddd!important;border-color:#adadad!important}.btn.active.focus[_ngcontent-%COMP%], .btn.active[_ngcontent-%COMP%]:focus, .btn.focus[_ngcontent-%COMP%], .btn[_ngcontent-%COMP%]:active.focus, .btn[_ngcontent-%COMP%]:active:focus, .btn[_ngcontent-%COMP%]:focus{outline:0}.btn-primary[_ngcontent-%COMP%]   .badge[_ngcontent-%COMP%]{color:#2b99a8;background-color:#eee}.btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%] > i.fa[_ngcontent-%COMP%], .cd-datatable-actions[_ngcontent-%COMP%]   button.btn[_ngcontent-%COMP%]   i.fa[_ngcontent-%COMP%]{margin-right:5px}.dropdown-menu[_ngcontent-%COMP%]{min-width:50px;z-index:999999}.dropdown-menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{color:#474544;cursor:pointer}.dropdown-menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] > i.fa[_ngcontent-%COMP%]{margin-right:5px}.dropdown-menu[_ngcontent-%COMP%] > .active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{color:#eee}.dropdown-menu[_ngcontent-%COMP%] > .active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%], .dropdown-menu[_ngcontent-%COMP%] > .active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:focus, .dropdown-menu[_ngcontent-%COMP%] > .active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{background-color:#21747f}.dataTables_wrapper[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%] > li.dropdown-divider[_ngcontent-%COMP%]{cursor:auto}.container[_ngcontent-%COMP%], .container-fluid[_ngcontent-%COMP%]{padding-left:30px!important;padding-right:30px!important}.row[_ngcontent-%COMP%]{margin-left:-30px;margin-right:-30px}.cd-col-form[_ngcontent-%COMP%], .cd-col-form-input[_ngcontent-%COMP%], .cd-col-form-label[_ngcontent-%COMP%], .cd-col-form-offset[_ngcontent-%COMP%], .col-1[_ngcontent-%COMP%], .col-10[_ngcontent-%COMP%], .col-11[_ngcontent-%COMP%], .col-12[_ngcontent-%COMP%], .col-2[_ngcontent-%COMP%], .col-3[_ngcontent-%COMP%], .col-4[_ngcontent-%COMP%], .col-5[_ngcontent-%COMP%], .col-6[_ngcontent-%COMP%], .col-7[_ngcontent-%COMP%], .col-8[_ngcontent-%COMP%], .col-9[_ngcontent-%COMP%], .col-lg-1[_ngcontent-%COMP%], .col-lg-10[_ngcontent-%COMP%], .col-lg-11[_ngcontent-%COMP%], .col-lg-12[_ngcontent-%COMP%], .col-lg-2[_ngcontent-%COMP%], .col-lg-3[_ngcontent-%COMP%], .col-lg-4[_ngcontent-%COMP%], .col-lg-5[_ngcontent-%COMP%], .col-lg-6[_ngcontent-%COMP%], .col-lg-7[_ngcontent-%COMP%], .col-lg-8[_ngcontent-%COMP%], .col-lg-9[_ngcontent-%COMP%], .col-md-1[_ngcontent-%COMP%], .col-md-10[_ngcontent-%COMP%], .col-md-11[_ngcontent-%COMP%], .col-md-12[_ngcontent-%COMP%], .col-md-2[_ngcontent-%COMP%], .col-md-3[_ngcontent-%COMP%], .col-md-4[_ngcontent-%COMP%], .col-md-5[_ngcontent-%COMP%], .col-md-6[_ngcontent-%COMP%], .col-md-7[_ngcontent-%COMP%], .col-md-8[_ngcontent-%COMP%], .col-md-9[_ngcontent-%COMP%], .col-sm-1[_ngcontent-%COMP%], .col-sm-10[_ngcontent-%COMP%], .col-sm-11[_ngcontent-%COMP%], .col-sm-12[_ngcontent-%COMP%], .col-sm-2[_ngcontent-%COMP%], .col-sm-3[_ngcontent-%COMP%], .col-sm-4[_ngcontent-%COMP%], .col-sm-5[_ngcontent-%COMP%], .col-sm-6[_ngcontent-%COMP%], .col-sm-7[_ngcontent-%COMP%], .col-sm-8[_ngcontent-%COMP%], .col-sm-9[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-input[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-label[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-offset[_ngcontent-%COMP%]{padding-left:30px;padding-right:30px}tags-input[_ngcontent-%COMP%]   .tags[_ngcontent-%COMP%]{border-radius:4px;border:1px solid #d1d1d1;box-shadow:inset 0 1px 1px rgba(0,0,0,.09)}.card[_ngcontent-%COMP%]   .accordion-title[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]   .accordion-title[_ngcontent-%COMP%], uib-accordion[_ngcontent-%COMP%]   .card-title[_ngcontent-%COMP%]{font-size:14px!important}.card-header[_ngcontent-%COMP%]{font-size:1.3em}.card-body[_ngcontent-%COMP%]   h2[_ngcontent-%COMP%]:first-child{margin-top:0}.disabled[_ngcontent-%COMP%]{pointer-events:none}.clickable[_ngcontent-%COMP%], a[_ngcontent-%COMP%]{cursor:pointer}[_ngcontent-%COMP%]:invalid   .has-error-btn[_ngcontent-%COMP%], [_ngcontent-%COMP%]:invalid   .has-error-btn[_ngcontent-%COMP%]:disabled:hover{background-color:#f2dede;border-color:#a94442}.noscript[_ngcontent-%COMP%]{padding-top:5em}.noscript[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]{color:#777}.required[_ngcontent-%COMP%]::after{color:#a94442;content:"*";font-size:14px;padding-left:4px}.form-footer[_ngcontent-%COMP%]{width:100%;display:flex}.cd-form-control[_ngcontent-%COMP%], .form-control[_ngcontent-%COMP%]{display:table-cell}.cd-form-control[_ngcontent-%COMP%]:focus, .form-control[_ngcontent-%COMP%]:focus{border-color:rgba(43,153,168,.8);outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px 2px rgba(43,153,168,.5)}.custom-checkbox[_ngcontent-%COMP%]{padding-top:7px}.card-footer[_ngcontent-%COMP%]   button.btn[_ngcontent-%COMP%]:not(:first-child), .modal-footer[_ngcontent-%COMP%]   button.btn[_ngcontent-%COMP%]:not(:first-child){margin-left:5px}.nav-tabs[_ngcontent-%COMP%]{margin-bottom:15px}.ceph-icon[_ngcontent-%COMP%]{background:url(Ceph_Logo_Stacked_RGB_120411_fa_228x228.1ed169ccc35367a2dab2.png)}.prometheus-icon[_ngcontent-%COMP%]{background:url(prometheus_logo.074db273ef932a67d91b.svg)}.custom-icon[_ngcontent-%COMP%]{padding:10px;margin-right:8px;background-clip:padding-box;background-size:contain;background-repeat:no-repeat}.toast-message[_ngcontent-%COMP%]   .custom-icon[_ngcontent-%COMP%]{filter:brightness(0) invert(1);-webkit-filter:brightness(0) invert(1);-moz-filter:brightness(0) invert(1);-o-filter:brightness(0) invert(1);-ms-filter:brightness(0) invert(1)}.block-ui-wrapper[_ngcontent-%COMP%]{background:rgba(0,0,0,.7)!important}.tooltip-wide[_ngcontent-%COMP%]   .tooltip-inner[_ngcontent-%COMP%]{width:400px}.tooltip-inner[_ngcontent-%COMP%]{background-color:#fff;border:1px solid grey;color:#333;font-size:1.1em}.toast-message[_ngcontent-%COMP%] > ul[_ngcontent-%COMP%]{padding-left:1em;margin:0}@media (min-width:576px){.cd-col-form-label[_ngcontent-%COMP%], .col-form-label[_ngcontent-%COMP%]{text-align:right}}.cd-col-form-label[_ngcontent-%COMP%], .col-form-label[_ngcontent-%COMP%]{font-weight:700}cd-submit-button[_ngcontent-%COMP%]{background-color:transparent!important}bfv-messages[_ngcontent-%COMP%]{display:none}.form-group.has-error[_ngcontent-%COMP%]   .invalid-feedback[_ngcontent-%COMP%]{display:block}.password-strength-level[_ngcontent-%COMP%]{flex:100%;margin-top:2px}.password-strength-level[_ngcontent-%COMP%]   .ok[_ngcontent-%COMP%], .password-strength-level[_ngcontent-%COMP%]   .strong[_ngcontent-%COMP%], .password-strength-level[_ngcontent-%COMP%]   .very-strong[_ngcontent-%COMP%], .password-strength-level[_ngcontent-%COMP%]   .weak[_ngcontent-%COMP%]{border-radius:.25rem;height:13px}.password-strength-level[_ngcontent-%COMP%]   .weak[_ngcontent-%COMP%]{width:25%;background:red}.password-strength-level[_ngcontent-%COMP%]   .ok[_ngcontent-%COMP%]{width:50%;background:#ffc200}.password-strength-level[_ngcontent-%COMP%]   .strong[_ngcontent-%COMP%]{width:75%;background:#0b0}.password-strength-level[_ngcontent-%COMP%]   .very-strong[_ngcontent-%COMP%]{width:100%;background:#245e03}.badge-hdd[_ngcontent-%COMP%]{color:#fff;background-color:#90949c}.badge-ssd[_ngcontent-%COMP%]{color:#fff;background-color:#288cea}.badge-tab[_ngcontent-%COMP%]{color:#555;background-color:#f3f3f3}tree-root[_ngcontent-%COMP%]   tree-viewport[_ngcontent-%COMP%]{min-height:1em}.card[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]{height:100%;border:.5px solid #ddd;border-radius:3px;box-shadow:0 1px 1px rgba(3,3,3,.175);font-size:12px}@media screen and (min-width:320px){.card[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]{font-size:calc(12px + 9 * ((100vw - 320px)/ 1728))}}@media screen and (min-width:2048px){.card[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]{font-size:21px}}.card[_ngcontent-%COMP%]   .card-body[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]   .card-body[_ngcontent-%COMP%]{padding-top:40px!important}.card[_ngcontent-%COMP%]   .card-body[_ngcontent-%COMP%]   .card-title[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]   .card-body[_ngcontent-%COMP%]   .card-title[_ngcontent-%COMP%]{position:absolute;left:0;top:0}.no-center[_ngcontent-%COMP%]{position:unset;top:unset;left:unset;transform:unset}.content-highlight[_ngcontent-%COMP%]{font-weight:700}']],data:{}});function Yn(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"a",[],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,1).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](1,671744,null,0,St.p,[St.m,St.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵted"](2,null,["",""]))],(function(t,e){t(e,1,0,e.component.link)}),(function(t,e){var n=e.component;t(e,0,0,i["ɵnov"](e,1).target,i["ɵnov"](e,1).href),t(e,2,0,n.cardTitle)}))}function Hn(t){return i["ɵvid"](0,[(t()(),i["ɵted"](0,null,[" "," "]))],null,(function(t,e){t(e,0,0,e.component.cardTitle)}))}function Un(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,11,"div",[["class","card"]],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](2,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),(t()(),i["ɵeld"](3,0,null,null,8,"div",[["class","card-body d-flex align-items-center justify-content-center"]],null,null,null,null,null)),(t()(),i["ɵeld"](4,0,null,null,3,"h5",[["class","card-title m-4"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Yn)),i["ɵdid"](6,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"],ngIfElse:[1,"ngIfElse"]},null),(t()(),i["ɵand"](0,[["noLinkTitle",2]],null,0,null,Hn)),(t()(),i["ɵeld"](8,0,null,null,3,"div",[["class","card-text text-center"]],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](10,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),i["ɵncd"](null,0)],(function(t,e){var n=e.component;t(e,2,0,"card",n.cardClass),t(e,6,0,n.link,i["ɵnov"](e,7)),t(e,10,0,"card-text text-center",n.contentClass)}),null)}class Wn{}var Kn=i["ɵcrt"]({encapsulation:0,styles:[[".info-group-title[_ngcontent-%COMP%]{margin:0 0 .5vw .5vw;font-size:21px}"]],data:{}});function $n(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"div",[["class","row"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,1,"span",[["class","info-group-title"]],null,null,null,null,null)),(t()(),i["ɵted"](2,null,["",""])),(t()(),i["ɵeld"](3,0,null,null,1,"div",[["class","row"]],null,null,null,null,null)),i["ɵncd"](null,0)],null,(function(t,e){t(e,2,0,e.component.groupTitle)}))}var Zn=n("hrfs"),Jn=n("MO+k"),Xn=n("NEZu"),Qn=n("Fgil"),ta=n("o4+5"),ea=function(t){return t.DEFAULT_RED="#ff7592",t.DEFAULT_BLUE="#1d699d",t.DEFAULT_ORANGE="#ffa500",t.DEFAULT_MAGENTA="#564d65",t.DEFAULT_GREEN="#00bb00",t}({});class na{constructor(t,e){this.dimlessBinary=t,this.dimless=e,this.config={},this.isBytesData=!1,this.showLabelAsTooltip=!1,this.prepareFn=new i.EventEmitter,this.chartConfig={chartType:"pie",dataset:[{label:null,borderWidth:0}],options:{legend:{display:!0,position:"right",labels:{usePointStyle:!0},onClick:(t,e)=>{this.onLegendClick(t,e)}},animation:{duration:0},tooltips:{enabled:!1},title:{display:!1}}},this.hiddenSlices=[]}ngOnInit(){Jn.pluginService.register({beforeDraw:function(t){if(!t.options.center_text)return;const e=t.chart.width,n=t.chart.height,a=t.chart.ctx;a.restore();const r=(n/114).toFixed(2);a.font=r+"em sans-serif",a.textBaseline="middle";const o=t.options.center_text,i=Math.round((e-a.measureText(o).width)/2);a.fillText(o,i,n/2),a.save()}});const t=new Xn.a(this.chartCanvasRef,this.chartTooltipRef,(t,e)=>e+t.caretX+"px",(t,e)=>e+t.caretY-t.height-10+"px");t.getBody=t=>this.getChartTooltipBody(t),this.chartConfig.options.tooltips.custom=e=>{t.customTooltips(e)},this.chartConfig.colors=[{backgroundColor:[ea.DEFAULT_RED,ea.DEFAULT_BLUE,ea.DEFAULT_ORANGE,ea.DEFAULT_GREEN,ea.DEFAULT_MAGENTA]}],$.merge(this.chartConfig,this.config),this.prepareFn.emit([this.chartConfig,this.data])}ngOnChanges(){this.prepareFn.emit([this.chartConfig,this.data]),this.hideSlices(),this.setChartSliceBorderWidth()}getChartTooltipBody(t){const e=t[0].split(": ");return this.showLabelAsTooltip?e[0]:(e[1]=this.isBytesData?this.dimlessBinary.transform(e[1]):this.dimless.transform(e[1]),e.join(": "))}setChartSliceBorderWidth(){let t=0;$.forEach(this.chartConfig.dataset[0].data,(function(e){e>0&&(t+=1)})),this.chartConfig.dataset[0].borderWidth=t>1?1:0}onLegendClick(t,e){t.stopPropagation(),this.hiddenSlices[e.index]=!e.hidden,this.ngOnChanges()}hideSlices(){$.forEach(this.chartConfig.dataset[0].data,(t,e)=>{this.hiddenSlices[e]&&(this.chartConfig.dataset[0].data[e]=void 0)})}}var aa=i["ɵcrt"]({encapsulation:0,styles:[['canvas[_ngcontent-%COMP%]{-moz-user-select:none;user-select:none}.chartjs-tooltip[_ngcontent-%COMP%]{opacity:0;position:absolute;background:rgba(0,0,0,.7);color:#fff;border-radius:3px;transition:all .1s ease;pointer-events:none;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif!important;transform:translate(-50%,0)}.chartjs-tooltip.transform-left[_ngcontent-%COMP%]{transform:translate(-10%,0)}.chartjs-tooltip.transform-left[_ngcontent-%COMP%]::after{left:10%}.chartjs-tooltip.transform-right[_ngcontent-%COMP%]{transform:translate(-90%,0)}.chartjs-tooltip.transform-right[_ngcontent-%COMP%]::after{left:90%}.chartjs-tooltip[_ngcontent-%COMP%]::after{content:" ";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:#000 transparent transparent}  .chartjs-tooltip-key{display:inline-block;width:10px;height:10px;margin-right:10px}.chart-container[_ngcontent-%COMP%]{margin:auto;cursor:pointer;overflow:visible;position:unset;width:100%;height:100%}.chart-canvas[_ngcontent-%COMP%]{position:unset;width:100%;height:100%;margin-left:auto;margin-right:auto;max-width:100%;max-height:100%}']],data:{}});function ra(t){return i["ɵvid"](0,[i["ɵqud"](402653184,1,{chartCanvasRef:0}),i["ɵqud"](402653184,2,{chartTooltipRef:0}),(t()(),i["ɵeld"](2,0,null,null,4,"div",[["class","chart-container"]],null,null,null,null,null)),(t()(),i["ɵeld"](3,0,[[1,0],["chartCanvas",1]],null,1,"canvas",[["baseChart",""],["class","chart-canvas"]],null,null,null,null,null)),i["ɵdid"](4,999424,null,0,Zn.a,[i.ElementRef,Zn.c],{datasets:[0,"datasets"],labels:[1,"labels"],options:[2,"options"],chartType:[3,"chartType"],colors:[4,"colors"]},null),(t()(),i["ɵeld"](5,0,[[2,0],["chartTooltip",1]],null,1,"div",[["class","chartjs-tooltip"]],null,null,null,null,null)),(t()(),i["ɵeld"](6,0,null,null,0,"table",[],null,null,null,null,null))],(function(t,e){var n=e.component;t(e,4,0,n.chartConfig.dataset,n.chartConfig.labels,n.chartConfig.options,n.chartConfig.chartType,n.chartConfig.colors)}),null)}class oa{constructor(t){this.i18n=t}transform(t){return t?`${t.monmap.mons.length.toString()} (${this.i18n("quorum")} ${t.quorum.join(", ")})`:""}}var ia=n("GiVz");class sa{constructor(t){this.i18n=t}transform(t){if(!t)return"";let e=0,n=0;$.each(t.osds,t=>{t.in&&e++,t.up&&n++});const a=[{content:`${t.osds.length} ${this.i18n("total")}`,class:""}];a.push({content:"",class:"card-text-line-break"}),a.push({content:`${n} ${this.i18n("up")}, ${e} ${this.i18n("in")}`,class:""});const r=t.osds.length-n,o=n-e;if(r>0||o>0){a.push({content:"",class:"card-text-line-break"});const t=r>0?`${r} ${this.i18n("down")}`:"",e=r>0&&o>0?", ":"",n=o>0?`${o} ${this.i18n("out")}`:"";a.push({content:`${t}${e}${n}`,class:"card-text-error"})}return a}}class ca{constructor(t){this.i18n=t}transform(t){if(!t)return"";let e=this.i18n("n/a");const n=$.isUndefined(t.active_name)?"":`${this.i18n("active daemon")}: ${t.active_name}`;n.length>0&&(e="1");const a=t.standbys.map(t=>t.name).join(", "),r=a?`${this.i18n("standby daemons")}: ${a}`:"",o=t.standbys.length,i=[{content:`${e} ${this.i18n("active")}`,class:"popover-info",titleText:n}];return i.push({content:"",class:"card-text-line-break",titleText:""}),i.push({content:`${o} ${this.i18n("standby")}`,class:"popover-info",titleText:r}),i}}class la{constructor(t){this.i18n=t}transform(t){if(!t)return"";let e="",n="",a=0,r=0,o=0;$.each(t.standbys,()=>{a+=1}),t.standbys&&!t.filesystems?(e=`${a} ${this.i18n("up")}`,n=this.i18n("no filesystems")):0===t.filesystems.length?e=this.i18n("no filesystems"):($.each(t.filesystems,t=>{$.each(t.mdsmap.info,t=>{"up:standby-replay"===t.state?o+=1:r+=1})}),e=`${r} ${this.i18n("active")}`,n=`${a+o} ${this.i18n("standby")}`);const i=t.standbys.map(t=>t.name).join(", "),s=i?`${this.i18n("standby daemons")}: ${i}`:"",c=t.filesystems?t.filesystems.length:0,l=Object.values(c>0?t.filesystems[0].mdsmap.info:{}).map(t=>t.name).join(", ");let d=l?`${this.i18n("active daemon")}: ${l}`:"";!r&&c>0&&(d=`${o} ${this.i18n("standbyReplay")}`);const u=[{content:e,class:"popover-info",titleText:d}];return n&&(u.push({content:"",class:"card-text-line-break",titleText:""}),u.push({content:n,class:"popover-info",titleText:s})),u}}class da{transform(t,e){return $.round(t,e)}}var ua=n("aXbf");let ga=(()=>{class t{constructor(t){this.http=t}getFullHealth(){return this.http.get("api/health/full")}getMinimalHealth(){return this.http.get("api/health/minimal")}}return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t(i["ɵɵinject"](J.c))},token:t,providedIn:me.a}),t})();var fa=n("2Vo4"),pa=n("l5mm");let ma=(()=>{class t{constructor(t){this.ngZone=t,this.intervalDataSource=new fa.a(null),this.intervalData$=this.intervalDataSource.asObservable();const e=parseInt(sessionStorage.getItem("dashboard_interval"),10)||5e3;this.setRefreshInterval(e)}setRefreshInterval(t){this.intervalTime=t,sessionStorage.setItem("dashboard_interval",t.toString()),this.intervalSubscription&&this.intervalSubscription.unsubscribe(),this.ngZone.runOutsideAngular(()=>{this.intervalSubscription=Object(pa.a)(this.intervalTime).subscribe(()=>this.ngZone.run(()=>{this.intervalDataSource.next(this.intervalTime)}))})}getRefreshInterval(){return this.intervalTime}ngOnDestroy(){this.intervalSubscription&&this.intervalSubscription.unsubscribe()}}return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t(i["ɵɵinject"](i.NgZone))},token:t,providedIn:"root"}),t})();var ha=n("d+Og");class ba{constructor(t,e,n,a,r,o,i,s){this.healthService=t,this.i18n=e,this.authStorageService=n,this.pgCategoryService=a,this.featureToggles=r,this.refreshIntervalService=o,this.dimlessBinary=i,this.dimless=s,this.interval=new dt.a,this.icons=ut.a,this.rawCapacityChartConfig={options:{title:{display:!0,position:"bottom"}}},this.objectsChartConfig={options:{title:{display:!0,position:"bottom"}},colors:[{backgroundColor:[ea.DEFAULT_GREEN,ea.DEFAULT_MAGENTA,ea.DEFAULT_ORANGE,ea.DEFAULT_RED]}]},this.pgStatusChartConfig={colors:[{backgroundColor:[ea.DEFAULT_GREEN,ea.DEFAULT_BLUE,ea.DEFAULT_ORANGE,ea.DEFAULT_RED]}]},this.permissions=this.authStorageService.getPermissions(),this.enabledFeature$=this.featureToggles.get()}ngOnInit(){this.getHealth(),this.interval=this.refreshIntervalService.intervalData$.subscribe(()=>{this.getHealth()})}ngOnDestroy(){this.interval.unsubscribe()}getHealth(){this.healthService.getMinimalHealth().subscribe(t=>{this.healthData=t})}prepareReadWriteRatio(t){const e=[],n=[],a=this.healthData.client_perf.write_op_per_sec+this.healthData.client_perf.read_op_per_sec;e.push(`${this.i18n("Writes")} (${this.calcPercentage(this.healthData.client_perf.write_op_per_sec,a)}%)`),n.push(this.healthData.client_perf.write_op_per_sec),e.push(`${this.i18n("Reads")} (${this.calcPercentage(this.healthData.client_perf.read_op_per_sec,a)}%)`),n.push(this.healthData.client_perf.read_op_per_sec),t.dataset[0].data=n,t.labels=e}prepareRawUsage(t,e){const n=this.calcPercentage(e.df.stats.total_bytes-e.df.stats.total_used_raw_bytes,e.df.stats.total_bytes),a=this.calcPercentage(e.df.stats.total_used_raw_bytes,e.df.stats.total_bytes);t.dataset[0].data=[e.df.stats.total_used_raw_bytes,e.df.stats.total_avail_bytes],t.labels=[`${this.dimlessBinary.transform(e.df.stats.total_used_raw_bytes)} ${this.i18n("Used")} (${a}%)`,`${this.dimlessBinary.transform(e.df.stats.total_bytes-e.df.stats.total_used_raw_bytes)} ${this.i18n("Avail.")} (${n}%)`],t.options.title.text=`${this.dimlessBinary.transform(e.df.stats.total_bytes)} ${this.i18n("total")}`}preparePgStatus(t,e){const n={};let a=0;$.forEach(e.pg_info.statuses,(t,e)=>{const r=this.pgCategoryService.getTypeByStates(e);$.isUndefined(n[r])&&(n[r]=0),n[r]+=t,a+=t}),t.dataset[0].data=this.pgCategoryService.getAllTypes().map(t=>n[t]),t.labels=[`${this.i18n("Clean")} (${this.calcPercentage(n.clean,a)}%)`,`${this.i18n("Working")} (${this.calcPercentage(n.working,a)}%)`,`${this.i18n("Warning")} (${this.calcPercentage(n.warning,a)}%)`,`${this.i18n("Unknown")} (${this.calcPercentage(n.unknown,a)}%)`]}prepareObjects(t,e){const n=e.pg_info.object_stats.num_object_copies,a=n-e.pg_info.object_stats.num_objects_misplaced-e.pg_info.object_stats.num_objects_degraded-e.pg_info.object_stats.num_objects_unfound;t.labels=[`${this.i18n("Healthy")} (${this.calcPercentage(a,n)}%)`,`${this.i18n("Misplaced")} (${this.calcPercentage(e.pg_info.object_stats.num_objects_misplaced,n)}%)`,`${this.i18n("Degraded")} (${this.calcPercentage(e.pg_info.object_stats.num_objects_degraded,n)}%)`,`${this.i18n("Unfound")} (${this.calcPercentage(e.pg_info.object_stats.num_objects_unfound,n)}%)`],t.dataset[0].data=[a,e.pg_info.object_stats.num_objects_misplaced,e.pg_info.object_stats.num_objects_degraded,e.pg_info.object_stats.num_objects_unfound],t.options.title.text=`${this.dimless.transform(e.pg_info.object_stats.num_objects)} ${this.i18n("total")} (${this.dimless.transform(n)} ${this.i18n("replicas")})`,t.options.maintainAspectRatio=window.innerWidth>=375}isClientReadWriteChartShowable(){return(this.healthData.client_perf.read_op_per_sec||0)+(this.healthData.client_perf.write_op_per_sec||0)>0}calcPercentage(t,e){return $.isNumber(t)&&$.isNumber(e)&&0!==e?Math.round(t/e*100):0}}var ya=i["ɵcrt"]({encapsulation:0,styles:[['@charset "UTF-8";.tree-children.tree-children-no-padding[_ngcontent-%COMP%]{padding-left:0}.node-drop-slot[_ngcontent-%COMP%]{display:block;height:2px}.node-drop-slot.is-dragging-over[_ngcontent-%COMP%]{background:#dfe;height:20px;border:2px dotted #888}.toggle-children-wrapper-expanded[_ngcontent-%COMP%]   .toggle-children[_ngcontent-%COMP%]{transform:rotate(90deg)}.toggle-children-wrapper-collapsed[_ngcontent-%COMP%]   .toggle-children[_ngcontent-%COMP%]{transform:rotate(0)}.toggle-children-wrapper[_ngcontent-%COMP%]{padding:2px 3px 5px 1px}.toggle-children[_ngcontent-%COMP%]{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAASCAYAAABSO15qAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABAhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ1dWlkOjY1RTYzOTA2ODZDRjExREJBNkUyRDg4N0NFQUNCNDA3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkYzRkRFQjcxODUzNTExRTU4RTQwRkQwODFEOUZEMEE3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkYzRkRFQjcwODUzNTExRTU4RTQwRkQwODFEOUZEMEE3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE1IChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTk5NzA1OGEtZDI3OC00NDZkLWE4ODgtNGM4MGQ4YWI1NzNmIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6YzRkZmQxMGMtY2NlNS0xMTc4LWE5OGQtY2NkZmM5ODk5YWYwIi8+IDxkYzp0aXRsZT4gPHJkZjpBbHQ+IDxyZGY6bGkgeG1sOmxhbmc9IngtZGVmYXVsdCI+Z2x5cGhpY29uczwvcmRmOmxpPiA8L3JkZjpBbHQ+IDwvZGM6dGl0bGU+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+5iogFwAAAGhJREFUeNpiYGBgKABigf///zOQg0EARH4A4gZyDIIZ8B/JoAJKDIDhB0CcQIkBRBtEyABkgxwoMQCGD6AbRKoBGAYxQgXIBRuZGKgAKPIC3QLxArnRSHZCIjspk52ZKMrOFBUoAAEGAKnq593MQAZtAAAAAElFTkSuQmCC);height:8px;width:9px;background-size:contain;display:inline-block;position:relative;top:1px;background-repeat:no-repeat;background-position:center}.toggle-children-placeholder[_ngcontent-%COMP%]{display:inline-block;height:10px;width:10px;position:relative;top:1px;padding-right:3px}.node-content-wrapper[_ngcontent-%COMP%]{display:inline-block;padding:2px 5px;border-radius:2px;transition:background-color .15s,box-shadow .15s}.node-wrapper[_ngcontent-%COMP%]{display:flex;align-items:flex-start}.node-content-wrapper-active[_ngcontent-%COMP%], .node-content-wrapper-active.node-content-wrapper-focused[_ngcontent-%COMP%], .node-content-wrapper.node-content-wrapper-active[_ngcontent-%COMP%]:hover{background:#beebff}.node-content-wrapper-focused[_ngcontent-%COMP%]{background:#e7f4f9}.node-content-wrapper[_ngcontent-%COMP%]:hover{background:#f7fbff}.node-content-wrapper-active[_ngcontent-%COMP%], .node-content-wrapper-focused[_ngcontent-%COMP%], .node-content-wrapper[_ngcontent-%COMP%]:hover{box-shadow:inset 0 0 1px #999}.node-content-wrapper.is-dragging-over[_ngcontent-%COMP%]{background:#dfe;box-shadow:inset 0 0 1px #999}.node-content-wrapper.is-dragging-over-disabled[_ngcontent-%COMP%]{opacity:.5}tree-viewport[_ngcontent-%COMP%]{-webkit-tap-highlight-color:transparent;height:100%;overflow:auto;display:block}.tree-children[_ngcontent-%COMP%]{overflow:hidden;padding-left:20px}.empty-tree-drop-slot[_ngcontent-%COMP%]   .node-drop-slot[_ngcontent-%COMP%]{height:20px;min-width:100px}.angular-tree-component[_ngcontent-%COMP%]{width:100%;position:relative;display:inline-block;cursor:pointer;-webkit-touch-callout:none;-moz-user-select:none;user-select:none}tree-root[_ngcontent-%COMP%]   .angular-tree-component-rtl[_ngcontent-%COMP%]{direction:rtl}tree-root[_ngcontent-%COMP%]   .angular-tree-component-rtl[_ngcontent-%COMP%]   .toggle-children-wrapper-collapsed[_ngcontent-%COMP%]   .toggle-children[_ngcontent-%COMP%]{transform:rotate(180deg)!important}tree-root[_ngcontent-%COMP%]   .angular-tree-component-rtl[_ngcontent-%COMP%]   .tree-children[_ngcontent-%COMP%]{padding-right:20px;padding-left:0}tree-node-checkbox[_ngcontent-%COMP%]{padding:1px}[_ngcontent-%COMP%]:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#2b99a8;--secondary:#ef5c55;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#777777;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:"Helvetica Neue",Helvetica,Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*[_ngcontent-%COMP%], [_ngcontent-%COMP%]::after, [_ngcontent-%COMP%]::before{box-sizing:border-box}html[_ngcontent-%COMP%]{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article[_ngcontent-%COMP%], aside[_ngcontent-%COMP%], figcaption[_ngcontent-%COMP%], figure[_ngcontent-%COMP%], footer[_ngcontent-%COMP%], header[_ngcontent-%COMP%], hgroup[_ngcontent-%COMP%], main[_ngcontent-%COMP%], nav[_ngcontent-%COMP%], section[_ngcontent-%COMP%]{display:block}body[_ngcontent-%COMP%]{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"][_ngcontent-%COMP%]:focus{outline:0!important}h1[_ngcontent-%COMP%], h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%], h4[_ngcontent-%COMP%], h5[_ngcontent-%COMP%], h6[_ngcontent-%COMP%]{margin-top:0}dl[_ngcontent-%COMP%], ol[_ngcontent-%COMP%], p[_ngcontent-%COMP%], ul[_ngcontent-%COMP%]{margin-top:0;margin-bottom:1rem}abbr[data-original-title][_ngcontent-%COMP%], abbr[title][_ngcontent-%COMP%]{text-decoration:underline;text-decoration:underline dotted;cursor:help;border-bottom:0;text-decoration-skip-ink:none}address[_ngcontent-%COMP%]{margin-bottom:1rem;font-style:normal;line-height:inherit}ol[_ngcontent-%COMP%]   ol[_ngcontent-%COMP%], ol[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%], ul[_ngcontent-%COMP%]   ol[_ngcontent-%COMP%], ul[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]{margin-bottom:0}dt[_ngcontent-%COMP%]{font-weight:700}dd[_ngcontent-%COMP%]{margin-bottom:.5rem;margin-left:0}blockquote[_ngcontent-%COMP%], figure[_ngcontent-%COMP%]{margin:0 0 1rem}b[_ngcontent-%COMP%], strong[_ngcontent-%COMP%]{font-weight:bolder}sub[_ngcontent-%COMP%], sup[_ngcontent-%COMP%]{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub[_ngcontent-%COMP%]{bottom:-.25em}sup[_ngcontent-%COMP%]{top:-.5em}a[_ngcontent-%COMP%]{color:#2b99a8;text-decoration:none;background-color:transparent}a[_ngcontent-%COMP%]:hover{color:#1b626b;text-decoration:underline}a[_ngcontent-%COMP%]:not([href]):not([tabindex]), a[_ngcontent-%COMP%]:not([href]):not([tabindex]):focus, a[_ngcontent-%COMP%]:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a[_ngcontent-%COMP%]:not([href]):not([tabindex]):focus{outline:0}code[_ngcontent-%COMP%], kbd[_ngcontent-%COMP%], pre[_ngcontent-%COMP%], samp[_ngcontent-%COMP%]{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre[_ngcontent-%COMP%]{margin-top:0;margin-bottom:1rem;overflow:auto}img[_ngcontent-%COMP%]{vertical-align:middle;border-style:none}svg[_ngcontent-%COMP%]{overflow:hidden;vertical-align:middle}table[_ngcontent-%COMP%]{border-collapse:collapse}caption[_ngcontent-%COMP%]{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th[_ngcontent-%COMP%]{text-align:inherit}label[_ngcontent-%COMP%]{display:inline-block;margin-bottom:.5rem}button[_ngcontent-%COMP%]{border-radius:0}button[_ngcontent-%COMP%]:focus{outline:dotted 1px;outline:-webkit-focus-ring-color auto 5px}button[_ngcontent-%COMP%], input[_ngcontent-%COMP%], optgroup[_ngcontent-%COMP%], select[_ngcontent-%COMP%], textarea[_ngcontent-%COMP%]{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button[_ngcontent-%COMP%], input[_ngcontent-%COMP%]{overflow:visible}button[_ngcontent-%COMP%], select[_ngcontent-%COMP%]{text-transform:none}select[_ngcontent-%COMP%]{word-wrap:normal}[type=button][_ngcontent-%COMP%], [type=reset][_ngcontent-%COMP%], [type=submit][_ngcontent-%COMP%], button[_ngcontent-%COMP%]{-webkit-appearance:button}[type=button][_ngcontent-%COMP%]:not(:disabled), [type=reset][_ngcontent-%COMP%]:not(:disabled), [type=submit][_ngcontent-%COMP%]:not(:disabled), button[_ngcontent-%COMP%]:not(:disabled){cursor:pointer}[type=button][_ngcontent-%COMP%]::-moz-focus-inner, [type=reset][_ngcontent-%COMP%]::-moz-focus-inner, [type=submit][_ngcontent-%COMP%]::-moz-focus-inner, button[_ngcontent-%COMP%]::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox][_ngcontent-%COMP%], input[type=radio][_ngcontent-%COMP%]{box-sizing:border-box;padding:0}input[type=date][_ngcontent-%COMP%], input[type=datetime-local][_ngcontent-%COMP%], input[type=month][_ngcontent-%COMP%], input[type=time][_ngcontent-%COMP%]{-webkit-appearance:listbox}textarea[_ngcontent-%COMP%]{overflow:auto;resize:vertical}fieldset[_ngcontent-%COMP%]{min-width:0;padding:0;margin:0;border:0}legend[_ngcontent-%COMP%]{display:block;width:100%;max-width:100%;padding:0;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress[_ngcontent-%COMP%]{vertical-align:baseline}[type=number][_ngcontent-%COMP%]::-webkit-inner-spin-button, [type=number][_ngcontent-%COMP%]::-webkit-outer-spin-button{height:auto}[type=search][_ngcontent-%COMP%]{outline-offset:-2px;-webkit-appearance:none}[type=search][_ngcontent-%COMP%]::-webkit-search-decoration{-webkit-appearance:none}[_ngcontent-%COMP%]::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output[_ngcontent-%COMP%]{display:inline-block}summary[_ngcontent-%COMP%]{display:list-item;cursor:pointer}template[_ngcontent-%COMP%]{display:none}[hidden][_ngcontent-%COMP%]{display:none!important}.h1[_ngcontent-%COMP%], .h2[_ngcontent-%COMP%], .h3[_ngcontent-%COMP%], .h4[_ngcontent-%COMP%], .h5[_ngcontent-%COMP%], .h6[_ngcontent-%COMP%], h1[_ngcontent-%COMP%], h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%], h4[_ngcontent-%COMP%], h5[_ngcontent-%COMP%], h6[_ngcontent-%COMP%]{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1[_ngcontent-%COMP%], h1[_ngcontent-%COMP%]{font-size:2.5rem}.h2[_ngcontent-%COMP%], h2[_ngcontent-%COMP%]{font-size:2rem}.h3[_ngcontent-%COMP%], h3[_ngcontent-%COMP%]{font-size:1.75rem}.h4[_ngcontent-%COMP%], h4[_ngcontent-%COMP%]{font-size:1.5rem}.h5[_ngcontent-%COMP%], h5[_ngcontent-%COMP%]{font-size:1.25rem}.h6[_ngcontent-%COMP%], h6[_ngcontent-%COMP%]{font-size:1rem}.lead[_ngcontent-%COMP%]{font-size:1.25rem;font-weight:300}.display-1[_ngcontent-%COMP%]{font-size:6rem;font-weight:300;line-height:1.2}.display-2[_ngcontent-%COMP%]{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3[_ngcontent-%COMP%]{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4[_ngcontent-%COMP%]{font-size:3.5rem;font-weight:300;line-height:1.2}hr[_ngcontent-%COMP%]{box-sizing:content-box;height:0;overflow:visible;margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small[_ngcontent-%COMP%], small[_ngcontent-%COMP%]{font-size:80%;font-weight:400}.mark[_ngcontent-%COMP%], mark[_ngcontent-%COMP%]{padding:.2em;background-color:#fcf8e3}.list-inline[_ngcontent-%COMP%], .list-unstyled[_ngcontent-%COMP%]{padding-left:0;list-style:none}.list-inline-item[_ngcontent-%COMP%]{display:inline-block}.list-inline-item[_ngcontent-%COMP%]:not(:last-child){margin-right:.5rem}.initialism[_ngcontent-%COMP%]{font-size:90%;text-transform:uppercase}.blockquote[_ngcontent-%COMP%]{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer[_ngcontent-%COMP%]{display:block;font-size:80%;color:#6c757d}.blockquote-footer[_ngcontent-%COMP%]::before{content:"— "}.img-fluid[_ngcontent-%COMP%]{max-width:100%;height:auto}.img-thumbnail[_ngcontent-%COMP%]{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure[_ngcontent-%COMP%]{display:inline-block}.figure-img[_ngcontent-%COMP%]{margin-bottom:.5rem;line-height:1}.figure-caption[_ngcontent-%COMP%]{font-size:90%;color:#6c757d}code[_ngcontent-%COMP%]{font-size:87.5%;color:#e83e8c;word-break:break-word}a[_ngcontent-%COMP%] > code[_ngcontent-%COMP%]{color:inherit}kbd[_ngcontent-%COMP%]{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd[_ngcontent-%COMP%]   kbd[_ngcontent-%COMP%]{padding:0;font-size:100%;font-weight:700}pre[_ngcontent-%COMP%]{display:block;font-size:87.5%;color:#212529}pre[_ngcontent-%COMP%]   code[_ngcontent-%COMP%]{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable[_ngcontent-%COMP%]{max-height:340px;overflow-y:scroll}.container[_ngcontent-%COMP%]{width:100%;margin-right:auto;margin-left:auto}@media (min-width:576px){.container[_ngcontent-%COMP%]{max-width:540px}}@media (min-width:768px){.container[_ngcontent-%COMP%]{max-width:720px}}@media (min-width:992px){.container[_ngcontent-%COMP%]{max-width:960px}}@media (min-width:1200px){.container[_ngcontent-%COMP%]{max-width:1140px}}.container-fluid[_ngcontent-%COMP%]{width:100%;margin-right:auto;margin-left:auto}.row[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap}.no-gutters[_ngcontent-%COMP%]{margin-right:0;margin-left:0}.no-gutters[_ngcontent-%COMP%] > .col[_ngcontent-%COMP%], .no-gutters[_ngcontent-%COMP%] > [class*=col-][_ngcontent-%COMP%]{padding-right:0;padding-left:0}.cd-col-form[_ngcontent-%COMP%], .cd-col-form-input[_ngcontent-%COMP%], .cd-col-form-label[_ngcontent-%COMP%], .cd-col-form-offset[_ngcontent-%COMP%], .col[_ngcontent-%COMP%], .col-1[_ngcontent-%COMP%], .col-10[_ngcontent-%COMP%], .col-11[_ngcontent-%COMP%], .col-12[_ngcontent-%COMP%], .col-2[_ngcontent-%COMP%], .col-3[_ngcontent-%COMP%], .col-4[_ngcontent-%COMP%], .col-5[_ngcontent-%COMP%], .col-6[_ngcontent-%COMP%], .col-7[_ngcontent-%COMP%], .col-8[_ngcontent-%COMP%], .col-9[_ngcontent-%COMP%], .col-auto[_ngcontent-%COMP%], .col-lg[_ngcontent-%COMP%], .col-lg-1[_ngcontent-%COMP%], .col-lg-10[_ngcontent-%COMP%], .col-lg-11[_ngcontent-%COMP%], .col-lg-12[_ngcontent-%COMP%], .col-lg-2[_ngcontent-%COMP%], .col-lg-3[_ngcontent-%COMP%], .col-lg-4[_ngcontent-%COMP%], .col-lg-5[_ngcontent-%COMP%], .col-lg-6[_ngcontent-%COMP%], .col-lg-7[_ngcontent-%COMP%], .col-lg-8[_ngcontent-%COMP%], .col-lg-9[_ngcontent-%COMP%], .col-lg-auto[_ngcontent-%COMP%], .col-md[_ngcontent-%COMP%], .col-md-1[_ngcontent-%COMP%], .col-md-10[_ngcontent-%COMP%], .col-md-11[_ngcontent-%COMP%], .col-md-12[_ngcontent-%COMP%], .col-md-2[_ngcontent-%COMP%], .col-md-3[_ngcontent-%COMP%], .col-md-4[_ngcontent-%COMP%], .col-md-5[_ngcontent-%COMP%], .col-md-6[_ngcontent-%COMP%], .col-md-7[_ngcontent-%COMP%], .col-md-8[_ngcontent-%COMP%], .col-md-9[_ngcontent-%COMP%], .col-md-auto[_ngcontent-%COMP%], .col-sm[_ngcontent-%COMP%], .col-sm-1[_ngcontent-%COMP%], .col-sm-10[_ngcontent-%COMP%], .col-sm-11[_ngcontent-%COMP%], .col-sm-12[_ngcontent-%COMP%], .col-sm-2[_ngcontent-%COMP%], .col-sm-3[_ngcontent-%COMP%], .col-sm-4[_ngcontent-%COMP%], .col-sm-5[_ngcontent-%COMP%], .col-sm-6[_ngcontent-%COMP%], .col-sm-7[_ngcontent-%COMP%], .col-sm-8[_ngcontent-%COMP%], .col-sm-9[_ngcontent-%COMP%], .col-sm-auto[_ngcontent-%COMP%], .col-xl[_ngcontent-%COMP%], .col-xl-1[_ngcontent-%COMP%], .col-xl-10[_ngcontent-%COMP%], .col-xl-11[_ngcontent-%COMP%], .col-xl-12[_ngcontent-%COMP%], .col-xl-2[_ngcontent-%COMP%], .col-xl-3[_ngcontent-%COMP%], .col-xl-4[_ngcontent-%COMP%], .col-xl-5[_ngcontent-%COMP%], .col-xl-6[_ngcontent-%COMP%], .col-xl-7[_ngcontent-%COMP%], .col-xl-8[_ngcontent-%COMP%], .col-xl-9[_ngcontent-%COMP%], .col-xl-auto[_ngcontent-%COMP%],   cd-info-card,   cd-info-card.cd-capacity-card,   cd-info-card.cd-performance-card,   cd-info-card.cd-status-card, cd-modal[_ngcontent-%COMP%]   .cd-col-form-input[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-label[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-offset[_ngcontent-%COMP%]{position:relative;width:100%;padding-right:15px;padding-left:15px}.col[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;max-width:100%}.col-auto[_ngcontent-%COMP%]{flex:0 0 auto;width:auto;max-width:100%}.col-1[_ngcontent-%COMP%]{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-2[_ngcontent-%COMP%]{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-3[_ngcontent-%COMP%]{flex:0 0 25%;max-width:25%}.col-4[_ngcontent-%COMP%]{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-5[_ngcontent-%COMP%]{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-6[_ngcontent-%COMP%]{flex:0 0 50%;max-width:50%}.col-7[_ngcontent-%COMP%]{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-8[_ngcontent-%COMP%]{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-9[_ngcontent-%COMP%]{flex:0 0 75%;max-width:75%}.col-10[_ngcontent-%COMP%]{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-11[_ngcontent-%COMP%]{flex:0 0 91.6666666667%;max-width:91.6666666667%}.cd-col-form[_ngcontent-%COMP%], .col-12[_ngcontent-%COMP%],   cd-info-card{flex:0 0 100%;max-width:100%}.order-first[_ngcontent-%COMP%]{order:-1}.order-last[_ngcontent-%COMP%]{order:13}.order-0[_ngcontent-%COMP%]{order:0}.order-1[_ngcontent-%COMP%]{order:1}.order-2[_ngcontent-%COMP%]{order:2}.order-3[_ngcontent-%COMP%]{order:3}.order-4[_ngcontent-%COMP%]{order:4}.order-5[_ngcontent-%COMP%]{order:5}.order-6[_ngcontent-%COMP%]{order:6}.order-7[_ngcontent-%COMP%]{order:7}.order-8[_ngcontent-%COMP%]{order:8}.order-9[_ngcontent-%COMP%]{order:9}.order-10[_ngcontent-%COMP%]{order:10}.order-11[_ngcontent-%COMP%]{order:11}.order-12[_ngcontent-%COMP%]{order:12}.offset-1[_ngcontent-%COMP%]{margin-left:8.3333333333%}.offset-2[_ngcontent-%COMP%]{margin-left:16.6666666667%}.offset-3[_ngcontent-%COMP%]{margin-left:25%}.offset-4[_ngcontent-%COMP%]{margin-left:33.3333333333%}.offset-5[_ngcontent-%COMP%]{margin-left:41.6666666667%}.offset-6[_ngcontent-%COMP%]{margin-left:50%}.offset-7[_ngcontent-%COMP%]{margin-left:58.3333333333%}.offset-8[_ngcontent-%COMP%]{margin-left:66.6666666667%}.offset-9[_ngcontent-%COMP%]{margin-left:75%}.offset-10[_ngcontent-%COMP%]{margin-left:83.3333333333%}.offset-11[_ngcontent-%COMP%]{margin-left:91.6666666667%}@media (min-width:576px){.col-sm[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;max-width:100%}.col-sm-auto[_ngcontent-%COMP%]{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1[_ngcontent-%COMP%]{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-sm-2[_ngcontent-%COMP%]{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-3[_ngcontent-%COMP%]{flex:0 0 25%;max-width:25%}.cd-col-form-label[_ngcontent-%COMP%], .col-sm-4[_ngcontent-%COMP%]{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-sm-5[_ngcontent-%COMP%]{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-sm-6[_ngcontent-%COMP%]{flex:0 0 50%;max-width:50%}.col-sm-7[_ngcontent-%COMP%]{flex:0 0 58.3333333333%;max-width:58.3333333333%}.cd-col-form-input[_ngcontent-%COMP%], .cd-col-form-offset[_ngcontent-%COMP%], .col-sm-8[_ngcontent-%COMP%]{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-sm-9[_ngcontent-%COMP%]{flex:0 0 75%;max-width:75%}.col-sm-10[_ngcontent-%COMP%]{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-sm-11[_ngcontent-%COMP%]{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-sm-12[_ngcontent-%COMP%],   cd-info-card{flex:0 0 100%;max-width:100%}.order-sm-first[_ngcontent-%COMP%]{order:-1}.order-sm-last[_ngcontent-%COMP%]{order:13}.order-sm-0[_ngcontent-%COMP%]{order:0}.order-sm-1[_ngcontent-%COMP%]{order:1}.order-sm-2[_ngcontent-%COMP%]{order:2}.order-sm-3[_ngcontent-%COMP%]{order:3}.order-sm-4[_ngcontent-%COMP%]{order:4}.order-sm-5[_ngcontent-%COMP%]{order:5}.order-sm-6[_ngcontent-%COMP%]{order:6}.order-sm-7[_ngcontent-%COMP%]{order:7}.order-sm-8[_ngcontent-%COMP%]{order:8}.order-sm-9[_ngcontent-%COMP%]{order:9}.order-sm-10[_ngcontent-%COMP%]{order:10}.order-sm-11[_ngcontent-%COMP%]{order:11}.order-sm-12[_ngcontent-%COMP%]{order:12}.offset-sm-0[_ngcontent-%COMP%]{margin-left:0}.offset-sm-1[_ngcontent-%COMP%]{margin-left:8.3333333333%}.offset-sm-2[_ngcontent-%COMP%]{margin-left:16.6666666667%}.offset-sm-3[_ngcontent-%COMP%]{margin-left:25%}.cd-col-form-offset[_ngcontent-%COMP%], .offset-sm-4[_ngcontent-%COMP%]{margin-left:33.3333333333%}.offset-sm-5[_ngcontent-%COMP%]{margin-left:41.6666666667%}.offset-sm-6[_ngcontent-%COMP%]{margin-left:50%}.offset-sm-7[_ngcontent-%COMP%]{margin-left:58.3333333333%}.offset-sm-8[_ngcontent-%COMP%]{margin-left:66.6666666667%}.offset-sm-9[_ngcontent-%COMP%]{margin-left:75%}.offset-sm-10[_ngcontent-%COMP%]{margin-left:83.3333333333%}.offset-sm-11[_ngcontent-%COMP%]{margin-left:91.6666666667%}}@media (min-width:768px){.col-md[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;max-width:100%}.col-md-auto[_ngcontent-%COMP%]{flex:0 0 auto;width:auto;max-width:100%}.col-md-1[_ngcontent-%COMP%]{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-md-2[_ngcontent-%COMP%]{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-3[_ngcontent-%COMP%]{flex:0 0 25%;max-width:25%}.cd-col-form-label[_ngcontent-%COMP%], .col-md-4[_ngcontent-%COMP%]{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-md-5[_ngcontent-%COMP%]{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-md-6[_ngcontent-%COMP%],   cd-info-card{flex:0 0 50%;max-width:50%}.col-md-7[_ngcontent-%COMP%]{flex:0 0 58.3333333333%;max-width:58.3333333333%}.cd-col-form-input[_ngcontent-%COMP%], .cd-col-form-offset[_ngcontent-%COMP%], .col-md-8[_ngcontent-%COMP%]{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-md-9[_ngcontent-%COMP%]{flex:0 0 75%;max-width:75%}.col-md-10[_ngcontent-%COMP%]{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-md-11[_ngcontent-%COMP%]{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-md-12[_ngcontent-%COMP%]{flex:0 0 100%;max-width:100%}.order-md-first[_ngcontent-%COMP%]{order:-1}.order-md-last[_ngcontent-%COMP%]{order:13}.order-md-0[_ngcontent-%COMP%]{order:0}.order-md-1[_ngcontent-%COMP%]{order:1}.order-md-2[_ngcontent-%COMP%]{order:2}.order-md-3[_ngcontent-%COMP%]{order:3}.order-md-4[_ngcontent-%COMP%]{order:4}.order-md-5[_ngcontent-%COMP%]{order:5}.order-md-6[_ngcontent-%COMP%]{order:6}.order-md-7[_ngcontent-%COMP%]{order:7}.order-md-8[_ngcontent-%COMP%]{order:8}.order-md-9[_ngcontent-%COMP%]{order:9}.order-md-10[_ngcontent-%COMP%]{order:10}.order-md-11[_ngcontent-%COMP%]{order:11}.order-md-12[_ngcontent-%COMP%]{order:12}.offset-md-0[_ngcontent-%COMP%]{margin-left:0}.offset-md-1[_ngcontent-%COMP%]{margin-left:8.3333333333%}.offset-md-2[_ngcontent-%COMP%]{margin-left:16.6666666667%}.offset-md-3[_ngcontent-%COMP%]{margin-left:25%}.offset-md-4[_ngcontent-%COMP%]{margin-left:33.3333333333%}.offset-md-5[_ngcontent-%COMP%]{margin-left:41.6666666667%}.offset-md-6[_ngcontent-%COMP%]{margin-left:50%}.offset-md-7[_ngcontent-%COMP%]{margin-left:58.3333333333%}.offset-md-8[_ngcontent-%COMP%]{margin-left:66.6666666667%}.offset-md-9[_ngcontent-%COMP%]{margin-left:75%}.offset-md-10[_ngcontent-%COMP%]{margin-left:83.3333333333%}.offset-md-11[_ngcontent-%COMP%]{margin-left:91.6666666667%}}@media (min-width:992px){.col-lg[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;max-width:100%}.col-lg-auto[_ngcontent-%COMP%]{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1[_ngcontent-%COMP%]{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-lg-2[_ngcontent-%COMP%]{flex:0 0 16.6666666667%;max-width:16.6666666667%}.cd-col-form-label[_ngcontent-%COMP%], .col-lg-3[_ngcontent-%COMP%]{flex:0 0 25%;max-width:25%}.col-lg-4[_ngcontent-%COMP%],   cd-info-card, cd-modal[_ngcontent-%COMP%]   .cd-col-form-label[_ngcontent-%COMP%]{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-lg-5[_ngcontent-%COMP%]{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-lg-6[_ngcontent-%COMP%]{flex:0 0 50%;max-width:50%}.col-lg-7[_ngcontent-%COMP%]{flex:0 0 58.3333333333%;max-width:58.3333333333%}.cd-col-form[_ngcontent-%COMP%], .col-lg-8[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-input[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-offset[_ngcontent-%COMP%]{flex:0 0 66.6666666667%;max-width:66.6666666667%}.cd-col-form-input[_ngcontent-%COMP%], .cd-col-form-offset[_ngcontent-%COMP%], .col-lg-9[_ngcontent-%COMP%]{flex:0 0 75%;max-width:75%}.col-lg-10[_ngcontent-%COMP%]{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-lg-11[_ngcontent-%COMP%]{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-lg-12[_ngcontent-%COMP%]{flex:0 0 100%;max-width:100%}.order-lg-first[_ngcontent-%COMP%]{order:-1}.order-lg-last[_ngcontent-%COMP%]{order:13}.order-lg-0[_ngcontent-%COMP%]{order:0}.order-lg-1[_ngcontent-%COMP%]{order:1}.order-lg-2[_ngcontent-%COMP%]{order:2}.order-lg-3[_ngcontent-%COMP%]{order:3}.order-lg-4[_ngcontent-%COMP%]{order:4}.order-lg-5[_ngcontent-%COMP%]{order:5}.order-lg-6[_ngcontent-%COMP%]{order:6}.order-lg-7[_ngcontent-%COMP%]{order:7}.order-lg-8[_ngcontent-%COMP%]{order:8}.order-lg-9[_ngcontent-%COMP%]{order:9}.order-lg-10[_ngcontent-%COMP%]{order:10}.order-lg-11[_ngcontent-%COMP%]{order:11}.order-lg-12[_ngcontent-%COMP%]{order:12}.offset-lg-0[_ngcontent-%COMP%]{margin-left:0}.offset-lg-1[_ngcontent-%COMP%]{margin-left:8.3333333333%}.offset-lg-2[_ngcontent-%COMP%]{margin-left:16.6666666667%}.cd-col-form-offset[_ngcontent-%COMP%], .offset-lg-3[_ngcontent-%COMP%]{margin-left:25%}.offset-lg-4[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-offset[_ngcontent-%COMP%]{margin-left:33.3333333333%}.offset-lg-5[_ngcontent-%COMP%]{margin-left:41.6666666667%}.offset-lg-6[_ngcontent-%COMP%]{margin-left:50%}.offset-lg-7[_ngcontent-%COMP%]{margin-left:58.3333333333%}.offset-lg-8[_ngcontent-%COMP%]{margin-left:66.6666666667%}.offset-lg-9[_ngcontent-%COMP%]{margin-left:75%}.offset-lg-10[_ngcontent-%COMP%]{margin-left:83.3333333333%}.offset-lg-11[_ngcontent-%COMP%]{margin-left:91.6666666667%}}@media (min-width:1200px){.col-xl[_ngcontent-%COMP%],   cd-info-card.cd-capacity-card,   cd-info-card.cd-performance-card{flex-basis:0;flex-grow:1;max-width:100%}.col-xl-auto[_ngcontent-%COMP%]{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1[_ngcontent-%COMP%]{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-xl-2[_ngcontent-%COMP%]{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xl-3[_ngcontent-%COMP%],   cd-info-card.cd-status-card{flex:0 0 25%;max-width:25%}.col-xl-4[_ngcontent-%COMP%]{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-xl-5[_ngcontent-%COMP%]{flex:0 0 41.6666666667%;max-width:41.6666666667%}.cd-col-form[_ngcontent-%COMP%], .col-xl-6[_ngcontent-%COMP%]{flex:0 0 50%;max-width:50%}.col-xl-7[_ngcontent-%COMP%]{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-xl-8[_ngcontent-%COMP%]{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-xl-9[_ngcontent-%COMP%]{flex:0 0 75%;max-width:75%}.col-xl-10[_ngcontent-%COMP%]{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-xl-11[_ngcontent-%COMP%]{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-xl-12[_ngcontent-%COMP%]{flex:0 0 100%;max-width:100%}.order-xl-first[_ngcontent-%COMP%]{order:-1}.order-xl-last[_ngcontent-%COMP%]{order:13}.order-xl-0[_ngcontent-%COMP%]{order:0}.order-xl-1[_ngcontent-%COMP%]{order:1}.order-xl-2[_ngcontent-%COMP%]{order:2}.order-xl-3[_ngcontent-%COMP%]{order:3}.order-xl-4[_ngcontent-%COMP%]{order:4}.order-xl-5[_ngcontent-%COMP%]{order:5}.order-xl-6[_ngcontent-%COMP%]{order:6}.order-xl-7[_ngcontent-%COMP%]{order:7}.order-xl-8[_ngcontent-%COMP%]{order:8}.order-xl-9[_ngcontent-%COMP%]{order:9}.order-xl-10[_ngcontent-%COMP%]{order:10}.order-xl-11[_ngcontent-%COMP%]{order:11}.order-xl-12[_ngcontent-%COMP%]{order:12}.offset-xl-0[_ngcontent-%COMP%]{margin-left:0}.offset-xl-1[_ngcontent-%COMP%]{margin-left:8.3333333333%}.offset-xl-2[_ngcontent-%COMP%]{margin-left:16.6666666667%}.offset-xl-3[_ngcontent-%COMP%]{margin-left:25%}.offset-xl-4[_ngcontent-%COMP%]{margin-left:33.3333333333%}.offset-xl-5[_ngcontent-%COMP%]{margin-left:41.6666666667%}.offset-xl-6[_ngcontent-%COMP%]{margin-left:50%}.offset-xl-7[_ngcontent-%COMP%]{margin-left:58.3333333333%}.offset-xl-8[_ngcontent-%COMP%]{margin-left:66.6666666667%}.offset-xl-9[_ngcontent-%COMP%]{margin-left:75%}.offset-xl-10[_ngcontent-%COMP%]{margin-left:83.3333333333%}.offset-xl-11[_ngcontent-%COMP%]{margin-left:91.6666666667%}}.table[_ngcontent-%COMP%]{width:100%;margin-bottom:1rem;color:#212529}.table[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%]{border-top:2px solid #dee2e6}.table-sm[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-sm[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{padding:.3rem}.table-bordered[_ngcontent-%COMP%], .table-bordered[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-bordered[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border:1px solid #dee2e6}.table-bordered[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-bordered[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-bottom-width:2px}.table-borderless[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-borderless[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-borderless[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-borderless[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border:0}.table-striped[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary[_ngcontent-%COMP%], .table-primary[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-primary[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#c4e2e7}.table-primary[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-primary[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-primary[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-primary[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#91cad2}.table-hover[_ngcontent-%COMP%]   .table-primary[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-primary[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-primary[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#b2d9e0}.table-secondary[_ngcontent-%COMP%], .table-secondary[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-secondary[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#fbd1cf}.table-secondary[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-secondary[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-secondary[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-secondary[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#f7aaa7}.table-hover[_ngcontent-%COMP%]   .table-secondary[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-secondary[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-secondary[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#f9bab7}.table-success[_ngcontent-%COMP%], .table-success[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-success[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#c3e6cb}.table-success[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-success[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-success[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-success[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#8fd19e}.table-hover[_ngcontent-%COMP%]   .table-success[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-success[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-success[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#b1dfbb}.table-info[_ngcontent-%COMP%], .table-info[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-info[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#bee5eb}.table-info[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-info[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-info[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-info[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#86cfda}.table-hover[_ngcontent-%COMP%]   .table-info[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-info[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-info[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#abdde5}.table-warning[_ngcontent-%COMP%], .table-warning[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-warning[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#ffeeba}.table-warning[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-warning[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-warning[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-warning[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#ffdf7e}.table-hover[_ngcontent-%COMP%]   .table-warning[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-warning[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-warning[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#ffe8a1}.table-danger[_ngcontent-%COMP%], .table-danger[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-danger[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#f5c6cb}.table-danger[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-danger[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-danger[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-danger[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#ed969e}.table-hover[_ngcontent-%COMP%]   .table-danger[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-danger[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-danger[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#f1b0b7}.table-light[_ngcontent-%COMP%], .table-light[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-light[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#fdfdfe}.table-light[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-light[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-light[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-light[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#fbfcfc}.table-hover[_ngcontent-%COMP%]   .table-light[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-light[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-light[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#ececf6}.table-dark[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#d9d9d9}.table-dark[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#b8b8b8}.table-hover[_ngcontent-%COMP%]   .table-dark[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-dark[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-dark[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#ccc}.table-active[_ngcontent-%COMP%], .table-active[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-active[_ngcontent-%COMP%] > th[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-active[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-active[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-active[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:rgba(0,0,0,.075)}.table[_ngcontent-%COMP%]   .thead-dark[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{color:#fff;background-color:#343a40;border-color:#454d55}.table[_ngcontent-%COMP%]   .thead-light[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark[_ngcontent-%COMP%]{color:#fff;background-color:#343a40}.table-dark[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#454d55}.table-dark.table-bordered[_ngcontent-%COMP%]{border:0}.table-dark.table-striped[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm[_ngcontent-%COMP%]{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm[_ngcontent-%COMP%] > .table-bordered[_ngcontent-%COMP%]{border:0}}@media (max-width:767.98px){.table-responsive-md[_ngcontent-%COMP%]{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md[_ngcontent-%COMP%] > .table-bordered[_ngcontent-%COMP%]{border:0}}@media (max-width:991.98px){.table-responsive-lg[_ngcontent-%COMP%]{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg[_ngcontent-%COMP%] > .table-bordered[_ngcontent-%COMP%]{border:0}}@media (max-width:1199.98px){.table-responsive-xl[_ngcontent-%COMP%]{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl[_ngcontent-%COMP%] > .table-bordered[_ngcontent-%COMP%]{border:0}}.table-responsive[_ngcontent-%COMP%]{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive[_ngcontent-%COMP%] > .table-bordered[_ngcontent-%COMP%]{border:0}.cd-form-control[_ngcontent-%COMP%], .form-control[_ngcontent-%COMP%]{width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.cd-form-control[_ngcontent-%COMP%], .form-control[_ngcontent-%COMP%]{transition:none}}.cd-form-control[_ngcontent-%COMP%]::-ms-expand, .form-control[_ngcontent-%COMP%]::-ms-expand{background-color:transparent;border:0}.cd-form-control[_ngcontent-%COMP%]:focus, .form-control[_ngcontent-%COMP%]:focus{color:#495057;background-color:#fff;box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.cd-form-control[_ngcontent-%COMP%]::placeholder, .form-control[_ngcontent-%COMP%]::placeholder{color:#6c757d;opacity:1}.cd-form-control[_ngcontent-%COMP%]:disabled, .form-control[_ngcontent-%COMP%]:disabled, .form-control[readonly][_ngcontent-%COMP%], [readonly].cd-form-control[_ngcontent-%COMP%]{background-color:#e9ecef;opacity:1}select.cd-form-control[_ngcontent-%COMP%]:focus::-ms-value, select.form-control[_ngcontent-%COMP%]:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file[_ngcontent-%COMP%], .form-control-range[_ngcontent-%COMP%]{display:block;width:100%}.cd-col-form-label[_ngcontent-%COMP%], .col-form-label[_ngcontent-%COMP%]{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg[_ngcontent-%COMP%]{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm[_ngcontent-%COMP%]{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext[_ngcontent-%COMP%]{display:block;width:100%;padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg[_ngcontent-%COMP%], .form-control-plaintext.form-control-sm[_ngcontent-%COMP%]{padding-right:0;padding-left:0}.form-control-sm[_ngcontent-%COMP%]{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg[_ngcontent-%COMP%]{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple][_ngcontent-%COMP%], select.form-control[size][_ngcontent-%COMP%], select[multiple].cd-form-control[_ngcontent-%COMP%], select[size].cd-form-control[_ngcontent-%COMP%], textarea.cd-form-control[_ngcontent-%COMP%], textarea.form-control[_ngcontent-%COMP%]{height:auto}.form-group[_ngcontent-%COMP%]{margin-bottom:1rem}.form-text[_ngcontent-%COMP%]{display:block;margin-top:.25rem}.form-row[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row[_ngcontent-%COMP%] > .col[_ngcontent-%COMP%], .form-row[_ngcontent-%COMP%] > [class*=col-][_ngcontent-%COMP%]{padding-right:5px;padding-left:5px}.form-check[_ngcontent-%COMP%]{position:relative;display:block;padding-left:1.25rem}.form-check-input[_ngcontent-%COMP%]{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input[_ngcontent-%COMP%]:disabled ~ .form-check-label[_ngcontent-%COMP%]{color:#6c757d}.form-check-label[_ngcontent-%COMP%]{margin-bottom:0}.form-check-inline[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback[_ngcontent-%COMP%]{display:none;width:100%;margin-top:.25rem;font-size:100%;color:#28a745}.valid-tooltip[_ngcontent-%COMP%]{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.form-control.is-valid[_ngcontent-%COMP%], .is-valid.cd-form-control[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:valid, .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:valid{border-color:#28a745;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=\'%2328a745\' d=\'M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z\'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:center right calc(.375em + .1875rem);background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid[_ngcontent-%COMP%]:focus, .is-valid.cd-form-control[_ngcontent-%COMP%]:focus, .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:valid:focus, .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-control.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .form-control.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .is-valid.cd-form-control[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .is-valid.cd-form-control[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%]{display:block}.was-validated[_ngcontent-%COMP%]   textarea.cd-form-control[_ngcontent-%COMP%]:valid, .was-validated[_ngcontent-%COMP%]   textarea.form-control[_ngcontent-%COMP%]:valid, textarea.form-control.is-valid[_ngcontent-%COMP%], textarea.is-valid.cd-form-control[_ngcontent-%COMP%]{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:valid{border-color:#28a745;padding-right:calc((1em + .75rem) * 3 / 4 + 1.75rem);background:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 4 5\'%3e%3cpath fill=\'%23343a40\' d=\'M2 0L0 2h4zm0 5L0 3h4z\'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat,url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 8 8\'%3e%3cpath fill=\'%2328a745\' d=\'M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z\'/%3e%3c/svg%3e") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat #fff}.custom-select.is-valid[_ngcontent-%COMP%]:focus, .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-select.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .custom-select.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%]{display:block}.form-control-file.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .form-control-file.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control-file[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control-file[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%]{display:block}.form-check-input.is-valid[_ngcontent-%COMP%] ~ .form-check-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]:valid ~ .form-check-label[_ngcontent-%COMP%]{color:#28a745}.form-check-input.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .form-check-input.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%]{display:block}.custom-control-input.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .custom-control-input.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%]{display:block}.custom-control-input.is-valid[_ngcontent-%COMP%]:focus ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid:focus ~ .custom-control-label[_ngcontent-%COMP%]::before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-file-input.is-valid[_ngcontent-%COMP%] ~ .custom-file-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:valid ~ .custom-file-label[_ngcontent-%COMP%]{border-color:#28a745}.custom-file-input.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .custom-file-input.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%]{display:block}.custom-file-input.is-valid[_ngcontent-%COMP%]:focus ~ .custom-file-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:valid:focus ~ .custom-file-label[_ngcontent-%COMP%]{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback[_ngcontent-%COMP%]{display:none;width:100%;margin-top:.25rem;font-size:100%;color:#dc3545}.invalid-tooltip[_ngcontent-%COMP%]{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.form-control.is-invalid[_ngcontent-%COMP%], .is-invalid.cd-form-control[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:invalid, .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]: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\' fill=\'%23dc3545\' viewBox=\'-2 -2 7 7\'%3e%3cpath stroke=\'%23dc3545\' d=\'M0 0l3 3m0-3L0 3\'/%3e%3ccircle r=\'.5\'/%3e%3ccircle cx=\'3\' r=\'.5\'/%3e%3ccircle cy=\'3\' r=\'.5\'/%3e%3ccircle cx=\'3\' cy=\'3\' r=\'.5\'/%3e%3c/svg%3E");background-repeat:no-repeat;background-position:center right calc(.375em + .1875rem);background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid[_ngcontent-%COMP%]:focus, .is-invalid.cd-form-control[_ngcontent-%COMP%]:focus, .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:invalid:focus, .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-control.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .form-control.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .is-invalid.cd-form-control[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .is-invalid.cd-form-control[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%]{display:block}.was-validated[_ngcontent-%COMP%]   textarea.cd-form-control[_ngcontent-%COMP%]:invalid, .was-validated[_ngcontent-%COMP%]   textarea.form-control[_ngcontent-%COMP%]:invalid, textarea.form-control.is-invalid[_ngcontent-%COMP%], textarea.is-invalid.cd-form-control[_ngcontent-%COMP%]{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:invalid{border-color:#dc3545;padding-right:calc((1em + .75rem) * 3 / 4 + 1.75rem);background:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 4 5\'%3e%3cpath fill=\'%23343a40\' d=\'M2 0L0 2h4zm0 5L0 3h4z\'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat,url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' fill=\'%23dc3545\' viewBox=\'-2 -2 7 7\'%3e%3cpath stroke=\'%23dc3545\' d=\'M0 0l3 3m0-3L0 3\'/%3e%3ccircle r=\'.5\'/%3e%3ccircle cx=\'3\' r=\'.5\'/%3e%3ccircle cy=\'3\' r=\'.5\'/%3e%3ccircle cx=\'3\' cy=\'3\' r=\'.5\'/%3e%3c/svg%3E") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat #fff}.custom-select.is-invalid[_ngcontent-%COMP%]:focus, .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-select.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .custom-select.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%]{display:block}.form-control-file.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .form-control-file.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control-file[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control-file[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%]{display:block}.form-check-input.is-invalid[_ngcontent-%COMP%] ~ .form-check-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]:invalid ~ .form-check-label[_ngcontent-%COMP%]{color:#dc3545}.form-check-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .form-check-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%]{display:block}.custom-control-input.is-invalid[_ngcontent-%COMP%] ~ .custom-control-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid ~ .custom-control-label[_ngcontent-%COMP%]{color:#dc3545}.custom-control-input.is-invalid[_ngcontent-%COMP%] ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#dc3545}.custom-control-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .custom-control-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%]{display:block}.custom-control-input.is-invalid[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid:checked ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#e4606d;background-color:#e4606d}.custom-control-input.is-invalid[_ngcontent-%COMP%]:focus ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid:focus ~ .custom-control-label[_ngcontent-%COMP%]::before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid[_ngcontent-%COMP%]:focus:not(:checked) ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid:focus:not(:checked) ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#dc3545}.custom-file-input.is-invalid[_ngcontent-%COMP%] ~ .custom-file-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:invalid ~ .custom-file-label[_ngcontent-%COMP%]{border-color:#dc3545}.custom-file-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .custom-file-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%]{display:block}.custom-file-input.is-invalid[_ngcontent-%COMP%]:focus ~ .custom-file-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:invalid:focus ~ .custom-file-label[_ngcontent-%COMP%]{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline[_ngcontent-%COMP%]{display:flex;flex-flow:row wrap;align-items:center}.form-inline[_ngcontent-%COMP%]   .form-check[_ngcontent-%COMP%]{width:100%}@media (min-width:576px){.form-inline[_ngcontent-%COMP%]   label[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;margin-bottom:0}.form-inline[_ngcontent-%COMP%]   .form-group[_ngcontent-%COMP%]{display:flex;flex:0 0 auto;flex-flow:row wrap;align-items:center;margin-bottom:0}.form-inline[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%], .form-inline[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]{display:inline-block;width:auto;vertical-align:middle}.form-inline[_ngcontent-%COMP%]   .form-control-plaintext[_ngcontent-%COMP%]{display:inline-block}.form-inline[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%], .form-inline[_ngcontent-%COMP%]   .input-group[_ngcontent-%COMP%]{width:auto}.form-inline[_ngcontent-%COMP%]   .form-check[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;width:auto;padding-left:0}.form-inline[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]{position:relative;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline[_ngcontent-%COMP%]   .custom-control[_ngcontent-%COMP%]{align-items:center;justify-content:center}.form-inline[_ngcontent-%COMP%]   .custom-control-label[_ngcontent-%COMP%]{margin-bottom:0}}.btn[_ngcontent-%COMP%]{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;-moz-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;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[_ngcontent-%COMP%]{transition:none}}.btn[_ngcontent-%COMP%]:hover{color:#212529;text-decoration:none}.btn.focus[_ngcontent-%COMP%], .btn[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.btn.disabled[_ngcontent-%COMP%], .btn[_ngcontent-%COMP%]:disabled{opacity:.65}a.btn.disabled[_ngcontent-%COMP%], fieldset[_ngcontent-%COMP%]:disabled   a.btn[_ngcontent-%COMP%]{pointer-events:none}.btn-primary[_ngcontent-%COMP%]{color:#fff;background-color:#2b99a8;border-color:#2b99a8}.btn-primary[_ngcontent-%COMP%]:hover{color:#fff;background-color:#237d8a;border-color:#21747f}.btn-primary.focus[_ngcontent-%COMP%], .btn-primary[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(75,168,181,.5)}.btn-primary.disabled[_ngcontent-%COMP%], .btn-primary[_ngcontent-%COMP%]:disabled{color:#fff;background-color:#2b99a8;border-color:#2b99a8}.btn-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-primary.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#21747f;border-color:#1e6b75}.btn-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-primary.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(75,168,181,.5)}.btn-secondary[_ngcontent-%COMP%]{color:#fff;background-color:#ef5c55;border-color:#ef5c55}.btn-secondary[_ngcontent-%COMP%]:hover{color:#fff;background-color:#ec3a32;border-color:#eb2f26}.btn-secondary.focus[_ngcontent-%COMP%], .btn-secondary[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(241,116,111,.5)}.btn-secondary.disabled[_ngcontent-%COMP%], .btn-secondary[_ngcontent-%COMP%]:disabled{color:#fff;background-color:#ef5c55;border-color:#ef5c55}.btn-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-secondary.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#eb2f26;border-color:#ea241b}.btn-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-secondary.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(241,116,111,.5)}.btn-success[_ngcontent-%COMP%]{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success[_ngcontent-%COMP%]:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus[_ngcontent-%COMP%], .btn-success[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled[_ngcontent-%COMP%], .btn-success[_ngcontent-%COMP%]:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-success.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-success.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-info[_ngcontent-%COMP%]{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info[_ngcontent-%COMP%]:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus[_ngcontent-%COMP%], .btn-info[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled[_ngcontent-%COMP%], .btn-info[_ngcontent-%COMP%]:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-info.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-info.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-warning[_ngcontent-%COMP%]{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning[_ngcontent-%COMP%]:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus[_ngcontent-%COMP%], .btn-warning[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled[_ngcontent-%COMP%], .btn-warning[_ngcontent-%COMP%]:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-warning.dropdown-toggle[_ngcontent-%COMP%]{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-warning.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-danger[_ngcontent-%COMP%]{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger[_ngcontent-%COMP%]:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus[_ngcontent-%COMP%], .btn-danger[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled[_ngcontent-%COMP%], .btn-danger[_ngcontent-%COMP%]:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-danger.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-danger.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-light[_ngcontent-%COMP%]{color:#212529}.btn-light[_ngcontent-%COMP%]:hover{color:#212529}.btn-light.focus[_ngcontent-%COMP%], .btn-light[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled[_ngcontent-%COMP%], .btn-light[_ngcontent-%COMP%]:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-light.dropdown-toggle[_ngcontent-%COMP%]{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-light.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-dark[_ngcontent-%COMP%]{color:#fff;background-color:#777;border-color:#777}.btn-dark[_ngcontent-%COMP%]:hover{color:#fff;background-color:#646464;border-color:#5e5e5e}.btn-dark.focus[_ngcontent-%COMP%], .btn-dark[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(139,139,139,.5)}.btn-dark.disabled[_ngcontent-%COMP%], .btn-dark[_ngcontent-%COMP%]:disabled{color:#fff;background-color:#777;border-color:#777}.btn-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-dark.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#5e5e5e;border-color:#575757}.btn-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-dark.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(139,139,139,.5)}.btn-outline-primary[_ngcontent-%COMP%]{color:#2b99a8;border-color:#2b99a8}.btn-outline-primary[_ngcontent-%COMP%]:hover{color:#fff;background-color:#2b99a8;border-color:#2b99a8}.btn-outline-primary.focus[_ngcontent-%COMP%], .btn-outline-primary[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(43,153,168,.5)}.btn-outline-primary.disabled[_ngcontent-%COMP%], .btn-outline-primary[_ngcontent-%COMP%]:disabled{color:#2b99a8;background-color:transparent}.btn-outline-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-primary.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#2b99a8;border-color:#2b99a8}.btn-outline-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-primary.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(43,153,168,.5)}.btn-outline-secondary[_ngcontent-%COMP%]{color:#ef5c55;border-color:#ef5c55}.btn-outline-secondary[_ngcontent-%COMP%]:hover{color:#fff;background-color:#ef5c55;border-color:#ef5c55}.btn-outline-secondary.focus[_ngcontent-%COMP%], .btn-outline-secondary[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(239,92,85,.5)}.btn-outline-secondary.disabled[_ngcontent-%COMP%], .btn-outline-secondary[_ngcontent-%COMP%]:disabled{color:#ef5c55;background-color:transparent}.btn-outline-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-secondary.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#ef5c55;border-color:#ef5c55}.btn-outline-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-secondary.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(239,92,85,.5)}.btn-outline-success[_ngcontent-%COMP%]{color:#28a745;border-color:#28a745}.btn-outline-success[_ngcontent-%COMP%]:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus[_ngcontent-%COMP%], .btn-outline-success[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled[_ngcontent-%COMP%], .btn-outline-success[_ngcontent-%COMP%]:disabled{color:#28a745;background-color:transparent}.btn-outline-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-success.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-success.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info[_ngcontent-%COMP%]{color:#17a2b8;border-color:#17a2b8}.btn-outline-info[_ngcontent-%COMP%]:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus[_ngcontent-%COMP%], .btn-outline-info[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled[_ngcontent-%COMP%], .btn-outline-info[_ngcontent-%COMP%]:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-info.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-info.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning[_ngcontent-%COMP%]{color:#ffc107;border-color:#ffc107}.btn-outline-warning[_ngcontent-%COMP%]:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus[_ngcontent-%COMP%], .btn-outline-warning[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled[_ngcontent-%COMP%], .btn-outline-warning[_ngcontent-%COMP%]:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-warning.dropdown-toggle[_ngcontent-%COMP%]{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-warning.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger[_ngcontent-%COMP%]{color:#dc3545;border-color:#dc3545}.btn-outline-danger[_ngcontent-%COMP%]:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus[_ngcontent-%COMP%], .btn-outline-danger[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled[_ngcontent-%COMP%], .btn-outline-danger[_ngcontent-%COMP%]:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-danger.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-danger.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light[_ngcontent-%COMP%]{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light[_ngcontent-%COMP%]:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus[_ngcontent-%COMP%], .btn-outline-light[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled[_ngcontent-%COMP%], .btn-outline-light[_ngcontent-%COMP%]:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-light.dropdown-toggle[_ngcontent-%COMP%]{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-light.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark[_ngcontent-%COMP%]{color:#777;border-color:#777}.btn-outline-dark[_ngcontent-%COMP%]:hover{color:#fff;background-color:#777;border-color:#777}.btn-outline-dark.focus[_ngcontent-%COMP%], .btn-outline-dark[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(119,119,119,.5)}.btn-outline-dark.disabled[_ngcontent-%COMP%], .btn-outline-dark[_ngcontent-%COMP%]:disabled{color:#777;background-color:transparent}.btn-outline-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-dark.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#777;border-color:#777}.btn-outline-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-dark.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(119,119,119,.5)}.btn-link[_ngcontent-%COMP%]{font-weight:400;color:#2b99a8;text-decoration:none}.btn-link[_ngcontent-%COMP%]:hover{color:#1b626b;text-decoration:underline}.btn-link.focus[_ngcontent-%COMP%], .btn-link[_ngcontent-%COMP%]:focus{text-decoration:underline;box-shadow:none}.btn-link.disabled[_ngcontent-%COMP%], .btn-link[_ngcontent-%COMP%]:disabled{color:#6c757d;pointer-events:none}.btn-group-lg[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .btn-lg[_ngcontent-%COMP%]{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .btn-sm[_ngcontent-%COMP%]{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block[_ngcontent-%COMP%]{display:block;width:100%}.btn-block[_ngcontent-%COMP%] + .btn-block[_ngcontent-%COMP%]{margin-top:.5rem}input[type=button].btn-block[_ngcontent-%COMP%], input[type=reset].btn-block[_ngcontent-%COMP%], input[type=submit].btn-block[_ngcontent-%COMP%]{width:100%}.fade[_ngcontent-%COMP%]{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade[_ngcontent-%COMP%]{transition:none}}.fade[_ngcontent-%COMP%]:not(.show){opacity:0}.collapse[_ngcontent-%COMP%]:not(.show){display:none}.collapsing[_ngcontent-%COMP%]{position:relative;height:0;overflow:hidden;transition:height .35s ease}.dropdown[_ngcontent-%COMP%], .dropleft[_ngcontent-%COMP%], .dropright[_ngcontent-%COMP%], .dropup[_ngcontent-%COMP%]{position:relative}.dropdown-toggle[_ngcontent-%COMP%]{white-space:nowrap}.dropdown-toggle[_ngcontent-%COMP%]::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[_ngcontent-%COMP%]:empty::after{margin-left:0}.dropdown-menu[_ngcontent-%COMP%]{position:absolute;top:100%;left:0;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left[_ngcontent-%COMP%]{right:auto;left:0}.dropdown-menu-right[_ngcontent-%COMP%]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left[_ngcontent-%COMP%]{right:auto;left:0}.dropdown-menu-sm-right[_ngcontent-%COMP%]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left[_ngcontent-%COMP%]{right:auto;left:0}.dropdown-menu-md-right[_ngcontent-%COMP%]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left[_ngcontent-%COMP%]{right:auto;left:0}.dropdown-menu-lg-right[_ngcontent-%COMP%]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left[_ngcontent-%COMP%]{right:auto;left:0}.dropdown-menu-xl-right[_ngcontent-%COMP%]{right:0;left:auto}}.dropup[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]::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[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]:empty::after{margin-left:0}.dropright[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]::after{display:inline-block;margin-left:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid;vertical-align:0}.dropright[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]:empty::after{margin-left:0}.dropleft[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]::after{margin-left:.255em;vertical-align:.255em;content:"";display:none}.dropleft[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]::before{display:inline-block;margin-right:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent;vertical-align:0}.dropleft[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]:empty::after{margin-left:0}.dropdown-menu[x-placement^=bottom][_ngcontent-%COMP%], .dropdown-menu[x-placement^=left][_ngcontent-%COMP%], .dropdown-menu[x-placement^=right][_ngcontent-%COMP%], .dropdown-menu[x-placement^=top][_ngcontent-%COMP%]{right:auto;bottom:auto}.dropdown-divider[_ngcontent-%COMP%]{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item[_ngcontent-%COMP%]{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item[_ngcontent-%COMP%]:focus, .dropdown-item[_ngcontent-%COMP%]:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active[_ngcontent-%COMP%], .dropdown-item[_ngcontent-%COMP%]:active{color:#fff;text-decoration:none;background-color:#2b99a8}.dropdown-item.disabled[_ngcontent-%COMP%], .dropdown-item[_ngcontent-%COMP%]:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show[_ngcontent-%COMP%]{display:block}.dropdown-header[_ngcontent-%COMP%]{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text[_ngcontent-%COMP%]{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%]{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]{position:relative;flex:1 1 auto}.btn-group-vertical[_ngcontent-%COMP%] > .btn.active[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:active, .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:focus, .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:hover, .btn-group[_ngcontent-%COMP%] > .btn.active[_ngcontent-%COMP%], .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:active, .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:focus, .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:hover{z-index:1}.btn-toolbar[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar[_ngcontent-%COMP%]   .input-group[_ngcontent-%COMP%]{width:auto}.btn-group[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:first-child), .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:first-child){margin-left:-1px}.btn-group[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:last-child) > .btn[_ngcontent-%COMP%], .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:first-child) > .btn[_ngcontent-%COMP%], .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split[_ngcontent-%COMP%]{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split[_ngcontent-%COMP%]::after, .dropright[_ngcontent-%COMP%]   .dropdown-toggle-split[_ngcontent-%COMP%]::after, .dropup[_ngcontent-%COMP%]   .dropdown-toggle-split[_ngcontent-%COMP%]::after{margin-left:0}.dropleft[_ngcontent-%COMP%]   .dropdown-toggle-split[_ngcontent-%COMP%]::before{margin-right:0}.btn-group-sm[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%] + .dropdown-toggle-split[_ngcontent-%COMP%], .btn-sm[_ngcontent-%COMP%] + .dropdown-toggle-split[_ngcontent-%COMP%]{padding-right:.375rem;padding-left:.375rem}.btn-group-lg[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%] + .dropdown-toggle-split[_ngcontent-%COMP%], .btn-lg[_ngcontent-%COMP%] + .dropdown-toggle-split[_ngcontent-%COMP%]{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]{width:100%}.btn-group-vertical[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:first-child), .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:first-child){margin-top:-1px}.btn-group-vertical[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:last-child) > .btn[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:first-child) > .btn[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .btn-group-toggle[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]{margin-bottom:0}.btn-group-toggle[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]   input[type=checkbox][_ngcontent-%COMP%], .btn-group-toggle[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]   input[type=radio][_ngcontent-%COMP%], .btn-group-toggle[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]   input[type=checkbox][_ngcontent-%COMP%], .btn-group-toggle[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]   input[type=radio][_ngcontent-%COMP%]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group[_ngcontent-%COMP%]{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control-plaintext[_ngcontent-%COMP%]{position:relative;flex:1 1 auto;width:1%;margin-bottom:0}.input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%] + .cd-form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%] + .custom-file[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%] + .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%] + .form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%] + .cd-form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%] + .custom-file[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%] + .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%] + .form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%] + .cd-form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%] + .custom-file[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%] + .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%] + .form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%] + .cd-form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%] + .custom-file[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%] + .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%] + .form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control-plaintext[_ngcontent-%COMP%] + .cd-form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control-plaintext[_ngcontent-%COMP%] + .custom-file[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control-plaintext[_ngcontent-%COMP%] + .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control-plaintext[_ngcontent-%COMP%] + .form-control[_ngcontent-%COMP%]{margin-left:-1px}.input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%]:focus, .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:focus ~ .custom-file-label[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%]:focus, .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%]:focus{z-index:3}.input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:focus{z-index:4}.input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%]:not(:last-child), .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%]:not(:last-child), .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%]:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%]:not(:first-child), .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%]:not(:first-child), .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%]:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]{display:flex;align-items:center}.input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]:not(:last-child)   .custom-file-label[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]:not(:last-child)   .custom-file-label[_ngcontent-%COMP%]::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]:not(:first-child)   .custom-file-label[_ngcontent-%COMP%]{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%]{display:flex}.input-group-append[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%]{position:relative;z-index:2}.input-group-append[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%]:focus, .input-group-prepend[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%]:focus{z-index:3}.input-group-append[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%] + .btn[_ngcontent-%COMP%], .input-group-append[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%] + .input-group-text[_ngcontent-%COMP%], .input-group-append[_ngcontent-%COMP%]   .input-group-text[_ngcontent-%COMP%] + .btn[_ngcontent-%COMP%], .input-group-append[_ngcontent-%COMP%]   .input-group-text[_ngcontent-%COMP%] + .input-group-text[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%] + .btn[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%] + .input-group-text[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%]   .input-group-text[_ngcontent-%COMP%] + .btn[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%]   .input-group-text[_ngcontent-%COMP%] + .input-group-text[_ngcontent-%COMP%]{margin-left:-1px}.input-group-prepend[_ngcontent-%COMP%]{margin-right:-1px}.input-group-append[_ngcontent-%COMP%]{margin-left:-1px}.input-group-text[_ngcontent-%COMP%]{display:flex;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text[_ngcontent-%COMP%]   input[type=checkbox][_ngcontent-%COMP%], .input-group-text[_ngcontent-%COMP%]   input[type=radio][_ngcontent-%COMP%]{margin-top:0}.input-group-lg[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%]:not(textarea), .input-group-lg[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%]:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%]{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%]:not(textarea), .input-group-sm[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%]:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%]{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%]{padding-right:1.75rem}.input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%]:last-child > .btn[_ngcontent-%COMP%]:not(:last-child):not(.dropdown-toggle), .input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%]:last-child > .input-group-text[_ngcontent-%COMP%]:not(:last-child), .input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%]:not(:last-child) > .btn[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%]:not(:last-child) > .input-group-text[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%]{border-top-right-radius:0;border-bottom-right-radius:0}.input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%]:first-child > .btn[_ngcontent-%COMP%]:not(:first-child), .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%]:first-child > .input-group-text[_ngcontent-%COMP%]:not(:first-child), .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%]:not(:first-child) > .btn[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%]:not(:first-child) > .input-group-text[_ngcontent-%COMP%]{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control[_ngcontent-%COMP%]{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline[_ngcontent-%COMP%]{display:inline-flex;margin-right:1rem}.custom-control-input[_ngcontent-%COMP%]{position:absolute;z-index:-1;opacity:0}.custom-control-input[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::before{color:#fff;border-color:#2b99a8;background-color:#2b99a8}.custom-control-input[_ngcontent-%COMP%]:focus ~ .custom-control-label[_ngcontent-%COMP%]::before{box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.custom-control-input[_ngcontent-%COMP%]:focus:not(:checked) ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#76d0dc}.custom-control-input[_ngcontent-%COMP%]:not(:disabled):active ~ .custom-control-label[_ngcontent-%COMP%]::before{color:#fff;background-color:#9fdee6;border-color:#9fdee6}.custom-control-input[_ngcontent-%COMP%]:disabled ~ .custom-control-label[_ngcontent-%COMP%]{color:#6c757d}.custom-control-input[_ngcontent-%COMP%]:disabled ~ .custom-control-label[_ngcontent-%COMP%]::before{background-color:#e9ecef}.custom-control-label[_ngcontent-%COMP%]{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label[_ngcontent-%COMP%]::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#fff;border:1px solid #adb5bd}.custom-control-label[_ngcontent-%COMP%]::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:50%/50% 50% no-repeat}.custom-checkbox[_ngcontent-%COMP%]   .custom-control-label[_ngcontent-%COMP%]::before{border-radius:.25rem}.custom-checkbox[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::after{background-image:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 8 8\'%3e%3cpath fill=\'%23fff\' d=\'M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z\'/%3e%3c/svg%3e")}.custom-checkbox[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:indeterminate ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#2b99a8;background-color:#2b99a8}.custom-checkbox[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:indeterminate ~ .custom-control-label[_ngcontent-%COMP%]::after{background-image:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 4 4\'%3e%3cpath stroke=\'%23fff\' d=\'M0 2h4\'/%3e%3c/svg%3e")}.custom-checkbox[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:disabled:checked ~ .custom-control-label[_ngcontent-%COMP%]::before{background-color:rgba(43,153,168,.5)}.custom-checkbox[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:disabled:indeterminate ~ .custom-control-label[_ngcontent-%COMP%]::before{background-color:rgba(43,153,168,.5)}.custom-radio[_ngcontent-%COMP%]   .custom-control-label[_ngcontent-%COMP%]::before{border-radius:50%}.custom-radio[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::after{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")}.custom-radio[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:disabled:checked ~ .custom-control-label[_ngcontent-%COMP%]::before{background-color:rgba(43,153,168,.5)}.custom-switch[_ngcontent-%COMP%]{padding-left:2.25rem}.custom-switch[_ngcontent-%COMP%]   .custom-control-label[_ngcontent-%COMP%]::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch[_ngcontent-%COMP%]   .custom-control-label[_ngcontent-%COMP%]::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.custom-switch[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::after{background-color:#fff;transform:translateX(.75rem)}.custom-switch[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:disabled:checked ~ .custom-control-label[_ngcontent-%COMP%]::before{background-color:rgba(43,153,168,.5)}.custom-select[_ngcontent-%COMP%]{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 4 5\'%3e%3cpath fill=\'%23343a40\' d=\'M2 0L0 2h4zm0 5L0 3h4z\'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat #fff;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select[_ngcontent-%COMP%]:focus{border-color:#76d0dc;outline:0;box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.custom-select[_ngcontent-%COMP%]:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple][_ngcontent-%COMP%], .custom-select[size][_ngcontent-%COMP%]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select[_ngcontent-%COMP%]:disabled{color:#6c757d;background-color:#e9ecef}.custom-select[_ngcontent-%COMP%]::-ms-expand{display:none}.custom-select-sm[_ngcontent-%COMP%]{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg[_ngcontent-%COMP%]{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file[_ngcontent-%COMP%]{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}.custom-file-input[_ngcontent-%COMP%]{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;opacity:0}.custom-file-input[_ngcontent-%COMP%]:focus ~ .custom-file-label[_ngcontent-%COMP%]{border-color:#76d0dc;box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.custom-file-input[_ngcontent-%COMP%]:disabled ~ .custom-file-label[_ngcontent-%COMP%]{background-color:#e9ecef}.custom-file-input[_ngcontent-%COMP%]:lang(en) ~ .custom-file-label[_ngcontent-%COMP%]::after{content:"Browse"}.custom-file-input[_ngcontent-%COMP%] ~ .custom-file-label[data-browse][_ngcontent-%COMP%]::after{content:attr(data-browse)}.custom-file-label[_ngcontent-%COMP%]{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label[_ngcontent-%COMP%]::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range[_ngcontent-%COMP%]{width:100%;height:calc(1rem + .4rem);padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range[_ngcontent-%COMP%]:focus{outline:0}.custom-range[_ngcontent-%COMP%]:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(43,153,168,.25)}.custom-range[_ngcontent-%COMP%]:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(43,153,168,.25)}.custom-range[_ngcontent-%COMP%]:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(43,153,168,.25)}.custom-range[_ngcontent-%COMP%]::-moz-focus-outer{border:0}.custom-range[_ngcontent-%COMP%]::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#2b99a8;border:0;border-radius:1rem;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){.collapsing[_ngcontent-%COMP%], .custom-switch[_ngcontent-%COMP%]   .custom-control-label[_ngcontent-%COMP%]::after{transition:none}.custom-range[_ngcontent-%COMP%]::-webkit-slider-thumb{transition:none}}.custom-range[_ngcontent-%COMP%]::-webkit-slider-thumb:active{background-color:#9fdee6}.custom-range[_ngcontent-%COMP%]::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range[_ngcontent-%COMP%]::-moz-range-thumb{width:1rem;height:1rem;background-color:#2b99a8;border:0;border-radius:1rem;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){.custom-range[_ngcontent-%COMP%]::-moz-range-thumb{transition:none}}.custom-range[_ngcontent-%COMP%]::-moz-range-thumb:active{background-color:#9fdee6}.custom-range[_ngcontent-%COMP%]::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range[_ngcontent-%COMP%]::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#2b99a8;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range[_ngcontent-%COMP%]::-ms-thumb{transition:none}}.custom-range[_ngcontent-%COMP%]::-ms-thumb:active{background-color:#9fdee6}.custom-range[_ngcontent-%COMP%]::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range[_ngcontent-%COMP%]::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range[_ngcontent-%COMP%]::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-range[_ngcontent-%COMP%]:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range[_ngcontent-%COMP%]:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range[_ngcontent-%COMP%]:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range[_ngcontent-%COMP%]:disabled::-moz-range-track{cursor:default}.custom-range[_ngcontent-%COMP%]:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label[_ngcontent-%COMP%]::before, .custom-file-label[_ngcontent-%COMP%], .custom-select[_ngcontent-%COMP%]{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label[_ngcontent-%COMP%]::before, .custom-file-label[_ngcontent-%COMP%], .custom-select[_ngcontent-%COMP%]{transition:none}}.nav[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link[_ngcontent-%COMP%]{display:block;padding:.5rem 1rem}.nav-link[_ngcontent-%COMP%]:focus, .nav-link[_ngcontent-%COMP%]:hover{text-decoration:none}.nav-link.disabled[_ngcontent-%COMP%]{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs[_ngcontent-%COMP%]{border-bottom:1px solid #dee2e6}.nav-tabs[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]{margin-bottom:-1px}.nav-tabs[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]:focus, .nav-tabs[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs[_ngcontent-%COMP%]   .nav-link.disabled[_ngcontent-%COMP%]{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs[_ngcontent-%COMP%]   .nav-item.show[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%], .nav-tabs[_ngcontent-%COMP%]   .nav-link.active[_ngcontent-%COMP%]{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{border-radius:.25rem}.nav-pills[_ngcontent-%COMP%]   .nav-link.active[_ngcontent-%COMP%], .nav-pills[_ngcontent-%COMP%]   .show[_ngcontent-%COMP%] > .nav-link[_ngcontent-%COMP%]{color:#fff;background-color:#2b99a8}.nav-fill[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]{flex:1 1 auto;text-align:center}.nav-justified[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;text-align:center}.tab-content[_ngcontent-%COMP%] > .tab-pane[_ngcontent-%COMP%]{display:none}.tab-content[_ngcontent-%COMP%] > .active[_ngcontent-%COMP%]{display:block}.navbar[_ngcontent-%COMP%]{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:.5rem 1rem}.navbar[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.navbar-brand[_ngcontent-%COMP%]{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand[_ngcontent-%COMP%]:focus, .navbar-brand[_ngcontent-%COMP%]:hover{text-decoration:none}.navbar-nav[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{padding-right:0;padding-left:0}.navbar-nav[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{position:static;float:none}.navbar-text[_ngcontent-%COMP%]{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse[_ngcontent-%COMP%]{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler[_ngcontent-%COMP%]{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler[_ngcontent-%COMP%]:focus, .navbar-toggler[_ngcontent-%COMP%]:hover{text-decoration:none}.navbar-toggler-icon[_ngcontent-%COMP%]{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:center center/100% 100% no-repeat}@media (max-width:575.98px){.navbar-expand-sm[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-sm[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm[_ngcontent-%COMP%]{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-sm[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]{flex-direction:row}.navbar-expand-sm[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{position:absolute}.navbar-expand-sm[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-sm[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{flex-wrap:nowrap}.navbar-expand-sm[_ngcontent-%COMP%]   .navbar-collapse[_ngcontent-%COMP%]{display:flex!important;flex-basis:auto}.navbar-expand-sm[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{display:none}}@media (max-width:767.98px){.navbar-expand-md[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-md[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md[_ngcontent-%COMP%]{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-md[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]{flex-direction:row}.navbar-expand-md[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{position:absolute}.navbar-expand-md[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-md[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{flex-wrap:nowrap}.navbar-expand-md[_ngcontent-%COMP%]   .navbar-collapse[_ngcontent-%COMP%]{display:flex!important;flex-basis:auto}.navbar-expand-md[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{display:none}}@media (max-width:991.98px){.navbar-expand-lg[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-lg[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg[_ngcontent-%COMP%]{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]{flex-direction:row}.navbar-expand-lg[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{position:absolute}.navbar-expand-lg[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-lg[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{flex-wrap:nowrap}.navbar-expand-lg[_ngcontent-%COMP%]   .navbar-collapse[_ngcontent-%COMP%]{display:flex!important;flex-basis:auto}.navbar-expand-lg[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{display:none}}@media (max-width:1199.98px){.navbar-expand-xl[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-xl[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl[_ngcontent-%COMP%]{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-xl[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]{flex-direction:row}.navbar-expand-xl[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{position:absolute}.navbar-expand-xl[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-xl[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{flex-wrap:nowrap}.navbar-expand-xl[_ngcontent-%COMP%]   .navbar-collapse[_ngcontent-%COMP%]{display:flex!important;flex-basis:auto}.navbar-expand-xl[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{display:none}}.navbar-expand[_ngcontent-%COMP%]{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]{flex-direction:row}.navbar-expand[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{position:absolute}.navbar-expand[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{padding-right:.5rem;padding-left:.5rem}.navbar-expand[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{padding-right:0;padding-left:0;flex-wrap:nowrap}.navbar-expand[_ngcontent-%COMP%]   .navbar-collapse[_ngcontent-%COMP%]{display:flex!important;flex-basis:auto}.navbar-expand[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{display:none}.navbar-light[_ngcontent-%COMP%]   .navbar-brand[_ngcontent-%COMP%], .navbar-light[_ngcontent-%COMP%]   .navbar-brand[_ngcontent-%COMP%]:focus, .navbar-light[_ngcontent-%COMP%]   .navbar-brand[_ngcontent-%COMP%]:hover{color:rgba(0,0,0,.9)}.navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{color:rgba(0,0,0,.5)}.navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]:focus, .navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]:hover{color:rgba(0,0,0,.7)}.navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link.disabled[_ngcontent-%COMP%]{color:rgba(0,0,0,.3)}.navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .active[_ngcontent-%COMP%] > .nav-link[_ngcontent-%COMP%], .navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link.active[_ngcontent-%COMP%], .navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link.show[_ngcontent-%COMP%], .navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .show[_ngcontent-%COMP%] > .nav-link[_ngcontent-%COMP%]{color:rgba(0,0,0,.9)}.navbar-light[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light[_ngcontent-%COMP%]   .navbar-toggler-icon[_ngcontent-%COMP%]{background-image:url("data:image/svg+xml,%3csvg viewBox=\'0 0 30 30\' xmlns=\'http://www.w3.org/2000/svg\'%3e%3cpath stroke=\'rgba(0, 0, 0, 0.5)\' stroke-width=\'2\' stroke-linecap=\'round\' stroke-miterlimit=\'10\' d=\'M4 7h22M4 15h22M4 23h22\'/%3e%3c/svg%3e")}.navbar-light[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]{color:rgba(0,0,0,.5)}.navbar-light[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]   a[_ngcontent-%COMP%], .navbar-light[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]:focus, .navbar-light[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]:hover{color:rgba(0,0,0,.9)}.navbar-dark[_ngcontent-%COMP%]   .navbar-brand[_ngcontent-%COMP%], .navbar-dark[_ngcontent-%COMP%]   .navbar-brand[_ngcontent-%COMP%]:focus, .navbar-dark[_ngcontent-%COMP%]   .navbar-brand[_ngcontent-%COMP%]:hover{color:#fff}.navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{color:rgba(255,255,255,.5)}.navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]:focus, .navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]:hover{color:rgba(255,255,255,.75)}.navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link.disabled[_ngcontent-%COMP%]{color:rgba(255,255,255,.25)}.navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .active[_ngcontent-%COMP%] > .nav-link[_ngcontent-%COMP%], .navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link.active[_ngcontent-%COMP%], .navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link.show[_ngcontent-%COMP%], .navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .show[_ngcontent-%COMP%] > .nav-link[_ngcontent-%COMP%]{color:#fff}.navbar-dark[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark[_ngcontent-%COMP%]   .navbar-toggler-icon[_ngcontent-%COMP%]{background-image:url("data:image/svg+xml,%3csvg viewBox=\'0 0 30 30\' xmlns=\'http://www.w3.org/2000/svg\'%3e%3cpath stroke=\'rgba(255, 255, 255, 0.5)\' stroke-width=\'2\' stroke-linecap=\'round\' stroke-miterlimit=\'10\' d=\'M4 7h22M4 15h22M4 23h22\'/%3e%3c/svg%3e")}.navbar-dark[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]{color:rgba(255,255,255,.5)}.navbar-dark[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]   a[_ngcontent-%COMP%], .navbar-dark[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]:focus, .navbar-dark[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]:hover{color:#fff}.card[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card[_ngcontent-%COMP%] > hr[_ngcontent-%COMP%], pre[_ngcontent-%COMP%] > hr[_ngcontent-%COMP%]{margin-right:0;margin-left:0}.card[_ngcontent-%COMP%] > .list-group[_ngcontent-%COMP%]:first-child   .list-group-item[_ngcontent-%COMP%]:first-child, pre[_ngcontent-%COMP%] > .list-group[_ngcontent-%COMP%]:first-child   .list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card[_ngcontent-%COMP%] > .list-group[_ngcontent-%COMP%]:last-child   .list-group-item[_ngcontent-%COMP%]:last-child, pre[_ngcontent-%COMP%] > .list-group[_ngcontent-%COMP%]:last-child   .list-group-item[_ngcontent-%COMP%]:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body[_ngcontent-%COMP%]{flex:1 1 auto;padding:1.25rem}.card-title[_ngcontent-%COMP%]{margin-bottom:.75rem}.card-subtitle[_ngcontent-%COMP%]{margin-top:-.375rem;margin-bottom:0}.card-text[_ngcontent-%COMP%]:last-child{margin-bottom:0}.card-link[_ngcontent-%COMP%]:hover{text-decoration:none}.card-link[_ngcontent-%COMP%] + .card-link[_ngcontent-%COMP%]{margin-left:1.25rem}.card-header[_ngcontent-%COMP%]{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header[_ngcontent-%COMP%]:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header[_ngcontent-%COMP%] + .list-group[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:first-child{border-top:0}.card-footer[_ngcontent-%COMP%]{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer[_ngcontent-%COMP%]:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs[_ngcontent-%COMP%]{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills[_ngcontent-%COMP%]{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay[_ngcontent-%COMP%]{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img[_ngcontent-%COMP%]{width:100%;border-radius:calc(.25rem - 1px)}.card-img-top[_ngcontent-%COMP%]{width:100%;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img-bottom[_ngcontent-%COMP%]{width:100%;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck[_ngcontent-%COMP%]{display:flex;flex-direction:column}.card-deck[_ngcontent-%COMP%]   .card[_ngcontent-%COMP%], .card-deck[_ngcontent-%COMP%]   pre[_ngcontent-%COMP%]{margin-bottom:15px}@media (min-width:576px){.card-deck[_ngcontent-%COMP%]{flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck[_ngcontent-%COMP%]   .card[_ngcontent-%COMP%], .card-deck[_ngcontent-%COMP%]   pre[_ngcontent-%COMP%]{display:flex;flex:1 0 0%;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group[_ngcontent-%COMP%]{display:flex;flex-direction:column}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]{margin-bottom:15px}@media (min-width:576px){.card-group[_ngcontent-%COMP%]{flex-flow:row wrap}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]{flex:1 0 0%;margin-bottom:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%] + .card[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%] + pre[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%] + .card[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%] + pre[_ngcontent-%COMP%]{margin-left:0;border-left:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:last-child), .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:last-child)   .card-header[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:last-child)   .card-img-top[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:last-child)   .card-header[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:last-child)   .card-img-top[_ngcontent-%COMP%]{border-top-right-radius:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:last-child)   .card-footer[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:last-child)   .card-img-bottom[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:last-child)   .card-footer[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:last-child)   .card-img-bottom[_ngcontent-%COMP%]{border-bottom-right-radius:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-child), .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-child)   .card-header[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-child)   .card-img-top[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-child)   .card-header[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-child)   .card-img-top[_ngcontent-%COMP%]{border-top-left-radius:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-child)   .card-footer[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-child)   .card-img-bottom[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-child)   .card-footer[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-child)   .card-img-bottom[_ngcontent-%COMP%]{border-bottom-left-radius:0}.card-columns[_ngcontent-%COMP%]{column-count:3;column-gap:1.25rem;orphans:1;widows:1}.card-columns[_ngcontent-%COMP%]   .card[_ngcontent-%COMP%], .card-columns[_ngcontent-%COMP%]   pre[_ngcontent-%COMP%]{display:inline-block;width:100%}}.card-columns[_ngcontent-%COMP%]   .card[_ngcontent-%COMP%], .card-columns[_ngcontent-%COMP%]   pre[_ngcontent-%COMP%]{margin-bottom:.75rem}.accordion[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%], .accordion[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]{overflow:hidden}.accordion[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-of-type)   .card-header[_ngcontent-%COMP%]:first-child, .accordion[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-of-type)   .card-header[_ngcontent-%COMP%]:first-child{border-radius:0}.accordion[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-of-type):not(:last-of-type), .accordion[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-of-type):not(:last-of-type){border-bottom:0;border-radius:0}.accordion[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:first-of-type, .accordion[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:first-of-type{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:last-of-type, .accordion[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:last-of-type{border-top-left-radius:0;border-top-right-radius:0}.accordion[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]   .card-header[_ngcontent-%COMP%], .accordion[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]   .card-header[_ngcontent-%COMP%]{margin-bottom:-1px}.breadcrumb[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item[_ngcontent-%COMP%] + .breadcrumb-item[_ngcontent-%COMP%]{padding-left:.5rem}.breadcrumb-item[_ngcontent-%COMP%] + .breadcrumb-item[_ngcontent-%COMP%]::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item[_ngcontent-%COMP%] + .breadcrumb-item[_ngcontent-%COMP%]:hover::before{text-decoration:none}.breadcrumb-item.active[_ngcontent-%COMP%]{color:#6c757d}.pagination[_ngcontent-%COMP%]{display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link[_ngcontent-%COMP%]{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#2b99a8;background-color:#fff;border:1px solid #dee2e6}.page-link[_ngcontent-%COMP%]:hover{z-index:2;color:#1b626b;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link[_ngcontent-%COMP%]:focus{z-index:2;outline:0;box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.page-item[_ngcontent-%COMP%]:first-child   .page-link[_ngcontent-%COMP%]{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item[_ngcontent-%COMP%]:last-child   .page-link[_ngcontent-%COMP%]{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active[_ngcontent-%COMP%]   .page-link[_ngcontent-%COMP%]{z-index:1;color:#fff;background-color:#2b99a8;border-color:#2b99a8}.page-item.disabled[_ngcontent-%COMP%]   .page-link[_ngcontent-%COMP%]{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg[_ngcontent-%COMP%]   .page-link[_ngcontent-%COMP%]{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg[_ngcontent-%COMP%]   .page-item[_ngcontent-%COMP%]:first-child   .page-link[_ngcontent-%COMP%]{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg[_ngcontent-%COMP%]   .page-item[_ngcontent-%COMP%]:last-child   .page-link[_ngcontent-%COMP%]{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm[_ngcontent-%COMP%]   .page-link[_ngcontent-%COMP%]{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm[_ngcontent-%COMP%]   .page-item[_ngcontent-%COMP%]:first-child   .page-link[_ngcontent-%COMP%]{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm[_ngcontent-%COMP%]   .page-item[_ngcontent-%COMP%]:last-child   .page-link[_ngcontent-%COMP%]{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge[_ngcontent-%COMP%]{display:inline-block;padding:.25em .4em;font-size:1rem;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;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){.badge[_ngcontent-%COMP%]{transition:none}}a.badge[_ngcontent-%COMP%]:focus, a.badge[_ngcontent-%COMP%]:hover{text-decoration:none}.badge[_ngcontent-%COMP%]:empty{display:none}.btn[_ngcontent-%COMP%]   .badge[_ngcontent-%COMP%]{position:relative;top:-1px}.badge-pill[_ngcontent-%COMP%]{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary[_ngcontent-%COMP%]{color:#fff;background-color:#2b99a8}a.badge-primary[_ngcontent-%COMP%]:focus, a.badge-primary[_ngcontent-%COMP%]:hover{color:#fff;background-color:#21747f}a.badge-primary.focus[_ngcontent-%COMP%], a.badge-primary[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(43,153,168,.5)}.badge-secondary[_ngcontent-%COMP%]{color:#fff;background-color:#ef5c55}a.badge-secondary[_ngcontent-%COMP%]:focus, a.badge-secondary[_ngcontent-%COMP%]:hover{color:#fff;background-color:#eb2f26}a.badge-secondary.focus[_ngcontent-%COMP%], a.badge-secondary[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(239,92,85,.5)}.badge-success[_ngcontent-%COMP%]{color:#fff;background-color:#28a745}a.badge-success[_ngcontent-%COMP%]:focus, a.badge-success[_ngcontent-%COMP%]:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus[_ngcontent-%COMP%], a.badge-success[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info[_ngcontent-%COMP%]{color:#fff;background-color:#17a2b8}a.badge-info[_ngcontent-%COMP%]:focus, a.badge-info[_ngcontent-%COMP%]:hover{color:#fff;background-color:#117a8b}a.badge-info.focus[_ngcontent-%COMP%], a.badge-info[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning[_ngcontent-%COMP%]{color:#212529;background-color:#ffc107}a.badge-warning[_ngcontent-%COMP%]:focus, a.badge-warning[_ngcontent-%COMP%]:hover{color:#212529;background-color:#d39e00}a.badge-warning.focus[_ngcontent-%COMP%], a.badge-warning[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger[_ngcontent-%COMP%]{color:#fff;background-color:#dc3545}a.badge-danger[_ngcontent-%COMP%]:focus, a.badge-danger[_ngcontent-%COMP%]:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus[_ngcontent-%COMP%], a.badge-danger[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light[_ngcontent-%COMP%]{color:#212529;background-color:#f8f9fa}a.badge-light[_ngcontent-%COMP%]:focus, a.badge-light[_ngcontent-%COMP%]:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus[_ngcontent-%COMP%], a.badge-light[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark[_ngcontent-%COMP%]{color:#fff;background-color:#777}a.badge-dark[_ngcontent-%COMP%]:focus, a.badge-dark[_ngcontent-%COMP%]:hover{color:#fff;background-color:#5e5e5e}a.badge-dark.focus[_ngcontent-%COMP%], a.badge-dark[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(119,119,119,.5)}.jumbotron[_ngcontent-%COMP%]{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron[_ngcontent-%COMP%]{padding:4rem 2rem}}.jumbotron-fluid[_ngcontent-%COMP%]{padding-right:0;padding-left:0;border-radius:0}.alert[_ngcontent-%COMP%]{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading[_ngcontent-%COMP%]{color:inherit}.alert-link[_ngcontent-%COMP%]{font-weight:700}.alert-dismissible[_ngcontent-%COMP%]{padding-right:4rem}.alert-dismissible[_ngcontent-%COMP%]   .close[_ngcontent-%COMP%]{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary[_ngcontent-%COMP%]{color:#165057;background-color:#d5ebee;border-color:#c4e2e7}.alert-primary[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#b2d9e0}.alert-primary[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#0c2b2e}.alert-secondary[_ngcontent-%COMP%]{color:#7c302c;background-color:#fcdedd;border-color:#fbd1cf}.alert-secondary[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#f9bab7}.alert-secondary[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#56211f}.alert-success[_ngcontent-%COMP%]{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#b1dfbb}.alert-success[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#0b2e13}.alert-info[_ngcontent-%COMP%]{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#abdde5}.alert-info[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#062c33}.alert-warning[_ngcontent-%COMP%]{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#ffe8a1}.alert-warning[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#533f03}.alert-danger[_ngcontent-%COMP%]{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#f1b0b7}.alert-danger[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#491217}.alert-light[_ngcontent-%COMP%]{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#ececf6}.alert-light[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#686868}.alert-dark[_ngcontent-%COMP%]{color:#3e3e3e;background-color:#e4e4e4;border-color:#d9d9d9}.alert-dark[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#ccc}.alert-dark[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#252525}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress[_ngcontent-%COMP%]{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#2b99a8;transition:width .6s ease}.progress-bar-striped[_ngcontent-%COMP%]{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:1rem 1rem}.progress-bar-animated[_ngcontent-%COMP%]{animation:1s linear infinite progress-bar-stripes}.media[_ngcontent-%COMP%]{display:flex;align-items:flex-start}.media-body[_ngcontent-%COMP%]{flex:1}.list-group[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action[_ngcontent-%COMP%]{width:100%;color:#495057;text-align:inherit}.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-action[_ngcontent-%COMP%]:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action[_ngcontent-%COMP%]:active{color:#212529;background-color:#e9ecef}.list-group-item[_ngcontent-%COMP%]{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item[_ngcontent-%COMP%]:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item.disabled[_ngcontent-%COMP%], .list-group-item[_ngcontent-%COMP%]:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active[_ngcontent-%COMP%]{z-index:2;color:#fff;background-color:#2b99a8;border-color:#2b99a8}.list-group-horizontal[_ngcontent-%COMP%]{flex-direction:row}.list-group-horizontal[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]{margin-right:-1px;margin-bottom:0}.list-group-horizontal[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}@media (min-width:576px){.list-group-horizontal-sm[_ngcontent-%COMP%]{flex-direction:row}.list-group-horizontal-sm[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]{margin-right:-1px;margin-bottom:0}.list-group-horizontal-sm[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:768px){.list-group-horizontal-md[_ngcontent-%COMP%]{flex-direction:row}.list-group-horizontal-md[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]{margin-right:-1px;margin-bottom:0}.list-group-horizontal-md[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:992px){.list-group-horizontal-lg[_ngcontent-%COMP%]{flex-direction:row}.list-group-horizontal-lg[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]{margin-right:-1px;margin-bottom:0}.list-group-horizontal-lg[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:1200px){.list-group-horizontal-xl[_ngcontent-%COMP%]{flex-direction:row}.list-group-horizontal-xl[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]{margin-right:-1px;margin-bottom:0}.list-group-horizontal-xl[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}.list-group-flush[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]{border-right:0;border-left:0;border-radius:0}.list-group-flush[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:last-child{margin-bottom:-1px}.list-group-flush[_ngcontent-%COMP%]:first-child   .list-group-item[_ngcontent-%COMP%]:first-child{border-top:0}.list-group-flush[_ngcontent-%COMP%]:last-child   .list-group-item[_ngcontent-%COMP%]:last-child{margin-bottom:0;border-bottom:0}.list-group-item-primary[_ngcontent-%COMP%]{color:#165057;background-color:#c4e2e7}.list-group-item-primary.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-primary.list-group-item-action[_ngcontent-%COMP%]:hover{color:#165057;background-color:#b2d9e0}.list-group-item-primary.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#165057;border-color:#165057}.list-group-item-secondary[_ngcontent-%COMP%]{color:#7c302c;background-color:#fbd1cf}.list-group-item-secondary.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-secondary.list-group-item-action[_ngcontent-%COMP%]:hover{color:#7c302c;background-color:#f9bab7}.list-group-item-secondary.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#7c302c;border-color:#7c302c}.list-group-item-success[_ngcontent-%COMP%]{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-success.list-group-item-action[_ngcontent-%COMP%]:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info[_ngcontent-%COMP%]{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-info.list-group-item-action[_ngcontent-%COMP%]:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning[_ngcontent-%COMP%]{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-warning.list-group-item-action[_ngcontent-%COMP%]:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger[_ngcontent-%COMP%]{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-danger.list-group-item-action[_ngcontent-%COMP%]:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light[_ngcontent-%COMP%]{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-light.list-group-item-action[_ngcontent-%COMP%]:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark[_ngcontent-%COMP%]{color:#3e3e3e;background-color:#d9d9d9}.list-group-item-dark.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-dark.list-group-item-action[_ngcontent-%COMP%]:hover{color:#3e3e3e;background-color:#ccc}.list-group-item-dark.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#3e3e3e;border-color:#3e3e3e}.close[_ngcontent-%COMP%]{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close[_ngcontent-%COMP%]:hover{color:#000;text-decoration:none}.close[_ngcontent-%COMP%]:not(:disabled):not(.disabled):focus, .close[_ngcontent-%COMP%]:not(:disabled):not(.disabled):hover{opacity:.75}button.close[_ngcontent-%COMP%]{padding:0;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}a.close.disabled[_ngcontent-%COMP%]{pointer-events:none}.toast[_ngcontent-%COMP%]{max-width:350px;overflow:hidden;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);backdrop-filter:blur(10px);opacity:0;border-radius:.25rem}.toast[_ngcontent-%COMP%]:not(:last-child){margin-bottom:.75rem}.toast.showing[_ngcontent-%COMP%]{opacity:1}.toast.show[_ngcontent-%COMP%]{display:block;opacity:1}.toast.hide[_ngcontent-%COMP%]{display:none}.toast-header[_ngcontent-%COMP%]{display:flex;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}.toast-body[_ngcontent-%COMP%]{padding:.75rem}.modal-open[_ngcontent-%COMP%]{overflow:hidden}.modal-open[_ngcontent-%COMP%]   .modal[_ngcontent-%COMP%]{overflow-x:hidden;overflow-y:auto}.modal[_ngcontent-%COMP%]{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog[_ngcontent-%COMP%]{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade[_ngcontent-%COMP%]   .modal-dialog[_ngcontent-%COMP%]{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.progress-bar[_ngcontent-%COMP%]{transition:none}.progress-bar-animated[_ngcontent-%COMP%]{animation:none}.modal.fade[_ngcontent-%COMP%]   .modal-dialog[_ngcontent-%COMP%]{transition:none}}.modal.show[_ngcontent-%COMP%]   .modal-dialog[_ngcontent-%COMP%]{transform:none}.modal-dialog-scrollable[_ngcontent-%COMP%]{display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable[_ngcontent-%COMP%]   .modal-content[_ngcontent-%COMP%]{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable[_ngcontent-%COMP%]   .modal-footer[_ngcontent-%COMP%], .modal-dialog-scrollable[_ngcontent-%COMP%]   .modal-header[_ngcontent-%COMP%]{flex-shrink:0}.modal-dialog-scrollable[_ngcontent-%COMP%]   .modal-body[_ngcontent-%COMP%]{overflow-y:auto}.modal-dialog-centered[_ngcontent-%COMP%]{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered[_ngcontent-%COMP%]::before{display:block;height:calc(100vh - 1rem);content:""}.modal-dialog-centered.modal-dialog-scrollable[_ngcontent-%COMP%]{flex-direction:column;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable[_ngcontent-%COMP%]   .modal-content[_ngcontent-%COMP%]{max-height:none}.modal-dialog-centered.modal-dialog-scrollable[_ngcontent-%COMP%]::before{content:none}.modal-content[_ngcontent-%COMP%]{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop[_ngcontent-%COMP%]{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade[_ngcontent-%COMP%]{opacity:0}.modal-backdrop.show[_ngcontent-%COMP%]{opacity:.5}.modal-header[_ngcontent-%COMP%]{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:.3rem;border-top-right-radius:.3rem}.modal-header[_ngcontent-%COMP%]   .close[_ngcontent-%COMP%]{padding:1rem;margin:-1rem -1rem -1rem auto}.modal-title[_ngcontent-%COMP%]{margin-bottom:0;line-height:1.5}.modal-body[_ngcontent-%COMP%]{position:relative;flex:1 1 auto;padding:1rem}.modal-footer[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:flex-end;padding:1rem;border-top:1px solid #dee2e6;border-bottom-right-radius:.3rem;border-bottom-left-radius:.3rem}.modal-footer[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:not(:first-child){margin-left:.25rem}.modal-footer[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure[_ngcontent-%COMP%]{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog[_ngcontent-%COMP%]{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable[_ngcontent-%COMP%]{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable[_ngcontent-%COMP%]   .modal-content[_ngcontent-%COMP%]{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered[_ngcontent-%COMP%]{min-height:calc(100% - 3.5rem)}.modal-dialog-centered[_ngcontent-%COMP%]::before{height:calc(100vh - 3.5rem)}.modal-sm[_ngcontent-%COMP%]{max-width:300px}}@media (min-width:992px){.modal-lg[_ngcontent-%COMP%], .modal-xl[_ngcontent-%COMP%]{max-width:800px}}@media (min-width:1200px){.modal-xl[_ngcontent-%COMP%]{max-width:1140px}}.tooltip[_ngcontent-%COMP%]{position:absolute;z-index:1070;display:block;margin:0;font-family:"Helvetica Neue",Helvetica,Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show[_ngcontent-%COMP%]{opacity:.9}.tooltip[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top][_ngcontent-%COMP%], .bs-tooltip-top[_ngcontent-%COMP%]{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%], .bs-tooltip-top[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]{bottom:0}.bs-tooltip-auto[x-placement^=top][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before, .bs-tooltip-top[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right][_ngcontent-%COMP%], .bs-tooltip-right[_ngcontent-%COMP%]{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%], .bs-tooltip-right[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before, .bs-tooltip-right[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom][_ngcontent-%COMP%], .bs-tooltip-bottom[_ngcontent-%COMP%]{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%], .bs-tooltip-bottom[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]{top:0}.bs-tooltip-auto[x-placement^=bottom][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before, .bs-tooltip-bottom[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left][_ngcontent-%COMP%], .bs-tooltip-left[_ngcontent-%COMP%]{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%], .bs-tooltip-left[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before, .bs-tooltip-left[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner[_ngcontent-%COMP%]{max-width:200px;padding:.25rem .5rem;text-align:center;border-radius:.25rem}.popover[_ngcontent-%COMP%]{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:350px;font-family:"Helvetica Neue",Helvetica,Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::after, .popover[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top][_ngcontent-%COMP%], .bs-popover-top[_ngcontent-%COMP%]{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%], .bs-popover-top[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]{bottom:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=top][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before, .bs-popover-top[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after, .bs-popover-top[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right][_ngcontent-%COMP%], .bs-popover-right[_ngcontent-%COMP%]{margin-left:.5rem}.bs-popover-auto[x-placement^=right][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%], .bs-popover-right[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]{left:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before, .bs-popover-right[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after, .bs-popover-right[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom][_ngcontent-%COMP%], .bs-popover-bottom[_ngcontent-%COMP%]{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%], .bs-popover-bottom[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]{top:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=bottom][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before, .bs-popover-bottom[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before{top:0;border-width:0 .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after, .bs-popover-bottom[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after{top:1px;border-width:0 .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom][_ngcontent-%COMP%]   .popover-header[_ngcontent-%COMP%]::before, .bs-popover-bottom[_ngcontent-%COMP%]   .popover-header[_ngcontent-%COMP%]::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left][_ngcontent-%COMP%], .bs-popover-left[_ngcontent-%COMP%]{margin-right:.5rem}.bs-popover-auto[x-placement^=left][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%], .bs-popover-left[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]{right:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before, .bs-popover-left[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after, .bs-popover-left[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header[_ngcontent-%COMP%]{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header[_ngcontent-%COMP%]:empty{display:none}.popover-body[_ngcontent-%COMP%]{padding:.5rem .75rem;color:#212529}.carousel[_ngcontent-%COMP%]{position:relative}.carousel.pointer-event[_ngcontent-%COMP%]{touch-action:pan-y}.carousel-inner[_ngcontent-%COMP%]{position:relative;width:100%;overflow:hidden}.carousel-inner[_ngcontent-%COMP%]::after{display:block;clear:both;content:""}.carousel-item[_ngcontent-%COMP%]{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}.carousel-item-next[_ngcontent-%COMP%], .carousel-item-prev[_ngcontent-%COMP%], .carousel-item.active[_ngcontent-%COMP%]{display:block}.active.carousel-item-right[_ngcontent-%COMP%], .carousel-item-next[_ngcontent-%COMP%]:not(.carousel-item-left){transform:translateX(100%)}.active.carousel-item-left[_ngcontent-%COMP%], .carousel-item-prev[_ngcontent-%COMP%]:not(.carousel-item-right){transform:translateX(-100%)}.carousel-fade[_ngcontent-%COMP%]   .carousel-item[_ngcontent-%COMP%]{opacity:0;transition-property:opacity;transform:none}.carousel-fade[_ngcontent-%COMP%]   .carousel-item-next.carousel-item-left[_ngcontent-%COMP%], .carousel-fade[_ngcontent-%COMP%]   .carousel-item-prev.carousel-item-right[_ngcontent-%COMP%], .carousel-fade[_ngcontent-%COMP%]   .carousel-item.active[_ngcontent-%COMP%]{z-index:1;opacity:1}.carousel-fade[_ngcontent-%COMP%]   .active.carousel-item-left[_ngcontent-%COMP%], .carousel-fade[_ngcontent-%COMP%]   .active.carousel-item-right[_ngcontent-%COMP%]{z-index:0;opacity:0;transition:0s .6s opacity}@media (prefers-reduced-motion:reduce){.carousel-fade[_ngcontent-%COMP%]   .active.carousel-item-left[_ngcontent-%COMP%], .carousel-fade[_ngcontent-%COMP%]   .active.carousel-item-right[_ngcontent-%COMP%], .carousel-item[_ngcontent-%COMP%]{transition:none}}.carousel-control-next[_ngcontent-%COMP%], .carousel-control-prev[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}.carousel-control-next[_ngcontent-%COMP%]:focus, .carousel-control-next[_ngcontent-%COMP%]:hover, .carousel-control-prev[_ngcontent-%COMP%]:focus, .carousel-control-prev[_ngcontent-%COMP%]:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev[_ngcontent-%COMP%]{left:0}.carousel-control-next[_ngcontent-%COMP%]{right:0}.carousel-control-next-icon[_ngcontent-%COMP%], .carousel-control-prev-icon[_ngcontent-%COMP%]{display:inline-block;width:20px;height:20px;background:50%/100% 100% no-repeat}.carousel-control-prev-icon[_ngcontent-%COMP%]{background-image:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' fill=\'%23fff\' viewBox=\'0 0 8 8\'%3e%3cpath d=\'M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z\'/%3e%3c/svg%3e")}.carousel-control-next-icon[_ngcontent-%COMP%]{background-image:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' fill=\'%23fff\' viewBox=\'0 0 8 8\'%3e%3cpath d=\'M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z\'/%3e%3c/svg%3e")}.carousel-indicators[_ngcontent-%COMP%]{position:absolute;right:0;bottom:0;left:0;z-index:15;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next[_ngcontent-%COMP%], .carousel-control-prev[_ngcontent-%COMP%], .carousel-indicators[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]{transition:none}}.carousel-indicators[_ngcontent-%COMP%]   .active[_ngcontent-%COMP%]{opacity:1}.carousel-caption[_ngcontent-%COMP%]{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border[_ngcontent-%COMP%]{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;animation:.75s linear infinite spinner-border}.spinner-border-sm[_ngcontent-%COMP%]{width:1rem;height:1rem;border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1}}.spinner-grow[_ngcontent-%COMP%]{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;animation:.75s linear infinite spinner-grow}.spinner-grow-sm[_ngcontent-%COMP%]{width:1rem;height:1rem}.align-baseline[_ngcontent-%COMP%]{vertical-align:baseline!important}.align-top[_ngcontent-%COMP%]{vertical-align:top!important}.align-middle[_ngcontent-%COMP%]{vertical-align:middle!important}.align-bottom[_ngcontent-%COMP%]{vertical-align:bottom!important}.align-text-bottom[_ngcontent-%COMP%]{vertical-align:text-bottom!important}.align-text-top[_ngcontent-%COMP%]{vertical-align:text-top!important}.bg-primary[_ngcontent-%COMP%]{background-color:#2b99a8!important}a.bg-primary[_ngcontent-%COMP%]:focus, a.bg-primary[_ngcontent-%COMP%]:hover, button.bg-primary[_ngcontent-%COMP%]:focus, button.bg-primary[_ngcontent-%COMP%]:hover{background-color:#21747f!important}.bg-secondary[_ngcontent-%COMP%]{background-color:#ef5c55!important}a.bg-secondary[_ngcontent-%COMP%]:focus, a.bg-secondary[_ngcontent-%COMP%]:hover, button.bg-secondary[_ngcontent-%COMP%]:focus, button.bg-secondary[_ngcontent-%COMP%]:hover{background-color:#eb2f26!important}.bg-success[_ngcontent-%COMP%]{background-color:#28a745!important}a.bg-success[_ngcontent-%COMP%]:focus, a.bg-success[_ngcontent-%COMP%]:hover, button.bg-success[_ngcontent-%COMP%]:focus, button.bg-success[_ngcontent-%COMP%]:hover{background-color:#1e7e34!important}.bg-info[_ngcontent-%COMP%]{background-color:#17a2b8!important}a.bg-info[_ngcontent-%COMP%]:focus, a.bg-info[_ngcontent-%COMP%]:hover, button.bg-info[_ngcontent-%COMP%]:focus, button.bg-info[_ngcontent-%COMP%]:hover{background-color:#117a8b!important}.bg-warning[_ngcontent-%COMP%]{background-color:#ffc107!important}a.bg-warning[_ngcontent-%COMP%]:focus, a.bg-warning[_ngcontent-%COMP%]:hover, button.bg-warning[_ngcontent-%COMP%]:focus, button.bg-warning[_ngcontent-%COMP%]:hover{background-color:#d39e00!important}.bg-danger[_ngcontent-%COMP%]{background-color:#dc3545!important}a.bg-danger[_ngcontent-%COMP%]:focus, a.bg-danger[_ngcontent-%COMP%]:hover, button.bg-danger[_ngcontent-%COMP%]:focus, button.bg-danger[_ngcontent-%COMP%]:hover{background-color:#bd2130!important}.bg-light[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]{background-color:#f8f9fa!important}a.bg-light[_ngcontent-%COMP%]:focus, a.bg-light[_ngcontent-%COMP%]:hover, button.bg-light[_ngcontent-%COMP%]:focus, button.bg-light[_ngcontent-%COMP%]:hover{background-color:#dae0e5!important}.bg-dark[_ngcontent-%COMP%]{background-color:#777!important}a.bg-dark[_ngcontent-%COMP%]:focus, a.bg-dark[_ngcontent-%COMP%]:hover, button.bg-dark[_ngcontent-%COMP%]:focus, button.bg-dark[_ngcontent-%COMP%]:hover{background-color:#5e5e5e!important}.bg-white[_ngcontent-%COMP%]{background-color:#fff!important}.bg-transparent[_ngcontent-%COMP%]{background-color:transparent!important}.border[_ngcontent-%COMP%]{border:1px solid #dee2e6!important}.border-top[_ngcontent-%COMP%]{border-top:1px solid #dee2e6!important}.border-right[_ngcontent-%COMP%]{border-right:1px solid #dee2e6!important}.border-bottom[_ngcontent-%COMP%], .cd-header[_ngcontent-%COMP%], legend[_ngcontent-%COMP%]{border-bottom:1px solid #dee2e6!important}.border-left[_ngcontent-%COMP%]{border-left:1px solid #dee2e6!important}.border-0[_ngcontent-%COMP%]{border:0!important}.border-top-0[_ngcontent-%COMP%]{border-top:0!important}.border-right-0[_ngcontent-%COMP%]{border-right:0!important}.border-bottom-0[_ngcontent-%COMP%]{border-bottom:0!important}.border-left-0[_ngcontent-%COMP%]{border-left:0!important}.border-primary[_ngcontent-%COMP%]{border-color:#2b99a8!important}.border-secondary[_ngcontent-%COMP%]{border-color:#ef5c55!important}.border-success[_ngcontent-%COMP%]{border-color:#28a745!important}.border-info[_ngcontent-%COMP%]{border-color:#17a2b8!important}.border-warning[_ngcontent-%COMP%]{border-color:#ffc107!important}.border-danger[_ngcontent-%COMP%]{border-color:#dc3545!important}.border-light[_ngcontent-%COMP%]{border-color:#f8f9fa!important}.border-dark[_ngcontent-%COMP%]{border-color:#777!important}.border-white[_ngcontent-%COMP%]{border-color:#fff!important}.rounded-sm[_ngcontent-%COMP%]{border-radius:.2rem!important}.rounded[_ngcontent-%COMP%]{border-radius:.25rem!important}.rounded-top[_ngcontent-%COMP%]{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right[_ngcontent-%COMP%]{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom[_ngcontent-%COMP%]{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left[_ngcontent-%COMP%]{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-lg[_ngcontent-%COMP%]{border-radius:.3rem!important}.rounded-circle[_ngcontent-%COMP%]{border-radius:50%!important}.rounded-pill[_ngcontent-%COMP%]{border-radius:50rem!important}.rounded-0[_ngcontent-%COMP%]{border-radius:0!important}.clearfix[_ngcontent-%COMP%]::after{display:block;clear:both;content:""}.d-none[_ngcontent-%COMP%]{display:none!important}.d-inline[_ngcontent-%COMP%]{display:inline!important}.d-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-block[_ngcontent-%COMP%]{display:block!important}.d-table[_ngcontent-%COMP%]{display:table!important}.d-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-flex[_ngcontent-%COMP%], cd-info-card[_ngcontent-%COMP%]{display:flex!important}.d-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}@media (min-width:576px){.d-sm-none[_ngcontent-%COMP%]{display:none!important}.d-sm-inline[_ngcontent-%COMP%]{display:inline!important}.d-sm-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-sm-block[_ngcontent-%COMP%]{display:block!important}.d-sm-table[_ngcontent-%COMP%]{display:table!important}.d-sm-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-sm-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-sm-flex[_ngcontent-%COMP%]{display:flex!important}.d-sm-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}}@media (min-width:768px){.d-md-none[_ngcontent-%COMP%]{display:none!important}.d-md-inline[_ngcontent-%COMP%]{display:inline!important}.d-md-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-md-block[_ngcontent-%COMP%]{display:block!important}.d-md-table[_ngcontent-%COMP%]{display:table!important}.d-md-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-md-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-md-flex[_ngcontent-%COMP%]{display:flex!important}.d-md-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}}@media (min-width:992px){.d-lg-none[_ngcontent-%COMP%]{display:none!important}.d-lg-inline[_ngcontent-%COMP%]{display:inline!important}.d-lg-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-lg-block[_ngcontent-%COMP%]{display:block!important}.d-lg-table[_ngcontent-%COMP%]{display:table!important}.d-lg-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-lg-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-lg-flex[_ngcontent-%COMP%]{display:flex!important}.d-lg-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}}@media (min-width:1200px){.d-xl-none[_ngcontent-%COMP%]{display:none!important}.d-xl-inline[_ngcontent-%COMP%]{display:inline!important}.d-xl-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-xl-block[_ngcontent-%COMP%]{display:block!important}.d-xl-table[_ngcontent-%COMP%]{display:table!important}.d-xl-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-xl-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-xl-flex[_ngcontent-%COMP%]{display:flex!important}.d-xl-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}}@media print{.d-print-none[_ngcontent-%COMP%]{display:none!important}.d-print-inline[_ngcontent-%COMP%]{display:inline!important}.d-print-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-print-block[_ngcontent-%COMP%]{display:block!important}.d-print-table[_ngcontent-%COMP%]{display:table!important}.d-print-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-print-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-print-flex[_ngcontent-%COMP%]{display:flex!important}.d-print-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}}.embed-responsive[_ngcontent-%COMP%]{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive[_ngcontent-%COMP%]::before{display:block;content:""}.embed-responsive[_ngcontent-%COMP%]   .embed-responsive-item[_ngcontent-%COMP%], .embed-responsive[_ngcontent-%COMP%]   embed[_ngcontent-%COMP%], .embed-responsive[_ngcontent-%COMP%]   iframe[_ngcontent-%COMP%], .embed-responsive[_ngcontent-%COMP%]   object[_ngcontent-%COMP%], .embed-responsive[_ngcontent-%COMP%]   video[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9[_ngcontent-%COMP%]::before{padding-top:42.8571428571%}.embed-responsive-16by9[_ngcontent-%COMP%]::before{padding-top:56.25%}.embed-responsive-4by3[_ngcontent-%COMP%]::before{padding-top:75%}.embed-responsive-1by1[_ngcontent-%COMP%]::before{padding-top:100%}.flex-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-column[_ngcontent-%COMP%], cd-info-card[_ngcontent-%COMP%]{flex-direction:column!important}.flex-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.flex-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.justify-content-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-stretch[_ngcontent-%COMP%]{align-self:stretch!important}@media (min-width:576px){.flex-sm-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-sm-column[_ngcontent-%COMP%]{flex-direction:column!important}.flex-sm-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-sm-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-sm-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-sm-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-sm-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.flex-sm-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-sm-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-sm-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-sm-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-sm-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.justify-content-sm-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-sm-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-sm-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-sm-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-sm-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-sm-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-sm-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-sm-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-sm-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-sm-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-sm-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-sm-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-sm-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-sm-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-sm-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-sm-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-sm-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-sm-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-sm-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-sm-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-sm-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-sm-stretch[_ngcontent-%COMP%]{align-self:stretch!important}}.float-left[_ngcontent-%COMP%]{float:left!important}.float-right[_ngcontent-%COMP%]{float:right!important}.float-none[_ngcontent-%COMP%]{float:none!important}@media (min-width:576px){.float-sm-left[_ngcontent-%COMP%]{float:left!important}.float-sm-right[_ngcontent-%COMP%]{float:right!important}.float-sm-none[_ngcontent-%COMP%]{float:none!important}}.overflow-auto[_ngcontent-%COMP%]{overflow:auto!important}.overflow-hidden[_ngcontent-%COMP%]{overflow:hidden!important}.position-static[_ngcontent-%COMP%]{position:static!important}.position-relative[_ngcontent-%COMP%]{position:relative!important}.position-absolute[_ngcontent-%COMP%]{position:absolute!important}.position-fixed[_ngcontent-%COMP%]{position:fixed!important}.position-sticky[_ngcontent-%COMP%]{position:sticky!important}.fixed-top[_ngcontent-%COMP%]{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom[_ngcontent-%COMP%]{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports (position:sticky){.sticky-top[_ngcontent-%COMP%]{position:sticky;top:0;z-index:1020}}.sr-only[_ngcontent-%COMP%]{clip:rect(0,0,0,0);white-space:nowrap}.shadow-sm[_ngcontent-%COMP%]{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow[_ngcontent-%COMP%]{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg[_ngcontent-%COMP%]{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none[_ngcontent-%COMP%]{box-shadow:none!important}.w-25[_ngcontent-%COMP%]{width:25%!important}.w-50[_ngcontent-%COMP%]{width:50%!important}.w-75[_ngcontent-%COMP%]{width:75%!important}.w-100[_ngcontent-%COMP%]{width:100%!important}.w-auto[_ngcontent-%COMP%]{width:auto!important}.h-25[_ngcontent-%COMP%]{height:25%!important}.h-50[_ngcontent-%COMP%]{height:50%!important}.h-75[_ngcontent-%COMP%]{height:75%!important}.h-100[_ngcontent-%COMP%]{height:100%!important}.h-auto[_ngcontent-%COMP%]{height:auto!important}.mw-100[_ngcontent-%COMP%]{max-width:100%!important}.mh-100[_ngcontent-%COMP%]{max-height:100%!important}.min-vw-100[_ngcontent-%COMP%]{min-width:100vw!important}.min-vh-100[_ngcontent-%COMP%]{min-height:100vh!important}.vw-100[_ngcontent-%COMP%]{width:100vw!important}.vh-100[_ngcontent-%COMP%]{height:100vh!important}.stretched-link[_ngcontent-%COMP%]::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.m-0[_ngcontent-%COMP%]{margin:0!important}.mt-0[_ngcontent-%COMP%], .my-0[_ngcontent-%COMP%]{margin-top:0!important}.mr-0[_ngcontent-%COMP%], .mx-0[_ngcontent-%COMP%]{margin-right:0!important}.mb-0[_ngcontent-%COMP%], .my-0[_ngcontent-%COMP%]{margin-bottom:0!important}.ml-0[_ngcontent-%COMP%], .mx-0[_ngcontent-%COMP%]{margin-left:0!important}.m-1[_ngcontent-%COMP%]{margin:.25rem!important}.mt-1[_ngcontent-%COMP%], .my-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mr-1[_ngcontent-%COMP%], .mx-1[_ngcontent-%COMP%]{margin-right:.25rem!important}.mb-1[_ngcontent-%COMP%], .my-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.ml-1[_ngcontent-%COMP%], .mx-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.m-2[_ngcontent-%COMP%]{margin:.5rem!important}.mt-2[_ngcontent-%COMP%], .my-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mr-2[_ngcontent-%COMP%], .mx-2[_ngcontent-%COMP%]{margin-right:.5rem!important}.mb-2[_ngcontent-%COMP%], .my-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.ml-2[_ngcontent-%COMP%], .mx-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.m-3[_ngcontent-%COMP%]{margin:1rem!important}.mt-3[_ngcontent-%COMP%], .my-3[_ngcontent-%COMP%]{margin-top:1rem!important}.mr-3[_ngcontent-%COMP%], .mx-3[_ngcontent-%COMP%]{margin-right:1rem!important}.mb-3[_ngcontent-%COMP%], .my-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.ml-3[_ngcontent-%COMP%], .mx-3[_ngcontent-%COMP%]{margin-left:1rem!important}.m-4[_ngcontent-%COMP%]{margin:1.5rem!important}.cd-header[_ngcontent-%COMP%], .mt-4[_ngcontent-%COMP%], .my-4[_ngcontent-%COMP%], legend[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mr-4[_ngcontent-%COMP%], .mx-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.cd-header[_ngcontent-%COMP%], .mb-4[_ngcontent-%COMP%], .my-4[_ngcontent-%COMP%], cd-info-card[_ngcontent-%COMP%], legend[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.ml-4[_ngcontent-%COMP%], .mx-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.m-5[_ngcontent-%COMP%]{margin:3rem!important}.mt-5[_ngcontent-%COMP%], .my-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mr-5[_ngcontent-%COMP%], .mx-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mb-5[_ngcontent-%COMP%], .my-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.ml-5[_ngcontent-%COMP%], .mx-5[_ngcontent-%COMP%]{margin-left:3rem!important}.p-0[_ngcontent-%COMP%]{padding:0!important}.pt-0[_ngcontent-%COMP%], .py-0[_ngcontent-%COMP%]{padding-top:0!important}.pr-0[_ngcontent-%COMP%], .px-0[_ngcontent-%COMP%]{padding-right:0!important}.pb-0[_ngcontent-%COMP%], .py-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pl-0[_ngcontent-%COMP%], .px-0[_ngcontent-%COMP%]{padding-left:0!important}.p-1[_ngcontent-%COMP%]{padding:.25rem!important}.pt-1[_ngcontent-%COMP%], .py-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pr-1[_ngcontent-%COMP%], .px-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.cd-header[_ngcontent-%COMP%], .pb-1[_ngcontent-%COMP%], .py-1[_ngcontent-%COMP%], legend[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pl-1[_ngcontent-%COMP%], .px-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.p-2[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]{padding:.5rem!important}.pt-2[_ngcontent-%COMP%], .py-2[_ngcontent-%COMP%]{padding-top:.5rem!important}.pr-2[_ngcontent-%COMP%], .px-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.pb-2[_ngcontent-%COMP%], .py-2[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pl-2[_ngcontent-%COMP%], .px-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.p-3[_ngcontent-%COMP%]{padding:1rem!important}.pt-3[_ngcontent-%COMP%], .py-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pr-3[_ngcontent-%COMP%], .px-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pb-3[_ngcontent-%COMP%], .py-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pl-3[_ngcontent-%COMP%], .px-3[_ngcontent-%COMP%]{padding-left:1rem!important}.p-4[_ngcontent-%COMP%]{padding:1.5rem!important}.pt-4[_ngcontent-%COMP%], .py-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pr-4[_ngcontent-%COMP%], .px-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pb-4[_ngcontent-%COMP%], .py-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pl-4[_ngcontent-%COMP%], .px-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.p-5[_ngcontent-%COMP%]{padding:3rem!important}.pt-5[_ngcontent-%COMP%], .py-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-5[_ngcontent-%COMP%], .px-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-5[_ngcontent-%COMP%], .py-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-5[_ngcontent-%COMP%], .px-5[_ngcontent-%COMP%]{padding-left:3rem!important}.m-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.mt-n1[_ngcontent-%COMP%], .my-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mr-n1[_ngcontent-%COMP%], .mx-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mb-n1[_ngcontent-%COMP%], .my-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.ml-n1[_ngcontent-%COMP%], .mx-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.m-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.mt-n2[_ngcontent-%COMP%], .my-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mr-n2[_ngcontent-%COMP%], .mx-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mb-n2[_ngcontent-%COMP%], .my-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.ml-n2[_ngcontent-%COMP%], .mx-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.m-n3[_ngcontent-%COMP%]{margin:-1rem!important}.mt-n3[_ngcontent-%COMP%], .my-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mr-n3[_ngcontent-%COMP%], .mx-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mb-n3[_ngcontent-%COMP%], .my-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.ml-n3[_ngcontent-%COMP%], .mx-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.m-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.mt-n4[_ngcontent-%COMP%], .my-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mr-n4[_ngcontent-%COMP%], .mx-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mb-n4[_ngcontent-%COMP%], .my-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.ml-n4[_ngcontent-%COMP%], .mx-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.m-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mt-n5[_ngcontent-%COMP%], .my-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-n5[_ngcontent-%COMP%], .mx-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-n5[_ngcontent-%COMP%], .my-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-n5[_ngcontent-%COMP%], .mx-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.m-auto[_ngcontent-%COMP%]{margin:auto!important}.mt-auto[_ngcontent-%COMP%], .my-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-auto[_ngcontent-%COMP%], .mx-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-auto[_ngcontent-%COMP%], .my-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-auto[_ngcontent-%COMP%], .mx-auto[_ngcontent-%COMP%]{margin-left:auto!important}@media (min-width:576px){.m-sm-0[_ngcontent-%COMP%]{margin:0!important}.mt-sm-0[_ngcontent-%COMP%], .my-sm-0[_ngcontent-%COMP%]{margin-top:0!important}.mr-sm-0[_ngcontent-%COMP%], .mx-sm-0[_ngcontent-%COMP%]{margin-right:0!important}.mb-sm-0[_ngcontent-%COMP%], .my-sm-0[_ngcontent-%COMP%]{margin-bottom:0!important}.ml-sm-0[_ngcontent-%COMP%], .mx-sm-0[_ngcontent-%COMP%]{margin-left:0!important}.m-sm-1[_ngcontent-%COMP%]{margin:.25rem!important}.mt-sm-1[_ngcontent-%COMP%], .my-sm-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mr-sm-1[_ngcontent-%COMP%], .mx-sm-1[_ngcontent-%COMP%]{margin-right:.25rem!important}.mb-sm-1[_ngcontent-%COMP%], .my-sm-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.ml-sm-1[_ngcontent-%COMP%], .mx-sm-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.m-sm-2[_ngcontent-%COMP%]{margin:.5rem!important}.mt-sm-2[_ngcontent-%COMP%], .my-sm-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mr-sm-2[_ngcontent-%COMP%], .mx-sm-2[_ngcontent-%COMP%]{margin-right:.5rem!important}.mb-sm-2[_ngcontent-%COMP%], .my-sm-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.ml-sm-2[_ngcontent-%COMP%], .mx-sm-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.m-sm-3[_ngcontent-%COMP%]{margin:1rem!important}.mt-sm-3[_ngcontent-%COMP%], .my-sm-3[_ngcontent-%COMP%]{margin-top:1rem!important}.mr-sm-3[_ngcontent-%COMP%], .mx-sm-3[_ngcontent-%COMP%]{margin-right:1rem!important}.mb-sm-3[_ngcontent-%COMP%], .my-sm-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.ml-sm-3[_ngcontent-%COMP%], .mx-sm-3[_ngcontent-%COMP%]{margin-left:1rem!important}.m-sm-4[_ngcontent-%COMP%]{margin:1.5rem!important}.mt-sm-4[_ngcontent-%COMP%], .my-sm-4[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mr-sm-4[_ngcontent-%COMP%], .mx-sm-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.mb-sm-4[_ngcontent-%COMP%], .my-sm-4[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.ml-sm-4[_ngcontent-%COMP%], .mx-sm-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.m-sm-5[_ngcontent-%COMP%]{margin:3rem!important}.mt-sm-5[_ngcontent-%COMP%], .my-sm-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mr-sm-5[_ngcontent-%COMP%], .mx-sm-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mb-sm-5[_ngcontent-%COMP%], .my-sm-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.ml-sm-5[_ngcontent-%COMP%], .mx-sm-5[_ngcontent-%COMP%]{margin-left:3rem!important}.p-sm-0[_ngcontent-%COMP%]{padding:0!important}.pt-sm-0[_ngcontent-%COMP%], .py-sm-0[_ngcontent-%COMP%]{padding-top:0!important}.pr-sm-0[_ngcontent-%COMP%], .px-sm-0[_ngcontent-%COMP%]{padding-right:0!important}.pb-sm-0[_ngcontent-%COMP%], .py-sm-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pl-sm-0[_ngcontent-%COMP%], .px-sm-0[_ngcontent-%COMP%]{padding-left:0!important}.p-sm-1[_ngcontent-%COMP%]{padding:.25rem!important}.pt-sm-1[_ngcontent-%COMP%], .py-sm-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pr-sm-1[_ngcontent-%COMP%], .px-sm-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.pb-sm-1[_ngcontent-%COMP%], .py-sm-1[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pl-sm-1[_ngcontent-%COMP%], .px-sm-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.p-sm-2[_ngcontent-%COMP%]{padding:.5rem!important}.pt-sm-2[_ngcontent-%COMP%], .py-sm-2[_ngcontent-%COMP%]{padding-top:.5rem!important}.pr-sm-2[_ngcontent-%COMP%], .px-sm-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.pb-sm-2[_ngcontent-%COMP%], .py-sm-2[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pl-sm-2[_ngcontent-%COMP%], .px-sm-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.p-sm-3[_ngcontent-%COMP%]{padding:1rem!important}.pt-sm-3[_ngcontent-%COMP%], .py-sm-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pr-sm-3[_ngcontent-%COMP%], .px-sm-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pb-sm-3[_ngcontent-%COMP%], .py-sm-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pl-sm-3[_ngcontent-%COMP%], .px-sm-3[_ngcontent-%COMP%]{padding-left:1rem!important}.p-sm-4[_ngcontent-%COMP%]{padding:1.5rem!important}.pt-sm-4[_ngcontent-%COMP%], .py-sm-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pr-sm-4[_ngcontent-%COMP%], .px-sm-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pb-sm-4[_ngcontent-%COMP%], .py-sm-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pl-sm-4[_ngcontent-%COMP%], .px-sm-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.p-sm-5[_ngcontent-%COMP%]{padding:3rem!important}.pt-sm-5[_ngcontent-%COMP%], .py-sm-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-sm-5[_ngcontent-%COMP%], .px-sm-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-sm-5[_ngcontent-%COMP%], .py-sm-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-sm-5[_ngcontent-%COMP%], .px-sm-5[_ngcontent-%COMP%]{padding-left:3rem!important}.m-sm-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.mt-sm-n1[_ngcontent-%COMP%], .my-sm-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mr-sm-n1[_ngcontent-%COMP%], .mx-sm-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mb-sm-n1[_ngcontent-%COMP%], .my-sm-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.ml-sm-n1[_ngcontent-%COMP%], .mx-sm-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.m-sm-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.mt-sm-n2[_ngcontent-%COMP%], .my-sm-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mr-sm-n2[_ngcontent-%COMP%], .mx-sm-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mb-sm-n2[_ngcontent-%COMP%], .my-sm-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.ml-sm-n2[_ngcontent-%COMP%], .mx-sm-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.m-sm-n3[_ngcontent-%COMP%]{margin:-1rem!important}.mt-sm-n3[_ngcontent-%COMP%], .my-sm-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mr-sm-n3[_ngcontent-%COMP%], .mx-sm-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mb-sm-n3[_ngcontent-%COMP%], .my-sm-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.ml-sm-n3[_ngcontent-%COMP%], .mx-sm-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.m-sm-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.mt-sm-n4[_ngcontent-%COMP%], .my-sm-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mr-sm-n4[_ngcontent-%COMP%], .mx-sm-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mb-sm-n4[_ngcontent-%COMP%], .my-sm-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.ml-sm-n4[_ngcontent-%COMP%], .mx-sm-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.m-sm-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mt-sm-n5[_ngcontent-%COMP%], .my-sm-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-sm-n5[_ngcontent-%COMP%], .mx-sm-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-sm-n5[_ngcontent-%COMP%], .my-sm-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-sm-n5[_ngcontent-%COMP%], .mx-sm-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.m-sm-auto[_ngcontent-%COMP%]{margin:auto!important}.mt-sm-auto[_ngcontent-%COMP%], .my-sm-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-sm-auto[_ngcontent-%COMP%], .mx-sm-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-sm-auto[_ngcontent-%COMP%], .my-sm-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-sm-auto[_ngcontent-%COMP%], .mx-sm-auto[_ngcontent-%COMP%]{margin-left:auto!important}}.text-monospace[_ngcontent-%COMP%]{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.text-justify[_ngcontent-%COMP%]{text-align:justify!important}.text-wrap[_ngcontent-%COMP%]{white-space:normal!important}.text-nowrap[_ngcontent-%COMP%]{white-space:nowrap!important}.text-truncate[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left[_ngcontent-%COMP%]{text-align:left!important}.text-right[_ngcontent-%COMP%]{text-align:right!important}.text-center[_ngcontent-%COMP%]{text-align:center!important}@media (min-width:576px){.text-sm-left[_ngcontent-%COMP%]{text-align:left!important}.text-sm-right[_ngcontent-%COMP%]{text-align:right!important}.text-sm-center[_ngcontent-%COMP%]{text-align:center!important}}@media (min-width:768px){.flex-md-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-md-column[_ngcontent-%COMP%]{flex-direction:column!important}.flex-md-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-md-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-md-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-md-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-md-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.flex-md-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-md-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-md-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-md-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-md-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.justify-content-md-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-md-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-md-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-md-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-md-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-md-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-md-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-md-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-md-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-md-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-md-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-md-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-md-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-md-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-md-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-md-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-md-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-md-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-md-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-md-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-md-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-md-stretch[_ngcontent-%COMP%]{align-self:stretch!important}.float-md-left[_ngcontent-%COMP%]{float:left!important}.float-md-right[_ngcontent-%COMP%]{float:right!important}.float-md-none[_ngcontent-%COMP%]{float:none!important}.m-md-0[_ngcontent-%COMP%]{margin:0!important}.mt-md-0[_ngcontent-%COMP%], .my-md-0[_ngcontent-%COMP%]{margin-top:0!important}.mr-md-0[_ngcontent-%COMP%], .mx-md-0[_ngcontent-%COMP%]{margin-right:0!important}.mb-md-0[_ngcontent-%COMP%], .my-md-0[_ngcontent-%COMP%]{margin-bottom:0!important}.ml-md-0[_ngcontent-%COMP%], .mx-md-0[_ngcontent-%COMP%]{margin-left:0!important}.m-md-1[_ngcontent-%COMP%]{margin:.25rem!important}.mt-md-1[_ngcontent-%COMP%], .my-md-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mr-md-1[_ngcontent-%COMP%], .mx-md-1[_ngcontent-%COMP%]{margin-right:.25rem!important}.mb-md-1[_ngcontent-%COMP%], .my-md-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.ml-md-1[_ngcontent-%COMP%], .mx-md-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.m-md-2[_ngcontent-%COMP%]{margin:.5rem!important}.mt-md-2[_ngcontent-%COMP%], .my-md-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mr-md-2[_ngcontent-%COMP%], .mx-md-2[_ngcontent-%COMP%]{margin-right:.5rem!important}.mb-md-2[_ngcontent-%COMP%], .my-md-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.ml-md-2[_ngcontent-%COMP%], .mx-md-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.m-md-3[_ngcontent-%COMP%]{margin:1rem!important}.mt-md-3[_ngcontent-%COMP%], .my-md-3[_ngcontent-%COMP%]{margin-top:1rem!important}.mr-md-3[_ngcontent-%COMP%], .mx-md-3[_ngcontent-%COMP%]{margin-right:1rem!important}.mb-md-3[_ngcontent-%COMP%], .my-md-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.ml-md-3[_ngcontent-%COMP%], .mx-md-3[_ngcontent-%COMP%]{margin-left:1rem!important}.m-md-4[_ngcontent-%COMP%]{margin:1.5rem!important}.mt-md-4[_ngcontent-%COMP%], .my-md-4[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mr-md-4[_ngcontent-%COMP%], .mx-md-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.mb-md-4[_ngcontent-%COMP%], .my-md-4[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.ml-md-4[_ngcontent-%COMP%], .mx-md-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.m-md-5[_ngcontent-%COMP%]{margin:3rem!important}.mt-md-5[_ngcontent-%COMP%], .my-md-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mr-md-5[_ngcontent-%COMP%], .mx-md-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mb-md-5[_ngcontent-%COMP%], .my-md-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.ml-md-5[_ngcontent-%COMP%], .mx-md-5[_ngcontent-%COMP%]{margin-left:3rem!important}.p-md-0[_ngcontent-%COMP%]{padding:0!important}.pt-md-0[_ngcontent-%COMP%], .py-md-0[_ngcontent-%COMP%]{padding-top:0!important}.pr-md-0[_ngcontent-%COMP%], .px-md-0[_ngcontent-%COMP%]{padding-right:0!important}.pb-md-0[_ngcontent-%COMP%], .py-md-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pl-md-0[_ngcontent-%COMP%], .px-md-0[_ngcontent-%COMP%]{padding-left:0!important}.p-md-1[_ngcontent-%COMP%]{padding:.25rem!important}.pt-md-1[_ngcontent-%COMP%], .py-md-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pr-md-1[_ngcontent-%COMP%], .px-md-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.pb-md-1[_ngcontent-%COMP%], .py-md-1[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pl-md-1[_ngcontent-%COMP%], .px-md-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.p-md-2[_ngcontent-%COMP%]{padding:.5rem!important}.pt-md-2[_ngcontent-%COMP%], .py-md-2[_ngcontent-%COMP%]{padding-top:.5rem!important}.pr-md-2[_ngcontent-%COMP%], .px-md-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.pb-md-2[_ngcontent-%COMP%], .py-md-2[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pl-md-2[_ngcontent-%COMP%], .px-md-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.p-md-3[_ngcontent-%COMP%]{padding:1rem!important}.pt-md-3[_ngcontent-%COMP%], .py-md-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pr-md-3[_ngcontent-%COMP%], .px-md-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pb-md-3[_ngcontent-%COMP%], .py-md-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pl-md-3[_ngcontent-%COMP%], .px-md-3[_ngcontent-%COMP%]{padding-left:1rem!important}.p-md-4[_ngcontent-%COMP%]{padding:1.5rem!important}.pt-md-4[_ngcontent-%COMP%], .py-md-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pr-md-4[_ngcontent-%COMP%], .px-md-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pb-md-4[_ngcontent-%COMP%], .py-md-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pl-md-4[_ngcontent-%COMP%], .px-md-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.p-md-5[_ngcontent-%COMP%]{padding:3rem!important}.pt-md-5[_ngcontent-%COMP%], .py-md-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-md-5[_ngcontent-%COMP%], .px-md-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-md-5[_ngcontent-%COMP%], .py-md-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-md-5[_ngcontent-%COMP%], .px-md-5[_ngcontent-%COMP%]{padding-left:3rem!important}.m-md-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.mt-md-n1[_ngcontent-%COMP%], .my-md-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mr-md-n1[_ngcontent-%COMP%], .mx-md-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mb-md-n1[_ngcontent-%COMP%], .my-md-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.ml-md-n1[_ngcontent-%COMP%], .mx-md-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.m-md-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.mt-md-n2[_ngcontent-%COMP%], .my-md-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mr-md-n2[_ngcontent-%COMP%], .mx-md-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mb-md-n2[_ngcontent-%COMP%], .my-md-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.ml-md-n2[_ngcontent-%COMP%], .mx-md-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.m-md-n3[_ngcontent-%COMP%]{margin:-1rem!important}.mt-md-n3[_ngcontent-%COMP%], .my-md-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mr-md-n3[_ngcontent-%COMP%], .mx-md-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mb-md-n3[_ngcontent-%COMP%], .my-md-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.ml-md-n3[_ngcontent-%COMP%], .mx-md-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.m-md-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.mt-md-n4[_ngcontent-%COMP%], .my-md-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mr-md-n4[_ngcontent-%COMP%], .mx-md-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mb-md-n4[_ngcontent-%COMP%], .my-md-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.ml-md-n4[_ngcontent-%COMP%], .mx-md-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.m-md-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mt-md-n5[_ngcontent-%COMP%], .my-md-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-md-n5[_ngcontent-%COMP%], .mx-md-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-md-n5[_ngcontent-%COMP%], .my-md-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-md-n5[_ngcontent-%COMP%], .mx-md-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.m-md-auto[_ngcontent-%COMP%]{margin:auto!important}.mt-md-auto[_ngcontent-%COMP%], .my-md-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-md-auto[_ngcontent-%COMP%], .mx-md-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-md-auto[_ngcontent-%COMP%], .my-md-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-md-auto[_ngcontent-%COMP%], .mx-md-auto[_ngcontent-%COMP%]{margin-left:auto!important}.text-md-left[_ngcontent-%COMP%]{text-align:left!important}.text-md-right[_ngcontent-%COMP%]{text-align:right!important}.text-md-center[_ngcontent-%COMP%]{text-align:center!important}}@media (min-width:992px){.flex-lg-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-lg-column[_ngcontent-%COMP%]{flex-direction:column!important}.flex-lg-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-lg-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-lg-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-lg-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-lg-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.flex-lg-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-lg-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-lg-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-lg-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-lg-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.justify-content-lg-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-lg-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-lg-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-lg-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-lg-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-lg-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-lg-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-lg-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-lg-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-lg-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-lg-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-lg-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-lg-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-lg-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-lg-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-lg-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-lg-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-lg-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-lg-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-lg-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-lg-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-lg-stretch[_ngcontent-%COMP%]{align-self:stretch!important}.float-lg-left[_ngcontent-%COMP%]{float:left!important}.float-lg-right[_ngcontent-%COMP%]{float:right!important}.float-lg-none[_ngcontent-%COMP%]{float:none!important}.m-lg-0[_ngcontent-%COMP%]{margin:0!important}.mt-lg-0[_ngcontent-%COMP%], .my-lg-0[_ngcontent-%COMP%]{margin-top:0!important}.mr-lg-0[_ngcontent-%COMP%], .mx-lg-0[_ngcontent-%COMP%]{margin-right:0!important}.mb-lg-0[_ngcontent-%COMP%], .my-lg-0[_ngcontent-%COMP%]{margin-bottom:0!important}.ml-lg-0[_ngcontent-%COMP%], .mx-lg-0[_ngcontent-%COMP%]{margin-left:0!important}.m-lg-1[_ngcontent-%COMP%]{margin:.25rem!important}.mt-lg-1[_ngcontent-%COMP%], .my-lg-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mr-lg-1[_ngcontent-%COMP%], .mx-lg-1[_ngcontent-%COMP%]{margin-right:.25rem!important}.mb-lg-1[_ngcontent-%COMP%], .my-lg-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.ml-lg-1[_ngcontent-%COMP%], .mx-lg-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.m-lg-2[_ngcontent-%COMP%]{margin:.5rem!important}.mt-lg-2[_ngcontent-%COMP%], .my-lg-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mr-lg-2[_ngcontent-%COMP%], .mx-lg-2[_ngcontent-%COMP%]{margin-right:.5rem!important}.mb-lg-2[_ngcontent-%COMP%], .my-lg-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.ml-lg-2[_ngcontent-%COMP%], .mx-lg-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.m-lg-3[_ngcontent-%COMP%]{margin:1rem!important}.mt-lg-3[_ngcontent-%COMP%], .my-lg-3[_ngcontent-%COMP%]{margin-top:1rem!important}.mr-lg-3[_ngcontent-%COMP%], .mx-lg-3[_ngcontent-%COMP%]{margin-right:1rem!important}.mb-lg-3[_ngcontent-%COMP%], .my-lg-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.ml-lg-3[_ngcontent-%COMP%], .mx-lg-3[_ngcontent-%COMP%]{margin-left:1rem!important}.m-lg-4[_ngcontent-%COMP%]{margin:1.5rem!important}.mt-lg-4[_ngcontent-%COMP%], .my-lg-4[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mr-lg-4[_ngcontent-%COMP%], .mx-lg-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.mb-lg-4[_ngcontent-%COMP%], .my-lg-4[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.ml-lg-4[_ngcontent-%COMP%], .mx-lg-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.m-lg-5[_ngcontent-%COMP%]{margin:3rem!important}.mt-lg-5[_ngcontent-%COMP%], .my-lg-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mr-lg-5[_ngcontent-%COMP%], .mx-lg-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mb-lg-5[_ngcontent-%COMP%], .my-lg-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.ml-lg-5[_ngcontent-%COMP%], .mx-lg-5[_ngcontent-%COMP%]{margin-left:3rem!important}.p-lg-0[_ngcontent-%COMP%]{padding:0!important}.pt-lg-0[_ngcontent-%COMP%], .py-lg-0[_ngcontent-%COMP%]{padding-top:0!important}.pr-lg-0[_ngcontent-%COMP%], .px-lg-0[_ngcontent-%COMP%]{padding-right:0!important}.pb-lg-0[_ngcontent-%COMP%], .py-lg-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pl-lg-0[_ngcontent-%COMP%], .px-lg-0[_ngcontent-%COMP%]{padding-left:0!important}.p-lg-1[_ngcontent-%COMP%]{padding:.25rem!important}.pt-lg-1[_ngcontent-%COMP%], .py-lg-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pr-lg-1[_ngcontent-%COMP%], .px-lg-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.pb-lg-1[_ngcontent-%COMP%], .py-lg-1[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pl-lg-1[_ngcontent-%COMP%], .px-lg-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.p-lg-2[_ngcontent-%COMP%]{padding:.5rem!important}.pt-lg-2[_ngcontent-%COMP%], .py-lg-2[_ngcontent-%COMP%]{padding-top:.5rem!important}.pr-lg-2[_ngcontent-%COMP%], .px-lg-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.pb-lg-2[_ngcontent-%COMP%], .py-lg-2[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pl-lg-2[_ngcontent-%COMP%], .px-lg-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.p-lg-3[_ngcontent-%COMP%]{padding:1rem!important}.pt-lg-3[_ngcontent-%COMP%], .py-lg-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pr-lg-3[_ngcontent-%COMP%], .px-lg-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pb-lg-3[_ngcontent-%COMP%], .py-lg-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pl-lg-3[_ngcontent-%COMP%], .px-lg-3[_ngcontent-%COMP%]{padding-left:1rem!important}.p-lg-4[_ngcontent-%COMP%]{padding:1.5rem!important}.pt-lg-4[_ngcontent-%COMP%], .py-lg-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pr-lg-4[_ngcontent-%COMP%], .px-lg-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pb-lg-4[_ngcontent-%COMP%], .py-lg-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pl-lg-4[_ngcontent-%COMP%], .px-lg-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.p-lg-5[_ngcontent-%COMP%]{padding:3rem!important}.pt-lg-5[_ngcontent-%COMP%], .py-lg-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-lg-5[_ngcontent-%COMP%], .px-lg-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-lg-5[_ngcontent-%COMP%], .py-lg-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-lg-5[_ngcontent-%COMP%], .px-lg-5[_ngcontent-%COMP%]{padding-left:3rem!important}.m-lg-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.mt-lg-n1[_ngcontent-%COMP%], .my-lg-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mr-lg-n1[_ngcontent-%COMP%], .mx-lg-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mb-lg-n1[_ngcontent-%COMP%], .my-lg-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.ml-lg-n1[_ngcontent-%COMP%], .mx-lg-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.m-lg-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.mt-lg-n2[_ngcontent-%COMP%], .my-lg-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mr-lg-n2[_ngcontent-%COMP%], .mx-lg-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mb-lg-n2[_ngcontent-%COMP%], .my-lg-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.ml-lg-n2[_ngcontent-%COMP%], .mx-lg-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.m-lg-n3[_ngcontent-%COMP%]{margin:-1rem!important}.mt-lg-n3[_ngcontent-%COMP%], .my-lg-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mr-lg-n3[_ngcontent-%COMP%], .mx-lg-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mb-lg-n3[_ngcontent-%COMP%], .my-lg-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.ml-lg-n3[_ngcontent-%COMP%], .mx-lg-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.m-lg-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.mt-lg-n4[_ngcontent-%COMP%], .my-lg-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mr-lg-n4[_ngcontent-%COMP%], .mx-lg-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mb-lg-n4[_ngcontent-%COMP%], .my-lg-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.ml-lg-n4[_ngcontent-%COMP%], .mx-lg-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.m-lg-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mt-lg-n5[_ngcontent-%COMP%], .my-lg-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-lg-n5[_ngcontent-%COMP%], .mx-lg-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-lg-n5[_ngcontent-%COMP%], .my-lg-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-lg-n5[_ngcontent-%COMP%], .mx-lg-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.m-lg-auto[_ngcontent-%COMP%]{margin:auto!important}.mt-lg-auto[_ngcontent-%COMP%], .my-lg-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-lg-auto[_ngcontent-%COMP%], .mx-lg-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-lg-auto[_ngcontent-%COMP%], .my-lg-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-lg-auto[_ngcontent-%COMP%], .mx-lg-auto[_ngcontent-%COMP%]{margin-left:auto!important}.text-lg-left[_ngcontent-%COMP%]{text-align:left!important}.text-lg-right[_ngcontent-%COMP%]{text-align:right!important}.text-lg-center[_ngcontent-%COMP%]{text-align:center!important}}@media (min-width:1200px){.flex-xl-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-xl-column[_ngcontent-%COMP%]{flex-direction:column!important}.flex-xl-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-xl-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-xl-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-xl-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-xl-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.flex-xl-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-xl-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-xl-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-xl-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-xl-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.justify-content-xl-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-xl-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-xl-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-xl-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-xl-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-xl-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-xl-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-xl-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-xl-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-xl-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-xl-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-xl-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-xl-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-xl-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-xl-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-xl-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-xl-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-xl-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-xl-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-xl-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-xl-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-xl-stretch[_ngcontent-%COMP%]{align-self:stretch!important}.float-xl-left[_ngcontent-%COMP%]{float:left!important}.float-xl-right[_ngcontent-%COMP%]{float:right!important}.float-xl-none[_ngcontent-%COMP%]{float:none!important}.m-xl-0[_ngcontent-%COMP%]{margin:0!important}.mt-xl-0[_ngcontent-%COMP%], .my-xl-0[_ngcontent-%COMP%]{margin-top:0!important}.mr-xl-0[_ngcontent-%COMP%], .mx-xl-0[_ngcontent-%COMP%]{margin-right:0!important}.mb-xl-0[_ngcontent-%COMP%], .my-xl-0[_ngcontent-%COMP%]{margin-bottom:0!important}.ml-xl-0[_ngcontent-%COMP%], .mx-xl-0[_ngcontent-%COMP%]{margin-left:0!important}.m-xl-1[_ngcontent-%COMP%]{margin:.25rem!important}.mt-xl-1[_ngcontent-%COMP%], .my-xl-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mr-xl-1[_ngcontent-%COMP%], .mx-xl-1[_ngcontent-%COMP%]{margin-right:.25rem!important}.mb-xl-1[_ngcontent-%COMP%], .my-xl-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.ml-xl-1[_ngcontent-%COMP%], .mx-xl-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.m-xl-2[_ngcontent-%COMP%]{margin:.5rem!important}.mt-xl-2[_ngcontent-%COMP%], .my-xl-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mr-xl-2[_ngcontent-%COMP%], .mx-xl-2[_ngcontent-%COMP%]{margin-right:.5rem!important}.mb-xl-2[_ngcontent-%COMP%], .my-xl-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.ml-xl-2[_ngcontent-%COMP%], .mx-xl-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.m-xl-3[_ngcontent-%COMP%]{margin:1rem!important}.mt-xl-3[_ngcontent-%COMP%], .my-xl-3[_ngcontent-%COMP%]{margin-top:1rem!important}.mr-xl-3[_ngcontent-%COMP%], .mx-xl-3[_ngcontent-%COMP%]{margin-right:1rem!important}.mb-xl-3[_ngcontent-%COMP%], .my-xl-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.ml-xl-3[_ngcontent-%COMP%], .mx-xl-3[_ngcontent-%COMP%]{margin-left:1rem!important}.m-xl-4[_ngcontent-%COMP%]{margin:1.5rem!important}.mt-xl-4[_ngcontent-%COMP%], .my-xl-4[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mr-xl-4[_ngcontent-%COMP%], .mx-xl-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.mb-xl-4[_ngcontent-%COMP%], .my-xl-4[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.ml-xl-4[_ngcontent-%COMP%], .mx-xl-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.m-xl-5[_ngcontent-%COMP%]{margin:3rem!important}.mt-xl-5[_ngcontent-%COMP%], .my-xl-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mr-xl-5[_ngcontent-%COMP%], .mx-xl-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mb-xl-5[_ngcontent-%COMP%], .my-xl-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.ml-xl-5[_ngcontent-%COMP%], .mx-xl-5[_ngcontent-%COMP%]{margin-left:3rem!important}.p-xl-0[_ngcontent-%COMP%]{padding:0!important}.pt-xl-0[_ngcontent-%COMP%], .py-xl-0[_ngcontent-%COMP%]{padding-top:0!important}.pr-xl-0[_ngcontent-%COMP%], .px-xl-0[_ngcontent-%COMP%]{padding-right:0!important}.pb-xl-0[_ngcontent-%COMP%], .py-xl-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pl-xl-0[_ngcontent-%COMP%], .px-xl-0[_ngcontent-%COMP%]{padding-left:0!important}.p-xl-1[_ngcontent-%COMP%]{padding:.25rem!important}.pt-xl-1[_ngcontent-%COMP%], .py-xl-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pr-xl-1[_ngcontent-%COMP%], .px-xl-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.pb-xl-1[_ngcontent-%COMP%], .py-xl-1[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pl-xl-1[_ngcontent-%COMP%], .px-xl-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.p-xl-2[_ngcontent-%COMP%]{padding:.5rem!important}.pt-xl-2[_ngcontent-%COMP%], .py-xl-2[_ngcontent-%COMP%]{padding-top:.5rem!important}.pr-xl-2[_ngcontent-%COMP%], .px-xl-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.pb-xl-2[_ngcontent-%COMP%], .py-xl-2[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pl-xl-2[_ngcontent-%COMP%], .px-xl-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.p-xl-3[_ngcontent-%COMP%]{padding:1rem!important}.pt-xl-3[_ngcontent-%COMP%], .py-xl-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pr-xl-3[_ngcontent-%COMP%], .px-xl-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pb-xl-3[_ngcontent-%COMP%], .py-xl-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pl-xl-3[_ngcontent-%COMP%], .px-xl-3[_ngcontent-%COMP%]{padding-left:1rem!important}.p-xl-4[_ngcontent-%COMP%]{padding:1.5rem!important}.pt-xl-4[_ngcontent-%COMP%], .py-xl-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pr-xl-4[_ngcontent-%COMP%], .px-xl-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pb-xl-4[_ngcontent-%COMP%], .py-xl-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pl-xl-4[_ngcontent-%COMP%], .px-xl-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.p-xl-5[_ngcontent-%COMP%]{padding:3rem!important}.pt-xl-5[_ngcontent-%COMP%], .py-xl-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-xl-5[_ngcontent-%COMP%], .px-xl-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-xl-5[_ngcontent-%COMP%], .py-xl-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-xl-5[_ngcontent-%COMP%], .px-xl-5[_ngcontent-%COMP%]{padding-left:3rem!important}.m-xl-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.mt-xl-n1[_ngcontent-%COMP%], .my-xl-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mr-xl-n1[_ngcontent-%COMP%], .mx-xl-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mb-xl-n1[_ngcontent-%COMP%], .my-xl-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.ml-xl-n1[_ngcontent-%COMP%], .mx-xl-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.m-xl-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.mt-xl-n2[_ngcontent-%COMP%], .my-xl-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mr-xl-n2[_ngcontent-%COMP%], .mx-xl-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mb-xl-n2[_ngcontent-%COMP%], .my-xl-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.ml-xl-n2[_ngcontent-%COMP%], .mx-xl-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.m-xl-n3[_ngcontent-%COMP%]{margin:-1rem!important}.mt-xl-n3[_ngcontent-%COMP%], .my-xl-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mr-xl-n3[_ngcontent-%COMP%], .mx-xl-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mb-xl-n3[_ngcontent-%COMP%], .my-xl-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.ml-xl-n3[_ngcontent-%COMP%], .mx-xl-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.m-xl-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.mt-xl-n4[_ngcontent-%COMP%], .my-xl-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mr-xl-n4[_ngcontent-%COMP%], .mx-xl-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mb-xl-n4[_ngcontent-%COMP%], .my-xl-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.ml-xl-n4[_ngcontent-%COMP%], .mx-xl-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.m-xl-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mt-xl-n5[_ngcontent-%COMP%], .my-xl-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-xl-n5[_ngcontent-%COMP%], .mx-xl-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-xl-n5[_ngcontent-%COMP%], .my-xl-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-xl-n5[_ngcontent-%COMP%], .mx-xl-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.m-xl-auto[_ngcontent-%COMP%]{margin:auto!important}.mt-xl-auto[_ngcontent-%COMP%], .my-xl-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-xl-auto[_ngcontent-%COMP%], .mx-xl-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-xl-auto[_ngcontent-%COMP%], .my-xl-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-xl-auto[_ngcontent-%COMP%], .mx-xl-auto[_ngcontent-%COMP%]{margin-left:auto!important}.text-xl-left[_ngcontent-%COMP%]{text-align:left!important}.text-xl-right[_ngcontent-%COMP%]{text-align:right!important}.text-xl-center[_ngcontent-%COMP%]{text-align:center!important}}.text-lowercase[_ngcontent-%COMP%]{text-transform:lowercase!important}.text-uppercase[_ngcontent-%COMP%]{text-transform:uppercase!important}.text-capitalize[_ngcontent-%COMP%]{text-transform:capitalize!important}.font-weight-light[_ngcontent-%COMP%]{font-weight:300!important}.font-weight-lighter[_ngcontent-%COMP%]{font-weight:lighter!important}.font-weight-normal[_ngcontent-%COMP%]{font-weight:400!important}.font-weight-bold[_ngcontent-%COMP%]{font-weight:700!important}.font-weight-bolder[_ngcontent-%COMP%]{font-weight:bolder!important}.font-italic[_ngcontent-%COMP%]{font-style:italic!important}.text-white[_ngcontent-%COMP%]{color:#fff!important}.text-primary[_ngcontent-%COMP%]{color:#2b99a8!important}a.text-primary[_ngcontent-%COMP%]:focus, a.text-primary[_ngcontent-%COMP%]:hover{color:#1b626b!important}.text-secondary[_ngcontent-%COMP%]{color:#ef5c55!important}a.text-secondary[_ngcontent-%COMP%]:focus, a.text-secondary[_ngcontent-%COMP%]:hover{color:#e21f15!important}.text-success[_ngcontent-%COMP%]{color:#28a745!important}a.text-success[_ngcontent-%COMP%]:focus, a.text-success[_ngcontent-%COMP%]:hover{color:#19692c!important}.text-info[_ngcontent-%COMP%]{color:#17a2b8!important}a.text-info[_ngcontent-%COMP%]:focus, a.text-info[_ngcontent-%COMP%]:hover{color:#0f6674!important}.text-warning[_ngcontent-%COMP%]{color:#ffc107!important}a.text-warning[_ngcontent-%COMP%]:focus, a.text-warning[_ngcontent-%COMP%]:hover{color:#ba8b00!important}.text-danger[_ngcontent-%COMP%]{color:#dc3545!important}a.text-danger[_ngcontent-%COMP%]:focus, a.text-danger[_ngcontent-%COMP%]:hover{color:#a71d2a!important}.text-light[_ngcontent-%COMP%]{color:#f8f9fa!important}a.text-light[_ngcontent-%COMP%]:focus, a.text-light[_ngcontent-%COMP%]:hover{color:#cbd3da!important}.text-dark[_ngcontent-%COMP%]{color:#777!important}a.text-dark[_ngcontent-%COMP%]:focus, a.text-dark[_ngcontent-%COMP%]:hover{color:#515151!important}.text-body[_ngcontent-%COMP%]{color:#212529!important}.text-muted[_ngcontent-%COMP%]{color:#6c757d!important}.text-black-50[_ngcontent-%COMP%]{color:rgba(0,0,0,.5)!important}.text-white-50[_ngcontent-%COMP%]{color:rgba(255,255,255,.5)!important}.text-hide[_ngcontent-%COMP%]{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none[_ngcontent-%COMP%]{text-decoration:none!important}.text-break[_ngcontent-%COMP%]{word-break:break-word!important;overflow-wrap:break-word!important}.text-reset[_ngcontent-%COMP%]{color:inherit!important}.visible[_ngcontent-%COMP%]{visibility:visible!important}.invisible[_ngcontent-%COMP%]{visibility:hidden!important}@media print{*[_ngcontent-%COMP%], [_ngcontent-%COMP%]::after, [_ngcontent-%COMP%]::before{text-shadow:none!important;box-shadow:none!important}a[_ngcontent-%COMP%]:not(.btn){text-decoration:underline}abbr[title][_ngcontent-%COMP%]::after{content:" (" attr(title) ")"}pre[_ngcontent-%COMP%]{white-space:pre-wrap!important}blockquote[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]{border:1px solid #adb5bd;page-break-inside:avoid}thead[_ngcontent-%COMP%]{display:table-header-group}img[_ngcontent-%COMP%], tr[_ngcontent-%COMP%]{page-break-inside:avoid}h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%], p[_ngcontent-%COMP%]{orphans:3;widows:3}h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%]{page-break-after:avoid}@page{size:a3}.container[_ngcontent-%COMP%], body[_ngcontent-%COMP%]{min-width:992px!important}.navbar[_ngcontent-%COMP%]{display:none}.badge[_ngcontent-%COMP%]{border:1px solid #000}.table[_ngcontent-%COMP%]{border-collapse:collapse!important}.table[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{background-color:#fff!important}.table-bordered[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-bordered[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border:1px solid #dee2e6!important}.table-dark[_ngcontent-%COMP%]{color:inherit}.table-dark[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#dee2e6}.table[_ngcontent-%COMP%]   .thead-dark[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{color:inherit;border-color:#dee2e6}}@font-face{font-family:ForkAwesome;src:url(forkawesome-webfont.35e77a38ca9d85c4e897.eot?v=1.1.7);src:url(forkawesome-webfont.35e77a38ca9d85c4e897.eot?#iefix&v=1.1.7) format("embedded-opentype"),url(forkawesome-webfont.3a9e014c2469ffa65a0e.woff2?v=1.1.7) format("woff2"),url(forkawesome-webfont.44bbdbbfb5a10ba2d1ce.woff?v=1.1.7) format("woff"),url(forkawesome-webfont.fc46f3dae03b2b2e1cee.ttf?v=1.1.7) format("truetype"),url(forkawesome-webfont.78dcc9c4999659b8026a.svg?v=1.1.7#forkawesomeregular) format("svg");font-weight:400;font-style:normal}.fa[_ngcontent-%COMP%]{display:inline-block;font:normal normal normal 14px/1 ForkAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg[_ngcontent-%COMP%]{font-size:1.3333333333em;line-height:.75em;vertical-align:-15%}.fa-2x[_ngcontent-%COMP%]{font-size:2em}.fa-3x[_ngcontent-%COMP%]{font-size:3em}.fa-4x[_ngcontent-%COMP%]{font-size:4em}.fa-5x[_ngcontent-%COMP%]{font-size:5em}.fa[_ngcontent-%COMP%], .fa-fw[_ngcontent-%COMP%]{width:1.2857142857em;text-align:center}.fa-ul[_ngcontent-%COMP%]{padding-left:0;margin-left:2.1428571429em;list-style-type:none}.fa-ul[_ngcontent-%COMP%] > li[_ngcontent-%COMP%]{position:relative}.fa-li[_ngcontent-%COMP%]{position:absolute;left:-2.1428571429em;width:2.1428571429em;top:.1428571429em;text-align:center}.fa-li.fa-lg[_ngcontent-%COMP%]{left:-1.8571428571em}.fa-border[_ngcontent-%COMP%]{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left[_ngcontent-%COMP%]{float:left}.fa-pull-right[_ngcontent-%COMP%]{float:right}.fa.fa-pull-left[_ngcontent-%COMP%]{margin-right:.3em}.fa.fa-pull-right[_ngcontent-%COMP%]{margin-left:.3em}.pull-right[_ngcontent-%COMP%]{float:right}.pull-left[_ngcontent-%COMP%]{float:left}.fa.pull-left[_ngcontent-%COMP%]{margin-right:.3em}.fa.pull-right[_ngcontent-%COMP%]{margin-left:.3em}.fa-spin[_ngcontent-%COMP%]{animation:2s linear infinite fa-spin}.fa-pulse[_ngcontent-%COMP%]{animation:1s steps(8) infinite fa-spin}@keyframes fa-spin{0%{transform:rotate(0)}100%{transform:rotate(359deg)}}.fa-rotate-90[_ngcontent-%COMP%]{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180[_ngcontent-%COMP%]{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270[_ngcontent-%COMP%]{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal[_ngcontent-%COMP%]{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";transform:scale(-1,1)}.fa-flip-vertical[_ngcontent-%COMP%]{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";transform:scale(1,-1)}[_ngcontent-%COMP%]:root   .fa-flip-horizontal[_ngcontent-%COMP%], [_ngcontent-%COMP%]:root   .fa-flip-vertical[_ngcontent-%COMP%], [_ngcontent-%COMP%]:root   .fa-rotate-180[_ngcontent-%COMP%], [_ngcontent-%COMP%]:root   .fa-rotate-270[_ngcontent-%COMP%], [_ngcontent-%COMP%]:root   .fa-rotate-90[_ngcontent-%COMP%]{filter:none}.fa-stack[_ngcontent-%COMP%]{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x[_ngcontent-%COMP%], .fa-stack-2x[_ngcontent-%COMP%]{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x[_ngcontent-%COMP%]{line-height:inherit}.fa-stack-2x[_ngcontent-%COMP%]{font-size:2em}.fa-inverse[_ngcontent-%COMP%]{color:#fff}.fa-glass[_ngcontent-%COMP%]:before{content:""}.fa-music[_ngcontent-%COMP%]:before{content:""}.fa-search[_ngcontent-%COMP%]:before{content:""}.fa-envelope-o[_ngcontent-%COMP%]:before{content:""}.fa-heart[_ngcontent-%COMP%]:before{content:""}.fa-star[_ngcontent-%COMP%]:before{content:""}.fa-star-o[_ngcontent-%COMP%]:before{content:""}.fa-user[_ngcontent-%COMP%]:before{content:""}.fa-film[_ngcontent-%COMP%]:before{content:""}.fa-th-large[_ngcontent-%COMP%]:before{content:""}.fa-th[_ngcontent-%COMP%]:before{content:""}.fa-th-list[_ngcontent-%COMP%]:before{content:""}.fa-check[_ngcontent-%COMP%]:before{content:""}.fa-close[_ngcontent-%COMP%]:before, .fa-remove[_ngcontent-%COMP%]:before, .fa-times[_ngcontent-%COMP%]:before{content:""}.fa-search-plus[_ngcontent-%COMP%]:before{content:""}.fa-search-minus[_ngcontent-%COMP%]:before{content:""}.fa-power-off[_ngcontent-%COMP%]:before{content:""}.fa-signal[_ngcontent-%COMP%]:before{content:""}.fa-cog[_ngcontent-%COMP%]:before, .fa-gear[_ngcontent-%COMP%]:before{content:""}.fa-trash-o[_ngcontent-%COMP%]:before{content:""}.fa-home[_ngcontent-%COMP%]:before{content:""}.fa-file-o[_ngcontent-%COMP%]:before{content:""}.fa-clock-o[_ngcontent-%COMP%]:before{content:""}.fa-road[_ngcontent-%COMP%]:before{content:""}.fa-download[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-o-down[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-o-up[_ngcontent-%COMP%]:before{content:""}.fa-inbox[_ngcontent-%COMP%]:before{content:""}.fa-play-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-repeat[_ngcontent-%COMP%]:before, .fa-rotate-right[_ngcontent-%COMP%]:before{content:""}.fa-refresh[_ngcontent-%COMP%]:before, .fa-sync[_ngcontent-%COMP%]:before{content:""}.fa-list-alt[_ngcontent-%COMP%]:before{content:""}.fa-lock[_ngcontent-%COMP%]:before{content:""}.fa-flag[_ngcontent-%COMP%]:before{content:""}.fa-headphones[_ngcontent-%COMP%]:before{content:""}.fa-volume-off[_ngcontent-%COMP%]:before{content:""}.fa-volume-down[_ngcontent-%COMP%]:before{content:""}.fa-volume-up[_ngcontent-%COMP%]:before{content:""}.fa-qrcode[_ngcontent-%COMP%]:before{content:""}.fa-barcode[_ngcontent-%COMP%]:before{content:""}.fa-tag[_ngcontent-%COMP%]:before{content:""}.fa-tags[_ngcontent-%COMP%]:before{content:""}.fa-book[_ngcontent-%COMP%]:before{content:""}.fa-bookmark[_ngcontent-%COMP%]:before{content:""}.fa-print[_ngcontent-%COMP%]:before{content:""}.fa-camera[_ngcontent-%COMP%]:before{content:""}.fa-font[_ngcontent-%COMP%]:before{content:""}.fa-bold[_ngcontent-%COMP%]:before{content:""}.fa-italic[_ngcontent-%COMP%]:before{content:""}.fa-text-height[_ngcontent-%COMP%]:before{content:""}.fa-text-width[_ngcontent-%COMP%]:before{content:""}.fa-align-left[_ngcontent-%COMP%]:before{content:""}.fa-align-center[_ngcontent-%COMP%]:before{content:""}.fa-align-right[_ngcontent-%COMP%]:before{content:""}.fa-align-justify[_ngcontent-%COMP%]:before{content:""}.fa-list[_ngcontent-%COMP%]:before{content:""}.fa-dedent[_ngcontent-%COMP%]:before, .fa-outdent[_ngcontent-%COMP%]:before{content:""}.fa-indent[_ngcontent-%COMP%]:before{content:""}.fa-video-camera[_ngcontent-%COMP%]:before, .fa-video[_ngcontent-%COMP%]:before{content:""}.fa-image[_ngcontent-%COMP%]:before, .fa-photo[_ngcontent-%COMP%]:before, .fa-picture-o[_ngcontent-%COMP%]:before{content:""}.fa-pencil[_ngcontent-%COMP%]:before{content:""}.fa-map-marker[_ngcontent-%COMP%]:before{content:""}.fa-adjust[_ngcontent-%COMP%]:before{content:""}.fa-tint[_ngcontent-%COMP%]:before{content:""}.fa-edit[_ngcontent-%COMP%]:before, .fa-pencil-square-o[_ngcontent-%COMP%]:before{content:""}.fa-share-square-o[_ngcontent-%COMP%]:before{content:""}.fa-check-square-o[_ngcontent-%COMP%]:before{content:""}.fa-arrows[_ngcontent-%COMP%]:before{content:""}.fa-step-backward[_ngcontent-%COMP%]:before{content:""}.fa-fast-backward[_ngcontent-%COMP%]:before{content:""}.fa-backward[_ngcontent-%COMP%]:before{content:""}.fa-play[_ngcontent-%COMP%]:before{content:""}.fa-pause[_ngcontent-%COMP%]:before{content:""}.fa-stop[_ngcontent-%COMP%]:before{content:""}.fa-forward[_ngcontent-%COMP%]:before{content:""}.fa-fast-forward[_ngcontent-%COMP%]:before{content:""}.fa-step-forward[_ngcontent-%COMP%]:before{content:""}.fa-eject[_ngcontent-%COMP%]:before{content:""}.fa-chevron-left[_ngcontent-%COMP%]:before{content:""}.fa-chevron-right[_ngcontent-%COMP%]:before{content:""}.fa-plus-circle[_ngcontent-%COMP%]:before{content:""}.fa-minus-circle[_ngcontent-%COMP%]:before{content:""}.fa-times-circle[_ngcontent-%COMP%]:before{content:""}.fa-check-circle[_ngcontent-%COMP%]:before{content:""}.fa-question-circle[_ngcontent-%COMP%]:before{content:""}.fa-info-circle[_ngcontent-%COMP%]:before{content:""}.fa-crosshairs[_ngcontent-%COMP%]:before{content:""}.fa-times-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-check-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-ban[_ngcontent-%COMP%]:before{content:""}.fa-arrow-left[_ngcontent-%COMP%]:before{content:""}.fa-arrow-right[_ngcontent-%COMP%]:before{content:""}.fa-arrow-up[_ngcontent-%COMP%]:before{content:""}.fa-arrow-down[_ngcontent-%COMP%]:before{content:""}.fa-mail-forward[_ngcontent-%COMP%]:before, .fa-share[_ngcontent-%COMP%]:before{content:""}.fa-expand[_ngcontent-%COMP%]:before{content:""}.fa-compress[_ngcontent-%COMP%]:before{content:""}.fa-plus[_ngcontent-%COMP%]:before{content:""}.fa-minus[_ngcontent-%COMP%]:before{content:""}.fa-asterisk[_ngcontent-%COMP%]:before{content:""}.fa-exclamation-circle[_ngcontent-%COMP%]:before{content:""}.fa-gift[_ngcontent-%COMP%]:before{content:""}.fa-leaf[_ngcontent-%COMP%]:before{content:""}.fa-fire[_ngcontent-%COMP%]:before{content:""}.fa-eye[_ngcontent-%COMP%]:before{content:""}.fa-eye-slash[_ngcontent-%COMP%]:before{content:""}.fa-exclamation-triangle[_ngcontent-%COMP%]:before, .fa-warning[_ngcontent-%COMP%]:before{content:""}.fa-plane[_ngcontent-%COMP%]:before{content:""}.fa-calendar[_ngcontent-%COMP%]:before{content:""}.fa-random[_ngcontent-%COMP%]:before{content:""}.fa-comment[_ngcontent-%COMP%]:before{content:""}.fa-magnet[_ngcontent-%COMP%]:before{content:""}.fa-chevron-up[_ngcontent-%COMP%]:before{content:""}.fa-chevron-down[_ngcontent-%COMP%]:before{content:""}.fa-retweet[_ngcontent-%COMP%]:before{content:""}.fa-shopping-cart[_ngcontent-%COMP%]:before{content:""}.fa-folder[_ngcontent-%COMP%]:before{content:""}.fa-folder-open[_ngcontent-%COMP%]:before{content:""}.fa-arrows-v[_ngcontent-%COMP%]:before{content:""}.fa-arrows-h[_ngcontent-%COMP%]:before{content:""}.fa-bar-chart-o[_ngcontent-%COMP%]:before, .fa-bar-chart[_ngcontent-%COMP%]:before{content:""}.fa-twitter-square[_ngcontent-%COMP%]:before{content:""}.fa-facebook-square[_ngcontent-%COMP%]:before{content:""}.fa-camera-retro[_ngcontent-%COMP%]:before{content:""}.fa-key[_ngcontent-%COMP%]:before{content:""}.fa-cogs[_ngcontent-%COMP%]:before, .fa-gears[_ngcontent-%COMP%]:before{content:""}.fa-comments[_ngcontent-%COMP%]:before{content:""}.fa-thumbs-o-up[_ngcontent-%COMP%]:before{content:""}.fa-thumbs-o-down[_ngcontent-%COMP%]:before{content:""}.fa-star-half[_ngcontent-%COMP%]:before{content:""}.fa-heart-o[_ngcontent-%COMP%]:before{content:""}.fa-sign-out[_ngcontent-%COMP%]:before{content:""}.fa-linkedin-square[_ngcontent-%COMP%]:before{content:""}.fa-thumb-tack[_ngcontent-%COMP%]:before{content:""}.fa-external-link[_ngcontent-%COMP%]:before{content:""}.fa-sign-in[_ngcontent-%COMP%]:before{content:""}.fa-trophy[_ngcontent-%COMP%]:before{content:""}.fa-github-square[_ngcontent-%COMP%]:before{content:""}.fa-upload[_ngcontent-%COMP%]:before{content:""}.fa-lemon-o[_ngcontent-%COMP%]:before{content:""}.fa-phone[_ngcontent-%COMP%]:before{content:""}.fa-square-o[_ngcontent-%COMP%]:before{content:""}.fa-bookmark-o[_ngcontent-%COMP%]:before{content:""}.fa-phone-square[_ngcontent-%COMP%]:before{content:""}.fa-twitter[_ngcontent-%COMP%]:before{content:""}.fa-facebook-f[_ngcontent-%COMP%]:before, .fa-facebook[_ngcontent-%COMP%]:before{content:""}.fa-github[_ngcontent-%COMP%]:before{content:""}.fa-unlock[_ngcontent-%COMP%]:before{content:""}.fa-credit-card[_ngcontent-%COMP%]:before{content:""}.fa-feed[_ngcontent-%COMP%]:before, .fa-rss[_ngcontent-%COMP%]:before{content:""}.fa-hdd-o[_ngcontent-%COMP%]:before{content:""}.fa-bullhorn[_ngcontent-%COMP%]:before{content:""}.fa-bell-o[_ngcontent-%COMP%]:before{content:""}.fa-certificate[_ngcontent-%COMP%]:before{content:""}.fa-hand-o-right[_ngcontent-%COMP%]:before{content:""}.fa-hand-o-left[_ngcontent-%COMP%]:before{content:""}.fa-hand-o-up[_ngcontent-%COMP%]:before{content:""}.fa-hand-o-down[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-left[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-right[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-up[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-down[_ngcontent-%COMP%]:before{content:""}.fa-globe[_ngcontent-%COMP%]:before{content:""}.fa-globe-e[_ngcontent-%COMP%]:before{content:""}.fa-globe-w[_ngcontent-%COMP%]:before{content:""}.fa-wrench[_ngcontent-%COMP%]:before{content:""}.fa-tasks[_ngcontent-%COMP%]:before{content:""}.fa-filter[_ngcontent-%COMP%]:before{content:""}.fa-briefcase[_ngcontent-%COMP%]:before{content:""}.fa-arrows-alt[_ngcontent-%COMP%]:before{content:""}.fa-community[_ngcontent-%COMP%]:before, .fa-group[_ngcontent-%COMP%]:before, .fa-users[_ngcontent-%COMP%]:before{content:""}.fa-chain[_ngcontent-%COMP%]:before, .fa-link[_ngcontent-%COMP%]:before{content:""}.fa-cloud[_ngcontent-%COMP%]:before{content:""}.fa-flask[_ngcontent-%COMP%]:before{content:""}.fa-cut[_ngcontent-%COMP%]:before, .fa-scissors[_ngcontent-%COMP%]:before{content:""}.fa-copy[_ngcontent-%COMP%]:before, .fa-files-o[_ngcontent-%COMP%]:before{content:""}.fa-paperclip[_ngcontent-%COMP%]:before{content:""}.fa-floppy-o[_ngcontent-%COMP%]:before, .fa-save[_ngcontent-%COMP%]:before{content:""}.fa-square[_ngcontent-%COMP%]:before{content:""}.fa-bars[_ngcontent-%COMP%]:before, .fa-navicon[_ngcontent-%COMP%]:before, .fa-reorder[_ngcontent-%COMP%]:before{content:""}.fa-list-ul[_ngcontent-%COMP%]:before{content:""}.fa-list-ol[_ngcontent-%COMP%]:before{content:""}.fa-strikethrough[_ngcontent-%COMP%]:before{content:""}.fa-underline[_ngcontent-%COMP%]:before{content:""}.fa-table[_ngcontent-%COMP%]:before{content:""}.fa-magic[_ngcontent-%COMP%]:before{content:""}.fa-truck[_ngcontent-%COMP%]:before{content:""}.fa-pinterest[_ngcontent-%COMP%]:before{content:""}.fa-pinterest-square[_ngcontent-%COMP%]:before{content:""}.fa-google-plus-square[_ngcontent-%COMP%]:before{content:""}.fa-google-plus-g[_ngcontent-%COMP%]:before, .fa-google-plus[_ngcontent-%COMP%]:before{content:""}.fa-money[_ngcontent-%COMP%]:before{content:""}.fa-caret-down[_ngcontent-%COMP%]:before{content:""}.fa-caret-up[_ngcontent-%COMP%]:before{content:""}.fa-caret-left[_ngcontent-%COMP%]:before{content:""}.fa-caret-right[_ngcontent-%COMP%]:before{content:""}.fa-columns[_ngcontent-%COMP%]:before{content:""}.fa-sort[_ngcontent-%COMP%]:before, .fa-unsorted[_ngcontent-%COMP%]:before{content:""}.fa-sort-desc[_ngcontent-%COMP%]:before, .fa-sort-down[_ngcontent-%COMP%]:before{content:""}.fa-sort-asc[_ngcontent-%COMP%]:before, .fa-sort-up[_ngcontent-%COMP%]:before{content:""}.fa-envelope[_ngcontent-%COMP%]:before{content:""}.fa-linkedin[_ngcontent-%COMP%]:before{content:""}.fa-rotate-left[_ngcontent-%COMP%]:before, .fa-undo[_ngcontent-%COMP%]:before{content:""}.fa-gavel[_ngcontent-%COMP%]:before, .fa-legal[_ngcontent-%COMP%]:before{content:""}.fa-dashboard[_ngcontent-%COMP%]:before, .fa-tachometer[_ngcontent-%COMP%]:before{content:""}.fa-comment-o[_ngcontent-%COMP%]:before{content:""}.fa-comments-o[_ngcontent-%COMP%]:before{content:""}.fa-bolt[_ngcontent-%COMP%]:before, .fa-flash[_ngcontent-%COMP%]:before{content:""}.fa-sitemap[_ngcontent-%COMP%]:before{content:""}.fa-umbrella[_ngcontent-%COMP%]:before{content:""}.fa-clipboard[_ngcontent-%COMP%]:before, .fa-paste[_ngcontent-%COMP%]:before{content:""}.fa-lightbulb-o[_ngcontent-%COMP%]:before{content:""}.fa-exchange[_ngcontent-%COMP%]:before{content:""}.fa-cloud-download[_ngcontent-%COMP%]:before{content:""}.fa-cloud-upload[_ngcontent-%COMP%]:before{content:""}.fa-user-md[_ngcontent-%COMP%]:before{content:""}.fa-stethoscope[_ngcontent-%COMP%]:before{content:""}.fa-suitcase[_ngcontent-%COMP%]:before{content:""}.fa-bell[_ngcontent-%COMP%]:before{content:""}.fa-coffee[_ngcontent-%COMP%]:before{content:""}.fa-cutlery[_ngcontent-%COMP%]:before, .fa-utensils[_ngcontent-%COMP%]:before{content:""}.fa-file-text-o[_ngcontent-%COMP%]:before{content:""}.fa-building-o[_ngcontent-%COMP%]:before{content:""}.fa-hospital-o[_ngcontent-%COMP%]:before{content:""}.fa-ambulance[_ngcontent-%COMP%]:before{content:""}.fa-medkit[_ngcontent-%COMP%]:before{content:""}.fa-fighter-jet[_ngcontent-%COMP%]:before{content:""}.fa-beer[_ngcontent-%COMP%]:before{content:""}.fa-h-square[_ngcontent-%COMP%]:before{content:""}.fa-plus-square[_ngcontent-%COMP%]:before{content:""}.fa-angle-double-left[_ngcontent-%COMP%]:before{content:""}.fa-angle-double-right[_ngcontent-%COMP%]:before{content:""}.fa-angle-double-up[_ngcontent-%COMP%]:before{content:""}.fa-angle-double-down[_ngcontent-%COMP%]:before{content:""}.fa-angle-left[_ngcontent-%COMP%]:before{content:""}.fa-angle-right[_ngcontent-%COMP%]:before{content:""}.fa-angle-up[_ngcontent-%COMP%]:before{content:""}.fa-angle-down[_ngcontent-%COMP%]:before{content:""}.fa-desktop[_ngcontent-%COMP%]:before{content:""}.fa-laptop[_ngcontent-%COMP%]:before{content:""}.fa-tablet[_ngcontent-%COMP%]:before{content:""}.fa-mobile-phone[_ngcontent-%COMP%]:before, .fa-mobile[_ngcontent-%COMP%]:before{content:""}.fa-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-quote-left[_ngcontent-%COMP%]:before{content:""}.fa-quote-right[_ngcontent-%COMP%]:before{content:""}.fa-spinner[_ngcontent-%COMP%]:before{content:""}.fa-circle[_ngcontent-%COMP%]:before{content:""}.fa-mail-reply[_ngcontent-%COMP%]:before, .fa-reply[_ngcontent-%COMP%]:before{content:""}.fa-github-alt[_ngcontent-%COMP%]:before{content:""}.fa-folder-o[_ngcontent-%COMP%]:before{content:""}.fa-folder-open-o[_ngcontent-%COMP%]:before{content:""}.fa-smile-o[_ngcontent-%COMP%]:before{content:""}.fa-frown-o[_ngcontent-%COMP%]:before{content:""}.fa-meh-o[_ngcontent-%COMP%]:before{content:""}.fa-gamepad[_ngcontent-%COMP%]:before{content:""}.fa-keyboard-o[_ngcontent-%COMP%]:before{content:""}.fa-flag-o[_ngcontent-%COMP%]:before{content:""}.fa-flag-checkered[_ngcontent-%COMP%]:before{content:""}.fa-terminal[_ngcontent-%COMP%]:before{content:""}.fa-code[_ngcontent-%COMP%]:before{content:""}.fa-mail-reply-all[_ngcontent-%COMP%]:before, .fa-reply-all[_ngcontent-%COMP%]:before{content:""}.fa-star-half-empty[_ngcontent-%COMP%]:before, .fa-star-half-full[_ngcontent-%COMP%]:before, .fa-star-half-o[_ngcontent-%COMP%]:before{content:""}.fa-location-arrow[_ngcontent-%COMP%]:before{content:""}.fa-crop[_ngcontent-%COMP%]:before{content:""}.fa-code-fork[_ngcontent-%COMP%]:before{content:""}.fa-chain-broken[_ngcontent-%COMP%]:before, .fa-unlink[_ngcontent-%COMP%]:before{content:""}.fa-question[_ngcontent-%COMP%]:before{content:""}.fa-info[_ngcontent-%COMP%]:before{content:""}.fa-exclamation[_ngcontent-%COMP%]:before{content:""}.fa-superscript[_ngcontent-%COMP%]:before{content:""}.fa-subscript[_ngcontent-%COMP%]:before{content:""}.fa-eraser[_ngcontent-%COMP%]:before{content:""}.fa-puzzle-piece[_ngcontent-%COMP%]:before{content:""}.fa-microphone[_ngcontent-%COMP%]:before{content:""}.fa-microphone-slash[_ngcontent-%COMP%]:before{content:""}.fa-shield[_ngcontent-%COMP%]:before{content:""}.fa-calendar-o[_ngcontent-%COMP%]:before{content:""}.fa-fire-extinguisher[_ngcontent-%COMP%]:before{content:""}.fa-rocket[_ngcontent-%COMP%]:before{content:""}.fa-maxcdn[_ngcontent-%COMP%]:before{content:""}.fa-chevron-circle-left[_ngcontent-%COMP%]:before{content:""}.fa-chevron-circle-right[_ngcontent-%COMP%]:before{content:""}.fa-chevron-circle-up[_ngcontent-%COMP%]:before{content:""}.fa-chevron-circle-down[_ngcontent-%COMP%]:before{content:""}.fa-html5[_ngcontent-%COMP%]:before{content:""}.fa-css3[_ngcontent-%COMP%]:before{content:""}.fa-anchor[_ngcontent-%COMP%]:before{content:""}.fa-unlock-alt[_ngcontent-%COMP%]:before{content:""}.fa-bullseye[_ngcontent-%COMP%]:before{content:""}.fa-ellipsis-h[_ngcontent-%COMP%]:before{content:""}.fa-ellipsis-v[_ngcontent-%COMP%]:before{content:""}.fa-rss-square[_ngcontent-%COMP%]:before{content:""}.fa-play-circle[_ngcontent-%COMP%]:before{content:""}.fa-ticket[_ngcontent-%COMP%]:before{content:""}.fa-minus-square[_ngcontent-%COMP%]:before{content:""}.fa-minus-square-o[_ngcontent-%COMP%]:before{content:""}.fa-level-up[_ngcontent-%COMP%]:before{content:""}.fa-level-down[_ngcontent-%COMP%]:before{content:""}.fa-check-square[_ngcontent-%COMP%]:before{content:""}.fa-pencil-square[_ngcontent-%COMP%]:before{content:""}.fa-external-link-square[_ngcontent-%COMP%]:before{content:""}.fa-share-square[_ngcontent-%COMP%]:before{content:""}.fa-compass[_ngcontent-%COMP%]:before{content:""}.fa-caret-square-o-down[_ngcontent-%COMP%]:before, .fa-toggle-down[_ngcontent-%COMP%]:before{content:""}.fa-caret-square-o-up[_ngcontent-%COMP%]:before, .fa-toggle-up[_ngcontent-%COMP%]:before{content:""}.fa-caret-square-o-right[_ngcontent-%COMP%]:before, .fa-toggle-right[_ngcontent-%COMP%]:before{content:""}.fa-eur[_ngcontent-%COMP%]:before, .fa-euro[_ngcontent-%COMP%]:before{content:""}.fa-gbp[_ngcontent-%COMP%]:before, .fa-pound[_ngcontent-%COMP%]:before{content:""}.fa-dollar[_ngcontent-%COMP%]:before, .fa-usd[_ngcontent-%COMP%]:before{content:""}.fa-inr[_ngcontent-%COMP%]:before, .fa-rupee[_ngcontent-%COMP%]:before{content:""}.fa-cny[_ngcontent-%COMP%]:before, .fa-jpy[_ngcontent-%COMP%]:before, .fa-rmb[_ngcontent-%COMP%]:before, .fa-yen[_ngcontent-%COMP%]:before{content:""}.fa-rouble[_ngcontent-%COMP%]:before, .fa-rub[_ngcontent-%COMP%]:before, .fa-ruble[_ngcontent-%COMP%]:before{content:""}.fa-krw[_ngcontent-%COMP%]:before, .fa-won[_ngcontent-%COMP%]:before{content:""}.fa-bitcoin[_ngcontent-%COMP%]:before, .fa-btc[_ngcontent-%COMP%]:before{content:""}.fa-file[_ngcontent-%COMP%]:before{content:""}.fa-file-text[_ngcontent-%COMP%]:before{content:""}.fa-sort-alpha-asc[_ngcontent-%COMP%]:before, .fa-sort-alpha-down[_ngcontent-%COMP%]:before{content:""}.fa-sort-alpha-desc[_ngcontent-%COMP%]:before, .fa-sort-alpha-up[_ngcontent-%COMP%]:before{content:""}.fa-sort-amount-asc[_ngcontent-%COMP%]:before, .fa-sort-amount-down[_ngcontent-%COMP%]:before{content:""}.fa-sort-amount-desc[_ngcontent-%COMP%]:before, .fa-sort-amount-up[_ngcontent-%COMP%]:before{content:""}.fa-sort-numeric-asc[_ngcontent-%COMP%]:before, .fa-sort-numeric-down[_ngcontent-%COMP%]:before{content:""}.fa-sort-numeric-desc[_ngcontent-%COMP%]:before, .fa-sort-numeric-up[_ngcontent-%COMP%]:before{content:""}.fa-thumbs-up[_ngcontent-%COMP%]:before{content:""}.fa-thumbs-down[_ngcontent-%COMP%]:before{content:""}.fa-youtube-square[_ngcontent-%COMP%]:before{content:""}.fa-youtube[_ngcontent-%COMP%]:before{content:""}.fa-xing[_ngcontent-%COMP%]:before{content:""}.fa-xing-square[_ngcontent-%COMP%]:before{content:""}.fa-youtube-play[_ngcontent-%COMP%]:before{content:""}.fa-dropbox[_ngcontent-%COMP%]:before{content:""}.fa-stack-overflow[_ngcontent-%COMP%]:before{content:""}.fa-instagram[_ngcontent-%COMP%]:before{content:""}.fa-flickr[_ngcontent-%COMP%]:before{content:""}.fa-adn[_ngcontent-%COMP%]:before{content:""}.fa-bitbucket[_ngcontent-%COMP%]:before{content:""}.fa-bitbucket-square[_ngcontent-%COMP%]:before{content:""}.fa-tumblr[_ngcontent-%COMP%]:before{content:""}.fa-tumblr-square[_ngcontent-%COMP%]:before{content:""}.fa-long-arrow-down[_ngcontent-%COMP%]:before{content:""}.fa-long-arrow-up[_ngcontent-%COMP%]:before{content:""}.fa-long-arrow-left[_ngcontent-%COMP%]:before{content:""}.fa-long-arrow-right[_ngcontent-%COMP%]:before{content:""}.fa-apple[_ngcontent-%COMP%]:before{content:""}.fa-windows[_ngcontent-%COMP%]:before{content:""}.fa-android[_ngcontent-%COMP%]:before{content:""}.fa-linux[_ngcontent-%COMP%]:before{content:""}.fa-dribbble[_ngcontent-%COMP%]:before{content:""}.fa-skype[_ngcontent-%COMP%]:before{content:""}.fa-foursquare[_ngcontent-%COMP%]:before{content:""}.fa-trello[_ngcontent-%COMP%]:before{content:""}.fa-female[_ngcontent-%COMP%]:before{content:""}.fa-male[_ngcontent-%COMP%]:before{content:""}.fa-gittip[_ngcontent-%COMP%]:before, .fa-gratipay[_ngcontent-%COMP%]:before{content:""}.fa-sun-o[_ngcontent-%COMP%]:before{content:""}.fa-moon-o[_ngcontent-%COMP%]:before{content:""}.fa-archive[_ngcontent-%COMP%]:before{content:""}.fa-bug[_ngcontent-%COMP%]:before{content:""}.fa-vk[_ngcontent-%COMP%]:before{content:""}.fa-weibo[_ngcontent-%COMP%]:before{content:""}.fa-renren[_ngcontent-%COMP%]:before{content:""}.fa-pagelines[_ngcontent-%COMP%]:before{content:""}.fa-stack-exchange[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-o-right[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-o-left[_ngcontent-%COMP%]:before{content:""}.fa-caret-square-o-left[_ngcontent-%COMP%]:before, .fa-toggle-left[_ngcontent-%COMP%]:before{content:""}.fa-dot-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-wheelchair[_ngcontent-%COMP%]:before{content:""}.fa-vimeo-square[_ngcontent-%COMP%]:before{content:""}.fa-try[_ngcontent-%COMP%]:before, .fa-turkish-lira[_ngcontent-%COMP%]:before{content:""}.fa-plus-square-o[_ngcontent-%COMP%]:before{content:""}.fa-space-shuttle[_ngcontent-%COMP%]:before{content:""}.fa-slack[_ngcontent-%COMP%]:before{content:""}.fa-envelope-square[_ngcontent-%COMP%]:before{content:""}.fa-wordpress[_ngcontent-%COMP%]:before{content:""}.fa-openid[_ngcontent-%COMP%]:before{content:""}.fa-bank[_ngcontent-%COMP%]:before, .fa-institution[_ngcontent-%COMP%]:before, .fa-university[_ngcontent-%COMP%]:before{content:""}.fa-graduation-cap[_ngcontent-%COMP%]:before, .fa-mortar-board[_ngcontent-%COMP%]:before{content:""}.fa-yahoo[_ngcontent-%COMP%]:before{content:""}.fa-google[_ngcontent-%COMP%]:before{content:""}.fa-reddit[_ngcontent-%COMP%]:before{content:""}.fa-reddit-square[_ngcontent-%COMP%]:before{content:""}.fa-stumbleupon-circle[_ngcontent-%COMP%]:before{content:""}.fa-stumbleupon[_ngcontent-%COMP%]:before{content:""}.fa-delicious[_ngcontent-%COMP%]:before{content:""}.fa-digg[_ngcontent-%COMP%]:before{content:""}.fa-drupal[_ngcontent-%COMP%]:before{content:""}.fa-joomla[_ngcontent-%COMP%]:before{content:""}.fa-language[_ngcontent-%COMP%]:before{content:""}.fa-fax[_ngcontent-%COMP%]:before{content:""}.fa-building[_ngcontent-%COMP%]:before{content:""}.fa-child[_ngcontent-%COMP%]:before{content:""}.fa-paw[_ngcontent-%COMP%]:before{content:""}.fa-spoon[_ngcontent-%COMP%]:before, .fa-utensil-spoon[_ngcontent-%COMP%]:before{content:""}.fa-cube[_ngcontent-%COMP%]:before{content:""}.fa-cubes[_ngcontent-%COMP%]:before{content:""}.fa-behance[_ngcontent-%COMP%]:before{content:""}.fa-behance-square[_ngcontent-%COMP%]:before{content:""}.fa-steam[_ngcontent-%COMP%]:before{content:""}.fa-steam-square[_ngcontent-%COMP%]:before{content:""}.fa-recycle[_ngcontent-%COMP%]:before{content:""}.fa-automobile[_ngcontent-%COMP%]:before, .fa-car[_ngcontent-%COMP%]:before{content:""}.fa-cab[_ngcontent-%COMP%]:before, .fa-taxi[_ngcontent-%COMP%]:before{content:""}.fa-tree[_ngcontent-%COMP%]:before{content:""}.fa-spotify[_ngcontent-%COMP%]:before{content:""}.fa-deviantart[_ngcontent-%COMP%]:before{content:""}.fa-soundcloud[_ngcontent-%COMP%]:before{content:""}.fa-database[_ngcontent-%COMP%]:before{content:""}.fa-file-pdf-o[_ngcontent-%COMP%]:before{content:""}.fa-file-word-o[_ngcontent-%COMP%]:before{content:""}.fa-file-excel-o[_ngcontent-%COMP%]:before{content:""}.fa-file-powerpoint-o[_ngcontent-%COMP%]:before{content:""}.fa-file-image-o[_ngcontent-%COMP%]:before, .fa-file-photo-o[_ngcontent-%COMP%]:before, .fa-file-picture-o[_ngcontent-%COMP%]:before{content:""}.fa-file-archive-o[_ngcontent-%COMP%]:before, .fa-file-zip-o[_ngcontent-%COMP%]:before{content:""}.fa-file-audio-o[_ngcontent-%COMP%]:before, .fa-file-sound-o[_ngcontent-%COMP%]:before{content:""}.fa-file-movie-o[_ngcontent-%COMP%]:before, .fa-file-video-o[_ngcontent-%COMP%]:before{content:""}.fa-file-code-o[_ngcontent-%COMP%]:before{content:""}.fa-vine[_ngcontent-%COMP%]:before{content:""}.fa-codepen[_ngcontent-%COMP%]:before{content:""}.fa-jsfiddle[_ngcontent-%COMP%]:before{content:""}.fa-life-bouy[_ngcontent-%COMP%]:before, .fa-life-buoy[_ngcontent-%COMP%]:before, .fa-life-ring[_ngcontent-%COMP%]:before, .fa-life-saver[_ngcontent-%COMP%]:before, .fa-support[_ngcontent-%COMP%]:before{content:""}.fa-circle-o-notch[_ngcontent-%COMP%]:before{content:""}.fa-ra[_ngcontent-%COMP%]:before, .fa-rebel[_ngcontent-%COMP%]:before, .fa-resistance[_ngcontent-%COMP%]:before{content:""}.fa-empire[_ngcontent-%COMP%]:before, .fa-ge[_ngcontent-%COMP%]:before{content:""}.fa-git-square[_ngcontent-%COMP%]:before{content:""}.fa-git[_ngcontent-%COMP%]:before{content:""}.fa-hacker-news[_ngcontent-%COMP%]:before, .fa-y-combinator-square[_ngcontent-%COMP%]:before, .fa-yc-square[_ngcontent-%COMP%]:before{content:""}.fa-tencent-weibo[_ngcontent-%COMP%]:before{content:""}.fa-qq[_ngcontent-%COMP%]:before{content:""}.fa-wechat[_ngcontent-%COMP%]:before, .fa-weixin[_ngcontent-%COMP%]:before{content:""}.fa-paper-plane[_ngcontent-%COMP%]:before, .fa-send[_ngcontent-%COMP%]:before{content:""}.fa-paper-plane-o[_ngcontent-%COMP%]:before, .fa-send-o[_ngcontent-%COMP%]:before{content:""}.fa-history[_ngcontent-%COMP%]:before{content:""}.fa-circle-thin[_ngcontent-%COMP%]:before{content:""}.fa-header[_ngcontent-%COMP%]:before, .fa-heading[_ngcontent-%COMP%]:before{content:""}.fa-paragraph[_ngcontent-%COMP%]:before{content:""}.fa-sliders[_ngcontent-%COMP%]:before{content:""}.fa-share-alt[_ngcontent-%COMP%]:before{content:""}.fa-share-alt-square[_ngcontent-%COMP%]:before{content:""}.fa-bomb[_ngcontent-%COMP%]:before{content:""}.fa-futbol-o[_ngcontent-%COMP%]:before, .fa-soccer-ball-o[_ngcontent-%COMP%]:before{content:""}.fa-tty[_ngcontent-%COMP%]:before{content:""}.fa-binoculars[_ngcontent-%COMP%]:before{content:""}.fa-plug[_ngcontent-%COMP%]:before{content:""}.fa-slideshare[_ngcontent-%COMP%]:before{content:""}.fa-twitch[_ngcontent-%COMP%]:before{content:""}.fa-yelp[_ngcontent-%COMP%]:before{content:""}.fa-newspaper-o[_ngcontent-%COMP%]:before{content:""}.fa-wifi[_ngcontent-%COMP%]:before{content:""}.fa-calculator[_ngcontent-%COMP%]:before{content:""}.fa-paypal[_ngcontent-%COMP%]:before{content:""}.fa-google-wallet[_ngcontent-%COMP%]:before{content:""}.fa-cc-visa[_ngcontent-%COMP%]:before{content:""}.fa-cc-mastercard[_ngcontent-%COMP%]:before{content:""}.fa-cc-discover[_ngcontent-%COMP%]:before{content:""}.fa-cc-amex[_ngcontent-%COMP%]:before{content:""}.fa-cc-paypal[_ngcontent-%COMP%]:before{content:""}.fa-cc-stripe[_ngcontent-%COMP%]:before{content:""}.fa-bell-slash[_ngcontent-%COMP%]:before{content:""}.fa-bell-slash-o[_ngcontent-%COMP%]:before{content:""}.fa-trash[_ngcontent-%COMP%]:before{content:""}.fa-copyright[_ngcontent-%COMP%]:before{content:""}.fa-at[_ngcontent-%COMP%]:before{content:""}.fa-eyedropper[_ngcontent-%COMP%]:before{content:""}.fa-paint-brush[_ngcontent-%COMP%]:before{content:""}.fa-birthday-cake[_ngcontent-%COMP%]:before{content:""}.fa-area-chart[_ngcontent-%COMP%]:before{content:""}.fa-pie-chart[_ngcontent-%COMP%]:before{content:""}.fa-line-chart[_ngcontent-%COMP%]:before{content:""}.fa-lastfm[_ngcontent-%COMP%]:before{content:""}.fa-lastfm-square[_ngcontent-%COMP%]:before{content:""}.fa-toggle-off[_ngcontent-%COMP%]:before{content:""}.fa-toggle-on[_ngcontent-%COMP%]:before{content:""}.fa-bicycle[_ngcontent-%COMP%]:before{content:""}.fa-bus[_ngcontent-%COMP%]:before{content:""}.fa-ioxhost[_ngcontent-%COMP%]:before{content:""}.fa-angellist[_ngcontent-%COMP%]:before{content:""}.fa-cc[_ngcontent-%COMP%]:before, .fa-closed-captioning[_ngcontent-%COMP%]:before{content:""}.fa-ils[_ngcontent-%COMP%]:before, .fa-shekel[_ngcontent-%COMP%]:before, .fa-sheqel[_ngcontent-%COMP%]:before{content:""}.fa-meanpath[_ngcontent-%COMP%]:before{content:""}.fa-buysellads[_ngcontent-%COMP%]:before{content:""}.fa-connectdevelop[_ngcontent-%COMP%]:before{content:""}.fa-dashcube[_ngcontent-%COMP%]:before{content:""}.fa-forumbee[_ngcontent-%COMP%]:before{content:""}.fa-leanpub[_ngcontent-%COMP%]:before{content:""}.fa-sellsy[_ngcontent-%COMP%]:before{content:""}.fa-shirtsinbulk[_ngcontent-%COMP%]:before{content:""}.fa-simplybuilt[_ngcontent-%COMP%]:before{content:""}.fa-skyatlas[_ngcontent-%COMP%]:before{content:""}.fa-cart-plus[_ngcontent-%COMP%]:before{content:""}.fa-cart-arrow-down[_ngcontent-%COMP%]:before{content:""}.fa-diamond[_ngcontent-%COMP%]:before, .fa-gem[_ngcontent-%COMP%]:before{content:""}.fa-ship[_ngcontent-%COMP%]:before{content:""}.fa-user-secret[_ngcontent-%COMP%]:before{content:""}.fa-motorcycle[_ngcontent-%COMP%]:before{content:""}.fa-street-view[_ngcontent-%COMP%]:before{content:""}.fa-heartbeat[_ngcontent-%COMP%]:before{content:""}.fa-venus[_ngcontent-%COMP%]:before{content:""}.fa-mars[_ngcontent-%COMP%]:before{content:""}.fa-mercury[_ngcontent-%COMP%]:before{content:""}.fa-intersex[_ngcontent-%COMP%]:before, .fa-transgender[_ngcontent-%COMP%]:before{content:""}.fa-transgender-alt[_ngcontent-%COMP%]:before{content:""}.fa-venus-double[_ngcontent-%COMP%]:before{content:""}.fa-mars-double[_ngcontent-%COMP%]:before{content:""}.fa-venus-mars[_ngcontent-%COMP%]:before{content:""}.fa-mars-stroke[_ngcontent-%COMP%]:before{content:""}.fa-mars-stroke-v[_ngcontent-%COMP%]:before{content:""}.fa-mars-stroke-h[_ngcontent-%COMP%]:before{content:""}.fa-neuter[_ngcontent-%COMP%]:before{content:""}.fa-genderless[_ngcontent-%COMP%]:before{content:""}.fa-facebook-official[_ngcontent-%COMP%]:before{content:""}.fa-pinterest-p[_ngcontent-%COMP%]:before{content:""}.fa-whatsapp[_ngcontent-%COMP%]:before{content:""}.fa-server[_ngcontent-%COMP%]:before{content:""}.fa-user-plus[_ngcontent-%COMP%]:before{content:""}.fa-user-times[_ngcontent-%COMP%]:before{content:""}.fa-bed[_ngcontent-%COMP%]:before, .fa-hotel[_ngcontent-%COMP%]:before{content:""}.fa-viacoin[_ngcontent-%COMP%]:before{content:""}.fa-train[_ngcontent-%COMP%]:before{content:""}.fa-subway[_ngcontent-%COMP%]:before{content:""}.fa-medium[_ngcontent-%COMP%]:before{content:""}.fa-medium-square[_ngcontent-%COMP%]:before{content:""}.fa-y-combinator[_ngcontent-%COMP%]:before, .fa-yc[_ngcontent-%COMP%]:before{content:""}.fa-optin-monster[_ngcontent-%COMP%]:before{content:""}.fa-opencart[_ngcontent-%COMP%]:before{content:""}.fa-expeditedssl[_ngcontent-%COMP%]:before{content:""}.fa-battery-4[_ngcontent-%COMP%]:before, .fa-battery-full[_ngcontent-%COMP%]:before, .fa-battery[_ngcontent-%COMP%]:before{content:""}.fa-battery-3[_ngcontent-%COMP%]:before, .fa-battery-three-quarters[_ngcontent-%COMP%]:before{content:""}.fa-battery-2[_ngcontent-%COMP%]:before, .fa-battery-half[_ngcontent-%COMP%]:before{content:""}.fa-battery-1[_ngcontent-%COMP%]:before, .fa-battery-quarter[_ngcontent-%COMP%]:before{content:""}.fa-battery-0[_ngcontent-%COMP%]:before, .fa-battery-empty[_ngcontent-%COMP%]:before{content:""}.fa-mouse-pointer[_ngcontent-%COMP%]:before{content:""}.fa-i-cursor[_ngcontent-%COMP%]:before{content:""}.fa-object-group[_ngcontent-%COMP%]:before{content:""}.fa-object-ungroup[_ngcontent-%COMP%]:before{content:""}.fa-sticky-note[_ngcontent-%COMP%]:before{content:""}.fa-sticky-note-o[_ngcontent-%COMP%]:before{content:""}.fa-cc-jcb[_ngcontent-%COMP%]:before{content:""}.fa-cc-diners-club[_ngcontent-%COMP%]:before{content:""}.fa-clone[_ngcontent-%COMP%]:before{content:""}.fa-balance-scale[_ngcontent-%COMP%]:before{content:""}.fa-hourglass-o[_ngcontent-%COMP%]:before{content:""}.fa-hourglass-1[_ngcontent-%COMP%]:before, .fa-hourglass-start[_ngcontent-%COMP%]:before{content:""}.fa-hourglass-2[_ngcontent-%COMP%]:before, .fa-hourglass-half[_ngcontent-%COMP%]:before{content:""}.fa-hourglass-3[_ngcontent-%COMP%]:before, .fa-hourglass-end[_ngcontent-%COMP%]:before{content:""}.fa-hourglass[_ngcontent-%COMP%]:before{content:""}.fa-hand-grab-o[_ngcontent-%COMP%]:before, .fa-hand-rock-o[_ngcontent-%COMP%]:before{content:""}.fa-hand-paper-o[_ngcontent-%COMP%]:before, .fa-hand-stop-o[_ngcontent-%COMP%]:before{content:""}.fa-hand-scissors-o[_ngcontent-%COMP%]:before{content:""}.fa-hand-lizard-o[_ngcontent-%COMP%]:before{content:""}.fa-hand-spock-o[_ngcontent-%COMP%]:before{content:""}.fa-hand-pointer-o[_ngcontent-%COMP%]:before{content:""}.fa-hand-peace-o[_ngcontent-%COMP%]:before{content:""}.fa-trademark[_ngcontent-%COMP%]:before{content:""}.fa-registered[_ngcontent-%COMP%]:before{content:""}.fa-creative-commons[_ngcontent-%COMP%]:before{content:""}.fa-gg[_ngcontent-%COMP%]:before{content:""}.fa-gg-circle[_ngcontent-%COMP%]:before{content:""}.fa-tripadvisor[_ngcontent-%COMP%]:before{content:""}.fa-odnoklassniki[_ngcontent-%COMP%]:before{content:""}.fa-odnoklassniki-square[_ngcontent-%COMP%]:before{content:""}.fa-get-pocket[_ngcontent-%COMP%]:before{content:""}.fa-wikipedia-w[_ngcontent-%COMP%]:before{content:""}.fa-safari[_ngcontent-%COMP%]:before{content:""}.fa-chrome[_ngcontent-%COMP%]:before{content:""}.fa-firefox[_ngcontent-%COMP%]:before{content:""}.fa-opera[_ngcontent-%COMP%]:before{content:""}.fa-internet-explorer[_ngcontent-%COMP%]:before{content:""}.fa-television[_ngcontent-%COMP%]:before, .fa-tv[_ngcontent-%COMP%]:before{content:""}.fa-contao[_ngcontent-%COMP%]:before{content:""}.fa-500px[_ngcontent-%COMP%]:before{content:""}.fa-amazon[_ngcontent-%COMP%]:before{content:""}.fa-calendar-plus-o[_ngcontent-%COMP%]:before{content:""}.fa-calendar-minus-o[_ngcontent-%COMP%]:before{content:""}.fa-calendar-times-o[_ngcontent-%COMP%]:before{content:""}.fa-calendar-check-o[_ngcontent-%COMP%]:before{content:""}.fa-industry[_ngcontent-%COMP%]:before{content:""}.fa-map-pin[_ngcontent-%COMP%]:before{content:""}.fa-map-signs[_ngcontent-%COMP%]:before{content:""}.fa-map-o[_ngcontent-%COMP%]:before{content:""}.fa-map[_ngcontent-%COMP%]:before{content:""}.fa-commenting[_ngcontent-%COMP%]:before{content:""}.fa-commenting-o[_ngcontent-%COMP%]:before{content:""}.fa-houzz[_ngcontent-%COMP%]:before{content:""}.fa-vimeo-v[_ngcontent-%COMP%]:before, .fa-vimeo[_ngcontent-%COMP%]:before{content:""}.fa-black-tie[_ngcontent-%COMP%]:before{content:""}.fa-fonticons[_ngcontent-%COMP%]:before{content:""}.fa-reddit-alien[_ngcontent-%COMP%]:before{content:""}.fa-edge[_ngcontent-%COMP%]:before{content:""}.fa-credit-card-alt[_ngcontent-%COMP%]:before{content:""}.fa-codiepie[_ngcontent-%COMP%]:before{content:""}.fa-modx[_ngcontent-%COMP%]:before{content:""}.fa-fort-awesome[_ngcontent-%COMP%]:before{content:""}.fa-usb[_ngcontent-%COMP%]:before{content:""}.fa-product-hunt[_ngcontent-%COMP%]:before{content:""}.fa-mixcloud[_ngcontent-%COMP%]:before{content:""}.fa-scribd[_ngcontent-%COMP%]:before{content:""}.fa-pause-circle[_ngcontent-%COMP%]:before{content:""}.fa-pause-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-stop-circle[_ngcontent-%COMP%]:before{content:""}.fa-stop-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-shopping-bag[_ngcontent-%COMP%]:before{content:""}.fa-shopping-basket[_ngcontent-%COMP%]:before{content:""}.fa-hashtag[_ngcontent-%COMP%]:before{content:""}.fa-bluetooth[_ngcontent-%COMP%]:before{content:""}.fa-bluetooth-b[_ngcontent-%COMP%]:before{content:""}.fa-percent[_ngcontent-%COMP%]:before{content:""}.fa-gitlab[_ngcontent-%COMP%]:before{content:""}.fa-wpbeginner[_ngcontent-%COMP%]:before{content:""}.fa-wpforms[_ngcontent-%COMP%]:before{content:""}.fa-envira[_ngcontent-%COMP%]:before{content:""}.fa-universal-access[_ngcontent-%COMP%]:before{content:""}.fa-wheelchair-alt[_ngcontent-%COMP%]:before{content:""}.fa-question-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-blind[_ngcontent-%COMP%]:before{content:""}.fa-audio-description[_ngcontent-%COMP%]:before{content:""}.fa-phone-volume[_ngcontent-%COMP%]:before, .fa-volume-control-phone[_ngcontent-%COMP%]:before{content:""}.fa-braille[_ngcontent-%COMP%]:before{content:""}.fa-assistive-listening-systems[_ngcontent-%COMP%]:before{content:""}.fa-american-sign-language-interpreting[_ngcontent-%COMP%]:before, .fa-asl-interpreting[_ngcontent-%COMP%]:before{content:""}.fa-deaf[_ngcontent-%COMP%]:before, .fa-deafness[_ngcontent-%COMP%]:before, .fa-hard-of-hearing[_ngcontent-%COMP%]:before{content:""}.fa-glide[_ngcontent-%COMP%]:before{content:""}.fa-glide-g[_ngcontent-%COMP%]:before{content:""}.fa-sign-language[_ngcontent-%COMP%]:before, .fa-signing[_ngcontent-%COMP%]:before{content:""}.fa-low-vision[_ngcontent-%COMP%]:before{content:""}.fa-viadeo[_ngcontent-%COMP%]:before{content:""}.fa-viadeo-square[_ngcontent-%COMP%]:before{content:""}.fa-snapchat[_ngcontent-%COMP%]:before{content:""}.fa-snapchat-ghost[_ngcontent-%COMP%]:before{content:""}.fa-snapchat-square[_ngcontent-%COMP%]:before{content:""}.fa-first-order[_ngcontent-%COMP%]:before{content:""}.fa-yoast[_ngcontent-%COMP%]:before{content:""}.fa-themeisle[_ngcontent-%COMP%]:before{content:""}.fa-google-plus-circle[_ngcontent-%COMP%]:before, .fa-google-plus-official[_ngcontent-%COMP%]:before{content:""}.fa-fa[_ngcontent-%COMP%]:before, .fa-font-awesome[_ngcontent-%COMP%]:before{content:""}.fa-handshake-o[_ngcontent-%COMP%]:before{content:""}.fa-envelope-open[_ngcontent-%COMP%]:before{content:""}.fa-envelope-open-o[_ngcontent-%COMP%]:before{content:""}.fa-linode[_ngcontent-%COMP%]:before{content:""}.fa-address-book[_ngcontent-%COMP%]:before{content:""}.fa-address-book-o[_ngcontent-%COMP%]:before{content:""}.fa-address-card[_ngcontent-%COMP%]:before, .fa-vcard[_ngcontent-%COMP%]:before{content:""}.fa-address-card-o[_ngcontent-%COMP%]:before, .fa-vcard-o[_ngcontent-%COMP%]:before{content:""}.fa-user-circle[_ngcontent-%COMP%]:before{content:""}.fa-user-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-user-o[_ngcontent-%COMP%]:before{content:""}.fa-id-badge[_ngcontent-%COMP%]:before{content:""}.fa-drivers-license[_ngcontent-%COMP%]:before, .fa-id-card[_ngcontent-%COMP%]:before{content:""}.fa-drivers-license-o[_ngcontent-%COMP%]:before, .fa-id-card-o[_ngcontent-%COMP%]:before{content:""}.fa-quora[_ngcontent-%COMP%]:before{content:""}.fa-free-code-camp[_ngcontent-%COMP%]:before{content:""}.fa-telegram[_ngcontent-%COMP%]:before{content:""}.fa-thermometer-4[_ngcontent-%COMP%]:before, .fa-thermometer-full[_ngcontent-%COMP%]:before, .fa-thermometer[_ngcontent-%COMP%]:before{content:""}.fa-thermometer-3[_ngcontent-%COMP%]:before, .fa-thermometer-three-quarters[_ngcontent-%COMP%]:before{content:""}.fa-thermometer-2[_ngcontent-%COMP%]:before, .fa-thermometer-half[_ngcontent-%COMP%]:before{content:""}.fa-thermometer-1[_ngcontent-%COMP%]:before, .fa-thermometer-quarter[_ngcontent-%COMP%]:before{content:""}.fa-thermometer-0[_ngcontent-%COMP%]:before, .fa-thermometer-empty[_ngcontent-%COMP%]:before{content:""}.fa-shower[_ngcontent-%COMP%]:before{content:""}.fa-bath[_ngcontent-%COMP%]:before, .fa-bathtub[_ngcontent-%COMP%]:before, .fa-s15[_ngcontent-%COMP%]:before{content:""}.fa-podcast[_ngcontent-%COMP%]:before{content:""}.fa-window-maximize[_ngcontent-%COMP%]:before{content:""}.fa-window-minimize[_ngcontent-%COMP%]:before{content:""}.fa-window-restore[_ngcontent-%COMP%]:before{content:""}.fa-times-rectangle[_ngcontent-%COMP%]:before, .fa-window-close[_ngcontent-%COMP%]:before{content:""}.fa-times-rectangle-o[_ngcontent-%COMP%]:before, .fa-window-close-o[_ngcontent-%COMP%]:before{content:""}.fa-bandcamp[_ngcontent-%COMP%]:before{content:""}.fa-grav[_ngcontent-%COMP%]:before{content:""}.fa-etsy[_ngcontent-%COMP%]:before{content:""}.fa-imdb[_ngcontent-%COMP%]:before{content:""}.fa-ravelry[_ngcontent-%COMP%]:before{content:""}.fa-eercast[_ngcontent-%COMP%]:before{content:""}.fa-microchip[_ngcontent-%COMP%]:before{content:""}.fa-snowflake-o[_ngcontent-%COMP%]:before{content:""}.fa-superpowers[_ngcontent-%COMP%]:before{content:""}.fa-wpexplorer[_ngcontent-%COMP%]:before{content:""}.fa-meetup[_ngcontent-%COMP%]:before{content:""}.fa-mastodon[_ngcontent-%COMP%]:before{content:""}.fa-mastodon-alt[_ngcontent-%COMP%]:before{content:""}.fa-fork-awesome[_ngcontent-%COMP%]:before, .fa-fork-circle[_ngcontent-%COMP%]:before{content:""}.fa-peertube[_ngcontent-%COMP%]:before{content:""}.fa-diaspora[_ngcontent-%COMP%]:before{content:""}.fa-friendica[_ngcontent-%COMP%]:before{content:""}.fa-gnu-social[_ngcontent-%COMP%]:before{content:""}.fa-liberapay-square[_ngcontent-%COMP%]:before{content:""}.fa-liberapay[_ngcontent-%COMP%]:before{content:""}.fa-scuttlebutt[_ngcontent-%COMP%]:before, .fa-ssb[_ngcontent-%COMP%]:before{content:""}.fa-hubzilla[_ngcontent-%COMP%]:before{content:""}.fa-social-home[_ngcontent-%COMP%]:before{content:""}.fa-artstation[_ngcontent-%COMP%]:before{content:""}.fa-discord[_ngcontent-%COMP%]:before{content:""}.fa-discord-alt[_ngcontent-%COMP%]:before{content:""}.fa-patreon[_ngcontent-%COMP%]:before{content:""}.fa-snowdrift[_ngcontent-%COMP%]:before{content:""}.fa-activitypub[_ngcontent-%COMP%]:before{content:""}.fa-ethereum[_ngcontent-%COMP%]:before{content:""}.fa-keybase[_ngcontent-%COMP%]:before{content:""}.fa-shaarli[_ngcontent-%COMP%]:before{content:""}.fa-shaarli-o[_ngcontent-%COMP%]:before{content:""}.fa-cut-key[_ngcontent-%COMP%]:before, .fa-key-modern[_ngcontent-%COMP%]:before{content:""}.fa-xmpp[_ngcontent-%COMP%]:before{content:""}.fa-archive-org[_ngcontent-%COMP%]:before{content:""}.fa-freedombox[_ngcontent-%COMP%]:before{content:""}.fa-facebook-messenger[_ngcontent-%COMP%]:before{content:""}.fa-debian[_ngcontent-%COMP%]:before{content:""}.fa-mastodon-square[_ngcontent-%COMP%]:before{content:""}.fa-tipeee[_ngcontent-%COMP%]:before{content:""}.fa-react[_ngcontent-%COMP%]:before{content:""}.fa-dogmazic[_ngcontent-%COMP%]:before{content:""}.fa-zotero[_ngcontent-%COMP%]:before{content:""}.fa-nodejs[_ngcontent-%COMP%]:before{content:""}.fa-nextcloud[_ngcontent-%COMP%]:before{content:""}.fa-nextcloud-square[_ngcontent-%COMP%]:before{content:""}.fa-hackaday[_ngcontent-%COMP%]:before{content:""}.fa-laravel[_ngcontent-%COMP%]:before{content:""}.fa-signalapp[_ngcontent-%COMP%]:before{content:""}.fa-gnupg[_ngcontent-%COMP%]:before{content:""}.fa-php[_ngcontent-%COMP%]:before{content:""}.fa-ffmpeg[_ngcontent-%COMP%]:before{content:""}.fa-joplin[_ngcontent-%COMP%]:before{content:""}.fa-syncthing[_ngcontent-%COMP%]:before{content:""}.fa-inkscape[_ngcontent-%COMP%]:before{content:""}.fa-matrix-org[_ngcontent-%COMP%]:before{content:""}.fa-pixelfed[_ngcontent-%COMP%]:before{content:""}.fa-bootstrap[_ngcontent-%COMP%]:before{content:""}.fa-dev-to[_ngcontent-%COMP%]:before{content:""}.fa-hashnode[_ngcontent-%COMP%]:before{content:""}.fa-jirafeau[_ngcontent-%COMP%]:before{content:""}.fa-emby[_ngcontent-%COMP%]:before{content:""}.fa-wikidata[_ngcontent-%COMP%]:before{content:""}.fa-gimp[_ngcontent-%COMP%]:before{content:""}.fa-c[_ngcontent-%COMP%]:before{content:""}.fa-digitalocean[_ngcontent-%COMP%]:before{content:""}.fa-att[_ngcontent-%COMP%]:before{content:""}.fa-gitea[_ngcontent-%COMP%]:before{content:""}.fa-file-epub[_ngcontent-%COMP%]:before{content:""}.fa-python[_ngcontent-%COMP%]:before{content:""}.fa-archlinux[_ngcontent-%COMP%]:before{content:""}.fa-pleroma[_ngcontent-%COMP%]:before{content:""}.fa-unsplash[_ngcontent-%COMP%]:before{content:""}.fa-hackster[_ngcontent-%COMP%]:before{content:""}.fa-spell-check[_ngcontent-%COMP%]:before{content:""}.fa-moon[_ngcontent-%COMP%]:before{content:""}.fa-sun[_ngcontent-%COMP%]:before{content:""}.fa-f-droid[_ngcontent-%COMP%]:before{content:""}.fa-biometric[_ngcontent-%COMP%]:before{content:""}.sr-only[_ngcontent-%COMP%]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable[_ngcontent-%COMP%]:active, .sr-only-focusable[_ngcontent-%COMP%]:focus{clip:auto;white-space:normal;position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.info-card-popover-cluster-status[_ngcontent-%COMP%]{max-width:23vw;max-height:20vh}.info-card-popover-cluster-status[_ngcontent-%COMP%]   .popover-body[_ngcontent-%COMP%]{max-width:100%;max-height:19vh;font-size:12px}@media (max-width:calc(1200px - 1px)){.info-card-popover-cluster-status[_ngcontent-%COMP%]{max-width:31vw}}@media (max-width:calc(992px - 1px)){.info-card-popover-cluster-status[_ngcontent-%COMP%]{max-width:46vw}}@media (max-width:calc(768px - 1px)){.info-card-popover-cluster-status[_ngcontent-%COMP%]{max-width:83vw}}.info-card-content-clickable[_ngcontent-%COMP%]{cursor:pointer;padding:7px;border:1px solid #efefef;border-radius:3px}.info-card-content-clickable[_ngcontent-%COMP%]:hover{border-color:#d1d1d1;background-color:#f3f3f3}.custom-control-input.is-valid[_ngcontent-%COMP%] ~ .custom-control-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid ~ .custom-control-label[_ngcontent-%COMP%]{color:initial}.custom-control-input.is-valid[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid:checked ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#2b99a8;background-color:#2b99a8}.custom-control-input.is-valid[_ngcontent-%COMP%] ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#adb5bd}.custom-control-input.is-valid[_ngcontent-%COMP%]:focus ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid:focus ~ .custom-control-label[_ngcontent-%COMP%]::before{box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.custom-control-input.is-valid[_ngcontent-%COMP%]:focus:not(:checked) ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid:focus:not(:checked) ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#76d0dc}html[_ngcontent-%COMP%]{background-color:#fff}body[_ngcontent-%COMP%], html[_ngcontent-%COMP%]{width:100%;height:100%;font-size:12px}h1[_ngcontent-%COMP%]{letter-spacing:-1px;font-size:2em}h2[_ngcontent-%COMP%]{letter-spacing:-1px;font-size:1.833em}h3[_ngcontent-%COMP%]{display:block;font-size:1.583em;font-weight:400}h4[_ngcontent-%COMP%]{font-size:1.5em;line-height:normal}option[_ngcontent-%COMP%]{font-weight:400;font-style:normal}.full-height[_ngcontent-%COMP%]{height:100vh}.full-width[_ngcontent-%COMP%]{width:100vw}.vertical-align[_ngcontent-%COMP%]{display:flex;align-items:center}.horizontal-align[_ngcontent-%COMP%]{display:flex;justify-content:center}.loading[_ngcontent-%COMP%]{position:absolute;top:50%;left:50%}.margin-right-md[_ngcontent-%COMP%]{margin-right:15px}.no-border[_ngcontent-%COMP%]{border:0;box-shadow:0 0 0!important}.italic[_ngcontent-%COMP%]{font-style:italic}.bold[_ngcontent-%COMP%]{font-weight:700}.text-pre[_ngcontent-%COMP%]{white-space:pre-wrap}.btn-light[_ngcontent-%COMP%]{background-color:#fff!important;border-color:#ced4da!important}.btn-light[_ngcontent-%COMP%]:hover{background-color:#ddd!important;border-color:#adadad!important}.btn.active.focus[_ngcontent-%COMP%], .btn.active[_ngcontent-%COMP%]:focus, .btn.focus[_ngcontent-%COMP%], .btn[_ngcontent-%COMP%]:active.focus, .btn[_ngcontent-%COMP%]:active:focus, .btn[_ngcontent-%COMP%]:focus{outline:0}.btn-primary[_ngcontent-%COMP%]   .badge[_ngcontent-%COMP%]{color:#2b99a8;background-color:#eee}.btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%] > i.fa[_ngcontent-%COMP%], .cd-datatable-actions[_ngcontent-%COMP%]   button.btn[_ngcontent-%COMP%]   i.fa[_ngcontent-%COMP%]{margin-right:5px}.dropdown-menu[_ngcontent-%COMP%]{min-width:50px;z-index:999999}.dropdown-menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{color:#474544;cursor:pointer}.dropdown-menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] > i.fa[_ngcontent-%COMP%]{margin-right:5px}.dropdown-menu[_ngcontent-%COMP%] > .active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{color:#eee}.dropdown-menu[_ngcontent-%COMP%] > .active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%], .dropdown-menu[_ngcontent-%COMP%] > .active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:focus, .dropdown-menu[_ngcontent-%COMP%] > .active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{background-color:#21747f}.dataTables_wrapper[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%] > li.dropdown-divider[_ngcontent-%COMP%]{cursor:auto}.container[_ngcontent-%COMP%], .container-fluid[_ngcontent-%COMP%]{padding-left:30px!important;padding-right:30px!important}.row[_ngcontent-%COMP%]{margin-left:-30px;margin-right:-30px}.cd-col-form[_ngcontent-%COMP%], .cd-col-form-input[_ngcontent-%COMP%], .cd-col-form-label[_ngcontent-%COMP%], .cd-col-form-offset[_ngcontent-%COMP%], .col-1[_ngcontent-%COMP%], .col-10[_ngcontent-%COMP%], .col-11[_ngcontent-%COMP%], .col-12[_ngcontent-%COMP%], .col-2[_ngcontent-%COMP%], .col-3[_ngcontent-%COMP%], .col-4[_ngcontent-%COMP%], .col-5[_ngcontent-%COMP%], .col-6[_ngcontent-%COMP%], .col-7[_ngcontent-%COMP%], .col-8[_ngcontent-%COMP%], .col-9[_ngcontent-%COMP%], .col-lg-1[_ngcontent-%COMP%], .col-lg-10[_ngcontent-%COMP%], .col-lg-11[_ngcontent-%COMP%], .col-lg-12[_ngcontent-%COMP%], .col-lg-2[_ngcontent-%COMP%], .col-lg-3[_ngcontent-%COMP%], .col-lg-4[_ngcontent-%COMP%], .col-lg-5[_ngcontent-%COMP%], .col-lg-6[_ngcontent-%COMP%], .col-lg-7[_ngcontent-%COMP%], .col-lg-8[_ngcontent-%COMP%], .col-lg-9[_ngcontent-%COMP%], .col-md-1[_ngcontent-%COMP%], .col-md-10[_ngcontent-%COMP%], .col-md-11[_ngcontent-%COMP%], .col-md-12[_ngcontent-%COMP%], .col-md-2[_ngcontent-%COMP%], .col-md-3[_ngcontent-%COMP%], .col-md-4[_ngcontent-%COMP%], .col-md-5[_ngcontent-%COMP%], .col-md-6[_ngcontent-%COMP%], .col-md-7[_ngcontent-%COMP%], .col-md-8[_ngcontent-%COMP%], .col-md-9[_ngcontent-%COMP%], .col-sm-1[_ngcontent-%COMP%], .col-sm-10[_ngcontent-%COMP%], .col-sm-11[_ngcontent-%COMP%], .col-sm-12[_ngcontent-%COMP%], .col-sm-2[_ngcontent-%COMP%], .col-sm-3[_ngcontent-%COMP%], .col-sm-4[_ngcontent-%COMP%], .col-sm-5[_ngcontent-%COMP%], .col-sm-6[_ngcontent-%COMP%], .col-sm-7[_ngcontent-%COMP%], .col-sm-8[_ngcontent-%COMP%], .col-sm-9[_ngcontent-%COMP%],   cd-info-card, cd-modal[_ngcontent-%COMP%]   .cd-col-form-input[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-label[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-offset[_ngcontent-%COMP%]{padding-left:30px;padding-right:30px}tags-input[_ngcontent-%COMP%]   .tags[_ngcontent-%COMP%]{border-radius:4px;border:1px solid #d1d1d1;box-shadow:inset 0 1px 1px rgba(0,0,0,.09)}.card[_ngcontent-%COMP%]   .accordion-title[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]   .accordion-title[_ngcontent-%COMP%], uib-accordion[_ngcontent-%COMP%]   .card-title[_ngcontent-%COMP%]{font-size:14px!important}.card-header[_ngcontent-%COMP%]{font-size:1.3em}.card-body[_ngcontent-%COMP%]   h2[_ngcontent-%COMP%]:first-child{margin-top:0}.disabled[_ngcontent-%COMP%]{pointer-events:none}.clickable[_ngcontent-%COMP%], a[_ngcontent-%COMP%]{cursor:pointer}[_ngcontent-%COMP%]:invalid   .has-error-btn[_ngcontent-%COMP%], [_ngcontent-%COMP%]:invalid   .has-error-btn[_ngcontent-%COMP%]:disabled:hover{background-color:#f2dede;border-color:#a94442}.noscript[_ngcontent-%COMP%]{padding-top:5em}.noscript[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]{color:#777}.required[_ngcontent-%COMP%]::after{color:#a94442;content:"*";font-size:14px;padding-left:4px}.form-footer[_ngcontent-%COMP%]{width:100%;display:flex}.cd-form-control[_ngcontent-%COMP%], .form-control[_ngcontent-%COMP%]{display:table-cell}.cd-form-control[_ngcontent-%COMP%]:focus, .form-control[_ngcontent-%COMP%]:focus{border-color:rgba(43,153,168,.8);outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px 2px rgba(43,153,168,.5)}.custom-checkbox[_ngcontent-%COMP%]{padding-top:7px}.card-footer[_ngcontent-%COMP%]   button.btn[_ngcontent-%COMP%]:not(:first-child), .modal-footer[_ngcontent-%COMP%]   button.btn[_ngcontent-%COMP%]:not(:first-child){margin-left:5px}.nav-tabs[_ngcontent-%COMP%]{margin-bottom:15px}.ceph-icon[_ngcontent-%COMP%]{background:url(Ceph_Logo_Stacked_RGB_120411_fa_228x228.1ed169ccc35367a2dab2.png)}.prometheus-icon[_ngcontent-%COMP%]{background:url(prometheus_logo.074db273ef932a67d91b.svg)}.custom-icon[_ngcontent-%COMP%]{padding:10px;margin-right:8px;background-clip:padding-box;background-size:contain;background-repeat:no-repeat}.toast-message[_ngcontent-%COMP%]   .custom-icon[_ngcontent-%COMP%]{filter:brightness(0) invert(1);-webkit-filter:brightness(0) invert(1);-moz-filter:brightness(0) invert(1);-o-filter:brightness(0) invert(1);-ms-filter:brightness(0) invert(1)}.block-ui-wrapper[_ngcontent-%COMP%]{background:rgba(0,0,0,.7)!important}.tooltip-wide[_ngcontent-%COMP%]   .tooltip-inner[_ngcontent-%COMP%]{width:400px}.tooltip-inner[_ngcontent-%COMP%]{background-color:#fff;border:1px solid grey;color:#333;font-size:1.1em}.toast-message[_ngcontent-%COMP%] > ul[_ngcontent-%COMP%]{padding-left:1em;margin:0}@media (min-width:576px){.cd-col-form-label[_ngcontent-%COMP%], .col-form-label[_ngcontent-%COMP%]{text-align:right}}.cd-col-form-label[_ngcontent-%COMP%], .col-form-label[_ngcontent-%COMP%]{font-weight:700}cd-submit-button[_ngcontent-%COMP%]{background-color:transparent!important}bfv-messages[_ngcontent-%COMP%]{display:none}.form-group.has-error[_ngcontent-%COMP%]   .invalid-feedback[_ngcontent-%COMP%]{display:block}.password-strength-level[_ngcontent-%COMP%]{flex:100%;margin-top:2px}.password-strength-level[_ngcontent-%COMP%]   .ok[_ngcontent-%COMP%], .password-strength-level[_ngcontent-%COMP%]   .strong[_ngcontent-%COMP%], .password-strength-level[_ngcontent-%COMP%]   .very-strong[_ngcontent-%COMP%], .password-strength-level[_ngcontent-%COMP%]   .weak[_ngcontent-%COMP%]{border-radius:.25rem;height:13px}.password-strength-level[_ngcontent-%COMP%]   .weak[_ngcontent-%COMP%]{width:25%;background:red}.password-strength-level[_ngcontent-%COMP%]   .ok[_ngcontent-%COMP%]{width:50%;background:#ffc200}.password-strength-level[_ngcontent-%COMP%]   .strong[_ngcontent-%COMP%]{width:75%;background:#0b0}.password-strength-level[_ngcontent-%COMP%]   .very-strong[_ngcontent-%COMP%]{width:100%;background:#245e03}.badge-hdd[_ngcontent-%COMP%]{color:#fff;background-color:#90949c}.badge-ssd[_ngcontent-%COMP%]{color:#fff;background-color:#288cea}.badge-tab[_ngcontent-%COMP%]{color:#555;background-color:#f3f3f3}tree-root[_ngcontent-%COMP%]   tree-viewport[_ngcontent-%COMP%]{min-height:1em}cd-info-card[_ngcontent-%COMP%]{padding:0 .5vw}  .pg-status-popover-wrapper{position:relative}  .pg-status-popover-wrapper .popover{position:absolute;width:116%;max-height:20vh;min-width:unset!important;max-width:unset!important}  .pg-status-popover-wrapper .popover .popover-body{max-width:100%;max-height:19vh;font-size:12px}.logs-link[_ngcontent-%COMP%]{text-align:center}.card-text-error[_ngcontent-%COMP%]{display:inline;color:red}.card-text-line-break[_ngcontent-%COMP%]:after{content:"\\a";white-space:pre}.popover-info[_ngcontent-%COMP%]:hover{cursor:pointer}']],data:{}});function _a(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,0,null,null,null,null,null,null,null))],null,null)}function Oa(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,"li",[],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,4,"span",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgStyleImpl"],o["ɵNgStyleR2Impl"],[i.ElementRef,i.KeyValueDiffers,i.Renderer2]),i["ɵdid"](3,278528,null,0,o.NgStyle,[o["ɵNgStyleImpl"]],{ngStyle:[0,"ngStyle"]},null),i["ɵppd"](4,1),(t()(),i["ɵted"](5,null,["",""])),(t()(),i["ɵted"](6,null,[": "," "]))],(function(t,e){var n=i["ɵunv"](e,3,0,t(e,4,0,i["ɵnov"](e.parent.parent.parent.parent.parent.parent,0),e.context.$implicit.severity));t(e,3,0,n)}),(function(t,e){t(e,5,0,e.context.$implicit.type),t(e,6,0,e.context.$implicit.summary.message)}))}function va(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,_a)),i["ɵdid"](1,540672,null,0,o.NgTemplateOutlet,[i.ViewContainerRef],{ngTemplateOutlet:[0,"ngTemplateOutlet"]},null),(t()(),i["ɵeld"](2,0,null,null,2,"ul",[],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Oa)),i["ɵdid"](4,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){var n=e.component;t(e,1,0,i["ɵnov"](e.parent.parent.parent.parent,7)),t(e,4,0,n.healthData.health.checks)}),null)}function Ca(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,7,null,null,null,null,null,null,null)),(t()(),i["ɵand"](0,[["healthChecks",2]],null,0,null,va)),(t()(),i["ɵeld"](2,16777216,null,null,5,"div",[["class","info-card-content-clickable"],["container","body"],["containerClass","info-card-popover-cluster-status"],["placement","bottom"],["triggers",""]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,6).toggle()&&a),a}),null,null)),i["ɵprd"](512,null,o["ɵNgStyleImpl"],o["ɵNgStyleR2Impl"],[i.ElementRef,i.KeyValueDiffers,i.Renderer2]),i["ɵdid"](4,278528,null,0,o.NgStyle,[o["ɵNgStyleImpl"]],{ngStyle:[0,"ngStyle"]},null),i["ɵppd"](5,1),i["ɵdid"](6,212992,[["healthChecksTarget",4]],0,zn.c,[zn.a,i.ElementRef,i.Renderer2,i.ViewContainerRef,U.a,Gn.a],{popover:[0,"popover"],placement:[1,"placement"],triggers:[2,"triggers"],container:[3,"container"],containerClass:[4,"containerClass"]},null),(t()(),i["ɵted"](7,null,[" "," "])),(t()(),i["ɵand"](0,null,null,0))],(function(t,e){var n=e.component,a=i["ɵunv"](e,4,0,t(e,5,0,i["ɵnov"](e.parent.parent.parent.parent,0),n.healthData.health.status));t(e,4,0,a),t(e,6,0,i["ɵnov"](e,1),"bottom","","body","info-card-popover-cluster-status")}),(function(t,e){t(e,7,0,e.component.healthData.health.status)}))}function Pa(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,5,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,4,"div",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgStyleImpl"],o["ɵNgStyleR2Impl"],[i.ElementRef,i.KeyValueDiffers,i.Renderer2]),i["ɵdid"](3,278528,null,0,o.NgStyle,[o["ɵNgStyleImpl"]],{ngStyle:[0,"ngStyle"]},null),i["ɵppd"](4,1),(t()(),i["ɵted"](5,null,[" "," "]))],(function(t,e){var n=e.component,a=i["ɵunv"](e,3,0,t(e,4,0,i["ɵnov"](e.parent.parent.parent.parent,0),n.healthData.health.status));t(e,3,0,a)}),(function(t,e){t(e,5,0,e.component.healthData.health.status)}))}function Ma(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,5,"cd-info-card",[["cardTitle","Cluster Status"],["class","cd-status-card"],["contentClass","content-highlight"]],null,null,null,Un,Vn)),i["ɵdid"](1,49152,null,0,Bn,[],{cardTitle:[0,"cardTitle"],contentClass:[1,"contentClass"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,Ca)),i["ɵdid"](3,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,Pa)),i["ɵdid"](5,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0,"Cluster Status","content-highlight"),t(e,3,0,(null==n.healthData.health?null:null==n.healthData.health.checks?null:n.healthData.health.checks.length)>0),t(e,5,0,!(null!=n.healthData.health&&null!=n.healthData.health.checks&&n.healthData.health.checks.length))}),null)}function xa(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"cd-info-card",[["cardTitle","Monitors"],["class","cd-status-card"],["contentClass","content-highlight"],["link","/monitor"]],null,null,null,Un,Vn)),i["ɵdid"](1,49152,null,0,Bn,[],{cardTitle:[0,"cardTitle"],link:[1,"link"],contentClass:[2,"contentClass"]},null),(t()(),i["ɵted"](2,0,[" "," "])),i["ɵppd"](3,1)],(function(t,e){t(e,1,0,"Monitors","/monitor","content-highlight")}),(function(t,e){var n=e.component,a=i["ɵunv"](e,2,0,t(e,3,0,i["ɵnov"](e.parent.parent.parent,1),n.healthData.mon_status));t(e,2,0,a)}))}function wa(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"span",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](2,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),(t()(),i["ɵted"](3,null,[" "," "]))],(function(t,e){t(e,2,0,e.context.$implicit.class)}),(function(t,e){t(e,3,0,e.context.$implicit.content)}))}function Ta(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"cd-info-card",[["cardTitle","OSDs"],["class","cd-status-card"],["contentClass","content-highlight"],["link","/osd"]],null,null,null,Un,Vn)),i["ɵdid"](1,49152,null,0,Bn,[],{cardTitle:[0,"cardTitle"],link:[1,"link"],contentClass:[2,"contentClass"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,wa)),i["ɵdid"](3,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){t(e,1,0,"OSDs","/osd","content-highlight"),t(e,3,0,e.context.ngIf)}),null)}function Sa(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"span",[],[[8,"title",0]],null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](2,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),(t()(),i["ɵted"](3,null,[" "," "]))],(function(t,e){t(e,2,0,e.context.$implicit.class)}),(function(t,e){t(e,0,0,null!=e.context.$implicit.titleText?e.context.$implicit.titleText:""),t(e,3,0,e.context.$implicit.content)}))}function ka(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,4,"cd-info-card",[["cardTitle","Manager Daemons"],["class","cd-status-card"],["contentClass","content-highlight"]],null,null,null,Un,Vn)),i["ɵdid"](1,49152,null,0,Bn,[],{cardTitle:[0,"cardTitle"],contentClass:[1,"contentClass"]},null),(t()(),i["ɵand"](16777216,null,0,2,null,Sa)),i["ɵdid"](3,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),i["ɵppd"](4,1)],(function(t,e){var n=e.component;t(e,1,0,"Manager Daemons","content-highlight");var a=i["ɵunv"](e,3,0,t(e,4,0,i["ɵnov"](e.parent.parent.parent,3),n.healthData.mgr_map));t(e,3,0,a)}),null)}function Ia(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-info-card",[["cardTitle","Hosts"],["class","cd-status-card"],["contentClass","content-highlight"],["link","/hosts"]],null,null,null,Un,Vn)),i["ɵdid"](1,49152,null,0,Bn,[],{cardTitle:[0,"cardTitle"],link:[1,"link"],contentClass:[2,"contentClass"]},null),(t()(),i["ɵted"](2,0,[" "," total "]))],(function(t,e){t(e,1,0,"Hosts","/hosts","content-highlight")}),(function(t,e){t(e,2,0,e.component.healthData.hosts)}))}function Na(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-info-card",[["cardTitle","Object Gateways"],["class","cd-status-card"],["contentClass","content-highlight"],["link","/rgw/daemon"]],null,null,null,Un,Vn)),i["ɵdid"](1,49152,null,0,Bn,[],{cardTitle:[0,"cardTitle"],link:[1,"link"],contentClass:[2,"contentClass"]},null),(t()(),i["ɵted"](2,0,[" "," total "]))],(function(t,e){t(e,1,0,"Object Gateways","/rgw/daemon","content-highlight")}),(function(t,e){t(e,2,0,e.component.healthData.rgw)}))}function Ra(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"span",[],[[8,"title",0]],null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](2,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),(t()(),i["ɵted"](3,null,[" "," "]))],(function(t,e){t(e,2,0,e.context.$implicit.class)}),(function(t,e){t(e,0,0,null!=e.context.$implicit.titleText?e.context.$implicit.titleText:""),t(e,3,0,e.context.$implicit.content)}))}function Aa(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"cd-info-card",[["cardTitle","Metadata Servers"],["class","cd-status-card"]],null,null,null,Un,Vn)),i["ɵdid"](1,49152,null,0,Bn,[],{cardTitle:[0,"cardTitle"],contentClass:[1,"contentClass"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,Ra)),i["ɵdid"](3,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){t(e,1,0,"Metadata Servers",(e.context.ngIf.length>1?"text-area-size-2":"")+" content-highlight"),t(e,3,0,e.context.ngIf)}),null)}function Ea(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,9,"cd-info-card",[["cardTitle","iSCSI Gateways"],["class","cd-status-card"],["contentClass","content-highlight"],["link","/block/iscsi"]],null,null,null,Un,Vn)),i["ɵdid"](1,49152,null,0,Bn,[],{cardTitle:[0,"cardTitle"],link:[1,"link"],contentClass:[2,"contentClass"]},null),(t()(),i["ɵted"](2,0,[" "," total "])),(t()(),i["ɵeld"](3,0,null,0,0,"span",[["class","card-text-line-break"]],null,null,null,null,null)),(t()(),i["ɵted"](4,0,[" "," up, "])),(t()(),i["ɵeld"](5,0,null,0,4,"span",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](7,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpod"](8,{"card-text-error":0}),(t()(),i["ɵted"](9,null,[""," down"]))],(function(t,e){var n=e.component;t(e,1,0,"iSCSI Gateways","/block/iscsi","content-highlight");var a=t(e,8,0,n.healthData.iscsi_daemons.down>0);t(e,7,0,a)}),(function(t,e){var n=e.component;t(e,2,0,n.healthData.iscsi_daemons.up+n.healthData.iscsi_daemons.down),t(e,4,0,n.healthData.iscsi_daemons.up),t(e,9,0,n.healthData.iscsi_daemons.down)}))}function Da(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,19,"cd-info-group",[["groupTitle","Status"]],null,null,null,$n,Kn)),i["ɵdid"](1,49152,null,0,Wn,[],{groupTitle:[0,"groupTitle"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,Ma)),i["ɵdid"](3,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,xa)),i["ɵdid"](5,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,2,null,Ta)),i["ɵdid"](7,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),i["ɵppd"](8,1),(t()(),i["ɵand"](16777216,null,0,1,null,ka)),i["ɵdid"](10,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,Ia)),i["ɵdid"](12,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,Na)),i["ɵdid"](14,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,2,null,Aa)),i["ɵdid"](16,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),i["ɵppd"](17,1),(t()(),i["ɵand"](16777216,null,0,1,null,Ea)),i["ɵdid"](19,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0,"Status"),t(e,3,0,null==n.healthData.health?null:n.healthData.health.status),t(e,5,0,n.healthData.mon_status);var a=i["ɵunv"](e,7,0,t(e,8,0,i["ɵnov"](e.parent.parent,2),n.healthData.osd_map));t(e,7,0,a),t(e,10,0,n.healthData.mgr_map),t(e,12,0,null!=n.healthData.hosts),t(e,14,0,e.parent.context.ngIf.rgw&&null!=n.healthData.rgw);var r=i["ɵunv"](e,16,0,t(e,17,0,i["ɵnov"](e.parent.parent,4),e.parent.context.ngIf.cephfs&&n.healthData.fs_map));t(e,16,0,r),t(e,19,0,e.parent.context.ngIf.iscsi&&null!=n.healthData.iscsi_daemons)}),null)}function La(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"cd-info-card",[["cardTitle","Client IOPS"],["class","cd-performance-card"],["contentClass","content-highlight"]],null,null,null,Un,Vn)),i["ɵdid"](1,49152,null,0,Bn,[],{cardTitle:[0,"cardTitle"],contentClass:[1,"contentClass"]},null),(t()(),i["ɵted"](2,0,[" "," "])),i["ɵppd"](3,2)],(function(t,e){t(e,1,0,"Client IOPS","content-highlight")}),(function(t,e){var n=e.component,a=i["ɵunv"](e,2,0,t(e,3,0,i["ɵnov"](e.parent.parent.parent,5),n.healthData.client_perf.read_op_per_sec+n.healthData.client_perf.write_op_per_sec,1));t(e,2,0,a)}))}function qa(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"cd-info-card",[["cardTitle","Client Throughput"],["class","cd-performance-card"],["contentClass","content-highlight"]],null,null,null,Un,Vn)),i["ɵdid"](1,49152,null,0,Bn,[],{cardTitle:[0,"cardTitle"],contentClass:[1,"contentClass"]},null),(t()(),i["ɵted"](2,0,[" "," "])),i["ɵppd"](3,1)],(function(t,e){t(e,1,0,"Client Throughput","content-highlight")}),(function(t,e){var n=e.component,a=i["ɵunv"](e,2,0,t(e,3,0,i["ɵnov"](e.parent.parent.parent,6),n.healthData.client_perf.read_bytes_sec+n.healthData.client_perf.write_bytes_sec))+"/s";t(e,2,0,a)}))}function ja(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-health-pie",[],null,[[null,"prepareFn"]],(function(t,e,n){var a=!0;return"prepareFn"===e&&(a=!1!==t.component.prepareReadWriteRatio(n[0],n[1])&&a),a}),ra,aa)),i["ɵdid"](1,638976,null,0,na,[Qn.a,ta.a],{data:[0,"data"]},{prepareFn:"prepareFn"})],(function(t,e){t(e,1,0,e.component.healthData)}),null)}function Fa(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,[" N/A "]))],null,null)}function za(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,5,"cd-info-card",[["cardTitle","Client Read/Write"],["class","cd-performance-card"]],null,null,null,Un,Vn)),i["ɵdid"](1,49152,null,0,Bn,[],{cardTitle:[0,"cardTitle"],contentClass:[1,"contentClass"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,ja)),i["ɵdid"](3,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,Fa)),i["ɵdid"](5,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0,"Client Read/Write",n.isClientReadWriteChartShowable()?"content-chart":"content-highlight"),t(e,3,0,n.isClientReadWriteChartShowable()),t(e,5,0,!n.isClientReadWriteChartShowable())}),null)}function Ga(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"cd-info-card",[["cardTitle","Recovery Throughput"],["class","cd-performance-card"],["contentClass","content-highlight"]],null,null,null,Un,Vn)),i["ɵdid"](1,49152,null,0,Bn,[],{cardTitle:[0,"cardTitle"],contentClass:[1,"contentClass"]},null),(t()(),i["ɵted"](2,0,[" "," "])),i["ɵppd"](3,1)],(function(t,e){t(e,1,0,"Recovery Throughput","content-highlight")}),(function(t,e){var n=e.component,a=i["ɵunv"](e,2,0,t(e,3,0,i["ɵnov"](e.parent.parent.parent,6),n.healthData.client_perf.recovering_bytes_per_sec))+"/s";t(e,2,0,a)}))}function Ba(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-info-card",[["cardTitle","Scrub"],["class","cd-performance-card"],["contentClass","content-highlight"]],null,null,null,Un,Vn)),i["ɵdid"](1,49152,null,0,Bn,[],{cardTitle:[0,"cardTitle"],contentClass:[1,"contentClass"]},null),(t()(),i["ɵted"](2,0,[" "," "]))],(function(t,e){t(e,1,0,"Scrub","content-highlight")}),(function(t,e){t(e,2,0,e.component.healthData.scrub_status)}))}function Va(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,11,"cd-info-group",[["groupTitle","Performance"]],null,null,null,$n,Kn)),i["ɵdid"](1,49152,null,0,Wn,[],{groupTitle:[0,"groupTitle"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,La)),i["ɵdid"](3,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,qa)),i["ɵdid"](5,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,za)),i["ɵdid"](7,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,Ga)),i["ɵdid"](9,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,Ba)),i["ɵdid"](11,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0,"Performance"),t(e,3,0,n.healthData.client_perf),t(e,5,0,n.healthData.client_perf),t(e,7,0,n.healthData.client_perf),t(e,9,0,n.healthData.client_perf),t(e,11,0,n.healthData.scrub_status)}),null)}function Ya(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-info-card",[["cardTitle","Pools"],["class","cd-capacity-card order-md-1 order-lg-4 order-xl-1"],["contentClass","content-highlight"],["link","/pool"]],null,null,null,Un,Vn)),i["ɵdid"](1,49152,null,0,Bn,[],{cardTitle:[0,"cardTitle"],link:[1,"link"],contentClass:[2,"contentClass"]},null),(t()(),i["ɵted"](2,0,[" "," "]))],(function(t,e){t(e,1,0,"Pools","/pool","content-highlight")}),(function(t,e){t(e,2,0,e.component.healthData.pools.length)}))}function Ha(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"cd-info-card",[["cardTitle","Raw Capacity"],["class","cd-capacity-card order-md-3 order-lg-1 order-xl-2"],["contentClass","content-chart"]],null,null,null,Un,Vn)),i["ɵdid"](1,49152,null,0,Bn,[],{cardTitle:[0,"cardTitle"],contentClass:[1,"contentClass"]},null),(t()(),i["ɵeld"](2,0,null,0,1,"cd-health-pie",[],null,[[null,"prepareFn"]],(function(t,e,n){var a=!0;return"prepareFn"===e&&(a=!1!==t.component.prepareRawUsage(n[0],n[1])&&a),a}),ra,aa)),i["ɵdid"](3,638976,null,0,na,[Qn.a,ta.a],{data:[0,"data"],config:[1,"config"],isBytesData:[2,"isBytesData"]},{prepareFn:"prepareFn"})],(function(t,e){var n=e.component;t(e,1,0,"Raw Capacity","content-chart"),t(e,3,0,n.healthData,n.rawCapacityChartConfig,!0)}),null)}function Ua(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"cd-info-card",[["cardTitle","Objects"],["class","cd-capacity-card order-md-4 order-lg-2 order-xl-3"],["contentClass","content-chart"]],null,null,null,Un,Vn)),i["ɵdid"](1,49152,null,0,Bn,[],{cardTitle:[0,"cardTitle"],contentClass:[1,"contentClass"]},null),(t()(),i["ɵeld"](2,0,null,0,1,"cd-health-pie",[],null,[[null,"prepareFn"]],(function(t,e,n){var a=!0;return"prepareFn"===e&&(a=!1!==t.component.prepareObjects(n[0],n[1])&&a),a}),ra,aa)),i["ɵdid"](3,638976,null,0,na,[Qn.a,ta.a],{data:[0,"data"],config:[1,"config"]},{prepareFn:"prepareFn"})],(function(t,e){var n=e.component;t(e,1,0,"Objects","content-chart"),t(e,3,0,n.healthData,n.objectsChartConfig)}),null)}function Wa(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"cd-info-card",[["cardTitle","PGs per OSD"],["class","cd-capacity-card order-md-2 order-lg-5 order-xl-4"],["contentClass","content-highlight"]],null,null,null,Un,Vn)),i["ɵdid"](1,49152,null,0,Bn,[],{cardTitle:[0,"cardTitle"],contentClass:[1,"contentClass"]},null),(t()(),i["ɵted"](2,0,[" "," "])),i["ɵppd"](3,1)],(function(t,e){t(e,1,0,"PGs per OSD","content-highlight")}),(function(t,e){var n=e.component,a=i["ɵunv"](e,2,0,t(e,3,0,i["ɵnov"](e.parent.parent.parent,7),n.healthData.pg_info.pgs_per_osd));t(e,2,0,a)}))}function Ka(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,0,null,null,null,null,null,null,null))],null,null)}function $a(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"li",[],null,null,null,null,null)),(t()(),i["ɵted"](1,null,[" ",": "," "]))],null,(function(t,e){t(e,1,0,e.context.$implicit.key,e.context.$implicit.value)}))}function Za(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,Ka)),i["ɵdid"](1,540672,null,0,o.NgTemplateOutlet,[i.ViewContainerRef],{ngTemplateOutlet:[0,"ngTemplateOutlet"]},null),(t()(),i["ɵeld"](2,0,null,null,3,"ul",[],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,2,null,$a)),i["ɵdid"](4,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),i["ɵpid"](0,o.KeyValuePipe,[i.KeyValueDiffers])],(function(t,e){var n=e.component;t(e,1,0,i["ɵnov"](e.parent.parent.parent,7)),t(e,4,0,i["ɵunv"](e,4,0,i["ɵnov"](e,5).transform(n.healthData.pg_info.statuses)))}),null)}function Ja(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,7,"cd-info-card",[["cardTitle","PG Status"],["class","cd-capacity-card order-md-5 order-lg-3 order-xl-5"],["contentClass","content-chart"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,5).toggle()&&a),a}),Un,Vn)),i["ɵdid"](1,49152,null,0,Bn,[],{cardTitle:[0,"cardTitle"],contentClass:[1,"contentClass"]},null),(t()(),i["ɵand"](0,[["pgStatus",2]],0,0,null,Za)),(t()(),i["ɵeld"](3,0,null,0,4,"div",[["class","pg-status-popover-wrapper"]],null,null,null,null,null)),(t()(),i["ɵeld"](4,16777216,null,null,3,"div",[["placement","bottom"],["triggers",""]],null,null,null,null,null)),i["ɵdid"](5,212992,[["pgStatusTarget",4]],0,zn.c,[zn.a,i.ElementRef,i.Renderer2,i.ViewContainerRef,U.a,Gn.a],{popover:[0,"popover"],placement:[1,"placement"],triggers:[2,"triggers"]},null),(t()(),i["ɵeld"](6,0,null,null,1,"cd-health-pie",[],null,[[null,"prepareFn"]],(function(t,e,n){var a=!0;return"prepareFn"===e&&(a=!1!==t.component.preparePgStatus(n[0],n[1])&&a),a}),ra,aa)),i["ɵdid"](7,638976,null,0,na,[Qn.a,ta.a],{data:[0,"data"],config:[1,"config"]},{prepareFn:"prepareFn"})],(function(t,e){var n=e.component;t(e,1,0,"PG Status","content-chart"),t(e,5,0,i["ɵnov"](e,2),"bottom",""),t(e,7,0,n.healthData,n.pgStatusChartConfig)}),null)}function Xa(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,11,"cd-info-group",[["groupTitle","Capacity"]],null,null,null,$n,Kn)),i["ɵdid"](1,49152,null,0,Wn,[],{groupTitle:[0,"groupTitle"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,Ya)),i["ɵdid"](3,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,Ha)),i["ɵdid"](5,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,Ua)),i["ɵdid"](7,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,Wa)),i["ɵdid"](9,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,Ja)),i["ɵdid"](11,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0,"Capacity"),t(e,3,0,n.healthData.pools),t(e,5,0,n.healthData.df),t(e,7,0,null!=(null==n.healthData.pg_info?null:null==n.healthData.pg_info.object_stats?null:n.healthData.pg_info.object_stats.num_objects)),t(e,9,0,n.healthData.pg_info),t(e,11,0,n.healthData.pg_info)}),null)}function Qa(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,10,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,9,"p",[["class","logs-link"]],null,null,null,null,null)),(t()(),i["ɵeld"](2,0,null,null,3,"i",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](4,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](5,1),(t()(),i["ɵted"](-1,null,[" See "])),(t()(),i["ɵeld"](7,0,null,null,2,"a",[["routerLink","/logs"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,8).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](8,671744,null,0,St.p,[St.m,St.a,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵted"](-1,null,["Logs"])),(t()(),i["ɵted"](-1,null,[" for more details."]))],(function(t,e){var n=t(e,5,0,e.component.icons.infoCircle);t(e,4,0,n),t(e,8,0,"/logs")}),(function(t,e){t(e,7,0,i["ɵnov"](e,8).target,i["ɵnov"](e,8).href)}))}function tr(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,Qa)),i["ɵdid"](1,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](0,null,null,0))],(function(t,e){t(e,1,0,e.component.permissions.log.read)}),null)}function er(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,7,"div",[["class","container-fluid"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Da)),i["ɵdid"](2,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Va)),i["ɵdid"](4,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Xa)),i["ɵdid"](6,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](0,[["logsLink",2]],null,0,null,tr))],(function(t,e){var n=e.component;t(e,2,0,(null==n.healthData.health?null:n.healthData.health.status)||n.healthData.mon_status||n.healthData.osd_map||n.healthData.mgr_map||null!=n.healthData.hosts||null!=n.healthData.rgw||n.healthData.fs_map||null!=n.healthData.iscsi_daemons),t(e,4,0,n.healthData.client_perf||n.healthData.scrub_status),t(e,6,0,n.healthData.pools||n.healthData.df||n.healthData.pg_info)}),null)}function nr(t){return i["ɵvid"](0,[i["ɵpid"](0,Ut,[]),i["ɵpid"](0,oa,[ia.a]),i["ɵpid"](0,sa,[ia.a]),i["ɵpid"](0,ca,[ia.a]),i["ɵpid"](0,la,[ia.a]),i["ɵpid"](0,da,[]),i["ɵpid"](0,Qn.a,[ua.a]),i["ɵpid"](0,ta.a,[ua.a]),(t()(),i["ɵand"](16777216,null,null,2,null,er)),i["ɵdid"](9,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),i["ɵpid"](131072,o.AsyncPipe,[i.ChangeDetectorRef])],(function(t,e){var n=e.component;t(e,9,0,i["ɵunv"](e,9,0,i["ɵnov"](e,10).transform(n.healthData&&n.enabledFeature$)))}),null)}class ar{constructor(t){this.refreshIntervalService=t,this.intervalList={"5 s":5e3,"10 s":1e4,"15 s":15e3,"30 s":3e4,"1 min":6e4,"3 min":18e4,"5 min":3e5},this.intervalKeys=Object.keys(this.intervalList)}ngOnInit(){this.selectedInterval=this.refreshIntervalService.getRefreshInterval()||5e3}changeRefreshInterval(t){this.refreshIntervalService.setRefreshInterval(t)}}var rr=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function or(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](3,null,["",""]))],(function(t,e){var n=e.component;t(e,1,0,n.intervalList[e.context.$implicit]),t(e,2,0,n.intervalList[e.context.$implicit])}),(function(t,e){t(e,3,0,e.context.$implicit)}))}function ir(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,13,"div",[["class","row"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,12,"div",[["class","col-12"]],null,null,null,null,null)),(t()(),i["ɵeld"](2,0,null,null,11,"div",[["class","float-right d-inline-flex"]],null,null,null,null,null)),(t()(),i["ɵeld"](3,0,null,null,1,"label",[["class","col-form-label my-0 mx-2"],["for","refreshInterval"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Refresh"])),(t()(),i["ɵeld"](5,0,null,null,8,"select",[["class","form-control custom-select"],["id","refreshInterval"],["name","refreshInterval"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"ngModelChange"],[null,"blur"]],(function(t,e,n){var a=!0,r=t.component;return"change"===e&&(a=!1!==i["ɵnov"](t,6).onChange(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,6).onTouched()&&a),"change"===e&&(a=!1!==r.changeRefreshInterval(n.target.value)&&a),"ngModelChange"===e&&(a=!1!==(r.selectedInterval=n)&&a),a}),null,null)),i["ɵdid"](6,16384,null,0,W.A,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.A]),i["ɵdid"](8,671744,null,0,W.u,[[8,null],[8,null],[8,null],[6,W.p]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),i["ɵprd"](2048,null,W.q,null,[W.u]),i["ɵdid"](10,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](11,16384,null,0,K.h,[[8,null],K.a],null,null),(t()(),i["ɵand"](16777216,null,null,1,null,or)),i["ɵdid"](13,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){var n=e.component;t(e,8,0,"refreshInterval",n.selectedInterval),t(e,13,0,n.intervalKeys)}),(function(t,e){t(e,5,0,i["ɵnov"](e,10).ngClassUntouched,i["ɵnov"](e,10).ngClassTouched,i["ɵnov"](e,10).ngClassPristine,i["ɵnov"](e,10).ngClassDirty,i["ɵnov"](e,10).ngClassValid,i["ɵnov"](e,10).ngClassInvalid,i["ɵnov"](e,10).ngClassPending,i["ɵnov"](e,11).validClass,i["ɵnov"](e,11).invalidClass)}))}class sr{constructor(){this.hasGrafana=!1}ngOnInit(){}}var cr=i["ɵcrt"]({encapsulation:0,styles:[["div[_ngcontent-%COMP%]{padding-top:20px}"]],data:{}});function lr(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,7,"tabset",[],[[2,"tab-container",null]],null,null,jn.b,jn.a)),i["ɵdid"](1,180224,null,0,Fn.e,[Fn.f,i.Renderer2,i.ElementRef],null,null),(t()(),i["ɵeld"](2,0,null,0,3,"tab",[["heading","Health"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](3,212992,null,0,Fn.b,[Fn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵeld"](4,0,null,null,1,"cd-health",[],null,null,null,nr,ya)),i["ɵdid"](5,245760,null,0,ba,[ga,ia.a,yt.a,ha.a,Le.a,ma,Qn.a,ta.a],null,null),(t()(),i["ɵeld"](6,0,null,0,1,"tab",[["heading","Statistics"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](7,212992,null,0,Fn.b,[Fn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null)],(function(t,e){t(e,3,0,"Health"),t(e,5,0),t(e,7,0,"Statistics")}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).clazz),t(e,2,0,i["ɵnov"](e,3).id,i["ɵnov"](e,3).active,i["ɵnov"](e,3).addClass),t(e,6,0,i["ɵnov"](e,7).id,i["ɵnov"](e,7).active,i["ɵnov"](e,7).addClass)}))}function dr(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-health",[],null,null,null,nr,ya)),i["ɵdid"](1,245760,null,0,ba,[ga,ia.a,yt.a,ha.a,Le.a,ma,Qn.a,ta.a],null,null)],(function(t,e){t(e,1,0)}),null)}function ur(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,"div",[],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,1,"cd-refresh-selector",[],null,null,null,ir,rr)),i["ɵdid"](2,114688,null,0,ar,[ma],null,null),(t()(),i["ɵand"](16777216,null,null,1,null,lr)),i["ɵdid"](4,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,dr)),i["ɵdid"](6,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,2,0),t(e,4,0,n.hasGrafana),t(e,6,0,!n.hasGrafana)}),null)}function gr(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-dashboard",[],null,null,null,ur,cr)),i["ɵdid"](1,114688,null,0,sr,[],null,null)],(function(t,e){t(e,1,0)}),null)}var fr=i["ɵccf"]("cd-dashboard",sr,gr,{},{},[]),pr=n("a278"),mr=n("insk"),hr=n("cUpR"),br=n("25BL"),yr=n("uIqm"),_r=n("NUGo"),Or=n("S7zO"),vr=n("DqMs"),Cr=n("/NlG");class Pr{constructor(t,e){this.cephReleaseNamePipe=t,this.summaryService=e}ngOnInit(){const t=this.summaryService.subscribe(e=>{if(!e)return;const n=this.cephReleaseNamePipe.transform(e.version);this.docsUrl=`http://docs.ceph.com/docs/${n}/mgr/orchestrator/`,setTimeout(()=>{t.unsubscribe()},0)})}}var Mr=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function xr(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,5,"cd-alert-panel",[["type","info"]],null,null,null,vr.b,vr.a)),i["ɵdid"](1,114688,null,0,Cr.a,[ia.a],{type:[0,"type"]},null),(t()(),i["ɵted"](-1,0,["Orchestrator is not available. Please consult the "])),(t()(),i["ɵeld"](3,0,null,0,1,"a",[["target","_blank"]],[[8,"href",4]],null,null,null,null)),(t()(),i["ɵted"](-1,null,["documentation"])),(t()(),i["ɵted"](-1,0,[" on how to configure and enable the functionality."]))],(function(t,e){t(e,1,0,"info")}),(function(t,e){t(e,3,0,i["ɵinlineInterpolate"](1,"",e.component.docsUrl,""))}))}let wr=(()=>{class t{constructor(t){this.http=t,this.url="api/orchestrator"}status(){return this.http.get(`${this.url}/status`)}identifyDevice(t,e,n){return this.http.post(`${this.url}/identify_device`,{hostname:t,device:e,duration:n})}inventoryList(t){const e=t?{params:(new J.h).set("hostname",t)}:{};return this.http.get(`${this.url}/inventory`,e)}inventoryDeviceList(t){return this.inventoryList(t).pipe(Object(bn.a)(t=>{const e=$.flatMap(t,t=>t.devices.map(e=>(e.hostname=t.name,e.uid=e.device_id?e.device_id:`${e.hostname}-${e.path}`,e)));return Object(fn.a)(e)}))}}return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t(i["ɵɵinject"](J.c))},token:t,providedIn:me.a}),t})();var Tr=n("Rf2I"),Sr=n("x38r"),kr=n("vCyI");class Ir{constructor(t,e,n,a,r,o){this.authStorageService=t,this.dimlessBinary=e,this.i18n=n,this.modalService=a,this.notificationService=r,this.orchService=o,this.devices=[],this.hiddenColumns=[],this.filterColumns=["hostname","human_readable_type","available","sys_api.vendor","sys_api.model","sys_api.size"],this.selectionType=void 0,this.filterChange=new i.EventEmitter,this.fetchInventory=new i.EventEmitter,this.icons=ut.a,this.columns=[],this.selection=new kr.a}ngOnInit(){this.permission=this.authStorageService.getPermissions().osd,this.tableActions=[{permission:"update",icon:ut.a.show,click:()=>this.identifyDevice(),name:this.i18n("Identify"),disable:()=>!this.selection.hasSingleSelection,canBePrimary:t=>!t.hasSingleSelection,visible:()=>$.isString(this.selectionType)}];const t=[{name:this.i18n("Hostname"),prop:"hostname",flexGrow:1},{name:this.i18n("Device path"),prop:"path",flexGrow:1},{name:this.i18n("Type"),prop:"human_readable_type",flexGrow:1,cellTransformation:Sr.a.badge,customTemplateConfig:{map:{hdd:{value:"HDD",class:"badge-hdd"},ssd:{value:"SSD",class:"badge-ssd"}}}},{name:this.i18n("Available"),prop:"available",flexGrow:1},{name:this.i18n("Vendor"),prop:"sys_api.vendor",flexGrow:1},{name:this.i18n("Model"),prop:"sys_api.model",flexGrow:1},{name:this.i18n("Size"),prop:"sys_api.size",flexGrow:1,pipe:this.dimlessBinary},{name:this.i18n("OSDs"),prop:"osd_ids",flexGrow:1,cellTransformation:Sr.a.badge,customTemplateConfig:{class:"badge-dark",prefix:"osd."}}];this.columns=t.filter(t=>!this.hiddenColumns.includes(t.prop)),$.forEach(this.filterColumns,t=>{const e=$.find(this.columns,{prop:t});e&&(e.filterable=!0)}),this.fetchInventory.observers.length>0&&(this.fetchInventorySub=this.table.fetchData.subscribe(()=>{this.fetchInventory.emit()}))}ngOnDestroy(){this.fetchInventorySub&&this.fetchInventorySub.unsubscribe()}onColumnFiltersChanged(t){this.filterChange.emit(t)}updateSelection(t){this.selection=t}identifyDevice(){const t=this.selection.first(),e=t.hostname,n=t.path||t.device_id;this.modalService.show(Tr.a,{initialState:{titleText:this.i18n("Identify device {{device}}",{device:n}),message:this.i18n("Please enter the duration how long to blink the LED."),fields:[{type:"select",name:"duration",value:300,required:!0,options:[{text:this.i18n("1 minute"),value:60},{text:this.i18n("2 minutes"),value:120},{text:this.i18n("5 minutes"),value:300},{text:this.i18n("10 minutes"),value:600},{text:this.i18n("15 minutes"),value:900}]}],submitButtonText:this.i18n("Execute"),onSubmit:t=>{this.orchService.identifyDevice(e,n,t.duration).subscribe(()=>{this.notificationService.show(be.a.success,this.i18n("Identifying '{{device}}' started on host '{{hostname}}'",{hostname:e,device:n}))})}}})}}var Nr=i["ɵcrt"]({encapsulation:0,styles:[[".filter[_ngcontent-%COMP%]{padding-right:8px}.fa-stack[_ngcontent-%COMP%]{font-size:.79rem}.fa-stack[_ngcontent-%COMP%]   .fa-stack-1x[_ngcontent-%COMP%]{margin-left:8px;margin-top:5px}"]],data:{}});function Rr(t){return i["ɵvid"](0,[i["ɵqud"](402653184,1,{table:0}),(t()(),i["ɵeld"](1,0,null,null,3,"cd-table",[["columnMode","flex"],["identifier","uid"]],null,[[null,"updateSelection"],[null,"columnFiltersChanged"]],(function(t,e,n){var a=!0,r=t.component;return"updateSelection"===e&&(a=!1!==r.updateSelection(n)&&a),"columnFiltersChanged"===e&&(a=!1!==r.onColumnFiltersChanged(n)&&a),a}),br.b,br.a)),i["ɵdid"](2,2867200,[[1,4]],0,yr.a,[i.NgZone,i.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],searchField:[3,"searchField"],autoReload:[4,"autoReload"],identifier:[5,"identifier"],forceIdentifier:[6,"forceIdentifier"],selectionType:[7,"selectionType"]},{updateSelection:"updateSelection",columnFiltersChanged:"columnFiltersChanged"}),(t()(),i["ɵeld"](3,0,null,1,1,"cd-table-actions",[["class","table-actions"]],null,null,null,_r.b,_r.a)),i["ɵdid"](4,114688,null,0,Or.a,[],{permission:[0,"permission"],selection:[1,"selection"],tableActions:[2,"tableActions"]},null)],(function(t,e){var n=e.component;t(e,2,0,n.devices,n.columns,"flex",!1,!1,"uid",!0,n.selectionType),t(e,4,0,n.permission,n.selection,n.tableActions)}),null)}class Ar{constructor(t){this.orchService=t,this.icons=ut.a,this.hasOrchestrator=!1,this.devices=[]}ngOnInit(){this.orchService.status().subscribe(t=>{this.hasOrchestrator=t.available,t.available&&this.getInventory()})}ngOnChanges(){this.hasOrchestrator&&(this.devices=[],this.getInventory())}getInventory(){""!==this.hostname&&this.orchService.inventoryDeviceList(this.hostname).subscribe(t=>{this.devices=t},()=>{this.devices=[]})}refresh(){this.getInventory()}}var Er=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Dr(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-orchestrator-doc-panel",[],null,null,null,xr,Mr)),i["ɵdid"](1,114688,null,0,Pr,[bt.a,ft.a],null,null)],(function(t,e){t(e,1,0)}),null)}function Lr(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,7,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,1,"legend",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Devices"])),(t()(),i["ɵeld"](3,0,null,null,4,"div",[["class","row"]],null,null,null,null,null)),(t()(),i["ɵeld"](4,0,null,null,3,"div",[["class","col-md-12"]],null,null,null,null,null)),(t()(),i["ɵeld"](5,0,null,null,2,"cd-inventory-devices",[["selectionType","single"]],null,[[null,"fetchInventory"]],(function(t,e,n){var a=!0;return"fetchInventory"===e&&(a=!1!==t.component.refresh()&&a),a}),Rr,Nr)),i["ɵdid"](6,245760,null,0,Ir,[yt.a,Qn.a,ia.a,Mt.b,gt.a,wr],{devices:[0,"devices"],hiddenColumns:[1,"hiddenColumns"],selectionType:[2,"selectionType"]},{fetchInventory:"fetchInventory"}),i["ɵpad"](7,1)],(function(t,e){var n=e.component,a=n.devices,r=void 0===n.hostname?i["ɵEMPTY_ARRAY"]:t(e,7,0,"hostname");t(e,6,0,a,r,"single")}),null)}function qr(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,Dr)),i["ɵdid"](1,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Lr)),i["ɵdid"](3,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0,!n.hasOrchestrator),t(e,3,0,n.hasOrchestrator)}),null)}function jr(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-inventory",[],null,null,null,qr,Er)),i["ɵdid"](1,638976,null,0,Ar,[wr],null,null)],(function(t,e){t(e,1,0)}),null)}var Fr=i["ɵccf"]("cd-inventory",Ar,jr,{hostname:"hostname"},{},[]);let zr=(()=>{class t{constructor(t){this.http=t,this.url="api/service"}list(t){const e=t?{params:(new J.h).set("service_name",t)}:{};return this.http.get(this.url,e)}getDaemons(t){return this.http.get(`${this.url}/${t}/daemons`)}}return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t(i["ɵɵinject"](J.c))},token:t,providedIn:me.a}),t})(),Gr=(()=>{class t{constructor(){}calculateAdditionalData(t){if(!t.life_expectancy_min||!t.life_expectancy_max)return t.state="unknown",t;const e=t=>!!Number.parseFloat(t),n=(t,n)=>t&&n&&e(t)&&e(n)?oe.duration(oe(t).diff(oe(n))).asWeeks():null,a=oe.duration(oe(oe.now()).diff(oe(t.life_expectancy_stamp))).asWeeks(),r=n(t.life_expectancy_max,t.life_expectancy_stamp),o=n(t.life_expectancy_min,t.life_expectancy_stamp);return t.state=a>1?"stale":null!==r&&r<=2?"bad":null!==o&&o<=4?"warning":"good",t.life_expectancy_weeks={max:null!==r?Math.round(r):null,min:null!==o?Math.round(o):null},t}readable(t){return t.readableDaemons=t.daemons.join(" "),t}prepareDevice(t){return this.readable(this.calculateAdditionalData(t))}}return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t},token:t,providedIn:"root"}),t})(),Br=(()=>{class t{constructor(t,e){this.http=t,this.deviceService=e,this.baseURL="api/host"}list(){return this.http.get(this.baseURL)}create(t){return this.http.post(this.baseURL,{hostname:t},{observe:"response"})}delete(t){return this.http.delete(`${this.baseURL}/${t}`,{observe:"response"})}getDevices(t){return this.http.get(`${this.baseURL}/${t}/devices`).pipe(Object(pe.a)(t=>t.map(t=>this.deviceService.prepareDevice(t))))}getSmartData(t){return this.http.get(`${this.baseURL}/${t}/smart`)}getDaemons(t){return this.http.get(`${this.baseURL}/${t}/daemons`)}}return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t(i["ɵɵinject"](J.c),i["ɵɵinject"](Gr))},token:t,providedIn:me.a}),t})();class Vr{constructor(t,e,n,a){this.i18n=t,this.hostService=e,this.cephServiceService=n,this.orchService=a,this.daemons=[],this.columns=[],this.hasOrchestrator=!1}ngOnInit(){this.columns=[{name:this.i18n("Hostname"),prop:"hostname",flexGrow:1,filterable:!0},{name:this.i18n("Daemon type"),prop:"daemon_type",flexGrow:1,filterable:!0},{name:this.i18n("Daemon ID"),prop:"daemon_id",flexGrow:1,filterable:!0},{name:this.i18n("Container ID"),prop:"container_id",flexGrow:3,filterable:!0,cellTransformation:Sr.a.truncate,customTemplateConfig:{length:12}},{name:this.i18n("Container Image name"),prop:"container_image_name",flexGrow:3,filterable:!0},{name:this.i18n("Container Image ID"),prop:"container_image_id",flexGrow:3,filterable:!0,cellTransformation:Sr.a.truncate,customTemplateConfig:{length:12}},{name:this.i18n("Version"),prop:"version",flexGrow:1,filterable:!0},{name:this.i18n("Status"),prop:"status",flexGrow:1,filterable:!0},{name:this.i18n("Status Description"),prop:"status_desc",flexGrow:1,filterable:!0},{name:this.i18n("Last Refreshed"),prop:"last_refresh",flexGrow:2}],this.orchService.status().subscribe(t=>{this.hasOrchestrator=t.available})}ngOnChanges(){$.isUndefined(this.daemonsTable)||this.daemonsTable.reloadData()}ngAfterViewInit(){this.daemonsTableTplsSub=this.daemonsTableTpls.changes.subscribe(t=>{this.daemonsTable=t.first})}ngOnDestroy(){this.daemonsTableTplsSub&&this.daemonsTableTplsSub.unsubscribe()}getDaemons(t){let e;if(this.hostname)e=this.hostService.getDaemons(this.hostname);else{if(!this.serviceName)return void(this.daemons=[]);e=this.cephServiceService.getDaemons(this.serviceName)}e.subscribe(t=>{this.daemons=t},()=>{this.daemons=[],t.error()})}}var Yr=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Hr(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-orchestrator-doc-panel",[],null,null,null,xr,Mr)),i["ɵdid"](1,114688,null,0,Pr,[bt.a,ft.a],null,null)],(function(t,e){t(e,1,0)}),null)}function Ur(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-table",[["columnMode","flex"]],null,[[null,"fetchData"]],(function(t,e,n){var a=!0;return"fetchData"===e&&(a=!1!==t.component.getDaemons(n)&&a),a}),br.b,br.a)),i["ɵdid"](1,2867200,[[1,4],["daemonsTable",4]],0,yr.a,[i.NgZone,i.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],autoReload:[3,"autoReload"]},{fetchData:"fetchData"})],(function(t,e){var n=e.component;t(e,1,0,n.daemons,n.columns,"flex",6e4)}),null)}function Wr(t){return i["ɵvid"](0,[i["ɵqud"](671088640,1,{daemonsTableTpls:1}),(t()(),i["ɵand"](16777216,null,null,1,null,Hr)),i["ɵdid"](2,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Ur)),i["ɵdid"](4,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,2,0,!n.hasOrchestrator),t(e,4,0,n.hasOrchestrator)}),null)}var Kr=n("sLuX"),$r=n("FSuO"),Zr=n("QC43"),Jr=n("XFyV");let Xr=(()=>{class t{constructor(t,e,n){this.http=t,this.i18n=e,this.deviceService=n,this.path="api/osd",this.osdRecvSpeedModalPriorities={KNOWN_PRIORITIES:[{name:null,text:this.i18n("-- Select the priority --"),values:{osd_max_backfills:null,osd_recovery_max_active:null,osd_recovery_max_single_start:null,osd_recovery_sleep:null}},{name:"low",text:this.i18n("Low"),values:{osd_max_backfills:1,osd_recovery_max_active:1,osd_recovery_max_single_start:1,osd_recovery_sleep:.5}},{name:"default",text:this.i18n("Default"),values:{osd_max_backfills:1,osd_recovery_max_active:3,osd_recovery_max_single_start:1,osd_recovery_sleep:0}},{name:"high",text:this.i18n("High"),values:{osd_max_backfills:4,osd_recovery_max_active:4,osd_recovery_max_single_start:4,osd_recovery_sleep:0}}]}}create(t){const e={method:"drive_groups",data:t,tracking_id:$.join($.map(t,"service_id"),", ")};return this.http.post(this.path,e,{observe:"response"})}getList(){return this.http.get(`${this.path}`)}getDetails(t){return this.http.get(`${this.path}/${t}`)}getSmartData(t){return this.http.get(`${this.path}/${t}/smart`)}scrub(t,e){return this.http.post(`${this.path}/${t}/scrub?deep=${e}`,null)}getFlags(){return this.http.get(`${this.path}/flags`)}updateFlags(t){return this.http.put(`${this.path}/flags`,{flags:t})}markOut(t){return this.http.post(`${this.path}/${t}/mark_out`,null)}markIn(t){return this.http.post(`${this.path}/${t}/mark_in`,null)}markDown(t){return this.http.post(`${this.path}/${t}/mark_down`,null)}reweight(t,e){return this.http.post(`${this.path}/${t}/reweight`,{weight:e})}update(t,e){return this.http.put(`${this.path}/${t}`,{device_class:e})}markLost(t){return this.http.post(`${this.path}/${t}/mark_lost`,null)}purge(t){return this.http.post(`${this.path}/${t}/purge`,null)}destroy(t){return this.http.post(`${this.path}/${t}/destroy`,null)}delete(t,e){const n=e?{params:(new J.h).set("force","true")}:{};return n.observe="response",this.http.delete(`${this.path}/${t}`,n)}safeToDestroy(t){return this.http.get(`${this.path}/safe_to_destroy?ids=${t}`)}safeToDelete(t){return this.http.get(`${this.path}/safe_to_delete?svc_ids=${t}`)}getDevices(t){return this.http.get(`${this.path}/${t}/devices`).pipe(Object(pe.a)(t=>t.map(t=>this.deviceService.prepareDevice(t))))}}return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t(i["ɵɵinject"](J.c),i["ɵɵinject"](ia.a),i["ɵɵinject"](Gr))},token:t,providedIn:me.a}),t})();class Qr{constructor(t,e,n){this.i18n=t,this.osdService=e,this.hostService=n,this.osdId=null,this.hostname=null,this.loading=!1,this.incompatible=!1,this.error=!1,this.data={}}isSmartError(t){return void 0!==$.get(t,"error")}isNvmeSmartData(t){return"nvme"===$.get(t,"device.protocol","").toLowerCase()}isHddSmartData(t){return"ata"===$.get(t,"device.protocol","").toLowerCase()}fetchData(t){const e={};$.each(t,(t,n)=>{if(this.isSmartError(t)){let a="";return a=this.i18n(-22===t.smartctl_error_code?"Smartctl has received an unknown argument (error code {{code}}). You may be using an incompatible version of smartmontools. Version >= 7.0 of smartmontools is required to successfully retrieve data.":"An error with error code {{code}} occurred.",{code:t.smartctl_error_code}),void(e[n]={error:t.error,smartctl_error_code:t.smartctl_error_code,smartctl_output:t.smartctl_output,userMessage:a,device:t.dev,identifier:t.nvme_vendor})}1!==t.json_format_version[0]?this.incompatible=!0:this.isHddSmartData(t)?e[n]=this.extractHddData(t):this.isNvmeSmartData(t)&&(e[n]=this.extractNvmeData(t))}),this.data=e,this.loading=!1}extractNvmeData(t){return{info:$.omitBy(t,(t,e)=>["nvme_smart_health_information_log"].includes(e)),smart:{nvmeData:t.nvme_smart_health_information_log},device:t.device.name,identifier:t.serial_number}}extractHddData(t){const e=$.omitBy(t,(t,e)=>["ata_smart_attributes","ata_smart_selective_self_test_log","ata_smart_data"].includes(e));return{info:e,smart:{attributes:t.ata_smart_attributes,data:t.ata_smart_data},device:e.device.name,identifier:e.serial_number}}updateData(){this.loading=!0,null!==this.osdId?this.osdService.getSmartData(this.osdId).subscribe(this.fetchData.bind(this),t=>{t.preventDefault(),this.error=t,this.loading=!1}):null!==this.hostname&&this.hostService.getSmartData(this.hostname).subscribe(this.fetchData.bind(this),t=>{t.preventDefault(),this.error=t,this.loading=!1})}ngOnInit(){this.smartDataColumns=[{prop:"id",name:this.i18n("ID")},{prop:"name",name:this.i18n("Name")},{prop:"raw.value",name:this.i18n("Raw")},{prop:"thresh",name:this.i18n("Threshold")},{prop:"value",name:this.i18n("Value")},{prop:"when_failed",name:this.i18n("When Failed")},{prop:"worst",name:this.i18n("Worst")}]}ngOnChanges(t){this.data={},t.osdId?this.osdId=t.osdId.currentValue:t.hostname&&(this.hostname=t.hostname.currentValue),this.updateData()}}var to=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function eo(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-alert-panel",[["type","error"]],null,null,null,vr.b,vr.a)),i["ɵdid"](1,114688,null,0,Cr.a,[ia.a],{type:[0,"type"]},null),(t()(),i["ɵted"](-1,0,["Failed to retrieve SMART data."]))],(function(t,e){t(e,1,0,"error")}),null)}function no(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-alert-panel",[["type","warning"]],null,null,null,vr.b,vr.a)),i["ɵdid"](1,114688,null,0,Cr.a,[ia.a],{type:[0,"type"]},null),(t()(),i["ɵted"](-1,0,["The data received has the JSON format version 2.x and is currently incompatible with the dashboard."]))],(function(t,e){t(e,1,0,"warning")}),null)}function ao(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-alert-panel",[["type","info"]],null,null,null,vr.b,vr.a)),i["ɵdid"](1,114688,null,0,Cr.a,[ia.a],{type:[0,"type"]},null),(t()(),i["ɵted"](-1,0,["No SMART data available."]))],(function(t,e){t(e,1,0,"info")}),null)}function ro(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,2,"cd-alert-panel",[["id","alert-error"],["type","warning"]],null,null,null,vr.b,vr.a)),i["ɵdid"](2,114688,null,0,Cr.a,[ia.a],{type:[0,"type"]},null),(t()(),i["ɵted"](3,0,["",""]))],(function(t,e){t(e,2,0,"warning")}),(function(t,e){t(e,3,0,e.parent.context.$implicit.value.userMessage)}))}function oo(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,2,"cd-alert-panel",[["id","alert-self-test-passed"],["size","slim"],["title","SMART overall-health self-assessment test result"],["type","info"]],null,null,null,vr.b,vr.a)),i["ɵdid"](2,114688,null,0,Cr.a,[ia.a],{title:[0,"title"],type:[1,"type"],size:[2,"size"]},null),(t()(),i["ɵted"](-1,0,["passed"]))],(function(t,e){t(e,2,0,"SMART overall-health self-assessment test result","info","slim")}),null)}function io(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-alert-panel",[["id","alert-self-test-failed"],["size","slim"],["title","SMART overall-health self-assessment test result"],["type","warning"]],null,null,null,vr.b,vr.a)),i["ɵdid"](1,114688,null,0,Cr.a,[ia.a],{title:[0,"title"],type:[1,"type"],size:[2,"size"]},null),(t()(),i["ɵted"](-1,0,["failed"]))],(function(t,e){t(e,1,0,"SMART overall-health self-assessment test result","warning","slim")}),null)}function so(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-table",[["updateSelectionOnRefresh","never"]],null,null,null,br.b,br.a)),i["ɵdid"](1,2867200,null,0,yr.a,[i.NgZone,i.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],updateSelectionOnRefresh:[2,"updateSelectionOnRefresh"]},null)],(function(t,e){t(e,1,0,e.parent.parent.context.$implicit.value.smart.attributes.table,e.component.smartDataColumns,"never")}),null)}function co(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-table-key-value",[["updateSelectionOnRefresh","never"]],null,null,null,Kr.b,Kr.a)),i["ɵdid"](1,638976,null,0,$r.a,[se.a],{data:[0,"data"],renderObjects:[1,"renderObjects"]},null)],(function(t,e){t(e,1,0,e.parent.parent.context.$implicit.value.smart.nvmeData,!0)}),null)}function lo(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-alert-panel",[["type","info"]],null,null,null,vr.b,vr.a)),i["ɵdid"](1,114688,null,0,Cr.a,[ia.a],{type:[0,"type"]},null),(t()(),i["ɵted"](-1,0,["No SMART data available for this device."]))],(function(t,e){t(e,1,0,"info")}),null)}function uo(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,oo)),i["ɵdid"](1,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"],ngIfElse:[1,"ngIfElse"]},null),(t()(),i["ɵand"](0,[["selfTestFailed",2]],null,0,null,io)),(t()(),i["ɵeld"](3,0,null,null,13,"tabset",[],[[2,"tab-container",null]],null,null,jn.b,jn.a)),i["ɵdid"](4,180224,null,0,Fn.e,[Fn.f,i.Renderer2,i.ElementRef],null,null),(t()(),i["ɵeld"](5,0,null,0,3,"tab",[["heading","Device Information"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](6,212992,null,0,Fn.b,[Fn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵeld"](7,0,null,null,1,"cd-table-key-value",[],null,null,null,Kr.b,Kr.a)),i["ɵdid"](8,638976,null,0,$r.a,[se.a],{data:[0,"data"],renderObjects:[1,"renderObjects"]},null),(t()(),i["ɵeld"](9,0,null,0,7,"tab",[["heading","SMART"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](10,212992,null,0,Fn.b,[Fn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,so)),i["ɵdid"](12,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,co)),i["ɵdid"](14,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,lo)),i["ɵdid"](16,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){t(e,1,0,e.parent.context.$implicit.value.info.smart_status.passed,i["ɵnov"](e,2)),t(e,6,0,"Device Information"),t(e,8,0,e.parent.context.$implicit.value.info,!0),t(e,10,0,"SMART"),t(e,12,0,e.parent.context.$implicit.value.smart.attributes),t(e,14,0,e.parent.context.$implicit.value.smart.nvmeData),t(e,16,0,!e.parent.context.$implicit.value.smart.attributes&&!e.parent.context.$implicit.value.smart.nvmeData)}),(function(t,e){t(e,3,0,i["ɵnov"](e,4).clazz),t(e,5,0,i["ɵnov"](e,6).id,i["ɵnov"](e,6).active,i["ɵnov"](e,6).addClass),t(e,9,0,i["ɵnov"](e,10).id,i["ɵnov"](e,10).active,i["ɵnov"](e,10).addClass)}))}function go(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,"tabset",[],[[2,"tab-container",null]],null,null,jn.b,jn.a)),i["ɵdid"](1,180224,null,0,Fn.e,[Fn.f,i.Renderer2,i.ElementRef],null,null),(t()(),i["ɵeld"](2,0,null,0,4,"tab",[],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](3,212992,null,0,Fn.b,[Fn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,ro)),i["ɵdid"](5,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"],ngIfElse:[1,"ngIfElse"]},null),(t()(),i["ɵand"](0,[["noError",2]],null,0,null,uo))],(function(t,e){t(e,3,0,e.context.$implicit.value.device+" ("+e.context.$implicit.value.identifier+")"),t(e,5,0,e.context.$implicit.value.error,i["ɵnov"](e,6))}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).clazz),t(e,2,0,i["ɵnov"](e,3).id,i["ɵnov"](e,3).active,i["ɵnov"](e,3).addClass)}))}function fo(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,null,null,null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,2,null,ao)),i["ɵdid"](2,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),i["ɵpid"](0,o.KeyValuePipe,[i.KeyValueDiffers]),(t()(),i["ɵand"](16777216,null,null,2,null,go)),i["ɵdid"](5,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),i["ɵpid"](0,o.KeyValuePipe,[i.KeyValueDiffers]),(t()(),i["ɵand"](0,null,null,0))],(function(t,e){var n=e.component;t(e,2,0,!i["ɵunv"](e,2,0,i["ɵnov"](e,3).transform(n.data)).length),t(e,5,0,i["ɵunv"](e,5,0,i["ɵnov"](e,6).transform(n.data)))}),null)}function po(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,null,null,null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,eo)),i["ɵdid"](2,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,no)),i["ɵdid"](4,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,fo)),i["ɵdid"](6,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](0,null,null,0))],(function(t,e){var n=e.component;t(e,2,0,n.error),t(e,4,0,n.incompatible),t(e,6,0,!n.error&&!n.incompatible)}),null)}function mo(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-loading-panel",[],null,null,null,Zr.b,Zr.a)),i["ɵdid"](1,49152,null,0,Jr.a,[],null,null),(t()(),i["ɵted"](-1,0,["SMART data is loading."]))],null,null)}function ho(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,po)),i["ɵdid"](1,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"],ngIfElse:[1,"ngIfElse"]},null),(t()(),i["ɵand"](0,[["isLoading",2]],null,0,null,mo))],(function(t,e){t(e,1,0,!e.component.loading,i["ɵnov"](e,2))}),null)}class bo{constructor(t,e,n,a){this.hostService=t,this.i18n=e,this.datePipe=n,this.osdService=a,this.hostname="",this.osdId=null,this.devices=null,this.columns=[],this.translationMapping={"=1":"# week",other:"# weeks"}}ngOnInit(){const t=t=>this.devices=t;this.hostname?this.hostService.getDevices(this.hostname).subscribe(t):null!==this.osdId&&this.osdService.getDevices(this.osdId).subscribe(t),this.columns=[{prop:"devid",name:this.i18n("Device ID"),minWidth:200},{prop:"state",name:this.i18n("State of Health"),flexGrow:1,cellTransformation:Sr.a.badge,customTemplateConfig:{map:{good:{value:this.i18n("Good"),class:"badge-success"},warning:{value:this.i18n("Warning"),class:"badge-warning"},bad:{value:this.i18n("Bad"),class:"badge-danger"},stale:{value:this.i18n("Stale"),class:"badge-info"},unknown:{value:this.i18n("Unknown"),class:"badge-dark"}}}},{prop:"life_expectancy_weeks",name:this.i18n("Life Expectancy"),cellTemplate:this.lifeExpectancyTemplate},{prop:"life_expectancy_stamp",name:this.i18n("Prediction Creation Date"),cellTemplate:this.lifeExpectancyTimestampTemplate,pipe:this.datePipe,isHidden:!0},{prop:"location",name:this.i18n("Device Name"),cellTemplate:this.locationTemplate},{prop:"readableDaemons",name:this.i18n("Daemons")}]}}var yo=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function _o(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-table",[],null,null,null,br.b,br.a)),i["ɵdid"](1,2867200,null,0,yr.a,[i.NgZone,i.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"]},null)],(function(t,e){var n=e.component;t(e,1,0,n.devices,n.columns)}),null)}function Oo(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-alert-panel",[["type","warning"]],null,null,null,vr.b,vr.a)),i["ɵdid"](1,114688,null,0,Cr.a,[ia.a],{type:[0,"type"]},null),(t()(),i["ɵted"](-1,0,["Neither hostname nor OSD ID given"]))],(function(t,e){t(e,1,0,"warning")}),null)}function vo(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](1,null,["",""]))],null,(function(t,e){t(e,1,0,e.context.$implicit.dev)}))}function Co(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,vo)),i["ɵdid"](1,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵand"](0,null,null,0))],(function(t,e){t(e,1,0,e.context.value)}),null)}function Po(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](1,null,["> ",""])),i["ɵppd"](2,2)],null,(function(t,e){var n=e.component,a=i["ɵunv"](e,1,0,t(e,2,0,i["ɵnov"](e.parent.parent,0),e.parent.context.value.min,n.translationMapping));t(e,1,0,a)}))}function Mo(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](1,null,["< ",""])),i["ɵppd"](2,2)],null,(function(t,e){var n=e.component,a=i["ɵunv"](e,1,0,t(e,2,0,i["ɵnov"](e.parent.parent,0),e.parent.context.value.max,n.translationMapping));t(e,1,0,a)}))}function xo(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](1,null,[""," to ",""])),i["ɵppd"](2,2)],null,(function(t,e){var n=e.component,a=e.parent.context.value.min,r=i["ɵunv"](e,1,1,t(e,2,0,i["ɵnov"](e.parent.parent,0),e.parent.context.value.max,n.translationMapping));t(e,1,0,a,r)}))}function wo(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,Po)),i["ɵdid"](1,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Mo)),i["ɵdid"](3,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,xo)),i["ɵdid"](5,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](0,null,null,0))],(function(t,e){t(e,1,0,e.context.value.min&&!e.context.value.max),t(e,3,0,e.context.value.max&&!e.context.value.min),t(e,5,0,e.context.value.max&&e.context.value.min)}),null)}function To(t){return i["ɵvid"](0,[(t()(),i["ɵted"](0,null,[" ","\n"]))],null,(function(t,e){t(e,0,0,e.context.value)}))}function So(t){return i["ɵvid"](0,[i["ɵpid"](0,o.I18nPluralPipe,[o.NgLocalization]),i["ɵqud"](402653184,1,{locationTemplate:0}),i["ɵqud"](402653184,2,{lifeExpectancyTemplate:0}),i["ɵqud"](402653184,3,{lifeExpectancyTimestampTemplate:0}),(t()(),i["ɵand"](16777216,null,null,1,null,_o)),i["ɵdid"](5,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Oo)),i["ɵdid"](7,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](0,[[1,2],["deviceLocation",2]],null,0,null,Co)),(t()(),i["ɵand"](0,[[2,2],["lifeExpectancy",2]],null,0,null,wo)),(t()(),i["ɵand"](0,[[3,2],["lifeExpectancyTimestamp",2]],null,0,null,To))],(function(t,e){var n=e.component;t(e,5,0,n.hostname||null!==n.osdId),t(e,7,0,""===n.hostname&&null===n.osdId)}),null)}n("jKX/");class ko{get selectedHostname(){return this.selection.hasSelection?this.selection.first().hostname:null}constructor(){}}var Io=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function No(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"tab",[["heading","Inventory"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](1,212992,null,0,Fn.b,[Fn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵeld"](2,0,null,null,1,"cd-inventory",[],null,null,null,qr,Er)),i["ɵdid"](3,638976,null,0,Ar,[wr],{hostname:[0,"hostname"]},null)],(function(t,e){var n=e.component;t(e,1,0,"Inventory"),t(e,3,0,n.selectedHostname)}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).id,i["ɵnov"](e,1).active,i["ɵnov"](e,1).addClass)}))}function Ro(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"tab",[["heading","Daemons"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](1,212992,null,0,Fn.b,[Fn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵeld"](2,0,null,null,1,"cd-service-daemon-list",[],null,null,null,Wr,Yr)),i["ɵdid"](3,4964352,null,0,Vr,[ia.a,Br,zr,wr],{hostname:[0,"hostname"]},null)],(function(t,e){var n=e.component;t(e,1,0,"Daemons"),t(e,3,0,n.selectedHostname)}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).id,i["ɵnov"](e,1).active,i["ɵnov"](e,1).addClass)}))}function Ao(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"tab",[["heading","Performance Details"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](1,212992,null,0,Fn.b,[Fn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵeld"](2,0,null,null,1,"cd-grafana",[["grafanaStyle","three"],["uid","rtOg0AiWz"]],null,null,null,pr.b,pr.a)),i["ɵdid"](3,638976,null,0,mr.a,[ft.a,hr.b,$t.a,bt.a,ia.a],{grafanaPath:[0,"grafanaPath"],grafanaStyle:[1,"grafanaStyle"],uid:[2,"uid"]},null)],(function(t,e){var n=e.component;t(e,1,0,"Performance Details"),t(e,3,0,"host-details?var-ceph_hosts="+n.selectedHostname,"three","rtOg0AiWz")}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).id,i["ɵnov"](e,1).active,i["ɵnov"](e,1).addClass)}))}function Eo(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-smart-list",[],null,null,null,ho,to)),i["ɵdid"](1,638976,null,0,Qr,[ia.a,Xr,Br],{hostname:[0,"hostname"]},null)],(function(t,e){t(e,1,0,e.component.selectedHostname)}),null)}function Do(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,15,"tabset",[],[[2,"tab-container",null]],null,null,jn.b,jn.a)),i["ɵdid"](1,180224,[[1,4]],0,Fn.e,[Fn.f,i.Renderer2,i.ElementRef],null,null),(t()(),i["ɵeld"](2,0,null,0,3,"tab",[["heading","Devices"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](3,212992,null,0,Fn.b,[Fn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵeld"](4,0,null,null,1,"cd-device-list",[],null,null,null,So,yo)),i["ɵdid"](5,114688,null,0,bo,[Br,ia.a,o.DatePipe,Xr],{hostname:[0,"hostname"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,No)),i["ɵdid"](7,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,Ro)),i["ɵdid"](9,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,Ao)),i["ɵdid"](11,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](12,0,null,0,3,"tab",[["heading","Device health"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](13,212992,null,0,Fn.b,[Fn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Eo)),i["ɵdid"](15,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"],ngIfElse:[1,"ngIfElse"]},null)],(function(t,e){var n=e.component;t(e,3,0,"Devices"),t(e,5,0,n.selection.first().hostname),t(e,7,0,n.permissions.hosts.read),t(e,9,0,n.permissions.hosts.read),t(e,11,0,n.permissions.grafana.read),t(e,13,0,"Device health"),t(e,15,0,n.selectedHostname,i["ɵnov"](e.parent,3))}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).clazz),t(e,2,0,i["ɵnov"](e,3).id,i["ɵnov"](e,3).active,i["ɵnov"](e,3).addClass),t(e,12,0,i["ɵnov"](e,13).id,i["ɵnov"](e,13).active,i["ɵnov"](e,13).addClass)}))}function Lo(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-alert-panel",[["type","error"]],null,null,null,vr.b,vr.a)),i["ɵdid"](1,114688,null,0,Cr.a,[ia.a],{type:[0,"type"]},null),(t()(),i["ɵted"](-1,0,["No hostname found."]))],(function(t,e){t(e,1,0,"error")}),null)}function qo(t){return i["ɵvid"](0,[i["ɵqud"](671088640,1,{tabsetChild:0}),(t()(),i["ɵand"](16777216,null,null,1,null,Do)),i["ɵdid"](2,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](0,[["noHostname",2]],null,0,null,Lo))],(function(t,e){t(e,2,0,e.component.selection.hasSingleSelection)}),null)}var jo=n("EgGo"),Fo=n("0+/T"),zo=n("kvvV"),Go=n("85J/");class Bo{constructor(t){this.bsModalRef=t}ngOnInit(){}onSubmit(){this.bsModalRef.hide()}}let Vo=(()=>{class t{constructor(t,e){this.orchService=t,this.modalService=e}checkOrchestratorOrModal(t,e,n){this.orchService.status().subscribe(a=>{a.available?n():this.modalService.show(Bo,{initialState:{actionDescription:t,itemDescription:e}})})}}return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t(i["ɵɵinject"](wr),i["ɵɵinject"](Mt.b))},token:t,providedIn:"root"}),t})();var Yo=n("kn/O");const Ho=new jo.a("hosts");class Uo{constructor(t,e,n,a,r,o,i,s,c,l){this.authStorageService=t,this.hostService=e,this.cephShortVersionPipe=n,this.i18n=a,this.urlBuilder=r,this.actionLabels=o,this.modalService=i,this.taskWrapper=s,this.router=c,this.depCheckerService=l,this.columns=[],this.hosts=[],this.isLoadingHosts=!1,this.cdParams={fromLink:"/hosts"},this.selection=new kr.a,this.permissions=this.authStorageService.getPermissions(),this.tableActions=[{name:this.actionLabels.CREATE,permission:"create",icon:ut.a.add,click:()=>{this.depCheckerService.checkOrchestratorOrModal(this.actionLabels.CREATE,this.i18n("Host"),()=>{this.router.navigate([this.urlBuilder.getCreate()])})}},{name:this.actionLabels.DELETE,permission:"delete",icon:ut.a.destroy,click:()=>{this.depCheckerService.checkOrchestratorOrModal(this.actionLabels.DELETE,this.i18n("Host"),()=>this.deleteHostModal())},disable:()=>!this.selection.hasSelection}]}ngOnInit(){this.columns=[{name:this.i18n("Hostname"),prop:"hostname",flexGrow:1},{name:this.i18n("Services"),prop:"services",flexGrow:3,cellTemplate:this.servicesTpl},{name:this.i18n("Version"),prop:"ceph_version",flexGrow:1,pipe:this.cephShortVersionPipe}]}updateSelection(t){this.selection=t}deleteHostModal(){const t=this.selection.first().hostname;this.modalRef=this.modalService.show(Fo.a,{initialState:{itemDescription:"Host",itemNames:[t],actionDescription:"delete",submitActionObservable:()=>this.taskWrapper.wrapTaskAroundCall({task:new zo.a("host/delete",{hostname:t}),call:this.hostService.delete(t)})}})}getHosts(t){if(this.isLoadingHosts)return;const e={mds:"cephfs",mon:"monitor",osd:"osd",rgw:"rgw","rbd-mirror":"rbdMirroring",mgr:"manager","tcmu-runner":"iscsi"};this.isLoadingHosts=!0,this.hostService.list().subscribe(t=>{t.map(t=>(t.services.map(t=>{t.cdLink=`/perf_counters/${t.type}/${encodeURIComponent(t.id)}`;const n=this.permissions[e[t.type]];return t.canRead=!!n&&n.read,t}),t)),this.hosts=t,this.isLoadingHosts=!1},()=>{this.isLoadingHosts=!1,t.error()})}}var Wo=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Ko(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"a",[["class","service-link"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,1).onClick(n.button,n.ctrlKey,n.metaKey,n.shiftKey)&&a),a}),null,null)),i["ɵdid"](1,671744,null,0,St.p,[St.m,St.a,o.LocationStrategy],{queryParams:[0,"queryParams"],routerLink:[1,"routerLink"]},null),i["ɵpad"](2,1),(t()(),i["ɵted"](3,null,["","."," "]))],(function(t,e){var n=e.component.cdParams,a=t(e,2,0,e.parent.context.$implicit.cdLink);t(e,1,0,n,a)}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).target,i["ɵnov"](e,1).href),t(e,3,0,e.parent.context.$implicit.type,e.parent.context.$implicit.id)}))}function $o(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](1,null,[" ","."," "]))],null,(function(t,e){t(e,1,0,e.parent.context.$implicit.type,e.parent.context.$implicit.id)}))}function Zo(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,5,"span",[],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Ko)),i["ɵdid"](2,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,$o)),i["ɵdid"](4,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵted"](5,null,[" "," "]))],(function(t,e){t(e,2,0,e.context.$implicit.canRead),t(e,4,0,!e.context.$implicit.canRead)}),(function(t,e){t(e,5,0,e.context.last?"":", ")}))}function Jo(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,Zo)),i["ɵdid"](1,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵand"](0,null,null,0))],(function(t,e){t(e,1,0,e.context.value)}),null)}function Xo(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"tab",[["heading","Overall Performance"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](1,212992,null,0,Fn.b,[Fn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵeld"](2,0,null,null,1,"cd-grafana",[["grafanaStyle","two"],["uid","y0KGL0iZz"]],null,null,null,pr.b,pr.a)),i["ɵdid"](3,638976,null,0,mr.a,[ft.a,hr.b,$t.a,bt.a,ia.a],{grafanaPath:[0,"grafanaPath"],grafanaStyle:[1,"grafanaStyle"],uid:[2,"uid"]},null)],(function(t,e){t(e,1,0,"Overall Performance"),t(e,3,0,"host-overview?","two","y0KGL0iZz")}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).id,i["ɵnov"](e,1).active,i["ɵnov"](e,1).addClass)}))}function Qo(t){return i["ɵvid"](0,[i["ɵqud"](402653184,1,{servicesTpl:0}),(t()(),i["ɵeld"](1,0,null,null,13,"tabset",[],[[2,"tab-container",null]],null,null,jn.b,jn.a)),i["ɵdid"](2,180224,null,0,Fn.e,[Fn.f,i.Renderer2,i.ElementRef],null,null),(t()(),i["ɵeld"](3,0,null,0,9,"tab",[["heading","Hosts List"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](4,212992,null,0,Fn.b,[Fn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵeld"](5,0,null,null,7,"cd-table",[["columnMode","flex"],["selectionType","single"]],null,[[null,"fetchData"],[null,"updateSelection"]],(function(t,e,n){var a=!0,r=t.component;return"fetchData"===e&&(a=!1!==r.getHosts(n)&&a),"updateSelection"===e&&(a=!1!==r.updateSelection(n)&&a),a}),br.b,br.a)),i["ɵdid"](6,2867200,null,0,yr.a,[i.NgZone,i.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],selectionType:[3,"selectionType"]},{fetchData:"fetchData",updateSelection:"updateSelection"}),(t()(),i["ɵeld"](7,0,null,1,2,"div",[["class","table-actions btn-toolbar"]],null,null,null,null,null)),(t()(),i["ɵeld"](8,0,null,null,1,"cd-table-actions",[["class","btn-group"],["id","host-actions"]],null,null,null,_r.b,_r.a)),i["ɵdid"](9,114688,null,0,Or.a,[],{permission:[0,"permission"],selection:[1,"selection"],tableActions:[2,"tableActions"]},null),(t()(),i["ɵand"](0,[[1,2],["servicesTpl",2]],null,0,null,Jo)),(t()(),i["ɵeld"](11,0,null,3,1,"cd-host-details",[["cdTableDetail",""]],null,null,null,qo,Io)),i["ɵdid"](12,49152,null,0,ko,[],{permissions:[0,"permissions"],selection:[1,"selection"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,Xo)),i["ɵdid"](14,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,4,0,"Hosts List"),t(e,6,0,n.hosts,n.columns,"flex","single"),t(e,9,0,n.permissions.hosts,n.selection,n.tableActions),t(e,12,0,n.permissions,n.selection),t(e,14,0,n.permissions.grafana.read)}),(function(t,e){t(e,1,0,i["ɵnov"](e,2).clazz),t(e,3,0,i["ɵnov"](e,4).id,i["ɵnov"](e,4).active,i["ɵnov"](e,4).addClass)}))}function ti(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-hosts",[],null,null,null,Qo,Wo)),i["ɵprd"](256,null,jo.a,Ho,[]),i["ɵdid"](2,114688,null,0,Uo,[yt.a,Br,Go.a,ia.a,jo.a,vt.b,Mt.b,Yo.a,St.m,Vo],null,null)],(function(t,e){t(e,2,0)}),null)}var ei=i["ɵccf"]("cd-hosts",Uo,ti,{},{},[]),ni=n("mXUL"),ai=n("IZUe"),ri=n("gp3X"),oi=n("sb0X"),ii=n("KVJa"),si=n("Z21x"),ci=n("8xTl"),li=n("QFaf"),di=n("1Ni5");class ui{constructor(t,e,n,a,r){this.router=t,this.i18n=e,this.actionLabels=n,this.hostService=a,this.taskWrapper=r,this.loading=!0,this.resource=this.i18n("host"),this.action=this.actionLabels.CREATE,this.createForm()}ngOnInit(){this.hostService.list().subscribe(t=>{this.hostnames=t.map(t=>t.hostname),this.loading=!1})}createForm(){this.hostForm=new li.a({hostname:new W.i("",{validators:[W.B.required,di.a.custom("uniqueName",t=>this.hostnames&&-1!==this.hostnames.indexOf(t))]})})}submit(){const t=this.hostForm.get("hostname").value;this.taskWrapper.wrapTaskAroundCall({task:new zo.a("host/"+vt.e.CREATE,{hostname:t}),call:this.hostService.create(t)}).subscribe(void 0,()=>{this.hostForm.setErrors({cdSubmitButton:!0})},()=>{this.router.navigate(["/hosts"])})}}var gi=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function fi(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-loading-panel",[],null,null,null,Zr.b,Zr.a)),i["ɵdid"](1,49152,null,0,Jr.a,[],null,null),(t()(),i["ɵted"](-1,0,["Loading..."]))],null,null)}function pi(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["This field is required."]))],null,null)}function mi(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["The chosen hostname is already in use."]))],null,null)}function hi(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,39,"form",[["name","hostForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(t,e,n){var a=!0;return"submit"===e&&(a=!1!==i["ɵnov"](t,2).onSubmit(n)&&a),"reset"===e&&(a=!1!==i["ɵnov"](t,2).onReset()&&a),"submit"===e&&(a=!1!==i["ɵnov"](t,5).onSubmit()&&a),a}),null,null)),i["ɵdid"](1,16384,null,0,W.G,[],null,null),i["ɵdid"](2,540672,[["formDir",4]],0,W.l,[[8,null],[8,null]],{form:[0,"form"]},null),i["ɵprd"](2048,null,W.d,null,[W.l]),i["ɵdid"](4,16384,null,0,W.s,[[4,W.d]],null,null),i["ɵdid"](5,16384,null,0,K.d,[],{formGroup:[0,"formGroup"]},null),(t()(),i["ɵeld"](6,0,null,null,33,"div",[["class","card"]],null,null,null,null,null)),(t()(),i["ɵeld"](7,0,null,null,3,"div",[["class","card-header"]],null,null,null,null,null)),(t()(),i["ɵted"](8,null,[""," ",""])),i["ɵppd"](9,1),i["ɵppd"](10,1),(t()(),i["ɵeld"](11,0,null,null,19,"div",[["class","card-body"]],null,null,null,null,null)),(t()(),i["ɵeld"](12,0,null,null,18,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](13,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,1,{FormControlNames:1}),i["ɵqud"](603979776,2,{messagesBlock:0}),(t()(),i["ɵeld"](16,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","hostname"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Hostname"])),(t()(),i["ɵeld"](18,0,null,0,12,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](19,0,null,null,7,"input",[["autofocus",""],["class","form-control"],["formControlName","hostname"],["id","hostname"],["name","hostname"],["placeholder","mon-123"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,21)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,21).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,21)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,21)._compositionEnd(n.target.value)&&a),a}),null,null)),i["ɵdid"](20,4210688,null,0,ai.a,[i.ElementRef],{autofocus:[0,"autofocus"]},null),i["ɵdid"](21,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](23,671744,[[1,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](25,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](26,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,pi)),i["ɵdid"](28,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,mi)),i["ɵdid"](30,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](31,0,null,null,8,"div",[["class","card-footer"]],null,null,null,null,null)),(t()(),i["ɵeld"](32,0,null,null,7,"div",[["class","button-group text-right"]],null,null,null,null,null)),(t()(),i["ɵeld"](33,0,null,null,4,"cd-submit-button",[],null,[[null,"submitAction"]],(function(t,e,n){var a=!0;return"submitAction"===e&&(a=!1!==t.component.submit()&&a),a}),ri.b,ri.a)),i["ɵdid"](34,114688,null,0,oi.a,[i.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(t()(),i["ɵted"](35,0,[""," ",""])),i["ɵppd"](36,1),i["ɵppd"](37,1),(t()(),i["ɵeld"](38,0,null,null,1,"cd-back-button",[],null,null,null,ii.b,ii.a)),i["ɵdid"](39,49152,null,0,si.a,[o.Location,vt.b],null,null)],(function(t,e){var n=e.component;t(e,2,0,n.hostForm),t(e,5,0,n.hostForm),t(e,13,0),t(e,20,0,""),t(e,23,0,"hostname"),t(e,26,0,"hostname"),t(e,28,0,n.hostForm.showError("hostname",i["ɵnov"](e,2),"required")),t(e,30,0,n.hostForm.showError("hostname",i["ɵnov"](e,2),"uniqueName")),t(e,34,0,i["ɵnov"](e,2))}),(function(t,e){var n=e.component;t(e,0,0,i["ɵnov"](e,4).ngClassUntouched,i["ɵnov"](e,4).ngClassTouched,i["ɵnov"](e,4).ngClassPristine,i["ɵnov"](e,4).ngClassDirty,i["ɵnov"](e,4).ngClassValid,i["ɵnov"](e,4).ngClassInvalid,i["ɵnov"](e,4).ngClassPending);var a=i["ɵunv"](e,8,0,t(e,9,0,i["ɵnov"](e.parent,0),n.action)),r=i["ɵunv"](e,8,1,t(e,10,0,i["ɵnov"](e.parent,1),n.resource));t(e,8,0,a,r),t(e,12,0,i["ɵnov"](e,13).hasErrors,i["ɵnov"](e,13).hasSuccess),t(e,19,0,i["ɵnov"](e,25).ngClassUntouched,i["ɵnov"](e,25).ngClassTouched,i["ɵnov"](e,25).ngClassPristine,i["ɵnov"](e,25).ngClassDirty,i["ɵnov"](e,25).ngClassValid,i["ɵnov"](e,25).ngClassInvalid,i["ɵnov"](e,25).ngClassPending,i["ɵnov"](e,26).validClass,i["ɵnov"](e,26).invalidClass);var o=i["ɵunv"](e,35,0,t(e,36,0,i["ɵnov"](e.parent,0),n.action)),s=i["ɵunv"](e,35,1,t(e,37,0,i["ɵnov"](e.parent,1),n.resource));t(e,35,0,o,s)}))}function bi(t){return i["ɵvid"](0,[i["ɵpid"](0,o.TitleCasePipe,[]),i["ɵpid"](0,ci.a,[]),(t()(),i["ɵand"](16777216,null,null,1,null,fi)),i["ɵdid"](3,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](4,0,null,null,2,"div",[["class","cd-col-form"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,hi)),i["ɵdid"](6,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,3,0,n.loading),t(e,6,0,!n.loading)}),null)}function yi(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-host-form",[],null,null,null,bi,gi)),i["ɵdid"](1,114688,null,0,ui,[St.m,ia.a,vt.b,Br,Yo.a],null,null)],(function(t,e){t(e,1,0)}),null)}var _i=i["ɵccf"]("cd-host-form",ui,yi,{},{},[]);let Oi=(()=>{class t{constructor(t){this.http=t}getMonitor(){return this.http.get("api/monitor")}}return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t(i["ɵɵinject"](J.c))},token:t,providedIn:me.a}),t})();class vi{constructor(t,e){this.monitorService=t,this.i18n=e,this.inQuorum={columns:[{prop:"name",name:this.i18n("Name"),cellTransformation:Sr.a.routerLink},{prop:"rank",name:this.i18n("Rank")},{prop:"public_addr",name:this.i18n("Public Address")},{prop:"cdOpenSessions",name:this.i18n("Open Sessions"),cellTransformation:Sr.a.sparkline,comparator:(t,e)=>{const n=$.last(t),a=$.last(e);return n&&a&&n!==a?n>a?1:-1:0}}],data:[]},this.notInQuorum={columns:[{prop:"name",name:this.i18n("Name"),cellTransformation:Sr.a.routerLink},{prop:"rank",name:this.i18n("Rank")},{prop:"public_addr",name:this.i18n("Public Address")}],data:[]}}refresh(){this.monitorService.getMonitor().subscribe(t=>{t.in_quorum.map(t=>(t.cdOpenSessions=t.stats.num_sessions.map(t=>t[1]),t.cdLink="/perf_counters/mon/"+t.name,t.cdParams={fromLink:"/monitor"},t)),t.out_quorum.map(t=>(t.cdLink="/perf_counters/mon/"+t.name,t.cdParams={fromLink:"/monitor"},t)),this.inQuorum.data=[...t.in_quorum],this.notInQuorum.data=[...t.out_quorum],this.mon_status=t.mon_status})}}var Ci=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Pi(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,35,"table",[["class","table table-striped"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,4,"tr",[],null,null,null,null,null)),(t()(),i["ɵeld"](2,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Cluster ID"])),(t()(),i["ɵeld"](4,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](5,null,["",""])),(t()(),i["ɵeld"](6,0,null,null,4,"tr",[],null,null,null,null,null)),(t()(),i["ɵeld"](7,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["monmap modified"])),(t()(),i["ɵeld"](9,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](10,null,["",""])),(t()(),i["ɵeld"](11,0,null,null,4,"tr",[],null,null,null,null,null)),(t()(),i["ɵeld"](12,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["monmap epoch"])),(t()(),i["ɵeld"](14,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](15,null,["",""])),(t()(),i["ɵeld"](16,0,null,null,4,"tr",[],null,null,null,null,null)),(t()(),i["ɵeld"](17,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["quorum con"])),(t()(),i["ɵeld"](19,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](20,null,["",""])),(t()(),i["ɵeld"](21,0,null,null,4,"tr",[],null,null,null,null,null)),(t()(),i["ɵeld"](22,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["quorum mon"])),(t()(),i["ɵeld"](24,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](25,null,["",""])),(t()(),i["ɵeld"](26,0,null,null,4,"tr",[],null,null,null,null,null)),(t()(),i["ɵeld"](27,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["required con"])),(t()(),i["ɵeld"](29,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](30,null,["",""])),(t()(),i["ɵeld"](31,0,null,null,4,"tr",[],null,null,null,null,null)),(t()(),i["ɵeld"](32,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["required mon"])),(t()(),i["ɵeld"](34,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](35,null,["",""]))],null,(function(t,e){var n=e.component;t(e,5,0,n.mon_status.monmap.fsid),t(e,10,0,n.mon_status.monmap.modified),t(e,15,0,n.mon_status.monmap.epoch),t(e,20,0,n.mon_status.features.quorum_con),t(e,25,0,n.mon_status.features.quorum_mon),t(e,30,0,n.mon_status.features.required_con),t(e,35,0,n.mon_status.features.required_mon)}))}function Mi(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,15,"div",[["class","row"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,5,"div",[["class","col-lg-4"]],null,null,null,null,null)),(t()(),i["ɵeld"](2,0,null,null,4,"fieldset",[],null,null,null,null,null)),(t()(),i["ɵeld"](3,0,null,null,1,"legend",[["class","cd-header"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Status"])),(t()(),i["ɵand"](16777216,null,null,1,null,Pi)),i["ɵdid"](6,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](7,0,null,null,8,"div",[["class","col-lg-8"]],null,null,null,null,null)),(t()(),i["ɵeld"](8,0,null,null,1,"legend",[["class","in-quorum cd-header"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["In Quorum"])),(t()(),i["ɵeld"](10,0,null,null,1,"cd-table",[],null,null,null,br.b,br.a)),i["ɵdid"](11,2867200,null,0,yr.a,[i.NgZone,i.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"]},null),(t()(),i["ɵeld"](12,0,null,null,1,"legend",[["class","in-quorum cd-header"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Not In Quorum"])),(t()(),i["ɵeld"](14,0,null,null,1,"cd-table",[],null,[[null,"fetchData"]],(function(t,e,n){var a=!0;return"fetchData"===e&&(a=!1!==t.component.refresh()&&a),a}),br.b,br.a)),i["ɵdid"](15,2867200,null,0,yr.a,[i.NgZone,i.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"]},{fetchData:"fetchData"})],(function(t,e){var n=e.component;t(e,6,0,n.mon_status),t(e,11,0,n.inQuorum.data,n.inQuorum.columns),t(e,15,0,n.notInQuorum.data,n.notInQuorum.columns)}),null)}function xi(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-monitor",[],null,null,null,Mi,Ci)),i["ɵdid"](1,49152,null,0,vi,[Oi,ia.a],null,null)],null,null)}var wi=i["ɵccf"]("cd-monitor",vi,xi,{},{},[]);class Ti{constructor(){}ngOnInit(){}}var Si=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function ki(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,5,"tabset",[],[[2,"tab-container",null]],null,null,jn.b,jn.a)),i["ɵdid"](1,180224,[[1,4]],0,Fn.e,[Fn.f,i.Renderer2,i.ElementRef],null,null),(t()(),i["ɵeld"](2,0,null,0,3,"tab",[["heading","Daemons"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](3,212992,null,0,Fn.b,[Fn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵeld"](4,0,null,null,1,"cd-service-daemon-list",[],null,null,null,Wr,Yr)),i["ɵdid"](5,4964352,null,0,Vr,[ia.a,Br,zr,wr],{serviceName:[0,"serviceName"]},null)],(function(t,e){var n=e.component;t(e,3,0,"Daemons"),t(e,5,0,n.selection.first().service_name)}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).clazz),t(e,2,0,i["ɵnov"](e,3).id,i["ɵnov"](e,3).active,i["ɵnov"](e,3).addClass)}))}function Ii(t){return i["ɵvid"](0,[i["ɵqud"](671088640,1,{tabsetChild:0}),(t()(),i["ɵand"](16777216,null,null,1,null,ki)),i["ɵdid"](2,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){t(e,2,0,e.component.selection.hasSingleSelection)}),null)}class Ni{constructor(t,e,n,a){this.authStorageService=t,this.i18n=e,this.orchService=n,this.cephServiceService=a,this.hiddenColumns=[],this.checkingOrchestrator=!0,this.hasOrchestrator=!1,this.columns=[],this.services=[],this.isLoadingServices=!1,this.selection=new kr.a,this.permissions=this.authStorageService.getPermissions()}ngOnInit(){const t=[{name:this.i18n("Service"),prop:"service_name",flexGrow:1},{name:this.i18n("Container image name"),prop:"status.container_image_name",flexGrow:3},{name:this.i18n("Container image ID"),prop:"status.container_image_id",flexGrow:3,cellTransformation:Sr.a.truncate,customTemplateConfig:{length:12}},{name:this.i18n("Running"),prop:"status.running",flexGrow:1},{name:this.i18n("Size"),prop:"status.size",flexGrow:1},{name:this.i18n("Last Refreshed"),prop:"status.last_refresh",flexGrow:1}];this.columns=t.filter(t=>!this.hiddenColumns.includes(t.prop)),this.orchService.status().subscribe(t=>{this.hasOrchestrator=t.available})}ngOnChanges(){this.hasOrchestrator&&(this.services=[],this.table.reloadData())}updateSelection(t){this.selection=t}getServices(t){this.isLoadingServices||(this.isLoadingServices=!0,this.cephServiceService.list().subscribe(t=>{this.services=t,this.isLoadingServices=!1},()=>{this.isLoadingServices=!1,this.services=[],t.error()}))}}var Ri=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Ai(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-orchestrator-doc-panel",[],null,null,null,xr,Mr)),i["ɵdid"](1,114688,null,0,Pr,[bt.a,ft.a],null,null)],(function(t,e){t(e,1,0)}),null)}function Ei(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,4,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,3,"cd-table",[["columnMode","flex"],["forceIdentifier","true"],["identifier","service_name"],["selectionType","single"]],null,[[null,"fetchData"],[null,"updateSelection"]],(function(t,e,n){var a=!0,r=t.component;return"fetchData"===e&&(a=!1!==r.getServices(n)&&a),"updateSelection"===e&&(a=!1!==r.updateSelection(n)&&a),a}),br.b,br.a)),i["ɵdid"](2,2867200,[[1,4]],0,yr.a,[i.NgZone,i.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],autoReload:[3,"autoReload"],identifier:[4,"identifier"],forceIdentifier:[5,"forceIdentifier"],selectionType:[6,"selectionType"]},{fetchData:"fetchData",updateSelection:"updateSelection"}),(t()(),i["ɵeld"](3,0,null,3,1,"cd-service-details",[["cdTableDetail",""]],null,null,null,Ii,Si)),i["ɵdid"](4,114688,null,0,Ti,[],{permissions:[0,"permissions"],selection:[1,"selection"]},null)],(function(t,e){var n=e.component;t(e,2,0,n.services,n.columns,"flex",6e4,"service_name","true","single"),t(e,4,0,n.permissions,n.selection)}),null)}function Di(t){return i["ɵvid"](0,[i["ɵqud"](671088640,1,{table:0}),(t()(),i["ɵand"](16777216,null,null,1,null,Ai)),i["ɵdid"](2,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Ei)),i["ɵdid"](4,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,2,0,!n.hasOrchestrator),t(e,4,0,n.hasOrchestrator)}),null)}function Li(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-services",[],null,null,null,Di,Ri)),i["ɵdid"](1,638976,null,0,Ni,[yt.a,ia.a,wr,zr],null,null)],(function(t,e){t(e,1,0)}),null)}var qi=i["ɵccf"]("cd-services",Ni,Li,{hostname:"hostname",hiddenColumns:"hiddenColumns"},{},[]),ji=n("xSw7"),Fi=n("GgAd"),zi=n("FFMq"),Gi=n("j8L6"),Bi=n("b5OY"),Vi=n("pxLl");class Yi{constructor(){this.last={}}ngOnChanges(){this.render()}hexdigits(t){const e=Math.floor(255*t).toString(16);return 1===e.length?"0"+e:e}hexcolor(t,e,n){return"#"+this.hexdigits(t)+this.hexdigits(e)+this.hexdigits(n)}render(){if(!this.histogram)return;let t=0;$.each(this.histogram.values,(e,n)=>{$.each(e,(e,a)=>{let r;r=this.last&&this.last[n]&&this.last[n][a]?e-this.last[n][a]:e,t=Math.max(t,r)})}),this.valuesStyle=this.histogram.values.map((e,n)=>e.map((e,a)=>{const r=t?(this.last&&this.last[n]&&this.last[n][a]?e-this.last[n][a]:e)/t:0;return{backgroundColor:this.hexcolor(1-r,r,0)}})),this.last=this.histogram.values}}var Hi=i["ɵcrt"]({encapsulation:0,styles:[["table[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]{height:10px}table[_ngcontent-%COMP%]   td[_ngcontent-%COMP%]{width:10px;height:10px}"]],data:{}});function Ui(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"td",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgStyleImpl"],o["ɵNgStyleR2Impl"],[i.ElementRef,i.KeyValueDiffers,i.Renderer2]),i["ɵdid"](2,278528,null,0,o.NgStyle,[o["ɵNgStyleImpl"]],{ngStyle:[0,"ngStyle"]},null)],(function(t,e){t(e,2,0,e.context.$implicit)}),null)}function Wi(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"tr",[],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Ui)),i["ɵdid"](2,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){t(e,2,0,e.context.$implicit)}),null)}function Ki(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"table",[],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Wi)),i["ɵdid"](2,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){t(e,2,0,e.component.valuesStyle)}),null)}class $i{constructor(t,e){this.osdService=t,this.authStorageService=e,this.grafanaPermission=this.authStorageService.getPermissions().grafana}ngOnChanges(){this.osd={loaded:!1},this.selection.hasSelection&&(this.osd=this.selection.first(),this.refresh())}refresh(){this.osdService.getDetails(this.osd.id).subscribe(t=>{this.osd.details=t,this.osd.histogram_failed="",$.isObject(t.histogram)||(this.osd.histogram_failed=t.histogram,this.osd.details.histogram=void 0),this.osd.loaded=!0})}}var Zi=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Ji(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-device-list",[],null,null,null,So,yo)),i["ɵdid"](1,114688,null,0,bo,[Br,ia.a,o.DatePipe,Xr],{osdId:[0,"osdId"]},null)],(function(t,e){t(e,1,0,e.component.osd.id)}),null)}function Xi(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-table-key-value",[],null,null,null,Kr.b,Kr.a)),i["ɵdid"](1,638976,null,0,$r.a,[se.a],{data:[0,"data"]},null)],(function(t,e){t(e,1,0,e.component.osd.details.osd_map)}),null)}function Qi(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-table-key-value",[],null,[[null,"fetchData"]],(function(t,e,n){var a=!0;return"fetchData"===e&&(a=!1!==t.component.refresh()&&a),a}),Kr.b,Kr.a)),i["ɵdid"](1,638976,null,0,$r.a,[se.a],{data:[0,"data"]},{fetchData:"fetchData"})],(function(t,e){t(e,1,0,e.component.osd.details.osd_metadata)}),null)}function ts(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-alert-panel",[["type","warning"]],null,null,null,vr.b,vr.a)),i["ɵdid"](1,114688,null,0,Cr.a,[ia.a],{type:[0,"type"]},null),(t()(),i["ɵted"](-1,0,["Metadata not available"]))],(function(t,e){t(e,1,0,"warning")}),null)}function es(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-table-performance-counter",[["serviceType","osd"]],null,null,null,Gi.b,Gi.a)),i["ɵdid"](1,114688,null,0,Bi.a,[Vi.a,ia.a],{serviceType:[0,"serviceType"],serviceId:[1,"serviceId"]},null)],(function(t,e){t(e,1,0,"osd",e.component.osd.id)}),null)}function ns(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-alert-panel",[["type","warning"]],null,null,null,vr.b,vr.a)),i["ɵdid"](1,114688,null,0,Cr.a,[ia.a],{type:[0,"type"]},null),(t()(),i["ɵted"](2,0,["Histogram not available: ",""]))],(function(t,e){t(e,1,0,"warning")}),(function(t,e){t(e,2,0,e.component.osd.histogram_failed)}))}function as(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,10,"div",[["class","row"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,4,"div",[["class","col-md-6"]],null,null,null,null,null)),(t()(),i["ɵeld"](2,0,null,null,1,"h4",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Writes"])),(t()(),i["ɵeld"](4,0,null,null,1,"cd-osd-performance-histogram",[],null,null,null,Ki,Hi)),i["ɵdid"](5,573440,null,0,Yi,[],{histogram:[0,"histogram"]},null),(t()(),i["ɵeld"](6,0,null,null,4,"div",[["class","col-md-6"]],null,null,null,null,null)),(t()(),i["ɵeld"](7,0,null,null,1,"h4",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Reads"])),(t()(),i["ɵeld"](9,0,null,null,1,"cd-osd-performance-histogram",[],null,null,null,Ki,Hi)),i["ɵdid"](10,573440,null,0,Yi,[],{histogram:[0,"histogram"]},null)],(function(t,e){var n=e.component;t(e,5,0,n.osd.details.histogram.osd.op_w_latency_in_bytes_histogram),t(e,10,0,n.osd.details.histogram.osd.op_r_latency_out_bytes_histogram)}),null)}function rs(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"tab",[["heading","Performance Details"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](1,212992,null,0,Fn.b,[Fn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵeld"](2,0,null,null,1,"cd-grafana",[["grafanaStyle","GrafanaStyles.two"],["uid","CrAHE0iZz"]],null,null,null,pr.b,pr.a)),i["ɵdid"](3,638976,null,0,mr.a,[ft.a,hr.b,$t.a,bt.a,ia.a],{grafanaPath:[0,"grafanaPath"],grafanaStyle:[1,"grafanaStyle"],uid:[2,"uid"]},null)],(function(t,e){var n=e.component;t(e,1,0,"Performance Details"),t(e,3,0,"osd-device-details?var-osd=osd."+n.osd.id,"GrafanaStyles.two","CrAHE0iZz")}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).id,i["ɵnov"](e,1).active,i["ɵnov"](e,1).addClass)}))}function os(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,30,"tabset",[["id","tabset-osd-details"]],[[2,"tab-container",null]],null,null,jn.b,jn.a)),i["ɵdid"](1,180224,null,0,Fn.e,[Fn.f,i.Renderer2,i.ElementRef],null,null),(t()(),i["ɵeld"](2,0,null,0,3,"tab",[["heading","Devices"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](3,212992,null,0,Fn.b,[Fn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Ji)),i["ɵdid"](5,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](6,0,null,0,3,"tab",[["heading","Attributes (OSD map)"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](7,212992,null,0,Fn.b,[Fn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Xi)),i["ɵdid"](9,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](10,0,null,0,4,"tab",[["heading","Metadata"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](11,212992,null,0,Fn.b,[Fn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Qi)),i["ɵdid"](13,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"],ngIfElse:[1,"ngIfElse"]},null),(t()(),i["ɵand"](0,[["noMetaData",2]],null,0,null,ts)),(t()(),i["ɵeld"](15,0,null,0,3,"tab",[["heading","Device health"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](16,212992,null,0,Fn.b,[Fn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵeld"](17,0,null,null,1,"cd-smart-list",[],null,null,null,ho,to)),i["ɵdid"](18,638976,null,0,Qr,[ia.a,Xr,Br],{osdId:[0,"osdId"]},null),(t()(),i["ɵeld"](19,0,null,0,3,"tab",[["heading","Performance counter"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](20,212992,null,0,Fn.b,[Fn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,es)),i["ɵdid"](22,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](23,0,null,0,5,"tab",[["heading","Histogram"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](24,212992,null,0,Fn.b,[Fn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,ns)),i["ɵdid"](26,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,as)),i["ɵdid"](28,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,rs)),i["ɵdid"](30,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,3,0,"Devices"),t(e,5,0,n.osd.loaded&&null!==n.osd.id),t(e,7,0,"Attributes (OSD map)"),t(e,9,0,n.osd.loaded),t(e,11,0,"Metadata"),t(e,13,0,n.osd.loaded&&n.osd.details.osd_metadata,i["ɵnov"](e,14)),t(e,16,0,"Device health"),t(e,18,0,n.osd.id),t(e,20,0,"Performance counter"),t(e,22,0,n.osd.loaded),t(e,24,0,"Histogram"),t(e,26,0,n.osd.loaded&&n.osd.histogram_failed),t(e,28,0,n.osd.loaded&&n.osd.details.histogram),t(e,30,0,n.grafanaPermission.read)}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).clazz),t(e,2,0,i["ɵnov"](e,3).id,i["ɵnov"](e,3).active,i["ɵnov"](e,3).addClass),t(e,6,0,i["ɵnov"](e,7).id,i["ɵnov"](e,7).active,i["ɵnov"](e,7).addClass),t(e,10,0,i["ɵnov"](e,11).id,i["ɵnov"](e,11).active,i["ɵnov"](e,11).addClass),t(e,15,0,i["ɵnov"](e,16).id,i["ɵnov"](e,16).active,i["ɵnov"](e,16).addClass),t(e,19,0,i["ɵnov"](e,20).id,i["ɵnov"](e,20).active,i["ɵnov"](e,20).addClass),t(e,23,0,i["ɵnov"](e,24).id,i["ɵnov"](e,24).active,i["ɵnov"](e,24).addClass)}))}function is(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,os)),i["ɵdid"](1,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){t(e,1,0,e.component.selection.hasSingleSelection)}),null)}function ss(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-osd-details",[],null,null,null,is,Zi)),i["ɵdid"](1,573440,null,0,$i,[Xr,yt.a],null,null)],null,null)}var cs=i["ɵccf"]("cd-osd-details",$i,ss,{selection:"selection"},{},[]),ls=n("cp0P"),ds=n("OLbh");class us{constructor(t,e,n,a,r){this.bsModalRef=t,this.authStorageService=e,this.osdService=n,this.notificationService=a,this.i18n=r,this.osdFlagsForm=new W.k({}),this.allFlags={noin:{code:"noin",name:this.i18n("No In"),value:!1,description:this.i18n("OSDs that were previously marked out will not be marked back in when they start")},noout:{code:"noout",name:this.i18n("No Out"),value:!1,description:this.i18n("OSDs will not automatically be marked out after the configured interval")},noup:{code:"noup",name:this.i18n("No Up"),value:!1,description:this.i18n("OSDs are not allowed to start")},nodown:{code:"nodown",name:this.i18n("No Down"),value:!1,description:this.i18n("OSD failure reports are being ignored, such that the monitors will not mark OSDs down")},pause:{code:"pause",name:this.i18n("Pause"),value:!1,description:this.i18n("Pauses reads and writes")},noscrub:{code:"noscrub",name:this.i18n("No Scrub"),value:!1,description:this.i18n("Scrubbing is disabled")},"nodeep-scrub":{code:"nodeep-scrub",name:this.i18n("No Deep Scrub"),value:!1,description:this.i18n("Deep Scrubbing is disabled")},nobackfill:{code:"nobackfill",name:this.i18n("No Backfill"),value:!1,description:this.i18n("Backfilling of PGs is suspended")},norebalance:{code:"norebalance",name:this.i18n("No Rebalance"),value:!1,description:this.i18n("OSD will choose not to backfill unless PG is also degraded")},norecover:{code:"norecover",name:this.i18n("No Recover"),value:!1,description:this.i18n("Recovery of PGs is suspended")},sortbitwise:{code:"sortbitwise",name:this.i18n("Bitwise Sort"),value:!1,description:this.i18n("Use bitwise sort"),disabled:!0},purged_snapdirs:{code:"purged_snapdirs",name:this.i18n("Purged Snapdirs"),value:!1,description:this.i18n("OSDs have converted snapsets"),disabled:!0},recovery_deletes:{code:"recovery_deletes",name:this.i18n("Recovery Deletes"),value:!1,description:this.i18n("Deletes performed during recovery instead of peering"),disabled:!0},pglog_hardlimit:{code:"pglog_hardlimit",name:this.i18n("PG Log Hard Limit"),value:!1,description:this.i18n("Puts a hard limit on pg log length"),disabled:!0}},this.unknownFlags=[],this.permissions=this.authStorageService.getPermissions()}ngOnInit(){this.osdService.getFlags().subscribe(t=>{t.forEach(t=>{this.allFlags[t]?this.allFlags[t].value=!0:this.unknownFlags.push(t)}),this.flags=$.toArray(this.allFlags)})}submitAction(){const t=this.flags.filter(t=>t.value).map(t=>t.code).concat(this.unknownFlags);this.osdService.updateFlags(t).subscribe(()=>{this.notificationService.show(be.a.success,this.i18n("Updated OSD Flags")),this.bsModalRef.hide()},()=>{this.bsModalRef.hide()})}}var gs=n("MuvH");let fs=(()=>{class t{static getType(t){const e=$.find(this.knownTypes,e=>e.name===t);if(void 0!==e)return e;throw new Error('Found unknown type "'+t+'" for config option.')}static getTypeValidators(e){const n=t.getType(e.type);if("bool"===n.name||"str"===n.name)return;const a={validators:[],patternHelpText:n.patternHelpText};return n.isNumberType?(e.max&&""!==e.max&&(a.max=e.max,a.validators.push(W.B.max(e.max))),e.min&&""!==e.min?(a.min=e.min,a.validators.push(W.B.min(e.min))):"defaultMin"in n&&(a.min=n.defaultMin,a.validators.push(W.B.min(n.defaultMin))),a.validators.push("float"===e.type?di.a.decimalNumber():di.a.number(n.allowsNegative))):"addr"===e.type?a.validators=[di.a.ip()]:"uuid"===e.type&&(a.validators=[di.a.uuid()]),a}static getTypeStep(t,e){if(["uint","int","size","secs"].includes(t))return 1;if("float"===t){if(null!==e&&-1!==e.toString().indexOf(".")){const t=e.toString().split(".");return Math.pow(10,-t[1].length)}return.1}}}return t.knownTypes=[{name:"uint",inputType:"number",humanReadable:"Unsigned integer value",defaultMin:0,patternHelpText:"The entered value needs to be an unsigned number.",isNumberType:!0,allowsNegative:!1},{name:"int",inputType:"number",humanReadable:"Integer value",patternHelpText:"The entered value needs to be a number.",isNumberType:!0,allowsNegative:!0},{name:"size",inputType:"number",humanReadable:"Unsigned integer value (>=16bit)",defaultMin:0,patternHelpText:"The entered value needs to be a unsigned number.",isNumberType:!0,allowsNegative:!1},{name:"secs",inputType:"number",humanReadable:"Number of seconds",defaultMin:1,patternHelpText:"The entered value needs to be a number >= 1.",isNumberType:!0,allowsNegative:!1},{name:"float",inputType:"number",humanReadable:"Double value",patternHelpText:"The entered value needs to be a number or decimal.",isNumberType:!0,allowsNegative:!0},{name:"str",inputType:"text",humanReadable:"Text",isNumberType:!1},{name:"addr",inputType:"text",humanReadable:"IPv4 or IPv6 address",patternHelpText:"The entered value needs to be a valid IP address.",isNumberType:!1},{name:"uuid",inputType:"text",humanReadable:"UUID",patternHelpText:"The entered value is not a valid UUID, e.g.: 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8",isNumberType:!1},{name:"bool",inputType:"checkbox",humanReadable:"Boolean value",isNumberType:!1}],t})();class ps{constructor(t){this.configService=t,this.optionNames=[],this.optionsForm=new li.a({}),this.optionsFormDir=new W.t([],[]),this.optionsFormGroupName="",this.optionsFormShowReset=!0,this.icons=ut.a,this.options=[],this.optionsFormGroup=new li.a({})}static optionNameToText(t){const e=["mon","mgr","osd","mds","client"];return t.split("_").filter((t,n)=>0!==n||!e.includes(t)).map(t=>t.charAt(0).toUpperCase()+t.substring(1)).join(" ")}ngOnInit(){this.createForm(),this.loadStoredData()}createForm(){this.optionsForm.addControl(this.optionsFormGroupName,this.optionsFormGroup),this.optionNames.forEach(t=>{this.optionsFormGroup.addControl(t,new W.i(null))})}getStep(t,e){return fs.getTypeStep(t,e)}loadStoredData(){this.configService.filter(this.optionNames).subscribe(t=>{this.options=t.map(t=>{const e=this.optionsForm.get(t.name),n=fs.getTypeValidators(t);return t.additionalTypeInfo=fs.getType(t.type),t.text=ps.optionNameToText(t.name),t.value=$.find(t.value,t=>"osd"===t.section),t.value&&e.setValue("bool"===t.additionalTypeInfo.name?"true"===t.value.value:t.value.value),n&&(t.patternHelpText=n.patternHelpText,"max"in n&&""!==n.max&&(t.maxValue=n.max),"min"in n&&""!==n.min&&(t.minValue=n.min),e.setValidators(n.validators)),t})})}saveValues(){const t={};return this.optionNames.forEach(e=>{const n=this.optionsForm.getValue(e);null!==n&&""!==n&&(t[e]={section:"osd",value:n})}),this.configService.bulkCreate({options:t})}resetValue(t){this.configService.delete(t,"osd").subscribe(()=>{this.optionsForm.get(t).reset()})}}let ms=(()=>{class t{}return t.basicOptions=["osd_scrub_during_recovery","osd_scrub_begin_hour","osd_scrub_end_hour","osd_scrub_begin_week_day","osd_scrub_end_week_day","osd_scrub_min_interval","osd_scrub_max_interval","osd_deep_scrub_interval","osd_scrub_auto_repair","osd_max_scrubs","osd_scrub_priority","osd_scrub_sleep"],t.advancedOptions=["osd_scrub_auto_repair_num_errors","osd_debug_deep_scrub_sleep","osd_deep_scrub_keys","osd_deep_scrub_large_omap_object_key_threshold","osd_deep_scrub_large_omap_object_value_sum_threshold","osd_deep_scrub_randomize_ratio","osd_deep_scrub_stride","osd_deep_scrub_update_digest_min_age","osd_requested_scrub_priority","osd_scrub_backoff_ratio","osd_scrub_chunk_max","osd_scrub_chunk_min","osd_scrub_cost","osd_scrub_interval_randomize_ratio","osd_scrub_invalid_stats","osd_scrub_load_threshold","osd_scrub_max_preemptions"],t})();class hs{constructor(t,e,n,a,r){this.bsModalRef=t,this.authStorageService=e,this.notificationService=n,this.i18n=a,this.actionLabels=r,this.basicOptions=ms.basicOptions,this.advancedOptions=ms.advancedOptions,this.advancedEnabled=!1,this.osdPgScrubForm=new li.a({}),this.resource=this.i18n("PG scrub options"),this.action=this.actionLabels.EDIT,this.permissions=this.authStorageService.getPermissions()}submitAction(){const t=[this.basicOptionsValues.saveValues()];this.advancedOptionsValues&&t.push(this.advancedOptionsValues.saveValues()),Object(ls.a)(t).subscribe(()=>{this.notificationService.show(be.a.success,this.i18n("Updated PG scrub options")),this.bsModalRef.hide()},()=>{this.bsModalRef.hide()})}}class bs{constructor(t,e,n,a,r,o){this.bsModalRef=t,this.authStorageService=e,this.configService=n,this.notificationService=a,this.i18n=r,this.osdService=o,this.priorities=[],this.priorityAttrs={},this.permissions=this.authStorageService.getPermissions(),this.priorities=this.osdService.osdRecvSpeedModalPriorities.KNOWN_PRIORITIES,this.osdRecvSpeedForm=new li.a({priority:new W.i(null,{validators:[W.B.required]}),customizePriority:new W.i(!1)}),this.priorityAttrs={osd_max_backfills:{text:this.i18n("Max Backfills"),desc:"",patternHelpText:"",maxValue:void 0,minValue:void 0},osd_recovery_max_active:{text:this.i18n("Recovery Max Active"),desc:"",patternHelpText:"",maxValue:void 0,minValue:void 0},osd_recovery_max_single_start:{text:this.i18n("Recovery Max Single Start"),desc:"",patternHelpText:"",maxValue:void 0,minValue:void 0},osd_recovery_sleep:{text:this.i18n("Recovery Sleep"),desc:"",patternHelpText:"",maxValue:void 0,minValue:void 0}},Object.keys(this.priorityAttrs).forEach(t=>{this.osdRecvSpeedForm.addControl(t,new W.i(null,{validators:[W.B.required]}))})}ngOnInit(){this.configService.filter(Object.keys(this.priorityAttrs)).subscribe(t=>{const e=this.getCurrentValues(t);this.detectPriority(e.values,t=>{this.setPriority(t)}),this.setDescription(e.configOptions),this.setValidators(e.configOptions)})}detectPriority(t,e){const n=$.find(this.priorities,e=>$.isEqual(e.values,t));return this.osdRecvSpeedForm.controls.customizePriority.setValue(!1),n?e(n):4===Object.entries(t).length?(this.osdRecvSpeedForm.controls.customizePriority.setValue(!0),e(Object({name:"custom",text:this.i18n("Custom"),values:t}))):e(this.priorities[0])}getCurrentValues(t){const e={values:{},configOptions:[]};return t.forEach(t=>{e.configOptions.push(t),"value"in t?t.value.forEach(n=>{"osd"===n.section&&(e.values[t.name]=Number(n.value))}):"default"in t&&null!==t.default&&(e.values[t.name]=Number(t.default))}),e}setDescription(t){t.forEach(t=>{""!==t.desc&&(this.priorityAttrs[t.name].desc=t.desc)})}setPriority(t){const e=$.find(this.priorities,t=>"custom"===t.name);"custom"===t.name?e||this.priorities.push(t):e&&this.priorities.splice(this.priorities.indexOf(e),1),this.osdRecvSpeedForm.controls.priority.setValue(t.name),Object.entries(t.values).forEach(([t,e])=>{this.osdRecvSpeedForm.controls[t].setValue(e)})}setValidators(t){t.forEach(t=>{const e=fs.getTypeValidators(t);e?(e.validators.push(W.B.required),"max"in e&&""!==e.max&&(this.priorityAttrs[t.name].maxValue=e.max),"min"in e&&""!==e.min&&(this.priorityAttrs[t.name].minValue=e.min),this.priorityAttrs[t.name].patternHelpText=e.patternHelpText,this.osdRecvSpeedForm.controls[t.name].setValidators(e.validators)):this.osdRecvSpeedForm.controls[t.name].setValidators(W.B.required)})}onCustomizePriorityChange(){const t={};if(Object.keys(this.priorityAttrs).forEach(e=>{t[e]=this.osdRecvSpeedForm.getValue(e)}),this.osdRecvSpeedForm.getValue("customizePriority")){const e={name:"custom",text:this.i18n("Custom"),values:t};this.setPriority(e)}else this.detectPriority(t,t=>{this.setPriority(t)})}onPriorityChange(t){const e=$.find(this.priorities,e=>e.name===t)||this.priorities[0];this.osdRecvSpeedForm.get("customizePriority").setValue(!1),this.setPriority(e)}submitAction(){const t={};Object.keys(this.priorityAttrs).forEach(e=>{t[e]={section:"osd",value:this.osdRecvSpeedForm.getValue(e)}}),this.configService.bulkCreate({options:t}).subscribe(()=>{this.notificationService.show(be.a.success,this.i18n('Updated OSD recovery speed priority "{{value}}"',{value:this.osdRecvSpeedForm.getValue("priority")})),this.bsModalRef.hide()},()=>{this.bsModalRef.hide()})}}var ys=n("2EZI");class _s{constructor(t,e,n){this.bsModalRef=t,this.osdService=e,this.fb=n,this.currentWeight=1}get weight(){return this.reweightForm.get("weight")}ngOnInit(){this.reweightForm=this.fb.group({weight:this.fb.control(this.currentWeight,[W.B.required,W.B.max(1),W.B.min(0)])})}reweight(){this.osdService.reweight(this.osdId,this.reweightForm.value.weight).subscribe(()=>this.bsModalRef.hide())}}class Os{constructor(t,e,n,a,r){this.bsModalRef=t,this.osdService=e,this.notificationService=n,this.i18n=a,this.joinPipe=r,this.selected=[]}ngOnInit(){this.scrubForm=new W.k({})}scrub(){Object(ls.a)(this.selected.map(t=>this.osdService.scrub(t,this.deep))).subscribe(()=>{this.notificationService.show(be.a.success,this.i18n("{{operation}} was initialized in the following OSD(s): {{id}}",{operation:this.deep?"Deep scrub":"Scrub",id:this.joinPipe.transform(this.selected)})),this.bsModalRef.hide()},()=>this.bsModalRef.hide())}}const vs=new jo.a("osd");class Cs{constructor(t,e,n,a,r,o,i,s,c,l,d){this.authStorageService=t,this.osdService=e,this.dimlessBinaryPipe=n,this.modalService=a,this.i18n=r,this.urlBuilder=o,this.router=i,this.depCheckerService=s,this.taskWrapper=c,this.actionLabels=l,this.notificationService=d,this.icons=ut.a,this.selection=new kr.a,this.osds=[],this.permissions=this.authStorageService.getPermissions(),this.tableActions=[{name:this.actionLabels.CREATE,permission:"create",icon:ut.a.add,click:()=>{this.depCheckerService.checkOrchestratorOrModal(this.actionLabels.CREATE,this.i18n("OSD"),()=>{this.router.navigate([this.urlBuilder.getCreate()])})},canBePrimary:t=>!t.hasSelection},{name:this.actionLabels.EDIT,permission:"update",icon:ut.a.edit,click:()=>this.editAction()},{name:this.actionLabels.SCRUB,permission:"update",icon:ut.a.analyse,click:()=>this.scrubAction(!1),disable:()=>!this.hasOsdSelected,canBePrimary:t=>t.hasSelection},{name:this.actionLabels.DEEP_SCRUB,permission:"update",icon:ut.a.deepCheck,click:()=>this.scrubAction(!0),disable:()=>!this.hasOsdSelected},{name:this.actionLabels.REWEIGHT,permission:"update",click:()=>this.reweight(),disable:()=>!this.hasOsdSelected||!this.selection.hasSingleSelection,icon:ut.a.reweight},{name:this.actionLabels.MARK_OUT,permission:"update",click:()=>this.showConfirmationModal(this.i18n("out"),this.osdService.markOut),disable:()=>this.isNotSelectedOrInState("out"),icon:ut.a.left},{name:this.actionLabels.MARK_IN,permission:"update",click:()=>this.showConfirmationModal(this.i18n("in"),this.osdService.markIn),disable:()=>this.isNotSelectedOrInState("in"),icon:ut.a.right},{name:this.actionLabels.MARK_DOWN,permission:"update",click:()=>this.showConfirmationModal(this.i18n("down"),this.osdService.markDown),disable:()=>this.isNotSelectedOrInState("down"),icon:ut.a.down},{name:this.actionLabels.MARK_LOST,permission:"delete",click:()=>this.showCriticalConfirmationModal(this.i18n("Mark"),this.i18n("OSD lost"),this.i18n("marked lost"),t=>this.osdService.safeToDestroy(JSON.stringify(t)),"is_safe_to_destroy",this.osdService.markLost),disable:()=>this.isNotSelectedOrInState("up"),icon:ut.a.flatten},{name:this.actionLabels.PURGE,permission:"delete",click:()=>this.showCriticalConfirmationModal(this.i18n("Purge"),this.i18n("OSD"),this.i18n("purged"),t=>this.osdService.safeToDestroy(JSON.stringify(t)),"is_safe_to_destroy",t=>(this.selection=new kr.a,this.osdService.purge(t))),disable:()=>this.isNotSelectedOrInState("up"),icon:ut.a.erase},{name:this.actionLabels.DESTROY,permission:"delete",click:()=>this.showCriticalConfirmationModal(this.i18n("destroy"),this.i18n("OSD"),this.i18n("destroyed"),t=>this.osdService.safeToDestroy(JSON.stringify(t)),"is_safe_to_destroy",t=>(this.selection=new kr.a,this.osdService.destroy(t))),disable:()=>this.isNotSelectedOrInState("up"),icon:ut.a.destroyCircle},{name:this.actionLabels.DELETE,permission:"delete",click:()=>{this.depCheckerService.checkOrchestratorOrModal(this.actionLabels.DELETE,this.i18n("OSD"),()=>{this.showCriticalConfirmationModal(this.i18n("delete"),this.i18n("OSD"),this.i18n("deleted"),t=>this.osdService.safeToDelete(JSON.stringify(t)),"is_safe_to_delete",t=>(this.selection=new kr.a,this.taskWrapper.wrapTaskAroundCall({task:new zo.a("osd/"+vt.e.DELETE,{svc_id:t}),call:this.osdService.delete(t,!0)})),!0)})},disable:()=>!this.hasOsdSelected,icon:ut.a.destroy}]}static collectStates(t){const e=[t.in?"in":"out"];return t.up?e.push("up"):t.state.includes("destroyed")?e.push("destroyed"):e.push("down"),e}ngOnInit(){this.clusterWideActions=[{name:this.i18n("Flags"),icon:ut.a.flag,click:()=>this.configureFlagsAction(),permission:"read",visible:()=>this.permissions.osd.read},{name:this.i18n("Recovery Priority"),icon:ut.a.deepCheck,click:()=>this.configureQosParamsAction(),permission:"read",visible:()=>this.permissions.configOpt.read},{name:this.i18n("PG scrub"),icon:ut.a.analyse,click:()=>this.configurePgScrubAction(),permission:"read",visible:()=>this.permissions.configOpt.read}],this.columns=[{prop:"host.name",name:this.i18n("Host")},{prop:"id",name:this.i18n("ID"),flexGrow:1,cellTransformation:Sr.a.bold},{prop:"collectedStates",name:this.i18n("Status"),flexGrow:1,cellTransformation:Sr.a.badge,customTemplateConfig:{map:{in:{class:"badge-success"},up:{class:"badge-success"},down:{class:"badge-danger"},out:{class:"badge-danger"},destroyed:{class:"badge-danger"}}}},{prop:"tree.device_class",name:this.i18n("Device class"),flexGrow:1,cellTransformation:Sr.a.badge,customTemplateConfig:{map:{hdd:{class:"badge-hdd"},ssd:{class:"badge-ssd"}}}},{prop:"stats.numpg",name:this.i18n("PGs"),flexGrow:1},{prop:"stats.stat_bytes",name:this.i18n("Size"),flexGrow:1,pipe:this.dimlessBinaryPipe},{prop:"stats.usage",name:this.i18n("Usage"),cellTemplate:this.osdUsageTpl},{prop:"stats_history.out_bytes",name:this.i18n("Read bytes"),cellTransformation:Sr.a.sparkline},{prop:"stats_history.in_bytes",name:this.i18n("Write bytes"),cellTransformation:Sr.a.sparkline},{prop:"stats.op_r",name:this.i18n("Read ops"),cellTransformation:Sr.a.perSecond},{prop:"stats.op_w",name:this.i18n("Write ops"),cellTransformation:Sr.a.perSecond}]}getSelectedOsdIds(){const t=this.osds.map(t=>t.id);return this.selection.selected.map(t=>t.id).filter(e=>t.includes(e))}getSelectedOsds(){return this.osds.filter(t=>!$.isUndefined(t)&&this.getSelectedOsdIds().includes(t.id))}get hasOsdSelected(){return this.getSelectedOsdIds().length>0}updateSelection(t){this.selection=t}isNotSelectedOrInState(t){const e=this.getSelectedOsds();if(0===e.length)return!0;switch(t){case"in":return e.some(t=>1===t.in);case"out":return e.some(t=>1!==t.in);case"down":return e.some(t=>1!==t.up);case"up":return e.some(t=>1===t.up)}}getOsdList(){this.osdService.getList().subscribe(t=>{this.osds=t.map(t=>(t.collectedStates=Cs.collectStates(t),t.stats_history.out_bytes=t.stats_history.op_out_bytes.map(t=>t[1]),t.stats_history.in_bytes=t.stats_history.op_in_bytes.map(t=>t[1]),t.stats.usage=t.stats.stat_bytes_used/t.stats.stat_bytes,t.cdIsBinary=!0,t))})}editAction(){const t=$.filter(this.osds,["id",this.selection.first().id]).pop();this.modalService.show(Tr.a,{initialState:{titleText:this.i18n("Edit OSD: {{id}}",{id:t.id}),fields:[{type:"text",name:"deviceClass",value:t.tree.device_class,label:this.i18n("Device class"),required:!0}],submitButtonText:this.i18n("Edit OSD"),onSubmit:e=>{this.osdService.update(t.id,e.deviceClass).subscribe(()=>{this.notificationService.show(be.a.success,this.i18n('Updated OSD "{{id}}"',{id:t.id})),this.getOsdList()})}}})}scrubAction(t){if(!this.hasOsdSelected)return;const e={selected:this.getSelectedOsdIds(),deep:t};this.bsModalRef=this.modalService.show(Os,{initialState:e})}configureFlagsAction(){this.bsModalRef=this.modalService.show(us,{})}showConfirmationModal(t,e){this.bsModalRef=this.modalService.show(ds.a,{initialState:{titleText:this.i18n("Mark OSD {{markAction}}",{markAction:t}),buttonText:this.i18n("Mark {{markAction}}",{markAction:t}),bodyTpl:this.markOsdConfirmationTpl,bodyContext:{markActionDescription:t},onSubmit:()=>{Object(ls.a)(this.getSelectedOsdIds().map(t=>e.call(this.osdService,t))).subscribe(()=>this.bsModalRef.hide())}}})}reweight(){const t=this.osds.filter(t=>t.id===this.selection.first().id).pop();this.modalService.show(_s,{initialState:{currentWeight:t.weight,osdId:t.id}})}showCriticalConfirmationModal(t,e,n,a,r,o,i=!1){a(this.getSelectedOsdIds()).subscribe(a=>{const s=this.modalService.show(Fo.a,{initialState:{actionDescription:t,itemDescription:e,bodyTemplate:this.criticalConfirmationTpl,bodyContext:{safeToPerform:a[r],message:a.message,actionDescription:n},submitAction:()=>{const t=Object(ls.a)(this.getSelectedOsdIds().map(t=>o.call(this.osdService,t)));i?t.subscribe(void 0,()=>{this.getOsdList(),s.hide()},()=>s.hide()):t.subscribe(()=>{this.getOsdList(),s.hide()},()=>s.hide())}}})})}configureQosParamsAction(){this.bsModalRef=this.modalService.show(bs,{})}configurePgScrubAction(){this.bsModalRef=this.modalService.show(hs,{class:"modal-lg"})}}var Ps=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Ms(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-usage-bar",[],null,null,null,ji.b,ji.a)),i["ɵdid"](1,573440,null,0,Fi.a,[],{totalBytes:[0,"totalBytes"],usedBytes:[1,"usedBytes"]},null)],(function(t,e){t(e,1,0,e.context.row.stats.stat_bytes,e.context.row.stats.stat_bytes_used)}),null)}function xs(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"tab",[["heading","Overall Performance"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](1,212992,null,0,Fn.b,[Fn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵeld"](2,0,null,null,1,"cd-grafana",[["grafanaStyle","three"],["uid","lo02I1Aiz"]],null,null,null,pr.b,pr.a)),i["ɵdid"](3,638976,null,0,mr.a,[ft.a,hr.b,$t.a,bt.a,ia.a],{grafanaPath:[0,"grafanaPath"],grafanaStyle:[1,"grafanaStyle"],uid:[2,"uid"]},null)],(function(t,e){t(e,1,0,"Overall Performance"),t(e,3,0,"osd-overview?","three","lo02I1Aiz")}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).id,i["ɵnov"](e,1).active,i["ɵnov"](e,1).addClass)}))}function ws(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,7,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,2,"strong",[],null,null,null,null,null)),(t()(),i["ɵted"](2,null,["OSD(s) ",""])),i["ɵppd"](3,1),(t()(),i["ɵted"](-1,null,[" will be marked\n"])),(t()(),i["ɵeld"](5,0,null,null,1,"strong",[],null,null,null,null,null)),(t()(),i["ɵted"](6,null,["",""])),(t()(),i["ɵted"](-1,null,[" if you proceed."]))],null,(function(t,e){var n=e.component,a=i["ɵunv"](e,2,0,t(e,3,0,i["ɵnov"](e.parent,0),n.getSelectedOsdIds()));t(e,2,0,a),t(e,6,0,e.context.markActionDescription)}))}function Ts(t){return i["ɵvid"](0,[(t()(),i["ɵted"](-1,null,["OSDs are"]))],null,null)}function Ss(t){return i["ɵvid"](0,[(t()(),i["ɵted"](-1,null,["OSD is"]))],null,null)}function ks(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,10,"div",[["class","danger"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,9,"cd-alert-panel",[["type","warning"]],null,null,null,vr.b,vr.a)),i["ɵdid"](2,114688,null,0,Cr.a,[ia.a],{type:[0,"type"]},null),(t()(),i["ɵted"](-1,0,["The "])),(t()(),i["ɵeld"](4,0,null,0,5,null,null,null,null,null,null,null)),i["ɵdid"](5,16384,null,0,o.NgSwitch,[],{ngSwitch:[0,"ngSwitch"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Ts)),i["ɵdid"](7,278528,null,0,o.NgSwitchCase,[i.ViewContainerRef,i.TemplateRef,o.NgSwitch],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Ss)),i["ɵdid"](9,278528,null,0,o.NgSwitchCase,[i.ViewContainerRef,i.TemplateRef,o.NgSwitch],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),i["ɵted"](10,0,[" not safe to be ","! ",""]))],(function(t,e){var n=e.component;t(e,2,0,"warning"),t(e,5,0,n.selection.hasSingleSelection),t(e,7,0,"0"),t(e,9,0,"1")}),(function(t,e){t(e,10,0,e.parent.context.actionDescription,e.parent.context.message)}))}function Is(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,ks)),i["ɵdid"](1,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](2,0,null,null,7,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](3,0,null,null,2,"strong",[],null,null,null,null,null)),(t()(),i["ɵted"](4,null,["OSD ",""])),i["ɵppd"](5,1),(t()(),i["ɵted"](-1,null,[" will be\n"])),(t()(),i["ɵeld"](7,0,null,null,1,"strong",[],null,null,null,null,null)),(t()(),i["ɵted"](8,null,["",""])),(t()(),i["ɵted"](-1,null,[" if you proceed."]))],(function(t,e){t(e,1,0,!e.context.safeToPerform)}),(function(t,e){var n=e.component,a=i["ɵunv"](e,4,0,t(e,5,0,i["ɵnov"](e.parent,0),n.getSelectedOsdIds()));t(e,4,0,a),t(e,8,0,e.context.actionDescription)}))}function Ns(t){return i["ɵvid"](0,[i["ɵpid"](0,zi.a,[]),i["ɵqud"](402653184,1,{osdUsageTpl:0}),i["ɵqud"](402653184,2,{markOsdConfirmationTpl:0}),i["ɵqud"](402653184,3,{criticalConfirmationTpl:0}),i["ɵqud"](402653184,4,{tableComponent:0}),i["ɵqud"](671088640,5,{reweightBodyTpl:0}),i["ɵqud"](671088640,6,{safeToDestroyBodyTpl:0}),(t()(),i["ɵeld"](7,0,null,null,16,"tabset",[],[[2,"tab-container",null]],null,null,jn.b,jn.a)),i["ɵdid"](8,180224,null,0,Fn.e,[Fn.f,i.Renderer2,i.ElementRef],null,null),(t()(),i["ɵeld"](9,0,null,0,12,"tab",[["heading","OSDs List"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](10,212992,null,0,Fn.b,[Fn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵeld"](11,0,null,null,9,"cd-table",[["selectionType","multiClick"]],null,[[null,"fetchData"],[null,"updateSelection"]],(function(t,e,n){var a=!0,r=t.component;return"fetchData"===e&&(a=!1!==r.getOsdList()&&a),"updateSelection"===e&&(a=!1!==r.updateSelection(n)&&a),a}),br.b,br.a)),i["ɵdid"](12,2867200,[[4,4]],0,yr.a,[i.NgZone,i.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],selectionType:[2,"selectionType"],updateSelectionOnRefresh:[3,"updateSelectionOnRefresh"]},{fetchData:"fetchData",updateSelection:"updateSelection"}),(t()(),i["ɵeld"](13,0,null,1,5,"div",[["class","table-actions btn-toolbar"]],null,null,null,null,null)),(t()(),i["ɵeld"](14,0,null,null,1,"cd-table-actions",[["class","btn-group"],["id","osd-actions"]],null,null,null,_r.b,_r.a)),i["ɵdid"](15,114688,null,0,Or.a,[],{permission:[0,"permission"],selection:[1,"selection"],tableActions:[2,"tableActions"]},null),(t()(),i["ɵeld"](16,0,null,null,2,"cd-table-actions",[["btnColor","light"],["class","btn-group"],["dropDownOnly","Cluster-wide configuration"],["id","cluster-wide-actions"]],null,null,null,_r.b,_r.a)),i["ɵdid"](17,114688,null,0,Or.a,[],{permission:[0,"permission"],selection:[1,"selection"],tableActions:[2,"tableActions"],btnColor:[3,"btnColor"],dropDownOnly:[4,"dropDownOnly"]},null),i["ɵpod"](18,{read:0}),(t()(),i["ɵeld"](19,0,null,3,1,"cd-osd-details",[["cdTableDetail",""]],null,null,null,is,Zi)),i["ɵdid"](20,573440,null,0,$i,[Xr,yt.a],{selection:[0,"selection"]},null),(t()(),i["ɵand"](0,[[1,2],["osdUsageTpl",2]],null,0,null,Ms)),(t()(),i["ɵand"](16777216,null,0,1,null,xs)),i["ɵdid"](23,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](0,[[2,2],["markOsdConfirmationTpl",2]],null,0,null,ws)),(t()(),i["ɵand"](0,[[3,2],["criticalConfirmationTpl",2]],null,0,null,Is))],(function(t,e){var n=e.component;t(e,10,0,"OSDs List"),t(e,12,0,n.osds,n.columns,"multiClick","never"),t(e,15,0,n.permissions.osd,n.selection,n.tableActions);var a=t(e,18,0,!0);t(e,17,0,a,n.selection,n.clusterWideActions,"light","Cluster-wide configuration"),t(e,20,0,n.selection),t(e,23,0,n.permissions.grafana.read)}),(function(t,e){t(e,7,0,i["ɵnov"](e,8).clazz),t(e,9,0,i["ɵnov"](e,10).id,i["ɵnov"](e,10).active,i["ɵnov"](e,10).addClass)}))}function Rs(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-osd-list",[],null,null,null,Ns,Ps)),i["ɵprd"](256,null,jo.a,vs,[]),i["ɵdid"](2,114688,null,0,Cs,[yt.a,Xr,Qn.a,Mt.b,ia.a,jo.a,St.m,Vo,Yo.a,vt.b,gt.a],null,null)],(function(t,e){t(e,2,0)}),null)}var As=i["ɵccf"]("cd-osd-list",Cs,Rs,{},{},[]),Es=n("4HWh"),Ds=n("p4Cf");class Ls{constructor(t,e,n){this.formBuilder=t,this.bsModalRef=e,this.actionLabels=n,this.submitAction=new i.EventEmitter,this.icons=ut.a,this.filterColumns=[],this.devices=[],this.filteredDevices=[],this.capacity=0,this.canSubmit=!1,this.requiredFilters=[],this.action=n.ADD,this.createForm()}ngAfterViewInit(){const t=$.filter(this.inventoryDevices.columns,t=>this.filterColumns.includes(t.prop)&&"hostname"!==t.prop);this.requiredFilters=$.map(t,"name")}createForm(){this.formGroup=this.formBuilder.group({})}onFilterChange(t){if(this.capacity=0,this.canSubmit=!1,$.isEmpty(t.filters))this.filteredDevices=[],this.event=void 0;else{const e=t.filters.filter(t=>"hostname"!==t.prop);this.canSubmit=!$.isEmpty(e),this.filteredDevices=t.data,this.capacity=$.sumBy(this.filteredDevices,"sys_api.size"),this.event=t}}onSubmit(){this.submitAction.emit(this.event),this.bsModalRef.hide()}}class qs{constructor(t,e){this.bsModalService=t,this.i18n=e,this.selected=new i.EventEmitter,this.cleared=new i.EventEmitter,this.icons=ut.a,this.devices=[],this.capacity=0,this.appliedFilters=[],this.tooltips={noAvailDevices:this.i18n("No available devices"),addPrimaryFirst:this.i18n("Please add primary devices first"),addByFilters:this.i18n("Add devices by using filters")}}ngOnInit(){this.updateAddButtonTooltip()}ngOnChanges(){this.updateAddButtonTooltip()}showSelectionModal(){let t=["human_readable_type","sys_api.vendor","sys_api.model","sys_api.size"];"data"===this.type&&(t=["hostname",...t]),this.bsModalService.show(Ls,{class:"modal-xl",initialState:{hostname:this.hostname,deviceType:this.name,devices:this.availDevices,filterColumns:t}}).content.submitAction.subscribe(t=>{this.devices=t.data,this.capacity=$.sumBy(this.devices,"sys_api.size"),this.appliedFilters=t.filters;const e=$.assign({type:this.type},t);this.selected.emit(e)})}updateAddButtonTooltip(){this.addButtonTooltip="data"===this.type&&0===this.availDevices.length?this.tooltips.noAvailDevices:this.canSelect?0===this.availDevices.length?this.tooltips.noAvailDevices:this.tooltips.addByFilters:this.tooltips.addPrimaryFirst}clearDevices(){const t={type:this.type,clearedDevices:[...this.devices]};this.devices=[],this.cleared.emit(t)}}var js=i["ɵcrt"]({encapsulation:0,styles:[[".tc_clearSelections[_ngcontent-%COMP%]{text-decoration:none}"]],data:{}});function Fs(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["The primary storage devices. These devices contain all OSD data."]))],null,null)}function zs(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Write-Ahead-Log devices. These devices are used for BlueStore’s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device."]))],null,null)}function Gs(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["DB devices can be used for storing BlueStore’s internal metadata. It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD)."]))],null,null)}function Bs(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,7,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,6,"button",[["class","btn btn-light"],["data-toggle","tooltip"],["type","button"]],[[8,"title",0],[8,"disabled",0]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.showSelectionModal()&&a),a}),null,null)),(t()(),i["ɵeld"](2,0,null,null,3,"i",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](4,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](5,1),(t()(),i["ɵeld"](6,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Add"]))],(function(t,e){var n=t(e,5,0,e.component.icons.add);t(e,4,0,n)}),(function(t,e){var n=e.component;t(e,1,0,n.addButtonTooltip,0===n.availDevices.length||!n.canSelect)}))}function Vs(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,1,"span",[["class","badge badge-dark mr-2"]],null,null,null,null,null)),(t()(),i["ɵted"](2,null,["",": ",""]))],null,(function(t,e){t(e,2,0,e.context.$implicit.name,e.context.$implicit.value.formatted)}))}function Ys(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"div",[["class","float-right"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](2,null,["Raw capacity: ",""])),i["ɵppd"](3,1)],null,(function(t,e){var n=e.component,a=i["ɵunv"](e,2,0,t(e,3,0,i["ɵnov"](e.parent.parent,0),n.capacity));t(e,2,0,a)}))}function Hs(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,9,"div",[["class","pb-2 my-2 border-bottom"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Vs)),i["ɵdid"](2,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵeld"](3,0,null,null,6,"a",[["class","tc_clearSelections"],["href",""]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(t.component.clearDevices(),a=!1),a}),null,null)),(t()(),i["ɵeld"](4,0,null,null,3,"i",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](6,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](7,1),(t()(),i["ɵeld"](8,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Clear"])),(t()(),i["ɵeld"](10,0,null,null,3,"div",[],null,null,null,null,null)),(t()(),i["ɵeld"](11,0,null,null,2,"cd-inventory-devices",[],null,null,null,Rr,Nr)),i["ɵdid"](12,245760,null,0,Ir,[yt.a,Qn.a,ia.a,Mt.b,gt.a,wr],{devices:[0,"devices"],hiddenColumns:[1,"hiddenColumns"],filterColumns:[2,"filterColumns"]},null),i["ɵpad"](13,2),(t()(),i["ɵand"](16777216,null,null,1,null,Ys)),i["ɵdid"](15,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](0,null,null,0))],(function(t,e){var n=e.component;t(e,2,0,n.appliedFilters);var a=t(e,7,0,n.icons.clearFilters);t(e,6,0,a);var r=n.devices,o=t(e,13,0,"available","osd_ids");t(e,12,0,r,o,i["ɵEMPTY_ARRAY"]),t(e,15,0,"data"===n.type)}),null)}function Us(t){return i["ɵvid"](0,[i["ɵpid"](0,Qn.a,[ua.a]),(t()(),i["ɵeld"](1,0,null,null,18,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](2,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,1,{FormControlNames:1}),i["ɵqud"](603979776,2,{messagesBlock:0}),(t()(),i["ɵeld"](5,0,null,0,10,"label",[["class","cd-col-form-label"],["for","createDeleteButton"]],null,null,null,null,null)),(t()(),i["ɵeld"](6,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](7,null,[""," devices"])),(t()(),i["ɵeld"](8,0,null,null,7,"cd-helper",[],null,null,null,Es.b,Es.a)),i["ɵdid"](9,49152,null,0,Ds.a,[],null,null),(t()(),i["ɵand"](16777216,null,0,1,null,Fs)),i["ɵdid"](11,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,zs)),i["ɵdid"](13,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,Gs)),i["ɵdid"](15,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](16,0,null,0,3,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Bs)),i["ɵdid"](18,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"],ngIfElse:[1,"ngIfElse"]},null),(t()(),i["ɵand"](0,[["blockClearDevices",2]],null,0,null,Hs))],(function(t,e){var n=e.component;t(e,2,0),t(e,11,0,"data"===n.type),t(e,13,0,"wal"===n.type),t(e,15,0,"db"===n.type),t(e,18,0,0===n.devices.length,i["ɵnov"](e,19))}),(function(t,e){var n=e.component;t(e,1,0,i["ɵnov"](e,2).hasErrors,i["ɵnov"](e,2).hasSuccess),t(e,7,0,n.name)}))}class Ws{constructor(t,e,n,a,r){this.bsModalRef=t,this.actionLabels=e,this.formBuilder=n,this.osdService=a,this.taskWrapper=r,this.driveGroups=[],this.submitAction=new i.EventEmitter,this.action=e.CREATE,this.createForm()}ngOnInit(){}createForm(){this.formGroup=this.formBuilder.group({})}onSubmit(){this.taskWrapper.wrapTaskAroundCall({task:new zo.a("osd/"+vt.e.CREATE,{tracking_id:$.join($.map(this.driveGroups,"service_id"),", ")}),call:this.osdService.create(this.driveGroups)}).subscribe(void 0,()=>{this.formGroup.setErrors({cdSubmitButton:!0})},()=>{this.submitAction.emit(),this.bsModalRef.hide()})}}class Ks{constructor(){this.reset(),this.formatterService=new ua.a,this.deviceSelectionAttrs={"sys_api.vendor":{name:"vendor"},"sys_api.model":{name:"model"},device_id:{name:"device_id"},human_readable_type:{name:"rotational",formatter:t=>"hdd"===t.toLowerCase()},"sys_api.size":{name:"size",formatter:t=>this.formatterService.format_number(t,1024,["B","KB","MB","GB","TB","PB"]).replace(" ","")}}}reset(){this.spec={service_type:"osd",service_id:`dashboard-${$.now()}`}}setName(t){this.spec.service_id=t}setHostPattern(t){this.spec.host_pattern=t}setDeviceSelection(t,e){const n=`${t}_devices`;this.spec[n]={},e.forEach(t=>{const e=this.deviceSelectionAttrs[t.prop];e&&(this.spec[n][e.name]=e.formatter?e.formatter(t.value.raw):t.value.raw)})}clearDeviceSelection(t){delete this.spec[`${t}_devices`]}setSlots(t,e){const n=`${t}_slots`;0===e?delete this.spec[n]:this.spec[n]=e}setFeature(t,e){e?this.spec[t]=!0:delete this.spec[t]}}class $s{constructor(t,e,n,a,r,o){this.actionLabels=t,this.authStorageService=e,this.i18n=n,this.orchService=a,this.router=r,this.bsModalService=o,this.icons=ut.a,this.columns=[],this.loading=!1,this.allDevices=[],this.availDevices=[],this.dataDeviceFilters=[],this.dbDeviceFilters=[],this.walDeviceFilters=[],this.hostname="",this.driveGroup=new Ks,this.featureList=[],this.hasOrchestrator=!1,this.resource=this.i18n("OSDs"),this.action=this.actionLabels.CREATE,this.features={encrypted:{key:"encrypted",desc:this.i18n("Encryption")}},this.featureList=$.map(this.features,(t,e)=>Object.assign(t,{key:e})),this.createForm()}ngOnInit(){this.orchService.status().subscribe(t=>{this.hasOrchestrator=t.available,this.hasOrchestrator&&this.getDataDevices()}),this.form.get("walSlots").valueChanges.subscribe(t=>this.setSlots("wal",t)),this.form.get("dbSlots").valueChanges.subscribe(t=>this.setSlots("db",t)),$.each(this.features,t=>{this.form.get("features").get(t.key).valueChanges.subscribe(e=>this.featureFormUpdate(t.key,e))})}createForm(){this.form=new li.a({walSlots:new W.i(0,{updateOn:"blur",validators:[W.B.min(0)]}),dbSlots:new W.i(0,{updateOn:"blur",validators:[W.B.min(0)]}),features:new li.a(this.featureList.reduce((t,e)=>(t[e.key]=new W.i({value:!1,disabled:!0}),t),{}))})}getDataDevices(){this.loading||(this.loading=!0,this.orchService.inventoryDeviceList().subscribe(t=>{this.allDevices=$.filter(t,"available"),this.availDevices=[...this.allDevices],this.loading=!1},()=>{this.allDevices=[],this.availDevices=[],this.loading=!1}))}setSlots(t,e){"number"==typeof e&&e>=0&&this.driveGroup.setSlots(t,e)}featureFormUpdate(t,e){this.driveGroup.setFeature(t,e)}enableFeatures(){this.featureList.forEach(t=>{this.form.get(t.key).enable({emitEvent:!1})})}disableFeatures(){this.featureList.forEach(t=>{const e=this.form.get(t.key);e.disable({emitEvent:!1}),e.setValue(!1,{emitEvent:!1})})}onDevicesSelected(t){if(this.availDevices=t.dataOut,"data"===t.type){const e=$.find(t.filters,{prop:"hostname"});e?(this.hostname=e.value.raw,this.availDevices=t.dataOut.filter(t=>t.hostname===this.hostname),this.driveGroup.setHostPattern(this.hostname)):this.driveGroup.setHostPattern("*"),this.enableFeatures()}this.driveGroup.setDeviceSelection(t.type,t.filters)}onDevicesCleared(t){"data"===t.type?(this.availDevices=[...this.allDevices],this.walDeviceSelectionGroups.devices=[],this.dbDeviceSelectionGroups.devices=[],this.disableFeatures(),this.driveGroup.reset(),this.form.get("walSlots").setValue(0,{emitEvent:!1}),this.form.get("dbSlots").setValue(0,{emitEvent:!1})):(this.availDevices=[...this.availDevices,...t.clearedDevices],this.driveGroup.clearDeviceSelection(t.type),this.form.get(`${t.type}Slots`).setValue(0,{emitEvent:!1}))}submit(){const t=this.authStorageService.getUsername();this.driveGroup.setName(`dashboard-${t}-${$.now()}`),this.bsModalService.show(Ws,{initialState:{driveGroups:[this.driveGroup.spec]}}).content.submitAction.subscribe(()=>{this.router.navigate(["/osd"])}),this.previewButton.loading=!1}}var Zs=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Js(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-orchestrator-doc-panel",[],null,null,null,xr,Mr)),i["ɵdid"](1,114688,null,0,Pr,[bt.a,ft.a],null,null)],(function(t,e){t(e,1,0)}),null)}function Xs(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Value should be greater than or equal to 0"]))],null,null)}function Qs(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,24,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](1,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,5,{FormControlNames:1}),i["ɵqud"](603979776,6,{messagesBlock:0}),(t()(),i["ɵeld"](4,0,null,0,9,"label",[["class","cd-col-form-label"],["for","walSlots"]],null,null,null,null,null)),(t()(),i["ɵeld"](5,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["WAL slots"])),(t()(),i["ɵeld"](7,0,null,null,6,"cd-helper",[],null,null,null,Es.b,Es.a)),i["ɵdid"](8,49152,null,0,Ds.a,[],null,null),(t()(),i["ɵeld"](9,0,null,0,1,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["How many OSDs per WAL device."])),(t()(),i["ɵeld"](11,0,null,0,0,"br",[],null,null,null,null,null)),(t()(),i["ɵeld"](12,0,null,0,1,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Specify 0 to let Orchestrator backend decide it."])),(t()(),i["ɵeld"](14,0,null,0,10,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](15,0,null,null,7,"input",[["class","form-control"],["formControlName","walSlots"],["id","walSlots"],["min","0"],["name","walSlots"],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,16)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,16).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,16)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,16)._compositionEnd(n.target.value)&&a),"change"===e&&(a=!1!==i["ɵnov"](t,17).onChange(n.target.value)&&a),"input"===e&&(a=!1!==i["ɵnov"](t,17).onChange(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,17).onTouched()&&a),a}),null,null)),i["ɵdid"](16,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵdid"](17,16384,null,0,W.w,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t,e){return[t,e]}),[W.e,W.w]),i["ɵdid"](19,671744,[[5,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](21,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](22,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Xs)),i["ɵdid"](24,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0),t(e,19,0,"walSlots"),t(e,22,0,"walSlots"),t(e,24,0,n.form.showError("walSlots",i["ɵnov"](e.parent,3),"min"))}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).hasErrors,i["ɵnov"](e,1).hasSuccess),t(e,15,0,i["ɵnov"](e,21).ngClassUntouched,i["ɵnov"](e,21).ngClassTouched,i["ɵnov"](e,21).ngClassPristine,i["ɵnov"](e,21).ngClassDirty,i["ɵnov"](e,21).ngClassValid,i["ɵnov"](e,21).ngClassInvalid,i["ɵnov"](e,21).ngClassPending,i["ɵnov"](e,22).validClass,i["ɵnov"](e,22).invalidClass)}))}function tc(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Value should be greater than or equal to 0"]))],null,null)}function ec(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,24,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](1,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,7,{FormControlNames:1}),i["ɵqud"](603979776,8,{messagesBlock:0}),(t()(),i["ɵeld"](4,0,null,0,9,"label",[["class","cd-col-form-label"],["for","dbSlots"]],null,null,null,null,null)),(t()(),i["ɵeld"](5,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["DB slots"])),(t()(),i["ɵeld"](7,0,null,null,6,"cd-helper",[],null,null,null,Es.b,Es.a)),i["ɵdid"](8,49152,null,0,Ds.a,[],null,null),(t()(),i["ɵeld"](9,0,null,0,1,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["How many OSDs per DB device."])),(t()(),i["ɵeld"](11,0,null,0,0,"br",[],null,null,null,null,null)),(t()(),i["ɵeld"](12,0,null,0,1,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Specify 0 to let Orchestrator backend decide it."])),(t()(),i["ɵeld"](14,0,null,0,10,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](15,0,null,null,7,"input",[["class","form-control"],["formControlName","dbSlots"],["id","dbSlots"],["min","0"],["name","dbSlots"],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,16)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,16).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,16)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,16)._compositionEnd(n.target.value)&&a),"change"===e&&(a=!1!==i["ɵnov"](t,17).onChange(n.target.value)&&a),"input"===e&&(a=!1!==i["ɵnov"](t,17).onChange(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,17).onTouched()&&a),a}),null,null)),i["ɵdid"](16,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵdid"](17,16384,null,0,W.w,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t,e){return[t,e]}),[W.e,W.w]),i["ɵdid"](19,671744,[[7,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](21,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](22,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,tc)),i["ɵdid"](24,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0),t(e,19,0,"dbSlots"),t(e,22,0,"dbSlots"),t(e,24,0,n.form.showError("dbSlots",i["ɵnov"](e.parent,3),"min"))}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).hasErrors,i["ɵnov"](e,1).hasSuccess),t(e,15,0,i["ɵnov"](e,21).ngClassUntouched,i["ɵnov"](e,21).ngClassTouched,i["ɵnov"](e,21).ngClassPristine,i["ɵnov"](e,21).ngClassDirty,i["ɵnov"](e,21).ngClassValid,i["ɵnov"](e,21).ngClassInvalid,i["ɵnov"](e,21).ngClassPending,i["ɵnov"](e,22).validClass,i["ɵnov"](e,22).invalidClass)}))}function nc(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,9,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,6,"input",[["class","custom-control-input"],["type","checkbox"]],[[8,"id",0],[8,"name",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(t,e,n){var a=!0;return"change"===e&&(a=!1!==i["ɵnov"](t,2).onChange(n.target.checked)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,2).onTouched()&&a),a}),null,null)),i["ɵdid"](2,16384,null,0,W.c,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.c]),i["ɵdid"](4,671744,[[9,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](6,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](7,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵeld"](8,0,null,null,1,"label",[["class","custom-control-label"]],[[8,"htmlFor",0]],null,null,null,null)),(t()(),i["ɵted"](9,null,["",""]))],(function(t,e){t(e,4,0,i["ɵinlineInterpolate"](1,"",e.context.$implicit.key,"")),t(e,7,0,i["ɵinlineInterpolate"](1,"",e.context.$implicit.key,""))}),(function(t,e){t(e,1,1,[i["ɵinlineInterpolate"](1,"",e.context.$implicit.key,""),i["ɵinlineInterpolate"](1,"",e.context.$implicit.key,""),i["ɵnov"](e,6).ngClassUntouched,i["ɵnov"](e,6).ngClassTouched,i["ɵnov"](e,6).ngClassPristine,i["ɵnov"](e,6).ngClassDirty,i["ɵnov"](e,6).ngClassValid,i["ɵnov"](e,6).ngClassInvalid,i["ɵnov"](e,6).ngClassPending,i["ɵnov"](e,7).validClass,i["ɵnov"](e,7).invalidClass]),t(e,8,0,i["ɵinlineInterpolate"](1,"",e.context.$implicit.key,"")),t(e,9,0,e.context.$implicit.desc)}))}function ac(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,48,"div",[["class","cd-col-form"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,47,"form",[["name","form"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(t,e,n){var a=!0;return"submit"===e&&(a=!1!==i["ɵnov"](t,3).onSubmit(n)&&a),"reset"===e&&(a=!1!==i["ɵnov"](t,3).onReset()&&a),"submit"===e&&(a=!1!==i["ɵnov"](t,6).onSubmit()&&a),a}),null,null)),i["ɵdid"](2,16384,null,0,W.G,[],null,null),i["ɵdid"](3,540672,[["formDir",4]],0,W.l,[[8,null],[8,null]],{form:[0,"form"]},null),i["ɵprd"](2048,null,W.d,null,[W.l]),i["ɵdid"](5,16384,null,0,W.s,[[4,W.d]],null,null),i["ɵdid"](6,16384,null,0,K.d,[],{formGroup:[0,"formGroup"]},null),(t()(),i["ɵeld"](7,0,null,null,41,"div",[["class","card"]],null,null,null,null,null)),(t()(),i["ɵeld"](8,0,null,null,3,"div",[["class","card-header"]],null,null,null,null,null)),(t()(),i["ɵted"](9,null,[""," ",""])),i["ɵppd"](10,1),i["ɵppd"](11,1),(t()(),i["ɵeld"](12,0,null,null,29,"div",[["class","card-body"]],null,null,null,null,null)),(t()(),i["ɵeld"](13,0,null,null,2,"fieldset",[],null,null,null,null,null)),(t()(),i["ɵeld"](14,0,null,null,1,"cd-osd-devices-selection-groups",[["name","Primary"],["type","data"]],null,[[null,"selected"],[null,"cleared"]],(function(t,e,n){var a=!0,r=t.component;return"selected"===e&&(a=!1!==r.onDevicesSelected(n)&&a),"cleared"===e&&(a=!1!==r.onDevicesCleared(n)&&a),a}),Us,js)),i["ɵdid"](15,638976,[[1,4],["dataDeviceSelectionGroups",4]],0,qs,[Mt.b,ia.a],{type:[0,"type"],name:[1,"name"],availDevices:[2,"availDevices"],canSelect:[3,"canSelect"]},{selected:"selected",cleared:"cleared"}),(t()(),i["ɵeld"](16,0,null,null,10,"fieldset",[],null,null,null,null,null)),(t()(),i["ɵeld"](17,0,null,null,1,"legend",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Shared devices"])),(t()(),i["ɵeld"](19,0,null,null,1,"cd-osd-devices-selection-groups",[["name","WAL"],["type","wal"]],null,[[null,"selected"],[null,"cleared"]],(function(t,e,n){var a=!0,r=t.component;return"selected"===e&&(a=!1!==r.onDevicesSelected(n)&&a),"cleared"===e&&(a=!1!==r.onDevicesCleared(n)&&a),a}),Us,js)),i["ɵdid"](20,638976,[[2,4],["walDeviceSelectionGroups",4]],0,qs,[Mt.b,ia.a],{type:[0,"type"],name:[1,"name"],availDevices:[2,"availDevices"],canSelect:[3,"canSelect"]},{selected:"selected",cleared:"cleared"}),(t()(),i["ɵand"](16777216,null,null,1,null,Qs)),i["ɵdid"](22,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](23,0,null,null,1,"cd-osd-devices-selection-groups",[["name","DB"],["type","db"]],null,[[null,"selected"],[null,"cleared"]],(function(t,e,n){var a=!0,r=t.component;return"selected"===e&&(a=!1!==r.onDevicesSelected(n)&&a),"cleared"===e&&(a=!1!==r.onDevicesCleared(n)&&a),a}),Us,js)),i["ɵdid"](24,638976,[[3,4],["dbDeviceSelectionGroups",4]],0,qs,[Mt.b,ia.a],{type:[0,"type"],name:[1,"name"],availDevices:[2,"availDevices"],canSelect:[3,"canSelect"]},{selected:"selected",cleared:"cleared"}),(t()(),i["ɵand"](16777216,null,null,1,null,ec)),i["ɵdid"](26,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](27,0,null,null,14,"fieldset",[],null,null,null,null,null)),(t()(),i["ɵeld"](28,0,null,null,1,"legend",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Configuration"])),(t()(),i["ɵeld"](30,0,null,null,11,"div",[["class","form-group row"],["formGroupName","features"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](31,212992,null,0,W.m,[[3,W.d],[8,null],[8,null]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.d,null,[W.m]),i["ɵdid"](33,16384,null,0,W.s,[[4,W.d]],null,null),i["ɵdid"](34,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,9,{FormControlNames:1}),i["ɵqud"](603979776,10,{messagesBlock:0}),(t()(),i["ɵeld"](37,0,null,0,1,"label",[["class","cd-col-form-label"],["for","features"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Features"])),(t()(),i["ɵeld"](39,0,null,0,2,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,nc)),i["ɵdid"](41,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵeld"](42,0,null,null,6,"div",[["class","card-footer"]],null,null,null,null,null)),(t()(),i["ɵeld"](43,0,null,null,5,"div",[["class","button-group text-right"]],null,null,null,null,null)),(t()(),i["ɵeld"](44,0,null,null,2,"cd-submit-button",[],null,[[null,"submitAction"]],(function(t,e,n){var a=!0;return"submitAction"===e&&(a=!1!==t.component.submit()&&a),a}),ri.b,ri.a)),i["ɵdid"](45,114688,[[4,4],["previewButton",4]],0,oi.a,[i.ElementRef],{form:[0,"form"],disabled:[1,"disabled"]},{submitAction:"submitAction"}),(t()(),i["ɵted"](-1,0,["Preview"])),(t()(),i["ɵeld"](47,0,null,null,1,"cd-back-button",[],null,null,null,ii.b,ii.a)),i["ɵdid"](48,49152,null,0,si.a,[o.Location,vt.b],null,null)],(function(t,e){var n=e.component;t(e,3,0,n.form),t(e,6,0,n.form),t(e,15,0,"data","Primary",n.availDevices,0!==n.availDevices.length),t(e,20,0,"wal","WAL",n.availDevices,0!==i["ɵnov"](e,15).devices.length),t(e,22,0,0!==i["ɵnov"](e,20).devices.length),t(e,24,0,"db","DB",n.availDevices,0!==i["ɵnov"](e,15).devices.length),t(e,26,0,0!==i["ɵnov"](e,24).devices.length),t(e,31,0,"features"),t(e,34,0),t(e,41,0,n.featureList),t(e,45,0,i["ɵnov"](e,3),0===i["ɵnov"](e,15).devices.length)}),(function(t,e){var n=e.component;t(e,1,0,i["ɵnov"](e,5).ngClassUntouched,i["ɵnov"](e,5).ngClassTouched,i["ɵnov"](e,5).ngClassPristine,i["ɵnov"](e,5).ngClassDirty,i["ɵnov"](e,5).ngClassValid,i["ɵnov"](e,5).ngClassInvalid,i["ɵnov"](e,5).ngClassPending);var a=i["ɵunv"](e,9,0,t(e,10,0,i["ɵnov"](e.parent,0),n.action)),r=i["ɵunv"](e,9,1,t(e,11,0,i["ɵnov"](e.parent,1),n.resource));t(e,9,0,a,r),t(e,30,0,i["ɵnov"](e,33).ngClassUntouched,i["ɵnov"](e,33).ngClassTouched,i["ɵnov"](e,33).ngClassPristine,i["ɵnov"](e,33).ngClassDirty,i["ɵnov"](e,33).ngClassValid,i["ɵnov"](e,33).ngClassInvalid,i["ɵnov"](e,33).ngClassPending,i["ɵnov"](e,34).hasErrors,i["ɵnov"](e,34).hasSuccess)}))}function rc(t){return i["ɵvid"](0,[i["ɵpid"](0,o.TitleCasePipe,[]),i["ɵpid"](0,ci.a,[]),i["ɵqud"](671088640,1,{dataDeviceSelectionGroups:0}),i["ɵqud"](671088640,2,{walDeviceSelectionGroups:0}),i["ɵqud"](671088640,3,{dbDeviceSelectionGroups:0}),i["ɵqud"](671088640,4,{previewButton:0}),(t()(),i["ɵand"](16777216,null,null,1,null,Js)),i["ɵdid"](7,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,ac)),i["ɵdid"](9,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,7,0,!n.hasOrchestrator),t(e,9,0,!n.loading&&n.hasOrchestrator)}),null)}function oc(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-osd-form",[],null,null,null,rc,Zs)),i["ɵdid"](1,114688,null,0,$s,[vt.b,yt.a,ia.a,wr,St.m,Mt.b],null,null)],(function(t,e){t(e,1,0)}),null)}var ic=i["ɵccf"]("cd-osd-form",$s,oc,{},{},[]),sc=n("iExv");class cc{constructor(t){this.i18n=t,this.flags={runtime:this.i18n("The value can be updated at runtime."),no_mon_update:this.i18n("Daemons/clients do not pull this value from the\n      monitor config database. We disallow setting this option via 'ceph config\n      set ...'. This option should be configured via ceph.conf or via the\n      command line."),startup:this.i18n("Option takes effect only during daemon startup."),cluster_create:this.i18n("Option only affects cluster creation."),create:this.i18n("Option only affects daemon creation.")}}ngOnChanges(){this.selection.hasSelection&&(this.selectedItem=this.selection.first(),this.selectedItem.services=$.split(this.selectedItem.services,","))}}var lc=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function dc(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](1,null,[" ",": ","",""])),(t()(),i["ɵeld"](2,0,null,null,0,"br",[],null,null,null,null,null))],null,(function(t,e){t(e,1,0,e.context.$implicit.section,e.context.$implicit.value,e.context.last?"":",")}))}function uc(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,4,"span",[],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,3,"span",[],[[8,"title",0]],null,null,null,null)),(t()(),i["ɵeld"](2,0,null,null,2,"span",[["class","badge badge-dark mr-2"]],null,null,null,null,null)),(t()(),i["ɵted"](3,null,["",""])),i["ɵppd"](4,1)],null,(function(t,e){t(e,1,0,i["ɵinlineInterpolate"](1,"",e.component.flags[e.context.$implicit],""));var n=i["ɵunv"](e,3,0,t(e,4,0,i["ɵnov"](e.parent.parent,0),e.context.$implicit));t(e,3,0,n)}))}function gc(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,1,"span",[["class","badge badge-dark mr-2"]],null,null,null,null,null)),(t()(),i["ɵted"](2,null,["",""]))],null,(function(t,e){t(e,2,0,e.context.$implicit)}))}function fc(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,94,"tabset",[],[[2,"tab-container",null]],null,null,jn.b,jn.a)),i["ɵdid"](1,180224,null,0,Fn.e,[Fn.f,i.Renderer2,i.ElementRef],null,null),(t()(),i["ɵeld"](2,0,null,0,92,"tab",[["heading","Details"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](3,212992,null,0,Fn.b,[Fn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵeld"](4,0,null,null,90,"table",[["class","table table-striped table-bordered"]],null,null,null,null,null)),(t()(),i["ɵeld"](5,0,null,null,89,"tbody",[],null,null,null,null,null)),(t()(),i["ɵeld"](6,0,null,null,4,"tr",[],null,null,null,null,null)),(t()(),i["ɵeld"](7,0,null,null,1,"td",[["class","bold w-25"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Name"])),(t()(),i["ɵeld"](9,0,null,null,1,"td",[["class","w-75"]],null,null,null,null,null)),(t()(),i["ɵted"](10,null,["",""])),(t()(),i["ɵeld"](11,0,null,null,4,"tr",[],null,null,null,null,null)),(t()(),i["ɵeld"](12,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Description"])),(t()(),i["ɵeld"](14,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](15,null,["",""])),(t()(),i["ɵeld"](16,0,null,null,4,"tr",[],null,null,null,null,null)),(t()(),i["ɵeld"](17,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Long description"])),(t()(),i["ɵeld"](19,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](20,null,["",""])),(t()(),i["ɵeld"](21,0,null,null,5,"tr",[],null,null,null,null,null)),(t()(),i["ɵeld"](22,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Current values"])),(t()(),i["ɵeld"](24,0,null,null,2,"td",[],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,dc)),i["ɵdid"](26,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵeld"](27,0,null,null,4,"tr",[],null,null,null,null,null)),(t()(),i["ɵeld"](28,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Default"])),(t()(),i["ɵeld"](30,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](31,null,["",""])),(t()(),i["ɵeld"](32,0,null,null,4,"tr",[],null,null,null,null,null)),(t()(),i["ɵeld"](33,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Daemon default"])),(t()(),i["ɵeld"](35,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](36,null,["",""])),(t()(),i["ɵeld"](37,0,null,null,4,"tr",[],null,null,null,null,null)),(t()(),i["ɵeld"](38,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Type"])),(t()(),i["ɵeld"](40,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](41,null,["",""])),(t()(),i["ɵeld"](42,0,null,null,4,"tr",[],null,null,null,null,null)),(t()(),i["ɵeld"](43,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Min"])),(t()(),i["ɵeld"](45,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](46,null,["",""])),(t()(),i["ɵeld"](47,0,null,null,4,"tr",[],null,null,null,null,null)),(t()(),i["ɵeld"](48,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Max"])),(t()(),i["ɵeld"](50,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](51,null,["",""])),(t()(),i["ɵeld"](52,0,null,null,5,"tr",[],null,null,null,null,null)),(t()(),i["ɵeld"](53,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Flags"])),(t()(),i["ɵeld"](55,0,null,null,2,"td",[],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,uc)),i["ɵdid"](57,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵeld"](58,0,null,null,5,"tr",[],null,null,null,null,null)),(t()(),i["ɵeld"](59,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Services"])),(t()(),i["ɵeld"](61,0,null,null,2,"td",[],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,gc)),i["ɵdid"](63,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵeld"](64,0,null,null,4,"tr",[],null,null,null,null,null)),(t()(),i["ɵeld"](65,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Source"])),(t()(),i["ɵeld"](67,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](68,null,["",""])),(t()(),i["ɵeld"](69,0,null,null,4,"tr",[],null,null,null,null,null)),(t()(),i["ɵeld"](70,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Level"])),(t()(),i["ɵeld"](72,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](73,null,["",""])),(t()(),i["ɵeld"](74,0,null,null,5,"tr",[],null,null,null,null,null)),(t()(),i["ɵeld"](75,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Can be updated at runtime (editable)"])),(t()(),i["ɵeld"](77,0,null,null,2,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](78,null,["",""])),i["ɵppd"](79,1),(t()(),i["ɵeld"](80,0,null,null,4,"tr",[],null,null,null,null,null)),(t()(),i["ɵeld"](81,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Tags"])),(t()(),i["ɵeld"](83,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](84,null,["",""])),(t()(),i["ɵeld"](85,0,null,null,4,"tr",[],null,null,null,null,null)),(t()(),i["ɵeld"](86,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Enum values"])),(t()(),i["ɵeld"](88,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](89,null,["",""])),(t()(),i["ɵeld"](90,0,null,null,4,"tr",[],null,null,null,null,null)),(t()(),i["ɵeld"](91,0,null,null,1,"td",[["class","bold"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["See also"])),(t()(),i["ɵeld"](93,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](94,null,["",""]))],(function(t,e){var n=e.component;t(e,3,0,"Details"),t(e,26,0,n.selectedItem.value),t(e,57,0,n.selectedItem.flags),t(e,63,0,n.selectedItem.services)}),(function(t,e){var n=e.component;t(e,0,0,i["ɵnov"](e,1).clazz),t(e,2,0,i["ɵnov"](e,3).id,i["ɵnov"](e,3).active,i["ɵnov"](e,3).addClass),t(e,10,0,n.selectedItem.name),t(e,15,0,n.selectedItem.desc),t(e,20,0,n.selectedItem.long_desc),t(e,31,0,n.selectedItem.default),t(e,36,0,n.selectedItem.daemon_default),t(e,41,0,n.selectedItem.type),t(e,46,0,n.selectedItem.min),t(e,51,0,n.selectedItem.max),t(e,68,0,n.selectedItem.source),t(e,73,0,n.selectedItem.level);var a=i["ɵunv"](e,78,0,t(e,79,0,i["ɵnov"](e.parent,1),n.selectedItem.can_update_at_runtime));t(e,78,0,a),t(e,84,0,n.selectedItem.tags),t(e,89,0,n.selectedItem.enum_values),t(e,94,0,n.selectedItem.see_also)}))}function pc(t){return i["ɵvid"](0,[i["ɵpid"](0,o.UpperCasePipe,[]),i["ɵpid"](0,sc.a,[ia.a]),(t()(),i["ɵand"](16777216,null,null,1,null,fc)),i["ɵdid"](3,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,3,0,null==n.selection?null:n.selection.hasSingleSelection)}),null)}class mc{constructor(t,e,n,a){this.authStorageService=t,this.configurationService=e,this.i18n=n,this.actionLabels=a,this.data=[],this.icons=ut.a,this.selection=new kr.a,this.filters=[{name:this.i18n("Level"),prop:"level",filterOptions:["basic","advanced","dev"],filterInitValue:"basic",filterPredicate:(t,e)=>{let n;return function(t){t[t.basic=0]="basic",t[t.advanced=1]="advanced",t[t.dev=2]="dev"}(n||(n={})),n[t.level]<=n[e]}},{name:this.i18n("Service"),prop:"services",filterOptions:["mon","mgr","osd","mds","common","mds_client","rgw"],filterPredicate:(t,e)=>t.services.includes(e)},{name:this.i18n("Source"),prop:"source",filterOptions:["mon"],filterPredicate:(t,e)=>!!t.hasOwnProperty("source")&&t.source.includes(e)},{name:this.i18n("Modified"),prop:"modified",filterOptions:["yes","no"],filterPredicate:(t,e)=>!("yes"!==e||!t.hasOwnProperty("value"))||"no"===e&&!t.hasOwnProperty("value")}],this.permission=this.authStorageService.getPermissions().configOpt;const r=()=>this.selection.first()&&`${encodeURIComponent(this.selection.first().name)}`;this.tableActions=[{permission:"update",icon:ut.a.edit,routerLink:()=>`/configuration/edit/${r()}`,name:this.actionLabels.EDIT,disable:()=>!this.isEditable(this.selection)}]}ngOnInit(){this.columns=[{canAutoResize:!0,prop:"name",name:this.i18n("Name")},{prop:"desc",name:this.i18n("Description"),cellClass:"wrap"},{prop:"value",name:this.i18n("Current value"),cellClass:"wrap",cellTemplate:this.confValTpl},{prop:"default",name:this.i18n("Default"),cellClass:"wrap"},{prop:"can_update_at_runtime",name:this.i18n("Editable"),cellTransformation:Sr.a.checkIcon,flexGrow:.4,cellClass:"text-center"}]}updateSelection(t){this.selection=t}getConfigurationList(t){this.configurationService.getConfigData().subscribe(t=>{this.data=t},()=>{t.error()})}isEditable(t){return 1===t.selected.length&&t.selected[0].can_update_at_runtime}}var hc=i["ɵcrt"]({encapsulation:0,styles:[[".filter[_ngcontent-%COMP%]{padding-right:8px}.fa-stack[_ngcontent-%COMP%]{font-size:.79rem}.fa-stack[_ngcontent-%COMP%]   .fa-stack-1x[_ngcontent-%COMP%]{margin-left:8px;margin-top:5px}  datatable-body-cell.wrap{word-break:break-all}"]],data:{}});function bc(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](1,null,[" ",": ","",""])),(t()(),i["ɵeld"](2,0,null,null,0,"br",[],null,null,null,null,null))],null,(function(t,e){t(e,1,0,e.context.$implicit.section,e.context.$implicit.value,e.context.last?"":",")}))}function yc(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,bc)),i["ɵdid"](2,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){t(e,2,0,e.parent.context.value)}),null)}function _c(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,yc)),i["ɵdid"](1,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](0,null,null,0))],(function(t,e){t(e,1,0,e.context.value)}),null)}function Oc(t){return i["ɵvid"](0,[i["ɵqud"](402653184,1,{confValTpl:0}),i["ɵqud"](671088640,2,{confFlagTpl:0}),(t()(),i["ɵeld"](2,0,null,null,5,"cd-table",[["selectionType","single"]],null,[[null,"fetchData"],[null,"updateSelection"]],(function(t,e,n){var a=!0,r=t.component;return"fetchData"===e&&(a=!1!==r.getConfigurationList(n)&&a),"updateSelection"===e&&(a=!1!==r.updateSelection(n)&&a),a}),br.b,br.a)),i["ɵdid"](3,2867200,null,0,yr.a,[i.NgZone,i.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],selectionType:[2,"selectionType"],extraFilterableColumns:[3,"extraFilterableColumns"]},{fetchData:"fetchData",updateSelection:"updateSelection"}),(t()(),i["ɵeld"](4,0,null,1,1,"cd-table-actions",[["class","table-actions"]],null,null,null,_r.b,_r.a)),i["ɵdid"](5,114688,null,0,Or.a,[],{permission:[0,"permission"],selection:[1,"selection"],tableActions:[2,"tableActions"]},null),(t()(),i["ɵeld"](6,0,null,3,1,"cd-configuration-details",[["cdTableDetail",""]],null,null,null,pc,lc)),i["ɵdid"](7,573440,null,0,cc,[ia.a],{selection:[0,"selection"]},null),(t()(),i["ɵand"](0,[[1,2],["confValTpl",2]],null,0,null,_c))],(function(t,e){var n=e.component;t(e,3,0,n.data,n.columns,"single",n.filters),t(e,5,0,n.permission,n.selection,n.tableActions),t(e,7,0,n.selection)}),null)}function vc(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-configuration",[],null,null,null,Oc,hc)),i["ɵdid"](1,114688,null,0,mc,[yt.a,gs.a,ia.a,vt.b],null,null)],(function(t,e){t(e,1,0)}),null)}var Cc=i["ɵccf"]("cd-configuration",mc,vc,{},{},[]);class Pc{constructor(){this.value=[]}}class Mc{constructor(t,e,n,a,r){this.route=t,this.router=e,this.configService=n,this.notificationService=a,this.i18n=r,this.availSections=["global","mon","mgr","osd","mds","client"],this.createForm()}createForm(){const t={name:new W.i({value:null}),desc:new W.i({value:null}),long_desc:new W.i({value:null}),values:new W.k({}),default:new W.i({value:null}),daemon_default:new W.i({value:null}),services:new W.i([])};this.availSections.forEach(e=>{t.values.addControl(e,new W.i(null))}),this.configForm=new li.a(t)}ngOnInit(){this.route.params.subscribe(t=>{this.configService.get(t.name).subscribe(t=>{this.setResponse(t)})})}getValidators(t){const e=fs.getTypeValidators(t);if(e)return this.patternHelpText=e.patternHelpText,"max"in e&&""!==e.max&&(this.maxValue=e.max),"min"in e&&""!==e.min&&(this.minValue=e.min),e.validators}getStep(t,e){return fs.getTypeStep(t,e)}setResponse(t){this.response=t;const e=this.getValidators(t);this.configForm.get("name").setValue(t.name),this.configForm.get("desc").setValue(t.desc),this.configForm.get("long_desc").setValue(t.long_desc),this.configForm.get("default").setValue(t.default),this.configForm.get("daemon_default").setValue(t.daemon_default),this.configForm.get("services").setValue(t.services),this.response.value&&this.response.value.forEach(t=>{let e=null;e="true"===t.value||"false"!==t.value&&t.value,this.configForm.get("values").get(t.section).setValue(e)}),this.availSections.forEach(t=>{this.configForm.get("values").get(t).setValidators(e)});const n=fs.getType(t.type);this.type=n.name,this.inputType=n.inputType,this.humanReadableType=n.humanReadable}createRequest(){const t=[];if(this.availSections.forEach(e=>{const n=this.configForm.getValue(e);null!==n&&""!==n&&t.push({section:e,value:n})}),!$.isEqual(this.response.value,t)){const e=new Pc;return e.name=this.configForm.getValue("name"),e.value=t,e}return null}submit(){const t=this.createRequest();t&&this.configService.create(t).subscribe(()=>{this.notificationService.show(be.a.success,this.i18n("Updated config option {{name}}",{name:t.name})),this.router.navigate(["/configuration"])},()=>{this.configForm.setErrors({cdSubmitButton:!0})}),this.router.navigate(["/configuration"])}}var xc=i["ɵcrt"]({encapsulation:0,styles:[[".form-component-badge[_ngcontent-%COMP%]{height:34px;display:block}.form-component-badge[_ngcontent-%COMP%]   span[_ngcontent-%COMP%]{margin-top:7px}.resize-vertical[_ngcontent-%COMP%]{resize:vertical}"]],data:{}});function wc(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,14,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](1,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,3,{FormControlNames:1}),i["ɵqud"](603979776,4,{messagesBlock:0}),(t()(),i["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Description"])),(t()(),i["ɵeld"](6,0,null,0,8,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](7,0,null,null,7,"textarea",[["class","form-control resize-vertical"],["formControlName","desc"],["id","desc"],["readonly",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,8)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,8).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,8)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,8)._compositionEnd(n.target.value)&&a),a}),null,null)),i["ɵdid"](8,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](10,671744,[[3,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](12,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](13,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵted"](-1,null,["            "]))],(function(t,e){t(e,1,0),t(e,10,0,"desc"),t(e,13,0,"desc")}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).hasErrors,i["ɵnov"](e,1).hasSuccess),t(e,7,0,i["ɵnov"](e,12).ngClassUntouched,i["ɵnov"](e,12).ngClassTouched,i["ɵnov"](e,12).ngClassPristine,i["ɵnov"](e,12).ngClassDirty,i["ɵnov"](e,12).ngClassValid,i["ɵnov"](e,12).ngClassInvalid,i["ɵnov"](e,12).ngClassPending,i["ɵnov"](e,13).validClass,i["ɵnov"](e,13).invalidClass)}))}function Tc(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,14,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](1,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,5,{FormControlNames:1}),i["ɵqud"](603979776,6,{messagesBlock:0}),(t()(),i["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Long description"])),(t()(),i["ɵeld"](6,0,null,0,8,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](7,0,null,null,7,"textarea",[["class","form-control resize-vertical"],["formControlName","long_desc"],["id","long_desc"],["readonly",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,8)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,8).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,8)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,8)._compositionEnd(n.target.value)&&a),a}),null,null)),i["ɵdid"](8,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](10,671744,[[5,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](12,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](13,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵted"](-1,null,["            "]))],(function(t,e){t(e,1,0),t(e,10,0,"long_desc"),t(e,13,0,"long_desc")}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).hasErrors,i["ɵnov"](e,1).hasSuccess),t(e,7,0,i["ɵnov"](e,12).ngClassUntouched,i["ɵnov"](e,12).ngClassTouched,i["ɵnov"](e,12).ngClassPristine,i["ɵnov"](e,12).ngClassDirty,i["ɵnov"](e,12).ngClassValid,i["ɵnov"](e,12).ngClassInvalid,i["ɵnov"](e,12).ngClassPending,i["ɵnov"](e,13).validClass,i["ɵnov"](e,13).invalidClass)}))}function Sc(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,13,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](1,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,7,{FormControlNames:1}),i["ɵqud"](603979776,8,{messagesBlock:0}),(t()(),i["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Default"])),(t()(),i["ɵeld"](6,0,null,0,7,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](7,0,null,null,6,"input",[["class","form-control"],["formControlName","default"],["id","default"],["readonly",""],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,8)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,8).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,8)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,8)._compositionEnd(n.target.value)&&a),a}),null,null)),i["ɵdid"](8,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](10,671744,[[7,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](12,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](13,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null)],(function(t,e){t(e,1,0),t(e,10,0,"default"),t(e,13,0,"default")}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).hasErrors,i["ɵnov"](e,1).hasSuccess),t(e,7,0,i["ɵnov"](e,12).ngClassUntouched,i["ɵnov"](e,12).ngClassTouched,i["ɵnov"](e,12).ngClassPristine,i["ɵnov"](e,12).ngClassDirty,i["ɵnov"](e,12).ngClassValid,i["ɵnov"](e,12).ngClassInvalid,i["ɵnov"](e,12).ngClassPending,i["ɵnov"](e,13).validClass,i["ɵnov"](e,13).invalidClass)}))}function kc(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,13,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](1,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,9,{FormControlNames:1}),i["ɵqud"](603979776,10,{messagesBlock:0}),(t()(),i["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Daemon default"])),(t()(),i["ɵeld"](6,0,null,0,7,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](7,0,null,null,6,"input",[["class","form-control"],["formControlName","daemon_default"],["id","daemon_default"],["readonly",""],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,8)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,8).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,8)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,8)._compositionEnd(n.target.value)&&a),a}),null,null)),i["ɵdid"](8,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](10,671744,[[9,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](12,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](13,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null)],(function(t,e){t(e,1,0),t(e,10,0,"daemon_default"),t(e,13,0,"daemon_default")}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).hasErrors,i["ɵnov"](e,1).hasSuccess),t(e,7,0,i["ɵnov"](e,12).ngClassUntouched,i["ɵnov"](e,12).ngClassTouched,i["ɵnov"](e,12).ngClassPristine,i["ɵnov"](e,12).ngClassDirty,i["ɵnov"](e,12).ngClassValid,i["ɵnov"](e,12).ngClassInvalid,i["ɵnov"](e,12).ngClassPending,i["ɵnov"](e,13).validClass,i["ɵnov"](e,13).invalidClass)}))}function Ic(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"span",[["class","form-component-badge"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,1,"span",[["class","badge badge-dark"]],null,null,null,null,null)),(t()(),i["ɵted"](2,null,["",""]))],null,(function(t,e){t(e,2,0,e.context.$implicit)}))}function Nc(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,8,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](1,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,11,{FormControlNames:1}),i["ɵqud"](603979776,12,{messagesBlock:0}),(t()(),i["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Services"])),(t()(),i["ɵeld"](6,0,null,0,2,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Ic)),i["ɵdid"](8,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){var n=e.component;t(e,1,0),t(e,8,0,n.configForm.getValue("services"))}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).hasErrors,i["ɵnov"](e,1).hasSuccess)}))}function Rc(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,25,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](1,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,13,{FormControlNames:1}),i["ɵqud"](603979776,14,{messagesBlock:0}),(t()(),i["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label"]],[[8,"htmlFor",0]],null,null,null,null)),(t()(),i["ɵted"](5,null,[""," "])),(t()(),i["ɵeld"](6,0,null,0,19,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](7,0,null,null,18,"select",[["class","form-control custom-select"],["id","pool"],["name","pool"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(t,e,n){var a=!0;return"change"===e&&(a=!1!==i["ɵnov"](t,8).onChange(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,8).onTouched()&&a),a}),null,null)),i["ɵdid"](8,16384,null,0,W.A,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.A]),i["ɵdid"](10,671744,[[13,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](12,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](13,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵeld"](14,0,null,null,3,"option",[],null,null,null,null,null)),i["ɵdid"](15,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{ngValue:[0,"ngValue"]},null),i["ɵdid"](16,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(t()(),i["ɵted"](-1,null,["-- Default --"])),(t()(),i["ɵeld"](18,0,null,null,3,"option",[],null,null,null,null,null)),i["ɵdid"](19,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{ngValue:[0,"ngValue"]},null),i["ɵdid"](20,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(t()(),i["ɵted"](-1,null,["true"])),(t()(),i["ɵeld"](22,0,null,null,3,"option",[],null,null,null,null,null)),i["ɵdid"](23,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{ngValue:[0,"ngValue"]},null),i["ɵdid"](24,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(t()(),i["ɵted"](-1,null,["false"]))],(function(t,e){t(e,1,0),t(e,10,0,e.parent.context.$implicit),t(e,13,0,e.parent.context.$implicit),t(e,15,0,null),t(e,16,0,null),t(e,19,0,!0),t(e,20,0,!0),t(e,23,0,!1),t(e,24,0,!1)}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).hasErrors,i["ɵnov"](e,1).hasSuccess),t(e,4,0,e.parent.context.$implicit),t(e,5,0,e.parent.context.$implicit),t(e,7,0,i["ɵnov"](e,12).ngClassUntouched,i["ɵnov"](e,12).ngClassTouched,i["ɵnov"](e,12).ngClassPristine,i["ɵnov"](e,12).ngClassDirty,i["ɵnov"](e,12).ngClassValid,i["ɵnov"](e,12).ngClassInvalid,i["ɵnov"](e,12).ngClassPending,i["ɵnov"](e,13).validClass,i["ɵnov"](e,13).invalidClass)}))}function Ac(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](1,null,[" "," "]))],null,(function(t,e){t(e,1,0,e.component.patternHelpText)}))}function Ec(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](1,null,[" "," "]))],null,(function(t,e){t(e,1,0,e.component.patternHelpText)}))}function Dc(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](1,null,["The entered value is too high! It must not be greater than ","."]))],null,(function(t,e){t(e,1,0,e.component.maxValue)}))}function Lc(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](1,null,["The entered value is too low! It must not be lower than ","."]))],null,(function(t,e){t(e,1,0,e.component.minValue)}))}function qc(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,21,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](1,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,15,{FormControlNames:1}),i["ɵqud"](603979776,16,{messagesBlock:0}),(t()(),i["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label"]],[[8,"htmlFor",0]],null,null,null,null)),(t()(),i["ɵted"](5,null,[""," "])),(t()(),i["ɵeld"](6,0,null,0,15,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](7,0,null,null,6,"input",[["class","form-control"]],[[8,"type",0],[8,"id",0],[8,"placeholder",0],[8,"step",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,8)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,8).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,8)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,8)._compositionEnd(n.target.value)&&a),a}),null,null)),i["ɵdid"](8,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](10,671744,[[15,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](12,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](13,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Ac)),i["ɵdid"](15,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Ec)),i["ɵdid"](17,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Dc)),i["ɵdid"](19,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Lc)),i["ɵdid"](21,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0),t(e,10,0,e.parent.context.$implicit),t(e,13,0,e.parent.context.$implicit),t(e,15,0,n.configForm.showError(e.parent.context.$implicit,i["ɵnov"](e.parent.parent,3),"pattern")),t(e,17,0,n.configForm.showError(e.parent.context.$implicit,i["ɵnov"](e.parent.parent,3),"invalidUuid")),t(e,19,0,n.configForm.showError(e.parent.context.$implicit,i["ɵnov"](e.parent.parent,3),"max")),t(e,21,0,n.configForm.showError(e.parent.context.$implicit,i["ɵnov"](e.parent.parent,3),"min"))}),(function(t,e){var n=e.component;t(e,0,0,i["ɵnov"](e,1).hasErrors,i["ɵnov"](e,1).hasSuccess),t(e,4,0,e.parent.context.$implicit),t(e,5,0,e.parent.context.$implicit),t(e,7,1,[n.inputType,e.parent.context.$implicit,n.humanReadableType,n.getStep(n.type,n.configForm.getValue(e.parent.context.$implicit)),i["ɵnov"](e,12).ngClassUntouched,i["ɵnov"](e,12).ngClassTouched,i["ɵnov"](e,12).ngClassPristine,i["ɵnov"](e,12).ngClassDirty,i["ɵnov"](e,12).ngClassValid,i["ɵnov"](e,12).ngClassInvalid,i["ɵnov"](e,12).ngClassPending,i["ɵnov"](e,13).validClass,i["ɵnov"](e,13).invalidClass])}))}function jc(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,4,null,null,null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Rc)),i["ɵdid"](2,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,qc)),i["ɵdid"](4,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](0,null,null,0))],(function(t,e){var n=e.component;t(e,2,0,"bool"===n.type),t(e,4,0,"bool"!==n.type)}),null)}function Fc(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,52,"div",[["class","cd-col-form"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,51,"form",[["name","configForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(t,e,n){var a=!0;return"submit"===e&&(a=!1!==i["ɵnov"](t,3).onSubmit(n)&&a),"reset"===e&&(a=!1!==i["ɵnov"](t,3).onReset()&&a),"submit"===e&&(a=!1!==i["ɵnov"](t,6).onSubmit()&&a),a}),null,null)),i["ɵdid"](2,16384,null,0,W.G,[],null,null),i["ɵdid"](3,540672,[["formDir",4]],0,W.l,[[8,null],[8,null]],{form:[0,"form"]},null),i["ɵprd"](2048,null,W.d,null,[W.l]),i["ɵdid"](5,16384,null,0,W.s,[[4,W.d]],null,null),i["ɵdid"](6,16384,null,0,K.d,[],{formGroup:[0,"formGroup"]},null),(t()(),i["ɵeld"](7,0,null,null,45,"div",[["class","card"]],null,null,null,null,null)),(t()(),i["ɵeld"](8,0,null,null,3,"div",[["class","card-header"]],null,null,null,null,null)),(t()(),i["ɵeld"](9,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Edit"])),(t()(),i["ɵted"](11,null,[" "," "])),(t()(),i["ɵeld"](12,0,null,null,32,"div",[["class","card-body"]],null,null,null,null,null)),(t()(),i["ɵeld"](13,0,null,null,13,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](14,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,1,{FormControlNames:1}),i["ɵqud"](603979776,2,{messagesBlock:0}),(t()(),i["ɵeld"](17,0,null,0,1,"label",[["class","cd-col-form-label"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Name"])),(t()(),i["ɵeld"](19,0,null,0,7,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](20,0,null,null,6,"input",[["class","form-control"],["formControlName","name"],["id","name"],["readonly",""],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,21)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,21).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,21)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,21)._compositionEnd(n.target.value)&&a),a}),null,null)),i["ɵdid"](21,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](23,671744,[[1,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](25,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](26,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,wc)),i["ɵdid"](28,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Tc)),i["ɵdid"](30,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Sc)),i["ɵdid"](32,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,kc)),i["ɵdid"](34,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Nc)),i["ɵdid"](36,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](37,0,null,null,7,"div",[["formGroupName","values"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],null,null,null,null)),i["ɵdid"](38,212992,null,0,W.m,[[3,W.d],[8,null],[8,null]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.d,null,[W.m]),i["ɵdid"](40,16384,null,0,W.s,[[4,W.d]],null,null),(t()(),i["ɵeld"](41,0,null,null,1,"h2",[["class","cd-header"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Values"])),(t()(),i["ɵand"](16777216,null,null,1,null,jc)),i["ɵdid"](44,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵeld"](45,0,null,null,7,"div",[["class","card-footer"]],null,null,null,null,null)),(t()(),i["ɵeld"](46,0,null,null,6,"div",[["class","button-group text-right"]],null,null,null,null,null)),(t()(),i["ɵeld"](47,0,null,null,3,"cd-submit-button",[],null,[[null,"submitAction"]],(function(t,e,n){var a=!0;return"submitAction"===e&&(a=!1!==t.component.submit()&&a),a}),ri.b,ri.a)),i["ɵdid"](48,114688,null,0,oi.a,[i.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(t()(),i["ɵeld"](49,0,null,0,1,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Save"])),(t()(),i["ɵeld"](51,0,null,null,1,"cd-back-button",[],null,null,null,ii.b,ii.a)),i["ɵdid"](52,49152,null,0,si.a,[o.Location,vt.b],null,null)],(function(t,e){var n=e.component;t(e,3,0,n.configForm),t(e,6,0,n.configForm),t(e,14,0),t(e,23,0,"name"),t(e,26,0,"name"),t(e,28,0,n.configForm.getValue("desc")),t(e,30,0,n.configForm.getValue("long_desc")),t(e,32,0,""!==n.configForm.getValue("default")),t(e,34,0,""!==n.configForm.getValue("daemon_default")),t(e,36,0,n.configForm.getValue("services").length>0),t(e,38,0,"values"),t(e,44,0,n.availSections),t(e,48,0,i["ɵnov"](e,3))}),(function(t,e){var n=e.component;t(e,1,0,i["ɵnov"](e,5).ngClassUntouched,i["ɵnov"](e,5).ngClassTouched,i["ɵnov"](e,5).ngClassPristine,i["ɵnov"](e,5).ngClassDirty,i["ɵnov"](e,5).ngClassValid,i["ɵnov"](e,5).ngClassInvalid,i["ɵnov"](e,5).ngClassPending),t(e,11,0,n.configForm.getValue("name")),t(e,13,0,i["ɵnov"](e,14).hasErrors,i["ɵnov"](e,14).hasSuccess),t(e,20,0,i["ɵnov"](e,25).ngClassUntouched,i["ɵnov"](e,25).ngClassTouched,i["ɵnov"](e,25).ngClassPristine,i["ɵnov"](e,25).ngClassDirty,i["ɵnov"](e,25).ngClassValid,i["ɵnov"](e,25).ngClassInvalid,i["ɵnov"](e,25).ngClassPending,i["ɵnov"](e,26).validClass,i["ɵnov"](e,26).invalidClass),t(e,37,0,i["ɵnov"](e,40).ngClassUntouched,i["ɵnov"](e,40).ngClassTouched,i["ɵnov"](e,40).ngClassPristine,i["ɵnov"](e,40).ngClassDirty,i["ɵnov"](e,40).ngClassValid,i["ɵnov"](e,40).ngClassInvalid,i["ɵnov"](e,40).ngClassPending)}))}function zc(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-configuration-form",[],null,null,null,Fc,xc)),i["ɵdid"](1,114688,null,0,Mc,[St.a,St.m,gs.a,gt.a,ia.a],null,null)],(function(t,e){t(e,1,0)}),null)}var Gc=i["ɵccf"]("cd-configuration-form",Mc,zc,{},{},[]),Bc=n("LOMR"),Vc=n("MP8s"),Yc=n("fxL3"),Hc=n("gk6K"),Uc=n("mrSG"),Wc=n("yYhs");class Kc{constructor(t){this.healthService=t,this.icons=ut.a,this.loadingIndicator=!0,this.nodes=[],this.treeOptions={useVirtualScroll:!0,actionMapping:{mouse:{click:this.onNodeSelected.bind(this)}}},this.metadataKeyMap={}}ngOnInit(){this.healthService.getFullHealth().subscribe(t=>{this.loadingIndicator=!1,this.nodes=this.abstractTreeData(t)})}abstractTreeData(t){const e=t.osd_map.tree.nodes||[],n={};if(0===e.length)return[{name:"No nodes!"}];const a=[];return e.reverse().forEach(t=>{"root"===t.type&&a.push(t.id),n[t.id]=this.generateTreeLeaf(t,n)}),a.map(t=>n[t])}generateTreeLeaf(t,e){const n=t.id;this.metadataKeyMap[n]=t;const a=[],r={name:t.name+" ("+t.type+")",status:t.status,cdId:n,type:t.type};return t.children&&(t.children.sort().forEach(t=>{a.push(e[t])}),r.children=a),r}onNodeSelected(t,e){if(Wc.a.ACTIVATE(t,e,!0),void 0!==e.data.cdId){const t=this.metadataKeyMap[e.data.cdId],{name:n,type:a}=t,r=Uc.__rest(t,["name","type","status"]);this.metadata=r,this.metadataTitle=n+" ("+a+")"}else delete this.metadata,delete this.metadataTitle}onUpdateData(){this.tree.treeModel.expandAll()}}var $c=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Zc(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"i",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](2,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](3,3)],(function(t,e){var n=e.component,a=t(e,3,0,n.icons.large,n.icons.spinner,n.icons.spin);t(e,2,0,a)}),null)}function Jc(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,"span",[["class","badge"]],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](2,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),i["ɵpad"](3,2),i["ɵpad"](4,3),i["ɵpod"](5,{"badge-success":0,"badge-danger":1}),(t()(),i["ɵted"](6,null,[" "," "]))],(function(t,e){var n=t(e,5,0,t(e,3,0,"in","up").includes(e.parent.context.$implicit.data.status),t(e,4,0,"down","out","destroyed").includes(e.parent.context.$implicit.data.status));t(e,2,0,"badge",n)}),(function(t,e){t(e,6,0,e.parent.context.$implicit.data.status)}))}function Xc(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,Jc)),i["ɵdid"](1,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](2,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,[" "])),(t()(),i["ɵeld"](4,0,null,null,3,"span",[["class","node-name"]],[[8,"innerHTML",1]],null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](6,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),i["ɵpod"](7,{"type-osd":0})],(function(t,e){t(e,1,0,e.context.$implicit.data.status);var n=t(e,7,0,"osd"===e.context.$implicit.data.type);t(e,6,0,"node-name",n)}),(function(t,e){t(e,4,0,e.context.$implicit.data.name)}))}function Qc(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,4,"div",[["class","col-sm-6 col-lg-6 metadata"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,1,"legend",[],null,null,null,null,null)),(t()(),i["ɵted"](2,null,["",""])),(t()(),i["ɵeld"](3,0,null,null,1,"cd-table-key-value",[],null,null,null,Kr.b,Kr.a)),i["ɵdid"](4,638976,null,0,$r.a,[se.a],{data:[0,"data"]},null)],(function(t,e){t(e,4,0,e.component.metadata)}),(function(t,e){t(e,2,0,e.component.metadataTitle)}))}function tl(t){return i["ɵvid"](0,[i["ɵqud"](671088640,1,{tree:0}),(t()(),i["ɵeld"](1,0,null,null,19,"div",[["class","row"]],null,null,null,null,null)),(t()(),i["ɵeld"](2,0,null,null,18,"div",[["class","col-sm-12 col-lg-12"]],null,null,null,null,null)),(t()(),i["ɵeld"](3,0,null,null,17,"div",[["class","card"]],null,null,null,null,null)),(t()(),i["ɵeld"](4,0,null,null,1,"div",[["class","card-header"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["CRUSH map viewer"])),(t()(),i["ɵeld"](6,0,null,null,14,"div",[["class","card-body"]],null,null,null,null,null)),(t()(),i["ɵeld"](7,0,null,null,13,"div",[["class","row"]],null,null,null,null,null)),(t()(),i["ɵeld"](8,0,null,null,10,"div",[["class","col-sm-6 col-lg-6"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Zc)),i["ɵdid"](10,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](11,0,null,null,7,"tree-root",[],null,[[null,"updateData"],["body","keydown"],["body","mousedown"]],(function(t,e,n){var a=!0,r=t.component;return"body:keydown"===e&&(a=!1!==i["ɵnov"](t,13).onKeydown(n)&&a),"body:mousedown"===e&&(a=!1!==i["ɵnov"](t,13).onMousedown(n)&&a),"updateData"===e&&(a=!1!==r.onUpdateData()&&a),a}),Bc.b,Bc.a)),i["ɵprd"](131584,null,Vc.a,Vc.a,[]),i["ɵdid"](13,573440,[[1,4],["tree",4]],4,Yc.a,[Vc.a,Hc.a],{nodes:[0,"nodes"],options:[1,"options"]},{updateData:"updateData"}),i["ɵqud"](603979776,2,{loadingTemplate:0}),i["ɵqud"](603979776,3,{treeNodeTemplate:0}),i["ɵqud"](603979776,4,{treeNodeWrapperTemplate:0}),i["ɵqud"](603979776,5,{treeNodeFullTemplate:0}),(t()(),i["ɵand"](0,[[3,2],["treeNodeTemplate",2]],null,0,null,Xc)),(t()(),i["ɵand"](16777216,null,null,1,null,Qc)),i["ɵdid"](20,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,10,0,n.loadingIndicator),t(e,13,0,n.nodes,n.treeOptions),t(e,20,0,n.metadata)}),null)}function el(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-crushmap",[],null,null,null,tl,$c)),i["ɵdid"](1,114688,null,0,Kc,[ga],null,null)],(function(t,e){t(e,1,0)}),null)}var nl=i["ɵccf"]("cd-crushmap",Kc,el,{},{},[]),al=n("AfCQ");let rl=(()=>{class t{writeValue(e){return{type:t.WRITE_VALUE,payload:e}}changeHours(e){return{type:t.CHANGE_HOURS,payload:e}}changeMinutes(e){return{type:t.CHANGE_MINUTES,payload:e}}changeSeconds(e){return{type:t.CHANGE_SECONDS,payload:e}}setTime(e){return{type:t.SET_TIME_UNIT,payload:e}}updateControls(e){return{type:t.UPDATE_CONTROLS,payload:e}}}return t.WRITE_VALUE="[timepicker] write value from ng model",t.CHANGE_HOURS="[timepicker] change hours",t.CHANGE_MINUTES="[timepicker] change minutes",t.CHANGE_SECONDS="[timepicker] change seconds",t.SET_TIME_UNIT="[timepicker] set time unit",t.UPDATE_CONTROLS="[timepicker] update controls",t})();function ol(t){return!!t&&!(t instanceof Date&&isNaN(t.getHours()))&&("string"!=typeof t||ol(new Date(t)))}function il(t,e){return!(t.min&&e<t.min||t.max&&e>t.max)}function sl(t){return"number"==typeof t?t:parseInt(t,10)}function cl(t,e=!1){const n=sl(t);return isNaN(n)||n<0||n>(e?12:24)?NaN:n}function ll(t){const e=sl(t);return isNaN(e)||e<0||e>60?NaN:e}function dl(t){const e=sl(t);return isNaN(e)||e<0||e>60?NaN:e}function ul(t){return"string"==typeof t?new Date(t):t}function gl(t,e){if(!t)return gl(pl(new Date,0,0,0),e);let n=t.getHours(),a=t.getMinutes(),r=t.getSeconds();return e.hour&&(n=(n+sl(e.hour))%24,n<0&&(n+=24)),e.minute&&(a+=sl(e.minute)),e.seconds&&(r+=sl(e.seconds)),pl(t,n,a,r)}function fl(t,e){let n=cl(e.hour);const a=ll(e.minute),r=dl(e.seconds)||0;return e.isPM&&12!==n&&(n+=12),t?isNaN(n)||isNaN(a)?t:pl(t,n,a,r):isNaN(n)||isNaN(a)?t:pl(new Date,n,a,r)}function pl(t,e,n,a){return new Date(t.getFullYear(),t.getMonth(),t.getDate(),e,n,a,t.getMilliseconds())}function ml(t){const e=t.toString();return e.length>1?e:`0${e}`}function hl(t,e){return!isNaN(cl(t,e))}function bl(t){return!isNaN(ll(t))}function yl(t){return!isNaN(dl(t))}function _l(t,e="0",n="0",a){return hl(t,a)&&bl(e)&&yl(n)}function Ol(t,e){if(t.readonlyInput||t.disabled)return!1;if(e){if("wheel"===e.source&&!t.mousewheel)return!1;if("key"===e.source&&!t.arrowkeys)return!1}return!0}function vl(t){const{hourStep:e,minuteStep:n,secondsStep:a,readonlyInput:r,disabled:o,mousewheel:i,arrowkeys:s,showSpinners:c,showMeridian:l,showSeconds:d,meridians:u,min:g,max:f}=t;return{hourStep:e,minuteStep:n,secondsStep:a,readonlyInput:r,disabled:o,mousewheel:i,arrowkeys:s,showSpinners:c,showMeridian:l,showSeconds:d,meridians:u,min:g,max:f}}class Cl{constructor(){this.hourStep=1,this.minuteStep=5,this.secondsStep=10,this.showMeridian=!0,this.meridians=["AM","PM"],this.readonlyInput=!1,this.disabled=!1,this.mousewheel=!0,this.arrowkeys=!0,this.showSpinners=!0,this.showSeconds=!1,this.showMinutes=!0}}const Pl={value:null,config:new Cl,controls:{canIncrementHours:!0,canIncrementMinutes:!0,canIncrementSeconds:!0,canDecrementHours:!0,canDecrementMinutes:!0,canDecrementSeconds:!0,canToggleMeridian:!0}};function Ml(t=Pl,e){switch(e.type){case rl.WRITE_VALUE:return Object.assign({},t,{value:e.payload});case rl.CHANGE_HOURS:{if(!Ol(t.config,e.payload)||(a=t.controls,!(n=e.payload).step||n.step>0&&!a.canIncrementHours||n.step<0&&!a.canDecrementHours))return t;const r=gl(t.value,{hour:e.payload.step});return!t.config.max&&!t.config.min||il(t.config,r)?Object.assign({},t,{value:r}):t}case rl.CHANGE_MINUTES:{if(!Ol(t.config,e.payload)||!function(t,e){return!(!t.step||t.step>0&&!e.canIncrementMinutes||t.step<0&&!e.canDecrementMinutes)}(e.payload,t.controls))return t;const n=gl(t.value,{minute:e.payload.step});return!t.config.max&&!t.config.min||il(t.config,n)?Object.assign({},t,{value:n}):t}case rl.CHANGE_SECONDS:{if(!Ol(t.config,e.payload)||!function(t,e){return!(!t.step||t.step>0&&!e.canIncrementSeconds||t.step<0&&!e.canDecrementSeconds)}(e.payload,t.controls))return t;const n=gl(t.value,{seconds:e.payload.step});return!t.config.max&&!t.config.min||il(t.config,n)?Object.assign({},t,{value:n}):t}case rl.SET_TIME_UNIT:{if(!Ol(t.config))return t;const n=fl(t.value,e.payload);return Object.assign({},t,{value:n})}case rl.UPDATE_CONTROLS:{const n=function(t,e){const{min:n,max:a,hourStep:r,minuteStep:o,secondsStep:i,showSeconds:s}=e,c={canIncrementHours:!0,canIncrementMinutes:!0,canIncrementSeconds:!0,canDecrementHours:!0,canDecrementMinutes:!0,canDecrementSeconds:!0,canToggleMeridian:!0};if(!t)return c;if(a){const e=gl(t,{hour:r});if(c.canIncrementHours=a>e,!c.canIncrementHours){const e=gl(t,{minute:o});c.canIncrementMinutes=s?a>e:a>=e}if(!c.canIncrementMinutes){const e=gl(t,{seconds:i});c.canIncrementSeconds=a>=e}t.getHours()<12&&(c.canToggleMeridian=gl(t,{hour:12})<a)}if(n){const e=gl(t,{hour:-r});if(c.canDecrementHours=n<e,!c.canDecrementHours){const e=gl(t,{minute:-o});c.canDecrementMinutes=s?n<e:n<=e}if(!c.canDecrementMinutes){const e=gl(t,{seconds:-i});c.canDecrementSeconds=n<=e}t.getHours()>=12&&(c.canToggleMeridian=gl(t,{hour:-12})>n)}return c}(t.value,e.payload),a={value:t.value,config:e.payload,controls:n};return t.config.showMeridian!==a.config.showMeridian&&t.value&&(a.value=new Date(t.value)),Object.assign({},t,a)}default:return t}var n,a}class xl extends al.b{constructor(){const t=new fa.a({type:"[mini-ngrx] dispatcher init"});super(t,Ml,new al.a(Pl,t,Ml))}}class wl{constructor(t,e,n,a){this._cd=e,this._store=n,this._timepickerActions=a,this.isValid=new i.EventEmitter,this.invalidHours=!1,this.invalidMinutes=!1,this.invalidSeconds=!1,this.onChange=Function.prototype,this.onTouched=Function.prototype,Object.assign(this,t),this.timepickerSub=n.select(t=>t.value).subscribe(t=>{this._renderTime(t),this.onChange(t),this._store.dispatch(this._timepickerActions.updateControls(vl(this)))}),n.select(t=>t.controls).subscribe(t=>{this.isValid.emit(_l(this.hours,this.minutes,this.seconds,this.isPM())),Object.assign(this,t),e.markForCheck()})}get isSpinnersVisible(){return this.showSpinners&&!this.readonlyInput}get isEditable(){return!(this.readonlyInput||this.disabled)}resetValidation(){this.invalidHours=!1,this.invalidMinutes=!1,this.invalidSeconds=!1}isPM(){return this.showMeridian&&this.meridian===this.meridians[1]}prevDef(t){t.preventDefault()}wheelSign(t){return-1*Math.sign(t.deltaY)}ngOnChanges(t){this._store.dispatch(this._timepickerActions.updateControls(vl(this)))}changeHours(t,e=""){this.resetValidation(),this._store.dispatch(this._timepickerActions.changeHours({step:t,source:e}))}changeMinutes(t,e=""){this.resetValidation(),this._store.dispatch(this._timepickerActions.changeMinutes({step:t,source:e}))}changeSeconds(t,e=""){this.resetValidation(),this._store.dispatch(this._timepickerActions.changeSeconds({step:t,source:e}))}updateHours(t){if(this.resetValidation(),this.hours=t,!hl(this.hours,this.isPM())||!this.isValidLimit())return this.invalidHours=!0,this.isValid.emit(!1),void this.onChange(null);this._updateTime()}updateMinutes(t){if(this.resetValidation(),this.minutes=t,!bl(this.minutes)||!this.isValidLimit())return this.invalidMinutes=!0,this.isValid.emit(!1),void this.onChange(null);this._updateTime()}updateSeconds(t){if(this.resetValidation(),this.seconds=t,!yl(this.seconds)||!this.isValidLimit())return this.invalidSeconds=!0,this.isValid.emit(!1),void this.onChange(null);this._updateTime()}isValidLimit(){return function(t,e,n){const a=fl(new Date,t);return!(e&&a>e||n&&a<n)}({hour:this.hours,minute:this.minutes,seconds:this.seconds,isPM:this.isPM()},this.max,this.min)}_updateTime(){if(!_l(this.hours,this.showMinutes?this.minutes:void 0,this.showSeconds?this.seconds:void 0,this.isPM()))return this.isValid.emit(!1),void this.onChange(null);this._store.dispatch(this._timepickerActions.setTime({hour:this.hours,minute:this.minutes,seconds:this.seconds,isPM:this.isPM()}))}toggleMeridian(){this.showMeridian&&this.isEditable&&this._store.dispatch(this._timepickerActions.changeHours({step:12,source:""}))}writeValue(t){ol(t)?this._store.dispatch(this._timepickerActions.writeValue(ul(t))):null==t&&this._store.dispatch(this._timepickerActions.writeValue(null))}registerOnChange(t){this.onChange=t}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this.disabled=t,this._cd.markForCheck()}ngOnDestroy(){this.timepickerSub.unsubscribe()}_renderTime(t){if(!ol(t))return this.hours="",this.minutes="",this.seconds="",void(this.meridian=this.meridians[0]);const e=ul(t);let n=e.getHours();this.showMeridian&&(this.meridian=this.meridians[n>=12?1:0],n%=12,0===n&&(n=12)),this.hours=ml(n),this.minutes=ml(e.getMinutes()),this.seconds=ml(e.getUTCSeconds())}}class Tl{static forRoot(){return{ngModule:Tl,providers:[Cl,rl,xl]}}}var Sl=i["ɵcrt"]({encapsulation:2,styles:["\n    .bs-chevron {\n      border-style: solid;\n      display: block;\n      width: 9px;\n      height: 9px;\n      position: relative;\n      border-width: 3px 0px 0 3px;\n    }\n\n    .bs-chevron-up {\n      -webkit-transform: rotate(45deg);\n      transform: rotate(45deg);\n      top: 2px;\n    }\n\n    .bs-chevron-down {\n      -webkit-transform: rotate(-135deg);\n      transform: rotate(-135deg);\n      top: -2px;\n    }\n\n    .bs-timepicker-field {\n      width: 50px;\n    }\n  "],data:{}});function kl(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["   "]))],null,null)}function Il(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"td",[],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,1,"a",[["class","btn btn-link"]],[[2,"disabled",null]],[[null,"click"]],(function(t,e,n){var a=!0,r=t.component;return"click"===e&&(a=!1!==r.changeMinutes(r.minuteStep)&&a),a}),null,null)),(t()(),i["ɵeld"](2,0,null,null,0,"span",[["class","bs-chevron bs-chevron-up"]],null,null,null,null,null))],null,(function(t,e){var n=e.component;t(e,1,0,!n.canIncrementMinutes||!n.isEditable)}))}function Nl(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,[" "]))],null,null)}function Rl(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"td",[],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,1,"a",[["class","btn btn-link"]],[[2,"disabled",null]],[[null,"click"]],(function(t,e,n){var a=!0,r=t.component;return"click"===e&&(a=!1!==r.changeSeconds(r.secondsStep)&&a),a}),null,null)),(t()(),i["ɵeld"](2,0,null,null,0,"span",[["class","bs-chevron bs-chevron-up"]],null,null,null,null,null))],null,(function(t,e){var n=e.component;t(e,1,0,!n.canIncrementSeconds||!n.isEditable)}))}function Al(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["   "]))],null,null)}function El(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,0,"td",[],null,null,null,null,null))],null,null)}function Dl(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,[" : "]))],null,null)}function Ll(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"td",[["class","form-group"]],[[2,"has-error",null]],null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,0,"input",[["class","form-control text-center bs-timepicker-field"],["maxlength","2"],["placeholder","MM"],["type","text"]],[[2,"is-invalid",null],[8,"readOnly",0],[8,"disabled",0],[8,"value",0]],[[null,"wheel"],[null,"keydown.ArrowUp"],[null,"keydown.ArrowDown"],[null,"change"]],(function(t,e,n){var a=!0,r=t.component;return"wheel"===e&&(r.prevDef(n),a=!1!==r.changeMinutes(r.minuteStep*r.wheelSign(n),"wheel")&&a),"keydown.ArrowUp"===e&&(a=!1!==r.changeMinutes(r.minuteStep,"key")&&a),"keydown.ArrowDown"===e&&(a=!1!==r.changeMinutes(0-r.minuteStep,"key")&&a),"change"===e&&(a=!1!==r.updateMinutes(n.target.value)&&a),a}),null,null))],null,(function(t,e){var n=e.component;t(e,0,0,n.invalidMinutes),t(e,1,0,n.invalidMinutes,n.readonlyInput,n.disabled,n.minutes)}))}function ql(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,[" : "]))],null,null)}function jl(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"td",[["class","form-group"]],[[2,"has-error",null]],null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,0,"input",[["class","form-control text-center bs-timepicker-field"],["maxlength","2"],["placeholder","SS"],["type","text"]],[[2,"is-invalid",null],[8,"readOnly",0],[8,"disabled",0],[8,"value",0]],[[null,"wheel"],[null,"keydown.ArrowUp"],[null,"keydown.ArrowDown"],[null,"change"]],(function(t,e,n){var a=!0,r=t.component;return"wheel"===e&&(r.prevDef(n),a=!1!==r.changeSeconds(r.secondsStep*r.wheelSign(n),"wheel")&&a),"keydown.ArrowUp"===e&&(a=!1!==r.changeSeconds(r.secondsStep,"key")&&a),"keydown.ArrowDown"===e&&(a=!1!==r.changeSeconds(0-r.secondsStep,"key")&&a),"change"===e&&(a=!1!==r.updateSeconds(n.target.value)&&a),a}),null,null))],null,(function(t,e){var n=e.component;t(e,0,0,n.invalidSeconds),t(e,1,0,n.invalidSeconds,n.readonlyInput,n.disabled,n.seconds)}))}function Fl(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["   "]))],null,null)}function zl(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"td",[],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,1,"button",[["class","btn btn-default text-center"],["type","button"]],[[8,"disabled",0],[2,"disabled",null]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.toggleMeridian()&&a),a}),null,null)),(t()(),i["ɵted"](2,null,[""," "]))],null,(function(t,e){var n=e.component;t(e,1,0,!n.isEditable||!n.canToggleMeridian,!n.isEditable||!n.canToggleMeridian),t(e,2,0,n.meridian)}))}function Gl(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["   "]))],null,null)}function Bl(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"td",[],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,1,"a",[["class","btn btn-link"]],[[2,"disabled",null]],[[null,"click"]],(function(t,e,n){var a=!0,r=t.component;return"click"===e&&(a=!1!==r.changeMinutes(0-r.minuteStep)&&a),a}),null,null)),(t()(),i["ɵeld"](2,0,null,null,0,"span",[["class","bs-chevron bs-chevron-down"]],null,null,null,null,null))],null,(function(t,e){var n=e.component;t(e,1,0,!n.canDecrementMinutes||!n.isEditable)}))}function Vl(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,[" "]))],null,null)}function Yl(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"td",[],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,1,"a",[["class","btn btn-link"]],[[2,"disabled",null]],[[null,"click"]],(function(t,e,n){var a=!0,r=t.component;return"click"===e&&(a=!1!==r.changeSeconds(0-r.secondsStep)&&a),a}),null,null)),(t()(),i["ɵeld"](2,0,null,null,0,"span",[["class","bs-chevron bs-chevron-down"]],null,null,null,null,null))],null,(function(t,e){var n=e.component;t(e,1,0,!n.canDecrementSeconds||!n.isEditable)}))}function Hl(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"td",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["   "]))],null,null)}function Ul(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,0,"td",[],null,null,null,null,null))],null,null)}function Wl(t){return i["ɵvid"](2,[(t()(),i["ɵeld"](0,0,null,null,48,"table",[],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,47,"tbody",[],null,null,null,null,null)),(t()(),i["ɵeld"](2,0,null,null,15,"tr",[["class","text-center"]],[[8,"hidden",0]],null,null,null,null)),(t()(),i["ɵeld"](3,0,null,null,2,"td",[],null,null,null,null,null)),(t()(),i["ɵeld"](4,0,null,null,1,"a",[["class","btn btn-link"]],[[2,"disabled",null]],[[null,"click"]],(function(t,e,n){var a=!0,r=t.component;return"click"===e&&(a=!1!==r.changeHours(r.hourStep)&&a),a}),null,null)),(t()(),i["ɵeld"](5,0,null,null,0,"span",[["class","bs-chevron bs-chevron-up"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,kl)),i["ɵdid"](7,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Il)),i["ɵdid"](9,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Nl)),i["ɵdid"](11,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Rl)),i["ɵdid"](13,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Al)),i["ɵdid"](15,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,El)),i["ɵdid"](17,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](18,0,null,null,14,"tr",[],null,null,null,null,null)),(t()(),i["ɵeld"](19,0,null,null,1,"td",[["class","form-group"]],[[2,"has-error",null]],null,null,null,null)),(t()(),i["ɵeld"](20,0,null,null,0,"input",[["class","form-control text-center bs-timepicker-field"],["maxlength","2"],["placeholder","HH"],["type","text"]],[[2,"is-invalid",null],[8,"readOnly",0],[8,"disabled",0],[8,"value",0]],[[null,"wheel"],[null,"keydown.ArrowUp"],[null,"keydown.ArrowDown"],[null,"change"]],(function(t,e,n){var a=!0,r=t.component;return"wheel"===e&&(r.prevDef(n),a=!1!==r.changeHours(r.hourStep*r.wheelSign(n),"wheel")&&a),"keydown.ArrowUp"===e&&(a=!1!==r.changeHours(r.hourStep,"key")&&a),"keydown.ArrowDown"===e&&(a=!1!==r.changeHours(0-r.hourStep,"key")&&a),"change"===e&&(a=!1!==r.updateHours(n.target.value)&&a),a}),null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Dl)),i["ɵdid"](22,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Ll)),i["ɵdid"](24,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,ql)),i["ɵdid"](26,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,jl)),i["ɵdid"](28,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Fl)),i["ɵdid"](30,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,zl)),i["ɵdid"](32,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](33,0,null,null,15,"tr",[["class","text-center"]],[[8,"hidden",0]],null,null,null,null)),(t()(),i["ɵeld"](34,0,null,null,2,"td",[],null,null,null,null,null)),(t()(),i["ɵeld"](35,0,null,null,1,"a",[["class","btn btn-link"]],[[2,"disabled",null]],[[null,"click"]],(function(t,e,n){var a=!0,r=t.component;return"click"===e&&(a=!1!==r.changeHours(0-r.hourStep)&&a),a}),null,null)),(t()(),i["ɵeld"](36,0,null,null,0,"span",[["class","bs-chevron bs-chevron-down"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Gl)),i["ɵdid"](38,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Bl)),i["ɵdid"](40,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Vl)),i["ɵdid"](42,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Yl)),i["ɵdid"](44,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Hl)),i["ɵdid"](46,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Ul)),i["ɵdid"](48,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,7,0,n.showMinutes),t(e,9,0,n.showMinutes),t(e,11,0,n.showSeconds),t(e,13,0,n.showSeconds),t(e,15,0,n.showMeridian),t(e,17,0,n.showMeridian),t(e,22,0,n.showMinutes),t(e,24,0,n.showMinutes),t(e,26,0,n.showSeconds),t(e,28,0,n.showSeconds),t(e,30,0,n.showMeridian),t(e,32,0,n.showMeridian),t(e,38,0,n.showMinutes),t(e,40,0,n.showMinutes),t(e,42,0,n.showSeconds),t(e,44,0,n.showSeconds),t(e,46,0,n.showMeridian),t(e,48,0,n.showMeridian)}),(function(t,e){var n=e.component;t(e,2,0,!n.showSpinners),t(e,4,0,!n.canIncrementHours||!n.isEditable),t(e,19,0,n.invalidHours),t(e,20,0,n.invalidHours,n.readonlyInput,n.disabled,n.hours),t(e,33,0,!n.showSpinners),t(e,35,0,!n.canDecrementHours||!n.isEditable)}))}var Kl=n("E2fk");let $l=(()=>{class t{constructor(t){this.http=t}getLogs(){return this.http.get("api/logs/all")}validateDashboardUrl(t){return this.http.get(`api/grafana/validation/${t}`)}}return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t(i["ɵɵinject"](J.c))},token:t,providedIn:me.a}),t})();class Zl{constructor(t,e,n){this.logsService=t,this.datePipe=e,this.ngZone=n,this.icons=ut.a,this.bsConfig={dateInputFormat:"YYYY-MM-DD",containerClass:"theme-default"},this.prioritys=[{name:"Info",value:"[INF]"},{name:"Warning",value:"[WRN]"},{name:"Error",value:"[ERR]"},{name:"All",value:"All"}],this.priority="All",this.search="",this.startTime=new Date,this.endTime=new Date,this.startTime.setHours(0,0),this.endTime.setHours(23,59)}ngOnInit(){this.getInfo(),this.ngZone.runOutsideAngular(()=>{this.interval=window.setInterval(()=>{this.ngZone.run(()=>{this.getInfo()})},5e3)})}ngOnDestroy(){clearInterval(this.interval)}getInfo(){this.logsService.getLogs().subscribe(t=>{this.contentData=t,this.filterLogs()})}abstractfilters(){const t=this.priority,e=this.search.toLowerCase().replace(/,/g,"");let n;if(this.selectedDate){const t=this.selectedDate.getMonth()+1,e=this.selectedDate.getDate();n=`${this.selectedDate.getFullYear().toString()}-${t<=9?`0${t}`:`${t}`}-${e<=9?`0${e}`:`${e}`}`}else n="";return{priority:t,key:e,yearMonthDay:n,sTime:60*(this.startTime?this.startTime.getHours():0)+(this.startTime?this.startTime.getMinutes():0),eTime:60*(this.endTime?this.endTime.getHours():23)+(this.endTime?this.endTime.getMinutes():59)}}filterExecutor(t,e){return t.filter(t=>{const n=this.datePipe.transform(t.stamp,"mediumTime"),a=parseInt(n.split(":")[0],10),r=parseInt(n.split(":")[1],10);let o,i,s;return o="All"===e.priority?t.priority:e.priority,i=e.yearMonthDay?e.yearMonthDay:t.stamp,s=60*a+r,t.priority===o&&-1!==t.message.toLowerCase().indexOf(e.key)&&-1!==t.stamp.indexOf(i)&&s>=e.sTime&&s<=e.eTime})}filterLogs(){const t=this.abstractfilters();this.clog=this.filterExecutor(this.contentData.clog,t),this.audit_log=this.filterExecutor(this.contentData.audit_log,t)}clearSearchKey(){this.search="",this.filterLogs()}clearDate(){this.selectedDate=null,this.filterLogs()}}var Jl=i["ɵcrt"]({encapsulation:0,styles:[['@charset "UTF-8";.tree-children.tree-children-no-padding[_ngcontent-%COMP%]{padding-left:0}.node-drop-slot[_ngcontent-%COMP%]{display:block;height:2px}.node-drop-slot.is-dragging-over[_ngcontent-%COMP%]{background:#dfe;height:20px;border:2px dotted #888}.toggle-children-wrapper-expanded[_ngcontent-%COMP%]   .toggle-children[_ngcontent-%COMP%]{transform:rotate(90deg)}.toggle-children-wrapper-collapsed[_ngcontent-%COMP%]   .toggle-children[_ngcontent-%COMP%]{transform:rotate(0)}.toggle-children-wrapper[_ngcontent-%COMP%]{padding:2px 3px 5px 1px}.toggle-children[_ngcontent-%COMP%]{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAASCAYAAABSO15qAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABAhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ1dWlkOjY1RTYzOTA2ODZDRjExREJBNkUyRDg4N0NFQUNCNDA3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkYzRkRFQjcxODUzNTExRTU4RTQwRkQwODFEOUZEMEE3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkYzRkRFQjcwODUzNTExRTU4RTQwRkQwODFEOUZEMEE3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE1IChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTk5NzA1OGEtZDI3OC00NDZkLWE4ODgtNGM4MGQ4YWI1NzNmIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6YzRkZmQxMGMtY2NlNS0xMTc4LWE5OGQtY2NkZmM5ODk5YWYwIi8+IDxkYzp0aXRsZT4gPHJkZjpBbHQ+IDxyZGY6bGkgeG1sOmxhbmc9IngtZGVmYXVsdCI+Z2x5cGhpY29uczwvcmRmOmxpPiA8L3JkZjpBbHQ+IDwvZGM6dGl0bGU+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+5iogFwAAAGhJREFUeNpiYGBgKABigf///zOQg0EARH4A4gZyDIIZ8B/JoAJKDIDhB0CcQIkBRBtEyABkgxwoMQCGD6AbRKoBGAYxQgXIBRuZGKgAKPIC3QLxArnRSHZCIjspk52ZKMrOFBUoAAEGAKnq593MQAZtAAAAAElFTkSuQmCC);height:8px;width:9px;background-size:contain;display:inline-block;position:relative;top:1px;background-repeat:no-repeat;background-position:center}.toggle-children-placeholder[_ngcontent-%COMP%]{display:inline-block;height:10px;width:10px;position:relative;top:1px;padding-right:3px}.node-content-wrapper[_ngcontent-%COMP%]{display:inline-block;padding:2px 5px;border-radius:2px;transition:background-color .15s,box-shadow .15s}.node-wrapper[_ngcontent-%COMP%]{display:flex;align-items:flex-start}.node-content-wrapper-active[_ngcontent-%COMP%], .node-content-wrapper-active.node-content-wrapper-focused[_ngcontent-%COMP%], .node-content-wrapper.node-content-wrapper-active[_ngcontent-%COMP%]:hover{background:#beebff}.node-content-wrapper-focused[_ngcontent-%COMP%]{background:#e7f4f9}.node-content-wrapper[_ngcontent-%COMP%]:hover{background:#f7fbff}.node-content-wrapper-active[_ngcontent-%COMP%], .node-content-wrapper-focused[_ngcontent-%COMP%], .node-content-wrapper[_ngcontent-%COMP%]:hover{box-shadow:inset 0 0 1px #999}.node-content-wrapper.is-dragging-over[_ngcontent-%COMP%]{background:#dfe;box-shadow:inset 0 0 1px #999}.node-content-wrapper.is-dragging-over-disabled[_ngcontent-%COMP%]{opacity:.5}tree-viewport[_ngcontent-%COMP%]{-webkit-tap-highlight-color:transparent;height:100%;overflow:auto;display:block}.tree-children[_ngcontent-%COMP%]{overflow:hidden;padding-left:20px}.empty-tree-drop-slot[_ngcontent-%COMP%]   .node-drop-slot[_ngcontent-%COMP%]{height:20px;min-width:100px}.angular-tree-component[_ngcontent-%COMP%]{width:100%;position:relative;display:inline-block;cursor:pointer;-webkit-touch-callout:none;-moz-user-select:none;user-select:none}tree-root[_ngcontent-%COMP%]   .angular-tree-component-rtl[_ngcontent-%COMP%]{direction:rtl}tree-root[_ngcontent-%COMP%]   .angular-tree-component-rtl[_ngcontent-%COMP%]   .toggle-children-wrapper-collapsed[_ngcontent-%COMP%]   .toggle-children[_ngcontent-%COMP%]{transform:rotate(180deg)!important}tree-root[_ngcontent-%COMP%]   .angular-tree-component-rtl[_ngcontent-%COMP%]   .tree-children[_ngcontent-%COMP%]{padding-right:20px;padding-left:0}tree-node-checkbox[_ngcontent-%COMP%]{padding:1px}[_ngcontent-%COMP%]:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#2b99a8;--secondary:#ef5c55;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#777777;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:"Helvetica Neue",Helvetica,Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*[_ngcontent-%COMP%], [_ngcontent-%COMP%]::after, [_ngcontent-%COMP%]::before{box-sizing:border-box}html[_ngcontent-%COMP%]{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article[_ngcontent-%COMP%], aside[_ngcontent-%COMP%], figcaption[_ngcontent-%COMP%], figure[_ngcontent-%COMP%], footer[_ngcontent-%COMP%], header[_ngcontent-%COMP%], hgroup[_ngcontent-%COMP%], main[_ngcontent-%COMP%], nav[_ngcontent-%COMP%], section[_ngcontent-%COMP%]{display:block}body[_ngcontent-%COMP%]{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"][_ngcontent-%COMP%]:focus{outline:0!important}h1[_ngcontent-%COMP%], h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%], h4[_ngcontent-%COMP%], h5[_ngcontent-%COMP%], h6[_ngcontent-%COMP%]{margin-top:0}dl[_ngcontent-%COMP%], ol[_ngcontent-%COMP%], p[_ngcontent-%COMP%], ul[_ngcontent-%COMP%]{margin-top:0;margin-bottom:1rem}abbr[data-original-title][_ngcontent-%COMP%], abbr[title][_ngcontent-%COMP%]{text-decoration:underline;text-decoration:underline dotted;cursor:help;border-bottom:0;text-decoration-skip-ink:none}address[_ngcontent-%COMP%]{margin-bottom:1rem;font-style:normal;line-height:inherit}ol[_ngcontent-%COMP%]   ol[_ngcontent-%COMP%], ol[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%], ul[_ngcontent-%COMP%]   ol[_ngcontent-%COMP%], ul[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]{margin-bottom:0}dt[_ngcontent-%COMP%]{font-weight:700}dd[_ngcontent-%COMP%]{margin-bottom:.5rem;margin-left:0}blockquote[_ngcontent-%COMP%], figure[_ngcontent-%COMP%]{margin:0 0 1rem}b[_ngcontent-%COMP%], strong[_ngcontent-%COMP%]{font-weight:bolder}sub[_ngcontent-%COMP%], sup[_ngcontent-%COMP%]{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub[_ngcontent-%COMP%]{bottom:-.25em}sup[_ngcontent-%COMP%]{top:-.5em}a[_ngcontent-%COMP%]{color:#2b99a8;text-decoration:none;background-color:transparent}a[_ngcontent-%COMP%]:hover{color:#1b626b;text-decoration:underline}a[_ngcontent-%COMP%]:not([href]):not([tabindex]), a[_ngcontent-%COMP%]:not([href]):not([tabindex]):focus, a[_ngcontent-%COMP%]:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a[_ngcontent-%COMP%]:not([href]):not([tabindex]):focus{outline:0}code[_ngcontent-%COMP%], kbd[_ngcontent-%COMP%], pre[_ngcontent-%COMP%], samp[_ngcontent-%COMP%]{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre[_ngcontent-%COMP%]{margin-top:0;margin-bottom:1rem;overflow:auto}img[_ngcontent-%COMP%]{vertical-align:middle;border-style:none}svg[_ngcontent-%COMP%]{overflow:hidden;vertical-align:middle}table[_ngcontent-%COMP%]{border-collapse:collapse}caption[_ngcontent-%COMP%]{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th[_ngcontent-%COMP%]{text-align:inherit}label[_ngcontent-%COMP%]{display:inline-block;margin-bottom:.5rem}button[_ngcontent-%COMP%]{border-radius:0}button[_ngcontent-%COMP%]:focus{outline:dotted 1px;outline:-webkit-focus-ring-color auto 5px}button[_ngcontent-%COMP%], input[_ngcontent-%COMP%], optgroup[_ngcontent-%COMP%], select[_ngcontent-%COMP%], textarea[_ngcontent-%COMP%]{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button[_ngcontent-%COMP%], input[_ngcontent-%COMP%]{overflow:visible}button[_ngcontent-%COMP%], select[_ngcontent-%COMP%]{text-transform:none}select[_ngcontent-%COMP%]{word-wrap:normal}[type=button][_ngcontent-%COMP%], [type=reset][_ngcontent-%COMP%], [type=submit][_ngcontent-%COMP%], button[_ngcontent-%COMP%]{-webkit-appearance:button}[type=button][_ngcontent-%COMP%]:not(:disabled), [type=reset][_ngcontent-%COMP%]:not(:disabled), [type=submit][_ngcontent-%COMP%]:not(:disabled), button[_ngcontent-%COMP%]:not(:disabled){cursor:pointer}[type=button][_ngcontent-%COMP%]::-moz-focus-inner, [type=reset][_ngcontent-%COMP%]::-moz-focus-inner, [type=submit][_ngcontent-%COMP%]::-moz-focus-inner, button[_ngcontent-%COMP%]::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox][_ngcontent-%COMP%], input[type=radio][_ngcontent-%COMP%]{box-sizing:border-box;padding:0}input[type=date][_ngcontent-%COMP%], input[type=datetime-local][_ngcontent-%COMP%], input[type=month][_ngcontent-%COMP%], input[type=time][_ngcontent-%COMP%]{-webkit-appearance:listbox}textarea[_ngcontent-%COMP%]{overflow:auto;resize:vertical}fieldset[_ngcontent-%COMP%]{min-width:0;padding:0;margin:0;border:0}legend[_ngcontent-%COMP%]{display:block;width:100%;max-width:100%;padding:0;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress[_ngcontent-%COMP%]{vertical-align:baseline}[type=number][_ngcontent-%COMP%]::-webkit-inner-spin-button, [type=number][_ngcontent-%COMP%]::-webkit-outer-spin-button{height:auto}[type=search][_ngcontent-%COMP%]{outline-offset:-2px;-webkit-appearance:none}[type=search][_ngcontent-%COMP%]::-webkit-search-decoration{-webkit-appearance:none}[_ngcontent-%COMP%]::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output[_ngcontent-%COMP%]{display:inline-block}summary[_ngcontent-%COMP%]{display:list-item;cursor:pointer}template[_ngcontent-%COMP%]{display:none}[hidden][_ngcontent-%COMP%]{display:none!important}.h1[_ngcontent-%COMP%], .h2[_ngcontent-%COMP%], .h3[_ngcontent-%COMP%], .h4[_ngcontent-%COMP%], .h5[_ngcontent-%COMP%], .h6[_ngcontent-%COMP%], h1[_ngcontent-%COMP%], h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%], h4[_ngcontent-%COMP%], h5[_ngcontent-%COMP%], h6[_ngcontent-%COMP%]{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1[_ngcontent-%COMP%], h1[_ngcontent-%COMP%]{font-size:2.5rem}.h2[_ngcontent-%COMP%], h2[_ngcontent-%COMP%]{font-size:2rem}.h3[_ngcontent-%COMP%], h3[_ngcontent-%COMP%]{font-size:1.75rem}.h4[_ngcontent-%COMP%], h4[_ngcontent-%COMP%]{font-size:1.5rem}.h5[_ngcontent-%COMP%], h5[_ngcontent-%COMP%]{font-size:1.25rem}.h6[_ngcontent-%COMP%], h6[_ngcontent-%COMP%]{font-size:1rem}.lead[_ngcontent-%COMP%]{font-size:1.25rem;font-weight:300}.display-1[_ngcontent-%COMP%]{font-size:6rem;font-weight:300;line-height:1.2}.display-2[_ngcontent-%COMP%]{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3[_ngcontent-%COMP%]{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4[_ngcontent-%COMP%]{font-size:3.5rem;font-weight:300;line-height:1.2}hr[_ngcontent-%COMP%]{box-sizing:content-box;height:0;overflow:visible;margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small[_ngcontent-%COMP%], small[_ngcontent-%COMP%]{font-size:80%;font-weight:400}.mark[_ngcontent-%COMP%], mark[_ngcontent-%COMP%]{padding:.2em;background-color:#fcf8e3}.list-inline[_ngcontent-%COMP%], .list-unstyled[_ngcontent-%COMP%]{padding-left:0;list-style:none}.list-inline-item[_ngcontent-%COMP%]{display:inline-block}.list-inline-item[_ngcontent-%COMP%]:not(:last-child){margin-right:.5rem}.initialism[_ngcontent-%COMP%]{font-size:90%;text-transform:uppercase}.blockquote[_ngcontent-%COMP%]{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer[_ngcontent-%COMP%]{display:block;font-size:80%;color:#6c757d}.blockquote-footer[_ngcontent-%COMP%]::before{content:"— "}.img-fluid[_ngcontent-%COMP%]{max-width:100%;height:auto}.img-thumbnail[_ngcontent-%COMP%]{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure[_ngcontent-%COMP%]{display:inline-block}.figure-img[_ngcontent-%COMP%]{margin-bottom:.5rem;line-height:1}.figure-caption[_ngcontent-%COMP%]{font-size:90%;color:#6c757d}code[_ngcontent-%COMP%]{font-size:87.5%;color:#e83e8c;word-break:break-word}a[_ngcontent-%COMP%] > code[_ngcontent-%COMP%]{color:inherit}kbd[_ngcontent-%COMP%]{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd[_ngcontent-%COMP%]   kbd[_ngcontent-%COMP%]{padding:0;font-size:100%;font-weight:700}pre[_ngcontent-%COMP%]{display:block;font-size:87.5%;color:#212529}pre[_ngcontent-%COMP%]   code[_ngcontent-%COMP%]{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable[_ngcontent-%COMP%]{max-height:340px;overflow-y:scroll}.container[_ngcontent-%COMP%]{width:100%;margin-right:auto;margin-left:auto}@media (min-width:576px){.container[_ngcontent-%COMP%]{max-width:540px}}@media (min-width:768px){.container[_ngcontent-%COMP%]{max-width:720px}}@media (min-width:992px){.container[_ngcontent-%COMP%]{max-width:960px}}@media (min-width:1200px){.container[_ngcontent-%COMP%]{max-width:1140px}}.container-fluid[_ngcontent-%COMP%]{width:100%;margin-right:auto;margin-left:auto}.row[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap}.no-gutters[_ngcontent-%COMP%]{margin-right:0;margin-left:0}.no-gutters[_ngcontent-%COMP%] > .col[_ngcontent-%COMP%], .no-gutters[_ngcontent-%COMP%] > [class*=col-][_ngcontent-%COMP%]{padding-right:0;padding-left:0}.cd-col-form[_ngcontent-%COMP%], .cd-col-form-input[_ngcontent-%COMP%], .cd-col-form-label[_ngcontent-%COMP%], .cd-col-form-offset[_ngcontent-%COMP%], .col[_ngcontent-%COMP%], .col-1[_ngcontent-%COMP%], .col-10[_ngcontent-%COMP%], .col-11[_ngcontent-%COMP%], .col-12[_ngcontent-%COMP%], .col-2[_ngcontent-%COMP%], .col-3[_ngcontent-%COMP%], .col-4[_ngcontent-%COMP%], .col-5[_ngcontent-%COMP%], .col-6[_ngcontent-%COMP%], .col-7[_ngcontent-%COMP%], .col-8[_ngcontent-%COMP%], .col-9[_ngcontent-%COMP%], .col-auto[_ngcontent-%COMP%], .col-lg[_ngcontent-%COMP%], .col-lg-1[_ngcontent-%COMP%], .col-lg-10[_ngcontent-%COMP%], .col-lg-11[_ngcontent-%COMP%], .col-lg-12[_ngcontent-%COMP%], .col-lg-2[_ngcontent-%COMP%], .col-lg-3[_ngcontent-%COMP%], .col-lg-4[_ngcontent-%COMP%], .col-lg-5[_ngcontent-%COMP%], .col-lg-6[_ngcontent-%COMP%], .col-lg-7[_ngcontent-%COMP%], .col-lg-8[_ngcontent-%COMP%], .col-lg-9[_ngcontent-%COMP%], .col-lg-auto[_ngcontent-%COMP%], .col-md[_ngcontent-%COMP%], .col-md-1[_ngcontent-%COMP%], .col-md-10[_ngcontent-%COMP%], .col-md-11[_ngcontent-%COMP%], .col-md-12[_ngcontent-%COMP%], .col-md-2[_ngcontent-%COMP%], .col-md-3[_ngcontent-%COMP%], .col-md-4[_ngcontent-%COMP%], .col-md-5[_ngcontent-%COMP%], .col-md-6[_ngcontent-%COMP%], .col-md-7[_ngcontent-%COMP%], .col-md-8[_ngcontent-%COMP%], .col-md-9[_ngcontent-%COMP%], .col-md-auto[_ngcontent-%COMP%], .col-sm[_ngcontent-%COMP%], .col-sm-1[_ngcontent-%COMP%], .col-sm-10[_ngcontent-%COMP%], .col-sm-11[_ngcontent-%COMP%], .col-sm-12[_ngcontent-%COMP%], .col-sm-2[_ngcontent-%COMP%], .col-sm-3[_ngcontent-%COMP%], .col-sm-4[_ngcontent-%COMP%], .col-sm-5[_ngcontent-%COMP%], .col-sm-6[_ngcontent-%COMP%], .col-sm-7[_ngcontent-%COMP%], .col-sm-8[_ngcontent-%COMP%], .col-sm-9[_ngcontent-%COMP%], .col-sm-auto[_ngcontent-%COMP%], .col-xl[_ngcontent-%COMP%], .col-xl-1[_ngcontent-%COMP%], .col-xl-10[_ngcontent-%COMP%], .col-xl-11[_ngcontent-%COMP%], .col-xl-12[_ngcontent-%COMP%], .col-xl-2[_ngcontent-%COMP%], .col-xl-3[_ngcontent-%COMP%], .col-xl-4[_ngcontent-%COMP%], .col-xl-5[_ngcontent-%COMP%], .col-xl-6[_ngcontent-%COMP%], .col-xl-7[_ngcontent-%COMP%], .col-xl-8[_ngcontent-%COMP%], .col-xl-9[_ngcontent-%COMP%], .col-xl-auto[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-input[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-label[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-offset[_ngcontent-%COMP%]{position:relative;width:100%;padding-right:15px;padding-left:15px}.col[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;max-width:100%}.col-auto[_ngcontent-%COMP%]{flex:0 0 auto;width:auto;max-width:100%}.col-1[_ngcontent-%COMP%]{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-2[_ngcontent-%COMP%]{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-3[_ngcontent-%COMP%]{flex:0 0 25%;max-width:25%}.col-4[_ngcontent-%COMP%]{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-5[_ngcontent-%COMP%]{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-6[_ngcontent-%COMP%]{flex:0 0 50%;max-width:50%}.col-7[_ngcontent-%COMP%]{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-8[_ngcontent-%COMP%]{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-9[_ngcontent-%COMP%]{flex:0 0 75%;max-width:75%}.col-10[_ngcontent-%COMP%]{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-11[_ngcontent-%COMP%]{flex:0 0 91.6666666667%;max-width:91.6666666667%}.cd-col-form[_ngcontent-%COMP%], .col-12[_ngcontent-%COMP%]{flex:0 0 100%;max-width:100%}.order-first[_ngcontent-%COMP%]{order:-1}.order-last[_ngcontent-%COMP%]{order:13}.order-0[_ngcontent-%COMP%]{order:0}.order-1[_ngcontent-%COMP%]{order:1}.order-2[_ngcontent-%COMP%]{order:2}.order-3[_ngcontent-%COMP%]{order:3}.order-4[_ngcontent-%COMP%]{order:4}.order-5[_ngcontent-%COMP%]{order:5}.order-6[_ngcontent-%COMP%]{order:6}.order-7[_ngcontent-%COMP%]{order:7}.order-8[_ngcontent-%COMP%]{order:8}.order-9[_ngcontent-%COMP%]{order:9}.order-10[_ngcontent-%COMP%]{order:10}.order-11[_ngcontent-%COMP%]{order:11}.order-12[_ngcontent-%COMP%]{order:12}.offset-1[_ngcontent-%COMP%]{margin-left:8.3333333333%}.offset-2[_ngcontent-%COMP%]{margin-left:16.6666666667%}.offset-3[_ngcontent-%COMP%]{margin-left:25%}.offset-4[_ngcontent-%COMP%]{margin-left:33.3333333333%}.offset-5[_ngcontent-%COMP%]{margin-left:41.6666666667%}.offset-6[_ngcontent-%COMP%]{margin-left:50%}.offset-7[_ngcontent-%COMP%]{margin-left:58.3333333333%}.offset-8[_ngcontent-%COMP%]{margin-left:66.6666666667%}.offset-9[_ngcontent-%COMP%]{margin-left:75%}.offset-10[_ngcontent-%COMP%]{margin-left:83.3333333333%}.offset-11[_ngcontent-%COMP%]{margin-left:91.6666666667%}@media (min-width:576px){.col-sm[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;max-width:100%}.col-sm-auto[_ngcontent-%COMP%]{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1[_ngcontent-%COMP%]{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-sm-2[_ngcontent-%COMP%]{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-3[_ngcontent-%COMP%]{flex:0 0 25%;max-width:25%}.cd-col-form-label[_ngcontent-%COMP%], .col-sm-4[_ngcontent-%COMP%]{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-sm-5[_ngcontent-%COMP%]{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-sm-6[_ngcontent-%COMP%]{flex:0 0 50%;max-width:50%}.col-sm-7[_ngcontent-%COMP%]{flex:0 0 58.3333333333%;max-width:58.3333333333%}.cd-col-form-input[_ngcontent-%COMP%], .cd-col-form-offset[_ngcontent-%COMP%], .col-sm-8[_ngcontent-%COMP%]{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-sm-9[_ngcontent-%COMP%]{flex:0 0 75%;max-width:75%}.col-sm-10[_ngcontent-%COMP%]{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-sm-11[_ngcontent-%COMP%]{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-sm-12[_ngcontent-%COMP%]{flex:0 0 100%;max-width:100%}.order-sm-first[_ngcontent-%COMP%]{order:-1}.order-sm-last[_ngcontent-%COMP%]{order:13}.order-sm-0[_ngcontent-%COMP%]{order:0}.order-sm-1[_ngcontent-%COMP%]{order:1}.order-sm-2[_ngcontent-%COMP%]{order:2}.order-sm-3[_ngcontent-%COMP%]{order:3}.order-sm-4[_ngcontent-%COMP%]{order:4}.order-sm-5[_ngcontent-%COMP%]{order:5}.order-sm-6[_ngcontent-%COMP%]{order:6}.order-sm-7[_ngcontent-%COMP%]{order:7}.order-sm-8[_ngcontent-%COMP%]{order:8}.order-sm-9[_ngcontent-%COMP%]{order:9}.order-sm-10[_ngcontent-%COMP%]{order:10}.order-sm-11[_ngcontent-%COMP%]{order:11}.order-sm-12[_ngcontent-%COMP%]{order:12}.offset-sm-0[_ngcontent-%COMP%]{margin-left:0}.offset-sm-1[_ngcontent-%COMP%]{margin-left:8.3333333333%}.offset-sm-2[_ngcontent-%COMP%]{margin-left:16.6666666667%}.offset-sm-3[_ngcontent-%COMP%]{margin-left:25%}.cd-col-form-offset[_ngcontent-%COMP%], .offset-sm-4[_ngcontent-%COMP%]{margin-left:33.3333333333%}.offset-sm-5[_ngcontent-%COMP%]{margin-left:41.6666666667%}.offset-sm-6[_ngcontent-%COMP%]{margin-left:50%}.offset-sm-7[_ngcontent-%COMP%]{margin-left:58.3333333333%}.offset-sm-8[_ngcontent-%COMP%]{margin-left:66.6666666667%}.offset-sm-9[_ngcontent-%COMP%]{margin-left:75%}.offset-sm-10[_ngcontent-%COMP%]{margin-left:83.3333333333%}.offset-sm-11[_ngcontent-%COMP%]{margin-left:91.6666666667%}}@media (min-width:768px){.col-md[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;max-width:100%}.col-md-auto[_ngcontent-%COMP%]{flex:0 0 auto;width:auto;max-width:100%}.col-md-1[_ngcontent-%COMP%]{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-md-2[_ngcontent-%COMP%]{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-3[_ngcontent-%COMP%]{flex:0 0 25%;max-width:25%}.cd-col-form-label[_ngcontent-%COMP%], .col-md-4[_ngcontent-%COMP%]{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-md-5[_ngcontent-%COMP%]{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-md-6[_ngcontent-%COMP%]{flex:0 0 50%;max-width:50%}.col-md-7[_ngcontent-%COMP%]{flex:0 0 58.3333333333%;max-width:58.3333333333%}.cd-col-form-input[_ngcontent-%COMP%], .cd-col-form-offset[_ngcontent-%COMP%], .col-md-8[_ngcontent-%COMP%]{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-md-9[_ngcontent-%COMP%]{flex:0 0 75%;max-width:75%}.col-md-10[_ngcontent-%COMP%]{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-md-11[_ngcontent-%COMP%]{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-md-12[_ngcontent-%COMP%]{flex:0 0 100%;max-width:100%}.order-md-first[_ngcontent-%COMP%]{order:-1}.order-md-last[_ngcontent-%COMP%]{order:13}.order-md-0[_ngcontent-%COMP%]{order:0}.order-md-1[_ngcontent-%COMP%]{order:1}.order-md-2[_ngcontent-%COMP%]{order:2}.order-md-3[_ngcontent-%COMP%]{order:3}.order-md-4[_ngcontent-%COMP%]{order:4}.order-md-5[_ngcontent-%COMP%]{order:5}.order-md-6[_ngcontent-%COMP%]{order:6}.order-md-7[_ngcontent-%COMP%]{order:7}.order-md-8[_ngcontent-%COMP%]{order:8}.order-md-9[_ngcontent-%COMP%]{order:9}.order-md-10[_ngcontent-%COMP%]{order:10}.order-md-11[_ngcontent-%COMP%]{order:11}.order-md-12[_ngcontent-%COMP%]{order:12}.offset-md-0[_ngcontent-%COMP%]{margin-left:0}.offset-md-1[_ngcontent-%COMP%]{margin-left:8.3333333333%}.offset-md-2[_ngcontent-%COMP%]{margin-left:16.6666666667%}.offset-md-3[_ngcontent-%COMP%]{margin-left:25%}.offset-md-4[_ngcontent-%COMP%]{margin-left:33.3333333333%}.offset-md-5[_ngcontent-%COMP%]{margin-left:41.6666666667%}.offset-md-6[_ngcontent-%COMP%]{margin-left:50%}.offset-md-7[_ngcontent-%COMP%]{margin-left:58.3333333333%}.offset-md-8[_ngcontent-%COMP%]{margin-left:66.6666666667%}.offset-md-9[_ngcontent-%COMP%]{margin-left:75%}.offset-md-10[_ngcontent-%COMP%]{margin-left:83.3333333333%}.offset-md-11[_ngcontent-%COMP%]{margin-left:91.6666666667%}}@media (min-width:992px){.col-lg[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;max-width:100%}.col-lg-auto[_ngcontent-%COMP%]{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1[_ngcontent-%COMP%]{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-lg-2[_ngcontent-%COMP%]{flex:0 0 16.6666666667%;max-width:16.6666666667%}.cd-col-form-label[_ngcontent-%COMP%], .col-lg-3[_ngcontent-%COMP%]{flex:0 0 25%;max-width:25%}.col-lg-4[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-label[_ngcontent-%COMP%]{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-lg-5[_ngcontent-%COMP%]{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-lg-6[_ngcontent-%COMP%]{flex:0 0 50%;max-width:50%}.col-lg-7[_ngcontent-%COMP%]{flex:0 0 58.3333333333%;max-width:58.3333333333%}.cd-col-form[_ngcontent-%COMP%], .col-lg-8[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-input[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-offset[_ngcontent-%COMP%]{flex:0 0 66.6666666667%;max-width:66.6666666667%}.cd-col-form-input[_ngcontent-%COMP%], .cd-col-form-offset[_ngcontent-%COMP%], .col-lg-9[_ngcontent-%COMP%]{flex:0 0 75%;max-width:75%}.col-lg-10[_ngcontent-%COMP%]{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-lg-11[_ngcontent-%COMP%]{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-lg-12[_ngcontent-%COMP%]{flex:0 0 100%;max-width:100%}.order-lg-first[_ngcontent-%COMP%]{order:-1}.order-lg-last[_ngcontent-%COMP%]{order:13}.order-lg-0[_ngcontent-%COMP%]{order:0}.order-lg-1[_ngcontent-%COMP%]{order:1}.order-lg-2[_ngcontent-%COMP%]{order:2}.order-lg-3[_ngcontent-%COMP%]{order:3}.order-lg-4[_ngcontent-%COMP%]{order:4}.order-lg-5[_ngcontent-%COMP%]{order:5}.order-lg-6[_ngcontent-%COMP%]{order:6}.order-lg-7[_ngcontent-%COMP%]{order:7}.order-lg-8[_ngcontent-%COMP%]{order:8}.order-lg-9[_ngcontent-%COMP%]{order:9}.order-lg-10[_ngcontent-%COMP%]{order:10}.order-lg-11[_ngcontent-%COMP%]{order:11}.order-lg-12[_ngcontent-%COMP%]{order:12}.offset-lg-0[_ngcontent-%COMP%]{margin-left:0}.offset-lg-1[_ngcontent-%COMP%]{margin-left:8.3333333333%}.offset-lg-2[_ngcontent-%COMP%]{margin-left:16.6666666667%}.cd-col-form-offset[_ngcontent-%COMP%], .offset-lg-3[_ngcontent-%COMP%]{margin-left:25%}.offset-lg-4[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-offset[_ngcontent-%COMP%]{margin-left:33.3333333333%}.offset-lg-5[_ngcontent-%COMP%]{margin-left:41.6666666667%}.offset-lg-6[_ngcontent-%COMP%]{margin-left:50%}.offset-lg-7[_ngcontent-%COMP%]{margin-left:58.3333333333%}.offset-lg-8[_ngcontent-%COMP%]{margin-left:66.6666666667%}.offset-lg-9[_ngcontent-%COMP%]{margin-left:75%}.offset-lg-10[_ngcontent-%COMP%]{margin-left:83.3333333333%}.offset-lg-11[_ngcontent-%COMP%]{margin-left:91.6666666667%}}@media (min-width:1200px){.col-xl[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;max-width:100%}.col-xl-auto[_ngcontent-%COMP%]{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1[_ngcontent-%COMP%]{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-xl-2[_ngcontent-%COMP%]{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xl-3[_ngcontent-%COMP%]{flex:0 0 25%;max-width:25%}.col-xl-4[_ngcontent-%COMP%]{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-xl-5[_ngcontent-%COMP%]{flex:0 0 41.6666666667%;max-width:41.6666666667%}.cd-col-form[_ngcontent-%COMP%], .col-xl-6[_ngcontent-%COMP%]{flex:0 0 50%;max-width:50%}.col-xl-7[_ngcontent-%COMP%]{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-xl-8[_ngcontent-%COMP%]{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-xl-9[_ngcontent-%COMP%]{flex:0 0 75%;max-width:75%}.col-xl-10[_ngcontent-%COMP%]{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-xl-11[_ngcontent-%COMP%]{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-xl-12[_ngcontent-%COMP%]{flex:0 0 100%;max-width:100%}.order-xl-first[_ngcontent-%COMP%]{order:-1}.order-xl-last[_ngcontent-%COMP%]{order:13}.order-xl-0[_ngcontent-%COMP%]{order:0}.order-xl-1[_ngcontent-%COMP%]{order:1}.order-xl-2[_ngcontent-%COMP%]{order:2}.order-xl-3[_ngcontent-%COMP%]{order:3}.order-xl-4[_ngcontent-%COMP%]{order:4}.order-xl-5[_ngcontent-%COMP%]{order:5}.order-xl-6[_ngcontent-%COMP%]{order:6}.order-xl-7[_ngcontent-%COMP%]{order:7}.order-xl-8[_ngcontent-%COMP%]{order:8}.order-xl-9[_ngcontent-%COMP%]{order:9}.order-xl-10[_ngcontent-%COMP%]{order:10}.order-xl-11[_ngcontent-%COMP%]{order:11}.order-xl-12[_ngcontent-%COMP%]{order:12}.offset-xl-0[_ngcontent-%COMP%]{margin-left:0}.offset-xl-1[_ngcontent-%COMP%]{margin-left:8.3333333333%}.offset-xl-2[_ngcontent-%COMP%]{margin-left:16.6666666667%}.offset-xl-3[_ngcontent-%COMP%]{margin-left:25%}.offset-xl-4[_ngcontent-%COMP%]{margin-left:33.3333333333%}.offset-xl-5[_ngcontent-%COMP%]{margin-left:41.6666666667%}.offset-xl-6[_ngcontent-%COMP%]{margin-left:50%}.offset-xl-7[_ngcontent-%COMP%]{margin-left:58.3333333333%}.offset-xl-8[_ngcontent-%COMP%]{margin-left:66.6666666667%}.offset-xl-9[_ngcontent-%COMP%]{margin-left:75%}.offset-xl-10[_ngcontent-%COMP%]{margin-left:83.3333333333%}.offset-xl-11[_ngcontent-%COMP%]{margin-left:91.6666666667%}}.table[_ngcontent-%COMP%]{width:100%;margin-bottom:1rem;color:#212529}.table[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%]{border-top:2px solid #dee2e6}.table-sm[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-sm[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{padding:.3rem}.table-bordered[_ngcontent-%COMP%], .table-bordered[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-bordered[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border:1px solid #dee2e6}.table-bordered[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-bordered[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-bottom-width:2px}.table-borderless[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-borderless[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-borderless[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-borderless[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border:0}.table-striped[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary[_ngcontent-%COMP%], .table-primary[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-primary[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#c4e2e7}.table-primary[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-primary[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-primary[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-primary[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#91cad2}.table-hover[_ngcontent-%COMP%]   .table-primary[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-primary[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-primary[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#b2d9e0}.table-secondary[_ngcontent-%COMP%], .table-secondary[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-secondary[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#fbd1cf}.table-secondary[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-secondary[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-secondary[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-secondary[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#f7aaa7}.table-hover[_ngcontent-%COMP%]   .table-secondary[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-secondary[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-secondary[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#f9bab7}.table-success[_ngcontent-%COMP%], .table-success[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-success[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#c3e6cb}.table-success[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-success[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-success[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-success[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#8fd19e}.table-hover[_ngcontent-%COMP%]   .table-success[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-success[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-success[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#b1dfbb}.table-info[_ngcontent-%COMP%], .table-info[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-info[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#bee5eb}.table-info[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-info[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-info[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-info[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#86cfda}.table-hover[_ngcontent-%COMP%]   .table-info[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-info[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-info[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#abdde5}.table-warning[_ngcontent-%COMP%], .table-warning[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-warning[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#ffeeba}.table-warning[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-warning[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-warning[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-warning[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#ffdf7e}.table-hover[_ngcontent-%COMP%]   .table-warning[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-warning[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-warning[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#ffe8a1}.table-danger[_ngcontent-%COMP%], .table-danger[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-danger[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#f5c6cb}.table-danger[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-danger[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-danger[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-danger[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#ed969e}.table-hover[_ngcontent-%COMP%]   .table-danger[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-danger[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-danger[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#f1b0b7}.table-light[_ngcontent-%COMP%], .table-light[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-light[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#fdfdfe}.table-light[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-light[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-light[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-light[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#fbfcfc}.table-hover[_ngcontent-%COMP%]   .table-light[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-light[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-light[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#ececf6}.table-dark[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{background-color:#d9d9d9}.table-dark[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#b8b8b8}.table-hover[_ngcontent-%COMP%]   .table-dark[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-dark[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-dark[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:#ccc}.table-active[_ngcontent-%COMP%], .table-active[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .table-active[_ngcontent-%COMP%] > th[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-active[_ngcontent-%COMP%]:hover, .table-hover[_ngcontent-%COMP%]   .table-active[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%], .table-hover[_ngcontent-%COMP%]   .table-active[_ngcontent-%COMP%]:hover > th[_ngcontent-%COMP%]{background-color:rgba(0,0,0,.075)}.table[_ngcontent-%COMP%]   .thead-dark[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{color:#fff;background-color:#343a40;border-color:#454d55}.table[_ngcontent-%COMP%]   .thead-light[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark[_ngcontent-%COMP%]{color:#fff;background-color:#343a40}.table-dark[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#454d55}.table-dark.table-bordered[_ngcontent-%COMP%]{border:0}.table-dark.table-striped[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm[_ngcontent-%COMP%]{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm[_ngcontent-%COMP%] > .table-bordered[_ngcontent-%COMP%]{border:0}}@media (max-width:767.98px){.table-responsive-md[_ngcontent-%COMP%]{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md[_ngcontent-%COMP%] > .table-bordered[_ngcontent-%COMP%]{border:0}}@media (max-width:991.98px){.table-responsive-lg[_ngcontent-%COMP%]{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg[_ngcontent-%COMP%] > .table-bordered[_ngcontent-%COMP%]{border:0}}@media (max-width:1199.98px){.table-responsive-xl[_ngcontent-%COMP%]{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl[_ngcontent-%COMP%] > .table-bordered[_ngcontent-%COMP%]{border:0}}.table-responsive[_ngcontent-%COMP%]{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive[_ngcontent-%COMP%] > .table-bordered[_ngcontent-%COMP%]{border:0}.cd-form-control[_ngcontent-%COMP%], .form-control[_ngcontent-%COMP%]{width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.cd-form-control[_ngcontent-%COMP%], .form-control[_ngcontent-%COMP%]{transition:none}}.cd-form-control[_ngcontent-%COMP%]::-ms-expand, .form-control[_ngcontent-%COMP%]::-ms-expand{background-color:transparent;border:0}.cd-form-control[_ngcontent-%COMP%]:focus, .form-control[_ngcontent-%COMP%]:focus{color:#495057;background-color:#fff;box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.cd-form-control[_ngcontent-%COMP%]::placeholder, .form-control[_ngcontent-%COMP%]::placeholder{color:#6c757d;opacity:1}.cd-form-control[_ngcontent-%COMP%]:disabled, .form-control[_ngcontent-%COMP%]:disabled, .form-control[readonly][_ngcontent-%COMP%], [readonly].cd-form-control[_ngcontent-%COMP%]{background-color:#e9ecef;opacity:1}select.cd-form-control[_ngcontent-%COMP%]:focus::-ms-value, select.form-control[_ngcontent-%COMP%]:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file[_ngcontent-%COMP%], .form-control-range[_ngcontent-%COMP%]{display:block;width:100%}.cd-col-form-label[_ngcontent-%COMP%], .col-form-label[_ngcontent-%COMP%]{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg[_ngcontent-%COMP%]{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm[_ngcontent-%COMP%]{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext[_ngcontent-%COMP%]{display:block;width:100%;padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg[_ngcontent-%COMP%], .form-control-plaintext.form-control-sm[_ngcontent-%COMP%]{padding-right:0;padding-left:0}.form-control-sm[_ngcontent-%COMP%]{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg[_ngcontent-%COMP%]{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple][_ngcontent-%COMP%], select.form-control[size][_ngcontent-%COMP%], select[multiple].cd-form-control[_ngcontent-%COMP%], select[size].cd-form-control[_ngcontent-%COMP%], textarea.cd-form-control[_ngcontent-%COMP%], textarea.form-control[_ngcontent-%COMP%]{height:auto}.form-text[_ngcontent-%COMP%]{display:block;margin-top:.25rem}.form-row[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row[_ngcontent-%COMP%] > .col[_ngcontent-%COMP%], .form-row[_ngcontent-%COMP%] > [class*=col-][_ngcontent-%COMP%]{padding-right:5px;padding-left:5px}.form-check[_ngcontent-%COMP%]{position:relative;display:block;padding-left:1.25rem}.form-check-input[_ngcontent-%COMP%]{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input[_ngcontent-%COMP%]:disabled ~ .form-check-label[_ngcontent-%COMP%]{color:#6c757d}.form-check-label[_ngcontent-%COMP%]{margin-bottom:0}.form-check-inline[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback[_ngcontent-%COMP%]{display:none;width:100%;margin-top:.25rem;font-size:100%;color:#28a745}.valid-tooltip[_ngcontent-%COMP%]{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.form-control.is-valid[_ngcontent-%COMP%], .is-valid.cd-form-control[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:valid, .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:valid{border-color:#28a745;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=\'%2328a745\' d=\'M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z\'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:center right calc(.375em + .1875rem);background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid[_ngcontent-%COMP%]:focus, .is-valid.cd-form-control[_ngcontent-%COMP%]:focus, .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:valid:focus, .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-control.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .form-control.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .is-valid.cd-form-control[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .is-valid.cd-form-control[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%]{display:block}.was-validated[_ngcontent-%COMP%]   textarea.cd-form-control[_ngcontent-%COMP%]:valid, .was-validated[_ngcontent-%COMP%]   textarea.form-control[_ngcontent-%COMP%]:valid, textarea.form-control.is-valid[_ngcontent-%COMP%], textarea.is-valid.cd-form-control[_ngcontent-%COMP%]{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:valid{border-color:#28a745;padding-right:calc((1em + .75rem) * 3 / 4 + 1.75rem);background:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 4 5\'%3e%3cpath fill=\'%23343a40\' d=\'M2 0L0 2h4zm0 5L0 3h4z\'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat,url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 8 8\'%3e%3cpath fill=\'%2328a745\' d=\'M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z\'/%3e%3c/svg%3e") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat #fff}.custom-select.is-valid[_ngcontent-%COMP%]:focus, .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-select.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .custom-select.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%]{display:block}.form-control-file.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .form-control-file.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control-file[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control-file[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%]{display:block}.form-check-input.is-valid[_ngcontent-%COMP%] ~ .form-check-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]:valid ~ .form-check-label[_ngcontent-%COMP%]{color:#28a745}.form-check-input.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .form-check-input.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%]{display:block}.custom-control-input.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .custom-control-input.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%]{display:block}.custom-control-input.is-valid[_ngcontent-%COMP%]:focus ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid:focus ~ .custom-control-label[_ngcontent-%COMP%]::before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-file-input.is-valid[_ngcontent-%COMP%] ~ .custom-file-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:valid ~ .custom-file-label[_ngcontent-%COMP%]{border-color:#28a745}.custom-file-input.is-valid[_ngcontent-%COMP%] ~ .valid-feedback[_ngcontent-%COMP%], .custom-file-input.is-valid[_ngcontent-%COMP%] ~ .valid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:valid ~ .valid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:valid ~ .valid-tooltip[_ngcontent-%COMP%]{display:block}.custom-file-input.is-valid[_ngcontent-%COMP%]:focus ~ .custom-file-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:valid:focus ~ .custom-file-label[_ngcontent-%COMP%]{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback[_ngcontent-%COMP%]{display:none;width:100%;margin-top:.25rem;font-size:100%;color:#dc3545}.invalid-tooltip[_ngcontent-%COMP%]{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.form-control.is-invalid[_ngcontent-%COMP%], .is-invalid.cd-form-control[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:invalid, .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]: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\' fill=\'%23dc3545\' viewBox=\'-2 -2 7 7\'%3e%3cpath stroke=\'%23dc3545\' d=\'M0 0l3 3m0-3L0 3\'/%3e%3ccircle r=\'.5\'/%3e%3ccircle cx=\'3\' r=\'.5\'/%3e%3ccircle cy=\'3\' r=\'.5\'/%3e%3ccircle cx=\'3\' cy=\'3\' r=\'.5\'/%3e%3c/svg%3E");background-repeat:no-repeat;background-position:center right calc(.375em + .1875rem);background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid[_ngcontent-%COMP%]:focus, .is-invalid.cd-form-control[_ngcontent-%COMP%]:focus, .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:invalid:focus, .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-control.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .form-control.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .is-invalid.cd-form-control[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .is-invalid.cd-form-control[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%]{display:block}.was-validated[_ngcontent-%COMP%]   textarea.cd-form-control[_ngcontent-%COMP%]:invalid, .was-validated[_ngcontent-%COMP%]   textarea.form-control[_ngcontent-%COMP%]:invalid, textarea.form-control.is-invalid[_ngcontent-%COMP%], textarea.is-invalid.cd-form-control[_ngcontent-%COMP%]{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:invalid{border-color:#dc3545;padding-right:calc((1em + .75rem) * 3 / 4 + 1.75rem);background:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 4 5\'%3e%3cpath fill=\'%23343a40\' d=\'M2 0L0 2h4zm0 5L0 3h4z\'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat,url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' fill=\'%23dc3545\' viewBox=\'-2 -2 7 7\'%3e%3cpath stroke=\'%23dc3545\' d=\'M0 0l3 3m0-3L0 3\'/%3e%3ccircle r=\'.5\'/%3e%3ccircle cx=\'3\' r=\'.5\'/%3e%3ccircle cy=\'3\' r=\'.5\'/%3e%3ccircle cx=\'3\' cy=\'3\' r=\'.5\'/%3e%3c/svg%3E") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat #fff}.custom-select.is-invalid[_ngcontent-%COMP%]:focus, .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-select.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .custom-select.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%]{display:block}.form-control-file.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .form-control-file.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control-file[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-control-file[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%]{display:block}.form-check-input.is-invalid[_ngcontent-%COMP%] ~ .form-check-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]:invalid ~ .form-check-label[_ngcontent-%COMP%]{color:#dc3545}.form-check-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .form-check-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%]{display:block}.custom-control-input.is-invalid[_ngcontent-%COMP%] ~ .custom-control-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid ~ .custom-control-label[_ngcontent-%COMP%]{color:#dc3545}.custom-control-input.is-invalid[_ngcontent-%COMP%] ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#dc3545}.custom-control-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .custom-control-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%]{display:block}.custom-control-input.is-invalid[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid:checked ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#e4606d;background-color:#e4606d}.custom-control-input.is-invalid[_ngcontent-%COMP%]:focus ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid:focus ~ .custom-control-label[_ngcontent-%COMP%]::before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid[_ngcontent-%COMP%]:focus:not(:checked) ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:invalid:focus:not(:checked) ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#dc3545}.custom-file-input.is-invalid[_ngcontent-%COMP%] ~ .custom-file-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:invalid ~ .custom-file-label[_ngcontent-%COMP%]{border-color:#dc3545}.custom-file-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-feedback[_ngcontent-%COMP%], .custom-file-input.is-invalid[_ngcontent-%COMP%] ~ .invalid-tooltip[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:invalid ~ .invalid-feedback[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:invalid ~ .invalid-tooltip[_ngcontent-%COMP%]{display:block}.custom-file-input.is-invalid[_ngcontent-%COMP%]:focus ~ .custom-file-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:invalid:focus ~ .custom-file-label[_ngcontent-%COMP%]{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline[_ngcontent-%COMP%]{display:flex;flex-flow:row wrap;align-items:center}.form-inline[_ngcontent-%COMP%]   .form-check[_ngcontent-%COMP%]{width:100%}@media (min-width:576px){.form-inline[_ngcontent-%COMP%]   label[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;margin-bottom:0}.form-inline[_ngcontent-%COMP%]   .form-group[_ngcontent-%COMP%]{display:flex;flex:0 0 auto;flex-flow:row wrap;align-items:center;margin-bottom:0}.form-inline[_ngcontent-%COMP%]   .cd-form-control[_ngcontent-%COMP%], .form-inline[_ngcontent-%COMP%]   .form-control[_ngcontent-%COMP%]{display:inline-block;width:auto;vertical-align:middle}.form-inline[_ngcontent-%COMP%]   .form-control-plaintext[_ngcontent-%COMP%]{display:inline-block}.form-inline[_ngcontent-%COMP%]   .custom-select[_ngcontent-%COMP%], .form-inline[_ngcontent-%COMP%]   .input-group[_ngcontent-%COMP%]{width:auto}.form-inline[_ngcontent-%COMP%]   .form-check[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;width:auto;padding-left:0}.form-inline[_ngcontent-%COMP%]   .form-check-input[_ngcontent-%COMP%]{position:relative;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline[_ngcontent-%COMP%]   .custom-control[_ngcontent-%COMP%]{align-items:center;justify-content:center}.form-inline[_ngcontent-%COMP%]   .custom-control-label[_ngcontent-%COMP%]{margin-bottom:0}}.btn[_ngcontent-%COMP%]{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;-moz-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;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[_ngcontent-%COMP%]{transition:none}}.btn[_ngcontent-%COMP%]:hover{color:#212529;text-decoration:none}.btn.focus[_ngcontent-%COMP%], .btn[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.btn.disabled[_ngcontent-%COMP%], .btn[_ngcontent-%COMP%]:disabled{opacity:.65}a.btn.disabled[_ngcontent-%COMP%], fieldset[_ngcontent-%COMP%]:disabled   a.btn[_ngcontent-%COMP%]{pointer-events:none}.btn-primary[_ngcontent-%COMP%]{color:#fff;background-color:#2b99a8;border-color:#2b99a8}.btn-primary[_ngcontent-%COMP%]:hover{color:#fff;background-color:#237d8a;border-color:#21747f}.btn-primary.focus[_ngcontent-%COMP%], .btn-primary[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(75,168,181,.5)}.btn-primary.disabled[_ngcontent-%COMP%], .btn-primary[_ngcontent-%COMP%]:disabled{color:#fff;background-color:#2b99a8;border-color:#2b99a8}.btn-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-primary.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#21747f;border-color:#1e6b75}.btn-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-primary.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(75,168,181,.5)}.btn-secondary[_ngcontent-%COMP%]{color:#fff;background-color:#ef5c55;border-color:#ef5c55}.btn-secondary[_ngcontent-%COMP%]:hover{color:#fff;background-color:#ec3a32;border-color:#eb2f26}.btn-secondary.focus[_ngcontent-%COMP%], .btn-secondary[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(241,116,111,.5)}.btn-secondary.disabled[_ngcontent-%COMP%], .btn-secondary[_ngcontent-%COMP%]:disabled{color:#fff;background-color:#ef5c55;border-color:#ef5c55}.btn-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-secondary.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#eb2f26;border-color:#ea241b}.btn-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-secondary.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(241,116,111,.5)}.btn-success[_ngcontent-%COMP%]{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success[_ngcontent-%COMP%]:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus[_ngcontent-%COMP%], .btn-success[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled[_ngcontent-%COMP%], .btn-success[_ngcontent-%COMP%]:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-success.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-success.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-info[_ngcontent-%COMP%]{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info[_ngcontent-%COMP%]:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus[_ngcontent-%COMP%], .btn-info[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled[_ngcontent-%COMP%], .btn-info[_ngcontent-%COMP%]:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-info.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-info.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-warning[_ngcontent-%COMP%]{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning[_ngcontent-%COMP%]:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus[_ngcontent-%COMP%], .btn-warning[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled[_ngcontent-%COMP%], .btn-warning[_ngcontent-%COMP%]:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-warning.dropdown-toggle[_ngcontent-%COMP%]{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-warning.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-danger[_ngcontent-%COMP%]{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger[_ngcontent-%COMP%]:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus[_ngcontent-%COMP%], .btn-danger[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled[_ngcontent-%COMP%], .btn-danger[_ngcontent-%COMP%]:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-danger.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-danger.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-light[_ngcontent-%COMP%]{color:#212529}.btn-light[_ngcontent-%COMP%]:hover{color:#212529}.btn-light.focus[_ngcontent-%COMP%], .btn-light[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled[_ngcontent-%COMP%], .btn-light[_ngcontent-%COMP%]:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-light.dropdown-toggle[_ngcontent-%COMP%]{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-light.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-dark[_ngcontent-%COMP%]{color:#fff;background-color:#777;border-color:#777}.btn-dark[_ngcontent-%COMP%]:hover{color:#fff;background-color:#646464;border-color:#5e5e5e}.btn-dark.focus[_ngcontent-%COMP%], .btn-dark[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(139,139,139,.5)}.btn-dark.disabled[_ngcontent-%COMP%], .btn-dark[_ngcontent-%COMP%]:disabled{color:#fff;background-color:#777;border-color:#777}.btn-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-dark.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#5e5e5e;border-color:#575757}.btn-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-dark.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(139,139,139,.5)}.btn-outline-primary[_ngcontent-%COMP%]{color:#2b99a8;border-color:#2b99a8}.btn-outline-primary[_ngcontent-%COMP%]:hover{color:#fff;background-color:#2b99a8;border-color:#2b99a8}.btn-outline-primary.focus[_ngcontent-%COMP%], .btn-outline-primary[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(43,153,168,.5)}.btn-outline-primary.disabled[_ngcontent-%COMP%], .btn-outline-primary[_ngcontent-%COMP%]:disabled{color:#2b99a8;background-color:transparent}.btn-outline-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-primary.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#2b99a8;border-color:#2b99a8}.btn-outline-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-primary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-primary.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(43,153,168,.5)}.btn-outline-secondary[_ngcontent-%COMP%]{color:#ef5c55;border-color:#ef5c55}.btn-outline-secondary[_ngcontent-%COMP%]:hover{color:#fff;background-color:#ef5c55;border-color:#ef5c55}.btn-outline-secondary.focus[_ngcontent-%COMP%], .btn-outline-secondary[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(239,92,85,.5)}.btn-outline-secondary.disabled[_ngcontent-%COMP%], .btn-outline-secondary[_ngcontent-%COMP%]:disabled{color:#ef5c55;background-color:transparent}.btn-outline-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-secondary.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#ef5c55;border-color:#ef5c55}.btn-outline-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-secondary[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-secondary.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(239,92,85,.5)}.btn-outline-success[_ngcontent-%COMP%]{color:#28a745;border-color:#28a745}.btn-outline-success[_ngcontent-%COMP%]:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus[_ngcontent-%COMP%], .btn-outline-success[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled[_ngcontent-%COMP%], .btn-outline-success[_ngcontent-%COMP%]:disabled{color:#28a745;background-color:transparent}.btn-outline-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-success.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-success[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-success.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info[_ngcontent-%COMP%]{color:#17a2b8;border-color:#17a2b8}.btn-outline-info[_ngcontent-%COMP%]:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus[_ngcontent-%COMP%], .btn-outline-info[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled[_ngcontent-%COMP%], .btn-outline-info[_ngcontent-%COMP%]:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-info.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-info[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-info.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning[_ngcontent-%COMP%]{color:#ffc107;border-color:#ffc107}.btn-outline-warning[_ngcontent-%COMP%]:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus[_ngcontent-%COMP%], .btn-outline-warning[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled[_ngcontent-%COMP%], .btn-outline-warning[_ngcontent-%COMP%]:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-warning.dropdown-toggle[_ngcontent-%COMP%]{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-warning[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-warning.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger[_ngcontent-%COMP%]{color:#dc3545;border-color:#dc3545}.btn-outline-danger[_ngcontent-%COMP%]:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus[_ngcontent-%COMP%], .btn-outline-danger[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled[_ngcontent-%COMP%], .btn-outline-danger[_ngcontent-%COMP%]:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-danger.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-danger.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light[_ngcontent-%COMP%]{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light[_ngcontent-%COMP%]:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus[_ngcontent-%COMP%], .btn-outline-light[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled[_ngcontent-%COMP%], .btn-outline-light[_ngcontent-%COMP%]:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-light.dropdown-toggle[_ngcontent-%COMP%]{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-light[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-light.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark[_ngcontent-%COMP%]{color:#777;border-color:#777}.btn-outline-dark[_ngcontent-%COMP%]:hover{color:#fff;background-color:#777;border-color:#777}.btn-outline-dark.focus[_ngcontent-%COMP%], .btn-outline-dark[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(119,119,119,.5)}.btn-outline-dark.disabled[_ngcontent-%COMP%], .btn-outline-dark[_ngcontent-%COMP%]:disabled{color:#777;background-color:transparent}.btn-outline-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .btn-outline-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .show[_ngcontent-%COMP%] > .btn-outline-dark.dropdown-toggle[_ngcontent-%COMP%]{color:#fff;background-color:#777;border-color:#777}.btn-outline-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .btn-outline-dark[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .show[_ngcontent-%COMP%] > .btn-outline-dark.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem rgba(119,119,119,.5)}.btn-link[_ngcontent-%COMP%]{font-weight:400;color:#2b99a8;text-decoration:none}.btn-link[_ngcontent-%COMP%]:hover{color:#1b626b;text-decoration:underline}.btn-link.focus[_ngcontent-%COMP%], .btn-link[_ngcontent-%COMP%]:focus{text-decoration:underline;box-shadow:none}.btn-link.disabled[_ngcontent-%COMP%], .btn-link[_ngcontent-%COMP%]:disabled{color:#6c757d;pointer-events:none}.btn-group-lg[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .btn-lg[_ngcontent-%COMP%]{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .btn-sm[_ngcontent-%COMP%]{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block[_ngcontent-%COMP%]{display:block;width:100%}.btn-block[_ngcontent-%COMP%] + .btn-block[_ngcontent-%COMP%]{margin-top:.5rem}input[type=button].btn-block[_ngcontent-%COMP%], input[type=reset].btn-block[_ngcontent-%COMP%], input[type=submit].btn-block[_ngcontent-%COMP%]{width:100%}.fade[_ngcontent-%COMP%]{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade[_ngcontent-%COMP%]{transition:none}}.fade[_ngcontent-%COMP%]:not(.show){opacity:0}.collapse[_ngcontent-%COMP%]:not(.show){display:none}.collapsing[_ngcontent-%COMP%]{position:relative;height:0;overflow:hidden;transition:height .35s ease}.dropdown[_ngcontent-%COMP%], .dropleft[_ngcontent-%COMP%], .dropright[_ngcontent-%COMP%], .dropup[_ngcontent-%COMP%]{position:relative}.dropdown-toggle[_ngcontent-%COMP%]{white-space:nowrap}.dropdown-toggle[_ngcontent-%COMP%]::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[_ngcontent-%COMP%]:empty::after{margin-left:0}.dropdown-menu[_ngcontent-%COMP%]{position:absolute;top:100%;left:0;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left[_ngcontent-%COMP%]{right:auto;left:0}.dropdown-menu-right[_ngcontent-%COMP%]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left[_ngcontent-%COMP%]{right:auto;left:0}.dropdown-menu-sm-right[_ngcontent-%COMP%]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left[_ngcontent-%COMP%]{right:auto;left:0}.dropdown-menu-md-right[_ngcontent-%COMP%]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left[_ngcontent-%COMP%]{right:auto;left:0}.dropdown-menu-lg-right[_ngcontent-%COMP%]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left[_ngcontent-%COMP%]{right:auto;left:0}.dropdown-menu-xl-right[_ngcontent-%COMP%]{right:0;left:auto}}.dropup[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]::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[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]:empty::after{margin-left:0}.dropright[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]::after{display:inline-block;margin-left:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid;vertical-align:0}.dropright[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]:empty::after{margin-left:0}.dropleft[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]::after{margin-left:.255em;vertical-align:.255em;content:"";display:none}.dropleft[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]::before{display:inline-block;margin-right:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent;vertical-align:0}.dropleft[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]:empty::after{margin-left:0}.dropdown-menu[x-placement^=bottom][_ngcontent-%COMP%], .dropdown-menu[x-placement^=left][_ngcontent-%COMP%], .dropdown-menu[x-placement^=right][_ngcontent-%COMP%], .dropdown-menu[x-placement^=top][_ngcontent-%COMP%]{right:auto;bottom:auto}.dropdown-divider[_ngcontent-%COMP%]{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item[_ngcontent-%COMP%]{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item[_ngcontent-%COMP%]:focus, .dropdown-item[_ngcontent-%COMP%]:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active[_ngcontent-%COMP%], .dropdown-item[_ngcontent-%COMP%]:active{color:#fff;text-decoration:none;background-color:#2b99a8}.dropdown-item.disabled[_ngcontent-%COMP%], .dropdown-item[_ngcontent-%COMP%]:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show[_ngcontent-%COMP%]{display:block}.dropdown-header[_ngcontent-%COMP%]{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text[_ngcontent-%COMP%]{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%]{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]{position:relative;flex:1 1 auto}.btn-group-vertical[_ngcontent-%COMP%] > .btn.active[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:active, .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:focus, .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:hover, .btn-group[_ngcontent-%COMP%] > .btn.active[_ngcontent-%COMP%], .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:active, .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:focus, .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:hover{z-index:1}.btn-toolbar[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar[_ngcontent-%COMP%]   .input-group[_ngcontent-%COMP%]{width:auto}.btn-group[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:first-child), .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:first-child){margin-left:-1px}.btn-group[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:last-child) > .btn[_ngcontent-%COMP%], .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:first-child) > .btn[_ngcontent-%COMP%], .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split[_ngcontent-%COMP%]{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split[_ngcontent-%COMP%]::after, .dropright[_ngcontent-%COMP%]   .dropdown-toggle-split[_ngcontent-%COMP%]::after, .dropup[_ngcontent-%COMP%]   .dropdown-toggle-split[_ngcontent-%COMP%]::after{margin-left:0}.dropleft[_ngcontent-%COMP%]   .dropdown-toggle-split[_ngcontent-%COMP%]::before{margin-right:0}.btn-group-sm[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%] + .dropdown-toggle-split[_ngcontent-%COMP%], .btn-sm[_ngcontent-%COMP%] + .dropdown-toggle-split[_ngcontent-%COMP%]{padding-right:.375rem;padding-left:.375rem}.btn-group-lg[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%] + .dropdown-toggle-split[_ngcontent-%COMP%], .btn-lg[_ngcontent-%COMP%] + .dropdown-toggle-split[_ngcontent-%COMP%]{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]{width:100%}.btn-group-vertical[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:first-child), .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:first-child){margin-top:-1px}.btn-group-vertical[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:last-child) > .btn[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%]:not(:first-child) > .btn[_ngcontent-%COMP%], .btn-group-vertical[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .btn-group-toggle[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]{margin-bottom:0}.btn-group-toggle[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]   input[type=checkbox][_ngcontent-%COMP%], .btn-group-toggle[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]   input[type=radio][_ngcontent-%COMP%], .btn-group-toggle[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]   input[type=checkbox][_ngcontent-%COMP%], .btn-group-toggle[_ngcontent-%COMP%] > .btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]   input[type=radio][_ngcontent-%COMP%]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group[_ngcontent-%COMP%]{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control-plaintext[_ngcontent-%COMP%]{position:relative;flex:1 1 auto;width:1%;margin-bottom:0}.input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%] + .cd-form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%] + .custom-file[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%] + .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%] + .form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%] + .cd-form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%] + .custom-file[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%] + .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%] + .form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%] + .cd-form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%] + .custom-file[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%] + .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%] + .form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%] + .cd-form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%] + .custom-file[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%] + .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%] + .form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control-plaintext[_ngcontent-%COMP%] + .cd-form-control[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control-plaintext[_ngcontent-%COMP%] + .custom-file[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control-plaintext[_ngcontent-%COMP%] + .custom-select[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .form-control-plaintext[_ngcontent-%COMP%] + .form-control[_ngcontent-%COMP%]{margin-left:-1px}.input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%]:focus, .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:focus ~ .custom-file-label[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%]:focus, .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%]:focus{z-index:3}.input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]   .custom-file-input[_ngcontent-%COMP%]:focus{z-index:4}.input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%]:not(:last-child), .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%]:not(:last-child), .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%]:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%]:not(:first-child), .input-group[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%]:not(:first-child), .input-group[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%]:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]{display:flex;align-items:center}.input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]:not(:last-child)   .custom-file-label[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]:not(:last-child)   .custom-file-label[_ngcontent-%COMP%]::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group[_ngcontent-%COMP%] > .custom-file[_ngcontent-%COMP%]:not(:first-child)   .custom-file-label[_ngcontent-%COMP%]{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%]{display:flex}.input-group-append[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%]{position:relative;z-index:2}.input-group-append[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%]:focus, .input-group-prepend[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%]:focus{z-index:3}.input-group-append[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%] + .btn[_ngcontent-%COMP%], .input-group-append[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%] + .input-group-text[_ngcontent-%COMP%], .input-group-append[_ngcontent-%COMP%]   .input-group-text[_ngcontent-%COMP%] + .btn[_ngcontent-%COMP%], .input-group-append[_ngcontent-%COMP%]   .input-group-text[_ngcontent-%COMP%] + .input-group-text[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%] + .btn[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%] + .input-group-text[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%]   .input-group-text[_ngcontent-%COMP%] + .btn[_ngcontent-%COMP%], .input-group-prepend[_ngcontent-%COMP%]   .input-group-text[_ngcontent-%COMP%] + .input-group-text[_ngcontent-%COMP%]{margin-left:-1px}.input-group-prepend[_ngcontent-%COMP%]{margin-right:-1px}.input-group-append[_ngcontent-%COMP%]{margin-left:-1px}.input-group-text[_ngcontent-%COMP%]{display:flex;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text[_ngcontent-%COMP%]   input[type=checkbox][_ngcontent-%COMP%], .input-group-text[_ngcontent-%COMP%]   input[type=radio][_ngcontent-%COMP%]{margin-top:0}.input-group-lg[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%]:not(textarea), .input-group-lg[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%]:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group-lg[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%]{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%]:not(textarea), .input-group-sm[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%]:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm[_ngcontent-%COMP%] > .cd-form-control[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .form-control[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%]{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%], .input-group-sm[_ngcontent-%COMP%] > .custom-select[_ngcontent-%COMP%]{padding-right:1.75rem}.input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%]:last-child > .btn[_ngcontent-%COMP%]:not(:last-child):not(.dropdown-toggle), .input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%]:last-child > .input-group-text[_ngcontent-%COMP%]:not(:last-child), .input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%]:not(:last-child) > .btn[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%]:not(:last-child) > .input-group-text[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%]{border-top-right-radius:0;border-bottom-right-radius:0}.input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-append[_ngcontent-%COMP%] > .input-group-text[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%]:first-child > .btn[_ngcontent-%COMP%]:not(:first-child), .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%]:first-child > .input-group-text[_ngcontent-%COMP%]:not(:first-child), .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%]:not(:first-child) > .btn[_ngcontent-%COMP%], .input-group[_ngcontent-%COMP%] > .input-group-prepend[_ngcontent-%COMP%]:not(:first-child) > .input-group-text[_ngcontent-%COMP%]{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control[_ngcontent-%COMP%]{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline[_ngcontent-%COMP%]{display:inline-flex;margin-right:1rem}.custom-control-input[_ngcontent-%COMP%]{position:absolute;z-index:-1;opacity:0}.custom-control-input[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::before{color:#fff;border-color:#2b99a8;background-color:#2b99a8}.custom-control-input[_ngcontent-%COMP%]:focus ~ .custom-control-label[_ngcontent-%COMP%]::before{box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.custom-control-input[_ngcontent-%COMP%]:focus:not(:checked) ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#76d0dc}.custom-control-input[_ngcontent-%COMP%]:not(:disabled):active ~ .custom-control-label[_ngcontent-%COMP%]::before{color:#fff;background-color:#9fdee6;border-color:#9fdee6}.custom-control-input[_ngcontent-%COMP%]:disabled ~ .custom-control-label[_ngcontent-%COMP%]{color:#6c757d}.custom-control-input[_ngcontent-%COMP%]:disabled ~ .custom-control-label[_ngcontent-%COMP%]::before{background-color:#e9ecef}.custom-control-label[_ngcontent-%COMP%]{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label[_ngcontent-%COMP%]::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#fff;border:1px solid #adb5bd}.custom-control-label[_ngcontent-%COMP%]::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:50%/50% 50% no-repeat}.custom-checkbox[_ngcontent-%COMP%]   .custom-control-label[_ngcontent-%COMP%]::before{border-radius:.25rem}.custom-checkbox[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::after{background-image:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 8 8\'%3e%3cpath fill=\'%23fff\' d=\'M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z\'/%3e%3c/svg%3e")}.custom-checkbox[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:indeterminate ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#2b99a8;background-color:#2b99a8}.custom-checkbox[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:indeterminate ~ .custom-control-label[_ngcontent-%COMP%]::after{background-image:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 4 4\'%3e%3cpath stroke=\'%23fff\' d=\'M0 2h4\'/%3e%3c/svg%3e")}.custom-checkbox[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:disabled:checked ~ .custom-control-label[_ngcontent-%COMP%]::before{background-color:rgba(43,153,168,.5)}.custom-checkbox[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:disabled:indeterminate ~ .custom-control-label[_ngcontent-%COMP%]::before{background-color:rgba(43,153,168,.5)}.custom-radio[_ngcontent-%COMP%]   .custom-control-label[_ngcontent-%COMP%]::before{border-radius:50%}.custom-radio[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::after{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")}.custom-radio[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:disabled:checked ~ .custom-control-label[_ngcontent-%COMP%]::before{background-color:rgba(43,153,168,.5)}.custom-switch[_ngcontent-%COMP%]{padding-left:2.25rem}.custom-switch[_ngcontent-%COMP%]   .custom-control-label[_ngcontent-%COMP%]::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch[_ngcontent-%COMP%]   .custom-control-label[_ngcontent-%COMP%]::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.custom-switch[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::after{background-color:#fff;transform:translateX(.75rem)}.custom-switch[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:disabled:checked ~ .custom-control-label[_ngcontent-%COMP%]::before{background-color:rgba(43,153,168,.5)}.custom-select[_ngcontent-%COMP%]{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 4 5\'%3e%3cpath fill=\'%23343a40\' d=\'M2 0L0 2h4zm0 5L0 3h4z\'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat #fff;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select[_ngcontent-%COMP%]:focus{border-color:#76d0dc;outline:0;box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.custom-select[_ngcontent-%COMP%]:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple][_ngcontent-%COMP%], .custom-select[size][_ngcontent-%COMP%]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select[_ngcontent-%COMP%]:disabled{color:#6c757d;background-color:#e9ecef}.custom-select[_ngcontent-%COMP%]::-ms-expand{display:none}.custom-select-sm[_ngcontent-%COMP%]{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg[_ngcontent-%COMP%]{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file[_ngcontent-%COMP%]{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}.custom-file-input[_ngcontent-%COMP%]{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;opacity:0}.custom-file-input[_ngcontent-%COMP%]:focus ~ .custom-file-label[_ngcontent-%COMP%]{border-color:#76d0dc;box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.custom-file-input[_ngcontent-%COMP%]:disabled ~ .custom-file-label[_ngcontent-%COMP%]{background-color:#e9ecef}.custom-file-input[_ngcontent-%COMP%]:lang(en) ~ .custom-file-label[_ngcontent-%COMP%]::after{content:"Browse"}.custom-file-input[_ngcontent-%COMP%] ~ .custom-file-label[data-browse][_ngcontent-%COMP%]::after{content:attr(data-browse)}.custom-file-label[_ngcontent-%COMP%]{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label[_ngcontent-%COMP%]::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range[_ngcontent-%COMP%]{width:100%;height:calc(1rem + .4rem);padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range[_ngcontent-%COMP%]:focus{outline:0}.custom-range[_ngcontent-%COMP%]:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(43,153,168,.25)}.custom-range[_ngcontent-%COMP%]:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(43,153,168,.25)}.custom-range[_ngcontent-%COMP%]:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(43,153,168,.25)}.custom-range[_ngcontent-%COMP%]::-moz-focus-outer{border:0}.custom-range[_ngcontent-%COMP%]::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#2b99a8;border:0;border-radius:1rem;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){.collapsing[_ngcontent-%COMP%], .custom-switch[_ngcontent-%COMP%]   .custom-control-label[_ngcontent-%COMP%]::after{transition:none}.custom-range[_ngcontent-%COMP%]::-webkit-slider-thumb{transition:none}}.custom-range[_ngcontent-%COMP%]::-webkit-slider-thumb:active{background-color:#9fdee6}.custom-range[_ngcontent-%COMP%]::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range[_ngcontent-%COMP%]::-moz-range-thumb{width:1rem;height:1rem;background-color:#2b99a8;border:0;border-radius:1rem;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){.custom-range[_ngcontent-%COMP%]::-moz-range-thumb{transition:none}}.custom-range[_ngcontent-%COMP%]::-moz-range-thumb:active{background-color:#9fdee6}.custom-range[_ngcontent-%COMP%]::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range[_ngcontent-%COMP%]::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#2b99a8;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range[_ngcontent-%COMP%]::-ms-thumb{transition:none}}.custom-range[_ngcontent-%COMP%]::-ms-thumb:active{background-color:#9fdee6}.custom-range[_ngcontent-%COMP%]::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range[_ngcontent-%COMP%]::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range[_ngcontent-%COMP%]::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-range[_ngcontent-%COMP%]:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range[_ngcontent-%COMP%]:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range[_ngcontent-%COMP%]:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range[_ngcontent-%COMP%]:disabled::-moz-range-track{cursor:default}.custom-range[_ngcontent-%COMP%]:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label[_ngcontent-%COMP%]::before, .custom-file-label[_ngcontent-%COMP%], .custom-select[_ngcontent-%COMP%]{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label[_ngcontent-%COMP%]::before, .custom-file-label[_ngcontent-%COMP%], .custom-select[_ngcontent-%COMP%]{transition:none}}.nav[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link[_ngcontent-%COMP%]{display:block;padding:.5rem 1rem}.nav-link[_ngcontent-%COMP%]:focus, .nav-link[_ngcontent-%COMP%]:hover{text-decoration:none}.nav-link.disabled[_ngcontent-%COMP%]{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs[_ngcontent-%COMP%]{border-bottom:1px solid #dee2e6}.nav-tabs[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]{margin-bottom:-1px}.nav-tabs[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]:focus, .nav-tabs[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs[_ngcontent-%COMP%]   .nav-link.disabled[_ngcontent-%COMP%]{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs[_ngcontent-%COMP%]   .nav-item.show[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%], .nav-tabs[_ngcontent-%COMP%]   .nav-link.active[_ngcontent-%COMP%]{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{border-radius:.25rem}.nav-pills[_ngcontent-%COMP%]   .nav-link.active[_ngcontent-%COMP%], .nav-pills[_ngcontent-%COMP%]   .show[_ngcontent-%COMP%] > .nav-link[_ngcontent-%COMP%]{color:#fff;background-color:#2b99a8}.nav-fill[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]{flex:1 1 auto;text-align:center}.nav-justified[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]{flex-basis:0;flex-grow:1;text-align:center}.tab-content[_ngcontent-%COMP%] > .tab-pane[_ngcontent-%COMP%]{display:none}.tab-content[_ngcontent-%COMP%] > .active[_ngcontent-%COMP%]{display:block}.navbar[_ngcontent-%COMP%]{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:.5rem 1rem}.navbar[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.navbar-brand[_ngcontent-%COMP%]{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand[_ngcontent-%COMP%]:focus, .navbar-brand[_ngcontent-%COMP%]:hover{text-decoration:none}.navbar-nav[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{padding-right:0;padding-left:0}.navbar-nav[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{position:static;float:none}.navbar-text[_ngcontent-%COMP%]{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse[_ngcontent-%COMP%]{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler[_ngcontent-%COMP%]{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler[_ngcontent-%COMP%]:focus, .navbar-toggler[_ngcontent-%COMP%]:hover{text-decoration:none}.navbar-toggler-icon[_ngcontent-%COMP%]{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:center center/100% 100% no-repeat}@media (max-width:575.98px){.navbar-expand-sm[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-sm[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm[_ngcontent-%COMP%]{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-sm[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]{flex-direction:row}.navbar-expand-sm[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{position:absolute}.navbar-expand-sm[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-sm[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{flex-wrap:nowrap}.navbar-expand-sm[_ngcontent-%COMP%]   .navbar-collapse[_ngcontent-%COMP%]{display:flex!important;flex-basis:auto}.navbar-expand-sm[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{display:none}}@media (max-width:767.98px){.navbar-expand-md[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-md[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md[_ngcontent-%COMP%]{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-md[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]{flex-direction:row}.navbar-expand-md[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{position:absolute}.navbar-expand-md[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-md[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{flex-wrap:nowrap}.navbar-expand-md[_ngcontent-%COMP%]   .navbar-collapse[_ngcontent-%COMP%]{display:flex!important;flex-basis:auto}.navbar-expand-md[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{display:none}}@media (max-width:991.98px){.navbar-expand-lg[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-lg[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg[_ngcontent-%COMP%]{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]{flex-direction:row}.navbar-expand-lg[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{position:absolute}.navbar-expand-lg[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-lg[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{flex-wrap:nowrap}.navbar-expand-lg[_ngcontent-%COMP%]   .navbar-collapse[_ngcontent-%COMP%]{display:flex!important;flex-basis:auto}.navbar-expand-lg[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{display:none}}@media (max-width:1199.98px){.navbar-expand-xl[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-xl[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl[_ngcontent-%COMP%]{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-xl[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]{flex-direction:row}.navbar-expand-xl[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{position:absolute}.navbar-expand-xl[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand-xl[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{flex-wrap:nowrap}.navbar-expand-xl[_ngcontent-%COMP%]   .navbar-collapse[_ngcontent-%COMP%]{display:flex!important;flex-basis:auto}.navbar-expand-xl[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{display:none}}.navbar-expand[_ngcontent-%COMP%]{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]{flex-direction:row}.navbar-expand[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{position:absolute}.navbar-expand[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{padding-right:.5rem;padding-left:.5rem}.navbar-expand[_ngcontent-%COMP%] > .container[_ngcontent-%COMP%], .navbar-expand[_ngcontent-%COMP%] > .container-fluid[_ngcontent-%COMP%]{padding-right:0;padding-left:0;flex-wrap:nowrap}.navbar-expand[_ngcontent-%COMP%]   .navbar-collapse[_ngcontent-%COMP%]{display:flex!important;flex-basis:auto}.navbar-expand[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{display:none}.navbar-light[_ngcontent-%COMP%]   .navbar-brand[_ngcontent-%COMP%], .navbar-light[_ngcontent-%COMP%]   .navbar-brand[_ngcontent-%COMP%]:focus, .navbar-light[_ngcontent-%COMP%]   .navbar-brand[_ngcontent-%COMP%]:hover{color:rgba(0,0,0,.9)}.navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{color:rgba(0,0,0,.5)}.navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]:focus, .navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]:hover{color:rgba(0,0,0,.7)}.navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link.disabled[_ngcontent-%COMP%]{color:rgba(0,0,0,.3)}.navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .active[_ngcontent-%COMP%] > .nav-link[_ngcontent-%COMP%], .navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link.active[_ngcontent-%COMP%], .navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link.show[_ngcontent-%COMP%], .navbar-light[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .show[_ngcontent-%COMP%] > .nav-link[_ngcontent-%COMP%]{color:rgba(0,0,0,.9)}.navbar-light[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light[_ngcontent-%COMP%]   .navbar-toggler-icon[_ngcontent-%COMP%]{background-image:url("data:image/svg+xml,%3csvg viewBox=\'0 0 30 30\' xmlns=\'http://www.w3.org/2000/svg\'%3e%3cpath stroke=\'rgba(0, 0, 0, 0.5)\' stroke-width=\'2\' stroke-linecap=\'round\' stroke-miterlimit=\'10\' d=\'M4 7h22M4 15h22M4 23h22\'/%3e%3c/svg%3e")}.navbar-light[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]{color:rgba(0,0,0,.5)}.navbar-light[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]   a[_ngcontent-%COMP%], .navbar-light[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]:focus, .navbar-light[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]:hover{color:rgba(0,0,0,.9)}.navbar-dark[_ngcontent-%COMP%]   .navbar-brand[_ngcontent-%COMP%], .navbar-dark[_ngcontent-%COMP%]   .navbar-brand[_ngcontent-%COMP%]:focus, .navbar-dark[_ngcontent-%COMP%]   .navbar-brand[_ngcontent-%COMP%]:hover{color:#fff}.navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{color:rgba(255,255,255,.5)}.navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]:focus, .navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]:hover{color:rgba(255,255,255,.75)}.navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link.disabled[_ngcontent-%COMP%]{color:rgba(255,255,255,.25)}.navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .active[_ngcontent-%COMP%] > .nav-link[_ngcontent-%COMP%], .navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link.active[_ngcontent-%COMP%], .navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .nav-link.show[_ngcontent-%COMP%], .navbar-dark[_ngcontent-%COMP%]   .navbar-nav[_ngcontent-%COMP%]   .show[_ngcontent-%COMP%] > .nav-link[_ngcontent-%COMP%]{color:#fff}.navbar-dark[_ngcontent-%COMP%]   .navbar-toggler[_ngcontent-%COMP%]{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark[_ngcontent-%COMP%]   .navbar-toggler-icon[_ngcontent-%COMP%]{background-image:url("data:image/svg+xml,%3csvg viewBox=\'0 0 30 30\' xmlns=\'http://www.w3.org/2000/svg\'%3e%3cpath stroke=\'rgba(255, 255, 255, 0.5)\' stroke-width=\'2\' stroke-linecap=\'round\' stroke-miterlimit=\'10\' d=\'M4 7h22M4 15h22M4 23h22\'/%3e%3c/svg%3e")}.navbar-dark[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]{color:rgba(255,255,255,.5)}.navbar-dark[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]   a[_ngcontent-%COMP%], .navbar-dark[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]:focus, .navbar-dark[_ngcontent-%COMP%]   .navbar-text[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]:hover{color:#fff}.card[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card[_ngcontent-%COMP%] > hr[_ngcontent-%COMP%], pre[_ngcontent-%COMP%] > hr[_ngcontent-%COMP%]{margin-right:0;margin-left:0}.card[_ngcontent-%COMP%] > .list-group[_ngcontent-%COMP%]:first-child   .list-group-item[_ngcontent-%COMP%]:first-child, pre[_ngcontent-%COMP%] > .list-group[_ngcontent-%COMP%]:first-child   .list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card[_ngcontent-%COMP%] > .list-group[_ngcontent-%COMP%]:last-child   .list-group-item[_ngcontent-%COMP%]:last-child, pre[_ngcontent-%COMP%] > .list-group[_ngcontent-%COMP%]:last-child   .list-group-item[_ngcontent-%COMP%]:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body[_ngcontent-%COMP%]{flex:1 1 auto;padding:1.25rem}.card-title[_ngcontent-%COMP%]{margin-bottom:.75rem}.card-subtitle[_ngcontent-%COMP%]{margin-top:-.375rem;margin-bottom:0}.card-text[_ngcontent-%COMP%]:last-child{margin-bottom:0}.card-link[_ngcontent-%COMP%]:hover{text-decoration:none}.card-link[_ngcontent-%COMP%] + .card-link[_ngcontent-%COMP%]{margin-left:1.25rem}.card-header[_ngcontent-%COMP%]{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header[_ngcontent-%COMP%]:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header[_ngcontent-%COMP%] + .list-group[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:first-child{border-top:0}.card-footer[_ngcontent-%COMP%]{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer[_ngcontent-%COMP%]:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs[_ngcontent-%COMP%]{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills[_ngcontent-%COMP%]{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay[_ngcontent-%COMP%]{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img[_ngcontent-%COMP%]{width:100%;border-radius:calc(.25rem - 1px)}.card-img-top[_ngcontent-%COMP%]{width:100%;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img-bottom[_ngcontent-%COMP%]{width:100%;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck[_ngcontent-%COMP%]{display:flex;flex-direction:column}.card-deck[_ngcontent-%COMP%]   .card[_ngcontent-%COMP%], .card-deck[_ngcontent-%COMP%]   pre[_ngcontent-%COMP%]{margin-bottom:15px}@media (min-width:576px){.card-deck[_ngcontent-%COMP%]{flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck[_ngcontent-%COMP%]   .card[_ngcontent-%COMP%], .card-deck[_ngcontent-%COMP%]   pre[_ngcontent-%COMP%]{display:flex;flex:1 0 0%;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group[_ngcontent-%COMP%]{display:flex;flex-direction:column}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]{margin-bottom:15px}@media (min-width:576px){.card-group[_ngcontent-%COMP%]{flex-flow:row wrap}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]{flex:1 0 0%;margin-bottom:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%] + .card[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%] + pre[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%] + .card[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%] + pre[_ngcontent-%COMP%]{margin-left:0;border-left:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:last-child), .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:last-child)   .card-header[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:last-child)   .card-img-top[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:last-child)   .card-header[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:last-child)   .card-img-top[_ngcontent-%COMP%]{border-top-right-radius:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:last-child)   .card-footer[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:last-child)   .card-img-bottom[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:last-child)   .card-footer[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:last-child)   .card-img-bottom[_ngcontent-%COMP%]{border-bottom-right-radius:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-child), .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-child)   .card-header[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-child)   .card-img-top[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-child)   .card-header[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-child)   .card-img-top[_ngcontent-%COMP%]{border-top-left-radius:0}.card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-child)   .card-footer[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-child)   .card-img-bottom[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-child)   .card-footer[_ngcontent-%COMP%], .card-group[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-child)   .card-img-bottom[_ngcontent-%COMP%]{border-bottom-left-radius:0}.card-columns[_ngcontent-%COMP%]{column-count:3;column-gap:1.25rem;orphans:1;widows:1}.card-columns[_ngcontent-%COMP%]   .card[_ngcontent-%COMP%], .card-columns[_ngcontent-%COMP%]   pre[_ngcontent-%COMP%]{display:inline-block;width:100%}}.card-columns[_ngcontent-%COMP%]   .card[_ngcontent-%COMP%], .card-columns[_ngcontent-%COMP%]   pre[_ngcontent-%COMP%]{margin-bottom:.75rem}.accordion[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%], .accordion[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]{overflow:hidden}.accordion[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-of-type)   .card-header[_ngcontent-%COMP%]:first-child, .accordion[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-of-type)   .card-header[_ngcontent-%COMP%]:first-child{border-radius:0}.accordion[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:not(:first-of-type):not(:last-of-type), .accordion[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:not(:first-of-type):not(:last-of-type){border-bottom:0;border-radius:0}.accordion[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:first-of-type, .accordion[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:first-of-type{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]:last-of-type, .accordion[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]:last-of-type{border-top-left-radius:0;border-top-right-radius:0}.accordion[_ngcontent-%COMP%] > .card[_ngcontent-%COMP%]   .card-header[_ngcontent-%COMP%], .accordion[_ngcontent-%COMP%] > pre[_ngcontent-%COMP%]   .card-header[_ngcontent-%COMP%]{margin-bottom:-1px}.breadcrumb[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item[_ngcontent-%COMP%] + .breadcrumb-item[_ngcontent-%COMP%]{padding-left:.5rem}.breadcrumb-item[_ngcontent-%COMP%] + .breadcrumb-item[_ngcontent-%COMP%]::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item[_ngcontent-%COMP%] + .breadcrumb-item[_ngcontent-%COMP%]:hover::before{text-decoration:none}.breadcrumb-item.active[_ngcontent-%COMP%]{color:#6c757d}.pagination[_ngcontent-%COMP%]{display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link[_ngcontent-%COMP%]{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#2b99a8;background-color:#fff;border:1px solid #dee2e6}.page-link[_ngcontent-%COMP%]:hover{z-index:2;color:#1b626b;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link[_ngcontent-%COMP%]:focus{z-index:2;outline:0;box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.page-item[_ngcontent-%COMP%]:first-child   .page-link[_ngcontent-%COMP%]{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item[_ngcontent-%COMP%]:last-child   .page-link[_ngcontent-%COMP%]{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active[_ngcontent-%COMP%]   .page-link[_ngcontent-%COMP%]{z-index:1;color:#fff;background-color:#2b99a8;border-color:#2b99a8}.page-item.disabled[_ngcontent-%COMP%]   .page-link[_ngcontent-%COMP%]{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg[_ngcontent-%COMP%]   .page-link[_ngcontent-%COMP%]{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg[_ngcontent-%COMP%]   .page-item[_ngcontent-%COMP%]:first-child   .page-link[_ngcontent-%COMP%]{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg[_ngcontent-%COMP%]   .page-item[_ngcontent-%COMP%]:last-child   .page-link[_ngcontent-%COMP%]{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm[_ngcontent-%COMP%]   .page-link[_ngcontent-%COMP%]{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm[_ngcontent-%COMP%]   .page-item[_ngcontent-%COMP%]:first-child   .page-link[_ngcontent-%COMP%]{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm[_ngcontent-%COMP%]   .page-item[_ngcontent-%COMP%]:last-child   .page-link[_ngcontent-%COMP%]{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge[_ngcontent-%COMP%]{display:inline-block;padding:.25em .4em;font-size:1rem;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;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){.badge[_ngcontent-%COMP%]{transition:none}}a.badge[_ngcontent-%COMP%]:focus, a.badge[_ngcontent-%COMP%]:hover{text-decoration:none}.badge[_ngcontent-%COMP%]:empty{display:none}.btn[_ngcontent-%COMP%]   .badge[_ngcontent-%COMP%]{position:relative;top:-1px}.badge-pill[_ngcontent-%COMP%]{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary[_ngcontent-%COMP%]{color:#fff;background-color:#2b99a8}a.badge-primary[_ngcontent-%COMP%]:focus, a.badge-primary[_ngcontent-%COMP%]:hover{color:#fff;background-color:#21747f}a.badge-primary.focus[_ngcontent-%COMP%], a.badge-primary[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(43,153,168,.5)}.badge-secondary[_ngcontent-%COMP%]{color:#fff;background-color:#ef5c55}a.badge-secondary[_ngcontent-%COMP%]:focus, a.badge-secondary[_ngcontent-%COMP%]:hover{color:#fff;background-color:#eb2f26}a.badge-secondary.focus[_ngcontent-%COMP%], a.badge-secondary[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(239,92,85,.5)}.badge-success[_ngcontent-%COMP%]{color:#fff;background-color:#28a745}a.badge-success[_ngcontent-%COMP%]:focus, a.badge-success[_ngcontent-%COMP%]:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus[_ngcontent-%COMP%], a.badge-success[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info[_ngcontent-%COMP%]{color:#fff;background-color:#17a2b8}a.badge-info[_ngcontent-%COMP%]:focus, a.badge-info[_ngcontent-%COMP%]:hover{color:#fff;background-color:#117a8b}a.badge-info.focus[_ngcontent-%COMP%], a.badge-info[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning[_ngcontent-%COMP%]{color:#212529;background-color:#ffc107}a.badge-warning[_ngcontent-%COMP%]:focus, a.badge-warning[_ngcontent-%COMP%]:hover{color:#212529;background-color:#d39e00}a.badge-warning.focus[_ngcontent-%COMP%], a.badge-warning[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger[_ngcontent-%COMP%]{color:#fff;background-color:#dc3545}a.badge-danger[_ngcontent-%COMP%]:focus, a.badge-danger[_ngcontent-%COMP%]:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus[_ngcontent-%COMP%], a.badge-danger[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light[_ngcontent-%COMP%]{color:#212529;background-color:#f8f9fa}a.badge-light[_ngcontent-%COMP%]:focus, a.badge-light[_ngcontent-%COMP%]:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus[_ngcontent-%COMP%], a.badge-light[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark[_ngcontent-%COMP%]{color:#fff;background-color:#777}a.badge-dark[_ngcontent-%COMP%]:focus, a.badge-dark[_ngcontent-%COMP%]:hover{color:#fff;background-color:#5e5e5e}a.badge-dark.focus[_ngcontent-%COMP%], a.badge-dark[_ngcontent-%COMP%]:focus{outline:0;box-shadow:0 0 0 .2rem rgba(119,119,119,.5)}.jumbotron[_ngcontent-%COMP%]{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron[_ngcontent-%COMP%]{padding:4rem 2rem}}.jumbotron-fluid[_ngcontent-%COMP%]{padding-right:0;padding-left:0;border-radius:0}.alert[_ngcontent-%COMP%]{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading[_ngcontent-%COMP%]{color:inherit}.alert-link[_ngcontent-%COMP%]{font-weight:700}.alert-dismissible[_ngcontent-%COMP%]{padding-right:4rem}.alert-dismissible[_ngcontent-%COMP%]   .close[_ngcontent-%COMP%]{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary[_ngcontent-%COMP%]{color:#165057;background-color:#d5ebee;border-color:#c4e2e7}.alert-primary[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#b2d9e0}.alert-primary[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#0c2b2e}.alert-secondary[_ngcontent-%COMP%]{color:#7c302c;background-color:#fcdedd;border-color:#fbd1cf}.alert-secondary[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#f9bab7}.alert-secondary[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#56211f}.alert-success[_ngcontent-%COMP%]{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#b1dfbb}.alert-success[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#0b2e13}.alert-info[_ngcontent-%COMP%]{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#abdde5}.alert-info[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#062c33}.alert-warning[_ngcontent-%COMP%]{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#ffe8a1}.alert-warning[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#533f03}.alert-danger[_ngcontent-%COMP%]{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#f1b0b7}.alert-danger[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#491217}.alert-light[_ngcontent-%COMP%]{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#ececf6}.alert-light[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#686868}.alert-dark[_ngcontent-%COMP%]{color:#3e3e3e;background-color:#e4e4e4;border-color:#d9d9d9}.alert-dark[_ngcontent-%COMP%]   hr[_ngcontent-%COMP%]{border-top-color:#ccc}.alert-dark[_ngcontent-%COMP%]   .alert-link[_ngcontent-%COMP%]{color:#252525}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress[_ngcontent-%COMP%]{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#2b99a8;transition:width .6s ease}.progress-bar-striped[_ngcontent-%COMP%]{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:1rem 1rem}.progress-bar-animated[_ngcontent-%COMP%]{animation:1s linear infinite progress-bar-stripes}.media[_ngcontent-%COMP%]{display:flex;align-items:flex-start}.media-body[_ngcontent-%COMP%]{flex:1}.list-group[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action[_ngcontent-%COMP%]{width:100%;color:#495057;text-align:inherit}.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-action[_ngcontent-%COMP%]:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action[_ngcontent-%COMP%]:active{color:#212529;background-color:#e9ecef}.list-group-item[_ngcontent-%COMP%]{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item[_ngcontent-%COMP%]:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item.disabled[_ngcontent-%COMP%], .list-group-item[_ngcontent-%COMP%]:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active[_ngcontent-%COMP%]{z-index:2;color:#fff;background-color:#2b99a8;border-color:#2b99a8}.list-group-horizontal[_ngcontent-%COMP%]{flex-direction:row}.list-group-horizontal[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]{margin-right:-1px;margin-bottom:0}.list-group-horizontal[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}@media (min-width:576px){.list-group-horizontal-sm[_ngcontent-%COMP%]{flex-direction:row}.list-group-horizontal-sm[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]{margin-right:-1px;margin-bottom:0}.list-group-horizontal-sm[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:768px){.list-group-horizontal-md[_ngcontent-%COMP%]{flex-direction:row}.list-group-horizontal-md[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]{margin-right:-1px;margin-bottom:0}.list-group-horizontal-md[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:992px){.list-group-horizontal-lg[_ngcontent-%COMP%]{flex-direction:row}.list-group-horizontal-lg[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]{margin-right:-1px;margin-bottom:0}.list-group-horizontal-lg[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:1200px){.list-group-horizontal-xl[_ngcontent-%COMP%]{flex-direction:row}.list-group-horizontal-xl[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]{margin-right:-1px;margin-bottom:0}.list-group-horizontal-xl[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}.list-group-flush[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]{border-right:0;border-left:0;border-radius:0}.list-group-flush[_ngcontent-%COMP%]   .list-group-item[_ngcontent-%COMP%]:last-child{margin-bottom:-1px}.list-group-flush[_ngcontent-%COMP%]:first-child   .list-group-item[_ngcontent-%COMP%]:first-child{border-top:0}.list-group-flush[_ngcontent-%COMP%]:last-child   .list-group-item[_ngcontent-%COMP%]:last-child{margin-bottom:0;border-bottom:0}.list-group-item-primary[_ngcontent-%COMP%]{color:#165057;background-color:#c4e2e7}.list-group-item-primary.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-primary.list-group-item-action[_ngcontent-%COMP%]:hover{color:#165057;background-color:#b2d9e0}.list-group-item-primary.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#165057;border-color:#165057}.list-group-item-secondary[_ngcontent-%COMP%]{color:#7c302c;background-color:#fbd1cf}.list-group-item-secondary.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-secondary.list-group-item-action[_ngcontent-%COMP%]:hover{color:#7c302c;background-color:#f9bab7}.list-group-item-secondary.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#7c302c;border-color:#7c302c}.list-group-item-success[_ngcontent-%COMP%]{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-success.list-group-item-action[_ngcontent-%COMP%]:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info[_ngcontent-%COMP%]{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-info.list-group-item-action[_ngcontent-%COMP%]:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning[_ngcontent-%COMP%]{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-warning.list-group-item-action[_ngcontent-%COMP%]:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger[_ngcontent-%COMP%]{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-danger.list-group-item-action[_ngcontent-%COMP%]:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light[_ngcontent-%COMP%]{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-light.list-group-item-action[_ngcontent-%COMP%]:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark[_ngcontent-%COMP%]{color:#3e3e3e;background-color:#d9d9d9}.list-group-item-dark.list-group-item-action[_ngcontent-%COMP%]:focus, .list-group-item-dark.list-group-item-action[_ngcontent-%COMP%]:hover{color:#3e3e3e;background-color:#ccc}.list-group-item-dark.list-group-item-action.active[_ngcontent-%COMP%]{color:#fff;background-color:#3e3e3e;border-color:#3e3e3e}.close[_ngcontent-%COMP%]{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close[_ngcontent-%COMP%]:hover{color:#000;text-decoration:none}.close[_ngcontent-%COMP%]:not(:disabled):not(.disabled):focus, .close[_ngcontent-%COMP%]:not(:disabled):not(.disabled):hover{opacity:.75}button.close[_ngcontent-%COMP%]{padding:0;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}a.close.disabled[_ngcontent-%COMP%]{pointer-events:none}.toast[_ngcontent-%COMP%]{max-width:350px;overflow:hidden;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);backdrop-filter:blur(10px);opacity:0;border-radius:.25rem}.toast[_ngcontent-%COMP%]:not(:last-child){margin-bottom:.75rem}.toast.showing[_ngcontent-%COMP%]{opacity:1}.toast.show[_ngcontent-%COMP%]{display:block;opacity:1}.toast.hide[_ngcontent-%COMP%]{display:none}.toast-header[_ngcontent-%COMP%]{display:flex;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}.toast-body[_ngcontent-%COMP%]{padding:.75rem}.modal-open[_ngcontent-%COMP%]{overflow:hidden}.modal-open[_ngcontent-%COMP%]   .modal[_ngcontent-%COMP%]{overflow-x:hidden;overflow-y:auto}.modal[_ngcontent-%COMP%]{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog[_ngcontent-%COMP%]{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade[_ngcontent-%COMP%]   .modal-dialog[_ngcontent-%COMP%]{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.progress-bar[_ngcontent-%COMP%]{transition:none}.progress-bar-animated[_ngcontent-%COMP%]{animation:none}.modal.fade[_ngcontent-%COMP%]   .modal-dialog[_ngcontent-%COMP%]{transition:none}}.modal.show[_ngcontent-%COMP%]   .modal-dialog[_ngcontent-%COMP%]{transform:none}.modal-dialog-scrollable[_ngcontent-%COMP%]{display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable[_ngcontent-%COMP%]   .modal-content[_ngcontent-%COMP%]{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable[_ngcontent-%COMP%]   .modal-footer[_ngcontent-%COMP%], .modal-dialog-scrollable[_ngcontent-%COMP%]   .modal-header[_ngcontent-%COMP%]{flex-shrink:0}.modal-dialog-scrollable[_ngcontent-%COMP%]   .modal-body[_ngcontent-%COMP%]{overflow-y:auto}.modal-dialog-centered[_ngcontent-%COMP%]{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered[_ngcontent-%COMP%]::before{display:block;height:calc(100vh - 1rem);content:""}.modal-dialog-centered.modal-dialog-scrollable[_ngcontent-%COMP%]{flex-direction:column;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable[_ngcontent-%COMP%]   .modal-content[_ngcontent-%COMP%]{max-height:none}.modal-dialog-centered.modal-dialog-scrollable[_ngcontent-%COMP%]::before{content:none}.modal-content[_ngcontent-%COMP%]{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop[_ngcontent-%COMP%]{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade[_ngcontent-%COMP%]{opacity:0}.modal-backdrop.show[_ngcontent-%COMP%]{opacity:.5}.modal-header[_ngcontent-%COMP%]{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:.3rem;border-top-right-radius:.3rem}.modal-header[_ngcontent-%COMP%]   .close[_ngcontent-%COMP%]{padding:1rem;margin:-1rem -1rem -1rem auto}.modal-title[_ngcontent-%COMP%]{margin-bottom:0;line-height:1.5}.modal-body[_ngcontent-%COMP%]{position:relative;flex:1 1 auto;padding:1rem}.modal-footer[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:flex-end;padding:1rem;border-top:1px solid #dee2e6;border-bottom-right-radius:.3rem;border-bottom-left-radius:.3rem}.modal-footer[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:not(:first-child){margin-left:.25rem}.modal-footer[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure[_ngcontent-%COMP%]{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog[_ngcontent-%COMP%]{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable[_ngcontent-%COMP%]{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable[_ngcontent-%COMP%]   .modal-content[_ngcontent-%COMP%]{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered[_ngcontent-%COMP%]{min-height:calc(100% - 3.5rem)}.modal-dialog-centered[_ngcontent-%COMP%]::before{height:calc(100vh - 3.5rem)}.modal-sm[_ngcontent-%COMP%]{max-width:300px}}@media (min-width:992px){.modal-lg[_ngcontent-%COMP%], .modal-xl[_ngcontent-%COMP%]{max-width:800px}}@media (min-width:1200px){.modal-xl[_ngcontent-%COMP%]{max-width:1140px}}.tooltip[_ngcontent-%COMP%]{position:absolute;z-index:1070;display:block;margin:0;font-family:"Helvetica Neue",Helvetica,Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show[_ngcontent-%COMP%]{opacity:.9}.tooltip[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top][_ngcontent-%COMP%], .bs-tooltip-top[_ngcontent-%COMP%]{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%], .bs-tooltip-top[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]{bottom:0}.bs-tooltip-auto[x-placement^=top][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before, .bs-tooltip-top[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right][_ngcontent-%COMP%], .bs-tooltip-right[_ngcontent-%COMP%]{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%], .bs-tooltip-right[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before, .bs-tooltip-right[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom][_ngcontent-%COMP%], .bs-tooltip-bottom[_ngcontent-%COMP%]{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%], .bs-tooltip-bottom[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]{top:0}.bs-tooltip-auto[x-placement^=bottom][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before, .bs-tooltip-bottom[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left][_ngcontent-%COMP%], .bs-tooltip-left[_ngcontent-%COMP%]{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%], .bs-tooltip-left[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left][_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before, .bs-tooltip-left[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner[_ngcontent-%COMP%]{max-width:200px;padding:.25rem .5rem;text-align:center;border-radius:.25rem}.popover[_ngcontent-%COMP%]{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:350px;font-family:"Helvetica Neue",Helvetica,Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::after, .popover[_ngcontent-%COMP%]   .arrow[_ngcontent-%COMP%]::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top][_ngcontent-%COMP%], .bs-popover-top[_ngcontent-%COMP%]{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%], .bs-popover-top[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]{bottom:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=top][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before, .bs-popover-top[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after, .bs-popover-top[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right][_ngcontent-%COMP%], .bs-popover-right[_ngcontent-%COMP%]{margin-left:.5rem}.bs-popover-auto[x-placement^=right][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%], .bs-popover-right[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]{left:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before, .bs-popover-right[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after, .bs-popover-right[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom][_ngcontent-%COMP%], .bs-popover-bottom[_ngcontent-%COMP%]{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%], .bs-popover-bottom[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]{top:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=bottom][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before, .bs-popover-bottom[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before{top:0;border-width:0 .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after, .bs-popover-bottom[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after{top:1px;border-width:0 .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom][_ngcontent-%COMP%]   .popover-header[_ngcontent-%COMP%]::before, .bs-popover-bottom[_ngcontent-%COMP%]   .popover-header[_ngcontent-%COMP%]::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left][_ngcontent-%COMP%], .bs-popover-left[_ngcontent-%COMP%]{margin-right:.5rem}.bs-popover-auto[x-placement^=left][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%], .bs-popover-left[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]{right:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before, .bs-popover-left[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left][_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after, .bs-popover-left[_ngcontent-%COMP%] > .arrow[_ngcontent-%COMP%]::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header[_ngcontent-%COMP%]{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header[_ngcontent-%COMP%]:empty{display:none}.popover-body[_ngcontent-%COMP%]{padding:.5rem .75rem;color:#212529}.carousel[_ngcontent-%COMP%]{position:relative}.carousel.pointer-event[_ngcontent-%COMP%]{touch-action:pan-y}.carousel-inner[_ngcontent-%COMP%]{position:relative;width:100%;overflow:hidden}.carousel-inner[_ngcontent-%COMP%]::after{display:block;clear:both;content:""}.carousel-item[_ngcontent-%COMP%]{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}.carousel-item-next[_ngcontent-%COMP%], .carousel-item-prev[_ngcontent-%COMP%], .carousel-item.active[_ngcontent-%COMP%]{display:block}.active.carousel-item-right[_ngcontent-%COMP%], .carousel-item-next[_ngcontent-%COMP%]:not(.carousel-item-left){transform:translateX(100%)}.active.carousel-item-left[_ngcontent-%COMP%], .carousel-item-prev[_ngcontent-%COMP%]:not(.carousel-item-right){transform:translateX(-100%)}.carousel-fade[_ngcontent-%COMP%]   .carousel-item[_ngcontent-%COMP%]{opacity:0;transition-property:opacity;transform:none}.carousel-fade[_ngcontent-%COMP%]   .carousel-item-next.carousel-item-left[_ngcontent-%COMP%], .carousel-fade[_ngcontent-%COMP%]   .carousel-item-prev.carousel-item-right[_ngcontent-%COMP%], .carousel-fade[_ngcontent-%COMP%]   .carousel-item.active[_ngcontent-%COMP%]{z-index:1;opacity:1}.carousel-fade[_ngcontent-%COMP%]   .active.carousel-item-left[_ngcontent-%COMP%], .carousel-fade[_ngcontent-%COMP%]   .active.carousel-item-right[_ngcontent-%COMP%]{z-index:0;opacity:0;transition:0s .6s opacity}@media (prefers-reduced-motion:reduce){.carousel-fade[_ngcontent-%COMP%]   .active.carousel-item-left[_ngcontent-%COMP%], .carousel-fade[_ngcontent-%COMP%]   .active.carousel-item-right[_ngcontent-%COMP%], .carousel-item[_ngcontent-%COMP%]{transition:none}}.carousel-control-next[_ngcontent-%COMP%], .carousel-control-prev[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}.carousel-control-next[_ngcontent-%COMP%]:focus, .carousel-control-next[_ngcontent-%COMP%]:hover, .carousel-control-prev[_ngcontent-%COMP%]:focus, .carousel-control-prev[_ngcontent-%COMP%]:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev[_ngcontent-%COMP%]{left:0}.carousel-control-next[_ngcontent-%COMP%]{right:0}.carousel-control-next-icon[_ngcontent-%COMP%], .carousel-control-prev-icon[_ngcontent-%COMP%]{display:inline-block;width:20px;height:20px;background:50%/100% 100% no-repeat}.carousel-control-prev-icon[_ngcontent-%COMP%]{background-image:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' fill=\'%23fff\' viewBox=\'0 0 8 8\'%3e%3cpath d=\'M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z\'/%3e%3c/svg%3e")}.carousel-control-next-icon[_ngcontent-%COMP%]{background-image:url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' fill=\'%23fff\' viewBox=\'0 0 8 8\'%3e%3cpath d=\'M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z\'/%3e%3c/svg%3e")}.carousel-indicators[_ngcontent-%COMP%]{position:absolute;right:0;bottom:0;left:0;z-index:15;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next[_ngcontent-%COMP%], .carousel-control-prev[_ngcontent-%COMP%], .carousel-indicators[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]{transition:none}}.carousel-indicators[_ngcontent-%COMP%]   .active[_ngcontent-%COMP%]{opacity:1}.carousel-caption[_ngcontent-%COMP%]{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border[_ngcontent-%COMP%]{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;animation:.75s linear infinite spinner-border}.spinner-border-sm[_ngcontent-%COMP%]{width:1rem;height:1rem;border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1}}.spinner-grow[_ngcontent-%COMP%]{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;animation:.75s linear infinite spinner-grow}.spinner-grow-sm[_ngcontent-%COMP%]{width:1rem;height:1rem}.align-baseline[_ngcontent-%COMP%]{vertical-align:baseline!important}.align-top[_ngcontent-%COMP%]{vertical-align:top!important}.align-middle[_ngcontent-%COMP%]{vertical-align:middle!important}.align-bottom[_ngcontent-%COMP%]{vertical-align:bottom!important}.align-text-bottom[_ngcontent-%COMP%]{vertical-align:text-bottom!important}.align-text-top[_ngcontent-%COMP%]{vertical-align:text-top!important}.bg-primary[_ngcontent-%COMP%]{background-color:#2b99a8!important}a.bg-primary[_ngcontent-%COMP%]:focus, a.bg-primary[_ngcontent-%COMP%]:hover, button.bg-primary[_ngcontent-%COMP%]:focus, button.bg-primary[_ngcontent-%COMP%]:hover{background-color:#21747f!important}.bg-secondary[_ngcontent-%COMP%]{background-color:#ef5c55!important}a.bg-secondary[_ngcontent-%COMP%]:focus, a.bg-secondary[_ngcontent-%COMP%]:hover, button.bg-secondary[_ngcontent-%COMP%]:focus, button.bg-secondary[_ngcontent-%COMP%]:hover{background-color:#eb2f26!important}.bg-success[_ngcontent-%COMP%]{background-color:#28a745!important}a.bg-success[_ngcontent-%COMP%]:focus, a.bg-success[_ngcontent-%COMP%]:hover, button.bg-success[_ngcontent-%COMP%]:focus, button.bg-success[_ngcontent-%COMP%]:hover{background-color:#1e7e34!important}.bg-info[_ngcontent-%COMP%]{background-color:#17a2b8!important}a.bg-info[_ngcontent-%COMP%]:focus, a.bg-info[_ngcontent-%COMP%]:hover, button.bg-info[_ngcontent-%COMP%]:focus, button.bg-info[_ngcontent-%COMP%]:hover{background-color:#117a8b!important}.bg-warning[_ngcontent-%COMP%]{background-color:#ffc107!important}a.bg-warning[_ngcontent-%COMP%]:focus, a.bg-warning[_ngcontent-%COMP%]:hover, button.bg-warning[_ngcontent-%COMP%]:focus, button.bg-warning[_ngcontent-%COMP%]:hover{background-color:#d39e00!important}.bg-danger[_ngcontent-%COMP%]{background-color:#dc3545!important}a.bg-danger[_ngcontent-%COMP%]:focus, a.bg-danger[_ngcontent-%COMP%]:hover, button.bg-danger[_ngcontent-%COMP%]:focus, button.bg-danger[_ngcontent-%COMP%]:hover{background-color:#bd2130!important}.bg-light[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]{background-color:#f8f9fa!important}a.bg-light[_ngcontent-%COMP%]:focus, a.bg-light[_ngcontent-%COMP%]:hover, button.bg-light[_ngcontent-%COMP%]:focus, button.bg-light[_ngcontent-%COMP%]:hover{background-color:#dae0e5!important}.bg-dark[_ngcontent-%COMP%]{background-color:#777!important}a.bg-dark[_ngcontent-%COMP%]:focus, a.bg-dark[_ngcontent-%COMP%]:hover, button.bg-dark[_ngcontent-%COMP%]:focus, button.bg-dark[_ngcontent-%COMP%]:hover{background-color:#5e5e5e!important}.bg-white[_ngcontent-%COMP%]{background-color:#fff!important}.bg-transparent[_ngcontent-%COMP%]{background-color:transparent!important}.border[_ngcontent-%COMP%]{border:1px solid #dee2e6!important}.border-top[_ngcontent-%COMP%]{border-top:1px solid #dee2e6!important}.border-right[_ngcontent-%COMP%]{border-right:1px solid #dee2e6!important}.border-bottom[_ngcontent-%COMP%], .cd-header[_ngcontent-%COMP%], legend[_ngcontent-%COMP%]{border-bottom:1px solid #dee2e6!important}.border-left[_ngcontent-%COMP%]{border-left:1px solid #dee2e6!important}.border-0[_ngcontent-%COMP%]{border:0!important}.border-top-0[_ngcontent-%COMP%]{border-top:0!important}.border-right-0[_ngcontent-%COMP%]{border-right:0!important}.border-bottom-0[_ngcontent-%COMP%]{border-bottom:0!important}.border-left-0[_ngcontent-%COMP%]{border-left:0!important}.border-primary[_ngcontent-%COMP%]{border-color:#2b99a8!important}.border-secondary[_ngcontent-%COMP%]{border-color:#ef5c55!important}.border-success[_ngcontent-%COMP%]{border-color:#28a745!important}.border-info[_ngcontent-%COMP%]{border-color:#17a2b8!important}.border-warning[_ngcontent-%COMP%]{border-color:#ffc107!important}.border-danger[_ngcontent-%COMP%]{border-color:#dc3545!important}.border-light[_ngcontent-%COMP%]{border-color:#f8f9fa!important}.border-dark[_ngcontent-%COMP%]{border-color:#777!important}.border-white[_ngcontent-%COMP%]{border-color:#fff!important}.rounded-sm[_ngcontent-%COMP%]{border-radius:.2rem!important}.rounded[_ngcontent-%COMP%]{border-radius:.25rem!important}.rounded-top[_ngcontent-%COMP%]{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right[_ngcontent-%COMP%]{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom[_ngcontent-%COMP%]{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left[_ngcontent-%COMP%]{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-lg[_ngcontent-%COMP%]{border-radius:.3rem!important}.rounded-circle[_ngcontent-%COMP%]{border-radius:50%!important}.rounded-pill[_ngcontent-%COMP%]{border-radius:50rem!important}.rounded-0[_ngcontent-%COMP%]{border-radius:0!important}.clearfix[_ngcontent-%COMP%]::after{display:block;clear:both;content:""}.d-none[_ngcontent-%COMP%]{display:none!important}.d-inline[_ngcontent-%COMP%]{display:inline!important}.d-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-block[_ngcontent-%COMP%]{display:block!important}.d-table[_ngcontent-%COMP%]{display:table!important}.d-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-flex[_ngcontent-%COMP%]{display:flex!important}.d-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}@media (min-width:576px){.d-sm-none[_ngcontent-%COMP%]{display:none!important}.d-sm-inline[_ngcontent-%COMP%]{display:inline!important}.d-sm-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-sm-block[_ngcontent-%COMP%]{display:block!important}.d-sm-table[_ngcontent-%COMP%]{display:table!important}.d-sm-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-sm-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-sm-flex[_ngcontent-%COMP%]{display:flex!important}.d-sm-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}}@media (min-width:768px){.d-md-none[_ngcontent-%COMP%]{display:none!important}.d-md-inline[_ngcontent-%COMP%]{display:inline!important}.d-md-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-md-block[_ngcontent-%COMP%]{display:block!important}.d-md-table[_ngcontent-%COMP%]{display:table!important}.d-md-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-md-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-md-flex[_ngcontent-%COMP%]{display:flex!important}.d-md-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}}@media (min-width:992px){.d-lg-none[_ngcontent-%COMP%]{display:none!important}.d-lg-inline[_ngcontent-%COMP%]{display:inline!important}.d-lg-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-lg-block[_ngcontent-%COMP%]{display:block!important}.d-lg-table[_ngcontent-%COMP%]{display:table!important}.d-lg-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-lg-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-lg-flex[_ngcontent-%COMP%]{display:flex!important}.d-lg-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}}@media (min-width:1200px){.d-xl-none[_ngcontent-%COMP%]{display:none!important}.d-xl-inline[_ngcontent-%COMP%]{display:inline!important}.d-xl-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-xl-block[_ngcontent-%COMP%]{display:block!important}.d-xl-table[_ngcontent-%COMP%]{display:table!important}.d-xl-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-xl-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-xl-flex[_ngcontent-%COMP%]{display:flex!important}.d-xl-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}}@media print{.d-print-none[_ngcontent-%COMP%]{display:none!important}.d-print-inline[_ngcontent-%COMP%]{display:inline!important}.d-print-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-print-block[_ngcontent-%COMP%]{display:block!important}.d-print-table[_ngcontent-%COMP%]{display:table!important}.d-print-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-print-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-print-flex[_ngcontent-%COMP%]{display:flex!important}.d-print-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}}.embed-responsive[_ngcontent-%COMP%]{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive[_ngcontent-%COMP%]::before{display:block;content:""}.embed-responsive[_ngcontent-%COMP%]   .embed-responsive-item[_ngcontent-%COMP%], .embed-responsive[_ngcontent-%COMP%]   embed[_ngcontent-%COMP%], .embed-responsive[_ngcontent-%COMP%]   iframe[_ngcontent-%COMP%], .embed-responsive[_ngcontent-%COMP%]   object[_ngcontent-%COMP%], .embed-responsive[_ngcontent-%COMP%]   video[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9[_ngcontent-%COMP%]::before{padding-top:42.8571428571%}.embed-responsive-16by9[_ngcontent-%COMP%]::before{padding-top:56.25%}.embed-responsive-4by3[_ngcontent-%COMP%]::before{padding-top:75%}.embed-responsive-1by1[_ngcontent-%COMP%]::before{padding-top:100%}.flex-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-column[_ngcontent-%COMP%]{flex-direction:column!important}.flex-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.flex-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.justify-content-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-stretch[_ngcontent-%COMP%]{align-self:stretch!important}@media (min-width:576px){.flex-sm-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-sm-column[_ngcontent-%COMP%]{flex-direction:column!important}.flex-sm-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-sm-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-sm-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-sm-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-sm-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.flex-sm-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-sm-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-sm-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-sm-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-sm-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.justify-content-sm-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-sm-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-sm-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-sm-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-sm-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-sm-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-sm-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-sm-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-sm-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-sm-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-sm-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-sm-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-sm-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-sm-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-sm-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-sm-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-sm-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-sm-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-sm-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-sm-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-sm-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-sm-stretch[_ngcontent-%COMP%]{align-self:stretch!important}}.float-left[_ngcontent-%COMP%]{float:left!important}.float-right[_ngcontent-%COMP%]{float:right!important}.float-none[_ngcontent-%COMP%]{float:none!important}@media (min-width:576px){.float-sm-left[_ngcontent-%COMP%]{float:left!important}.float-sm-right[_ngcontent-%COMP%]{float:right!important}.float-sm-none[_ngcontent-%COMP%]{float:none!important}}.overflow-auto[_ngcontent-%COMP%]{overflow:auto!important}.overflow-hidden[_ngcontent-%COMP%]{overflow:hidden!important}.position-static[_ngcontent-%COMP%]{position:static!important}.position-relative[_ngcontent-%COMP%]{position:relative!important}.position-absolute[_ngcontent-%COMP%]{position:absolute!important}.position-fixed[_ngcontent-%COMP%]{position:fixed!important}.position-sticky[_ngcontent-%COMP%]{position:sticky!important}.fixed-top[_ngcontent-%COMP%]{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom[_ngcontent-%COMP%]{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports (position:sticky){.sticky-top[_ngcontent-%COMP%]{position:sticky;top:0;z-index:1020}}.sr-only[_ngcontent-%COMP%]{clip:rect(0,0,0,0);white-space:nowrap}.shadow-sm[_ngcontent-%COMP%]{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow[_ngcontent-%COMP%]{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg[_ngcontent-%COMP%]{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none[_ngcontent-%COMP%]{box-shadow:none!important}.w-25[_ngcontent-%COMP%]{width:25%!important}.w-50[_ngcontent-%COMP%]{width:50%!important}.w-75[_ngcontent-%COMP%]{width:75%!important}.w-100[_ngcontent-%COMP%]{width:100%!important}.w-auto[_ngcontent-%COMP%]{width:auto!important}.h-25[_ngcontent-%COMP%]{height:25%!important}.h-50[_ngcontent-%COMP%]{height:50%!important}.h-75[_ngcontent-%COMP%]{height:75%!important}.h-100[_ngcontent-%COMP%]{height:100%!important}.h-auto[_ngcontent-%COMP%]{height:auto!important}.mw-100[_ngcontent-%COMP%]{max-width:100%!important}.mh-100[_ngcontent-%COMP%]{max-height:100%!important}.min-vw-100[_ngcontent-%COMP%]{min-width:100vw!important}.min-vh-100[_ngcontent-%COMP%]{min-height:100vh!important}.vw-100[_ngcontent-%COMP%]{width:100vw!important}.vh-100[_ngcontent-%COMP%]{height:100vh!important}.stretched-link[_ngcontent-%COMP%]::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.m-0[_ngcontent-%COMP%]{margin:0!important}.mt-0[_ngcontent-%COMP%], .my-0[_ngcontent-%COMP%]{margin-top:0!important}.mr-0[_ngcontent-%COMP%], .mx-0[_ngcontent-%COMP%]{margin-right:0!important}.mb-0[_ngcontent-%COMP%], .my-0[_ngcontent-%COMP%]{margin-bottom:0!important}.ml-0[_ngcontent-%COMP%], .mx-0[_ngcontent-%COMP%]{margin-left:0!important}.m-1[_ngcontent-%COMP%]{margin:.25rem!important}.mt-1[_ngcontent-%COMP%], .my-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mr-1[_ngcontent-%COMP%], .mx-1[_ngcontent-%COMP%]{margin-right:.25rem!important}.mb-1[_ngcontent-%COMP%], .my-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.ml-1[_ngcontent-%COMP%], .mx-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.m-2[_ngcontent-%COMP%]{margin:.5rem!important}.mt-2[_ngcontent-%COMP%], .my-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mr-2[_ngcontent-%COMP%], .mx-2[_ngcontent-%COMP%], label[_ngcontent-%COMP%]{margin-right:.5rem!important}.mb-2[_ngcontent-%COMP%], .my-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.ml-2[_ngcontent-%COMP%], .mx-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.m-3[_ngcontent-%COMP%]{margin:1rem!important}.mt-3[_ngcontent-%COMP%], .my-3[_ngcontent-%COMP%]{margin-top:1rem!important}.form-group[_ngcontent-%COMP%], .mr-3[_ngcontent-%COMP%], .mx-3[_ngcontent-%COMP%]{margin-right:1rem!important}.form-group[_ngcontent-%COMP%], .mb-3[_ngcontent-%COMP%], .my-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.ml-3[_ngcontent-%COMP%], .mx-3[_ngcontent-%COMP%]{margin-left:1rem!important}.m-4[_ngcontent-%COMP%]{margin:1.5rem!important}.cd-header[_ngcontent-%COMP%], .mt-4[_ngcontent-%COMP%], .my-4[_ngcontent-%COMP%], legend[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mr-4[_ngcontent-%COMP%], .mx-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.cd-header[_ngcontent-%COMP%], .mb-4[_ngcontent-%COMP%], .my-4[_ngcontent-%COMP%], legend[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.ml-4[_ngcontent-%COMP%], .mx-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.m-5[_ngcontent-%COMP%]{margin:3rem!important}.mt-5[_ngcontent-%COMP%], .my-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mr-5[_ngcontent-%COMP%], .mx-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mb-5[_ngcontent-%COMP%], .my-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.ml-5[_ngcontent-%COMP%], .mx-5[_ngcontent-%COMP%]{margin-left:3rem!important}.p-0[_ngcontent-%COMP%]{padding:0!important}.pt-0[_ngcontent-%COMP%], .py-0[_ngcontent-%COMP%]{padding-top:0!important}.pr-0[_ngcontent-%COMP%], .px-0[_ngcontent-%COMP%]{padding-right:0!important}.pb-0[_ngcontent-%COMP%], .py-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pl-0[_ngcontent-%COMP%], .px-0[_ngcontent-%COMP%]{padding-left:0!important}.p-1[_ngcontent-%COMP%]{padding:.25rem!important}.pt-1[_ngcontent-%COMP%], .py-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pr-1[_ngcontent-%COMP%], .px-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.cd-header[_ngcontent-%COMP%], .pb-1[_ngcontent-%COMP%], .py-1[_ngcontent-%COMP%], legend[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pl-1[_ngcontent-%COMP%], .px-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.p-2[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]{padding:.5rem!important}.pt-2[_ngcontent-%COMP%], .py-2[_ngcontent-%COMP%]{padding-top:.5rem!important}.pr-2[_ngcontent-%COMP%], .px-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.pb-2[_ngcontent-%COMP%], .py-2[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pl-2[_ngcontent-%COMP%], .px-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.p-3[_ngcontent-%COMP%]{padding:1rem!important}.pt-3[_ngcontent-%COMP%], .py-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pr-3[_ngcontent-%COMP%], .px-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pb-3[_ngcontent-%COMP%], .py-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pl-3[_ngcontent-%COMP%], .px-3[_ngcontent-%COMP%]{padding-left:1rem!important}.p-4[_ngcontent-%COMP%]{padding:1.5rem!important}.pt-4[_ngcontent-%COMP%], .py-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pr-4[_ngcontent-%COMP%], .px-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pb-4[_ngcontent-%COMP%], .py-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pl-4[_ngcontent-%COMP%], .px-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.p-5[_ngcontent-%COMP%]{padding:3rem!important}.pt-5[_ngcontent-%COMP%], .py-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-5[_ngcontent-%COMP%], .px-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-5[_ngcontent-%COMP%], .py-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-5[_ngcontent-%COMP%], .px-5[_ngcontent-%COMP%]{padding-left:3rem!important}.m-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.mt-n1[_ngcontent-%COMP%], .my-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mr-n1[_ngcontent-%COMP%], .mx-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mb-n1[_ngcontent-%COMP%], .my-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.ml-n1[_ngcontent-%COMP%], .mx-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.m-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.mt-n2[_ngcontent-%COMP%], .my-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mr-n2[_ngcontent-%COMP%], .mx-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mb-n2[_ngcontent-%COMP%], .my-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.ml-n2[_ngcontent-%COMP%], .mx-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.m-n3[_ngcontent-%COMP%]{margin:-1rem!important}.mt-n3[_ngcontent-%COMP%], .my-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mr-n3[_ngcontent-%COMP%], .mx-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mb-n3[_ngcontent-%COMP%], .my-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.ml-n3[_ngcontent-%COMP%], .mx-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.m-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.mt-n4[_ngcontent-%COMP%], .my-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mr-n4[_ngcontent-%COMP%], .mx-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mb-n4[_ngcontent-%COMP%], .my-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.ml-n4[_ngcontent-%COMP%], .mx-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.m-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mt-n5[_ngcontent-%COMP%], .my-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-n5[_ngcontent-%COMP%], .mx-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-n5[_ngcontent-%COMP%], .my-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-n5[_ngcontent-%COMP%], .mx-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.m-auto[_ngcontent-%COMP%]{margin:auto!important}.mt-auto[_ngcontent-%COMP%], .my-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-auto[_ngcontent-%COMP%], .mx-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-auto[_ngcontent-%COMP%], .my-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-auto[_ngcontent-%COMP%], .mx-auto[_ngcontent-%COMP%]{margin-left:auto!important}@media (min-width:576px){.m-sm-0[_ngcontent-%COMP%]{margin:0!important}.mt-sm-0[_ngcontent-%COMP%], .my-sm-0[_ngcontent-%COMP%]{margin-top:0!important}.mr-sm-0[_ngcontent-%COMP%], .mx-sm-0[_ngcontent-%COMP%]{margin-right:0!important}.mb-sm-0[_ngcontent-%COMP%], .my-sm-0[_ngcontent-%COMP%]{margin-bottom:0!important}.ml-sm-0[_ngcontent-%COMP%], .mx-sm-0[_ngcontent-%COMP%]{margin-left:0!important}.m-sm-1[_ngcontent-%COMP%]{margin:.25rem!important}.mt-sm-1[_ngcontent-%COMP%], .my-sm-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mr-sm-1[_ngcontent-%COMP%], .mx-sm-1[_ngcontent-%COMP%]{margin-right:.25rem!important}.mb-sm-1[_ngcontent-%COMP%], .my-sm-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.ml-sm-1[_ngcontent-%COMP%], .mx-sm-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.m-sm-2[_ngcontent-%COMP%]{margin:.5rem!important}.mt-sm-2[_ngcontent-%COMP%], .my-sm-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mr-sm-2[_ngcontent-%COMP%], .mx-sm-2[_ngcontent-%COMP%]{margin-right:.5rem!important}.mb-sm-2[_ngcontent-%COMP%], .my-sm-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.ml-sm-2[_ngcontent-%COMP%], .mx-sm-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.m-sm-3[_ngcontent-%COMP%]{margin:1rem!important}.mt-sm-3[_ngcontent-%COMP%], .my-sm-3[_ngcontent-%COMP%]{margin-top:1rem!important}.mr-sm-3[_ngcontent-%COMP%], .mx-sm-3[_ngcontent-%COMP%]{margin-right:1rem!important}.mb-sm-3[_ngcontent-%COMP%], .my-sm-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.ml-sm-3[_ngcontent-%COMP%], .mx-sm-3[_ngcontent-%COMP%]{margin-left:1rem!important}.m-sm-4[_ngcontent-%COMP%]{margin:1.5rem!important}.mt-sm-4[_ngcontent-%COMP%], .my-sm-4[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mr-sm-4[_ngcontent-%COMP%], .mx-sm-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.mb-sm-4[_ngcontent-%COMP%], .my-sm-4[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.ml-sm-4[_ngcontent-%COMP%], .mx-sm-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.m-sm-5[_ngcontent-%COMP%]{margin:3rem!important}.mt-sm-5[_ngcontent-%COMP%], .my-sm-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mr-sm-5[_ngcontent-%COMP%], .mx-sm-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mb-sm-5[_ngcontent-%COMP%], .my-sm-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.ml-sm-5[_ngcontent-%COMP%], .mx-sm-5[_ngcontent-%COMP%]{margin-left:3rem!important}.p-sm-0[_ngcontent-%COMP%]{padding:0!important}.pt-sm-0[_ngcontent-%COMP%], .py-sm-0[_ngcontent-%COMP%]{padding-top:0!important}.pr-sm-0[_ngcontent-%COMP%], .px-sm-0[_ngcontent-%COMP%]{padding-right:0!important}.pb-sm-0[_ngcontent-%COMP%], .py-sm-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pl-sm-0[_ngcontent-%COMP%], .px-sm-0[_ngcontent-%COMP%]{padding-left:0!important}.p-sm-1[_ngcontent-%COMP%]{padding:.25rem!important}.pt-sm-1[_ngcontent-%COMP%], .py-sm-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pr-sm-1[_ngcontent-%COMP%], .px-sm-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.pb-sm-1[_ngcontent-%COMP%], .py-sm-1[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pl-sm-1[_ngcontent-%COMP%], .px-sm-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.p-sm-2[_ngcontent-%COMP%]{padding:.5rem!important}.pt-sm-2[_ngcontent-%COMP%], .py-sm-2[_ngcontent-%COMP%]{padding-top:.5rem!important}.pr-sm-2[_ngcontent-%COMP%], .px-sm-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.pb-sm-2[_ngcontent-%COMP%], .py-sm-2[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pl-sm-2[_ngcontent-%COMP%], .px-sm-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.p-sm-3[_ngcontent-%COMP%]{padding:1rem!important}.pt-sm-3[_ngcontent-%COMP%], .py-sm-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pr-sm-3[_ngcontent-%COMP%], .px-sm-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pb-sm-3[_ngcontent-%COMP%], .py-sm-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pl-sm-3[_ngcontent-%COMP%], .px-sm-3[_ngcontent-%COMP%]{padding-left:1rem!important}.p-sm-4[_ngcontent-%COMP%]{padding:1.5rem!important}.pt-sm-4[_ngcontent-%COMP%], .py-sm-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pr-sm-4[_ngcontent-%COMP%], .px-sm-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pb-sm-4[_ngcontent-%COMP%], .py-sm-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pl-sm-4[_ngcontent-%COMP%], .px-sm-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.p-sm-5[_ngcontent-%COMP%]{padding:3rem!important}.pt-sm-5[_ngcontent-%COMP%], .py-sm-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-sm-5[_ngcontent-%COMP%], .px-sm-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-sm-5[_ngcontent-%COMP%], .py-sm-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-sm-5[_ngcontent-%COMP%], .px-sm-5[_ngcontent-%COMP%]{padding-left:3rem!important}.m-sm-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.mt-sm-n1[_ngcontent-%COMP%], .my-sm-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mr-sm-n1[_ngcontent-%COMP%], .mx-sm-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mb-sm-n1[_ngcontent-%COMP%], .my-sm-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.ml-sm-n1[_ngcontent-%COMP%], .mx-sm-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.m-sm-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.mt-sm-n2[_ngcontent-%COMP%], .my-sm-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mr-sm-n2[_ngcontent-%COMP%], .mx-sm-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mb-sm-n2[_ngcontent-%COMP%], .my-sm-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.ml-sm-n2[_ngcontent-%COMP%], .mx-sm-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.m-sm-n3[_ngcontent-%COMP%]{margin:-1rem!important}.mt-sm-n3[_ngcontent-%COMP%], .my-sm-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mr-sm-n3[_ngcontent-%COMP%], .mx-sm-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mb-sm-n3[_ngcontent-%COMP%], .my-sm-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.ml-sm-n3[_ngcontent-%COMP%], .mx-sm-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.m-sm-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.mt-sm-n4[_ngcontent-%COMP%], .my-sm-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mr-sm-n4[_ngcontent-%COMP%], .mx-sm-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mb-sm-n4[_ngcontent-%COMP%], .my-sm-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.ml-sm-n4[_ngcontent-%COMP%], .mx-sm-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.m-sm-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mt-sm-n5[_ngcontent-%COMP%], .my-sm-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-sm-n5[_ngcontent-%COMP%], .mx-sm-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-sm-n5[_ngcontent-%COMP%], .my-sm-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-sm-n5[_ngcontent-%COMP%], .mx-sm-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.m-sm-auto[_ngcontent-%COMP%]{margin:auto!important}.mt-sm-auto[_ngcontent-%COMP%], .my-sm-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-sm-auto[_ngcontent-%COMP%], .mx-sm-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-sm-auto[_ngcontent-%COMP%], .my-sm-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-sm-auto[_ngcontent-%COMP%], .mx-sm-auto[_ngcontent-%COMP%]{margin-left:auto!important}}.text-monospace[_ngcontent-%COMP%]{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.text-justify[_ngcontent-%COMP%]{text-align:justify!important}.text-wrap[_ngcontent-%COMP%]{white-space:normal!important}.text-nowrap[_ngcontent-%COMP%]{white-space:nowrap!important}.text-truncate[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left[_ngcontent-%COMP%]{text-align:left!important}.text-right[_ngcontent-%COMP%]{text-align:right!important}.text-center[_ngcontent-%COMP%]{text-align:center!important}@media (min-width:576px){.text-sm-left[_ngcontent-%COMP%]{text-align:left!important}.text-sm-right[_ngcontent-%COMP%]{text-align:right!important}.text-sm-center[_ngcontent-%COMP%]{text-align:center!important}}@media (min-width:768px){.flex-md-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-md-column[_ngcontent-%COMP%]{flex-direction:column!important}.flex-md-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-md-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-md-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-md-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-md-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.flex-md-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-md-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-md-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-md-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-md-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.justify-content-md-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-md-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-md-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-md-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-md-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-md-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-md-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-md-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-md-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-md-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-md-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-md-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-md-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-md-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-md-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-md-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-md-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-md-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-md-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-md-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-md-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-md-stretch[_ngcontent-%COMP%]{align-self:stretch!important}.float-md-left[_ngcontent-%COMP%]{float:left!important}.float-md-right[_ngcontent-%COMP%]{float:right!important}.float-md-none[_ngcontent-%COMP%]{float:none!important}.m-md-0[_ngcontent-%COMP%]{margin:0!important}.mt-md-0[_ngcontent-%COMP%], .my-md-0[_ngcontent-%COMP%]{margin-top:0!important}.mr-md-0[_ngcontent-%COMP%], .mx-md-0[_ngcontent-%COMP%]{margin-right:0!important}.mb-md-0[_ngcontent-%COMP%], .my-md-0[_ngcontent-%COMP%]{margin-bottom:0!important}.ml-md-0[_ngcontent-%COMP%], .mx-md-0[_ngcontent-%COMP%]{margin-left:0!important}.m-md-1[_ngcontent-%COMP%]{margin:.25rem!important}.mt-md-1[_ngcontent-%COMP%], .my-md-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mr-md-1[_ngcontent-%COMP%], .mx-md-1[_ngcontent-%COMP%]{margin-right:.25rem!important}.mb-md-1[_ngcontent-%COMP%], .my-md-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.ml-md-1[_ngcontent-%COMP%], .mx-md-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.m-md-2[_ngcontent-%COMP%]{margin:.5rem!important}.mt-md-2[_ngcontent-%COMP%], .my-md-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mr-md-2[_ngcontent-%COMP%], .mx-md-2[_ngcontent-%COMP%]{margin-right:.5rem!important}.mb-md-2[_ngcontent-%COMP%], .my-md-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.ml-md-2[_ngcontent-%COMP%], .mx-md-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.m-md-3[_ngcontent-%COMP%]{margin:1rem!important}.mt-md-3[_ngcontent-%COMP%], .my-md-3[_ngcontent-%COMP%]{margin-top:1rem!important}.mr-md-3[_ngcontent-%COMP%], .mx-md-3[_ngcontent-%COMP%]{margin-right:1rem!important}.mb-md-3[_ngcontent-%COMP%], .my-md-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.ml-md-3[_ngcontent-%COMP%], .mx-md-3[_ngcontent-%COMP%]{margin-left:1rem!important}.m-md-4[_ngcontent-%COMP%]{margin:1.5rem!important}.mt-md-4[_ngcontent-%COMP%], .my-md-4[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mr-md-4[_ngcontent-%COMP%], .mx-md-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.mb-md-4[_ngcontent-%COMP%], .my-md-4[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.ml-md-4[_ngcontent-%COMP%], .mx-md-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.m-md-5[_ngcontent-%COMP%]{margin:3rem!important}.mt-md-5[_ngcontent-%COMP%], .my-md-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mr-md-5[_ngcontent-%COMP%], .mx-md-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mb-md-5[_ngcontent-%COMP%], .my-md-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.ml-md-5[_ngcontent-%COMP%], .mx-md-5[_ngcontent-%COMP%]{margin-left:3rem!important}.p-md-0[_ngcontent-%COMP%]{padding:0!important}.pt-md-0[_ngcontent-%COMP%], .py-md-0[_ngcontent-%COMP%]{padding-top:0!important}.pr-md-0[_ngcontent-%COMP%], .px-md-0[_ngcontent-%COMP%]{padding-right:0!important}.pb-md-0[_ngcontent-%COMP%], .py-md-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pl-md-0[_ngcontent-%COMP%], .px-md-0[_ngcontent-%COMP%]{padding-left:0!important}.p-md-1[_ngcontent-%COMP%]{padding:.25rem!important}.pt-md-1[_ngcontent-%COMP%], .py-md-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pr-md-1[_ngcontent-%COMP%], .px-md-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.pb-md-1[_ngcontent-%COMP%], .py-md-1[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pl-md-1[_ngcontent-%COMP%], .px-md-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.p-md-2[_ngcontent-%COMP%]{padding:.5rem!important}.pt-md-2[_ngcontent-%COMP%], .py-md-2[_ngcontent-%COMP%]{padding-top:.5rem!important}.pr-md-2[_ngcontent-%COMP%], .px-md-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.pb-md-2[_ngcontent-%COMP%], .py-md-2[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pl-md-2[_ngcontent-%COMP%], .px-md-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.p-md-3[_ngcontent-%COMP%]{padding:1rem!important}.pt-md-3[_ngcontent-%COMP%], .py-md-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pr-md-3[_ngcontent-%COMP%], .px-md-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pb-md-3[_ngcontent-%COMP%], .py-md-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pl-md-3[_ngcontent-%COMP%], .px-md-3[_ngcontent-%COMP%]{padding-left:1rem!important}.p-md-4[_ngcontent-%COMP%]{padding:1.5rem!important}.pt-md-4[_ngcontent-%COMP%], .py-md-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pr-md-4[_ngcontent-%COMP%], .px-md-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pb-md-4[_ngcontent-%COMP%], .py-md-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pl-md-4[_ngcontent-%COMP%], .px-md-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.p-md-5[_ngcontent-%COMP%]{padding:3rem!important}.pt-md-5[_ngcontent-%COMP%], .py-md-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-md-5[_ngcontent-%COMP%], .px-md-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-md-5[_ngcontent-%COMP%], .py-md-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-md-5[_ngcontent-%COMP%], .px-md-5[_ngcontent-%COMP%]{padding-left:3rem!important}.m-md-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.mt-md-n1[_ngcontent-%COMP%], .my-md-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mr-md-n1[_ngcontent-%COMP%], .mx-md-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mb-md-n1[_ngcontent-%COMP%], .my-md-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.ml-md-n1[_ngcontent-%COMP%], .mx-md-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.m-md-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.mt-md-n2[_ngcontent-%COMP%], .my-md-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mr-md-n2[_ngcontent-%COMP%], .mx-md-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mb-md-n2[_ngcontent-%COMP%], .my-md-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.ml-md-n2[_ngcontent-%COMP%], .mx-md-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.m-md-n3[_ngcontent-%COMP%]{margin:-1rem!important}.mt-md-n3[_ngcontent-%COMP%], .my-md-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mr-md-n3[_ngcontent-%COMP%], .mx-md-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mb-md-n3[_ngcontent-%COMP%], .my-md-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.ml-md-n3[_ngcontent-%COMP%], .mx-md-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.m-md-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.mt-md-n4[_ngcontent-%COMP%], .my-md-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mr-md-n4[_ngcontent-%COMP%], .mx-md-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mb-md-n4[_ngcontent-%COMP%], .my-md-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.ml-md-n4[_ngcontent-%COMP%], .mx-md-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.m-md-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mt-md-n5[_ngcontent-%COMP%], .my-md-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-md-n5[_ngcontent-%COMP%], .mx-md-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-md-n5[_ngcontent-%COMP%], .my-md-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-md-n5[_ngcontent-%COMP%], .mx-md-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.m-md-auto[_ngcontent-%COMP%]{margin:auto!important}.mt-md-auto[_ngcontent-%COMP%], .my-md-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-md-auto[_ngcontent-%COMP%], .mx-md-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-md-auto[_ngcontent-%COMP%], .my-md-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-md-auto[_ngcontent-%COMP%], .mx-md-auto[_ngcontent-%COMP%]{margin-left:auto!important}.text-md-left[_ngcontent-%COMP%]{text-align:left!important}.text-md-right[_ngcontent-%COMP%]{text-align:right!important}.text-md-center[_ngcontent-%COMP%]{text-align:center!important}}@media (min-width:992px){.flex-lg-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-lg-column[_ngcontent-%COMP%]{flex-direction:column!important}.flex-lg-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-lg-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-lg-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-lg-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-lg-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.flex-lg-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-lg-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-lg-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-lg-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-lg-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.justify-content-lg-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-lg-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-lg-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-lg-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-lg-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-lg-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-lg-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-lg-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-lg-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-lg-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-lg-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-lg-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-lg-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-lg-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-lg-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-lg-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-lg-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-lg-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-lg-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-lg-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-lg-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-lg-stretch[_ngcontent-%COMP%]{align-self:stretch!important}.float-lg-left[_ngcontent-%COMP%]{float:left!important}.float-lg-right[_ngcontent-%COMP%]{float:right!important}.float-lg-none[_ngcontent-%COMP%]{float:none!important}.m-lg-0[_ngcontent-%COMP%]{margin:0!important}.mt-lg-0[_ngcontent-%COMP%], .my-lg-0[_ngcontent-%COMP%]{margin-top:0!important}.mr-lg-0[_ngcontent-%COMP%], .mx-lg-0[_ngcontent-%COMP%]{margin-right:0!important}.mb-lg-0[_ngcontent-%COMP%], .my-lg-0[_ngcontent-%COMP%]{margin-bottom:0!important}.ml-lg-0[_ngcontent-%COMP%], .mx-lg-0[_ngcontent-%COMP%]{margin-left:0!important}.m-lg-1[_ngcontent-%COMP%]{margin:.25rem!important}.mt-lg-1[_ngcontent-%COMP%], .my-lg-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mr-lg-1[_ngcontent-%COMP%], .mx-lg-1[_ngcontent-%COMP%]{margin-right:.25rem!important}.mb-lg-1[_ngcontent-%COMP%], .my-lg-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.ml-lg-1[_ngcontent-%COMP%], .mx-lg-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.m-lg-2[_ngcontent-%COMP%]{margin:.5rem!important}.mt-lg-2[_ngcontent-%COMP%], .my-lg-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mr-lg-2[_ngcontent-%COMP%], .mx-lg-2[_ngcontent-%COMP%]{margin-right:.5rem!important}.mb-lg-2[_ngcontent-%COMP%], .my-lg-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.ml-lg-2[_ngcontent-%COMP%], .mx-lg-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.m-lg-3[_ngcontent-%COMP%]{margin:1rem!important}.mt-lg-3[_ngcontent-%COMP%], .my-lg-3[_ngcontent-%COMP%]{margin-top:1rem!important}.mr-lg-3[_ngcontent-%COMP%], .mx-lg-3[_ngcontent-%COMP%]{margin-right:1rem!important}.mb-lg-3[_ngcontent-%COMP%], .my-lg-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.ml-lg-3[_ngcontent-%COMP%], .mx-lg-3[_ngcontent-%COMP%]{margin-left:1rem!important}.m-lg-4[_ngcontent-%COMP%]{margin:1.5rem!important}.mt-lg-4[_ngcontent-%COMP%], .my-lg-4[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mr-lg-4[_ngcontent-%COMP%], .mx-lg-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.mb-lg-4[_ngcontent-%COMP%], .my-lg-4[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.ml-lg-4[_ngcontent-%COMP%], .mx-lg-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.m-lg-5[_ngcontent-%COMP%]{margin:3rem!important}.mt-lg-5[_ngcontent-%COMP%], .my-lg-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mr-lg-5[_ngcontent-%COMP%], .mx-lg-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mb-lg-5[_ngcontent-%COMP%], .my-lg-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.ml-lg-5[_ngcontent-%COMP%], .mx-lg-5[_ngcontent-%COMP%]{margin-left:3rem!important}.p-lg-0[_ngcontent-%COMP%]{padding:0!important}.pt-lg-0[_ngcontent-%COMP%], .py-lg-0[_ngcontent-%COMP%]{padding-top:0!important}.pr-lg-0[_ngcontent-%COMP%], .px-lg-0[_ngcontent-%COMP%]{padding-right:0!important}.pb-lg-0[_ngcontent-%COMP%], .py-lg-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pl-lg-0[_ngcontent-%COMP%], .px-lg-0[_ngcontent-%COMP%]{padding-left:0!important}.p-lg-1[_ngcontent-%COMP%]{padding:.25rem!important}.pt-lg-1[_ngcontent-%COMP%], .py-lg-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pr-lg-1[_ngcontent-%COMP%], .px-lg-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.pb-lg-1[_ngcontent-%COMP%], .py-lg-1[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pl-lg-1[_ngcontent-%COMP%], .px-lg-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.p-lg-2[_ngcontent-%COMP%]{padding:.5rem!important}.pt-lg-2[_ngcontent-%COMP%], .py-lg-2[_ngcontent-%COMP%]{padding-top:.5rem!important}.pr-lg-2[_ngcontent-%COMP%], .px-lg-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.pb-lg-2[_ngcontent-%COMP%], .py-lg-2[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pl-lg-2[_ngcontent-%COMP%], .px-lg-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.p-lg-3[_ngcontent-%COMP%]{padding:1rem!important}.pt-lg-3[_ngcontent-%COMP%], .py-lg-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pr-lg-3[_ngcontent-%COMP%], .px-lg-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pb-lg-3[_ngcontent-%COMP%], .py-lg-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pl-lg-3[_ngcontent-%COMP%], .px-lg-3[_ngcontent-%COMP%]{padding-left:1rem!important}.p-lg-4[_ngcontent-%COMP%]{padding:1.5rem!important}.pt-lg-4[_ngcontent-%COMP%], .py-lg-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pr-lg-4[_ngcontent-%COMP%], .px-lg-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pb-lg-4[_ngcontent-%COMP%], .py-lg-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pl-lg-4[_ngcontent-%COMP%], .px-lg-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.p-lg-5[_ngcontent-%COMP%]{padding:3rem!important}.pt-lg-5[_ngcontent-%COMP%], .py-lg-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-lg-5[_ngcontent-%COMP%], .px-lg-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-lg-5[_ngcontent-%COMP%], .py-lg-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-lg-5[_ngcontent-%COMP%], .px-lg-5[_ngcontent-%COMP%]{padding-left:3rem!important}.m-lg-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.mt-lg-n1[_ngcontent-%COMP%], .my-lg-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mr-lg-n1[_ngcontent-%COMP%], .mx-lg-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mb-lg-n1[_ngcontent-%COMP%], .my-lg-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.ml-lg-n1[_ngcontent-%COMP%], .mx-lg-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.m-lg-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.mt-lg-n2[_ngcontent-%COMP%], .my-lg-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mr-lg-n2[_ngcontent-%COMP%], .mx-lg-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mb-lg-n2[_ngcontent-%COMP%], .my-lg-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.ml-lg-n2[_ngcontent-%COMP%], .mx-lg-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.m-lg-n3[_ngcontent-%COMP%]{margin:-1rem!important}.mt-lg-n3[_ngcontent-%COMP%], .my-lg-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mr-lg-n3[_ngcontent-%COMP%], .mx-lg-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mb-lg-n3[_ngcontent-%COMP%], .my-lg-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.ml-lg-n3[_ngcontent-%COMP%], .mx-lg-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.m-lg-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.mt-lg-n4[_ngcontent-%COMP%], .my-lg-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mr-lg-n4[_ngcontent-%COMP%], .mx-lg-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mb-lg-n4[_ngcontent-%COMP%], .my-lg-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.ml-lg-n4[_ngcontent-%COMP%], .mx-lg-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.m-lg-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mt-lg-n5[_ngcontent-%COMP%], .my-lg-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-lg-n5[_ngcontent-%COMP%], .mx-lg-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-lg-n5[_ngcontent-%COMP%], .my-lg-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-lg-n5[_ngcontent-%COMP%], .mx-lg-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.m-lg-auto[_ngcontent-%COMP%]{margin:auto!important}.mt-lg-auto[_ngcontent-%COMP%], .my-lg-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-lg-auto[_ngcontent-%COMP%], .mx-lg-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-lg-auto[_ngcontent-%COMP%], .my-lg-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-lg-auto[_ngcontent-%COMP%], .mx-lg-auto[_ngcontent-%COMP%]{margin-left:auto!important}.text-lg-left[_ngcontent-%COMP%]{text-align:left!important}.text-lg-right[_ngcontent-%COMP%]{text-align:right!important}.text-lg-center[_ngcontent-%COMP%]{text-align:center!important}}@media (min-width:1200px){.flex-xl-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-xl-column[_ngcontent-%COMP%]{flex-direction:column!important}.flex-xl-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-xl-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-xl-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-xl-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-xl-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.flex-xl-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-xl-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-xl-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-xl-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-xl-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.justify-content-xl-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-xl-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-xl-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-xl-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-xl-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-xl-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-xl-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-xl-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-xl-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-xl-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-xl-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-xl-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-xl-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-xl-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-xl-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-xl-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-xl-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-xl-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-xl-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-xl-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-xl-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-xl-stretch[_ngcontent-%COMP%]{align-self:stretch!important}.float-xl-left[_ngcontent-%COMP%]{float:left!important}.float-xl-right[_ngcontent-%COMP%]{float:right!important}.float-xl-none[_ngcontent-%COMP%]{float:none!important}.m-xl-0[_ngcontent-%COMP%]{margin:0!important}.mt-xl-0[_ngcontent-%COMP%], .my-xl-0[_ngcontent-%COMP%]{margin-top:0!important}.mr-xl-0[_ngcontent-%COMP%], .mx-xl-0[_ngcontent-%COMP%]{margin-right:0!important}.mb-xl-0[_ngcontent-%COMP%], .my-xl-0[_ngcontent-%COMP%]{margin-bottom:0!important}.ml-xl-0[_ngcontent-%COMP%], .mx-xl-0[_ngcontent-%COMP%]{margin-left:0!important}.m-xl-1[_ngcontent-%COMP%]{margin:.25rem!important}.mt-xl-1[_ngcontent-%COMP%], .my-xl-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mr-xl-1[_ngcontent-%COMP%], .mx-xl-1[_ngcontent-%COMP%]{margin-right:.25rem!important}.mb-xl-1[_ngcontent-%COMP%], .my-xl-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.ml-xl-1[_ngcontent-%COMP%], .mx-xl-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.m-xl-2[_ngcontent-%COMP%]{margin:.5rem!important}.mt-xl-2[_ngcontent-%COMP%], .my-xl-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mr-xl-2[_ngcontent-%COMP%], .mx-xl-2[_ngcontent-%COMP%]{margin-right:.5rem!important}.mb-xl-2[_ngcontent-%COMP%], .my-xl-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.ml-xl-2[_ngcontent-%COMP%], .mx-xl-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.m-xl-3[_ngcontent-%COMP%]{margin:1rem!important}.mt-xl-3[_ngcontent-%COMP%], .my-xl-3[_ngcontent-%COMP%]{margin-top:1rem!important}.mr-xl-3[_ngcontent-%COMP%], .mx-xl-3[_ngcontent-%COMP%]{margin-right:1rem!important}.mb-xl-3[_ngcontent-%COMP%], .my-xl-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.ml-xl-3[_ngcontent-%COMP%], .mx-xl-3[_ngcontent-%COMP%]{margin-left:1rem!important}.m-xl-4[_ngcontent-%COMP%]{margin:1.5rem!important}.mt-xl-4[_ngcontent-%COMP%], .my-xl-4[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mr-xl-4[_ngcontent-%COMP%], .mx-xl-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.mb-xl-4[_ngcontent-%COMP%], .my-xl-4[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.ml-xl-4[_ngcontent-%COMP%], .mx-xl-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.m-xl-5[_ngcontent-%COMP%]{margin:3rem!important}.mt-xl-5[_ngcontent-%COMP%], .my-xl-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mr-xl-5[_ngcontent-%COMP%], .mx-xl-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mb-xl-5[_ngcontent-%COMP%], .my-xl-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.ml-xl-5[_ngcontent-%COMP%], .mx-xl-5[_ngcontent-%COMP%]{margin-left:3rem!important}.p-xl-0[_ngcontent-%COMP%]{padding:0!important}.pt-xl-0[_ngcontent-%COMP%], .py-xl-0[_ngcontent-%COMP%]{padding-top:0!important}.pr-xl-0[_ngcontent-%COMP%], .px-xl-0[_ngcontent-%COMP%]{padding-right:0!important}.pb-xl-0[_ngcontent-%COMP%], .py-xl-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pl-xl-0[_ngcontent-%COMP%], .px-xl-0[_ngcontent-%COMP%]{padding-left:0!important}.p-xl-1[_ngcontent-%COMP%]{padding:.25rem!important}.pt-xl-1[_ngcontent-%COMP%], .py-xl-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pr-xl-1[_ngcontent-%COMP%], .px-xl-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.pb-xl-1[_ngcontent-%COMP%], .py-xl-1[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pl-xl-1[_ngcontent-%COMP%], .px-xl-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.p-xl-2[_ngcontent-%COMP%]{padding:.5rem!important}.pt-xl-2[_ngcontent-%COMP%], .py-xl-2[_ngcontent-%COMP%]{padding-top:.5rem!important}.pr-xl-2[_ngcontent-%COMP%], .px-xl-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.pb-xl-2[_ngcontent-%COMP%], .py-xl-2[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pl-xl-2[_ngcontent-%COMP%], .px-xl-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.p-xl-3[_ngcontent-%COMP%]{padding:1rem!important}.pt-xl-3[_ngcontent-%COMP%], .py-xl-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pr-xl-3[_ngcontent-%COMP%], .px-xl-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pb-xl-3[_ngcontent-%COMP%], .py-xl-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pl-xl-3[_ngcontent-%COMP%], .px-xl-3[_ngcontent-%COMP%]{padding-left:1rem!important}.p-xl-4[_ngcontent-%COMP%]{padding:1.5rem!important}.pt-xl-4[_ngcontent-%COMP%], .py-xl-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pr-xl-4[_ngcontent-%COMP%], .px-xl-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pb-xl-4[_ngcontent-%COMP%], .py-xl-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pl-xl-4[_ngcontent-%COMP%], .px-xl-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.p-xl-5[_ngcontent-%COMP%]{padding:3rem!important}.pt-xl-5[_ngcontent-%COMP%], .py-xl-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-xl-5[_ngcontent-%COMP%], .px-xl-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-xl-5[_ngcontent-%COMP%], .py-xl-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-xl-5[_ngcontent-%COMP%], .px-xl-5[_ngcontent-%COMP%]{padding-left:3rem!important}.m-xl-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.mt-xl-n1[_ngcontent-%COMP%], .my-xl-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mr-xl-n1[_ngcontent-%COMP%], .mx-xl-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mb-xl-n1[_ngcontent-%COMP%], .my-xl-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.ml-xl-n1[_ngcontent-%COMP%], .mx-xl-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.m-xl-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.mt-xl-n2[_ngcontent-%COMP%], .my-xl-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mr-xl-n2[_ngcontent-%COMP%], .mx-xl-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mb-xl-n2[_ngcontent-%COMP%], .my-xl-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.ml-xl-n2[_ngcontent-%COMP%], .mx-xl-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.m-xl-n3[_ngcontent-%COMP%]{margin:-1rem!important}.mt-xl-n3[_ngcontent-%COMP%], .my-xl-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mr-xl-n3[_ngcontent-%COMP%], .mx-xl-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mb-xl-n3[_ngcontent-%COMP%], .my-xl-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.ml-xl-n3[_ngcontent-%COMP%], .mx-xl-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.m-xl-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.mt-xl-n4[_ngcontent-%COMP%], .my-xl-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mr-xl-n4[_ngcontent-%COMP%], .mx-xl-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mb-xl-n4[_ngcontent-%COMP%], .my-xl-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.ml-xl-n4[_ngcontent-%COMP%], .mx-xl-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.m-xl-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mt-xl-n5[_ngcontent-%COMP%], .my-xl-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-xl-n5[_ngcontent-%COMP%], .mx-xl-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-xl-n5[_ngcontent-%COMP%], .my-xl-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-xl-n5[_ngcontent-%COMP%], .mx-xl-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.m-xl-auto[_ngcontent-%COMP%]{margin:auto!important}.mt-xl-auto[_ngcontent-%COMP%], .my-xl-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-xl-auto[_ngcontent-%COMP%], .mx-xl-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-xl-auto[_ngcontent-%COMP%], .my-xl-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-xl-auto[_ngcontent-%COMP%], .mx-xl-auto[_ngcontent-%COMP%]{margin-left:auto!important}.text-xl-left[_ngcontent-%COMP%]{text-align:left!important}.text-xl-right[_ngcontent-%COMP%]{text-align:right!important}.text-xl-center[_ngcontent-%COMP%]{text-align:center!important}}.text-lowercase[_ngcontent-%COMP%]{text-transform:lowercase!important}.text-uppercase[_ngcontent-%COMP%]{text-transform:uppercase!important}.text-capitalize[_ngcontent-%COMP%]{text-transform:capitalize!important}.font-weight-light[_ngcontent-%COMP%]{font-weight:300!important}.font-weight-lighter[_ngcontent-%COMP%]{font-weight:lighter!important}.font-weight-normal[_ngcontent-%COMP%]{font-weight:400!important}.font-weight-bold[_ngcontent-%COMP%]{font-weight:700!important}.font-weight-bolder[_ngcontent-%COMP%]{font-weight:bolder!important}.font-italic[_ngcontent-%COMP%]{font-style:italic!important}.text-white[_ngcontent-%COMP%]{color:#fff!important}.text-primary[_ngcontent-%COMP%]{color:#2b99a8!important}a.text-primary[_ngcontent-%COMP%]:focus, a.text-primary[_ngcontent-%COMP%]:hover{color:#1b626b!important}.text-secondary[_ngcontent-%COMP%]{color:#ef5c55!important}a.text-secondary[_ngcontent-%COMP%]:focus, a.text-secondary[_ngcontent-%COMP%]:hover{color:#e21f15!important}.text-success[_ngcontent-%COMP%]{color:#28a745!important}a.text-success[_ngcontent-%COMP%]:focus, a.text-success[_ngcontent-%COMP%]:hover{color:#19692c!important}.text-info[_ngcontent-%COMP%]{color:#17a2b8!important}a.text-info[_ngcontent-%COMP%]:focus, a.text-info[_ngcontent-%COMP%]:hover{color:#0f6674!important}.text-warning[_ngcontent-%COMP%]{color:#ffc107!important}a.text-warning[_ngcontent-%COMP%]:focus, a.text-warning[_ngcontent-%COMP%]:hover{color:#ba8b00!important}.text-danger[_ngcontent-%COMP%]{color:#dc3545!important}a.text-danger[_ngcontent-%COMP%]:focus, a.text-danger[_ngcontent-%COMP%]:hover{color:#a71d2a!important}.text-light[_ngcontent-%COMP%]{color:#f8f9fa!important}a.text-light[_ngcontent-%COMP%]:focus, a.text-light[_ngcontent-%COMP%]:hover{color:#cbd3da!important}.text-dark[_ngcontent-%COMP%]{color:#777!important}a.text-dark[_ngcontent-%COMP%]:focus, a.text-dark[_ngcontent-%COMP%]:hover{color:#515151!important}.text-body[_ngcontent-%COMP%]{color:#212529!important}.text-muted[_ngcontent-%COMP%]{color:#6c757d!important}.text-black-50[_ngcontent-%COMP%]{color:rgba(0,0,0,.5)!important}.text-white-50[_ngcontent-%COMP%]{color:rgba(255,255,255,.5)!important}.text-hide[_ngcontent-%COMP%]{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none[_ngcontent-%COMP%]{text-decoration:none!important}.text-break[_ngcontent-%COMP%]{word-break:break-word!important;overflow-wrap:break-word!important}.text-reset[_ngcontent-%COMP%]{color:inherit!important}.visible[_ngcontent-%COMP%]{visibility:visible!important}.invisible[_ngcontent-%COMP%]{visibility:hidden!important}@media print{*[_ngcontent-%COMP%], [_ngcontent-%COMP%]::after, [_ngcontent-%COMP%]::before{text-shadow:none!important;box-shadow:none!important}a[_ngcontent-%COMP%]:not(.btn){text-decoration:underline}abbr[title][_ngcontent-%COMP%]::after{content:" (" attr(title) ")"}pre[_ngcontent-%COMP%]{white-space:pre-wrap!important}blockquote[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]{border:1px solid #adb5bd;page-break-inside:avoid}thead[_ngcontent-%COMP%]{display:table-header-group}img[_ngcontent-%COMP%], tr[_ngcontent-%COMP%]{page-break-inside:avoid}h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%], p[_ngcontent-%COMP%]{orphans:3;widows:3}h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%]{page-break-after:avoid}@page{size:a3}.container[_ngcontent-%COMP%], body[_ngcontent-%COMP%]{min-width:992px!important}.navbar[_ngcontent-%COMP%]{display:none}.badge[_ngcontent-%COMP%]{border:1px solid #000}.table[_ngcontent-%COMP%]{border-collapse:collapse!important}.table[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{background-color:#fff!important}.table-bordered[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-bordered[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border:1px solid #dee2e6!important}.table-dark[_ngcontent-%COMP%]{color:inherit}.table-dark[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%] + tbody[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   th[_ngcontent-%COMP%], .table-dark[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{border-color:#dee2e6}.table[_ngcontent-%COMP%]   .thead-dark[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{color:inherit;border-color:#dee2e6}}@font-face{font-family:ForkAwesome;src:url(forkawesome-webfont.35e77a38ca9d85c4e897.eot?v=1.1.7);src:url(forkawesome-webfont.35e77a38ca9d85c4e897.eot?#iefix&v=1.1.7) format("embedded-opentype"),url(forkawesome-webfont.3a9e014c2469ffa65a0e.woff2?v=1.1.7) format("woff2"),url(forkawesome-webfont.44bbdbbfb5a10ba2d1ce.woff?v=1.1.7) format("woff"),url(forkawesome-webfont.fc46f3dae03b2b2e1cee.ttf?v=1.1.7) format("truetype"),url(forkawesome-webfont.78dcc9c4999659b8026a.svg?v=1.1.7#forkawesomeregular) format("svg");font-weight:400;font-style:normal}.fa[_ngcontent-%COMP%]{display:inline-block;font:normal normal normal 14px/1 ForkAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg[_ngcontent-%COMP%]{font-size:1.3333333333em;line-height:.75em;vertical-align:-15%}.fa-2x[_ngcontent-%COMP%]{font-size:2em}.fa-3x[_ngcontent-%COMP%]{font-size:3em}.fa-4x[_ngcontent-%COMP%]{font-size:4em}.fa-5x[_ngcontent-%COMP%]{font-size:5em}.fa[_ngcontent-%COMP%], .fa-fw[_ngcontent-%COMP%]{width:1.2857142857em;text-align:center}.fa-ul[_ngcontent-%COMP%]{padding-left:0;margin-left:2.1428571429em;list-style-type:none}.fa-ul[_ngcontent-%COMP%] > li[_ngcontent-%COMP%]{position:relative}.fa-li[_ngcontent-%COMP%]{position:absolute;left:-2.1428571429em;width:2.1428571429em;top:.1428571429em;text-align:center}.fa-li.fa-lg[_ngcontent-%COMP%]{left:-1.8571428571em}.fa-border[_ngcontent-%COMP%]{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left[_ngcontent-%COMP%]{float:left}.fa-pull-right[_ngcontent-%COMP%]{float:right}.fa.fa-pull-left[_ngcontent-%COMP%]{margin-right:.3em}.fa.fa-pull-right[_ngcontent-%COMP%]{margin-left:.3em}.pull-right[_ngcontent-%COMP%]{float:right}.pull-left[_ngcontent-%COMP%]{float:left}.fa.pull-left[_ngcontent-%COMP%]{margin-right:.3em}.fa.pull-right[_ngcontent-%COMP%]{margin-left:.3em}.fa-spin[_ngcontent-%COMP%]{animation:2s linear infinite fa-spin}.fa-pulse[_ngcontent-%COMP%]{animation:1s steps(8) infinite fa-spin}@keyframes fa-spin{0%{transform:rotate(0)}100%{transform:rotate(359deg)}}.fa-rotate-90[_ngcontent-%COMP%]{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180[_ngcontent-%COMP%]{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270[_ngcontent-%COMP%]{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal[_ngcontent-%COMP%]{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";transform:scale(-1,1)}.fa-flip-vertical[_ngcontent-%COMP%]{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";transform:scale(1,-1)}[_ngcontent-%COMP%]:root   .fa-flip-horizontal[_ngcontent-%COMP%], [_ngcontent-%COMP%]:root   .fa-flip-vertical[_ngcontent-%COMP%], [_ngcontent-%COMP%]:root   .fa-rotate-180[_ngcontent-%COMP%], [_ngcontent-%COMP%]:root   .fa-rotate-270[_ngcontent-%COMP%], [_ngcontent-%COMP%]:root   .fa-rotate-90[_ngcontent-%COMP%]{filter:none}.fa-stack[_ngcontent-%COMP%]{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x[_ngcontent-%COMP%], .fa-stack-2x[_ngcontent-%COMP%]{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x[_ngcontent-%COMP%]{line-height:inherit}.fa-stack-2x[_ngcontent-%COMP%]{font-size:2em}.fa-inverse[_ngcontent-%COMP%]{color:#fff}.fa-glass[_ngcontent-%COMP%]:before{content:""}.fa-music[_ngcontent-%COMP%]:before{content:""}.fa-search[_ngcontent-%COMP%]:before{content:""}.fa-envelope-o[_ngcontent-%COMP%]:before{content:""}.fa-heart[_ngcontent-%COMP%]:before{content:""}.fa-star[_ngcontent-%COMP%]:before{content:""}.fa-star-o[_ngcontent-%COMP%]:before{content:""}.fa-user[_ngcontent-%COMP%]:before{content:""}.fa-film[_ngcontent-%COMP%]:before{content:""}.fa-th-large[_ngcontent-%COMP%]:before{content:""}.fa-th[_ngcontent-%COMP%]:before{content:""}.fa-th-list[_ngcontent-%COMP%]:before{content:""}.fa-check[_ngcontent-%COMP%]:before{content:""}.fa-close[_ngcontent-%COMP%]:before, .fa-remove[_ngcontent-%COMP%]:before, .fa-times[_ngcontent-%COMP%]:before{content:""}.fa-search-plus[_ngcontent-%COMP%]:before{content:""}.fa-search-minus[_ngcontent-%COMP%]:before{content:""}.fa-power-off[_ngcontent-%COMP%]:before{content:""}.fa-signal[_ngcontent-%COMP%]:before{content:""}.fa-cog[_ngcontent-%COMP%]:before, .fa-gear[_ngcontent-%COMP%]:before{content:""}.fa-trash-o[_ngcontent-%COMP%]:before{content:""}.fa-home[_ngcontent-%COMP%]:before{content:""}.fa-file-o[_ngcontent-%COMP%]:before{content:""}.fa-clock-o[_ngcontent-%COMP%]:before{content:""}.fa-road[_ngcontent-%COMP%]:before{content:""}.fa-download[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-o-down[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-o-up[_ngcontent-%COMP%]:before{content:""}.fa-inbox[_ngcontent-%COMP%]:before{content:""}.fa-play-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-repeat[_ngcontent-%COMP%]:before, .fa-rotate-right[_ngcontent-%COMP%]:before{content:""}.fa-refresh[_ngcontent-%COMP%]:before, .fa-sync[_ngcontent-%COMP%]:before{content:""}.fa-list-alt[_ngcontent-%COMP%]:before{content:""}.fa-lock[_ngcontent-%COMP%]:before{content:""}.fa-flag[_ngcontent-%COMP%]:before{content:""}.fa-headphones[_ngcontent-%COMP%]:before{content:""}.fa-volume-off[_ngcontent-%COMP%]:before{content:""}.fa-volume-down[_ngcontent-%COMP%]:before{content:""}.fa-volume-up[_ngcontent-%COMP%]:before{content:""}.fa-qrcode[_ngcontent-%COMP%]:before{content:""}.fa-barcode[_ngcontent-%COMP%]:before{content:""}.fa-tag[_ngcontent-%COMP%]:before{content:""}.fa-tags[_ngcontent-%COMP%]:before{content:""}.fa-book[_ngcontent-%COMP%]:before{content:""}.fa-bookmark[_ngcontent-%COMP%]:before{content:""}.fa-print[_ngcontent-%COMP%]:before{content:""}.fa-camera[_ngcontent-%COMP%]:before{content:""}.fa-font[_ngcontent-%COMP%]:before{content:""}.fa-bold[_ngcontent-%COMP%]:before{content:""}.fa-italic[_ngcontent-%COMP%]:before{content:""}.fa-text-height[_ngcontent-%COMP%]:before{content:""}.fa-text-width[_ngcontent-%COMP%]:before{content:""}.fa-align-left[_ngcontent-%COMP%]:before{content:""}.fa-align-center[_ngcontent-%COMP%]:before{content:""}.fa-align-right[_ngcontent-%COMP%]:before{content:""}.fa-align-justify[_ngcontent-%COMP%]:before{content:""}.fa-list[_ngcontent-%COMP%]:before{content:""}.fa-dedent[_ngcontent-%COMP%]:before, .fa-outdent[_ngcontent-%COMP%]:before{content:""}.fa-indent[_ngcontent-%COMP%]:before{content:""}.fa-video-camera[_ngcontent-%COMP%]:before, .fa-video[_ngcontent-%COMP%]:before{content:""}.fa-image[_ngcontent-%COMP%]:before, .fa-photo[_ngcontent-%COMP%]:before, .fa-picture-o[_ngcontent-%COMP%]:before{content:""}.fa-pencil[_ngcontent-%COMP%]:before{content:""}.fa-map-marker[_ngcontent-%COMP%]:before{content:""}.fa-adjust[_ngcontent-%COMP%]:before{content:""}.fa-tint[_ngcontent-%COMP%]:before{content:""}.fa-edit[_ngcontent-%COMP%]:before, .fa-pencil-square-o[_ngcontent-%COMP%]:before{content:""}.fa-share-square-o[_ngcontent-%COMP%]:before{content:""}.fa-check-square-o[_ngcontent-%COMP%]:before{content:""}.fa-arrows[_ngcontent-%COMP%]:before{content:""}.fa-step-backward[_ngcontent-%COMP%]:before{content:""}.fa-fast-backward[_ngcontent-%COMP%]:before{content:""}.fa-backward[_ngcontent-%COMP%]:before{content:""}.fa-play[_ngcontent-%COMP%]:before{content:""}.fa-pause[_ngcontent-%COMP%]:before{content:""}.fa-stop[_ngcontent-%COMP%]:before{content:""}.fa-forward[_ngcontent-%COMP%]:before{content:""}.fa-fast-forward[_ngcontent-%COMP%]:before{content:""}.fa-step-forward[_ngcontent-%COMP%]:before{content:""}.fa-eject[_ngcontent-%COMP%]:before{content:""}.fa-chevron-left[_ngcontent-%COMP%]:before{content:""}.fa-chevron-right[_ngcontent-%COMP%]:before{content:""}.fa-plus-circle[_ngcontent-%COMP%]:before{content:""}.fa-minus-circle[_ngcontent-%COMP%]:before{content:""}.fa-times-circle[_ngcontent-%COMP%]:before{content:""}.fa-check-circle[_ngcontent-%COMP%]:before{content:""}.fa-question-circle[_ngcontent-%COMP%]:before{content:""}.fa-info-circle[_ngcontent-%COMP%]:before{content:""}.fa-crosshairs[_ngcontent-%COMP%]:before{content:""}.fa-times-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-check-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-ban[_ngcontent-%COMP%]:before{content:""}.fa-arrow-left[_ngcontent-%COMP%]:before{content:""}.fa-arrow-right[_ngcontent-%COMP%]:before{content:""}.fa-arrow-up[_ngcontent-%COMP%]:before{content:""}.fa-arrow-down[_ngcontent-%COMP%]:before{content:""}.fa-mail-forward[_ngcontent-%COMP%]:before, .fa-share[_ngcontent-%COMP%]:before{content:""}.fa-expand[_ngcontent-%COMP%]:before{content:""}.fa-compress[_ngcontent-%COMP%]:before{content:""}.fa-plus[_ngcontent-%COMP%]:before{content:""}.fa-minus[_ngcontent-%COMP%]:before{content:""}.fa-asterisk[_ngcontent-%COMP%]:before{content:""}.fa-exclamation-circle[_ngcontent-%COMP%]:before{content:""}.fa-gift[_ngcontent-%COMP%]:before{content:""}.fa-leaf[_ngcontent-%COMP%]:before{content:""}.fa-fire[_ngcontent-%COMP%]:before{content:""}.fa-eye[_ngcontent-%COMP%]:before{content:""}.fa-eye-slash[_ngcontent-%COMP%]:before{content:""}.fa-exclamation-triangle[_ngcontent-%COMP%]:before, .fa-warning[_ngcontent-%COMP%]:before{content:""}.fa-plane[_ngcontent-%COMP%]:before{content:""}.fa-calendar[_ngcontent-%COMP%]:before{content:""}.fa-random[_ngcontent-%COMP%]:before{content:""}.fa-comment[_ngcontent-%COMP%]:before{content:""}.fa-magnet[_ngcontent-%COMP%]:before{content:""}.fa-chevron-up[_ngcontent-%COMP%]:before{content:""}.fa-chevron-down[_ngcontent-%COMP%]:before{content:""}.fa-retweet[_ngcontent-%COMP%]:before{content:""}.fa-shopping-cart[_ngcontent-%COMP%]:before{content:""}.fa-folder[_ngcontent-%COMP%]:before{content:""}.fa-folder-open[_ngcontent-%COMP%]:before{content:""}.fa-arrows-v[_ngcontent-%COMP%]:before{content:""}.fa-arrows-h[_ngcontent-%COMP%]:before{content:""}.fa-bar-chart-o[_ngcontent-%COMP%]:before, .fa-bar-chart[_ngcontent-%COMP%]:before{content:""}.fa-twitter-square[_ngcontent-%COMP%]:before{content:""}.fa-facebook-square[_ngcontent-%COMP%]:before{content:""}.fa-camera-retro[_ngcontent-%COMP%]:before{content:""}.fa-key[_ngcontent-%COMP%]:before{content:""}.fa-cogs[_ngcontent-%COMP%]:before, .fa-gears[_ngcontent-%COMP%]:before{content:""}.fa-comments[_ngcontent-%COMP%]:before{content:""}.fa-thumbs-o-up[_ngcontent-%COMP%]:before{content:""}.fa-thumbs-o-down[_ngcontent-%COMP%]:before{content:""}.fa-star-half[_ngcontent-%COMP%]:before{content:""}.fa-heart-o[_ngcontent-%COMP%]:before{content:""}.fa-sign-out[_ngcontent-%COMP%]:before{content:""}.fa-linkedin-square[_ngcontent-%COMP%]:before{content:""}.fa-thumb-tack[_ngcontent-%COMP%]:before{content:""}.fa-external-link[_ngcontent-%COMP%]:before{content:""}.fa-sign-in[_ngcontent-%COMP%]:before{content:""}.fa-trophy[_ngcontent-%COMP%]:before{content:""}.fa-github-square[_ngcontent-%COMP%]:before{content:""}.fa-upload[_ngcontent-%COMP%]:before{content:""}.fa-lemon-o[_ngcontent-%COMP%]:before{content:""}.fa-phone[_ngcontent-%COMP%]:before{content:""}.fa-square-o[_ngcontent-%COMP%]:before{content:""}.fa-bookmark-o[_ngcontent-%COMP%]:before{content:""}.fa-phone-square[_ngcontent-%COMP%]:before{content:""}.fa-twitter[_ngcontent-%COMP%]:before{content:""}.fa-facebook-f[_ngcontent-%COMP%]:before, .fa-facebook[_ngcontent-%COMP%]:before{content:""}.fa-github[_ngcontent-%COMP%]:before{content:""}.fa-unlock[_ngcontent-%COMP%]:before{content:""}.fa-credit-card[_ngcontent-%COMP%]:before{content:""}.fa-feed[_ngcontent-%COMP%]:before, .fa-rss[_ngcontent-%COMP%]:before{content:""}.fa-hdd-o[_ngcontent-%COMP%]:before{content:""}.fa-bullhorn[_ngcontent-%COMP%]:before{content:""}.fa-bell-o[_ngcontent-%COMP%]:before{content:""}.fa-certificate[_ngcontent-%COMP%]:before{content:""}.fa-hand-o-right[_ngcontent-%COMP%]:before{content:""}.fa-hand-o-left[_ngcontent-%COMP%]:before{content:""}.fa-hand-o-up[_ngcontent-%COMP%]:before{content:""}.fa-hand-o-down[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-left[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-right[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-up[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-down[_ngcontent-%COMP%]:before{content:""}.fa-globe[_ngcontent-%COMP%]:before{content:""}.fa-globe-e[_ngcontent-%COMP%]:before{content:""}.fa-globe-w[_ngcontent-%COMP%]:before{content:""}.fa-wrench[_ngcontent-%COMP%]:before{content:""}.fa-tasks[_ngcontent-%COMP%]:before{content:""}.fa-filter[_ngcontent-%COMP%]:before{content:""}.fa-briefcase[_ngcontent-%COMP%]:before{content:""}.fa-arrows-alt[_ngcontent-%COMP%]:before{content:""}.fa-community[_ngcontent-%COMP%]:before, .fa-group[_ngcontent-%COMP%]:before, .fa-users[_ngcontent-%COMP%]:before{content:""}.fa-chain[_ngcontent-%COMP%]:before, .fa-link[_ngcontent-%COMP%]:before{content:""}.fa-cloud[_ngcontent-%COMP%]:before{content:""}.fa-flask[_ngcontent-%COMP%]:before{content:""}.fa-cut[_ngcontent-%COMP%]:before, .fa-scissors[_ngcontent-%COMP%]:before{content:""}.fa-copy[_ngcontent-%COMP%]:before, .fa-files-o[_ngcontent-%COMP%]:before{content:""}.fa-paperclip[_ngcontent-%COMP%]:before{content:""}.fa-floppy-o[_ngcontent-%COMP%]:before, .fa-save[_ngcontent-%COMP%]:before{content:""}.fa-square[_ngcontent-%COMP%]:before{content:""}.fa-bars[_ngcontent-%COMP%]:before, .fa-navicon[_ngcontent-%COMP%]:before, .fa-reorder[_ngcontent-%COMP%]:before{content:""}.fa-list-ul[_ngcontent-%COMP%]:before{content:""}.fa-list-ol[_ngcontent-%COMP%]:before{content:""}.fa-strikethrough[_ngcontent-%COMP%]:before{content:""}.fa-underline[_ngcontent-%COMP%]:before{content:""}.fa-table[_ngcontent-%COMP%]:before{content:""}.fa-magic[_ngcontent-%COMP%]:before{content:""}.fa-truck[_ngcontent-%COMP%]:before{content:""}.fa-pinterest[_ngcontent-%COMP%]:before{content:""}.fa-pinterest-square[_ngcontent-%COMP%]:before{content:""}.fa-google-plus-square[_ngcontent-%COMP%]:before{content:""}.fa-google-plus-g[_ngcontent-%COMP%]:before, .fa-google-plus[_ngcontent-%COMP%]:before{content:""}.fa-money[_ngcontent-%COMP%]:before{content:""}.fa-caret-down[_ngcontent-%COMP%]:before{content:""}.fa-caret-up[_ngcontent-%COMP%]:before{content:""}.fa-caret-left[_ngcontent-%COMP%]:before{content:""}.fa-caret-right[_ngcontent-%COMP%]:before{content:""}.fa-columns[_ngcontent-%COMP%]:before{content:""}.fa-sort[_ngcontent-%COMP%]:before, .fa-unsorted[_ngcontent-%COMP%]:before{content:""}.fa-sort-desc[_ngcontent-%COMP%]:before, .fa-sort-down[_ngcontent-%COMP%]:before{content:""}.fa-sort-asc[_ngcontent-%COMP%]:before, .fa-sort-up[_ngcontent-%COMP%]:before{content:""}.fa-envelope[_ngcontent-%COMP%]:before{content:""}.fa-linkedin[_ngcontent-%COMP%]:before{content:""}.fa-rotate-left[_ngcontent-%COMP%]:before, .fa-undo[_ngcontent-%COMP%]:before{content:""}.fa-gavel[_ngcontent-%COMP%]:before, .fa-legal[_ngcontent-%COMP%]:before{content:""}.fa-dashboard[_ngcontent-%COMP%]:before, .fa-tachometer[_ngcontent-%COMP%]:before{content:""}.fa-comment-o[_ngcontent-%COMP%]:before{content:""}.fa-comments-o[_ngcontent-%COMP%]:before{content:""}.fa-bolt[_ngcontent-%COMP%]:before, .fa-flash[_ngcontent-%COMP%]:before{content:""}.fa-sitemap[_ngcontent-%COMP%]:before{content:""}.fa-umbrella[_ngcontent-%COMP%]:before{content:""}.fa-clipboard[_ngcontent-%COMP%]:before, .fa-paste[_ngcontent-%COMP%]:before{content:""}.fa-lightbulb-o[_ngcontent-%COMP%]:before{content:""}.fa-exchange[_ngcontent-%COMP%]:before{content:""}.fa-cloud-download[_ngcontent-%COMP%]:before{content:""}.fa-cloud-upload[_ngcontent-%COMP%]:before{content:""}.fa-user-md[_ngcontent-%COMP%]:before{content:""}.fa-stethoscope[_ngcontent-%COMP%]:before{content:""}.fa-suitcase[_ngcontent-%COMP%]:before{content:""}.fa-bell[_ngcontent-%COMP%]:before{content:""}.fa-coffee[_ngcontent-%COMP%]:before{content:""}.fa-cutlery[_ngcontent-%COMP%]:before, .fa-utensils[_ngcontent-%COMP%]:before{content:""}.fa-file-text-o[_ngcontent-%COMP%]:before{content:""}.fa-building-o[_ngcontent-%COMP%]:before{content:""}.fa-hospital-o[_ngcontent-%COMP%]:before{content:""}.fa-ambulance[_ngcontent-%COMP%]:before{content:""}.fa-medkit[_ngcontent-%COMP%]:before{content:""}.fa-fighter-jet[_ngcontent-%COMP%]:before{content:""}.fa-beer[_ngcontent-%COMP%]:before{content:""}.fa-h-square[_ngcontent-%COMP%]:before{content:""}.fa-plus-square[_ngcontent-%COMP%]:before{content:""}.fa-angle-double-left[_ngcontent-%COMP%]:before{content:""}.fa-angle-double-right[_ngcontent-%COMP%]:before{content:""}.fa-angle-double-up[_ngcontent-%COMP%]:before{content:""}.fa-angle-double-down[_ngcontent-%COMP%]:before{content:""}.fa-angle-left[_ngcontent-%COMP%]:before{content:""}.fa-angle-right[_ngcontent-%COMP%]:before{content:""}.fa-angle-up[_ngcontent-%COMP%]:before{content:""}.fa-angle-down[_ngcontent-%COMP%]:before{content:""}.fa-desktop[_ngcontent-%COMP%]:before{content:""}.fa-laptop[_ngcontent-%COMP%]:before{content:""}.fa-tablet[_ngcontent-%COMP%]:before{content:""}.fa-mobile-phone[_ngcontent-%COMP%]:before, .fa-mobile[_ngcontent-%COMP%]:before{content:""}.fa-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-quote-left[_ngcontent-%COMP%]:before{content:""}.fa-quote-right[_ngcontent-%COMP%]:before{content:""}.fa-spinner[_ngcontent-%COMP%]:before{content:""}.fa-circle[_ngcontent-%COMP%]:before{content:""}.fa-mail-reply[_ngcontent-%COMP%]:before, .fa-reply[_ngcontent-%COMP%]:before{content:""}.fa-github-alt[_ngcontent-%COMP%]:before{content:""}.fa-folder-o[_ngcontent-%COMP%]:before{content:""}.fa-folder-open-o[_ngcontent-%COMP%]:before{content:""}.fa-smile-o[_ngcontent-%COMP%]:before{content:""}.fa-frown-o[_ngcontent-%COMP%]:before{content:""}.fa-meh-o[_ngcontent-%COMP%]:before{content:""}.fa-gamepad[_ngcontent-%COMP%]:before{content:""}.fa-keyboard-o[_ngcontent-%COMP%]:before{content:""}.fa-flag-o[_ngcontent-%COMP%]:before{content:""}.fa-flag-checkered[_ngcontent-%COMP%]:before{content:""}.fa-terminal[_ngcontent-%COMP%]:before{content:""}.fa-code[_ngcontent-%COMP%]:before{content:""}.fa-mail-reply-all[_ngcontent-%COMP%]:before, .fa-reply-all[_ngcontent-%COMP%]:before{content:""}.fa-star-half-empty[_ngcontent-%COMP%]:before, .fa-star-half-full[_ngcontent-%COMP%]:before, .fa-star-half-o[_ngcontent-%COMP%]:before{content:""}.fa-location-arrow[_ngcontent-%COMP%]:before{content:""}.fa-crop[_ngcontent-%COMP%]:before{content:""}.fa-code-fork[_ngcontent-%COMP%]:before{content:""}.fa-chain-broken[_ngcontent-%COMP%]:before, .fa-unlink[_ngcontent-%COMP%]:before{content:""}.fa-question[_ngcontent-%COMP%]:before{content:""}.fa-info[_ngcontent-%COMP%]:before{content:""}.fa-exclamation[_ngcontent-%COMP%]:before{content:""}.fa-superscript[_ngcontent-%COMP%]:before{content:""}.fa-subscript[_ngcontent-%COMP%]:before{content:""}.fa-eraser[_ngcontent-%COMP%]:before{content:""}.fa-puzzle-piece[_ngcontent-%COMP%]:before{content:""}.fa-microphone[_ngcontent-%COMP%]:before{content:""}.fa-microphone-slash[_ngcontent-%COMP%]:before{content:""}.fa-shield[_ngcontent-%COMP%]:before{content:""}.fa-calendar-o[_ngcontent-%COMP%]:before{content:""}.fa-fire-extinguisher[_ngcontent-%COMP%]:before{content:""}.fa-rocket[_ngcontent-%COMP%]:before{content:""}.fa-maxcdn[_ngcontent-%COMP%]:before{content:""}.fa-chevron-circle-left[_ngcontent-%COMP%]:before{content:""}.fa-chevron-circle-right[_ngcontent-%COMP%]:before{content:""}.fa-chevron-circle-up[_ngcontent-%COMP%]:before{content:""}.fa-chevron-circle-down[_ngcontent-%COMP%]:before{content:""}.fa-html5[_ngcontent-%COMP%]:before{content:""}.fa-css3[_ngcontent-%COMP%]:before{content:""}.fa-anchor[_ngcontent-%COMP%]:before{content:""}.fa-unlock-alt[_ngcontent-%COMP%]:before{content:""}.fa-bullseye[_ngcontent-%COMP%]:before{content:""}.fa-ellipsis-h[_ngcontent-%COMP%]:before{content:""}.fa-ellipsis-v[_ngcontent-%COMP%]:before{content:""}.fa-rss-square[_ngcontent-%COMP%]:before{content:""}.fa-play-circle[_ngcontent-%COMP%]:before{content:""}.fa-ticket[_ngcontent-%COMP%]:before{content:""}.fa-minus-square[_ngcontent-%COMP%]:before{content:""}.fa-minus-square-o[_ngcontent-%COMP%]:before{content:""}.fa-level-up[_ngcontent-%COMP%]:before{content:""}.fa-level-down[_ngcontent-%COMP%]:before{content:""}.fa-check-square[_ngcontent-%COMP%]:before{content:""}.fa-pencil-square[_ngcontent-%COMP%]:before{content:""}.fa-external-link-square[_ngcontent-%COMP%]:before{content:""}.fa-share-square[_ngcontent-%COMP%]:before{content:""}.fa-compass[_ngcontent-%COMP%]:before{content:""}.fa-caret-square-o-down[_ngcontent-%COMP%]:before, .fa-toggle-down[_ngcontent-%COMP%]:before{content:""}.fa-caret-square-o-up[_ngcontent-%COMP%]:before, .fa-toggle-up[_ngcontent-%COMP%]:before{content:""}.fa-caret-square-o-right[_ngcontent-%COMP%]:before, .fa-toggle-right[_ngcontent-%COMP%]:before{content:""}.fa-eur[_ngcontent-%COMP%]:before, .fa-euro[_ngcontent-%COMP%]:before{content:""}.fa-gbp[_ngcontent-%COMP%]:before, .fa-pound[_ngcontent-%COMP%]:before{content:""}.fa-dollar[_ngcontent-%COMP%]:before, .fa-usd[_ngcontent-%COMP%]:before{content:""}.fa-inr[_ngcontent-%COMP%]:before, .fa-rupee[_ngcontent-%COMP%]:before{content:""}.fa-cny[_ngcontent-%COMP%]:before, .fa-jpy[_ngcontent-%COMP%]:before, .fa-rmb[_ngcontent-%COMP%]:before, .fa-yen[_ngcontent-%COMP%]:before{content:""}.fa-rouble[_ngcontent-%COMP%]:before, .fa-rub[_ngcontent-%COMP%]:before, .fa-ruble[_ngcontent-%COMP%]:before{content:""}.fa-krw[_ngcontent-%COMP%]:before, .fa-won[_ngcontent-%COMP%]:before{content:""}.fa-bitcoin[_ngcontent-%COMP%]:before, .fa-btc[_ngcontent-%COMP%]:before{content:""}.fa-file[_ngcontent-%COMP%]:before{content:""}.fa-file-text[_ngcontent-%COMP%]:before{content:""}.fa-sort-alpha-asc[_ngcontent-%COMP%]:before, .fa-sort-alpha-down[_ngcontent-%COMP%]:before{content:""}.fa-sort-alpha-desc[_ngcontent-%COMP%]:before, .fa-sort-alpha-up[_ngcontent-%COMP%]:before{content:""}.fa-sort-amount-asc[_ngcontent-%COMP%]:before, .fa-sort-amount-down[_ngcontent-%COMP%]:before{content:""}.fa-sort-amount-desc[_ngcontent-%COMP%]:before, .fa-sort-amount-up[_ngcontent-%COMP%]:before{content:""}.fa-sort-numeric-asc[_ngcontent-%COMP%]:before, .fa-sort-numeric-down[_ngcontent-%COMP%]:before{content:""}.fa-sort-numeric-desc[_ngcontent-%COMP%]:before, .fa-sort-numeric-up[_ngcontent-%COMP%]:before{content:""}.fa-thumbs-up[_ngcontent-%COMP%]:before{content:""}.fa-thumbs-down[_ngcontent-%COMP%]:before{content:""}.fa-youtube-square[_ngcontent-%COMP%]:before{content:""}.fa-youtube[_ngcontent-%COMP%]:before{content:""}.fa-xing[_ngcontent-%COMP%]:before{content:""}.fa-xing-square[_ngcontent-%COMP%]:before{content:""}.fa-youtube-play[_ngcontent-%COMP%]:before{content:""}.fa-dropbox[_ngcontent-%COMP%]:before{content:""}.fa-stack-overflow[_ngcontent-%COMP%]:before{content:""}.fa-instagram[_ngcontent-%COMP%]:before{content:""}.fa-flickr[_ngcontent-%COMP%]:before{content:""}.fa-adn[_ngcontent-%COMP%]:before{content:""}.fa-bitbucket[_ngcontent-%COMP%]:before{content:""}.fa-bitbucket-square[_ngcontent-%COMP%]:before{content:""}.fa-tumblr[_ngcontent-%COMP%]:before{content:""}.fa-tumblr-square[_ngcontent-%COMP%]:before{content:""}.fa-long-arrow-down[_ngcontent-%COMP%]:before{content:""}.fa-long-arrow-up[_ngcontent-%COMP%]:before{content:""}.fa-long-arrow-left[_ngcontent-%COMP%]:before{content:""}.fa-long-arrow-right[_ngcontent-%COMP%]:before{content:""}.fa-apple[_ngcontent-%COMP%]:before{content:""}.fa-windows[_ngcontent-%COMP%]:before{content:""}.fa-android[_ngcontent-%COMP%]:before{content:""}.fa-linux[_ngcontent-%COMP%]:before{content:""}.fa-dribbble[_ngcontent-%COMP%]:before{content:""}.fa-skype[_ngcontent-%COMP%]:before{content:""}.fa-foursquare[_ngcontent-%COMP%]:before{content:""}.fa-trello[_ngcontent-%COMP%]:before{content:""}.fa-female[_ngcontent-%COMP%]:before{content:""}.fa-male[_ngcontent-%COMP%]:before{content:""}.fa-gittip[_ngcontent-%COMP%]:before, .fa-gratipay[_ngcontent-%COMP%]:before{content:""}.fa-sun-o[_ngcontent-%COMP%]:before{content:""}.fa-moon-o[_ngcontent-%COMP%]:before{content:""}.fa-archive[_ngcontent-%COMP%]:before{content:""}.fa-bug[_ngcontent-%COMP%]:before{content:""}.fa-vk[_ngcontent-%COMP%]:before{content:""}.fa-weibo[_ngcontent-%COMP%]:before{content:""}.fa-renren[_ngcontent-%COMP%]:before{content:""}.fa-pagelines[_ngcontent-%COMP%]:before{content:""}.fa-stack-exchange[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-o-right[_ngcontent-%COMP%]:before{content:""}.fa-arrow-circle-o-left[_ngcontent-%COMP%]:before{content:""}.fa-caret-square-o-left[_ngcontent-%COMP%]:before, .fa-toggle-left[_ngcontent-%COMP%]:before{content:""}.fa-dot-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-wheelchair[_ngcontent-%COMP%]:before{content:""}.fa-vimeo-square[_ngcontent-%COMP%]:before{content:""}.fa-try[_ngcontent-%COMP%]:before, .fa-turkish-lira[_ngcontent-%COMP%]:before{content:""}.fa-plus-square-o[_ngcontent-%COMP%]:before{content:""}.fa-space-shuttle[_ngcontent-%COMP%]:before{content:""}.fa-slack[_ngcontent-%COMP%]:before{content:""}.fa-envelope-square[_ngcontent-%COMP%]:before{content:""}.fa-wordpress[_ngcontent-%COMP%]:before{content:""}.fa-openid[_ngcontent-%COMP%]:before{content:""}.fa-bank[_ngcontent-%COMP%]:before, .fa-institution[_ngcontent-%COMP%]:before, .fa-university[_ngcontent-%COMP%]:before{content:""}.fa-graduation-cap[_ngcontent-%COMP%]:before, .fa-mortar-board[_ngcontent-%COMP%]:before{content:""}.fa-yahoo[_ngcontent-%COMP%]:before{content:""}.fa-google[_ngcontent-%COMP%]:before{content:""}.fa-reddit[_ngcontent-%COMP%]:before{content:""}.fa-reddit-square[_ngcontent-%COMP%]:before{content:""}.fa-stumbleupon-circle[_ngcontent-%COMP%]:before{content:""}.fa-stumbleupon[_ngcontent-%COMP%]:before{content:""}.fa-delicious[_ngcontent-%COMP%]:before{content:""}.fa-digg[_ngcontent-%COMP%]:before{content:""}.fa-drupal[_ngcontent-%COMP%]:before{content:""}.fa-joomla[_ngcontent-%COMP%]:before{content:""}.fa-language[_ngcontent-%COMP%]:before{content:""}.fa-fax[_ngcontent-%COMP%]:before{content:""}.fa-building[_ngcontent-%COMP%]:before{content:""}.fa-child[_ngcontent-%COMP%]:before{content:""}.fa-paw[_ngcontent-%COMP%]:before{content:""}.fa-spoon[_ngcontent-%COMP%]:before, .fa-utensil-spoon[_ngcontent-%COMP%]:before{content:""}.fa-cube[_ngcontent-%COMP%]:before{content:""}.fa-cubes[_ngcontent-%COMP%]:before{content:""}.fa-behance[_ngcontent-%COMP%]:before{content:""}.fa-behance-square[_ngcontent-%COMP%]:before{content:""}.fa-steam[_ngcontent-%COMP%]:before{content:""}.fa-steam-square[_ngcontent-%COMP%]:before{content:""}.fa-recycle[_ngcontent-%COMP%]:before{content:""}.fa-automobile[_ngcontent-%COMP%]:before, .fa-car[_ngcontent-%COMP%]:before{content:""}.fa-cab[_ngcontent-%COMP%]:before, .fa-taxi[_ngcontent-%COMP%]:before{content:""}.fa-tree[_ngcontent-%COMP%]:before{content:""}.fa-spotify[_ngcontent-%COMP%]:before{content:""}.fa-deviantart[_ngcontent-%COMP%]:before{content:""}.fa-soundcloud[_ngcontent-%COMP%]:before{content:""}.fa-database[_ngcontent-%COMP%]:before{content:""}.fa-file-pdf-o[_ngcontent-%COMP%]:before{content:""}.fa-file-word-o[_ngcontent-%COMP%]:before{content:""}.fa-file-excel-o[_ngcontent-%COMP%]:before{content:""}.fa-file-powerpoint-o[_ngcontent-%COMP%]:before{content:""}.fa-file-image-o[_ngcontent-%COMP%]:before, .fa-file-photo-o[_ngcontent-%COMP%]:before, .fa-file-picture-o[_ngcontent-%COMP%]:before{content:""}.fa-file-archive-o[_ngcontent-%COMP%]:before, .fa-file-zip-o[_ngcontent-%COMP%]:before{content:""}.fa-file-audio-o[_ngcontent-%COMP%]:before, .fa-file-sound-o[_ngcontent-%COMP%]:before{content:""}.fa-file-movie-o[_ngcontent-%COMP%]:before, .fa-file-video-o[_ngcontent-%COMP%]:before{content:""}.fa-file-code-o[_ngcontent-%COMP%]:before{content:""}.fa-vine[_ngcontent-%COMP%]:before{content:""}.fa-codepen[_ngcontent-%COMP%]:before{content:""}.fa-jsfiddle[_ngcontent-%COMP%]:before{content:""}.fa-life-bouy[_ngcontent-%COMP%]:before, .fa-life-buoy[_ngcontent-%COMP%]:before, .fa-life-ring[_ngcontent-%COMP%]:before, .fa-life-saver[_ngcontent-%COMP%]:before, .fa-support[_ngcontent-%COMP%]:before{content:""}.fa-circle-o-notch[_ngcontent-%COMP%]:before{content:""}.fa-ra[_ngcontent-%COMP%]:before, .fa-rebel[_ngcontent-%COMP%]:before, .fa-resistance[_ngcontent-%COMP%]:before{content:""}.fa-empire[_ngcontent-%COMP%]:before, .fa-ge[_ngcontent-%COMP%]:before{content:""}.fa-git-square[_ngcontent-%COMP%]:before{content:""}.fa-git[_ngcontent-%COMP%]:before{content:""}.fa-hacker-news[_ngcontent-%COMP%]:before, .fa-y-combinator-square[_ngcontent-%COMP%]:before, .fa-yc-square[_ngcontent-%COMP%]:before{content:""}.fa-tencent-weibo[_ngcontent-%COMP%]:before{content:""}.fa-qq[_ngcontent-%COMP%]:before{content:""}.fa-wechat[_ngcontent-%COMP%]:before, .fa-weixin[_ngcontent-%COMP%]:before{content:""}.fa-paper-plane[_ngcontent-%COMP%]:before, .fa-send[_ngcontent-%COMP%]:before{content:""}.fa-paper-plane-o[_ngcontent-%COMP%]:before, .fa-send-o[_ngcontent-%COMP%]:before{content:""}.fa-history[_ngcontent-%COMP%]:before{content:""}.fa-circle-thin[_ngcontent-%COMP%]:before{content:""}.fa-header[_ngcontent-%COMP%]:before, .fa-heading[_ngcontent-%COMP%]:before{content:""}.fa-paragraph[_ngcontent-%COMP%]:before{content:""}.fa-sliders[_ngcontent-%COMP%]:before{content:""}.fa-share-alt[_ngcontent-%COMP%]:before{content:""}.fa-share-alt-square[_ngcontent-%COMP%]:before{content:""}.fa-bomb[_ngcontent-%COMP%]:before{content:""}.fa-futbol-o[_ngcontent-%COMP%]:before, .fa-soccer-ball-o[_ngcontent-%COMP%]:before{content:""}.fa-tty[_ngcontent-%COMP%]:before{content:""}.fa-binoculars[_ngcontent-%COMP%]:before{content:""}.fa-plug[_ngcontent-%COMP%]:before{content:""}.fa-slideshare[_ngcontent-%COMP%]:before{content:""}.fa-twitch[_ngcontent-%COMP%]:before{content:""}.fa-yelp[_ngcontent-%COMP%]:before{content:""}.fa-newspaper-o[_ngcontent-%COMP%]:before{content:""}.fa-wifi[_ngcontent-%COMP%]:before{content:""}.fa-calculator[_ngcontent-%COMP%]:before{content:""}.fa-paypal[_ngcontent-%COMP%]:before{content:""}.fa-google-wallet[_ngcontent-%COMP%]:before{content:""}.fa-cc-visa[_ngcontent-%COMP%]:before{content:""}.fa-cc-mastercard[_ngcontent-%COMP%]:before{content:""}.fa-cc-discover[_ngcontent-%COMP%]:before{content:""}.fa-cc-amex[_ngcontent-%COMP%]:before{content:""}.fa-cc-paypal[_ngcontent-%COMP%]:before{content:""}.fa-cc-stripe[_ngcontent-%COMP%]:before{content:""}.fa-bell-slash[_ngcontent-%COMP%]:before{content:""}.fa-bell-slash-o[_ngcontent-%COMP%]:before{content:""}.fa-trash[_ngcontent-%COMP%]:before{content:""}.fa-copyright[_ngcontent-%COMP%]:before{content:""}.fa-at[_ngcontent-%COMP%]:before{content:""}.fa-eyedropper[_ngcontent-%COMP%]:before{content:""}.fa-paint-brush[_ngcontent-%COMP%]:before{content:""}.fa-birthday-cake[_ngcontent-%COMP%]:before{content:""}.fa-area-chart[_ngcontent-%COMP%]:before{content:""}.fa-pie-chart[_ngcontent-%COMP%]:before{content:""}.fa-line-chart[_ngcontent-%COMP%]:before{content:""}.fa-lastfm[_ngcontent-%COMP%]:before{content:""}.fa-lastfm-square[_ngcontent-%COMP%]:before{content:""}.fa-toggle-off[_ngcontent-%COMP%]:before{content:""}.fa-toggle-on[_ngcontent-%COMP%]:before{content:""}.fa-bicycle[_ngcontent-%COMP%]:before{content:""}.fa-bus[_ngcontent-%COMP%]:before{content:""}.fa-ioxhost[_ngcontent-%COMP%]:before{content:""}.fa-angellist[_ngcontent-%COMP%]:before{content:""}.fa-cc[_ngcontent-%COMP%]:before, .fa-closed-captioning[_ngcontent-%COMP%]:before{content:""}.fa-ils[_ngcontent-%COMP%]:before, .fa-shekel[_ngcontent-%COMP%]:before, .fa-sheqel[_ngcontent-%COMP%]:before{content:""}.fa-meanpath[_ngcontent-%COMP%]:before{content:""}.fa-buysellads[_ngcontent-%COMP%]:before{content:""}.fa-connectdevelop[_ngcontent-%COMP%]:before{content:""}.fa-dashcube[_ngcontent-%COMP%]:before{content:""}.fa-forumbee[_ngcontent-%COMP%]:before{content:""}.fa-leanpub[_ngcontent-%COMP%]:before{content:""}.fa-sellsy[_ngcontent-%COMP%]:before{content:""}.fa-shirtsinbulk[_ngcontent-%COMP%]:before{content:""}.fa-simplybuilt[_ngcontent-%COMP%]:before{content:""}.fa-skyatlas[_ngcontent-%COMP%]:before{content:""}.fa-cart-plus[_ngcontent-%COMP%]:before{content:""}.fa-cart-arrow-down[_ngcontent-%COMP%]:before{content:""}.fa-diamond[_ngcontent-%COMP%]:before, .fa-gem[_ngcontent-%COMP%]:before{content:""}.fa-ship[_ngcontent-%COMP%]:before{content:""}.fa-user-secret[_ngcontent-%COMP%]:before{content:""}.fa-motorcycle[_ngcontent-%COMP%]:before{content:""}.fa-street-view[_ngcontent-%COMP%]:before{content:""}.fa-heartbeat[_ngcontent-%COMP%]:before{content:""}.fa-venus[_ngcontent-%COMP%]:before{content:""}.fa-mars[_ngcontent-%COMP%]:before{content:""}.fa-mercury[_ngcontent-%COMP%]:before{content:""}.fa-intersex[_ngcontent-%COMP%]:before, .fa-transgender[_ngcontent-%COMP%]:before{content:""}.fa-transgender-alt[_ngcontent-%COMP%]:before{content:""}.fa-venus-double[_ngcontent-%COMP%]:before{content:""}.fa-mars-double[_ngcontent-%COMP%]:before{content:""}.fa-venus-mars[_ngcontent-%COMP%]:before{content:""}.fa-mars-stroke[_ngcontent-%COMP%]:before{content:""}.fa-mars-stroke-v[_ngcontent-%COMP%]:before{content:""}.fa-mars-stroke-h[_ngcontent-%COMP%]:before{content:""}.fa-neuter[_ngcontent-%COMP%]:before{content:""}.fa-genderless[_ngcontent-%COMP%]:before{content:""}.fa-facebook-official[_ngcontent-%COMP%]:before{content:""}.fa-pinterest-p[_ngcontent-%COMP%]:before{content:""}.fa-whatsapp[_ngcontent-%COMP%]:before{content:""}.fa-server[_ngcontent-%COMP%]:before{content:""}.fa-user-plus[_ngcontent-%COMP%]:before{content:""}.fa-user-times[_ngcontent-%COMP%]:before{content:""}.fa-bed[_ngcontent-%COMP%]:before, .fa-hotel[_ngcontent-%COMP%]:before{content:""}.fa-viacoin[_ngcontent-%COMP%]:before{content:""}.fa-train[_ngcontent-%COMP%]:before{content:""}.fa-subway[_ngcontent-%COMP%]:before{content:""}.fa-medium[_ngcontent-%COMP%]:before{content:""}.fa-medium-square[_ngcontent-%COMP%]:before{content:""}.fa-y-combinator[_ngcontent-%COMP%]:before, .fa-yc[_ngcontent-%COMP%]:before{content:""}.fa-optin-monster[_ngcontent-%COMP%]:before{content:""}.fa-opencart[_ngcontent-%COMP%]:before{content:""}.fa-expeditedssl[_ngcontent-%COMP%]:before{content:""}.fa-battery-4[_ngcontent-%COMP%]:before, .fa-battery-full[_ngcontent-%COMP%]:before, .fa-battery[_ngcontent-%COMP%]:before{content:""}.fa-battery-3[_ngcontent-%COMP%]:before, .fa-battery-three-quarters[_ngcontent-%COMP%]:before{content:""}.fa-battery-2[_ngcontent-%COMP%]:before, .fa-battery-half[_ngcontent-%COMP%]:before{content:""}.fa-battery-1[_ngcontent-%COMP%]:before, .fa-battery-quarter[_ngcontent-%COMP%]:before{content:""}.fa-battery-0[_ngcontent-%COMP%]:before, .fa-battery-empty[_ngcontent-%COMP%]:before{content:""}.fa-mouse-pointer[_ngcontent-%COMP%]:before{content:""}.fa-i-cursor[_ngcontent-%COMP%]:before{content:""}.fa-object-group[_ngcontent-%COMP%]:before{content:""}.fa-object-ungroup[_ngcontent-%COMP%]:before{content:""}.fa-sticky-note[_ngcontent-%COMP%]:before{content:""}.fa-sticky-note-o[_ngcontent-%COMP%]:before{content:""}.fa-cc-jcb[_ngcontent-%COMP%]:before{content:""}.fa-cc-diners-club[_ngcontent-%COMP%]:before{content:""}.fa-clone[_ngcontent-%COMP%]:before{content:""}.fa-balance-scale[_ngcontent-%COMP%]:before{content:""}.fa-hourglass-o[_ngcontent-%COMP%]:before{content:""}.fa-hourglass-1[_ngcontent-%COMP%]:before, .fa-hourglass-start[_ngcontent-%COMP%]:before{content:""}.fa-hourglass-2[_ngcontent-%COMP%]:before, .fa-hourglass-half[_ngcontent-%COMP%]:before{content:""}.fa-hourglass-3[_ngcontent-%COMP%]:before, .fa-hourglass-end[_ngcontent-%COMP%]:before{content:""}.fa-hourglass[_ngcontent-%COMP%]:before{content:""}.fa-hand-grab-o[_ngcontent-%COMP%]:before, .fa-hand-rock-o[_ngcontent-%COMP%]:before{content:""}.fa-hand-paper-o[_ngcontent-%COMP%]:before, .fa-hand-stop-o[_ngcontent-%COMP%]:before{content:""}.fa-hand-scissors-o[_ngcontent-%COMP%]:before{content:""}.fa-hand-lizard-o[_ngcontent-%COMP%]:before{content:""}.fa-hand-spock-o[_ngcontent-%COMP%]:before{content:""}.fa-hand-pointer-o[_ngcontent-%COMP%]:before{content:""}.fa-hand-peace-o[_ngcontent-%COMP%]:before{content:""}.fa-trademark[_ngcontent-%COMP%]:before{content:""}.fa-registered[_ngcontent-%COMP%]:before{content:""}.fa-creative-commons[_ngcontent-%COMP%]:before{content:""}.fa-gg[_ngcontent-%COMP%]:before{content:""}.fa-gg-circle[_ngcontent-%COMP%]:before{content:""}.fa-tripadvisor[_ngcontent-%COMP%]:before{content:""}.fa-odnoklassniki[_ngcontent-%COMP%]:before{content:""}.fa-odnoklassniki-square[_ngcontent-%COMP%]:before{content:""}.fa-get-pocket[_ngcontent-%COMP%]:before{content:""}.fa-wikipedia-w[_ngcontent-%COMP%]:before{content:""}.fa-safari[_ngcontent-%COMP%]:before{content:""}.fa-chrome[_ngcontent-%COMP%]:before{content:""}.fa-firefox[_ngcontent-%COMP%]:before{content:""}.fa-opera[_ngcontent-%COMP%]:before{content:""}.fa-internet-explorer[_ngcontent-%COMP%]:before{content:""}.fa-television[_ngcontent-%COMP%]:before, .fa-tv[_ngcontent-%COMP%]:before{content:""}.fa-contao[_ngcontent-%COMP%]:before{content:""}.fa-500px[_ngcontent-%COMP%]:before{content:""}.fa-amazon[_ngcontent-%COMP%]:before{content:""}.fa-calendar-plus-o[_ngcontent-%COMP%]:before{content:""}.fa-calendar-minus-o[_ngcontent-%COMP%]:before{content:""}.fa-calendar-times-o[_ngcontent-%COMP%]:before{content:""}.fa-calendar-check-o[_ngcontent-%COMP%]:before{content:""}.fa-industry[_ngcontent-%COMP%]:before{content:""}.fa-map-pin[_ngcontent-%COMP%]:before{content:""}.fa-map-signs[_ngcontent-%COMP%]:before{content:""}.fa-map-o[_ngcontent-%COMP%]:before{content:""}.fa-map[_ngcontent-%COMP%]:before{content:""}.fa-commenting[_ngcontent-%COMP%]:before{content:""}.fa-commenting-o[_ngcontent-%COMP%]:before{content:""}.fa-houzz[_ngcontent-%COMP%]:before{content:""}.fa-vimeo-v[_ngcontent-%COMP%]:before, .fa-vimeo[_ngcontent-%COMP%]:before{content:""}.fa-black-tie[_ngcontent-%COMP%]:before{content:""}.fa-fonticons[_ngcontent-%COMP%]:before{content:""}.fa-reddit-alien[_ngcontent-%COMP%]:before{content:""}.fa-edge[_ngcontent-%COMP%]:before{content:""}.fa-credit-card-alt[_ngcontent-%COMP%]:before{content:""}.fa-codiepie[_ngcontent-%COMP%]:before{content:""}.fa-modx[_ngcontent-%COMP%]:before{content:""}.fa-fort-awesome[_ngcontent-%COMP%]:before{content:""}.fa-usb[_ngcontent-%COMP%]:before{content:""}.fa-product-hunt[_ngcontent-%COMP%]:before{content:""}.fa-mixcloud[_ngcontent-%COMP%]:before{content:""}.fa-scribd[_ngcontent-%COMP%]:before{content:""}.fa-pause-circle[_ngcontent-%COMP%]:before{content:""}.fa-pause-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-stop-circle[_ngcontent-%COMP%]:before{content:""}.fa-stop-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-shopping-bag[_ngcontent-%COMP%]:before{content:""}.fa-shopping-basket[_ngcontent-%COMP%]:before{content:""}.fa-hashtag[_ngcontent-%COMP%]:before{content:""}.fa-bluetooth[_ngcontent-%COMP%]:before{content:""}.fa-bluetooth-b[_ngcontent-%COMP%]:before{content:""}.fa-percent[_ngcontent-%COMP%]:before{content:""}.fa-gitlab[_ngcontent-%COMP%]:before{content:""}.fa-wpbeginner[_ngcontent-%COMP%]:before{content:""}.fa-wpforms[_ngcontent-%COMP%]:before{content:""}.fa-envira[_ngcontent-%COMP%]:before{content:""}.fa-universal-access[_ngcontent-%COMP%]:before{content:""}.fa-wheelchair-alt[_ngcontent-%COMP%]:before{content:""}.fa-question-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-blind[_ngcontent-%COMP%]:before{content:""}.fa-audio-description[_ngcontent-%COMP%]:before{content:""}.fa-phone-volume[_ngcontent-%COMP%]:before, .fa-volume-control-phone[_ngcontent-%COMP%]:before{content:""}.fa-braille[_ngcontent-%COMP%]:before{content:""}.fa-assistive-listening-systems[_ngcontent-%COMP%]:before{content:""}.fa-american-sign-language-interpreting[_ngcontent-%COMP%]:before, .fa-asl-interpreting[_ngcontent-%COMP%]:before{content:""}.fa-deaf[_ngcontent-%COMP%]:before, .fa-deafness[_ngcontent-%COMP%]:before, .fa-hard-of-hearing[_ngcontent-%COMP%]:before{content:""}.fa-glide[_ngcontent-%COMP%]:before{content:""}.fa-glide-g[_ngcontent-%COMP%]:before{content:""}.fa-sign-language[_ngcontent-%COMP%]:before, .fa-signing[_ngcontent-%COMP%]:before{content:""}.fa-low-vision[_ngcontent-%COMP%]:before{content:""}.fa-viadeo[_ngcontent-%COMP%]:before{content:""}.fa-viadeo-square[_ngcontent-%COMP%]:before{content:""}.fa-snapchat[_ngcontent-%COMP%]:before{content:""}.fa-snapchat-ghost[_ngcontent-%COMP%]:before{content:""}.fa-snapchat-square[_ngcontent-%COMP%]:before{content:""}.fa-first-order[_ngcontent-%COMP%]:before{content:""}.fa-yoast[_ngcontent-%COMP%]:before{content:""}.fa-themeisle[_ngcontent-%COMP%]:before{content:""}.fa-google-plus-circle[_ngcontent-%COMP%]:before, .fa-google-plus-official[_ngcontent-%COMP%]:before{content:""}.fa-fa[_ngcontent-%COMP%]:before, .fa-font-awesome[_ngcontent-%COMP%]:before{content:""}.fa-handshake-o[_ngcontent-%COMP%]:before{content:""}.fa-envelope-open[_ngcontent-%COMP%]:before{content:""}.fa-envelope-open-o[_ngcontent-%COMP%]:before{content:""}.fa-linode[_ngcontent-%COMP%]:before{content:""}.fa-address-book[_ngcontent-%COMP%]:before{content:""}.fa-address-book-o[_ngcontent-%COMP%]:before{content:""}.fa-address-card[_ngcontent-%COMP%]:before, .fa-vcard[_ngcontent-%COMP%]:before{content:""}.fa-address-card-o[_ngcontent-%COMP%]:before, .fa-vcard-o[_ngcontent-%COMP%]:before{content:""}.fa-user-circle[_ngcontent-%COMP%]:before{content:""}.fa-user-circle-o[_ngcontent-%COMP%]:before{content:""}.fa-user-o[_ngcontent-%COMP%]:before{content:""}.fa-id-badge[_ngcontent-%COMP%]:before{content:""}.fa-drivers-license[_ngcontent-%COMP%]:before, .fa-id-card[_ngcontent-%COMP%]:before{content:""}.fa-drivers-license-o[_ngcontent-%COMP%]:before, .fa-id-card-o[_ngcontent-%COMP%]:before{content:""}.fa-quora[_ngcontent-%COMP%]:before{content:""}.fa-free-code-camp[_ngcontent-%COMP%]:before{content:""}.fa-telegram[_ngcontent-%COMP%]:before{content:""}.fa-thermometer-4[_ngcontent-%COMP%]:before, .fa-thermometer-full[_ngcontent-%COMP%]:before, .fa-thermometer[_ngcontent-%COMP%]:before{content:""}.fa-thermometer-3[_ngcontent-%COMP%]:before, .fa-thermometer-three-quarters[_ngcontent-%COMP%]:before{content:""}.fa-thermometer-2[_ngcontent-%COMP%]:before, .fa-thermometer-half[_ngcontent-%COMP%]:before{content:""}.fa-thermometer-1[_ngcontent-%COMP%]:before, .fa-thermometer-quarter[_ngcontent-%COMP%]:before{content:""}.fa-thermometer-0[_ngcontent-%COMP%]:before, .fa-thermometer-empty[_ngcontent-%COMP%]:before{content:""}.fa-shower[_ngcontent-%COMP%]:before{content:""}.fa-bath[_ngcontent-%COMP%]:before, .fa-bathtub[_ngcontent-%COMP%]:before, .fa-s15[_ngcontent-%COMP%]:before{content:""}.fa-podcast[_ngcontent-%COMP%]:before{content:""}.fa-window-maximize[_ngcontent-%COMP%]:before{content:""}.fa-window-minimize[_ngcontent-%COMP%]:before{content:""}.fa-window-restore[_ngcontent-%COMP%]:before{content:""}.fa-times-rectangle[_ngcontent-%COMP%]:before, .fa-window-close[_ngcontent-%COMP%]:before{content:""}.fa-times-rectangle-o[_ngcontent-%COMP%]:before, .fa-window-close-o[_ngcontent-%COMP%]:before{content:""}.fa-bandcamp[_ngcontent-%COMP%]:before{content:""}.fa-grav[_ngcontent-%COMP%]:before{content:""}.fa-etsy[_ngcontent-%COMP%]:before{content:""}.fa-imdb[_ngcontent-%COMP%]:before{content:""}.fa-ravelry[_ngcontent-%COMP%]:before{content:""}.fa-eercast[_ngcontent-%COMP%]:before{content:""}.fa-microchip[_ngcontent-%COMP%]:before{content:""}.fa-snowflake-o[_ngcontent-%COMP%]:before{content:""}.fa-superpowers[_ngcontent-%COMP%]:before{content:""}.fa-wpexplorer[_ngcontent-%COMP%]:before{content:""}.fa-meetup[_ngcontent-%COMP%]:before{content:""}.fa-mastodon[_ngcontent-%COMP%]:before{content:""}.fa-mastodon-alt[_ngcontent-%COMP%]:before{content:""}.fa-fork-awesome[_ngcontent-%COMP%]:before, .fa-fork-circle[_ngcontent-%COMP%]:before{content:""}.fa-peertube[_ngcontent-%COMP%]:before{content:""}.fa-diaspora[_ngcontent-%COMP%]:before{content:""}.fa-friendica[_ngcontent-%COMP%]:before{content:""}.fa-gnu-social[_ngcontent-%COMP%]:before{content:""}.fa-liberapay-square[_ngcontent-%COMP%]:before{content:""}.fa-liberapay[_ngcontent-%COMP%]:before{content:""}.fa-scuttlebutt[_ngcontent-%COMP%]:before, .fa-ssb[_ngcontent-%COMP%]:before{content:""}.fa-hubzilla[_ngcontent-%COMP%]:before{content:""}.fa-social-home[_ngcontent-%COMP%]:before{content:""}.fa-artstation[_ngcontent-%COMP%]:before{content:""}.fa-discord[_ngcontent-%COMP%]:before{content:""}.fa-discord-alt[_ngcontent-%COMP%]:before{content:""}.fa-patreon[_ngcontent-%COMP%]:before{content:""}.fa-snowdrift[_ngcontent-%COMP%]:before{content:""}.fa-activitypub[_ngcontent-%COMP%]:before{content:""}.fa-ethereum[_ngcontent-%COMP%]:before{content:""}.fa-keybase[_ngcontent-%COMP%]:before{content:""}.fa-shaarli[_ngcontent-%COMP%]:before{content:""}.fa-shaarli-o[_ngcontent-%COMP%]:before{content:""}.fa-cut-key[_ngcontent-%COMP%]:before, .fa-key-modern[_ngcontent-%COMP%]:before{content:""}.fa-xmpp[_ngcontent-%COMP%]:before{content:""}.fa-archive-org[_ngcontent-%COMP%]:before{content:""}.fa-freedombox[_ngcontent-%COMP%]:before{content:""}.fa-facebook-messenger[_ngcontent-%COMP%]:before{content:""}.fa-debian[_ngcontent-%COMP%]:before{content:""}.fa-mastodon-square[_ngcontent-%COMP%]:before{content:""}.fa-tipeee[_ngcontent-%COMP%]:before{content:""}.fa-react[_ngcontent-%COMP%]:before{content:""}.fa-dogmazic[_ngcontent-%COMP%]:before{content:""}.fa-zotero[_ngcontent-%COMP%]:before{content:""}.fa-nodejs[_ngcontent-%COMP%]:before{content:""}.fa-nextcloud[_ngcontent-%COMP%]:before{content:""}.fa-nextcloud-square[_ngcontent-%COMP%]:before{content:""}.fa-hackaday[_ngcontent-%COMP%]:before{content:""}.fa-laravel[_ngcontent-%COMP%]:before{content:""}.fa-signalapp[_ngcontent-%COMP%]:before{content:""}.fa-gnupg[_ngcontent-%COMP%]:before{content:""}.fa-php[_ngcontent-%COMP%]:before{content:""}.fa-ffmpeg[_ngcontent-%COMP%]:before{content:""}.fa-joplin[_ngcontent-%COMP%]:before{content:""}.fa-syncthing[_ngcontent-%COMP%]:before{content:""}.fa-inkscape[_ngcontent-%COMP%]:before{content:""}.fa-matrix-org[_ngcontent-%COMP%]:before{content:""}.fa-pixelfed[_ngcontent-%COMP%]:before{content:""}.fa-bootstrap[_ngcontent-%COMP%]:before{content:""}.fa-dev-to[_ngcontent-%COMP%]:before{content:""}.fa-hashnode[_ngcontent-%COMP%]:before{content:""}.fa-jirafeau[_ngcontent-%COMP%]:before{content:""}.fa-emby[_ngcontent-%COMP%]:before{content:""}.fa-wikidata[_ngcontent-%COMP%]:before{content:""}.fa-gimp[_ngcontent-%COMP%]:before{content:""}.fa-c[_ngcontent-%COMP%]:before{content:""}.fa-digitalocean[_ngcontent-%COMP%]:before{content:""}.fa-att[_ngcontent-%COMP%]:before{content:""}.fa-gitea[_ngcontent-%COMP%]:before{content:""}.fa-file-epub[_ngcontent-%COMP%]:before{content:""}.fa-python[_ngcontent-%COMP%]:before{content:""}.fa-archlinux[_ngcontent-%COMP%]:before{content:""}.fa-pleroma[_ngcontent-%COMP%]:before{content:""}.fa-unsplash[_ngcontent-%COMP%]:before{content:""}.fa-hackster[_ngcontent-%COMP%]:before{content:""}.fa-spell-check[_ngcontent-%COMP%]:before{content:""}.fa-moon[_ngcontent-%COMP%]:before{content:""}.fa-sun[_ngcontent-%COMP%]:before{content:""}.fa-f-droid[_ngcontent-%COMP%]:before{content:""}.fa-biometric[_ngcontent-%COMP%]:before{content:""}.sr-only[_ngcontent-%COMP%]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable[_ngcontent-%COMP%]:active, .sr-only-focusable[_ngcontent-%COMP%]:focus{clip:auto;white-space:normal;position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.info-card-popover-cluster-status[_ngcontent-%COMP%]{max-width:23vw;max-height:20vh}.info-card-popover-cluster-status[_ngcontent-%COMP%]   .popover-body[_ngcontent-%COMP%]{max-width:100%;max-height:19vh;font-size:12px}@media (max-width:calc(1200px - 1px)){.info-card-popover-cluster-status[_ngcontent-%COMP%]{max-width:31vw}}@media (max-width:calc(992px - 1px)){.info-card-popover-cluster-status[_ngcontent-%COMP%]{max-width:46vw}}@media (max-width:calc(768px - 1px)){.info-card-popover-cluster-status[_ngcontent-%COMP%]{max-width:83vw}}.info-card-content-clickable[_ngcontent-%COMP%]{cursor:pointer;padding:7px;border:1px solid #efefef;border-radius:3px}.info-card-content-clickable[_ngcontent-%COMP%]:hover{border-color:#d1d1d1;background-color:#f3f3f3}.custom-control-input.is-valid[_ngcontent-%COMP%] ~ .custom-control-label[_ngcontent-%COMP%], .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid ~ .custom-control-label[_ngcontent-%COMP%]{color:initial}.custom-control-input.is-valid[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid:checked ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#2b99a8;background-color:#2b99a8}.custom-control-input.is-valid[_ngcontent-%COMP%] ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#adb5bd}.custom-control-input.is-valid[_ngcontent-%COMP%]:focus ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid:focus ~ .custom-control-label[_ngcontent-%COMP%]::before{box-shadow:0 0 0 .2rem rgba(43,153,168,.25)}.custom-control-input.is-valid[_ngcontent-%COMP%]:focus:not(:checked) ~ .custom-control-label[_ngcontent-%COMP%]::before, .was-validated[_ngcontent-%COMP%]   .custom-control-input[_ngcontent-%COMP%]:valid:focus:not(:checked) ~ .custom-control-label[_ngcontent-%COMP%]::before{border-color:#76d0dc}html[_ngcontent-%COMP%]{background-color:#fff}body[_ngcontent-%COMP%], html[_ngcontent-%COMP%]{width:100%;height:100%;font-size:12px}h1[_ngcontent-%COMP%]{letter-spacing:-1px;font-size:2em}h2[_ngcontent-%COMP%]{letter-spacing:-1px;font-size:1.833em}h3[_ngcontent-%COMP%]{display:block;font-size:1.583em;font-weight:400}h4[_ngcontent-%COMP%]{font-size:1.5em;line-height:normal}option[_ngcontent-%COMP%]{font-weight:400;font-style:normal}.full-height[_ngcontent-%COMP%]{height:100vh}.full-width[_ngcontent-%COMP%]{width:100vw}.vertical-align[_ngcontent-%COMP%]{display:flex;align-items:center}.horizontal-align[_ngcontent-%COMP%]{display:flex;justify-content:center}.loading[_ngcontent-%COMP%]{position:absolute;top:50%;left:50%}.margin-right-md[_ngcontent-%COMP%]{margin-right:15px}.no-border[_ngcontent-%COMP%]{border:0;box-shadow:0 0 0!important}.italic[_ngcontent-%COMP%]{font-style:italic}.bold[_ngcontent-%COMP%]{font-weight:700}.text-pre[_ngcontent-%COMP%]{white-space:pre-wrap}.btn-light[_ngcontent-%COMP%]{background-color:#fff!important;border-color:#ced4da!important}.btn-light[_ngcontent-%COMP%]:hover{background-color:#ddd!important;border-color:#adadad!important}.btn.active.focus[_ngcontent-%COMP%], .btn.active[_ngcontent-%COMP%]:focus, .btn.focus[_ngcontent-%COMP%], .btn[_ngcontent-%COMP%]:active.focus, .btn[_ngcontent-%COMP%]:active:focus, .btn[_ngcontent-%COMP%]:focus{outline:0}.btn-primary[_ngcontent-%COMP%]   .badge[_ngcontent-%COMP%]{color:#2b99a8;background-color:#eee}.btn-group[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%] > i.fa[_ngcontent-%COMP%], .cd-datatable-actions[_ngcontent-%COMP%]   button.btn[_ngcontent-%COMP%]   i.fa[_ngcontent-%COMP%]{margin-right:5px}.dropdown-menu[_ngcontent-%COMP%]{min-width:50px;z-index:999999}.dropdown-menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{color:#474544;cursor:pointer}.dropdown-menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] > i.fa[_ngcontent-%COMP%]{margin-right:5px}.dropdown-menu[_ngcontent-%COMP%] > .active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{color:#eee}.dropdown-menu[_ngcontent-%COMP%] > .active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%], .dropdown-menu[_ngcontent-%COMP%] > .active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:focus, .dropdown-menu[_ngcontent-%COMP%] > .active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{background-color:#21747f}.dataTables_wrapper[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%] > li.dropdown-divider[_ngcontent-%COMP%]{cursor:auto}.container[_ngcontent-%COMP%], .container-fluid[_ngcontent-%COMP%]{padding-left:30px!important;padding-right:30px!important}.row[_ngcontent-%COMP%]{margin-left:-30px;margin-right:-30px}.cd-col-form[_ngcontent-%COMP%], .cd-col-form-input[_ngcontent-%COMP%], .cd-col-form-label[_ngcontent-%COMP%], .cd-col-form-offset[_ngcontent-%COMP%], .col-1[_ngcontent-%COMP%], .col-10[_ngcontent-%COMP%], .col-11[_ngcontent-%COMP%], .col-12[_ngcontent-%COMP%], .col-2[_ngcontent-%COMP%], .col-3[_ngcontent-%COMP%], .col-4[_ngcontent-%COMP%], .col-5[_ngcontent-%COMP%], .col-6[_ngcontent-%COMP%], .col-7[_ngcontent-%COMP%], .col-8[_ngcontent-%COMP%], .col-9[_ngcontent-%COMP%], .col-lg-1[_ngcontent-%COMP%], .col-lg-10[_ngcontent-%COMP%], .col-lg-11[_ngcontent-%COMP%], .col-lg-12[_ngcontent-%COMP%], .col-lg-2[_ngcontent-%COMP%], .col-lg-3[_ngcontent-%COMP%], .col-lg-4[_ngcontent-%COMP%], .col-lg-5[_ngcontent-%COMP%], .col-lg-6[_ngcontent-%COMP%], .col-lg-7[_ngcontent-%COMP%], .col-lg-8[_ngcontent-%COMP%], .col-lg-9[_ngcontent-%COMP%], .col-md-1[_ngcontent-%COMP%], .col-md-10[_ngcontent-%COMP%], .col-md-11[_ngcontent-%COMP%], .col-md-12[_ngcontent-%COMP%], .col-md-2[_ngcontent-%COMP%], .col-md-3[_ngcontent-%COMP%], .col-md-4[_ngcontent-%COMP%], .col-md-5[_ngcontent-%COMP%], .col-md-6[_ngcontent-%COMP%], .col-md-7[_ngcontent-%COMP%], .col-md-8[_ngcontent-%COMP%], .col-md-9[_ngcontent-%COMP%], .col-sm-1[_ngcontent-%COMP%], .col-sm-10[_ngcontent-%COMP%], .col-sm-11[_ngcontent-%COMP%], .col-sm-12[_ngcontent-%COMP%], .col-sm-2[_ngcontent-%COMP%], .col-sm-3[_ngcontent-%COMP%], .col-sm-4[_ngcontent-%COMP%], .col-sm-5[_ngcontent-%COMP%], .col-sm-6[_ngcontent-%COMP%], .col-sm-7[_ngcontent-%COMP%], .col-sm-8[_ngcontent-%COMP%], .col-sm-9[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-input[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-label[_ngcontent-%COMP%], cd-modal[_ngcontent-%COMP%]   .cd-col-form-offset[_ngcontent-%COMP%]{padding-left:30px;padding-right:30px}tags-input[_ngcontent-%COMP%]   .tags[_ngcontent-%COMP%]{border-radius:4px;border:1px solid #d1d1d1;box-shadow:inset 0 1px 1px rgba(0,0,0,.09)}.card[_ngcontent-%COMP%]   .accordion-title[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]   .accordion-title[_ngcontent-%COMP%], uib-accordion[_ngcontent-%COMP%]   .card-title[_ngcontent-%COMP%]{font-size:14px!important}.card-header[_ngcontent-%COMP%]{font-size:1.3em}.card-body[_ngcontent-%COMP%]   h2[_ngcontent-%COMP%]:first-child{margin-top:0}.disabled[_ngcontent-%COMP%]{pointer-events:none}.clickable[_ngcontent-%COMP%], a[_ngcontent-%COMP%]{cursor:pointer}[_ngcontent-%COMP%]:invalid   .has-error-btn[_ngcontent-%COMP%], [_ngcontent-%COMP%]:invalid   .has-error-btn[_ngcontent-%COMP%]:disabled:hover{background-color:#f2dede;border-color:#a94442}.noscript[_ngcontent-%COMP%]{padding-top:5em}.noscript[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]{color:#777}.required[_ngcontent-%COMP%]::after{color:#a94442;content:"*";font-size:14px;padding-left:4px}.form-footer[_ngcontent-%COMP%]{width:100%;display:flex}.cd-form-control[_ngcontent-%COMP%], .form-control[_ngcontent-%COMP%]{display:table-cell}.cd-form-control[_ngcontent-%COMP%]:focus, .form-control[_ngcontent-%COMP%]:focus{border-color:rgba(43,153,168,.8);outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px 2px rgba(43,153,168,.5)}.custom-checkbox[_ngcontent-%COMP%]{padding-top:7px}.card-footer[_ngcontent-%COMP%]   button.btn[_ngcontent-%COMP%]:not(:first-child), .modal-footer[_ngcontent-%COMP%]   button.btn[_ngcontent-%COMP%]:not(:first-child){margin-left:5px}.nav-tabs[_ngcontent-%COMP%]{margin-bottom:15px}.ceph-icon[_ngcontent-%COMP%]{background:url(Ceph_Logo_Stacked_RGB_120411_fa_228x228.1ed169ccc35367a2dab2.png)}.prometheus-icon[_ngcontent-%COMP%]{background:url(prometheus_logo.074db273ef932a67d91b.svg)}.custom-icon[_ngcontent-%COMP%]{padding:10px;margin-right:8px;background-clip:padding-box;background-size:contain;background-repeat:no-repeat}.toast-message[_ngcontent-%COMP%]   .custom-icon[_ngcontent-%COMP%]{filter:brightness(0) invert(1);-webkit-filter:brightness(0) invert(1);-moz-filter:brightness(0) invert(1);-o-filter:brightness(0) invert(1);-ms-filter:brightness(0) invert(1)}.block-ui-wrapper[_ngcontent-%COMP%]{background:rgba(0,0,0,.7)!important}.tooltip-wide[_ngcontent-%COMP%]   .tooltip-inner[_ngcontent-%COMP%]{width:400px}.tooltip-inner[_ngcontent-%COMP%]{background-color:#fff;border:1px solid grey;color:#333;font-size:1.1em}.toast-message[_ngcontent-%COMP%] > ul[_ngcontent-%COMP%]{padding-left:1em;margin:0}@media (min-width:576px){.cd-col-form-label[_ngcontent-%COMP%], .col-form-label[_ngcontent-%COMP%]{text-align:right}}.cd-col-form-label[_ngcontent-%COMP%], .col-form-label[_ngcontent-%COMP%]{font-weight:700}cd-submit-button[_ngcontent-%COMP%]{background-color:transparent!important}bfv-messages[_ngcontent-%COMP%]{display:none}.form-group.has-error[_ngcontent-%COMP%]   .invalid-feedback[_ngcontent-%COMP%]{display:block}.password-strength-level[_ngcontent-%COMP%]{flex:100%;margin-top:2px}.password-strength-level[_ngcontent-%COMP%]   .ok[_ngcontent-%COMP%], .password-strength-level[_ngcontent-%COMP%]   .strong[_ngcontent-%COMP%], .password-strength-level[_ngcontent-%COMP%]   .very-strong[_ngcontent-%COMP%], .password-strength-level[_ngcontent-%COMP%]   .weak[_ngcontent-%COMP%]{border-radius:.25rem;height:13px}.password-strength-level[_ngcontent-%COMP%]   .weak[_ngcontent-%COMP%]{width:25%;background:red}.password-strength-level[_ngcontent-%COMP%]   .ok[_ngcontent-%COMP%]{width:50%;background:#ffc200}.password-strength-level[_ngcontent-%COMP%]   .strong[_ngcontent-%COMP%]{width:75%;background:#0b0}.password-strength-level[_ngcontent-%COMP%]   .very-strong[_ngcontent-%COMP%]{width:100%;background:#245e03}.badge-hdd[_ngcontent-%COMP%]{color:#fff;background-color:#90949c}.badge-ssd[_ngcontent-%COMP%]{color:#fff;background-color:#288cea}.badge-tab[_ngcontent-%COMP%]{color:#555;background-color:#f3f3f3}tree-root[_ngcontent-%COMP%]   tree-viewport[_ngcontent-%COMP%]{min-height:1em}p[_ngcontent-%COMP%]{font-family:monospace}.card[_ngcontent-%COMP%]   div[_ngcontent-%COMP%]   p[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]   div[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]{display:flex}.card[_ngcontent-%COMP%]   div[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]:last-child, pre[_ngcontent-%COMP%]   div[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]:last-child{margin-bottom:0}.card[_ngcontent-%COMP%]   .timestamp[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]   .timestamp[_ngcontent-%COMP%]{font-weight:700;flex-shrink:0}.card[_ngcontent-%COMP%]   .priority[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]   .priority[_ngcontent-%COMP%]{margin-left:.5rem}.card[_ngcontent-%COMP%]   .message[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]   .message[_ngcontent-%COMP%]{margin-left:1rem}.card[_ngcontent-%COMP%]   .err[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]   .err[_ngcontent-%COMP%]{color:#a94442}.card[_ngcontent-%COMP%]   .warn[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]   .warn[_ngcontent-%COMP%]{color:#ffc200}.card[_ngcontent-%COMP%]   .info[_ngcontent-%COMP%], pre[_ngcontent-%COMP%]   .info[_ngcontent-%COMP%]{color:#2b99a8}  timepicker table tbody tr td input.bs-timepicker-field{width:3.5rem!important;font-size:1rem;padding:4px 6px}.middle[_ngcontent-%COMP%]{padding-top:7px}']],data:{}});function Xl(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,0,null,null,null,null,null,null,null))],null,null)}function Ql(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,8,"p",[],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,2,"span",[["class","timestamp"]],null,null,null,null,null)),(t()(),i["ɵted"](2,null,["",""])),i["ɵppd"](3,1),(t()(),i["ɵeld"](4,0,null,null,2,"span",[],[[8,"className",0]],null,null,null,null)),i["ɵppd"](5,1),(t()(),i["ɵted"](6,null,["",""])),(t()(),i["ɵeld"](7,0,null,null,1,"span",[["class","message"]],null,null,null,null,null)),(t()(),i["ɵted"](8,null,["",""]))],null,(function(t,e){var n=i["ɵunv"](e,2,0,t(e,3,0,i["ɵnov"](e.parent.parent.parent,0),e.context.$implicit.stamp));t(e,2,0,n);var a=i["ɵinlineInterpolate"](1,"priority ",i["ɵunv"](e,4,0,t(e,5,0,i["ɵnov"](e.parent.parent.parent,1),e.context.$implicit.priority)),"");t(e,4,0,a),t(e,6,0,e.context.$implicit.priority),t(e,8,0,e.context.$implicit.message)}))}function td(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["No entries found"]))],null,null)}function ed(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,5,"div",[["class","card bg-light mb-3"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,4,"div",[["class","card-body"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Ql)),i["ɵdid"](3,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,td)),i["ɵdid"](5,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,3,0,n.clog),t(e,5,0,0===n.contentData.clog.length)}),null)}function nd(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,8,"p",[],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,2,"span",[["class","timestamp"]],null,null,null,null,null)),(t()(),i["ɵted"](2,null,["",""])),i["ɵppd"](3,1),(t()(),i["ɵeld"](4,0,null,null,2,"span",[],[[8,"className",0]],null,null,null,null)),i["ɵppd"](5,1),(t()(),i["ɵted"](6,null,["",""])),(t()(),i["ɵeld"](7,0,null,null,1,"span",[["class","message"]],null,null,null,null,null)),(t()(),i["ɵted"](8,null,["",""]))],null,(function(t,e){var n=i["ɵunv"](e,2,0,t(e,3,0,i["ɵnov"](e.parent.parent.parent,0),e.context.$implicit.stamp));t(e,2,0,n);var a=i["ɵinlineInterpolate"](1,"priority ",i["ɵunv"](e,4,0,t(e,5,0,i["ɵnov"](e.parent.parent.parent,1),e.context.$implicit.priority)),"");t(e,4,0,a),t(e,6,0,e.context.$implicit.priority),t(e,8,0,e.context.$implicit.message)}))}function ad(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["No entries found"]))],null,null)}function rd(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,5,"div",[["class","card bg-light mb-3"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,4,"div",[["class","card-body"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,nd)),i["ɵdid"](3,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,ad)),i["ɵdid"](5,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,3,0,n.audit_log),t(e,5,0,0===n.contentData.audit_log.length)}),null)}function od(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,12,"div",[],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Xl)),i["ɵdid"](2,540672,null,0,o.NgTemplateOutlet,[i.ViewContainerRef],{ngTemplateOutlet:[0,"ngTemplateOutlet"]},null),(t()(),i["ɵeld"](3,0,null,null,9,"tabset",[],[[2,"tab-container",null]],null,null,jn.b,jn.a)),i["ɵdid"](4,180224,null,0,Fn.e,[Fn.f,i.Renderer2,i.ElementRef],null,null),(t()(),i["ɵeld"](5,0,null,0,3,"tab",[["heading","Cluster Logs"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](6,212992,null,0,Fn.b,[Fn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,ed)),i["ɵdid"](8,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](9,0,null,0,3,"tab",[["heading","Audit Logs"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](10,212992,null,0,Fn.b,[Fn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,rd)),i["ɵdid"](12,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,2,0,i["ɵnov"](e.parent,4)),t(e,6,0,"Cluster Logs"),t(e,8,0,n.clog),t(e,10,0,"Audit Logs"),t(e,12,0,n.audit_log)}),(function(t,e){t(e,3,0,i["ɵnov"](e,4).clazz),t(e,5,0,i["ɵnov"](e,6).id,i["ɵnov"](e,6).active,i["ɵnov"](e,6).addClass),t(e,9,0,i["ɵnov"](e,10).id,i["ɵnov"](e,10).active,i["ɵnov"](e,10).addClass)}))}function id(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](3,null,["",""]))],(function(t,e){t(e,1,0,e.context.$implicit.value),t(e,2,0,e.context.$implicit.value)}),(function(t,e){t(e,3,0,e.context.$implicit.name)}))}function sd(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,81,"div",[["class","form-inline"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,14,"div",[["class","form-group"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](2,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,1,{FormControlNames:1}),i["ɵqud"](603979776,2,{messagesBlock:0}),(t()(),i["ɵeld"](5,0,null,0,1,"label",[["class","col-form-label"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Priority:"])),(t()(),i["ɵeld"](7,0,null,0,8,"select",[["class","form-control custom-select"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],(function(t,e,n){var a=!0,r=t.component;return"change"===e&&(a=!1!==i["ɵnov"](t,8).onChange(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,8).onTouched()&&a),"ngModelChange"===e&&(a=!1!==(r.priority=n)&&a),"ngModelChange"===e&&(a=!1!==r.filterLogs()&&a),a}),null,null)),i["ɵdid"](8,16384,null,0,W.A,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.A]),i["ɵdid"](10,671744,null,0,W.u,[[8,null],[8,null],[8,null],[6,W.p]],{model:[0,"model"]},{update:"ngModelChange"}),i["ɵprd"](2048,null,W.q,null,[W.u]),i["ɵdid"](12,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](13,16384,null,0,K.h,[[8,null],K.a],null,null),(t()(),i["ɵand"](16777216,null,null,1,null,id)),i["ɵdid"](15,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵeld"](16,0,null,null,22,"div",[["class","form-group"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](17,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,3,{FormControlNames:1}),i["ɵqud"](603979776,4,{messagesBlock:0}),(t()(),i["ɵeld"](20,0,null,0,1,"label",[["class","col-form-label"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Keyword:"])),(t()(),i["ɵeld"](22,0,null,0,16,"div",[["class","input-group"]],null,null,null,null,null)),(t()(),i["ɵeld"](23,0,null,null,5,"div",[["class","input-group-prepend"]],null,null,null,null,null)),(t()(),i["ɵeld"](24,0,null,null,4,"span",[["class","input-group-text"]],null,null,null,null,null)),(t()(),i["ɵeld"](25,0,null,null,3,"i",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](27,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](28,1),(t()(),i["ɵeld"](29,0,null,null,6,"input",[["class","form-control"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"ngModelChange"],[null,"keyup"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var a=!0,r=t.component;return"input"===e&&(a=!1!==i["ɵnov"](t,30)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,30).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,30)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,30)._compositionEnd(n.target.value)&&a),"ngModelChange"===e&&(a=!1!==(r.search=n)&&a),"keyup"===e&&(a=!1!==r.filterLogs()&&a),a}),null,null)),i["ɵdid"](30,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](32,671744,null,0,W.u,[[8,null],[8,null],[8,null],[6,W.p]],{model:[0,"model"]},{update:"ngModelChange"}),i["ɵprd"](2048,null,W.q,null,[W.u]),i["ɵdid"](34,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](35,16384,null,0,K.h,[[8,null],K.a],null,null),(t()(),i["ɵeld"](36,0,null,null,2,"div",[["class","input-group-append"]],null,null,null,null,null)),(t()(),i["ɵeld"](37,0,null,null,1,"button",[["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.clearSearchKey()&&a),a}),null,null)),(t()(),i["ɵeld"](38,0,null,null,0,"i",[],[[8,"className",0]],null,null,null,null)),(t()(),i["ɵeld"](39,0,null,null,19,"div",[["class","form-group"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](40,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,5,{FormControlNames:1}),i["ɵqud"](603979776,6,{messagesBlock:0}),(t()(),i["ɵeld"](43,0,null,0,1,"label",[["class","col-form-label"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Date:"])),(t()(),i["ɵeld"](45,0,null,0,13,"div",[["class","input-group"]],null,null,null,null,null)),(t()(),i["ɵeld"](46,16777216,null,null,9,"input",[["bsDatepicker",""],["class","form-control"],["placeholder","Datepicker"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"],[null,"keyup.esc"]],(function(t,e,n){var a=!0,r=t.component;return"input"===e&&(a=!1!==i["ɵnov"](t,47)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,47).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,47)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,47)._compositionEnd(n.target.value)&&a),"change"===e&&(a=!1!==i["ɵnov"](t,49).onChange(n)&&a),"keyup.esc"===e&&(a=!1!==i["ɵnov"](t,49).hide()&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,49).onBlur()&&a),"ngModelChange"===e&&(a=!1!==(r.selectedDate=n)&&a),"ngModelChange"===e&&(a=!1!==r.filterLogs()&&a),a}),null,null)),i["ɵdid"](47,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵdid"](48,737280,null,0,nt.c,[nt.a,i.ElementRef,i.Renderer2,i.ViewContainerRef,U.a],{bsConfig:[0,"bsConfig"]},null),i["ɵdid"](49,16384,null,0,nt.f,[nt.c,nt.j,i.Renderer2,i.ElementRef,i.ChangeDetectorRef],null,null),i["ɵprd"](1024,null,W.o,(function(t){return[t]}),[nt.f]),i["ɵprd"](1024,null,W.p,(function(t,e){return[t,e]}),[W.e,nt.f]),i["ɵdid"](52,671744,null,0,W.u,[[8,null],[6,W.o],[8,null],[6,W.p]],{model:[0,"model"]},{update:"ngModelChange"}),i["ɵprd"](2048,null,W.q,null,[W.u]),i["ɵdid"](54,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](55,16384,null,0,K.h,[[8,null],K.a],null,null),(t()(),i["ɵeld"](56,0,null,null,2,"span",[["class","input-group-append"]],null,null,null,null,null)),(t()(),i["ɵeld"](57,0,null,null,1,"button",[["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.clearDate()&&a),a}),null,null)),(t()(),i["ɵeld"](58,0,null,null,0,"i",[],[[8,"className",0]],null,null,null,null)),(t()(),i["ɵeld"](59,0,null,null,22,"div",[["class","form-group"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](60,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,7,{FormControlNames:1}),i["ɵqud"](603979776,8,{messagesBlock:0}),(t()(),i["ɵeld"](63,0,null,0,1,"label",[["class","col-form-label"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Time range:"])),(t()(),i["ɵeld"](65,0,null,0,16,"div",[["class","d-inline-flex"]],null,null,null,null,null)),(t()(),i["ɵeld"](66,0,null,null,6,"timepicker",[],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"]],(function(t,e,n){var a=!0,r=t.component;return"ngModelChange"===e&&(a=!1!==(r.startTime=n)&&a),"ngModelChange"===e&&(a=!1!==r.filterLogs()&&a),a}),Wl,Sl)),i["ɵprd"](512,null,xl,xl,[]),i["ɵdid"](68,704512,null,0,wl,[Cl,i.ChangeDetectorRef,xl,rl],{minuteStep:[0,"minuteStep"],showSpinners:[1,"showSpinners"],showMeridian:[2,"showMeridian"]},null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[wl]),i["ɵdid"](70,671744,null,0,W.u,[[8,null],[8,null],[8,null],[6,W.p]],{model:[0,"model"]},{update:"ngModelChange"}),i["ɵprd"](2048,null,W.q,null,[W.u]),i["ɵdid"](72,16384,null,0,W.r,[[4,W.q]],null,null),(t()(),i["ɵeld"](73,0,null,null,1,"span",[["class","middle"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,[" — "])),(t()(),i["ɵeld"](75,0,null,null,6,"timepicker",[],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"]],(function(t,e,n){var a=!0,r=t.component;return"ngModelChange"===e&&(a=!1!==(r.endTime=n)&&a),"ngModelChange"===e&&(a=!1!==r.filterLogs()&&a),a}),Wl,Sl)),i["ɵprd"](512,null,xl,xl,[]),i["ɵdid"](77,704512,null,0,wl,[Cl,i.ChangeDetectorRef,xl,rl],{minuteStep:[0,"minuteStep"],showSpinners:[1,"showSpinners"],showMeridian:[2,"showMeridian"]},null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[wl]),i["ɵdid"](79,671744,null,0,W.u,[[8,null],[8,null],[8,null],[6,W.p]],{model:[0,"model"]},{update:"ngModelChange"}),i["ɵprd"](2048,null,W.q,null,[W.u]),i["ɵdid"](81,16384,null,0,W.r,[[4,W.q]],null,null)],(function(t,e){var n=e.component;t(e,2,0),t(e,10,0,n.priority),t(e,15,0,n.prioritys),t(e,17,0);var a=t(e,28,0,n.icons.search);t(e,27,0,a),t(e,32,0,n.search),t(e,40,0),t(e,48,0,n.bsConfig),t(e,52,0,n.selectedDate),t(e,60,0),t(e,68,0,1,!1,!1),t(e,70,0,n.startTime),t(e,77,0,1,!1,!1),t(e,79,0,n.endTime)}),(function(t,e){var n=e.component;t(e,1,0,i["ɵnov"](e,2).hasErrors,i["ɵnov"](e,2).hasSuccess),t(e,7,0,i["ɵnov"](e,12).ngClassUntouched,i["ɵnov"](e,12).ngClassTouched,i["ɵnov"](e,12).ngClassPristine,i["ɵnov"](e,12).ngClassDirty,i["ɵnov"](e,12).ngClassValid,i["ɵnov"](e,12).ngClassInvalid,i["ɵnov"](e,12).ngClassPending,i["ɵnov"](e,13).validClass,i["ɵnov"](e,13).invalidClass),t(e,16,0,i["ɵnov"](e,17).hasErrors,i["ɵnov"](e,17).hasSuccess),t(e,29,0,i["ɵnov"](e,34).ngClassUntouched,i["ɵnov"](e,34).ngClassTouched,i["ɵnov"](e,34).ngClassPristine,i["ɵnov"](e,34).ngClassDirty,i["ɵnov"](e,34).ngClassValid,i["ɵnov"](e,34).ngClassInvalid,i["ɵnov"](e,34).ngClassPending,i["ɵnov"](e,35).validClass,i["ɵnov"](e,35).invalidClass),t(e,38,0,i["ɵinlineInterpolate"](1,"icon-prepend ",n.icons.destroy,"")),t(e,39,0,i["ɵnov"](e,40).hasErrors,i["ɵnov"](e,40).hasSuccess),t(e,46,0,i["ɵnov"](e,54).ngClassUntouched,i["ɵnov"](e,54).ngClassTouched,i["ɵnov"](e,54).ngClassPristine,i["ɵnov"](e,54).ngClassDirty,i["ɵnov"](e,54).ngClassValid,i["ɵnov"](e,54).ngClassInvalid,i["ɵnov"](e,54).ngClassPending,i["ɵnov"](e,55).validClass,i["ɵnov"](e,55).invalidClass),t(e,58,0,i["ɵinlineInterpolate"](1,"icon-prepend ",n.icons.destroy,"")),t(e,59,0,i["ɵnov"](e,60).hasErrors,i["ɵnov"](e,60).hasSuccess),t(e,66,0,i["ɵnov"](e,72).ngClassUntouched,i["ɵnov"](e,72).ngClassTouched,i["ɵnov"](e,72).ngClassPristine,i["ɵnov"](e,72).ngClassDirty,i["ɵnov"](e,72).ngClassValid,i["ɵnov"](e,72).ngClassInvalid,i["ɵnov"](e,72).ngClassPending),t(e,75,0,i["ɵnov"](e,81).ngClassUntouched,i["ɵnov"](e,81).ngClassTouched,i["ɵnov"](e,81).ngClassPristine,i["ɵnov"](e,81).ngClassDirty,i["ɵnov"](e,81).ngClassValid,i["ɵnov"](e,81).ngClassInvalid,i["ɵnov"](e,81).ngClassPending)}))}function cd(t){return i["ɵvid"](0,[i["ɵpid"](0,se.a,[o.DatePipe]),i["ɵpid"](0,Kl.a,[]),(t()(),i["ɵand"](16777216,null,null,1,null,od)),i["ɵdid"](3,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](0,[["logFiltersTpl",2]],null,0,null,sd))],(function(t,e){t(e,3,0,e.component.contentData)}),null)}function ld(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-logs",[],null,null,null,cd,Jl)),i["ɵdid"](1,245760,null,0,Zl,[$l,o.DatePipe,i.NgZone],null,null)],(function(t,e){t(e,1,0)}),null)}var dd=i["ɵccf"]("cd-logs",Zl,ld,{},{},[]);const ud=new jo.a("silence");class gd{constructor(t,e,n,a,r){this.authStorageService=t,this.prometheusAlertService=e,this.urlBuilder=n,this.i18n=a,this.cdDatePipe=r,this.selection=new kr.a,this.icons=ut.a,this.customCss={"badge badge-danger":"active","badge badge-warning":"unprocessed","badge badge-info":"suppressed"},this.permission=this.authStorageService.getPermissions().prometheus,this.tableActions=[{permission:"create",canBePrimary:t=>t.hasSingleSelection,disable:t=>!t.hasSingleSelection||t.first().cdExecuting,icon:ut.a.add,routerLink:()=>"/monitoring"+this.urlBuilder.getCreateFrom(this.selection.first().fingerprint),name:this.i18n("Create Silence")}]}ngOnInit(){this.columns=[{name:this.i18n("Name"),prop:"labels.alertname",flexGrow:2},{name:this.i18n("Job"),prop:"labels.job",flexGrow:2},{name:this.i18n("Severity"),prop:"labels.severity"},{name:this.i18n("State"),prop:"status.state",cellTransformation:Sr.a.classAdding},{name:this.i18n("Started"),prop:"startsAt",pipe:this.cdDatePipe},{name:this.i18n("URL"),prop:"generatorURL",sortable:!1,cellTemplate:this.externalLinkTpl}]}updateSelection(t){this.selection=t}}var fd=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function pd(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,5,"tabset",[["cdTableDetail",""]],[[2,"tab-container",null]],null,null,jn.b,jn.a)),i["ɵdid"](1,180224,null,0,Fn.e,[Fn.f,i.Renderer2,i.ElementRef],null,null),(t()(),i["ɵeld"](2,0,null,0,3,"tab",[["heading","Details"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](3,212992,null,0,Fn.b,[Fn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵeld"](4,0,null,null,1,"cd-table-key-value",[],null,null,null,Kr.b,Kr.a)),i["ɵdid"](5,638976,null,0,$r.a,[se.a],{data:[0,"data"],autoReload:[1,"autoReload"],renderObjects:[2,"renderObjects"],appendParentKey:[3,"appendParentKey"],hideEmpty:[4,"hideEmpty"],customCss:[5,"customCss"]},null)],(function(t,e){var n=e.component;t(e,3,0,"Details"),t(e,5,0,n.selection.first(),!1,!0,!1,!0,n.customCss)}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).clazz),t(e,2,0,i["ɵnov"](e,3).id,i["ɵnov"](e,3).active,i["ɵnov"](e,3).addClass)}))}function md(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,5,"a",[["target","_blank"]],[[8,"href",4]],null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,3,"i",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](3,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](4,1),(t()(),i["ɵted"](-1,null,[" Source"]))],(function(t,e){var n=t(e,4,0,e.component.icons.lineChart);t(e,3,0,n)}),(function(t,e){t(e,0,0,e.context.value)}))}function hd(t){return i["ɵvid"](0,[i["ɵqud"](402653184,1,{externalLinkTpl:0}),(t()(),i["ɵeld"](1,0,null,null,5,"cd-table",[["identifier","fingerprint"],["selectionType","single"]],null,[[null,"updateSelection"]],(function(t,e,n){var a=!0;return"updateSelection"===e&&(a=!1!==t.component.updateSelection(n)&&a),a}),br.b,br.a)),i["ɵdid"](2,2867200,null,0,yr.a,[i.NgZone,i.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],identifier:[2,"identifier"],forceIdentifier:[3,"forceIdentifier"],selectionType:[4,"selectionType"],customCss:[5,"customCss"]},{updateSelection:"updateSelection"}),(t()(),i["ɵeld"](3,0,null,1,1,"cd-table-actions",[["class","table-actions"]],null,null,null,_r.b,_r.a)),i["ɵdid"](4,114688,null,0,Or.a,[],{permission:[0,"permission"],selection:[1,"selection"],tableActions:[2,"tableActions"]},null),(t()(),i["ɵand"](16777216,null,3,1,null,pd)),i["ɵdid"](6,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](0,[[1,2],["externalLinkTpl",2]],null,0,null,md))],(function(t,e){var n=e.component;t(e,2,0,n.prometheusAlertService.alerts,n.columns,"fingerprint",!0,"single",n.customCss),t(e,4,0,n.permission,n.selection,n.tableActions),t(e,6,0,n.selection.hasSingleSelection)}),null)}class bd{constructor(t){this.i18n=t,this.hideKeys=["alerts","type"]}ngOnInit(){this.columns=[{prop:"name",name:this.i18n("Name")},{prop:"labels.severity",name:this.i18n("Severity")},{prop:"group",name:this.i18n("Group")},{prop:"duration",name:this.i18n("Duration"),pipe:new ie},{prop:"query",name:this.i18n("Query"),isHidden:!0},{prop:"annotations.description",name:this.i18n("Description")}]}selectionUpdated(t){this.selectedRule=t.first()}}var yd=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function _d(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,5,"tabset",[["cdTableDetail",""]],[[2,"tab-container",null]],null,null,jn.b,jn.a)),i["ɵdid"](1,180224,null,0,Fn.e,[Fn.f,i.Renderer2,i.ElementRef],null,null),(t()(),i["ɵeld"](2,0,null,0,3,"tab",[["heading","Details"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](3,212992,null,0,Fn.b,[Fn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵeld"](4,0,null,null,1,"cd-table-key-value",[],null,null,null,Kr.b,Kr.a)),i["ɵdid"](5,638976,null,0,$r.a,[se.a],{data:[0,"data"],renderObjects:[1,"renderObjects"],hideKeys:[2,"hideKeys"]},null)],(function(t,e){var n=e.component;t(e,3,0,"Details"),t(e,5,0,n.selectedRule,!0,n.hideKeys)}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).clazz),t(e,2,0,i["ɵnov"](e,3).id,i["ɵnov"](e,3).active,i["ɵnov"](e,3).addClass)}))}function Od(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"cd-table",[],null,[[null,"updateSelection"]],(function(t,e,n){var a=!0;return"updateSelection"===e&&(a=!1!==t.component.selectionUpdated(n)&&a),a}),br.b,br.a)),i["ɵdid"](1,2867200,null,0,yr.a,[i.NgZone,i.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],selectionType:[2,"selectionType"]},{updateSelection:"updateSelection"}),(t()(),i["ɵand"](16777216,null,3,1,null,_d)),i["ɵdid"](3,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0,n.data,n.columns,"single"),t(e,3,0,n.selectedRule)}),null)}var vd=n("y9jh");const Cd=new jo.a("monitoring/silence");class Pd{constructor(t,e,n,a,r,o,i,s,c){this.authStorageService=t,this.i18n=e,this.cdDatePipe=n,this.prometheusService=a,this.modalService=r,this.notificationService=o,this.urlBuilder=i,this.actionLabels=s,this.succeededLabels=c,this.silences=[],this.selection=new kr.a,this.customCss={"badge badge-danger":"active","badge badge-warning":"pending","badge badge-default":"expired"},this.sorts=[{prop:"endsAt",dir:vd.SortDirection.desc}],this.permission=this.authStorageService.getPermissions().prometheus;const l=t=>t.first()&&t.first().status&&"expired"===t.first().status.state;this.tableActions=[{permission:"create",icon:ut.a.add,routerLink:()=>this.urlBuilder.getCreate(),preserveFragment:!0,canBePrimary:t=>!t.hasSingleSelection,name:this.actionLabels.CREATE},{permission:"create",canBePrimary:t=>t.hasSingleSelection&&l(t),disable:t=>!t.hasSingleSelection||t.first().cdExecuting||t.first().cdExecuting&&l(t)||!l(t),icon:ut.a.copy,routerLink:()=>this.urlBuilder.getRecreate(this.selection.first().id),preserveFragment:!0,name:this.actionLabels.RECREATE},{permission:"update",icon:ut.a.edit,canBePrimary:t=>t.hasSingleSelection&&!l(t),disable:t=>!t.hasSingleSelection||t.first().cdExecuting||t.first().cdExecuting&&!l(t)||l(t),routerLink:()=>this.urlBuilder.getEdit(this.selection.first().id),preserveFragment:!0,name:this.actionLabels.EDIT},{permission:"delete",icon:ut.a.trash,canBePrimary:t=>t.hasSingleSelection&&!l(t),disable:t=>!t.hasSingleSelection||t.first().cdExecuting||l(t),click:()=>this.expireSilence(),name:this.actionLabels.EXPIRE}],this.columns=[{name:this.i18n("ID"),prop:"id",flexGrow:3},{name:this.i18n("Created by"),prop:"createdBy",flexGrow:2},{name:this.i18n("Started"),prop:"startsAt",pipe:this.cdDatePipe},{name:this.i18n("Updated"),prop:"updatedAt",pipe:this.cdDatePipe},{name:this.i18n("Ends"),prop:"endsAt",pipe:this.cdDatePipe},{name:this.i18n("Status"),prop:"status.state",cellTransformation:Sr.a.classAdding}]}refresh(){this.prometheusService.ifAlertmanagerConfigured(()=>{this.prometheusService.getSilences().subscribe(t=>{this.silences=t},()=>{this.prometheusService.disableAlertmanagerConfig()})})}updateSelection(t){this.selection=t}expireSilence(){const t=this.selection.first().id,e=this.i18n("Silence");this.modalRef=this.modalService.show(Fo.a,{initialState:{itemDescription:e,itemNames:[t],actionDescription:this.actionLabels.EXPIRE,submitActionObservable:()=>new pn.a(n=>{this.prometheusService.expireSilence(t).subscribe(()=>{this.notificationService.show(be.a.success,`${this.succeededLabels.EXPIRED} ${e} ${t}`,void 0,void 0,"Prometheus")},t=>{t.application="Prometheus",n.error(t)},()=>{n.complete(),this.refresh()})})}})}}var Md=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function xd(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,5,"tabset",[["cdTableDetail",""]],[[2,"tab-container",null]],null,null,jn.b,jn.a)),i["ɵdid"](1,180224,null,0,Fn.e,[Fn.f,i.Renderer2,i.ElementRef],null,null),(t()(),i["ɵeld"](2,0,null,0,3,"tab",[["heading","Details"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](3,212992,null,0,Fn.b,[Fn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵeld"](4,0,null,null,1,"cd-table-key-value",[],null,null,null,Kr.b,Kr.a)),i["ɵdid"](5,638976,null,0,$r.a,[se.a],{data:[0,"data"],autoReload:[1,"autoReload"],renderObjects:[2,"renderObjects"],appendParentKey:[3,"appendParentKey"],hideEmpty:[4,"hideEmpty"],customCss:[5,"customCss"]},null)],(function(t,e){var n=e.component;t(e,3,0,"Details"),t(e,5,0,n.selection.first(),!1,!0,!1,!0,n.customCss)}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).clazz),t(e,2,0,i["ɵnov"](e,3).id,i["ɵnov"](e,3).active,i["ɵnov"](e,3).addClass)}))}function wd(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,5,"cd-table",[["selectionType","single"]],null,[[null,"fetchData"],[null,"updateSelection"]],(function(t,e,n){var a=!0,r=t.component;return"fetchData"===e&&(a=!1!==r.refresh()&&a),"updateSelection"===e&&(a=!1!==r.updateSelection(n)&&a),a}),br.b,br.a)),i["ɵdid"](1,2867200,null,0,yr.a,[i.NgZone,i.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],sorts:[2,"sorts"],forceIdentifier:[3,"forceIdentifier"],selectionType:[4,"selectionType"],customCss:[5,"customCss"]},{fetchData:"fetchData",updateSelection:"updateSelection"}),(t()(),i["ɵeld"](2,0,null,1,1,"cd-table-actions",[["class","table-actions"]],null,null,null,_r.b,_r.a)),i["ɵdid"](3,114688,null,0,Or.a,[],{permission:[0,"permission"],selection:[1,"selection"],tableActions:[2,"tableActions"]},null),(t()(),i["ɵand"](16777216,null,3,1,null,xd)),i["ɵdid"](5,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0,n.silences,n.columns,n.sorts,!0,"single",n.customCss),t(e,3,0,n.permission,n.selection,n.tableActions),t(e,5,0,n.selection.hasSingleSelection)}),null)}class Td{constructor(t,e,n,a,r,o){this.prometheusAlertService=t,this.prometheusService=e,this.route=n,this.router=a,this.summaryService=r,this.cephReleaseNamePipe=o,this.isPrometheusConfigured=!1,this.isAlertmanagerConfigured=!1,this.docsUrl=""}ngOnInit(){this.prometheusService.ifAlertmanagerConfigured(()=>{this.isAlertmanagerConfigured=!0}),this.prometheusService.ifPrometheusConfigured(()=>{this.isPrometheusConfigured=!0});const t=this.summaryService.subscribe(e=>{if(!e)return;const n=this.cephReleaseNamePipe.transform(e.version);this.docsUrl=`https://docs.ceph.com/docs/${n}/mgr/dashboard/#enabling-prometheus-alerting`,setTimeout(()=>{t.unsubscribe()},0)});if(this.route.snapshot.fragment){const t=this.tabs.tabs.find(t=>t.elementRef.nativeElement.id===this.route.snapshot.fragment);t&&(t.active=!0),this.router.navigate([],{fragment:this.route.snapshot.fragment})}}setFragment(t){this.router.navigate([],{fragment:t.id})}}var Sd=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function kd(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-active-alert-list",[],null,null,null,hd,fd)),i["ɵprd"](256,null,jo.a,ud,[]),i["ɵdid"](2,114688,null,0,gd,[yt.a,_e,jo.a,ia.a,se.a],null,null)],(function(t,e){t(e,2,0)}),null)}function Id(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,5,"cd-alert-panel",[["type","info"]],null,null,null,vr.b,vr.a)),i["ɵdid"](1,114688,null,0,Cr.a,[ia.a],{type:[0,"type"]},null),(t()(),i["ɵted"](-1,0,["To see all active Prometheus alerts, please provide the URL to the API of Prometheus' Alertmanager as described in the "])),(t()(),i["ɵeld"](3,0,null,0,1,"a",[["target","_blank"]],[[8,"href",4]],null,null,null,null)),(t()(),i["ɵted"](-1,null,["documentation"])),(t()(),i["ɵted"](-1,0,["."]))],(function(t,e){t(e,1,0,"info")}),(function(t,e){t(e,3,0,i["ɵinlineInterpolate"](1,"",e.component.docsUrl,""))}))}function Nd(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-rules-list",[],null,null,null,Od,yd)),i["ɵdid"](1,114688,null,0,bd,[ia.a],{data:[0,"data"]},null)],(function(t,e){t(e,1,0,e.component.prometheusAlertService.rules)}),null)}function Rd(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,5,"cd-alert-panel",[["type","info"]],null,null,null,vr.b,vr.a)),i["ɵdid"](1,114688,null,0,Cr.a,[ia.a],{type:[0,"type"]},null),(t()(),i["ɵted"](-1,0,["To see all configured Prometheus alerts, please provide the URL to the API of Prometheus as described in the "])),(t()(),i["ɵeld"](3,0,null,0,1,"a",[["target","_blank"]],[[8,"href",4]],null,null,null,null)),(t()(),i["ɵted"](-1,null,["documentation"])),(t()(),i["ɵted"](-1,0,["."]))],(function(t,e){t(e,1,0,"info")}),(function(t,e){t(e,3,0,i["ɵinlineInterpolate"](1,"",e.component.docsUrl,""))}))}function Ad(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-silences-list",[],null,null,null,wd,Md)),i["ɵprd"](256,null,jo.a,Cd,[]),i["ɵdid"](2,49152,null,0,Pd,[yt.a,ia.a,se.a,he,Mt.b,gt.a,jo.a,vt.b,vt.d],null,null)],null,null)}function Ed(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,5,"cd-alert-panel",[["type","info"]],null,null,null,vr.b,vr.a)),i["ɵdid"](1,114688,null,0,Cr.a,[ia.a],{type:[0,"type"]},null),(t()(),i["ɵted"](-1,0,["To enable Silences, please provide the URL to the API of the Prometheus' Alertmanager as described in the "])),(t()(),i["ɵeld"](3,0,null,0,1,"a",[["target","_blank"]],[[8,"href",4]],null,null,null,null)),(t()(),i["ɵted"](-1,null,["documentation"])),(t()(),i["ɵted"](-1,0,["."]))],(function(t,e){t(e,1,0,"info")}),(function(t,e){t(e,3,0,i["ɵinlineInterpolate"](1,"",e.component.docsUrl,""))}))}function Dd(t){return i["ɵvid"](0,[i["ɵqud"](402653184,1,{tabs:0}),(t()(),i["ɵeld"](1,0,null,null,19,"tabset",[],[[2,"tab-container",null]],null,null,jn.b,jn.a)),i["ɵdid"](2,180224,[[1,4],["tabs",4]],0,Fn.e,[Fn.f,i.Renderer2,i.ElementRef],null,null),(t()(),i["ɵeld"](3,0,null,0,5,"tab",[["heading","Active Alerts"],["id","active-alerts"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],[[null,"selectTab"]],(function(t,e,n){var a=!0;return"selectTab"===e&&(a=!1!==t.component.setFragment(n)&&a),a}),null,null)),i["ɵdid"](4,212992,null,0,Fn.b,[Fn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"],id:[1,"id"]},{selectTab:"selectTab"}),(t()(),i["ɵand"](16777216,null,null,1,null,kd)),i["ɵdid"](6,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Id)),i["ɵdid"](8,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](9,0,null,0,5,"tab",[["heading","All Alerts"],["id","all-alerts"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],[[null,"selectTab"]],(function(t,e,n){var a=!0;return"selectTab"===e&&(a=!1!==t.component.setFragment(n)&&a),a}),null,null)),i["ɵdid"](10,212992,null,0,Fn.b,[Fn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"],id:[1,"id"]},{selectTab:"selectTab"}),(t()(),i["ɵand"](16777216,null,null,1,null,Nd)),i["ɵdid"](12,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Rd)),i["ɵdid"](14,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](15,0,null,0,5,"tab",[["heading","Silences"],["id","silences"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],[[null,"selectTab"]],(function(t,e,n){var a=!0;return"selectTab"===e&&(a=!1!==t.component.setFragment(n)&&a),a}),null,null)),i["ɵdid"](16,212992,null,0,Fn.b,[Fn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"],id:[1,"id"]},{selectTab:"selectTab"}),(t()(),i["ɵand"](16777216,null,null,1,null,Ad)),i["ɵdid"](18,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Ed)),i["ɵdid"](20,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,4,0,"Active Alerts","active-alerts"),t(e,6,0,n.isAlertmanagerConfigured),t(e,8,0,!n.isAlertmanagerConfigured),t(e,10,0,"All Alerts","all-alerts"),t(e,12,0,n.isPrometheusConfigured),t(e,14,0,!n.isPrometheusConfigured),t(e,16,0,"Silences","silences"),t(e,18,0,n.isAlertmanagerConfigured),t(e,20,0,!n.isAlertmanagerConfigured)}),(function(t,e){t(e,1,0,i["ɵnov"](e,2).clazz),t(e,3,0,i["ɵnov"](e,4).id,i["ɵnov"](e,4).active,i["ɵnov"](e,4).addClass),t(e,9,0,i["ɵnov"](e,10).id,i["ɵnov"](e,10).active,i["ɵnov"](e,10).addClass),t(e,15,0,i["ɵnov"](e,16).id,i["ɵnov"](e,16).active,i["ɵnov"](e,16).addClass)}))}function Ld(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-monitoring-list",[],null,null,null,Dd,Sd)),i["ɵdid"](1,114688,null,0,Td,[_e,he,St.a,St.m,ft.a,bt.a],null,null)],(function(t,e){t(e,1,0)}),null)}var qd=i["ɵccf"]("cd-monitoring-list",Td,Ld,{},{},[]);let jd=(()=>{class t{constructor(t){this.i18n=t,this.valueAttributePath={alertname:"name",instance:"alerts.0.labels.instance",job:"alerts.0.labels.job",severity:"labels.severity"}}singleMatch(t,e){return this.multiMatch([t],e)}multiMatch(t,e){if(!t.some(t=>t.isRegex))return t.forEach(t=>{e=this.getMatchedRules(t,e)}),this.describeMatch(e)}getMatchedRules(t,e){const n=this.getAttributePath(t.name);return e.filter(e=>$.get(e,n)===t.value)}describeMatch(t){let e=0;return t.forEach(t=>e+=t.alerts.length),{status:this.getMatchText(t.length,e),cssClass:e?"has-success":"has-warning"}}getAttributePath(t){return this.valueAttributePath[t]}getMatchText(t,e){const n={noRule:this.i18n("Your matcher seems to match no currently defined rule or active alert."),noAlerts:this.i18n("no active alerts"),alert:this.i18n("1 active alert"),alerts:this.i18n("{{n}} active alerts",{n:e}),rule:this.i18n("Matches 1 rule"),rules:this.i18n("Matches {{n}} rules",{n:t})};return t?this.i18n("{{rules}} with {{alerts}}.",{rules:t>1?n.rules:n.rule,alerts:e?e>1?n.alerts:n.alert:n.noAlerts}):n.noRule}}return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t(i["ɵɵinject"](ia.a))},token:t,providedIn:"root"}),t})(),Fd=(()=>{class t{constructor(){}calculateDuration(t,e){const n=+t,a=+e,r=this.getDuration(Math.abs(n-a));return n>a?"-"+r:r}getDuration(t){const e=new Date(t),n=e.getUTCHours(),a=e.getUTCMinutes(),r=(t,e)=>t?t+e:t;return[r(Math.floor(t/864e5),"d"),r(n,"h"),r(a,"m")].filter(t=>t).join(" ")}calculateDate(t,e,n){const a=+t;if($.isNaN(a))return;const r=this.getDurationMs(e)*(n?-1:1);return new Date(a+r)}getDurationMs(t){return 6e4*(60*(24*this.getNumbersFromString(t,"d")+this.getNumbersFromString(t,"h"))+this.getNumbersFromString(t,"m"))}getNumbersFromString(t,e){const n=t.match(new RegExp(`[0-9 ]+${e}`,"i"));return n?parseInt(n[0],10):0}}return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t},token:t,providedIn:"root"}),t})();class zd{constructor(t,e,n){this.formBuilder=t,this.silenceMatcher=e,this.bsModalRef=n,this.submitAction=new i.EventEmitter,this.editMode=!1,this.nameAttributes=["alertname","instance","job","severity"],this.possibleValues=[],this.matcherMatch=void 0,this.createForm(),this.subscribeToChanges()}createForm(){this.form=this.formBuilder.group({name:[null,[W.B.required]],value:[{value:null,disabled:!0},[W.B.required]],isRegex:new W.i(!1)})}subscribeToChanges(){this.form.get("name").valueChanges.subscribe(t=>{null!==t?(this.setPossibleValues(t),this.form.get("value").enable()):this.form.get("value").disable()}),this.form.get("value").valueChanges.subscribe(t=>{const e=this.form.value;e.value=t,this.matcherMatch=this.silenceMatcher.singleMatch(e,this.rules)})}setPossibleValues(t){this.possibleValues=$.sortedUniq(this.rules.map(e=>$.get(e,this.silenceMatcher.getAttributePath(t))).filter(t=>t))}preFillControls(t){this.form.setValue(t)}onSubmit(){this.submitAction.emit(this.form.value),this.bsModalRef.hide()}}class Gd{constructor(t,e,n,a,r,o,i,s,c,l,d,u){this.i18n=t,this.router=e,this.authStorageService=n,this.formBuilder=a,this.prometheusService=r,this.notificationService=o,this.route=i,this.timeDiff=s,this.bsModalService=c,this.silenceMatcher=l,this.actionLabels=d,this.succeededLabels=u,this.icons=ut.a,this.bsConfig={dateInputFormat:"YYYY-MM-DDT HH:mm"},this.recreate=!1,this.edit=!1,this.resource=this.i18n("silence"),this.matchers=[],this.matcherMatch=void 0,this.matcherConfig=[{tooltip:this.i18n("Attribute name"),icon:this.icons.paragraph,attribute:"name"},{tooltip:this.i18n("Value"),icon:this.icons.terminal,attribute:"value"},{tooltip:this.i18n("Regular expression"),icon:this.icons.magic,attribute:"isRegex"}],this.init()}init(){this.chooseMode(),this.authenticate(),this.createForm(),this.setupDates(),this.getData()}chooseMode(){this.edit=this.router.url.startsWith("/monitoring/silence/edit"),this.recreate=this.router.url.startsWith("/monitoring/silence/recreate"),this.action=this.edit?this.actionLabels.EDIT:this.recreate?this.actionLabels.RECREATE:this.actionLabels.CREATE}authenticate(){this.permission=this.authStorageService.getPermissions().prometheus,this.permission.read&&(this.edit?this.permission.update:this.permission.create)||this.router.navigate(["/404"])}createForm(){this.form=this.formBuilder.group({startsAt:[null,[W.B.required]],duration:["2h",[W.B.min(1)]],endsAt:[null,[W.B.required]],createdBy:[this.authStorageService.getUsername(),[W.B.required]],comment:[null,[W.B.required]]},{validators:di.a.custom("matcherRequired",()=>0===this.matchers.length)})}setupDates(){const t=new Date;t.setSeconds(0,0),this.form.silentSet("startsAt",t),this.updateDate(),this.subscribeDateChanges()}updateDate(t){const e=this.timeDiff.calculateDate(this.form.getValue(t?"endsAt":"startsAt"),this.form.getValue("duration"),t);e&&this.form.silentSet(t?"startsAt":"endsAt",e)}subscribeDateChanges(){this.form.get("startsAt").valueChanges.subscribe(()=>{this.onDateChange()}),this.form.get("duration").valueChanges.subscribe(()=>{this.updateDate()}),this.form.get("endsAt").valueChanges.subscribe(()=>{this.onDateChange(!0)})}onDateChange(t){this.form.getValue("startsAt")<this.form.getValue("endsAt")?this.updateDuration():this.updateDate(t)}updateDuration(){this.form.silentSet("duration",this.timeDiff.calculateDuration(this.form.getValue("startsAt"),this.form.getValue("endsAt")))}getData(){this.getRules(),this.getModeSpecificData()}getRules(){this.prometheusService.ifPrometheusConfigured(()=>this.prometheusService.getRules().subscribe(t=>{this.rules=t.groups.reduce((t,e)=>$.concat(t,e.rules),[])},()=>{this.prometheusService.disablePrometheusConfig(),this.rules=[]}),()=>{this.rules=[],this.notificationService.show(be.a.info,this.i18n("Please add your Prometheus host to the dashboard configuration and refresh the page"),void 0,void 0,"Prometheus")})}getModeSpecificData(){this.route.params.subscribe(t=>{t.id&&(this.edit||this.recreate?this.prometheusService.getSilences(t).subscribe(t=>{this.fillFormWithSilence(t[0])}):this.prometheusService.getAlerts(t).subscribe(t=>{this.fillFormByAlert(t[0])}))})}fillFormWithSilence(t){this.id=t.id,this.edit&&(["startsAt","endsAt"].forEach(e=>this.form.silentSet(e,new Date(t[e]))),this.updateDuration()),["createdBy","comment"].forEach(e=>this.form.silentSet(e,t[e])),this.matchers=t.matchers,this.validateMatchers()}validateMatchers(){this.rules?(this.matcherMatch=this.silenceMatcher.multiMatch(this.matchers,this.rules),this.form.markAsDirty(),this.form.updateValueAndValidity()):window.setTimeout(()=>this.validateMatchers(),100)}fillFormByAlert(t){const e=t.labels;Object.keys(e).forEach(t=>this.setMatcher({name:t,value:e[t],isRegex:!1}))}setMatcher(t,e){$.isNumber(e)?this.matchers[e]=t:this.matchers.push(t),this.validateMatchers()}showMatcherModal(t){const e=this.bsModalService.show(zd),n=e.content;n.rules=this.rules,$.isNumber(t)&&(n.editMode=!0,n.preFillControls(this.matchers[t])),e.content.submitAction.subscribe(e=>{this.setMatcher(e,t)})}deleteMatcher(t){this.matchers.splice(t,1),this.validateMatchers()}submit(){this.form.invalid||this.prometheusService.setSilence(this.getSubmitData()).subscribe(t=>{this.router.navigate(["/monitoring"],{fragment:"silences"}),this.notificationService.show(be.a.success,this.getNotificationTile(t.body.silenceId),void 0,void 0,"Prometheus")},()=>this.form.setErrors({cdSubmitButton:!0}))}getSubmitData(){const t=this.form.value;return delete t.duration,t.startsAt=t.startsAt.toISOString(),t.endsAt=t.endsAt.toISOString(),t.matchers=this.matchers,this.edit&&(t.id=this.id),t}getNotificationTile(t){let e;return e=this.edit?this.succeededLabels.EDITED:this.recreate?this.succeededLabels.RECREATED:this.succeededLabels.CREATED,`${e} ${this.resource} ${t}`}}var Bd=i["ɵcrt"]({encapsulation:0,styles:[["textarea[_ngcontent-%COMP%]{resize:vertical}"]],data:{}});function Vd(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,1,"input",[["class","form-control"],["disabled",""],["readonly",""],["type","text"]],[[8,"id",0],[8,"value",0],[2,"is-valid",null],[2,"is-invalid",null]],null,null,null,null)),i["ɵdid"](2,16384,null,0,K.h,[[8,null],K.a],null,null)],null,(function(t,e){t(e,1,0,i["ɵinlineInterpolate"](2,"matcher-",e.parent.context.$implicit.attribute,"-",e.parent.parent.context.index,""),e.parent.parent.context.matcher[e.parent.context.$implicit.attribute],i["ɵnov"](e,2).validClass,i["ɵnov"](e,2).invalidClass)}))}function Yd(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,2,"div",[["class","input-group-append"]],null,null,null,null,null)),(t()(),i["ɵeld"](2,0,null,null,1,"div",[["class","input-group-text"]],null,null,null,null,null)),(t()(),i["ɵeld"](3,0,null,null,0,"input",[["disabled",""],["readonly",""],["type","checkbox"]],[[8,"id",0],[8,"checked",0]],null,null,null,null))],null,(function(t,e){t(e,3,0,i["ɵinlineInterpolate"](2,"matcher-",e.parent.context.$implicit.attribute,"-",e.parent.parent.context.index,""),e.parent.parent.context.matcher[e.parent.context.$implicit.attribute])}))}function Hd(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,11,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,6,"div",[["class","input-group-prepend"]],null,null,null,null,null)),(t()(),i["ɵeld"](2,16777216,null,null,5,"span",[["class","input-group-text"]],[[1,"aria-describedby",0]],null,null,null,null)),i["ɵdid"](3,212992,null,0,In.c,[i.ViewContainerRef,U.a,In.a,i.ElementRef,i.Renderer2,Gn.a],{tooltip:[0,"tooltip"]},null),(t()(),i["ɵeld"](4,0,null,null,3,"i",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](6,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](7,1),(t()(),i["ɵand"](16777216,null,null,1,null,Vd)),i["ɵdid"](9,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Yd)),i["ɵdid"](11,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](0,null,null,0))],(function(t,e){t(e,3,0,e.context.$implicit.tooltip);var n=t(e,7,0,e.context.$implicit.icon);t(e,6,0,n),t(e,9,0,"isRegex"!==e.context.$implicit.attribute),t(e,11,0,"isRegex"===e.context.$implicit.attribute)}),(function(t,e){t(e,2,0,i["ɵnov"](e,3).ariaDescribedby)}))}function Ud(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,15,"div",[["class","input-group my-2"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Hd)),i["ɵdid"](2,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵeld"](3,0,null,null,12,"span",[["class","input-group-append"]],null,null,null,null,null)),(t()(),i["ɵeld"](4,16777216,null,null,5,"button",[["class","btn btn-light"],["tooltip","Edit"],["type","button"]],[[8,"id",0],[1,"aria-describedby",0]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.showMatcherModal(t.context.index)&&a),a}),null,null)),i["ɵdid"](5,212992,null,0,In.c,[i.ViewContainerRef,U.a,In.a,i.ElementRef,i.Renderer2,Gn.a],{tooltip:[0,"tooltip"]},null),(t()(),i["ɵeld"](6,0,null,null,3,"i",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](8,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](9,1),(t()(),i["ɵeld"](10,16777216,null,null,5,"button",[["class","btn btn-light"],["tooltip","Delete"],["type","button"]],[[8,"id",0],[1,"aria-describedby",0]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.deleteMatcher(t.context.index)&&a),a}),null,null)),i["ɵdid"](11,212992,null,0,In.c,[i.ViewContainerRef,U.a,In.a,i.ElementRef,i.Renderer2,Gn.a],{tooltip:[0,"tooltip"]},null),(t()(),i["ɵeld"](12,0,null,null,3,"i",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](14,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](15,1),(t()(),i["ɵeld"](16,0,null,null,0,"span",[["class","help-block"]],null,null,null,null,null))],(function(t,e){var n=e.component;t(e,2,0,n.matcherConfig),t(e,5,0,"Edit");var a=t(e,9,0,n.icons.edit);t(e,8,0,a),t(e,11,0,"Delete");var r=t(e,15,0,n.icons.trash);t(e,14,0,r)}),(function(t,e){t(e,4,0,i["ɵinlineInterpolate"](1,"matcher-edit-",e.context.index,""),i["ɵnov"](e,5).ariaDescribedby),t(e,10,0,i["ɵinlineInterpolate"](1,"matcher-delete-",e.context.index,""),i["ɵnov"](e,11).ariaDescribedby)}))}function Wd(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-helper",[],null,null,null,Es.b,Es.a)),i["ɵdid"](1,49152,null,0,Ds.a,[],null,null),(t()(),i["ɵted"](-1,0,["Editing a silence will expire the old silence and recreate it as a new silence"]))],null,null)}function Kd(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["This field is required!"]))],null,null)}function $d(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["This field is required!"]))],null,null)}function Zd(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["This field is required!"]))],null,null)}function Jd(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["This field is required!"]))],null,null)}function Xd(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["This field is required!"]))],null,null)}function Qd(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,5,"h5",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](2,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpod"](3,{"text-warning":0,"text-danger":1}),(t()(),i["ɵeld"](4,0,null,null,1,"strong",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["A silence requires at least one matcher"]))],(function(t,e){var n=t(e,3,0,!i["ɵnov"](e.parent,6).submitted,i["ɵnov"](e.parent,6).submitted);t(e,2,0,n)}),null)}function tu(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,0,null,null,null,null,null,null,null))],null,null)}function eu(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"span",[],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,2,null,tu)),i["ɵdid"](2,540672,null,0,o.NgTemplateOutlet,[i.ViewContainerRef],{ngTemplateOutletContext:[0,"ngTemplateOutletContext"],ngTemplateOutlet:[1,"ngTemplateOutlet"]},null),i["ɵpod"](3,{index:0,matcher:1})],(function(t,e){var n=t(e,3,0,e.context.index,e.context.$implicit);t(e,2,0,n,i["ɵnov"](e.parent,2))}),null)}function nu(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"div",[["id","match-state"]],[[8,"className",0]],null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,1,"span",[],[[8,"className",0]],null,null,null,null)),(t()(),i["ɵted"](2,null,[" "," "]))],null,(function(t,e){var n=e.component;t(e,0,0,i["ɵinlineInterpolate"](1,"cd-col-form-offset ",n.matcherMatch.cssClass,"")),t(e,1,0,i["ɵinlineInterpolate"](1,"text-muted ",n.matcherMatch.cssClass,"")),t(e,2,0,n.matcherMatch.status)}))}function au(t){return i["ɵvid"](0,[i["ɵpid"](0,o.TitleCasePipe,[]),i["ɵpid"](0,ci.a,[]),(t()(),i["ɵand"](0,[["matcherTpl",2]],null,0,null,Ud)),(t()(),i["ɵeld"](3,0,null,null,137,"div",[["class","cd-col-form"]],null,null,null,null,null)),(t()(),i["ɵeld"](4,0,null,null,136,"form",[["class","form"],["name","form"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(t,e,n){var a=!0;return"submit"===e&&(a=!1!==i["ɵnov"](t,6).onSubmit(n)&&a),"reset"===e&&(a=!1!==i["ɵnov"](t,6).onReset()&&a),"submit"===e&&(a=!1!==i["ɵnov"](t,9).onSubmit()&&a),a}),null,null)),i["ɵdid"](5,16384,null,0,W.G,[],null,null),i["ɵdid"](6,540672,[["formDir",4]],0,W.l,[[8,null],[8,null]],{form:[0,"form"]},null),i["ɵprd"](2048,null,W.d,null,[W.l]),i["ɵdid"](8,16384,null,0,W.s,[[4,W.d]],null,null),i["ɵdid"](9,16384,null,0,K.d,[],{formGroup:[0,"formGroup"]},null),(t()(),i["ɵeld"](10,0,null,null,130,"div",[["class","card"]],null,null,null,null,null)),(t()(),i["ɵeld"](11,0,null,null,6,"div",[["class","card-header"]],null,null,null,null,null)),(t()(),i["ɵeld"](12,0,null,null,3,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](13,null,[" "," "," "])),i["ɵppd"](14,1),i["ɵppd"](15,1),(t()(),i["ɵand"](16777216,null,null,1,null,Wd)),i["ɵdid"](17,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](18,0,null,null,113,"div",[["class","card-body"]],null,null,null,null,null)),(t()(),i["ɵeld"](19,0,null,null,15,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](20,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,1,{FormControlNames:1}),i["ɵqud"](603979776,2,{messagesBlock:0}),(t()(),i["ɵeld"](23,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","created-by"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Creator"])),(t()(),i["ɵeld"](25,0,null,0,9,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](26,0,null,null,6,"input",[["class","form-control"],["formControlName","createdBy"],["id","created-by"],["name","created-by"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,27)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,27).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,27)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,27)._compositionEnd(n.target.value)&&a),a}),null,null)),i["ɵdid"](27,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](29,671744,[[1,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](31,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](32,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Kd)),i["ɵdid"](34,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](35,0,null,null,16,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](36,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,3,{FormControlNames:1}),i["ɵqud"](603979776,4,{messagesBlock:0}),(t()(),i["ɵeld"](39,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","comment"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Comment"])),(t()(),i["ɵeld"](41,0,null,0,10,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](42,0,null,null,7,"textarea",[["class","form-control"],["formControlName","comment"],["id","comment"],["name","comment"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,43)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,43).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,43)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,43)._compositionEnd(n.target.value)&&a),a}),null,null)),i["ɵdid"](43,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](45,671744,[[3,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](47,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](48,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵted"](-1,null,["            "])),(t()(),i["ɵand"](16777216,null,null,1,null,$d)),i["ɵdid"](51,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](52,0,null,null,22,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](53,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,5,{FormControlNames:1}),i["ɵqud"](603979776,6,{messagesBlock:0}),(t()(),i["ɵeld"](56,0,null,0,5,"label",[["class","cd-col-form-label"],["for","starts-at"]],null,null,null,null,null)),(t()(),i["ɵeld"](57,0,null,null,1,"span",[["class","required"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Start time"])),(t()(),i["ɵeld"](59,0,null,null,2,"cd-helper",[],null,null,null,Es.b,Es.a)),i["ɵdid"](60,49152,null,0,Ds.a,[],null,null),(t()(),i["ɵted"](-1,0,["If the start time lies in the past the creation time will be used"])),(t()(),i["ɵeld"](62,0,null,0,12,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](63,16777216,null,null,9,"input",[["bsDatepicker",""],["class","form-control"],["formControlName","startsAt"],["id","starts-at"],["name","starts-at"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"],[null,"keyup.esc"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,64)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,64).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,64)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,64)._compositionEnd(n.target.value)&&a),"change"===e&&(a=!1!==i["ɵnov"](t,66).onChange(n)&&a),"keyup.esc"===e&&(a=!1!==i["ɵnov"](t,66).hide()&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,66).onBlur()&&a),a}),null,null)),i["ɵdid"](64,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵdid"](65,737280,null,0,nt.c,[nt.a,i.ElementRef,i.Renderer2,i.ViewContainerRef,U.a],{bsConfig:[0,"bsConfig"]},null),i["ɵdid"](66,16384,null,0,nt.f,[nt.c,nt.j,i.Renderer2,i.ElementRef,i.ChangeDetectorRef],null,null),i["ɵprd"](1024,null,W.o,(function(t){return[t]}),[nt.f]),i["ɵprd"](1024,null,W.p,(function(t,e){return[t,e]}),[W.e,nt.f]),i["ɵdid"](69,671744,[[5,4]],0,W.j,[[3,W.d],[6,W.o],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](71,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](72,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Zd)),i["ɵdid"](74,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](75,0,null,null,15,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](76,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,7,{FormControlNames:1}),i["ɵqud"](603979776,8,{messagesBlock:0}),(t()(),i["ɵeld"](79,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","duration"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Duration"])),(t()(),i["ɵeld"](81,0,null,0,9,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](82,0,null,null,6,"input",[["class","form-control"],["formControlName","duration"],["id","duration"],["name","duration"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,83)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,83).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,83)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,83)._compositionEnd(n.target.value)&&a),a}),null,null)),i["ɵdid"](83,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](85,671744,[[7,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](87,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](88,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Jd)),i["ɵdid"](90,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](91,0,null,null,18,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](92,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,9,{FormControlNames:1}),i["ɵqud"](603979776,10,{messagesBlock:0}),(t()(),i["ɵeld"](95,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","ends-at"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["End time"])),(t()(),i["ɵeld"](97,0,null,0,12,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](98,16777216,null,null,9,"input",[["bsDatepicker",""],["class","form-control"],["formControlName","endsAt"],["id","ends-at"],["name","ends-at"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"],[null,"keyup.esc"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,99)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,99).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,99)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,99)._compositionEnd(n.target.value)&&a),"change"===e&&(a=!1!==i["ɵnov"](t,101).onChange(n)&&a),"keyup.esc"===e&&(a=!1!==i["ɵnov"](t,101).hide()&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,101).onBlur()&&a),a}),null,null)),i["ɵdid"](99,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵdid"](100,737280,null,0,nt.c,[nt.a,i.ElementRef,i.Renderer2,i.ViewContainerRef,U.a],{bsConfig:[0,"bsConfig"]},null),i["ɵdid"](101,16384,null,0,nt.f,[nt.c,nt.j,i.Renderer2,i.ElementRef,i.ChangeDetectorRef],null,null),i["ɵprd"](1024,null,W.o,(function(t){return[t]}),[nt.f]),i["ɵprd"](1024,null,W.p,(function(t,e){return[t,e]}),[W.e,nt.f]),i["ɵdid"](104,671744,[[9,4]],0,W.j,[[3,W.d],[6,W.o],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](106,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](107,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Xd)),i["ɵdid"](109,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](110,0,null,null,21,"fieldset",[],null,null,null,null,null)),(t()(),i["ɵeld"](111,0,null,null,1,"legend",[["class","required"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Matchers"])),(t()(),i["ɵeld"](113,0,null,null,16,"div",[["class","cd-col-form-offset"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Qd)),i["ɵdid"](115,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,eu)),i["ɵdid"](117,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵeld"](118,0,null,null,11,"div",[["class","row"]],null,null,null,null,null)),(t()(),i["ɵeld"](119,0,null,null,10,"div",[["class","col-12"]],null,null,null,null,null)),(t()(),i["ɵeld"](120,0,null,null,9,"button",[["class","btn btn-light float-right my-3"],["id","add-matcher"],["type","button"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.showMatcherModal()&&a),a}),null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](122,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),i["ɵpod"](123,{"btn-warning":0}),(t()(),i["ɵeld"](124,0,null,null,3,"i",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](126,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](127,1),(t()(),i["ɵeld"](128,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Add matcher"])),(t()(),i["ɵand"](16777216,null,null,1,null,nu)),i["ɵdid"](131,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](132,0,null,null,8,"div",[["class","card-footer"]],null,null,null,null,null)),(t()(),i["ɵeld"](133,0,null,null,7,"div",[["class","button-group text-right"]],null,null,null,null,null)),(t()(),i["ɵeld"](134,0,null,null,4,"cd-submit-button",[],null,[[null,"submitAction"]],(function(t,e,n){var a=!0;return"submitAction"===e&&(a=!1!==t.component.submit()&&a),a}),ri.b,ri.a)),i["ɵdid"](135,114688,null,0,oi.a,[i.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(t()(),i["ɵted"](136,0,[" "," "," "])),i["ɵppd"](137,1),i["ɵppd"](138,1),(t()(),i["ɵeld"](139,0,null,null,1,"cd-back-button",[],null,null,null,ii.b,ii.a)),i["ɵdid"](140,49152,null,0,si.a,[o.Location,vt.b],null,null)],(function(t,e){var n=e.component;t(e,6,0,n.form),t(e,9,0,n.form),t(e,17,0,n.edit),t(e,20,0),t(e,29,0,"createdBy"),t(e,32,0,"createdBy"),t(e,34,0,n.form.showError("createdBy",i["ɵnov"](e,6),"required")),t(e,36,0),t(e,45,0,"comment"),t(e,48,0,"comment"),t(e,51,0,n.form.showError("comment",i["ɵnov"](e,6),"required")),t(e,53,0),t(e,65,0,n.bsConfig),t(e,69,0,"startsAt"),t(e,72,0,"startsAt"),t(e,74,0,n.form.showError("startsAt",i["ɵnov"](e,6),"required")),t(e,76,0),t(e,85,0,"duration"),t(e,88,0,"duration"),t(e,90,0,n.form.showError("duration",i["ɵnov"](e,6),"required")),t(e,92,0),t(e,100,0,n.bsConfig),t(e,104,0,"endsAt"),t(e,107,0,"endsAt"),t(e,109,0,n.form.showError("endsAt",i["ɵnov"](e,6),"required")),t(e,115,0,0===n.matchers.length),t(e,117,0,n.matchers);var a=t(e,123,0,i["ɵnov"](e,6).submitted&&0===n.matchers.length);t(e,122,0,"btn btn-light float-right my-3",a);var r=t(e,127,0,n.icons.add);t(e,126,0,r),t(e,131,0,n.matchers.length&&n.matcherMatch),t(e,135,0,i["ɵnov"](e,6))}),(function(t,e){var n=e.component;t(e,4,0,i["ɵnov"](e,8).ngClassUntouched,i["ɵnov"](e,8).ngClassTouched,i["ɵnov"](e,8).ngClassPristine,i["ɵnov"](e,8).ngClassDirty,i["ɵnov"](e,8).ngClassValid,i["ɵnov"](e,8).ngClassInvalid,i["ɵnov"](e,8).ngClassPending);var a=i["ɵunv"](e,13,0,t(e,14,0,i["ɵnov"](e,0),n.action)),r=i["ɵunv"](e,13,1,t(e,15,0,i["ɵnov"](e,1),n.resource));t(e,13,0,a,r),t(e,19,0,i["ɵnov"](e,20).hasErrors,i["ɵnov"](e,20).hasSuccess),t(e,26,0,i["ɵnov"](e,31).ngClassUntouched,i["ɵnov"](e,31).ngClassTouched,i["ɵnov"](e,31).ngClassPristine,i["ɵnov"](e,31).ngClassDirty,i["ɵnov"](e,31).ngClassValid,i["ɵnov"](e,31).ngClassInvalid,i["ɵnov"](e,31).ngClassPending,i["ɵnov"](e,32).validClass,i["ɵnov"](e,32).invalidClass),t(e,35,0,i["ɵnov"](e,36).hasErrors,i["ɵnov"](e,36).hasSuccess),t(e,42,0,i["ɵnov"](e,47).ngClassUntouched,i["ɵnov"](e,47).ngClassTouched,i["ɵnov"](e,47).ngClassPristine,i["ɵnov"](e,47).ngClassDirty,i["ɵnov"](e,47).ngClassValid,i["ɵnov"](e,47).ngClassInvalid,i["ɵnov"](e,47).ngClassPending,i["ɵnov"](e,48).validClass,i["ɵnov"](e,48).invalidClass),t(e,52,0,i["ɵnov"](e,53).hasErrors,i["ɵnov"](e,53).hasSuccess),t(e,63,0,i["ɵnov"](e,71).ngClassUntouched,i["ɵnov"](e,71).ngClassTouched,i["ɵnov"](e,71).ngClassPristine,i["ɵnov"](e,71).ngClassDirty,i["ɵnov"](e,71).ngClassValid,i["ɵnov"](e,71).ngClassInvalid,i["ɵnov"](e,71).ngClassPending,i["ɵnov"](e,72).validClass,i["ɵnov"](e,72).invalidClass),t(e,75,0,i["ɵnov"](e,76).hasErrors,i["ɵnov"](e,76).hasSuccess),t(e,82,0,i["ɵnov"](e,87).ngClassUntouched,i["ɵnov"](e,87).ngClassTouched,i["ɵnov"](e,87).ngClassPristine,i["ɵnov"](e,87).ngClassDirty,i["ɵnov"](e,87).ngClassValid,i["ɵnov"](e,87).ngClassInvalid,i["ɵnov"](e,87).ngClassPending,i["ɵnov"](e,88).validClass,i["ɵnov"](e,88).invalidClass),t(e,91,0,i["ɵnov"](e,92).hasErrors,i["ɵnov"](e,92).hasSuccess),t(e,98,0,i["ɵnov"](e,106).ngClassUntouched,i["ɵnov"](e,106).ngClassTouched,i["ɵnov"](e,106).ngClassPristine,i["ɵnov"](e,106).ngClassDirty,i["ɵnov"](e,106).ngClassValid,i["ɵnov"](e,106).ngClassInvalid,i["ɵnov"](e,106).ngClassPending,i["ɵnov"](e,107).validClass,i["ɵnov"](e,107).invalidClass);var o=i["ɵunv"](e,136,0,t(e,137,0,i["ɵnov"](e,0),n.action)),s=i["ɵunv"](e,136,1,t(e,138,0,i["ɵnov"](e,1),n.resource));t(e,136,0,o,s)}))}function ru(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-prometheus-form",[],null,null,null,au,Bd)),i["ɵdid"](1,49152,null,0,Gd,[ia.a,St.m,yt.a,ys.a,he,gt.a,St.a,Fd,Mt.b,jd,vt.b,vt.d],null,null)],null,null)}var ou=i["ɵccf"]("cd-prometheus-form",Gd,ru,{},{},[]);let iu=(()=>{class t{constructor(e){this.route=e,this.route.queryParams.subscribe(e=>{this.fromLink=e.fromLink||t.defaultFromLink}),this.route.params.subscribe(t=>{this.serviceId=decodeURIComponent(t.id),this.serviceType=t.type})}}return t.defaultFromLink="/hosts",t})();var su=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function cu(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"legend",[],null,null,null,null,null)),(t()(),i["ɵted"](1,null,["",".",""])),(t()(),i["ɵeld"](2,0,null,null,1,"cd-table-performance-counter",[],null,null,null,Gi.b,Gi.a)),i["ɵdid"](3,114688,null,0,Bi.a,[Vi.a,ia.a],{serviceType:[0,"serviceType"],serviceId:[1,"serviceId"]},null)],(function(t,e){var n=e.component;t(e,3,0,n.serviceType,n.serviceId)}),(function(t,e){var n=e.component;t(e,1,0,n.serviceType,n.serviceId)}))}function lu(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-performance-counter",[],null,null,null,cu,su)),i["ɵdid"](1,49152,null,0,iu,[St.a],null,null)],null,null)}var du=i["ɵccf"]("cd-performance-counter",iu,lu,{},{},[]);let uu=(()=>{class t{constructor(t){this.http=t,this.url="api/mgr/module"}list(){return this.http.get(`${this.url}`)}getConfig(t){return this.http.get(`${this.url}/${t}`)}updateConfig(t,e){return this.http.put(`${this.url}/${t}`,{config:e})}enable(t){return this.http.post(`${this.url}/${t}/enable`,null)}disable(t){return this.http.post(`${this.url}/${t}/disable`,null)}getOptions(t){return this.http.get(`${this.url}/${t}/options`)}}return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t(i["ɵɵinject"](J.c))},token:t,providedIn:me.a}),t})();class gu{constructor(t){this.mgrModuleService=t}ngOnChanges(){if(this.selection.hasSelection){const t=this.selection.first();this.mgrModuleService.getConfig(t.name).subscribe(t=>{this.module_config=t})}}}var fu=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function pu(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,5,"tabset",[],[[2,"tab-container",null]],null,null,jn.b,jn.a)),i["ɵdid"](1,180224,null,0,Fn.e,[Fn.f,i.Renderer2,i.ElementRef],null,null),(t()(),i["ɵeld"](2,0,null,0,3,"tab",[["heading","Details"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](3,212992,null,0,Fn.b,[Fn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵeld"](4,0,null,null,1,"cd-table-key-value",[],null,null,null,Kr.b,Kr.a)),i["ɵdid"](5,638976,null,0,$r.a,[se.a],{data:[0,"data"]},null)],(function(t,e){var n=e.component;t(e,3,0,"Details"),t(e,5,0,n.module_config)}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).clazz),t(e,2,0,i["ɵnov"](e,3).id,i["ɵnov"](e,3).active,i["ɵnov"](e,3).addClass)}))}function mu(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,pu)),i["ɵdid"](1,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){t(e,1,0,e.component.selection.hasSingleSelection)}),null)}var hu=n("PqYM");let bu=(()=>{class t{constructor(t,e,n,a){this.authStorageService=t,this.mgrModuleService=e,this.notificationService=n,this.i18n=a,this.columns=[],this.modules=[],this.selection=new kr.a,this.permission=this.authStorageService.getPermissions().configOpt,this.columns=[{name:this.i18n("Name"),prop:"name",flexGrow:1},{name:this.i18n("Enabled"),prop:"enabled",flexGrow:1,cellClass:"text-center",cellTransformation:Sr.a.checkIcon},{name:this.i18n("Always-On"),prop:"always_on",isHidden:!0,flexGrow:1,cellClass:"text-center",cellTransformation:Sr.a.checkIcon}];const r=()=>this.selection.first()&&encodeURIComponent(this.selection.first().name);this.tableActions=[{name:this.i18n("Edit"),permission:"update",disable:()=>!this.selection.hasSelection||0===Object.values(this.selection.first().options).length,routerLink:()=>`/mgr-modules/edit/${r()}`,icon:ut.a.edit},{name:this.i18n("Enable"),permission:"update",click:()=>this.updateModuleState(),disable:()=>this.isTableActionDisabled("enabled"),icon:ut.a.start},{name:this.i18n("Disable"),permission:"update",click:()=>this.updateModuleState(),disable:()=>this.isTableActionDisabled("disabled"),disableDesc:()=>this.getTableActionDisabledDesc(),icon:ut.a.stop}]}getModuleList(t){this.mgrModuleService.list().subscribe(t=>{this.modules=t},()=>{t.error()})}updateSelection(t){this.selection=t}isTableActionDisabled(t){if(!this.selection.hasSelection)return!0;const e=this.selection.first();if("dashboard"===e.name)return!0;if(e.always_on)return!0;switch(t){case"enabled":return e.enabled;case"disabled":return!e.enabled}}getTableActionDisabledDesc(){if(this.selection.hasSelection&&this.selection.first().always_on)return this.i18n("This Manager module is always on.")}updateModuleState(){if(!this.selection.hasSelection)return;let t;const e=()=>{Object(hu.a)(2e3).subscribe(()=>{this.mgrModuleService.list().subscribe(()=>{this.notificationService.suspendToasties(!1),this.blockUI.stop(),this.table.refreshBtn()},()=>{e()})})},n=this.selection.first();t=n.enabled?this.mgrModuleService.disable(n.name):this.mgrModuleService.enable(n.name),t.subscribe(()=>{},()=>{this.notificationService.suspendToasties(!0),this.blockUI.start(this.i18n("Reconnecting, please wait ...")),e()})}}return Uc.__decorate([function(t,e,n){t[e]=k.decorate(void 0)},Uc.__metadata("design:type",Object)],t.prototype,"blockUI",void 0),t})();var yu=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function _u(t){return i["ɵvid"](0,[i["ɵqud"](402653184,1,{table:0}),(t()(),i["ɵeld"](1,0,null,null,5,"cd-table",[["columnMode","flex"],["identifier","module"],["selectionType","single"]],null,[[null,"updateSelection"],[null,"fetchData"]],(function(t,e,n){var a=!0,r=t.component;return"updateSelection"===e&&(a=!1!==r.updateSelection(n)&&a),"fetchData"===e&&(a=!1!==r.getModuleList(n)&&a),a}),br.b,br.a)),i["ɵdid"](2,2867200,[[1,4],["table",4]],0,yr.a,[i.NgZone,i.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],autoReload:[3,"autoReload"],identifier:[4,"identifier"],selectionType:[5,"selectionType"]},{fetchData:"fetchData",updateSelection:"updateSelection"}),(t()(),i["ɵeld"](3,0,null,1,1,"cd-table-actions",[["class","table-actions"]],null,null,null,_r.b,_r.a)),i["ɵdid"](4,114688,null,0,Or.a,[],{permission:[0,"permission"],selection:[1,"selection"],tableActions:[2,"tableActions"]},null),(t()(),i["ɵeld"](5,0,null,3,1,"cd-mgr-module-details",[["cdTableDetail",""]],null,null,null,mu,fu)),i["ɵdid"](6,573440,null,0,gu,[uu],{selection:[0,"selection"]},null)],(function(t,e){var n=e.component;t(e,2,0,n.modules,n.columns,"flex",!1,"module","single"),t(e,4,0,n.permission,n.selection,n.tableActions),t(e,6,0,n.selection)}),null)}function Ou(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-mgr-module-list",[],null,null,null,_u,yu)),i["ɵdid"](1,49152,null,0,bu,[yt.a,uu,gt.a,ia.a],null,null)],null,null)}var vu=i["ɵccf"]("cd-mgr-module-list",bu,Ou,{},{},[]);class Cu{constructor(t,e,n,a,r,o){this.route=t,this.router=e,this.formBuilder=n,this.mgrModuleService=a,this.notificationService=r,this.i18n=o,this.error=!1,this.loading=!1,this.moduleName="",this.moduleOptions=[]}ngOnInit(){this.route.params.subscribe(t=>{this.moduleName=decodeURIComponent(t.name),this.loading=!0;const e=[this.mgrModuleService.getOptions(this.moduleName),this.mgrModuleService.getConfig(this.moduleName)];Object(ls.a)(e).subscribe(t=>{this.loading=!1,this.moduleOptions=t[0],this.createForm(),this.mgrModuleForm.setValue(t[1])},t=>{this.error=!0})})}getValidators(t){const e=[];switch(t.type){case"addr":e.push(di.a.ip());break;case"uint":case"int":case"size":case"secs":e.push(di.a.number()),e.push(W.B.required),$.isNumber(t.min)&&e.push(W.B.min(t.min)),$.isNumber(t.max)&&e.push(W.B.max(t.max));break;case"str":$.isNumber(t.min)&&e.push(W.B.minLength(t.min)),$.isNumber(t.max)&&e.push(W.B.maxLength(t.max));break;case"float":e.push(W.B.required),e.push(di.a.decimalNumber());break;case"uuid":e.push(di.a.uuid())}return e}createForm(){const t={};$.forEach(this.moduleOptions,e=>{t[e.name]=[e.default_value,this.getValidators(e)]}),this.mgrModuleForm=this.formBuilder.group(t)}goToListView(){this.router.navigate(["/mgr-modules"])}onSubmit(){if(this.mgrModuleForm.pristine)return void this.goToListView();const t={};$.forEach(this.moduleOptions,e=>{const n=this.mgrModuleForm.get(e.name);n.dirty&&n.valid&&(t[e.name]=n.value)}),this.mgrModuleService.updateConfig(this.moduleName,t).subscribe(()=>{this.notificationService.show(be.a.success,this.i18n('Updated options for module "{{name}}".',{name:this.moduleName})),this.goToListView()},()=>{this.mgrModuleForm.setErrors({cdSubmitButton:!0})})}}var Pu=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Mu(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-loading-panel",[],null,null,null,Zr.b,Zr.a)),i["ɵdid"](1,49152,null,0,Jr.a,[],null,null),(t()(),i["ɵted"](-1,0,["Loading configuration..."]))],null,null)}function xu(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-alert-panel",[["type","error"]],null,null,null,vr.b,vr.a)),i["ɵdid"](1,114688,null,0,Cr.a,[ia.a],{type:[0,"type"]},null),(t()(),i["ɵted"](-1,0,["The configuration could not be loaded."]))],(function(t,e){t(e,1,0,"error")}),null)}function wu(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"cd-helper",[],null,null,null,Es.b,Es.a)),i["ɵdid"](1,49152,null,0,Ds.a,[],null,null),(t()(),i["ɵted"](2,0,[" "," "])),i["ɵppd"](3,1)],null,(function(t,e){var n=i["ɵunv"](e,2,0,t(e,3,0,i["ɵnov"](e.parent.parent.parent,0),e.parent.context.$implicit.value.long_desc||e.parent.context.$implicit.value.desc));t(e,2,0,n)}))}function Tu(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,9,"div",[["class","col-sm-7"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,8,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(t()(),i["ɵeld"](2,0,null,null,6,"input",[["class","custom-control-input"],["type","checkbox"]],[[8,"id",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(t,e,n){var a=!0;return"change"===e&&(a=!1!==i["ɵnov"](t,3).onChange(n.target.checked)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,3).onTouched()&&a),a}),null,null)),i["ɵdid"](3,16384,null,0,W.c,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.c]),i["ɵdid"](5,671744,[[1,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](7,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](8,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵeld"](9,0,null,null,0,"label",[["class","custom-control-label"]],[[8,"htmlFor",0]],null,null,null,null))],(function(t,e){t(e,5,0,i["ɵinlineInterpolate"](1,"",e.parent.context.$implicit.value.name,"")),t(e,8,0,i["ɵinlineInterpolate"](1,"",e.parent.context.$implicit.value.name,""))}),(function(t,e){t(e,2,0,i["ɵinlineInterpolate"](1,"",e.parent.context.$implicit.value.name,""),i["ɵnov"](e,7).ngClassUntouched,i["ɵnov"](e,7).ngClassTouched,i["ɵnov"](e,7).ngClassPristine,i["ɵnov"](e,7).ngClassDirty,i["ɵnov"](e,7).ngClassValid,i["ɵnov"](e,7).ngClassInvalid,i["ɵnov"](e,7).ngClassPending,i["ɵnov"](e,8).validClass,i["ɵnov"](e,8).invalidClass),t(e,9,0,i["ɵinlineInterpolate"](1,"",e.parent.context.$implicit.value.name,""))}))}function Su(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,"input",[["class","form-control"],["type","text"]],[[8,"id",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,1)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,1).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,1)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,1)._compositionEnd(n.target.value)&&a),a}),null,null)),i["ɵdid"](1,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](3,671744,[[1,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](5,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](6,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null)],(function(t,e){t(e,3,0,i["ɵinlineInterpolate"](1,"",e.parent.parent.context.$implicit.value.name,"")),t(e,6,0,i["ɵinlineInterpolate"](1,"",e.parent.parent.context.$implicit.value.name,""))}),(function(t,e){t(e,0,0,i["ɵinlineInterpolate"](1,"",e.parent.parent.context.$implicit.value.name,""),i["ɵnov"](e,5).ngClassUntouched,i["ɵnov"](e,5).ngClassTouched,i["ɵnov"](e,5).ngClassPristine,i["ɵnov"](e,5).ngClassDirty,i["ɵnov"](e,5).ngClassValid,i["ɵnov"](e,5).ngClassInvalid,i["ɵnov"](e,5).ngClassPending,i["ɵnov"](e,6).validClass,i["ɵnov"](e,6).invalidClass)}))}function ku(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{ngValue:[0,"ngValue"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(t()(),i["ɵted"](3,null,[" "," "]))],(function(t,e){t(e,1,0,e.context.$implicit),t(e,2,0,e.context.$implicit)}),(function(t,e){t(e,3,0,e.context.$implicit)}))}function Iu(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,8,"select",[["class","form-control custom-select"]],[[8,"id",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(t,e,n){var a=!0;return"change"===e&&(a=!1!==i["ɵnov"](t,1).onChange(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,1).onTouched()&&a),a}),null,null)),i["ɵdid"](1,16384,null,0,W.A,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.A]),i["ɵdid"](3,671744,[[1,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](5,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](6,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,ku)),i["ɵdid"](8,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){t(e,3,0,i["ɵinlineInterpolate"](1,"",e.parent.parent.context.$implicit.value.name,"")),t(e,6,0,i["ɵinlineInterpolate"](1,"",e.parent.parent.context.$implicit.value.name,"")),t(e,8,0,e.parent.parent.context.$implicit.value.enum_allowed)}),(function(t,e){t(e,0,0,i["ɵinlineInterpolate"](1,"",e.parent.parent.context.$implicit.value.name,""),i["ɵnov"](e,5).ngClassUntouched,i["ɵnov"](e,5).ngClassTouched,i["ɵnov"](e,5).ngClassPristine,i["ɵnov"](e,5).ngClassDirty,i["ɵnov"](e,5).ngClassValid,i["ɵnov"](e,5).ngClassInvalid,i["ɵnov"](e,5).ngClassPending,i["ɵnov"](e,6).validClass,i["ɵnov"](e,6).invalidClass)}))}function Nu(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["The entered value is not a valid UUID, e.g.: 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8"]))],null,null)}function Ru(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["The entered value needs to be a valid IP address."]))],null,null)}function Au(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,8,"div",[["class","col-sm-7"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Su)),i["ɵdid"](2,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Iu)),i["ɵdid"](4,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Nu)),i["ɵdid"](6,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Ru)),i["ɵdid"](8,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,2,0,0===e.parent.context.$implicit.value.enum_allowed.length),t(e,4,0,e.parent.context.$implicit.value.enum_allowed.length>0),t(e,6,0,n.mgrModuleForm.showError(e.parent.context.$implicit.value.name,i["ɵnov"](e.parent.parent,3),"invalidUuid")),t(e,8,0,n.mgrModuleForm.showError(e.parent.context.$implicit.value.name,i["ɵnov"](e.parent.parent,3),"pattern"))}),null)}function Eu(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["This field is required."]))],null,null)}function Du(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](1,null,["The entered value is too high! It must be lower or equal to ","."]))],null,(function(t,e){t(e,1,0,e.parent.parent.context.$implicit.value.max)}))}function Lu(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](1,null,["The entered value is too low! It must be greater or equal to ","."]))],null,(function(t,e){t(e,1,0,e.parent.parent.context.$implicit.value.min)}))}function qu(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["The entered value needs to be a number."]))],null,null)}function ju(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,16,"div",[["class","col-sm-7"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,7,"input",[["class","form-control"],["type","number"]],[[8,"id",0],[8,"min",0],[8,"max",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,2)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,2).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,2)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,2)._compositionEnd(n.target.value)&&a),"change"===e&&(a=!1!==i["ɵnov"](t,3).onChange(n.target.value)&&a),"input"===e&&(a=!1!==i["ɵnov"](t,3).onChange(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,3).onTouched()&&a),a}),null,null)),i["ɵdid"](2,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵdid"](3,16384,null,0,W.w,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t,e){return[t,e]}),[W.e,W.w]),i["ɵdid"](5,671744,[[1,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](7,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](8,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Eu)),i["ɵdid"](10,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Du)),i["ɵdid"](12,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Lu)),i["ɵdid"](14,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,qu)),i["ɵdid"](16,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,5,0,i["ɵinlineInterpolate"](1,"",e.parent.context.$implicit.value.name,"")),t(e,8,0,i["ɵinlineInterpolate"](1,"",e.parent.context.$implicit.value.name,"")),t(e,10,0,n.mgrModuleForm.showError(e.parent.context.$implicit.value.name,i["ɵnov"](e.parent.parent,3),"required")),t(e,12,0,n.mgrModuleForm.showError(e.parent.context.$implicit.value.name,i["ɵnov"](e.parent.parent,3),"max")),t(e,14,0,n.mgrModuleForm.showError(e.parent.context.$implicit.value.name,i["ɵnov"](e.parent.parent,3),"min")),t(e,16,0,n.mgrModuleForm.showError(e.parent.context.$implicit.value.name,i["ɵnov"](e.parent.parent,3),"pattern"))}),(function(t,e){t(e,1,1,[i["ɵinlineInterpolate"](1,"",e.parent.context.$implicit.value.name,""),i["ɵinlineInterpolate"](1,"",e.parent.context.$implicit.value.min,""),i["ɵinlineInterpolate"](1,"",e.parent.context.$implicit.value.max,""),i["ɵnov"](e,7).ngClassUntouched,i["ɵnov"](e,7).ngClassTouched,i["ɵnov"](e,7).ngClassPristine,i["ɵnov"](e,7).ngClassDirty,i["ɵnov"](e,7).ngClassValid,i["ɵnov"](e,7).ngClassInvalid,i["ɵnov"](e,7).ngClassPending,i["ɵnov"](e,8).validClass,i["ɵnov"](e,8).invalidClass])}))}function Fu(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["This field is required."]))],null,null)}function zu(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["The entered value needs to be a number or decimal."]))],null,null)}function Gu(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,12,"div",[["class","col-sm-7"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,7,"input",[["class","form-control"],["type","number"]],[[8,"id",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,2)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,2).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,2)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,2)._compositionEnd(n.target.value)&&a),"change"===e&&(a=!1!==i["ɵnov"](t,3).onChange(n.target.value)&&a),"input"===e&&(a=!1!==i["ɵnov"](t,3).onChange(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,3).onTouched()&&a),a}),null,null)),i["ɵdid"](2,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵdid"](3,16384,null,0,W.w,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t,e){return[t,e]}),[W.e,W.w]),i["ɵdid"](5,671744,[[1,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](7,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](8,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Fu)),i["ɵdid"](10,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,zu)),i["ɵdid"](12,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,5,0,i["ɵinlineInterpolate"](1,"",e.parent.context.$implicit.value.name,"")),t(e,8,0,i["ɵinlineInterpolate"](1,"",e.parent.context.$implicit.value.name,"")),t(e,10,0,n.mgrModuleForm.showError(e.parent.context.$implicit.value.name,i["ɵnov"](e.parent.parent,3),"required")),t(e,12,0,n.mgrModuleForm.showError(e.parent.context.$implicit.value.name,i["ɵnov"](e.parent.parent,3),"pattern"))}),(function(t,e){t(e,1,0,i["ɵinlineInterpolate"](1,"",e.parent.context.$implicit.value.name,""),i["ɵnov"](e,7).ngClassUntouched,i["ɵnov"](e,7).ngClassTouched,i["ɵnov"](e,7).ngClassPristine,i["ɵnov"](e,7).ngClassDirty,i["ɵnov"](e,7).ngClassValid,i["ɵnov"](e,7).ngClassInvalid,i["ɵnov"](e,7).ngClassPending,i["ɵnov"](e,8).validClass,i["ɵnov"](e,8).invalidClass)}))}function Bu(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,17,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](1,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,1,{FormControlNames:1}),i["ɵqud"](603979776,2,{messagesBlock:0}),(t()(),i["ɵeld"](4,0,null,0,3,"label",[["class","col-form-label col-sm-5"]],[[8,"htmlFor",0]],null,null,null,null)),(t()(),i["ɵted"](5,null,[" "," "])),(t()(),i["ɵand"](16777216,null,null,1,null,wu)),i["ɵdid"](7,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,Tu)),i["ɵdid"](9,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,2,null,Au)),i["ɵdid"](11,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),i["ɵpad"](12,3),(t()(),i["ɵand"](16777216,null,0,2,null,ju)),i["ɵdid"](14,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),i["ɵpad"](15,4),(t()(),i["ɵand"](16777216,null,0,1,null,Gu)),i["ɵdid"](17,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){t(e,1,0),t(e,7,0,e.context.$implicit.value.long_desc||e.context.$implicit.value.desc),t(e,9,0,"bool"===e.context.$implicit.value.type);var n=t(e,12,0,"addr","str","uuid").includes(e.context.$implicit.value.type);t(e,11,0,n);var a=t(e,15,0,"uint","int","size","secs").includes(e.context.$implicit.value.type);t(e,14,0,a),t(e,17,0,"float"===e.context.$implicit.value.type)}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).hasErrors,i["ɵnov"](e,1).hasSuccess),t(e,4,0,i["ɵinlineInterpolate"](1,"",e.context.$implicit.value.name,"")),t(e,5,0,e.context.$implicit.value.name)}))}function Vu(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,22,"div",[["class","cd-col-form"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,21,"form",[["name","mgrModuleForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(t,e,n){var a=!0;return"submit"===e&&(a=!1!==i["ɵnov"](t,3).onSubmit(n)&&a),"reset"===e&&(a=!1!==i["ɵnov"](t,3).onReset()&&a),"submit"===e&&(a=!1!==i["ɵnov"](t,6).onSubmit()&&a),a}),null,null)),i["ɵdid"](2,16384,null,0,W.G,[],null,null),i["ɵdid"](3,540672,[["frm",4]],0,W.l,[[8,null],[8,null]],{form:[0,"form"]},null),i["ɵprd"](2048,null,W.d,null,[W.l]),i["ɵdid"](5,16384,null,0,W.s,[[4,W.d]],null,null),i["ɵdid"](6,16384,null,0,K.d,[],{formGroup:[0,"formGroup"]},null),(t()(),i["ɵeld"](7,0,null,null,15,"div",[["class","card"]],null,null,null,null,null)),(t()(),i["ɵeld"](8,0,null,null,1,"div",[["class","card-header"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Edit Manager module"])),(t()(),i["ɵeld"](10,0,null,null,3,"div",[["class","card-body"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,2,null,Bu)),i["ɵdid"](12,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),i["ɵpid"](0,o.KeyValuePipe,[i.KeyValueDiffers]),(t()(),i["ɵeld"](14,0,null,null,8,"div",[["class","card-footer"]],null,null,null,null,null)),(t()(),i["ɵeld"](15,0,null,null,7,"div",[["class","button-group text-right"]],null,null,null,null,null)),(t()(),i["ɵeld"](16,0,null,null,3,"cd-submit-button",[],null,[[null,"submitAction"]],(function(t,e,n){var a=!0;return"submitAction"===e&&(a=!1!==t.component.onSubmit()&&a),a}),ri.b,ri.a)),i["ɵdid"](17,114688,null,0,oi.a,[i.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(t()(),i["ɵeld"](18,0,null,0,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Update"])),(t()(),i["ɵeld"](20,0,null,null,2,"button",[["class","btn btn-light"],["routerLink","/mgr-modules"],["type","button"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,21).onClick()&&a),a}),null,null)),i["ɵdid"](21,16384,null,0,St.n,[St.m,St.a,[8,null],i.Renderer2,i.ElementRef],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵted"](-1,null,["Back"]))],(function(t,e){var n=e.component;t(e,3,0,n.mgrModuleForm),t(e,6,0,n.mgrModuleForm),t(e,12,0,i["ɵunv"](e,12,0,i["ɵnov"](e,13).transform(n.moduleOptions))),t(e,17,0,n.mgrModuleForm),t(e,21,0,"/mgr-modules")}),(function(t,e){t(e,1,0,i["ɵnov"](e,5).ngClassUntouched,i["ɵnov"](e,5).ngClassTouched,i["ɵnov"](e,5).ngClassPristine,i["ɵnov"](e,5).ngClassDirty,i["ɵnov"](e,5).ngClassValid,i["ɵnov"](e,5).ngClassInvalid,i["ɵnov"](e,5).ngClassPending)}))}function Yu(t){return i["ɵvid"](0,[i["ɵpid"](0,ci.a,[]),(t()(),i["ɵand"](16777216,null,null,1,null,Mu)),i["ɵdid"](2,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,xu)),i["ɵdid"](4,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Vu)),i["ɵdid"](6,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,2,0,n.loading&&!n.error),t(e,4,0,n.loading&&n.error),t(e,6,0,!n.loading&&!n.error)}),null)}function Hu(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-mgr-module-form",[],null,null,null,Yu,Pu)),i["ɵdid"](1,114688,null,0,Cu,[St.a,St.m,ys.a,uu,gt.a,ia.a],null,null)],(function(t,e){t(e,1,0)}),null)}var Uu=i["ɵccf"]("cd-mgr-module-form",Cu,Hu,{},{},[]),Wu=n("xTzq");let Ku=(()=>{let t=class{constructor(t){this.http=t,this.baseURL="api/cephfs",this.baseUiURL="ui-api/cephfs"}list(){return this.http.get(`${this.baseURL}`)}lsDir(t,e){let n=`${this.baseUiURL}/${t}/ls_dir?depth=2`;return e&&(n+=`&path=${encodeURIComponent(e)}`),this.http.get(n)}getCephfs(t){return this.http.get(`${this.baseURL}/${t}`)}getTabs(t){return this.http.get(`ui-api/cephfs/${t}/tabs`)}getClients(t){return this.http.get(`${this.baseURL}/${t}/clients`)}evictClient(t,e){return this.http.delete(`${this.baseURL}/${t}/client/${e}`)}getMdsCounters(t){return this.http.get(`${this.baseURL}/${t}/mds_counters`)}mkSnapshot(t,e,n){let a=new J.h;return a=a.append("path",e),$.isUndefined(n)||(a=a.append("name",n)),this.http.post(`${this.baseURL}/${t}/mk_snapshot`,null,{params:a})}rmSnapshot(t,e,n){let a=new J.h;return a=a.append("path",e),a=a.append("name",n),this.http.post(`${this.baseURL}/${t}/rm_snapshot`,null,{params:a})}updateQuota(t,e,n){let a=new J.h;return a=a.append("path",e),this.http.post(`${this.baseURL}/${t}/set_quotas`,n,{observe:"response",params:a})}};return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t(i["ɵɵinject"](J.c))},token:t,providedIn:me.a}),t=Uc.__decorate([Wu.a,Uc.__metadata("design:paramtypes",[J.c])],t),t})();class $u{constructor(t,e,n,a,r,o,i,s){this.authStorageService=t,this.modalService=e,this.cephfsService=n,this.cdDatePipe=a,this.i18n=r,this.actionLabels=o,this.notificationService=i,this.dimlessBinaryPipe=s,this.icons=ut.a,this.loadingIndicator=!1,this.loading={},this.treeOptions={useVirtualScroll:!0,getChildren:t=>this.updateDirectory(t.id),actionMapping:{mouse:{click:this.selectAndShowNode.bind(this),expanderClick:this.selectAndShowNode.bind(this)}}}}selectAndShowNode(t,e,n){Wc.a.TOGGLE_EXPANDED(t,e,n),this.selectNode(e)}selectNode(t){Wc.a.TOGGLE_ACTIVE(void 0,t,void 0),this.selectedDir=this.getDirectory(t),"/"!==t.id&&this.setSettings(t)}ngOnInit(){this.permission=this.authStorageService.getPermissions().cephfs,this.setUpQuotaTable(),this.setUpSnapshotTable()}setUpQuotaTable(){this.quota={columns:[{prop:"row.name",name:this.i18n("Name"),flexGrow:1},{prop:"row.value",name:this.i18n("Value"),sortable:!1,flexGrow:1},{prop:"row.originPath",name:this.i18n("Origin"),sortable:!1,cellTemplate:this.originTmpl,flexGrow:1}],selection:new kr.a,updateSelection:t=>{this.quota.selection=t},tableActions:[{name:this.actionLabels.SET,icon:ut.a.edit,permission:"update",visible:t=>!t.hasSelection||t.first()&&0===t.first().dirValue,click:()=>this.updateQuotaModal()},{name:this.actionLabels.UPDATE,icon:ut.a.edit,permission:"update",visible:t=>t.first()&&t.first().dirValue>0,click:()=>this.updateQuotaModal()},{name:this.actionLabels.UNSET,icon:ut.a.destroy,permission:"update",disable:t=>!t.hasSelection||t.first()&&0===t.first().dirValue,click:()=>this.unsetQuotaModal()}]}}setUpSnapshotTable(){this.snapshot={columns:[{prop:"name",name:this.i18n("Name"),flexGrow:1},{prop:"path",name:this.i18n("Path"),isHidden:!0,flexGrow:2},{prop:"created",name:this.i18n("Created"),flexGrow:1,pipe:this.cdDatePipe}],selection:new kr.a,updateSelection:t=>{this.snapshot.selection=t},tableActions:[{name:this.actionLabels.CREATE,icon:ut.a.add,permission:"create",canBePrimary:t=>!t.hasSelection,click:()=>this.createSnapshot()},{name:this.actionLabels.DELETE,icon:ut.a.destroy,permission:"delete",click:()=>this.deleteSnapshotModal(),canBePrimary:t=>t.hasSelection,disable:t=>!t.hasSelection}]}}ngOnChanges(){this.selectedDir=void 0,this.dirs=[],this.requestedPaths=[],this.nodeIds={},this.id&&(this.setRootNode(),this.firstCall())}setRootNode(){this.nodes=[{name:"/",id:"/",isExpanded:!0}]}firstCall(){setTimeout(()=>{this.getNode("/").loadNodeChildren()},10)}updateDirectory(t){if(this.unsetLoadingIndicator(),this.requestedPaths.includes(t)){if(!0===this.loading[t])return}else this.requestedPaths.push(t);return new Promise(e=>{this.setLoadingIndicator(t,!0),this.cephfsService.lsDir(this.id,t).subscribe(n=>{this.updateTreeStructure(n),this.updateQuotaTable(),this.updateTree(),e(this.getChildren(t)),this.setLoadingIndicator(t,!1)})})}setLoadingIndicator(t,e){this.loading[t]=e,this.unsetLoadingIndicator()}getSubDirectories(t,e=this.dirs){return e.filter(e=>e.parent===t)}getChildren(t){const e=this.getSubTree(t);return $.sortBy(this.getSubDirectories(t),"path").map(t=>this.createNode(t,e))}createNode(t,e){return this.nodeIds[t.path]=t,e||this.getSubTree(t.parent),{name:t.name,id:t.path,hasChildren:this.getSubDirectories(t.path,e).length>0}}getSubTree(t){return this.dirs.filter(e=>e.parent&&e.parent.startsWith(t))}setSettings(t){const e=(t,e)=>t?e?e(t):t:"";this.settings=[this.getQuota(t,"max_files",e),this.getQuota(t,"max_bytes",t=>e(t,t=>this.dimlessBinaryPipe.transform(t)))]}getQuota(t,e,n){const a=t.id;t=this.getOrigin(t,e);const r=this.getDirectory(t),o=r.quotas[e];let i=o,s=r.path;if(t.id===a)if("/"===t.parent.id)i=0;else{const n=this.getDirectory(this.getOrigin(t.parent,e));i=n.quotas[e],s=n.path}return{row:{name:this.i18n("max_bytes"===e?"Max size":"Max files"),value:n(o),originPath:o?r.path:""},quotaKey:e,dirValue:this.nodeIds[a].quotas[e],nextTreeMaximum:{value:i,path:i?s:""}}}getOrigin(t,e){if(t.parent&&"/"!==t.parent.id){const n=this.getQuotaFromTree(t,e),a=this.getOrigin(t.parent,e),r=this.getQuotaFromTree(a,e);return 0===n||0!==r&&r<n?a:t}return t}getQuotaFromTree(t,e){return this.getDirectory(t).quotas[e]}getDirectory(t){return this.nodeIds[t.id]}selectOrigin(t){this.selectNode(this.getNode(t))}getNode(t){return this.treeComponent.treeModel.getNodeById(t)}updateQuotaModal(){const t=this.selectedDir.path,e=this.quota.selection.first(),n=e.nextTreeMaximum,a=e.quotaKey,r=e.dirValue;this.modalService.show(Tr.a,{initialState:{titleText:this.getModalQuotaTitle(0===r?this.actionLabels.SET:this.actionLabels.UPDATE,t),message:n.value?this.i18n("The inherited {{quotaValue}} is the maximum value to be used.",{quotaValue:this.getQuotaValueFromPathMsg(n.value,n.path)}):void 0,fields:[this.getQuotaFormField(e.row.name,a,r,n.value)],submitButtonText:this.i18n("Save"),onSubmit:t=>this.updateQuota(t)}})}getModalQuotaTitle(t,e){return this.i18n("{{action}} CephFS {{quotaName}} quota for '{{path}}'",{action:t,quotaName:this.getQuotaName(),path:e})}getQuotaName(){return this.isBytesQuotaSelected()?this.i18n("size"):this.i18n("files")}isBytesQuotaSelected(){return"max_bytes"===this.quota.selection.first().quotaKey}getQuotaValueFromPathMsg(t,e){return this.i18n("{{quotaName}} quota {{value}} from '{{path}}'",{value:this.isBytesQuotaSelected()?this.dimlessBinaryPipe.transform(t):t,quotaName:this.getQuotaName(),path:e})}getQuotaFormField(t,e,n,a){const r="max_bytes"===e,o=[r?di.a.binaryMin(0):W.B.min(0)];a&&o.push(r?di.a.binaryMax(a):W.B.max(a));const i={type:r?"binary":"number",label:t,name:e,value:n,validators:o,required:!0};return r||(i.errors={min:this.i18n("Value has to be at least {{value}} or more",{value:0}),max:this.i18n("Value has to be at most {{value}} or less",{value:a})}),i}updateQuota(t,e){const n=this.selectedDir.path,a=this.quota.selection.first().quotaKey,r=0===this.selectedDir.quotas[a]?this.actionLabels.SET:0===t[a]?this.actionLabels.UNSET:this.i18n("Updated");this.cephfsService.updateQuota(this.id,n,t).subscribe(()=>{e&&e(),this.notificationService.show(be.a.success,this.getModalQuotaTitle(r,n)),this.forceDirRefresh()})}unsetQuotaModal(){const t=this.selectedDir.path,e=this.quota.selection.first(),n=e.quotaKey,a=e.nextTreeMaximum,r=e.dirValue;this.modalRef=this.modalService.show(ds.a,{initialState:{titleText:this.getModalQuotaTitle(this.actionLabels.UNSET,t),buttonText:this.actionLabels.UNSET,description:this.i18n("{{action}} {{quotaValue}} {{conclusion}}.",{action:this.actionLabels.UNSET,quotaValue:this.getQuotaValueFromPathMsg(r,t),conclusion:a.value>0?this.i18n(a.value>r?"in order to inherit {{quotaValue}}":"which isn't used because of the inheritance of {{quotaValue}}",{quotaValue:this.getQuotaValueFromPathMsg(a.value,a.path)}):this.i18n("in order to have no quota on the directory")}),onSubmit:()=>this.updateQuota({[n]:0},()=>this.modalRef.hide())}})}createSnapshot(){const t=this.selectedDir.path;this.modalService.show(Tr.a,{initialState:{titleText:this.i18n("Create Snapshot"),message:this.i18n("Please enter the name of the snapshot."),fields:[{type:"text",name:"name",value:`${oe().toISOString(!0)}`,required:!0}],submitButtonText:this.i18n("Create Snapshot"),onSubmit:e=>{this.cephfsService.mkSnapshot(this.id,t,e.name).subscribe(e=>{this.notificationService.show(be.a.success,this.i18n('Created snapshot "{{name}}" for "{{path}}"',{name:e,path:t})),this.forceDirRefresh()})}}})}forceDirRefresh(t){if(!t){const e=this.selectedDir;if(!e)throw new Error("This function can only be called without path if an selection was made");t=e.parent?e.parent:e.path}this.getNode(t).loadNodeChildren()}updateTreeStructure(t){const e=(t,e)=>{const n=t.filter(t=>t.parent===e),a=n.map(t=>t.path);return{children:n,paths:a}};$.uniq(t.map(t=>t.parent).sort()).forEach(n=>{const a=e(t,n),r=e(this.dirs,n);r.children.forEach(t=>{a.paths.includes(t.path)||this.removeOldDirectory(t)}),a.children.forEach(t=>{r.paths.includes(t.path)?this.updateExistingDirectory(r.children,t):this.addNewDirectory(t)})})}removeOldDirectory(t){const e=t.path;$.remove(this.dirs,t=>t.path===e),delete this.nodeIds[e],this.updateDirectoriesParentNode(t)}updateDirectoriesParentNode(t){const e=t.parent;if(!e)return;const n=this.getNode(e);if(!n)return;const a=this.getChildren(e);n.data.children=a,n.data.hasChildren=a.length>0,this.treeComponent.treeModel.update()}addNewDirectory(t){this.dirs.push(t),this.nodeIds[t.path]=t,this.updateDirectoriesParentNode(t)}updateExistingDirectory(t,e){const n=t.find(t=>t.path===e.path);Object.assign(n,e)}updateQuotaTable(){const t=this.selectedDir?this.getNode(this.selectedDir.path):void 0;t&&"/"!==t.id&&this.setSettings(t)}updateTree(t=!1){this.loadingIndicator&&!t||(this.treeComponent.treeModel.update(),this.nodes=[...this.nodes],this.treeComponent.sizeChanged())}deleteSnapshotModal(){this.modalRef=this.modalService.show(Fo.a,{initialState:{itemDescription:this.i18n("CephFs Snapshot"),itemNames:this.snapshot.selection.selected.map(t=>t.name),submitAction:()=>this.deleteSnapshot()}})}deleteSnapshot(){const t=this.selectedDir.path;this.snapshot.selection.selected.forEach(e=>{const n=e.name;this.cephfsService.rmSnapshot(this.id,t,n).subscribe(()=>{this.notificationService.show(be.a.success,this.i18n('Deleted snapshot "{{name}}" for "{{path}}"',{name:n,path:t}))})}),this.modalRef.hide(),this.forceDirRefresh()}refreshAllDirectories(){this.loadingIndicator=!0,this.requestedPaths.map(t=>this.forceDirRefresh(t));const t=setInterval(()=>{this.updateTree(!0),this.loadingIndicator||clearInterval(t)},3e3)}unsetLoadingIndicator(){this.loadingIndicator&&(clearTimeout(this.loadingTimeout),this.loadingTimeout=setTimeout(()=>{if(Object.values(this.loading).some(t=>t))return this.unsetLoadingIndicator();this.loadingIndicator=!1,this.updateTree()},3e3))}}var Zu=i["ɵcrt"]({encapsulation:0,styles:[["tree-root .tree-children{overflow:inherit}.quota-origin[_ngcontent-%COMP%]{cursor:pointer;color:#2b99a8}.quota-origin[_ngcontent-%COMP%]:hover{color:#212121}"]],data:{}});function Ju(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"i",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](2,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](3,2)],(function(t,e){var n=e.component,a=t(e,3,0,n.icons.spinner,n.icons.spin);t(e,2,0,a)}),null)}function Xu(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,7,"tree-root",[],null,[["body","keydown"],["body","mousedown"]],(function(t,e,n){var a=!0;return"body:keydown"===e&&(a=!1!==i["ɵnov"](t,2).onKeydown(n)&&a),"body:mousedown"===e&&(a=!1!==i["ɵnov"](t,2).onMousedown(n)&&a),a}),Bc.b,Bc.a)),i["ɵprd"](131584,null,Vc.a,Vc.a,[]),i["ɵdid"](2,573440,[[1,4]],4,Yc.a,[Vc.a,Hc.a],{nodes:[0,"nodes"],options:[1,"options"]},null),i["ɵqud"](603979776,3,{loadingTemplate:0}),i["ɵqud"](603979776,4,{treeNodeTemplate:0}),i["ɵqud"](603979776,5,{treeNodeWrapperTemplate:0}),i["ɵqud"](603979776,6,{treeNodeFullTemplate:0}),(t()(),i["ɵand"](0,[[3,2],["loadingTemplate",2]],null,0,null,Ju))],(function(t,e){var n=e.component;t(e,2,0,n.nodes,n.treeOptions)}),null)}function Qu(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,1,"legend",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Quotas"])),(t()(),i["ɵeld"](3,0,null,null,3,"cd-table",[["identifier","quotaKey"],["selectionType","single"]],null,[[null,"updateSelection"]],(function(t,e,n){var a=!0;return"updateSelection"===e&&(a=!1!==t.component.quota.updateSelection(n)&&a),a}),br.b,br.a)),i["ɵdid"](4,2867200,null,0,yr.a,[i.NgZone,i.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],onlyActionHeader:[2,"onlyActionHeader"],toolHeader:[3,"toolHeader"],footer:[4,"footer"],limit:[5,"limit"],identifier:[6,"identifier"],forceIdentifier:[7,"forceIdentifier"],selectionType:[8,"selectionType"]},{updateSelection:"updateSelection"}),(t()(),i["ɵeld"](5,0,null,0,1,"cd-table-actions",[["class","only-table-actions"]],null,null,null,_r.b,_r.a)),i["ɵdid"](6,114688,null,0,Or.a,[],{permission:[0,"permission"],selection:[1,"selection"],tableActions:[2,"tableActions"]},null)],(function(t,e){var n=e.component;t(e,4,0,n.settings,n.quota.columns,!0,!1,!1,0,"quotaKey",!0,"single"),t(e,6,0,n.permission,n.quota.selection,n.quota.tableActions)}),null)}function tg(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,12,"div",[["class","col-sm-8 metadata"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,11,"div",[["class","card"]],null,null,null,null,null)),(t()(),i["ɵeld"](2,0,null,null,1,"div",[["class","card-header"]],null,null,null,null,null)),(t()(),i["ɵted"](3,null,[" "," "])),(t()(),i["ɵeld"](4,0,null,null,8,"div",[["class","card-body"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Qu)),i["ɵdid"](6,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](7,0,null,null,1,"legend",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Snapshots"])),(t()(),i["ɵeld"](9,0,null,null,3,"cd-table",[["forceIdentifier","true"],["identifier","name"],["selectionType","multiClick"]],null,[[null,"updateSelection"]],(function(t,e,n){var a=!0;return"updateSelection"===e&&(a=!1!==t.component.snapshot.updateSelection(n)&&a),a}),br.b,br.a)),i["ɵdid"](10,2867200,null,0,yr.a,[i.NgZone,i.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],identifier:[2,"identifier"],forceIdentifier:[3,"forceIdentifier"],selectionType:[4,"selectionType"]},{updateSelection:"updateSelection"}),(t()(),i["ɵeld"](11,0,null,1,1,"cd-table-actions",[["class","table-actions"]],null,null,null,_r.b,_r.a)),i["ɵdid"](12,114688,null,0,Or.a,[],{permission:[0,"permission"],selection:[1,"selection"],tableActions:[2,"tableActions"]},null)],(function(t,e){var n=e.component;t(e,6,0,"/"!==n.selectedDir.path),t(e,10,0,n.selectedDir.snapshots,n.snapshot.columns,"name","true","multiClick"),t(e,12,0,n.permission,n.snapshot.selection,n.snapshot.tableActions)}),(function(t,e){t(e,3,0,e.component.selectedDir.path)}))}function eg(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","quota-origin"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.selectOrigin(t.context.value)&&a),a}),null,null)),(t()(),i["ɵted"](1,null,["",""]))],null,(function(t,e){t(e,1,0,e.context.value)}))}function ng(t){return i["ɵvid"](0,[i["ɵqud"](671088640,1,{treeComponent:0}),i["ɵqud"](402653184,2,{originTmpl:0}),(t()(),i["ɵeld"](2,0,null,null,13,"div",[["class","row"]],null,null,null,null,null)),(t()(),i["ɵeld"](3,0,null,null,10,"div",[["class","col-sm-4 pr-0"]],null,null,null,null,null)),(t()(),i["ɵeld"](4,0,null,null,9,"div",[["class","card"]],null,null,null,null,null)),(t()(),i["ɵeld"](5,0,null,null,5,"div",[["class","card-header"]],null,null,null,null,null)),(t()(),i["ɵeld"](6,0,null,null,4,"button",[["class","btn btn-light pull-right"],["type","button"]],[[2,"disabled",null]],[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.refreshAllDirectories()&&a),a}),null,null)),(t()(),i["ɵeld"](7,0,null,null,3,"i",[],[[2,"fa-spin",null]],null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](9,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](10,2),(t()(),i["ɵeld"](11,0,null,null,2,"div",[["class","card-body"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Xu)),i["ɵdid"](13,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,tg)),i["ɵdid"](15,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](0,[[2,2],["origin",2]],null,0,null,eg))],(function(t,e){var n=e.component,a=t(e,10,0,n.icons.large,n.icons.refresh);t(e,9,0,a),t(e,13,0,n.nodes),t(e,15,0,n.selectedDir)}),(function(t,e){var n=e.component;t(e,6,0,n.loadingIndicator),t(e,7,0,n.loadingIndicator)}))}class ag{constructor(){this.lhsCounter="mds_mem.ino",this.rhsCounter="mds_server.handle_client_request",this.chart={datasets:[{label:this.lhsCounter,yAxisID:"LHS",data:[],lineTension:.1},{label:this.rhsCounter,yAxisID:"RHS",data:[],lineTension:.1}],options:{title:{text:"",display:!0},responsive:!0,maintainAspectRatio:!1,legend:{position:"top"},scales:{xAxes:[{position:"top",type:"time",time:{displayFormats:{quarter:"MMM YYYY"}},ticks:{maxRotation:0}}],yAxes:[{id:"LHS",type:"linear",position:"left"},{id:"RHS",type:"linear",position:"right"}]},tooltips:{enabled:!1,mode:"index",intersect:!1,position:"nearest",callbacks:{title:(t,e)=>{let n=0;if(t.length>0){const a=t[0];n=e.datasets[a.datasetIndex].data[a.index].x}return n.toString()}}}},chartType:"line"}}ngOnInit(){$.isUndefined(this.mdsCounter)||(this.setChartTooltip(),this.updateChart())}ngOnChanges(){$.isUndefined(this.mdsCounter)||this.updateChart()}setChartTooltip(){const t=new Xn.a(this.chartCanvas,this.chartTooltip,t=>t.caretX+"px",t=>t.caretY-t.height-23+"px");t.getTitle=t=>oe(t,"x").format("LTS"),t.checkOffset=!0,$.merge(this.chart,{options:{title:{text:this.mdsCounter.name},tooltips:{custom:e=>t.customTooltips(e)}}})}updateChart(){const t=[{data:this.convertTimeSeries(this.mdsCounter[this.lhsCounter])},{data:this.deltaTimeSeries(this.mdsCounter[this.rhsCounter])}];$.merge(this.chart,{datasets:t}),this.chart.datasets=[...this.chart.datasets]}convertTimeSeries(t){const e=[];return $.each(t,t=>{e.push({x:1e3*t[0],y:t[1]})}),e.shift(),e}deltaTimeSeries(t){let e,n=t[0];const a=[];for(e=1;e<t.length;e++){const r=t[e];a.push({x:1e3*r[0],y:r[1]-n[1]}),n=r}return a}}var rg=i["ɵcrt"]({encapsulation:0,styles:[['canvas[_ngcontent-%COMP%]{-moz-user-select:none;user-select:none}.chartjs-tooltip[_ngcontent-%COMP%]{opacity:0;position:absolute;background:rgba(0,0,0,.7);color:#fff;border-radius:3px;transition:all .1s ease;pointer-events:none;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif!important;transform:translate(-50%,0)}.chartjs-tooltip.transform-left[_ngcontent-%COMP%]{transform:translate(-10%,0)}.chartjs-tooltip.transform-left[_ngcontent-%COMP%]::after{left:10%}.chartjs-tooltip.transform-right[_ngcontent-%COMP%]{transform:translate(-90%,0)}.chartjs-tooltip.transform-right[_ngcontent-%COMP%]::after{left:90%}.chartjs-tooltip[_ngcontent-%COMP%]::after{content:" ";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:#000 transparent transparent}  .chartjs-tooltip-key{display:inline-block;width:10px;height:10px;margin-right:10px}.chart-container[_ngcontent-%COMP%]{margin:auto auto 20px;cursor:pointer;overflow:visible;position:relative;height:500px;width:100%}']],data:{}});function og(t){return i["ɵvid"](0,[i["ɵqud"](402653184,1,{chartCanvas:0}),i["ɵqud"](402653184,2,{chartTooltip:0}),(t()(),i["ɵeld"](2,0,null,null,4,"div",[["class","chart-container"]],null,null,null,null,null)),(t()(),i["ɵeld"](3,0,[[1,0],["chartCanvas",1]],null,1,"canvas",[["baseChart",""]],null,null,null,null,null)),i["ɵdid"](4,999424,null,0,Zn.a,[i.ElementRef,Zn.c],{datasets:[0,"datasets"],options:[1,"options"],chartType:[2,"chartType"]},null),(t()(),i["ɵeld"](5,0,[[2,0],["chartTooltip",1]],null,1,"div",[["class","chartjs-tooltip"]],null,null,null,null,null)),(t()(),i["ɵeld"](6,0,null,null,0,"table",[],null,null,null,null,null))],(function(t,e){var n=e.component;t(e,4,0,n.chart.datasets,n.chart.options,n.chart.chartType)}),null)}class ig{constructor(t,e,n){this.dimlessBinary=t,this.dimless=e,this.i18n=n,this.standbys=[],this.objectValues=Object.values}ngOnChanges(){this.setStandbys()}setStandbys(){this.standbys=[{key:this.i18n("Standby daemons"),value:this.data.standbys}]}ngOnInit(){this.columns={ranks:[{prop:"rank",name:this.i18n("Rank")},{prop:"state",name:this.i18n("State")},{prop:"mds",name:this.i18n("Daemon")},{prop:"activity",name:this.i18n("Activity"),cellTemplate:this.activityTmpl},{prop:"dns",name:this.i18n("Dentries"),pipe:this.dimless},{prop:"inos",name:this.i18n("Inodes"),pipe:this.dimless}],pools:[{prop:"pool",name:this.i18n("Pool")},{prop:"type",name:this.i18n("Type")},{prop:"size",name:this.i18n("Size"),pipe:this.dimlessBinary},{name:this.i18n("Usage"),cellTemplate:this.poolUsageTpl,comparator:(t,e,n,a)=>{const r=n.used/n.avail,o=a.used/a.avail;return r===o?0:r>o?1:-1}}]}}trackByFn(t,e){return e.name}}var sg=i["ɵcrt"]({encapsulation:0,styles:[[".progress[_ngcontent-%COMP%]{margin-bottom:0}"]],data:{}});function cg(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"div",[["class","row"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,2,"div",[["class","col-md-12"]],null,null,null,null,null)),(t()(),i["ɵeld"](2,0,null,null,1,"cd-cephfs-chart",[],null,null,null,og,rg)),i["ɵdid"](3,638976,null,0,ag,[],{mdsCounter:[0,"mdsCounter"]},null)],(function(t,e){t(e,3,0,e.context.$implicit)}),null)}function lg(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-usage-bar",[],null,null,null,ji.b,ji.a)),i["ɵdid"](1,573440,null,0,Fi.a,[],{totalBytes:[0,"totalBytes"],usedBytes:[1,"usedBytes"]},null)],(function(t,e){t(e,1,0,e.context.row.size,e.context.row.used)}),null)}function dg(t){return i["ɵvid"](0,[(t()(),i["ɵted"](0,null,[" ",": "," /s\n"])),i["ɵppd"](1,1)],null,(function(t,e){var n="standby-replay"===e.context.row.state?"Evts":"Reqs",a=i["ɵunv"](e,0,1,t(e,1,0,i["ɵnov"](e.parent,0),e.context.value));t(e,0,0,n,a)}))}function ug(t){return i["ɵvid"](0,[i["ɵpid"](0,ta.a,[ua.a]),i["ɵqud"](402653184,1,{poolUsageTpl:0}),i["ɵqud"](402653184,2,{activityTmpl:0}),(t()(),i["ɵeld"](3,0,null,null,14,"div",[["class","row"]],null,null,null,null,null)),(t()(),i["ɵeld"](4,0,null,null,8,"div",[["class","col-sm-6"]],null,null,null,null,null)),(t()(),i["ɵeld"](5,0,null,null,1,"legend",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Ranks"])),(t()(),i["ɵeld"](7,0,null,null,1,"cd-table",[],null,null,null,br.b,br.a)),i["ɵdid"](8,2867200,null,0,yr.a,[i.NgZone,i.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],toolHeader:[2,"toolHeader"]},null),(t()(),i["ɵeld"](9,0,null,null,1,"legend",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Standbys"])),(t()(),i["ɵeld"](11,0,null,null,1,"cd-table-key-value",[],null,null,null,Kr.b,Kr.a)),i["ɵdid"](12,638976,null,0,$r.a,[se.a],{data:[0,"data"]},null),(t()(),i["ɵeld"](13,0,null,null,4,"div",[["class","col-sm-6"]],null,null,null,null,null)),(t()(),i["ɵeld"](14,0,null,null,1,"legend",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Pools"])),(t()(),i["ɵeld"](16,0,null,null,1,"cd-table",[],null,null,null,br.b,br.a)),i["ɵdid"](17,2867200,null,0,yr.a,[i.NgZone,i.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],toolHeader:[2,"toolHeader"]},null),(t()(),i["ɵeld"](18,0,null,null,1,"legend",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["MDS performance counters"])),(t()(),i["ɵand"](16777216,null,null,1,null,cg)),i["ɵdid"](21,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"],ngForTrackBy:[1,"ngForTrackBy"]},null),(t()(),i["ɵand"](0,[[1,2],["poolUsageTpl",2]],null,0,null,lg)),(t()(),i["ɵand"](0,[[2,2],["activityTmpl",2]],null,0,null,dg))],(function(t,e){var n=e.component;t(e,8,0,n.data.ranks,n.columns.ranks,!1),t(e,12,0,n.standbys),t(e,17,0,n.data.pools,n.columns.pools,!1),t(e,21,0,n.objectValues(n.data.mdsCounters),n.trackByFn)}),null)}var gg=n("C6Ij"),fg=n("AWcq");class pg{constructor(t,e,n,a,r,o){this.cephfsService=t,this.modalService=e,this.notificationService=n,this.authStorageService=a,this.i18n=r,this.actionLabels=o,this.triggerApiUpdate=new i.EventEmitter,this.selection=new kr.a,this.permission=this.authStorageService.getPermissions().cephfs,this.tableActions=[{permission:"update",icon:ut.a.signOut,click:()=>this.evictClientModal(),name:this.actionLabels.EVICT}]}ngOnInit(){this.columns=[{prop:"id",name:this.i18n("id")},{prop:"type",name:this.i18n("type")},{prop:"state",name:this.i18n("state")},{prop:"version",name:this.i18n("version")},{prop:"hostname",name:this.i18n("Host")},{prop:"root",name:this.i18n("root")}]}updateSelection(t){this.selection=t}evictClient(t){this.cephfsService.evictClient(this.id,t).subscribe(()=>{this.triggerApiUpdate.emit(),this.modalRef.hide(),this.notificationService.show(be.a.success,this.i18n('Evicted client "{{clientId}}"',{clientId:t}))},()=>{this.modalRef.content.stopLoadingSpinner()})}evictClientModal(){const t=this.selection.first().id;this.modalRef=this.modalService.show(Fo.a,{initialState:{itemDescription:"client",itemNames:[t],actionDescription:"evict",submitAction:()=>this.evictClient(t)}})}}var mg=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function hg(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-view-cache",[],null,null,null,gg.b,gg.a)),i["ɵdid"](1,114688,null,0,fg.a,[],{status:[0,"status"]},null),(t()(),i["ɵeld"](2,0,null,null,3,"cd-table",[["selectionType","single"]],null,[[null,"updateSelection"]],(function(t,e,n){var a=!0;return"updateSelection"===e&&(a=!1!==t.component.updateSelection(n)&&a),a}),br.b,br.a)),i["ɵdid"](3,2867200,null,0,yr.a,[i.NgZone,i.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],selectionType:[2,"selectionType"]},{updateSelection:"updateSelection"}),(t()(),i["ɵeld"](4,0,null,1,1,"cd-table-actions",[["class","table-actions"]],null,null,null,_r.b,_r.a)),i["ɵdid"](5,114688,null,0,Or.a,[],{permission:[0,"permission"],selection:[1,"selection"],tableActions:[2,"tableActions"]},null)],(function(t,e){var n=e.component;t(e,1,0,n.clients.status),t(e,3,0,n.clients.data,n.columns,"single"),t(e,5,0,n.permission,n.selection,n.tableActions)}),null)}var bg=n("yJti");class yg{constructor(t,e,n){this.ngZone=t,this.authStorageService=e,this.cephfsService=n,this.clients={data:[],status:bg.a.ValueNone},this.details={standbys:"",pools:[],ranks:[],mdsCounters:{},name:""},this.directoriesSelected=!1,this.grafanaPermission=this.authStorageService.getPermissions().grafana}ngOnChanges(){this.selectedItem=this.selection.first(),this.selectedItem?this.selectedItem.id!==this.id&&this.setupSelected(this.selectedItem.id,this.selectedItem.mdsmap.info):this.unsubscribeInterval()}setupSelected(t,e){this.id=t;const n=$.first(Object.values(e));this.grafanaId=n&&n.name,this.details={standbys:"",pools:[],ranks:[],mdsCounters:{},name:""},this.clients={data:[],status:bg.a.ValueNone},this.updateInterval()}updateInterval(){this.unsubscribeInterval(),this.subscribeInterval()}unsubscribeInterval(){this.reloadSubscriber&&this.reloadSubscriber.unsubscribe()}subscribeInterval(){this.ngZone.runOutsideAngular(()=>this.reloadSubscriber=Object(hu.a)(0,5e3).subscribe(()=>this.ngZone.run(()=>this.refresh())))}refresh(){this.cephfsService.getTabs(this.id).subscribe(t=>{this.data=t,this.softRefresh()},()=>{this.clients.status=bg.a.ValueException})}softRefresh(){const t=$.cloneDeep(this.data);this.clients=t.clients,this.details={standbys:t.standbys,pools:t.pools,ranks:t.ranks,mdsCounters:t.mds_counters,name:t.name}}ngOnDestroy(){this.unsubscribeInterval()}}var _g=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Og(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Clients"])),(t()(),i["ɵeld"](2,0,null,null,1,"span",[["class","badge badge-pill badge-tab ml-1"]],null,null,null,null,null)),(t()(),i["ɵted"](3,null,["",""]))],null,(function(t,e){t(e,3,0,e.component.clients.data.length)}))}function vg(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-cephfs-directories",[],null,null,null,ng,Zu)),i["ɵdid"](1,638976,null,0,$u,[yt.a,Mt.b,Ku,se.a,ia.a,vt.b,gt.a,Qn.a],{id:[0,"id"]},null)],(function(t,e){t(e,1,0,e.component.id)}),null)}function Cg(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"tab",[["heading","Performance Details"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](1,212992,null,0,Fn.b,[Fn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵeld"](2,0,null,null,1,"cd-grafana",[["grafanaStyle","one"],["uid","tbO9LAiZz"]],null,null,null,pr.b,pr.a)),i["ɵdid"](3,638976,null,0,mr.a,[ft.a,hr.b,$t.a,bt.a,ia.a],{grafanaPath:[0,"grafanaPath"],grafanaStyle:[1,"grafanaStyle"],uid:[2,"uid"]},null)],(function(t,e){var n=e.component;t(e,1,0,"Performance Details"),t(e,3,0,"mds-performance?var-mds_servers=mds."+n.grafanaId,"one","tbO9LAiZz")}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).id,i["ɵnov"](e,1).active,i["ɵnov"](e,1).addClass)}))}function Pg(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,17,"tabset",[],[[2,"tab-container",null]],null,null,jn.b,jn.a)),i["ɵdid"](1,180224,null,0,Fn.e,[Fn.f,i.Renderer2,i.ElementRef],null,null),(t()(),i["ɵeld"](2,0,null,0,3,"tab",[["heading","Details"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],[[null,"selectTab"]],(function(t,e,n){var a=!0;return"selectTab"===e&&(a=!1!==t.component.softRefresh()&&a),a}),null,null)),i["ɵdid"](3,212992,null,0,Fn.b,[Fn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},{selectTab:"selectTab"}),(t()(),i["ɵeld"](4,0,null,null,1,"cd-cephfs-detail",[],null,null,null,ug,sg)),i["ɵdid"](5,638976,null,0,ig,[Qn.a,ta.a,ia.a],{data:[0,"data"]},null),(t()(),i["ɵeld"](6,0,null,0,5,"tab",[],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],[[null,"selectTab"]],(function(t,e,n){var a=!0;return"selectTab"===e&&(a=!1!==t.component.softRefresh()&&a),a}),null,null)),i["ɵdid"](7,212992,null,0,Fn.b,[Fn.e,i.ElementRef,i.Renderer2],null,{selectTab:"selectTab"}),(t()(),i["ɵand"](0,null,null,1,null,Og)),i["ɵdid"](9,16384,null,0,Fn.c,[i.TemplateRef,Fn.b],null,null),(t()(),i["ɵeld"](10,0,null,null,1,"cd-cephfs-clients",[],null,[[null,"triggerApiUpdate"]],(function(t,e,n){var a=!0;return"triggerApiUpdate"===e&&(a=!1!==t.component.refresh()&&a),a}),hg,mg)),i["ɵdid"](11,114688,null,0,pg,[Ku,Mt.b,gt.a,yt.a,ia.a,vt.b],{id:[0,"id"],clients:[1,"clients"]},{triggerApiUpdate:"triggerApiUpdate"}),(t()(),i["ɵeld"](12,0,null,0,3,"tab",[["heading","Directories"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],[[null,"selectTab"]],(function(t,e,n){var a=!0;return"selectTab"===e&&(a=0!=(t.component.directoriesSelected=!0)&&a),a}),null,null)),i["ɵdid"](13,212992,null,0,Fn.b,[Fn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},{selectTab:"selectTab"}),(t()(),i["ɵand"](16777216,null,null,1,null,vg)),i["ɵdid"](15,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,Cg)),i["ɵdid"](17,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,3,0,"Details"),t(e,5,0,n.details),t(e,7,0),t(e,11,0,n.id,n.clients),t(e,13,0,"Directories"),t(e,15,0,n.directoriesSelected),t(e,17,0,n.grafanaPermission.read&&n.grafanaId)}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).clazz),t(e,2,0,i["ɵnov"](e,3).id,i["ɵnov"](e,3).active,i["ɵnov"](e,3).addClass),t(e,6,0,i["ɵnov"](e,7).id,i["ɵnov"](e,7).active,i["ɵnov"](e,7).addClass),t(e,12,0,i["ɵnov"](e,13).id,i["ɵnov"](e,13).active,i["ɵnov"](e,13).addClass)}))}function Mg(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,Pg)),i["ɵdid"](1,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){t(e,1,0,e.component.selectedItem)}),null)}class xg{constructor(t,e,n){this.cephfsService=t,this.cdDatePipe=e,this.i18n=n,this.filesystems=[],this.selection=new kr.a}ngOnInit(){this.columns=[{name:this.i18n("Name"),prop:"mdsmap.fs_name",flexGrow:2},{name:this.i18n("Created"),prop:"mdsmap.created",flexGrow:2,pipe:this.cdDatePipe},{name:this.i18n("Enabled"),prop:"mdsmap.enabled",flexGrow:1,cellTransformation:Sr.a.checkIcon}]}loadFilesystems(t){this.cephfsService.list().subscribe(t=>{this.filesystems=t},()=>{t.error()})}updateSelection(t){this.selection=t}}var wg=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Tg(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"cd-table",[["columnMode","flex"],["forceIdentifier","true"],["identifier","id"],["selectionType","single"]],null,[[null,"fetchData"],[null,"updateSelection"]],(function(t,e,n){var a=!0,r=t.component;return"fetchData"===e&&(a=!1!==r.loadFilesystems(n)&&a),"updateSelection"===e&&(a=!1!==r.updateSelection(n)&&a),a}),br.b,br.a)),i["ɵdid"](1,2867200,null,0,yr.a,[i.NgZone,i.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],identifier:[3,"identifier"],forceIdentifier:[4,"forceIdentifier"],selectionType:[5,"selectionType"]},{fetchData:"fetchData",updateSelection:"updateSelection"}),(t()(),i["ɵeld"](2,0,null,3,1,"cd-cephfs-tabs",[["cdTableDetail",""]],null,null,null,Mg,_g)),i["ɵdid"](3,704512,null,0,yg,[i.NgZone,yt.a,Ku],{selection:[0,"selection"]},null)],(function(t,e){var n=e.component;t(e,1,0,n.filesystems,n.columns,"flex","id","true","single"),t(e,3,0,n.selection)}),null)}function Sg(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-cephfs-list",[],null,null,null,Tg,wg)),i["ɵdid"](1,114688,null,0,xg,[Ku,se.a,ia.a],null,null)],(function(t,e){t(e,1,0)}),null)}var kg=i["ɵccf"]("cd-cephfs-list",xg,Sg,{},{},[]),Ig=n("D4zM"),Ng=n("1nQr");class Rg{constructor(t,e,n,a,r,o,i,s){this.i18n=t,this.actionLabels=e,this.notificationService=n,this.userService=a,this.authStorageService=r,this.formBuilder=o,this.router=i,this.passwordPolicyService=s,this.passwordPolicyHelpText="",this.icons=ut.a,this.action=this.actionLabels.CHANGE,this.resource=this.i18n("password"),this.createForm()}createForm(){this.passwordPolicyService.getHelpText().subscribe(t=>{this.passwordPolicyHelpText=t}),this.userForm=this.formBuilder.group({oldpassword:[null,[W.B.required,di.a.custom("notmatch",()=>this.userForm&&this.userForm.getValue("newpassword")===this.userForm.getValue("oldpassword"))]],newpassword:[null,[W.B.required,di.a.custom("notmatch",()=>this.userForm&&this.userForm.getValue("oldpassword")===this.userForm.getValue("newpassword"))],[di.a.passwordPolicy(this.userService,()=>this.authStorageService.getUsername(),(t,e,n)=>{this.passwordStrengthLevelClass=this.passwordPolicyService.mapCreditsToCssClass(e),this.passwordValuation=$.defaultTo(n,"")})]],confirmnewpassword:[null,[W.B.required]]},{validators:[di.a.match("newpassword","confirmnewpassword")]})}onSubmit(){if(this.userForm.pristine)return;const t=this.authStorageService.getUsername(),e=this.userForm.getValue("oldpassword"),n=this.userForm.getValue("newpassword");this.userService.changePassword(t,e,n).subscribe(()=>this.onPasswordChange(),()=>{this.userForm.setErrors({cdSubmitButton:!0})})}onPasswordChange(){this.notificationService.show(be.a.success,this.i18n('Updated user password"')),this.router.navigate(["/logout"])}}var Ag=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Eg(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["This field is required."]))],null,null)}function Dg(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["The old and new passwords must be different."]))],null,null)}function Lg(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-helper",[["class","text-pre"]],null,null,null,Es.b,Es.a)),i["ɵdid"](1,49152,null,0,Ds.a,[],{class:[0,"class"],html:[1,"html"]},null)],(function(t,e){t(e,1,0,"text-pre",i["ɵinlineInterpolate"](1,"",e.component.passwordPolicyHelpText,""))}),null)}function qg(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["This field is required."]))],null,null)}function jg(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["The old and new passwords must be different."]))],null,null)}function Fg(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](1,null,[" "," "]))],null,(function(t,e){t(e,1,0,e.component.passwordValuation)}))}function zg(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["This field is required."]))],null,null)}function Gg(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Password confirmation doesn't match the new password."]))],null,null)}function Bg(t){return i["ɵvid"](0,[i["ɵpid"](0,o.TitleCasePipe,[]),i["ɵpid"](0,ci.a,[]),(t()(),i["ɵeld"](2,0,null,null,93,"div",[["class","cd-col-form"]],null,null,null,null,null)),(t()(),i["ɵeld"](3,0,null,null,92,"form",[["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(t,e,n){var a=!0;return"submit"===e&&(a=!1!==i["ɵnov"](t,5).onSubmit(n)&&a),"reset"===e&&(a=!1!==i["ɵnov"](t,5).onReset()&&a),"submit"===e&&(a=!1!==i["ɵnov"](t,8).onSubmit()&&a),a}),null,null)),i["ɵdid"](4,16384,null,0,W.G,[],null,null),i["ɵdid"](5,540672,[["frm",4]],0,W.l,[[8,null],[8,null]],{form:[0,"form"]},null),i["ɵprd"](2048,null,W.d,null,[W.l]),i["ɵdid"](7,16384,null,0,W.s,[[4,W.d]],null,null),i["ɵdid"](8,16384,null,0,K.d,[],{formGroup:[0,"formGroup"]},null),(t()(),i["ɵeld"](9,0,null,null,86,"div",[["class","card"]],null,null,null,null,null)),(t()(),i["ɵeld"](10,0,null,null,3,"div",[["class","card-header"]],null,null,null,null,null)),(t()(),i["ɵted"](11,null,[""," ",""])),i["ɵppd"](12,1),i["ɵppd"](13,1),(t()(),i["ɵeld"](14,0,null,null,74,"div",[["class","card-body"]],null,null,null,null,null)),(t()(),i["ɵeld"](15,0,null,null,22,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](16,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,1,{FormControlNames:1}),i["ɵqud"](603979776,2,{messagesBlock:0}),(t()(),i["ɵeld"](19,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","oldpassword"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Old password"])),(t()(),i["ɵeld"](21,0,null,0,16,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](22,0,null,null,11,"div",[["class","input-group"]],null,null,null,null,null)),(t()(),i["ɵeld"](23,0,null,null,7,"input",[["autocomplete","new-password"],["autofocus",""],["class","form-control"],["formControlName","oldpassword"],["id","oldpassword"],["placeholder","Old password..."],["type","password"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,24)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,24).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,24)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,24)._compositionEnd(n.target.value)&&a),a}),null,null)),i["ɵdid"](24,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](26,671744,[[1,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](28,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](29,4210688,null,0,ai.a,[i.ElementRef],{autofocus:[0,"autofocus"]},null),i["ɵdid"](30,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵeld"](31,0,null,null,2,"span",[["class","input-group-append"]],null,null,null,null,null)),(t()(),i["ɵeld"](32,0,null,null,1,"button",[["cdPasswordButton","oldpassword"],["class","btn btn-light"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,33).onClick()&&a),a}),null,null)),i["ɵdid"](33,81920,null,0,Ig.a,[i.ElementRef,i.Renderer2],{cdPasswordButton:[0,"cdPasswordButton"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Eg)),i["ɵdid"](35,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Dg)),i["ɵdid"](37,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](38,0,null,null,28,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](39,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,3,{FormControlNames:1}),i["ɵqud"](603979776,4,{messagesBlock:0}),(t()(),i["ɵeld"](42,0,null,0,4,"label",[["class","cd-col-form-label"],["for","newpassword"]],null,null,null,null,null)),(t()(),i["ɵeld"](43,0,null,null,1,"span",[["class","required"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["New password"])),(t()(),i["ɵand"](16777216,null,null,1,null,Lg)),i["ɵdid"](46,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](47,0,null,0,19,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](48,0,null,null,10,"div",[["class","input-group"]],null,null,null,null,null)),(t()(),i["ɵeld"](49,0,null,null,6,"input",[["autocomplete","new-password"],["class","form-control"],["formControlName","newpassword"],["id","newpassword"],["placeholder","Password..."],["type","password"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,50)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,50).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,50)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,50)._compositionEnd(n.target.value)&&a),a}),null,null)),i["ɵdid"](50,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](52,671744,[[3,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](54,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](55,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵeld"](56,0,null,null,2,"span",[["class","input-group-append"]],null,null,null,null,null)),(t()(),i["ɵeld"](57,0,null,null,1,"button",[["cdPasswordButton","newpassword"],["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,58).onClick()&&a),a}),null,null)),i["ɵdid"](58,81920,null,0,Ig.a,[i.ElementRef,i.Renderer2],{cdPasswordButton:[0,"cdPasswordButton"]},null),(t()(),i["ɵeld"](59,0,null,null,1,"div",[["class","password-strength-level"]],null,null,null,null,null)),(t()(),i["ɵeld"](60,0,null,null,0,"div",[["data-toggle","tooltip"]],[[8,"className",0],[8,"title",0]],null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,qg)),i["ɵdid"](62,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,jg)),i["ɵdid"](64,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Fg)),i["ɵdid"](66,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](67,0,null,null,21,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](68,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,5,{FormControlNames:1}),i["ɵqud"](603979776,6,{messagesBlock:0}),(t()(),i["ɵeld"](71,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","confirmnewpassword"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Confirm new password"])),(t()(),i["ɵeld"](73,0,null,0,15,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](74,0,null,null,10,"div",[["class","input-group"]],null,null,null,null,null)),(t()(),i["ɵeld"](75,0,null,null,6,"input",[["autocomplete","new-password"],["class","form-control"],["formControlName","confirmnewpassword"],["id","confirmnewpassword"],["placeholder","Confirm new password..."],["type","password"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,76)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,76).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,76)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,76)._compositionEnd(n.target.value)&&a),a}),null,null)),i["ɵdid"](76,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](78,671744,[[5,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](80,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](81,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵeld"](82,0,null,null,2,"span",[["class","input-group-append"]],null,null,null,null,null)),(t()(),i["ɵeld"](83,0,null,null,1,"button",[["cdPasswordButton","confirmnewpassword"],["class","btn btn-light"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,84).onClick()&&a),a}),null,null)),i["ɵdid"](84,81920,null,0,Ig.a,[i.ElementRef,i.Renderer2],{cdPasswordButton:[0,"cdPasswordButton"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,zg)),i["ɵdid"](86,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Gg)),i["ɵdid"](88,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](89,0,null,null,6,"div",[["class","card-footer"]],null,null,null,null,null)),(t()(),i["ɵeld"](90,0,null,null,5,"div",[["class","button-group text-right"]],null,null,null,null,null)),(t()(),i["ɵeld"](91,0,null,null,4,"cd-submit-button",[],null,[[null,"submitAction"]],(function(t,e,n){var a=!0;return"submitAction"===e&&(a=!1!==t.component.onSubmit()&&a),a}),ri.b,ri.a)),i["ɵdid"](92,114688,null,0,oi.a,[i.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(t()(),i["ɵted"](93,0,[" "," "," "])),i["ɵppd"](94,1),i["ɵppd"](95,1)],(function(t,e){var n=e.component;t(e,5,0,n.userForm),t(e,8,0,n.userForm),t(e,16,0),t(e,26,0,"oldpassword"),t(e,29,0,""),t(e,30,0,"oldpassword"),t(e,33,0,"oldpassword"),t(e,35,0,n.userForm.showError("oldpassword",i["ɵnov"](e,5),"required")),t(e,37,0,n.userForm.showError("oldpassword",i["ɵnov"](e,5),"notmatch")),t(e,39,0),t(e,46,0,n.passwordPolicyHelpText.length>0),t(e,52,0,"newpassword"),t(e,55,0,"newpassword"),t(e,58,0,"newpassword"),t(e,62,0,n.userForm.showError("newpassword",i["ɵnov"](e,5),"required")),t(e,64,0,n.userForm.showError("newpassword",i["ɵnov"](e,5),"notmatch")),t(e,66,0,n.userForm.showError("newpassword",i["ɵnov"](e,5),"passwordPolicy")),t(e,68,0),t(e,78,0,"confirmnewpassword"),t(e,81,0,"confirmnewpassword"),t(e,84,0,"confirmnewpassword"),t(e,86,0,n.userForm.showError("confirmnewpassword",i["ɵnov"](e,5),"required")),t(e,88,0,n.userForm.showError("confirmnewpassword",i["ɵnov"](e,5),"match")),t(e,92,0,n.userForm)}),(function(t,e){var n=e.component;t(e,3,0,i["ɵnov"](e,7).ngClassUntouched,i["ɵnov"](e,7).ngClassTouched,i["ɵnov"](e,7).ngClassPristine,i["ɵnov"](e,7).ngClassDirty,i["ɵnov"](e,7).ngClassValid,i["ɵnov"](e,7).ngClassInvalid,i["ɵnov"](e,7).ngClassPending);var a=i["ɵunv"](e,11,0,t(e,12,0,i["ɵnov"](e,0),n.action)),r=i["ɵunv"](e,11,1,t(e,13,0,i["ɵnov"](e,1),n.resource));t(e,11,0,a,r),t(e,15,0,i["ɵnov"](e,16).hasErrors,i["ɵnov"](e,16).hasSuccess),t(e,23,0,i["ɵnov"](e,28).ngClassUntouched,i["ɵnov"](e,28).ngClassTouched,i["ɵnov"](e,28).ngClassPristine,i["ɵnov"](e,28).ngClassDirty,i["ɵnov"](e,28).ngClassValid,i["ɵnov"](e,28).ngClassInvalid,i["ɵnov"](e,28).ngClassPending,i["ɵnov"](e,30).validClass,i["ɵnov"](e,30).invalidClass),t(e,38,0,i["ɵnov"](e,39).hasErrors,i["ɵnov"](e,39).hasSuccess),t(e,49,0,i["ɵnov"](e,54).ngClassUntouched,i["ɵnov"](e,54).ngClassTouched,i["ɵnov"](e,54).ngClassPristine,i["ɵnov"](e,54).ngClassDirty,i["ɵnov"](e,54).ngClassValid,i["ɵnov"](e,54).ngClassInvalid,i["ɵnov"](e,54).ngClassPending,i["ɵnov"](e,55).validClass,i["ɵnov"](e,55).invalidClass),t(e,60,0,i["ɵinlineInterpolate"](1,"",n.passwordStrengthLevelClass,""),i["ɵinlineInterpolate"](1,"",n.passwordValuation,"")),t(e,67,0,i["ɵnov"](e,68).hasErrors,i["ɵnov"](e,68).hasSuccess),t(e,75,0,i["ɵnov"](e,80).ngClassUntouched,i["ɵnov"](e,80).ngClassTouched,i["ɵnov"](e,80).ngClassPristine,i["ɵnov"](e,80).ngClassDirty,i["ɵnov"](e,80).ngClassValid,i["ɵnov"](e,80).ngClassInvalid,i["ɵnov"](e,80).ngClassPending,i["ɵnov"](e,81).validClass,i["ɵnov"](e,81).invalidClass);var o=i["ɵunv"](e,93,0,t(e,94,0,i["ɵnov"](e,0),n.action)),s=i["ɵunv"](e,93,1,t(e,95,0,i["ɵnov"](e,1),n.resource));t(e,93,0,o,s)}))}function Vg(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-user-password-form",[],null,null,null,Bg,Ag)),i["ɵdid"](1,49152,null,0,Rg,[ia.a,vt.b,gt.a,Ot.a,yt.a,ys.a,St.m,Ng.a],null,null)],null,null)}var Yg=i["ɵccf"]("cd-user-password-form",Rg,Vg,{},{},[]);class Hg{constructor(t,e,n,a){this.route=t,this.summaryService=e,this.cephReleaseNamePipe=n,this.i18n=a,this.message=this.i18n("The NFS Ganesha service is not configured.")}ngOnInit(){const t=this.summaryService.subscribe(e=>{if(!e)return;const n=this.cephReleaseNamePipe.transform(e.version);this.docsUrl=`http://docs.ceph.com/docs/${n}/mgr/dashboard/`+"#configuring-nfs-ganesha-in-the-dashboard",setTimeout(()=>{t.unsubscribe()},0)});this.routeParamsSubscribe=this.route.params.subscribe(t=>{this.message=t.message})}ngOnDestroy(){this.routeParamsSubscribe.unsubscribe()}}var Ug=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Wg(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,8,"cd-alert-panel",[["type","info"]],null,null,null,vr.b,vr.a)),i["ɵdid"](1,114688,null,0,Cr.a,[ia.a],{type:[0,"type"]},null),(t()(),i["ɵted"](2,0,[" ",""])),(t()(),i["ɵeld"](3,0,null,0,0,"br",[],null,null,null,null,null)),(t()(),i["ɵeld"](4,0,null,0,4,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Please consult the "])),(t()(),i["ɵeld"](6,0,null,null,1,"a",[["target","_blank"]],[[8,"href",4]],null,null,null,null)),(t()(),i["ɵted"](-1,null,["documentation"])),(t()(),i["ɵted"](-1,null,[" on how to configure and enable the NFS Ganesha management functionality."]))],(function(t,e){t(e,1,0,"info")}),(function(t,e){var n=e.component;t(e,2,0,n.message),t(e,6,0,i["ɵinlineInterpolate"](1,"",n.docsUrl,""))}))}function Kg(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-nfs-501",[],null,null,null,Wg,Ug)),i["ɵdid"](1,245760,null,0,Hg,[St.a,ft.a,bt.a,ia.a],null,null)],(function(t,e){t(e,1,0)}),null)}var $g=i["ɵccf"]("cd-nfs-501",Hg,Kg,{},{},[]);class Zg{constructor(t){this.i18n=t,this.clients=[],this.clientsColumns=[{name:this.i18n("Addresses"),prop:"addresses",flexGrow:2},{name:this.i18n("Access Type"),prop:"access_type",flexGrow:1},{name:this.i18n("Squash"),prop:"squash",flexGrow:1}]}ngOnChanges(){this.selection.hasSelection&&(this.selectedItem=this.selection.first(),this.clients=this.selectedItem.clients,this.data={},this.data[this.i18n("Cluster")]=this.selectedItem.cluster_id,this.data[this.i18n("Daemons")]=this.selectedItem.daemons,this.data[this.i18n("NFS Protocol")]=this.selectedItem.protocols.map(t=>"NFSv"+t),this.data[this.i18n("Pseudo")]=this.selectedItem.pseudo,this.data[this.i18n("Access Type")]=this.selectedItem.access_type,this.data[this.i18n("Squash")]=this.selectedItem.squash,this.data[this.i18n("Transport")]=this.selectedItem.transports,this.data[this.i18n("Path")]=this.selectedItem.path,"CEPH"===this.selectedItem.fsal.name?(this.data[this.i18n("Storage Backend")]=this.i18n("CephFS"),this.data[this.i18n("CephFS User")]=this.selectedItem.fsal.user_id,this.data[this.i18n("CephFS Filesystem")]=this.selectedItem.fsal.fs_name,this.data[this.i18n("Security Label")]=this.selectedItem.fsal.sec_label_xattr):(this.data[this.i18n("Storage Backend")]=this.i18n("Object Gateway"),this.data[this.i18n("Object Gateway User")]=this.selectedItem.fsal.rgw_user_id))}}var Jg=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Xg(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,9,"tabset",[],[[2,"tab-container",null]],null,null,jn.b,jn.a)),i["ɵdid"](1,180224,null,0,Fn.e,[Fn.f,i.Renderer2,i.ElementRef],null,null),(t()(),i["ɵeld"](2,0,null,0,3,"tab",[["heading","Details"]],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](3,212992,null,0,Fn.b,[Fn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵeld"](4,0,null,null,1,"cd-table-key-value",[],null,null,null,Kr.b,Kr.a)),i["ɵdid"](5,638976,null,0,$r.a,[se.a],{data:[0,"data"]},null),(t()(),i["ɵeld"](6,0,null,0,3,"tab",[],[[1,"id",0],[2,"active",null],[2,"tab-pane",null]],null,null,null,null)),i["ɵdid"](7,212992,null,0,Fn.b,[Fn.e,i.ElementRef,i.Renderer2],{heading:[0,"heading"]},null),(t()(),i["ɵeld"](8,0,null,null,1,"cd-table",[["columnMode","flex"],["forceIdentifier","true"],["identifier","addresses"],["selectionType",""]],null,null,null,br.b,br.a)),i["ɵdid"](9,2867200,[["table",4]],0,yr.a,[i.NgZone,i.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],identifier:[3,"identifier"],forceIdentifier:[4,"forceIdentifier"],selectionType:[5,"selectionType"]},null)],(function(t,e){var n=e.component;t(e,3,0,"Details"),t(e,5,0,n.data),t(e,7,0,i["ɵinlineInterpolate"](1,"Clients (",n.clients.length,")")),t(e,9,0,n.clients,n.clientsColumns,"flex","addresses","true","")}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).clazz),t(e,2,0,i["ɵnov"](e,3).id,i["ɵnov"](e,3).active,i["ɵnov"](e,3).addClass),t(e,6,0,i["ɵnov"](e,7).id,i["ɵnov"](e,7).active,i["ɵnov"](e,7).addClass)}))}function Qg(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,Xg)),i["ɵdid"](1,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0,null==n.selection?null:n.selection.hasSingleSelection)}),null)}var tf=n("VTlA");let ef=(()=>{class t{constructor(t,e){this.http=t,this.i18n=e,this.apiPath="api/nfs-ganesha",this.uiApiPath="ui-api/nfs-ganesha",this.nfsAccessType=[{value:"RW",help:this.i18n("Allows all operations")},{value:"RO",help:this.i18n("Allows only operations that do not modify the server")},{value:"MDONLY",help:this.i18n("Does not allow read or write operations, but allows any other operation")},{value:"MDONLY_RO",help:this.i18n("Does not allow read, write, or any operation that modifies file        attributes or directory content")},{value:"NONE",help:this.i18n("Allows no access at all")}],this.nfsFsal=[{value:"CEPH",descr:this.i18n("CephFS")},{value:"RGW",descr:this.i18n("Object Gateway")}],this.nfsSquash=["no_root_squash","root_id_squash","root_squash","all_squash"]}list(){return this.http.get(`${this.apiPath}/export`)}get(t,e){return this.http.get(`${this.apiPath}/export/${t}/${e}`)}create(t){return this.http.post(`${this.apiPath}/export`,t,{observe:"response"})}update(t,e,n){return this.http.put(`${this.apiPath}/export/${t}/${e}`,n,{observe:"response"})}delete(t,e){return this.http.delete(`${this.apiPath}/export/${t}/${e}`,{observe:"response"})}lsDir(t){return this.http.get(`${this.uiApiPath}/lsdir?root_dir=${t}`)}buckets(t){return this.http.get(`${this.uiApiPath}/rgw/buckets?user_id=${t}`)}clients(){return this.http.get(`${this.uiApiPath}/cephx/clients`)}fsals(){return this.http.get(`${this.uiApiPath}/fsals`)}filesystems(){return this.http.get(`${this.uiApiPath}/cephfs/filesystems`)}daemon(){return this.http.get(`${this.apiPath}/daemon`)}start(t){return this.http.put(`${this.apiPath}/service/${t}/start`,null,{observe:"response"})}stop(t){return this.http.put(`${this.apiPath}/service/${t}/stop`,null,{observe:"response"})}}return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t(i["ɵɵinject"](J.c),i["ɵɵinject"](ia.a))},token:t,providedIn:me.a}),t})();class nf{constructor(t,e,n,a,r,o,i){this.authStorageService=t,this.i18n=e,this.modalService=n,this.nfsService=a,this.taskListService=r,this.taskWrapper=o,this.actionLabels=i,this.selection=new kr.a,this.isDefaultCluster=!1,this.builders={"nfs/create":t=>({path:t.path,cluster_id:t.cluster_id,fsal:t.fsal})},this.permission=this.authStorageService.getPermissions().nfs;const s=()=>this.selection.first()&&`${encodeURI(this.selection.first().cluster_id)}/${encodeURI(this.selection.first().export_id)}`;this.tableActions=[{permission:"create",icon:ut.a.add,routerLink:()=>"/nfs/create",canBePrimary:t=>!t.hasSingleSelection,name:this.actionLabels.CREATE},{permission:"update",icon:ut.a.edit,routerLink:()=>`/nfs/edit/${s()}`,name:this.actionLabels.EDIT},{permission:"delete",icon:ut.a.destroy,click:()=>this.deleteNfsModal(),name:this.actionLabels.DELETE}]}ngOnInit(){this.columns=[{name:this.i18n("Path"),prop:"path",flexGrow:2,cellTransformation:Sr.a.executing},{name:this.i18n("Pseudo"),prop:"pseudo",flexGrow:2},{name:this.i18n("Cluster"),prop:"cluster_id",flexGrow:2},{name:this.i18n("Daemons"),prop:"daemons",flexGrow:2},{name:this.i18n("Storage Backend"),prop:"fsal",flexGrow:2,cellTemplate:this.nfsFsal},{name:this.i18n("Access Type"),prop:"access_type",flexGrow:2}],this.nfsService.daemon().subscribe(t=>{const e=$(t).map(t=>t.cluster_id).uniq().value();this.isDefaultCluster=1===e.length&&"_default_"===e[0],this.columns[2].isHidden=this.isDefaultCluster,this.table&&this.table.updateColumns(),this.taskListService.init(()=>this.nfsService.list(),t=>this.prepareResponse(t),t=>this.exports=t,()=>this.onFetchError(),this.taskFilter,this.itemFilter,this.builders)},()=>{this.onFetchError()})}ngOnDestroy(){this.summaryDataSubscription&&this.summaryDataSubscription.unsubscribe()}prepareResponse(t){let e=[];return t.forEach(t=>{t.id=`${t.cluster_id}:${t.export_id}`,t.state="LOADING",e=e.concat(t)}),e}onFetchError(){this.table.reset(),this.viewCacheStatus={status:bg.a.ValueException}}itemFilter(t,e){return t.cluster_id===e.metadata.cluster_id&&t.export_id===e.metadata.export_id}taskFilter(t){return["nfs/create","nfs/delete","nfs/edit"].includes(t.name)}updateSelection(t){this.selection=t}deleteNfsModal(){const t=this.selection.first().cluster_id,e=this.selection.first().export_id;this.modalRef=this.modalService.show(Fo.a,{initialState:{itemDescription:this.i18n("NFS export"),itemNames:[`${t}:${e}`],submitActionObservable:()=>this.taskWrapper.wrapTaskAroundCall({task:new zo.a("nfs/delete",{cluster_id:t,export_id:e}),call:this.nfsService.delete(t,e)})}})}}var af=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function rf(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["CephFS"]))],null,null)}function of(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Object Gateway"]))],null,null)}function sf(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,rf)),i["ɵdid"](1,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,of)),i["ɵdid"](3,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](0,null,null,0))],(function(t,e){t(e,1,0,"CEPH"===e.context.value.name),t(e,3,0,"RGW"===e.context.value.name)}),null)}function cf(t){return i["ɵvid"](0,[i["ɵqud"](671088640,1,{nfsState:0}),i["ɵqud"](402653184,2,{nfsFsal:0}),i["ɵqud"](402653184,3,{table:0}),(t()(),i["ɵeld"](3,0,null,null,6,"cd-table",[["columnMode","flex"],["forceIdentifier","true"],["identifier","id"],["selectionType","single"]],null,[[null,"updateSelection"]],(function(t,e,n){var a=!0;return"updateSelection"===e&&(a=!1!==t.component.updateSelection(n)&&a),a}),br.b,br.a)),i["ɵdid"](4,2867200,[[3,4],["table",4]],0,yr.a,[i.NgZone,i.ChangeDetectorRef],{data:[0,"data"],columns:[1,"columns"],columnMode:[2,"columnMode"],identifier:[3,"identifier"],forceIdentifier:[4,"forceIdentifier"],selectionType:[5,"selectionType"]},{updateSelection:"updateSelection"}),(t()(),i["ɵeld"](5,0,null,1,2,"div",[["class","table-actions btn-toolbar"]],null,null,null,null,null)),(t()(),i["ɵeld"](6,0,null,null,1,"cd-table-actions",[["class","btn-group"]],null,null,null,_r.b,_r.a)),i["ɵdid"](7,114688,null,0,Or.a,[],{permission:[0,"permission"],selection:[1,"selection"],tableActions:[2,"tableActions"]},null),(t()(),i["ɵeld"](8,0,null,3,1,"cd-nfs-details",[["cdTableDetail",""]],null,null,null,Qg,Jg)),i["ɵdid"](9,573440,null,0,Zg,[ia.a],{selection:[0,"selection"]},null),(t()(),i["ɵand"](0,[[2,2],["nfsFsal",2]],null,0,null,sf))],(function(t,e){var n=e.component;t(e,4,0,n.exports,n.columns,"flex","id","true","single"),t(e,7,0,n.permission,n.selection,n.tableActions),t(e,9,0,n.selection)}),null)}function lf(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-nfs-list",[],null,null,null,cf,af)),i["ɵprd"](131584,null,tf.a,tf.a,[ve.a,ft.a]),i["ɵdid"](2,245760,null,0,nf,[yt.a,ia.a,Mt.b,ef,tf.a,Yo.a,vt.b],null,null)],(function(t,e){t(e,2,0)}),null)}var df=i["ɵccf"]("cd-nfs-list",nf,lf,{},{},[]),uf=n("hpHm"),gf=n("IzEk"),ff=n("Kj3r"),pf=n("eIep"),mf=n("7+OI");const hf={"Á":"A","Ă":"A","Ắ":"A","Ặ":"A","Ằ":"A","Ẳ":"A","Ẵ":"A","Ǎ":"A","Â":"A","Ấ":"A","Ậ":"A","Ầ":"A","Ẩ":"A","Ẫ":"A","Ä":"A","Ǟ":"A","Ȧ":"A","Ǡ":"A","Ạ":"A","Ȁ":"A","À":"A","Ả":"A","Ȃ":"A","Ā":"A","Ą":"A","Å":"A","Ǻ":"A","Ḁ":"A","Ⱥ":"A","Ã":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ḃ":"B","Ḅ":"B","Ɓ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ć":"C","Č":"C","Ç":"C","Ḉ":"C","Ĉ":"C","Ċ":"C","Ƈ":"C","Ȼ":"C","Ď":"D","Ḑ":"D","Ḓ":"D","Ḋ":"D","Ḍ":"D","Ɗ":"D","Ḏ":"D","Dz":"D","Dž":"D","Đ":"D","Ƌ":"D","DZ":"DZ","DŽ":"DZ","É":"E","Ĕ":"E","Ě":"E","Ȩ":"E","Ḝ":"E","Ê":"E","Ế":"E","Ệ":"E","Ề":"E","Ể":"E","Ễ":"E","Ḙ":"E","Ë":"E","Ė":"E","Ẹ":"E","Ȅ":"E","È":"E","Ẻ":"E","Ȇ":"E","Ē":"E","Ḗ":"E","Ḕ":"E","Ę":"E","Ɇ":"E","Ẽ":"E","Ḛ":"E","Ꝫ":"ET","Ḟ":"F","Ƒ":"F","Ǵ":"G","Ğ":"G","Ǧ":"G","Ģ":"G","Ĝ":"G","Ġ":"G","Ɠ":"G","Ḡ":"G","Ǥ":"G","Ḫ":"H","Ȟ":"H","Ḩ":"H","Ĥ":"H","Ⱨ":"H","Ḧ":"H","Ḣ":"H","Ḥ":"H","Ħ":"H","Í":"I","Ĭ":"I","Ǐ":"I","Î":"I","Ï":"I","Ḯ":"I","İ":"I","Ị":"I","Ȉ":"I","Ì":"I","Ỉ":"I","Ȋ":"I","Ī":"I","Į":"I","Ɨ":"I","Ĩ":"I","Ḭ":"I","Ꝺ":"D","Ꝼ":"F","Ᵹ":"G","Ꞃ":"R","Ꞅ":"S","Ꞇ":"T","Ꝭ":"IS","Ĵ":"J","Ɉ":"J","Ḱ":"K","Ǩ":"K","Ķ":"K","Ⱪ":"K","Ꝃ":"K","Ḳ":"K","Ƙ":"K","Ḵ":"K","Ꝁ":"K","Ꝅ":"K","Ĺ":"L","Ƚ":"L","Ľ":"L","Ļ":"L","Ḽ":"L","Ḷ":"L","Ḹ":"L","Ⱡ":"L","Ꝉ":"L","Ḻ":"L","Ŀ":"L","Ɫ":"L","Lj":"L","Ł":"L","LJ":"LJ","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ń":"N","Ň":"N","Ņ":"N","Ṋ":"N","Ṅ":"N","Ṇ":"N","Ǹ":"N","Ɲ":"N","Ṉ":"N","Ƞ":"N","Nj":"N","Ñ":"N","NJ":"NJ","Ó":"O","Ŏ":"O","Ǒ":"O","Ô":"O","Ố":"O","Ộ":"O","Ồ":"O","Ổ":"O","Ỗ":"O","Ö":"O","Ȫ":"O","Ȯ":"O","Ȱ":"O","Ọ":"O","Ő":"O","Ȍ":"O","Ò":"O","Ỏ":"O","Ơ":"O","Ớ":"O","Ợ":"O","Ờ":"O","Ở":"O","Ỡ":"O","Ȏ":"O","Ꝋ":"O","Ꝍ":"O","Ō":"O","Ṓ":"O","Ṑ":"O","Ɵ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Õ":"O","Ṍ":"O","Ṏ":"O","Ȭ":"O","Ƣ":"OI","Ꝏ":"OO","Ɛ":"E","Ɔ":"O","Ȣ":"OU","Ṕ":"P","Ṗ":"P","Ꝓ":"P","Ƥ":"P","Ꝕ":"P","Ᵽ":"P","Ꝑ":"P","Ꝙ":"Q","Ꝗ":"Q","Ŕ":"R","Ř":"R","Ŗ":"R","Ṙ":"R","Ṛ":"R","Ṝ":"R","Ȑ":"R","Ȓ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꜿ":"C","Ǝ":"E","Ś":"S","Ṥ":"S","Š":"S","Ṧ":"S","Ş":"S","Ŝ":"S","Ș":"S","Ṡ":"S","Ṣ":"S","Ṩ":"S","Ť":"T","Ţ":"T","Ṱ":"T","Ț":"T","Ⱦ":"T","Ṫ":"T","Ṭ":"T","Ƭ":"T","Ṯ":"T","Ʈ":"T","Ŧ":"T","Ɐ":"A","Ꞁ":"L","Ɯ":"M","Ʌ":"V","Ꜩ":"TZ","Ú":"U","Ŭ":"U","Ǔ":"U","Û":"U","Ṷ":"U","Ü":"U","Ǘ":"U","Ǚ":"U","Ǜ":"U","Ǖ":"U","Ṳ":"U","Ụ":"U","Ű":"U","Ȕ":"U","Ù":"U","Ủ":"U","Ư":"U","Ứ":"U","Ự":"U","Ừ":"U","Ử":"U","Ữ":"U","Ȗ":"U","Ū":"U","Ṻ":"U","Ų":"U","Ů":"U","Ũ":"U","Ṹ":"U","Ṵ":"U","Ꝟ":"V","Ṿ":"V","Ʋ":"V","Ṽ":"V","Ꝡ":"VY","Ẃ":"W","Ŵ":"W","Ẅ":"W","Ẇ":"W","Ẉ":"W","Ẁ":"W","Ⱳ":"W","Ẍ":"X","Ẋ":"X","Ý":"Y","Ŷ":"Y","Ÿ":"Y","Ẏ":"Y","Ỵ":"Y","Ỳ":"Y","Ƴ":"Y","Ỷ":"Y","Ỿ":"Y","Ȳ":"Y","Ɏ":"Y","Ỹ":"Y","Ź":"Z","Ž":"Z","Ẑ":"Z","Ⱬ":"Z","Ż":"Z","Ẓ":"Z","Ȥ":"Z","Ẕ":"Z","Ƶ":"Z","IJ":"IJ","Œ":"OE","ᴀ":"A","ᴁ":"AE","ʙ":"B","ᴃ":"B","ᴄ":"C","ᴅ":"D","ᴇ":"E","ꜰ":"F","ɢ":"G","ʛ":"G","ʜ":"H","ɪ":"I","ʁ":"R","ᴊ":"J","ᴋ":"K","ʟ":"L","ᴌ":"L","ᴍ":"M","ɴ":"N","ᴏ":"O","ɶ":"OE","ᴐ":"O","ᴕ":"OU","ᴘ":"P","ʀ":"R","ᴎ":"N","ᴙ":"R","ꜱ":"S","ᴛ":"T","ⱻ":"E","ᴚ":"R","ᴜ":"U","ᴠ":"V","ᴡ":"W","ʏ":"Y","ᴢ":"Z","á":"a","ă":"a","ắ":"a","ặ":"a","ằ":"a","ẳ":"a","ẵ":"a","ǎ":"a","â":"a","ấ":"a","ậ":"a","ầ":"a","ẩ":"a","ẫ":"a","ä":"a","ǟ":"a","ȧ":"a","ǡ":"a","ạ":"a","ȁ":"a","à":"a","ả":"a","ȃ":"a","ā":"a","ą":"a","ᶏ":"a","ẚ":"a","å":"a","ǻ":"a","ḁ":"a","ⱥ":"a","ã":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ḃ":"b","ḅ":"b","ɓ":"b","ḇ":"b","ᵬ":"b","ᶀ":"b","ƀ":"b","ƃ":"b","ɵ":"o","ć":"c","č":"c","ç":"c","ḉ":"c","ĉ":"c","ɕ":"c","ċ":"c","ƈ":"c","ȼ":"c","ď":"d","ḑ":"d","ḓ":"d","ȡ":"d","ḋ":"d","ḍ":"d","ɗ":"d","ᶑ":"d","ḏ":"d","ᵭ":"d","ᶁ":"d","đ":"d","ɖ":"d","ƌ":"d","ı":"i","ȷ":"j","ɟ":"j","ʄ":"j","dz":"dz","dž":"dz","é":"e","ĕ":"e","ě":"e","ȩ":"e","ḝ":"e","ê":"e","ế":"e","ệ":"e","ề":"e","ể":"e","ễ":"e","ḙ":"e","ë":"e","ė":"e","ẹ":"e","ȅ":"e","è":"e","ẻ":"e","ȇ":"e","ē":"e","ḗ":"e","ḕ":"e","ⱸ":"e","ę":"e","ᶒ":"e","ɇ":"e","ẽ":"e","ḛ":"e","ꝫ":"et","ḟ":"f","ƒ":"f","ᵮ":"f","ᶂ":"f","ǵ":"g","ğ":"g","ǧ":"g","ģ":"g","ĝ":"g","ġ":"g","ɠ":"g","ḡ":"g","ᶃ":"g","ǥ":"g","ḫ":"h","ȟ":"h","ḩ":"h","ĥ":"h","ⱨ":"h","ḧ":"h","ḣ":"h","ḥ":"h","ɦ":"h","ẖ":"h","ħ":"h","ƕ":"hv","í":"i","ĭ":"i","ǐ":"i","î":"i","ï":"i","ḯ":"i","ị":"i","ȉ":"i","ì":"i","ỉ":"i","ȋ":"i","ī":"i","į":"i","ᶖ":"i","ɨ":"i","ĩ":"i","ḭ":"i","ꝺ":"d","ꝼ":"f","ᵹ":"g","ꞃ":"r","ꞅ":"s","ꞇ":"t","ꝭ":"is","ǰ":"j","ĵ":"j","ʝ":"j","ɉ":"j","ḱ":"k","ǩ":"k","ķ":"k","ⱪ":"k","ꝃ":"k","ḳ":"k","ƙ":"k","ḵ":"k","ᶄ":"k","ꝁ":"k","ꝅ":"k","ĺ":"l","ƚ":"l","ɬ":"l","ľ":"l","ļ":"l","ḽ":"l","ȴ":"l","ḷ":"l","ḹ":"l","ⱡ":"l","ꝉ":"l","ḻ":"l","ŀ":"l","ɫ":"l","ᶅ":"l","ɭ":"l","ł":"l","lj":"lj","ſ":"s","ẜ":"s","ẛ":"s","ẝ":"s","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ᵯ":"m","ᶆ":"m","ń":"n","ň":"n","ņ":"n","ṋ":"n","ȵ":"n","ṅ":"n","ṇ":"n","ǹ":"n","ɲ":"n","ṉ":"n","ƞ":"n","ᵰ":"n","ᶇ":"n","ɳ":"n","ñ":"n","nj":"nj","ó":"o","ŏ":"o","ǒ":"o","ô":"o","ố":"o","ộ":"o","ồ":"o","ổ":"o","ỗ":"o","ö":"o","ȫ":"o","ȯ":"o","ȱ":"o","ọ":"o","ő":"o","ȍ":"o","ò":"o","ỏ":"o","ơ":"o","ớ":"o","ợ":"o","ờ":"o","ở":"o","ỡ":"o","ȏ":"o","ꝋ":"o","ꝍ":"o","ⱺ":"o","ō":"o","ṓ":"o","ṑ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","õ":"o","ṍ":"o","ṏ":"o","ȭ":"o","ƣ":"oi","ꝏ":"oo","ɛ":"e","ᶓ":"e","ɔ":"o","ᶗ":"o","ȣ":"ou","ṕ":"p","ṗ":"p","ꝓ":"p","ƥ":"p","ᵱ":"p","ᶈ":"p","ꝕ":"p","ᵽ":"p","ꝑ":"p","ꝙ":"q","ʠ":"q","ɋ":"q","ꝗ":"q","ŕ":"r","ř":"r","ŗ":"r","ṙ":"r","ṛ":"r","ṝ":"r","ȑ":"r","ɾ":"r","ᵳ":"r","ȓ":"r","ṟ":"r","ɼ":"r","ᵲ":"r","ᶉ":"r","ɍ":"r","ɽ":"r","ↄ":"c","ꜿ":"c","ɘ":"e","ɿ":"r","ś":"s","ṥ":"s","š":"s","ṧ":"s","ş":"s","ŝ":"s","ș":"s","ṡ":"s","ṣ":"s","ṩ":"s","ʂ":"s","ᵴ":"s","ᶊ":"s","ȿ":"s","ɡ":"g","ᴑ":"o","ᴓ":"o","ᴝ":"u","ť":"t","ţ":"t","ṱ":"t","ț":"t","ȶ":"t","ẗ":"t","ⱦ":"t","ṫ":"t","ṭ":"t","ƭ":"t","ṯ":"t","ᵵ":"t","ƫ":"t","ʈ":"t","ŧ":"t","ᵺ":"th","ɐ":"a","ᴂ":"ae","ǝ":"e","ᵷ":"g","ɥ":"h","ʮ":"h","ʯ":"h","ᴉ":"i","ʞ":"k","ꞁ":"l","ɯ":"m","ɰ":"m","ᴔ":"oe","ɹ":"r","ɻ":"r","ɺ":"r","ⱹ":"r","ʇ":"t","ʌ":"v","ʍ":"w","ʎ":"y","ꜩ":"tz","ú":"u","ŭ":"u","ǔ":"u","û":"u","ṷ":"u","ü":"u","ǘ":"u","ǚ":"u","ǜ":"u","ǖ":"u","ṳ":"u","ụ":"u","ű":"u","ȕ":"u","ù":"u","ủ":"u","ư":"u","ứ":"u","ự":"u","ừ":"u","ử":"u","ữ":"u","ȗ":"u","ū":"u","ṻ":"u","ų":"u","ᶙ":"u","ů":"u","ũ":"u","ṹ":"u","ṵ":"u","ᵫ":"ue","ꝸ":"um","ⱴ":"v","ꝟ":"v","ṿ":"v","ʋ":"v","ᶌ":"v","ⱱ":"v","ṽ":"v","ꝡ":"vy","ẃ":"w","ŵ":"w","ẅ":"w","ẇ":"w","ẉ":"w","ẁ":"w","ⱳ":"w","ẘ":"w","ẍ":"x","ẋ":"x","ᶍ":"x","ý":"y","ŷ":"y","ÿ":"y","ẏ":"y","ỵ":"y","ỳ":"y","ƴ":"y","ỷ":"y","ỿ":"y","ȳ":"y","ẙ":"y","ɏ":"y","ỹ":"y","ź":"z","ž":"z","ẑ":"z","ʑ":"z","ⱬ":"z","ż":"z","ẓ":"z","ȥ":"z","ẕ":"z","ᵶ":"z","ᶎ":"z","ʐ":"z","ƶ":"z","ɀ":"z","ff":"ff","ffi":"ffi","ffl":"ffl","fi":"fi","fl":"fl","ij":"ij","œ":"oe","st":"st","ₐ":"a","ₑ":"e","ᵢ":"i","ⱼ":"j","ₒ":"o","ᵣ":"r","ᵤ":"u","ᵥ":"v","ₓ":"x"};class bf{constructor(t,e=t,n=!1){this.item=t,this.value=e,this.header=n}isHeader(){return this.header}toString(){return this.value}}function yf(t){return t?t.replace(/[^A-Za-z0-9\[\] ]/g,(function(t){return hf[t]||t})):""}function _f(t,e=" ",n=""){const a=t.split(new RegExp(`(?:[${n}])([^${n}]+)`+`(?:[${n}])|([^${e}]+)`,"g")),r=[],o=a.length;let i;const s=new RegExp(`[${n}]+`,"g");for(let c=0;c<o;c+=1)i=a[c],i&&i.length&&i!==e&&r.push(i.replace(s,""));return r}function Of(t,e){if(!e||"object"!=typeof t)return t.toString();if(e.endsWith("()"))return t[e.slice(0,e.length-2)]().toString();const n=e.replace(/\[(\w+)\]/g,".$1").replace(/^\./,"").split(".");for(const a of n)a in t&&(t=t[a]);return t?t.toString():""}class vf{constructor(t,e,n){this.positionService=t,this.renderer=e,this.element=n,this.isFocused=!1,this.visibility="hidden",this.height=0,this._matches=[],this.isScrolledIntoView=function(t){const e=this.ulElement.nativeElement.scrollTop,n=e+Number(this.ulElement.nativeElement.offsetHeight),a=t.offsetTop;return a+t.offsetHeight<=n&&a>=e}}get isBs4(){return!Object(uf.d)()}get active(){return this._active}get matches(){return this._matches}set matches(t){if(this.positionService.setOptions({modifiers:{flip:{enabled:this.adaptivePosition}},allowedPositions:["top","bottom"]}),this.positionService.event$.pipe(Object(gf.a)(1)).subscribe(()=>{this.positionService.disable(),this.visibility=this.typeaheadScrollable?"hidden":"visible",this.animationState=this.isAnimated?this.isTopPosition?"animated-up":"animated-down":"unanimated"}),this._matches=t,this.needScrollbar=this.typeaheadScrollable&&this.typeaheadOptionsInScrollableView<this.matches.length,this.typeaheadScrollable&&setTimeout(()=>{this.setScrollableMode()}),this.typeaheadIsFirstItemActive&&this._matches.length>0&&(this._active=this._matches[0],this._active.isHeader()&&this.nextActiveMatch()),this._active&&!this.typeaheadIsFirstItemActive){const t=this._matches.find(t=>t.value===this._active.value);if(t)return void this.selectActive(t);this._active=null}}get isTopPosition(){return this.element.nativeElement.classList.contains("top")}get optionsListTemplate(){return this.parent?this.parent.optionsListTemplate:void 0}get isAnimated(){return!!this.parent&&this.parent.isAnimated}get adaptivePosition(){return!!this.parent&&this.parent.adaptivePosition}get typeaheadScrollable(){return!!this.parent&&this.parent.typeaheadScrollable}get typeaheadOptionsInScrollableView(){return this.parent?this.parent.typeaheadOptionsInScrollableView:5}get typeaheadIsFirstItemActive(){return!this.parent||this.parent.typeaheadIsFirstItemActive}get itemTemplate(){return this.parent?this.parent.typeaheadItemTemplate:void 0}selectActiveMatch(t){this._active&&this.parent.typeaheadSelectFirstItem&&this.selectMatch(this._active),!this.parent.typeaheadSelectFirstItem&&t&&this.selectMatch(this._active)}positionServiceEnable(){this.positionService.enable()}prevActiveMatch(){const t=this.matches.indexOf(this._active);this._active=this.matches[t-1<0?this.matches.length-1:t-1],this._active.isHeader()&&this.prevActiveMatch(),this.typeaheadScrollable&&this.scrollPrevious(t)}nextActiveMatch(){const t=this.matches.indexOf(this._active);this._active=this.matches[t+1>this.matches.length-1?0:t+1],this._active.isHeader()&&this.nextActiveMatch(),this.typeaheadScrollable&&this.scrollNext(t)}selectActive(t){this.isFocused=!0,this._active=t}highlight(t,e){let n,a,r=t.value,o=(this.parent&&this.parent.typeaheadLatinize?yf(r):r).toLowerCase();if("object"==typeof e){const t=e.length;for(let i=0;i<t;i+=1)n=o.indexOf(e[i]),a=e[i].length,n>=0&&a>0&&(r=`${r.substring(0,n)}<strong>${r.substring(n,n+a)}</strong>`+`${r.substring(n+a)}`,o=`${o.substring(0,n)}        ${" ".repeat(a)}         `+`${o.substring(n+a)}`)}else e&&(n=o.indexOf(e),a=e.length,n>=0&&a>0&&(r=`${r.substring(0,n)}<strong>${r.substring(n,n+a)}</strong>`+`${r.substring(n+a)}`));return r}focusLost(){this.isFocused=!1}isActive(t){return this._active===t}selectMatch(t,e){return e&&(e.stopPropagation(),e.preventDefault()),this.parent.changeModel(t),setTimeout(()=>this.parent.typeaheadOnSelect.emit(t),0),!1}setScrollableMode(){if(this.ulElement||(this.ulElement=this.element),this.liElements.first){const t=uf.b.getStyles(this.ulElement.nativeElement),e=uf.b.getStyles(this.liElements.first.nativeElement),n=parseFloat((t["padding-bottom"]?t["padding-bottom"]:"").replace("px","")),a=parseFloat((t["padding-top"]?t["padding-top"]:"0").replace("px","")),r=parseFloat((e.height?e.height:"0").replace("px",""));this.guiHeight=`${this.typeaheadOptionsInScrollableView*r+a+n}px`}this.renderer.setStyle(this.element.nativeElement,"visibility","visible")}scrollPrevious(t){if(0!==t){if(this.liElements){const e=this.liElements.toArray()[t-1];e&&!this.isScrolledIntoView(e.nativeElement)&&(this.ulElement.nativeElement.scrollTop=e.nativeElement.offsetTop)}}else this.scrollToBottom()}scrollNext(t){if(t+1>this.matches.length-1)this.scrollToTop();else if(this.liElements){const e=this.liElements.toArray()[t+1];e&&!this.isScrolledIntoView(e.nativeElement)&&(this.ulElement.nativeElement.scrollTop=e.nativeElement.offsetTop-Number(this.ulElement.nativeElement.offsetHeight)+Number(e.nativeElement.offsetHeight))}}scrollToBottom(){this.ulElement.nativeElement.scrollTop=this.ulElement.nativeElement.scrollHeight}scrollToTop(){this.ulElement.nativeElement.scrollTop=0}}class Cf{constructor(){this.adaptivePosition=!1,this.isAnimated=!1,this.hideResultsOnBlur=!0,this.selectFirstItem=!0,this.isFirstItemActive=!0,this.minLength=1}}class Pf{constructor(t,e,n,a,r,o,s){this.changeDetection=n,this.element=a,this.ngControl=r,this.renderer=o,this.typeaheadMinLength=void 0,this.isAnimated=!1,this.typeaheadAsync=void 0,this.typeaheadLatinize=!0,this.typeaheadSingleWords=!0,this.typeaheadWordDelimiters=" ",this.typeaheadPhraseDelimiters="'\"",this.typeaheadScrollable=!1,this.typeaheadOptionsInScrollableView=5,this.typeaheadSelectFirstItem=!0,this.typeaheadIsFirstItemActive=!0,this.typeaheadLoading=new i.EventEmitter,this.typeaheadNoResults=new i.EventEmitter,this.typeaheadOnSelect=new i.EventEmitter,this.typeaheadOnBlur=new i.EventEmitter,this.dropup=!1,this.isActiveItemChanged=!1,this.isTypeaheadOptionsListActive=!1,this.keyUpEventEmitter=new i.EventEmitter,this.placement="bottom-left",this._subscriptions=[],this._typeahead=t.createLoader(a,s,o).provide({provide:Cf,useValue:e}),Object.assign(this,{typeaheadHideResultsOnBlur:e.hideResultsOnBlur,typeaheadSelectFirstItem:e.selectFirstItem,typeaheadIsFirstItemActive:e.isFirstItemActive,typeaheadMinLength:e.minLength,adaptivePosition:e.adaptivePosition,isAnimated:e.isAnimated})}ngOnInit(){this.typeaheadOptionsLimit=this.typeaheadOptionsLimit||20,this.typeaheadMinLength=void 0===this.typeaheadMinLength?1:this.typeaheadMinLength,this.typeaheadWaitMs=this.typeaheadWaitMs||0,void 0!==this.typeaheadAsync||Object(mf.a)(this.typeahead)||(this.typeaheadAsync=!1),Object(mf.a)(this.typeahead)&&(this.typeaheadAsync=!0),this.typeaheadAsync?this.asyncActions():this.syncActions()}onInput(t){const e=void 0!==t.target.value?t.target.value:void 0!==t.target.textContent?t.target.textContent:t.target.innerText;null!=e&&e.trim().length>=this.typeaheadMinLength?(this.typeaheadLoading.emit(!0),this.keyUpEventEmitter.emit(t.target.value)):(this.typeaheadLoading.emit(!1),this.typeaheadNoResults.emit(!1),this.hide())}onChange(t){if(this._container){if(27===t.keyCode||"Escape"===t.key)return void this.hide();if(38===t.keyCode||"ArrowUp"===t.key)return this.isActiveItemChanged=!0,void this._container.prevActiveMatch();if(40===t.keyCode||"ArrowDown"===t.key)return this.isActiveItemChanged=!0,void this._container.nextActiveMatch();if(13===t.keyCode||"Enter"===t.key)return void this._container.selectActiveMatch()}}onFocus(){0===this.typeaheadMinLength&&(this.typeaheadLoading.emit(!0),this.keyUpEventEmitter.emit(this.element.nativeElement.value||""))}onBlur(){this._container&&!this._container.isFocused&&this.typeaheadOnBlur.emit(this._container.active)}onKeydown(t){if(this._container&&(9===t.keyCode||"Tab"===t.key||13===t.keyCode||"Enter"===t.key)){if(t.preventDefault(),this.typeaheadSelectFirstItem)return void this._container.selectActiveMatch();this.typeaheadSelectFirstItem||(this._container.selectActiveMatch(this.isActiveItemChanged),this.isActiveItemChanged=!1,this.hide())}}changeModel(t){const e=t.value;this.ngControl.viewToModelUpdate(e),this.ngControl.control.setValue(e),this.changeDetection.markForCheck(),this.hide()}get matches(){return this._matches}show(){this._typeahead.attach(vf).to(this.container).position({attachment:`${this.dropup?"top":"bottom"} start`}).show({typeaheadRef:this,placement:this.placement,animation:!1,dropup:this.dropup}),this._outsideClickListener=this.renderer.listen("document","click",t=>{0===this.typeaheadMinLength&&this.element.nativeElement.contains(t.target)||this.typeaheadHideResultsOnBlur&&!this.element.nativeElement.contains(t.target)&&this.onOutsideClick()}),this._container=this._typeahead.instance,this._container.parent=this;const t=(this.typeaheadLatinize?yf(this.ngControl.control.value):this.ngControl.control.value).toString().toLowerCase();this._container.query=this.typeaheadSingleWords?_f(t,this.typeaheadWordDelimiters,this.typeaheadPhraseDelimiters):t,this._container.matches=this._matches,this.element.nativeElement.focus()}hide(){this._typeahead.isShown&&(this._typeahead.hide(),this._outsideClickListener(),this._container=null)}onOutsideClick(){this._container&&!this._container.isFocused&&this.hide()}ngOnDestroy(){for(const t of this._subscriptions)t.unsubscribe();this._typeahead.dispose()}asyncActions(){this._subscriptions.push(this.keyUpEventEmitter.pipe(Object(ff.a)(this.typeaheadWaitMs),Object(pf.a)(()=>this.typeahead)).subscribe(t=>{this.finalizeAsyncCall(t)}))}syncActions(){this._subscriptions.push(this.keyUpEventEmitter.pipe(Object(ff.a)(this.typeaheadWaitMs),Object(bn.a)(t=>{const e=this.normalizeQuery(t);return Object(mn.a)(this.typeahead).pipe(Object(hn.a)(t=>t&&this.testMatch(this.normalizeOption(t),e)),Object(_n.a)())})).subscribe(t=>{this.finalizeAsyncCall(t)}))}normalizeOption(t){const e=Of(t,this.typeaheadOptionField);return(this.typeaheadLatinize?yf(e):e).toLowerCase()}normalizeQuery(t){let e=(this.typeaheadLatinize?yf(t):t).toString().toLowerCase();return e=this.typeaheadSingleWords?_f(e,this.typeaheadWordDelimiters,this.typeaheadPhraseDelimiters):e,e}testMatch(t,e){let n;if("object"==typeof e){n=e.length;for(let a=0;a<n;a+=1)if(e[a].length>0&&t.indexOf(e[a])<0)return!1;return!0}return t.indexOf(e)>=0}finalizeAsyncCall(t){if(this.prepareMatches(t||[]),this.typeaheadLoading.emit(!1),this.typeaheadNoResults.emit(!this.hasMatches()),this.hasMatches())if(this._container){const t=((this.typeaheadLatinize?yf(this.ngControl.control.value):this.ngControl.control.value)||"").toString().toLowerCase();this._container.query=this.typeaheadSingleWords?_f(t,this.typeaheadWordDelimiters,this.typeaheadPhraseDelimiters):t,this._container.matches=this._matches}else this.show();else this.hide()}prepareMatches(t){const e=t.slice(0,this.typeaheadOptionsLimit);if(this.typeaheadGroupField){let t=[];e.map(t=>Of(t,this.typeaheadGroupField)).filter((t,e,n)=>n.indexOf(t)===e).forEach(n=>{t.push(new bf(n,n,!0)),t=t.concat(e.filter(t=>Of(t,this.typeaheadGroupField)===n).map(t=>new bf(t,Of(t,this.typeaheadOptionField))))}),this._matches=t}else this._matches=e.map(t=>new bf(t,Of(t,this.typeaheadOptionField)))}hasMatches(){return this._matches.length>0}}class Mf{static forRoot(){return{ngModule:Mf,providers:[U.a,Gn.a,Cf]}}}var xf=n("WiuZ"),wf=n("wnGv"),Tf=n("TYzs");class Sf{constructor(t,e){this.nfsService=t,this.i18n=e,this.nfsSquash=this.nfsService.nfsSquash,this.nfsAccessType=this.nfsService.nfsAccessType,this.icons=ut.a}getNoAccessTypeDescr(){return this.form.getValue("access_type")?`${this.form.getValue("access_type")} ${this.i18n("(inherited from global config)")}`:this.i18n("-- Select the access type --")}getAccessTypeHelp(t){const e=this.nfsAccessType.find(e=>this.getValue(t,"access_type")===e.value);return $.isObjectLike(e)?e.help:""}getNoSquashDescr(){return this.form.getValue("squash")?`${this.form.getValue("squash")} (${this.i18n("inherited from global config")})`:this.i18n("-- Select what kind of user id squashing is performed --")}addClient(){const t=this.form.get("clients"),e="(([0-9]{1,3})\\.([0-9]{1,3})\\.([0-9]{1,3}).([0-9]{1,3})([/](\\d|[1-2]\\d|3[0-2]))?)",n=new li.a({addresses:new W.i("",{validators:[W.B.required,W.B.pattern(`${e}([ ,]{1,2}${e})*`)]}),access_type:new W.i(""),squash:new W.i("")});return t.push(n),n}removeClient(t){this.form.get("clients").removeAt(t)}showError(t,e,n,a){return this.form.controls.clients.controls[t].showError(e,n,a)}getValue(t,e){return this.form.get("clients").at(t).getValue(e)}resolveModel(t){$.forEach(t,t=>{this.addClient().patchValue(t)})}trackByFn(t){return t}}var kf=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function If(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"span",[["class","no-border text-muted"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,1,"span",[["class","form-text text-muted"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Any client can access"]))],null,null)}function Nf(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Required field"]))],null,null)}function Rf(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,"span",[],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Must contain one or more comma-separated values"])),(t()(),i["ɵeld"](3,0,null,null,0,"br",[],null,null,null,null,null)),(t()(),i["ɵeld"](4,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["For example:"])),(t()(),i["ɵted"](-1,null,[" 192.168.0.10, 192.168.1.0/8 "]))],null,null)}function Af(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](3,null,["",""]))],(function(t,e){t(e,1,0,e.context.$implicit.value),t(e,2,0,e.context.$implicit.value)}),(function(t,e){t(e,3,0,e.context.$implicit.value)}))}function Ef(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","form-text text-muted"]],null,null,null,null,null)),(t()(),i["ɵted"](1,null,[" "," "]))],null,(function(t,e){t(e,1,0,e.component.getAccessTypeHelp(e.parent.context.index))}))}function Df(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](3,null,["",""]))],(function(t,e){t(e,1,0,e.context.$implicit),t(e,2,0,e.context.$implicit)}),(function(t,e){t(e,3,0,e.context.$implicit)}))}function Lf(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,71,"div",[],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,70,"div",[["class","card"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],null,null,null,null)),i["ɵdid"](2,212992,null,0,W.m,[[3,W.d],[8,null],[8,null]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.d,null,[W.m]),i["ɵdid"](4,16384,null,0,W.s,[[4,W.d]],null,null),(t()(),i["ɵeld"](5,0,null,null,4,"div",[["class","card-header"]],null,null,null,null,null)),(t()(),i["ɵted"](6,null,[" "," "])),i["ɵppd"](7,1),(t()(),i["ɵeld"](8,0,null,null,1,"span",[["class","float-right clickable"],["tooltip","Remove"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.removeClient(t.context.index)&&a),a}),null,null)),(t()(),i["ɵted"](-1,null,["×"])),(t()(),i["ɵeld"](10,0,null,null,61,"div",[["class","card-body"]],null,null,null,null,null)),(t()(),i["ɵeld"](11,0,null,null,18,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](12,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,3,{FormControlNames:1}),i["ɵqud"](603979776,4,{messagesBlock:0}),(t()(),i["ɵeld"](15,0,null,0,1,"label",[["class","cd-col-form-label"],["for","addresses"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Addresses"])),(t()(),i["ɵeld"](17,0,null,0,12,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](18,0,null,null,6,"input",[["class","form-control"],["formControlName","addresses"],["id","addresses"],["name","addresses"],["placeholder","192.168.0.10, 192.168.1.0/8"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,19)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,19).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,19)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,19)._compositionEnd(n.target.value)&&a),a}),null,null)),i["ɵdid"](19,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](21,671744,[[3,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](23,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](24,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵeld"](25,0,null,null,4,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Nf)),i["ɵdid"](27,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Rf)),i["ɵdid"](29,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](30,0,null,null,21,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](31,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,5,{FormControlNames:1}),i["ɵqud"](603979776,6,{messagesBlock:0}),(t()(),i["ɵeld"](34,0,null,0,1,"label",[["class","cd-col-form-label"],["for","access_type"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Access Type"])),(t()(),i["ɵeld"](36,0,null,0,15,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](37,0,null,null,12,"select",[["class","form-control custom-select"],["formControlName","access_type"],["id","access_type"],["name","access_type"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(t,e,n){var a=!0;return"change"===e&&(a=!1!==i["ɵnov"](t,38).onChange(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,38).onTouched()&&a),a}),null,null)),i["ɵdid"](38,16384,null,0,W.A,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.A]),i["ɵdid"](40,671744,[[5,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](42,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](43,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵeld"](44,0,null,null,3,"option",[["value",""]],null,null,null,null,null)),i["ɵdid"](45,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](46,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](47,null,["",""])),(t()(),i["ɵand"](16777216,null,null,1,null,Af)),i["ɵdid"](49,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Ef)),i["ɵdid"](51,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](52,0,null,null,19,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](53,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,7,{FormControlNames:1}),i["ɵqud"](603979776,8,{messagesBlock:0}),(t()(),i["ɵeld"](56,0,null,0,1,"label",[["class","cd-col-form-label"],["for","squash"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Squash"])),(t()(),i["ɵeld"](58,0,null,0,13,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](59,0,null,null,12,"select",[["class","form-control custom-select"],["formControlName","squash"],["id","squash"],["name","squash"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(t,e,n){var a=!0;return"change"===e&&(a=!1!==i["ɵnov"](t,60).onChange(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,60).onTouched()&&a),a}),null,null)),i["ɵdid"](60,16384,null,0,W.A,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.A]),i["ɵdid"](62,671744,[[7,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](64,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](65,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵeld"](66,0,null,null,3,"option",[["value",""]],null,null,null,null,null)),i["ɵdid"](67,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](68,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](69,null,["",""])),(t()(),i["ɵand"](16777216,null,null,1,null,Df)),i["ɵdid"](71,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){var n=e.component;t(e,2,0,e.context.index),t(e,12,0),t(e,21,0,"addresses"),t(e,24,0,"addresses"),t(e,27,0,n.showError(e.context.index,"addresses",i["ɵnov"](e.parent,8),"required")),t(e,29,0,n.showError(e.context.index,"addresses",i["ɵnov"](e.parent,8),"pattern")),t(e,31,0),t(e,40,0,"access_type"),t(e,43,0,"access_type"),t(e,45,0,""),t(e,46,0,""),t(e,49,0,n.nfsAccessType),t(e,51,0,n.getValue(e.context.index,"access_type")),t(e,53,0),t(e,62,0,"squash"),t(e,65,0,"squash"),t(e,67,0,""),t(e,68,0,""),t(e,71,0,n.nfsSquash)}),(function(t,e){var n=e.component;t(e,1,0,i["ɵnov"](e,4).ngClassUntouched,i["ɵnov"](e,4).ngClassTouched,i["ɵnov"](e,4).ngClassPristine,i["ɵnov"](e,4).ngClassDirty,i["ɵnov"](e,4).ngClassValid,i["ɵnov"](e,4).ngClassInvalid,i["ɵnov"](e,4).ngClassPending);var a=i["ɵunv"](e,6,0,t(e,7,0,i["ɵnov"](e.parent,0),e.context.index+1));t(e,6,0,a),t(e,11,0,i["ɵnov"](e,12).hasErrors,i["ɵnov"](e,12).hasSuccess),t(e,18,0,i["ɵnov"](e,23).ngClassUntouched,i["ɵnov"](e,23).ngClassTouched,i["ɵnov"](e,23).ngClassPristine,i["ɵnov"](e,23).ngClassDirty,i["ɵnov"](e,23).ngClassValid,i["ɵnov"](e,23).ngClassInvalid,i["ɵnov"](e,23).ngClassPending,i["ɵnov"](e,24).validClass,i["ɵnov"](e,24).invalidClass),t(e,30,0,i["ɵnov"](e,31).hasErrors,i["ɵnov"](e,31).hasSuccess),t(e,37,0,i["ɵnov"](e,42).ngClassUntouched,i["ɵnov"](e,42).ngClassTouched,i["ɵnov"](e,42).ngClassPristine,i["ɵnov"](e,42).ngClassDirty,i["ɵnov"](e,42).ngClassValid,i["ɵnov"](e,42).ngClassInvalid,i["ɵnov"](e,42).ngClassPending,i["ɵnov"](e,43).validClass,i["ɵnov"](e,43).invalidClass),t(e,47,0,n.getNoAccessTypeDescr()),t(e,52,0,i["ɵnov"](e,53).hasErrors,i["ɵnov"](e,53).hasSuccess),t(e,59,0,i["ɵnov"](e,64).ngClassUntouched,i["ɵnov"](e,64).ngClassTouched,i["ɵnov"](e,64).ngClassPristine,i["ɵnov"](e,64).ngClassDirty,i["ɵnov"](e,64).ngClassValid,i["ɵnov"](e,64).ngClassInvalid,i["ɵnov"](e,64).ngClassPending,i["ɵnov"](e,65).validClass,i["ɵnov"](e,65).invalidClass),t(e,69,0,n.getNoSquashDescr())}))}function qf(t){return i["ɵvid"](0,[i["ɵpid"](0,Tf.a,[]),(t()(),i["ɵeld"](1,0,null,null,28,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](2,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,1,{FormControlNames:1}),i["ɵqud"](603979776,2,{messagesBlock:0}),(t()(),i["ɵeld"](5,0,null,0,1,"label",[["class","cd-col-form-label"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Clients"])),(t()(),i["ɵeld"](7,0,null,0,22,"div",[["class","cd-col-form-input"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(t,e,n){var a=!0;return"submit"===e&&(a=!1!==i["ɵnov"](t,8).onSubmit(n)&&a),"reset"===e&&(a=!1!==i["ɵnov"](t,8).onReset()&&a),"submit"===e&&(a=!1!==i["ɵnov"](t,11).onSubmit()&&a),a}),null,null)),i["ɵdid"](8,540672,[["formDir",4]],0,W.l,[[8,null],[8,null]],{form:[0,"form"]},null),i["ɵprd"](2048,null,W.d,null,[W.l]),i["ɵdid"](10,16384,null,0,W.s,[[4,W.d]],null,null),i["ɵdid"](11,16384,null,0,K.d,[],{formGroup:[0,"formGroup"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,If)),i["ɵdid"](13,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](14,0,null,null,5,null,null,null,null,null,null,null)),i["ɵdid"](15,212992,null,0,W.g,[[3,W.d],[8,null],[8,null]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.d,null,[W.g]),i["ɵdid"](17,16384,null,0,W.s,[[4,W.d]],null,null),(t()(),i["ɵand"](16777216,null,null,1,null,Lf)),i["ɵdid"](19,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"],ngForTrackBy:[1,"ngForTrackBy"]},null),(t()(),i["ɵeld"](20,0,null,null,9,"div",[["class","row"]],null,null,null,null,null)),(t()(),i["ɵeld"](21,0,null,null,8,"div",[["class","col-12"]],null,null,null,null,null)),(t()(),i["ɵeld"](22,0,null,null,7,"div",[["class","float-right"]],null,null,null,null,null)),(t()(),i["ɵeld"](23,0,null,null,6,"button",[["class","btn btn-light "]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.addClient()&&a),a}),null,null)),(t()(),i["ɵeld"](24,0,null,null,3,"i",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](26,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](27,1),(t()(),i["ɵeld"](28,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Add clients"]))],(function(t,e){var n=e.component;t(e,2,0),t(e,8,0,n.form),t(e,11,0,n.form),t(e,13,0,0===n.form.get("clients").value.length),t(e,15,0,"clients"),t(e,19,0,n.form.get("clients").value,n.trackByFn);var a=t(e,27,0,n.icons.add);t(e,26,0,a)}),(function(t,e){t(e,1,0,i["ɵnov"](e,2).hasErrors,i["ɵnov"](e,2).hasSuccess),t(e,7,0,i["ɵnov"](e,10).ngClassUntouched,i["ɵnov"](e,10).ngClassTouched,i["ɵnov"](e,10).ngClassPristine,i["ɵnov"](e,10).ngClassDirty,i["ɵnov"](e,10).ngClassValid,i["ɵnov"](e,10).ngClassInvalid,i["ɵnov"](e,10).ngClassPending)}))}var jf=n("P8lu"),Ff=n("DNAf"),zf=n("a96k");class Gf{constructor(t,e,n,a,r,o,i,s,c,l,d,u){this.authStorageService=t,this.nfsService=e,this.route=n,this.router=a,this.rgwUserService=r,this.formBuilder=o,this.summaryservice=i,this.cephReleaseNamePipe=s,this.taskWrapper=c,this.cdRef=l,this.i18n=d,this.actionLabels=u,this.isEdit=!1,this.cluster_id=null,this.export_id=null,this.isNewDirectory=!1,this.isNewBucket=!1,this.isDefaultCluster=!1,this.allClusters=null,this.allDaemons={},this.icons=ut.a,this.allFsals=[],this.allRgwUsers=[],this.allCephxClients=null,this.allFsNames=null,this.defaultAccessType={RGW:"RO"},this.nfsAccessType=this.nfsService.nfsAccessType,this.nfsSquash=this.nfsService.nfsSquash,this.daemonsSelections=[],this.daemonsMessages=new Ff.a({noOptions:this.i18n("There are no daemons available.")},this.i18n),this.pathDataSource=pn.a.create(t=>{t.next(this.nfsForm.getValue("path"))}).pipe(Object(bn.a)(t=>this.getPathTypeahead(t)),Object(pe.a)(t=>t.paths)),this.bucketDataSource=pn.a.create(t=>{t.next(this.nfsForm.getValue("path"))}).pipe(Object(bn.a)(t=>this.getBucketTypeahead(t))),this.permission=this.authStorageService.getPermissions().pool,this.resource=this.i18n("NFS export"),this.createForm()}ngOnInit(){const t=[this.nfsService.daemon(),this.nfsService.fsals(),this.nfsService.clients(),this.nfsService.filesystems()];this.router.url.startsWith("/nfs/edit")&&(this.isEdit=!0),this.isEdit?(this.action=this.actionLabels.EDIT,this.route.params.subscribe(e=>{this.cluster_id=decodeURIComponent(e.cluster_id),this.export_id=decodeURIComponent(e.export_id),t.push(this.nfsService.get(this.cluster_id,this.export_id)),this.getData(t)})):(this.action=this.actionLabels.CREATE,this.getData(t));const e=this.summaryservice.getCurrentSummary(),n=this.cephReleaseNamePipe.transform(e.version);this.docsUrl=`http://docs.ceph.com/docs/${n}/radosgw/nfs/`}getData(t){Object(ls.a)(t).subscribe(t=>{this.resolveDaemons(t[0]),this.resolvefsals(t[1]),this.resolveClients(t[2]),this.resolveFilesystems(t[3]),t[4]&&this.resolveModel(t[4])})}createForm(){this.nfsForm=new li.a({cluster_id:new W.i("",{validators:[W.B.required]}),daemons:new W.i([]),fsal:new li.a({name:new W.i("",{validators:[W.B.required]}),user_id:new W.i("",{validators:[di.a.requiredIf({name:"CEPH"})]}),fs_name:new W.i("",{validators:[di.a.requiredIf({name:"CEPH"})]}),rgw_user_id:new W.i("",{validators:[di.a.requiredIf({name:"RGW"})]})}),path:new W.i(""),protocolNfsv3:new W.i(!0,{validators:[di.a.requiredIf({protocolNfsv4:!1},t=>!t)]}),protocolNfsv4:new W.i(!0,{validators:[di.a.requiredIf({protocolNfsv3:!1},t=>!t)]}),tag:new W.i(""),pseudo:new W.i("",{validators:[di.a.requiredIf({protocolNfsv4:!0}),W.B.pattern("^/[^><|&()]*$")]}),access_type:new W.i("RW",{validators:[W.B.required]}),squash:new W.i("",{validators:[W.B.required]}),transportUDP:new W.i(!0,{validators:[di.a.requiredIf({transportTCP:!1},t=>!t)]}),transportTCP:new W.i(!0,{validators:[di.a.requiredIf({transportUDP:!1},t=>!t)]}),clients:this.formBuilder.array([]),security_label:new W.i(!1),sec_label_xattr:new W.i("security.selinux",di.a.requiredIf({security_label:!0,"fsal.name":"CEPH"}))})}resolveModel(t){"CEPH"===t.fsal.name&&(t.sec_label_xattr=t.fsal.sec_label_xattr),this.daemonsSelections=$.map(this.allDaemons[t.cluster_id],e=>new zf.a(-1!==t.daemons.indexOf(e),e,"")),this.daemonsSelections=[...this.daemonsSelections],t.protocolNfsv3=-1!==t.protocols.indexOf(3),t.protocolNfsv4=-1!==t.protocols.indexOf(4),delete t.protocols,t.transportTCP=-1!==t.transports.indexOf("TCP"),t.transportUDP=-1!==t.transports.indexOf("UDP"),delete t.transports,t.clients.forEach(t=>{let e="";t.addresses.forEach(t=>{e+=t+", "}),e.length>=2&&(e=e.substring(0,e.length-2)),t.addresses=e}),this.nfsForm.patchValue(t),this.setPathValidation(),this.nfsClients.resolveModel(t.clients)}resolveDaemons(t){t=$.sortBy(t,["daemon_id"]),this.allClusters=$(t).map(t=>t.cluster_id).sortedUniq().value(),$.forEach(this.allClusters,t=>{this.allDaemons[t]=[]}),$.forEach(t,t=>{this.allDaemons[t.cluster_id].push(t.daemon_id)});const e=$.isArray(this.allClusters)&&1===this.allClusters.length;this.isDefaultCluster=e&&"_default_"===this.allClusters[0],e&&(this.nfsForm.patchValue({cluster_id:this.allClusters[0]}),this.onClusterChange())}resolvefsals(t){t.forEach(t=>{const e=this.nfsService.nfsFsal.find(e=>t===e.value);$.isObjectLike(e)&&(this.allFsals.push(e),"RGW"===e.value&&this.rgwUserService.list().subscribe(t=>{t.forEach(t=>{0===t.suspended&&t.keys.length>0&&this.allRgwUsers.push(t.user_id)})}))}),1===this.allFsals.length&&$.isUndefined(this.nfsForm.getValue("fsal"))&&this.nfsForm.patchValue({fsal:this.allFsals[0]})}resolveClients(t){this.allCephxClients=t}resolveFilesystems(t){this.allFsNames=t,1===t.length&&this.nfsForm.patchValue({fsal:{fs_name:t[0].name}})}fsalChangeHandler(){this.nfsForm.patchValue({tag:this._generateTag(),pseudo:this._generatePseudo(),access_type:this._updateAccessType()}),this.setPathValidation(),this.cdRef.detectChanges()}accessTypeChangeHandler(){const t=this.nfsForm.getValue("name"),e=this.nfsForm.getValue("access_type");this.defaultAccessType[t]=e}setPathValidation(){"RGW"===this.nfsForm.getValue("name")?this.nfsForm.get("path").setValidators([W.B.required,W.B.pattern("^(/|[^/><|&()#?]+)$")]):this.nfsForm.get("path").setValidators([W.B.required,W.B.pattern("^/[^><|&()?]*$")])}rgwUserIdChangeHandler(){this.nfsForm.patchValue({pseudo:this._generatePseudo()})}getAccessTypeHelp(t){const e=this.nfsAccessType.find(e=>{if(t===e.value)return e});return $.isObjectLike(e)?e.help:""}getId(){return $.isString(this.nfsForm.getValue("cluster_id"))&&$.isString(this.nfsForm.getValue("path"))?this.nfsForm.getValue("cluster_id")+":"+this.nfsForm.getValue("path"):""}getPathTypeahead(t){return $.isString(t)&&"/"!==t?this.nfsService.lsDir(t):Object(fn.a)([])}pathChangeHandler(){this.nfsForm.patchValue({pseudo:this._generatePseudo()});const t=this.nfsForm.getValue("path");this.getPathTypeahead(t).subscribe(e=>{this.isNewDirectory="/"!==t&&-1===e.paths.indexOf(t)})}bucketChangeHandler(){this.nfsForm.patchValue({tag:this._generateTag(),pseudo:this._generatePseudo()});const t=this.nfsForm.getValue("path");this.getBucketTypeahead(t).subscribe(e=>{this.isNewBucket=""!==t&&-1===e.indexOf(t)})}getBucketTypeahead(t){const e=this.nfsForm.getValue("rgw_user_id");return $.isString(e)&&$.isString(t)&&"/"!==t&&""!==t?this.nfsService.buckets(e):Object(fn.a)([])}_generateTag(){let t=this.nfsForm.getValue("tag");return this.nfsForm.get("tag").dirty||(t=void 0,"RGW"===this.nfsForm.getValue("fsal")&&(t=this.nfsForm.getValue("path"))),t}_generatePseudo(){let t=this.nfsForm.getValue("pseudo");return this.nfsForm.get("pseudo")&&!this.nfsForm.get("pseudo").dirty&&(t=void 0,"CEPH"===this.nfsForm.getValue("fsal")?(t="/cephfs",$.isString(this.nfsForm.getValue("path"))&&(t+=this.nfsForm.getValue("path"))):"RGW"===this.nfsForm.getValue("fsal")&&$.isString(this.nfsForm.getValue("rgw_user_id"))&&(t="/"+this.nfsForm.getValue("rgw_user_id"),$.isString(this.nfsForm.getValue("path"))&&(t+="/"+this.nfsForm.getValue("path")))),t}_updateAccessType(){const t=this.nfsForm.getValue("name");let e=this.defaultAccessType[t];return e||(e="RW"),e}onClusterChange(){const t=this.nfsForm.getValue("cluster_id");this.daemonsSelections=$.map(this.allDaemons[t],t=>new zf.a(!1,t,"")),this.daemonsSelections=[...this.daemonsSelections],this.nfsForm.patchValue({daemons:[]})}removeDaemon(t,e){this.daemonsSelections.forEach(t=>{t.name===e&&(t.selected=!1)});const n=this.nfsForm.get("daemons");return n.value.splice(t,1),n.setValue(n.value),!1}onDaemonSelection(){this.nfsForm.get("daemons").setValue(this.nfsForm.getValue("daemons"))}submitAction(){let t;const e=this._buildRequest();t=this.taskWrapper.wrapTaskAroundCall(this.isEdit?{task:new zo.a("nfs/edit",{cluster_id:this.cluster_id,export_id:this.export_id}),call:this.nfsService.update(this.cluster_id,this.export_id,e)}:{task:new zo.a("nfs/create",{path:e.path,fsal:e.fsal,cluster_id:e.cluster_id}),call:this.nfsService.create(e)}),t.subscribe(void 0,()=>this.nfsForm.setErrors({cdSubmitButton:!0}),()=>this.router.navigate(["/nfs"]))}_buildRequest(){const t=$.cloneDeep(this.nfsForm.value);return($.isUndefined(t.tag)||""===t.tag)&&(t.tag=null),this.isEdit&&(t.export_id=this.export_id),"CEPH"===t.fsal.name?delete t.fsal.rgw_user_id:(delete t.fsal.fs_name,delete t.fsal.user_id),t.protocols=[],t.protocolNfsv3?t.protocols.push(3):t.tag=null,delete t.protocolNfsv3,t.protocolNfsv4?t.protocols.push(4):t.pseudo=null,delete t.protocolNfsv4,t.transports=[],t.transportTCP&&t.transports.push("TCP"),delete t.transportTCP,t.transportUDP&&t.transports.push("UDP"),delete t.transportUDP,t.clients.forEach(e=>{e.addresses=$.isString(e.addresses)?$(e.addresses).split(/[ ,]+/).uniq().filter(t=>""!==t).value():[],e.squash||(e.squash=t.squash),e.access_type||(e.access_type=t.access_type)}),t.fsal.sec_label_xattr=!1===t.security_label||"RGW"===t.fsal.name?null:t.sec_label_xattr,delete t.sec_label_xattr,t}}var Bf=i["ɵcrt"]({encapsulation:0,styles:[[".cd-mb[_ngcontent-%COMP%]{margin-bottom:10px}"]],data:{}});function Vf(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[["value",""]],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](-1,null,["Loading..."]))],(function(t,e){t(e,1,0,""),t(e,2,0,"")}),null)}function Yf(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[["value",""]],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](-1,null,["-- No cluster available --"]))],(function(t,e){t(e,1,0,""),t(e,2,0,"")}),null)}function Hf(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[["value",""]],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](-1,null,["-- Select the cluster --"]))],(function(t,e){t(e,1,0,""),t(e,2,0,"")}),null)}function Uf(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](3,null,["",""]))],(function(t,e){t(e,1,0,e.context.$implicit),t(e,2,0,e.context.$implicit)}),(function(t,e){t(e,3,0,e.context.$implicit)}))}function Wf(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Required field"]))],null,null)}function Kf(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,23,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](1,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,2,{FormControlNames:1}),i["ɵqud"](603979776,3,{messagesBlock:0}),(t()(),i["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","cluster_id"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Cluster"])),(t()(),i["ɵeld"](6,0,null,0,17,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](7,0,null,null,14,"select",[["class","form-control custom-select"],["formControlName","cluster_id"],["id","cluster_id"],["name","cluster_id"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(t,e,n){var a=!0,r=t.component;return"change"===e&&(a=!1!==i["ɵnov"](t,8).onChange(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,8).onTouched()&&a),"change"===e&&(a=!1!==r.onClusterChange()&&a),a}),null,null)),i["ɵdid"](8,16384,null,0,W.A,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.A]),i["ɵdid"](10,671744,[[2,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](12,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](13,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Vf)),i["ɵdid"](15,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Yf)),i["ɵdid"](17,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Hf)),i["ɵdid"](19,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Uf)),i["ɵdid"](21,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Wf)),i["ɵdid"](23,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0),t(e,10,0,"cluster_id"),t(e,13,0,"cluster_id"),t(e,15,0,null===n.allClusters),t(e,17,0,null!==n.allClusters&&0===n.allClusters.length),t(e,19,0,null!==n.allClusters&&n.allClusters.length>0),t(e,21,0,n.allClusters),t(e,23,0,n.nfsForm.showError("cluster_id",i["ɵnov"](e.parent,6),"required"))}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).hasErrors,i["ɵnov"](e,1).hasSuccess),t(e,7,0,i["ɵnov"](e,12).ngClassUntouched,i["ɵnov"](e,12).ngClassTouched,i["ɵnov"](e,12).ngClassPristine,i["ɵnov"](e,12).ngClassDirty,i["ɵnov"](e,12).ngClassValid,i["ɵnov"](e,12).ngClassInvalid,i["ɵnov"](e,12).ngClassPending,i["ɵnov"](e,13).validClass,i["ɵnov"](e,13).invalidClass)}))}function $f(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,8,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,7,"div",[["class","input-group cd-mb"]],null,null,null,null,null)),(t()(),i["ɵeld"](2,0,null,null,0,"input",[["class","cd-form-control"],["disabled",""],["type","text"]],[[8,"value",0]],null,null,null,null)),(t()(),i["ɵeld"](3,0,null,null,5,"span",[["class","input-group-append"]],null,null,null,null,null)),(t()(),i["ɵeld"](4,0,null,null,4,"button",[["class","btn btn-light"],["type","button"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.removeDaemon(t.context.index,t.context.$implicit)&&a),a}),null,null)),(t()(),i["ɵeld"](5,0,null,null,3,"i",[["aria-hidden","true"]],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](7,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](8,1)],(function(t,e){var n=t(e,8,0,e.component.icons.destroy);t(e,7,0,n)}),(function(t,e){t(e,2,0,e.context.$implicit)}))}function Zf(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[["value",""]],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](-1,null,["Loading..."]))],(function(t,e){t(e,1,0,""),t(e,2,0,"")}),null)}function Jf(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[["value",""]],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](-1,null,["-- No data pools available --"]))],(function(t,e){t(e,1,0,""),t(e,2,0,"")}),null)}function Xf(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[["value",""]],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](-1,null,["-- Select the storage backend --"]))],(function(t,e){t(e,1,0,""),t(e,2,0,"")}),null)}function Qf(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](3,null,["",""]))],(function(t,e){t(e,1,0,e.context.$implicit.value),t(e,2,0,e.context.$implicit.value)}),(function(t,e){t(e,3,0,e.context.$implicit.descr)}))}function tp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Required field"]))],null,null)}function ep(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[["value",""]],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](-1,null,["Loading..."]))],(function(t,e){t(e,1,0,""),t(e,2,0,"")}),null)}function np(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[["value",""]],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](-1,null,["-- No users available --"]))],(function(t,e){t(e,1,0,""),t(e,2,0,"")}),null)}function ap(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[["value",""]],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](-1,null,["-- Select the object gateway user --"]))],(function(t,e){t(e,1,0,""),t(e,2,0,"")}),null)}function rp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](3,null,["",""]))],(function(t,e){t(e,1,0,e.context.$implicit),t(e,2,0,e.context.$implicit)}),(function(t,e){t(e,3,0,e.context.$implicit)}))}function op(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Required field"]))],null,null)}function ip(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,23,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](1,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,8,{FormControlNames:1}),i["ɵqud"](603979776,9,{messagesBlock:0}),(t()(),i["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","rgw_user_id"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Object Gateway User"])),(t()(),i["ɵeld"](6,0,null,0,17,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](7,0,null,null,14,"select",[["class","form-control custom-select"],["formControlName","rgw_user_id"],["id","rgw_user_id"],["name","rgw_user_id"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(t,e,n){var a=!0,r=t.component;return"change"===e&&(a=!1!==i["ɵnov"](t,8).onChange(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,8).onTouched()&&a),"change"===e&&(a=!1!==r.rgwUserIdChangeHandler()&&a),a}),null,null)),i["ɵdid"](8,16384,null,0,W.A,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.A]),i["ɵdid"](10,671744,[[8,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](12,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](13,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,ep)),i["ɵdid"](15,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,np)),i["ɵdid"](17,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,ap)),i["ɵdid"](19,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,rp)),i["ɵdid"](21,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,op)),i["ɵdid"](23,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0),t(e,10,0,"rgw_user_id"),t(e,13,0,"rgw_user_id"),t(e,15,0,null===n.allRgwUsers),t(e,17,0,null!==n.allRgwUsers&&0===n.allRgwUsers.length),t(e,19,0,null!==n.allRgwUsers&&n.allRgwUsers.length>0),t(e,21,0,n.allRgwUsers),t(e,23,0,n.nfsForm.showError("rgw_user_id",i["ɵnov"](e.parent,6),"required"))}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).hasErrors,i["ɵnov"](e,1).hasSuccess),t(e,7,0,i["ɵnov"](e,12).ngClassUntouched,i["ɵnov"](e,12).ngClassTouched,i["ɵnov"](e,12).ngClassPristine,i["ɵnov"](e,12).ngClassDirty,i["ɵnov"](e,12).ngClassValid,i["ɵnov"](e,12).ngClassInvalid,i["ɵnov"](e,12).ngClassPending,i["ɵnov"](e,13).validClass,i["ɵnov"](e,13).invalidClass)}))}function sp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[["value",""]],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](-1,null,["Loading..."]))],(function(t,e){t(e,1,0,""),t(e,2,0,"")}),null)}function cp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[["value",""]],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](-1,null,["-- No clients available --"]))],(function(t,e){t(e,1,0,""),t(e,2,0,"")}),null)}function lp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[["value",""]],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](-1,null,["-- Select the cephx client --"]))],(function(t,e){t(e,1,0,""),t(e,2,0,"")}),null)}function dp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](3,null,["",""]))],(function(t,e){t(e,1,0,e.context.$implicit),t(e,2,0,e.context.$implicit)}),(function(t,e){t(e,3,0,e.context.$implicit)}))}function up(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Required field"]))],null,null)}function gp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,23,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](1,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,10,{FormControlNames:1}),i["ɵqud"](603979776,11,{messagesBlock:0}),(t()(),i["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","user_id"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["CephFS User ID"])),(t()(),i["ɵeld"](6,0,null,0,17,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](7,0,null,null,14,"select",[["class","form-control custom-select"],["formControlName","user_id"],["id","user_id"],["name","user_id"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(t,e,n){var a=!0;return"change"===e&&(a=!1!==i["ɵnov"](t,8).onChange(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,8).onTouched()&&a),a}),null,null)),i["ɵdid"](8,16384,null,0,W.A,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.A]),i["ɵdid"](10,671744,[[10,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](12,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](13,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,sp)),i["ɵdid"](15,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,cp)),i["ɵdid"](17,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,lp)),i["ɵdid"](19,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,dp)),i["ɵdid"](21,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,up)),i["ɵdid"](23,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0),t(e,10,0,"user_id"),t(e,13,0,"user_id"),t(e,15,0,null===n.allCephxClients),t(e,17,0,null!==n.allCephxClients&&0===n.allCephxClients.length),t(e,19,0,null!==n.allCephxClients&&n.allCephxClients.length>0),t(e,21,0,n.allCephxClients),t(e,23,0,n.nfsForm.showError("user_id",i["ɵnov"](e.parent,6),"required"))}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).hasErrors,i["ɵnov"](e,1).hasSuccess),t(e,7,0,i["ɵnov"](e,12).ngClassUntouched,i["ɵnov"](e,12).ngClassTouched,i["ɵnov"](e,12).ngClassPristine,i["ɵnov"](e,12).ngClassDirty,i["ɵnov"](e,12).ngClassValid,i["ɵnov"](e,12).ngClassInvalid,i["ɵnov"](e,12).ngClassPending,i["ɵnov"](e,13).validClass,i["ɵnov"](e,13).invalidClass)}))}function fp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[["value",""]],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](-1,null,["Loading..."]))],(function(t,e){t(e,1,0,""),t(e,2,0,"")}),null)}function pp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[["value",""]],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](-1,null,["-- No CephFS filesystem available --"]))],(function(t,e){t(e,1,0,""),t(e,2,0,"")}),null)}function mp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[["value",""]],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](-1,null,["-- Select the CephFS filesystem --"]))],(function(t,e){t(e,1,0,""),t(e,2,0,"")}),null)}function hp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](3,null,["",""]))],(function(t,e){t(e,1,0,e.context.$implicit.name),t(e,2,0,e.context.$implicit.name)}),(function(t,e){t(e,3,0,e.context.$implicit.name)}))}function bp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Required field"]))],null,null)}function yp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,23,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](1,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,12,{FormControlNames:1}),i["ɵqud"](603979776,13,{messagesBlock:0}),(t()(),i["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","fs_name"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["CephFS Name"])),(t()(),i["ɵeld"](6,0,null,0,17,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](7,0,null,null,14,"select",[["class","form-control custom-select"],["formControlName","fs_name"],["id","fs_name"],["name","fs_name"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(t,e,n){var a=!0,r=t.component;return"change"===e&&(a=!1!==i["ɵnov"](t,8).onChange(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,8).onTouched()&&a),"change"===e&&(a=!1!==r.rgwUserIdChangeHandler()&&a),a}),null,null)),i["ɵdid"](8,16384,null,0,W.A,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.A]),i["ɵdid"](10,671744,[[12,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](12,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](13,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,fp)),i["ɵdid"](15,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,pp)),i["ɵdid"](17,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,mp)),i["ɵdid"](19,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,hp)),i["ɵdid"](21,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,bp)),i["ɵdid"](23,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0),t(e,10,0,"fs_name"),t(e,13,0,"fs_name"),t(e,15,0,null===n.allFsNames),t(e,17,0,null!==n.allFsNames&&0===n.allFsNames.length),t(e,19,0,null!==n.allFsNames&&n.allFsNames.length>0),t(e,21,0,n.allFsNames),t(e,23,0,n.nfsForm.showError("fs_name",i["ɵnov"](e.parent,6),"required"))}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).hasErrors,i["ɵnov"](e,1).hasSuccess),t(e,7,0,i["ɵnov"](e,12).ngClassUntouched,i["ɵnov"](e,12).ngClassTouched,i["ɵnov"](e,12).ngClassPristine,i["ɵnov"](e,12).ngClassDirty,i["ɵnov"](e,12).ngClassValid,i["ɵnov"](e,12).ngClassInvalid,i["ɵnov"](e,12).ngClassPending,i["ɵnov"](e,13).validClass,i["ɵnov"](e,13).invalidClass)}))}function _p(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,"input",[["class","form-control"],["formControlName","sec_label_xattr"],["id","sec_label_xattr"],["name","sec_label_xattr"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,1)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,1).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,1)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,1)._compositionEnd(n.target.value)&&a),a}),null,null)),i["ɵdid"](1,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](3,671744,[[14,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](5,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](6,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null)],(function(t,e){t(e,3,0,"sec_label_xattr"),t(e,6,0,"sec_label_xattr")}),(function(t,e){t(e,0,0,i["ɵnov"](e,5).ngClassUntouched,i["ɵnov"](e,5).ngClassTouched,i["ɵnov"](e,5).ngClassPristine,i["ɵnov"](e,5).ngClassDirty,i["ɵnov"](e,5).ngClassValid,i["ɵnov"](e,5).ngClassInvalid,i["ɵnov"](e,5).ngClassPending,i["ɵnov"](e,6).validClass,i["ɵnov"](e,6).invalidClass)}))}function Op(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Required field"]))],null,null)}function vp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,24,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](1,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,14,{FormControlNames:1}),i["ɵqud"](603979776,15,{messagesBlock:0}),(t()(),i["ɵeld"](4,0,null,0,4,"label",[["class","cd-col-form-label"],["for","security_label"]],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](6,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),i["ɵpod"](7,{required:0}),(t()(),i["ɵted"](-1,null,["Security Label"])),(t()(),i["ɵeld"](9,0,null,0,15,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](10,0,null,null,9,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(t()(),i["ɵeld"](11,0,null,null,6,"input",[["class","custom-control-input"],["formControlName","security_label"],["id","security_label"],["name","security_label"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(t,e,n){var a=!0;return"change"===e&&(a=!1!==i["ɵnov"](t,12).onChange(n.target.checked)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,12).onTouched()&&a),a}),null,null)),i["ɵdid"](12,16384,null,0,W.c,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.c]),i["ɵdid"](14,671744,[[14,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](16,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](17,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵeld"](18,0,null,null,1,"label",[["class","custom-control-label"],["for","security_label"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Enable security label"])),(t()(),i["ɵeld"](20,0,null,null,0,"br",[],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,_p)),i["ɵdid"](22,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Op)),i["ɵdid"](24,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0);var a=t(e,7,0,n.nfsForm.getValue("security_label"));t(e,6,0,"cd-col-form-label",a),t(e,14,0,"security_label"),t(e,17,0,"security_label"),t(e,22,0,n.nfsForm.getValue("security_label")),t(e,24,0,n.nfsForm.showError("sec_label_xattr",i["ɵnov"](e.parent,6),"required"))}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).hasErrors,i["ɵnov"](e,1).hasSuccess),t(e,11,0,i["ɵnov"](e,16).ngClassUntouched,i["ɵnov"](e,16).ngClassTouched,i["ɵnov"](e,16).ngClassPristine,i["ɵnov"](e,16).ngClassDirty,i["ɵnov"](e,16).ngClassValid,i["ɵnov"](e,16).ngClassInvalid,i["ɵnov"](e,16).ngClassPending,i["ɵnov"](e,17).validClass,i["ɵnov"](e,17).invalidClass)}))}function Cp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Required field"]))],null,null)}function Pp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Path need to start with a '/' and can be followed by a word"]))],null,null)}function Mp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","form-text text-muted"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["New directory will be created"]))],null,null)}function xp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,20,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](1,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,16,{FormControlNames:1}),i["ɵqud"](603979776,17,{messagesBlock:0}),(t()(),i["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","path"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["CephFS Path"])),(t()(),i["ɵeld"](6,0,null,0,14,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](7,16777216,null,null,7,"input",[["class","form-control"],["formControlName","path"],["id","path"],["name","path"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"typeaheadOnSelect"],[null,"blur"],[null,"input"],[null,"compositionstart"],[null,"compositionend"],[null,"keyup"],[null,"click"],[null,"focus"],[null,"keydown"]],(function(t,e,n){var a=!0,r=t.component;return"input"===e&&(a=!1!==i["ɵnov"](t,8)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,8).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,8)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,8)._compositionEnd(n.target.value)&&a),"input"===e&&(a=!1!==i["ɵnov"](t,13).onInput(n)&&a),"keyup"===e&&(a=!1!==i["ɵnov"](t,13).onChange(n)&&a),"click"===e&&(a=!1!==i["ɵnov"](t,13).onFocus()&&a),"focus"===e&&(a=!1!==i["ɵnov"](t,13).onFocus()&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,13).onBlur()&&a),"keydown"===e&&(a=!1!==i["ɵnov"](t,13).onKeydown(n)&&a),"typeaheadOnSelect"===e&&(a=!1!==r.pathChangeHandler()&&a),"blur"===e&&(a=!1!==r.pathChangeHandler()&&a),a}),null,null)),i["ɵdid"](8,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](10,671744,[[16,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](12,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](13,212992,null,0,Pf,[U.a,Cf,i.ChangeDetectorRef,i.ElementRef,W.q,i.Renderer2,i.ViewContainerRef],{typeahead:[0,"typeahead"]},{typeaheadOnSelect:"typeaheadOnSelect"}),i["ɵdid"](14,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Cp)),i["ɵdid"](16,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Pp)),i["ɵdid"](18,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Mp)),i["ɵdid"](20,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0),t(e,10,0,"path"),t(e,13,0,n.pathDataSource),t(e,14,0,"path"),t(e,16,0,n.nfsForm.showError("path",i["ɵnov"](e.parent,6),"required")),t(e,18,0,n.nfsForm.showError("path",i["ɵnov"](e.parent,6),"pattern")),t(e,20,0,n.isNewDirectory&&!n.nfsForm.showError("path",i["ɵnov"](e.parent,6)))}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).hasErrors,i["ɵnov"](e,1).hasSuccess),t(e,7,0,i["ɵnov"](e,12).ngClassUntouched,i["ɵnov"](e,12).ngClassTouched,i["ɵnov"](e,12).ngClassPristine,i["ɵnov"](e,12).ngClassDirty,i["ɵnov"](e,12).ngClassValid,i["ɵnov"](e,12).ngClassInvalid,i["ɵnov"](e,12).ngClassPending,i["ɵnov"](e,14).validClass,i["ɵnov"](e,14).invalidClass)}))}function wp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Required field"]))],null,null)}function Tp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Path can only be a single '/' or a word"]))],null,null)}function Sp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","form-text text-muted"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["New bucket will be created"]))],null,null)}function kp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,20,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](1,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,18,{FormControlNames:1}),i["ɵqud"](603979776,19,{messagesBlock:0}),(t()(),i["ɵeld"](4,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","path"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Path"])),(t()(),i["ɵeld"](6,0,null,0,14,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](7,16777216,null,null,7,"input",[["class","form-control"],["formControlName","path"],["id","path"],["name","path"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"typeaheadOnSelect"],[null,"blur"],[null,"input"],[null,"compositionstart"],[null,"compositionend"],[null,"keyup"],[null,"click"],[null,"focus"],[null,"keydown"]],(function(t,e,n){var a=!0,r=t.component;return"input"===e&&(a=!1!==i["ɵnov"](t,8)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,8).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,8)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,8)._compositionEnd(n.target.value)&&a),"input"===e&&(a=!1!==i["ɵnov"](t,13).onInput(n)&&a),"keyup"===e&&(a=!1!==i["ɵnov"](t,13).onChange(n)&&a),"click"===e&&(a=!1!==i["ɵnov"](t,13).onFocus()&&a),"focus"===e&&(a=!1!==i["ɵnov"](t,13).onFocus()&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,13).onBlur()&&a),"keydown"===e&&(a=!1!==i["ɵnov"](t,13).onKeydown(n)&&a),"typeaheadOnSelect"===e&&(a=!1!==r.bucketChangeHandler()&&a),"blur"===e&&(a=!1!==r.bucketChangeHandler()&&a),a}),null,null)),i["ɵdid"](8,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](10,671744,[[18,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](12,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](13,212992,null,0,Pf,[U.a,Cf,i.ChangeDetectorRef,i.ElementRef,W.q,i.Renderer2,i.ViewContainerRef],{typeahead:[0,"typeahead"]},{typeaheadOnSelect:"typeaheadOnSelect"}),i["ɵdid"](14,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,wp)),i["ɵdid"](16,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Tp)),i["ɵdid"](18,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Sp)),i["ɵdid"](20,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0),t(e,10,0,"path"),t(e,13,0,n.bucketDataSource),t(e,14,0,"path"),t(e,16,0,n.nfsForm.showError("path",i["ɵnov"](e.parent,6),"required")),t(e,18,0,n.nfsForm.showError("path",i["ɵnov"](e.parent,6),"pattern")),t(e,20,0,n.isNewBucket&&!n.nfsForm.showError("path",i["ɵnov"](e.parent,6)))}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).hasErrors,i["ɵnov"](e,1).hasSuccess),t(e,7,0,i["ɵnov"](e,12).ngClassUntouched,i["ɵnov"](e,12).ngClassTouched,i["ɵnov"](e,12).ngClassPristine,i["ɵnov"](e,12).ngClassDirty,i["ɵnov"](e,12).ngClassValid,i["ɵnov"](e,12).ngClassInvalid,i["ɵnov"](e,12).ngClassPending,i["ɵnov"](e,14).validClass,i["ɵnov"](e,14).invalidClass)}))}function Ip(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Required field"]))],null,null)}function Np(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,25,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](1,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,22,{FormControlNames:1}),i["ɵqud"](603979776,23,{messagesBlock:0}),(t()(),i["ɵeld"](4,0,null,0,13,"label",[["class","cd-col-form-label"],["for","tag"]],null,null,null,null,null)),(t()(),i["ɵeld"](5,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["NFS Tag"])),(t()(),i["ɵeld"](7,0,null,null,10,"cd-helper",[],null,null,null,Es.b,Es.a)),i["ɵdid"](8,49152,null,0,Ds.a,[],null,null),(t()(),i["ɵeld"](9,0,null,0,4,"p",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Alternative access for "])),(t()(),i["ɵeld"](11,0,null,null,1,"strong",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["NFS v3"])),(t()(),i["ɵted"](-1,null,[" mounts (it must not have a leading /)."])),(t()(),i["ɵeld"](14,0,null,0,1,"p",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Clients may not mount subdirectories (i.e. if Tag = foo, the client may not mount foo/baz)."])),(t()(),i["ɵeld"](16,0,null,0,1,"p",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["By using different Tag options, the same Path may be exported multiple times."])),(t()(),i["ɵeld"](18,0,null,0,7,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](19,0,null,null,6,"input",[["class","form-control"],["formControlName","tag"],["id","tag"],["name","tag"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,20)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,20).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,20)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,20)._compositionEnd(n.target.value)&&a),a}),null,null)),i["ɵdid"](20,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](22,671744,[[22,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](24,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](25,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null)],(function(t,e){t(e,1,0),t(e,22,0,"tag"),t(e,25,0,"tag")}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).hasErrors,i["ɵnov"](e,1).hasSuccess),t(e,19,0,i["ɵnov"](e,24).ngClassUntouched,i["ɵnov"](e,24).ngClassTouched,i["ɵnov"](e,24).ngClassPristine,i["ɵnov"](e,24).ngClassDirty,i["ɵnov"](e,24).ngClassValid,i["ɵnov"](e,24).ngClassInvalid,i["ɵnov"](e,24).ngClassPending,i["ɵnov"](e,25).validClass,i["ɵnov"](e,25).invalidClass)}))}function Rp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Required field"]))],null,null)}function Ap(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Pseudo needs to start with a '/' and can't contain any of the following: >, <, |, &, ( or )."]))],null,null)}function Ep(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,30,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](1,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,24,{FormControlNames:1}),i["ɵqud"](603979776,25,{messagesBlock:0}),(t()(),i["ɵeld"](4,0,null,0,14,"label",[["class","cd-col-form-label"],["for","pseudo"]],null,null,null,null,null)),(t()(),i["ɵeld"](5,0,null,null,1,"span",[["class","required"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Pseudo"])),(t()(),i["ɵeld"](7,0,null,null,11,"cd-helper",[],null,null,null,Es.b,Es.a)),i["ɵdid"](8,49152,null,0,Ds.a,[],null,null),(t()(),i["ɵeld"](9,0,null,0,7,"p",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["The position that this "])),(t()(),i["ɵeld"](11,0,null,null,1,"strong",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["NFS v4"])),(t()(),i["ɵted"](-1,null,[" export occupies in the "])),(t()(),i["ɵeld"](14,0,null,null,1,"strong",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Pseudo FS"])),(t()(),i["ɵted"](-1,null,[" (it must be unique)."])),(t()(),i["ɵeld"](17,0,null,0,1,"p",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["By using different Pseudo options, the same Path may be exported multiple times."])),(t()(),i["ɵeld"](19,0,null,0,11,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](20,0,null,null,6,"input",[["class","form-control"],["formControlName","pseudo"],["id","pseudo"],["name","pseudo"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,21)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,21).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,21)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,21)._compositionEnd(n.target.value)&&a),a}),null,null)),i["ɵdid"](21,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](23,671744,[[24,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](25,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](26,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Rp)),i["ɵdid"](28,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Ap)),i["ɵdid"](30,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0),t(e,23,0,"pseudo"),t(e,26,0,"pseudo"),t(e,28,0,n.nfsForm.showError("pseudo",i["ɵnov"](e.parent,6),"required")),t(e,30,0,n.nfsForm.showError("pseudo",i["ɵnov"](e.parent,6),"pattern"))}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).hasErrors,i["ɵnov"](e,1).hasSuccess),t(e,20,0,i["ɵnov"](e,25).ngClassUntouched,i["ɵnov"](e,25).ngClassTouched,i["ɵnov"](e,25).ngClassPristine,i["ɵnov"](e,25).ngClassDirty,i["ɵnov"](e,25).ngClassValid,i["ɵnov"](e,25).ngClassInvalid,i["ɵnov"](e,25).ngClassPending,i["ɵnov"](e,26).validClass,i["ɵnov"](e,26).invalidClass)}))}function Dp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[["value",""]],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](-1,null,["Loading..."]))],(function(t,e){t(e,1,0,""),t(e,2,0,"")}),null)}function Lp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[["value",""]],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](-1,null,["-- No access type available --"]))],(function(t,e){t(e,1,0,""),t(e,2,0,"")}),null)}function qp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[["value",""]],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](-1,null,["-- Select the access type --"]))],(function(t,e){t(e,1,0,""),t(e,2,0,"")}),null)}function jp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](3,null,["",""]))],(function(t,e){t(e,1,0,e.context.$implicit.value),t(e,2,0,e.context.$implicit.value)}),(function(t,e){t(e,3,0,e.context.$implicit.value)}))}function Fp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","form-text text-muted"]],null,null,null,null,null)),(t()(),i["ɵted"](1,null,[" "," "]))],null,(function(t,e){var n=e.component;t(e,1,0,n.getAccessTypeHelp(n.nfsForm.getValue("access_type")))}))}function zp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,4,"span",[["class","form-text text-warning"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["The Object Gateway NFS backend has a number of limitations which will seriously affect applications writing to the share. Please consult the "])),(t()(),i["ɵeld"](2,0,null,null,1,"a",[["target","_blank"]],[[8,"href",4]],null,null,null,null)),(t()(),i["ɵted"](-1,null,[" documentation"])),(t()(),i["ɵted"](-1,null,[" for details before enabling write access."]))],null,(function(t,e){t(e,2,0,i["ɵinlineInterpolate"](1,"",e.component.docsUrl,""))}))}function Gp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Required field"]))],null,null)}function Bp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[["value",""]],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](-1,null,["Loading..."]))],(function(t,e){t(e,1,0,""),t(e,2,0,"")}),null)}function Vp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[["value",""]],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](-1,null,["-- No squash available --"]))],(function(t,e){t(e,1,0,""),t(e,2,0,"")}),null)}function Yp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[["value",""]],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](-1,null,["--Select what kind of user id squashing is performed --"]))],(function(t,e){t(e,1,0,""),t(e,2,0,"")}),null)}function Hp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](3,null,["",""]))],(function(t,e){t(e,1,0,e.context.$implicit),t(e,2,0,e.context.$implicit)}),(function(t,e){t(e,3,0,e.context.$implicit)}))}function Up(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Required field"]))],null,null)}function Wp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Required field"]))],null,null)}function Kp(t){return i["ɵvid"](0,[i["ɵpid"](0,o.TitleCasePipe,[]),i["ɵpid"](0,ci.a,[]),i["ɵqud"](402653184,1,{nfsClients:0}),(t()(),i["ɵeld"](3,0,null,null,200,"div",[["class","cd-col-form"]],null,null,null,null,null)),(t()(),i["ɵeld"](4,0,null,null,199,"form",[["name","nfsForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(t,e,n){var a=!0;return"submit"===e&&(a=!1!==i["ɵnov"](t,6).onSubmit(n)&&a),"reset"===e&&(a=!1!==i["ɵnov"](t,6).onReset()&&a),"submit"===e&&(a=!1!==i["ɵnov"](t,9).onSubmit()&&a),a}),null,null)),i["ɵdid"](5,16384,null,0,W.G,[],null,null),i["ɵdid"](6,540672,[["formDir",4]],0,W.l,[[8,null],[8,null]],{form:[0,"form"]},null),i["ɵprd"](2048,null,W.d,null,[W.l]),i["ɵdid"](8,16384,null,0,W.s,[[4,W.d]],null,null),i["ɵdid"](9,16384,null,0,K.d,[],{formGroup:[0,"formGroup"]},null),(t()(),i["ɵeld"](10,0,null,null,193,"div",[["class","card"]],null,null,null,null,null)),(t()(),i["ɵeld"](11,0,null,null,3,"div",[["class","card-header"]],null,null,null,null,null)),(t()(),i["ɵted"](12,null,[""," ",""])),i["ɵppd"](13,1),i["ɵppd"](14,1),(t()(),i["ɵeld"](15,0,null,null,179,"div",[["class","card-body"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Kf)),i["ɵdid"](17,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](18,0,null,null,19,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](19,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,4,{FormControlNames:1}),i["ɵqud"](603979776,5,{messagesBlock:0}),(t()(),i["ɵeld"](22,0,null,0,2,"label",[["class","cd-col-form-label"],["for","daemons"]],null,null,null,null,null)),(t()(),i["ɵeld"](23,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Daemons"])),(t()(),i["ɵeld"](25,0,null,0,12,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,$f)),i["ɵdid"](27,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵeld"](28,0,null,null,9,"div",[["class","row"]],null,null,null,null,null)),(t()(),i["ɵeld"](29,0,null,null,8,"div",[["class","col-md-12"]],null,null,null,null,null)),(t()(),i["ɵeld"](30,0,null,null,7,"cd-select",[["elemClass","btn btn-light float-right"]],null,[[null,"selection"]],(function(t,e,n){var a=!0;return"selection"===e&&(a=!1!==t.component.onDaemonSelection()&&a),a}),xf.b,xf.a)),i["ɵdid"](31,638976,null,0,wf.a,[ia.a],{elemClass:[0,"elemClass"],data:[1,"data"],options:[2,"options"],messages:[3,"messages"]},{selection:"selection"}),(t()(),i["ɵeld"](32,0,null,0,3,"i",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](34,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](35,1),(t()(),i["ɵeld"](36,0,null,0,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Add daemon"])),(t()(),i["ɵeld"](38,0,null,null,33,"div",[["formGroupName","fsal"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],null,null,null,null)),i["ɵdid"](39,212992,null,0,W.m,[[3,W.d],[8,null],[8,null]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.d,null,[W.m]),i["ɵdid"](41,16384,null,0,W.s,[[4,W.d]],null,null),(t()(),i["ɵeld"](42,0,null,null,23,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](43,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,6,{FormControlNames:1}),i["ɵqud"](603979776,7,{messagesBlock:0}),(t()(),i["ɵeld"](46,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","name"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Storage Backend"])),(t()(),i["ɵeld"](48,0,null,0,17,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](49,0,null,null,14,"select",[["class","form-control custom-select"],["formControlName","name"],["id","name"],["name","name"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(t,e,n){var a=!0,r=t.component;return"change"===e&&(a=!1!==i["ɵnov"](t,50).onChange(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,50).onTouched()&&a),"change"===e&&(a=!1!==r.fsalChangeHandler()&&a),a}),null,null)),i["ɵdid"](50,16384,null,0,W.A,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.A]),i["ɵdid"](52,671744,[[6,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](54,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](55,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Zf)),i["ɵdid"](57,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Jf)),i["ɵdid"](59,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Xf)),i["ɵdid"](61,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Qf)),i["ɵdid"](63,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,tp)),i["ɵdid"](65,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,ip)),i["ɵdid"](67,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,gp)),i["ɵdid"](69,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,yp)),i["ɵdid"](71,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,vp)),i["ɵdid"](73,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,xp)),i["ɵdid"](75,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,kp)),i["ɵdid"](77,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](78,0,null,null,28,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](79,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,20,{FormControlNames:1}),i["ɵqud"](603979776,21,{messagesBlock:0}),(t()(),i["ɵeld"](82,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","protocols"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["NFS Protocol"])),(t()(),i["ɵeld"](84,0,null,0,22,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](85,0,null,null,9,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(t()(),i["ɵeld"](86,0,null,null,6,"input",[["class","custom-control-input"],["formControlName","protocolNfsv3"],["id","protocolNfsv3"],["name","protocolNfsv3"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(t,e,n){var a=!0;return"change"===e&&(a=!1!==i["ɵnov"](t,87).onChange(n.target.checked)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,87).onTouched()&&a),a}),null,null)),i["ɵdid"](87,16384,null,0,W.c,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.c]),i["ɵdid"](89,671744,[[20,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](91,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](92,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵeld"](93,0,null,null,1,"label",[["class","custom-control-label"],["for","protocolNfsv3"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["NFSv3"])),(t()(),i["ɵeld"](95,0,null,null,9,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(t()(),i["ɵeld"](96,0,null,null,6,"input",[["class","custom-control-input"],["formControlName","protocolNfsv4"],["id","protocolNfsv4"],["name","protocolNfsv4"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(t,e,n){var a=!0;return"change"===e&&(a=!1!==i["ɵnov"](t,97).onChange(n.target.checked)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,97).onTouched()&&a),a}),null,null)),i["ɵdid"](97,16384,null,0,W.c,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.c]),i["ɵdid"](99,671744,[[20,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](101,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](102,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵeld"](103,0,null,null,1,"label",[["class","custom-control-label"],["for","protocolNfsv4"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["NFSv4"])),(t()(),i["ɵand"](16777216,null,null,1,null,Ip)),i["ɵdid"](106,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Np)),i["ɵdid"](108,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Ep)),i["ɵdid"](110,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](111,0,null,null,27,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](112,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,26,{FormControlNames:1}),i["ɵqud"](603979776,27,{messagesBlock:0}),(t()(),i["ɵeld"](115,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","access_type"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Access Type"])),(t()(),i["ɵeld"](117,0,null,0,21,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](118,0,null,null,14,"select",[["class","form-control custom-select"],["formControlName","access_type"],["id","access_type"],["name","access_type"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(t,e,n){var a=!0,r=t.component;return"change"===e&&(a=!1!==i["ɵnov"](t,119).onChange(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,119).onTouched()&&a),"change"===e&&(a=!1!==r.accessTypeChangeHandler()&&a),a}),null,null)),i["ɵdid"](119,16384,null,0,W.A,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.A]),i["ɵdid"](121,671744,[[26,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](123,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](124,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Dp)),i["ɵdid"](126,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Lp)),i["ɵdid"](128,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,qp)),i["ɵdid"](130,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,jp)),i["ɵdid"](132,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Fp)),i["ɵdid"](134,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,zp)),i["ɵdid"](136,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Gp)),i["ɵdid"](138,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](139,0,null,null,23,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](140,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,28,{FormControlNames:1}),i["ɵqud"](603979776,29,{messagesBlock:0}),(t()(),i["ɵeld"](143,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","squash"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Squash"])),(t()(),i["ɵeld"](145,0,null,0,17,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](146,0,null,null,14,"select",[["class","form-control custom-select"],["formControlName","squash"],["id","squash"],["name","squash"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(t,e,n){var a=!0;return"change"===e&&(a=!1!==i["ɵnov"](t,147).onChange(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,147).onTouched()&&a),a}),null,null)),i["ɵdid"](147,16384,null,0,W.A,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.A]),i["ɵdid"](149,671744,[[28,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](151,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](152,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Bp)),i["ɵdid"](154,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Vp)),i["ɵdid"](156,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Yp)),i["ɵdid"](158,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Hp)),i["ɵdid"](160,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Up)),i["ɵdid"](162,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](163,0,null,null,29,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](164,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,30,{FormControlNames:1}),i["ɵqud"](603979776,31,{messagesBlock:0}),(t()(),i["ɵeld"](167,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","transports"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Transport Protocol"])),(t()(),i["ɵeld"](169,0,null,0,23,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](170,0,null,null,9,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(t()(),i["ɵeld"](171,0,null,null,6,"input",[["class","custom-control-input"],["formControlName","transportUDP"],["id","transportUDP"],["name","transportUDP"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(t,e,n){var a=!0;return"change"===e&&(a=!1!==i["ɵnov"](t,172).onChange(n.target.checked)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,172).onTouched()&&a),a}),null,null)),i["ɵdid"](172,16384,null,0,W.c,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.c]),i["ɵdid"](174,671744,[[30,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](176,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](177,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵeld"](178,0,null,null,1,"label",[["class","custom-control-label"],["for","transportUDP"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["UDP"])),(t()(),i["ɵeld"](180,0,null,null,9,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(t()(),i["ɵeld"](181,0,null,null,6,"input",[["class","custom-control-input"],["formControlName","transportTCP"],["id","transportTCP"],["name","transportTCP"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(t,e,n){var a=!0;return"change"===e&&(a=!1!==i["ɵnov"](t,182).onChange(n.target.checked)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,182).onTouched()&&a),a}),null,null)),i["ɵdid"](182,16384,null,0,W.c,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.c]),i["ɵdid"](184,671744,[[30,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](186,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](187,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵeld"](188,0,null,null,1,"label",[["class","custom-control-label"],["for","transportTCP"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["TCP"])),(t()(),i["ɵand"](16777216,null,null,1,null,Wp)),i["ɵdid"](191,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](192,0,null,null,0,"hr",[],null,null,null,null,null)),(t()(),i["ɵeld"](193,0,null,null,1,"cd-nfs-form-client",[],null,null,null,qf,kf)),i["ɵdid"](194,49152,[[1,4],["nfsClients",4]],0,Sf,[ef,ia.a],{form:[0,"form"]},null),(t()(),i["ɵeld"](195,0,null,null,8,"div",[["class","card-footer"]],null,null,null,null,null)),(t()(),i["ɵeld"](196,0,null,null,7,"div",[["class","button-group text-right"]],null,null,null,null,null)),(t()(),i["ɵeld"](197,0,null,null,4,"cd-submit-button",[],null,[[null,"submitAction"]],(function(t,e,n){var a=!0;return"submitAction"===e&&(a=!1!==t.component.submitAction()&&a),a}),ri.b,ri.a)),i["ɵdid"](198,114688,null,0,oi.a,[i.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(t()(),i["ɵted"](199,0,[""," ",""])),i["ɵppd"](200,1),i["ɵppd"](201,1),(t()(),i["ɵeld"](202,0,null,null,1,"cd-back-button",[],null,null,null,ii.b,ii.a)),i["ɵdid"](203,49152,null,0,si.a,[o.Location,vt.b],null,null)],(function(t,e){var n=e.component;t(e,6,0,n.nfsForm),t(e,9,0,n.nfsForm),t(e,17,0,!n.isDefaultCluster),t(e,19,0),t(e,27,0,n.nfsForm.getValue("daemons")),t(e,31,0,"btn btn-light float-right",n.nfsForm.get("daemons").value,n.daemonsSelections,n.daemonsMessages);var a=t(e,35,0,n.icons.add);t(e,34,0,a),t(e,39,0,"fsal"),t(e,43,0),t(e,52,0,"name"),t(e,55,0,"name"),t(e,57,0,null===n.allFsals),t(e,59,0,null!==n.allFsals&&0===n.allFsals.length),t(e,61,0,null!==n.allFsals&&n.allFsals.length>0),t(e,63,0,n.allFsals),t(e,65,0,n.nfsForm.showError("name",i["ɵnov"](e,6),"required")),t(e,67,0,"RGW"===n.nfsForm.getValue("name")),t(e,69,0,"CEPH"===n.nfsForm.getValue("name")),t(e,71,0,"CEPH"===n.nfsForm.getValue("name")),t(e,73,0,"CEPH"===n.nfsForm.getValue("name")),t(e,75,0,"CEPH"===n.nfsForm.getValue("name")),t(e,77,0,"RGW"===n.nfsForm.getValue("name")),t(e,79,0),t(e,89,0,"protocolNfsv3"),t(e,92,0,"protocolNfsv3"),t(e,99,0,"protocolNfsv4"),t(e,102,0,"protocolNfsv4"),t(e,106,0,n.nfsForm.showError("protocolNfsv3",i["ɵnov"](e,6),"required")||n.nfsForm.showError("protocolNfsv4",i["ɵnov"](e,6),"required")),t(e,108,0,n.nfsForm.getValue("protocolNfsv3")),t(e,110,0,n.nfsForm.getValue("protocolNfsv4")),t(e,112,0),t(e,121,0,"access_type"),t(e,124,0,"access_type"),t(e,126,0,null===n.nfsAccessType),t(e,128,0,null!==n.nfsAccessType&&0===n.nfsAccessType.length),t(e,130,0,null!==n.nfsAccessType&&n.nfsAccessType.length>0),t(e,132,0,n.nfsAccessType),t(e,134,0,n.nfsForm.getValue("access_type")),t(e,136,0,"RW"===n.nfsForm.getValue("access_type")&&"RGW"===n.nfsForm.getValue("name")),t(e,138,0,n.nfsForm.showError("access_type",i["ɵnov"](e,6),"required")),t(e,140,0),t(e,149,0,"squash"),t(e,152,0,"squash"),t(e,154,0,null===n.nfsSquash),t(e,156,0,null!==n.nfsSquash&&0===n.nfsSquash.length),t(e,158,0,null!==n.nfsSquash&&n.nfsSquash.length>0),t(e,160,0,n.nfsSquash),t(e,162,0,n.nfsForm.showError("squash",i["ɵnov"](e,6),"required")),t(e,164,0),t(e,174,0,"transportUDP"),t(e,177,0,"transportUDP"),t(e,184,0,"transportTCP"),t(e,187,0,"transportTCP"),t(e,191,0,n.nfsForm.showError("transportUDP",i["ɵnov"](e,6),"required")||n.nfsForm.showError("transportTCP",i["ɵnov"](e,6),"required")),t(e,194,0,n.nfsForm),t(e,198,0,i["ɵnov"](e,6))}),(function(t,e){var n=e.component;t(e,4,0,i["ɵnov"](e,8).ngClassUntouched,i["ɵnov"](e,8).ngClassTouched,i["ɵnov"](e,8).ngClassPristine,i["ɵnov"](e,8).ngClassDirty,i["ɵnov"](e,8).ngClassValid,i["ɵnov"](e,8).ngClassInvalid,i["ɵnov"](e,8).ngClassPending);var a=i["ɵunv"](e,12,0,t(e,13,0,i["ɵnov"](e,0),n.action)),r=i["ɵunv"](e,12,1,t(e,14,0,i["ɵnov"](e,1),n.resource));t(e,12,0,a,r),t(e,18,0,i["ɵnov"](e,19).hasErrors,i["ɵnov"](e,19).hasSuccess),t(e,38,0,i["ɵnov"](e,41).ngClassUntouched,i["ɵnov"](e,41).ngClassTouched,i["ɵnov"](e,41).ngClassPristine,i["ɵnov"](e,41).ngClassDirty,i["ɵnov"](e,41).ngClassValid,i["ɵnov"](e,41).ngClassInvalid,i["ɵnov"](e,41).ngClassPending),t(e,42,0,i["ɵnov"](e,43).hasErrors,i["ɵnov"](e,43).hasSuccess),t(e,49,0,i["ɵnov"](e,54).ngClassUntouched,i["ɵnov"](e,54).ngClassTouched,i["ɵnov"](e,54).ngClassPristine,i["ɵnov"](e,54).ngClassDirty,i["ɵnov"](e,54).ngClassValid,i["ɵnov"](e,54).ngClassInvalid,i["ɵnov"](e,54).ngClassPending,i["ɵnov"](e,55).validClass,i["ɵnov"](e,55).invalidClass),t(e,78,0,i["ɵnov"](e,79).hasErrors,i["ɵnov"](e,79).hasSuccess),t(e,86,0,i["ɵnov"](e,91).ngClassUntouched,i["ɵnov"](e,91).ngClassTouched,i["ɵnov"](e,91).ngClassPristine,i["ɵnov"](e,91).ngClassDirty,i["ɵnov"](e,91).ngClassValid,i["ɵnov"](e,91).ngClassInvalid,i["ɵnov"](e,91).ngClassPending,i["ɵnov"](e,92).validClass,i["ɵnov"](e,92).invalidClass),t(e,96,0,i["ɵnov"](e,101).ngClassUntouched,i["ɵnov"](e,101).ngClassTouched,i["ɵnov"](e,101).ngClassPristine,i["ɵnov"](e,101).ngClassDirty,i["ɵnov"](e,101).ngClassValid,i["ɵnov"](e,101).ngClassInvalid,i["ɵnov"](e,101).ngClassPending,i["ɵnov"](e,102).validClass,i["ɵnov"](e,102).invalidClass),t(e,111,0,i["ɵnov"](e,112).hasErrors,i["ɵnov"](e,112).hasSuccess),t(e,118,0,i["ɵnov"](e,123).ngClassUntouched,i["ɵnov"](e,123).ngClassTouched,i["ɵnov"](e,123).ngClassPristine,i["ɵnov"](e,123).ngClassDirty,i["ɵnov"](e,123).ngClassValid,i["ɵnov"](e,123).ngClassInvalid,i["ɵnov"](e,123).ngClassPending,i["ɵnov"](e,124).validClass,i["ɵnov"](e,124).invalidClass),t(e,139,0,i["ɵnov"](e,140).hasErrors,i["ɵnov"](e,140).hasSuccess),t(e,146,0,i["ɵnov"](e,151).ngClassUntouched,i["ɵnov"](e,151).ngClassTouched,i["ɵnov"](e,151).ngClassPristine,i["ɵnov"](e,151).ngClassDirty,i["ɵnov"](e,151).ngClassValid,i["ɵnov"](e,151).ngClassInvalid,i["ɵnov"](e,151).ngClassPending,i["ɵnov"](e,152).validClass,i["ɵnov"](e,152).invalidClass),t(e,163,0,i["ɵnov"](e,164).hasErrors,i["ɵnov"](e,164).hasSuccess),t(e,171,0,i["ɵnov"](e,176).ngClassUntouched,i["ɵnov"](e,176).ngClassTouched,i["ɵnov"](e,176).ngClassPristine,i["ɵnov"](e,176).ngClassDirty,i["ɵnov"](e,176).ngClassValid,i["ɵnov"](e,176).ngClassInvalid,i["ɵnov"](e,176).ngClassPending,i["ɵnov"](e,177).validClass,i["ɵnov"](e,177).invalidClass),t(e,181,0,i["ɵnov"](e,186).ngClassUntouched,i["ɵnov"](e,186).ngClassTouched,i["ɵnov"](e,186).ngClassPristine,i["ɵnov"](e,186).ngClassDirty,i["ɵnov"](e,186).ngClassValid,i["ɵnov"](e,186).ngClassInvalid,i["ɵnov"](e,186).ngClassPending,i["ɵnov"](e,187).validClass,i["ɵnov"](e,187).invalidClass);var o=i["ɵunv"](e,199,0,t(e,200,0,i["ɵnov"](e,0),n.action)),s=i["ɵunv"](e,199,1,t(e,201,0,i["ɵnov"](e,1),n.resource));t(e,199,0,o,s)}))}function $p(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-nfs-form",[],null,null,null,Kp,Bf)),i["ɵdid"](1,114688,null,0,Gf,[yt.a,ef,St.a,St.m,jf.a,ys.a,ft.a,bt.a,Yo.a,i.ChangeDetectorRef,ia.a,vt.b],null,null)],(function(t,e){t(e,1,0)}),null)}var Zp=i["ɵccf"]("cd-nfs-form",Gf,$p,{},{},[]);class Jp{}var Xp=i["ɵcrt"]({encapsulation:0,styles:[[".login{color:#fff;background-color:#374249}  .login header{position:absolute;width:100vw}  .login header .navbar{padding:1rem 2rem}  .login header .navbar .dropdown-menu{margin-top:.2rem}  .login header .navbar .dropdown-menu li a:hover{background-color:#2b99a8}  .login section{display:inline-flex;width:100vw;min-height:100vh}"]],data:{}});function Qp(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,14,"div",[["class","login full-height"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,5,"header",[],null,null,null,null,null)),(t()(),i["ɵeld"](2,0,null,null,4,"nav",[["class","navbar"]],null,null,null,null,null)),(t()(),i["ɵeld"](3,0,null,null,0,"a",[["class","navbar-brand"]],null,null,null,null,null)),(t()(),i["ɵeld"](4,0,null,null,2,"div",[["class","form-inline"]],null,null,null,null,null)),(t()(),i["ɵeld"](5,0,null,null,1,"cd-language-selector",[],null,null,null,lt,at)),i["ɵdid"](6,114688,null,0,et,[nt.j,X],null,null),(t()(),i["ɵeld"](7,0,null,null,7,"section",[],null,null,null,null,null)),(t()(),i["ɵeld"](8,0,null,null,6,"div",[["class","container"]],null,null,null,null,null)),(t()(),i["ɵeld"](9,0,null,null,5,"div",[["class","row full-height vertical-align"]],null,null,null,null,null)),(t()(),i["ɵeld"](10,0,null,null,1,"div",[["class","col-sm-6 d-none d-sm-block"]],null,null,null,null,null)),(t()(),i["ɵeld"](11,0,null,null,0,"img",[["alt","Ceph"],["class","float-right img-fluid"],["src","assets/Ceph_Logo_Stacked_RGB_White_120411_fa_256x256.png"]],null,null,null,null,null)),(t()(),i["ɵeld"](12,0,null,null,2,"div",[["class","col-12 col-sm-6 col-xl-5"]],null,null,null,null,null)),(t()(),i["ɵeld"](13,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),i["ɵdid"](14,212992,null,0,St.r,[St.b,i.ViewContainerRef,i.ComponentFactoryResolver,[8,null],i.ChangeDetectorRef],null,null)],(function(t,e){t(e,6,0),t(e,14,0)}),null)}function tm(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-login-layout",[],null,null,null,Qp,Xp)),i["ɵdid"](1,49152,null,0,Jp,[],null,null)],null,null)}var em=i["ɵccf"]("cd-login-layout",Jp,tm,{},{},[]);class nm{}class am{constructor(t,e,n,a){this.authService=t,this.authStorageService=e,this.bsModalService=n,this.router=a,this.model=new nm,this.isLoginActive=!1}ngOnInit(){if(this.authStorageService.isLoggedIn())this.router.navigate([""]);else{const t=this.bsModalService.getModalsCount();for(let n=1;n<=t;n++)this.bsModalService.hide(n);let e=null;if(-1!==window.location.hash.indexOf("access_token=")){e=window.location.hash.split("access_token=")[1];const t=window.location.toString();window.history.replaceState({},document.title,t.split("?")[0])}this.authService.check(e).subscribe(t=>{t.login_url?"#/login"===t.login_url?this.isLoginActive=!0:window.location.replace(t.login_url):(this.authStorageService.set(t.username,e,t.permissions,t.sso,t.pwdExpirationDate),this.router.navigate([""]))})}}login(){this.authService.login(this.model).subscribe(()=>{this.router.navigate([""])})}}var rm=i["ɵcrt"]({encapsulation:0,styles:[["cd-login h1{margin:0 0 30px}  cd-login .btn-password,   cd-login .btn-password:focus,   cd-login .form-control,   cd-login .form-control:focus{color:#fff;background-color:#555}  cd-login .form-control::placeholder{color:#90949c}  cd-login .btn-password:focus{outline-color:#2b99a8}@keyframes autofill{to{color:#fff;background-color:#555}}input[_ngcontent-%COMP%]:-webkit-autofill{animation-name:autofill;animation-fill-mode:both}"]],data:{}});function om(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"div",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Username is required"]))],null,null)}function im(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"div",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Password is required"]))],null,null)}function sm(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,43,"div",[],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,1,"h1",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Welcome to Ceph!"])),(t()(),i["ɵeld"](3,0,null,null,40,"form",[["name","loginForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],(function(t,e,n){var a=!0,r=t.component;return"submit"===e&&(a=!1!==i["ɵnov"](t,5).onSubmit(n)&&a),"reset"===e&&(a=!1!==i["ɵnov"](t,5).onReset()&&a),"ngSubmit"===e&&(a=!1!==r.login()&&a),a}),null,null)),i["ɵdid"](4,16384,null,0,W.G,[],null,null),i["ɵdid"](5,4210688,[["loginForm",4]],0,W.t,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),i["ɵprd"](2048,null,W.d,null,[W.t]),i["ɵdid"](7,16384,null,0,W.s,[[4,W.d]],null,null),(t()(),i["ɵeld"](8,0,null,null,15,"div",[["class","form-group has-feedback"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](9,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,1,{FormControlNames:1}),i["ɵqud"](603979776,2,{messagesBlock:0}),(t()(),i["ɵeld"](12,0,null,0,9,"input",[["autofocus",""],["class","form-control"],["name","username"],["placeholder","Enter your username..."],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var a=!0,r=t.component;return"input"===e&&(a=!1!==i["ɵnov"](t,13)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,13).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,13)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,13)._compositionEnd(n.target.value)&&a),"ngModelChange"===e&&(a=!1!==(r.model.username=n)&&a),a}),null,null)),i["ɵdid"](13,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵdid"](14,16384,null,0,W.z,[],{required:[0,"required"]},null),i["ɵprd"](1024,null,W.o,(function(t){return[t]}),[W.z]),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](17,671744,[["username",4]],0,W.u,[[2,W.d],[6,W.o],[8,null],[6,W.p]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),i["ɵprd"](2048,null,W.q,null,[W.u]),i["ɵdid"](19,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](20,4210688,null,0,ai.a,[i.ElementRef],{autofocus:[0,"autofocus"]},null),i["ɵdid"](21,16384,null,0,K.h,[[3,W.d],K.a],null,null),(t()(),i["ɵand"](16777216,null,0,1,null,om)),i["ɵdid"](23,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](24,0,null,null,18,"div",[["class","form-group has-feedback"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](25,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,3,{FormControlNames:1}),i["ɵqud"](603979776,4,{messagesBlock:0}),(t()(),i["ɵeld"](28,0,null,0,12,"div",[["class","input-group"]],null,null,null,null,null)),(t()(),i["ɵeld"](29,0,null,null,8,"input",[["class","form-control"],["id","password"],["name","password"],["placeholder","Enter your password..."],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var a=!0,r=t.component;return"input"===e&&(a=!1!==i["ɵnov"](t,30)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,30).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,30)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,30)._compositionEnd(n.target.value)&&a),"ngModelChange"===e&&(a=!1!==(r.model.password=n)&&a),a}),null,null)),i["ɵdid"](30,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵdid"](31,16384,null,0,W.z,[],{required:[0,"required"]},null),i["ɵprd"](1024,null,W.o,(function(t){return[t]}),[W.z]),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](34,671744,[["password",4]],0,W.u,[[2,W.d],[6,W.o],[8,null],[6,W.p]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),i["ɵprd"](2048,null,W.q,null,[W.u]),i["ɵdid"](36,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](37,16384,null,0,K.h,[[3,W.d],K.a],null,null),(t()(),i["ɵeld"](38,0,null,null,2,"span",[["class","input-group-append"]],null,null,null,null,null)),(t()(),i["ɵeld"](39,0,null,null,1,"button",[["cdPasswordButton","password"],["class","btn btn-outline-light btn-password"],["type","button"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,40).onClick()&&a),a}),null,null)),i["ɵdid"](40,81920,null,0,Ig.a,[i.ElementRef,i.Renderer2],{cdPasswordButton:[0,"cdPasswordButton"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,im)),i["ɵdid"](42,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](43,0,null,null,0,"input",[["class","btn btn-secondary btn-block"],["type","submit"],["value","Login"]],[[8,"disabled",0]],null,null,null,null))],(function(t,e){var n=e.component;t(e,9,0),t(e,14,0,""),t(e,17,0,"username",n.model.username),t(e,20,0,""),t(e,23,0,(i["ɵnov"](e,5).submitted||i["ɵnov"](e,17).dirty)&&i["ɵnov"](e,17).invalid),t(e,25,0),t(e,31,0,""),t(e,34,0,"password",n.model.password),t(e,40,0,"password"),t(e,42,0,(i["ɵnov"](e,5).submitted||i["ɵnov"](e,34).dirty)&&i["ɵnov"](e,34).invalid)}),(function(t,e){t(e,3,0,i["ɵnov"](e,7).ngClassUntouched,i["ɵnov"](e,7).ngClassTouched,i["ɵnov"](e,7).ngClassPristine,i["ɵnov"](e,7).ngClassDirty,i["ɵnov"](e,7).ngClassValid,i["ɵnov"](e,7).ngClassInvalid,i["ɵnov"](e,7).ngClassPending),t(e,8,0,i["ɵnov"](e,9).hasErrors,i["ɵnov"](e,9).hasSuccess),t(e,12,0,i["ɵnov"](e,14).required?"":null,i["ɵnov"](e,19).ngClassUntouched,i["ɵnov"](e,19).ngClassTouched,i["ɵnov"](e,19).ngClassPristine,i["ɵnov"](e,19).ngClassDirty,i["ɵnov"](e,19).ngClassValid,i["ɵnov"](e,19).ngClassInvalid,i["ɵnov"](e,19).ngClassPending,i["ɵnov"](e,21).validClass,i["ɵnov"](e,21).invalidClass),t(e,24,0,i["ɵnov"](e,25).hasErrors,i["ɵnov"](e,25).hasSuccess),t(e,29,0,i["ɵnov"](e,31).required?"":null,i["ɵnov"](e,36).ngClassUntouched,i["ɵnov"](e,36).ngClassTouched,i["ɵnov"](e,36).ngClassPristine,i["ɵnov"](e,36).ngClassDirty,i["ɵnov"](e,36).ngClassValid,i["ɵnov"](e,36).ngClassInvalid,i["ɵnov"](e,36).ngClassPending,i["ɵnov"](e,37).validClass,i["ɵnov"](e,37).invalidClass),t(e,43,0,i["ɵnov"](e,5).invalid)}))}function cm(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,sm)),i["ɵdid"](1,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){t(e,1,0,e.component.isLoginActive)}),null)}function lm(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-login",[],null,null,null,cm,rm)),i["ɵdid"](1,114688,null,0,am,[Dt.a,yt.a,Mt.b,St.m],null,null)],(function(t,e){t(e,1,0)}),null)}var dm=i["ɵccf"]("cd-login",am,lm,{},{},[]);class um extends Rg{constructor(t,e,n,a,r,o,i,s,c){super(t,e,n,a,r,o,i,s),this.i18n=t,this.actionLabels=e,this.notificationService=n,this.userService=a,this.authStorageService=r,this.formBuilder=o,this.router=i,this.passwordPolicyService=s,this.authService=c}onPasswordChange(){this.authService.logout()}onCancel(){this.authService.logout()}}var gm=i["ɵcrt"]({encapsulation:0,styles:[["cd-login-password-form h4{margin:0 0 30px}  cd-login-password-form .btn-password,   cd-login-password-form .btn-password:focus,   cd-login-password-form .form-control,   cd-login-password-form .form-control:focus{color:#fff;background-color:#555}  cd-login-password-form .form-control::placeholder{color:#90949c}  cd-login-password-form .btn-password:focus{outline-color:#2b99a8}  cd-login-password-form button.btn:not(:first-child){margin-left:5px}"]],data:{}});function fm(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["This field is required."]))],null,null)}function pm(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["The old and new passwords must be different."]))],null,null)}function mm(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["This field is required."]))],null,null)}function hm(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["The old and new passwords must be different."]))],null,null)}function bm(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](1,null,[" "," "]))],null,(function(t,e){t(e,1,0,e.component.passwordValuation)}))}function ym(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["This field is required."]))],null,null)}function _m(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Password confirmation doesn't match the new password."]))],null,null)}function Om(t){return i["ɵvid"](0,[i["ɵpid"](0,o.TitleCasePipe,[]),i["ɵpid"](0,ci.a,[]),(t()(),i["ɵeld"](2,0,null,null,81,"div",[],null,null,null,null,null)),(t()(),i["ɵeld"](3,0,null,null,1,"h1",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Please set a new password."])),(t()(),i["ɵeld"](5,0,null,null,1,"h4",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["You will be redirected to the login page afterwards."])),(t()(),i["ɵeld"](7,0,null,null,67,"form",[["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(t,e,n){var a=!0;return"submit"===e&&(a=!1!==i["ɵnov"](t,9).onSubmit(n)&&a),"reset"===e&&(a=!1!==i["ɵnov"](t,9).onReset()&&a),"submit"===e&&(a=!1!==i["ɵnov"](t,12).onSubmit()&&a),a}),null,null)),i["ɵdid"](8,16384,null,0,W.G,[],null,null),i["ɵdid"](9,540672,[["frm",4]],0,W.l,[[8,null],[8,null]],{form:[0,"form"]},null),i["ɵprd"](2048,null,W.d,null,[W.l]),i["ɵdid"](11,16384,null,0,W.s,[[4,W.d]],null,null),i["ɵdid"](12,16384,null,0,K.d,[],{formGroup:[0,"formGroup"]},null),(t()(),i["ɵeld"](13,0,null,null,19,"div",[["class","form-group has-feedback"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](14,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,1,{FormControlNames:1}),i["ɵqud"](603979776,2,{messagesBlock:0}),(t()(),i["ɵeld"](17,0,null,0,11,"div",[["class","input-group"]],null,null,null,null,null)),(t()(),i["ɵeld"](18,0,null,null,7,"input",[["autocomplete","new-password"],["autofocus",""],["class","form-control"],["formControlName","oldpassword"],["id","oldpassword"],["placeholder","Old password..."],["type","password"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,19)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,19).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,19)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,19)._compositionEnd(n.target.value)&&a),a}),null,null)),i["ɵdid"](19,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](21,671744,[[1,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](23,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](24,4210688,null,0,ai.a,[i.ElementRef],{autofocus:[0,"autofocus"]},null),i["ɵdid"](25,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵeld"](26,0,null,null,2,"span",[["class","input-group-append"]],null,null,null,null,null)),(t()(),i["ɵeld"](27,0,null,null,1,"button",[["cdPasswordButton","oldpassword"],["class","btn btn-outline-light btn-password"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,28).onClick()&&a),a}),null,null)),i["ɵdid"](28,81920,null,0,Ig.a,[i.ElementRef,i.Renderer2],{cdPasswordButton:[0,"cdPasswordButton"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,fm)),i["ɵdid"](30,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,pm)),i["ɵdid"](32,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](33,0,null,null,22,"div",[["class","form-group has-feedback"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](34,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,3,{FormControlNames:1}),i["ɵqud"](603979776,4,{messagesBlock:0}),(t()(),i["ɵeld"](37,0,null,0,10,"div",[["class","input-group"]],null,null,null,null,null)),(t()(),i["ɵeld"](38,0,null,null,6,"input",[["autocomplete","new-password"],["class","form-control"],["formControlName","newpassword"],["id","newpassword"],["placeholder","New password..."],["type","password"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,39)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,39).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,39)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,39)._compositionEnd(n.target.value)&&a),a}),null,null)),i["ɵdid"](39,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](41,671744,[[3,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](43,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](44,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵeld"](45,0,null,null,2,"span",[["class","input-group-append"]],null,null,null,null,null)),(t()(),i["ɵeld"](46,0,null,null,1,"button",[["cdPasswordButton","newpassword"],["class","btn btn-outline-light btn-password"],["type","button"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,47).onClick()&&a),a}),null,null)),i["ɵdid"](47,81920,null,0,Ig.a,[i.ElementRef,i.Renderer2],{cdPasswordButton:[0,"cdPasswordButton"]},null),(t()(),i["ɵeld"](48,0,null,0,1,"div",[["class","password-strength-level"]],null,null,null,null,null)),(t()(),i["ɵeld"](49,0,null,null,0,"div",[["data-toggle","tooltip"]],[[8,"className",0],[8,"title",0]],null,null,null,null)),(t()(),i["ɵand"](16777216,null,0,1,null,mm)),i["ɵdid"](51,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,hm)),i["ɵdid"](53,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,bm)),i["ɵdid"](55,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](56,0,null,null,18,"div",[["class","form-group has-feedback"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](57,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,5,{FormControlNames:1}),i["ɵqud"](603979776,6,{messagesBlock:0}),(t()(),i["ɵeld"](60,0,null,0,10,"div",[["class","input-group"]],null,null,null,null,null)),(t()(),i["ɵeld"](61,0,null,null,6,"input",[["autocomplete","new-password"],["class","form-control"],["formControlName","confirmnewpassword"],["id","confirmnewpassword"],["placeholder","Confirm new password..."],["type","password"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,62)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,62).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,62)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,62)._compositionEnd(n.target.value)&&a),a}),null,null)),i["ɵdid"](62,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](64,671744,[[5,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](66,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](67,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵeld"](68,0,null,null,2,"span",[["class","input-group-append"]],null,null,null,null,null)),(t()(),i["ɵeld"](69,0,null,null,1,"button",[["cdPasswordButton","confirmnewpassword"],["class","btn btn-outline-light btn-password"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,70).onClick()&&a),a}),null,null)),i["ɵdid"](70,81920,null,0,Ig.a,[i.ElementRef,i.Renderer2],{cdPasswordButton:[0,"cdPasswordButton"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,ym)),i["ɵdid"](72,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,_m)),i["ɵdid"](74,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](75,0,null,null,8,"div",[["class","form-footer"]],null,null,null,null,null)),(t()(),i["ɵeld"](76,0,null,null,4,"cd-submit-button",[["btnClass","btn-block"],["class","full-width"]],null,[[null,"submitAction"]],(function(t,e,n){var a=!0;return"submitAction"===e&&(a=!1!==t.component.onSubmit()&&a),a}),ri.b,ri.a)),i["ɵdid"](77,114688,null,0,oi.a,[i.ElementRef],{form:[0,"form"],btnClass:[1,"btnClass"]},{submitAction:"submitAction"}),(t()(),i["ɵted"](78,0,[" "," "," "])),i["ɵppd"](79,1),i["ɵppd"](80,1),(t()(),i["ɵeld"](81,0,null,null,2,"button",[["class","btn btn-light"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.onCancel()&&a),a}),null,null)),(t()(),i["ɵeld"](82,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Cancel"]))],(function(t,e){var n=e.component;t(e,9,0,n.userForm),t(e,12,0,n.userForm),t(e,14,0),t(e,21,0,"oldpassword"),t(e,24,0,""),t(e,25,0,"oldpassword"),t(e,28,0,"oldpassword"),t(e,30,0,n.userForm.showError("oldpassword",i["ɵnov"](e,9),"required")),t(e,32,0,n.userForm.showError("oldpassword",i["ɵnov"](e,9),"notmatch")),t(e,34,0),t(e,41,0,"newpassword"),t(e,44,0,"newpassword"),t(e,47,0,"newpassword"),t(e,51,0,n.userForm.showError("newpassword",i["ɵnov"](e,9),"required")),t(e,53,0,n.userForm.showError("newpassword",i["ɵnov"](e,9),"notmatch")),t(e,55,0,n.userForm.showError("newpassword",i["ɵnov"](e,9),"passwordPolicy")),t(e,57,0),t(e,64,0,"confirmnewpassword"),t(e,67,0,"confirmnewpassword"),t(e,70,0,"confirmnewpassword"),t(e,72,0,n.userForm.showError("confirmnewpassword",i["ɵnov"](e,9),"required")),t(e,74,0,n.userForm.showError("confirmnewpassword",i["ɵnov"](e,9),"match")),t(e,77,0,n.userForm,"btn-block")}),(function(t,e){var n=e.component;t(e,7,0,i["ɵnov"](e,11).ngClassUntouched,i["ɵnov"](e,11).ngClassTouched,i["ɵnov"](e,11).ngClassPristine,i["ɵnov"](e,11).ngClassDirty,i["ɵnov"](e,11).ngClassValid,i["ɵnov"](e,11).ngClassInvalid,i["ɵnov"](e,11).ngClassPending),t(e,13,0,i["ɵnov"](e,14).hasErrors,i["ɵnov"](e,14).hasSuccess),t(e,18,0,i["ɵnov"](e,23).ngClassUntouched,i["ɵnov"](e,23).ngClassTouched,i["ɵnov"](e,23).ngClassPristine,i["ɵnov"](e,23).ngClassDirty,i["ɵnov"](e,23).ngClassValid,i["ɵnov"](e,23).ngClassInvalid,i["ɵnov"](e,23).ngClassPending,i["ɵnov"](e,25).validClass,i["ɵnov"](e,25).invalidClass),t(e,33,0,i["ɵnov"](e,34).hasErrors,i["ɵnov"](e,34).hasSuccess),t(e,38,0,i["ɵnov"](e,43).ngClassUntouched,i["ɵnov"](e,43).ngClassTouched,i["ɵnov"](e,43).ngClassPristine,i["ɵnov"](e,43).ngClassDirty,i["ɵnov"](e,43).ngClassValid,i["ɵnov"](e,43).ngClassInvalid,i["ɵnov"](e,43).ngClassPending,i["ɵnov"](e,44).validClass,i["ɵnov"](e,44).invalidClass),t(e,49,0,i["ɵinlineInterpolate"](1,"",n.passwordStrengthLevelClass,""),i["ɵinlineInterpolate"](1,"",n.passwordValuation,"")),t(e,56,0,i["ɵnov"](e,57).hasErrors,i["ɵnov"](e,57).hasSuccess),t(e,61,0,i["ɵnov"](e,66).ngClassUntouched,i["ɵnov"](e,66).ngClassTouched,i["ɵnov"](e,66).ngClassPristine,i["ɵnov"](e,66).ngClassDirty,i["ɵnov"](e,66).ngClassValid,i["ɵnov"](e,66).ngClassInvalid,i["ɵnov"](e,66).ngClassPending,i["ɵnov"](e,67).validClass,i["ɵnov"](e,67).invalidClass);var a=i["ɵunv"](e,78,0,t(e,79,0,i["ɵnov"](e,0),n.action)),r=i["ɵunv"](e,78,1,t(e,80,0,i["ɵnov"](e,1),n.resource));t(e,78,0,a,r)}))}function vm(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-login-password-form",[],null,null,null,Om,gm)),i["ɵdid"](1,49152,null,0,um,[ia.a,vt.b,gt.a,Ot.a,yt.a,ys.a,St.m,Ng.a,Dt.a],null,null)],null,null)}var Cm=i["ɵccf"]("cd-login-password-form",um,vm,{},{},[]);class Pm{constructor(){}}var Mm=i["ɵcrt"]({encapsulation:0,styles:[["#toast-container{margin-top:2vw}@media (max-width:1600px){  #toast-container{margin-top:2.5vw}}@media (max-width:calc(992px - 1px)){  #toast-container{margin-top:9vw}}@media (max-width:900px){  #toast-container{margin-top:10vw}}@media (max-width:319px){  #toast-container{margin-top:11vw}}@media (max-width:260px){  #toast-container{margin-top:14vw}}"]],data:{}});function xm(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),i["ɵdid"](1,212992,null,0,St.r,[St.b,i.ViewContainerRef,i.ComponentFactoryResolver,[8,null],i.ChangeDetectorRef],null,null)],(function(t,e){t(e,1,0)}),null)}function wm(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-blank-layout",[],null,null,null,xm,Mm)),i["ɵdid"](1,49152,null,0,Pm,[],null,null)],null,null)}var Tm=i["ɵccf"]("cd-blank-layout",Pm,wm,{},{},[]);class Sm{constructor(){this.logoutUrl=`${window.location.origin}/auth/saml2/slo`}}var km=i["ɵcrt"]({encapsulation:0,styles:[["h1[_ngcontent-%COMP%]{font-size:-webkit-xxx-large}*[_ngcontent-%COMP%]{font-family:monospace}img[_ngcontent-%COMP%]{width:50vw}"]],data:{}});function Im(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,17,"div",[["class","vertical-align full-height"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,16,"div",[["class","col-md-12 text-center"]],null,null,null,null,null)),(t()(),i["ɵeld"](2,0,null,null,1,"h1",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Sorry, the user does not exist in Ceph."])),(t()(),i["ɵeld"](4,0,null,null,4,"h4",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Return to "])),(t()(),i["ɵeld"](6,0,null,null,1,"a",[["class","sso-logout"]],[[8,"href",4]],null,null,null,null)),(t()(),i["ɵted"](-1,null,["Login Page"])),(t()(),i["ɵted"](-1,null,[". You'll be logged out from the Identity Provider when you retry logging in."])),(t()(),i["ɵeld"](9,0,null,null,0,"img",[["class","img-fluid mx-auto rounded"],["src","assets/1280px-Nautilus_Octopus.jpg"]],null,null,null,null,null)),(t()(),i["ɵeld"](10,0,null,null,0,"br",[],null,null,null,null,null)),(t()(),i["ɵeld"](11,0,null,null,6,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,[' "'])),(t()(),i["ɵeld"](13,0,null,null,1,"a",[["href","https://www.flickr.com/photos/146401137@N06/40335060661"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Nautilus Octopus"])),(t()(),i["ɵted"](-1,null,['" by Jin Kemoole is licensed under '])),(t()(),i["ɵeld"](16,0,null,null,1,"a",[["class","external text"],["href","https://creativecommons.org/licenses/by/2.0/"],["rel","nofollow"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["CC BY 2.0"]))],null,(function(t,e){t(e,6,0,e.component.logoutUrl)}))}function Nm(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-sso-not-found",[],null,null,null,Im,km)),i["ɵdid"](1,49152,null,0,Sm,[],null,null)],null,null)}var Rm=i["ɵccf"]("cd-sso-not-found",Sm,Nm,{},{},[]);class Am{constructor(){this.icons=ut.a}}var Em=i["ɵcrt"]({encapsulation:0,styles:[["h1[_ngcontent-%COMP%]{font-size:-webkit-xxx-large;font-family:monospace}h2[_ngcontent-%COMP%]{font-size:xx-large;font-family:monospace}i[_ngcontent-%COMP%]{font-size:200px}"]],data:{}});function Dm(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,10,"div",[["class","horizontal-align vertical-align full-height"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,9,"div",[["class","text-center"]],null,null,null,null,null)),(t()(),i["ɵeld"](2,0,null,null,1,"h1",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Forbidden"])),(t()(),i["ɵeld"](4,0,null,null,0,"i",[],[[8,"className",0]],null,null,null,null)),(t()(),i["ɵeld"](5,0,null,null,1,"h2",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Sorry, you are not allowed to see what you were looking for."])),(t()(),i["ɵeld"](7,0,null,null,3,"button",[["class","btn btn-primary"],["type","button"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,8).onClick()&&a),a}),null,null)),i["ɵdid"](8,16384,null,0,St.n,[St.m,St.a,[8,null],i.Renderer2,i.ElementRef],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵeld"](9,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Back"]))],(function(t,e){t(e,8,0,"/login")}),(function(t,e){t(e,4,0,i["ɵinlineInterpolate"](1,"",e.component.icons.lock," text-danger"))}))}function Lm(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-forbidden",[],null,null,null,Dm,Em)),i["ɵdid"](1,49152,null,0,Am,[],null,null)],null,null)}var qm=i["ɵccf"]("cd-forbidden",Am,Lm,{},{},[]);class jm{constructor(){}}var Fm=i["ɵcrt"]({encapsulation:0,styles:[["h1[_ngcontent-%COMP%]{font-size:-webkit-xxx-large;font-family:monospace}*[_ngcontent-%COMP%]{font-family:monospace}img[_ngcontent-%COMP%]{width:50vw}"]],data:{}});function zm(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,17,"div",[["class","horizontal-align vertical-align full-height"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,16,"div",[["class","text-center"]],null,null,null,null,null)),(t()(),i["ɵeld"](2,0,null,null,1,"h1",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Sorry, we could not find what you were looking for."])),(t()(),i["ɵeld"](4,0,null,null,0,"img",[["class","img-fluid mx-auto rounded"],["src","assets/1500px-Southern_Keeled_Octopus.jpg"]],null,null,null,null,null)),(t()(),i["ɵeld"](5,0,null,null,0,"br",[],null,null,null,null,null)),(t()(),i["ɵeld"](6,0,null,null,6,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,[' "'])),(t()(),i["ɵeld"](8,0,null,null,1,"a",[["href","https://collections.museumvictoria.com.au/species/8696"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Southern Keeled Octopus, Octopus berrima"])),(t()(),i["ɵted"](-1,null,['" by Museums Victoria (Photographer: Julian Finn) is licensed under '])),(t()(),i["ɵeld"](11,0,null,null,1,"a",[["class","external text"],["href","https://creativecommons.org/licenses/by/4.0"],["rel","nofollow"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["CC BY 4.0"])),(t()(),i["ɵeld"](13,0,null,null,0,"br",[],null,null,null,null,null)),(t()(),i["ɵeld"](14,0,null,null,3,"button",[["class","btn btn-primary"],["type","button"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==i["ɵnov"](t,15).onClick()&&a),a}),null,null)),i["ɵdid"](15,16384,null,0,St.n,[St.m,St.a,[8,null],i.Renderer2,i.ElementRef],{routerLink:[0,"routerLink"]},null),(t()(),i["ɵeld"](16,0,null,null,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Back"]))],(function(t,e){t(e,15,0,"/login")}),null)}function Gm(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-not-found",[],null,null,null,zm,Fm)),i["ɵdid"](1,49152,null,0,jm,[],null,null)],null,null)}var Bm=i["ɵccf"]("cd-not-found",jm,Gm,{},{},[]),Vm=n("ES0t"),Ym=n("Xg1U"),Hm=n("z5nN"),Um=n("iutN"),Wm=n("EEJc"),Km=n("PEr+"),$m=n("a40w"),Zm=n("hfeG"),Jm=n("atuK"),Xm=i["ɵcrt"]({encapsulation:0,styles:[[".product-versions[_ngcontent-%COMP%]{margin-top:30px}.product-versions[_ngcontent-%COMP%]   strong[_ngcontent-%COMP%]{margin-right:10px}.modal-header[_ngcontent-%COMP%]{border-bottom:none}.modal-body[_ngcontent-%COMP%]{padding-left:80px;padding-right:80px}.modal-footer[_ngcontent-%COMP%]{border-top:none;padding:15px 80px 35px}h2[_ngcontent-%COMP%]{font-size:3em}.ceph-logo[_ngcontent-%COMP%]{width:10%}.list-unstyled[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]{margin-top:5px}.modal-body[_ngcontent-%COMP%]{margin-top:0;padding-top:0}.modal-body[_ngcontent-%COMP%]   h2[_ngcontent-%COMP%]{margin-top:0}"]],data:{}});function Qm(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"div",[["class","modal-header"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,2,"button",[["aria-label","Close"],["class","close float-right"],["type","button"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.modalRef.hide()&&a),a}),null,null)),(t()(),i["ɵeld"](2,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["×"])),(t()(),i["ɵeld"](4,0,null,null,45,"div",[["class","modal-body"]],null,null,null,null,null)),(t()(),i["ɵeld"](5,0,null,null,2,"h2",[],null,null,null,null,null)),(t()(),i["ɵeld"](6,0,null,null,0,"img",[["class","ceph-logo"],["src","assets/Ceph_Logo_Stacked_RGB_120411_fa_348x348.png"]],[[8,"alt",0]],null,null,null,null)),(t()(),i["ɵted"](7,null,[" "," "])),(t()(),i["ɵeld"](8,0,null,null,2,"h3",[],null,null,null,null,null)),(t()(),i["ɵeld"](9,0,null,null,1,"strong",[],null,null,null,null,null)),(t()(),i["ɵted"](10,null,["",""])),(t()(),i["ɵeld"](11,0,null,null,6,"div",[["class","product-versions"]],null,null,null,null,null)),(t()(),i["ɵeld"](12,0,null,null,1,"strong",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Version"])),(t()(),i["ɵeld"](14,0,null,null,0,"br",[],null,null,null,null,null)),(t()(),i["ɵted"](15,null,[" "," "," "])),(t()(),i["ɵeld"](16,0,null,null,0,"br",[],null,null,null,null,null)),(t()(),i["ɵted"](17,null,[" "," "])),(t()(),i["ɵeld"](18,0,null,null,0,"br",[],null,null,null,null,null)),(t()(),i["ɵeld"](19,0,null,null,30,"ul",[["class","list-unstyled"]],null,null,null,null,null)),(t()(),i["ɵeld"](20,0,null,null,4,"li",[["class","row"]],null,null,null,null,null)),(t()(),i["ɵeld"](21,0,null,null,1,"strong",[["class","col-6 col-sm-4"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Ceph Manager"])),(t()(),i["ɵeld"](23,0,null,null,1,"span",[["class","col-4 col-sm-4"]],null,null,null,null,null)),(t()(),i["ɵted"](24,null,["",""])),(t()(),i["ɵeld"](25,0,null,null,4,"li",[["class","row"]],null,null,null,null,null)),(t()(),i["ɵeld"](26,0,null,null,1,"strong",[["class","col-6 col-sm-4"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["User"])),(t()(),i["ɵeld"](28,0,null,null,1,"span",[["class","col-4 col-sm-4"]],null,null,null,null,null)),(t()(),i["ɵted"](29,null,["",""])),(t()(),i["ɵeld"](30,0,null,null,4,"li",[["class","row"]],null,null,null,null,null)),(t()(),i["ɵeld"](31,0,null,null,1,"strong",[["class","col-6 col-sm-4"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["User Role"])),(t()(),i["ɵeld"](33,0,null,null,1,"span",[["class","col-4 col-sm-4"]],null,null,null,null,null)),(t()(),i["ɵted"](34,null,["",""])),(t()(),i["ɵeld"](35,0,null,null,4,"li",[["class","row"]],null,null,null,null,null)),(t()(),i["ɵeld"](36,0,null,null,1,"strong",[["class","col-6 col-sm-4"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Browser"])),(t()(),i["ɵeld"](38,0,null,null,1,"span",[["class","col-4 col-sm-4"]],null,null,null,null,null)),(t()(),i["ɵted"](39,null,["",""])),(t()(),i["ɵeld"](40,0,null,null,4,"li",[["class","row"]],null,null,null,null,null)),(t()(),i["ɵeld"](41,0,null,null,1,"strong",[["class","col-6 col-sm-4"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Browser Version"])),(t()(),i["ɵeld"](43,0,null,null,1,"span",[["class","col-4 col-sm-4"]],null,null,null,null,null)),(t()(),i["ɵted"](44,null,["",""])),(t()(),i["ɵeld"](45,0,null,null,4,"li",[["class","row"]],null,null,null,null,null)),(t()(),i["ɵeld"](46,0,null,null,1,"strong",[["class","col-6 col-sm-4"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Browser OS"])),(t()(),i["ɵeld"](48,0,null,null,1,"span",[["class","col-4 col-sm-4"]],null,null,null,null,null)),(t()(),i["ɵted"](49,null,["",""])),(t()(),i["ɵeld"](50,0,null,null,2,"div",[["class","modal-footer"]],null,null,null,null,null)),(t()(),i["ɵeld"](51,0,null,null,1,"div",[["class","text-left"]],null,null,null,null,null)),(t()(),i["ɵted"](52,null,[" "," "," "]))],null,(function(t,e){var n=e.component;t(e,6,0,i["ɵinlineInterpolate"](1,"",n.projectConstants.organization,"")),t(e,7,0,n.projectConstants.organization),t(e,10,0,n.projectConstants.projectName),t(e,15,0,n.versionNumber,n.versionHash),t(e,17,0,n.versionName),t(e,24,0,n.hostAddr),t(e,29,0,n.modalVariables.user),t(e,34,0,n.modalVariables.role),t(e,39,0,n.modalVariables.browserName),t(e,44,0,n.modalVariables.browserVersion),t(e,49,0,n.modalVariables.browserOS),t(e,52,0,n.copyright,n.projectConstants.license)}))}function th(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-about",[],null,null,null,Qm,Xm)),i["ɵdid"](1,245760,null,0,Ct,[Mt.a,ft.a,Ot.a,yt.a],null,null)],(function(t,e){t(e,1,0)}),null)}var eh=i["ɵccf"]("cd-about",Ct,th,{},{},[]),nh=i["ɵcrt"]({encapsulation:0,styles:[".dropdown[_nghost-%COMP%] {\n      z-index: 1000;\n    }"],data:{animation:[{type:7,name:"typeaheadAnimation",definitions:[{type:0,name:"animated-down",styles:{type:6,styles:{height:"*",overflow:"hidden"},offset:null},options:void 0},{type:1,expr:"* => animated-down",animation:[{type:6,styles:{height:0,overflow:"hidden"},offset:null},{type:4,styles:null,timings:"220ms cubic-bezier(0, 0, 0.2, 1)"}],options:null},{type:0,name:"animated-up",styles:{type:6,styles:{height:"*",overflow:"hidden"},offset:null},options:void 0},{type:1,expr:"* => animated-up",animation:[{type:6,styles:{height:"*",overflow:"hidden"},offset:null},{type:4,styles:null,timings:"220ms cubic-bezier(0, 0, 0.2, 1)"}],options:null},{type:1,expr:"* => unanimated",animation:{type:4,styles:null,timings:"0s"},options:null}],options:{}}]}});function ah(t){return i["ɵvid"](0,[(t()(),i["ɵand"](0,null,null,0))],null,null)}function rh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,0,"span",[],[[8,"innerHTML",1]],null,null,null,null))],null,(function(t,e){t(e,0,0,e.component.highlight(e.context.match,e.context.query))}))}function oh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,[[2,0],["liElements",1]],null,1,"li",[["class","dropdown-header"]],null,null,null,null,null)),(t()(),i["ɵted"](1,null,["",""]))],null,(function(t,e){t(e,1,0,e.parent.context.$implicit)}))}function ih(t){return i["ɵvid"](0,[(t()(),i["ɵand"](0,null,null,0))],null,null)}function sh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,[[2,0],["liElements",1]],null,4,"li",[],[[24,"@typeaheadAnimation",0],[2,"active",null]],[[null,"@typeaheadAnimation.done"],[null,"mouseenter"]],(function(t,e,n){var a=!0,r=t.component;return"@typeaheadAnimation.done"===e&&(a=!1!==r.positionServiceEnable()&&a),"mouseenter"===e&&(a=!1!==r.selectActive(t.parent.context.$implicit)&&a),a}),null,null)),(t()(),i["ɵeld"](1,0,null,null,3,"a",[["href","#"],["tabindex","-1"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.selectMatch(t.parent.context.$implicit,n)&&a),a}),null,null)),(t()(),i["ɵand"](16777216,null,null,2,null,ih)),i["ɵdid"](3,540672,null,0,o.NgTemplateOutlet,[i.ViewContainerRef],{ngTemplateOutletContext:[0,"ngTemplateOutletContext"],ngTemplateOutlet:[1,"ngTemplateOutlet"]},null),i["ɵpod"](4,{item:0,index:1,match:2,query:3})],(function(t,e){var n=e.component,a=t(e,4,0,e.parent.context.$implicit.item,e.parent.context.index,e.parent.context.$implicit,n.query);t(e,3,0,a,n.itemTemplate||i["ɵnov"](e.parent.parent.parent,5))}),(function(t,e){var n=e.component;t(e,0,0,n.animationState,n.isActive(e.parent.context.$implicit))}))}function ch(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,oh)),i["ɵdid"](1,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,sh)),i["ɵdid"](3,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](0,null,null,0))],(function(t,e){var n=e.context.$implicit.isHeader();t(e,1,0,n);var a=!e.context.$implicit.isHeader();t(e,3,0,a)}),null)}function lh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,[[1,0],["ulElement",1]],null,2,"ul",[["class","dropdown-menu"]],[[4,"overflow-y",null],[4,"height",null]],null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,ch)),i["ɵdid"](2,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){t(e,2,0,e.component.matches)}),(function(t,e){var n=e.component;t(e,0,0,n.needScrollbar?"scroll":"auto",n.needScrollbar?n.guiHeight:"auto")}))}function dh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"h6",[["class","dropdown-header"]],null,null,null,null,null)),(t()(),i["ɵted"](1,null,["",""]))],null,(function(t,e){t(e,1,0,e.parent.context.$implicit)}))}function uh(t){return i["ɵvid"](0,[(t()(),i["ɵand"](0,null,null,0))],null,null)}function gh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,[[2,0],["liElements",1]],null,3,"button",[["class","dropdown-item"]],[[24,"@typeaheadAnimation",0],[2,"active",null]],[[null,"@typeaheadAnimation.done"],[null,"click"],[null,"mouseenter"]],(function(t,e,n){var a=!0,r=t.component;return"@typeaheadAnimation.done"===e&&(a=!1!==r.positionServiceEnable()&&a),"click"===e&&(a=!1!==r.selectMatch(t.parent.context.$implicit,n)&&a),"mouseenter"===e&&(a=!1!==r.selectActive(t.parent.context.$implicit)&&a),a}),null,null)),(t()(),i["ɵand"](16777216,null,null,2,null,uh)),i["ɵdid"](2,540672,null,0,o.NgTemplateOutlet,[i.ViewContainerRef],{ngTemplateOutletContext:[0,"ngTemplateOutletContext"],ngTemplateOutlet:[1,"ngTemplateOutlet"]},null),i["ɵpod"](3,{item:0,index:1,match:2,query:3})],(function(t,e){var n=e.component,a=t(e,3,0,e.parent.context.$implicit.item,e.parent.context.index,e.parent.context.$implicit,n.query);t(e,2,0,a,n.itemTemplate||i["ɵnov"](e.parent.parent.parent,5))}),(function(t,e){var n=e.component;t(e,0,0,n.animationState,n.isActive(e.parent.context.$implicit))}))}function fh(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,dh)),i["ɵdid"](1,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,gh)),i["ɵdid"](3,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](0,null,null,0))],(function(t,e){var n=e.context.$implicit.isHeader();t(e,1,0,n);var a=!e.context.$implicit.isHeader();t(e,3,0,a)}),null)}function ph(t){return i["ɵvid"](0,[(t()(),i["ɵand"](16777216,null,null,1,null,fh)),i["ɵdid"](1,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵand"](0,null,null,0))],(function(t,e){t(e,1,0,e.component.matches)}),null)}function mh(t){return i["ɵvid"](0,[i["ɵqud"](671088640,1,{ulElement:0}),i["ɵqud"](671088640,2,{liElements:1}),(t()(),i["ɵand"](16777216,null,null,2,null,ah)),i["ɵdid"](3,540672,null,0,o.NgTemplateOutlet,[i.ViewContainerRef],{ngTemplateOutletContext:[0,"ngTemplateOutletContext"],ngTemplateOutlet:[1,"ngTemplateOutlet"]},null),i["ɵpod"](4,{matches:0,itemTemplate:1,query:2}),(t()(),i["ɵand"](0,[["bsItemTemplate",2]],null,0,null,rh)),(t()(),i["ɵand"](0,[["bs3Template",2]],null,0,null,lh)),(t()(),i["ɵand"](0,[["bs4Template",2]],null,0,null,ph))],(function(t,e){var n=e.component,a=t(e,4,0,n.matches,n.itemTemplate,n.query);t(e,3,0,a,n.optionsListTemplate||i["ɵnov"](e,n.isBs4?7:6))}),null)}function hh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"typeahead-container",[["class","dropdown open bottom"],["style","position: absolute;display: block;"]],[[2,"dropdown-menu",null],[4,"overflow-y",null],[4,"height",null],[4,"visibility",null],[2,"dropup",null]],[[null,"mouseleave"],[null,"blur"]],(function(t,e,n){var a=!0;return"mouseleave"===e&&(a=!1!==i["ɵnov"](t,1).focusLost()&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,1).focusLost()&&a),a}),mh,nh)),i["ɵdid"](1,49152,null,0,vf,[Gn.a,i.Renderer2,i.ElementRef],null,null)],null,(function(t,e){t(e,0,0,i["ɵnov"](e,1).isBs4,i["ɵnov"](e,1).isBs4&&i["ɵnov"](e,1).needScrollbar?"scroll":"visible",i["ɵnov"](e,1).isBs4&&i["ɵnov"](e,1).needScrollbar?i["ɵnov"](e,1).guiHeight:"auto",i["ɵnov"](e,1).visibility,i["ɵnov"](e,1).dropup)}))}var bh=i["ɵccf"]("typeahead-container",vf,hh,{},{},[]),yh=n("ajRT"),_h=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Oh(t){return i["ɵvid"](0,[(t()(),i["ɵted"](-1,null,["Deep "]))],null,null)}function vh(t){return i["ɵvid"](0,[(t()(),i["ɵted"](-1,null,["deep "]))],null,null)}function Ch(t){return i["ɵvid"](0,[i["ɵpid"](0,zi.a,[]),(t()(),i["ɵeld"](1,0,null,null,33,"cd-modal",[],null,null,null,Wm.c,Wm.b)),i["ɵdid"](2,49152,null,0,yh.a,[],{modalRef:[0,"modalRef"]},null),(t()(),i["ɵeld"](3,0,null,0,6,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["OSDs "])),(t()(),i["ɵeld"](5,0,null,null,3,null,null,null,null,null,null,null)),i["ɵdid"](6,16384,null,0,o.NgSwitch,[],{ngSwitch:[0,"ngSwitch"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Oh)),i["ɵdid"](8,278528,null,0,o.NgSwitchCase,[i.ViewContainerRef,i.TemplateRef,o.NgSwitch],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),i["ɵted"](-1,null,["Scrub"])),(t()(),i["ɵeld"](10,0,null,1,24,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](11,0,null,null,23,"form",[["name","scrubForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(t,e,n){var a=!0;return"submit"===e&&(a=!1!==i["ɵnov"](t,13).onSubmit(n)&&a),"reset"===e&&(a=!1!==i["ɵnov"](t,13).onReset()&&a),"submit"===e&&(a=!1!==i["ɵnov"](t,16).onSubmit()&&a),a}),null,null)),i["ɵdid"](12,16384,null,0,W.G,[],null,null),i["ɵdid"](13,540672,[["formDir",4]],0,W.l,[[8,null],[8,null]],{form:[0,"form"]},null),i["ɵprd"](2048,null,W.d,null,[W.l]),i["ɵdid"](15,16384,null,0,W.s,[[4,W.d]],null,null),i["ɵdid"](16,16384,null,0,K.d,[],{formGroup:[0,"formGroup"]},null),(t()(),i["ɵeld"](17,0,null,null,11,"div",[["class","modal-body"]],null,null,null,null,null)),(t()(),i["ɵeld"](18,0,null,null,10,"p",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["You are about to apply a "])),(t()(),i["ɵeld"](20,0,null,null,3,null,null,null,null,null,null,null)),i["ɵdid"](21,16384,null,0,o.NgSwitch,[],{ngSwitch:[0,"ngSwitch"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,vh)),i["ɵdid"](23,278528,null,0,o.NgSwitchCase,[i.ViewContainerRef,i.TemplateRef,o.NgSwitch],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),i["ɵted"](-1,null,["scrub to the OSD(s): "])),(t()(),i["ɵeld"](25,0,null,null,2,"strong",[],null,null,null,null,null)),(t()(),i["ɵted"](26,null,["",""])),i["ɵppd"](27,1),(t()(),i["ɵted"](-1,null,["."])),(t()(),i["ɵeld"](29,0,null,null,5,"div",[["class","modal-footer"]],null,null,null,null,null)),(t()(),i["ɵeld"](30,0,null,null,2,"cd-submit-button",[],null,[[null,"submitAction"]],(function(t,e,n){var a=!0;return"submitAction"===e&&(a=!1!==t.component.scrub()&&a),a}),ri.b,ri.a)),i["ɵdid"](31,114688,null,0,oi.a,[i.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(t()(),i["ɵted"](-1,0,["Submit"])),(t()(),i["ɵeld"](33,0,null,null,1,"cd-back-button",[["name","Cancel"]],null,null,null,ii.b,ii.a)),i["ɵdid"](34,49152,null,0,si.a,[o.Location,vt.b],{name:[0,"name"],back:[1,"back"]},null)],(function(t,e){var n=e.component;t(e,2,0,n.bsModalRef),t(e,6,0,n.deep),t(e,8,0,"1"),t(e,13,0,n.scrubForm),t(e,16,0,n.scrubForm),t(e,21,0,n.deep),t(e,23,0,"1"),t(e,31,0,n.scrubForm),t(e,34,0,"Cancel",n.bsModalRef.hide)}),(function(t,e){var n=e.component;t(e,11,0,i["ɵnov"](e,15).ngClassUntouched,i["ɵnov"](e,15).ngClassTouched,i["ɵnov"](e,15).ngClassPristine,i["ɵnov"](e,15).ngClassDirty,i["ɵnov"](e,15).ngClassValid,i["ɵnov"](e,15).ngClassInvalid,i["ɵnov"](e,15).ngClassPending);var a=i["ɵunv"](e,26,0,t(e,27,0,i["ɵnov"](e,0),n.selected));t(e,26,0,a)}))}function Ph(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-osd-scrub-modal",[],null,null,null,Ch,_h)),i["ɵdid"](1,114688,null,0,Os,[Mt.a,Xr,gt.a,ia.a,zi.a],null,null)],(function(t,e){t(e,1,0)}),null)}var Mh=i["ɵccf"]("cd-osd-scrub-modal",Os,Ph,{},{},[]),xh=i["ɵcrt"]({encapsulation:0,styles:[[".osd-modal[_ngcontent-%COMP%]   .oa-hr-small[_ngcontent-%COMP%]{margin:5px}"]],data:{}});function wh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,0,"hr",[["class","oa-hr-small"]],null,null,null,null,null))],null,null)}function Th(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,10,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,1,"input",[["class","custom-control-input"],["type","checkbox"]],[[8,"checked",0],[8,"name",0],[8,"id",0],[8,"disabled",0],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"]],(function(t,e,n){var a=!0;return"change"===e&&(a=0!=(t.context.$implicit.value=!t.context.$implicit.value)&&a),a}),null,null)),i["ɵdid"](2,16384,null,0,K.h,[[3,W.d],K.a],null,null),(t()(),i["ɵeld"](3,0,null,null,5,"label",[["class","custom-control-label"],["ng-class","['tc_' + key]"]],[[8,"htmlFor",0]],null,null,null,null)),(t()(),i["ɵeld"](4,0,null,null,1,"strong",[],null,null,null,null,null)),(t()(),i["ɵted"](5,null,["",""])),(t()(),i["ɵeld"](6,0,null,null,0,"br",[],null,null,null,null,null)),(t()(),i["ɵeld"](7,0,null,null,1,"span",[["class","form-text text-muted"]],null,null,null,null,null)),(t()(),i["ɵted"](8,null,["",""])),(t()(),i["ɵand"](16777216,null,null,1,null,wh)),i["ɵdid"](10,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){t(e,10,0,!e.context.last)}),(function(t,e){t(e,1,0,e.context.$implicit.value,e.context.$implicit.code,e.context.$implicit.code,e.context.$implicit.disabled,i["ɵnov"](e,2).validClass,i["ɵnov"](e,2).invalidClass),t(e,3,0,e.context.$implicit.code),t(e,5,0,e.context.$implicit.name),t(e,8,0,e.context.$implicit.description)}))}function Sh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-submit-button",[],null,[[null,"submitAction"]],(function(t,e,n){var a=!0;return"submitAction"===e&&(a=!1!==t.component.submitAction()&&a),a}),ri.b,ri.a)),i["ɵdid"](1,114688,null,0,oi.a,[i.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(t()(),i["ɵted"](-1,0,["Submit"]))],(function(t,e){t(e,1,0,e.component.osdFlagsForm)}),null)}function kh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,19,"cd-modal",[],null,null,null,Wm.c,Wm.b)),i["ɵdid"](1,49152,null,0,yh.a,[],{modalRef:[0,"modalRef"]},null),(t()(),i["ɵeld"](2,0,null,0,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Cluster-wide OSD Flags"])),(t()(),i["ɵeld"](4,0,null,1,15,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](5,0,null,null,14,"form",[["name","osdFlagsForm"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(t,e,n){var a=!0;return"submit"===e&&(a=!1!==i["ɵnov"](t,7).onSubmit(n)&&a),"reset"===e&&(a=!1!==i["ɵnov"](t,7).onReset()&&a),"submit"===e&&(a=!1!==i["ɵnov"](t,10).onSubmit()&&a),a}),null,null)),i["ɵdid"](6,16384,null,0,W.G,[],null,null),i["ɵdid"](7,540672,[["formDir",4]],0,W.l,[[8,null],[8,null]],{form:[0,"form"]},null),i["ɵprd"](2048,null,W.d,null,[W.l]),i["ɵdid"](9,16384,null,0,W.s,[[4,W.d]],null,null),i["ɵdid"](10,16384,null,0,K.d,[],{formGroup:[0,"formGroup"]},null),(t()(),i["ɵeld"](11,0,null,null,2,"div",[["class","modal-body osd-modal"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Th)),i["ɵdid"](13,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵeld"](14,0,null,null,5,"div",[["class","modal-footer"]],null,null,null,null,null)),(t()(),i["ɵeld"](15,0,null,null,4,"div",[["class","button-group text-right"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Sh)),i["ɵdid"](17,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](18,0,null,null,1,"cd-back-button",[["name","Cancel"]],null,null,null,ii.b,ii.a)),i["ɵdid"](19,49152,null,0,si.a,[o.Location,vt.b],{name:[0,"name"],back:[1,"back"]},null)],(function(t,e){var n=e.component;t(e,1,0,n.bsModalRef),t(e,7,0,n.osdFlagsForm),t(e,10,0,n.osdFlagsForm),t(e,13,0,n.flags),t(e,17,0,n.permissions.osd.update),t(e,19,0,"Cancel",n.bsModalRef.hide)}),(function(t,e){t(e,5,0,i["ɵnov"](e,9).ngClassUntouched,i["ɵnov"](e,9).ngClassTouched,i["ɵnov"](e,9).ngClassPristine,i["ɵnov"](e,9).ngClassDirty,i["ɵnov"](e,9).ngClassValid,i["ɵnov"](e,9).ngClassInvalid,i["ɵnov"](e,9).ngClassPending)}))}function Ih(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-osd-flags-modal",[],null,null,null,kh,xh)),i["ɵdid"](1,114688,null,0,us,[Mt.a,yt.a,Xr,gt.a,ia.a],null,null)],(function(t,e){t(e,1,0)}),null)}var Nh=i["ɵccf"]("cd-osd-flags-modal",us,Ih,{},{},[]),Rh=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Ah(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](3,null,[" "," "]))],(function(t,e){t(e,1,0,e.context.$implicit.name),t(e,2,0,e.context.$implicit.name)}),(function(t,e){t(e,3,0,e.context.$implicit.text)}))}function Eh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["This field is required."]))],null,null)}function Dh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-helper",[],null,null,null,Es.b,Es.a)),i["ɵdid"](1,49152,null,0,Ds.a,[],null,null),(t()(),i["ɵted"](2,0,["",""]))],null,(function(t,e){t(e,2,0,e.parent.context.$implicit.value.desc)}))}function Lh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["This field is required!"]))],null,null)}function qh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](1,null,["",""]))],null,(function(t,e){t(e,1,0,e.parent.context.$implicit.value.patternHelpText)}))}function jh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](1,null,["The entered value is too high! It must not be greater than ","."]))],null,(function(t,e){t(e,1,0,e.parent.context.$implicit.value.maxValue)}))}function Fh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](1,null,["The entered value is too low! It must not be lower than ","."]))],null,(function(t,e){t(e,1,0,e.parent.context.$implicit.value.minValue)}))}function zh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,28,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](1,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,5,{FormControlNames:1}),i["ɵqud"](603979776,6,{messagesBlock:0}),(t()(),i["ɵeld"](4,0,null,0,7,"label",[["class","col-form-label col-sm-6"]],[[8,"htmlFor",0]],null,null,null,null)),(t()(),i["ɵeld"](5,0,null,null,4,"span",[],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](7,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpod"](8,{required:0}),(t()(),i["ɵted"](9,null,[" "," "])),(t()(),i["ɵand"](16777216,null,null,1,null,Dh)),i["ɵdid"](11,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](12,0,null,0,16,"div",[["class","col-sm-6"]],null,null,null,null,null)),(t()(),i["ɵeld"](13,0,null,null,7,"input",[["class","form-control"],["type","number"]],[[8,"id",0],[8,"readOnly",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,14)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,14).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,14)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,14)._compositionEnd(n.target.value)&&a),"change"===e&&(a=!1!==i["ɵnov"](t,15).onChange(n.target.value)&&a),"input"===e&&(a=!1!==i["ɵnov"](t,15).onChange(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,15).onTouched()&&a),a}),null,null)),i["ɵdid"](14,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵdid"](15,16384,null,0,W.w,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t,e){return[t,e]}),[W.e,W.w]),i["ɵdid"](17,671744,[[5,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](19,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](20,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Lh)),i["ɵdid"](22,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,qh)),i["ɵdid"](24,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,jh)),i["ɵdid"](26,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Fh)),i["ɵdid"](28,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0);var a=t(e,8,0,n.osdRecvSpeedForm.getValue("customizePriority"));t(e,7,0,a),t(e,11,0,e.context.$implicit.value.desc),t(e,17,0,e.context.$implicit.key),t(e,20,0,e.context.$implicit.key),t(e,22,0,n.osdRecvSpeedForm.getValue("customizePriority")&&n.osdRecvSpeedForm.showError(e.context.$implicit.key,i["ɵnov"](e.parent,7),"required")),t(e,24,0,n.osdRecvSpeedForm.getValue("customizePriority")&&n.osdRecvSpeedForm.showError(e.context.$implicit.key,i["ɵnov"](e.parent,7),"pattern")),t(e,26,0,n.osdRecvSpeedForm.getValue("customizePriority")&&n.osdRecvSpeedForm.showError(e.context.$implicit.key,i["ɵnov"](e.parent,7),"max")),t(e,28,0,n.osdRecvSpeedForm.getValue("customizePriority")&&n.osdRecvSpeedForm.showError(e.context.$implicit.key,i["ɵnov"](e.parent,7),"min"))}),(function(t,e){var n=e.component;t(e,0,0,i["ɵnov"](e,1).hasErrors,i["ɵnov"](e,1).hasSuccess),t(e,4,0,e.context.$implicit.key),t(e,9,0,e.context.$implicit.value.text),t(e,13,1,[e.context.$implicit.key,!n.osdRecvSpeedForm.getValue("customizePriority"),i["ɵnov"](e,19).ngClassUntouched,i["ɵnov"](e,19).ngClassTouched,i["ɵnov"](e,19).ngClassPristine,i["ɵnov"](e,19).ngClassDirty,i["ɵnov"](e,19).ngClassValid,i["ɵnov"](e,19).ngClassInvalid,i["ɵnov"](e,19).ngClassPending,i["ɵnov"](e,20).validClass,i["ɵnov"](e,20).invalidClass])}))}function Gh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-submit-button",[],null,[[null,"submitAction"]],(function(t,e,n){var a=!0;return"submitAction"===e&&(a=!1!==t.component.submitAction()&&a),a}),ri.b,ri.a)),i["ɵdid"](1,114688,null,0,oi.a,[i.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(t()(),i["ɵted"](-1,0,["Submit"]))],(function(t,e){t(e,1,0,e.component.osdRecvSpeedForm)}),null)}function Bh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,53,"cd-modal",[],null,null,null,Wm.c,Wm.b)),i["ɵdid"](1,49152,null,0,yh.a,[],{modalRef:[0,"modalRef"]},null),(t()(),i["ɵeld"](2,0,null,0,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["OSD Recovery Priority"])),(t()(),i["ɵeld"](4,0,null,1,49,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](5,0,null,null,48,"form",[["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(t,e,n){var a=!0;return"submit"===e&&(a=!1!==i["ɵnov"](t,7).onSubmit(n)&&a),"reset"===e&&(a=!1!==i["ɵnov"](t,7).onReset()&&a),"submit"===e&&(a=!1!==i["ɵnov"](t,10).onSubmit()&&a),a}),null,null)),i["ɵdid"](6,16384,null,0,W.G,[],null,null),i["ɵdid"](7,540672,[["formDir",4]],0,W.l,[[8,null],[8,null]],{form:[0,"form"]},null),i["ɵprd"](2048,null,W.d,null,[W.l]),i["ɵdid"](9,16384,null,0,W.s,[[4,W.d]],null,null),i["ɵdid"](10,16384,null,0,K.d,[],{formGroup:[0,"formGroup"]},null),(t()(),i["ɵeld"](11,0,null,null,36,"div",[["class","modal-body"]],null,null,null,null,null)),(t()(),i["ɵeld"](12,0,null,null,17,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](13,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,1,{FormControlNames:1}),i["ɵqud"](603979776,2,{messagesBlock:0}),(t()(),i["ɵeld"](16,0,null,0,1,"label",[["class","col-form-label col-sm-6 required"],["for","priority"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Priority"])),(t()(),i["ɵeld"](18,0,null,0,11,"div",[["class","col-sm-6"]],null,null,null,null,null)),(t()(),i["ɵeld"](19,0,null,null,8,"select",[["class","form-control custom-select"],["formControlName","priority"],["id","priority"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(t,e,n){var a=!0,r=t.component;return"change"===e&&(a=!1!==i["ɵnov"](t,20).onChange(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,20).onTouched()&&a),"change"===e&&(a=!1!==r.onPriorityChange(n.target.value)&&a),a}),null,null)),i["ɵdid"](20,16384,null,0,W.A,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.A]),i["ɵdid"](22,671744,[[1,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](24,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](25,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Ah)),i["ɵdid"](27,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Eh)),i["ɵdid"](29,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](30,0,null,null,14,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](31,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,3,{FormControlNames:1}),i["ɵqud"](603979776,4,{messagesBlock:0}),(t()(),i["ɵeld"](34,0,null,0,10,"div",[["class","offset-sm-6 col-sm-6"]],null,null,null,null,null)),(t()(),i["ɵeld"](35,0,null,null,9,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(t()(),i["ɵeld"](36,0,null,null,6,"input",[["class","custom-control-input"],["formControlName","customizePriority"],["id","customizePriority"],["name","customizePriority"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(t,e,n){var a=!0,r=t.component;return"change"===e&&(a=!1!==i["ɵnov"](t,37).onChange(n.target.checked)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,37).onTouched()&&a),"change"===e&&(a=!1!==r.onCustomizePriorityChange()&&a),a}),null,null)),i["ɵdid"](37,16384,null,0,W.c,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.c]),i["ɵdid"](39,671744,[[3,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](41,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](42,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵeld"](43,0,null,null,1,"label",[["class","custom-control-label"],["for","customizePriority"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Customize priority values"])),(t()(),i["ɵand"](16777216,null,null,2,null,zh)),i["ɵdid"](46,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),i["ɵpid"](0,o.KeyValuePipe,[i.KeyValueDiffers]),(t()(),i["ɵeld"](48,0,null,null,5,"div",[["class","modal-footer"]],null,null,null,null,null)),(t()(),i["ɵeld"](49,0,null,null,4,"div",[["class","button-group text-right"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Gh)),i["ɵdid"](51,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](52,0,null,null,1,"cd-back-button",[["name","Cancel"]],null,null,null,ii.b,ii.a)),i["ɵdid"](53,49152,null,0,si.a,[o.Location,vt.b],{name:[0,"name"],back:[1,"back"]},null)],(function(t,e){var n=e.component;t(e,1,0,n.bsModalRef),t(e,7,0,n.osdRecvSpeedForm),t(e,10,0,n.osdRecvSpeedForm),t(e,13,0),t(e,22,0,"priority"),t(e,25,0,"priority"),t(e,27,0,n.priorities),t(e,29,0,n.osdRecvSpeedForm.showError("priority",i["ɵnov"](e,7),"required")),t(e,31,0),t(e,39,0,"customizePriority"),t(e,42,0,"customizePriority"),t(e,46,0,i["ɵunv"](e,46,0,i["ɵnov"](e,47).transform(n.priorityAttrs))),t(e,51,0,n.permissions.configOpt.update),t(e,53,0,"Cancel",n.bsModalRef.hide)}),(function(t,e){t(e,5,0,i["ɵnov"](e,9).ngClassUntouched,i["ɵnov"](e,9).ngClassTouched,i["ɵnov"](e,9).ngClassPristine,i["ɵnov"](e,9).ngClassDirty,i["ɵnov"](e,9).ngClassValid,i["ɵnov"](e,9).ngClassInvalid,i["ɵnov"](e,9).ngClassPending),t(e,12,0,i["ɵnov"](e,13).hasErrors,i["ɵnov"](e,13).hasSuccess),t(e,19,0,i["ɵnov"](e,24).ngClassUntouched,i["ɵnov"](e,24).ngClassTouched,i["ɵnov"](e,24).ngClassPristine,i["ɵnov"](e,24).ngClassDirty,i["ɵnov"](e,24).ngClassValid,i["ɵnov"](e,24).ngClassInvalid,i["ɵnov"](e,24).ngClassPending,i["ɵnov"](e,25).validClass,i["ɵnov"](e,25).invalidClass),t(e,30,0,i["ɵnov"](e,31).hasErrors,i["ɵnov"](e,31).hasSuccess),t(e,36,0,i["ɵnov"](e,41).ngClassUntouched,i["ɵnov"](e,41).ngClassTouched,i["ɵnov"](e,41).ngClassPristine,i["ɵnov"](e,41).ngClassDirty,i["ɵnov"](e,41).ngClassValid,i["ɵnov"](e,41).ngClassInvalid,i["ɵnov"](e,41).ngClassPending,i["ɵnov"](e,42).validClass,i["ɵnov"](e,42).invalidClass)}))}function Vh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-osd-recv-speed-modal",[],null,null,null,Bh,Rh)),i["ɵdid"](1,114688,null,0,bs,[Mt.a,yt.a,gs.a,gt.a,ia.a,Xr],null,null)],(function(t,e){t(e,1,0)}),null)}var Yh=i["ɵccf"]("cd-osd-recv-speed-modal",bs,Vh,{},{},[]),Hh=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Uh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["This field is required."]))],null,null)}function Wh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["The value needs to be between 0 and 1."]))],null,null)}function Kh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,4,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Uh)),i["ɵdid"](2,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Wh)),i["ɵdid"](4,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,2,0,null==n.weight.errors?null:n.weight.errors.required),t(e,4,0,(null==n.weight.errors?null:n.weight.errors.max)||(null==n.weight.errors?null:n.weight.errors.min))}),null)}function $h(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,31,"cd-modal",[],null,null,null,Wm.c,Wm.b)),i["ɵdid"](1,49152,null,0,yh.a,[],{modalRef:[0,"modalRef"]},null),(t()(),i["ɵeld"](2,0,null,0,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](3,null,["Reweight OSD: ",""])),(t()(),i["ɵeld"](4,0,null,1,27,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](5,0,null,null,26,"form",[["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(t,e,n){var a=!0;return"submit"===e&&(a=!1!==i["ɵnov"](t,7).onSubmit(n)&&a),"reset"===e&&(a=!1!==i["ɵnov"](t,7).onReset()&&a),"submit"===e&&(a=!1!==i["ɵnov"](t,10).onSubmit()&&a),a}),null,null)),i["ɵdid"](6,16384,null,0,W.G,[],null,null),i["ɵdid"](7,540672,null,0,W.l,[[8,null],[8,null]],{form:[0,"form"]},null),i["ɵprd"](2048,null,W.d,null,[W.l]),i["ɵdid"](9,16384,null,0,W.s,[[4,W.d]],null,null),i["ɵdid"](10,16384,null,0,K.d,[],{formGroup:[0,"formGroup"]},null),(t()(),i["ɵeld"](11,0,null,null,14,"div",[["class","modal-body"]],null,null,null,null,null)),(t()(),i["ɵeld"](12,0,null,null,13,"div",[["class","row"]],null,null,null,null,null)),(t()(),i["ɵeld"](13,0,null,null,1,"label",[["class","col-sm-2 col-form-label"],["for","weight"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Weight"])),(t()(),i["ɵeld"](15,0,null,null,10,"div",[["class","col-sm-10"]],null,null,null,null,null)),(t()(),i["ɵeld"](16,0,null,null,7,"input",[["class","form-control"],["formControlName","weight"],["id","weight"],["max","1"],["min","0"],["step","0.1"],["type","number"]],[[8,"value",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,17)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,17).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,17)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,17)._compositionEnd(n.target.value)&&a),"change"===e&&(a=!1!==i["ɵnov"](t,18).onChange(n.target.value)&&a),"input"===e&&(a=!1!==i["ɵnov"](t,18).onChange(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,18).onTouched()&&a),a}),null,null)),i["ɵdid"](17,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵdid"](18,16384,null,0,W.w,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t,e){return[t,e]}),[W.e,W.w]),i["ɵdid"](20,671744,null,0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](22,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](23,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Kh)),i["ɵdid"](25,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](26,0,null,null,5,"div",[["class","modal-footer"]],null,null,null,null,null)),(t()(),i["ɵeld"](27,0,null,null,2,"cd-submit-button",[],null,[[null,"submitAction"]],(function(t,e,n){var a=!0;return"submitAction"===e&&(a=!1!==t.component.reweight()&&a),a}),ri.b,ri.a)),i["ɵdid"](28,114688,null,0,oi.a,[i.ElementRef],{form:[0,"form"],disabled:[1,"disabled"]},{submitAction:"submitAction"}),(t()(),i["ɵted"](-1,0,["Reweight"])),(t()(),i["ɵeld"](30,0,null,null,1,"cd-back-button",[["name","Cancel"]],null,null,null,ii.b,ii.a)),i["ɵdid"](31,49152,null,0,si.a,[o.Location,vt.b],{name:[0,"name"],back:[1,"back"]},null)],(function(t,e){var n=e.component;t(e,1,0,n.bsModalRef),t(e,7,0,n.reweightForm),t(e,10,0,n.reweightForm),t(e,20,0,"weight"),t(e,23,0,"weight"),t(e,25,0,n.weight.errors),t(e,28,0,n.reweightForm,n.reweightForm.invalid),t(e,31,0,"Cancel",n.bsModalRef.hide)}),(function(t,e){var n=e.component;t(e,3,0,n.osdId),t(e,5,0,i["ɵnov"](e,9).ngClassUntouched,i["ɵnov"](e,9).ngClassTouched,i["ɵnov"](e,9).ngClassPristine,i["ɵnov"](e,9).ngClassDirty,i["ɵnov"](e,9).ngClassValid,i["ɵnov"](e,9).ngClassInvalid,i["ɵnov"](e,9).ngClassPending),t(e,16,0,n.currentWeight,i["ɵnov"](e,22).ngClassUntouched,i["ɵnov"](e,22).ngClassTouched,i["ɵnov"](e,22).ngClassPristine,i["ɵnov"](e,22).ngClassDirty,i["ɵnov"](e,22).ngClassValid,i["ɵnov"](e,22).ngClassInvalid,i["ɵnov"](e,22).ngClassPending,i["ɵnov"](e,23).validClass,i["ɵnov"](e,23).invalidClass)}))}function Zh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-osd-reweight-modal",[],null,null,null,$h,Hh)),i["ɵdid"](1,114688,null,0,_s,[Mt.a,Xr,ys.a],null,null)],(function(t,e){t(e,1,0)}),null)}var Jh=i["ɵccf"]("cd-osd-reweight-modal",_s,Zh,{},{},[]),Xh=i["ɵcrt"]({encapsulation:0,styles:[[".custom-checkbox[_ngcontent-%COMP%]   input[_ngcontent-%COMP%], .custom-checkbox[_ngcontent-%COMP%]   label[_ngcontent-%COMP%]{cursor:pointer}.col-form-label[_ngcontent-%COMP%]{text-align:left}"]],data:{}});function Qh(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-helper",[],null,null,null,Es.b,Es.a)),i["ɵdid"](1,49152,null,0,Ds.a,[],null,null),(t()(),i["ɵted"](2,0,[" ",""]))],null,(function(t,e){t(e,2,0,e.parent.parent.context.$implicit.long_desc)}))}function tb(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,21,"div",[["class","form-group row pt-2"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](1,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,1,{FormControlNames:1}),i["ɵqud"](603979776,2,{messagesBlock:0}),(t()(),i["ɵeld"](4,0,null,0,7,"label",[["class","col-form-label col-6"]],[[8,"htmlFor",0]],null,null,null,null)),(t()(),i["ɵeld"](5,0,null,null,1,"b",[],null,null,null,null,null)),(t()(),i["ɵted"](6,null,["",""])),(t()(),i["ɵeld"](7,0,null,null,0,"br",[],null,null,null,null,null)),(t()(),i["ɵeld"](8,0,null,null,3,"span",[["class","text-muted"]],null,null,null,null,null)),(t()(),i["ɵted"](9,null,[" "," "])),(t()(),i["ɵand"](16777216,null,null,1,null,Qh)),i["ɵdid"](11,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](12,0,null,0,9,"div",[["class","col-6"]],null,null,null,null,null)),(t()(),i["ɵeld"](13,0,null,null,8,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(t()(),i["ɵeld"](14,0,null,null,6,"input",[["class","custom-control-input"],["type","checkbox"]],[[8,"id",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(t,e,n){var a=!0;return"change"===e&&(a=!1!==i["ɵnov"](t,15).onChange(n.target.checked)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,15).onTouched()&&a),a}),null,null)),i["ɵdid"](15,16384,null,0,W.c,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.c]),i["ɵdid"](17,671744,[[1,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](19,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](20,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵeld"](21,0,null,null,0,"label",[["class","custom-control-label"]],[[8,"htmlFor",0]],null,null,null,null))],(function(t,e){t(e,1,0),t(e,11,0,e.parent.context.$implicit.long_desc),t(e,17,0,e.parent.context.$implicit.name),t(e,20,0,e.parent.context.$implicit.name)}),(function(t,e){t(e,0,0,i["ɵnov"](e,1).hasErrors,i["ɵnov"](e,1).hasSuccess),t(e,4,0,e.parent.context.$implicit.name),t(e,6,0,e.parent.context.$implicit.text),t(e,9,0,e.parent.context.$implicit.desc),t(e,14,0,e.parent.context.$implicit.name,i["ɵnov"](e,19).ngClassUntouched,i["ɵnov"](e,19).ngClassTouched,i["ɵnov"](e,19).ngClassPristine,i["ɵnov"](e,19).ngClassDirty,i["ɵnov"](e,19).ngClassValid,i["ɵnov"](e,19).ngClassInvalid,i["ɵnov"](e,19).ngClassPending,i["ɵnov"](e,20).validClass,i["ɵnov"](e,20).invalidClass),t(e,21,0,e.parent.context.$implicit.name)}))}function eb(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"cd-helper",[],null,null,null,Es.b,Es.a)),i["ɵdid"](1,49152,null,0,Ds.a,[],null,null),(t()(),i["ɵted"](2,0,[" ",""]))],null,(function(t,e){t(e,2,0,e.parent.parent.context.$implicit.long_desc)}))}function nb(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,5,"div",[["class","input-group-append"]],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,4,"button",[["class","btn btn-light"],["data-toggle","button"],["title","Remove the custom configuration value. The default configuration will be inherited and used instead."],["type","button"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=!1!==t.component.resetValue(t.parent.parent.context.$implicit.name)&&a),a}),null,null)),(t()(),i["ɵeld"](2,0,null,null,3,"i",[["aria-hidden","true"]],null,null,null,null,null)),i["ɵprd"](512,null,o["ɵNgClassImpl"],o["ɵNgClassR2Impl"],[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2]),i["ɵdid"](4,278528,null,0,o.NgClass,[o["ɵNgClassImpl"]],{ngClass:[0,"ngClass"]},null),i["ɵpad"](5,1)],(function(t,e){var n=t(e,5,0,e.component.icons.erase);t(e,4,0,n)}),null)}function ab(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](1,null,[" ",""]))],null,(function(t,e){t(e,1,0,e.parent.parent.context.$implicit.additionalTypeInfo.patternHelpText)}))}function rb(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](1,null,[" ",""]))],null,(function(t,e){t(e,1,0,e.parent.parent.context.$implicit.additionalTypeInfo.patternHelpText)}))}function ob(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](1,null,["The entered value is too high! It must not be greater than ","."]))],null,(function(t,e){t(e,1,0,e.parent.parent.context.$implicit.maxValue)}))}function ib(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","invalid-feedback"]],null,null,null,null,null)),(t()(),i["ɵted"](1,null,["The entered value is too low! It must not be lower than ","."]))],null,(function(t,e){t(e,1,0,e.parent.parent.context.$implicit.minValue)}))}function sb(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,29,"div",[["class","form-group row pt-2"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](1,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,3,{FormControlNames:1}),i["ɵqud"](603979776,4,{messagesBlock:0}),(t()(),i["ɵeld"](4,0,null,0,6,"label",[["class","col-6 col-form-label"]],[[8,"htmlFor",0]],null,null,null,null)),(t()(),i["ɵted"](5,null,[""," "])),(t()(),i["ɵeld"](6,0,null,null,0,"br",[],null,null,null,null,null)),(t()(),i["ɵeld"](7,0,null,null,3,"span",[["class","text-muted"]],null,null,null,null,null)),(t()(),i["ɵted"](8,null,[" "," "])),(t()(),i["ɵand"](16777216,null,null,1,null,eb)),i["ɵdid"](10,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](11,0,null,0,18,"div",[["class","col-6"]],null,null,null,null,null)),(t()(),i["ɵeld"](12,0,null,null,9,"div",[["class","input-group"]],null,null,null,null,null)),(t()(),i["ɵeld"](13,0,null,null,6,"input",[["class","form-control"]],[[8,"type",0],[8,"id",0],[8,"placeholder",0],[8,"step",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,14)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,14).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,14)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,14)._compositionEnd(n.target.value)&&a),a}),null,null)),i["ɵdid"](14,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](16,671744,[[3,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](18,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](19,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,nb)),i["ɵdid"](21,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,ab)),i["ɵdid"](23,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,rb)),i["ɵdid"](25,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,ob)),i["ɵdid"](27,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,ib)),i["ɵdid"](29,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){var n=e.component;t(e,1,0),t(e,10,0,e.parent.context.$implicit.long_desc),t(e,16,0,e.parent.context.$implicit.name),t(e,19,0,e.parent.context.$implicit.name),t(e,21,0,n.optionsFormShowReset),t(e,23,0,n.optionsForm.showError(e.parent.context.$implicit.name,n.optionsFormDir,"pattern")),t(e,25,0,n.optionsForm.showError(e.parent.context.$implicit.name,n.optionsFormDir,"invalidUuid")),t(e,27,0,n.optionsForm.showError(e.parent.context.$implicit.name,n.optionsFormDir,"max")),t(e,29,0,n.optionsForm.showError(e.parent.context.$implicit.name,n.optionsFormDir,"min"))}),(function(t,e){var n=e.component;t(e,0,0,i["ɵnov"](e,1).hasErrors,i["ɵnov"](e,1).hasSuccess),t(e,4,0,e.parent.context.$implicit.name),t(e,5,0,e.parent.context.$implicit.text),t(e,8,0,e.parent.context.$implicit.desc),t(e,13,1,[e.parent.context.$implicit.additionalTypeInfo.inputType,e.parent.context.$implicit.name,e.parent.context.$implicit.additionalTypeInfo.humanReadable,n.getStep(e.parent.context.$implicit.type,n.optionsForm.getValue(e.parent.context.$implicit.name)),i["ɵnov"](e,18).ngClassUntouched,i["ɵnov"](e,18).ngClassTouched,i["ɵnov"](e,18).ngClassPristine,i["ɵnov"](e,18).ngClassDirty,i["ɵnov"](e,18).ngClassValid,i["ɵnov"](e,18).ngClassInvalid,i["ɵnov"](e,18).ngClassPending,i["ɵnov"](e,19).validClass,i["ɵnov"](e,19).invalidClass])}))}function cb(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,0,"hr",[["class","my-2"]],null,null,null,null,null))],null,null)}function lb(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,"div",[],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,tb)),i["ɵdid"](2,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,sb)),i["ɵdid"](4,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,cb)),i["ɵdid"](6,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null)],(function(t,e){t(e,2,0,"bool"===e.context.$implicit.type),t(e,4,0,"bool"!==e.context.$implicit.type),t(e,6,0,!e.context.last)}),null)}function db(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,6,"div",[],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(t,e,n){var a=!0;return"submit"===e&&(a=!1!==i["ɵnov"](t,1).onSubmit(n)&&a),"reset"===e&&(a=!1!==i["ɵnov"](t,1).onReset()&&a),"submit"===e&&(a=!1!==i["ɵnov"](t,4).onSubmit()&&a),a}),null,null)),i["ɵdid"](1,540672,null,0,W.l,[[8,null],[8,null]],{form:[0,"form"]},null),i["ɵprd"](2048,null,W.d,null,[W.l]),i["ɵdid"](3,16384,null,0,W.s,[[4,W.d]],null,null),i["ɵdid"](4,16384,null,0,K.d,[],{formGroup:[0,"formGroup"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,lb)),i["ɵdid"](6,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){var n=e.component;t(e,1,0,n.optionsFormGroup),t(e,4,0,n.optionsFormGroup),t(e,6,0,n.options)}),(function(t,e){t(e,0,0,i["ɵnov"](e,3).ngClassUntouched,i["ɵnov"](e,3).ngClassTouched,i["ɵnov"](e,3).ngClassPristine,i["ɵnov"](e,3).ngClassDirty,i["ɵnov"](e,3).ngClassValid,i["ɵnov"](e,3).ngClassInvalid,i["ɵnov"](e,3).ngClassPending)}))}var ub=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function gb(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"a",[["class","pull-right margin-right-md"]],null,[[null,"click"]],(function(t,e,n){var a=!0;return"click"===e&&(a=0!=(t.component.advancedEnabled=!0)&&a),a}),null,null)),(t()(),i["ɵted"](-1,null,["Advanced..."]))],null,null)}function fb(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,4,"div",[],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,1,"h2",[["class","page-header"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Advanced configuration options"])),(t()(),i["ɵeld"](3,0,null,null,1,"cd-config-option",[],null,null,null,db,Xh)),i["ɵdid"](4,114688,[[2,4],["advancedOptionsValues",4]],0,ps,[gs.a],{optionNames:[0,"optionNames"],optionsForm:[1,"optionsForm"],optionsFormDir:[2,"optionsFormDir"],optionsFormGroupName:[3,"optionsFormGroupName"]},null)],(function(t,e){var n=e.component;t(e,4,0,n.advancedOptions,n.osdPgScrubForm,i["ɵnov"](e.parent,13),"advancedFormGroup")}),null)}function pb(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,4,"cd-submit-button",[],null,[[null,"submitAction"]],(function(t,e,n){var a=!0;return"submitAction"===e&&(a=!1!==t.component.submitAction()&&a),a}),ri.b,ri.a)),i["ɵdid"](1,114688,null,0,oi.a,[i.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(t()(),i["ɵted"](2,0,[""," ",""])),i["ɵppd"](3,1),i["ɵppd"](4,1)],(function(t,e){t(e,1,0,e.component.osdPgScrubForm)}),(function(t,e){var n=e.component,a=i["ɵunv"](e,2,0,t(e,3,0,i["ɵnov"](e.parent,0),n.action)),r=i["ɵunv"](e,2,1,t(e,4,0,i["ɵnov"](e.parent,1),n.resource));t(e,2,0,a,r)}))}function mb(t){return i["ɵvid"](0,[i["ɵpid"](0,o.TitleCasePipe,[]),i["ɵpid"](0,ci.a,[]),i["ɵqud"](402653184,1,{basicOptionsValues:0}),i["ɵqud"](671088640,2,{advancedOptionsValues:0}),(t()(),i["ɵeld"](4,0,null,null,27,"cd-modal",[],null,null,null,Wm.c,Wm.b)),i["ɵdid"](5,49152,null,0,yh.a,[],{modalRef:[0,"modalRef"]},null),(t()(),i["ɵeld"](6,0,null,0,3,null,null,null,null,null,null,null)),(t()(),i["ɵted"](7,null,[""," ",""])),i["ɵppd"](8,1),i["ɵppd"](9,1),(t()(),i["ɵeld"](10,0,null,1,21,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](11,0,null,null,20,"form",[["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(t,e,n){var a=!0;return"submit"===e&&(a=!1!==i["ɵnov"](t,13).onSubmit(n)&&a),"reset"===e&&(a=!1!==i["ɵnov"](t,13).onReset()&&a),"submit"===e&&(a=!1!==i["ɵnov"](t,16).onSubmit()&&a),a}),null,null)),i["ɵdid"](12,16384,null,0,W.G,[],null,null),i["ɵdid"](13,540672,[["formDir",4]],0,W.l,[[8,null],[8,null]],{form:[0,"form"]},null),i["ɵprd"](2048,null,W.d,null,[W.l]),i["ɵdid"](15,16384,null,0,W.s,[[4,W.d]],null,null),i["ɵdid"](16,16384,null,0,K.d,[],{formGroup:[0,"formGroup"]},null),(t()(),i["ɵeld"](17,0,null,null,8,"div",[["class","modal-body osd-modal"]],null,null,null,null,null)),(t()(),i["ɵeld"](18,0,null,null,1,"cd-config-option",[],null,null,null,db,Xh)),i["ɵdid"](19,114688,[[1,4],["basicOptionsValues",4]],0,ps,[gs.a],{optionNames:[0,"optionNames"],optionsForm:[1,"optionsForm"],optionsFormDir:[2,"optionsFormDir"],optionsFormGroupName:[3,"optionsFormGroupName"]},null),(t()(),i["ɵeld"](20,0,null,null,3,"div",[["class","row"]],null,null,null,null,null)),(t()(),i["ɵeld"](21,0,null,null,2,"div",[["class","col-sm-12"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,gb)),i["ɵdid"](23,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,fb)),i["ɵdid"](25,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](26,0,null,null,5,"div",[["class","modal-footer"]],null,null,null,null,null)),(t()(),i["ɵeld"](27,0,null,null,4,"div",[["class","button-group text-right"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,pb)),i["ɵdid"](29,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](30,0,null,null,1,"cd-back-button",[],null,null,null,ii.b,ii.a)),i["ɵdid"](31,49152,null,0,si.a,[o.Location,vt.b],{back:[0,"back"]},null)],(function(t,e){var n=e.component;t(e,5,0,n.bsModalRef),t(e,13,0,n.osdPgScrubForm),t(e,16,0,n.osdPgScrubForm),t(e,19,0,n.basicOptions,n.osdPgScrubForm,i["ɵnov"](e,13),"basicFormGroup"),t(e,23,0,!n.advancedEnabled),t(e,25,0,n.advancedEnabled),t(e,29,0,n.permissions.configOpt.update),t(e,31,0,n.bsModalRef.hide)}),(function(t,e){var n=e.component,a=i["ɵunv"](e,7,0,t(e,8,0,i["ɵnov"](e,0),n.action)),r=i["ɵunv"](e,7,1,t(e,9,0,i["ɵnov"](e,1),n.resource));t(e,7,0,a,r),t(e,11,0,i["ɵnov"](e,15).ngClassUntouched,i["ɵnov"](e,15).ngClassTouched,i["ɵnov"](e,15).ngClassPristine,i["ɵnov"](e,15).ngClassDirty,i["ɵnov"](e,15).ngClassValid,i["ɵnov"](e,15).ngClassInvalid,i["ɵnov"](e,15).ngClassPending)}))}function hb(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-osd-pg-scrub-modal",[],null,null,null,mb,ub)),i["ɵdid"](1,49152,null,0,hs,[Mt.a,yt.a,gt.a,ia.a,vt.b],null,null)],null,null)}var bb=i["ɵccf"]("cd-osd-pg-scrub-modal",hs,hb,{},{},[]),yb=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function _b(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,3,"option",[],null,null,null,null,null)),i["ɵdid"](1,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{value:[0,"value"]},null),i["ɵdid"](2,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{value:[0,"value"]},null),(t()(),i["ɵted"](3,null,[" "," "]))],(function(t,e){t(e,1,0,e.context.$implicit),t(e,2,0,e.context.$implicit)}),(function(t,e){t(e,3,0,e.context.$implicit)}))}function Ob(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","help-block"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["This field is required!"]))],null,null)}function vb(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","help-block"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["This field is required!"]))],null,null)}function Cb(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,2,"div",[["id","match-state"]],[[8,"className",0]],null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,1,"span",[],[[8,"className",0]],null,null,null,null)),(t()(),i["ɵted"](2,null,[" "," "]))],null,(function(t,e){var n=e.component;t(e,0,0,i["ɵinlineInterpolate"](1,"cd-col-form-offset ",n.matcherMatch.cssClass,"")),t(e,1,0,i["ɵinlineInterpolate"](1,"text-muted ",n.matcherMatch.cssClass,"")),t(e,2,0,n.matcherMatch.status)}))}function Pb(t){return i["ɵvid"](0,[(t()(),i["ɵted"](-1,null,["Update"]))],null,null)}function Mb(t){return i["ɵvid"](0,[(t()(),i["ɵted"](-1,null,["Add"]))],null,null)}function xb(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,79,"cd-modal",[],null,null,null,Wm.c,Wm.b)),i["ɵdid"](1,49152,null,0,yh.a,[],{modalRef:[0,"modalRef"]},null),(t()(),i["ɵeld"](2,0,null,0,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Matcher"])),(t()(),i["ɵeld"](4,0,null,1,75,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](5,0,null,null,74,"form",[["class","form"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(t,e,n){var a=!0;return"submit"===e&&(a=!1!==i["ɵnov"](t,7).onSubmit(n)&&a),"reset"===e&&(a=!1!==i["ɵnov"](t,7).onReset()&&a),"submit"===e&&(a=!1!==i["ɵnov"](t,10).onSubmit()&&a),a}),null,null)),i["ɵdid"](6,16384,null,0,W.G,[],null,null),i["ɵdid"](7,540672,[["formDir",4]],0,W.l,[[8,null],[8,null]],{form:[0,"form"]},null),i["ɵprd"](2048,null,W.d,null,[W.l]),i["ɵdid"](9,16384,null,0,W.s,[[4,W.d]],null,null),i["ɵdid"](10,16384,null,0,K.d,[],{formGroup:[0,"formGroup"]},null),(t()(),i["ɵeld"](11,0,null,null,56,"div",[["class","modal-body"]],null,null,null,null,null)),(t()(),i["ɵeld"](12,0,null,null,21,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](13,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,1,{FormControlNames:1}),i["ɵqud"](603979776,2,{messagesBlock:0}),(t()(),i["ɵeld"](16,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","name"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Name"])),(t()(),i["ɵeld"](18,0,null,0,15,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](19,0,null,null,12,"select",[["class","form-control"],["formControlName","name"],["id","name"],["name","name"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(t,e,n){var a=!0;return"change"===e&&(a=!1!==i["ɵnov"](t,20).onChange(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,20).onTouched()&&a),a}),null,null)),i["ɵdid"](20,16384,null,0,W.A,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.A]),i["ɵdid"](22,671744,[[1,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](24,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](25,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵeld"](26,0,null,null,3,"option",[],null,null,null,null,null)),i["ɵdid"](27,147456,null,0,W.v,[i.ElementRef,i.Renderer2,[2,W.A]],{ngValue:[0,"ngValue"]},null),i["ɵdid"](28,147456,null,0,W.F,[i.ElementRef,i.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(t()(),i["ɵted"](-1,null,["-- Select an attribute to match against --"])),(t()(),i["ɵand"](16777216,null,null,1,null,_b)),i["ɵdid"](31,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Ob)),i["ɵdid"](33,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](34,0,null,null,18,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](35,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,3,{FormControlNames:1}),i["ɵqud"](603979776,4,{messagesBlock:0}),(t()(),i["ɵeld"](38,0,null,0,1,"label",[["class","cd-col-form-label required"],["for","value"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Value"])),(t()(),i["ɵeld"](40,0,null,0,10,"div",[["class","cd-col-form-input"]],null,null,null,null,null)),(t()(),i["ɵeld"](41,16777216,null,null,7,"input",[["class","form-control"],["formControlName","value"],["id","value"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"keyup"],[null,"click"],[null,"focus"],[null,"keydown"]],(function(t,e,n){var a=!0;return"input"===e&&(a=!1!==i["ɵnov"](t,42)._handleInput(n.target.value)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,42).onTouched()&&a),"compositionstart"===e&&(a=!1!==i["ɵnov"](t,42)._compositionStart()&&a),"compositionend"===e&&(a=!1!==i["ɵnov"](t,42)._compositionEnd(n.target.value)&&a),"input"===e&&(a=!1!==i["ɵnov"](t,47).onInput(n)&&a),"keyup"===e&&(a=!1!==i["ɵnov"](t,47).onChange(n)&&a),"click"===e&&(a=!1!==i["ɵnov"](t,47).onFocus()&&a),"focus"===e&&(a=!1!==i["ɵnov"](t,47).onFocus()&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,47).onBlur()&&a),"keydown"===e&&(a=!1!==i["ɵnov"](t,47).onKeydown(n)&&a),a}),null,null)),i["ɵdid"](42,16384,null,0,W.e,[i.Renderer2,i.ElementRef,[2,W.b]],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.e]),i["ɵdid"](44,671744,[[3,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](46,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](47,212992,null,0,Pf,[U.a,Cf,i.ChangeDetectorRef,i.ElementRef,W.q,i.Renderer2,i.ViewContainerRef],{typeahead:[0,"typeahead"],typeaheadMinLength:[1,"typeaheadMinLength"]},null),i["ɵdid"](48,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,vb)),i["ɵdid"](50,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵand"](16777216,null,0,1,null,Cb)),i["ɵdid"](52,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](53,0,null,null,14,"div",[["class","form-group row"]],[[2,"has-error",null],[2,"has-success",null]],null,null,ni.b,ni.a)),i["ɵdid"](54,1163264,null,2,K.c,[i.ElementRef,K.g],null,null),i["ɵqud"](603979776,5,{FormControlNames:1}),i["ɵqud"](603979776,6,{messagesBlock:0}),(t()(),i["ɵeld"](57,0,null,0,10,"div",[["class","cd-col-form-offset"]],null,null,null,null,null)),(t()(),i["ɵeld"](58,0,null,null,9,"div",[["class","custom-control custom-checkbox"]],null,null,null,null,null)),(t()(),i["ɵeld"](59,0,null,null,6,"input",[["class","custom-control-input"],["formControlName","isRegex"],["id","is-regex"],["name","is-regex"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"is-valid",null],[2,"is-invalid",null]],[[null,"change"],[null,"blur"]],(function(t,e,n){var a=!0;return"change"===e&&(a=!1!==i["ɵnov"](t,60).onChange(n.target.checked)&&a),"blur"===e&&(a=!1!==i["ɵnov"](t,60).onTouched()&&a),a}),null,null)),i["ɵdid"](60,16384,null,0,W.c,[i.Renderer2,i.ElementRef],null,null),i["ɵprd"](1024,null,W.p,(function(t){return[t]}),[W.c]),i["ɵdid"](62,671744,[[5,4]],0,W.j,[[3,W.d],[8,null],[8,null],[6,W.p],[2,W.E]],{name:[0,"name"]},null),i["ɵprd"](2048,null,W.q,null,[W.j]),i["ɵdid"](64,16384,null,0,W.r,[[4,W.q]],null,null),i["ɵdid"](65,16384,null,0,K.h,[[3,W.d],K.a],{formControlName:[0,"formControlName"]},null),(t()(),i["ɵeld"](66,0,null,null,1,"label",[["class","custom-control-label"],["for","is-regex"]],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["Use regular expression"])),(t()(),i["ɵeld"](68,0,null,null,11,"div",[["class","modal-footer"]],null,null,null,null,null)),(t()(),i["ɵeld"](69,0,null,null,8,"cd-submit-button",[],null,[[null,"submitAction"]],(function(t,e,n){var a=!0;return"submitAction"===e&&(a=!1!==t.component.onSubmit()&&a),a}),ri.b,ri.a)),i["ɵdid"](70,114688,null,0,oi.a,[i.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(t()(),i["ɵeld"](71,0,null,0,6,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](72,0,null,null,5,null,null,null,null,null,null,null)),i["ɵdid"](73,16384,null,0,o.NgSwitch,[],{ngSwitch:[0,"ngSwitch"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Pb)),i["ɵdid"](75,278528,null,0,o.NgSwitchCase,[i.ViewContainerRef,i.TemplateRef,o.NgSwitch],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),i["ɵand"](16777216,null,null,1,null,Mb)),i["ɵdid"](77,16384,null,0,o.NgSwitchDefault,[i.ViewContainerRef,i.TemplateRef,o.NgSwitch],null,null),(t()(),i["ɵeld"](78,0,null,null,1,"cd-back-button",[["name","Close"]],null,null,null,ii.b,ii.a)),i["ɵdid"](79,49152,null,0,si.a,[o.Location,vt.b],{name:[0,"name"],back:[1,"back"]},null)],(function(t,e){var n=e.component;t(e,1,0,n.bsModalRef),t(e,7,0,n.form),t(e,10,0,n.form),t(e,13,0),t(e,22,0,"name"),t(e,25,0,"name"),t(e,27,0,null),t(e,28,0,null),t(e,31,0,n.nameAttributes),t(e,33,0,n.form.showError("name",i["ɵnov"](e,7),"required")),t(e,35,0),t(e,44,0,"value"),t(e,47,0,n.possibleValues,0),t(e,48,0,"value"),t(e,50,0,n.form.showError("value",i["ɵnov"](e,7),"required")),t(e,52,0,n.form.getValue("value")&&!n.form.getValue("isRegex")&&n.matcherMatch),t(e,54,0),t(e,62,0,"isRegex"),t(e,65,0,"isRegex"),t(e,70,0,n.form),t(e,73,0,n.editMode),t(e,75,0,"1"),t(e,79,0,"Close",n.bsModalRef.hide)}),(function(t,e){t(e,5,0,i["ɵnov"](e,9).ngClassUntouched,i["ɵnov"](e,9).ngClassTouched,i["ɵnov"](e,9).ngClassPristine,i["ɵnov"](e,9).ngClassDirty,i["ɵnov"](e,9).ngClassValid,i["ɵnov"](e,9).ngClassInvalid,i["ɵnov"](e,9).ngClassPending),t(e,12,0,i["ɵnov"](e,13).hasErrors,i["ɵnov"](e,13).hasSuccess),t(e,19,0,i["ɵnov"](e,24).ngClassUntouched,i["ɵnov"](e,24).ngClassTouched,i["ɵnov"](e,24).ngClassPristine,i["ɵnov"](e,24).ngClassDirty,i["ɵnov"](e,24).ngClassValid,i["ɵnov"](e,24).ngClassInvalid,i["ɵnov"](e,24).ngClassPending,i["ɵnov"](e,25).validClass,i["ɵnov"](e,25).invalidClass),t(e,34,0,i["ɵnov"](e,35).hasErrors,i["ɵnov"](e,35).hasSuccess),t(e,41,0,i["ɵnov"](e,46).ngClassUntouched,i["ɵnov"](e,46).ngClassTouched,i["ɵnov"](e,46).ngClassPristine,i["ɵnov"](e,46).ngClassDirty,i["ɵnov"](e,46).ngClassValid,i["ɵnov"](e,46).ngClassInvalid,i["ɵnov"](e,46).ngClassPending,i["ɵnov"](e,48).validClass,i["ɵnov"](e,48).invalidClass),t(e,53,0,i["ɵnov"](e,54).hasErrors,i["ɵnov"](e,54).hasSuccess),t(e,59,0,i["ɵnov"](e,64).ngClassUntouched,i["ɵnov"](e,64).ngClassTouched,i["ɵnov"](e,64).ngClassPristine,i["ɵnov"](e,64).ngClassDirty,i["ɵnov"](e,64).ngClassValid,i["ɵnov"](e,64).ngClassInvalid,i["ɵnov"](e,64).ngClassPending,i["ɵnov"](e,65).validClass,i["ɵnov"](e,65).invalidClass)}))}function wb(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-silence-matcher-modal",[],null,null,null,xb,yb)),i["ɵdid"](1,49152,null,0,zd,[ys.a,jd,Mt.a],null,null)],null,null)}var Tb=i["ɵccf"]("cd-silence-matcher-modal",zd,wb,{},{submitAction:"submitAction"},[]),Sb=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function kb(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"span",[["class","badge badge-dark ml-2"]],null,null,null,null,null)),(t()(),i["ɵted"](1,null,[" "," "]))],null,(function(t,e){t(e,1,0,e.context.$implicit)}))}function Ib(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,5,"cd-alert-panel",[["size","slim"],["type","warning"]],null,null,null,vr.b,vr.a)),i["ɵdid"](1,114688,null,0,Cr.a,[ia.a],{type:[0,"type"],size:[1,"size"],showTitle:[2,"showTitle"]},null),(t()(),i["ɵeld"](2,0,null,0,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["At least one of these filters must be applied in order to proceed:"])),(t()(),i["ɵand"](16777216,null,0,1,null,kb)),i["ɵdid"](5,278528,null,0,o.NgForOf,[i.ViewContainerRef,i.TemplateRef,i.IterableDiffers],{ngForOf:[0,"ngForOf"]},null)],(function(t,e){var n=e.component;t(e,1,0,"warning","slim",!1),t(e,5,0,n.requiredFilters)}),null)}function Nb(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,4,"div",[],null,null,null,null,null)),(t()(),i["ɵeld"](1,0,null,null,3,"p",[["class","text-center"]],null,null,null,null,null)),(t()(),i["ɵeld"](2,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),i["ɵted"](3,null,["Number of devices: ",". Raw capacity: ","."])),i["ɵppd"](4,1)],null,(function(t,e){var n=e.component,a=n.filteredDevices.length,r=i["ɵunv"](e,3,1,t(e,4,0,i["ɵnov"](e.parent,0),n.capacity));t(e,3,0,a,r)}))}function Rb(t){return i["ɵvid"](0,[i["ɵpid"](0,Qn.a,[ua.a]),i["ɵpid"](0,o.TitleCasePipe,[]),i["ɵqud"](671088640,1,{inventoryDevices:0}),(t()(),i["ɵeld"](3,0,null,null,25,"cd-modal",[],null,null,null,Wm.c,Wm.b)),i["ɵdid"](4,49152,null,0,yh.a,[],{modalRef:[0,"modalRef"]},null),(t()(),i["ɵeld"](5,0,null,0,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](6,null,[""," devices"])),(t()(),i["ɵeld"](7,0,null,1,21,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](8,0,null,null,20,"form",[["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(t,e,n){var a=!0;return"submit"===e&&(a=!1!==i["ɵnov"](t,10).onSubmit(n)&&a),"reset"===e&&(a=!1!==i["ɵnov"](t,10).onReset()&&a),"submit"===e&&(a=!1!==i["ɵnov"](t,13).onSubmit()&&a),a}),null,null)),i["ɵdid"](9,16384,null,0,W.G,[],null,null),i["ɵdid"](10,540672,[["frm",4]],0,W.l,[[8,null],[8,null]],{form:[0,"form"]},null),i["ɵprd"](2048,null,W.d,null,[W.l]),i["ɵdid"](12,16384,null,0,W.s,[[4,W.d]],null,null),i["ɵdid"](13,16384,null,0,K.d,[],{formGroup:[0,"formGroup"]},null),(t()(),i["ɵeld"](14,0,null,null,7,"div",[["class","modal-body"]],null,null,null,null,null)),(t()(),i["ɵand"](16777216,null,null,1,null,Ib)),i["ɵdid"](16,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](17,0,null,null,2,"cd-inventory-devices",[],null,[[null,"filterChange"]],(function(t,e,n){var a=!0;return"filterChange"===e&&(a=!1!==t.component.onFilterChange(n)&&a),a}),Rr,Nr)),i["ɵdid"](18,245760,[[1,4],["inventoryDevices",4]],0,Ir,[yt.a,Qn.a,ia.a,Mt.b,gt.a,wr],{devices:[0,"devices"],hiddenColumns:[1,"hiddenColumns"],filterColumns:[2,"filterColumns"]},{filterChange:"filterChange"}),i["ɵpad"](19,2),(t()(),i["ɵand"](16777216,null,null,1,null,Nb)),i["ɵdid"](21,16384,null,0,o.NgIf,[i.ViewContainerRef,i.TemplateRef],{ngIf:[0,"ngIf"]},null),(t()(),i["ɵeld"](22,0,null,null,6,"div",[["class","modal-footer"]],null,null,null,null,null)),(t()(),i["ɵeld"](23,0,null,null,3,"cd-submit-button",[],null,[[null,"submitAction"]],(function(t,e,n){var a=!0;return"submitAction"===e&&(a=!1!==t.component.onSubmit()&&a),a}),ri.b,ri.a)),i["ɵdid"](24,114688,null,0,oi.a,[i.ElementRef],{form:[0,"form"],disabled:[1,"disabled"]},{submitAction:"submitAction"}),(t()(),i["ɵted"](25,0,["",""])),i["ɵppd"](26,1),(t()(),i["ɵeld"](27,0,null,null,1,"cd-back-button",[],null,null,null,ii.b,ii.a)),i["ɵdid"](28,49152,null,0,si.a,[o.Location,vt.b],{back:[0,"back"]},null)],(function(t,e){var n=e.component;t(e,4,0,n.bsModalRef),t(e,10,0,n.formGroup),t(e,13,0,n.formGroup),t(e,16,0,!n.canSubmit);var a=n.devices,r=t(e,19,0,"available","osd_ids");t(e,18,0,a,r,n.filterColumns),t(e,21,0,n.canSubmit),t(e,24,0,n.formGroup,!n.canSubmit||0===n.filteredDevices.length),t(e,28,0,n.bsModalRef.hide)}),(function(t,e){var n=e.component;t(e,6,0,n.deviceType),t(e,8,0,i["ɵnov"](e,12).ngClassUntouched,i["ɵnov"](e,12).ngClassTouched,i["ɵnov"](e,12).ngClassPristine,i["ɵnov"](e,12).ngClassDirty,i["ɵnov"](e,12).ngClassValid,i["ɵnov"](e,12).ngClassInvalid,i["ɵnov"](e,12).ngClassPending);var a=i["ɵunv"](e,25,0,t(e,26,0,i["ɵnov"](e,1),n.action));t(e,25,0,a)}))}function Ab(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-osd-devices-selection-modal",[],null,null,null,Rb,Sb)),i["ɵdid"](1,4243456,null,0,Ls,[ys.a,Mt.a,vt.b],null,null)],null,null)}var Eb=i["ɵccf"]("cd-osd-devices-selection-modal",Ls,Ab,{},{submitAction:"submitAction"},[]),Db=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Lb(t){return i["ɵvid"](0,[i["ɵpid"](0,o.TitleCasePipe,[]),(t()(),i["ɵeld"](1,0,null,null,23,"cd-modal",[],null,null,null,Wm.c,Wm.b)),i["ɵdid"](2,49152,null,0,yh.a,[],{modalRef:[0,"modalRef"]},null),(t()(),i["ɵeld"](3,0,null,0,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["OSD creation preview"])),(t()(),i["ɵeld"](5,0,null,1,19,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](6,0,null,null,18,"form",[["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],(function(t,e,n){var a=!0;return"submit"===e&&(a=!1!==i["ɵnov"](t,8).onSubmit(n)&&a),"reset"===e&&(a=!1!==i["ɵnov"](t,8).onReset()&&a),"submit"===e&&(a=!1!==i["ɵnov"](t,11).onSubmit()&&a),a}),null,null)),i["ɵdid"](7,16384,null,0,W.G,[],null,null),i["ɵdid"](8,540672,[["frm",4]],0,W.l,[[8,null],[8,null]],{form:[0,"form"]},null),i["ɵprd"](2048,null,W.d,null,[W.l]),i["ɵdid"](10,16384,null,0,W.s,[[4,W.d]],null,null),i["ɵdid"](11,16384,null,0,K.d,[],{formGroup:[0,"formGroup"]},null),(t()(),i["ɵeld"](12,0,null,null,5,"div",[["class","modal-body"]],null,null,null,null,null)),(t()(),i["ɵeld"](13,0,null,null,1,"h3",[],null,null,null,null,null)),(t()(),i["ɵted"](-1,null,["DriveGroups"])),(t()(),i["ɵeld"](15,0,null,null,2,"pre",[],null,null,null,null,null)),(t()(),i["ɵted"](16,null,["",""])),i["ɵpid"](0,o.JsonPipe,[]),(t()(),i["ɵeld"](18,0,null,null,6,"div",[["class","modal-footer"]],null,null,null,null,null)),(t()(),i["ɵeld"](19,0,null,null,3,"cd-submit-button",[],null,[[null,"submitAction"]],(function(t,e,n){var a=!0;return"submitAction"===e&&(a=!1!==t.component.onSubmit()&&a),a}),ri.b,ri.a)),i["ɵdid"](20,114688,null,0,oi.a,[i.ElementRef],{form:[0,"form"]},{submitAction:"submitAction"}),(t()(),i["ɵted"](21,0,["",""])),i["ɵppd"](22,1),(t()(),i["ɵeld"](23,0,null,null,1,"cd-back-button",[],null,null,null,ii.b,ii.a)),i["ɵdid"](24,49152,null,0,si.a,[o.Location,vt.b],{back:[0,"back"]},null)],(function(t,e){var n=e.component;t(e,2,0,n.bsModalRef),t(e,8,0,n.formGroup),t(e,11,0,n.formGroup),t(e,20,0,n.formGroup),t(e,24,0,n.bsModalRef.hide)}),(function(t,e){var n=e.component;t(e,6,0,i["ɵnov"](e,10).ngClassUntouched,i["ɵnov"](e,10).ngClassTouched,i["ɵnov"](e,10).ngClassPristine,i["ɵnov"](e,10).ngClassDirty,i["ɵnov"](e,10).ngClassValid,i["ɵnov"](e,10).ngClassInvalid,i["ɵnov"](e,10).ngClassPending),t(e,16,0,i["ɵunv"](e,16,0,i["ɵnov"](e,17).transform(n.driveGroups)));var a=i["ɵunv"](e,21,0,t(e,22,0,i["ɵnov"](e,0),n.action));t(e,21,0,a)}))}function qb(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-osd-creation-preview-modal",[],null,null,null,Lb,Db)),i["ɵdid"](1,114688,null,0,Ws,[Mt.a,vt.b,ys.a,Xr,Yo.a],null,null)],(function(t,e){t(e,1,0)}),null)}var jb=i["ɵccf"]("cd-osd-creation-preview-modal",Ws,qb,{driveGroups:"driveGroups"},{submitAction:"submitAction"},[]),Fb=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function zb(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,10,"cd-modal",[],null,null,null,Wm.c,Wm.b)),i["ɵdid"](1,49152,null,0,yh.a,[],{modalRef:[0,"modalRef"]},null),(t()(),i["ɵeld"](2,0,null,0,1,null,null,null,null,null,null,null)),(t()(),i["ɵted"](3,null,[""," ",""])),(t()(),i["ɵeld"](4,0,null,1,6,null,null,null,null,null,null,null)),(t()(),i["ɵeld"](5,0,null,null,2,"div",[["class","modal-body"]],null,null,null,null,null)),(t()(),i["ɵeld"](6,0,null,null,1,"cd-orchestrator-doc-panel",[],null,null,null,xr,Mr)),i["ɵdid"](7,114688,null,0,Pr,[bt.a,ft.a],null,null),(t()(),i["ɵeld"](8,0,null,null,2,"div",[["class","modal-footer"]],null,null,null,null,null)),(t()(),i["ɵeld"](9,0,null,null,1,"cd-back-button",[["name","Close"]],null,null,null,ii.b,ii.a)),i["ɵdid"](10,49152,null,0,si.a,[o.Location,vt.b],{name:[0,"name"],back:[1,"back"]},null)],(function(t,e){var n=e.component;t(e,1,0,n.bsModalRef),t(e,7,0),t(e,10,0,"Close",n.bsModalRef.hide)}),(function(t,e){var n=e.component;t(e,3,0,n.actionDescription,n.itemDescription)}))}function Gb(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-orchestrator-doc-modal",[],null,null,null,zb,Fb)),i["ɵdid"](1,114688,null,0,Bo,[Mt.a],null,null)],(function(t,e){t(e,1,0)}),null)}var Bb=i["ɵccf"]("cd-orchestrator-doc-modal",Bo,Gb,{},{},[]),Vb=i["ɵcrt"]({encapsulation:0,styles:[[""]],data:{}});function Yb(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),i["ɵdid"](1,212992,null,0,St.r,[St.b,i.ViewContainerRef,i.ComponentFactoryResolver,[8,null],i.ChangeDetectorRef],null,null)],(function(t,e){t(e,1,0)}),null)}function Hb(t){return i["ɵvid"](0,[(t()(),i["ɵeld"](0,0,null,null,1,"cd-root",[],null,null,null,Yb,Vb)),i["ɵdid"](1,49152,null,0,d,[],null,null)],null,null)}var Ub=i["ɵccf"]("cd-root",d,Hb,{},{},[]),Wb=new i.InjectionToken("JWT_OPTIONS"),Kb=function(){function t(t){void 0===t&&(t=null),this.tokenGetter=t&&t.tokenGetter||function(){}}return t.prototype.urlBase64Decode=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}return this.b64DecodeUnicode(e)},t.prototype.b64decode=function(t){var e="";if((t=String(t).replace(/=+$/,"")).length%4==1)throw new Error("'atob' failed: The string to be decoded is not correctly encoded.");for(var n=0,a=void 0,r=void 0,o=0;r=t.charAt(o++);~r&&(a=n%4?64*a+r:r,n++%4)?e+=String.fromCharCode(255&a>>(-2*n&6)):0)r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(r);return e},t.prototype.b64DecodeUnicode=function(t){return decodeURIComponent(Array.prototype.map.call(this.b64decode(t),(function(t){return"%"+("00"+t.charCodeAt(0).toString(16)).slice(-2)})).join(""))},t.prototype.decodeToken=function(t){if(void 0===t&&(t=this.tokenGetter()),null===t)return null;var e=t.split(".");if(3!==e.length)throw new Error("The inspected token doesn't appear to be a JWT. Check to make sure it has three parts and see https://jwt.io for more.");var n=this.urlBase64Decode(e[1]);if(!n)throw new Error("Cannot decode the token.");return JSON.parse(n)},t.prototype.getTokenExpirationDate=function(t){var e;if(void 0===t&&(t=this.tokenGetter()),!(e=this.decodeToken(t)).hasOwnProperty("exp"))return null;var n=new Date(0);return n.setUTCSeconds(e.exp),n},t.prototype.isTokenExpired=function(t,e){if(void 0===t&&(t=this.tokenGetter()),null===t||""===t)return!0;var n=this.getTokenExpirationDate(t);return e=e||0,null===n||!(n.valueOf()>(new Date).valueOf()+1e3*e)},t}(),$b=n("CxY0"),Zb=function(){function t(t,e){this.jwtHelper=e,this.tokenGetter=t.tokenGetter,this.headerName=t.headerName||"Authorization",this.authScheme=t.authScheme||""===t.authScheme?t.authScheme:"Bearer ",this.whitelistedDomains=t.whitelistedDomains||[],this.blacklistedRoutes=t.blacklistedRoutes||[],this.throwNoTokenError=t.throwNoTokenError||!1,this.skipWhenExpired=t.skipWhenExpired}return t.prototype.isWhitelistedDomain=function(t){var e=Object($b.parse)(t.url,!1,!0);return null===e.host||this.whitelistedDomains.findIndex((function(t){return"string"==typeof t?t===e.host:t instanceof RegExp&&t.test(e.host)}))>-1},t.prototype.isBlacklistedRoute=function(t){var e=t.url;return this.blacklistedRoutes.findIndex((function(t){return"string"==typeof t?t===e:t instanceof RegExp&&t.test(e)}))>-1},t.prototype.handleInterception=function(t,e,n){var a,r=!1;if(!t&&this.throwNoTokenError)throw new Error("Could not get token from tokenGetter function.");return this.skipWhenExpired&&(r=!t||this.jwtHelper.isTokenExpired(t)),t&&r&&this.skipWhenExpired?e=e.clone():t&&(e=e.clone({setHeaders:(a={},a[this.headerName]=""+this.authScheme+t,a)})),n.handle(e)},t.prototype.intercept=function(t,e){var n=this;if(!this.isWhitelistedDomain(t)||this.isBlacklistedRoute(t))return e.handle(t);var a=this.tokenGetter();return a instanceof Promise?Object(mn.a)(a).pipe(Object(bn.a)((function(a){return n.handleInterception(a,t,e)}))):this.handleInterception(a,t,e)},t}(),Jb=n("z6cu"),Xb=n("JIr8");let Qb=(()=>{class t{constructor(t,e,n){this.router=t,this.authStorageService=e,this.notificationService=n}intercept(t,e){return e.handle(t).pipe(Object(Xb.a)(t=>{if(t instanceof J.f){let e;switch(t.status){case 400:const n=new zo.a,a=t.error.task;$.isPlainObject(a)?(a.metadata.component=a.metadata.component||t.error.component,n.name=a.name,n.metadata=a.metadata):n.metadata=t.error,n.success=!1,n.exception=t.error,e=this.notificationService.notifyTask(n);break;case 401:this.authStorageService.remove(),this.router.navigate(["/login"]);break;case 403:this.router.navigate(["/403"]);break;default:e=this.prepareNotification(t)}t.preventDefault=()=>{this.notificationService.cancel(e)},t.ignoreStatusCode=function(t){this.status===t&&this.preventDefault()}}return Object(Jb.a)(t)}))}prepareNotification(t){return this.notificationService.show(()=>{let e="";return $.isPlainObject(t.error)&&$.isString(t.error.detail)?e=t.error.detail:$.isString(t.error)?e=t.error:$.isString(t.message)&&(e=t.message),new fe.b(be.a.error,`${t.status} - ${t.statusText}`,e,void 0,t.application)})}}return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t(i["ɵɵinject"](St.m),i["ɵɵinject"](yt.a),i["ɵɵinject"](gt.a))},token:t,providedIn:"root"}),t})();function ty(){return"undefined"!=typeof process}function ey(t){switch(t.length){case 0:return new Gt.d;case 1:return t[0];default:return new Gt.k(t)}}function ny(t,e,n,a,r={},o={}){const i=[],s=[];let c=-1,l=null;if(a.forEach(t=>{const n=t.offset,a=n==c,d=a&&l||{};Object.keys(t).forEach(n=>{let a=n,s=t[n];if("offset"!==n)switch(a=e.normalizePropertyName(a,i),s){case Gt.l:s=r[n];break;case Gt.a:s=o[n];break;default:s=e.normalizeStyleValue(n,a,s,i)}d[a]=s}),a||s.push(d),l=d,c=n}),i.length){const t="\n - ";throw new Error(`Unable to animate due to the following errors:${t}${i.join(t)}`)}return s}function ay(t,e,n,a){switch(e){case"start":t.onStart(()=>a(n&&ry(n,"start",t)));break;case"done":t.onDone(()=>a(n&&ry(n,"done",t)));break;case"destroy":t.onDestroy(()=>a(n&&ry(n,"destroy",t)))}}function ry(t,e,n){const a=n.totalTime,r=oy(t.element,t.triggerName,t.fromState,t.toState,e||t.phaseName,null==a?t.totalTime:a,!!n.disabled),o=t._data;return null!=o&&(r._data=o),r}function oy(t,e,n,a,r="",o=0,i){return{element:t,triggerName:e,fromState:n,toState:a,phaseName:r,totalTime:o,disabled:!!i}}function iy(t,e,n){let a;return t instanceof Map?(a=t.get(e),a||t.set(e,a=n)):(a=t[e],a||(a=t[e]=n)),a}function sy(t){const e=t.indexOf(":");return[t.substring(1,e),t.substr(e+1)]}let cy=(t,e)=>!1,ly=(t,e)=>!1,dy=(t,e,n)=>[];const uy=ty();(uy||"undefined"!=typeof Element)&&(cy=(t,e)=>t.contains(e),ly=(()=>{if(uy||Element.prototype.matches)return(t,e)=>t.matches(e);{const t=Element.prototype,e=t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector;return e?(t,n)=>e.apply(t,[n]):ly}})(),dy=(t,e,n)=>{let a=[];if(n)a.push(...t.querySelectorAll(e));else{const n=t.querySelector(e);n&&a.push(n)}return a});let gy=null,fy=!1;function py(t){gy||(gy=("undefined"!=typeof document?document.body:null)||{},fy=!!gy.style&&"WebkitAppearance"in gy.style);let e=!0;return gy.style&&!function(t){return"ebkit"==t.substring(1,6)}(t)&&(e=t in gy.style,!e&&fy)&&(e="Webkit"+t.charAt(0).toUpperCase()+t.substr(1)in gy.style),e}const my=ly,hy=cy,by=dy;function yy(t){const e={};return Object.keys(t).forEach(n=>{const a=n.replace(/([a-z])([A-Z])/g,"$1-$2");e[a]=t[n]}),e}class _y{validateStyleProperty(t){return py(t)}matchesElement(t,e){return my(t,e)}containsElement(t,e){return hy(t,e)}query(t,e,n){return by(t,e,n)}computeStyle(t,e,n){return n||""}animate(t,e,n,a,r,o=[],i){return new Gt.d(n,a)}}let Oy=(()=>{class t{}return t.NOOP=new _y,t})();function vy(t){if("number"==typeof t)return t;const e=t.match(/^(-?[\.\d]+)(m?s)/);return!e||e.length<2?0:Cy(parseFloat(e[1]),e[2])}function Cy(t,e){switch(e){case"s":return 1e3*t;default:return t}}function Py(t,e,n){return t.hasOwnProperty("duration")?t:function(t,e,n){let a,r=0,o="";if("string"==typeof t){const n=t.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===n)return e.push(`The provided timing value "${t}" is invalid.`),{duration:0,delay:0,easing:""};a=Cy(parseFloat(n[1]),n[2]);const i=n[3];null!=i&&(r=Cy(parseFloat(i),n[4]));const s=n[5];s&&(o=s)}else a=t;if(!n){let n=!1,o=e.length;a<0&&(e.push("Duration values below 0 are not allowed for this animation step."),n=!0),r<0&&(e.push("Delay values below 0 are not allowed for this animation step."),n=!0),n&&e.splice(o,0,`The provided timing value "${t}" is invalid.`)}return{duration:a,delay:r,easing:o}}(t,e,n)}function My(t,e={}){return Object.keys(t).forEach(n=>{e[n]=t[n]}),e}function xy(t,e,n={}){if(e)for(let a in t)n[a]=t[a];else My(t,n);return n}function wy(t,e,n){return n?e+":"+n+";":""}function Ty(t){let e="";for(let n=0;n<t.style.length;n++){const a=t.style.item(n);e+=wy(0,a,t.style.getPropertyValue(a))}for(const n in t.style)t.style.hasOwnProperty(n)&&!n.startsWith("_")&&(e+=wy(0,n.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),t.style[n]));t.setAttribute("style",e)}function Sy(t,e,n){t.style&&(Object.keys(e).forEach(a=>{const r=Ly(a);n&&!n.hasOwnProperty(a)&&(n[a]=t.style[r]),t.style[r]=e[a]}),ty()&&Ty(t))}function ky(t,e){t.style&&(Object.keys(e).forEach(e=>{const n=Ly(e);t.style[n]=""}),ty()&&Ty(t))}function Iy(t){return Array.isArray(t)?1==t.length?t[0]:Object(Gt.f)(t):t}const Ny=new RegExp("{{\\s*(.+?)\\s*}}","g");function Ry(t){let e=[];if("string"==typeof t){const n=t.toString();let a;for(;a=Ny.exec(n);)e.push(a[1]);Ny.lastIndex=0}return e}function Ay(t,e,n){const a=t.toString(),r=a.replace(Ny,(t,a)=>{let r=e[a];return e.hasOwnProperty(a)||(n.push(`Please provide a value for the animation param ${a}`),r=""),r.toString()});return r==a?t:r}function Ey(t){const e=[];let n=t.next();for(;!n.done;)e.push(n.value),n=t.next();return e}const Dy=/-+([a-z0-9])/g;function Ly(t){return t.replace(Dy,(...t)=>t[1].toUpperCase())}function qy(t,e){return 0===t||0===e}function jy(t,e,n){const a=Object.keys(n);if(a.length&&e.length){let o=e[0],i=[];if(a.forEach(t=>{o.hasOwnProperty(t)||i.push(t),o[t]=n[t]}),i.length)for(var r=1;r<e.length;r++){let n=e[r];i.forEach((function(e){n[e]=zy(t,e)}))}}return e}function Fy(t,e,n){switch(e.type){case 7:return t.visitTrigger(e,n);case 0:return t.visitState(e,n);case 1:return t.visitTransition(e,n);case 2:return t.visitSequence(e,n);case 3:return t.visitGroup(e,n);case 4:return t.visitAnimate(e,n);case 5:return t.visitKeyframes(e,n);case 6:return t.visitStyle(e,n);case 8:return t.visitReference(e,n);case 9:return t.visitAnimateChild(e,n);case 10:return t.visitAnimateRef(e,n);case 11:return t.visitQuery(e,n);case 12:return t.visitStagger(e,n);default:throw new Error(`Unable to resolve animation metadata node #${e.type}`)}}function zy(t,e){return window.getComputedStyle(t)[e]}function Gy(t,e){const n=[];return"string"==typeof t?t.split(/\s*,\s*/).forEach(t=>function(t,e,n){if(":"==t[0]){const a=function(t,e){switch(t){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(t,e)=>parseFloat(e)>parseFloat(t);case":decrement":return(t,e)=>parseFloat(e)<parseFloat(t);default:return e.push(`The transition alias value "${t}" is not supported`),"* => *"}}(t,n);if("function"==typeof a)return void e.push(a);t=a}const a=t.match(/^(\*|[-\w]+)\s*(<?[=-]>)\s*(\*|[-\w]+)$/);if(null==a||a.length<4)return n.push(`The provided transition expression "${t}" is not supported`),e;const r=a[1],o=a[2],i=a[3];e.push(Yy(r,i)),"<"!=o[0]||"*"==r&&"*"==i||e.push(Yy(i,r))}(t,n,e)):n.push(t),n}const By=new Set(["true","1"]),Vy=new Set(["false","0"]);function Yy(t,e){const n=By.has(t)||Vy.has(t),a=By.has(e)||Vy.has(e);return(r,o)=>{let i="*"==t||t==r,s="*"==e||e==o;return!i&&n&&"boolean"==typeof r&&(i=r?By.has(t):Vy.has(t)),!s&&a&&"boolean"==typeof o&&(s=o?By.has(e):Vy.has(e)),i&&s}}const Hy=new RegExp("s*:selfs*,?","g");function Uy(t,e,n){return new Wy(t).build(e,n)}class Wy{constructor(t){this._driver=t}build(t,e){const n=new Ky(e);return this._resetContextStyleTimingState(n),Fy(this,Iy(t),n)}_resetContextStyleTimingState(t){t.currentQuerySelector="",t.collectedStyles={},t.collectedStyles[""]={},t.currentTime=0}visitTrigger(t,e){let n=e.queryCount=0,a=e.depCount=0;const r=[],o=[];return"@"==t.name.charAt(0)&&e.errors.push("animation triggers cannot be prefixed with an `@` sign (e.g. trigger('@foo', [...]))"),t.definitions.forEach(t=>{if(this._resetContextStyleTimingState(e),0==t.type){const n=t,a=n.name;a.toString().split(/\s*,\s*/).forEach(t=>{n.name=t,r.push(this.visitState(n,e))}),n.name=a}else if(1==t.type){const r=this.visitTransition(t,e);n+=r.queryCount,a+=r.depCount,o.push(r)}else e.errors.push("only state() and transition() definitions can sit inside of a trigger()")}),{type:7,name:t.name,states:r,transitions:o,queryCount:n,depCount:a,options:null}}visitState(t,e){const n=this.visitStyle(t.styles,e),a=t.options&&t.options.params||null;if(n.containsDynamicStyles){const r=new Set,o=a||{};if(n.styles.forEach(t=>{if($y(t)){const e=t;Object.keys(e).forEach(t=>{Ry(e[t]).forEach(t=>{o.hasOwnProperty(t)||r.add(t)})})}}),r.size){const n=Ey(r.values());e.errors.push(`state("${t.name}", ...) must define default values for all the following style substitutions: ${n.join(", ")}`)}}return{type:0,name:t.name,style:n,options:a?{params:a}:null}}visitTransition(t,e){e.queryCount=0,e.depCount=0;const n=Fy(this,Iy(t.animation),e);return{type:1,matchers:Gy(t.expr,e.errors),animation:n,queryCount:e.queryCount,depCount:e.depCount,options:Zy(t.options)}}visitSequence(t,e){return{type:2,steps:t.steps.map(t=>Fy(this,t,e)),options:Zy(t.options)}}visitGroup(t,e){const n=e.currentTime;let a=0;const r=t.steps.map(t=>{e.currentTime=n;const r=Fy(this,t,e);return a=Math.max(a,e.currentTime),r});return e.currentTime=a,{type:3,steps:r,options:Zy(t.options)}}visitAnimate(t,e){const n=function(t,e){let n=null;if(t.hasOwnProperty("duration"))n=t;else if("number"==typeof t)return Jy(Py(t,e).duration,0,"");const a=t;if(a.split(/\s+/).some(t=>"{"==t.charAt(0)&&"{"==t.charAt(1))){const t=Jy(0,0,"");return t.dynamic=!0,t.strValue=a,t}return n=n||Py(a,e),Jy(n.duration,n.delay,n.easing)}(t.timings,e.errors);let a;e.currentAnimateTimings=n;let r=t.styles?t.styles:Object(Gt.h)({});if(5==r.type)a=this.visitKeyframes(r,e);else{let r=t.styles,o=!1;if(!r){o=!0;const t={};n.easing&&(t.easing=n.easing),r=Object(Gt.h)(t)}e.currentTime+=n.duration+n.delay;const i=this.visitStyle(r,e);i.isEmptyStep=o,a=i}return e.currentAnimateTimings=null,{type:4,timings:n,style:a,options:null}}visitStyle(t,e){const n=this._makeStyleAst(t,e);return this._validateStyleAst(n,e),n}_makeStyleAst(t,e){const n=[];Array.isArray(t.styles)?t.styles.forEach(t=>{"string"==typeof t?t==Gt.a?n.push(t):e.errors.push(`The provided style string value ${t} is not allowed.`):n.push(t)}):n.push(t.styles);let a=!1,r=null;return n.forEach(t=>{if($y(t)){const e=t,n=e.easing;if(n&&(r=n,delete e.easing),!a)for(let t in e)if(e[t].toString().indexOf("{{")>=0){a=!0;break}}}),{type:6,styles:n,easing:r,offset:t.offset,containsDynamicStyles:a,options:null}}_validateStyleAst(t,e){const n=e.currentAnimateTimings;let a=e.currentTime,r=e.currentTime;n&&r>0&&(r-=n.duration+n.delay),t.styles.forEach(t=>{"string"!=typeof t&&Object.keys(t).forEach(n=>{if(!this._driver.validateStyleProperty(n))return void e.errors.push(`The provided animation property "${n}" is not a supported CSS property for animations`);const o=e.collectedStyles[e.currentQuerySelector],i=o[n];let s=!0;i&&(r!=a&&r>=i.startTime&&a<=i.endTime&&(e.errors.push(`The CSS property "${n}" that exists between the times of "${i.startTime}ms" and "${i.endTime}ms" is also being animated in a parallel animation between the times of "${r}ms" and "${a}ms"`),s=!1),r=i.startTime),s&&(o[n]={startTime:r,endTime:a}),e.options&&function(t,e,n){const a=e.params||{},r=Ry(t);r.length&&r.forEach(t=>{a.hasOwnProperty(t)||n.push(`Unable to resolve the local animation param ${t} in the given list of values`)})}(t[n],e.options,e.errors)})})}visitKeyframes(t,e){const n={type:5,styles:[],options:null};if(!e.currentAnimateTimings)return e.errors.push("keyframes() must be placed inside of a call to animate()"),n;let a=0;const r=[];let o=!1,i=!1,s=0;const c=t.steps.map(t=>{const n=this._makeStyleAst(t,e);let c=null!=n.offset?n.offset:function(t){if("string"==typeof t)return null;let e=null;if(Array.isArray(t))t.forEach(t=>{if($y(t)&&t.hasOwnProperty("offset")){const n=t;e=parseFloat(n.offset),delete n.offset}});else if($y(t)&&t.hasOwnProperty("offset")){const n=t;e=parseFloat(n.offset),delete n.offset}return e}(n.styles),l=0;return null!=c&&(a++,l=n.offset=c),i=i||l<0||l>1,o=o||l<s,s=l,r.push(l),n});i&&e.errors.push("Please ensure that all keyframe offsets are between 0 and 1"),o&&e.errors.push("Please ensure that all keyframe offsets are in order");const l=t.steps.length;let d=0;a>0&&a<l?e.errors.push("Not all style() steps within the declared keyframes() contain offsets"):0==a&&(d=1/(l-1));const u=l-1,g=e.currentTime,f=e.currentAnimateTimings,p=f.duration;return c.forEach((t,a)=>{const o=d>0?a==u?1:d*a:r[a],i=o*p;e.currentTime=g+f.delay+i,f.duration=i,this._validateStyleAst(t,e),t.offset=o,n.styles.push(t)}),n}visitReference(t,e){return{type:8,animation:Fy(this,Iy(t.animation),e),options:Zy(t.options)}}visitAnimateChild(t,e){return e.depCount++,{type:9,options:Zy(t.options)}}visitAnimateRef(t,e){return{type:10,animation:this.visitReference(t.animation,e),options:Zy(t.options)}}visitQuery(t,e){const n=e.currentQuerySelector,a=t.options||{};e.queryCount++,e.currentQuery=t;const[r,o]=function(t){const e=!!t.split(/\s*,\s*/).find(t=>":self"==t);return e&&(t=t.replace(Hy,"")),[t=t.replace(/@\*/g,".ng-trigger").replace(/@\w+/g,t=>".ng-trigger-"+t.substr(1)).replace(/:animating/g,".ng-animating"),e]}(t.selector);e.currentQuerySelector=n.length?n+" "+r:r,iy(e.collectedStyles,e.currentQuerySelector,{});const i=Fy(this,Iy(t.animation),e);return e.currentQuery=null,e.currentQuerySelector=n,{type:11,selector:r,limit:a.limit||0,optional:!!a.optional,includeSelf:o,animation:i,originalSelector:t.selector,options:Zy(t.options)}}visitStagger(t,e){e.currentQuery||e.errors.push("stagger() can only be used inside of query()");const n="full"===t.timings?{duration:0,delay:0,easing:"full"}:Py(t.timings,e.errors,!0);return{type:12,animation:Fy(this,Iy(t.animation),e),timings:n,options:null}}}class Ky{constructor(t){this.errors=t,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles={},this.options=null}}function $y(t){return!Array.isArray(t)&&"object"==typeof t}function Zy(t){var e;return t?(t=My(t)).params&&(t.params=(e=t.params)?My(e):null):t={},t}function Jy(t,e,n){return{duration:t,delay:e,easing:n}}function Xy(t,e,n,a,r,o,i=null,s=!1){return{type:1,element:t,keyframes:e,preStyleProps:n,postStyleProps:a,duration:r,delay:o,totalTime:r+o,easing:i,subTimeline:s}}class Qy{constructor(){this._map=new Map}consume(t){let e=this._map.get(t);return e?this._map.delete(t):e=[],e}append(t,e){let n=this._map.get(t);n||this._map.set(t,n=[]),n.push(...e)}has(t){return this._map.has(t)}clear(){this._map.clear()}}const t_=new RegExp(":enter","g"),e_=new RegExp(":leave","g");function n_(t,e,n,a,r,o={},i={},s,c,l=[]){return(new a_).buildKeyframes(t,e,n,a,r,o,i,s,c,l)}class a_{buildKeyframes(t,e,n,a,r,o,i,s,c,l=[]){c=c||new Qy;const d=new o_(t,e,c,a,r,l,[]);d.options=s,d.currentTimeline.setStyles([o],null,d.errors,s),Fy(this,n,d);const u=d.timelines.filter(t=>t.containsAnimation());if(u.length&&Object.keys(i).length){const t=u[u.length-1];t.allowOnlyTimelineStyles()||t.setStyles([i],null,d.errors,s)}return u.length?u.map(t=>t.buildKeyframes()):[Xy(e,[],[],[],0,0,"",!1)]}visitTrigger(t,e){}visitState(t,e){}visitTransition(t,e){}visitAnimateChild(t,e){const n=e.subInstructions.consume(e.element);if(n){const a=e.createSubContext(t.options),r=e.currentTimeline.currentTime,o=this._visitSubInstructions(n,a,a.options);r!=o&&e.transformIntoNewTimeline(o)}e.previousNode=t}visitAnimateRef(t,e){const n=e.createSubContext(t.options);n.transformIntoNewTimeline(),this.visitReference(t.animation,n),e.transformIntoNewTimeline(n.currentTimeline.currentTime),e.previousNode=t}_visitSubInstructions(t,e,n){let a=e.currentTimeline.currentTime;const r=null!=n.duration?vy(n.duration):null,o=null!=n.delay?vy(n.delay):null;return 0!==r&&t.forEach(t=>{const n=e.appendInstructionToTimeline(t,r,o);a=Math.max(a,n.duration+n.delay)}),a}visitReference(t,e){e.updateOptions(t.options,!0),Fy(this,t.animation,e),e.previousNode=t}visitSequence(t,e){const n=e.subContextCount;let a=e;const r=t.options;if(r&&(r.params||r.delay)&&(a=e.createSubContext(r),a.transformIntoNewTimeline(),null!=r.delay)){6==a.previousNode.type&&(a.currentTimeline.snapshotCurrentStyles(),a.previousNode=r_);const t=vy(r.delay);a.delayNextStep(t)}t.steps.length&&(t.steps.forEach(t=>Fy(this,t,a)),a.currentTimeline.applyStylesToKeyframe(),a.subContextCount>n&&a.transformIntoNewTimeline()),e.previousNode=t}visitGroup(t,e){const n=[];let a=e.currentTimeline.currentTime;const r=t.options&&t.options.delay?vy(t.options.delay):0;t.steps.forEach(o=>{const i=e.createSubContext(t.options);r&&i.delayNextStep(r),Fy(this,o,i),a=Math.max(a,i.currentTimeline.currentTime),n.push(i.currentTimeline)}),n.forEach(t=>e.currentTimeline.mergeTimelineCollectedStyles(t)),e.transformIntoNewTimeline(a),e.previousNode=t}_visitTiming(t,e){if(t.dynamic){const n=t.strValue;return Py(e.params?Ay(n,e.params,e.errors):n,e.errors)}return{duration:t.duration,delay:t.delay,easing:t.easing}}visitAnimate(t,e){const n=e.currentAnimateTimings=this._visitTiming(t.timings,e),a=e.currentTimeline;n.delay&&(e.incrementTime(n.delay),a.snapshotCurrentStyles());const r=t.style;5==r.type?this.visitKeyframes(r,e):(e.incrementTime(n.duration),this.visitStyle(r,e),a.applyStylesToKeyframe()),e.currentAnimateTimings=null,e.previousNode=t}visitStyle(t,e){const n=e.currentTimeline,a=e.currentAnimateTimings;!a&&n.getCurrentStyleProperties().length&&n.forwardFrame();const r=a&&a.easing||t.easing;t.isEmptyStep?n.applyEmptyStep(r):n.setStyles(t.styles,r,e.errors,e.options),e.previousNode=t}visitKeyframes(t,e){const n=e.currentAnimateTimings,a=e.currentTimeline.duration,r=n.duration,o=e.createSubContext().currentTimeline;o.easing=n.easing,t.styles.forEach(t=>{o.forwardTime((t.offset||0)*r),o.setStyles(t.styles,t.easing,e.errors,e.options),o.applyStylesToKeyframe()}),e.currentTimeline.mergeTimelineCollectedStyles(o),e.transformIntoNewTimeline(a+r),e.previousNode=t}visitQuery(t,e){const n=e.currentTimeline.currentTime,a=t.options||{},r=a.delay?vy(a.delay):0;r&&(6===e.previousNode.type||0==n&&e.currentTimeline.getCurrentStyleProperties().length)&&(e.currentTimeline.snapshotCurrentStyles(),e.previousNode=r_);let o=n;const i=e.invokeQuery(t.selector,t.originalSelector,t.limit,t.includeSelf,!!a.optional,e.errors);e.currentQueryTotal=i.length;let s=null;i.forEach((n,a)=>{e.currentQueryIndex=a;const i=e.createSubContext(t.options,n);r&&i.delayNextStep(r),n===e.element&&(s=i.currentTimeline),Fy(this,t.animation,i),i.currentTimeline.applyStylesToKeyframe(),o=Math.max(o,i.currentTimeline.currentTime)}),e.currentQueryIndex=0,e.currentQueryTotal=0,e.transformIntoNewTimeline(o),s&&(e.currentTimeline.mergeTimelineCollectedStyles(s),e.currentTimeline.snapshotCurrentStyles()),e.previousNode=t}visitStagger(t,e){const n=e.parentContext,a=e.currentTimeline,r=t.timings,o=Math.abs(r.duration),i=o*(e.currentQueryTotal-1);let s=o*e.currentQueryIndex;switch(r.duration<0?"reverse":r.easing){case"reverse":s=i-s;break;case"full":s=n.currentStaggerTime}const c=e.currentTimeline;s&&c.delayNextStep(s);const l=c.currentTime;Fy(this,t.animation,e),e.previousNode=t,n.currentStaggerTime=a.currentTime-l+(a.startTime-n.currentTimeline.startTime)}}const r_={};class o_{constructor(t,e,n,a,r,o,i,s){this._driver=t,this.element=e,this.subInstructions=n,this._enterClassName=a,this._leaveClassName=r,this.errors=o,this.timelines=i,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=r_,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=s||new i_(this._driver,e,0),i.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(t,e){if(!t)return;const n=t;let a=this.options;null!=n.duration&&(a.duration=vy(n.duration)),null!=n.delay&&(a.delay=vy(n.delay));const r=n.params;if(r){let t=a.params;t||(t=this.options.params={}),Object.keys(r).forEach(n=>{e&&t.hasOwnProperty(n)||(t[n]=Ay(r[n],t,this.errors))})}}_copyOptions(){const t={};if(this.options){const e=this.options.params;if(e){const n=t.params={};Object.keys(e).forEach(t=>{n[t]=e[t]})}}return t}createSubContext(t=null,e,n){const a=e||this.element,r=new o_(this._driver,a,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(a,n||0));return r.previousNode=this.previousNode,r.currentAnimateTimings=this.currentAnimateTimings,r.options=this._copyOptions(),r.updateOptions(t),r.currentQueryIndex=this.currentQueryIndex,r.currentQueryTotal=this.currentQueryTotal,r.parentContext=this,this.subContextCount++,r}transformIntoNewTimeline(t){return this.previousNode=r_,this.currentTimeline=this.currentTimeline.fork(this.element,t),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(t,e,n){const a={duration:null!=e?e:t.duration,delay:this.currentTimeline.currentTime+(null!=n?n:0)+t.delay,easing:""},r=new s_(this._driver,t.element,t.keyframes,t.preStyleProps,t.postStyleProps,a,t.stretchStartingKeyframe);return this.timelines.push(r),a}incrementTime(t){this.currentTimeline.forwardTime(this.currentTimeline.duration+t)}delayNextStep(t){t>0&&this.currentTimeline.delayNextStep(t)}invokeQuery(t,e,n,a,r,o){let i=[];if(a&&i.push(this.element),t.length>0){t=(t=t.replace(t_,"."+this._enterClassName)).replace(e_,"."+this._leaveClassName);let e=this._driver.query(this.element,t,1!=n);0!==n&&(e=n<0?e.slice(e.length+n,e.length):e.slice(0,n)),i.push(...e)}return r||0!=i.length||o.push(`\`query("${e}")\` returned zero elements. (Use \`query("${e}", { optional: true })\` if you wish to allow this.)`),i}}class i_{constructor(t,e,n,a){this._driver=t,this.element=e,this.startTime=n,this._elementTimelineStylesLookup=a,this.duration=0,this._previousKeyframe={},this._currentKeyframe={},this._keyframes=new Map,this._styleSummary={},this._pendingStyles={},this._backFill={},this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._localTimelineStyles=Object.create(this._backFill,{}),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(e),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(e,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.getCurrentStyleProperties().length>0;default:return!0}}getCurrentStyleProperties(){return Object.keys(this._currentKeyframe)}get currentTime(){return this.startTime+this.duration}delayNextStep(t){const e=1==this._keyframes.size&&Object.keys(this._pendingStyles).length;this.duration||e?(this.forwardTime(this.currentTime+t),e&&this.snapshotCurrentStyles()):this.startTime+=t}fork(t,e){return this.applyStylesToKeyframe(),new i_(this._driver,t,e||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=Object.create(this._backFill,{}),this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=1,this._loadKeyframe()}forwardTime(t){this.applyStylesToKeyframe(),this.duration=t,this._loadKeyframe()}_updateStyle(t,e){this._localTimelineStyles[t]=e,this._globalTimelineStyles[t]=e,this._styleSummary[t]={time:this.currentTime,value:e}}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(t){t&&(this._previousKeyframe.easing=t),Object.keys(this._globalTimelineStyles).forEach(t=>{this._backFill[t]=this._globalTimelineStyles[t]||Gt.a,this._currentKeyframe[t]=Gt.a}),this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(t,e,n,a){e&&(this._previousKeyframe.easing=e);const r=a&&a.params||{},o=function(t,e){const n={};let a;return t.forEach(t=>{"*"===t?(a=a||Object.keys(e),a.forEach(t=>{n[t]=Gt.a})):xy(t,!1,n)}),n}(t,this._globalTimelineStyles);Object.keys(o).forEach(t=>{const e=Ay(o[t],r,n);this._pendingStyles[t]=e,this._localTimelineStyles.hasOwnProperty(t)||(this._backFill[t]=this._globalTimelineStyles.hasOwnProperty(t)?this._globalTimelineStyles[t]:Gt.a),this._updateStyle(t,e)})}applyStylesToKeyframe(){const t=this._pendingStyles,e=Object.keys(t);0!=e.length&&(this._pendingStyles={},e.forEach(e=>{this._currentKeyframe[e]=t[e]}),Object.keys(this._localTimelineStyles).forEach(t=>{this._currentKeyframe.hasOwnProperty(t)||(this._currentKeyframe[t]=this._localTimelineStyles[t])}))}snapshotCurrentStyles(){Object.keys(this._localTimelineStyles).forEach(t=>{const e=this._localTimelineStyles[t];this._pendingStyles[t]=e,this._updateStyle(t,e)})}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const t=[];for(let e in this._currentKeyframe)t.push(e);return t}mergeTimelineCollectedStyles(t){Object.keys(t._styleSummary).forEach(e=>{const n=this._styleSummary[e],a=t._styleSummary[e];(!n||a.time>n.time)&&this._updateStyle(e,a.value)})}buildKeyframes(){this.applyStylesToKeyframe();const t=new Set,e=new Set,n=1===this._keyframes.size&&0===this.duration;let a=[];this._keyframes.forEach((r,o)=>{const i=xy(r,!0);Object.keys(i).forEach(n=>{const a=i[n];a==Gt.l?t.add(n):a==Gt.a&&e.add(n)}),n||(i.offset=o/this.duration),a.push(i)});const r=t.size?Ey(t.values()):[],o=e.size?Ey(e.values()):[];if(n){const t=a[0],e=My(t);t.offset=0,e.offset=1,a=[t,e]}return Xy(this.element,a,r,o,this.duration,this.startTime,this.easing,!1)}}class s_ extends i_{constructor(t,e,n,a,r,o,i=!1){super(t,e,o.delay),this.element=e,this.keyframes=n,this.preStyleProps=a,this.postStyleProps=r,this._stretchStartingKeyframe=i,this.timings={duration:o.duration,delay:o.delay,easing:o.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let t=this.keyframes,{delay:e,duration:n,easing:a}=this.timings;if(this._stretchStartingKeyframe&&e){const r=[],o=n+e,i=e/o,s=xy(t[0],!1);s.offset=0,r.push(s);const c=xy(t[0],!1);c.offset=c_(i),r.push(c);const l=t.length-1;for(let a=1;a<=l;a++){let i=xy(t[a],!1);i.offset=c_((e+i.offset*n)/o),r.push(i)}n=o,e=0,a="",t=r}return Xy(this.element,t,this.preStyleProps,this.postStyleProps,n,e,a,!0)}}function c_(t,e=3){const n=Math.pow(10,e-1);return Math.round(t*n)/n}class l_{}class d_ extends l_{normalizePropertyName(t,e){return Ly(t)}normalizeStyleValue(t,e,n,a){let r="";const o=n.toString().trim();if(u_[e]&&0!==n&&"0"!==n)if("number"==typeof n)r="px";else{const e=n.match(/^[+-]?[\d\.]+([a-z]*)$/);e&&0==e[1].length&&a.push(`Please provide a CSS unit value for ${t}:${n}`)}return o+r}}const u_=(()=>function(t){const e={};return t.forEach(t=>e[t]=!0),e}("width,height,minWidth,minHeight,maxWidth,maxHeight,left,top,bottom,right,fontSize,outlineWidth,outlineOffset,paddingTop,paddingLeft,paddingBottom,paddingRight,marginTop,marginLeft,marginBottom,marginRight,borderRadius,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,textIndent,perspective".split(",")))();function g_(t,e,n,a,r,o,i,s,c,l,d,u,g){return{type:0,element:t,triggerName:e,isRemovalTransition:r,fromState:n,fromStyles:o,toState:a,toStyles:i,timelines:s,queriedElements:c,preStyleProps:l,postStyleProps:d,totalTime:u,errors:g}}const f_={};class p_{constructor(t,e,n){this._triggerName=t,this.ast=e,this._stateStyles=n}match(t,e,n,a){return function(t,e,n,a,r){return t.some(t=>t(e,n,a,r))}(this.ast.matchers,t,e,n,a)}buildStyles(t,e,n){const a=this._stateStyles["*"],r=this._stateStyles[t],o=a?a.buildStyles(e,n):{};return r?r.buildStyles(e,n):o}build(t,e,n,a,r,o,i,s,c,l){const d=[],u=this.ast.options&&this.ast.options.params||f_,g=this.buildStyles(n,i&&i.params||f_,d),f=s&&s.params||f_,p=this.buildStyles(a,f,d),m=new Set,h=new Map,b=new Map,y="void"===a,_={params:Object.assign({},u,f)},O=l?[]:n_(t,e,this.ast.animation,r,o,g,p,_,c,d);let v=0;if(O.forEach(t=>{v=Math.max(t.duration+t.delay,v)}),d.length)return g_(e,this._triggerName,n,a,y,g,p,[],[],h,b,v,d);O.forEach(t=>{const n=t.element,a=iy(h,n,{});t.preStyleProps.forEach(t=>a[t]=!0);const r=iy(b,n,{});t.postStyleProps.forEach(t=>r[t]=!0),n!==e&&m.add(n)});const C=Ey(m.values());return g_(e,this._triggerName,n,a,y,g,p,O,C,h,b,v)}}class m_{constructor(t,e){this.styles=t,this.defaultParams=e}buildStyles(t,e){const n={},a=My(this.defaultParams);return Object.keys(t).forEach(e=>{const n=t[e];null!=n&&(a[e]=n)}),this.styles.styles.forEach(t=>{if("string"!=typeof t){const r=t;Object.keys(r).forEach(t=>{let o=r[t];o.length>1&&(o=Ay(o,a,e)),n[t]=o})}}),n}}class h_{constructor(t,e){this.name=t,this.ast=e,this.transitionFactories=[],this.states={},e.states.forEach(t=>{this.states[t.name]=new m_(t.style,t.options&&t.options.params||{})}),b_(this.states,"true","1"),b_(this.states,"false","0"),e.transitions.forEach(e=>{this.transitionFactories.push(new p_(t,e,this.states))}),this.fallbackTransition=new p_(t,{type:1,animation:{type:2,steps:[],options:null},matchers:[(t,e)=>!0],options:null,queryCount:0,depCount:0},this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(t,e,n,a){return this.transitionFactories.find(r=>r.match(t,e,n,a))||null}matchStyles(t,e,n){return this.fallbackTransition.buildStyles(t,e,n)}}function b_(t,e,n){t.hasOwnProperty(e)?t.hasOwnProperty(n)||(t[n]=t[e]):t.hasOwnProperty(n)&&(t[e]=t[n])}const y_=new Qy;class __{constructor(t,e,n){this.bodyNode=t,this._driver=e,this._normalizer=n,this._animations={},this._playersById={},this.players=[]}register(t,e){const n=[],a=Uy(this._driver,e,n);if(n.length)throw new Error(`Unable to build the animation due to the following errors: ${n.join("\n")}`);this._animations[t]=a}_buildPlayer(t,e,n){const a=t.element,r=ny(0,this._normalizer,0,t.keyframes,e,n);return this._driver.animate(a,r,t.duration,t.delay,t.easing,[],!0)}create(t,e,n={}){const a=[],r=this._animations[t];let o;const i=new Map;if(r?(o=n_(this._driver,e,r,"ng-enter","ng-leave",{},{},n,y_,a),o.forEach(t=>{const e=iy(i,t.element,{});t.postStyleProps.forEach(t=>e[t]=null)})):(a.push("The requested animation doesn't exist or has already been destroyed"),o=[]),a.length)throw new Error(`Unable to create the animation due to the following errors: ${a.join("\n")}`);i.forEach((t,e)=>{Object.keys(t).forEach(n=>{t[n]=this._driver.computeStyle(e,n,Gt.a)})});const s=ey(o.map(t=>{const e=i.get(t.element);return this._buildPlayer(t,{},e)}));return this._playersById[t]=s,s.onDestroy(()=>this.destroy(t)),this.players.push(s),s}destroy(t){const e=this._getPlayer(t);e.destroy(),delete this._playersById[t];const n=this.players.indexOf(e);n>=0&&this.players.splice(n,1)}_getPlayer(t){const e=this._playersById[t];if(!e)throw new Error(`Unable to find the timeline player referenced by ${t}`);return e}listen(t,e,n,a){const r=oy(e,"","","");return ay(this._getPlayer(t),n,r,a),()=>{}}command(t,e,n,a){if("register"==n)return void this.register(t,a[0]);if("create"==n)return void this.create(t,e,a[0]||{});const r=this._getPlayer(t);switch(n){case"play":r.play();break;case"pause":r.pause();break;case"reset":r.reset();break;case"restart":r.restart();break;case"finish":r.finish();break;case"init":r.init();break;case"setPosition":r.setPosition(parseFloat(a[0]));break;case"destroy":this.destroy(t)}}}const O_=[],v_={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},C_={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0};class P_{constructor(t,e=""){this.namespaceId=e;const n=t&&t.hasOwnProperty("value");if(this.value=null!=(a=n?t.value:t)?a:null,n){const e=My(t);delete e.value,this.options=e}else this.options={};var a;this.options.params||(this.options.params={})}get params(){return this.options.params}absorbOptions(t){const e=t.params;if(e){const t=this.options.params;Object.keys(e).forEach(n=>{null==t[n]&&(t[n]=e[n])})}}}const M_=new P_("void");class x_{constructor(t,e,n){this.id=t,this.hostElement=e,this._engine=n,this.players=[],this._triggers={},this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+t,R_(e,this._hostClassName)}listen(t,e,n,a){if(!this._triggers.hasOwnProperty(e))throw new Error(`Unable to listen on the animation trigger event "${n}" because the animation trigger "${e}" doesn't exist!`);if(null==n||0==n.length)throw new Error(`Unable to listen on the animation trigger "${e}" because the provided event is undefined!`);if("start"!=(r=n)&&"done"!=r)throw new Error(`The provided animation trigger event "${n}" for the animation trigger "${e}" is not supported!`);var r;const o=iy(this._elementListeners,t,[]),i={name:e,phase:n,callback:a};o.push(i);const s=iy(this._engine.statesByElement,t,{});return s.hasOwnProperty(e)||(R_(t,"ng-trigger"),R_(t,"ng-trigger-"+e),s[e]=M_),()=>{this._engine.afterFlush(()=>{const t=o.indexOf(i);t>=0&&o.splice(t,1),this._triggers[e]||delete s[e]})}}register(t,e){return!this._triggers[t]&&(this._triggers[t]=e,!0)}_getTrigger(t){const e=this._triggers[t];if(!e)throw new Error(`The provided animation trigger "${t}" has not been registered!`);return e}trigger(t,e,n,a=!0){const r=this._getTrigger(e),o=new T_(this.id,e,t);let i=this._engine.statesByElement.get(t);i||(R_(t,"ng-trigger"),R_(t,"ng-trigger-"+e),this._engine.statesByElement.set(t,i={}));let s=i[e];const c=new P_(n,this.id);if(!(n&&n.hasOwnProperty("value"))&&s&&c.absorbOptions(s.options),i[e]=c,s||(s=M_),"void"!==c.value&&s.value===c.value){if(!function(t,e){const n=Object.keys(t),a=Object.keys(e);if(n.length!=a.length)return!1;for(let r=0;r<n.length;r++){const a=n[r];if(!e.hasOwnProperty(a)||t[a]!==e[a])return!1}return!0}(s.params,c.params)){const e=[],n=r.matchStyles(s.value,s.params,e),a=r.matchStyles(c.value,c.params,e);e.length?this._engine.reportError(e):this._engine.afterFlush(()=>{ky(t,n),Sy(t,a)})}return}const l=iy(this._engine.playersByElement,t,[]);l.forEach(t=>{t.namespaceId==this.id&&t.triggerName==e&&t.queued&&t.destroy()});let d=r.matchTransition(s.value,c.value,t,c.params),u=!1;if(!d){if(!a)return;d=r.fallbackTransition,u=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:e,transition:d,fromState:s,toState:c,player:o,isFallbackTransition:u}),u||(R_(t,"ng-animate-queued"),o.onStart(()=>{A_(t,"ng-animate-queued")})),o.onDone(()=>{let e=this.players.indexOf(o);e>=0&&this.players.splice(e,1);const n=this._engine.playersByElement.get(t);if(n){let t=n.indexOf(o);t>=0&&n.splice(t,1)}}),this.players.push(o),l.push(o),o}deregister(t){delete this._triggers[t],this._engine.statesByElement.forEach((e,n)=>{delete e[t]}),this._elementListeners.forEach((e,n)=>{this._elementListeners.set(n,e.filter(e=>e.name!=t))})}clearElementCache(t){this._engine.statesByElement.delete(t),this._elementListeners.delete(t);const e=this._engine.playersByElement.get(t);e&&(e.forEach(t=>t.destroy()),this._engine.playersByElement.delete(t))}_signalRemovalForInnerTriggers(t,e,n=!1){this._engine.driver.query(t,".ng-trigger",!0).forEach(t=>{if(t.__ng_removed)return;const n=this._engine.fetchNamespacesByElement(t);n.size?n.forEach(n=>n.triggerLeaveAnimation(t,e,!1,!0)):this.clearElementCache(t)})}triggerLeaveAnimation(t,e,n,a){const r=this._engine.statesByElement.get(t);if(r){const o=[];if(Object.keys(r).forEach(e=>{if(this._triggers[e]){const n=this.trigger(t,e,"void",a);n&&o.push(n)}}),o.length)return this._engine.markElementAsRemoved(this.id,t,!0,e),n&&ey(o).onDone(()=>this._engine.processLeaveNode(t)),!0}return!1}prepareLeaveAnimationListeners(t){const e=this._elementListeners.get(t);if(e){const n=new Set;e.forEach(e=>{const a=e.name;if(n.has(a))return;n.add(a);const r=this._triggers[a].fallbackTransition,o=this._engine.statesByElement.get(t)[a]||M_,i=new P_("void"),s=new T_(this.id,a,t);this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:a,transition:r,fromState:o,toState:i,player:s,isFallbackTransition:!0})})}}removeNode(t,e){const n=this._engine;if(t.childElementCount&&this._signalRemovalForInnerTriggers(t,e,!0),this.triggerLeaveAnimation(t,e,!0))return;let a=!1;if(n.totalAnimations){const e=n.players.length?n.playersByQueriedElement.get(t):[];if(e&&e.length)a=!0;else{let e=t;for(;e=e.parentNode;)if(n.statesByElement.get(e)){a=!0;break}}}this.prepareLeaveAnimationListeners(t),a?n.markElementAsRemoved(this.id,t,!1,e):(n.afterFlush(()=>this.clearElementCache(t)),n.destroyInnerAnimations(t),n._onRemovalComplete(t,e))}insertNode(t,e){R_(t,this._hostClassName)}drainQueuedTransitions(t){const e=[];return this._queue.forEach(n=>{const a=n.player;if(a.destroyed)return;const r=n.element,o=this._elementListeners.get(r);o&&o.forEach(e=>{if(e.name==n.triggerName){const a=oy(r,n.triggerName,n.fromState.value,n.toState.value);a._data=t,ay(n.player,e.phase,a,e.callback)}}),a.markedForDestroy?this._engine.afterFlush(()=>{a.destroy()}):e.push(n)}),this._queue=[],e.sort((t,e)=>{const n=t.transition.ast.depCount,a=e.transition.ast.depCount;return 0==n||0==a?n-a:this._engine.driver.containsElement(t.element,e.element)?1:-1})}destroy(t){this.players.forEach(t=>t.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,t)}elementContainsData(t){let e=!1;return this._elementListeners.has(t)&&(e=!0),e=!!this._queue.find(e=>e.element===t)||e,e}}class w_{constructor(t,e,n){this.bodyNode=t,this.driver=e,this._normalizer=n,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=(t,e)=>{}}_onRemovalComplete(t,e){this.onRemovalComplete(t,e)}get queuedPlayers(){const t=[];return this._namespaceList.forEach(e=>{e.players.forEach(e=>{e.queued&&t.push(e)})}),t}createNamespace(t,e){const n=new x_(t,e,this);return e.parentNode?this._balanceNamespaceList(n,e):(this.newHostElements.set(e,n),this.collectEnterElement(e)),this._namespaceLookup[t]=n}_balanceNamespaceList(t,e){const n=this._namespaceList.length-1;if(n>=0){let a=!1;for(let r=n;r>=0;r--)if(this.driver.containsElement(this._namespaceList[r].hostElement,e)){this._namespaceList.splice(r+1,0,t),a=!0;break}a||this._namespaceList.splice(0,0,t)}else this._namespaceList.push(t);return this.namespacesByHostElement.set(e,t),t}register(t,e){let n=this._namespaceLookup[t];return n||(n=this.createNamespace(t,e)),n}registerTrigger(t,e,n){let a=this._namespaceLookup[t];a&&a.register(e,n)&&this.totalAnimations++}destroy(t,e){if(!t)return;const n=this._fetchNamespace(t);this.afterFlush(()=>{this.namespacesByHostElement.delete(n.hostElement),delete this._namespaceLookup[t];const e=this._namespaceList.indexOf(n);e>=0&&this._namespaceList.splice(e,1)}),this.afterFlushAnimationsDone(()=>n.destroy(e))}_fetchNamespace(t){return this._namespaceLookup[t]}fetchNamespacesByElement(t){const e=new Set,n=this.statesByElement.get(t);if(n){const t=Object.keys(n);for(let a=0;a<t.length;a++){const r=n[t[a]].namespaceId;if(r){const t=this._fetchNamespace(r);t&&e.add(t)}}}return e}trigger(t,e,n,a){if(S_(e)){const r=this._fetchNamespace(t);if(r)return r.trigger(e,n,a),!0}return!1}insertNode(t,e,n,a){if(!S_(e))return;const r=e.__ng_removed;if(r&&r.setForRemoval){r.setForRemoval=!1,r.setForMove=!0;const t=this.collectedLeaveElements.indexOf(e);t>=0&&this.collectedLeaveElements.splice(t,1)}if(t){const a=this._fetchNamespace(t);a&&a.insertNode(e,n)}a&&this.collectEnterElement(e)}collectEnterElement(t){this.collectedEnterElements.push(t)}markElementAsDisabled(t,e){e?this.disabledNodes.has(t)||(this.disabledNodes.add(t),R_(t,"ng-animate-disabled")):this.disabledNodes.has(t)&&(this.disabledNodes.delete(t),A_(t,"ng-animate-disabled"))}removeNode(t,e,n,a){if(S_(e)){const r=t?this._fetchNamespace(t):null;if(r?r.removeNode(e,a):this.markElementAsRemoved(t,e,!1,a),n){const n=this.namespacesByHostElement.get(e);n&&n.id!==t&&n.removeNode(e,a)}}else this._onRemovalComplete(e,a)}markElementAsRemoved(t,e,n,a){this.collectedLeaveElements.push(e),e.__ng_removed={namespaceId:t,setForRemoval:a,hasAnimation:n,removedBeforeQueried:!1}}listen(t,e,n,a,r){return S_(e)?this._fetchNamespace(t).listen(e,n,a,r):()=>{}}_buildInstruction(t,e,n,a,r){return t.transition.build(this.driver,t.element,t.fromState.value,t.toState.value,n,a,t.fromState.options,t.toState.options,e,r)}destroyInnerAnimations(t){let e=this.driver.query(t,".ng-trigger",!0);e.forEach(t=>this.destroyActiveAnimationsForElement(t)),0!=this.playersByQueriedElement.size&&(e=this.driver.query(t,".ng-animating",!0),e.forEach(t=>this.finishActiveQueriedAnimationOnElement(t)))}destroyActiveAnimationsForElement(t){const e=this.playersByElement.get(t);e&&e.forEach(t=>{t.queued?t.markedForDestroy=!0:t.destroy()})}finishActiveQueriedAnimationOnElement(t){const e=this.playersByQueriedElement.get(t);e&&e.forEach(t=>t.finish())}whenRenderingDone(){return new Promise(t=>{if(this.players.length)return ey(this.players).onDone(()=>t());t()})}processLeaveNode(t){const e=t.__ng_removed;if(e&&e.setForRemoval){if(t.__ng_removed=v_,e.namespaceId){this.destroyInnerAnimations(t);const n=this._fetchNamespace(e.namespaceId);n&&n.clearElementCache(t)}this._onRemovalComplete(t,e.setForRemoval)}this.driver.matchesElement(t,".ng-animate-disabled")&&this.markElementAsDisabled(t,!1),this.driver.query(t,".ng-animate-disabled",!0).forEach(t=>{this.markElementAsDisabled(t,!1)})}flush(t=-1){let e=[];if(this.newHostElements.size&&(this.newHostElements.forEach((t,e)=>this._balanceNamespaceList(t,e)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let n=0;n<this.collectedEnterElements.length;n++)R_(this.collectedEnterElements[n],"ng-star-inserted");if(this._namespaceList.length&&(this.totalQueuedPlayers||this.collectedLeaveElements.length)){const n=[];try{e=this._flushAnimations(n,t)}finally{for(let t=0;t<n.length;t++)n[t]()}}else for(let n=0;n<this.collectedLeaveElements.length;n++)this.processLeaveNode(this.collectedLeaveElements[n]);if(this.totalQueuedPlayers=0,this.collectedEnterElements.length=0,this.collectedLeaveElements.length=0,this._flushFns.forEach(t=>t()),this._flushFns=[],this._whenQuietFns.length){const t=this._whenQuietFns;this._whenQuietFns=[],e.length?ey(e).onDone(()=>{t.forEach(t=>t())}):t.forEach(t=>t())}}reportError(t){throw new Error(`Unable to process animations due to the following failed trigger transitions\n ${t.join("\n")}`)}_flushAnimations(t,e){const n=new Qy,a=[],r=new Map,o=[],i=new Map,s=new Map,c=new Map,l=new Set;this.disabledNodes.forEach(t=>{l.add(t);const e=this.driver.query(t,".ng-animate-queued",!0);for(let n=0;n<e.length;n++)l.add(e[n])});const d=this.bodyNode,u=Array.from(this.statesByElement.keys()),g=N_(u,this.collectedEnterElements),f=new Map;let p=0;g.forEach((t,e)=>{const n="ng-enter"+p++;f.set(e,n),t.forEach(t=>R_(t,n))});const m=[],h=new Set,b=new Set;for(let I=0;I<this.collectedLeaveElements.length;I++){const t=this.collectedLeaveElements[I],e=t.__ng_removed;e&&e.setForRemoval&&(m.push(t),h.add(t),e.hasAnimation?this.driver.query(t,".ng-star-inserted",!0).forEach(t=>h.add(t)):b.add(t))}const y=new Map,_=N_(u,Array.from(h));_.forEach((t,e)=>{const n="ng-leave"+p++;y.set(e,n),t.forEach(t=>R_(t,n))}),t.push(()=>{g.forEach((t,e)=>{const n=f.get(e);t.forEach(t=>A_(t,n))}),_.forEach((t,e)=>{const n=y.get(e);t.forEach(t=>A_(t,n))}),m.forEach(t=>{this.processLeaveNode(t)})});const O=[],v=[];for(let I=this._namespaceList.length-1;I>=0;I--)this._namespaceList[I].drainQueuedTransitions(e).forEach(t=>{const e=t.player,r=t.element;if(O.push(e),this.collectedEnterElements.length){const t=r.__ng_removed;if(t&&t.setForMove)return void e.destroy()}const l=!d||!this.driver.containsElement(d,r),u=y.get(r),g=f.get(r),p=this._buildInstruction(t,n,g,u,l);if(!p.errors||!p.errors.length)return l?(e.onStart(()=>ky(r,p.fromStyles)),e.onDestroy(()=>Sy(r,p.toStyles)),void a.push(e)):t.isFallbackTransition?(e.onStart(()=>ky(r,p.fromStyles)),e.onDestroy(()=>Sy(r,p.toStyles)),void a.push(e)):(p.timelines.forEach(t=>t.stretchStartingKeyframe=!0),n.append(r,p.timelines),o.push({instruction:p,player:e,element:r}),p.queriedElements.forEach(t=>iy(i,t,[]).push(e)),p.preStyleProps.forEach((t,e)=>{const n=Object.keys(t);if(n.length){let t=s.get(e);t||s.set(e,t=new Set),n.forEach(e=>t.add(e))}}),void p.postStyleProps.forEach((t,e)=>{const n=Object.keys(t);let a=c.get(e);a||c.set(e,a=new Set),n.forEach(t=>a.add(t))}));v.push(p)});if(v.length){const t=[];v.forEach(e=>{t.push(`@${e.triggerName} has failed due to:\n`),e.errors.forEach(e=>t.push(`- ${e}\n`))}),O.forEach(t=>t.destroy()),this.reportError(t)}const C=new Map,P=new Map;o.forEach(t=>{const e=t.element;n.has(e)&&(P.set(e,e),this._beforeAnimationBuild(t.player.namespaceId,t.instruction,C))}),a.forEach(t=>{const e=t.element;this._getPreviousPlayers(e,!1,t.namespaceId,t.triggerName,null).forEach(t=>{iy(C,e,[]).push(t),t.destroy()})});const M=m.filter(t=>D_(t,s,c)),x=new Map;I_(x,this.driver,b,c,Gt.a).forEach(t=>{D_(t,s,c)&&M.push(t)});const w=new Map;g.forEach((t,e)=>{I_(w,this.driver,new Set(t),s,Gt.l)}),M.forEach(t=>{const e=x.get(t),n=w.get(t);x.set(t,Object.assign({},e,n))});const T=[],S=[],k={};o.forEach(t=>{const{element:e,player:o,instruction:i}=t;if(n.has(e)){if(l.has(e))return o.onDestroy(()=>Sy(e,i.toStyles)),o.disabled=!0,o.overrideTotalTime(i.totalTime),void a.push(o);let t=k;if(P.size>1){let n=e;const a=[];for(;n=n.parentNode;){const e=P.get(n);if(e){t=e;break}a.push(n)}a.forEach(e=>P.set(e,t))}const n=this._buildAnimation(o.namespaceId,i,C,r,w,x);if(o.setRealPlayer(n),t===k)T.push(o);else{const e=this.playersByElement.get(t);e&&e.length&&(o.parentPlayer=ey(e)),a.push(o)}}else ky(e,i.fromStyles),o.onDestroy(()=>Sy(e,i.toStyles)),S.push(o),l.has(e)&&a.push(o)}),S.forEach(t=>{const e=r.get(t.element);if(e&&e.length){const n=ey(e);t.setRealPlayer(n)}}),a.forEach(t=>{t.parentPlayer?t.syncPlayerEvents(t.parentPlayer):t.destroy()});for(let I=0;I<m.length;I++){const t=m[I],e=t.__ng_removed;if(A_(t,"ng-leave"),e&&e.hasAnimation)continue;let n=[];if(i.size){let e=i.get(t);e&&e.length&&n.push(...e);let a=this.driver.query(t,".ng-animating",!0);for(let t=0;t<a.length;t++){let e=i.get(a[t]);e&&e.length&&n.push(...e)}}const a=n.filter(t=>!t.destroyed);a.length?E_(this,t,a):this.processLeaveNode(t)}return m.length=0,T.forEach(t=>{this.players.push(t),t.onDone(()=>{t.destroy();const e=this.players.indexOf(t);this.players.splice(e,1)}),t.play()}),T}elementContainsData(t,e){let n=!1;const a=e.__ng_removed;return a&&a.setForRemoval&&(n=!0),this.playersByElement.has(e)&&(n=!0),this.playersByQueriedElement.has(e)&&(n=!0),this.statesByElement.has(e)&&(n=!0),this._fetchNamespace(t).elementContainsData(e)||n}afterFlush(t){this._flushFns.push(t)}afterFlushAnimationsDone(t){this._whenQuietFns.push(t)}_getPreviousPlayers(t,e,n,a,r){let o=[];if(e){const e=this.playersByQueriedElement.get(t);e&&(o=e)}else{const e=this.playersByElement.get(t);if(e){const t=!r||"void"==r;e.forEach(e=>{e.queued||(t||e.triggerName==a)&&o.push(e)})}}return(n||a)&&(o=o.filter(t=>!(n&&n!=t.namespaceId||a&&a!=t.triggerName))),o}_beforeAnimationBuild(t,e,n){const a=e.element,r=e.isRemovalTransition?void 0:t,o=e.isRemovalTransition?void 0:e.triggerName;for(const i of e.timelines){const t=i.element,s=t!==a,c=iy(n,t,[]);this._getPreviousPlayers(t,s,r,o,e.toState).forEach(t=>{const e=t.getRealPlayer();e.beforeDestroy&&e.beforeDestroy(),t.destroy(),c.push(t)})}ky(a,e.fromStyles)}_buildAnimation(t,e,n,a,r,o){const i=e.triggerName,s=e.element,c=[],l=new Set,d=new Set,u=e.timelines.map(e=>{const u=e.element;l.add(u);const g=u.__ng_removed;if(g&&g.removedBeforeQueried)return new Gt.d(e.duration,e.delay);const f=u!==s,p=function(t){const e=[];return function t(e,n){for(let a=0;a<e.length;a++){const r=e[a];r instanceof Gt.k?t(r.players,n):n.push(r)}}(t,e),e}((n.get(u)||O_).map(t=>t.getRealPlayer())).filter(t=>!!t.element&&t.element===u),m=r.get(u),h=o.get(u),b=ny(0,this._normalizer,0,e.keyframes,m,h),y=this._buildPlayer(e,b,p);if(e.subTimeline&&a&&d.add(u),f){const e=new T_(t,i,u);e.setRealPlayer(y),c.push(e)}return y});c.forEach(t=>{iy(this.playersByQueriedElement,t.element,[]).push(t),t.onDone(()=>function(t,e,n){let a;if(t instanceof Map){if(a=t.get(e),a){if(a.length){const t=a.indexOf(n);a.splice(t,1)}0==a.length&&t.delete(e)}}else if(a=t[e],a){if(a.length){const t=a.indexOf(n);a.splice(t,1)}0==a.length&&delete t[e]}return a}(this.playersByQueriedElement,t.element,t))}),l.forEach(t=>R_(t,"ng-animating"));const g=ey(u);return g.onDestroy(()=>{l.forEach(t=>A_(t,"ng-animating")),Sy(s,e.toStyles)}),d.forEach(t=>{iy(a,t,[]).push(g)}),g}_buildPlayer(t,e,n){return e.length>0?this.driver.animate(t.element,e,t.duration,t.delay,t.easing,n):new Gt.d(t.duration,t.delay)}}class T_{constructor(t,e,n){this.namespaceId=t,this.triggerName=e,this.element=n,this._player=new Gt.d,this._containsRealPlayer=!1,this._queuedCallbacks={},this.destroyed=!1,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(t){this._containsRealPlayer||(this._player=t,Object.keys(this._queuedCallbacks).forEach(e=>{this._queuedCallbacks[e].forEach(n=>ay(t,e,void 0,n))}),this._queuedCallbacks={},this._containsRealPlayer=!0,this.overrideTotalTime(t.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(t){this.totalTime=t}syncPlayerEvents(t){const e=this._player;e.triggerCallback&&t.onStart(()=>e.triggerCallback("start")),t.onDone(()=>this.finish()),t.onDestroy(()=>this.destroy())}_queueEvent(t,e){iy(this._queuedCallbacks,t,[]).push(e)}onDone(t){this.queued&&this._queueEvent("done",t),this._player.onDone(t)}onStart(t){this.queued&&this._queueEvent("start",t),this._player.onStart(t)}onDestroy(t){this.queued&&this._queueEvent("destroy",t),this._player.onDestroy(t)}init(){this._player.init()}hasStarted(){return!this.queued&&this._player.hasStarted()}play(){!this.queued&&this._player.play()}pause(){!this.queued&&this._player.pause()}restart(){!this.queued&&this._player.restart()}finish(){this._player.finish()}destroy(){this.destroyed=!0,this._player.destroy()}reset(){!this.queued&&this._player.reset()}setPosition(t){this.queued||this._player.setPosition(t)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(t){const e=this._player;e.triggerCallback&&e.triggerCallback(t)}}function S_(t){return t&&1===t.nodeType}function k_(t,e){const n=t.style.display;return t.style.display=null!=e?e:"none",n}function I_(t,e,n,a,r){const o=[];n.forEach(t=>o.push(k_(t)));const i=[];a.forEach((n,a)=>{const o={};n.forEach(t=>{const n=o[t]=e.computeStyle(a,t,r);n&&0!=n.length||(a.__ng_removed=C_,i.push(a))}),t.set(a,o)});let s=0;return n.forEach(t=>k_(t,o[s++])),i}function N_(t,e){const n=new Map;if(t.forEach(t=>n.set(t,[])),0==e.length)return n;const a=new Set(e),r=new Map;return e.forEach(t=>{const e=function t(e){if(!e)return 1;let o=r.get(e);if(o)return o;const i=e.parentNode;return o=n.has(i)?i:a.has(i)?1:t(i),r.set(e,o),o}(t);1!==e&&n.get(e).push(t)}),n}function R_(t,e){if(t.classList)t.classList.add(e);else{let n=t.$$classes;n||(n=t.$$classes={}),n[e]=!0}}function A_(t,e){if(t.classList)t.classList.remove(e);else{let n=t.$$classes;n&&delete n[e]}}function E_(t,e,n){ey(n).onDone(()=>t.processLeaveNode(e))}function D_(t,e,n){const a=n.get(t);if(!a)return!1;let r=e.get(t);return r?a.forEach(t=>r.add(t)):e.set(t,a),n.delete(t),!0}class L_{constructor(t,e,n){this.bodyNode=t,this._driver=e,this._triggerCache={},this.onRemovalComplete=(t,e)=>{},this._transitionEngine=new w_(t,e,n),this._timelineEngine=new __(t,e,n),this._transitionEngine.onRemovalComplete=(t,e)=>this.onRemovalComplete(t,e)}registerTrigger(t,e,n,a,r){const o=t+"-"+a;let i=this._triggerCache[o];if(!i){const t=[],e=Uy(this._driver,r,t);if(t.length)throw new Error(`The animation trigger "${a}" has failed to build due to the following errors:\n - ${t.join("\n - ")}`);i=function(t,e){return new h_(t,e)}(a,e),this._triggerCache[o]=i}this._transitionEngine.registerTrigger(e,a,i)}register(t,e){this._transitionEngine.register(t,e)}destroy(t,e){this._transitionEngine.destroy(t,e)}onInsert(t,e,n,a){this._transitionEngine.insertNode(t,e,n,a)}onRemove(t,e,n,a){this._transitionEngine.removeNode(t,e,a||!1,n)}disableAnimations(t,e){this._transitionEngine.markElementAsDisabled(t,e)}process(t,e,n,a){if("@"==n.charAt(0)){const[t,r]=sy(n);this._timelineEngine.command(t,e,r,a)}else this._transitionEngine.trigger(t,e,n,a)}listen(t,e,n,a,r){if("@"==n.charAt(0)){const[t,a]=sy(n);return this._timelineEngine.listen(t,e,a,r)}return this._transitionEngine.listen(t,e,n,a,r)}flush(t=-1){this._transitionEngine.flush(t)}get players(){return this._transitionEngine.players.concat(this._timelineEngine.players)}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}}function q_(t,e){let n=null,a=null;return Array.isArray(e)&&e.length?(n=F_(e[0]),e.length>1&&(a=F_(e[e.length-1]))):e&&(n=F_(e)),n||a?new j_(t,n,a):null}let j_=(()=>{class t{constructor(e,n,a){this._element=e,this._startStyles=n,this._endStyles=a,this._state=0;let r=t.initialStylesByElement.get(e);r||t.initialStylesByElement.set(e,r={}),this._initialStyles=r}start(){this._state<1&&(this._startStyles&&Sy(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(Sy(this._element,this._initialStyles),this._endStyles&&(Sy(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(t.initialStylesByElement.delete(this._element),this._startStyles&&(ky(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(ky(this._element,this._endStyles),this._endStyles=null),Sy(this._element,this._initialStyles),this._state=3)}}return t.initialStylesByElement=new WeakMap,t})();function F_(t){let e=null;const n=Object.keys(t);for(let a=0;a<n.length;a++){const r=n[a];z_(r)&&(e=e||{},e[r]=t[r])}return e}function z_(t){return"display"===t||"position"===t}class G_{constructor(t,e,n,a,r,o,i){this._element=t,this._name=e,this._duration=n,this._delay=a,this._easing=r,this._fillMode=o,this._onDoneFn=i,this._finished=!1,this._destroyed=!1,this._startTime=0,this._position=0,this._eventFn=t=>this._handleCallback(t)}apply(){!function(t,e){const n=W_(t,"").trim();n.length&&(function(t,e){let n=0;for(let a=0;a<t.length;a++)","===t.charAt(a)&&n++}(n),e=`${n}, ${e}`),U_(t,"",e)}(this._element,`${this._duration}ms ${this._easing} ${this._delay}ms 1 normal ${this._fillMode} ${this._name}`),H_(this._element,this._eventFn,!1),this._startTime=Date.now()}pause(){B_(this._element,this._name,"paused")}resume(){B_(this._element,this._name,"running")}setPosition(t){const e=V_(this._element,this._name);this._position=t*this._duration,U_(this._element,"Delay",`-${this._position}ms`,e)}getPosition(){return this._position}_handleCallback(t){const e=t._ngTestManualTimestamp||Date.now(),n=1e3*parseFloat(t.elapsedTime.toFixed(3));t.animationName==this._name&&Math.max(e-this._startTime,0)>=this._delay&&n>=this._duration&&this.finish()}finish(){this._finished||(this._finished=!0,this._onDoneFn(),H_(this._element,this._eventFn,!0))}destroy(){this._destroyed||(this._destroyed=!0,this.finish(),function(t,e){const n=W_(t,"").split(","),a=Y_(n,e);a>=0&&(n.splice(a,1),U_(t,"",n.join(",")))}(this._element,this._name))}}function B_(t,e,n){U_(t,"PlayState",n,V_(t,e))}function V_(t,e){const n=W_(t,"");return n.indexOf(",")>0?Y_(n.split(","),e):Y_([n],e)}function Y_(t,e){for(let n=0;n<t.length;n++)if(t[n].indexOf(e)>=0)return n;return-1}function H_(t,e,n){n?t.removeEventListener("animationend",e):t.addEventListener("animationend",e)}function U_(t,e,n,a){const r="animation"+e;if(null!=a){const e=t.style[r];if(e.length){const t=e.split(",");t[a]=n,n=t.join(",")}}t.style[r]=n}function W_(t,e){return t.style["animation"+e]}class K_{constructor(t,e,n,a,r,o,i,s){this.element=t,this.keyframes=e,this.animationName=n,this._duration=a,this._delay=r,this._finalStyles=i,this._specialStyles=s,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this.currentSnapshot={},this._state=0,this.easing=o||"linear",this.totalTime=a+r,this._buildStyler()}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}destroy(){this.init(),this._state>=4||(this._state=4,this._styler.destroy(),this._flushStartFns(),this._flushDoneFns(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}_flushDoneFns(){this._onDoneFns.forEach(t=>t()),this._onDoneFns=[]}_flushStartFns(){this._onStartFns.forEach(t=>t()),this._onStartFns=[]}finish(){this.init(),this._state>=3||(this._state=3,this._styler.finish(),this._flushStartFns(),this._specialStyles&&this._specialStyles.finish(),this._flushDoneFns())}setPosition(t){this._styler.setPosition(t)}getPosition(){return this._styler.getPosition()}hasStarted(){return this._state>=2}init(){this._state>=1||(this._state=1,this._styler.apply(),this._delay&&this._styler.pause())}play(){this.init(),this.hasStarted()||(this._flushStartFns(),this._state=2,this._specialStyles&&this._specialStyles.start()),this._styler.resume()}pause(){this.init(),this._styler.pause()}restart(){this.reset(),this.play()}reset(){this._styler.destroy(),this._buildStyler(),this._styler.apply()}_buildStyler(){this._styler=new G_(this.element,this.animationName,this._duration,this._delay,this.easing,"forwards",()=>this.finish())}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}beforeDestroy(){this.init();const t={};if(this.hasStarted()){const e=this._state>=3;Object.keys(this._finalStyles).forEach(n=>{"offset"!=n&&(t[n]=e?this._finalStyles[n]:zy(this.element,n))})}this.currentSnapshot=t}}class $_ extends Gt.d{constructor(t,e){super(),this.element=t,this._startingStyles={},this.__initialized=!1,this._styles=yy(e)}init(){!this.__initialized&&this._startingStyles&&(this.__initialized=!0,Object.keys(this._styles).forEach(t=>{this._startingStyles[t]=this.element.style[t]}),super.init())}play(){this._startingStyles&&(this.init(),Object.keys(this._styles).forEach(t=>this.element.style.setProperty(t,this._styles[t])),super.play())}destroy(){this._startingStyles&&(Object.keys(this._startingStyles).forEach(t=>{const e=this._startingStyles[t];e?this.element.style.setProperty(t,e):this.element.style.removeProperty(t)}),this._startingStyles=null,super.destroy())}}class Z_{constructor(){this._count=0,this._head=document.querySelector("head"),this._warningIssued=!1}validateStyleProperty(t){return py(t)}matchesElement(t,e){return my(t,e)}containsElement(t,e){return hy(t,e)}query(t,e,n){return by(t,e,n)}computeStyle(t,e,n){return window.getComputedStyle(t)[e]}buildKeyframeElement(t,e,n){n=n.map(t=>yy(t));let a=`@keyframes ${e} {\n`,r="";n.forEach(t=>{r=" ";const e=parseFloat(t.offset);a+=`${r}${100*e}% {\n`,r+=" ",Object.keys(t).forEach(e=>{const n=t[e];switch(e){case"offset":return;case"easing":return void(n&&(a+=`${r}animation-timing-function: ${n};\n`));default:return void(a+=`${r}${e}: ${n};\n`)}}),a+=`${r}}\n`}),a+="}\n";const o=document.createElement("style");return o.innerHTML=a,o}animate(t,e,n,a,r,o=[],i){i&&this._notifyFaultyScrubber();const s=o.filter(t=>t instanceof K_),c={};qy(n,a)&&s.forEach(t=>{let e=t.currentSnapshot;Object.keys(e).forEach(t=>c[t]=e[t])});const l=function(t){let e={};return t&&(Array.isArray(t)?t:[t]).forEach(t=>{Object.keys(t).forEach(n=>{"offset"!=n&&"easing"!=n&&(e[n]=t[n])})}),e}(e=jy(t,e,c));if(0==n)return new $_(t,l);const d=`gen_css_kf_${this._count++}`,u=this.buildKeyframeElement(t,d,e);document.querySelector("head").appendChild(u);const g=q_(t,e),f=new K_(t,e,d,n,a,r,l,g);return f.onDestroy(()=>{var t;(t=u).parentNode.removeChild(t)}),f}_notifyFaultyScrubber(){this._warningIssued||(console.warn("@angular/animations: please load the web-animations.js polyfill to allow programmatic access...\n","  visit http://bit.ly/IWukam to learn more about using the web-animation-js polyfill."),this._warningIssued=!0)}}class J_{constructor(t,e,n,a){this.element=t,this.keyframes=e,this.options=n,this._specialStyles=a,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this.time=0,this.parentPlayer=null,this.currentSnapshot={},this._duration=n.duration,this._delay=n.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;const t=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,t,this.options),this._finalKeyframe=t.length?t[t.length-1]:{},this.domPlayer.addEventListener("finish",()=>this._onFinish())}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_triggerWebAnimation(t,e,n){return t.animate(e,n)}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(t=>t()),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()}pause(){this.init(),this.domPlayer.pause()}finish(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()}reset(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1}_resetDomPlayerState(){this.domPlayer&&this.domPlayer.cancel()}restart(){this.reset(),this.play()}hasStarted(){return this._started}destroy(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}setPosition(t){this.domPlayer.currentTime=t*this.time}getPosition(){return this.domPlayer.currentTime/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){const t={};this.hasStarted()&&Object.keys(this._finalKeyframe).forEach(e=>{"offset"!=e&&(t[e]=this._finished?this._finalKeyframe[e]:zy(this.element,e))}),this.currentSnapshot=t}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}class X_{constructor(){this._isNativeImpl=/\{\s*\[native\s+code\]\s*\}/.test(Q_().toString()),this._cssKeyframesDriver=new Z_}validateStyleProperty(t){return py(t)}matchesElement(t,e){return my(t,e)}containsElement(t,e){return hy(t,e)}query(t,e,n){return by(t,e,n)}computeStyle(t,e,n){return window.getComputedStyle(t)[e]}overrideWebAnimationsSupport(t){this._isNativeImpl=t}animate(t,e,n,a,r,o=[],i){if(!i&&!this._isNativeImpl)return this._cssKeyframesDriver.animate(t,e,n,a,r,o);const s={duration:n,delay:a,fill:0==a?"both":"forwards"};r&&(s.easing=r);const c={},l=o.filter(t=>t instanceof J_);qy(n,a)&&l.forEach(t=>{let e=t.currentSnapshot;Object.keys(e).forEach(t=>c[t]=e[t])});const d=q_(t,e=jy(t,e=e.map(t=>xy(t,!1)),c));return new J_(t,e,s,d)}}function Q_(){return"undefined"!=typeof window&&void 0!==window.document&&Element.prototype.animate||{}}class tO extends Gt.b{constructor(t,e){super(),this._nextAnimationId=0,this._renderer=t.createRenderer(e.body,{id:"0",encapsulation:i.ViewEncapsulation.None,styles:[],data:{animation:[]}})}build(t){const e=this._nextAnimationId.toString();this._nextAnimationId++;const n=Array.isArray(t)?Object(Gt.f)(t):t;return aO(this._renderer,null,e,"register",[n]),new eO(e,this._renderer)}}class eO extends Gt.c{constructor(t,e){super(),this._id=t,this._renderer=e}create(t,e){return new nO(this._id,t,e||{},this._renderer)}}class nO{constructor(t,e,n,a){this.id=t,this.element=e,this._renderer=a,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",n)}_listen(t,e){return this._renderer.listen(this.element,`@@${this.id}:${t}`,e)}_command(t,...e){return aO(this._renderer,this.element,this.id,t,e)}onDone(t){this._listen("done",t)}onStart(t){this._listen("start",t)}onDestroy(t){this._listen("destroy",t)}init(){this._command("init")}hasStarted(){return this._started}play(){this._command("play"),this._started=!0}pause(){this._command("pause")}restart(){this._command("restart")}finish(){this._command("finish")}destroy(){this._command("destroy")}reset(){this._command("reset")}setPosition(t){this._command("setPosition",t)}getPosition(){return 0}}function aO(t,e,n,a,r){return t.setProperty(e,`@@${n}:${a}`,r)}class rO{constructor(t,e,n){this.delegate=t,this.engine=e,this._zone=n,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,this.promise=Promise.resolve(0),e.onRemovalComplete=(t,e)=>{e&&e.parentNode(t)&&e.removeChild(t.parentNode,t)}}createRenderer(t,e){const n=this.delegate.createRenderer(t,e);if(!(t&&e&&e.data&&e.data.animation)){let t=this._rendererCache.get(n);return t||(t=new oO("",n,this.engine),this._rendererCache.set(n,t)),t}const a=e.id,r=e.id+"-"+this._currentId;return this._currentId++,this.engine.register(r,t),e.data.animation.forEach(e=>this.engine.registerTrigger(a,r,t,e.name,e)),new iO(this,r,n,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){this.promise.then(()=>{this._microtaskId++})}scheduleListenerCallback(t,e,n){t>=0&&t<this._microtaskId?this._zone.run(()=>e(n)):(0==this._animationCallbacksBuffer.length&&Promise.resolve(null).then(()=>{this._zone.run(()=>{this._animationCallbacksBuffer.forEach(t=>{const[e,n]=t;e(n)}),this._animationCallbacksBuffer=[]})}),this._animationCallbacksBuffer.push([e,n]))}end(){this._cdRecurDepth--,0==this._cdRecurDepth&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}}class oO{constructor(t,e,n){this.namespaceId=t,this.delegate=e,this.engine=n,this.destroyNode=this.delegate.destroyNode?t=>e.destroyNode(t):null}get data(){return this.delegate.data}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.delegate.destroy()}createElement(t,e){return this.delegate.createElement(t,e)}createComment(t){return this.delegate.createComment(t)}createText(t){return this.delegate.createText(t)}appendChild(t,e){this.delegate.appendChild(t,e),this.engine.onInsert(this.namespaceId,e,t,!1)}insertBefore(t,e,n){this.delegate.insertBefore(t,e,n),this.engine.onInsert(this.namespaceId,e,t,!0)}removeChild(t,e,n){this.engine.onRemove(this.namespaceId,e,this.delegate,n)}selectRootElement(t,e){return this.delegate.selectRootElement(t,e)}parentNode(t){return this.delegate.parentNode(t)}nextSibling(t){return this.delegate.nextSibling(t)}setAttribute(t,e,n,a){this.delegate.setAttribute(t,e,n,a)}removeAttribute(t,e,n){this.delegate.removeAttribute(t,e,n)}addClass(t,e){this.delegate.addClass(t,e)}removeClass(t,e){this.delegate.removeClass(t,e)}setStyle(t,e,n,a){this.delegate.setStyle(t,e,n,a)}removeStyle(t,e,n){this.delegate.removeStyle(t,e,n)}setProperty(t,e,n){"@"==e.charAt(0)&&"@.disabled"==e?this.disableAnimations(t,!!n):this.delegate.setProperty(t,e,n)}setValue(t,e){this.delegate.setValue(t,e)}listen(t,e,n){return this.delegate.listen(t,e,n)}disableAnimations(t,e){this.engine.disableAnimations(t,e)}}class iO extends oO{constructor(t,e,n,a){super(e,n,a),this.factory=t,this.namespaceId=e}setProperty(t,e,n){"@"==e.charAt(0)?"."==e.charAt(1)&&"@.disabled"==e?this.disableAnimations(t,n=void 0===n||!!n):this.engine.process(this.namespaceId,t,e.substr(1),n):this.delegate.setProperty(t,e,n)}listen(t,e,n){if("@"==e.charAt(0)){const a=function(t){switch(t){case"body":return document.body;case"document":return document;case"window":return window;default:return t}}(t);let r=e.substr(1),o="";return"@"!=r.charAt(0)&&([r,o]=function(t){const e=t.indexOf(".");return[t.substring(0,e),t.substr(e+1)]}(r)),this.engine.listen(this.namespaceId,a,r,o,t=>{this.factory.scheduleListenerCallback(t._data||-1,n,t)})}return this.delegate.listen(t,e,n)}}class sO extends L_{constructor(t,e,n){super(t.body,e,n)}}function cO(){return"function"==typeof Q_()?new X_:new Z_}function lO(){return new d_}function dO(t,e,n){return new rO(t,e,n)}const uO=new i.InjectionToken("AnimationModuleType");class gO{}var fO=n("Avrn");let pO=(()=>{class t{constructor(t,e){this.router=t,this.authStorageService=e}canActivate(){return!(this.authStorageService.isLoggedIn()&&!this.authStorageService.isSSO()&&this.authStorageService.getPwdUpdateRequired()&&(this.router.navigate(["/login-change-password"]),1))}canActivateChild(){return this.canActivate()}}return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t(i["ɵɵinject"](St.m),i["ɵɵinject"](yt.a))},token:t,providedIn:"root"}),t})();var mO=n("Vhfg");let hO=(()=>{class t{constructor(t,e){this.http=t,this.router=e}canActivate(t){return this.doCheck(t)}canActivateChild(t){return this.doCheck(t)}doCheck(e){if(e.url.length>0&&t.WHITELIST.includes(e.url[0].path))return Object(fn.a)(!0);const n=e.data.moduleStatusGuardConfig;return this.http.get(`api/${n.apiPath}/status`).pipe(Object(pe.a)(t=>(t.available||this.router.navigate([n.redirectTo,t.message||""]),t.available)),Object(Xb.a)(()=>(this.router.navigate([n.redirectTo]),Object(fn.a)(!1))))}}return t.WHITELIST=["501"],t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t(i["ɵɵinject"](J.c),i["ɵɵinject"](St.m))},token:t,providedIn:"root"}),t})(),bO=(()=>{class t{constructor(t,e){this.authStorageService=t,this.router=e}canActivate(){return!this.authStorageService.isSSO()||(this.router.navigate(["404"]),!1)}canActivateChild(){return this.canActivate()}}return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t(i["ɵɵinject"](yt.a),i["ɵɵinject"](St.m))},token:t,providedIn:"root"}),t})();class yO extends Cn{resolve(t){const e=[],n=t.queryParams.fromLink||null;let a="";switch(n){case"/monitor":a="Monitors";break;case"/hosts":a="Hosts"}return e.push({text:"Cluster",path:null}),e.push({text:a,path:n}),e.push({text:"Performance Counters",path:""}),e}}class _O extends Cn{resolve(t){const e=t.params.name;return[{text:$.startCase(e),path:e}]}}const OO={breadcrumbs:"Cluster/Hosts"},vO={breadcrumbs:vt.a.CREATE},CO={breadcrumbs:"Cluster/Monitors"},PO={breadcrumbs:"Cluster/Services"},MO={breadcrumbs:"Cluster/Inventory"},xO={breadcrumbs:"Cluster/OSDs"},wO={breadcrumbs:vt.a.CREATE},TO={breadcrumbs:"Cluster/Configuration"},SO={breadcrumbs:vt.a.EDIT},kO={breadcrumbs:"Cluster/CRUSH map"},IO={breadcrumbs:"Cluster/Logs"},NO={breadcrumbs:"Cluster/Monitoring"},RO={breadcrumbs:`${vt.a.CREATE} Silence`},AO={breadcrumbs:vt.a.CREATE},EO={breadcrumbs:vt.a.EDIT},DO={breadcrumbs:vt.a.RECREATE},LO={breadcrumbs:yO},qO={breadcrumbs:"Cluster/Manager modules"},jO={breadcrumbs:_O},FO={breadcrumbs:"Pools"},zO=()=>Promise.all([n.e(2),n.e(1),n.e(8)]).then(n.bind(null,"nOaW")).then(t=>t.RoutedPoolModuleNgFactory),GO={breadcrumbs:!0,text:"Block",path:null},BO=()=>Promise.all([n.e(2),n.e(7)]).then(n.bind(null,"J6Oi")).then(t=>t.RoutedBlockModuleNgFactory),VO={breadcrumbs:"Filesystems"},YO={moduleStatusGuardConfig:{apiPath:"rgw",redirectTo:"rgw/501"},breadcrumbs:!0,text:"Object Gateway",path:null},HO=()=>n.e(6).then(n.bind(null,"Znkk")).then(t=>t.RoutedRgwModuleNgFactory),UO={breadcrumbs:"User management",path:null},WO=()=>Promise.all([n.e(1),n.e(9)]).then(n.bind(null,"DY6s")).then(t=>t.RoutedAuthModuleNgFactory),KO={breadcrumbs:"User profile",path:null},$O={breadcrumbs:vt.a.EDIT},ZO={breadcrumbs:"NFS"},JO={moduleStatusGuardConfig:{apiPath:"nfs-ganesha",redirectTo:"nfs/501"},breadcrumbs:"NFS"},XO={breadcrumbs:vt.a.CREATE},QO={breadcrumbs:vt.a.EDIT};class tv{}var ev=n("yT6U"),nv=n("4DD9"),av=n("IzCI"),rv=n("Dwqy"),ov=n("uYzU"),iv=n("nSDx"),sv=n("SB+Q"),cv=n("BQkM"),lv=n("dEH0"),dv=n("G1/K"),uv=n("TJUb"),gv=n("efK2"),fv=n("FO+L"),pv=n("nhM1"),mv=n("BARL");class hv{constructor(){this.closeOthers=!1,this.isAnimated=!1}}class bv{static forRoot(){return{ngModule:bv,providers:[hv]}}}let yv=(()=>{class t{constructor(t){this.http=t}jsError(t,e,n){return this.http.post("ui-api/logging/js-error",{url:t,message:e,stack:n})}}return t.ngInjectableDef=i["ɵɵdefineInjectable"]({factory:function(){return new t(i["ɵɵinject"](J.c))},token:t,providedIn:me.a}),t})();class _v{constructor(t){this.injector=t}handleError(t){const e=this.injector.get(yv),n=window.location.href;throw e.jsError(n,t&&t.message,t&&t.stack).subscribe(),t}}var Ov=n("aHM3"),vv=n("9Xeq"),Cv=n("yGOH"),Pv=n("bxSN"),Mv=n("V/fk"),xv=n("F8xH"),wv=n("ChqD"),Tv=n("PCNd"),Sv=n("LceX");class kv{}class Iv{}var Nv=n("G6Q+");class Rv{}var Av=n("kJI8");class Ev{}class Dv{}class Lv{}class qv{}class jv{}var Fv=function(){function t(t){if(t)throw new Error("JwtModule is already loaded. It should only be imported in your application's main module.")}return t.forRoot=function(e){return{ngModule:t,providers:[{provide:J.a,useClass:Zb,multi:!0},e.jwtOptionsProvider||{provide:Wb,useValue:e.config},Kb]}},t}(),zv=i["ɵcmf"](l,[d],(function(t){return i["ɵmod"]([i["ɵmpd"](512,i.ComponentFactoryResolver,i["ɵCodegenComponentFactoryResolver"],[[8,[v,C.a,qn,fr,ei,_i,wi,qi,Fr,As,ic,Cc,Gc,nl,dd,qd,ou,du,vu,Uu,kg,Yg,$g,df,Zp,em,dm,Cm,Tm,Rm,qm,Bm,L,Y,Vm.a,Wt.a,Ym.a,Hm.a,Hm.b,Um.a,Wm.a,Km.a,$m.a,Zm.a,Jm.a,Jm.c,Jm.b,eh,bh,cs,Mh,Nh,Yh,Jh,bb,Tb,Eb,jb,Bb,Ub]],[3,i.ComponentFactoryResolver],i.NgModuleRef]),i["ɵmpd"](4608,J.j,J.p,[o.DOCUMENT,i.PLATFORM_ID,J.n]),i["ɵmpd"](4608,J.q,J.q,[J.j,J.o]),i["ɵmpd"](4608,Kb,Kb,[Wb]),i["ɵmpd"](4608,yt.a,yt.a,[]),i["ɵmpd"](5120,J.a,(function(t,e,n,a,r,o){return[t,new Zb(e,n),new Qb(a,r,o)]}),[J.q,Wb,Kb,St.m,yt.a,gt.a]),i["ɵmpd"](4608,J.m,J.m,[]),i["ɵmpd"](6144,J.k,null,[J.m]),i["ɵmpd"](4608,J.i,J.i,[J.k]),i["ɵmpd"](6144,J.b,null,[J.i]),i["ɵmpd"](4608,J.g,J.l,[J.b,i.Injector]),i["ɵmpd"](4608,J.c,J.c,[J.g]),i["ɵmpd"](4352,i.LOCALE_ID,"en-US",[]),i["ɵmpd"](4608,o.NgLocalization,o.NgLocaleLocalization,[i.LOCALE_ID,[2,o["ɵangular_packages_common_common_a"]]]),i["ɵmpd"](5120,i["ɵangular_packages_core_core_ba"],i["ɵangular_packages_core_core_r"],[i.NgZone]),i["ɵmpd"](5120,i.APP_ID,i["ɵangular_packages_core_core_f"],[]),i["ɵmpd"](5120,i.IterableDiffers,i["ɵangular_packages_core_core_n"],[]),i["ɵmpd"](5120,i.KeyValueDiffers,i["ɵangular_packages_core_core_o"],[]),i["ɵmpd"](4608,hr.b,hr.k,[o.DOCUMENT]),i["ɵmpd"](6144,i.Sanitizer,null,[hr.b]),i["ɵmpd"](4608,hr.e,hr.g,[]),i["ɵmpd"](5120,hr.c,(function(t,e,n,a,r,o,i,s){return[new hr.i(t,e,n),new hr.n(a),new hr.m(r,o,i,s)]}),[o.DOCUMENT,i.NgZone,i.PLATFORM_ID,o.DOCUMENT,o.DOCUMENT,hr.e,i["ɵConsole"],[2,hr.f]]),i["ɵmpd"](4608,hr.d,hr.d,[hr.c,i.NgZone]),i["ɵmpd"](135680,hr.l,hr.l,[o.DOCUMENT]),i["ɵmpd"](4608,hr.j,hr.j,[hr.d,hr.l,i.APP_ID]),i["ɵmpd"](5120,Oy,cO,[]),i["ɵmpd"](5120,l_,lO,[]),i["ɵmpd"](4608,L_,sO,[o.DOCUMENT,Oy,l_]),i["ɵmpd"](5120,i.RendererFactory2,dO,[hr.j,L_,i.NgZone]),i["ɵmpd"](6144,hr.o,null,[hr.l]),i["ɵmpd"](4608,i.Testability,i.Testability,[i.NgZone]),i["ɵmpd"](4608,Gt.b,tO,[i.RendererFactory2,o.DOCUMENT]),i["ɵmpd"](5120,St.a,St.B,[St.m]),i["ɵmpd"](4608,St.g,St.g,[]),i["ɵmpd"](6144,St.h,null,[St.g]),i["ɵmpd"](135680,St.s,St.s,[St.m,i.NgModuleFactoryLoader,i.Compiler,i.Injector,St.h]),i["ɵmpd"](4608,St.f,St.f,[]),i["ɵmpd"](5120,St.G,St.x,[St.m,o.ViewportScroller,St.i]),i["ɵmpd"](5120,St.j,St.E,[St.C]),i["ɵmpd"](5120,i.APP_BOOTSTRAP_LISTENER,(function(t){return[t]}),[St.j]),i["ɵmpd"](4608,_O,_O,[]),i["ɵmpd"](4608,yO,yO,[]),i["ɵmpd"](4608,W.D,W.D,[]),i["ɵmpd"](4608,W.h,W.h,[]),i["ɵmpd"](4608,ev.a,ev.a,[]),i["ɵmpd"](4608,nv.a,nv.a,[]),i["ɵmpd"](5120,i.TRANSLATIONS,c,[i.LOCALE_ID]),i["ɵmpd"](4608,ia.a,ia.a,[i.TRANSLATIONS_FORMAT,i.TRANSLATIONS,i.LOCALE_ID,[2,ia.b]]),i["ɵmpd"](4608,sc.a,sc.a,[ia.a]),i["ɵmpd"](4608,o.DatePipe,o.DatePipe,[i.LOCALE_ID]),i["ɵmpd"](4608,Go.a,Go.a,[]),i["ɵmpd"](4608,bt.a,bt.a,[]),i["ɵmpd"](4608,ua.a,ua.a,[]),i["ɵmpd"](4608,Qn.a,Qn.a,[ua.a]),i["ɵmpd"](4608,av.a,av.a,[ua.a]),i["ɵmpd"](4608,ta.a,ta.a,[ua.a]),i["ɵmpd"](4608,rv.a,rv.a,[]),i["ɵmpd"](4608,ov.a,ov.a,[]),i["ɵmpd"](4608,zi.a,zi.a,[]),i["ɵmpd"](4608,Kl.a,Kl.a,[]),i["ɵmpd"](4608,se.a,se.a,[o.DatePipe]),i["ɵmpd"](4608,iv.a,iv.a,[]),i["ɵmpd"](4608,sv.a,sv.a,[]),i["ɵmpd"](4608,Tf.a,Tf.a,[]),i["ɵmpd"](4608,cv.a,cv.a,[]),i["ɵmpd"](4608,lv.a,lv.a,[]),i["ɵmpd"](4608,dv.a,dv.a,[ia.a]),i["ɵmpd"](4608,ci.a,ci.a,[]),i["ɵmpd"](4608,uv.a,uv.a,[]),i["ɵmpd"](4608,gv.a,gv.a,[]),i["ɵmpd"](4608,Kt.b,Kt.b,[]),i["ɵmpd"](4608,zn.a,zn.a,[]),i["ɵmpd"](4608,Gn.a,Gn.a,[i.RendererFactory2,i.PLATFORM_ID]),i["ɵmpd"](4608,U.a,U.a,[i.ComponentFactoryResolver,i.NgZone,i.Injector,Gn.a,i.ApplicationRef]),i["ɵmpd"](4608,re.c,re.c,[]),i["ɵmpd"](4608,In.a,In.a,[]),i["ɵmpd"](4608,Mt.b,Mt.b,[i.RendererFactory2,U.a]),i["ɵmpd"](4608,fv.ScrollbarHelper,fv.ScrollbarHelper,[o.DOCUMENT]),i["ɵmpd"](4608,pv.DimensionsHelper,pv.DimensionsHelper,[]),i["ɵmpd"](4608,mv.ColumnChangesService,mv.ColumnChangesService,[]),i["ɵmpd"](4608,H.f,H.f,[]),i["ɵmpd"](4608,fO.a,fO.a,[St.m,yt.a]),i["ɵmpd"](4608,Fn.f,Fn.f,[]),i["ɵmpd"](4608,nt.r,nt.r,[]),i["ɵmpd"](4608,nt.t,nt.t,[]),i["ɵmpd"](4608,nt.a,nt.a,[]),i["ɵmpd"](4608,nt.h,nt.h,[]),i["ɵmpd"](4608,nt.d,nt.d,[]),i["ɵmpd"](4608,nt.j,nt.j,[]),i["ɵmpd"](4608,nt.s,nt.s,[nt.t,nt.j]),i["ɵmpd"](5120,x,N,[I]),i["ɵmpd"](4608,S,S,[x]),i["ɵmpd"](4608,Cf,Cf,[]),i["ɵmpd"](4608,Cl,Cl,[]),i["ɵmpd"](4608,rl,rl,[]),i["ɵmpd"](4608,xl,xl,[]),i["ɵmpd"](4608,Hc.a,Hc.a,[]),i["ɵmpd"](4608,hv,hv,[]),i["ɵmpd"](4608,K.g,K.g,[K.b]),i["ɵmpd"](1073742336,J.e,J.e,[]),i["ɵmpd"](1073742336,J.d,J.d,[]),i["ɵmpd"](1073742336,o.CommonModule,o.CommonModule,[]),i["ɵmpd"](512,i.ErrorHandler,_v,[i.Injector]),i["ɵmpd"](1024,i.NgProbeToken,(function(){return[St.w()]}),[]),i["ɵmpd"](512,St.C,St.C,[i.Injector]),i["ɵmpd"](1024,i.APP_INITIALIZER,(function(t,e){return[hr.p(t),St.D(e)]}),[[2,i.NgProbeToken],St.C]),i["ɵmpd"](512,i.ApplicationInitStatus,i.ApplicationInitStatus,[[2,i.APP_INITIALIZER]]),i["ɵmpd"](131584,i.ApplicationRef,i.ApplicationRef,[i.NgZone,i["ɵConsole"],i.Injector,i.ErrorHandler,i.ComponentFactoryResolver,i.ApplicationInitStatus]),i["ɵmpd"](1073742336,i.ApplicationModule,i.ApplicationModule,[i.ApplicationRef]),i["ɵmpd"](1073742336,hr.a,hr.a,[[3,hr.a]]),i["ɵmpd"](1073742336,gO,gO,[]),i["ɵmpd"](1073742336,u.i,u.i,[]),i["ɵmpd"](1024,St.v,St.z,[[3,St.m]]),i["ɵmpd"](512,St.u,St.c,[]),i["ɵmpd"](512,St.b,St.b,[]),i["ɵmpd"](256,St.i,{useHash:!0,preloadingStrategy:St.g},[]),i["ɵmpd"](1024,o.LocationStrategy,St.y,[o.PlatformLocation,[2,o.APP_BASE_HREF],St.i]),i["ɵmpd"](512,o.Location,o.Location,[o.LocationStrategy,o.PlatformLocation]),i["ɵmpd"](512,i.Compiler,i.Compiler,[]),i["ɵmpd"](512,i.NgModuleFactoryLoader,i.SystemJsNgModuleLoader,[i.Compiler,[2,i.SystemJsNgModuleLoaderConfig]]),i["ɵmpd"](1024,St.k,(function(){return[[{path:"",redirectTo:"dashboard",pathMatch:"full"},{path:"",component:An,canActivate:[fO.a,pO],canActivateChild:[fO.a,pO],children:[{path:"dashboard",component:sr},{path:"hosts",data:OO,children:[{path:"",component:Uo},{path:"create",component:ui,data:vO}]},{path:"monitor",component:vi,data:CO},{path:"services",component:Ni,data:PO},{path:"inventory",component:Ar,data:MO},{path:"osd",data:xO,children:[{path:"",component:Cs},{path:"create",component:$s,data:wO}]},{path:"configuration",data:TO,children:[{path:"",component:mc},{path:"edit/:name",component:Mc,data:SO}]},{path:"crush-map",component:Kc,data:kO},{path:"logs",component:Zl,data:IO},{path:"monitoring",data:NO,children:[{path:"",component:Td},{path:"silence/create",component:Gd,data:RO},{path:"silence/create/:id",component:Gd,data:AO},{path:"silence/edit/:id",component:Gd,data:EO},{path:"silence/recreate/:id",component:Gd,data:DO}]},{path:"perf_counters/:type/:id",component:iu,data:LO},{path:"mgr-modules",data:qO,children:[{path:"",component:bu},{path:"edit/:name",component:Cu,data:jO}]},{path:"pool",data:FO,loadChildren:zO},{path:"block",data:GO,loadChildren:BO},{path:"cephfs",component:xg,canActivate:[mO.a],data:VO},{path:"rgw",canActivateChild:[mO.a,hO],data:YO,loadChildren:HO},{path:"user-management",data:UO,loadChildren:WO},{path:"user-profile",data:KO,children:[{path:"edit",component:Rg,canActivate:[bO],data:$O}]},{path:"nfs/501/:message",component:Hg,data:ZO},{path:"nfs",canActivateChild:[mO.a,hO],data:JO,children:[{path:"",component:nf},{path:"create",component:Gf,data:XO},{path:"edit/:cluster_id/:export_id",component:Gf,data:QO}]}]},{path:"",component:Jp,children:[{path:"login",component:am},{path:"login-change-password",component:um,canActivate:[bO]},{path:"logout",children:[]}]},{path:"",component:Pm,children:[{path:"sso/404",component:Sm},{path:"403",component:Am},{path:"404",component:jm},{path:"**",redirectTo:"/404"}]}]]}),[]),i["ɵmpd"](1024,St.m,St.A,[i.ApplicationRef,St.u,St.b,o.Location,i.Injector,i.NgModuleFactoryLoader,i.Compiler,St.k,St.i,[2,St.t],[2,St.l]]),i["ɵmpd"](1073742336,St.q,St.q,[[2,St.v],[2,St.m]]),i["ɵmpd"](1073742336,tv,tv,[]),i["ɵmpd"](1073742336,R,R,[]),i["ɵmpd"](1073742336,Ov.a,Ov.a,[]),i["ɵmpd"](1073742336,W.C,W.C,[]),i["ɵmpd"](1073742336,W.n,W.n,[]),i["ɵmpd"](1073742336,zn.d,zn.d,[]),i["ɵmpd"](1073742336,W.y,W.y,[]),i["ɵmpd"](1073742336,vv.a,vv.a,[]),i["ɵmpd"](1073742336,Kt.c,Kt.c,[]),i["ɵmpd"](1073742336,re.d,re.d,[]),i["ɵmpd"](1073742336,In.d,In.d,[]),i["ɵmpd"](1073742336,Zn.b,Zn.b,[]),i["ɵmpd"](1073742336,Mt.e,Mt.e,[]),i["ɵmpd"](1073742336,Cv.a,Cv.a,[]),i["ɵmpd"](1073742336,H.e,H.e,[]),i["ɵmpd"](1073742336,K.f,K.f,[]),i["ɵmpd"](1073742336,Pv.ClickOutsideModule,Pv.ClickOutsideModule,[]),i["ɵmpd"](1073742336,le.b,le.b,[]),i["ɵmpd"](1073742336,Mv.a,Mv.a,[]),i["ɵmpd"](1073742336,xv.NgxDatatableModule,xv.NgxDatatableModule,[]),i["ɵmpd"](1073742336,wv.a,wv.a,[]),i["ɵmpd"](1073742336,me.a,me.a,[]),i["ɵmpd"](1073742336,Tv.a,Tv.a,[]),i["ɵmpd"](1073742336,Fn.d,Fn.d,[]),i["ɵmpd"](1073742336,nt.g,nt.g,[]),i["ɵmpd"](1073742336,Sv.a,Sv.a,[]),i["ɵmpd"](1073742336,Ht,Ht,[]),i["ɵmpd"](1073742336,kv,kv,[]),i["ɵmpd"](1073742336,Iv,Iv,[]),i["ɵmpd"](1073742336,Nv.a,Nv.a,[]),i["ɵmpd"](1073742336,Rv,Rv,[]),i["ɵmpd"](1073742336,Mf,Mf,[]),i["ɵmpd"](1073742336,Tl,Tl,[]),i["ɵmpd"](1073742336,Wc.b,Wc.b,[]),i["ɵmpd"](1073742336,Av.a,Av.a,[]),i["ɵmpd"](1073742336,Ev,Ev,[]),i["ɵmpd"](1073742336,Dv,Dv,[]),i["ɵmpd"](1073742336,Lv,Lv,[]),i["ɵmpd"](1073742336,qv,qv,[]),i["ɵmpd"](1073742336,jv,jv,[]),i["ɵmpd"](1073742336,bv,bv,[]),i["ɵmpd"](1073742336,Fv,Fv,[[3,Fv]]),i["ɵmpd"](1073742336,l,l,[]),i["ɵmpd"](256,J.n,"XSRF-TOKEN",[]),i["ɵmpd"](256,J.o,"X-XSRF-TOKEN",[]),i["ɵmpd"](256,Wb,{tokenGetter:s},[]),i["ɵmpd"](256,i["ɵAPP_ROOT"],!0,[]),i["ɵmpd"](256,uO,"BrowserAnimations",[]),i["ɵmpd"](256,i.TRANSLATIONS_FORMAT,"xlf",[]),i["ɵmpd"](256,H.a,{autoClose:!0,insideClick:!1},[]),i["ɵmpd"](256,I,{},[]),i["ɵmpd"](256,u.b,{default:u.a,config:{positionClass:"toast-top-right",preventDuplicates:!0,enableHtml:!0}},[]),i["ɵmpd"](1024,K.b,(function(){return[[]]}),[]),i["ɵmpd"](256,K.a,1,[])])}));o.registerLocaleData(r.a),Object(i.enableProdMode)(),hr.h().bootstrapModuleFactory(zv).catch(t=>console.log(t))},zZ0H:function(t,e){t.exports=function(t){return t}},zavE:function(t,e,n){!function(t){"use strict";t.defineLocale("en-SG",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})}(n("wd/R"))},zk60:function(t,e,n){var a=n("2oRo"),r=n("kRJp");t.exports=function(t,e){try{r(a,t,e)}catch(n){a[t]=e}return e}},zoYe:function(t,e,n){var a=n("nmnc"),r=n("eUgh"),o=n("Z0cm"),i=n("/9aa"),s=a?a.prototype:void 0,c=s?s.toString:void 0;t.exports=function t(e){if("string"==typeof e)return e;if(o(e))return r(e,t)+"";if(i(e))return c?c.call(e):"";var n=e+"";return"0"==n&&1/e==-1/0?"-0":n}},zx6S:function(t,e,n){!function(t){"use strict";var e={words:{ss:["sekunda","sekunde","sekundi"],m:["jedan minut","jedne minute"],mm:["minut","minute","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mesec","meseca","meseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(t,e){return 1===t?e[0]:t>=2&&t<=4?e[1]:e[2]},translate:function(t,n,a){var r=e.words[a];return 1===a.length?n?r[0]:r[1]:t+" "+e.correctGrammaticalCase(t,r)}};t.defineLocale("sr",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sre._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedelju] [u] LT";case 3:return"[u] [sredu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){return["[prošle] [nedelje] [u] LT","[prošlog] [ponedeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"pre %s",s:"nekoliko sekundi",ss:e.translate,m:e.translate,mm:e.translate,h:e.translate,hh:e.translate,d:"dan",dd:e.translate,M:"mesec",MM:e.translate,y:"godinu",yy:e.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n("wd/R"))}},[[0,0]]]);
\ No newline at end of file
diff --git a/ceph/src/pybind/mgr/dashboard/frontend/dist/en-US/runtime.2fd4e31a298ae797b302.js b/ceph/src/pybind/mgr/dashboard/frontend/dist/en-US/runtime.2fd4e31a298ae797b302.js
new file mode 100644 (file)
index 0000000..90faca9
--- /dev/null
@@ -0,0 +1 @@
+!function(e){function r(r){for(var n,a,i=r[0],f=r[1],c=r[2],p=0,s=[];p<i.length;p++)a=i[p],Object.prototype.hasOwnProperty.call(o,a)&&o[a]&&s.push(o[a][0]),o[a]=0;for(n in f)Object.prototype.hasOwnProperty.call(f,n)&&(e[n]=f[n]);for(l&&l(r);s.length;)s.shift()();return u.push.apply(u,c||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,i=1;i<t.length;i++)0!==o[t[i]]&&(n=!1);n&&(u.splice(r--,1),e=a(a.s=t[0]))}return e}var n={},o={0:0},u=[];function a(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,a),t.l=!0,t.exports}a.e=function(e){var r=[],t=o[e];if(0!==t)if(t)r.push(t[2]);else{var n=new Promise((function(r,n){t=o[e]=[r,n]}));r.push(t[2]=n);var u,i=document.createElement("script");i.charset="utf-8",i.timeout=120,a.nc&&i.setAttribute("nonce",a.nc),i.src=function(e){return a.p+""+({1:"common"}[e]||e)+"."+{1:"855fba17cfb445002363",2:"d36650ee0a92dfd05faa",6:"4299ba94dd69b0b04046",7:"cf5f8c70f123c771366b",8:"f45b72794d78f44d11b9",9:"a6e2f7400e0a62470111"}[e]+".js"}(e);var f=new Error;u=function(r){i.onerror=i.onload=null,clearTimeout(c);var t=o[e];if(0!==t){if(t){var n=r&&("load"===r.type?"missing":r.type),u=r&&r.target&&r.target.src;f.message="Loading chunk "+e+" failed.\n("+n+": "+u+")",f.name="ChunkLoadError",f.type=n,f.request=u,t[1](f)}o[e]=void 0}};var c=setTimeout((function(){u({type:"timeout",target:i})}),12e4);i.onerror=i.onload=u,document.head.appendChild(i)}return Promise.all(r)},a.m=e,a.c=n,a.d=function(e,r,t){a.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,r){if(1&r&&(e=a(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(a.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)a.d(t,n,(function(r){return e[r]}).bind(null,n));return t},a.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(r,"a",r),r},a.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},a.p="",a.oe=function(e){throw console.error(e),e};var i=window.webpackJsonp=window.webpackJsonp||[],f=i.push.bind(i);i.push=r,i=i.slice();for(var c=0;c<i.length;c++)r(i[c]);var l=f;t()}([]);
\ No newline at end of file
diff --git a/ceph/src/pybind/mgr/dashboard/frontend/dist/en-US/runtime.a1d3bd9700d820216e9a.js b/ceph/src/pybind/mgr/dashboard/frontend/dist/en-US/runtime.a1d3bd9700d820216e9a.js
deleted file mode 100644 (file)
index d077998..0000000
+++ /dev/null
@@ -1 +0,0 @@
-!function(e){function r(r){for(var n,u,c=r[0],i=r[1],f=r[2],p=0,d=[];p<c.length;p++)u=c[p],Object.prototype.hasOwnProperty.call(o,u)&&o[u]&&d.push(o[u][0]),o[u]=0;for(n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n]);for(l&&l(r);d.length;)d.shift()();return a.push.apply(a,f||[]),t()}function t(){for(var e,r=0;r<a.length;r++){for(var t=a[r],n=!0,c=1;c<t.length;c++)0!==o[t[c]]&&(n=!1);n&&(a.splice(r--,1),e=u(u.s=t[0]))}return e}var n={},o={0:0},a=[];function u(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,u),t.l=!0,t.exports}u.e=function(e){var r=[],t=o[e];if(0!==t)if(t)r.push(t[2]);else{var n=new Promise((function(r,n){t=o[e]=[r,n]}));r.push(t[2]=n);var a,c=document.createElement("script");c.charset="utf-8",c.timeout=120,u.nc&&c.setAttribute("nonce",u.nc),c.src=function(e){return u.p+""+({1:"common"}[e]||e)+"."+{1:"855fba17cfb445002363",2:"adb5a86b21cf4e105cd2",6:"fd03afd7d5e918275ed6",7:"b9f7cf0935ea27ecc60a",8:"50be3ebee1410d3e6387",9:"827ca6d4c4df11fe3a62"}[e]+".js"}(e);var i=new Error;a=function(r){c.onerror=c.onload=null,clearTimeout(f);var t=o[e];if(0!==t){if(t){var n=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;i.message="Loading chunk "+e+" failed.\n("+n+": "+a+")",i.name="ChunkLoadError",i.type=n,i.request=a,t[1](i)}o[e]=void 0}};var f=setTimeout((function(){a({type:"timeout",target:c})}),12e4);c.onerror=c.onload=a,document.head.appendChild(c)}return Promise.all(r)},u.m=e,u.c=n,u.d=function(e,r,t){u.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},u.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},u.t=function(e,r){if(1&r&&(e=u(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(u.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)u.d(t,n,(function(r){return e[r]}).bind(null,n));return t},u.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return u.d(r,"a",r),r},u.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},u.p="",u.oe=function(e){throw console.error(e),e};var c=window.webpackJsonp=window.webpackJsonp||[],i=c.push.bind(c);c.push=r,c=c.slice();for(var f=0;f<c.length;f++)r(c[f]);var l=i;t()}([]);
\ No newline at end of file
index a7390c5f81601dee63eb5ba8cd24165d080e9f7b..ac8cd91a6bccce0550adb05262ea687f61270f20 100644 (file)
@@ -5,7 +5,7 @@
   "languages": "cs,de-DE,es-ES,fr-FR,id-ID,it-IT,ja-JP,ko-KR,pl-PL,pt-BR,zh-CN,zh-TW",\r
   "organization": "ceph",\r
   "project": "ceph-dashboard",\r
-  "resource": "Master:master",\r
+  "resource": "Octopus:octopus",\r
   "removeUnusedIds": true,\r
   "automate": true,\r
   "quiet": false\r
index 3562530be92511d3e8dc17b0f0a85741ca70a087..8ebdb7d6e067a3105d16a8bd627c163656391d2a 100644 (file)
@@ -24,8 +24,8 @@
 
             <span class="invalid-feedback"
                   *ngIf="discoveryForm.showError('user', formDir, 'pattern')"
-                  i18n>Usernames must have a length of 8 to 64 characters and
-              can only contain letters, '.', '@', '-', '_' or ':'.</span>
+                  i18n>User names must have a length of 8 to 64 characters and can contain
+              alphanumeric characters, '.', '@', '-', '_' or ':'.</span>
           </div>
         </div>
 
@@ -58,8 +58,8 @@
 
             <span class="invalid-feedback"
                   *ngIf="discoveryForm.showError('password', formDir, 'pattern')"
-                  i18n>Passwords must have a length of 12 to 16 characters
-              and can only contain letters, '@', '-', '_' or '/'.</span>
+                  i18n>Passwords must have a length of 12 to 16 characters and can contain
+              alphanumeric characters, '@', '-', '_' or '/'.</span>
           </div>
         </div>
 
@@ -81,8 +81,8 @@
 
             <span class="invalid-feedback"
                   *ngIf="discoveryForm.showError('mutual_user', formDir, 'pattern')"
-                  i18n>Usernames must have a length of 8 to 64 characters and
-              can only contain letters, '.', '@', '-', '_' or ':'.</span>
+                  i18n>User names must have a length of 8 to 64 characters and can contain
+              alphanumeric characters, '.', '@', '-', '_' or ':'.</span>
           </div>
         </div>
 
 
             <span class="invalid-feedback"
                   *ngIf="discoveryForm.showError('mutual_password', formDir, 'pattern')"
-                  i18n>Passwords must have a length of 12 to 16 characters and
-              can only contain letters, '@', '-', '_' or '/'.</span>
+                  i18n>Passwords must have a length of 12 to 16 characters and can contain
+              alphanumeric characters, '@', '-', '_' or '/'.</span>
           </div>
         </div>
       </div>
index ff683b9c87c8b75d2fbf0db079f555b807d21f51..2f232513bed8a7db3fd5ed985da255d6b334c580 100644 (file)
@@ -11,7 +11,12 @@ import { RouterTestingModule } from '@angular/router/testing';
 import { BsModalRef } from 'ngx-bootstrap/modal';
 import { ToastrModule } from 'ngx-toastr';
 
-import { configureTestBed, i18nProviders } from '../../../../testing/unit-test-helper';
+import {
+  configureTestBed,
+  FormHelper,
+  i18nProviders,
+  IscsiHelper
+} from '../../../../testing/unit-test-helper';
 import { Permission } from '../../../shared/models/permissions';
 import { SharedModule } from '../../../shared/shared.module';
 import { IscsiTargetDiscoveryModalComponent } from './iscsi-target-discovery-modal.component';
@@ -117,4 +122,17 @@ describe('IscsiTargetDiscoveryModalComponent', () => {
     expect(elemDisabled('input#mutual_password')).toBeTruthy();
     expect(elem('cd-submit-button')).toBeNull();
   });
+
+  it('should validate authentication', () => {
+    component.permission = new Permission(['read', 'create', 'update', 'delete']);
+    fixture.detectChanges();
+    const control = component.discoveryForm;
+    const formHelper = new FormHelper(control);
+    formHelper.expectValid(control);
+
+    IscsiHelper.validateUser(formHelper, 'user');
+    IscsiHelper.validatePassword(formHelper, 'password');
+    IscsiHelper.validateUser(formHelper, 'mutual_user');
+    IscsiHelper.validatePassword(formHelper, 'mutual_password');
+  });
 });
index 3b25328d653194aa055c50e1ad4478aedd02ac70..fcf9e27c142cbc9016603beb1fd0583542436e19 100644 (file)
@@ -22,8 +22,8 @@ export class IscsiTargetDiscoveryModalComponent implements OnInit {
   permission: Permission;
   hasPermission: boolean;
 
-  USER_REGEX = /[\w\.:@_-]{8,64}/;
-  PASSWORD_REGEX = /[\w@\-_\/]{12,16}/;
+  USER_REGEX = /^[\w\.:@_-]{8,64}$/;
+  PASSWORD_REGEX = /^[\w@\-_\/]{12,16}$/;
 
   constructor(
     private authStorageService: AuthStorageService,
index 899742549e663a62bda5ba6b22145621500a865d..fea6d30f18e9c2d731ec1705e443a39d832fc19e 100644 (file)
 
               <span class="invalid-feedback"
                     *ngIf="targetForm.showError('user', formDir, 'pattern')"
-                    i18n>Usernames must have a length of 8 to 64 characters and
-                can only contain letters, '.', '@', '-', '_' or ':'.</span>
+                    i18n>User names must have a length of 8 to 64 characters and can contain
+                alphanumeric characters, '.', '@', '-', '_' or ':'.</span>
             </div>
           </div>
 
 
               <span class="invalid-feedback"
                     *ngIf="targetForm.showError('password', formDir, 'pattern')"
-                    i18n>Passwords must have a length of 12 to 16 characters
-                and can only contain letters, '@', '-', '_' or '/'.</span>
+                    i18n>Passwords must have a length of 12 to 16 characters and can contain
+                alphanumeric characters, '@', '-', '_' or '/'.</span>
             </div>
           </div>
 
 
               <span class="invalid-feedback"
                     *ngIf="targetForm.showError('mutual_user', formDir, 'pattern')"
-                    i18n>Usernames must have a length of 8 to 64 characters and
-                can only contain letters, '.', '@', '-', '_' or ':'.</span>
+                    i18n>User names must have a length of 8 to 64 characters and can contain
+                alphanumeric characters, '.', '@', '-', '_' or ':'.</span>
             </div>
           </div>
 
 
               <span class="invalid-feedback"
                     *ngIf="targetForm.showError('mutual_password', formDir, 'pattern')"
-                    i18n>Passwords must have a length of 12 to 16 characters
-                and can only contain letters, '@', '-', '_' or '/'.</span>
+                    i18n>Passwords must have a length of 12 to 16 characters and can contain
+                alphanumeric characters, '@', '-', '_' or '/'.</span>
             </div>
           </div>
 
 
                       <span class="invalid-feedback"
                             *ngIf="initiator.showError('user', formDir, 'pattern')"
-                            i18n>Usernames must have a length of 8 to 64 characters and
-                        can only contain letters, '.', '@', '-', '_' or ':'.</span>
+                            i18n>User names must have a length of 8 to 64 characters and can contain
+                        alphanumeric characters, '.', '@', '-', '_' or ':'.</span>
                     </div>
                   </div>
 
 
                       <span class="invalid-feedback"
                             *ngIf="initiator.showError('password', formDir, 'pattern')"
-                            i18n>Passwords must have a length of 12 to 16 characters
-                        and can only contain letters, '@', '-', '_' or '/'.</span>
+                            i18n>Passwords must have a length of 12 to 16 characters and can contain
+                        alphanumeric characters, '@', '-', '_' or '/'.</span>
                     </div>
                   </div>
 
 
                       <span class="invalid-feedback"
                             *ngIf="initiator.showError('mutual_user', formDir, 'pattern')"
-                            i18n>Usernames must have a length of 8 to 64 characters and
-                        can only contain letters, '.', '@', '-', '_' or ':'.</span>
+                            i18n>User names must have a length of 8 to 64 characters and can contain
+                        alphanumeric characters, '.', '@', '-', '_' or ':'.</span>
                     </div>
                   </div>
 
 
                       <span class="invalid-feedback"
                             *ngIf="initiator.showError('mutual_password', formDir, 'pattern')"
-                            i18n>Passwords must have a length of 12 to 16 characters and
-                        can only contain letters, '@', '-', '_' or '/'.</span>
+                            i18n>Passwords must have a length of 12 to 16 characters and can contain
+                        alphanumeric characters, '@', '-', '_' or '/'.</span>
                     </div>
                   </div>
                 </ng-container>
index 47c61ad120ba11f77e278e3f04e0d5fd2b02ab68..3779144ffbef07e4aac9f5ca3f49de187e3faf65 100644 (file)
@@ -7,7 +7,13 @@ import { RouterTestingModule } from '@angular/router/testing';
 import { ToastrModule } from 'ngx-toastr';
 
 import { ActivatedRouteStub } from '../../../../testing/activated-route-stub';
-import { configureTestBed, i18nProviders } from '../../../../testing/unit-test-helper';
+import {
+  configureTestBed,
+  FormHelper,
+  i18nProviders,
+  IscsiHelper
+} from '../../../../testing/unit-test-helper';
+import { CdFormGroup } from '../../../shared/forms/cd-form-group';
 import { SharedModule } from '../../../shared/shared.module';
 import { IscsiTargetFormComponent } from './iscsi-target-form.component';
 
@@ -166,7 +172,6 @@ describe('IscsiTargetFormComponent', () => {
     httpTesting.expectOne('ui-api/iscsi/settings').flush(SETTINGS);
     httpTesting.expectOne('ui-api/iscsi/portals').flush(PORTALS);
     httpTesting.expectOne('ui-api/iscsi/version').flush(VERSION);
-    httpTesting.expectOne('api/summary').flush({});
     httpTesting.expectOne('api/block/image').flush(RBD_LIST);
     httpTesting.expectOne('api/iscsi/target').flush(LIST_TARGET);
     httpTesting.verify();
@@ -247,6 +252,13 @@ describe('IscsiTargetFormComponent', () => {
     });
   });
 
+  it('should validate authentication', () => {
+    const control = component.targetForm;
+    const formHelper = new FormHelper(control as CdFormGroup);
+    formHelper.expectValid('auth');
+    validateAuth(formHelper);
+  });
+
   describe('should test initiators', () => {
     beforeEach(() => {
       component.onImageSelection({ option: { name: 'rbd/disk_2', selected: true } });
@@ -363,6 +375,13 @@ describe('IscsiTargetFormComponent', () => {
         [{ description: '', enabled: false, name: 'iqn.initiator', selected: false }]
       ]);
     });
+
+    it('should validate authentication', () => {
+      const control = component.initiators.controls[0];
+      const formHelper = new FormHelper(control as CdFormGroup);
+      formHelper.expectValid(control);
+      validateAuth(formHelper);
+    });
   });
 
   describe('should submit request', () => {
@@ -508,4 +527,11 @@ describe('IscsiTargetFormComponent', () => {
       });
     });
   });
+
+  function validateAuth(formHelper: FormHelper) {
+    IscsiHelper.validateUser(formHelper, 'auth.user');
+    IscsiHelper.validatePassword(formHelper, 'auth.password');
+    IscsiHelper.validateUser(formHelper, 'auth.mutual_user');
+    IscsiHelper.validatePassword(formHelper, 'auth.mutual_password');
+  }
 });
index ca2168ddd01e1cc2d5e3423758420b6f91f47f43..32752eb331c0fe30c25a16e606f68d13af090407 100644 (file)
@@ -82,8 +82,8 @@ export class IscsiTargetFormComponent implements OnInit {
   };
 
   IQN_REGEX = /^iqn\.(19|20)\d\d-(0[1-9]|1[0-2])\.\D{2,3}(\.[A-Za-z0-9-]+)+(:[A-Za-z0-9-\.]+)*$/;
-  USER_REGEX = /[\w\.:@_-]{8,64}/;
-  PASSWORD_REGEX = /[\w@\-_\/]{12,16}/;
+  USER_REGEX = /^[\w\.:@_-]{8,64}$/;
+  PASSWORD_REGEX = /^[\w@\-_\/]{12,16}$/;
   action: string;
   resource: string;
 
index 6a3c7ef210ed1f7d40d8178960cda49d92245c4b..682ed68c8bc3177598add8d28582c4623b6263fa 100644 (file)
@@ -25,14 +25,11 @@ export class OverviewComponent implements OnInit, OnDestroy {
   permission: Permission;
   tableActions: CdTableAction[];
   selection = new CdTableSelection();
-
-  subs: Subscription;
-
   modalRef: BsModalRef;
-
   peersExist = true;
   siteName: any;
   status: ViewCacheStatus;
+  private subs = new Subscription();
 
   constructor(
     private authStorageService: AuthStorageService,
@@ -68,15 +65,18 @@ export class OverviewComponent implements OnInit, OnDestroy {
   }
 
   ngOnInit() {
-    this.subs = this.rbdMirroringService.subscribeSummary((data: any) => {
-      if (!data) {
-        return;
-      }
-      this.status = data.content_data.status;
-      this.siteName = data.site_name;
+    this.subs.add(this.rbdMirroringService.startPolling());
+    this.subs.add(
+      this.rbdMirroringService.subscribeSummary((data: any) => {
+        if (!data) {
+          return;
+        }
+        this.status = data.content_data.status;
+        this.siteName = data.site_name;
 
-      this.peersExist = !!data.content_data.pools.find((o: Pool) => o['peer_uuids'].length > 0);
-    });
+        this.peersExist = !!data.content_data.pools.find((o: Pool) => o['peer_uuids'].length > 0);
+      })
+    );
   }
 
   ngOnDestroy(): void {
index 77330e648d670d615f25f9dda814158ca15e2ac3..5556a847a6b7d02268f6062b515adc297ae7e86d 100644 (file)
@@ -1,5 +1,5 @@
 import { HttpClientTestingModule } from '@angular/common/http/testing';
-import { ComponentFixture, discardPeriodicTasks, fakeAsync, TestBed } from '@angular/core/testing';
+import { ComponentFixture, fakeAsync, TestBed, tick } from '@angular/core/testing';
 import { ReactiveFormsModule } from '@angular/forms';
 import { ActivatedRoute, Router } from '@angular/router';
 import { RouterTestingModule } from '@angular/router/testing';
@@ -8,7 +8,7 @@ import { TooltipModule } from 'ngx-bootstrap/tooltip';
 import { ToastrModule } from 'ngx-toastr';
 
 import { By } from '@angular/platform-browser';
-import { of } from 'rxjs';
+import { NEVER, of } from 'rxjs';
 import { delay } from 'rxjs/operators';
 
 import { ActivatedRouteStub } from '../../../../testing/activated-route-stub';
@@ -65,14 +65,18 @@ describe('RbdFormComponent', () => {
     let cloneAction: jasmine.Spy;
     let copyAction: jasmine.Spy;
     let rbdServiceGetSpy: jasmine.Spy;
+    let routerNavigate: jasmine.Spy;
+
+    const DELAY = 100;
 
     beforeEach(() => {
-      createAction = spyOn(component, 'createAction').and.stub();
-      editAction = spyOn(component, 'editAction').and.stub();
-      cloneAction = spyOn(component, 'cloneAction').and.stub();
-      copyAction = spyOn(component, 'copyAction').and.stub();
+      createAction = spyOn(component, 'createAction').and.returnValue(of(null));
+      editAction = spyOn(component, 'editAction');
+      editAction.and.returnValue(of(null));
+      cloneAction = spyOn(component, 'cloneAction').and.returnValue(of(null));
+      copyAction = spyOn(component, 'copyAction').and.returnValue(of(null));
       spyOn(component, 'setResponse').and.stub();
-      spyOn(TestBed.get(Router), 'navigate').and.stub();
+      routerNavigate = spyOn(TestBed.get(Router), 'navigate').and.stub();
       rbdServiceGetSpy = spyOn(TestBed.get(RbdService), 'get');
       rbdServiceGetSpy.and.returnValue(of({ pool_name: 'foo', pool_image: 'bar' }));
       component.mode = undefined;
@@ -86,12 +90,28 @@ describe('RbdFormComponent', () => {
       expect(editAction).toHaveBeenCalledTimes(0);
       expect(cloneAction).toHaveBeenCalledTimes(0);
       expect(copyAction).toHaveBeenCalledTimes(0);
+      expect(routerNavigate).toHaveBeenCalledTimes(1);
+    });
+
+    it('should unsubscribe right after image data is received', () => {
+      component.mode = RbdFormMode.editing;
+      rbdServiceGetSpy.and.returnValue(of({ pool_name: 'foo', pool_image: 'bar' }));
+      editAction.and.returnValue(NEVER);
+      component.ngOnInit();
+      component.submit();
+
+      expect(component['rbdImage'].observers.length).toEqual(0);
+      expect(createAction).toHaveBeenCalledTimes(0);
+      expect(editAction).toHaveBeenCalledTimes(1);
+      expect(cloneAction).toHaveBeenCalledTimes(0);
+      expect(copyAction).toHaveBeenCalledTimes(0);
+      expect(routerNavigate).toHaveBeenCalledTimes(0);
     });
 
     it('should not edit image if no image data is received', fakeAsync(() => {
       component.mode = RbdFormMode.editing;
       rbdServiceGetSpy.and.returnValue(
-        of({ pool_name: 'foo', pool_image: 'bar' }).pipe(delay(100))
+        of({ pool_name: 'foo', pool_image: 'bar' }).pipe(delay(DELAY))
       );
       component.ngOnInit();
       component.submit();
@@ -100,8 +120,9 @@ describe('RbdFormComponent', () => {
       expect(editAction).toHaveBeenCalledTimes(0);
       expect(cloneAction).toHaveBeenCalledTimes(0);
       expect(copyAction).toHaveBeenCalledTimes(0);
+      expect(routerNavigate).toHaveBeenCalledTimes(0);
 
-      discardPeriodicTasks();
+      tick(DELAY);
     }));
 
     it('should edit image after image data is received', () => {
@@ -113,12 +134,13 @@ describe('RbdFormComponent', () => {
       expect(editAction).toHaveBeenCalledTimes(1);
       expect(cloneAction).toHaveBeenCalledTimes(0);
       expect(copyAction).toHaveBeenCalledTimes(0);
+      expect(routerNavigate).toHaveBeenCalledTimes(1);
     });
 
     it('should not clone image if no image data is received', fakeAsync(() => {
       component.mode = RbdFormMode.cloning;
       rbdServiceGetSpy.and.returnValue(
-        of({ pool_name: 'foo', pool_image: 'bar' }).pipe(delay(100))
+        of({ pool_name: 'foo', pool_image: 'bar' }).pipe(delay(DELAY))
       );
       component.ngOnInit();
       component.submit();
@@ -127,8 +149,9 @@ describe('RbdFormComponent', () => {
       expect(editAction).toHaveBeenCalledTimes(0);
       expect(cloneAction).toHaveBeenCalledTimes(0);
       expect(copyAction).toHaveBeenCalledTimes(0);
+      expect(routerNavigate).toHaveBeenCalledTimes(0);
 
-      discardPeriodicTasks();
+      tick(DELAY);
     }));
 
     it('should clone image after image data is received', () => {
@@ -140,12 +163,13 @@ describe('RbdFormComponent', () => {
       expect(editAction).toHaveBeenCalledTimes(0);
       expect(cloneAction).toHaveBeenCalledTimes(1);
       expect(copyAction).toHaveBeenCalledTimes(0);
+      expect(routerNavigate).toHaveBeenCalledTimes(1);
     });
 
     it('should not copy image if no image data is received', fakeAsync(() => {
       component.mode = RbdFormMode.copying;
       rbdServiceGetSpy.and.returnValue(
-        of({ pool_name: 'foo', pool_image: 'bar' }).pipe(delay(100))
+        of({ pool_name: 'foo', pool_image: 'bar' }).pipe(delay(DELAY))
       );
       component.ngOnInit();
       component.submit();
@@ -154,8 +178,9 @@ describe('RbdFormComponent', () => {
       expect(editAction).toHaveBeenCalledTimes(0);
       expect(cloneAction).toHaveBeenCalledTimes(0);
       expect(copyAction).toHaveBeenCalledTimes(0);
+      expect(routerNavigate).toHaveBeenCalledTimes(0);
 
-      discardPeriodicTasks();
+      tick(DELAY);
     }));
 
     it('should copy image after image data is received', () => {
@@ -167,6 +192,7 @@ describe('RbdFormComponent', () => {
       expect(editAction).toHaveBeenCalledTimes(0);
       expect(cloneAction).toHaveBeenCalledTimes(0);
       expect(copyAction).toHaveBeenCalledTimes(1);
+      expect(routerNavigate).toHaveBeenCalledTimes(1);
     });
   });
 
index 967796c89e6e9485ed96e9a3534f48aa79687d95..5597e0861a782835f6feaa144856c107d9c6d6aa 100644 (file)
@@ -5,8 +5,8 @@ import { ActivatedRoute, Router } from '@angular/router';
 import { I18n } from '@ngx-translate/i18n-polyfill';
 import * as _ from 'lodash';
 
-import { AsyncSubject, forkJoin, Observable } from 'rxjs';
-import { switchMap } from 'rxjs/operators';
+import { forkJoin, Observable, ReplaySubject } from 'rxjs';
+import { first, switchMap } from 'rxjs/operators';
 
 import { PoolService } from '../../../shared/api/pool.service';
 import { RbdService } from '../../../shared/api/rbd.service';
@@ -89,7 +89,7 @@ export class RbdFormComponent implements OnInit {
   ];
   action: string;
   resource: string;
-  private rbdImage = new AsyncSubject();
+  private rbdImage = new ReplaySubject(1);
 
   icons = Icons;
 
@@ -701,9 +701,9 @@ export class RbdFormComponent implements OnInit {
     if (!this.mode) {
       this.rbdImage.next('create');
     }
-    this.rbdImage.complete();
     this.rbdImage
       .pipe(
+        first(),
         switchMap(() => {
           if (this.mode === this.rbdFormMode.editing) {
             return this.editAction();
index 0202b080a2e30f7fd27e95bb04f28b727c9961b3..db80c7107141b514e2363f71a3cb6fd6561ded63 100644 (file)
@@ -66,7 +66,6 @@ describe('RbdTrashPurgeModalComponent', () => {
   it('should call ngOnInit without pool permissions', () => {
     component.poolPermission = new Permission([]);
     component.ngOnInit();
-    httpTesting.expectOne('api/summary');
     httpTesting.verify();
   });
 
index 1c2aeb9ea740ca22bf3b08553552ca7862a7d2de..ef80573a2c892c67309afad96c61fb2c3d1c550c 100644 (file)
@@ -1,8 +1,14 @@
 <cd-table [data]="data"
           [columns]="columns"
           (updateSelection)="selectionUpdated($event)"
-          [selectionType]="'single'"></cd-table>
-
-<cd-table-key-value [data]="selectedRule"
-                    [renderObjects]="true"
-                    [hideKeys]="hideKeys"></cd-table-key-value>
+          [selectionType]="'single'">
+  <tabset cdTableDetail
+          *ngIf="selectedRule">
+    <tab i18n-heading
+         heading="Details">
+      <cd-table-key-value [data]="selectedRule"
+                          [renderObjects]="true"
+                          [hideKeys]="hideKeys"></cd-table-key-value>
+    </tab>
+  </tabset>
+</cd-table>
index f09bd49d15264c6e6af28aed53b753973b0b3fd0..4e2495f9dd1a7ae32dd231743a098905ef55edd0 100644 (file)
@@ -1,6 +1,8 @@
 import { HttpClientTestingModule } from '@angular/common/http/testing';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 
+import { TabsModule } from 'ngx-bootstrap/tabs';
+
 import { configureTestBed, i18nProviders } from '../../../../../testing/unit-test-helper';
 import { PrometheusService } from '../../../../shared/api/prometheus.service';
 import { SettingsService } from '../../../../shared/api/settings.service';
@@ -13,7 +15,7 @@ describe('RulesListComponent', () => {
 
   configureTestBed({
     declarations: [RulesListComponent],
-    imports: [HttpClientTestingModule, SharedModule],
+    imports: [HttpClientTestingModule, SharedModule, TabsModule.forRoot()],
     providers: [PrometheusService, SettingsService, i18nProviders]
   });
 
index 82632e0607e7e4bc3eefb0f084530c0cb1441672..6683d276c6a46d1780b5b5880f60496780c1da8e 100644 (file)
@@ -18,6 +18,7 @@ import { CephServiceService } from '../../../../shared/api/ceph-service.service'
 import { HostService } from '../../../../shared/api/host.service';
 import { OrchestratorService } from '../../../../shared/api/orchestrator.service';
 import { TableComponent } from '../../../../shared/datatable/table/table.component';
+import { CellTemplate } from '../../../../shared/enum/cell-template.enum';
 import { CdTableColumn } from '../../../../shared/models/cd-table-column';
 import { CdTableFetchDataContext } from '../../../../shared/models/cd-table-fetch-data-context';
 import { Daemon } from '../../../../shared/models/daemon.interface';
@@ -76,7 +77,11 @@ export class ServiceDaemonListComponent implements OnInit, OnChanges, AfterViewI
         name: this.i18n('Container ID'),
         prop: 'container_id',
         flexGrow: 3,
-        filterable: true
+        filterable: true,
+        cellTransformation: CellTemplate.truncate,
+        customTemplateConfig: {
+          length: 12
+        }
       },
       {
         name: this.i18n('Container Image name'),
@@ -88,7 +93,11 @@ export class ServiceDaemonListComponent implements OnInit, OnChanges, AfterViewI
         name: this.i18n('Container Image ID'),
         prop: 'container_image_id',
         flexGrow: 3,
-        filterable: true
+        filterable: true,
+        cellTransformation: CellTemplate.truncate,
+        customTemplateConfig: {
+          length: 12
+        }
       },
       {
         name: this.i18n('Version'),
index d5480c7d6395176808c8662572f0b20ce33db5fe..2ac3ef6b2811d815d4d9aa449b0fe208791998eb 100644 (file)
@@ -1,11 +1,14 @@
 import { HttpClientTestingModule } from '@angular/common/http/testing';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
+import { RouterTestingModule } from '@angular/router/testing';
+
+import { TabsModule } from 'ngx-bootstrap/tabs';
 
 import { configureTestBed, i18nProviders } from '../../../../../testing/unit-test-helper';
-import { CoreModule } from '../../../../core/core.module';
 import { CdTableSelection } from '../../../../shared/models/cd-table-selection';
+import { SummaryService } from '../../../../shared/services/summary.service';
 import { SharedModule } from '../../../../shared/shared.module';
-import { CephModule } from '../../../ceph.module';
+import { ServiceDaemonListComponent } from '../service-daemon-list/service-daemon-list.component';
 import { ServiceDetailsComponent } from './service-details.component';
 
 describe('ServiceDetailsComponent', () => {
@@ -13,19 +16,19 @@ describe('ServiceDetailsComponent', () => {
   let fixture: ComponentFixture<ServiceDetailsComponent>;
 
   configureTestBed({
-    imports: [HttpClientTestingModule, CephModule, CoreModule, SharedModule],
-    declarations: [],
-    providers: [i18nProviders]
+    imports: [HttpClientTestingModule, RouterTestingModule, TabsModule.forRoot(), SharedModule],
+    declarations: [ServiceDetailsComponent, ServiceDaemonListComponent],
+    providers: [i18nProviders, { provide: SummaryService, useValue: { subscribe: jest.fn() } }]
   });
 
   beforeEach(() => {
     fixture = TestBed.createComponent(ServiceDetailsComponent);
     component = fixture.componentInstance;
     component.selection = new CdTableSelection();
-    fixture.detectChanges();
   });
 
   it('should create', () => {
+    fixture.detectChanges();
     expect(component).toBeTruthy();
   });
 
index f247dc2b84059303fda978455e032ab7b74d5f5d..6e467ca2a55f018f12fe2713a1ad0a3c53898399 100644 (file)
@@ -27,20 +27,26 @@ describe('ServicesComponent', () => {
 
   const services = [
     {
-      container_image_id: 'e70344c77bcbf3ee389b9bf5128f635cf95f3d59e005c5d8e67fc19bcc74ed23',
-      container_image_name: 'docker.io/ceph/daemon-base:latest-master-devel',
+      service_type: 'osd',
       service_name: 'osd',
-      size: 3,
-      running: 3,
-      last_refresh: '2020-02-25T04:33:26.465699'
+      status: {
+        container_image_id: 'e70344c77bcbf3ee389b9bf5128f635cf95f3d59e005c5d8e67fc19bcc74ed23',
+        container_image_name: 'docker.io/ceph/daemon-base:latest-master-devel',
+        size: 3,
+        running: 3,
+        last_refresh: '2020-02-25T04:33:26.465699'
+      }
     },
     {
-      container_image_id: 'e70344c77bcbf3ee389b9bf5128f635cf95f3d59e005c5d8e67fc19bcc74ed23',
-      container_image_name: 'docker.io/ceph/daemon-base:latest-master-devel',
+      service_type: 'crash',
       service_name: 'crash',
-      size: 1,
-      running: 1,
-      last_refresh: '2020-02-25T04:33:26.465766'
+      status: {
+        container_image_id: 'e70344c77bcbf3ee389b9bf5128f635cf95f3d59e005c5d8e67fc19bcc74ed23',
+        container_image_name: 'docker.io/ceph/daemon-base:latest-master-devel',
+        size: 1,
+        running: 1,
+        last_refresh: '2020-02-25T04:33:26.465766'
+      }
     }
   ];
 
index 39180889ada87c03a1c18a669efc4a7f367eb6bb..a691ff5c61ebda2bf005c510ea1d6bf44f2038cd 100644 (file)
@@ -4,11 +4,12 @@ import { I18n } from '@ngx-translate/i18n-polyfill';
 import { CephServiceService } from '../../../shared/api/ceph-service.service';
 import { OrchestratorService } from '../../../shared/api/orchestrator.service';
 import { TableComponent } from '../../../shared/datatable/table/table.component';
+import { CellTemplate } from '../../../shared/enum/cell-template.enum';
 import { CdTableColumn } from '../../../shared/models/cd-table-column';
 import { CdTableFetchDataContext } from '../../../shared/models/cd-table-fetch-data-context';
 import { CdTableSelection } from '../../../shared/models/cd-table-selection';
 import { Permissions } from '../../../shared/models/permissions';
-import { CephService } from '../../../shared/models/service.interface';
+import { CephServiceSpec } from '../../../shared/models/service.interface';
 import { AuthStorageService } from '../../../shared/services/auth-storage.service';
 
 @Component({
@@ -32,7 +33,7 @@ export class ServicesComponent implements OnChanges, OnInit {
   docsUrl: string;
 
   columns: Array<CdTableColumn> = [];
-  services: Array<CephService> = [];
+  services: Array<CephServiceSpec> = [];
   isLoadingServices = false;
   selection = new CdTableSelection();
 
@@ -54,27 +55,31 @@ export class ServicesComponent implements OnChanges, OnInit {
       },
       {
         name: this.i18n('Container image name'),
-        prop: 'container_image_name',
+        prop: 'status.container_image_name',
         flexGrow: 3
       },
       {
         name: this.i18n('Container image ID'),
-        prop: 'container_image_id',
-        flexGrow: 3
+        prop: 'status.container_image_id',
+        flexGrow: 3,
+        cellTransformation: CellTemplate.truncate,
+        customTemplateConfig: {
+          length: 12
+        }
       },
       {
         name: this.i18n('Running'),
-        prop: 'running',
+        prop: 'status.running',
         flexGrow: 1
       },
       {
         name: this.i18n('Size'),
-        prop: 'size',
+        prop: 'status.size',
         flexGrow: 1
       },
       {
         name: this.i18n('Last Refreshed'),
-        prop: 'last_refresh',
+        prop: 'status.last_refresh',
         flexGrow: 1
       }
     ];
@@ -105,7 +110,7 @@ export class ServicesComponent implements OnChanges, OnInit {
     }
     this.isLoadingServices = true;
     this.cephServiceService.list().subscribe(
-      (services: CephService[]) => {
+      (services: CephServiceSpec[]) => {
         this.services = services;
         this.isLoadingServices = false;
       },
index 2b138eba7bf268dbb6efb5809b47c0ed8780993a..4b5ec0c909981dcdc1fa4a27ee00aa2fa2d950e3 100644 (file)
@@ -60,7 +60,6 @@ describe('NfsFormComponent', () => {
     activatedRoute = TestBed.get(ActivatedRoute);
     fixture.detectChanges();
 
-    httpTesting.expectOne('api/summary').flush([]);
     httpTesting.expectOne('api/nfs-ganesha/daemon').flush([
       { daemon_id: 'node1', cluster_id: 'cluster1' },
       { daemon_id: 'node2', cluster_id: 'cluster1' },
index cbf38d72b5d3f9f73f4c5d3c395284f2b5ee2549..b3bd32cd59cf246f8410e1a15c74cf7f5e3a4cca 100644 (file)
@@ -4,7 +4,7 @@ import { RouterTestingModule } from '@angular/router/testing';
 
 import { TabsModule } from 'ngx-bootstrap/tabs';
 import { ToastrModule } from 'ngx-toastr';
-import { BehaviorSubject, of } from 'rxjs';
+import { of } from 'rxjs';
 
 import {
   configureTestBed,
@@ -53,10 +53,6 @@ describe('NfsListComponent', () => {
     summaryService = TestBed.get(SummaryService);
     nfsService = TestBed.get(NfsService);
     httpTesting = TestBed.get(HttpTestingController);
-
-    // this is needed because summaryService isn't being reset after each test.
-    summaryService['summaryDataSource'] = new BehaviorSubject(null);
-    summaryService['summaryData$'] = summaryService['summaryDataSource'].asObservable();
   });
 
   it('should create', () => {
@@ -68,7 +64,6 @@ describe('NfsListComponent', () => {
       fixture.detectChanges();
       spyOn(nfsService, 'list').and.callThrough();
       httpTesting.expectOne('api/nfs-ganesha/daemon').flush([]);
-      httpTesting.expectOne('api/summary');
     });
 
     afterEach(() => {
index f649c0d235228edaef598703d8b316e5ae0f4155..172eeb1b93c7edb5bd7aace1458483ec815e45f6 100644 (file)
@@ -1,11 +1,14 @@
+import { HttpClientTestingModule } from '@angular/common/http/testing';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
+import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
+import { RouterTestingModule } from '@angular/router/testing';
 
 import { TabsetComponent, TabsModule } from 'ngx-bootstrap/tabs';
 
 import { configureTestBed, i18nProviders } from '../../../../testing/unit-test-helper';
-import { AppModule } from '../../../app.module';
 import { CdTableSelection } from '../../../shared/models/cd-table-selection';
 import { Permissions } from '../../../shared/models/permissions';
+import { SharedModule } from '../../../shared/shared.module';
 import { RbdConfigurationListComponent } from '../../block/rbd-configuration-list/rbd-configuration-list.component';
 import { PoolDetailsComponent } from './pool-details.component';
 
@@ -14,7 +17,13 @@ describe('PoolDetailsComponent', () => {
   let fixture: ComponentFixture<PoolDetailsComponent>;
 
   configureTestBed({
-    imports: [TabsModule.forRoot(), AppModule],
+    imports: [
+      BrowserAnimationsModule,
+      TabsModule.forRoot(),
+      SharedModule,
+      HttpClientTestingModule,
+      RouterTestingModule
+    ],
     declarations: [PoolDetailsComponent, RbdConfigurationListComponent],
     providers: [i18nProviders]
   });
index 37797e96e003992e1f9c7ef3e4559c69d8b1d6ad..1a2fbaeba02c4cfed5b1e9955973104abdbd2a05 100644 (file)
@@ -1,3 +1,7 @@
+<cd-alert-panel *ngIf="isStale"
+                type="warning"
+                size="slim"
+                i18n>The bucket list data might be stale. If needed, you can manually reload it.</cd-alert-panel>
 <cd-table #table
           [autoReload]="false"
           [data]="buckets"
index 24050ebb74aa46d55e78e788f41362b57a97dc04..8573c7395570d38eff8597a2b4c7bd46a81c06a5 100644 (file)
@@ -1,4 +1,4 @@
-import { Component, ViewChild } from '@angular/core';
+import { Component, NgZone, ViewChild } from '@angular/core';
 
 import { I18n } from '@ngx-translate/i18n-polyfill';
 import { BsModalService } from 'ngx-bootstrap/modal';
@@ -34,6 +34,8 @@ export class RgwBucketListComponent {
   columns: CdTableColumn[] = [];
   buckets: object[] = [];
   selection: CdTableSelection = new CdTableSelection();
+  isStale = false;
+  staleTimeout: number;
 
   constructor(
     private authStorageService: AuthStorageService,
@@ -41,7 +43,8 @@ export class RgwBucketListComponent {
     private bsModalService: BsModalService,
     private i18n: I18n,
     private urlBuilder: URLBuilderService,
-    public actionLabels: ActionLabelsI18n
+    public actionLabels: ActionLabelsI18n,
+    private ngZone: NgZone
   ) {
     this.permission = this.authStorageService.getPermissions().rgw;
     this.columns = [
@@ -80,9 +83,23 @@ export class RgwBucketListComponent {
       canBePrimary: (selection: CdTableSelection) => selection.hasMultiSelection
     };
     this.tableActions = [addAction, editAction, deleteAction];
+    this.timeConditionReached();
+  }
+
+  timeConditionReached() {
+    clearTimeout(this.staleTimeout);
+    this.ngZone.runOutsideAngular(() => {
+      this.staleTimeout = window.setTimeout(() => {
+        this.ngZone.run(() => {
+          this.isStale = true;
+        });
+      }, 10000);
+    });
   }
 
   getBucketList(context: CdTableFetchDataContext) {
+    this.isStale = false;
+    this.timeConditionReached();
     this.rgwBucketService.list().subscribe(
       (resp: object[]) => {
         this.buckets = resp;
index a154f1182e34a4d823716df8903c991df91389d9..f1d603536d4f229b7b20367491ae0e44abd9521c 100644 (file)
@@ -1,3 +1,7 @@
+<cd-alert-panel *ngIf="isStale"
+                type="warning"
+                size="slim"
+                i18n>The user list data might be stale. If needed, you can manually reload it.</cd-alert-panel>
 <cd-table #table
           [autoReload]="false"
           [data]="users"
index 46c402019635b7b7e5448987346caf0753f30752..8775220401b63f10acfc455015c008e5a721cb43 100644 (file)
@@ -1,4 +1,4 @@
-import { Component, ViewChild } from '@angular/core';
+import { Component, NgZone, ViewChild } from '@angular/core';
 
 import { I18n } from '@ngx-translate/i18n-polyfill';
 import { BsModalService } from 'ngx-bootstrap/modal';
@@ -29,12 +29,13 @@ const BASE_URL = 'rgw/user';
 export class RgwUserListComponent {
   @ViewChild(TableComponent, { static: true })
   table: TableComponent;
-
   permission: Permission;
   tableActions: CdTableAction[];
   columns: CdTableColumn[] = [];
   users: object[] = [];
   selection: CdTableSelection = new CdTableSelection();
+  isStale = false;
+  staleTimeout: number;
 
   constructor(
     private authStorageService: AuthStorageService,
@@ -42,7 +43,8 @@ export class RgwUserListComponent {
     private bsModalService: BsModalService,
     private i18n: I18n,
     private urlBuilder: URLBuilderService,
-    public actionLabels: ActionLabelsI18n
+    public actionLabels: ActionLabelsI18n,
+    private ngZone: NgZone
   ) {
     this.permission = this.authStorageService.getPermissions().rgw;
     this.columns = [
@@ -103,9 +105,23 @@ export class RgwUserListComponent {
       canBePrimary: (selection: CdTableSelection) => selection.hasMultiSelection
     };
     this.tableActions = [addAction, editAction, deleteAction];
+    this.timeConditionReached();
+  }
+
+  timeConditionReached() {
+    clearTimeout(this.staleTimeout);
+    this.ngZone.runOutsideAngular(() => {
+      this.staleTimeout = window.setTimeout(() => {
+        this.ngZone.run(() => {
+          this.isStale = true;
+        });
+      }, 10000);
+    });
   }
 
   getUserList(context: CdTableFetchDataContext) {
+    this.isStale = false;
+    this.timeConditionReached();
     this.rgwUserService.list().subscribe(
       (resp: object[]) => {
         this.users = resp;
index 64d3f4c38edbe86b0d64af5d0626bceb92cdabe6..66589c9609c76ce174fa77213d1b64d022c7152e 100644 (file)
@@ -1,9 +1,11 @@
-import { Component } from '@angular/core';
+import { Component, OnDestroy, OnInit } from '@angular/core';
 import { Router } from '@angular/router';
 
 import { TooltipConfig } from 'ngx-bootstrap/tooltip';
+import { Subscription } from 'rxjs';
 
-import { NotificationService } from '../../../shared/services/notification.service';
+import { SummaryService } from '../../../shared/services/summary.service';
+import { TaskManagerService } from '../../../shared/services/task-manager.service';
 
 @Component({
   selector: 'cd-workbench-layout',
@@ -19,8 +21,23 @@ import { NotificationService } from '../../../shared/services/notification.servi
     }
   ]
 })
-export class WorkbenchLayoutComponent {
-  constructor(private router: Router, public notificationService: NotificationService) {}
+export class WorkbenchLayoutComponent implements OnInit, OnDestroy {
+  private subs = new Subscription();
+
+  constructor(
+    private router: Router,
+    private summaryService: SummaryService,
+    private taskManagerService: TaskManagerService
+  ) {}
+
+  ngOnInit() {
+    this.subs.add(this.summaryService.startPolling());
+    this.subs.add(this.taskManagerService.init(this.summaryService));
+  }
+
+  ngOnDestroy() {
+    this.subs.unsubscribe();
+  }
 
   isDashboardPage() {
     return this.router.url === '/dashboard';
index 30bb8f18cf2e1d61f069bed4bf5a88ef0bd132b0..b8310fb7351f70e39a95713abfc65a9abb775657 100644 (file)
@@ -1,4 +1,6 @@
-import { Component, HostBinding, OnInit } from '@angular/core';
+import { Component, HostBinding, OnDestroy, OnInit } from '@angular/core';
+
+import { Subscription } from 'rxjs';
 
 import { Icons } from '../../../shared/enum/icons.enum';
 import { Permissions } from '../../../shared/models/permissions';
@@ -14,7 +16,7 @@ import { SummaryService } from '../../../shared/services/summary.service';
   templateUrl: './navigation.component.html',
   styleUrls: ['./navigation.component.scss']
 })
-export class NavigationComponent implements OnInit {
+export class NavigationComponent implements OnInit, OnDestroy {
   @HostBinding('class.isPwdDisplayed') isPwdDisplayed = false;
 
   permissions: Permissions;
@@ -29,6 +31,7 @@ export class NavigationComponent implements OnInit {
   simplebar = {
     autoHide: false
   };
+  private subs = new Subscription();
 
   constructor(
     private authStorageService: AuthStorageService,
@@ -40,15 +43,23 @@ export class NavigationComponent implements OnInit {
   }
 
   ngOnInit() {
-    this.summaryService.subscribe((data: any) => {
-      if (!data) {
-        return;
-      }
-      this.summaryData = data;
-    });
-    this.authStorageService.isPwdDisplayed$.subscribe((isDisplayed) => {
-      this.isPwdDisplayed = isDisplayed;
-    });
+    this.subs.add(
+      this.summaryService.subscribe((data: any) => {
+        if (!data) {
+          return;
+        }
+        this.summaryData = data;
+      })
+    );
+    this.subs.add(
+      this.authStorageService.isPwdDisplayed$.subscribe((isDisplayed) => {
+        this.isPwdDisplayed = isDisplayed;
+      })
+    );
+  }
+
+  ngOnDestroy(): void {
+    this.subs.unsubscribe();
   }
 
   blockHealthColor() {
index ec615cc4c1a4eb882655f0b4fa170897ec9c3bae..aaedd546eff48a33d20136f97958840d2c3b9df8 100644 (file)
@@ -1,6 +1,6 @@
-import { Component, OnInit } from '@angular/core';
+import { Component, OnDestroy, OnInit } from '@angular/core';
 
-import * as _ from 'lodash';
+import { Subscription } from 'rxjs';
 
 import { Icons } from '../../../shared/enum/icons.enum';
 import { NotificationService } from '../../../shared/services/notification.service';
@@ -11,10 +11,10 @@ import { SummaryService } from '../../../shared/services/summary.service';
   templateUrl: './notifications.component.html',
   styleUrls: ['./notifications.component.scss']
 })
-export class NotificationsComponent implements OnInit {
+export class NotificationsComponent implements OnInit, OnDestroy {
   icons = Icons;
-
   hasRunningTasks = false;
+  private subs = new Subscription();
 
   constructor(
     public notificationService: NotificationService,
@@ -22,12 +22,18 @@ export class NotificationsComponent implements OnInit {
   ) {}
 
   ngOnInit() {
-    this.summaryService.subscribe((data: any) => {
-      if (!data) {
-        return;
-      }
-      this.hasRunningTasks = data.executing_tasks.length > 0;
-    });
+    this.subs.add(
+      this.summaryService.subscribe((data: any) => {
+        if (!data) {
+          return;
+        }
+        this.hasRunningTasks = data.executing_tasks.length > 0;
+      })
+    );
+  }
+
+  ngOnDestroy(): void {
+    this.subs.unsubscribe();
   }
 
   toggleSidebar() {
index 8df6cb93c651fd54cf0622bb1bb7b66b85477002..f1e4003b11b9340e6952efbfefed9f1aa3048c98 100644 (file)
@@ -4,7 +4,7 @@ import { Injectable } from '@angular/core';
 import { Observable } from 'rxjs';
 
 import { Daemon } from '../models/daemon.interface';
-import { CephService } from '../models/service.interface';
+import { CephServiceSpec } from '../models/service.interface';
 import { ApiModule } from './api.module';
 
 @Injectable({
@@ -15,11 +15,11 @@ export class CephServiceService {
 
   constructor(private http: HttpClient) {}
 
-  list(serviceName?: string): Observable<CephService[]> {
+  list(serviceName?: string): Observable<CephServiceSpec[]> {
     const options = serviceName
       ? { params: new HttpParams().set('service_name', serviceName) }
       : {};
-    return this.http.get<CephService[]>(this.url, options);
+    return this.http.get<CephServiceSpec[]>(this.url, options);
   }
 
   getDaemons(serviceName?: string): Observable<Daemon[]> {
index 5bd9abad2e2048876d209b468c6b627bb7ac792f..37be86346dd0cca9112bf8facdb5fa2adc7fc086 100644 (file)
@@ -1,4 +1,9 @@
-import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing';
+import { HttpRequest } from '@angular/common/http';
+import {
+  HttpClientTestingModule,
+  HttpTestingController,
+  TestRequest
+} from '@angular/common/http/testing';
 import { fakeAsync, TestBed, tick } from '@angular/core/testing';
 
 import { configureTestBed } from '../../../testing/unit-test-helper';
@@ -7,6 +12,8 @@ import { RbdMirroringService } from './rbd-mirroring.service';
 describe('RbdMirroringService', () => {
   let service: RbdMirroringService;
   let httpTesting: HttpTestingController;
+  let getMirroringSummaryCalls: () => TestRequest[];
+  let flushCalls: (call: TestRequest) => void;
 
   const summary: Record<string, any> = {
     status: 0,
@@ -31,10 +38,16 @@ describe('RbdMirroringService', () => {
   beforeEach(() => {
     service = TestBed.get(RbdMirroringService);
     httpTesting = TestBed.get(HttpTestingController);
-
-    const req = httpTesting.expectOne('api/block/mirroring/summary');
-    expect(req.request.method).toBe('GET');
-    req.flush(summary);
+    getMirroringSummaryCalls = () => {
+      return httpTesting.match((request: HttpRequest<any>) => {
+        return request.url.match(/api\/block\/mirroring\/summary/) && request.method === 'GET';
+      });
+    };
+    flushCalls = (call: TestRequest) => {
+      if (!call.cancelled) {
+        call.flush(summary);
+      }
+    };
   });
 
   afterEach(() => {
@@ -46,28 +59,31 @@ describe('RbdMirroringService', () => {
   });
 
   it('should periodically poll summary', fakeAsync(() => {
+    const subs = service.startPolling();
+    tick();
     const calledWith: any[] = [];
-    service.subscribeSummary((data) => {
+    service.subscribeSummary((data: any) => {
       calledWith.push(data);
     });
-    service.refreshAndSchedule();
-    tick(30000);
-    // In order to not trigger setTimeout again,
-    // which would raise 'Error: 1 timer(s) still in the queue.'
-    spyOn(service, 'refreshAndSchedule').and.callFake(() => true);
-    tick(30000);
-
-    const calls = httpTesting.match((request) => {
-      return request.url.match(/api\/block\/mirroring\/summary/) && request.method === 'GET';
-    });
+    tick(service.REFRESH_INTERVAL * 2);
+    const calls = getMirroringSummaryCalls();
 
-    expect(calls.length).toEqual(2);
-    calls.forEach((call) => call.flush(summary));
+    expect(calls.length).toEqual(3);
+    calls.forEach((call: TestRequest) => flushCalls(call));
+    expect(calledWith).toEqual([null, summary]);
 
-    expect(calledWith).toEqual([summary, summary, summary]);
+    subs.unsubscribe();
   }));
 
   it('should get current summary', () => {
+    service.refresh();
+    const calledWith: any[] = [];
+    service.subscribeSummary((data: any) => {
+      calledWith.push(data);
+    });
+    const calls = getMirroringSummaryCalls();
+    calls.forEach((call: TestRequest) => flushCalls(call));
+
     expect(service.getCurrentSummary()).toEqual(summary);
   });
 
index d32b09487e867db48dcb383bf0c751b08789a446..c1f069323be2480efcd39cd5380acb08679b7e95 100644 (file)
@@ -1,9 +1,10 @@
 import { HttpClient } from '@angular/common/http';
-import { Injectable, NgZone } from '@angular/core';
+import { Injectable } from '@angular/core';
 
-import { BehaviorSubject, Subscription } from 'rxjs';
+import { BehaviorSubject, Observable, Subscription } from 'rxjs';
 
 import { cdEncode, cdEncodeNot } from '../decorators/cd-encode';
+import { TimerService } from '../services/timer.service';
 import { ApiModule } from './api.module';
 
 @cdEncode
@@ -11,32 +12,32 @@ import { ApiModule } from './api.module';
   providedIn: ApiModule
 })
 export class RbdMirroringService {
+  readonly REFRESH_INTERVAL = 30000;
   // Observable sources
   private summaryDataSource = new BehaviorSubject(null);
-
   // Observable streams
   summaryData$ = this.summaryDataSource.asObservable();
 
-  constructor(private http: HttpClient, private ngZone: NgZone) {
-    this.refreshAndSchedule();
+  constructor(private http: HttpClient, private timerService: TimerService) {}
+
+  startPolling(): Subscription {
+    return this.timerService
+      .get(() => this.retrieveSummaryObservable(), this.REFRESH_INTERVAL)
+      .subscribe(this.retrieveSummaryObserver());
   }
 
-  refresh() {
-    this.http.get('api/block/mirroring/summary').subscribe((data) => {
-      this.summaryDataSource.next(data);
-    });
+  refresh(): Subscription {
+    return this.retrieveSummaryObservable().subscribe(this.retrieveSummaryObserver());
   }
 
-  refreshAndSchedule() {
-    this.refresh();
+  private retrieveSummaryObservable(): Observable<Object> {
+    return this.http.get('api/block/mirroring/summary');
+  }
 
-    this.ngZone.runOutsideAngular(() => {
-      setTimeout(() => {
-        this.ngZone.run(() => {
-          this.refreshAndSchedule();
-        });
-      }, 30000);
-    });
+  private retrieveSummaryObserver(): (data: any) => void {
+    return (data: any) => {
+      this.summaryDataSource.next(data);
+    };
   }
 
   /**
@@ -48,7 +49,7 @@ export class RbdMirroringService {
 
   /**
    * Subscribes to the summaryData,
-   * which is updated once every 30 seconds or when a new task is created.
+   * which is updated periodically or when a new task is created.
    */
   subscribeSummary(next: (summary: any) => void, error?: (error: any) => void): Subscription {
     return this.summaryData$.subscribe(next, error);
index 6af8bc04ac6cfbc195903c575b4779e9351604be..0fdde25b6dc88f60e7db6c837157b05c11756541 100644 (file)
@@ -13,16 +13,16 @@ import * as _ from 'lodash';
 import * as moment from 'moment';
 import { Subscription } from 'rxjs';
 
-import { ExecutingTask } from '../../../shared/models/executing-task';
-import { SummaryService } from '../../../shared/services/summary.service';
-import { TaskMessageService } from '../../../shared/services/task-message.service';
 import { Icons } from '../../enum/icons.enum';
 import { CdNotification } from '../../models/cd-notification';
+import { ExecutingTask } from '../../models/executing-task';
 import { FinishedTask } from '../../models/finished-task';
 import { AuthStorageService } from '../../services/auth-storage.service';
 import { NotificationService } from '../../services/notification.service';
 import { PrometheusAlertService } from '../../services/prometheus-alert.service';
 import { PrometheusNotificationService } from '../../services/prometheus-notification.service';
+import { SummaryService } from '../../services/summary.service';
+import { TaskMessageService } from '../../services/task-message.service';
 
 @Component({
   selector: 'cd-notifications-sidebar',
@@ -39,8 +39,7 @@ export class NotificationsSidebarComponent implements OnInit, OnDestroy {
 
   executingTasks: ExecutingTask[] = [];
 
-  private sidebarSubscription: Subscription;
-  private notificationDataSubscription: Subscription;
+  private subs = new Subscription();
 
   icons = Icons;
 
@@ -68,12 +67,7 @@ export class NotificationsSidebarComponent implements OnInit, OnDestroy {
   ngOnDestroy() {
     window.clearInterval(this.interval);
     window.clearTimeout(this.timeout);
-    if (this.sidebarSubscription) {
-      this.sidebarSubscription.unsubscribe();
-    }
-    if (this.notificationDataSubscription) {
-      this.notificationDataSubscription.unsubscribe();
-    }
+    this.subs.unsubscribe();
   }
 
   ngOnInit() {
@@ -91,55 +85,59 @@ export class NotificationsSidebarComponent implements OnInit, OnDestroy {
       });
     }
 
-    this.notificationDataSubscription = this.notificationService.data$.subscribe(
-      (notifications: CdNotification[]) => {
+    this.subs.add(
+      this.notificationService.data$.subscribe((notifications: CdNotification[]) => {
         this.notifications = _.orderBy(notifications, ['timestamp'], ['desc']);
         this.cdRef.detectChanges();
-      }
+      })
     );
 
-    this.sidebarSubscription = this.notificationService.sidebarSubject.subscribe((forceClose) => {
-      if (forceClose) {
-        this.isSidebarOpened = false;
-      } else {
-        this.isSidebarOpened = !this.isSidebarOpened;
-      }
+    this.subs.add(
+      this.notificationService.sidebarSubject.subscribe((forceClose) => {
+        if (forceClose) {
+          this.isSidebarOpened = false;
+        } else {
+          this.isSidebarOpened = !this.isSidebarOpened;
+        }
+
+        window.clearTimeout(this.timeout);
+        this.timeout = window.setTimeout(() => {
+          this.cdRef.detectChanges();
+        }, 0);
+      })
+    );
 
-      window.clearTimeout(this.timeout);
-      this.timeout = window.setTimeout(() => {
-        this.cdRef.detectChanges();
-      }, 0);
-    });
-
-    this.summaryService.subscribe((data: any) => {
-      if (!data) {
-        return;
-      }
-      this._handleTasks(data.executing_tasks);
-
-      this.mutex.acquire().then((release) => {
-        _.filter(
-          data.finished_tasks,
-          (task: FinishedTask) => !this.last_task || moment(task.end_time).isAfter(this.last_task)
-        ).forEach((task) => {
-          const config = this.notificationService.finishedTaskToNotification(task, task.success);
-          const notification = new CdNotification(config);
-          notification.timestamp = task.end_time;
-          notification.duration = task.duration;
-
-          if (!this.last_task || moment(task.end_time).isAfter(this.last_task)) {
-            this.last_task = task.end_time;
-            window.localStorage.setItem('last_task', this.last_task);
-          }
-
-          this.notificationService.save(notification);
-        });
+    this.subs.add(
+      this.summaryService.subscribe((data: any) => {
+        if (!data) {
+          return;
+        }
+        this._handleTasks(data.executing_tasks);
+
+        this.mutex.acquire().then((release) => {
+          _.filter(
+            data.finished_tasks,
+            (task: FinishedTask) => !this.last_task || moment(task.end_time).isAfter(this.last_task)
+          ).forEach((task) => {
+            const config = this.notificationService.finishedTaskToNotification(task, task.success);
+            const notification = new CdNotification(config);
+            notification.timestamp = task.end_time;
+            notification.duration = task.duration;
+
+            if (!this.last_task || moment(task.end_time).isAfter(this.last_task)) {
+              this.last_task = task.end_time;
+              window.localStorage.setItem('last_task', this.last_task);
+            }
+
+            this.notificationService.save(notification);
+          });
 
-        this.cdRef.detectChanges();
+          this.cdRef.detectChanges();
 
-        release();
-      });
-    });
+          release();
+        });
+      })
+    );
   }
 
   _handleTasks(executingTasks: ExecutingTask[]) {
index c985616d3a699ef335147c383439432e72635dfa..51c5363e8830a717d891af89e11a3c91f8ae4236 100644 (file)
              let-value="value">
   <span>{{ value | map:column?.customTemplateConfig }}</span>
 </ng-template>
+
+<ng-template #truncateTpl
+             let-column="column"
+             let-value="value">
+  <span data-toggle="tooltip"
+        [title]="value">{{ value | truncate:column?.customTemplateConfig?.length:column?.customTemplateConfig?.omission }}</span>
+</ng-template>
index 4433326cebbe2cccd09755e4444e0e2c1cbb77cd..1eb859e18f1617536257434990e3b7eca7bec6ec 100644 (file)
@@ -61,6 +61,8 @@ export class TableComponent implements AfterContentChecked, OnInit, OnChanges, O
   badgeTpl: TemplateRef<any>;
   @ViewChild('mapTpl', { static: true })
   mapTpl: TemplateRef<any>;
+  @ViewChild('truncateTpl', { static: true })
+  truncateTpl: TemplateRef<any>;
 
   // This is the array with the items to be shown.
   @Input()
@@ -513,6 +515,7 @@ export class TableComponent implements AfterContentChecked, OnInit, OnChanges, O
     this.cellTemplates.classAdding = this.classAddingTpl;
     this.cellTemplates.badge = this.badgeTpl;
     this.cellTemplates.map = this.mapTpl;
+    this.cellTemplates.truncate = this.truncateTpl;
   }
 
   useCustomClass(value: any): string {
index 47f180bc5a90109b0c80fbb967b3c9187f7e4870..586f4376f04bd5593babf48bfb1c3c36d1a55ff3 100644 (file)
@@ -29,5 +29,16 @@ export enum CellTemplate {
   //     [key: any]: any
   //   }
   // }
-  map = 'map'
+  map = 'map',
+  // Truncates string if it's longer than the given maximum
+  // string length.
+  // {
+  //   ...
+  //   cellTransformation: CellTemplate.truncate,
+  //   customTemplateConfig: {
+  //     length?: number;   // Defaults to 30.
+  //     omission?: string; // Defaults to empty string.
+  //   }
+  // }
+  truncate = 'truncate'
 }
index f1acdd4d6d5f14cadd4e8b434015859156fcf92e..151e0bd2987cfdaf74f497fbab412223acacf0d4 100644 (file)
@@ -1,8 +1,17 @@
-export interface CephService {
+export interface CephServiceStatus {
   container_image_id: string;
   container_image_name: string;
-  service_name: string;
   size: number;
   running: number;
   last_refresh: Date;
+  created: Date;
+}
+
+// This will become handy when creating arbitrary services
+export interface CephServiceSpec {
+  service_name: string;
+  service_type: string;
+  service_id: string;
+  unmanaged: boolean;
+  status: CephServiceStatus;
 }
index 5a70d512ff6f8492c68b2288d3b7c99ff21383fc..3deb535929d3c5509bdb15039e2ac22174f60dba 100755 (executable)
@@ -26,6 +26,7 @@ import { OrdinalPipe } from './ordinal.pipe';
 import { RbdConfigurationSourcePipe } from './rbd-configuration-source.pipe';
 import { RelativeDatePipe } from './relative-date.pipe';
 import { RoundPipe } from './round.pipe';
+import { TruncatePipe } from './truncate.pipe';
 import { UpperFirstPipe } from './upper-first.pipe';
 
 @NgModule({
@@ -56,7 +57,8 @@ import { UpperFirstPipe } from './upper-first.pipe';
     UpperFirstPipe,
     RbdConfigurationSourcePipe,
     DurationPipe,
-    MapPipe
+    MapPipe,
+    TruncatePipe
   ],
   exports: [
     ArrayPipe,
@@ -84,7 +86,8 @@ import { UpperFirstPipe } from './upper-first.pipe';
     UpperFirstPipe,
     RbdConfigurationSourcePipe,
     DurationPipe,
-    MapPipe
+    MapPipe,
+    TruncatePipe
   ],
   providers: [
     ArrayPipe,
@@ -108,7 +111,8 @@ import { UpperFirstPipe } from './upper-first.pipe';
     MillisecondsPipe,
     NotAvailablePipe,
     UpperFirstPipe,
-    MapPipe
+    MapPipe,
+    TruncatePipe
   ]
 })
 export class PipesModule {}
diff --git a/ceph/src/pybind/mgr/dashboard/frontend/src/app/shared/pipes/truncate.pipe.spec.ts b/ceph/src/pybind/mgr/dashboard/frontend/src/app/shared/pipes/truncate.pipe.spec.ts
new file mode 100644 (file)
index 0000000..cc0b2fc
--- /dev/null
@@ -0,0 +1,21 @@
+import { TruncatePipe } from './truncate.pipe';
+
+describe('TruncatePipe', () => {
+  const pipe = new TruncatePipe();
+
+  it('create an instance', () => {
+    expect(pipe).toBeTruthy();
+  });
+
+  it('should truncate string (1)', () => {
+    expect(pipe.transform('fsdfdsfs asdasd', 5, '')).toEqual('fsdfd');
+  });
+
+  it('should truncate string (2)', () => {
+    expect(pipe.transform('fsdfdsfs asdasd', 10, '...')).toEqual('fsdfdsf...');
+  });
+
+  it('should not truncate number', () => {
+    expect(pipe.transform(2, 6, '...')).toBe(2);
+  });
+});
diff --git a/ceph/src/pybind/mgr/dashboard/frontend/src/app/shared/pipes/truncate.pipe.ts b/ceph/src/pybind/mgr/dashboard/frontend/src/app/shared/pipes/truncate.pipe.ts
new file mode 100644 (file)
index 0000000..d825832
--- /dev/null
@@ -0,0 +1,16 @@
+import { Pipe, PipeTransform } from '@angular/core';
+
+import * as _ from 'lodash';
+
+@Pipe({
+  name: 'truncate'
+})
+export class TruncatePipe implements PipeTransform {
+  transform(value: any, length: number, omission?: string): any {
+    if (!_.isString(value)) {
+      return value;
+    }
+    omission = _.defaultTo(omission, '');
+    return _.truncate(value, { length, omission });
+  }
+}
index d2817319d03b1c18ce91ebd5c7cec7a64da54bab..bb7f2a0d6145386a8b2249d99b501a84c542242c 100644 (file)
@@ -1,10 +1,9 @@
 import { HttpClient } from '@angular/common/http';
 import { Injectable } from '@angular/core';
 
-import { Observable, timer } from 'rxjs';
-import { observeOn, shareReplay, switchMap } from 'rxjs/operators';
+import { Observable } from 'rxjs';
 
-import { NgZoneSchedulerService } from './ngzone-scheduler.service';
+import { TimerService } from './timer.service';
 
 export class FeatureTogglesMap {
   rbd = true;
@@ -25,11 +24,10 @@ export class FeatureTogglesService {
   readonly REFRESH_INTERVAL: number = 30000;
   private featureToggleMap$: FeatureTogglesMap$;
 
-  constructor(private http: HttpClient, protected ngZone: NgZoneSchedulerService) {
-    this.featureToggleMap$ = timer(0, this.REFRESH_INTERVAL, ngZone.leave).pipe(
-      switchMap(() => this.http.get<FeatureTogglesMap>(this.API_URL)),
-      shareReplay(1),
-      observeOn(ngZone.enter)
+  constructor(private http: HttpClient, private timerService: TimerService) {
+    this.featureToggleMap$ = this.timerService.get(
+      () => this.http.get<FeatureTogglesMap>(this.API_URL),
+      this.REFRESH_INTERVAL
     );
   }
 
index 9741084b2a885fb4091f0f73d75fd6991452ebc5..100beefd2fb2516bb29d905600f76e0521e6a7b0 100644 (file)
@@ -2,7 +2,7 @@ import { HttpClient } from '@angular/common/http';
 import { fakeAsync, TestBed, tick } from '@angular/core/testing';
 import { RouterTestingModule } from '@angular/router/testing';
 
-import { of as observableOf, Subscriber } from 'rxjs';
+import { of as observableOf, Subscriber, Subscription } from 'rxjs';
 
 import { configureTestBed } from '../../../testing/unit-test-helper';
 import { ExecutingTask } from '../models/executing-task';
@@ -12,6 +12,7 @@ import { SummaryService } from './summary.service';
 describe('SummaryService', () => {
   let summaryService: SummaryService;
   let authStorageService: AuthStorageService;
+  let subs: Subscription;
 
   const summary: Record<string, any> = {
     executing_tasks: [],
@@ -47,20 +48,22 @@ describe('SummaryService', () => {
   });
 
   it('should call refresh', fakeAsync(() => {
-    summaryService.enablePolling();
     authStorageService.set('foobar', undefined, undefined);
     const calledWith: any[] = [];
-    summaryService.subscribe((data) => {
-      calledWith.push(data);
-    });
+    subs = new Subscription();
+    subs.add(summaryService.startPolling());
+    tick();
+    subs.add(
+      summaryService.subscribe((data) => {
+        calledWith.push(data);
+      })
+    );
     expect(calledWith).toEqual([summary]);
-    summaryService.refresh();
+    subs.add(summaryService.refresh());
     expect(calledWith).toEqual([summary, summary]);
-    tick(10000);
+    tick(summaryService.REFRESH_INTERVAL * 2);
     expect(calledWith.length).toEqual(4);
-    // In order to not trigger setInterval again,
-    // which would raise 'Error: 1 timer(s) still in the queue.'
-    window.clearInterval(summaryService.polling);
+    subs.unsubscribe();
   }));
 
   describe('Should test methods after first refresh', () => {
index dc199b3f2e7cf37aa643bdec042cfa67d761b021..2603841921409c4171f50ff39b5312d947937144 100644 (file)
@@ -1,46 +1,42 @@
 import { HttpClient } from '@angular/common/http';
-import { Injectable, NgZone } from '@angular/core';
-import { Router } from '@angular/router';
+import { Injectable } from '@angular/core';
 
 import * as _ from 'lodash';
-import { BehaviorSubject, Subscription } from 'rxjs';
+import { BehaviorSubject, Observable, Subscription } from 'rxjs';
 
 import { ExecutingTask } from '../models/executing-task';
+import { TimerService } from './timer.service';
 
 @Injectable({
   providedIn: 'root'
 })
 export class SummaryService {
+  readonly REFRESH_INTERVAL = 5000;
   // Observable sources
   private summaryDataSource = new BehaviorSubject(null);
-
   // Observable streams
   summaryData$ = this.summaryDataSource.asObservable();
 
-  polling: number;
+  constructor(private http: HttpClient, private timerService: TimerService) {}
 
-  constructor(private http: HttpClient, private router: Router, private ngZone: NgZone) {
-    this.enablePolling();
+  startPolling(): Subscription {
+    return this.timerService
+      .get(() => this.retrieveSummaryObservable(), this.REFRESH_INTERVAL)
+      .subscribe(this.retrieveSummaryObserver());
   }
 
-  enablePolling() {
-    this.refresh();
+  refresh(): Subscription {
+    return this.retrieveSummaryObservable().subscribe(this.retrieveSummaryObserver());
+  }
 
-    this.ngZone.runOutsideAngular(() => {
-      this.polling = window.setInterval(() => {
-        this.ngZone.run(() => {
-          this.refresh();
-        });
-      }, 5000);
-    });
+  private retrieveSummaryObservable(): Observable<Object> {
+    return this.http.get('api/summary');
   }
 
-  refresh() {
-    if (!_.includes(['/login', '/login-change-password'], this.router.url)) {
-      this.http.get('api/summary').subscribe((data) => {
-        this.summaryDataSource.next(data);
-      });
-    }
+  private retrieveSummaryObserver(): (data: any) => void {
+    return (data: Object) => {
+      this.summaryDataSource.next(data);
+    };
   }
 
   /**
@@ -52,7 +48,7 @@ export class SummaryService {
 
   /**
    * Subscribes to the summaryData,
-   * which is updated once every 5 seconds or when a new task is created.
+   * which is updated periodically or when a new task is created.
    */
   subscribe(next: (summary: any) => void, error?: (error: any) => void): Subscription {
     return this.summaryData$.subscribe(next, error);
index 235d001f12e4a5fc170bbfe05575c329f2f58e12..6c797d50633fbcd488e781bdc402ef240805051c 100644 (file)
@@ -57,6 +57,7 @@ describe('TaskManagerService', () => {
     expect(taskManagerService.subscriptions.length).toBe(1);
     summaryService.refresh();
     tick();
+    taskManagerService.init(summaryService);
     expect(called).toEqual(true);
     expect(taskManagerService.subscriptions).toEqual([]);
   }));
index d23b5b49fb9a542dff1c11ecaaedf91502bf6794..2ef8da4136c51a873adafba3076e2185965e5f0f 100644 (file)
@@ -25,8 +25,8 @@ class TaskSubscription {
 export class TaskManagerService {
   subscriptions: Array<TaskSubscription> = [];
 
-  constructor(summaryService: SummaryService) {
-    summaryService.subscribe((data: any) => {
+  init(summaryService: SummaryService) {
+    return summaryService.subscribe((data: any) => {
       if (!data) {
         return;
       }
@@ -51,7 +51,7 @@ export class TaskManagerService {
     this.subscriptions.push(new TaskSubscription(name, metadata, onTaskFinished));
   }
 
-  _getTask(subscription: TaskSubscription, tasks: Array<Task>): Task {
+  private _getTask(subscription: TaskSubscription, tasks: Array<Task>): Task {
     for (const task of tasks) {
       if (task.name === subscription.name && _.isEqual(task.metadata, subscription.metadata)) {
         return task;
diff --git a/ceph/src/pybind/mgr/dashboard/frontend/src/app/shared/services/timer.service.spec.ts b/ceph/src/pybind/mgr/dashboard/frontend/src/app/shared/services/timer.service.spec.ts
new file mode 100644 (file)
index 0000000..641fa71
--- /dev/null
@@ -0,0 +1,68 @@
+import { fakeAsync, TestBed, tick } from '@angular/core/testing';
+
+import { of, Subscription } from 'rxjs';
+
+import { configureTestBed } from '../../../testing/unit-test-helper';
+import { TimerService } from './timer.service';
+
+describe('TimerService', () => {
+  let service: TimerService;
+  let subs: Subscription;
+  let receivedData: any[];
+  const next = () => of(true);
+  const observer = (data: boolean) => {
+    receivedData.push(data);
+  };
+
+  configureTestBed({
+    providers: [TimerService]
+  });
+
+  beforeEach(() => {
+    service = TestBed.get(TimerService);
+    receivedData = [];
+  });
+
+  it('should be created', () => {
+    expect(service).toBeTruthy();
+  });
+
+  it('should not emit any value when no subscribers', fakeAsync(() => {
+    subs = service.get(next).subscribe(observer);
+    tick(service.DEFAULT_REFRESH_INTERVAL);
+    expect(receivedData.length).toEqual(2);
+
+    subs.unsubscribe();
+
+    tick(service.DEFAULT_REFRESH_INTERVAL);
+    expect(receivedData.length).toEqual(2);
+  }));
+
+  it('should emit value with no dueTime and no refresh interval', fakeAsync(() => {
+    subs = service.get(next, null, null).subscribe(observer);
+    tick(service.DEFAULT_REFRESH_INTERVAL);
+    expect(receivedData.length).toEqual(1);
+    expect(receivedData).toEqual([true]);
+
+    subs.unsubscribe();
+  }));
+
+  it('should emit expected values when refresh interval + no dueTime', fakeAsync(() => {
+    subs = service.get(next).subscribe(observer);
+    tick(service.DEFAULT_REFRESH_INTERVAL * 2);
+    expect(receivedData.length).toEqual(3);
+    expect(receivedData).toEqual([true, true, true]);
+
+    subs.unsubscribe();
+  }));
+
+  it('should emit expected values when dueTime equal to refresh interval', fakeAsync(() => {
+    const dueTime = 1000;
+    subs = service.get(next, service.DEFAULT_REFRESH_INTERVAL, dueTime).subscribe(observer);
+    tick(service.DEFAULT_REFRESH_INTERVAL * 2);
+    expect(receivedData.length).toEqual(2);
+    expect(receivedData).toEqual([true, true]);
+
+    subs.unsubscribe();
+  }));
+});
diff --git a/ceph/src/pybind/mgr/dashboard/frontend/src/app/shared/services/timer.service.ts b/ceph/src/pybind/mgr/dashboard/frontend/src/app/shared/services/timer.service.ts
new file mode 100644 (file)
index 0000000..2ae2f4c
--- /dev/null
@@ -0,0 +1,27 @@
+import { Injectable } from '@angular/core';
+
+import { Observable, timer } from 'rxjs';
+import { observeOn, shareReplay, switchMap } from 'rxjs/operators';
+
+import { NgZoneSchedulerService } from './ngzone-scheduler.service';
+
+@Injectable({
+  providedIn: 'root'
+})
+export class TimerService {
+  readonly DEFAULT_REFRESH_INTERVAL = 5000;
+  readonly DEFAULT_DUE_TIME = 0;
+  constructor(private ngZone: NgZoneSchedulerService) {}
+
+  get(
+    next: () => Observable<any>,
+    refreshInterval: number = this.DEFAULT_REFRESH_INTERVAL,
+    dueTime: number = this.DEFAULT_DUE_TIME
+  ): Observable<any> {
+    return timer(dueTime, refreshInterval, this.ngZone.leave).pipe(
+      observeOn(this.ngZone.enter),
+      switchMap(next),
+      shareReplay({ refCount: true, bufferSize: 1 })
+    );
+  }
+}
index d8ff691a8e0f65714a1a702e29a7f4b74cc76b86..dc96fb515b8f268c5d2020ba1f59a6b6363dc0ff 100644 (file)
         <source>Logs</source>
         <target>Záznamy událostí</target>
       </trans-unit>
-      <trans-unit id="9fe218829514884cdd0ca2300573a4e0428c324f" datatype="html">
-        <source>Alerts</source>
-        <target>Výstrahy</target>
-      </trans-unit>
-      <trans-unit id="aa0c44aa1e5727061baa91e954f77e2f5f9a37c9" datatype="html">
-        <source>Silences</source>
-        <target>Ticha</target>
+      <trans-unit id="17fc3efe5f9fa4e0289c900cb6202265215a1a27" datatype="html">
+        <source>Monitoring</source>
+        <target>Monitoring</target>
       </trans-unit>
       <trans-unit id="92899fa68e8ca108912163ff58edc8540e453787" datatype="html">
         <source>Pools</source>
         <source>Back</source>
         <target>Zpět</target>
       </trans-unit>
+      <trans-unit id="9ce641535be1ffa106c87724ba0637facaef5f61" datatype="html">
+        <source>Your password will expire in 
+          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>less than 1
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day. Click
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.
+        </source>
+        <target>Your password will expire in 
+          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>less than 1
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day. Click
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.
+        </target>
+      </trans-unit>
+      <trans-unit id="c2f34088c155e40ffb23770a465a65868ce772b2" datatype="html">
+        <source>Your password will expire in 
+          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
+          <x id="INTERPOLATION" equiv-text="{{ expirationDays }}"/>
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day(s). Click
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.
+        </source>
+        <target>Your password will expire in 
+          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
+          <x id="INTERPOLATION" equiv-text="{{ expirationDays }}"/>
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day(s). Click
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.
+        </target>
+      </trans-unit>
+      <trans-unit id="9b516f972c744779257310b73f6e97438b726707" datatype="html">
+        <source>Orchestrator is not available. Please consult the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to
+  configure and enable the functionality.
+        </source>
+        <target>Orchestrator is not available. Please consult the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to
+  configure and enable the functionality.
+        </target>
+      </trans-unit>
       <trans-unit id="012741ee52b3c050e4a977c37cc2334f7974f141" datatype="html">
         <source>Failed to load data.</source>
         <target>Data se nepodařilo načíst</target>
       </trans-unit>
+      <trans-unit id="1e5e23363e949f7dcbaf034bdb141a561132a10e" datatype="html">
+        <source>Clear filters</source>
+        <target>Clear filters</target>
+      </trans-unit>
       <trans-unit id="80cc9a12d4bf6fe454ed94b379eeaf915f920bb7" datatype="html">
         <source>selected</source>
         <target>vybráno</target>
         <source>Values</source>
         <target>Hodnoty</target>
       </trans-unit>
+      <trans-unit id="5894f7158499fdb89527af50c9f1cf7d4c95cad6" datatype="html">
+        <source>-- Default --</source>
+        <target>-- Default --</target>
+      </trans-unit>
+      <trans-unit id="514f6e12d035a6d9b00de6b3e55c18b73488da07" datatype="html">
+        <source>true</source>
+        <target>true</target>
+      </trans-unit>
+      <trans-unit id="774f5e6a183dea08393789b6f72e86afad729419" datatype="html">
+        <source>false</source>
+        <target>false</target>
+      </trans-unit>
       <trans-unit id="82029b6db704c56a2aa3e82ac555b8655356b077" datatype="html">
         <source>The entered value is too high! It must not be greater than 
           <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.
         <source>Cancel</source>
         <target>Storno</target>
       </trans-unit>
+      <trans-unit id="55a2f26b2e87886d9b8015a887e38e51ab2a866a" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>
+          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>
+          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8" datatype="html">
+        <source>Close</source>
+        <target>Zavřít</target>
+      </trans-unit>
       <trans-unit id="40661476cb24c89d8b06614998e31d5fbe84eeb6" datatype="html">
         <source>Hosts List</source>
         <target>Seznam strojů</target>
         <source>Overall Performance</source>
         <target>Celková výkonnost</target>
       </trans-unit>
-      <trans-unit id="6bc15dc1a621b6ff7378db7fd3ac10b2a2627c77" datatype="html">
-        <source>Please consult the
-          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
-          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to
-  configure and enable the orchestrator functionality.
-        </source>
-        <target>Nahlédněte do dokumentace
-          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
-          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> ohledně toho, jak
-   nastavit a zapnout funkci orchestrace.
-        </target>
-      </trans-unit>
       <trans-unit id="3e24569eca61d598c8b01defbbbb1fa8bd5222bc" datatype="html">
         <source>Devices</source>
         <target>Zařízení</target>
         <source>Not In Quorum</source>
         <target>Není v kvóru</target>
       </trans-unit>
+      <trans-unit id="4383e9662ea19839c7499b2128d43a195e564317" datatype="html">
+        <source>OSD creation preview</source>
+        <target>OSD creation preview</target>
+      </trans-unit>
+      <trans-unit id="366225c51e0b00bcb1c55795a0dc5e81c455f84e" datatype="html">
+        <source>DriveGroups</source>
+        <target>DriveGroups</target>
+      </trans-unit>
+      <trans-unit id="8edc89137d0d8c5667a2f03230beafae45e58429" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{ deviceType }}"/> devices
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{ deviceType }}"/> devices
+        </target>
+      </trans-unit>
+      <trans-unit id="eba28e1805b18f7c8ae2e4bc15dcf063b10b3822" datatype="html">
+        <source>At least one of these filters must be applied in order to proceed:</source>
+        <target>At least one of these filters must be applied in order to proceed:</target>
+      </trans-unit>
+      <trans-unit id="93389aa2fe2bea50bf89554ee51b28f87ee2fb50" datatype="html">
+        <source>Number of devices: 
+          <x id="INTERPOLATION" equiv-text="{{ filteredDevices.length }}"/>. Raw capacity:
+          <x id="INTERPOLATION_1" equiv-text="{{ capacity | dimlessBinary }}"/>.
+        </source>
+        <target>Number of devices: 
+          <x id="INTERPOLATION" equiv-text="{{ filteredDevices.length }}"/>. Raw capacity:
+          <x id="INTERPOLATION_1" equiv-text="{{ capacity | dimlessBinary }}"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="ccb4f84edc0b4e76415bb3f9b73d725b06683af3" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{ name }}"/> devices
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{ name }}"/> devices
+        </target>
+      </trans-unit>
+      <trans-unit id="60cb3d01e5ddf266ecb4271007a1c3d0f3efdc22" datatype="html">
+        <source>The primary storage devices. These devices contain all OSD data.</source>
+        <target>The primary storage devices. These devices contain all OSD data.</target>
+      </trans-unit>
+      <trans-unit id="b432e04886d0d1fd84f740477383051f85addcf2" datatype="html">
+        <source>Write-Ahead-Log devices. These devices are used for BlueStore’s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device.</source>
+        <target>Write-Ahead-Log devices. These devices are used for BlueStore’s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device.</target>
+      </trans-unit>
+      <trans-unit id="b87e181ab9e8393aa5ed759dd3d53836e32c8ffe" datatype="html">
+        <source>DB devices can be used for storing BlueStore’s internal metadata.  It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD).</source>
+        <target>DB devices can be used for storing BlueStore’s internal metadata.  It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD).</target>
+      </trans-unit>
+      <trans-unit id="f6755cff4957d5c3c89bafce5651f1b6fa2b1fd9" datatype="html">
+        <source>Add</source>
+        <target>Přidat</target>
+      </trans-unit>
+      <trans-unit id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46" datatype="html">
+        <source>Clear</source>
+        <target>Clear</target>
+      </trans-unit>
+      <trans-unit id="7e0fd3c7af0630f93befa6234a693a32a61084e0" datatype="html">
+        <source>Raw capacity: 
+          <x id="INTERPOLATION" equiv-text="{{ capacity | dimlessBinary }}"/>
+        </source>
+        <target>Raw capacity: 
+          <x id="INTERPOLATION" equiv-text="{{ capacity | dimlessBinary }}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="43ecf6bee2aebc07b0aad6dc1fe13e38d14687fa" datatype="html">
+        <source>Shared devices</source>
+        <target>Shared devices</target>
+      </trans-unit>
+      <trans-unit id="7a1c376f6f1b37de4c318ff2106255ba6c0f5b0b" datatype="html">
+        <source>WAL slots</source>
+        <target>WAL slots</target>
+      </trans-unit>
+      <trans-unit id="73811a6f37b63e6b0e491e221bfa21e9dea8a87a" datatype="html">
+        <source>How many OSDs per WAL device.</source>
+        <target>How many OSDs per WAL device.</target>
+      </trans-unit>
+      <trans-unit id="0c67a7ac4762ef1cc855056c6b4daab93e53a0a5" datatype="html">
+        <source>Specify 0 to let Orchestrator backend decide it.</source>
+        <target>Specify 0 to let Orchestrator backend decide it.</target>
+      </trans-unit>
+      <trans-unit id="7bda9362e06e6c67341b4a8425b0d29d6b84464b" datatype="html">
+        <source>Value should be greater than or equal to 0</source>
+        <target>Value should be greater than or equal to 0</target>
+      </trans-unit>
+      <trans-unit id="324c2b10152b9dd908222bb0b71f61beb60a30c5" datatype="html">
+        <source>DB slots</source>
+        <target>DB slots</target>
+      </trans-unit>
+      <trans-unit id="c23cf12ef9c76f37fc7a4b7ae3e00fb0f68b6e26" datatype="html">
+        <source>How many OSDs per DB device.</source>
+        <target>How many OSDs per DB device.</target>
+      </trans-unit>
+      <trans-unit id="6cdb1fea93d77c07950c0c76c6e0ad79ebbef084" datatype="html">
+        <source>Features</source>
+        <target>Funkce</target>
+      </trans-unit>
+      <trans-unit id="3e2a583f531f7dd9f089f68a6968e444c372c3e8" datatype="html">
+        <source>Preview</source>
+        <target>Preview</target>
+      </trans-unit>
       <trans-unit id="5ef50ba2514414f799d4c8fc36067a251904ba81" datatype="html">
         <source>Cluster-wide OSD Flags</source>
         <target>Příznaky OSD pro celý klastr</target>
         <source>{VAR_SELECT, select, 1 {Deep } }</source>
         <target>{VAR_SELECT, vybrat, 1 {Deep } }</target>
       </trans-unit>
-      <trans-unit id="2613498e8e5853c26a1cc62ae8dc673d1fdf0e2a" datatype="html">
+      <trans-unit id="fd0a4b6eed32e3488eccdc9c13f9841f08cc275e" datatype="html">
         <source>You are about to apply a 
           <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to
           the OSD(s): 
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
-          <x id="INTERPOLATION" equiv-text="{{ selected | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ selected | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.
         </source>
-        <target>Chystáte se použít 
-          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub na
-          OSD(s): 
+        <target>You are about to apply a 
+          <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to
+          the OSD(s): 
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
-          <x id="INTERPOLATION" equiv-text="{{ selected | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ selected | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.
         </target>
       </trans-unit>
         <source>OSDs List</source>
         <target>Seznam OSD</target>
       </trans-unit>
-      <trans-unit id="c402e6ec1c6792ede81f56c28eee8955860391c8" datatype="html">
+      <trans-unit id="d5707a32ba9c1138e6423498fb0b24e970ebd19f" datatype="html">
         <source>
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) 
-          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
           <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.
         </source>
         <target>
-          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD 
-          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | list }}"/>
-          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> budou označena
+          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) 
+          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | join }}"/>
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
           <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>
-          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> pokud budete pokračovat.
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.
         </target>
       </trans-unit>
-      <trans-unit id="d2797d01ba86f5df03d875803e49e648a4027869" datatype="html">
+      <trans-unit id="d08c1e4f17dffc0ed1ac2e2e2875cb8b569eeb35" datatype="html">
         <source>The 
-          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to destroy!
+          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to be 
+          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>! 
+          <x id="INTERPOLATION_1" equiv-text="{{ message }}"/>
         </source>
-        <target>
-          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> není bezpečné zlikvidovat!
+        <target>The 
+          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to be 
+          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>! 
+          <x id="INTERPOLATION_1" equiv-text="{{ message }}"/>
         </target>
       </trans-unit>
       <trans-unit id="e776996dac651ef3819bfa767ccf2a0613759f47" datatype="html">
         <source>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</source>
         <target>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</target>
       </trans-unit>
-      <trans-unit id="1e2c50ed3c3934ef068976dc7f38513cec29d515" datatype="html">
+      <trans-unit id="5cd6a031937412c42e5efa1e6959cb72ac08c720" datatype="html">
         <source>
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD 
-          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
           <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>
         </source>
         <target>
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD 
-          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | list }}"/>
-          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> bude
+          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | join }}"/>
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
           <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>
-          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> pokud budete pokračovat.
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.
         </target>
       </trans-unit>
-      <trans-unit id="4f8b2bb476981727ab34ed40fde1218361f92c45" datatype="html">
-        <source>Details</source>
-        <target>Podrobnosti</target>
+      <trans-unit id="3eda19b44809820fffd5d3753bafb7243116f4b0" datatype="html">
+        <source>To see all active Prometheus alerts, please
+      provide the URL to the API of Prometheus' Alertmanager as described in the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.
+        </source>
+        <target>To see all active Prometheus alerts, please
+      provide the URL to the API of Prometheus' Alertmanager as described in the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="880ad4df5a2051a437321443d69c9a866699e5ad" datatype="html">
+        <source>Active Alerts</source>
+        <target>Active Alerts</target>
+      </trans-unit>
+      <trans-unit id="8e5e0e09a11990d343926ed693574213d703c38d" datatype="html">
+        <source>All Alerts</source>
+        <target>All Alerts</target>
+      </trans-unit>
+      <trans-unit id="526938c2b7945cb0d68328c24bd77730230cd455" datatype="html">
+        <source>To enable Silences, please provide the URL to the API of the Prometheus' Alertmanager as
+      described in the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.
+        </source>
+        <target>To enable Silences, please provide the URL to the API of the Prometheus' Alertmanager as
+      described in the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="aa0c44aa1e5727061baa91e954f77e2f5f9a37c9" datatype="html">
+        <source>Silences</source>
+        <target>Ticha</target>
       </trans-unit>
       <trans-unit id="8501055865d7031b5521a0c5467532648009a61d" datatype="html">
         <source>Matcher</source>
         <source>{VAR_SELECT, select, 1 {Update} other {Add} }</source>
         <target>{VAR_SELECT, select, 1 {Update} other {Add} }</target>
       </trans-unit>
-      <trans-unit id="f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8" datatype="html">
-        <source>Close</source>
-        <target>Zavřít</target>
-      </trans-unit>
       <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c" datatype="html">
         <source>Edit</source>
         <target>Upravit</target>
         <source>End time</source>
         <target>Čas konce</target>
       </trans-unit>
-      <trans-unit id="dbe739ec8c99a0132e326067ffec9c0ee06b2655" datatype="html">
-        <source>Matchers
-          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>*
-          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>
-        </source>
-        <target>Matchers
-          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>*
-          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>
-        </target>
+      <trans-unit id="992123459137d45c15df5548bc9682aad835c04b" datatype="html">
+        <source>Matchers</source>
+        <target>Matchers</target>
       </trans-unit>
       <trans-unit id="3e023166c55833d5a13f4143e3dbe372befe1b4e" datatype="html">
         <source>A silence requires at least one matcher</source>
         <source>CephFS</source>
         <target>CephFS</target>
       </trans-unit>
+      <trans-unit id="0eb15f32b2b92d7f3103ef3ff032621888a8dc32" datatype="html">
+        <source>Old password</source>
+        <target>Původní heslo</target>
+      </trans-unit>
+      <trans-unit id="1cf42e491adc166a337a960eb84d03c0c3f677c8" datatype="html">
+        <source>The old and new passwords must be different.</source>
+        <target>Je třeba, aby původní a nové heslo nebyly stejné</target>
+      </trans-unit>
+      <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229" datatype="html">
+        <source>New password</source>
+        <target>Nové heslo</target>
+      </trans-unit>
+      <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b" datatype="html">
+        <source>Confirm new password</source>
+        <target>Zopakování zadání nového hesla</target>
+      </trans-unit>
+      <trans-unit id="90163a3d3746819aef42e829f4446331232f3b66" datatype="html">
+        <source>Password confirmation doesn't match the new password.</source>
+        <target>Kontrolní zadání nového hesla se neshoduje.</target>
+      </trans-unit>
+      <trans-unit id="d06ae77f9ec46a4cdd49e7e76c73a411aaf2ee38" datatype="html">
+        <source>Please set a new password.</source>
+        <target>Please set a new password.</target>
+      </trans-unit>
+      <trans-unit id="8b5b3566e88438f51bd5f6caf6c090ed565ba5ed" datatype="html">
+        <source>You will be redirected to the login page afterwards.</source>
+        <target>You will be redirected to the login page afterwards.</target>
+      </trans-unit>
       <trans-unit id="449dca3d3a93ead418b0541ea81b0dda7e6483c2" datatype="html">
         <source>Welcome to Ceph!</source>
         <target>Vítejte v Ceph!</target>
           <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. Budete odhlášeni od poskytovatele identity když se pokusíte znovu přihlásit.
         </target>
       </trans-unit>
-      <trans-unit id="0eb15f32b2b92d7f3103ef3ff032621888a8dc32" datatype="html">
-        <source>Old password</source>
-        <target>Původní heslo</target>
-      </trans-unit>
-      <trans-unit id="1cf42e491adc166a337a960eb84d03c0c3f677c8" datatype="html">
-        <source>The old and new passwords must be different.</source>
-        <target>Je třeba, aby původní a nové heslo nebyly stejné</target>
-      </trans-unit>
-      <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229" datatype="html">
-        <source>New password</source>
-        <target>Nové heslo</target>
-      </trans-unit>
-      <trans-unit id="595ebc9279497f6dc733777e2816bee936901388" datatype="html">
-        <source>Too weak</source>
-        <target>Příliš neodolné</target>
-      </trans-unit>
-      <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b" datatype="html">
-        <source>Confirm new password</source>
-        <target>Zopakování zadání nového hesla</target>
-      </trans-unit>
-      <trans-unit id="90163a3d3746819aef42e829f4446331232f3b66" datatype="html">
-        <source>Password confirmation doesn't match the new password.</source>
-        <target>Kontrolní zadání nového hesla se neshoduje.</target>
-      </trans-unit>
       <trans-unit id="471e78026c258073ba687478dc54c35d9041ea42" datatype="html">
         <source>Forbidden</source>
         <target>Odepřeno</target>
         <source>Sorry, you are not allowed to see what you were looking for.</source>
         <target>Omlouváme se, ale nemáte oprávnění zobrazit to, po čem se  poohlížíte.</target>
       </trans-unit>
-      <trans-unit id="e3c028c58f92453d46f09b5adf95b2f013ee0300" datatype="html">
-        <source>Sorry, we could not find what you were looking for</source>
-        <target>Omlouváme se, nepodařilo se najít to, po čem se poohlížíte</target>
+      <trans-unit id="2240b985f17293d84cc8532fe86994aa5f63667c" datatype="html">
+        <source>Sorry, we could not find what you were looking for.</source>
+        <target>Sorry, we could not find what you were looking for.</target>
+      </trans-unit>
+      <trans-unit id="ac54c18c1b520e948095c83a3a1025f02ce6dcc6" datatype="html">
+        <source>Neither hostname nor OSD ID given</source>
+        <target>Neither hostname nor OSD ID given</target>
+      </trans-unit>
+      <trans-unit id="4f635b3cb0600409a2ad44a5bd1863c699e6a01c" datatype="html">
+        <source>Failed to retrieve SMART data.</source>
+        <target>Failed to retrieve SMART data.</target>
+      </trans-unit>
+      <trans-unit id="d82a9af5b05e7cd17640f196f163771685ff8df6" datatype="html">
+        <source>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</source>
+        <target>Data obdržena v JSON formátu verze 2.x, což je v tuto chvíli nekompatibilní s přehledem.</target>
+      </trans-unit>
+      <trans-unit id="04f8a3c7e8ac610e6581960162cc15f55a16696a" datatype="html">
+        <source>No SMART data available.</source>
+        <target>No SMART data available.</target>
+      </trans-unit>
+      <trans-unit id="3a03d3c2e459f8f8fa7202c0fce465d6165f9e2b" datatype="html">
+        <source>passed</source>
+        <target>passed</target>
+      </trans-unit>
+      <trans-unit id="a185c9b97513b3882604ea9bab60edbfac945c15" datatype="html">
+        <source>SMART overall-health self-assessment test result</source>
+        <target>výsledek SMART testu samoposouzení celkového stavu</target>
+      </trans-unit>
+      <trans-unit id="41435d5a5692c8e412c74deaee95d99dbd3617e1" datatype="html">
+        <source>failed</source>
+        <target>failed</target>
+      </trans-unit>
+      <trans-unit id="ddd5dd6d930030096ea617f62c82b648a0dd9484" datatype="html">
+        <source>Device Information</source>
+        <target>Informace o zařízení</target>
+      </trans-unit>
+      <trans-unit id="380295f37caea93701d071485a38ef0bdba57133" datatype="html">
+        <source>No SMART data available for this device.</source>
+        <target>No SMART data available for this device.</target>
+      </trans-unit>
+      <trans-unit id="20cb12827cbe559a7b1da6fdae96041b3b5c3c55" datatype="html">
+        <source>SMART</source>
+        <target>SMART</target>
+      </trans-unit>
+      <trans-unit id="5758c3f16f8749f0f4e2a787f02e8b4da246102f" datatype="html">
+        <source>SMART data is loading.</source>
+        <target>SMART data is loading.</target>
       </trans-unit>
       <trans-unit id="a949d7e577902d0e5dc5d0971bb0170a21be7728" datatype="html">
         <source>[object Object]</source>
         <source>The chosen erasure code profile name is already in use.</source>
         <target>Zvolený název pro profil mazacího kódu je už používán.</target>
       </trans-unit>
+      <trans-unit id="35a4206db3105ed03e0dd799e1642b75b78123e8" datatype="html">
+        <source>Root</source>
+        <target>Root</target>
+      </trans-unit>
+      <trans-unit id="cf425784c7073c7e7f7c1bb90c2c19db7e751db2" datatype="html">
+        <source>Failure domain type</source>
+        <target>Failure domain type</target>
+      </trans-unit>
+      <trans-unit id="72396a9565cf644d1fe1b21b790c4243ee270986" datatype="html">
+        <source>Device class</source>
+        <target>Device class</target>
+      </trans-unit>
+      <trans-unit id="72d80e0c07bfea1b693a33ef2245007de92a6780" datatype="html">
+        <source>Let Ceph decide</source>
+        <target>Let Ceph decide</target>
+      </trans-unit>
       <trans-unit id="ef9ff0e6227947b48dfab4ac39ade04af758913b" datatype="html">
         <source>Plugin</source>
         <target>Zásuvný modul</target>
         <target>Není možné vytvořit RBD fond s názvem „/“ v názvu.
               Změňte název nebo 'rbd' odeberte ze seznamu aplikací.</target>
       </trans-unit>
+      <trans-unit id="171dc6d5c6bc4615d99778b0088cae80fd00bd10" datatype="html">
+        <source>Pool name can only contain letters, numbers, '.', '-', '_' or '/'.</source>
+        <target>Pool name can only contain letters, numbers, '.', '-', '_' or '/'.</target>
+      </trans-unit>
       <trans-unit id="b85c657469e5ec8231c3de99b22f437bc01ffde5" datatype="html">
         <source>Pool type</source>
         <target>Typ fondul</target>
         <source>-- Select a pool type --</source>
         <target>-- Vybrat typ fondu --</target>
       </trans-unit>
+      <trans-unit id="6abfbe47b630929d93c7343dc154599c2e59330a" datatype="html">
+        <source>PG Autoscale</source>
+        <target>PG Autoscale</target>
+      </trans-unit>
       <trans-unit id="0aa21053410a94aa61d16985a4e95fd65523430d" datatype="html">
         <source>Placement groups</source>
         <target>Skupiny umístění</target>
         <target>The current PGs settings were calculated for you, you
                 should make sure the values suit your needs before submit.</target>
       </trans-unit>
-      <trans-unit id="33150f22ce5348aa6c499bd092c3f4f3695d62cc" datatype="html">
-        <source>Crush ruleset</source>
-        <target>Sada pravidel crush</target>
-      </trans-unit>
-      <trans-unit id="73a6b31116b3cc322af951daa0bafdc169e6c42e" datatype="html">
-        <source>-- Select a crush rule --</source>
-        <target>-- Vybrat crush pravidlo --</target>
-      </trans-unit>
-      <trans-unit id="92da80699921e89fb19372e25b8d0f3b9fa427fc" datatype="html">
-        <source>Crush rule</source>
-        <target>Crush pravidlo</target>
-      </trans-unit>
-      <trans-unit id="5489e9f96835f469f6f728a00d8efa88ea5bc940" datatype="html">
-        <source>Crush steps</source>
-        <target>Crush kroky</target>
-      </trans-unit>
-      <trans-unit id="54a53b1b402aafff5b992ee9b64e409fbfe9074f" datatype="html">
-        <source>The rule can't be used in the current cluster as it has
-                to few OSDs to meet the minimum required OSD by this rule.</source>
-        <target>Pravidlo nemůže být uplatněno na stávající klastr protože má
-                příliš málo OSD aby splnil minimum OSD vyžadovaných tímto pravidlem.</target>
-      </trans-unit>
       <trans-unit id="a43b2695131b48b76cebba676aba98a2bee17515" datatype="html">
         <source>Replicated size</source>
         <target>Replikovaná velikost</target>
           <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> .
         </target>
       </trans-unit>
+      <trans-unit id="920617c6a1a4805e53bcb5af6a9c76f8387e89c6" datatype="html">
+        <source>Flags</source>
+        <target>Příznaky</target>
+      </trans-unit>
+      <trans-unit id="1c870fb00256b8a5b9cb9cd1a124e6390b9bc639" datatype="html">
+        <source>EC Overwrites</source>
+        <target>EC přebití</target>
+      </trans-unit>
+      <trans-unit id="f1abafaeb40ce52355ddcc24686e3cd17b64e08a" datatype="html">
+        <source>Applications</source>
+        <target>Aplikace</target>
+      </trans-unit>
+      <trans-unit id="fb9308b82fc183f710df60909f49cfc73aa5e076" datatype="html">
+        <source>CRUSH</source>
+        <target>CRUSH</target>
+      </trans-unit>
       <trans-unit id="9de7dde00e2139cc4bd03b1837afbe72ad15a1ff" datatype="html">
         <source>Erasure code profile</source>
         <target>Profil mazacího kódu</target>
         <source>-- Select an erasure code profile --</source>
         <target>-- Vyberte profil mazacího kódu --</target>
       </trans-unit>
-      <trans-unit id="920617c6a1a4805e53bcb5af6a9c76f8387e89c6" datatype="html">
-        <source>Flags</source>
-        <target>Příznaky</target>
+      <trans-unit id="33150f22ce5348aa6c499bd092c3f4f3695d62cc" datatype="html">
+        <source>Crush ruleset</source>
+        <target>Sada pravidel crush</target>
       </trans-unit>
-      <trans-unit id="1c870fb00256b8a5b9cb9cd1a124e6390b9bc639" datatype="html">
-        <source>EC Overwrites</source>
-        <target>EC přebití</target>
+      <trans-unit id="c69b0bcd4698aa845d32c4c4ad488492552cb469" datatype="html">
+        <source>A new crush ruleset will be implicitly created.</source>
+        <target>A new crush ruleset will be implicitly created.</target>
       </trans-unit>
-      <trans-unit id="f1abafaeb40ce52355ddcc24686e3cd17b64e08a" datatype="html">
-        <source>Applications</source>
-        <target>Aplikace</target>
+      <trans-unit id="896e9987db5e9bb279e6deed5d2dff28c242ef66" datatype="html">
+        <source>There are no rules.</source>
+        <target>There are no rules.</target>
+      </trans-unit>
+      <trans-unit id="73a6b31116b3cc322af951daa0bafdc169e6c42e" datatype="html">
+        <source>-- Select a crush rule --</source>
+        <target>-- Vybrat crush pravidlo --</target>
+      </trans-unit>
+      <trans-unit id="ea91d648f92002bc9f96d9b26b735c83ca0b53c6" datatype="html">
+        <source>This rule can't be deleted as it is in use.</source>
+        <target>This rule can't be deleted as it is in use.</target>
+      </trans-unit>
+      <trans-unit id="92da80699921e89fb19372e25b8d0f3b9fa427fc" datatype="html">
+        <source>Crush rule</source>
+        <target>Crush pravidlo</target>
+      </trans-unit>
+      <trans-unit id="5489e9f96835f469f6f728a00d8efa88ea5bc940" datatype="html">
+        <source>Crush steps</source>
+        <target>Crush kroky</target>
+      </trans-unit>
+      <trans-unit id="fc5f5496a9e50fe69e1a09784f28d94944108294" datatype="html">
+        <source>Rule is not in use.</source>
+        <target>Rule is not in use.</target>
+      </trans-unit>
+      <trans-unit id="023d6f718770d2ea4ab8cabe26b0ec27ef967ec2" datatype="html">
+        <source>Used by pools</source>
+        <target>Used by pools</target>
+      </trans-unit>
+      <trans-unit id="104a0e6900d1d1b0c8cf9e5947e36edb352583fc" datatype="html">
+        <source>The rule can't be used in the current cluster as it has
+                  too few OSDs to meet the minimum required OSD by this rule.</source>
+        <target>The rule can't be used in the current cluster as it has
+                  too few OSDs to meet the minimum required OSD by this rule.</target>
       </trans-unit>
       <trans-unit id="2208d63d5940ce656006a220102b1eb2b5e553da" datatype="html">
         <source>Compression</source>
         <source>The value should be greater or equal to 0</source>
         <target>Hodnota by měla být vyšší nebo rovna 0</target>
       </trans-unit>
+      <trans-unit id="4f8b2bb476981727ab34ed40fde1218361f92c45" datatype="html">
+        <source>Details</source>
+        <target>Podrobnosti</target>
+      </trans-unit>
       <trans-unit id="fbbaf5cb02ed419e79a27072478f716a4666a99d" datatype="html">
         <source>Performance Details</source>
         <target>Podrobnosti o výkonnosti</target>
         <source>Cache Tiers Details</source>
         <target>Podrobnosti o stupních mezipaměti</target>
       </trans-unit>
+      <trans-unit id="ecbc084370a732fc3cde1966a60af78d71424ab4" datatype="html">
+        <source>Create Bootstrap Token</source>
+        <target>Create Bootstrap Token</target>
+      </trans-unit>
+      <trans-unit id="603e9cc3ef2aab57f2b0a00e465b23b9cabefd9c" datatype="html">
+        <source>To create a bootstrap token which can be imported
+          by a peer site cluster, provide the local site's name, select
+          which pools will have mirroring enabled, and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Generate
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </source>
+        <target>To create a bootstrap token which can be imported
+          by a peer site cluster, provide the local site's name, select
+          which pools will have mirroring enabled, and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Generate
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="660f97cd3188f8a04bd03b79e703fec72c6df04c" datatype="html">
+        <source>Site Name</source>
+        <target>Site Name</target>
+      </trans-unit>
+      <trans-unit id="8c2a1dc72cffaf7ab3dc5599bf77b0a7fcad2b20" datatype="html">
+        <source>At least one pool is required.</source>
+        <target>At least one pool is required.</target>
+      </trans-unit>
+      <trans-unit id="1b258b258b4cc475ceb2871305b61756b0134f4a" datatype="html">
+        <source>Generate</source>
+        <target>Generate</target>
+      </trans-unit>
+      <trans-unit id="1edc1fc6cfbbb22353050ad6788508b3ed584f53" datatype="html">
+        <source>Token</source>
+        <target>Token</target>
+      </trans-unit>
+      <trans-unit id="ff785f5596aef34a93b9b4d1023e95c62eef5740" datatype="html">
+        <source>Generated token...</source>
+        <target>Generated token...</target>
+      </trans-unit>
+      <trans-unit id="5467a6bb0e7fade6def7499400d5e2a7d8d3da20" datatype="html">
+        <source>Import Bootstrap Token</source>
+        <target>Import Bootstrap Token</target>
+      </trans-unit>
+      <trans-unit id="9bb7aee0dec5164f45c0aa2f35f2fb2149d2c1d2" datatype="html">
+        <source>To import a bootstrap token which was created
+          by a peer site cluster, provide the local site's name, select
+          which pools will have mirroring enabled, provide the generated
+          token, and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Import
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </source>
+        <target>To import a bootstrap token which was created
+          by a peer site cluster, provide the local site's name, select
+          which pools will have mirroring enabled, provide the generated
+          token, and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Import
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="9200e09686136a1d42adfb89c12fbfef2deea125" datatype="html">
+        <source>Direction</source>
+        <target>Direction</target>
+      </trans-unit>
+      <trans-unit id="9761484679958da8d12841a4efa5964d33fae575" datatype="html">
+        <source>The token is invalid.</source>
+        <target>The token is invalid.</target>
+      </trans-unit>
+      <trans-unit id="a059709f71aa4c0ac219e160e78a738682ca6a36" datatype="html">
+        <source>Import</source>
+        <target>Import</target>
+      </trans-unit>
+      <trans-unit id="b87bd96249f8afc23f5301cddb57b1464a98e71a" datatype="html">
+        <source>Edit site name</source>
+        <target>Edit site name</target>
+      </trans-unit>
+      <trans-unit id="cfff72c667274c12eb1ff71eadc25871c10c42dc" datatype="html">
+        <source>Edit the site name and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </source>
+        <target>Edit the site name and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="40b7acea5b43f45e0bbd1efeba5200af4687981d" datatype="html">
+        <source>Site Name:</source>
+        <target>Site Name:</target>
+      </trans-unit>
       <trans-unit id="f0b5d789d42c0e69348e5fe0037fcbf5b5fbbdcc" datatype="html">
         <source>Move an image to trash</source>
         <target>Přesunout obraz do koše</target>
       </trans-unit>
-      <trans-unit id="86301cf2044b1eda218483365f6b9de8dde5040b" datatype="html">
+      <trans-unit id="7ad22c1d4aab3b8946603cea62de266d5129ca10" datatype="html">
+        <source>This image contains snapshot(s), which will prevent it
+            from being removed after moved to trash.</source>
+        <target>This image contains snapshot(s), which will prevent it
+            from being removed after moved to trash.</target>
+      </trans-unit>
+      <trans-unit id="b4b3ced4f8aad4c446f348b14c3d94be2e2c350c" datatype="html">
         <source>To move 
           <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>
-          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>/
-          <x id="INTERPOLATION_1" equiv-text="{{ imageName }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ imageSpecStr }}"/>
           <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,
           click 
           <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image
           <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optionally, you can pick an expiration date.
         </source>
-        <target>Pro přesunutí 
+        <target>To move 
           <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>
-          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>/
-          <x id="INTERPOLATION_1" equiv-text="{{ imageName }}"/>
-          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> do koše,
-          klikněte na 
-          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Přesunout obraz
-          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Volitelně je možné zvolit datum skončení platnosti.
+          <x id="INTERPOLATION" equiv-text="{{ imageSpecStr }}"/>
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,
+          click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optionally, you can pick an expiration date.
         </target>
       </trans-unit>
       <trans-unit id="88f27d390844aad53b4240360e928156c5f0d326" datatype="html">
         <source>Move Image</source>
         <target>Přesunout obraz</target>
       </trans-unit>
+      <trans-unit id="c9f1026c1235f4d76ace47449e806efd181ab332" datatype="html">
+        <source>Deleting this image will also delete all its snapshots.</source>
+        <target>Deleting this image will also delete all its snapshots.</target>
+      </trans-unit>
+      <trans-unit id="55f864597e84d9bf88769e1fbfda1d64452430c9" datatype="html">
+        <source>The following snapshots are currently protected and will be removed:</source>
+        <target>The following snapshots are currently protected and will be removed:</target>
+      </trans-unit>
       <trans-unit id="8a9910cd114c1deb9af74f6f99b4173403965bf2" datatype="html">
         <source>Gateways</source>
         <target>Brány</target>
         <source>Object size</source>
         <target>Velikost objektu</target>
       </trans-unit>
-      <trans-unit id="6cdb1fea93d77c07950c0c76c6e0ad79ebbef084" datatype="html">
-        <source>Features</source>
-        <target>Funkce</target>
-      </trans-unit>
       <trans-unit id="0a65771c9a73b9aa609d592fc96a64801a8f40bd" datatype="html">
         <source>Provisioned</source>
         <target>Poskytováno</target>
         <source>-- Select a pool --</source>
         <target>-- Vybrat fond --</target>
       </trans-unit>
+      <trans-unit id="d649904466254d13df1fbf2d255f0bbc6553d213" datatype="html">
+        <source>-- No namespaces available --</source>
+        <target>-- No namespaces available --</target>
+      </trans-unit>
+      <trans-unit id="e22d7bb4d2d561e0832ee0b9a3da2468a080c4f0" datatype="html">
+        <source>-- Select a namespace --</source>
+        <target>-- Select a namespace --</target>
+      </trans-unit>
       <trans-unit id="49449943d8cbf59d8c401c8bd2e76f92e207cc5f" datatype="html">
         <source>Use a dedicated data pool</source>
         <target>Použít vyhrazený datový fond</target>
         <source>Stripe count must be greater than 0.</source>
         <target>Je třeba, aby počet proužků byl větší než nula.</target>
       </trans-unit>
-      <trans-unit id="3f67f30568e9ae47507d46e28e1e82a7dca772e2" datatype="html">
-        <source>
-          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> RBD Snapshot
-        </source>
-        <target>
-          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> RBD zachycený stav
-        </target>
-      </trans-unit>
-      <trans-unit id="1628d19a4490817c18be2afab410ca4adfa62ea7" datatype="html">
-        <source>{VAR_SELECT, select, true {Rename} other {Create} }</source>
-        <target>{VAR_SELECT, vybrat, skutečné {Rename} ostatní {Create} }</target>
-      </trans-unit>
-      <trans-unit id="73a287b41afe6b28f90edbeb98957a341a0276b4" datatype="html">
-        <source>
-          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> Snapshot
-        </source>
-        <target>
-          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> zachycený stav
-        </target>
-      </trans-unit>
-      <trans-unit id="cb60c1cd3655234756b5b92d4d597d92d520ee30" datatype="html">
-        <source>PROTECTED</source>
-        <target>CHRÁNĚNO</target>
+      <trans-unit id="2c07d24bb422aa8e5e568df1c5709083f0a9c8f1" datatype="html">
+        <source>Create Namespace</source>
+        <target>Create Namespace</target>
       </trans-unit>
-      <trans-unit id="deffb86b8fb0541254ad5a43862d82bff6b6a6c4" datatype="html">
-        <source>UNPROTECTED</source>
-        <target>NECHRÁNĚNO</target>
+      <trans-unit id="0cca6c0485f96d3a9610d0339cb1275a5f2c3f46" datatype="html">
+        <source>Namespace already exists.</source>
+        <target>Namespace already exists.</target>
       </trans-unit>
       <trans-unit id="5c5331983af566d4ac6a1024d15a3511786a4aa6" datatype="html">
         <source>You are about to rollback</source>
         <source>Purge Trash</source>
         <target>Vysypat koš</target>
       </trans-unit>
-      <trans-unit id="af728625d769b61acf291442644b89edb88faec3" datatype="html">
-        <source>To purge, select one or All images and click</source>
-        <target>Pro vyčištění, vyberte jeden nebo všechny obrazy a klikněte na</target>
+      <trans-unit id="681501eecd7f44d4b7a2f619605b36676e04c5b6" datatype="html">
+        <source>To purge, select one or</source>
+        <target>To purge, select one or</target>
+      </trans-unit>
+      <trans-unit id="dfc3c34e182ea73c5d784ff7c8135f087992dac1" datatype="html">
+        <source>All</source>
+        <target>Vše</target>
+      </trans-unit>
+      <trans-unit id="ea5d338dcef50ff5c24439fd784f6a67b594c33f" datatype="html">
+        <source>pools and click</source>
+        <target>pools and click</target>
       </trans-unit>
       <trans-unit id="55a4f598a4894b7fd5cb88f0ffd3c37ad009dd70" datatype="html">
         <source>Pool:</source>
         <source>Pool name...</source>
         <target>Název fondu…</target>
       </trans-unit>
-      <trans-unit id="dfc3c34e182ea73c5d784ff7c8135f087992dac1" datatype="html">
-        <source>All</source>
-        <target>Vše</target>
-      </trans-unit>
       <trans-unit id="b0e7c7ed1d51a0c205c815048bc9f79e24ee6db2" datatype="html">
         <source>Restore Image</source>
         <target>Obnovit obraz</target>
           <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.
         </target>
       </trans-unit>
-      <trans-unit id="aba82bfd8e177d35b76cad7cd43941f8e5e5acac" datatype="html">
-        <source>Trash</source>
-        <target>Koš</target>
-      </trans-unit>
       <trans-unit id="a674ab267d1934bf395f87ca1503fd474296893f" datatype="html">
         <source>iSCSI Topology</source>
         <target>Topologie iSCSI</target>
       </trans-unit>
-      <trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html">
-        <source>Settings</source>
-        <target>Nastavení</target>
+      <trans-unit id="051dcc342cfa5c1eaf187a2001aaa162379a160c" datatype="html">
+        <source>Configure</source>
+        <target>Configure</target>
       </trans-unit>
       <trans-unit id="9e515f954730279c31d5301f02479666d6264e8b" datatype="html">
         <source>Changing these parameters from their default values is usually not necessary.</source>
         <target>Měnit tyto parametry z jejich výchozích hodnot obvykle není potřeba.</target>
       </trans-unit>
+      <trans-unit id="4e2591df099ddac796cda401c5f282da779d45f2" datatype="html">
+        <source>Identifier</source>
+        <target>Identifier</target>
+      </trans-unit>
+      <trans-unit id="62480a4859976427cf18fc8ef41d3a438eda0412" datatype="html">
+        <source>lun</source>
+        <target>lun</target>
+      </trans-unit>
+      <trans-unit id="8afc9eb4405e0aa554b2ba14140ef790cdecc040" datatype="html">
+        <source>wwn</source>
+        <target>wwn</target>
+      </trans-unit>
+      <trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html">
+        <source>Settings</source>
+        <target>Nastavení</target>
+      </trans-unit>
       <trans-unit id="69a47cbabcc51ca942606e1d8da0ec11f98a2690" datatype="html">
         <source>Backstore</source>
         <target>Backstore</target>
         <source>Portals</source>
         <target>Portály</target>
       </trans-unit>
+      <trans-unit id="6a3ac2b4137d723fd9878cd357c2012ff6c07973" datatype="html">
+        <source>Add portal</source>
+        <target>Přidat portál</target>
+      </trans-unit>
       <trans-unit id="c3638c01b6c34066438909713ec96087c813fc7e" datatype="html">
         <source>At least 
           <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.
           <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> bran.
         </target>
       </trans-unit>
-      <trans-unit id="6a3ac2b4137d723fd9878cd357c2012ff6c07973" datatype="html">
-        <source>Add portal</source>
-        <target>Přidat portál</target>
-      </trans-unit>
       <trans-unit id="9aff25be088f0efe3eaaf62edf2bff41cc41a617" datatype="html">
         <source>Backstore: 
           <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. 
         <source>This image has modified settings.</source>
         <target>Tento obraz má změněná nastavení.</target>
       </trans-unit>
-      <trans-unit id="107c84e820909b44fe258673938a68ced1bbff72" datatype="html">
-        <source>At least 1 image is required.</source>
-        <target>Je třeba alespoň 1 obraz.</target>
+      <trans-unit id="1dff11e0820b6722ab240169f1232d70a54beaaa" datatype="html">
+        <source>Duplicated LUN numbers.</source>
+        <target>Duplicated LUN numbers.</target>
+      </trans-unit>
+      <trans-unit id="bf2dccf92ccff6e3b091792bf4205595406e1bfb" datatype="html">
+        <source>Duplicated WWN.</source>
+        <target>Duplicated WWN.</target>
       </trans-unit>
       <trans-unit id="808038f912fdc7f0e03f82d4afd3bf9178527fc8" datatype="html">
         <source>Add image</source>
         <source>Add group</source>
         <target>Přidat skupinu</target>
       </trans-unit>
+      <trans-unit id="c3a7e364a88ea4673199dfa98bc73e6dbe09dfac" datatype="html">
+        <source>Namespaces</source>
+        <target>Namespaces</target>
+      </trans-unit>
+      <trans-unit id="aba82bfd8e177d35b76cad7cd43941f8e5e5acac" datatype="html">
+        <source>Trash</source>
+        <target>Koš</target>
+      </trans-unit>
       <trans-unit id="66db799d67958d4b0765181d072df62e2d1c16f5" datatype="html">
         <source>Issues</source>
         <target>problémy</target>
         <source>Enables versioning for the objects in the bucket.</source>
         <target>Enables versioning for the objects in the bucket.</target>
       </trans-unit>
-      <trans-unit id="92f3f203270a29b3001871153f02c063484a1574" datatype="html">
-        <source>Suspended</source>
-        <target>Pozastaveno</target>
+      <trans-unit id="9e6775ffd06878aa145c07359f28557f01ede04f" datatype="html">
+        <source>Multi-Factor Authentication</source>
+        <target>Multi-Factor Authentication</target>
+      </trans-unit>
+      <trans-unit id="29e8a5d4fb767d4ad0c762c81c6264cec4c0ba97" datatype="html">
+        <source>Delete enabled</source>
+        <target>Delete enabled</target>
+      </trans-unit>
+      <trans-unit id="40fbc3ac8c1ea4ecfe62247e91f1f999ad5baf76" datatype="html">
+        <source>Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state.</source>
+        <target>Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state.</target>
+      </trans-unit>
+      <trans-unit id="d24c93a8c13db46defa06ed7b5e026a3edb52b91" datatype="html">
+        <source>Token Serial Number</source>
+        <target>Token Serial Number</target>
+      </trans-unit>
+      <trans-unit id="e6d9536c2af2e5e9a228c3e3e1809dc1fefe0149" datatype="html">
+        <source>Token PIN</source>
+        <target>Token PIN</target>
+      </trans-unit>
+      <trans-unit id="7b84370895ab9eb44672f57146fa05c5947f1c0c" datatype="html">
+        <source>Locking</source>
+        <target>Locking</target>
+      </trans-unit>
+      <trans-unit id="f038d51ab1645f15b0cd58f195c72a7eeebd4729" datatype="html">
+        <source>Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket.</source>
+        <target>Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket.</target>
+      </trans-unit>
+      <trans-unit id="9af1b4baa2dd8ed2bfc3cc756b12a2271c2dd793" datatype="html">
+        <source>Compliance</source>
+        <target>Compliance</target>
+      </trans-unit>
+      <trans-unit id="edd600fa489d1b4a4448dce694ed932e52ce8fda" datatype="html">
+        <source>Governance</source>
+        <target>Governance</target>
       </trans-unit>
-      <trans-unit id="cd6a798fd0f85cd7e31a57c58074f25035d7850d" datatype="html">
-        <source>Disables versioning for the objects in the bucket.</source>
-        <target>Disables versioning for the objects in the bucket.</target>
+      <trans-unit id="a5c3d9d2296f7886e8289b9f623323803deacfc6" datatype="html">
+        <source>Days</source>
+        <target>Days</target>
+      </trans-unit>
+      <trans-unit id="218c7d6d318c51e7105309aaeb0baec9d19e4efb" datatype="html">
+        <source>The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</source>
+        <target>The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</target>
+      </trans-unit>
+      <trans-unit id="289b101ec12427b3ca819df9e43cc3b14fae2cc4" datatype="html">
+        <source>The entered value must be a positive integer.</source>
+        <target>The entered value must be a positive integer.</target>
+      </trans-unit>
+      <trans-unit id="def9fc628134d3a044b7c0ad2a83c846bdad56f1" datatype="html">
+        <source>Retention period requires either Days or Years.</source>
+        <target>Retention period requires either Days or Years.</target>
+      </trans-unit>
+      <trans-unit id="003c94fc143882ac8af6251a1595fe62978fe3e6" datatype="html">
+        <source>Years</source>
+        <target>Years</target>
+      </trans-unit>
+      <trans-unit id="14c6189ead0951f13049c7bf9af7642d0c41957a" datatype="html">
+        <source>The number of years that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</source>
+        <target>The number of years that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</target>
       </trans-unit>
       <trans-unit id="45cc8ca94b5a50842a9a8ef804a5ab089a38ae5c" datatype="html">
         <source>ID</source>
         <source>Zonegroup</source>
         <target>Skupinazóny</target>
       </trans-unit>
+      <trans-unit id="62a923f047ca49e7a4782629e91fea1ba32db68f" datatype="html">
+        <source>MFA Delete</source>
+        <target>MFA Delete</target>
+      </trans-unit>
       <trans-unit id="649a410bd0ace333d067d8fa22f12bdbdb43533b" datatype="html">
         <source>Bucket quota</source>
         <target>Kvóta nádoby</target>
         <source>Email address</source>
         <target>E-mailová adresa</target>
       </trans-unit>
+      <trans-unit id="92f3f203270a29b3001871153f02c063484a1574" datatype="html">
+        <source>Suspended</source>
+        <target>Pozastaveno</target>
+      </trans-unit>
       <trans-unit id="8011e20c5bbe51602d459a860fbf29b599b55edd" datatype="html">
         <source>System</source>
         <target>Systém</target>
         <source>Max. buckets</source>
         <target>Nejvýše nádob</target>
       </trans-unit>
-      <trans-unit id="623ac50f37a26caec6fd7cd519b653e3315cba25" datatype="html">
-        <source>The entered value must be &gt;= 0.</source>
-        <target>Je třeba, aby zadaná hodnota byla 0 a vyšší.</target>
+      <trans-unit id="f39256070bfc0714020dfee08895421fc1527014" datatype="html">
+        <source>Disabled</source>
+        <target>Vypnuto</target>
+      </trans-unit>
+      <trans-unit id="a5c05002b0ac2040f1aede5e727e0ffd06eda819" datatype="html">
+        <source>Custom</source>
+        <target>Uživatelsky určené</target>
+      </trans-unit>
+      <trans-unit id="28872515cb81d197a3a1733fa546d3e0f0dd6c67" datatype="html">
+        <source>The entered value must be &gt;= 1.</source>
+        <target>The entered value must be &gt;= 1.</target>
       </trans-unit>
       <trans-unit id="583a219c524155c2314eb06ee29162bb315272a3" datatype="html">
         <source>S3 key</source>
           <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>
         </target>
       </trans-unit>
+      <trans-unit id="f5a451c4ea65a4046f0b49d489a7013abf0b5861" datatype="html">
+        <source>All capabilities are already added.</source>
+        <target>All capabilities are already added.</target>
+      </trans-unit>
       <trans-unit id="6146e13ceca5fa5cc17b771b282fe5955f3d19fa" datatype="html">
         <source>Unlimited size</source>
         <target>Neomezená velikost</target>
         <source>Max. objects</source>
         <target>Nejvýše objektů</target>
       </trans-unit>
+      <trans-unit id="623ac50f37a26caec6fd7cd519b653e3315cba25" datatype="html">
+        <source>The entered value must be &gt;= 0.</source>
+        <target>Je třeba, aby zadaná hodnota byla 0 a vyšší.</target>
+      </trans-unit>
       <trans-unit id="1ea5c4d8942c00752dcc72e72949c5d9832f6399" datatype="html">
         <source>Description...</source>
         <target>Popis…</target>
         <source>Password confirmation doesn't match the password.</source>
         <target>Zadání hesla se neshodují.</target>
       </trans-unit>
+      <trans-unit id="96621f9ed2e4ae5204564e583d2c816bedead571" datatype="html">
+        <source>Password expiration date</source>
+        <target>Password expiration date</target>
+      </trans-unit>
+      <trans-unit id="48932db3801fe9d5d72a60a3e656bffd17c1c5d9" datatype="html">
+        <source>Password expiration date...</source>
+        <target>Password expiration date...</target>
+      </trans-unit>
       <trans-unit id="244aae9346da82b0922506c2d2581373a15641cc" datatype="html">
         <source>Email</source>
         <target>E-mail</target>
         <source>Invalid email.</source>
         <target>Neplatný e-mail.</target>
       </trans-unit>
+      <trans-unit id="8913c216dd506e20e412e144381d8d2a65a84359" datatype="html">
+        <source>User must change password at next logon</source>
+        <target>User must change password at next logon</target>
+      </trans-unit>
       <trans-unit id="0051a3479d3ba79135c16dc8cc017950a2cce821" datatype="html">
         <source>You are about to remove "user read / update" permissions from your own user.</source>
         <target>Chystáte se odebrat oprávnění „uživatel číst/aktualizovat“ svému vlastnímu účtu.</target>
         <source>Histogram</source>
         <target>Histogram</target>
       </trans-unit>
+      <trans-unit id="3d87fc20ea8e5f0f0500ba5d5061b345be78ec5e" datatype="html">
+        <source>No hostname found.</source>
+        <target>No hostname found.</target>
+      </trans-unit>
       <trans-unit id="26fb5f81b3581f06b9210defb0e71dc69a67e819" datatype="html">
         <source>Current values</source>
         <target>Stávající hodnoty</target>
       </trans-unit>
       <trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b" datatype="html">
         <source>Tags</source>
-        <target>Štítky</target>
-      </trans-unit>
-      <trans-unit id="ab0089ef47af61ca1d137bc908b96c290dfd9287" datatype="html">
-        <source>Enum values</source>
-        <target>Vyčíslit hodnoty</target>
-      </trans-unit>
-      <trans-unit id="819476f1264f1659f38e86f6abb542141b184832" datatype="html">
-        <source>See also</source>
-        <target>Viz také</target>
-      </trans-unit>
-      <trans-unit id="d82a9af5b05e7cd17640f196f163771685ff8df6" datatype="html">
-        <source>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</source>
-        <target>Data obdržena v JSON formátu verze 2.x, což je v tuto chvíli nekompatibilní s přehledem.</target>
-      </trans-unit>
-      <trans-unit id="a185c9b97513b3882604ea9bab60edbfac945c15" datatype="html">
-        <source>SMART overall-health self-assessment test result</source>
-        <target>výsledek SMART testu samoposouzení celkového stavu</target>
-      </trans-unit>
-      <trans-unit id="ddd5dd6d930030096ea617f62c82b648a0dd9484" datatype="html">
-        <source>Device Information</source>
-        <target>Informace o zařízení</target>
+        <target>Štítky</target>
       </trans-unit>
-      <trans-unit id="79c6bf990ea5b4d83bbf8f9e399f4bd933a1ebfc" datatype="html">
-        <source>S.M.A.R.T</source>
-        <target>S.M.A.R.T</target>
+      <trans-unit id="ab0089ef47af61ca1d137bc908b96c290dfd9287" datatype="html">
+        <source>Enum values</source>
+        <target>Vyčíslit hodnoty</target>
       </trans-unit>
-      <trans-unit id="05c17e08939cbef1a5df5386263b1701e8d5742e" datatype="html">
-        <source>S.M.A.R.T data is loading.</source>
-        <target>Načítání dat ze S.M.A.R.T diagnostiky.</target>
+      <trans-unit id="819476f1264f1659f38e86f6abb542141b184832" datatype="html">
+        <source>See also</source>
+        <target>Viz také</target>
       </trans-unit>
       <trans-unit id="73caac4265ea7314ff061e5a1d78a6361a6dd3b8" datatype="html">
         <source>Cluster Status</source>
         <source>MDS performance counters</source>
         <target>čítače výkonnosti MDS</target>
       </trans-unit>
-      <trans-unit id="a7b6508fb834bee9e48e11e4503fbbc2d19204de" datatype="html">
-        <source>Clients: 
-          <x id="INTERPOLATION" equiv-text="{{ clients.data.length }}"/>
-        </source>
-        <target>Klienti: 
-          <x id="INTERPOLATION" equiv-text="{{ clients.data.length }}"/>
-        </target>
-      </trans-unit>
       <trans-unit id="6e213942c6354b9cbe7a650f0f1499bfc1000fb6" datatype="html">
         <source>Directories</source>
         <target>Složky</target>
         <source># Sessions</source>
         <target>Počet relací</target>
       </trans-unit>
+      <trans-unit id="2ea10b3668e04e057ba96ddcaf4c9b77089008ae" datatype="html">
+        <source>Unavailable gateway(s)</source>
+        <target>Unavailable gateway(s)</target>
+      </trans-unit>
       <trans-unit id="c49e0dd71d551bd4928d967d78f0721dbf9f95e3" datatype="html">
         <source>Target has active sessions</source>
         <target>Cíl má aktivní relace</target>
         <source>Progress</source>
         <target>Ukazatel postupu</target>
       </trans-unit>
-      <trans-unit id="f39256070bfc0714020dfee08895421fc1527014" datatype="html">
-        <source>Disabled</source>
-        <target>Vypnuto</target>
+      <trans-unit id="25b725dba712a7a020fd34a72297befae975a492" datatype="html">
+        <source>Edit Site Name</source>
+        <target>Edit Site Name</target>
       </trans-unit>
       <trans-unit id="8c375764db42f5d736fb56d01b8052c006ccc8e2" datatype="html">
         <source>Edit Mode</source>
         <source>Fast diff (interlocked with object-map)</source>
         <target>Fast diff (interlocked with object-map)</target>
       </trans-unit>
+      <trans-unit id="130fd872c78271a8f86b1ab16a76e823969c47d9" datatype="html">
+        <source>Namespace</source>
+        <target>Namespace</target>
+      </trans-unit>
+      <trans-unit id="14abc99daed542774633046c53b6ce8251331141" datatype="html">
+        <source>This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.</source>
+        <target>This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.</target>
+      </trans-unit>
+      <trans-unit id="51699f716cf34e6622ff7bfd84641480c045271a" datatype="html">
+        <source>Created namespace '
+          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/
+          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>'
+        </source>
+        <target>Created namespace '
+          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/
+          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>'
+        </target>
+      </trans-unit>
+      <trans-unit id="bf44b7d6379ce0198ed3d95a27642a224181bf1d" datatype="html">
+        <source>Total images</source>
+        <target>Total images</target>
+      </trans-unit>
+      <trans-unit id="371ce3ffe62548d15e391a248bc554d903bb03fc" datatype="html">
+        <source>Deleted namespace '
+          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/
+          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>'
+        </source>
+        <target>Deleted namespace '
+          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/
+          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>'
+        </target>
+      </trans-unit>
+      <trans-unit id="9d704fd00ca929f90c3119cefc581821ae58a73e" datatype="html">
+        <source>Namespace contains images</source>
+        <target>Namespace contains images</target>
+      </trans-unit>
+      <trans-unit id="c2017dc94b4f57a347ccb126e546e88942f4d7a6" datatype="html">
+        <source>RBD Snapshot</source>
+        <target>RBD Snapshot</target>
+      </trans-unit>
       <trans-unit id="631fc50ec7c9bd81dc797a3c7e09eda1178ad999" datatype="html">
         <source>Parent image must support Layering</source>
         <target>Je třeba, aby nadřazený obraz podporoval vrstvy</target>
       </trans-unit>
+      <trans-unit id="cb60c1cd3655234756b5b92d4d597d92d520ee30" datatype="html">
+        <source>PROTECTED</source>
+        <target>CHRÁNĚNO</target>
+      </trans-unit>
+      <trans-unit id="deffb86b8fb0541254ad5a43862d82bff6b6a6c4" datatype="html">
+        <source>UNPROTECTED</source>
+        <target>NECHRÁNĚNO</target>
+      </trans-unit>
       <trans-unit id="7eb984588f4835f6d0187b33769b4b0f62821640" datatype="html">
         <source>RBD snapshot rollback</source>
         <target>Vrácení zachyceného stavu RBD zpět</target>
         <source>Origin</source>
         <target>Původ</target>
       </trans-unit>
+      <trans-unit id="2ea2ec95d93fd55d0db6e9d2b95b25e153d4cec2" datatype="html">
+        <source>Max size</source>
+        <target>Max size</target>
+      </trans-unit>
+      <trans-unit id="665dced3a61bca44924a0bde4be47390225a4898" datatype="html">
+        <source>Max files</source>
+        <target>Max files</target>
+      </trans-unit>
+      <trans-unit id="0ccf776baac60794b142526986f3af85848c7059" datatype="html">
+        <source>The inherited 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/> is the maximum value to be used.
+        </source>
+        <target>The inherited 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/> is the maximum value to be used.
+        </target>
+      </trans-unit>
+      <trans-unit id="b0e2ef28384f2de6674cac300c779f900929a89b" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{action}}"/> CephFS 
+          <x id="INTERPOLATION_1" equiv-text="{{quotaName}}"/> quota for '
+          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>'
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{action}}"/> CephFS 
+          <x id="INTERPOLATION_1" equiv-text="{{quotaName}}"/> quota for '
+          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>'
+        </target>
+      </trans-unit>
+      <trans-unit id="542ef638499635dec7641bdc2e499258094187cc" datatype="html">
+        <source>size</source>
+        <target>size</target>
+      </trans-unit>
+      <trans-unit id="ce90ff00c341d8eef96b0e7956bb85b8faba3839" datatype="html">
+        <source>files</source>
+        <target>files</target>
+      </trans-unit>
+      <trans-unit id="fbe8b9340c08c24aef62ffe81c83e2b46a4f1495" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{quotaName}}"/> quota 
+          <x id="INTERPOLATION_1" equiv-text="{{value}}"/> from '
+          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>'
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{quotaName}}"/> quota 
+          <x id="INTERPOLATION_1" equiv-text="{{value}}"/> from '
+          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>'
+        </target>
+      </trans-unit>
+      <trans-unit id="37c2c0a4a356465eef2edfb09ffffc6db5259975" datatype="html">
+        <source>Value has to be at least 
+          <x id="INTERPOLATION" equiv-text="{{value}}"/> or more
+        </source>
+        <target>Value has to be at least 
+          <x id="INTERPOLATION" equiv-text="{{value}}"/> or more
+        </target>
+      </trans-unit>
+      <trans-unit id="73f8e64703a707e2cf98b9a10653cd3bbdd8cab1" datatype="html">
+        <source>Value has to be at most 
+          <x id="INTERPOLATION" equiv-text="{{value}}"/> or less
+        </source>
+        <target>Value has to be at most 
+          <x id="INTERPOLATION" equiv-text="{{value}}"/> or less
+        </target>
+      </trans-unit>
+      <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc" datatype="html">
+        <source>Updated</source>
+        <target>Aktualizováno</target>
+      </trans-unit>
+      <trans-unit id="b6a4cf4f302c7fcbec199ce0df42b8282d682b04" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{action}}"/>
+          <x id="INTERPOLATION_1" equiv-text="{{quotaValue}}"/>
+          <x id="INTERPOLATION_2" equiv-text="{{conclusion}}"/>.
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{action}}"/>
+          <x id="INTERPOLATION_1" equiv-text="{{quotaValue}}"/>
+          <x id="INTERPOLATION_2" equiv-text="{{conclusion}}"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="a40024afb071f68fec949094a71f832d5611bca5" datatype="html">
+        <source>in order to inherit 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>
+        </source>
+        <target>in order to inherit 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="c108ff588291e9c040adea2adf35e7236cf29925" datatype="html">
+        <source>which isn't used because of the inheritance of 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>
+        </source>
+        <target>which isn't used because of the inheritance of 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="d3785a64d1c72b03b2212855ce695b45ed0342d2" datatype="html">
+        <source>in order to have no quota on the directory</source>
+        <target>in order to have no quota on the directory</target>
+      </trans-unit>
+      <trans-unit id="c4d3a3446a7f36825291c5e76c4a6b7919f9bd2f" datatype="html">
+        <source>Create Snapshot</source>
+        <target>Create Snapshot</target>
+      </trans-unit>
+      <trans-unit id="e9af734e231b837d64df21008e2eb1fdff566a61" datatype="html">
+        <source>Please enter the name of the snapshot.</source>
+        <target>Please enter the name of the snapshot.</target>
+      </trans-unit>
+      <trans-unit id="8c4d3039e6a953b0d6f1b1313ffa60c5d2b35dc7" datatype="html">
+        <source>Created snapshot "
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "
+          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"
+        </source>
+        <target>Created snapshot "
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "
+          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"
+        </target>
+      </trans-unit>
+      <trans-unit id="126ad894f74ee9a999825f3f4ac5a31fdfc093bf" datatype="html">
+        <source>CephFs Snapshot</source>
+        <target>CephFs Snapshot</target>
+      </trans-unit>
+      <trans-unit id="1e4d1c0865adc485260740c42ac5af68ce8feb13" datatype="html">
+        <source>Deleted snapshot "
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "
+          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"
+        </source>
+        <target>Deleted snapshot "
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "
+          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"
+        </target>
+      </trans-unit>
       <trans-unit id="22e4e574b7f8abf58254f328792445b42e2a924a" datatype="html">
         <source>The value can be updated at runtime.</source>
         <target>Hodnotu je možné aktualizovat za chodu.</target>
         <source>Service</source>
         <target>Služba</target>
       </trans-unit>
+      <trans-unit id="6986e0df8092d822ac2c076520d83994c78834fc" datatype="html">
+        <source>Modified</source>
+        <target>Modified</target>
+      </trans-unit>
       <trans-unit id="9951bb3983c7dba6fde013e05c922e4fe1a44367" datatype="html">
         <source>Current value</source>
         <target>Stávající hodnota</target>
         <source>host</source>
         <target>stroj</target>
       </trans-unit>
-      <trans-unit id="9e35065e7c579e1fb960499117fd4b3c68d1c263" datatype="html">
-        <source>Host operation is disabled because orchestrator is unavailable</source>
-        <target>Host operation is disabled because orchestrator is unavailable</target>
+      <trans-unit id="b1b381321d4cef04605d3e6e8847ea2b72a03799" datatype="html">
+        <source>Identify</source>
+        <target>Identify</target>
       </trans-unit>
       <trans-unit id="a5d5e407f8c4e1b152509c966c90f37edf68472e" datatype="html">
         <source>Device path</source>
         <target>Popis umístění zařízení</target>
       </trans-unit>
-      <trans-unit id="94e76c060aa68c05d8c4a3f5a20c92fab3e83ccf" datatype="html">
-        <source>Rotates</source>
-        <target>Rotates</target>
-      </trans-unit>
       <trans-unit id="b7da3e3505cc80f9bf3cffc8444c53e8a9ec70a5" datatype="html">
         <source>Available</source>
         <target>K dispozici</target>
       </trans-unit>
+      <trans-unit id="396974120fc614fc930a27c8d15a094d82a3a9e4" datatype="html">
+        <source>Vendor</source>
+        <target>Vendor</target>
+      </trans-unit>
       <trans-unit id="6ec98fa3d6504ba1fd03465194b53706c8263c99" datatype="html">
         <source>Model</source>
         <target>Model</target>
       </trans-unit>
+      <trans-unit id="f2d785f5658c96c6a2f505cdd625108bcece84c3" datatype="html">
+        <source>Identify device 
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>
+        </source>
+        <target>Identify device 
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="c97ab45ca09248f8f1ba60328175741657fe39ce" datatype="html">
+        <source>Please enter the duration how long to blink the LED.</source>
+        <target>Please enter the duration how long to blink the LED.</target>
+      </trans-unit>
+      <trans-unit id="87e56ee5057023d7e8b59420b838bad112b043bc" datatype="html">
+        <source>1 minute</source>
+        <target>1 minute</target>
+      </trans-unit>
+      <trans-unit id="affa3b3bf1f36531e5ae65291f8a7cd1b06860ee" datatype="html">
+        <source>2 minutes</source>
+        <target>2 minutes</target>
+      </trans-unit>
+      <trans-unit id="878c6645b7fc26d85c7aee17a9d8c282a938dcf3" datatype="html">
+        <source>5 minutes</source>
+        <target>5 minutes</target>
+      </trans-unit>
+      <trans-unit id="aa0a76140961594b7176ade241e5025a7dbb5dce" datatype="html">
+        <source>10 minutes</source>
+        <target>10 minutes</target>
+      </trans-unit>
+      <trans-unit id="0a7f83a1f27750ef634a1f1f97263fac36113b1f" datatype="html">
+        <source>15 minutes</source>
+        <target>15 minutes</target>
+      </trans-unit>
+      <trans-unit id="699b690d686dbb8e00a1e95b89ba2fffb548da6e" datatype="html">
+        <source>Execute</source>
+        <target>Execute</target>
+      </trans-unit>
+      <trans-unit id="aa975a86dd49979a3ae90b9f3fc5b2c97311d422" datatype="html">
+        <source>Identifying '
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>' started on host '
+          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>'
+        </source>
+        <target>Identifying '
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>' started on host '
+          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="1a6e6ad05508130b7a99ce5b15daf3227c2a930c" datatype="html">
         <source>Updated options for module "
           <x id="INTERPOLATION" equiv-text="{{name}}"/>".
           <x id="INTERPOLATION" equiv-text="{{name}}"/>“
         </target>
       </trans-unit>
+      <trans-unit id="6bd47ff8707aa2e6a94a4a6e2566b86dc7956d5f" datatype="html">
+        <source>Always-On</source>
+        <target>Always-On</target>
+      </trans-unit>
       <trans-unit id="ac6c9212896d39b23811ed2dadab7d07336ec559" datatype="html">
         <source>Enable</source>
         <target>Zapnout</target>
         <source>Open Sessions</source>
         <target>Otevřené relace</target>
       </trans-unit>
+      <trans-unit id="34c6f45591d420b1101dcee53999d1de91c0e400" datatype="html">
+        <source>No available devices</source>
+        <target>No available devices</target>
+      </trans-unit>
+      <trans-unit id="dcfe8807a2a1d0d7074a02afe9b80645bd03b9ab" datatype="html">
+        <source>Please add primary devices first</source>
+        <target>Please add primary devices first</target>
+      </trans-unit>
+      <trans-unit id="05d024719e53f85f7f294b7e21dfd805709a0b06" datatype="html">
+        <source>Add devices by using filters</source>
+        <target>Add devices by using filters</target>
+      </trans-unit>
       <trans-unit id="37e58d1cbdf8212b380efa51422e42821d4f08e6" datatype="html">
         <source>No In</source>
         <target>Počet do</target>
         <source>Backfilling of PGs is suspended</source>
         <target>Zasypávání skupin umístění je pozastaveno</target>
       </trans-unit>
+      <trans-unit id="df526de2b93c4099a30c200ef551608e39ee5256" datatype="html">
+        <source>No Rebalance</source>
+        <target>No Rebalance</target>
+      </trans-unit>
+      <trans-unit id="c5b70346245f8d52b58e5e7fe222ce82f12429ce" datatype="html">
+        <source>OSD will choose not to backfill unless PG is also degraded</source>
+        <target>OSD will choose not to backfill unless PG is also degraded</target>
+      </trans-unit>
       <trans-unit id="7fbbd036394cfa623add40299757bc87df8eaa7e" datatype="html">
         <source>No Recover</source>
         <target>Žádné obnovení</target>
         <source>Updated OSD Flags</source>
         <target>Aktualizovány OSD příznaky</target>
       </trans-unit>
+      <trans-unit id="948758e1412bb2ecdb98e3a4f1cbb6d7458456f2" datatype="html">
+        <source>Encryption</source>
+        <target>Encryption</target>
+      </trans-unit>
+      <trans-unit id="c8b1475105463088593de1022ff6dceb523eae0e" datatype="html">
+        <source>OSD</source>
+        <target>OSD</target>
+      </trans-unit>
       <trans-unit id="688578fcc739d6f0c5fb6c366dbb19d21c6d9e36" datatype="html">
         <source>out</source>
         <target>ven</target>
         <source>Purge</source>
         <target>Vyčistit</target>
       </trans-unit>
-      <trans-unit id="c8b1475105463088593de1022ff6dceb523eae0e" datatype="html">
-        <source>OSD</source>
-        <target>OSD</target>
-      </trans-unit>
       <trans-unit id="4f3cff08c7033b63bbccfe66006b1bcaea48ddd8" datatype="html">
         <source>purged</source>
         <target>vyčištěno</target>
         <source>destroyed</source>
         <target>zlikvidováno</target>
       </trans-unit>
+      <trans-unit id="70ef158c584bafe788e319a0bffa11b02ee9abf1" datatype="html">
+        <source>delete</source>
+        <target>smazat</target>
+      </trans-unit>
+      <trans-unit id="a5b387f5a15b95e339df10fc23526c659a2b6c6f" datatype="html">
+        <source>deleted</source>
+        <target>deleted</target>
+      </trans-unit>
       <trans-unit id="107614b994f2b01abdc1ca179bf780b0cd933ec4" datatype="html">
         <source>Recovery Priority</source>
         <target>Priorita zotavování</target>
         <source>Read bytes</source>
         <target>Přečteno bajtů</target>
       </trans-unit>
-      <trans-unit id="ecbe2fdca919499125bc42c2c67cedae8563db1c" datatype="html">
-        <source>Writes bytes</source>
+      <trans-unit id="f15bf7f588f09ca79795b17bc244e8d336f28171" datatype="html">
+        <source>Write bytes</source>
         <target>Zapsáno bajtů</target>
       </trans-unit>
       <trans-unit id="f3c33322823c846b13f59ba2c8f234405bba99e1" datatype="html">
         <source>Write ops</source>
         <target>Operací/s zápis</target>
       </trans-unit>
+      <trans-unit id="b27d1dd31789610130b7cdbf88c4da552cffe936" datatype="html">
+        <source>Edit OSD: 
+          <x id="INTERPOLATION" equiv-text="{{id}}"/>
+        </source>
+        <target>Edit OSD: 
+          <x id="INTERPOLATION" equiv-text="{{id}}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="986f1379580078e77666d10f8ddf4f839c6ca71d" datatype="html">
+        <source>Edit OSD</source>
+        <target>Edit OSD</target>
+      </trans-unit>
+      <trans-unit id="a4b09e2fa39c3e4f1a387f191fbae4eea3ce7bf5" datatype="html">
+        <source>Updated OSD "
+          <x id="INTERPOLATION" equiv-text="{{id}}"/>"
+        </source>
+        <target>Updated OSD "
+          <x id="INTERPOLATION" equiv-text="{{id}}"/>"
+        </target>
+      </trans-unit>
       <trans-unit id="d45455406092f58e6b089cb440b5b7934b801a01" datatype="html">
         <source>Mark OSD 
           <x id="INTERPOLATION" equiv-text="{{markAction}}"/>
         <source>Recovery Sleep</source>
         <target>Uspání zotavení</target>
       </trans-unit>
-      <trans-unit id="a5c05002b0ac2040f1aede5e727e0ffd06eda819" datatype="html">
-        <source>Custom</source>
-        <target>Uživatelsky určené</target>
-      </trans-unit>
       <trans-unit id="89553524f4e7db5c437b07dcfdc7b831d56ded1a" datatype="html">
         <source>Updated OSD recovery speed priority "
           <x id="INTERPOLATION" equiv-text="{{value}}"/>"
           <x id="INTERPOLATION_1" equiv-text="{{id}}"/>
         </target>
       </trans-unit>
-      <trans-unit id="9836e830d0219585b36d53be00a31c3d4798a4aa" datatype="html">
-        <source>Smartctl has received an unknown argument (error code
-          <x id="INTERPOLATION" equiv-text="{{smartData.smartctl_error_code}}"/>). You may be using an
-                incompatible version of smartmontools. Version &gt;= 7.0 of
-                smartmontools is required to succesfully retrieve data.
-        </source>
-        <target>Smartctl obdrželo neznámý argument (kód chyby
-          <x id="INTERPOLATION" equiv-text="{{smartData.smartctl_error_code}}"/>). Možná používáte nekompatibilní
-                verzi smartmontools. Pro úspěšné získání dat je třeba verze
-                smartmontools &amp;gt;= 7.0.
-        </target>
-      </trans-unit>
-      <trans-unit id="d5fd840374ca1a6f394bcd81f390a6dca27f8224" datatype="html">
-        <source>An error with error code 
-          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.
-        </source>
-        <target>Vyskytla se chyba s kódem 
-          <x id="INTERPOLATION" equiv-text="{{code}}"/>.
-        </target>
-      </trans-unit>
-      <trans-unit id="a0b59d7139692bb8d8ed786b6eb6e9e70ce743f3" datatype="html">
-        <source>Raw</source>
-        <target>Raw</target>
-      </trans-unit>
-      <trans-unit id="2f3beddc8234b30fb26a7f63ba2f1ea74f2ed6f7" datatype="html">
-        <source>Threshold</source>
-        <target>Práh</target>
-      </trans-unit>
-      <trans-unit id="4654b5a68af3c8bad29aa14ca85ccea1f3143c6b" datatype="html">
-        <source>When Failed</source>
-        <target>Když se nezdařilo</target>
-      </trans-unit>
-      <trans-unit id="5b7f56d5be49fb8e8d8f40209d6746f8f72e9177" datatype="html">
-        <source>Worst</source>
-        <target>Nejhorší</target>
-      </trans-unit>
-      <trans-unit id="1edb8e46b0fac57c5feb3d7d3585afc0122d5481" datatype="html">
-        <source>Create silence</source>
-        <target>Vytvořit ticho</target>
+      <trans-unit id="3bc2d18913479965cb046ec75e2ac3f7b7a77ce5" datatype="html">
+        <source>Create Silence</source>
+        <target>Create Silence</target>
       </trans-unit>
       <trans-unit id="78917e8031aaf913ac3fa63295325ce8879703ce" datatype="html">
         <source>Job</source>
         <source>URL</source>
         <target>URL adresa</target>
       </trans-unit>
+      <trans-unit id="d9f726c70aeba7fa6d3d68bff718abe78b1e50ac" datatype="html">
+        <source>Query</source>
+        <target>Query</target>
+      </trans-unit>
       <trans-unit id="a5cd682a8a33bdc72e093d059429e3cc3a50ec1d" datatype="html">
         <source>silence</source>
         <target>ticho</target>
         <source>Created by</source>
         <target>Vytvořil(a)</target>
       </trans-unit>
-      <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc" datatype="html">
-        <source>Updated</source>
-        <target>Aktualizováno</target>
-      </trans-unit>
       <trans-unit id="8d833cceee0ba4c5161b130365e02bc1e129b57e" datatype="html">
         <source>Ends</source>
         <target>Končí</target>
         <source>Silence</source>
         <target>Ticho</target>
       </trans-unit>
-      <trans-unit id="f392abfbb997402ce2aebb13e660a8f01dec54db" datatype="html">
-        <source>Service type</source>
-        <target>Typ služby</target>
+      <trans-unit id="f2ea47d702c7f5e3e5fa751bf9959e21030b72e6" datatype="html">
+        <source>Daemon type</source>
+        <target>Daemon type</target>
       </trans-unit>
-      <trans-unit id="9ffa91b056fb979786627885651e19c8275675cd" datatype="html">
-        <source>Service instance</source>
-        <target>Instance služby</target>
+      <trans-unit id="6c131968e6ab730d86443e6fc11c5cc2a76d7bac" datatype="html">
+        <source>Daemon ID</source>
+        <target>Daemon ID</target>
       </trans-unit>
-      <trans-unit id="b5910192a9ac4816638ff6383b03f986ff965796" datatype="html">
-        <source>Container id</source>
-        <target>Identifikátor kontejneru</target>
+      <trans-unit id="5738f0ca7ddd9594058ce051b1d5d576e2782825" datatype="html">
+        <source>Container ID</source>
+        <target>Container ID</target>
       </trans-unit>
-      <trans-unit id="60ab9cce12a56cdc5ec6a1b699f8c7afecd629d5" datatype="html">
-        <source>Rados config location</source>
-        <target>Umístění nastavení pro rados</target>
+      <trans-unit id="78ebcf850cd440c5efc15e6a3a522ae75aeff669" datatype="html">
+        <source>Container Image name</source>
+        <target>Container Image name</target>
       </trans-unit>
-      <trans-unit id="dfa409f831c9168a377bdee02c5ea6aaf9b2bf61" datatype="html">
-        <source>Service URL</source>
-        <target>URL služby</target>
+      <trans-unit id="ea0c7ab9a7bdf646d494abf8c85fbf67d934d079" datatype="html">
+        <source>Container Image ID</source>
+        <target>Container Image ID</target>
       </trans-unit>
       <trans-unit id="bf2468fd965b8a59c135ad549b3a612aa9873abc" datatype="html">
         <source>Status Description</source>
         <target>Popis stavu</target>
       </trans-unit>
+      <trans-unit id="19867330bdc84096f5a93ab087a1766476c8a074" datatype="html">
+        <source>Last Refreshed</source>
+        <target>Last Refreshed</target>
+      </trans-unit>
+      <trans-unit id="2349ee2027ab6ceb3e4b8834928562075b7e1ac7" datatype="html">
+        <source>Container image name</source>
+        <target>Container image name</target>
+      </trans-unit>
+      <trans-unit id="3c475503fb93338811af6b3d9ccacca1d7334609" datatype="html">
+        <source>Container image ID</source>
+        <target>Container image ID</target>
+      </trans-unit>
+      <trans-unit id="8dd15f6c73c05a8b0bd7b6d416487ab6570b88c8" datatype="html">
+        <source>Running</source>
+        <target>Running</target>
+      </trans-unit>
       <trans-unit id="fb2e1bed329dc5b84197808c778abb9edcbdb335" datatype="html">
         <source>Used</source>
         <target>Použito</target>
         <source>NFS export</source>
         <target>NFS export</target>
       </trans-unit>
+      <trans-unit id="c56d51748965db5f3966cd1d06a1c9f4b5244931" datatype="html">
+        <source>Crush Rule</source>
+        <target>Crush Rule</target>
+      </trans-unit>
       <trans-unit id="ae128527ec18892f812a62a1fd15dc50a38060c0" datatype="html">
         <source>EC Profile</source>
         <target>EC profil</target>
         <source>erasure code profile</source>
         <target>profil mazacího kódu</target>
       </trans-unit>
+      <trans-unit id="ae48e19a9a2acaca4b5ea594451bc9b0b01ec8d2" datatype="html">
+        <source>crush rule</source>
+        <target>crush rule</target>
+      </trans-unit>
       <trans-unit id="112d356ad6846959ca4aa5ec9a1f0d9d473b24ec" datatype="html">
         <source>Replica Size</source>
         <target>Velikost repliky</target>
         <source>Crush Ruleset</source>
         <target>Sada crush pravidel</target>
       </trans-unit>
-      <trans-unit id="f15bf7f588f09ca79795b17bc244e8d336f28171" datatype="html">
-        <source>Write bytes</source>
-        <target>Zapsáno bajtů</target>
-      </trans-unit>
       <trans-unit id="bcc365a084b6145b941b371bd4c2b6c3d2c79234" datatype="html">
         <source>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</source>
         <target>Smazání fondu je vypnuto nastavením mon_allow_pool_delete configuration.</target>
         <source>Swift Key</source>
         <target>Swift klíč</target>
       </trans-unit>
+      <trans-unit id="6462d8f12b427c29363f00b12f20f566be24937c" datatype="html">
+        <source>Device ID</source>
+        <target>Device ID</target>
+      </trans-unit>
+      <trans-unit id="82f12bf23db4bb82db89877bebe93954bc1c8fb0" datatype="html">
+        <source>State of Health</source>
+        <target>State of Health</target>
+      </trans-unit>
+      <trans-unit id="7bd34bd120146afef0e0d8fa168d9bdabd594b6a" datatype="html">
+        <source>Good</source>
+        <target>Good</target>
+      </trans-unit>
+      <trans-unit id="31c59dce114ec0a9d02552ef7b81920b3de36793" datatype="html">
+        <source>Bad</source>
+        <target>Bad</target>
+      </trans-unit>
+      <trans-unit id="2862af5284f66d4b06bdcf77a5519141723b6989" datatype="html">
+        <source>Stale</source>
+        <target>Stale</target>
+      </trans-unit>
+      <trans-unit id="8d8e819b52984a4fbdec75a99eb28d1ae4323bbc" datatype="html">
+        <source>Life Expectancy</source>
+        <target>Life Expectancy</target>
+      </trans-unit>
+      <trans-unit id="72d9b15be18ea063e78c4e855b9e8c0af95593ef" datatype="html">
+        <source>Prediction Creation Date</source>
+        <target>Prediction Creation Date</target>
+      </trans-unit>
+      <trans-unit id="a6b4ef85e5ff8bd192751c7bbebc54c46118d6d4" datatype="html">
+        <source>Device Name</source>
+        <target>Device Name</target>
+      </trans-unit>
+      <trans-unit id="d5fd840374ca1a6f394bcd81f390a6dca27f8224" datatype="html">
+        <source>An error with error code 
+          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.
+        </source>
+        <target>Vyskytla se chyba s kódem 
+          <x id="INTERPOLATION" equiv-text="{{code}}"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="a0b59d7139692bb8d8ed786b6eb6e9e70ce743f3" datatype="html">
+        <source>Raw</source>
+        <target>Nezpracované</target>
+      </trans-unit>
+      <trans-unit id="2f3beddc8234b30fb26a7f63ba2f1ea74f2ed6f7" datatype="html">
+        <source>Threshold</source>
+        <target>Práh</target>
+      </trans-unit>
+      <trans-unit id="4654b5a68af3c8bad29aa14ca85ccea1f3143c6b" datatype="html">
+        <source>When Failed</source>
+        <target>Když se nezdařilo</target>
+      </trans-unit>
+      <trans-unit id="5b7f56d5be49fb8e8d8f40209d6746f8f72e9177" datatype="html">
+        <source>Worst</source>
+        <target>Nejhorší</target>
+      </trans-unit>
       <trans-unit id="1481b8488e10dbc437accce89d2ae35a0106e8ba" datatype="html">
         <source>Scope</source>
         <target>Rozsah</target>
           <x id="INTERPOLATION" equiv-text="{{role_name}}"/>“
         </target>
       </trans-unit>
+      <trans-unit id="bd15b8d5c0fa160161728eefbbb585710414d471" datatype="html">
+        <source>New name</source>
+        <target>New name</target>
+      </trans-unit>
+      <trans-unit id="6f126277f3dc22a3ab3609c4c198386c8744e11a" datatype="html">
+        <source>Clone Role</source>
+        <target>Clone Role</target>
+      </trans-unit>
+      <trans-unit id="d19d8320479854bc52877cdf0dc5ecfe34a36ec7" datatype="html">
+        <source>Cloned role '
+          <x id="INTERPOLATION" equiv-text="{{dst_name}}"/>' from '
+          <x id="INTERPOLATION_1" equiv-text="{{src_name}}"/>'
+        </source>
+        <target>Cloned role '
+          <x id="INTERPOLATION" equiv-text="{{dst_name}}"/>' from '
+          <x id="INTERPOLATION_1" equiv-text="{{src_name}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="2e35d60a14ce0b470e8b54602864a867f7fcef40" datatype="html">
         <source>There are no roles.</source>
         <target>Nejsou zde žádné role.</target>
         <source>Updated user password"</source>
         <target>Aktualizované heslo uživatele"</target>
       </trans-unit>
+      <trans-unit id="c4e596a44ffc4718c1602600d6e4f029190eb031" datatype="html">
+        <source>The name of the node under which data should be placed.</source>
+        <target>The name of the node under which data should be placed.</target>
+      </trans-unit>
+      <trans-unit id="f24772ba1091155f8d7025332ca8456a204d1e28" datatype="html">
+        <source>The type of CRUSH nodes across which we should separate replicas.</source>
+        <target>The type of CRUSH nodes across which we should separate replicas.</target>
+      </trans-unit>
+      <trans-unit id="a3896042af461a80091c3f7a5fe3fff5ac40a3a0" datatype="html">
+        <source>The device class data should be placed on.</source>
+        <target>The device class data should be placed on.</target>
+      </trans-unit>
       <trans-unit id="1d7fbcc3d5efc946ffbcf86fed04c4e20dda20fb" datatype="html">
         <source>Each object is split in data-chunks parts, each stored on a different OSD.</source>
         <target>Každý objekt je rozdělen v částech shluků dat, každé uložené na jiném OSD.</target>
         <source>Success</source>
         <target>Úspěch</target>
       </trans-unit>
+      <trans-unit id="61fd1cffcb763cbfd5829071723cf9b647174bd9" datatype="html">
+        <source>An error occurred.</source>
+        <target>An error occurred.</target>
+      </trans-unit>
       <trans-unit id="e6ca3c0efaf51e6d45a7f92f58bac37140c3fda4" datatype="html">
         <source>Last 5 minutes</source>
         <target>Uplynulých 5 minut</target>
         <source>There are no items available.</source>
         <target>Nejsou k dispozici žádné položky.</target>
       </trans-unit>
-      <trans-unit id="f6755cff4957d5c3c89bafce5651f1b6fa2b1fd9" datatype="html">
-        <source>Add</source>
-        <target>Přidat</target>
+      <trans-unit id="55dd9f44e64851bca3b7bfc9283a5ff36f030228" datatype="html">
+        <source>Set</source>
+        <target>Set</target>
       </trans-unit>
       <trans-unit id="019d4bd6a5690f0cfa0ecf346a4e6bf7f0d8debb" datatype="html">
         <source>Remove</source>
         <target>Odebrat</target>
       </trans-unit>
+      <trans-unit id="e168fe6c468b3ad632731395ef89860274242844" datatype="html">
+        <source>Unset</source>
+        <target>Unset</target>
+      </trans-unit>
       <trans-unit id="54a4a3132b693575728a45a5f3154ad4c9af404b" datatype="html">
         <source>Clone</source>
         <target>Klonovat</target>
       </trans-unit>
       <trans-unit id="6df2dfa48bef5510c82fb43f4e71a7f9557f3d71" datatype="html">
         <source>Expire</source>
-        <target>Expire</target>
+        <target>Ukončit platnost</target>
       </trans-unit>
       <trans-unit id="28df1b02fd88d2deb0212bc5d7ff34cf9492fa54" datatype="html">
         <source>Deleted</source>
         <source>No</source>
         <target>Ne</target>
       </trans-unit>
+      <trans-unit id="baf918eed9d4050cdad2acebc0f27b6eaf8e3fcd" datatype="html">
+        <source>Required rules for passwords:</source>
+        <target>Required rules for passwords:</target>
+      </trans-unit>
+      <trans-unit id="40f61909e1f017c4652e64b055089beef19cf871" datatype="html">
+        <source>Must contain at least 
+          <x id="INTERPOLATION" equiv-text="{{length}}"/> characters
+        </source>
+        <target>Must contain at least 
+          <x id="INTERPOLATION" equiv-text="{{length}}"/> characters
+        </target>
+      </trans-unit>
+      <trans-unit id="f4f5dbb3a05b5f38dab47ef38dad88a4574a765a" datatype="html">
+        <source>Must not be the same as the previous one</source>
+        <target>Must not be the same as the previous one</target>
+      </trans-unit>
+      <trans-unit id="607370e07b50087c196a5fcea9184e3d693226b2" datatype="html">
+        <source>Cannot contain the username</source>
+        <target>Cannot contain the username</target>
+      </trans-unit>
+      <trans-unit id="e6e355eab2596251aaa42623b41e6026d5c03e3b" datatype="html">
+        <source>Cannot contain any configured keyword</source>
+        <target>Cannot contain any configured keyword</target>
+      </trans-unit>
+      <trans-unit id="394bcd6d5e4da75b720c4d28f94f2aef7bb38355" datatype="html">
+        <source>Cannot contain any repetitive characters e.g. "aaa"</source>
+        <target>Cannot contain any repetitive characters e.g. "aaa"</target>
+      </trans-unit>
+      <trans-unit id="030e61e0bcf2536fb047645db6182d43e9fca9e9" datatype="html">
+        <source>Cannot contain any sequential characters e.g. "abc"</source>
+        <target>Cannot contain any sequential characters e.g. "abc"</target>
+      </trans-unit>
       <trans-unit id="99fa0b67376d40142bd4d3ace3344abf4f98b6a5" datatype="html">
         <source>Your matcher seems to match no currently defined rule or active alert.</source>
         <target>Your matcher seems to match no currently defined rule or active alert.</target>
         <source>Deleting</source>
         <target>Maže se</target>
       </trans-unit>
-      <trans-unit id="70ef158c584bafe788e319a0bffa11b02ee9abf1" datatype="html">
-        <source>delete</source>
-        <target>smazat</target>
-      </trans-unit>
       <trans-unit id="d07a282afc7fbdb39cea6e1c9b544882a7260a86" datatype="html">
         <source>Adding</source>
         <target>Přidávání</target>
         <source>remove</source>
         <target>odebrat</target>
       </trans-unit>
+      <trans-unit id="0e21237afdc84ec360c374fa678d9b1cfaa334f9" datatype="html">
+        <source>Importing</source>
+        <target>Importing</target>
+      </trans-unit>
+      <trans-unit id="c6b4128c006f4cc0564137e1a1482b5c432aa347" datatype="html">
+        <source>import</source>
+        <target>import</target>
+      </trans-unit>
+      <trans-unit id="3b9f4138abbca0fd66db1f7332f4b54e2a6d916d" datatype="html">
+        <source>Imported</source>
+        <target>Imported</target>
+      </trans-unit>
       <trans-unit id="3f757cfc3749ebb5d4462017cb60138ca082f15f" datatype="html">
         <source>RBD '
           <x id="INTERPOLATION" equiv-text="{{id}}"/>'
           <x id="INTERPOLATION" equiv-text="{{id}}"/>“
         </target>
       </trans-unit>
+      <trans-unit id="2bf18ddf3785f7afb4f01dcf63d3d8c40f4bfba5" datatype="html">
+        <source>mirroring site name</source>
+        <target>mirroring site name</target>
+      </trans-unit>
+      <trans-unit id="167b73bb24b4695614ce0fc567b7a45080457a44" datatype="html">
+        <source>bootstrap token</source>
+        <target>bootstrap token</target>
+      </trans-unit>
       <trans-unit id="4fb54a0291f49583c317d4a3690239141b5a8f68" datatype="html">
         <source>mirror mode for pool '
           <x id="INTERPOLATION" equiv-text="{{id}}"/>'
         <source>all dashboards</source>
         <target>všechny přehledy</target>
       </trans-unit>
+      <trans-unit id="6c19652df9249c60827044ed6274933cab180c63" datatype="html">
+        <source>OSDs (DriveGroups: 
+          <x id="INTERPOLATION" equiv-text="{{tracking_id}}"/>)
+        </source>
+        <target>OSDs (DriveGroups: 
+          <x id="INTERPOLATION" equiv-text="{{tracking_id}}"/>)
+        </target>
+      </trans-unit>
       <trans-unit id="1b559dbd9cc9664fd788c2da9a10d3abafe066cb" datatype="html">
         <source>Name is already used by 
           <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.
           <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.
         </target>
       </trans-unit>
+      <trans-unit id="460f07780389d24c6a540c007c7367a56afad585" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> is busy.
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> is busy.
+        </target>
+      </trans-unit>
       <trans-unit id="1ff7676ad1e991102224540a32dd44ad1ab88aa8" datatype="html">
         <source>
           <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.
         <source>Cannot disable mirroring because it contains a peer.</source>
         <target>Zrcadlení nelze vypnout protože obsahuje protějšek.</target>
       </trans-unit>
+      <trans-unit id="5c4525a1b76ca54d1aadeaecfdb83aedc2eec6e0" datatype="html">
+        <source>Identifying</source>
+        <target>Identifying</target>
+      </trans-unit>
+      <trans-unit id="ffd067e54a061d1f27cb35f0cf67ef7f29e19111" datatype="html">
+        <source>identify</source>
+        <target>identify</target>
+      </trans-unit>
+      <trans-unit id="7c921f339274688c22ba1acac7af6b097ad3599d" datatype="html">
+        <source>Identified</source>
+        <target>Identified</target>
+      </trans-unit>
+      <trans-unit id="3307492c27c2150cd26c514030444e11fd61089f" datatype="html">
+        <source>device '
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>' on host '
+          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>'
+        </source>
+        <target>device '
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>' on host '
+          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="f123ae1fc3b000e5d08e766dd78bff162afe709d" datatype="html">
         <source>host '
           <x id="INTERPOLATION" equiv-text="{{hostname}}"/>'
           <x id="INTERPOLATION" equiv-text="{{hostname}}"/>“
         </target>
       </trans-unit>
+      <trans-unit id="c1af76189dcefd094da2bc1a4a63968f3bab5789" datatype="html">
+        <source>OSD '
+          <x id="INTERPOLATION" equiv-text="{{svc_id}}"/>'
+        </source>
+        <target>OSD '
+          <x id="INTERPOLATION" equiv-text="{{svc_id}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="dfe70001dc590a9e12512cbb206aa29fb36fd00b" datatype="html">
         <source>pool '
           <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>'
           <x id="INTERPOLATION" equiv-text="{{name}}"/>“
         </target>
       </trans-unit>
+      <trans-unit id="79052d6c47258dc19ada12dbb2563761102b6f1d" datatype="html">
+        <source>crush rule '
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>'
+        </source>
+        <target>crush rule '
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="369462e5e018360e0600bb570866201ad5c3c8a8" datatype="html">
         <source>target '
           <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>'
           <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>
         </target>
       </trans-unit>
-      <trans-unit id="54bf6542e39412f83ec883266f443e31b304c937" datatype="html">
-        <source>Required rules for password complexity:
-    - must contain at least 8 characters
-    - cannot contain username
-    - cannot contain any keyword used in Ceph
-    - cannot contain any repetitive characters e.g. "aaa"
-    - cannot contain any sequencial characters e.g. "abc"
-    - must consist of characters from the following groups:
-      * alphabetic a-z, A-Z
-      * numbers 0-9
-      * special chars: !"#$%&amp; '()*+,-./:;&lt;=&gt;?@[\]^_`
-          <x id="INTERPOLATION" equiv-text="{{|}}"/>~
-      * any other characters (signs)
-        </source>
-        <target>Required rules for password complexity:
-    - must contain at least 8 characters
-    - cannot contain username
-    - cannot contain any keyword used in Ceph
-    - cannot contain any repetitive characters e.g. "aaa"
-    - cannot contain any sequencial characters e.g. "abc"
-    - must consist of characters from the following groups:
-      * alphabetic a-z, A-Z
-      * numbers 0-9
-      * special chars: !"#$%&amp; '()*+,-./:;&lt;=&gt;?@[\]^_`
-          <x id="INTERPOLATION" equiv-text="{{|}}"/>~
-      * any other characters (signs)
-        </target>
-      </trans-unit>
-      <trans-unit id="ba575e9364b43dc870e332265c5182bb357b7a49" datatype="html">
-        <source>Weak</source>
-        <target>Snadno prolomitelné</target>
-      </trans-unit>
-      <trans-unit id="7e6c975ebea8b5f8b120905ca7acf9f8edf59d8e" datatype="html">
-        <source>OK</source>
-        <target>OK</target>
-      </trans-unit>
-      <trans-unit id="3f7349017a01eed18c3daf2b7295ca96ef442eb6" datatype="html">
-        <source>Strong</source>
-        <target>Odolné</target>
-      </trans-unit>
-      <trans-unit id="a1e3aecc2022cb0ebed8575a24d0e29d2de815c6" datatype="html">
-        <source>Very strong</source>
-        <target>Velmi odolné</target>
-      </trans-unit>
     </body>
   </file>
 </xliff>
\ No newline at end of file
index 3c91b7bb51a41ad201e0c389a631e99aa3213144..437efdda0cba8f9ac9a96f2fbd72b0e486028acc 100644 (file)
@@ -19,7 +19,7 @@
       </trans-unit>
       <trans-unit id="2cc3ecb16e348fcf2f2fbfd2f997d4d22f37475b" datatype="html">
         <source>Inventory</source>
-        <target>Inventory</target>
+        <target>Verzeichnis</target>
       </trans-unit>
       <trans-unit id="624f596cc3320f5e0a0d7c7346c364e5af9bdd8c" datatype="html">
         <source>Monitors</source>
         <source>Logs</source>
         <target>Protokolle</target>
       </trans-unit>
-      <trans-unit id="9fe218829514884cdd0ca2300573a4e0428c324f" datatype="html">
-        <source>Alerts</source>
-        <target>Warnungen</target>
-      </trans-unit>
-      <trans-unit id="aa0c44aa1e5727061baa91e954f77e2f5f9a37c9" datatype="html">
-        <source>Silences</source>
-        <target>Silences</target>
+      <trans-unit id="17fc3efe5f9fa4e0289c900cb6202265215a1a27" datatype="html">
+        <source>Monitoring</source>
+        <target>Überwachung</target>
       </trans-unit>
       <trans-unit id="92899fa68e8ca108912163ff58edc8540e453787" datatype="html">
         <source>Pools</source>
           <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>
           <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.
         </source>
-        <target>Displaying previously cached data
+        <target>Zuvor zwischengespeicherte Daten
           <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>
-  fo
+  fü
           <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>
           <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>
-          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>.
+          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/> werden angezeigt.
         </target>
       </trans-unit>
       <trans-unit id="ae580202919844531361ba2308287226ff74a584" datatype="html">
       </trans-unit>
       <trans-unit id="7e52e9143145e1db5146258de81eae018a407b31" datatype="html">
         <source>Clear notifications</source>
-        <target>Clear notifications</target>
+        <target>Benachrichtigungen löschen</target>
       </trans-unit>
       <trans-unit id="b0b07bb6b7ff21ede439dd04eaf8872d1ecb84d8" datatype="html">
         <source>Remove notification</source>
-        <target>Remove notification</target>
+        <target>Benachrichtigungen entfernen</target>
       </trans-unit>
       <trans-unit id="e17a1d75189da843f541f7764f188f2b19a97df2" datatype="html">
         <source>Duration:</source>
-        <target>Duration:</target>
+        <target>Dauer:</target>
       </trans-unit>
       <trans-unit id="0d4b37c6675c5b436a54c43d6716eec835e1aa7f" datatype="html">
         <source>There are no notifications.</source>
       </trans-unit>
       <trans-unit id="0a23e992f6c6e169a38b2b7338b4e5e803b52e0d" datatype="html">
         <source>Tasks and Notifications</source>
-        <target>Tasks and Notifications</target>
+        <target>Aufträge und Benachrichtigungen</target>
       </trans-unit>
       <trans-unit id="3fb5709e10166cbc85970cbff103db227dbeb813" datatype="html">
         <source>Select a Language</source>
         <source>Back</source>
         <target>Zurück</target>
       </trans-unit>
+      <trans-unit id="9ce641535be1ffa106c87724ba0637facaef5f61" datatype="html">
+        <source>Your password will expire in 
+          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>less than 1
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day. Click
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.
+        </source>
+        <target>Das Passwort läuft in 
+          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>weniger als 1 
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>Tag ab. Klicken Sie 
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> hier 
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>, um es jetzt zu ändern.
+        </target>
+      </trans-unit>
+      <trans-unit id="c2f34088c155e40ffb23770a465a65868ce772b2" datatype="html">
+        <source>Your password will expire in 
+          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
+          <x id="INTERPOLATION" equiv-text="{{ expirationDays }}"/>
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day(s). Click
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.
+        </source>
+        <target>Das Passwort läuft in 
+          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
+          <x id="INTERPOLATION" equiv-text="{{ expirationDays }}"/>
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>Tag(en) ab. Klicken Sie 
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> hier 
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>, um es jetzt zu ändern.
+        </target>
+      </trans-unit>
+      <trans-unit id="9b516f972c744779257310b73f6e97438b726707" datatype="html">
+        <source>Orchestrator is not available. Please consult the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to
+  configure and enable the functionality.
+        </source>
+        <target>Das Modul "Orchestrator" ist nicht verfügbar. Lesen Sie die 
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Dokumentation 
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>zum Konfigurieren und Aktivieren dieses Moduls.
+        </target>
+      </trans-unit>
       <trans-unit id="012741ee52b3c050e4a977c37cc2334f7974f141" datatype="html">
         <source>Failed to load data.</source>
         <target>Daten konnten nicht geladen werden.</target>
       </trans-unit>
+      <trans-unit id="1e5e23363e949f7dcbaf034bdb141a561132a10e" datatype="html">
+        <source>Clear filters</source>
+        <target>Filter löschen</target>
+      </trans-unit>
       <trans-unit id="80cc9a12d4bf6fe454ed94b379eeaf915f920bb7" datatype="html">
         <source>selected</source>
         <target>ausgewählt</target>
         <source>Values</source>
         <target>Werte</target>
       </trans-unit>
+      <trans-unit id="5894f7158499fdb89527af50c9f1cf7d4c95cad6" datatype="html">
+        <source>-- Default --</source>
+        <target>-- Standard --</target>
+      </trans-unit>
+      <trans-unit id="514f6e12d035a6d9b00de6b3e55c18b73488da07" datatype="html">
+        <source>true</source>
+        <target>wahr</target>
+      </trans-unit>
+      <trans-unit id="774f5e6a183dea08393789b6f72e86afad729419" datatype="html">
+        <source>false</source>
+        <target>falsch</target>
+      </trans-unit>
       <trans-unit id="82029b6db704c56a2aa3e82ac555b8655356b077" datatype="html">
         <source>The entered value is too high! It must not be greater than 
           <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.
       </trans-unit>
       <trans-unit id="1b3f5e5291541678f7afa49d28fad5ca848a8061" datatype="html">
         <source>The chosen hostname is already in use.</source>
-        <target>The chosen hostname is already in use.</target>
+        <target>Der ausgewählte Hostname wird bereits verwendet.</target>
       </trans-unit>
       <trans-unit id="formActionButton" datatype="html">
         <source>
         <source>Are you sure that you want to 
           <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected items?
         </source>
-        <target>Are you sure that you want to 
-          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected items?
+        <target>Sind Sie sicher dass Sie die ausgewählten Einträge 
+          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> möchten?
         </target>
       </trans-unit>
       <trans-unit id="54839ebc827b73c9dc4e1df731c6d36a85036af7" datatype="html">
           <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected 
           <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>?
         </source>
-        <target>Are you sure that you want to 
-          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> the selected 
-          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>?
+        <target>Sind Sie sicher dass Sie die ausgewählten 
+          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ actionDescription | lowercase }}"/> möchten?
         </target>
       </trans-unit>
       <trans-unit id="2be8b7f04f0104d3fad90d079d8202b74f758b9a" datatype="html">
         <source>Cancel</source>
         <target>Abbrechen</target>
       </trans-unit>
+      <trans-unit id="55a2f26b2e87886d9b8015a887e38e51ab2a866a" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>
+          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>
+          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8" datatype="html">
+        <source>Close</source>
+        <target>Schließen</target>
+      </trans-unit>
       <trans-unit id="40661476cb24c89d8b06614998e31d5fbe84eeb6" datatype="html">
         <source>Hosts List</source>
         <target>Liste mit Hosts</target>
         <source>Overall Performance</source>
         <target>Gesamtleistung</target>
       </trans-unit>
-      <trans-unit id="6bc15dc1a621b6ff7378db7fd3ac10b2a2627c77" datatype="html">
-        <source>Please consult the
-          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
-          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to
-  configure and enable the orchestrator functionality.
-        </source>
-        <target>Please consult the
-          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
-          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to
-  configure and enable the orchestrator functionality.
-        </target>
-      </trans-unit>
       <trans-unit id="3e24569eca61d598c8b01defbbbb1fa8bd5222bc" datatype="html">
         <source>Devices</source>
-        <target>Devices</target>
+        <target>Laufwerke</target>
       </trans-unit>
       <trans-unit id="e6d57f36aa2bad303c8a8ee944b9bd7fae3c8c26" datatype="html">
         <source>No entries found</source>
         <source>Not In Quorum</source>
         <target>Nicht in Quorum</target>
       </trans-unit>
+      <trans-unit id="4383e9662ea19839c7499b2128d43a195e564317" datatype="html">
+        <source>OSD creation preview</source>
+        <target>Vorschau der OSD-Erstellung</target>
+      </trans-unit>
+      <trans-unit id="366225c51e0b00bcb1c55795a0dc5e81c455f84e" datatype="html">
+        <source>DriveGroups</source>
+        <target>DriveGroups</target>
+      </trans-unit>
+      <trans-unit id="8edc89137d0d8c5667a2f03230beafae45e58429" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{ deviceType }}"/> devices
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{ deviceType }}"/> devices
+        </target>
+      </trans-unit>
+      <trans-unit id="eba28e1805b18f7c8ae2e4bc15dcf063b10b3822" datatype="html">
+        <source>At least one of these filters must be applied in order to proceed:</source>
+        <target>At least one of these filters must be applied in order to proceed:</target>
+      </trans-unit>
+      <trans-unit id="93389aa2fe2bea50bf89554ee51b28f87ee2fb50" datatype="html">
+        <source>Number of devices: 
+          <x id="INTERPOLATION" equiv-text="{{ filteredDevices.length }}"/>. Raw capacity:
+          <x id="INTERPOLATION_1" equiv-text="{{ capacity | dimlessBinary }}"/>.
+        </source>
+        <target>Number of devices: 
+          <x id="INTERPOLATION" equiv-text="{{ filteredDevices.length }}"/>. Raw capacity:
+          <x id="INTERPOLATION_1" equiv-text="{{ capacity | dimlessBinary }}"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="ccb4f84edc0b4e76415bb3f9b73d725b06683af3" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{ name }}"/> devices
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{ name }}"/> Laufwerke
+        </target>
+      </trans-unit>
+      <trans-unit id="60cb3d01e5ddf266ecb4271007a1c3d0f3efdc22" datatype="html">
+        <source>The primary storage devices. These devices contain all OSD data.</source>
+        <target>The primary storage devices. These devices contain all OSD data.</target>
+      </trans-unit>
+      <trans-unit id="b432e04886d0d1fd84f740477383051f85addcf2" datatype="html">
+        <source>Write-Ahead-Log devices. These devices are used for BlueStore’s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device.</source>
+        <target>Write-Ahead-Log devices. These devices are used for BlueStore’s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device.</target>
+      </trans-unit>
+      <trans-unit id="b87e181ab9e8393aa5ed759dd3d53836e32c8ffe" datatype="html">
+        <source>DB devices can be used for storing BlueStore’s internal metadata.  It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD).</source>
+        <target>DB devices can be used for storing BlueStore’s internal metadata.  It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD).</target>
+      </trans-unit>
+      <trans-unit id="f6755cff4957d5c3c89bafce5651f1b6fa2b1fd9" datatype="html">
+        <source>Add</source>
+        <target>Hinzufügen</target>
+      </trans-unit>
+      <trans-unit id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46" datatype="html">
+        <source>Clear</source>
+        <target>Löschen</target>
+      </trans-unit>
+      <trans-unit id="7e0fd3c7af0630f93befa6234a693a32a61084e0" datatype="html">
+        <source>Raw capacity: 
+          <x id="INTERPOLATION" equiv-text="{{ capacity | dimlessBinary }}"/>
+        </source>
+        <target>Raw capacity: 
+          <x id="INTERPOLATION" equiv-text="{{ capacity | dimlessBinary }}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="43ecf6bee2aebc07b0aad6dc1fe13e38d14687fa" datatype="html">
+        <source>Shared devices</source>
+        <target>Geteilte Laufwerke</target>
+      </trans-unit>
+      <trans-unit id="7a1c376f6f1b37de4c318ff2106255ba6c0f5b0b" datatype="html">
+        <source>WAL slots</source>
+        <target>WAL Slots</target>
+      </trans-unit>
+      <trans-unit id="73811a6f37b63e6b0e491e221bfa21e9dea8a87a" datatype="html">
+        <source>How many OSDs per WAL device.</source>
+        <target>Wie viele OSDs pro WAL-Laufwerk.</target>
+      </trans-unit>
+      <trans-unit id="0c67a7ac4762ef1cc855056c6b4daab93e53a0a5" datatype="html">
+        <source>Specify 0 to let Orchestrator backend decide it.</source>
+        <target>Geben Sie 0 an, um das Orchestrator-Backend entscheiden zu lassen.</target>
+      </trans-unit>
+      <trans-unit id="7bda9362e06e6c67341b4a8425b0d29d6b84464b" datatype="html">
+        <source>Value should be greater than or equal to 0</source>
+        <target>Der Wert sollte größer als oder gleich 0 sein</target>
+      </trans-unit>
+      <trans-unit id="324c2b10152b9dd908222bb0b71f61beb60a30c5" datatype="html">
+        <source>DB slots</source>
+        <target>DB Slots</target>
+      </trans-unit>
+      <trans-unit id="c23cf12ef9c76f37fc7a4b7ae3e00fb0f68b6e26" datatype="html">
+        <source>How many OSDs per DB device.</source>
+        <target>Wie viele OSDs pro DB-Laufwerk.</target>
+      </trans-unit>
+      <trans-unit id="6cdb1fea93d77c07950c0c76c6e0ad79ebbef084" datatype="html">
+        <source>Features</source>
+        <target>Funktionen</target>
+      </trans-unit>
+      <trans-unit id="3e2a583f531f7dd9f089f68a6968e444c372c3e8" datatype="html">
+        <source>Preview</source>
+        <target>Vorschau</target>
+      </trans-unit>
       <trans-unit id="5ef50ba2514414f799d4c8fc36067a251904ba81" datatype="html">
         <source>Cluster-wide OSD Flags</source>
         <target>Clusterweite OSD-Flags</target>
         <source>{VAR_SELECT, select, 1 {Deep } }</source>
         <target>{VAR_SELECT, select, 1 {Tief } }</target>
       </trans-unit>
-      <trans-unit id="2613498e8e5853c26a1cc62ae8dc673d1fdf0e2a" datatype="html">
+      <trans-unit id="fd0a4b6eed32e3488eccdc9c13f9841f08cc275e" datatype="html">
         <source>You are about to apply a 
           <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to
           the OSD(s): 
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
-          <x id="INTERPOLATION" equiv-text="{{ selected | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ selected | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.
         </source>
         <target>You are about to apply a 
           <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to
           the OSD(s): 
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
-          <x id="INTERPOLATION" equiv-text="{{ selected | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ selected | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.
         </target>
       </trans-unit>
         <source>OSDs List</source>
         <target>OSD-Liste</target>
       </trans-unit>
-      <trans-unit id="c402e6ec1c6792ede81f56c28eee8955860391c8" datatype="html">
+      <trans-unit id="d5707a32ba9c1138e6423498fb0b24e970ebd19f" datatype="html">
         <source>
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) 
-          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
           <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>
         </source>
         <target>
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) 
-          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
           <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.
         </target>
       </trans-unit>
-      <trans-unit id="d2797d01ba86f5df03d875803e49e648a4027869" datatype="html">
+      <trans-unit id="d08c1e4f17dffc0ed1ac2e2e2875cb8b569eeb35" datatype="html">
         <source>The 
-          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to destroy!
+          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to be 
+          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>! 
+          <x id="INTERPOLATION_1" equiv-text="{{ message }}"/>
         </source>
         <target>The 
-          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to destroy!
+          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to be 
+          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>! 
+          <x id="INTERPOLATION_1" equiv-text="{{ message }}"/>
         </target>
       </trans-unit>
       <trans-unit id="e776996dac651ef3819bfa767ccf2a0613759f47" datatype="html">
         <source>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</source>
         <target>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</target>
       </trans-unit>
-      <trans-unit id="1e2c50ed3c3934ef068976dc7f38513cec29d515" datatype="html">
+      <trans-unit id="5cd6a031937412c42e5efa1e6959cb72ac08c720" datatype="html">
         <source>
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD 
-          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
           <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>
         </source>
         <target>
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD 
-          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
           <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.
         </target>
       </trans-unit>
-      <trans-unit id="4f8b2bb476981727ab34ed40fde1218361f92c45" datatype="html">
-        <source>Details</source>
-        <target>Details</target>
+      <trans-unit id="3eda19b44809820fffd5d3753bafb7243116f4b0" datatype="html">
+        <source>To see all active Prometheus alerts, please
+      provide the URL to the API of Prometheus' Alertmanager as described in the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.
+        </source>
+        <target>To see all active Prometheus alerts, please
+      provide the URL to the API of Prometheus' Alertmanager as described in the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="880ad4df5a2051a437321443d69c9a866699e5ad" datatype="html">
+        <source>Active Alerts</source>
+        <target>Aktive Warnungen</target>
+      </trans-unit>
+      <trans-unit id="8e5e0e09a11990d343926ed693574213d703c38d" datatype="html">
+        <source>All Alerts</source>
+        <target>Alle Warnungen</target>
+      </trans-unit>
+      <trans-unit id="526938c2b7945cb0d68328c24bd77730230cd455" datatype="html">
+        <source>To enable Silences, please provide the URL to the API of the Prometheus' Alertmanager as
+      described in the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.
+        </source>
+        <target>To enable Silences, please provide the URL to the API of the Prometheus' Alertmanager as
+      described in the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="aa0c44aa1e5727061baa91e954f77e2f5f9a37c9" datatype="html">
+        <source>Silences</source>
+        <target>Silences</target>
       </trans-unit>
       <trans-unit id="8501055865d7031b5521a0c5467532648009a61d" datatype="html">
         <source>Matcher</source>
         <source>{VAR_SELECT, select, 1 {Update} other {Add} }</source>
         <target>{VAR_SELECT, select, 1 {Update} other {Add} }</target>
       </trans-unit>
-      <trans-unit id="f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8" datatype="html">
-        <source>Close</source>
-        <target>Schließen</target>
-      </trans-unit>
       <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c" datatype="html">
         <source>Edit</source>
         <target>Bearbeiten</target>
       </trans-unit>
       <trans-unit id="a3ba06aba047605af8ea1718ec1ba153b7db12a2" datatype="html">
         <source>Editing a silence will expire the old silence and recreate it as a new silence</source>
-        <target>Editing a silence will expire the old silence and recreate it as a new silence</target>
+        <target>Das Bearbeiten einer Stummschaltung löscht die Vorherige und legt eine neue Stummschaltung an.</target>
       </trans-unit>
       <trans-unit id="a20424156b8816671f61879f0574a4f27d7b16b9" datatype="html">
         <source>Creator</source>
-        <target>Creator</target>
+        <target>Ersteller</target>
       </trans-unit>
       <trans-unit id="5a5d7ee2acbfa9c91ab7f41d26bda9ff0cafe42f" datatype="html">
         <source>Comment</source>
         <source>End time</source>
         <target>Ende</target>
       </trans-unit>
-      <trans-unit id="dbe739ec8c99a0132e326067ffec9c0ee06b2655" datatype="html">
-        <source>Matchers
-          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>*
-          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>
-        </source>
-        <target>Matchers
-          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>*
-          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>
-        </target>
+      <trans-unit id="992123459137d45c15df5548bc9682aad835c04b" datatype="html">
+        <source>Matchers</source>
+        <target>Matchers</target>
       </trans-unit>
       <trans-unit id="3e023166c55833d5a13f4143e3dbe372befe1b4e" datatype="html">
         <source>A silence requires at least one matcher</source>
           <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> documentation
           <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for details before enabling write access.
         </source>
-        <target>The Object Gateway NFS backend has a number of
-              limitations which will seriously affect applications writing to
             the share. Please consult the
-          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> documentation
-          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for details before enabling write access.
+        <target>Das NFS-Backend für das Objektgateway besitzt eine Reihe von
+ Einschränkungen, die Schreibvorgänge von Anwendungen auf diese
Freigaben ernsthaft beeinträchtigen. Bitte konsultieren Sie die
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> Dokumentation 
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> für weitere Informationen, bevor Sie den Schreibzugriff aktivieren.
         </target>
       </trans-unit>
       <trans-unit id="4deda03573eaaff77e63f6a238a1f0ca7816950a" datatype="html">
         <source>CephFS</source>
         <target>CephFS</target>
       </trans-unit>
+      <trans-unit id="0eb15f32b2b92d7f3103ef3ff032621888a8dc32" datatype="html">
+        <source>Old password</source>
+        <target>Altes Passwort</target>
+      </trans-unit>
+      <trans-unit id="1cf42e491adc166a337a960eb84d03c0c3f677c8" datatype="html">
+        <source>The old and new passwords must be different.</source>
+        <target>Das alte und neue Passwort müssen unterschiedlich sein.</target>
+      </trans-unit>
+      <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229" datatype="html">
+        <source>New password</source>
+        <target>Neues Passwort</target>
+      </trans-unit>
+      <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b" datatype="html">
+        <source>Confirm new password</source>
+        <target>Neues Passwort bestätigen</target>
+      </trans-unit>
+      <trans-unit id="90163a3d3746819aef42e829f4446331232f3b66" datatype="html">
+        <source>Password confirmation doesn't match the new password.</source>
+        <target>Passwortbestätigung stimmt nicht mit dem neuen Passwort überein.</target>
+      </trans-unit>
+      <trans-unit id="d06ae77f9ec46a4cdd49e7e76c73a411aaf2ee38" datatype="html">
+        <source>Please set a new password.</source>
+        <target>Bitte legen Sie ein neues Passwort fest.</target>
+      </trans-unit>
+      <trans-unit id="8b5b3566e88438f51bd5f6caf6c090ed565ba5ed" datatype="html">
+        <source>You will be redirected to the login page afterwards.</source>
+        <target>Sie werden anschließend auf die Login-Seite weitergeleitet.</target>
+      </trans-unit>
       <trans-unit id="449dca3d3a93ead418b0541ea81b0dda7e6483c2" datatype="html">
         <source>Welcome to Ceph!</source>
         <target>Willkommen bei Ceph!</target>
           <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> zurück. Sie werden vom Identitätsanbieter abgemeldet, wenn Sie versuchen, sich erneut anzumelden.
         </target>
       </trans-unit>
-      <trans-unit id="0eb15f32b2b92d7f3103ef3ff032621888a8dc32" datatype="html">
-        <source>Old password</source>
-        <target>Altes Passwort</target>
-      </trans-unit>
-      <trans-unit id="1cf42e491adc166a337a960eb84d03c0c3f677c8" datatype="html">
-        <source>The old and new passwords must be different.</source>
-        <target>Das alte und neue Passwort müssen unterschiedlich sein.</target>
-      </trans-unit>
-      <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229" datatype="html">
-        <source>New password</source>
-        <target>Neues Passwort</target>
-      </trans-unit>
-      <trans-unit id="595ebc9279497f6dc733777e2816bee936901388" datatype="html">
-        <source>Too weak</source>
-        <target>Too weak</target>
-      </trans-unit>
-      <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b" datatype="html">
-        <source>Confirm new password</source>
-        <target>Neues Passwort bestätigen</target>
-      </trans-unit>
-      <trans-unit id="90163a3d3746819aef42e829f4446331232f3b66" datatype="html">
-        <source>Password confirmation doesn't match the new password.</source>
-        <target>Passwortbestätigung stimmt nicht mit dem neuen Passwort überein.</target>
-      </trans-unit>
       <trans-unit id="471e78026c258073ba687478dc54c35d9041ea42" datatype="html">
         <source>Forbidden</source>
         <target>Verboten</target>
         <source>Sorry, you are not allowed to see what you were looking for.</source>
         <target>Leider sind Sie nicht berechtigt, den gewünschten Inhalt anzuzeigen.</target>
       </trans-unit>
-      <trans-unit id="e3c028c58f92453d46f09b5adf95b2f013ee0300" datatype="html">
-        <source>Sorry, we could not find what you were looking for</source>
+      <trans-unit id="2240b985f17293d84cc8532fe86994aa5f63667c" datatype="html">
+        <source>Sorry, we could not find what you were looking for.</source>
         <target>Leider konnte der gewünschte Inhalt nicht gefunden werden.</target>
       </trans-unit>
+      <trans-unit id="ac54c18c1b520e948095c83a3a1025f02ce6dcc6" datatype="html">
+        <source>Neither hostname nor OSD ID given</source>
+        <target>Weder Hostname noch OSD ID angegeben</target>
+      </trans-unit>
+      <trans-unit id="4f635b3cb0600409a2ad44a5bd1863c699e6a01c" datatype="html">
+        <source>Failed to retrieve SMART data.</source>
+        <target>Failed to retrieve SMART data.</target>
+      </trans-unit>
+      <trans-unit id="d82a9af5b05e7cd17640f196f163771685ff8df6" datatype="html">
+        <source>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</source>
+        <target>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</target>
+      </trans-unit>
+      <trans-unit id="04f8a3c7e8ac610e6581960162cc15f55a16696a" datatype="html">
+        <source>No SMART data available.</source>
+        <target>No SMART data available.</target>
+      </trans-unit>
+      <trans-unit id="3a03d3c2e459f8f8fa7202c0fce465d6165f9e2b" datatype="html">
+        <source>passed</source>
+        <target>bestanden</target>
+      </trans-unit>
+      <trans-unit id="a185c9b97513b3882604ea9bab60edbfac945c15" datatype="html">
+        <source>SMART overall-health self-assessment test result</source>
+        <target>SMART overall-health self-assessment test result</target>
+      </trans-unit>
+      <trans-unit id="41435d5a5692c8e412c74deaee95d99dbd3617e1" datatype="html">
+        <source>failed</source>
+        <target>fehlgeschlagen</target>
+      </trans-unit>
+      <trans-unit id="ddd5dd6d930030096ea617f62c82b648a0dd9484" datatype="html">
+        <source>Device Information</source>
+        <target>Laufwerksinformationen</target>
+      </trans-unit>
+      <trans-unit id="380295f37caea93701d071485a38ef0bdba57133" datatype="html">
+        <source>No SMART data available for this device.</source>
+        <target>Keine SMART-Daten für dieses Laufwerk verfügbar.</target>
+      </trans-unit>
+      <trans-unit id="20cb12827cbe559a7b1da6fdae96041b3b5c3c55" datatype="html">
+        <source>SMART</source>
+        <target>SMART</target>
+      </trans-unit>
+      <trans-unit id="5758c3f16f8749f0f4e2a787f02e8b4da246102f" datatype="html">
+        <source>SMART data is loading.</source>
+        <target>SMART-Daten werden geladen.</target>
+      </trans-unit>
       <trans-unit id="a949d7e577902d0e5dc5d0971bb0170a21be7728" datatype="html">
         <source>[object Object]</source>
         <target>[object Object]</target>
         <source>The chosen erasure code profile name is already in use.</source>
         <target>Der ausgewählte Erasure-Coding-Profilname wird bereits verwendet.</target>
       </trans-unit>
+      <trans-unit id="35a4206db3105ed03e0dd799e1642b75b78123e8" datatype="html">
+        <source>Root</source>
+        <target>Root</target>
+      </trans-unit>
+      <trans-unit id="cf425784c7073c7e7f7c1bb90c2c19db7e751db2" datatype="html">
+        <source>Failure domain type</source>
+        <target>Failure domain type</target>
+      </trans-unit>
+      <trans-unit id="72396a9565cf644d1fe1b21b790c4243ee270986" datatype="html">
+        <source>Device class</source>
+        <target>Laufwerksklasse</target>
+      </trans-unit>
+      <trans-unit id="72d80e0c07bfea1b693a33ef2245007de92a6780" datatype="html">
+        <source>Let Ceph decide</source>
+        <target>Let Ceph decide</target>
+      </trans-unit>
       <trans-unit id="ef9ff0e6227947b48dfab4ac39ade04af758913b" datatype="html">
         <source>Plugin</source>
         <target>Plugin</target>
         <target>It's not possible to create an RBD pool with '/' in the name.
               Please change the name or remove 'rbd' from the applications list.</target>
       </trans-unit>
+      <trans-unit id="171dc6d5c6bc4615d99778b0088cae80fd00bd10" datatype="html">
+        <source>Pool name can only contain letters, numbers, '.', '-', '_' or '/'.</source>
+        <target>Pool name can only contain letters, numbers, '.', '-', '_' or '/'.</target>
+      </trans-unit>
       <trans-unit id="b85c657469e5ec8231c3de99b22f437bc01ffde5" datatype="html">
         <source>Pool type</source>
         <target>Pooltyp</target>
         <source>-- Select a pool type --</source>
         <target>-- Pooltyp auswählen --</target>
       </trans-unit>
+      <trans-unit id="6abfbe47b630929d93c7343dc154599c2e59330a" datatype="html">
+        <source>PG Autoscale</source>
+        <target>PG Autoskalierung</target>
+      </trans-unit>
       <trans-unit id="0aa21053410a94aa61d16985a4e95fd65523430d" datatype="html">
         <source>Placement groups</source>
         <target>Platzierungsgruppen</target>
         <target>Die aktuellen Einstellungen für die Platzierungsgruppen wurden für Sie berechnet.
                     Stellen Sie vor dem Senden sicher, dass die Werte Ihren Anforderungen entsprechen.</target>
       </trans-unit>
-      <trans-unit id="33150f22ce5348aa6c499bd092c3f4f3695d62cc" datatype="html">
-        <source>Crush ruleset</source>
-        <target>Crush-Regelsatz</target>
-      </trans-unit>
-      <trans-unit id="73a6b31116b3cc322af951daa0bafdc169e6c42e" datatype="html">
-        <source>-- Select a crush rule --</source>
-        <target>-- Crush-Regel auswählen --</target>
-      </trans-unit>
-      <trans-unit id="92da80699921e89fb19372e25b8d0f3b9fa427fc" datatype="html">
-        <source>Crush rule</source>
-        <target>Crush-Regel</target>
-      </trans-unit>
-      <trans-unit id="5489e9f96835f469f6f728a00d8efa88ea5bc940" datatype="html">
-        <source>Crush steps</source>
-        <target>Crush-Schritte</target>
-      </trans-unit>
-      <trans-unit id="54a53b1b402aafff5b992ee9b64e409fbfe9074f" datatype="html">
-        <source>The rule can't be used in the current cluster as it has
-                to few OSDs to meet the minimum required OSD by this rule.</source>
-        <target>Die Regel kann im aktuellen Cluster nicht verwendet werden,
-                da es zu wenige OSDs enthält, um das von dieser Regel geforderte OSD-Minimum zu erfüllen.</target>
-      </trans-unit>
       <trans-unit id="a43b2695131b48b76cebba676aba98a2bee17515" datatype="html">
         <source>Replicated size</source>
         <target>Reproduzierte Größe</target>
           <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/>.
         </target>
       </trans-unit>
+      <trans-unit id="920617c6a1a4805e53bcb5af6a9c76f8387e89c6" datatype="html">
+        <source>Flags</source>
+        <target>Flags</target>
+      </trans-unit>
+      <trans-unit id="1c870fb00256b8a5b9cb9cd1a124e6390b9bc639" datatype="html">
+        <source>EC Overwrites</source>
+        <target>EC-Überschreibungen</target>
+      </trans-unit>
+      <trans-unit id="f1abafaeb40ce52355ddcc24686e3cd17b64e08a" datatype="html">
+        <source>Applications</source>
+        <target>Anwendungen</target>
+      </trans-unit>
+      <trans-unit id="fb9308b82fc183f710df60909f49cfc73aa5e076" datatype="html">
+        <source>CRUSH</source>
+        <target>CRUSH</target>
+      </trans-unit>
       <trans-unit id="9de7dde00e2139cc4bd03b1837afbe72ad15a1ff" datatype="html">
         <source>Erasure code profile</source>
         <target>Erasure-Coding-Profil</target>
         <source>-- Select an erasure code profile --</source>
         <target>-- Erasure-Coding-Profil auswählen --</target>
       </trans-unit>
-      <trans-unit id="920617c6a1a4805e53bcb5af6a9c76f8387e89c6" datatype="html">
-        <source>Flags</source>
-        <target>Flags</target>
+      <trans-unit id="33150f22ce5348aa6c499bd092c3f4f3695d62cc" datatype="html">
+        <source>Crush ruleset</source>
+        <target>Crush-Regelsatz</target>
       </trans-unit>
-      <trans-unit id="1c870fb00256b8a5b9cb9cd1a124e6390b9bc639" datatype="html">
-        <source>EC Overwrites</source>
-        <target>EC-Überschreibungen</target>
+      <trans-unit id="c69b0bcd4698aa845d32c4c4ad488492552cb469" datatype="html">
+        <source>A new crush ruleset will be implicitly created.</source>
+        <target>Ein neuer CRUSH Regelsatz wird implizit erstellt.</target>
       </trans-unit>
-      <trans-unit id="f1abafaeb40ce52355ddcc24686e3cd17b64e08a" datatype="html">
-        <source>Applications</source>
-        <target>Anwendungen</target>
+      <trans-unit id="896e9987db5e9bb279e6deed5d2dff28c242ef66" datatype="html">
+        <source>There are no rules.</source>
+        <target>Keine Regeln vorhanden.</target>
+      </trans-unit>
+      <trans-unit id="73a6b31116b3cc322af951daa0bafdc169e6c42e" datatype="html">
+        <source>-- Select a crush rule --</source>
+        <target>-- Crush-Regel auswählen --</target>
+      </trans-unit>
+      <trans-unit id="ea91d648f92002bc9f96d9b26b735c83ca0b53c6" datatype="html">
+        <source>This rule can't be deleted as it is in use.</source>
+        <target>This rule can't be deleted as it is in use.</target>
+      </trans-unit>
+      <trans-unit id="92da80699921e89fb19372e25b8d0f3b9fa427fc" datatype="html">
+        <source>Crush rule</source>
+        <target>Crush-Regel</target>
+      </trans-unit>
+      <trans-unit id="5489e9f96835f469f6f728a00d8efa88ea5bc940" datatype="html">
+        <source>Crush steps</source>
+        <target>Crush-Schritte</target>
+      </trans-unit>
+      <trans-unit id="fc5f5496a9e50fe69e1a09784f28d94944108294" datatype="html">
+        <source>Rule is not in use.</source>
+        <target>Rule is not in use.</target>
+      </trans-unit>
+      <trans-unit id="023d6f718770d2ea4ab8cabe26b0ec27ef967ec2" datatype="html">
+        <source>Used by pools</source>
+        <target>Used by pools</target>
+      </trans-unit>
+      <trans-unit id="104a0e6900d1d1b0c8cf9e5947e36edb352583fc" datatype="html">
+        <source>The rule can't be used in the current cluster as it has
+                  too few OSDs to meet the minimum required OSD by this rule.</source>
+        <target>The rule can't be used in the current cluster as it has
+                  too few OSDs to meet the minimum required OSD by this rule.</target>
       </trans-unit>
       <trans-unit id="2208d63d5940ce656006a220102b1eb2b5e553da" datatype="html">
         <source>Compression</source>
       </trans-unit>
       <trans-unit id="a1d14a18879c62f3f4ed705318b7164a1160e249" datatype="html">
         <source>Leave it blank or specify 0 to disable this quota.</source>
-        <target>Leave it blank or specify 0 to disable this quota.</target>
+        <target>Lassen Sie das Feld leer oder geben Sie 0 an, um dieses Quota zu deaktivieren.</target>
       </trans-unit>
       <trans-unit id="7565b131562ff6c5f769fdbd239a772154abdd97" datatype="html">
         <source>A valid quota should be greater than 0.</source>
         <source>The value should be greater or equal to 0</source>
         <target>Der Wert sollte größer als oder gleich 0 sein</target>
       </trans-unit>
+      <trans-unit id="4f8b2bb476981727ab34ed40fde1218361f92c45" datatype="html">
+        <source>Details</source>
+        <target>Details</target>
+      </trans-unit>
       <trans-unit id="fbbaf5cb02ed419e79a27072478f716a4666a99d" datatype="html">
         <source>Performance Details</source>
         <target>Leistungsdetails</target>
         <source>Cache Tiers Details</source>
         <target>Details zu den Cache-Ebenen</target>
       </trans-unit>
+      <trans-unit id="ecbc084370a732fc3cde1966a60af78d71424ab4" datatype="html">
+        <source>Create Bootstrap Token</source>
+        <target>Bootstrap-Token erstellen</target>
+      </trans-unit>
+      <trans-unit id="603e9cc3ef2aab57f2b0a00e465b23b9cabefd9c" datatype="html">
+        <source>To create a bootstrap token which can be imported
+          by a peer site cluster, provide the local site's name, select
+          which pools will have mirroring enabled, and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Generate
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </source>
+        <target>To create a bootstrap token which can be imported
+          by a peer site cluster, provide the local site's name, select
+          which pools will have mirroring enabled, and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Generate
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="660f97cd3188f8a04bd03b79e703fec72c6df04c" datatype="html">
+        <source>Site Name</source>
+        <target>Site-Name</target>
+      </trans-unit>
+      <trans-unit id="8c2a1dc72cffaf7ab3dc5599bf77b0a7fcad2b20" datatype="html">
+        <source>At least one pool is required.</source>
+        <target>Mindestens ein Pool ist erforderlich.</target>
+      </trans-unit>
+      <trans-unit id="1b258b258b4cc475ceb2871305b61756b0134f4a" datatype="html">
+        <source>Generate</source>
+        <target>Erzeugen</target>
+      </trans-unit>
+      <trans-unit id="1edc1fc6cfbbb22353050ad6788508b3ed584f53" datatype="html">
+        <source>Token</source>
+        <target>Token</target>
+      </trans-unit>
+      <trans-unit id="ff785f5596aef34a93b9b4d1023e95c62eef5740" datatype="html">
+        <source>Generated token...</source>
+        <target>Erzeugtes Token...</target>
+      </trans-unit>
+      <trans-unit id="5467a6bb0e7fade6def7499400d5e2a7d8d3da20" datatype="html">
+        <source>Import Bootstrap Token</source>
+        <target>Bootstrap-Token importieren</target>
+      </trans-unit>
+      <trans-unit id="9bb7aee0dec5164f45c0aa2f35f2fb2149d2c1d2" datatype="html">
+        <source>To import a bootstrap token which was created
+          by a peer site cluster, provide the local site's name, select
+          which pools will have mirroring enabled, provide the generated
+          token, and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Import
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </source>
+        <target>To import a bootstrap token which was created
+          by a peer site cluster, provide the local site's name, select
+          which pools will have mirroring enabled, provide the generated
+          token, and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Import
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="9200e09686136a1d42adfb89c12fbfef2deea125" datatype="html">
+        <source>Direction</source>
+        <target>Richtung</target>
+      </trans-unit>
+      <trans-unit id="9761484679958da8d12841a4efa5964d33fae575" datatype="html">
+        <source>The token is invalid.</source>
+        <target>Der Token ist ungültig.</target>
+      </trans-unit>
+      <trans-unit id="a059709f71aa4c0ac219e160e78a738682ca6a36" datatype="html">
+        <source>Import</source>
+        <target>Import</target>
+      </trans-unit>
+      <trans-unit id="b87bd96249f8afc23f5301cddb57b1464a98e71a" datatype="html">
+        <source>Edit site name</source>
+        <target>Site-Namen bearbeiten</target>
+      </trans-unit>
+      <trans-unit id="cfff72c667274c12eb1ff71eadc25871c10c42dc" datatype="html">
+        <source>Edit the site name and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </source>
+        <target>Edit the site name and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="40b7acea5b43f45e0bbd1efeba5200af4687981d" datatype="html">
+        <source>Site Name:</source>
+        <target>Site-Name:</target>
+      </trans-unit>
       <trans-unit id="f0b5d789d42c0e69348e5fe0037fcbf5b5fbbdcc" datatype="html">
         <source>Move an image to trash</source>
         <target>Image in Papierkorb verschieben</target>
       </trans-unit>
-      <trans-unit id="86301cf2044b1eda218483365f6b9de8dde5040b" datatype="html">
+      <trans-unit id="7ad22c1d4aab3b8946603cea62de266d5129ca10" datatype="html">
+        <source>This image contains snapshot(s), which will prevent it
+            from being removed after moved to trash.</source>
+        <target>This image contains snapshot(s), which will prevent it
+            from being removed after moved to trash.</target>
+      </trans-unit>
+      <trans-unit id="b4b3ced4f8aad4c446f348b14c3d94be2e2c350c" datatype="html">
         <source>To move 
           <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>
-          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>/
-          <x id="INTERPOLATION_1" equiv-text="{{ imageName }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ imageSpecStr }}"/>
           <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,
           click 
           <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image
           <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optionally, you can pick an expiration date.
         </source>
-        <target>Um 
+        <target>To move 
           <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>
-          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>/
-          <x id="INTERPOLATION_1" equiv-text="{{ imageName }}"/>
-          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> in den Papierkorb zu verschieben,
-          klicken Sie auf 
-          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Image verschieben
-          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optional können Sie ein Ablaufdatum auswählen.
+          <x id="INTERPOLATION" equiv-text="{{ imageSpecStr }}"/>
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,
+          click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>. Optionally, you can pick an expiration date.
         </target>
       </trans-unit>
       <trans-unit id="88f27d390844aad53b4240360e928156c5f0d326" datatype="html">
         <source>Move Image</source>
         <target>Image verschieben</target>
       </trans-unit>
+      <trans-unit id="c9f1026c1235f4d76ace47449e806efd181ab332" datatype="html">
+        <source>Deleting this image will also delete all its snapshots.</source>
+        <target>Deleting this image will also delete all its snapshots.</target>
+      </trans-unit>
+      <trans-unit id="55f864597e84d9bf88769e1fbfda1d64452430c9" datatype="html">
+        <source>The following snapshots are currently protected and will be removed:</source>
+        <target>The following snapshots are currently protected and will be removed:</target>
+      </trans-unit>
       <trans-unit id="8a9910cd114c1deb9af74f6f99b4173403965bf2" datatype="html">
         <source>Gateways</source>
         <target>Gateways</target>
         <source>Must be greater than or equal to 
           <x id="INTERPOLATION" equiv-text="{{ limits['min'] }}"/>.
         </source>
-        <target>Must be greater than or equal to 
-          <x id="INTERPOLATION" equiv-text="{{ limits['min'] }}"/>.
+        <target>Muss grösser oder gleich 
+          <x id="INTERPOLATION" equiv-text="{{ limits['min'] }}"/> sein.
         </target>
       </trans-unit>
       <trans-unit id="bbddac59563c8c126e3fe28691e4e247614fcbd1" datatype="html">
         <source>Must be less than or equal to 
           <x id="INTERPOLATION" equiv-text="{{ limits['max'] }}"/>.
         </source>
-        <target>Must be less than or equal to 
-          <x id="INTERPOLATION" equiv-text="{{ limits['max'] }}"/>.
+        <target>Muss kleiner oder gleich 
+          <x id="INTERPOLATION" equiv-text="{{ limits['max'] }}"/> sein.
         </target>
       </trans-unit>
       <trans-unit id="e95ae009d0bdb45fcc656e8b65248cf7396080d5" datatype="html">
         <source>Object size</source>
         <target>Objektgröße</target>
       </trans-unit>
-      <trans-unit id="6cdb1fea93d77c07950c0c76c6e0ad79ebbef084" datatype="html">
-        <source>Features</source>
-        <target>Funktionen</target>
-      </trans-unit>
       <trans-unit id="0a65771c9a73b9aa609d592fc96a64801a8f40bd" datatype="html">
         <source>Provisioned</source>
         <target>Bereitgestellt</target>
         <source>-- Select a pool --</source>
         <target>-- Pool auswählen --</target>
       </trans-unit>
+      <trans-unit id="d649904466254d13df1fbf2d255f0bbc6553d213" datatype="html">
+        <source>-- No namespaces available --</source>
+        <target>-- Keine Namensräume verfügbar --</target>
+      </trans-unit>
+      <trans-unit id="e22d7bb4d2d561e0832ee0b9a3da2468a080c4f0" datatype="html">
+        <source>-- Select a namespace --</source>
+        <target>-- Namensraum auswählen --</target>
+      </trans-unit>
       <trans-unit id="49449943d8cbf59d8c401c8bd2e76f92e207cc5f" datatype="html">
         <source>Use a dedicated data pool</source>
         <target>Dedizierten Datenpool verwenden</target>
         <source>Stripe count must be greater than 0.</source>
         <target>Die Stripe-Anzahl muss größer als 0 sein.</target>
       </trans-unit>
-      <trans-unit id="3f67f30568e9ae47507d46e28e1e82a7dca772e2" datatype="html">
-        <source>
-          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> RBD Snapshot
-        </source>
-        <target>
-          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> RBD-Snapshot
-        </target>
-      </trans-unit>
-      <trans-unit id="1628d19a4490817c18be2afab410ca4adfa62ea7" datatype="html">
-        <source>{VAR_SELECT, select, true {Rename} other {Create} }</source>
-        <target>{VAR_SELECT, select, true {Umbenennen} other {Erstellen} }</target>
+      <trans-unit id="2c07d24bb422aa8e5e568df1c5709083f0a9c8f1" datatype="html">
+        <source>Create Namespace</source>
+        <target>Namensraum anlegen</target>
       </trans-unit>
-      <trans-unit id="73a287b41afe6b28f90edbeb98957a341a0276b4" datatype="html">
-        <source>
-          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> Snapshot
-        </source>
-        <target>
-          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> Snapshot
-        </target>
-      </trans-unit>
-      <trans-unit id="cb60c1cd3655234756b5b92d4d597d92d520ee30" datatype="html">
-        <source>PROTECTED</source>
-        <target>PROTECTED</target>
-      </trans-unit>
-      <trans-unit id="deffb86b8fb0541254ad5a43862d82bff6b6a6c4" datatype="html">
-        <source>UNPROTECTED</source>
-        <target>NICHT GESCHÜTZT</target>
+      <trans-unit id="0cca6c0485f96d3a9610d0339cb1275a5f2c3f46" datatype="html">
+        <source>Namespace already exists.</source>
+        <target>Namensraum existiert bereits.</target>
       </trans-unit>
       <trans-unit id="5c5331983af566d4ac6a1024d15a3511786a4aa6" datatype="html">
         <source>You are about to rollback</source>
         <source>Purge Trash</source>
         <target>Papierkorb bereinigen</target>
       </trans-unit>
-      <trans-unit id="af728625d769b61acf291442644b89edb88faec3" datatype="html">
-        <source>To purge, select one or All images and click</source>
-        <target>Zum Bereinigen ein oder alle Images auswählen und klicken</target>
+      <trans-unit id="681501eecd7f44d4b7a2f619605b36676e04c5b6" datatype="html">
+        <source>To purge, select one or</source>
+        <target>To purge, select one or</target>
+      </trans-unit>
+      <trans-unit id="dfc3c34e182ea73c5d784ff7c8135f087992dac1" datatype="html">
+        <source>All</source>
+        <target>Alle</target>
+      </trans-unit>
+      <trans-unit id="ea5d338dcef50ff5c24439fd784f6a67b594c33f" datatype="html">
+        <source>pools and click</source>
+        <target>pools and click</target>
       </trans-unit>
       <trans-unit id="55a4f598a4894b7fd5cb88f0ffd3c37ad009dd70" datatype="html">
         <source>Pool:</source>
         <source>Pool name...</source>
         <target>Poolname...</target>
       </trans-unit>
-      <trans-unit id="dfc3c34e182ea73c5d784ff7c8135f087992dac1" datatype="html">
-        <source>All</source>
-        <target>Alle</target>
-      </trans-unit>
       <trans-unit id="b0e7c7ed1d51a0c205c815048bc9f79e24ee6db2" datatype="html">
         <source>Restore Image</source>
         <target>Image wiederherstellen</target>
           <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.
         </target>
       </trans-unit>
-      <trans-unit id="aba82bfd8e177d35b76cad7cd43941f8e5e5acac" datatype="html">
-        <source>Trash</source>
-        <target>Papierkorb</target>
-      </trans-unit>
       <trans-unit id="a674ab267d1934bf395f87ca1503fd474296893f" datatype="html">
         <source>iSCSI Topology</source>
         <target>iSCSI-Topologie</target>
       </trans-unit>
-      <trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html">
-        <source>Settings</source>
-        <target>Einstellungen</target>
+      <trans-unit id="051dcc342cfa5c1eaf187a2001aaa162379a160c" datatype="html">
+        <source>Configure</source>
+        <target>Konfigurieren</target>
       </trans-unit>
       <trans-unit id="9e515f954730279c31d5301f02479666d6264e8b" datatype="html">
         <source>Changing these parameters from their default values is usually not necessary.</source>
         <target>Eine Änderung dieser Parameter von ihren Standardwerten ist in der Regel nicht erforderlich.</target>
       </trans-unit>
+      <trans-unit id="4e2591df099ddac796cda401c5f282da779d45f2" datatype="html">
+        <source>Identifier</source>
+        <target>Bezeichner</target>
+      </trans-unit>
+      <trans-unit id="62480a4859976427cf18fc8ef41d3a438eda0412" datatype="html">
+        <source>lun</source>
+        <target>lun</target>
+      </trans-unit>
+      <trans-unit id="8afc9eb4405e0aa554b2ba14140ef790cdecc040" datatype="html">
+        <source>wwn</source>
+        <target>wwn</target>
+      </trans-unit>
+      <trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html">
+        <source>Settings</source>
+        <target>Einstellungen</target>
+      </trans-unit>
       <trans-unit id="69a47cbabcc51ca942606e1d8da0ec11f98a2690" datatype="html">
         <source>Backstore</source>
         <target>Backstore</target>
         <source>Portals</source>
         <target>Portale</target>
       </trans-unit>
+      <trans-unit id="6a3ac2b4137d723fd9878cd357c2012ff6c07973" datatype="html">
+        <source>Add portal</source>
+        <target>Portal hinzufügen</target>
+      </trans-unit>
       <trans-unit id="c3638c01b6c34066438909713ec96087c813fc7e" datatype="html">
         <source>At least 
           <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.
           <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> Gateways erforderlich.
         </target>
       </trans-unit>
-      <trans-unit id="6a3ac2b4137d723fd9878cd357c2012ff6c07973" datatype="html">
-        <source>Add portal</source>
-        <target>Portal hinzufügen</target>
-      </trans-unit>
       <trans-unit id="9aff25be088f0efe3eaaf62edf2bff41cc41a617" datatype="html">
         <source>Backstore: 
           <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. 
         <source>This image has modified settings.</source>
         <target>Einstellungen bei diesem Image wurden geändert.</target>
       </trans-unit>
-      <trans-unit id="107c84e820909b44fe258673938a68ced1bbff72" datatype="html">
-        <source>At least 1 image is required.</source>
-        <target>Mindestens 1 Image ist erforderlich.</target>
+      <trans-unit id="1dff11e0820b6722ab240169f1232d70a54beaaa" datatype="html">
+        <source>Duplicated LUN numbers.</source>
+        <target>Duplicated LUN numbers.</target>
+      </trans-unit>
+      <trans-unit id="bf2dccf92ccff6e3b091792bf4205595406e1bfb" datatype="html">
+        <source>Duplicated WWN.</source>
+        <target>Duplicated WWN.</target>
       </trans-unit>
       <trans-unit id="808038f912fdc7f0e03f82d4afd3bf9178527fc8" datatype="html">
         <source>Add image</source>
       <trans-unit id="938050960d6653fddfcfd42425e18fb35a308262" datatype="html">
         <source>Passwords must have a length of 12 to 16 characters
                 and can only contain letters, '@', '-', '_' or '/'.</source>
-        <target>Passwords must have a length of 12 to 16 characters
-                and can only contain letters, '@', '-', '_' or '/'.</target>
+        <target>Passwörter müssen zwischen 12 und 16 Zeichen lang sein
+              und dürfen nur Buchstaben, '@', '-', '_' oder '/' enthalten.</target>
       </trans-unit>
       <trans-unit id="f494bd31f095f6dcc656ce87ec2dcf07a2e9b30c" datatype="html">
         <source>Initiators</source>
         <source>Add group</source>
         <target>Gruppe hinzufügen</target>
       </trans-unit>
+      <trans-unit id="c3a7e364a88ea4673199dfa98bc73e6dbe09dfac" datatype="html">
+        <source>Namespaces</source>
+        <target>Namensräume</target>
+      </trans-unit>
+      <trans-unit id="aba82bfd8e177d35b76cad7cd43941f8e5e5acac" datatype="html">
+        <source>Trash</source>
+        <target>Papierkorb</target>
+      </trans-unit>
       <trans-unit id="66db799d67958d4b0765181d072df62e2d1c16f5" datatype="html">
         <source>Issues</source>
         <target>Probleme</target>
         <source>Enables versioning for the objects in the bucket.</source>
         <target>Enables versioning for the objects in the bucket.</target>
       </trans-unit>
-      <trans-unit id="92f3f203270a29b3001871153f02c063484a1574" datatype="html">
-        <source>Suspended</source>
-        <target>Angehalten</target>
+      <trans-unit id="9e6775ffd06878aa145c07359f28557f01ede04f" datatype="html">
+        <source>Multi-Factor Authentication</source>
+        <target>Multi-Factor Authentication</target>
+      </trans-unit>
+      <trans-unit id="29e8a5d4fb767d4ad0c762c81c6264cec4c0ba97" datatype="html">
+        <source>Delete enabled</source>
+        <target>Delete enabled</target>
+      </trans-unit>
+      <trans-unit id="40fbc3ac8c1ea4ecfe62247e91f1f999ad5baf76" datatype="html">
+        <source>Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state.</source>
+        <target>Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state.</target>
+      </trans-unit>
+      <trans-unit id="d24c93a8c13db46defa06ed7b5e026a3edb52b91" datatype="html">
+        <source>Token Serial Number</source>
+        <target>Token Serial Number</target>
       </trans-unit>
-      <trans-unit id="cd6a798fd0f85cd7e31a57c58074f25035d7850d" datatype="html">
-        <source>Disables versioning for the objects in the bucket.</source>
-        <target>Disables versioning for the objects in the bucket.</target>
+      <trans-unit id="e6d9536c2af2e5e9a228c3e3e1809dc1fefe0149" datatype="html">
+        <source>Token PIN</source>
+        <target>Token PIN</target>
+      </trans-unit>
+      <trans-unit id="7b84370895ab9eb44672f57146fa05c5947f1c0c" datatype="html">
+        <source>Locking</source>
+        <target>Locking</target>
+      </trans-unit>
+      <trans-unit id="f038d51ab1645f15b0cd58f195c72a7eeebd4729" datatype="html">
+        <source>Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket.</source>
+        <target>Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket.</target>
+      </trans-unit>
+      <trans-unit id="9af1b4baa2dd8ed2bfc3cc756b12a2271c2dd793" datatype="html">
+        <source>Compliance</source>
+        <target>Compliance</target>
+      </trans-unit>
+      <trans-unit id="edd600fa489d1b4a4448dce694ed932e52ce8fda" datatype="html">
+        <source>Governance</source>
+        <target>Governance</target>
+      </trans-unit>
+      <trans-unit id="a5c3d9d2296f7886e8289b9f623323803deacfc6" datatype="html">
+        <source>Days</source>
+        <target>Days</target>
+      </trans-unit>
+      <trans-unit id="218c7d6d318c51e7105309aaeb0baec9d19e4efb" datatype="html">
+        <source>The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</source>
+        <target>The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</target>
+      </trans-unit>
+      <trans-unit id="289b101ec12427b3ca819df9e43cc3b14fae2cc4" datatype="html">
+        <source>The entered value must be a positive integer.</source>
+        <target>The entered value must be a positive integer.</target>
+      </trans-unit>
+      <trans-unit id="def9fc628134d3a044b7c0ad2a83c846bdad56f1" datatype="html">
+        <source>Retention period requires either Days or Years.</source>
+        <target>Retention period requires either Days or Years.</target>
+      </trans-unit>
+      <trans-unit id="003c94fc143882ac8af6251a1595fe62978fe3e6" datatype="html">
+        <source>Years</source>
+        <target>Years</target>
+      </trans-unit>
+      <trans-unit id="14c6189ead0951f13049c7bf9af7642d0c41957a" datatype="html">
+        <source>The number of years that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</source>
+        <target>The number of years that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</target>
       </trans-unit>
       <trans-unit id="45cc8ca94b5a50842a9a8ef804a5ab089a38ae5c" datatype="html">
         <source>ID</source>
         <source>Zonegroup</source>
         <target>Zonengruppe</target>
       </trans-unit>
+      <trans-unit id="62a923f047ca49e7a4782629e91fea1ba32db68f" datatype="html">
+        <source>MFA Delete</source>
+        <target>MFA Delete</target>
+      </trans-unit>
       <trans-unit id="649a410bd0ace333d067d8fa22f12bdbdb43533b" datatype="html">
         <source>Bucket quota</source>
         <target>Bucket-Quote</target>
         <source>Email address</source>
         <target>E-Mail-Adresse</target>
       </trans-unit>
+      <trans-unit id="92f3f203270a29b3001871153f02c063484a1574" datatype="html">
+        <source>Suspended</source>
+        <target>Angehalten</target>
+      </trans-unit>
       <trans-unit id="8011e20c5bbe51602d459a860fbf29b599b55edd" datatype="html">
         <source>System</source>
         <target>System</target>
         <source>Max. buckets</source>
         <target>Max. Buckets</target>
       </trans-unit>
-      <trans-unit id="623ac50f37a26caec6fd7cd519b653e3315cba25" datatype="html">
-        <source>The entered value must be &gt;= 0.</source>
-        <target>Der eingegebene Wert muss &gt;=0 sein.</target>
+      <trans-unit id="f39256070bfc0714020dfee08895421fc1527014" datatype="html">
+        <source>Disabled</source>
+        <target>Deaktiviert</target>
+      </trans-unit>
+      <trans-unit id="a5c05002b0ac2040f1aede5e727e0ffd06eda819" datatype="html">
+        <source>Custom</source>
+        <target>Benutzerdefiniert</target>
+      </trans-unit>
+      <trans-unit id="28872515cb81d197a3a1733fa546d3e0f0dd6c67" datatype="html">
+        <source>The entered value must be &gt;= 1.</source>
+        <target>The entered value must be &gt;= 1.</target>
       </trans-unit>
       <trans-unit id="583a219c524155c2314eb06ee29162bb315272a3" datatype="html">
         <source>S3 key</source>
           <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>
         </target>
       </trans-unit>
+      <trans-unit id="f5a451c4ea65a4046f0b49d489a7013abf0b5861" datatype="html">
+        <source>All capabilities are already added.</source>
+        <target>All capabilities are already added.</target>
+      </trans-unit>
       <trans-unit id="6146e13ceca5fa5cc17b771b282fe5955f3d19fa" datatype="html">
         <source>Unlimited size</source>
         <target>Unbegrenzte Größe</target>
         <source>Max. objects</source>
         <target>Max. Objekte</target>
       </trans-unit>
+      <trans-unit id="623ac50f37a26caec6fd7cd519b653e3315cba25" datatype="html">
+        <source>The entered value must be &gt;= 0.</source>
+        <target>Der eingegebene Wert muss &gt;=0 sein.</target>
+      </trans-unit>
       <trans-unit id="1ea5c4d8942c00752dcc72e72949c5d9832f6399" datatype="html">
         <source>Description...</source>
         <target>Beschreibung...</target>
         <source>Password confirmation doesn't match the password.</source>
         <target>Passwortbestätigung stimmt nicht mit dem Passwort überein.</target>
       </trans-unit>
+      <trans-unit id="96621f9ed2e4ae5204564e583d2c816bedead571" datatype="html">
+        <source>Password expiration date</source>
+        <target>Ablaufdatum des Passworts</target>
+      </trans-unit>
+      <trans-unit id="48932db3801fe9d5d72a60a3e656bffd17c1c5d9" datatype="html">
+        <source>Password expiration date...</source>
+        <target>Ablaufdatum des Passworts...</target>
+      </trans-unit>
       <trans-unit id="244aae9346da82b0922506c2d2581373a15641cc" datatype="html">
         <source>Email</source>
         <target>E-Mail-Adresse</target>
         <source>Invalid email.</source>
         <target>Ungültige E-Mail-Adresse.</target>
       </trans-unit>
+      <trans-unit id="8913c216dd506e20e412e144381d8d2a65a84359" datatype="html">
+        <source>User must change password at next logon</source>
+        <target>Benutzer muss das Passwort bei der nächsten Anmeldung ändern</target>
+      </trans-unit>
       <trans-unit id="0051a3479d3ba79135c16dc8cc017950a2cce821" datatype="html">
         <source>You are about to remove "user read / update" permissions from your own user.</source>
         <target>Sie sind dabei, die Lese-/Aktualisierungsberechtigungen für Benutzer von Ihrem eigenen Benutzer zu entfernen.</target>
       </trans-unit>
       <trans-unit id="deba10b7279a589d01e919ea11f43c79ca1773e3" datatype="html">
         <source>Device health</source>
-        <target>Device health</target>
+        <target>Laufwerkszustand</target>
       </trans-unit>
       <trans-unit id="d24e28e19c5703d7c6be44f4eb595a6a43b618ed" datatype="html">
         <source>Performance counter</source>
         <source>Histogram</source>
         <target>Histogramm</target>
       </trans-unit>
+      <trans-unit id="3d87fc20ea8e5f0f0500ba5d5061b345be78ec5e" datatype="html">
+        <source>No hostname found.</source>
+        <target>Hostname nicht gefunden.</target>
+      </trans-unit>
       <trans-unit id="26fb5f81b3581f06b9210defb0e71dc69a67e819" datatype="html">
         <source>Current values</source>
         <target>Aktuelle Werte</target>
         <source>Enum values</source>
         <target>Auflistungswerte</target>
       </trans-unit>
-      <trans-unit id="819476f1264f1659f38e86f6abb542141b184832" datatype="html">
-        <source>See also</source>
-        <target>Siehe auch</target>
-      </trans-unit>
-      <trans-unit id="d82a9af5b05e7cd17640f196f163771685ff8df6" datatype="html">
-        <source>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</source>
-        <target>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</target>
-      </trans-unit>
-      <trans-unit id="a185c9b97513b3882604ea9bab60edbfac945c15" datatype="html">
-        <source>SMART overall-health self-assessment test result</source>
-        <target>SMART overall-health self-assessment test result</target>
-      </trans-unit>
-      <trans-unit id="ddd5dd6d930030096ea617f62c82b648a0dd9484" datatype="html">
-        <source>Device Information</source>
-        <target>Device Information</target>
-      </trans-unit>
-      <trans-unit id="79c6bf990ea5b4d83bbf8f9e399f4bd933a1ebfc" datatype="html">
-        <source>S.M.A.R.T</source>
-        <target>S.M.A.R.T</target>
-      </trans-unit>
-      <trans-unit id="05c17e08939cbef1a5df5386263b1701e8d5742e" datatype="html">
-        <source>S.M.A.R.T data is loading.</source>
-        <target>S.M.A.R.T data is loading.</target>
+      <trans-unit id="819476f1264f1659f38e86f6abb542141b184832" datatype="html">
+        <source>See also</source>
+        <target>Siehe auch</target>
       </trans-unit>
       <trans-unit id="73caac4265ea7314ff061e5a1d78a6361a6dd3b8" datatype="html">
         <source>Cluster Status</source>
       </trans-unit>
       <trans-unit id="50df62325726db950523a5be1c78b8905fcc25d4" datatype="html">
         <source>MDS performance counters</source>
-        <target>MDS performance counters</target>
-      </trans-unit>
-      <trans-unit id="a7b6508fb834bee9e48e11e4503fbbc2d19204de" datatype="html">
-        <source>Clients: 
-          <x id="INTERPOLATION" equiv-text="{{ clients.data.length }}"/>
-        </source>
-        <target>Clients: 
-          <x id="INTERPOLATION" equiv-text="{{ clients.data.length }}"/>
-        </target>
+        <target>MDS Leistungsindikatoren</target>
       </trans-unit>
       <trans-unit id="6e213942c6354b9cbe7a650f0f1499bfc1000fb6" datatype="html">
         <source>Directories</source>
-        <target>Directories</target>
+        <target>Verzeichnisse</target>
       </trans-unit>
       <trans-unit id="47116253e36f4e38a97ba41b2d3122c6c15ab904" datatype="html">
         <source>Clients (
         <source># Sessions</source>
         <target># Sessions</target>
       </trans-unit>
+      <trans-unit id="2ea10b3668e04e057ba96ddcaf4c9b77089008ae" datatype="html">
+        <source>Unavailable gateway(s)</source>
+        <target>Unavailable gateway(s)</target>
+      </trans-unit>
       <trans-unit id="c49e0dd71d551bd4928d967d78f0721dbf9f95e3" datatype="html">
         <source>Target has active sessions</source>
         <target>Target has active sessions</target>
         <source>Progress</source>
         <target>Fortschritt</target>
       </trans-unit>
-      <trans-unit id="f39256070bfc0714020dfee08895421fc1527014" datatype="html">
-        <source>Disabled</source>
-        <target>Deaktiviert</target>
+      <trans-unit id="25b725dba712a7a020fd34a72297befae975a492" datatype="html">
+        <source>Edit Site Name</source>
+        <target>Edit Site Name</target>
       </trans-unit>
       <trans-unit id="8c375764db42f5d736fb56d01b8052c006ccc8e2" datatype="html">
         <source>Edit Mode</source>
         <source>Fast diff (interlocked with object-map)</source>
         <target>Fast diff (interlocked with object-map)</target>
       </trans-unit>
+      <trans-unit id="130fd872c78271a8f86b1ab16a76e823969c47d9" datatype="html">
+        <source>Namespace</source>
+        <target>Namensraum</target>
+      </trans-unit>
+      <trans-unit id="14abc99daed542774633046c53b6ce8251331141" datatype="html">
+        <source>This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.</source>
+        <target>This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.</target>
+      </trans-unit>
+      <trans-unit id="51699f716cf34e6622ff7bfd84641480c045271a" datatype="html">
+        <source>Created namespace '
+          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/
+          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>'
+        </source>
+        <target>Created namespace '
+          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/
+          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>'
+        </target>
+      </trans-unit>
+      <trans-unit id="bf44b7d6379ce0198ed3d95a27642a224181bf1d" datatype="html">
+        <source>Total images</source>
+        <target>Images insgesamt</target>
+      </trans-unit>
+      <trans-unit id="371ce3ffe62548d15e391a248bc554d903bb03fc" datatype="html">
+        <source>Deleted namespace '
+          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/
+          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>'
+        </source>
+        <target>Deleted namespace '
+          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/
+          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>'
+        </target>
+      </trans-unit>
+      <trans-unit id="9d704fd00ca929f90c3119cefc581821ae58a73e" datatype="html">
+        <source>Namespace contains images</source>
+        <target>Namensraum enthält Images</target>
+      </trans-unit>
+      <trans-unit id="c2017dc94b4f57a347ccb126e546e88942f4d7a6" datatype="html">
+        <source>RBD Snapshot</source>
+        <target>RBD Snapshot</target>
+      </trans-unit>
       <trans-unit id="631fc50ec7c9bd81dc797a3c7e09eda1178ad999" datatype="html">
         <source>Parent image must support Layering</source>
         <target>Parent image must support Layering</target>
       </trans-unit>
+      <trans-unit id="cb60c1cd3655234756b5b92d4d597d92d520ee30" datatype="html">
+        <source>PROTECTED</source>
+        <target>PROTECTED</target>
+      </trans-unit>
+      <trans-unit id="deffb86b8fb0541254ad5a43862d82bff6b6a6c4" datatype="html">
+        <source>UNPROTECTED</source>
+        <target>NICHT GESCHÜTZT</target>
+      </trans-unit>
       <trans-unit id="7eb984588f4835f6d0187b33769b4b0f62821640" datatype="html">
         <source>RBD snapshot rollback</source>
         <target>Rollback für RBD-Snapshot</target>
         <source>Origin</source>
         <target>Origin</target>
       </trans-unit>
+      <trans-unit id="2ea2ec95d93fd55d0db6e9d2b95b25e153d4cec2" datatype="html">
+        <source>Max size</source>
+        <target>Max size</target>
+      </trans-unit>
+      <trans-unit id="665dced3a61bca44924a0bde4be47390225a4898" datatype="html">
+        <source>Max files</source>
+        <target>Max files</target>
+      </trans-unit>
+      <trans-unit id="0ccf776baac60794b142526986f3af85848c7059" datatype="html">
+        <source>The inherited 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/> is the maximum value to be used.
+        </source>
+        <target>The inherited 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/> is the maximum value to be used.
+        </target>
+      </trans-unit>
+      <trans-unit id="b0e2ef28384f2de6674cac300c779f900929a89b" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{action}}"/> CephFS 
+          <x id="INTERPOLATION_1" equiv-text="{{quotaName}}"/> quota for '
+          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>'
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{action}}"/> CephFS 
+          <x id="INTERPOLATION_1" equiv-text="{{quotaName}}"/> quota for '
+          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>'
+        </target>
+      </trans-unit>
+      <trans-unit id="542ef638499635dec7641bdc2e499258094187cc" datatype="html">
+        <source>size</source>
+        <target>size</target>
+      </trans-unit>
+      <trans-unit id="ce90ff00c341d8eef96b0e7956bb85b8faba3839" datatype="html">
+        <source>files</source>
+        <target>files</target>
+      </trans-unit>
+      <trans-unit id="fbe8b9340c08c24aef62ffe81c83e2b46a4f1495" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{quotaName}}"/> quota 
+          <x id="INTERPOLATION_1" equiv-text="{{value}}"/> from '
+          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>'
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{quotaName}}"/> quota 
+          <x id="INTERPOLATION_1" equiv-text="{{value}}"/> from '
+          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>'
+        </target>
+      </trans-unit>
+      <trans-unit id="37c2c0a4a356465eef2edfb09ffffc6db5259975" datatype="html">
+        <source>Value has to be at least 
+          <x id="INTERPOLATION" equiv-text="{{value}}"/> or more
+        </source>
+        <target>Value has to be at least 
+          <x id="INTERPOLATION" equiv-text="{{value}}"/> or more
+        </target>
+      </trans-unit>
+      <trans-unit id="73f8e64703a707e2cf98b9a10653cd3bbdd8cab1" datatype="html">
+        <source>Value has to be at most 
+          <x id="INTERPOLATION" equiv-text="{{value}}"/> or less
+        </source>
+        <target>Value has to be at most 
+          <x id="INTERPOLATION" equiv-text="{{value}}"/> or less
+        </target>
+      </trans-unit>
+      <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc" datatype="html">
+        <source>Updated</source>
+        <target>Aktualisiert</target>
+      </trans-unit>
+      <trans-unit id="b6a4cf4f302c7fcbec199ce0df42b8282d682b04" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{action}}"/>
+          <x id="INTERPOLATION_1" equiv-text="{{quotaValue}}"/>
+          <x id="INTERPOLATION_2" equiv-text="{{conclusion}}"/>.
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{action}}"/>
+          <x id="INTERPOLATION_1" equiv-text="{{quotaValue}}"/>
+          <x id="INTERPOLATION_2" equiv-text="{{conclusion}}"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="a40024afb071f68fec949094a71f832d5611bca5" datatype="html">
+        <source>in order to inherit 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>
+        </source>
+        <target>in order to inherit 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="c108ff588291e9c040adea2adf35e7236cf29925" datatype="html">
+        <source>which isn't used because of the inheritance of 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>
+        </source>
+        <target>which isn't used because of the inheritance of 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="d3785a64d1c72b03b2212855ce695b45ed0342d2" datatype="html">
+        <source>in order to have no quota on the directory</source>
+        <target>in order to have no quota on the directory</target>
+      </trans-unit>
+      <trans-unit id="c4d3a3446a7f36825291c5e76c4a6b7919f9bd2f" datatype="html">
+        <source>Create Snapshot</source>
+        <target>Create Snapshot</target>
+      </trans-unit>
+      <trans-unit id="e9af734e231b837d64df21008e2eb1fdff566a61" datatype="html">
+        <source>Please enter the name of the snapshot.</source>
+        <target>Please enter the name of the snapshot.</target>
+      </trans-unit>
+      <trans-unit id="8c4d3039e6a953b0d6f1b1313ffa60c5d2b35dc7" datatype="html">
+        <source>Created snapshot "
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "
+          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"
+        </source>
+        <target>Created snapshot "
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "
+          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"
+        </target>
+      </trans-unit>
+      <trans-unit id="126ad894f74ee9a999825f3f4ac5a31fdfc093bf" datatype="html">
+        <source>CephFs Snapshot</source>
+        <target>CephFs Snapshot</target>
+      </trans-unit>
+      <trans-unit id="1e4d1c0865adc485260740c42ac5af68ce8feb13" datatype="html">
+        <source>Deleted snapshot "
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "
+          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"
+        </source>
+        <target>Deleted snapshot "
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "
+          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"
+        </target>
+      </trans-unit>
       <trans-unit id="22e4e574b7f8abf58254f328792445b42e2a924a" datatype="html">
         <source>The value can be updated at runtime.</source>
         <target>Der Wert kann zur Laufzeit aktualisiert werden.</target>
         <source>Service</source>
         <target>Service</target>
       </trans-unit>
+      <trans-unit id="6986e0df8092d822ac2c076520d83994c78834fc" datatype="html">
+        <source>Modified</source>
+        <target>Modified</target>
+      </trans-unit>
       <trans-unit id="9951bb3983c7dba6fde013e05c922e4fe1a44367" datatype="html">
         <source>Current value</source>
         <target>Aktueller Wert</target>
         <source>host</source>
         <target>host</target>
       </trans-unit>
-      <trans-unit id="9e35065e7c579e1fb960499117fd4b3c68d1c263" datatype="html">
-        <source>Host operation is disabled because orchestrator is unavailable</source>
-        <target>Host operation is disabled because orchestrator is unavailable</target>
+      <trans-unit id="b1b381321d4cef04605d3e6e8847ea2b72a03799" datatype="html">
+        <source>Identify</source>
+        <target>Identify</target>
       </trans-unit>
       <trans-unit id="a5d5e407f8c4e1b152509c966c90f37edf68472e" datatype="html">
         <source>Device path</source>
-        <target>Device path</target>
-      </trans-unit>
-      <trans-unit id="94e76c060aa68c05d8c4a3f5a20c92fab3e83ccf" datatype="html">
-        <source>Rotates</source>
-        <target>Rotates</target>
+        <target>Laufwerkspfad</target>
       </trans-unit>
       <trans-unit id="b7da3e3505cc80f9bf3cffc8444c53e8a9ec70a5" datatype="html">
         <source>Available</source>
         <target>Available</target>
       </trans-unit>
+      <trans-unit id="396974120fc614fc930a27c8d15a094d82a3a9e4" datatype="html">
+        <source>Vendor</source>
+        <target>Vendor</target>
+      </trans-unit>
       <trans-unit id="6ec98fa3d6504ba1fd03465194b53706c8263c99" datatype="html">
         <source>Model</source>
         <target>Model</target>
       </trans-unit>
+      <trans-unit id="f2d785f5658c96c6a2f505cdd625108bcece84c3" datatype="html">
+        <source>Identify device 
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>
+        </source>
+        <target>Identifiziere Laufwerk 
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="c97ab45ca09248f8f1ba60328175741657fe39ce" datatype="html">
+        <source>Please enter the duration how long to blink the LED.</source>
+        <target>Please enter the duration how long to blink the LED.</target>
+      </trans-unit>
+      <trans-unit id="87e56ee5057023d7e8b59420b838bad112b043bc" datatype="html">
+        <source>1 minute</source>
+        <target>1 minute</target>
+      </trans-unit>
+      <trans-unit id="affa3b3bf1f36531e5ae65291f8a7cd1b06860ee" datatype="html">
+        <source>2 minutes</source>
+        <target>2 minutes</target>
+      </trans-unit>
+      <trans-unit id="878c6645b7fc26d85c7aee17a9d8c282a938dcf3" datatype="html">
+        <source>5 minutes</source>
+        <target>5 minutes</target>
+      </trans-unit>
+      <trans-unit id="aa0a76140961594b7176ade241e5025a7dbb5dce" datatype="html">
+        <source>10 minutes</source>
+        <target>10 minutes</target>
+      </trans-unit>
+      <trans-unit id="0a7f83a1f27750ef634a1f1f97263fac36113b1f" datatype="html">
+        <source>15 minutes</source>
+        <target>15 minutes</target>
+      </trans-unit>
+      <trans-unit id="699b690d686dbb8e00a1e95b89ba2fffb548da6e" datatype="html">
+        <source>Execute</source>
+        <target>Execute</target>
+      </trans-unit>
+      <trans-unit id="aa975a86dd49979a3ae90b9f3fc5b2c97311d422" datatype="html">
+        <source>Identifying '
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>' started on host '
+          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>'
+        </source>
+        <target>Identifikation von '
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>' auf Host '
+          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>' gestartet
+        </target>
+      </trans-unit>
       <trans-unit id="1a6e6ad05508130b7a99ce5b15daf3227c2a930c" datatype="html">
         <source>Updated options for module "
           <x id="INTERPOLATION" equiv-text="{{name}}"/>".
           <x id="INTERPOLATION" equiv-text="{{name}}"/>".
         </target>
       </trans-unit>
+      <trans-unit id="6bd47ff8707aa2e6a94a4a6e2566b86dc7956d5f" datatype="html">
+        <source>Always-On</source>
+        <target>Always-On</target>
+      </trans-unit>
       <trans-unit id="ac6c9212896d39b23811ed2dadab7d07336ec559" datatype="html">
         <source>Enable</source>
         <target>Aktivieren</target>
         <source>Open Sessions</source>
         <target>Offene Sitzungen</target>
       </trans-unit>
+      <trans-unit id="34c6f45591d420b1101dcee53999d1de91c0e400" datatype="html">
+        <source>No available devices</source>
+        <target>No available devices</target>
+      </trans-unit>
+      <trans-unit id="dcfe8807a2a1d0d7074a02afe9b80645bd03b9ab" datatype="html">
+        <source>Please add primary devices first</source>
+        <target>Please add primary devices first</target>
+      </trans-unit>
+      <trans-unit id="05d024719e53f85f7f294b7e21dfd805709a0b06" datatype="html">
+        <source>Add devices by using filters</source>
+        <target>Add devices by using filters</target>
+      </trans-unit>
       <trans-unit id="37e58d1cbdf8212b380efa51422e42821d4f08e6" datatype="html">
         <source>No In</source>
         <target>Kein In-Vorgang</target>
         <source>Backfilling of PGs is suspended</source>
         <target>Abgleich der Platzierungsgruppen ist ausgesetzt</target>
       </trans-unit>
+      <trans-unit id="df526de2b93c4099a30c200ef551608e39ee5256" datatype="html">
+        <source>No Rebalance</source>
+        <target>No Rebalance</target>
+      </trans-unit>
+      <trans-unit id="c5b70346245f8d52b58e5e7fe222ce82f12429ce" datatype="html">
+        <source>OSD will choose not to backfill unless PG is also degraded</source>
+        <target>OSD will choose not to backfill unless PG is also degraded</target>
+      </trans-unit>
       <trans-unit id="7fbbd036394cfa623add40299757bc87df8eaa7e" datatype="html">
         <source>No Recover</source>
         <target>Keine Wiederherstellung</target>
         <source>Updated OSD Flags</source>
         <target>Aktualisierte OSD-Flags</target>
       </trans-unit>
+      <trans-unit id="948758e1412bb2ecdb98e3a4f1cbb6d7458456f2" datatype="html">
+        <source>Encryption</source>
+        <target>Encryption</target>
+      </trans-unit>
+      <trans-unit id="c8b1475105463088593de1022ff6dceb523eae0e" datatype="html">
+        <source>OSD</source>
+        <target>OSD</target>
+      </trans-unit>
       <trans-unit id="688578fcc739d6f0c5fb6c366dbb19d21c6d9e36" datatype="html">
         <source>out</source>
         <target>aus</target>
         <source>Purge</source>
         <target>Bereinigen</target>
       </trans-unit>
-      <trans-unit id="c8b1475105463088593de1022ff6dceb523eae0e" datatype="html">
-        <source>OSD</source>
-        <target>OSD</target>
-      </trans-unit>
       <trans-unit id="4f3cff08c7033b63bbccfe66006b1bcaea48ddd8" datatype="html">
         <source>purged</source>
         <target>bereinigt</target>
         <source>destroyed</source>
         <target>vernichtet</target>
       </trans-unit>
+      <trans-unit id="70ef158c584bafe788e319a0bffa11b02ee9abf1" datatype="html">
+        <source>delete</source>
+        <target>löschen</target>
+      </trans-unit>
+      <trans-unit id="a5b387f5a15b95e339df10fc23526c659a2b6c6f" datatype="html">
+        <source>deleted</source>
+        <target>deleted</target>
+      </trans-unit>
       <trans-unit id="107614b994f2b01abdc1ca179bf780b0cd933ec4" datatype="html">
         <source>Recovery Priority</source>
         <target>Wiederherstellungspriorität</target>
         <source>Read bytes</source>
         <target>Bytes für Lesevorgang</target>
       </trans-unit>
-      <trans-unit id="ecbe2fdca919499125bc42c2c67cedae8563db1c" datatype="html">
-        <source>Writes bytes</source>
+      <trans-unit id="f15bf7f588f09ca79795b17bc244e8d336f28171" datatype="html">
+        <source>Write bytes</source>
         <target>Bytes für Schreibvorgang</target>
       </trans-unit>
       <trans-unit id="f3c33322823c846b13f59ba2c8f234405bba99e1" datatype="html">
         <source>Write ops</source>
         <target>Schreibvorgänge</target>
       </trans-unit>
+      <trans-unit id="b27d1dd31789610130b7cdbf88c4da552cffe936" datatype="html">
+        <source>Edit OSD: 
+          <x id="INTERPOLATION" equiv-text="{{id}}"/>
+        </source>
+        <target>Edit OSD: 
+          <x id="INTERPOLATION" equiv-text="{{id}}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="986f1379580078e77666d10f8ddf4f839c6ca71d" datatype="html">
+        <source>Edit OSD</source>
+        <target>Edit OSD</target>
+      </trans-unit>
+      <trans-unit id="a4b09e2fa39c3e4f1a387f191fbae4eea3ce7bf5" datatype="html">
+        <source>Updated OSD "
+          <x id="INTERPOLATION" equiv-text="{{id}}"/>"
+        </source>
+        <target>Updated OSD "
+          <x id="INTERPOLATION" equiv-text="{{id}}"/>"
+        </target>
+      </trans-unit>
       <trans-unit id="d45455406092f58e6b089cb440b5b7934b801a01" datatype="html">
         <source>Mark OSD 
           <x id="INTERPOLATION" equiv-text="{{markAction}}"/>
         <source>Recovery Sleep</source>
         <target>Wiederherstellung - Inaktivität</target>
       </trans-unit>
-      <trans-unit id="a5c05002b0ac2040f1aede5e727e0ffd06eda819" datatype="html">
-        <source>Custom</source>
-        <target>Benutzerdefiniert</target>
-      </trans-unit>
       <trans-unit id="89553524f4e7db5c437b07dcfdc7b831d56ded1a" datatype="html">
         <source>Updated OSD recovery speed priority "
           <x id="INTERPOLATION" equiv-text="{{value}}"/>"
           <x id="INTERPOLATION_1" equiv-text="{{id}}"/>
         </target>
       </trans-unit>
-      <trans-unit id="9836e830d0219585b36d53be00a31c3d4798a4aa" datatype="html">
-        <source>Smartctl has received an unknown argument (error code
-          <x id="INTERPOLATION" equiv-text="{{smartData.smartctl_error_code}}"/>). You may be using an
-                incompatible version of smartmontools. Version &gt;= 7.0 of
-                smartmontools is required to succesfully retrieve data.
-        </source>
-        <target>Smartctl has received an unknown argument (error code
-          <x id="INTERPOLATION" equiv-text="{{smartData.smartctl_error_code}}"/>). You may be using an
-                incompatible version of smartmontools. Version &gt;= 7.0 of
-                smartmontools is required to succesfully retrieve data.
-        </target>
-      </trans-unit>
-      <trans-unit id="d5fd840374ca1a6f394bcd81f390a6dca27f8224" datatype="html">
-        <source>An error with error code 
-          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.
-        </source>
-        <target>An error with error code 
-          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.
-        </target>
-      </trans-unit>
-      <trans-unit id="a0b59d7139692bb8d8ed786b6eb6e9e70ce743f3" datatype="html">
-        <source>Raw</source>
-        <target>Raw</target>
-      </trans-unit>
-      <trans-unit id="2f3beddc8234b30fb26a7f63ba2f1ea74f2ed6f7" datatype="html">
-        <source>Threshold</source>
-        <target>Threshold</target>
-      </trans-unit>
-      <trans-unit id="4654b5a68af3c8bad29aa14ca85ccea1f3143c6b" datatype="html">
-        <source>When Failed</source>
-        <target>When Failed</target>
-      </trans-unit>
-      <trans-unit id="5b7f56d5be49fb8e8d8f40209d6746f8f72e9177" datatype="html">
-        <source>Worst</source>
-        <target>Worst</target>
-      </trans-unit>
-      <trans-unit id="1edb8e46b0fac57c5feb3d7d3585afc0122d5481" datatype="html">
-        <source>Create silence</source>
-        <target>Create silence</target>
+      <trans-unit id="3bc2d18913479965cb046ec75e2ac3f7b7a77ce5" datatype="html">
+        <source>Create Silence</source>
+        <target>Create Silence</target>
       </trans-unit>
       <trans-unit id="78917e8031aaf913ac3fa63295325ce8879703ce" datatype="html">
         <source>Job</source>
         <source>URL</source>
         <target>URL</target>
       </trans-unit>
+      <trans-unit id="d9f726c70aeba7fa6d3d68bff718abe78b1e50ac" datatype="html">
+        <source>Query</source>
+        <target>Query</target>
+      </trans-unit>
       <trans-unit id="a5cd682a8a33bdc72e093d059429e3cc3a50ec1d" datatype="html">
         <source>silence</source>
         <target>silence</target>
         <source>Created by</source>
         <target>Erstellt von</target>
       </trans-unit>
-      <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc" datatype="html">
-        <source>Updated</source>
-        <target>Aktualisiert</target>
-      </trans-unit>
       <trans-unit id="8d833cceee0ba4c5161b130365e02bc1e129b57e" datatype="html">
         <source>Ends</source>
         <target>Endet</target>
         <source>Silence</source>
         <target>Silence</target>
       </trans-unit>
-      <trans-unit id="f392abfbb997402ce2aebb13e660a8f01dec54db" datatype="html">
-        <source>Service type</source>
-        <target>Service type</target>
+      <trans-unit id="f2ea47d702c7f5e3e5fa751bf9959e21030b72e6" datatype="html">
+        <source>Daemon type</source>
+        <target>Daemon type</target>
       </trans-unit>
-      <trans-unit id="9ffa91b056fb979786627885651e19c8275675cd" datatype="html">
-        <source>Service instance</source>
-        <target>Service instance</target>
+      <trans-unit id="6c131968e6ab730d86443e6fc11c5cc2a76d7bac" datatype="html">
+        <source>Daemon ID</source>
+        <target>Daemon ID</target>
       </trans-unit>
-      <trans-unit id="b5910192a9ac4816638ff6383b03f986ff965796" datatype="html">
-        <source>Container id</source>
-        <target>Container id</target>
+      <trans-unit id="5738f0ca7ddd9594058ce051b1d5d576e2782825" datatype="html">
+        <source>Container ID</source>
+        <target>Container ID</target>
       </trans-unit>
-      <trans-unit id="60ab9cce12a56cdc5ec6a1b699f8c7afecd629d5" datatype="html">
-        <source>Rados config location</source>
-        <target>Rados config location</target>
+      <trans-unit id="78ebcf850cd440c5efc15e6a3a522ae75aeff669" datatype="html">
+        <source>Container Image name</source>
+        <target>Container Image name</target>
       </trans-unit>
-      <trans-unit id="dfa409f831c9168a377bdee02c5ea6aaf9b2bf61" datatype="html">
-        <source>Service URL</source>
-        <target>Service URL</target>
+      <trans-unit id="ea0c7ab9a7bdf646d494abf8c85fbf67d934d079" datatype="html">
+        <source>Container Image ID</source>
+        <target>Container Image ID</target>
       </trans-unit>
       <trans-unit id="bf2468fd965b8a59c135ad549b3a612aa9873abc" datatype="html">
         <source>Status Description</source>
         <target>Status Description</target>
       </trans-unit>
+      <trans-unit id="19867330bdc84096f5a93ab087a1766476c8a074" datatype="html">
+        <source>Last Refreshed</source>
+        <target>Last Refreshed</target>
+      </trans-unit>
+      <trans-unit id="2349ee2027ab6ceb3e4b8834928562075b7e1ac7" datatype="html">
+        <source>Container image name</source>
+        <target>Container image name</target>
+      </trans-unit>
+      <trans-unit id="3c475503fb93338811af6b3d9ccacca1d7334609" datatype="html">
+        <source>Container image ID</source>
+        <target>Container image ID</target>
+      </trans-unit>
+      <trans-unit id="8dd15f6c73c05a8b0bd7b6d416487ab6570b88c8" datatype="html">
+        <source>Running</source>
+        <target>Running</target>
+      </trans-unit>
       <trans-unit id="fb2e1bed329dc5b84197808c778abb9edcbdb335" datatype="html">
         <source>Used</source>
         <target>Verwendet</target>
         <source>NFS export</source>
         <target>NFS-Export</target>
       </trans-unit>
+      <trans-unit id="c56d51748965db5f3966cd1d06a1c9f4b5244931" datatype="html">
+        <source>Crush Rule</source>
+        <target>Crush Rule</target>
+      </trans-unit>
       <trans-unit id="ae128527ec18892f812a62a1fd15dc50a38060c0" datatype="html">
         <source>EC Profile</source>
         <target>EC-Profil</target>
         <source>erasure code profile</source>
         <target>Erasure-Coding-Profil</target>
       </trans-unit>
+      <trans-unit id="ae48e19a9a2acaca4b5ea594451bc9b0b01ec8d2" datatype="html">
+        <source>crush rule</source>
+        <target>crush rule</target>
+      </trans-unit>
       <trans-unit id="112d356ad6846959ca4aa5ec9a1f0d9d473b24ec" datatype="html">
         <source>Replica Size</source>
         <target>Größe des Replikats</target>
         <source>Crush Ruleset</source>
         <target>Crush-Regelsatz</target>
       </trans-unit>
-      <trans-unit id="f15bf7f588f09ca79795b17bc244e8d336f28171" datatype="html">
-        <source>Write bytes</source>
-        <target>Bytes für Schreibvorgang</target>
-      </trans-unit>
       <trans-unit id="bcc365a084b6145b941b371bd4c2b6c3d2c79234" datatype="html">
         <source>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</source>
         <target>Das Löschen des Pools ist durch die Konfigurationsoption mon_allow_pool_delete deaktiviert.</target>
         <source>Swift Key</source>
         <target>Swift-Schlüssel</target>
       </trans-unit>
+      <trans-unit id="6462d8f12b427c29363f00b12f20f566be24937c" datatype="html">
+        <source>Device ID</source>
+        <target>Laufwerks-ID</target>
+      </trans-unit>
+      <trans-unit id="82f12bf23db4bb82db89877bebe93954bc1c8fb0" datatype="html">
+        <source>State of Health</source>
+        <target>State of Health</target>
+      </trans-unit>
+      <trans-unit id="7bd34bd120146afef0e0d8fa168d9bdabd594b6a" datatype="html">
+        <source>Good</source>
+        <target>Good</target>
+      </trans-unit>
+      <trans-unit id="31c59dce114ec0a9d02552ef7b81920b3de36793" datatype="html">
+        <source>Bad</source>
+        <target>Bad</target>
+      </trans-unit>
+      <trans-unit id="2862af5284f66d4b06bdcf77a5519141723b6989" datatype="html">
+        <source>Stale</source>
+        <target>Stale</target>
+      </trans-unit>
+      <trans-unit id="8d8e819b52984a4fbdec75a99eb28d1ae4323bbc" datatype="html">
+        <source>Life Expectancy</source>
+        <target>Life Expectancy</target>
+      </trans-unit>
+      <trans-unit id="72d9b15be18ea063e78c4e855b9e8c0af95593ef" datatype="html">
+        <source>Prediction Creation Date</source>
+        <target>Prediction Creation Date</target>
+      </trans-unit>
+      <trans-unit id="a6b4ef85e5ff8bd192751c7bbebc54c46118d6d4" datatype="html">
+        <source>Device Name</source>
+        <target>Laufwerksname</target>
+      </trans-unit>
+      <trans-unit id="d5fd840374ca1a6f394bcd81f390a6dca27f8224" datatype="html">
+        <source>An error with error code 
+          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.
+        </source>
+        <target>An error with error code 
+          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.
+        </target>
+      </trans-unit>
+      <trans-unit id="a0b59d7139692bb8d8ed786b6eb6e9e70ce743f3" datatype="html">
+        <source>Raw</source>
+        <target>Raw</target>
+      </trans-unit>
+      <trans-unit id="2f3beddc8234b30fb26a7f63ba2f1ea74f2ed6f7" datatype="html">
+        <source>Threshold</source>
+        <target>Threshold</target>
+      </trans-unit>
+      <trans-unit id="4654b5a68af3c8bad29aa14ca85ccea1f3143c6b" datatype="html">
+        <source>When Failed</source>
+        <target>When Failed</target>
+      </trans-unit>
+      <trans-unit id="5b7f56d5be49fb8e8d8f40209d6746f8f72e9177" datatype="html">
+        <source>Worst</source>
+        <target>Worst</target>
+      </trans-unit>
       <trans-unit id="1481b8488e10dbc437accce89d2ae35a0106e8ba" datatype="html">
         <source>Scope</source>
         <target>Bereich</target>
           <x id="INTERPOLATION" equiv-text="{{role_name}}"/>' gelöscht
         </target>
       </trans-unit>
+      <trans-unit id="bd15b8d5c0fa160161728eefbbb585710414d471" datatype="html">
+        <source>New name</source>
+        <target>New name</target>
+      </trans-unit>
+      <trans-unit id="6f126277f3dc22a3ab3609c4c198386c8744e11a" datatype="html">
+        <source>Clone Role</source>
+        <target>Clone Role</target>
+      </trans-unit>
+      <trans-unit id="d19d8320479854bc52877cdf0dc5ecfe34a36ec7" datatype="html">
+        <source>Cloned role '
+          <x id="INTERPOLATION" equiv-text="{{dst_name}}"/>' from '
+          <x id="INTERPOLATION_1" equiv-text="{{src_name}}"/>'
+        </source>
+        <target>Cloned role '
+          <x id="INTERPOLATION" equiv-text="{{dst_name}}"/>' from '
+          <x id="INTERPOLATION_1" equiv-text="{{src_name}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="2e35d60a14ce0b470e8b54602864a867f7fcef40" datatype="html">
         <source>There are no roles.</source>
         <target>There are no roles.</target>
         <source>Updated user password"</source>
         <target>Benutzerpasswort aktualisiert</target>
       </trans-unit>
+      <trans-unit id="c4e596a44ffc4718c1602600d6e4f029190eb031" datatype="html">
+        <source>The name of the node under which data should be placed.</source>
+        <target>The name of the node under which data should be placed.</target>
+      </trans-unit>
+      <trans-unit id="f24772ba1091155f8d7025332ca8456a204d1e28" datatype="html">
+        <source>The type of CRUSH nodes across which we should separate replicas.</source>
+        <target>The type of CRUSH nodes across which we should separate replicas.</target>
+      </trans-unit>
+      <trans-unit id="a3896042af461a80091c3f7a5fe3fff5ac40a3a0" datatype="html">
+        <source>The device class data should be placed on.</source>
+        <target>The device class data should be placed on.</target>
+      </trans-unit>
       <trans-unit id="1d7fbcc3d5efc946ffbcf86fed04c4e20dda20fb" datatype="html">
         <source>Each object is split in data-chunks parts, each stored on a different OSD.</source>
         <target>Jedes Objekt wird in Datenblöcke aufgeteilt und jeweils auf einem anderen OSD gespeichert.</target>
         <source>Success</source>
         <target>Success</target>
       </trans-unit>
+      <trans-unit id="61fd1cffcb763cbfd5829071723cf9b647174bd9" datatype="html">
+        <source>An error occurred.</source>
+        <target>An error occurred.</target>
+      </trans-unit>
       <trans-unit id="e6ca3c0efaf51e6d45a7f92f58bac37140c3fda4" datatype="html">
         <source>Last 5 minutes</source>
         <target>Letzte 5 Minuten</target>
         <source>There are no items available.</source>
         <target>Keine Elemente verfügbar.</target>
       </trans-unit>
-      <trans-unit id="f6755cff4957d5c3c89bafce5651f1b6fa2b1fd9" datatype="html">
-        <source>Add</source>
-        <target>Hinzufügen</target>
+      <trans-unit id="55dd9f44e64851bca3b7bfc9283a5ff36f030228" datatype="html">
+        <source>Set</source>
+        <target>Set</target>
       </trans-unit>
       <trans-unit id="019d4bd6a5690f0cfa0ecf346a4e6bf7f0d8debb" datatype="html">
         <source>Remove</source>
         <target>Entfernen</target>
       </trans-unit>
+      <trans-unit id="e168fe6c468b3ad632731395ef89860274242844" datatype="html">
+        <source>Unset</source>
+        <target>Unset</target>
+      </trans-unit>
       <trans-unit id="54a4a3132b693575728a45a5f3154ad4c9af404b" datatype="html">
         <source>Clone</source>
         <target>Klonen</target>
         <source>No</source>
         <target>Nein</target>
       </trans-unit>
+      <trans-unit id="baf918eed9d4050cdad2acebc0f27b6eaf8e3fcd" datatype="html">
+        <source>Required rules for passwords:</source>
+        <target>Erforderliche Regeln für Passwörter:</target>
+      </trans-unit>
+      <trans-unit id="40f61909e1f017c4652e64b055089beef19cf871" datatype="html">
+        <source>Must contain at least 
+          <x id="INTERPOLATION" equiv-text="{{length}}"/> characters
+        </source>
+        <target>Must contain at least 
+          <x id="INTERPOLATION" equiv-text="{{length}}"/> characters
+        </target>
+      </trans-unit>
+      <trans-unit id="f4f5dbb3a05b5f38dab47ef38dad88a4574a765a" datatype="html">
+        <source>Must not be the same as the previous one</source>
+        <target>Must not be the same as the previous one</target>
+      </trans-unit>
+      <trans-unit id="607370e07b50087c196a5fcea9184e3d693226b2" datatype="html">
+        <source>Cannot contain the username</source>
+        <target>Cannot contain the username</target>
+      </trans-unit>
+      <trans-unit id="e6e355eab2596251aaa42623b41e6026d5c03e3b" datatype="html">
+        <source>Cannot contain any configured keyword</source>
+        <target>Cannot contain any configured keyword</target>
+      </trans-unit>
+      <trans-unit id="394bcd6d5e4da75b720c4d28f94f2aef7bb38355" datatype="html">
+        <source>Cannot contain any repetitive characters e.g. "aaa"</source>
+        <target>Cannot contain any repetitive characters e.g. "aaa"</target>
+      </trans-unit>
+      <trans-unit id="030e61e0bcf2536fb047645db6182d43e9fca9e9" datatype="html">
+        <source>Cannot contain any sequential characters e.g. "abc"</source>
+        <target>Cannot contain any sequential characters e.g. "abc"</target>
+      </trans-unit>
       <trans-unit id="99fa0b67376d40142bd4d3ace3344abf4f98b6a5" datatype="html">
         <source>Your matcher seems to match no currently defined rule or active alert.</source>
         <target>Your matcher seems to match no currently defined rule or active alert.</target>
       </trans-unit>
       <trans-unit id="7e284852732c303eb1f47de9aca2569e41aeffed" datatype="html">
         <source>no active alerts</source>
-        <target>no active alerts</target>
+        <target>keine aktiven Warnungen</target>
       </trans-unit>
       <trans-unit id="b8042829e4fbe7b09fd9bac9fa0ecf5cc1802fee" datatype="html">
         <source>1 active alert</source>
-        <target>1 active alert</target>
+        <target>1 aktive Warnung</target>
       </trans-unit>
       <trans-unit id="e24adce97669cb0fc74cc13fdc14179b6f78ea5e" datatype="html">
         <source>
           <x id="INTERPOLATION" equiv-text="{{n}}"/> active alerts
         </source>
         <target>
-          <x id="INTERPOLATION" equiv-text="{{n}}"/> active alerts
+          <x id="INTERPOLATION" equiv-text="{{n}}"/> aktive Warnungen
         </target>
       </trans-unit>
       <trans-unit id="d8fb058ff5883731d38a132da4ca45cfe8d719a3" datatype="html">
           <x id="INTERPOLATION_1" equiv-text="{{alerts}}"/>.
         </source>
         <target>
-          <x id="INTERPOLATION" equiv-text="{{rules}}"/> with 
+          <x id="INTERPOLATION" equiv-text="{{rules}}"/> mit 
           <x id="INTERPOLATION_1" equiv-text="{{alerts}}"/>.
         </target>
       </trans-unit>
         <source>Deleting</source>
         <target>Wird gelöscht</target>
       </trans-unit>
-      <trans-unit id="70ef158c584bafe788e319a0bffa11b02ee9abf1" datatype="html">
-        <source>delete</source>
-        <target>löschen</target>
-      </trans-unit>
       <trans-unit id="d07a282afc7fbdb39cea6e1c9b544882a7260a86" datatype="html">
         <source>Adding</source>
         <target>Adding</target>
         <source>remove</source>
         <target>remove</target>
       </trans-unit>
+      <trans-unit id="0e21237afdc84ec360c374fa678d9b1cfaa334f9" datatype="html">
+        <source>Importing</source>
+        <target>Importing</target>
+      </trans-unit>
+      <trans-unit id="c6b4128c006f4cc0564137e1a1482b5c432aa347" datatype="html">
+        <source>import</source>
+        <target>import</target>
+      </trans-unit>
+      <trans-unit id="3b9f4138abbca0fd66db1f7332f4b54e2a6d916d" datatype="html">
+        <source>Imported</source>
+        <target>Imported</target>
+      </trans-unit>
       <trans-unit id="3f757cfc3749ebb5d4462017cb60138ca082f15f" datatype="html">
         <source>RBD '
           <x id="INTERPOLATION" equiv-text="{{id}}"/>'
           <x id="INTERPOLATION" equiv-text="{{id}}"/>'
         </target>
       </trans-unit>
+      <trans-unit id="2bf18ddf3785f7afb4f01dcf63d3d8c40f4bfba5" datatype="html">
+        <source>mirroring site name</source>
+        <target>mirroring site name</target>
+      </trans-unit>
+      <trans-unit id="167b73bb24b4695614ce0fc567b7a45080457a44" datatype="html">
+        <source>bootstrap token</source>
+        <target>bootstrap token</target>
+      </trans-unit>
       <trans-unit id="4fb54a0291f49583c317d4a3690239141b5a8f68" datatype="html">
         <source>mirror mode for pool '
           <x id="INTERPOLATION" equiv-text="{{id}}"/>'
         <source>all dashboards</source>
         <target>Alle Dashboards</target>
       </trans-unit>
+      <trans-unit id="6c19652df9249c60827044ed6274933cab180c63" datatype="html">
+        <source>OSDs (DriveGroups: 
+          <x id="INTERPOLATION" equiv-text="{{tracking_id}}"/>)
+        </source>
+        <target>OSDs (DriveGroups: 
+          <x id="INTERPOLATION" equiv-text="{{tracking_id}}"/>)
+        </target>
+      </trans-unit>
       <trans-unit id="1b559dbd9cc9664fd788c2da9a10d3abafe066cb" datatype="html">
         <source>Name is already used by 
           <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.
           <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> verwendet.
         </target>
       </trans-unit>
+      <trans-unit id="460f07780389d24c6a540c007c7367a56afad585" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> is busy.
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> is busy.
+        </target>
+      </trans-unit>
       <trans-unit id="1ff7676ad1e991102224540a32dd44ad1ab88aa8" datatype="html">
         <source>
           <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.
         <source>images from 
           <x id="INTERPOLATION" equiv-text="{{message}}"/>
         </source>
-        <target>Abbild von 
+        <target>Images von 
           <x id="INTERPOLATION" equiv-text="{{message}}"/>
         </target>
       </trans-unit>
         <source>Cannot disable mirroring because it contains a peer.</source>
         <target>Spiegelung kann nicht deaktiviert werden, da sie einen Peer enthält.</target>
       </trans-unit>
+      <trans-unit id="5c4525a1b76ca54d1aadeaecfdb83aedc2eec6e0" datatype="html">
+        <source>Identifying</source>
+        <target>Identifying</target>
+      </trans-unit>
+      <trans-unit id="ffd067e54a061d1f27cb35f0cf67ef7f29e19111" datatype="html">
+        <source>identify</source>
+        <target>identify</target>
+      </trans-unit>
+      <trans-unit id="7c921f339274688c22ba1acac7af6b097ad3599d" datatype="html">
+        <source>Identified</source>
+        <target>Identified</target>
+      </trans-unit>
+      <trans-unit id="3307492c27c2150cd26c514030444e11fd61089f" datatype="html">
+        <source>device '
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>' on host '
+          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>'
+        </source>
+        <target>device '
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>' on host '
+          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="f123ae1fc3b000e5d08e766dd78bff162afe709d" datatype="html">
         <source>host '
           <x id="INTERPOLATION" equiv-text="{{hostname}}"/>'
         </source>
-        <target>host '
+        <target>Host '
           <x id="INTERPOLATION" equiv-text="{{hostname}}"/>'
         </target>
       </trans-unit>
+      <trans-unit id="c1af76189dcefd094da2bc1a4a63968f3bab5789" datatype="html">
+        <source>OSD '
+          <x id="INTERPOLATION" equiv-text="{{svc_id}}"/>'
+        </source>
+        <target>OSD '
+          <x id="INTERPOLATION" equiv-text="{{svc_id}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="dfe70001dc590a9e12512cbb206aa29fb36fd00b" datatype="html">
         <source>pool '
           <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>'
           <x id="INTERPOLATION" equiv-text="{{name}}"/>'
         </target>
       </trans-unit>
+      <trans-unit id="79052d6c47258dc19ada12dbb2563761102b6f1d" datatype="html">
+        <source>crush rule '
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>'
+        </source>
+        <target>crush rule '
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="369462e5e018360e0600bb570866201ad5c3c8a8" datatype="html">
         <source>target '
           <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>'
           <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>
         </target>
       </trans-unit>
-      <trans-unit id="54bf6542e39412f83ec883266f443e31b304c937" datatype="html">
-        <source>Required rules for password complexity:
-    - must contain at least 8 characters
-    - cannot contain username
-    - cannot contain any keyword used in Ceph
-    - cannot contain any repetitive characters e.g. "aaa"
-    - cannot contain any sequencial characters e.g. "abc"
-    - must consist of characters from the following groups:
-      * alphabetic a-z, A-Z
-      * numbers 0-9
-      * special chars: !"#$%&amp; '()*+,-./:;&lt;=&gt;?@[\]^_`
-          <x id="INTERPOLATION" equiv-text="{{|}}"/>~
-      * any other characters (signs)
-        </source>
-        <target>Required rules for password complexity:
-    - must contain at least 8 characters
-    - cannot contain username
-    - cannot contain any keyword used in Ceph
-    - cannot contain any repetitive characters e.g. "aaa"
-    - cannot contain any sequencial characters e.g. "abc"
-    - must consist of characters from the following groups:
-      * alphabetic a-z, A-Z
-      * numbers 0-9
-      * special chars: !"#$%&amp; '()*+,-./:;&lt;=&gt;?@[\]^_`
-          <x id="INTERPOLATION" equiv-text="{{|}}"/>~
-      * any other characters (signs)
-        </target>
-      </trans-unit>
-      <trans-unit id="ba575e9364b43dc870e332265c5182bb357b7a49" datatype="html">
-        <source>Weak</source>
-        <target>Weak</target>
-      </trans-unit>
-      <trans-unit id="7e6c975ebea8b5f8b120905ca7acf9f8edf59d8e" datatype="html">
-        <source>OK</source>
-        <target>OK</target>
-      </trans-unit>
-      <trans-unit id="3f7349017a01eed18c3daf2b7295ca96ef442eb6" datatype="html">
-        <source>Strong</source>
-        <target>Strong</target>
-      </trans-unit>
-      <trans-unit id="a1e3aecc2022cb0ebed8575a24d0e29d2de815c6" datatype="html">
-        <source>Very strong</source>
-        <target>Very strong</target>
-      </trans-unit>
     </body>
   </file>
 </xliff>
\ No newline at end of file
index d23394f0659589f341cecafd5e9faa8d75b8c075..e63fbdf2ee7f8f1bae7168fbde43bacecde50ad9 100644 (file)
         <source>Logs</source>
         <target>Registros</target>
       </trans-unit>
-      <trans-unit id="9fe218829514884cdd0ca2300573a4e0428c324f" datatype="html">
-        <source>Alerts</source>
-        <target>Alertas</target>
-      </trans-unit>
-      <trans-unit id="aa0c44aa1e5727061baa91e954f77e2f5f9a37c9" datatype="html">
-        <source>Silences</source>
-        <target>Silences</target>
+      <trans-unit id="17fc3efe5f9fa4e0289c900cb6202265215a1a27" datatype="html">
+        <source>Monitoring</source>
+        <target>Monitoring</target>
       </trans-unit>
       <trans-unit id="92899fa68e8ca108912163ff58edc8540e453787" datatype="html">
         <source>Pools</source>
         <source>Back</source>
         <target>Atrás</target>
       </trans-unit>
+      <trans-unit id="9ce641535be1ffa106c87724ba0637facaef5f61" datatype="html">
+        <source>Your password will expire in 
+          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>less than 1
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day. Click
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.
+        </source>
+        <target>Your password will expire in 
+          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>less than 1
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day. Click
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.
+        </target>
+      </trans-unit>
+      <trans-unit id="c2f34088c155e40ffb23770a465a65868ce772b2" datatype="html">
+        <source>Your password will expire in 
+          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
+          <x id="INTERPOLATION" equiv-text="{{ expirationDays }}"/>
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day(s). Click
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.
+        </source>
+        <target>Your password will expire in 
+          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
+          <x id="INTERPOLATION" equiv-text="{{ expirationDays }}"/>
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day(s). Click
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.
+        </target>
+      </trans-unit>
+      <trans-unit id="9b516f972c744779257310b73f6e97438b726707" datatype="html">
+        <source>Orchestrator is not available. Please consult the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to
+  configure and enable the functionality.
+        </source>
+        <target>Orchestrator is not available. Please consult the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to
+  configure and enable the functionality.
+        </target>
+      </trans-unit>
       <trans-unit id="012741ee52b3c050e4a977c37cc2334f7974f141" datatype="html">
         <source>Failed to load data.</source>
         <target>Error al cargar los datos.</target>
       </trans-unit>
+      <trans-unit id="1e5e23363e949f7dcbaf034bdb141a561132a10e" datatype="html">
+        <source>Clear filters</source>
+        <target>Clear filters</target>
+      </trans-unit>
       <trans-unit id="80cc9a12d4bf6fe454ed94b379eeaf915f920bb7" datatype="html">
         <source>selected</source>
         <target>seleccionados</target>
         <source>Values</source>
         <target>Valores</target>
       </trans-unit>
+      <trans-unit id="5894f7158499fdb89527af50c9f1cf7d4c95cad6" datatype="html">
+        <source>-- Default --</source>
+        <target>-- Default --</target>
+      </trans-unit>
+      <trans-unit id="514f6e12d035a6d9b00de6b3e55c18b73488da07" datatype="html">
+        <source>true</source>
+        <target>true</target>
+      </trans-unit>
+      <trans-unit id="774f5e6a183dea08393789b6f72e86afad729419" datatype="html">
+        <source>false</source>
+        <target>false</target>
+      </trans-unit>
       <trans-unit id="82029b6db704c56a2aa3e82ac555b8655356b077" datatype="html">
         <source>The entered value is too high! It must not be greater than 
           <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.
         <source>Cancel</source>
         <target>Cancelar</target>
       </trans-unit>
+      <trans-unit id="55a2f26b2e87886d9b8015a887e38e51ab2a866a" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>
+          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>
+          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8" datatype="html">
+        <source>Close</source>
+        <target>Cerrar</target>
+      </trans-unit>
       <trans-unit id="40661476cb24c89d8b06614998e31d5fbe84eeb6" datatype="html">
         <source>Hosts List</source>
         <target>Lista de hosts</target>
         <source>Overall Performance</source>
         <target>Rendimiento general</target>
       </trans-unit>
-      <trans-unit id="6bc15dc1a621b6ff7378db7fd3ac10b2a2627c77" datatype="html">
-        <source>Please consult the
-          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
-          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to
-  configure and enable the orchestrator functionality.
-        </source>
-        <target>Please consult the
-          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
-          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to
-  configure and enable the orchestrator functionality.
-        </target>
-      </trans-unit>
       <trans-unit id="3e24569eca61d598c8b01defbbbb1fa8bd5222bc" datatype="html">
         <source>Devices</source>
         <target>Devices</target>
         <source>Not In Quorum</source>
         <target>Sin quórum</target>
       </trans-unit>
+      <trans-unit id="4383e9662ea19839c7499b2128d43a195e564317" datatype="html">
+        <source>OSD creation preview</source>
+        <target>OSD creation preview</target>
+      </trans-unit>
+      <trans-unit id="366225c51e0b00bcb1c55795a0dc5e81c455f84e" datatype="html">
+        <source>DriveGroups</source>
+        <target>DriveGroups</target>
+      </trans-unit>
+      <trans-unit id="8edc89137d0d8c5667a2f03230beafae45e58429" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{ deviceType }}"/> devices
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{ deviceType }}"/> devices
+        </target>
+      </trans-unit>
+      <trans-unit id="eba28e1805b18f7c8ae2e4bc15dcf063b10b3822" datatype="html">
+        <source>At least one of these filters must be applied in order to proceed:</source>
+        <target>At least one of these filters must be applied in order to proceed:</target>
+      </trans-unit>
+      <trans-unit id="93389aa2fe2bea50bf89554ee51b28f87ee2fb50" datatype="html">
+        <source>Number of devices: 
+          <x id="INTERPOLATION" equiv-text="{{ filteredDevices.length }}"/>. Raw capacity:
+          <x id="INTERPOLATION_1" equiv-text="{{ capacity | dimlessBinary }}"/>.
+        </source>
+        <target>Number of devices: 
+          <x id="INTERPOLATION" equiv-text="{{ filteredDevices.length }}"/>. Raw capacity:
+          <x id="INTERPOLATION_1" equiv-text="{{ capacity | dimlessBinary }}"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="ccb4f84edc0b4e76415bb3f9b73d725b06683af3" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{ name }}"/> devices
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{ name }}"/> devices
+        </target>
+      </trans-unit>
+      <trans-unit id="60cb3d01e5ddf266ecb4271007a1c3d0f3efdc22" datatype="html">
+        <source>The primary storage devices. These devices contain all OSD data.</source>
+        <target>The primary storage devices. These devices contain all OSD data.</target>
+      </trans-unit>
+      <trans-unit id="b432e04886d0d1fd84f740477383051f85addcf2" datatype="html">
+        <source>Write-Ahead-Log devices. These devices are used for BlueStore’s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device.</source>
+        <target>Write-Ahead-Log devices. These devices are used for BlueStore’s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device.</target>
+      </trans-unit>
+      <trans-unit id="b87e181ab9e8393aa5ed759dd3d53836e32c8ffe" datatype="html">
+        <source>DB devices can be used for storing BlueStore’s internal metadata.  It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD).</source>
+        <target>DB devices can be used for storing BlueStore’s internal metadata.  It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD).</target>
+      </trans-unit>
+      <trans-unit id="f6755cff4957d5c3c89bafce5651f1b6fa2b1fd9" datatype="html">
+        <source>Add</source>
+        <target>Añadir</target>
+      </trans-unit>
+      <trans-unit id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46" datatype="html">
+        <source>Clear</source>
+        <target>Clear</target>
+      </trans-unit>
+      <trans-unit id="7e0fd3c7af0630f93befa6234a693a32a61084e0" datatype="html">
+        <source>Raw capacity: 
+          <x id="INTERPOLATION" equiv-text="{{ capacity | dimlessBinary }}"/>
+        </source>
+        <target>Raw capacity: 
+          <x id="INTERPOLATION" equiv-text="{{ capacity | dimlessBinary }}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="43ecf6bee2aebc07b0aad6dc1fe13e38d14687fa" datatype="html">
+        <source>Shared devices</source>
+        <target>Shared devices</target>
+      </trans-unit>
+      <trans-unit id="7a1c376f6f1b37de4c318ff2106255ba6c0f5b0b" datatype="html">
+        <source>WAL slots</source>
+        <target>WAL slots</target>
+      </trans-unit>
+      <trans-unit id="73811a6f37b63e6b0e491e221bfa21e9dea8a87a" datatype="html">
+        <source>How many OSDs per WAL device.</source>
+        <target>How many OSDs per WAL device.</target>
+      </trans-unit>
+      <trans-unit id="0c67a7ac4762ef1cc855056c6b4daab93e53a0a5" datatype="html">
+        <source>Specify 0 to let Orchestrator backend decide it.</source>
+        <target>Specify 0 to let Orchestrator backend decide it.</target>
+      </trans-unit>
+      <trans-unit id="7bda9362e06e6c67341b4a8425b0d29d6b84464b" datatype="html">
+        <source>Value should be greater than or equal to 0</source>
+        <target>Value should be greater than or equal to 0</target>
+      </trans-unit>
+      <trans-unit id="324c2b10152b9dd908222bb0b71f61beb60a30c5" datatype="html">
+        <source>DB slots</source>
+        <target>DB slots</target>
+      </trans-unit>
+      <trans-unit id="c23cf12ef9c76f37fc7a4b7ae3e00fb0f68b6e26" datatype="html">
+        <source>How many OSDs per DB device.</source>
+        <target>How many OSDs per DB device.</target>
+      </trans-unit>
+      <trans-unit id="6cdb1fea93d77c07950c0c76c6e0ad79ebbef084" datatype="html">
+        <source>Features</source>
+        <target>Características</target>
+      </trans-unit>
+      <trans-unit id="3e2a583f531f7dd9f089f68a6968e444c372c3e8" datatype="html">
+        <source>Preview</source>
+        <target>Preview</target>
+      </trans-unit>
       <trans-unit id="5ef50ba2514414f799d4c8fc36067a251904ba81" datatype="html">
         <source>Cluster-wide OSD Flags</source>
         <target>Indicadores OSD de todo el clúster</target>
         <source>{VAR_SELECT, select, 1 {Deep } }</source>
         <target>{VAR_SELECT, select, 1 {Profundo} }</target>
       </trans-unit>
-      <trans-unit id="2613498e8e5853c26a1cc62ae8dc673d1fdf0e2a" datatype="html">
+      <trans-unit id="fd0a4b6eed32e3488eccdc9c13f9841f08cc275e" datatype="html">
         <source>You are about to apply a 
           <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to
           the OSD(s): 
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
-          <x id="INTERPOLATION" equiv-text="{{ selected | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ selected | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.
         </source>
         <target>You are about to apply a 
           <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to
           the OSD(s): 
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
-          <x id="INTERPOLATION" equiv-text="{{ selected | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ selected | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.
         </target>
       </trans-unit>
         <source>OSDs List</source>
         <target>Lista de OSD</target>
       </trans-unit>
-      <trans-unit id="c402e6ec1c6792ede81f56c28eee8955860391c8" datatype="html">
+      <trans-unit id="d5707a32ba9c1138e6423498fb0b24e970ebd19f" datatype="html">
         <source>
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) 
-          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
           <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>
         </source>
         <target>
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) 
-          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
           <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.
         </target>
       </trans-unit>
-      <trans-unit id="d2797d01ba86f5df03d875803e49e648a4027869" datatype="html">
+      <trans-unit id="d08c1e4f17dffc0ed1ac2e2e2875cb8b569eeb35" datatype="html">
         <source>The 
-          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to destroy!
+          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to be 
+          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>! 
+          <x id="INTERPOLATION_1" equiv-text="{{ message }}"/>
         </source>
         <target>The 
-          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to destroy!
+          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to be 
+          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>! 
+          <x id="INTERPOLATION_1" equiv-text="{{ message }}"/>
         </target>
       </trans-unit>
       <trans-unit id="e776996dac651ef3819bfa767ccf2a0613759f47" datatype="html">
         <source>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</source>
         <target>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</target>
       </trans-unit>
-      <trans-unit id="1e2c50ed3c3934ef068976dc7f38513cec29d515" datatype="html">
+      <trans-unit id="5cd6a031937412c42e5efa1e6959cb72ac08c720" datatype="html">
         <source>
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD 
-          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
           <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>
         </source>
         <target>
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD 
-          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
           <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.
         </target>
       </trans-unit>
-      <trans-unit id="4f8b2bb476981727ab34ed40fde1218361f92c45" datatype="html">
-        <source>Details</source>
-        <target>Detalles</target>
+      <trans-unit id="3eda19b44809820fffd5d3753bafb7243116f4b0" datatype="html">
+        <source>To see all active Prometheus alerts, please
+      provide the URL to the API of Prometheus' Alertmanager as described in the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.
+        </source>
+        <target>To see all active Prometheus alerts, please
+      provide the URL to the API of Prometheus' Alertmanager as described in the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="880ad4df5a2051a437321443d69c9a866699e5ad" datatype="html">
+        <source>Active Alerts</source>
+        <target>Active Alerts</target>
+      </trans-unit>
+      <trans-unit id="8e5e0e09a11990d343926ed693574213d703c38d" datatype="html">
+        <source>All Alerts</source>
+        <target>All Alerts</target>
+      </trans-unit>
+      <trans-unit id="526938c2b7945cb0d68328c24bd77730230cd455" datatype="html">
+        <source>To enable Silences, please provide the URL to the API of the Prometheus' Alertmanager as
+      described in the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.
+        </source>
+        <target>To enable Silences, please provide the URL to the API of the Prometheus' Alertmanager as
+      described in the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="aa0c44aa1e5727061baa91e954f77e2f5f9a37c9" datatype="html">
+        <source>Silences</source>
+        <target>Silences</target>
       </trans-unit>
       <trans-unit id="8501055865d7031b5521a0c5467532648009a61d" datatype="html">
         <source>Matcher</source>
         <source>{VAR_SELECT, select, 1 {Update} other {Add} }</source>
         <target>{VAR_SELECT, select, 1 {Update} other {Add} }</target>
       </trans-unit>
-      <trans-unit id="f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8" datatype="html">
-        <source>Close</source>
-        <target>Cerrar</target>
-      </trans-unit>
       <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c" datatype="html">
         <source>Edit</source>
         <target>Editar</target>
         <source>End time</source>
         <target>End time</target>
       </trans-unit>
-      <trans-unit id="dbe739ec8c99a0132e326067ffec9c0ee06b2655" datatype="html">
-        <source>Matchers
-          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>*
-          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>
-        </source>
-        <target>Matchers
-          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>*
-          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>
-        </target>
+      <trans-unit id="992123459137d45c15df5548bc9682aad835c04b" datatype="html">
+        <source>Matchers</source>
+        <target>Matchers</target>
       </trans-unit>
       <trans-unit id="3e023166c55833d5a13f4143e3dbe372befe1b4e" datatype="html">
         <source>A silence requires at least one matcher</source>
         <source>CephFS</source>
         <target>CephFS</target>
       </trans-unit>
+      <trans-unit id="0eb15f32b2b92d7f3103ef3ff032621888a8dc32" datatype="html">
+        <source>Old password</source>
+        <target>Old password</target>
+      </trans-unit>
+      <trans-unit id="1cf42e491adc166a337a960eb84d03c0c3f677c8" datatype="html">
+        <source>The old and new passwords must be different.</source>
+        <target>The old and new passwords must be different.</target>
+      </trans-unit>
+      <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229" datatype="html">
+        <source>New password</source>
+        <target>New password</target>
+      </trans-unit>
+      <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b" datatype="html">
+        <source>Confirm new password</source>
+        <target>Confirm new password</target>
+      </trans-unit>
+      <trans-unit id="90163a3d3746819aef42e829f4446331232f3b66" datatype="html">
+        <source>Password confirmation doesn't match the new password.</source>
+        <target>Password confirmation doesn't match the new password.</target>
+      </trans-unit>
+      <trans-unit id="d06ae77f9ec46a4cdd49e7e76c73a411aaf2ee38" datatype="html">
+        <source>Please set a new password.</source>
+        <target>Please set a new password.</target>
+      </trans-unit>
+      <trans-unit id="8b5b3566e88438f51bd5f6caf6c090ed565ba5ed" datatype="html">
+        <source>You will be redirected to the login page afterwards.</source>
+        <target>You will be redirected to the login page afterwards.</target>
+      </trans-unit>
       <trans-unit id="449dca3d3a93ead418b0541ea81b0dda7e6483c2" datatype="html">
         <source>Welcome to Ceph!</source>
         <target>¡Bienvenidos a Ceph!</target>
           <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You'll be logged out from the Identity Provider when you retry logging in.
         </target>
       </trans-unit>
-      <trans-unit id="0eb15f32b2b92d7f3103ef3ff032621888a8dc32" datatype="html">
-        <source>Old password</source>
-        <target>Old password</target>
-      </trans-unit>
-      <trans-unit id="1cf42e491adc166a337a960eb84d03c0c3f677c8" datatype="html">
-        <source>The old and new passwords must be different.</source>
-        <target>The old and new passwords must be different.</target>
-      </trans-unit>
-      <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229" datatype="html">
-        <source>New password</source>
-        <target>New password</target>
-      </trans-unit>
-      <trans-unit id="595ebc9279497f6dc733777e2816bee936901388" datatype="html">
-        <source>Too weak</source>
-        <target>Too weak</target>
-      </trans-unit>
-      <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b" datatype="html">
-        <source>Confirm new password</source>
-        <target>Confirm new password</target>
-      </trans-unit>
-      <trans-unit id="90163a3d3746819aef42e829f4446331232f3b66" datatype="html">
-        <source>Password confirmation doesn't match the new password.</source>
-        <target>Password confirmation doesn't match the new password.</target>
-      </trans-unit>
       <trans-unit id="471e78026c258073ba687478dc54c35d9041ea42" datatype="html">
         <source>Forbidden</source>
         <target>Prohibido</target>
         <source>Sorry, you are not allowed to see what you were looking for.</source>
         <target>Lo sentimos. No tiene permiso para ver lo que busca.</target>
       </trans-unit>
-      <trans-unit id="e3c028c58f92453d46f09b5adf95b2f013ee0300" datatype="html">
-        <source>Sorry, we could not find what you were looking for</source>
-        <target>Lo sentimos. No se encuentra lo que busca</target>
+      <trans-unit id="2240b985f17293d84cc8532fe86994aa5f63667c" datatype="html">
+        <source>Sorry, we could not find what you were looking for.</source>
+        <target>Sorry, we could not find what you were looking for.</target>
+      </trans-unit>
+      <trans-unit id="ac54c18c1b520e948095c83a3a1025f02ce6dcc6" datatype="html">
+        <source>Neither hostname nor OSD ID given</source>
+        <target>Neither hostname nor OSD ID given</target>
+      </trans-unit>
+      <trans-unit id="4f635b3cb0600409a2ad44a5bd1863c699e6a01c" datatype="html">
+        <source>Failed to retrieve SMART data.</source>
+        <target>Failed to retrieve SMART data.</target>
+      </trans-unit>
+      <trans-unit id="d82a9af5b05e7cd17640f196f163771685ff8df6" datatype="html">
+        <source>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</source>
+        <target>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</target>
+      </trans-unit>
+      <trans-unit id="04f8a3c7e8ac610e6581960162cc15f55a16696a" datatype="html">
+        <source>No SMART data available.</source>
+        <target>No SMART data available.</target>
+      </trans-unit>
+      <trans-unit id="3a03d3c2e459f8f8fa7202c0fce465d6165f9e2b" datatype="html">
+        <source>passed</source>
+        <target>passed</target>
+      </trans-unit>
+      <trans-unit id="a185c9b97513b3882604ea9bab60edbfac945c15" datatype="html">
+        <source>SMART overall-health self-assessment test result</source>
+        <target>SMART overall-health self-assessment test result</target>
+      </trans-unit>
+      <trans-unit id="41435d5a5692c8e412c74deaee95d99dbd3617e1" datatype="html">
+        <source>failed</source>
+        <target>failed</target>
+      </trans-unit>
+      <trans-unit id="ddd5dd6d930030096ea617f62c82b648a0dd9484" datatype="html">
+        <source>Device Information</source>
+        <target>Device Information</target>
+      </trans-unit>
+      <trans-unit id="380295f37caea93701d071485a38ef0bdba57133" datatype="html">
+        <source>No SMART data available for this device.</source>
+        <target>No SMART data available for this device.</target>
+      </trans-unit>
+      <trans-unit id="20cb12827cbe559a7b1da6fdae96041b3b5c3c55" datatype="html">
+        <source>SMART</source>
+        <target>SMART</target>
+      </trans-unit>
+      <trans-unit id="5758c3f16f8749f0f4e2a787f02e8b4da246102f" datatype="html">
+        <source>SMART data is loading.</source>
+        <target>SMART data is loading.</target>
       </trans-unit>
       <trans-unit id="a949d7e577902d0e5dc5d0971bb0170a21be7728" datatype="html">
         <source>[object Object]</source>
         <source>The chosen erasure code profile name is already in use.</source>
         <target>El nombre del perfil de código de borrado que ha elegido ya está en uso.</target>
       </trans-unit>
+      <trans-unit id="35a4206db3105ed03e0dd799e1642b75b78123e8" datatype="html">
+        <source>Root</source>
+        <target>Root</target>
+      </trans-unit>
+      <trans-unit id="cf425784c7073c7e7f7c1bb90c2c19db7e751db2" datatype="html">
+        <source>Failure domain type</source>
+        <target>Failure domain type</target>
+      </trans-unit>
+      <trans-unit id="72396a9565cf644d1fe1b21b790c4243ee270986" datatype="html">
+        <source>Device class</source>
+        <target>Device class</target>
+      </trans-unit>
+      <trans-unit id="72d80e0c07bfea1b693a33ef2245007de92a6780" datatype="html">
+        <source>Let Ceph decide</source>
+        <target>Let Ceph decide</target>
+      </trans-unit>
       <trans-unit id="ef9ff0e6227947b48dfab4ac39ade04af758913b" datatype="html">
         <source>Plugin</source>
         <target>Complemento</target>
         <target>It's not possible to create an RBD pool with '/' in the name.
               Please change the name or remove 'rbd' from the applications list.</target>
       </trans-unit>
+      <trans-unit id="171dc6d5c6bc4615d99778b0088cae80fd00bd10" datatype="html">
+        <source>Pool name can only contain letters, numbers, '.', '-', '_' or '/'.</source>
+        <target>Pool name can only contain letters, numbers, '.', '-', '_' or '/'.</target>
+      </trans-unit>
       <trans-unit id="b85c657469e5ec8231c3de99b22f437bc01ffde5" datatype="html">
         <source>Pool type</source>
         <target>Tipo de repositorio</target>
         <source>-- Select a pool type --</source>
         <target>-- Seleccione un tipo de repositorio --</target>
       </trans-unit>
+      <trans-unit id="6abfbe47b630929d93c7343dc154599c2e59330a" datatype="html">
+        <source>PG Autoscale</source>
+        <target>PG Autoscale</target>
+      </trans-unit>
       <trans-unit id="0aa21053410a94aa61d16985a4e95fd65523430d" datatype="html">
         <source>Placement groups</source>
         <target>Grupos de colocación</target>
         <target>The current PGs settings were calculated for you, you
                 should make sure the values suit your needs before submit.</target>
       </trans-unit>
-      <trans-unit id="33150f22ce5348aa6c499bd092c3f4f3695d62cc" datatype="html">
-        <source>Crush ruleset</source>
-        <target>Conjunto de reglas de CRUSH</target>
-      </trans-unit>
-      <trans-unit id="73a6b31116b3cc322af951daa0bafdc169e6c42e" datatype="html">
-        <source>-- Select a crush rule --</source>
-        <target>-- Seleccione una regla de CRUSH --</target>
-      </trans-unit>
-      <trans-unit id="92da80699921e89fb19372e25b8d0f3b9fa427fc" datatype="html">
-        <source>Crush rule</source>
-        <target>Regla de CRUSH</target>
-      </trans-unit>
-      <trans-unit id="5489e9f96835f469f6f728a00d8efa88ea5bc940" datatype="html">
-        <source>Crush steps</source>
-        <target>Pasos de CRUSH</target>
-      </trans-unit>
-      <trans-unit id="54a53b1b402aafff5b992ee9b64e409fbfe9074f" datatype="html">
-        <source>The rule can't be used in the current cluster as it has
-                to few OSDs to meet the minimum required OSD by this rule.</source>
-        <target>La regla no se puede usar en el clúster actual, ya que
- no tiene suficientes OSD que cumplan el mínimo requerido.</target>
-      </trans-unit>
       <trans-unit id="a43b2695131b48b76cebba676aba98a2bee17515" datatype="html">
         <source>Replicated size</source>
         <target>Tamaño replicado</target>
           <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.
         </target>
       </trans-unit>
+      <trans-unit id="920617c6a1a4805e53bcb5af6a9c76f8387e89c6" datatype="html">
+        <source>Flags</source>
+        <target>Indicadores</target>
+      </trans-unit>
+      <trans-unit id="1c870fb00256b8a5b9cb9cd1a124e6390b9bc639" datatype="html">
+        <source>EC Overwrites</source>
+        <target>Sustituciones de códigos de borrado</target>
+      </trans-unit>
+      <trans-unit id="f1abafaeb40ce52355ddcc24686e3cd17b64e08a" datatype="html">
+        <source>Applications</source>
+        <target>Aplicaciones</target>
+      </trans-unit>
+      <trans-unit id="fb9308b82fc183f710df60909f49cfc73aa5e076" datatype="html">
+        <source>CRUSH</source>
+        <target>CRUSH</target>
+      </trans-unit>
       <trans-unit id="9de7dde00e2139cc4bd03b1837afbe72ad15a1ff" datatype="html">
         <source>Erasure code profile</source>
         <target>Perfil de código de borrado</target>
         <source>-- Select an erasure code profile --</source>
         <target>-- Seleccione un perfil de código de borrado --</target>
       </trans-unit>
-      <trans-unit id="920617c6a1a4805e53bcb5af6a9c76f8387e89c6" datatype="html">
-        <source>Flags</source>
-        <target>Indicadores</target>
+      <trans-unit id="33150f22ce5348aa6c499bd092c3f4f3695d62cc" datatype="html">
+        <source>Crush ruleset</source>
+        <target>Conjunto de reglas de CRUSH</target>
       </trans-unit>
-      <trans-unit id="1c870fb00256b8a5b9cb9cd1a124e6390b9bc639" datatype="html">
-        <source>EC Overwrites</source>
-        <target>Sustituciones de códigos de borrado</target>
+      <trans-unit id="c69b0bcd4698aa845d32c4c4ad488492552cb469" datatype="html">
+        <source>A new crush ruleset will be implicitly created.</source>
+        <target>A new crush ruleset will be implicitly created.</target>
       </trans-unit>
-      <trans-unit id="f1abafaeb40ce52355ddcc24686e3cd17b64e08a" datatype="html">
-        <source>Applications</source>
-        <target>Aplicaciones</target>
+      <trans-unit id="896e9987db5e9bb279e6deed5d2dff28c242ef66" datatype="html">
+        <source>There are no rules.</source>
+        <target>There are no rules.</target>
+      </trans-unit>
+      <trans-unit id="73a6b31116b3cc322af951daa0bafdc169e6c42e" datatype="html">
+        <source>-- Select a crush rule --</source>
+        <target>-- Seleccione una regla de CRUSH --</target>
+      </trans-unit>
+      <trans-unit id="ea91d648f92002bc9f96d9b26b735c83ca0b53c6" datatype="html">
+        <source>This rule can't be deleted as it is in use.</source>
+        <target>This rule can't be deleted as it is in use.</target>
+      </trans-unit>
+      <trans-unit id="92da80699921e89fb19372e25b8d0f3b9fa427fc" datatype="html">
+        <source>Crush rule</source>
+        <target>Regla de CRUSH</target>
+      </trans-unit>
+      <trans-unit id="5489e9f96835f469f6f728a00d8efa88ea5bc940" datatype="html">
+        <source>Crush steps</source>
+        <target>Pasos de CRUSH</target>
+      </trans-unit>
+      <trans-unit id="fc5f5496a9e50fe69e1a09784f28d94944108294" datatype="html">
+        <source>Rule is not in use.</source>
+        <target>Rule is not in use.</target>
+      </trans-unit>
+      <trans-unit id="023d6f718770d2ea4ab8cabe26b0ec27ef967ec2" datatype="html">
+        <source>Used by pools</source>
+        <target>Used by pools</target>
+      </trans-unit>
+      <trans-unit id="104a0e6900d1d1b0c8cf9e5947e36edb352583fc" datatype="html">
+        <source>The rule can't be used in the current cluster as it has
+                  too few OSDs to meet the minimum required OSD by this rule.</source>
+        <target>The rule can't be used in the current cluster as it has
+                  too few OSDs to meet the minimum required OSD by this rule.</target>
       </trans-unit>
       <trans-unit id="2208d63d5940ce656006a220102b1eb2b5e553da" datatype="html">
         <source>Compression</source>
         <source>The value should be greater or equal to 0</source>
         <target>The value should be greater or equal to 0</target>
       </trans-unit>
+      <trans-unit id="4f8b2bb476981727ab34ed40fde1218361f92c45" datatype="html">
+        <source>Details</source>
+        <target>Detalles</target>
+      </trans-unit>
       <trans-unit id="fbbaf5cb02ed419e79a27072478f716a4666a99d" datatype="html">
         <source>Performance Details</source>
         <target>Detalles de rendimiento</target>
         <source>Cache Tiers Details</source>
         <target>Detalles de niveles de caché</target>
       </trans-unit>
+      <trans-unit id="ecbc084370a732fc3cde1966a60af78d71424ab4" datatype="html">
+        <source>Create Bootstrap Token</source>
+        <target>Create Bootstrap Token</target>
+      </trans-unit>
+      <trans-unit id="603e9cc3ef2aab57f2b0a00e465b23b9cabefd9c" datatype="html">
+        <source>To create a bootstrap token which can be imported
+          by a peer site cluster, provide the local site's name, select
+          which pools will have mirroring enabled, and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Generate
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </source>
+        <target>To create a bootstrap token which can be imported
+          by a peer site cluster, provide the local site's name, select
+          which pools will have mirroring enabled, and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Generate
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="660f97cd3188f8a04bd03b79e703fec72c6df04c" datatype="html">
+        <source>Site Name</source>
+        <target>Site Name</target>
+      </trans-unit>
+      <trans-unit id="8c2a1dc72cffaf7ab3dc5599bf77b0a7fcad2b20" datatype="html">
+        <source>At least one pool is required.</source>
+        <target>At least one pool is required.</target>
+      </trans-unit>
+      <trans-unit id="1b258b258b4cc475ceb2871305b61756b0134f4a" datatype="html">
+        <source>Generate</source>
+        <target>Generate</target>
+      </trans-unit>
+      <trans-unit id="1edc1fc6cfbbb22353050ad6788508b3ed584f53" datatype="html">
+        <source>Token</source>
+        <target>Token</target>
+      </trans-unit>
+      <trans-unit id="ff785f5596aef34a93b9b4d1023e95c62eef5740" datatype="html">
+        <source>Generated token...</source>
+        <target>Generated token...</target>
+      </trans-unit>
+      <trans-unit id="5467a6bb0e7fade6def7499400d5e2a7d8d3da20" datatype="html">
+        <source>Import Bootstrap Token</source>
+        <target>Import Bootstrap Token</target>
+      </trans-unit>
+      <trans-unit id="9bb7aee0dec5164f45c0aa2f35f2fb2149d2c1d2" datatype="html">
+        <source>To import a bootstrap token which was created
+          by a peer site cluster, provide the local site's name, select
+          which pools will have mirroring enabled, provide the generated
+          token, and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Import
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </source>
+        <target>To import a bootstrap token which was created
+          by a peer site cluster, provide the local site's name, select
+          which pools will have mirroring enabled, provide the generated
+          token, and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Import
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="9200e09686136a1d42adfb89c12fbfef2deea125" datatype="html">
+        <source>Direction</source>
+        <target>Direction</target>
+      </trans-unit>
+      <trans-unit id="9761484679958da8d12841a4efa5964d33fae575" datatype="html">
+        <source>The token is invalid.</source>
+        <target>The token is invalid.</target>
+      </trans-unit>
+      <trans-unit id="a059709f71aa4c0ac219e160e78a738682ca6a36" datatype="html">
+        <source>Import</source>
+        <target>Import</target>
+      </trans-unit>
+      <trans-unit id="b87bd96249f8afc23f5301cddb57b1464a98e71a" datatype="html">
+        <source>Edit site name</source>
+        <target>Edit site name</target>
+      </trans-unit>
+      <trans-unit id="cfff72c667274c12eb1ff71eadc25871c10c42dc" datatype="html">
+        <source>Edit the site name and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </source>
+        <target>Edit the site name and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="40b7acea5b43f45e0bbd1efeba5200af4687981d" datatype="html">
+        <source>Site Name:</source>
+        <target>Site Name:</target>
+      </trans-unit>
       <trans-unit id="f0b5d789d42c0e69348e5fe0037fcbf5b5fbbdcc" datatype="html">
         <source>Move an image to trash</source>
         <target>Mover una imagen a la papelera</target>
       </trans-unit>
-      <trans-unit id="86301cf2044b1eda218483365f6b9de8dde5040b" datatype="html">
+      <trans-unit id="7ad22c1d4aab3b8946603cea62de266d5129ca10" datatype="html">
+        <source>This image contains snapshot(s), which will prevent it
+            from being removed after moved to trash.</source>
+        <target>This image contains snapshot(s), which will prevent it
+            from being removed after moved to trash.</target>
+      </trans-unit>
+      <trans-unit id="b4b3ced4f8aad4c446f348b14c3d94be2e2c350c" datatype="html">
         <source>To move 
           <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>
-          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>/
-          <x id="INTERPOLATION_1" equiv-text="{{ imageName }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ imageSpecStr }}"/>
           <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,
           click 
           <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image
         </source>
         <target>To move 
           <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>
-          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>/
-          <x id="INTERPOLATION_1" equiv-text="{{ imageName }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ imageSpecStr }}"/>
           <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,
           click 
           <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image
         <source>Move Image</source>
         <target>Mover imagen</target>
       </trans-unit>
+      <trans-unit id="c9f1026c1235f4d76ace47449e806efd181ab332" datatype="html">
+        <source>Deleting this image will also delete all its snapshots.</source>
+        <target>Deleting this image will also delete all its snapshots.</target>
+      </trans-unit>
+      <trans-unit id="55f864597e84d9bf88769e1fbfda1d64452430c9" datatype="html">
+        <source>The following snapshots are currently protected and will be removed:</source>
+        <target>The following snapshots are currently protected and will be removed:</target>
+      </trans-unit>
       <trans-unit id="8a9910cd114c1deb9af74f6f99b4173403965bf2" datatype="html">
         <source>Gateways</source>
         <target>Gateways</target>
         <source>Object size</source>
         <target>Tamaño del objeto</target>
       </trans-unit>
-      <trans-unit id="6cdb1fea93d77c07950c0c76c6e0ad79ebbef084" datatype="html">
-        <source>Features</source>
-        <target>Características</target>
-      </trans-unit>
       <trans-unit id="0a65771c9a73b9aa609d592fc96a64801a8f40bd" datatype="html">
         <source>Provisioned</source>
         <target>Aprovisionados</target>
         <source>-- Select a pool --</source>
         <target>-- Seleccione un repositorio --</target>
       </trans-unit>
+      <trans-unit id="d649904466254d13df1fbf2d255f0bbc6553d213" datatype="html">
+        <source>-- No namespaces available --</source>
+        <target>-- No namespaces available --</target>
+      </trans-unit>
+      <trans-unit id="e22d7bb4d2d561e0832ee0b9a3da2468a080c4f0" datatype="html">
+        <source>-- Select a namespace --</source>
+        <target>-- Select a namespace --</target>
+      </trans-unit>
       <trans-unit id="49449943d8cbf59d8c401c8bd2e76f92e207cc5f" datatype="html">
         <source>Use a dedicated data pool</source>
         <target>Usar un repositorio dedicado para datos</target>
         <source>Stripe count must be greater than 0.</source>
         <target>El recuento de repartición debe ser mayor que 0.</target>
       </trans-unit>
-      <trans-unit id="3f67f30568e9ae47507d46e28e1e82a7dca772e2" datatype="html">
-        <source>
-          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> RBD Snapshot
-        </source>
-        <target>
-          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> RBD Snapshot
-        </target>
-      </trans-unit>
-      <trans-unit id="1628d19a4490817c18be2afab410ca4adfa62ea7" datatype="html">
-        <source>{VAR_SELECT, select, true {Rename} other {Create} }</source>
-        <target>{VAR_SELECT, select, true {Renombrar} other {Crear} }</target>
+      <trans-unit id="2c07d24bb422aa8e5e568df1c5709083f0a9c8f1" datatype="html">
+        <source>Create Namespace</source>
+        <target>Create Namespace</target>
       </trans-unit>
-      <trans-unit id="73a287b41afe6b28f90edbeb98957a341a0276b4" datatype="html">
-        <source>
-          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> Snapshot
-        </source>
-        <target>
-          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> Snapshot
-        </target>
-      </trans-unit>
-      <trans-unit id="cb60c1cd3655234756b5b92d4d597d92d520ee30" datatype="html">
-        <source>PROTECTED</source>
-        <target>PROTECTED</target>
-      </trans-unit>
-      <trans-unit id="deffb86b8fb0541254ad5a43862d82bff6b6a6c4" datatype="html">
-        <source>UNPROTECTED</source>
-        <target>SIN PROTECCIÓN</target>
+      <trans-unit id="0cca6c0485f96d3a9610d0339cb1275a5f2c3f46" datatype="html">
+        <source>Namespace already exists.</source>
+        <target>Namespace already exists.</target>
       </trans-unit>
       <trans-unit id="5c5331983af566d4ac6a1024d15a3511786a4aa6" datatype="html">
         <source>You are about to rollback</source>
         <source>Purge Trash</source>
         <target>Vaciar papelera</target>
       </trans-unit>
-      <trans-unit id="af728625d769b61acf291442644b89edb88faec3" datatype="html">
-        <source>To purge, select one or All images and click</source>
-        <target>Para limpiar, seleccione una imagen, o todas las imágenes, y haga clic en</target>
+      <trans-unit id="681501eecd7f44d4b7a2f619605b36676e04c5b6" datatype="html">
+        <source>To purge, select one or</source>
+        <target>To purge, select one or</target>
+      </trans-unit>
+      <trans-unit id="dfc3c34e182ea73c5d784ff7c8135f087992dac1" datatype="html">
+        <source>All</source>
+        <target>Todas</target>
+      </trans-unit>
+      <trans-unit id="ea5d338dcef50ff5c24439fd784f6a67b594c33f" datatype="html">
+        <source>pools and click</source>
+        <target>pools and click</target>
       </trans-unit>
       <trans-unit id="55a4f598a4894b7fd5cb88f0ffd3c37ad009dd70" datatype="html">
         <source>Pool:</source>
         <source>Pool name...</source>
         <target>Nombre del repositorio...</target>
       </trans-unit>
-      <trans-unit id="dfc3c34e182ea73c5d784ff7c8135f087992dac1" datatype="html">
-        <source>All</source>
-        <target>Todas</target>
-      </trans-unit>
       <trans-unit id="b0e7c7ed1d51a0c205c815048bc9f79e24ee6db2" datatype="html">
         <source>Restore Image</source>
         <target>Restaurar imágenes</target>
           <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.
         </target>
       </trans-unit>
-      <trans-unit id="aba82bfd8e177d35b76cad7cd43941f8e5e5acac" datatype="html">
-        <source>Trash</source>
-        <target>Papelera</target>
-      </trans-unit>
       <trans-unit id="a674ab267d1934bf395f87ca1503fd474296893f" datatype="html">
         <source>iSCSI Topology</source>
         <target>Topología iSCSI</target>
       </trans-unit>
-      <trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html">
-        <source>Settings</source>
-        <target>Ajustes</target>
+      <trans-unit id="051dcc342cfa5c1eaf187a2001aaa162379a160c" datatype="html">
+        <source>Configure</source>
+        <target>Configure</target>
       </trans-unit>
       <trans-unit id="9e515f954730279c31d5301f02479666d6264e8b" datatype="html">
         <source>Changing these parameters from their default values is usually not necessary.</source>
         <target>Normalmente no es necesario cambiar los valores por defecto de estos parámetros.</target>
       </trans-unit>
+      <trans-unit id="4e2591df099ddac796cda401c5f282da779d45f2" datatype="html">
+        <source>Identifier</source>
+        <target>Identifier</target>
+      </trans-unit>
+      <trans-unit id="62480a4859976427cf18fc8ef41d3a438eda0412" datatype="html">
+        <source>lun</source>
+        <target>lun</target>
+      </trans-unit>
+      <trans-unit id="8afc9eb4405e0aa554b2ba14140ef790cdecc040" datatype="html">
+        <source>wwn</source>
+        <target>wwn</target>
+      </trans-unit>
+      <trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html">
+        <source>Settings</source>
+        <target>Ajustes</target>
+      </trans-unit>
       <trans-unit id="69a47cbabcc51ca942606e1d8da0ec11f98a2690" datatype="html">
         <source>Backstore</source>
         <target>Almacén</target>
         <source>Portals</source>
         <target>Portales</target>
       </trans-unit>
+      <trans-unit id="6a3ac2b4137d723fd9878cd357c2012ff6c07973" datatype="html">
+        <source>Add portal</source>
+        <target>Añadir portal</target>
+      </trans-unit>
       <trans-unit id="c3638c01b6c34066438909713ec96087c813fc7e" datatype="html">
         <source>At least 
           <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.
           <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.
         </target>
       </trans-unit>
-      <trans-unit id="6a3ac2b4137d723fd9878cd357c2012ff6c07973" datatype="html">
-        <source>Add portal</source>
-        <target>Añadir portal</target>
-      </trans-unit>
       <trans-unit id="9aff25be088f0efe3eaaf62edf2bff41cc41a617" datatype="html">
         <source>Backstore: 
           <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. 
         <source>This image has modified settings.</source>
         <target>Esta imagen tiene ajustes modificados.</target>
       </trans-unit>
-      <trans-unit id="107c84e820909b44fe258673938a68ced1bbff72" datatype="html">
-        <source>At least 1 image is required.</source>
-        <target>Se requiere al menos 1 imagen.</target>
+      <trans-unit id="1dff11e0820b6722ab240169f1232d70a54beaaa" datatype="html">
+        <source>Duplicated LUN numbers.</source>
+        <target>Duplicated LUN numbers.</target>
+      </trans-unit>
+      <trans-unit id="bf2dccf92ccff6e3b091792bf4205595406e1bfb" datatype="html">
+        <source>Duplicated WWN.</source>
+        <target>Duplicated WWN.</target>
       </trans-unit>
       <trans-unit id="808038f912fdc7f0e03f82d4afd3bf9178527fc8" datatype="html">
         <source>Add image</source>
         <source>Add group</source>
         <target>Añadir grupo</target>
       </trans-unit>
+      <trans-unit id="c3a7e364a88ea4673199dfa98bc73e6dbe09dfac" datatype="html">
+        <source>Namespaces</source>
+        <target>Namespaces</target>
+      </trans-unit>
+      <trans-unit id="aba82bfd8e177d35b76cad7cd43941f8e5e5acac" datatype="html">
+        <source>Trash</source>
+        <target>Papelera</target>
+      </trans-unit>
       <trans-unit id="66db799d67958d4b0765181d072df62e2d1c16f5" datatype="html">
         <source>Issues</source>
         <target>Problemas</target>
         <source>Enables versioning for the objects in the bucket.</source>
         <target>Enables versioning for the objects in the bucket.</target>
       </trans-unit>
-      <trans-unit id="92f3f203270a29b3001871153f02c063484a1574" datatype="html">
-        <source>Suspended</source>
-        <target>Suspendido</target>
+      <trans-unit id="9e6775ffd06878aa145c07359f28557f01ede04f" datatype="html">
+        <source>Multi-Factor Authentication</source>
+        <target>Multi-Factor Authentication</target>
+      </trans-unit>
+      <trans-unit id="29e8a5d4fb767d4ad0c762c81c6264cec4c0ba97" datatype="html">
+        <source>Delete enabled</source>
+        <target>Delete enabled</target>
+      </trans-unit>
+      <trans-unit id="40fbc3ac8c1ea4ecfe62247e91f1f999ad5baf76" datatype="html">
+        <source>Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state.</source>
+        <target>Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state.</target>
+      </trans-unit>
+      <trans-unit id="d24c93a8c13db46defa06ed7b5e026a3edb52b91" datatype="html">
+        <source>Token Serial Number</source>
+        <target>Token Serial Number</target>
+      </trans-unit>
+      <trans-unit id="e6d9536c2af2e5e9a228c3e3e1809dc1fefe0149" datatype="html">
+        <source>Token PIN</source>
+        <target>Token PIN</target>
+      </trans-unit>
+      <trans-unit id="7b84370895ab9eb44672f57146fa05c5947f1c0c" datatype="html">
+        <source>Locking</source>
+        <target>Locking</target>
+      </trans-unit>
+      <trans-unit id="f038d51ab1645f15b0cd58f195c72a7eeebd4729" datatype="html">
+        <source>Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket.</source>
+        <target>Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket.</target>
+      </trans-unit>
+      <trans-unit id="9af1b4baa2dd8ed2bfc3cc756b12a2271c2dd793" datatype="html">
+        <source>Compliance</source>
+        <target>Compliance</target>
+      </trans-unit>
+      <trans-unit id="edd600fa489d1b4a4448dce694ed932e52ce8fda" datatype="html">
+        <source>Governance</source>
+        <target>Governance</target>
+      </trans-unit>
+      <trans-unit id="a5c3d9d2296f7886e8289b9f623323803deacfc6" datatype="html">
+        <source>Days</source>
+        <target>Days</target>
       </trans-unit>
-      <trans-unit id="cd6a798fd0f85cd7e31a57c58074f25035d7850d" datatype="html">
-        <source>Disables versioning for the objects in the bucket.</source>
-        <target>Disables versioning for the objects in the bucket.</target>
+      <trans-unit id="218c7d6d318c51e7105309aaeb0baec9d19e4efb" datatype="html">
+        <source>The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</source>
+        <target>The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</target>
+      </trans-unit>
+      <trans-unit id="289b101ec12427b3ca819df9e43cc3b14fae2cc4" datatype="html">
+        <source>The entered value must be a positive integer.</source>
+        <target>The entered value must be a positive integer.</target>
+      </trans-unit>
+      <trans-unit id="def9fc628134d3a044b7c0ad2a83c846bdad56f1" datatype="html">
+        <source>Retention period requires either Days or Years.</source>
+        <target>Retention period requires either Days or Years.</target>
+      </trans-unit>
+      <trans-unit id="003c94fc143882ac8af6251a1595fe62978fe3e6" datatype="html">
+        <source>Years</source>
+        <target>Years</target>
+      </trans-unit>
+      <trans-unit id="14c6189ead0951f13049c7bf9af7642d0c41957a" datatype="html">
+        <source>The number of years that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</source>
+        <target>The number of years that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</target>
       </trans-unit>
       <trans-unit id="45cc8ca94b5a50842a9a8ef804a5ab089a38ae5c" datatype="html">
         <source>ID</source>
         <source>Zonegroup</source>
         <target>Grupo de zona</target>
       </trans-unit>
+      <trans-unit id="62a923f047ca49e7a4782629e91fea1ba32db68f" datatype="html">
+        <source>MFA Delete</source>
+        <target>MFA Delete</target>
+      </trans-unit>
       <trans-unit id="649a410bd0ace333d067d8fa22f12bdbdb43533b" datatype="html">
         <source>Bucket quota</source>
         <target>Cuota de papelera</target>
         <source>Email address</source>
         <target>Dirección de correo electrónico</target>
       </trans-unit>
+      <trans-unit id="92f3f203270a29b3001871153f02c063484a1574" datatype="html">
+        <source>Suspended</source>
+        <target>Suspendido</target>
+      </trans-unit>
       <trans-unit id="8011e20c5bbe51602d459a860fbf29b599b55edd" datatype="html">
         <source>System</source>
         <target>Sistema</target>
         <source>Max. buckets</source>
         <target>Máx. papeleras</target>
       </trans-unit>
-      <trans-unit id="623ac50f37a26caec6fd7cd519b653e3315cba25" datatype="html">
-        <source>The entered value must be &gt;= 0.</source>
-        <target>El valor introducido debe ser mayor o igual que 0.</target>
+      <trans-unit id="f39256070bfc0714020dfee08895421fc1527014" datatype="html">
+        <source>Disabled</source>
+        <target>Inhabilitado</target>
+      </trans-unit>
+      <trans-unit id="a5c05002b0ac2040f1aede5e727e0ffd06eda819" datatype="html">
+        <source>Custom</source>
+        <target>Personalizar</target>
+      </trans-unit>
+      <trans-unit id="28872515cb81d197a3a1733fa546d3e0f0dd6c67" datatype="html">
+        <source>The entered value must be &gt;= 1.</source>
+        <target>The entered value must be &gt;= 1.</target>
       </trans-unit>
       <trans-unit id="583a219c524155c2314eb06ee29162bb315272a3" datatype="html">
         <source>S3 key</source>
           <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>
         </target>
       </trans-unit>
+      <trans-unit id="f5a451c4ea65a4046f0b49d489a7013abf0b5861" datatype="html">
+        <source>All capabilities are already added.</source>
+        <target>All capabilities are already added.</target>
+      </trans-unit>
       <trans-unit id="6146e13ceca5fa5cc17b771b282fe5955f3d19fa" datatype="html">
         <source>Unlimited size</source>
         <target>Tamaño ilimitado</target>
         <source>Max. objects</source>
         <target>Objetos máx.</target>
       </trans-unit>
+      <trans-unit id="623ac50f37a26caec6fd7cd519b653e3315cba25" datatype="html">
+        <source>The entered value must be &gt;= 0.</source>
+        <target>El valor introducido debe ser mayor o igual que 0.</target>
+      </trans-unit>
       <trans-unit id="1ea5c4d8942c00752dcc72e72949c5d9832f6399" datatype="html">
         <source>Description...</source>
         <target>Descripción...</target>
         <source>Password confirmation doesn't match the password.</source>
         <target>Las contraseñas no coinciden.</target>
       </trans-unit>
+      <trans-unit id="96621f9ed2e4ae5204564e583d2c816bedead571" datatype="html">
+        <source>Password expiration date</source>
+        <target>Password expiration date</target>
+      </trans-unit>
+      <trans-unit id="48932db3801fe9d5d72a60a3e656bffd17c1c5d9" datatype="html">
+        <source>Password expiration date...</source>
+        <target>Password expiration date...</target>
+      </trans-unit>
       <trans-unit id="244aae9346da82b0922506c2d2581373a15641cc" datatype="html">
         <source>Email</source>
         <target>Correo electrónico</target>
         <source>Invalid email.</source>
         <target>Correo electrónico no válido.</target>
       </trans-unit>
+      <trans-unit id="8913c216dd506e20e412e144381d8d2a65a84359" datatype="html">
+        <source>User must change password at next logon</source>
+        <target>User must change password at next logon</target>
+      </trans-unit>
       <trans-unit id="0051a3479d3ba79135c16dc8cc017950a2cce821" datatype="html">
         <source>You are about to remove "user read / update" permissions from your own user.</source>
         <target>Se dispone a eliminar los permisos "lectura/actualización de usuario" de su propio usuario.</target>
         <source>Histogram</source>
         <target>Histograma</target>
       </trans-unit>
+      <trans-unit id="3d87fc20ea8e5f0f0500ba5d5061b345be78ec5e" datatype="html">
+        <source>No hostname found.</source>
+        <target>No hostname found.</target>
+      </trans-unit>
       <trans-unit id="26fb5f81b3581f06b9210defb0e71dc69a67e819" datatype="html">
         <source>Current values</source>
         <target>Valores actuales</target>
         <target>Etiquetas</target>
       </trans-unit>
       <trans-unit id="ab0089ef47af61ca1d137bc908b96c290dfd9287" datatype="html">
-        <source>Enum values</source>
-        <target>Valores Enum</target>
-      </trans-unit>
-      <trans-unit id="819476f1264f1659f38e86f6abb542141b184832" datatype="html">
-        <source>See also</source>
-        <target>Véase también</target>
-      </trans-unit>
-      <trans-unit id="d82a9af5b05e7cd17640f196f163771685ff8df6" datatype="html">
-        <source>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</source>
-        <target>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</target>
-      </trans-unit>
-      <trans-unit id="a185c9b97513b3882604ea9bab60edbfac945c15" datatype="html">
-        <source>SMART overall-health self-assessment test result</source>
-        <target>SMART overall-health self-assessment test result</target>
-      </trans-unit>
-      <trans-unit id="ddd5dd6d930030096ea617f62c82b648a0dd9484" datatype="html">
-        <source>Device Information</source>
-        <target>Device Information</target>
-      </trans-unit>
-      <trans-unit id="79c6bf990ea5b4d83bbf8f9e399f4bd933a1ebfc" datatype="html">
-        <source>S.M.A.R.T</source>
-        <target>S.M.A.R.T</target>
+        <source>Enum values</source>
+        <target>Valores Enum</target>
       </trans-unit>
-      <trans-unit id="05c17e08939cbef1a5df5386263b1701e8d5742e" datatype="html">
-        <source>S.M.A.R.T data is loading.</source>
-        <target>S.M.A.R.T data is loading.</target>
+      <trans-unit id="819476f1264f1659f38e86f6abb542141b184832" datatype="html">
+        <source>See also</source>
+        <target>Véase también</target>
       </trans-unit>
       <trans-unit id="73caac4265ea7314ff061e5a1d78a6361a6dd3b8" datatype="html">
         <source>Cluster Status</source>
         <source>MDS performance counters</source>
         <target>MDS performance counters</target>
       </trans-unit>
-      <trans-unit id="a7b6508fb834bee9e48e11e4503fbbc2d19204de" datatype="html">
-        <source>Clients: 
-          <x id="INTERPOLATION" equiv-text="{{ clients.data.length }}"/>
-        </source>
-        <target>Clients: 
-          <x id="INTERPOLATION" equiv-text="{{ clients.data.length }}"/>
-        </target>
-      </trans-unit>
       <trans-unit id="6e213942c6354b9cbe7a650f0f1499bfc1000fb6" datatype="html">
         <source>Directories</source>
         <target>Directories</target>
         <source># Sessions</source>
         <target># Sessions</target>
       </trans-unit>
+      <trans-unit id="2ea10b3668e04e057ba96ddcaf4c9b77089008ae" datatype="html">
+        <source>Unavailable gateway(s)</source>
+        <target>Unavailable gateway(s)</target>
+      </trans-unit>
       <trans-unit id="c49e0dd71d551bd4928d967d78f0721dbf9f95e3" datatype="html">
         <source>Target has active sessions</source>
         <target>Target has active sessions</target>
         <source>Progress</source>
         <target>Progreso</target>
       </trans-unit>
-      <trans-unit id="f39256070bfc0714020dfee08895421fc1527014" datatype="html">
-        <source>Disabled</source>
-        <target>Inhabilitado</target>
+      <trans-unit id="25b725dba712a7a020fd34a72297befae975a492" datatype="html">
+        <source>Edit Site Name</source>
+        <target>Edit Site Name</target>
       </trans-unit>
       <trans-unit id="8c375764db42f5d736fb56d01b8052c006ccc8e2" datatype="html">
         <source>Edit Mode</source>
         <source>Fast diff (interlocked with object-map)</source>
         <target>Fast diff (interlocked with object-map)</target>
       </trans-unit>
+      <trans-unit id="130fd872c78271a8f86b1ab16a76e823969c47d9" datatype="html">
+        <source>Namespace</source>
+        <target>Namespace</target>
+      </trans-unit>
+      <trans-unit id="14abc99daed542774633046c53b6ce8251331141" datatype="html">
+        <source>This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.</source>
+        <target>This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.</target>
+      </trans-unit>
+      <trans-unit id="51699f716cf34e6622ff7bfd84641480c045271a" datatype="html">
+        <source>Created namespace '
+          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/
+          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>'
+        </source>
+        <target>Created namespace '
+          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/
+          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>'
+        </target>
+      </trans-unit>
+      <trans-unit id="bf44b7d6379ce0198ed3d95a27642a224181bf1d" datatype="html">
+        <source>Total images</source>
+        <target>Total images</target>
+      </trans-unit>
+      <trans-unit id="371ce3ffe62548d15e391a248bc554d903bb03fc" datatype="html">
+        <source>Deleted namespace '
+          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/
+          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>'
+        </source>
+        <target>Deleted namespace '
+          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/
+          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>'
+        </target>
+      </trans-unit>
+      <trans-unit id="9d704fd00ca929f90c3119cefc581821ae58a73e" datatype="html">
+        <source>Namespace contains images</source>
+        <target>Namespace contains images</target>
+      </trans-unit>
+      <trans-unit id="c2017dc94b4f57a347ccb126e546e88942f4d7a6" datatype="html">
+        <source>RBD Snapshot</source>
+        <target>RBD Snapshot</target>
+      </trans-unit>
       <trans-unit id="631fc50ec7c9bd81dc797a3c7e09eda1178ad999" datatype="html">
         <source>Parent image must support Layering</source>
         <target>Parent image must support Layering</target>
       </trans-unit>
+      <trans-unit id="cb60c1cd3655234756b5b92d4d597d92d520ee30" datatype="html">
+        <source>PROTECTED</source>
+        <target>PROTECTED</target>
+      </trans-unit>
+      <trans-unit id="deffb86b8fb0541254ad5a43862d82bff6b6a6c4" datatype="html">
+        <source>UNPROTECTED</source>
+        <target>SIN PROTECCIÓN</target>
+      </trans-unit>
       <trans-unit id="7eb984588f4835f6d0187b33769b4b0f62821640" datatype="html">
         <source>RBD snapshot rollback</source>
         <target>Reversión de instantánea RBD</target>
         <source>Origin</source>
         <target>Origin</target>
       </trans-unit>
+      <trans-unit id="2ea2ec95d93fd55d0db6e9d2b95b25e153d4cec2" datatype="html">
+        <source>Max size</source>
+        <target>Max size</target>
+      </trans-unit>
+      <trans-unit id="665dced3a61bca44924a0bde4be47390225a4898" datatype="html">
+        <source>Max files</source>
+        <target>Max files</target>
+      </trans-unit>
+      <trans-unit id="0ccf776baac60794b142526986f3af85848c7059" datatype="html">
+        <source>The inherited 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/> is the maximum value to be used.
+        </source>
+        <target>The inherited 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/> is the maximum value to be used.
+        </target>
+      </trans-unit>
+      <trans-unit id="b0e2ef28384f2de6674cac300c779f900929a89b" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{action}}"/> CephFS 
+          <x id="INTERPOLATION_1" equiv-text="{{quotaName}}"/> quota for '
+          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>'
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{action}}"/> CephFS 
+          <x id="INTERPOLATION_1" equiv-text="{{quotaName}}"/> quota for '
+          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>'
+        </target>
+      </trans-unit>
+      <trans-unit id="542ef638499635dec7641bdc2e499258094187cc" datatype="html">
+        <source>size</source>
+        <target>size</target>
+      </trans-unit>
+      <trans-unit id="ce90ff00c341d8eef96b0e7956bb85b8faba3839" datatype="html">
+        <source>files</source>
+        <target>files</target>
+      </trans-unit>
+      <trans-unit id="fbe8b9340c08c24aef62ffe81c83e2b46a4f1495" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{quotaName}}"/> quota 
+          <x id="INTERPOLATION_1" equiv-text="{{value}}"/> from '
+          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>'
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{quotaName}}"/> quota 
+          <x id="INTERPOLATION_1" equiv-text="{{value}}"/> from '
+          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>'
+        </target>
+      </trans-unit>
+      <trans-unit id="37c2c0a4a356465eef2edfb09ffffc6db5259975" datatype="html">
+        <source>Value has to be at least 
+          <x id="INTERPOLATION" equiv-text="{{value}}"/> or more
+        </source>
+        <target>Value has to be at least 
+          <x id="INTERPOLATION" equiv-text="{{value}}"/> or more
+        </target>
+      </trans-unit>
+      <trans-unit id="73f8e64703a707e2cf98b9a10653cd3bbdd8cab1" datatype="html">
+        <source>Value has to be at most 
+          <x id="INTERPOLATION" equiv-text="{{value}}"/> or less
+        </source>
+        <target>Value has to be at most 
+          <x id="INTERPOLATION" equiv-text="{{value}}"/> or less
+        </target>
+      </trans-unit>
+      <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc" datatype="html">
+        <source>Updated</source>
+        <target>Actualizado</target>
+      </trans-unit>
+      <trans-unit id="b6a4cf4f302c7fcbec199ce0df42b8282d682b04" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{action}}"/>
+          <x id="INTERPOLATION_1" equiv-text="{{quotaValue}}"/>
+          <x id="INTERPOLATION_2" equiv-text="{{conclusion}}"/>.
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{action}}"/>
+          <x id="INTERPOLATION_1" equiv-text="{{quotaValue}}"/>
+          <x id="INTERPOLATION_2" equiv-text="{{conclusion}}"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="a40024afb071f68fec949094a71f832d5611bca5" datatype="html">
+        <source>in order to inherit 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>
+        </source>
+        <target>in order to inherit 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="c108ff588291e9c040adea2adf35e7236cf29925" datatype="html">
+        <source>which isn't used because of the inheritance of 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>
+        </source>
+        <target>which isn't used because of the inheritance of 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="d3785a64d1c72b03b2212855ce695b45ed0342d2" datatype="html">
+        <source>in order to have no quota on the directory</source>
+        <target>in order to have no quota on the directory</target>
+      </trans-unit>
+      <trans-unit id="c4d3a3446a7f36825291c5e76c4a6b7919f9bd2f" datatype="html">
+        <source>Create Snapshot</source>
+        <target>Create Snapshot</target>
+      </trans-unit>
+      <trans-unit id="e9af734e231b837d64df21008e2eb1fdff566a61" datatype="html">
+        <source>Please enter the name of the snapshot.</source>
+        <target>Please enter the name of the snapshot.</target>
+      </trans-unit>
+      <trans-unit id="8c4d3039e6a953b0d6f1b1313ffa60c5d2b35dc7" datatype="html">
+        <source>Created snapshot "
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "
+          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"
+        </source>
+        <target>Created snapshot "
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "
+          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"
+        </target>
+      </trans-unit>
+      <trans-unit id="126ad894f74ee9a999825f3f4ac5a31fdfc093bf" datatype="html">
+        <source>CephFs Snapshot</source>
+        <target>CephFs Snapshot</target>
+      </trans-unit>
+      <trans-unit id="1e4d1c0865adc485260740c42ac5af68ce8feb13" datatype="html">
+        <source>Deleted snapshot "
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "
+          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"
+        </source>
+        <target>Deleted snapshot "
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "
+          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"
+        </target>
+      </trans-unit>
       <trans-unit id="22e4e574b7f8abf58254f328792445b42e2a924a" datatype="html">
         <source>The value can be updated at runtime.</source>
         <target>El valor se puede actualizar en el tiempo de ejecución.</target>
         <source>Service</source>
         <target>Servicio</target>
       </trans-unit>
+      <trans-unit id="6986e0df8092d822ac2c076520d83994c78834fc" datatype="html">
+        <source>Modified</source>
+        <target>Modified</target>
+      </trans-unit>
       <trans-unit id="9951bb3983c7dba6fde013e05c922e4fe1a44367" datatype="html">
         <source>Current value</source>
         <target>Valor actual</target>
         <source>host</source>
         <target>host</target>
       </trans-unit>
-      <trans-unit id="9e35065e7c579e1fb960499117fd4b3c68d1c263" datatype="html">
-        <source>Host operation is disabled because orchestrator is unavailable</source>
-        <target>Host operation is disabled because orchestrator is unavailable</target>
+      <trans-unit id="b1b381321d4cef04605d3e6e8847ea2b72a03799" datatype="html">
+        <source>Identify</source>
+        <target>Identify</target>
       </trans-unit>
       <trans-unit id="a5d5e407f8c4e1b152509c966c90f37edf68472e" datatype="html">
         <source>Device path</source>
         <target>Device path</target>
       </trans-unit>
-      <trans-unit id="94e76c060aa68c05d8c4a3f5a20c92fab3e83ccf" datatype="html">
-        <source>Rotates</source>
-        <target>Rotates</target>
-      </trans-unit>
       <trans-unit id="b7da3e3505cc80f9bf3cffc8444c53e8a9ec70a5" datatype="html">
         <source>Available</source>
         <target>Available</target>
       </trans-unit>
+      <trans-unit id="396974120fc614fc930a27c8d15a094d82a3a9e4" datatype="html">
+        <source>Vendor</source>
+        <target>Vendor</target>
+      </trans-unit>
       <trans-unit id="6ec98fa3d6504ba1fd03465194b53706c8263c99" datatype="html">
         <source>Model</source>
         <target>Model</target>
       </trans-unit>
+      <trans-unit id="f2d785f5658c96c6a2f505cdd625108bcece84c3" datatype="html">
+        <source>Identify device 
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>
+        </source>
+        <target>Identify device 
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="c97ab45ca09248f8f1ba60328175741657fe39ce" datatype="html">
+        <source>Please enter the duration how long to blink the LED.</source>
+        <target>Please enter the duration how long to blink the LED.</target>
+      </trans-unit>
+      <trans-unit id="87e56ee5057023d7e8b59420b838bad112b043bc" datatype="html">
+        <source>1 minute</source>
+        <target>1 minute</target>
+      </trans-unit>
+      <trans-unit id="affa3b3bf1f36531e5ae65291f8a7cd1b06860ee" datatype="html">
+        <source>2 minutes</source>
+        <target>2 minutes</target>
+      </trans-unit>
+      <trans-unit id="878c6645b7fc26d85c7aee17a9d8c282a938dcf3" datatype="html">
+        <source>5 minutes</source>
+        <target>5 minutes</target>
+      </trans-unit>
+      <trans-unit id="aa0a76140961594b7176ade241e5025a7dbb5dce" datatype="html">
+        <source>10 minutes</source>
+        <target>10 minutes</target>
+      </trans-unit>
+      <trans-unit id="0a7f83a1f27750ef634a1f1f97263fac36113b1f" datatype="html">
+        <source>15 minutes</source>
+        <target>15 minutes</target>
+      </trans-unit>
+      <trans-unit id="699b690d686dbb8e00a1e95b89ba2fffb548da6e" datatype="html">
+        <source>Execute</source>
+        <target>Execute</target>
+      </trans-unit>
+      <trans-unit id="aa975a86dd49979a3ae90b9f3fc5b2c97311d422" datatype="html">
+        <source>Identifying '
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>' started on host '
+          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>'
+        </source>
+        <target>Identifying '
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>' started on host '
+          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="1a6e6ad05508130b7a99ce5b15daf3227c2a930c" datatype="html">
         <source>Updated options for module "
           <x id="INTERPOLATION" equiv-text="{{name}}"/>".
           <x id="INTERPOLATION" equiv-text="{{name}}"/>".
         </target>
       </trans-unit>
+      <trans-unit id="6bd47ff8707aa2e6a94a4a6e2566b86dc7956d5f" datatype="html">
+        <source>Always-On</source>
+        <target>Always-On</target>
+      </trans-unit>
       <trans-unit id="ac6c9212896d39b23811ed2dadab7d07336ec559" datatype="html">
         <source>Enable</source>
         <target>Habilitar</target>
         <source>Open Sessions</source>
         <target>Sesiones abiertas</target>
       </trans-unit>
+      <trans-unit id="34c6f45591d420b1101dcee53999d1de91c0e400" datatype="html">
+        <source>No available devices</source>
+        <target>No available devices</target>
+      </trans-unit>
+      <trans-unit id="dcfe8807a2a1d0d7074a02afe9b80645bd03b9ab" datatype="html">
+        <source>Please add primary devices first</source>
+        <target>Please add primary devices first</target>
+      </trans-unit>
+      <trans-unit id="05d024719e53f85f7f294b7e21dfd805709a0b06" datatype="html">
+        <source>Add devices by using filters</source>
+        <target>Add devices by using filters</target>
+      </trans-unit>
       <trans-unit id="37e58d1cbdf8212b380efa51422e42821d4f08e6" datatype="html">
         <source>No In</source>
         <target>No incluir</target>
         <source>Backfilling of PGs is suspended</source>
         <target>La reposición de grupos de colocación se suspende</target>
       </trans-unit>
+      <trans-unit id="df526de2b93c4099a30c200ef551608e39ee5256" datatype="html">
+        <source>No Rebalance</source>
+        <target>No Rebalance</target>
+      </trans-unit>
+      <trans-unit id="c5b70346245f8d52b58e5e7fe222ce82f12429ce" datatype="html">
+        <source>OSD will choose not to backfill unless PG is also degraded</source>
+        <target>OSD will choose not to backfill unless PG is also degraded</target>
+      </trans-unit>
       <trans-unit id="7fbbd036394cfa623add40299757bc87df8eaa7e" datatype="html">
         <source>No Recover</source>
         <target>No recuperar</target>
         <source>Updated OSD Flags</source>
         <target>Indicadores de OSD actualizados</target>
       </trans-unit>
+      <trans-unit id="948758e1412bb2ecdb98e3a4f1cbb6d7458456f2" datatype="html">
+        <source>Encryption</source>
+        <target>Encryption</target>
+      </trans-unit>
+      <trans-unit id="c8b1475105463088593de1022ff6dceb523eae0e" datatype="html">
+        <source>OSD</source>
+        <target>OSD</target>
+      </trans-unit>
       <trans-unit id="688578fcc739d6f0c5fb6c366dbb19d21c6d9e36" datatype="html">
         <source>out</source>
         <target>excluir</target>
         <source>Purge</source>
         <target>Limpiar</target>
       </trans-unit>
-      <trans-unit id="c8b1475105463088593de1022ff6dceb523eae0e" datatype="html">
-        <source>OSD</source>
-        <target>OSD</target>
-      </trans-unit>
       <trans-unit id="4f3cff08c7033b63bbccfe66006b1bcaea48ddd8" datatype="html">
         <source>purged</source>
         <target>limpiado</target>
         <source>destroyed</source>
         <target>destruido</target>
       </trans-unit>
+      <trans-unit id="70ef158c584bafe788e319a0bffa11b02ee9abf1" datatype="html">
+        <source>delete</source>
+        <target>suprimir</target>
+      </trans-unit>
+      <trans-unit id="a5b387f5a15b95e339df10fc23526c659a2b6c6f" datatype="html">
+        <source>deleted</source>
+        <target>deleted</target>
+      </trans-unit>
       <trans-unit id="107614b994f2b01abdc1ca179bf780b0cd933ec4" datatype="html">
         <source>Recovery Priority</source>
         <target>Recovery Priority</target>
         <source>Read bytes</source>
         <target>Bytes de lectura</target>
       </trans-unit>
-      <trans-unit id="ecbe2fdca919499125bc42c2c67cedae8563db1c" datatype="html">
-        <source>Writes bytes</source>
+      <trans-unit id="f15bf7f588f09ca79795b17bc244e8d336f28171" datatype="html">
+        <source>Write bytes</source>
         <target>Bytes de escritura</target>
       </trans-unit>
       <trans-unit id="f3c33322823c846b13f59ba2c8f234405bba99e1" datatype="html">
         <source>Write ops</source>
         <target>Operaciones de escritura</target>
       </trans-unit>
+      <trans-unit id="b27d1dd31789610130b7cdbf88c4da552cffe936" datatype="html">
+        <source>Edit OSD: 
+          <x id="INTERPOLATION" equiv-text="{{id}}"/>
+        </source>
+        <target>Edit OSD: 
+          <x id="INTERPOLATION" equiv-text="{{id}}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="986f1379580078e77666d10f8ddf4f839c6ca71d" datatype="html">
+        <source>Edit OSD</source>
+        <target>Edit OSD</target>
+      </trans-unit>
+      <trans-unit id="a4b09e2fa39c3e4f1a387f191fbae4eea3ce7bf5" datatype="html">
+        <source>Updated OSD "
+          <x id="INTERPOLATION" equiv-text="{{id}}"/>"
+        </source>
+        <target>Updated OSD "
+          <x id="INTERPOLATION" equiv-text="{{id}}"/>"
+        </target>
+      </trans-unit>
       <trans-unit id="d45455406092f58e6b089cb440b5b7934b801a01" datatype="html">
         <source>Mark OSD 
           <x id="INTERPOLATION" equiv-text="{{markAction}}"/>
         <source>Recovery Sleep</source>
         <target>Reposo de recuperación</target>
       </trans-unit>
-      <trans-unit id="a5c05002b0ac2040f1aede5e727e0ffd06eda819" datatype="html">
-        <source>Custom</source>
-        <target>Personalizar</target>
-      </trans-unit>
       <trans-unit id="89553524f4e7db5c437b07dcfdc7b831d56ded1a" datatype="html">
         <source>Updated OSD recovery speed priority "
           <x id="INTERPOLATION" equiv-text="{{value}}"/>"
           <x id="INTERPOLATION_1" equiv-text="{{id}}"/>
         </target>
       </trans-unit>
-      <trans-unit id="9836e830d0219585b36d53be00a31c3d4798a4aa" datatype="html">
-        <source>Smartctl has received an unknown argument (error code
-          <x id="INTERPOLATION" equiv-text="{{smartData.smartctl_error_code}}"/>). You may be using an
-                incompatible version of smartmontools. Version &gt;= 7.0 of
-                smartmontools is required to succesfully retrieve data.
-        </source>
-        <target>Smartctl has received an unknown argument (error code
-          <x id="INTERPOLATION" equiv-text="{{smartData.smartctl_error_code}}"/>). You may be using an
-                incompatible version of smartmontools. Version &gt;= 7.0 of
-                smartmontools is required to succesfully retrieve data.
-        </target>
-      </trans-unit>
-      <trans-unit id="d5fd840374ca1a6f394bcd81f390a6dca27f8224" datatype="html">
-        <source>An error with error code 
-          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.
-        </source>
-        <target>An error with error code 
-          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.
-        </target>
-      </trans-unit>
-      <trans-unit id="a0b59d7139692bb8d8ed786b6eb6e9e70ce743f3" datatype="html">
-        <source>Raw</source>
-        <target>Raw</target>
-      </trans-unit>
-      <trans-unit id="2f3beddc8234b30fb26a7f63ba2f1ea74f2ed6f7" datatype="html">
-        <source>Threshold</source>
-        <target>Threshold</target>
-      </trans-unit>
-      <trans-unit id="4654b5a68af3c8bad29aa14ca85ccea1f3143c6b" datatype="html">
-        <source>When Failed</source>
-        <target>When Failed</target>
-      </trans-unit>
-      <trans-unit id="5b7f56d5be49fb8e8d8f40209d6746f8f72e9177" datatype="html">
-        <source>Worst</source>
-        <target>Worst</target>
-      </trans-unit>
-      <trans-unit id="1edb8e46b0fac57c5feb3d7d3585afc0122d5481" datatype="html">
-        <source>Create silence</source>
-        <target>Create silence</target>
+      <trans-unit id="3bc2d18913479965cb046ec75e2ac3f7b7a77ce5" datatype="html">
+        <source>Create Silence</source>
+        <target>Create Silence</target>
       </trans-unit>
       <trans-unit id="78917e8031aaf913ac3fa63295325ce8879703ce" datatype="html">
         <source>Job</source>
         <source>URL</source>
         <target>URL</target>
       </trans-unit>
+      <trans-unit id="d9f726c70aeba7fa6d3d68bff718abe78b1e50ac" datatype="html">
+        <source>Query</source>
+        <target>Query</target>
+      </trans-unit>
       <trans-unit id="a5cd682a8a33bdc72e093d059429e3cc3a50ec1d" datatype="html">
         <source>silence</source>
         <target>silence</target>
         <source>Created by</source>
         <target>Created by</target>
       </trans-unit>
-      <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc" datatype="html">
-        <source>Updated</source>
-        <target>Actualizado</target>
-      </trans-unit>
       <trans-unit id="8d833cceee0ba4c5161b130365e02bc1e129b57e" datatype="html">
         <source>Ends</source>
         <target>Ends</target>
         <source>Silence</source>
         <target>Silence</target>
       </trans-unit>
-      <trans-unit id="f392abfbb997402ce2aebb13e660a8f01dec54db" datatype="html">
-        <source>Service type</source>
-        <target>Service type</target>
+      <trans-unit id="f2ea47d702c7f5e3e5fa751bf9959e21030b72e6" datatype="html">
+        <source>Daemon type</source>
+        <target>Daemon type</target>
       </trans-unit>
-      <trans-unit id="9ffa91b056fb979786627885651e19c8275675cd" datatype="html">
-        <source>Service instance</source>
-        <target>Service instance</target>
+      <trans-unit id="6c131968e6ab730d86443e6fc11c5cc2a76d7bac" datatype="html">
+        <source>Daemon ID</source>
+        <target>Daemon ID</target>
       </trans-unit>
-      <trans-unit id="b5910192a9ac4816638ff6383b03f986ff965796" datatype="html">
-        <source>Container id</source>
-        <target>Container id</target>
+      <trans-unit id="5738f0ca7ddd9594058ce051b1d5d576e2782825" datatype="html">
+        <source>Container ID</source>
+        <target>Container ID</target>
       </trans-unit>
-      <trans-unit id="60ab9cce12a56cdc5ec6a1b699f8c7afecd629d5" datatype="html">
-        <source>Rados config location</source>
-        <target>Rados config location</target>
+      <trans-unit id="78ebcf850cd440c5efc15e6a3a522ae75aeff669" datatype="html">
+        <source>Container Image name</source>
+        <target>Container Image name</target>
       </trans-unit>
-      <trans-unit id="dfa409f831c9168a377bdee02c5ea6aaf9b2bf61" datatype="html">
-        <source>Service URL</source>
-        <target>Service URL</target>
+      <trans-unit id="ea0c7ab9a7bdf646d494abf8c85fbf67d934d079" datatype="html">
+        <source>Container Image ID</source>
+        <target>Container Image ID</target>
       </trans-unit>
       <trans-unit id="bf2468fd965b8a59c135ad549b3a612aa9873abc" datatype="html">
         <source>Status Description</source>
         <target>Status Description</target>
       </trans-unit>
+      <trans-unit id="19867330bdc84096f5a93ab087a1766476c8a074" datatype="html">
+        <source>Last Refreshed</source>
+        <target>Last Refreshed</target>
+      </trans-unit>
+      <trans-unit id="2349ee2027ab6ceb3e4b8834928562075b7e1ac7" datatype="html">
+        <source>Container image name</source>
+        <target>Container image name</target>
+      </trans-unit>
+      <trans-unit id="3c475503fb93338811af6b3d9ccacca1d7334609" datatype="html">
+        <source>Container image ID</source>
+        <target>Container image ID</target>
+      </trans-unit>
+      <trans-unit id="8dd15f6c73c05a8b0bd7b6d416487ab6570b88c8" datatype="html">
+        <source>Running</source>
+        <target>Running</target>
+      </trans-unit>
       <trans-unit id="fb2e1bed329dc5b84197808c778abb9edcbdb335" datatype="html">
         <source>Used</source>
         <target>Usado</target>
         <source>NFS export</source>
         <target>NFS export</target>
       </trans-unit>
+      <trans-unit id="c56d51748965db5f3966cd1d06a1c9f4b5244931" datatype="html">
+        <source>Crush Rule</source>
+        <target>Crush Rule</target>
+      </trans-unit>
       <trans-unit id="ae128527ec18892f812a62a1fd15dc50a38060c0" datatype="html">
         <source>EC Profile</source>
         <target>EC Profile</target>
         <source>erasure code profile</source>
         <target>perfil de código de borrado</target>
       </trans-unit>
+      <trans-unit id="ae48e19a9a2acaca4b5ea594451bc9b0b01ec8d2" datatype="html">
+        <source>crush rule</source>
+        <target>crush rule</target>
+      </trans-unit>
       <trans-unit id="112d356ad6846959ca4aa5ec9a1f0d9d473b24ec" datatype="html">
         <source>Replica Size</source>
         <target>Tamaño de réplica</target>
         <source>Crush Ruleset</source>
         <target>Conjunto de reglas de CRUSH</target>
       </trans-unit>
-      <trans-unit id="f15bf7f588f09ca79795b17bc244e8d336f28171" datatype="html">
-        <source>Write bytes</source>
-        <target>Bytes de escritura</target>
-      </trans-unit>
       <trans-unit id="bcc365a084b6145b941b371bd4c2b6c3d2c79234" datatype="html">
         <source>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</source>
         <target>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</target>
         <source>Swift Key</source>
         <target>Swift Key</target>
       </trans-unit>
+      <trans-unit id="6462d8f12b427c29363f00b12f20f566be24937c" datatype="html">
+        <source>Device ID</source>
+        <target>Device ID</target>
+      </trans-unit>
+      <trans-unit id="82f12bf23db4bb82db89877bebe93954bc1c8fb0" datatype="html">
+        <source>State of Health</source>
+        <target>State of Health</target>
+      </trans-unit>
+      <trans-unit id="7bd34bd120146afef0e0d8fa168d9bdabd594b6a" datatype="html">
+        <source>Good</source>
+        <target>Good</target>
+      </trans-unit>
+      <trans-unit id="31c59dce114ec0a9d02552ef7b81920b3de36793" datatype="html">
+        <source>Bad</source>
+        <target>Bad</target>
+      </trans-unit>
+      <trans-unit id="2862af5284f66d4b06bdcf77a5519141723b6989" datatype="html">
+        <source>Stale</source>
+        <target>Stale</target>
+      </trans-unit>
+      <trans-unit id="8d8e819b52984a4fbdec75a99eb28d1ae4323bbc" datatype="html">
+        <source>Life Expectancy</source>
+        <target>Life Expectancy</target>
+      </trans-unit>
+      <trans-unit id="72d9b15be18ea063e78c4e855b9e8c0af95593ef" datatype="html">
+        <source>Prediction Creation Date</source>
+        <target>Prediction Creation Date</target>
+      </trans-unit>
+      <trans-unit id="a6b4ef85e5ff8bd192751c7bbebc54c46118d6d4" datatype="html">
+        <source>Device Name</source>
+        <target>Device Name</target>
+      </trans-unit>
+      <trans-unit id="d5fd840374ca1a6f394bcd81f390a6dca27f8224" datatype="html">
+        <source>An error with error code 
+          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.
+        </source>
+        <target>An error with error code 
+          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.
+        </target>
+      </trans-unit>
+      <trans-unit id="a0b59d7139692bb8d8ed786b6eb6e9e70ce743f3" datatype="html">
+        <source>Raw</source>
+        <target>Raw</target>
+      </trans-unit>
+      <trans-unit id="2f3beddc8234b30fb26a7f63ba2f1ea74f2ed6f7" datatype="html">
+        <source>Threshold</source>
+        <target>Threshold</target>
+      </trans-unit>
+      <trans-unit id="4654b5a68af3c8bad29aa14ca85ccea1f3143c6b" datatype="html">
+        <source>When Failed</source>
+        <target>When Failed</target>
+      </trans-unit>
+      <trans-unit id="5b7f56d5be49fb8e8d8f40209d6746f8f72e9177" datatype="html">
+        <source>Worst</source>
+        <target>Worst</target>
+      </trans-unit>
       <trans-unit id="1481b8488e10dbc437accce89d2ae35a0106e8ba" datatype="html">
         <source>Scope</source>
         <target>Ámbito</target>
           <x id="INTERPOLATION" equiv-text="{{role_name}}"/>'
         </target>
       </trans-unit>
+      <trans-unit id="bd15b8d5c0fa160161728eefbbb585710414d471" datatype="html">
+        <source>New name</source>
+        <target>New name</target>
+      </trans-unit>
+      <trans-unit id="6f126277f3dc22a3ab3609c4c198386c8744e11a" datatype="html">
+        <source>Clone Role</source>
+        <target>Clone Role</target>
+      </trans-unit>
+      <trans-unit id="d19d8320479854bc52877cdf0dc5ecfe34a36ec7" datatype="html">
+        <source>Cloned role '
+          <x id="INTERPOLATION" equiv-text="{{dst_name}}"/>' from '
+          <x id="INTERPOLATION_1" equiv-text="{{src_name}}"/>'
+        </source>
+        <target>Cloned role '
+          <x id="INTERPOLATION" equiv-text="{{dst_name}}"/>' from '
+          <x id="INTERPOLATION_1" equiv-text="{{src_name}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="2e35d60a14ce0b470e8b54602864a867f7fcef40" datatype="html">
         <source>There are no roles.</source>
         <target>There are no roles.</target>
         <source>Updated user password"</source>
         <target>Updated user password"</target>
       </trans-unit>
+      <trans-unit id="c4e596a44ffc4718c1602600d6e4f029190eb031" datatype="html">
+        <source>The name of the node under which data should be placed.</source>
+        <target>The name of the node under which data should be placed.</target>
+      </trans-unit>
+      <trans-unit id="f24772ba1091155f8d7025332ca8456a204d1e28" datatype="html">
+        <source>The type of CRUSH nodes across which we should separate replicas.</source>
+        <target>The type of CRUSH nodes across which we should separate replicas.</target>
+      </trans-unit>
+      <trans-unit id="a3896042af461a80091c3f7a5fe3fff5ac40a3a0" datatype="html">
+        <source>The device class data should be placed on.</source>
+        <target>The device class data should be placed on.</target>
+      </trans-unit>
       <trans-unit id="1d7fbcc3d5efc946ffbcf86fed04c4e20dda20fb" datatype="html">
         <source>Each object is split in data-chunks parts, each stored on a different OSD.</source>
         <target>Cada objeto se divide en porciones de datos, cada una almacenada en un OSD distinto.</target>
         <source>Success</source>
         <target>Success</target>
       </trans-unit>
+      <trans-unit id="61fd1cffcb763cbfd5829071723cf9b647174bd9" datatype="html">
+        <source>An error occurred.</source>
+        <target>An error occurred.</target>
+      </trans-unit>
       <trans-unit id="e6ca3c0efaf51e6d45a7f92f58bac37140c3fda4" datatype="html">
         <source>Last 5 minutes</source>
         <target>Últimos 5 minutos</target>
         <source>There are no items available.</source>
         <target>No hay ningún elemento disponible.</target>
       </trans-unit>
-      <trans-unit id="f6755cff4957d5c3c89bafce5651f1b6fa2b1fd9" datatype="html">
-        <source>Add</source>
-        <target>Añadir</target>
+      <trans-unit id="55dd9f44e64851bca3b7bfc9283a5ff36f030228" datatype="html">
+        <source>Set</source>
+        <target>Set</target>
       </trans-unit>
       <trans-unit id="019d4bd6a5690f0cfa0ecf346a4e6bf7f0d8debb" datatype="html">
         <source>Remove</source>
         <target>Remove</target>
       </trans-unit>
+      <trans-unit id="e168fe6c468b3ad632731395ef89860274242844" datatype="html">
+        <source>Unset</source>
+        <target>Unset</target>
+      </trans-unit>
       <trans-unit id="54a4a3132b693575728a45a5f3154ad4c9af404b" datatype="html">
         <source>Clone</source>
         <target>Clonar</target>
         <source>No</source>
         <target>No</target>
       </trans-unit>
+      <trans-unit id="baf918eed9d4050cdad2acebc0f27b6eaf8e3fcd" datatype="html">
+        <source>Required rules for passwords:</source>
+        <target>Required rules for passwords:</target>
+      </trans-unit>
+      <trans-unit id="40f61909e1f017c4652e64b055089beef19cf871" datatype="html">
+        <source>Must contain at least 
+          <x id="INTERPOLATION" equiv-text="{{length}}"/> characters
+        </source>
+        <target>Must contain at least 
+          <x id="INTERPOLATION" equiv-text="{{length}}"/> characters
+        </target>
+      </trans-unit>
+      <trans-unit id="f4f5dbb3a05b5f38dab47ef38dad88a4574a765a" datatype="html">
+        <source>Must not be the same as the previous one</source>
+        <target>Must not be the same as the previous one</target>
+      </trans-unit>
+      <trans-unit id="607370e07b50087c196a5fcea9184e3d693226b2" datatype="html">
+        <source>Cannot contain the username</source>
+        <target>Cannot contain the username</target>
+      </trans-unit>
+      <trans-unit id="e6e355eab2596251aaa42623b41e6026d5c03e3b" datatype="html">
+        <source>Cannot contain any configured keyword</source>
+        <target>Cannot contain any configured keyword</target>
+      </trans-unit>
+      <trans-unit id="394bcd6d5e4da75b720c4d28f94f2aef7bb38355" datatype="html">
+        <source>Cannot contain any repetitive characters e.g. "aaa"</source>
+        <target>Cannot contain any repetitive characters e.g. "aaa"</target>
+      </trans-unit>
+      <trans-unit id="030e61e0bcf2536fb047645db6182d43e9fca9e9" datatype="html">
+        <source>Cannot contain any sequential characters e.g. "abc"</source>
+        <target>Cannot contain any sequential characters e.g. "abc"</target>
+      </trans-unit>
       <trans-unit id="99fa0b67376d40142bd4d3ace3344abf4f98b6a5" datatype="html">
         <source>Your matcher seems to match no currently defined rule or active alert.</source>
         <target>Your matcher seems to match no currently defined rule or active alert.</target>
         <source>Deleting</source>
         <target>Suprimiendo</target>
       </trans-unit>
-      <trans-unit id="70ef158c584bafe788e319a0bffa11b02ee9abf1" datatype="html">
-        <source>delete</source>
-        <target>suprimir</target>
-      </trans-unit>
       <trans-unit id="d07a282afc7fbdb39cea6e1c9b544882a7260a86" datatype="html">
         <source>Adding</source>
         <target>Adding</target>
         <source>remove</source>
         <target>remove</target>
       </trans-unit>
+      <trans-unit id="0e21237afdc84ec360c374fa678d9b1cfaa334f9" datatype="html">
+        <source>Importing</source>
+        <target>Importing</target>
+      </trans-unit>
+      <trans-unit id="c6b4128c006f4cc0564137e1a1482b5c432aa347" datatype="html">
+        <source>import</source>
+        <target>import</target>
+      </trans-unit>
+      <trans-unit id="3b9f4138abbca0fd66db1f7332f4b54e2a6d916d" datatype="html">
+        <source>Imported</source>
+        <target>Imported</target>
+      </trans-unit>
       <trans-unit id="3f757cfc3749ebb5d4462017cb60138ca082f15f" datatype="html">
         <source>RBD '
           <x id="INTERPOLATION" equiv-text="{{id}}"/>'
           <x id="INTERPOLATION" equiv-text="{{id}}"/>'
         </target>
       </trans-unit>
+      <trans-unit id="2bf18ddf3785f7afb4f01dcf63d3d8c40f4bfba5" datatype="html">
+        <source>mirroring site name</source>
+        <target>mirroring site name</target>
+      </trans-unit>
+      <trans-unit id="167b73bb24b4695614ce0fc567b7a45080457a44" datatype="html">
+        <source>bootstrap token</source>
+        <target>bootstrap token</target>
+      </trans-unit>
       <trans-unit id="4fb54a0291f49583c317d4a3690239141b5a8f68" datatype="html">
         <source>mirror mode for pool '
           <x id="INTERPOLATION" equiv-text="{{id}}"/>'
         <source>all dashboards</source>
         <target>all dashboards</target>
       </trans-unit>
+      <trans-unit id="6c19652df9249c60827044ed6274933cab180c63" datatype="html">
+        <source>OSDs (DriveGroups: 
+          <x id="INTERPOLATION" equiv-text="{{tracking_id}}"/>)
+        </source>
+        <target>OSDs (DriveGroups: 
+          <x id="INTERPOLATION" equiv-text="{{tracking_id}}"/>)
+        </target>
+      </trans-unit>
       <trans-unit id="1b559dbd9cc9664fd788c2da9a10d3abafe066cb" datatype="html">
         <source>Name is already used by 
           <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.
           <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.
         </target>
       </trans-unit>
+      <trans-unit id="460f07780389d24c6a540c007c7367a56afad585" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> is busy.
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> is busy.
+        </target>
+      </trans-unit>
       <trans-unit id="1ff7676ad1e991102224540a32dd44ad1ab88aa8" datatype="html">
         <source>
           <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.
         <source>Cannot disable mirroring because it contains a peer.</source>
         <target>No es posible inhabilitar la duplicación porque contiene un par</target>
       </trans-unit>
+      <trans-unit id="5c4525a1b76ca54d1aadeaecfdb83aedc2eec6e0" datatype="html">
+        <source>Identifying</source>
+        <target>Identifying</target>
+      </trans-unit>
+      <trans-unit id="ffd067e54a061d1f27cb35f0cf67ef7f29e19111" datatype="html">
+        <source>identify</source>
+        <target>identify</target>
+      </trans-unit>
+      <trans-unit id="7c921f339274688c22ba1acac7af6b097ad3599d" datatype="html">
+        <source>Identified</source>
+        <target>Identified</target>
+      </trans-unit>
+      <trans-unit id="3307492c27c2150cd26c514030444e11fd61089f" datatype="html">
+        <source>device '
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>' on host '
+          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>'
+        </source>
+        <target>device '
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>' on host '
+          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="f123ae1fc3b000e5d08e766dd78bff162afe709d" datatype="html">
         <source>host '
           <x id="INTERPOLATION" equiv-text="{{hostname}}"/>'
           <x id="INTERPOLATION" equiv-text="{{hostname}}"/>'
         </target>
       </trans-unit>
+      <trans-unit id="c1af76189dcefd094da2bc1a4a63968f3bab5789" datatype="html">
+        <source>OSD '
+          <x id="INTERPOLATION" equiv-text="{{svc_id}}"/>'
+        </source>
+        <target>OSD '
+          <x id="INTERPOLATION" equiv-text="{{svc_id}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="dfe70001dc590a9e12512cbb206aa29fb36fd00b" datatype="html">
         <source>pool '
           <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>'
           <x id="INTERPOLATION" equiv-text="{{name}}"/>'
         </target>
       </trans-unit>
+      <trans-unit id="79052d6c47258dc19ada12dbb2563761102b6f1d" datatype="html">
+        <source>crush rule '
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>'
+        </source>
+        <target>crush rule '
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="369462e5e018360e0600bb570866201ad5c3c8a8" datatype="html">
         <source>target '
           <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>'
           <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>
         </target>
       </trans-unit>
-      <trans-unit id="54bf6542e39412f83ec883266f443e31b304c937" datatype="html">
-        <source>Required rules for password complexity:
-    - must contain at least 8 characters
-    - cannot contain username
-    - cannot contain any keyword used in Ceph
-    - cannot contain any repetitive characters e.g. "aaa"
-    - cannot contain any sequencial characters e.g. "abc"
-    - must consist of characters from the following groups:
-      * alphabetic a-z, A-Z
-      * numbers 0-9
-      * special chars: !"#$%&amp; '()*+,-./:;&lt;=&gt;?@[\]^_`
-          <x id="INTERPOLATION" equiv-text="{{|}}"/>~
-      * any other characters (signs)
-        </source>
-        <target>Required rules for password complexity:
-    - must contain at least 8 characters
-    - cannot contain username
-    - cannot contain any keyword used in Ceph
-    - cannot contain any repetitive characters e.g. "aaa"
-    - cannot contain any sequencial characters e.g. "abc"
-    - must consist of characters from the following groups:
-      * alphabetic a-z, A-Z
-      * numbers 0-9
-      * special chars: !"#$%&amp; '()*+,-./:;&lt;=&gt;?@[\]^_`
-          <x id="INTERPOLATION" equiv-text="{{|}}"/>~
-      * any other characters (signs)
-        </target>
-      </trans-unit>
-      <trans-unit id="ba575e9364b43dc870e332265c5182bb357b7a49" datatype="html">
-        <source>Weak</source>
-        <target>Weak</target>
-      </trans-unit>
-      <trans-unit id="7e6c975ebea8b5f8b120905ca7acf9f8edf59d8e" datatype="html">
-        <source>OK</source>
-        <target>OK</target>
-      </trans-unit>
-      <trans-unit id="3f7349017a01eed18c3daf2b7295ca96ef442eb6" datatype="html">
-        <source>Strong</source>
-        <target>Strong</target>
-      </trans-unit>
-      <trans-unit id="a1e3aecc2022cb0ebed8575a24d0e29d2de815c6" datatype="html">
-        <source>Very strong</source>
-        <target>Very strong</target>
-      </trans-unit>
     </body>
   </file>
 </xliff>
\ No newline at end of file
index d30599fe9938de6284b42d15eb9d853ad6b97f9a..f8a89593465f397645dba84d3ddff60a31533715 100644 (file)
         <source>Logs</source>
         <target>Journaux</target>
       </trans-unit>
-      <trans-unit id="9fe218829514884cdd0ca2300573a4e0428c324f" datatype="html">
-        <source>Alerts</source>
-        <target>Alertes</target>
-      </trans-unit>
-      <trans-unit id="aa0c44aa1e5727061baa91e954f77e2f5f9a37c9" datatype="html">
-        <source>Silences</source>
-        <target>Silences</target>
+      <trans-unit id="17fc3efe5f9fa4e0289c900cb6202265215a1a27" datatype="html">
+        <source>Monitoring</source>
+        <target>Monitoring</target>
       </trans-unit>
       <trans-unit id="92899fa68e8ca108912163ff58edc8540e453787" datatype="html">
         <source>Pools</source>
         <source>Back</source>
         <target>Retour</target>
       </trans-unit>
+      <trans-unit id="9ce641535be1ffa106c87724ba0637facaef5f61" datatype="html">
+        <source>Your password will expire in 
+          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>less than 1
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day. Click
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.
+        </source>
+        <target>Your password will expire in 
+          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>less than 1
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day. Click
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.
+        </target>
+      </trans-unit>
+      <trans-unit id="c2f34088c155e40ffb23770a465a65868ce772b2" datatype="html">
+        <source>Your password will expire in 
+          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
+          <x id="INTERPOLATION" equiv-text="{{ expirationDays }}"/>
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day(s). Click
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.
+        </source>
+        <target>Your password will expire in 
+          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
+          <x id="INTERPOLATION" equiv-text="{{ expirationDays }}"/>
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day(s). Click
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.
+        </target>
+      </trans-unit>
+      <trans-unit id="9b516f972c744779257310b73f6e97438b726707" datatype="html">
+        <source>Orchestrator is not available. Please consult the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to
+  configure and enable the functionality.
+        </source>
+        <target>Orchestrator is not available. Please consult the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to
+  configure and enable the functionality.
+        </target>
+      </trans-unit>
       <trans-unit id="012741ee52b3c050e4a977c37cc2334f7974f141" datatype="html">
         <source>Failed to load data.</source>
         <target>Échec du chargement des données.</target>
       </trans-unit>
+      <trans-unit id="1e5e23363e949f7dcbaf034bdb141a561132a10e" datatype="html">
+        <source>Clear filters</source>
+        <target>Clear filters</target>
+      </trans-unit>
       <trans-unit id="80cc9a12d4bf6fe454ed94b379eeaf915f920bb7" datatype="html">
         <source>selected</source>
         <target>sélectionné(e)(s)</target>
         <source>Values</source>
         <target>Valeurs</target>
       </trans-unit>
+      <trans-unit id="5894f7158499fdb89527af50c9f1cf7d4c95cad6" datatype="html">
+        <source>-- Default --</source>
+        <target>-- Default --</target>
+      </trans-unit>
+      <trans-unit id="514f6e12d035a6d9b00de6b3e55c18b73488da07" datatype="html">
+        <source>true</source>
+        <target>true</target>
+      </trans-unit>
+      <trans-unit id="774f5e6a183dea08393789b6f72e86afad729419" datatype="html">
+        <source>false</source>
+        <target>false</target>
+      </trans-unit>
       <trans-unit id="82029b6db704c56a2aa3e82ac555b8655356b077" datatype="html">
         <source>The entered value is too high! It must not be greater than 
           <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.
         <source>Cancel</source>
         <target>Annuler</target>
       </trans-unit>
+      <trans-unit id="55a2f26b2e87886d9b8015a887e38e51ab2a866a" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>
+          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>
+          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8" datatype="html">
+        <source>Close</source>
+        <target>Fermer</target>
+      </trans-unit>
       <trans-unit id="40661476cb24c89d8b06614998e31d5fbe84eeb6" datatype="html">
         <source>Hosts List</source>
         <target>Liste d'hôtes</target>
         <source>Overall Performance</source>
         <target>Performance globale</target>
       </trans-unit>
-      <trans-unit id="6bc15dc1a621b6ff7378db7fd3ac10b2a2627c77" datatype="html">
-        <source>Please consult the
-          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
-          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to
-  configure and enable the orchestrator functionality.
-        </source>
-        <target>Please consult the
-          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
-          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to
-  configure and enable the orchestrator functionality.
-        </target>
-      </trans-unit>
       <trans-unit id="3e24569eca61d598c8b01defbbbb1fa8bd5222bc" datatype="html">
         <source>Devices</source>
         <target>Devices</target>
         <source>Not In Quorum</source>
         <target>Hors quorum</target>
       </trans-unit>
+      <trans-unit id="4383e9662ea19839c7499b2128d43a195e564317" datatype="html">
+        <source>OSD creation preview</source>
+        <target>OSD creation preview</target>
+      </trans-unit>
+      <trans-unit id="366225c51e0b00bcb1c55795a0dc5e81c455f84e" datatype="html">
+        <source>DriveGroups</source>
+        <target>DriveGroups</target>
+      </trans-unit>
+      <trans-unit id="8edc89137d0d8c5667a2f03230beafae45e58429" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{ deviceType }}"/> devices
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{ deviceType }}"/> devices
+        </target>
+      </trans-unit>
+      <trans-unit id="eba28e1805b18f7c8ae2e4bc15dcf063b10b3822" datatype="html">
+        <source>At least one of these filters must be applied in order to proceed:</source>
+        <target>At least one of these filters must be applied in order to proceed:</target>
+      </trans-unit>
+      <trans-unit id="93389aa2fe2bea50bf89554ee51b28f87ee2fb50" datatype="html">
+        <source>Number of devices: 
+          <x id="INTERPOLATION" equiv-text="{{ filteredDevices.length }}"/>. Raw capacity:
+          <x id="INTERPOLATION_1" equiv-text="{{ capacity | dimlessBinary }}"/>.
+        </source>
+        <target>Number of devices: 
+          <x id="INTERPOLATION" equiv-text="{{ filteredDevices.length }}"/>. Raw capacity:
+          <x id="INTERPOLATION_1" equiv-text="{{ capacity | dimlessBinary }}"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="ccb4f84edc0b4e76415bb3f9b73d725b06683af3" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{ name }}"/> devices
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{ name }}"/> devices
+        </target>
+      </trans-unit>
+      <trans-unit id="60cb3d01e5ddf266ecb4271007a1c3d0f3efdc22" datatype="html">
+        <source>The primary storage devices. These devices contain all OSD data.</source>
+        <target>The primary storage devices. These devices contain all OSD data.</target>
+      </trans-unit>
+      <trans-unit id="b432e04886d0d1fd84f740477383051f85addcf2" datatype="html">
+        <source>Write-Ahead-Log devices. These devices are used for BlueStore’s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device.</source>
+        <target>Write-Ahead-Log devices. These devices are used for BlueStore’s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device.</target>
+      </trans-unit>
+      <trans-unit id="b87e181ab9e8393aa5ed759dd3d53836e32c8ffe" datatype="html">
+        <source>DB devices can be used for storing BlueStore’s internal metadata.  It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD).</source>
+        <target>DB devices can be used for storing BlueStore’s internal metadata.  It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD).</target>
+      </trans-unit>
+      <trans-unit id="f6755cff4957d5c3c89bafce5651f1b6fa2b1fd9" datatype="html">
+        <source>Add</source>
+        <target>Ajouter</target>
+      </trans-unit>
+      <trans-unit id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46" datatype="html">
+        <source>Clear</source>
+        <target>Clear</target>
+      </trans-unit>
+      <trans-unit id="7e0fd3c7af0630f93befa6234a693a32a61084e0" datatype="html">
+        <source>Raw capacity: 
+          <x id="INTERPOLATION" equiv-text="{{ capacity | dimlessBinary }}"/>
+        </source>
+        <target>Raw capacity: 
+          <x id="INTERPOLATION" equiv-text="{{ capacity | dimlessBinary }}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="43ecf6bee2aebc07b0aad6dc1fe13e38d14687fa" datatype="html">
+        <source>Shared devices</source>
+        <target>Shared devices</target>
+      </trans-unit>
+      <trans-unit id="7a1c376f6f1b37de4c318ff2106255ba6c0f5b0b" datatype="html">
+        <source>WAL slots</source>
+        <target>WAL slots</target>
+      </trans-unit>
+      <trans-unit id="73811a6f37b63e6b0e491e221bfa21e9dea8a87a" datatype="html">
+        <source>How many OSDs per WAL device.</source>
+        <target>How many OSDs per WAL device.</target>
+      </trans-unit>
+      <trans-unit id="0c67a7ac4762ef1cc855056c6b4daab93e53a0a5" datatype="html">
+        <source>Specify 0 to let Orchestrator backend decide it.</source>
+        <target>Specify 0 to let Orchestrator backend decide it.</target>
+      </trans-unit>
+      <trans-unit id="7bda9362e06e6c67341b4a8425b0d29d6b84464b" datatype="html">
+        <source>Value should be greater than or equal to 0</source>
+        <target>Value should be greater than or equal to 0</target>
+      </trans-unit>
+      <trans-unit id="324c2b10152b9dd908222bb0b71f61beb60a30c5" datatype="html">
+        <source>DB slots</source>
+        <target>DB slots</target>
+      </trans-unit>
+      <trans-unit id="c23cf12ef9c76f37fc7a4b7ae3e00fb0f68b6e26" datatype="html">
+        <source>How many OSDs per DB device.</source>
+        <target>How many OSDs per DB device.</target>
+      </trans-unit>
+      <trans-unit id="6cdb1fea93d77c07950c0c76c6e0ad79ebbef084" datatype="html">
+        <source>Features</source>
+        <target>Fonctionnalités</target>
+      </trans-unit>
+      <trans-unit id="3e2a583f531f7dd9f089f68a6968e444c372c3e8" datatype="html">
+        <source>Preview</source>
+        <target>Preview</target>
+      </trans-unit>
       <trans-unit id="5ef50ba2514414f799d4c8fc36067a251904ba81" datatype="html">
         <source>Cluster-wide OSD Flags</source>
         <target>Drapeaux OSD à l'échelle de la grappe</target>
         <source>{VAR_SELECT, select, 1 {Deep } }</source>
         <target>{VAR_SELECT, select, 1 {Profondeur } }</target>
       </trans-unit>
-      <trans-unit id="2613498e8e5853c26a1cc62ae8dc673d1fdf0e2a" datatype="html">
+      <trans-unit id="fd0a4b6eed32e3488eccdc9c13f9841f08cc275e" datatype="html">
         <source>You are about to apply a 
           <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to
           the OSD(s): 
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
-          <x id="INTERPOLATION" equiv-text="{{ selected | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ selected | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.
         </source>
         <target>You are about to apply a 
           <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to
           the OSD(s): 
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
-          <x id="INTERPOLATION" equiv-text="{{ selected | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ selected | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.
         </target>
       </trans-unit>
         <source>OSDs List</source>
         <target>Liste des OSD</target>
       </trans-unit>
-      <trans-unit id="c402e6ec1c6792ede81f56c28eee8955860391c8" datatype="html">
+      <trans-unit id="d5707a32ba9c1138e6423498fb0b24e970ebd19f" datatype="html">
         <source>
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) 
-          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
           <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>
         </source>
         <target>
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) 
-          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
           <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.
         </target>
       </trans-unit>
-      <trans-unit id="d2797d01ba86f5df03d875803e49e648a4027869" datatype="html">
+      <trans-unit id="d08c1e4f17dffc0ed1ac2e2e2875cb8b569eeb35" datatype="html">
         <source>The 
-          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to destroy!
+          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to be 
+          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>! 
+          <x id="INTERPOLATION_1" equiv-text="{{ message }}"/>
         </source>
         <target>The 
-          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to destroy!
+          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to be 
+          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>! 
+          <x id="INTERPOLATION_1" equiv-text="{{ message }}"/>
         </target>
       </trans-unit>
       <trans-unit id="e776996dac651ef3819bfa767ccf2a0613759f47" datatype="html">
         <source>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</source>
         <target>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</target>
       </trans-unit>
-      <trans-unit id="1e2c50ed3c3934ef068976dc7f38513cec29d515" datatype="html">
+      <trans-unit id="5cd6a031937412c42e5efa1e6959cb72ac08c720" datatype="html">
         <source>
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD 
-          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
           <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>
         </source>
         <target>
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD 
-          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
           <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.
         </target>
       </trans-unit>
-      <trans-unit id="4f8b2bb476981727ab34ed40fde1218361f92c45" datatype="html">
-        <source>Details</source>
-        <target>Détails</target>
+      <trans-unit id="3eda19b44809820fffd5d3753bafb7243116f4b0" datatype="html">
+        <source>To see all active Prometheus alerts, please
+      provide the URL to the API of Prometheus' Alertmanager as described in the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.
+        </source>
+        <target>To see all active Prometheus alerts, please
+      provide the URL to the API of Prometheus' Alertmanager as described in the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="880ad4df5a2051a437321443d69c9a866699e5ad" datatype="html">
+        <source>Active Alerts</source>
+        <target>Active Alerts</target>
+      </trans-unit>
+      <trans-unit id="8e5e0e09a11990d343926ed693574213d703c38d" datatype="html">
+        <source>All Alerts</source>
+        <target>All Alerts</target>
+      </trans-unit>
+      <trans-unit id="526938c2b7945cb0d68328c24bd77730230cd455" datatype="html">
+        <source>To enable Silences, please provide the URL to the API of the Prometheus' Alertmanager as
+      described in the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.
+        </source>
+        <target>To enable Silences, please provide the URL to the API of the Prometheus' Alertmanager as
+      described in the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="aa0c44aa1e5727061baa91e954f77e2f5f9a37c9" datatype="html">
+        <source>Silences</source>
+        <target>Silences</target>
       </trans-unit>
       <trans-unit id="8501055865d7031b5521a0c5467532648009a61d" datatype="html">
         <source>Matcher</source>
         <source>{VAR_SELECT, select, 1 {Update} other {Add} }</source>
         <target>{VAR_SELECT, select, 1 {Update} other {Add} }</target>
       </trans-unit>
-      <trans-unit id="f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8" datatype="html">
-        <source>Close</source>
-        <target>Fermer</target>
-      </trans-unit>
       <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c" datatype="html">
         <source>Edit</source>
         <target>Modifier</target>
         <source>End time</source>
         <target>End time</target>
       </trans-unit>
-      <trans-unit id="dbe739ec8c99a0132e326067ffec9c0ee06b2655" datatype="html">
-        <source>Matchers
-          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>*
-          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>
-        </source>
-        <target>Matchers
-          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>*
-          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>
-        </target>
+      <trans-unit id="992123459137d45c15df5548bc9682aad835c04b" datatype="html">
+        <source>Matchers</source>
+        <target>Matchers</target>
       </trans-unit>
       <trans-unit id="3e023166c55833d5a13f4143e3dbe372befe1b4e" datatype="html">
         <source>A silence requires at least one matcher</source>
         <source>CephFS</source>
         <target>CephFS</target>
       </trans-unit>
+      <trans-unit id="0eb15f32b2b92d7f3103ef3ff032621888a8dc32" datatype="html">
+        <source>Old password</source>
+        <target>Old password</target>
+      </trans-unit>
+      <trans-unit id="1cf42e491adc166a337a960eb84d03c0c3f677c8" datatype="html">
+        <source>The old and new passwords must be different.</source>
+        <target>The old and new passwords must be different.</target>
+      </trans-unit>
+      <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229" datatype="html">
+        <source>New password</source>
+        <target>New password</target>
+      </trans-unit>
+      <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b" datatype="html">
+        <source>Confirm new password</source>
+        <target>Confirm new password</target>
+      </trans-unit>
+      <trans-unit id="90163a3d3746819aef42e829f4446331232f3b66" datatype="html">
+        <source>Password confirmation doesn't match the new password.</source>
+        <target>Password confirmation doesn't match the new password.</target>
+      </trans-unit>
+      <trans-unit id="d06ae77f9ec46a4cdd49e7e76c73a411aaf2ee38" datatype="html">
+        <source>Please set a new password.</source>
+        <target>Please set a new password.</target>
+      </trans-unit>
+      <trans-unit id="8b5b3566e88438f51bd5f6caf6c090ed565ba5ed" datatype="html">
+        <source>You will be redirected to the login page afterwards.</source>
+        <target>You will be redirected to the login page afterwards.</target>
+      </trans-unit>
       <trans-unit id="449dca3d3a93ead418b0541ea81b0dda7e6483c2" datatype="html">
         <source>Welcome to Ceph!</source>
         <target>Bienvenue dans Ceph !</target>
           <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You'll be logged out from the Identity Provider when you retry logging in.
         </target>
       </trans-unit>
-      <trans-unit id="0eb15f32b2b92d7f3103ef3ff032621888a8dc32" datatype="html">
-        <source>Old password</source>
-        <target>Old password</target>
-      </trans-unit>
-      <trans-unit id="1cf42e491adc166a337a960eb84d03c0c3f677c8" datatype="html">
-        <source>The old and new passwords must be different.</source>
-        <target>The old and new passwords must be different.</target>
-      </trans-unit>
-      <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229" datatype="html">
-        <source>New password</source>
-        <target>New password</target>
-      </trans-unit>
-      <trans-unit id="595ebc9279497f6dc733777e2816bee936901388" datatype="html">
-        <source>Too weak</source>
-        <target>Too weak</target>
-      </trans-unit>
-      <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b" datatype="html">
-        <source>Confirm new password</source>
-        <target>Confirm new password</target>
-      </trans-unit>
-      <trans-unit id="90163a3d3746819aef42e829f4446331232f3b66" datatype="html">
-        <source>Password confirmation doesn't match the new password.</source>
-        <target>Password confirmation doesn't match the new password.</target>
-      </trans-unit>
       <trans-unit id="471e78026c258073ba687478dc54c35d9041ea42" datatype="html">
         <source>Forbidden</source>
         <target>Interdit</target>
         <source>Sorry, you are not allowed to see what you were looking for.</source>
         <target>Désolé, vous n'êtes pas autorisé à voir ce que vous cherchez.</target>
       </trans-unit>
-      <trans-unit id="e3c028c58f92453d46f09b5adf95b2f013ee0300" datatype="html">
-        <source>Sorry, we could not find what you were looking for</source>
-        <target>Désolés, nous ne parvenons pas à trouver ce que vous cherchez.</target>
+      <trans-unit id="2240b985f17293d84cc8532fe86994aa5f63667c" datatype="html">
+        <source>Sorry, we could not find what you were looking for.</source>
+        <target>Sorry, we could not find what you were looking for.</target>
+      </trans-unit>
+      <trans-unit id="ac54c18c1b520e948095c83a3a1025f02ce6dcc6" datatype="html">
+        <source>Neither hostname nor OSD ID given</source>
+        <target>Neither hostname nor OSD ID given</target>
+      </trans-unit>
+      <trans-unit id="4f635b3cb0600409a2ad44a5bd1863c699e6a01c" datatype="html">
+        <source>Failed to retrieve SMART data.</source>
+        <target>Failed to retrieve SMART data.</target>
+      </trans-unit>
+      <trans-unit id="d82a9af5b05e7cd17640f196f163771685ff8df6" datatype="html">
+        <source>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</source>
+        <target>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</target>
+      </trans-unit>
+      <trans-unit id="04f8a3c7e8ac610e6581960162cc15f55a16696a" datatype="html">
+        <source>No SMART data available.</source>
+        <target>No SMART data available.</target>
+      </trans-unit>
+      <trans-unit id="3a03d3c2e459f8f8fa7202c0fce465d6165f9e2b" datatype="html">
+        <source>passed</source>
+        <target>passed</target>
+      </trans-unit>
+      <trans-unit id="a185c9b97513b3882604ea9bab60edbfac945c15" datatype="html">
+        <source>SMART overall-health self-assessment test result</source>
+        <target>SMART overall-health self-assessment test result</target>
+      </trans-unit>
+      <trans-unit id="41435d5a5692c8e412c74deaee95d99dbd3617e1" datatype="html">
+        <source>failed</source>
+        <target>failed</target>
+      </trans-unit>
+      <trans-unit id="ddd5dd6d930030096ea617f62c82b648a0dd9484" datatype="html">
+        <source>Device Information</source>
+        <target>Device Information</target>
+      </trans-unit>
+      <trans-unit id="380295f37caea93701d071485a38ef0bdba57133" datatype="html">
+        <source>No SMART data available for this device.</source>
+        <target>No SMART data available for this device.</target>
+      </trans-unit>
+      <trans-unit id="20cb12827cbe559a7b1da6fdae96041b3b5c3c55" datatype="html">
+        <source>SMART</source>
+        <target>SMART</target>
+      </trans-unit>
+      <trans-unit id="5758c3f16f8749f0f4e2a787f02e8b4da246102f" datatype="html">
+        <source>SMART data is loading.</source>
+        <target>SMART data is loading.</target>
       </trans-unit>
       <trans-unit id="a949d7e577902d0e5dc5d0971bb0170a21be7728" datatype="html">
         <source>[object Object]</source>
         <source>The chosen erasure code profile name is already in use.</source>
         <target>Le nom de profil du code d'effacement sélectionné est déjà utilisé.</target>
       </trans-unit>
+      <trans-unit id="35a4206db3105ed03e0dd799e1642b75b78123e8" datatype="html">
+        <source>Root</source>
+        <target>Root</target>
+      </trans-unit>
+      <trans-unit id="cf425784c7073c7e7f7c1bb90c2c19db7e751db2" datatype="html">
+        <source>Failure domain type</source>
+        <target>Failure domain type</target>
+      </trans-unit>
+      <trans-unit id="72396a9565cf644d1fe1b21b790c4243ee270986" datatype="html">
+        <source>Device class</source>
+        <target>Device class</target>
+      </trans-unit>
+      <trans-unit id="72d80e0c07bfea1b693a33ef2245007de92a6780" datatype="html">
+        <source>Let Ceph decide</source>
+        <target>Let Ceph decide</target>
+      </trans-unit>
       <trans-unit id="ef9ff0e6227947b48dfab4ac39ade04af758913b" datatype="html">
         <source>Plugin</source>
         <target>Plug-in</target>
         <target>It's not possible to create an RBD pool with '/' in the name.
               Please change the name or remove 'rbd' from the applications list.</target>
       </trans-unit>
+      <trans-unit id="171dc6d5c6bc4615d99778b0088cae80fd00bd10" datatype="html">
+        <source>Pool name can only contain letters, numbers, '.', '-', '_' or '/'.</source>
+        <target>Pool name can only contain letters, numbers, '.', '-', '_' or '/'.</target>
+      </trans-unit>
       <trans-unit id="b85c657469e5ec8231c3de99b22f437bc01ffde5" datatype="html">
         <source>Pool type</source>
         <target>Type de réserve</target>
         <source>-- Select a pool type --</source>
         <target>-- Sélectionner un type de réserve --</target>
       </trans-unit>
+      <trans-unit id="6abfbe47b630929d93c7343dc154599c2e59330a" datatype="html">
+        <source>PG Autoscale</source>
+        <target>PG Autoscale</target>
+      </trans-unit>
       <trans-unit id="0aa21053410a94aa61d16985a4e95fd65523430d" datatype="html">
         <source>Placement groups</source>
         <target>Groupes de placements</target>
         <target>The current PGs settings were calculated for you, you
                 should make sure the values suit your needs before submit.</target>
       </trans-unit>
-      <trans-unit id="33150f22ce5348aa6c499bd092c3f4f3695d62cc" datatype="html">
-        <source>Crush ruleset</source>
-        <target>Jeu de règles Crush</target>
-      </trans-unit>
-      <trans-unit id="73a6b31116b3cc322af951daa0bafdc169e6c42e" datatype="html">
-        <source>-- Select a crush rule --</source>
-        <target>-- Sélectionner une règle crush --</target>
-      </trans-unit>
-      <trans-unit id="92da80699921e89fb19372e25b8d0f3b9fa427fc" datatype="html">
-        <source>Crush rule</source>
-        <target>Règle Crush</target>
-      </trans-unit>
-      <trans-unit id="5489e9f96835f469f6f728a00d8efa88ea5bc940" datatype="html">
-        <source>Crush steps</source>
-        <target>Étapes Crush</target>
-      </trans-unit>
-      <trans-unit id="54a53b1b402aafff5b992ee9b64e409fbfe9074f" datatype="html">
-        <source>The rule can't be used in the current cluster as it has
-                to few OSDs to meet the minimum required OSD by this rule.</source>
-        <target>La règle ne peut pas être utilisée dans la grappe active, car celle-ci
- comporte un nombre d'OSD inférieur au nombre d'OSD minimum requis par cette règle.</target>
-      </trans-unit>
       <trans-unit id="a43b2695131b48b76cebba676aba98a2bee17515" datatype="html">
         <source>Replicated size</source>
         <target>Taille de réplication</target>
           <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.
         </target>
       </trans-unit>
+      <trans-unit id="920617c6a1a4805e53bcb5af6a9c76f8387e89c6" datatype="html">
+        <source>Flags</source>
+        <target>Drapeaux</target>
+      </trans-unit>
+      <trans-unit id="1c870fb00256b8a5b9cb9cd1a124e6390b9bc639" datatype="html">
+        <source>EC Overwrites</source>
+        <target>Écrasements EC</target>
+      </trans-unit>
+      <trans-unit id="f1abafaeb40ce52355ddcc24686e3cd17b64e08a" datatype="html">
+        <source>Applications</source>
+        <target>Applications</target>
+      </trans-unit>
+      <trans-unit id="fb9308b82fc183f710df60909f49cfc73aa5e076" datatype="html">
+        <source>CRUSH</source>
+        <target>CRUSH</target>
+      </trans-unit>
       <trans-unit id="9de7dde00e2139cc4bd03b1837afbe72ad15a1ff" datatype="html">
         <source>Erasure code profile</source>
         <target>Profil de code d'effacement</target>
         <source>-- Select an erasure code profile --</source>
         <target>-- Sélectionner un profil de code d'effacement --</target>
       </trans-unit>
-      <trans-unit id="920617c6a1a4805e53bcb5af6a9c76f8387e89c6" datatype="html">
-        <source>Flags</source>
-        <target>Drapeaux</target>
+      <trans-unit id="33150f22ce5348aa6c499bd092c3f4f3695d62cc" datatype="html">
+        <source>Crush ruleset</source>
+        <target>Jeu de règles Crush</target>
       </trans-unit>
-      <trans-unit id="1c870fb00256b8a5b9cb9cd1a124e6390b9bc639" datatype="html">
-        <source>EC Overwrites</source>
-        <target>Écrasements EC</target>
+      <trans-unit id="c69b0bcd4698aa845d32c4c4ad488492552cb469" datatype="html">
+        <source>A new crush ruleset will be implicitly created.</source>
+        <target>A new crush ruleset will be implicitly created.</target>
       </trans-unit>
-      <trans-unit id="f1abafaeb40ce52355ddcc24686e3cd17b64e08a" datatype="html">
-        <source>Applications</source>
-        <target>Applications</target>
+      <trans-unit id="896e9987db5e9bb279e6deed5d2dff28c242ef66" datatype="html">
+        <source>There are no rules.</source>
+        <target>There are no rules.</target>
+      </trans-unit>
+      <trans-unit id="73a6b31116b3cc322af951daa0bafdc169e6c42e" datatype="html">
+        <source>-- Select a crush rule --</source>
+        <target>-- Sélectionner une règle crush --</target>
+      </trans-unit>
+      <trans-unit id="ea91d648f92002bc9f96d9b26b735c83ca0b53c6" datatype="html">
+        <source>This rule can't be deleted as it is in use.</source>
+        <target>This rule can't be deleted as it is in use.</target>
+      </trans-unit>
+      <trans-unit id="92da80699921e89fb19372e25b8d0f3b9fa427fc" datatype="html">
+        <source>Crush rule</source>
+        <target>Règle Crush</target>
+      </trans-unit>
+      <trans-unit id="5489e9f96835f469f6f728a00d8efa88ea5bc940" datatype="html">
+        <source>Crush steps</source>
+        <target>Étapes Crush</target>
+      </trans-unit>
+      <trans-unit id="fc5f5496a9e50fe69e1a09784f28d94944108294" datatype="html">
+        <source>Rule is not in use.</source>
+        <target>Rule is not in use.</target>
+      </trans-unit>
+      <trans-unit id="023d6f718770d2ea4ab8cabe26b0ec27ef967ec2" datatype="html">
+        <source>Used by pools</source>
+        <target>Used by pools</target>
+      </trans-unit>
+      <trans-unit id="104a0e6900d1d1b0c8cf9e5947e36edb352583fc" datatype="html">
+        <source>The rule can't be used in the current cluster as it has
+                  too few OSDs to meet the minimum required OSD by this rule.</source>
+        <target>The rule can't be used in the current cluster as it has
+                  too few OSDs to meet the minimum required OSD by this rule.</target>
       </trans-unit>
       <trans-unit id="2208d63d5940ce656006a220102b1eb2b5e553da" datatype="html">
         <source>Compression</source>
         <source>The value should be greater or equal to 0</source>
         <target>The value should be greater or equal to 0</target>
       </trans-unit>
+      <trans-unit id="4f8b2bb476981727ab34ed40fde1218361f92c45" datatype="html">
+        <source>Details</source>
+        <target>Détails</target>
+      </trans-unit>
       <trans-unit id="fbbaf5cb02ed419e79a27072478f716a4666a99d" datatype="html">
         <source>Performance Details</source>
         <target>Détails des performances</target>
         <source>Cache Tiers Details</source>
         <target>Détails des niveaux de mise en cache</target>
       </trans-unit>
+      <trans-unit id="ecbc084370a732fc3cde1966a60af78d71424ab4" datatype="html">
+        <source>Create Bootstrap Token</source>
+        <target>Create Bootstrap Token</target>
+      </trans-unit>
+      <trans-unit id="603e9cc3ef2aab57f2b0a00e465b23b9cabefd9c" datatype="html">
+        <source>To create a bootstrap token which can be imported
+          by a peer site cluster, provide the local site's name, select
+          which pools will have mirroring enabled, and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Generate
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </source>
+        <target>To create a bootstrap token which can be imported
+          by a peer site cluster, provide the local site's name, select
+          which pools will have mirroring enabled, and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Generate
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="660f97cd3188f8a04bd03b79e703fec72c6df04c" datatype="html">
+        <source>Site Name</source>
+        <target>Site Name</target>
+      </trans-unit>
+      <trans-unit id="8c2a1dc72cffaf7ab3dc5599bf77b0a7fcad2b20" datatype="html">
+        <source>At least one pool is required.</source>
+        <target>At least one pool is required.</target>
+      </trans-unit>
+      <trans-unit id="1b258b258b4cc475ceb2871305b61756b0134f4a" datatype="html">
+        <source>Generate</source>
+        <target>Generate</target>
+      </trans-unit>
+      <trans-unit id="1edc1fc6cfbbb22353050ad6788508b3ed584f53" datatype="html">
+        <source>Token</source>
+        <target>Token</target>
+      </trans-unit>
+      <trans-unit id="ff785f5596aef34a93b9b4d1023e95c62eef5740" datatype="html">
+        <source>Generated token...</source>
+        <target>Generated token...</target>
+      </trans-unit>
+      <trans-unit id="5467a6bb0e7fade6def7499400d5e2a7d8d3da20" datatype="html">
+        <source>Import Bootstrap Token</source>
+        <target>Import Bootstrap Token</target>
+      </trans-unit>
+      <trans-unit id="9bb7aee0dec5164f45c0aa2f35f2fb2149d2c1d2" datatype="html">
+        <source>To import a bootstrap token which was created
+          by a peer site cluster, provide the local site's name, select
+          which pools will have mirroring enabled, provide the generated
+          token, and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Import
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </source>
+        <target>To import a bootstrap token which was created
+          by a peer site cluster, provide the local site's name, select
+          which pools will have mirroring enabled, provide the generated
+          token, and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Import
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="9200e09686136a1d42adfb89c12fbfef2deea125" datatype="html">
+        <source>Direction</source>
+        <target>Direction</target>
+      </trans-unit>
+      <trans-unit id="9761484679958da8d12841a4efa5964d33fae575" datatype="html">
+        <source>The token is invalid.</source>
+        <target>The token is invalid.</target>
+      </trans-unit>
+      <trans-unit id="a059709f71aa4c0ac219e160e78a738682ca6a36" datatype="html">
+        <source>Import</source>
+        <target>Import</target>
+      </trans-unit>
+      <trans-unit id="b87bd96249f8afc23f5301cddb57b1464a98e71a" datatype="html">
+        <source>Edit site name</source>
+        <target>Edit site name</target>
+      </trans-unit>
+      <trans-unit id="cfff72c667274c12eb1ff71eadc25871c10c42dc" datatype="html">
+        <source>Edit the site name and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </source>
+        <target>Edit the site name and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="40b7acea5b43f45e0bbd1efeba5200af4687981d" datatype="html">
+        <source>Site Name:</source>
+        <target>Site Name:</target>
+      </trans-unit>
       <trans-unit id="f0b5d789d42c0e69348e5fe0037fcbf5b5fbbdcc" datatype="html">
         <source>Move an image to trash</source>
         <target>Déplacer une image vers la corbeille.</target>
       </trans-unit>
-      <trans-unit id="86301cf2044b1eda218483365f6b9de8dde5040b" datatype="html">
+      <trans-unit id="7ad22c1d4aab3b8946603cea62de266d5129ca10" datatype="html">
+        <source>This image contains snapshot(s), which will prevent it
+            from being removed after moved to trash.</source>
+        <target>This image contains snapshot(s), which will prevent it
+            from being removed after moved to trash.</target>
+      </trans-unit>
+      <trans-unit id="b4b3ced4f8aad4c446f348b14c3d94be2e2c350c" datatype="html">
         <source>To move 
           <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>
-          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>/
-          <x id="INTERPOLATION_1" equiv-text="{{ imageName }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ imageSpecStr }}"/>
           <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,
           click 
           <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image
         </source>
         <target>To move 
           <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>
-          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>/
-          <x id="INTERPOLATION_1" equiv-text="{{ imageName }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ imageSpecStr }}"/>
           <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,
           click 
           <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image
         <source>Move Image</source>
         <target>Déplacer une image</target>
       </trans-unit>
+      <trans-unit id="c9f1026c1235f4d76ace47449e806efd181ab332" datatype="html">
+        <source>Deleting this image will also delete all its snapshots.</source>
+        <target>Deleting this image will also delete all its snapshots.</target>
+      </trans-unit>
+      <trans-unit id="55f864597e84d9bf88769e1fbfda1d64452430c9" datatype="html">
+        <source>The following snapshots are currently protected and will be removed:</source>
+        <target>The following snapshots are currently protected and will be removed:</target>
+      </trans-unit>
       <trans-unit id="8a9910cd114c1deb9af74f6f99b4173403965bf2" datatype="html">
         <source>Gateways</source>
         <target>Gateways</target>
         <source>Object size</source>
         <target>Taille de l'objet</target>
       </trans-unit>
-      <trans-unit id="6cdb1fea93d77c07950c0c76c6e0ad79ebbef084" datatype="html">
-        <source>Features</source>
-        <target>Fonctionnalités</target>
-      </trans-unit>
       <trans-unit id="0a65771c9a73b9aa609d592fc96a64801a8f40bd" datatype="html">
         <source>Provisioned</source>
         <target>Provisionné</target>
         <source>-- Select a pool --</source>
         <target>-- Sélectionner une réserve --</target>
       </trans-unit>
+      <trans-unit id="d649904466254d13df1fbf2d255f0bbc6553d213" datatype="html">
+        <source>-- No namespaces available --</source>
+        <target>-- No namespaces available --</target>
+      </trans-unit>
+      <trans-unit id="e22d7bb4d2d561e0832ee0b9a3da2468a080c4f0" datatype="html">
+        <source>-- Select a namespace --</source>
+        <target>-- Select a namespace --</target>
+      </trans-unit>
       <trans-unit id="49449943d8cbf59d8c401c8bd2e76f92e207cc5f" datatype="html">
         <source>Use a dedicated data pool</source>
         <target>Utiliser une réserve de données dédiée</target>
         <source>Stripe count must be greater than 0.</source>
         <target>Le nombre de segments doit être supérieur à 0.</target>
       </trans-unit>
-      <trans-unit id="3f67f30568e9ae47507d46e28e1e82a7dca772e2" datatype="html">
-        <source>
-          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> RBD Snapshot
-        </source>
-        <target>
-          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> RBD Snapshot
-        </target>
-      </trans-unit>
-      <trans-unit id="1628d19a4490817c18be2afab410ca4adfa62ea7" datatype="html">
-        <source>{VAR_SELECT, select, true {Rename} other {Create} }</source>
-        <target>{VAR_SELECT, select, true {Renommer} other {Créer} }</target>
+      <trans-unit id="2c07d24bb422aa8e5e568df1c5709083f0a9c8f1" datatype="html">
+        <source>Create Namespace</source>
+        <target>Create Namespace</target>
       </trans-unit>
-      <trans-unit id="73a287b41afe6b28f90edbeb98957a341a0276b4" datatype="html">
-        <source>
-          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> Snapshot
-        </source>
-        <target>
-          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> Snapshot
-        </target>
-      </trans-unit>
-      <trans-unit id="cb60c1cd3655234756b5b92d4d597d92d520ee30" datatype="html">
-        <source>PROTECTED</source>
-        <target>PROTECTED</target>
-      </trans-unit>
-      <trans-unit id="deffb86b8fb0541254ad5a43862d82bff6b6a6c4" datatype="html">
-        <source>UNPROTECTED</source>
-        <target>NON PROTÉGÉ</target>
+      <trans-unit id="0cca6c0485f96d3a9610d0339cb1275a5f2c3f46" datatype="html">
+        <source>Namespace already exists.</source>
+        <target>Namespace already exists.</target>
       </trans-unit>
       <trans-unit id="5c5331983af566d4ac6a1024d15a3511786a4aa6" datatype="html">
         <source>You are about to rollback</source>
         <source>Purge Trash</source>
         <target>Vider la corbeille</target>
       </trans-unit>
-      <trans-unit id="af728625d769b61acf291442644b89edb88faec3" datatype="html">
-        <source>To purge, select one or All images and click</source>
-        <target>Pour purger, sélectionner une image ou toutes, puis cliquez sur</target>
+      <trans-unit id="681501eecd7f44d4b7a2f619605b36676e04c5b6" datatype="html">
+        <source>To purge, select one or</source>
+        <target>To purge, select one or</target>
+      </trans-unit>
+      <trans-unit id="dfc3c34e182ea73c5d784ff7c8135f087992dac1" datatype="html">
+        <source>All</source>
+        <target>Tout</target>
+      </trans-unit>
+      <trans-unit id="ea5d338dcef50ff5c24439fd784f6a67b594c33f" datatype="html">
+        <source>pools and click</source>
+        <target>pools and click</target>
       </trans-unit>
       <trans-unit id="55a4f598a4894b7fd5cb88f0ffd3c37ad009dd70" datatype="html">
         <source>Pool:</source>
         <source>Pool name...</source>
         <target>Nom de la réserve...</target>
       </trans-unit>
-      <trans-unit id="dfc3c34e182ea73c5d784ff7c8135f087992dac1" datatype="html">
-        <source>All</source>
-        <target>Tout</target>
-      </trans-unit>
       <trans-unit id="b0e7c7ed1d51a0c205c815048bc9f79e24ee6db2" datatype="html">
         <source>Restore Image</source>
         <target>Restaurer l'image</target>
           <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.
         </target>
       </trans-unit>
-      <trans-unit id="aba82bfd8e177d35b76cad7cd43941f8e5e5acac" datatype="html">
-        <source>Trash</source>
-        <target>Corbeille</target>
-      </trans-unit>
       <trans-unit id="a674ab267d1934bf395f87ca1503fd474296893f" datatype="html">
         <source>iSCSI Topology</source>
         <target>Topologie iSCSI</target>
       </trans-unit>
-      <trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html">
-        <source>Settings</source>
-        <target>Paramètres</target>
+      <trans-unit id="051dcc342cfa5c1eaf187a2001aaa162379a160c" datatype="html">
+        <source>Configure</source>
+        <target>Configure</target>
       </trans-unit>
       <trans-unit id="9e515f954730279c31d5301f02479666d6264e8b" datatype="html">
         <source>Changing these parameters from their default values is usually not necessary.</source>
         <target>Il n'est généralement pas nécessaire de modifier ces paramètres par défaut.</target>
       </trans-unit>
+      <trans-unit id="4e2591df099ddac796cda401c5f282da779d45f2" datatype="html">
+        <source>Identifier</source>
+        <target>Identifier</target>
+      </trans-unit>
+      <trans-unit id="62480a4859976427cf18fc8ef41d3a438eda0412" datatype="html">
+        <source>lun</source>
+        <target>lun</target>
+      </trans-unit>
+      <trans-unit id="8afc9eb4405e0aa554b2ba14140ef790cdecc040" datatype="html">
+        <source>wwn</source>
+        <target>wwn</target>
+      </trans-unit>
+      <trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html">
+        <source>Settings</source>
+        <target>Paramètres</target>
+      </trans-unit>
       <trans-unit id="69a47cbabcc51ca942606e1d8da0ec11f98a2690" datatype="html">
         <source>Backstore</source>
         <target>Backstore</target>
         <source>Portals</source>
         <target>Portails</target>
       </trans-unit>
+      <trans-unit id="6a3ac2b4137d723fd9878cd357c2012ff6c07973" datatype="html">
+        <source>Add portal</source>
+        <target>Ajouter un portail</target>
+      </trans-unit>
       <trans-unit id="c3638c01b6c34066438909713ec96087c813fc7e" datatype="html">
         <source>At least 
           <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.
           <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.
         </target>
       </trans-unit>
-      <trans-unit id="6a3ac2b4137d723fd9878cd357c2012ff6c07973" datatype="html">
-        <source>Add portal</source>
-        <target>Ajouter un portail</target>
-      </trans-unit>
       <trans-unit id="9aff25be088f0efe3eaaf62edf2bff41cc41a617" datatype="html">
         <source>Backstore: 
           <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. 
         <source>This image has modified settings.</source>
         <target>Des paramètres avancés de cette image ont été modifiés.</target>
       </trans-unit>
-      <trans-unit id="107c84e820909b44fe258673938a68ced1bbff72" datatype="html">
-        <source>At least 1 image is required.</source>
-        <target>Au moins 1 image est requise.</target>
+      <trans-unit id="1dff11e0820b6722ab240169f1232d70a54beaaa" datatype="html">
+        <source>Duplicated LUN numbers.</source>
+        <target>Duplicated LUN numbers.</target>
+      </trans-unit>
+      <trans-unit id="bf2dccf92ccff6e3b091792bf4205595406e1bfb" datatype="html">
+        <source>Duplicated WWN.</source>
+        <target>Duplicated WWN.</target>
       </trans-unit>
       <trans-unit id="808038f912fdc7f0e03f82d4afd3bf9178527fc8" datatype="html">
         <source>Add image</source>
         <source>Add group</source>
         <target>Ajouter un groupe</target>
       </trans-unit>
+      <trans-unit id="c3a7e364a88ea4673199dfa98bc73e6dbe09dfac" datatype="html">
+        <source>Namespaces</source>
+        <target>Namespaces</target>
+      </trans-unit>
+      <trans-unit id="aba82bfd8e177d35b76cad7cd43941f8e5e5acac" datatype="html">
+        <source>Trash</source>
+        <target>Corbeille</target>
+      </trans-unit>
       <trans-unit id="66db799d67958d4b0765181d072df62e2d1c16f5" datatype="html">
         <source>Issues</source>
         <target>Problèmes</target>
         <source>Enables versioning for the objects in the bucket.</source>
         <target>Enables versioning for the objects in the bucket.</target>
       </trans-unit>
-      <trans-unit id="92f3f203270a29b3001871153f02c063484a1574" datatype="html">
-        <source>Suspended</source>
-        <target>Suspendu</target>
+      <trans-unit id="9e6775ffd06878aa145c07359f28557f01ede04f" datatype="html">
+        <source>Multi-Factor Authentication</source>
+        <target>Multi-Factor Authentication</target>
+      </trans-unit>
+      <trans-unit id="29e8a5d4fb767d4ad0c762c81c6264cec4c0ba97" datatype="html">
+        <source>Delete enabled</source>
+        <target>Delete enabled</target>
+      </trans-unit>
+      <trans-unit id="40fbc3ac8c1ea4ecfe62247e91f1f999ad5baf76" datatype="html">
+        <source>Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state.</source>
+        <target>Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state.</target>
+      </trans-unit>
+      <trans-unit id="d24c93a8c13db46defa06ed7b5e026a3edb52b91" datatype="html">
+        <source>Token Serial Number</source>
+        <target>Token Serial Number</target>
+      </trans-unit>
+      <trans-unit id="e6d9536c2af2e5e9a228c3e3e1809dc1fefe0149" datatype="html">
+        <source>Token PIN</source>
+        <target>Token PIN</target>
+      </trans-unit>
+      <trans-unit id="7b84370895ab9eb44672f57146fa05c5947f1c0c" datatype="html">
+        <source>Locking</source>
+        <target>Locking</target>
+      </trans-unit>
+      <trans-unit id="f038d51ab1645f15b0cd58f195c72a7eeebd4729" datatype="html">
+        <source>Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket.</source>
+        <target>Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket.</target>
+      </trans-unit>
+      <trans-unit id="9af1b4baa2dd8ed2bfc3cc756b12a2271c2dd793" datatype="html">
+        <source>Compliance</source>
+        <target>Compliance</target>
+      </trans-unit>
+      <trans-unit id="edd600fa489d1b4a4448dce694ed932e52ce8fda" datatype="html">
+        <source>Governance</source>
+        <target>Governance</target>
+      </trans-unit>
+      <trans-unit id="a5c3d9d2296f7886e8289b9f623323803deacfc6" datatype="html">
+        <source>Days</source>
+        <target>Days</target>
       </trans-unit>
-      <trans-unit id="cd6a798fd0f85cd7e31a57c58074f25035d7850d" datatype="html">
-        <source>Disables versioning for the objects in the bucket.</source>
-        <target>Disables versioning for the objects in the bucket.</target>
+      <trans-unit id="218c7d6d318c51e7105309aaeb0baec9d19e4efb" datatype="html">
+        <source>The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</source>
+        <target>The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</target>
+      </trans-unit>
+      <trans-unit id="289b101ec12427b3ca819df9e43cc3b14fae2cc4" datatype="html">
+        <source>The entered value must be a positive integer.</source>
+        <target>The entered value must be a positive integer.</target>
+      </trans-unit>
+      <trans-unit id="def9fc628134d3a044b7c0ad2a83c846bdad56f1" datatype="html">
+        <source>Retention period requires either Days or Years.</source>
+        <target>Retention period requires either Days or Years.</target>
+      </trans-unit>
+      <trans-unit id="003c94fc143882ac8af6251a1595fe62978fe3e6" datatype="html">
+        <source>Years</source>
+        <target>Years</target>
+      </trans-unit>
+      <trans-unit id="14c6189ead0951f13049c7bf9af7642d0c41957a" datatype="html">
+        <source>The number of years that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</source>
+        <target>The number of years that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</target>
       </trans-unit>
       <trans-unit id="45cc8ca94b5a50842a9a8ef804a5ab089a38ae5c" datatype="html">
         <source>ID</source>
         <source>Zonegroup</source>
         <target>Groupe de zones</target>
       </trans-unit>
+      <trans-unit id="62a923f047ca49e7a4782629e91fea1ba32db68f" datatype="html">
+        <source>MFA Delete</source>
+        <target>MFA Delete</target>
+      </trans-unit>
       <trans-unit id="649a410bd0ace333d067d8fa22f12bdbdb43533b" datatype="html">
         <source>Bucket quota</source>
         <target>Quota de compartiments</target>
         <source>Email address</source>
         <target>Adresse électronique</target>
       </trans-unit>
+      <trans-unit id="92f3f203270a29b3001871153f02c063484a1574" datatype="html">
+        <source>Suspended</source>
+        <target>Suspendu</target>
+      </trans-unit>
       <trans-unit id="8011e20c5bbe51602d459a860fbf29b599b55edd" datatype="html">
         <source>System</source>
         <target>Système</target>
         <source>Max. buckets</source>
         <target>Nombre max. de compartiments</target>
       </trans-unit>
-      <trans-unit id="623ac50f37a26caec6fd7cd519b653e3315cba25" datatype="html">
-        <source>The entered value must be &gt;= 0.</source>
-        <target>La valeur saisie doit être &gt;= 0.</target>
+      <trans-unit id="f39256070bfc0714020dfee08895421fc1527014" datatype="html">
+        <source>Disabled</source>
+        <target>Désactivé</target>
+      </trans-unit>
+      <trans-unit id="a5c05002b0ac2040f1aede5e727e0ffd06eda819" datatype="html">
+        <source>Custom</source>
+        <target>Personnalisé</target>
+      </trans-unit>
+      <trans-unit id="28872515cb81d197a3a1733fa546d3e0f0dd6c67" datatype="html">
+        <source>The entered value must be &gt;= 1.</source>
+        <target>The entered value must be &gt;= 1.</target>
       </trans-unit>
       <trans-unit id="583a219c524155c2314eb06ee29162bb315272a3" datatype="html">
         <source>S3 key</source>
           <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>
         </target>
       </trans-unit>
+      <trans-unit id="f5a451c4ea65a4046f0b49d489a7013abf0b5861" datatype="html">
+        <source>All capabilities are already added.</source>
+        <target>All capabilities are already added.</target>
+      </trans-unit>
       <trans-unit id="6146e13ceca5fa5cc17b771b282fe5955f3d19fa" datatype="html">
         <source>Unlimited size</source>
         <target>Taille illimitée</target>
         <source>Max. objects</source>
         <target>Nombre max. d'objets</target>
       </trans-unit>
+      <trans-unit id="623ac50f37a26caec6fd7cd519b653e3315cba25" datatype="html">
+        <source>The entered value must be &gt;= 0.</source>
+        <target>La valeur saisie doit être &gt;= 0.</target>
+      </trans-unit>
       <trans-unit id="1ea5c4d8942c00752dcc72e72949c5d9832f6399" datatype="html">
         <source>Description...</source>
         <target>Description...</target>
         <source>Password confirmation doesn't match the password.</source>
         <target>Le mot de passe de confirmation ne correspond pas au mot de passe.</target>
       </trans-unit>
+      <trans-unit id="96621f9ed2e4ae5204564e583d2c816bedead571" datatype="html">
+        <source>Password expiration date</source>
+        <target>Password expiration date</target>
+      </trans-unit>
+      <trans-unit id="48932db3801fe9d5d72a60a3e656bffd17c1c5d9" datatype="html">
+        <source>Password expiration date...</source>
+        <target>Password expiration date...</target>
+      </trans-unit>
       <trans-unit id="244aae9346da82b0922506c2d2581373a15641cc" datatype="html">
         <source>Email</source>
         <target>Adresse électronique</target>
         <source>Invalid email.</source>
         <target>L'adresse électronique n'est pas valide.</target>
       </trans-unit>
+      <trans-unit id="8913c216dd506e20e412e144381d8d2a65a84359" datatype="html">
+        <source>User must change password at next logon</source>
+        <target>User must change password at next logon</target>
+      </trans-unit>
       <trans-unit id="0051a3479d3ba79135c16dc8cc017950a2cce821" datatype="html">
         <source>You are about to remove "user read / update" permissions from your own user.</source>
         <target>Vous êtes sur le point de supprimer les autorisations "lecture/mise à jour utilisateur" de votre propre utilisateur.</target>
         <source>Histogram</source>
         <target>Histogramme</target>
       </trans-unit>
+      <trans-unit id="3d87fc20ea8e5f0f0500ba5d5061b345be78ec5e" datatype="html">
+        <source>No hostname found.</source>
+        <target>No hostname found.</target>
+      </trans-unit>
       <trans-unit id="26fb5f81b3581f06b9210defb0e71dc69a67e819" datatype="html">
         <source>Current values</source>
         <target>Valeurs actuelles</target>
         <target>Balises</target>
       </trans-unit>
       <trans-unit id="ab0089ef47af61ca1d137bc908b96c290dfd9287" datatype="html">
-        <source>Enum values</source>
-        <target>Valeurs d'énuménation</target>
-      </trans-unit>
-      <trans-unit id="819476f1264f1659f38e86f6abb542141b184832" datatype="html">
-        <source>See also</source>
-        <target>Voir aussi</target>
-      </trans-unit>
-      <trans-unit id="d82a9af5b05e7cd17640f196f163771685ff8df6" datatype="html">
-        <source>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</source>
-        <target>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</target>
-      </trans-unit>
-      <trans-unit id="a185c9b97513b3882604ea9bab60edbfac945c15" datatype="html">
-        <source>SMART overall-health self-assessment test result</source>
-        <target>SMART overall-health self-assessment test result</target>
-      </trans-unit>
-      <trans-unit id="ddd5dd6d930030096ea617f62c82b648a0dd9484" datatype="html">
-        <source>Device Information</source>
-        <target>Device Information</target>
-      </trans-unit>
-      <trans-unit id="79c6bf990ea5b4d83bbf8f9e399f4bd933a1ebfc" datatype="html">
-        <source>S.M.A.R.T</source>
-        <target>S.M.A.R.T</target>
+        <source>Enum values</source>
+        <target>Valeurs d'énuménation</target>
       </trans-unit>
-      <trans-unit id="05c17e08939cbef1a5df5386263b1701e8d5742e" datatype="html">
-        <source>S.M.A.R.T data is loading.</source>
-        <target>S.M.A.R.T data is loading.</target>
+      <trans-unit id="819476f1264f1659f38e86f6abb542141b184832" datatype="html">
+        <source>See also</source>
+        <target>Voir aussi</target>
       </trans-unit>
       <trans-unit id="73caac4265ea7314ff061e5a1d78a6361a6dd3b8" datatype="html">
         <source>Cluster Status</source>
         <source>MDS performance counters</source>
         <target>MDS performance counters</target>
       </trans-unit>
-      <trans-unit id="a7b6508fb834bee9e48e11e4503fbbc2d19204de" datatype="html">
-        <source>Clients: 
-          <x id="INTERPOLATION" equiv-text="{{ clients.data.length }}"/>
-        </source>
-        <target>Clients: 
-          <x id="INTERPOLATION" equiv-text="{{ clients.data.length }}"/>
-        </target>
-      </trans-unit>
       <trans-unit id="6e213942c6354b9cbe7a650f0f1499bfc1000fb6" datatype="html">
         <source>Directories</source>
         <target>Directories</target>
         <source># Sessions</source>
         <target># Sessions</target>
       </trans-unit>
+      <trans-unit id="2ea10b3668e04e057ba96ddcaf4c9b77089008ae" datatype="html">
+        <source>Unavailable gateway(s)</source>
+        <target>Unavailable gateway(s)</target>
+      </trans-unit>
       <trans-unit id="c49e0dd71d551bd4928d967d78f0721dbf9f95e3" datatype="html">
         <source>Target has active sessions</source>
         <target>Target has active sessions</target>
         <source>Progress</source>
         <target>Avancement</target>
       </trans-unit>
-      <trans-unit id="f39256070bfc0714020dfee08895421fc1527014" datatype="html">
-        <source>Disabled</source>
-        <target>Désactivé</target>
+      <trans-unit id="25b725dba712a7a020fd34a72297befae975a492" datatype="html">
+        <source>Edit Site Name</source>
+        <target>Edit Site Name</target>
       </trans-unit>
       <trans-unit id="8c375764db42f5d736fb56d01b8052c006ccc8e2" datatype="html">
         <source>Edit Mode</source>
         <source>Fast diff (interlocked with object-map)</source>
         <target>Fast diff (interlocked with object-map)</target>
       </trans-unit>
+      <trans-unit id="130fd872c78271a8f86b1ab16a76e823969c47d9" datatype="html">
+        <source>Namespace</source>
+        <target>Namespace</target>
+      </trans-unit>
+      <trans-unit id="14abc99daed542774633046c53b6ce8251331141" datatype="html">
+        <source>This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.</source>
+        <target>This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.</target>
+      </trans-unit>
+      <trans-unit id="51699f716cf34e6622ff7bfd84641480c045271a" datatype="html">
+        <source>Created namespace '
+          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/
+          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>'
+        </source>
+        <target>Created namespace '
+          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/
+          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>'
+        </target>
+      </trans-unit>
+      <trans-unit id="bf44b7d6379ce0198ed3d95a27642a224181bf1d" datatype="html">
+        <source>Total images</source>
+        <target>Total images</target>
+      </trans-unit>
+      <trans-unit id="371ce3ffe62548d15e391a248bc554d903bb03fc" datatype="html">
+        <source>Deleted namespace '
+          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/
+          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>'
+        </source>
+        <target>Deleted namespace '
+          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/
+          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>'
+        </target>
+      </trans-unit>
+      <trans-unit id="9d704fd00ca929f90c3119cefc581821ae58a73e" datatype="html">
+        <source>Namespace contains images</source>
+        <target>Namespace contains images</target>
+      </trans-unit>
+      <trans-unit id="c2017dc94b4f57a347ccb126e546e88942f4d7a6" datatype="html">
+        <source>RBD Snapshot</source>
+        <target>RBD Snapshot</target>
+      </trans-unit>
       <trans-unit id="631fc50ec7c9bd81dc797a3c7e09eda1178ad999" datatype="html">
         <source>Parent image must support Layering</source>
         <target>Parent image must support Layering</target>
       </trans-unit>
+      <trans-unit id="cb60c1cd3655234756b5b92d4d597d92d520ee30" datatype="html">
+        <source>PROTECTED</source>
+        <target>PROTECTED</target>
+      </trans-unit>
+      <trans-unit id="deffb86b8fb0541254ad5a43862d82bff6b6a6c4" datatype="html">
+        <source>UNPROTECTED</source>
+        <target>NON PROTÉGÉ</target>
+      </trans-unit>
       <trans-unit id="7eb984588f4835f6d0187b33769b4b0f62821640" datatype="html">
         <source>RBD snapshot rollback</source>
         <target>Retour à l'état initial de l'instantané RBD</target>
         <source>Origin</source>
         <target>Origin</target>
       </trans-unit>
+      <trans-unit id="2ea2ec95d93fd55d0db6e9d2b95b25e153d4cec2" datatype="html">
+        <source>Max size</source>
+        <target>Max size</target>
+      </trans-unit>
+      <trans-unit id="665dced3a61bca44924a0bde4be47390225a4898" datatype="html">
+        <source>Max files</source>
+        <target>Max files</target>
+      </trans-unit>
+      <trans-unit id="0ccf776baac60794b142526986f3af85848c7059" datatype="html">
+        <source>The inherited 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/> is the maximum value to be used.
+        </source>
+        <target>The inherited 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/> is the maximum value to be used.
+        </target>
+      </trans-unit>
+      <trans-unit id="b0e2ef28384f2de6674cac300c779f900929a89b" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{action}}"/> CephFS 
+          <x id="INTERPOLATION_1" equiv-text="{{quotaName}}"/> quota for '
+          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>'
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{action}}"/> CephFS 
+          <x id="INTERPOLATION_1" equiv-text="{{quotaName}}"/> quota for '
+          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>'
+        </target>
+      </trans-unit>
+      <trans-unit id="542ef638499635dec7641bdc2e499258094187cc" datatype="html">
+        <source>size</source>
+        <target>size</target>
+      </trans-unit>
+      <trans-unit id="ce90ff00c341d8eef96b0e7956bb85b8faba3839" datatype="html">
+        <source>files</source>
+        <target>files</target>
+      </trans-unit>
+      <trans-unit id="fbe8b9340c08c24aef62ffe81c83e2b46a4f1495" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{quotaName}}"/> quota 
+          <x id="INTERPOLATION_1" equiv-text="{{value}}"/> from '
+          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>'
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{quotaName}}"/> quota 
+          <x id="INTERPOLATION_1" equiv-text="{{value}}"/> from '
+          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>'
+        </target>
+      </trans-unit>
+      <trans-unit id="37c2c0a4a356465eef2edfb09ffffc6db5259975" datatype="html">
+        <source>Value has to be at least 
+          <x id="INTERPOLATION" equiv-text="{{value}}"/> or more
+        </source>
+        <target>Value has to be at least 
+          <x id="INTERPOLATION" equiv-text="{{value}}"/> or more
+        </target>
+      </trans-unit>
+      <trans-unit id="73f8e64703a707e2cf98b9a10653cd3bbdd8cab1" datatype="html">
+        <source>Value has to be at most 
+          <x id="INTERPOLATION" equiv-text="{{value}}"/> or less
+        </source>
+        <target>Value has to be at most 
+          <x id="INTERPOLATION" equiv-text="{{value}}"/> or less
+        </target>
+      </trans-unit>
+      <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc" datatype="html">
+        <source>Updated</source>
+        <target>Mis à jour</target>
+      </trans-unit>
+      <trans-unit id="b6a4cf4f302c7fcbec199ce0df42b8282d682b04" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{action}}"/>
+          <x id="INTERPOLATION_1" equiv-text="{{quotaValue}}"/>
+          <x id="INTERPOLATION_2" equiv-text="{{conclusion}}"/>.
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{action}}"/>
+          <x id="INTERPOLATION_1" equiv-text="{{quotaValue}}"/>
+          <x id="INTERPOLATION_2" equiv-text="{{conclusion}}"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="a40024afb071f68fec949094a71f832d5611bca5" datatype="html">
+        <source>in order to inherit 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>
+        </source>
+        <target>in order to inherit 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="c108ff588291e9c040adea2adf35e7236cf29925" datatype="html">
+        <source>which isn't used because of the inheritance of 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>
+        </source>
+        <target>which isn't used because of the inheritance of 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="d3785a64d1c72b03b2212855ce695b45ed0342d2" datatype="html">
+        <source>in order to have no quota on the directory</source>
+        <target>in order to have no quota on the directory</target>
+      </trans-unit>
+      <trans-unit id="c4d3a3446a7f36825291c5e76c4a6b7919f9bd2f" datatype="html">
+        <source>Create Snapshot</source>
+        <target>Create Snapshot</target>
+      </trans-unit>
+      <trans-unit id="e9af734e231b837d64df21008e2eb1fdff566a61" datatype="html">
+        <source>Please enter the name of the snapshot.</source>
+        <target>Please enter the name of the snapshot.</target>
+      </trans-unit>
+      <trans-unit id="8c4d3039e6a953b0d6f1b1313ffa60c5d2b35dc7" datatype="html">
+        <source>Created snapshot "
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "
+          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"
+        </source>
+        <target>Created snapshot "
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "
+          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"
+        </target>
+      </trans-unit>
+      <trans-unit id="126ad894f74ee9a999825f3f4ac5a31fdfc093bf" datatype="html">
+        <source>CephFs Snapshot</source>
+        <target>CephFs Snapshot</target>
+      </trans-unit>
+      <trans-unit id="1e4d1c0865adc485260740c42ac5af68ce8feb13" datatype="html">
+        <source>Deleted snapshot "
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "
+          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"
+        </source>
+        <target>Deleted snapshot "
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "
+          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"
+        </target>
+      </trans-unit>
       <trans-unit id="22e4e574b7f8abf58254f328792445b42e2a924a" datatype="html">
         <source>The value can be updated at runtime.</source>
         <target>La valeur peut être mise à jour au moment de l'exécution.</target>
         <source>Service</source>
         <target>Service</target>
       </trans-unit>
+      <trans-unit id="6986e0df8092d822ac2c076520d83994c78834fc" datatype="html">
+        <source>Modified</source>
+        <target>Modified</target>
+      </trans-unit>
       <trans-unit id="9951bb3983c7dba6fde013e05c922e4fe1a44367" datatype="html">
         <source>Current value</source>
         <target>Valeur actuelle</target>
         <source>host</source>
         <target>host</target>
       </trans-unit>
-      <trans-unit id="9e35065e7c579e1fb960499117fd4b3c68d1c263" datatype="html">
-        <source>Host operation is disabled because orchestrator is unavailable</source>
-        <target>Host operation is disabled because orchestrator is unavailable</target>
+      <trans-unit id="b1b381321d4cef04605d3e6e8847ea2b72a03799" datatype="html">
+        <source>Identify</source>
+        <target>Identify</target>
       </trans-unit>
       <trans-unit id="a5d5e407f8c4e1b152509c966c90f37edf68472e" datatype="html">
         <source>Device path</source>
         <target>Device path</target>
       </trans-unit>
-      <trans-unit id="94e76c060aa68c05d8c4a3f5a20c92fab3e83ccf" datatype="html">
-        <source>Rotates</source>
-        <target>Rotates</target>
-      </trans-unit>
       <trans-unit id="b7da3e3505cc80f9bf3cffc8444c53e8a9ec70a5" datatype="html">
         <source>Available</source>
         <target>Available</target>
       </trans-unit>
+      <trans-unit id="396974120fc614fc930a27c8d15a094d82a3a9e4" datatype="html">
+        <source>Vendor</source>
+        <target>Vendor</target>
+      </trans-unit>
       <trans-unit id="6ec98fa3d6504ba1fd03465194b53706c8263c99" datatype="html">
         <source>Model</source>
         <target>Model</target>
       </trans-unit>
+      <trans-unit id="f2d785f5658c96c6a2f505cdd625108bcece84c3" datatype="html">
+        <source>Identify device 
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>
+        </source>
+        <target>Identify device 
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="c97ab45ca09248f8f1ba60328175741657fe39ce" datatype="html">
+        <source>Please enter the duration how long to blink the LED.</source>
+        <target>Please enter the duration how long to blink the LED.</target>
+      </trans-unit>
+      <trans-unit id="87e56ee5057023d7e8b59420b838bad112b043bc" datatype="html">
+        <source>1 minute</source>
+        <target>1 minute</target>
+      </trans-unit>
+      <trans-unit id="affa3b3bf1f36531e5ae65291f8a7cd1b06860ee" datatype="html">
+        <source>2 minutes</source>
+        <target>2 minutes</target>
+      </trans-unit>
+      <trans-unit id="878c6645b7fc26d85c7aee17a9d8c282a938dcf3" datatype="html">
+        <source>5 minutes</source>
+        <target>5 minutes</target>
+      </trans-unit>
+      <trans-unit id="aa0a76140961594b7176ade241e5025a7dbb5dce" datatype="html">
+        <source>10 minutes</source>
+        <target>10 minutes</target>
+      </trans-unit>
+      <trans-unit id="0a7f83a1f27750ef634a1f1f97263fac36113b1f" datatype="html">
+        <source>15 minutes</source>
+        <target>15 minutes</target>
+      </trans-unit>
+      <trans-unit id="699b690d686dbb8e00a1e95b89ba2fffb548da6e" datatype="html">
+        <source>Execute</source>
+        <target>Execute</target>
+      </trans-unit>
+      <trans-unit id="aa975a86dd49979a3ae90b9f3fc5b2c97311d422" datatype="html">
+        <source>Identifying '
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>' started on host '
+          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>'
+        </source>
+        <target>Identifying '
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>' started on host '
+          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="1a6e6ad05508130b7a99ce5b15daf3227c2a930c" datatype="html">
         <source>Updated options for module "
           <x id="INTERPOLATION" equiv-text="{{name}}"/>".
           <x id="INTERPOLATION" equiv-text="{{name}}"/>".
         </target>
       </trans-unit>
+      <trans-unit id="6bd47ff8707aa2e6a94a4a6e2566b86dc7956d5f" datatype="html">
+        <source>Always-On</source>
+        <target>Always-On</target>
+      </trans-unit>
       <trans-unit id="ac6c9212896d39b23811ed2dadab7d07336ec559" datatype="html">
         <source>Enable</source>
         <target>Activer</target>
         <source>Open Sessions</source>
         <target>Sessions ouvertes</target>
       </trans-unit>
+      <trans-unit id="34c6f45591d420b1101dcee53999d1de91c0e400" datatype="html">
+        <source>No available devices</source>
+        <target>No available devices</target>
+      </trans-unit>
+      <trans-unit id="dcfe8807a2a1d0d7074a02afe9b80645bd03b9ab" datatype="html">
+        <source>Please add primary devices first</source>
+        <target>Please add primary devices first</target>
+      </trans-unit>
+      <trans-unit id="05d024719e53f85f7f294b7e21dfd805709a0b06" datatype="html">
+        <source>Add devices by using filters</source>
+        <target>Add devices by using filters</target>
+      </trans-unit>
       <trans-unit id="37e58d1cbdf8212b380efa51422e42821d4f08e6" datatype="html">
         <source>No In</source>
         <target>Pas rentrés</target>
         <source>Backfilling of PGs is suspended</source>
         <target>Le renvoi des groupes de placements est suspendu</target>
       </trans-unit>
+      <trans-unit id="df526de2b93c4099a30c200ef551608e39ee5256" datatype="html">
+        <source>No Rebalance</source>
+        <target>No Rebalance</target>
+      </trans-unit>
+      <trans-unit id="c5b70346245f8d52b58e5e7fe222ce82f12429ce" datatype="html">
+        <source>OSD will choose not to backfill unless PG is also degraded</source>
+        <target>OSD will choose not to backfill unless PG is also degraded</target>
+      </trans-unit>
       <trans-unit id="7fbbd036394cfa623add40299757bc87df8eaa7e" datatype="html">
         <source>No Recover</source>
         <target>Pas de récupération</target>
         <source>Updated OSD Flags</source>
         <target>Drapeaux OSD mis à jour</target>
       </trans-unit>
+      <trans-unit id="948758e1412bb2ecdb98e3a4f1cbb6d7458456f2" datatype="html">
+        <source>Encryption</source>
+        <target>Encryption</target>
+      </trans-unit>
+      <trans-unit id="c8b1475105463088593de1022ff6dceb523eae0e" datatype="html">
+        <source>OSD</source>
+        <target>OSD</target>
+      </trans-unit>
       <trans-unit id="688578fcc739d6f0c5fb6c366dbb19d21c6d9e36" datatype="html">
         <source>out</source>
         <target>sorti</target>
         <source>Purge</source>
         <target>Purger</target>
       </trans-unit>
-      <trans-unit id="c8b1475105463088593de1022ff6dceb523eae0e" datatype="html">
-        <source>OSD</source>
-        <target>OSD</target>
-      </trans-unit>
       <trans-unit id="4f3cff08c7033b63bbccfe66006b1bcaea48ddd8" datatype="html">
         <source>purged</source>
         <target>purgé</target>
         <source>destroyed</source>
         <target>détruit</target>
       </trans-unit>
+      <trans-unit id="70ef158c584bafe788e319a0bffa11b02ee9abf1" datatype="html">
+        <source>delete</source>
+        <target>supprimer</target>
+      </trans-unit>
+      <trans-unit id="a5b387f5a15b95e339df10fc23526c659a2b6c6f" datatype="html">
+        <source>deleted</source>
+        <target>deleted</target>
+      </trans-unit>
       <trans-unit id="107614b994f2b01abdc1ca179bf780b0cd933ec4" datatype="html">
         <source>Recovery Priority</source>
         <target>Recovery Priority</target>
         <source>Read bytes</source>
         <target>Octets de lecture</target>
       </trans-unit>
-      <trans-unit id="ecbe2fdca919499125bc42c2c67cedae8563db1c" datatype="html">
-        <source>Writes bytes</source>
+      <trans-unit id="f15bf7f588f09ca79795b17bc244e8d336f28171" datatype="html">
+        <source>Write bytes</source>
         <target>Octets d'écriture</target>
       </trans-unit>
       <trans-unit id="f3c33322823c846b13f59ba2c8f234405bba99e1" datatype="html">
         <source>Write ops</source>
         <target>Opérations d'écriture</target>
       </trans-unit>
+      <trans-unit id="b27d1dd31789610130b7cdbf88c4da552cffe936" datatype="html">
+        <source>Edit OSD: 
+          <x id="INTERPOLATION" equiv-text="{{id}}"/>
+        </source>
+        <target>Edit OSD: 
+          <x id="INTERPOLATION" equiv-text="{{id}}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="986f1379580078e77666d10f8ddf4f839c6ca71d" datatype="html">
+        <source>Edit OSD</source>
+        <target>Edit OSD</target>
+      </trans-unit>
+      <trans-unit id="a4b09e2fa39c3e4f1a387f191fbae4eea3ce7bf5" datatype="html">
+        <source>Updated OSD "
+          <x id="INTERPOLATION" equiv-text="{{id}}"/>"
+        </source>
+        <target>Updated OSD "
+          <x id="INTERPOLATION" equiv-text="{{id}}"/>"
+        </target>
+      </trans-unit>
       <trans-unit id="d45455406092f58e6b089cb440b5b7934b801a01" datatype="html">
         <source>Mark OSD 
           <x id="INTERPOLATION" equiv-text="{{markAction}}"/>
         <source>Recovery Sleep</source>
         <target>Mise en veille de la récupération</target>
       </trans-unit>
-      <trans-unit id="a5c05002b0ac2040f1aede5e727e0ffd06eda819" datatype="html">
-        <source>Custom</source>
-        <target>Personnalisé</target>
-      </trans-unit>
       <trans-unit id="89553524f4e7db5c437b07dcfdc7b831d56ded1a" datatype="html">
         <source>Updated OSD recovery speed priority "
           <x id="INTERPOLATION" equiv-text="{{value}}"/>"
           <x id="INTERPOLATION_1" equiv-text="{{id}}"/>
         </target>
       </trans-unit>
-      <trans-unit id="9836e830d0219585b36d53be00a31c3d4798a4aa" datatype="html">
-        <source>Smartctl has received an unknown argument (error code
-          <x id="INTERPOLATION" equiv-text="{{smartData.smartctl_error_code}}"/>). You may be using an
-                incompatible version of smartmontools. Version &gt;= 7.0 of
-                smartmontools is required to succesfully retrieve data.
-        </source>
-        <target>Smartctl has received an unknown argument (error code
-          <x id="INTERPOLATION" equiv-text="{{smartData.smartctl_error_code}}"/>). You may be using an
-                incompatible version of smartmontools. Version &gt;= 7.0 of
-                smartmontools is required to succesfully retrieve data.
-        </target>
-      </trans-unit>
-      <trans-unit id="d5fd840374ca1a6f394bcd81f390a6dca27f8224" datatype="html">
-        <source>An error with error code 
-          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.
-        </source>
-        <target>An error with error code 
-          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.
-        </target>
-      </trans-unit>
-      <trans-unit id="a0b59d7139692bb8d8ed786b6eb6e9e70ce743f3" datatype="html">
-        <source>Raw</source>
-        <target>Raw</target>
-      </trans-unit>
-      <trans-unit id="2f3beddc8234b30fb26a7f63ba2f1ea74f2ed6f7" datatype="html">
-        <source>Threshold</source>
-        <target>Threshold</target>
-      </trans-unit>
-      <trans-unit id="4654b5a68af3c8bad29aa14ca85ccea1f3143c6b" datatype="html">
-        <source>When Failed</source>
-        <target>When Failed</target>
-      </trans-unit>
-      <trans-unit id="5b7f56d5be49fb8e8d8f40209d6746f8f72e9177" datatype="html">
-        <source>Worst</source>
-        <target>Worst</target>
-      </trans-unit>
-      <trans-unit id="1edb8e46b0fac57c5feb3d7d3585afc0122d5481" datatype="html">
-        <source>Create silence</source>
-        <target>Create silence</target>
+      <trans-unit id="3bc2d18913479965cb046ec75e2ac3f7b7a77ce5" datatype="html">
+        <source>Create Silence</source>
+        <target>Create Silence</target>
       </trans-unit>
       <trans-unit id="78917e8031aaf913ac3fa63295325ce8879703ce" datatype="html">
         <source>Job</source>
         <source>URL</source>
         <target>URL</target>
       </trans-unit>
+      <trans-unit id="d9f726c70aeba7fa6d3d68bff718abe78b1e50ac" datatype="html">
+        <source>Query</source>
+        <target>Query</target>
+      </trans-unit>
       <trans-unit id="a5cd682a8a33bdc72e093d059429e3cc3a50ec1d" datatype="html">
         <source>silence</source>
         <target>silence</target>
         <source>Created by</source>
         <target>Created by</target>
       </trans-unit>
-      <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc" datatype="html">
-        <source>Updated</source>
-        <target>Mis à jour</target>
-      </trans-unit>
       <trans-unit id="8d833cceee0ba4c5161b130365e02bc1e129b57e" datatype="html">
         <source>Ends</source>
         <target>Ends</target>
         <source>Silence</source>
         <target>Silence</target>
       </trans-unit>
-      <trans-unit id="f392abfbb997402ce2aebb13e660a8f01dec54db" datatype="html">
-        <source>Service type</source>
-        <target>Service type</target>
+      <trans-unit id="f2ea47d702c7f5e3e5fa751bf9959e21030b72e6" datatype="html">
+        <source>Daemon type</source>
+        <target>Daemon type</target>
       </trans-unit>
-      <trans-unit id="9ffa91b056fb979786627885651e19c8275675cd" datatype="html">
-        <source>Service instance</source>
-        <target>Service instance</target>
+      <trans-unit id="6c131968e6ab730d86443e6fc11c5cc2a76d7bac" datatype="html">
+        <source>Daemon ID</source>
+        <target>Daemon ID</target>
       </trans-unit>
-      <trans-unit id="b5910192a9ac4816638ff6383b03f986ff965796" datatype="html">
-        <source>Container id</source>
-        <target>Container id</target>
+      <trans-unit id="5738f0ca7ddd9594058ce051b1d5d576e2782825" datatype="html">
+        <source>Container ID</source>
+        <target>Container ID</target>
       </trans-unit>
-      <trans-unit id="60ab9cce12a56cdc5ec6a1b699f8c7afecd629d5" datatype="html">
-        <source>Rados config location</source>
-        <target>Rados config location</target>
+      <trans-unit id="78ebcf850cd440c5efc15e6a3a522ae75aeff669" datatype="html">
+        <source>Container Image name</source>
+        <target>Container Image name</target>
       </trans-unit>
-      <trans-unit id="dfa409f831c9168a377bdee02c5ea6aaf9b2bf61" datatype="html">
-        <source>Service URL</source>
-        <target>Service URL</target>
+      <trans-unit id="ea0c7ab9a7bdf646d494abf8c85fbf67d934d079" datatype="html">
+        <source>Container Image ID</source>
+        <target>Container Image ID</target>
       </trans-unit>
       <trans-unit id="bf2468fd965b8a59c135ad549b3a612aa9873abc" datatype="html">
         <source>Status Description</source>
         <target>Status Description</target>
       </trans-unit>
+      <trans-unit id="19867330bdc84096f5a93ab087a1766476c8a074" datatype="html">
+        <source>Last Refreshed</source>
+        <target>Last Refreshed</target>
+      </trans-unit>
+      <trans-unit id="2349ee2027ab6ceb3e4b8834928562075b7e1ac7" datatype="html">
+        <source>Container image name</source>
+        <target>Container image name</target>
+      </trans-unit>
+      <trans-unit id="3c475503fb93338811af6b3d9ccacca1d7334609" datatype="html">
+        <source>Container image ID</source>
+        <target>Container image ID</target>
+      </trans-unit>
+      <trans-unit id="8dd15f6c73c05a8b0bd7b6d416487ab6570b88c8" datatype="html">
+        <source>Running</source>
+        <target>Running</target>
+      </trans-unit>
       <trans-unit id="fb2e1bed329dc5b84197808c778abb9edcbdb335" datatype="html">
         <source>Used</source>
         <target>Utilisé</target>
         <source>NFS export</source>
         <target>NFS export</target>
       </trans-unit>
+      <trans-unit id="c56d51748965db5f3966cd1d06a1c9f4b5244931" datatype="html">
+        <source>Crush Rule</source>
+        <target>Crush Rule</target>
+      </trans-unit>
       <trans-unit id="ae128527ec18892f812a62a1fd15dc50a38060c0" datatype="html">
         <source>EC Profile</source>
         <target>EC Profile</target>
         <source>erasure code profile</source>
         <target>profil de code d'effacement</target>
       </trans-unit>
+      <trans-unit id="ae48e19a9a2acaca4b5ea594451bc9b0b01ec8d2" datatype="html">
+        <source>crush rule</source>
+        <target>crush rule</target>
+      </trans-unit>
       <trans-unit id="112d356ad6846959ca4aa5ec9a1f0d9d473b24ec" datatype="html">
         <source>Replica Size</source>
         <target>Taille de la réplique</target>
         <source>Crush Ruleset</source>
         <target>Jeu de règles Crush</target>
       </trans-unit>
-      <trans-unit id="f15bf7f588f09ca79795b17bc244e8d336f28171" datatype="html">
-        <source>Write bytes</source>
-        <target>Octets d'écriture</target>
-      </trans-unit>
       <trans-unit id="bcc365a084b6145b941b371bd4c2b6c3d2c79234" datatype="html">
         <source>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</source>
         <target>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</target>
         <source>Swift Key</source>
         <target>Swift Key</target>
       </trans-unit>
+      <trans-unit id="6462d8f12b427c29363f00b12f20f566be24937c" datatype="html">
+        <source>Device ID</source>
+        <target>Device ID</target>
+      </trans-unit>
+      <trans-unit id="82f12bf23db4bb82db89877bebe93954bc1c8fb0" datatype="html">
+        <source>State of Health</source>
+        <target>State of Health</target>
+      </trans-unit>
+      <trans-unit id="7bd34bd120146afef0e0d8fa168d9bdabd594b6a" datatype="html">
+        <source>Good</source>
+        <target>Good</target>
+      </trans-unit>
+      <trans-unit id="31c59dce114ec0a9d02552ef7b81920b3de36793" datatype="html">
+        <source>Bad</source>
+        <target>Bad</target>
+      </trans-unit>
+      <trans-unit id="2862af5284f66d4b06bdcf77a5519141723b6989" datatype="html">
+        <source>Stale</source>
+        <target>Stale</target>
+      </trans-unit>
+      <trans-unit id="8d8e819b52984a4fbdec75a99eb28d1ae4323bbc" datatype="html">
+        <source>Life Expectancy</source>
+        <target>Life Expectancy</target>
+      </trans-unit>
+      <trans-unit id="72d9b15be18ea063e78c4e855b9e8c0af95593ef" datatype="html">
+        <source>Prediction Creation Date</source>
+        <target>Prediction Creation Date</target>
+      </trans-unit>
+      <trans-unit id="a6b4ef85e5ff8bd192751c7bbebc54c46118d6d4" datatype="html">
+        <source>Device Name</source>
+        <target>Device Name</target>
+      </trans-unit>
+      <trans-unit id="d5fd840374ca1a6f394bcd81f390a6dca27f8224" datatype="html">
+        <source>An error with error code 
+          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.
+        </source>
+        <target>An error with error code 
+          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.
+        </target>
+      </trans-unit>
+      <trans-unit id="a0b59d7139692bb8d8ed786b6eb6e9e70ce743f3" datatype="html">
+        <source>Raw</source>
+        <target>Raw</target>
+      </trans-unit>
+      <trans-unit id="2f3beddc8234b30fb26a7f63ba2f1ea74f2ed6f7" datatype="html">
+        <source>Threshold</source>
+        <target>Threshold</target>
+      </trans-unit>
+      <trans-unit id="4654b5a68af3c8bad29aa14ca85ccea1f3143c6b" datatype="html">
+        <source>When Failed</source>
+        <target>When Failed</target>
+      </trans-unit>
+      <trans-unit id="5b7f56d5be49fb8e8d8f40209d6746f8f72e9177" datatype="html">
+        <source>Worst</source>
+        <target>Worst</target>
+      </trans-unit>
       <trans-unit id="1481b8488e10dbc437accce89d2ae35a0106e8ba" datatype="html">
         <source>Scope</source>
         <target>Périmètre</target>
           <x id="INTERPOLATION" equiv-text="{{role_name}}"/>'
         </target>
       </trans-unit>
+      <trans-unit id="bd15b8d5c0fa160161728eefbbb585710414d471" datatype="html">
+        <source>New name</source>
+        <target>New name</target>
+      </trans-unit>
+      <trans-unit id="6f126277f3dc22a3ab3609c4c198386c8744e11a" datatype="html">
+        <source>Clone Role</source>
+        <target>Clone Role</target>
+      </trans-unit>
+      <trans-unit id="d19d8320479854bc52877cdf0dc5ecfe34a36ec7" datatype="html">
+        <source>Cloned role '
+          <x id="INTERPOLATION" equiv-text="{{dst_name}}"/>' from '
+          <x id="INTERPOLATION_1" equiv-text="{{src_name}}"/>'
+        </source>
+        <target>Cloned role '
+          <x id="INTERPOLATION" equiv-text="{{dst_name}}"/>' from '
+          <x id="INTERPOLATION_1" equiv-text="{{src_name}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="2e35d60a14ce0b470e8b54602864a867f7fcef40" datatype="html">
         <source>There are no roles.</source>
         <target>There are no roles.</target>
         <source>Updated user password"</source>
         <target>Updated user password"</target>
       </trans-unit>
+      <trans-unit id="c4e596a44ffc4718c1602600d6e4f029190eb031" datatype="html">
+        <source>The name of the node under which data should be placed.</source>
+        <target>The name of the node under which data should be placed.</target>
+      </trans-unit>
+      <trans-unit id="f24772ba1091155f8d7025332ca8456a204d1e28" datatype="html">
+        <source>The type of CRUSH nodes across which we should separate replicas.</source>
+        <target>The type of CRUSH nodes across which we should separate replicas.</target>
+      </trans-unit>
+      <trans-unit id="a3896042af461a80091c3f7a5fe3fff5ac40a3a0" datatype="html">
+        <source>The device class data should be placed on.</source>
+        <target>The device class data should be placed on.</target>
+      </trans-unit>
       <trans-unit id="1d7fbcc3d5efc946ffbcf86fed04c4e20dda20fb" datatype="html">
         <source>Each object is split in data-chunks parts, each stored on a different OSD.</source>
         <target>Chaque objet est divisé en parties de blocs de données, chacune étant stockée sur un OSD différent.</target>
         <source>Success</source>
         <target>Success</target>
       </trans-unit>
+      <trans-unit id="61fd1cffcb763cbfd5829071723cf9b647174bd9" datatype="html">
+        <source>An error occurred.</source>
+        <target>An error occurred.</target>
+      </trans-unit>
       <trans-unit id="e6ca3c0efaf51e6d45a7f92f58bac37140c3fda4" datatype="html">
         <source>Last 5 minutes</source>
         <target>Les 5 dernières minutes</target>
         <source>There are no items available.</source>
         <target>Aucun élément disponible.</target>
       </trans-unit>
-      <trans-unit id="f6755cff4957d5c3c89bafce5651f1b6fa2b1fd9" datatype="html">
-        <source>Add</source>
-        <target>Ajouter</target>
+      <trans-unit id="55dd9f44e64851bca3b7bfc9283a5ff36f030228" datatype="html">
+        <source>Set</source>
+        <target>Set</target>
       </trans-unit>
       <trans-unit id="019d4bd6a5690f0cfa0ecf346a4e6bf7f0d8debb" datatype="html">
         <source>Remove</source>
         <target>Remove</target>
       </trans-unit>
+      <trans-unit id="e168fe6c468b3ad632731395ef89860274242844" datatype="html">
+        <source>Unset</source>
+        <target>Unset</target>
+      </trans-unit>
       <trans-unit id="54a4a3132b693575728a45a5f3154ad4c9af404b" datatype="html">
         <source>Clone</source>
         <target>Cloner</target>
         <source>No</source>
         <target>Non</target>
       </trans-unit>
+      <trans-unit id="baf918eed9d4050cdad2acebc0f27b6eaf8e3fcd" datatype="html">
+        <source>Required rules for passwords:</source>
+        <target>Required rules for passwords:</target>
+      </trans-unit>
+      <trans-unit id="40f61909e1f017c4652e64b055089beef19cf871" datatype="html">
+        <source>Must contain at least 
+          <x id="INTERPOLATION" equiv-text="{{length}}"/> characters
+        </source>
+        <target>Must contain at least 
+          <x id="INTERPOLATION" equiv-text="{{length}}"/> characters
+        </target>
+      </trans-unit>
+      <trans-unit id="f4f5dbb3a05b5f38dab47ef38dad88a4574a765a" datatype="html">
+        <source>Must not be the same as the previous one</source>
+        <target>Must not be the same as the previous one</target>
+      </trans-unit>
+      <trans-unit id="607370e07b50087c196a5fcea9184e3d693226b2" datatype="html">
+        <source>Cannot contain the username</source>
+        <target>Cannot contain the username</target>
+      </trans-unit>
+      <trans-unit id="e6e355eab2596251aaa42623b41e6026d5c03e3b" datatype="html">
+        <source>Cannot contain any configured keyword</source>
+        <target>Cannot contain any configured keyword</target>
+      </trans-unit>
+      <trans-unit id="394bcd6d5e4da75b720c4d28f94f2aef7bb38355" datatype="html">
+        <source>Cannot contain any repetitive characters e.g. "aaa"</source>
+        <target>Cannot contain any repetitive characters e.g. "aaa"</target>
+      </trans-unit>
+      <trans-unit id="030e61e0bcf2536fb047645db6182d43e9fca9e9" datatype="html">
+        <source>Cannot contain any sequential characters e.g. "abc"</source>
+        <target>Cannot contain any sequential characters e.g. "abc"</target>
+      </trans-unit>
       <trans-unit id="99fa0b67376d40142bd4d3ace3344abf4f98b6a5" datatype="html">
         <source>Your matcher seems to match no currently defined rule or active alert.</source>
         <target>Your matcher seems to match no currently defined rule or active alert.</target>
         <source>Deleting</source>
         <target>En cours de suppression</target>
       </trans-unit>
-      <trans-unit id="70ef158c584bafe788e319a0bffa11b02ee9abf1" datatype="html">
-        <source>delete</source>
-        <target>supprimer</target>
-      </trans-unit>
       <trans-unit id="d07a282afc7fbdb39cea6e1c9b544882a7260a86" datatype="html">
         <source>Adding</source>
         <target>Adding</target>
         <source>remove</source>
         <target>remove</target>
       </trans-unit>
+      <trans-unit id="0e21237afdc84ec360c374fa678d9b1cfaa334f9" datatype="html">
+        <source>Importing</source>
+        <target>Importing</target>
+      </trans-unit>
+      <trans-unit id="c6b4128c006f4cc0564137e1a1482b5c432aa347" datatype="html">
+        <source>import</source>
+        <target>import</target>
+      </trans-unit>
+      <trans-unit id="3b9f4138abbca0fd66db1f7332f4b54e2a6d916d" datatype="html">
+        <source>Imported</source>
+        <target>Imported</target>
+      </trans-unit>
       <trans-unit id="3f757cfc3749ebb5d4462017cb60138ca082f15f" datatype="html">
         <source>RBD '
           <x id="INTERPOLATION" equiv-text="{{id}}"/>'
           <x id="INTERPOLATION" equiv-text="{{id}}"/>'
         </target>
       </trans-unit>
+      <trans-unit id="2bf18ddf3785f7afb4f01dcf63d3d8c40f4bfba5" datatype="html">
+        <source>mirroring site name</source>
+        <target>mirroring site name</target>
+      </trans-unit>
+      <trans-unit id="167b73bb24b4695614ce0fc567b7a45080457a44" datatype="html">
+        <source>bootstrap token</source>
+        <target>bootstrap token</target>
+      </trans-unit>
       <trans-unit id="4fb54a0291f49583c317d4a3690239141b5a8f68" datatype="html">
         <source>mirror mode for pool '
           <x id="INTERPOLATION" equiv-text="{{id}}"/>'
         <source>all dashboards</source>
         <target>all dashboards</target>
       </trans-unit>
+      <trans-unit id="6c19652df9249c60827044ed6274933cab180c63" datatype="html">
+        <source>OSDs (DriveGroups: 
+          <x id="INTERPOLATION" equiv-text="{{tracking_id}}"/>)
+        </source>
+        <target>OSDs (DriveGroups: 
+          <x id="INTERPOLATION" equiv-text="{{tracking_id}}"/>)
+        </target>
+      </trans-unit>
       <trans-unit id="1b559dbd9cc9664fd788c2da9a10d3abafe066cb" datatype="html">
         <source>Name is already used by 
           <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.
           <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.
         </target>
       </trans-unit>
+      <trans-unit id="460f07780389d24c6a540c007c7367a56afad585" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> is busy.
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> is busy.
+        </target>
+      </trans-unit>
       <trans-unit id="1ff7676ad1e991102224540a32dd44ad1ab88aa8" datatype="html">
         <source>
           <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.
         <source>Cannot disable mirroring because it contains a peer.</source>
         <target>Impossible de désactiver la mise en miroir, car l'élément contient un homologue.</target>
       </trans-unit>
+      <trans-unit id="5c4525a1b76ca54d1aadeaecfdb83aedc2eec6e0" datatype="html">
+        <source>Identifying</source>
+        <target>Identifying</target>
+      </trans-unit>
+      <trans-unit id="ffd067e54a061d1f27cb35f0cf67ef7f29e19111" datatype="html">
+        <source>identify</source>
+        <target>identify</target>
+      </trans-unit>
+      <trans-unit id="7c921f339274688c22ba1acac7af6b097ad3599d" datatype="html">
+        <source>Identified</source>
+        <target>Identified</target>
+      </trans-unit>
+      <trans-unit id="3307492c27c2150cd26c514030444e11fd61089f" datatype="html">
+        <source>device '
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>' on host '
+          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>'
+        </source>
+        <target>device '
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>' on host '
+          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="f123ae1fc3b000e5d08e766dd78bff162afe709d" datatype="html">
         <source>host '
           <x id="INTERPOLATION" equiv-text="{{hostname}}"/>'
           <x id="INTERPOLATION" equiv-text="{{hostname}}"/>'
         </target>
       </trans-unit>
+      <trans-unit id="c1af76189dcefd094da2bc1a4a63968f3bab5789" datatype="html">
+        <source>OSD '
+          <x id="INTERPOLATION" equiv-text="{{svc_id}}"/>'
+        </source>
+        <target>OSD '
+          <x id="INTERPOLATION" equiv-text="{{svc_id}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="dfe70001dc590a9e12512cbb206aa29fb36fd00b" datatype="html">
         <source>pool '
           <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>'
           <x id="INTERPOLATION" equiv-text="{{name}}"/>'
         </target>
       </trans-unit>
+      <trans-unit id="79052d6c47258dc19ada12dbb2563761102b6f1d" datatype="html">
+        <source>crush rule '
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>'
+        </source>
+        <target>crush rule '
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="369462e5e018360e0600bb570866201ad5c3c8a8" datatype="html">
         <source>target '
           <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>'
           <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>
         </target>
       </trans-unit>
-      <trans-unit id="54bf6542e39412f83ec883266f443e31b304c937" datatype="html">
-        <source>Required rules for password complexity:
-    - must contain at least 8 characters
-    - cannot contain username
-    - cannot contain any keyword used in Ceph
-    - cannot contain any repetitive characters e.g. "aaa"
-    - cannot contain any sequencial characters e.g. "abc"
-    - must consist of characters from the following groups:
-      * alphabetic a-z, A-Z
-      * numbers 0-9
-      * special chars: !"#$%&amp; '()*+,-./:;&lt;=&gt;?@[\]^_`
-          <x id="INTERPOLATION" equiv-text="{{|}}"/>~
-      * any other characters (signs)
-        </source>
-        <target>Required rules for password complexity:
-    - must contain at least 8 characters
-    - cannot contain username
-    - cannot contain any keyword used in Ceph
-    - cannot contain any repetitive characters e.g. "aaa"
-    - cannot contain any sequencial characters e.g. "abc"
-    - must consist of characters from the following groups:
-      * alphabetic a-z, A-Z
-      * numbers 0-9
-      * special chars: !"#$%&amp; '()*+,-./:;&lt;=&gt;?@[\]^_`
-          <x id="INTERPOLATION" equiv-text="{{|}}"/>~
-      * any other characters (signs)
-        </target>
-      </trans-unit>
-      <trans-unit id="ba575e9364b43dc870e332265c5182bb357b7a49" datatype="html">
-        <source>Weak</source>
-        <target>Weak</target>
-      </trans-unit>
-      <trans-unit id="7e6c975ebea8b5f8b120905ca7acf9f8edf59d8e" datatype="html">
-        <source>OK</source>
-        <target>OK</target>
-      </trans-unit>
-      <trans-unit id="3f7349017a01eed18c3daf2b7295ca96ef442eb6" datatype="html">
-        <source>Strong</source>
-        <target>Strong</target>
-      </trans-unit>
-      <trans-unit id="a1e3aecc2022cb0ebed8575a24d0e29d2de815c6" datatype="html">
-        <source>Very strong</source>
-        <target>Very strong</target>
-      </trans-unit>
     </body>
   </file>
 </xliff>
\ No newline at end of file
index dc95a467f93c1130e6e308786da92a977e1e31bd..b2ecc61e7e15a5ebd9676aa582b5b27d6e4359b7 100644 (file)
         <source>Logs</source>
         <target>Log</target>
       </trans-unit>
-      <trans-unit id="9fe218829514884cdd0ca2300573a4e0428c324f" datatype="html">
-        <source>Alerts</source>
-        <target>Peringatan</target>
-      </trans-unit>
-      <trans-unit id="aa0c44aa1e5727061baa91e954f77e2f5f9a37c9" datatype="html">
-        <source>Silences</source>
-        <target>Silences</target>
+      <trans-unit id="17fc3efe5f9fa4e0289c900cb6202265215a1a27" datatype="html">
+        <source>Monitoring</source>
+        <target>Monitoring</target>
       </trans-unit>
       <trans-unit id="92899fa68e8ca108912163ff58edc8540e453787" datatype="html">
         <source>Pools</source>
         <source>Back</source>
         <target>Kembali</target>
       </trans-unit>
+      <trans-unit id="9ce641535be1ffa106c87724ba0637facaef5f61" datatype="html">
+        <source>Your password will expire in 
+          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>less than 1
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day. Click
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.
+        </source>
+        <target>Your password will expire in 
+          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>less than 1
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day. Click
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.
+        </target>
+      </trans-unit>
+      <trans-unit id="c2f34088c155e40ffb23770a465a65868ce772b2" datatype="html">
+        <source>Your password will expire in 
+          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
+          <x id="INTERPOLATION" equiv-text="{{ expirationDays }}"/>
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day(s). Click
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.
+        </source>
+        <target>Your password will expire in 
+          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
+          <x id="INTERPOLATION" equiv-text="{{ expirationDays }}"/>
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day(s). Click
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.
+        </target>
+      </trans-unit>
+      <trans-unit id="9b516f972c744779257310b73f6e97438b726707" datatype="html">
+        <source>Orchestrator is not available. Please consult the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to
+  configure and enable the functionality.
+        </source>
+        <target>Orchestrator is not available. Please consult the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to
+  configure and enable the functionality.
+        </target>
+      </trans-unit>
       <trans-unit id="012741ee52b3c050e4a977c37cc2334f7974f141" datatype="html">
         <source>Failed to load data.</source>
         <target>Gagal memuat data.</target>
       </trans-unit>
+      <trans-unit id="1e5e23363e949f7dcbaf034bdb141a561132a10e" datatype="html">
+        <source>Clear filters</source>
+        <target>Clear filters</target>
+      </trans-unit>
       <trans-unit id="80cc9a12d4bf6fe454ed94b379eeaf915f920bb7" datatype="html">
         <source>selected</source>
         <target>dipilih</target>
         <source>Values</source>
         <target>Nilai</target>
       </trans-unit>
+      <trans-unit id="5894f7158499fdb89527af50c9f1cf7d4c95cad6" datatype="html">
+        <source>-- Default --</source>
+        <target>-- Default --</target>
+      </trans-unit>
+      <trans-unit id="514f6e12d035a6d9b00de6b3e55c18b73488da07" datatype="html">
+        <source>true</source>
+        <target>true</target>
+      </trans-unit>
+      <trans-unit id="774f5e6a183dea08393789b6f72e86afad729419" datatype="html">
+        <source>false</source>
+        <target>false</target>
+      </trans-unit>
       <trans-unit id="82029b6db704c56a2aa3e82ac555b8655356b077" datatype="html">
         <source>The entered value is too high! It must not be greater than 
           <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.
         <source>Cancel</source>
         <target>Batal</target>
       </trans-unit>
+      <trans-unit id="55a2f26b2e87886d9b8015a887e38e51ab2a866a" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>
+          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>
+          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8" datatype="html">
+        <source>Close</source>
+        <target>Tutup</target>
+      </trans-unit>
       <trans-unit id="40661476cb24c89d8b06614998e31d5fbe84eeb6" datatype="html">
         <source>Hosts List</source>
         <target>Daftar Hos</target>
         <source>Overall Performance</source>
         <target>Performa Keseluruhan</target>
       </trans-unit>
-      <trans-unit id="6bc15dc1a621b6ff7378db7fd3ac10b2a2627c77" datatype="html">
-        <source>Please consult the
-          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
-          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to
-  configure and enable the orchestrator functionality.
-        </source>
-        <target>Please consult the
-          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
-          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to
-  configure and enable the orchestrator functionality.
-        </target>
-      </trans-unit>
       <trans-unit id="3e24569eca61d598c8b01defbbbb1fa8bd5222bc" datatype="html">
         <source>Devices</source>
         <target>Devices</target>
         <source>Not In Quorum</source>
         <target>Tidak dalam Kuorum</target>
       </trans-unit>
+      <trans-unit id="4383e9662ea19839c7499b2128d43a195e564317" datatype="html">
+        <source>OSD creation preview</source>
+        <target>OSD creation preview</target>
+      </trans-unit>
+      <trans-unit id="366225c51e0b00bcb1c55795a0dc5e81c455f84e" datatype="html">
+        <source>DriveGroups</source>
+        <target>DriveGroups</target>
+      </trans-unit>
+      <trans-unit id="8edc89137d0d8c5667a2f03230beafae45e58429" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{ deviceType }}"/> devices
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{ deviceType }}"/> devices
+        </target>
+      </trans-unit>
+      <trans-unit id="eba28e1805b18f7c8ae2e4bc15dcf063b10b3822" datatype="html">
+        <source>At least one of these filters must be applied in order to proceed:</source>
+        <target>At least one of these filters must be applied in order to proceed:</target>
+      </trans-unit>
+      <trans-unit id="93389aa2fe2bea50bf89554ee51b28f87ee2fb50" datatype="html">
+        <source>Number of devices: 
+          <x id="INTERPOLATION" equiv-text="{{ filteredDevices.length }}"/>. Raw capacity:
+          <x id="INTERPOLATION_1" equiv-text="{{ capacity | dimlessBinary }}"/>.
+        </source>
+        <target>Number of devices: 
+          <x id="INTERPOLATION" equiv-text="{{ filteredDevices.length }}"/>. Raw capacity:
+          <x id="INTERPOLATION_1" equiv-text="{{ capacity | dimlessBinary }}"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="ccb4f84edc0b4e76415bb3f9b73d725b06683af3" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{ name }}"/> devices
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{ name }}"/> devices
+        </target>
+      </trans-unit>
+      <trans-unit id="60cb3d01e5ddf266ecb4271007a1c3d0f3efdc22" datatype="html">
+        <source>The primary storage devices. These devices contain all OSD data.</source>
+        <target>The primary storage devices. These devices contain all OSD data.</target>
+      </trans-unit>
+      <trans-unit id="b432e04886d0d1fd84f740477383051f85addcf2" datatype="html">
+        <source>Write-Ahead-Log devices. These devices are used for BlueStore’s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device.</source>
+        <target>Write-Ahead-Log devices. These devices are used for BlueStore’s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device.</target>
+      </trans-unit>
+      <trans-unit id="b87e181ab9e8393aa5ed759dd3d53836e32c8ffe" datatype="html">
+        <source>DB devices can be used for storing BlueStore’s internal metadata.  It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD).</source>
+        <target>DB devices can be used for storing BlueStore’s internal metadata.  It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD).</target>
+      </trans-unit>
+      <trans-unit id="f6755cff4957d5c3c89bafce5651f1b6fa2b1fd9" datatype="html">
+        <source>Add</source>
+        <target>Tambah</target>
+      </trans-unit>
+      <trans-unit id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46" datatype="html">
+        <source>Clear</source>
+        <target>Clear</target>
+      </trans-unit>
+      <trans-unit id="7e0fd3c7af0630f93befa6234a693a32a61084e0" datatype="html">
+        <source>Raw capacity: 
+          <x id="INTERPOLATION" equiv-text="{{ capacity | dimlessBinary }}"/>
+        </source>
+        <target>Raw capacity: 
+          <x id="INTERPOLATION" equiv-text="{{ capacity | dimlessBinary }}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="43ecf6bee2aebc07b0aad6dc1fe13e38d14687fa" datatype="html">
+        <source>Shared devices</source>
+        <target>Shared devices</target>
+      </trans-unit>
+      <trans-unit id="7a1c376f6f1b37de4c318ff2106255ba6c0f5b0b" datatype="html">
+        <source>WAL slots</source>
+        <target>WAL slots</target>
+      </trans-unit>
+      <trans-unit id="73811a6f37b63e6b0e491e221bfa21e9dea8a87a" datatype="html">
+        <source>How many OSDs per WAL device.</source>
+        <target>How many OSDs per WAL device.</target>
+      </trans-unit>
+      <trans-unit id="0c67a7ac4762ef1cc855056c6b4daab93e53a0a5" datatype="html">
+        <source>Specify 0 to let Orchestrator backend decide it.</source>
+        <target>Specify 0 to let Orchestrator backend decide it.</target>
+      </trans-unit>
+      <trans-unit id="7bda9362e06e6c67341b4a8425b0d29d6b84464b" datatype="html">
+        <source>Value should be greater than or equal to 0</source>
+        <target>Value should be greater than or equal to 0</target>
+      </trans-unit>
+      <trans-unit id="324c2b10152b9dd908222bb0b71f61beb60a30c5" datatype="html">
+        <source>DB slots</source>
+        <target>DB slots</target>
+      </trans-unit>
+      <trans-unit id="c23cf12ef9c76f37fc7a4b7ae3e00fb0f68b6e26" datatype="html">
+        <source>How many OSDs per DB device.</source>
+        <target>How many OSDs per DB device.</target>
+      </trans-unit>
+      <trans-unit id="6cdb1fea93d77c07950c0c76c6e0ad79ebbef084" datatype="html">
+        <source>Features</source>
+        <target>Fitur</target>
+      </trans-unit>
+      <trans-unit id="3e2a583f531f7dd9f089f68a6968e444c372c3e8" datatype="html">
+        <source>Preview</source>
+        <target>Preview</target>
+      </trans-unit>
       <trans-unit id="5ef50ba2514414f799d4c8fc36067a251904ba81" datatype="html">
         <source>Cluster-wide OSD Flags</source>
         <target>Flag OSD Klaster</target>
         <source>{VAR_SELECT, select, 1 {Deep } }</source>
         <target>{VAR_SELECT, select, 1 {Dalam } }</target>
       </trans-unit>
-      <trans-unit id="2613498e8e5853c26a1cc62ae8dc673d1fdf0e2a" datatype="html">
+      <trans-unit id="fd0a4b6eed32e3488eccdc9c13f9841f08cc275e" datatype="html">
         <source>You are about to apply a 
           <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to
           the OSD(s): 
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
-          <x id="INTERPOLATION" equiv-text="{{ selected | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ selected | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.
         </source>
         <target>You are about to apply a 
           <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to
           the OSD(s): 
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
-          <x id="INTERPOLATION" equiv-text="{{ selected | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ selected | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.
         </target>
       </trans-unit>
         <source>OSDs List</source>
         <target>Daftar OSD</target>
       </trans-unit>
-      <trans-unit id="c402e6ec1c6792ede81f56c28eee8955860391c8" datatype="html">
+      <trans-unit id="d5707a32ba9c1138e6423498fb0b24e970ebd19f" datatype="html">
         <source>
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) 
-          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
           <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>
         </source>
         <target>
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) 
-          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
           <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.
         </target>
       </trans-unit>
-      <trans-unit id="d2797d01ba86f5df03d875803e49e648a4027869" datatype="html">
+      <trans-unit id="d08c1e4f17dffc0ed1ac2e2e2875cb8b569eeb35" datatype="html">
         <source>The 
-          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to destroy!
+          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to be 
+          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>! 
+          <x id="INTERPOLATION_1" equiv-text="{{ message }}"/>
         </source>
         <target>The 
-          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to destroy!
+          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to be 
+          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>! 
+          <x id="INTERPOLATION_1" equiv-text="{{ message }}"/>
         </target>
       </trans-unit>
       <trans-unit id="e776996dac651ef3819bfa767ccf2a0613759f47" datatype="html">
         <source>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</source>
         <target>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</target>
       </trans-unit>
-      <trans-unit id="1e2c50ed3c3934ef068976dc7f38513cec29d515" datatype="html">
+      <trans-unit id="5cd6a031937412c42e5efa1e6959cb72ac08c720" datatype="html">
         <source>
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD 
-          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
           <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>
         </source>
         <target>
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD 
-          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
           <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.
         </target>
       </trans-unit>
-      <trans-unit id="4f8b2bb476981727ab34ed40fde1218361f92c45" datatype="html">
-        <source>Details</source>
-        <target>Detail</target>
+      <trans-unit id="3eda19b44809820fffd5d3753bafb7243116f4b0" datatype="html">
+        <source>To see all active Prometheus alerts, please
+      provide the URL to the API of Prometheus' Alertmanager as described in the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.
+        </source>
+        <target>To see all active Prometheus alerts, please
+      provide the URL to the API of Prometheus' Alertmanager as described in the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="880ad4df5a2051a437321443d69c9a866699e5ad" datatype="html">
+        <source>Active Alerts</source>
+        <target>Active Alerts</target>
+      </trans-unit>
+      <trans-unit id="8e5e0e09a11990d343926ed693574213d703c38d" datatype="html">
+        <source>All Alerts</source>
+        <target>All Alerts</target>
+      </trans-unit>
+      <trans-unit id="526938c2b7945cb0d68328c24bd77730230cd455" datatype="html">
+        <source>To enable Silences, please provide the URL to the API of the Prometheus' Alertmanager as
+      described in the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.
+        </source>
+        <target>To enable Silences, please provide the URL to the API of the Prometheus' Alertmanager as
+      described in the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="aa0c44aa1e5727061baa91e954f77e2f5f9a37c9" datatype="html">
+        <source>Silences</source>
+        <target>Silences</target>
       </trans-unit>
       <trans-unit id="8501055865d7031b5521a0c5467532648009a61d" datatype="html">
         <source>Matcher</source>
         <source>{VAR_SELECT, select, 1 {Update} other {Add} }</source>
         <target>{VAR_SELECT, select, 1 {Update} other {Add} }</target>
       </trans-unit>
-      <trans-unit id="f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8" datatype="html">
-        <source>Close</source>
-        <target>Tutup</target>
-      </trans-unit>
       <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c" datatype="html">
         <source>Edit</source>
         <target>Edit</target>
         <source>End time</source>
         <target>End time</target>
       </trans-unit>
-      <trans-unit id="dbe739ec8c99a0132e326067ffec9c0ee06b2655" datatype="html">
-        <source>Matchers
-          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>*
-          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>
-        </source>
-        <target>Matchers
-          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>*
-          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>
-        </target>
+      <trans-unit id="992123459137d45c15df5548bc9682aad835c04b" datatype="html">
+        <source>Matchers</source>
+        <target>Matchers</target>
       </trans-unit>
       <trans-unit id="3e023166c55833d5a13f4143e3dbe372befe1b4e" datatype="html">
         <source>A silence requires at least one matcher</source>
         <source>CephFS</source>
         <target>CephFS</target>
       </trans-unit>
+      <trans-unit id="0eb15f32b2b92d7f3103ef3ff032621888a8dc32" datatype="html">
+        <source>Old password</source>
+        <target>Old password</target>
+      </trans-unit>
+      <trans-unit id="1cf42e491adc166a337a960eb84d03c0c3f677c8" datatype="html">
+        <source>The old and new passwords must be different.</source>
+        <target>The old and new passwords must be different.</target>
+      </trans-unit>
+      <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229" datatype="html">
+        <source>New password</source>
+        <target>New password</target>
+      </trans-unit>
+      <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b" datatype="html">
+        <source>Confirm new password</source>
+        <target>Confirm new password</target>
+      </trans-unit>
+      <trans-unit id="90163a3d3746819aef42e829f4446331232f3b66" datatype="html">
+        <source>Password confirmation doesn't match the new password.</source>
+        <target>Password confirmation doesn't match the new password.</target>
+      </trans-unit>
+      <trans-unit id="d06ae77f9ec46a4cdd49e7e76c73a411aaf2ee38" datatype="html">
+        <source>Please set a new password.</source>
+        <target>Please set a new password.</target>
+      </trans-unit>
+      <trans-unit id="8b5b3566e88438f51bd5f6caf6c090ed565ba5ed" datatype="html">
+        <source>You will be redirected to the login page afterwards.</source>
+        <target>You will be redirected to the login page afterwards.</target>
+      </trans-unit>
       <trans-unit id="449dca3d3a93ead418b0541ea81b0dda7e6483c2" datatype="html">
         <source>Welcome to Ceph!</source>
         <target>Selamat datang di Ceph!</target>
           <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You'll be logged out from the Identity Provider when you retry logging in.
         </target>
       </trans-unit>
-      <trans-unit id="0eb15f32b2b92d7f3103ef3ff032621888a8dc32" datatype="html">
-        <source>Old password</source>
-        <target>Old password</target>
-      </trans-unit>
-      <trans-unit id="1cf42e491adc166a337a960eb84d03c0c3f677c8" datatype="html">
-        <source>The old and new passwords must be different.</source>
-        <target>The old and new passwords must be different.</target>
-      </trans-unit>
-      <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229" datatype="html">
-        <source>New password</source>
-        <target>New password</target>
-      </trans-unit>
-      <trans-unit id="595ebc9279497f6dc733777e2816bee936901388" datatype="html">
-        <source>Too weak</source>
-        <target>Too weak</target>
-      </trans-unit>
-      <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b" datatype="html">
-        <source>Confirm new password</source>
-        <target>Confirm new password</target>
-      </trans-unit>
-      <trans-unit id="90163a3d3746819aef42e829f4446331232f3b66" datatype="html">
-        <source>Password confirmation doesn't match the new password.</source>
-        <target>Password confirmation doesn't match the new password.</target>
-      </trans-unit>
       <trans-unit id="471e78026c258073ba687478dc54c35d9041ea42" datatype="html">
         <source>Forbidden</source>
         <target>Terlarang</target>
         <source>Sorry, you are not allowed to see what you were looking for.</source>
         <target>Maaf, Anda tidak dizinkan melihat hal yang Anda inginkan.</target>
       </trans-unit>
-      <trans-unit id="e3c028c58f92453d46f09b5adf95b2f013ee0300" datatype="html">
-        <source>Sorry, we could not find what you were looking for</source>
-        <target>Maaf, kami tidak dapat menemukan yang Anda cari</target>
+      <trans-unit id="2240b985f17293d84cc8532fe86994aa5f63667c" datatype="html">
+        <source>Sorry, we could not find what you were looking for.</source>
+        <target>Sorry, we could not find what you were looking for.</target>
+      </trans-unit>
+      <trans-unit id="ac54c18c1b520e948095c83a3a1025f02ce6dcc6" datatype="html">
+        <source>Neither hostname nor OSD ID given</source>
+        <target>Neither hostname nor OSD ID given</target>
+      </trans-unit>
+      <trans-unit id="4f635b3cb0600409a2ad44a5bd1863c699e6a01c" datatype="html">
+        <source>Failed to retrieve SMART data.</source>
+        <target>Failed to retrieve SMART data.</target>
+      </trans-unit>
+      <trans-unit id="d82a9af5b05e7cd17640f196f163771685ff8df6" datatype="html">
+        <source>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</source>
+        <target>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</target>
+      </trans-unit>
+      <trans-unit id="04f8a3c7e8ac610e6581960162cc15f55a16696a" datatype="html">
+        <source>No SMART data available.</source>
+        <target>No SMART data available.</target>
+      </trans-unit>
+      <trans-unit id="3a03d3c2e459f8f8fa7202c0fce465d6165f9e2b" datatype="html">
+        <source>passed</source>
+        <target>passed</target>
+      </trans-unit>
+      <trans-unit id="a185c9b97513b3882604ea9bab60edbfac945c15" datatype="html">
+        <source>SMART overall-health self-assessment test result</source>
+        <target>SMART overall-health self-assessment test result</target>
+      </trans-unit>
+      <trans-unit id="41435d5a5692c8e412c74deaee95d99dbd3617e1" datatype="html">
+        <source>failed</source>
+        <target>failed</target>
+      </trans-unit>
+      <trans-unit id="ddd5dd6d930030096ea617f62c82b648a0dd9484" datatype="html">
+        <source>Device Information</source>
+        <target>Device Information</target>
+      </trans-unit>
+      <trans-unit id="380295f37caea93701d071485a38ef0bdba57133" datatype="html">
+        <source>No SMART data available for this device.</source>
+        <target>No SMART data available for this device.</target>
+      </trans-unit>
+      <trans-unit id="20cb12827cbe559a7b1da6fdae96041b3b5c3c55" datatype="html">
+        <source>SMART</source>
+        <target>SMART</target>
+      </trans-unit>
+      <trans-unit id="5758c3f16f8749f0f4e2a787f02e8b4da246102f" datatype="html">
+        <source>SMART data is loading.</source>
+        <target>SMART data is loading.</target>
       </trans-unit>
       <trans-unit id="a949d7e577902d0e5dc5d0971bb0170a21be7728" datatype="html">
         <source>[object Object]</source>
         <source>The chosen erasure code profile name is already in use.</source>
         <target>Nama profil erasure code sudah digunakan.</target>
       </trans-unit>
+      <trans-unit id="35a4206db3105ed03e0dd799e1642b75b78123e8" datatype="html">
+        <source>Root</source>
+        <target>Root</target>
+      </trans-unit>
+      <trans-unit id="cf425784c7073c7e7f7c1bb90c2c19db7e751db2" datatype="html">
+        <source>Failure domain type</source>
+        <target>Failure domain type</target>
+      </trans-unit>
+      <trans-unit id="72396a9565cf644d1fe1b21b790c4243ee270986" datatype="html">
+        <source>Device class</source>
+        <target>Device class</target>
+      </trans-unit>
+      <trans-unit id="72d80e0c07bfea1b693a33ef2245007de92a6780" datatype="html">
+        <source>Let Ceph decide</source>
+        <target>Let Ceph decide</target>
+      </trans-unit>
       <trans-unit id="ef9ff0e6227947b48dfab4ac39ade04af758913b" datatype="html">
         <source>Plugin</source>
         <target>Plugin</target>
         <target>It's not possible to create an RBD pool with '/' in the name.
               Please change the name or remove 'rbd' from the applications list.</target>
       </trans-unit>
+      <trans-unit id="171dc6d5c6bc4615d99778b0088cae80fd00bd10" datatype="html">
+        <source>Pool name can only contain letters, numbers, '.', '-', '_' or '/'.</source>
+        <target>Pool name can only contain letters, numbers, '.', '-', '_' or '/'.</target>
+      </trans-unit>
       <trans-unit id="b85c657469e5ec8231c3de99b22f437bc01ffde5" datatype="html">
         <source>Pool type</source>
         <target>Jenis pool</target>
         <source>-- Select a pool type --</source>
         <target>-- Pilih jenis pool --</target>
       </trans-unit>
+      <trans-unit id="6abfbe47b630929d93c7343dc154599c2e59330a" datatype="html">
+        <source>PG Autoscale</source>
+        <target>PG Autoscale</target>
+      </trans-unit>
       <trans-unit id="0aa21053410a94aa61d16985a4e95fd65523430d" datatype="html">
         <source>Placement groups</source>
         <target>Grup penempatan</target>
         <target>The current PGs settings were calculated for you, you
                 should make sure the values suit your needs before submit.</target>
       </trans-unit>
-      <trans-unit id="33150f22ce5348aa6c499bd092c3f4f3695d62cc" datatype="html">
-        <source>Crush ruleset</source>
-        <target>Aturan CRUSH</target>
-      </trans-unit>
-      <trans-unit id="73a6b31116b3cc322af951daa0bafdc169e6c42e" datatype="html">
-        <source>-- Select a crush rule --</source>
-        <target>-- Pilih aturan crush --</target>
-      </trans-unit>
-      <trans-unit id="92da80699921e89fb19372e25b8d0f3b9fa427fc" datatype="html">
-        <source>Crush rule</source>
-        <target>Aturan crush</target>
-      </trans-unit>
-      <trans-unit id="5489e9f96835f469f6f728a00d8efa88ea5bc940" datatype="html">
-        <source>Crush steps</source>
-        <target>Crush steps</target>
-      </trans-unit>
-      <trans-unit id="54a53b1b402aafff5b992ee9b64e409fbfe9074f" datatype="html">
-        <source>The rule can't be used in the current cluster as it has
-                to few OSDs to meet the minimum required OSD by this rule.</source>
-        <target>Aturan crush tidak dapat digunakan di klaster ini karena
-jumlah OSD terlalu sedikit untuk memenuhi syarat minimal OSD untuk aturan ini.</target>
-      </trans-unit>
       <trans-unit id="a43b2695131b48b76cebba676aba98a2bee17515" datatype="html">
         <source>Replicated size</source>
         <target>Jumlah replikasi</target>
@@ -1269,6 +1503,22 @@ jumlah OSD terlalu sedikit untuk memenuhi syarat minimal OSD untuk aturan ini.</
           <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.
         </target>
       </trans-unit>
+      <trans-unit id="920617c6a1a4805e53bcb5af6a9c76f8387e89c6" datatype="html">
+        <source>Flags</source>
+        <target>Flag</target>
+      </trans-unit>
+      <trans-unit id="1c870fb00256b8a5b9cb9cd1a124e6390b9bc639" datatype="html">
+        <source>EC Overwrites</source>
+        <target>EC Overwrites</target>
+      </trans-unit>
+      <trans-unit id="f1abafaeb40ce52355ddcc24686e3cd17b64e08a" datatype="html">
+        <source>Applications</source>
+        <target>Aplikasi</target>
+      </trans-unit>
+      <trans-unit id="fb9308b82fc183f710df60909f49cfc73aa5e076" datatype="html">
+        <source>CRUSH</source>
+        <target>CRUSH</target>
+      </trans-unit>
       <trans-unit id="9de7dde00e2139cc4bd03b1837afbe72ad15a1ff" datatype="html">
         <source>Erasure code profile</source>
         <target>Profil erasure code</target>
@@ -1281,17 +1531,47 @@ jumlah OSD terlalu sedikit untuk memenuhi syarat minimal OSD untuk aturan ini.</
         <source>-- Select an erasure code profile --</source>
         <target>-- Pilih profil erasure code --</target>
       </trans-unit>
-      <trans-unit id="920617c6a1a4805e53bcb5af6a9c76f8387e89c6" datatype="html">
-        <source>Flags</source>
-        <target>Flag</target>
+      <trans-unit id="33150f22ce5348aa6c499bd092c3f4f3695d62cc" datatype="html">
+        <source>Crush ruleset</source>
+        <target>Aturan CRUSH</target>
       </trans-unit>
-      <trans-unit id="1c870fb00256b8a5b9cb9cd1a124e6390b9bc639" datatype="html">
-        <source>EC Overwrites</source>
-        <target>EC Overwrites</target>
+      <trans-unit id="c69b0bcd4698aa845d32c4c4ad488492552cb469" datatype="html">
+        <source>A new crush ruleset will be implicitly created.</source>
+        <target>A new crush ruleset will be implicitly created.</target>
       </trans-unit>
-      <trans-unit id="f1abafaeb40ce52355ddcc24686e3cd17b64e08a" datatype="html">
-        <source>Applications</source>
-        <target>Aplikasi</target>
+      <trans-unit id="896e9987db5e9bb279e6deed5d2dff28c242ef66" datatype="html">
+        <source>There are no rules.</source>
+        <target>There are no rules.</target>
+      </trans-unit>
+      <trans-unit id="73a6b31116b3cc322af951daa0bafdc169e6c42e" datatype="html">
+        <source>-- Select a crush rule --</source>
+        <target>-- Pilih aturan crush --</target>
+      </trans-unit>
+      <trans-unit id="ea91d648f92002bc9f96d9b26b735c83ca0b53c6" datatype="html">
+        <source>This rule can't be deleted as it is in use.</source>
+        <target>This rule can't be deleted as it is in use.</target>
+      </trans-unit>
+      <trans-unit id="92da80699921e89fb19372e25b8d0f3b9fa427fc" datatype="html">
+        <source>Crush rule</source>
+        <target>Aturan crush</target>
+      </trans-unit>
+      <trans-unit id="5489e9f96835f469f6f728a00d8efa88ea5bc940" datatype="html">
+        <source>Crush steps</source>
+        <target>Crush steps</target>
+      </trans-unit>
+      <trans-unit id="fc5f5496a9e50fe69e1a09784f28d94944108294" datatype="html">
+        <source>Rule is not in use.</source>
+        <target>Rule is not in use.</target>
+      </trans-unit>
+      <trans-unit id="023d6f718770d2ea4ab8cabe26b0ec27ef967ec2" datatype="html">
+        <source>Used by pools</source>
+        <target>Used by pools</target>
+      </trans-unit>
+      <trans-unit id="104a0e6900d1d1b0c8cf9e5947e36edb352583fc" datatype="html">
+        <source>The rule can't be used in the current cluster as it has
+                  too few OSDs to meet the minimum required OSD by this rule.</source>
+        <target>The rule can't be used in the current cluster as it has
+                  too few OSDs to meet the minimum required OSD by this rule.</target>
       </trans-unit>
       <trans-unit id="2208d63d5940ce656006a220102b1eb2b5e553da" datatype="html">
         <source>Compression</source>
@@ -1377,6 +1657,10 @@ jumlah OSD terlalu sedikit untuk memenuhi syarat minimal OSD untuk aturan ini.</
         <source>The value should be greater or equal to 0</source>
         <target>The value should be greater or equal to 0</target>
       </trans-unit>
+      <trans-unit id="4f8b2bb476981727ab34ed40fde1218361f92c45" datatype="html">
+        <source>Details</source>
+        <target>Detail</target>
+      </trans-unit>
       <trans-unit id="fbbaf5cb02ed419e79a27072478f716a4666a99d" datatype="html">
         <source>Performance Details</source>
         <target>Detail Performa</target>
@@ -1385,15 +1669,108 @@ jumlah OSD terlalu sedikit untuk memenuhi syarat minimal OSD untuk aturan ini.</
         <source>Cache Tiers Details</source>
         <target>Detil Cache Bertingkat</target>
       </trans-unit>
+      <trans-unit id="ecbc084370a732fc3cde1966a60af78d71424ab4" datatype="html">
+        <source>Create Bootstrap Token</source>
+        <target>Create Bootstrap Token</target>
+      </trans-unit>
+      <trans-unit id="603e9cc3ef2aab57f2b0a00e465b23b9cabefd9c" datatype="html">
+        <source>To create a bootstrap token which can be imported
+          by a peer site cluster, provide the local site's name, select
+          which pools will have mirroring enabled, and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Generate
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </source>
+        <target>To create a bootstrap token which can be imported
+          by a peer site cluster, provide the local site's name, select
+          which pools will have mirroring enabled, and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Generate
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="660f97cd3188f8a04bd03b79e703fec72c6df04c" datatype="html">
+        <source>Site Name</source>
+        <target>Site Name</target>
+      </trans-unit>
+      <trans-unit id="8c2a1dc72cffaf7ab3dc5599bf77b0a7fcad2b20" datatype="html">
+        <source>At least one pool is required.</source>
+        <target>At least one pool is required.</target>
+      </trans-unit>
+      <trans-unit id="1b258b258b4cc475ceb2871305b61756b0134f4a" datatype="html">
+        <source>Generate</source>
+        <target>Generate</target>
+      </trans-unit>
+      <trans-unit id="1edc1fc6cfbbb22353050ad6788508b3ed584f53" datatype="html">
+        <source>Token</source>
+        <target>Token</target>
+      </trans-unit>
+      <trans-unit id="ff785f5596aef34a93b9b4d1023e95c62eef5740" datatype="html">
+        <source>Generated token...</source>
+        <target>Generated token...</target>
+      </trans-unit>
+      <trans-unit id="5467a6bb0e7fade6def7499400d5e2a7d8d3da20" datatype="html">
+        <source>Import Bootstrap Token</source>
+        <target>Import Bootstrap Token</target>
+      </trans-unit>
+      <trans-unit id="9bb7aee0dec5164f45c0aa2f35f2fb2149d2c1d2" datatype="html">
+        <source>To import a bootstrap token which was created
+          by a peer site cluster, provide the local site's name, select
+          which pools will have mirroring enabled, provide the generated
+          token, and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Import
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </source>
+        <target>To import a bootstrap token which was created
+          by a peer site cluster, provide the local site's name, select
+          which pools will have mirroring enabled, provide the generated
+          token, and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Import
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="9200e09686136a1d42adfb89c12fbfef2deea125" datatype="html">
+        <source>Direction</source>
+        <target>Direction</target>
+      </trans-unit>
+      <trans-unit id="9761484679958da8d12841a4efa5964d33fae575" datatype="html">
+        <source>The token is invalid.</source>
+        <target>The token is invalid.</target>
+      </trans-unit>
+      <trans-unit id="a059709f71aa4c0ac219e160e78a738682ca6a36" datatype="html">
+        <source>Import</source>
+        <target>Import</target>
+      </trans-unit>
+      <trans-unit id="b87bd96249f8afc23f5301cddb57b1464a98e71a" datatype="html">
+        <source>Edit site name</source>
+        <target>Edit site name</target>
+      </trans-unit>
+      <trans-unit id="cfff72c667274c12eb1ff71eadc25871c10c42dc" datatype="html">
+        <source>Edit the site name and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </source>
+        <target>Edit the site name and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="40b7acea5b43f45e0bbd1efeba5200af4687981d" datatype="html">
+        <source>Site Name:</source>
+        <target>Site Name:</target>
+      </trans-unit>
       <trans-unit id="f0b5d789d42c0e69348e5fe0037fcbf5b5fbbdcc" datatype="html">
         <source>Move an image to trash</source>
         <target>Pindahkan image ke tempat sampah</target>
       </trans-unit>
-      <trans-unit id="86301cf2044b1eda218483365f6b9de8dde5040b" datatype="html">
+      <trans-unit id="7ad22c1d4aab3b8946603cea62de266d5129ca10" datatype="html">
+        <source>This image contains snapshot(s), which will prevent it
+            from being removed after moved to trash.</source>
+        <target>This image contains snapshot(s), which will prevent it
+            from being removed after moved to trash.</target>
+      </trans-unit>
+      <trans-unit id="b4b3ced4f8aad4c446f348b14c3d94be2e2c350c" datatype="html">
         <source>To move 
           <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>
-          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>/
-          <x id="INTERPOLATION_1" equiv-text="{{ imageName }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ imageSpecStr }}"/>
           <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,
           click 
           <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image
@@ -1401,8 +1778,7 @@ jumlah OSD terlalu sedikit untuk memenuhi syarat minimal OSD untuk aturan ini.</
         </source>
         <target>To move 
           <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>
-          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>/
-          <x id="INTERPOLATION_1" equiv-text="{{ imageName }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ imageSpecStr }}"/>
           <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,
           click 
           <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image
@@ -1429,6 +1805,14 @@ jumlah OSD terlalu sedikit untuk memenuhi syarat minimal OSD untuk aturan ini.</
         <source>Move Image</source>
         <target>Pindahkan Image</target>
       </trans-unit>
+      <trans-unit id="c9f1026c1235f4d76ace47449e806efd181ab332" datatype="html">
+        <source>Deleting this image will also delete all its snapshots.</source>
+        <target>Deleting this image will also delete all its snapshots.</target>
+      </trans-unit>
+      <trans-unit id="55f864597e84d9bf88769e1fbfda1d64452430c9" datatype="html">
+        <source>The following snapshots are currently protected and will be removed:</source>
+        <target>The following snapshots are currently protected and will be removed:</target>
+      </trans-unit>
       <trans-unit id="8a9910cd114c1deb9af74f6f99b4173403965bf2" datatype="html">
         <source>Gateways</source>
         <target>Gateways</target>
@@ -1553,10 +1937,6 @@ hanya boleh mengandung huruf, '.', '@', '-', '_' atau ':'.</target>
         <source>Object size</source>
         <target>Ukuran objek</target>
       </trans-unit>
-      <trans-unit id="6cdb1fea93d77c07950c0c76c6e0ad79ebbef084" datatype="html">
-        <source>Features</source>
-        <target>Fitur</target>
-      </trans-unit>
       <trans-unit id="0a65771c9a73b9aa609d592fc96a64801a8f40bd" datatype="html">
         <source>Provisioned</source>
         <target>Disiapkan</target>
@@ -1629,6 +2009,14 @@ hanya boleh mengandung huruf, '.', '@', '-', '_' atau ':'.</target>
         <source>-- Select a pool --</source>
         <target>-- Pilih pool --</target>
       </trans-unit>
+      <trans-unit id="d649904466254d13df1fbf2d255f0bbc6553d213" datatype="html">
+        <source>-- No namespaces available --</source>
+        <target>-- No namespaces available --</target>
+      </trans-unit>
+      <trans-unit id="e22d7bb4d2d561e0832ee0b9a3da2468a080c4f0" datatype="html">
+        <source>-- Select a namespace --</source>
+        <target>-- Select a namespace --</target>
+      </trans-unit>
       <trans-unit id="49449943d8cbf59d8c401c8bd2e76f92e207cc5f" datatype="html">
         <source>Use a dedicated data pool</source>
         <target>Gunakan pool data terdedikasi</target>
@@ -1681,33 +2069,13 @@ hanya boleh mengandung huruf, '.', '@', '-', '_' atau ':'.</target>
         <source>Stripe count must be greater than 0.</source>
         <target>Jumlah setrip harus lebih besar dari 0.</target>
       </trans-unit>
-      <trans-unit id="3f67f30568e9ae47507d46e28e1e82a7dca772e2" datatype="html">
-        <source>
-          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> RBD Snapshot
-        </source>
-        <target>
-          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> RBD Snapshot
-        </target>
-      </trans-unit>
-      <trans-unit id="1628d19a4490817c18be2afab410ca4adfa62ea7" datatype="html">
-        <source>{VAR_SELECT, select, true {Rename} other {Create} }</source>
-        <target>{VAR_SELECT, select, true {Ganti nama} other {Buat} }</target>
-      </trans-unit>
-      <trans-unit id="73a287b41afe6b28f90edbeb98957a341a0276b4" datatype="html">
-        <source>
-          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> Snapshot
-        </source>
-        <target>
-          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> Snapshot
-        </target>
-      </trans-unit>
-      <trans-unit id="cb60c1cd3655234756b5b92d4d597d92d520ee30" datatype="html">
-        <source>PROTECTED</source>
-        <target>PROTECTED</target>
+      <trans-unit id="2c07d24bb422aa8e5e568df1c5709083f0a9c8f1" datatype="html">
+        <source>Create Namespace</source>
+        <target>Create Namespace</target>
       </trans-unit>
-      <trans-unit id="deffb86b8fb0541254ad5a43862d82bff6b6a6c4" datatype="html">
-        <source>UNPROTECTED</source>
-        <target>TIDAK DIPROTEKSI</target>
+      <trans-unit id="0cca6c0485f96d3a9610d0339cb1275a5f2c3f46" datatype="html">
+        <source>Namespace already exists.</source>
+        <target>Namespace already exists.</target>
       </trans-unit>
       <trans-unit id="5c5331983af566d4ac6a1024d15a3511786a4aa6" datatype="html">
         <source>You are about to rollback</source>
@@ -1717,9 +2085,17 @@ hanya boleh mengandung huruf, '.', '@', '-', '_' atau ':'.</target>
         <source>Purge Trash</source>
         <target>Kosongkan Tempah Sampah</target>
       </trans-unit>
-      <trans-unit id="af728625d769b61acf291442644b89edb88faec3" datatype="html">
-        <source>To purge, select one or All images and click</source>
-        <target>Untuk menghapus, pilih satu atau Semua image dan pilih</target>
+      <trans-unit id="681501eecd7f44d4b7a2f619605b36676e04c5b6" datatype="html">
+        <source>To purge, select one or</source>
+        <target>To purge, select one or</target>
+      </trans-unit>
+      <trans-unit id="dfc3c34e182ea73c5d784ff7c8135f087992dac1" datatype="html">
+        <source>All</source>
+        <target>Semua</target>
+      </trans-unit>
+      <trans-unit id="ea5d338dcef50ff5c24439fd784f6a67b594c33f" datatype="html">
+        <source>pools and click</source>
+        <target>pools and click</target>
       </trans-unit>
       <trans-unit id="55a4f598a4894b7fd5cb88f0ffd3c37ad009dd70" datatype="html">
         <source>Pool:</source>
@@ -1729,10 +2105,6 @@ hanya boleh mengandung huruf, '.', '@', '-', '_' atau ':'.</target>
         <source>Pool name...</source>
         <target>Nama Pool...</target>
       </trans-unit>
-      <trans-unit id="dfc3c34e182ea73c5d784ff7c8135f087992dac1" datatype="html">
-        <source>All</source>
-        <target>Semua</target>
-      </trans-unit>
       <trans-unit id="b0e7c7ed1d51a0c205c815048bc9f79e24ee6db2" datatype="html">
         <source>Restore Image</source>
         <target>Pulihkan Image</target>
@@ -1765,22 +2137,34 @@ hanya boleh mengandung huruf, '.', '@', '-', '_' atau ':'.</target>
           <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.
         </target>
       </trans-unit>
-      <trans-unit id="aba82bfd8e177d35b76cad7cd43941f8e5e5acac" datatype="html">
-        <source>Trash</source>
-        <target>Tempat sampah</target>
-      </trans-unit>
       <trans-unit id="a674ab267d1934bf395f87ca1503fd474296893f" datatype="html">
         <source>iSCSI Topology</source>
         <target>Topologi iSCSI</target>
       </trans-unit>
-      <trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html">
-        <source>Settings</source>
-        <target>Pengaturan</target>
+      <trans-unit id="051dcc342cfa5c1eaf187a2001aaa162379a160c" datatype="html">
+        <source>Configure</source>
+        <target>Configure</target>
       </trans-unit>
       <trans-unit id="9e515f954730279c31d5301f02479666d6264e8b" datatype="html">
         <source>Changing these parameters from their default values is usually not necessary.</source>
         <target>Mengganti parameter ini dari nilai bawaan biasanya tidak diperlukan.</target>
       </trans-unit>
+      <trans-unit id="4e2591df099ddac796cda401c5f282da779d45f2" datatype="html">
+        <source>Identifier</source>
+        <target>Identifier</target>
+      </trans-unit>
+      <trans-unit id="62480a4859976427cf18fc8ef41d3a438eda0412" datatype="html">
+        <source>lun</source>
+        <target>lun</target>
+      </trans-unit>
+      <trans-unit id="8afc9eb4405e0aa554b2ba14140ef790cdecc040" datatype="html">
+        <source>wwn</source>
+        <target>wwn</target>
+      </trans-unit>
+      <trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html">
+        <source>Settings</source>
+        <target>Pengaturan</target>
+      </trans-unit>
       <trans-unit id="69a47cbabcc51ca942606e1d8da0ec11f98a2690" datatype="html">
         <source>Backstore</source>
         <target>Backstore</target>
@@ -1823,6 +2207,10 @@ hanya boleh mengandung huruf, '.', '@', '-', '_' atau ':'.</target>
         <source>Portals</source>
         <target>Portal</target>
       </trans-unit>
+      <trans-unit id="6a3ac2b4137d723fd9878cd357c2012ff6c07973" datatype="html">
+        <source>Add portal</source>
+        <target>Tambahkan portal</target>
+      </trans-unit>
       <trans-unit id="c3638c01b6c34066438909713ec96087c813fc7e" datatype="html">
         <source>At least 
           <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.
@@ -1831,10 +2219,6 @@ hanya boleh mengandung huruf, '.', '@', '-', '_' atau ':'.</target>
           <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.
         </target>
       </trans-unit>
-      <trans-unit id="6a3ac2b4137d723fd9878cd357c2012ff6c07973" datatype="html">
-        <source>Add portal</source>
-        <target>Tambahkan portal</target>
-      </trans-unit>
       <trans-unit id="9aff25be088f0efe3eaaf62edf2bff41cc41a617" datatype="html">
         <source>Backstore: 
           <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. 
@@ -1847,9 +2231,13 @@ hanya boleh mengandung huruf, '.', '@', '-', '_' atau ':'.</target>
         <source>This image has modified settings.</source>
         <target>Pengaturan Image ini telah dimodifikasi.</target>
       </trans-unit>
-      <trans-unit id="107c84e820909b44fe258673938a68ced1bbff72" datatype="html">
-        <source>At least 1 image is required.</source>
-        <target>Dibutuhkan minimal 1 image.</target>
+      <trans-unit id="1dff11e0820b6722ab240169f1232d70a54beaaa" datatype="html">
+        <source>Duplicated LUN numbers.</source>
+        <target>Duplicated LUN numbers.</target>
+      </trans-unit>
+      <trans-unit id="bf2dccf92ccff6e3b091792bf4205595406e1bfb" datatype="html">
+        <source>Duplicated WWN.</source>
+        <target>Duplicated WWN.</target>
       </trans-unit>
       <trans-unit id="808038f912fdc7f0e03f82d4afd3bf9178527fc8" datatype="html">
         <source>Add image</source>
@@ -1929,6 +2317,14 @@ hanya boleh mengandung huruf, '.', '@', '-', '_' atau ':'.</target>
         <source>Add group</source>
         <target>Tambahkan grup</target>
       </trans-unit>
+      <trans-unit id="c3a7e364a88ea4673199dfa98bc73e6dbe09dfac" datatype="html">
+        <source>Namespaces</source>
+        <target>Namespaces</target>
+      </trans-unit>
+      <trans-unit id="aba82bfd8e177d35b76cad7cd43941f8e5e5acac" datatype="html">
+        <source>Trash</source>
+        <target>Tempat sampah</target>
+      </trans-unit>
       <trans-unit id="66db799d67958d4b0765181d072df62e2d1c16f5" datatype="html">
         <source>Issues</source>
         <target>Masalah</target>
@@ -2111,13 +2507,65 @@ hanya boleh mengandung huruf, '.', '@', '-', '_' atau ':'.</target>
         <source>Enables versioning for the objects in the bucket.</source>
         <target>Enables versioning for the objects in the bucket.</target>
       </trans-unit>
-      <trans-unit id="92f3f203270a29b3001871153f02c063484a1574" datatype="html">
-        <source>Suspended</source>
-        <target>Dihentikan</target>
+      <trans-unit id="9e6775ffd06878aa145c07359f28557f01ede04f" datatype="html">
+        <source>Multi-Factor Authentication</source>
+        <target>Multi-Factor Authentication</target>
+      </trans-unit>
+      <trans-unit id="29e8a5d4fb767d4ad0c762c81c6264cec4c0ba97" datatype="html">
+        <source>Delete enabled</source>
+        <target>Delete enabled</target>
+      </trans-unit>
+      <trans-unit id="40fbc3ac8c1ea4ecfe62247e91f1f999ad5baf76" datatype="html">
+        <source>Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state.</source>
+        <target>Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state.</target>
+      </trans-unit>
+      <trans-unit id="d24c93a8c13db46defa06ed7b5e026a3edb52b91" datatype="html">
+        <source>Token Serial Number</source>
+        <target>Token Serial Number</target>
+      </trans-unit>
+      <trans-unit id="e6d9536c2af2e5e9a228c3e3e1809dc1fefe0149" datatype="html">
+        <source>Token PIN</source>
+        <target>Token PIN</target>
+      </trans-unit>
+      <trans-unit id="7b84370895ab9eb44672f57146fa05c5947f1c0c" datatype="html">
+        <source>Locking</source>
+        <target>Locking</target>
+      </trans-unit>
+      <trans-unit id="f038d51ab1645f15b0cd58f195c72a7eeebd4729" datatype="html">
+        <source>Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket.</source>
+        <target>Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket.</target>
+      </trans-unit>
+      <trans-unit id="9af1b4baa2dd8ed2bfc3cc756b12a2271c2dd793" datatype="html">
+        <source>Compliance</source>
+        <target>Compliance</target>
+      </trans-unit>
+      <trans-unit id="edd600fa489d1b4a4448dce694ed932e52ce8fda" datatype="html">
+        <source>Governance</source>
+        <target>Governance</target>
       </trans-unit>
-      <trans-unit id="cd6a798fd0f85cd7e31a57c58074f25035d7850d" datatype="html">
-        <source>Disables versioning for the objects in the bucket.</source>
-        <target>Disables versioning for the objects in the bucket.</target>
+      <trans-unit id="a5c3d9d2296f7886e8289b9f623323803deacfc6" datatype="html">
+        <source>Days</source>
+        <target>Days</target>
+      </trans-unit>
+      <trans-unit id="218c7d6d318c51e7105309aaeb0baec9d19e4efb" datatype="html">
+        <source>The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</source>
+        <target>The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</target>
+      </trans-unit>
+      <trans-unit id="289b101ec12427b3ca819df9e43cc3b14fae2cc4" datatype="html">
+        <source>The entered value must be a positive integer.</source>
+        <target>The entered value must be a positive integer.</target>
+      </trans-unit>
+      <trans-unit id="def9fc628134d3a044b7c0ad2a83c846bdad56f1" datatype="html">
+        <source>Retention period requires either Days or Years.</source>
+        <target>Retention period requires either Days or Years.</target>
+      </trans-unit>
+      <trans-unit id="003c94fc143882ac8af6251a1595fe62978fe3e6" datatype="html">
+        <source>Years</source>
+        <target>Years</target>
+      </trans-unit>
+      <trans-unit id="14c6189ead0951f13049c7bf9af7642d0c41957a" datatype="html">
+        <source>The number of years that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</source>
+        <target>The number of years that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</target>
       </trans-unit>
       <trans-unit id="45cc8ca94b5a50842a9a8ef804a5ab089a38ae5c" datatype="html">
         <source>ID</source>
@@ -2155,6 +2603,10 @@ hanya boleh mengandung huruf, '.', '@', '-', '_' atau ':'.</target>
         <source>Zonegroup</source>
         <target>Zona grup</target>
       </trans-unit>
+      <trans-unit id="62a923f047ca49e7a4782629e91fea1ba32db68f" datatype="html">
+        <source>MFA Delete</source>
+        <target>MFA Delete</target>
+      </trans-unit>
       <trans-unit id="649a410bd0ace333d067d8fa22f12bdbdb43533b" datatype="html">
         <source>Bucket quota</source>
         <target>Kuota Buket</target>
@@ -2199,6 +2651,10 @@ hanya boleh mengandung huruf, '.', '@', '-', '_' atau ':'.</target>
         <source>Email address</source>
         <target>Alamat email</target>
       </trans-unit>
+      <trans-unit id="92f3f203270a29b3001871153f02c063484a1574" datatype="html">
+        <source>Suspended</source>
+        <target>Dihentikan</target>
+      </trans-unit>
       <trans-unit id="8011e20c5bbe51602d459a860fbf29b599b55edd" datatype="html">
         <source>System</source>
         <target>Sistem</target>
@@ -2291,9 +2747,17 @@ hanya boleh mengandung huruf, '.', '@', '-', '_' atau ':'.</target>
         <source>Max. buckets</source>
         <target>Maks. buket</target>
       </trans-unit>
-      <trans-unit id="623ac50f37a26caec6fd7cd519b653e3315cba25" datatype="html">
-        <source>The entered value must be &gt;= 0.</source>
-        <target>Nilai yang dimasukkan harus &gt;= 0.</target>
+      <trans-unit id="f39256070bfc0714020dfee08895421fc1527014" datatype="html">
+        <source>Disabled</source>
+        <target>Dimatikan</target>
+      </trans-unit>
+      <trans-unit id="a5c05002b0ac2040f1aede5e727e0ffd06eda819" datatype="html">
+        <source>Custom</source>
+        <target>Ubahsuai</target>
+      </trans-unit>
+      <trans-unit id="28872515cb81d197a3a1733fa546d3e0f0dd6c67" datatype="html">
+        <source>The entered value must be &gt;= 1.</source>
+        <target>The entered value must be &gt;= 1.</target>
       </trans-unit>
       <trans-unit id="583a219c524155c2314eb06ee29162bb315272a3" datatype="html">
         <source>S3 key</source>
@@ -2349,6 +2813,10 @@ hanya boleh mengandung huruf, '.', '@', '-', '_' atau ':'.</target>
           <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>
         </target>
       </trans-unit>
+      <trans-unit id="f5a451c4ea65a4046f0b49d489a7013abf0b5861" datatype="html">
+        <source>All capabilities are already added.</source>
+        <target>All capabilities are already added.</target>
+      </trans-unit>
       <trans-unit id="6146e13ceca5fa5cc17b771b282fe5955f3d19fa" datatype="html">
         <source>Unlimited size</source>
         <target>Ukuran tak terbatas</target>
@@ -2365,6 +2833,10 @@ hanya boleh mengandung huruf, '.', '@', '-', '_' atau ':'.</target>
         <source>Max. objects</source>
         <target>Objek maks.</target>
       </trans-unit>
+      <trans-unit id="623ac50f37a26caec6fd7cd519b653e3315cba25" datatype="html">
+        <source>The entered value must be &gt;= 0.</source>
+        <target>Nilai yang dimasukkan harus &gt;= 0.</target>
+      </trans-unit>
       <trans-unit id="1ea5c4d8942c00752dcc72e72949c5d9832f6399" datatype="html">
         <source>Description...</source>
         <target>Deskripsi...</target>
@@ -2385,6 +2857,14 @@ hanya boleh mengandung huruf, '.', '@', '-', '_' atau ':'.</target>
         <source>Password confirmation doesn't match the password.</source>
         <target>Konfirmasi kata sandi tidak sesuai dengan kata sandi.</target>
       </trans-unit>
+      <trans-unit id="96621f9ed2e4ae5204564e583d2c816bedead571" datatype="html">
+        <source>Password expiration date</source>
+        <target>Password expiration date</target>
+      </trans-unit>
+      <trans-unit id="48932db3801fe9d5d72a60a3e656bffd17c1c5d9" datatype="html">
+        <source>Password expiration date...</source>
+        <target>Password expiration date...</target>
+      </trans-unit>
       <trans-unit id="244aae9346da82b0922506c2d2581373a15641cc" datatype="html">
         <source>Email</source>
         <target>Email</target>
@@ -2393,6 +2873,10 @@ hanya boleh mengandung huruf, '.', '@', '-', '_' atau ':'.</target>
         <source>Invalid email.</source>
         <target>Email tidak valid.</target>
       </trans-unit>
+      <trans-unit id="8913c216dd506e20e412e144381d8d2a65a84359" datatype="html">
+        <source>User must change password at next logon</source>
+        <target>User must change password at next logon</target>
+      </trans-unit>
       <trans-unit id="0051a3479d3ba79135c16dc8cc017950a2cce821" datatype="html">
         <source>You are about to remove "user read / update" permissions from your own user.</source>
         <target>Anda akan menghapus izin "pengguna baca / perbarui" dari diri Anda sendiri.</target>
@@ -2493,6 +2977,10 @@ hanya boleh mengandung huruf, '.', '@', '-', '_' atau ':'.</target>
         <source>Histogram</source>
         <target>Histogram</target>
       </trans-unit>
+      <trans-unit id="3d87fc20ea8e5f0f0500ba5d5061b345be78ec5e" datatype="html">
+        <source>No hostname found.</source>
+        <target>No hostname found.</target>
+      </trans-unit>
       <trans-unit id="26fb5f81b3581f06b9210defb0e71dc69a67e819" datatype="html">
         <source>Current values</source>
         <target>Nilai saat ini</target>
@@ -2522,32 +3010,12 @@ hanya boleh mengandung huruf, '.', '@', '-', '_' atau ':'.</target>
         <target>Tag</target>
       </trans-unit>
       <trans-unit id="ab0089ef47af61ca1d137bc908b96c290dfd9287" datatype="html">
-        <source>Enum values</source>
-        <target>Nilai Enum</target>
-      </trans-unit>
-      <trans-unit id="819476f1264f1659f38e86f6abb542141b184832" datatype="html">
-        <source>See also</source>
-        <target>Lihat juga</target>
-      </trans-unit>
-      <trans-unit id="d82a9af5b05e7cd17640f196f163771685ff8df6" datatype="html">
-        <source>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</source>
-        <target>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</target>
-      </trans-unit>
-      <trans-unit id="a185c9b97513b3882604ea9bab60edbfac945c15" datatype="html">
-        <source>SMART overall-health self-assessment test result</source>
-        <target>SMART overall-health self-assessment test result</target>
-      </trans-unit>
-      <trans-unit id="ddd5dd6d930030096ea617f62c82b648a0dd9484" datatype="html">
-        <source>Device Information</source>
-        <target>Device Information</target>
-      </trans-unit>
-      <trans-unit id="79c6bf990ea5b4d83bbf8f9e399f4bd933a1ebfc" datatype="html">
-        <source>S.M.A.R.T</source>
-        <target>S.M.A.R.T</target>
+        <source>Enum values</source>
+        <target>Nilai Enum</target>
       </trans-unit>
-      <trans-unit id="05c17e08939cbef1a5df5386263b1701e8d5742e" datatype="html">
-        <source>S.M.A.R.T data is loading.</source>
-        <target>S.M.A.R.T data is loading.</target>
+      <trans-unit id="819476f1264f1659f38e86f6abb542141b184832" datatype="html">
+        <source>See also</source>
+        <target>Lihat juga</target>
       </trans-unit>
       <trans-unit id="73caac4265ea7314ff061e5a1d78a6361a6dd3b8" datatype="html">
         <source>Cluster Status</source>
@@ -2635,14 +3103,6 @@ hanya boleh mengandung huruf, '.', '@', '-', '_' atau ':'.</target>
         <source>MDS performance counters</source>
         <target>MDS performance counters</target>
       </trans-unit>
-      <trans-unit id="a7b6508fb834bee9e48e11e4503fbbc2d19204de" datatype="html">
-        <source>Clients: 
-          <x id="INTERPOLATION" equiv-text="{{ clients.data.length }}"/>
-        </source>
-        <target>Clients: 
-          <x id="INTERPOLATION" equiv-text="{{ clients.data.length }}"/>
-        </target>
-      </trans-unit>
       <trans-unit id="6e213942c6354b9cbe7a650f0f1499bfc1000fb6" datatype="html">
         <source>Directories</source>
         <target>Directories</target>
@@ -2691,6 +3151,10 @@ hanya boleh mengandung huruf, '.', '@', '-', '_' atau ':'.</target>
         <source># Sessions</source>
         <target># Sessions</target>
       </trans-unit>
+      <trans-unit id="2ea10b3668e04e057ba96ddcaf4c9b77089008ae" datatype="html">
+        <source>Unavailable gateway(s)</source>
+        <target>Unavailable gateway(s)</target>
+      </trans-unit>
       <trans-unit id="c49e0dd71d551bd4928d967d78f0721dbf9f95e3" datatype="html">
         <source>Target has active sessions</source>
         <target>Target has active sessions</target>
@@ -2739,9 +3203,9 @@ hanya boleh mengandung huruf, '.', '@', '-', '_' atau ':'.</target>
         <source>Progress</source>
         <target>Kemajuan</target>
       </trans-unit>
-      <trans-unit id="f39256070bfc0714020dfee08895421fc1527014" datatype="html">
-        <source>Disabled</source>
-        <target>Dimatikan</target>
+      <trans-unit id="25b725dba712a7a020fd34a72297befae975a492" datatype="html">
+        <source>Edit Site Name</source>
+        <target>Edit Site Name</target>
       </trans-unit>
       <trans-unit id="8c375764db42f5d736fb56d01b8052c006ccc8e2" datatype="html">
         <source>Edit Mode</source>
@@ -2807,10 +3271,58 @@ hanya boleh mengandung huruf, '.', '@', '-', '_' atau ':'.</target>
         <source>Fast diff (interlocked with object-map)</source>
         <target>Fast diff (interlocked with object-map)</target>
       </trans-unit>
+      <trans-unit id="130fd872c78271a8f86b1ab16a76e823969c47d9" datatype="html">
+        <source>Namespace</source>
+        <target>Namespace</target>
+      </trans-unit>
+      <trans-unit id="14abc99daed542774633046c53b6ce8251331141" datatype="html">
+        <source>This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.</source>
+        <target>This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.</target>
+      </trans-unit>
+      <trans-unit id="51699f716cf34e6622ff7bfd84641480c045271a" datatype="html">
+        <source>Created namespace '
+          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/
+          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>'
+        </source>
+        <target>Created namespace '
+          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/
+          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>'
+        </target>
+      </trans-unit>
+      <trans-unit id="bf44b7d6379ce0198ed3d95a27642a224181bf1d" datatype="html">
+        <source>Total images</source>
+        <target>Total images</target>
+      </trans-unit>
+      <trans-unit id="371ce3ffe62548d15e391a248bc554d903bb03fc" datatype="html">
+        <source>Deleted namespace '
+          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/
+          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>'
+        </source>
+        <target>Deleted namespace '
+          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/
+          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>'
+        </target>
+      </trans-unit>
+      <trans-unit id="9d704fd00ca929f90c3119cefc581821ae58a73e" datatype="html">
+        <source>Namespace contains images</source>
+        <target>Namespace contains images</target>
+      </trans-unit>
+      <trans-unit id="c2017dc94b4f57a347ccb126e546e88942f4d7a6" datatype="html">
+        <source>RBD Snapshot</source>
+        <target>RBD Snapshot</target>
+      </trans-unit>
       <trans-unit id="631fc50ec7c9bd81dc797a3c7e09eda1178ad999" datatype="html">
         <source>Parent image must support Layering</source>
         <target>Parent image must support Layering</target>
       </trans-unit>
+      <trans-unit id="cb60c1cd3655234756b5b92d4d597d92d520ee30" datatype="html">
+        <source>PROTECTED</source>
+        <target>PROTECTED</target>
+      </trans-unit>
+      <trans-unit id="deffb86b8fb0541254ad5a43862d82bff6b6a6c4" datatype="html">
+        <source>UNPROTECTED</source>
+        <target>TIDAK DIPROTEKSI</target>
+      </trans-unit>
       <trans-unit id="7eb984588f4835f6d0187b33769b4b0f62821640" datatype="html">
         <source>RBD snapshot rollback</source>
         <target>Kembalikan snapshot RBD</target>
@@ -2891,6 +3403,138 @@ hanya boleh mengandung huruf, '.', '@', '-', '_' atau ':'.</target>
         <source>Origin</source>
         <target>Origin</target>
       </trans-unit>
+      <trans-unit id="2ea2ec95d93fd55d0db6e9d2b95b25e153d4cec2" datatype="html">
+        <source>Max size</source>
+        <target>Max size</target>
+      </trans-unit>
+      <trans-unit id="665dced3a61bca44924a0bde4be47390225a4898" datatype="html">
+        <source>Max files</source>
+        <target>Max files</target>
+      </trans-unit>
+      <trans-unit id="0ccf776baac60794b142526986f3af85848c7059" datatype="html">
+        <source>The inherited 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/> is the maximum value to be used.
+        </source>
+        <target>The inherited 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/> is the maximum value to be used.
+        </target>
+      </trans-unit>
+      <trans-unit id="b0e2ef28384f2de6674cac300c779f900929a89b" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{action}}"/> CephFS 
+          <x id="INTERPOLATION_1" equiv-text="{{quotaName}}"/> quota for '
+          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>'
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{action}}"/> CephFS 
+          <x id="INTERPOLATION_1" equiv-text="{{quotaName}}"/> quota for '
+          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>'
+        </target>
+      </trans-unit>
+      <trans-unit id="542ef638499635dec7641bdc2e499258094187cc" datatype="html">
+        <source>size</source>
+        <target>size</target>
+      </trans-unit>
+      <trans-unit id="ce90ff00c341d8eef96b0e7956bb85b8faba3839" datatype="html">
+        <source>files</source>
+        <target>files</target>
+      </trans-unit>
+      <trans-unit id="fbe8b9340c08c24aef62ffe81c83e2b46a4f1495" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{quotaName}}"/> quota 
+          <x id="INTERPOLATION_1" equiv-text="{{value}}"/> from '
+          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>'
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{quotaName}}"/> quota 
+          <x id="INTERPOLATION_1" equiv-text="{{value}}"/> from '
+          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>'
+        </target>
+      </trans-unit>
+      <trans-unit id="37c2c0a4a356465eef2edfb09ffffc6db5259975" datatype="html">
+        <source>Value has to be at least 
+          <x id="INTERPOLATION" equiv-text="{{value}}"/> or more
+        </source>
+        <target>Value has to be at least 
+          <x id="INTERPOLATION" equiv-text="{{value}}"/> or more
+        </target>
+      </trans-unit>
+      <trans-unit id="73f8e64703a707e2cf98b9a10653cd3bbdd8cab1" datatype="html">
+        <source>Value has to be at most 
+          <x id="INTERPOLATION" equiv-text="{{value}}"/> or less
+        </source>
+        <target>Value has to be at most 
+          <x id="INTERPOLATION" equiv-text="{{value}}"/> or less
+        </target>
+      </trans-unit>
+      <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc" datatype="html">
+        <source>Updated</source>
+        <target>Diperbarui</target>
+      </trans-unit>
+      <trans-unit id="b6a4cf4f302c7fcbec199ce0df42b8282d682b04" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{action}}"/>
+          <x id="INTERPOLATION_1" equiv-text="{{quotaValue}}"/>
+          <x id="INTERPOLATION_2" equiv-text="{{conclusion}}"/>.
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{action}}"/>
+          <x id="INTERPOLATION_1" equiv-text="{{quotaValue}}"/>
+          <x id="INTERPOLATION_2" equiv-text="{{conclusion}}"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="a40024afb071f68fec949094a71f832d5611bca5" datatype="html">
+        <source>in order to inherit 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>
+        </source>
+        <target>in order to inherit 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="c108ff588291e9c040adea2adf35e7236cf29925" datatype="html">
+        <source>which isn't used because of the inheritance of 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>
+        </source>
+        <target>which isn't used because of the inheritance of 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="d3785a64d1c72b03b2212855ce695b45ed0342d2" datatype="html">
+        <source>in order to have no quota on the directory</source>
+        <target>in order to have no quota on the directory</target>
+      </trans-unit>
+      <trans-unit id="c4d3a3446a7f36825291c5e76c4a6b7919f9bd2f" datatype="html">
+        <source>Create Snapshot</source>
+        <target>Create Snapshot</target>
+      </trans-unit>
+      <trans-unit id="e9af734e231b837d64df21008e2eb1fdff566a61" datatype="html">
+        <source>Please enter the name of the snapshot.</source>
+        <target>Please enter the name of the snapshot.</target>
+      </trans-unit>
+      <trans-unit id="8c4d3039e6a953b0d6f1b1313ffa60c5d2b35dc7" datatype="html">
+        <source>Created snapshot "
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "
+          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"
+        </source>
+        <target>Created snapshot "
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "
+          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"
+        </target>
+      </trans-unit>
+      <trans-unit id="126ad894f74ee9a999825f3f4ac5a31fdfc093bf" datatype="html">
+        <source>CephFs Snapshot</source>
+        <target>CephFs Snapshot</target>
+      </trans-unit>
+      <trans-unit id="1e4d1c0865adc485260740c42ac5af68ce8feb13" datatype="html">
+        <source>Deleted snapshot "
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "
+          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"
+        </source>
+        <target>Deleted snapshot "
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "
+          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"
+        </target>
+      </trans-unit>
       <trans-unit id="22e4e574b7f8abf58254f328792445b42e2a924a" datatype="html">
         <source>The value can be updated at runtime.</source>
         <target>Nilai dapat diperbarui saat runtime.</target>
@@ -2928,6 +3572,10 @@ set ...'. Pilihan ini harus dikonfigurasi melalui ceph.conf atau CLI.</target>
         <source>Service</source>
         <target>Layanan</target>
       </trans-unit>
+      <trans-unit id="6986e0df8092d822ac2c076520d83994c78834fc" datatype="html">
+        <source>Modified</source>
+        <target>Modified</target>
+      </trans-unit>
       <trans-unit id="9951bb3983c7dba6fde013e05c922e4fe1a44367" datatype="html">
         <source>Current value</source>
         <target>Nilai saat ini</target>
@@ -2940,26 +3588,72 @@ set ...'. Pilihan ini harus dikonfigurasi melalui ceph.conf atau CLI.</target>
         <source>host</source>
         <target>host</target>
       </trans-unit>
-      <trans-unit id="9e35065e7c579e1fb960499117fd4b3c68d1c263" datatype="html">
-        <source>Host operation is disabled because orchestrator is unavailable</source>
-        <target>Host operation is disabled because orchestrator is unavailable</target>
+      <trans-unit id="b1b381321d4cef04605d3e6e8847ea2b72a03799" datatype="html">
+        <source>Identify</source>
+        <target>Identify</target>
       </trans-unit>
       <trans-unit id="a5d5e407f8c4e1b152509c966c90f37edf68472e" datatype="html">
         <source>Device path</source>
         <target>Device path</target>
       </trans-unit>
-      <trans-unit id="94e76c060aa68c05d8c4a3f5a20c92fab3e83ccf" datatype="html">
-        <source>Rotates</source>
-        <target>Rotates</target>
-      </trans-unit>
       <trans-unit id="b7da3e3505cc80f9bf3cffc8444c53e8a9ec70a5" datatype="html">
         <source>Available</source>
         <target>Available</target>
       </trans-unit>
+      <trans-unit id="396974120fc614fc930a27c8d15a094d82a3a9e4" datatype="html">
+        <source>Vendor</source>
+        <target>Vendor</target>
+      </trans-unit>
       <trans-unit id="6ec98fa3d6504ba1fd03465194b53706c8263c99" datatype="html">
         <source>Model</source>
         <target>Model</target>
       </trans-unit>
+      <trans-unit id="f2d785f5658c96c6a2f505cdd625108bcece84c3" datatype="html">
+        <source>Identify device 
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>
+        </source>
+        <target>Identify device 
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="c97ab45ca09248f8f1ba60328175741657fe39ce" datatype="html">
+        <source>Please enter the duration how long to blink the LED.</source>
+        <target>Please enter the duration how long to blink the LED.</target>
+      </trans-unit>
+      <trans-unit id="87e56ee5057023d7e8b59420b838bad112b043bc" datatype="html">
+        <source>1 minute</source>
+        <target>1 minute</target>
+      </trans-unit>
+      <trans-unit id="affa3b3bf1f36531e5ae65291f8a7cd1b06860ee" datatype="html">
+        <source>2 minutes</source>
+        <target>2 minutes</target>
+      </trans-unit>
+      <trans-unit id="878c6645b7fc26d85c7aee17a9d8c282a938dcf3" datatype="html">
+        <source>5 minutes</source>
+        <target>5 minutes</target>
+      </trans-unit>
+      <trans-unit id="aa0a76140961594b7176ade241e5025a7dbb5dce" datatype="html">
+        <source>10 minutes</source>
+        <target>10 minutes</target>
+      </trans-unit>
+      <trans-unit id="0a7f83a1f27750ef634a1f1f97263fac36113b1f" datatype="html">
+        <source>15 minutes</source>
+        <target>15 minutes</target>
+      </trans-unit>
+      <trans-unit id="699b690d686dbb8e00a1e95b89ba2fffb548da6e" datatype="html">
+        <source>Execute</source>
+        <target>Execute</target>
+      </trans-unit>
+      <trans-unit id="aa975a86dd49979a3ae90b9f3fc5b2c97311d422" datatype="html">
+        <source>Identifying '
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>' started on host '
+          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>'
+        </source>
+        <target>Identifying '
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>' started on host '
+          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="1a6e6ad05508130b7a99ce5b15daf3227c2a930c" datatype="html">
         <source>Updated options for module "
           <x id="INTERPOLATION" equiv-text="{{name}}"/>".
@@ -2968,6 +3662,10 @@ set ...'. Pilihan ini harus dikonfigurasi melalui ceph.conf atau CLI.</target>
           <x id="INTERPOLATION" equiv-text="{{name}}"/>".
         </target>
       </trans-unit>
+      <trans-unit id="6bd47ff8707aa2e6a94a4a6e2566b86dc7956d5f" datatype="html">
+        <source>Always-On</source>
+        <target>Always-On</target>
+      </trans-unit>
       <trans-unit id="ac6c9212896d39b23811ed2dadab7d07336ec559" datatype="html">
         <source>Enable</source>
         <target>Aktifkan</target>
@@ -2992,6 +3690,18 @@ set ...'. Pilihan ini harus dikonfigurasi melalui ceph.conf atau CLI.</target>
         <source>Open Sessions</source>
         <target>Buka Sesi</target>
       </trans-unit>
+      <trans-unit id="34c6f45591d420b1101dcee53999d1de91c0e400" datatype="html">
+        <source>No available devices</source>
+        <target>No available devices</target>
+      </trans-unit>
+      <trans-unit id="dcfe8807a2a1d0d7074a02afe9b80645bd03b9ab" datatype="html">
+        <source>Please add primary devices first</source>
+        <target>Please add primary devices first</target>
+      </trans-unit>
+      <trans-unit id="05d024719e53f85f7f294b7e21dfd805709a0b06" datatype="html">
+        <source>Add devices by using filters</source>
+        <target>Add devices by using filters</target>
+      </trans-unit>
       <trans-unit id="37e58d1cbdf8212b380efa51422e42821d4f08e6" datatype="html">
         <source>No In</source>
         <target>Tidak boleh Masuk</target>
@@ -3056,6 +3766,14 @@ set ...'. Pilihan ini harus dikonfigurasi melalui ceph.conf atau CLI.</target>
         <source>Backfilling of PGs is suspended</source>
         <target>Penambalan PG dihentikan</target>
       </trans-unit>
+      <trans-unit id="df526de2b93c4099a30c200ef551608e39ee5256" datatype="html">
+        <source>No Rebalance</source>
+        <target>No Rebalance</target>
+      </trans-unit>
+      <trans-unit id="c5b70346245f8d52b58e5e7fe222ce82f12429ce" datatype="html">
+        <source>OSD will choose not to backfill unless PG is also degraded</source>
+        <target>OSD will choose not to backfill unless PG is also degraded</target>
+      </trans-unit>
       <trans-unit id="7fbbd036394cfa623add40299757bc87df8eaa7e" datatype="html">
         <source>No Recover</source>
         <target>Tidak ada Pemulihan</target>
@@ -3100,6 +3818,14 @@ set ...'. Pilihan ini harus dikonfigurasi melalui ceph.conf atau CLI.</target>
         <source>Updated OSD Flags</source>
         <target>Flag OSD diperbarui</target>
       </trans-unit>
+      <trans-unit id="948758e1412bb2ecdb98e3a4f1cbb6d7458456f2" datatype="html">
+        <source>Encryption</source>
+        <target>Encryption</target>
+      </trans-unit>
+      <trans-unit id="c8b1475105463088593de1022ff6dceb523eae0e" datatype="html">
+        <source>OSD</source>
+        <target>OSD</target>
+      </trans-unit>
       <trans-unit id="688578fcc739d6f0c5fb6c366dbb19d21c6d9e36" datatype="html">
         <source>out</source>
         <target>keluar</target>
@@ -3128,10 +3854,6 @@ set ...'. Pilihan ini harus dikonfigurasi melalui ceph.conf atau CLI.</target>
         <source>Purge</source>
         <target>Buang</target>
       </trans-unit>
-      <trans-unit id="c8b1475105463088593de1022ff6dceb523eae0e" datatype="html">
-        <source>OSD</source>
-        <target>OSD</target>
-      </trans-unit>
       <trans-unit id="4f3cff08c7033b63bbccfe66006b1bcaea48ddd8" datatype="html">
         <source>purged</source>
         <target>dibuang</target>
@@ -3144,6 +3866,14 @@ set ...'. Pilihan ini harus dikonfigurasi melalui ceph.conf atau CLI.</target>
         <source>destroyed</source>
         <target>dihancurkan</target>
       </trans-unit>
+      <trans-unit id="70ef158c584bafe788e319a0bffa11b02ee9abf1" datatype="html">
+        <source>delete</source>
+        <target>hapus</target>
+      </trans-unit>
+      <trans-unit id="a5b387f5a15b95e339df10fc23526c659a2b6c6f" datatype="html">
+        <source>deleted</source>
+        <target>deleted</target>
+      </trans-unit>
       <trans-unit id="107614b994f2b01abdc1ca179bf780b0cd933ec4" datatype="html">
         <source>Recovery Priority</source>
         <target>Recovery Priority</target>
@@ -3160,8 +3890,8 @@ set ...'. Pilihan ini harus dikonfigurasi melalui ceph.conf atau CLI.</target>
         <source>Read bytes</source>
         <target>Bita baca</target>
       </trans-unit>
-      <trans-unit id="ecbe2fdca919499125bc42c2c67cedae8563db1c" datatype="html">
-        <source>Writes bytes</source>
+      <trans-unit id="f15bf7f588f09ca79795b17bc244e8d336f28171" datatype="html">
+        <source>Write bytes</source>
         <target>Bita tulis</target>
       </trans-unit>
       <trans-unit id="f3c33322823c846b13f59ba2c8f234405bba99e1" datatype="html">
@@ -3172,6 +3902,26 @@ set ...'. Pilihan ini harus dikonfigurasi melalui ceph.conf atau CLI.</target>
         <source>Write ops</source>
         <target>Ops tulis</target>
       </trans-unit>
+      <trans-unit id="b27d1dd31789610130b7cdbf88c4da552cffe936" datatype="html">
+        <source>Edit OSD: 
+          <x id="INTERPOLATION" equiv-text="{{id}}"/>
+        </source>
+        <target>Edit OSD: 
+          <x id="INTERPOLATION" equiv-text="{{id}}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="986f1379580078e77666d10f8ddf4f839c6ca71d" datatype="html">
+        <source>Edit OSD</source>
+        <target>Edit OSD</target>
+      </trans-unit>
+      <trans-unit id="a4b09e2fa39c3e4f1a387f191fbae4eea3ce7bf5" datatype="html">
+        <source>Updated OSD "
+          <x id="INTERPOLATION" equiv-text="{{id}}"/>"
+        </source>
+        <target>Updated OSD "
+          <x id="INTERPOLATION" equiv-text="{{id}}"/>"
+        </target>
+      </trans-unit>
       <trans-unit id="d45455406092f58e6b089cb440b5b7934b801a01" datatype="html">
         <source>Mark OSD 
           <x id="INTERPOLATION" equiv-text="{{markAction}}"/>
@@ -3212,10 +3962,6 @@ set ...'. Pilihan ini harus dikonfigurasi melalui ceph.conf atau CLI.</target>
         <source>Recovery Sleep</source>
         <target>Jeda Pemulihan</target>
       </trans-unit>
-      <trans-unit id="a5c05002b0ac2040f1aede5e727e0ffd06eda819" datatype="html">
-        <source>Custom</source>
-        <target>Ubahsuai</target>
-      </trans-unit>
       <trans-unit id="89553524f4e7db5c437b07dcfdc7b831d56ded1a" datatype="html">
         <source>Updated OSD recovery speed priority "
           <x id="INTERPOLATION" equiv-text="{{value}}"/>"
@@ -3234,45 +3980,9 @@ set ...'. Pilihan ini harus dikonfigurasi melalui ceph.conf atau CLI.</target>
           <x id="INTERPOLATION_1" equiv-text="{{id}}"/>
         </target>
       </trans-unit>
-      <trans-unit id="9836e830d0219585b36d53be00a31c3d4798a4aa" datatype="html">
-        <source>Smartctl has received an unknown argument (error code
-          <x id="INTERPOLATION" equiv-text="{{smartData.smartctl_error_code}}"/>). You may be using an
-                incompatible version of smartmontools. Version &gt;= 7.0 of
-                smartmontools is required to succesfully retrieve data.
-        </source>
-        <target>Smartctl has received an unknown argument (error code
-          <x id="INTERPOLATION" equiv-text="{{smartData.smartctl_error_code}}"/>). You may be using an
-                incompatible version of smartmontools. Version &gt;= 7.0 of
-                smartmontools is required to succesfully retrieve data.
-        </target>
-      </trans-unit>
-      <trans-unit id="d5fd840374ca1a6f394bcd81f390a6dca27f8224" datatype="html">
-        <source>An error with error code 
-          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.
-        </source>
-        <target>An error with error code 
-          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.
-        </target>
-      </trans-unit>
-      <trans-unit id="a0b59d7139692bb8d8ed786b6eb6e9e70ce743f3" datatype="html">
-        <source>Raw</source>
-        <target>Raw</target>
-      </trans-unit>
-      <trans-unit id="2f3beddc8234b30fb26a7f63ba2f1ea74f2ed6f7" datatype="html">
-        <source>Threshold</source>
-        <target>Threshold</target>
-      </trans-unit>
-      <trans-unit id="4654b5a68af3c8bad29aa14ca85ccea1f3143c6b" datatype="html">
-        <source>When Failed</source>
-        <target>When Failed</target>
-      </trans-unit>
-      <trans-unit id="5b7f56d5be49fb8e8d8f40209d6746f8f72e9177" datatype="html">
-        <source>Worst</source>
-        <target>Worst</target>
-      </trans-unit>
-      <trans-unit id="1edb8e46b0fac57c5feb3d7d3585afc0122d5481" datatype="html">
-        <source>Create silence</source>
-        <target>Create silence</target>
+      <trans-unit id="3bc2d18913479965cb046ec75e2ac3f7b7a77ce5" datatype="html">
+        <source>Create Silence</source>
+        <target>Create Silence</target>
       </trans-unit>
       <trans-unit id="78917e8031aaf913ac3fa63295325ce8879703ce" datatype="html">
         <source>Job</source>
@@ -3290,6 +4000,10 @@ set ...'. Pilihan ini harus dikonfigurasi melalui ceph.conf atau CLI.</target>
         <source>URL</source>
         <target>URL</target>
       </trans-unit>
+      <trans-unit id="d9f726c70aeba7fa6d3d68bff718abe78b1e50ac" datatype="html">
+        <source>Query</source>
+        <target>Query</target>
+      </trans-unit>
       <trans-unit id="a5cd682a8a33bdc72e093d059429e3cc3a50ec1d" datatype="html">
         <source>silence</source>
         <target>silence</target>
@@ -3310,10 +4024,6 @@ set ...'. Pilihan ini harus dikonfigurasi melalui ceph.conf atau CLI.</target>
         <source>Created by</source>
         <target>Created by</target>
       </trans-unit>
-      <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc" datatype="html">
-        <source>Updated</source>
-        <target>Diperbarui</target>
-      </trans-unit>
       <trans-unit id="8d833cceee0ba4c5161b130365e02bc1e129b57e" datatype="html">
         <source>Ends</source>
         <target>Ends</target>
@@ -3322,30 +4032,46 @@ set ...'. Pilihan ini harus dikonfigurasi melalui ceph.conf atau CLI.</target>
         <source>Silence</source>
         <target>Silence</target>
       </trans-unit>
-      <trans-unit id="f392abfbb997402ce2aebb13e660a8f01dec54db" datatype="html">
-        <source>Service type</source>
-        <target>Service type</target>
+      <trans-unit id="f2ea47d702c7f5e3e5fa751bf9959e21030b72e6" datatype="html">
+        <source>Daemon type</source>
+        <target>Daemon type</target>
       </trans-unit>
-      <trans-unit id="9ffa91b056fb979786627885651e19c8275675cd" datatype="html">
-        <source>Service instance</source>
-        <target>Service instance</target>
+      <trans-unit id="6c131968e6ab730d86443e6fc11c5cc2a76d7bac" datatype="html">
+        <source>Daemon ID</source>
+        <target>Daemon ID</target>
       </trans-unit>
-      <trans-unit id="b5910192a9ac4816638ff6383b03f986ff965796" datatype="html">
-        <source>Container id</source>
-        <target>Container id</target>
+      <trans-unit id="5738f0ca7ddd9594058ce051b1d5d576e2782825" datatype="html">
+        <source>Container ID</source>
+        <target>Container ID</target>
       </trans-unit>
-      <trans-unit id="60ab9cce12a56cdc5ec6a1b699f8c7afecd629d5" datatype="html">
-        <source>Rados config location</source>
-        <target>Rados config location</target>
+      <trans-unit id="78ebcf850cd440c5efc15e6a3a522ae75aeff669" datatype="html">
+        <source>Container Image name</source>
+        <target>Container Image name</target>
       </trans-unit>
-      <trans-unit id="dfa409f831c9168a377bdee02c5ea6aaf9b2bf61" datatype="html">
-        <source>Service URL</source>
-        <target>Service URL</target>
+      <trans-unit id="ea0c7ab9a7bdf646d494abf8c85fbf67d934d079" datatype="html">
+        <source>Container Image ID</source>
+        <target>Container Image ID</target>
       </trans-unit>
       <trans-unit id="bf2468fd965b8a59c135ad549b3a612aa9873abc" datatype="html">
         <source>Status Description</source>
         <target>Status Description</target>
       </trans-unit>
+      <trans-unit id="19867330bdc84096f5a93ab087a1766476c8a074" datatype="html">
+        <source>Last Refreshed</source>
+        <target>Last Refreshed</target>
+      </trans-unit>
+      <trans-unit id="2349ee2027ab6ceb3e4b8834928562075b7e1ac7" datatype="html">
+        <source>Container image name</source>
+        <target>Container image name</target>
+      </trans-unit>
+      <trans-unit id="3c475503fb93338811af6b3d9ccacca1d7334609" datatype="html">
+        <source>Container image ID</source>
+        <target>Container image ID</target>
+      </trans-unit>
+      <trans-unit id="8dd15f6c73c05a8b0bd7b6d416487ab6570b88c8" datatype="html">
+        <source>Running</source>
+        <target>Running</target>
+      </trans-unit>
       <trans-unit id="fb2e1bed329dc5b84197808c778abb9edcbdb335" datatype="html">
         <source>Used</source>
         <target>Terpakai</target>
@@ -3454,6 +4180,10 @@ set ...'. Pilihan ini harus dikonfigurasi melalui ceph.conf atau CLI.</target>
         <source>NFS export</source>
         <target>NFS export</target>
       </trans-unit>
+      <trans-unit id="c56d51748965db5f3966cd1d06a1c9f4b5244931" datatype="html">
+        <source>Crush Rule</source>
+        <target>Crush Rule</target>
+      </trans-unit>
       <trans-unit id="ae128527ec18892f812a62a1fd15dc50a38060c0" datatype="html">
         <source>EC Profile</source>
         <target>EC Profile</target>
@@ -3514,6 +4244,10 @@ set ...'. Pilihan ini harus dikonfigurasi melalui ceph.conf atau CLI.</target>
         <source>erasure code profile</source>
         <target>profil erasure code</target>
       </trans-unit>
+      <trans-unit id="ae48e19a9a2acaca4b5ea594451bc9b0b01ec8d2" datatype="html">
+        <source>crush rule</source>
+        <target>crush rule</target>
+      </trans-unit>
       <trans-unit id="112d356ad6846959ca4aa5ec9a1f0d9d473b24ec" datatype="html">
         <source>Replica Size</source>
         <target>Ukuran Replikasi</target>
@@ -3530,10 +4264,6 @@ set ...'. Pilihan ini harus dikonfigurasi melalui ceph.conf atau CLI.</target>
         <source>Crush Ruleset</source>
         <target>Aturan Crush</target>
       </trans-unit>
-      <trans-unit id="f15bf7f588f09ca79795b17bc244e8d336f28171" datatype="html">
-        <source>Write bytes</source>
-        <target>Bita tulis</target>
-      </trans-unit>
       <trans-unit id="bcc365a084b6145b941b371bd4c2b6c3d2c79234" datatype="html">
         <source>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</source>
         <target>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</target>
@@ -3602,6 +4332,62 @@ set ...'. Pilihan ini harus dikonfigurasi melalui ceph.conf atau CLI.</target>
         <source>Swift Key</source>
         <target>Swift Key</target>
       </trans-unit>
+      <trans-unit id="6462d8f12b427c29363f00b12f20f566be24937c" datatype="html">
+        <source>Device ID</source>
+        <target>Device ID</target>
+      </trans-unit>
+      <trans-unit id="82f12bf23db4bb82db89877bebe93954bc1c8fb0" datatype="html">
+        <source>State of Health</source>
+        <target>State of Health</target>
+      </trans-unit>
+      <trans-unit id="7bd34bd120146afef0e0d8fa168d9bdabd594b6a" datatype="html">
+        <source>Good</source>
+        <target>Good</target>
+      </trans-unit>
+      <trans-unit id="31c59dce114ec0a9d02552ef7b81920b3de36793" datatype="html">
+        <source>Bad</source>
+        <target>Bad</target>
+      </trans-unit>
+      <trans-unit id="2862af5284f66d4b06bdcf77a5519141723b6989" datatype="html">
+        <source>Stale</source>
+        <target>Stale</target>
+      </trans-unit>
+      <trans-unit id="8d8e819b52984a4fbdec75a99eb28d1ae4323bbc" datatype="html">
+        <source>Life Expectancy</source>
+        <target>Life Expectancy</target>
+      </trans-unit>
+      <trans-unit id="72d9b15be18ea063e78c4e855b9e8c0af95593ef" datatype="html">
+        <source>Prediction Creation Date</source>
+        <target>Prediction Creation Date</target>
+      </trans-unit>
+      <trans-unit id="a6b4ef85e5ff8bd192751c7bbebc54c46118d6d4" datatype="html">
+        <source>Device Name</source>
+        <target>Device Name</target>
+      </trans-unit>
+      <trans-unit id="d5fd840374ca1a6f394bcd81f390a6dca27f8224" datatype="html">
+        <source>An error with error code 
+          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.
+        </source>
+        <target>An error with error code 
+          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.
+        </target>
+      </trans-unit>
+      <trans-unit id="a0b59d7139692bb8d8ed786b6eb6e9e70ce743f3" datatype="html">
+        <source>Raw</source>
+        <target>Raw</target>
+      </trans-unit>
+      <trans-unit id="2f3beddc8234b30fb26a7f63ba2f1ea74f2ed6f7" datatype="html">
+        <source>Threshold</source>
+        <target>Threshold</target>
+      </trans-unit>
+      <trans-unit id="4654b5a68af3c8bad29aa14ca85ccea1f3143c6b" datatype="html">
+        <source>When Failed</source>
+        <target>When Failed</target>
+      </trans-unit>
+      <trans-unit id="5b7f56d5be49fb8e8d8f40209d6746f8f72e9177" datatype="html">
+        <source>Worst</source>
+        <target>Worst</target>
+      </trans-unit>
       <trans-unit id="1481b8488e10dbc437accce89d2ae35a0106e8ba" datatype="html">
         <source>Scope</source>
         <target>Cakupan</target>
@@ -3646,6 +4432,24 @@ set ...'. Pilihan ini harus dikonfigurasi melalui ceph.conf atau CLI.</target>
           <x id="INTERPOLATION" equiv-text="{{role_name}}"/>'
         </target>
       </trans-unit>
+      <trans-unit id="bd15b8d5c0fa160161728eefbbb585710414d471" datatype="html">
+        <source>New name</source>
+        <target>New name</target>
+      </trans-unit>
+      <trans-unit id="6f126277f3dc22a3ab3609c4c198386c8744e11a" datatype="html">
+        <source>Clone Role</source>
+        <target>Clone Role</target>
+      </trans-unit>
+      <trans-unit id="d19d8320479854bc52877cdf0dc5ecfe34a36ec7" datatype="html">
+        <source>Cloned role '
+          <x id="INTERPOLATION" equiv-text="{{dst_name}}"/>' from '
+          <x id="INTERPOLATION_1" equiv-text="{{src_name}}"/>'
+        </source>
+        <target>Cloned role '
+          <x id="INTERPOLATION" equiv-text="{{dst_name}}"/>' from '
+          <x id="INTERPOLATION_1" equiv-text="{{src_name}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="2e35d60a14ce0b470e8b54602864a867f7fcef40" datatype="html">
         <source>There are no roles.</source>
         <target>There are no roles.</target>
@@ -3710,6 +4514,18 @@ set ...'. Pilihan ini harus dikonfigurasi melalui ceph.conf atau CLI.</target>
         <source>Updated user password"</source>
         <target>Updated user password"</target>
       </trans-unit>
+      <trans-unit id="c4e596a44ffc4718c1602600d6e4f029190eb031" datatype="html">
+        <source>The name of the node under which data should be placed.</source>
+        <target>The name of the node under which data should be placed.</target>
+      </trans-unit>
+      <trans-unit id="f24772ba1091155f8d7025332ca8456a204d1e28" datatype="html">
+        <source>The type of CRUSH nodes across which we should separate replicas.</source>
+        <target>The type of CRUSH nodes across which we should separate replicas.</target>
+      </trans-unit>
+      <trans-unit id="a3896042af461a80091c3f7a5fe3fff5ac40a3a0" datatype="html">
+        <source>The device class data should be placed on.</source>
+        <target>The device class data should be placed on.</target>
+      </trans-unit>
       <trans-unit id="1d7fbcc3d5efc946ffbcf86fed04c4e20dda20fb" datatype="html">
         <source>Each object is split in data-chunks parts, each stored on a different OSD.</source>
         <target>Tiap objek dipecah dalam pecahan-data, masing-masing disimpan pada OSD yang berbeda.</target>
@@ -3872,6 +4688,10 @@ pada hos yang sama. Aturan CRUSH seperti step chooseleaf hos akan digunakan untu
         <source>Success</source>
         <target>Success</target>
       </trans-unit>
+      <trans-unit id="61fd1cffcb763cbfd5829071723cf9b647174bd9" datatype="html">
+        <source>An error occurred.</source>
+        <target>An error occurred.</target>
+      </trans-unit>
       <trans-unit id="e6ca3c0efaf51e6d45a7f92f58bac37140c3fda4" datatype="html">
         <source>Last 5 minutes</source>
         <target>5 menit terakhir</target>
@@ -4016,14 +4836,18 @@ pada hos yang sama. Aturan CRUSH seperti step chooseleaf hos akan digunakan untu
         <source>There are no items available.</source>
         <target>Tidak ada yang tersedia.</target>
       </trans-unit>
-      <trans-unit id="f6755cff4957d5c3c89bafce5651f1b6fa2b1fd9" datatype="html">
-        <source>Add</source>
-        <target>Tambah</target>
+      <trans-unit id="55dd9f44e64851bca3b7bfc9283a5ff36f030228" datatype="html">
+        <source>Set</source>
+        <target>Set</target>
       </trans-unit>
       <trans-unit id="019d4bd6a5690f0cfa0ecf346a4e6bf7f0d8debb" datatype="html">
         <source>Remove</source>
         <target>Remove</target>
       </trans-unit>
+      <trans-unit id="e168fe6c468b3ad632731395ef89860274242844" datatype="html">
+        <source>Unset</source>
+        <target>Unset</target>
+      </trans-unit>
       <trans-unit id="54a4a3132b693575728a45a5f3154ad4c9af404b" datatype="html">
         <source>Clone</source>
         <target>Klon</target>
@@ -4208,6 +5032,38 @@ pada hos yang sama. Aturan CRUSH seperti step chooseleaf hos akan digunakan untu
         <source>No</source>
         <target>Tidak</target>
       </trans-unit>
+      <trans-unit id="baf918eed9d4050cdad2acebc0f27b6eaf8e3fcd" datatype="html">
+        <source>Required rules for passwords:</source>
+        <target>Required rules for passwords:</target>
+      </trans-unit>
+      <trans-unit id="40f61909e1f017c4652e64b055089beef19cf871" datatype="html">
+        <source>Must contain at least 
+          <x id="INTERPOLATION" equiv-text="{{length}}"/> characters
+        </source>
+        <target>Must contain at least 
+          <x id="INTERPOLATION" equiv-text="{{length}}"/> characters
+        </target>
+      </trans-unit>
+      <trans-unit id="f4f5dbb3a05b5f38dab47ef38dad88a4574a765a" datatype="html">
+        <source>Must not be the same as the previous one</source>
+        <target>Must not be the same as the previous one</target>
+      </trans-unit>
+      <trans-unit id="607370e07b50087c196a5fcea9184e3d693226b2" datatype="html">
+        <source>Cannot contain the username</source>
+        <target>Cannot contain the username</target>
+      </trans-unit>
+      <trans-unit id="e6e355eab2596251aaa42623b41e6026d5c03e3b" datatype="html">
+        <source>Cannot contain any configured keyword</source>
+        <target>Cannot contain any configured keyword</target>
+      </trans-unit>
+      <trans-unit id="394bcd6d5e4da75b720c4d28f94f2aef7bb38355" datatype="html">
+        <source>Cannot contain any repetitive characters e.g. "aaa"</source>
+        <target>Cannot contain any repetitive characters e.g. "aaa"</target>
+      </trans-unit>
+      <trans-unit id="030e61e0bcf2536fb047645db6182d43e9fca9e9" datatype="html">
+        <source>Cannot contain any sequential characters e.g. "abc"</source>
+        <target>Cannot contain any sequential characters e.g. "abc"</target>
+      </trans-unit>
       <trans-unit id="99fa0b67376d40142bd4d3ace3344abf4f98b6a5" datatype="html">
         <source>Your matcher seems to match no currently defined rule or active alert.</source>
         <target>Your matcher seems to match no currently defined rule or active alert.</target>
@@ -4396,10 +5252,6 @@ pada hos yang sama. Aturan CRUSH seperti step chooseleaf hos akan digunakan untu
         <source>Deleting</source>
         <target>Menghapus</target>
       </trans-unit>
-      <trans-unit id="70ef158c584bafe788e319a0bffa11b02ee9abf1" datatype="html">
-        <source>delete</source>
-        <target>hapus</target>
-      </trans-unit>
       <trans-unit id="d07a282afc7fbdb39cea6e1c9b544882a7260a86" datatype="html">
         <source>Adding</source>
         <target>Adding</target>
@@ -4416,6 +5268,18 @@ pada hos yang sama. Aturan CRUSH seperti step chooseleaf hos akan digunakan untu
         <source>remove</source>
         <target>remove</target>
       </trans-unit>
+      <trans-unit id="0e21237afdc84ec360c374fa678d9b1cfaa334f9" datatype="html">
+        <source>Importing</source>
+        <target>Importing</target>
+      </trans-unit>
+      <trans-unit id="c6b4128c006f4cc0564137e1a1482b5c432aa347" datatype="html">
+        <source>import</source>
+        <target>import</target>
+      </trans-unit>
+      <trans-unit id="3b9f4138abbca0fd66db1f7332f4b54e2a6d916d" datatype="html">
+        <source>Imported</source>
+        <target>Imported</target>
+      </trans-unit>
       <trans-unit id="3f757cfc3749ebb5d4462017cb60138ca082f15f" datatype="html">
         <source>RBD '
           <x id="INTERPOLATION" equiv-text="{{id}}"/>'
@@ -4432,6 +5296,14 @@ pada hos yang sama. Aturan CRUSH seperti step chooseleaf hos akan digunakan untu
           <x id="INTERPOLATION" equiv-text="{{id}}"/>'
         </target>
       </trans-unit>
+      <trans-unit id="2bf18ddf3785f7afb4f01dcf63d3d8c40f4bfba5" datatype="html">
+        <source>mirroring site name</source>
+        <target>mirroring site name</target>
+      </trans-unit>
+      <trans-unit id="167b73bb24b4695614ce0fc567b7a45080457a44" datatype="html">
+        <source>bootstrap token</source>
+        <target>bootstrap token</target>
+      </trans-unit>
       <trans-unit id="4fb54a0291f49583c317d4a3690239141b5a8f68" datatype="html">
         <source>mirror mode for pool '
           <x id="INTERPOLATION" equiv-text="{{id}}"/>'
@@ -4452,6 +5324,14 @@ pada hos yang sama. Aturan CRUSH seperti step chooseleaf hos akan digunakan untu
         <source>all dashboards</source>
         <target>all dashboards</target>
       </trans-unit>
+      <trans-unit id="6c19652df9249c60827044ed6274933cab180c63" datatype="html">
+        <source>OSDs (DriveGroups: 
+          <x id="INTERPOLATION" equiv-text="{{tracking_id}}"/>)
+        </source>
+        <target>OSDs (DriveGroups: 
+          <x id="INTERPOLATION" equiv-text="{{tracking_id}}"/>)
+        </target>
+      </trans-unit>
       <trans-unit id="1b559dbd9cc9664fd788c2da9a10d3abafe066cb" datatype="html">
         <source>Name is already used by 
           <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.
@@ -4476,6 +5356,14 @@ pada hos yang sama. Aturan CRUSH seperti step chooseleaf hos akan digunakan untu
           <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.
         </target>
       </trans-unit>
+      <trans-unit id="460f07780389d24c6a540c007c7367a56afad585" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> is busy.
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> is busy.
+        </target>
+      </trans-unit>
       <trans-unit id="1ff7676ad1e991102224540a32dd44ad1ab88aa8" datatype="html">
         <source>
           <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.
@@ -4630,6 +5518,28 @@ pada hos yang sama. Aturan CRUSH seperti step chooseleaf hos akan digunakan untu
         <source>Cannot disable mirroring because it contains a peer.</source>
         <target>Gagal menonaktifkan pencerminan karena sedang bermitra.</target>
       </trans-unit>
+      <trans-unit id="5c4525a1b76ca54d1aadeaecfdb83aedc2eec6e0" datatype="html">
+        <source>Identifying</source>
+        <target>Identifying</target>
+      </trans-unit>
+      <trans-unit id="ffd067e54a061d1f27cb35f0cf67ef7f29e19111" datatype="html">
+        <source>identify</source>
+        <target>identify</target>
+      </trans-unit>
+      <trans-unit id="7c921f339274688c22ba1acac7af6b097ad3599d" datatype="html">
+        <source>Identified</source>
+        <target>Identified</target>
+      </trans-unit>
+      <trans-unit id="3307492c27c2150cd26c514030444e11fd61089f" datatype="html">
+        <source>device '
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>' on host '
+          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>'
+        </source>
+        <target>device '
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>' on host '
+          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="f123ae1fc3b000e5d08e766dd78bff162afe709d" datatype="html">
         <source>host '
           <x id="INTERPOLATION" equiv-text="{{hostname}}"/>'
@@ -4638,6 +5548,14 @@ pada hos yang sama. Aturan CRUSH seperti step chooseleaf hos akan digunakan untu
           <x id="INTERPOLATION" equiv-text="{{hostname}}"/>'
         </target>
       </trans-unit>
+      <trans-unit id="c1af76189dcefd094da2bc1a4a63968f3bab5789" datatype="html">
+        <source>OSD '
+          <x id="INTERPOLATION" equiv-text="{{svc_id}}"/>'
+        </source>
+        <target>OSD '
+          <x id="INTERPOLATION" equiv-text="{{svc_id}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="dfe70001dc590a9e12512cbb206aa29fb36fd00b" datatype="html">
         <source>pool '
           <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>'
@@ -4654,6 +5572,14 @@ pada hos yang sama. Aturan CRUSH seperti step chooseleaf hos akan digunakan untu
           <x id="INTERPOLATION" equiv-text="{{name}}"/>'
         </target>
       </trans-unit>
+      <trans-unit id="79052d6c47258dc19ada12dbb2563761102b6f1d" datatype="html">
+        <source>crush rule '
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>'
+        </source>
+        <target>crush rule '
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="369462e5e018360e0600bb570866201ad5c3c8a8" datatype="html">
         <source>target '
           <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>'
@@ -4670,50 +5596,6 @@ pada hos yang sama. Aturan CRUSH seperti step chooseleaf hos akan digunakan untu
           <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>
         </target>
       </trans-unit>
-      <trans-unit id="54bf6542e39412f83ec883266f443e31b304c937" datatype="html">
-        <source>Required rules for password complexity:
-    - must contain at least 8 characters
-    - cannot contain username
-    - cannot contain any keyword used in Ceph
-    - cannot contain any repetitive characters e.g. "aaa"
-    - cannot contain any sequencial characters e.g. "abc"
-    - must consist of characters from the following groups:
-      * alphabetic a-z, A-Z
-      * numbers 0-9
-      * special chars: !"#$%&amp; '()*+,-./:;&lt;=&gt;?@[\]^_`
-          <x id="INTERPOLATION" equiv-text="{{|}}"/>~
-      * any other characters (signs)
-        </source>
-        <target>Required rules for password complexity:
-    - must contain at least 8 characters
-    - cannot contain username
-    - cannot contain any keyword used in Ceph
-    - cannot contain any repetitive characters e.g. "aaa"
-    - cannot contain any sequencial characters e.g. "abc"
-    - must consist of characters from the following groups:
-      * alphabetic a-z, A-Z
-      * numbers 0-9
-      * special chars: !"#$%&amp; '()*+,-./:;&lt;=&gt;?@[\]^_`
-          <x id="INTERPOLATION" equiv-text="{{|}}"/>~
-      * any other characters (signs)
-        </target>
-      </trans-unit>
-      <trans-unit id="ba575e9364b43dc870e332265c5182bb357b7a49" datatype="html">
-        <source>Weak</source>
-        <target>Weak</target>
-      </trans-unit>
-      <trans-unit id="7e6c975ebea8b5f8b120905ca7acf9f8edf59d8e" datatype="html">
-        <source>OK</source>
-        <target>OK</target>
-      </trans-unit>
-      <trans-unit id="3f7349017a01eed18c3daf2b7295ca96ef442eb6" datatype="html">
-        <source>Strong</source>
-        <target>Strong</target>
-      </trans-unit>
-      <trans-unit id="a1e3aecc2022cb0ebed8575a24d0e29d2de815c6" datatype="html">
-        <source>Very strong</source>
-        <target>Very strong</target>
-      </trans-unit>
     </body>
   </file>
 </xliff>
\ No newline at end of file
index 994fcef88df06c3eda9c9570858d31e26469372e..16dc6df3e932014b79fca56ba046ca1cd27cc51f 100644 (file)
         <source>Logs</source>
         <target>Log</target>
       </trans-unit>
-      <trans-unit id="9fe218829514884cdd0ca2300573a4e0428c324f" datatype="html">
-        <source>Alerts</source>
-        <target>Avvisi</target>
-      </trans-unit>
-      <trans-unit id="aa0c44aa1e5727061baa91e954f77e2f5f9a37c9" datatype="html">
-        <source>Silences</source>
-        <target>Silences</target>
+      <trans-unit id="17fc3efe5f9fa4e0289c900cb6202265215a1a27" datatype="html">
+        <source>Monitoring</source>
+        <target>Monitoring</target>
       </trans-unit>
       <trans-unit id="92899fa68e8ca108912163ff58edc8540e453787" datatype="html">
         <source>Pools</source>
         <source>Back</source>
         <target>Indietro</target>
       </trans-unit>
+      <trans-unit id="9ce641535be1ffa106c87724ba0637facaef5f61" datatype="html">
+        <source>Your password will expire in 
+          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>less than 1
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day. Click
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.
+        </source>
+        <target>Your password will expire in 
+          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>less than 1
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day. Click
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.
+        </target>
+      </trans-unit>
+      <trans-unit id="c2f34088c155e40ffb23770a465a65868ce772b2" datatype="html">
+        <source>Your password will expire in 
+          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
+          <x id="INTERPOLATION" equiv-text="{{ expirationDays }}"/>
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day(s). Click
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.
+        </source>
+        <target>Your password will expire in 
+          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
+          <x id="INTERPOLATION" equiv-text="{{ expirationDays }}"/>
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day(s). Click
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.
+        </target>
+      </trans-unit>
+      <trans-unit id="9b516f972c744779257310b73f6e97438b726707" datatype="html">
+        <source>Orchestrator is not available. Please consult the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to
+  configure and enable the functionality.
+        </source>
+        <target>Orchestrator is not available. Please consult the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to
+  configure and enable the functionality.
+        </target>
+      </trans-unit>
       <trans-unit id="012741ee52b3c050e4a977c37cc2334f7974f141" datatype="html">
         <source>Failed to load data.</source>
         <target>Non è stato possibile caricare i dati.</target>
       </trans-unit>
+      <trans-unit id="1e5e23363e949f7dcbaf034bdb141a561132a10e" datatype="html">
+        <source>Clear filters</source>
+        <target>Clear filters</target>
+      </trans-unit>
       <trans-unit id="80cc9a12d4bf6fe454ed94b379eeaf915f920bb7" datatype="html">
         <source>selected</source>
         <target>selezionato</target>
         <source>Values</source>
         <target>Valori</target>
       </trans-unit>
+      <trans-unit id="5894f7158499fdb89527af50c9f1cf7d4c95cad6" datatype="html">
+        <source>-- Default --</source>
+        <target>-- Default --</target>
+      </trans-unit>
+      <trans-unit id="514f6e12d035a6d9b00de6b3e55c18b73488da07" datatype="html">
+        <source>true</source>
+        <target>true</target>
+      </trans-unit>
+      <trans-unit id="774f5e6a183dea08393789b6f72e86afad729419" datatype="html">
+        <source>false</source>
+        <target>false</target>
+      </trans-unit>
       <trans-unit id="82029b6db704c56a2aa3e82ac555b8655356b077" datatype="html">
         <source>The entered value is too high! It must not be greater than 
           <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.
         <source>Cancel</source>
         <target>Annulla</target>
       </trans-unit>
+      <trans-unit id="55a2f26b2e87886d9b8015a887e38e51ab2a866a" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>
+          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>
+          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8" datatype="html">
+        <source>Close</source>
+        <target>Chiudi</target>
+      </trans-unit>
       <trans-unit id="40661476cb24c89d8b06614998e31d5fbe84eeb6" datatype="html">
         <source>Hosts List</source>
         <target>Elenco degli host</target>
         <source>Overall Performance</source>
         <target>Prestazioni complessive</target>
       </trans-unit>
-      <trans-unit id="6bc15dc1a621b6ff7378db7fd3ac10b2a2627c77" datatype="html">
-        <source>Please consult the
-          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
-          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to
-  configure and enable the orchestrator functionality.
-        </source>
-        <target>Please consult the
-          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
-          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to
-  configure and enable the orchestrator functionality.
-        </target>
-      </trans-unit>
       <trans-unit id="3e24569eca61d598c8b01defbbbb1fa8bd5222bc" datatype="html">
         <source>Devices</source>
         <target>Devices</target>
         <source>Not In Quorum</source>
         <target>Non nel quorum</target>
       </trans-unit>
+      <trans-unit id="4383e9662ea19839c7499b2128d43a195e564317" datatype="html">
+        <source>OSD creation preview</source>
+        <target>OSD creation preview</target>
+      </trans-unit>
+      <trans-unit id="366225c51e0b00bcb1c55795a0dc5e81c455f84e" datatype="html">
+        <source>DriveGroups</source>
+        <target>DriveGroups</target>
+      </trans-unit>
+      <trans-unit id="8edc89137d0d8c5667a2f03230beafae45e58429" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{ deviceType }}"/> devices
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{ deviceType }}"/> devices
+        </target>
+      </trans-unit>
+      <trans-unit id="eba28e1805b18f7c8ae2e4bc15dcf063b10b3822" datatype="html">
+        <source>At least one of these filters must be applied in order to proceed:</source>
+        <target>At least one of these filters must be applied in order to proceed:</target>
+      </trans-unit>
+      <trans-unit id="93389aa2fe2bea50bf89554ee51b28f87ee2fb50" datatype="html">
+        <source>Number of devices: 
+          <x id="INTERPOLATION" equiv-text="{{ filteredDevices.length }}"/>. Raw capacity:
+          <x id="INTERPOLATION_1" equiv-text="{{ capacity | dimlessBinary }}"/>.
+        </source>
+        <target>Number of devices: 
+          <x id="INTERPOLATION" equiv-text="{{ filteredDevices.length }}"/>. Raw capacity:
+          <x id="INTERPOLATION_1" equiv-text="{{ capacity | dimlessBinary }}"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="ccb4f84edc0b4e76415bb3f9b73d725b06683af3" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{ name }}"/> devices
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{ name }}"/> devices
+        </target>
+      </trans-unit>
+      <trans-unit id="60cb3d01e5ddf266ecb4271007a1c3d0f3efdc22" datatype="html">
+        <source>The primary storage devices. These devices contain all OSD data.</source>
+        <target>The primary storage devices. These devices contain all OSD data.</target>
+      </trans-unit>
+      <trans-unit id="b432e04886d0d1fd84f740477383051f85addcf2" datatype="html">
+        <source>Write-Ahead-Log devices. These devices are used for BlueStore’s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device.</source>
+        <target>Write-Ahead-Log devices. These devices are used for BlueStore’s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device.</target>
+      </trans-unit>
+      <trans-unit id="b87e181ab9e8393aa5ed759dd3d53836e32c8ffe" datatype="html">
+        <source>DB devices can be used for storing BlueStore’s internal metadata.  It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD).</source>
+        <target>DB devices can be used for storing BlueStore’s internal metadata.  It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD).</target>
+      </trans-unit>
+      <trans-unit id="f6755cff4957d5c3c89bafce5651f1b6fa2b1fd9" datatype="html">
+        <source>Add</source>
+        <target>Aggiungi</target>
+      </trans-unit>
+      <trans-unit id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46" datatype="html">
+        <source>Clear</source>
+        <target>Clear</target>
+      </trans-unit>
+      <trans-unit id="7e0fd3c7af0630f93befa6234a693a32a61084e0" datatype="html">
+        <source>Raw capacity: 
+          <x id="INTERPOLATION" equiv-text="{{ capacity | dimlessBinary }}"/>
+        </source>
+        <target>Raw capacity: 
+          <x id="INTERPOLATION" equiv-text="{{ capacity | dimlessBinary }}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="43ecf6bee2aebc07b0aad6dc1fe13e38d14687fa" datatype="html">
+        <source>Shared devices</source>
+        <target>Shared devices</target>
+      </trans-unit>
+      <trans-unit id="7a1c376f6f1b37de4c318ff2106255ba6c0f5b0b" datatype="html">
+        <source>WAL slots</source>
+        <target>WAL slots</target>
+      </trans-unit>
+      <trans-unit id="73811a6f37b63e6b0e491e221bfa21e9dea8a87a" datatype="html">
+        <source>How many OSDs per WAL device.</source>
+        <target>How many OSDs per WAL device.</target>
+      </trans-unit>
+      <trans-unit id="0c67a7ac4762ef1cc855056c6b4daab93e53a0a5" datatype="html">
+        <source>Specify 0 to let Orchestrator backend decide it.</source>
+        <target>Specify 0 to let Orchestrator backend decide it.</target>
+      </trans-unit>
+      <trans-unit id="7bda9362e06e6c67341b4a8425b0d29d6b84464b" datatype="html">
+        <source>Value should be greater than or equal to 0</source>
+        <target>Value should be greater than or equal to 0</target>
+      </trans-unit>
+      <trans-unit id="324c2b10152b9dd908222bb0b71f61beb60a30c5" datatype="html">
+        <source>DB slots</source>
+        <target>DB slots</target>
+      </trans-unit>
+      <trans-unit id="c23cf12ef9c76f37fc7a4b7ae3e00fb0f68b6e26" datatype="html">
+        <source>How many OSDs per DB device.</source>
+        <target>How many OSDs per DB device.</target>
+      </trans-unit>
+      <trans-unit id="6cdb1fea93d77c07950c0c76c6e0ad79ebbef084" datatype="html">
+        <source>Features</source>
+        <target>Funzioni</target>
+      </trans-unit>
+      <trans-unit id="3e2a583f531f7dd9f089f68a6968e444c372c3e8" datatype="html">
+        <source>Preview</source>
+        <target>Preview</target>
+      </trans-unit>
       <trans-unit id="5ef50ba2514414f799d4c8fc36067a251904ba81" datatype="html">
         <source>Cluster-wide OSD Flags</source>
         <target>Flag OSD in tutto il cluster</target>
         <source>{VAR_SELECT, select, 1 {Deep } }</source>
         <target>{VAR_SELECT, select, 1 {Deep } }</target>
       </trans-unit>
-      <trans-unit id="2613498e8e5853c26a1cc62ae8dc673d1fdf0e2a" datatype="html">
+      <trans-unit id="fd0a4b6eed32e3488eccdc9c13f9841f08cc275e" datatype="html">
         <source>You are about to apply a 
           <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to
           the OSD(s): 
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
-          <x id="INTERPOLATION" equiv-text="{{ selected | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ selected | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.
         </source>
         <target>You are about to apply a 
           <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to
           the OSD(s): 
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
-          <x id="INTERPOLATION" equiv-text="{{ selected | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ selected | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.
         </target>
       </trans-unit>
         <source>OSDs List</source>
         <target>Elenco degli OSD</target>
       </trans-unit>
-      <trans-unit id="c402e6ec1c6792ede81f56c28eee8955860391c8" datatype="html">
+      <trans-unit id="d5707a32ba9c1138e6423498fb0b24e970ebd19f" datatype="html">
         <source>
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) 
-          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
           <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>
         </source>
         <target>
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) 
-          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
           <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.
         </target>
       </trans-unit>
-      <trans-unit id="d2797d01ba86f5df03d875803e49e648a4027869" datatype="html">
+      <trans-unit id="d08c1e4f17dffc0ed1ac2e2e2875cb8b569eeb35" datatype="html">
         <source>The 
-          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to destroy!
+          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to be 
+          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>! 
+          <x id="INTERPOLATION_1" equiv-text="{{ message }}"/>
         </source>
         <target>The 
-          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to destroy!
+          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to be 
+          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>! 
+          <x id="INTERPOLATION_1" equiv-text="{{ message }}"/>
         </target>
       </trans-unit>
       <trans-unit id="e776996dac651ef3819bfa767ccf2a0613759f47" datatype="html">
         <source>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</source>
         <target>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</target>
       </trans-unit>
-      <trans-unit id="1e2c50ed3c3934ef068976dc7f38513cec29d515" datatype="html">
+      <trans-unit id="5cd6a031937412c42e5efa1e6959cb72ac08c720" datatype="html">
         <source>
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD 
-          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
           <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>
         </source>
         <target>
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD 
-          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
           <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.
         </target>
       </trans-unit>
-      <trans-unit id="4f8b2bb476981727ab34ed40fde1218361f92c45" datatype="html">
-        <source>Details</source>
-        <target>Dettagli</target>
+      <trans-unit id="3eda19b44809820fffd5d3753bafb7243116f4b0" datatype="html">
+        <source>To see all active Prometheus alerts, please
+      provide the URL to the API of Prometheus' Alertmanager as described in the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.
+        </source>
+        <target>To see all active Prometheus alerts, please
+      provide the URL to the API of Prometheus' Alertmanager as described in the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="880ad4df5a2051a437321443d69c9a866699e5ad" datatype="html">
+        <source>Active Alerts</source>
+        <target>Active Alerts</target>
+      </trans-unit>
+      <trans-unit id="8e5e0e09a11990d343926ed693574213d703c38d" datatype="html">
+        <source>All Alerts</source>
+        <target>All Alerts</target>
+      </trans-unit>
+      <trans-unit id="526938c2b7945cb0d68328c24bd77730230cd455" datatype="html">
+        <source>To enable Silences, please provide the URL to the API of the Prometheus' Alertmanager as
+      described in the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.
+        </source>
+        <target>To enable Silences, please provide the URL to the API of the Prometheus' Alertmanager as
+      described in the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="aa0c44aa1e5727061baa91e954f77e2f5f9a37c9" datatype="html">
+        <source>Silences</source>
+        <target>Silences</target>
       </trans-unit>
       <trans-unit id="8501055865d7031b5521a0c5467532648009a61d" datatype="html">
         <source>Matcher</source>
         <source>{VAR_SELECT, select, 1 {Update} other {Add} }</source>
         <target>{VAR_SELECT, select, 1 {Update} other {Add} }</target>
       </trans-unit>
-      <trans-unit id="f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8" datatype="html">
-        <source>Close</source>
-        <target>Chiudi</target>
-      </trans-unit>
       <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c" datatype="html">
         <source>Edit</source>
         <target>Modifica</target>
         <source>End time</source>
         <target>End time</target>
       </trans-unit>
-      <trans-unit id="dbe739ec8c99a0132e326067ffec9c0ee06b2655" datatype="html">
-        <source>Matchers
-          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>*
-          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>
-        </source>
-        <target>Matchers
-          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>*
-          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>
-        </target>
+      <trans-unit id="992123459137d45c15df5548bc9682aad835c04b" datatype="html">
+        <source>Matchers</source>
+        <target>Matchers</target>
       </trans-unit>
       <trans-unit id="3e023166c55833d5a13f4143e3dbe372befe1b4e" datatype="html">
         <source>A silence requires at least one matcher</source>
         <source>CephFS</source>
         <target>CephFS</target>
       </trans-unit>
+      <trans-unit id="0eb15f32b2b92d7f3103ef3ff032621888a8dc32" datatype="html">
+        <source>Old password</source>
+        <target>Old password</target>
+      </trans-unit>
+      <trans-unit id="1cf42e491adc166a337a960eb84d03c0c3f677c8" datatype="html">
+        <source>The old and new passwords must be different.</source>
+        <target>The old and new passwords must be different.</target>
+      </trans-unit>
+      <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229" datatype="html">
+        <source>New password</source>
+        <target>New password</target>
+      </trans-unit>
+      <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b" datatype="html">
+        <source>Confirm new password</source>
+        <target>Confirm new password</target>
+      </trans-unit>
+      <trans-unit id="90163a3d3746819aef42e829f4446331232f3b66" datatype="html">
+        <source>Password confirmation doesn't match the new password.</source>
+        <target>Password confirmation doesn't match the new password.</target>
+      </trans-unit>
+      <trans-unit id="d06ae77f9ec46a4cdd49e7e76c73a411aaf2ee38" datatype="html">
+        <source>Please set a new password.</source>
+        <target>Please set a new password.</target>
+      </trans-unit>
+      <trans-unit id="8b5b3566e88438f51bd5f6caf6c090ed565ba5ed" datatype="html">
+        <source>You will be redirected to the login page afterwards.</source>
+        <target>You will be redirected to the login page afterwards.</target>
+      </trans-unit>
       <trans-unit id="449dca3d3a93ead418b0541ea81b0dda7e6483c2" datatype="html">
         <source>Welcome to Ceph!</source>
         <target>Benvenuto in Ceph.</target>
           <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You'll be logged out from the Identity Provider when you retry logging in.
         </target>
       </trans-unit>
-      <trans-unit id="0eb15f32b2b92d7f3103ef3ff032621888a8dc32" datatype="html">
-        <source>Old password</source>
-        <target>Old password</target>
-      </trans-unit>
-      <trans-unit id="1cf42e491adc166a337a960eb84d03c0c3f677c8" datatype="html">
-        <source>The old and new passwords must be different.</source>
-        <target>The old and new passwords must be different.</target>
-      </trans-unit>
-      <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229" datatype="html">
-        <source>New password</source>
-        <target>New password</target>
-      </trans-unit>
-      <trans-unit id="595ebc9279497f6dc733777e2816bee936901388" datatype="html">
-        <source>Too weak</source>
-        <target>Too weak</target>
-      </trans-unit>
-      <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b" datatype="html">
-        <source>Confirm new password</source>
-        <target>Confirm new password</target>
-      </trans-unit>
-      <trans-unit id="90163a3d3746819aef42e829f4446331232f3b66" datatype="html">
-        <source>Password confirmation doesn't match the new password.</source>
-        <target>Password confirmation doesn't match the new password.</target>
-      </trans-unit>
       <trans-unit id="471e78026c258073ba687478dc54c35d9041ea42" datatype="html">
         <source>Forbidden</source>
         <target>Non consentito</target>
         <source>Sorry, you are not allowed to see what you were looking for.</source>
         <target>Spiacenti, non è consentito visualizzare ciò che si stava cercando.</target>
       </trans-unit>
-      <trans-unit id="e3c028c58f92453d46f09b5adf95b2f013ee0300" datatype="html">
-        <source>Sorry, we could not find what you were looking for</source>
-        <target>Spiacenti, impossibile trovare ciò che si stava cercando</target>
+      <trans-unit id="2240b985f17293d84cc8532fe86994aa5f63667c" datatype="html">
+        <source>Sorry, we could not find what you were looking for.</source>
+        <target>Sorry, we could not find what you were looking for.</target>
+      </trans-unit>
+      <trans-unit id="ac54c18c1b520e948095c83a3a1025f02ce6dcc6" datatype="html">
+        <source>Neither hostname nor OSD ID given</source>
+        <target>Neither hostname nor OSD ID given</target>
+      </trans-unit>
+      <trans-unit id="4f635b3cb0600409a2ad44a5bd1863c699e6a01c" datatype="html">
+        <source>Failed to retrieve SMART data.</source>
+        <target>Failed to retrieve SMART data.</target>
+      </trans-unit>
+      <trans-unit id="d82a9af5b05e7cd17640f196f163771685ff8df6" datatype="html">
+        <source>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</source>
+        <target>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</target>
+      </trans-unit>
+      <trans-unit id="04f8a3c7e8ac610e6581960162cc15f55a16696a" datatype="html">
+        <source>No SMART data available.</source>
+        <target>No SMART data available.</target>
+      </trans-unit>
+      <trans-unit id="3a03d3c2e459f8f8fa7202c0fce465d6165f9e2b" datatype="html">
+        <source>passed</source>
+        <target>passed</target>
+      </trans-unit>
+      <trans-unit id="a185c9b97513b3882604ea9bab60edbfac945c15" datatype="html">
+        <source>SMART overall-health self-assessment test result</source>
+        <target>SMART overall-health self-assessment test result</target>
+      </trans-unit>
+      <trans-unit id="41435d5a5692c8e412c74deaee95d99dbd3617e1" datatype="html">
+        <source>failed</source>
+        <target>failed</target>
+      </trans-unit>
+      <trans-unit id="ddd5dd6d930030096ea617f62c82b648a0dd9484" datatype="html">
+        <source>Device Information</source>
+        <target>Device Information</target>
+      </trans-unit>
+      <trans-unit id="380295f37caea93701d071485a38ef0bdba57133" datatype="html">
+        <source>No SMART data available for this device.</source>
+        <target>No SMART data available for this device.</target>
+      </trans-unit>
+      <trans-unit id="20cb12827cbe559a7b1da6fdae96041b3b5c3c55" datatype="html">
+        <source>SMART</source>
+        <target>SMART</target>
+      </trans-unit>
+      <trans-unit id="5758c3f16f8749f0f4e2a787f02e8b4da246102f" datatype="html">
+        <source>SMART data is loading.</source>
+        <target>SMART data is loading.</target>
       </trans-unit>
       <trans-unit id="a949d7e577902d0e5dc5d0971bb0170a21be7728" datatype="html">
         <source>[object Object]</source>
         <source>The chosen erasure code profile name is already in use.</source>
         <target>Il nome del profilo del codice di cancellazione selezionato è già in uso.</target>
       </trans-unit>
+      <trans-unit id="35a4206db3105ed03e0dd799e1642b75b78123e8" datatype="html">
+        <source>Root</source>
+        <target>Root</target>
+      </trans-unit>
+      <trans-unit id="cf425784c7073c7e7f7c1bb90c2c19db7e751db2" datatype="html">
+        <source>Failure domain type</source>
+        <target>Failure domain type</target>
+      </trans-unit>
+      <trans-unit id="72396a9565cf644d1fe1b21b790c4243ee270986" datatype="html">
+        <source>Device class</source>
+        <target>Device class</target>
+      </trans-unit>
+      <trans-unit id="72d80e0c07bfea1b693a33ef2245007de92a6780" datatype="html">
+        <source>Let Ceph decide</source>
+        <target>Let Ceph decide</target>
+      </trans-unit>
       <trans-unit id="ef9ff0e6227947b48dfab4ac39ade04af758913b" datatype="html">
         <source>Plugin</source>
         <target>Plugin</target>
         <target>It's not possible to create an RBD pool with '/' in the name.
               Please change the name or remove 'rbd' from the applications list.</target>
       </trans-unit>
+      <trans-unit id="171dc6d5c6bc4615d99778b0088cae80fd00bd10" datatype="html">
+        <source>Pool name can only contain letters, numbers, '.', '-', '_' or '/'.</source>
+        <target>Pool name can only contain letters, numbers, '.', '-', '_' or '/'.</target>
+      </trans-unit>
       <trans-unit id="b85c657469e5ec8231c3de99b22f437bc01ffde5" datatype="html">
         <source>Pool type</source>
         <target>Tipo di pool</target>
         <source>-- Select a pool type --</source>
         <target>-- Selezionare un tipo di pool --</target>
       </trans-unit>
+      <trans-unit id="6abfbe47b630929d93c7343dc154599c2e59330a" datatype="html">
+        <source>PG Autoscale</source>
+        <target>PG Autoscale</target>
+      </trans-unit>
       <trans-unit id="0aa21053410a94aa61d16985a4e95fd65523430d" datatype="html">
         <source>Placement groups</source>
         <target>Gruppi di posizionamento</target>
         <target>The current PGs settings were calculated for you, you
                 should make sure the values suit your needs before submit.</target>
       </trans-unit>
-      <trans-unit id="33150f22ce5348aa6c499bd092c3f4f3695d62cc" datatype="html">
-        <source>Crush ruleset</source>
-        <target>Set di regole Crush</target>
-      </trans-unit>
-      <trans-unit id="73a6b31116b3cc322af951daa0bafdc169e6c42e" datatype="html">
-        <source>-- Select a crush rule --</source>
-        <target>-- Selezionare una regola Crush --</target>
-      </trans-unit>
-      <trans-unit id="92da80699921e89fb19372e25b8d0f3b9fa427fc" datatype="html">
-        <source>Crush rule</source>
-        <target>Regola Crush</target>
-      </trans-unit>
-      <trans-unit id="5489e9f96835f469f6f728a00d8efa88ea5bc940" datatype="html">
-        <source>Crush steps</source>
-        <target>Passaggi Crush</target>
-      </trans-unit>
-      <trans-unit id="54a53b1b402aafff5b992ee9b64e409fbfe9074f" datatype="html">
-        <source>The rule can't be used in the current cluster as it has
-                to few OSDs to meet the minimum required OSD by this rule.</source>
-        <target>Non è possibile utilizzare la regola nel cluster attuale perché il numero degli
-                OSD che contiene è troppo basso e non soddisfa il numero minimo di OSD richiesto da questa regola.</target>
-      </trans-unit>
       <trans-unit id="a43b2695131b48b76cebba676aba98a2bee17515" datatype="html">
         <source>Replicated size</source>
         <target>Dimensioni replicate</target>
           <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.
         </target>
       </trans-unit>
+      <trans-unit id="920617c6a1a4805e53bcb5af6a9c76f8387e89c6" datatype="html">
+        <source>Flags</source>
+        <target>Flag</target>
+      </trans-unit>
+      <trans-unit id="1c870fb00256b8a5b9cb9cd1a124e6390b9bc639" datatype="html">
+        <source>EC Overwrites</source>
+        <target>Sovrascritture EC</target>
+      </trans-unit>
+      <trans-unit id="f1abafaeb40ce52355ddcc24686e3cd17b64e08a" datatype="html">
+        <source>Applications</source>
+        <target>Applicazioni</target>
+      </trans-unit>
+      <trans-unit id="fb9308b82fc183f710df60909f49cfc73aa5e076" datatype="html">
+        <source>CRUSH</source>
+        <target>CRUSH</target>
+      </trans-unit>
       <trans-unit id="9de7dde00e2139cc4bd03b1837afbe72ad15a1ff" datatype="html">
         <source>Erasure code profile</source>
         <target>Profilo del codice di cancellazione</target>
         <source>-- Select an erasure code profile --</source>
         <target>-- Selezionare un profilo del codice di cancellazione --</target>
       </trans-unit>
-      <trans-unit id="920617c6a1a4805e53bcb5af6a9c76f8387e89c6" datatype="html">
-        <source>Flags</source>
-        <target>Flag</target>
+      <trans-unit id="33150f22ce5348aa6c499bd092c3f4f3695d62cc" datatype="html">
+        <source>Crush ruleset</source>
+        <target>Set di regole Crush</target>
       </trans-unit>
-      <trans-unit id="1c870fb00256b8a5b9cb9cd1a124e6390b9bc639" datatype="html">
-        <source>EC Overwrites</source>
-        <target>Sovrascritture EC</target>
+      <trans-unit id="c69b0bcd4698aa845d32c4c4ad488492552cb469" datatype="html">
+        <source>A new crush ruleset will be implicitly created.</source>
+        <target>A new crush ruleset will be implicitly created.</target>
       </trans-unit>
-      <trans-unit id="f1abafaeb40ce52355ddcc24686e3cd17b64e08a" datatype="html">
-        <source>Applications</source>
-        <target>Applicazioni</target>
+      <trans-unit id="896e9987db5e9bb279e6deed5d2dff28c242ef66" datatype="html">
+        <source>There are no rules.</source>
+        <target>There are no rules.</target>
+      </trans-unit>
+      <trans-unit id="73a6b31116b3cc322af951daa0bafdc169e6c42e" datatype="html">
+        <source>-- Select a crush rule --</source>
+        <target>-- Selezionare una regola Crush --</target>
+      </trans-unit>
+      <trans-unit id="ea91d648f92002bc9f96d9b26b735c83ca0b53c6" datatype="html">
+        <source>This rule can't be deleted as it is in use.</source>
+        <target>This rule can't be deleted as it is in use.</target>
+      </trans-unit>
+      <trans-unit id="92da80699921e89fb19372e25b8d0f3b9fa427fc" datatype="html">
+        <source>Crush rule</source>
+        <target>Regola Crush</target>
+      </trans-unit>
+      <trans-unit id="5489e9f96835f469f6f728a00d8efa88ea5bc940" datatype="html">
+        <source>Crush steps</source>
+        <target>Passaggi Crush</target>
+      </trans-unit>
+      <trans-unit id="fc5f5496a9e50fe69e1a09784f28d94944108294" datatype="html">
+        <source>Rule is not in use.</source>
+        <target>Rule is not in use.</target>
+      </trans-unit>
+      <trans-unit id="023d6f718770d2ea4ab8cabe26b0ec27ef967ec2" datatype="html">
+        <source>Used by pools</source>
+        <target>Used by pools</target>
+      </trans-unit>
+      <trans-unit id="104a0e6900d1d1b0c8cf9e5947e36edb352583fc" datatype="html">
+        <source>The rule can't be used in the current cluster as it has
+                  too few OSDs to meet the minimum required OSD by this rule.</source>
+        <target>The rule can't be used in the current cluster as it has
+                  too few OSDs to meet the minimum required OSD by this rule.</target>
       </trans-unit>
       <trans-unit id="2208d63d5940ce656006a220102b1eb2b5e553da" datatype="html">
         <source>Compression</source>
         <source>The value should be greater or equal to 0</source>
         <target>The value should be greater or equal to 0</target>
       </trans-unit>
+      <trans-unit id="4f8b2bb476981727ab34ed40fde1218361f92c45" datatype="html">
+        <source>Details</source>
+        <target>Dettagli</target>
+      </trans-unit>
       <trans-unit id="fbbaf5cb02ed419e79a27072478f716a4666a99d" datatype="html">
         <source>Performance Details</source>
         <target>Dettagli sulle prestazioni</target>
         <source>Cache Tiers Details</source>
         <target>Dettagli livelli cache</target>
       </trans-unit>
+      <trans-unit id="ecbc084370a732fc3cde1966a60af78d71424ab4" datatype="html">
+        <source>Create Bootstrap Token</source>
+        <target>Create Bootstrap Token</target>
+      </trans-unit>
+      <trans-unit id="603e9cc3ef2aab57f2b0a00e465b23b9cabefd9c" datatype="html">
+        <source>To create a bootstrap token which can be imported
+          by a peer site cluster, provide the local site's name, select
+          which pools will have mirroring enabled, and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Generate
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </source>
+        <target>To create a bootstrap token which can be imported
+          by a peer site cluster, provide the local site's name, select
+          which pools will have mirroring enabled, and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Generate
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="660f97cd3188f8a04bd03b79e703fec72c6df04c" datatype="html">
+        <source>Site Name</source>
+        <target>Site Name</target>
+      </trans-unit>
+      <trans-unit id="8c2a1dc72cffaf7ab3dc5599bf77b0a7fcad2b20" datatype="html">
+        <source>At least one pool is required.</source>
+        <target>At least one pool is required.</target>
+      </trans-unit>
+      <trans-unit id="1b258b258b4cc475ceb2871305b61756b0134f4a" datatype="html">
+        <source>Generate</source>
+        <target>Generate</target>
+      </trans-unit>
+      <trans-unit id="1edc1fc6cfbbb22353050ad6788508b3ed584f53" datatype="html">
+        <source>Token</source>
+        <target>Token</target>
+      </trans-unit>
+      <trans-unit id="ff785f5596aef34a93b9b4d1023e95c62eef5740" datatype="html">
+        <source>Generated token...</source>
+        <target>Generated token...</target>
+      </trans-unit>
+      <trans-unit id="5467a6bb0e7fade6def7499400d5e2a7d8d3da20" datatype="html">
+        <source>Import Bootstrap Token</source>
+        <target>Import Bootstrap Token</target>
+      </trans-unit>
+      <trans-unit id="9bb7aee0dec5164f45c0aa2f35f2fb2149d2c1d2" datatype="html">
+        <source>To import a bootstrap token which was created
+          by a peer site cluster, provide the local site's name, select
+          which pools will have mirroring enabled, provide the generated
+          token, and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Import
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </source>
+        <target>To import a bootstrap token which was created
+          by a peer site cluster, provide the local site's name, select
+          which pools will have mirroring enabled, provide the generated
+          token, and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Import
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="9200e09686136a1d42adfb89c12fbfef2deea125" datatype="html">
+        <source>Direction</source>
+        <target>Direction</target>
+      </trans-unit>
+      <trans-unit id="9761484679958da8d12841a4efa5964d33fae575" datatype="html">
+        <source>The token is invalid.</source>
+        <target>The token is invalid.</target>
+      </trans-unit>
+      <trans-unit id="a059709f71aa4c0ac219e160e78a738682ca6a36" datatype="html">
+        <source>Import</source>
+        <target>Import</target>
+      </trans-unit>
+      <trans-unit id="b87bd96249f8afc23f5301cddb57b1464a98e71a" datatype="html">
+        <source>Edit site name</source>
+        <target>Edit site name</target>
+      </trans-unit>
+      <trans-unit id="cfff72c667274c12eb1ff71eadc25871c10c42dc" datatype="html">
+        <source>Edit the site name and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </source>
+        <target>Edit the site name and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="40b7acea5b43f45e0bbd1efeba5200af4687981d" datatype="html">
+        <source>Site Name:</source>
+        <target>Site Name:</target>
+      </trans-unit>
       <trans-unit id="f0b5d789d42c0e69348e5fe0037fcbf5b5fbbdcc" datatype="html">
         <source>Move an image to trash</source>
         <target>Sposta un'immagine nel cestino</target>
       </trans-unit>
-      <trans-unit id="86301cf2044b1eda218483365f6b9de8dde5040b" datatype="html">
+      <trans-unit id="7ad22c1d4aab3b8946603cea62de266d5129ca10" datatype="html">
+        <source>This image contains snapshot(s), which will prevent it
+            from being removed after moved to trash.</source>
+        <target>This image contains snapshot(s), which will prevent it
+            from being removed after moved to trash.</target>
+      </trans-unit>
+      <trans-unit id="b4b3ced4f8aad4c446f348b14c3d94be2e2c350c" datatype="html">
         <source>To move 
           <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>
-          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>/
-          <x id="INTERPOLATION_1" equiv-text="{{ imageName }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ imageSpecStr }}"/>
           <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,
           click 
           <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image
         </source>
         <target>To move 
           <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>
-          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>/
-          <x id="INTERPOLATION_1" equiv-text="{{ imageName }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ imageSpecStr }}"/>
           <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,
           click 
           <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image
         <source>Move Image</source>
         <target>Sposta immagine</target>
       </trans-unit>
+      <trans-unit id="c9f1026c1235f4d76ace47449e806efd181ab332" datatype="html">
+        <source>Deleting this image will also delete all its snapshots.</source>
+        <target>Deleting this image will also delete all its snapshots.</target>
+      </trans-unit>
+      <trans-unit id="55f864597e84d9bf88769e1fbfda1d64452430c9" datatype="html">
+        <source>The following snapshots are currently protected and will be removed:</source>
+        <target>The following snapshots are currently protected and will be removed:</target>
+      </trans-unit>
       <trans-unit id="8a9910cd114c1deb9af74f6f99b4173403965bf2" datatype="html">
         <source>Gateways</source>
         <target>Gateways</target>
         <source>Object size</source>
         <target>Dimensioni oggetto</target>
       </trans-unit>
-      <trans-unit id="6cdb1fea93d77c07950c0c76c6e0ad79ebbef084" datatype="html">
-        <source>Features</source>
-        <target>Funzioni</target>
-      </trans-unit>
       <trans-unit id="0a65771c9a73b9aa609d592fc96a64801a8f40bd" datatype="html">
         <source>Provisioned</source>
         <target>Soggetto al provisioning</target>
         <source>-- Select a pool --</source>
         <target>-- Selezionare un pool --</target>
       </trans-unit>
+      <trans-unit id="d649904466254d13df1fbf2d255f0bbc6553d213" datatype="html">
+        <source>-- No namespaces available --</source>
+        <target>-- No namespaces available --</target>
+      </trans-unit>
+      <trans-unit id="e22d7bb4d2d561e0832ee0b9a3da2468a080c4f0" datatype="html">
+        <source>-- Select a namespace --</source>
+        <target>-- Select a namespace --</target>
+      </trans-unit>
       <trans-unit id="49449943d8cbf59d8c401c8bd2e76f92e207cc5f" datatype="html">
         <source>Use a dedicated data pool</source>
         <target>Utilizza un pool di dati dedicato</target>
         <source>Stripe count must be greater than 0.</source>
         <target>Il numero di striping deve essere maggiore di 0.</target>
       </trans-unit>
-      <trans-unit id="3f67f30568e9ae47507d46e28e1e82a7dca772e2" datatype="html">
-        <source>
-          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> RBD Snapshot
-        </source>
-        <target>
-          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> RBD Snapshot
-        </target>
-      </trans-unit>
-      <trans-unit id="1628d19a4490817c18be2afab410ca4adfa62ea7" datatype="html">
-        <source>{VAR_SELECT, select, true {Rename} other {Create} }</source>
-        <target>{VAR_SELECT, select, true {Rename} other {Create} }</target>
+      <trans-unit id="2c07d24bb422aa8e5e568df1c5709083f0a9c8f1" datatype="html">
+        <source>Create Namespace</source>
+        <target>Create Namespace</target>
       </trans-unit>
-      <trans-unit id="73a287b41afe6b28f90edbeb98957a341a0276b4" datatype="html">
-        <source>
-          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> Snapshot
-        </source>
-        <target>
-          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> Snapshot
-        </target>
-      </trans-unit>
-      <trans-unit id="cb60c1cd3655234756b5b92d4d597d92d520ee30" datatype="html">
-        <source>PROTECTED</source>
-        <target>PROTECTED</target>
-      </trans-unit>
-      <trans-unit id="deffb86b8fb0541254ad5a43862d82bff6b6a6c4" datatype="html">
-        <source>UNPROTECTED</source>
-        <target>NON PROTETTO</target>
+      <trans-unit id="0cca6c0485f96d3a9610d0339cb1275a5f2c3f46" datatype="html">
+        <source>Namespace already exists.</source>
+        <target>Namespace already exists.</target>
       </trans-unit>
       <trans-unit id="5c5331983af566d4ac6a1024d15a3511786a4aa6" datatype="html">
         <source>You are about to rollback</source>
         <source>Purge Trash</source>
         <target>Elimina definitivamente contenuto del cestino</target>
       </trans-unit>
-      <trans-unit id="af728625d769b61acf291442644b89edb88faec3" datatype="html">
-        <source>To purge, select one or All images and click</source>
-        <target>Per eliminare definitivamente, selezionare una o tutte le immagini e fare clic su</target>
+      <trans-unit id="681501eecd7f44d4b7a2f619605b36676e04c5b6" datatype="html">
+        <source>To purge, select one or</source>
+        <target>To purge, select one or</target>
+      </trans-unit>
+      <trans-unit id="dfc3c34e182ea73c5d784ff7c8135f087992dac1" datatype="html">
+        <source>All</source>
+        <target>Tutto</target>
+      </trans-unit>
+      <trans-unit id="ea5d338dcef50ff5c24439fd784f6a67b594c33f" datatype="html">
+        <source>pools and click</source>
+        <target>pools and click</target>
       </trans-unit>
       <trans-unit id="55a4f598a4894b7fd5cb88f0ffd3c37ad009dd70" datatype="html">
         <source>Pool:</source>
         <source>Pool name...</source>
         <target>Nome pool...</target>
       </trans-unit>
-      <trans-unit id="dfc3c34e182ea73c5d784ff7c8135f087992dac1" datatype="html">
-        <source>All</source>
-        <target>Tutto</target>
-      </trans-unit>
       <trans-unit id="b0e7c7ed1d51a0c205c815048bc9f79e24ee6db2" datatype="html">
         <source>Restore Image</source>
         <target>Ripristina immagine</target>
           <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.
         </target>
       </trans-unit>
-      <trans-unit id="aba82bfd8e177d35b76cad7cd43941f8e5e5acac" datatype="html">
-        <source>Trash</source>
-        <target>Cestino</target>
-      </trans-unit>
       <trans-unit id="a674ab267d1934bf395f87ca1503fd474296893f" datatype="html">
         <source>iSCSI Topology</source>
         <target>Topologia iSCSI</target>
       </trans-unit>
-      <trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html">
-        <source>Settings</source>
-        <target>Impostazioni</target>
+      <trans-unit id="051dcc342cfa5c1eaf187a2001aaa162379a160c" datatype="html">
+        <source>Configure</source>
+        <target>Configure</target>
       </trans-unit>
       <trans-unit id="9e515f954730279c31d5301f02479666d6264e8b" datatype="html">
         <source>Changing these parameters from their default values is usually not necessary.</source>
         <target>Di solito non è necessario modificare questi parametri rispetto ai valori di default.</target>
       </trans-unit>
+      <trans-unit id="4e2591df099ddac796cda401c5f282da779d45f2" datatype="html">
+        <source>Identifier</source>
+        <target>Identifier</target>
+      </trans-unit>
+      <trans-unit id="62480a4859976427cf18fc8ef41d3a438eda0412" datatype="html">
+        <source>lun</source>
+        <target>lun</target>
+      </trans-unit>
+      <trans-unit id="8afc9eb4405e0aa554b2ba14140ef790cdecc040" datatype="html">
+        <source>wwn</source>
+        <target>wwn</target>
+      </trans-unit>
+      <trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html">
+        <source>Settings</source>
+        <target>Impostazioni</target>
+      </trans-unit>
       <trans-unit id="69a47cbabcc51ca942606e1d8da0ec11f98a2690" datatype="html">
         <source>Backstore</source>
         <target>Backstore</target>
         <source>Portals</source>
         <target>Portali</target>
       </trans-unit>
+      <trans-unit id="6a3ac2b4137d723fd9878cd357c2012ff6c07973" datatype="html">
+        <source>Add portal</source>
+        <target>Aggiungi portale</target>
+      </trans-unit>
       <trans-unit id="c3638c01b6c34066438909713ec96087c813fc7e" datatype="html">
         <source>At least 
           <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.
           <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.
         </target>
       </trans-unit>
-      <trans-unit id="6a3ac2b4137d723fd9878cd357c2012ff6c07973" datatype="html">
-        <source>Add portal</source>
-        <target>Aggiungi portale</target>
-      </trans-unit>
       <trans-unit id="9aff25be088f0efe3eaaf62edf2bff41cc41a617" datatype="html">
         <source>Backstore: 
           <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. 
         <source>This image has modified settings.</source>
         <target>Questa immagine contiene impostazioni modificate.</target>
       </trans-unit>
-      <trans-unit id="107c84e820909b44fe258673938a68ced1bbff72" datatype="html">
-        <source>At least 1 image is required.</source>
-        <target>È richiesta almeno 1 immagine.</target>
+      <trans-unit id="1dff11e0820b6722ab240169f1232d70a54beaaa" datatype="html">
+        <source>Duplicated LUN numbers.</source>
+        <target>Duplicated LUN numbers.</target>
+      </trans-unit>
+      <trans-unit id="bf2dccf92ccff6e3b091792bf4205595406e1bfb" datatype="html">
+        <source>Duplicated WWN.</source>
+        <target>Duplicated WWN.</target>
       </trans-unit>
       <trans-unit id="808038f912fdc7f0e03f82d4afd3bf9178527fc8" datatype="html">
         <source>Add image</source>
         <source>Add group</source>
         <target>Aggiungi gruppo</target>
       </trans-unit>
+      <trans-unit id="c3a7e364a88ea4673199dfa98bc73e6dbe09dfac" datatype="html">
+        <source>Namespaces</source>
+        <target>Namespaces</target>
+      </trans-unit>
+      <trans-unit id="aba82bfd8e177d35b76cad7cd43941f8e5e5acac" datatype="html">
+        <source>Trash</source>
+        <target>Cestino</target>
+      </trans-unit>
       <trans-unit id="66db799d67958d4b0765181d072df62e2d1c16f5" datatype="html">
         <source>Issues</source>
         <target>Problemi</target>
         <source>Enables versioning for the objects in the bucket.</source>
         <target>Enables versioning for the objects in the bucket.</target>
       </trans-unit>
-      <trans-unit id="92f3f203270a29b3001871153f02c063484a1574" datatype="html">
-        <source>Suspended</source>
-        <target>Sospeso</target>
+      <trans-unit id="9e6775ffd06878aa145c07359f28557f01ede04f" datatype="html">
+        <source>Multi-Factor Authentication</source>
+        <target>Multi-Factor Authentication</target>
+      </trans-unit>
+      <trans-unit id="29e8a5d4fb767d4ad0c762c81c6264cec4c0ba97" datatype="html">
+        <source>Delete enabled</source>
+        <target>Delete enabled</target>
+      </trans-unit>
+      <trans-unit id="40fbc3ac8c1ea4ecfe62247e91f1f999ad5baf76" datatype="html">
+        <source>Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state.</source>
+        <target>Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state.</target>
+      </trans-unit>
+      <trans-unit id="d24c93a8c13db46defa06ed7b5e026a3edb52b91" datatype="html">
+        <source>Token Serial Number</source>
+        <target>Token Serial Number</target>
+      </trans-unit>
+      <trans-unit id="e6d9536c2af2e5e9a228c3e3e1809dc1fefe0149" datatype="html">
+        <source>Token PIN</source>
+        <target>Token PIN</target>
+      </trans-unit>
+      <trans-unit id="7b84370895ab9eb44672f57146fa05c5947f1c0c" datatype="html">
+        <source>Locking</source>
+        <target>Locking</target>
+      </trans-unit>
+      <trans-unit id="f038d51ab1645f15b0cd58f195c72a7eeebd4729" datatype="html">
+        <source>Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket.</source>
+        <target>Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket.</target>
+      </trans-unit>
+      <trans-unit id="9af1b4baa2dd8ed2bfc3cc756b12a2271c2dd793" datatype="html">
+        <source>Compliance</source>
+        <target>Compliance</target>
+      </trans-unit>
+      <trans-unit id="edd600fa489d1b4a4448dce694ed932e52ce8fda" datatype="html">
+        <source>Governance</source>
+        <target>Governance</target>
+      </trans-unit>
+      <trans-unit id="a5c3d9d2296f7886e8289b9f623323803deacfc6" datatype="html">
+        <source>Days</source>
+        <target>Days</target>
       </trans-unit>
-      <trans-unit id="cd6a798fd0f85cd7e31a57c58074f25035d7850d" datatype="html">
-        <source>Disables versioning for the objects in the bucket.</source>
-        <target>Disables versioning for the objects in the bucket.</target>
+      <trans-unit id="218c7d6d318c51e7105309aaeb0baec9d19e4efb" datatype="html">
+        <source>The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</source>
+        <target>The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</target>
+      </trans-unit>
+      <trans-unit id="289b101ec12427b3ca819df9e43cc3b14fae2cc4" datatype="html">
+        <source>The entered value must be a positive integer.</source>
+        <target>The entered value must be a positive integer.</target>
+      </trans-unit>
+      <trans-unit id="def9fc628134d3a044b7c0ad2a83c846bdad56f1" datatype="html">
+        <source>Retention period requires either Days or Years.</source>
+        <target>Retention period requires either Days or Years.</target>
+      </trans-unit>
+      <trans-unit id="003c94fc143882ac8af6251a1595fe62978fe3e6" datatype="html">
+        <source>Years</source>
+        <target>Years</target>
+      </trans-unit>
+      <trans-unit id="14c6189ead0951f13049c7bf9af7642d0c41957a" datatype="html">
+        <source>The number of years that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</source>
+        <target>The number of years that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</target>
       </trans-unit>
       <trans-unit id="45cc8ca94b5a50842a9a8ef804a5ab089a38ae5c" datatype="html">
         <source>ID</source>
         <source>Zonegroup</source>
         <target>Gruppo di zone</target>
       </trans-unit>
+      <trans-unit id="62a923f047ca49e7a4782629e91fea1ba32db68f" datatype="html">
+        <source>MFA Delete</source>
+        <target>MFA Delete</target>
+      </trans-unit>
       <trans-unit id="649a410bd0ace333d067d8fa22f12bdbdb43533b" datatype="html">
         <source>Bucket quota</source>
         <target>Quota compartimenti</target>
         <source>Email address</source>
         <target>Indirizzo e-mail</target>
       </trans-unit>
+      <trans-unit id="92f3f203270a29b3001871153f02c063484a1574" datatype="html">
+        <source>Suspended</source>
+        <target>Sospeso</target>
+      </trans-unit>
       <trans-unit id="8011e20c5bbe51602d459a860fbf29b599b55edd" datatype="html">
         <source>System</source>
         <target>Sistema</target>
         <source>Max. buckets</source>
         <target>Numero max. di compartimenti</target>
       </trans-unit>
-      <trans-unit id="623ac50f37a26caec6fd7cd519b653e3315cba25" datatype="html">
-        <source>The entered value must be &gt;= 0.</source>
-        <target>Il valore immesso deve essere &gt;= a 0.</target>
+      <trans-unit id="f39256070bfc0714020dfee08895421fc1527014" datatype="html">
+        <source>Disabled</source>
+        <target>Disabilitato</target>
+      </trans-unit>
+      <trans-unit id="a5c05002b0ac2040f1aede5e727e0ffd06eda819" datatype="html">
+        <source>Custom</source>
+        <target>Personalizzato</target>
+      </trans-unit>
+      <trans-unit id="28872515cb81d197a3a1733fa546d3e0f0dd6c67" datatype="html">
+        <source>The entered value must be &gt;= 1.</source>
+        <target>The entered value must be &gt;= 1.</target>
       </trans-unit>
       <trans-unit id="583a219c524155c2314eb06ee29162bb315272a3" datatype="html">
         <source>S3 key</source>
           <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>
         </target>
       </trans-unit>
+      <trans-unit id="f5a451c4ea65a4046f0b49d489a7013abf0b5861" datatype="html">
+        <source>All capabilities are already added.</source>
+        <target>All capabilities are already added.</target>
+      </trans-unit>
       <trans-unit id="6146e13ceca5fa5cc17b771b282fe5955f3d19fa" datatype="html">
         <source>Unlimited size</source>
         <target>Dimensioni illimitate</target>
         <source>Max. objects</source>
         <target>Numero max. di oggetti</target>
       </trans-unit>
+      <trans-unit id="623ac50f37a26caec6fd7cd519b653e3315cba25" datatype="html">
+        <source>The entered value must be &gt;= 0.</source>
+        <target>Il valore immesso deve essere &gt;= a 0.</target>
+      </trans-unit>
       <trans-unit id="1ea5c4d8942c00752dcc72e72949c5d9832f6399" datatype="html">
         <source>Description...</source>
         <target>Descrizione...</target>
         <source>Password confirmation doesn't match the password.</source>
         <target>La password di conferma non corrisponde alla password.</target>
       </trans-unit>
+      <trans-unit id="96621f9ed2e4ae5204564e583d2c816bedead571" datatype="html">
+        <source>Password expiration date</source>
+        <target>Password expiration date</target>
+      </trans-unit>
+      <trans-unit id="48932db3801fe9d5d72a60a3e656bffd17c1c5d9" datatype="html">
+        <source>Password expiration date...</source>
+        <target>Password expiration date...</target>
+      </trans-unit>
       <trans-unit id="244aae9346da82b0922506c2d2581373a15641cc" datatype="html">
         <source>Email</source>
         <target>E-mail</target>
         <source>Invalid email.</source>
         <target>E-mail non valida.</target>
       </trans-unit>
+      <trans-unit id="8913c216dd506e20e412e144381d8d2a65a84359" datatype="html">
+        <source>User must change password at next logon</source>
+        <target>User must change password at next logon</target>
+      </trans-unit>
       <trans-unit id="0051a3479d3ba79135c16dc8cc017950a2cce821" datatype="html">
         <source>You are about to remove "user read / update" permissions from your own user.</source>
         <target>Si stanno per rimuovere le autorizzazioni di "lettura/aggiornamento utente" dal proprio utente.</target>
         <source>Histogram</source>
         <target>Istogramma</target>
       </trans-unit>
+      <trans-unit id="3d87fc20ea8e5f0f0500ba5d5061b345be78ec5e" datatype="html">
+        <source>No hostname found.</source>
+        <target>No hostname found.</target>
+      </trans-unit>
       <trans-unit id="26fb5f81b3581f06b9210defb0e71dc69a67e819" datatype="html">
         <source>Current values</source>
         <target>Valori attuali</target>
         <target>Tag</target>
       </trans-unit>
       <trans-unit id="ab0089ef47af61ca1d137bc908b96c290dfd9287" datatype="html">
-        <source>Enum values</source>
-        <target>Valori di enumerazione</target>
-      </trans-unit>
-      <trans-unit id="819476f1264f1659f38e86f6abb542141b184832" datatype="html">
-        <source>See also</source>
-        <target>Vedere anche</target>
-      </trans-unit>
-      <trans-unit id="d82a9af5b05e7cd17640f196f163771685ff8df6" datatype="html">
-        <source>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</source>
-        <target>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</target>
-      </trans-unit>
-      <trans-unit id="a185c9b97513b3882604ea9bab60edbfac945c15" datatype="html">
-        <source>SMART overall-health self-assessment test result</source>
-        <target>SMART overall-health self-assessment test result</target>
-      </trans-unit>
-      <trans-unit id="ddd5dd6d930030096ea617f62c82b648a0dd9484" datatype="html">
-        <source>Device Information</source>
-        <target>Device Information</target>
-      </trans-unit>
-      <trans-unit id="79c6bf990ea5b4d83bbf8f9e399f4bd933a1ebfc" datatype="html">
-        <source>S.M.A.R.T</source>
-        <target>S.M.A.R.T</target>
+        <source>Enum values</source>
+        <target>Valori di enumerazione</target>
       </trans-unit>
-      <trans-unit id="05c17e08939cbef1a5df5386263b1701e8d5742e" datatype="html">
-        <source>S.M.A.R.T data is loading.</source>
-        <target>S.M.A.R.T data is loading.</target>
+      <trans-unit id="819476f1264f1659f38e86f6abb542141b184832" datatype="html">
+        <source>See also</source>
+        <target>Vedere anche</target>
       </trans-unit>
       <trans-unit id="73caac4265ea7314ff061e5a1d78a6361a6dd3b8" datatype="html">
         <source>Cluster Status</source>
         <source>MDS performance counters</source>
         <target>MDS performance counters</target>
       </trans-unit>
-      <trans-unit id="a7b6508fb834bee9e48e11e4503fbbc2d19204de" datatype="html">
-        <source>Clients: 
-          <x id="INTERPOLATION" equiv-text="{{ clients.data.length }}"/>
-        </source>
-        <target>Clients: 
-          <x id="INTERPOLATION" equiv-text="{{ clients.data.length }}"/>
-        </target>
-      </trans-unit>
       <trans-unit id="6e213942c6354b9cbe7a650f0f1499bfc1000fb6" datatype="html">
         <source>Directories</source>
         <target>Directories</target>
         <source># Sessions</source>
         <target># Sessions</target>
       </trans-unit>
+      <trans-unit id="2ea10b3668e04e057ba96ddcaf4c9b77089008ae" datatype="html">
+        <source>Unavailable gateway(s)</source>
+        <target>Unavailable gateway(s)</target>
+      </trans-unit>
       <trans-unit id="c49e0dd71d551bd4928d967d78f0721dbf9f95e3" datatype="html">
         <source>Target has active sessions</source>
         <target>Target has active sessions</target>
         <source>Progress</source>
         <target>Avanzamento</target>
       </trans-unit>
-      <trans-unit id="f39256070bfc0714020dfee08895421fc1527014" datatype="html">
-        <source>Disabled</source>
-        <target>Disabilitato</target>
+      <trans-unit id="25b725dba712a7a020fd34a72297befae975a492" datatype="html">
+        <source>Edit Site Name</source>
+        <target>Edit Site Name</target>
       </trans-unit>
       <trans-unit id="8c375764db42f5d736fb56d01b8052c006ccc8e2" datatype="html">
         <source>Edit Mode</source>
         <source>Fast diff (interlocked with object-map)</source>
         <target>Fast diff (interlocked with object-map)</target>
       </trans-unit>
+      <trans-unit id="130fd872c78271a8f86b1ab16a76e823969c47d9" datatype="html">
+        <source>Namespace</source>
+        <target>Namespace</target>
+      </trans-unit>
+      <trans-unit id="14abc99daed542774633046c53b6ce8251331141" datatype="html">
+        <source>This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.</source>
+        <target>This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.</target>
+      </trans-unit>
+      <trans-unit id="51699f716cf34e6622ff7bfd84641480c045271a" datatype="html">
+        <source>Created namespace '
+          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/
+          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>'
+        </source>
+        <target>Created namespace '
+          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/
+          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>'
+        </target>
+      </trans-unit>
+      <trans-unit id="bf44b7d6379ce0198ed3d95a27642a224181bf1d" datatype="html">
+        <source>Total images</source>
+        <target>Total images</target>
+      </trans-unit>
+      <trans-unit id="371ce3ffe62548d15e391a248bc554d903bb03fc" datatype="html">
+        <source>Deleted namespace '
+          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/
+          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>'
+        </source>
+        <target>Deleted namespace '
+          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/
+          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>'
+        </target>
+      </trans-unit>
+      <trans-unit id="9d704fd00ca929f90c3119cefc581821ae58a73e" datatype="html">
+        <source>Namespace contains images</source>
+        <target>Namespace contains images</target>
+      </trans-unit>
+      <trans-unit id="c2017dc94b4f57a347ccb126e546e88942f4d7a6" datatype="html">
+        <source>RBD Snapshot</source>
+        <target>RBD Snapshot</target>
+      </trans-unit>
       <trans-unit id="631fc50ec7c9bd81dc797a3c7e09eda1178ad999" datatype="html">
         <source>Parent image must support Layering</source>
         <target>Parent image must support Layering</target>
       </trans-unit>
+      <trans-unit id="cb60c1cd3655234756b5b92d4d597d92d520ee30" datatype="html">
+        <source>PROTECTED</source>
+        <target>PROTECTED</target>
+      </trans-unit>
+      <trans-unit id="deffb86b8fb0541254ad5a43862d82bff6b6a6c4" datatype="html">
+        <source>UNPROTECTED</source>
+        <target>NON PROTETTO</target>
+      </trans-unit>
       <trans-unit id="7eb984588f4835f6d0187b33769b4b0f62821640" datatype="html">
         <source>RBD snapshot rollback</source>
         <target>Rollback snapshot RBD</target>
         <source>Origin</source>
         <target>Origin</target>
       </trans-unit>
+      <trans-unit id="2ea2ec95d93fd55d0db6e9d2b95b25e153d4cec2" datatype="html">
+        <source>Max size</source>
+        <target>Max size</target>
+      </trans-unit>
+      <trans-unit id="665dced3a61bca44924a0bde4be47390225a4898" datatype="html">
+        <source>Max files</source>
+        <target>Max files</target>
+      </trans-unit>
+      <trans-unit id="0ccf776baac60794b142526986f3af85848c7059" datatype="html">
+        <source>The inherited 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/> is the maximum value to be used.
+        </source>
+        <target>The inherited 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/> is the maximum value to be used.
+        </target>
+      </trans-unit>
+      <trans-unit id="b0e2ef28384f2de6674cac300c779f900929a89b" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{action}}"/> CephFS 
+          <x id="INTERPOLATION_1" equiv-text="{{quotaName}}"/> quota for '
+          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>'
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{action}}"/> CephFS 
+          <x id="INTERPOLATION_1" equiv-text="{{quotaName}}"/> quota for '
+          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>'
+        </target>
+      </trans-unit>
+      <trans-unit id="542ef638499635dec7641bdc2e499258094187cc" datatype="html">
+        <source>size</source>
+        <target>size</target>
+      </trans-unit>
+      <trans-unit id="ce90ff00c341d8eef96b0e7956bb85b8faba3839" datatype="html">
+        <source>files</source>
+        <target>files</target>
+      </trans-unit>
+      <trans-unit id="fbe8b9340c08c24aef62ffe81c83e2b46a4f1495" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{quotaName}}"/> quota 
+          <x id="INTERPOLATION_1" equiv-text="{{value}}"/> from '
+          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>'
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{quotaName}}"/> quota 
+          <x id="INTERPOLATION_1" equiv-text="{{value}}"/> from '
+          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>'
+        </target>
+      </trans-unit>
+      <trans-unit id="37c2c0a4a356465eef2edfb09ffffc6db5259975" datatype="html">
+        <source>Value has to be at least 
+          <x id="INTERPOLATION" equiv-text="{{value}}"/> or more
+        </source>
+        <target>Value has to be at least 
+          <x id="INTERPOLATION" equiv-text="{{value}}"/> or more
+        </target>
+      </trans-unit>
+      <trans-unit id="73f8e64703a707e2cf98b9a10653cd3bbdd8cab1" datatype="html">
+        <source>Value has to be at most 
+          <x id="INTERPOLATION" equiv-text="{{value}}"/> or less
+        </source>
+        <target>Value has to be at most 
+          <x id="INTERPOLATION" equiv-text="{{value}}"/> or less
+        </target>
+      </trans-unit>
+      <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc" datatype="html">
+        <source>Updated</source>
+        <target>Aggiornato</target>
+      </trans-unit>
+      <trans-unit id="b6a4cf4f302c7fcbec199ce0df42b8282d682b04" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{action}}"/>
+          <x id="INTERPOLATION_1" equiv-text="{{quotaValue}}"/>
+          <x id="INTERPOLATION_2" equiv-text="{{conclusion}}"/>.
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{action}}"/>
+          <x id="INTERPOLATION_1" equiv-text="{{quotaValue}}"/>
+          <x id="INTERPOLATION_2" equiv-text="{{conclusion}}"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="a40024afb071f68fec949094a71f832d5611bca5" datatype="html">
+        <source>in order to inherit 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>
+        </source>
+        <target>in order to inherit 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="c108ff588291e9c040adea2adf35e7236cf29925" datatype="html">
+        <source>which isn't used because of the inheritance of 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>
+        </source>
+        <target>which isn't used because of the inheritance of 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="d3785a64d1c72b03b2212855ce695b45ed0342d2" datatype="html">
+        <source>in order to have no quota on the directory</source>
+        <target>in order to have no quota on the directory</target>
+      </trans-unit>
+      <trans-unit id="c4d3a3446a7f36825291c5e76c4a6b7919f9bd2f" datatype="html">
+        <source>Create Snapshot</source>
+        <target>Create Snapshot</target>
+      </trans-unit>
+      <trans-unit id="e9af734e231b837d64df21008e2eb1fdff566a61" datatype="html">
+        <source>Please enter the name of the snapshot.</source>
+        <target>Please enter the name of the snapshot.</target>
+      </trans-unit>
+      <trans-unit id="8c4d3039e6a953b0d6f1b1313ffa60c5d2b35dc7" datatype="html">
+        <source>Created snapshot "
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "
+          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"
+        </source>
+        <target>Created snapshot "
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "
+          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"
+        </target>
+      </trans-unit>
+      <trans-unit id="126ad894f74ee9a999825f3f4ac5a31fdfc093bf" datatype="html">
+        <source>CephFs Snapshot</source>
+        <target>CephFs Snapshot</target>
+      </trans-unit>
+      <trans-unit id="1e4d1c0865adc485260740c42ac5af68ce8feb13" datatype="html">
+        <source>Deleted snapshot "
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "
+          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"
+        </source>
+        <target>Deleted snapshot "
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "
+          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"
+        </target>
+      </trans-unit>
       <trans-unit id="22e4e574b7f8abf58254f328792445b42e2a924a" datatype="html">
         <source>The value can be updated at runtime.</source>
         <target>È possibile aggiornare il valore al runtime.</target>
         <source>Service</source>
         <target>Servizio</target>
       </trans-unit>
+      <trans-unit id="6986e0df8092d822ac2c076520d83994c78834fc" datatype="html">
+        <source>Modified</source>
+        <target>Modified</target>
+      </trans-unit>
       <trans-unit id="9951bb3983c7dba6fde013e05c922e4fe1a44367" datatype="html">
         <source>Current value</source>
         <target>Valore attuale</target>
         <source>host</source>
         <target>host</target>
       </trans-unit>
-      <trans-unit id="9e35065e7c579e1fb960499117fd4b3c68d1c263" datatype="html">
-        <source>Host operation is disabled because orchestrator is unavailable</source>
-        <target>Host operation is disabled because orchestrator is unavailable</target>
+      <trans-unit id="b1b381321d4cef04605d3e6e8847ea2b72a03799" datatype="html">
+        <source>Identify</source>
+        <target>Identify</target>
       </trans-unit>
       <trans-unit id="a5d5e407f8c4e1b152509c966c90f37edf68472e" datatype="html">
         <source>Device path</source>
         <target>Device path</target>
       </trans-unit>
-      <trans-unit id="94e76c060aa68c05d8c4a3f5a20c92fab3e83ccf" datatype="html">
-        <source>Rotates</source>
-        <target>Rotates</target>
-      </trans-unit>
       <trans-unit id="b7da3e3505cc80f9bf3cffc8444c53e8a9ec70a5" datatype="html">
         <source>Available</source>
         <target>Available</target>
       </trans-unit>
+      <trans-unit id="396974120fc614fc930a27c8d15a094d82a3a9e4" datatype="html">
+        <source>Vendor</source>
+        <target>Vendor</target>
+      </trans-unit>
       <trans-unit id="6ec98fa3d6504ba1fd03465194b53706c8263c99" datatype="html">
         <source>Model</source>
         <target>Model</target>
       </trans-unit>
+      <trans-unit id="f2d785f5658c96c6a2f505cdd625108bcece84c3" datatype="html">
+        <source>Identify device 
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>
+        </source>
+        <target>Identify device 
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="c97ab45ca09248f8f1ba60328175741657fe39ce" datatype="html">
+        <source>Please enter the duration how long to blink the LED.</source>
+        <target>Please enter the duration how long to blink the LED.</target>
+      </trans-unit>
+      <trans-unit id="87e56ee5057023d7e8b59420b838bad112b043bc" datatype="html">
+        <source>1 minute</source>
+        <target>1 minute</target>
+      </trans-unit>
+      <trans-unit id="affa3b3bf1f36531e5ae65291f8a7cd1b06860ee" datatype="html">
+        <source>2 minutes</source>
+        <target>2 minutes</target>
+      </trans-unit>
+      <trans-unit id="878c6645b7fc26d85c7aee17a9d8c282a938dcf3" datatype="html">
+        <source>5 minutes</source>
+        <target>5 minutes</target>
+      </trans-unit>
+      <trans-unit id="aa0a76140961594b7176ade241e5025a7dbb5dce" datatype="html">
+        <source>10 minutes</source>
+        <target>10 minutes</target>
+      </trans-unit>
+      <trans-unit id="0a7f83a1f27750ef634a1f1f97263fac36113b1f" datatype="html">
+        <source>15 minutes</source>
+        <target>15 minutes</target>
+      </trans-unit>
+      <trans-unit id="699b690d686dbb8e00a1e95b89ba2fffb548da6e" datatype="html">
+        <source>Execute</source>
+        <target>Execute</target>
+      </trans-unit>
+      <trans-unit id="aa975a86dd49979a3ae90b9f3fc5b2c97311d422" datatype="html">
+        <source>Identifying '
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>' started on host '
+          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>'
+        </source>
+        <target>Identifying '
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>' started on host '
+          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="1a6e6ad05508130b7a99ce5b15daf3227c2a930c" datatype="html">
         <source>Updated options for module "
           <x id="INTERPOLATION" equiv-text="{{name}}"/>".
           <x id="INTERPOLATION" equiv-text="{{name}}"/>".
         </target>
       </trans-unit>
+      <trans-unit id="6bd47ff8707aa2e6a94a4a6e2566b86dc7956d5f" datatype="html">
+        <source>Always-On</source>
+        <target>Always-On</target>
+      </trans-unit>
       <trans-unit id="ac6c9212896d39b23811ed2dadab7d07336ec559" datatype="html">
         <source>Enable</source>
         <target>Abilita</target>
         <source>Open Sessions</source>
         <target>Sessioni aperte</target>
       </trans-unit>
+      <trans-unit id="34c6f45591d420b1101dcee53999d1de91c0e400" datatype="html">
+        <source>No available devices</source>
+        <target>No available devices</target>
+      </trans-unit>
+      <trans-unit id="dcfe8807a2a1d0d7074a02afe9b80645bd03b9ab" datatype="html">
+        <source>Please add primary devices first</source>
+        <target>Please add primary devices first</target>
+      </trans-unit>
+      <trans-unit id="05d024719e53f85f7f294b7e21dfd805709a0b06" datatype="html">
+        <source>Add devices by using filters</source>
+        <target>Add devices by using filters</target>
+      </trans-unit>
       <trans-unit id="37e58d1cbdf8212b380efa51422e42821d4f08e6" datatype="html">
         <source>No In</source>
         <target>Nessuno in entrata</target>
         <source>Backfilling of PGs is suspended</source>
         <target>Recupero dei gruppi di posizionamento sospeso</target>
       </trans-unit>
+      <trans-unit id="df526de2b93c4099a30c200ef551608e39ee5256" datatype="html">
+        <source>No Rebalance</source>
+        <target>No Rebalance</target>
+      </trans-unit>
+      <trans-unit id="c5b70346245f8d52b58e5e7fe222ce82f12429ce" datatype="html">
+        <source>OSD will choose not to backfill unless PG is also degraded</source>
+        <target>OSD will choose not to backfill unless PG is also degraded</target>
+      </trans-unit>
       <trans-unit id="7fbbd036394cfa623add40299757bc87df8eaa7e" datatype="html">
         <source>No Recover</source>
         <target>Nessun recupero</target>
         <source>Updated OSD Flags</source>
         <target>Flag OSD aggiornati</target>
       </trans-unit>
+      <trans-unit id="948758e1412bb2ecdb98e3a4f1cbb6d7458456f2" datatype="html">
+        <source>Encryption</source>
+        <target>Encryption</target>
+      </trans-unit>
+      <trans-unit id="c8b1475105463088593de1022ff6dceb523eae0e" datatype="html">
+        <source>OSD</source>
+        <target>OSD</target>
+      </trans-unit>
       <trans-unit id="688578fcc739d6f0c5fb6c366dbb19d21c6d9e36" datatype="html">
         <source>out</source>
         <target>esterno</target>
         <source>Purge</source>
         <target>Elimina definitivamente</target>
       </trans-unit>
-      <trans-unit id="c8b1475105463088593de1022ff6dceb523eae0e" datatype="html">
-        <source>OSD</source>
-        <target>OSD</target>
-      </trans-unit>
       <trans-unit id="4f3cff08c7033b63bbccfe66006b1bcaea48ddd8" datatype="html">
         <source>purged</source>
         <target>eliminato definitivamente</target>
         <source>destroyed</source>
         <target>eliminato definitivamente</target>
       </trans-unit>
+      <trans-unit id="70ef158c584bafe788e319a0bffa11b02ee9abf1" datatype="html">
+        <source>delete</source>
+        <target>elimina</target>
+      </trans-unit>
+      <trans-unit id="a5b387f5a15b95e339df10fc23526c659a2b6c6f" datatype="html">
+        <source>deleted</source>
+        <target>deleted</target>
+      </trans-unit>
       <trans-unit id="107614b994f2b01abdc1ca179bf780b0cd933ec4" datatype="html">
         <source>Recovery Priority</source>
         <target>Recovery Priority</target>
         <source>Read bytes</source>
         <target>Byte letti</target>
       </trans-unit>
-      <trans-unit id="ecbe2fdca919499125bc42c2c67cedae8563db1c" datatype="html">
-        <source>Writes bytes</source>
+      <trans-unit id="f15bf7f588f09ca79795b17bc244e8d336f28171" datatype="html">
+        <source>Write bytes</source>
         <target>Byte scritti</target>
       </trans-unit>
       <trans-unit id="f3c33322823c846b13f59ba2c8f234405bba99e1" datatype="html">
         <source>Write ops</source>
         <target>Operazioni di scrittura</target>
       </trans-unit>
+      <trans-unit id="b27d1dd31789610130b7cdbf88c4da552cffe936" datatype="html">
+        <source>Edit OSD: 
+          <x id="INTERPOLATION" equiv-text="{{id}}"/>
+        </source>
+        <target>Edit OSD: 
+          <x id="INTERPOLATION" equiv-text="{{id}}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="986f1379580078e77666d10f8ddf4f839c6ca71d" datatype="html">
+        <source>Edit OSD</source>
+        <target>Edit OSD</target>
+      </trans-unit>
+      <trans-unit id="a4b09e2fa39c3e4f1a387f191fbae4eea3ce7bf5" datatype="html">
+        <source>Updated OSD "
+          <x id="INTERPOLATION" equiv-text="{{id}}"/>"
+        </source>
+        <target>Updated OSD "
+          <x id="INTERPOLATION" equiv-text="{{id}}"/>"
+        </target>
+      </trans-unit>
       <trans-unit id="d45455406092f58e6b089cb440b5b7934b801a01" datatype="html">
         <source>Mark OSD 
           <x id="INTERPOLATION" equiv-text="{{markAction}}"/>
         <source>Recovery Sleep</source>
         <target>Sospensione recupero</target>
       </trans-unit>
-      <trans-unit id="a5c05002b0ac2040f1aede5e727e0ffd06eda819" datatype="html">
-        <source>Custom</source>
-        <target>Personalizzato</target>
-      </trans-unit>
       <trans-unit id="89553524f4e7db5c437b07dcfdc7b831d56ded1a" datatype="html">
         <source>Updated OSD recovery speed priority "
           <x id="INTERPOLATION" equiv-text="{{value}}"/>"
           <x id="INTERPOLATION_1" equiv-text="{{id}}"/>
         </target>
       </trans-unit>
-      <trans-unit id="9836e830d0219585b36d53be00a31c3d4798a4aa" datatype="html">
-        <source>Smartctl has received an unknown argument (error code
-          <x id="INTERPOLATION" equiv-text="{{smartData.smartctl_error_code}}"/>). You may be using an
-                incompatible version of smartmontools. Version &gt;= 7.0 of
-                smartmontools is required to succesfully retrieve data.
-        </source>
-        <target>Smartctl has received an unknown argument (error code
-          <x id="INTERPOLATION" equiv-text="{{smartData.smartctl_error_code}}"/>). You may be using an
-                incompatible version of smartmontools. Version &gt;= 7.0 of
-                smartmontools is required to succesfully retrieve data.
-        </target>
-      </trans-unit>
-      <trans-unit id="d5fd840374ca1a6f394bcd81f390a6dca27f8224" datatype="html">
-        <source>An error with error code 
-          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.
-        </source>
-        <target>An error with error code 
-          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.
-        </target>
-      </trans-unit>
-      <trans-unit id="a0b59d7139692bb8d8ed786b6eb6e9e70ce743f3" datatype="html">
-        <source>Raw</source>
-        <target>Raw</target>
-      </trans-unit>
-      <trans-unit id="2f3beddc8234b30fb26a7f63ba2f1ea74f2ed6f7" datatype="html">
-        <source>Threshold</source>
-        <target>Threshold</target>
-      </trans-unit>
-      <trans-unit id="4654b5a68af3c8bad29aa14ca85ccea1f3143c6b" datatype="html">
-        <source>When Failed</source>
-        <target>When Failed</target>
-      </trans-unit>
-      <trans-unit id="5b7f56d5be49fb8e8d8f40209d6746f8f72e9177" datatype="html">
-        <source>Worst</source>
-        <target>Worst</target>
-      </trans-unit>
-      <trans-unit id="1edb8e46b0fac57c5feb3d7d3585afc0122d5481" datatype="html">
-        <source>Create silence</source>
-        <target>Create silence</target>
+      <trans-unit id="3bc2d18913479965cb046ec75e2ac3f7b7a77ce5" datatype="html">
+        <source>Create Silence</source>
+        <target>Create Silence</target>
       </trans-unit>
       <trans-unit id="78917e8031aaf913ac3fa63295325ce8879703ce" datatype="html">
         <source>Job</source>
         <source>URL</source>
         <target>URL</target>
       </trans-unit>
+      <trans-unit id="d9f726c70aeba7fa6d3d68bff718abe78b1e50ac" datatype="html">
+        <source>Query</source>
+        <target>Query</target>
+      </trans-unit>
       <trans-unit id="a5cd682a8a33bdc72e093d059429e3cc3a50ec1d" datatype="html">
         <source>silence</source>
         <target>silence</target>
         <source>Created by</source>
         <target>Created by</target>
       </trans-unit>
-      <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc" datatype="html">
-        <source>Updated</source>
-        <target>Aggiornato</target>
-      </trans-unit>
       <trans-unit id="8d833cceee0ba4c5161b130365e02bc1e129b57e" datatype="html">
         <source>Ends</source>
         <target>Ends</target>
         <source>Silence</source>
         <target>Silence</target>
       </trans-unit>
-      <trans-unit id="f392abfbb997402ce2aebb13e660a8f01dec54db" datatype="html">
-        <source>Service type</source>
-        <target>Service type</target>
+      <trans-unit id="f2ea47d702c7f5e3e5fa751bf9959e21030b72e6" datatype="html">
+        <source>Daemon type</source>
+        <target>Daemon type</target>
       </trans-unit>
-      <trans-unit id="9ffa91b056fb979786627885651e19c8275675cd" datatype="html">
-        <source>Service instance</source>
-        <target>Service instance</target>
+      <trans-unit id="6c131968e6ab730d86443e6fc11c5cc2a76d7bac" datatype="html">
+        <source>Daemon ID</source>
+        <target>Daemon ID</target>
       </trans-unit>
-      <trans-unit id="b5910192a9ac4816638ff6383b03f986ff965796" datatype="html">
-        <source>Container id</source>
-        <target>Container id</target>
+      <trans-unit id="5738f0ca7ddd9594058ce051b1d5d576e2782825" datatype="html">
+        <source>Container ID</source>
+        <target>Container ID</target>
       </trans-unit>
-      <trans-unit id="60ab9cce12a56cdc5ec6a1b699f8c7afecd629d5" datatype="html">
-        <source>Rados config location</source>
-        <target>Rados config location</target>
+      <trans-unit id="78ebcf850cd440c5efc15e6a3a522ae75aeff669" datatype="html">
+        <source>Container Image name</source>
+        <target>Container Image name</target>
       </trans-unit>
-      <trans-unit id="dfa409f831c9168a377bdee02c5ea6aaf9b2bf61" datatype="html">
-        <source>Service URL</source>
-        <target>Service URL</target>
+      <trans-unit id="ea0c7ab9a7bdf646d494abf8c85fbf67d934d079" datatype="html">
+        <source>Container Image ID</source>
+        <target>Container Image ID</target>
       </trans-unit>
       <trans-unit id="bf2468fd965b8a59c135ad549b3a612aa9873abc" datatype="html">
         <source>Status Description</source>
         <target>Status Description</target>
       </trans-unit>
+      <trans-unit id="19867330bdc84096f5a93ab087a1766476c8a074" datatype="html">
+        <source>Last Refreshed</source>
+        <target>Last Refreshed</target>
+      </trans-unit>
+      <trans-unit id="2349ee2027ab6ceb3e4b8834928562075b7e1ac7" datatype="html">
+        <source>Container image name</source>
+        <target>Container image name</target>
+      </trans-unit>
+      <trans-unit id="3c475503fb93338811af6b3d9ccacca1d7334609" datatype="html">
+        <source>Container image ID</source>
+        <target>Container image ID</target>
+      </trans-unit>
+      <trans-unit id="8dd15f6c73c05a8b0bd7b6d416487ab6570b88c8" datatype="html">
+        <source>Running</source>
+        <target>Running</target>
+      </trans-unit>
       <trans-unit id="fb2e1bed329dc5b84197808c778abb9edcbdb335" datatype="html">
         <source>Used</source>
         <target>Utilizzato</target>
         <source>NFS export</source>
         <target>NFS export</target>
       </trans-unit>
+      <trans-unit id="c56d51748965db5f3966cd1d06a1c9f4b5244931" datatype="html">
+        <source>Crush Rule</source>
+        <target>Crush Rule</target>
+      </trans-unit>
       <trans-unit id="ae128527ec18892f812a62a1fd15dc50a38060c0" datatype="html">
         <source>EC Profile</source>
         <target>EC Profile</target>
         <source>erasure code profile</source>
         <target>profilo del codice di cancellazione</target>
       </trans-unit>
+      <trans-unit id="ae48e19a9a2acaca4b5ea594451bc9b0b01ec8d2" datatype="html">
+        <source>crush rule</source>
+        <target>crush rule</target>
+      </trans-unit>
       <trans-unit id="112d356ad6846959ca4aa5ec9a1f0d9d473b24ec" datatype="html">
         <source>Replica Size</source>
         <target>Dimensioni della replica</target>
         <source>Crush Ruleset</source>
         <target>Set di regole Crush</target>
       </trans-unit>
-      <trans-unit id="f15bf7f588f09ca79795b17bc244e8d336f28171" datatype="html">
-        <source>Write bytes</source>
-        <target>Byte scritti</target>
-      </trans-unit>
       <trans-unit id="bcc365a084b6145b941b371bd4c2b6c3d2c79234" datatype="html">
         <source>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</source>
         <target>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</target>
         <source>Swift Key</source>
         <target>Swift Key</target>
       </trans-unit>
+      <trans-unit id="6462d8f12b427c29363f00b12f20f566be24937c" datatype="html">
+        <source>Device ID</source>
+        <target>Device ID</target>
+      </trans-unit>
+      <trans-unit id="82f12bf23db4bb82db89877bebe93954bc1c8fb0" datatype="html">
+        <source>State of Health</source>
+        <target>State of Health</target>
+      </trans-unit>
+      <trans-unit id="7bd34bd120146afef0e0d8fa168d9bdabd594b6a" datatype="html">
+        <source>Good</source>
+        <target>Good</target>
+      </trans-unit>
+      <trans-unit id="31c59dce114ec0a9d02552ef7b81920b3de36793" datatype="html">
+        <source>Bad</source>
+        <target>Bad</target>
+      </trans-unit>
+      <trans-unit id="2862af5284f66d4b06bdcf77a5519141723b6989" datatype="html">
+        <source>Stale</source>
+        <target>Stale</target>
+      </trans-unit>
+      <trans-unit id="8d8e819b52984a4fbdec75a99eb28d1ae4323bbc" datatype="html">
+        <source>Life Expectancy</source>
+        <target>Life Expectancy</target>
+      </trans-unit>
+      <trans-unit id="72d9b15be18ea063e78c4e855b9e8c0af95593ef" datatype="html">
+        <source>Prediction Creation Date</source>
+        <target>Prediction Creation Date</target>
+      </trans-unit>
+      <trans-unit id="a6b4ef85e5ff8bd192751c7bbebc54c46118d6d4" datatype="html">
+        <source>Device Name</source>
+        <target>Device Name</target>
+      </trans-unit>
+      <trans-unit id="d5fd840374ca1a6f394bcd81f390a6dca27f8224" datatype="html">
+        <source>An error with error code 
+          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.
+        </source>
+        <target>An error with error code 
+          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.
+        </target>
+      </trans-unit>
+      <trans-unit id="a0b59d7139692bb8d8ed786b6eb6e9e70ce743f3" datatype="html">
+        <source>Raw</source>
+        <target>Raw</target>
+      </trans-unit>
+      <trans-unit id="2f3beddc8234b30fb26a7f63ba2f1ea74f2ed6f7" datatype="html">
+        <source>Threshold</source>
+        <target>Threshold</target>
+      </trans-unit>
+      <trans-unit id="4654b5a68af3c8bad29aa14ca85ccea1f3143c6b" datatype="html">
+        <source>When Failed</source>
+        <target>When Failed</target>
+      </trans-unit>
+      <trans-unit id="5b7f56d5be49fb8e8d8f40209d6746f8f72e9177" datatype="html">
+        <source>Worst</source>
+        <target>Worst</target>
+      </trans-unit>
       <trans-unit id="1481b8488e10dbc437accce89d2ae35a0106e8ba" datatype="html">
         <source>Scope</source>
         <target>Ambito</target>
           <x id="INTERPOLATION" equiv-text="{{role_name}}"/>'
         </target>
       </trans-unit>
+      <trans-unit id="bd15b8d5c0fa160161728eefbbb585710414d471" datatype="html">
+        <source>New name</source>
+        <target>New name</target>
+      </trans-unit>
+      <trans-unit id="6f126277f3dc22a3ab3609c4c198386c8744e11a" datatype="html">
+        <source>Clone Role</source>
+        <target>Clone Role</target>
+      </trans-unit>
+      <trans-unit id="d19d8320479854bc52877cdf0dc5ecfe34a36ec7" datatype="html">
+        <source>Cloned role '
+          <x id="INTERPOLATION" equiv-text="{{dst_name}}"/>' from '
+          <x id="INTERPOLATION_1" equiv-text="{{src_name}}"/>'
+        </source>
+        <target>Cloned role '
+          <x id="INTERPOLATION" equiv-text="{{dst_name}}"/>' from '
+          <x id="INTERPOLATION_1" equiv-text="{{src_name}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="2e35d60a14ce0b470e8b54602864a867f7fcef40" datatype="html">
         <source>There are no roles.</source>
         <target>There are no roles.</target>
         <source>Updated user password"</source>
         <target>Updated user password"</target>
       </trans-unit>
+      <trans-unit id="c4e596a44ffc4718c1602600d6e4f029190eb031" datatype="html">
+        <source>The name of the node under which data should be placed.</source>
+        <target>The name of the node under which data should be placed.</target>
+      </trans-unit>
+      <trans-unit id="f24772ba1091155f8d7025332ca8456a204d1e28" datatype="html">
+        <source>The type of CRUSH nodes across which we should separate replicas.</source>
+        <target>The type of CRUSH nodes across which we should separate replicas.</target>
+      </trans-unit>
+      <trans-unit id="a3896042af461a80091c3f7a5fe3fff5ac40a3a0" datatype="html">
+        <source>The device class data should be placed on.</source>
+        <target>The device class data should be placed on.</target>
+      </trans-unit>
       <trans-unit id="1d7fbcc3d5efc946ffbcf86fed04c4e20dda20fb" datatype="html">
         <source>Each object is split in data-chunks parts, each stored on a different OSD.</source>
         <target>Ogni oggetto è suddiviso in porzioni di dati, ciascuna delle quali è memorizzata su un diverso OSD.</target>
         <source>Success</source>
         <target>Success</target>
       </trans-unit>
+      <trans-unit id="61fd1cffcb763cbfd5829071723cf9b647174bd9" datatype="html">
+        <source>An error occurred.</source>
+        <target>An error occurred.</target>
+      </trans-unit>
       <trans-unit id="e6ca3c0efaf51e6d45a7f92f58bac37140c3fda4" datatype="html">
         <source>Last 5 minutes</source>
         <target>Ultimi 5 minuti</target>
         <source>There are no items available.</source>
         <target>Non vi sono elementi disponibili.</target>
       </trans-unit>
-      <trans-unit id="f6755cff4957d5c3c89bafce5651f1b6fa2b1fd9" datatype="html">
-        <source>Add</source>
-        <target>Aggiungi</target>
+      <trans-unit id="55dd9f44e64851bca3b7bfc9283a5ff36f030228" datatype="html">
+        <source>Set</source>
+        <target>Set</target>
       </trans-unit>
       <trans-unit id="019d4bd6a5690f0cfa0ecf346a4e6bf7f0d8debb" datatype="html">
         <source>Remove</source>
         <target>Remove</target>
       </trans-unit>
+      <trans-unit id="e168fe6c468b3ad632731395ef89860274242844" datatype="html">
+        <source>Unset</source>
+        <target>Unset</target>
+      </trans-unit>
       <trans-unit id="54a4a3132b693575728a45a5f3154ad4c9af404b" datatype="html">
         <source>Clone</source>
         <target>Clona</target>
         <source>No</source>
         <target>No</target>
       </trans-unit>
+      <trans-unit id="baf918eed9d4050cdad2acebc0f27b6eaf8e3fcd" datatype="html">
+        <source>Required rules for passwords:</source>
+        <target>Required rules for passwords:</target>
+      </trans-unit>
+      <trans-unit id="40f61909e1f017c4652e64b055089beef19cf871" datatype="html">
+        <source>Must contain at least 
+          <x id="INTERPOLATION" equiv-text="{{length}}"/> characters
+        </source>
+        <target>Must contain at least 
+          <x id="INTERPOLATION" equiv-text="{{length}}"/> characters
+        </target>
+      </trans-unit>
+      <trans-unit id="f4f5dbb3a05b5f38dab47ef38dad88a4574a765a" datatype="html">
+        <source>Must not be the same as the previous one</source>
+        <target>Must not be the same as the previous one</target>
+      </trans-unit>
+      <trans-unit id="607370e07b50087c196a5fcea9184e3d693226b2" datatype="html">
+        <source>Cannot contain the username</source>
+        <target>Cannot contain the username</target>
+      </trans-unit>
+      <trans-unit id="e6e355eab2596251aaa42623b41e6026d5c03e3b" datatype="html">
+        <source>Cannot contain any configured keyword</source>
+        <target>Cannot contain any configured keyword</target>
+      </trans-unit>
+      <trans-unit id="394bcd6d5e4da75b720c4d28f94f2aef7bb38355" datatype="html">
+        <source>Cannot contain any repetitive characters e.g. "aaa"</source>
+        <target>Cannot contain any repetitive characters e.g. "aaa"</target>
+      </trans-unit>
+      <trans-unit id="030e61e0bcf2536fb047645db6182d43e9fca9e9" datatype="html">
+        <source>Cannot contain any sequential characters e.g. "abc"</source>
+        <target>Cannot contain any sequential characters e.g. "abc"</target>
+      </trans-unit>
       <trans-unit id="99fa0b67376d40142bd4d3ace3344abf4f98b6a5" datatype="html">
         <source>Your matcher seems to match no currently defined rule or active alert.</source>
         <target>Your matcher seems to match no currently defined rule or active alert.</target>
         <source>Deleting</source>
         <target>Eliminazione in corso</target>
       </trans-unit>
-      <trans-unit id="70ef158c584bafe788e319a0bffa11b02ee9abf1" datatype="html">
-        <source>delete</source>
-        <target>elimina</target>
-      </trans-unit>
       <trans-unit id="d07a282afc7fbdb39cea6e1c9b544882a7260a86" datatype="html">
         <source>Adding</source>
         <target>Adding</target>
         <source>remove</source>
         <target>remove</target>
       </trans-unit>
+      <trans-unit id="0e21237afdc84ec360c374fa678d9b1cfaa334f9" datatype="html">
+        <source>Importing</source>
+        <target>Importing</target>
+      </trans-unit>
+      <trans-unit id="c6b4128c006f4cc0564137e1a1482b5c432aa347" datatype="html">
+        <source>import</source>
+        <target>import</target>
+      </trans-unit>
+      <trans-unit id="3b9f4138abbca0fd66db1f7332f4b54e2a6d916d" datatype="html">
+        <source>Imported</source>
+        <target>Imported</target>
+      </trans-unit>
       <trans-unit id="3f757cfc3749ebb5d4462017cb60138ca082f15f" datatype="html">
         <source>RBD '
           <x id="INTERPOLATION" equiv-text="{{id}}"/>'
           <x id="INTERPOLATION" equiv-text="{{id}}"/>'
         </target>
       </trans-unit>
+      <trans-unit id="2bf18ddf3785f7afb4f01dcf63d3d8c40f4bfba5" datatype="html">
+        <source>mirroring site name</source>
+        <target>mirroring site name</target>
+      </trans-unit>
+      <trans-unit id="167b73bb24b4695614ce0fc567b7a45080457a44" datatype="html">
+        <source>bootstrap token</source>
+        <target>bootstrap token</target>
+      </trans-unit>
       <trans-unit id="4fb54a0291f49583c317d4a3690239141b5a8f68" datatype="html">
         <source>mirror mode for pool '
           <x id="INTERPOLATION" equiv-text="{{id}}"/>'
         <source>all dashboards</source>
         <target>all dashboards</target>
       </trans-unit>
+      <trans-unit id="6c19652df9249c60827044ed6274933cab180c63" datatype="html">
+        <source>OSDs (DriveGroups: 
+          <x id="INTERPOLATION" equiv-text="{{tracking_id}}"/>)
+        </source>
+        <target>OSDs (DriveGroups: 
+          <x id="INTERPOLATION" equiv-text="{{tracking_id}}"/>)
+        </target>
+      </trans-unit>
       <trans-unit id="1b559dbd9cc9664fd788c2da9a10d3abafe066cb" datatype="html">
         <source>Name is already used by 
           <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.
           <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.
         </target>
       </trans-unit>
+      <trans-unit id="460f07780389d24c6a540c007c7367a56afad585" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> is busy.
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> is busy.
+        </target>
+      </trans-unit>
       <trans-unit id="1ff7676ad1e991102224540a32dd44ad1ab88aa8" datatype="html">
         <source>
           <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.
         <source>Cannot disable mirroring because it contains a peer.</source>
         <target>Impossibile disabilitare l'esecuzione della copia speculare perché contiene un peer.</target>
       </trans-unit>
+      <trans-unit id="5c4525a1b76ca54d1aadeaecfdb83aedc2eec6e0" datatype="html">
+        <source>Identifying</source>
+        <target>Identifying</target>
+      </trans-unit>
+      <trans-unit id="ffd067e54a061d1f27cb35f0cf67ef7f29e19111" datatype="html">
+        <source>identify</source>
+        <target>identify</target>
+      </trans-unit>
+      <trans-unit id="7c921f339274688c22ba1acac7af6b097ad3599d" datatype="html">
+        <source>Identified</source>
+        <target>Identified</target>
+      </trans-unit>
+      <trans-unit id="3307492c27c2150cd26c514030444e11fd61089f" datatype="html">
+        <source>device '
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>' on host '
+          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>'
+        </source>
+        <target>device '
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>' on host '
+          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="f123ae1fc3b000e5d08e766dd78bff162afe709d" datatype="html">
         <source>host '
           <x id="INTERPOLATION" equiv-text="{{hostname}}"/>'
           <x id="INTERPOLATION" equiv-text="{{hostname}}"/>'
         </target>
       </trans-unit>
+      <trans-unit id="c1af76189dcefd094da2bc1a4a63968f3bab5789" datatype="html">
+        <source>OSD '
+          <x id="INTERPOLATION" equiv-text="{{svc_id}}"/>'
+        </source>
+        <target>OSD '
+          <x id="INTERPOLATION" equiv-text="{{svc_id}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="dfe70001dc590a9e12512cbb206aa29fb36fd00b" datatype="html">
         <source>pool '
           <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>'
           <x id="INTERPOLATION" equiv-text="{{name}}"/>'
         </target>
       </trans-unit>
+      <trans-unit id="79052d6c47258dc19ada12dbb2563761102b6f1d" datatype="html">
+        <source>crush rule '
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>'
+        </source>
+        <target>crush rule '
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="369462e5e018360e0600bb570866201ad5c3c8a8" datatype="html">
         <source>target '
           <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>'
           <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>
         </target>
       </trans-unit>
-      <trans-unit id="54bf6542e39412f83ec883266f443e31b304c937" datatype="html">
-        <source>Required rules for password complexity:
-    - must contain at least 8 characters
-    - cannot contain username
-    - cannot contain any keyword used in Ceph
-    - cannot contain any repetitive characters e.g. "aaa"
-    - cannot contain any sequencial characters e.g. "abc"
-    - must consist of characters from the following groups:
-      * alphabetic a-z, A-Z
-      * numbers 0-9
-      * special chars: !"#$%&amp; '()*+,-./:;&lt;=&gt;?@[\]^_`
-          <x id="INTERPOLATION" equiv-text="{{|}}"/>~
-      * any other characters (signs)
-        </source>
-        <target>Required rules for password complexity:
-    - must contain at least 8 characters
-    - cannot contain username
-    - cannot contain any keyword used in Ceph
-    - cannot contain any repetitive characters e.g. "aaa"
-    - cannot contain any sequencial characters e.g. "abc"
-    - must consist of characters from the following groups:
-      * alphabetic a-z, A-Z
-      * numbers 0-9
-      * special chars: !"#$%&amp; '()*+,-./:;&lt;=&gt;?@[\]^_`
-          <x id="INTERPOLATION" equiv-text="{{|}}"/>~
-      * any other characters (signs)
-        </target>
-      </trans-unit>
-      <trans-unit id="ba575e9364b43dc870e332265c5182bb357b7a49" datatype="html">
-        <source>Weak</source>
-        <target>Weak</target>
-      </trans-unit>
-      <trans-unit id="7e6c975ebea8b5f8b120905ca7acf9f8edf59d8e" datatype="html">
-        <source>OK</source>
-        <target>OK</target>
-      </trans-unit>
-      <trans-unit id="3f7349017a01eed18c3daf2b7295ca96ef442eb6" datatype="html">
-        <source>Strong</source>
-        <target>Strong</target>
-      </trans-unit>
-      <trans-unit id="a1e3aecc2022cb0ebed8575a24d0e29d2de815c6" datatype="html">
-        <source>Very strong</source>
-        <target>Very strong</target>
-      </trans-unit>
     </body>
   </file>
 </xliff>
\ No newline at end of file
index 58ed25484bbcf0189f0e6051f49e9d50607ebebb..719648983fbe81560da17a8cdd1aa9a0ebefd592 100644 (file)
         <source>Logs</source>
         <target>ログ</target>
       </trans-unit>
-      <trans-unit id="9fe218829514884cdd0ca2300573a4e0428c324f" datatype="html">
-        <source>Alerts</source>
-        <target>アラート</target>
-      </trans-unit>
-      <trans-unit id="aa0c44aa1e5727061baa91e954f77e2f5f9a37c9" datatype="html">
-        <source>Silences</source>
-        <target>Silences</target>
+      <trans-unit id="17fc3efe5f9fa4e0289c900cb6202265215a1a27" datatype="html">
+        <source>Monitoring</source>
+        <target>Monitoring</target>
       </trans-unit>
       <trans-unit id="92899fa68e8ca108912163ff58edc8540e453787" datatype="html">
         <source>Pools</source>
         <source>Back</source>
         <target>戻る</target>
       </trans-unit>
+      <trans-unit id="9ce641535be1ffa106c87724ba0637facaef5f61" datatype="html">
+        <source>Your password will expire in 
+          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>less than 1
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day. Click
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.
+        </source>
+        <target>Your password will expire in 
+          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>less than 1
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day. Click
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.
+        </target>
+      </trans-unit>
+      <trans-unit id="c2f34088c155e40ffb23770a465a65868ce772b2" datatype="html">
+        <source>Your password will expire in 
+          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
+          <x id="INTERPOLATION" equiv-text="{{ expirationDays }}"/>
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day(s). Click
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.
+        </source>
+        <target>Your password will expire in 
+          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
+          <x id="INTERPOLATION" equiv-text="{{ expirationDays }}"/>
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day(s). Click
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.
+        </target>
+      </trans-unit>
+      <trans-unit id="9b516f972c744779257310b73f6e97438b726707" datatype="html">
+        <source>Orchestrator is not available. Please consult the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to
+  configure and enable the functionality.
+        </source>
+        <target>Orchestrator is not available. Please consult the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to
+  configure and enable the functionality.
+        </target>
+      </trans-unit>
       <trans-unit id="012741ee52b3c050e4a977c37cc2334f7974f141" datatype="html">
         <source>Failed to load data.</source>
         <target>データを読み込めませんでした。</target>
       </trans-unit>
+      <trans-unit id="1e5e23363e949f7dcbaf034bdb141a561132a10e" datatype="html">
+        <source>Clear filters</source>
+        <target>Clear filters</target>
+      </trans-unit>
       <trans-unit id="80cc9a12d4bf6fe454ed94b379eeaf915f920bb7" datatype="html">
         <source>selected</source>
         <target>選択済み</target>
         <source>Values</source>
         <target>値</target>
       </trans-unit>
+      <trans-unit id="5894f7158499fdb89527af50c9f1cf7d4c95cad6" datatype="html">
+        <source>-- Default --</source>
+        <target>-- Default --</target>
+      </trans-unit>
+      <trans-unit id="514f6e12d035a6d9b00de6b3e55c18b73488da07" datatype="html">
+        <source>true</source>
+        <target>true</target>
+      </trans-unit>
+      <trans-unit id="774f5e6a183dea08393789b6f72e86afad729419" datatype="html">
+        <source>false</source>
+        <target>false</target>
+      </trans-unit>
       <trans-unit id="82029b6db704c56a2aa3e82ac555b8655356b077" datatype="html">
         <source>The entered value is too high! It must not be greater than 
           <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.
         <source>Cancel</source>
         <target>キャンセル</target>
       </trans-unit>
+      <trans-unit id="55a2f26b2e87886d9b8015a887e38e51ab2a866a" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>
+          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>
+          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8" datatype="html">
+        <source>Close</source>
+        <target>閉じる</target>
+      </trans-unit>
       <trans-unit id="40661476cb24c89d8b06614998e31d5fbe84eeb6" datatype="html">
         <source>Hosts List</source>
         <target>ホストリスト</target>
         <source>Overall Performance</source>
         <target>全体的なパフォーマンス</target>
       </trans-unit>
-      <trans-unit id="6bc15dc1a621b6ff7378db7fd3ac10b2a2627c77" datatype="html">
-        <source>Please consult the
-          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
-          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to
-  configure and enable the orchestrator functionality.
-        </source>
-        <target>Please consult the
-          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
-          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to
-  configure and enable the orchestrator functionality.
-        </target>
-      </trans-unit>
       <trans-unit id="3e24569eca61d598c8b01defbbbb1fa8bd5222bc" datatype="html">
         <source>Devices</source>
         <target>Devices</target>
         <source>Not In Quorum</source>
         <target>非定数内</target>
       </trans-unit>
+      <trans-unit id="4383e9662ea19839c7499b2128d43a195e564317" datatype="html">
+        <source>OSD creation preview</source>
+        <target>OSD creation preview</target>
+      </trans-unit>
+      <trans-unit id="366225c51e0b00bcb1c55795a0dc5e81c455f84e" datatype="html">
+        <source>DriveGroups</source>
+        <target>DriveGroups</target>
+      </trans-unit>
+      <trans-unit id="8edc89137d0d8c5667a2f03230beafae45e58429" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{ deviceType }}"/> devices
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{ deviceType }}"/> devices
+        </target>
+      </trans-unit>
+      <trans-unit id="eba28e1805b18f7c8ae2e4bc15dcf063b10b3822" datatype="html">
+        <source>At least one of these filters must be applied in order to proceed:</source>
+        <target>At least one of these filters must be applied in order to proceed:</target>
+      </trans-unit>
+      <trans-unit id="93389aa2fe2bea50bf89554ee51b28f87ee2fb50" datatype="html">
+        <source>Number of devices: 
+          <x id="INTERPOLATION" equiv-text="{{ filteredDevices.length }}"/>. Raw capacity:
+          <x id="INTERPOLATION_1" equiv-text="{{ capacity | dimlessBinary }}"/>.
+        </source>
+        <target>Number of devices: 
+          <x id="INTERPOLATION" equiv-text="{{ filteredDevices.length }}"/>. Raw capacity:
+          <x id="INTERPOLATION_1" equiv-text="{{ capacity | dimlessBinary }}"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="ccb4f84edc0b4e76415bb3f9b73d725b06683af3" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{ name }}"/> devices
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{ name }}"/> devices
+        </target>
+      </trans-unit>
+      <trans-unit id="60cb3d01e5ddf266ecb4271007a1c3d0f3efdc22" datatype="html">
+        <source>The primary storage devices. These devices contain all OSD data.</source>
+        <target>The primary storage devices. These devices contain all OSD data.</target>
+      </trans-unit>
+      <trans-unit id="b432e04886d0d1fd84f740477383051f85addcf2" datatype="html">
+        <source>Write-Ahead-Log devices. These devices are used for BlueStore’s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device.</source>
+        <target>Write-Ahead-Log devices. These devices are used for BlueStore’s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device.</target>
+      </trans-unit>
+      <trans-unit id="b87e181ab9e8393aa5ed759dd3d53836e32c8ffe" datatype="html">
+        <source>DB devices can be used for storing BlueStore’s internal metadata.  It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD).</source>
+        <target>DB devices can be used for storing BlueStore’s internal metadata.  It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD).</target>
+      </trans-unit>
+      <trans-unit id="f6755cff4957d5c3c89bafce5651f1b6fa2b1fd9" datatype="html">
+        <source>Add</source>
+        <target>追加</target>
+      </trans-unit>
+      <trans-unit id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46" datatype="html">
+        <source>Clear</source>
+        <target>Clear</target>
+      </trans-unit>
+      <trans-unit id="7e0fd3c7af0630f93befa6234a693a32a61084e0" datatype="html">
+        <source>Raw capacity: 
+          <x id="INTERPOLATION" equiv-text="{{ capacity | dimlessBinary }}"/>
+        </source>
+        <target>Raw capacity: 
+          <x id="INTERPOLATION" equiv-text="{{ capacity | dimlessBinary }}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="43ecf6bee2aebc07b0aad6dc1fe13e38d14687fa" datatype="html">
+        <source>Shared devices</source>
+        <target>Shared devices</target>
+      </trans-unit>
+      <trans-unit id="7a1c376f6f1b37de4c318ff2106255ba6c0f5b0b" datatype="html">
+        <source>WAL slots</source>
+        <target>WAL slots</target>
+      </trans-unit>
+      <trans-unit id="73811a6f37b63e6b0e491e221bfa21e9dea8a87a" datatype="html">
+        <source>How many OSDs per WAL device.</source>
+        <target>How many OSDs per WAL device.</target>
+      </trans-unit>
+      <trans-unit id="0c67a7ac4762ef1cc855056c6b4daab93e53a0a5" datatype="html">
+        <source>Specify 0 to let Orchestrator backend decide it.</source>
+        <target>Specify 0 to let Orchestrator backend decide it.</target>
+      </trans-unit>
+      <trans-unit id="7bda9362e06e6c67341b4a8425b0d29d6b84464b" datatype="html">
+        <source>Value should be greater than or equal to 0</source>
+        <target>Value should be greater than or equal to 0</target>
+      </trans-unit>
+      <trans-unit id="324c2b10152b9dd908222bb0b71f61beb60a30c5" datatype="html">
+        <source>DB slots</source>
+        <target>DB slots</target>
+      </trans-unit>
+      <trans-unit id="c23cf12ef9c76f37fc7a4b7ae3e00fb0f68b6e26" datatype="html">
+        <source>How many OSDs per DB device.</source>
+        <target>How many OSDs per DB device.</target>
+      </trans-unit>
+      <trans-unit id="6cdb1fea93d77c07950c0c76c6e0ad79ebbef084" datatype="html">
+        <source>Features</source>
+        <target>機能</target>
+      </trans-unit>
+      <trans-unit id="3e2a583f531f7dd9f089f68a6968e444c372c3e8" datatype="html">
+        <source>Preview</source>
+        <target>Preview</target>
+      </trans-unit>
       <trans-unit id="5ef50ba2514414f799d4c8fc36067a251904ba81" datatype="html">
         <source>Cluster-wide OSD Flags</source>
         <target>クラスタ全体のOSDフラグ</target>
         <source>{VAR_SELECT, select, 1 {Deep } }</source>
         <target>{VAR_SELECT, select, 1 {Deep } }</target>
       </trans-unit>
-      <trans-unit id="2613498e8e5853c26a1cc62ae8dc673d1fdf0e2a" datatype="html">
+      <trans-unit id="fd0a4b6eed32e3488eccdc9c13f9841f08cc275e" datatype="html">
         <source>You are about to apply a 
           <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to
           the OSD(s): 
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
-          <x id="INTERPOLATION" equiv-text="{{ selected | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ selected | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.
         </source>
         <target>You are about to apply a 
           <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to
           the OSD(s): 
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
-          <x id="INTERPOLATION" equiv-text="{{ selected | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ selected | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.
         </target>
       </trans-unit>
         <source>OSDs List</source>
         <target>OSDリスト</target>
       </trans-unit>
-      <trans-unit id="c402e6ec1c6792ede81f56c28eee8955860391c8" datatype="html">
+      <trans-unit id="d5707a32ba9c1138e6423498fb0b24e970ebd19f" datatype="html">
         <source>
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) 
-          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
           <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>
         </source>
         <target>
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) 
-          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
           <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.
         </target>
       </trans-unit>
-      <trans-unit id="d2797d01ba86f5df03d875803e49e648a4027869" datatype="html">
+      <trans-unit id="d08c1e4f17dffc0ed1ac2e2e2875cb8b569eeb35" datatype="html">
         <source>The 
-          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to destroy!
+          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to be 
+          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>! 
+          <x id="INTERPOLATION_1" equiv-text="{{ message }}"/>
         </source>
         <target>The 
-          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to destroy!
+          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to be 
+          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>! 
+          <x id="INTERPOLATION_1" equiv-text="{{ message }}"/>
         </target>
       </trans-unit>
       <trans-unit id="e776996dac651ef3819bfa767ccf2a0613759f47" datatype="html">
         <source>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</source>
         <target>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</target>
       </trans-unit>
-      <trans-unit id="1e2c50ed3c3934ef068976dc7f38513cec29d515" datatype="html">
+      <trans-unit id="5cd6a031937412c42e5efa1e6959cb72ac08c720" datatype="html">
         <source>
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD 
-          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
           <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>
         </source>
         <target>
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD 
-          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
           <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.
         </target>
       </trans-unit>
-      <trans-unit id="4f8b2bb476981727ab34ed40fde1218361f92c45" datatype="html">
-        <source>Details</source>
-        <target>詳細</target>
+      <trans-unit id="3eda19b44809820fffd5d3753bafb7243116f4b0" datatype="html">
+        <source>To see all active Prometheus alerts, please
+      provide the URL to the API of Prometheus' Alertmanager as described in the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.
+        </source>
+        <target>To see all active Prometheus alerts, please
+      provide the URL to the API of Prometheus' Alertmanager as described in the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="880ad4df5a2051a437321443d69c9a866699e5ad" datatype="html">
+        <source>Active Alerts</source>
+        <target>Active Alerts</target>
+      </trans-unit>
+      <trans-unit id="8e5e0e09a11990d343926ed693574213d703c38d" datatype="html">
+        <source>All Alerts</source>
+        <target>All Alerts</target>
+      </trans-unit>
+      <trans-unit id="526938c2b7945cb0d68328c24bd77730230cd455" datatype="html">
+        <source>To enable Silences, please provide the URL to the API of the Prometheus' Alertmanager as
+      described in the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.
+        </source>
+        <target>To enable Silences, please provide the URL to the API of the Prometheus' Alertmanager as
+      described in the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="aa0c44aa1e5727061baa91e954f77e2f5f9a37c9" datatype="html">
+        <source>Silences</source>
+        <target>Silences</target>
       </trans-unit>
       <trans-unit id="8501055865d7031b5521a0c5467532648009a61d" datatype="html">
         <source>Matcher</source>
         <source>{VAR_SELECT, select, 1 {Update} other {Add} }</source>
         <target>{VAR_SELECT, select, 1 {Update} other {Add} }</target>
       </trans-unit>
-      <trans-unit id="f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8" datatype="html">
-        <source>Close</source>
-        <target>閉じる</target>
-      </trans-unit>
       <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c" datatype="html">
         <source>Edit</source>
         <target>編集</target>
         <source>End time</source>
         <target>End time</target>
       </trans-unit>
-      <trans-unit id="dbe739ec8c99a0132e326067ffec9c0ee06b2655" datatype="html">
-        <source>Matchers
-          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>*
-          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>
-        </source>
-        <target>Matchers
-          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>*
-          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>
-        </target>
+      <trans-unit id="992123459137d45c15df5548bc9682aad835c04b" datatype="html">
+        <source>Matchers</source>
+        <target>Matchers</target>
       </trans-unit>
       <trans-unit id="3e023166c55833d5a13f4143e3dbe372befe1b4e" datatype="html">
         <source>A silence requires at least one matcher</source>
         <source>CephFS</source>
         <target>CephFS</target>
       </trans-unit>
+      <trans-unit id="0eb15f32b2b92d7f3103ef3ff032621888a8dc32" datatype="html">
+        <source>Old password</source>
+        <target>Old password</target>
+      </trans-unit>
+      <trans-unit id="1cf42e491adc166a337a960eb84d03c0c3f677c8" datatype="html">
+        <source>The old and new passwords must be different.</source>
+        <target>The old and new passwords must be different.</target>
+      </trans-unit>
+      <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229" datatype="html">
+        <source>New password</source>
+        <target>New password</target>
+      </trans-unit>
+      <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b" datatype="html">
+        <source>Confirm new password</source>
+        <target>Confirm new password</target>
+      </trans-unit>
+      <trans-unit id="90163a3d3746819aef42e829f4446331232f3b66" datatype="html">
+        <source>Password confirmation doesn't match the new password.</source>
+        <target>Password confirmation doesn't match the new password.</target>
+      </trans-unit>
+      <trans-unit id="d06ae77f9ec46a4cdd49e7e76c73a411aaf2ee38" datatype="html">
+        <source>Please set a new password.</source>
+        <target>Please set a new password.</target>
+      </trans-unit>
+      <trans-unit id="8b5b3566e88438f51bd5f6caf6c090ed565ba5ed" datatype="html">
+        <source>You will be redirected to the login page afterwards.</source>
+        <target>You will be redirected to the login page afterwards.</target>
+      </trans-unit>
       <trans-unit id="449dca3d3a93ead418b0541ea81b0dda7e6483c2" datatype="html">
         <source>Welcome to Ceph!</source>
         <target>Cephにようこそ!</target>
           <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You'll be logged out from the Identity Provider when you retry logging in.
         </target>
       </trans-unit>
-      <trans-unit id="0eb15f32b2b92d7f3103ef3ff032621888a8dc32" datatype="html">
-        <source>Old password</source>
-        <target>Old password</target>
-      </trans-unit>
-      <trans-unit id="1cf42e491adc166a337a960eb84d03c0c3f677c8" datatype="html">
-        <source>The old and new passwords must be different.</source>
-        <target>The old and new passwords must be different.</target>
-      </trans-unit>
-      <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229" datatype="html">
-        <source>New password</source>
-        <target>New password</target>
-      </trans-unit>
-      <trans-unit id="595ebc9279497f6dc733777e2816bee936901388" datatype="html">
-        <source>Too weak</source>
-        <target>Too weak</target>
-      </trans-unit>
-      <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b" datatype="html">
-        <source>Confirm new password</source>
-        <target>Confirm new password</target>
-      </trans-unit>
-      <trans-unit id="90163a3d3746819aef42e829f4446331232f3b66" datatype="html">
-        <source>Password confirmation doesn't match the new password.</source>
-        <target>Password confirmation doesn't match the new password.</target>
-      </trans-unit>
       <trans-unit id="471e78026c258073ba687478dc54c35d9041ea42" datatype="html">
         <source>Forbidden</source>
         <target>禁止</target>
         <source>Sorry, you are not allowed to see what you were looking for.</source>
         <target>検索していた内容を表示することは許可されていません。</target>
       </trans-unit>
-      <trans-unit id="e3c028c58f92453d46f09b5adf95b2f013ee0300" datatype="html">
-        <source>Sorry, we could not find what you were looking for</source>
-        <target>検索していた内容が見つかりませんでした</target>
+      <trans-unit id="2240b985f17293d84cc8532fe86994aa5f63667c" datatype="html">
+        <source>Sorry, we could not find what you were looking for.</source>
+        <target>Sorry, we could not find what you were looking for.</target>
+      </trans-unit>
+      <trans-unit id="ac54c18c1b520e948095c83a3a1025f02ce6dcc6" datatype="html">
+        <source>Neither hostname nor OSD ID given</source>
+        <target>Neither hostname nor OSD ID given</target>
+      </trans-unit>
+      <trans-unit id="4f635b3cb0600409a2ad44a5bd1863c699e6a01c" datatype="html">
+        <source>Failed to retrieve SMART data.</source>
+        <target>Failed to retrieve SMART data.</target>
+      </trans-unit>
+      <trans-unit id="d82a9af5b05e7cd17640f196f163771685ff8df6" datatype="html">
+        <source>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</source>
+        <target>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</target>
+      </trans-unit>
+      <trans-unit id="04f8a3c7e8ac610e6581960162cc15f55a16696a" datatype="html">
+        <source>No SMART data available.</source>
+        <target>No SMART data available.</target>
+      </trans-unit>
+      <trans-unit id="3a03d3c2e459f8f8fa7202c0fce465d6165f9e2b" datatype="html">
+        <source>passed</source>
+        <target>passed</target>
+      </trans-unit>
+      <trans-unit id="a185c9b97513b3882604ea9bab60edbfac945c15" datatype="html">
+        <source>SMART overall-health self-assessment test result</source>
+        <target>SMART overall-health self-assessment test result</target>
+      </trans-unit>
+      <trans-unit id="41435d5a5692c8e412c74deaee95d99dbd3617e1" datatype="html">
+        <source>failed</source>
+        <target>failed</target>
+      </trans-unit>
+      <trans-unit id="ddd5dd6d930030096ea617f62c82b648a0dd9484" datatype="html">
+        <source>Device Information</source>
+        <target>Device Information</target>
+      </trans-unit>
+      <trans-unit id="380295f37caea93701d071485a38ef0bdba57133" datatype="html">
+        <source>No SMART data available for this device.</source>
+        <target>No SMART data available for this device.</target>
+      </trans-unit>
+      <trans-unit id="20cb12827cbe559a7b1da6fdae96041b3b5c3c55" datatype="html">
+        <source>SMART</source>
+        <target>SMART</target>
+      </trans-unit>
+      <trans-unit id="5758c3f16f8749f0f4e2a787f02e8b4da246102f" datatype="html">
+        <source>SMART data is loading.</source>
+        <target>SMART data is loading.</target>
       </trans-unit>
       <trans-unit id="a949d7e577902d0e5dc5d0971bb0170a21be7728" datatype="html">
         <source>[object Object]</source>
         <source>The chosen erasure code profile name is already in use.</source>
         <target>選択されたイレイジャコードプロファイル名はすでに使用されています。</target>
       </trans-unit>
+      <trans-unit id="35a4206db3105ed03e0dd799e1642b75b78123e8" datatype="html">
+        <source>Root</source>
+        <target>Root</target>
+      </trans-unit>
+      <trans-unit id="cf425784c7073c7e7f7c1bb90c2c19db7e751db2" datatype="html">
+        <source>Failure domain type</source>
+        <target>Failure domain type</target>
+      </trans-unit>
+      <trans-unit id="72396a9565cf644d1fe1b21b790c4243ee270986" datatype="html">
+        <source>Device class</source>
+        <target>Device class</target>
+      </trans-unit>
+      <trans-unit id="72d80e0c07bfea1b693a33ef2245007de92a6780" datatype="html">
+        <source>Let Ceph decide</source>
+        <target>Let Ceph decide</target>
+      </trans-unit>
       <trans-unit id="ef9ff0e6227947b48dfab4ac39ade04af758913b" datatype="html">
         <source>Plugin</source>
         <target>プラグイン</target>
         <target>It's not possible to create an RBD pool with '/' in the name.
               Please change the name or remove 'rbd' from the applications list.</target>
       </trans-unit>
+      <trans-unit id="171dc6d5c6bc4615d99778b0088cae80fd00bd10" datatype="html">
+        <source>Pool name can only contain letters, numbers, '.', '-', '_' or '/'.</source>
+        <target>Pool name can only contain letters, numbers, '.', '-', '_' or '/'.</target>
+      </trans-unit>
       <trans-unit id="b85c657469e5ec8231c3de99b22f437bc01ffde5" datatype="html">
         <source>Pool type</source>
         <target>プールタイプ</target>
         <source>-- Select a pool type --</source>
         <target>-- プールタイプを選択してください --</target>
       </trans-unit>
+      <trans-unit id="6abfbe47b630929d93c7343dc154599c2e59330a" datatype="html">
+        <source>PG Autoscale</source>
+        <target>PG Autoscale</target>
+      </trans-unit>
       <trans-unit id="0aa21053410a94aa61d16985a4e95fd65523430d" datatype="html">
         <source>Placement groups</source>
         <target>配置グループ</target>
         <target>The current PGs settings were calculated for you, you
                 should make sure the values suit your needs before submit.</target>
       </trans-unit>
-      <trans-unit id="33150f22ce5348aa6c499bd092c3f4f3695d62cc" datatype="html">
-        <source>Crush ruleset</source>
-        <target>Crushルールセット</target>
-      </trans-unit>
-      <trans-unit id="73a6b31116b3cc322af951daa0bafdc169e6c42e" datatype="html">
-        <source>-- Select a crush rule --</source>
-        <target>-- Crushルールを選択してください --</target>
-      </trans-unit>
-      <trans-unit id="92da80699921e89fb19372e25b8d0f3b9fa427fc" datatype="html">
-        <source>Crush rule</source>
-        <target>Crushルール</target>
-      </trans-unit>
-      <trans-unit id="5489e9f96835f469f6f728a00d8efa88ea5bc940" datatype="html">
-        <source>Crush steps</source>
-        <target>Crushステップ</target>
-      </trans-unit>
-      <trans-unit id="54a53b1b402aafff5b992ee9b64e409fbfe9074f" datatype="html">
-        <source>The rule can't be used in the current cluster as it has
-                to few OSDs to meet the minimum required OSD by this rule.</source>
-        <target>現在のクラスタ内のOSD数はこのルールで要求される最小OSD数を下回っているため、
-このルールを現在のクラスタで使用することはできません。</target>
-      </trans-unit>
       <trans-unit id="a43b2695131b48b76cebba676aba98a2bee17515" datatype="html">
         <source>Replicated size</source>
         <target>複製されたサイズ</target>
           <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.
         </target>
       </trans-unit>
+      <trans-unit id="920617c6a1a4805e53bcb5af6a9c76f8387e89c6" datatype="html">
+        <source>Flags</source>
+        <target>フラグ</target>
+      </trans-unit>
+      <trans-unit id="1c870fb00256b8a5b9cb9cd1a124e6390b9bc639" datatype="html">
+        <source>EC Overwrites</source>
+        <target>ECの上書き</target>
+      </trans-unit>
+      <trans-unit id="f1abafaeb40ce52355ddcc24686e3cd17b64e08a" datatype="html">
+        <source>Applications</source>
+        <target>アプリケーション</target>
+      </trans-unit>
+      <trans-unit id="fb9308b82fc183f710df60909f49cfc73aa5e076" datatype="html">
+        <source>CRUSH</source>
+        <target>CRUSH</target>
+      </trans-unit>
       <trans-unit id="9de7dde00e2139cc4bd03b1837afbe72ad15a1ff" datatype="html">
         <source>Erasure code profile</source>
         <target>イレイジャコードプロファイル</target>
         <source>-- Select an erasure code profile --</source>
         <target>-- イレイジャコードプロファイルを選択してください --</target>
       </trans-unit>
-      <trans-unit id="920617c6a1a4805e53bcb5af6a9c76f8387e89c6" datatype="html">
-        <source>Flags</source>
-        <target>フラグ</target>
+      <trans-unit id="33150f22ce5348aa6c499bd092c3f4f3695d62cc" datatype="html">
+        <source>Crush ruleset</source>
+        <target>Crushルールセット</target>
       </trans-unit>
-      <trans-unit id="1c870fb00256b8a5b9cb9cd1a124e6390b9bc639" datatype="html">
-        <source>EC Overwrites</source>
-        <target>ECの上書き</target>
+      <trans-unit id="c69b0bcd4698aa845d32c4c4ad488492552cb469" datatype="html">
+        <source>A new crush ruleset will be implicitly created.</source>
+        <target>A new crush ruleset will be implicitly created.</target>
       </trans-unit>
-      <trans-unit id="f1abafaeb40ce52355ddcc24686e3cd17b64e08a" datatype="html">
-        <source>Applications</source>
-        <target>アプリケーション</target>
+      <trans-unit id="896e9987db5e9bb279e6deed5d2dff28c242ef66" datatype="html">
+        <source>There are no rules.</source>
+        <target>There are no rules.</target>
+      </trans-unit>
+      <trans-unit id="73a6b31116b3cc322af951daa0bafdc169e6c42e" datatype="html">
+        <source>-- Select a crush rule --</source>
+        <target>-- Crushルールを選択してください --</target>
+      </trans-unit>
+      <trans-unit id="ea91d648f92002bc9f96d9b26b735c83ca0b53c6" datatype="html">
+        <source>This rule can't be deleted as it is in use.</source>
+        <target>This rule can't be deleted as it is in use.</target>
+      </trans-unit>
+      <trans-unit id="92da80699921e89fb19372e25b8d0f3b9fa427fc" datatype="html">
+        <source>Crush rule</source>
+        <target>Crushルール</target>
+      </trans-unit>
+      <trans-unit id="5489e9f96835f469f6f728a00d8efa88ea5bc940" datatype="html">
+        <source>Crush steps</source>
+        <target>Crushステップ</target>
+      </trans-unit>
+      <trans-unit id="fc5f5496a9e50fe69e1a09784f28d94944108294" datatype="html">
+        <source>Rule is not in use.</source>
+        <target>Rule is not in use.</target>
+      </trans-unit>
+      <trans-unit id="023d6f718770d2ea4ab8cabe26b0ec27ef967ec2" datatype="html">
+        <source>Used by pools</source>
+        <target>Used by pools</target>
+      </trans-unit>
+      <trans-unit id="104a0e6900d1d1b0c8cf9e5947e36edb352583fc" datatype="html">
+        <source>The rule can't be used in the current cluster as it has
+                  too few OSDs to meet the minimum required OSD by this rule.</source>
+        <target>The rule can't be used in the current cluster as it has
+                  too few OSDs to meet the minimum required OSD by this rule.</target>
       </trans-unit>
       <trans-unit id="2208d63d5940ce656006a220102b1eb2b5e553da" datatype="html">
         <source>Compression</source>
         <source>The value should be greater or equal to 0</source>
         <target>The value should be greater or equal to 0</target>
       </trans-unit>
+      <trans-unit id="4f8b2bb476981727ab34ed40fde1218361f92c45" datatype="html">
+        <source>Details</source>
+        <target>詳細</target>
+      </trans-unit>
       <trans-unit id="fbbaf5cb02ed419e79a27072478f716a4666a99d" datatype="html">
         <source>Performance Details</source>
         <target>パフォーマンスの詳細</target>
         <source>Cache Tiers Details</source>
         <target>キャッシュ層の詳細</target>
       </trans-unit>
+      <trans-unit id="ecbc084370a732fc3cde1966a60af78d71424ab4" datatype="html">
+        <source>Create Bootstrap Token</source>
+        <target>Create Bootstrap Token</target>
+      </trans-unit>
+      <trans-unit id="603e9cc3ef2aab57f2b0a00e465b23b9cabefd9c" datatype="html">
+        <source>To create a bootstrap token which can be imported
+          by a peer site cluster, provide the local site's name, select
+          which pools will have mirroring enabled, and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Generate
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </source>
+        <target>To create a bootstrap token which can be imported
+          by a peer site cluster, provide the local site's name, select
+          which pools will have mirroring enabled, and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Generate
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="660f97cd3188f8a04bd03b79e703fec72c6df04c" datatype="html">
+        <source>Site Name</source>
+        <target>Site Name</target>
+      </trans-unit>
+      <trans-unit id="8c2a1dc72cffaf7ab3dc5599bf77b0a7fcad2b20" datatype="html">
+        <source>At least one pool is required.</source>
+        <target>At least one pool is required.</target>
+      </trans-unit>
+      <trans-unit id="1b258b258b4cc475ceb2871305b61756b0134f4a" datatype="html">
+        <source>Generate</source>
+        <target>Generate</target>
+      </trans-unit>
+      <trans-unit id="1edc1fc6cfbbb22353050ad6788508b3ed584f53" datatype="html">
+        <source>Token</source>
+        <target>Token</target>
+      </trans-unit>
+      <trans-unit id="ff785f5596aef34a93b9b4d1023e95c62eef5740" datatype="html">
+        <source>Generated token...</source>
+        <target>Generated token...</target>
+      </trans-unit>
+      <trans-unit id="5467a6bb0e7fade6def7499400d5e2a7d8d3da20" datatype="html">
+        <source>Import Bootstrap Token</source>
+        <target>Import Bootstrap Token</target>
+      </trans-unit>
+      <trans-unit id="9bb7aee0dec5164f45c0aa2f35f2fb2149d2c1d2" datatype="html">
+        <source>To import a bootstrap token which was created
+          by a peer site cluster, provide the local site's name, select
+          which pools will have mirroring enabled, provide the generated
+          token, and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Import
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </source>
+        <target>To import a bootstrap token which was created
+          by a peer site cluster, provide the local site's name, select
+          which pools will have mirroring enabled, provide the generated
+          token, and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Import
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="9200e09686136a1d42adfb89c12fbfef2deea125" datatype="html">
+        <source>Direction</source>
+        <target>Direction</target>
+      </trans-unit>
+      <trans-unit id="9761484679958da8d12841a4efa5964d33fae575" datatype="html">
+        <source>The token is invalid.</source>
+        <target>The token is invalid.</target>
+      </trans-unit>
+      <trans-unit id="a059709f71aa4c0ac219e160e78a738682ca6a36" datatype="html">
+        <source>Import</source>
+        <target>Import</target>
+      </trans-unit>
+      <trans-unit id="b87bd96249f8afc23f5301cddb57b1464a98e71a" datatype="html">
+        <source>Edit site name</source>
+        <target>Edit site name</target>
+      </trans-unit>
+      <trans-unit id="cfff72c667274c12eb1ff71eadc25871c10c42dc" datatype="html">
+        <source>Edit the site name and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </source>
+        <target>Edit the site name and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="40b7acea5b43f45e0bbd1efeba5200af4687981d" datatype="html">
+        <source>Site Name:</source>
+        <target>Site Name:</target>
+      </trans-unit>
       <trans-unit id="f0b5d789d42c0e69348e5fe0037fcbf5b5fbbdcc" datatype="html">
         <source>Move an image to trash</source>
         <target>イメージをごみ箱に移動する</target>
       </trans-unit>
-      <trans-unit id="86301cf2044b1eda218483365f6b9de8dde5040b" datatype="html">
+      <trans-unit id="7ad22c1d4aab3b8946603cea62de266d5129ca10" datatype="html">
+        <source>This image contains snapshot(s), which will prevent it
+            from being removed after moved to trash.</source>
+        <target>This image contains snapshot(s), which will prevent it
+            from being removed after moved to trash.</target>
+      </trans-unit>
+      <trans-unit id="b4b3ced4f8aad4c446f348b14c3d94be2e2c350c" datatype="html">
         <source>To move 
           <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>
-          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>/
-          <x id="INTERPOLATION_1" equiv-text="{{ imageName }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ imageSpecStr }}"/>
           <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,
           click 
           <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image
         </source>
         <target>To move 
           <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>
-          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>/
-          <x id="INTERPOLATION_1" equiv-text="{{ imageName }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ imageSpecStr }}"/>
           <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,
           click 
           <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image
         <source>Move Image</source>
         <target>イメージの移動</target>
       </trans-unit>
+      <trans-unit id="c9f1026c1235f4d76ace47449e806efd181ab332" datatype="html">
+        <source>Deleting this image will also delete all its snapshots.</source>
+        <target>Deleting this image will also delete all its snapshots.</target>
+      </trans-unit>
+      <trans-unit id="55f864597e84d9bf88769e1fbfda1d64452430c9" datatype="html">
+        <source>The following snapshots are currently protected and will be removed:</source>
+        <target>The following snapshots are currently protected and will be removed:</target>
+      </trans-unit>
       <trans-unit id="8a9910cd114c1deb9af74f6f99b4173403965bf2" datatype="html">
         <source>Gateways</source>
         <target>Gateways</target>
         <source>Object size</source>
         <target>オブジェクトサイズ</target>
       </trans-unit>
-      <trans-unit id="6cdb1fea93d77c07950c0c76c6e0ad79ebbef084" datatype="html">
-        <source>Features</source>
-        <target>機能</target>
-      </trans-unit>
       <trans-unit id="0a65771c9a73b9aa609d592fc96a64801a8f40bd" datatype="html">
         <source>Provisioned</source>
         <target>プロビジョニング済み</target>
         <source>-- Select a pool --</source>
         <target>-- プールを選択してください --</target>
       </trans-unit>
+      <trans-unit id="d649904466254d13df1fbf2d255f0bbc6553d213" datatype="html">
+        <source>-- No namespaces available --</source>
+        <target>-- No namespaces available --</target>
+      </trans-unit>
+      <trans-unit id="e22d7bb4d2d561e0832ee0b9a3da2468a080c4f0" datatype="html">
+        <source>-- Select a namespace --</source>
+        <target>-- Select a namespace --</target>
+      </trans-unit>
       <trans-unit id="49449943d8cbf59d8c401c8bd2e76f92e207cc5f" datatype="html">
         <source>Use a dedicated data pool</source>
         <target>専用のデータプールを使用してください</target>
         <source>Stripe count must be greater than 0.</source>
         <target>ストライプ数は0より大きい必要があります。</target>
       </trans-unit>
-      <trans-unit id="3f67f30568e9ae47507d46e28e1e82a7dca772e2" datatype="html">
-        <source>
-          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> RBD Snapshot
-        </source>
-        <target>
-          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> RBD Snapshot
-        </target>
-      </trans-unit>
-      <trans-unit id="1628d19a4490817c18be2afab410ca4adfa62ea7" datatype="html">
-        <source>{VAR_SELECT, select, true {Rename} other {Create} }</source>
-        <target>{VAR_SELECT, select, true {Rename} other {Create} }</target>
+      <trans-unit id="2c07d24bb422aa8e5e568df1c5709083f0a9c8f1" datatype="html">
+        <source>Create Namespace</source>
+        <target>Create Namespace</target>
       </trans-unit>
-      <trans-unit id="73a287b41afe6b28f90edbeb98957a341a0276b4" datatype="html">
-        <source>
-          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> Snapshot
-        </source>
-        <target>
-          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> Snapshot
-        </target>
-      </trans-unit>
-      <trans-unit id="cb60c1cd3655234756b5b92d4d597d92d520ee30" datatype="html">
-        <source>PROTECTED</source>
-        <target>PROTECTED</target>
-      </trans-unit>
-      <trans-unit id="deffb86b8fb0541254ad5a43862d82bff6b6a6c4" datatype="html">
-        <source>UNPROTECTED</source>
-        <target>未保護</target>
+      <trans-unit id="0cca6c0485f96d3a9610d0339cb1275a5f2c3f46" datatype="html">
+        <source>Namespace already exists.</source>
+        <target>Namespace already exists.</target>
       </trans-unit>
       <trans-unit id="5c5331983af566d4ac6a1024d15a3511786a4aa6" datatype="html">
         <source>You are about to rollback</source>
         <source>Purge Trash</source>
         <target>ごみ箱を空にする</target>
       </trans-unit>
-      <trans-unit id="af728625d769b61acf291442644b89edb88faec3" datatype="html">
-        <source>To purge, select one or All images and click</source>
-        <target>空にするには、1つまたはすべてのイメージを選択してクリックします</target>
+      <trans-unit id="681501eecd7f44d4b7a2f619605b36676e04c5b6" datatype="html">
+        <source>To purge, select one or</source>
+        <target>To purge, select one or</target>
+      </trans-unit>
+      <trans-unit id="dfc3c34e182ea73c5d784ff7c8135f087992dac1" datatype="html">
+        <source>All</source>
+        <target>すべて</target>
+      </trans-unit>
+      <trans-unit id="ea5d338dcef50ff5c24439fd784f6a67b594c33f" datatype="html">
+        <source>pools and click</source>
+        <target>pools and click</target>
       </trans-unit>
       <trans-unit id="55a4f598a4894b7fd5cb88f0ffd3c37ad009dd70" datatype="html">
         <source>Pool:</source>
         <source>Pool name...</source>
         <target>プール名...</target>
       </trans-unit>
-      <trans-unit id="dfc3c34e182ea73c5d784ff7c8135f087992dac1" datatype="html">
-        <source>All</source>
-        <target>すべて</target>
-      </trans-unit>
       <trans-unit id="b0e7c7ed1d51a0c205c815048bc9f79e24ee6db2" datatype="html">
         <source>Restore Image</source>
         <target>イメージの復元</target>
           <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.
         </target>
       </trans-unit>
-      <trans-unit id="aba82bfd8e177d35b76cad7cd43941f8e5e5acac" datatype="html">
-        <source>Trash</source>
-        <target>ごみ箱</target>
-      </trans-unit>
       <trans-unit id="a674ab267d1934bf395f87ca1503fd474296893f" datatype="html">
         <source>iSCSI Topology</source>
         <target>iSCSIトポロジ</target>
       </trans-unit>
-      <trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html">
-        <source>Settings</source>
-        <target>設定</target>
+      <trans-unit id="051dcc342cfa5c1eaf187a2001aaa162379a160c" datatype="html">
+        <source>Configure</source>
+        <target>Configure</target>
       </trans-unit>
       <trans-unit id="9e515f954730279c31d5301f02479666d6264e8b" datatype="html">
         <source>Changing these parameters from their default values is usually not necessary.</source>
         <target>通常はこれらのパラメータをデフォルト値から変更する必要はありません。</target>
       </trans-unit>
+      <trans-unit id="4e2591df099ddac796cda401c5f282da779d45f2" datatype="html">
+        <source>Identifier</source>
+        <target>Identifier</target>
+      </trans-unit>
+      <trans-unit id="62480a4859976427cf18fc8ef41d3a438eda0412" datatype="html">
+        <source>lun</source>
+        <target>lun</target>
+      </trans-unit>
+      <trans-unit id="8afc9eb4405e0aa554b2ba14140ef790cdecc040" datatype="html">
+        <source>wwn</source>
+        <target>wwn</target>
+      </trans-unit>
+      <trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html">
+        <source>Settings</source>
+        <target>設定</target>
+      </trans-unit>
       <trans-unit id="69a47cbabcc51ca942606e1d8da0ec11f98a2690" datatype="html">
         <source>Backstore</source>
         <target>バックストア</target>
         <source>Portals</source>
         <target>ポータル</target>
       </trans-unit>
+      <trans-unit id="6a3ac2b4137d723fd9878cd357c2012ff6c07973" datatype="html">
+        <source>Add portal</source>
+        <target>ポータルの追加</target>
+      </trans-unit>
       <trans-unit id="c3638c01b6c34066438909713ec96087c813fc7e" datatype="html">
         <source>At least 
           <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.
           <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.
         </target>
       </trans-unit>
-      <trans-unit id="6a3ac2b4137d723fd9878cd357c2012ff6c07973" datatype="html">
-        <source>Add portal</source>
-        <target>ポータルの追加</target>
-      </trans-unit>
       <trans-unit id="9aff25be088f0efe3eaaf62edf2bff41cc41a617" datatype="html">
         <source>Backstore: 
           <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. 
         <source>This image has modified settings.</source>
         <target>このイメージの設定は変更されています。</target>
       </trans-unit>
-      <trans-unit id="107c84e820909b44fe258673938a68ced1bbff72" datatype="html">
-        <source>At least 1 image is required.</source>
-        <target>少なくとも1つのイメージが必要です。</target>
+      <trans-unit id="1dff11e0820b6722ab240169f1232d70a54beaaa" datatype="html">
+        <source>Duplicated LUN numbers.</source>
+        <target>Duplicated LUN numbers.</target>
+      </trans-unit>
+      <trans-unit id="bf2dccf92ccff6e3b091792bf4205595406e1bfb" datatype="html">
+        <source>Duplicated WWN.</source>
+        <target>Duplicated WWN.</target>
       </trans-unit>
       <trans-unit id="808038f912fdc7f0e03f82d4afd3bf9178527fc8" datatype="html">
         <source>Add image</source>
         <source>Add group</source>
         <target>グループの追加</target>
       </trans-unit>
+      <trans-unit id="c3a7e364a88ea4673199dfa98bc73e6dbe09dfac" datatype="html">
+        <source>Namespaces</source>
+        <target>Namespaces</target>
+      </trans-unit>
+      <trans-unit id="aba82bfd8e177d35b76cad7cd43941f8e5e5acac" datatype="html">
+        <source>Trash</source>
+        <target>ごみ箱</target>
+      </trans-unit>
       <trans-unit id="66db799d67958d4b0765181d072df62e2d1c16f5" datatype="html">
         <source>Issues</source>
         <target>問題</target>
         <source>Enables versioning for the objects in the bucket.</source>
         <target>Enables versioning for the objects in the bucket.</target>
       </trans-unit>
-      <trans-unit id="92f3f203270a29b3001871153f02c063484a1574" datatype="html">
-        <source>Suspended</source>
-        <target>中断済み</target>
+      <trans-unit id="9e6775ffd06878aa145c07359f28557f01ede04f" datatype="html">
+        <source>Multi-Factor Authentication</source>
+        <target>Multi-Factor Authentication</target>
+      </trans-unit>
+      <trans-unit id="29e8a5d4fb767d4ad0c762c81c6264cec4c0ba97" datatype="html">
+        <source>Delete enabled</source>
+        <target>Delete enabled</target>
+      </trans-unit>
+      <trans-unit id="40fbc3ac8c1ea4ecfe62247e91f1f999ad5baf76" datatype="html">
+        <source>Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state.</source>
+        <target>Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state.</target>
+      </trans-unit>
+      <trans-unit id="d24c93a8c13db46defa06ed7b5e026a3edb52b91" datatype="html">
+        <source>Token Serial Number</source>
+        <target>Token Serial Number</target>
+      </trans-unit>
+      <trans-unit id="e6d9536c2af2e5e9a228c3e3e1809dc1fefe0149" datatype="html">
+        <source>Token PIN</source>
+        <target>Token PIN</target>
+      </trans-unit>
+      <trans-unit id="7b84370895ab9eb44672f57146fa05c5947f1c0c" datatype="html">
+        <source>Locking</source>
+        <target>Locking</target>
+      </trans-unit>
+      <trans-unit id="f038d51ab1645f15b0cd58f195c72a7eeebd4729" datatype="html">
+        <source>Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket.</source>
+        <target>Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket.</target>
+      </trans-unit>
+      <trans-unit id="9af1b4baa2dd8ed2bfc3cc756b12a2271c2dd793" datatype="html">
+        <source>Compliance</source>
+        <target>Compliance</target>
+      </trans-unit>
+      <trans-unit id="edd600fa489d1b4a4448dce694ed932e52ce8fda" datatype="html">
+        <source>Governance</source>
+        <target>Governance</target>
+      </trans-unit>
+      <trans-unit id="a5c3d9d2296f7886e8289b9f623323803deacfc6" datatype="html">
+        <source>Days</source>
+        <target>Days</target>
       </trans-unit>
-      <trans-unit id="cd6a798fd0f85cd7e31a57c58074f25035d7850d" datatype="html">
-        <source>Disables versioning for the objects in the bucket.</source>
-        <target>Disables versioning for the objects in the bucket.</target>
+      <trans-unit id="218c7d6d318c51e7105309aaeb0baec9d19e4efb" datatype="html">
+        <source>The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</source>
+        <target>The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</target>
+      </trans-unit>
+      <trans-unit id="289b101ec12427b3ca819df9e43cc3b14fae2cc4" datatype="html">
+        <source>The entered value must be a positive integer.</source>
+        <target>The entered value must be a positive integer.</target>
+      </trans-unit>
+      <trans-unit id="def9fc628134d3a044b7c0ad2a83c846bdad56f1" datatype="html">
+        <source>Retention period requires either Days or Years.</source>
+        <target>Retention period requires either Days or Years.</target>
+      </trans-unit>
+      <trans-unit id="003c94fc143882ac8af6251a1595fe62978fe3e6" datatype="html">
+        <source>Years</source>
+        <target>Years</target>
+      </trans-unit>
+      <trans-unit id="14c6189ead0951f13049c7bf9af7642d0c41957a" datatype="html">
+        <source>The number of years that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</source>
+        <target>The number of years that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</target>
       </trans-unit>
       <trans-unit id="45cc8ca94b5a50842a9a8ef804a5ab089a38ae5c" datatype="html">
         <source>ID</source>
         <source>Zonegroup</source>
         <target>ゾーングループ</target>
       </trans-unit>
+      <trans-unit id="62a923f047ca49e7a4782629e91fea1ba32db68f" datatype="html">
+        <source>MFA Delete</source>
+        <target>MFA Delete</target>
+      </trans-unit>
       <trans-unit id="649a410bd0ace333d067d8fa22f12bdbdb43533b" datatype="html">
         <source>Bucket quota</source>
         <target>バケットクォータ</target>
         <source>Email address</source>
         <target>電子メールアドレス</target>
       </trans-unit>
+      <trans-unit id="92f3f203270a29b3001871153f02c063484a1574" datatype="html">
+        <source>Suspended</source>
+        <target>中断済み</target>
+      </trans-unit>
       <trans-unit id="8011e20c5bbe51602d459a860fbf29b599b55edd" datatype="html">
         <source>System</source>
         <target>システム</target>
         <source>Max. buckets</source>
         <target>最大バケット数</target>
       </trans-unit>
-      <trans-unit id="623ac50f37a26caec6fd7cd519b653e3315cba25" datatype="html">
-        <source>The entered value must be &gt;= 0.</source>
-        <target>0以上の値を入力する必要があります。</target>
+      <trans-unit id="f39256070bfc0714020dfee08895421fc1527014" datatype="html">
+        <source>Disabled</source>
+        <target>無効化済み</target>
+      </trans-unit>
+      <trans-unit id="a5c05002b0ac2040f1aede5e727e0ffd06eda819" datatype="html">
+        <source>Custom</source>
+        <target>カスタム</target>
+      </trans-unit>
+      <trans-unit id="28872515cb81d197a3a1733fa546d3e0f0dd6c67" datatype="html">
+        <source>The entered value must be &gt;= 1.</source>
+        <target>The entered value must be &gt;= 1.</target>
       </trans-unit>
       <trans-unit id="583a219c524155c2314eb06ee29162bb315272a3" datatype="html">
         <source>S3 key</source>
           <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>
         </target>
       </trans-unit>
+      <trans-unit id="f5a451c4ea65a4046f0b49d489a7013abf0b5861" datatype="html">
+        <source>All capabilities are already added.</source>
+        <target>All capabilities are already added.</target>
+      </trans-unit>
       <trans-unit id="6146e13ceca5fa5cc17b771b282fe5955f3d19fa" datatype="html">
         <source>Unlimited size</source>
         <target>無制限のサイズ</target>
         <source>Max. objects</source>
         <target>最大オブジェクト数</target>
       </trans-unit>
+      <trans-unit id="623ac50f37a26caec6fd7cd519b653e3315cba25" datatype="html">
+        <source>The entered value must be &gt;= 0.</source>
+        <target>0以上の値を入力する必要があります。</target>
+      </trans-unit>
       <trans-unit id="1ea5c4d8942c00752dcc72e72949c5d9832f6399" datatype="html">
         <source>Description...</source>
         <target>説明...</target>
         <source>Password confirmation doesn't match the password.</source>
         <target>確認入力されたパスワードがパスワードと一致しません。</target>
       </trans-unit>
+      <trans-unit id="96621f9ed2e4ae5204564e583d2c816bedead571" datatype="html">
+        <source>Password expiration date</source>
+        <target>Password expiration date</target>
+      </trans-unit>
+      <trans-unit id="48932db3801fe9d5d72a60a3e656bffd17c1c5d9" datatype="html">
+        <source>Password expiration date...</source>
+        <target>Password expiration date...</target>
+      </trans-unit>
       <trans-unit id="244aae9346da82b0922506c2d2581373a15641cc" datatype="html">
         <source>Email</source>
         <target>電子メール</target>
         <source>Invalid email.</source>
         <target>無効な電子メールです。</target>
       </trans-unit>
+      <trans-unit id="8913c216dd506e20e412e144381d8d2a65a84359" datatype="html">
+        <source>User must change password at next logon</source>
+        <target>User must change password at next logon</target>
+      </trans-unit>
       <trans-unit id="0051a3479d3ba79135c16dc8cc017950a2cce821" datatype="html">
         <source>You are about to remove "user read / update" permissions from your own user.</source>
         <target>自身のユーザから「user read / update」という許可を削除しようとしています。</target>
         <source>Histogram</source>
         <target>ヒストグラム</target>
       </trans-unit>
+      <trans-unit id="3d87fc20ea8e5f0f0500ba5d5061b345be78ec5e" datatype="html">
+        <source>No hostname found.</source>
+        <target>No hostname found.</target>
+      </trans-unit>
       <trans-unit id="26fb5f81b3581f06b9210defb0e71dc69a67e819" datatype="html">
         <source>Current values</source>
         <target>現行値</target>
         <target>タグ</target>
       </trans-unit>
       <trans-unit id="ab0089ef47af61ca1d137bc908b96c290dfd9287" datatype="html">
-        <source>Enum values</source>
-        <target>列挙値</target>
-      </trans-unit>
-      <trans-unit id="819476f1264f1659f38e86f6abb542141b184832" datatype="html">
-        <source>See also</source>
-        <target>関連項目</target>
-      </trans-unit>
-      <trans-unit id="d82a9af5b05e7cd17640f196f163771685ff8df6" datatype="html">
-        <source>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</source>
-        <target>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</target>
-      </trans-unit>
-      <trans-unit id="a185c9b97513b3882604ea9bab60edbfac945c15" datatype="html">
-        <source>SMART overall-health self-assessment test result</source>
-        <target>SMART overall-health self-assessment test result</target>
-      </trans-unit>
-      <trans-unit id="ddd5dd6d930030096ea617f62c82b648a0dd9484" datatype="html">
-        <source>Device Information</source>
-        <target>Device Information</target>
-      </trans-unit>
-      <trans-unit id="79c6bf990ea5b4d83bbf8f9e399f4bd933a1ebfc" datatype="html">
-        <source>S.M.A.R.T</source>
-        <target>S.M.A.R.T</target>
+        <source>Enum values</source>
+        <target>列挙値</target>
       </trans-unit>
-      <trans-unit id="05c17e08939cbef1a5df5386263b1701e8d5742e" datatype="html">
-        <source>S.M.A.R.T data is loading.</source>
-        <target>S.M.A.R.T data is loading.</target>
+      <trans-unit id="819476f1264f1659f38e86f6abb542141b184832" datatype="html">
+        <source>See also</source>
+        <target>関連項目</target>
       </trans-unit>
       <trans-unit id="73caac4265ea7314ff061e5a1d78a6361a6dd3b8" datatype="html">
         <source>Cluster Status</source>
         <source>MDS performance counters</source>
         <target>MDS performance counters</target>
       </trans-unit>
-      <trans-unit id="a7b6508fb834bee9e48e11e4503fbbc2d19204de" datatype="html">
-        <source>Clients: 
-          <x id="INTERPOLATION" equiv-text="{{ clients.data.length }}"/>
-        </source>
-        <target>Clients: 
-          <x id="INTERPOLATION" equiv-text="{{ clients.data.length }}"/>
-        </target>
-      </trans-unit>
       <trans-unit id="6e213942c6354b9cbe7a650f0f1499bfc1000fb6" datatype="html">
         <source>Directories</source>
         <target>Directories</target>
         <source># Sessions</source>
         <target># Sessions</target>
       </trans-unit>
+      <trans-unit id="2ea10b3668e04e057ba96ddcaf4c9b77089008ae" datatype="html">
+        <source>Unavailable gateway(s)</source>
+        <target>Unavailable gateway(s)</target>
+      </trans-unit>
       <trans-unit id="c49e0dd71d551bd4928d967d78f0721dbf9f95e3" datatype="html">
         <source>Target has active sessions</source>
         <target>Target has active sessions</target>
         <source>Progress</source>
         <target>進捗</target>
       </trans-unit>
-      <trans-unit id="f39256070bfc0714020dfee08895421fc1527014" datatype="html">
-        <source>Disabled</source>
-        <target>無効化済み</target>
+      <trans-unit id="25b725dba712a7a020fd34a72297befae975a492" datatype="html">
+        <source>Edit Site Name</source>
+        <target>Edit Site Name</target>
       </trans-unit>
       <trans-unit id="8c375764db42f5d736fb56d01b8052c006ccc8e2" datatype="html">
         <source>Edit Mode</source>
         <source>Fast diff (interlocked with object-map)</source>
         <target>Fast diff (interlocked with object-map)</target>
       </trans-unit>
+      <trans-unit id="130fd872c78271a8f86b1ab16a76e823969c47d9" datatype="html">
+        <source>Namespace</source>
+        <target>Namespace</target>
+      </trans-unit>
+      <trans-unit id="14abc99daed542774633046c53b6ce8251331141" datatype="html">
+        <source>This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.</source>
+        <target>This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.</target>
+      </trans-unit>
+      <trans-unit id="51699f716cf34e6622ff7bfd84641480c045271a" datatype="html">
+        <source>Created namespace '
+          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/
+          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>'
+        </source>
+        <target>Created namespace '
+          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/
+          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>'
+        </target>
+      </trans-unit>
+      <trans-unit id="bf44b7d6379ce0198ed3d95a27642a224181bf1d" datatype="html">
+        <source>Total images</source>
+        <target>Total images</target>
+      </trans-unit>
+      <trans-unit id="371ce3ffe62548d15e391a248bc554d903bb03fc" datatype="html">
+        <source>Deleted namespace '
+          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/
+          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>'
+        </source>
+        <target>Deleted namespace '
+          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/
+          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>'
+        </target>
+      </trans-unit>
+      <trans-unit id="9d704fd00ca929f90c3119cefc581821ae58a73e" datatype="html">
+        <source>Namespace contains images</source>
+        <target>Namespace contains images</target>
+      </trans-unit>
+      <trans-unit id="c2017dc94b4f57a347ccb126e546e88942f4d7a6" datatype="html">
+        <source>RBD Snapshot</source>
+        <target>RBD Snapshot</target>
+      </trans-unit>
       <trans-unit id="631fc50ec7c9bd81dc797a3c7e09eda1178ad999" datatype="html">
         <source>Parent image must support Layering</source>
         <target>Parent image must support Layering</target>
       </trans-unit>
+      <trans-unit id="cb60c1cd3655234756b5b92d4d597d92d520ee30" datatype="html">
+        <source>PROTECTED</source>
+        <target>PROTECTED</target>
+      </trans-unit>
+      <trans-unit id="deffb86b8fb0541254ad5a43862d82bff6b6a6c4" datatype="html">
+        <source>UNPROTECTED</source>
+        <target>未保護</target>
+      </trans-unit>
       <trans-unit id="7eb984588f4835f6d0187b33769b4b0f62821640" datatype="html">
         <source>RBD snapshot rollback</source>
         <target>RBDスナップショットのロールバック</target>
         <source>Origin</source>
         <target>Origin</target>
       </trans-unit>
+      <trans-unit id="2ea2ec95d93fd55d0db6e9d2b95b25e153d4cec2" datatype="html">
+        <source>Max size</source>
+        <target>Max size</target>
+      </trans-unit>
+      <trans-unit id="665dced3a61bca44924a0bde4be47390225a4898" datatype="html">
+        <source>Max files</source>
+        <target>Max files</target>
+      </trans-unit>
+      <trans-unit id="0ccf776baac60794b142526986f3af85848c7059" datatype="html">
+        <source>The inherited 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/> is the maximum value to be used.
+        </source>
+        <target>The inherited 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/> is the maximum value to be used.
+        </target>
+      </trans-unit>
+      <trans-unit id="b0e2ef28384f2de6674cac300c779f900929a89b" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{action}}"/> CephFS 
+          <x id="INTERPOLATION_1" equiv-text="{{quotaName}}"/> quota for '
+          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>'
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{action}}"/> CephFS 
+          <x id="INTERPOLATION_1" equiv-text="{{quotaName}}"/> quota for '
+          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>'
+        </target>
+      </trans-unit>
+      <trans-unit id="542ef638499635dec7641bdc2e499258094187cc" datatype="html">
+        <source>size</source>
+        <target>size</target>
+      </trans-unit>
+      <trans-unit id="ce90ff00c341d8eef96b0e7956bb85b8faba3839" datatype="html">
+        <source>files</source>
+        <target>files</target>
+      </trans-unit>
+      <trans-unit id="fbe8b9340c08c24aef62ffe81c83e2b46a4f1495" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{quotaName}}"/> quota 
+          <x id="INTERPOLATION_1" equiv-text="{{value}}"/> from '
+          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>'
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{quotaName}}"/> quota 
+          <x id="INTERPOLATION_1" equiv-text="{{value}}"/> from '
+          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>'
+        </target>
+      </trans-unit>
+      <trans-unit id="37c2c0a4a356465eef2edfb09ffffc6db5259975" datatype="html">
+        <source>Value has to be at least 
+          <x id="INTERPOLATION" equiv-text="{{value}}"/> or more
+        </source>
+        <target>Value has to be at least 
+          <x id="INTERPOLATION" equiv-text="{{value}}"/> or more
+        </target>
+      </trans-unit>
+      <trans-unit id="73f8e64703a707e2cf98b9a10653cd3bbdd8cab1" datatype="html">
+        <source>Value has to be at most 
+          <x id="INTERPOLATION" equiv-text="{{value}}"/> or less
+        </source>
+        <target>Value has to be at most 
+          <x id="INTERPOLATION" equiv-text="{{value}}"/> or less
+        </target>
+      </trans-unit>
+      <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc" datatype="html">
+        <source>Updated</source>
+        <target>更新済み</target>
+      </trans-unit>
+      <trans-unit id="b6a4cf4f302c7fcbec199ce0df42b8282d682b04" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{action}}"/>
+          <x id="INTERPOLATION_1" equiv-text="{{quotaValue}}"/>
+          <x id="INTERPOLATION_2" equiv-text="{{conclusion}}"/>.
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{action}}"/>
+          <x id="INTERPOLATION_1" equiv-text="{{quotaValue}}"/>
+          <x id="INTERPOLATION_2" equiv-text="{{conclusion}}"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="a40024afb071f68fec949094a71f832d5611bca5" datatype="html">
+        <source>in order to inherit 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>
+        </source>
+        <target>in order to inherit 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="c108ff588291e9c040adea2adf35e7236cf29925" datatype="html">
+        <source>which isn't used because of the inheritance of 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>
+        </source>
+        <target>which isn't used because of the inheritance of 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="d3785a64d1c72b03b2212855ce695b45ed0342d2" datatype="html">
+        <source>in order to have no quota on the directory</source>
+        <target>in order to have no quota on the directory</target>
+      </trans-unit>
+      <trans-unit id="c4d3a3446a7f36825291c5e76c4a6b7919f9bd2f" datatype="html">
+        <source>Create Snapshot</source>
+        <target>Create Snapshot</target>
+      </trans-unit>
+      <trans-unit id="e9af734e231b837d64df21008e2eb1fdff566a61" datatype="html">
+        <source>Please enter the name of the snapshot.</source>
+        <target>Please enter the name of the snapshot.</target>
+      </trans-unit>
+      <trans-unit id="8c4d3039e6a953b0d6f1b1313ffa60c5d2b35dc7" datatype="html">
+        <source>Created snapshot "
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "
+          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"
+        </source>
+        <target>Created snapshot "
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "
+          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"
+        </target>
+      </trans-unit>
+      <trans-unit id="126ad894f74ee9a999825f3f4ac5a31fdfc093bf" datatype="html">
+        <source>CephFs Snapshot</source>
+        <target>CephFs Snapshot</target>
+      </trans-unit>
+      <trans-unit id="1e4d1c0865adc485260740c42ac5af68ce8feb13" datatype="html">
+        <source>Deleted snapshot "
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "
+          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"
+        </source>
+        <target>Deleted snapshot "
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "
+          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"
+        </target>
+      </trans-unit>
       <trans-unit id="22e4e574b7f8abf58254f328792445b42e2a924a" datatype="html">
         <source>The value can be updated at runtime.</source>
         <target>この値は実行時に更新できます。</target>
         <source>Service</source>
         <target>サービス</target>
       </trans-unit>
+      <trans-unit id="6986e0df8092d822ac2c076520d83994c78834fc" datatype="html">
+        <source>Modified</source>
+        <target>Modified</target>
+      </trans-unit>
       <trans-unit id="9951bb3983c7dba6fde013e05c922e4fe1a44367" datatype="html">
         <source>Current value</source>
         <target>現行値</target>
         <source>host</source>
         <target>host</target>
       </trans-unit>
-      <trans-unit id="9e35065e7c579e1fb960499117fd4b3c68d1c263" datatype="html">
-        <source>Host operation is disabled because orchestrator is unavailable</source>
-        <target>Host operation is disabled because orchestrator is unavailable</target>
+      <trans-unit id="b1b381321d4cef04605d3e6e8847ea2b72a03799" datatype="html">
+        <source>Identify</source>
+        <target>Identify</target>
       </trans-unit>
       <trans-unit id="a5d5e407f8c4e1b152509c966c90f37edf68472e" datatype="html">
         <source>Device path</source>
         <target>Device path</target>
       </trans-unit>
-      <trans-unit id="94e76c060aa68c05d8c4a3f5a20c92fab3e83ccf" datatype="html">
-        <source>Rotates</source>
-        <target>Rotates</target>
-      </trans-unit>
       <trans-unit id="b7da3e3505cc80f9bf3cffc8444c53e8a9ec70a5" datatype="html">
         <source>Available</source>
         <target>Available</target>
       </trans-unit>
+      <trans-unit id="396974120fc614fc930a27c8d15a094d82a3a9e4" datatype="html">
+        <source>Vendor</source>
+        <target>Vendor</target>
+      </trans-unit>
       <trans-unit id="6ec98fa3d6504ba1fd03465194b53706c8263c99" datatype="html">
         <source>Model</source>
         <target>Model</target>
       </trans-unit>
+      <trans-unit id="f2d785f5658c96c6a2f505cdd625108bcece84c3" datatype="html">
+        <source>Identify device 
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>
+        </source>
+        <target>Identify device 
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="c97ab45ca09248f8f1ba60328175741657fe39ce" datatype="html">
+        <source>Please enter the duration how long to blink the LED.</source>
+        <target>Please enter the duration how long to blink the LED.</target>
+      </trans-unit>
+      <trans-unit id="87e56ee5057023d7e8b59420b838bad112b043bc" datatype="html">
+        <source>1 minute</source>
+        <target>1 minute</target>
+      </trans-unit>
+      <trans-unit id="affa3b3bf1f36531e5ae65291f8a7cd1b06860ee" datatype="html">
+        <source>2 minutes</source>
+        <target>2 minutes</target>
+      </trans-unit>
+      <trans-unit id="878c6645b7fc26d85c7aee17a9d8c282a938dcf3" datatype="html">
+        <source>5 minutes</source>
+        <target>5 minutes</target>
+      </trans-unit>
+      <trans-unit id="aa0a76140961594b7176ade241e5025a7dbb5dce" datatype="html">
+        <source>10 minutes</source>
+        <target>10 minutes</target>
+      </trans-unit>
+      <trans-unit id="0a7f83a1f27750ef634a1f1f97263fac36113b1f" datatype="html">
+        <source>15 minutes</source>
+        <target>15 minutes</target>
+      </trans-unit>
+      <trans-unit id="699b690d686dbb8e00a1e95b89ba2fffb548da6e" datatype="html">
+        <source>Execute</source>
+        <target>Execute</target>
+      </trans-unit>
+      <trans-unit id="aa975a86dd49979a3ae90b9f3fc5b2c97311d422" datatype="html">
+        <source>Identifying '
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>' started on host '
+          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>'
+        </source>
+        <target>Identifying '
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>' started on host '
+          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="1a6e6ad05508130b7a99ce5b15daf3227c2a930c" datatype="html">
         <source>Updated options for module "
           <x id="INTERPOLATION" equiv-text="{{name}}"/>".
           <x id="INTERPOLATION" equiv-text="{{name}}"/>".
         </target>
       </trans-unit>
+      <trans-unit id="6bd47ff8707aa2e6a94a4a6e2566b86dc7956d5f" datatype="html">
+        <source>Always-On</source>
+        <target>Always-On</target>
+      </trans-unit>
       <trans-unit id="ac6c9212896d39b23811ed2dadab7d07336ec559" datatype="html">
         <source>Enable</source>
         <target>有効化</target>
         <source>Open Sessions</source>
         <target>セッションの開始</target>
       </trans-unit>
+      <trans-unit id="34c6f45591d420b1101dcee53999d1de91c0e400" datatype="html">
+        <source>No available devices</source>
+        <target>No available devices</target>
+      </trans-unit>
+      <trans-unit id="dcfe8807a2a1d0d7074a02afe9b80645bd03b9ab" datatype="html">
+        <source>Please add primary devices first</source>
+        <target>Please add primary devices first</target>
+      </trans-unit>
+      <trans-unit id="05d024719e53f85f7f294b7e21dfd805709a0b06" datatype="html">
+        <source>Add devices by using filters</source>
+        <target>Add devices by using filters</target>
+      </trans-unit>
       <trans-unit id="37e58d1cbdf8212b380efa51422e42821d4f08e6" datatype="html">
         <source>No In</source>
         <target>インなし</target>
         <source>Backfilling of PGs is suspended</source>
         <target>配置グループのバックフィルは中断されています</target>
       </trans-unit>
+      <trans-unit id="df526de2b93c4099a30c200ef551608e39ee5256" datatype="html">
+        <source>No Rebalance</source>
+        <target>No Rebalance</target>
+      </trans-unit>
+      <trans-unit id="c5b70346245f8d52b58e5e7fe222ce82f12429ce" datatype="html">
+        <source>OSD will choose not to backfill unless PG is also degraded</source>
+        <target>OSD will choose not to backfill unless PG is also degraded</target>
+      </trans-unit>
       <trans-unit id="7fbbd036394cfa623add40299757bc87df8eaa7e" datatype="html">
         <source>No Recover</source>
         <target>回復なし</target>
         <source>Updated OSD Flags</source>
         <target>OSDフラグを更新しました</target>
       </trans-unit>
+      <trans-unit id="948758e1412bb2ecdb98e3a4f1cbb6d7458456f2" datatype="html">
+        <source>Encryption</source>
+        <target>Encryption</target>
+      </trans-unit>
+      <trans-unit id="c8b1475105463088593de1022ff6dceb523eae0e" datatype="html">
+        <source>OSD</source>
+        <target>OSD</target>
+      </trans-unit>
       <trans-unit id="688578fcc739d6f0c5fb6c366dbb19d21c6d9e36" datatype="html">
         <source>out</source>
         <target>アウト</target>
         <source>Purge</source>
         <target>消去</target>
       </trans-unit>
-      <trans-unit id="c8b1475105463088593de1022ff6dceb523eae0e" datatype="html">
-        <source>OSD</source>
-        <target>OSD</target>
-      </trans-unit>
       <trans-unit id="4f3cff08c7033b63bbccfe66006b1bcaea48ddd8" datatype="html">
         <source>purged</source>
         <target>消去済み</target>
         <source>destroyed</source>
         <target>破棄済み</target>
       </trans-unit>
+      <trans-unit id="70ef158c584bafe788e319a0bffa11b02ee9abf1" datatype="html">
+        <source>delete</source>
+        <target>削除</target>
+      </trans-unit>
+      <trans-unit id="a5b387f5a15b95e339df10fc23526c659a2b6c6f" datatype="html">
+        <source>deleted</source>
+        <target>deleted</target>
+      </trans-unit>
       <trans-unit id="107614b994f2b01abdc1ca179bf780b0cd933ec4" datatype="html">
         <source>Recovery Priority</source>
         <target>Recovery Priority</target>
         <source>Read bytes</source>
         <target>読み取りバイト数</target>
       </trans-unit>
-      <trans-unit id="ecbe2fdca919499125bc42c2c67cedae8563db1c" datatype="html">
-        <source>Writes bytes</source>
+      <trans-unit id="f15bf7f588f09ca79795b17bc244e8d336f28171" datatype="html">
+        <source>Write bytes</source>
         <target>書き込みバイト数</target>
       </trans-unit>
       <trans-unit id="f3c33322823c846b13f59ba2c8f234405bba99e1" datatype="html">
         <source>Write ops</source>
         <target>書き込み操作数</target>
       </trans-unit>
+      <trans-unit id="b27d1dd31789610130b7cdbf88c4da552cffe936" datatype="html">
+        <source>Edit OSD: 
+          <x id="INTERPOLATION" equiv-text="{{id}}"/>
+        </source>
+        <target>Edit OSD: 
+          <x id="INTERPOLATION" equiv-text="{{id}}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="986f1379580078e77666d10f8ddf4f839c6ca71d" datatype="html">
+        <source>Edit OSD</source>
+        <target>Edit OSD</target>
+      </trans-unit>
+      <trans-unit id="a4b09e2fa39c3e4f1a387f191fbae4eea3ce7bf5" datatype="html">
+        <source>Updated OSD "
+          <x id="INTERPOLATION" equiv-text="{{id}}"/>"
+        </source>
+        <target>Updated OSD "
+          <x id="INTERPOLATION" equiv-text="{{id}}"/>"
+        </target>
+      </trans-unit>
       <trans-unit id="d45455406092f58e6b089cb440b5b7934b801a01" datatype="html">
         <source>Mark OSD 
           <x id="INTERPOLATION" equiv-text="{{markAction}}"/>
         <source>Recovery Sleep</source>
         <target>回復スリープ</target>
       </trans-unit>
-      <trans-unit id="a5c05002b0ac2040f1aede5e727e0ffd06eda819" datatype="html">
-        <source>Custom</source>
-        <target>カスタム</target>
-      </trans-unit>
       <trans-unit id="89553524f4e7db5c437b07dcfdc7b831d56ded1a" datatype="html">
         <source>Updated OSD recovery speed priority "
           <x id="INTERPOLATION" equiv-text="{{value}}"/>"
           <x id="INTERPOLATION_1" equiv-text="{{id}}"/>
         </target>
       </trans-unit>
-      <trans-unit id="9836e830d0219585b36d53be00a31c3d4798a4aa" datatype="html">
-        <source>Smartctl has received an unknown argument (error code
-          <x id="INTERPOLATION" equiv-text="{{smartData.smartctl_error_code}}"/>). You may be using an
-                incompatible version of smartmontools. Version &gt;= 7.0 of
-                smartmontools is required to succesfully retrieve data.
-        </source>
-        <target>Smartctl has received an unknown argument (error code
-          <x id="INTERPOLATION" equiv-text="{{smartData.smartctl_error_code}}"/>). You may be using an
-                incompatible version of smartmontools. Version &gt;= 7.0 of
-                smartmontools is required to succesfully retrieve data.
-        </target>
-      </trans-unit>
-      <trans-unit id="d5fd840374ca1a6f394bcd81f390a6dca27f8224" datatype="html">
-        <source>An error with error code 
-          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.
-        </source>
-        <target>An error with error code 
-          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.
-        </target>
-      </trans-unit>
-      <trans-unit id="a0b59d7139692bb8d8ed786b6eb6e9e70ce743f3" datatype="html">
-        <source>Raw</source>
-        <target>Raw</target>
-      </trans-unit>
-      <trans-unit id="2f3beddc8234b30fb26a7f63ba2f1ea74f2ed6f7" datatype="html">
-        <source>Threshold</source>
-        <target>Threshold</target>
-      </trans-unit>
-      <trans-unit id="4654b5a68af3c8bad29aa14ca85ccea1f3143c6b" datatype="html">
-        <source>When Failed</source>
-        <target>When Failed</target>
-      </trans-unit>
-      <trans-unit id="5b7f56d5be49fb8e8d8f40209d6746f8f72e9177" datatype="html">
-        <source>Worst</source>
-        <target>Worst</target>
-      </trans-unit>
-      <trans-unit id="1edb8e46b0fac57c5feb3d7d3585afc0122d5481" datatype="html">
-        <source>Create silence</source>
-        <target>Create silence</target>
+      <trans-unit id="3bc2d18913479965cb046ec75e2ac3f7b7a77ce5" datatype="html">
+        <source>Create Silence</source>
+        <target>Create Silence</target>
       </trans-unit>
       <trans-unit id="78917e8031aaf913ac3fa63295325ce8879703ce" datatype="html">
         <source>Job</source>
         <source>URL</source>
         <target>URL</target>
       </trans-unit>
+      <trans-unit id="d9f726c70aeba7fa6d3d68bff718abe78b1e50ac" datatype="html">
+        <source>Query</source>
+        <target>Query</target>
+      </trans-unit>
       <trans-unit id="a5cd682a8a33bdc72e093d059429e3cc3a50ec1d" datatype="html">
         <source>silence</source>
         <target>silence</target>
         <source>Created by</source>
         <target>Created by</target>
       </trans-unit>
-      <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc" datatype="html">
-        <source>Updated</source>
-        <target>更新済み</target>
-      </trans-unit>
       <trans-unit id="8d833cceee0ba4c5161b130365e02bc1e129b57e" datatype="html">
         <source>Ends</source>
         <target>Ends</target>
         <source>Silence</source>
         <target>Silence</target>
       </trans-unit>
-      <trans-unit id="f392abfbb997402ce2aebb13e660a8f01dec54db" datatype="html">
-        <source>Service type</source>
-        <target>Service type</target>
+      <trans-unit id="f2ea47d702c7f5e3e5fa751bf9959e21030b72e6" datatype="html">
+        <source>Daemon type</source>
+        <target>Daemon type</target>
       </trans-unit>
-      <trans-unit id="9ffa91b056fb979786627885651e19c8275675cd" datatype="html">
-        <source>Service instance</source>
-        <target>Service instance</target>
+      <trans-unit id="6c131968e6ab730d86443e6fc11c5cc2a76d7bac" datatype="html">
+        <source>Daemon ID</source>
+        <target>Daemon ID</target>
       </trans-unit>
-      <trans-unit id="b5910192a9ac4816638ff6383b03f986ff965796" datatype="html">
-        <source>Container id</source>
-        <target>Container id</target>
+      <trans-unit id="5738f0ca7ddd9594058ce051b1d5d576e2782825" datatype="html">
+        <source>Container ID</source>
+        <target>Container ID</target>
       </trans-unit>
-      <trans-unit id="60ab9cce12a56cdc5ec6a1b699f8c7afecd629d5" datatype="html">
-        <source>Rados config location</source>
-        <target>Rados config location</target>
+      <trans-unit id="78ebcf850cd440c5efc15e6a3a522ae75aeff669" datatype="html">
+        <source>Container Image name</source>
+        <target>Container Image name</target>
       </trans-unit>
-      <trans-unit id="dfa409f831c9168a377bdee02c5ea6aaf9b2bf61" datatype="html">
-        <source>Service URL</source>
-        <target>Service URL</target>
+      <trans-unit id="ea0c7ab9a7bdf646d494abf8c85fbf67d934d079" datatype="html">
+        <source>Container Image ID</source>
+        <target>Container Image ID</target>
       </trans-unit>
       <trans-unit id="bf2468fd965b8a59c135ad549b3a612aa9873abc" datatype="html">
         <source>Status Description</source>
         <target>Status Description</target>
       </trans-unit>
+      <trans-unit id="19867330bdc84096f5a93ab087a1766476c8a074" datatype="html">
+        <source>Last Refreshed</source>
+        <target>Last Refreshed</target>
+      </trans-unit>
+      <trans-unit id="2349ee2027ab6ceb3e4b8834928562075b7e1ac7" datatype="html">
+        <source>Container image name</source>
+        <target>Container image name</target>
+      </trans-unit>
+      <trans-unit id="3c475503fb93338811af6b3d9ccacca1d7334609" datatype="html">
+        <source>Container image ID</source>
+        <target>Container image ID</target>
+      </trans-unit>
+      <trans-unit id="8dd15f6c73c05a8b0bd7b6d416487ab6570b88c8" datatype="html">
+        <source>Running</source>
+        <target>Running</target>
+      </trans-unit>
       <trans-unit id="fb2e1bed329dc5b84197808c778abb9edcbdb335" datatype="html">
         <source>Used</source>
         <target>使用済み</target>
         <source>NFS export</source>
         <target>NFS export</target>
       </trans-unit>
+      <trans-unit id="c56d51748965db5f3966cd1d06a1c9f4b5244931" datatype="html">
+        <source>Crush Rule</source>
+        <target>Crush Rule</target>
+      </trans-unit>
       <trans-unit id="ae128527ec18892f812a62a1fd15dc50a38060c0" datatype="html">
         <source>EC Profile</source>
         <target>EC Profile</target>
         <source>erasure code profile</source>
         <target>イレイジャコードプロファイル</target>
       </trans-unit>
+      <trans-unit id="ae48e19a9a2acaca4b5ea594451bc9b0b01ec8d2" datatype="html">
+        <source>crush rule</source>
+        <target>crush rule</target>
+      </trans-unit>
       <trans-unit id="112d356ad6846959ca4aa5ec9a1f0d9d473b24ec" datatype="html">
         <source>Replica Size</source>
         <target>レプリカサイズ</target>
         <source>Crush Ruleset</source>
         <target>Crushルールセット</target>
       </trans-unit>
-      <trans-unit id="f15bf7f588f09ca79795b17bc244e8d336f28171" datatype="html">
-        <source>Write bytes</source>
-        <target>書き込みバイト数</target>
-      </trans-unit>
       <trans-unit id="bcc365a084b6145b941b371bd4c2b6c3d2c79234" datatype="html">
         <source>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</source>
         <target>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</target>
         <source>Swift Key</source>
         <target>Swift Key</target>
       </trans-unit>
+      <trans-unit id="6462d8f12b427c29363f00b12f20f566be24937c" datatype="html">
+        <source>Device ID</source>
+        <target>Device ID</target>
+      </trans-unit>
+      <trans-unit id="82f12bf23db4bb82db89877bebe93954bc1c8fb0" datatype="html">
+        <source>State of Health</source>
+        <target>State of Health</target>
+      </trans-unit>
+      <trans-unit id="7bd34bd120146afef0e0d8fa168d9bdabd594b6a" datatype="html">
+        <source>Good</source>
+        <target>Good</target>
+      </trans-unit>
+      <trans-unit id="31c59dce114ec0a9d02552ef7b81920b3de36793" datatype="html">
+        <source>Bad</source>
+        <target>Bad</target>
+      </trans-unit>
+      <trans-unit id="2862af5284f66d4b06bdcf77a5519141723b6989" datatype="html">
+        <source>Stale</source>
+        <target>Stale</target>
+      </trans-unit>
+      <trans-unit id="8d8e819b52984a4fbdec75a99eb28d1ae4323bbc" datatype="html">
+        <source>Life Expectancy</source>
+        <target>Life Expectancy</target>
+      </trans-unit>
+      <trans-unit id="72d9b15be18ea063e78c4e855b9e8c0af95593ef" datatype="html">
+        <source>Prediction Creation Date</source>
+        <target>Prediction Creation Date</target>
+      </trans-unit>
+      <trans-unit id="a6b4ef85e5ff8bd192751c7bbebc54c46118d6d4" datatype="html">
+        <source>Device Name</source>
+        <target>Device Name</target>
+      </trans-unit>
+      <trans-unit id="d5fd840374ca1a6f394bcd81f390a6dca27f8224" datatype="html">
+        <source>An error with error code 
+          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.
+        </source>
+        <target>An error with error code 
+          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.
+        </target>
+      </trans-unit>
+      <trans-unit id="a0b59d7139692bb8d8ed786b6eb6e9e70ce743f3" datatype="html">
+        <source>Raw</source>
+        <target>Raw</target>
+      </trans-unit>
+      <trans-unit id="2f3beddc8234b30fb26a7f63ba2f1ea74f2ed6f7" datatype="html">
+        <source>Threshold</source>
+        <target>Threshold</target>
+      </trans-unit>
+      <trans-unit id="4654b5a68af3c8bad29aa14ca85ccea1f3143c6b" datatype="html">
+        <source>When Failed</source>
+        <target>When Failed</target>
+      </trans-unit>
+      <trans-unit id="5b7f56d5be49fb8e8d8f40209d6746f8f72e9177" datatype="html">
+        <source>Worst</source>
+        <target>Worst</target>
+      </trans-unit>
       <trans-unit id="1481b8488e10dbc437accce89d2ae35a0106e8ba" datatype="html">
         <source>Scope</source>
         <target>範囲</target>
           <x id="INTERPOLATION" equiv-text="{{role_name}}"/>'
         </target>
       </trans-unit>
+      <trans-unit id="bd15b8d5c0fa160161728eefbbb585710414d471" datatype="html">
+        <source>New name</source>
+        <target>New name</target>
+      </trans-unit>
+      <trans-unit id="6f126277f3dc22a3ab3609c4c198386c8744e11a" datatype="html">
+        <source>Clone Role</source>
+        <target>Clone Role</target>
+      </trans-unit>
+      <trans-unit id="d19d8320479854bc52877cdf0dc5ecfe34a36ec7" datatype="html">
+        <source>Cloned role '
+          <x id="INTERPOLATION" equiv-text="{{dst_name}}"/>' from '
+          <x id="INTERPOLATION_1" equiv-text="{{src_name}}"/>'
+        </source>
+        <target>Cloned role '
+          <x id="INTERPOLATION" equiv-text="{{dst_name}}"/>' from '
+          <x id="INTERPOLATION_1" equiv-text="{{src_name}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="2e35d60a14ce0b470e8b54602864a867f7fcef40" datatype="html">
         <source>There are no roles.</source>
         <target>There are no roles.</target>
         <source>Updated user password"</source>
         <target>Updated user password"</target>
       </trans-unit>
+      <trans-unit id="c4e596a44ffc4718c1602600d6e4f029190eb031" datatype="html">
+        <source>The name of the node under which data should be placed.</source>
+        <target>The name of the node under which data should be placed.</target>
+      </trans-unit>
+      <trans-unit id="f24772ba1091155f8d7025332ca8456a204d1e28" datatype="html">
+        <source>The type of CRUSH nodes across which we should separate replicas.</source>
+        <target>The type of CRUSH nodes across which we should separate replicas.</target>
+      </trans-unit>
+      <trans-unit id="a3896042af461a80091c3f7a5fe3fff5ac40a3a0" datatype="html">
+        <source>The device class data should be placed on.</source>
+        <target>The device class data should be placed on.</target>
+      </trans-unit>
       <trans-unit id="1d7fbcc3d5efc946ffbcf86fed04c4e20dda20fb" datatype="html">
         <source>Each object is split in data-chunks parts, each stored on a different OSD.</source>
         <target>各オブジェクトは複数のデータチャンクパートに分割されており、それぞれのパートは異なるOSDに保管されています。</target>
@@ -3874,6 +4690,10 @@ lrcは、4つのOSDごとに1つの追加パリティチャンクを作成しま
         <source>Success</source>
         <target>Success</target>
       </trans-unit>
+      <trans-unit id="61fd1cffcb763cbfd5829071723cf9b647174bd9" datatype="html">
+        <source>An error occurred.</source>
+        <target>An error occurred.</target>
+      </trans-unit>
       <trans-unit id="e6ca3c0efaf51e6d45a7f92f58bac37140c3fda4" datatype="html">
         <source>Last 5 minutes</source>
         <target>直前の5分間</target>
@@ -4018,14 +4838,18 @@ lrcは、4つのOSDごとに1つの追加パリティチャンクを作成しま
         <source>There are no items available.</source>
         <target>使用可能なアイテムはありません。</target>
       </trans-unit>
-      <trans-unit id="f6755cff4957d5c3c89bafce5651f1b6fa2b1fd9" datatype="html">
-        <source>Add</source>
-        <target>追加</target>
+      <trans-unit id="55dd9f44e64851bca3b7bfc9283a5ff36f030228" datatype="html">
+        <source>Set</source>
+        <target>Set</target>
       </trans-unit>
       <trans-unit id="019d4bd6a5690f0cfa0ecf346a4e6bf7f0d8debb" datatype="html">
         <source>Remove</source>
         <target>Remove</target>
       </trans-unit>
+      <trans-unit id="e168fe6c468b3ad632731395ef89860274242844" datatype="html">
+        <source>Unset</source>
+        <target>Unset</target>
+      </trans-unit>
       <trans-unit id="54a4a3132b693575728a45a5f3154ad4c9af404b" datatype="html">
         <source>Clone</source>
         <target>複製</target>
@@ -4210,6 +5034,38 @@ lrcは、4つのOSDごとに1つの追加パリティチャンクを作成しま
         <source>No</source>
         <target>いいえ</target>
       </trans-unit>
+      <trans-unit id="baf918eed9d4050cdad2acebc0f27b6eaf8e3fcd" datatype="html">
+        <source>Required rules for passwords:</source>
+        <target>Required rules for passwords:</target>
+      </trans-unit>
+      <trans-unit id="40f61909e1f017c4652e64b055089beef19cf871" datatype="html">
+        <source>Must contain at least 
+          <x id="INTERPOLATION" equiv-text="{{length}}"/> characters
+        </source>
+        <target>Must contain at least 
+          <x id="INTERPOLATION" equiv-text="{{length}}"/> characters
+        </target>
+      </trans-unit>
+      <trans-unit id="f4f5dbb3a05b5f38dab47ef38dad88a4574a765a" datatype="html">
+        <source>Must not be the same as the previous one</source>
+        <target>Must not be the same as the previous one</target>
+      </trans-unit>
+      <trans-unit id="607370e07b50087c196a5fcea9184e3d693226b2" datatype="html">
+        <source>Cannot contain the username</source>
+        <target>Cannot contain the username</target>
+      </trans-unit>
+      <trans-unit id="e6e355eab2596251aaa42623b41e6026d5c03e3b" datatype="html">
+        <source>Cannot contain any configured keyword</source>
+        <target>Cannot contain any configured keyword</target>
+      </trans-unit>
+      <trans-unit id="394bcd6d5e4da75b720c4d28f94f2aef7bb38355" datatype="html">
+        <source>Cannot contain any repetitive characters e.g. "aaa"</source>
+        <target>Cannot contain any repetitive characters e.g. "aaa"</target>
+      </trans-unit>
+      <trans-unit id="030e61e0bcf2536fb047645db6182d43e9fca9e9" datatype="html">
+        <source>Cannot contain any sequential characters e.g. "abc"</source>
+        <target>Cannot contain any sequential characters e.g. "abc"</target>
+      </trans-unit>
       <trans-unit id="99fa0b67376d40142bd4d3ace3344abf4f98b6a5" datatype="html">
         <source>Your matcher seems to match no currently defined rule or active alert.</source>
         <target>Your matcher seems to match no currently defined rule or active alert.</target>
@@ -4398,10 +5254,6 @@ lrcは、4つのOSDごとに1つの追加パリティチャンクを作成しま
         <source>Deleting</source>
         <target>削除中</target>
       </trans-unit>
-      <trans-unit id="70ef158c584bafe788e319a0bffa11b02ee9abf1" datatype="html">
-        <source>delete</source>
-        <target>削除</target>
-      </trans-unit>
       <trans-unit id="d07a282afc7fbdb39cea6e1c9b544882a7260a86" datatype="html">
         <source>Adding</source>
         <target>Adding</target>
@@ -4418,6 +5270,18 @@ lrcは、4つのOSDごとに1つの追加パリティチャンクを作成しま
         <source>remove</source>
         <target>remove</target>
       </trans-unit>
+      <trans-unit id="0e21237afdc84ec360c374fa678d9b1cfaa334f9" datatype="html">
+        <source>Importing</source>
+        <target>Importing</target>
+      </trans-unit>
+      <trans-unit id="c6b4128c006f4cc0564137e1a1482b5c432aa347" datatype="html">
+        <source>import</source>
+        <target>import</target>
+      </trans-unit>
+      <trans-unit id="3b9f4138abbca0fd66db1f7332f4b54e2a6d916d" datatype="html">
+        <source>Imported</source>
+        <target>Imported</target>
+      </trans-unit>
       <trans-unit id="3f757cfc3749ebb5d4462017cb60138ca082f15f" datatype="html">
         <source>RBD '
           <x id="INTERPOLATION" equiv-text="{{id}}"/>'
@@ -4434,6 +5298,14 @@ lrcは、4つのOSDごとに1つの追加パリティチャンクを作成しま
           <x id="INTERPOLATION" equiv-text="{{id}}"/>'
         </target>
       </trans-unit>
+      <trans-unit id="2bf18ddf3785f7afb4f01dcf63d3d8c40f4bfba5" datatype="html">
+        <source>mirroring site name</source>
+        <target>mirroring site name</target>
+      </trans-unit>
+      <trans-unit id="167b73bb24b4695614ce0fc567b7a45080457a44" datatype="html">
+        <source>bootstrap token</source>
+        <target>bootstrap token</target>
+      </trans-unit>
       <trans-unit id="4fb54a0291f49583c317d4a3690239141b5a8f68" datatype="html">
         <source>mirror mode for pool '
           <x id="INTERPOLATION" equiv-text="{{id}}"/>'
@@ -4454,6 +5326,14 @@ lrcは、4つのOSDごとに1つの追加パリティチャンクを作成しま
         <source>all dashboards</source>
         <target>all dashboards</target>
       </trans-unit>
+      <trans-unit id="6c19652df9249c60827044ed6274933cab180c63" datatype="html">
+        <source>OSDs (DriveGroups: 
+          <x id="INTERPOLATION" equiv-text="{{tracking_id}}"/>)
+        </source>
+        <target>OSDs (DriveGroups: 
+          <x id="INTERPOLATION" equiv-text="{{tracking_id}}"/>)
+        </target>
+      </trans-unit>
       <trans-unit id="1b559dbd9cc9664fd788c2da9a10d3abafe066cb" datatype="html">
         <source>Name is already used by 
           <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.
@@ -4478,6 +5358,14 @@ lrcは、4つのOSDごとに1つの追加パリティチャンクを作成しま
           <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.
         </target>
       </trans-unit>
+      <trans-unit id="460f07780389d24c6a540c007c7367a56afad585" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> is busy.
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> is busy.
+        </target>
+      </trans-unit>
       <trans-unit id="1ff7676ad1e991102224540a32dd44ad1ab88aa8" datatype="html">
         <source>
           <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.
@@ -4632,6 +5520,28 @@ lrcは、4つのOSDごとに1つの追加パリティチャンクを作成しま
         <source>Cannot disable mirroring because it contains a peer.</source>
         <target>ピアを含んでいるためミラーリングを無効化できません。</target>
       </trans-unit>
+      <trans-unit id="5c4525a1b76ca54d1aadeaecfdb83aedc2eec6e0" datatype="html">
+        <source>Identifying</source>
+        <target>Identifying</target>
+      </trans-unit>
+      <trans-unit id="ffd067e54a061d1f27cb35f0cf67ef7f29e19111" datatype="html">
+        <source>identify</source>
+        <target>identify</target>
+      </trans-unit>
+      <trans-unit id="7c921f339274688c22ba1acac7af6b097ad3599d" datatype="html">
+        <source>Identified</source>
+        <target>Identified</target>
+      </trans-unit>
+      <trans-unit id="3307492c27c2150cd26c514030444e11fd61089f" datatype="html">
+        <source>device '
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>' on host '
+          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>'
+        </source>
+        <target>device '
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>' on host '
+          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="f123ae1fc3b000e5d08e766dd78bff162afe709d" datatype="html">
         <source>host '
           <x id="INTERPOLATION" equiv-text="{{hostname}}"/>'
@@ -4640,6 +5550,14 @@ lrcは、4つのOSDごとに1つの追加パリティチャンクを作成しま
           <x id="INTERPOLATION" equiv-text="{{hostname}}"/>'
         </target>
       </trans-unit>
+      <trans-unit id="c1af76189dcefd094da2bc1a4a63968f3bab5789" datatype="html">
+        <source>OSD '
+          <x id="INTERPOLATION" equiv-text="{{svc_id}}"/>'
+        </source>
+        <target>OSD '
+          <x id="INTERPOLATION" equiv-text="{{svc_id}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="dfe70001dc590a9e12512cbb206aa29fb36fd00b" datatype="html">
         <source>pool '
           <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>'
@@ -4656,6 +5574,14 @@ lrcは、4つのOSDごとに1つの追加パリティチャンクを作成しま
           <x id="INTERPOLATION" equiv-text="{{name}}"/>'
         </target>
       </trans-unit>
+      <trans-unit id="79052d6c47258dc19ada12dbb2563761102b6f1d" datatype="html">
+        <source>crush rule '
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>'
+        </source>
+        <target>crush rule '
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="369462e5e018360e0600bb570866201ad5c3c8a8" datatype="html">
         <source>target '
           <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>'
@@ -4672,50 +5598,6 @@ lrcは、4つのOSDごとに1つの追加パリティチャンクを作成しま
           <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>
         </target>
       </trans-unit>
-      <trans-unit id="54bf6542e39412f83ec883266f443e31b304c937" datatype="html">
-        <source>Required rules for password complexity:
-    - must contain at least 8 characters
-    - cannot contain username
-    - cannot contain any keyword used in Ceph
-    - cannot contain any repetitive characters e.g. "aaa"
-    - cannot contain any sequencial characters e.g. "abc"
-    - must consist of characters from the following groups:
-      * alphabetic a-z, A-Z
-      * numbers 0-9
-      * special chars: !"#$%&amp; '()*+,-./:;&lt;=&gt;?@[\]^_`
-          <x id="INTERPOLATION" equiv-text="{{|}}"/>~
-      * any other characters (signs)
-        </source>
-        <target>Required rules for password complexity:
-    - must contain at least 8 characters
-    - cannot contain username
-    - cannot contain any keyword used in Ceph
-    - cannot contain any repetitive characters e.g. "aaa"
-    - cannot contain any sequencial characters e.g. "abc"
-    - must consist of characters from the following groups:
-      * alphabetic a-z, A-Z
-      * numbers 0-9
-      * special chars: !"#$%&amp; '()*+,-./:;&lt;=&gt;?@[\]^_`
-          <x id="INTERPOLATION" equiv-text="{{|}}"/>~
-      * any other characters (signs)
-        </target>
-      </trans-unit>
-      <trans-unit id="ba575e9364b43dc870e332265c5182bb357b7a49" datatype="html">
-        <source>Weak</source>
-        <target>Weak</target>
-      </trans-unit>
-      <trans-unit id="7e6c975ebea8b5f8b120905ca7acf9f8edf59d8e" datatype="html">
-        <source>OK</source>
-        <target>OK</target>
-      </trans-unit>
-      <trans-unit id="3f7349017a01eed18c3daf2b7295ca96ef442eb6" datatype="html">
-        <source>Strong</source>
-        <target>Strong</target>
-      </trans-unit>
-      <trans-unit id="a1e3aecc2022cb0ebed8575a24d0e29d2de815c6" datatype="html">
-        <source>Very strong</source>
-        <target>Very strong</target>
-      </trans-unit>
     </body>
   </file>
 </xliff>
\ No newline at end of file
index 6dd94a034d1943d6579223e87bd107a21bb6e3b4..8041a2a919c0fb4c982484f69c250a3af983841b 100644 (file)
         <source>Logs</source>
         <target>로그들</target>
       </trans-unit>
-      <trans-unit id="9fe218829514884cdd0ca2300573a4e0428c324f" datatype="html">
-        <source>Alerts</source>
-        <target>경고들</target>
-      </trans-unit>
-      <trans-unit id="aa0c44aa1e5727061baa91e954f77e2f5f9a37c9" datatype="html">
-        <source>Silences</source>
-        <target>Silences</target>
+      <trans-unit id="17fc3efe5f9fa4e0289c900cb6202265215a1a27" datatype="html">
+        <source>Monitoring</source>
+        <target>Monitoring</target>
       </trans-unit>
       <trans-unit id="92899fa68e8ca108912163ff58edc8540e453787" datatype="html">
         <source>Pools</source>
         <source>Back</source>
         <target>뒤로</target>
       </trans-unit>
+      <trans-unit id="9ce641535be1ffa106c87724ba0637facaef5f61" datatype="html">
+        <source>Your password will expire in 
+          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>less than 1
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day. Click
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.
+        </source>
+        <target>Your password will expire in 
+          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>less than 1
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day. Click
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.
+        </target>
+      </trans-unit>
+      <trans-unit id="c2f34088c155e40ffb23770a465a65868ce772b2" datatype="html">
+        <source>Your password will expire in 
+          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
+          <x id="INTERPOLATION" equiv-text="{{ expirationDays }}"/>
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day(s). Click
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.
+        </source>
+        <target>Your password will expire in 
+          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
+          <x id="INTERPOLATION" equiv-text="{{ expirationDays }}"/>
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day(s). Click
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.
+        </target>
+      </trans-unit>
+      <trans-unit id="9b516f972c744779257310b73f6e97438b726707" datatype="html">
+        <source>Orchestrator is not available. Please consult the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to
+  configure and enable the functionality.
+        </source>
+        <target>Orchestrator is not available. Please consult the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to
+  configure and enable the functionality.
+        </target>
+      </trans-unit>
       <trans-unit id="012741ee52b3c050e4a977c37cc2334f7974f141" datatype="html">
         <source>Failed to load data.</source>
         <target>데이타 로딩 실폐</target>
       </trans-unit>
+      <trans-unit id="1e5e23363e949f7dcbaf034bdb141a561132a10e" datatype="html">
+        <source>Clear filters</source>
+        <target>Clear filters</target>
+      </trans-unit>
       <trans-unit id="80cc9a12d4bf6fe454ed94b379eeaf915f920bb7" datatype="html">
         <source>selected</source>
         <target>선택된</target>
         <source>Values</source>
         <target>값들</target>
       </trans-unit>
+      <trans-unit id="5894f7158499fdb89527af50c9f1cf7d4c95cad6" datatype="html">
+        <source>-- Default --</source>
+        <target>-- Default --</target>
+      </trans-unit>
+      <trans-unit id="514f6e12d035a6d9b00de6b3e55c18b73488da07" datatype="html">
+        <source>true</source>
+        <target>true</target>
+      </trans-unit>
+      <trans-unit id="774f5e6a183dea08393789b6f72e86afad729419" datatype="html">
+        <source>false</source>
+        <target>false</target>
+      </trans-unit>
       <trans-unit id="82029b6db704c56a2aa3e82ac555b8655356b077" datatype="html">
         <source>The entered value is too high! It must not be greater than 
           <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.
         <source>Cancel</source>
         <target>취소</target>
       </trans-unit>
+      <trans-unit id="55a2f26b2e87886d9b8015a887e38e51ab2a866a" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>
+          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>
+          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8" datatype="html">
+        <source>Close</source>
+        <target>닫기</target>
+      </trans-unit>
       <trans-unit id="40661476cb24c89d8b06614998e31d5fbe84eeb6" datatype="html">
         <source>Hosts List</source>
         <target>호스트 목록들</target>
         <source>Overall Performance</source>
         <target>통합 성능치</target>
       </trans-unit>
-      <trans-unit id="6bc15dc1a621b6ff7378db7fd3ac10b2a2627c77" datatype="html">
-        <source>Please consult the
-          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
-          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to
-  configure and enable the orchestrator functionality.
-        </source>
-        <target>Please consult the
-          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
-          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to
-  configure and enable the orchestrator functionality.
-        </target>
-      </trans-unit>
       <trans-unit id="3e24569eca61d598c8b01defbbbb1fa8bd5222bc" datatype="html">
         <source>Devices</source>
         <target>Devices</target>
         <source>Not In Quorum</source>
         <target>정족수 미포함</target>
       </trans-unit>
+      <trans-unit id="4383e9662ea19839c7499b2128d43a195e564317" datatype="html">
+        <source>OSD creation preview</source>
+        <target>OSD creation preview</target>
+      </trans-unit>
+      <trans-unit id="366225c51e0b00bcb1c55795a0dc5e81c455f84e" datatype="html">
+        <source>DriveGroups</source>
+        <target>DriveGroups</target>
+      </trans-unit>
+      <trans-unit id="8edc89137d0d8c5667a2f03230beafae45e58429" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{ deviceType }}"/> devices
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{ deviceType }}"/> devices
+        </target>
+      </trans-unit>
+      <trans-unit id="eba28e1805b18f7c8ae2e4bc15dcf063b10b3822" datatype="html">
+        <source>At least one of these filters must be applied in order to proceed:</source>
+        <target>At least one of these filters must be applied in order to proceed:</target>
+      </trans-unit>
+      <trans-unit id="93389aa2fe2bea50bf89554ee51b28f87ee2fb50" datatype="html">
+        <source>Number of devices: 
+          <x id="INTERPOLATION" equiv-text="{{ filteredDevices.length }}"/>. Raw capacity:
+          <x id="INTERPOLATION_1" equiv-text="{{ capacity | dimlessBinary }}"/>.
+        </source>
+        <target>Number of devices: 
+          <x id="INTERPOLATION" equiv-text="{{ filteredDevices.length }}"/>. Raw capacity:
+          <x id="INTERPOLATION_1" equiv-text="{{ capacity | dimlessBinary }}"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="ccb4f84edc0b4e76415bb3f9b73d725b06683af3" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{ name }}"/> devices
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{ name }}"/> devices
+        </target>
+      </trans-unit>
+      <trans-unit id="60cb3d01e5ddf266ecb4271007a1c3d0f3efdc22" datatype="html">
+        <source>The primary storage devices. These devices contain all OSD data.</source>
+        <target>The primary storage devices. These devices contain all OSD data.</target>
+      </trans-unit>
+      <trans-unit id="b432e04886d0d1fd84f740477383051f85addcf2" datatype="html">
+        <source>Write-Ahead-Log devices. These devices are used for BlueStore’s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device.</source>
+        <target>Write-Ahead-Log devices. These devices are used for BlueStore’s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device.</target>
+      </trans-unit>
+      <trans-unit id="b87e181ab9e8393aa5ed759dd3d53836e32c8ffe" datatype="html">
+        <source>DB devices can be used for storing BlueStore’s internal metadata.  It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD).</source>
+        <target>DB devices can be used for storing BlueStore’s internal metadata.  It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD).</target>
+      </trans-unit>
+      <trans-unit id="f6755cff4957d5c3c89bafce5651f1b6fa2b1fd9" datatype="html">
+        <source>Add</source>
+        <target>추가</target>
+      </trans-unit>
+      <trans-unit id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46" datatype="html">
+        <source>Clear</source>
+        <target>Clear</target>
+      </trans-unit>
+      <trans-unit id="7e0fd3c7af0630f93befa6234a693a32a61084e0" datatype="html">
+        <source>Raw capacity: 
+          <x id="INTERPOLATION" equiv-text="{{ capacity | dimlessBinary }}"/>
+        </source>
+        <target>Raw capacity: 
+          <x id="INTERPOLATION" equiv-text="{{ capacity | dimlessBinary }}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="43ecf6bee2aebc07b0aad6dc1fe13e38d14687fa" datatype="html">
+        <source>Shared devices</source>
+        <target>Shared devices</target>
+      </trans-unit>
+      <trans-unit id="7a1c376f6f1b37de4c318ff2106255ba6c0f5b0b" datatype="html">
+        <source>WAL slots</source>
+        <target>WAL slots</target>
+      </trans-unit>
+      <trans-unit id="73811a6f37b63e6b0e491e221bfa21e9dea8a87a" datatype="html">
+        <source>How many OSDs per WAL device.</source>
+        <target>How many OSDs per WAL device.</target>
+      </trans-unit>
+      <trans-unit id="0c67a7ac4762ef1cc855056c6b4daab93e53a0a5" datatype="html">
+        <source>Specify 0 to let Orchestrator backend decide it.</source>
+        <target>Specify 0 to let Orchestrator backend decide it.</target>
+      </trans-unit>
+      <trans-unit id="7bda9362e06e6c67341b4a8425b0d29d6b84464b" datatype="html">
+        <source>Value should be greater than or equal to 0</source>
+        <target>Value should be greater than or equal to 0</target>
+      </trans-unit>
+      <trans-unit id="324c2b10152b9dd908222bb0b71f61beb60a30c5" datatype="html">
+        <source>DB slots</source>
+        <target>DB slots</target>
+      </trans-unit>
+      <trans-unit id="c23cf12ef9c76f37fc7a4b7ae3e00fb0f68b6e26" datatype="html">
+        <source>How many OSDs per DB device.</source>
+        <target>How many OSDs per DB device.</target>
+      </trans-unit>
+      <trans-unit id="6cdb1fea93d77c07950c0c76c6e0ad79ebbef084" datatype="html">
+        <source>Features</source>
+        <target>특징들</target>
+      </trans-unit>
+      <trans-unit id="3e2a583f531f7dd9f089f68a6968e444c372c3e8" datatype="html">
+        <source>Preview</source>
+        <target>Preview</target>
+      </trans-unit>
       <trans-unit id="5ef50ba2514414f799d4c8fc36067a251904ba81" datatype="html">
         <source>Cluster-wide OSD Flags</source>
         <target>클러스터-수준의 OSD 플레그들</target>
         <source>{VAR_SELECT, select, 1 {Deep } }</source>
         <target>{VAR_SELECT, 선택, 1 {깊이 } }</target>
       </trans-unit>
-      <trans-unit id="2613498e8e5853c26a1cc62ae8dc673d1fdf0e2a" datatype="html">
+      <trans-unit id="fd0a4b6eed32e3488eccdc9c13f9841f08cc275e" datatype="html">
         <source>You are about to apply a 
           <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to
           the OSD(s): 
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
-          <x id="INTERPOLATION" equiv-text="{{ selected | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ selected | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.
         </source>
         <target>You are about to apply a 
           <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to
           the OSD(s): 
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
-          <x id="INTERPOLATION" equiv-text="{{ selected | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ selected | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.
         </target>
       </trans-unit>
         <source>OSDs List</source>
         <target>OSD 목록들</target>
       </trans-unit>
-      <trans-unit id="c402e6ec1c6792ede81f56c28eee8955860391c8" datatype="html">
+      <trans-unit id="d5707a32ba9c1138e6423498fb0b24e970ebd19f" datatype="html">
         <source>
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) 
-          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
           <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>
         </source>
         <target>
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) 
-          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
           <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.
         </target>
       </trans-unit>
-      <trans-unit id="d2797d01ba86f5df03d875803e49e648a4027869" datatype="html">
+      <trans-unit id="d08c1e4f17dffc0ed1ac2e2e2875cb8b569eeb35" datatype="html">
         <source>The 
-          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to destroy!
+          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to be 
+          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>! 
+          <x id="INTERPOLATION_1" equiv-text="{{ message }}"/>
         </source>
         <target>The 
-          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to destroy!
+          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to be 
+          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>! 
+          <x id="INTERPOLATION_1" equiv-text="{{ message }}"/>
         </target>
       </trans-unit>
       <trans-unit id="e776996dac651ef3819bfa767ccf2a0613759f47" datatype="html">
         <source>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</source>
         <target>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</target>
       </trans-unit>
-      <trans-unit id="1e2c50ed3c3934ef068976dc7f38513cec29d515" datatype="html">
+      <trans-unit id="5cd6a031937412c42e5efa1e6959cb72ac08c720" datatype="html">
         <source>
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD 
-          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
           <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>
         </source>
         <target>
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD 
-          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
           <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.
         </target>
       </trans-unit>
-      <trans-unit id="4f8b2bb476981727ab34ed40fde1218361f92c45" datatype="html">
-        <source>Details</source>
-        <target>세부설명</target>
+      <trans-unit id="3eda19b44809820fffd5d3753bafb7243116f4b0" datatype="html">
+        <source>To see all active Prometheus alerts, please
+      provide the URL to the API of Prometheus' Alertmanager as described in the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.
+        </source>
+        <target>To see all active Prometheus alerts, please
+      provide the URL to the API of Prometheus' Alertmanager as described in the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="880ad4df5a2051a437321443d69c9a866699e5ad" datatype="html">
+        <source>Active Alerts</source>
+        <target>Active Alerts</target>
+      </trans-unit>
+      <trans-unit id="8e5e0e09a11990d343926ed693574213d703c38d" datatype="html">
+        <source>All Alerts</source>
+        <target>All Alerts</target>
+      </trans-unit>
+      <trans-unit id="526938c2b7945cb0d68328c24bd77730230cd455" datatype="html">
+        <source>To enable Silences, please provide the URL to the API of the Prometheus' Alertmanager as
+      described in the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.
+        </source>
+        <target>To enable Silences, please provide the URL to the API of the Prometheus' Alertmanager as
+      described in the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="aa0c44aa1e5727061baa91e954f77e2f5f9a37c9" datatype="html">
+        <source>Silences</source>
+        <target>Silences</target>
       </trans-unit>
       <trans-unit id="8501055865d7031b5521a0c5467532648009a61d" datatype="html">
         <source>Matcher</source>
         <source>{VAR_SELECT, select, 1 {Update} other {Add} }</source>
         <target>{VAR_SELECT, select, 1 {Update} other {Add} }</target>
       </trans-unit>
-      <trans-unit id="f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8" datatype="html">
-        <source>Close</source>
-        <target>닫기</target>
-      </trans-unit>
       <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c" datatype="html">
         <source>Edit</source>
         <target>편집</target>
         <source>End time</source>
         <target>End time</target>
       </trans-unit>
-      <trans-unit id="dbe739ec8c99a0132e326067ffec9c0ee06b2655" datatype="html">
-        <source>Matchers
-          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>*
-          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>
-        </source>
-        <target>Matchers
-          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>*
-          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>
-        </target>
+      <trans-unit id="992123459137d45c15df5548bc9682aad835c04b" datatype="html">
+        <source>Matchers</source>
+        <target>Matchers</target>
       </trans-unit>
       <trans-unit id="3e023166c55833d5a13f4143e3dbe372befe1b4e" datatype="html">
         <source>A silence requires at least one matcher</source>
         <source>CephFS</source>
         <target>CephFS</target>
       </trans-unit>
+      <trans-unit id="0eb15f32b2b92d7f3103ef3ff032621888a8dc32" datatype="html">
+        <source>Old password</source>
+        <target>Old password</target>
+      </trans-unit>
+      <trans-unit id="1cf42e491adc166a337a960eb84d03c0c3f677c8" datatype="html">
+        <source>The old and new passwords must be different.</source>
+        <target>The old and new passwords must be different.</target>
+      </trans-unit>
+      <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229" datatype="html">
+        <source>New password</source>
+        <target>New password</target>
+      </trans-unit>
+      <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b" datatype="html">
+        <source>Confirm new password</source>
+        <target>Confirm new password</target>
+      </trans-unit>
+      <trans-unit id="90163a3d3746819aef42e829f4446331232f3b66" datatype="html">
+        <source>Password confirmation doesn't match the new password.</source>
+        <target>Password confirmation doesn't match the new password.</target>
+      </trans-unit>
+      <trans-unit id="d06ae77f9ec46a4cdd49e7e76c73a411aaf2ee38" datatype="html">
+        <source>Please set a new password.</source>
+        <target>Please set a new password.</target>
+      </trans-unit>
+      <trans-unit id="8b5b3566e88438f51bd5f6caf6c090ed565ba5ed" datatype="html">
+        <source>You will be redirected to the login page afterwards.</source>
+        <target>You will be redirected to the login page afterwards.</target>
+      </trans-unit>
       <trans-unit id="449dca3d3a93ead418b0541ea81b0dda7e6483c2" datatype="html">
         <source>Welcome to Ceph!</source>
         <target>Ceph 사용을 환영합니다.</target>
           <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You'll be logged out from the Identity Provider when you retry logging in.
         </target>
       </trans-unit>
-      <trans-unit id="0eb15f32b2b92d7f3103ef3ff032621888a8dc32" datatype="html">
-        <source>Old password</source>
-        <target>Old password</target>
-      </trans-unit>
-      <trans-unit id="1cf42e491adc166a337a960eb84d03c0c3f677c8" datatype="html">
-        <source>The old and new passwords must be different.</source>
-        <target>The old and new passwords must be different.</target>
-      </trans-unit>
-      <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229" datatype="html">
-        <source>New password</source>
-        <target>New password</target>
-      </trans-unit>
-      <trans-unit id="595ebc9279497f6dc733777e2816bee936901388" datatype="html">
-        <source>Too weak</source>
-        <target>Too weak</target>
-      </trans-unit>
-      <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b" datatype="html">
-        <source>Confirm new password</source>
-        <target>Confirm new password</target>
-      </trans-unit>
-      <trans-unit id="90163a3d3746819aef42e829f4446331232f3b66" datatype="html">
-        <source>Password confirmation doesn't match the new password.</source>
-        <target>Password confirmation doesn't match the new password.</target>
-      </trans-unit>
       <trans-unit id="471e78026c258073ba687478dc54c35d9041ea42" datatype="html">
         <source>Forbidden</source>
         <target>금지됨</target>
         <source>Sorry, you are not allowed to see what you were looking for.</source>
         <target>미안합니다. 당신이 요청할 것을 열람하는 것이 허락되지 않습니다.</target>
       </trans-unit>
-      <trans-unit id="e3c028c58f92453d46f09b5adf95b2f013ee0300" datatype="html">
-        <source>Sorry, we could not find what you were looking for</source>
-        <target>미안합니다. 당신이 요청할 것을 찾을 수 없습니다.</target>
+      <trans-unit id="2240b985f17293d84cc8532fe86994aa5f63667c" datatype="html">
+        <source>Sorry, we could not find what you were looking for.</source>
+        <target>Sorry, we could not find what you were looking for.</target>
+      </trans-unit>
+      <trans-unit id="ac54c18c1b520e948095c83a3a1025f02ce6dcc6" datatype="html">
+        <source>Neither hostname nor OSD ID given</source>
+        <target>Neither hostname nor OSD ID given</target>
+      </trans-unit>
+      <trans-unit id="4f635b3cb0600409a2ad44a5bd1863c699e6a01c" datatype="html">
+        <source>Failed to retrieve SMART data.</source>
+        <target>Failed to retrieve SMART data.</target>
+      </trans-unit>
+      <trans-unit id="d82a9af5b05e7cd17640f196f163771685ff8df6" datatype="html">
+        <source>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</source>
+        <target>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</target>
+      </trans-unit>
+      <trans-unit id="04f8a3c7e8ac610e6581960162cc15f55a16696a" datatype="html">
+        <source>No SMART data available.</source>
+        <target>No SMART data available.</target>
+      </trans-unit>
+      <trans-unit id="3a03d3c2e459f8f8fa7202c0fce465d6165f9e2b" datatype="html">
+        <source>passed</source>
+        <target>passed</target>
+      </trans-unit>
+      <trans-unit id="a185c9b97513b3882604ea9bab60edbfac945c15" datatype="html">
+        <source>SMART overall-health self-assessment test result</source>
+        <target>SMART overall-health self-assessment test result</target>
+      </trans-unit>
+      <trans-unit id="41435d5a5692c8e412c74deaee95d99dbd3617e1" datatype="html">
+        <source>failed</source>
+        <target>failed</target>
+      </trans-unit>
+      <trans-unit id="ddd5dd6d930030096ea617f62c82b648a0dd9484" datatype="html">
+        <source>Device Information</source>
+        <target>Device Information</target>
+      </trans-unit>
+      <trans-unit id="380295f37caea93701d071485a38ef0bdba57133" datatype="html">
+        <source>No SMART data available for this device.</source>
+        <target>No SMART data available for this device.</target>
+      </trans-unit>
+      <trans-unit id="20cb12827cbe559a7b1da6fdae96041b3b5c3c55" datatype="html">
+        <source>SMART</source>
+        <target>SMART</target>
+      </trans-unit>
+      <trans-unit id="5758c3f16f8749f0f4e2a787f02e8b4da246102f" datatype="html">
+        <source>SMART data is loading.</source>
+        <target>SMART data is loading.</target>
       </trans-unit>
       <trans-unit id="a949d7e577902d0e5dc5d0971bb0170a21be7728" datatype="html">
         <source>[object Object]</source>
         <source>The chosen erasure code profile name is already in use.</source>
         <target>선택한 Erasure Code 프로파일 이름이 이미 사용 중입니다.</target>
       </trans-unit>
+      <trans-unit id="35a4206db3105ed03e0dd799e1642b75b78123e8" datatype="html">
+        <source>Root</source>
+        <target>Root</target>
+      </trans-unit>
+      <trans-unit id="cf425784c7073c7e7f7c1bb90c2c19db7e751db2" datatype="html">
+        <source>Failure domain type</source>
+        <target>Failure domain type</target>
+      </trans-unit>
+      <trans-unit id="72396a9565cf644d1fe1b21b790c4243ee270986" datatype="html">
+        <source>Device class</source>
+        <target>Device class</target>
+      </trans-unit>
+      <trans-unit id="72d80e0c07bfea1b693a33ef2245007de92a6780" datatype="html">
+        <source>Let Ceph decide</source>
+        <target>Let Ceph decide</target>
+      </trans-unit>
       <trans-unit id="ef9ff0e6227947b48dfab4ac39ade04af758913b" datatype="html">
         <source>Plugin</source>
         <target>플러그인</target>
         <target>It's not possible to create an RBD pool with '/' in the name.
               Please change the name or remove 'rbd' from the applications list.</target>
       </trans-unit>
+      <trans-unit id="171dc6d5c6bc4615d99778b0088cae80fd00bd10" datatype="html">
+        <source>Pool name can only contain letters, numbers, '.', '-', '_' or '/'.</source>
+        <target>Pool name can only contain letters, numbers, '.', '-', '_' or '/'.</target>
+      </trans-unit>
       <trans-unit id="b85c657469e5ec8231c3de99b22f437bc01ffde5" datatype="html">
         <source>Pool type</source>
         <target>풀 형태</target>
         <source>-- Select a pool type --</source>
         <target>-- 풀 형태 선택 --</target>
       </trans-unit>
+      <trans-unit id="6abfbe47b630929d93c7343dc154599c2e59330a" datatype="html">
+        <source>PG Autoscale</source>
+        <target>PG Autoscale</target>
+      </trans-unit>
       <trans-unit id="0aa21053410a94aa61d16985a4e95fd65523430d" datatype="html">
         <source>Placement groups</source>
         <target>게재위치 그룹</target>
         <target>The current PGs settings were calculated for you, you
                 should make sure the values suit your needs before submit.</target>
       </trans-unit>
-      <trans-unit id="33150f22ce5348aa6c499bd092c3f4f3695d62cc" datatype="html">
-        <source>Crush ruleset</source>
-        <target>크러쉬 룰셋</target>
-      </trans-unit>
-      <trans-unit id="73a6b31116b3cc322af951daa0bafdc169e6c42e" datatype="html">
-        <source>-- Select a crush rule --</source>
-        <target>-- 크러쉬 룰 선택 --</target>
-      </trans-unit>
-      <trans-unit id="92da80699921e89fb19372e25b8d0f3b9fa427fc" datatype="html">
-        <source>Crush rule</source>
-        <target>크러쉬 룰</target>
-      </trans-unit>
-      <trans-unit id="5489e9f96835f469f6f728a00d8efa88ea5bc940" datatype="html">
-        <source>Crush steps</source>
-        <target>크러쉬 단계들</target>
-      </trans-unit>
-      <trans-unit id="54a53b1b402aafff5b992ee9b64e409fbfe9074f" datatype="html">
-        <source>The rule can't be used in the current cluster as it has
-                to few OSDs to meet the minimum required OSD by this rule.</source>
-        <target>이 룰에 의하여 최소로 필요로 하는 OSD보다 적은 OSD를 가지고 있기때문에 이 룰은 현재의 클러스터에서는 사용할 수 없습니다.</target>
-      </trans-unit>
       <trans-unit id="a43b2695131b48b76cebba676aba98a2bee17515" datatype="html">
         <source>Replicated size</source>
         <target>복제되는 크기</target>
           <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.
         </target>
       </trans-unit>
+      <trans-unit id="920617c6a1a4805e53bcb5af6a9c76f8387e89c6" datatype="html">
+        <source>Flags</source>
+        <target>플레그들</target>
+      </trans-unit>
+      <trans-unit id="1c870fb00256b8a5b9cb9cd1a124e6390b9bc639" datatype="html">
+        <source>EC Overwrites</source>
+        <target>EC 덮어쓰기</target>
+      </trans-unit>
+      <trans-unit id="f1abafaeb40ce52355ddcc24686e3cd17b64e08a" datatype="html">
+        <source>Applications</source>
+        <target>응용프로그램들</target>
+      </trans-unit>
+      <trans-unit id="fb9308b82fc183f710df60909f49cfc73aa5e076" datatype="html">
+        <source>CRUSH</source>
+        <target>CRUSH</target>
+      </trans-unit>
       <trans-unit id="9de7dde00e2139cc4bd03b1837afbe72ad15a1ff" datatype="html">
         <source>Erasure code profile</source>
         <target>Erasure Code 프로파일</target>
         <source>-- Select an erasure code profile --</source>
         <target>-- 한개의 Erasure Code 프로파일 선택 --</target>
       </trans-unit>
-      <trans-unit id="920617c6a1a4805e53bcb5af6a9c76f8387e89c6" datatype="html">
-        <source>Flags</source>
-        <target>í\94\8cë \88ê·¸ë\93¤</target>
+      <trans-unit id="33150f22ce5348aa6c499bd092c3f4f3695d62cc" datatype="html">
+        <source>Crush ruleset</source>
+        <target>í\81¬ë\9f¬ì\89¬ ë£°ì\85\8b</target>
       </trans-unit>
-      <trans-unit id="1c870fb00256b8a5b9cb9cd1a124e6390b9bc639" datatype="html">
-        <source>EC Overwrites</source>
-        <target>EC 덮어쓰기</target>
+      <trans-unit id="c69b0bcd4698aa845d32c4c4ad488492552cb469" datatype="html">
+        <source>A new crush ruleset will be implicitly created.</source>
+        <target>A new crush ruleset will be implicitly created.</target>
       </trans-unit>
-      <trans-unit id="f1abafaeb40ce52355ddcc24686e3cd17b64e08a" datatype="html">
-        <source>Applications</source>
-        <target>응용프로그램들</target>
+      <trans-unit id="896e9987db5e9bb279e6deed5d2dff28c242ef66" datatype="html">
+        <source>There are no rules.</source>
+        <target>There are no rules.</target>
+      </trans-unit>
+      <trans-unit id="73a6b31116b3cc322af951daa0bafdc169e6c42e" datatype="html">
+        <source>-- Select a crush rule --</source>
+        <target>-- 크러쉬 룰 선택 --</target>
+      </trans-unit>
+      <trans-unit id="ea91d648f92002bc9f96d9b26b735c83ca0b53c6" datatype="html">
+        <source>This rule can't be deleted as it is in use.</source>
+        <target>This rule can't be deleted as it is in use.</target>
+      </trans-unit>
+      <trans-unit id="92da80699921e89fb19372e25b8d0f3b9fa427fc" datatype="html">
+        <source>Crush rule</source>
+        <target>크러쉬 룰</target>
+      </trans-unit>
+      <trans-unit id="5489e9f96835f469f6f728a00d8efa88ea5bc940" datatype="html">
+        <source>Crush steps</source>
+        <target>크러쉬 단계들</target>
+      </trans-unit>
+      <trans-unit id="fc5f5496a9e50fe69e1a09784f28d94944108294" datatype="html">
+        <source>Rule is not in use.</source>
+        <target>Rule is not in use.</target>
+      </trans-unit>
+      <trans-unit id="023d6f718770d2ea4ab8cabe26b0ec27ef967ec2" datatype="html">
+        <source>Used by pools</source>
+        <target>Used by pools</target>
+      </trans-unit>
+      <trans-unit id="104a0e6900d1d1b0c8cf9e5947e36edb352583fc" datatype="html">
+        <source>The rule can't be used in the current cluster as it has
+                  too few OSDs to meet the minimum required OSD by this rule.</source>
+        <target>The rule can't be used in the current cluster as it has
+                  too few OSDs to meet the minimum required OSD by this rule.</target>
       </trans-unit>
       <trans-unit id="2208d63d5940ce656006a220102b1eb2b5e553da" datatype="html">
         <source>Compression</source>
         <source>The value should be greater or equal to 0</source>
         <target>The value should be greater or equal to 0</target>
       </trans-unit>
+      <trans-unit id="4f8b2bb476981727ab34ed40fde1218361f92c45" datatype="html">
+        <source>Details</source>
+        <target>세부설명</target>
+      </trans-unit>
       <trans-unit id="fbbaf5cb02ed419e79a27072478f716a4666a99d" datatype="html">
         <source>Performance Details</source>
         <target>성능 세부정보들</target>
         <source>Cache Tiers Details</source>
         <target>케쉬 계층들 상세설명들</target>
       </trans-unit>
+      <trans-unit id="ecbc084370a732fc3cde1966a60af78d71424ab4" datatype="html">
+        <source>Create Bootstrap Token</source>
+        <target>Create Bootstrap Token</target>
+      </trans-unit>
+      <trans-unit id="603e9cc3ef2aab57f2b0a00e465b23b9cabefd9c" datatype="html">
+        <source>To create a bootstrap token which can be imported
+          by a peer site cluster, provide the local site's name, select
+          which pools will have mirroring enabled, and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Generate
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </source>
+        <target>To create a bootstrap token which can be imported
+          by a peer site cluster, provide the local site's name, select
+          which pools will have mirroring enabled, and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Generate
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="660f97cd3188f8a04bd03b79e703fec72c6df04c" datatype="html">
+        <source>Site Name</source>
+        <target>Site Name</target>
+      </trans-unit>
+      <trans-unit id="8c2a1dc72cffaf7ab3dc5599bf77b0a7fcad2b20" datatype="html">
+        <source>At least one pool is required.</source>
+        <target>At least one pool is required.</target>
+      </trans-unit>
+      <trans-unit id="1b258b258b4cc475ceb2871305b61756b0134f4a" datatype="html">
+        <source>Generate</source>
+        <target>Generate</target>
+      </trans-unit>
+      <trans-unit id="1edc1fc6cfbbb22353050ad6788508b3ed584f53" datatype="html">
+        <source>Token</source>
+        <target>Token</target>
+      </trans-unit>
+      <trans-unit id="ff785f5596aef34a93b9b4d1023e95c62eef5740" datatype="html">
+        <source>Generated token...</source>
+        <target>Generated token...</target>
+      </trans-unit>
+      <trans-unit id="5467a6bb0e7fade6def7499400d5e2a7d8d3da20" datatype="html">
+        <source>Import Bootstrap Token</source>
+        <target>Import Bootstrap Token</target>
+      </trans-unit>
+      <trans-unit id="9bb7aee0dec5164f45c0aa2f35f2fb2149d2c1d2" datatype="html">
+        <source>To import a bootstrap token which was created
+          by a peer site cluster, provide the local site's name, select
+          which pools will have mirroring enabled, provide the generated
+          token, and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Import
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </source>
+        <target>To import a bootstrap token which was created
+          by a peer site cluster, provide the local site's name, select
+          which pools will have mirroring enabled, provide the generated
+          token, and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Import
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="9200e09686136a1d42adfb89c12fbfef2deea125" datatype="html">
+        <source>Direction</source>
+        <target>Direction</target>
+      </trans-unit>
+      <trans-unit id="9761484679958da8d12841a4efa5964d33fae575" datatype="html">
+        <source>The token is invalid.</source>
+        <target>The token is invalid.</target>
+      </trans-unit>
+      <trans-unit id="a059709f71aa4c0ac219e160e78a738682ca6a36" datatype="html">
+        <source>Import</source>
+        <target>Import</target>
+      </trans-unit>
+      <trans-unit id="b87bd96249f8afc23f5301cddb57b1464a98e71a" datatype="html">
+        <source>Edit site name</source>
+        <target>Edit site name</target>
+      </trans-unit>
+      <trans-unit id="cfff72c667274c12eb1ff71eadc25871c10c42dc" datatype="html">
+        <source>Edit the site name and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </source>
+        <target>Edit the site name and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="40b7acea5b43f45e0bbd1efeba5200af4687981d" datatype="html">
+        <source>Site Name:</source>
+        <target>Site Name:</target>
+      </trans-unit>
       <trans-unit id="f0b5d789d42c0e69348e5fe0037fcbf5b5fbbdcc" datatype="html">
         <source>Move an image to trash</source>
         <target>이미지를 휴지통에 이동</target>
       </trans-unit>
-      <trans-unit id="86301cf2044b1eda218483365f6b9de8dde5040b" datatype="html">
+      <trans-unit id="7ad22c1d4aab3b8946603cea62de266d5129ca10" datatype="html">
+        <source>This image contains snapshot(s), which will prevent it
+            from being removed after moved to trash.</source>
+        <target>This image contains snapshot(s), which will prevent it
+            from being removed after moved to trash.</target>
+      </trans-unit>
+      <trans-unit id="b4b3ced4f8aad4c446f348b14c3d94be2e2c350c" datatype="html">
         <source>To move 
           <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>
-          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>/
-          <x id="INTERPOLATION_1" equiv-text="{{ imageName }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ imageSpecStr }}"/>
           <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,
           click 
           <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image
         </source>
         <target>To move 
           <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>
-          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>/
-          <x id="INTERPOLATION_1" equiv-text="{{ imageName }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ imageSpecStr }}"/>
           <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,
           click 
           <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image
         <source>Move Image</source>
         <target>이미지 옮기기</target>
       </trans-unit>
+      <trans-unit id="c9f1026c1235f4d76ace47449e806efd181ab332" datatype="html">
+        <source>Deleting this image will also delete all its snapshots.</source>
+        <target>Deleting this image will also delete all its snapshots.</target>
+      </trans-unit>
+      <trans-unit id="55f864597e84d9bf88769e1fbfda1d64452430c9" datatype="html">
+        <source>The following snapshots are currently protected and will be removed:</source>
+        <target>The following snapshots are currently protected and will be removed:</target>
+      </trans-unit>
       <trans-unit id="8a9910cd114c1deb9af74f6f99b4173403965bf2" datatype="html">
         <source>Gateways</source>
         <target>Gateways</target>
         <source>Object size</source>
         <target>객체크기</target>
       </trans-unit>
-      <trans-unit id="6cdb1fea93d77c07950c0c76c6e0ad79ebbef084" datatype="html">
-        <source>Features</source>
-        <target>특징들</target>
-      </trans-unit>
       <trans-unit id="0a65771c9a73b9aa609d592fc96a64801a8f40bd" datatype="html">
         <source>Provisioned</source>
         <target>준비된</target>
         <source>-- Select a pool --</source>
         <target>-- 풀 선택 --</target>
       </trans-unit>
+      <trans-unit id="d649904466254d13df1fbf2d255f0bbc6553d213" datatype="html">
+        <source>-- No namespaces available --</source>
+        <target>-- No namespaces available --</target>
+      </trans-unit>
+      <trans-unit id="e22d7bb4d2d561e0832ee0b9a3da2468a080c4f0" datatype="html">
+        <source>-- Select a namespace --</source>
+        <target>-- Select a namespace --</target>
+      </trans-unit>
       <trans-unit id="49449943d8cbf59d8c401c8bd2e76f92e207cc5f" datatype="html">
         <source>Use a dedicated data pool</source>
         <target>전용 데이타 풀들을 사용하세요</target>
         <source>Stripe count must be greater than 0.</source>
         <target>분산저장 갯수는 반드시 0보다 커야 합니다.</target>
       </trans-unit>
-      <trans-unit id="3f67f30568e9ae47507d46e28e1e82a7dca772e2" datatype="html">
-        <source>
-          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> RBD Snapshot
-        </source>
-        <target>
-          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> RBD Snapshot
-        </target>
-      </trans-unit>
-      <trans-unit id="1628d19a4490817c18be2afab410ca4adfa62ea7" datatype="html">
-        <source>{VAR_SELECT, select, true {Rename} other {Create} }</source>
-        <target>{VAR_SELECT, select, true {Rename} other {Create} }</target>
-      </trans-unit>
-      <trans-unit id="73a287b41afe6b28f90edbeb98957a341a0276b4" datatype="html">
-        <source>
-          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> Snapshot
-        </source>
-        <target>
-          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> Snapshot
-        </target>
+      <trans-unit id="2c07d24bb422aa8e5e568df1c5709083f0a9c8f1" datatype="html">
+        <source>Create Namespace</source>
+        <target>Create Namespace</target>
       </trans-unit>
-      <trans-unit id="cb60c1cd3655234756b5b92d4d597d92d520ee30" datatype="html">
-        <source>PROTECTED</source>
-        <target>PROTECTED</target>
-      </trans-unit>
-      <trans-unit id="deffb86b8fb0541254ad5a43862d82bff6b6a6c4" datatype="html">
-        <source>UNPROTECTED</source>
-        <target>보호안됨</target>
+      <trans-unit id="0cca6c0485f96d3a9610d0339cb1275a5f2c3f46" datatype="html">
+        <source>Namespace already exists.</source>
+        <target>Namespace already exists.</target>
       </trans-unit>
       <trans-unit id="5c5331983af566d4ac6a1024d15a3511786a4aa6" datatype="html">
         <source>You are about to rollback</source>
         <source>Purge Trash</source>
         <target>휴지통 비우기</target>
       </trans-unit>
-      <trans-unit id="af728625d769b61acf291442644b89edb88faec3" datatype="html">
-        <source>To purge, select one or All images and click</source>
-        <target>비우기 위해, 하나 또는 모든 이미지들을 선택하고 클릭하세요.</target>
+      <trans-unit id="681501eecd7f44d4b7a2f619605b36676e04c5b6" datatype="html">
+        <source>To purge, select one or</source>
+        <target>To purge, select one or</target>
+      </trans-unit>
+      <trans-unit id="dfc3c34e182ea73c5d784ff7c8135f087992dac1" datatype="html">
+        <source>All</source>
+        <target>모든</target>
+      </trans-unit>
+      <trans-unit id="ea5d338dcef50ff5c24439fd784f6a67b594c33f" datatype="html">
+        <source>pools and click</source>
+        <target>pools and click</target>
       </trans-unit>
       <trans-unit id="55a4f598a4894b7fd5cb88f0ffd3c37ad009dd70" datatype="html">
         <source>Pool:</source>
         <source>Pool name...</source>
         <target>풀 이름:</target>
       </trans-unit>
-      <trans-unit id="dfc3c34e182ea73c5d784ff7c8135f087992dac1" datatype="html">
-        <source>All</source>
-        <target>모든</target>
-      </trans-unit>
       <trans-unit id="b0e7c7ed1d51a0c205c815048bc9f79e24ee6db2" datatype="html">
         <source>Restore Image</source>
         <target>이미지 복구하기</target>
           <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.
         </target>
       </trans-unit>
-      <trans-unit id="aba82bfd8e177d35b76cad7cd43941f8e5e5acac" datatype="html">
-        <source>Trash</source>
-        <target>휴지통</target>
-      </trans-unit>
       <trans-unit id="a674ab267d1934bf395f87ca1503fd474296893f" datatype="html">
         <source>iSCSI Topology</source>
         <target>iSCSI 토폴로지</target>
       </trans-unit>
-      <trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html">
-        <source>Settings</source>
-        <target>설정들</target>
+      <trans-unit id="051dcc342cfa5c1eaf187a2001aaa162379a160c" datatype="html">
+        <source>Configure</source>
+        <target>Configure</target>
       </trans-unit>
       <trans-unit id="9e515f954730279c31d5301f02479666d6264e8b" datatype="html">
         <source>Changing these parameters from their default values is usually not necessary.</source>
         <target>기본설정 값들로 부터 인자를 변경하는 것은 일반적으로 필요하지 않습니다.</target>
       </trans-unit>
+      <trans-unit id="4e2591df099ddac796cda401c5f282da779d45f2" datatype="html">
+        <source>Identifier</source>
+        <target>Identifier</target>
+      </trans-unit>
+      <trans-unit id="62480a4859976427cf18fc8ef41d3a438eda0412" datatype="html">
+        <source>lun</source>
+        <target>lun</target>
+      </trans-unit>
+      <trans-unit id="8afc9eb4405e0aa554b2ba14140ef790cdecc040" datatype="html">
+        <source>wwn</source>
+        <target>wwn</target>
+      </trans-unit>
+      <trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html">
+        <source>Settings</source>
+        <target>설정들</target>
+      </trans-unit>
       <trans-unit id="69a47cbabcc51ca942606e1d8da0ec11f98a2690" datatype="html">
         <source>Backstore</source>
         <target>백스토어</target>
         <source>Portals</source>
         <target>포털</target>
       </trans-unit>
+      <trans-unit id="6a3ac2b4137d723fd9878cd357c2012ff6c07973" datatype="html">
+        <source>Add portal</source>
+        <target>포털 추가</target>
+      </trans-unit>
       <trans-unit id="c3638c01b6c34066438909713ec96087c813fc7e" datatype="html">
         <source>At least 
           <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.
           <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.
         </target>
       </trans-unit>
-      <trans-unit id="6a3ac2b4137d723fd9878cd357c2012ff6c07973" datatype="html">
-        <source>Add portal</source>
-        <target>포털 추가</target>
-      </trans-unit>
       <trans-unit id="9aff25be088f0efe3eaaf62edf2bff41cc41a617" datatype="html">
         <source>Backstore: 
           <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. 
         <source>This image has modified settings.</source>
         <target>이 이미지는 설정들을 수정했습니다. </target>
       </trans-unit>
-      <trans-unit id="107c84e820909b44fe258673938a68ced1bbff72" datatype="html">
-        <source>At least 1 image is required.</source>
-        <target>적어도 1 이미지는 필수적입니다.</target>
+      <trans-unit id="1dff11e0820b6722ab240169f1232d70a54beaaa" datatype="html">
+        <source>Duplicated LUN numbers.</source>
+        <target>Duplicated LUN numbers.</target>
+      </trans-unit>
+      <trans-unit id="bf2dccf92ccff6e3b091792bf4205595406e1bfb" datatype="html">
+        <source>Duplicated WWN.</source>
+        <target>Duplicated WWN.</target>
       </trans-unit>
       <trans-unit id="808038f912fdc7f0e03f82d4afd3bf9178527fc8" datatype="html">
         <source>Add image</source>
         <source>Add group</source>
         <target>그룹추가</target>
       </trans-unit>
+      <trans-unit id="c3a7e364a88ea4673199dfa98bc73e6dbe09dfac" datatype="html">
+        <source>Namespaces</source>
+        <target>Namespaces</target>
+      </trans-unit>
+      <trans-unit id="aba82bfd8e177d35b76cad7cd43941f8e5e5acac" datatype="html">
+        <source>Trash</source>
+        <target>휴지통</target>
+      </trans-unit>
       <trans-unit id="66db799d67958d4b0765181d072df62e2d1c16f5" datatype="html">
         <source>Issues</source>
         <target>이슈들</target>
         <source>Enables versioning for the objects in the bucket.</source>
         <target>Enables versioning for the objects in the bucket.</target>
       </trans-unit>
-      <trans-unit id="92f3f203270a29b3001871153f02c063484a1574" datatype="html">
-        <source>Suspended</source>
-        <target>유예되다.</target>
+      <trans-unit id="9e6775ffd06878aa145c07359f28557f01ede04f" datatype="html">
+        <source>Multi-Factor Authentication</source>
+        <target>Multi-Factor Authentication</target>
+      </trans-unit>
+      <trans-unit id="29e8a5d4fb767d4ad0c762c81c6264cec4c0ba97" datatype="html">
+        <source>Delete enabled</source>
+        <target>Delete enabled</target>
+      </trans-unit>
+      <trans-unit id="40fbc3ac8c1ea4ecfe62247e91f1f999ad5baf76" datatype="html">
+        <source>Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state.</source>
+        <target>Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state.</target>
+      </trans-unit>
+      <trans-unit id="d24c93a8c13db46defa06ed7b5e026a3edb52b91" datatype="html">
+        <source>Token Serial Number</source>
+        <target>Token Serial Number</target>
+      </trans-unit>
+      <trans-unit id="e6d9536c2af2e5e9a228c3e3e1809dc1fefe0149" datatype="html">
+        <source>Token PIN</source>
+        <target>Token PIN</target>
+      </trans-unit>
+      <trans-unit id="7b84370895ab9eb44672f57146fa05c5947f1c0c" datatype="html">
+        <source>Locking</source>
+        <target>Locking</target>
+      </trans-unit>
+      <trans-unit id="f038d51ab1645f15b0cd58f195c72a7eeebd4729" datatype="html">
+        <source>Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket.</source>
+        <target>Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket.</target>
+      </trans-unit>
+      <trans-unit id="9af1b4baa2dd8ed2bfc3cc756b12a2271c2dd793" datatype="html">
+        <source>Compliance</source>
+        <target>Compliance</target>
+      </trans-unit>
+      <trans-unit id="edd600fa489d1b4a4448dce694ed932e52ce8fda" datatype="html">
+        <source>Governance</source>
+        <target>Governance</target>
       </trans-unit>
-      <trans-unit id="cd6a798fd0f85cd7e31a57c58074f25035d7850d" datatype="html">
-        <source>Disables versioning for the objects in the bucket.</source>
-        <target>Disables versioning for the objects in the bucket.</target>
+      <trans-unit id="a5c3d9d2296f7886e8289b9f623323803deacfc6" datatype="html">
+        <source>Days</source>
+        <target>Days</target>
+      </trans-unit>
+      <trans-unit id="218c7d6d318c51e7105309aaeb0baec9d19e4efb" datatype="html">
+        <source>The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</source>
+        <target>The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</target>
+      </trans-unit>
+      <trans-unit id="289b101ec12427b3ca819df9e43cc3b14fae2cc4" datatype="html">
+        <source>The entered value must be a positive integer.</source>
+        <target>The entered value must be a positive integer.</target>
+      </trans-unit>
+      <trans-unit id="def9fc628134d3a044b7c0ad2a83c846bdad56f1" datatype="html">
+        <source>Retention period requires either Days or Years.</source>
+        <target>Retention period requires either Days or Years.</target>
+      </trans-unit>
+      <trans-unit id="003c94fc143882ac8af6251a1595fe62978fe3e6" datatype="html">
+        <source>Years</source>
+        <target>Years</target>
+      </trans-unit>
+      <trans-unit id="14c6189ead0951f13049c7bf9af7642d0c41957a" datatype="html">
+        <source>The number of years that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</source>
+        <target>The number of years that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</target>
       </trans-unit>
       <trans-unit id="45cc8ca94b5a50842a9a8ef804a5ab089a38ae5c" datatype="html">
         <source>ID</source>
         <source>Zonegroup</source>
         <target>제로그룹</target>
       </trans-unit>
+      <trans-unit id="62a923f047ca49e7a4782629e91fea1ba32db68f" datatype="html">
+        <source>MFA Delete</source>
+        <target>MFA Delete</target>
+      </trans-unit>
       <trans-unit id="649a410bd0ace333d067d8fa22f12bdbdb43533b" datatype="html">
         <source>Bucket quota</source>
         <target>버킷 할당량</target>
         <source>Email address</source>
         <target>전자우편 주소</target>
       </trans-unit>
+      <trans-unit id="92f3f203270a29b3001871153f02c063484a1574" datatype="html">
+        <source>Suspended</source>
+        <target>유예되다.</target>
+      </trans-unit>
       <trans-unit id="8011e20c5bbe51602d459a860fbf29b599b55edd" datatype="html">
         <source>System</source>
         <target>시스템</target>
         <source>Max. buckets</source>
         <target>최대 버킷들</target>
       </trans-unit>
-      <trans-unit id="623ac50f37a26caec6fd7cd519b653e3315cba25" datatype="html">
-        <source>The entered value must be &gt;= 0.</source>
-        <target>입력된 값은 반드시 0보다 커야 합니다.</target>
+      <trans-unit id="f39256070bfc0714020dfee08895421fc1527014" datatype="html">
+        <source>Disabled</source>
+        <target>설정해제됨</target>
+      </trans-unit>
+      <trans-unit id="a5c05002b0ac2040f1aede5e727e0ffd06eda819" datatype="html">
+        <source>Custom</source>
+        <target>커스텀</target>
+      </trans-unit>
+      <trans-unit id="28872515cb81d197a3a1733fa546d3e0f0dd6c67" datatype="html">
+        <source>The entered value must be &gt;= 1.</source>
+        <target>The entered value must be &gt;= 1.</target>
       </trans-unit>
       <trans-unit id="583a219c524155c2314eb06ee29162bb315272a3" datatype="html">
         <source>S3 key</source>
           <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>
         </target>
       </trans-unit>
+      <trans-unit id="f5a451c4ea65a4046f0b49d489a7013abf0b5861" datatype="html">
+        <source>All capabilities are already added.</source>
+        <target>All capabilities are already added.</target>
+      </trans-unit>
       <trans-unit id="6146e13ceca5fa5cc17b771b282fe5955f3d19fa" datatype="html">
         <source>Unlimited size</source>
         <target>무제한 크기</target>
         <source>Max. objects</source>
         <target>최대 객체들</target>
       </trans-unit>
+      <trans-unit id="623ac50f37a26caec6fd7cd519b653e3315cba25" datatype="html">
+        <source>The entered value must be &gt;= 0.</source>
+        <target>입력된 값은 반드시 0보다 커야 합니다.</target>
+      </trans-unit>
       <trans-unit id="1ea5c4d8942c00752dcc72e72949c5d9832f6399" datatype="html">
         <source>Description...</source>
         <target>세부설명...</target>
         <source>Password confirmation doesn't match the password.</source>
         <target>암호 확인이 암호와 일치하지 않습니다.</target>
       </trans-unit>
+      <trans-unit id="96621f9ed2e4ae5204564e583d2c816bedead571" datatype="html">
+        <source>Password expiration date</source>
+        <target>Password expiration date</target>
+      </trans-unit>
+      <trans-unit id="48932db3801fe9d5d72a60a3e656bffd17c1c5d9" datatype="html">
+        <source>Password expiration date...</source>
+        <target>Password expiration date...</target>
+      </trans-unit>
       <trans-unit id="244aae9346da82b0922506c2d2581373a15641cc" datatype="html">
         <source>Email</source>
         <target>전자우편</target>
         <source>Invalid email.</source>
         <target>유효하지않는 전자우편.</target>
       </trans-unit>
+      <trans-unit id="8913c216dd506e20e412e144381d8d2a65a84359" datatype="html">
+        <source>User must change password at next logon</source>
+        <target>User must change password at next logon</target>
+      </trans-unit>
       <trans-unit id="0051a3479d3ba79135c16dc8cc017950a2cce821" datatype="html">
         <source>You are about to remove "user read / update" permissions from your own user.</source>
         <target>당신의 사용자로부터 "사용자 읽기 / 업데이트"권한을 제거하려고합니다.</target>
         <source>Histogram</source>
         <target>히스토그램</target>
       </trans-unit>
+      <trans-unit id="3d87fc20ea8e5f0f0500ba5d5061b345be78ec5e" datatype="html">
+        <source>No hostname found.</source>
+        <target>No hostname found.</target>
+      </trans-unit>
       <trans-unit id="26fb5f81b3581f06b9210defb0e71dc69a67e819" datatype="html">
         <source>Current values</source>
         <target>현재 값들</target>
       </trans-unit>
       <trans-unit id="ab0089ef47af61ca1d137bc908b96c290dfd9287" datatype="html">
         <source>Enum values</source>
-        <target>열거형 값들</target>
-      </trans-unit>
-      <trans-unit id="819476f1264f1659f38e86f6abb542141b184832" datatype="html">
-        <source>See also</source>
-        <target>추가로 더보기</target>
-      </trans-unit>
-      <trans-unit id="d82a9af5b05e7cd17640f196f163771685ff8df6" datatype="html">
-        <source>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</source>
-        <target>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</target>
-      </trans-unit>
-      <trans-unit id="a185c9b97513b3882604ea9bab60edbfac945c15" datatype="html">
-        <source>SMART overall-health self-assessment test result</source>
-        <target>SMART overall-health self-assessment test result</target>
-      </trans-unit>
-      <trans-unit id="ddd5dd6d930030096ea617f62c82b648a0dd9484" datatype="html">
-        <source>Device Information</source>
-        <target>Device Information</target>
-      </trans-unit>
-      <trans-unit id="79c6bf990ea5b4d83bbf8f9e399f4bd933a1ebfc" datatype="html">
-        <source>S.M.A.R.T</source>
-        <target>S.M.A.R.T</target>
+        <target>열거형 값들</target>
       </trans-unit>
-      <trans-unit id="05c17e08939cbef1a5df5386263b1701e8d5742e" datatype="html">
-        <source>S.M.A.R.T data is loading.</source>
-        <target>S.M.A.R.T data is loading.</target>
+      <trans-unit id="819476f1264f1659f38e86f6abb542141b184832" datatype="html">
+        <source>See also</source>
+        <target>추가로 더보기</target>
       </trans-unit>
       <trans-unit id="73caac4265ea7314ff061e5a1d78a6361a6dd3b8" datatype="html">
         <source>Cluster Status</source>
         <source>MDS performance counters</source>
         <target>MDS performance counters</target>
       </trans-unit>
-      <trans-unit id="a7b6508fb834bee9e48e11e4503fbbc2d19204de" datatype="html">
-        <source>Clients: 
-          <x id="INTERPOLATION" equiv-text="{{ clients.data.length }}"/>
-        </source>
-        <target>Clients: 
-          <x id="INTERPOLATION" equiv-text="{{ clients.data.length }}"/>
-        </target>
-      </trans-unit>
       <trans-unit id="6e213942c6354b9cbe7a650f0f1499bfc1000fb6" datatype="html">
         <source>Directories</source>
         <target>Directories</target>
         <source># Sessions</source>
         <target># Sessions</target>
       </trans-unit>
+      <trans-unit id="2ea10b3668e04e057ba96ddcaf4c9b77089008ae" datatype="html">
+        <source>Unavailable gateway(s)</source>
+        <target>Unavailable gateway(s)</target>
+      </trans-unit>
       <trans-unit id="c49e0dd71d551bd4928d967d78f0721dbf9f95e3" datatype="html">
         <source>Target has active sessions</source>
         <target>Target has active sessions</target>
         <source>Progress</source>
         <target>진행중</target>
       </trans-unit>
-      <trans-unit id="f39256070bfc0714020dfee08895421fc1527014" datatype="html">
-        <source>Disabled</source>
-        <target>설정해제됨</target>
+      <trans-unit id="25b725dba712a7a020fd34a72297befae975a492" datatype="html">
+        <source>Edit Site Name</source>
+        <target>Edit Site Name</target>
       </trans-unit>
       <trans-unit id="8c375764db42f5d736fb56d01b8052c006ccc8e2" datatype="html">
         <source>Edit Mode</source>
         <source>Fast diff (interlocked with object-map)</source>
         <target>Fast diff (interlocked with object-map)</target>
       </trans-unit>
+      <trans-unit id="130fd872c78271a8f86b1ab16a76e823969c47d9" datatype="html">
+        <source>Namespace</source>
+        <target>Namespace</target>
+      </trans-unit>
+      <trans-unit id="14abc99daed542774633046c53b6ce8251331141" datatype="html">
+        <source>This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.</source>
+        <target>This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.</target>
+      </trans-unit>
+      <trans-unit id="51699f716cf34e6622ff7bfd84641480c045271a" datatype="html">
+        <source>Created namespace '
+          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/
+          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>'
+        </source>
+        <target>Created namespace '
+          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/
+          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>'
+        </target>
+      </trans-unit>
+      <trans-unit id="bf44b7d6379ce0198ed3d95a27642a224181bf1d" datatype="html">
+        <source>Total images</source>
+        <target>Total images</target>
+      </trans-unit>
+      <trans-unit id="371ce3ffe62548d15e391a248bc554d903bb03fc" datatype="html">
+        <source>Deleted namespace '
+          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/
+          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>'
+        </source>
+        <target>Deleted namespace '
+          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/
+          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>'
+        </target>
+      </trans-unit>
+      <trans-unit id="9d704fd00ca929f90c3119cefc581821ae58a73e" datatype="html">
+        <source>Namespace contains images</source>
+        <target>Namespace contains images</target>
+      </trans-unit>
+      <trans-unit id="c2017dc94b4f57a347ccb126e546e88942f4d7a6" datatype="html">
+        <source>RBD Snapshot</source>
+        <target>RBD Snapshot</target>
+      </trans-unit>
       <trans-unit id="631fc50ec7c9bd81dc797a3c7e09eda1178ad999" datatype="html">
         <source>Parent image must support Layering</source>
         <target>Parent image must support Layering</target>
       </trans-unit>
+      <trans-unit id="cb60c1cd3655234756b5b92d4d597d92d520ee30" datatype="html">
+        <source>PROTECTED</source>
+        <target>PROTECTED</target>
+      </trans-unit>
+      <trans-unit id="deffb86b8fb0541254ad5a43862d82bff6b6a6c4" datatype="html">
+        <source>UNPROTECTED</source>
+        <target>보호안됨</target>
+      </trans-unit>
       <trans-unit id="7eb984588f4835f6d0187b33769b4b0f62821640" datatype="html">
         <source>RBD snapshot rollback</source>
         <target>RBD 스냅샷 롤백</target>
         <source>Origin</source>
         <target>Origin</target>
       </trans-unit>
+      <trans-unit id="2ea2ec95d93fd55d0db6e9d2b95b25e153d4cec2" datatype="html">
+        <source>Max size</source>
+        <target>Max size</target>
+      </trans-unit>
+      <trans-unit id="665dced3a61bca44924a0bde4be47390225a4898" datatype="html">
+        <source>Max files</source>
+        <target>Max files</target>
+      </trans-unit>
+      <trans-unit id="0ccf776baac60794b142526986f3af85848c7059" datatype="html">
+        <source>The inherited 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/> is the maximum value to be used.
+        </source>
+        <target>The inherited 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/> is the maximum value to be used.
+        </target>
+      </trans-unit>
+      <trans-unit id="b0e2ef28384f2de6674cac300c779f900929a89b" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{action}}"/> CephFS 
+          <x id="INTERPOLATION_1" equiv-text="{{quotaName}}"/> quota for '
+          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>'
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{action}}"/> CephFS 
+          <x id="INTERPOLATION_1" equiv-text="{{quotaName}}"/> quota for '
+          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>'
+        </target>
+      </trans-unit>
+      <trans-unit id="542ef638499635dec7641bdc2e499258094187cc" datatype="html">
+        <source>size</source>
+        <target>size</target>
+      </trans-unit>
+      <trans-unit id="ce90ff00c341d8eef96b0e7956bb85b8faba3839" datatype="html">
+        <source>files</source>
+        <target>files</target>
+      </trans-unit>
+      <trans-unit id="fbe8b9340c08c24aef62ffe81c83e2b46a4f1495" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{quotaName}}"/> quota 
+          <x id="INTERPOLATION_1" equiv-text="{{value}}"/> from '
+          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>'
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{quotaName}}"/> quota 
+          <x id="INTERPOLATION_1" equiv-text="{{value}}"/> from '
+          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>'
+        </target>
+      </trans-unit>
+      <trans-unit id="37c2c0a4a356465eef2edfb09ffffc6db5259975" datatype="html">
+        <source>Value has to be at least 
+          <x id="INTERPOLATION" equiv-text="{{value}}"/> or more
+        </source>
+        <target>Value has to be at least 
+          <x id="INTERPOLATION" equiv-text="{{value}}"/> or more
+        </target>
+      </trans-unit>
+      <trans-unit id="73f8e64703a707e2cf98b9a10653cd3bbdd8cab1" datatype="html">
+        <source>Value has to be at most 
+          <x id="INTERPOLATION" equiv-text="{{value}}"/> or less
+        </source>
+        <target>Value has to be at most 
+          <x id="INTERPOLATION" equiv-text="{{value}}"/> or less
+        </target>
+      </trans-unit>
+      <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc" datatype="html">
+        <source>Updated</source>
+        <target>갱신된</target>
+      </trans-unit>
+      <trans-unit id="b6a4cf4f302c7fcbec199ce0df42b8282d682b04" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{action}}"/>
+          <x id="INTERPOLATION_1" equiv-text="{{quotaValue}}"/>
+          <x id="INTERPOLATION_2" equiv-text="{{conclusion}}"/>.
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{action}}"/>
+          <x id="INTERPOLATION_1" equiv-text="{{quotaValue}}"/>
+          <x id="INTERPOLATION_2" equiv-text="{{conclusion}}"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="a40024afb071f68fec949094a71f832d5611bca5" datatype="html">
+        <source>in order to inherit 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>
+        </source>
+        <target>in order to inherit 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="c108ff588291e9c040adea2adf35e7236cf29925" datatype="html">
+        <source>which isn't used because of the inheritance of 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>
+        </source>
+        <target>which isn't used because of the inheritance of 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="d3785a64d1c72b03b2212855ce695b45ed0342d2" datatype="html">
+        <source>in order to have no quota on the directory</source>
+        <target>in order to have no quota on the directory</target>
+      </trans-unit>
+      <trans-unit id="c4d3a3446a7f36825291c5e76c4a6b7919f9bd2f" datatype="html">
+        <source>Create Snapshot</source>
+        <target>Create Snapshot</target>
+      </trans-unit>
+      <trans-unit id="e9af734e231b837d64df21008e2eb1fdff566a61" datatype="html">
+        <source>Please enter the name of the snapshot.</source>
+        <target>Please enter the name of the snapshot.</target>
+      </trans-unit>
+      <trans-unit id="8c4d3039e6a953b0d6f1b1313ffa60c5d2b35dc7" datatype="html">
+        <source>Created snapshot "
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "
+          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"
+        </source>
+        <target>Created snapshot "
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "
+          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"
+        </target>
+      </trans-unit>
+      <trans-unit id="126ad894f74ee9a999825f3f4ac5a31fdfc093bf" datatype="html">
+        <source>CephFs Snapshot</source>
+        <target>CephFs Snapshot</target>
+      </trans-unit>
+      <trans-unit id="1e4d1c0865adc485260740c42ac5af68ce8feb13" datatype="html">
+        <source>Deleted snapshot "
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "
+          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"
+        </source>
+        <target>Deleted snapshot "
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "
+          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"
+        </target>
+      </trans-unit>
       <trans-unit id="22e4e574b7f8abf58254f328792445b42e2a924a" datatype="html">
         <source>The value can be updated at runtime.</source>
         <target>이 값은 런타임에 업데이트 할 수 있습니다.</target>
         <source>Service</source>
         <target>서비스</target>
       </trans-unit>
+      <trans-unit id="6986e0df8092d822ac2c076520d83994c78834fc" datatype="html">
+        <source>Modified</source>
+        <target>Modified</target>
+      </trans-unit>
       <trans-unit id="9951bb3983c7dba6fde013e05c922e4fe1a44367" datatype="html">
         <source>Current value</source>
         <target>현재값</target>
         <source>host</source>
         <target>host</target>
       </trans-unit>
-      <trans-unit id="9e35065e7c579e1fb960499117fd4b3c68d1c263" datatype="html">
-        <source>Host operation is disabled because orchestrator is unavailable</source>
-        <target>Host operation is disabled because orchestrator is unavailable</target>
+      <trans-unit id="b1b381321d4cef04605d3e6e8847ea2b72a03799" datatype="html">
+        <source>Identify</source>
+        <target>Identify</target>
       </trans-unit>
       <trans-unit id="a5d5e407f8c4e1b152509c966c90f37edf68472e" datatype="html">
         <source>Device path</source>
         <target>Device path</target>
       </trans-unit>
-      <trans-unit id="94e76c060aa68c05d8c4a3f5a20c92fab3e83ccf" datatype="html">
-        <source>Rotates</source>
-        <target>Rotates</target>
-      </trans-unit>
       <trans-unit id="b7da3e3505cc80f9bf3cffc8444c53e8a9ec70a5" datatype="html">
         <source>Available</source>
         <target>Available</target>
       </trans-unit>
+      <trans-unit id="396974120fc614fc930a27c8d15a094d82a3a9e4" datatype="html">
+        <source>Vendor</source>
+        <target>Vendor</target>
+      </trans-unit>
       <trans-unit id="6ec98fa3d6504ba1fd03465194b53706c8263c99" datatype="html">
         <source>Model</source>
         <target>Model</target>
       </trans-unit>
+      <trans-unit id="f2d785f5658c96c6a2f505cdd625108bcece84c3" datatype="html">
+        <source>Identify device 
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>
+        </source>
+        <target>Identify device 
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="c97ab45ca09248f8f1ba60328175741657fe39ce" datatype="html">
+        <source>Please enter the duration how long to blink the LED.</source>
+        <target>Please enter the duration how long to blink the LED.</target>
+      </trans-unit>
+      <trans-unit id="87e56ee5057023d7e8b59420b838bad112b043bc" datatype="html">
+        <source>1 minute</source>
+        <target>1 minute</target>
+      </trans-unit>
+      <trans-unit id="affa3b3bf1f36531e5ae65291f8a7cd1b06860ee" datatype="html">
+        <source>2 minutes</source>
+        <target>2 minutes</target>
+      </trans-unit>
+      <trans-unit id="878c6645b7fc26d85c7aee17a9d8c282a938dcf3" datatype="html">
+        <source>5 minutes</source>
+        <target>5 minutes</target>
+      </trans-unit>
+      <trans-unit id="aa0a76140961594b7176ade241e5025a7dbb5dce" datatype="html">
+        <source>10 minutes</source>
+        <target>10 minutes</target>
+      </trans-unit>
+      <trans-unit id="0a7f83a1f27750ef634a1f1f97263fac36113b1f" datatype="html">
+        <source>15 minutes</source>
+        <target>15 minutes</target>
+      </trans-unit>
+      <trans-unit id="699b690d686dbb8e00a1e95b89ba2fffb548da6e" datatype="html">
+        <source>Execute</source>
+        <target>Execute</target>
+      </trans-unit>
+      <trans-unit id="aa975a86dd49979a3ae90b9f3fc5b2c97311d422" datatype="html">
+        <source>Identifying '
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>' started on host '
+          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>'
+        </source>
+        <target>Identifying '
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>' started on host '
+          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="1a6e6ad05508130b7a99ce5b15daf3227c2a930c" datatype="html">
         <source>Updated options for module "
           <x id="INTERPOLATION" equiv-text="{{name}}"/>".
           <x id="INTERPOLATION" equiv-text="{{name}}"/>".
         </target>
       </trans-unit>
+      <trans-unit id="6bd47ff8707aa2e6a94a4a6e2566b86dc7956d5f" datatype="html">
+        <source>Always-On</source>
+        <target>Always-On</target>
+      </trans-unit>
       <trans-unit id="ac6c9212896d39b23811ed2dadab7d07336ec559" datatype="html">
         <source>Enable</source>
         <target>사용가능</target>
         <source>Open Sessions</source>
         <target>열린 세션들</target>
       </trans-unit>
+      <trans-unit id="34c6f45591d420b1101dcee53999d1de91c0e400" datatype="html">
+        <source>No available devices</source>
+        <target>No available devices</target>
+      </trans-unit>
+      <trans-unit id="dcfe8807a2a1d0d7074a02afe9b80645bd03b9ab" datatype="html">
+        <source>Please add primary devices first</source>
+        <target>Please add primary devices first</target>
+      </trans-unit>
+      <trans-unit id="05d024719e53f85f7f294b7e21dfd805709a0b06" datatype="html">
+        <source>Add devices by using filters</source>
+        <target>Add devices by using filters</target>
+      </trans-unit>
       <trans-unit id="37e58d1cbdf8212b380efa51422e42821d4f08e6" datatype="html">
         <source>No In</source>
         <target>들어올 수 없는</target>
         <source>Backfilling of PGs is suspended</source>
         <target>PG들의 백필이 일시중지 되었습니다.</target>
       </trans-unit>
+      <trans-unit id="df526de2b93c4099a30c200ef551608e39ee5256" datatype="html">
+        <source>No Rebalance</source>
+        <target>No Rebalance</target>
+      </trans-unit>
+      <trans-unit id="c5b70346245f8d52b58e5e7fe222ce82f12429ce" datatype="html">
+        <source>OSD will choose not to backfill unless PG is also degraded</source>
+        <target>OSD will choose not to backfill unless PG is also degraded</target>
+      </trans-unit>
       <trans-unit id="7fbbd036394cfa623add40299757bc87df8eaa7e" datatype="html">
         <source>No Recover</source>
         <target>복구 않됨</target>
         <source>Updated OSD Flags</source>
         <target>갱신된 OSD 플래그들</target>
       </trans-unit>
+      <trans-unit id="948758e1412bb2ecdb98e3a4f1cbb6d7458456f2" datatype="html">
+        <source>Encryption</source>
+        <target>Encryption</target>
+      </trans-unit>
+      <trans-unit id="c8b1475105463088593de1022ff6dceb523eae0e" datatype="html">
+        <source>OSD</source>
+        <target>OSD</target>
+      </trans-unit>
       <trans-unit id="688578fcc739d6f0c5fb6c366dbb19d21c6d9e36" datatype="html">
         <source>out</source>
         <target>아웃</target>
         <source>Purge</source>
         <target>완전제거</target>
       </trans-unit>
-      <trans-unit id="c8b1475105463088593de1022ff6dceb523eae0e" datatype="html">
-        <source>OSD</source>
-        <target>OSD</target>
-      </trans-unit>
       <trans-unit id="4f3cff08c7033b63bbccfe66006b1bcaea48ddd8" datatype="html">
         <source>purged</source>
         <target>완전제거된</target>
         <source>destroyed</source>
         <target>파괴된</target>
       </trans-unit>
+      <trans-unit id="70ef158c584bafe788e319a0bffa11b02ee9abf1" datatype="html">
+        <source>delete</source>
+        <target>삭제</target>
+      </trans-unit>
+      <trans-unit id="a5b387f5a15b95e339df10fc23526c659a2b6c6f" datatype="html">
+        <source>deleted</source>
+        <target>deleted</target>
+      </trans-unit>
       <trans-unit id="107614b994f2b01abdc1ca179bf780b0cd933ec4" datatype="html">
         <source>Recovery Priority</source>
         <target>Recovery Priority</target>
         <source>Read bytes</source>
         <target>읽은 바이트들</target>
       </trans-unit>
-      <trans-unit id="ecbe2fdca919499125bc42c2c67cedae8563db1c" datatype="html">
-        <source>Writes bytes</source>
-        <target>쓰기된 바이트들</target>
+      <trans-unit id="f15bf7f588f09ca79795b17bc244e8d336f28171" datatype="html">
+        <source>Write bytes</source>
+        <target>쓰여진 바이트들</target>
       </trans-unit>
       <trans-unit id="f3c33322823c846b13f59ba2c8f234405bba99e1" datatype="html">
         <source>Read ops</source>
         <source>Write ops</source>
         <target>쓰기 ops</target>
       </trans-unit>
+      <trans-unit id="b27d1dd31789610130b7cdbf88c4da552cffe936" datatype="html">
+        <source>Edit OSD: 
+          <x id="INTERPOLATION" equiv-text="{{id}}"/>
+        </source>
+        <target>Edit OSD: 
+          <x id="INTERPOLATION" equiv-text="{{id}}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="986f1379580078e77666d10f8ddf4f839c6ca71d" datatype="html">
+        <source>Edit OSD</source>
+        <target>Edit OSD</target>
+      </trans-unit>
+      <trans-unit id="a4b09e2fa39c3e4f1a387f191fbae4eea3ce7bf5" datatype="html">
+        <source>Updated OSD "
+          <x id="INTERPOLATION" equiv-text="{{id}}"/>"
+        </source>
+        <target>Updated OSD "
+          <x id="INTERPOLATION" equiv-text="{{id}}"/>"
+        </target>
+      </trans-unit>
       <trans-unit id="d45455406092f58e6b089cb440b5b7934b801a01" datatype="html">
         <source>Mark OSD 
           <x id="INTERPOLATION" equiv-text="{{markAction}}"/>
         <source>Recovery Sleep</source>
         <target>잠자기를 복구하기</target>
       </trans-unit>
-      <trans-unit id="a5c05002b0ac2040f1aede5e727e0ffd06eda819" datatype="html">
-        <source>Custom</source>
-        <target>커스텀</target>
-      </trans-unit>
       <trans-unit id="89553524f4e7db5c437b07dcfdc7b831d56ded1a" datatype="html">
         <source>Updated OSD recovery speed priority "
           <x id="INTERPOLATION" equiv-text="{{value}}"/>"
           <x id="INTERPOLATION_1" equiv-text="{{id}}"/>
         </target>
       </trans-unit>
-      <trans-unit id="9836e830d0219585b36d53be00a31c3d4798a4aa" datatype="html">
-        <source>Smartctl has received an unknown argument (error code
-          <x id="INTERPOLATION" equiv-text="{{smartData.smartctl_error_code}}"/>). You may be using an
-                incompatible version of smartmontools. Version &gt;= 7.0 of
-                smartmontools is required to succesfully retrieve data.
-        </source>
-        <target>Smartctl has received an unknown argument (error code
-          <x id="INTERPOLATION" equiv-text="{{smartData.smartctl_error_code}}"/>). You may be using an
-                incompatible version of smartmontools. Version &gt;= 7.0 of
-                smartmontools is required to succesfully retrieve data.
-        </target>
-      </trans-unit>
-      <trans-unit id="d5fd840374ca1a6f394bcd81f390a6dca27f8224" datatype="html">
-        <source>An error with error code 
-          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.
-        </source>
-        <target>An error with error code 
-          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.
-        </target>
-      </trans-unit>
-      <trans-unit id="a0b59d7139692bb8d8ed786b6eb6e9e70ce743f3" datatype="html">
-        <source>Raw</source>
-        <target>Raw</target>
-      </trans-unit>
-      <trans-unit id="2f3beddc8234b30fb26a7f63ba2f1ea74f2ed6f7" datatype="html">
-        <source>Threshold</source>
-        <target>Threshold</target>
-      </trans-unit>
-      <trans-unit id="4654b5a68af3c8bad29aa14ca85ccea1f3143c6b" datatype="html">
-        <source>When Failed</source>
-        <target>When Failed</target>
-      </trans-unit>
-      <trans-unit id="5b7f56d5be49fb8e8d8f40209d6746f8f72e9177" datatype="html">
-        <source>Worst</source>
-        <target>Worst</target>
-      </trans-unit>
-      <trans-unit id="1edb8e46b0fac57c5feb3d7d3585afc0122d5481" datatype="html">
-        <source>Create silence</source>
-        <target>Create silence</target>
+      <trans-unit id="3bc2d18913479965cb046ec75e2ac3f7b7a77ce5" datatype="html">
+        <source>Create Silence</source>
+        <target>Create Silence</target>
       </trans-unit>
       <trans-unit id="78917e8031aaf913ac3fa63295325ce8879703ce" datatype="html">
         <source>Job</source>
         <source>URL</source>
         <target>URL</target>
       </trans-unit>
+      <trans-unit id="d9f726c70aeba7fa6d3d68bff718abe78b1e50ac" datatype="html">
+        <source>Query</source>
+        <target>Query</target>
+      </trans-unit>
       <trans-unit id="a5cd682a8a33bdc72e093d059429e3cc3a50ec1d" datatype="html">
         <source>silence</source>
         <target>silence</target>
         <source>Created by</source>
         <target>Created by</target>
       </trans-unit>
-      <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc" datatype="html">
-        <source>Updated</source>
-        <target>갱신된</target>
-      </trans-unit>
       <trans-unit id="8d833cceee0ba4c5161b130365e02bc1e129b57e" datatype="html">
         <source>Ends</source>
         <target>Ends</target>
         <source>Silence</source>
         <target>Silence</target>
       </trans-unit>
-      <trans-unit id="f392abfbb997402ce2aebb13e660a8f01dec54db" datatype="html">
-        <source>Service type</source>
-        <target>Service type</target>
+      <trans-unit id="f2ea47d702c7f5e3e5fa751bf9959e21030b72e6" datatype="html">
+        <source>Daemon type</source>
+        <target>Daemon type</target>
       </trans-unit>
-      <trans-unit id="9ffa91b056fb979786627885651e19c8275675cd" datatype="html">
-        <source>Service instance</source>
-        <target>Service instance</target>
+      <trans-unit id="6c131968e6ab730d86443e6fc11c5cc2a76d7bac" datatype="html">
+        <source>Daemon ID</source>
+        <target>Daemon ID</target>
       </trans-unit>
-      <trans-unit id="b5910192a9ac4816638ff6383b03f986ff965796" datatype="html">
-        <source>Container id</source>
-        <target>Container id</target>
+      <trans-unit id="5738f0ca7ddd9594058ce051b1d5d576e2782825" datatype="html">
+        <source>Container ID</source>
+        <target>Container ID</target>
       </trans-unit>
-      <trans-unit id="60ab9cce12a56cdc5ec6a1b699f8c7afecd629d5" datatype="html">
-        <source>Rados config location</source>
-        <target>Rados config location</target>
+      <trans-unit id="78ebcf850cd440c5efc15e6a3a522ae75aeff669" datatype="html">
+        <source>Container Image name</source>
+        <target>Container Image name</target>
       </trans-unit>
-      <trans-unit id="dfa409f831c9168a377bdee02c5ea6aaf9b2bf61" datatype="html">
-        <source>Service URL</source>
-        <target>Service URL</target>
+      <trans-unit id="ea0c7ab9a7bdf646d494abf8c85fbf67d934d079" datatype="html">
+        <source>Container Image ID</source>
+        <target>Container Image ID</target>
       </trans-unit>
       <trans-unit id="bf2468fd965b8a59c135ad549b3a612aa9873abc" datatype="html">
         <source>Status Description</source>
         <target>Status Description</target>
       </trans-unit>
+      <trans-unit id="19867330bdc84096f5a93ab087a1766476c8a074" datatype="html">
+        <source>Last Refreshed</source>
+        <target>Last Refreshed</target>
+      </trans-unit>
+      <trans-unit id="2349ee2027ab6ceb3e4b8834928562075b7e1ac7" datatype="html">
+        <source>Container image name</source>
+        <target>Container image name</target>
+      </trans-unit>
+      <trans-unit id="3c475503fb93338811af6b3d9ccacca1d7334609" datatype="html">
+        <source>Container image ID</source>
+        <target>Container image ID</target>
+      </trans-unit>
+      <trans-unit id="8dd15f6c73c05a8b0bd7b6d416487ab6570b88c8" datatype="html">
+        <source>Running</source>
+        <target>Running</target>
+      </trans-unit>
       <trans-unit id="fb2e1bed329dc5b84197808c778abb9edcbdb335" datatype="html">
         <source>Used</source>
         <target>사용된</target>
         <source>NFS export</source>
         <target>NFS export</target>
       </trans-unit>
+      <trans-unit id="c56d51748965db5f3966cd1d06a1c9f4b5244931" datatype="html">
+        <source>Crush Rule</source>
+        <target>Crush Rule</target>
+      </trans-unit>
       <trans-unit id="ae128527ec18892f812a62a1fd15dc50a38060c0" datatype="html">
         <source>EC Profile</source>
         <target>EC Profile</target>
         <source>erasure code profile</source>
         <target>Erasure 코드 프로파일</target>
       </trans-unit>
+      <trans-unit id="ae48e19a9a2acaca4b5ea594451bc9b0b01ec8d2" datatype="html">
+        <source>crush rule</source>
+        <target>crush rule</target>
+      </trans-unit>
       <trans-unit id="112d356ad6846959ca4aa5ec9a1f0d9d473b24ec" datatype="html">
         <source>Replica Size</source>
         <target>복제 크기</target>
         <source>Crush Ruleset</source>
         <target>크러쉬 룰셋</target>
       </trans-unit>
-      <trans-unit id="f15bf7f588f09ca79795b17bc244e8d336f28171" datatype="html">
-        <source>Write bytes</source>
-        <target>쓰여진 바이트들</target>
-      </trans-unit>
       <trans-unit id="bcc365a084b6145b941b371bd4c2b6c3d2c79234" datatype="html">
         <source>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</source>
         <target>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</target>
         <source>Swift Key</source>
         <target>Swift Key</target>
       </trans-unit>
+      <trans-unit id="6462d8f12b427c29363f00b12f20f566be24937c" datatype="html">
+        <source>Device ID</source>
+        <target>Device ID</target>
+      </trans-unit>
+      <trans-unit id="82f12bf23db4bb82db89877bebe93954bc1c8fb0" datatype="html">
+        <source>State of Health</source>
+        <target>State of Health</target>
+      </trans-unit>
+      <trans-unit id="7bd34bd120146afef0e0d8fa168d9bdabd594b6a" datatype="html">
+        <source>Good</source>
+        <target>Good</target>
+      </trans-unit>
+      <trans-unit id="31c59dce114ec0a9d02552ef7b81920b3de36793" datatype="html">
+        <source>Bad</source>
+        <target>Bad</target>
+      </trans-unit>
+      <trans-unit id="2862af5284f66d4b06bdcf77a5519141723b6989" datatype="html">
+        <source>Stale</source>
+        <target>Stale</target>
+      </trans-unit>
+      <trans-unit id="8d8e819b52984a4fbdec75a99eb28d1ae4323bbc" datatype="html">
+        <source>Life Expectancy</source>
+        <target>Life Expectancy</target>
+      </trans-unit>
+      <trans-unit id="72d9b15be18ea063e78c4e855b9e8c0af95593ef" datatype="html">
+        <source>Prediction Creation Date</source>
+        <target>Prediction Creation Date</target>
+      </trans-unit>
+      <trans-unit id="a6b4ef85e5ff8bd192751c7bbebc54c46118d6d4" datatype="html">
+        <source>Device Name</source>
+        <target>Device Name</target>
+      </trans-unit>
+      <trans-unit id="d5fd840374ca1a6f394bcd81f390a6dca27f8224" datatype="html">
+        <source>An error with error code 
+          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.
+        </source>
+        <target>An error with error code 
+          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.
+        </target>
+      </trans-unit>
+      <trans-unit id="a0b59d7139692bb8d8ed786b6eb6e9e70ce743f3" datatype="html">
+        <source>Raw</source>
+        <target>Raw</target>
+      </trans-unit>
+      <trans-unit id="2f3beddc8234b30fb26a7f63ba2f1ea74f2ed6f7" datatype="html">
+        <source>Threshold</source>
+        <target>Threshold</target>
+      </trans-unit>
+      <trans-unit id="4654b5a68af3c8bad29aa14ca85ccea1f3143c6b" datatype="html">
+        <source>When Failed</source>
+        <target>When Failed</target>
+      </trans-unit>
+      <trans-unit id="5b7f56d5be49fb8e8d8f40209d6746f8f72e9177" datatype="html">
+        <source>Worst</source>
+        <target>Worst</target>
+      </trans-unit>
       <trans-unit id="1481b8488e10dbc437accce89d2ae35a0106e8ba" datatype="html">
         <source>Scope</source>
         <target>범위</target>
           <x id="INTERPOLATION" equiv-text="{{role_name}}"/>'
         </target>
       </trans-unit>
+      <trans-unit id="bd15b8d5c0fa160161728eefbbb585710414d471" datatype="html">
+        <source>New name</source>
+        <target>New name</target>
+      </trans-unit>
+      <trans-unit id="6f126277f3dc22a3ab3609c4c198386c8744e11a" datatype="html">
+        <source>Clone Role</source>
+        <target>Clone Role</target>
+      </trans-unit>
+      <trans-unit id="d19d8320479854bc52877cdf0dc5ecfe34a36ec7" datatype="html">
+        <source>Cloned role '
+          <x id="INTERPOLATION" equiv-text="{{dst_name}}"/>' from '
+          <x id="INTERPOLATION_1" equiv-text="{{src_name}}"/>'
+        </source>
+        <target>Cloned role '
+          <x id="INTERPOLATION" equiv-text="{{dst_name}}"/>' from '
+          <x id="INTERPOLATION_1" equiv-text="{{src_name}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="2e35d60a14ce0b470e8b54602864a867f7fcef40" datatype="html">
         <source>There are no roles.</source>
         <target>There are no roles.</target>
         <source>Updated user password"</source>
         <target>Updated user password"</target>
       </trans-unit>
+      <trans-unit id="c4e596a44ffc4718c1602600d6e4f029190eb031" datatype="html">
+        <source>The name of the node under which data should be placed.</source>
+        <target>The name of the node under which data should be placed.</target>
+      </trans-unit>
+      <trans-unit id="f24772ba1091155f8d7025332ca8456a204d1e28" datatype="html">
+        <source>The type of CRUSH nodes across which we should separate replicas.</source>
+        <target>The type of CRUSH nodes across which we should separate replicas.</target>
+      </trans-unit>
+      <trans-unit id="a3896042af461a80091c3f7a5fe3fff5ac40a3a0" datatype="html">
+        <source>The device class data should be placed on.</source>
+        <target>The device class data should be placed on.</target>
+      </trans-unit>
       <trans-unit id="1d7fbcc3d5efc946ffbcf86fed04c4e20dda20fb" datatype="html">
         <source>Each object is split in data-chunks parts, each stored on a different OSD.</source>
         <target>각각의 오브젝트들은 데이타-청크 부분들로 분리되어, 각기 다른 OSD에 보관됩니다.</target>
@@ -3850,6 +4667,10 @@ reed_sol_van이 설정되면 Vandermonde, cauchy가 설정되면 Cauchy입니다
         <source>Success</source>
         <target>Success</target>
       </trans-unit>
+      <trans-unit id="61fd1cffcb763cbfd5829071723cf9b647174bd9" datatype="html">
+        <source>An error occurred.</source>
+        <target>An error occurred.</target>
+      </trans-unit>
       <trans-unit id="e6ca3c0efaf51e6d45a7f92f58bac37140c3fda4" datatype="html">
         <source>Last 5 minutes</source>
         <target>마지막 5분</target>
@@ -3994,14 +4815,18 @@ reed_sol_van이 설정되면 Vandermonde, cauchy가 설정되면 Cauchy입니다
         <source>There are no items available.</source>
         <target>사용가능한 아이템 없음</target>
       </trans-unit>
-      <trans-unit id="f6755cff4957d5c3c89bafce5651f1b6fa2b1fd9" datatype="html">
-        <source>Add</source>
-        <target>추가</target>
+      <trans-unit id="55dd9f44e64851bca3b7bfc9283a5ff36f030228" datatype="html">
+        <source>Set</source>
+        <target>Set</target>
       </trans-unit>
       <trans-unit id="019d4bd6a5690f0cfa0ecf346a4e6bf7f0d8debb" datatype="html">
         <source>Remove</source>
         <target>Remove</target>
       </trans-unit>
+      <trans-unit id="e168fe6c468b3ad632731395ef89860274242844" datatype="html">
+        <source>Unset</source>
+        <target>Unset</target>
+      </trans-unit>
       <trans-unit id="54a4a3132b693575728a45a5f3154ad4c9af404b" datatype="html">
         <source>Clone</source>
         <target>복제</target>
@@ -4186,6 +5011,38 @@ reed_sol_van이 설정되면 Vandermonde, cauchy가 설정되면 Cauchy입니다
         <source>No</source>
         <target>아니오</target>
       </trans-unit>
+      <trans-unit id="baf918eed9d4050cdad2acebc0f27b6eaf8e3fcd" datatype="html">
+        <source>Required rules for passwords:</source>
+        <target>Required rules for passwords:</target>
+      </trans-unit>
+      <trans-unit id="40f61909e1f017c4652e64b055089beef19cf871" datatype="html">
+        <source>Must contain at least 
+          <x id="INTERPOLATION" equiv-text="{{length}}"/> characters
+        </source>
+        <target>Must contain at least 
+          <x id="INTERPOLATION" equiv-text="{{length}}"/> characters
+        </target>
+      </trans-unit>
+      <trans-unit id="f4f5dbb3a05b5f38dab47ef38dad88a4574a765a" datatype="html">
+        <source>Must not be the same as the previous one</source>
+        <target>Must not be the same as the previous one</target>
+      </trans-unit>
+      <trans-unit id="607370e07b50087c196a5fcea9184e3d693226b2" datatype="html">
+        <source>Cannot contain the username</source>
+        <target>Cannot contain the username</target>
+      </trans-unit>
+      <trans-unit id="e6e355eab2596251aaa42623b41e6026d5c03e3b" datatype="html">
+        <source>Cannot contain any configured keyword</source>
+        <target>Cannot contain any configured keyword</target>
+      </trans-unit>
+      <trans-unit id="394bcd6d5e4da75b720c4d28f94f2aef7bb38355" datatype="html">
+        <source>Cannot contain any repetitive characters e.g. "aaa"</source>
+        <target>Cannot contain any repetitive characters e.g. "aaa"</target>
+      </trans-unit>
+      <trans-unit id="030e61e0bcf2536fb047645db6182d43e9fca9e9" datatype="html">
+        <source>Cannot contain any sequential characters e.g. "abc"</source>
+        <target>Cannot contain any sequential characters e.g. "abc"</target>
+      </trans-unit>
       <trans-unit id="99fa0b67376d40142bd4d3ace3344abf4f98b6a5" datatype="html">
         <source>Your matcher seems to match no currently defined rule or active alert.</source>
         <target>Your matcher seems to match no currently defined rule or active alert.</target>
@@ -4374,10 +5231,6 @@ reed_sol_van이 설정되면 Vandermonde, cauchy가 설정되면 Cauchy입니다
         <source>Deleting</source>
         <target>삭제 중</target>
       </trans-unit>
-      <trans-unit id="70ef158c584bafe788e319a0bffa11b02ee9abf1" datatype="html">
-        <source>delete</source>
-        <target>삭제</target>
-      </trans-unit>
       <trans-unit id="d07a282afc7fbdb39cea6e1c9b544882a7260a86" datatype="html">
         <source>Adding</source>
         <target>Adding</target>
@@ -4394,6 +5247,18 @@ reed_sol_van이 설정되면 Vandermonde, cauchy가 설정되면 Cauchy입니다
         <source>remove</source>
         <target>remove</target>
       </trans-unit>
+      <trans-unit id="0e21237afdc84ec360c374fa678d9b1cfaa334f9" datatype="html">
+        <source>Importing</source>
+        <target>Importing</target>
+      </trans-unit>
+      <trans-unit id="c6b4128c006f4cc0564137e1a1482b5c432aa347" datatype="html">
+        <source>import</source>
+        <target>import</target>
+      </trans-unit>
+      <trans-unit id="3b9f4138abbca0fd66db1f7332f4b54e2a6d916d" datatype="html">
+        <source>Imported</source>
+        <target>Imported</target>
+      </trans-unit>
       <trans-unit id="3f757cfc3749ebb5d4462017cb60138ca082f15f" datatype="html">
         <source>RBD '
           <x id="INTERPOLATION" equiv-text="{{id}}"/>'
@@ -4410,6 +5275,14 @@ reed_sol_van이 설정되면 Vandermonde, cauchy가 설정되면 Cauchy입니다
           <x id="INTERPOLATION" equiv-text="{{id}}"/>'
         </target>
       </trans-unit>
+      <trans-unit id="2bf18ddf3785f7afb4f01dcf63d3d8c40f4bfba5" datatype="html">
+        <source>mirroring site name</source>
+        <target>mirroring site name</target>
+      </trans-unit>
+      <trans-unit id="167b73bb24b4695614ce0fc567b7a45080457a44" datatype="html">
+        <source>bootstrap token</source>
+        <target>bootstrap token</target>
+      </trans-unit>
       <trans-unit id="4fb54a0291f49583c317d4a3690239141b5a8f68" datatype="html">
         <source>mirror mode for pool '
           <x id="INTERPOLATION" equiv-text="{{id}}"/>'
@@ -4430,6 +5303,14 @@ reed_sol_van이 설정되면 Vandermonde, cauchy가 설정되면 Cauchy입니다
         <source>all dashboards</source>
         <target>all dashboards</target>
       </trans-unit>
+      <trans-unit id="6c19652df9249c60827044ed6274933cab180c63" datatype="html">
+        <source>OSDs (DriveGroups: 
+          <x id="INTERPOLATION" equiv-text="{{tracking_id}}"/>)
+        </source>
+        <target>OSDs (DriveGroups: 
+          <x id="INTERPOLATION" equiv-text="{{tracking_id}}"/>)
+        </target>
+      </trans-unit>
       <trans-unit id="1b559dbd9cc9664fd788c2da9a10d3abafe066cb" datatype="html">
         <source>Name is already used by 
           <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.
@@ -4454,6 +5335,14 @@ reed_sol_van이 설정되면 Vandermonde, cauchy가 설정되면 Cauchy입니다
           <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.
         </target>
       </trans-unit>
+      <trans-unit id="460f07780389d24c6a540c007c7367a56afad585" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> is busy.
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> is busy.
+        </target>
+      </trans-unit>
       <trans-unit id="1ff7676ad1e991102224540a32dd44ad1ab88aa8" datatype="html">
         <source>
           <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.
@@ -4608,6 +5497,28 @@ reed_sol_van이 설정되면 Vandermonde, cauchy가 설정되면 Cauchy입니다
         <source>Cannot disable mirroring because it contains a peer.</source>
         <target>피어가 포함되어 있기 때문에 미러링을 비활성화 할 수 없습니다.</target>
       </trans-unit>
+      <trans-unit id="5c4525a1b76ca54d1aadeaecfdb83aedc2eec6e0" datatype="html">
+        <source>Identifying</source>
+        <target>Identifying</target>
+      </trans-unit>
+      <trans-unit id="ffd067e54a061d1f27cb35f0cf67ef7f29e19111" datatype="html">
+        <source>identify</source>
+        <target>identify</target>
+      </trans-unit>
+      <trans-unit id="7c921f339274688c22ba1acac7af6b097ad3599d" datatype="html">
+        <source>Identified</source>
+        <target>Identified</target>
+      </trans-unit>
+      <trans-unit id="3307492c27c2150cd26c514030444e11fd61089f" datatype="html">
+        <source>device '
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>' on host '
+          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>'
+        </source>
+        <target>device '
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>' on host '
+          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="f123ae1fc3b000e5d08e766dd78bff162afe709d" datatype="html">
         <source>host '
           <x id="INTERPOLATION" equiv-text="{{hostname}}"/>'
@@ -4616,6 +5527,14 @@ reed_sol_van이 설정되면 Vandermonde, cauchy가 설정되면 Cauchy입니다
           <x id="INTERPOLATION" equiv-text="{{hostname}}"/>'
         </target>
       </trans-unit>
+      <trans-unit id="c1af76189dcefd094da2bc1a4a63968f3bab5789" datatype="html">
+        <source>OSD '
+          <x id="INTERPOLATION" equiv-text="{{svc_id}}"/>'
+        </source>
+        <target>OSD '
+          <x id="INTERPOLATION" equiv-text="{{svc_id}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="dfe70001dc590a9e12512cbb206aa29fb36fd00b" datatype="html">
         <source>pool '
           <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>'
@@ -4632,6 +5551,14 @@ reed_sol_van이 설정되면 Vandermonde, cauchy가 설정되면 Cauchy입니다
           <x id="INTERPOLATION" equiv-text="{{name}}"/>'
         </target>
       </trans-unit>
+      <trans-unit id="79052d6c47258dc19ada12dbb2563761102b6f1d" datatype="html">
+        <source>crush rule '
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>'
+        </source>
+        <target>crush rule '
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="369462e5e018360e0600bb570866201ad5c3c8a8" datatype="html">
         <source>target '
           <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>'
@@ -4648,50 +5575,6 @@ reed_sol_van이 설정되면 Vandermonde, cauchy가 설정되면 Cauchy입니다
           <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>
         </target>
       </trans-unit>
-      <trans-unit id="54bf6542e39412f83ec883266f443e31b304c937" datatype="html">
-        <source>Required rules for password complexity:
-    - must contain at least 8 characters
-    - cannot contain username
-    - cannot contain any keyword used in Ceph
-    - cannot contain any repetitive characters e.g. "aaa"
-    - cannot contain any sequencial characters e.g. "abc"
-    - must consist of characters from the following groups:
-      * alphabetic a-z, A-Z
-      * numbers 0-9
-      * special chars: !"#$%&amp; '()*+,-./:;&lt;=&gt;?@[\]^_`
-          <x id="INTERPOLATION" equiv-text="{{|}}"/>~
-      * any other characters (signs)
-        </source>
-        <target>Required rules for password complexity:
-    - must contain at least 8 characters
-    - cannot contain username
-    - cannot contain any keyword used in Ceph
-    - cannot contain any repetitive characters e.g. "aaa"
-    - cannot contain any sequencial characters e.g. "abc"
-    - must consist of characters from the following groups:
-      * alphabetic a-z, A-Z
-      * numbers 0-9
-      * special chars: !"#$%&amp; '()*+,-./:;&lt;=&gt;?@[\]^_`
-          <x id="INTERPOLATION" equiv-text="{{|}}"/>~
-      * any other characters (signs)
-        </target>
-      </trans-unit>
-      <trans-unit id="ba575e9364b43dc870e332265c5182bb357b7a49" datatype="html">
-        <source>Weak</source>
-        <target>Weak</target>
-      </trans-unit>
-      <trans-unit id="7e6c975ebea8b5f8b120905ca7acf9f8edf59d8e" datatype="html">
-        <source>OK</source>
-        <target>OK</target>
-      </trans-unit>
-      <trans-unit id="3f7349017a01eed18c3daf2b7295ca96ef442eb6" datatype="html">
-        <source>Strong</source>
-        <target>Strong</target>
-      </trans-unit>
-      <trans-unit id="a1e3aecc2022cb0ebed8575a24d0e29d2de815c6" datatype="html">
-        <source>Very strong</source>
-        <target>Very strong</target>
-      </trans-unit>
     </body>
   </file>
 </xliff>
\ No newline at end of file
index 4416dcbac373fc7b3b03df5cfc7f096bd977fec2..9a02945de6c616d892d8bf20f1fe8e788c9f0a81 100644 (file)
         <source>Logs</source>
         <target>Logi</target>
       </trans-unit>
-      <trans-unit id="9fe218829514884cdd0ca2300573a4e0428c324f" datatype="html">
-        <source>Alerts</source>
-        <target>Powiadomienia</target>
-      </trans-unit>
-      <trans-unit id="aa0c44aa1e5727061baa91e954f77e2f5f9a37c9" datatype="html">
-        <source>Silences</source>
-        <target>Silences</target>
+      <trans-unit id="17fc3efe5f9fa4e0289c900cb6202265215a1a27" datatype="html">
+        <source>Monitoring</source>
+        <target>Monitoring</target>
       </trans-unit>
       <trans-unit id="92899fa68e8ca108912163ff58edc8540e453787" datatype="html">
         <source>Pools</source>
         <source>Back</source>
         <target>Wstecz</target>
       </trans-unit>
+      <trans-unit id="9ce641535be1ffa106c87724ba0637facaef5f61" datatype="html">
+        <source>Your password will expire in 
+          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>less than 1
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day. Click
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.
+        </source>
+        <target>Your password will expire in 
+          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>less than 1
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day. Click
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.
+        </target>
+      </trans-unit>
+      <trans-unit id="c2f34088c155e40ffb23770a465a65868ce772b2" datatype="html">
+        <source>Your password will expire in 
+          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
+          <x id="INTERPOLATION" equiv-text="{{ expirationDays }}"/>
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day(s). Click
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.
+        </source>
+        <target>Your password will expire in 
+          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
+          <x id="INTERPOLATION" equiv-text="{{ expirationDays }}"/>
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day(s). Click
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.
+        </target>
+      </trans-unit>
+      <trans-unit id="9b516f972c744779257310b73f6e97438b726707" datatype="html">
+        <source>Orchestrator is not available. Please consult the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to
+  configure and enable the functionality.
+        </source>
+        <target>Orchestrator is not available. Please consult the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to
+  configure and enable the functionality.
+        </target>
+      </trans-unit>
       <trans-unit id="012741ee52b3c050e4a977c37cc2334f7974f141" datatype="html">
         <source>Failed to load data.</source>
         <target>Błąd wczytywania danych.</target>
       </trans-unit>
+      <trans-unit id="1e5e23363e949f7dcbaf034bdb141a561132a10e" datatype="html">
+        <source>Clear filters</source>
+        <target>Clear filters</target>
+      </trans-unit>
       <trans-unit id="80cc9a12d4bf6fe454ed94b379eeaf915f920bb7" datatype="html">
         <source>selected</source>
         <target>Wybrane</target>
         <source>Values</source>
         <target>Wartości</target>
       </trans-unit>
+      <trans-unit id="5894f7158499fdb89527af50c9f1cf7d4c95cad6" datatype="html">
+        <source>-- Default --</source>
+        <target>-- Default --</target>
+      </trans-unit>
+      <trans-unit id="514f6e12d035a6d9b00de6b3e55c18b73488da07" datatype="html">
+        <source>true</source>
+        <target>true</target>
+      </trans-unit>
+      <trans-unit id="774f5e6a183dea08393789b6f72e86afad729419" datatype="html">
+        <source>false</source>
+        <target>false</target>
+      </trans-unit>
       <trans-unit id="82029b6db704c56a2aa3e82ac555b8655356b077" datatype="html">
         <source>The entered value is too high! It must not be greater than 
           <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.
         <source>Cancel</source>
         <target>Anuluj</target>
       </trans-unit>
+      <trans-unit id="55a2f26b2e87886d9b8015a887e38e51ab2a866a" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>
+          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>
+          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8" datatype="html">
+        <source>Close</source>
+        <target>Zamknij</target>
+      </trans-unit>
       <trans-unit id="40661476cb24c89d8b06614998e31d5fbe84eeb6" datatype="html">
         <source>Hosts List</source>
         <target>Lista hostów</target>
         <source>Overall Performance</source>
         <target>Całkowita wydajność</target>
       </trans-unit>
-      <trans-unit id="6bc15dc1a621b6ff7378db7fd3ac10b2a2627c77" datatype="html">
-        <source>Please consult the
-          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
-          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to
-  configure and enable the orchestrator functionality.
-        </source>
-        <target>Please consult the
-          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
-          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to
-  configure and enable the orchestrator functionality.
-        </target>
-      </trans-unit>
       <trans-unit id="3e24569eca61d598c8b01defbbbb1fa8bd5222bc" datatype="html">
         <source>Devices</source>
         <target>Devices</target>
         <source>Not In Quorum</source>
         <target>Nie w kworum</target>
       </trans-unit>
+      <trans-unit id="4383e9662ea19839c7499b2128d43a195e564317" datatype="html">
+        <source>OSD creation preview</source>
+        <target>OSD creation preview</target>
+      </trans-unit>
+      <trans-unit id="366225c51e0b00bcb1c55795a0dc5e81c455f84e" datatype="html">
+        <source>DriveGroups</source>
+        <target>DriveGroups</target>
+      </trans-unit>
+      <trans-unit id="8edc89137d0d8c5667a2f03230beafae45e58429" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{ deviceType }}"/> devices
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{ deviceType }}"/> devices
+        </target>
+      </trans-unit>
+      <trans-unit id="eba28e1805b18f7c8ae2e4bc15dcf063b10b3822" datatype="html">
+        <source>At least one of these filters must be applied in order to proceed:</source>
+        <target>At least one of these filters must be applied in order to proceed:</target>
+      </trans-unit>
+      <trans-unit id="93389aa2fe2bea50bf89554ee51b28f87ee2fb50" datatype="html">
+        <source>Number of devices: 
+          <x id="INTERPOLATION" equiv-text="{{ filteredDevices.length }}"/>. Raw capacity:
+          <x id="INTERPOLATION_1" equiv-text="{{ capacity | dimlessBinary }}"/>.
+        </source>
+        <target>Number of devices: 
+          <x id="INTERPOLATION" equiv-text="{{ filteredDevices.length }}"/>. Raw capacity:
+          <x id="INTERPOLATION_1" equiv-text="{{ capacity | dimlessBinary }}"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="ccb4f84edc0b4e76415bb3f9b73d725b06683af3" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{ name }}"/> devices
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{ name }}"/> devices
+        </target>
+      </trans-unit>
+      <trans-unit id="60cb3d01e5ddf266ecb4271007a1c3d0f3efdc22" datatype="html">
+        <source>The primary storage devices. These devices contain all OSD data.</source>
+        <target>The primary storage devices. These devices contain all OSD data.</target>
+      </trans-unit>
+      <trans-unit id="b432e04886d0d1fd84f740477383051f85addcf2" datatype="html">
+        <source>Write-Ahead-Log devices. These devices are used for BlueStore’s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device.</source>
+        <target>Write-Ahead-Log devices. These devices are used for BlueStore’s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device.</target>
+      </trans-unit>
+      <trans-unit id="b87e181ab9e8393aa5ed759dd3d53836e32c8ffe" datatype="html">
+        <source>DB devices can be used for storing BlueStore’s internal metadata.  It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD).</source>
+        <target>DB devices can be used for storing BlueStore’s internal metadata.  It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD).</target>
+      </trans-unit>
+      <trans-unit id="f6755cff4957d5c3c89bafce5651f1b6fa2b1fd9" datatype="html">
+        <source>Add</source>
+        <target>Dodaj</target>
+      </trans-unit>
+      <trans-unit id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46" datatype="html">
+        <source>Clear</source>
+        <target>Clear</target>
+      </trans-unit>
+      <trans-unit id="7e0fd3c7af0630f93befa6234a693a32a61084e0" datatype="html">
+        <source>Raw capacity: 
+          <x id="INTERPOLATION" equiv-text="{{ capacity | dimlessBinary }}"/>
+        </source>
+        <target>Raw capacity: 
+          <x id="INTERPOLATION" equiv-text="{{ capacity | dimlessBinary }}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="43ecf6bee2aebc07b0aad6dc1fe13e38d14687fa" datatype="html">
+        <source>Shared devices</source>
+        <target>Shared devices</target>
+      </trans-unit>
+      <trans-unit id="7a1c376f6f1b37de4c318ff2106255ba6c0f5b0b" datatype="html">
+        <source>WAL slots</source>
+        <target>WAL slots</target>
+      </trans-unit>
+      <trans-unit id="73811a6f37b63e6b0e491e221bfa21e9dea8a87a" datatype="html">
+        <source>How many OSDs per WAL device.</source>
+        <target>How many OSDs per WAL device.</target>
+      </trans-unit>
+      <trans-unit id="0c67a7ac4762ef1cc855056c6b4daab93e53a0a5" datatype="html">
+        <source>Specify 0 to let Orchestrator backend decide it.</source>
+        <target>Specify 0 to let Orchestrator backend decide it.</target>
+      </trans-unit>
+      <trans-unit id="7bda9362e06e6c67341b4a8425b0d29d6b84464b" datatype="html">
+        <source>Value should be greater than or equal to 0</source>
+        <target>Value should be greater than or equal to 0</target>
+      </trans-unit>
+      <trans-unit id="324c2b10152b9dd908222bb0b71f61beb60a30c5" datatype="html">
+        <source>DB slots</source>
+        <target>DB slots</target>
+      </trans-unit>
+      <trans-unit id="c23cf12ef9c76f37fc7a4b7ae3e00fb0f68b6e26" datatype="html">
+        <source>How many OSDs per DB device.</source>
+        <target>How many OSDs per DB device.</target>
+      </trans-unit>
+      <trans-unit id="6cdb1fea93d77c07950c0c76c6e0ad79ebbef084" datatype="html">
+        <source>Features</source>
+        <target>Funkcje</target>
+      </trans-unit>
+      <trans-unit id="3e2a583f531f7dd9f089f68a6968e444c372c3e8" datatype="html">
+        <source>Preview</source>
+        <target>Preview</target>
+      </trans-unit>
       <trans-unit id="5ef50ba2514414f799d4c8fc36067a251904ba81" datatype="html">
         <source>Cluster-wide OSD Flags</source>
         <target>Flagi OSD w całym klastrze</target>
         <source>{VAR_SELECT, select, 1 {Deep } }</source>
         <target>{VAR_SELECT, wybierz, 1 {Głębokość} }</target>
       </trans-unit>
-      <trans-unit id="2613498e8e5853c26a1cc62ae8dc673d1fdf0e2a" datatype="html">
+      <trans-unit id="fd0a4b6eed32e3488eccdc9c13f9841f08cc275e" datatype="html">
         <source>You are about to apply a 
           <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to
           the OSD(s): 
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
-          <x id="INTERPOLATION" equiv-text="{{ selected | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ selected | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.
         </source>
         <target>You are about to apply a 
           <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to
           the OSD(s): 
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
-          <x id="INTERPOLATION" equiv-text="{{ selected | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ selected | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.
         </target>
       </trans-unit>
         <source>OSDs List</source>
         <target>Lista OSD-ków </target>
       </trans-unit>
-      <trans-unit id="c402e6ec1c6792ede81f56c28eee8955860391c8" datatype="html">
+      <trans-unit id="d5707a32ba9c1138e6423498fb0b24e970ebd19f" datatype="html">
         <source>
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) 
-          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
           <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>
         </source>
         <target>
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) 
-          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
           <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.
         </target>
       </trans-unit>
-      <trans-unit id="d2797d01ba86f5df03d875803e49e648a4027869" datatype="html">
+      <trans-unit id="d08c1e4f17dffc0ed1ac2e2e2875cb8b569eeb35" datatype="html">
         <source>The 
-          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to destroy!
+          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to be 
+          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>! 
+          <x id="INTERPOLATION_1" equiv-text="{{ message }}"/>
         </source>
         <target>The 
-          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to destroy!
+          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to be 
+          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>! 
+          <x id="INTERPOLATION_1" equiv-text="{{ message }}"/>
         </target>
       </trans-unit>
       <trans-unit id="e776996dac651ef3819bfa767ccf2a0613759f47" datatype="html">
         <source>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</source>
         <target>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</target>
       </trans-unit>
-      <trans-unit id="1e2c50ed3c3934ef068976dc7f38513cec29d515" datatype="html">
+      <trans-unit id="5cd6a031937412c42e5efa1e6959cb72ac08c720" datatype="html">
         <source>
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD 
-          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
           <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>
         </source>
         <target>
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD 
-          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
           <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.
         </target>
       </trans-unit>
-      <trans-unit id="4f8b2bb476981727ab34ed40fde1218361f92c45" datatype="html">
-        <source>Details</source>
-        <target>Szczegóły</target>
+      <trans-unit id="3eda19b44809820fffd5d3753bafb7243116f4b0" datatype="html">
+        <source>To see all active Prometheus alerts, please
+      provide the URL to the API of Prometheus' Alertmanager as described in the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.
+        </source>
+        <target>To see all active Prometheus alerts, please
+      provide the URL to the API of Prometheus' Alertmanager as described in the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="880ad4df5a2051a437321443d69c9a866699e5ad" datatype="html">
+        <source>Active Alerts</source>
+        <target>Active Alerts</target>
+      </trans-unit>
+      <trans-unit id="8e5e0e09a11990d343926ed693574213d703c38d" datatype="html">
+        <source>All Alerts</source>
+        <target>All Alerts</target>
+      </trans-unit>
+      <trans-unit id="526938c2b7945cb0d68328c24bd77730230cd455" datatype="html">
+        <source>To enable Silences, please provide the URL to the API of the Prometheus' Alertmanager as
+      described in the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.
+        </source>
+        <target>To enable Silences, please provide the URL to the API of the Prometheus' Alertmanager as
+      described in the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="aa0c44aa1e5727061baa91e954f77e2f5f9a37c9" datatype="html">
+        <source>Silences</source>
+        <target>Silences</target>
       </trans-unit>
       <trans-unit id="8501055865d7031b5521a0c5467532648009a61d" datatype="html">
         <source>Matcher</source>
         <source>{VAR_SELECT, select, 1 {Update} other {Add} }</source>
         <target>{VAR_SELECT, select, 1 {Update} other {Add} }</target>
       </trans-unit>
-      <trans-unit id="f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8" datatype="html">
-        <source>Close</source>
-        <target>Zamknij</target>
-      </trans-unit>
       <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c" datatype="html">
         <source>Edit</source>
         <target>Edytuj</target>
         <source>End time</source>
         <target>End time</target>
       </trans-unit>
-      <trans-unit id="dbe739ec8c99a0132e326067ffec9c0ee06b2655" datatype="html">
-        <source>Matchers
-          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>*
-          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>
-        </source>
-        <target>Matchers
-          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>*
-          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>
-        </target>
+      <trans-unit id="992123459137d45c15df5548bc9682aad835c04b" datatype="html">
+        <source>Matchers</source>
+        <target>Matchers</target>
       </trans-unit>
       <trans-unit id="3e023166c55833d5a13f4143e3dbe372befe1b4e" datatype="html">
         <source>A silence requires at least one matcher</source>
         <source>CephFS</source>
         <target>CephFS</target>
       </trans-unit>
+      <trans-unit id="0eb15f32b2b92d7f3103ef3ff032621888a8dc32" datatype="html">
+        <source>Old password</source>
+        <target>Old password</target>
+      </trans-unit>
+      <trans-unit id="1cf42e491adc166a337a960eb84d03c0c3f677c8" datatype="html">
+        <source>The old and new passwords must be different.</source>
+        <target>The old and new passwords must be different.</target>
+      </trans-unit>
+      <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229" datatype="html">
+        <source>New password</source>
+        <target>New password</target>
+      </trans-unit>
+      <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b" datatype="html">
+        <source>Confirm new password</source>
+        <target>Confirm new password</target>
+      </trans-unit>
+      <trans-unit id="90163a3d3746819aef42e829f4446331232f3b66" datatype="html">
+        <source>Password confirmation doesn't match the new password.</source>
+        <target>Password confirmation doesn't match the new password.</target>
+      </trans-unit>
+      <trans-unit id="d06ae77f9ec46a4cdd49e7e76c73a411aaf2ee38" datatype="html">
+        <source>Please set a new password.</source>
+        <target>Please set a new password.</target>
+      </trans-unit>
+      <trans-unit id="8b5b3566e88438f51bd5f6caf6c090ed565ba5ed" datatype="html">
+        <source>You will be redirected to the login page afterwards.</source>
+        <target>You will be redirected to the login page afterwards.</target>
+      </trans-unit>
       <trans-unit id="449dca3d3a93ead418b0541ea81b0dda7e6483c2" datatype="html">
         <source>Welcome to Ceph!</source>
         <target>Witamy w Cephie! </target>
           <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You'll be logged out from the Identity Provider when you retry logging in.
         </target>
       </trans-unit>
-      <trans-unit id="0eb15f32b2b92d7f3103ef3ff032621888a8dc32" datatype="html">
-        <source>Old password</source>
-        <target>Old password</target>
-      </trans-unit>
-      <trans-unit id="1cf42e491adc166a337a960eb84d03c0c3f677c8" datatype="html">
-        <source>The old and new passwords must be different.</source>
-        <target>The old and new passwords must be different.</target>
-      </trans-unit>
-      <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229" datatype="html">
-        <source>New password</source>
-        <target>New password</target>
-      </trans-unit>
-      <trans-unit id="595ebc9279497f6dc733777e2816bee936901388" datatype="html">
-        <source>Too weak</source>
-        <target>Too weak</target>
-      </trans-unit>
-      <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b" datatype="html">
-        <source>Confirm new password</source>
-        <target>Confirm new password</target>
-      </trans-unit>
-      <trans-unit id="90163a3d3746819aef42e829f4446331232f3b66" datatype="html">
-        <source>Password confirmation doesn't match the new password.</source>
-        <target>Password confirmation doesn't match the new password.</target>
-      </trans-unit>
       <trans-unit id="471e78026c258073ba687478dc54c35d9041ea42" datatype="html">
         <source>Forbidden</source>
         <target>Zakazany</target>
         <source>Sorry, you are not allowed to see what you were looking for.</source>
         <target>Przepraszam, nie masz dostępu do tego czego szukasz. </target>
       </trans-unit>
-      <trans-unit id="e3c028c58f92453d46f09b5adf95b2f013ee0300" datatype="html">
-        <source>Sorry, we could not find what you were looking for</source>
-        <target>Przepraszam, nie możemy znaleźć tego czego szukasz.</target>
+      <trans-unit id="2240b985f17293d84cc8532fe86994aa5f63667c" datatype="html">
+        <source>Sorry, we could not find what you were looking for.</source>
+        <target>Sorry, we could not find what you were looking for.</target>
+      </trans-unit>
+      <trans-unit id="ac54c18c1b520e948095c83a3a1025f02ce6dcc6" datatype="html">
+        <source>Neither hostname nor OSD ID given</source>
+        <target>Neither hostname nor OSD ID given</target>
+      </trans-unit>
+      <trans-unit id="4f635b3cb0600409a2ad44a5bd1863c699e6a01c" datatype="html">
+        <source>Failed to retrieve SMART data.</source>
+        <target>Failed to retrieve SMART data.</target>
+      </trans-unit>
+      <trans-unit id="d82a9af5b05e7cd17640f196f163771685ff8df6" datatype="html">
+        <source>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</source>
+        <target>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</target>
+      </trans-unit>
+      <trans-unit id="04f8a3c7e8ac610e6581960162cc15f55a16696a" datatype="html">
+        <source>No SMART data available.</source>
+        <target>No SMART data available.</target>
+      </trans-unit>
+      <trans-unit id="3a03d3c2e459f8f8fa7202c0fce465d6165f9e2b" datatype="html">
+        <source>passed</source>
+        <target>passed</target>
+      </trans-unit>
+      <trans-unit id="a185c9b97513b3882604ea9bab60edbfac945c15" datatype="html">
+        <source>SMART overall-health self-assessment test result</source>
+        <target>SMART overall-health self-assessment test result</target>
+      </trans-unit>
+      <trans-unit id="41435d5a5692c8e412c74deaee95d99dbd3617e1" datatype="html">
+        <source>failed</source>
+        <target>failed</target>
+      </trans-unit>
+      <trans-unit id="ddd5dd6d930030096ea617f62c82b648a0dd9484" datatype="html">
+        <source>Device Information</source>
+        <target>Device Information</target>
+      </trans-unit>
+      <trans-unit id="380295f37caea93701d071485a38ef0bdba57133" datatype="html">
+        <source>No SMART data available for this device.</source>
+        <target>No SMART data available for this device.</target>
+      </trans-unit>
+      <trans-unit id="20cb12827cbe559a7b1da6fdae96041b3b5c3c55" datatype="html">
+        <source>SMART</source>
+        <target>SMART</target>
+      </trans-unit>
+      <trans-unit id="5758c3f16f8749f0f4e2a787f02e8b4da246102f" datatype="html">
+        <source>SMART data is loading.</source>
+        <target>SMART data is loading.</target>
       </trans-unit>
       <trans-unit id="a949d7e577902d0e5dc5d0971bb0170a21be7728" datatype="html">
         <source>[object Object]</source>
         <source>The chosen erasure code profile name is already in use.</source>
         <target>Wybrana nazwa profilu kodu kasowania jest już używana.</target>
       </trans-unit>
+      <trans-unit id="35a4206db3105ed03e0dd799e1642b75b78123e8" datatype="html">
+        <source>Root</source>
+        <target>Root</target>
+      </trans-unit>
+      <trans-unit id="cf425784c7073c7e7f7c1bb90c2c19db7e751db2" datatype="html">
+        <source>Failure domain type</source>
+        <target>Failure domain type</target>
+      </trans-unit>
+      <trans-unit id="72396a9565cf644d1fe1b21b790c4243ee270986" datatype="html">
+        <source>Device class</source>
+        <target>Device class</target>
+      </trans-unit>
+      <trans-unit id="72d80e0c07bfea1b693a33ef2245007de92a6780" datatype="html">
+        <source>Let Ceph decide</source>
+        <target>Let Ceph decide</target>
+      </trans-unit>
       <trans-unit id="ef9ff0e6227947b48dfab4ac39ade04af758913b" datatype="html">
         <source>Plugin</source>
         <target>Wtyczka</target>
         <target>It's not possible to create an RBD pool with '/' in the name.
               Please change the name or remove 'rbd' from the applications list.</target>
       </trans-unit>
+      <trans-unit id="171dc6d5c6bc4615d99778b0088cae80fd00bd10" datatype="html">
+        <source>Pool name can only contain letters, numbers, '.', '-', '_' or '/'.</source>
+        <target>Pool name can only contain letters, numbers, '.', '-', '_' or '/'.</target>
+      </trans-unit>
       <trans-unit id="b85c657469e5ec8231c3de99b22f437bc01ffde5" datatype="html">
         <source>Pool type</source>
         <target>Typ pula</target>
         <source>-- Select a pool type --</source>
         <target>-- Wybierz typ pula --</target>
       </trans-unit>
+      <trans-unit id="6abfbe47b630929d93c7343dc154599c2e59330a" datatype="html">
+        <source>PG Autoscale</source>
+        <target>PG Autoscale</target>
+      </trans-unit>
       <trans-unit id="0aa21053410a94aa61d16985a4e95fd65523430d" datatype="html">
         <source>Placement groups</source>
         <target>Grupa umieszczenia</target>
         <target>The current PGs settings were calculated for you, you
                 should make sure the values suit your needs before submit.</target>
       </trans-unit>
-      <trans-unit id="33150f22ce5348aa6c499bd092c3f4f3695d62cc" datatype="html">
-        <source>Crush ruleset</source>
-        <target>zbiór zasad Crush</target>
-      </trans-unit>
-      <trans-unit id="73a6b31116b3cc322af951daa0bafdc169e6c42e" datatype="html">
-        <source>-- Select a crush rule --</source>
-        <target>-- Wybierz zasadę Crush --</target>
-      </trans-unit>
-      <trans-unit id="92da80699921e89fb19372e25b8d0f3b9fa427fc" datatype="html">
-        <source>Crush rule</source>
-        <target>zasada Crush</target>
-      </trans-unit>
-      <trans-unit id="5489e9f96835f469f6f728a00d8efa88ea5bc940" datatype="html">
-        <source>Crush steps</source>
-        <target>Kroki Crush</target>
-      </trans-unit>
-      <trans-unit id="54a53b1b402aafff5b992ee9b64e409fbfe9074f" datatype="html">
-        <source>The rule can't be used in the current cluster as it has
-                to few OSDs to meet the minimum required OSD by this rule.</source>
-        <target>Zasada nie może być użyta w obecnym klastrze, gdyż ma
-zbyt mało OSD-ków, żeby spełnić minimum OSD-ków wymaganych przez tę zasadę.</target>
-      </trans-unit>
       <trans-unit id="a43b2695131b48b76cebba676aba98a2bee17515" datatype="html">
         <source>Replicated size</source>
         <target>Replikowany rozmiar</target>
@@ -1269,6 +1503,22 @@ zbyt mało OSD-ków, żeby spełnić minimum OSD-ków wymaganych przez tę zasad
           <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.
         </target>
       </trans-unit>
+      <trans-unit id="920617c6a1a4805e53bcb5af6a9c76f8387e89c6" datatype="html">
+        <source>Flags</source>
+        <target>Flagi</target>
+      </trans-unit>
+      <trans-unit id="1c870fb00256b8a5b9cb9cd1a124e6390b9bc639" datatype="html">
+        <source>EC Overwrites</source>
+        <target>EC Nadpisuje</target>
+      </trans-unit>
+      <trans-unit id="f1abafaeb40ce52355ddcc24686e3cd17b64e08a" datatype="html">
+        <source>Applications</source>
+        <target>Zastosowania</target>
+      </trans-unit>
+      <trans-unit id="fb9308b82fc183f710df60909f49cfc73aa5e076" datatype="html">
+        <source>CRUSH</source>
+        <target>CRUSH</target>
+      </trans-unit>
       <trans-unit id="9de7dde00e2139cc4bd03b1837afbe72ad15a1ff" datatype="html">
         <source>Erasure code profile</source>
         <target>Skasuj profil kodu.</target>
@@ -1281,17 +1531,47 @@ zbyt mało OSD-ków, żeby spełnić minimum OSD-ków wymaganych przez tę zasad
         <source>-- Select an erasure code profile --</source>
         <target>-- Wybierz profil kodu wymazywania --</target>
       </trans-unit>
-      <trans-unit id="920617c6a1a4805e53bcb5af6a9c76f8387e89c6" datatype="html">
-        <source>Flags</source>
-        <target>Flagi</target>
+      <trans-unit id="33150f22ce5348aa6c499bd092c3f4f3695d62cc" datatype="html">
+        <source>Crush ruleset</source>
+        <target>zbiór zasad Crush</target>
       </trans-unit>
-      <trans-unit id="1c870fb00256b8a5b9cb9cd1a124e6390b9bc639" datatype="html">
-        <source>EC Overwrites</source>
-        <target>EC Nadpisuje</target>
+      <trans-unit id="c69b0bcd4698aa845d32c4c4ad488492552cb469" datatype="html">
+        <source>A new crush ruleset will be implicitly created.</source>
+        <target>A new crush ruleset will be implicitly created.</target>
       </trans-unit>
-      <trans-unit id="f1abafaeb40ce52355ddcc24686e3cd17b64e08a" datatype="html">
-        <source>Applications</source>
-        <target>Zastosowania</target>
+      <trans-unit id="896e9987db5e9bb279e6deed5d2dff28c242ef66" datatype="html">
+        <source>There are no rules.</source>
+        <target>There are no rules.</target>
+      </trans-unit>
+      <trans-unit id="73a6b31116b3cc322af951daa0bafdc169e6c42e" datatype="html">
+        <source>-- Select a crush rule --</source>
+        <target>-- Wybierz zasadę Crush --</target>
+      </trans-unit>
+      <trans-unit id="ea91d648f92002bc9f96d9b26b735c83ca0b53c6" datatype="html">
+        <source>This rule can't be deleted as it is in use.</source>
+        <target>This rule can't be deleted as it is in use.</target>
+      </trans-unit>
+      <trans-unit id="92da80699921e89fb19372e25b8d0f3b9fa427fc" datatype="html">
+        <source>Crush rule</source>
+        <target>zasada Crush</target>
+      </trans-unit>
+      <trans-unit id="5489e9f96835f469f6f728a00d8efa88ea5bc940" datatype="html">
+        <source>Crush steps</source>
+        <target>Kroki Crush</target>
+      </trans-unit>
+      <trans-unit id="fc5f5496a9e50fe69e1a09784f28d94944108294" datatype="html">
+        <source>Rule is not in use.</source>
+        <target>Rule is not in use.</target>
+      </trans-unit>
+      <trans-unit id="023d6f718770d2ea4ab8cabe26b0ec27ef967ec2" datatype="html">
+        <source>Used by pools</source>
+        <target>Used by pools</target>
+      </trans-unit>
+      <trans-unit id="104a0e6900d1d1b0c8cf9e5947e36edb352583fc" datatype="html">
+        <source>The rule can't be used in the current cluster as it has
+                  too few OSDs to meet the minimum required OSD by this rule.</source>
+        <target>The rule can't be used in the current cluster as it has
+                  too few OSDs to meet the minimum required OSD by this rule.</target>
       </trans-unit>
       <trans-unit id="2208d63d5940ce656006a220102b1eb2b5e553da" datatype="html">
         <source>Compression</source>
@@ -1377,6 +1657,10 @@ zbyt mało OSD-ków, żeby spełnić minimum OSD-ków wymaganych przez tę zasad
         <source>The value should be greater or equal to 0</source>
         <target>The value should be greater or equal to 0</target>
       </trans-unit>
+      <trans-unit id="4f8b2bb476981727ab34ed40fde1218361f92c45" datatype="html">
+        <source>Details</source>
+        <target>Szczegóły</target>
+      </trans-unit>
       <trans-unit id="fbbaf5cb02ed419e79a27072478f716a4666a99d" datatype="html">
         <source>Performance Details</source>
         <target>Szczegóły wydajności</target>
@@ -1385,15 +1669,108 @@ zbyt mało OSD-ków, żeby spełnić minimum OSD-ków wymaganych przez tę zasad
         <source>Cache Tiers Details</source>
         <target>Szczegóły poziomów pamięci podręcznej</target>
       </trans-unit>
+      <trans-unit id="ecbc084370a732fc3cde1966a60af78d71424ab4" datatype="html">
+        <source>Create Bootstrap Token</source>
+        <target>Create Bootstrap Token</target>
+      </trans-unit>
+      <trans-unit id="603e9cc3ef2aab57f2b0a00e465b23b9cabefd9c" datatype="html">
+        <source>To create a bootstrap token which can be imported
+          by a peer site cluster, provide the local site's name, select
+          which pools will have mirroring enabled, and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Generate
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </source>
+        <target>To create a bootstrap token which can be imported
+          by a peer site cluster, provide the local site's name, select
+          which pools will have mirroring enabled, and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Generate
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="660f97cd3188f8a04bd03b79e703fec72c6df04c" datatype="html">
+        <source>Site Name</source>
+        <target>Site Name</target>
+      </trans-unit>
+      <trans-unit id="8c2a1dc72cffaf7ab3dc5599bf77b0a7fcad2b20" datatype="html">
+        <source>At least one pool is required.</source>
+        <target>At least one pool is required.</target>
+      </trans-unit>
+      <trans-unit id="1b258b258b4cc475ceb2871305b61756b0134f4a" datatype="html">
+        <source>Generate</source>
+        <target>Generate</target>
+      </trans-unit>
+      <trans-unit id="1edc1fc6cfbbb22353050ad6788508b3ed584f53" datatype="html">
+        <source>Token</source>
+        <target>Token</target>
+      </trans-unit>
+      <trans-unit id="ff785f5596aef34a93b9b4d1023e95c62eef5740" datatype="html">
+        <source>Generated token...</source>
+        <target>Generated token...</target>
+      </trans-unit>
+      <trans-unit id="5467a6bb0e7fade6def7499400d5e2a7d8d3da20" datatype="html">
+        <source>Import Bootstrap Token</source>
+        <target>Import Bootstrap Token</target>
+      </trans-unit>
+      <trans-unit id="9bb7aee0dec5164f45c0aa2f35f2fb2149d2c1d2" datatype="html">
+        <source>To import a bootstrap token which was created
+          by a peer site cluster, provide the local site's name, select
+          which pools will have mirroring enabled, provide the generated
+          token, and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Import
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </source>
+        <target>To import a bootstrap token which was created
+          by a peer site cluster, provide the local site's name, select
+          which pools will have mirroring enabled, provide the generated
+          token, and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Import
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="9200e09686136a1d42adfb89c12fbfef2deea125" datatype="html">
+        <source>Direction</source>
+        <target>Direction</target>
+      </trans-unit>
+      <trans-unit id="9761484679958da8d12841a4efa5964d33fae575" datatype="html">
+        <source>The token is invalid.</source>
+        <target>The token is invalid.</target>
+      </trans-unit>
+      <trans-unit id="a059709f71aa4c0ac219e160e78a738682ca6a36" datatype="html">
+        <source>Import</source>
+        <target>Import</target>
+      </trans-unit>
+      <trans-unit id="b87bd96249f8afc23f5301cddb57b1464a98e71a" datatype="html">
+        <source>Edit site name</source>
+        <target>Edit site name</target>
+      </trans-unit>
+      <trans-unit id="cfff72c667274c12eb1ff71eadc25871c10c42dc" datatype="html">
+        <source>Edit the site name and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </source>
+        <target>Edit the site name and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="40b7acea5b43f45e0bbd1efeba5200af4687981d" datatype="html">
+        <source>Site Name:</source>
+        <target>Site Name:</target>
+      </trans-unit>
       <trans-unit id="f0b5d789d42c0e69348e5fe0037fcbf5b5fbbdcc" datatype="html">
         <source>Move an image to trash</source>
         <target>Przenieś obraz do kosza</target>
       </trans-unit>
-      <trans-unit id="86301cf2044b1eda218483365f6b9de8dde5040b" datatype="html">
+      <trans-unit id="7ad22c1d4aab3b8946603cea62de266d5129ca10" datatype="html">
+        <source>This image contains snapshot(s), which will prevent it
+            from being removed after moved to trash.</source>
+        <target>This image contains snapshot(s), which will prevent it
+            from being removed after moved to trash.</target>
+      </trans-unit>
+      <trans-unit id="b4b3ced4f8aad4c446f348b14c3d94be2e2c350c" datatype="html">
         <source>To move 
           <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>
-          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>/
-          <x id="INTERPOLATION_1" equiv-text="{{ imageName }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ imageSpecStr }}"/>
           <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,
           click 
           <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image
@@ -1401,8 +1778,7 @@ zbyt mało OSD-ków, żeby spełnić minimum OSD-ków wymaganych przez tę zasad
         </source>
         <target>To move 
           <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>
-          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>/
-          <x id="INTERPOLATION_1" equiv-text="{{ imageName }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ imageSpecStr }}"/>
           <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,
           click 
           <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image
@@ -1429,6 +1805,14 @@ zbyt mało OSD-ków, żeby spełnić minimum OSD-ków wymaganych przez tę zasad
         <source>Move Image</source>
         <target>Przenieś obraz</target>
       </trans-unit>
+      <trans-unit id="c9f1026c1235f4d76ace47449e806efd181ab332" datatype="html">
+        <source>Deleting this image will also delete all its snapshots.</source>
+        <target>Deleting this image will also delete all its snapshots.</target>
+      </trans-unit>
+      <trans-unit id="55f864597e84d9bf88769e1fbfda1d64452430c9" datatype="html">
+        <source>The following snapshots are currently protected and will be removed:</source>
+        <target>The following snapshots are currently protected and will be removed:</target>
+      </trans-unit>
       <trans-unit id="8a9910cd114c1deb9af74f6f99b4173403965bf2" datatype="html">
         <source>Gateways</source>
         <target>Gateways</target>
@@ -1553,10 +1937,6 @@ mogą zawierać jedynie litery, '.', '@', '-', '_' lub ':'.</target>
         <source>Object size</source>
         <target>Rozmiar obiektu</target>
       </trans-unit>
-      <trans-unit id="6cdb1fea93d77c07950c0c76c6e0ad79ebbef084" datatype="html">
-        <source>Features</source>
-        <target>Funkcje</target>
-      </trans-unit>
       <trans-unit id="0a65771c9a73b9aa609d592fc96a64801a8f40bd" datatype="html">
         <source>Provisioned</source>
         <target>Zaopatrzony</target>
@@ -1629,6 +2009,14 @@ mogą zawierać jedynie litery, '.', '@', '-', '_' lub ':'.</target>
         <source>-- Select a pool --</source>
         <target>-- Wybierz pul --</target>
       </trans-unit>
+      <trans-unit id="d649904466254d13df1fbf2d255f0bbc6553d213" datatype="html">
+        <source>-- No namespaces available --</source>
+        <target>-- No namespaces available --</target>
+      </trans-unit>
+      <trans-unit id="e22d7bb4d2d561e0832ee0b9a3da2468a080c4f0" datatype="html">
+        <source>-- Select a namespace --</source>
+        <target>-- Select a namespace --</target>
+      </trans-unit>
       <trans-unit id="49449943d8cbf59d8c401c8bd2e76f92e207cc5f" datatype="html">
         <source>Use a dedicated data pool</source>
         <target>Użyj dedykowanych danych pul </target>
@@ -1681,33 +2069,13 @@ mogą zawierać jedynie litery, '.', '@', '-', '_' lub ':'.</target>
         <source>Stripe count must be greater than 0.</source>
         <target>Licznik pasków musi być większy od 0.</target>
       </trans-unit>
-      <trans-unit id="3f67f30568e9ae47507d46e28e1e82a7dca772e2" datatype="html">
-        <source>
-          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> RBD Snapshot
-        </source>
-        <target>
-          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> RBD Snapshot
-        </target>
-      </trans-unit>
-      <trans-unit id="1628d19a4490817c18be2afab410ca4adfa62ea7" datatype="html">
-        <source>{VAR_SELECT, select, true {Rename} other {Create} }</source>
-        <target>{VAR_SELECT, wybierz, prawda {Zmień nazwe} inaczej{Utwórz} }</target>
-      </trans-unit>
-      <trans-unit id="73a287b41afe6b28f90edbeb98957a341a0276b4" datatype="html">
-        <source>
-          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> Snapshot
-        </source>
-        <target>
-          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> Snapshot
-        </target>
-      </trans-unit>
-      <trans-unit id="cb60c1cd3655234756b5b92d4d597d92d520ee30" datatype="html">
-        <source>PROTECTED</source>
-        <target>PROTECTED</target>
+      <trans-unit id="2c07d24bb422aa8e5e568df1c5709083f0a9c8f1" datatype="html">
+        <source>Create Namespace</source>
+        <target>Create Namespace</target>
       </trans-unit>
-      <trans-unit id="deffb86b8fb0541254ad5a43862d82bff6b6a6c4" datatype="html">
-        <source>UNPROTECTED</source>
-        <target>NIEZABEZPIECZONY </target>
+      <trans-unit id="0cca6c0485f96d3a9610d0339cb1275a5f2c3f46" datatype="html">
+        <source>Namespace already exists.</source>
+        <target>Namespace already exists.</target>
       </trans-unit>
       <trans-unit id="5c5331983af566d4ac6a1024d15a3511786a4aa6" datatype="html">
         <source>You are about to rollback</source>
@@ -1717,9 +2085,17 @@ mogą zawierać jedynie litery, '.', '@', '-', '_' lub ':'.</target>
         <source>Purge Trash</source>
         <target>Usuń Śmieci</target>
       </trans-unit>
-      <trans-unit id="af728625d769b61acf291442644b89edb88faec3" datatype="html">
-        <source>To purge, select one or All images and click</source>
-        <target>Aby usunąć, wybierz jeden albo wszystkie obrazy i kliknij </target>
+      <trans-unit id="681501eecd7f44d4b7a2f619605b36676e04c5b6" datatype="html">
+        <source>To purge, select one or</source>
+        <target>To purge, select one or</target>
+      </trans-unit>
+      <trans-unit id="dfc3c34e182ea73c5d784ff7c8135f087992dac1" datatype="html">
+        <source>All</source>
+        <target>Wszystkie</target>
+      </trans-unit>
+      <trans-unit id="ea5d338dcef50ff5c24439fd784f6a67b594c33f" datatype="html">
+        <source>pools and click</source>
+        <target>pools and click</target>
       </trans-unit>
       <trans-unit id="55a4f598a4894b7fd5cb88f0ffd3c37ad009dd70" datatype="html">
         <source>Pool:</source>
@@ -1729,10 +2105,6 @@ mogą zawierać jedynie litery, '.', '@', '-', '_' lub ':'.</target>
         <source>Pool name...</source>
         <target>Nazwa pula</target>
       </trans-unit>
-      <trans-unit id="dfc3c34e182ea73c5d784ff7c8135f087992dac1" datatype="html">
-        <source>All</source>
-        <target>Wszystkie</target>
-      </trans-unit>
       <trans-unit id="b0e7c7ed1d51a0c205c815048bc9f79e24ee6db2" datatype="html">
         <source>Restore Image</source>
         <target>Przywróć obraz</target>
@@ -1765,22 +2137,34 @@ mogą zawierać jedynie litery, '.', '@', '-', '_' lub ':'.</target>
           <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.
         </target>
       </trans-unit>
-      <trans-unit id="aba82bfd8e177d35b76cad7cd43941f8e5e5acac" datatype="html">
-        <source>Trash</source>
-        <target>Kosz</target>
-      </trans-unit>
       <trans-unit id="a674ab267d1934bf395f87ca1503fd474296893f" datatype="html">
         <source>iSCSI Topology</source>
         <target>Topologia iSCSI</target>
       </trans-unit>
-      <trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html">
-        <source>Settings</source>
-        <target>Ustawienia</target>
+      <trans-unit id="051dcc342cfa5c1eaf187a2001aaa162379a160c" datatype="html">
+        <source>Configure</source>
+        <target>Configure</target>
       </trans-unit>
       <trans-unit id="9e515f954730279c31d5301f02479666d6264e8b" datatype="html">
         <source>Changing these parameters from their default values is usually not necessary.</source>
         <target>Zmiana tych parametrów z domyślnych wartości przeważnie nie jest potrzebna.</target>
       </trans-unit>
+      <trans-unit id="4e2591df099ddac796cda401c5f282da779d45f2" datatype="html">
+        <source>Identifier</source>
+        <target>Identifier</target>
+      </trans-unit>
+      <trans-unit id="62480a4859976427cf18fc8ef41d3a438eda0412" datatype="html">
+        <source>lun</source>
+        <target>lun</target>
+      </trans-unit>
+      <trans-unit id="8afc9eb4405e0aa554b2ba14140ef790cdecc040" datatype="html">
+        <source>wwn</source>
+        <target>wwn</target>
+      </trans-unit>
+      <trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html">
+        <source>Settings</source>
+        <target>Ustawienia</target>
+      </trans-unit>
       <trans-unit id="69a47cbabcc51ca942606e1d8da0ec11f98a2690" datatype="html">
         <source>Backstore</source>
         <target>Tylny koniec przechowywania</target>
@@ -1823,6 +2207,10 @@ mogą zawierać jedynie litery, '.', '@', '-', '_' lub ':'.</target>
         <source>Portals</source>
         <target>Portale</target>
       </trans-unit>
+      <trans-unit id="6a3ac2b4137d723fd9878cd357c2012ff6c07973" datatype="html">
+        <source>Add portal</source>
+        <target>Dodaj portal</target>
+      </trans-unit>
       <trans-unit id="c3638c01b6c34066438909713ec96087c813fc7e" datatype="html">
         <source>At least 
           <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.
@@ -1831,10 +2219,6 @@ mogą zawierać jedynie litery, '.', '@', '-', '_' lub ':'.</target>
           <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.
         </target>
       </trans-unit>
-      <trans-unit id="6a3ac2b4137d723fd9878cd357c2012ff6c07973" datatype="html">
-        <source>Add portal</source>
-        <target>Dodaj portal</target>
-      </trans-unit>
       <trans-unit id="9aff25be088f0efe3eaaf62edf2bff41cc41a617" datatype="html">
         <source>Backstore: 
           <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. 
@@ -1847,9 +2231,13 @@ mogą zawierać jedynie litery, '.', '@', '-', '_' lub ':'.</target>
         <source>This image has modified settings.</source>
         <target>Ten obraz zmodyfikował ustawienia. </target>
       </trans-unit>
-      <trans-unit id="107c84e820909b44fe258673938a68ced1bbff72" datatype="html">
-        <source>At least 1 image is required.</source>
-        <target>Wymagany jest przynajmniej 1 obraz.</target>
+      <trans-unit id="1dff11e0820b6722ab240169f1232d70a54beaaa" datatype="html">
+        <source>Duplicated LUN numbers.</source>
+        <target>Duplicated LUN numbers.</target>
+      </trans-unit>
+      <trans-unit id="bf2dccf92ccff6e3b091792bf4205595406e1bfb" datatype="html">
+        <source>Duplicated WWN.</source>
+        <target>Duplicated WWN.</target>
       </trans-unit>
       <trans-unit id="808038f912fdc7f0e03f82d4afd3bf9178527fc8" datatype="html">
         <source>Add image</source>
@@ -1928,6 +2316,14 @@ mogą zawierać jedynie litery, '.', '@', '-', '_' lub ':'.</target>
         <source>Add group</source>
         <target>Dodaj grupę</target>
       </trans-unit>
+      <trans-unit id="c3a7e364a88ea4673199dfa98bc73e6dbe09dfac" datatype="html">
+        <source>Namespaces</source>
+        <target>Namespaces</target>
+      </trans-unit>
+      <trans-unit id="aba82bfd8e177d35b76cad7cd43941f8e5e5acac" datatype="html">
+        <source>Trash</source>
+        <target>Kosz</target>
+      </trans-unit>
       <trans-unit id="66db799d67958d4b0765181d072df62e2d1c16f5" datatype="html">
         <source>Issues</source>
         <target>Zagadnienia</target>
@@ -2110,13 +2506,65 @@ mogą zawierać jedynie litery, '.', '@', '-', '_' lub ':'.</target>
         <source>Enables versioning for the objects in the bucket.</source>
         <target>Enables versioning for the objects in the bucket.</target>
       </trans-unit>
-      <trans-unit id="92f3f203270a29b3001871153f02c063484a1574" datatype="html">
-        <source>Suspended</source>
-        <target>Zawieszony</target>
+      <trans-unit id="9e6775ffd06878aa145c07359f28557f01ede04f" datatype="html">
+        <source>Multi-Factor Authentication</source>
+        <target>Multi-Factor Authentication</target>
+      </trans-unit>
+      <trans-unit id="29e8a5d4fb767d4ad0c762c81c6264cec4c0ba97" datatype="html">
+        <source>Delete enabled</source>
+        <target>Delete enabled</target>
+      </trans-unit>
+      <trans-unit id="40fbc3ac8c1ea4ecfe62247e91f1f999ad5baf76" datatype="html">
+        <source>Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state.</source>
+        <target>Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state.</target>
+      </trans-unit>
+      <trans-unit id="d24c93a8c13db46defa06ed7b5e026a3edb52b91" datatype="html">
+        <source>Token Serial Number</source>
+        <target>Token Serial Number</target>
+      </trans-unit>
+      <trans-unit id="e6d9536c2af2e5e9a228c3e3e1809dc1fefe0149" datatype="html">
+        <source>Token PIN</source>
+        <target>Token PIN</target>
+      </trans-unit>
+      <trans-unit id="7b84370895ab9eb44672f57146fa05c5947f1c0c" datatype="html">
+        <source>Locking</source>
+        <target>Locking</target>
+      </trans-unit>
+      <trans-unit id="f038d51ab1645f15b0cd58f195c72a7eeebd4729" datatype="html">
+        <source>Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket.</source>
+        <target>Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket.</target>
+      </trans-unit>
+      <trans-unit id="9af1b4baa2dd8ed2bfc3cc756b12a2271c2dd793" datatype="html">
+        <source>Compliance</source>
+        <target>Compliance</target>
       </trans-unit>
-      <trans-unit id="cd6a798fd0f85cd7e31a57c58074f25035d7850d" datatype="html">
-        <source>Disables versioning for the objects in the bucket.</source>
-        <target>Disables versioning for the objects in the bucket.</target>
+      <trans-unit id="edd600fa489d1b4a4448dce694ed932e52ce8fda" datatype="html">
+        <source>Governance</source>
+        <target>Governance</target>
+      </trans-unit>
+      <trans-unit id="a5c3d9d2296f7886e8289b9f623323803deacfc6" datatype="html">
+        <source>Days</source>
+        <target>Days</target>
+      </trans-unit>
+      <trans-unit id="218c7d6d318c51e7105309aaeb0baec9d19e4efb" datatype="html">
+        <source>The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</source>
+        <target>The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</target>
+      </trans-unit>
+      <trans-unit id="289b101ec12427b3ca819df9e43cc3b14fae2cc4" datatype="html">
+        <source>The entered value must be a positive integer.</source>
+        <target>The entered value must be a positive integer.</target>
+      </trans-unit>
+      <trans-unit id="def9fc628134d3a044b7c0ad2a83c846bdad56f1" datatype="html">
+        <source>Retention period requires either Days or Years.</source>
+        <target>Retention period requires either Days or Years.</target>
+      </trans-unit>
+      <trans-unit id="003c94fc143882ac8af6251a1595fe62978fe3e6" datatype="html">
+        <source>Years</source>
+        <target>Years</target>
+      </trans-unit>
+      <trans-unit id="14c6189ead0951f13049c7bf9af7642d0c41957a" datatype="html">
+        <source>The number of years that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</source>
+        <target>The number of years that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</target>
       </trans-unit>
       <trans-unit id="45cc8ca94b5a50842a9a8ef804a5ab089a38ae5c" datatype="html">
         <source>ID</source>
@@ -2154,6 +2602,10 @@ mogą zawierać jedynie litery, '.', '@', '-', '_' lub ':'.</target>
         <source>Zonegroup</source>
         <target>Strefa </target>
       </trans-unit>
+      <trans-unit id="62a923f047ca49e7a4782629e91fea1ba32db68f" datatype="html">
+        <source>MFA Delete</source>
+        <target>MFA Delete</target>
+      </trans-unit>
       <trans-unit id="649a410bd0ace333d067d8fa22f12bdbdb43533b" datatype="html">
         <source>Bucket quota</source>
         <target>kontyngent wiadra</target>
@@ -2198,6 +2650,10 @@ mogą zawierać jedynie litery, '.', '@', '-', '_' lub ':'.</target>
         <source>Email address</source>
         <target>Adres email</target>
       </trans-unit>
+      <trans-unit id="92f3f203270a29b3001871153f02c063484a1574" datatype="html">
+        <source>Suspended</source>
+        <target>Zawieszony</target>
+      </trans-unit>
       <trans-unit id="8011e20c5bbe51602d459a860fbf29b599b55edd" datatype="html">
         <source>System</source>
         <target>System</target>
@@ -2290,9 +2746,17 @@ mogą zawierać jedynie litery, '.', '@', '-', '_' lub ':'.</target>
         <source>Max. buckets</source>
         <target>Max. wiader </target>
       </trans-unit>
-      <trans-unit id="623ac50f37a26caec6fd7cd519b653e3315cba25" datatype="html">
-        <source>The entered value must be &gt;= 0.</source>
-        <target>Podana wartość musi być &gt;= 0</target>
+      <trans-unit id="f39256070bfc0714020dfee08895421fc1527014" datatype="html">
+        <source>Disabled</source>
+        <target>Wyłączony</target>
+      </trans-unit>
+      <trans-unit id="a5c05002b0ac2040f1aede5e727e0ffd06eda819" datatype="html">
+        <source>Custom</source>
+        <target>Zwyczaj</target>
+      </trans-unit>
+      <trans-unit id="28872515cb81d197a3a1733fa546d3e0f0dd6c67" datatype="html">
+        <source>The entered value must be &gt;= 1.</source>
+        <target>The entered value must be &gt;= 1.</target>
       </trans-unit>
       <trans-unit id="583a219c524155c2314eb06ee29162bb315272a3" datatype="html">
         <source>S3 key</source>
@@ -2348,6 +2812,10 @@ mogą zawierać jedynie litery, '.', '@', '-', '_' lub ':'.</target>
           <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>
         </target>
       </trans-unit>
+      <trans-unit id="f5a451c4ea65a4046f0b49d489a7013abf0b5861" datatype="html">
+        <source>All capabilities are already added.</source>
+        <target>All capabilities are already added.</target>
+      </trans-unit>
       <trans-unit id="6146e13ceca5fa5cc17b771b282fe5955f3d19fa" datatype="html">
         <source>Unlimited size</source>
         <target>Nielimitowany rozmiar</target>
@@ -2364,6 +2832,10 @@ mogą zawierać jedynie litery, '.', '@', '-', '_' lub ':'.</target>
         <source>Max. objects</source>
         <target>Max. obiektów</target>
       </trans-unit>
+      <trans-unit id="623ac50f37a26caec6fd7cd519b653e3315cba25" datatype="html">
+        <source>The entered value must be &gt;= 0.</source>
+        <target>Podana wartość musi być &gt;= 0</target>
+      </trans-unit>
       <trans-unit id="1ea5c4d8942c00752dcc72e72949c5d9832f6399" datatype="html">
         <source>Description...</source>
         <target>Opis...</target>
@@ -2384,6 +2856,14 @@ mogą zawierać jedynie litery, '.', '@', '-', '_' lub ':'.</target>
         <source>Password confirmation doesn't match the password.</source>
         <target>Potwierdzające hasło nie pokrywa się z hasłem.</target>
       </trans-unit>
+      <trans-unit id="96621f9ed2e4ae5204564e583d2c816bedead571" datatype="html">
+        <source>Password expiration date</source>
+        <target>Password expiration date</target>
+      </trans-unit>
+      <trans-unit id="48932db3801fe9d5d72a60a3e656bffd17c1c5d9" datatype="html">
+        <source>Password expiration date...</source>
+        <target>Password expiration date...</target>
+      </trans-unit>
       <trans-unit id="244aae9346da82b0922506c2d2581373a15641cc" datatype="html">
         <source>Email</source>
         <target>Email</target>
@@ -2392,6 +2872,10 @@ mogą zawierać jedynie litery, '.', '@', '-', '_' lub ':'.</target>
         <source>Invalid email.</source>
         <target>Niepoprawny email.</target>
       </trans-unit>
+      <trans-unit id="8913c216dd506e20e412e144381d8d2a65a84359" datatype="html">
+        <source>User must change password at next logon</source>
+        <target>User must change password at next logon</target>
+      </trans-unit>
       <trans-unit id="0051a3479d3ba79135c16dc8cc017950a2cce821" datatype="html">
         <source>You are about to remove "user read / update" permissions from your own user.</source>
         <target>Zamierzasz usunąć uprawnienia „odczytu / aktualizacji użytkownika” od własnego użytkownika.</target>
@@ -2492,6 +2976,10 @@ mogą zawierać jedynie litery, '.', '@', '-', '_' lub ':'.</target>
         <source>Histogram</source>
         <target>Histogram</target>
       </trans-unit>
+      <trans-unit id="3d87fc20ea8e5f0f0500ba5d5061b345be78ec5e" datatype="html">
+        <source>No hostname found.</source>
+        <target>No hostname found.</target>
+      </trans-unit>
       <trans-unit id="26fb5f81b3581f06b9210defb0e71dc69a67e819" datatype="html">
         <source>Current values</source>
         <target>Obecne wartości </target>
@@ -2524,29 +3012,9 @@ mogą zawierać jedynie litery, '.', '@', '-', '_' lub ':'.</target>
         <source>Enum values</source>
         <target>Wartości enumerowane </target>
       </trans-unit>
-      <trans-unit id="819476f1264f1659f38e86f6abb542141b184832" datatype="html">
-        <source>See also</source>
-        <target>Zobacz także </target>
-      </trans-unit>
-      <trans-unit id="d82a9af5b05e7cd17640f196f163771685ff8df6" datatype="html">
-        <source>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</source>
-        <target>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</target>
-      </trans-unit>
-      <trans-unit id="a185c9b97513b3882604ea9bab60edbfac945c15" datatype="html">
-        <source>SMART overall-health self-assessment test result</source>
-        <target>SMART overall-health self-assessment test result</target>
-      </trans-unit>
-      <trans-unit id="ddd5dd6d930030096ea617f62c82b648a0dd9484" datatype="html">
-        <source>Device Information</source>
-        <target>Device Information</target>
-      </trans-unit>
-      <trans-unit id="79c6bf990ea5b4d83bbf8f9e399f4bd933a1ebfc" datatype="html">
-        <source>S.M.A.R.T</source>
-        <target>S.M.A.R.T</target>
-      </trans-unit>
-      <trans-unit id="05c17e08939cbef1a5df5386263b1701e8d5742e" datatype="html">
-        <source>S.M.A.R.T data is loading.</source>
-        <target>S.M.A.R.T data is loading.</target>
+      <trans-unit id="819476f1264f1659f38e86f6abb542141b184832" datatype="html">
+        <source>See also</source>
+        <target>Zobacz także </target>
       </trans-unit>
       <trans-unit id="73caac4265ea7314ff061e5a1d78a6361a6dd3b8" datatype="html">
         <source>Cluster Status</source>
@@ -2634,14 +3102,6 @@ mogą zawierać jedynie litery, '.', '@', '-', '_' lub ':'.</target>
         <source>MDS performance counters</source>
         <target>MDS performance counters</target>
       </trans-unit>
-      <trans-unit id="a7b6508fb834bee9e48e11e4503fbbc2d19204de" datatype="html">
-        <source>Clients: 
-          <x id="INTERPOLATION" equiv-text="{{ clients.data.length }}"/>
-        </source>
-        <target>Clients: 
-          <x id="INTERPOLATION" equiv-text="{{ clients.data.length }}"/>
-        </target>
-      </trans-unit>
       <trans-unit id="6e213942c6354b9cbe7a650f0f1499bfc1000fb6" datatype="html">
         <source>Directories</source>
         <target>Directories</target>
@@ -2690,6 +3150,10 @@ mogą zawierać jedynie litery, '.', '@', '-', '_' lub ':'.</target>
         <source># Sessions</source>
         <target># Sessions</target>
       </trans-unit>
+      <trans-unit id="2ea10b3668e04e057ba96ddcaf4c9b77089008ae" datatype="html">
+        <source>Unavailable gateway(s)</source>
+        <target>Unavailable gateway(s)</target>
+      </trans-unit>
       <trans-unit id="c49e0dd71d551bd4928d967d78f0721dbf9f95e3" datatype="html">
         <source>Target has active sessions</source>
         <target>Target has active sessions</target>
@@ -2738,9 +3202,9 @@ mogą zawierać jedynie litery, '.', '@', '-', '_' lub ':'.</target>
         <source>Progress</source>
         <target>Progres</target>
       </trans-unit>
-      <trans-unit id="f39256070bfc0714020dfee08895421fc1527014" datatype="html">
-        <source>Disabled</source>
-        <target>Wyłączony</target>
+      <trans-unit id="25b725dba712a7a020fd34a72297befae975a492" datatype="html">
+        <source>Edit Site Name</source>
+        <target>Edit Site Name</target>
       </trans-unit>
       <trans-unit id="8c375764db42f5d736fb56d01b8052c006ccc8e2" datatype="html">
         <source>Edit Mode</source>
@@ -2806,10 +3270,58 @@ mogą zawierać jedynie litery, '.', '@', '-', '_' lub ':'.</target>
         <source>Fast diff (interlocked with object-map)</source>
         <target>Fast diff (interlocked with object-map)</target>
       </trans-unit>
+      <trans-unit id="130fd872c78271a8f86b1ab16a76e823969c47d9" datatype="html">
+        <source>Namespace</source>
+        <target>Namespace</target>
+      </trans-unit>
+      <trans-unit id="14abc99daed542774633046c53b6ce8251331141" datatype="html">
+        <source>This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.</source>
+        <target>This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.</target>
+      </trans-unit>
+      <trans-unit id="51699f716cf34e6622ff7bfd84641480c045271a" datatype="html">
+        <source>Created namespace '
+          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/
+          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>'
+        </source>
+        <target>Created namespace '
+          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/
+          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>'
+        </target>
+      </trans-unit>
+      <trans-unit id="bf44b7d6379ce0198ed3d95a27642a224181bf1d" datatype="html">
+        <source>Total images</source>
+        <target>Total images</target>
+      </trans-unit>
+      <trans-unit id="371ce3ffe62548d15e391a248bc554d903bb03fc" datatype="html">
+        <source>Deleted namespace '
+          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/
+          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>'
+        </source>
+        <target>Deleted namespace '
+          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/
+          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>'
+        </target>
+      </trans-unit>
+      <trans-unit id="9d704fd00ca929f90c3119cefc581821ae58a73e" datatype="html">
+        <source>Namespace contains images</source>
+        <target>Namespace contains images</target>
+      </trans-unit>
+      <trans-unit id="c2017dc94b4f57a347ccb126e546e88942f4d7a6" datatype="html">
+        <source>RBD Snapshot</source>
+        <target>RBD Snapshot</target>
+      </trans-unit>
       <trans-unit id="631fc50ec7c9bd81dc797a3c7e09eda1178ad999" datatype="html">
         <source>Parent image must support Layering</source>
         <target>Parent image must support Layering</target>
       </trans-unit>
+      <trans-unit id="cb60c1cd3655234756b5b92d4d597d92d520ee30" datatype="html">
+        <source>PROTECTED</source>
+        <target>PROTECTED</target>
+      </trans-unit>
+      <trans-unit id="deffb86b8fb0541254ad5a43862d82bff6b6a6c4" datatype="html">
+        <source>UNPROTECTED</source>
+        <target>NIEZABEZPIECZONY </target>
+      </trans-unit>
       <trans-unit id="7eb984588f4835f6d0187b33769b4b0f62821640" datatype="html">
         <source>RBD snapshot rollback</source>
         <target>Wycofywanie migawek RBD</target>
@@ -2890,6 +3402,138 @@ mogą zawierać jedynie litery, '.', '@', '-', '_' lub ':'.</target>
         <source>Origin</source>
         <target>Origin</target>
       </trans-unit>
+      <trans-unit id="2ea2ec95d93fd55d0db6e9d2b95b25e153d4cec2" datatype="html">
+        <source>Max size</source>
+        <target>Max size</target>
+      </trans-unit>
+      <trans-unit id="665dced3a61bca44924a0bde4be47390225a4898" datatype="html">
+        <source>Max files</source>
+        <target>Max files</target>
+      </trans-unit>
+      <trans-unit id="0ccf776baac60794b142526986f3af85848c7059" datatype="html">
+        <source>The inherited 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/> is the maximum value to be used.
+        </source>
+        <target>The inherited 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/> is the maximum value to be used.
+        </target>
+      </trans-unit>
+      <trans-unit id="b0e2ef28384f2de6674cac300c779f900929a89b" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{action}}"/> CephFS 
+          <x id="INTERPOLATION_1" equiv-text="{{quotaName}}"/> quota for '
+          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>'
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{action}}"/> CephFS 
+          <x id="INTERPOLATION_1" equiv-text="{{quotaName}}"/> quota for '
+          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>'
+        </target>
+      </trans-unit>
+      <trans-unit id="542ef638499635dec7641bdc2e499258094187cc" datatype="html">
+        <source>size</source>
+        <target>size</target>
+      </trans-unit>
+      <trans-unit id="ce90ff00c341d8eef96b0e7956bb85b8faba3839" datatype="html">
+        <source>files</source>
+        <target>files</target>
+      </trans-unit>
+      <trans-unit id="fbe8b9340c08c24aef62ffe81c83e2b46a4f1495" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{quotaName}}"/> quota 
+          <x id="INTERPOLATION_1" equiv-text="{{value}}"/> from '
+          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>'
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{quotaName}}"/> quota 
+          <x id="INTERPOLATION_1" equiv-text="{{value}}"/> from '
+          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>'
+        </target>
+      </trans-unit>
+      <trans-unit id="37c2c0a4a356465eef2edfb09ffffc6db5259975" datatype="html">
+        <source>Value has to be at least 
+          <x id="INTERPOLATION" equiv-text="{{value}}"/> or more
+        </source>
+        <target>Value has to be at least 
+          <x id="INTERPOLATION" equiv-text="{{value}}"/> or more
+        </target>
+      </trans-unit>
+      <trans-unit id="73f8e64703a707e2cf98b9a10653cd3bbdd8cab1" datatype="html">
+        <source>Value has to be at most 
+          <x id="INTERPOLATION" equiv-text="{{value}}"/> or less
+        </source>
+        <target>Value has to be at most 
+          <x id="INTERPOLATION" equiv-text="{{value}}"/> or less
+        </target>
+      </trans-unit>
+      <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc" datatype="html">
+        <source>Updated</source>
+        <target>Zaktualizowany</target>
+      </trans-unit>
+      <trans-unit id="b6a4cf4f302c7fcbec199ce0df42b8282d682b04" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{action}}"/>
+          <x id="INTERPOLATION_1" equiv-text="{{quotaValue}}"/>
+          <x id="INTERPOLATION_2" equiv-text="{{conclusion}}"/>.
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{action}}"/>
+          <x id="INTERPOLATION_1" equiv-text="{{quotaValue}}"/>
+          <x id="INTERPOLATION_2" equiv-text="{{conclusion}}"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="a40024afb071f68fec949094a71f832d5611bca5" datatype="html">
+        <source>in order to inherit 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>
+        </source>
+        <target>in order to inherit 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="c108ff588291e9c040adea2adf35e7236cf29925" datatype="html">
+        <source>which isn't used because of the inheritance of 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>
+        </source>
+        <target>which isn't used because of the inheritance of 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="d3785a64d1c72b03b2212855ce695b45ed0342d2" datatype="html">
+        <source>in order to have no quota on the directory</source>
+        <target>in order to have no quota on the directory</target>
+      </trans-unit>
+      <trans-unit id="c4d3a3446a7f36825291c5e76c4a6b7919f9bd2f" datatype="html">
+        <source>Create Snapshot</source>
+        <target>Create Snapshot</target>
+      </trans-unit>
+      <trans-unit id="e9af734e231b837d64df21008e2eb1fdff566a61" datatype="html">
+        <source>Please enter the name of the snapshot.</source>
+        <target>Please enter the name of the snapshot.</target>
+      </trans-unit>
+      <trans-unit id="8c4d3039e6a953b0d6f1b1313ffa60c5d2b35dc7" datatype="html">
+        <source>Created snapshot "
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "
+          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"
+        </source>
+        <target>Created snapshot "
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "
+          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"
+        </target>
+      </trans-unit>
+      <trans-unit id="126ad894f74ee9a999825f3f4ac5a31fdfc093bf" datatype="html">
+        <source>CephFs Snapshot</source>
+        <target>CephFs Snapshot</target>
+      </trans-unit>
+      <trans-unit id="1e4d1c0865adc485260740c42ac5af68ce8feb13" datatype="html">
+        <source>Deleted snapshot "
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "
+          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"
+        </source>
+        <target>Deleted snapshot "
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "
+          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"
+        </target>
+      </trans-unit>
       <trans-unit id="22e4e574b7f8abf58254f328792445b42e2a924a" datatype="html">
         <source>The value can be updated at runtime.</source>
         <target>Wartość może być zaktualizowana w czasie wykonywania . </target>
@@ -2928,6 +3572,10 @@ terminal.</target>
         <source>Service</source>
         <target>Usługa</target>
       </trans-unit>
+      <trans-unit id="6986e0df8092d822ac2c076520d83994c78834fc" datatype="html">
+        <source>Modified</source>
+        <target>Modified</target>
+      </trans-unit>
       <trans-unit id="9951bb3983c7dba6fde013e05c922e4fe1a44367" datatype="html">
         <source>Current value</source>
         <target>Obecna wartość</target>
@@ -2940,26 +3588,72 @@ terminal.</target>
         <source>host</source>
         <target>host</target>
       </trans-unit>
-      <trans-unit id="9e35065e7c579e1fb960499117fd4b3c68d1c263" datatype="html">
-        <source>Host operation is disabled because orchestrator is unavailable</source>
-        <target>Host operation is disabled because orchestrator is unavailable</target>
+      <trans-unit id="b1b381321d4cef04605d3e6e8847ea2b72a03799" datatype="html">
+        <source>Identify</source>
+        <target>Identify</target>
       </trans-unit>
       <trans-unit id="a5d5e407f8c4e1b152509c966c90f37edf68472e" datatype="html">
         <source>Device path</source>
         <target>Device path</target>
       </trans-unit>
-      <trans-unit id="94e76c060aa68c05d8c4a3f5a20c92fab3e83ccf" datatype="html">
-        <source>Rotates</source>
-        <target>Rotates</target>
-      </trans-unit>
       <trans-unit id="b7da3e3505cc80f9bf3cffc8444c53e8a9ec70a5" datatype="html">
         <source>Available</source>
         <target>Available</target>
       </trans-unit>
+      <trans-unit id="396974120fc614fc930a27c8d15a094d82a3a9e4" datatype="html">
+        <source>Vendor</source>
+        <target>Vendor</target>
+      </trans-unit>
       <trans-unit id="6ec98fa3d6504ba1fd03465194b53706c8263c99" datatype="html">
         <source>Model</source>
         <target>Model</target>
       </trans-unit>
+      <trans-unit id="f2d785f5658c96c6a2f505cdd625108bcece84c3" datatype="html">
+        <source>Identify device 
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>
+        </source>
+        <target>Identify device 
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="c97ab45ca09248f8f1ba60328175741657fe39ce" datatype="html">
+        <source>Please enter the duration how long to blink the LED.</source>
+        <target>Please enter the duration how long to blink the LED.</target>
+      </trans-unit>
+      <trans-unit id="87e56ee5057023d7e8b59420b838bad112b043bc" datatype="html">
+        <source>1 minute</source>
+        <target>1 minute</target>
+      </trans-unit>
+      <trans-unit id="affa3b3bf1f36531e5ae65291f8a7cd1b06860ee" datatype="html">
+        <source>2 minutes</source>
+        <target>2 minutes</target>
+      </trans-unit>
+      <trans-unit id="878c6645b7fc26d85c7aee17a9d8c282a938dcf3" datatype="html">
+        <source>5 minutes</source>
+        <target>5 minutes</target>
+      </trans-unit>
+      <trans-unit id="aa0a76140961594b7176ade241e5025a7dbb5dce" datatype="html">
+        <source>10 minutes</source>
+        <target>10 minutes</target>
+      </trans-unit>
+      <trans-unit id="0a7f83a1f27750ef634a1f1f97263fac36113b1f" datatype="html">
+        <source>15 minutes</source>
+        <target>15 minutes</target>
+      </trans-unit>
+      <trans-unit id="699b690d686dbb8e00a1e95b89ba2fffb548da6e" datatype="html">
+        <source>Execute</source>
+        <target>Execute</target>
+      </trans-unit>
+      <trans-unit id="aa975a86dd49979a3ae90b9f3fc5b2c97311d422" datatype="html">
+        <source>Identifying '
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>' started on host '
+          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>'
+        </source>
+        <target>Identifying '
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>' started on host '
+          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="1a6e6ad05508130b7a99ce5b15daf3227c2a930c" datatype="html">
         <source>Updated options for module "
           <x id="INTERPOLATION" equiv-text="{{name}}"/>".
@@ -2968,6 +3662,10 @@ terminal.</target>
           <x id="INTERPOLATION" equiv-text="{{name}}"/>".
         </target>
       </trans-unit>
+      <trans-unit id="6bd47ff8707aa2e6a94a4a6e2566b86dc7956d5f" datatype="html">
+        <source>Always-On</source>
+        <target>Always-On</target>
+      </trans-unit>
       <trans-unit id="ac6c9212896d39b23811ed2dadab7d07336ec559" datatype="html">
         <source>Enable</source>
         <target>Włączyć</target>
@@ -2992,6 +3690,18 @@ terminal.</target>
         <source>Open Sessions</source>
         <target>Otwarte sesje</target>
       </trans-unit>
+      <trans-unit id="34c6f45591d420b1101dcee53999d1de91c0e400" datatype="html">
+        <source>No available devices</source>
+        <target>No available devices</target>
+      </trans-unit>
+      <trans-unit id="dcfe8807a2a1d0d7074a02afe9b80645bd03b9ab" datatype="html">
+        <source>Please add primary devices first</source>
+        <target>Please add primary devices first</target>
+      </trans-unit>
+      <trans-unit id="05d024719e53f85f7f294b7e21dfd805709a0b06" datatype="html">
+        <source>Add devices by using filters</source>
+        <target>Add devices by using filters</target>
+      </trans-unit>
       <trans-unit id="37e58d1cbdf8212b380efa51422e42821d4f08e6" datatype="html">
         <source>No In</source>
         <target>Nie w </target>
@@ -3056,6 +3766,14 @@ terminal.</target>
         <source>Backfilling of PGs is suspended</source>
         <target>Zasypywanie PG jest zawieszone</target>
       </trans-unit>
+      <trans-unit id="df526de2b93c4099a30c200ef551608e39ee5256" datatype="html">
+        <source>No Rebalance</source>
+        <target>No Rebalance</target>
+      </trans-unit>
+      <trans-unit id="c5b70346245f8d52b58e5e7fe222ce82f12429ce" datatype="html">
+        <source>OSD will choose not to backfill unless PG is also degraded</source>
+        <target>OSD will choose not to backfill unless PG is also degraded</target>
+      </trans-unit>
       <trans-unit id="7fbbd036394cfa623add40299757bc87df8eaa7e" datatype="html">
         <source>No Recover</source>
         <target>Nie przywrócono</target>
@@ -3100,6 +3818,14 @@ terminal.</target>
         <source>Updated OSD Flags</source>
         <target>Zaktualizowane flagi OSD-ków</target>
       </trans-unit>
+      <trans-unit id="948758e1412bb2ecdb98e3a4f1cbb6d7458456f2" datatype="html">
+        <source>Encryption</source>
+        <target>Encryption</target>
+      </trans-unit>
+      <trans-unit id="c8b1475105463088593de1022ff6dceb523eae0e" datatype="html">
+        <source>OSD</source>
+        <target>OSD-ik</target>
+      </trans-unit>
       <trans-unit id="688578fcc739d6f0c5fb6c366dbb19d21c6d9e36" datatype="html">
         <source>out</source>
         <target>poza</target>
@@ -3128,10 +3854,6 @@ terminal.</target>
         <source>Purge</source>
         <target>Czyść</target>
       </trans-unit>
-      <trans-unit id="c8b1475105463088593de1022ff6dceb523eae0e" datatype="html">
-        <source>OSD</source>
-        <target>OSD-ik</target>
-      </trans-unit>
       <trans-unit id="4f3cff08c7033b63bbccfe66006b1bcaea48ddd8" datatype="html">
         <source>purged</source>
         <target>Oczyszczony</target>
@@ -3144,6 +3866,14 @@ terminal.</target>
         <source>destroyed</source>
         <target>Zniszczony</target>
       </trans-unit>
+      <trans-unit id="70ef158c584bafe788e319a0bffa11b02ee9abf1" datatype="html">
+        <source>delete</source>
+        <target>Usuń</target>
+      </trans-unit>
+      <trans-unit id="a5b387f5a15b95e339df10fc23526c659a2b6c6f" datatype="html">
+        <source>deleted</source>
+        <target>deleted</target>
+      </trans-unit>
       <trans-unit id="107614b994f2b01abdc1ca179bf780b0cd933ec4" datatype="html">
         <source>Recovery Priority</source>
         <target>Recovery Priority</target>
@@ -3160,9 +3890,9 @@ terminal.</target>
         <source>Read bytes</source>
         <target>Czytanie bajtów</target>
       </trans-unit>
-      <trans-unit id="ecbe2fdca919499125bc42c2c67cedae8563db1c" datatype="html">
-        <source>Writes bytes</source>
-        <target>Zapis bajtów</target>
+      <trans-unit id="f15bf7f588f09ca79795b17bc244e8d336f28171" datatype="html">
+        <source>Write bytes</source>
+        <target>Zapis bajtów </target>
       </trans-unit>
       <trans-unit id="f3c33322823c846b13f59ba2c8f234405bba99e1" datatype="html">
         <source>Read ops</source>
@@ -3172,6 +3902,26 @@ terminal.</target>
         <source>Write ops</source>
         <target>Zapis ops</target>
       </trans-unit>
+      <trans-unit id="b27d1dd31789610130b7cdbf88c4da552cffe936" datatype="html">
+        <source>Edit OSD: 
+          <x id="INTERPOLATION" equiv-text="{{id}}"/>
+        </source>
+        <target>Edit OSD: 
+          <x id="INTERPOLATION" equiv-text="{{id}}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="986f1379580078e77666d10f8ddf4f839c6ca71d" datatype="html">
+        <source>Edit OSD</source>
+        <target>Edit OSD</target>
+      </trans-unit>
+      <trans-unit id="a4b09e2fa39c3e4f1a387f191fbae4eea3ce7bf5" datatype="html">
+        <source>Updated OSD "
+          <x id="INTERPOLATION" equiv-text="{{id}}"/>"
+        </source>
+        <target>Updated OSD "
+          <x id="INTERPOLATION" equiv-text="{{id}}"/>"
+        </target>
+      </trans-unit>
       <trans-unit id="d45455406092f58e6b089cb440b5b7934b801a01" datatype="html">
         <source>Mark OSD 
           <x id="INTERPOLATION" equiv-text="{{markAction}}"/>
@@ -3212,10 +3962,6 @@ terminal.</target>
         <source>Recovery Sleep</source>
         <target>Uśpienie wyzdrowienia</target>
       </trans-unit>
-      <trans-unit id="a5c05002b0ac2040f1aede5e727e0ffd06eda819" datatype="html">
-        <source>Custom</source>
-        <target>Zwyczaj</target>
-      </trans-unit>
       <trans-unit id="89553524f4e7db5c437b07dcfdc7b831d56ded1a" datatype="html">
         <source>Updated OSD recovery speed priority "
           <x id="INTERPOLATION" equiv-text="{{value}}"/>"
@@ -3234,45 +3980,9 @@ terminal.</target>
           <x id="INTERPOLATION_1" equiv-text="{{id}}"/>
         </target>
       </trans-unit>
-      <trans-unit id="9836e830d0219585b36d53be00a31c3d4798a4aa" datatype="html">
-        <source>Smartctl has received an unknown argument (error code
-          <x id="INTERPOLATION" equiv-text="{{smartData.smartctl_error_code}}"/>). You may be using an
-                incompatible version of smartmontools. Version &gt;= 7.0 of
-                smartmontools is required to succesfully retrieve data.
-        </source>
-        <target>Smartctl has received an unknown argument (error code
-          <x id="INTERPOLATION" equiv-text="{{smartData.smartctl_error_code}}"/>). You may be using an
-                incompatible version of smartmontools. Version &gt;= 7.0 of
-                smartmontools is required to succesfully retrieve data.
-        </target>
-      </trans-unit>
-      <trans-unit id="d5fd840374ca1a6f394bcd81f390a6dca27f8224" datatype="html">
-        <source>An error with error code 
-          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.
-        </source>
-        <target>An error with error code 
-          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.
-        </target>
-      </trans-unit>
-      <trans-unit id="a0b59d7139692bb8d8ed786b6eb6e9e70ce743f3" datatype="html">
-        <source>Raw</source>
-        <target>Raw</target>
-      </trans-unit>
-      <trans-unit id="2f3beddc8234b30fb26a7f63ba2f1ea74f2ed6f7" datatype="html">
-        <source>Threshold</source>
-        <target>Threshold</target>
-      </trans-unit>
-      <trans-unit id="4654b5a68af3c8bad29aa14ca85ccea1f3143c6b" datatype="html">
-        <source>When Failed</source>
-        <target>When Failed</target>
-      </trans-unit>
-      <trans-unit id="5b7f56d5be49fb8e8d8f40209d6746f8f72e9177" datatype="html">
-        <source>Worst</source>
-        <target>Worst</target>
-      </trans-unit>
-      <trans-unit id="1edb8e46b0fac57c5feb3d7d3585afc0122d5481" datatype="html">
-        <source>Create silence</source>
-        <target>Create silence</target>
+      <trans-unit id="3bc2d18913479965cb046ec75e2ac3f7b7a77ce5" datatype="html">
+        <source>Create Silence</source>
+        <target>Create Silence</target>
       </trans-unit>
       <trans-unit id="78917e8031aaf913ac3fa63295325ce8879703ce" datatype="html">
         <source>Job</source>
@@ -3290,6 +4000,10 @@ terminal.</target>
         <source>URL</source>
         <target>URL</target>
       </trans-unit>
+      <trans-unit id="d9f726c70aeba7fa6d3d68bff718abe78b1e50ac" datatype="html">
+        <source>Query</source>
+        <target>Query</target>
+      </trans-unit>
       <trans-unit id="a5cd682a8a33bdc72e093d059429e3cc3a50ec1d" datatype="html">
         <source>silence</source>
         <target>silence</target>
@@ -3310,10 +4024,6 @@ terminal.</target>
         <source>Created by</source>
         <target>Created by</target>
       </trans-unit>
-      <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc" datatype="html">
-        <source>Updated</source>
-        <target>Zaktualizowany</target>
-      </trans-unit>
       <trans-unit id="8d833cceee0ba4c5161b130365e02bc1e129b57e" datatype="html">
         <source>Ends</source>
         <target>Ends</target>
@@ -3322,30 +4032,46 @@ terminal.</target>
         <source>Silence</source>
         <target>Silence</target>
       </trans-unit>
-      <trans-unit id="f392abfbb997402ce2aebb13e660a8f01dec54db" datatype="html">
-        <source>Service type</source>
-        <target>Service type</target>
+      <trans-unit id="f2ea47d702c7f5e3e5fa751bf9959e21030b72e6" datatype="html">
+        <source>Daemon type</source>
+        <target>Daemon type</target>
       </trans-unit>
-      <trans-unit id="9ffa91b056fb979786627885651e19c8275675cd" datatype="html">
-        <source>Service instance</source>
-        <target>Service instance</target>
+      <trans-unit id="6c131968e6ab730d86443e6fc11c5cc2a76d7bac" datatype="html">
+        <source>Daemon ID</source>
+        <target>Daemon ID</target>
       </trans-unit>
-      <trans-unit id="b5910192a9ac4816638ff6383b03f986ff965796" datatype="html">
-        <source>Container id</source>
-        <target>Container id</target>
+      <trans-unit id="5738f0ca7ddd9594058ce051b1d5d576e2782825" datatype="html">
+        <source>Container ID</source>
+        <target>Container ID</target>
       </trans-unit>
-      <trans-unit id="60ab9cce12a56cdc5ec6a1b699f8c7afecd629d5" datatype="html">
-        <source>Rados config location</source>
-        <target>Rados config location</target>
+      <trans-unit id="78ebcf850cd440c5efc15e6a3a522ae75aeff669" datatype="html">
+        <source>Container Image name</source>
+        <target>Container Image name</target>
       </trans-unit>
-      <trans-unit id="dfa409f831c9168a377bdee02c5ea6aaf9b2bf61" datatype="html">
-        <source>Service URL</source>
-        <target>Service URL</target>
+      <trans-unit id="ea0c7ab9a7bdf646d494abf8c85fbf67d934d079" datatype="html">
+        <source>Container Image ID</source>
+        <target>Container Image ID</target>
       </trans-unit>
       <trans-unit id="bf2468fd965b8a59c135ad549b3a612aa9873abc" datatype="html">
         <source>Status Description</source>
         <target>Status Description</target>
       </trans-unit>
+      <trans-unit id="19867330bdc84096f5a93ab087a1766476c8a074" datatype="html">
+        <source>Last Refreshed</source>
+        <target>Last Refreshed</target>
+      </trans-unit>
+      <trans-unit id="2349ee2027ab6ceb3e4b8834928562075b7e1ac7" datatype="html">
+        <source>Container image name</source>
+        <target>Container image name</target>
+      </trans-unit>
+      <trans-unit id="3c475503fb93338811af6b3d9ccacca1d7334609" datatype="html">
+        <source>Container image ID</source>
+        <target>Container image ID</target>
+      </trans-unit>
+      <trans-unit id="8dd15f6c73c05a8b0bd7b6d416487ab6570b88c8" datatype="html">
+        <source>Running</source>
+        <target>Running</target>
+      </trans-unit>
       <trans-unit id="fb2e1bed329dc5b84197808c778abb9edcbdb335" datatype="html">
         <source>Used</source>
         <target>Użyty</target>
@@ -3454,6 +4180,10 @@ terminal.</target>
         <source>NFS export</source>
         <target>NFS export</target>
       </trans-unit>
+      <trans-unit id="c56d51748965db5f3966cd1d06a1c9f4b5244931" datatype="html">
+        <source>Crush Rule</source>
+        <target>Crush Rule</target>
+      </trans-unit>
       <trans-unit id="ae128527ec18892f812a62a1fd15dc50a38060c0" datatype="html">
         <source>EC Profile</source>
         <target>EC Profile</target>
@@ -3514,6 +4244,10 @@ terminal.</target>
         <source>erasure code profile</source>
         <target>skasuj profil kodu</target>
       </trans-unit>
+      <trans-unit id="ae48e19a9a2acaca4b5ea594451bc9b0b01ec8d2" datatype="html">
+        <source>crush rule</source>
+        <target>crush rule</target>
+      </trans-unit>
       <trans-unit id="112d356ad6846959ca4aa5ec9a1f0d9d473b24ec" datatype="html">
         <source>Replica Size</source>
         <target>Rozmiar repliki</target>
@@ -3530,10 +4264,6 @@ terminal.</target>
         <source>Crush Ruleset</source>
         <target>Zbiór zasad Crush</target>
       </trans-unit>
-      <trans-unit id="f15bf7f588f09ca79795b17bc244e8d336f28171" datatype="html">
-        <source>Write bytes</source>
-        <target>Zapis bajtów </target>
-      </trans-unit>
       <trans-unit id="bcc365a084b6145b941b371bd4c2b6c3d2c79234" datatype="html">
         <source>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</source>
         <target>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</target>
@@ -3602,6 +4332,62 @@ terminal.</target>
         <source>Swift Key</source>
         <target>Swift Key</target>
       </trans-unit>
+      <trans-unit id="6462d8f12b427c29363f00b12f20f566be24937c" datatype="html">
+        <source>Device ID</source>
+        <target>Device ID</target>
+      </trans-unit>
+      <trans-unit id="82f12bf23db4bb82db89877bebe93954bc1c8fb0" datatype="html">
+        <source>State of Health</source>
+        <target>State of Health</target>
+      </trans-unit>
+      <trans-unit id="7bd34bd120146afef0e0d8fa168d9bdabd594b6a" datatype="html">
+        <source>Good</source>
+        <target>Good</target>
+      </trans-unit>
+      <trans-unit id="31c59dce114ec0a9d02552ef7b81920b3de36793" datatype="html">
+        <source>Bad</source>
+        <target>Bad</target>
+      </trans-unit>
+      <trans-unit id="2862af5284f66d4b06bdcf77a5519141723b6989" datatype="html">
+        <source>Stale</source>
+        <target>Stale</target>
+      </trans-unit>
+      <trans-unit id="8d8e819b52984a4fbdec75a99eb28d1ae4323bbc" datatype="html">
+        <source>Life Expectancy</source>
+        <target>Life Expectancy</target>
+      </trans-unit>
+      <trans-unit id="72d9b15be18ea063e78c4e855b9e8c0af95593ef" datatype="html">
+        <source>Prediction Creation Date</source>
+        <target>Prediction Creation Date</target>
+      </trans-unit>
+      <trans-unit id="a6b4ef85e5ff8bd192751c7bbebc54c46118d6d4" datatype="html">
+        <source>Device Name</source>
+        <target>Device Name</target>
+      </trans-unit>
+      <trans-unit id="d5fd840374ca1a6f394bcd81f390a6dca27f8224" datatype="html">
+        <source>An error with error code 
+          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.
+        </source>
+        <target>An error with error code 
+          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.
+        </target>
+      </trans-unit>
+      <trans-unit id="a0b59d7139692bb8d8ed786b6eb6e9e70ce743f3" datatype="html">
+        <source>Raw</source>
+        <target>Raw</target>
+      </trans-unit>
+      <trans-unit id="2f3beddc8234b30fb26a7f63ba2f1ea74f2ed6f7" datatype="html">
+        <source>Threshold</source>
+        <target>Threshold</target>
+      </trans-unit>
+      <trans-unit id="4654b5a68af3c8bad29aa14ca85ccea1f3143c6b" datatype="html">
+        <source>When Failed</source>
+        <target>When Failed</target>
+      </trans-unit>
+      <trans-unit id="5b7f56d5be49fb8e8d8f40209d6746f8f72e9177" datatype="html">
+        <source>Worst</source>
+        <target>Worst</target>
+      </trans-unit>
       <trans-unit id="1481b8488e10dbc437accce89d2ae35a0106e8ba" datatype="html">
         <source>Scope</source>
         <target>Zakres</target>
@@ -3646,6 +4432,24 @@ terminal.</target>
           <x id="INTERPOLATION" equiv-text="{{role_name}}"/>'
         </target>
       </trans-unit>
+      <trans-unit id="bd15b8d5c0fa160161728eefbbb585710414d471" datatype="html">
+        <source>New name</source>
+        <target>New name</target>
+      </trans-unit>
+      <trans-unit id="6f126277f3dc22a3ab3609c4c198386c8744e11a" datatype="html">
+        <source>Clone Role</source>
+        <target>Clone Role</target>
+      </trans-unit>
+      <trans-unit id="d19d8320479854bc52877cdf0dc5ecfe34a36ec7" datatype="html">
+        <source>Cloned role '
+          <x id="INTERPOLATION" equiv-text="{{dst_name}}"/>' from '
+          <x id="INTERPOLATION_1" equiv-text="{{src_name}}"/>'
+        </source>
+        <target>Cloned role '
+          <x id="INTERPOLATION" equiv-text="{{dst_name}}"/>' from '
+          <x id="INTERPOLATION_1" equiv-text="{{src_name}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="2e35d60a14ce0b470e8b54602864a867f7fcef40" datatype="html">
         <source>There are no roles.</source>
         <target>There are no roles.</target>
@@ -3710,6 +4514,18 @@ terminal.</target>
         <source>Updated user password"</source>
         <target>Updated user password"</target>
       </trans-unit>
+      <trans-unit id="c4e596a44ffc4718c1602600d6e4f029190eb031" datatype="html">
+        <source>The name of the node under which data should be placed.</source>
+        <target>The name of the node under which data should be placed.</target>
+      </trans-unit>
+      <trans-unit id="f24772ba1091155f8d7025332ca8456a204d1e28" datatype="html">
+        <source>The type of CRUSH nodes across which we should separate replicas.</source>
+        <target>The type of CRUSH nodes across which we should separate replicas.</target>
+      </trans-unit>
+      <trans-unit id="a3896042af461a80091c3f7a5fe3fff5ac40a3a0" datatype="html">
+        <source>The device class data should be placed on.</source>
+        <target>The device class data should be placed on.</target>
+      </trans-unit>
       <trans-unit id="1d7fbcc3d5efc946ffbcf86fed04c4e20dda20fb" datatype="html">
         <source>Each object is split in data-chunks parts, each stored on a different OSD.</source>
         <target>Każdy obiekt jest podzielony na części fragmentów danych, każdy jest przechowywany na innym OSD.</target>
@@ -3873,6 +4689,10 @@ Na przykład krok jest domyślny.</target>
         <source>Success</source>
         <target>Success</target>
       </trans-unit>
+      <trans-unit id="61fd1cffcb763cbfd5829071723cf9b647174bd9" datatype="html">
+        <source>An error occurred.</source>
+        <target>An error occurred.</target>
+      </trans-unit>
       <trans-unit id="e6ca3c0efaf51e6d45a7f92f58bac37140c3fda4" datatype="html">
         <source>Last 5 minutes</source>
         <target>Ostatnie 5 minut</target>
@@ -4017,14 +4837,18 @@ Na przykład krok jest domyślny.</target>
         <source>There are no items available.</source>
         <target>Brak dostępnych pozycji.</target>
       </trans-unit>
-      <trans-unit id="f6755cff4957d5c3c89bafce5651f1b6fa2b1fd9" datatype="html">
-        <source>Add</source>
-        <target>Dodaj</target>
+      <trans-unit id="55dd9f44e64851bca3b7bfc9283a5ff36f030228" datatype="html">
+        <source>Set</source>
+        <target>Set</target>
       </trans-unit>
       <trans-unit id="019d4bd6a5690f0cfa0ecf346a4e6bf7f0d8debb" datatype="html">
         <source>Remove</source>
         <target>Remove</target>
       </trans-unit>
+      <trans-unit id="e168fe6c468b3ad632731395ef89860274242844" datatype="html">
+        <source>Unset</source>
+        <target>Unset</target>
+      </trans-unit>
       <trans-unit id="54a4a3132b693575728a45a5f3154ad4c9af404b" datatype="html">
         <source>Clone</source>
         <target>Sklonuj</target>
@@ -4209,6 +5033,38 @@ Na przykład krok jest domyślny.</target>
         <source>No</source>
         <target>Nie</target>
       </trans-unit>
+      <trans-unit id="baf918eed9d4050cdad2acebc0f27b6eaf8e3fcd" datatype="html">
+        <source>Required rules for passwords:</source>
+        <target>Required rules for passwords:</target>
+      </trans-unit>
+      <trans-unit id="40f61909e1f017c4652e64b055089beef19cf871" datatype="html">
+        <source>Must contain at least 
+          <x id="INTERPOLATION" equiv-text="{{length}}"/> characters
+        </source>
+        <target>Must contain at least 
+          <x id="INTERPOLATION" equiv-text="{{length}}"/> characters
+        </target>
+      </trans-unit>
+      <trans-unit id="f4f5dbb3a05b5f38dab47ef38dad88a4574a765a" datatype="html">
+        <source>Must not be the same as the previous one</source>
+        <target>Must not be the same as the previous one</target>
+      </trans-unit>
+      <trans-unit id="607370e07b50087c196a5fcea9184e3d693226b2" datatype="html">
+        <source>Cannot contain the username</source>
+        <target>Cannot contain the username</target>
+      </trans-unit>
+      <trans-unit id="e6e355eab2596251aaa42623b41e6026d5c03e3b" datatype="html">
+        <source>Cannot contain any configured keyword</source>
+        <target>Cannot contain any configured keyword</target>
+      </trans-unit>
+      <trans-unit id="394bcd6d5e4da75b720c4d28f94f2aef7bb38355" datatype="html">
+        <source>Cannot contain any repetitive characters e.g. "aaa"</source>
+        <target>Cannot contain any repetitive characters e.g. "aaa"</target>
+      </trans-unit>
+      <trans-unit id="030e61e0bcf2536fb047645db6182d43e9fca9e9" datatype="html">
+        <source>Cannot contain any sequential characters e.g. "abc"</source>
+        <target>Cannot contain any sequential characters e.g. "abc"</target>
+      </trans-unit>
       <trans-unit id="99fa0b67376d40142bd4d3ace3344abf4f98b6a5" datatype="html">
         <source>Your matcher seems to match no currently defined rule or active alert.</source>
         <target>Your matcher seems to match no currently defined rule or active alert.</target>
@@ -4397,10 +5253,6 @@ Na przykład krok jest domyślny.</target>
         <source>Deleting</source>
         <target>Usuwanie</target>
       </trans-unit>
-      <trans-unit id="70ef158c584bafe788e319a0bffa11b02ee9abf1" datatype="html">
-        <source>delete</source>
-        <target>Usuń</target>
-      </trans-unit>
       <trans-unit id="d07a282afc7fbdb39cea6e1c9b544882a7260a86" datatype="html">
         <source>Adding</source>
         <target>Adding</target>
@@ -4417,6 +5269,18 @@ Na przykład krok jest domyślny.</target>
         <source>remove</source>
         <target>remove</target>
       </trans-unit>
+      <trans-unit id="0e21237afdc84ec360c374fa678d9b1cfaa334f9" datatype="html">
+        <source>Importing</source>
+        <target>Importing</target>
+      </trans-unit>
+      <trans-unit id="c6b4128c006f4cc0564137e1a1482b5c432aa347" datatype="html">
+        <source>import</source>
+        <target>import</target>
+      </trans-unit>
+      <trans-unit id="3b9f4138abbca0fd66db1f7332f4b54e2a6d916d" datatype="html">
+        <source>Imported</source>
+        <target>Imported</target>
+      </trans-unit>
       <trans-unit id="3f757cfc3749ebb5d4462017cb60138ca082f15f" datatype="html">
         <source>RBD '
           <x id="INTERPOLATION" equiv-text="{{id}}"/>'
@@ -4433,6 +5297,14 @@ Na przykład krok jest domyślny.</target>
           <x id="INTERPOLATION" equiv-text="{{id}}"/>'
         </target>
       </trans-unit>
+      <trans-unit id="2bf18ddf3785f7afb4f01dcf63d3d8c40f4bfba5" datatype="html">
+        <source>mirroring site name</source>
+        <target>mirroring site name</target>
+      </trans-unit>
+      <trans-unit id="167b73bb24b4695614ce0fc567b7a45080457a44" datatype="html">
+        <source>bootstrap token</source>
+        <target>bootstrap token</target>
+      </trans-unit>
       <trans-unit id="4fb54a0291f49583c317d4a3690239141b5a8f68" datatype="html">
         <source>mirror mode for pool '
           <x id="INTERPOLATION" equiv-text="{{id}}"/>'
@@ -4453,6 +5325,14 @@ Na przykład krok jest domyślny.</target>
         <source>all dashboards</source>
         <target>all dashboards</target>
       </trans-unit>
+      <trans-unit id="6c19652df9249c60827044ed6274933cab180c63" datatype="html">
+        <source>OSDs (DriveGroups: 
+          <x id="INTERPOLATION" equiv-text="{{tracking_id}}"/>)
+        </source>
+        <target>OSDs (DriveGroups: 
+          <x id="INTERPOLATION" equiv-text="{{tracking_id}}"/>)
+        </target>
+      </trans-unit>
       <trans-unit id="1b559dbd9cc9664fd788c2da9a10d3abafe066cb" datatype="html">
         <source>Name is already used by 
           <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.
@@ -4477,6 +5357,14 @@ Na przykład krok jest domyślny.</target>
           <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.
         </target>
       </trans-unit>
+      <trans-unit id="460f07780389d24c6a540c007c7367a56afad585" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> is busy.
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> is busy.
+        </target>
+      </trans-unit>
       <trans-unit id="1ff7676ad1e991102224540a32dd44ad1ab88aa8" datatype="html">
         <source>
           <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.
@@ -4631,6 +5519,28 @@ Na przykład krok jest domyślny.</target>
         <source>Cannot disable mirroring because it contains a peer.</source>
         <target>Nie można wyłączyć lustrzenia ponieważ zawiera parowanie.</target>
       </trans-unit>
+      <trans-unit id="5c4525a1b76ca54d1aadeaecfdb83aedc2eec6e0" datatype="html">
+        <source>Identifying</source>
+        <target>Identifying</target>
+      </trans-unit>
+      <trans-unit id="ffd067e54a061d1f27cb35f0cf67ef7f29e19111" datatype="html">
+        <source>identify</source>
+        <target>identify</target>
+      </trans-unit>
+      <trans-unit id="7c921f339274688c22ba1acac7af6b097ad3599d" datatype="html">
+        <source>Identified</source>
+        <target>Identified</target>
+      </trans-unit>
+      <trans-unit id="3307492c27c2150cd26c514030444e11fd61089f" datatype="html">
+        <source>device '
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>' on host '
+          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>'
+        </source>
+        <target>device '
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>' on host '
+          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="f123ae1fc3b000e5d08e766dd78bff162afe709d" datatype="html">
         <source>host '
           <x id="INTERPOLATION" equiv-text="{{hostname}}"/>'
@@ -4639,6 +5549,14 @@ Na przykład krok jest domyślny.</target>
           <x id="INTERPOLATION" equiv-text="{{hostname}}"/>'
         </target>
       </trans-unit>
+      <trans-unit id="c1af76189dcefd094da2bc1a4a63968f3bab5789" datatype="html">
+        <source>OSD '
+          <x id="INTERPOLATION" equiv-text="{{svc_id}}"/>'
+        </source>
+        <target>OSD '
+          <x id="INTERPOLATION" equiv-text="{{svc_id}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="dfe70001dc590a9e12512cbb206aa29fb36fd00b" datatype="html">
         <source>pool '
           <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>'
@@ -4655,6 +5573,14 @@ Na przykład krok jest domyślny.</target>
           <x id="INTERPOLATION" equiv-text="{{name}}"/>'
         </target>
       </trans-unit>
+      <trans-unit id="79052d6c47258dc19ada12dbb2563761102b6f1d" datatype="html">
+        <source>crush rule '
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>'
+        </source>
+        <target>crush rule '
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="369462e5e018360e0600bb570866201ad5c3c8a8" datatype="html">
         <source>target '
           <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>'
@@ -4671,50 +5597,6 @@ Na przykład krok jest domyślny.</target>
           <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>
         </target>
       </trans-unit>
-      <trans-unit id="54bf6542e39412f83ec883266f443e31b304c937" datatype="html">
-        <source>Required rules for password complexity:
-    - must contain at least 8 characters
-    - cannot contain username
-    - cannot contain any keyword used in Ceph
-    - cannot contain any repetitive characters e.g. "aaa"
-    - cannot contain any sequencial characters e.g. "abc"
-    - must consist of characters from the following groups:
-      * alphabetic a-z, A-Z
-      * numbers 0-9
-      * special chars: !"#$%&amp; '()*+,-./:;&lt;=&gt;?@[\]^_`
-          <x id="INTERPOLATION" equiv-text="{{|}}"/>~
-      * any other characters (signs)
-        </source>
-        <target>Required rules for password complexity:
-    - must contain at least 8 characters
-    - cannot contain username
-    - cannot contain any keyword used in Ceph
-    - cannot contain any repetitive characters e.g. "aaa"
-    - cannot contain any sequencial characters e.g. "abc"
-    - must consist of characters from the following groups:
-      * alphabetic a-z, A-Z
-      * numbers 0-9
-      * special chars: !"#$%&amp; '()*+,-./:;&lt;=&gt;?@[\]^_`
-          <x id="INTERPOLATION" equiv-text="{{|}}"/>~
-      * any other characters (signs)
-        </target>
-      </trans-unit>
-      <trans-unit id="ba575e9364b43dc870e332265c5182bb357b7a49" datatype="html">
-        <source>Weak</source>
-        <target>Weak</target>
-      </trans-unit>
-      <trans-unit id="7e6c975ebea8b5f8b120905ca7acf9f8edf59d8e" datatype="html">
-        <source>OK</source>
-        <target>OK</target>
-      </trans-unit>
-      <trans-unit id="3f7349017a01eed18c3daf2b7295ca96ef442eb6" datatype="html">
-        <source>Strong</source>
-        <target>Strong</target>
-      </trans-unit>
-      <trans-unit id="a1e3aecc2022cb0ebed8575a24d0e29d2de815c6" datatype="html">
-        <source>Very strong</source>
-        <target>Very strong</target>
-      </trans-unit>
     </body>
   </file>
 </xliff>
\ No newline at end of file
index 166537cc3482850d09d01667e88a1cb86aec049e..c008e269b3bb15e663be2644e5ec7ba3b785c997 100644 (file)
         <source>Logs</source>
         <target>Registros</target>
       </trans-unit>
-      <trans-unit id="9fe218829514884cdd0ca2300573a4e0428c324f" datatype="html">
-        <source>Alerts</source>
-        <target>Alertas</target>
-      </trans-unit>
-      <trans-unit id="aa0c44aa1e5727061baa91e954f77e2f5f9a37c9" datatype="html">
-        <source>Silences</source>
-        <target>Silences</target>
+      <trans-unit id="17fc3efe5f9fa4e0289c900cb6202265215a1a27" datatype="html">
+        <source>Monitoring</source>
+        <target>Monitoring</target>
       </trans-unit>
       <trans-unit id="92899fa68e8ca108912163ff58edc8540e453787" datatype="html">
         <source>Pools</source>
         <source>Back</source>
         <target>Voltar</target>
       </trans-unit>
+      <trans-unit id="9ce641535be1ffa106c87724ba0637facaef5f61" datatype="html">
+        <source>Your password will expire in 
+          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>less than 1
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day. Click
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.
+        </source>
+        <target>Your password will expire in 
+          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>less than 1
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day. Click
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.
+        </target>
+      </trans-unit>
+      <trans-unit id="c2f34088c155e40ffb23770a465a65868ce772b2" datatype="html">
+        <source>Your password will expire in 
+          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
+          <x id="INTERPOLATION" equiv-text="{{ expirationDays }}"/>
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day(s). Click
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.
+        </source>
+        <target>Your password will expire in 
+          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
+          <x id="INTERPOLATION" equiv-text="{{ expirationDays }}"/>
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day(s). Click
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.
+        </target>
+      </trans-unit>
+      <trans-unit id="9b516f972c744779257310b73f6e97438b726707" datatype="html">
+        <source>Orchestrator is not available. Please consult the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to
+  configure and enable the functionality.
+        </source>
+        <target>Orchestrator is not available. Please consult the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to
+  configure and enable the functionality.
+        </target>
+      </trans-unit>
       <trans-unit id="012741ee52b3c050e4a977c37cc2334f7974f141" datatype="html">
         <source>Failed to load data.</source>
         <target>Falha ao carregar dados.</target>
       </trans-unit>
+      <trans-unit id="1e5e23363e949f7dcbaf034bdb141a561132a10e" datatype="html">
+        <source>Clear filters</source>
+        <target>Clear filters</target>
+      </trans-unit>
       <trans-unit id="80cc9a12d4bf6fe454ed94b379eeaf915f920bb7" datatype="html">
         <source>selected</source>
         <target>selecionado(s)</target>
         <source>Values</source>
         <target>Valores</target>
       </trans-unit>
+      <trans-unit id="5894f7158499fdb89527af50c9f1cf7d4c95cad6" datatype="html">
+        <source>-- Default --</source>
+        <target>-- Default --</target>
+      </trans-unit>
+      <trans-unit id="514f6e12d035a6d9b00de6b3e55c18b73488da07" datatype="html">
+        <source>true</source>
+        <target>true</target>
+      </trans-unit>
+      <trans-unit id="774f5e6a183dea08393789b6f72e86afad729419" datatype="html">
+        <source>false</source>
+        <target>false</target>
+      </trans-unit>
       <trans-unit id="82029b6db704c56a2aa3e82ac555b8655356b077" datatype="html">
         <source>The entered value is too high! It must not be greater than 
           <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.
         <source>Cancel</source>
         <target>Cancelar</target>
       </trans-unit>
+      <trans-unit id="55a2f26b2e87886d9b8015a887e38e51ab2a866a" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>
+          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>
+          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8" datatype="html">
+        <source>Close</source>
+        <target>Fechar</target>
+      </trans-unit>
       <trans-unit id="40661476cb24c89d8b06614998e31d5fbe84eeb6" datatype="html">
         <source>Hosts List</source>
         <target>Lista de Hosts</target>
         <source>Overall Performance</source>
         <target>Desempenho Geral</target>
       </trans-unit>
-      <trans-unit id="6bc15dc1a621b6ff7378db7fd3ac10b2a2627c77" datatype="html">
-        <source>Please consult the
-          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
-          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to
-  configure and enable the orchestrator functionality.
-        </source>
-        <target>Please consult the
-          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
-          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to
-  configure and enable the orchestrator functionality.
-        </target>
-      </trans-unit>
       <trans-unit id="3e24569eca61d598c8b01defbbbb1fa8bd5222bc" datatype="html">
         <source>Devices</source>
         <target>Devices</target>
         <source>Not In Quorum</source>
         <target>Não está no Quorum</target>
       </trans-unit>
+      <trans-unit id="4383e9662ea19839c7499b2128d43a195e564317" datatype="html">
+        <source>OSD creation preview</source>
+        <target>OSD creation preview</target>
+      </trans-unit>
+      <trans-unit id="366225c51e0b00bcb1c55795a0dc5e81c455f84e" datatype="html">
+        <source>DriveGroups</source>
+        <target>DriveGroups</target>
+      </trans-unit>
+      <trans-unit id="8edc89137d0d8c5667a2f03230beafae45e58429" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{ deviceType }}"/> devices
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{ deviceType }}"/> devices
+        </target>
+      </trans-unit>
+      <trans-unit id="eba28e1805b18f7c8ae2e4bc15dcf063b10b3822" datatype="html">
+        <source>At least one of these filters must be applied in order to proceed:</source>
+        <target>At least one of these filters must be applied in order to proceed:</target>
+      </trans-unit>
+      <trans-unit id="93389aa2fe2bea50bf89554ee51b28f87ee2fb50" datatype="html">
+        <source>Number of devices: 
+          <x id="INTERPOLATION" equiv-text="{{ filteredDevices.length }}"/>. Raw capacity:
+          <x id="INTERPOLATION_1" equiv-text="{{ capacity | dimlessBinary }}"/>.
+        </source>
+        <target>Number of devices: 
+          <x id="INTERPOLATION" equiv-text="{{ filteredDevices.length }}"/>. Raw capacity:
+          <x id="INTERPOLATION_1" equiv-text="{{ capacity | dimlessBinary }}"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="ccb4f84edc0b4e76415bb3f9b73d725b06683af3" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{ name }}"/> devices
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{ name }}"/> devices
+        </target>
+      </trans-unit>
+      <trans-unit id="60cb3d01e5ddf266ecb4271007a1c3d0f3efdc22" datatype="html">
+        <source>The primary storage devices. These devices contain all OSD data.</source>
+        <target>The primary storage devices. These devices contain all OSD data.</target>
+      </trans-unit>
+      <trans-unit id="b432e04886d0d1fd84f740477383051f85addcf2" datatype="html">
+        <source>Write-Ahead-Log devices. These devices are used for BlueStore’s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device.</source>
+        <target>Write-Ahead-Log devices. These devices are used for BlueStore’s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device.</target>
+      </trans-unit>
+      <trans-unit id="b87e181ab9e8393aa5ed759dd3d53836e32c8ffe" datatype="html">
+        <source>DB devices can be used for storing BlueStore’s internal metadata.  It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD).</source>
+        <target>DB devices can be used for storing BlueStore’s internal metadata.  It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD).</target>
+      </trans-unit>
+      <trans-unit id="f6755cff4957d5c3c89bafce5651f1b6fa2b1fd9" datatype="html">
+        <source>Add</source>
+        <target>Adicionar</target>
+      </trans-unit>
+      <trans-unit id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46" datatype="html">
+        <source>Clear</source>
+        <target>Clear</target>
+      </trans-unit>
+      <trans-unit id="7e0fd3c7af0630f93befa6234a693a32a61084e0" datatype="html">
+        <source>Raw capacity: 
+          <x id="INTERPOLATION" equiv-text="{{ capacity | dimlessBinary }}"/>
+        </source>
+        <target>Raw capacity: 
+          <x id="INTERPOLATION" equiv-text="{{ capacity | dimlessBinary }}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="43ecf6bee2aebc07b0aad6dc1fe13e38d14687fa" datatype="html">
+        <source>Shared devices</source>
+        <target>Shared devices</target>
+      </trans-unit>
+      <trans-unit id="7a1c376f6f1b37de4c318ff2106255ba6c0f5b0b" datatype="html">
+        <source>WAL slots</source>
+        <target>WAL slots</target>
+      </trans-unit>
+      <trans-unit id="73811a6f37b63e6b0e491e221bfa21e9dea8a87a" datatype="html">
+        <source>How many OSDs per WAL device.</source>
+        <target>How many OSDs per WAL device.</target>
+      </trans-unit>
+      <trans-unit id="0c67a7ac4762ef1cc855056c6b4daab93e53a0a5" datatype="html">
+        <source>Specify 0 to let Orchestrator backend decide it.</source>
+        <target>Specify 0 to let Orchestrator backend decide it.</target>
+      </trans-unit>
+      <trans-unit id="7bda9362e06e6c67341b4a8425b0d29d6b84464b" datatype="html">
+        <source>Value should be greater than or equal to 0</source>
+        <target>Value should be greater than or equal to 0</target>
+      </trans-unit>
+      <trans-unit id="324c2b10152b9dd908222bb0b71f61beb60a30c5" datatype="html">
+        <source>DB slots</source>
+        <target>DB slots</target>
+      </trans-unit>
+      <trans-unit id="c23cf12ef9c76f37fc7a4b7ae3e00fb0f68b6e26" datatype="html">
+        <source>How many OSDs per DB device.</source>
+        <target>How many OSDs per DB device.</target>
+      </trans-unit>
+      <trans-unit id="6cdb1fea93d77c07950c0c76c6e0ad79ebbef084" datatype="html">
+        <source>Features</source>
+        <target>Recursos</target>
+      </trans-unit>
+      <trans-unit id="3e2a583f531f7dd9f089f68a6968e444c372c3e8" datatype="html">
+        <source>Preview</source>
+        <target>Preview</target>
+      </trans-unit>
       <trans-unit id="5ef50ba2514414f799d4c8fc36067a251904ba81" datatype="html">
         <source>Cluster-wide OSD Flags</source>
         <target>Flags OSD de todo o Cluster</target>
         <source>{VAR_SELECT, select, 1 {Deep } }</source>
         <target>{VAR_SELECT, select, 1 {Profundo } }</target>
       </trans-unit>
-      <trans-unit id="2613498e8e5853c26a1cc62ae8dc673d1fdf0e2a" datatype="html">
+      <trans-unit id="fd0a4b6eed32e3488eccdc9c13f9841f08cc275e" datatype="html">
         <source>You are about to apply a 
           <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to
           the OSD(s): 
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
-          <x id="INTERPOLATION" equiv-text="{{ selected | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ selected | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.
         </source>
         <target>You are about to apply a 
           <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to
           the OSD(s): 
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
-          <x id="INTERPOLATION" equiv-text="{{ selected | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ selected | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.
         </target>
       </trans-unit>
         <source>OSDs List</source>
         <target>Lista de OSDs</target>
       </trans-unit>
-      <trans-unit id="c402e6ec1c6792ede81f56c28eee8955860391c8" datatype="html">
+      <trans-unit id="d5707a32ba9c1138e6423498fb0b24e970ebd19f" datatype="html">
         <source>
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) 
-          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
           <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>
         </source>
         <target>
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) 
-          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
           <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.
         </target>
       </trans-unit>
-      <trans-unit id="d2797d01ba86f5df03d875803e49e648a4027869" datatype="html">
+      <trans-unit id="d08c1e4f17dffc0ed1ac2e2e2875cb8b569eeb35" datatype="html">
         <source>The 
-          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to destroy!
+          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to be 
+          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>! 
+          <x id="INTERPOLATION_1" equiv-text="{{ message }}"/>
         </source>
         <target>The 
-          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to destroy!
+          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to be 
+          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>! 
+          <x id="INTERPOLATION_1" equiv-text="{{ message }}"/>
         </target>
       </trans-unit>
       <trans-unit id="e776996dac651ef3819bfa767ccf2a0613759f47" datatype="html">
         <source>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</source>
         <target>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</target>
       </trans-unit>
-      <trans-unit id="1e2c50ed3c3934ef068976dc7f38513cec29d515" datatype="html">
+      <trans-unit id="5cd6a031937412c42e5efa1e6959cb72ac08c720" datatype="html">
         <source>
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD 
-          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
           <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>
         </source>
         <target>
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD 
-          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
           <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.
         </target>
       </trans-unit>
-      <trans-unit id="4f8b2bb476981727ab34ed40fde1218361f92c45" datatype="html">
-        <source>Details</source>
-        <target>Detalhes</target>
+      <trans-unit id="3eda19b44809820fffd5d3753bafb7243116f4b0" datatype="html">
+        <source>To see all active Prometheus alerts, please
+      provide the URL to the API of Prometheus' Alertmanager as described in the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.
+        </source>
+        <target>To see all active Prometheus alerts, please
+      provide the URL to the API of Prometheus' Alertmanager as described in the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="880ad4df5a2051a437321443d69c9a866699e5ad" datatype="html">
+        <source>Active Alerts</source>
+        <target>Active Alerts</target>
+      </trans-unit>
+      <trans-unit id="8e5e0e09a11990d343926ed693574213d703c38d" datatype="html">
+        <source>All Alerts</source>
+        <target>All Alerts</target>
+      </trans-unit>
+      <trans-unit id="526938c2b7945cb0d68328c24bd77730230cd455" datatype="html">
+        <source>To enable Silences, please provide the URL to the API of the Prometheus' Alertmanager as
+      described in the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.
+        </source>
+        <target>To enable Silences, please provide the URL to the API of the Prometheus' Alertmanager as
+      described in the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="aa0c44aa1e5727061baa91e954f77e2f5f9a37c9" datatype="html">
+        <source>Silences</source>
+        <target>Silences</target>
       </trans-unit>
       <trans-unit id="8501055865d7031b5521a0c5467532648009a61d" datatype="html">
         <source>Matcher</source>
         <source>{VAR_SELECT, select, 1 {Update} other {Add} }</source>
         <target>{VAR_SELECT, select, 1 {Update} other {Add} }</target>
       </trans-unit>
-      <trans-unit id="f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8" datatype="html">
-        <source>Close</source>
-        <target>Fechar</target>
-      </trans-unit>
       <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c" datatype="html">
         <source>Edit</source>
         <target>Editar</target>
         <source>End time</source>
         <target>End time</target>
       </trans-unit>
-      <trans-unit id="dbe739ec8c99a0132e326067ffec9c0ee06b2655" datatype="html">
-        <source>Matchers
-          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>*
-          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>
-        </source>
-        <target>Matchers
-          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>*
-          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>
-        </target>
+      <trans-unit id="992123459137d45c15df5548bc9682aad835c04b" datatype="html">
+        <source>Matchers</source>
+        <target>Matchers</target>
       </trans-unit>
       <trans-unit id="3e023166c55833d5a13f4143e3dbe372befe1b4e" datatype="html">
         <source>A silence requires at least one matcher</source>
         <source>CephFS</source>
         <target>CephFS</target>
       </trans-unit>
+      <trans-unit id="0eb15f32b2b92d7f3103ef3ff032621888a8dc32" datatype="html">
+        <source>Old password</source>
+        <target>Old password</target>
+      </trans-unit>
+      <trans-unit id="1cf42e491adc166a337a960eb84d03c0c3f677c8" datatype="html">
+        <source>The old and new passwords must be different.</source>
+        <target>The old and new passwords must be different.</target>
+      </trans-unit>
+      <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229" datatype="html">
+        <source>New password</source>
+        <target>New password</target>
+      </trans-unit>
+      <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b" datatype="html">
+        <source>Confirm new password</source>
+        <target>Confirm new password</target>
+      </trans-unit>
+      <trans-unit id="90163a3d3746819aef42e829f4446331232f3b66" datatype="html">
+        <source>Password confirmation doesn't match the new password.</source>
+        <target>Password confirmation doesn't match the new password.</target>
+      </trans-unit>
+      <trans-unit id="d06ae77f9ec46a4cdd49e7e76c73a411aaf2ee38" datatype="html">
+        <source>Please set a new password.</source>
+        <target>Please set a new password.</target>
+      </trans-unit>
+      <trans-unit id="8b5b3566e88438f51bd5f6caf6c090ed565ba5ed" datatype="html">
+        <source>You will be redirected to the login page afterwards.</source>
+        <target>You will be redirected to the login page afterwards.</target>
+      </trans-unit>
       <trans-unit id="449dca3d3a93ead418b0541ea81b0dda7e6483c2" datatype="html">
         <source>Welcome to Ceph!</source>
         <target>Bem-vindo ao Ceph!</target>
           <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You'll be logged out from the Identity Provider when you retry logging in.
         </target>
       </trans-unit>
-      <trans-unit id="0eb15f32b2b92d7f3103ef3ff032621888a8dc32" datatype="html">
-        <source>Old password</source>
-        <target>Old password</target>
-      </trans-unit>
-      <trans-unit id="1cf42e491adc166a337a960eb84d03c0c3f677c8" datatype="html">
-        <source>The old and new passwords must be different.</source>
-        <target>The old and new passwords must be different.</target>
-      </trans-unit>
-      <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229" datatype="html">
-        <source>New password</source>
-        <target>New password</target>
-      </trans-unit>
-      <trans-unit id="595ebc9279497f6dc733777e2816bee936901388" datatype="html">
-        <source>Too weak</source>
-        <target>Too weak</target>
-      </trans-unit>
-      <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b" datatype="html">
-        <source>Confirm new password</source>
-        <target>Confirm new password</target>
-      </trans-unit>
-      <trans-unit id="90163a3d3746819aef42e829f4446331232f3b66" datatype="html">
-        <source>Password confirmation doesn't match the new password.</source>
-        <target>Password confirmation doesn't match the new password.</target>
-      </trans-unit>
       <trans-unit id="471e78026c258073ba687478dc54c35d9041ea42" datatype="html">
         <source>Forbidden</source>
         <target>Proibido</target>
         <source>Sorry, you are not allowed to see what you were looking for.</source>
         <target>Você não tem permissão para ver o que está procurando.</target>
       </trans-unit>
-      <trans-unit id="e3c028c58f92453d46f09b5adf95b2f013ee0300" datatype="html">
-        <source>Sorry, we could not find what you were looking for</source>
-        <target>Não foi possível localizar o que você está procurando</target>
+      <trans-unit id="2240b985f17293d84cc8532fe86994aa5f63667c" datatype="html">
+        <source>Sorry, we could not find what you were looking for.</source>
+        <target>Sorry, we could not find what you were looking for.</target>
+      </trans-unit>
+      <trans-unit id="ac54c18c1b520e948095c83a3a1025f02ce6dcc6" datatype="html">
+        <source>Neither hostname nor OSD ID given</source>
+        <target>Neither hostname nor OSD ID given</target>
+      </trans-unit>
+      <trans-unit id="4f635b3cb0600409a2ad44a5bd1863c699e6a01c" datatype="html">
+        <source>Failed to retrieve SMART data.</source>
+        <target>Failed to retrieve SMART data.</target>
+      </trans-unit>
+      <trans-unit id="d82a9af5b05e7cd17640f196f163771685ff8df6" datatype="html">
+        <source>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</source>
+        <target>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</target>
+      </trans-unit>
+      <trans-unit id="04f8a3c7e8ac610e6581960162cc15f55a16696a" datatype="html">
+        <source>No SMART data available.</source>
+        <target>No SMART data available.</target>
+      </trans-unit>
+      <trans-unit id="3a03d3c2e459f8f8fa7202c0fce465d6165f9e2b" datatype="html">
+        <source>passed</source>
+        <target>passed</target>
+      </trans-unit>
+      <trans-unit id="a185c9b97513b3882604ea9bab60edbfac945c15" datatype="html">
+        <source>SMART overall-health self-assessment test result</source>
+        <target>SMART overall-health self-assessment test result</target>
+      </trans-unit>
+      <trans-unit id="41435d5a5692c8e412c74deaee95d99dbd3617e1" datatype="html">
+        <source>failed</source>
+        <target>failed</target>
+      </trans-unit>
+      <trans-unit id="ddd5dd6d930030096ea617f62c82b648a0dd9484" datatype="html">
+        <source>Device Information</source>
+        <target>Device Information</target>
+      </trans-unit>
+      <trans-unit id="380295f37caea93701d071485a38ef0bdba57133" datatype="html">
+        <source>No SMART data available for this device.</source>
+        <target>No SMART data available for this device.</target>
+      </trans-unit>
+      <trans-unit id="20cb12827cbe559a7b1da6fdae96041b3b5c3c55" datatype="html">
+        <source>SMART</source>
+        <target>SMART</target>
+      </trans-unit>
+      <trans-unit id="5758c3f16f8749f0f4e2a787f02e8b4da246102f" datatype="html">
+        <source>SMART data is loading.</source>
+        <target>SMART data is loading.</target>
       </trans-unit>
       <trans-unit id="a949d7e577902d0e5dc5d0971bb0170a21be7728" datatype="html">
         <source>[object Object]</source>
         <source>The chosen erasure code profile name is already in use.</source>
         <target>O nome do perfil de código de eliminação escolhido já está em uso.</target>
       </trans-unit>
+      <trans-unit id="35a4206db3105ed03e0dd799e1642b75b78123e8" datatype="html">
+        <source>Root</source>
+        <target>Root</target>
+      </trans-unit>
+      <trans-unit id="cf425784c7073c7e7f7c1bb90c2c19db7e751db2" datatype="html">
+        <source>Failure domain type</source>
+        <target>Failure domain type</target>
+      </trans-unit>
+      <trans-unit id="72396a9565cf644d1fe1b21b790c4243ee270986" datatype="html">
+        <source>Device class</source>
+        <target>Device class</target>
+      </trans-unit>
+      <trans-unit id="72d80e0c07bfea1b693a33ef2245007de92a6780" datatype="html">
+        <source>Let Ceph decide</source>
+        <target>Let Ceph decide</target>
+      </trans-unit>
       <trans-unit id="ef9ff0e6227947b48dfab4ac39ade04af758913b" datatype="html">
         <source>Plugin</source>
         <target>Plug-in</target>
         <target>It's not possible to create an RBD pool with '/' in the name.
               Please change the name or remove 'rbd' from the applications list.</target>
       </trans-unit>
+      <trans-unit id="171dc6d5c6bc4615d99778b0088cae80fd00bd10" datatype="html">
+        <source>Pool name can only contain letters, numbers, '.', '-', '_' or '/'.</source>
+        <target>Pool name can only contain letters, numbers, '.', '-', '_' or '/'.</target>
+      </trans-unit>
       <trans-unit id="b85c657469e5ec8231c3de99b22f437bc01ffde5" datatype="html">
         <source>Pool type</source>
         <target>Tipo de pool</target>
         <source>-- Select a pool type --</source>
         <target>-- Selecionar tipo de pool --</target>
       </trans-unit>
+      <trans-unit id="6abfbe47b630929d93c7343dc154599c2e59330a" datatype="html">
+        <source>PG Autoscale</source>
+        <target>PG Autoscale</target>
+      </trans-unit>
       <trans-unit id="0aa21053410a94aa61d16985a4e95fd65523430d" datatype="html">
         <source>Placement groups</source>
         <target>Grupos de posicionamento</target>
         <target>The current PGs settings were calculated for you, you
                 should make sure the values suit your needs before submit.</target>
       </trans-unit>
-      <trans-unit id="33150f22ce5348aa6c499bd092c3f4f3695d62cc" datatype="html">
-        <source>Crush ruleset</source>
-        <target>Conjunto de regras do Crush</target>
-      </trans-unit>
-      <trans-unit id="73a6b31116b3cc322af951daa0bafdc169e6c42e" datatype="html">
-        <source>-- Select a crush rule --</source>
-        <target>-- Selecionar regra de crush --</target>
-      </trans-unit>
-      <trans-unit id="92da80699921e89fb19372e25b8d0f3b9fa427fc" datatype="html">
-        <source>Crush rule</source>
-        <target>Regra de Crush</target>
-      </trans-unit>
-      <trans-unit id="5489e9f96835f469f6f728a00d8efa88ea5bc940" datatype="html">
-        <source>Crush steps</source>
-        <target>Etapas do Crush</target>
-      </trans-unit>
-      <trans-unit id="54a53b1b402aafff5b992ee9b64e409fbfe9074f" datatype="html">
-        <source>The rule can't be used in the current cluster as it has
-                to few OSDs to meet the minimum required OSD by this rule.</source>
-        <target>Impossível usar a regra no cluster atual porque ela tem
-                poucos OSDs para atender ao OSD mínimo necessário para esta regra.</target>
-      </trans-unit>
       <trans-unit id="a43b2695131b48b76cebba676aba98a2bee17515" datatype="html">
         <source>Replicated size</source>
         <target>Tamanho replicado</target>
           <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.
         </target>
       </trans-unit>
+      <trans-unit id="920617c6a1a4805e53bcb5af6a9c76f8387e89c6" datatype="html">
+        <source>Flags</source>
+        <target>Flags</target>
+      </trans-unit>
+      <trans-unit id="1c870fb00256b8a5b9cb9cd1a124e6390b9bc639" datatype="html">
+        <source>EC Overwrites</source>
+        <target>Sobregravações de EC</target>
+      </trans-unit>
+      <trans-unit id="f1abafaeb40ce52355ddcc24686e3cd17b64e08a" datatype="html">
+        <source>Applications</source>
+        <target>Aplicativos</target>
+      </trans-unit>
+      <trans-unit id="fb9308b82fc183f710df60909f49cfc73aa5e076" datatype="html">
+        <source>CRUSH</source>
+        <target>CRUSH</target>
+      </trans-unit>
       <trans-unit id="9de7dde00e2139cc4bd03b1837afbe72ad15a1ff" datatype="html">
         <source>Erasure code profile</source>
         <target>Perfil do código de eliminação</target>
         <source>-- Select an erasure code profile --</source>
         <target>-- Selecionar perfil do código de eliminação --</target>
       </trans-unit>
-      <trans-unit id="920617c6a1a4805e53bcb5af6a9c76f8387e89c6" datatype="html">
-        <source>Flags</source>
-        <target>Flags</target>
+      <trans-unit id="33150f22ce5348aa6c499bd092c3f4f3695d62cc" datatype="html">
+        <source>Crush ruleset</source>
+        <target>Conjunto de regras do Crush</target>
       </trans-unit>
-      <trans-unit id="1c870fb00256b8a5b9cb9cd1a124e6390b9bc639" datatype="html">
-        <source>EC Overwrites</source>
-        <target>Sobregravações de EC</target>
+      <trans-unit id="c69b0bcd4698aa845d32c4c4ad488492552cb469" datatype="html">
+        <source>A new crush ruleset will be implicitly created.</source>
+        <target>A new crush ruleset will be implicitly created.</target>
       </trans-unit>
-      <trans-unit id="f1abafaeb40ce52355ddcc24686e3cd17b64e08a" datatype="html">
-        <source>Applications</source>
-        <target>Aplicativos</target>
+      <trans-unit id="896e9987db5e9bb279e6deed5d2dff28c242ef66" datatype="html">
+        <source>There are no rules.</source>
+        <target>There are no rules.</target>
+      </trans-unit>
+      <trans-unit id="73a6b31116b3cc322af951daa0bafdc169e6c42e" datatype="html">
+        <source>-- Select a crush rule --</source>
+        <target>-- Selecionar regra de crush --</target>
+      </trans-unit>
+      <trans-unit id="ea91d648f92002bc9f96d9b26b735c83ca0b53c6" datatype="html">
+        <source>This rule can't be deleted as it is in use.</source>
+        <target>This rule can't be deleted as it is in use.</target>
+      </trans-unit>
+      <trans-unit id="92da80699921e89fb19372e25b8d0f3b9fa427fc" datatype="html">
+        <source>Crush rule</source>
+        <target>Regra de Crush</target>
+      </trans-unit>
+      <trans-unit id="5489e9f96835f469f6f728a00d8efa88ea5bc940" datatype="html">
+        <source>Crush steps</source>
+        <target>Etapas do Crush</target>
+      </trans-unit>
+      <trans-unit id="fc5f5496a9e50fe69e1a09784f28d94944108294" datatype="html">
+        <source>Rule is not in use.</source>
+        <target>Rule is not in use.</target>
+      </trans-unit>
+      <trans-unit id="023d6f718770d2ea4ab8cabe26b0ec27ef967ec2" datatype="html">
+        <source>Used by pools</source>
+        <target>Used by pools</target>
+      </trans-unit>
+      <trans-unit id="104a0e6900d1d1b0c8cf9e5947e36edb352583fc" datatype="html">
+        <source>The rule can't be used in the current cluster as it has
+                  too few OSDs to meet the minimum required OSD by this rule.</source>
+        <target>The rule can't be used in the current cluster as it has
+                  too few OSDs to meet the minimum required OSD by this rule.</target>
       </trans-unit>
       <trans-unit id="2208d63d5940ce656006a220102b1eb2b5e553da" datatype="html">
         <source>Compression</source>
         <source>The value should be greater or equal to 0</source>
         <target>The value should be greater or equal to 0</target>
       </trans-unit>
+      <trans-unit id="4f8b2bb476981727ab34ed40fde1218361f92c45" datatype="html">
+        <source>Details</source>
+        <target>Detalhes</target>
+      </trans-unit>
       <trans-unit id="fbbaf5cb02ed419e79a27072478f716a4666a99d" datatype="html">
         <source>Performance Details</source>
         <target>Detalhes de Desempenho</target>
         <source>Cache Tiers Details</source>
         <target>Detalhes das Camadas do Cache</target>
       </trans-unit>
+      <trans-unit id="ecbc084370a732fc3cde1966a60af78d71424ab4" datatype="html">
+        <source>Create Bootstrap Token</source>
+        <target>Create Bootstrap Token</target>
+      </trans-unit>
+      <trans-unit id="603e9cc3ef2aab57f2b0a00e465b23b9cabefd9c" datatype="html">
+        <source>To create a bootstrap token which can be imported
+          by a peer site cluster, provide the local site's name, select
+          which pools will have mirroring enabled, and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Generate
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </source>
+        <target>To create a bootstrap token which can be imported
+          by a peer site cluster, provide the local site's name, select
+          which pools will have mirroring enabled, and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Generate
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="660f97cd3188f8a04bd03b79e703fec72c6df04c" datatype="html">
+        <source>Site Name</source>
+        <target>Site Name</target>
+      </trans-unit>
+      <trans-unit id="8c2a1dc72cffaf7ab3dc5599bf77b0a7fcad2b20" datatype="html">
+        <source>At least one pool is required.</source>
+        <target>At least one pool is required.</target>
+      </trans-unit>
+      <trans-unit id="1b258b258b4cc475ceb2871305b61756b0134f4a" datatype="html">
+        <source>Generate</source>
+        <target>Generate</target>
+      </trans-unit>
+      <trans-unit id="1edc1fc6cfbbb22353050ad6788508b3ed584f53" datatype="html">
+        <source>Token</source>
+        <target>Token</target>
+      </trans-unit>
+      <trans-unit id="ff785f5596aef34a93b9b4d1023e95c62eef5740" datatype="html">
+        <source>Generated token...</source>
+        <target>Generated token...</target>
+      </trans-unit>
+      <trans-unit id="5467a6bb0e7fade6def7499400d5e2a7d8d3da20" datatype="html">
+        <source>Import Bootstrap Token</source>
+        <target>Import Bootstrap Token</target>
+      </trans-unit>
+      <trans-unit id="9bb7aee0dec5164f45c0aa2f35f2fb2149d2c1d2" datatype="html">
+        <source>To import a bootstrap token which was created
+          by a peer site cluster, provide the local site's name, select
+          which pools will have mirroring enabled, provide the generated
+          token, and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Import
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </source>
+        <target>To import a bootstrap token which was created
+          by a peer site cluster, provide the local site's name, select
+          which pools will have mirroring enabled, provide the generated
+          token, and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Import
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="9200e09686136a1d42adfb89c12fbfef2deea125" datatype="html">
+        <source>Direction</source>
+        <target>Direction</target>
+      </trans-unit>
+      <trans-unit id="9761484679958da8d12841a4efa5964d33fae575" datatype="html">
+        <source>The token is invalid.</source>
+        <target>The token is invalid.</target>
+      </trans-unit>
+      <trans-unit id="a059709f71aa4c0ac219e160e78a738682ca6a36" datatype="html">
+        <source>Import</source>
+        <target>Import</target>
+      </trans-unit>
+      <trans-unit id="b87bd96249f8afc23f5301cddb57b1464a98e71a" datatype="html">
+        <source>Edit site name</source>
+        <target>Edit site name</target>
+      </trans-unit>
+      <trans-unit id="cfff72c667274c12eb1ff71eadc25871c10c42dc" datatype="html">
+        <source>Edit the site name and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </source>
+        <target>Edit the site name and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="40b7acea5b43f45e0bbd1efeba5200af4687981d" datatype="html">
+        <source>Site Name:</source>
+        <target>Site Name:</target>
+      </trans-unit>
       <trans-unit id="f0b5d789d42c0e69348e5fe0037fcbf5b5fbbdcc" datatype="html">
         <source>Move an image to trash</source>
         <target>Mover imagem para o lixo</target>
       </trans-unit>
-      <trans-unit id="86301cf2044b1eda218483365f6b9de8dde5040b" datatype="html">
+      <trans-unit id="7ad22c1d4aab3b8946603cea62de266d5129ca10" datatype="html">
+        <source>This image contains snapshot(s), which will prevent it
+            from being removed after moved to trash.</source>
+        <target>This image contains snapshot(s), which will prevent it
+            from being removed after moved to trash.</target>
+      </trans-unit>
+      <trans-unit id="b4b3ced4f8aad4c446f348b14c3d94be2e2c350c" datatype="html">
         <source>To move 
           <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>
-          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>/
-          <x id="INTERPOLATION_1" equiv-text="{{ imageName }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ imageSpecStr }}"/>
           <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,
           click 
           <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image
         </source>
         <target>To move 
           <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>
-          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>/
-          <x id="INTERPOLATION_1" equiv-text="{{ imageName }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ imageSpecStr }}"/>
           <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,
           click 
           <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image
         <source>Move Image</source>
         <target>Mover Imagem</target>
       </trans-unit>
+      <trans-unit id="c9f1026c1235f4d76ace47449e806efd181ab332" datatype="html">
+        <source>Deleting this image will also delete all its snapshots.</source>
+        <target>Deleting this image will also delete all its snapshots.</target>
+      </trans-unit>
+      <trans-unit id="55f864597e84d9bf88769e1fbfda1d64452430c9" datatype="html">
+        <source>The following snapshots are currently protected and will be removed:</source>
+        <target>The following snapshots are currently protected and will be removed:</target>
+      </trans-unit>
       <trans-unit id="8a9910cd114c1deb9af74f6f99b4173403965bf2" datatype="html">
         <source>Gateways</source>
         <target>Gateways</target>
         <source>Object size</source>
         <target>Tamanho do objeto</target>
       </trans-unit>
-      <trans-unit id="6cdb1fea93d77c07950c0c76c6e0ad79ebbef084" datatype="html">
-        <source>Features</source>
-        <target>Recursos</target>
-      </trans-unit>
       <trans-unit id="0a65771c9a73b9aa609d592fc96a64801a8f40bd" datatype="html">
         <source>Provisioned</source>
         <target>Aprovisionado</target>
         <source>-- Select a pool --</source>
         <target>-- Selecionar pool --</target>
       </trans-unit>
+      <trans-unit id="d649904466254d13df1fbf2d255f0bbc6553d213" datatype="html">
+        <source>-- No namespaces available --</source>
+        <target>-- No namespaces available --</target>
+      </trans-unit>
+      <trans-unit id="e22d7bb4d2d561e0832ee0b9a3da2468a080c4f0" datatype="html">
+        <source>-- Select a namespace --</source>
+        <target>-- Select a namespace --</target>
+      </trans-unit>
       <trans-unit id="49449943d8cbf59d8c401c8bd2e76f92e207cc5f" datatype="html">
         <source>Use a dedicated data pool</source>
         <target>Usar pool de dados dedicado</target>
         <source>Stripe count must be greater than 0.</source>
         <target>O total de distribuições deve ser maior do que 0.</target>
       </trans-unit>
-      <trans-unit id="3f67f30568e9ae47507d46e28e1e82a7dca772e2" datatype="html">
-        <source>
-          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> RBD Snapshot
-        </source>
-        <target>
-          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> RBD Snapshot
-        </target>
-      </trans-unit>
-      <trans-unit id="1628d19a4490817c18be2afab410ca4adfa62ea7" datatype="html">
-        <source>{VAR_SELECT, select, true {Rename} other {Create} }</source>
-        <target>{VAR_SELECT, select, true {Renomear} other {Criar} }</target>
+      <trans-unit id="2c07d24bb422aa8e5e568df1c5709083f0a9c8f1" datatype="html">
+        <source>Create Namespace</source>
+        <target>Create Namespace</target>
       </trans-unit>
-      <trans-unit id="73a287b41afe6b28f90edbeb98957a341a0276b4" datatype="html">
-        <source>
-          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> Snapshot
-        </source>
-        <target>
-          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> Snapshot
-        </target>
-      </trans-unit>
-      <trans-unit id="cb60c1cd3655234756b5b92d4d597d92d520ee30" datatype="html">
-        <source>PROTECTED</source>
-        <target>PROTECTED</target>
-      </trans-unit>
-      <trans-unit id="deffb86b8fb0541254ad5a43862d82bff6b6a6c4" datatype="html">
-        <source>UNPROTECTED</source>
-        <target>NÃO PROTEGIDO</target>
+      <trans-unit id="0cca6c0485f96d3a9610d0339cb1275a5f2c3f46" datatype="html">
+        <source>Namespace already exists.</source>
+        <target>Namespace already exists.</target>
       </trans-unit>
       <trans-unit id="5c5331983af566d4ac6a1024d15a3511786a4aa6" datatype="html">
         <source>You are about to rollback</source>
         <source>Purge Trash</source>
         <target>Purgar Lixo</target>
       </trans-unit>
-      <trans-unit id="af728625d769b61acf291442644b89edb88faec3" datatype="html">
-        <source>To purge, select one or All images and click</source>
-        <target>Para purgar, selecione uma ou Todas as imagens e clique em</target>
+      <trans-unit id="681501eecd7f44d4b7a2f619605b36676e04c5b6" datatype="html">
+        <source>To purge, select one or</source>
+        <target>To purge, select one or</target>
+      </trans-unit>
+      <trans-unit id="dfc3c34e182ea73c5d784ff7c8135f087992dac1" datatype="html">
+        <source>All</source>
+        <target>Tudo</target>
+      </trans-unit>
+      <trans-unit id="ea5d338dcef50ff5c24439fd784f6a67b594c33f" datatype="html">
+        <source>pools and click</source>
+        <target>pools and click</target>
       </trans-unit>
       <trans-unit id="55a4f598a4894b7fd5cb88f0ffd3c37ad009dd70" datatype="html">
         <source>Pool:</source>
         <source>Pool name...</source>
         <target>Nome do pool...</target>
       </trans-unit>
-      <trans-unit id="dfc3c34e182ea73c5d784ff7c8135f087992dac1" datatype="html">
-        <source>All</source>
-        <target>Tudo</target>
-      </trans-unit>
       <trans-unit id="b0e7c7ed1d51a0c205c815048bc9f79e24ee6db2" datatype="html">
         <source>Restore Image</source>
         <target>Restaurar Imagem</target>
           <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.
         </target>
       </trans-unit>
-      <trans-unit id="aba82bfd8e177d35b76cad7cd43941f8e5e5acac" datatype="html">
-        <source>Trash</source>
-        <target>Lixo</target>
-      </trans-unit>
       <trans-unit id="a674ab267d1934bf395f87ca1503fd474296893f" datatype="html">
         <source>iSCSI Topology</source>
         <target>Topologia iSCSI</target>
       </trans-unit>
-      <trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html">
-        <source>Settings</source>
-        <target>Configurações</target>
+      <trans-unit id="051dcc342cfa5c1eaf187a2001aaa162379a160c" datatype="html">
+        <source>Configure</source>
+        <target>Configure</target>
       </trans-unit>
       <trans-unit id="9e515f954730279c31d5301f02479666d6264e8b" datatype="html">
         <source>Changing these parameters from their default values is usually not necessary.</source>
         <target>Não costuma ser necessário mudar o valor padrão destes parâmetros.</target>
       </trans-unit>
+      <trans-unit id="4e2591df099ddac796cda401c5f282da779d45f2" datatype="html">
+        <source>Identifier</source>
+        <target>Identifier</target>
+      </trans-unit>
+      <trans-unit id="62480a4859976427cf18fc8ef41d3a438eda0412" datatype="html">
+        <source>lun</source>
+        <target>lun</target>
+      </trans-unit>
+      <trans-unit id="8afc9eb4405e0aa554b2ba14140ef790cdecc040" datatype="html">
+        <source>wwn</source>
+        <target>wwn</target>
+      </trans-unit>
+      <trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html">
+        <source>Settings</source>
+        <target>Configurações</target>
+      </trans-unit>
       <trans-unit id="69a47cbabcc51ca942606e1d8da0ec11f98a2690" datatype="html">
         <source>Backstore</source>
         <target>Backstore</target>
         <source>Portals</source>
         <target>Portais</target>
       </trans-unit>
+      <trans-unit id="6a3ac2b4137d723fd9878cd357c2012ff6c07973" datatype="html">
+        <source>Add portal</source>
+        <target>Adicionar portal</target>
+      </trans-unit>
       <trans-unit id="c3638c01b6c34066438909713ec96087c813fc7e" datatype="html">
         <source>At least 
           <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.
           <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.
         </target>
       </trans-unit>
-      <trans-unit id="6a3ac2b4137d723fd9878cd357c2012ff6c07973" datatype="html">
-        <source>Add portal</source>
-        <target>Adicionar portal</target>
-      </trans-unit>
       <trans-unit id="9aff25be088f0efe3eaaf62edf2bff41cc41a617" datatype="html">
         <source>Backstore: 
           <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. 
         <source>This image has modified settings.</source>
         <target>Esta imagem tem configurações modificadas.</target>
       </trans-unit>
-      <trans-unit id="107c84e820909b44fe258673938a68ced1bbff72" datatype="html">
-        <source>At least 1 image is required.</source>
-        <target>Pelo menos 1 imagem é necessária.</target>
+      <trans-unit id="1dff11e0820b6722ab240169f1232d70a54beaaa" datatype="html">
+        <source>Duplicated LUN numbers.</source>
+        <target>Duplicated LUN numbers.</target>
+      </trans-unit>
+      <trans-unit id="bf2dccf92ccff6e3b091792bf4205595406e1bfb" datatype="html">
+        <source>Duplicated WWN.</source>
+        <target>Duplicated WWN.</target>
       </trans-unit>
       <trans-unit id="808038f912fdc7f0e03f82d4afd3bf9178527fc8" datatype="html">
         <source>Add image</source>
         <source>Add group</source>
         <target>Adicionar grupo</target>
       </trans-unit>
+      <trans-unit id="c3a7e364a88ea4673199dfa98bc73e6dbe09dfac" datatype="html">
+        <source>Namespaces</source>
+        <target>Namespaces</target>
+      </trans-unit>
+      <trans-unit id="aba82bfd8e177d35b76cad7cd43941f8e5e5acac" datatype="html">
+        <source>Trash</source>
+        <target>Lixo</target>
+      </trans-unit>
       <trans-unit id="66db799d67958d4b0765181d072df62e2d1c16f5" datatype="html">
         <source>Issues</source>
         <target>Problemas</target>
         <source>Enables versioning for the objects in the bucket.</source>
         <target>Enables versioning for the objects in the bucket.</target>
       </trans-unit>
-      <trans-unit id="92f3f203270a29b3001871153f02c063484a1574" datatype="html">
-        <source>Suspended</source>
-        <target>Suspenso</target>
+      <trans-unit id="9e6775ffd06878aa145c07359f28557f01ede04f" datatype="html">
+        <source>Multi-Factor Authentication</source>
+        <target>Multi-Factor Authentication</target>
+      </trans-unit>
+      <trans-unit id="29e8a5d4fb767d4ad0c762c81c6264cec4c0ba97" datatype="html">
+        <source>Delete enabled</source>
+        <target>Delete enabled</target>
+      </trans-unit>
+      <trans-unit id="40fbc3ac8c1ea4ecfe62247e91f1f999ad5baf76" datatype="html">
+        <source>Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state.</source>
+        <target>Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state.</target>
+      </trans-unit>
+      <trans-unit id="d24c93a8c13db46defa06ed7b5e026a3edb52b91" datatype="html">
+        <source>Token Serial Number</source>
+        <target>Token Serial Number</target>
+      </trans-unit>
+      <trans-unit id="e6d9536c2af2e5e9a228c3e3e1809dc1fefe0149" datatype="html">
+        <source>Token PIN</source>
+        <target>Token PIN</target>
+      </trans-unit>
+      <trans-unit id="7b84370895ab9eb44672f57146fa05c5947f1c0c" datatype="html">
+        <source>Locking</source>
+        <target>Locking</target>
+      </trans-unit>
+      <trans-unit id="f038d51ab1645f15b0cd58f195c72a7eeebd4729" datatype="html">
+        <source>Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket.</source>
+        <target>Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket.</target>
+      </trans-unit>
+      <trans-unit id="9af1b4baa2dd8ed2bfc3cc756b12a2271c2dd793" datatype="html">
+        <source>Compliance</source>
+        <target>Compliance</target>
+      </trans-unit>
+      <trans-unit id="edd600fa489d1b4a4448dce694ed932e52ce8fda" datatype="html">
+        <source>Governance</source>
+        <target>Governance</target>
+      </trans-unit>
+      <trans-unit id="a5c3d9d2296f7886e8289b9f623323803deacfc6" datatype="html">
+        <source>Days</source>
+        <target>Days</target>
       </trans-unit>
-      <trans-unit id="cd6a798fd0f85cd7e31a57c58074f25035d7850d" datatype="html">
-        <source>Disables versioning for the objects in the bucket.</source>
-        <target>Disables versioning for the objects in the bucket.</target>
+      <trans-unit id="218c7d6d318c51e7105309aaeb0baec9d19e4efb" datatype="html">
+        <source>The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</source>
+        <target>The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</target>
+      </trans-unit>
+      <trans-unit id="289b101ec12427b3ca819df9e43cc3b14fae2cc4" datatype="html">
+        <source>The entered value must be a positive integer.</source>
+        <target>The entered value must be a positive integer.</target>
+      </trans-unit>
+      <trans-unit id="def9fc628134d3a044b7c0ad2a83c846bdad56f1" datatype="html">
+        <source>Retention period requires either Days or Years.</source>
+        <target>Retention period requires either Days or Years.</target>
+      </trans-unit>
+      <trans-unit id="003c94fc143882ac8af6251a1595fe62978fe3e6" datatype="html">
+        <source>Years</source>
+        <target>Years</target>
+      </trans-unit>
+      <trans-unit id="14c6189ead0951f13049c7bf9af7642d0c41957a" datatype="html">
+        <source>The number of years that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</source>
+        <target>The number of years that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</target>
       </trans-unit>
       <trans-unit id="45cc8ca94b5a50842a9a8ef804a5ab089a38ae5c" datatype="html">
         <source>ID</source>
         <source>Zonegroup</source>
         <target>Grupo de zonas</target>
       </trans-unit>
+      <trans-unit id="62a923f047ca49e7a4782629e91fea1ba32db68f" datatype="html">
+        <source>MFA Delete</source>
+        <target>MFA Delete</target>
+      </trans-unit>
       <trans-unit id="649a410bd0ace333d067d8fa22f12bdbdb43533b" datatype="html">
         <source>Bucket quota</source>
         <target>Cota do compartimento</target>
         <source>Email address</source>
         <target>Endereço de e-mail</target>
       </trans-unit>
+      <trans-unit id="92f3f203270a29b3001871153f02c063484a1574" datatype="html">
+        <source>Suspended</source>
+        <target>Suspenso</target>
+      </trans-unit>
       <trans-unit id="8011e20c5bbe51602d459a860fbf29b599b55edd" datatype="html">
         <source>System</source>
         <target>Sistema</target>
         <source>Max. buckets</source>
         <target>Máx. de compartimentos</target>
       </trans-unit>
-      <trans-unit id="623ac50f37a26caec6fd7cd519b653e3315cba25" datatype="html">
-        <source>The entered value must be &gt;= 0.</source>
-        <target>O valor inserido deve ser &gt;= 0.</target>
+      <trans-unit id="f39256070bfc0714020dfee08895421fc1527014" datatype="html">
+        <source>Disabled</source>
+        <target>Desabilitado</target>
+      </trans-unit>
+      <trans-unit id="a5c05002b0ac2040f1aede5e727e0ffd06eda819" datatype="html">
+        <source>Custom</source>
+        <target>Personalizado</target>
+      </trans-unit>
+      <trans-unit id="28872515cb81d197a3a1733fa546d3e0f0dd6c67" datatype="html">
+        <source>The entered value must be &gt;= 1.</source>
+        <target>The entered value must be &gt;= 1.</target>
       </trans-unit>
       <trans-unit id="583a219c524155c2314eb06ee29162bb315272a3" datatype="html">
         <source>S3 key</source>
           <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>
         </target>
       </trans-unit>
+      <trans-unit id="f5a451c4ea65a4046f0b49d489a7013abf0b5861" datatype="html">
+        <source>All capabilities are already added.</source>
+        <target>All capabilities are already added.</target>
+      </trans-unit>
       <trans-unit id="6146e13ceca5fa5cc17b771b282fe5955f3d19fa" datatype="html">
         <source>Unlimited size</source>
         <target>Tamanho ilimitado</target>
         <source>Max. objects</source>
         <target>Máx. de objetos</target>
       </trans-unit>
+      <trans-unit id="623ac50f37a26caec6fd7cd519b653e3315cba25" datatype="html">
+        <source>The entered value must be &gt;= 0.</source>
+        <target>O valor inserido deve ser &gt;= 0.</target>
+      </trans-unit>
       <trans-unit id="1ea5c4d8942c00752dcc72e72949c5d9832f6399" datatype="html">
         <source>Description...</source>
         <target>Descrição...</target>
         <source>Password confirmation doesn't match the password.</source>
         <target>A confirmação de senha não corresponde à senha.</target>
       </trans-unit>
+      <trans-unit id="96621f9ed2e4ae5204564e583d2c816bedead571" datatype="html">
+        <source>Password expiration date</source>
+        <target>Password expiration date</target>
+      </trans-unit>
+      <trans-unit id="48932db3801fe9d5d72a60a3e656bffd17c1c5d9" datatype="html">
+        <source>Password expiration date...</source>
+        <target>Password expiration date...</target>
+      </trans-unit>
       <trans-unit id="244aae9346da82b0922506c2d2581373a15641cc" datatype="html">
         <source>Email</source>
         <target>E-mail</target>
         <source>Invalid email.</source>
         <target>E-mail inválido.</target>
       </trans-unit>
+      <trans-unit id="8913c216dd506e20e412e144381d8d2a65a84359" datatype="html">
+        <source>User must change password at next logon</source>
+        <target>User must change password at next logon</target>
+      </trans-unit>
       <trans-unit id="0051a3479d3ba79135c16dc8cc017950a2cce821" datatype="html">
         <source>You are about to remove "user read / update" permissions from your own user.</source>
         <target>Você está prestes a remover as permissões de "leitura/atualização de usuário" do seu próprio usuário.</target>
         <source>Histogram</source>
         <target>Histograma</target>
       </trans-unit>
+      <trans-unit id="3d87fc20ea8e5f0f0500ba5d5061b345be78ec5e" datatype="html">
+        <source>No hostname found.</source>
+        <target>No hostname found.</target>
+      </trans-unit>
       <trans-unit id="26fb5f81b3581f06b9210defb0e71dc69a67e819" datatype="html">
         <source>Current values</source>
         <target>Valores atuais</target>
         <target>Tags</target>
       </trans-unit>
       <trans-unit id="ab0089ef47af61ca1d137bc908b96c290dfd9287" datatype="html">
-        <source>Enum values</source>
-        <target>Valores de enum</target>
-      </trans-unit>
-      <trans-unit id="819476f1264f1659f38e86f6abb542141b184832" datatype="html">
-        <source>See also</source>
-        <target>Consulte também</target>
-      </trans-unit>
-      <trans-unit id="d82a9af5b05e7cd17640f196f163771685ff8df6" datatype="html">
-        <source>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</source>
-        <target>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</target>
-      </trans-unit>
-      <trans-unit id="a185c9b97513b3882604ea9bab60edbfac945c15" datatype="html">
-        <source>SMART overall-health self-assessment test result</source>
-        <target>SMART overall-health self-assessment test result</target>
-      </trans-unit>
-      <trans-unit id="ddd5dd6d930030096ea617f62c82b648a0dd9484" datatype="html">
-        <source>Device Information</source>
-        <target>Device Information</target>
-      </trans-unit>
-      <trans-unit id="79c6bf990ea5b4d83bbf8f9e399f4bd933a1ebfc" datatype="html">
-        <source>S.M.A.R.T</source>
-        <target>S.M.A.R.T</target>
+        <source>Enum values</source>
+        <target>Valores de enum</target>
       </trans-unit>
-      <trans-unit id="05c17e08939cbef1a5df5386263b1701e8d5742e" datatype="html">
-        <source>S.M.A.R.T data is loading.</source>
-        <target>S.M.A.R.T data is loading.</target>
+      <trans-unit id="819476f1264f1659f38e86f6abb542141b184832" datatype="html">
+        <source>See also</source>
+        <target>Consulte também</target>
       </trans-unit>
       <trans-unit id="73caac4265ea7314ff061e5a1d78a6361a6dd3b8" datatype="html">
         <source>Cluster Status</source>
         <source>MDS performance counters</source>
         <target>MDS performance counters</target>
       </trans-unit>
-      <trans-unit id="a7b6508fb834bee9e48e11e4503fbbc2d19204de" datatype="html">
-        <source>Clients: 
-          <x id="INTERPOLATION" equiv-text="{{ clients.data.length }}"/>
-        </source>
-        <target>Clients: 
-          <x id="INTERPOLATION" equiv-text="{{ clients.data.length }}"/>
-        </target>
-      </trans-unit>
       <trans-unit id="6e213942c6354b9cbe7a650f0f1499bfc1000fb6" datatype="html">
         <source>Directories</source>
         <target>Directories</target>
         <source># Sessions</source>
         <target># Sessions</target>
       </trans-unit>
+      <trans-unit id="2ea10b3668e04e057ba96ddcaf4c9b77089008ae" datatype="html">
+        <source>Unavailable gateway(s)</source>
+        <target>Unavailable gateway(s)</target>
+      </trans-unit>
       <trans-unit id="c49e0dd71d551bd4928d967d78f0721dbf9f95e3" datatype="html">
         <source>Target has active sessions</source>
         <target>Target has active sessions</target>
         <source>Progress</source>
         <target>Andamento</target>
       </trans-unit>
-      <trans-unit id="f39256070bfc0714020dfee08895421fc1527014" datatype="html">
-        <source>Disabled</source>
-        <target>Desabilitado</target>
+      <trans-unit id="25b725dba712a7a020fd34a72297befae975a492" datatype="html">
+        <source>Edit Site Name</source>
+        <target>Edit Site Name</target>
       </trans-unit>
       <trans-unit id="8c375764db42f5d736fb56d01b8052c006ccc8e2" datatype="html">
         <source>Edit Mode</source>
         <source>Fast diff (interlocked with object-map)</source>
         <target>Fast diff (interlocked with object-map)</target>
       </trans-unit>
+      <trans-unit id="130fd872c78271a8f86b1ab16a76e823969c47d9" datatype="html">
+        <source>Namespace</source>
+        <target>Namespace</target>
+      </trans-unit>
+      <trans-unit id="14abc99daed542774633046c53b6ce8251331141" datatype="html">
+        <source>This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.</source>
+        <target>This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.</target>
+      </trans-unit>
+      <trans-unit id="51699f716cf34e6622ff7bfd84641480c045271a" datatype="html">
+        <source>Created namespace '
+          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/
+          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>'
+        </source>
+        <target>Created namespace '
+          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/
+          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>'
+        </target>
+      </trans-unit>
+      <trans-unit id="bf44b7d6379ce0198ed3d95a27642a224181bf1d" datatype="html">
+        <source>Total images</source>
+        <target>Total images</target>
+      </trans-unit>
+      <trans-unit id="371ce3ffe62548d15e391a248bc554d903bb03fc" datatype="html">
+        <source>Deleted namespace '
+          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/
+          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>'
+        </source>
+        <target>Deleted namespace '
+          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/
+          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>'
+        </target>
+      </trans-unit>
+      <trans-unit id="9d704fd00ca929f90c3119cefc581821ae58a73e" datatype="html">
+        <source>Namespace contains images</source>
+        <target>Namespace contains images</target>
+      </trans-unit>
+      <trans-unit id="c2017dc94b4f57a347ccb126e546e88942f4d7a6" datatype="html">
+        <source>RBD Snapshot</source>
+        <target>RBD Snapshot</target>
+      </trans-unit>
       <trans-unit id="631fc50ec7c9bd81dc797a3c7e09eda1178ad999" datatype="html">
         <source>Parent image must support Layering</source>
         <target>Parent image must support Layering</target>
       </trans-unit>
+      <trans-unit id="cb60c1cd3655234756b5b92d4d597d92d520ee30" datatype="html">
+        <source>PROTECTED</source>
+        <target>PROTECTED</target>
+      </trans-unit>
+      <trans-unit id="deffb86b8fb0541254ad5a43862d82bff6b6a6c4" datatype="html">
+        <source>UNPROTECTED</source>
+        <target>NÃO PROTEGIDO</target>
+      </trans-unit>
       <trans-unit id="7eb984588f4835f6d0187b33769b4b0f62821640" datatype="html">
         <source>RBD snapshot rollback</source>
         <target>Rollback de instantâneo do RBD</target>
         <source>Origin</source>
         <target>Origin</target>
       </trans-unit>
+      <trans-unit id="2ea2ec95d93fd55d0db6e9d2b95b25e153d4cec2" datatype="html">
+        <source>Max size</source>
+        <target>Max size</target>
+      </trans-unit>
+      <trans-unit id="665dced3a61bca44924a0bde4be47390225a4898" datatype="html">
+        <source>Max files</source>
+        <target>Max files</target>
+      </trans-unit>
+      <trans-unit id="0ccf776baac60794b142526986f3af85848c7059" datatype="html">
+        <source>The inherited 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/> is the maximum value to be used.
+        </source>
+        <target>The inherited 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/> is the maximum value to be used.
+        </target>
+      </trans-unit>
+      <trans-unit id="b0e2ef28384f2de6674cac300c779f900929a89b" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{action}}"/> CephFS 
+          <x id="INTERPOLATION_1" equiv-text="{{quotaName}}"/> quota for '
+          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>'
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{action}}"/> CephFS 
+          <x id="INTERPOLATION_1" equiv-text="{{quotaName}}"/> quota for '
+          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>'
+        </target>
+      </trans-unit>
+      <trans-unit id="542ef638499635dec7641bdc2e499258094187cc" datatype="html">
+        <source>size</source>
+        <target>size</target>
+      </trans-unit>
+      <trans-unit id="ce90ff00c341d8eef96b0e7956bb85b8faba3839" datatype="html">
+        <source>files</source>
+        <target>files</target>
+      </trans-unit>
+      <trans-unit id="fbe8b9340c08c24aef62ffe81c83e2b46a4f1495" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{quotaName}}"/> quota 
+          <x id="INTERPOLATION_1" equiv-text="{{value}}"/> from '
+          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>'
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{quotaName}}"/> quota 
+          <x id="INTERPOLATION_1" equiv-text="{{value}}"/> from '
+          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>'
+        </target>
+      </trans-unit>
+      <trans-unit id="37c2c0a4a356465eef2edfb09ffffc6db5259975" datatype="html">
+        <source>Value has to be at least 
+          <x id="INTERPOLATION" equiv-text="{{value}}"/> or more
+        </source>
+        <target>Value has to be at least 
+          <x id="INTERPOLATION" equiv-text="{{value}}"/> or more
+        </target>
+      </trans-unit>
+      <trans-unit id="73f8e64703a707e2cf98b9a10653cd3bbdd8cab1" datatype="html">
+        <source>Value has to be at most 
+          <x id="INTERPOLATION" equiv-text="{{value}}"/> or less
+        </source>
+        <target>Value has to be at most 
+          <x id="INTERPOLATION" equiv-text="{{value}}"/> or less
+        </target>
+      </trans-unit>
+      <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc" datatype="html">
+        <source>Updated</source>
+        <target>Atualizado</target>
+      </trans-unit>
+      <trans-unit id="b6a4cf4f302c7fcbec199ce0df42b8282d682b04" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{action}}"/>
+          <x id="INTERPOLATION_1" equiv-text="{{quotaValue}}"/>
+          <x id="INTERPOLATION_2" equiv-text="{{conclusion}}"/>.
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{action}}"/>
+          <x id="INTERPOLATION_1" equiv-text="{{quotaValue}}"/>
+          <x id="INTERPOLATION_2" equiv-text="{{conclusion}}"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="a40024afb071f68fec949094a71f832d5611bca5" datatype="html">
+        <source>in order to inherit 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>
+        </source>
+        <target>in order to inherit 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="c108ff588291e9c040adea2adf35e7236cf29925" datatype="html">
+        <source>which isn't used because of the inheritance of 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>
+        </source>
+        <target>which isn't used because of the inheritance of 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="d3785a64d1c72b03b2212855ce695b45ed0342d2" datatype="html">
+        <source>in order to have no quota on the directory</source>
+        <target>in order to have no quota on the directory</target>
+      </trans-unit>
+      <trans-unit id="c4d3a3446a7f36825291c5e76c4a6b7919f9bd2f" datatype="html">
+        <source>Create Snapshot</source>
+        <target>Create Snapshot</target>
+      </trans-unit>
+      <trans-unit id="e9af734e231b837d64df21008e2eb1fdff566a61" datatype="html">
+        <source>Please enter the name of the snapshot.</source>
+        <target>Please enter the name of the snapshot.</target>
+      </trans-unit>
+      <trans-unit id="8c4d3039e6a953b0d6f1b1313ffa60c5d2b35dc7" datatype="html">
+        <source>Created snapshot "
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "
+          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"
+        </source>
+        <target>Created snapshot "
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "
+          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"
+        </target>
+      </trans-unit>
+      <trans-unit id="126ad894f74ee9a999825f3f4ac5a31fdfc093bf" datatype="html">
+        <source>CephFs Snapshot</source>
+        <target>CephFs Snapshot</target>
+      </trans-unit>
+      <trans-unit id="1e4d1c0865adc485260740c42ac5af68ce8feb13" datatype="html">
+        <source>Deleted snapshot "
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "
+          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"
+        </source>
+        <target>Deleted snapshot "
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "
+          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"
+        </target>
+      </trans-unit>
       <trans-unit id="22e4e574b7f8abf58254f328792445b42e2a924a" datatype="html">
         <source>The value can be updated at runtime.</source>
         <target>É possível atualizar o valor em temo de execução.</target>
         <source>Service</source>
         <target>Serviço</target>
       </trans-unit>
+      <trans-unit id="6986e0df8092d822ac2c076520d83994c78834fc" datatype="html">
+        <source>Modified</source>
+        <target>Modified</target>
+      </trans-unit>
       <trans-unit id="9951bb3983c7dba6fde013e05c922e4fe1a44367" datatype="html">
         <source>Current value</source>
         <target>Valor atual</target>
         <source>host</source>
         <target>host</target>
       </trans-unit>
-      <trans-unit id="9e35065e7c579e1fb960499117fd4b3c68d1c263" datatype="html">
-        <source>Host operation is disabled because orchestrator is unavailable</source>
-        <target>Host operation is disabled because orchestrator is unavailable</target>
+      <trans-unit id="b1b381321d4cef04605d3e6e8847ea2b72a03799" datatype="html">
+        <source>Identify</source>
+        <target>Identify</target>
       </trans-unit>
       <trans-unit id="a5d5e407f8c4e1b152509c966c90f37edf68472e" datatype="html">
         <source>Device path</source>
         <target>Device path</target>
       </trans-unit>
-      <trans-unit id="94e76c060aa68c05d8c4a3f5a20c92fab3e83ccf" datatype="html">
-        <source>Rotates</source>
-        <target>Rotates</target>
-      </trans-unit>
       <trans-unit id="b7da3e3505cc80f9bf3cffc8444c53e8a9ec70a5" datatype="html">
         <source>Available</source>
         <target>Available</target>
       </trans-unit>
+      <trans-unit id="396974120fc614fc930a27c8d15a094d82a3a9e4" datatype="html">
+        <source>Vendor</source>
+        <target>Vendor</target>
+      </trans-unit>
       <trans-unit id="6ec98fa3d6504ba1fd03465194b53706c8263c99" datatype="html">
         <source>Model</source>
         <target>Model</target>
       </trans-unit>
+      <trans-unit id="f2d785f5658c96c6a2f505cdd625108bcece84c3" datatype="html">
+        <source>Identify device 
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>
+        </source>
+        <target>Identify device 
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="c97ab45ca09248f8f1ba60328175741657fe39ce" datatype="html">
+        <source>Please enter the duration how long to blink the LED.</source>
+        <target>Please enter the duration how long to blink the LED.</target>
+      </trans-unit>
+      <trans-unit id="87e56ee5057023d7e8b59420b838bad112b043bc" datatype="html">
+        <source>1 minute</source>
+        <target>1 minute</target>
+      </trans-unit>
+      <trans-unit id="affa3b3bf1f36531e5ae65291f8a7cd1b06860ee" datatype="html">
+        <source>2 minutes</source>
+        <target>2 minutes</target>
+      </trans-unit>
+      <trans-unit id="878c6645b7fc26d85c7aee17a9d8c282a938dcf3" datatype="html">
+        <source>5 minutes</source>
+        <target>5 minutes</target>
+      </trans-unit>
+      <trans-unit id="aa0a76140961594b7176ade241e5025a7dbb5dce" datatype="html">
+        <source>10 minutes</source>
+        <target>10 minutes</target>
+      </trans-unit>
+      <trans-unit id="0a7f83a1f27750ef634a1f1f97263fac36113b1f" datatype="html">
+        <source>15 minutes</source>
+        <target>15 minutes</target>
+      </trans-unit>
+      <trans-unit id="699b690d686dbb8e00a1e95b89ba2fffb548da6e" datatype="html">
+        <source>Execute</source>
+        <target>Execute</target>
+      </trans-unit>
+      <trans-unit id="aa975a86dd49979a3ae90b9f3fc5b2c97311d422" datatype="html">
+        <source>Identifying '
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>' started on host '
+          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>'
+        </source>
+        <target>Identifying '
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>' started on host '
+          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="1a6e6ad05508130b7a99ce5b15daf3227c2a930c" datatype="html">
         <source>Updated options for module "
           <x id="INTERPOLATION" equiv-text="{{name}}"/>".
           <x id="INTERPOLATION" equiv-text="{{name}}"/>".
         </target>
       </trans-unit>
+      <trans-unit id="6bd47ff8707aa2e6a94a4a6e2566b86dc7956d5f" datatype="html">
+        <source>Always-On</source>
+        <target>Always-On</target>
+      </trans-unit>
       <trans-unit id="ac6c9212896d39b23811ed2dadab7d07336ec559" datatype="html">
         <source>Enable</source>
         <target>Habilitar</target>
         <source>Open Sessions</source>
         <target>Sessões Abertas</target>
       </trans-unit>
+      <trans-unit id="34c6f45591d420b1101dcee53999d1de91c0e400" datatype="html">
+        <source>No available devices</source>
+        <target>No available devices</target>
+      </trans-unit>
+      <trans-unit id="dcfe8807a2a1d0d7074a02afe9b80645bd03b9ab" datatype="html">
+        <source>Please add primary devices first</source>
+        <target>Please add primary devices first</target>
+      </trans-unit>
+      <trans-unit id="05d024719e53f85f7f294b7e21dfd805709a0b06" datatype="html">
+        <source>Add devices by using filters</source>
+        <target>Add devices by using filters</target>
+      </trans-unit>
       <trans-unit id="37e58d1cbdf8212b380efa51422e42821d4f08e6" datatype="html">
         <source>No In</source>
         <target>Não Entrada</target>
         <source>Backfilling of PGs is suspended</source>
         <target>Provisionamento de PGs suspenso</target>
       </trans-unit>
+      <trans-unit id="df526de2b93c4099a30c200ef551608e39ee5256" datatype="html">
+        <source>No Rebalance</source>
+        <target>No Rebalance</target>
+      </trans-unit>
+      <trans-unit id="c5b70346245f8d52b58e5e7fe222ce82f12429ce" datatype="html">
+        <source>OSD will choose not to backfill unless PG is also degraded</source>
+        <target>OSD will choose not to backfill unless PG is also degraded</target>
+      </trans-unit>
       <trans-unit id="7fbbd036394cfa623add40299757bc87df8eaa7e" datatype="html">
         <source>No Recover</source>
         <target>Sem Recuperação</target>
         <source>Updated OSD Flags</source>
         <target>Flags OSD Atualizadas</target>
       </trans-unit>
+      <trans-unit id="948758e1412bb2ecdb98e3a4f1cbb6d7458456f2" datatype="html">
+        <source>Encryption</source>
+        <target>Encryption</target>
+      </trans-unit>
+      <trans-unit id="c8b1475105463088593de1022ff6dceb523eae0e" datatype="html">
+        <source>OSD</source>
+        <target>OSD</target>
+      </trans-unit>
       <trans-unit id="688578fcc739d6f0c5fb6c366dbb19d21c6d9e36" datatype="html">
         <source>out</source>
         <target>saída</target>
         <source>Purge</source>
         <target>Purgar</target>
       </trans-unit>
-      <trans-unit id="c8b1475105463088593de1022ff6dceb523eae0e" datatype="html">
-        <source>OSD</source>
-        <target>OSD</target>
-      </trans-unit>
       <trans-unit id="4f3cff08c7033b63bbccfe66006b1bcaea48ddd8" datatype="html">
         <source>purged</source>
         <target>purgado</target>
         <source>destroyed</source>
         <target>destruído</target>
       </trans-unit>
+      <trans-unit id="70ef158c584bafe788e319a0bffa11b02ee9abf1" datatype="html">
+        <source>delete</source>
+        <target>excluir</target>
+      </trans-unit>
+      <trans-unit id="a5b387f5a15b95e339df10fc23526c659a2b6c6f" datatype="html">
+        <source>deleted</source>
+        <target>deleted</target>
+      </trans-unit>
       <trans-unit id="107614b994f2b01abdc1ca179bf780b0cd933ec4" datatype="html">
         <source>Recovery Priority</source>
         <target>Recovery Priority</target>
         <source>Read bytes</source>
         <target>Bytes de leitura</target>
       </trans-unit>
-      <trans-unit id="ecbe2fdca919499125bc42c2c67cedae8563db1c" datatype="html">
-        <source>Writes bytes</source>
+      <trans-unit id="f15bf7f588f09ca79795b17bc244e8d336f28171" datatype="html">
+        <source>Write bytes</source>
         <target>Bytes de gravação</target>
       </trans-unit>
       <trans-unit id="f3c33322823c846b13f59ba2c8f234405bba99e1" datatype="html">
         <source>Write ops</source>
         <target>Op. de gravação</target>
       </trans-unit>
+      <trans-unit id="b27d1dd31789610130b7cdbf88c4da552cffe936" datatype="html">
+        <source>Edit OSD: 
+          <x id="INTERPOLATION" equiv-text="{{id}}"/>
+        </source>
+        <target>Edit OSD: 
+          <x id="INTERPOLATION" equiv-text="{{id}}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="986f1379580078e77666d10f8ddf4f839c6ca71d" datatype="html">
+        <source>Edit OSD</source>
+        <target>Edit OSD</target>
+      </trans-unit>
+      <trans-unit id="a4b09e2fa39c3e4f1a387f191fbae4eea3ce7bf5" datatype="html">
+        <source>Updated OSD "
+          <x id="INTERPOLATION" equiv-text="{{id}}"/>"
+        </source>
+        <target>Updated OSD "
+          <x id="INTERPOLATION" equiv-text="{{id}}"/>"
+        </target>
+      </trans-unit>
       <trans-unit id="d45455406092f58e6b089cb440b5b7934b801a01" datatype="html">
         <source>Mark OSD 
           <x id="INTERPOLATION" equiv-text="{{markAction}}"/>
         <source>Recovery Sleep</source>
         <target>Suspensão de Recuperação</target>
       </trans-unit>
-      <trans-unit id="a5c05002b0ac2040f1aede5e727e0ffd06eda819" datatype="html">
-        <source>Custom</source>
-        <target>Personalizado</target>
-      </trans-unit>
       <trans-unit id="89553524f4e7db5c437b07dcfdc7b831d56ded1a" datatype="html">
         <source>Updated OSD recovery speed priority "
           <x id="INTERPOLATION" equiv-text="{{value}}"/>"
           <x id="INTERPOLATION_1" equiv-text="{{id}}"/>
         </target>
       </trans-unit>
-      <trans-unit id="9836e830d0219585b36d53be00a31c3d4798a4aa" datatype="html">
-        <source>Smartctl has received an unknown argument (error code
-          <x id="INTERPOLATION" equiv-text="{{smartData.smartctl_error_code}}"/>). You may be using an
-                incompatible version of smartmontools. Version &gt;= 7.0 of
-                smartmontools is required to succesfully retrieve data.
-        </source>
-        <target>Smartctl has received an unknown argument (error code
-          <x id="INTERPOLATION" equiv-text="{{smartData.smartctl_error_code}}"/>). You may be using an
-                incompatible version of smartmontools. Version &gt;= 7.0 of
-                smartmontools is required to succesfully retrieve data.
-        </target>
-      </trans-unit>
-      <trans-unit id="d5fd840374ca1a6f394bcd81f390a6dca27f8224" datatype="html">
-        <source>An error with error code 
-          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.
-        </source>
-        <target>An error with error code 
-          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.
-        </target>
-      </trans-unit>
-      <trans-unit id="a0b59d7139692bb8d8ed786b6eb6e9e70ce743f3" datatype="html">
-        <source>Raw</source>
-        <target>Raw</target>
-      </trans-unit>
-      <trans-unit id="2f3beddc8234b30fb26a7f63ba2f1ea74f2ed6f7" datatype="html">
-        <source>Threshold</source>
-        <target>Threshold</target>
-      </trans-unit>
-      <trans-unit id="4654b5a68af3c8bad29aa14ca85ccea1f3143c6b" datatype="html">
-        <source>When Failed</source>
-        <target>When Failed</target>
-      </trans-unit>
-      <trans-unit id="5b7f56d5be49fb8e8d8f40209d6746f8f72e9177" datatype="html">
-        <source>Worst</source>
-        <target>Worst</target>
-      </trans-unit>
-      <trans-unit id="1edb8e46b0fac57c5feb3d7d3585afc0122d5481" datatype="html">
-        <source>Create silence</source>
-        <target>Create silence</target>
+      <trans-unit id="3bc2d18913479965cb046ec75e2ac3f7b7a77ce5" datatype="html">
+        <source>Create Silence</source>
+        <target>Create Silence</target>
       </trans-unit>
       <trans-unit id="78917e8031aaf913ac3fa63295325ce8879703ce" datatype="html">
         <source>Job</source>
         <source>URL</source>
         <target>URL</target>
       </trans-unit>
+      <trans-unit id="d9f726c70aeba7fa6d3d68bff718abe78b1e50ac" datatype="html">
+        <source>Query</source>
+        <target>Query</target>
+      </trans-unit>
       <trans-unit id="a5cd682a8a33bdc72e093d059429e3cc3a50ec1d" datatype="html">
         <source>silence</source>
         <target>silence</target>
         <source>Created by</source>
         <target>Created by</target>
       </trans-unit>
-      <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc" datatype="html">
-        <source>Updated</source>
-        <target>Atualizado</target>
-      </trans-unit>
       <trans-unit id="8d833cceee0ba4c5161b130365e02bc1e129b57e" datatype="html">
         <source>Ends</source>
         <target>Ends</target>
         <source>Silence</source>
         <target>Silence</target>
       </trans-unit>
-      <trans-unit id="f392abfbb997402ce2aebb13e660a8f01dec54db" datatype="html">
-        <source>Service type</source>
-        <target>Service type</target>
+      <trans-unit id="f2ea47d702c7f5e3e5fa751bf9959e21030b72e6" datatype="html">
+        <source>Daemon type</source>
+        <target>Daemon type</target>
       </trans-unit>
-      <trans-unit id="9ffa91b056fb979786627885651e19c8275675cd" datatype="html">
-        <source>Service instance</source>
-        <target>Service instance</target>
+      <trans-unit id="6c131968e6ab730d86443e6fc11c5cc2a76d7bac" datatype="html">
+        <source>Daemon ID</source>
+        <target>Daemon ID</target>
       </trans-unit>
-      <trans-unit id="b5910192a9ac4816638ff6383b03f986ff965796" datatype="html">
-        <source>Container id</source>
-        <target>Container id</target>
+      <trans-unit id="5738f0ca7ddd9594058ce051b1d5d576e2782825" datatype="html">
+        <source>Container ID</source>
+        <target>Container ID</target>
       </trans-unit>
-      <trans-unit id="60ab9cce12a56cdc5ec6a1b699f8c7afecd629d5" datatype="html">
-        <source>Rados config location</source>
-        <target>Rados config location</target>
+      <trans-unit id="78ebcf850cd440c5efc15e6a3a522ae75aeff669" datatype="html">
+        <source>Container Image name</source>
+        <target>Container Image name</target>
       </trans-unit>
-      <trans-unit id="dfa409f831c9168a377bdee02c5ea6aaf9b2bf61" datatype="html">
-        <source>Service URL</source>
-        <target>Service URL</target>
+      <trans-unit id="ea0c7ab9a7bdf646d494abf8c85fbf67d934d079" datatype="html">
+        <source>Container Image ID</source>
+        <target>Container Image ID</target>
       </trans-unit>
       <trans-unit id="bf2468fd965b8a59c135ad549b3a612aa9873abc" datatype="html">
         <source>Status Description</source>
         <target>Status Description</target>
       </trans-unit>
+      <trans-unit id="19867330bdc84096f5a93ab087a1766476c8a074" datatype="html">
+        <source>Last Refreshed</source>
+        <target>Last Refreshed</target>
+      </trans-unit>
+      <trans-unit id="2349ee2027ab6ceb3e4b8834928562075b7e1ac7" datatype="html">
+        <source>Container image name</source>
+        <target>Container image name</target>
+      </trans-unit>
+      <trans-unit id="3c475503fb93338811af6b3d9ccacca1d7334609" datatype="html">
+        <source>Container image ID</source>
+        <target>Container image ID</target>
+      </trans-unit>
+      <trans-unit id="8dd15f6c73c05a8b0bd7b6d416487ab6570b88c8" datatype="html">
+        <source>Running</source>
+        <target>Running</target>
+      </trans-unit>
       <trans-unit id="fb2e1bed329dc5b84197808c778abb9edcbdb335" datatype="html">
         <source>Used</source>
         <target>Usado</target>
         <source>NFS export</source>
         <target>NFS export</target>
       </trans-unit>
+      <trans-unit id="c56d51748965db5f3966cd1d06a1c9f4b5244931" datatype="html">
+        <source>Crush Rule</source>
+        <target>Crush Rule</target>
+      </trans-unit>
       <trans-unit id="ae128527ec18892f812a62a1fd15dc50a38060c0" datatype="html">
         <source>EC Profile</source>
         <target>EC Profile</target>
         <source>erasure code profile</source>
         <target>perfil de código de eliminação</target>
       </trans-unit>
+      <trans-unit id="ae48e19a9a2acaca4b5ea594451bc9b0b01ec8d2" datatype="html">
+        <source>crush rule</source>
+        <target>crush rule</target>
+      </trans-unit>
       <trans-unit id="112d356ad6846959ca4aa5ec9a1f0d9d473b24ec" datatype="html">
         <source>Replica Size</source>
         <target>Tamanho da Réplica</target>
         <source>Crush Ruleset</source>
         <target>Conjunto de Regras do Crush</target>
       </trans-unit>
-      <trans-unit id="f15bf7f588f09ca79795b17bc244e8d336f28171" datatype="html">
-        <source>Write bytes</source>
-        <target>Bytes de gravação</target>
-      </trans-unit>
       <trans-unit id="bcc365a084b6145b941b371bd4c2b6c3d2c79234" datatype="html">
         <source>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</source>
         <target>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</target>
         <source>Swift Key</source>
         <target>Swift Key</target>
       </trans-unit>
+      <trans-unit id="6462d8f12b427c29363f00b12f20f566be24937c" datatype="html">
+        <source>Device ID</source>
+        <target>Device ID</target>
+      </trans-unit>
+      <trans-unit id="82f12bf23db4bb82db89877bebe93954bc1c8fb0" datatype="html">
+        <source>State of Health</source>
+        <target>State of Health</target>
+      </trans-unit>
+      <trans-unit id="7bd34bd120146afef0e0d8fa168d9bdabd594b6a" datatype="html">
+        <source>Good</source>
+        <target>Good</target>
+      </trans-unit>
+      <trans-unit id="31c59dce114ec0a9d02552ef7b81920b3de36793" datatype="html">
+        <source>Bad</source>
+        <target>Bad</target>
+      </trans-unit>
+      <trans-unit id="2862af5284f66d4b06bdcf77a5519141723b6989" datatype="html">
+        <source>Stale</source>
+        <target>Stale</target>
+      </trans-unit>
+      <trans-unit id="8d8e819b52984a4fbdec75a99eb28d1ae4323bbc" datatype="html">
+        <source>Life Expectancy</source>
+        <target>Life Expectancy</target>
+      </trans-unit>
+      <trans-unit id="72d9b15be18ea063e78c4e855b9e8c0af95593ef" datatype="html">
+        <source>Prediction Creation Date</source>
+        <target>Prediction Creation Date</target>
+      </trans-unit>
+      <trans-unit id="a6b4ef85e5ff8bd192751c7bbebc54c46118d6d4" datatype="html">
+        <source>Device Name</source>
+        <target>Device Name</target>
+      </trans-unit>
+      <trans-unit id="d5fd840374ca1a6f394bcd81f390a6dca27f8224" datatype="html">
+        <source>An error with error code 
+          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.
+        </source>
+        <target>An error with error code 
+          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.
+        </target>
+      </trans-unit>
+      <trans-unit id="a0b59d7139692bb8d8ed786b6eb6e9e70ce743f3" datatype="html">
+        <source>Raw</source>
+        <target>Raw</target>
+      </trans-unit>
+      <trans-unit id="2f3beddc8234b30fb26a7f63ba2f1ea74f2ed6f7" datatype="html">
+        <source>Threshold</source>
+        <target>Threshold</target>
+      </trans-unit>
+      <trans-unit id="4654b5a68af3c8bad29aa14ca85ccea1f3143c6b" datatype="html">
+        <source>When Failed</source>
+        <target>When Failed</target>
+      </trans-unit>
+      <trans-unit id="5b7f56d5be49fb8e8d8f40209d6746f8f72e9177" datatype="html">
+        <source>Worst</source>
+        <target>Worst</target>
+      </trans-unit>
       <trans-unit id="1481b8488e10dbc437accce89d2ae35a0106e8ba" datatype="html">
         <source>Scope</source>
         <target>Escopo</target>
           <x id="INTERPOLATION" equiv-text="{{role_name}}"/>'
         </target>
       </trans-unit>
+      <trans-unit id="bd15b8d5c0fa160161728eefbbb585710414d471" datatype="html">
+        <source>New name</source>
+        <target>New name</target>
+      </trans-unit>
+      <trans-unit id="6f126277f3dc22a3ab3609c4c198386c8744e11a" datatype="html">
+        <source>Clone Role</source>
+        <target>Clone Role</target>
+      </trans-unit>
+      <trans-unit id="d19d8320479854bc52877cdf0dc5ecfe34a36ec7" datatype="html">
+        <source>Cloned role '
+          <x id="INTERPOLATION" equiv-text="{{dst_name}}"/>' from '
+          <x id="INTERPOLATION_1" equiv-text="{{src_name}}"/>'
+        </source>
+        <target>Cloned role '
+          <x id="INTERPOLATION" equiv-text="{{dst_name}}"/>' from '
+          <x id="INTERPOLATION_1" equiv-text="{{src_name}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="2e35d60a14ce0b470e8b54602864a867f7fcef40" datatype="html">
         <source>There are no roles.</source>
         <target>There are no roles.</target>
         <source>Updated user password"</source>
         <target>Updated user password"</target>
       </trans-unit>
+      <trans-unit id="c4e596a44ffc4718c1602600d6e4f029190eb031" datatype="html">
+        <source>The name of the node under which data should be placed.</source>
+        <target>The name of the node under which data should be placed.</target>
+      </trans-unit>
+      <trans-unit id="f24772ba1091155f8d7025332ca8456a204d1e28" datatype="html">
+        <source>The type of CRUSH nodes across which we should separate replicas.</source>
+        <target>The type of CRUSH nodes across which we should separate replicas.</target>
+      </trans-unit>
+      <trans-unit id="a3896042af461a80091c3f7a5fe3fff5ac40a3a0" datatype="html">
+        <source>The device class data should be placed on.</source>
+        <target>The device class data should be placed on.</target>
+      </trans-unit>
       <trans-unit id="1d7fbcc3d5efc946ffbcf86fed04c4e20dda20fb" datatype="html">
         <source>Each object is split in data-chunks parts, each stored on a different OSD.</source>
         <target>Cada objeto é dividido em partes de pacotes de dados, cada uma armazenada em um OSD diferente.</target>
         <source>Success</source>
         <target>Success</target>
       </trans-unit>
+      <trans-unit id="61fd1cffcb763cbfd5829071723cf9b647174bd9" datatype="html">
+        <source>An error occurred.</source>
+        <target>An error occurred.</target>
+      </trans-unit>
       <trans-unit id="e6ca3c0efaf51e6d45a7f92f58bac37140c3fda4" datatype="html">
         <source>Last 5 minutes</source>
         <target>Últimos 5 minutos</target>
         <source>There are no items available.</source>
         <target>Não há itens disponíveis.</target>
       </trans-unit>
-      <trans-unit id="f6755cff4957d5c3c89bafce5651f1b6fa2b1fd9" datatype="html">
-        <source>Add</source>
-        <target>Adicionar</target>
+      <trans-unit id="55dd9f44e64851bca3b7bfc9283a5ff36f030228" datatype="html">
+        <source>Set</source>
+        <target>Set</target>
       </trans-unit>
       <trans-unit id="019d4bd6a5690f0cfa0ecf346a4e6bf7f0d8debb" datatype="html">
         <source>Remove</source>
         <target>Remove</target>
       </trans-unit>
+      <trans-unit id="e168fe6c468b3ad632731395ef89860274242844" datatype="html">
+        <source>Unset</source>
+        <target>Unset</target>
+      </trans-unit>
       <trans-unit id="54a4a3132b693575728a45a5f3154ad4c9af404b" datatype="html">
         <source>Clone</source>
         <target>Clonar</target>
         <source>No</source>
         <target>Não</target>
       </trans-unit>
+      <trans-unit id="baf918eed9d4050cdad2acebc0f27b6eaf8e3fcd" datatype="html">
+        <source>Required rules for passwords:</source>
+        <target>Required rules for passwords:</target>
+      </trans-unit>
+      <trans-unit id="40f61909e1f017c4652e64b055089beef19cf871" datatype="html">
+        <source>Must contain at least 
+          <x id="INTERPOLATION" equiv-text="{{length}}"/> characters
+        </source>
+        <target>Must contain at least 
+          <x id="INTERPOLATION" equiv-text="{{length}}"/> characters
+        </target>
+      </trans-unit>
+      <trans-unit id="f4f5dbb3a05b5f38dab47ef38dad88a4574a765a" datatype="html">
+        <source>Must not be the same as the previous one</source>
+        <target>Must not be the same as the previous one</target>
+      </trans-unit>
+      <trans-unit id="607370e07b50087c196a5fcea9184e3d693226b2" datatype="html">
+        <source>Cannot contain the username</source>
+        <target>Cannot contain the username</target>
+      </trans-unit>
+      <trans-unit id="e6e355eab2596251aaa42623b41e6026d5c03e3b" datatype="html">
+        <source>Cannot contain any configured keyword</source>
+        <target>Cannot contain any configured keyword</target>
+      </trans-unit>
+      <trans-unit id="394bcd6d5e4da75b720c4d28f94f2aef7bb38355" datatype="html">
+        <source>Cannot contain any repetitive characters e.g. "aaa"</source>
+        <target>Cannot contain any repetitive characters e.g. "aaa"</target>
+      </trans-unit>
+      <trans-unit id="030e61e0bcf2536fb047645db6182d43e9fca9e9" datatype="html">
+        <source>Cannot contain any sequential characters e.g. "abc"</source>
+        <target>Cannot contain any sequential characters e.g. "abc"</target>
+      </trans-unit>
       <trans-unit id="99fa0b67376d40142bd4d3ace3344abf4f98b6a5" datatype="html">
         <source>Your matcher seems to match no currently defined rule or active alert.</source>
         <target>Your matcher seems to match no currently defined rule or active alert.</target>
         <source>Deleting</source>
         <target>Excluindo</target>
       </trans-unit>
-      <trans-unit id="70ef158c584bafe788e319a0bffa11b02ee9abf1" datatype="html">
-        <source>delete</source>
-        <target>excluir</target>
-      </trans-unit>
       <trans-unit id="d07a282afc7fbdb39cea6e1c9b544882a7260a86" datatype="html">
         <source>Adding</source>
         <target>Adding</target>
         <source>remove</source>
         <target>remove</target>
       </trans-unit>
+      <trans-unit id="0e21237afdc84ec360c374fa678d9b1cfaa334f9" datatype="html">
+        <source>Importing</source>
+        <target>Importing</target>
+      </trans-unit>
+      <trans-unit id="c6b4128c006f4cc0564137e1a1482b5c432aa347" datatype="html">
+        <source>import</source>
+        <target>import</target>
+      </trans-unit>
+      <trans-unit id="3b9f4138abbca0fd66db1f7332f4b54e2a6d916d" datatype="html">
+        <source>Imported</source>
+        <target>Imported</target>
+      </trans-unit>
       <trans-unit id="3f757cfc3749ebb5d4462017cb60138ca082f15f" datatype="html">
         <source>RBD '
           <x id="INTERPOLATION" equiv-text="{{id}}"/>'
           <x id="INTERPOLATION" equiv-text="{{id}}"/>'
         </target>
       </trans-unit>
+      <trans-unit id="2bf18ddf3785f7afb4f01dcf63d3d8c40f4bfba5" datatype="html">
+        <source>mirroring site name</source>
+        <target>mirroring site name</target>
+      </trans-unit>
+      <trans-unit id="167b73bb24b4695614ce0fc567b7a45080457a44" datatype="html">
+        <source>bootstrap token</source>
+        <target>bootstrap token</target>
+      </trans-unit>
       <trans-unit id="4fb54a0291f49583c317d4a3690239141b5a8f68" datatype="html">
         <source>mirror mode for pool '
           <x id="INTERPOLATION" equiv-text="{{id}}"/>'
         <source>all dashboards</source>
         <target>all dashboards</target>
       </trans-unit>
+      <trans-unit id="6c19652df9249c60827044ed6274933cab180c63" datatype="html">
+        <source>OSDs (DriveGroups: 
+          <x id="INTERPOLATION" equiv-text="{{tracking_id}}"/>)
+        </source>
+        <target>OSDs (DriveGroups: 
+          <x id="INTERPOLATION" equiv-text="{{tracking_id}}"/>)
+        </target>
+      </trans-unit>
       <trans-unit id="1b559dbd9cc9664fd788c2da9a10d3abafe066cb" datatype="html">
         <source>Name is already used by 
           <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.
           <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.
         </target>
       </trans-unit>
+      <trans-unit id="460f07780389d24c6a540c007c7367a56afad585" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> is busy.
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> is busy.
+        </target>
+      </trans-unit>
       <trans-unit id="1ff7676ad1e991102224540a32dd44ad1ab88aa8" datatype="html">
         <source>
           <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.
         <source>Cannot disable mirroring because it contains a peer.</source>
         <target>Impossível desabilitar espelhamento porque ele contém um peer.</target>
       </trans-unit>
+      <trans-unit id="5c4525a1b76ca54d1aadeaecfdb83aedc2eec6e0" datatype="html">
+        <source>Identifying</source>
+        <target>Identifying</target>
+      </trans-unit>
+      <trans-unit id="ffd067e54a061d1f27cb35f0cf67ef7f29e19111" datatype="html">
+        <source>identify</source>
+        <target>identify</target>
+      </trans-unit>
+      <trans-unit id="7c921f339274688c22ba1acac7af6b097ad3599d" datatype="html">
+        <source>Identified</source>
+        <target>Identified</target>
+      </trans-unit>
+      <trans-unit id="3307492c27c2150cd26c514030444e11fd61089f" datatype="html">
+        <source>device '
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>' on host '
+          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>'
+        </source>
+        <target>device '
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>' on host '
+          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="f123ae1fc3b000e5d08e766dd78bff162afe709d" datatype="html">
         <source>host '
           <x id="INTERPOLATION" equiv-text="{{hostname}}"/>'
           <x id="INTERPOLATION" equiv-text="{{hostname}}"/>'
         </target>
       </trans-unit>
+      <trans-unit id="c1af76189dcefd094da2bc1a4a63968f3bab5789" datatype="html">
+        <source>OSD '
+          <x id="INTERPOLATION" equiv-text="{{svc_id}}"/>'
+        </source>
+        <target>OSD '
+          <x id="INTERPOLATION" equiv-text="{{svc_id}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="dfe70001dc590a9e12512cbb206aa29fb36fd00b" datatype="html">
         <source>pool '
           <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>'
           <x id="INTERPOLATION" equiv-text="{{name}}"/>'
         </target>
       </trans-unit>
+      <trans-unit id="79052d6c47258dc19ada12dbb2563761102b6f1d" datatype="html">
+        <source>crush rule '
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>'
+        </source>
+        <target>crush rule '
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="369462e5e018360e0600bb570866201ad5c3c8a8" datatype="html">
         <source>target '
           <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>'
           <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>
         </target>
       </trans-unit>
-      <trans-unit id="54bf6542e39412f83ec883266f443e31b304c937" datatype="html">
-        <source>Required rules for password complexity:
-    - must contain at least 8 characters
-    - cannot contain username
-    - cannot contain any keyword used in Ceph
-    - cannot contain any repetitive characters e.g. "aaa"
-    - cannot contain any sequencial characters e.g. "abc"
-    - must consist of characters from the following groups:
-      * alphabetic a-z, A-Z
-      * numbers 0-9
-      * special chars: !"#$%&amp; '()*+,-./:;&lt;=&gt;?@[\]^_`
-          <x id="INTERPOLATION" equiv-text="{{|}}"/>~
-      * any other characters (signs)
-        </source>
-        <target>Required rules for password complexity:
-    - must contain at least 8 characters
-    - cannot contain username
-    - cannot contain any keyword used in Ceph
-    - cannot contain any repetitive characters e.g. "aaa"
-    - cannot contain any sequencial characters e.g. "abc"
-    - must consist of characters from the following groups:
-      * alphabetic a-z, A-Z
-      * numbers 0-9
-      * special chars: !"#$%&amp; '()*+,-./:;&lt;=&gt;?@[\]^_`
-          <x id="INTERPOLATION" equiv-text="{{|}}"/>~
-      * any other characters (signs)
-        </target>
-      </trans-unit>
-      <trans-unit id="ba575e9364b43dc870e332265c5182bb357b7a49" datatype="html">
-        <source>Weak</source>
-        <target>Weak</target>
-      </trans-unit>
-      <trans-unit id="7e6c975ebea8b5f8b120905ca7acf9f8edf59d8e" datatype="html">
-        <source>OK</source>
-        <target>OK</target>
-      </trans-unit>
-      <trans-unit id="3f7349017a01eed18c3daf2b7295ca96ef442eb6" datatype="html">
-        <source>Strong</source>
-        <target>Strong</target>
-      </trans-unit>
-      <trans-unit id="a1e3aecc2022cb0ebed8575a24d0e29d2de815c6" datatype="html">
-        <source>Very strong</source>
-        <target>Very strong</target>
-      </trans-unit>
     </body>
   </file>
 </xliff>
\ No newline at end of file
index 2010bd72f58ce48c716503af6f7bb17b377687a7..913ff89d37e2936b598d264d8bd3c35c77ab1045 100644 (file)
         <source>Logs</source>
         <target>日志</target>
       </trans-unit>
-      <trans-unit id="9fe218829514884cdd0ca2300573a4e0428c324f" datatype="html">
-        <source>Alerts</source>
-        <target>警告</target>
-      </trans-unit>
-      <trans-unit id="aa0c44aa1e5727061baa91e954f77e2f5f9a37c9" datatype="html">
-        <source>Silences</source>
-        <target>Silences</target>
+      <trans-unit id="17fc3efe5f9fa4e0289c900cb6202265215a1a27" datatype="html">
+        <source>Monitoring</source>
+        <target>Monitoring</target>
       </trans-unit>
       <trans-unit id="92899fa68e8ca108912163ff58edc8540e453787" datatype="html">
         <source>Pools</source>
         <source>Back</source>
         <target>返回</target>
       </trans-unit>
+      <trans-unit id="9ce641535be1ffa106c87724ba0637facaef5f61" datatype="html">
+        <source>Your password will expire in 
+          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>less than 1
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day. Click
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.
+        </source>
+        <target>Your password will expire in 
+          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>less than 1
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day. Click
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.
+        </target>
+      </trans-unit>
+      <trans-unit id="c2f34088c155e40ffb23770a465a65868ce772b2" datatype="html">
+        <source>Your password will expire in 
+          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
+          <x id="INTERPOLATION" equiv-text="{{ expirationDays }}"/>
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day(s). Click
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.
+        </source>
+        <target>Your password will expire in 
+          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
+          <x id="INTERPOLATION" equiv-text="{{ expirationDays }}"/>
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day(s). Click
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.
+        </target>
+      </trans-unit>
+      <trans-unit id="9b516f972c744779257310b73f6e97438b726707" datatype="html">
+        <source>Orchestrator is not available. Please consult the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to
+  configure and enable the functionality.
+        </source>
+        <target>Orchestrator is not available. Please consult the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to
+  configure and enable the functionality.
+        </target>
+      </trans-unit>
       <trans-unit id="012741ee52b3c050e4a977c37cc2334f7974f141" datatype="html">
         <source>Failed to load data.</source>
         <target>无法加载数据。</target>
       </trans-unit>
+      <trans-unit id="1e5e23363e949f7dcbaf034bdb141a561132a10e" datatype="html">
+        <source>Clear filters</source>
+        <target>Clear filters</target>
+      </trans-unit>
       <trans-unit id="80cc9a12d4bf6fe454ed94b379eeaf915f920bb7" datatype="html">
         <source>selected</source>
         <target>选中个数</target>
         <source>Values</source>
         <target>可选值</target>
       </trans-unit>
+      <trans-unit id="5894f7158499fdb89527af50c9f1cf7d4c95cad6" datatype="html">
+        <source>-- Default --</source>
+        <target>-- Default --</target>
+      </trans-unit>
+      <trans-unit id="514f6e12d035a6d9b00de6b3e55c18b73488da07" datatype="html">
+        <source>true</source>
+        <target>true</target>
+      </trans-unit>
+      <trans-unit id="774f5e6a183dea08393789b6f72e86afad729419" datatype="html">
+        <source>false</source>
+        <target>false</target>
+      </trans-unit>
       <trans-unit id="82029b6db704c56a2aa3e82ac555b8655356b077" datatype="html">
         <source>The entered value is too high! It must not be greater than 
           <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.
         <source>Cancel</source>
         <target>取消</target>
       </trans-unit>
+      <trans-unit id="55a2f26b2e87886d9b8015a887e38e51ab2a866a" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>
+          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>
+          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8" datatype="html">
+        <source>Close</source>
+        <target>关闭</target>
+      </trans-unit>
       <trans-unit id="40661476cb24c89d8b06614998e31d5fbe84eeb6" datatype="html">
         <source>Hosts List</source>
         <target>主机列表</target>
         <source>Overall Performance</source>
         <target>总体性能</target>
       </trans-unit>
-      <trans-unit id="6bc15dc1a621b6ff7378db7fd3ac10b2a2627c77" datatype="html">
-        <source>Please consult the
-          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
-          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to
-  configure and enable the orchestrator functionality.
-        </source>
-        <target>Please consult the
-          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
-          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to
-  configure and enable the orchestrator functionality.
-        </target>
-      </trans-unit>
       <trans-unit id="3e24569eca61d598c8b01defbbbb1fa8bd5222bc" datatype="html">
         <source>Devices</source>
         <target>Devices</target>
         <source>Not In Quorum</source>
         <target>非仲裁成员</target>
       </trans-unit>
+      <trans-unit id="4383e9662ea19839c7499b2128d43a195e564317" datatype="html">
+        <source>OSD creation preview</source>
+        <target>OSD creation preview</target>
+      </trans-unit>
+      <trans-unit id="366225c51e0b00bcb1c55795a0dc5e81c455f84e" datatype="html">
+        <source>DriveGroups</source>
+        <target>DriveGroups</target>
+      </trans-unit>
+      <trans-unit id="8edc89137d0d8c5667a2f03230beafae45e58429" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{ deviceType }}"/> devices
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{ deviceType }}"/> devices
+        </target>
+      </trans-unit>
+      <trans-unit id="eba28e1805b18f7c8ae2e4bc15dcf063b10b3822" datatype="html">
+        <source>At least one of these filters must be applied in order to proceed:</source>
+        <target>At least one of these filters must be applied in order to proceed:</target>
+      </trans-unit>
+      <trans-unit id="93389aa2fe2bea50bf89554ee51b28f87ee2fb50" datatype="html">
+        <source>Number of devices: 
+          <x id="INTERPOLATION" equiv-text="{{ filteredDevices.length }}"/>. Raw capacity:
+          <x id="INTERPOLATION_1" equiv-text="{{ capacity | dimlessBinary }}"/>.
+        </source>
+        <target>Number of devices: 
+          <x id="INTERPOLATION" equiv-text="{{ filteredDevices.length }}"/>. Raw capacity:
+          <x id="INTERPOLATION_1" equiv-text="{{ capacity | dimlessBinary }}"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="ccb4f84edc0b4e76415bb3f9b73d725b06683af3" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{ name }}"/> devices
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{ name }}"/> devices
+        </target>
+      </trans-unit>
+      <trans-unit id="60cb3d01e5ddf266ecb4271007a1c3d0f3efdc22" datatype="html">
+        <source>The primary storage devices. These devices contain all OSD data.</source>
+        <target>The primary storage devices. These devices contain all OSD data.</target>
+      </trans-unit>
+      <trans-unit id="b432e04886d0d1fd84f740477383051f85addcf2" datatype="html">
+        <source>Write-Ahead-Log devices. These devices are used for BlueStore’s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device.</source>
+        <target>Write-Ahead-Log devices. These devices are used for BlueStore’s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device.</target>
+      </trans-unit>
+      <trans-unit id="b87e181ab9e8393aa5ed759dd3d53836e32c8ffe" datatype="html">
+        <source>DB devices can be used for storing BlueStore’s internal metadata.  It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD).</source>
+        <target>DB devices can be used for storing BlueStore’s internal metadata.  It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD).</target>
+      </trans-unit>
+      <trans-unit id="f6755cff4957d5c3c89bafce5651f1b6fa2b1fd9" datatype="html">
+        <source>Add</source>
+        <target>添加</target>
+      </trans-unit>
+      <trans-unit id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46" datatype="html">
+        <source>Clear</source>
+        <target>Clear</target>
+      </trans-unit>
+      <trans-unit id="7e0fd3c7af0630f93befa6234a693a32a61084e0" datatype="html">
+        <source>Raw capacity: 
+          <x id="INTERPOLATION" equiv-text="{{ capacity | dimlessBinary }}"/>
+        </source>
+        <target>Raw capacity: 
+          <x id="INTERPOLATION" equiv-text="{{ capacity | dimlessBinary }}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="43ecf6bee2aebc07b0aad6dc1fe13e38d14687fa" datatype="html">
+        <source>Shared devices</source>
+        <target>Shared devices</target>
+      </trans-unit>
+      <trans-unit id="7a1c376f6f1b37de4c318ff2106255ba6c0f5b0b" datatype="html">
+        <source>WAL slots</source>
+        <target>WAL slots</target>
+      </trans-unit>
+      <trans-unit id="73811a6f37b63e6b0e491e221bfa21e9dea8a87a" datatype="html">
+        <source>How many OSDs per WAL device.</source>
+        <target>How many OSDs per WAL device.</target>
+      </trans-unit>
+      <trans-unit id="0c67a7ac4762ef1cc855056c6b4daab93e53a0a5" datatype="html">
+        <source>Specify 0 to let Orchestrator backend decide it.</source>
+        <target>Specify 0 to let Orchestrator backend decide it.</target>
+      </trans-unit>
+      <trans-unit id="7bda9362e06e6c67341b4a8425b0d29d6b84464b" datatype="html">
+        <source>Value should be greater than or equal to 0</source>
+        <target>Value should be greater than or equal to 0</target>
+      </trans-unit>
+      <trans-unit id="324c2b10152b9dd908222bb0b71f61beb60a30c5" datatype="html">
+        <source>DB slots</source>
+        <target>DB slots</target>
+      </trans-unit>
+      <trans-unit id="c23cf12ef9c76f37fc7a4b7ae3e00fb0f68b6e26" datatype="html">
+        <source>How many OSDs per DB device.</source>
+        <target>How many OSDs per DB device.</target>
+      </trans-unit>
+      <trans-unit id="6cdb1fea93d77c07950c0c76c6e0ad79ebbef084" datatype="html">
+        <source>Features</source>
+        <target>特性</target>
+      </trans-unit>
+      <trans-unit id="3e2a583f531f7dd9f089f68a6968e444c372c3e8" datatype="html">
+        <source>Preview</source>
+        <target>Preview</target>
+      </trans-unit>
       <trans-unit id="5ef50ba2514414f799d4c8fc36067a251904ba81" datatype="html">
         <source>Cluster-wide OSD Flags</source>
         <target>集群范围的 OSD 标志</target>
         <source>{VAR_SELECT, select, 1 {Deep } }</source>
         <target>{VAR_SELECT, select, 1 {深度}}</target>
       </trans-unit>
-      <trans-unit id="2613498e8e5853c26a1cc62ae8dc673d1fdf0e2a" datatype="html">
+      <trans-unit id="fd0a4b6eed32e3488eccdc9c13f9841f08cc275e" datatype="html">
         <source>You are about to apply a 
           <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to
           the OSD(s): 
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
-          <x id="INTERPOLATION" equiv-text="{{ selected | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ selected | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.
         </source>
         <target>You are about to apply a 
           <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to
           the OSD(s): 
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
-          <x id="INTERPOLATION" equiv-text="{{ selected | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ selected | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.
         </target>
       </trans-unit>
         <source>OSDs List</source>
         <target>OSD 列表</target>
       </trans-unit>
-      <trans-unit id="c402e6ec1c6792ede81f56c28eee8955860391c8" datatype="html">
+      <trans-unit id="d5707a32ba9c1138e6423498fb0b24e970ebd19f" datatype="html">
         <source>
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) 
-          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
           <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>
         </source>
         <target>
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) 
-          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
           <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.
         </target>
       </trans-unit>
-      <trans-unit id="d2797d01ba86f5df03d875803e49e648a4027869" datatype="html">
+      <trans-unit id="d08c1e4f17dffc0ed1ac2e2e2875cb8b569eeb35" datatype="html">
         <source>The 
-          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to destroy!
+          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to be 
+          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>! 
+          <x id="INTERPOLATION_1" equiv-text="{{ message }}"/>
         </source>
         <target>The 
-          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to destroy!
+          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to be 
+          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>! 
+          <x id="INTERPOLATION_1" equiv-text="{{ message }}"/>
         </target>
       </trans-unit>
       <trans-unit id="e776996dac651ef3819bfa767ccf2a0613759f47" datatype="html">
         <source>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</source>
         <target>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</target>
       </trans-unit>
-      <trans-unit id="1e2c50ed3c3934ef068976dc7f38513cec29d515" datatype="html">
+      <trans-unit id="5cd6a031937412c42e5efa1e6959cb72ac08c720" datatype="html">
         <source>
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD 
-          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
           <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>
         </source>
         <target>
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD 
-          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
           <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.
         </target>
       </trans-unit>
-      <trans-unit id="4f8b2bb476981727ab34ed40fde1218361f92c45" datatype="html">
-        <source>Details</source>
-        <target>详情</target>
+      <trans-unit id="3eda19b44809820fffd5d3753bafb7243116f4b0" datatype="html">
+        <source>To see all active Prometheus alerts, please
+      provide the URL to the API of Prometheus' Alertmanager as described in the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.
+        </source>
+        <target>To see all active Prometheus alerts, please
+      provide the URL to the API of Prometheus' Alertmanager as described in the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="880ad4df5a2051a437321443d69c9a866699e5ad" datatype="html">
+        <source>Active Alerts</source>
+        <target>Active Alerts</target>
+      </trans-unit>
+      <trans-unit id="8e5e0e09a11990d343926ed693574213d703c38d" datatype="html">
+        <source>All Alerts</source>
+        <target>All Alerts</target>
+      </trans-unit>
+      <trans-unit id="526938c2b7945cb0d68328c24bd77730230cd455" datatype="html">
+        <source>To enable Silences, please provide the URL to the API of the Prometheus' Alertmanager as
+      described in the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.
+        </source>
+        <target>To enable Silences, please provide the URL to the API of the Prometheus' Alertmanager as
+      described in the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="aa0c44aa1e5727061baa91e954f77e2f5f9a37c9" datatype="html">
+        <source>Silences</source>
+        <target>Silences</target>
       </trans-unit>
       <trans-unit id="8501055865d7031b5521a0c5467532648009a61d" datatype="html">
         <source>Matcher</source>
         <source>{VAR_SELECT, select, 1 {Update} other {Add} }</source>
         <target>{VAR_SELECT, select, 1 {Update} other {Add} }</target>
       </trans-unit>
-      <trans-unit id="f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8" datatype="html">
-        <source>Close</source>
-        <target>关闭</target>
-      </trans-unit>
       <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c" datatype="html">
         <source>Edit</source>
         <target>编辑</target>
         <source>End time</source>
         <target>End time</target>
       </trans-unit>
-      <trans-unit id="dbe739ec8c99a0132e326067ffec9c0ee06b2655" datatype="html">
-        <source>Matchers
-          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>*
-          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>
-        </source>
-        <target>Matchers
-          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>*
-          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>
-        </target>
+      <trans-unit id="992123459137d45c15df5548bc9682aad835c04b" datatype="html">
+        <source>Matchers</source>
+        <target>Matchers</target>
       </trans-unit>
       <trans-unit id="3e023166c55833d5a13f4143e3dbe372befe1b4e" datatype="html">
         <source>A silence requires at least one matcher</source>
         <source>CephFS</source>
         <target>CephFS</target>
       </trans-unit>
+      <trans-unit id="0eb15f32b2b92d7f3103ef3ff032621888a8dc32" datatype="html">
+        <source>Old password</source>
+        <target>Old password</target>
+      </trans-unit>
+      <trans-unit id="1cf42e491adc166a337a960eb84d03c0c3f677c8" datatype="html">
+        <source>The old and new passwords must be different.</source>
+        <target>The old and new passwords must be different.</target>
+      </trans-unit>
+      <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229" datatype="html">
+        <source>New password</source>
+        <target>New password</target>
+      </trans-unit>
+      <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b" datatype="html">
+        <source>Confirm new password</source>
+        <target>Confirm new password</target>
+      </trans-unit>
+      <trans-unit id="90163a3d3746819aef42e829f4446331232f3b66" datatype="html">
+        <source>Password confirmation doesn't match the new password.</source>
+        <target>Password confirmation doesn't match the new password.</target>
+      </trans-unit>
+      <trans-unit id="d06ae77f9ec46a4cdd49e7e76c73a411aaf2ee38" datatype="html">
+        <source>Please set a new password.</source>
+        <target>Please set a new password.</target>
+      </trans-unit>
+      <trans-unit id="8b5b3566e88438f51bd5f6caf6c090ed565ba5ed" datatype="html">
+        <source>You will be redirected to the login page afterwards.</source>
+        <target>You will be redirected to the login page afterwards.</target>
+      </trans-unit>
       <trans-unit id="449dca3d3a93ead418b0541ea81b0dda7e6483c2" datatype="html">
         <source>Welcome to Ceph!</source>
         <target>欢迎使用 Ceph!</target>
           <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You'll be logged out from the Identity Provider when you retry logging in.
         </target>
       </trans-unit>
-      <trans-unit id="0eb15f32b2b92d7f3103ef3ff032621888a8dc32" datatype="html">
-        <source>Old password</source>
-        <target>Old password</target>
-      </trans-unit>
-      <trans-unit id="1cf42e491adc166a337a960eb84d03c0c3f677c8" datatype="html">
-        <source>The old and new passwords must be different.</source>
-        <target>The old and new passwords must be different.</target>
-      </trans-unit>
-      <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229" datatype="html">
-        <source>New password</source>
-        <target>New password</target>
-      </trans-unit>
-      <trans-unit id="595ebc9279497f6dc733777e2816bee936901388" datatype="html">
-        <source>Too weak</source>
-        <target>Too weak</target>
-      </trans-unit>
-      <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b" datatype="html">
-        <source>Confirm new password</source>
-        <target>Confirm new password</target>
-      </trans-unit>
-      <trans-unit id="90163a3d3746819aef42e829f4446331232f3b66" datatype="html">
-        <source>Password confirmation doesn't match the new password.</source>
-        <target>Password confirmation doesn't match the new password.</target>
-      </trans-unit>
       <trans-unit id="471e78026c258073ba687478dc54c35d9041ea42" datatype="html">
         <source>Forbidden</source>
         <target>禁止访问</target>
         <source>Sorry, you are not allowed to see what you were looking for.</source>
         <target>抱歉,您无权访问这个页面。</target>
       </trans-unit>
-      <trans-unit id="e3c028c58f92453d46f09b5adf95b2f013ee0300" datatype="html">
-        <source>Sorry, we could not find what you were looking for</source>
-        <target>抱歉,我们找不到您要看的东西。</target>
+      <trans-unit id="2240b985f17293d84cc8532fe86994aa5f63667c" datatype="html">
+        <source>Sorry, we could not find what you were looking for.</source>
+        <target>Sorry, we could not find what you were looking for.</target>
+      </trans-unit>
+      <trans-unit id="ac54c18c1b520e948095c83a3a1025f02ce6dcc6" datatype="html">
+        <source>Neither hostname nor OSD ID given</source>
+        <target>Neither hostname nor OSD ID given</target>
+      </trans-unit>
+      <trans-unit id="4f635b3cb0600409a2ad44a5bd1863c699e6a01c" datatype="html">
+        <source>Failed to retrieve SMART data.</source>
+        <target>Failed to retrieve SMART data.</target>
+      </trans-unit>
+      <trans-unit id="d82a9af5b05e7cd17640f196f163771685ff8df6" datatype="html">
+        <source>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</source>
+        <target>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</target>
+      </trans-unit>
+      <trans-unit id="04f8a3c7e8ac610e6581960162cc15f55a16696a" datatype="html">
+        <source>No SMART data available.</source>
+        <target>No SMART data available.</target>
+      </trans-unit>
+      <trans-unit id="3a03d3c2e459f8f8fa7202c0fce465d6165f9e2b" datatype="html">
+        <source>passed</source>
+        <target>passed</target>
+      </trans-unit>
+      <trans-unit id="a185c9b97513b3882604ea9bab60edbfac945c15" datatype="html">
+        <source>SMART overall-health self-assessment test result</source>
+        <target>SMART overall-health self-assessment test result</target>
+      </trans-unit>
+      <trans-unit id="41435d5a5692c8e412c74deaee95d99dbd3617e1" datatype="html">
+        <source>failed</source>
+        <target>failed</target>
+      </trans-unit>
+      <trans-unit id="ddd5dd6d930030096ea617f62c82b648a0dd9484" datatype="html">
+        <source>Device Information</source>
+        <target>Device Information</target>
+      </trans-unit>
+      <trans-unit id="380295f37caea93701d071485a38ef0bdba57133" datatype="html">
+        <source>No SMART data available for this device.</source>
+        <target>No SMART data available for this device.</target>
+      </trans-unit>
+      <trans-unit id="20cb12827cbe559a7b1da6fdae96041b3b5c3c55" datatype="html">
+        <source>SMART</source>
+        <target>SMART</target>
+      </trans-unit>
+      <trans-unit id="5758c3f16f8749f0f4e2a787f02e8b4da246102f" datatype="html">
+        <source>SMART data is loading.</source>
+        <target>SMART data is loading.</target>
       </trans-unit>
       <trans-unit id="a949d7e577902d0e5dc5d0971bb0170a21be7728" datatype="html">
         <source>[object Object]</source>
         <source>The chosen erasure code profile name is already in use.</source>
         <target>此纠删码配置名称已被使用。</target>
       </trans-unit>
+      <trans-unit id="35a4206db3105ed03e0dd799e1642b75b78123e8" datatype="html">
+        <source>Root</source>
+        <target>Root</target>
+      </trans-unit>
+      <trans-unit id="cf425784c7073c7e7f7c1bb90c2c19db7e751db2" datatype="html">
+        <source>Failure domain type</source>
+        <target>Failure domain type</target>
+      </trans-unit>
+      <trans-unit id="72396a9565cf644d1fe1b21b790c4243ee270986" datatype="html">
+        <source>Device class</source>
+        <target>Device class</target>
+      </trans-unit>
+      <trans-unit id="72d80e0c07bfea1b693a33ef2245007de92a6780" datatype="html">
+        <source>Let Ceph decide</source>
+        <target>Let Ceph decide</target>
+      </trans-unit>
       <trans-unit id="ef9ff0e6227947b48dfab4ac39ade04af758913b" datatype="html">
         <source>Plugin</source>
         <target>纠删码算法</target>
         <target>It's not possible to create an RBD pool with '/' in the name.
               Please change the name or remove 'rbd' from the applications list.</target>
       </trans-unit>
+      <trans-unit id="171dc6d5c6bc4615d99778b0088cae80fd00bd10" datatype="html">
+        <source>Pool name can only contain letters, numbers, '.', '-', '_' or '/'.</source>
+        <target>Pool name can only contain letters, numbers, '.', '-', '_' or '/'.</target>
+      </trans-unit>
       <trans-unit id="b85c657469e5ec8231c3de99b22f437bc01ffde5" datatype="html">
         <source>Pool type</source>
         <target>存储池类型</target>
         <source>-- Select a pool type --</source>
         <target>-- 请选择存储池的类型 --</target>
       </trans-unit>
+      <trans-unit id="6abfbe47b630929d93c7343dc154599c2e59330a" datatype="html">
+        <source>PG Autoscale</source>
+        <target>PG Autoscale</target>
+      </trans-unit>
       <trans-unit id="0aa21053410a94aa61d16985a4e95fd65523430d" datatype="html">
         <source>Placement groups</source>
         <target>归置组 (PG)</target>
         <target>The current PGs settings were calculated for you, you
                 should make sure the values suit your needs before submit.</target>
       </trans-unit>
-      <trans-unit id="33150f22ce5348aa6c499bd092c3f4f3695d62cc" datatype="html">
-        <source>Crush ruleset</source>
-        <target>CRUSH 算法规则组</target>
-      </trans-unit>
-      <trans-unit id="73a6b31116b3cc322af951daa0bafdc169e6c42e" datatype="html">
-        <source>-- Select a crush rule --</source>
-        <target>-- 选择 CRUSH 规则 --</target>
-      </trans-unit>
-      <trans-unit id="92da80699921e89fb19372e25b8d0f3b9fa427fc" datatype="html">
-        <source>Crush rule</source>
-        <target>CRUSH 规则</target>
-      </trans-unit>
-      <trans-unit id="5489e9f96835f469f6f728a00d8efa88ea5bc940" datatype="html">
-        <source>Crush steps</source>
-        <target>CRUSH 步骤</target>
-      </trans-unit>
-      <trans-unit id="54a53b1b402aafff5b992ee9b64e409fbfe9074f" datatype="html">
-        <source>The rule can't be used in the current cluster as it has
-                to few OSDs to meet the minimum required OSD by this rule.</source>
-        <target>当前的集群无法使用该规则,因为集群的 OSD 个数过少,
-   无法满足规则所需的最低 OSD 数量。</target>
-      </trans-unit>
       <trans-unit id="a43b2695131b48b76cebba676aba98a2bee17515" datatype="html">
         <source>Replicated size</source>
         <target>副本个数</target>
           <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.
         </target>
       </trans-unit>
+      <trans-unit id="920617c6a1a4805e53bcb5af6a9c76f8387e89c6" datatype="html">
+        <source>Flags</source>
+        <target>标志</target>
+      </trans-unit>
+      <trans-unit id="1c870fb00256b8a5b9cb9cd1a124e6390b9bc639" datatype="html">
+        <source>EC Overwrites</source>
+        <target>EC 重写 (overwrite)</target>
+      </trans-unit>
+      <trans-unit id="f1abafaeb40ce52355ddcc24686e3cd17b64e08a" datatype="html">
+        <source>Applications</source>
+        <target>应用类型</target>
+      </trans-unit>
+      <trans-unit id="fb9308b82fc183f710df60909f49cfc73aa5e076" datatype="html">
+        <source>CRUSH</source>
+        <target>CRUSH</target>
+      </trans-unit>
       <trans-unit id="9de7dde00e2139cc4bd03b1837afbe72ad15a1ff" datatype="html">
         <source>Erasure code profile</source>
         <target>纠删码配置</target>
         <source>-- Select an erasure code profile --</source>
         <target>-- 请选择一个纠删码配置 --</target>
       </trans-unit>
-      <trans-unit id="920617c6a1a4805e53bcb5af6a9c76f8387e89c6" datatype="html">
-        <source>Flags</source>
-        <target>标志</target>
+      <trans-unit id="33150f22ce5348aa6c499bd092c3f4f3695d62cc" datatype="html">
+        <source>Crush ruleset</source>
+        <target>CRUSH 算法规则组</target>
       </trans-unit>
-      <trans-unit id="1c870fb00256b8a5b9cb9cd1a124e6390b9bc639" datatype="html">
-        <source>EC Overwrites</source>
-        <target>EC 重写 (overwrite)</target>
+      <trans-unit id="c69b0bcd4698aa845d32c4c4ad488492552cb469" datatype="html">
+        <source>A new crush ruleset will be implicitly created.</source>
+        <target>A new crush ruleset will be implicitly created.</target>
       </trans-unit>
-      <trans-unit id="f1abafaeb40ce52355ddcc24686e3cd17b64e08a" datatype="html">
-        <source>Applications</source>
-        <target>应用类型</target>
+      <trans-unit id="896e9987db5e9bb279e6deed5d2dff28c242ef66" datatype="html">
+        <source>There are no rules.</source>
+        <target>There are no rules.</target>
+      </trans-unit>
+      <trans-unit id="73a6b31116b3cc322af951daa0bafdc169e6c42e" datatype="html">
+        <source>-- Select a crush rule --</source>
+        <target>-- 选择 CRUSH 规则 --</target>
+      </trans-unit>
+      <trans-unit id="ea91d648f92002bc9f96d9b26b735c83ca0b53c6" datatype="html">
+        <source>This rule can't be deleted as it is in use.</source>
+        <target>This rule can't be deleted as it is in use.</target>
+      </trans-unit>
+      <trans-unit id="92da80699921e89fb19372e25b8d0f3b9fa427fc" datatype="html">
+        <source>Crush rule</source>
+        <target>CRUSH 规则</target>
+      </trans-unit>
+      <trans-unit id="5489e9f96835f469f6f728a00d8efa88ea5bc940" datatype="html">
+        <source>Crush steps</source>
+        <target>CRUSH 步骤</target>
+      </trans-unit>
+      <trans-unit id="fc5f5496a9e50fe69e1a09784f28d94944108294" datatype="html">
+        <source>Rule is not in use.</source>
+        <target>Rule is not in use.</target>
+      </trans-unit>
+      <trans-unit id="023d6f718770d2ea4ab8cabe26b0ec27ef967ec2" datatype="html">
+        <source>Used by pools</source>
+        <target>Used by pools</target>
+      </trans-unit>
+      <trans-unit id="104a0e6900d1d1b0c8cf9e5947e36edb352583fc" datatype="html">
+        <source>The rule can't be used in the current cluster as it has
+                  too few OSDs to meet the minimum required OSD by this rule.</source>
+        <target>The rule can't be used in the current cluster as it has
+                  too few OSDs to meet the minimum required OSD by this rule.</target>
       </trans-unit>
       <trans-unit id="2208d63d5940ce656006a220102b1eb2b5e553da" datatype="html">
         <source>Compression</source>
         <source>The value should be greater or equal to 0</source>
         <target>The value should be greater or equal to 0</target>
       </trans-unit>
+      <trans-unit id="4f8b2bb476981727ab34ed40fde1218361f92c45" datatype="html">
+        <source>Details</source>
+        <target>详情</target>
+      </trans-unit>
       <trans-unit id="fbbaf5cb02ed419e79a27072478f716a4666a99d" datatype="html">
         <source>Performance Details</source>
         <target>性能详情</target>
         <source>Cache Tiers Details</source>
         <target>缓存层详细信息</target>
       </trans-unit>
+      <trans-unit id="ecbc084370a732fc3cde1966a60af78d71424ab4" datatype="html">
+        <source>Create Bootstrap Token</source>
+        <target>Create Bootstrap Token</target>
+      </trans-unit>
+      <trans-unit id="603e9cc3ef2aab57f2b0a00e465b23b9cabefd9c" datatype="html">
+        <source>To create a bootstrap token which can be imported
+          by a peer site cluster, provide the local site's name, select
+          which pools will have mirroring enabled, and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Generate
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </source>
+        <target>To create a bootstrap token which can be imported
+          by a peer site cluster, provide the local site's name, select
+          which pools will have mirroring enabled, and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Generate
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="660f97cd3188f8a04bd03b79e703fec72c6df04c" datatype="html">
+        <source>Site Name</source>
+        <target>Site Name</target>
+      </trans-unit>
+      <trans-unit id="8c2a1dc72cffaf7ab3dc5599bf77b0a7fcad2b20" datatype="html">
+        <source>At least one pool is required.</source>
+        <target>At least one pool is required.</target>
+      </trans-unit>
+      <trans-unit id="1b258b258b4cc475ceb2871305b61756b0134f4a" datatype="html">
+        <source>Generate</source>
+        <target>Generate</target>
+      </trans-unit>
+      <trans-unit id="1edc1fc6cfbbb22353050ad6788508b3ed584f53" datatype="html">
+        <source>Token</source>
+        <target>Token</target>
+      </trans-unit>
+      <trans-unit id="ff785f5596aef34a93b9b4d1023e95c62eef5740" datatype="html">
+        <source>Generated token...</source>
+        <target>Generated token...</target>
+      </trans-unit>
+      <trans-unit id="5467a6bb0e7fade6def7499400d5e2a7d8d3da20" datatype="html">
+        <source>Import Bootstrap Token</source>
+        <target>Import Bootstrap Token</target>
+      </trans-unit>
+      <trans-unit id="9bb7aee0dec5164f45c0aa2f35f2fb2149d2c1d2" datatype="html">
+        <source>To import a bootstrap token which was created
+          by a peer site cluster, provide the local site's name, select
+          which pools will have mirroring enabled, provide the generated
+          token, and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Import
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </source>
+        <target>To import a bootstrap token which was created
+          by a peer site cluster, provide the local site's name, select
+          which pools will have mirroring enabled, provide the generated
+          token, and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Import
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="9200e09686136a1d42adfb89c12fbfef2deea125" datatype="html">
+        <source>Direction</source>
+        <target>Direction</target>
+      </trans-unit>
+      <trans-unit id="9761484679958da8d12841a4efa5964d33fae575" datatype="html">
+        <source>The token is invalid.</source>
+        <target>The token is invalid.</target>
+      </trans-unit>
+      <trans-unit id="a059709f71aa4c0ac219e160e78a738682ca6a36" datatype="html">
+        <source>Import</source>
+        <target>Import</target>
+      </trans-unit>
+      <trans-unit id="b87bd96249f8afc23f5301cddb57b1464a98e71a" datatype="html">
+        <source>Edit site name</source>
+        <target>Edit site name</target>
+      </trans-unit>
+      <trans-unit id="cfff72c667274c12eb1ff71eadc25871c10c42dc" datatype="html">
+        <source>Edit the site name and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </source>
+        <target>Edit the site name and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="40b7acea5b43f45e0bbd1efeba5200af4687981d" datatype="html">
+        <source>Site Name:</source>
+        <target>Site Name:</target>
+      </trans-unit>
       <trans-unit id="f0b5d789d42c0e69348e5fe0037fcbf5b5fbbdcc" datatype="html">
         <source>Move an image to trash</source>
         <target>将映像移至回收站</target>
       </trans-unit>
-      <trans-unit id="86301cf2044b1eda218483365f6b9de8dde5040b" datatype="html">
+      <trans-unit id="7ad22c1d4aab3b8946603cea62de266d5129ca10" datatype="html">
+        <source>This image contains snapshot(s), which will prevent it
+            from being removed after moved to trash.</source>
+        <target>This image contains snapshot(s), which will prevent it
+            from being removed after moved to trash.</target>
+      </trans-unit>
+      <trans-unit id="b4b3ced4f8aad4c446f348b14c3d94be2e2c350c" datatype="html">
         <source>To move 
           <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>
-          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>/
-          <x id="INTERPOLATION_1" equiv-text="{{ imageName }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ imageSpecStr }}"/>
           <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,
           click 
           <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image
         </source>
         <target>To move 
           <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>
-          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>/
-          <x id="INTERPOLATION_1" equiv-text="{{ imageName }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ imageSpecStr }}"/>
           <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,
           click 
           <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image
         <source>Move Image</source>
         <target>移动映像</target>
       </trans-unit>
+      <trans-unit id="c9f1026c1235f4d76ace47449e806efd181ab332" datatype="html">
+        <source>Deleting this image will also delete all its snapshots.</source>
+        <target>Deleting this image will also delete all its snapshots.</target>
+      </trans-unit>
+      <trans-unit id="55f864597e84d9bf88769e1fbfda1d64452430c9" datatype="html">
+        <source>The following snapshots are currently protected and will be removed:</source>
+        <target>The following snapshots are currently protected and will be removed:</target>
+      </trans-unit>
       <trans-unit id="8a9910cd114c1deb9af74f6f99b4173403965bf2" datatype="html">
         <source>Gateways</source>
         <target>Gateways</target>
         <source>Object size</source>
         <target>对象大小</target>
       </trans-unit>
-      <trans-unit id="6cdb1fea93d77c07950c0c76c6e0ad79ebbef084" datatype="html">
-        <source>Features</source>
-        <target>特性</target>
-      </trans-unit>
       <trans-unit id="0a65771c9a73b9aa609d592fc96a64801a8f40bd" datatype="html">
         <source>Provisioned</source>
         <target>供给容量</target>
         <source>-- Select a pool --</source>
         <target>-- 请选择存储池 --</target>
       </trans-unit>
+      <trans-unit id="d649904466254d13df1fbf2d255f0bbc6553d213" datatype="html">
+        <source>-- No namespaces available --</source>
+        <target>-- No namespaces available --</target>
+      </trans-unit>
+      <trans-unit id="e22d7bb4d2d561e0832ee0b9a3da2468a080c4f0" datatype="html">
+        <source>-- Select a namespace --</source>
+        <target>-- Select a namespace --</target>
+      </trans-unit>
       <trans-unit id="49449943d8cbf59d8c401c8bd2e76f92e207cc5f" datatype="html">
         <source>Use a dedicated data pool</source>
         <target>使用一个专用的数据池</target>
         <source>Stripe count must be greater than 0.</source>
         <target>条带的个数必须大于 0。</target>
       </trans-unit>
-      <trans-unit id="3f67f30568e9ae47507d46e28e1e82a7dca772e2" datatype="html">
-        <source>
-          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> RBD Snapshot
-        </source>
-        <target>
-          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> RBD Snapshot
-        </target>
-      </trans-unit>
-      <trans-unit id="1628d19a4490817c18be2afab410ca4adfa62ea7" datatype="html">
-        <source>{VAR_SELECT, select, true {Rename} other {Create} }</source>
-        <target>{VAR_SELECT, select, true {改名} other {创建} }</target>
+      <trans-unit id="2c07d24bb422aa8e5e568df1c5709083f0a9c8f1" datatype="html">
+        <source>Create Namespace</source>
+        <target>Create Namespace</target>
       </trans-unit>
-      <trans-unit id="73a287b41afe6b28f90edbeb98957a341a0276b4" datatype="html">
-        <source>
-          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> Snapshot
-        </source>
-        <target>
-          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> Snapshot
-        </target>
-      </trans-unit>
-      <trans-unit id="cb60c1cd3655234756b5b92d4d597d92d520ee30" datatype="html">
-        <source>PROTECTED</source>
-        <target>PROTECTED</target>
-      </trans-unit>
-      <trans-unit id="deffb86b8fb0541254ad5a43862d82bff6b6a6c4" datatype="html">
-        <source>UNPROTECTED</source>
-        <target>无保护的</target>
+      <trans-unit id="0cca6c0485f96d3a9610d0339cb1275a5f2c3f46" datatype="html">
+        <source>Namespace already exists.</source>
+        <target>Namespace already exists.</target>
       </trans-unit>
       <trans-unit id="5c5331983af566d4ac6a1024d15a3511786a4aa6" datatype="html">
         <source>You are about to rollback</source>
         <source>Purge Trash</source>
         <target>清空回收站</target>
       </trans-unit>
-      <trans-unit id="af728625d769b61acf291442644b89edb88faec3" datatype="html">
-        <source>To purge, select one or All images and click</source>
-        <target>要彻底清空的话,请选择单个或所有的映像,然后点击</target>
+      <trans-unit id="681501eecd7f44d4b7a2f619605b36676e04c5b6" datatype="html">
+        <source>To purge, select one or</source>
+        <target>To purge, select one or</target>
+      </trans-unit>
+      <trans-unit id="dfc3c34e182ea73c5d784ff7c8135f087992dac1" datatype="html">
+        <source>All</source>
+        <target>全选</target>
+      </trans-unit>
+      <trans-unit id="ea5d338dcef50ff5c24439fd784f6a67b594c33f" datatype="html">
+        <source>pools and click</source>
+        <target>pools and click</target>
       </trans-unit>
       <trans-unit id="55a4f598a4894b7fd5cb88f0ffd3c37ad009dd70" datatype="html">
         <source>Pool:</source>
         <source>Pool name...</source>
         <target>存储池名称…</target>
       </trans-unit>
-      <trans-unit id="dfc3c34e182ea73c5d784ff7c8135f087992dac1" datatype="html">
-        <source>All</source>
-        <target>全选</target>
-      </trans-unit>
       <trans-unit id="b0e7c7ed1d51a0c205c815048bc9f79e24ee6db2" datatype="html">
         <source>Restore Image</source>
         <target>恢复映像</target>
           <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.
         </target>
       </trans-unit>
-      <trans-unit id="aba82bfd8e177d35b76cad7cd43941f8e5e5acac" datatype="html">
-        <source>Trash</source>
-        <target>回收站</target>
-      </trans-unit>
       <trans-unit id="a674ab267d1934bf395f87ca1503fd474296893f" datatype="html">
         <source>iSCSI Topology</source>
         <target>iSCSI 结构图</target>
       </trans-unit>
-      <trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html">
-        <source>Settings</source>
-        <target>设置</target>
+      <trans-unit id="051dcc342cfa5c1eaf187a2001aaa162379a160c" datatype="html">
+        <source>Configure</source>
+        <target>Configure</target>
       </trans-unit>
       <trans-unit id="9e515f954730279c31d5301f02479666d6264e8b" datatype="html">
         <source>Changing these parameters from their default values is usually not necessary.</source>
         <target>通常无须改变这些默认参数值。</target>
       </trans-unit>
+      <trans-unit id="4e2591df099ddac796cda401c5f282da779d45f2" datatype="html">
+        <source>Identifier</source>
+        <target>Identifier</target>
+      </trans-unit>
+      <trans-unit id="62480a4859976427cf18fc8ef41d3a438eda0412" datatype="html">
+        <source>lun</source>
+        <target>lun</target>
+      </trans-unit>
+      <trans-unit id="8afc9eb4405e0aa554b2ba14140ef790cdecc040" datatype="html">
+        <source>wwn</source>
+        <target>wwn</target>
+      </trans-unit>
+      <trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html">
+        <source>Settings</source>
+        <target>设置</target>
+      </trans-unit>
       <trans-unit id="69a47cbabcc51ca942606e1d8da0ec11f98a2690" datatype="html">
         <source>Backstore</source>
         <target>后备存储</target>
         <source>Portals</source>
         <target>端口</target>
       </trans-unit>
+      <trans-unit id="6a3ac2b4137d723fd9878cd357c2012ff6c07973" datatype="html">
+        <source>Add portal</source>
+        <target>添加端口</target>
+      </trans-unit>
       <trans-unit id="c3638c01b6c34066438909713ec96087c813fc7e" datatype="html">
         <source>At least 
           <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.
           <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.
         </target>
       </trans-unit>
-      <trans-unit id="6a3ac2b4137d723fd9878cd357c2012ff6c07973" datatype="html">
-        <source>Add portal</source>
-        <target>添加端口</target>
-      </trans-unit>
       <trans-unit id="9aff25be088f0efe3eaaf62edf2bff41cc41a617" datatype="html">
         <source>Backstore: 
           <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. 
         <source>This image has modified settings.</source>
         <target>此映像的设置项存在修改。</target>
       </trans-unit>
-      <trans-unit id="107c84e820909b44fe258673938a68ced1bbff72" datatype="html">
-        <source>At least 1 image is required.</source>
-        <target>至少需要 1 个映像!</target>
+      <trans-unit id="1dff11e0820b6722ab240169f1232d70a54beaaa" datatype="html">
+        <source>Duplicated LUN numbers.</source>
+        <target>Duplicated LUN numbers.</target>
+      </trans-unit>
+      <trans-unit id="bf2dccf92ccff6e3b091792bf4205595406e1bfb" datatype="html">
+        <source>Duplicated WWN.</source>
+        <target>Duplicated WWN.</target>
       </trans-unit>
       <trans-unit id="808038f912fdc7f0e03f82d4afd3bf9178527fc8" datatype="html">
         <source>Add image</source>
         <source>Add group</source>
         <target>添加群组</target>
       </trans-unit>
+      <trans-unit id="c3a7e364a88ea4673199dfa98bc73e6dbe09dfac" datatype="html">
+        <source>Namespaces</source>
+        <target>Namespaces</target>
+      </trans-unit>
+      <trans-unit id="aba82bfd8e177d35b76cad7cd43941f8e5e5acac" datatype="html">
+        <source>Trash</source>
+        <target>回收站</target>
+      </trans-unit>
       <trans-unit id="66db799d67958d4b0765181d072df62e2d1c16f5" datatype="html">
         <source>Issues</source>
         <target>问题</target>
         <source>Enables versioning for the objects in the bucket.</source>
         <target>Enables versioning for the objects in the bucket.</target>
       </trans-unit>
-      <trans-unit id="92f3f203270a29b3001871153f02c063484a1574" datatype="html">
-        <source>Suspended</source>
-        <target>冻结</target>
+      <trans-unit id="9e6775ffd06878aa145c07359f28557f01ede04f" datatype="html">
+        <source>Multi-Factor Authentication</source>
+        <target>Multi-Factor Authentication</target>
+      </trans-unit>
+      <trans-unit id="29e8a5d4fb767d4ad0c762c81c6264cec4c0ba97" datatype="html">
+        <source>Delete enabled</source>
+        <target>Delete enabled</target>
+      </trans-unit>
+      <trans-unit id="40fbc3ac8c1ea4ecfe62247e91f1f999ad5baf76" datatype="html">
+        <source>Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state.</source>
+        <target>Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state.</target>
+      </trans-unit>
+      <trans-unit id="d24c93a8c13db46defa06ed7b5e026a3edb52b91" datatype="html">
+        <source>Token Serial Number</source>
+        <target>Token Serial Number</target>
+      </trans-unit>
+      <trans-unit id="e6d9536c2af2e5e9a228c3e3e1809dc1fefe0149" datatype="html">
+        <source>Token PIN</source>
+        <target>Token PIN</target>
+      </trans-unit>
+      <trans-unit id="7b84370895ab9eb44672f57146fa05c5947f1c0c" datatype="html">
+        <source>Locking</source>
+        <target>Locking</target>
+      </trans-unit>
+      <trans-unit id="f038d51ab1645f15b0cd58f195c72a7eeebd4729" datatype="html">
+        <source>Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket.</source>
+        <target>Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket.</target>
+      </trans-unit>
+      <trans-unit id="9af1b4baa2dd8ed2bfc3cc756b12a2271c2dd793" datatype="html">
+        <source>Compliance</source>
+        <target>Compliance</target>
+      </trans-unit>
+      <trans-unit id="edd600fa489d1b4a4448dce694ed932e52ce8fda" datatype="html">
+        <source>Governance</source>
+        <target>Governance</target>
+      </trans-unit>
+      <trans-unit id="a5c3d9d2296f7886e8289b9f623323803deacfc6" datatype="html">
+        <source>Days</source>
+        <target>Days</target>
       </trans-unit>
-      <trans-unit id="cd6a798fd0f85cd7e31a57c58074f25035d7850d" datatype="html">
-        <source>Disables versioning for the objects in the bucket.</source>
-        <target>Disables versioning for the objects in the bucket.</target>
+      <trans-unit id="218c7d6d318c51e7105309aaeb0baec9d19e4efb" datatype="html">
+        <source>The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</source>
+        <target>The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</target>
+      </trans-unit>
+      <trans-unit id="289b101ec12427b3ca819df9e43cc3b14fae2cc4" datatype="html">
+        <source>The entered value must be a positive integer.</source>
+        <target>The entered value must be a positive integer.</target>
+      </trans-unit>
+      <trans-unit id="def9fc628134d3a044b7c0ad2a83c846bdad56f1" datatype="html">
+        <source>Retention period requires either Days or Years.</source>
+        <target>Retention period requires either Days or Years.</target>
+      </trans-unit>
+      <trans-unit id="003c94fc143882ac8af6251a1595fe62978fe3e6" datatype="html">
+        <source>Years</source>
+        <target>Years</target>
+      </trans-unit>
+      <trans-unit id="14c6189ead0951f13049c7bf9af7642d0c41957a" datatype="html">
+        <source>The number of years that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</source>
+        <target>The number of years that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</target>
       </trans-unit>
       <trans-unit id="45cc8ca94b5a50842a9a8ef804a5ab089a38ae5c" datatype="html">
         <source>ID</source>
         <source>Zonegroup</source>
         <target>zonegroup</target>
       </trans-unit>
+      <trans-unit id="62a923f047ca49e7a4782629e91fea1ba32db68f" datatype="html">
+        <source>MFA Delete</source>
+        <target>MFA Delete</target>
+      </trans-unit>
       <trans-unit id="649a410bd0ace333d067d8fa22f12bdbdb43533b" datatype="html">
         <source>Bucket quota</source>
         <target>存储桶配额</target>
         <source>Email address</source>
         <target>邮箱</target>
       </trans-unit>
+      <trans-unit id="92f3f203270a29b3001871153f02c063484a1574" datatype="html">
+        <source>Suspended</source>
+        <target>冻结</target>
+      </trans-unit>
       <trans-unit id="8011e20c5bbe51602d459a860fbf29b599b55edd" datatype="html">
         <source>System</source>
         <target>系统</target>
         <source>Max. buckets</source>
         <target>存储桶个数的上限</target>
       </trans-unit>
-      <trans-unit id="623ac50f37a26caec6fd7cd519b653e3315cba25" datatype="html">
-        <source>The entered value must be &gt;= 0.</source>
-        <target>设置的值必须 &gt;= 0。</target>
+      <trans-unit id="f39256070bfc0714020dfee08895421fc1527014" datatype="html">
+        <source>Disabled</source>
+        <target>禁用</target>
+      </trans-unit>
+      <trans-unit id="a5c05002b0ac2040f1aede5e727e0ffd06eda819" datatype="html">
+        <source>Custom</source>
+        <target>自定义</target>
+      </trans-unit>
+      <trans-unit id="28872515cb81d197a3a1733fa546d3e0f0dd6c67" datatype="html">
+        <source>The entered value must be &gt;= 1.</source>
+        <target>The entered value must be &gt;= 1.</target>
       </trans-unit>
       <trans-unit id="583a219c524155c2314eb06ee29162bb315272a3" datatype="html">
         <source>S3 key</source>
           <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>
         </target>
       </trans-unit>
+      <trans-unit id="f5a451c4ea65a4046f0b49d489a7013abf0b5861" datatype="html">
+        <source>All capabilities are already added.</source>
+        <target>All capabilities are already added.</target>
+      </trans-unit>
       <trans-unit id="6146e13ceca5fa5cc17b771b282fe5955f3d19fa" datatype="html">
         <source>Unlimited size</source>
         <target>空间无限制</target>
         <source>Max. objects</source>
         <target>对象个数上限</target>
       </trans-unit>
+      <trans-unit id="623ac50f37a26caec6fd7cd519b653e3315cba25" datatype="html">
+        <source>The entered value must be &gt;= 0.</source>
+        <target>设置的值必须 &gt;= 0。</target>
+      </trans-unit>
       <trans-unit id="1ea5c4d8942c00752dcc72e72949c5d9832f6399" datatype="html">
         <source>Description...</source>
         <target>描述…</target>
         <source>Password confirmation doesn't match the password.</source>
         <target>密码和之前的输入不匹配。</target>
       </trans-unit>
+      <trans-unit id="96621f9ed2e4ae5204564e583d2c816bedead571" datatype="html">
+        <source>Password expiration date</source>
+        <target>Password expiration date</target>
+      </trans-unit>
+      <trans-unit id="48932db3801fe9d5d72a60a3e656bffd17c1c5d9" datatype="html">
+        <source>Password expiration date...</source>
+        <target>Password expiration date...</target>
+      </trans-unit>
       <trans-unit id="244aae9346da82b0922506c2d2581373a15641cc" datatype="html">
         <source>Email</source>
         <target>邮箱</target>
         <source>Invalid email.</source>
         <target>邮箱地址无效。</target>
       </trans-unit>
+      <trans-unit id="8913c216dd506e20e412e144381d8d2a65a84359" datatype="html">
+        <source>User must change password at next logon</source>
+        <target>User must change password at next logon</target>
+      </trans-unit>
       <trans-unit id="0051a3479d3ba79135c16dc8cc017950a2cce821" datatype="html">
         <source>You are about to remove "user read / update" permissions from your own user.</source>
         <target>您即将取消您自己用户的 "user read / update" 权限。</target>
         <source>Histogram</source>
         <target>直方图</target>
       </trans-unit>
+      <trans-unit id="3d87fc20ea8e5f0f0500ba5d5061b345be78ec5e" datatype="html">
+        <source>No hostname found.</source>
+        <target>No hostname found.</target>
+      </trans-unit>
       <trans-unit id="26fb5f81b3581f06b9210defb0e71dc69a67e819" datatype="html">
         <source>Current values</source>
         <target>当前值</target>
         <target>标记</target>
       </trans-unit>
       <trans-unit id="ab0089ef47af61ca1d137bc908b96c290dfd9287" datatype="html">
-        <source>Enum values</source>
-        <target>可选项</target>
-      </trans-unit>
-      <trans-unit id="819476f1264f1659f38e86f6abb542141b184832" datatype="html">
-        <source>See also</source>
-        <target>参见</target>
-      </trans-unit>
-      <trans-unit id="d82a9af5b05e7cd17640f196f163771685ff8df6" datatype="html">
-        <source>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</source>
-        <target>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</target>
-      </trans-unit>
-      <trans-unit id="a185c9b97513b3882604ea9bab60edbfac945c15" datatype="html">
-        <source>SMART overall-health self-assessment test result</source>
-        <target>SMART overall-health self-assessment test result</target>
-      </trans-unit>
-      <trans-unit id="ddd5dd6d930030096ea617f62c82b648a0dd9484" datatype="html">
-        <source>Device Information</source>
-        <target>Device Information</target>
-      </trans-unit>
-      <trans-unit id="79c6bf990ea5b4d83bbf8f9e399f4bd933a1ebfc" datatype="html">
-        <source>S.M.A.R.T</source>
-        <target>S.M.A.R.T</target>
+        <source>Enum values</source>
+        <target>可选项</target>
       </trans-unit>
-      <trans-unit id="05c17e08939cbef1a5df5386263b1701e8d5742e" datatype="html">
-        <source>S.M.A.R.T data is loading.</source>
-        <target>S.M.A.R.T data is loading.</target>
+      <trans-unit id="819476f1264f1659f38e86f6abb542141b184832" datatype="html">
+        <source>See also</source>
+        <target>参见</target>
       </trans-unit>
       <trans-unit id="73caac4265ea7314ff061e5a1d78a6361a6dd3b8" datatype="html">
         <source>Cluster Status</source>
         <source>MDS performance counters</source>
         <target>MDS performance counters</target>
       </trans-unit>
-      <trans-unit id="a7b6508fb834bee9e48e11e4503fbbc2d19204de" datatype="html">
-        <source>Clients: 
-          <x id="INTERPOLATION" equiv-text="{{ clients.data.length }}"/>
-        </source>
-        <target>Clients: 
-          <x id="INTERPOLATION" equiv-text="{{ clients.data.length }}"/>
-        </target>
-      </trans-unit>
       <trans-unit id="6e213942c6354b9cbe7a650f0f1499bfc1000fb6" datatype="html">
         <source>Directories</source>
         <target>Directories</target>
         <source># Sessions</source>
         <target># Sessions</target>
       </trans-unit>
+      <trans-unit id="2ea10b3668e04e057ba96ddcaf4c9b77089008ae" datatype="html">
+        <source>Unavailable gateway(s)</source>
+        <target>Unavailable gateway(s)</target>
+      </trans-unit>
       <trans-unit id="c49e0dd71d551bd4928d967d78f0721dbf9f95e3" datatype="html">
         <source>Target has active sessions</source>
         <target>Target has active sessions</target>
         <source>Progress</source>
         <target>进度</target>
       </trans-unit>
-      <trans-unit id="f39256070bfc0714020dfee08895421fc1527014" datatype="html">
-        <source>Disabled</source>
-        <target>禁用</target>
+      <trans-unit id="25b725dba712a7a020fd34a72297befae975a492" datatype="html">
+        <source>Edit Site Name</source>
+        <target>Edit Site Name</target>
       </trans-unit>
       <trans-unit id="8c375764db42f5d736fb56d01b8052c006ccc8e2" datatype="html">
         <source>Edit Mode</source>
         <source>Fast diff (interlocked with object-map)</source>
         <target>Fast diff (interlocked with object-map)</target>
       </trans-unit>
+      <trans-unit id="130fd872c78271a8f86b1ab16a76e823969c47d9" datatype="html">
+        <source>Namespace</source>
+        <target>Namespace</target>
+      </trans-unit>
+      <trans-unit id="14abc99daed542774633046c53b6ce8251331141" datatype="html">
+        <source>This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.</source>
+        <target>This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.</target>
+      </trans-unit>
+      <trans-unit id="51699f716cf34e6622ff7bfd84641480c045271a" datatype="html">
+        <source>Created namespace '
+          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/
+          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>'
+        </source>
+        <target>Created namespace '
+          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/
+          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>'
+        </target>
+      </trans-unit>
+      <trans-unit id="bf44b7d6379ce0198ed3d95a27642a224181bf1d" datatype="html">
+        <source>Total images</source>
+        <target>Total images</target>
+      </trans-unit>
+      <trans-unit id="371ce3ffe62548d15e391a248bc554d903bb03fc" datatype="html">
+        <source>Deleted namespace '
+          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/
+          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>'
+        </source>
+        <target>Deleted namespace '
+          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/
+          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>'
+        </target>
+      </trans-unit>
+      <trans-unit id="9d704fd00ca929f90c3119cefc581821ae58a73e" datatype="html">
+        <source>Namespace contains images</source>
+        <target>Namespace contains images</target>
+      </trans-unit>
+      <trans-unit id="c2017dc94b4f57a347ccb126e546e88942f4d7a6" datatype="html">
+        <source>RBD Snapshot</source>
+        <target>RBD Snapshot</target>
+      </trans-unit>
       <trans-unit id="631fc50ec7c9bd81dc797a3c7e09eda1178ad999" datatype="html">
         <source>Parent image must support Layering</source>
         <target>Parent image must support Layering</target>
       </trans-unit>
+      <trans-unit id="cb60c1cd3655234756b5b92d4d597d92d520ee30" datatype="html">
+        <source>PROTECTED</source>
+        <target>PROTECTED</target>
+      </trans-unit>
+      <trans-unit id="deffb86b8fb0541254ad5a43862d82bff6b6a6c4" datatype="html">
+        <source>UNPROTECTED</source>
+        <target>无保护的</target>
+      </trans-unit>
       <trans-unit id="7eb984588f4835f6d0187b33769b4b0f62821640" datatype="html">
         <source>RBD snapshot rollback</source>
         <target>RBD 快照回滚</target>
         <source>Origin</source>
         <target>Origin</target>
       </trans-unit>
+      <trans-unit id="2ea2ec95d93fd55d0db6e9d2b95b25e153d4cec2" datatype="html">
+        <source>Max size</source>
+        <target>Max size</target>
+      </trans-unit>
+      <trans-unit id="665dced3a61bca44924a0bde4be47390225a4898" datatype="html">
+        <source>Max files</source>
+        <target>Max files</target>
+      </trans-unit>
+      <trans-unit id="0ccf776baac60794b142526986f3af85848c7059" datatype="html">
+        <source>The inherited 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/> is the maximum value to be used.
+        </source>
+        <target>The inherited 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/> is the maximum value to be used.
+        </target>
+      </trans-unit>
+      <trans-unit id="b0e2ef28384f2de6674cac300c779f900929a89b" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{action}}"/> CephFS 
+          <x id="INTERPOLATION_1" equiv-text="{{quotaName}}"/> quota for '
+          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>'
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{action}}"/> CephFS 
+          <x id="INTERPOLATION_1" equiv-text="{{quotaName}}"/> quota for '
+          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>'
+        </target>
+      </trans-unit>
+      <trans-unit id="542ef638499635dec7641bdc2e499258094187cc" datatype="html">
+        <source>size</source>
+        <target>size</target>
+      </trans-unit>
+      <trans-unit id="ce90ff00c341d8eef96b0e7956bb85b8faba3839" datatype="html">
+        <source>files</source>
+        <target>files</target>
+      </trans-unit>
+      <trans-unit id="fbe8b9340c08c24aef62ffe81c83e2b46a4f1495" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{quotaName}}"/> quota 
+          <x id="INTERPOLATION_1" equiv-text="{{value}}"/> from '
+          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>'
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{quotaName}}"/> quota 
+          <x id="INTERPOLATION_1" equiv-text="{{value}}"/> from '
+          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>'
+        </target>
+      </trans-unit>
+      <trans-unit id="37c2c0a4a356465eef2edfb09ffffc6db5259975" datatype="html">
+        <source>Value has to be at least 
+          <x id="INTERPOLATION" equiv-text="{{value}}"/> or more
+        </source>
+        <target>Value has to be at least 
+          <x id="INTERPOLATION" equiv-text="{{value}}"/> or more
+        </target>
+      </trans-unit>
+      <trans-unit id="73f8e64703a707e2cf98b9a10653cd3bbdd8cab1" datatype="html">
+        <source>Value has to be at most 
+          <x id="INTERPOLATION" equiv-text="{{value}}"/> or less
+        </source>
+        <target>Value has to be at most 
+          <x id="INTERPOLATION" equiv-text="{{value}}"/> or less
+        </target>
+      </trans-unit>
+      <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc" datatype="html">
+        <source>Updated</source>
+        <target>更新完成</target>
+      </trans-unit>
+      <trans-unit id="b6a4cf4f302c7fcbec199ce0df42b8282d682b04" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{action}}"/>
+          <x id="INTERPOLATION_1" equiv-text="{{quotaValue}}"/>
+          <x id="INTERPOLATION_2" equiv-text="{{conclusion}}"/>.
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{action}}"/>
+          <x id="INTERPOLATION_1" equiv-text="{{quotaValue}}"/>
+          <x id="INTERPOLATION_2" equiv-text="{{conclusion}}"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="a40024afb071f68fec949094a71f832d5611bca5" datatype="html">
+        <source>in order to inherit 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>
+        </source>
+        <target>in order to inherit 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="c108ff588291e9c040adea2adf35e7236cf29925" datatype="html">
+        <source>which isn't used because of the inheritance of 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>
+        </source>
+        <target>which isn't used because of the inheritance of 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="d3785a64d1c72b03b2212855ce695b45ed0342d2" datatype="html">
+        <source>in order to have no quota on the directory</source>
+        <target>in order to have no quota on the directory</target>
+      </trans-unit>
+      <trans-unit id="c4d3a3446a7f36825291c5e76c4a6b7919f9bd2f" datatype="html">
+        <source>Create Snapshot</source>
+        <target>Create Snapshot</target>
+      </trans-unit>
+      <trans-unit id="e9af734e231b837d64df21008e2eb1fdff566a61" datatype="html">
+        <source>Please enter the name of the snapshot.</source>
+        <target>Please enter the name of the snapshot.</target>
+      </trans-unit>
+      <trans-unit id="8c4d3039e6a953b0d6f1b1313ffa60c5d2b35dc7" datatype="html">
+        <source>Created snapshot "
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "
+          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"
+        </source>
+        <target>Created snapshot "
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "
+          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"
+        </target>
+      </trans-unit>
+      <trans-unit id="126ad894f74ee9a999825f3f4ac5a31fdfc093bf" datatype="html">
+        <source>CephFs Snapshot</source>
+        <target>CephFs Snapshot</target>
+      </trans-unit>
+      <trans-unit id="1e4d1c0865adc485260740c42ac5af68ce8feb13" datatype="html">
+        <source>Deleted snapshot "
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "
+          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"
+        </source>
+        <target>Deleted snapshot "
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "
+          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"
+        </target>
+      </trans-unit>
       <trans-unit id="22e4e574b7f8abf58254f328792445b42e2a924a" datatype="html">
         <source>The value can be updated at runtime.</source>
         <target>该值可在运行时更新。</target>
         <source>Service</source>
         <target>服务</target>
       </trans-unit>
+      <trans-unit id="6986e0df8092d822ac2c076520d83994c78834fc" datatype="html">
+        <source>Modified</source>
+        <target>Modified</target>
+      </trans-unit>
       <trans-unit id="9951bb3983c7dba6fde013e05c922e4fe1a44367" datatype="html">
         <source>Current value</source>
         <target>当前值</target>
         <source>host</source>
         <target>host</target>
       </trans-unit>
-      <trans-unit id="9e35065e7c579e1fb960499117fd4b3c68d1c263" datatype="html">
-        <source>Host operation is disabled because orchestrator is unavailable</source>
-        <target>Host operation is disabled because orchestrator is unavailable</target>
+      <trans-unit id="b1b381321d4cef04605d3e6e8847ea2b72a03799" datatype="html">
+        <source>Identify</source>
+        <target>Identify</target>
       </trans-unit>
       <trans-unit id="a5d5e407f8c4e1b152509c966c90f37edf68472e" datatype="html">
         <source>Device path</source>
         <target>Device path</target>
       </trans-unit>
-      <trans-unit id="94e76c060aa68c05d8c4a3f5a20c92fab3e83ccf" datatype="html">
-        <source>Rotates</source>
-        <target>Rotates</target>
-      </trans-unit>
       <trans-unit id="b7da3e3505cc80f9bf3cffc8444c53e8a9ec70a5" datatype="html">
         <source>Available</source>
         <target>Available</target>
       </trans-unit>
+      <trans-unit id="396974120fc614fc930a27c8d15a094d82a3a9e4" datatype="html">
+        <source>Vendor</source>
+        <target>Vendor</target>
+      </trans-unit>
       <trans-unit id="6ec98fa3d6504ba1fd03465194b53706c8263c99" datatype="html">
         <source>Model</source>
         <target>Model</target>
       </trans-unit>
+      <trans-unit id="f2d785f5658c96c6a2f505cdd625108bcece84c3" datatype="html">
+        <source>Identify device 
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>
+        </source>
+        <target>Identify device 
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="c97ab45ca09248f8f1ba60328175741657fe39ce" datatype="html">
+        <source>Please enter the duration how long to blink the LED.</source>
+        <target>Please enter the duration how long to blink the LED.</target>
+      </trans-unit>
+      <trans-unit id="87e56ee5057023d7e8b59420b838bad112b043bc" datatype="html">
+        <source>1 minute</source>
+        <target>1 minute</target>
+      </trans-unit>
+      <trans-unit id="affa3b3bf1f36531e5ae65291f8a7cd1b06860ee" datatype="html">
+        <source>2 minutes</source>
+        <target>2 minutes</target>
+      </trans-unit>
+      <trans-unit id="878c6645b7fc26d85c7aee17a9d8c282a938dcf3" datatype="html">
+        <source>5 minutes</source>
+        <target>5 minutes</target>
+      </trans-unit>
+      <trans-unit id="aa0a76140961594b7176ade241e5025a7dbb5dce" datatype="html">
+        <source>10 minutes</source>
+        <target>10 minutes</target>
+      </trans-unit>
+      <trans-unit id="0a7f83a1f27750ef634a1f1f97263fac36113b1f" datatype="html">
+        <source>15 minutes</source>
+        <target>15 minutes</target>
+      </trans-unit>
+      <trans-unit id="699b690d686dbb8e00a1e95b89ba2fffb548da6e" datatype="html">
+        <source>Execute</source>
+        <target>Execute</target>
+      </trans-unit>
+      <trans-unit id="aa975a86dd49979a3ae90b9f3fc5b2c97311d422" datatype="html">
+        <source>Identifying '
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>' started on host '
+          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>'
+        </source>
+        <target>Identifying '
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>' started on host '
+          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="1a6e6ad05508130b7a99ce5b15daf3227c2a930c" datatype="html">
         <source>Updated options for module "
           <x id="INTERPOLATION" equiv-text="{{name}}"/>".
           <x id="INTERPOLATION" equiv-text="{{name}}"/>".
         </target>
       </trans-unit>
+      <trans-unit id="6bd47ff8707aa2e6a94a4a6e2566b86dc7956d5f" datatype="html">
+        <source>Always-On</source>
+        <target>Always-On</target>
+      </trans-unit>
       <trans-unit id="ac6c9212896d39b23811ed2dadab7d07336ec559" datatype="html">
         <source>Enable</source>
         <target>启用</target>
         <source>Open Sessions</source>
         <target>活动会话</target>
       </trans-unit>
+      <trans-unit id="34c6f45591d420b1101dcee53999d1de91c0e400" datatype="html">
+        <source>No available devices</source>
+        <target>No available devices</target>
+      </trans-unit>
+      <trans-unit id="dcfe8807a2a1d0d7074a02afe9b80645bd03b9ab" datatype="html">
+        <source>Please add primary devices first</source>
+        <target>Please add primary devices first</target>
+      </trans-unit>
+      <trans-unit id="05d024719e53f85f7f294b7e21dfd805709a0b06" datatype="html">
+        <source>Add devices by using filters</source>
+        <target>Add devices by using filters</target>
+      </trans-unit>
       <trans-unit id="37e58d1cbdf8212b380efa51422e42821d4f08e6" datatype="html">
         <source>No In</source>
         <target>禁止加入</target>
         <source>Backfilling of PGs is suspended</source>
         <target>PG 回填已推迟</target>
       </trans-unit>
+      <trans-unit id="df526de2b93c4099a30c200ef551608e39ee5256" datatype="html">
+        <source>No Rebalance</source>
+        <target>No Rebalance</target>
+      </trans-unit>
+      <trans-unit id="c5b70346245f8d52b58e5e7fe222ce82f12429ce" datatype="html">
+        <source>OSD will choose not to backfill unless PG is also degraded</source>
+        <target>OSD will choose not to backfill unless PG is also degraded</target>
+      </trans-unit>
       <trans-unit id="7fbbd036394cfa623add40299757bc87df8eaa7e" datatype="html">
         <source>No Recover</source>
         <target>禁止恢复</target>
         <source>Updated OSD Flags</source>
         <target>已更新 OSD 标志</target>
       </trans-unit>
+      <trans-unit id="948758e1412bb2ecdb98e3a4f1cbb6d7458456f2" datatype="html">
+        <source>Encryption</source>
+        <target>Encryption</target>
+      </trans-unit>
+      <trans-unit id="c8b1475105463088593de1022ff6dceb523eae0e" datatype="html">
+        <source>OSD</source>
+        <target>OSD</target>
+      </trans-unit>
       <trans-unit id="688578fcc739d6f0c5fb6c366dbb19d21c6d9e36" datatype="html">
         <source>out</source>
         <target>除名</target>
         <source>Purge</source>
         <target>清除</target>
       </trans-unit>
-      <trans-unit id="c8b1475105463088593de1022ff6dceb523eae0e" datatype="html">
-        <source>OSD</source>
-        <target>OSD</target>
-      </trans-unit>
       <trans-unit id="4f3cff08c7033b63bbccfe66006b1bcaea48ddd8" datatype="html">
         <source>purged</source>
         <target>已清除</target>
         <source>destroyed</source>
         <target>已销毁</target>
       </trans-unit>
+      <trans-unit id="70ef158c584bafe788e319a0bffa11b02ee9abf1" datatype="html">
+        <source>delete</source>
+        <target>删除</target>
+      </trans-unit>
+      <trans-unit id="a5b387f5a15b95e339df10fc23526c659a2b6c6f" datatype="html">
+        <source>deleted</source>
+        <target>deleted</target>
+      </trans-unit>
       <trans-unit id="107614b994f2b01abdc1ca179bf780b0cd933ec4" datatype="html">
         <source>Recovery Priority</source>
         <target>Recovery Priority</target>
         <source>Read bytes</source>
         <target>读字节数</target>
       </trans-unit>
-      <trans-unit id="ecbe2fdca919499125bc42c2c67cedae8563db1c" datatype="html">
-        <source>Writes bytes</source>
+      <trans-unit id="f15bf7f588f09ca79795b17bc244e8d336f28171" datatype="html">
+        <source>Write bytes</source>
         <target>写字节数</target>
       </trans-unit>
       <trans-unit id="f3c33322823c846b13f59ba2c8f234405bba99e1" datatype="html">
         <source>Write ops</source>
         <target>写请求数</target>
       </trans-unit>
+      <trans-unit id="b27d1dd31789610130b7cdbf88c4da552cffe936" datatype="html">
+        <source>Edit OSD: 
+          <x id="INTERPOLATION" equiv-text="{{id}}"/>
+        </source>
+        <target>Edit OSD: 
+          <x id="INTERPOLATION" equiv-text="{{id}}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="986f1379580078e77666d10f8ddf4f839c6ca71d" datatype="html">
+        <source>Edit OSD</source>
+        <target>Edit OSD</target>
+      </trans-unit>
+      <trans-unit id="a4b09e2fa39c3e4f1a387f191fbae4eea3ce7bf5" datatype="html">
+        <source>Updated OSD "
+          <x id="INTERPOLATION" equiv-text="{{id}}"/>"
+        </source>
+        <target>Updated OSD "
+          <x id="INTERPOLATION" equiv-text="{{id}}"/>"
+        </target>
+      </trans-unit>
       <trans-unit id="d45455406092f58e6b089cb440b5b7934b801a01" datatype="html">
         <source>Mark OSD 
           <x id="INTERPOLATION" equiv-text="{{markAction}}"/>
         <source>Recovery Sleep</source>
         <target>恢复/回填操作间隔睡眠时间</target>
       </trans-unit>
-      <trans-unit id="a5c05002b0ac2040f1aede5e727e0ffd06eda819" datatype="html">
-        <source>Custom</source>
-        <target>自定义</target>
-      </trans-unit>
       <trans-unit id="89553524f4e7db5c437b07dcfdc7b831d56ded1a" datatype="html">
         <source>Updated OSD recovery speed priority "
           <x id="INTERPOLATION" equiv-text="{{value}}"/>"
           <x id="INTERPOLATION_1" equiv-text="{{id}}"/>
         </target>
       </trans-unit>
-      <trans-unit id="9836e830d0219585b36d53be00a31c3d4798a4aa" datatype="html">
-        <source>Smartctl has received an unknown argument (error code
-          <x id="INTERPOLATION" equiv-text="{{smartData.smartctl_error_code}}"/>). You may be using an
-                incompatible version of smartmontools. Version &gt;= 7.0 of
-                smartmontools is required to succesfully retrieve data.
-        </source>
-        <target>Smartctl has received an unknown argument (error code
-          <x id="INTERPOLATION" equiv-text="{{smartData.smartctl_error_code}}"/>). You may be using an
-                incompatible version of smartmontools. Version &gt;= 7.0 of
-                smartmontools is required to succesfully retrieve data.
-        </target>
-      </trans-unit>
-      <trans-unit id="d5fd840374ca1a6f394bcd81f390a6dca27f8224" datatype="html">
-        <source>An error with error code 
-          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.
-        </source>
-        <target>An error with error code 
-          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.
-        </target>
-      </trans-unit>
-      <trans-unit id="a0b59d7139692bb8d8ed786b6eb6e9e70ce743f3" datatype="html">
-        <source>Raw</source>
-        <target>Raw</target>
-      </trans-unit>
-      <trans-unit id="2f3beddc8234b30fb26a7f63ba2f1ea74f2ed6f7" datatype="html">
-        <source>Threshold</source>
-        <target>Threshold</target>
-      </trans-unit>
-      <trans-unit id="4654b5a68af3c8bad29aa14ca85ccea1f3143c6b" datatype="html">
-        <source>When Failed</source>
-        <target>When Failed</target>
-      </trans-unit>
-      <trans-unit id="5b7f56d5be49fb8e8d8f40209d6746f8f72e9177" datatype="html">
-        <source>Worst</source>
-        <target>Worst</target>
-      </trans-unit>
-      <trans-unit id="1edb8e46b0fac57c5feb3d7d3585afc0122d5481" datatype="html">
-        <source>Create silence</source>
-        <target>Create silence</target>
+      <trans-unit id="3bc2d18913479965cb046ec75e2ac3f7b7a77ce5" datatype="html">
+        <source>Create Silence</source>
+        <target>Create Silence</target>
       </trans-unit>
       <trans-unit id="78917e8031aaf913ac3fa63295325ce8879703ce" datatype="html">
         <source>Job</source>
         <source>URL</source>
         <target>URL</target>
       </trans-unit>
+      <trans-unit id="d9f726c70aeba7fa6d3d68bff718abe78b1e50ac" datatype="html">
+        <source>Query</source>
+        <target>Query</target>
+      </trans-unit>
       <trans-unit id="a5cd682a8a33bdc72e093d059429e3cc3a50ec1d" datatype="html">
         <source>silence</source>
         <target>silence</target>
         <source>Created by</source>
         <target>Created by</target>
       </trans-unit>
-      <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc" datatype="html">
-        <source>Updated</source>
-        <target>更新完成</target>
-      </trans-unit>
       <trans-unit id="8d833cceee0ba4c5161b130365e02bc1e129b57e" datatype="html">
         <source>Ends</source>
         <target>Ends</target>
         <source>Silence</source>
         <target>Silence</target>
       </trans-unit>
-      <trans-unit id="f392abfbb997402ce2aebb13e660a8f01dec54db" datatype="html">
-        <source>Service type</source>
-        <target>Service type</target>
+      <trans-unit id="f2ea47d702c7f5e3e5fa751bf9959e21030b72e6" datatype="html">
+        <source>Daemon type</source>
+        <target>Daemon type</target>
       </trans-unit>
-      <trans-unit id="9ffa91b056fb979786627885651e19c8275675cd" datatype="html">
-        <source>Service instance</source>
-        <target>Service instance</target>
+      <trans-unit id="6c131968e6ab730d86443e6fc11c5cc2a76d7bac" datatype="html">
+        <source>Daemon ID</source>
+        <target>Daemon ID</target>
       </trans-unit>
-      <trans-unit id="b5910192a9ac4816638ff6383b03f986ff965796" datatype="html">
-        <source>Container id</source>
-        <target>Container id</target>
+      <trans-unit id="5738f0ca7ddd9594058ce051b1d5d576e2782825" datatype="html">
+        <source>Container ID</source>
+        <target>Container ID</target>
       </trans-unit>
-      <trans-unit id="60ab9cce12a56cdc5ec6a1b699f8c7afecd629d5" datatype="html">
-        <source>Rados config location</source>
-        <target>Rados config location</target>
+      <trans-unit id="78ebcf850cd440c5efc15e6a3a522ae75aeff669" datatype="html">
+        <source>Container Image name</source>
+        <target>Container Image name</target>
       </trans-unit>
-      <trans-unit id="dfa409f831c9168a377bdee02c5ea6aaf9b2bf61" datatype="html">
-        <source>Service URL</source>
-        <target>Service URL</target>
+      <trans-unit id="ea0c7ab9a7bdf646d494abf8c85fbf67d934d079" datatype="html">
+        <source>Container Image ID</source>
+        <target>Container Image ID</target>
       </trans-unit>
       <trans-unit id="bf2468fd965b8a59c135ad549b3a612aa9873abc" datatype="html">
         <source>Status Description</source>
         <target>Status Description</target>
       </trans-unit>
+      <trans-unit id="19867330bdc84096f5a93ab087a1766476c8a074" datatype="html">
+        <source>Last Refreshed</source>
+        <target>Last Refreshed</target>
+      </trans-unit>
+      <trans-unit id="2349ee2027ab6ceb3e4b8834928562075b7e1ac7" datatype="html">
+        <source>Container image name</source>
+        <target>Container image name</target>
+      </trans-unit>
+      <trans-unit id="3c475503fb93338811af6b3d9ccacca1d7334609" datatype="html">
+        <source>Container image ID</source>
+        <target>Container image ID</target>
+      </trans-unit>
+      <trans-unit id="8dd15f6c73c05a8b0bd7b6d416487ab6570b88c8" datatype="html">
+        <source>Running</source>
+        <target>Running</target>
+      </trans-unit>
       <trans-unit id="fb2e1bed329dc5b84197808c778abb9edcbdb335" datatype="html">
         <source>Used</source>
         <target>已使用</target>
         <source>NFS export</source>
         <target>NFS export</target>
       </trans-unit>
+      <trans-unit id="c56d51748965db5f3966cd1d06a1c9f4b5244931" datatype="html">
+        <source>Crush Rule</source>
+        <target>Crush Rule</target>
+      </trans-unit>
       <trans-unit id="ae128527ec18892f812a62a1fd15dc50a38060c0" datatype="html">
         <source>EC Profile</source>
         <target>EC Profile</target>
         <source>erasure code profile</source>
         <target>纠删码配置</target>
       </trans-unit>
+      <trans-unit id="ae48e19a9a2acaca4b5ea594451bc9b0b01ec8d2" datatype="html">
+        <source>crush rule</source>
+        <target>crush rule</target>
+      </trans-unit>
       <trans-unit id="112d356ad6846959ca4aa5ec9a1f0d9d473b24ec" datatype="html">
         <source>Replica Size</source>
         <target>副本个数</target>
         <source>Crush Ruleset</source>
         <target>CRUSH 规则集</target>
       </trans-unit>
-      <trans-unit id="f15bf7f588f09ca79795b17bc244e8d336f28171" datatype="html">
-        <source>Write bytes</source>
-        <target>写字节数</target>
-      </trans-unit>
       <trans-unit id="bcc365a084b6145b941b371bd4c2b6c3d2c79234" datatype="html">
         <source>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</source>
         <target>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</target>
         <source>Swift Key</source>
         <target>Swift Key</target>
       </trans-unit>
+      <trans-unit id="6462d8f12b427c29363f00b12f20f566be24937c" datatype="html">
+        <source>Device ID</source>
+        <target>Device ID</target>
+      </trans-unit>
+      <trans-unit id="82f12bf23db4bb82db89877bebe93954bc1c8fb0" datatype="html">
+        <source>State of Health</source>
+        <target>State of Health</target>
+      </trans-unit>
+      <trans-unit id="7bd34bd120146afef0e0d8fa168d9bdabd594b6a" datatype="html">
+        <source>Good</source>
+        <target>Good</target>
+      </trans-unit>
+      <trans-unit id="31c59dce114ec0a9d02552ef7b81920b3de36793" datatype="html">
+        <source>Bad</source>
+        <target>Bad</target>
+      </trans-unit>
+      <trans-unit id="2862af5284f66d4b06bdcf77a5519141723b6989" datatype="html">
+        <source>Stale</source>
+        <target>Stale</target>
+      </trans-unit>
+      <trans-unit id="8d8e819b52984a4fbdec75a99eb28d1ae4323bbc" datatype="html">
+        <source>Life Expectancy</source>
+        <target>Life Expectancy</target>
+      </trans-unit>
+      <trans-unit id="72d9b15be18ea063e78c4e855b9e8c0af95593ef" datatype="html">
+        <source>Prediction Creation Date</source>
+        <target>Prediction Creation Date</target>
+      </trans-unit>
+      <trans-unit id="a6b4ef85e5ff8bd192751c7bbebc54c46118d6d4" datatype="html">
+        <source>Device Name</source>
+        <target>Device Name</target>
+      </trans-unit>
+      <trans-unit id="d5fd840374ca1a6f394bcd81f390a6dca27f8224" datatype="html">
+        <source>An error with error code 
+          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.
+        </source>
+        <target>An error with error code 
+          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.
+        </target>
+      </trans-unit>
+      <trans-unit id="a0b59d7139692bb8d8ed786b6eb6e9e70ce743f3" datatype="html">
+        <source>Raw</source>
+        <target>Raw</target>
+      </trans-unit>
+      <trans-unit id="2f3beddc8234b30fb26a7f63ba2f1ea74f2ed6f7" datatype="html">
+        <source>Threshold</source>
+        <target>Threshold</target>
+      </trans-unit>
+      <trans-unit id="4654b5a68af3c8bad29aa14ca85ccea1f3143c6b" datatype="html">
+        <source>When Failed</source>
+        <target>When Failed</target>
+      </trans-unit>
+      <trans-unit id="5b7f56d5be49fb8e8d8f40209d6746f8f72e9177" datatype="html">
+        <source>Worst</source>
+        <target>Worst</target>
+      </trans-unit>
       <trans-unit id="1481b8488e10dbc437accce89d2ae35a0106e8ba" datatype="html">
         <source>Scope</source>
         <target>作用范围</target>
           <x id="INTERPOLATION" equiv-text="{{role_name}}"/>'
         </target>
       </trans-unit>
+      <trans-unit id="bd15b8d5c0fa160161728eefbbb585710414d471" datatype="html">
+        <source>New name</source>
+        <target>New name</target>
+      </trans-unit>
+      <trans-unit id="6f126277f3dc22a3ab3609c4c198386c8744e11a" datatype="html">
+        <source>Clone Role</source>
+        <target>Clone Role</target>
+      </trans-unit>
+      <trans-unit id="d19d8320479854bc52877cdf0dc5ecfe34a36ec7" datatype="html">
+        <source>Cloned role '
+          <x id="INTERPOLATION" equiv-text="{{dst_name}}"/>' from '
+          <x id="INTERPOLATION_1" equiv-text="{{src_name}}"/>'
+        </source>
+        <target>Cloned role '
+          <x id="INTERPOLATION" equiv-text="{{dst_name}}"/>' from '
+          <x id="INTERPOLATION_1" equiv-text="{{src_name}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="2e35d60a14ce0b470e8b54602864a867f7fcef40" datatype="html">
         <source>There are no roles.</source>
         <target>There are no roles.</target>
         <source>Updated user password"</source>
         <target>Updated user password"</target>
       </trans-unit>
+      <trans-unit id="c4e596a44ffc4718c1602600d6e4f029190eb031" datatype="html">
+        <source>The name of the node under which data should be placed.</source>
+        <target>The name of the node under which data should be placed.</target>
+      </trans-unit>
+      <trans-unit id="f24772ba1091155f8d7025332ca8456a204d1e28" datatype="html">
+        <source>The type of CRUSH nodes across which we should separate replicas.</source>
+        <target>The type of CRUSH nodes across which we should separate replicas.</target>
+      </trans-unit>
+      <trans-unit id="a3896042af461a80091c3f7a5fe3fff5ac40a3a0" datatype="html">
+        <source>The device class data should be placed on.</source>
+        <target>The device class data should be placed on.</target>
+      </trans-unit>
       <trans-unit id="1d7fbcc3d5efc946ffbcf86fed04c4e20dda20fb" datatype="html">
         <source>Each object is split in data-chunks parts, each stored on a different OSD.</source>
         <target> 各对象都被分割为数据块,分别存储于不同 OSD 。</target>
@@ -3872,6 +4688,10 @@ lrc 纠删码插件创建的是局部校验块,这样只需较少的 OSD 即
         <source>Success</source>
         <target>Success</target>
       </trans-unit>
+      <trans-unit id="61fd1cffcb763cbfd5829071723cf9b647174bd9" datatype="html">
+        <source>An error occurred.</source>
+        <target>An error occurred.</target>
+      </trans-unit>
       <trans-unit id="e6ca3c0efaf51e6d45a7f92f58bac37140c3fda4" datatype="html">
         <source>Last 5 minutes</source>
         <target>过去 5 分钟</target>
@@ -4016,14 +4836,18 @@ lrc 纠删码插件创建的是局部校验块,这样只需较少的 OSD 即
         <source>There are no items available.</source>
         <target>无可选项目。</target>
       </trans-unit>
-      <trans-unit id="f6755cff4957d5c3c89bafce5651f1b6fa2b1fd9" datatype="html">
-        <source>Add</source>
-        <target>添加</target>
+      <trans-unit id="55dd9f44e64851bca3b7bfc9283a5ff36f030228" datatype="html">
+        <source>Set</source>
+        <target>Set</target>
       </trans-unit>
       <trans-unit id="019d4bd6a5690f0cfa0ecf346a4e6bf7f0d8debb" datatype="html">
         <source>Remove</source>
         <target>Remove</target>
       </trans-unit>
+      <trans-unit id="e168fe6c468b3ad632731395ef89860274242844" datatype="html">
+        <source>Unset</source>
+        <target>Unset</target>
+      </trans-unit>
       <trans-unit id="54a4a3132b693575728a45a5f3154ad4c9af404b" datatype="html">
         <source>Clone</source>
         <target>克隆</target>
@@ -4208,6 +5032,38 @@ lrc 纠删码插件创建的是局部校验块,这样只需较少的 OSD 即
         <source>No</source>
         <target>否</target>
       </trans-unit>
+      <trans-unit id="baf918eed9d4050cdad2acebc0f27b6eaf8e3fcd" datatype="html">
+        <source>Required rules for passwords:</source>
+        <target>Required rules for passwords:</target>
+      </trans-unit>
+      <trans-unit id="40f61909e1f017c4652e64b055089beef19cf871" datatype="html">
+        <source>Must contain at least 
+          <x id="INTERPOLATION" equiv-text="{{length}}"/> characters
+        </source>
+        <target>Must contain at least 
+          <x id="INTERPOLATION" equiv-text="{{length}}"/> characters
+        </target>
+      </trans-unit>
+      <trans-unit id="f4f5dbb3a05b5f38dab47ef38dad88a4574a765a" datatype="html">
+        <source>Must not be the same as the previous one</source>
+        <target>Must not be the same as the previous one</target>
+      </trans-unit>
+      <trans-unit id="607370e07b50087c196a5fcea9184e3d693226b2" datatype="html">
+        <source>Cannot contain the username</source>
+        <target>Cannot contain the username</target>
+      </trans-unit>
+      <trans-unit id="e6e355eab2596251aaa42623b41e6026d5c03e3b" datatype="html">
+        <source>Cannot contain any configured keyword</source>
+        <target>Cannot contain any configured keyword</target>
+      </trans-unit>
+      <trans-unit id="394bcd6d5e4da75b720c4d28f94f2aef7bb38355" datatype="html">
+        <source>Cannot contain any repetitive characters e.g. "aaa"</source>
+        <target>Cannot contain any repetitive characters e.g. "aaa"</target>
+      </trans-unit>
+      <trans-unit id="030e61e0bcf2536fb047645db6182d43e9fca9e9" datatype="html">
+        <source>Cannot contain any sequential characters e.g. "abc"</source>
+        <target>Cannot contain any sequential characters e.g. "abc"</target>
+      </trans-unit>
       <trans-unit id="99fa0b67376d40142bd4d3ace3344abf4f98b6a5" datatype="html">
         <source>Your matcher seems to match no currently defined rule or active alert.</source>
         <target>Your matcher seems to match no currently defined rule or active alert.</target>
@@ -4396,10 +5252,6 @@ lrc 纠删码插件创建的是局部校验块,这样只需较少的 OSD 即
         <source>Deleting</source>
         <target>正在删除</target>
       </trans-unit>
-      <trans-unit id="70ef158c584bafe788e319a0bffa11b02ee9abf1" datatype="html">
-        <source>delete</source>
-        <target>删除</target>
-      </trans-unit>
       <trans-unit id="d07a282afc7fbdb39cea6e1c9b544882a7260a86" datatype="html">
         <source>Adding</source>
         <target>Adding</target>
@@ -4416,6 +5268,18 @@ lrc 纠删码插件创建的是局部校验块,这样只需较少的 OSD 即
         <source>remove</source>
         <target>remove</target>
       </trans-unit>
+      <trans-unit id="0e21237afdc84ec360c374fa678d9b1cfaa334f9" datatype="html">
+        <source>Importing</source>
+        <target>Importing</target>
+      </trans-unit>
+      <trans-unit id="c6b4128c006f4cc0564137e1a1482b5c432aa347" datatype="html">
+        <source>import</source>
+        <target>import</target>
+      </trans-unit>
+      <trans-unit id="3b9f4138abbca0fd66db1f7332f4b54e2a6d916d" datatype="html">
+        <source>Imported</source>
+        <target>Imported</target>
+      </trans-unit>
       <trans-unit id="3f757cfc3749ebb5d4462017cb60138ca082f15f" datatype="html">
         <source>RBD '
           <x id="INTERPOLATION" equiv-text="{{id}}"/>'
@@ -4432,6 +5296,14 @@ lrc 纠删码插件创建的是局部校验块,这样只需较少的 OSD 即
           <x id="INTERPOLATION" equiv-text="{{id}}"/>'
         </target>
       </trans-unit>
+      <trans-unit id="2bf18ddf3785f7afb4f01dcf63d3d8c40f4bfba5" datatype="html">
+        <source>mirroring site name</source>
+        <target>mirroring site name</target>
+      </trans-unit>
+      <trans-unit id="167b73bb24b4695614ce0fc567b7a45080457a44" datatype="html">
+        <source>bootstrap token</source>
+        <target>bootstrap token</target>
+      </trans-unit>
       <trans-unit id="4fb54a0291f49583c317d4a3690239141b5a8f68" datatype="html">
         <source>mirror mode for pool '
           <x id="INTERPOLATION" equiv-text="{{id}}"/>'
@@ -4452,6 +5324,14 @@ lrc 纠删码插件创建的是局部校验块,这样只需较少的 OSD 即
         <source>all dashboards</source>
         <target>all dashboards</target>
       </trans-unit>
+      <trans-unit id="6c19652df9249c60827044ed6274933cab180c63" datatype="html">
+        <source>OSDs (DriveGroups: 
+          <x id="INTERPOLATION" equiv-text="{{tracking_id}}"/>)
+        </source>
+        <target>OSDs (DriveGroups: 
+          <x id="INTERPOLATION" equiv-text="{{tracking_id}}"/>)
+        </target>
+      </trans-unit>
       <trans-unit id="1b559dbd9cc9664fd788c2da9a10d3abafe066cb" datatype="html">
         <source>Name is already used by 
           <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.
@@ -4476,6 +5356,14 @@ lrc 纠删码插件创建的是局部校验块,这样只需较少的 OSD 即
           <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.
         </target>
       </trans-unit>
+      <trans-unit id="460f07780389d24c6a540c007c7367a56afad585" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> is busy.
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> is busy.
+        </target>
+      </trans-unit>
       <trans-unit id="1ff7676ad1e991102224540a32dd44ad1ab88aa8" datatype="html">
         <source>
           <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.
@@ -4630,6 +5518,28 @@ lrc 纠删码插件创建的是局部校验块,这样只需较少的 OSD 即
         <source>Cannot disable mirroring because it contains a peer.</source>
         <target>因为包含同伴集群,无法禁用镜像功能</target>
       </trans-unit>
+      <trans-unit id="5c4525a1b76ca54d1aadeaecfdb83aedc2eec6e0" datatype="html">
+        <source>Identifying</source>
+        <target>Identifying</target>
+      </trans-unit>
+      <trans-unit id="ffd067e54a061d1f27cb35f0cf67ef7f29e19111" datatype="html">
+        <source>identify</source>
+        <target>identify</target>
+      </trans-unit>
+      <trans-unit id="7c921f339274688c22ba1acac7af6b097ad3599d" datatype="html">
+        <source>Identified</source>
+        <target>Identified</target>
+      </trans-unit>
+      <trans-unit id="3307492c27c2150cd26c514030444e11fd61089f" datatype="html">
+        <source>device '
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>' on host '
+          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>'
+        </source>
+        <target>device '
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>' on host '
+          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="f123ae1fc3b000e5d08e766dd78bff162afe709d" datatype="html">
         <source>host '
           <x id="INTERPOLATION" equiv-text="{{hostname}}"/>'
@@ -4638,6 +5548,14 @@ lrc 纠删码插件创建的是局部校验块,这样只需较少的 OSD 即
           <x id="INTERPOLATION" equiv-text="{{hostname}}"/>'
         </target>
       </trans-unit>
+      <trans-unit id="c1af76189dcefd094da2bc1a4a63968f3bab5789" datatype="html">
+        <source>OSD '
+          <x id="INTERPOLATION" equiv-text="{{svc_id}}"/>'
+        </source>
+        <target>OSD '
+          <x id="INTERPOLATION" equiv-text="{{svc_id}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="dfe70001dc590a9e12512cbb206aa29fb36fd00b" datatype="html">
         <source>pool '
           <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>'
@@ -4654,6 +5572,14 @@ lrc 纠删码插件创建的是局部校验块,这样只需较少的 OSD 即
           <x id="INTERPOLATION" equiv-text="{{name}}"/>'
         </target>
       </trans-unit>
+      <trans-unit id="79052d6c47258dc19ada12dbb2563761102b6f1d" datatype="html">
+        <source>crush rule '
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>'
+        </source>
+        <target>crush rule '
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="369462e5e018360e0600bb570866201ad5c3c8a8" datatype="html">
         <source>target '
           <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>'
@@ -4670,50 +5596,6 @@ lrc 纠删码插件创建的是局部校验块,这样只需较少的 OSD 即
           <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>
         </target>
       </trans-unit>
-      <trans-unit id="54bf6542e39412f83ec883266f443e31b304c937" datatype="html">
-        <source>Required rules for password complexity:
-    - must contain at least 8 characters
-    - cannot contain username
-    - cannot contain any keyword used in Ceph
-    - cannot contain any repetitive characters e.g. "aaa"
-    - cannot contain any sequencial characters e.g. "abc"
-    - must consist of characters from the following groups:
-      * alphabetic a-z, A-Z
-      * numbers 0-9
-      * special chars: !"#$%&amp; '()*+,-./:;&lt;=&gt;?@[\]^_`
-          <x id="INTERPOLATION" equiv-text="{{|}}"/>~
-      * any other characters (signs)
-        </source>
-        <target>Required rules for password complexity:
-    - must contain at least 8 characters
-    - cannot contain username
-    - cannot contain any keyword used in Ceph
-    - cannot contain any repetitive characters e.g. "aaa"
-    - cannot contain any sequencial characters e.g. "abc"
-    - must consist of characters from the following groups:
-      * alphabetic a-z, A-Z
-      * numbers 0-9
-      * special chars: !"#$%&amp; '()*+,-./:;&lt;=&gt;?@[\]^_`
-          <x id="INTERPOLATION" equiv-text="{{|}}"/>~
-      * any other characters (signs)
-        </target>
-      </trans-unit>
-      <trans-unit id="ba575e9364b43dc870e332265c5182bb357b7a49" datatype="html">
-        <source>Weak</source>
-        <target>Weak</target>
-      </trans-unit>
-      <trans-unit id="7e6c975ebea8b5f8b120905ca7acf9f8edf59d8e" datatype="html">
-        <source>OK</source>
-        <target>OK</target>
-      </trans-unit>
-      <trans-unit id="3f7349017a01eed18c3daf2b7295ca96ef442eb6" datatype="html">
-        <source>Strong</source>
-        <target>Strong</target>
-      </trans-unit>
-      <trans-unit id="a1e3aecc2022cb0ebed8575a24d0e29d2de815c6" datatype="html">
-        <source>Very strong</source>
-        <target>Very strong</target>
-      </trans-unit>
     </body>
   </file>
 </xliff>
\ No newline at end of file
index d795ba80932ba0ceb97a15bd0c2442d82d8298d7..f053089156d628a220eeb1997656340dca011a8d 100644 (file)
         <source>Logs</source>
         <target>記錄</target>
       </trans-unit>
-      <trans-unit id="9fe218829514884cdd0ca2300573a4e0428c324f" datatype="html">
-        <source>Alerts</source>
-        <target>警示</target>
-      </trans-unit>
-      <trans-unit id="aa0c44aa1e5727061baa91e954f77e2f5f9a37c9" datatype="html">
-        <source>Silences</source>
-        <target>Silences</target>
+      <trans-unit id="17fc3efe5f9fa4e0289c900cb6202265215a1a27" datatype="html">
+        <source>Monitoring</source>
+        <target>Monitoring</target>
       </trans-unit>
       <trans-unit id="92899fa68e8ca108912163ff58edc8540e453787" datatype="html">
         <source>Pools</source>
       </trans-unit>
       <trans-unit id="b0b07bb6b7ff21ede439dd04eaf8872d1ecb84d8" datatype="html">
         <source>Remove notification</source>
-        <target>Remove notification</target>
+        <target>刪除通知</target>
       </trans-unit>
       <trans-unit id="e17a1d75189da843f541f7764f188f2b19a97df2" datatype="html">
         <source>Duration:</source>
       </trans-unit>
       <trans-unit id="0d4b37c6675c5b436a54c43d6716eec835e1aa7f" datatype="html">
         <source>There are no notifications.</source>
-        <target>There are no notifications.</target>
+        <target>沒有通知。</target>
       </trans-unit>
       <trans-unit id="0a23e992f6c6e169a38b2b7338b4e5e803b52e0d" datatype="html">
         <source>Tasks and Notifications</source>
-        <target>Tasks and Notifications</target>
+        <target>任務與通知</target>
       </trans-unit>
       <trans-unit id="3fb5709e10166cbc85970cbff103db227dbeb813" datatype="html">
         <source>Select a Language</source>
       </trans-unit>
       <trans-unit id="c8d1785038d461ec66b5799db21864182b35900a" datatype="html">
         <source>Refresh</source>
-        <target>Refresh</target>
+        <target>刷新</target>
       </trans-unit>
       <trans-unit id="6c947210e2d162b6225083d18820ab602f58cd2d" datatype="html">
         <source>Remove the custom configuration value. The default configuration will be inherited and used instead.</source>
         <source>Back</source>
         <target>返回</target>
       </trans-unit>
+      <trans-unit id="9ce641535be1ffa106c87724ba0637facaef5f61" datatype="html">
+        <source>Your password will expire in 
+          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>less than 1
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day. Click
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.
+        </source>
+        <target>Your password will expire in 
+          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>less than 1
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day. Click
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.
+        </target>
+      </trans-unit>
+      <trans-unit id="c2f34088c155e40ffb23770a465a65868ce772b2" datatype="html">
+        <source>Your password will expire in 
+          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
+          <x id="INTERPOLATION" equiv-text="{{ expirationDays }}"/>
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day(s). Click
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.
+        </source>
+        <target>Your password will expire in 
+          <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
+          <x id="INTERPOLATION" equiv-text="{{ expirationDays }}"/>
+          <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> day(s). Click
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>here
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> to change it now.
+        </target>
+      </trans-unit>
+      <trans-unit id="9b516f972c744779257310b73f6e97438b726707" datatype="html">
+        <source>Orchestrator is not available. Please consult the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to
+  configure and enable the functionality.
+        </source>
+        <target>Orchestrator is not available. Please consult the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to
+  configure and enable the functionality.
+        </target>
+      </trans-unit>
       <trans-unit id="012741ee52b3c050e4a977c37cc2334f7974f141" datatype="html">
         <source>Failed to load data.</source>
         <target>無法載入資料。</target>
       </trans-unit>
+      <trans-unit id="1e5e23363e949f7dcbaf034bdb141a561132a10e" datatype="html">
+        <source>Clear filters</source>
+        <target>Clear filters</target>
+      </trans-unit>
       <trans-unit id="80cc9a12d4bf6fe454ed94b379eeaf915f920bb7" datatype="html">
         <source>selected</source>
         <target>選取的數目</target>
         <source>Values</source>
         <target>值</target>
       </trans-unit>
+      <trans-unit id="5894f7158499fdb89527af50c9f1cf7d4c95cad6" datatype="html">
+        <source>-- Default --</source>
+        <target>-- Default --</target>
+      </trans-unit>
+      <trans-unit id="514f6e12d035a6d9b00de6b3e55c18b73488da07" datatype="html">
+        <source>true</source>
+        <target>true</target>
+      </trans-unit>
+      <trans-unit id="774f5e6a183dea08393789b6f72e86afad729419" datatype="html">
+        <source>false</source>
+        <target>false</target>
+      </trans-unit>
       <trans-unit id="82029b6db704c56a2aa3e82ac555b8655356b077" datatype="html">
         <source>The entered value is too high! It must not be greater than 
           <x id="INTERPOLATION" equiv-text="{{ maxValue }}"/>.
         <source>Cancel</source>
         <target>取消</target>
       </trans-unit>
+      <trans-unit id="55a2f26b2e87886d9b8015a887e38e51ab2a866a" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>
+          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>
+          <x id="INTERPOLATION_1" equiv-text="{{ itemDescription }}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8" datatype="html">
+        <source>Close</source>
+        <target>關閉</target>
+      </trans-unit>
       <trans-unit id="40661476cb24c89d8b06614998e31d5fbe84eeb6" datatype="html">
         <source>Hosts List</source>
         <target>主機清單</target>
         <source>Overall Performance</source>
         <target>整體效能</target>
       </trans-unit>
-      <trans-unit id="6bc15dc1a621b6ff7378db7fd3ac10b2a2627c77" datatype="html">
-        <source>Please consult the
-          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
-          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to
-  configure and enable the orchestrator functionality.
-        </source>
-        <target>Please consult the
-          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
-          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on how to
-  configure and enable the orchestrator functionality.
-        </target>
-      </trans-unit>
       <trans-unit id="3e24569eca61d598c8b01defbbbb1fa8bd5222bc" datatype="html">
         <source>Devices</source>
         <target>Devices</target>
         <source>Not In Quorum</source>
         <target>非仲裁成員</target>
       </trans-unit>
+      <trans-unit id="4383e9662ea19839c7499b2128d43a195e564317" datatype="html">
+        <source>OSD creation preview</source>
+        <target>OSD creation preview</target>
+      </trans-unit>
+      <trans-unit id="366225c51e0b00bcb1c55795a0dc5e81c455f84e" datatype="html">
+        <source>DriveGroups</source>
+        <target>DriveGroups</target>
+      </trans-unit>
+      <trans-unit id="8edc89137d0d8c5667a2f03230beafae45e58429" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{ deviceType }}"/> devices
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{ deviceType }}"/> devices
+        </target>
+      </trans-unit>
+      <trans-unit id="eba28e1805b18f7c8ae2e4bc15dcf063b10b3822" datatype="html">
+        <source>At least one of these filters must be applied in order to proceed:</source>
+        <target>At least one of these filters must be applied in order to proceed:</target>
+      </trans-unit>
+      <trans-unit id="93389aa2fe2bea50bf89554ee51b28f87ee2fb50" datatype="html">
+        <source>Number of devices: 
+          <x id="INTERPOLATION" equiv-text="{{ filteredDevices.length }}"/>. Raw capacity:
+          <x id="INTERPOLATION_1" equiv-text="{{ capacity | dimlessBinary }}"/>.
+        </source>
+        <target>Number of devices: 
+          <x id="INTERPOLATION" equiv-text="{{ filteredDevices.length }}"/>. Raw capacity:
+          <x id="INTERPOLATION_1" equiv-text="{{ capacity | dimlessBinary }}"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="ccb4f84edc0b4e76415bb3f9b73d725b06683af3" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{ name }}"/> devices
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{ name }}"/> devices
+        </target>
+      </trans-unit>
+      <trans-unit id="60cb3d01e5ddf266ecb4271007a1c3d0f3efdc22" datatype="html">
+        <source>The primary storage devices. These devices contain all OSD data.</source>
+        <target>The primary storage devices. These devices contain all OSD data.</target>
+      </trans-unit>
+      <trans-unit id="b432e04886d0d1fd84f740477383051f85addcf2" datatype="html">
+        <source>Write-Ahead-Log devices. These devices are used for BlueStore’s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device.</source>
+        <target>Write-Ahead-Log devices. These devices are used for BlueStore’s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device.</target>
+      </trans-unit>
+      <trans-unit id="b87e181ab9e8393aa5ed759dd3d53836e32c8ffe" datatype="html">
+        <source>DB devices can be used for storing BlueStore’s internal metadata.  It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD).</source>
+        <target>DB devices can be used for storing BlueStore’s internal metadata.  It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD).</target>
+      </trans-unit>
+      <trans-unit id="f6755cff4957d5c3c89bafce5651f1b6fa2b1fd9" datatype="html">
+        <source>Add</source>
+        <target>新增</target>
+      </trans-unit>
+      <trans-unit id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46" datatype="html">
+        <source>Clear</source>
+        <target>Clear</target>
+      </trans-unit>
+      <trans-unit id="7e0fd3c7af0630f93befa6234a693a32a61084e0" datatype="html">
+        <source>Raw capacity: 
+          <x id="INTERPOLATION" equiv-text="{{ capacity | dimlessBinary }}"/>
+        </source>
+        <target>Raw capacity: 
+          <x id="INTERPOLATION" equiv-text="{{ capacity | dimlessBinary }}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="43ecf6bee2aebc07b0aad6dc1fe13e38d14687fa" datatype="html">
+        <source>Shared devices</source>
+        <target>Shared devices</target>
+      </trans-unit>
+      <trans-unit id="7a1c376f6f1b37de4c318ff2106255ba6c0f5b0b" datatype="html">
+        <source>WAL slots</source>
+        <target>WAL slots</target>
+      </trans-unit>
+      <trans-unit id="73811a6f37b63e6b0e491e221bfa21e9dea8a87a" datatype="html">
+        <source>How many OSDs per WAL device.</source>
+        <target>How many OSDs per WAL device.</target>
+      </trans-unit>
+      <trans-unit id="0c67a7ac4762ef1cc855056c6b4daab93e53a0a5" datatype="html">
+        <source>Specify 0 to let Orchestrator backend decide it.</source>
+        <target>Specify 0 to let Orchestrator backend decide it.</target>
+      </trans-unit>
+      <trans-unit id="7bda9362e06e6c67341b4a8425b0d29d6b84464b" datatype="html">
+        <source>Value should be greater than or equal to 0</source>
+        <target>Value should be greater than or equal to 0</target>
+      </trans-unit>
+      <trans-unit id="324c2b10152b9dd908222bb0b71f61beb60a30c5" datatype="html">
+        <source>DB slots</source>
+        <target>DB slots</target>
+      </trans-unit>
+      <trans-unit id="c23cf12ef9c76f37fc7a4b7ae3e00fb0f68b6e26" datatype="html">
+        <source>How many OSDs per DB device.</source>
+        <target>How many OSDs per DB device.</target>
+      </trans-unit>
+      <trans-unit id="6cdb1fea93d77c07950c0c76c6e0ad79ebbef084" datatype="html">
+        <source>Features</source>
+        <target>功能</target>
+      </trans-unit>
+      <trans-unit id="3e2a583f531f7dd9f089f68a6968e444c372c3e8" datatype="html">
+        <source>Preview</source>
+        <target>Preview</target>
+      </trans-unit>
       <trans-unit id="5ef50ba2514414f799d4c8fc36067a251904ba81" datatype="html">
         <source>Cluster-wide OSD Flags</source>
         <target>叢集範圍的 OSD 旗標</target>
         <source>{VAR_SELECT, select, 1 {Deep } }</source>
         <target>{VAR_SELECT, select, 1 {深層} }</target>
       </trans-unit>
-      <trans-unit id="2613498e8e5853c26a1cc62ae8dc673d1fdf0e2a" datatype="html">
+      <trans-unit id="fd0a4b6eed32e3488eccdc9c13f9841f08cc275e" datatype="html">
         <source>You are about to apply a 
           <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to
           the OSD(s): 
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
-          <x id="INTERPOLATION" equiv-text="{{ selected | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ selected | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.
         </source>
         <target>You are about to apply a 
           <x id="ICU" equiv-text="{deep, select, 1 {...}}"/>scrub to
           the OSD(s): 
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
-          <x id="INTERPOLATION" equiv-text="{{ selected | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ selected | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>.
         </target>
       </trans-unit>
         <source>OSDs List</source>
         <target>OSD 清單</target>
       </trans-unit>
-      <trans-unit id="c402e6ec1c6792ede81f56c28eee8955860391c8" datatype="html">
+      <trans-unit id="d5707a32ba9c1138e6423498fb0b24e970ebd19f" datatype="html">
         <source>
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) 
-          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
           <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>
         </source>
         <target>
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD(s) 
-          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{  getSelectedOsdIds() | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be marked
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
           <x id="INTERPOLATION_1" equiv-text="{{ markActionDescription }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.
         </target>
       </trans-unit>
-      <trans-unit id="d2797d01ba86f5df03d875803e49e648a4027869" datatype="html">
+      <trans-unit id="d08c1e4f17dffc0ed1ac2e2e2875cb8b569eeb35" datatype="html">
         <source>The 
-          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to destroy!
+          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to be 
+          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>! 
+          <x id="INTERPOLATION_1" equiv-text="{{ message }}"/>
         </source>
         <target>The 
-          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to destroy!
+          <x id="ICU" equiv-text="{selection.hasSingleSelection, select, 0 {...} 1 {...}}"/> not safe to be 
+          <x id="INTERPOLATION" equiv-text="{{ actionDescription }}"/>! 
+          <x id="INTERPOLATION_1" equiv-text="{{ message }}"/>
         </target>
       </trans-unit>
       <trans-unit id="e776996dac651ef3819bfa767ccf2a0613759f47" datatype="html">
         <source>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</source>
         <target>{VAR_SELECT, select, 0 {OSDs are} 1 {OSD is} }</target>
       </trans-unit>
-      <trans-unit id="1e2c50ed3c3934ef068976dc7f38513cec29d515" datatype="html">
+      <trans-unit id="5cd6a031937412c42e5efa1e6959cb72ac08c720" datatype="html">
         <source>
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD 
-          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
           <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>
         </source>
         <target>
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>OSD 
-          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | list }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ getSelectedOsdIds() | join }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> will be
           <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>
           <x id="INTERPOLATION_1" equiv-text="{{ actionDescription }}"/>
           <x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> if you proceed.
         </target>
       </trans-unit>
-      <trans-unit id="4f8b2bb476981727ab34ed40fde1218361f92c45" datatype="html">
-        <source>Details</source>
-        <target>詳細資料</target>
+      <trans-unit id="3eda19b44809820fffd5d3753bafb7243116f4b0" datatype="html">
+        <source>To see all active Prometheus alerts, please
+      provide the URL to the API of Prometheus' Alertmanager as described in the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.
+        </source>
+        <target>To see all active Prometheus alerts, please
+      provide the URL to the API of Prometheus' Alertmanager as described in the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="880ad4df5a2051a437321443d69c9a866699e5ad" datatype="html">
+        <source>Active Alerts</source>
+        <target>Active Alerts</target>
+      </trans-unit>
+      <trans-unit id="8e5e0e09a11990d343926ed693574213d703c38d" datatype="html">
+        <source>All Alerts</source>
+        <target>All Alerts</target>
+      </trans-unit>
+      <trans-unit id="526938c2b7945cb0d68328c24bd77730230cd455" datatype="html">
+        <source>To enable Silences, please provide the URL to the API of the Prometheus' Alertmanager as
+      described in the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.
+        </source>
+        <target>To enable Silences, please provide the URL to the API of the Prometheus' Alertmanager as
+      described in the
+          <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation
+          <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="aa0c44aa1e5727061baa91e954f77e2f5f9a37c9" datatype="html">
+        <source>Silences</source>
+        <target>Silences</target>
       </trans-unit>
       <trans-unit id="8501055865d7031b5521a0c5467532648009a61d" datatype="html">
         <source>Matcher</source>
         <source>{VAR_SELECT, select, 1 {Update} other {Add} }</source>
         <target>{VAR_SELECT, select, 1 {Update} other {Add} }</target>
       </trans-unit>
-      <trans-unit id="f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8" datatype="html">
-        <source>Close</source>
-        <target>關閉</target>
-      </trans-unit>
       <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c" datatype="html">
         <source>Edit</source>
         <target>編輯</target>
         <source>End time</source>
         <target>End time</target>
       </trans-unit>
-      <trans-unit id="dbe739ec8c99a0132e326067ffec9c0ee06b2655" datatype="html">
-        <source>Matchers
-          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>*
-          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>
-        </source>
-        <target>Matchers
-          <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>*
-          <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/>
-        </target>
+      <trans-unit id="992123459137d45c15df5548bc9682aad835c04b" datatype="html">
+        <source>Matchers</source>
+        <target>Matchers</target>
       </trans-unit>
       <trans-unit id="3e023166c55833d5a13f4143e3dbe372befe1b4e" datatype="html">
         <source>A silence requires at least one matcher</source>
         <source>CephFS</source>
         <target>CephFS</target>
       </trans-unit>
+      <trans-unit id="0eb15f32b2b92d7f3103ef3ff032621888a8dc32" datatype="html">
+        <source>Old password</source>
+        <target>Old password</target>
+      </trans-unit>
+      <trans-unit id="1cf42e491adc166a337a960eb84d03c0c3f677c8" datatype="html">
+        <source>The old and new passwords must be different.</source>
+        <target>The old and new passwords must be different.</target>
+      </trans-unit>
+      <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229" datatype="html">
+        <source>New password</source>
+        <target>New password</target>
+      </trans-unit>
+      <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b" datatype="html">
+        <source>Confirm new password</source>
+        <target>Confirm new password</target>
+      </trans-unit>
+      <trans-unit id="90163a3d3746819aef42e829f4446331232f3b66" datatype="html">
+        <source>Password confirmation doesn't match the new password.</source>
+        <target>Password confirmation doesn't match the new password.</target>
+      </trans-unit>
+      <trans-unit id="d06ae77f9ec46a4cdd49e7e76c73a411aaf2ee38" datatype="html">
+        <source>Please set a new password.</source>
+        <target>Please set a new password.</target>
+      </trans-unit>
+      <trans-unit id="8b5b3566e88438f51bd5f6caf6c090ed565ba5ed" datatype="html">
+        <source>You will be redirected to the login page afterwards.</source>
+        <target>You will be redirected to the login page afterwards.</target>
+      </trans-unit>
       <trans-unit id="449dca3d3a93ead418b0541ea81b0dda7e6483c2" datatype="html">
         <source>Welcome to Ceph!</source>
         <target>歡迎使用 Ceph!</target>
           <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. You'll be logged out from the Identity Provider when you retry logging in.
         </target>
       </trans-unit>
-      <trans-unit id="0eb15f32b2b92d7f3103ef3ff032621888a8dc32" datatype="html">
-        <source>Old password</source>
-        <target>Old password</target>
-      </trans-unit>
-      <trans-unit id="1cf42e491adc166a337a960eb84d03c0c3f677c8" datatype="html">
-        <source>The old and new passwords must be different.</source>
-        <target>The old and new passwords must be different.</target>
-      </trans-unit>
-      <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229" datatype="html">
-        <source>New password</source>
-        <target>New password</target>
-      </trans-unit>
-      <trans-unit id="595ebc9279497f6dc733777e2816bee936901388" datatype="html">
-        <source>Too weak</source>
-        <target>Too weak</target>
-      </trans-unit>
-      <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b" datatype="html">
-        <source>Confirm new password</source>
-        <target>Confirm new password</target>
-      </trans-unit>
-      <trans-unit id="90163a3d3746819aef42e829f4446331232f3b66" datatype="html">
-        <source>Password confirmation doesn't match the new password.</source>
-        <target>Password confirmation doesn't match the new password.</target>
-      </trans-unit>
       <trans-unit id="471e78026c258073ba687478dc54c35d9041ea42" datatype="html">
         <source>Forbidden</source>
         <target>已禁止</target>
         <source>Sorry, you are not allowed to see what you were looking for.</source>
         <target>抱歉,您無權查看您要尋找的內容。</target>
       </trans-unit>
-      <trans-unit id="e3c028c58f92453d46f09b5adf95b2f013ee0300" datatype="html">
-        <source>Sorry, we could not find what you were looking for</source>
-        <target>抱歉,我們找不到您要尋找的內容。</target>
+      <trans-unit id="2240b985f17293d84cc8532fe86994aa5f63667c" datatype="html">
+        <source>Sorry, we could not find what you were looking for.</source>
+        <target>Sorry, we could not find what you were looking for.</target>
+      </trans-unit>
+      <trans-unit id="ac54c18c1b520e948095c83a3a1025f02ce6dcc6" datatype="html">
+        <source>Neither hostname nor OSD ID given</source>
+        <target>Neither hostname nor OSD ID given</target>
+      </trans-unit>
+      <trans-unit id="4f635b3cb0600409a2ad44a5bd1863c699e6a01c" datatype="html">
+        <source>Failed to retrieve SMART data.</source>
+        <target>Failed to retrieve SMART data.</target>
+      </trans-unit>
+      <trans-unit id="d82a9af5b05e7cd17640f196f163771685ff8df6" datatype="html">
+        <source>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</source>
+        <target>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</target>
+      </trans-unit>
+      <trans-unit id="04f8a3c7e8ac610e6581960162cc15f55a16696a" datatype="html">
+        <source>No SMART data available.</source>
+        <target>No SMART data available.</target>
+      </trans-unit>
+      <trans-unit id="3a03d3c2e459f8f8fa7202c0fce465d6165f9e2b" datatype="html">
+        <source>passed</source>
+        <target>passed</target>
+      </trans-unit>
+      <trans-unit id="a185c9b97513b3882604ea9bab60edbfac945c15" datatype="html">
+        <source>SMART overall-health self-assessment test result</source>
+        <target>SMART overall-health self-assessment test result</target>
+      </trans-unit>
+      <trans-unit id="41435d5a5692c8e412c74deaee95d99dbd3617e1" datatype="html">
+        <source>failed</source>
+        <target>failed</target>
+      </trans-unit>
+      <trans-unit id="ddd5dd6d930030096ea617f62c82b648a0dd9484" datatype="html">
+        <source>Device Information</source>
+        <target>Device Information</target>
+      </trans-unit>
+      <trans-unit id="380295f37caea93701d071485a38ef0bdba57133" datatype="html">
+        <source>No SMART data available for this device.</source>
+        <target>No SMART data available for this device.</target>
+      </trans-unit>
+      <trans-unit id="20cb12827cbe559a7b1da6fdae96041b3b5c3c55" datatype="html">
+        <source>SMART</source>
+        <target>SMART</target>
+      </trans-unit>
+      <trans-unit id="5758c3f16f8749f0f4e2a787f02e8b4da246102f" datatype="html">
+        <source>SMART data is loading.</source>
+        <target>SMART data is loading.</target>
       </trans-unit>
       <trans-unit id="a949d7e577902d0e5dc5d0971bb0170a21be7728" datatype="html">
         <source>[object Object]</source>
         <source>The chosen erasure code profile name is already in use.</source>
         <target>所選的糾刪碼設定檔名稱已在使用中。</target>
       </trans-unit>
+      <trans-unit id="35a4206db3105ed03e0dd799e1642b75b78123e8" datatype="html">
+        <source>Root</source>
+        <target>Root</target>
+      </trans-unit>
+      <trans-unit id="cf425784c7073c7e7f7c1bb90c2c19db7e751db2" datatype="html">
+        <source>Failure domain type</source>
+        <target>Failure domain type</target>
+      </trans-unit>
+      <trans-unit id="72396a9565cf644d1fe1b21b790c4243ee270986" datatype="html">
+        <source>Device class</source>
+        <target>Device class</target>
+      </trans-unit>
+      <trans-unit id="72d80e0c07bfea1b693a33ef2245007de92a6780" datatype="html">
+        <source>Let Ceph decide</source>
+        <target>Let Ceph decide</target>
+      </trans-unit>
       <trans-unit id="ef9ff0e6227947b48dfab4ac39ade04af758913b" datatype="html">
         <source>Plugin</source>
         <target>外掛程式</target>
         <target>It's not possible to create an RBD pool with '/' in the name.
               Please change the name or remove 'rbd' from the applications list.</target>
       </trans-unit>
+      <trans-unit id="171dc6d5c6bc4615d99778b0088cae80fd00bd10" datatype="html">
+        <source>Pool name can only contain letters, numbers, '.', '-', '_' or '/'.</source>
+        <target>Pool name can only contain letters, numbers, '.', '-', '_' or '/'.</target>
+      </trans-unit>
       <trans-unit id="b85c657469e5ec8231c3de99b22f437bc01ffde5" datatype="html">
         <source>Pool type</source>
         <target>池類型</target>
         <source>-- Select a pool type --</source>
         <target>-- 選取池類型 --</target>
       </trans-unit>
+      <trans-unit id="6abfbe47b630929d93c7343dc154599c2e59330a" datatype="html">
+        <source>PG Autoscale</source>
+        <target>PG Autoscale</target>
+      </trans-unit>
       <trans-unit id="0aa21053410a94aa61d16985a4e95fd65523430d" datatype="html">
         <source>Placement groups</source>
         <target>放置群組</target>
         <target>The current PGs settings were calculated for you, you
                 should make sure the values suit your needs before submit.</target>
       </trans-unit>
-      <trans-unit id="33150f22ce5348aa6c499bd092c3f4f3695d62cc" datatype="html">
-        <source>Crush ruleset</source>
-        <target>CRUSH 規則集</target>
-      </trans-unit>
-      <trans-unit id="73a6b31116b3cc322af951daa0bafdc169e6c42e" datatype="html">
-        <source>-- Select a crush rule --</source>
-        <target>-- 選取 CRUSH 規則 --</target>
-      </trans-unit>
-      <trans-unit id="92da80699921e89fb19372e25b8d0f3b9fa427fc" datatype="html">
-        <source>Crush rule</source>
-        <target>CRUSH 規則</target>
-      </trans-unit>
-      <trans-unit id="5489e9f96835f469f6f728a00d8efa88ea5bc940" datatype="html">
-        <source>Crush steps</source>
-        <target>CRUSH 步驟</target>
-      </trans-unit>
-      <trans-unit id="54a53b1b402aafff5b992ee9b64e409fbfe9074f" datatype="html">
-        <source>The rule can't be used in the current cluster as it has
-                to few OSDs to meet the minimum required OSD by this rule.</source>
-        <target>無法在目前的叢集中使用此規則,因為叢集的
-                OSD 數量過少,無法滿足規則所需的最低 OSD 數量。</target>
-      </trans-unit>
       <trans-unit id="a43b2695131b48b76cebba676aba98a2bee17515" datatype="html">
         <source>Replicated size</source>
         <target>複製大小</target>
           <x id="INTERPOLATION_1" equiv-text="{{ getMaxSize() }}"/> is valid.
         </target>
       </trans-unit>
+      <trans-unit id="920617c6a1a4805e53bcb5af6a9c76f8387e89c6" datatype="html">
+        <source>Flags</source>
+        <target>旗標</target>
+      </trans-unit>
+      <trans-unit id="1c870fb00256b8a5b9cb9cd1a124e6390b9bc639" datatype="html">
+        <source>EC Overwrites</source>
+        <target>EC 覆寫</target>
+      </trans-unit>
+      <trans-unit id="f1abafaeb40ce52355ddcc24686e3cd17b64e08a" datatype="html">
+        <source>Applications</source>
+        <target>應用程式</target>
+      </trans-unit>
+      <trans-unit id="fb9308b82fc183f710df60909f49cfc73aa5e076" datatype="html">
+        <source>CRUSH</source>
+        <target>CRUSH</target>
+      </trans-unit>
       <trans-unit id="9de7dde00e2139cc4bd03b1837afbe72ad15a1ff" datatype="html">
         <source>Erasure code profile</source>
         <target>糾刪碼設定檔</target>
         <source>-- Select an erasure code profile --</source>
         <target>-- 選取糾刪碼設定檔 --</target>
       </trans-unit>
-      <trans-unit id="920617c6a1a4805e53bcb5af6a9c76f8387e89c6" datatype="html">
-        <source>Flags</source>
-        <target>旗標</target>
+      <trans-unit id="33150f22ce5348aa6c499bd092c3f4f3695d62cc" datatype="html">
+        <source>Crush ruleset</source>
+        <target>CRUSH 規則集</target>
       </trans-unit>
-      <trans-unit id="1c870fb00256b8a5b9cb9cd1a124e6390b9bc639" datatype="html">
-        <source>EC Overwrites</source>
-        <target>EC 覆寫</target>
+      <trans-unit id="c69b0bcd4698aa845d32c4c4ad488492552cb469" datatype="html">
+        <source>A new crush ruleset will be implicitly created.</source>
+        <target>A new crush ruleset will be implicitly created.</target>
       </trans-unit>
-      <trans-unit id="f1abafaeb40ce52355ddcc24686e3cd17b64e08a" datatype="html">
-        <source>Applications</source>
-        <target>應用程式</target>
+      <trans-unit id="896e9987db5e9bb279e6deed5d2dff28c242ef66" datatype="html">
+        <source>There are no rules.</source>
+        <target>There are no rules.</target>
+      </trans-unit>
+      <trans-unit id="73a6b31116b3cc322af951daa0bafdc169e6c42e" datatype="html">
+        <source>-- Select a crush rule --</source>
+        <target>-- 選取 CRUSH 規則 --</target>
+      </trans-unit>
+      <trans-unit id="ea91d648f92002bc9f96d9b26b735c83ca0b53c6" datatype="html">
+        <source>This rule can't be deleted as it is in use.</source>
+        <target>This rule can't be deleted as it is in use.</target>
+      </trans-unit>
+      <trans-unit id="92da80699921e89fb19372e25b8d0f3b9fa427fc" datatype="html">
+        <source>Crush rule</source>
+        <target>CRUSH 規則</target>
+      </trans-unit>
+      <trans-unit id="5489e9f96835f469f6f728a00d8efa88ea5bc940" datatype="html">
+        <source>Crush steps</source>
+        <target>CRUSH 步驟</target>
+      </trans-unit>
+      <trans-unit id="fc5f5496a9e50fe69e1a09784f28d94944108294" datatype="html">
+        <source>Rule is not in use.</source>
+        <target>Rule is not in use.</target>
+      </trans-unit>
+      <trans-unit id="023d6f718770d2ea4ab8cabe26b0ec27ef967ec2" datatype="html">
+        <source>Used by pools</source>
+        <target>Used by pools</target>
+      </trans-unit>
+      <trans-unit id="104a0e6900d1d1b0c8cf9e5947e36edb352583fc" datatype="html">
+        <source>The rule can't be used in the current cluster as it has
+                  too few OSDs to meet the minimum required OSD by this rule.</source>
+        <target>The rule can't be used in the current cluster as it has
+                  too few OSDs to meet the minimum required OSD by this rule.</target>
       </trans-unit>
       <trans-unit id="2208d63d5940ce656006a220102b1eb2b5e553da" datatype="html">
         <source>Compression</source>
         <source>The value should be greater or equal to 0</source>
         <target>The value should be greater or equal to 0</target>
       </trans-unit>
+      <trans-unit id="4f8b2bb476981727ab34ed40fde1218361f92c45" datatype="html">
+        <source>Details</source>
+        <target>詳細資料</target>
+      </trans-unit>
       <trans-unit id="fbbaf5cb02ed419e79a27072478f716a4666a99d" datatype="html">
         <source>Performance Details</source>
         <target>效能詳細資料</target>
         <source>Cache Tiers Details</source>
         <target>快取層詳細資料</target>
       </trans-unit>
+      <trans-unit id="ecbc084370a732fc3cde1966a60af78d71424ab4" datatype="html">
+        <source>Create Bootstrap Token</source>
+        <target>Create Bootstrap Token</target>
+      </trans-unit>
+      <trans-unit id="603e9cc3ef2aab57f2b0a00e465b23b9cabefd9c" datatype="html">
+        <source>To create a bootstrap token which can be imported
+          by a peer site cluster, provide the local site's name, select
+          which pools will have mirroring enabled, and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Generate
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </source>
+        <target>To create a bootstrap token which can be imported
+          by a peer site cluster, provide the local site's name, select
+          which pools will have mirroring enabled, and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Generate
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="660f97cd3188f8a04bd03b79e703fec72c6df04c" datatype="html">
+        <source>Site Name</source>
+        <target>Site Name</target>
+      </trans-unit>
+      <trans-unit id="8c2a1dc72cffaf7ab3dc5599bf77b0a7fcad2b20" datatype="html">
+        <source>At least one pool is required.</source>
+        <target>At least one pool is required.</target>
+      </trans-unit>
+      <trans-unit id="1b258b258b4cc475ceb2871305b61756b0134f4a" datatype="html">
+        <source>Generate</source>
+        <target>Generate</target>
+      </trans-unit>
+      <trans-unit id="1edc1fc6cfbbb22353050ad6788508b3ed584f53" datatype="html">
+        <source>Token</source>
+        <target>Token</target>
+      </trans-unit>
+      <trans-unit id="ff785f5596aef34a93b9b4d1023e95c62eef5740" datatype="html">
+        <source>Generated token...</source>
+        <target>Generated token...</target>
+      </trans-unit>
+      <trans-unit id="5467a6bb0e7fade6def7499400d5e2a7d8d3da20" datatype="html">
+        <source>Import Bootstrap Token</source>
+        <target>Import Bootstrap Token</target>
+      </trans-unit>
+      <trans-unit id="9bb7aee0dec5164f45c0aa2f35f2fb2149d2c1d2" datatype="html">
+        <source>To import a bootstrap token which was created
+          by a peer site cluster, provide the local site's name, select
+          which pools will have mirroring enabled, provide the generated
+          token, and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Import
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </source>
+        <target>To import a bootstrap token which was created
+          by a peer site cluster, provide the local site's name, select
+          which pools will have mirroring enabled, provide the generated
+          token, and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Import
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="9200e09686136a1d42adfb89c12fbfef2deea125" datatype="html">
+        <source>Direction</source>
+        <target>Direction</target>
+      </trans-unit>
+      <trans-unit id="9761484679958da8d12841a4efa5964d33fae575" datatype="html">
+        <source>The token is invalid.</source>
+        <target>The token is invalid.</target>
+      </trans-unit>
+      <trans-unit id="a059709f71aa4c0ac219e160e78a738682ca6a36" datatype="html">
+        <source>Import</source>
+        <target>Import</target>
+      </trans-unit>
+      <trans-unit id="b87bd96249f8afc23f5301cddb57b1464a98e71a" datatype="html">
+        <source>Edit site name</source>
+        <target>Edit site name</target>
+      </trans-unit>
+      <trans-unit id="cfff72c667274c12eb1ff71eadc25871c10c42dc" datatype="html">
+        <source>Edit the site name and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </source>
+        <target>Edit the site name and click 
+          <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Update
+          <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="40b7acea5b43f45e0bbd1efeba5200af4687981d" datatype="html">
+        <source>Site Name:</source>
+        <target>Site Name:</target>
+      </trans-unit>
       <trans-unit id="f0b5d789d42c0e69348e5fe0037fcbf5b5fbbdcc" datatype="html">
         <source>Move an image to trash</source>
         <target>將影像移至垃圾桶</target>
       </trans-unit>
-      <trans-unit id="86301cf2044b1eda218483365f6b9de8dde5040b" datatype="html">
+      <trans-unit id="7ad22c1d4aab3b8946603cea62de266d5129ca10" datatype="html">
+        <source>This image contains snapshot(s), which will prevent it
+            from being removed after moved to trash.</source>
+        <target>This image contains snapshot(s), which will prevent it
+            from being removed after moved to trash.</target>
+      </trans-unit>
+      <trans-unit id="b4b3ced4f8aad4c446f348b14c3d94be2e2c350c" datatype="html">
         <source>To move 
           <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>
-          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>/
-          <x id="INTERPOLATION_1" equiv-text="{{ imageName }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ imageSpecStr }}"/>
           <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,
           click 
           <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image
         </source>
         <target>To move 
           <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>
-          <x id="INTERPOLATION" equiv-text="{{ poolName }}"/>/
-          <x id="INTERPOLATION_1" equiv-text="{{ imageName }}"/>
+          <x id="INTERPOLATION" equiv-text="{{ imageSpecStr }}"/>
           <x id="CLOSE_TAG_KBD" ctype="x-kbd" equiv-text="</kbd>"/> to trash,
           click 
           <x id="START_TAG_KBD" ctype="x-kbd" equiv-text="<kbd>"/>Move Image
         <source>Move Image</source>
         <target>移動影像</target>
       </trans-unit>
+      <trans-unit id="c9f1026c1235f4d76ace47449e806efd181ab332" datatype="html">
+        <source>Deleting this image will also delete all its snapshots.</source>
+        <target>Deleting this image will also delete all its snapshots.</target>
+      </trans-unit>
+      <trans-unit id="55f864597e84d9bf88769e1fbfda1d64452430c9" datatype="html">
+        <source>The following snapshots are currently protected and will be removed:</source>
+        <target>The following snapshots are currently protected and will be removed:</target>
+      </trans-unit>
       <trans-unit id="8a9910cd114c1deb9af74f6f99b4173403965bf2" datatype="html">
         <source>Gateways</source>
         <target>Gateways</target>
         <source>Object size</source>
         <target>物件大小</target>
       </trans-unit>
-      <trans-unit id="6cdb1fea93d77c07950c0c76c6e0ad79ebbef084" datatype="html">
-        <source>Features</source>
-        <target>功能</target>
-      </trans-unit>
       <trans-unit id="0a65771c9a73b9aa609d592fc96a64801a8f40bd" datatype="html">
         <source>Provisioned</source>
         <target>已佈建</target>
         <source>-- Select a pool --</source>
         <target>-- 選取池 --</target>
       </trans-unit>
+      <trans-unit id="d649904466254d13df1fbf2d255f0bbc6553d213" datatype="html">
+        <source>-- No namespaces available --</source>
+        <target>-- No namespaces available --</target>
+      </trans-unit>
+      <trans-unit id="e22d7bb4d2d561e0832ee0b9a3da2468a080c4f0" datatype="html">
+        <source>-- Select a namespace --</source>
+        <target>-- Select a namespace --</target>
+      </trans-unit>
       <trans-unit id="49449943d8cbf59d8c401c8bd2e76f92e207cc5f" datatype="html">
         <source>Use a dedicated data pool</source>
         <target>使用專屬的資料池</target>
         <source>Stripe count must be greater than 0.</source>
         <target>分割計數必須大於 0。</target>
       </trans-unit>
-      <trans-unit id="3f67f30568e9ae47507d46e28e1e82a7dca772e2" datatype="html">
-        <source>
-          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> RBD Snapshot
-        </source>
-        <target>
-          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> RBD Snapshot
-        </target>
-      </trans-unit>
-      <trans-unit id="1628d19a4490817c18be2afab410ca4adfa62ea7" datatype="html">
-        <source>{VAR_SELECT, select, true {Rename} other {Create} }</source>
-        <target>{VAR_SELECT, select, true {重新命名} other {建立} }</target>
+      <trans-unit id="2c07d24bb422aa8e5e568df1c5709083f0a9c8f1" datatype="html">
+        <source>Create Namespace</source>
+        <target>Create Namespace</target>
       </trans-unit>
-      <trans-unit id="73a287b41afe6b28f90edbeb98957a341a0276b4" datatype="html">
-        <source>
-          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> Snapshot
-        </source>
-        <target>
-          <x id="ICU" equiv-text="{ editing, select, true {...} other {...}}"/> Snapshot
-        </target>
-      </trans-unit>
-      <trans-unit id="cb60c1cd3655234756b5b92d4d597d92d520ee30" datatype="html">
-        <source>PROTECTED</source>
-        <target>PROTECTED</target>
-      </trans-unit>
-      <trans-unit id="deffb86b8fb0541254ad5a43862d82bff6b6a6c4" datatype="html">
-        <source>UNPROTECTED</source>
-        <target>未受保護</target>
+      <trans-unit id="0cca6c0485f96d3a9610d0339cb1275a5f2c3f46" datatype="html">
+        <source>Namespace already exists.</source>
+        <target>Namespace already exists.</target>
       </trans-unit>
       <trans-unit id="5c5331983af566d4ac6a1024d15a3511786a4aa6" datatype="html">
         <source>You are about to rollback</source>
         <source>Purge Trash</source>
         <target>清除垃圾桶</target>
       </trans-unit>
-      <trans-unit id="af728625d769b61acf291442644b89edb88faec3" datatype="html">
-        <source>To purge, select one or All images and click</source>
-        <target>若要清除,請選取一個或全部影像,然後按一下</target>
+      <trans-unit id="681501eecd7f44d4b7a2f619605b36676e04c5b6" datatype="html">
+        <source>To purge, select one or</source>
+        <target>To purge, select one or</target>
+      </trans-unit>
+      <trans-unit id="dfc3c34e182ea73c5d784ff7c8135f087992dac1" datatype="html">
+        <source>All</source>
+        <target>全部</target>
+      </trans-unit>
+      <trans-unit id="ea5d338dcef50ff5c24439fd784f6a67b594c33f" datatype="html">
+        <source>pools and click</source>
+        <target>pools and click</target>
       </trans-unit>
       <trans-unit id="55a4f598a4894b7fd5cb88f0ffd3c37ad009dd70" datatype="html">
         <source>Pool:</source>
         <source>Pool name...</source>
         <target>池名稱...</target>
       </trans-unit>
-      <trans-unit id="dfc3c34e182ea73c5d784ff7c8135f087992dac1" datatype="html">
-        <source>All</source>
-        <target>全部</target>
-      </trans-unit>
       <trans-unit id="b0e7c7ed1d51a0c205c815048bc9f79e24ee6db2" datatype="html">
         <source>Restore Image</source>
         <target>回存影像</target>
           <x id="INTERPOLATION" equiv-text="{{ expiresAt | cdDate }}"/>.
         </target>
       </trans-unit>
-      <trans-unit id="aba82bfd8e177d35b76cad7cd43941f8e5e5acac" datatype="html">
-        <source>Trash</source>
-        <target>垃圾桶</target>
-      </trans-unit>
       <trans-unit id="a674ab267d1934bf395f87ca1503fd474296893f" datatype="html">
         <source>iSCSI Topology</source>
         <target>iSCSI 拓撲</target>
       </trans-unit>
-      <trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html">
-        <source>Settings</source>
-        <target>設定</target>
+      <trans-unit id="051dcc342cfa5c1eaf187a2001aaa162379a160c" datatype="html">
+        <source>Configure</source>
+        <target>Configure</target>
       </trans-unit>
       <trans-unit id="9e515f954730279c31d5301f02479666d6264e8b" datatype="html">
         <source>Changing these parameters from their default values is usually not necessary.</source>
         <target>通常不需要變更這些參數的預設值。</target>
       </trans-unit>
+      <trans-unit id="4e2591df099ddac796cda401c5f282da779d45f2" datatype="html">
+        <source>Identifier</source>
+        <target>Identifier</target>
+      </trans-unit>
+      <trans-unit id="62480a4859976427cf18fc8ef41d3a438eda0412" datatype="html">
+        <source>lun</source>
+        <target>lun</target>
+      </trans-unit>
+      <trans-unit id="8afc9eb4405e0aa554b2ba14140ef790cdecc040" datatype="html">
+        <source>wwn</source>
+        <target>wwn</target>
+      </trans-unit>
+      <trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html">
+        <source>Settings</source>
+        <target>設定</target>
+      </trans-unit>
       <trans-unit id="69a47cbabcc51ca942606e1d8da0ec11f98a2690" datatype="html">
         <source>Backstore</source>
         <target>支援儲存</target>
         <source>Portals</source>
         <target>入口網站</target>
       </trans-unit>
+      <trans-unit id="6a3ac2b4137d723fd9878cd357c2012ff6c07973" datatype="html">
+        <source>Add portal</source>
+        <target>新增入口網站</target>
+      </trans-unit>
       <trans-unit id="c3638c01b6c34066438909713ec96087c813fc7e" datatype="html">
         <source>At least 
           <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.
           <x id="INTERPOLATION" equiv-text="{{ minimum_gateways }}"/> gateways are required.
         </target>
       </trans-unit>
-      <trans-unit id="6a3ac2b4137d723fd9878cd357c2012ff6c07973" datatype="html">
-        <source>Add portal</source>
-        <target>新增入口網站</target>
-      </trans-unit>
       <trans-unit id="9aff25be088f0efe3eaaf62edf2bff41cc41a617" datatype="html">
         <source>Backstore: 
           <x id="INTERPOLATION" equiv-text="{{ imagesSettings[image].backstore | iscsiBackstore }}"/>. 
         <source>This image has modified settings.</source>
         <target>此影像的設定存在修改。</target>
       </trans-unit>
-      <trans-unit id="107c84e820909b44fe258673938a68ced1bbff72" datatype="html">
-        <source>At least 1 image is required.</source>
-        <target>至少需要 1 個影像。</target>
+      <trans-unit id="1dff11e0820b6722ab240169f1232d70a54beaaa" datatype="html">
+        <source>Duplicated LUN numbers.</source>
+        <target>Duplicated LUN numbers.</target>
+      </trans-unit>
+      <trans-unit id="bf2dccf92ccff6e3b091792bf4205595406e1bfb" datatype="html">
+        <source>Duplicated WWN.</source>
+        <target>Duplicated WWN.</target>
       </trans-unit>
       <trans-unit id="808038f912fdc7f0e03f82d4afd3bf9178527fc8" datatype="html">
         <source>Add image</source>
         <source>Add group</source>
         <target>新增群組</target>
       </trans-unit>
+      <trans-unit id="c3a7e364a88ea4673199dfa98bc73e6dbe09dfac" datatype="html">
+        <source>Namespaces</source>
+        <target>Namespaces</target>
+      </trans-unit>
+      <trans-unit id="aba82bfd8e177d35b76cad7cd43941f8e5e5acac" datatype="html">
+        <source>Trash</source>
+        <target>垃圾桶</target>
+      </trans-unit>
       <trans-unit id="66db799d67958d4b0765181d072df62e2d1c16f5" datatype="html">
         <source>Issues</source>
         <target>問題</target>
         <source>Enables versioning for the objects in the bucket.</source>
         <target>Enables versioning for the objects in the bucket.</target>
       </trans-unit>
-      <trans-unit id="92f3f203270a29b3001871153f02c063484a1574" datatype="html">
-        <source>Suspended</source>
-        <target>已暫停</target>
+      <trans-unit id="9e6775ffd06878aa145c07359f28557f01ede04f" datatype="html">
+        <source>Multi-Factor Authentication</source>
+        <target>Multi-Factor Authentication</target>
+      </trans-unit>
+      <trans-unit id="29e8a5d4fb767d4ad0c762c81c6264cec4c0ba97" datatype="html">
+        <source>Delete enabled</source>
+        <target>Delete enabled</target>
+      </trans-unit>
+      <trans-unit id="40fbc3ac8c1ea4ecfe62247e91f1f999ad5baf76" datatype="html">
+        <source>Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state.</source>
+        <target>Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state.</target>
+      </trans-unit>
+      <trans-unit id="d24c93a8c13db46defa06ed7b5e026a3edb52b91" datatype="html">
+        <source>Token Serial Number</source>
+        <target>Token Serial Number</target>
+      </trans-unit>
+      <trans-unit id="e6d9536c2af2e5e9a228c3e3e1809dc1fefe0149" datatype="html">
+        <source>Token PIN</source>
+        <target>Token PIN</target>
+      </trans-unit>
+      <trans-unit id="7b84370895ab9eb44672f57146fa05c5947f1c0c" datatype="html">
+        <source>Locking</source>
+        <target>Locking</target>
+      </trans-unit>
+      <trans-unit id="f038d51ab1645f15b0cd58f195c72a7eeebd4729" datatype="html">
+        <source>Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket.</source>
+        <target>Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket.</target>
+      </trans-unit>
+      <trans-unit id="9af1b4baa2dd8ed2bfc3cc756b12a2271c2dd793" datatype="html">
+        <source>Compliance</source>
+        <target>Compliance</target>
+      </trans-unit>
+      <trans-unit id="edd600fa489d1b4a4448dce694ed932e52ce8fda" datatype="html">
+        <source>Governance</source>
+        <target>Governance</target>
+      </trans-unit>
+      <trans-unit id="a5c3d9d2296f7886e8289b9f623323803deacfc6" datatype="html">
+        <source>Days</source>
+        <target>Days</target>
       </trans-unit>
-      <trans-unit id="cd6a798fd0f85cd7e31a57c58074f25035d7850d" datatype="html">
-        <source>Disables versioning for the objects in the bucket.</source>
-        <target>Disables versioning for the objects in the bucket.</target>
+      <trans-unit id="218c7d6d318c51e7105309aaeb0baec9d19e4efb" datatype="html">
+        <source>The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</source>
+        <target>The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</target>
+      </trans-unit>
+      <trans-unit id="289b101ec12427b3ca819df9e43cc3b14fae2cc4" datatype="html">
+        <source>The entered value must be a positive integer.</source>
+        <target>The entered value must be a positive integer.</target>
+      </trans-unit>
+      <trans-unit id="def9fc628134d3a044b7c0ad2a83c846bdad56f1" datatype="html">
+        <source>Retention period requires either Days or Years.</source>
+        <target>Retention period requires either Days or Years.</target>
+      </trans-unit>
+      <trans-unit id="003c94fc143882ac8af6251a1595fe62978fe3e6" datatype="html">
+        <source>Years</source>
+        <target>Years</target>
+      </trans-unit>
+      <trans-unit id="14c6189ead0951f13049c7bf9af7642d0c41957a" datatype="html">
+        <source>The number of years that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</source>
+        <target>The number of years that you want to specify for the default retention period that will be applied to new objects placed in this bucket.</target>
       </trans-unit>
       <trans-unit id="45cc8ca94b5a50842a9a8ef804a5ab089a38ae5c" datatype="html">
         <source>ID</source>
         <source>Zonegroup</source>
         <target>區域群組</target>
       </trans-unit>
+      <trans-unit id="62a923f047ca49e7a4782629e91fea1ba32db68f" datatype="html">
+        <source>MFA Delete</source>
+        <target>MFA Delete</target>
+      </trans-unit>
       <trans-unit id="649a410bd0ace333d067d8fa22f12bdbdb43533b" datatype="html">
         <source>Bucket quota</source>
         <target>桶定額</target>
         <source>Email address</source>
         <target>電子郵件地址</target>
       </trans-unit>
+      <trans-unit id="92f3f203270a29b3001871153f02c063484a1574" datatype="html">
+        <source>Suspended</source>
+        <target>已暫停</target>
+      </trans-unit>
       <trans-unit id="8011e20c5bbe51602d459a860fbf29b599b55edd" datatype="html">
         <source>System</source>
         <target>系統</target>
         <source>Max. buckets</source>
         <target>最大桶數</target>
       </trans-unit>
-      <trans-unit id="623ac50f37a26caec6fd7cd519b653e3315cba25" datatype="html">
-        <source>The entered value must be &gt;= 0.</source>
-        <target>輸入的值必須大於或等於 0。</target>
+      <trans-unit id="f39256070bfc0714020dfee08895421fc1527014" datatype="html">
+        <source>Disabled</source>
+        <target>已停用</target>
+      </trans-unit>
+      <trans-unit id="a5c05002b0ac2040f1aede5e727e0ffd06eda819" datatype="html">
+        <source>Custom</source>
+        <target>自訂</target>
+      </trans-unit>
+      <trans-unit id="28872515cb81d197a3a1733fa546d3e0f0dd6c67" datatype="html">
+        <source>The entered value must be &gt;= 1.</source>
+        <target>The entered value must be &gt;= 1.</target>
       </trans-unit>
       <trans-unit id="583a219c524155c2314eb06ee29162bb315272a3" datatype="html">
         <source>S3 key</source>
           <x id="INTERPOLATION_1" equiv-text="{{ capabilityLabel | upperFirst }}"/>
         </target>
       </trans-unit>
+      <trans-unit id="f5a451c4ea65a4046f0b49d489a7013abf0b5861" datatype="html">
+        <source>All capabilities are already added.</source>
+        <target>All capabilities are already added.</target>
+      </trans-unit>
       <trans-unit id="6146e13ceca5fa5cc17b771b282fe5955f3d19fa" datatype="html">
         <source>Unlimited size</source>
         <target>大小不限</target>
         <source>Max. objects</source>
         <target>最大物件數</target>
       </trans-unit>
+      <trans-unit id="623ac50f37a26caec6fd7cd519b653e3315cba25" datatype="html">
+        <source>The entered value must be &gt;= 0.</source>
+        <target>輸入的值必須大於或等於 0。</target>
+      </trans-unit>
       <trans-unit id="1ea5c4d8942c00752dcc72e72949c5d9832f6399" datatype="html">
         <source>Description...</source>
         <target>描述...</target>
         <source>Password confirmation doesn't match the password.</source>
         <target>確認的密碼與之前輸入的密碼不符。</target>
       </trans-unit>
+      <trans-unit id="96621f9ed2e4ae5204564e583d2c816bedead571" datatype="html">
+        <source>Password expiration date</source>
+        <target>Password expiration date</target>
+      </trans-unit>
+      <trans-unit id="48932db3801fe9d5d72a60a3e656bffd17c1c5d9" datatype="html">
+        <source>Password expiration date...</source>
+        <target>Password expiration date...</target>
+      </trans-unit>
       <trans-unit id="244aae9346da82b0922506c2d2581373a15641cc" datatype="html">
         <source>Email</source>
         <target>電子郵件</target>
         <source>Invalid email.</source>
         <target>電子郵件無效。</target>
       </trans-unit>
+      <trans-unit id="8913c216dd506e20e412e144381d8d2a65a84359" datatype="html">
+        <source>User must change password at next logon</source>
+        <target>User must change password at next logon</target>
+      </trans-unit>
       <trans-unit id="0051a3479d3ba79135c16dc8cc017950a2cce821" datatype="html">
         <source>You are about to remove "user read / update" permissions from your own user.</source>
         <target>您正要為您自己的使用者移除「使用者讀取/寫入」許可權。</target>
         <source>Histogram</source>
         <target>長條圖</target>
       </trans-unit>
+      <trans-unit id="3d87fc20ea8e5f0f0500ba5d5061b345be78ec5e" datatype="html">
+        <source>No hostname found.</source>
+        <target>No hostname found.</target>
+      </trans-unit>
       <trans-unit id="26fb5f81b3581f06b9210defb0e71dc69a67e819" datatype="html">
         <source>Current values</source>
         <target>目前的值</target>
         <target>標記</target>
       </trans-unit>
       <trans-unit id="ab0089ef47af61ca1d137bc908b96c290dfd9287" datatype="html">
-        <source>Enum values</source>
-        <target>列舉值</target>
-      </trans-unit>
-      <trans-unit id="819476f1264f1659f38e86f6abb542141b184832" datatype="html">
-        <source>See also</source>
-        <target>另請參閱</target>
-      </trans-unit>
-      <trans-unit id="d82a9af5b05e7cd17640f196f163771685ff8df6" datatype="html">
-        <source>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</source>
-        <target>The data received has the JSON format version 2.x and is currently incompatible with the dashboard.</target>
-      </trans-unit>
-      <trans-unit id="a185c9b97513b3882604ea9bab60edbfac945c15" datatype="html">
-        <source>SMART overall-health self-assessment test result</source>
-        <target>SMART overall-health self-assessment test result</target>
-      </trans-unit>
-      <trans-unit id="ddd5dd6d930030096ea617f62c82b648a0dd9484" datatype="html">
-        <source>Device Information</source>
-        <target>Device Information</target>
-      </trans-unit>
-      <trans-unit id="79c6bf990ea5b4d83bbf8f9e399f4bd933a1ebfc" datatype="html">
-        <source>S.M.A.R.T</source>
-        <target>S.M.A.R.T</target>
+        <source>Enum values</source>
+        <target>列舉值</target>
       </trans-unit>
-      <trans-unit id="05c17e08939cbef1a5df5386263b1701e8d5742e" datatype="html">
-        <source>S.M.A.R.T data is loading.</source>
-        <target>S.M.A.R.T data is loading.</target>
+      <trans-unit id="819476f1264f1659f38e86f6abb542141b184832" datatype="html">
+        <source>See also</source>
+        <target>另請參閱</target>
       </trans-unit>
       <trans-unit id="73caac4265ea7314ff061e5a1d78a6361a6dd3b8" datatype="html">
         <source>Cluster Status</source>
         <source>MDS performance counters</source>
         <target>MDS performance counters</target>
       </trans-unit>
-      <trans-unit id="a7b6508fb834bee9e48e11e4503fbbc2d19204de" datatype="html">
-        <source>Clients: 
-          <x id="INTERPOLATION" equiv-text="{{ clients.data.length }}"/>
-        </source>
-        <target>Clients: 
-          <x id="INTERPOLATION" equiv-text="{{ clients.data.length }}"/>
-        </target>
-      </trans-unit>
       <trans-unit id="6e213942c6354b9cbe7a650f0f1499bfc1000fb6" datatype="html">
         <source>Directories</source>
         <target>Directories</target>
         <source># Sessions</source>
         <target># Sessions</target>
       </trans-unit>
+      <trans-unit id="2ea10b3668e04e057ba96ddcaf4c9b77089008ae" datatype="html">
+        <source>Unavailable gateway(s)</source>
+        <target>Unavailable gateway(s)</target>
+      </trans-unit>
       <trans-unit id="c49e0dd71d551bd4928d967d78f0721dbf9f95e3" datatype="html">
         <source>Target has active sessions</source>
         <target>Target has active sessions</target>
         <source>Progress</source>
         <target>進度</target>
       </trans-unit>
-      <trans-unit id="f39256070bfc0714020dfee08895421fc1527014" datatype="html">
-        <source>Disabled</source>
-        <target>已停用</target>
+      <trans-unit id="25b725dba712a7a020fd34a72297befae975a492" datatype="html">
+        <source>Edit Site Name</source>
+        <target>Edit Site Name</target>
       </trans-unit>
       <trans-unit id="8c375764db42f5d736fb56d01b8052c006ccc8e2" datatype="html">
         <source>Edit Mode</source>
         <source>Fast diff (interlocked with object-map)</source>
         <target>Fast diff (interlocked with object-map)</target>
       </trans-unit>
+      <trans-unit id="130fd872c78271a8f86b1ab16a76e823969c47d9" datatype="html">
+        <source>Namespace</source>
+        <target>Namespace</target>
+      </trans-unit>
+      <trans-unit id="14abc99daed542774633046c53b6ce8251331141" datatype="html">
+        <source>This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.</source>
+        <target>This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.</target>
+      </trans-unit>
+      <trans-unit id="51699f716cf34e6622ff7bfd84641480c045271a" datatype="html">
+        <source>Created namespace '
+          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/
+          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>'
+        </source>
+        <target>Created namespace '
+          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/
+          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>'
+        </target>
+      </trans-unit>
+      <trans-unit id="bf44b7d6379ce0198ed3d95a27642a224181bf1d" datatype="html">
+        <source>Total images</source>
+        <target>Total images</target>
+      </trans-unit>
+      <trans-unit id="371ce3ffe62548d15e391a248bc554d903bb03fc" datatype="html">
+        <source>Deleted namespace '
+          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/
+          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>'
+        </source>
+        <target>Deleted namespace '
+          <x id="INTERPOLATION" equiv-text="{{pool}}"/>/
+          <x id="INTERPOLATION_1" equiv-text="{{namespace}}"/>'
+        </target>
+      </trans-unit>
+      <trans-unit id="9d704fd00ca929f90c3119cefc581821ae58a73e" datatype="html">
+        <source>Namespace contains images</source>
+        <target>Namespace contains images</target>
+      </trans-unit>
+      <trans-unit id="c2017dc94b4f57a347ccb126e546e88942f4d7a6" datatype="html">
+        <source>RBD Snapshot</source>
+        <target>RBD Snapshot</target>
+      </trans-unit>
       <trans-unit id="631fc50ec7c9bd81dc797a3c7e09eda1178ad999" datatype="html">
         <source>Parent image must support Layering</source>
         <target>Parent image must support Layering</target>
       </trans-unit>
+      <trans-unit id="cb60c1cd3655234756b5b92d4d597d92d520ee30" datatype="html">
+        <source>PROTECTED</source>
+        <target>PROTECTED</target>
+      </trans-unit>
+      <trans-unit id="deffb86b8fb0541254ad5a43862d82bff6b6a6c4" datatype="html">
+        <source>UNPROTECTED</source>
+        <target>未受保護</target>
+      </trans-unit>
       <trans-unit id="7eb984588f4835f6d0187b33769b4b0f62821640" datatype="html">
         <source>RBD snapshot rollback</source>
         <target>RBD 快照復原</target>
         <source>Origin</source>
         <target>Origin</target>
       </trans-unit>
+      <trans-unit id="2ea2ec95d93fd55d0db6e9d2b95b25e153d4cec2" datatype="html">
+        <source>Max size</source>
+        <target>Max size</target>
+      </trans-unit>
+      <trans-unit id="665dced3a61bca44924a0bde4be47390225a4898" datatype="html">
+        <source>Max files</source>
+        <target>Max files</target>
+      </trans-unit>
+      <trans-unit id="0ccf776baac60794b142526986f3af85848c7059" datatype="html">
+        <source>The inherited 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/> is the maximum value to be used.
+        </source>
+        <target>The inherited 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/> is the maximum value to be used.
+        </target>
+      </trans-unit>
+      <trans-unit id="b0e2ef28384f2de6674cac300c779f900929a89b" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{action}}"/> CephFS 
+          <x id="INTERPOLATION_1" equiv-text="{{quotaName}}"/> quota for '
+          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>'
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{action}}"/> CephFS 
+          <x id="INTERPOLATION_1" equiv-text="{{quotaName}}"/> quota for '
+          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>'
+        </target>
+      </trans-unit>
+      <trans-unit id="542ef638499635dec7641bdc2e499258094187cc" datatype="html">
+        <source>size</source>
+        <target>size</target>
+      </trans-unit>
+      <trans-unit id="ce90ff00c341d8eef96b0e7956bb85b8faba3839" datatype="html">
+        <source>files</source>
+        <target>files</target>
+      </trans-unit>
+      <trans-unit id="fbe8b9340c08c24aef62ffe81c83e2b46a4f1495" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{quotaName}}"/> quota 
+          <x id="INTERPOLATION_1" equiv-text="{{value}}"/> from '
+          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>'
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{quotaName}}"/> quota 
+          <x id="INTERPOLATION_1" equiv-text="{{value}}"/> from '
+          <x id="INTERPOLATION_2" equiv-text="{{path}}"/>'
+        </target>
+      </trans-unit>
+      <trans-unit id="37c2c0a4a356465eef2edfb09ffffc6db5259975" datatype="html">
+        <source>Value has to be at least 
+          <x id="INTERPOLATION" equiv-text="{{value}}"/> or more
+        </source>
+        <target>Value has to be at least 
+          <x id="INTERPOLATION" equiv-text="{{value}}"/> or more
+        </target>
+      </trans-unit>
+      <trans-unit id="73f8e64703a707e2cf98b9a10653cd3bbdd8cab1" datatype="html">
+        <source>Value has to be at most 
+          <x id="INTERPOLATION" equiv-text="{{value}}"/> or less
+        </source>
+        <target>Value has to be at most 
+          <x id="INTERPOLATION" equiv-text="{{value}}"/> or less
+        </target>
+      </trans-unit>
+      <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc" datatype="html">
+        <source>Updated</source>
+        <target>已更新</target>
+      </trans-unit>
+      <trans-unit id="b6a4cf4f302c7fcbec199ce0df42b8282d682b04" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{action}}"/>
+          <x id="INTERPOLATION_1" equiv-text="{{quotaValue}}"/>
+          <x id="INTERPOLATION_2" equiv-text="{{conclusion}}"/>.
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{action}}"/>
+          <x id="INTERPOLATION_1" equiv-text="{{quotaValue}}"/>
+          <x id="INTERPOLATION_2" equiv-text="{{conclusion}}"/>.
+        </target>
+      </trans-unit>
+      <trans-unit id="a40024afb071f68fec949094a71f832d5611bca5" datatype="html">
+        <source>in order to inherit 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>
+        </source>
+        <target>in order to inherit 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="c108ff588291e9c040adea2adf35e7236cf29925" datatype="html">
+        <source>which isn't used because of the inheritance of 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>
+        </source>
+        <target>which isn't used because of the inheritance of 
+          <x id="INTERPOLATION" equiv-text="{{quotaValue}}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="d3785a64d1c72b03b2212855ce695b45ed0342d2" datatype="html">
+        <source>in order to have no quota on the directory</source>
+        <target>in order to have no quota on the directory</target>
+      </trans-unit>
+      <trans-unit id="c4d3a3446a7f36825291c5e76c4a6b7919f9bd2f" datatype="html">
+        <source>Create Snapshot</source>
+        <target>Create Snapshot</target>
+      </trans-unit>
+      <trans-unit id="e9af734e231b837d64df21008e2eb1fdff566a61" datatype="html">
+        <source>Please enter the name of the snapshot.</source>
+        <target>Please enter the name of the snapshot.</target>
+      </trans-unit>
+      <trans-unit id="8c4d3039e6a953b0d6f1b1313ffa60c5d2b35dc7" datatype="html">
+        <source>Created snapshot "
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "
+          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"
+        </source>
+        <target>Created snapshot "
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "
+          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"
+        </target>
+      </trans-unit>
+      <trans-unit id="126ad894f74ee9a999825f3f4ac5a31fdfc093bf" datatype="html">
+        <source>CephFs Snapshot</source>
+        <target>CephFs Snapshot</target>
+      </trans-unit>
+      <trans-unit id="1e4d1c0865adc485260740c42ac5af68ce8feb13" datatype="html">
+        <source>Deleted snapshot "
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "
+          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"
+        </source>
+        <target>Deleted snapshot "
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>" for "
+          <x id="INTERPOLATION_1" equiv-text="{{path}}"/>"
+        </target>
+      </trans-unit>
       <trans-unit id="22e4e574b7f8abf58254f328792445b42e2a924a" datatype="html">
         <source>The value can be updated at runtime.</source>
         <target>該值可在執行時期更新。</target>
         <source>Service</source>
         <target>服務</target>
       </trans-unit>
+      <trans-unit id="6986e0df8092d822ac2c076520d83994c78834fc" datatype="html">
+        <source>Modified</source>
+        <target>Modified</target>
+      </trans-unit>
       <trans-unit id="9951bb3983c7dba6fde013e05c922e4fe1a44367" datatype="html">
         <source>Current value</source>
         <target>目前的值</target>
         <source>host</source>
         <target>host</target>
       </trans-unit>
-      <trans-unit id="9e35065e7c579e1fb960499117fd4b3c68d1c263" datatype="html">
-        <source>Host operation is disabled because orchestrator is unavailable</source>
-        <target>Host operation is disabled because orchestrator is unavailable</target>
+      <trans-unit id="b1b381321d4cef04605d3e6e8847ea2b72a03799" datatype="html">
+        <source>Identify</source>
+        <target>Identify</target>
       </trans-unit>
       <trans-unit id="a5d5e407f8c4e1b152509c966c90f37edf68472e" datatype="html">
         <source>Device path</source>
         <target>Device path</target>
       </trans-unit>
-      <trans-unit id="94e76c060aa68c05d8c4a3f5a20c92fab3e83ccf" datatype="html">
-        <source>Rotates</source>
-        <target>Rotates</target>
-      </trans-unit>
       <trans-unit id="b7da3e3505cc80f9bf3cffc8444c53e8a9ec70a5" datatype="html">
         <source>Available</source>
         <target>Available</target>
       </trans-unit>
+      <trans-unit id="396974120fc614fc930a27c8d15a094d82a3a9e4" datatype="html">
+        <source>Vendor</source>
+        <target>Vendor</target>
+      </trans-unit>
       <trans-unit id="6ec98fa3d6504ba1fd03465194b53706c8263c99" datatype="html">
         <source>Model</source>
         <target>Model</target>
       </trans-unit>
+      <trans-unit id="f2d785f5658c96c6a2f505cdd625108bcece84c3" datatype="html">
+        <source>Identify device 
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>
+        </source>
+        <target>Identify device 
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="c97ab45ca09248f8f1ba60328175741657fe39ce" datatype="html">
+        <source>Please enter the duration how long to blink the LED.</source>
+        <target>Please enter the duration how long to blink the LED.</target>
+      </trans-unit>
+      <trans-unit id="87e56ee5057023d7e8b59420b838bad112b043bc" datatype="html">
+        <source>1 minute</source>
+        <target>1 minute</target>
+      </trans-unit>
+      <trans-unit id="affa3b3bf1f36531e5ae65291f8a7cd1b06860ee" datatype="html">
+        <source>2 minutes</source>
+        <target>2 minutes</target>
+      </trans-unit>
+      <trans-unit id="878c6645b7fc26d85c7aee17a9d8c282a938dcf3" datatype="html">
+        <source>5 minutes</source>
+        <target>5 minutes</target>
+      </trans-unit>
+      <trans-unit id="aa0a76140961594b7176ade241e5025a7dbb5dce" datatype="html">
+        <source>10 minutes</source>
+        <target>10 minutes</target>
+      </trans-unit>
+      <trans-unit id="0a7f83a1f27750ef634a1f1f97263fac36113b1f" datatype="html">
+        <source>15 minutes</source>
+        <target>15 minutes</target>
+      </trans-unit>
+      <trans-unit id="699b690d686dbb8e00a1e95b89ba2fffb548da6e" datatype="html">
+        <source>Execute</source>
+        <target>Execute</target>
+      </trans-unit>
+      <trans-unit id="aa975a86dd49979a3ae90b9f3fc5b2c97311d422" datatype="html">
+        <source>Identifying '
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>' started on host '
+          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>'
+        </source>
+        <target>Identifying '
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>' started on host '
+          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="1a6e6ad05508130b7a99ce5b15daf3227c2a930c" datatype="html">
         <source>Updated options for module "
           <x id="INTERPOLATION" equiv-text="{{name}}"/>".
           <x id="INTERPOLATION" equiv-text="{{name}}"/>".
         </target>
       </trans-unit>
+      <trans-unit id="6bd47ff8707aa2e6a94a4a6e2566b86dc7956d5f" datatype="html">
+        <source>Always-On</source>
+        <target>Always-On</target>
+      </trans-unit>
       <trans-unit id="ac6c9212896d39b23811ed2dadab7d07336ec559" datatype="html">
         <source>Enable</source>
         <target>啟用</target>
         <source>Open Sessions</source>
         <target>開啟的工作階段</target>
       </trans-unit>
+      <trans-unit id="34c6f45591d420b1101dcee53999d1de91c0e400" datatype="html">
+        <source>No available devices</source>
+        <target>No available devices</target>
+      </trans-unit>
+      <trans-unit id="dcfe8807a2a1d0d7074a02afe9b80645bd03b9ab" datatype="html">
+        <source>Please add primary devices first</source>
+        <target>Please add primary devices first</target>
+      </trans-unit>
+      <trans-unit id="05d024719e53f85f7f294b7e21dfd805709a0b06" datatype="html">
+        <source>Add devices by using filters</source>
+        <target>Add devices by using filters</target>
+      </trans-unit>
       <trans-unit id="37e58d1cbdf8212b380efa51422e42821d4f08e6" datatype="html">
         <source>No In</source>
         <target>禁止標示為 In</target>
         <source>Backfilling of PGs is suspended</source>
         <target>PG 回填已暫停</target>
       </trans-unit>
+      <trans-unit id="df526de2b93c4099a30c200ef551608e39ee5256" datatype="html">
+        <source>No Rebalance</source>
+        <target>No Rebalance</target>
+      </trans-unit>
+      <trans-unit id="c5b70346245f8d52b58e5e7fe222ce82f12429ce" datatype="html">
+        <source>OSD will choose not to backfill unless PG is also degraded</source>
+        <target>OSD will choose not to backfill unless PG is also degraded</target>
+      </trans-unit>
       <trans-unit id="7fbbd036394cfa623add40299757bc87df8eaa7e" datatype="html">
         <source>No Recover</source>
         <target>禁止復原</target>
         <source>Updated OSD Flags</source>
         <target>已更新 OSD 旗標</target>
       </trans-unit>
+      <trans-unit id="948758e1412bb2ecdb98e3a4f1cbb6d7458456f2" datatype="html">
+        <source>Encryption</source>
+        <target>Encryption</target>
+      </trans-unit>
+      <trans-unit id="c8b1475105463088593de1022ff6dceb523eae0e" datatype="html">
+        <source>OSD</source>
+        <target>OSD</target>
+      </trans-unit>
       <trans-unit id="688578fcc739d6f0c5fb6c366dbb19d21c6d9e36" datatype="html">
         <source>out</source>
         <target>out</target>
         <source>Purge</source>
         <target>清除</target>
       </trans-unit>
-      <trans-unit id="c8b1475105463088593de1022ff6dceb523eae0e" datatype="html">
-        <source>OSD</source>
-        <target>OSD</target>
-      </trans-unit>
       <trans-unit id="4f3cff08c7033b63bbccfe66006b1bcaea48ddd8" datatype="html">
         <source>purged</source>
         <target>已清除</target>
         <source>destroyed</source>
         <target>已損毀</target>
       </trans-unit>
+      <trans-unit id="70ef158c584bafe788e319a0bffa11b02ee9abf1" datatype="html">
+        <source>delete</source>
+        <target>刪除</target>
+      </trans-unit>
+      <trans-unit id="a5b387f5a15b95e339df10fc23526c659a2b6c6f" datatype="html">
+        <source>deleted</source>
+        <target>deleted</target>
+      </trans-unit>
       <trans-unit id="107614b994f2b01abdc1ca179bf780b0cd933ec4" datatype="html">
         <source>Recovery Priority</source>
         <target>Recovery Priority</target>
         <source>Read bytes</source>
         <target>讀取位元組數</target>
       </trans-unit>
-      <trans-unit id="ecbe2fdca919499125bc42c2c67cedae8563db1c" datatype="html">
-        <source>Writes bytes</source>
+      <trans-unit id="f15bf7f588f09ca79795b17bc244e8d336f28171" datatype="html">
+        <source>Write bytes</source>
         <target>寫入位元組數</target>
       </trans-unit>
       <trans-unit id="f3c33322823c846b13f59ba2c8f234405bba99e1" datatype="html">
         <source>Write ops</source>
         <target>寫入操作數</target>
       </trans-unit>
+      <trans-unit id="b27d1dd31789610130b7cdbf88c4da552cffe936" datatype="html">
+        <source>Edit OSD: 
+          <x id="INTERPOLATION" equiv-text="{{id}}"/>
+        </source>
+        <target>Edit OSD: 
+          <x id="INTERPOLATION" equiv-text="{{id}}"/>
+        </target>
+      </trans-unit>
+      <trans-unit id="986f1379580078e77666d10f8ddf4f839c6ca71d" datatype="html">
+        <source>Edit OSD</source>
+        <target>Edit OSD</target>
+      </trans-unit>
+      <trans-unit id="a4b09e2fa39c3e4f1a387f191fbae4eea3ce7bf5" datatype="html">
+        <source>Updated OSD "
+          <x id="INTERPOLATION" equiv-text="{{id}}"/>"
+        </source>
+        <target>Updated OSD "
+          <x id="INTERPOLATION" equiv-text="{{id}}"/>"
+        </target>
+      </trans-unit>
       <trans-unit id="d45455406092f58e6b089cb440b5b7934b801a01" datatype="html">
         <source>Mark OSD 
           <x id="INTERPOLATION" equiv-text="{{markAction}}"/>
         <source>Recovery Sleep</source>
         <target>復原操作間隔睡眠時間</target>
       </trans-unit>
-      <trans-unit id="a5c05002b0ac2040f1aede5e727e0ffd06eda819" datatype="html">
-        <source>Custom</source>
-        <target>自訂</target>
-      </trans-unit>
       <trans-unit id="89553524f4e7db5c437b07dcfdc7b831d56ded1a" datatype="html">
         <source>Updated OSD recovery speed priority "
           <x id="INTERPOLATION" equiv-text="{{value}}"/>"
           <x id="INTERPOLATION_1" equiv-text="{{id}}"/>
         </target>
       </trans-unit>
-      <trans-unit id="9836e830d0219585b36d53be00a31c3d4798a4aa" datatype="html">
-        <source>Smartctl has received an unknown argument (error code
-          <x id="INTERPOLATION" equiv-text="{{smartData.smartctl_error_code}}"/>). You may be using an
-                incompatible version of smartmontools. Version &gt;= 7.0 of
-                smartmontools is required to succesfully retrieve data.
-        </source>
-        <target>Smartctl has received an unknown argument (error code
-          <x id="INTERPOLATION" equiv-text="{{smartData.smartctl_error_code}}"/>). You may be using an
-                incompatible version of smartmontools. Version &gt;= 7.0 of
-                smartmontools is required to succesfully retrieve data.
-        </target>
-      </trans-unit>
-      <trans-unit id="d5fd840374ca1a6f394bcd81f390a6dca27f8224" datatype="html">
-        <source>An error with error code 
-          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.
-        </source>
-        <target>An error with error code 
-          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.
-        </target>
-      </trans-unit>
-      <trans-unit id="a0b59d7139692bb8d8ed786b6eb6e9e70ce743f3" datatype="html">
-        <source>Raw</source>
-        <target>Raw</target>
-      </trans-unit>
-      <trans-unit id="2f3beddc8234b30fb26a7f63ba2f1ea74f2ed6f7" datatype="html">
-        <source>Threshold</source>
-        <target>Threshold</target>
-      </trans-unit>
-      <trans-unit id="4654b5a68af3c8bad29aa14ca85ccea1f3143c6b" datatype="html">
-        <source>When Failed</source>
-        <target>When Failed</target>
-      </trans-unit>
-      <trans-unit id="5b7f56d5be49fb8e8d8f40209d6746f8f72e9177" datatype="html">
-        <source>Worst</source>
-        <target>Worst</target>
-      </trans-unit>
-      <trans-unit id="1edb8e46b0fac57c5feb3d7d3585afc0122d5481" datatype="html">
-        <source>Create silence</source>
-        <target>Create silence</target>
+      <trans-unit id="3bc2d18913479965cb046ec75e2ac3f7b7a77ce5" datatype="html">
+        <source>Create Silence</source>
+        <target>Create Silence</target>
       </trans-unit>
       <trans-unit id="78917e8031aaf913ac3fa63295325ce8879703ce" datatype="html">
         <source>Job</source>
         <source>URL</source>
         <target>URL</target>
       </trans-unit>
+      <trans-unit id="d9f726c70aeba7fa6d3d68bff718abe78b1e50ac" datatype="html">
+        <source>Query</source>
+        <target>Query</target>
+      </trans-unit>
       <trans-unit id="a5cd682a8a33bdc72e093d059429e3cc3a50ec1d" datatype="html">
         <source>silence</source>
         <target>silence</target>
         <source>Created by</source>
         <target>Created by</target>
       </trans-unit>
-      <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc" datatype="html">
-        <source>Updated</source>
-        <target>已更新</target>
-      </trans-unit>
       <trans-unit id="8d833cceee0ba4c5161b130365e02bc1e129b57e" datatype="html">
         <source>Ends</source>
         <target>Ends</target>
         <source>Silence</source>
         <target>Silence</target>
       </trans-unit>
-      <trans-unit id="f392abfbb997402ce2aebb13e660a8f01dec54db" datatype="html">
-        <source>Service type</source>
-        <target>Service type</target>
+      <trans-unit id="f2ea47d702c7f5e3e5fa751bf9959e21030b72e6" datatype="html">
+        <source>Daemon type</source>
+        <target>Daemon type</target>
       </trans-unit>
-      <trans-unit id="9ffa91b056fb979786627885651e19c8275675cd" datatype="html">
-        <source>Service instance</source>
-        <target>Service instance</target>
+      <trans-unit id="6c131968e6ab730d86443e6fc11c5cc2a76d7bac" datatype="html">
+        <source>Daemon ID</source>
+        <target>Daemon ID</target>
       </trans-unit>
-      <trans-unit id="b5910192a9ac4816638ff6383b03f986ff965796" datatype="html">
-        <source>Container id</source>
-        <target>Container id</target>
+      <trans-unit id="5738f0ca7ddd9594058ce051b1d5d576e2782825" datatype="html">
+        <source>Container ID</source>
+        <target>Container ID</target>
       </trans-unit>
-      <trans-unit id="60ab9cce12a56cdc5ec6a1b699f8c7afecd629d5" datatype="html">
-        <source>Rados config location</source>
-        <target>Rados config location</target>
+      <trans-unit id="78ebcf850cd440c5efc15e6a3a522ae75aeff669" datatype="html">
+        <source>Container Image name</source>
+        <target>Container Image name</target>
       </trans-unit>
-      <trans-unit id="dfa409f831c9168a377bdee02c5ea6aaf9b2bf61" datatype="html">
-        <source>Service URL</source>
-        <target>Service URL</target>
+      <trans-unit id="ea0c7ab9a7bdf646d494abf8c85fbf67d934d079" datatype="html">
+        <source>Container Image ID</source>
+        <target>Container Image ID</target>
       </trans-unit>
       <trans-unit id="bf2468fd965b8a59c135ad549b3a612aa9873abc" datatype="html">
         <source>Status Description</source>
         <target>Status Description</target>
       </trans-unit>
+      <trans-unit id="19867330bdc84096f5a93ab087a1766476c8a074" datatype="html">
+        <source>Last Refreshed</source>
+        <target>Last Refreshed</target>
+      </trans-unit>
+      <trans-unit id="2349ee2027ab6ceb3e4b8834928562075b7e1ac7" datatype="html">
+        <source>Container image name</source>
+        <target>Container image name</target>
+      </trans-unit>
+      <trans-unit id="3c475503fb93338811af6b3d9ccacca1d7334609" datatype="html">
+        <source>Container image ID</source>
+        <target>Container image ID</target>
+      </trans-unit>
+      <trans-unit id="8dd15f6c73c05a8b0bd7b6d416487ab6570b88c8" datatype="html">
+        <source>Running</source>
+        <target>Running</target>
+      </trans-unit>
       <trans-unit id="fb2e1bed329dc5b84197808c778abb9edcbdb335" datatype="html">
         <source>Used</source>
         <target>已使用</target>
         <source>NFS export</source>
         <target>NFS export</target>
       </trans-unit>
+      <trans-unit id="c56d51748965db5f3966cd1d06a1c9f4b5244931" datatype="html">
+        <source>Crush Rule</source>
+        <target>Crush Rule</target>
+      </trans-unit>
       <trans-unit id="ae128527ec18892f812a62a1fd15dc50a38060c0" datatype="html">
         <source>EC Profile</source>
         <target>EC Profile</target>
         <source>erasure code profile</source>
         <target>糾刪碼設定檔</target>
       </trans-unit>
+      <trans-unit id="ae48e19a9a2acaca4b5ea594451bc9b0b01ec8d2" datatype="html">
+        <source>crush rule</source>
+        <target>crush rule</target>
+      </trans-unit>
       <trans-unit id="112d356ad6846959ca4aa5ec9a1f0d9d473b24ec" datatype="html">
         <source>Replica Size</source>
         <target>複本大小</target>
         <source>Crush Ruleset</source>
         <target>CRUSH 規則集</target>
       </trans-unit>
-      <trans-unit id="f15bf7f588f09ca79795b17bc244e8d336f28171" datatype="html">
-        <source>Write bytes</source>
-        <target>寫入位元組數</target>
-      </trans-unit>
       <trans-unit id="bcc365a084b6145b941b371bd4c2b6c3d2c79234" datatype="html">
         <source>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</source>
         <target>Pool deletion is disabled by the mon_allow_pool_delete configuration setting.</target>
         <source>Swift Key</source>
         <target>Swift Key</target>
       </trans-unit>
+      <trans-unit id="6462d8f12b427c29363f00b12f20f566be24937c" datatype="html">
+        <source>Device ID</source>
+        <target>Device ID</target>
+      </trans-unit>
+      <trans-unit id="82f12bf23db4bb82db89877bebe93954bc1c8fb0" datatype="html">
+        <source>State of Health</source>
+        <target>State of Health</target>
+      </trans-unit>
+      <trans-unit id="7bd34bd120146afef0e0d8fa168d9bdabd594b6a" datatype="html">
+        <source>Good</source>
+        <target>Good</target>
+      </trans-unit>
+      <trans-unit id="31c59dce114ec0a9d02552ef7b81920b3de36793" datatype="html">
+        <source>Bad</source>
+        <target>Bad</target>
+      </trans-unit>
+      <trans-unit id="2862af5284f66d4b06bdcf77a5519141723b6989" datatype="html">
+        <source>Stale</source>
+        <target>Stale</target>
+      </trans-unit>
+      <trans-unit id="8d8e819b52984a4fbdec75a99eb28d1ae4323bbc" datatype="html">
+        <source>Life Expectancy</source>
+        <target>Life Expectancy</target>
+      </trans-unit>
+      <trans-unit id="72d9b15be18ea063e78c4e855b9e8c0af95593ef" datatype="html">
+        <source>Prediction Creation Date</source>
+        <target>Prediction Creation Date</target>
+      </trans-unit>
+      <trans-unit id="a6b4ef85e5ff8bd192751c7bbebc54c46118d6d4" datatype="html">
+        <source>Device Name</source>
+        <target>Device Name</target>
+      </trans-unit>
+      <trans-unit id="d5fd840374ca1a6f394bcd81f390a6dca27f8224" datatype="html">
+        <source>An error with error code 
+          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.
+        </source>
+        <target>An error with error code 
+          <x id="INTERPOLATION" equiv-text="{{code}}"/> occurred.
+        </target>
+      </trans-unit>
+      <trans-unit id="a0b59d7139692bb8d8ed786b6eb6e9e70ce743f3" datatype="html">
+        <source>Raw</source>
+        <target>Raw</target>
+      </trans-unit>
+      <trans-unit id="2f3beddc8234b30fb26a7f63ba2f1ea74f2ed6f7" datatype="html">
+        <source>Threshold</source>
+        <target>Threshold</target>
+      </trans-unit>
+      <trans-unit id="4654b5a68af3c8bad29aa14ca85ccea1f3143c6b" datatype="html">
+        <source>When Failed</source>
+        <target>When Failed</target>
+      </trans-unit>
+      <trans-unit id="5b7f56d5be49fb8e8d8f40209d6746f8f72e9177" datatype="html">
+        <source>Worst</source>
+        <target>Worst</target>
+      </trans-unit>
       <trans-unit id="1481b8488e10dbc437accce89d2ae35a0106e8ba" datatype="html">
         <source>Scope</source>
         <target>範圍</target>
           <x id="INTERPOLATION" equiv-text="{{role_name}}"/>'
         </target>
       </trans-unit>
+      <trans-unit id="bd15b8d5c0fa160161728eefbbb585710414d471" datatype="html">
+        <source>New name</source>
+        <target>New name</target>
+      </trans-unit>
+      <trans-unit id="6f126277f3dc22a3ab3609c4c198386c8744e11a" datatype="html">
+        <source>Clone Role</source>
+        <target>Clone Role</target>
+      </trans-unit>
+      <trans-unit id="d19d8320479854bc52877cdf0dc5ecfe34a36ec7" datatype="html">
+        <source>Cloned role '
+          <x id="INTERPOLATION" equiv-text="{{dst_name}}"/>' from '
+          <x id="INTERPOLATION_1" equiv-text="{{src_name}}"/>'
+        </source>
+        <target>Cloned role '
+          <x id="INTERPOLATION" equiv-text="{{dst_name}}"/>' from '
+          <x id="INTERPOLATION_1" equiv-text="{{src_name}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="2e35d60a14ce0b470e8b54602864a867f7fcef40" datatype="html">
         <source>There are no roles.</source>
         <target>There are no roles.</target>
         <source>Updated user password"</source>
         <target>Updated user password"</target>
       </trans-unit>
+      <trans-unit id="c4e596a44ffc4718c1602600d6e4f029190eb031" datatype="html">
+        <source>The name of the node under which data should be placed.</source>
+        <target>The name of the node under which data should be placed.</target>
+      </trans-unit>
+      <trans-unit id="f24772ba1091155f8d7025332ca8456a204d1e28" datatype="html">
+        <source>The type of CRUSH nodes across which we should separate replicas.</source>
+        <target>The type of CRUSH nodes across which we should separate replicas.</target>
+      </trans-unit>
+      <trans-unit id="a3896042af461a80091c3f7a5fe3fff5ac40a3a0" datatype="html">
+        <source>The device class data should be placed on.</source>
+        <target>The device class data should be placed on.</target>
+      </trans-unit>
       <trans-unit id="1d7fbcc3d5efc946ffbcf86fed04c4e20dda20fb" datatype="html">
         <source>Each object is split in data-chunks parts, each stored on a different OSD.</source>
         <target>各物件都被分割成資料區塊部分,分別儲存於不同的 OSD。</target>
         <source>Success</source>
         <target>Success</target>
       </trans-unit>
+      <trans-unit id="61fd1cffcb763cbfd5829071723cf9b647174bd9" datatype="html">
+        <source>An error occurred.</source>
+        <target>An error occurred.</target>
+      </trans-unit>
       <trans-unit id="e6ca3c0efaf51e6d45a7f92f58bac37140c3fda4" datatype="html">
         <source>Last 5 minutes</source>
         <target>過去 5 分鐘</target>
         <source>There are no items available.</source>
         <target>沒有可用的項目。</target>
       </trans-unit>
-      <trans-unit id="f6755cff4957d5c3c89bafce5651f1b6fa2b1fd9" datatype="html">
-        <source>Add</source>
-        <target>新增</target>
+      <trans-unit id="55dd9f44e64851bca3b7bfc9283a5ff36f030228" datatype="html">
+        <source>Set</source>
+        <target>Set</target>
       </trans-unit>
       <trans-unit id="019d4bd6a5690f0cfa0ecf346a4e6bf7f0d8debb" datatype="html">
         <source>Remove</source>
         <target>Remove</target>
       </trans-unit>
+      <trans-unit id="e168fe6c468b3ad632731395ef89860274242844" datatype="html">
+        <source>Unset</source>
+        <target>Unset</target>
+      </trans-unit>
       <trans-unit id="54a4a3132b693575728a45a5f3154ad4c9af404b" datatype="html">
         <source>Clone</source>
         <target>克隆</target>
         <source>No</source>
         <target>否</target>
       </trans-unit>
+      <trans-unit id="baf918eed9d4050cdad2acebc0f27b6eaf8e3fcd" datatype="html">
+        <source>Required rules for passwords:</source>
+        <target>Required rules for passwords:</target>
+      </trans-unit>
+      <trans-unit id="40f61909e1f017c4652e64b055089beef19cf871" datatype="html">
+        <source>Must contain at least 
+          <x id="INTERPOLATION" equiv-text="{{length}}"/> characters
+        </source>
+        <target>Must contain at least 
+          <x id="INTERPOLATION" equiv-text="{{length}}"/> characters
+        </target>
+      </trans-unit>
+      <trans-unit id="f4f5dbb3a05b5f38dab47ef38dad88a4574a765a" datatype="html">
+        <source>Must not be the same as the previous one</source>
+        <target>Must not be the same as the previous one</target>
+      </trans-unit>
+      <trans-unit id="607370e07b50087c196a5fcea9184e3d693226b2" datatype="html">
+        <source>Cannot contain the username</source>
+        <target>Cannot contain the username</target>
+      </trans-unit>
+      <trans-unit id="e6e355eab2596251aaa42623b41e6026d5c03e3b" datatype="html">
+        <source>Cannot contain any configured keyword</source>
+        <target>Cannot contain any configured keyword</target>
+      </trans-unit>
+      <trans-unit id="394bcd6d5e4da75b720c4d28f94f2aef7bb38355" datatype="html">
+        <source>Cannot contain any repetitive characters e.g. "aaa"</source>
+        <target>Cannot contain any repetitive characters e.g. "aaa"</target>
+      </trans-unit>
+      <trans-unit id="030e61e0bcf2536fb047645db6182d43e9fca9e9" datatype="html">
+        <source>Cannot contain any sequential characters e.g. "abc"</source>
+        <target>Cannot contain any sequential characters e.g. "abc"</target>
+      </trans-unit>
       <trans-unit id="99fa0b67376d40142bd4d3ace3344abf4f98b6a5" datatype="html">
         <source>Your matcher seems to match no currently defined rule or active alert.</source>
         <target>Your matcher seems to match no currently defined rule or active alert.</target>
         <source>Deleting</source>
         <target>正在刪除</target>
       </trans-unit>
-      <trans-unit id="70ef158c584bafe788e319a0bffa11b02ee9abf1" datatype="html">
-        <source>delete</source>
-        <target>刪除</target>
-      </trans-unit>
       <trans-unit id="d07a282afc7fbdb39cea6e1c9b544882a7260a86" datatype="html">
         <source>Adding</source>
         <target>Adding</target>
         <source>remove</source>
         <target>remove</target>
       </trans-unit>
+      <trans-unit id="0e21237afdc84ec360c374fa678d9b1cfaa334f9" datatype="html">
+        <source>Importing</source>
+        <target>Importing</target>
+      </trans-unit>
+      <trans-unit id="c6b4128c006f4cc0564137e1a1482b5c432aa347" datatype="html">
+        <source>import</source>
+        <target>import</target>
+      </trans-unit>
+      <trans-unit id="3b9f4138abbca0fd66db1f7332f4b54e2a6d916d" datatype="html">
+        <source>Imported</source>
+        <target>Imported</target>
+      </trans-unit>
       <trans-unit id="3f757cfc3749ebb5d4462017cb60138ca082f15f" datatype="html">
         <source>RBD '
           <x id="INTERPOLATION" equiv-text="{{id}}"/>'
           <x id="INTERPOLATION" equiv-text="{{id}}"/>'
         </target>
       </trans-unit>
+      <trans-unit id="2bf18ddf3785f7afb4f01dcf63d3d8c40f4bfba5" datatype="html">
+        <source>mirroring site name</source>
+        <target>mirroring site name</target>
+      </trans-unit>
+      <trans-unit id="167b73bb24b4695614ce0fc567b7a45080457a44" datatype="html">
+        <source>bootstrap token</source>
+        <target>bootstrap token</target>
+      </trans-unit>
       <trans-unit id="4fb54a0291f49583c317d4a3690239141b5a8f68" datatype="html">
         <source>mirror mode for pool '
           <x id="INTERPOLATION" equiv-text="{{id}}"/>'
         <source>all dashboards</source>
         <target>all dashboards</target>
       </trans-unit>
+      <trans-unit id="6c19652df9249c60827044ed6274933cab180c63" datatype="html">
+        <source>OSDs (DriveGroups: 
+          <x id="INTERPOLATION" equiv-text="{{tracking_id}}"/>)
+        </source>
+        <target>OSDs (DriveGroups: 
+          <x id="INTERPOLATION" equiv-text="{{tracking_id}}"/>)
+        </target>
+      </trans-unit>
       <trans-unit id="1b559dbd9cc9664fd788c2da9a10d3abafe066cb" datatype="html">
         <source>Name is already used by 
           <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>.
           <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/>.
         </target>
       </trans-unit>
+      <trans-unit id="460f07780389d24c6a540c007c7367a56afad585" datatype="html">
+        <source>
+          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> is busy.
+        </source>
+        <target>
+          <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> is busy.
+        </target>
+      </trans-unit>
       <trans-unit id="1ff7676ad1e991102224540a32dd44ad1ab88aa8" datatype="html">
         <source>
           <x id="INTERPOLATION" equiv-text="{{rbd_name}}"/> contains snapshots.
         <source>Cannot disable mirroring because it contains a peer.</source>
         <target>無法停用鏡像,因為其包含對等。</target>
       </trans-unit>
+      <trans-unit id="5c4525a1b76ca54d1aadeaecfdb83aedc2eec6e0" datatype="html">
+        <source>Identifying</source>
+        <target>Identifying</target>
+      </trans-unit>
+      <trans-unit id="ffd067e54a061d1f27cb35f0cf67ef7f29e19111" datatype="html">
+        <source>identify</source>
+        <target>identify</target>
+      </trans-unit>
+      <trans-unit id="7c921f339274688c22ba1acac7af6b097ad3599d" datatype="html">
+        <source>Identified</source>
+        <target>Identified</target>
+      </trans-unit>
+      <trans-unit id="3307492c27c2150cd26c514030444e11fd61089f" datatype="html">
+        <source>device '
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>' on host '
+          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>'
+        </source>
+        <target>device '
+          <x id="INTERPOLATION" equiv-text="{{device}}"/>' on host '
+          <x id="INTERPOLATION_1" equiv-text="{{hostname}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="f123ae1fc3b000e5d08e766dd78bff162afe709d" datatype="html">
         <source>host '
           <x id="INTERPOLATION" equiv-text="{{hostname}}"/>'
           <x id="INTERPOLATION" equiv-text="{{hostname}}"/>'
         </target>
       </trans-unit>
+      <trans-unit id="c1af76189dcefd094da2bc1a4a63968f3bab5789" datatype="html">
+        <source>OSD '
+          <x id="INTERPOLATION" equiv-text="{{svc_id}}"/>'
+        </source>
+        <target>OSD '
+          <x id="INTERPOLATION" equiv-text="{{svc_id}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="dfe70001dc590a9e12512cbb206aa29fb36fd00b" datatype="html">
         <source>pool '
           <x id="INTERPOLATION" equiv-text="{{pool_name}}"/>'
           <x id="INTERPOLATION" equiv-text="{{name}}"/>'
         </target>
       </trans-unit>
+      <trans-unit id="79052d6c47258dc19ada12dbb2563761102b6f1d" datatype="html">
+        <source>crush rule '
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>'
+        </source>
+        <target>crush rule '
+          <x id="INTERPOLATION" equiv-text="{{name}}"/>'
+        </target>
+      </trans-unit>
       <trans-unit id="369462e5e018360e0600bb570866201ad5c3c8a8" datatype="html">
         <source>target '
           <x id="INTERPOLATION" equiv-text="{{target_iqn}}"/>'
           <x id="INTERPOLATION" equiv-text="{{nfs_id}}"/>
         </target>
       </trans-unit>
-      <trans-unit id="54bf6542e39412f83ec883266f443e31b304c937" datatype="html">
-        <source>Required rules for password complexity:
-    - must contain at least 8 characters
-    - cannot contain username
-    - cannot contain any keyword used in Ceph
-    - cannot contain any repetitive characters e.g. "aaa"
-    - cannot contain any sequencial characters e.g. "abc"
-    - must consist of characters from the following groups:
-      * alphabetic a-z, A-Z
-      * numbers 0-9
-      * special chars: !"#$%&amp; '()*+,-./:;&lt;=&gt;?@[\]^_`
-          <x id="INTERPOLATION" equiv-text="{{|}}"/>~
-      * any other characters (signs)
-        </source>
-        <target>Required rules for password complexity:
-    - must contain at least 8 characters
-    - cannot contain username
-    - cannot contain any keyword used in Ceph
-    - cannot contain any repetitive characters e.g. "aaa"
-    - cannot contain any sequencial characters e.g. "abc"
-    - must consist of characters from the following groups:
-      * alphabetic a-z, A-Z
-      * numbers 0-9
-      * special chars: !"#$%&amp; '()*+,-./:;&lt;=&gt;?@[\]^_`
-          <x id="INTERPOLATION" equiv-text="{{|}}"/>~
-      * any other characters (signs)
-        </target>
-      </trans-unit>
-      <trans-unit id="ba575e9364b43dc870e332265c5182bb357b7a49" datatype="html">
-        <source>Weak</source>
-        <target>Weak</target>
-      </trans-unit>
-      <trans-unit id="7e6c975ebea8b5f8b120905ca7acf9f8edf59d8e" datatype="html">
-        <source>OK</source>
-        <target>OK</target>
-      </trans-unit>
-      <trans-unit id="3f7349017a01eed18c3daf2b7295ca96ef442eb6" datatype="html">
-        <source>Strong</source>
-        <target>Strong</target>
-      </trans-unit>
-      <trans-unit id="a1e3aecc2022cb0ebed8575a24d0e29d2de815c6" datatype="html">
-        <source>Very strong</source>
-        <target>Very strong</target>
-      </trans-unit>
     </body>
   </file>
 </xliff>
\ No newline at end of file
index c3e5750a3217141bc00a84f87c0cf0e826b03d91..e7d8b6fdd5c108b0b691df4539c308c85259a7a2 100644 (file)
@@ -374,3 +374,23 @@ export function expectItemTasks(item: any, executing: string, percentage?: numbe
   }
   expect(item.cdExecuting).toBe(executing);
 }
+
+export class IscsiHelper {
+  static validateUser(formHelper: FormHelper, fieldName: string) {
+    formHelper.expectErrorChange(fieldName, 'short', 'pattern');
+    formHelper.expectValidChange(fieldName, 'thisIsCorrect');
+    formHelper.expectErrorChange(fieldName, '##?badChars?##', 'pattern');
+    formHelper.expectErrorChange(
+      fieldName,
+      'thisUsernameIsWayyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyTooBig',
+      'pattern'
+    );
+  }
+
+  static validatePassword(formHelper: FormHelper, fieldName: string) {
+    formHelper.expectErrorChange(fieldName, 'short', 'pattern');
+    formHelper.expectValidChange(fieldName, 'thisIsCorrect');
+    formHelper.expectErrorChange(fieldName, '##?badChars?##', 'pattern');
+    formHelper.expectErrorChange(fieldName, 'thisPasswordIsWayTooBig', 'pattern');
+  }
+}
index 5f8c35212fc9f6c067fa67ab7885b356662fcdea..054de94ce88d721ab6db113c02700e018eb65be4 100644 (file)
@@ -185,7 +185,7 @@ class CherryPyConfig(object):
 
         uri = "{0}://{1}:{2}{3}/".format(
             'https' if ssl else 'http',
-            socket.getfqdn() if server_addr in ['::', '0.0.0.0'] else server_addr,
+            socket.getfqdn(server_addr if server_addr != '::' else ''),
             server_port,
             self.url_prefix
         )
index 71e56abc6460b8d077be79778affdc8d4496fb1d..d5719157bc44f7e58f2aafd87a51066b7d34a950 100644 (file)
@@ -21,7 +21,7 @@ class Actions(Enum):
 
 
 @PM.add_plugin  # pylint: disable=too-many-ancestors
-class Debug(SP, I.CanCherrypy, I.ConfiguresCherryPy):
+class Debug(SP, I.CanCherrypy, I.ConfiguresCherryPy):  # pylint: disable=too-many-ancestors
     NAME = 'debug'
 
     OPTIONS = [
index e37a030f244e0dd4dc248a714b747f1dfb71bb56..6da706674cf13f2a243ed29eb0999c59df2b1839 100644 (file)
@@ -105,6 +105,31 @@ class IscsiTestController(ControllerTestCase, KVStoreMockMixin):
         self.assertStatus(200)
         self.assertJsonBody(discoveryauth)
 
+    def test_bad_discoveryauth(self):
+        discoveryauth = {
+            'user': 'myiscsiusername',
+            'password': 'myiscsipasswordmyiscsipasswordmyiscsipassword',
+            'mutual_user': '',
+            'mutual_password': ''
+        }
+        put_response = {
+            'detail': 'Bad authentication',
+            'code': 'target_bad_auth',
+            'component': 'iscsi'
+        }
+        get_response = {
+            'user': '',
+            'password': '',
+            'mutual_user': '',
+            'mutual_password': ''
+        }
+        self._put('/api/iscsi/discoveryauth', discoveryauth)
+        self.assertStatus(400)
+        self.assertJsonBody(put_response)
+        self._get('/api/iscsi/discoveryauth')
+        self.assertStatus(200)
+        self.assertJsonBody(get_response)
+
     def test_disable_discoveryauth(self):
         discoveryauth = {
             'user': '',
@@ -199,6 +224,34 @@ class IscsiTestController(ControllerTestCase, KVStoreMockMixin):
             })
         self._update_iscsi_target(create_request, update_request, response)
 
+    @mock.patch('dashboard.controllers.iscsi.IscsiTarget._validate_image')
+    def test_add_bad_client(self, _validate_image_mock):
+        target_iqn = "iqn.2003-01.com.redhat.iscsi-gw:iscsi-igw4"
+        create_request = copy.deepcopy(iscsi_target_request)
+        create_request['target_iqn'] = target_iqn
+        update_request = copy.deepcopy(create_request)
+        update_request['new_target_iqn'] = target_iqn
+        update_request['clients'].append(
+            {
+                "luns": [{"image": "lun1", "pool": "rbd"}],
+                "client_iqn": "iqn.1994-05.com.redhat:rh7-client4",
+                "auth": {
+                    "password": "myiscsipassword7myiscsipassword7myiscsipasswo",
+                    "user": "myiscsiusername7",
+                    "mutual_password": "myiscsipassword8",
+                    "mutual_user": "myiscsiusername8"}
+            })
+        response = copy.deepcopy(iscsi_target_response)
+        response['target_iqn'] = target_iqn
+
+        self._task_post('/api/iscsi/target', create_request)
+        self.assertStatus(201)
+        self._task_put('/api/iscsi/target/{}'.format(create_request['target_iqn']), update_request)
+        self.assertStatus(400)
+        self._get('/api/iscsi/target/{}'.format(update_request['new_target_iqn']))
+        self.assertStatus(200)
+        self.assertJsonBody(response)
+
     @mock.patch('dashboard.controllers.iscsi.IscsiTarget._validate_image')
     def test_change_client_password(self, _validate_image_mock):
         target_iqn = "iqn.2003-01.com.redhat.iscsi-gw:iscsi-igw5"
@@ -206,10 +259,10 @@ class IscsiTestController(ControllerTestCase, KVStoreMockMixin):
         create_request['target_iqn'] = target_iqn
         update_request = copy.deepcopy(create_request)
         update_request['new_target_iqn'] = target_iqn
-        update_request['clients'][0]['auth']['password'] = 'mynewiscsipassword'
+        update_request['clients'][0]['auth']['password'] = 'MyNewPassword'
         response = copy.deepcopy(iscsi_target_response)
         response['target_iqn'] = target_iqn
-        response['clients'][0]['auth']['password'] = 'mynewiscsipassword'
+        response['clients'][0]['auth']['password'] = 'MyNewPassword'
         self._update_iscsi_target(create_request, update_request, response)
 
     @mock.patch('dashboard.controllers.iscsi.IscsiTarget._validate_image')
@@ -553,6 +606,7 @@ class IscsiClientMock(object):
 
     def get_settings(self):
         return {
+            "api_version": 2,
             "backstores": [
                 "user:rbd"
             ],
index 1adaad628aeb1c035c34a598afb44d1fcd873a81..d6d94930de603cc6a5f62e5178e0a6db83edb965 100644 (file)
@@ -16,7 +16,7 @@ import errno
 
 from ceph.deployment import inventory
 from ceph.deployment.service_spec import ServiceSpec, NFSServiceSpec, RGWSpec, \
-    ServiceSpecValidationError
+    ServiceSpecValidationError, IscsiServiceSpec
 from ceph.deployment.drive_group import DriveGroupSpec
 
 from mgr_module import MgrModule, CLICommand, HandleCommandResult
@@ -437,7 +437,8 @@ class Completion(_Promise):
     call one completion from another completion. I.e. making them re-usable
     using Promises E.g.::
 
-        >>> return Orchestrator().get_hosts().then(self._create_osd)
+        >>> #doctest: +SKIP
+        ... return Orchestrator().get_hosts().then(self._create_osd)
 
     where ``get_hosts`` returns a Completion of list of hosts and
     ``_create_osd`` takes a list of hosts.
@@ -445,7 +446,8 @@ class Completion(_Promise):
     The concept behind this is to store the computation steps
     explicit and then explicitly evaluate the chain:
 
-        >>> p = Completion(on_complete=lambda x: x*2).then(on_complete=lambda x: str(x))
+        >>> #doctest: +SKIP
+        ... p = Completion(on_complete=lambda x: x*2).then(on_complete=lambda x: str(x))
         ... p.finalize(2)
         ... assert p.result = "4"
 
@@ -695,7 +697,8 @@ class Orchestrator(object):
             is actually available in the orchestrator. I.e. this
             won't work as expected::
 
-                >>> if OrchestratorClientMixin().available()[0]:  # wrong.
+                >>> #doctest: +SKIP
+                ... if OrchestratorClientMixin().available()[0]:  # wrong.
                 ...     OrchestratorClientMixin().get_hosts()
 
         :return: two-tuple of boolean, string
@@ -727,13 +730,15 @@ class Orchestrator(object):
             is actually possible in the orchestrator. I.e. this
             won't work as expected::
 
-                >>> api = OrchestratorClientMixin()
+                >>> #doctest: +SKIP
+                ... api = OrchestratorClientMixin()
                 ... if api.get_feature_set()['get_hosts']['available']:  # wrong.
                 ...     api.get_hosts()
 
             It's better to ask for forgiveness instead::
 
-                >>> try:
+                >>> #doctest: +SKIP
+                ... try:
                 ...     OrchestratorClientMixin().get_hosts()
                 ... except (OrchestratorError, NotImplementedError):
                 ...     ...
@@ -855,6 +860,7 @@ class Orchestrator(object):
             'alertmanager': self.apply_alertmanager,
             'crash': self.apply_crash,
             'grafana': self.apply_grafana,
+            'iscsi': cast(Callable[[ServiceSpec], Completion], self.apply_iscsi),
             'mds': self.apply_mds,
             'mgr': self.apply_mgr,
             'mon': self.apply_mon,
@@ -889,13 +895,6 @@ class Orchestrator(object):
         """
         raise NotImplementedError()
 
-    def list_specs(self, service_name=None):
-        # type: (Optional[str]) -> Completion
-        """
-        Lists saved service specs
-        """
-        raise NotImplementedError()
-
     def remove_service(self, service_name):
         # type: (str) -> Completion
         """
@@ -947,6 +946,14 @@ class Orchestrator(object):
         """ Update OSD cluster """
         raise NotImplementedError()
 
+    def set_unmanaged_flag(self, service_name: str, unmanaged_flag: bool) -> HandleCommandResult:
+        raise NotImplementedError()
+
+    def preview_drivegroups(self, drive_group_name: Optional[str] = 'osd',
+                            dg_specs: Optional[List[DriveGroupSpec]] = None) -> List[Dict[str, Dict[Any, Any]]]:
+        """ Get a preview for OSD deployments """
+        raise NotImplementedError()
+
     def remove_osds(self, osd_ids: List[str],
                     replace: bool = False,
                     force: bool = False) -> Completion:
@@ -1042,6 +1049,16 @@ class Orchestrator(object):
         """Update NFS cluster"""
         raise NotImplementedError()
 
+    def add_iscsi(self, spec):
+        # type: (IscsiServiceSpec) -> Completion
+        """Create iscsi daemon(s)"""
+        raise NotImplementedError()
+
+    def apply_iscsi(self, spec):
+        # type: (IscsiServiceSpec) -> Completion
+        """Update iscsi cluster"""
+        raise NotImplementedError()
+
     def add_prometheus(self, spec):
         # type: (ServiceSpec) -> Completion
         """Create new prometheus daemon"""
@@ -1274,14 +1291,25 @@ class DaemonDescription(object):
             return self.name().startswith(service_name + '.')
         return False
 
-    def service_name(self):
+    def service_id(self):
         if self.daemon_type == 'rgw':
-            v = self.daemon_id.split('.')
-            s_name = '.'.join(v[0:2])
-            return 'rgw.%s' % s_name
-        if self.daemon_type in ['mds', 'nfs']:
-            _s_name = self.daemon_id.split('.')[0]
-            return '%s.%s' % (self.daemon_type, _s_name)
+            if self.hostname and self.hostname in self.daemon_id:
+                pre, post_ = self.daemon_id.split(self.hostname)
+                return pre[:-1]
+            else:
+                # daemon_id == "realm.zone.host.random"
+                v = self.daemon_id.split('.')
+                if len(v) == 4:
+                    return '.'.join(v[0:2])
+                # subcluster or fqdn? undecidable.
+                raise OrchestratorError(f"DaemonDescription: Cannot calculate service_id: {v}")
+        if self.daemon_type in ['mds', 'nfs', 'iscsi']:
+            return self.daemon_id.split('.')[0]
+        return self.daemon_type
+
+    def service_name(self):
+        if self.daemon_type in ['rgw', 'mds', 'nfs', 'iscsi']:
+            return f'{self.daemon_type}.{self.service_id()}'
         return self.daemon_type
 
     def __repr__(self):
@@ -1316,6 +1344,10 @@ class DaemonDescription(object):
                 c[k] = datetime.datetime.strptime(c[k], DATEFMT)
         return cls(**c)
 
+    def __copy__(self):
+        # feel free to change this:
+        return DaemonDescription.from_json(self.to_json())
+
 class ServiceDescription(object):
     """
     For responding to queries about the status of a particular service,
@@ -1330,26 +1362,21 @@ class ServiceDescription(object):
     """
 
     def __init__(self,
+                 spec: ServiceSpec,
                  container_image_id=None,
                  container_image_name=None,
-                 service_name=None,
                  rados_config_location=None,
                  service_url=None,
                  last_refresh=None,
                  created=None,
                  size=0,
-                 running=0,
-                 spec=None):
+                 running=0):
         # Not everyone runs in containers, but enough people do to
         # justify having the container_image_id (image hash) and container_image
         # (image name)
         self.container_image_id = container_image_id      # image hash
         self.container_image_name = container_image_name  # image friendly name
 
-        # The service_name is either a bare type (e.g., 'mgr') or
-        # type.id combination (e.g., 'mds.fsname' or 'rgw.realm.zone').
-        self.service_name = service_name
-
         # Location of the service configuration when stored in rados
         # object. Format: "rados://<pool>/[<namespace/>]<object>"
         self.rados_config_location = rados_config_location
@@ -1368,40 +1395,45 @@ class ServiceDescription(object):
         self.last_refresh = last_refresh   # type: Optional[datetime.datetime]
         self.created = created   # type: Optional[datetime.datetime]
 
-        self.spec = spec
+        self.spec: ServiceSpec = spec
 
     def service_type(self):
-        if self.service_name:
-            return self.service_name.split('.')[0]
-        return None
+        return self.spec.service_type
 
     def __repr__(self):
-        return "<ServiceDescription>({name})".format(name=self.service_name)
+        return f"<ServiceDescription of {self.spec.one_line_str()}>"
 
     def to_json(self):
-        out = {
+        out = self.spec.to_json()
+        status = {
             'container_image_id': self.container_image_id,
             'container_image_name': self.container_image_name,
-            'service_name': self.service_name,
             'rados_config_location': self.rados_config_location,
             'service_url': self.service_url,
             'size': self.size,
             'running': self.running,
-            'spec': self.spec.to_json() if self.spec is not None else None
+            'last_refresh': self.last_refresh,
+            'created': self.created
         }
         for k in ['last_refresh', 'created']:
             if getattr(self, k):
-                out[k] = getattr(self, k).strftime(DATEFMT)
-        return {k: v for (k, v) in out.items() if v is not None}
+                status[k] = getattr(self, k).strftime(DATEFMT)
+        status = {k: v for (k, v) in status.items() if v is not None}
+        out['status'] = status
+        return out
 
     @classmethod
     @handle_type_error
-    def from_json(cls, data):
+    def from_json(cls, data: dict):
         c = data.copy()
+        status = c.pop('status', {})
+        spec = ServiceSpec.from_json(c)
+
+        c_status = status.copy()
         for k in ['last_refresh', 'created']:
-            if k in c:
-                c[k] = datetime.datetime.strptime(c[k], DATEFMT)
-        return cls(**c)
+            if k in c_status:
+                c_status[k] = datetime.datetime.strptime(c_status[k], DATEFMT)
+        return cls(spec=spec, **c_status)
 
 
 class InventoryFilter(object):
@@ -1460,10 +1492,10 @@ class InventoryHost(object):
             name = _data.pop('name')
             addr = _data.pop('addr', None) or name
             devices = inventory.Devices.from_json(_data.pop('devices'))
+            labels = _data.pop('labels', list())
             if _data:
                 error_msg = 'Unknown key(s) in Inventory: {}'.format(','.join(_data.keys()))
                 raise OrchestratorValidationError(error_msg)
-            labels = _data.get('labels', list())
             return cls(name, devices, labels, addr)
         except KeyError as e:
             error_msg = '{} is required for {}'.format(e, cls.__name__)
@@ -1538,7 +1570,8 @@ class OrchestratorClientMixin(Orchestrator):
 
 
     >>> import mgr_module
-    >>> class MyImplentation(mgr_module.MgrModule, Orchestrator):
+    >>> #doctest: +SKIP
+    ... class MyImplentation(mgr_module.MgrModule, Orchestrator):
     ...     def __init__(self, ...):
     ...         self.orch_client = OrchestratorClientMixin()
     ...         self.orch_client.set_mgr(self.mgr))
index c8c3c8369423e0bfa3f3b5a72fca1b60f22f24ac..7df8c847cecc7c792de81cbb71e59ae501da2775 100644 (file)
@@ -1,30 +1,26 @@
 import datetime
 import errno
 import json
-import yaml
+from typing import List, Set, Optional, Iterator
+import re
 
+import yaml
 import six
-
-from ceph.deployment.inventory import Device
 from prettytable import PrettyTable
 
-from mgr_util import format_bytes, to_pretty_timedelta
-
-try:
-    from typing import List, Set, Optional, Dict, Iterator
-except ImportError:
-    pass  # just for type checking.
-
-
+from ceph.deployment.inventory import Device
 from ceph.deployment.drive_group import DriveGroupSpec, DeviceSelection
-
 from ceph.deployment.service_spec import PlacementSpec, ServiceSpec
+
+from mgr_util import format_bytes, to_pretty_timedelta
 from mgr_module import MgrModule, HandleCommandResult
 
 from ._interface import OrchestratorClientMixin, DeviceLightLoc, _cli_read_command, \
     raise_if_exception, _cli_write_command, TrivialReadCompletion, OrchestratorError, \
     NoOrchestrator, OrchestratorValidationError, NFSServiceSpec, \
-    RGWSpec, InventoryFilter, InventoryHost, HostSpec, CLICommandMeta
+    RGWSpec, InventoryFilter, InventoryHost, HostSpec, CLICommandMeta, \
+    ServiceDescription, DaemonDescription, IscsiServiceSpec
+
 
 def nice_delta(now, t, suffix=''):
     if t:
@@ -32,6 +28,16 @@ def nice_delta(now, t, suffix=''):
     else:
         return '-'
 
+
+def to_format(what, format):
+    if format == 'json':
+        return json.dumps(what, sort_keys=True)
+    elif format == 'json-pretty':
+        return json.dumps(what, indent=2, sort_keys=True)
+    elif format == 'yaml':
+        return yaml.safe_dump_all(what, default_flow_style=False)
+
+
 @six.add_metaclass(CLICommandMeta)
 class OrchestratorCli(OrchestratorClientMixin, MgrModule):
     MODULE_OPTIONS = [
@@ -202,16 +208,16 @@ class OrchestratorCli(OrchestratorClientMixin, MgrModule):
 
     @_cli_read_command(
         'orch host ls',
-        'name=format,type=CephChoices,strings=json|plain,req=false',
+        'name=format,type=CephChoices,strings=plain|json|json-pretty|yaml,req=false',
         'List hosts')
     def _get_hosts(self, format='plain'):
         completion = self.get_hosts()
         self._orchestrator_wait([completion])
         raise_if_exception(completion)
-        if format == 'json':
+        if format != 'plain':
             hosts = [host.to_json()
                      for host in completion.result]
-            output = json.dumps(hosts, sort_keys=True)
+            output = to_format(hosts, format)
         else:
             table = PrettyTable(
                 ['HOST', 'ADDR', 'LABELS', 'STATUS'],
@@ -249,7 +255,7 @@ class OrchestratorCli(OrchestratorClientMixin, MgrModule):
     @_cli_read_command(
         'orch device ls',
         "name=hostname,type=CephString,n=N,req=false "
-        "name=format,type=CephChoices,strings=json|plain,req=false "
+        "name=format,type=CephChoices,strings=plain|json|json-pretty|yaml,req=false "
         "name=refresh,type=CephBool,req=false",
         'List devices on a host')
     def _list_devices(self, hostname=None, format='plain', refresh=False):
@@ -268,9 +274,9 @@ class OrchestratorCli(OrchestratorClientMixin, MgrModule):
         self._orchestrator_wait([completion])
         raise_if_exception(completion)
 
-        if format == 'json':
+        if format != 'plain':
             data = [n.to_json() for n in completion.result]
-            return HandleCommandResult(stdout=json.dumps(data))
+            return HandleCommandResult(stdout=to_format(data, format))
         else:
             out = []
 
@@ -316,28 +322,36 @@ class OrchestratorCli(OrchestratorClientMixin, MgrModule):
         'orch ls',
         "name=service_type,type=CephString,req=false "
         "name=service_name,type=CephString,req=false "
-        "name=format,type=CephChoices,strings=json|plain,req=false "
+        "name=export,type=CephBool,req=false "
+        "name=format,type=CephChoices,strings=plain|json|json-pretty|yaml,req=false "
         "name=refresh,type=CephBool,req=false",
         'List services known to orchestrator')
-    def _list_services(self, host=None, service_type=None, service_name=None, format='plain', refresh=False):
+    def _list_services(self, host=None, service_type=None, service_name=None, export=False, format='plain', refresh=False):
+
+        if export and format == 'plain':
+            format = 'yaml'
+
         completion = self.describe_service(service_type,
                                            service_name,
                                            refresh=refresh)
         self._orchestrator_wait([completion])
         raise_if_exception(completion)
-        services = completion.result
+        services: List[ServiceDescription] = completion.result
 
         def ukn(s):
             return '<unknown>' if s is None else s
 
         # Sort the list for display
-        services.sort(key=lambda s: (ukn(s.service_name)))
+        services.sort(key=lambda s: (ukn(s.spec.service_name())))
 
         if len(services) == 0:
             return HandleCommandResult(stdout="No services reported")
-        elif format == 'json':
-            data = [s.to_json() for s in services]
-            return HandleCommandResult(stdout=json.dumps(data))
+        elif format != 'plain':
+            if export:
+                data = [s.spec.to_json() for s in services]
+            else:
+                data = [s.to_json() for s in services]
+            return HandleCommandResult(stdout=to_format(data, format))
         else:
             now = datetime.datetime.utcnow()
             table = PrettyTable(
@@ -355,7 +369,7 @@ class OrchestratorCli(OrchestratorClientMixin, MgrModule):
             table.align['PLACEMENT'] = 'l'
             table.left_padding_width = 0
             table.right_padding_width = 2
-            for s in sorted(services, key=lambda s: s.service_name):
+            for s in services:
                 if not s.spec:
                     pl = '<no spec>'
                 elif s.spec.unmanaged:
@@ -363,7 +377,7 @@ class OrchestratorCli(OrchestratorClientMixin, MgrModule):
                 else:
                     pl = s.spec.placement.pretty_str()
                 table.add_row((
-                    s.service_name,
+                    s.spec.service_name(),
                     '%d/%d' % (s.running, s.size),
                     nice_delta(now, s.last_refresh, ' ago'),
                     nice_delta(now, s.created),
@@ -380,7 +394,7 @@ class OrchestratorCli(OrchestratorClientMixin, MgrModule):
         "name=service_name,type=CephString,req=false "
         "name=daemon_type,type=CephString,req=false "
         "name=daemon_id,type=CephString,req=false "
-        "name=format,type=CephChoices,strings=json|plain,req=false "
+        "name=format,type=CephChoices,strings=plain|json|json-pretty|yaml,req=false "
         "name=refresh,type=CephBool,req=false",
         'List daemons known to orchestrator')
     def _list_daemons(self, hostname=None, service_name=None, daemon_type=None, daemon_id=None, format='plain', refresh=False):
@@ -391,7 +405,7 @@ class OrchestratorCli(OrchestratorClientMixin, MgrModule):
                                        refresh=refresh)
         self._orchestrator_wait([completion])
         raise_if_exception(completion)
-        daemons = completion.result
+        daemons: List[DaemonDescription] = completion.result
 
         def ukn(s):
             return '<unknown>' if s is None else s
@@ -400,9 +414,9 @@ class OrchestratorCli(OrchestratorClientMixin, MgrModule):
 
         if len(daemons) == 0:
             return HandleCommandResult(stdout="No daemons reported")
-        elif format == 'json':
+        elif format != 'plain':
             data = [s.to_json() for s in daemons]
-            return HandleCommandResult(stdout=json.dumps(data))
+            return HandleCommandResult(stdout=to_format(data, format))
         else:
             now = datetime.datetime.utcnow()
             table = PrettyTable(
@@ -413,12 +427,15 @@ class OrchestratorCli(OrchestratorClientMixin, MgrModule):
             table.left_padding_width = 0
             table.right_padding_width = 2
             for s in sorted(daemons, key=lambda s: s.name()):
-                status = {
-                    -1: 'error',
-                    0: 'stopped',
-                    1: 'running',
-                    None: '<unknown>'
-                }[s.status]
+                if s.status_desc:
+                    status = s.status_desc
+                else:
+                    status = {
+                        -1: 'error',
+                        0: 'stopped',
+                        1: 'running',
+                        None: '<unknown>'
+                    }[s.status]
                 if s.status == 1 and s.started:
                     status += ' (%s)' % to_pretty_timedelta(now - s.started)
 
@@ -435,18 +452,98 @@ class OrchestratorCli(OrchestratorClientMixin, MgrModule):
 
             return HandleCommandResult(stdout=table.get_string())
 
+    def set_unmanaged_flag(self, service_name: str, unmanaged_flag: bool) -> HandleCommandResult:
+        # setting unmanaged for $service_name
+        completion = self.describe_service(service_name=service_name)
+        self._orchestrator_wait([completion])
+        raise_if_exception(completion)
+        services: List[ServiceDescription] = completion.result
+        specs = list()
+        for service in services:
+            spec = service.spec
+            spec.unmanaged = unmanaged_flag
+            specs.append(spec)
+        completion = self.apply(specs)
+        self._orchestrator_wait([completion])
+        raise_if_exception(completion)
+        if specs:
+            return HandleCommandResult(stdout=f"Changed <unmanaged> flag to <{unmanaged_flag}> for "
+                                              f"{[spec.service_name() for spec in specs]}")
+        else:
+            return HandleCommandResult(stdout=f"No specs found with the <service_name> -> {service_name}")
+
     @_cli_write_command(
         'orch apply osd',
-        'name=all_available_devices,type=CephBool,req=false',
+        'name=all_available_devices,type=CephBool,req=false '
+        'name=preview,type=CephBool,req=false '
+        'name=service_name,type=CephString,req=false '
+        'name=unmanaged,type=CephBool,req=false '
+        "name=format,type=CephChoices,strings=plain|json|json-pretty|yaml,req=false",
         'Create OSD daemon(s) using a drive group spec')
-    def _apply_osd(self, all_available_devices=False, inbuf=None):
-        # type: (bool, Optional[str]) -> HandleCommandResult
+    def _apply_osd(self,
+                   all_available_devices: bool = False,
+                   preview: bool = False,
+                   service_name: Optional[str] = None,
+                   unmanaged: Optional[bool] = None,
+                   format: Optional[str] = 'plain',
+                   inbuf: Optional[str] = None) -> HandleCommandResult:
         """Apply DriveGroupSpecs to create OSDs"""
         usage = """
 Usage:
   ceph orch apply osd -i <json_file/yaml_file>
   ceph orch apply osd --use-all-devices
+  ceph orch apply osd --service-name <service_name> --preview
+  ceph orch apply osd --service-name <service_name> --unmanaged=True|False
 """
+
+        def print_preview(prev, format):
+            if format != 'plain':
+                return to_format(prev, format)
+            else:
+                table = PrettyTable(
+                    ['NAME', 'HOST', 'DATA', 'DB', 'WAL'],
+                    border=False)
+                table.align = 'l'
+                table.left_padding_width = 0
+                table.right_padding_width = 1
+                for data in prev:
+                    dg_name = data.get('drivegroup')
+                    hostname = data.get('host')
+                    for osd in data.get('data', {}).get('osds', []):
+                        db_path = '-'
+                        wal_path = '-'
+                        block_db = osd.get('block.db', {}).get('path')
+                        block_wal = osd.get('block.wal', {}).get('path')
+                        block_data = osd.get('data', {}).get('path', '')
+                        if not block_data:
+                            continue
+                        if block_db:
+                            db_path = data.get('data', {}).get('vg', {}).get('devices', [])
+                        if block_wal:
+                            wal_path = data.get('data', {}).get('wal_vg', {}).get('devices', [])
+                        table.add_row((dg_name, hostname, block_data, db_path, wal_path))
+                out = table.get_string()
+                if not out:
+                    out = "No pending deployments."
+                return out
+
+        if (inbuf or all_available_devices) and service_name:
+            # mutually exclusive
+            return HandleCommandResult(-errno.EINVAL, stderr=usage)
+
+        if preview and not (service_name or all_available_devices or inbuf):
+            # get all stored drivegroups and print
+            prev = self.preview_drivegroups()
+            return HandleCommandResult(stdout=print_preview(prev, format))
+
+        if service_name and preview:
+            # get specified drivegroup and print
+            prev = self.preview_drivegroups(service_name)
+            return HandleCommandResult(stdout=print_preview(prev, format))
+
+        if service_name and unmanaged is not None:
+            return self.set_unmanaged_flag(service_name, unmanaged)
+
         if not inbuf and not all_available_devices:
             return HandleCommandResult(-errno.EINVAL, stderr=usage)
         if inbuf:
@@ -454,7 +551,7 @@ Usage:
                 raise OrchestratorError('--all-available-devices cannot be combined with an osd spec')
             try:
                 drivegroups = yaml.load_all(inbuf)
-                dg_specs = [ServiceSpec.from_json(dg) for dg in drivegroups]
+                dg_specs = [DriveGroupSpec.from_json(dg) for dg in drivegroups]
             except ValueError as e:
                 msg = 'Failed to read JSON/YAML input: {}'.format(str(e)) + usage
                 return HandleCommandResult(-errno.EINVAL, stderr=msg)
@@ -467,10 +564,12 @@ Usage:
                 )
             ]
 
-        completion = self.apply_drivegroups(dg_specs)
-        self._orchestrator_wait([completion])
-        raise_if_exception(completion)
-        return HandleCommandResult(stdout=completion.result_str())
+        if not preview:
+            completion = self.apply_drivegroups(dg_specs)
+            self._orchestrator_wait([completion])
+            raise_if_exception(completion)
+        ret = self.preview_drivegroups(dg_specs=dg_specs)
+        return HandleCommandResult(stdout=print_preview(ret, format))
 
     @_cli_write_command(
         'orch daemon add osd',
@@ -571,6 +670,8 @@ Usage:
             completion = self.add_node_exporter(spec)
         elif daemon_type == 'prometheus':
             completion = self.add_prometheus(spec)
+        elif daemon_type == 'iscsi':
+            completion = self.add_iscsi(spec)
         else:
             raise OrchestratorValidationError(f'unknown daemon type `{daemon_type}`')
 
@@ -595,11 +696,11 @@ Usage:
 
     @_cli_write_command(
         'orch daemon add rgw',
-        'name=realm_name,type=CephString '
-        'name=zone_name,type=CephString '
+        'name=realm_name,type=CephString,req=false '
+        'name=zone_name,type=CephString,req=false '
         'name=placement,type=CephString,req=false',
         'Start RGW daemon(s)')
-    def _rgw_add(self, realm_name, zone_name, placement=None, inbuf=None):
+    def _rgw_add(self, realm_name=None, zone_name=None, placement=None, inbuf=None):
         usage = """
 Usage:
   ceph orch daemon rgw add -i <json_file>
@@ -611,17 +712,52 @@ Usage:
             except ValueError as e:
                 msg = 'Failed to read JSON input: {}'.format(str(e)) + usage
                 return HandleCommandResult(-errno.EINVAL, stderr=msg)
-        rgw_spec = RGWSpec(
-            rgw_realm=realm_name,
-            rgw_zone=zone_name,
-            placement=PlacementSpec.from_string(placement),
-        )
+        elif realm_name and zone_name:
+            rgw_spec = RGWSpec(
+                rgw_realm=realm_name,
+                rgw_zone=zone_name,
+                placement=PlacementSpec.from_string(placement))
+        else:
+            return HandleCommandResult(-errno.EINVAL, stderr=usage)
 
         completion = self.add_rgw(rgw_spec)
         self._orchestrator_wait([completion])
         raise_if_exception(completion)
         return HandleCommandResult(stdout=completion.result_str())
 
+    @_cli_write_command(
+        'orch daemon add iscsi',
+        'name=pool,type=CephString '
+        'name=fqdn_enabled,type=CephString,req=false '
+        'name=trusted_ip_list,type=CephString,req=false '
+        'name=placement,type=CephString,req=false',
+        'Start iscsi daemon(s)')
+    def _iscsi_add(self, pool, fqdn_enabled=None, trusted_ip_list=None, placement=None, inbuf=None):
+        usage = """
+        Usage:
+          ceph orch daemon add iscsi -i <json_file>
+          ceph orch daemon add iscsi <pool>
+                """
+        if inbuf:
+            try:
+                iscsi_spec = IscsiServiceSpec.from_json(json.loads(inbuf))
+            except ValueError as e:
+                msg = 'Failed to read JSON input: {}'.format(str(e)) + usage
+                return HandleCommandResult(-errno.EINVAL, stderr=msg)
+        else:
+            iscsi_spec = IscsiServiceSpec(
+                service_id='iscsi',
+                pool=pool,
+                fqdn_enabled=fqdn_enabled,
+                trusted_ip_list=trusted_ip_list,
+                placement=PlacementSpec.from_string(placement),
+            )
+
+        completion = self.add_iscsi(iscsi_spec)
+        self._orchestrator_wait([completion])
+        raise_if_exception(completion)
+        return HandleCommandResult(stdout=completion.result_str())
+
     @_cli_write_command(
         'orch daemon add nfs',
         "name=svc_arg,type=CephString "
@@ -697,17 +833,6 @@ Usage:
         raise_if_exception(completion)
         return HandleCommandResult(stdout=completion.result_str())
 
-    @_cli_write_command(
-        'orch spec dump',
-        'name=service_name,type=CephString,req=false',
-        desc='List all Service specs')
-    def _get_service_specs(self, service_name=None):
-        completion = self.list_specs(service_name=service_name)
-        self._orchestrator_wait([completion])
-        raise_if_exception(completion)
-        specs = completion.result
-        return HandleCommandResult(stdout=yaml.safe_dump_all(specs))
-
     @_cli_write_command(
         'orch apply',
         'name=service_type,type=CephChoices,strings=mon|mgr|rbd-mirror|crash|alertmanager|grafana|node-exporter|prometheus,req=false '
@@ -917,12 +1042,28 @@ Usage:
         c = TrivialReadCompletion(result=True)
         assert c.has_result
 
+    @staticmethod
+    def _upgrade_check_image_name(image, ceph_version):
+        """
+        >>> OrchestratorCli._upgrade_check_image_name('v15.2.0', None)
+        Traceback (most recent call last):
+        orchestrator._interface.OrchestratorValidationError: Error: unable to pull image name `v15.2.0`.
+          Maybe you meant `--ceph-version 15.2.0`?
+
+        """
+        if image and re.match(r'^v?\d+\.\d+\.\d+$', image) and ceph_version is None:
+            ver = image[1:] if image.startswith('v') else image
+            s =  f"Error: unable to pull image name `{image}`.\n" \
+                 f"  Maybe you meant `--ceph-version {ver}`?"
+            raise OrchestratorValidationError(s)
+
     @_cli_write_command(
         'orch upgrade check',
         'name=image,type=CephString,req=false '
         'name=ceph_version,type=CephString,req=false',
         desc='Check service versions vs available and target containers')
     def _upgrade_check(self, image=None, ceph_version=None):
+        self._upgrade_check_image_name(image, ceph_version)
         completion = self.upgrade_check(image=image, version=ceph_version)
         self._orchestrator_wait([completion])
         raise_if_exception(completion)
@@ -950,6 +1091,7 @@ Usage:
         'name=ceph_version,type=CephString,req=false',
         desc='Initiate upgrade')
     def _upgrade_start(self, image=None, ceph_version=None):
+        self._upgrade_check_image_name(image, ceph_version)
         completion = self.upgrade_start(image, ceph_version)
         self._orchestrator_wait([completion])
         raise_if_exception(completion)
index c43770d2d72ecc7780eb1976211e0b1aed4ff4b9..0956073bb12586e007571db92fb285baa134c466 100644 (file)
@@ -7,3 +7,5 @@ requests-mock
 pyyaml
 prettytable
 pyOpenSSL
+execnet
+remoto
\ No newline at end of file
index 959a75952a410de6fc6d741609caf253b8871550..3459f2ce62136079f8884a5d88e20c33d4c41a5a 100644 (file)
@@ -2,6 +2,7 @@ import datetime
 import threading
 import functools
 import os
+import json
 
 from ceph.deployment import inventory
 from ceph.deployment.service_spec import ServiceSpec, NFSServiceSpec, RGWSpec, PlacementSpec
@@ -232,16 +233,18 @@ class RookOrchestrator(MgrModule, orchestrator.Orchestrator):
         for host_name, host_devs in devs.items():
             devs = []
             for d in host_devs:
-                dev = inventory.Device(
-                    path='/dev/' + d['name'],
-                    sys_api=dict(
-                        rotational='1' if d['rotational'] else '0',
-                        size=d['size']
-                    ),
-                    available=d['empty'],
-                    rejected_reasons=[] if d['empty'] else ['not empty'],
-                )
-                devs.append(dev)
+                if 'cephVolumeData' in d and d['cephVolumeData']:
+                    devs.append(inventory.Device.from_json(json.loads(d['cephVolumeData'])))
+                else:
+                    devs.append(inventory.Device(
+                        path = '/dev/' + d['name'],
+                        sys_api = dict(
+                            rotational = '1' if d['rotational'] else '0',
+                            size = d['size']
+                            ),
+                        available = False,
+                        rejected_reasons=['device data coming from ceph-volume not provided'],
+                    ))
 
             result.append(orchestrator.InventoryHost(host_name, inventory.Devices(devs)))
 
@@ -266,7 +269,6 @@ class RookOrchestrator(MgrModule, orchestrator.Orchestrator):
 
         spec = {}
         spec['mon'] = orchestrator.ServiceDescription(
-            service_name='mon',
             spec=ServiceSpec(
                 'mon',
                 placement=PlacementSpec(
@@ -278,7 +280,6 @@ class RookOrchestrator(MgrModule, orchestrator.Orchestrator):
             last_refresh=now,
         )
         spec['mgr'] = orchestrator.ServiceDescription(
-            service_name='mgr',
             spec=ServiceSpec(
                 'mgr',
                 placement=PlacementSpec.from_string('count:1'),
@@ -289,7 +290,6 @@ class RookOrchestrator(MgrModule, orchestrator.Orchestrator):
         )
         if not cl['spec'].get('crashCollector', {}).get('disable', False):
             spec['crash'] = orchestrator.ServiceDescription(
-                service_name='crash',
                 spec=ServiceSpec(
                     'crash',
                     placement=PlacementSpec.from_string('*'),
@@ -313,9 +313,9 @@ class RookOrchestrator(MgrModule, orchestrator.Orchestrator):
             if fs['spec'].get('metadataServer', {}).get('activeStandby', False):
                 total_mds = active * 2
             spec[svc] = orchestrator.ServiceDescription(
-                service_name=svc,
                 spec=ServiceSpec(
-                    svc,
+                    service_type='mds',
+                    service_id=fs['metadata']['name'],
                     placement=PlacementSpec(count=active),
                 ),
                 size=total_mds,
@@ -341,8 +341,8 @@ class RookOrchestrator(MgrModule, orchestrator.Orchestrator):
                 ssl = False
                 port = zone['spec']['gateway']['port'] or 80
             spec[svc] = orchestrator.ServiceDescription(
-                service_name=svc,
                 spec=RGWSpec(
+                    service_id=rgw_realm + '.' + rgw_zone,
                     rgw_realm=rgw_realm,
                     rgw_zone=rgw_zone,
                     ssl=ssl,
index 8283dc0a5b1232a803838b4ec9269daa141210f5..8264fdf32573075afd02c5f0016e03b90cdb651e 100644 (file)
@@ -240,8 +240,8 @@ class Module(MgrModule):
         sock = BaseSocket(url)
         self.log.debug('Sending data to Telegraf at %s', sock.address)
         now = self.now()
-        with sock as s:
-            try:
+        try:
+            with sock as s:
                 for measurement in self.gather_measurements():
                     self.log.debug(measurement)
                     line = Line(measurement['measurement'],
@@ -249,8 +249,10 @@ class Module(MgrModule):
                                 measurement['tags'], now)
                     self.log.debug(line.to_line_protocol())
                     s.send(line.to_line_protocol())
-            except (socket.error, RuntimeError, IOError, OSError):
-                self.log.exception('Failed to send statistics to Telegraf:')
+        except (socket.error, RuntimeError, IOError, OSError):
+            self.log.exception('Failed to send statistics to Telegraf:')
+        except FileNotFoundError:
+            self.log.exception('Failed to open Telegraf at: %s', url.geturl())
 
     def shutdown(self):
         self.log.info('Stopping Telegraf module')
index 3068979ceb1268d69e7ec1882b9770455c43d1b5..83c937a09cb90c7d8db0943bce87c9d8b63b0700 100644 (file)
 {
   "inventory": [
     {
-      "name": "host0",
+      "addr": "mgr0",
       "devices": [
         {
-          "available": false,
-          "rejected_reasons": ["locked"],
+          "available": true,
+          "device_id": "",
+          "human_readable_type": "ssd",
+          "lvs": [],
+          "path": "/dev/vdb",
+          "rejected_reasons": [],
           "sys_api": {
-            "scheduler_mode": "",
+            "human_readable_size": "10.00 GB",
+            "locked": 0,
+            "model": "",
+            "nr_requests": "256",
+            "partitions": {},
+            "path": "/dev/vdb",
+            "removable": "0",
+            "rev": "",
+            "ro": "0",
             "rotational": "0",
-            "vendor": "",
-            "human_readable_size": "50.00 GB",
-            "sectors": 0,
+            "sas_address": "",
             "sas_device_handle": "",
+            "scheduler_mode": "mq-deadline",
+            "sectors": 0,
+            "sectorsize": "512",
+            "size": 10737418240,
+            "support_discard": "0",
+            "vendor": "0x1af4"
+          }
+        },
+        {
+          "available": true,
+          "device_id": "",
+          "human_readable_type": "hdd",
+          "lvs": [],
+          "path": "/dev/vdc",
+          "rejected_reasons": [],
+          "sys_api": {
+            "human_readable_size": "20.00 GB",
+            "locked": 0,
+            "model": "",
+            "nr_requests": "256",
             "partitions": {},
+            "path": "/dev/vdc",
+            "removable": "0",
             "rev": "",
+            "ro": "0",
+            "rotational": "1",
             "sas_address": "",
-            "locked": 1,
+            "sas_device_handle": "",
+            "scheduler_mode": "mq-deadline",
+            "sectors": 0,
             "sectorsize": "512",
-            "removable": "0",
-            "path": "/dev/dm-0",
-            "support_discard": "",
+            "size": 21474836480,
+            "support_discard": "0",
+            "vendor": "0x1af4"
+          }
+        },
+        {
+          "available": true,
+          "device_id": "",
+          "human_readable_type": "hdd",
+          "lvs": [],
+          "path": "/dev/vdd",
+          "rejected_reasons": [],
+          "sys_api": {
+            "human_readable_size": "20.00 GB",
+            "locked": 0,
             "model": "",
+            "nr_requests": "256",
+            "partitions": {},
+            "path": "/dev/vdd",
+            "removable": "0",
+            "rev": "",
             "ro": "0",
-            "nr_requests": "128",
-            "size": 53687091200
-          },
-          "lvs": [],
-          "path": "/dev/dm-0"
+            "rotational": "1",
+            "sas_address": "",
+            "sas_device_handle": "",
+            "scheduler_mode": "mq-deadline",
+            "sectors": 0,
+            "sectorsize": "512",
+            "size": 21474836480,
+            "support_discard": "0",
+            "vendor": "0x1af4"
+          }
         },
         {
           "available": false,
+          "device_id": "",
+          "human_readable_type": "hdd",
+          "lvs": [],
+          "path": "/dev/vda",
           "rejected_reasons": ["locked"],
           "sys_api": {
-            "scheduler_mode": "",
-            "rotational": "0",
-            "vendor": "",
-            "human_readable_size": "31.47 GB",
-            "sectors": 0,
-            "sas_device_handle": "",
-            "partitions": {},
+            "human_readable_size": "41.00 GB",
+            "locked": 1,
+            "model": "",
+            "nr_requests": "256",
+            "partitions": {
+              "vda1": {
+                "holders": [],
+                "human_readable_size": "40.00 GB",
+                "sectors": "83884032",
+                "sectorsize": 512,
+                "size": 42948624384,
+                "start": "2048"
+              }
+            },
+            "path": "/dev/vda",
+            "removable": "0",
             "rev": "",
+            "ro": "0",
+            "rotational": "1",
             "sas_address": "",
-            "locked": 1,
+            "sas_device_handle": "",
+            "scheduler_mode": "mq-deadline",
+            "sectors": 0,
             "sectorsize": "512",
-            "removable": "0",
-            "path": "/dev/dm-1",
-            "support_discard": "",
+            "size": 44023414784,
+            "support_discard": "0",
+            "vendor": "0x1af4"
+          }
+        }
+      ],
+      "labels": [],
+      "name": "mgr0"
+    },
+    {
+      "addr": "osd0",
+      "devices": [
+        {
+          "available": true,
+          "device_id": "",
+          "human_readable_type": "ssd",
+          "lvs": [],
+          "path": "/dev/vdb",
+          "rejected_reasons": [],
+          "sys_api": {
+            "human_readable_size": "10.00 GB",
+            "locked": 0,
             "model": "",
+            "nr_requests": "256",
+            "partitions": {},
+            "path": "/dev/vdb",
+            "removable": "0",
+            "rev": "",
             "ro": "0",
-            "nr_requests": "128",
-            "size": 33789313024
-          },
-          "lvs": [],
-          "path": "/dev/dm-1"
+            "rotational": "0",
+            "sas_address": "",
+            "sas_device_handle": "",
+            "scheduler_mode": "mq-deadline",
+            "sectors": 0,
+            "sectorsize": "512",
+            "size": 10737418240,
+            "support_discard": "0",
+            "vendor": "0x1af4"
+          }
         },
         {
-          "available": false,
-          "rejected_reasons": ["locked"],
+          "available": true,
+          "device_id": "",
+          "human_readable_type": "hdd",
+          "lvs": [],
+          "path": "/dev/vdc",
+          "rejected_reasons": [],
           "sys_api": {
-            "scheduler_mode": "",
-            "rotational": "0",
-            "vendor": "",
-            "human_readable_size": "394.27 GB",
-            "sectors": 0,
-            "sas_device_handle": "",
+            "human_readable_size": "20.00 GB",
+            "locked": 0,
+            "model": "",
+            "nr_requests": "256",
             "partitions": {},
+            "path": "/dev/vdc",
+            "removable": "0",
             "rev": "",
+            "ro": "0",
+            "rotational": "1",
             "sas_address": "",
-            "locked": 1,
+            "sas_device_handle": "",
+            "scheduler_mode": "mq-deadline",
+            "sectors": 0,
             "sectorsize": "512",
-            "removable": "0",
-            "path": "/dev/dm-2",
-            "support_discard": "",
+            "size": 21474836480,
+            "support_discard": "0",
+            "vendor": "0x1af4"
+          }
+        },
+        {
+          "available": true,
+          "device_id": "",
+          "human_readable_type": "hdd",
+          "lvs": [],
+          "path": "/dev/vdd",
+          "rejected_reasons": [],
+          "sys_api": {
+            "human_readable_size": "20.00 GB",
+            "locked": 0,
             "model": "",
+            "nr_requests": "256",
+            "partitions": {},
+            "path": "/dev/vdd",
+            "removable": "0",
+            "rev": "",
             "ro": "0",
-            "nr_requests": "128",
-            "size": 423347879936
-          },
-          "lvs": [],
-          "path": "/dev/dm-2"
+            "rotational": "1",
+            "sas_address": "",
+            "sas_device_handle": "",
+            "scheduler_mode": "mq-deadline",
+            "sectors": 0,
+            "sectorsize": "512",
+            "size": 21474836480,
+            "support_discard": "0",
+            "vendor": "0x1af4"
+          }
         },
         {
           "available": false,
+          "device_id": "",
+          "human_readable_type": "hdd",
+          "lvs": [],
+          "path": "/dev/vda",
           "rejected_reasons": ["locked"],
           "sys_api": {
-            "scheduler_mode": "cfq",
-            "rotational": "0",
-            "vendor": "ATA",
-            "human_readable_size": "476.94 GB",
-            "sectors": 0,
-            "sas_device_handle": "",
+            "human_readable_size": "41.00 GB",
+            "locked": 1,
+            "model": "",
+            "nr_requests": "256",
             "partitions": {
-              "sda2": {
-                "start": "411648",
+              "vda1": {
                 "holders": [],
+                "human_readable_size": "40.00 GB",
+                "sectors": "83884032",
                 "sectorsize": 512,
-                "sectors": "2097152",
-                "size": "1024.00 MB"
-              },
-              "sda3": {
-                "start": "2508800",
-                "holders": ["dm-1", "dm-2", "dm-0"],
-                "sectorsize": 512,
-                "sectors": "997705728",
-                "size": "475.74 GB"
-              },
-              "sda1": {
-                "start": "2048",
-                "holders": [],
-                "sectorsize": 512,
-                "sectors": "409600",
-                "size": "200.00 MB"
+                "size": 42948624384,
+                "start": "2048"
               }
             },
-            "rev": "0000",
-            "sas_address": "",
-            "locked": 1,
-            "sectorsize": "512",
+            "path": "/dev/vda",
             "removable": "0",
-            "path": "/dev/sda",
-            "support_discard": "",
-            "model": "SanDisk SD8SN8U5",
+            "rev": "",
             "ro": "0",
-            "nr_requests": "128",
-            "size": 512110190592
-          },
-          "lvs": [
-            {
-              "comment": "not used by ceph",
-              "name": "swap"
-            },
-            {
-              "comment": "not used by ceph",
-              "name": "home"
-            },
-            {
-              "comment": "not used by ceph",
-              "name": "root"
-            }
-          ],
-          "path": "/dev/sda"
+            "rotational": "1",
+            "sas_address": "",
+            "sas_device_handle": "",
+            "scheduler_mode": "mq-deadline",
+            "sectors": 0,
+            "sectorsize": "512",
+            "size": 44023414784,
+            "support_discard": "0",
+            "vendor": "0x1af4"
+          }
         }
-      ]
+      ],
+      "labels": [],
+      "name": "osd0"
     }
   ],
+
   "services": [
     {
-      "container_image_id": "d457abd6b7ef89251b9ba7b1ae2edbebffd3bf0e0b9069b59d48c7f38b11c944",
-      "container_image_name": "docker.io/ceph/daemon-base:latest-master-devel",
-      "service_name": "crash",
-      "size": 1,
-      "running": 0,
-      "last_refresh": "2020-02-26T07:23:56.501157"
+      "placement": {
+        "hosts": [
+          {
+            "hostname": "mgr0",
+            "name": "",
+            "network": ""
+          },
+          {
+            "hostname": "osd0",
+            "name": "",
+            "network": ""
+          }
+        ]
+      },
+      "service_id": "xx",
+      "service_name": "mds.xx",
+      "service_type": "mds",
+      "status": {
+        "container_image_id": "36114e38494190b0c9d4b088c12e6e4086e8017b96b4d5fc14eb5406bd51b55b",
+        "container_image_name": "quay.io/ceph-ci/ceph:master",
+        "created": "2020-04-16T03:39:39.512721",
+        "last_refresh": "2020-04-16T06:51:42.412980",
+        "running": 2,
+        "size": 2
+      }
     },
     {
-      "container_image_id": "d457abd6b7ef89251b9ba7b1ae2edbebffd3bf0e0b9069b59d48c7f38b11c944",
-      "container_image_name": "docker.io/ceph/daemon-base:latest-master-devel",
+      "placement": {
+        "hosts": [
+          {
+            "hostname": "mgr0",
+            "name": "",
+            "network": ""
+          },
+          {
+            "hostname": "osd0",
+            "name": "",
+            "network": ""
+          }
+        ]
+      },
       "service_name": "mgr",
-      "size": 1,
-      "running": 1,
-      "last_refresh": "2020-02-26T07:23:56.501087"
-    },
-    {
-      "container_image_id": "d457abd6b7ef89251b9ba7b1ae2edbebffd3bf0e0b9069b59d48c7f38b11c944",
-      "container_image_name": "docker.io/ceph/daemon-base:latest-master-devel",
-      "service_name": "mon",
-      "size": 1,
-      "running": 1,
-      "last_refresh": "2020-02-26T07:23:56.501013"
-    },
-    {
-      "container_image_id": "d457abd6b7ef89251b9ba7b1ae2edbebffd3bf0e0b9069b59d48c7f38b11c944",
-      "container_image_name": "docker.io/ceph/daemon-base:latest-master-devel",
-      "service_name": "osd",
-      "size": 4,
-      "running": 4,
-      "last_refresh": "2020-02-26T07:23:56.500960"
+      "service_type": "mgr",
+      "status": {
+        "container_image_id": "36114e38494190b0c9d4b088c12e6e4086e8017b96b4d5fc14eb5406bd51b55b",
+        "container_image_name": "quay.io/ceph-ci/ceph:master",
+        "created": "2020-04-16T05:44:40.978366",
+        "last_refresh": "2020-04-16T06:51:42.412919",
+        "running": 2,
+        "size": 2
+      }
     }
   ],
   "daemons": [
     {
-      "hostname": "host0",
-      "container_id": "a8ad2d6ceb5d5b8a308207ea58963b9295d52d3c282a054534b1ed52e5e77d31",
-      "container_image_id": "d457abd6b7ef89251b9ba7b1ae2edbebffd3bf0e0b9069b59d48c7f38b11c944",
-      "container_image_name": "docker.io/ceph/daemon-base:latest-master-devel",
-      "daemon_id": "host0",
-      "daemon_type": "crash",
-      "version": "15.1.0-1240-ge5841ce",
-      "status": -1,
-      "status_desc": "unknown",
-      "last_refresh": "2020-02-26T07:23:56.501157"
-    },
-    {
-      "hostname": "host0",
-      "container_id": "10f182e93c9c9110b7223e7b8e0337445fded77a317c649fc54b188f22c6e4cb",
-      "container_image_id": "d457abd6b7ef89251b9ba7b1ae2edbebffd3bf0e0b9069b59d48c7f38b11c944",
-      "container_image_name": "docker.io/ceph/daemon-base:latest-master-devel",
-      "daemon_id": "host0.kjapjg",
-      "daemon_type": "mgr",
-      "version": "15.1.0-1240-ge5841ce",
+      "container_id": "87d84858109d",
+      "container_image_id": "36114e38494190b0c9d4b088c12e6e4086e8017b96b4d5fc14eb5406bd51b55b",
+      "container_image_name": "quay.io/ceph-ci/ceph:master",
+      "created": "2020-04-16T03:39:40.394999",
+      "daemon_id": "xx.mgr0.nkchxn",
+      "daemon_type": "mds",
+      "hostname": "mgr0",
+      "last_refresh": "2020-04-16T06:51:42.412980",
+      "started": "2020-04-16T03:39:40.466639",
       "status": 1,
       "status_desc": "running",
-      "last_refresh": "2020-02-26T07:23:56.501087"
+      "version": "16.0.0-827-g61ad12e"
     },
     {
-      "hostname": "host0",
-      "container_id": "27f178927ca4dbbd8d73380662f15828f780604f97baae4cac4d3f984e2c32af",
-      "container_image_id": "d457abd6b7ef89251b9ba7b1ae2edbebffd3bf0e0b9069b59d48c7f38b11c944",
-      "container_image_name": "docker.io/ceph/daemon-base:latest-master-devel",
-      "daemon_id": "host0",
-      "daemon_type": "mon",
-      "version": "15.1.0-1240-ge5841ce",
+      "container_id": "07ff9b56bcb9",
+      "container_image_id": "36114e38494190b0c9d4b088c12e6e4086e8017b96b4d5fc14eb5406bd51b55b",
+      "container_image_name": "quay.io/ceph-ci/ceph:master",
+      "created": "2020-04-16T03:39:41.318155",
+      "daemon_id": "xx.osd0.ouawlt",
+      "daemon_type": "mds",
+      "hostname": "osd0",
+      "last_refresh": "2020-04-16T06:51:43.182850",
+      "started": "2020-04-16T03:39:41.387003",
       "status": 1,
       "status_desc": "running",
-      "last_refresh": "2020-02-26T07:23:56.501013"
+      "version": "16.0.0-827-g61ad12e"
     },
     {
-      "hostname": "host0",
-      "container_id": "71803dddfb9f736c26cc2127e684c66486034292ea94bc560d00132c29fe8b16",
-      "container_image_id": "d457abd6b7ef89251b9ba7b1ae2edbebffd3bf0e0b9069b59d48c7f38b11c944",
-      "container_image_name": "docker.io/ceph/daemon-base:latest-master-devel",
-      "daemon_id": "0",
-      "daemon_type": "osd",
-      "version": "15.1.0-1240-ge5841ce",
-      "status": 1,
-      "status_desc": "running",
-      "last_refresh": "2020-02-26T07:23:56.501050"
-    },
-    {
-      "hostname": "host0",
-      "container_id": "3ca816209df390e8de3cdff78d95f69efd664b4017036b4d7c47563731e1fe37",
-      "container_image_id": "d457abd6b7ef89251b9ba7b1ae2edbebffd3bf0e0b9069b59d48c7f38b11c944",
-      "container_image_name": "docker.io/ceph/daemon-base:latest-master-devel",
-      "daemon_id": "1",
-      "daemon_type": "osd",
-      "version": "15.1.0-1240-ge5841ce",
-      "status": 1,
-      "status_desc": "running",
-      "last_refresh": "2020-02-26T07:23:56.500960"
-    },
-    {
-      "hostname": "host0",
-      "container_id": "fcbcc88f023f3734f9015fcdae09277ed4c5e6b0ed1590275e4538d897588acb",
-      "container_image_id": "d457abd6b7ef89251b9ba7b1ae2edbebffd3bf0e0b9069b59d48c7f38b11c944",
-      "container_image_name": "docker.io/ceph/daemon-base:latest-master-devel",
-      "daemon_id": "2",
-      "daemon_type": "osd",
-      "version": "15.1.0-1240-ge5841ce",
+      "container_id": "459a982152c6",
+      "container_image_id": "36114e38494190b0c9d4b088c12e6e4086e8017b96b4d5fc14eb5406bd51b55b",
+      "container_image_name": "quay.io/ceph-ci/ceph:master",
+      "created": "2020-04-16T03:36:31.577976",
+      "daemon_id": "mgr0.gvlxbw",
+      "daemon_type": "mgr",
+      "hostname": "mgr0",
+      "last_refresh": "2020-04-16T06:51:42.412919",
+      "started": "2020-04-16T03:36:31.632298",
       "status": 1,
       "status_desc": "running",
-      "last_refresh": "2020-02-26T07:23:56.501123"
+      "version": "16.0.0-827-g61ad12e"
     },
     {
-      "hostname": "host0",
-      "container_id": "55f3894fffa52854e22354c7629cc4c58db46903ac0d977988b81ed5ba4ad759",
-      "container_image_id": "d457abd6b7ef89251b9ba7b1ae2edbebffd3bf0e0b9069b59d48c7f38b11c944",
-      "container_image_name": "docker.io/ceph/daemon-base:latest-master-devel",
-      "daemon_id": "3",
-      "daemon_type": "osd",
-      "version": "15.1.0-1240-ge5841ce",
+      "container_id": "37b7fc67390a",
+      "container_image_id": "36114e38494190b0c9d4b088c12e6e4086e8017b96b4d5fc14eb5406bd51b55b",
+      "container_image_name": "quay.io/ceph-ci/ceph:master",
+      "created": "2020-04-16T05:44:41.551646",
+      "daemon_id": "osd0.mnsbeq",
+      "daemon_type": "mgr",
+      "hostname": "osd0",
+      "last_refresh": "2020-04-16T06:51:43.182937",
+      "started": "2020-04-16T05:44:41.606514",
       "status": 1,
       "status_desc": "running",
-      "last_refresh": "2020-02-26T07:23:56.501193"
+      "version": "16.0.0-827-g61ad12e"
     }
   ]
 }
index c01c80b19ca67dbb50dfa6874ac82dbec6d058c2..04942c4d1733ea800058d024500e9d7a956a4129 100644 (file)
@@ -178,7 +178,7 @@ class TestOrchestrator(MgrModule, orchestrator.Orchestrator):
                 raise AssertionError('Fail to determine daemon type from {}'.format(p))
 
             # parse daemon ID. Possible options: `-i <id>`, `--id=<id>`, `--id <id>`
-            patterns = ['-i\s(\w+)', '--id[\s=](\w+)']
+            patterns = [r'-i\s(\w+)', r'--id[\s=](\w+)']
             daemon_id = None
             for pattern in patterns:
                 m = re.search(pattern, p)
@@ -197,10 +197,8 @@ class TestOrchestrator(MgrModule, orchestrator.Orchestrator):
         if self._services:
             # Dummy data
             services = self._services
-            # Can't deduce service type from dummy data (no daemons).
-            # Assume service_type is service_name.
             if service_type is not None:
-                services = list(filter(lambda s: s.service_name == service_type, services))
+                services = list(filter(lambda s: s.spec.service_type == service_type, services))
         else:
             # Deduce services from daemons running on localhost
             all_daemons = self._get_ceph_daemons()
@@ -210,10 +208,13 @@ class TestOrchestrator(MgrModule, orchestrator.Orchestrator):
                     continue
                 daemon_size = len(list(daemons))
                 services.append(orchestrator.ServiceDescription(
-                    service_name=daemon_type, size=daemon_size, running=daemon_size))
+                    spec=ServiceSpec(
+                        service_type=daemon_type,
+                    ),
+                    size=daemon_size, running=daemon_size))
         
         def _filter_func(svc):
-            if service_name is not None and service_name != svc.service_name:
+            if service_name is not None and service_name != svc.spec.service_name():
                 return False
             return True
 
@@ -244,6 +245,9 @@ class TestOrchestrator(MgrModule, orchestrator.Orchestrator):
 
         return list(filter(_filter_func, daemons))
 
+    def preview_drivegroups(self, drive_group_name=None, dg_specs=None):
+        return [{}]
+
     def create_osds(self, drive_group):
         # type: (DriveGroupSpec) -> TestCompletion
         """ Creates OSDs from a drive group specification.
index 680302e6afa1af17cb3c4803dab923625df8492c..79c2350ee54fc835b753e1f54c2a1178d92da5c4 100644 (file)
@@ -36,4 +36,3 @@ if 'UNITTEST' in os.environ:
     cm.BaseMgrModule = M
     cm.BaseMgrStandbyModule = M
     sys.modules['ceph_module'] = cm
-    sys.modules['rados'] = mock.Mock()
index 1227b33729eec9516b31c74d0296e9d6f513d184..e6a902a74763fe11765ae46adf6312dd767472b3 100644 (file)
@@ -1,16 +1,30 @@
 [tox]
 envlist = py3, mypy
 skipsdist = true
+requires = cython
 
 [testenv]
-setenv = UNITTEST = true
-deps = -r requirements.txt
-commands = pytest -v --cov --cov-append --cov-report=term --doctest-modules {posargs:mgr_util.py tests/ cephadm/ pg_autoscaler/ progress/}
+setenv =
+    UNITTEST = true
+    PYTHONPATH = ../../../build/lib/cython_modules/lib.3/
+    LD_LIBRARY_PATH = ../../../build/lib
+deps =
+    cython
+    -rrequirements.txt
+commands =
+    pytest -v --cov --cov-append --cov-report= --doctest-modules {posargs: \
+        mgr_util.py \
+        tests/ \
+        cephadm/ \
+        orchestrator/ \
+        pg_autoscaler/ \
+        progress/}
 
 [testenv:mypy]
 basepython = python3
 deps =
-    -r requirements.txt
+    cython
+    -rrequirements.txt
     mypy==0.770
 commands = mypy --config-file=../../mypy.ini \
            cephadm/module.py \
index bb7eec2bafba15e0b95a8130f5c829dd2e87329b..9142262dd2df17e42c34c4e0feb38ec28cd7bcdd 100644 (file)
@@ -227,3 +227,28 @@ class SubvolumeBase(object):
             self.fs.mkdirs(self.base_path, mode)
         except cephfs.Error as e:
             raise VolumeException(-e.args[0], e.args[1])
+
+    def info (self):
+        subvolpath = self.metadata_mgr.get_global_option('path')
+        etype = self.metadata_mgr.get_global_option(MetadataManager.GLOBAL_META_KEY_TYPE)
+        st = self.fs.statx(subvolpath, cephfs.CEPH_STATX_BTIME | cephfs.CEPH_STATX_SIZE |
+                                       cephfs.CEPH_STATX_UID | cephfs.CEPH_STATX_GID |
+                                       cephfs.CEPH_STATX_MODE | cephfs.CEPH_STATX_ATIME |
+                                       cephfs.CEPH_STATX_MTIME | cephfs.CEPH_STATX_CTIME,
+                                       cephfs.AT_SYMLINK_NOFOLLOW)
+        usedbytes = st["size"]
+        try:
+            nsize = int(self.fs.getxattr(subvolpath, 'ceph.quota.max_bytes').decode('utf-8'))
+        except cephfs.NoData:
+            nsize = 0
+
+        try:
+            data_pool = self.fs.getxattr(subvolpath, 'ceph.dir.layout.pool').decode('utf-8')
+        except cephfs.Error as e:
+            raise VolumeException(-e.args[0], e.args[1])
+
+        return {'path': subvolpath, 'type': etype, 'uid': int(st["uid"]), 'gid': int(st["gid"]),
+            'atime': str(st["atime"]), 'mtime': str(st["mtime"]), 'ctime': str(st["ctime"]),
+            'mode': int(st["mode"]), 'data_pool': data_pool, 'created_at': str(st["btime"]),
+            'bytes_quota': "infinite" if nsize == 0 else nsize, 'bytes_used': int(usedbytes),
+            'bytes_pcent': "undefined" if nsize == 0 else '{0:.2f}'.format((float(usedbytes) / nsize) * 100.0)}
index 2f2d4e20e55b65407d0466686ec9ddbd5f2293bd..5568d8b588dceb41f8538a3e6538db6030e27e2e 100644 (file)
@@ -211,6 +211,29 @@ class VolumeClient(object):
             ret = self.volume_exception_to_retval(ve)
         return ret
 
+    def subvolume_info(self, **kwargs):
+        ret        = None
+        volname    = kwargs['vol_name']
+        subvolname = kwargs['sub_name']
+        groupname  = kwargs['group_name']
+
+        try:
+            with open_volume(self, volname) as fs_handle:
+                with open_group(fs_handle, self.volspec, groupname) as group:
+                    with open_subvol(fs_handle, self.volspec, group, subvolname) as subvolume:
+                        mon_addr_lst = []
+                        mon_map_mons = self.mgr.get('mon_map')['mons']
+                        for mon in mon_map_mons:
+                            ip_port = mon['addr'].split("/")[0]
+                            mon_addr_lst.append(ip_port)
+
+                        subvol_info_dict = subvolume.info()
+                        subvol_info_dict["mon_addrs"] = mon_addr_lst
+                        ret = 0, json.dumps(subvol_info_dict, indent=4, sort_keys=True), ""
+        except VolumeException as ve:
+            ret = self.volume_exception_to_retval(ve)
+        return ret
+
     def list_subvolumes(self, **kwargs):
         ret        = 0, "", ""
         volname    = kwargs['vol_name']
index 0d8015bf48f4d1b09deaebd628ba64711e6ed197..bbb1896e0c73ae1534f71d31d5519d3dcf625bed 100644 (file)
@@ -101,6 +101,15 @@ class Module(orchestrator.OrchestratorClientMixin, MgrModule):
                     "and optionally, in a specific subvolume group",
             'perm': 'rw'
         },
+        {
+            'cmd': 'fs subvolume info '
+                   'name=vol_name,type=CephString '
+                   'name=sub_name,type=CephString '
+                   'name=group_name,type=CephString,req=false ',
+            'desc': "Get the metadata of a CephFS subvolume in a volume, "
+                    "and optionally, in a specific subvolume group",
+            'perm': 'r'
+        },
         {
             'cmd': 'fs subvolumegroup snapshot ls '
                    'name=vol_name,type=CephString '
@@ -317,6 +326,11 @@ class Module(orchestrator.OrchestratorClientMixin, MgrModule):
                                          sub_name=cmd['sub_name'],
                                          group_name=cmd.get('group_name', None))
 
+    def _cmd_fs_subvolume_info(self, inbuf, cmd):
+        return self.vc.subvolume_info(vol_name=cmd['vol_name'],
+                                      sub_name=cmd['sub_name'],
+                                      group_name=cmd.get('group_name', None))
+
     def _cmd_fs_subvolumegroup_snapshot_create(self, inbuf, cmd):
         return self.vc.create_subvolume_group_snapshot(vol_name=cmd['vol_name'],
                                                        group_name=cmd['group_name'],
index b71458b5cb9362364014efe29f31185214a22bca..8b8140dc4cecf5532b43a8b564256ab8f786b8be 100644 (file)
@@ -3292,6 +3292,13 @@ cdef class Group(object):
         if ret != 0:
             raise make_ex(ret, 'error rolling back group to snapshot', group_errno_to_exception)
 
+def requires_not_closed(f):
+    def wrapper(self, *args, **kwargs):
+        self.require_not_closed()
+        return f(self, *args, **kwargs)
+
+    return wrapper
+
 cdef class Image(object):
     """
     This class represents an RBD image. It is used to perform I/O on
@@ -3406,6 +3413,15 @@ cdef class Image(object):
         completion_obj.rbd_comp = completion
         return completion_obj
 
+    def require_not_closed(self):
+        """
+        Checks if the Image is not closed
+
+        :raises: :class:`InvalidArgument`
+        """
+        if self.closed:
+            raise InvalidArgument("image is closed")
+
     def close(self):
         """
         Release the resources used by this image object.
@@ -3426,6 +3442,7 @@ cdef class Image(object):
     def __repr__(self):
         return "rbd.Image(ioctx, %r)" % self.name
 
+    @requires_not_closed
     def resize(self, size, allow_shrink=True):
         """
         Change the size of the image, allow shrink.
@@ -3449,6 +3466,7 @@ cdef class Image(object):
         if ret < 0:
             raise make_ex(ret, 'error resizing image %s' % self.name)
 
+    @requires_not_closed
     def stat(self):
         """
         Get information about the image. Currently parent pool and
@@ -3490,6 +3508,7 @@ cdef class Image(object):
             'parent_name'       : info.parent_name
             }
 
+    @requires_not_closed
     def get_name(self):
         """
         Get the RBD image name
@@ -3512,6 +3531,7 @@ cdef class Image(object):
         finally:
             free(image_name)
 
+    @requires_not_closed
     def id(self):
         """
         Get the RBD v2 internal image id
@@ -3536,6 +3556,7 @@ cdef class Image(object):
         finally:
             free(image_id)
 
+    @requires_not_closed
     def block_name_prefix(self):
         """
         Get the RBD block name prefix
@@ -3560,6 +3581,7 @@ cdef class Image(object):
         finally:
             free(prefix)
 
+    @requires_not_closed
     def data_pool_id(self):
         """
         Get the pool id of the pool where the data of this RBD image is stored.
@@ -3568,6 +3590,7 @@ cdef class Image(object):
         """
         return rbd_get_data_pool_id(self.image)
 
+    @requires_not_closed
     def get_parent_image_spec(self):
         """
         Get spec of the cloned image's parent
@@ -3597,6 +3620,7 @@ cdef class Image(object):
         rbd_snap_spec_cleanup(&snap_spec)
         return result
 
+    @requires_not_closed
     def parent_info(self):
         """
         Deprecated. Use `get_parent_image_spec` instead.
@@ -3610,6 +3634,7 @@ cdef class Image(object):
         parent = self.get_parent_image_spec()
         return (parent['pool_name'], parent['image_name'], parent['snap_name'])
 
+    @requires_not_closed
     def parent_id(self):
         """
         Get image id of a cloned image's parent (if any)
@@ -3631,6 +3656,7 @@ cdef class Image(object):
         rbd_snap_spec_cleanup(&snap_spec)
         return result
 
+    @requires_not_closed
     def old_format(self):
         """
         Find out whether the image uses the old RBD format.
@@ -3644,6 +3670,7 @@ cdef class Image(object):
             raise make_ex(ret, 'error getting old_format for image %s' % (self.name))
         return old != 0
 
+    @requires_not_closed
     def size(self):
         """
         Get the size of the image. If open to a snapshot, returns the
@@ -3658,6 +3685,7 @@ cdef class Image(object):
             raise make_ex(ret, 'error getting size for image %s' % (self.name))
         return image_size
 
+    @requires_not_closed
     def features(self):
         """
         Get the features bitmask of the image.
@@ -3671,6 +3699,7 @@ cdef class Image(object):
             raise make_ex(ret, 'error getting features for image %s' % (self.name))
         return features
 
+    @requires_not_closed
     def update_features(self, features, enabled):
         """
         Update the features bitmask of the image by enabling/disabling
@@ -3692,6 +3721,7 @@ cdef class Image(object):
             raise make_ex(ret, 'error updating features for image %s' %
                                (self.name))
 
+    @requires_not_closed
     def op_features(self):
         """
         Get the op features bitmask of the image.
@@ -3705,6 +3735,7 @@ cdef class Image(object):
             raise make_ex(ret, 'error getting op features for image %s' % (self.name))
         return op_features
 
+    @requires_not_closed
     def overlap(self):
         """
         Get the number of overlapping bytes between the image and its parent
@@ -3721,6 +3752,7 @@ cdef class Image(object):
             raise make_ex(ret, 'error getting overlap for image %s' % (self.name))
         return overlap
 
+    @requires_not_closed
     def flags(self):
         """
         Get the flags bitmask of the image.
@@ -3734,6 +3766,7 @@ cdef class Image(object):
             raise make_ex(ret, 'error getting flags for image %s' % (self.name))
         return flags
 
+    @requires_not_closed
     def group(self):
         """
         Get information about the image's group.
@@ -3757,6 +3790,7 @@ cdef class Image(object):
         rbd_group_info_cleanup(&info, sizeof(info))
         return result
 
+    @requires_not_closed
     def is_exclusive_lock_owner(self):
         """
         Get the status of the image exclusive lock.
@@ -3770,6 +3804,7 @@ cdef class Image(object):
             raise make_ex(ret, 'error getting lock status for image %s' % (self.name))
         return owner == 1
 
+    @requires_not_closed
     def copy(self, dest_ioctx, dest_name, features=None, order=None,
              stripe_unit=None, stripe_count=None, data_pool=None):
         """
@@ -3826,6 +3861,7 @@ cdef class Image(object):
         if ret < 0:
             raise make_ex(ret, 'error copying image %s to %s' % (self.name, dest_name))
 
+    @requires_not_closed
     def deep_copy(self, dest_ioctx, dest_name, features=None, order=None,
                   stripe_unit=None, stripe_count=None, data_pool=None):
         """
@@ -3882,6 +3918,7 @@ cdef class Image(object):
         if ret < 0:
             raise make_ex(ret, 'error copying image %s to %s' % (self.name, dest_name))
 
+    @requires_not_closed
     def list_snaps(self):
         """
         Iterate over the snapshots of an image.
@@ -3890,6 +3927,7 @@ cdef class Image(object):
         """
         return SnapIterator(self)
 
+    @requires_not_closed
     def create_snap(self, name):
         """
         Create a snapshot of the image.
@@ -3905,6 +3943,7 @@ cdef class Image(object):
         if ret != 0:
             raise make_ex(ret, 'error creating snapshot %s from %s' % (name, self.name))
 
+    @requires_not_closed
     def rename_snap(self, srcname, dstname):
         """
         rename a snapshot of the image.
@@ -3925,6 +3964,7 @@ cdef class Image(object):
         if ret != 0:
             raise make_ex(ret, 'error renaming snapshot of %s from %s to %s' % (self.name, srcname, dstname))
 
+    @requires_not_closed
     def remove_snap(self, name):
         """
         Delete a snapshot of the image.
@@ -3940,6 +3980,7 @@ cdef class Image(object):
         if ret != 0:
             raise make_ex(ret, 'error removing snapshot %s from %s' % (name, self.name))
 
+    @requires_not_closed
     def remove_snap2(self, name, flags):
         """
         Delete a snapshot of the image.
@@ -3949,6 +3990,8 @@ cdef class Image(object):
         :type name: str
         :raises: :class:`IOError`, :class:`ImageBusy`
         """
+        self.require_not_closed()
+
         name = cstr(name, 'name')
         cdef:
             char *_name = name
@@ -3959,6 +4002,7 @@ cdef class Image(object):
         if ret != 0:
             raise make_ex(ret, 'error removing snapshot %s from %s with flags %lx' % (name, self.name, flags))
 
+    @requires_not_closed
     def remove_snap_by_id(self, snap_id):
         """
         Delete a snapshot of the image by its id.
@@ -3974,6 +4018,7 @@ cdef class Image(object):
         if ret != 0:
             raise make_ex(ret, 'error removing snapshot %s from %s' % (snap_id, self.name))
 
+    @requires_not_closed
     def rollback_to_snap(self, name):
         """
         Revert the image to its contents at a snapshot. This is a
@@ -3991,6 +4036,7 @@ cdef class Image(object):
         if ret != 0:
             raise make_ex(ret, 'error rolling back image %s to snapshot %s' % (self.name, name))
 
+    @requires_not_closed
     def protect_snap(self, name):
         """
         Mark a snapshot as protected. This means it can't be deleted
@@ -4007,6 +4053,7 @@ cdef class Image(object):
         if ret != 0:
             raise make_ex(ret, 'error protecting snapshot %s@%s' % (self.name, name))
 
+    @requires_not_closed
     def unprotect_snap(self, name):
         """
         Mark a snapshot unprotected. This allows it to be deleted if
@@ -4023,6 +4070,7 @@ cdef class Image(object):
         if ret != 0:
             raise make_ex(ret, 'error unprotecting snapshot %s@%s' % (self.name, name))
 
+    @requires_not_closed
     def is_protected_snap(self, name):
         """
         Find out whether a snapshot is protected from deletion.
@@ -4042,6 +4090,7 @@ cdef class Image(object):
             raise make_ex(ret, 'error checking if snapshot %s@%s is protected' % (self.name, name))
         return is_protected == 1
 
+    @requires_not_closed
     def snap_exists(self, name):
         """
         Find out whether a snapshot is exists.
@@ -4060,13 +4109,13 @@ cdef class Image(object):
             raise make_ex(ret, 'error getting snapshot exists for %s' % self.name)
         return bool(_exists != 0)
 
+    @requires_not_closed
     def get_snap_limit(self):
         """
         Get the snapshot limit for an image.
 
         :returns: int - the snapshot limit for an image
         """
-
         cdef:
             uint64_t limit
         with nogil:
@@ -4075,13 +4124,13 @@ cdef class Image(object):
             raise make_ex(ret, 'error getting snapshot limit for %s' % self.name)
         return limit
 
+    @requires_not_closed
     def set_snap_limit(self, limit):
         """
         Set the snapshot limit for an image.
 
         :param limit: the new limit to set
         """
-
         cdef:
             uint64_t _limit = limit
         with nogil:
@@ -4090,6 +4139,7 @@ cdef class Image(object):
             raise make_ex(ret, 'error setting snapshot limit for %s' % self.name)
         return ret
 
+    @requires_not_closed
     def get_snap_timestamp(self, snap_id):
         """
         Get the snapshot timestamp for an image.
@@ -4105,6 +4155,7 @@ cdef class Image(object):
             raise make_ex(ret, 'error getting snapshot timestamp for image: %s, snap_id: %d' % (self.name, snap_id))
         return datetime.utcfromtimestamp(timestamp.tv_sec)
 
+    @requires_not_closed
     def remove_snap_limit(self):
         """
         Remove the snapshot limit for an image, essentially setting
@@ -4116,6 +4167,7 @@ cdef class Image(object):
             raise make_ex(ret, 'error removing snapshot limit for %s' % self.name)
         return ret
 
+    @requires_not_closed
     def set_snap(self, name):
         """
         Set the snapshot to read from. Writes will raise ReadOnlyImage
@@ -4132,6 +4184,7 @@ cdef class Image(object):
         if ret != 0:
             raise make_ex(ret, 'error setting image %s to snapshot %s' % (self.name, name))
 
+    @requires_not_closed
     def set_snap_by_id(self, snap_id):
         """
         Set the snapshot to read from. Writes will raise ReadOnlyImage
@@ -4149,6 +4202,7 @@ cdef class Image(object):
         if ret != 0:
             raise make_ex(ret, 'error setting image %s to snapshot %d' % (self.name, snap_id))
 
+    @requires_not_closed
     def snap_get_name(self, snap_id):
         """
         Get snapshot name by id.
@@ -4175,6 +4229,7 @@ cdef class Image(object):
         finally:
             free(image_name)
 
+    @requires_not_closed
     def snap_get_id(self, snap_name):
         """
         Get snapshot id by name.
@@ -4184,7 +4239,6 @@ cdef class Image(object):
         :returns: int - snapshot id
         :raises: :class:`ImageNotFound`
         """
-
         snap_name = cstr(snap_name, 'snap_name')
         cdef:
             const char *_snap_name = snap_name
@@ -4195,6 +4249,7 @@ cdef class Image(object):
             raise make_ex(ret, 'error snap_get_id.')
         return snap_id
 
+    @requires_not_closed
     def read(self, offset, length, fadvise_flags=0):
         """
         Read data from the image. Raises :class:`InvalidArgument` if
@@ -4240,6 +4295,7 @@ cdef class Image(object):
             # itself and set ret_s to NULL, hence XDECREF).
             ref.Py_XDECREF(ret_s)
 
+    @requires_not_closed
     def diff_iterate(self, offset, length, from_snapshot, iterate_cb,
                      include_parent = True, whole_object = False):
         """
@@ -4298,6 +4354,7 @@ cdef class Image(object):
             msg = 'error generating diff from snapshot %s' % from_snapshot
             raise make_ex(ret, msg)
 
+    @requires_not_closed
     def write(self, data, offset, fadvise_flags=0):
         """
         Write data to the image. Raises :class:`InvalidArgument` if
@@ -4333,6 +4390,7 @@ cdef class Image(object):
 returned %d, but %d was the maximum number of bytes it could have \
 written." % (self.name, ret, length))
 
+    @requires_not_closed
     def discard(self, offset, length):
         """
         Trim the range from the image. It will be logically filled
@@ -4345,6 +4403,7 @@ written." % (self.name, ret, length))
             msg = 'error discarding region %d~%d' % (offset, length)
             raise make_ex(ret, msg)
 
+    @requires_not_closed
     def flush(self):
         """
         Block until all writes are fully flushed if caching is enabled.
@@ -4354,6 +4413,7 @@ written." % (self.name, ret, length))
         if ret < 0:
             raise make_ex(ret, 'error flushing image')
 
+    @requires_not_closed
     def invalidate_cache(self):
         """
         Drop any cached data for the image.
@@ -4363,6 +4423,7 @@ written." % (self.name, ret, length))
         if ret < 0:
             raise make_ex(ret, 'error invalidating cache')
 
+    @requires_not_closed
     def stripe_unit(self):
         """
         Return the stripe unit used for the image.
@@ -4374,6 +4435,7 @@ written." % (self.name, ret, length))
             raise make_ex(ret, 'error getting stripe unit for image %s' % (self.name))
         return stripe_unit
 
+    @requires_not_closed
     def stripe_count(self):
         """
         Return the stripe count used for the image.
@@ -4385,6 +4447,7 @@ written." % (self.name, ret, length))
             raise make_ex(ret, 'error getting stripe count for image %s' % (self.name))
         return stripe_count
 
+    @requires_not_closed
     def create_timestamp(self):
         """
         Return the create timestamp for the image.
@@ -4397,6 +4460,7 @@ written." % (self.name, ret, length))
             raise make_ex(ret, 'error getting create timestamp for image: %s' % (self.name))
         return datetime.utcfromtimestamp(timestamp.tv_sec)
 
+    @requires_not_closed
     def access_timestamp(self):
         """
         Return the access timestamp for the image.
@@ -4409,6 +4473,7 @@ written." % (self.name, ret, length))
             raise make_ex(ret, 'error getting access timestamp for image: %s' % (self.name))
         return datetime.fromtimestamp(timestamp.tv_sec)
 
+    @requires_not_closed
     def modify_timestamp(self):
         """
         Return the modify timestamp for the image.
@@ -4421,6 +4486,7 @@ written." % (self.name, ret, length))
             raise make_ex(ret, 'error getting modify timestamp for image: %s' % (self.name))
         return datetime.fromtimestamp(timestamp.tv_sec)
 
+    @requires_not_closed
     def flatten(self, on_progress=None):
         """
         Flatten clone image (copy all blocks from parent to child)
@@ -4438,6 +4504,7 @@ written." % (self.name, ret, length))
         if ret < 0:
             raise make_ex(ret, "error flattening %s" % self.name)
 
+    @requires_not_closed
     def sparsify(self, sparse_size):
         """
         Reclaim space for zeroed image extents
@@ -4449,6 +4516,7 @@ written." % (self.name, ret, length))
         if ret < 0:
             raise make_ex(ret, "error sparsifying %s" % self.name)
 
+    @requires_not_closed
     def rebuild_object_map(self):
         """
         Rebuild the object map for the image HEAD or currently set snapshot
@@ -4459,6 +4527,7 @@ written." % (self.name, ret, length))
         if ret < 0:
             raise make_ex(ret, "error rebuilding object map %s" % self.name)
 
+    @requires_not_closed
     def list_children(self):
         """
         List children of the currently set snapshot (set via set_snap()).
@@ -4488,6 +4557,7 @@ written." % (self.name, ret, length))
                 rbd_linked_image_spec_list_cleanup(children, num_children)
                 free(children)
 
+    @requires_not_closed
     def list_children2(self):
         """
         Iterate over the children of the image or its snapshot.
@@ -4496,6 +4566,7 @@ written." % (self.name, ret, length))
         """
         return ChildIterator(self)
 
+    @requires_not_closed
     def list_descendants(self):
         """
         Iterate over the descendants of the image.
@@ -4504,6 +4575,7 @@ written." % (self.name, ret, length))
         """
         return ChildIterator(self, True)
 
+    @requires_not_closed
     def list_lockers(self):
         """
         List clients that have locked the image and information
@@ -4559,6 +4631,7 @@ written." % (self.name, ret, length))
             free(c_addrs)
             free(c_tag)
 
+    @requires_not_closed
     def lock_acquire(self, lock_mode):
         """
         Acquire a managed lock on the image.
@@ -4574,6 +4647,7 @@ written." % (self.name, ret, length))
         if ret < 0:
             raise make_ex(ret, 'error acquiring lock on image')
 
+    @requires_not_closed
     def lock_release(self):
         """
         Release a managed lock on the image that was previously acquired.
@@ -4583,6 +4657,7 @@ written." % (self.name, ret, length))
         if ret < 0:
             raise make_ex(ret, 'error releasing lock on image')
 
+    @requires_not_closed
     def lock_get_owners(self):
         """
         Iterate over the lock owners of an image.
@@ -4591,6 +4666,7 @@ written." % (self.name, ret, length))
         """
         return LockOwnerIterator(self)
 
+    @requires_not_closed
     def lock_break(self, lock_mode, lock_owner):
         """
         Break the image lock held by a another client.
@@ -4607,6 +4683,7 @@ written." % (self.name, ret, length))
         if ret < 0:
             raise make_ex(ret, 'error breaking lock on image')
 
+    @requires_not_closed
     def lock_exclusive(self, cookie):
         """
         Take an exclusive lock on the image.
@@ -4621,6 +4698,7 @@ written." % (self.name, ret, length))
         if ret < 0:
             raise make_ex(ret, 'error acquiring exclusive lock on image')
 
+    @requires_not_closed
     def lock_shared(self, cookie, tag):
         """
         Take a shared lock on the image. The tag must match
@@ -4639,6 +4717,7 @@ written." % (self.name, ret, length))
         if ret < 0:
             raise make_ex(ret, 'error acquiring shared lock on image')
 
+    @requires_not_closed
     def unlock(self, cookie):
         """
         Release a lock on the image that was locked by this rados client.
@@ -4650,6 +4729,7 @@ written." % (self.name, ret, length))
         if ret < 0:
             raise make_ex(ret, 'error unlocking image')
 
+    @requires_not_closed
     def break_lock(self, client, cookie):
         """
         Release a lock held by another rados client.
@@ -4664,6 +4744,7 @@ written." % (self.name, ret, length))
         if ret < 0:
             raise make_ex(ret, 'error unlocking image')
 
+    @requires_not_closed
     def mirror_image_enable(self, mode=RBD_MIRROR_IMAGE_MODE_JOURNAL):
         """
         Enable mirroring for the image.
@@ -4674,6 +4755,7 @@ written." % (self.name, ret, length))
         if ret < 0:
             raise make_ex(ret, 'error enabling mirroring for image %s' % self.name)
 
+    @requires_not_closed
     def mirror_image_disable(self, force):
         """
         Disable mirroring for the image.
@@ -4687,6 +4769,7 @@ written." % (self.name, ret, length))
         if ret < 0:
             raise make_ex(ret, 'error disabling mirroring for image %s' % self.name)
 
+    @requires_not_closed
     def mirror_image_promote(self, force):
         """
         Promote the image to primary for mirroring.
@@ -4700,6 +4783,7 @@ written." % (self.name, ret, length))
         if ret < 0:
             raise make_ex(ret, 'error promoting image %s to primary' % self.name)
 
+    @requires_not_closed
     def mirror_image_demote(self):
         """
         Demote the image to secondary for mirroring.
@@ -4709,6 +4793,7 @@ written." % (self.name, ret, length))
         if ret < 0:
             raise make_ex(ret, 'error demoting image %s to secondary' % self.name)
 
+    @requires_not_closed
     def mirror_image_resync(self):
         """
         Flag the image to resync.
@@ -4718,6 +4803,7 @@ written." % (self.name, ret, length))
         if ret < 0:
             raise make_ex(ret, 'error to resync image %s' % self.name)
 
+    @requires_not_closed
     def mirror_image_create_snapshot(self):
         """
         Create mirror snapshot.
@@ -4735,6 +4821,7 @@ written." % (self.name, ret, length))
                           self.name)
         return snap_id
 
+    @requires_not_closed
     def mirror_image_get_info(self):
         """
         Get mirror info for the image.
@@ -4760,6 +4847,7 @@ written." % (self.name, ret, length))
         rbd_mirror_image_get_info_cleanup(&c_info)
         return info
 
+    @requires_not_closed
     def mirror_image_get_mode(self):
         """
         Get mirror mode for the image.
@@ -4773,6 +4861,7 @@ written." % (self.name, ret, length))
             raise make_ex(ret, 'error getting mirror mode for image %s' % self.name)
         return int(c_mode)
 
+    @requires_not_closed
     def mirror_image_get_status(self):
         """
         Get mirror status for the image.
@@ -4847,6 +4936,7 @@ written." % (self.name, ret, length))
             rbd_mirror_image_global_status_cleanup(&c_status)
         return status
 
+    @requires_not_closed
     def mirror_image_get_instance_id(self):
         """
         Get mirror instance id for the image.
@@ -4871,6 +4961,7 @@ written." % (self.name, ret, length))
         finally:
             free(instance_id)
 
+    @requires_not_closed
     def aio_read(self, offset, length, oncomplete, fadvise_flags=0):
         """
         Asynchronously read data from the image
@@ -4894,7 +4985,6 @@ written." % (self.name, ret, length))
         :returns: :class:`Completion` - the completion object
         :raises: :class:`InvalidArgument`, :class:`IOError`
         """
-
         cdef:
             char *ret_buf
             uint64_t _offset = offset
@@ -4926,6 +5016,7 @@ written." % (self.name, ret, length))
 
         return completion
 
+    @requires_not_closed
     def aio_write(self, data, offset, oncomplete, fadvise_flags=0):
         """
         Asynchronously write data to the image
@@ -4948,7 +5039,6 @@ written." % (self.name, ret, length))
         :returns: :class:`Completion` - the completion object
         :raises: :class:`InvalidArgument`, :class:`IOError`
         """
-
         cdef:
             uint64_t _offset = offset
             char *_data = data
@@ -4971,12 +5061,12 @@ written." % (self.name, ret, length))
 
         return completion
 
+    @requires_not_closed
     def aio_discard(self, offset, length, oncomplete):
         """
         Asynchronously trim the range from the image. It will be logically
         filled with zeroes.
         """
-
         cdef:
             uint64_t _offset = offset
             size_t _length = length
@@ -4997,12 +5087,12 @@ written." % (self.name, ret, length))
 
         return completion
 
+    @requires_not_closed
     def aio_flush(self, oncomplete):
         """
         Asynchronously wait until all writes are fully flushed if caching is
         enabled.
         """
-
         cdef Completion completion = self.__get_completion(oncomplete)
         try:
             completion.__persist()
@@ -5016,6 +5106,7 @@ written." % (self.name, ret, length))
 
         return completion
 
+    @requires_not_closed
     def metadata_get(self, key):
         """
         Get image metadata for the given key.
@@ -5046,6 +5137,7 @@ written." % (self.name, ret, length))
         finally:
             free(value)
 
+    @requires_not_closed
     def metadata_set(self, key, value):
         """
         Set image metadata for the given key.
@@ -5067,7 +5159,7 @@ written." % (self.name, ret, length))
             raise make_ex(ret, 'error setting metadata %s for image %s' %
                           (key, self.name))
 
-
+    @requires_not_closed
     def metadata_remove(self, key):
         """
         Remove image metadata for the given key.
@@ -5087,6 +5179,7 @@ written." % (self.name, ret, length))
             raise make_ex(ret, 'error removing metadata %s for image %s' %
                           (key, self.name))
 
+    @requires_not_closed
     def metadata_list(self):
         """
         List image metadata.
@@ -5095,6 +5188,7 @@ written." % (self.name, ret, length))
         """
         return MetadataIterator(self)
 
+    @requires_not_closed
     def watchers_list(self):
         """
         List image watchers.
@@ -5103,6 +5197,7 @@ written." % (self.name, ret, length))
         """
         return WatcherIterator(self)
 
+    @requires_not_closed
     def config_list(self):
         """
         List image-level config overrides.
@@ -5111,7 +5206,7 @@ written." % (self.name, ret, length))
         """
         return ConfigImageIterator(self)
 
-
+    @requires_not_closed
     def config_set(self, key, value):
         """
         Set an image-level configuration override.
@@ -5134,7 +5229,7 @@ written." % (self.name, ret, length))
             raise make_ex(ret, 'error setting config %s for image %s' %
                           (key, self.name))
 
-
+    @requires_not_closed
     def config_get(self, key):
         """
         Get an image-level configuration override.
@@ -5166,7 +5261,7 @@ written." % (self.name, ret, length))
         finally:
             free(value)
 
-
+    @requires_not_closed
     def config_remove(self, key):
         """
         Remove an image-level configuration override.
@@ -5187,7 +5282,7 @@ written." % (self.name, ret, length))
             raise make_ex(ret, 'error removing config %s for image %s' %
                           (key, self.name))
 
-
+    @requires_not_closed
     def snap_get_namespace_type(self, snap_id):
         """
         Get the snapshot namespace type.
@@ -5204,6 +5299,7 @@ written." % (self.name, ret, length))
 
         return namespace_type
 
+    @requires_not_closed
     def snap_get_group_namespace(self, snap_id):
         """
         get the group namespace details.
@@ -5236,6 +5332,7 @@ written." % (self.name, ret, length))
                                          sizeof(rbd_snap_group_namespace_t))
         return info
 
+    @requires_not_closed
     def snap_get_trash_namespace(self, snap_id):
         """
         get the trash namespace details.
@@ -5266,6 +5363,7 @@ written." % (self.name, ret, length))
         finally:
             free(_name)
 
+    @requires_not_closed
     def snap_get_mirror_namespace(self, snap_id):
         """
         get the mirror namespace details.
@@ -5380,6 +5478,8 @@ cdef class LockOwnerIterator(object):
         object image
 
     def __init__(self, Image image):
+        image.require_not_closed()
+
         self.image = image
         self.lock_owners = NULL
         self.num_lock_owners = 8
@@ -5393,6 +5493,9 @@ cdef class LockOwnerIterator(object):
                                           &self.num_lock_owners)
             if ret >= 0:
                 break
+            elif ret == -errno.ENOENT:
+                self.num_lock_owners = 0
+                break
             elif ret != -errno.ERANGE:
                 raise make_ex(ret, 'error listing lock owners for image %s' % image.name)
 
@@ -5419,15 +5522,17 @@ cdef class MetadataIterator(object):
     """
 
     cdef:
-        object image_name
-        rbd_image_t image
+        cdef object image
+        rbd_image_t c_image
         char *last_read
         uint64_t max_read
         object next_chunk
 
     def __init__(self, Image image):
-        self.image_name = image.name
-        self.image = image.image
+        image.require_not_closed()
+
+        self.image = image
+        self.c_image = image.image
         self.last_read = strdup("")
         self.max_read = 32
         self.get_next_chunk()
@@ -5445,6 +5550,8 @@ cdef class MetadataIterator(object):
             free(self.last_read)
 
     def get_next_chunk(self):
+        self.image.require_not_closed()
+
         cdef:
             char *c_keys = NULL
             size_t keys_size = 4096
@@ -5455,14 +5562,14 @@ cdef class MetadataIterator(object):
                 c_keys = <char *>realloc_chk(c_keys, keys_size)
                 c_vals = <char *>realloc_chk(c_vals, vals_size)
                 with nogil:
-                    ret = rbd_metadata_list(self.image, self.last_read,
+                    ret = rbd_metadata_list(self.c_image, self.last_read,
                                             self.max_read, c_keys, &keys_size,
                                             c_vals, &vals_size)
                 if ret >= 0:
                     break
                 elif ret != -errno.ERANGE:
                     raise make_ex(ret, 'error listing metadata for image %s' %
-                                  self.image_name)
+                                  self.image.name)
             keys = [decode_cstr(key) for key in
                         c_keys[:keys_size].split(b'\0') if key]
             vals = [decode_cstr(val) for val in
@@ -5504,6 +5611,8 @@ cdef class SnapIterator(object):
     cdef object image
 
     def __init__(self, Image image):
+        image.require_not_closed()
+
         self.image = image
         self.snaps = NULL
         self.num_snaps = 10
@@ -5635,6 +5744,8 @@ cdef class ChildIterator(object):
     cdef object image
 
     def __init__(self, Image image, descendants=False):
+        image.require_not_closed()
+
         self.image = image
         self.children = NULL
         self.num_children = 10
@@ -5689,6 +5800,8 @@ cdef class WatcherIterator(object):
     cdef object image
 
     def __init__(self, Image image):
+        image.require_not_closed()
+
         self.image = image
         self.watchers = NULL
         self.num_watchers = 10
@@ -5736,6 +5849,8 @@ cdef class ConfigImageIterator(object):
         int num_options
 
     def __init__(self, Image image):
+        image.require_not_closed()
+
         self.options = NULL
         self.num_options = 32
         while True:
index 0f25afd0b392acaf891d57d2bb553277e7c9a332..0b5b489de98d0820da8c90d25ca9645c349a25dc 100644 (file)
@@ -144,15 +144,17 @@ class DriveGroupSpec(ServiceSpec):
                  encrypted=False,  # type: bool
                  db_slots=None,  # type: Optional[int]
                  wal_slots=None,  # type: Optional[int]
-                 osd_id_claims=None,  # type: Optional[Dict[str, DeviceSelection]]
+                 osd_id_claims=None,  # type: Optional[Dict[str, List[str]]]
                  block_db_size=None,  # type: Optional[int]
                  block_wal_size=None,  # type: Optional[int]
                  journal_size=None,  # type: Optional[int]
                  service_type=None,  # type: Optional[str]
-                 unmanaged=None,  # type: Optional[bool]
+                 unmanaged=False,  # type: bool
                  ):
         assert service_type is None or service_type == 'osd'
-        super(DriveGroupSpec, self).__init__('osd', service_id=service_id, placement=placement)
+        super(DriveGroupSpec, self).__init__('osd', service_id=service_id,
+                                             placement=placement,
+                                             unmanaged=unmanaged)
 
         #: A :class:`ceph.deployment.drive_group.DeviceSelection`
         self.data_devices = data_devices
@@ -194,10 +196,9 @@ class DriveGroupSpec(ServiceSpec):
         #: How many OSDs per WAL device
         self.wal_slots = wal_slots
 
-        #: Optional: mapping of OSD id to DeviceSelection, used when the
-        #: created OSDs are meant to replace previous OSDs on
-        #: the same node. See :ref:`orchestrator-osd-replace`
-        self.osd_id_claims = osd_id_claims
+        #: Optional: mapping of host -> List of osd_ids that should be replaced
+        #: See :ref:`orchestrator-osd-replace`
+        self.osd_id_claims = osd_id_claims or dict()
 
     @classmethod
     def _from_json_impl(cls, json_drive_group):
@@ -282,6 +283,7 @@ class DriveGroupSpec(ServiceSpec):
             c['db_devices'] = self.db_devices.to_json()
         if self.wal_devices:
             c['wal_devices'] = self.wal_devices.to_json()
+        c['service_name'] = self.service_name()
         return c
 
     def __eq__(self, other):
index 45474c07aa87872404f01a8f0939d6ee52b9a617..5bcf7d91a9ae1a2f9aed2e7840e45177aaaf0372 100644 (file)
@@ -1,6 +1,7 @@
 import fnmatch
 import re
 from collections import namedtuple
+from functools import wraps
 from typing import Optional, Dict, Any, List, Union
 
 import six
@@ -28,6 +29,17 @@ def assert_valid_host(name):
         raise ServiceSpecValidationError(e)
 
 
+def handle_type_error(method):
+    @wraps(method)
+    def inner(cls, *args, **kwargs):
+        try:
+            return method(cls, *args, **kwargs)
+        except (TypeError, AttributeError) as e:
+            error_msg = '{}: {}'.format(cls.__name__, e)
+        raise ServiceSpecValidationError(error_msg)
+    return inner
+
+
 class HostPlacementSpec(namedtuple('HostPlacementSpec', ['hostname', 'network', 'name'])):
     def __str__(self):
         res = ''
@@ -39,6 +51,7 @@ class HostPlacementSpec(namedtuple('HostPlacementSpec', ['hostname', 'network',
         return res
 
     @classmethod
+    @handle_type_error
     def from_json(cls, data):
         return cls(**data)
 
@@ -97,7 +110,9 @@ class HostPlacementSpec(namedtuple('HostPlacementSpec', ['hostname', 'network',
         if ',' in network:
             networks = [x for x in network.split(',')]
         else:
-            networks.append(network)
+            if network != '':
+                networks.append(network)
+
         for network in networks:
             # only if we have versioned network configs
             if network.startswith('v') or network.startswith('[v'):
@@ -189,11 +204,17 @@ class PlacementSpec(object):
         return "PlacementSpec(%s)" % ', '.join(kv)
 
     @classmethod
+    @handle_type_error
     def from_json(cls, data):
-        hosts = data.get('hosts', [])
+        c = data.copy()
+        hosts = c.get('hosts', [])
         if hosts:
-            data['hosts'] = [HostPlacementSpec.from_json(host) for host in hosts]
-        _cls = cls(**data)
+            c['hosts'] = []
+            for host in hosts:
+                c['hosts'].append(HostPlacementSpec.parse(host) if
+                                  isinstance(host, str) else
+                                  HostPlacementSpec.from_json(host))
+        _cls = cls(**c)
         _cls.validate()
         return _cls
 
@@ -323,9 +344,38 @@ class ServiceSpec(object):
     start the services.
 
     """
-    KNOWN_SERVICE_TYPES = 'alertmanager crash grafana mds mgr mon nfs ' \
+    KNOWN_SERVICE_TYPES = 'alertmanager crash grafana iscsi mds mgr mon nfs ' \
                           'node-exporter osd prometheus rbd-mirror rgw'.split()
 
+    @classmethod
+    def _cls(cls, service_type):
+        from ceph.deployment.drive_group import DriveGroupSpec
+
+        ret = {
+            'rgw': RGWSpec,
+            'nfs': NFSServiceSpec,
+            'osd': DriveGroupSpec,
+            'iscsi': IscsiServiceSpec,
+        }.get(service_type, cls)
+        if ret == ServiceSpec and not service_type:
+            raise ServiceSpecValidationError('Spec needs a "service_type" key.')
+        return ret
+
+    def __new__(cls, *args, **kwargs):
+        """
+        Some Python foo to make sure, we don't have an object
+        like `ServiceSpec('rgw')` of type `ServiceSpec`. Now we have:
+
+        >>> type(ServiceSpec('rgw')) == type(RGWSpec('rgw'))
+        True
+
+        """
+        if cls != ServiceSpec:
+            return object.__new__(cls)
+        service_type = kwargs.get('service_type', args[0] if args else None)
+        sub_cls = cls._cls(service_type)
+        return object.__new__(sub_cls)
+
     def __init__(self,
                  service_type,     # type: str
                  service_id=None,  # type: Optional[str]
@@ -341,6 +391,7 @@ class ServiceSpec(object):
         self.unmanaged = unmanaged
 
     @classmethod
+    @handle_type_error
     def from_json(cls, json_spec):
         # type: (dict) -> Any
         # Python 3:
@@ -350,19 +401,27 @@ class ServiceSpec(object):
         Initialize 'ServiceSpec' object data from a json structure
         :param json_spec: A valid dict with ServiceSpec
         """
-        from ceph.deployment.drive_group import DriveGroupSpec
 
-        service_type = json_spec.get('service_type', '')
-        _cls = {
-            'rgw': RGWSpec,
-            'nfs': NFSServiceSpec,
-            'osd': DriveGroupSpec
-        }.get(service_type, cls)
+        c = json_spec.copy()
 
-        if _cls == ServiceSpec and not service_type:
-            raise ServiceSpecValidationError('Spec needs a "service_type" key.')
+        # kludge to make `from_json` compatible to `Orchestrator.describe_service`
+        # Open question: Remove `service_id` form to_json?
+        if c.get('service_name', ''):
+            service_type_id = c['service_name'].split('.', 1)
+
+            if not c.get('service_type', ''):
+                c['service_type'] = service_type_id[0]
+            if not c.get('service_id', '') and len(service_type_id) > 1:
+                c['service_id'] = service_type_id[1]
+            del c['service_name']
+
+        service_type = c.get('service_type', '')
+        _cls = cls._cls(service_type)
+
+        if 'status' in c:
+            del c['status']  # kludge to make us compatible to `ServiceDescription.to_json()`
 
-        return _cls._from_json_impl(json_spec)  # type: ignore
+        return _cls._from_json_impl(c)  # type: ignore
 
     @classmethod
     def _from_json_impl(cls, json_spec):
@@ -374,7 +433,9 @@ class ServiceSpec(object):
                 args.update(v)
                 continue
             args.update({k: v})
-        return cls(**args)
+        _cls = cls(**args)
+        _cls.validate()
+        return _cls
 
     def service_name(self):
         n = self.service_type
@@ -390,6 +451,8 @@ class ServiceSpec(object):
                 val = val.to_json()
             if val:
                 c[key] = val
+
+        c['service_name'] = self.service_name()
         return c
 
     def validate(self):
@@ -410,12 +473,12 @@ def servicespec_validate_add(self: ServiceSpec):
     # This must not be a method of ServiceSpec, otherwise you'll hunt
     # sub-interpreter affinity bugs.
     ServiceSpec.validate(self)
-    if self.service_type in ['mds', 'rgw', 'nfs'] and not self.service_id:
+    if self.service_type in ['mds', 'rgw', 'nfs', 'iscsi'] and not self.service_id:
         raise ServiceSpecValidationError('Cannot add Service: id required')
 
 
 class NFSServiceSpec(ServiceSpec):
-    def __init__(self, service_id, pool=None, namespace=None, placement=None,
+    def __init__(self, service_id=None, pool=None, namespace=None, placement=None,
                  service_type='nfs', unmanaged=False):
         assert service_type == 'nfs'
         super(NFSServiceSpec, self).__init__(
@@ -434,6 +497,18 @@ class NFSServiceSpec(ServiceSpec):
         if not self.pool:
             raise ServiceSpecValidationError('Cannot add NFS: No Pool specified')
 
+    def rados_config_name(self):
+        # type: () -> str
+        return 'conf-' + self.service_name()
+
+    def rados_config_location(self):
+        # type: () -> str
+        url = 'rados://' + self.pool + '/'
+        if self.namespace:
+            url += self.namespace + '/'
+        url += self.rados_config_name()
+        return url
+
 
 class RGWSpec(ServiceSpec):
     """
@@ -441,17 +516,19 @@ class RGWSpec(ServiceSpec):
 
     """
     def __init__(self,
+                 service_type='rgw',
+                 service_id=None,  # type: Optional[str]
+                 placement=None,
                  rgw_realm=None,  # type: Optional[str]
                  rgw_zone=None,  # type: Optional[str]
                  subcluster=None,  # type: Optional[str]
-                 service_id=None,  # type: Optional[str]
-                 placement=None,
-                 service_type='rgw',
                  rgw_frontend_port=None,  # type: Optional[int]
+                 rgw_frontend_ssl_certificate=None,  # type Optional[List[str]]
+                 rgw_frontend_ssl_key=None,  # type: Optional[List[str]]
                  unmanaged=False,  # type: bool
                  ssl=False,   # type: bool
                  ):
-        assert service_type == 'rgw'
+        assert service_type == 'rgw', service_type
         if service_id:
             a = service_id.split('.', 2)
             rgw_realm = a[0]
@@ -471,6 +548,8 @@ class RGWSpec(ServiceSpec):
         self.rgw_zone = rgw_zone
         self.subcluster = subcluster
         self.rgw_frontend_port = rgw_frontend_port
+        self.rgw_frontend_ssl_certificate = rgw_frontend_ssl_certificate
+        self.rgw_frontend_ssl_key = rgw_frontend_ssl_key
         self.ssl = ssl
 
     def get_port(self):
@@ -480,3 +559,49 @@ class RGWSpec(ServiceSpec):
             return 443
         else:
             return 80
+
+    def rgw_frontends_config_value(self):
+        ports = []
+        if self.ssl:
+            ports.append(f"ssl_port={self.get_port()}")
+            ports.append(f"ssl_certificate=config://rgw/cert/{self.rgw_realm}/{self.rgw_zone}.crt")
+            ports.append(f"ssl_key=config://rgw/cert/{self.rgw_realm}/{self.rgw_zone}.key")
+        else:
+            ports.append(f"port={self.get_port()}")
+        return f'beast {" ".join(ports)}'
+
+
+class IscsiServiceSpec(ServiceSpec):
+    def __init__(self, service_id, pool=None,
+                 placement=None,
+                 trusted_ip_list=None,
+                 fqdn_enabled=None,
+                 api_port=None,
+                 api_user=None,
+                 api_password=None,
+                 api_secure=None,
+                 ssl_cert=None,
+                 ssl_key=None,
+                 service_type='iscsi',
+                 unmanaged=False):
+        assert service_type == 'iscsi'
+        super(IscsiServiceSpec, self).__init__('iscsi', service_id=service_id,
+                                               placement=placement, unmanaged=unmanaged)
+
+        #: RADOS pool where ceph-iscsi config data is stored.
+        self.pool = pool
+        self.trusted_ip_list = trusted_ip_list
+        self.fqdn_enabled = fqdn_enabled
+        self.api_port = api_port
+        self.api_user = api_user
+        self.api_password = api_password
+        self.api_secure = api_secure
+        self.ssl_cert = ssl_cert
+        self.ssl_key = ssl_key
+
+    def validate_add(self):
+        servicespec_validate_add(self)
+
+        if not self.pool:
+            raise ServiceSpecValidationError(
+                'Cannot add ISCSI: No Pool specified')
index a09e7126971849e296c757805a1632676bafe998..2412e86186734a4d8b84f59edc815449e5f2ea49 100644 (file)
@@ -1,7 +1,7 @@
 import logging
 
 try:
-    from typing import Optional
+    from typing import Optional, List
 except ImportError:
     pass
 
@@ -15,11 +15,15 @@ class to_ceph_volume(object):
 
     def __init__(self,
                  spec,  # type: DriveGroupSpec
-                 selection  # type: DriveSelection
+                 selection,  # type: DriveSelection
+                 osd_id_claims=None,  # type: Optional[List[str]]
+                 preview=False  # type: bool
                  ):
 
         self.spec = spec
         self.selection = selection
+        self.preview = preview
+        self.osd_id_claims = osd_id_claims
 
     def run(self):
         # type: () -> Optional[str]
@@ -32,6 +36,7 @@ class to_ceph_volume(object):
         if not data_devices:
             return None
 
+        cmd = ""
         if self.spec.objectstore == 'filestore':
             cmd = "lvm batch --no-auto"
 
@@ -54,6 +59,14 @@ class to_ceph_volume(object):
            not db_devices and \
            not wal_devices:
             cmd = "lvm prepare --bluestore --data %s --no-systemd" % (' '.join(data_devices))
+            if self.osd_id_claims:
+                cmd += " --osd-id {}".format(str(self.osd_id_claims[0]))
+            if self.preview:
+                # Like every horrible hack, this has sideffects on other features.
+                # In this case, 'lvm prepare' has neither a '--report' nor a '--format json' option
+                # which essentially doesn't allow for a proper previews here.
+                # Fall back to lvm batch in order to get a preview.
+                return f"lvm batch --no-auto {' '.join(data_devices)} --report --format json"
             return cmd
 
         if self.spec.objectstore == 'bluestore':
@@ -78,7 +91,14 @@ class to_ceph_volume(object):
         if self.spec.osds_per_device:
             cmd += " --osds-per-device {}".format(self.spec.osds_per_device)
 
+        if self.osd_id_claims:
+            cmd += " --osd-ids {}".format(" ".join(self.osd_id_claims))
+
         cmd += " --yes"
         cmd += " --no-systemd"
 
+        if self.preview:
+            cmd += " --report"
+            cmd += " --format json"
+
         return cmd
index 7de6640508659e711c6412c085e57f6fc8317c30..c0734ced82e39919cd86a16bbbf6ba0fac75f353 100644 (file)
@@ -1,5 +1,6 @@
 # flake8: noqa
 import pytest
+import yaml
 
 from ceph.deployment import drive_selection, translate
 from ceph.deployment.inventory import Device
@@ -28,10 +29,26 @@ def test_DriveGroup(test_input):
     assert all([isinstance(x, Device) for x in dg.data_devices.paths])
     assert dg.data_devices.paths[0].path == '/dev/sda'
 
-
-def test_DriveGroup_fail():
+@pytest.mark.parametrize("test_input",
+[
+    (
+        {}
+    ),
+    (
+        yaml.safe_load("""
+service_type: osd
+service_id: mydg
+placement:
+  host_pattern: '*'
+data_devices:
+  limit: 1
+""")
+    )
+])
+def test_DriveGroup_fail(test_input):
     with pytest.raises(ServiceSpecValidationError):
-        DriveGroupSpec.from_json({})
+        DriveGroupSpec.from_json(test_input)
+
 
 
 def test_drivegroup_pattern():
@@ -55,7 +72,7 @@ def test_ceph_volume_command_0():
                           )
     inventory = _mk_inventory(_mk_device()*2)
     sel = drive_selection.DriveSelection(spec, inventory)
-    cmd = translate.to_ceph_volume(spec, sel).run()
+    cmd = translate.to_ceph_volume(spec, sel, []).run()
     assert cmd == 'lvm batch --no-auto /dev/sda /dev/sdb --yes --no-systemd'
 
 
@@ -66,7 +83,7 @@ def test_ceph_volume_command_1():
                           )
     inventory = _mk_inventory(_mk_device(rotational=True)*2 + _mk_device(rotational=False)*2)
     sel = drive_selection.DriveSelection(spec, inventory)
-    cmd = translate.to_ceph_volume(spec, sel).run()
+    cmd = translate.to_ceph_volume(spec, sel, []).run()
     assert cmd == ('lvm batch --no-auto /dev/sda /dev/sdb '
                    '--db-devices /dev/sdc /dev/sdd --yes --no-systemd')
 
@@ -82,7 +99,7 @@ def test_ceph_volume_command_2():
                               _mk_device(size="10.0 GB", rotational=False)*2
                               )
     sel = drive_selection.DriveSelection(spec, inventory)
-    cmd = translate.to_ceph_volume(spec, sel).run()
+    cmd = translate.to_ceph_volume(spec, sel, []).run()
     assert cmd == ('lvm batch --no-auto /dev/sda /dev/sdb '
                    '--db-devices /dev/sdc /dev/sdd --wal-devices /dev/sde /dev/sdf '
                    '--yes --no-systemd')
@@ -100,7 +117,7 @@ def test_ceph_volume_command_3():
                               _mk_device(size="10.0 GB", rotational=False)*2
                               )
     sel = drive_selection.DriveSelection(spec, inventory)
-    cmd = translate.to_ceph_volume(spec, sel).run()
+    cmd = translate.to_ceph_volume(spec, sel, []).run()
     assert cmd == ('lvm batch --no-auto /dev/sda /dev/sdb '
                    '--db-devices /dev/sdc /dev/sdd '
                    '--wal-devices /dev/sde /dev/sdf --dmcrypt '
@@ -122,7 +139,7 @@ def test_ceph_volume_command_4():
                               _mk_device(size="10.0 GB", rotational=False)*2
                               )
     sel = drive_selection.DriveSelection(spec, inventory)
-    cmd = translate.to_ceph_volume(spec, sel).run()
+    cmd = translate.to_ceph_volume(spec, sel, []).run()
     assert cmd == ('lvm batch --no-auto /dev/sda /dev/sdb '
                    '--db-devices /dev/sdc /dev/sdd --wal-devices /dev/sde /dev/sdf '
                    '--block-wal-size 500M --block-db-size 500M --dmcrypt '
@@ -136,7 +153,7 @@ def test_ceph_volume_command_5():
                           )
     inventory = _mk_inventory(_mk_device(rotational=True)*2)
     sel = drive_selection.DriveSelection(spec, inventory)
-    cmd = translate.to_ceph_volume(spec, sel).run()
+    cmd = translate.to_ceph_volume(spec, sel, []).run()
     assert cmd == 'lvm batch --no-auto /dev/sda /dev/sdb --filestore --yes --no-systemd'
 
 
@@ -149,7 +166,18 @@ def test_ceph_volume_command_6():
                           )
     inventory = _mk_inventory(_mk_device(rotational=True)*2 + _mk_device(rotational=False)*2)
     sel = drive_selection.DriveSelection(spec, inventory)
-    cmd = translate.to_ceph_volume(spec, sel).run()
+    cmd = translate.to_ceph_volume(spec, sel, []).run()
     assert cmd == ('lvm batch --no-auto /dev/sdc /dev/sdd '
                    '--journal-size 500M --journal-devices /dev/sda /dev/sdb '
                    '--filestore --yes --no-systemd')
+
+
+def test_ceph_volume_command_7():
+    spec = DriveGroupSpec(placement=PlacementSpec(host_pattern='*'),
+                          data_devices=DeviceSelection(all=True),
+                          osd_id_claims={'host1': ['0', '1']}
+                          )
+    inventory = _mk_inventory(_mk_device(rotational=True)*2)
+    sel = drive_selection.DriveSelection(spec, inventory)
+    cmd = translate.to_ceph_volume(spec, sel, ['0', '1']).run()
+    assert cmd == 'lvm batch --no-auto /dev/sda /dev/sdb --osd-ids 0 1 --yes --no-systemd'
index 4b2c85c4b1fd397a9969a5f5b358d0673cbd7707..12a8be84bfd6569018e988813c8e37f8805e6054 100644 (file)
@@ -1,10 +1,12 @@
 # flake8: noqa
 import json
+import yaml
 
 import pytest
 
-from ceph.deployment.service_spec import HostPlacementSpec, PlacementSpec, RGWSpec, \
-    servicespec_validate_add, ServiceSpecValidationError
+from ceph.deployment.service_spec import HostPlacementSpec, PlacementSpec, RGWSpec, NFSServiceSpec, \
+    servicespec_validate_add, ServiceSpec, ServiceSpecValidationError
+from ceph.deployment.drive_group import DriveGroupSpec
 
 
 @pytest.mark.parametrize("test_input,expected, require_network",
@@ -24,6 +26,7 @@ def test_parse_host_placement_specs(test_input, expected, require_network):
     assert ret == expected
     assert str(ret) == test_input
 
+
 @pytest.mark.parametrize(
     "test_input,expected",
     [
@@ -66,23 +69,36 @@ def test_parse_placement_specs_raises(test_input):
                          [("myhost:1.1.1.1/24"),
                           # wrong ip format
                           ("myhost:1"),
-                          # empty string
-                          ("myhost=1"),
                           ])
-def test_parse_host_placement_specs_raises(test_input):
+def test_parse_host_placement_specs_raises_wrong_format(test_input):
     with pytest.raises(ValueError):
-        ret = HostPlacementSpec.parse(test_input)
+        HostPlacementSpec.parse(test_input)
 
 
-def test_rgwspec():
-    """
-    {
-        "rgw_zone": "zonename",
-        "service_type": "rgw",
-        "rgw_frontend_port": 8080,
-        "rgw_realm": "realm"
+@pytest.mark.parametrize(
+    "s_type,o_spec,s_id",
+    [
+        ("mgr", ServiceSpec, 'test'),
+        ("mon", ServiceSpec, 'test'),
+        ("mds", ServiceSpec, 'test'),
+        ("rgw", RGWSpec, 'realm.zone'),
+        ("nfs", NFSServiceSpec, 'test'),
+        ("osd", DriveGroupSpec, 'test'),
+    ])
+def test_servicespec_map_test(s_type, o_spec, s_id):
+    dict_spec = {
+        "service_id": s_id,
+        "service_type": s_type,
+        "placement":
+            dict(hosts=["host1:1.1.1.1"])
     }
-    """
-    example = json.loads(test_rgwspec.__doc__.strip())
-    spec = RGWSpec.from_json(example)
-    assert servicespec_validate_add(spec) is None
\ No newline at end of file
+    spec = ServiceSpec.from_json(dict_spec)
+    assert isinstance(spec, o_spec)
+    assert isinstance(spec.placement, PlacementSpec)
+    assert isinstance(spec.placement.hosts[0], HostPlacementSpec)
+    assert spec.placement.hosts[0].hostname == 'host1'
+    assert spec.placement.hosts[0].network == '1.1.1.1'
+    assert spec.placement.hosts[0].name == ''
+    assert servicespec_validate_add(spec) is None
+    ServiceSpec.from_json(spec.to_json())
+
index 7ac71f74d22b260e562b35f2cd123fd314c8969a..a269fada78cbd35b44cf6ecb1932bcaba0aa1e00 100644 (file)
@@ -4,3 +4,4 @@ mock; python_version < '3.3'
 mypy==0.770; python_version >= '3'
 pytest-mypy; python_version >= '3'
 pytest >= 2.1.3; python_version >= '3'
+pyyaml
index e0bd3e2497d15eb21ae3341f3ab30863a353d0ca..f83f97a3f7da9c07c89798f39abd38d135d75a8e 100644 (file)
@@ -1,5 +1,5 @@
 add_executable(rbd-fuse
   rbd-fuse.cc)
 target_link_libraries(rbd-fuse
-  ceph-common librbd librados global ${FUSE_LIBRARIES})
+  ceph-common librbd librados global FUSE::FUSE)
 install(TARGETS rbd-fuse DESTINATION bin)
index 64398faae40866d787123005d3094bdfadb56b29..e7c8166542a7dd849711c17f7ee959c4ac6ec0b2 100644 (file)
@@ -32,6 +32,7 @@
 
 #include "common/ceph_argparse.h"
 #include "common/ceph_context.h"
+#include "include/ceph_fuse.h"
 
 #include "global/global_init.h"
 #include "global/global_context.h"
@@ -244,7 +245,11 @@ static int count_images(void)
 
 extern "C" {
 
-static int rbdfs_getattr(const char *path, struct stat *stbuf)
+static int rbdfs_getattr(const char *path, struct stat *stbuf
+#if FUSE_VERSION >= FUSE_MAKE_VERSION(3, 0)
+                         , struct fuse_file_info *fi
+#endif
+                        )
 {
        int fd;
        time_t now;
@@ -456,11 +461,15 @@ static void rbdfs_readdir_cb(void *_info, const char *name)
 {
        struct rbdfs_readdir_info *info = (struct rbdfs_readdir_info*) _info;
 
-       info->filler(info->buf, name, NULL, 0);
+        filler_compat(info->filler, info->buf, name, NULL, 0);
 }
 
 static int rbdfs_readdir(const char *path, void *buf, fuse_fill_dir_t filler,
-                          off_t offset, struct fuse_file_info *fi)
+                        off_t offset, struct fuse_file_info *fi
+#if FUSE_VERSION >= FUSE_MAKE_VERSION(3, 0)
+                         , enum fuse_readdir_flags
+#endif
+                         )
 {
        struct rbdfs_readdir_info info = { buf, filler };
 
@@ -472,8 +481,8 @@ static int rbdfs_readdir(const char *path, void *buf, fuse_fill_dir_t filler,
        if (strcmp(path, "/") != 0)
                return -ENOENT;
 
-       filler(buf, ".", NULL, 0);
-       filler(buf, "..", NULL, 0);
+       filler_compat(filler, buf, ".", NULL, 0);
+       filler_compat(filler, buf, "..", NULL, 0);
        iter_images(&info, rbdfs_readdir_cb);
 
        return 0;
@@ -488,7 +497,11 @@ static int rbdfs_releasedir(const char *path, struct fuse_file_info *fi)
 }
 
 void *
-rbdfs_init(struct fuse_conn_info *conn)
+rbdfs_init(struct fuse_conn_info *conn
+#if FUSE_VERSION >= FUSE_MAKE_VERSION(3, 0)
+           , struct fuse_config *cfg
+#endif
+          )
 {
        int ret;
 
@@ -505,7 +518,7 @@ rbdfs_init(struct fuse_conn_info *conn)
        ret = rados_ioctx_create(cluster, pool_name, &ioctx);
        if (ret < 0)
                exit(91);
-#if FUSE_VERSION >= FUSE_MAKE_VERSION(2, 8)
+#if FUSE_VERSION >= FUSE_MAKE_VERSION(2, 8) && FUSE_VERSION < FUSE_MAKE_VERSION(3, 0)
        conn->want |= FUSE_CAP_BIG_WRITES;
 #endif
        rados_ioctx_set_namespace(ioctx, nspace_name);
@@ -570,7 +583,11 @@ rbdfs_create(const char *path, mode_t mode, struct fuse_file_info *fi)
 }
 
 int
-rbdfs_rename(const char *path, const char *destname)
+rbdfs_rename(const char *path, const char *destname
+#if FUSE_VERSION >= FUSE_MAKE_VERSION(3, 0)
+             , unsigned int flags
+#endif
+            )
 {
     int r;
 
@@ -587,7 +604,11 @@ rbdfs_rename(const char *path, const char *destname)
 }
 
 int
-rbdfs_utime(const char *path, struct utimbuf *utime)
+rbdfs_utimens(const char *path, const struct timespec tv[2]
+#if FUSE_VERSION >= FUSE_MAKE_VERSION(3, 0)
+              , struct fuse_file_info *fi
+#endif
+             )
 {
        // called on create; not relevant
        return 0;
@@ -609,7 +630,11 @@ rbdfs_unlink(const char *path)
 
 
 int
-rbdfs_truncate(const char *path, off_t size)
+rbdfs_truncate(const char *path, off_t size
+#if FUSE_VERSION >= FUSE_MAKE_VERSION(3, 0)
+               , struct fuse_file_info *fi
+#endif
+              )
 {
        int fd;
        int r;
@@ -724,7 +749,9 @@ rbdfs_listxattr(const char *path, char *list, size_t len)
 const static struct fuse_operations rbdfs_oper = {
   getattr:    rbdfs_getattr,
   readlink:   0,
+#if FUSE_VERSION < FUSE_MAKE_VERSION(3, 0)
   getdir:     0,
+#endif
   mknod:      0,
   mkdir:      0,
   unlink:     rbdfs_unlink,
@@ -735,7 +762,9 @@ const static struct fuse_operations rbdfs_oper = {
   chmod:      0,
   chown:      0,
   truncate:   rbdfs_truncate,
-  utime:      rbdfs_utime,
+#if FUSE_VERSION < FUSE_MAKE_VERSION(3, 0)
+  utime:      0,
+#endif
   open:              rbdfs_open,
   read:              rbdfs_read,
   write:      rbdfs_write,
@@ -755,6 +784,12 @@ const static struct fuse_operations rbdfs_oper = {
   destroy:    rbdfs_destroy,
   access:     0,
   create:     rbdfs_create,
+#if FUSE_VERSION < FUSE_MAKE_VERSION(3, 0)
+  ftruncate:  0,
+  fgetattr:   0,
+#endif
+  lock:       0,
+  utimens:    rbdfs_utimens,
   /* skip unimplemented */
 };
 
index 99285b4444346307a162e750eb406159ae1883ec..fb463ea88c9da5fe7dae22d7421c24be9d0046b4 100644 (file)
@@ -3401,7 +3401,7 @@ int main(int argc, const char **argv)
       bucket_id = val;
       opt_bucket_id = val;
       if (bucket_id.empty()) {
-        cerr << "bad bucket-id" << std::endl;
+        cerr << "no value for bucket-id" << std::endl;
         exit(1);
       }
     } else if (ceph_argparse_witharg(args, i, &val, "--bucket-new-name", (char*)NULL)) {
@@ -6077,6 +6077,15 @@ int main(int argc, const char **argv)
   } /* OPT::BUCKETS_LIST */
 
   if (opt_cmd == OPT::BUCKET_STATS) {
+    if (bucket_name.empty() && !bucket_id.empty()) {
+      rgw_bucket bucket;
+      if (!rgw_find_bucket_by_id(store->ctx(), store->ctl()->meta.mgr, marker, bucket_id, &bucket)) {
+        cerr << "failure: no such bucket id" << std::endl;
+        return -ENOENT;
+      }
+      bucket_op.set_tenant(bucket.tenant);
+      bucket_op.set_bucket_name(bucket.name);
+    }
     bucket_op.set_fetch_stats(true);
 
     int r = RGWBucketAdminOp::info(store, bucket_op, f);
index 108b1c13e2d1c5278f7ae8fb5f4310e393a52aa7..2e1e8b39ac2adfb03f6205a9cbdf20eaf9fd79cc 100644 (file)
@@ -207,6 +207,8 @@ int rgw_bucket_parse_bucket_key(CephContext *cct, const string& key,
     auto tenant = name.substr(0, pos);
     bucket->tenant.assign(tenant.begin(), tenant.end());
     name = name.substr(pos + 1);
+  } else {
+    bucket->tenant.clear();
   }
 
   // split name:instance
@@ -635,6 +637,43 @@ int RGWBucket::init(rgw::sal::RGWRadosStore *storage, RGWBucketAdminOpState& op_
   return 0;
 }
 
+bool rgw_find_bucket_by_id(CephContext *cct, RGWMetadataManager *mgr,
+                           const string& marker, const string& bucket_id, rgw_bucket* bucket_out)
+{
+  void *handle = NULL;
+  bool truncated = false;
+  string s;
+
+  int ret = mgr->list_keys_init("bucket.instance", marker, &handle);
+  if (ret < 0) {
+    cerr << "ERROR: can't get key: " << cpp_strerror(-ret) << std::endl;
+    mgr->list_keys_complete(handle);
+    return -ret;
+  }
+  do {
+      list<string> keys;
+      ret = mgr->list_keys_next(handle, 1000, keys, &truncated);
+      if (ret < 0) {
+        cerr << "ERROR: lists_keys_next(): " << cpp_strerror(-ret) << std::endl;
+        mgr->list_keys_complete(handle);
+        return -ret;
+      }
+      for (list<string>::iterator iter = keys.begin(); iter != keys.end(); ++iter) {
+        s = *iter;
+        ret = rgw_bucket_parse_bucket_key(cct, s, bucket_out, nullptr);
+        if (ret < 0) {
+          continue;
+        }
+        if (bucket_id == bucket_out->bucket_id) {
+          mgr->list_keys_complete(handle);
+          return true;
+        }
+      }
+  } while (truncated);
+  mgr->list_keys_complete(handle);
+  return false;
+}
+
 int RGWBucket::link(RGWBucketAdminOpState& op_state, optional_yield y,
                     map<string, bufferlist>& attrs, std::string *err_msg)
 {
index d30f410fddcf56d2c1648e261443f075dbcd4489..797a46cdb171b3e3cdf37ef1a07d638522acdaa5 100644 (file)
@@ -939,5 +939,7 @@ private:
 
 };
 
+bool rgw_find_bucket_by_id(CephContext *cct, RGWMetadataManager *mgr, const string& marker,
+                           const string& bucket_id, rgw_bucket* bucket_out);
 
 #endif
index a3ca40e2cdf39b9d792eb5439d44de7b03116d2f..e50b5a7161a66ecf94b71c1e4bd70eb7fa428d0a 100644 (file)
@@ -203,17 +203,13 @@ int radosgw_Main(int argc, const char **argv)
   }
 
   int flags = CINIT_FLAG_UNPRIVILEGED_DAEMON_DEFAULTS;
-  global_pre_init(
-    &defaults, args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_DAEMON,
-    flags);
-
-  // Now that we've determined which frontend(s) to use, continue with global
-  // initialization. Passing false as the final argument ensures that
-  // global_pre_init() is not invoked twice.
-  // claim the reference and release it after subsequent destructors have fired
+  // Prevent global_init() from dropping permissions until frontends can bind
+  // privileged ports
+  flags |= CINIT_FLAG_DEFER_DROP_PRIVILEGES;
+
   auto cct = global_init(&defaults, args, CEPH_ENTITY_TYPE_CLIENT,
                         CODE_ENVIRONMENT_DAEMON,
-                        flags, "rgw_data", false);
+                        flags, "rgw_data");
 
   // First, let's determine which frontends are configured.
   list<string> frontends;
@@ -229,9 +225,6 @@ int radosgw_Main(int argc, const char **argv)
     string& f = *iter;
 
     if (f.find("civetweb") != string::npos || f.find("beast") != string::npos) {
-      // If civetweb or beast is configured as a frontend, prevent global_init() from
-      // dropping permissions by setting the appropriate flag.
-      flags |= CINIT_FLAG_DEFER_DROP_PRIVILEGES;
       if (f.find("port") != string::npos) {
         // check for the most common ws problems
         if ((f.find("port=") == string::npos) ||
index cb8e8a90d5333e71f6c476ebeb2085d04164f34d..f5643fdab1b4a67f47303515ea851dc9627e247b 100644 (file)
@@ -2147,22 +2147,14 @@ bool RGWGetObj::prefetch_data()
     return false;
   }
 
-  bool prefetch_first_chunk = true;
   range_str = s->info.env->get("HTTP_RANGE");
-
+  // TODO: add range prefetch
   if (range_str) {
-    int r = parse_range();
-    /* error on parsing the range, stop prefetch and will fail in execute() */
-    if (r < 0) {
-      return false; /* range_parsed==false */
-    }
-    /* range get goes to shadow objects, stop prefetch */
-    if (ofs >= s->cct->_conf->rgw_max_chunk_size) {
-      prefetch_first_chunk = false;
-    }
+    parse_range();
+    return false;
   }
 
-  return get_data && prefetch_first_chunk;
+  return get_data;
 }
 
 void RGWGetObj::pre_exec()
index e20d8a392388da2a8d48dc2e76499d891f422b53..e55b0d1f5a680671afd97d29f50342e5e5a4dd5d 100644 (file)
@@ -641,7 +641,6 @@ int RGWBucketReshard::do_reshard(int num_shards,
            return ret;
          }
        }
-
        if (verbose_json_out) {
          formatter->close_section();
          formatter->flush(*out);
@@ -1021,19 +1020,25 @@ int RGWReshard::process_single_logshard(int logshard_num)
                                                 entry.tenant, entry.bucket_name,
                                                 bucket_info, nullptr,
                                                 null_yield, &attrs);
-       if (ret < 0) {
-         ldout(cct, 0) <<  __func__ <<
-           ": Error in get_bucket_info for bucket " << entry.bucket_name <<
-           ": " << cpp_strerror(-ret) << dendl;
-         if (ret != -ENOENT) {
-           // any error other than ENOENT will abort
-           return ret;
+       if (ret < 0 || bucket_info.bucket.bucket_id != entry.bucket_id) {
+         if (ret < 0) {
+           ldout(cct, 0) <<  __func__ <<
+             ": Error in get_bucket_info for bucket " << entry.bucket_name <<
+             ": " << cpp_strerror(-ret) << dendl;
+           if (ret != -ENOENT) {
+             // any error other than ENOENT will abort
+             return ret;
+           }
+         } else {
+           ldout(cct,0) << __func__ <<
+             ": Bucket: " << entry.bucket_name <<
+             " already resharded by someone, skipping " << dendl;
          }
 
          // we've encountered a reshard queue entry for an apparently
          // non-existent bucket; let's try to recover by cleaning up
          ldout(cct, 0) <<  __func__ <<
-           ": removing reshard queue entry for non-existent bucket " <<
+           ": removing reshard queue entry for a resharded or non-existent bucket" <<
            entry.bucket_name << dendl;
 
          ret = remove(entry);
index 8d4b64935c073729363454e27832d10b70e423f0..d78bb29c76c5c6167ad7fd6065eeb2d48798e745 100644 (file)
@@ -1055,7 +1055,7 @@ public:
       create_user.display_name = "pubsub";
       create_user.generate_key = false;
       yield call(new RGWUserCreateCR(sync_env->async_rados, sync_env->store, create_user, sync_env->dpp));
-      if (retcode < 0) {
+      if (retcode < 0 && retcode != -ERR_USER_EXIST) {
         ldpp_dout(sync_env->dpp, 1) << "ERROR: failed to create rgw user: ret=" << retcode << dendl;
         return set_cr_error(retcode);
       }
index 6aa4dfe9f836390ebfc1342a83b274a740d60bc2..aa381b1bc20396290f5e1dda8f18a70fb4a89e13 100644 (file)
@@ -30,8 +30,8 @@ Unmap by device
 Unmap by device (img is already mapped):
 
   $ rbd device list
-  id pool namespace image snap device    
-  ?  rbd            img   -    /dev/rbd?  (glob)
+  id  pool  namespace  image  snap  device   
+  ?   rbd              img    -     /dev/rbd? (glob)
   $ sudo rbd device unmap $DEV
   $ rbd device list
 
@@ -39,15 +39,15 @@ Unmap by device partition:
 
   $ DEV=$(sudo rbd device map img)
   $ rbd device list
-  id pool namespace image snap device    
-  ?  rbd            img   -    /dev/rbd?  (glob)
+  id  pool  namespace  image  snap  device   
+  ?   rbd              img    -     /dev/rbd? (glob)
   $ sudo rbd device unmap ${DEV}p1
   $ rbd device list
 
   $ DEV=$(sudo rbd device map img)
   $ rbd device list
-  id pool namespace image snap device    
-  ?  rbd            img   -    /dev/rbd?  (glob)
+  id  pool  namespace  image  snap  device   
+  ?   rbd              img    -     /dev/rbd? (glob)
   $ sudo rbd device unmap ${DEV}p5
   $ rbd device list
 
@@ -84,16 +84,16 @@ img:
   $ sudo rbd device map img
   /dev/rbd? (glob)
   $ rbd device list
-  id pool namespace image snap device    
-  ?  rbd            img   -    /dev/rbd?  (glob)
+  id  pool  namespace  image  snap  device   
+  ?   rbd              img    -     /dev/rbd? (glob)
   $ sudo rbd device unmap img
   $ rbd device list
 
   $ sudo rbd device map img
   /dev/rbd? (glob)
   $ rbd device list
-  id pool namespace image snap device    
-  ?  rbd            img   -    /dev/rbd?  (glob)
+  id  pool  namespace  image  snap  device   
+  ?   rbd              img    -     /dev/rbd? (glob)
   $ sudo rbd --image img device unmap
   $ rbd device list
 
@@ -102,24 +102,24 @@ img@snap:
   $ sudo rbd device map img@snap
   /dev/rbd? (glob)
   $ rbd device list
-  id pool namespace image snap device    
-  ?  rbd            img   snap /dev/rbd?  (glob)
+  id  pool  namespace  image  snap  device   
+  ?   rbd              img    snap  /dev/rbd? (glob)
   $ sudo rbd device unmap img@snap
   $ rbd device list
 
   $ sudo rbd device map img@snap
   /dev/rbd? (glob)
   $ rbd device list
-  id pool namespace image snap device    
-  ?  rbd            img   snap /dev/rbd?  (glob)
+  id  pool  namespace  image  snap  device   
+  ?   rbd              img    snap  /dev/rbd? (glob)
   $ sudo rbd --snap snap device unmap img
   $ rbd device list
 
   $ sudo rbd device map img@snap
   /dev/rbd? (glob)
   $ rbd device list
-  id pool namespace image snap device    
-  ?  rbd            img   snap /dev/rbd?  (glob)
+  id  pool  namespace  image  snap  device   
+  ?   rbd              img    snap  /dev/rbd? (glob)
   $ sudo rbd --image img --snap snap device unmap
   $ rbd device list
 
@@ -128,32 +128,32 @@ pool/img@snap, default pool:
   $ sudo rbd device map rbd/img@snap
   /dev/rbd? (glob)
   $ rbd device list
-  id pool namespace image snap device    
-  ?  rbd            img   snap /dev/rbd?  (glob)
+  id  pool  namespace  image  snap  device   
+  ?   rbd              img    snap  /dev/rbd? (glob)
   $ sudo rbd device unmap rbd/img@snap
   $ rbd device list
 
   $ sudo rbd device map rbd/img@snap
   /dev/rbd? (glob)
   $ rbd device list
-  id pool namespace image snap device    
-  ?  rbd            img   snap /dev/rbd?  (glob)
+  id  pool  namespace  image  snap  device   
+  ?   rbd              img    snap  /dev/rbd? (glob)
   $ sudo rbd --pool rbd device unmap img@snap
   $ rbd device list
 
   $ sudo rbd device map rbd/img@snap
   /dev/rbd? (glob)
   $ rbd device list
-  id pool namespace image snap device    
-  ?  rbd            img   snap /dev/rbd?  (glob)
+  id  pool  namespace  image  snap  device   
+  ?   rbd              img    snap  /dev/rbd? (glob)
   $ sudo rbd --pool rbd --snap snap device unmap img
   $ rbd device list
 
   $ sudo rbd device map rbd/img@snap
   /dev/rbd? (glob)
   $ rbd device list
-  id pool namespace image snap device    
-  ?  rbd            img   snap /dev/rbd?  (glob)
+  id  pool  namespace  image  snap  device   
+  ?   rbd              img    snap  /dev/rbd? (glob)
   $ sudo rbd --pool rbd --image img --snap snap device unmap
   $ rbd device list
 
@@ -162,32 +162,32 @@ pool/img@snap, custom pool:
   $ sudo rbd device map custom/img@snap
   /dev/rbd? (glob)
   $ rbd device list
-  id pool   namespace image snap device    
-  ?  custom           img   snap /dev/rbd?  (glob)
+  id  pool    namespace  image  snap  device   
+  ?   custom             img    snap  /dev/rbd? (glob)
   $ sudo rbd device unmap custom/img@snap
   $ rbd device list
 
   $ sudo rbd device map custom/img@snap
   /dev/rbd? (glob)
   $ rbd device list
-  id pool   namespace image snap device    
-  ?  custom           img   snap /dev/rbd?  (glob)
+  id  pool    namespace  image  snap  device   
+  ?   custom             img    snap  /dev/rbd? (glob)
   $ sudo rbd --pool custom device unmap img@snap
   $ rbd device list
 
   $ sudo rbd device map custom/img@snap
   /dev/rbd? (glob)
   $ rbd device list
-  id pool   namespace image snap device    
-  ?  custom           img   snap /dev/rbd?  (glob)
+  id  pool    namespace  image  snap  device   
+  ?   custom             img    snap  /dev/rbd? (glob)
   $ sudo rbd --pool custom --snap snap device unmap img
   $ rbd device list
 
   $ sudo rbd device map custom/img@snap
   /dev/rbd? (glob)
   $ rbd device list
-  id pool   namespace image snap device    
-  ?  custom           img   snap /dev/rbd?  (glob)
+  id  pool    namespace  image  snap  device   
+  ?   custom             img    snap  /dev/rbd? (glob)
   $ sudo rbd --pool custom --image img --snap snap device unmap
   $ rbd device list
 
@@ -238,13 +238,13 @@ Unmap img first:
   $ sudo rbd device map anotherimg
   /dev/rbd? (glob)
   $ rbd device list
-  id pool namespace image      snap device    
-  ?  rbd            img        -    /dev/rbd?  (glob)
-  ?  rbd            anotherimg -    /dev/rbd?  (glob)
+  id  pool  namespace  image       snap  device   
+  ?   rbd              img         -     /dev/rbd? (glob)
+  ?   rbd              anotherimg  -     /dev/rbd? (glob)
   $ sudo rbd device unmap img
   $ rbd device list
-  id pool namespace image      snap device    
-  ?  rbd            anotherimg -    /dev/rbd?  (glob)
+  id  pool  namespace  image       snap  device   
+  ?   rbd              anotherimg  -     /dev/rbd? (glob)
   $ sudo rbd device unmap anotherimg
   $ rbd device list
 
@@ -255,13 +255,13 @@ Unmap anotherimg first:
   $ sudo rbd device map anotherimg
   /dev/rbd? (glob)
   $ rbd device list
-  id pool namespace image      snap device    
-  ?  rbd            img        -    /dev/rbd?  (glob)
-  ?  rbd            anotherimg -    /dev/rbd?  (glob)
+  id  pool  namespace  image       snap  device   
+  ?   rbd              img         -     /dev/rbd? (glob)
+  ?   rbd              anotherimg  -     /dev/rbd? (glob)
   $ sudo rbd device unmap anotherimg
   $ rbd device list
-  id pool namespace image snap device    
-  ?  rbd            img   -    /dev/rbd?  (glob)
+  id  pool  namespace  image  snap  device   
+  ?   rbd              img    -     /dev/rbd? (glob)
   $ sudo rbd device unmap img
   $ rbd device list
 
@@ -276,13 +276,13 @@ Unmap the image first:
   $ sudo rbd device map img@snap
   /dev/rbd? (glob)
   $ rbd device list
-  id pool namespace image snap device    
-  ?  rbd            img   -    /dev/rbd?  (glob)
-  ?  rbd            img   snap /dev/rbd?  (glob)
+  id  pool  namespace  image  snap  device   
+  ?   rbd              img    -     /dev/rbd? (glob)
+  ?   rbd              img    snap  /dev/rbd? (glob)
   $ sudo rbd device unmap img
   $ rbd device list
-  id pool namespace image snap device    
-  ?  rbd            img   snap /dev/rbd?  (glob)
+  id  pool  namespace  image  snap  device   
+  ?   rbd              img    snap  /dev/rbd? (glob)
   $ sudo rbd device unmap img@snap
   $ rbd device list
 
@@ -293,13 +293,13 @@ Unmap the snap first:
   $ sudo rbd device map img@snap
   /dev/rbd? (glob)
   $ rbd device list
-  id pool namespace image snap device    
-  ?  rbd            img   -    /dev/rbd?  (glob)
-  ?  rbd            img   snap /dev/rbd?  (glob)
+  id  pool  namespace  image  snap  device   
+  ?   rbd              img    -     /dev/rbd? (glob)
+  ?   rbd              img    snap  /dev/rbd? (glob)
   $ sudo rbd device unmap img@snap
   $ rbd device list
-  id pool namespace image snap device    
-  ?  rbd            img   -    /dev/rbd?  (glob)
+  id  pool  namespace  image  snap  device   
+  ?   rbd              img    -     /dev/rbd? (glob)
   $ sudo rbd device unmap img
   $ rbd device list
 
@@ -314,13 +314,13 @@ Unmap snap first:
   $ sudo rbd device map custom/img@anothersnap
   /dev/rbd? (glob)
   $ rbd device list
-  id pool   namespace image snap        device    
-  ?  custom           img   snap        /dev/rbd?  (glob)
-  ?  custom           img   anothersnap /dev/rbd?  (glob)
+  id  pool    namespace  image  snap         device   
+  ?   custom             img    snap         /dev/rbd? (glob)
+  ?   custom             img    anothersnap  /dev/rbd? (glob)
   $ sudo rbd device unmap custom/img@snap
   $ rbd device list
-  id pool   namespace image snap        device    
-  ?  custom           img   anothersnap /dev/rbd?  (glob)
+  id  pool    namespace  image  snap         device   
+  ?   custom             img    anothersnap  /dev/rbd? (glob)
   $ sudo rbd device unmap custom/img@anothersnap
   $ rbd device list
 
@@ -331,13 +331,13 @@ Unmap anothersnap first:
   $ sudo rbd device map custom/img@anothersnap
   /dev/rbd? (glob)
   $ rbd device list
-  id pool   namespace image snap        device    
-  ?  custom           img   snap        /dev/rbd?  (glob)
-  ?  custom           img   anothersnap /dev/rbd?  (glob)
+  id  pool    namespace  image  snap         device   
+  ?   custom             img    snap         /dev/rbd? (glob)
+  ?   custom             img    anothersnap  /dev/rbd? (glob)
   $ sudo rbd device unmap custom/img@anothersnap
   $ rbd device list
-  id pool   namespace image snap device    
-  ?  custom           img   snap /dev/rbd?  (glob)
+  id  pool    namespace  image  snap  device   
+  ?   custom             img    snap  /dev/rbd? (glob)
   $ sudo rbd device unmap custom/img@snap
   $ rbd device list
 
@@ -352,13 +352,13 @@ img:
   $ sudo rbd device map custom/img
   /dev/rbd? (glob)
   $ rbd device list
-  id pool   namespace image snap device    
-  ?  rbd              img   -    /dev/rbd?  (glob)
-  ?  custom           img   -    /dev/rbd?  (glob)
+  id  pool    namespace  image  snap  device   
+  ?   rbd                img    -     /dev/rbd? (glob)
+  ?   custom             img    -     /dev/rbd? (glob)
   $ sudo rbd device unmap img
   $ rbd device list
-  id pool   namespace image snap device    
-  ?  custom           img   -    /dev/rbd?  (glob)
+  id  pool    namespace  image  snap  device   
+  ?   custom             img    -     /dev/rbd? (glob)
   $ sudo rbd device unmap custom/img
   $ rbd device list
 
@@ -369,13 +369,13 @@ img@snap:
   $ sudo rbd device map custom/img@snap
   /dev/rbd? (glob)
   $ rbd device list
-  id pool   namespace image snap device    
-  ?  rbd              img   snap /dev/rbd?  (glob)
-  ?  custom           img   snap /dev/rbd?  (glob)
+  id  pool    namespace  image  snap  device   
+  ?   rbd                img    snap  /dev/rbd? (glob)
+  ?   custom             img    snap  /dev/rbd? (glob)
   $ sudo rbd device unmap custom/img@snap
   $ rbd device list
-  id pool namespace image snap device    
-  ?  rbd            img   snap /dev/rbd?  (glob)
+  id  pool  namespace  image  snap  device   
+  ?   rbd              img    snap  /dev/rbd? (glob)
   $ sudo rbd device unmap img@snap
   $ rbd device list
 
@@ -391,14 +391,14 @@ img:
   rbd: warning: image already mapped as /dev/rbd? (glob)
   /dev/rbd? (glob)
   $ rbd device list
-  id pool namespace image snap device    
-  ?  rbd            img   -    /dev/rbd?  (glob)
-  ?  rbd            img   -    /dev/rbd?  (glob)
+  id  pool  namespace  image  snap  device   
+  ?   rbd              img    -     /dev/rbd? (glob)
+  ?   rbd              img    -     /dev/rbd? (glob)
   $ sudo rbd device unmap img
   rbd: rbd/img: mapped more than once, unmapping /dev/rbd? only (glob)
   $ rbd device list
-  id pool namespace image snap device    
-  ?  rbd            img   -    /dev/rbd?  (glob)
+  id  pool  namespace  image  snap  device   
+  ?   rbd              img    -     /dev/rbd? (glob)
   $ sudo rbd device unmap img
   $ rbd device list
 
@@ -410,14 +410,14 @@ img@snap:
   rbd: warning: image already mapped as /dev/rbd? (glob)
   /dev/rbd? (glob)
   $ rbd device list
-  id pool namespace image snap device    
-  ?  rbd            img   snap /dev/rbd?  (glob)
-  ?  rbd            img   snap /dev/rbd?  (glob)
+  id  pool  namespace  image  snap  device   
+  ?   rbd              img    snap  /dev/rbd? (glob)
+  ?   rbd              img    snap  /dev/rbd? (glob)
   $ sudo rbd device unmap img@snap
   rbd: rbd/img@snap: mapped more than once, unmapping /dev/rbd? only (glob)
   $ rbd device list
-  id pool namespace image snap device    
-  ?  rbd            img   snap /dev/rbd?  (glob)
+  id  pool  namespace  image  snap  device   
+  ?   rbd              img    snap  /dev/rbd? (glob)
   $ sudo rbd device unmap img@snap
   $ rbd device list
 
@@ -429,14 +429,14 @@ pool/img@snap, default pool:
   rbd: warning: image already mapped as /dev/rbd? (glob)
   /dev/rbd? (glob)
   $ rbd device list
-  id pool namespace image snap device    
-  ?  rbd            img   snap /dev/rbd?  (glob)
-  ?  rbd            img   snap /dev/rbd?  (glob)
+  id  pool  namespace  image  snap  device   
+  ?   rbd              img    snap  /dev/rbd? (glob)
+  ?   rbd              img    snap  /dev/rbd? (glob)
   $ sudo rbd device unmap rbd/img@snap
   rbd: rbd/img@snap: mapped more than once, unmapping /dev/rbd? only (glob)
   $ rbd device list
-  id pool namespace image snap device    
-  ?  rbd            img   snap /dev/rbd?  (glob)
+  id  pool  namespace  image  snap  device   
+  ?   rbd              img    snap  /dev/rbd? (glob)
   $ sudo rbd device unmap rbd/img@snap
   $ rbd device list
 
@@ -448,14 +448,14 @@ pool/img@snap, custom pool:
   rbd: warning: image already mapped as /dev/rbd? (glob)
   /dev/rbd? (glob)
   $ rbd device list
-  id pool   namespace image snap device    
-  ?  custom           img   snap /dev/rbd?  (glob)
-  ?  custom           img   snap /dev/rbd?  (glob)
+  id  pool    namespace  image  snap  device   
+  ?   custom             img    snap  /dev/rbd? (glob)
+  ?   custom             img    snap  /dev/rbd? (glob)
   $ sudo rbd device unmap custom/img@snap
   rbd: custom/img@snap: mapped more than once, unmapping /dev/rbd? only (glob)
   $ rbd device list
-  id pool   namespace image snap device    
-  ?  custom           img   snap /dev/rbd?  (glob)
+  id  pool    namespace  image  snap  device   
+  ?   custom             img    snap  /dev/rbd? (glob)
   $ sudo rbd device unmap custom/img@snap
   $ rbd device list
 
index fe3d4dc3efb1b9554cbc03a5f576b0f1b0402d1e..e6f1ee869d1528d3f963f0fa5619f3423dfa5f99 100644 (file)
                    [--image-feature <image-feature>] [--image-shared] 
                    [--stripe-unit <stripe-unit>] [--stripe-count <stripe-count>] 
                    [--data-pool <data-pool>] 
+                   [--mirror-image-mode <mirror-image-mode>] 
                    [--journal-splay-width <journal-splay-width>] 
                    [--journal-object-size <journal-object-size>] 
                    [--journal-pool <journal-pool>] 
     --stripe-unit arg         stripe unit in B/K/M
     --stripe-count arg        stripe count
     --data-pool arg           data pool
+    --mirror-image-mode arg   mirror image mode [journal or snapshot]
     --journal-splay-width arg number of active journal objects
     --journal-object-size arg size of journal objects [4K <= size <= 64M]
     --journal-pool arg        pool for journal objects
                   [--image-feature <image-feature>] [--image-shared] 
                   [--stripe-unit <stripe-unit>] [--stripe-count <stripe-count>] 
                   [--data-pool <data-pool>] 
+                  [--mirror-image-mode <mirror-image-mode>] 
                   [--journal-splay-width <journal-splay-width>] 
                   [--journal-object-size <journal-object-size>] 
                   [--journal-pool <journal-pool>] [--sparse-size <sparse-size>] 
     --stripe-unit arg            stripe unit in B/K/M
     --stripe-count arg           stripe count
     --data-pool arg              data pool
+    --mirror-image-mode arg      mirror image mode [journal or snapshot]
     --journal-splay-width arg    number of active journal objects
     --journal-object-size arg    size of journal objects [4K <= size <= 64M]
     --journal-pool arg           pool for journal objects
                     [--image-feature <image-feature>] [--image-shared] 
                     [--stripe-unit <stripe-unit>] 
                     [--stripe-count <stripe-count>] [--data-pool <data-pool>] 
+                    [--mirror-image-mode <mirror-image-mode>] 
                     [--journal-splay-width <journal-splay-width>] 
                     [--journal-object-size <journal-object-size>] 
                     [--journal-pool <journal-pool>] 
     --stripe-unit arg         stripe unit in B/K/M
     --stripe-count arg        stripe count
     --data-pool arg           data pool
+    --mirror-image-mode arg   mirror image mode [journal or snapshot]
     --journal-splay-width arg number of active journal objects
     --journal-object-size arg size of journal objects [4K <= size <= 64M]
     --journal-pool arg        pool for journal objects
                        [--image-feature <image-feature>] [--image-shared] 
                        [--stripe-unit <stripe-unit>] 
                        [--stripe-count <stripe-count>] [--data-pool <data-pool>] 
+                       [--mirror-image-mode <mirror-image-mode>] 
                        [--journal-splay-width <journal-splay-width>] 
                        [--journal-object-size <journal-object-size>] 
                        [--journal-pool <journal-pool>] [--flatten] 
     --stripe-unit arg            stripe unit in B/K/M
     --stripe-count arg           stripe count
     --data-pool arg              data pool
+    --mirror-image-mode arg      mirror image mode [journal or snapshot]
     --journal-splay-width arg    number of active journal objects
     --journal-object-size arg    size of journal objects [4K <= size <= 64M]
     --journal-pool arg           pool for journal objects
                     [--image-feature <image-feature>] [--image-shared] 
                     [--stripe-unit <stripe-unit>] 
                     [--stripe-count <stripe-count>] [--data-pool <data-pool>] 
+                    [--mirror-image-mode <mirror-image-mode>] 
                     [--journal-splay-width <journal-splay-width>] 
                     [--journal-object-size <journal-object-size>] 
                     [--journal-pool <journal-pool>] 
     --stripe-unit arg         stripe unit in B/K/M
     --stripe-count arg        stripe count
     --data-pool arg           data pool
+    --mirror-image-mode arg   mirror image mode [journal or snapshot]
     --journal-splay-width arg number of active journal objects
     --journal-object-size arg size of journal objects [4K <= size <= 64M]
     --journal-pool arg        pool for journal objects
                                [--image-shared] [--stripe-unit <stripe-unit>] 
                                [--stripe-count <stripe-count>] 
                                [--data-pool <data-pool>] 
+                               [--mirror-image-mode <mirror-image-mode>] 
                                [--journal-splay-width <journal-splay-width>] 
                                [--journal-object-size <journal-object-size>] 
                                [--journal-pool <journal-pool>] [--flatten] 
     --stripe-unit arg         stripe unit in B/K/M
     --stripe-count arg        stripe count
     --data-pool arg           data pool
+    --mirror-image-mode arg   mirror image mode [journal or snapshot]
     --journal-splay-width arg number of active journal objects
     --journal-object-size arg size of journal objects [4K <= size <= 64M]
     --journal-pool arg        pool for journal objects
index 1a6376ee5e19a632d81fe6d731e923643e3e1603..52ddfe8a3ae42c1b934de7ed77625e466ac6a074 100644 (file)
@@ -42,6 +42,20 @@ static void wait_for_atomic_bool(std::atomic_bool &recalled)
   }
 }
 
+static int ceph_ll_delegation_wait(struct ceph_mount_info *cmount, Fh *fh,
+                                  unsigned cmd, ceph_deleg_cb_t cb, void *priv)
+{
+  int ret, retry = 0;
+
+  /* Wait 10s at most */
+  do {
+    ret = ceph_ll_delegation(cmount, fh, cmd, cb, priv);
+    usleep(10000);
+  } while (ret == -EAGAIN && retry++ < 1000);
+
+  return ret;
+}
+
 static int set_default_deleg_timeout(struct ceph_mount_info *cmount)
 {
   uint32_t session_timeout = ceph_get_cap_return_timeout(cmount);
@@ -166,7 +180,7 @@ static void simple_deleg_test(struct ceph_mount_info *cmount, struct ceph_mount_
   sprintf(filename, "deleg.rwrw.%x", getpid());
   ASSERT_EQ(ceph_ll_create(cmount, root, filename, 0666,
                    O_RDWR|O_CREAT|O_EXCL, &file, &fh, &stx, 0, 0, perms), 0);
-  ASSERT_EQ(ceph_ll_delegation(cmount, fh, CEPH_DELEGATION_WR, dummy_deleg_cb, &recalled), 0);
+  ASSERT_EQ(ceph_ll_delegation_wait(cmount, fh, CEPH_DELEGATION_WR, dummy_deleg_cb, &recalled), 0);
   std::thread breaker1(open_breaker_func, tcmount, filename, O_RDWR, &opened);
 
   wait_for_atomic_bool(recalled);
@@ -182,7 +196,7 @@ static void simple_deleg_test(struct ceph_mount_info *cmount, struct ceph_mount_
   sprintf(filename, "deleg.rorw.%x", getpid());
   ASSERT_EQ(ceph_ll_create(cmount, root, filename, 0666,
                    O_RDWR|O_CREAT|O_EXCL, &file, &fh, &stx, 0, 0, perms), 0);
-  ASSERT_EQ(ceph_ll_delegation(cmount, fh, CEPH_DELEGATION_WR, dummy_deleg_cb, &recalled), 0);
+  ASSERT_EQ(ceph_ll_delegation_wait(cmount, fh, CEPH_DELEGATION_WR, dummy_deleg_cb, &recalled), 0);
   std::thread breaker2(open_breaker_func, tcmount, filename, O_RDONLY, &opened);
   wait_for_atomic_bool(recalled);
   ASSERT_EQ(opened.load(), false);
@@ -196,7 +210,7 @@ static void simple_deleg_test(struct ceph_mount_info *cmount, struct ceph_mount_
   ASSERT_EQ(ceph_ll_create(cmount, root, filename, 0666,
                    O_RDONLY|O_CREAT|O_EXCL, &file, &fh, &stx, 0, 0, perms), 0);
   recalled.store(false);
-  ASSERT_EQ(ceph_ll_delegation(cmount, fh, CEPH_DELEGATION_RD, dummy_deleg_cb, &recalled), 0);
+  ASSERT_EQ(ceph_ll_delegation_wait(cmount, fh, CEPH_DELEGATION_RD, dummy_deleg_cb, &recalled), 0);
   std::thread breaker3(open_breaker_func, tcmount, filename, O_RDONLY, &opened);
   breaker3.join();
   ASSERT_EQ(recalled.load(), false);
@@ -219,7 +233,7 @@ static void simple_deleg_test(struct ceph_mount_info *cmount, struct ceph_mount_
   sprintf(newname, "deleg.new.%x", getpid());
   ASSERT_EQ(ceph_ll_create(cmount, root, filename, 0666,
                    O_RDWR|O_CREAT|O_EXCL, &file, &fh, &stx, 0, 0, perms), 0);
-  ASSERT_EQ(ceph_ll_delegation(cmount, fh, CEPH_DELEGATION_WR, dummy_deleg_cb, &recalled), 0);
+  ASSERT_EQ(ceph_ll_delegation_wait(cmount, fh, CEPH_DELEGATION_WR, dummy_deleg_cb, &recalled), 0);
   std::thread breaker5(namespace_breaker_func, tcmount, DelegTestLink, filename, newname);
   wait_for_atomic_bool(recalled);
   ASSERT_EQ(ceph_ll_delegation(cmount, fh, CEPH_DELEGATION_NONE, dummy_deleg_cb, &recalled), 0);
@@ -232,7 +246,7 @@ static void simple_deleg_test(struct ceph_mount_info *cmount, struct ceph_mount_
   recalled.store(false);
   ASSERT_EQ(ceph_ll_create(cmount, root, filename, 0666,
                    O_RDWR|O_CREAT|O_EXCL, &file, &fh, &stx, 0, 0, perms), 0);
-  ASSERT_EQ(ceph_ll_delegation(cmount, fh, CEPH_DELEGATION_WR, dummy_deleg_cb, &recalled), 0);
+  ASSERT_EQ(ceph_ll_delegation_wait(cmount, fh, CEPH_DELEGATION_WR, dummy_deleg_cb, &recalled), 0);
   std::thread breaker6(namespace_breaker_func, tcmount, DelegTestRename, filename, newname);
   wait_for_atomic_bool(recalled);
   ASSERT_EQ(ceph_ll_delegation(cmount, fh, CEPH_DELEGATION_NONE, dummy_deleg_cb, &recalled), 0);
@@ -244,7 +258,7 @@ static void simple_deleg_test(struct ceph_mount_info *cmount, struct ceph_mount_
   recalled.store(false);
   ASSERT_EQ(ceph_ll_create(cmount, root, filename, 0666,
                    O_RDWR|O_CREAT|O_EXCL, &file, &fh, &stx, 0, 0, perms), 0);
-  ASSERT_EQ(ceph_ll_delegation(cmount, fh, CEPH_DELEGATION_WR, dummy_deleg_cb, &recalled), 0);
+  ASSERT_EQ(ceph_ll_delegation_wait(cmount, fh, CEPH_DELEGATION_WR, dummy_deleg_cb, &recalled), 0);
   std::thread breaker7(namespace_breaker_func, tcmount, DelegTestUnlink, filename, nullptr);
   wait_for_atomic_bool(recalled);
   ASSERT_EQ(ceph_ll_delegation(cmount, fh, CEPH_DELEGATION_NONE, dummy_deleg_cb, &recalled), 0);
@@ -307,7 +321,7 @@ TEST(LibCephFS, DelegTimeout) {
   ASSERT_EQ(ceph_ll_open(cmount, file, O_RDONLY, &fh, perms), 0);
 
   std::atomic_bool recalled(false);
-  ASSERT_EQ(ceph_ll_delegation(cmount, fh, CEPH_DELEGATION_RD, dummy_deleg_cb, &recalled), 0);
+  ASSERT_EQ(ceph_ll_delegation_wait(cmount, fh, CEPH_DELEGATION_RD, dummy_deleg_cb, &recalled), 0);
   std::atomic_bool opened(false);
   std::thread breaker1(open_breaker_func, nullptr, filename, O_RDWR, &opened);
   breaker1.join();
@@ -361,7 +375,7 @@ TEST(LibCephFS, RecalledGetattr) {
 
   /* Break delegation */
   std::atomic_bool recalled(false);
-  ASSERT_EQ(ceph_ll_delegation(cmount2, fh, CEPH_DELEGATION_RD, dummy_deleg_cb, &recalled), 0);
+  ASSERT_EQ(ceph_ll_delegation_wait(cmount2, fh, CEPH_DELEGATION_RD, dummy_deleg_cb, &recalled), 0);
   ASSERT_EQ(ceph_ll_read(cmount2, fh, 0, sizeof(filename), filename),
            static_cast<int>(sizeof(filename)));
   ASSERT_EQ(ceph_ll_getattr(cmount2, file, &stx, CEPH_STATX_ALL_STATS, 0, perms), 0);
index a0a0c18b47b60c3145c518e4be8537e089b18744..4ee6320f3e5c9fdc6f6a6cfb113d7951db406a78 100644 (file)
@@ -7,6 +7,7 @@
 #include "librbd/ImageState.h"
 #include "librbd/internal.h"
 #include "librbd/Operations.h"
+#include "librbd/deep_copy/Handler.h"
 #include "librbd/deep_copy/ImageCopyRequest.h"
 #include "librbd/deep_copy/ObjectCopyRequest.h"
 #include "librbd/image/CloseRequest.h"
@@ -54,7 +55,8 @@ struct ObjectCopyRequest<librbd::MockTestImageCtx> {
       librados::snap_t src_snap_id_start,
       librados::snap_t dst_snap_id_start,
       const SnapMap &snap_map,
-      uint64_t object_number, bool flatten, Context *on_finish) {
+      uint64_t object_number, bool flatten, Handler* handler,
+      Context *on_finish) {
     ceph_assert(s_instance != nullptr);
     std::lock_guard locker{s_instance->lock};
     s_instance->snap_map = &snap_map;
@@ -313,7 +315,7 @@ TEST_F(TestMockDeepCopyImageCopyRequest, SimpleImage) {
   expect_get_image_size(mock_src_image_ctx, 0);
   expect_object_copy_send(mock_object_copy_request);
 
-  librbd::NoOpProgressContext no_op;
+  librbd::deep_copy::NoOpHandler no_op;
   C_SaferCond ctx;
   auto request = new MockImageCopyRequest(&mock_src_image_ctx,
                                           &mock_dst_image_ctx,
@@ -343,7 +345,7 @@ TEST_F(TestMockDeepCopyImageCopyRequest, FastDiff) {
   expect_get_image_size(mock_src_image_ctx, 1 << m_src_image_ctx->order);
   expect_get_image_size(mock_src_image_ctx, 0);
 
-  librbd::NoOpProgressContext no_op;
+  librbd::deep_copy::NoOpHandler no_op;
   C_SaferCond ctx;
   auto request = new MockImageCopyRequest(&mock_src_image_ctx,
                                           &mock_dst_image_ctx,
@@ -380,12 +382,12 @@ TEST_F(TestMockDeepCopyImageCopyRequest, OutOfOrder) {
 
   EXPECT_CALL(mock_object_copy_request, send()).Times(object_count);
 
-  class ProgressContext : public librbd::ProgressContext {
+  class Handler : public librbd::deep_copy::NoOpHandler {
   public:
     uint64_t object_count;
     librbd::deep_copy::ObjectNumber expected_object_number;
 
-    ProgressContext(uint64_t object_count)
+    Handler(uint64_t object_count)
       : object_count(object_count) {
     }
 
@@ -401,13 +403,13 @@ TEST_F(TestMockDeepCopyImageCopyRequest, OutOfOrder) {
 
       return 0;
     }
-  } prog_ctx(object_count);
+  } handler(object_count);
 
   C_SaferCond ctx;
   auto request = new MockImageCopyRequest(&mock_src_image_ctx,
                                           &mock_dst_image_ctx,
                                           0, snap_id_end, 0, false, boost::none,
-                                          m_snap_seqs, &prog_ctx, &ctx);
+                                          m_snap_seqs, &handler, &ctx);
   request->send();
 
   std::map<uint64_t, Context*> copy_contexts;
@@ -449,7 +451,7 @@ TEST_F(TestMockDeepCopyImageCopyRequest, SnapshotSubset) {
   expect_get_image_size(mock_src_image_ctx, 0);
   expect_object_copy_send(mock_object_copy_request);
 
-  librbd::NoOpProgressContext no_op;
+  librbd::deep_copy::NoOpHandler no_op;
   C_SaferCond ctx;
   auto request = new MockImageCopyRequest(&mock_src_image_ctx,
                                           &mock_dst_image_ctx,
@@ -481,7 +483,7 @@ TEST_F(TestMockDeepCopyImageCopyRequest, RestartPartialSync) {
   expect_get_image_size(mock_src_image_ctx, 0);
   expect_object_copy_send(mock_object_copy_request);
 
-  librbd::NoOpProgressContext no_op;
+  librbd::deep_copy::NoOpHandler no_op;
   C_SaferCond ctx;
   auto request = new MockImageCopyRequest(&mock_src_image_ctx,
                                           &mock_dst_image_ctx,
@@ -517,7 +519,7 @@ TEST_F(TestMockDeepCopyImageCopyRequest, Cancel) {
   expect_get_image_size(mock_src_image_ctx, 0);
   expect_object_copy_send(mock_object_copy_request);
 
-  librbd::NoOpProgressContext no_op;
+  librbd::deep_copy::NoOpHandler no_op;
   C_SaferCond ctx;
   auto request = new MockImageCopyRequest(&mock_src_image_ctx,
                                           &mock_dst_image_ctx,
@@ -556,20 +558,20 @@ TEST_F(TestMockDeepCopyImageCopyRequest, Cancel_Inflight_Sync) {
 
   EXPECT_CALL(mock_object_copy_request, send()).Times(6);
 
-  struct ProgressContext : public librbd::ProgressContext {
+  struct Handler : public librbd::deep_copy::NoOpHandler {
     librbd::deep_copy::ObjectNumber object_number;
 
     int update_progress(uint64_t object_no, uint64_t end_object_no) override {
       object_number = object_number ? *object_number + 1 : 0;
       return 0;
     }
-  } prog_ctx;
+  } handler;
 
   C_SaferCond ctx;
   auto request = new MockImageCopyRequest(&mock_src_image_ctx,
                                           &mock_dst_image_ctx,
                                           0, snap_id_end, 0, false, boost::none,
-                                          m_snap_seqs, &prog_ctx, &ctx);
+                                          m_snap_seqs, &handler, &ctx);
   request->send();
 
   ASSERT_EQ(m_snap_map, wait_for_snap_map(mock_object_copy_request));
@@ -587,14 +589,14 @@ TEST_F(TestMockDeepCopyImageCopyRequest, Cancel_Inflight_Sync) {
   cancel_ctx->complete(0);
 
   ASSERT_EQ(-ECANCELED, ctx.wait());
-  ASSERT_EQ(5u, prog_ctx.object_number.get());
+  ASSERT_EQ(5u, handler.object_number.get());
 }
 
 TEST_F(TestMockDeepCopyImageCopyRequest, MissingSnap) {
   librbd::MockTestImageCtx mock_src_image_ctx(*m_src_image_ctx);
   librbd::MockTestImageCtx mock_dst_image_ctx(*m_dst_image_ctx);
 
-  librbd::NoOpProgressContext no_op;
+  librbd::deep_copy::NoOpHandler no_op;
   C_SaferCond ctx;
   auto request = new MockImageCopyRequest(&mock_src_image_ctx,
                                           &mock_dst_image_ctx,
@@ -611,7 +613,7 @@ TEST_F(TestMockDeepCopyImageCopyRequest, MissingFromSnap) {
   librbd::MockTestImageCtx mock_src_image_ctx(*m_src_image_ctx);
   librbd::MockTestImageCtx mock_dst_image_ctx(*m_dst_image_ctx);
 
-  librbd::NoOpProgressContext no_op;
+  librbd::deep_copy::NoOpHandler no_op;
   C_SaferCond ctx;
   auto request = new MockImageCopyRequest(&mock_src_image_ctx,
                                           &mock_dst_image_ctx,
@@ -631,7 +633,7 @@ TEST_F(TestMockDeepCopyImageCopyRequest, EmptySnapMap) {
   librbd::MockTestImageCtx mock_src_image_ctx(*m_src_image_ctx);
   librbd::MockTestImageCtx mock_dst_image_ctx(*m_dst_image_ctx);
 
-  librbd::NoOpProgressContext no_op;
+  librbd::deep_copy::NoOpHandler no_op;
   C_SaferCond ctx;
   auto request = new MockImageCopyRequest(&mock_src_image_ctx,
                                           &mock_dst_image_ctx,
@@ -650,7 +652,7 @@ TEST_F(TestMockDeepCopyImageCopyRequest, EmptySnapSeqs) {
   librbd::MockTestImageCtx mock_src_image_ctx(*m_src_image_ctx);
   librbd::MockTestImageCtx mock_dst_image_ctx(*m_dst_image_ctx);
 
-  librbd::NoOpProgressContext no_op;
+  librbd::deep_copy::NoOpHandler no_op;
   C_SaferCond ctx;
   auto request = new MockImageCopyRequest(&mock_src_image_ctx,
                                           &mock_dst_image_ctx,
index 056792cd5e3a8676360224df35eec292600cd441..c2e03db37b715ac7353ec564efbcdc57017f044d 100644 (file)
@@ -211,7 +211,7 @@ public:
     expect_get_object_name(mock_dst_image_ctx);
     return new MockObjectCopyRequest(&mock_src_image_ctx, &mock_dst_image_ctx,
                                      src_snap_id_start, dst_snap_id_start,
-                                     m_snap_map, 0, false, on_finish);
+                                     m_snap_map, 0, false, nullptr, on_finish);
   }
 
   void expect_set_snap_read(librados::MockTestMemIoCtxImpl &mock_io_ctx,
index 41b362ab3821a7a41205c7eaf8f366abe1f7556e..4c118ec35445d1a77256f4b7e8c768b9b00db701 100644 (file)
@@ -186,13 +186,12 @@ template <>
 struct EnableRequest<MockTestImageCtx> {
   Context* on_finish = nullptr;
   static EnableRequest* s_instance;
-  static EnableRequest* create(librados::IoCtx &io_ctx,
-                               const std::string &image_id,
+  static EnableRequest* create(MockTestImageCtx* image_ctx,
                                cls::rbd::MirrorImageMode mode,
                                const std::string &non_primary_global_image_id,
-                               MockContextWQ *op_work_queue,
-                               Context *on_finish) {
+                               bool image_clean, Context *on_finish) {
     ceph_assert(s_instance != nullptr);
+    EXPECT_TRUE(image_clean);
     s_instance->on_finish = on_finish;
     return s_instance;
   }
index 50c2f7b56ff3aca107d72922f6d78b5faa776d80..6a979b0ceb74cd7181968c1e8c74fcef8319891b 100644 (file)
@@ -51,7 +51,7 @@ struct ObjectCopyRequest<librbd::MockTestImageCtx> {
                                    librados::snap_t dst_snap_id_start,
                                    const SnapMap &snap_map,
                                    uint64_t object_number, bool flatten,
-                                   Context *on_finish) {
+                                   Handler*, Context *on_finish) {
     ceph_assert(s_instance != nullptr);
     s_instance->object_number = object_number;
     s_instance->flatten = flatten;
index 25a85ce53193aade6ed1a90d11bfc939fbd59a2a..a92be03304ff5e943bd8b54281bfabdd86fdd1e4 100644 (file)
@@ -102,6 +102,14 @@ public:
   typedef WriteImageStateRequest<MockTestImageCtx> MockWriteImageStateRequest;
   typedef util::Mock MockUtils;
 
+  void expect_clone_md_ctx(MockTestImageCtx &mock_image_ctx) {
+    EXPECT_CALL(get_mock_io_ctx(mock_image_ctx.md_ctx), clone())
+      .WillOnce(Invoke([&mock_image_ctx]() {
+                         get_mock_io_ctx(mock_image_ctx.md_ctx).get();
+                         return &get_mock_io_ctx(mock_image_ctx.md_ctx);
+                       }));
+  }
+
   void expect_refresh_image(MockTestImageCtx &mock_image_ctx,
                             bool refresh_required, int r) {
     EXPECT_CALL(*mock_image_ctx.state, is_refresh_required())
@@ -132,6 +140,20 @@ public:
       .WillOnce(Return(result));
   }
 
+  void expect_get_mirror_peers(MockTestImageCtx &mock_image_ctx,
+                               const std::vector<cls::rbd::MirrorPeer> &peers,
+                               int r) {
+    using ceph::encode;
+    bufferlist bl;
+    encode(peers, bl);
+
+    EXPECT_CALL(get_mock_io_ctx(mock_image_ctx.md_ctx),
+                exec(RBD_MIRRORING, _, StrEq("rbd"), StrEq("mirror_peer_list"),
+                     _, _, _))
+      .WillOnce(DoAll(WithArg<5>(CopyInBufferlist(bl)),
+                      Return(r)));
+  }
+
   void expect_create_snapshot(MockTestImageCtx &mock_image_ctx, int r) {
     EXPECT_CALL(*mock_image_ctx.operations, snap_create(_, _, _))
       .WillOnce(WithArg<2>(CompleteContext(
@@ -179,6 +201,38 @@ TEST_F(TestMockMirrorSnapshotCreateNonPrimaryRequest, Success) {
   ASSERT_EQ(0, ctx.wait());
 }
 
+TEST_F(TestMockMirrorSnapshotCreateNonPrimaryRequest, SuccessDemoted) {
+  REQUIRE_FORMAT_V2();
+
+  librbd::ImageCtx *ictx;
+  ASSERT_EQ(0, open_image(m_image_name, &ictx));
+
+  MockTestImageCtx mock_image_ctx(*ictx);
+
+  InSequence seq;
+
+  expect_clone_md_ctx(mock_image_ctx);
+  expect_refresh_image(mock_image_ctx, true, 0);
+  expect_get_mirror_image(
+    mock_image_ctx, {cls::rbd::MIRROR_IMAGE_MODE_SNAPSHOT, "gid",
+                     cls::rbd::MIRROR_IMAGE_STATE_ENABLED}, 0);
+  MockUtils mock_utils;
+  expect_can_create_non_primary_snapshot(mock_utils, true);
+  expect_get_mirror_peers(mock_image_ctx,
+                          {{"uuid", cls::rbd::MIRROR_PEER_DIRECTION_TX, "ceph",
+                            "mirror", "mirror uuid"}}, 0);
+  expect_create_snapshot(mock_image_ctx, 0);
+  MockWriteImageStateRequest mock_write_image_state_request;
+  expect_write_image_state(mock_image_ctx, mock_write_image_state_request, 0);
+
+  C_SaferCond ctx;
+  auto req = new MockCreateNonPrimaryRequest(&mock_image_ctx, true,
+                                             "mirror_uuid", 123, {{1, 2}}, {},
+                                             nullptr, &ctx);
+  req->send();
+  ASSERT_EQ(0, ctx.wait());
+}
+
 TEST_F(TestMockMirrorSnapshotCreateNonPrimaryRequest, RefreshError) {
   REQUIRE_FORMAT_V2();
 
@@ -247,6 +301,33 @@ TEST_F(TestMockMirrorSnapshotCreateNonPrimaryRequest, CanNotError) {
   ASSERT_EQ(-EINVAL, ctx.wait());
 }
 
+TEST_F(TestMockMirrorSnapshotCreateNonPrimaryRequest, GetMirrorPeersError) {
+  REQUIRE_FORMAT_V2();
+
+  librbd::ImageCtx *ictx;
+  ASSERT_EQ(0, open_image(m_image_name, &ictx));
+
+  MockTestImageCtx mock_image_ctx(*ictx);
+
+  InSequence seq;
+
+  expect_clone_md_ctx(mock_image_ctx);
+  expect_refresh_image(mock_image_ctx, true, 0);
+  expect_get_mirror_image(
+    mock_image_ctx, {cls::rbd::MIRROR_IMAGE_MODE_SNAPSHOT, "gid",
+                     cls::rbd::MIRROR_IMAGE_STATE_ENABLED}, 0);
+  MockUtils mock_utils;
+  expect_can_create_non_primary_snapshot(mock_utils, true);
+  expect_get_mirror_peers(mock_image_ctx, {}, -EPERM);
+
+  C_SaferCond ctx;
+  auto req = new MockCreateNonPrimaryRequest(&mock_image_ctx, true,
+                                             "mirror_uuid", 123, {{1, 2}}, {},
+                                             nullptr, &ctx);
+  req->send();
+  ASSERT_EQ(-EPERM, ctx.wait());
+}
+
 TEST_F(TestMockMirrorSnapshotCreateNonPrimaryRequest, CreateSnapshotError) {
   REQUIRE_FORMAT_V2();
 
index 6e69e800256398a0470dd9ed4780a11ae17f71a9..a79bd0cc45ff67bf5e4af96f1ca4d15c5c97b4c2 100644 (file)
@@ -210,8 +210,8 @@ TEST_F(TestMockMirrorSnapshotCreatePrimaryRequest, Success) {
   expect_create_snapshot(mock_image_ctx, 0);
 
   C_SaferCond ctx;
-  auto req = new MockCreatePrimaryRequest(&mock_image_ctx, "gid", 0U, nullptr,
-                                          &ctx);
+  auto req = new MockCreatePrimaryRequest(&mock_image_ctx, "gid", CEPH_NOSNAP,
+                                          0U, nullptr, &ctx);
   req->send();
   ASSERT_EQ(0, ctx.wait());
 }
@@ -231,8 +231,8 @@ TEST_F(TestMockMirrorSnapshotCreatePrimaryRequest, CanNotError) {
   expect_can_create_primary_snapshot(mock_utils, false, false, false);
 
   C_SaferCond ctx;
-  auto req = new MockCreatePrimaryRequest(&mock_image_ctx, "gid", 0U, nullptr,
-                                          &ctx);
+  auto req = new MockCreatePrimaryRequest(&mock_image_ctx, "gid", CEPH_NOSNAP,
+                                          0U, nullptr, &ctx);
   req->send();
   ASSERT_EQ(-EINVAL, ctx.wait());
 }
@@ -255,8 +255,8 @@ TEST_F(TestMockMirrorSnapshotCreatePrimaryRequest, GetMirrorPeersError) {
                             "mirror", "mirror uuid"}}, -EINVAL);
 
   C_SaferCond ctx;
-  auto req = new MockCreatePrimaryRequest(&mock_image_ctx, "gid", 0U, nullptr,
-                                          &ctx);
+  auto req = new MockCreatePrimaryRequest(&mock_image_ctx, "gid", CEPH_NOSNAP,
+                                          0U, nullptr, &ctx);
   req->send();
   ASSERT_EQ(-EINVAL, ctx.wait());
 }
@@ -280,8 +280,8 @@ TEST_F(TestMockMirrorSnapshotCreatePrimaryRequest, CreateSnapshotError) {
   expect_create_snapshot(mock_image_ctx, -EINVAL);
 
   C_SaferCond ctx;
-  auto req = new MockCreatePrimaryRequest(&mock_image_ctx, "gid", 0U, nullptr,
-                                          &ctx);
+  auto req = new MockCreatePrimaryRequest(&mock_image_ctx, "gid", CEPH_NOSNAP,
+                                          0U, nullptr, &ctx);
   req->send();
   ASSERT_EQ(-EINVAL, ctx.wait());
 }
@@ -315,8 +315,8 @@ TEST_F(TestMockMirrorSnapshotCreatePrimaryRequest, SuccessUnlinkPeer) {
   expect_unlink_peer(mock_image_ctx, mock_unlink_peer_request, snap_id, "uuid",
                      0);
   C_SaferCond ctx;
-  auto req = new MockCreatePrimaryRequest(&mock_image_ctx, "gid", 0U, nullptr,
-                                          &ctx);
+  auto req = new MockCreatePrimaryRequest(&mock_image_ctx, "gid", CEPH_NOSNAP,
+                                          0U, nullptr, &ctx);
   req->send();
   ASSERT_EQ(0, ctx.wait());
 }
index 3e1faf4873ecf1d31ea2ab74c8acd69b03cb5cd5..0965ab4644bede272ea9084605a0f58c672ebdd2 100644 (file)
@@ -122,6 +122,7 @@ struct CreatePrimaryRequest<MockTestImageCtx> {
   static CreatePrimaryRequest* s_instance;
   static CreatePrimaryRequest *create(MockTestImageCtx *image_ctx,
                                       const std::string& global_image_id,
+                                      uint64_t clean_since_snap_id,
                                       uint32_t flags, uint64_t *snap_id,
                                       Context *on_finish) {
     ceph_assert(s_instance != nullptr);
index d2374332a10ce790fc1e6807d69c2a9e6e777890..410dc3eba723999ebdadef05ee28c0393d7d71c3 100644 (file)
@@ -8,7 +8,6 @@
 #include "test/librbd/mock/MockOperations.h"
 #include "test/librados_test_stub/MockTestMemIoCtxImpl.h"
 #include "test/librados_test_stub/MockTestMemRadosClient.h"
-#include "librbd/mirror/snapshot/CreatePrimaryRequest.h"
 #include "librbd/mirror/snapshot/UnlinkPeerRequest.h"
 #include "librbd/mirror/snapshot/Utils.h"
 
index d33ce1db9abb8589eda85901ffe1fbf1100a47ec..7f2fd30ecdfcbbbdfb5904762405a6221104dc08 100644 (file)
@@ -96,7 +96,8 @@ public:
 
   static EnableRequest *create(MockOperationImageCtx *image_ctx,
                                cls::rbd::MirrorImageMode mirror_image_mode,
-                               Context *on_finish) {
+                               const std::string& non_primary_global_image_id,
+                               bool image_clean, Context *on_finish) {
     ceph_assert(s_instance != nullptr);
     s_instance->on_finish = on_finish;
     return s_instance;
index 86aa95c88b63bd154f08f15366f024a1a9423c24..2c83af9839b4cef897bdb3fde054af9ef9331502 100644 (file)
@@ -6592,6 +6592,48 @@ TEST_F(TestLibRBD, MirrorPeerAttributes) {
   ASSERT_EQ(0, rbd.mirror_mode_set(ioctx, RBD_MIRROR_MODE_DISABLED));
 }
 
+TEST_F(TestLibRBD, CreateWithMirrorEnabled) {
+  REQUIRE_FORMAT_V2();
+
+  librados::IoCtx ioctx;
+  ASSERT_EQ(0, _rados.ioctx_create(m_pool_name.c_str(), ioctx));
+
+  librbd::RBD rbd;
+  ASSERT_EQ(0, rbd.mirror_mode_set(ioctx, RBD_MIRROR_MODE_IMAGE));
+
+  librbd::ImageOptions image_options;
+  ASSERT_EQ(0, image_options.set(
+                 RBD_IMAGE_OPTION_MIRROR_IMAGE_MODE,
+                 static_cast<uint64_t>(RBD_MIRROR_IMAGE_MODE_SNAPSHOT)));
+
+  std::string parent_name = get_temp_image_name();
+  ASSERT_EQ(0, rbd.create4(ioctx, parent_name.c_str(), 2<<20, image_options));
+
+  librbd::Image parent_image;
+  ASSERT_EQ(0, rbd.open(ioctx, parent_image, parent_name.c_str(), NULL));
+
+  librbd::mirror_image_mode_t mirror_image_mode;
+  ASSERT_EQ(0, parent_image.mirror_image_get_mode(&mirror_image_mode));
+  ASSERT_EQ(RBD_MIRROR_IMAGE_MODE_SNAPSHOT, mirror_image_mode);
+
+  ASSERT_EQ(0, parent_image.snap_create("parent_snap"));
+  ASSERT_EQ(0, parent_image.snap_protect("parent_snap"));
+
+  std::string child_name = get_temp_image_name();
+  ASSERT_EQ(0, rbd.clone3(ioctx, parent_name.c_str(), "parent_snap", ioctx,
+            child_name.c_str(), image_options));
+
+  librbd::Image child_image;
+  ASSERT_EQ(0, rbd.open(ioctx, child_image, child_name.c_str(), NULL));
+
+  ASSERT_EQ(0, child_image.mirror_image_get_mode(&mirror_image_mode));
+  ASSERT_EQ(RBD_MIRROR_IMAGE_MODE_SNAPSHOT, mirror_image_mode);
+
+  ASSERT_EQ(0, child_image.mirror_image_disable(true));
+  ASSERT_EQ(0, parent_image.mirror_image_disable(true));
+  ASSERT_EQ(0, rbd.mirror_mode_set(ioctx, RBD_MIRROR_MODE_DISABLED));
+}
+
 TEST_F(TestLibRBD, FlushCacheWithCopyupOnExternalSnapshot) {
   REQUIRE_FEATURE(RBD_FEATURE_LAYERING);
 
index fa5f77e8f468e04c03fe537783dffe60d11153c8..340fe1e2a4d67bbe34537a690aaa8dbd60fafa5f 100644 (file)
@@ -8,6 +8,7 @@
 #include "librbd/Operations.h"
 #include "librbd/internal.h"
 #include "librbd/api/Image.h"
+#include "librbd/deep_copy/Handler.h"
 #include "librbd/deep_copy/ImageCopyRequest.h"
 #include "librbd/deep_copy/MetadataCopyRequest.h"
 #include "librbd/deep_copy/SnapshotCopyRequest.h"
@@ -46,7 +47,7 @@ public:
       librados::snap_t src_snap_id_end,
       librados::snap_t dst_snap_id_start,
       bool flatten, const ObjectNumber &object_number,
-      const SnapSeqs &snap_seqs, ProgressContext *prog_ctx,
+      const SnapSeqs &snap_seqs, Handler *handler,
       Context *on_finish) {
     ceph_assert(s_instance != nullptr);
     s_instance->on_finish = on_finish;
@@ -266,7 +267,7 @@ TEST_F(TestMockDeepCopyRequest, SimpleCopy) {
 
   C_SaferCond ctx;
   librbd::SnapSeqs snap_seqs;
-  librbd::NoOpProgressContext no_op;
+  librbd::deep_copy::NoOpHandler no_op;
   auto request = librbd::DeepCopyRequest<librbd::MockTestImageCtx>::create(
       &mock_src_image_ctx, &mock_dst_image_ctx, 0, CEPH_NOSNAP, 0, false,
       boost::none, m_work_queue, &snap_seqs, &no_op, &ctx);
@@ -284,7 +285,7 @@ TEST_F(TestMockDeepCopyRequest, ErrorOnCopySnapshots) {
 
   C_SaferCond ctx;
   librbd::SnapSeqs snap_seqs;
-  librbd::NoOpProgressContext no_op;
+  librbd::deep_copy::NoOpHandler no_op;
   auto request = librbd::DeepCopyRequest<librbd::MockTestImageCtx>::create(
       &mock_src_image_ctx, &mock_dst_image_ctx, 0, CEPH_NOSNAP, 0, false,
       boost::none, m_work_queue, &snap_seqs, &no_op, &ctx);
@@ -317,7 +318,7 @@ TEST_F(TestMockDeepCopyRequest, ErrorOnRefreshObjectMap) {
 
   C_SaferCond ctx;
   librbd::SnapSeqs snap_seqs;
-  librbd::NoOpProgressContext no_op;
+  librbd::deep_copy::NoOpHandler no_op;
   auto request = librbd::DeepCopyRequest<librbd::MockTestImageCtx>::create(
       &mock_src_image_ctx, &mock_dst_image_ctx, 0, CEPH_NOSNAP, 0, false,
       boost::none, m_work_queue, &snap_seqs, &no_op, &ctx);
@@ -337,7 +338,7 @@ TEST_F(TestMockDeepCopyRequest, ErrorOnCopyImage) {
 
   C_SaferCond ctx;
   librbd::SnapSeqs snap_seqs;
-  librbd::NoOpProgressContext no_op;
+  librbd::deep_copy::NoOpHandler no_op;
   auto request = librbd::DeepCopyRequest<librbd::MockTestImageCtx>::create(
       &mock_src_image_ctx, &mock_dst_image_ctx, 0, CEPH_NOSNAP, 0, false,
       boost::none, m_work_queue, &snap_seqs, &no_op, &ctx);
@@ -374,7 +375,7 @@ TEST_F(TestMockDeepCopyRequest, ErrorOnCopyMetadata) {
 
   C_SaferCond ctx;
   librbd::SnapSeqs snap_seqs;
-  librbd::NoOpProgressContext no_op;
+  librbd::deep_copy::NoOpHandler no_op;
   auto request = librbd::DeepCopyRequest<librbd::MockTestImageCtx>::create(
       &mock_src_image_ctx, &mock_dst_image_ctx, 0, CEPH_NOSNAP, 0, false,
       boost::none, m_work_queue, &snap_seqs, &no_op, &ctx);
@@ -415,7 +416,7 @@ TEST_F(TestMockDeepCopyRequest, Snap) {
 
   C_SaferCond ctx;
   librbd::SnapSeqs snap_seqs = {{m_src_image_ctx->snap_id, 123}};
-  librbd::NoOpProgressContext no_op;
+  librbd::deep_copy::NoOpHandler no_op;
   auto request = librbd::DeepCopyRequest<librbd::MockTestImageCtx>::create(
       &mock_src_image_ctx, &mock_dst_image_ctx, 0, m_src_image_ctx->snap_id,
       0, false, boost::none, m_work_queue, &snap_seqs, &no_op, &ctx);
@@ -452,7 +453,7 @@ TEST_F(TestMockDeepCopyRequest, ErrorOnRollbackObjectMap) {
 
   C_SaferCond ctx;
   librbd::SnapSeqs snap_seqs = {{m_src_image_ctx->snap_id, 123}};
-  librbd::NoOpProgressContext no_op;
+  librbd::deep_copy::NoOpHandler no_op;
   auto request = librbd::DeepCopyRequest<librbd::MockTestImageCtx>::create(
       &mock_src_image_ctx, &mock_dst_image_ctx, 0, m_src_image_ctx->snap_id,
       0, false, boost::none, m_work_queue, &snap_seqs, &no_op, &ctx);
index a8280875aefa8cbb92d6b182145daeccaf0de81d..c3e5c021c241b180d0b7731b542cb7ccc09ea4e9 100644 (file)
@@ -1315,6 +1315,99 @@ TEST_P(StoreTest, SimpleObjectTest) {
 
 #if defined(WITH_BLUESTORE)
 
+TEST_P(StoreTestSpecificAUSize, ReproBug41901Test) {
+  if(string(GetParam()) != "bluestore")
+    return;
+  SetVal(g_conf(), "bluestore_debug_enforce_settings", "hdd");
+  g_conf().apply_changes(nullptr);
+  StartDeferred(65536);
+
+  int r;
+  coll_t cid;
+  ghobject_t hoid(hobject_t(sobject_t("Object 1", CEPH_NOSNAP)));
+  const PerfCounters* logger = store->get_perf_counters();
+  auto ch = store->create_new_collection(cid);
+  {
+    ObjectStore::Transaction t;
+    t.create_collection(cid, 0);
+    cerr << "Creating collection " << cid << std::endl;
+    r = queue_transaction(store, ch, std::move(t));
+    ASSERT_EQ(r, 0);
+  }
+  {
+    bool exists = store->exists(ch, hoid);
+    ASSERT_TRUE(!exists);
+
+    ObjectStore::Transaction t;
+    t.touch(cid, hoid);
+    cerr << "Creating object " << hoid << std::endl;
+    r = queue_transaction(store, ch, std::move(t));
+    ASSERT_EQ(r, 0);
+
+    exists = store->exists(ch, hoid);
+    ASSERT_EQ(true, exists);
+  }
+  {
+    ObjectStore::Transaction t;
+    bufferlist bl, orig;
+    string s(4096, 'a');
+    bl.append(s);
+    t.write(cid, hoid, 0x11000, bl.length(), bl);
+    cerr << "write1" << std::endl;
+    r = queue_transaction(store, ch, std::move(t));
+    ASSERT_EQ(r, 0);
+  }
+  {
+    ObjectStore::Transaction t;
+    bufferlist bl, orig;
+    string s(4096 * 3, 'a');
+    bl.append(s);
+    t.write(cid, hoid, 0x15000, bl.length(), bl);
+    cerr << "write2" << std::endl;
+    r = queue_transaction(store, ch, std::move(t));
+    ASSERT_EQ(r, 0);
+  }
+  ASSERT_EQ(logger->get(l_bluestore_write_small), 2u);
+  ASSERT_EQ(logger->get(l_bluestore_write_small_unused), 1u);
+
+  {
+    ObjectStore::Transaction t;
+    bufferlist bl, orig;
+    string s(4096 * 2, 'a');
+    bl.append(s);
+    t.write(cid, hoid, 0xe000, bl.length(), bl);
+    cerr << "write3" << std::endl;
+    r = queue_transaction(store, ch, std::move(t));
+    ASSERT_EQ(r, 0);
+  }
+  ASSERT_EQ(logger->get(l_bluestore_write_small), 3u);
+  ASSERT_EQ(logger->get(l_bluestore_write_small_unused), 2u);
+
+
+  {
+    ObjectStore::Transaction t;
+    bufferlist bl, orig;
+    string s(4096, 'a');
+    bl.append(s);
+    t.write(cid, hoid, 0xf000, bl.length(), bl);
+    t.write(cid, hoid, 0x10000, bl.length(), bl);
+    cerr << "write3" << std::endl;
+    r = queue_transaction(store, ch, std::move(t));
+    ASSERT_EQ(r, 0);
+  }
+  ASSERT_EQ(logger->get(l_bluestore_write_small), 5u);
+  ASSERT_EQ(logger->get(l_bluestore_write_small_unused), 2u);
+  {
+    ObjectStore::Transaction t;
+    t.remove(cid, hoid);
+    t.remove_collection(cid);
+    cerr << "Cleaning" << std::endl;
+    r = queue_transaction(store, ch, std::move(t));
+    ASSERT_EQ(r, 0);
+  }
+}
+
+
 TEST_P(StoreTestSpecificAUSize, BluestoreStatFSTest) {
   if(string(GetParam()) != "bluestore")
     return;
index ef838ab124f2f1294f3b08da025973097b27c857..f6e47950b501f4535c770500ddcfc17b39579044 100644 (file)
@@ -339,7 +339,7 @@ void sync_fs(BlueFS &fs)
     while (1) {
       if (writes_done == true)
         break;
-      fs.sync_metadata();
+      fs.sync_metadata(false);
       sleep(1);
     }
 }
@@ -502,10 +502,10 @@ TEST(BlueFS, test_simple_compaction_sync) {
           string file = "file.";
          file.append(to_string(j));
           fs.unlink(dir, file);
-         fs.sync_metadata();
+         fs.sync_metadata(false);
        }
        ASSERT_EQ(0, fs.rmdir(dir));
-       fs.sync_metadata();
+       fs.sync_metadata(false);
     }
   }
   fs.compact_log();
@@ -555,10 +555,10 @@ TEST(BlueFS, test_simple_compaction_async) {
           string file = "file.";
          file.append(to_string(j));
           fs.unlink(dir, file);
-         fs.sync_metadata();
+         fs.sync_metadata(false);
        }
        ASSERT_EQ(0, fs.rmdir(dir));
-       fs.sync_metadata();
+       fs.sync_metadata(false);
     }
   }
   fs.compact_log();
index e06d37045a778c167e327aaa5ebd32c92d4d354b..b4b8e481fd1bd8c5fe50fe7eedb3d752e126fb5d 100644 (file)
@@ -1596,6 +1596,98 @@ TEST(BlueStoreRepairer, StoreSpaceTracker)
   ASSERT_TRUE(bmap2.is_used(hoid, 0x3223b19ffff));
 }
 
+TEST(bluestore_blob_t, unused)
+{
+  {
+    bluestore_blob_t b;
+    uint64_t min_alloc_size = 64 << 10; // 64 kB
+
+    // _do_write_small 0x0~1000
+    uint64_t offset = 0x0;
+    uint64_t length = 0x1000; // 4kB
+    uint64_t suggested_boff = 0;
+    PExtentVector extents;
+    extents.emplace_back(0x1a560000, min_alloc_size);
+    b.allocated(p2align(suggested_boff, min_alloc_size), 0 /*no matter*/, extents);
+    b.mark_used(offset, length);
+    ASSERT_FALSE(b.is_unused(offset, length));
+
+    // _do_write_small 0x2000~1000
+    offset = 0x2000;
+    length = 0x1000;
+    b.add_unused(0, 0x10000);
+    ASSERT_TRUE(b.is_unused(offset, length));
+    b.mark_used(offset, length);
+    ASSERT_FALSE(b.is_unused(offset, length));
+
+    // _do_write_small 0xc000~2000
+    offset = 0xc000;
+    length = 0x2000;
+    ASSERT_TRUE(b.is_unused(offset, length));
+    b.mark_used(offset, length);
+    ASSERT_FALSE(b.is_unused(offset, length));
+  }
+
+  {
+    bluestore_blob_t b;
+    uint64_t min_alloc_size = 64 << 10; // 64 kB
+
+    // _do_write_small 0x11000~1000
+    uint64_t offset = 0x11000;
+    uint64_t length = 0x1000; // 4kB
+    uint64_t suggested_boff = 0x11000;
+    PExtentVector extents;
+    extents.emplace_back(0x1a560000, min_alloc_size);
+    b.allocated(p2align(suggested_boff, min_alloc_size), 0 /*no matter*/, extents);
+    b.add_unused(0, offset);
+    b.add_unused(offset + length, min_alloc_size * 2 - offset - length);
+    b.mark_used(offset, length);
+    ASSERT_FALSE(b.is_unused(offset, length));
+
+    // _do_write_small 0x15000~3000
+    offset = 0x15000;
+    length = 0x3000;
+    ASSERT_TRUE(b.is_unused(offset, length));
+    b.mark_used(offset, length);
+    ASSERT_FALSE(b.is_unused(offset, length));
+  }
+
+  {
+    // reuse blob
+    bluestore_blob_t b;
+    uint64_t min_alloc_size = 64 << 10; // 64 kB
+
+    // _do_write_small 0x2a000~1000
+    // and 0x1d000~1000
+    uint64_t unused_granularity = 0x3000;
+    // offsets and lenght below are selected to
+    // be aligned with unused_granularity
+    uint64_t offset0 = 0x2a000;
+    uint64_t offset = 0x1d000;
+    uint64_t length = 0x1000; // 4kB
+    PExtentVector extents;
+    extents.emplace_back(0x410000, min_alloc_size);
+    b.allocated(p2align(offset0, min_alloc_size), min_alloc_size, extents);
+    b.add_unused(0, min_alloc_size * 3);
+    b.mark_used(offset0, length);
+    ASSERT_FALSE(b.is_unused(offset0, length));
+    ASSERT_TRUE(b.is_unused(offset, length));
+
+    extents.clear();
+    extents.emplace_back(0x430000, min_alloc_size);
+    b.allocated(p2align(offset, min_alloc_size), min_alloc_size, extents);
+    b.mark_used(offset, length);
+    ASSERT_FALSE(b.is_unused(offset0, length));
+    ASSERT_FALSE(b.is_unused(offset, length));
+    ASSERT_FALSE(b.is_unused(offset, unused_granularity));
+
+    ASSERT_TRUE(b.is_unused(0, offset / unused_granularity * unused_granularity));
+    ASSERT_TRUE(b.is_unused(offset + length, offset0 - offset - length));
+    auto end0_aligned = round_up_to(offset0 + length, unused_granularity);
+    ASSERT_TRUE(b.is_unused(end0_aligned, min_alloc_size * 3 - end0_aligned));
+  }
+}
+
 int main(int argc, char **argv) {
   vector<const char*> args;
   argv_to_vec(argc, (const char **)argv, args);
index 1bd84e81f84ad45403d2308a08888c4cd2840883..98d2a7051a382d644256da017d8c1987ecc26c23 100644 (file)
@@ -588,6 +588,10 @@ class TestImage(object):
     def test_image_auto_close(self):
         image = Image(ioctx, image_name)
 
+    def test_use_after_close(self):
+        self.image.close()
+        assert_raises(InvalidArgument, self.image.stat)
+
     def test_write(self):
         data = rand_data(256)
         self.image.write(data, 0)
@@ -1855,10 +1859,13 @@ class TestExclusiveLock(object):
                 rados2.conf_set('rbd_blacklist_on_break_lock', 'true')
                 with Image(ioctx2, image_name) as image, \
                      Image(blacklist_ioctx, image_name) as blacklist_image:
+
+                    lock_owners = list(image.lock_get_owners())
+                    eq(0, len(lock_owners))
+
                     blacklist_image.lock_acquire(RBD_LOCK_MODE_EXCLUSIVE)
                     assert_raises(ReadOnlyImage, image.lock_acquire,
                                   RBD_LOCK_MODE_EXCLUSIVE)
-
                     lock_owners = list(image.lock_get_owners())
                     eq(1, len(lock_owners))
                     eq(RBD_LOCK_MODE_EXCLUSIVE, lock_owners[0]['mode'])
index de1513f192bd75342e49274b90e46bf73c794645..7e233b8d6f7334ef63b18d64a5c7fc730b1b812f 100644 (file)
@@ -207,6 +207,7 @@ struct ReplayStatusFormatter<librbd::MockTestImageCtx> {
     s_instance = nullptr;
   }
 
+  MOCK_METHOD1(handle_entry_processed, void(uint64_t));
   MOCK_METHOD2(get_or_send_update, bool(std::string *description, Context *on_finish));
 };
 
index b2e95bad097e146e0d99d4d3d39afa0774638c38..4a6f6938dd71b46be83e6a06423e86abfc29bf3b 100644 (file)
@@ -18,6 +18,7 @@
 #include "tools/rbd_mirror/image_replayer/snapshot/StateBuilder.h"
 #include "test/librados_test_stub/MockTestMemIoCtxImpl.h"
 #include "test/librbd/mock/MockImageCtx.h"
+#include "test/librbd/mock/MockOperations.h"
 #include "test/rbd_mirror/mock/MockContextWQ.h"
 #include "test/rbd_mirror/mock/MockSafeTimer.h"
 
@@ -51,7 +52,7 @@ struct ImageCopyRequest<MockTestImageCtx> {
                                   bool flatten,
                                   const ObjectNumber &object_number,
                                   const SnapSeqs &snap_seqs,
-                                  ProgressContext *prog_ctx,
+                                  Handler *handler,
                                   Context *on_finish) {
     ceph_assert(s_instance != nullptr);
     s_instance->src_snap_id_start = src_snap_id_start;
@@ -456,6 +457,22 @@ public:
       }));
   }
 
+  void expect_prune_non_primary_snapshot(librbd::MockTestImageCtx& mock_image_ctx,
+                                         uint64_t snap_id, int r) {
+    EXPECT_CALL(mock_image_ctx, get_snap_info(snap_id))
+      .WillOnce(Invoke([&mock_image_ctx](uint64_t snap_id) -> librbd::SnapInfo* {
+        auto it = mock_image_ctx.snap_info.find(snap_id);
+        if (it == mock_image_ctx.snap_info.end()) {
+          return nullptr;
+        }
+        return &it->second;
+      }));
+    EXPECT_CALL(*mock_image_ctx.operations, snap_remove(_, _, _))
+      .WillOnce(WithArg<2>(Invoke([this, r](Context* ctx) {
+        m_threads->work_queue->queue(ctx, r);
+      })));
+  }
+
   void expect_snapshot_copy(MockSnapshotCopyRequest& mock_snapshot_copy_request,
                             uint64_t src_snap_id_start,
                             uint64_t src_snap_id_end,
@@ -691,17 +708,17 @@ TEST_F(TestMockImageReplayerSnapshotReplayer, SyncSnapshot) {
   mock_remote_image_ctx.snap_info = {
     {1U, librbd::SnapInfo{"snap1", cls::rbd::MirrorSnapshotNamespace{
        cls::rbd::MIRROR_SNAPSHOT_STATE_PRIMARY, {"remote mirror peer uuid"},
-       "", 0U, true, 0, {}},
+       "", CEPH_NOSNAP, true, 0, {}},
      0, {}, 0, 0, {}}},
     {2U, librbd::SnapInfo{"snap2", cls::rbd::UserSnapshotNamespace{},
      0, {}, 0, 0, {}}},
     {3U, librbd::SnapInfo{"snap3", cls::rbd::MirrorSnapshotNamespace{
        cls::rbd::MIRROR_SNAPSHOT_STATE_PRIMARY, {""},
-       "", 0U, true, 0, {}},
+       "", CEPH_NOSNAP, true, 0, {}},
      0, {}, 0, 0, {}}},
     {4U, librbd::SnapInfo{"snap4", cls::rbd::MirrorSnapshotNamespace{
        cls::rbd::MIRROR_SNAPSHOT_STATE_PRIMARY, {"remote mirror peer uuid"},
-       "", 0U, true, 0, {}},
+       "", CEPH_NOSNAP, true, 0, {}},
      0, {}, 0, 0, {}}}};
 
   MockThreads mock_threads(m_threads);
@@ -763,19 +780,20 @@ TEST_F(TestMockImageReplayerSnapshotReplayer, SyncSnapshot) {
     mock_local_image_ctx, {
       {11U, librbd::SnapInfo{"snap1", cls::rbd::MirrorSnapshotNamespace{
          cls::rbd::MIRROR_SNAPSHOT_STATE_NON_PRIMARY, {}, "remote mirror uuid",
-         1, true, 0, {}},
+         1, true, 0, {{1, CEPH_NOSNAP}}},
        0, {}, 0, 0, {}}},
     }, 0);
   expect_is_refresh_required(mock_remote_image_ctx, false);
   expect_snapshot_copy(mock_snapshot_copy_request, 1, 4, 11,
-                       {{1, 11}, {4, CEPH_NOSNAP}}, 0);
+                       {{1, 11}, {2, 12}, {4, CEPH_NOSNAP}}, 0);
   expect_get_image_state(mock_get_image_state_request, 4, 0);
   expect_create_non_primary_request(mock_create_non_primary_request,
                                     false, "remote mirror uuid", 4,
-                                    {{1, 11}, {4, CEPH_NOSNAP}}, 14, 0);
+                                    {{1, 11}, {2, 12}, {4, CEPH_NOSNAP}}, 14,
+                                    0);
   expect_notify_sync_request(mock_instance_watcher, mock_local_image_ctx.id, 0);
   expect_image_copy(mock_image_copy_request, 1, 4, 11, {},
-                    {{1, 11}, {4, CEPH_NOSNAP}}, 0);
+                    {{1, 11}, {2, 12}, {4, CEPH_NOSNAP}}, 0);
   expect_apply_image_state(mock_apply_state_request, 0);
   expect_mirror_image_snapshot_set_copy_progress(
     mock_local_image_ctx, 14, true, 0, 0);
@@ -785,7 +803,7 @@ TEST_F(TestMockImageReplayerSnapshotReplayer, SyncSnapshot) {
                      0);
   expect_notify_sync_complete(mock_instance_watcher, mock_local_image_ctx.id);
 
-  // idle
+  // prune non-primary snap1
   expect_load_image_meta(mock_image_meta, false, 0);
   expect_is_refresh_required(mock_local_image_ctx, true);
   expect_refresh(
@@ -794,6 +812,34 @@ TEST_F(TestMockImageReplayerSnapshotReplayer, SyncSnapshot) {
          cls::rbd::MIRROR_SNAPSHOT_STATE_NON_PRIMARY, {}, "remote mirror uuid",
          1, true, 0, {}},
        0, {}, 0, 0, {}}},
+      {12U, librbd::SnapInfo{"snap2", cls::rbd::UserSnapshotNamespace{},
+       0, {}, 0, 0, {}}},
+      {14U, librbd::SnapInfo{"snap4", cls::rbd::MirrorSnapshotNamespace{
+         cls::rbd::MIRROR_SNAPSHOT_STATE_NON_PRIMARY, {}, "remote mirror uuid",
+         4, true, 0, {}},
+       0, {}, 0, 0, {}}},
+    }, 0);
+  expect_is_refresh_required(mock_remote_image_ctx, true);
+  expect_refresh(
+    mock_remote_image_ctx, {
+      {2U, librbd::SnapInfo{"snap2", cls::rbd::UserSnapshotNamespace{},
+       0, {}, 0, 0, {}}},
+      {3U, librbd::SnapInfo{"snap3", cls::rbd::MirrorSnapshotNamespace{
+         cls::rbd::MIRROR_SNAPSHOT_STATE_PRIMARY, {""},
+         "", CEPH_NOSNAP, true, 0, {}},
+       0, {}, 0, 0, {}}},
+      {4U, librbd::SnapInfo{"snap4", cls::rbd::MirrorSnapshotNamespace{
+         cls::rbd::MIRROR_SNAPSHOT_STATE_PRIMARY, {"remote mirror peer uuid"},
+         "", CEPH_NOSNAP, true, 0, {}},
+       0, {}, 0, 0, {}}}
+    }, 0);
+  expect_prune_non_primary_snapshot(mock_local_image_ctx, 11, 0);
+
+  // idle
+  expect_load_image_meta(mock_image_meta, false, 0);
+  expect_is_refresh_required(mock_local_image_ctx, true);
+  expect_refresh(
+    mock_local_image_ctx, {
       {14U, librbd::SnapInfo{"snap4", cls::rbd::MirrorSnapshotNamespace{
          cls::rbd::MIRROR_SNAPSHOT_STATE_NON_PRIMARY, {}, "remote mirror uuid",
          4, true, 0, {}},
@@ -851,7 +897,7 @@ TEST_F(TestMockImageReplayerSnapshotReplayer, InterruptedSync) {
   mock_remote_image_ctx.snap_info = {
     {1U, librbd::SnapInfo{"snap1", cls::rbd::MirrorSnapshotNamespace{
        cls::rbd::MIRROR_SNAPSHOT_STATE_PRIMARY, {"remote mirror peer uuid"},
-       "", 0U, true, 0, {}},
+       "", CEPH_NOSNAP, true, 0, {}},
      0, {}, 0, 0, {}}}};
   mock_local_image_ctx.snap_info = {
     {11U, librbd::SnapInfo{"snap1", cls::rbd::MirrorSnapshotNamespace{
@@ -875,6 +921,7 @@ TEST_F(TestMockImageReplayerSnapshotReplayer, InterruptedSync) {
   expect_mirror_image_snapshot_set_copy_progress(
     mock_local_image_ctx, 11, true, 123, 0);
   expect_notify_update(mock_local_image_ctx);
+  expect_notify_sync_complete(mock_instance_watcher, mock_local_image_ctx.id);
 
   // idle
   expect_load_image_meta(mock_image_meta, false, 0);
@@ -935,7 +982,7 @@ TEST_F(TestMockImageReplayerSnapshotReplayer, RemoteImageDemoted) {
   mock_remote_image_ctx.snap_info = {
     {1U, librbd::SnapInfo{"snap1", cls::rbd::MirrorSnapshotNamespace{
        cls::rbd::MIRROR_SNAPSHOT_STATE_PRIMARY_DEMOTED,
-       {"remote mirror peer uuid"}, "", 0U, true, 0, {}},
+       {"remote mirror peer uuid"}, "", CEPH_NOSNAP, true, 0, {}},
      0, {}, 0, 0, {}}}};
 
   // sync snap1
@@ -960,6 +1007,7 @@ TEST_F(TestMockImageReplayerSnapshotReplayer, RemoteImageDemoted) {
   expect_mirror_image_snapshot_set_copy_progress(
     mock_local_image_ctx, 11, true, 0, 0);
   expect_notify_update(mock_local_image_ctx);
+  expect_notify_sync_complete(mock_instance_watcher, mock_local_image_ctx.id);
 
   // idle
   expect_load_image_meta(mock_image_meta, false, 0);
@@ -1021,7 +1069,7 @@ TEST_F(TestMockImageReplayerSnapshotReplayer, LocalImagePromoted) {
   mock_local_image_ctx.snap_info = {
     {1U, librbd::SnapInfo{"snap1", cls::rbd::MirrorSnapshotNamespace{
        cls::rbd::MIRROR_SNAPSHOT_STATE_PRIMARY,
-       {"remote mirror peer uuid"}, "", 0U, true, 0, {}},
+       {"remote mirror peer uuid"}, "", CEPH_NOSNAP, true, 0, {}},
      0, {}, 0, 0, {}}}};
 
   // idle
@@ -1427,7 +1475,7 @@ TEST_F(TestMockImageReplayerSnapshotReplayer, CopySnapshotsError) {
   mock_remote_image_ctx.snap_info = {
     {1U, librbd::SnapInfo{"snap1", cls::rbd::MirrorSnapshotNamespace{
        cls::rbd::MIRROR_SNAPSHOT_STATE_PRIMARY, {"remote mirror peer uuid"}, "",
-       0U, true, 0, {}},
+       CEPH_NOSNAP, true, 0, {}},
      0, {}, 0, 0, {}}}};
 
   // sync snap1
@@ -1487,7 +1535,7 @@ TEST_F(TestMockImageReplayerSnapshotReplayer, GetImageStateError) {
   mock_remote_image_ctx.snap_info = {
     {1U, librbd::SnapInfo{"snap1", cls::rbd::MirrorSnapshotNamespace{
        cls::rbd::MIRROR_SNAPSHOT_STATE_PRIMARY, {"remote mirror peer uuid"}, "",
-       0U, true, 0, {}},
+       CEPH_NOSNAP, true, 0, {}},
      0, {}, 0, 0, {}}}};
 
   // sync snap1
@@ -1549,7 +1597,7 @@ TEST_F(TestMockImageReplayerSnapshotReplayer, CreateNonPrimarySnapshotError) {
   mock_remote_image_ctx.snap_info = {
     {1U, librbd::SnapInfo{"snap1", cls::rbd::MirrorSnapshotNamespace{
        cls::rbd::MIRROR_SNAPSHOT_STATE_PRIMARY, {"remote mirror peer uuid"}, "",
-       0U, true, 0, {}},
+       CEPH_NOSNAP, true, 0, {}},
      0, {}, 0, 0, {}}}};
 
   // sync snap1
@@ -1615,7 +1663,7 @@ TEST_F(TestMockImageReplayerSnapshotReplayer, RequestSyncError) {
   mock_remote_image_ctx.snap_info = {
     {1U, librbd::SnapInfo{"snap1", cls::rbd::MirrorSnapshotNamespace{
        cls::rbd::MIRROR_SNAPSHOT_STATE_PRIMARY, {"remote mirror peer uuid"}, "",
-       0U, true, 0, {}},
+       CEPH_NOSNAP, true, 0, {}},
      0, {}, 0, 0, {}}}};
 
   // sync snap1
@@ -1684,7 +1732,7 @@ TEST_F(TestMockImageReplayerSnapshotReplayer, CopyImageError) {
   mock_remote_image_ctx.snap_info = {
     {1U, librbd::SnapInfo{"snap1", cls::rbd::MirrorSnapshotNamespace{
        cls::rbd::MIRROR_SNAPSHOT_STATE_PRIMARY, {"remote mirror peer uuid"}, "",
-       0U, true, 0, {}},
+       CEPH_NOSNAP,true, 0, {}},
      0, {}, 0, 0, {}}}};
 
   // sync snap1
@@ -1704,6 +1752,7 @@ TEST_F(TestMockImageReplayerSnapshotReplayer, CopyImageError) {
   MockImageCopyRequest mock_image_copy_request;
   expect_image_copy(mock_image_copy_request, 0, 1, 0, {},
                     {{1, CEPH_NOSNAP}}, -EINVAL);
+  expect_notify_sync_complete(mock_instance_watcher, mock_local_image_ctx.id);
 
   // wake-up replayer
   update_watch_ctx->handle_notify();
@@ -1754,7 +1803,7 @@ TEST_F(TestMockImageReplayerSnapshotReplayer, UpdateNonPrimarySnapshotError) {
   mock_remote_image_ctx.snap_info = {
     {1U, librbd::SnapInfo{"snap1", cls::rbd::MirrorSnapshotNamespace{
        cls::rbd::MIRROR_SNAPSHOT_STATE_PRIMARY, {"remote mirror peer uuid"}, "",
-       0U, true, 0, {}},
+       CEPH_NOSNAP, true, 0, {}},
      0, {}, 0, 0, {}}}};
 
   // sync snap1
@@ -1778,6 +1827,7 @@ TEST_F(TestMockImageReplayerSnapshotReplayer, UpdateNonPrimarySnapshotError) {
   expect_apply_image_state(mock_apply_state_request, 0);
   expect_mirror_image_snapshot_set_copy_progress(
     mock_local_image_ctx, 11, true, 0, -EINVAL);
+  expect_notify_sync_complete(mock_instance_watcher, mock_local_image_ctx.id);
 
   // wake-up replayer
   update_watch_ctx->handle_notify();
@@ -1828,11 +1878,11 @@ TEST_F(TestMockImageReplayerSnapshotReplayer, UnlinkPeerError) {
   mock_remote_image_ctx.snap_info = {
     {1U, librbd::SnapInfo{"snap1", cls::rbd::MirrorSnapshotNamespace{
        cls::rbd::MIRROR_SNAPSHOT_STATE_PRIMARY, {"remote mirror peer uuid"}, "",
-       0U, true, 0, {}},
+       CEPH_NOSNAP, true, 0, {}},
      0, {}, 0, 0, {}}},
     {2U, librbd::SnapInfo{"snap2", cls::rbd::MirrorSnapshotNamespace{
        cls::rbd::MIRROR_SNAPSHOT_STATE_PRIMARY, {"remote mirror peer uuid"},
-       "", 0U, true, 0, {}},
+       "", CEPH_NOSNAP, true, 0, {}},
      0, {}, 0, 0, {}}}};
   mock_local_image_ctx.snap_info = {
     {11U, librbd::SnapInfo{"snap1", cls::rbd::MirrorSnapshotNamespace{
@@ -1916,12 +1966,12 @@ TEST_F(TestMockImageReplayerSnapshotReplayer, SplitBrain) {
   mock_remote_image_ctx.snap_info = {
     {1U, librbd::SnapInfo{"snap1", cls::rbd::MirrorSnapshotNamespace{
        cls::rbd::MIRROR_SNAPSHOT_STATE_PRIMARY, {"remote mirror peer uuid"},
-       "", 0U, true, 0, {}},
+       "", CEPH_NOSNAP, true, 0, {}},
      0, {}, 0, 0, {}}}};
   mock_local_image_ctx.snap_info = {
     {1U, librbd::SnapInfo{"snap1", cls::rbd::MirrorSnapshotNamespace{
-       cls::rbd::MIRROR_SNAPSHOT_STATE_PRIMARY_DEMOTED, {}, "", 0U, true, 0,
-       {}},
+       cls::rbd::MIRROR_SNAPSHOT_STATE_PRIMARY_DEMOTED, {}, "", CEPH_NOSNAP,
+       true, 0, {}},
      0, {}, 0, 0, {}}}};
 
   // detect split-brain
@@ -1943,6 +1993,302 @@ TEST_F(TestMockImageReplayerSnapshotReplayer, SplitBrain) {
                                         mock_remote_image_ctx));
 }
 
+TEST_F(TestMockImageReplayerSnapshotReplayer, RemoteFailover) {
+  librbd::MockTestImageCtx mock_local_image_ctx{*m_local_image_ctx};
+  librbd::MockTestImageCtx mock_remote_image_ctx{*m_remote_image_ctx};
+
+  MockThreads mock_threads(m_threads);
+  expect_work_queue_repeatedly(mock_threads);
+
+  MockReplayerListener mock_replayer_listener;
+  expect_notification(mock_threads, mock_replayer_listener);
+
+  InSequence seq;
+
+  MockInstanceWatcher mock_instance_watcher;
+  MockImageMeta mock_image_meta;
+  MockStateBuilder mock_state_builder(mock_local_image_ctx,
+                                      mock_remote_image_ctx,
+                                      mock_image_meta);
+  MockReplayer mock_replayer{&mock_threads, &mock_instance_watcher,
+                             "local mirror uuid", &m_pool_meta_cache,
+                             &mock_state_builder, &mock_replayer_listener};
+  m_pool_meta_cache.set_remote_pool_meta(
+    m_remote_io_ctx.get_id(),
+    {"remote mirror uuid", "remote mirror peer uuid"});
+
+  librbd::UpdateWatchCtx* update_watch_ctx = nullptr;
+  ASSERT_EQ(0, init_entry_replayer(mock_replayer, mock_threads,
+                                   mock_local_image_ctx,
+                                   mock_remote_image_ctx,
+                                   mock_replayer_listener,
+                                   mock_image_meta,
+                                   &update_watch_ctx));
+
+  // inject a primary demote to local image
+  mock_remote_image_ctx.snap_info = {
+    {1U, librbd::SnapInfo{"snap1", cls::rbd::UserSnapshotNamespace{},
+     0, {}, 0, 0, {}}},
+    {2U, librbd::SnapInfo{"snap2", cls::rbd::MirrorSnapshotNamespace{
+       cls::rbd::MIRROR_SNAPSHOT_STATE_NON_PRIMARY_DEMOTED,
+       {"remote mirror peer uuid"}, "local mirror uuid", 12U, true, 0, {}},
+     0, {}, 0, 0, {}}},
+    {3U, librbd::SnapInfo{"snap3", cls::rbd::MirrorSnapshotNamespace{
+       cls::rbd::MIRROR_SNAPSHOT_STATE_PRIMARY, {"remote mirror peer uuid"},
+       "", CEPH_NOSNAP, true, 0, {}},
+     0, {}, 0, 0, {}}}};
+  mock_local_image_ctx.snap_ids = {
+    {{cls::rbd::UserSnapshotNamespace{}, "snap1"}, 11},
+    {{cls::rbd::MirrorSnapshotNamespace{}, "snap2"}, 12}};
+  mock_local_image_ctx.snap_info = {
+    {11U, librbd::SnapInfo{"snap1", cls::rbd::UserSnapshotNamespace{},
+     0, {}, 0, 0, {}}},
+    {12U, librbd::SnapInfo{"snap2", cls::rbd::MirrorSnapshotNamespace{
+       cls::rbd::MIRROR_SNAPSHOT_STATE_PRIMARY_DEMOTED, {}, "", CEPH_NOSNAP,
+       true, 0, {}},
+     0, {}, 0, 0, {}}}};
+
+  // attach to promoted remote image
+  expect_load_image_meta(mock_image_meta, false, 0);
+  expect_is_refresh_required(mock_local_image_ctx, false);
+  expect_is_refresh_required(mock_remote_image_ctx, false);
+  MockSnapshotCopyRequest mock_snapshot_copy_request;
+  expect_snapshot_copy(mock_snapshot_copy_request, 2, 3, 12,
+                       {{2, 12}, {3, CEPH_NOSNAP}}, 0);
+  MockGetImageStateRequest mock_get_image_state_request;
+  expect_get_image_state(mock_get_image_state_request, 3, 0);
+  MockCreateNonPrimaryRequest mock_create_non_primary_request;
+  expect_create_non_primary_request(mock_create_non_primary_request,
+                                    false, "remote mirror uuid", 3,
+                                    {{1, 11}, {2, 12}, {3, CEPH_NOSNAP}}, 13,
+                                    0);
+  expect_notify_sync_request(mock_instance_watcher, mock_local_image_ctx.id, 0);
+  MockImageCopyRequest mock_image_copy_request;
+  expect_image_copy(mock_image_copy_request, 2, 3, 12, {},
+                    {{1, 11}, {2, 12}, {3, CEPH_NOSNAP}}, 0);
+  MockApplyImageStateRequest mock_apply_state_request;
+  expect_apply_image_state(mock_apply_state_request, 0);
+  expect_mirror_image_snapshot_set_copy_progress(
+    mock_local_image_ctx, 13, true, 0, 0);
+  expect_notify_update(mock_local_image_ctx);
+  MockUnlinkPeerRequest mock_unlink_peer_request;
+  expect_unlink_peer(mock_unlink_peer_request, 2, "remote mirror peer uuid", 0);
+  expect_notify_sync_complete(mock_instance_watcher, mock_local_image_ctx.id);
+
+  // idle
+  expect_load_image_meta(mock_image_meta, false, 0);
+  expect_is_refresh_required(mock_local_image_ctx, true);
+  expect_refresh(
+    mock_local_image_ctx, {
+      {11U, librbd::SnapInfo{"snap1", cls::rbd::UserSnapshotNamespace{},
+         0, {}, 0, 0, {}}},
+      {12U, librbd::SnapInfo{"snap2", cls::rbd::MirrorSnapshotNamespace{
+         cls::rbd::MIRROR_SNAPSHOT_STATE_PRIMARY_DEMOTED, {}, "", CEPH_NOSNAP,
+         true, 0, {}},
+       0, {}, 0, 0, {}}},
+      {13U, librbd::SnapInfo{"snap3", cls::rbd::MirrorSnapshotNamespace{
+         cls::rbd::MIRROR_SNAPSHOT_STATE_NON_PRIMARY, {},
+         "remote mirror uuid", 3, true, 0,
+         {{1, 11}, {2, 12}, {3, CEPH_NOSNAP}}},
+       0, {}, 0, 0, {}}},
+    }, 0);
+  expect_is_refresh_required(mock_remote_image_ctx, true);
+  expect_refresh(
+    mock_remote_image_ctx, {
+      {1U, librbd::SnapInfo{"snap1", cls::rbd::UserSnapshotNamespace{},
+         0, {}, 0, 0, {}}},
+      {2U, librbd::SnapInfo{"snap2", cls::rbd::MirrorSnapshotNamespace{
+         cls::rbd::MIRROR_SNAPSHOT_STATE_NON_PRIMARY_DEMOTED,
+         {"remote mirror peer uuid"}, "local mirror uuid", 12U, true, 0, {}},
+       0, {}, 0, 0, {}}},
+      {3U, librbd::SnapInfo{"snap3", cls::rbd::MirrorSnapshotNamespace{
+         cls::rbd::MIRROR_SNAPSHOT_STATE_PRIMARY, {}, "", CEPH_NOSNAP, true, 0,
+         {}},
+       0, {}, 0, 0, {}}}
+    }, 0);
+
+  // wake-up replayer
+  update_watch_ctx->handle_notify();
+
+  // wait for sync to complete and expect replay complete
+  ASSERT_EQ(0, wait_for_notification(2));
+  ASSERT_EQ(0, shut_down_entry_replayer(mock_replayer, mock_threads,
+                                        mock_local_image_ctx,
+                                        mock_remote_image_ctx));
+}
+
+TEST_F(TestMockImageReplayerSnapshotReplayer, UnlinkRemoteSnapshot) {
+  librbd::MockTestImageCtx mock_local_image_ctx{*m_local_image_ctx};
+  librbd::MockTestImageCtx mock_remote_image_ctx{*m_remote_image_ctx};
+
+  // it should attempt to unlink from remote snap1 since we don't need it
+  // anymore
+  mock_local_image_ctx.snap_info = {
+    {14U, librbd::SnapInfo{"snap4", cls::rbd::MirrorSnapshotNamespace{
+       cls::rbd::MIRROR_SNAPSHOT_STATE_NON_PRIMARY, {}, "remote mirror uuid",
+       4, true, 0, {}},
+     0, {}, 0, 0, {}}}};
+  mock_remote_image_ctx.snap_info = {
+    {1U, librbd::SnapInfo{"snap1", cls::rbd::MirrorSnapshotNamespace{
+       cls::rbd::MIRROR_SNAPSHOT_STATE_PRIMARY, {"remote mirror peer uuid"},
+       "", CEPH_NOSNAP, true, 0, {}},
+     0, {}, 0, 0, {}}},
+    {4U, librbd::SnapInfo{"snap4", cls::rbd::MirrorSnapshotNamespace{
+       cls::rbd::MIRROR_SNAPSHOT_STATE_PRIMARY, {"remote mirror peer uuid"},
+       "", CEPH_NOSNAP, true, 0, {}},
+     0, {}, 0, 0, {}}}};
+
+  MockThreads mock_threads(m_threads);
+  expect_work_queue_repeatedly(mock_threads);
+
+  MockReplayerListener mock_replayer_listener;
+  expect_notification(mock_threads, mock_replayer_listener);
+
+  InSequence seq;
+
+  MockInstanceWatcher mock_instance_watcher;
+  MockImageMeta mock_image_meta;
+  MockStateBuilder mock_state_builder(mock_local_image_ctx,
+                                      mock_remote_image_ctx,
+                                      mock_image_meta);
+  MockReplayer mock_replayer{&mock_threads, &mock_instance_watcher,
+                             "local mirror uuid", &m_pool_meta_cache,
+                             &mock_state_builder, &mock_replayer_listener};
+  m_pool_meta_cache.set_remote_pool_meta(
+    m_remote_io_ctx.get_id(),
+    {"remote mirror uuid", "remote mirror peer uuid"});
+
+  librbd::UpdateWatchCtx* update_watch_ctx = nullptr;
+
+  // init
+  expect_register_update_watcher(mock_local_image_ctx, &update_watch_ctx, 123,
+                                 0);
+  expect_register_update_watcher(mock_remote_image_ctx, &update_watch_ctx, 234,
+                                 0);
+
+  // unlink snap1
+  expect_load_image_meta(mock_image_meta, false, 0);
+  expect_is_refresh_required(mock_local_image_ctx, false);
+  expect_is_refresh_required(mock_remote_image_ctx, false);
+  MockUnlinkPeerRequest mock_unlink_peer_request;
+  expect_unlink_peer(mock_unlink_peer_request, 1, "remote mirror peer uuid",
+                     0);
+
+  // idle
+  expect_load_image_meta(mock_image_meta, false, 0);
+  expect_is_refresh_required(mock_local_image_ctx, false);
+  expect_is_refresh_required(mock_remote_image_ctx, true);
+  expect_refresh(
+    mock_remote_image_ctx, {
+      {2U, librbd::SnapInfo{"snap2", cls::rbd::UserSnapshotNamespace{},
+       0, {}, 0, 0, {}}},
+      {3U, librbd::SnapInfo{"snap3", cls::rbd::MirrorSnapshotNamespace{
+         cls::rbd::MIRROR_SNAPSHOT_STATE_PRIMARY, {""},
+         "", CEPH_NOSNAP, true, 0, {}},
+       0, {}, 0, 0, {}}},
+      {4U, librbd::SnapInfo{"snap4", cls::rbd::MirrorSnapshotNamespace{
+         cls::rbd::MIRROR_SNAPSHOT_STATE_PRIMARY, {"remote mirror peer uuid"},
+         "", CEPH_NOSNAP, true, 0, {}},
+       0, {}, 0, 0, {}}}
+    }, 0);
+
+  // fire init
+  C_SaferCond init_ctx;
+  mock_replayer.init(&init_ctx);
+  ASSERT_EQ(0, init_ctx.wait());
+
+  // wait for sync to complete
+  ASSERT_EQ(0, wait_for_notification(2));
+
+  // shut down
+  ASSERT_EQ(0, shut_down_entry_replayer(mock_replayer, mock_threads,
+                                        mock_local_image_ctx,
+                                        mock_remote_image_ctx));
+}
+
+TEST_F(TestMockImageReplayerSnapshotReplayer, SkipImageSync) {
+  librbd::MockTestImageCtx mock_local_image_ctx{*m_local_image_ctx};
+  librbd::MockTestImageCtx mock_remote_image_ctx{*m_remote_image_ctx};
+
+  mock_remote_image_ctx.snap_info = {
+    {1U, librbd::SnapInfo{"snap1", cls::rbd::MirrorSnapshotNamespace{
+       cls::rbd::MIRROR_SNAPSHOT_STATE_PRIMARY, {"remote mirror peer uuid"},
+       "", 0U, true, 0, {}},
+     0, {}, 0, 0, {}}}};
+
+  MockThreads mock_threads(m_threads);
+  expect_work_queue_repeatedly(mock_threads);
+
+  MockReplayerListener mock_replayer_listener;
+  expect_notification(mock_threads, mock_replayer_listener);
+
+  InSequence seq;
+
+  MockInstanceWatcher mock_instance_watcher;
+  MockImageMeta mock_image_meta;
+  MockStateBuilder mock_state_builder(mock_local_image_ctx,
+                                      mock_remote_image_ctx,
+                                      mock_image_meta);
+  MockReplayer mock_replayer{&mock_threads, &mock_instance_watcher,
+                             "local mirror uuid", &m_pool_meta_cache,
+                             &mock_state_builder, &mock_replayer_listener};
+  m_pool_meta_cache.set_remote_pool_meta(
+    m_remote_io_ctx.get_id(),
+    {"remote mirror uuid", "remote mirror peer uuid"});
+
+  librbd::UpdateWatchCtx* update_watch_ctx = nullptr;
+
+  // init
+  expect_register_update_watcher(mock_local_image_ctx, &update_watch_ctx, 123,
+                                 0);
+  expect_register_update_watcher(mock_remote_image_ctx, &update_watch_ctx, 234,
+                                 0);
+
+  // sync snap1
+  expect_load_image_meta(mock_image_meta, false, 0);
+  expect_is_refresh_required(mock_local_image_ctx, false);
+  expect_is_refresh_required(mock_remote_image_ctx, false);
+  MockSnapshotCopyRequest mock_snapshot_copy_request;
+  expect_snapshot_copy(mock_snapshot_copy_request, 0, 1, 0, {{1, CEPH_NOSNAP}},
+                       0);
+  MockGetImageStateRequest mock_get_image_state_request;
+  expect_get_image_state(mock_get_image_state_request, 1, 0);
+  MockCreateNonPrimaryRequest mock_create_non_primary_request;
+  expect_create_non_primary_request(mock_create_non_primary_request,
+                                    false, "remote mirror uuid", 1,
+                                    {{1, CEPH_NOSNAP}}, 11, 0);
+  MockApplyImageStateRequest mock_apply_state_request;
+  expect_apply_image_state(mock_apply_state_request, 0);
+  expect_mirror_image_snapshot_set_copy_progress(
+    mock_local_image_ctx, 11, true, 0, 0);
+  expect_notify_update(mock_local_image_ctx);
+
+  // idle
+  expect_load_image_meta(mock_image_meta, false, 0);
+  expect_is_refresh_required(mock_local_image_ctx, true);
+  expect_refresh(
+    mock_local_image_ctx, {
+      {11U, librbd::SnapInfo{"snap1", cls::rbd::MirrorSnapshotNamespace{
+         cls::rbd::MIRROR_SNAPSHOT_STATE_NON_PRIMARY, {}, "remote mirror uuid",
+         1, true, 0, {{1, CEPH_NOSNAP}}},
+       0, {}, 0, 0, {}}},
+    }, 0);
+  expect_is_refresh_required(mock_remote_image_ctx, false);
+
+  // fire init
+  C_SaferCond init_ctx;
+  mock_replayer.init(&init_ctx);
+  ASSERT_EQ(0, init_ctx.wait());
+
+  // wait for sync to complete
+  ASSERT_EQ(0, wait_for_notification(3));
+
+  // shut down
+  ASSERT_EQ(0, shut_down_entry_replayer(mock_replayer, mock_threads,
+                                        mock_local_image_ctx,
+                                        mock_remote_image_ctx));
+}
+
 } // namespace snapshot
 } // namespace image_replayer
 } // namespace mirror
index 743418325ced0d1d65802ed057b3d3063d13453c..5b424718cb7384ef363d401b1c4b0667dcf0f7ee 100644 (file)
@@ -36,7 +36,7 @@ public:
       librados::snap_t src_snap_id_start, librados::snap_t src_snap_id_end,
       librados::snap_t dst_snap_id_start, bool flatten,
       const librbd::deep_copy::ObjectNumber &object_number,
-      ContextWQ *work_queue, SnapSeqs *snap_seqs, ProgressContext *prog_ctx,
+      ContextWQ *work_queue, SnapSeqs *snap_seqs, deep_copy::Handler *handler,
       Context *on_finish) {
     ceph_assert(s_instance != nullptr);
     s_instance->on_finish = on_finish;
@@ -62,7 +62,6 @@ DeepCopyRequest<librbd::MockTestImageCtx>* DeepCopyRequest<librbd::MockTestImage
 } // namespace librbd
 
 // template definitions
-template class rbd::mirror::ImageSync<librbd::MockTestImageCtx>;
 #include "tools/rbd_mirror/ImageSync.cc"
 
 namespace rbd {
index 574e3d5507ad486c75e53f495e2e08bbcfc0b4fe..d2462c1f29c0b7126a97b5865d7607ab0b0a0a09 100644 (file)
@@ -90,7 +90,7 @@ struct ImageReplayer<librbd::MockTestImageCtx> {
   MOCK_METHOD0(destroy, void());
   MOCK_METHOD2(start, void(Context *, bool));
   MOCK_METHOD2(stop, void(Context *, bool));
-  MOCK_METHOD0(restart, void());
+  MOCK_METHOD1(restart, void(Context*));
   MOCK_METHOD0(flush, void());
   MOCK_METHOD1(print_status, void(Formatter *));
   MOCK_METHOD1(add_peer, void(const Peer<librbd::MockTestImageCtx>& peer));
@@ -201,7 +201,8 @@ TEST_F(TestMockInstanceReplayer, AcquireReleaseImage) {
   EXPECT_CALL(mock_image_replayer, is_stopped()).WillOnce(Return(true));
   EXPECT_CALL(mock_image_replayer, is_blacklisted()).WillOnce(Return(false));
   EXPECT_CALL(mock_image_replayer, is_finished()).WillOnce(Return(false));
-  EXPECT_CALL(mock_image_replayer, start(nullptr, false));
+  EXPECT_CALL(mock_image_replayer, start(_, false))
+    .WillOnce(CompleteContext(0));
   expect_work_queue(mock_threads);
 
   instance_replayer.acquire_image(&mock_instance_watcher, global_image_id,
@@ -271,7 +272,8 @@ TEST_F(TestMockInstanceReplayer, RemoveFinishedImage) {
   EXPECT_CALL(mock_image_replayer, is_stopped()).WillOnce(Return(true));
   EXPECT_CALL(mock_image_replayer, is_blacklisted()).WillOnce(Return(false));
   EXPECT_CALL(mock_image_replayer, is_finished()).WillOnce(Return(false));
-  EXPECT_CALL(mock_image_replayer, start(nullptr, false));
+  EXPECT_CALL(mock_image_replayer, start(_, false))
+    .WillOnce(CompleteContext(0));
   expect_work_queue(mock_threads);
 
   instance_replayer.acquire_image(&mock_instance_watcher, global_image_id,
@@ -344,7 +346,8 @@ TEST_F(TestMockInstanceReplayer, Reacquire) {
   EXPECT_CALL(mock_image_replayer, is_stopped()).WillOnce(Return(true));
   EXPECT_CALL(mock_image_replayer, is_blacklisted()).WillOnce(Return(false));
   EXPECT_CALL(mock_image_replayer, is_finished()).WillOnce(Return(false));
-  EXPECT_CALL(mock_image_replayer, start(nullptr, false));
+  EXPECT_CALL(mock_image_replayer, start(_, false))
+    .WillOnce(CompleteContext(0));
   expect_work_queue(mock_threads);
 
   C_SaferCond on_acquire1;
@@ -354,7 +357,8 @@ TEST_F(TestMockInstanceReplayer, Reacquire) {
 
   // Re-acquire
   EXPECT_CALL(mock_image_replayer, set_finished(false));
-  EXPECT_CALL(mock_image_replayer, restart());
+  EXPECT_CALL(mock_image_replayer, restart(_))
+    .WillOnce(CompleteContext(0));
   expect_work_queue(mock_threads);
 
   C_SaferCond on_acquire2;
index 0f8120a777522293aa2c55304e7731dda6cd93a1..8cccf208dfde84f8637cfcfe2f80d19f359ca1b5 100644 (file)
@@ -50,7 +50,7 @@ add_executable(ceph-objectstore-tool
   RadosDump.cc)
 target_link_libraries(ceph-objectstore-tool osd os global Boost::program_options ${CMAKE_DL_LIBS})
 if(WITH_FUSE)
-  target_link_libraries(ceph-objectstore-tool ${FUSE_LIBRARIES})
+  target_link_libraries(ceph-objectstore-tool FUSE::FUSE)
 endif(WITH_FUSE)
 install(TARGETS ceph-objectstore-tool DESTINATION bin)
 
index 3a3816c7a8e9bb916181d929f340b01d5a397488..f6d7c4116354c960b84d111fb76d3e82124ffd79 100644 (file)
@@ -378,15 +378,23 @@ int JournalTool::main_event(std::vector<const char*> &argv)
   }
 
   std::vector<const char*>::iterator arg = argv.begin();
+  bool dry_run = false;
+
   std::string command = *(arg++);
   if (command != "get" && command != "splice" && command != "recover_dentries") {
     derr << "Unknown argument '" << command << "'" << dendl;
     return -EINVAL;
   }
 
-  if (command == "recover_dentries" && type != "mdlog") {
-    derr << "journaler for " << type << " can't do \"recover_dentries\"." << dendl;
-    return -EINVAL;
+  if (command == "recover_dentries") {
+    if (type != "mdlog") {
+      derr << "journaler for " << type << " can't do \"recover_dentries\"." << dendl;
+      return -EINVAL;
+    } else {
+      if (arg != argv.end() && ceph_argparse_flag(argv, arg, "--dry_run", (char*)NULL)) {
+        dry_run = true;
+      }
+    }
   }
 
   if (arg == argv.end()) {
@@ -450,11 +458,6 @@ int JournalTool::main_event(std::vector<const char*> &argv)
       return r;
     }
 
-    bool dry_run = false;
-    if (arg != argv.end() && ceph_argparse_flag(argv, arg, "--dry_run", (char*)NULL)) {
-      dry_run = true;
-    }
-
     /**
      * Iterate over log entries, attempting to scavenge from each one
      */
index 74115d8a30aa930b8f799a1be5510fc59aba6f57..cf64f9abe018299da200aece445836b27fa95c47 100644 (file)
@@ -243,7 +243,9 @@ void add_create_image_options(po::options_description *opt,
     (IMAGE_SHARED.c_str(), po::bool_switch(), "shared image")
     (IMAGE_STRIPE_UNIT.c_str(), po::value<ImageObjectSize>(), "stripe unit in B/K/M")
     (IMAGE_STRIPE_COUNT.c_str(), po::value<uint64_t>(), "stripe count")
-    (IMAGE_DATA_POOL.c_str(), po::value<std::string>(), "data pool");
+    (IMAGE_DATA_POOL.c_str(), po::value<std::string>(), "data pool")
+    (IMAGE_MIRROR_IMAGE_MODE.c_str(), po::value<MirrorImageMode>(),
+     "mirror image mode [journal or snapshot]");
 
   add_create_journal_options(opt);
 }
@@ -463,6 +465,19 @@ void validate(boost::any& v, const std::vector<std::string>& values,
   }
 }
 
+void validate(boost::any& v, const std::vector<std::string>& values,
+              MirrorImageMode* mirror_image_mode, int) {
+  po::validators::check_first_occurrence(v);
+  const std::string &s = po::validators::get_single_string(values);
+  if (s == "journal") {
+    v = boost::any(RBD_MIRROR_IMAGE_MODE_JOURNAL);
+  } else if (s == "snapshot") {
+    v = boost::any(RBD_MIRROR_IMAGE_MODE_SNAPSHOT);
+  } else {
+    throw po::validation_error(po::validation_error::invalid_option_value);
+  }
+}
+
 void validate(boost::any& v, const std::vector<std::string>& values,
               Format *target_type, int) {
   po::validators::check_first_occurrence(v);
index 23bb02b9cd0ce9c2526c1c14d86f940c4f425c64..0554acceee967a8c3c398787ca5c28a5d998ebde 100644 (file)
@@ -69,6 +69,7 @@ static const std::string IMAGE_DATA_POOL("data-pool");
 static const std::string IMAGE_SPARSE_SIZE("sparse-size");
 static const std::string IMAGE_THICK_PROVISION("thick-provision");
 static const std::string IMAGE_FLATTEN("flatten");
+static const std::string IMAGE_MIRROR_IMAGE_MODE("mirror-image-mode");
 
 static const std::string JOURNAL_OBJECT_SIZE("journal-object-size");
 static const std::string JOURNAL_SPLAY_WIDTH("journal-splay-width");
@@ -97,6 +98,8 @@ struct ImageFeatures {
   uint64_t features;
 };
 
+struct MirrorImageMode {};
+
 template <typename T>
 struct TypedValue {
   T value;
index 520b654714b8cea012194b33cc4f6d1cae7f31b9..903e35ca755f9718914013fabe265cd69257270b 100644 (file)
@@ -557,6 +557,11 @@ int get_image_options(const boost::program_options::variables_map &vm,
     return r;
   }
 
+  if (vm.count(at::IMAGE_MIRROR_IMAGE_MODE)) {
+    opts->set(RBD_IMAGE_OPTION_MIRROR_IMAGE_MODE,
+              vm[at::IMAGE_MIRROR_IMAGE_MODE].as<librbd::mirror_image_mode_t>());
+  }
+
   return 0;
 }
 
index 3a595c1b1d01943707e7ee9ba80f799fb7916ecb..603e0f0f014eca23f962f6c9f2b11f804a80a4d8 100644 (file)
@@ -1017,8 +1017,19 @@ int execute_peer_add(const po::variables_map &vm,
     std::cerr << "rbd: failed to list mirror peers" << std::endl;
     return r;
   }
+
+  // ignore tx-only peers since the restriction is for rx
+  mirror_peers.erase(
+    std::remove_if(
+      mirror_peers.begin(), mirror_peers.end(),
+      [](const librbd::mirror_peer_site_t& peer) {
+        return (peer.direction == RBD_MIRROR_PEER_DIRECTION_TX);
+      }),
+    mirror_peers.end());
+
   if (!mirror_peers.empty()) {
-    std::cerr << "rbd: multiple peers are not currently supported" << std::endl;
+    std::cerr << "rbd: multiple RX peers are not currently supported"
+              << std::endl;
     return -EINVAL;
   }
 
@@ -1031,7 +1042,10 @@ int execute_peer_add(const po::variables_map &vm,
   std::string uuid;
   r = rbd.mirror_peer_site_add(
     io_ctx, &uuid, mirror_peer_direction, remote_cluster, remote_client_name);
-  if (r < 0) {
+  if (r == -EEXIST) {
+    std::cerr << "rbd: mirror peer already exists" << std::endl;
+    return r;
+  } else if (r < 0) {
     std::cerr << "rbd: error adding mirror peer" << std::endl;
     return r;
   }
@@ -1173,8 +1187,37 @@ int execute_peer_set(const po::variables_map &vm,
       return -EINVAL;
     }
 
-    r = rbd.mirror_peer_site_set_direction(
-      io_ctx, uuid, boost::any_cast<rbd_mirror_peer_direction_t>(direction));
+    auto peer_direction = boost::any_cast<rbd_mirror_peer_direction_t>(
+      direction);
+    if (peer_direction != RBD_MIRROR_PEER_DIRECTION_TX) {
+      // TODO: temporary restriction to prevent adding multiple peers
+      // until rbd-mirror daemon can properly handle the scenario
+      std::vector<librbd::mirror_peer_site_t> mirror_peers;
+      r = rbd.mirror_peer_site_list(io_ctx, &mirror_peers);
+      if (r < 0) {
+        std::cerr << "rbd: failed to list mirror peers" << std::endl;
+        return r;
+      }
+
+      // ignore peer to be updated and tx-only peers since the restriction is
+      // for rx
+      mirror_peers.erase(
+        std::remove_if(
+          mirror_peers.begin(), mirror_peers.end(),
+          [uuid](const librbd::mirror_peer_site_t& peer) {
+            return (peer.uuid == uuid ||
+                    peer.direction == RBD_MIRROR_PEER_DIRECTION_TX);
+          }),
+        mirror_peers.end());
+
+      if (!mirror_peers.empty()) {
+        std::cerr << "rbd: multiple RX peers are not currently supported"
+                  << std::endl;
+        return -EINVAL;
+      }
+    }
+
+    r = rbd.mirror_peer_site_set_direction(io_ctx, uuid, peer_direction);
   } else {
     r = update_peer_config_key(io_ctx, uuid, key, value);
   }
index 9fe8806d8ac03a47ce4dd0ffa128eb5d7f5976d7..03a4f5b065fa28c37dbb1eff6fc2124281a671c1 100644 (file)
@@ -199,8 +199,8 @@ int do_list_snaps(librbd::Image& image, Formatter *f, bool all_snaps, librados::
                       << "peer_uuids:[" << mirror_snap.mirror_peer_uuids << "]";
           if (mirror_snap.state == RBD_SNAP_MIRROR_STATE_NON_PRIMARY ||
               mirror_snap.state == RBD_SNAP_MIRROR_STATE_NON_PRIMARY_DEMOTED) {
-            oss  << mirror_snap.primary_mirror_uuid << ":"
-                 << mirror_snap.primary_snap_id << " ";
+            oss << " " << mirror_snap.primary_mirror_uuid << ":"
+                << mirror_snap.primary_snap_id << " ";
             if (!mirror_snap.complete) {
               if (info.num_objs > 0) {
                 auto progress = std::min<uint64_t>(
index edf4775fd96832c4d80b20298c94cf8dc800f2ca..9c1a71c57d1c56a55ee18ec9d9e60a3da80fc3a8 100644 (file)
@@ -43,6 +43,7 @@ set(rbd_mirror_internal
   image_replayer/PrepareLocalImageRequest.cc
   image_replayer/PrepareRemoteImageRequest.cc
   image_replayer/StateBuilder.cc
+  image_replayer/TimeRollingMean.cc
   image_replayer/Utils.cc
   image_replayer/journal/CreateLocalImageRequest.cc
   image_replayer/journal/EventPreprocessor.cc
index dd74512dfd194b96220440bdcb6bcbe05588a995..3123c9730764ffae903ea7c86abe634e6054371f 100644 (file)
@@ -248,6 +248,7 @@ ImageReplayer<I>::~ImageReplayer()
   ceph_assert(m_on_start_finish == nullptr);
   ceph_assert(m_on_stop_finish == nullptr);
   ceph_assert(m_bootstrap_request == nullptr);
+  ceph_assert(m_update_status_task == nullptr);
   delete m_replayer_listener;
 }
 
@@ -446,6 +447,9 @@ void ImageReplayer<I>::handle_start_replay(int r) {
     ceph_assert(m_state == STATE_STARTING);
     m_state = STATE_REPLAYING;
     std::swap(m_on_start_finish, on_finish);
+
+    std::unique_lock timer_locker{m_threads->timer_lock};
+    schedule_update_mirror_image_replay_status();
   }
 
   update_mirror_image_status(true, boost::none);
@@ -578,6 +582,7 @@ void ImageReplayer<I>::on_stop_journal_replay(int r, const std::string &desc)
     m_state = STATE_STOPPING;
   }
 
+  cancel_update_mirror_image_replay_status();
   set_state_description(r, desc);
   update_mirror_image_status(true, boost::none);
   shut_down(0);
@@ -646,6 +651,60 @@ void ImageReplayer<I>::print_status(Formatter *f)
   f->close_section();
 }
 
+template <typename I>
+void ImageReplayer<I>::schedule_update_mirror_image_replay_status() {
+  ceph_assert(ceph_mutex_is_locked_by_me(m_lock));
+  ceph_assert(ceph_mutex_is_locked_by_me(m_threads->timer_lock));
+  if (m_state != STATE_REPLAYING) {
+    return;
+  }
+
+  dout(10) << dendl;
+
+  // periodically update the replaying status even if nothing changes
+  // so that we can adjust our performance stats
+  ceph_assert(m_update_status_task == nullptr);
+  m_update_status_task = create_context_callback<
+    ImageReplayer<I>,
+    &ImageReplayer<I>::handle_update_mirror_image_replay_status>(this);
+  m_threads->timer->add_event_after(10, m_update_status_task);
+}
+
+template <typename I>
+void ImageReplayer<I>::handle_update_mirror_image_replay_status(int r) {
+  dout(10) << dendl;
+
+  auto ctx = new LambdaContext([this](int) {
+      update_mirror_image_status(false, boost::none);
+
+      {
+        std::unique_lock locker{m_lock};
+        std::unique_lock timer_locker{m_threads->timer_lock};
+        ceph_assert(m_update_status_task != nullptr);
+        m_update_status_task = nullptr;
+
+        schedule_update_mirror_image_replay_status();
+      }
+
+      m_in_flight_op_tracker.finish_op();
+    });
+
+  m_in_flight_op_tracker.start_op();
+  m_threads->work_queue->queue(ctx, 0);
+}
+
+template <typename I>
+void ImageReplayer<I>::cancel_update_mirror_image_replay_status() {
+  std::unique_lock timer_locker{m_threads->timer_lock};
+  if (m_update_status_task != nullptr) {
+    dout(10) << dendl;
+
+    if (m_threads->timer->cancel_event(m_update_status_task)) {
+      m_update_status_task = nullptr;
+    }
+  }
+}
+
 template <typename I>
 void ImageReplayer<I>::update_mirror_image_status(
     bool force, const OptionalState &opt_state) {
index c9718e06b9c209dcd4716155f092ad0f42c3eb60..493d38d9d2845e6e4e82dbee53183b7cdafd257f 100644 (file)
@@ -221,6 +221,8 @@ private:
 
   AsyncOpTracker m_in_flight_op_tracker;
 
+  Context* m_update_status_task = nullptr;
+
   static std::string to_string(const State state);
 
   bool is_stopped_() const {
@@ -233,6 +235,10 @@ private:
     return (m_state == STATE_REPLAYING);
   }
 
+  void schedule_update_mirror_image_replay_status();
+  void handle_update_mirror_image_replay_status(int r);
+  void cancel_update_mirror_image_replay_status();
+
   void update_mirror_image_status(bool force, const OptionalState &state);
   void set_mirror_image_status_update(bool force, const OptionalState &state);
 
@@ -250,6 +256,7 @@ private:
   void register_admin_socket_hook();
   void unregister_admin_socket_hook();
   void reregister_admin_socket_hook();
+
 };
 
 } // namespace mirror
index 2765b66bf29dbf58e9f0db825ea7fe3d2ab81817..a56723be2edad69cf0e04f5a36042ac913e58bc7 100644 (file)
@@ -12,6 +12,7 @@
 #include "librbd/ImageState.h"
 #include "librbd/Utils.h"
 #include "librbd/internal.h"
+#include "librbd/deep_copy/Handler.h"
 #include "tools/rbd_mirror/Threads.h"
 #include "tools/rbd_mirror/image_sync/SyncPointCreateRequest.h"
 #include "tools/rbd_mirror/image_sync/SyncPointPruneRequest.h"
@@ -32,9 +33,10 @@ using librbd::util::create_context_callback;
 using librbd::util::unique_lock_name;
 
 template <typename I>
-class ImageSync<I>::ImageCopyProgressContext : public librbd::ProgressContext {
+class ImageSync<I>::ImageCopyProgressHandler
+  : public librbd::deep_copy::NoOpHandler {
 public:
-  ImageCopyProgressContext(ImageSync *image_sync) : image_sync(image_sync) {
+  ImageCopyProgressHandler(ImageSync *image_sync) : image_sync(image_sync) {
   }
 
   int update_progress(uint64_t object_no, uint64_t object_count) override {
@@ -73,7 +75,7 @@ ImageSync<I>::ImageSync(
 template <typename I>
 ImageSync<I>::~ImageSync() {
   ceph_assert(m_image_copy_request == nullptr);
-  ceph_assert(m_image_copy_prog_ctx == nullptr);
+  ceph_assert(m_image_copy_prog_handler == nullptr);
   ceph_assert(m_update_sync_ctx == nullptr);
 }
 
@@ -252,11 +254,11 @@ void ImageSync<I>::send_copy_image() {
 
   Context *ctx = create_context_callback<
     ImageSync<I>, &ImageSync<I>::handle_copy_image>(this);
-  m_image_copy_prog_ctx = new ImageCopyProgressContext(this);
+  m_image_copy_prog_handler = new ImageCopyProgressHandler(this);
   m_image_copy_request = librbd::DeepCopyRequest<I>::create(
       m_remote_image_ctx, m_local_image_ctx, snap_id_start, snap_id_end,
       0, false, object_number, m_threads->work_queue, &m_snap_seqs_copy,
-      m_image_copy_prog_ctx, ctx);
+      m_image_copy_prog_handler, ctx);
   m_image_copy_request->get();
   m_lock.unlock();
 
@@ -273,8 +275,8 @@ void ImageSync<I>::handle_copy_image(int r) {
     std::scoped_lock locker{m_threads->timer_lock, m_lock};
     m_image_copy_request->put();
     m_image_copy_request = nullptr;
-    delete m_image_copy_prog_ctx;
-    m_image_copy_prog_ctx = nullptr;
+    delete m_image_copy_prog_handler;
+    m_image_copy_prog_handler = nullptr;
     if (r == 0 && m_canceled) {
       r = -ECANCELED;
     }
index 0662732327068777c303c1e3c2296fc96be0dbfb..b1d88b857e3bc0370822db18291f98d2268cec98 100644 (file)
@@ -14,7 +14,6 @@
 class Context;
 class ContextWQ;
 namespace journal { class Journaler; }
-namespace librbd { class ProgressContext; }
 namespace librbd { template <typename> class DeepCopyRequest; }
 
 namespace rbd {
@@ -90,7 +89,7 @@ private:
    * @endverbatim
    */
 
-  class ImageCopyProgressContext;
+  class ImageCopyProgressHandler;
 
   Threads<ImageCtxT>* m_threads;
   ImageCtxT *m_local_image_ctx;
@@ -104,7 +103,7 @@ private:
   bool m_canceled = false;
 
   librbd::DeepCopyRequest<ImageCtxT> *m_image_copy_request = nullptr;
-  librbd::ProgressContext *m_image_copy_prog_ctx = nullptr;
+  ImageCopyProgressHandler *m_image_copy_prog_handler = nullptr;
 
   bool m_updating_sync_point = false;
   Context *m_update_sync_ctx = nullptr;
index 9a8b50596c6ac66909994613cbb11722d05772a9..95bb67129ddb6c7749c3fdd104b8b9a184d0cc6e 100644 (file)
@@ -175,7 +175,7 @@ void InstanceReplayer<I>::acquire_image(InstanceWatcher<I> *instance_watcher,
     // detect if the image has been deleted while the leader was offline
     auto& image_replayer = it->second;
     image_replayer->set_finished(false);
-    image_replayer->restart();
+    image_replayer->restart(new C_TrackedOp(m_async_op_tracker, nullptr));
   }
 
   m_threads->work_queue->queue(on_finish, 0);
@@ -224,7 +224,7 @@ void InstanceReplayer<I>::remove_peer_image(const std::string &global_image_id,
     // it will eventually detect that the peer image is missing and
     // determine if a delete propagation is required.
     auto image_replayer = it->second;
-    image_replayer->restart();
+    image_replayer->restart(new C_TrackedOp(m_async_op_tracker, nullptr));
   }
   m_threads->work_queue->queue(on_finish, 0);
 }
@@ -252,25 +252,21 @@ void InstanceReplayer<I>::start()
 
   m_manual_stop = false;
 
+  auto cct = static_cast<CephContext *>(m_local_io_ctx.cct());
+  auto gather_ctx = new C_Gather(
+    cct, new C_TrackedOp(m_async_op_tracker, nullptr));
   for (auto &kv : m_image_replayers) {
     auto &image_replayer = kv.second;
-    image_replayer->start(nullptr, true);
+    image_replayer->start(gather_ctx->new_sub(), true);
   }
+
+  gather_ctx->activate();
 }
 
 template <typename I>
 void InstanceReplayer<I>::stop()
 {
-  dout(10) << dendl;
-
-  std::lock_guard locker{m_lock};
-
-  m_manual_stop = true;
-
-  for (auto &kv : m_image_replayers) {
-    auto &image_replayer = kv.second;
-    image_replayer->stop(nullptr, true);
-  }
+  stop(nullptr);
 }
 
 template <typename I>
@@ -279,7 +275,8 @@ void InstanceReplayer<I>::stop(Context *on_finish)
   dout(10) << dendl;
 
   auto cct = static_cast<CephContext *>(m_local_io_ctx.cct());
-  auto gather_ctx = new C_Gather(cct, on_finish);
+  auto gather_ctx = new C_Gather(
+    cct, new C_TrackedOp(m_async_op_tracker, on_finish));
   {
     std::lock_guard locker{m_lock};
 
@@ -305,7 +302,7 @@ void InstanceReplayer<I>::restart()
 
   for (auto &kv : m_image_replayers) {
     auto &image_replayer = kv.second;
-    image_replayer->restart();
+    image_replayer->restart(new C_TrackedOp(m_async_op_tracker, nullptr));
   }
 }
 
@@ -347,7 +344,7 @@ void InstanceReplayer<I>::start_image_replayer(
   }
 
   dout(10) << "global_image_id=" << global_image_id << dendl;
-  image_replayer->start(nullptr, false);
+  image_replayer->start(new C_TrackedOp(m_async_op_tracker, nullptr), false);
 }
 
 template <typename I>
index c023902c20944f864ac6c0443d4f5a767f9d8763..3cd57afc5f0865809493969bdbaf73fe36465cfe 100644 (file)
@@ -89,7 +89,7 @@ void CreateImageRequest<I>::create_image() {
 
   auto req = librbd::image::CreateRequest<I>::create(
     config, m_local_io_ctx, m_local_image_name, m_local_image_id,
-    m_remote_image_ctx->size, image_options, false, m_mirror_image_mode,
+    m_remote_image_ctx->size, image_options, 0U, m_mirror_image_mode,
     m_global_image_id, m_remote_mirror_uuid, m_remote_image_ctx->op_work_queue,
     ctx);
   req->send();
index 7f55745e1247a77f040ed9d940b01c7d0cc6edab..0827a1dcaa7f6cc17e3dd14f6f044a648de5c67e 100644 (file)
@@ -40,6 +40,11 @@ void OpenImageRequest<I>::send_open_image() {
 
   *m_image_ctx = I::create("", m_image_id, nullptr, m_io_ctx, m_read_only);
 
+  if (!m_read_only) {
+    // ensure non-primary images can be modified
+    (*m_image_ctx)->read_only_mask = ~librbd::IMAGE_READ_ONLY_FLAG_NON_PRIMARY;
+  }
+
   Context *ctx = create_context_callback<
     OpenImageRequest<I>, &OpenImageRequest<I>::handle_open_image>(
       this);
diff --git a/ceph/src/tools/rbd_mirror/image_replayer/TimeRollingMean.cc b/ceph/src/tools/rbd_mirror/image_replayer/TimeRollingMean.cc
new file mode 100644 (file)
index 0000000..5d9c9ac
--- /dev/null
@@ -0,0 +1,34 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
+// vim: ts=8 sw=2 smarttab
+
+#include "tools/rbd_mirror/image_replayer/TimeRollingMean.h"
+#include "common/Clock.h"
+
+namespace rbd {
+namespace mirror {
+namespace image_replayer {
+
+void TimeRollingMean::operator()(uint32_t value) {
+  auto time = ceph_clock_now();
+  if (m_last_time.is_zero()) {
+    m_last_time = time;
+  } else if (m_last_time.sec() < time.sec()) {
+    auto sec = m_last_time.sec();
+    while (sec++ < time.sec()) {
+      m_rolling_mean(m_sum);
+      m_sum = 0;
+    }
+
+    m_last_time = time;
+  }
+
+  m_sum += value;
+}
+
+double TimeRollingMean::get_average() const {
+  return boost::accumulators::rolling_mean(m_rolling_mean);
+}
+
+} // namespace image_replayer
+} // namespace mirror
+} // namespace rbd
diff --git a/ceph/src/tools/rbd_mirror/image_replayer/TimeRollingMean.h b/ceph/src/tools/rbd_mirror/image_replayer/TimeRollingMean.h
new file mode 100644 (file)
index 0000000..139ef89
--- /dev/null
@@ -0,0 +1,40 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
+// vim: ts=8 sw=2 smarttab
+
+#ifndef RBD_MIRROR_IMAGE_REPLAYER_TIME_ROLLING_MEAN_H
+#define RBD_MIRROR_IMAGE_REPLAYER_TIME_ROLLING_MEAN_H
+
+#include "include/utime.h"
+#include <boost/accumulators/accumulators.hpp>
+#include <boost/accumulators/statistics/stats.hpp>
+#include <boost/accumulators/statistics/rolling_mean.hpp>
+
+namespace rbd {
+namespace mirror {
+namespace image_replayer {
+
+class TimeRollingMean {
+public:
+
+  void operator()(uint32_t value);
+
+  double get_average() const;
+
+private:
+  typedef boost::accumulators::accumulator_set<
+    uint64_t, boost::accumulators::stats<
+      boost::accumulators::tag::rolling_mean>> RollingMean;
+
+  utime_t m_last_time;
+  uint64_t m_sum = 0;
+
+  RollingMean m_rolling_mean{
+    boost::accumulators::tag::rolling_window::window_size = 30};
+
+};
+
+} // namespace image_replayer
+} // namespace mirror
+} // namespace rbd
+
+#endif // RBD_MIRROR_IMAGE_REPLAYER_TIME_ROLLING_MEAN_H
index 79b4b365671665648cc5245a33428a8a2e5074db..216a2fa2caf96b0e9511bd5bdfa49dd284352b3e 100644 (file)
@@ -6,6 +6,7 @@
 #include "common/dout.h"
 #include "common/errno.h"
 #include "journal/Journaler.h"
+#include "json_spirit/json_spirit.h"
 #include "librbd/ImageCtx.h"
 #include "librbd/Journal.h"
 #include "librbd/Utils.h"
@@ -24,6 +25,25 @@ namespace journal {
 
 using librbd::util::unique_lock_name;
 
+namespace {
+
+double round_to_two_places(double value) {
+  return abs(round(value * 100) / 100);
+}
+
+json_spirit::mObject to_json_object(
+    const cls::journal::ObjectPosition& position) {
+  json_spirit::mObject object;
+  if (position != cls::journal::ObjectPosition{}) {
+    object["object_number"] = position.object_number;
+    object["tag_tid"] = position.tag_tid;
+    object["entry_tid"] = position.entry_tid;
+  }
+  return object;
+}
+
+} // anonymous namespace
+
 template <typename I>
 ReplayStatusFormatter<I>::ReplayStatusFormatter(Journaler *journaler,
                                                const std::string &mirror_uuid)
@@ -32,6 +52,14 @@ ReplayStatusFormatter<I>::ReplayStatusFormatter(Journaler *journaler,
     m_lock(ceph::make_mutex(unique_lock_name("ReplayStatusFormatter::m_lock", this))) {
 }
 
+template <typename I>
+void ReplayStatusFormatter<I>::handle_entry_processed(uint32_t bytes) {
+  dout(20) << dendl;
+
+  m_bytes_per_second(bytes);
+  m_entries_per_second(1);
+}
+
 template <typename I>
 bool ReplayStatusFormatter<I>::get_or_send_update(std::string *description,
                                                  Context *on_finish) {
@@ -216,28 +244,37 @@ void ReplayStatusFormatter<I>::handle_update_tag_cache(uint64_t master_tag_tid,
 
 template <typename I>
 void ReplayStatusFormatter<I>::format(std::string *description) {
-
   dout(20) << "m_master_position=" << m_master_position
           << ", m_mirror_position=" << m_mirror_position
           << ", m_entries_behind_master=" << m_entries_behind_master << dendl;
 
-  std::stringstream ss;
-  ss << "master_position=";
-  if (m_master_position == cls::journal::ObjectPosition()) {
-    ss << "[]";
-  } else {
-    ss << m_master_position;
-  }
-  ss << ", mirror_position=";
-  if (m_mirror_position == cls::journal::ObjectPosition()) {
-    ss << "[]";
-  } else {
-    ss << m_mirror_position;
+  json_spirit::mObject root_obj;
+  root_obj["primary_position"] = to_json_object(m_master_position);
+  root_obj["non_primary_position"] = to_json_object(m_mirror_position);
+  root_obj["entries_behind_primary"] = (
+    m_entries_behind_master > 0 ? m_entries_behind_master : 0);
+
+  m_bytes_per_second(0);
+  root_obj["bytes_per_second"] = round_to_two_places(
+    m_bytes_per_second.get_average());
+
+  m_entries_per_second(0);
+  auto entries_per_second = m_entries_per_second.get_average();
+  root_obj["entries_per_second"] = round_to_two_places(entries_per_second);
+
+  if (m_entries_behind_master > 0 && entries_per_second > 0) {
+    auto seconds_until_synced = round_to_two_places(
+      m_entries_behind_master / entries_per_second);
+    if (seconds_until_synced >= std::numeric_limits<uint64_t>::max()) {
+      seconds_until_synced = std::numeric_limits<uint64_t>::max();
+    }
+
+    root_obj["seconds_until_synced"] = static_cast<uint64_t>(
+      seconds_until_synced);
   }
-  ss << ", entries_behind_master="
-     << (m_entries_behind_master > 0 ? m_entries_behind_master : 0);
 
-  *description = ss.str();
+  *description = json_spirit::write(
+    root_obj, json_spirit::remove_trailing_zeros);
 }
 
 } // namespace journal
index 5ba000a16664c413ce663a88e354c292db31159d..5dbbfe10d17607a4ac010251dc303cd5e18aaba9 100644 (file)
@@ -9,6 +9,7 @@
 #include "cls/journal/cls_journal_types.h"
 #include "librbd/journal/Types.h"
 #include "librbd/journal/TypeTraits.h"
+#include "tools/rbd_mirror/image_replayer/TimeRollingMean.h"
 
 namespace journal { class Journaler; }
 namespace librbd { class ImageCtx; }
@@ -34,6 +35,8 @@ public:
 
   ReplayStatusFormatter(Journaler *journaler, const std::string &mirror_uuid);
 
+  void handle_entry_processed(uint32_t bytes);
+
   bool get_or_send_update(std::string *description, Context *on_finish);
 
 private:
@@ -43,10 +46,13 @@ private:
   Context *m_on_finish = nullptr;
   cls::journal::ObjectPosition m_master_position;
   cls::journal::ObjectPosition m_mirror_position;
-  int m_entries_behind_master = 0;
+  int64_t m_entries_behind_master = 0;
   cls::journal::Tag m_tag;
   std::map<uint64_t, librbd::journal::TagData> m_tag_cache;
 
+  TimeRollingMean m_bytes_per_second;
+  TimeRollingMean m_entries_per_second;
+
   bool calculate_behind_master_or_send_update();
   void send_update_tag_cache(uint64_t master_tag_tid, uint64_t mirror_tag_tid);
   void handle_update_tag_cache(uint64_t master_tag_tid, uint64_t mirror_tag_tid,
index 4b6778e145502c0bcb5329918a33b5142d168e25..f1552ac68ca591743fdb2ec9d406875e6428a9ef 100644 (file)
@@ -75,22 +75,6 @@ struct Replayer<I>::C_ReplayCommitted : public Context {
   }
 };
 
-template <typename I>
-struct Replayer<I>::C_TrackedOp : public Context {
-  Replayer *replayer;
-  Context* ctx;
-
-  C_TrackedOp(Replayer* replayer, Context* ctx)
-    : replayer(replayer), ctx(ctx) {
-    replayer->m_in_flight_op_tracker.start_op();
-  }
-
-  void finish(int r) override {
-    ctx->complete(r);
-    replayer->m_in_flight_op_tracker.finish_op();
-  }
-};
-
 template <typename I>
 struct Replayer<I>::RemoteJournalerListener
   : public ::journal::JournalMetadataListener {
@@ -99,9 +83,11 @@ struct Replayer<I>::RemoteJournalerListener
   RemoteJournalerListener(Replayer* replayer) : replayer(replayer) {}
 
   void handle_update(::journal::JournalMetadata*) override {
-    auto ctx = new C_TrackedOp(replayer, new LambdaContext([this](int r) {
-      replayer->handle_remote_journal_metadata_updated();
-    }));
+    auto ctx = new C_TrackedOp(
+      replayer->m_in_flight_op_tracker,
+      new LambdaContext([this](int r) {
+        replayer->handle_remote_journal_metadata_updated();
+      }));
     replayer->m_threads->work_queue->queue(ctx, 0);
   }
 };
@@ -247,7 +233,7 @@ template <typename I>
 void Replayer<I>::flush(Context* on_finish) {
   dout(10) << dendl;
 
-  flush_local_replay(new C_TrackedOp(this, on_finish));
+  flush_local_replay(new C_TrackedOp(m_in_flight_op_tracker, on_finish));
 }
 
 template <typename I>
@@ -264,7 +250,7 @@ bool Replayer<I>::get_replay_status(std::string* description,
     return false;
   }
 
-  on_finish = new C_TrackedOp(this, on_finish);
+  on_finish = new C_TrackedOp(m_in_flight_op_tracker, on_finish);
   return m_replay_status_formatter->get_or_send_update(description,
                                                        on_finish);
 }
@@ -1071,6 +1057,8 @@ void Replayer<I>::handle_process_entry_ready(int r) {
     }
   }
 
+  m_replay_status_formatter->handle_entry_processed(m_replay_bytes);
+
   if (update_status) {
     unregister_perf_counters();
     register_perf_counters();
@@ -1134,7 +1122,7 @@ void Replayer<I>::notify_status_updated() {
 
   dout(10) << dendl;
 
-  auto ctx = new C_TrackedOp(this, new LambdaContext(
+  auto ctx = new C_TrackedOp(m_in_flight_op_tracker, new LambdaContext(
     [this](int) {
       m_replayer_listener->handle_notification();
     }));
index 90ef61022331ed54206a26d3874e911fc19eab05..f5d59a07f8a4733d1f9e864dab4be2e815aea1fe 100644 (file)
@@ -174,7 +174,6 @@ private:
   };
 
   struct C_ReplayCommitted;
-  struct C_TrackedOp;
   struct RemoteJournalerListener;
   struct RemoteReplayHandler;
   struct LocalJournalListener;
index 69fb3d93af4d8355ac2a7997639c921eb1b62d23..0f149f0d1d89968edb42121b46b7db088dee876b 100644 (file)
@@ -8,9 +8,12 @@
 #include "common/Timer.h"
 #include "common/WorkQueue.h"
 #include "cls/rbd/cls_rbd_client.h"
+#include "json_spirit/json_spirit.h"
 #include "librbd/ImageCtx.h"
 #include "librbd/ImageState.h"
+#include "librbd/Operations.h"
 #include "librbd/Utils.h"
+#include "librbd/deep_copy/Handler.h"
 #include "librbd/deep_copy/ImageCopyRequest.h"
 #include "librbd/deep_copy/SnapshotCopyRequest.h"
 #include "librbd/mirror/snapshot/CreateNonPrimaryRequest.h"
@@ -27,6 +30,7 @@
 #include "tools/rbd_mirror/image_replayer/snapshot/ApplyImageStateRequest.h"
 #include "tools/rbd_mirror/image_replayer/snapshot/StateBuilder.h"
 #include "tools/rbd_mirror/image_replayer/snapshot/Utils.h"
+#include <set>
 
 #define dout_context g_ceph_context
 #define dout_subsys ceph_subsys_rbd_mirror
@@ -43,6 +47,10 @@ namespace snapshot {
 
 namespace {
 
+double round_to_two_places(double value) {
+  return abs(round(value * 100) / 100);
+}
+
 template<typename I>
 std::pair<uint64_t, librbd::SnapInfo*> get_newest_mirror_snapshot(
     I* image_ctx) {
@@ -80,26 +88,14 @@ struct Replayer<I>::C_UpdateWatchCtx : public librbd::UpdateWatchCtx {
 };
 
 template <typename I>
-struct Replayer<I>::C_TrackedOp : public Context {
+struct Replayer<I>::DeepCopyHandler : public librbd::deep_copy::Handler {
   Replayer *replayer;
-  Context* ctx;
-
-  C_TrackedOp(Replayer* replayer, Context* ctx)
-    : replayer(replayer), ctx(ctx) {
-    replayer->m_in_flight_op_tracker.start_op();
-  }
 
-  void finish(int r) override {
-    ctx->complete(r);
-    replayer->m_in_flight_op_tracker.finish_op();
+  DeepCopyHandler(Replayer* replayer) : replayer(replayer) {
   }
-};
-
-template <typename I>
-struct Replayer<I>::ProgressContext : public librbd::ProgressContext {
-  Replayer *replayer;
 
-  ProgressContext(Replayer* replayer) : replayer(replayer) {
+  void handle_read(uint64_t bytes_read) override {
+    replayer->handle_copy_image_read(bytes_read);
   }
 
   int update_progress(uint64_t object_number, uint64_t object_count) override {
@@ -132,7 +128,7 @@ Replayer<I>::~Replayer() {
   dout(10) << dendl;
   ceph_assert(m_state == STATE_COMPLETE);
   ceph_assert(m_update_watch_ctx == nullptr);
-  ceph_assert(m_progress_ctx == nullptr);
+  ceph_assert(m_deep_copy_handler == nullptr);
 }
 
 template <typename I>
@@ -236,11 +232,9 @@ bool Replayer<I>::get_replay_status(std::string* description,
     replay_state = "syncing";
   }
 
-  *description =
-    "{"
-      "\"replay_state\": \"" + replay_state + "\", " +
-      "\"remote_snapshot_timestamp\": " +
-        stringify(remote_snap_info->timestamp.sec());
+  json_spirit::mObject root_obj;
+  root_obj["replay_state"] = replay_state;
+  root_obj["remote_snapshot_timestamp"] = remote_snap_info->timestamp.sec();
 
   auto matching_remote_snap_id = util::compute_remote_snap_id(
     m_state_builder->local_image_ctx->image_lock,
@@ -254,9 +248,8 @@ bool Replayer<I>::get_replay_status(std::string* description,
     // use the timestamp from the matching remote image since
     // the local snapshot would just be the time the snapshot was
     // synced and not the consistency point in time.
-    *description += ", "
-      "\"local_snapshot_timestamp\": " +
-        stringify(matching_remote_snap_it->second.timestamp.sec());
+    root_obj["local_snapshot_timestamp"] =
+      matching_remote_snap_it->second.timestamp.sec();
   }
 
   matching_remote_snap_it = m_state_builder->remote_image_ctx->snap_info.find(
@@ -264,16 +257,34 @@ bool Replayer<I>::get_replay_status(std::string* description,
   if (m_remote_snap_id_end != CEPH_NOSNAP &&
       matching_remote_snap_it !=
         m_state_builder->remote_image_ctx->snap_info.end()) {
-    *description += ", "
-      "\"syncing_snapshot_timestamp\": " +
-        stringify(remote_snap_info->timestamp.sec()) + ", " +
-      "\"syncing_percent\": " + stringify(static_cast<uint32_t>(
+    root_obj["syncing_snapshot_timestamp"] = remote_snap_info->timestamp.sec();
+    root_obj["syncing_percent"] = static_cast<uint64_t>(
         100 * m_local_mirror_snap_ns.last_copied_object_number /
-        static_cast<float>(std::max<uint64_t>(1U, m_local_object_count))));
+        static_cast<float>(std::max<uint64_t>(1U, m_local_object_count)));
   }
 
-  *description +=
-    "}";
+  m_bytes_per_second(0);
+  auto bytes_per_second = m_bytes_per_second.get_average();
+  root_obj["bytes_per_second"] = round_to_two_places(bytes_per_second);
+
+  auto bytes_per_snapshot = boost::accumulators::rolling_mean(
+    m_bytes_per_snapshot);
+  root_obj["bytes_per_snapshot"] = round_to_two_places(bytes_per_snapshot);
+
+  auto pending_bytes = bytes_per_snapshot * m_pending_snapshots;
+  if (bytes_per_second > 0 && m_pending_snapshots > 0) {
+    auto seconds_until_synced = round_to_two_places(
+      pending_bytes / bytes_per_second);
+    if (seconds_until_synced >= std::numeric_limits<uint64_t>::max()) {
+      seconds_until_synced = std::numeric_limits<uint64_t>::max();
+    }
+
+    root_obj["seconds_until_synced"] = static_cast<uint64_t>(
+      seconds_until_synced);
+  }
+
+  *description = json_spirit::write(
+    root_obj, json_spirit::remove_trailing_zeros);
 
   local_image_locker.unlock();
   remote_image_locker.unlock();
@@ -391,6 +402,8 @@ void Replayer<I>::scan_local_mirror_snapshots(
   m_remote_snap_id_end = CEPH_NOSNAP;
   m_remote_mirror_snap_ns = {};
 
+  std::set<uint64_t> prune_snap_ids;
+
   auto local_image_ctx = m_state_builder->local_image_ctx;
   std::shared_lock image_locker{local_image_ctx->image_lock};
   for (auto snap_info_it = local_image_ctx->snap_info.begin();
@@ -412,10 +425,24 @@ void Replayer<I>::scan_local_mirror_snapshots(
         // if remote has new snapshots, we would sync from here
         m_local_snap_id_start = local_snap_id;
         m_local_snap_id_end = CEPH_NOSNAP;
+
+        if (mirror_ns->mirror_peer_uuids.empty()) {
+          // no other peer will attempt to sync to this snapshot so store as
+          // a candidate for removal
+          prune_snap_ids.insert(local_snap_id);
+        }
       } else {
         // start snap will be last complete mirror snapshot or initial
         // image revision
         m_local_snap_id_end = local_snap_id;
+
+        if (mirror_ns->last_copied_object_number == 0) {
+          // snapshot might be missing image state, object-map, etc, so just
+          // delete and re-create it if we haven't started copying data
+          // objects
+          prune_snap_ids.insert(local_snap_id);
+          break;
+        }
       }
     } else if (mirror_ns->is_primary()) {
       if (mirror_ns->complete) {
@@ -436,6 +463,19 @@ void Replayer<I>::scan_local_mirror_snapshots(
   }
   image_locker.unlock();
 
+  if (m_local_snap_id_start > 0 && m_local_snap_id_end == CEPH_NOSNAP) {
+    // remove candidate that is required for delta snapshot sync
+    prune_snap_ids.erase(m_local_snap_id_start);
+  }
+  if (!prune_snap_ids.empty()) {
+    locker->unlock();
+
+    auto prune_snap_id = *prune_snap_ids.begin();
+    dout(5) << "pruning unused non-primary snapshot " << prune_snap_id << dendl;
+    prune_non_primary_snapshot(prune_snap_id);
+    return;
+  }
+
   if (m_local_snap_id_start > 0 || m_local_snap_id_end != CEPH_NOSNAP) {
     if (m_local_mirror_snap_ns.is_non_primary() &&
         m_local_mirror_snap_ns.primary_mirror_uuid !=
@@ -474,6 +514,9 @@ void Replayer<I>::scan_remote_mirror_snapshots(
     std::unique_lock<ceph::mutex>* locker) {
   dout(10) << dendl;
 
+  m_pending_snapshots = 0;
+
+  std::set<uint64_t> unlink_snap_ids;
   bool split_brain = false;
   bool remote_demoted = false;
   auto remote_image_ctx = m_state_builder->remote_image_ctx;
@@ -489,13 +532,17 @@ void Replayer<I>::scan_remote_mirror_snapshots(
 
     dout(15) << "remote mirror snapshot: id=" << snap_info_it->first << ", "
              << "mirror_ns=" << *mirror_ns << dendl;
+    remote_demoted = mirror_ns->is_demoted();
     if (!mirror_ns->is_primary() && !mirror_ns->is_non_primary()) {
       derr << "unknown remote mirror snapshot state" << dendl;
       handle_replay_complete(locker, -EINVAL,
                              "invalid remote mirror snapshot state");
       return;
-    } else {
-      remote_demoted = mirror_ns->is_demoted();
+    } else if (mirror_ns->mirror_peer_uuids.count(m_remote_mirror_peer_uuid) ==
+                 0) {
+      dout(15) << "skipping remote snapshot due to missing mirror peer"
+               << dendl;
+      continue;
     }
 
     auto remote_snap_id = snap_info_it->first;
@@ -506,10 +553,12 @@ void Replayer<I>::scan_remote_mirror_snapshots(
         ceph_assert(m_local_mirror_snap_ns.primary_mirror_uuid ==
                       m_state_builder->remote_mirror_uuid);
 
+        unlink_snap_ids.insert(remote_snap_id);
         if (m_local_mirror_snap_ns.complete &&
             m_local_mirror_snap_ns.primary_snap_id >= remote_snap_id) {
           // skip past completed remote snapshot
           m_remote_snap_id_start = remote_snap_id;
+          m_remote_mirror_snap_ns = *mirror_ns;
           dout(15) << "skipping synced remote snapshot " << remote_snap_id
                    << dendl;
           continue;
@@ -519,6 +568,7 @@ void Replayer<I>::scan_remote_mirror_snapshots(
           dout(15) << "skipping synced remote snapshot " << remote_snap_id
                    << " while search for in-progress sync" << dendl;
           m_remote_snap_id_start = remote_snap_id;
+          m_remote_mirror_snap_ns = *mirror_ns;
           continue;
         }
       } else if (m_local_mirror_snap_ns.state ==
@@ -546,25 +596,36 @@ void Replayer<I>::scan_remote_mirror_snapshots(
         // should not have been able to reach this
         ceph_assert(false);
       }
-    }
-
-    // find first snapshot where were are listed as a peer
-    if (!mirror_ns->is_primary()) {
+    } else if (!mirror_ns->is_primary()) {
       dout(15) << "skipping non-primary remote snapshot" << dendl;
       continue;
-    } else if (mirror_ns->mirror_peer_uuids.count(m_remote_mirror_peer_uuid) ==
-                 0) {
-      dout(15) << "skipping remote snapshot due to missing mirror peer"
-               << dendl;
+    }
+
+    // found candidate snapshot to sync
+    ++m_pending_snapshots;
+    if (m_remote_snap_id_end != CEPH_NOSNAP) {
       continue;
     }
 
+    // first primary snapshot where were are listed as a peer
     m_remote_snap_id_end = remote_snap_id;
     m_remote_mirror_snap_ns = *mirror_ns;
-    break;
   }
   image_locker.unlock();
 
+  unlink_snap_ids.erase(m_remote_snap_id_start);
+  unlink_snap_ids.erase(m_remote_snap_id_end);
+  if (!unlink_snap_ids.empty()) {
+    locker->unlock();
+
+    // retry the unlinking process for a remote snapshot that we do not
+    // need anymore
+    auto remote_snap_id = *unlink_snap_ids.begin();
+    dout(10) << "unlinking from remote snapshot " << remote_snap_id << dendl;
+    unlink_peer(remote_snap_id);
+    return;
+  }
+
   if (m_remote_snap_id_end != CEPH_NOSNAP) {
     dout(10) << "found remote mirror snapshot: "
              << "remote_snap_id_start=" << m_remote_snap_id_start << ", "
@@ -624,6 +685,56 @@ void Replayer<I>::scan_remote_mirror_snapshots(
   notify_status_updated();
 }
 
+template <typename I>
+void Replayer<I>::prune_non_primary_snapshot(uint64_t snap_id) {
+  dout(10) << "snap_id=" << snap_id << dendl;
+
+  auto local_image_ctx = m_state_builder->local_image_ctx;
+  bool snap_valid = false;
+  cls::rbd::SnapshotNamespace snap_namespace;
+  std::string snap_name;
+
+  {
+    std::shared_lock image_locker{local_image_ctx->image_lock};
+    auto snap_info = local_image_ctx->get_snap_info(snap_id);
+    if (snap_info != nullptr) {
+      snap_valid = true;
+      snap_namespace = snap_info->snap_namespace;
+      snap_name = snap_info->name;
+
+      ceph_assert(boost::get<cls::rbd::MirrorSnapshotNamespace>(
+        &snap_namespace) != nullptr);
+    }
+  }
+
+  if (!snap_valid) {
+    load_local_image_meta();
+    return;
+  }
+
+  auto ctx = create_context_callback<
+    Replayer<I>, &Replayer<I>::handle_prune_non_primary_snapshot>(this);
+  local_image_ctx->operations->snap_remove(snap_namespace, snap_name, ctx);
+}
+
+template <typename I>
+void Replayer<I>::handle_prune_non_primary_snapshot(int r) {
+  dout(10) << "r=" << r << dendl;
+
+  if (r < 0 && r != -ENOENT) {
+    derr << "failed to prune non-primary snapshot: " << cpp_strerror(r)
+         << dendl;
+    handle_replay_complete(r, "failed to prune non-primary snapshot");
+    return;
+  }
+
+  if (is_replay_interrupted()) {
+    return;
+  }
+
+  load_local_image_meta();
+}
+
 template <typename I>
 void Replayer<I>::copy_snapshots() {
   dout(10) << "remote_snap_id_start=" << m_remote_snap_id_start << ", "
@@ -720,12 +831,80 @@ void Replayer<I>::handle_get_local_image_state(int r) {
 
 template <typename I>
 void Replayer<I>::create_non_primary_snapshot() {
-  dout(10) << dendl;
+  auto local_image_ctx = m_state_builder->local_image_ctx;
+
+  if (m_local_snap_id_start > 0) {
+    std::shared_lock local_image_locker{local_image_ctx->image_lock};
+
+    auto local_snap_info_it = local_image_ctx->snap_info.find(
+      m_local_snap_id_start);
+    if (local_snap_info_it == local_image_ctx->snap_info.end()) {
+      local_image_locker.unlock();
+
+      derr << "failed to locate local snapshot " << m_local_snap_id_start
+           << dendl;
+      handle_replay_complete(-ENOENT, "failed to locate local start snapshot");
+      return;
+    }
+
+    auto mirror_ns = boost::get<cls::rbd::MirrorSnapshotNamespace>(
+      &local_snap_info_it->second.snap_namespace);
+    ceph_assert(mirror_ns != nullptr);
+
+    auto remote_image_ctx = m_state_builder->remote_image_ctx;
+    std::shared_lock remote_image_locker{remote_image_ctx->image_lock};
+
+    // (re)build a full mapping from remote to local snap ids for all user
+    // snapshots to support applying image state in the future
+    for (auto& [remote_snap_id, remote_snap_info] :
+           remote_image_ctx->snap_info) {
+      if (remote_snap_id >= m_remote_snap_id_end) {
+        break;
+      }
+
+      // we can ignore all non-user snapshots since image state only includes
+      // user snapshots
+      if (boost::get<cls::rbd::UserSnapshotNamespace>(
+            &remote_snap_info.snap_namespace) == nullptr) {
+        continue;
+      }
+
+      uint64_t local_snap_id = CEPH_NOSNAP;
+      if (mirror_ns->is_demoted() && !m_remote_mirror_snap_ns.is_demoted()) {
+        // if we are creating a non-primary snapshot following a demotion,
+        // re-build the full snapshot sequence since we don't have a valid
+        // snapshot mapping
+        auto local_snap_id_it = local_image_ctx->snap_ids.find(
+          {remote_snap_info.snap_namespace, remote_snap_info.name});
+        if (local_snap_id_it != local_image_ctx->snap_ids.end()) {
+          local_snap_id = local_snap_id_it->second;
+        }
+      } else {
+        auto snap_seq_it = mirror_ns->snap_seqs.find(remote_snap_id);
+        if (snap_seq_it != mirror_ns->snap_seqs.end()) {
+          local_snap_id = snap_seq_it->second;
+        }
+      }
+
+      if (m_local_mirror_snap_ns.snap_seqs.count(remote_snap_id) == 0 &&
+          local_snap_id != CEPH_NOSNAP) {
+        dout(15) << "mapping remote snapshot " << remote_snap_id << " to "
+                 << "local snapshot " << local_snap_id << dendl;
+        m_local_mirror_snap_ns.snap_seqs[remote_snap_id] = local_snap_id;
+      }
+    }
+  }
+
+  dout(10) << "demoted=" << m_remote_mirror_snap_ns.is_demoted() << ", "
+           << "primary_mirror_uuid="
+           << m_state_builder->remote_mirror_uuid << ", "
+           << "primary_snap_id=" << m_remote_snap_id_end << ", "
+           << "snap_seqs=" << m_local_mirror_snap_ns.snap_seqs << dendl;
 
   auto ctx = create_context_callback<
     Replayer<I>, &Replayer<I>::handle_create_non_primary_snapshot>(this);
   auto req = librbd::mirror::snapshot::CreateNonPrimaryRequest<I>::create(
-    m_state_builder->local_image_ctx, m_remote_mirror_snap_ns.is_demoted(),
+    local_image_ctx, m_remote_mirror_snap_ns.is_demoted(),
     m_state_builder->remote_mirror_uuid, m_remote_snap_id_end,
     m_local_mirror_snap_ns.snap_seqs, m_image_state, &m_local_snap_id_end, ctx);
   req->send();
@@ -749,9 +928,20 @@ void Replayer<I>::handle_create_non_primary_snapshot(int r) {
 
 template <typename I>
 void Replayer<I>::request_sync() {
-  dout(10) << dendl;
+  if (m_remote_mirror_snap_ns.clean_since_snap_id == m_remote_snap_id_start) {
+    dout(10) << "skipping unnecessary image copy: "
+             << "remote_snap_id_start=" << m_remote_snap_id_start << ", "
+             << "remote_mirror_snap_ns=" << m_remote_mirror_snap_ns << dendl;
+    apply_image_state();
+    return;
+  }
 
+  dout(10) << dendl;
   std::unique_lock locker{m_lock};
+  if (is_replay_interrupted(&locker)) {
+    return;
+  }
+
   auto ctx = create_async_context_callback(
     m_threads->work_queue, create_context_callback<
       Replayer<I>, &Replayer<I>::handle_request_sync>(this));
@@ -791,7 +981,8 @@ void Replayer<I>::copy_image() {
            << m_local_mirror_snap_ns.last_copied_object_number << ", "
            << "snap_seqs=" << m_local_mirror_snap_ns.snap_seqs << dendl;
 
-  m_progress_ctx = new ProgressContext(this);
+  m_snapshot_bytes = 0;
+  m_deep_copy_handler = new DeepCopyHandler(this);
   auto ctx = create_context_callback<
     Replayer<I>, &Replayer<I>::handle_copy_image>(this);
   auto req = librbd::deep_copy::ImageCopyRequest<I>::create(
@@ -801,7 +992,7 @@ void Replayer<I>::copy_image() {
       librbd::deep_copy::ObjectNumber{
         m_local_mirror_snap_ns.last_copied_object_number} :
       librbd::deep_copy::ObjectNumber{}),
-    m_local_mirror_snap_ns.snap_seqs, m_progress_ctx, ctx);
+    m_local_mirror_snap_ns.snap_seqs, m_deep_copy_handler, ctx);
   req->send();
 }
 
@@ -809,8 +1000,8 @@ template <typename I>
 void Replayer<I>::handle_copy_image(int r) {
   dout(10) << "r=" << r << dendl;
 
-  delete m_progress_ctx;
-  m_progress_ctx = nullptr;
+  delete m_deep_copy_handler;
+  m_deep_copy_handler = nullptr;
 
   if (r < 0) {
     derr << "failed to copy remote image to local image: " << cpp_strerror(r)
@@ -819,6 +1010,12 @@ void Replayer<I>::handle_copy_image(int r) {
     return;
   }
 
+  {
+    std::unique_lock locker{m_lock};
+    m_bytes_per_snapshot(m_snapshot_bytes);
+    m_snapshot_bytes = 0;
+  }
+
   apply_image_state();
 }
 
@@ -836,6 +1033,15 @@ void Replayer<I>::handle_copy_image_progress(uint64_t object_number,
   update_non_primary_snapshot(false);
 }
 
+template <typename I>
+void Replayer<I>::handle_copy_image_read(uint64_t bytes_read) {
+  dout(20) << "bytes_read=" << bytes_read << dendl;
+
+  std::unique_lock locker{m_lock};
+  m_bytes_per_second(bytes_read);
+  m_snapshot_bytes += bytes_read;
+}
+
 template <typename I>
 void Replayer<I>::apply_image_state() {
   dout(10) << dendl;
@@ -886,7 +1092,8 @@ void Replayer<I>::update_non_primary_snapshot(bool complete) {
     &op, m_local_snap_id_end, m_local_mirror_snap_ns.complete,
     m_local_mirror_snap_ns.last_copied_object_number);
 
-  auto ctx = new C_TrackedOp(this, new LambdaContext([this, complete](int r) {
+  auto ctx = new C_TrackedOp(
+    m_in_flight_op_tracker, new LambdaContext([this, complete](int r) {
       handle_update_non_primary_snapshot(complete, r);
     }));
   auto aio_comp = create_rados_callback(ctx);
@@ -939,24 +1146,24 @@ void Replayer<I>::handle_notify_image_update(int r) {
     derr << "failed to notify local image update: " << cpp_strerror(r) << dendl;
   }
 
-  unlink_peer();
+  unlink_peer(m_remote_snap_id_start);
 }
 
 template <typename I>
-void Replayer<I>::unlink_peer() {
-  if (m_remote_snap_id_start == 0) {
+void Replayer<I>::unlink_peer(uint64_t remote_snap_id) {
+  if (remote_snap_id == 0) {
     finish_sync();
     return;
   }
 
   // local snapshot fully synced -- we no longer depend on the sync
   // start snapshot in the remote image
-  dout(10) << "remote_snap_id=" << m_remote_snap_id_start << dendl;
+  dout(10) << "remote_snap_id=" << remote_snap_id << dendl;
 
   auto ctx = create_context_callback<
     Replayer<I>, &Replayer<I>::handle_unlink_peer>(this);
   auto req = librbd::mirror::snapshot::UnlinkPeerRequest<I>::create(
-    m_state_builder->remote_image_ctx, m_remote_snap_id_start,
+    m_state_builder->remote_image_ctx, remote_snap_id,
     m_remote_mirror_peer_uuid, ctx);
   req->send();
 }
@@ -983,9 +1190,11 @@ void Replayer<I>::finish_sync() {
     std::unique_lock locker{m_lock};
     notify_status_updated();
 
-    m_sync_in_progress = false;
-    m_instance_watcher->notify_sync_complete(
-      m_state_builder->local_image_ctx->id);
+    if (m_sync_in_progress) {
+      m_sync_in_progress = false;
+      m_instance_watcher->notify_sync_complete(
+        m_state_builder->local_image_ctx->id);
+    }
   }
 
   if (is_replay_interrupted()) {
@@ -1202,7 +1411,7 @@ void Replayer<I>::notify_status_updated() {
   ceph_assert(ceph_mutex_is_locked_by_me(m_lock));
 
   dout(10) << dendl;
-  auto ctx = new C_TrackedOp(this, new LambdaContext(
+  auto ctx = new C_TrackedOp(m_in_flight_op_tracker, new LambdaContext(
     [this](int) {
       m_replayer_listener->handle_notification();
     }));
index e7536f5a6fa26ea96694f7eaa23597221917d6db..3eab052a20d30b602b2097a83aa894b84168c28d 100644 (file)
@@ -9,6 +9,10 @@
 #include "common/AsyncOpTracker.h"
 #include "cls/rbd/cls_rbd_types.h"
 #include "librbd/mirror/snapshot/Types.h"
+#include "tools/rbd_mirror/image_replayer/TimeRollingMean.h"
+#include <boost/accumulators/accumulators.hpp>
+#include <boost/accumulators/statistics/stats.hpp>
+#include <boost/accumulators/statistics/rolling_mean.hpp>
 #include <string>
 #include <type_traits>
 
@@ -111,42 +115,45 @@ private:
    *    v (skip if not needed)                          |
    * REFRESH_REMOTE_IMAGE                               |
    *    |                                               |
+   *    | (unused non-primary snapshot)                 |
+   *    |\--------------> PRUNE_NON_PRIMARY_SNAPSHOT---/|
+   *    |                                               |
    *    | (interrupted sync)                            |
    *    |\--------------> GET_LOCAL_IMAGE_STATE ------\ |
    *    |                                             | |
    *    | (new snapshot)                              | |
    *    |\--------------> COPY_SNAPSHOTS              | |
-   *    |                     |                       | |
-   *    |                     v                       | |
+   *    |                       |                     | |
+   *    |                       v                     | |
    *    |                 GET_REMOTE_IMAGE_STATE      | |
-   *    |                     |                       | |
-   *    |                     v                       | |
+   *    |                       |                     | |
+   *    |                       v                     | |
    *    |                 CREATE_NON_PRIMARY_SNAPSHOT | |
-   *    |                     |                       | |
-   *    |                     |/----------------------/ |
-   *    |                     |                         |
-   *    |                     v                         |
+   *    |                       |                     | |
+   *    |                       |/--------------------/ |
+   *    |                       |                       |
+   *    |                       v                       |
    *    |                 REQUEST_SYNC                  |
-   *    |                     |                         |
-   *    |                     v                         |
+   *    |                       |                       |
+   *    |                       v                       |
    *    |                 COPY_IMAGE                    |
-   *    |                     |                         |
-   *    |                     v                         |
+   *    |                       |                       |
+   *    |                       v                       |
    *    |                 APPLY_IMAGE_STATE             |
-   *    |                     |                         |
-   *    |                     v                         |
+   *    |                       |                       |
+   *    |                       v                       |
    *    |                 UPDATE_NON_PRIMARY_SNAPSHOT   |
-   *    |                     |                         |
-   *    |                     v                         |
+   *    |                       |                       |
+   *    |                       v                       |
    *    |                 NOTIFY_IMAGE_UPDATE           |
-   *    |                     |                         |
-   *    |                     v                         |
-   *    |                 UNLINK_PEER                   |
-   *    |                     |                         |
-   *    |                     v                         |
+   *    |                       |                       |
+   *    | (interrupted unlink)  v                       |
+   *    |\--------------> UNLINK_PEER                   |
+   *    |                       |                       |
+   *    |                       v                       |
    *    |                 NOTIFY_LISTENER               |
-   *    |                     |                         |
-   *    |                     \------------------------/|
+   *    |                       |                       |
+   *    |                       \----------------------/|
    *    |                                               |
    *    | (remote demoted)                              |
    *    \---------------> NOTIFY_LISTENER               |
@@ -182,8 +189,7 @@ private:
   };
 
   struct C_UpdateWatchCtx;
-  struct C_TrackedOp;
-  struct ProgressContext;
+  struct DeepCopyHandler;
 
   Threads<ImageCtxT>* m_threads;
   InstanceWatcher<ImageCtxT>* m_instance_watcher;
@@ -220,7 +226,17 @@ private:
   cls::rbd::MirrorSnapshotNamespace m_remote_mirror_snap_ns;
 
   librbd::mirror::snapshot::ImageState m_image_state;
-  ProgressContext* m_progress_ctx = nullptr;
+  DeepCopyHandler* m_deep_copy_handler = nullptr;
+
+  TimeRollingMean m_bytes_per_second;
+
+  uint64_t m_snapshot_bytes = 0;
+  boost::accumulators::accumulator_set<
+    uint64_t, boost::accumulators::stats<
+      boost::accumulators::tag::rolling_mean>> m_bytes_per_snapshot{
+    boost::accumulators::tag::rolling_window::window_size = 2};
+
+  uint32_t m_pending_snapshots = 0;
 
   bool m_remote_image_updated = false;
   bool m_updating_sync_point = false;
@@ -238,6 +254,9 @@ private:
   void scan_local_mirror_snapshots(std::unique_lock<ceph::mutex>* locker);
   void scan_remote_mirror_snapshots(std::unique_lock<ceph::mutex>* locker);
 
+  void prune_non_primary_snapshot(uint64_t snap_id);
+  void handle_prune_non_primary_snapshot(int r);
+
   void copy_snapshots();
   void handle_copy_snapshots(int r);
 
@@ -257,6 +276,7 @@ private:
   void handle_copy_image(int r);
   void handle_copy_image_progress(uint64_t object_number,
                                   uint64_t object_count);
+  void handle_copy_image_read(uint64_t bytes_read);
 
   void apply_image_state();
   void handle_apply_image_state(int r);
@@ -267,7 +287,7 @@ private:
   void notify_image_update();
   void handle_notify_image_update(int r);
 
-  void unlink_peer();
+  void unlink_peer(uint64_t remote_snap_id);
   void handle_unlink_peer(int r);
 
   void finish_sync();
diff --git a/ceph/test_cephadm.sh b/ceph/test_cephadm.sh
deleted file mode 100755 (executable)
index 4722bcc..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-#!/bin/bash -ex
-
-SCRIPT_NAME=$(basename ${BASH_SOURCE[0]})
-
-fsid='00000000-0000-0000-0000-0000deadbeef'
-image='quay.io/ceph-ci/ceph:octopus'
-[ -z "$ip" ] && ip=127.0.0.1
-
-OSD_IMAGE_NAME="${SCRIPT_NAME%.*}_osd.img"
-OSD_IMAGE_SIZE='6G'
-OSD_TO_CREATE=6
-OSD_VG_NAME=${SCRIPT_NAME%.*}
-OSD_LV_NAME=${SCRIPT_NAME%.*}
-
-CEPHADM=../src/cephadm/cephadm
-
-# add verbose logging
-#CEPHADM_ARGS="$CEPHADM_ARGS -v"
-
-# clean up previous run(s)?
-$CEPHADM $CEPHADM_ARGS rm-cluster --fsid $fsid --force
-vgchange -an $OSD_VG_NAME || true
-loopdev=$(losetup -a | grep $(basename $OSD_IMAGE_NAME) | awk -F : '{print $1}')
-if ! [ "$loopdev" = "" ]; then
-    losetup -d $loopdev
-fi
-rm -f $OSD_IMAGE_NAME
-
-cat <<EOF > c
-[global]
-       log to file = true
-EOF
-
-$CEPHADM $CEPHADM_ARGS \
-    --image $image \
-    bootstrap \
-    --mon-id a \
-    --mgr-id x \
-    --fsid $fsid \
-    --mon-ip $ip \
-    --config c \
-    --output-keyring k \
-    --output-config c \
-    --allow-overwrite \
-    --skip-mon-network
-chmod 644 k c
-
-# mon.b
-cp c c.mon
-echo "public addrv = [v2:$ip:3301,v1:$ip:6790]" >> c.mon
-$CEPHADM $CEPHADM_ARGS \
-     --image $image \
-     deploy --name mon.b \
-     --fsid $fsid \
-     --keyring /var/lib/ceph/$fsid/mon.a/keyring \
-     --config c.mon
-rm c.mon
-
-# mgr.b
-$CEPHADM $CEPHADM_ARGS shell --fsid $fsid --config c --keyring k -- \
-    ceph auth get-or-create mgr.y \
-        mon 'allow profile mgr' \
-        osd 'allow *' \
-        mds 'allow *' > k-mgr.y
-$CEPHADM $CEPHADM_ARGS \
-    --image $image \
-    deploy --name mgr.y \
-    --fsid $fsid \
-    --keyring k-mgr.y \
-    --config c
-
-# mds.{k,j}
-for id in k j; do
-    $CEPHADM $CEPHADM_ARGS shell --fsid $fsid --config c --keyring k -- \
-        ceph auth get-or-create mds.$id \
-            mon 'allow profile mds' \
-            mgr 'allow profile mds' \
-            osd 'allow *' \
-            mds 'allow *' > k-mds.$id
-    $CEPHADM $CEPHADM_ARGS \
-        --image $image \
-        deploy --name mds.$id \
-        --fsid $fsid \
-        --keyring k-mds.$id \
-        --config c
-done
-
-# add osd.{1,2,..}
-dd if=/dev/zero of=$OSD_IMAGE_NAME bs=1 count=0 seek=$OSD_IMAGE_SIZE
-loop_dev=$(losetup -f)
-losetup $loop_dev $OSD_IMAGE_NAME
-pvcreate $loop_dev && vgcreate $OSD_VG_NAME $loop_dev
-for id in `seq 0 $((--OSD_TO_CREATE))`; do
-    lvcreate -l $((100/$OSD_TO_CREATE))%VG -n $OSD_LV_NAME.$id $OSD_VG_NAME
-    $SUDO $CEPHADM shell --fsid $fsid --config c --keyring k -- \
-            ceph orch daemon add osd \
-                $(hostname):/dev/$OSD_VG_NAME/$OSD_LV_NAME.$id
-done
-
-$CEPHADM $CEPHADM_ARGS shell --fsid $fsid --config c --keyring k -- ceph -s